D143 VER 16.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 000ae270 08020200 08020200 00010200 2**4 CONTENTS, ALLOC, LOAD, READONLY, CODE 2 .rodata 000b85ac 080ce470 080ce470 000be470 2**3 CONTENTS, ALLOC, LOAD, READONLY, DATA 3 .ARM 00000008 08186a1c 08186a1c 00176a1c 2**2 CONTENTS, ALLOC, LOAD, READONLY, DATA 4 .init_array 00000004 08186a24 08186a24 00176a24 2**2 CONTENTS, ALLOC, LOAD, DATA 5 .fini_array 00000004 08186a28 08186a28 00176a28 2**2 CONTENTS, ALLOC, LOAD, DATA 6 .data 00000d18 20020000 08186a2c 00180000 2**2 CONTENTS, ALLOC, LOAD, DATA 7 .dtcmram 00019000 20000000 08187744 00190000 2**5 CONTENTS, ALLOC, LOAD, DATA 8 .sram2 00000200 2007c000 081a0744 001ac000 2**5 CONTENTS, ALLOC, LOAD, DATA 9 .bss 00048918 20020d20 20020d20 001b0d20 2**5 ALLOC 10 ._user_heap_stack 0000f500 20069638 20069638 001b0d20 2**0 ALLOC 11 .ARM.attributes 0000002e 00000000 00000000 001ac200 2**0 CONTENTS, READONLY 12 .debug_info 0013fe04 00000000 00000000 001ac22e 2**0 CONTENTS, READONLY, DEBUGGING 13 .debug_abbrev 0001c4a2 00000000 00000000 002ec032 2**0 CONTENTS, READONLY, DEBUGGING 14 .debug_aranges 00004540 00000000 00000000 003084d8 2**3 CONTENTS, READONLY, DEBUGGING 15 .debug_ranges 00003538 00000000 00000000 0030ca18 2**3 CONTENTS, READONLY, DEBUGGING 16 .debug_line 00052efc 00000000 00000000 0030ff50 2**0 CONTENTS, READONLY, DEBUGGING 17 .debug_str 00014587 00000000 00000000 00362e4c 2**0 CONTENTS, READONLY, DEBUGGING 18 .comment 000000ec 00000000 00000000 003773d3 2**0 CONTENTS, READONLY 19 .debug_frame 0000fca8 00000000 00000000 003774c0 2**2 CONTENTS, READONLY, DEBUGGING 20 .debug_loc 00003297 00000000 00000000 00387168 2**0 CONTENTS, READONLY, DEBUGGING Disassembly of section .text: 08020200 <__do_global_dtors_aux>: 8020200: b510 push {r4, lr} 8020202: 4c05 ldr r4, [pc, #20] ; (8020218 <__do_global_dtors_aux+0x18>) 8020204: 7823 ldrb r3, [r4, #0] 8020206: b933 cbnz r3, 8020216 <__do_global_dtors_aux+0x16> 8020208: 4b04 ldr r3, [pc, #16] ; (802021c <__do_global_dtors_aux+0x1c>) 802020a: b113 cbz r3, 8020212 <__do_global_dtors_aux+0x12> 802020c: 4804 ldr r0, [pc, #16] ; (8020220 <__do_global_dtors_aux+0x20>) 802020e: f3af 8000 nop.w 8020212: 2301 movs r3, #1 8020214: 7023 strb r3, [r4, #0] 8020216: bd10 pop {r4, pc} 8020218: 20020d20 .word 0x20020d20 802021c: 00000000 .word 0x00000000 8020220: 080ce458 .word 0x080ce458 08020224 : 8020224: b508 push {r3, lr} 8020226: 4b03 ldr r3, [pc, #12] ; (8020234 ) 8020228: b11b cbz r3, 8020232 802022a: 4903 ldr r1, [pc, #12] ; (8020238 ) 802022c: 4803 ldr r0, [pc, #12] ; (802023c ) 802022e: f3af 8000 nop.w 8020232: bd08 pop {r3, pc} 8020234: 00000000 .word 0x00000000 8020238: 20020d24 .word 0x20020d24 802023c: 080ce458 .word 0x080ce458 08020240 : ENDP #else arm_bitreversal_32 PROC ADDS r3,r1,#1 8020240: 1c4b adds r3, r1, #1 CMP r3,#1 8020242: 2b01 cmp r3, #1 IT LS 8020244: bf98 it ls BXLS lr 8020246: 4770 bxls lr PUSH {r4-r9} 8020248: e92d 03f0 stmdb sp!, {r4, r5, r6, r7, r8, r9} ADDS r1,r2,#2 802024c: 1c91 adds r1, r2, #2 LSRS r3,r3,#2 802024e: 089b lsrs r3, r3, #2 08020250 : arm_bitreversal_32_0 LABEL ;/* loop unrolled by 2 */ LDRH r8,[r1,#4] 8020250: f8b1 8004 ldrh.w r8, [r1, #4] LDRH r9,[r1,#2] 8020254: f8b1 9002 ldrh.w r9, [r1, #2] LDRH r2,[r1,#0] 8020258: 880a ldrh r2, [r1, #0] LDRH r12,[r1,#-2] 802025a: f831 cc02 ldrh.w ip, [r1, #-2] ADD r8,r0,r8 802025e: 4480 add r8, r0 ADD r9,r0,r9 8020260: 4481 add r9, r0 ADD r2,r0,r2 8020262: 4402 add r2, r0 ADD r12,r0,r12 8020264: 4484 add ip, r0 LDR r7,[r9,#0] 8020266: f8d9 7000 ldr.w r7, [r9] LDR r6,[r8,#0] 802026a: f8d8 6000 ldr.w r6, [r8] LDR r5,[r2,#0] 802026e: 6815 ldr r5, [r2, #0] LDR r4,[r12,#0] 8020270: f8dc 4000 ldr.w r4, [ip] STR r6,[r9,#0] 8020274: f8c9 6000 str.w r6, [r9] STR r7,[r8,#0] 8020278: f8c8 7000 str.w r7, [r8] STR r5,[r12,#0] 802027c: f8cc 5000 str.w r5, [ip] STR r4,[r2,#0] 8020280: 6014 str r4, [r2, #0] LDR r7,[r9,#4] 8020282: f8d9 7004 ldr.w r7, [r9, #4] LDR r6,[r8,#4] 8020286: f8d8 6004 ldr.w r6, [r8, #4] LDR r5,[r2,#4] 802028a: 6855 ldr r5, [r2, #4] LDR r4,[r12,#4] 802028c: f8dc 4004 ldr.w r4, [ip, #4] STR r6,[r9,#4] 8020290: f8c9 6004 str.w r6, [r9, #4] STR r7,[r8,#4] 8020294: f8c8 7004 str.w r7, [r8, #4] STR r5,[r12,#4] 8020298: f8cc 5004 str.w r5, [ip, #4] STR r4,[r2,#4] 802029c: 6054 str r4, [r2, #4] ADDS r1,r1,#8 802029e: 3108 adds r1, #8 SUBS r3,r3,#1 80202a0: 3b01 subs r3, #1 BNE arm_bitreversal_32_0 80202a2: d1d5 bne.n 8020250 POP {r4-r9} 80202a4: e8bd 03f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9} BX lr 80202a8: 4770 bx lr 080202aa : ENDP arm_bitreversal_16 PROC ADDS r3,r1,#1 80202aa: 1c4b adds r3, r1, #1 CMP r3,#1 80202ac: 2b01 cmp r3, #1 IT LS 80202ae: bf98 it ls BXLS lr 80202b0: 4770 bxls lr PUSH {r4-r9} 80202b2: e92d 03f0 stmdb sp!, {r4, r5, r6, r7, r8, r9} ADDS r1,r2,#2 80202b6: 1c91 adds r1, r2, #2 LSRS r3,r3,#2 80202b8: 089b lsrs r3, r3, #2 080202ba : arm_bitreversal_16_0 LABEL ;/* loop unrolled by 2 */ LDRH r8,[r1,#4] 80202ba: f8b1 8004 ldrh.w r8, [r1, #4] LDRH r9,[r1,#2] 80202be: f8b1 9002 ldrh.w r9, [r1, #2] LDRH r2,[r1,#0] 80202c2: 880a ldrh r2, [r1, #0] LDRH r12,[r1,#-2] 80202c4: f831 cc02 ldrh.w ip, [r1, #-2] ADD r8,r0,r8,LSR #1 80202c8: eb00 0858 add.w r8, r0, r8, lsr #1 ADD r9,r0,r9,LSR #1 80202cc: eb00 0959 add.w r9, r0, r9, lsr #1 ADD r2,r0,r2,LSR #1 80202d0: eb00 0252 add.w r2, r0, r2, lsr #1 ADD r12,r0,r12,LSR #1 80202d4: eb00 0c5c add.w ip, r0, ip, lsr #1 LDR r7,[r9,#0] 80202d8: f8d9 7000 ldr.w r7, [r9] LDR r6,[r8,#0] 80202dc: f8d8 6000 ldr.w r6, [r8] LDR r5,[r2,#0] 80202e0: 6815 ldr r5, [r2, #0] LDR r4,[r12,#0] 80202e2: f8dc 4000 ldr.w r4, [ip] STR r6,[r9,#0] 80202e6: f8c9 6000 str.w r6, [r9] STR r7,[r8,#0] 80202ea: f8c8 7000 str.w r7, [r8] STR r5,[r12,#0] 80202ee: f8cc 5000 str.w r5, [ip] STR r4,[r2,#0] 80202f2: 6014 str r4, [r2, #0] ADDS r1,r1,#8 80202f4: 3108 adds r1, #8 SUBS r3,r3,#1 80202f6: 3b01 subs r3, #1 BNE arm_bitreversal_16_0 80202f8: d1df bne.n 80202ba POP {r4-r9} 80202fa: e8bd 03f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9} BX lr 80202fe: 4770 bx lr 08020300 : 8020300: f810 2b01 ldrb.w r2, [r0], #1 8020304: f811 3b01 ldrb.w r3, [r1], #1 8020308: 2a01 cmp r2, #1 802030a: bf28 it cs 802030c: 429a cmpcs r2, r3 802030e: d0f7 beq.n 8020300 8020310: 1ad0 subs r0, r2, r3 8020312: 4770 bx lr 08020314 : 8020314: 4603 mov r3, r0 8020316: f813 2b01 ldrb.w r2, [r3], #1 802031a: 2a00 cmp r2, #0 802031c: d1fb bne.n 8020316 802031e: 1a18 subs r0, r3, r0 8020320: 3801 subs r0, #1 8020322: 4770 bx lr ... 08020330 : 8020330: f001 01ff and.w r1, r1, #255 ; 0xff 8020334: 2a10 cmp r2, #16 8020336: db2b blt.n 8020390 8020338: f010 0f07 tst.w r0, #7 802033c: d008 beq.n 8020350 802033e: f810 3b01 ldrb.w r3, [r0], #1 8020342: 3a01 subs r2, #1 8020344: 428b cmp r3, r1 8020346: d02d beq.n 80203a4 8020348: f010 0f07 tst.w r0, #7 802034c: b342 cbz r2, 80203a0 802034e: d1f6 bne.n 802033e 8020350: b4f0 push {r4, r5, r6, r7} 8020352: ea41 2101 orr.w r1, r1, r1, lsl #8 8020356: ea41 4101 orr.w r1, r1, r1, lsl #16 802035a: f022 0407 bic.w r4, r2, #7 802035e: f07f 0700 mvns.w r7, #0 8020362: 2300 movs r3, #0 8020364: e8f0 5602 ldrd r5, r6, [r0], #8 8020368: 3c08 subs r4, #8 802036a: ea85 0501 eor.w r5, r5, r1 802036e: ea86 0601 eor.w r6, r6, r1 8020372: fa85 f547 uadd8 r5, r5, r7 8020376: faa3 f587 sel r5, r3, r7 802037a: fa86 f647 uadd8 r6, r6, r7 802037e: faa5 f687 sel r6, r5, r7 8020382: b98e cbnz r6, 80203a8 8020384: d1ee bne.n 8020364 8020386: bcf0 pop {r4, r5, r6, r7} 8020388: f001 01ff and.w r1, r1, #255 ; 0xff 802038c: f002 0207 and.w r2, r2, #7 8020390: b132 cbz r2, 80203a0 8020392: f810 3b01 ldrb.w r3, [r0], #1 8020396: 3a01 subs r2, #1 8020398: ea83 0301 eor.w r3, r3, r1 802039c: b113 cbz r3, 80203a4 802039e: d1f8 bne.n 8020392 80203a0: 2000 movs r0, #0 80203a2: 4770 bx lr 80203a4: 3801 subs r0, #1 80203a6: 4770 bx lr 80203a8: 2d00 cmp r5, #0 80203aa: bf06 itte eq 80203ac: 4635 moveq r5, r6 80203ae: 3803 subeq r0, #3 80203b0: 3807 subne r0, #7 80203b2: f015 0f01 tst.w r5, #1 80203b6: d107 bne.n 80203c8 80203b8: 3001 adds r0, #1 80203ba: f415 7f80 tst.w r5, #256 ; 0x100 80203be: bf02 ittt eq 80203c0: 3001 addeq r0, #1 80203c2: f415 3fc0 tsteq.w r5, #98304 ; 0x18000 80203c6: 3001 addeq r0, #1 80203c8: bcf0 pop {r4, r5, r6, r7} 80203ca: 3801 subs r0, #1 80203cc: 4770 bx lr 80203ce: bf00 nop 080203d0 <__aeabi_frsub>: 80203d0: f080 4000 eor.w r0, r0, #2147483648 ; 0x80000000 80203d4: e002 b.n 80203dc <__addsf3> 80203d6: bf00 nop 080203d8 <__aeabi_fsub>: 80203d8: f081 4100 eor.w r1, r1, #2147483648 ; 0x80000000 080203dc <__addsf3>: 80203dc: 0042 lsls r2, r0, #1 80203de: bf1f itttt ne 80203e0: ea5f 0341 movsne.w r3, r1, lsl #1 80203e4: ea92 0f03 teqne r2, r3 80203e8: ea7f 6c22 mvnsne.w ip, r2, asr #24 80203ec: ea7f 6c23 mvnsne.w ip, r3, asr #24 80203f0: d06a beq.n 80204c8 <__addsf3+0xec> 80203f2: ea4f 6212 mov.w r2, r2, lsr #24 80203f6: ebd2 6313 rsbs r3, r2, r3, lsr #24 80203fa: bfc1 itttt gt 80203fc: 18d2 addgt r2, r2, r3 80203fe: 4041 eorgt r1, r0 8020400: 4048 eorgt r0, r1 8020402: 4041 eorgt r1, r0 8020404: bfb8 it lt 8020406: 425b neglt r3, r3 8020408: 2b19 cmp r3, #25 802040a: bf88 it hi 802040c: 4770 bxhi lr 802040e: f010 4f00 tst.w r0, #2147483648 ; 0x80000000 8020412: f440 0000 orr.w r0, r0, #8388608 ; 0x800000 8020416: f020 407f bic.w r0, r0, #4278190080 ; 0xff000000 802041a: bf18 it ne 802041c: 4240 negne r0, r0 802041e: f011 4f00 tst.w r1, #2147483648 ; 0x80000000 8020422: f441 0100 orr.w r1, r1, #8388608 ; 0x800000 8020426: f021 417f bic.w r1, r1, #4278190080 ; 0xff000000 802042a: bf18 it ne 802042c: 4249 negne r1, r1 802042e: ea92 0f03 teq r2, r3 8020432: d03f beq.n 80204b4 <__addsf3+0xd8> 8020434: f1a2 0201 sub.w r2, r2, #1 8020438: fa41 fc03 asr.w ip, r1, r3 802043c: eb10 000c adds.w r0, r0, ip 8020440: f1c3 0320 rsb r3, r3, #32 8020444: fa01 f103 lsl.w r1, r1, r3 8020448: f000 4300 and.w r3, r0, #2147483648 ; 0x80000000 802044c: d502 bpl.n 8020454 <__addsf3+0x78> 802044e: 4249 negs r1, r1 8020450: eb60 0040 sbc.w r0, r0, r0, lsl #1 8020454: f5b0 0f00 cmp.w r0, #8388608 ; 0x800000 8020458: d313 bcc.n 8020482 <__addsf3+0xa6> 802045a: f1b0 7f80 cmp.w r0, #16777216 ; 0x1000000 802045e: d306 bcc.n 802046e <__addsf3+0x92> 8020460: 0840 lsrs r0, r0, #1 8020462: ea4f 0131 mov.w r1, r1, rrx 8020466: f102 0201 add.w r2, r2, #1 802046a: 2afe cmp r2, #254 ; 0xfe 802046c: d251 bcs.n 8020512 <__addsf3+0x136> 802046e: f1b1 4f00 cmp.w r1, #2147483648 ; 0x80000000 8020472: eb40 50c2 adc.w r0, r0, r2, lsl #23 8020476: bf08 it eq 8020478: f020 0001 biceq.w r0, r0, #1 802047c: ea40 0003 orr.w r0, r0, r3 8020480: 4770 bx lr 8020482: 0049 lsls r1, r1, #1 8020484: eb40 0000 adc.w r0, r0, r0 8020488: f410 0f00 tst.w r0, #8388608 ; 0x800000 802048c: f1a2 0201 sub.w r2, r2, #1 8020490: d1ed bne.n 802046e <__addsf3+0x92> 8020492: fab0 fc80 clz ip, r0 8020496: f1ac 0c08 sub.w ip, ip, #8 802049a: ebb2 020c subs.w r2, r2, ip 802049e: fa00 f00c lsl.w r0, r0, ip 80204a2: bfaa itet ge 80204a4: eb00 50c2 addge.w r0, r0, r2, lsl #23 80204a8: 4252 neglt r2, r2 80204aa: 4318 orrge r0, r3 80204ac: bfbc itt lt 80204ae: 40d0 lsrlt r0, r2 80204b0: 4318 orrlt r0, r3 80204b2: 4770 bx lr 80204b4: f092 0f00 teq r2, #0 80204b8: f481 0100 eor.w r1, r1, #8388608 ; 0x800000 80204bc: bf06 itte eq 80204be: f480 0000 eoreq.w r0, r0, #8388608 ; 0x800000 80204c2: 3201 addeq r2, #1 80204c4: 3b01 subne r3, #1 80204c6: e7b5 b.n 8020434 <__addsf3+0x58> 80204c8: ea4f 0341 mov.w r3, r1, lsl #1 80204cc: ea7f 6c22 mvns.w ip, r2, asr #24 80204d0: bf18 it ne 80204d2: ea7f 6c23 mvnsne.w ip, r3, asr #24 80204d6: d021 beq.n 802051c <__addsf3+0x140> 80204d8: ea92 0f03 teq r2, r3 80204dc: d004 beq.n 80204e8 <__addsf3+0x10c> 80204de: f092 0f00 teq r2, #0 80204e2: bf08 it eq 80204e4: 4608 moveq r0, r1 80204e6: 4770 bx lr 80204e8: ea90 0f01 teq r0, r1 80204ec: bf1c itt ne 80204ee: 2000 movne r0, #0 80204f0: 4770 bxne lr 80204f2: f012 4f7f tst.w r2, #4278190080 ; 0xff000000 80204f6: d104 bne.n 8020502 <__addsf3+0x126> 80204f8: 0040 lsls r0, r0, #1 80204fa: bf28 it cs 80204fc: f040 4000 orrcs.w r0, r0, #2147483648 ; 0x80000000 8020500: 4770 bx lr 8020502: f112 7200 adds.w r2, r2, #33554432 ; 0x2000000 8020506: bf3c itt cc 8020508: f500 0000 addcc.w r0, r0, #8388608 ; 0x800000 802050c: 4770 bxcc lr 802050e: f000 4300 and.w r3, r0, #2147483648 ; 0x80000000 8020512: f043 40fe orr.w r0, r3, #2130706432 ; 0x7f000000 8020516: f440 0000 orr.w r0, r0, #8388608 ; 0x800000 802051a: 4770 bx lr 802051c: ea7f 6222 mvns.w r2, r2, asr #24 8020520: bf16 itet ne 8020522: 4608 movne r0, r1 8020524: ea7f 6323 mvnseq.w r3, r3, asr #24 8020528: 4601 movne r1, r0 802052a: 0242 lsls r2, r0, #9 802052c: bf06 itte eq 802052e: ea5f 2341 movseq.w r3, r1, lsl #9 8020532: ea90 0f01 teqeq r0, r1 8020536: f440 0080 orrne.w r0, r0, #4194304 ; 0x400000 802053a: 4770 bx lr 0802053c <__aeabi_ui2f>: 802053c: f04f 0300 mov.w r3, #0 8020540: e004 b.n 802054c <__aeabi_i2f+0x8> 8020542: bf00 nop 08020544 <__aeabi_i2f>: 8020544: f010 4300 ands.w r3, r0, #2147483648 ; 0x80000000 8020548: bf48 it mi 802054a: 4240 negmi r0, r0 802054c: ea5f 0c00 movs.w ip, r0 8020550: bf08 it eq 8020552: 4770 bxeq lr 8020554: f043 4396 orr.w r3, r3, #1258291200 ; 0x4b000000 8020558: 4601 mov r1, r0 802055a: f04f 0000 mov.w r0, #0 802055e: e01c b.n 802059a <__aeabi_l2f+0x2a> 08020560 <__aeabi_ul2f>: 8020560: ea50 0201 orrs.w r2, r0, r1 8020564: bf08 it eq 8020566: 4770 bxeq lr 8020568: f04f 0300 mov.w r3, #0 802056c: e00a b.n 8020584 <__aeabi_l2f+0x14> 802056e: bf00 nop 08020570 <__aeabi_l2f>: 8020570: ea50 0201 orrs.w r2, r0, r1 8020574: bf08 it eq 8020576: 4770 bxeq lr 8020578: f011 4300 ands.w r3, r1, #2147483648 ; 0x80000000 802057c: d502 bpl.n 8020584 <__aeabi_l2f+0x14> 802057e: 4240 negs r0, r0 8020580: eb61 0141 sbc.w r1, r1, r1, lsl #1 8020584: ea5f 0c01 movs.w ip, r1 8020588: bf02 ittt eq 802058a: 4684 moveq ip, r0 802058c: 4601 moveq r1, r0 802058e: 2000 moveq r0, #0 8020590: f043 43b6 orr.w r3, r3, #1526726656 ; 0x5b000000 8020594: bf08 it eq 8020596: f1a3 5380 subeq.w r3, r3, #268435456 ; 0x10000000 802059a: f5a3 0300 sub.w r3, r3, #8388608 ; 0x800000 802059e: fabc f28c clz r2, ip 80205a2: 3a08 subs r2, #8 80205a4: eba3 53c2 sub.w r3, r3, r2, lsl #23 80205a8: db10 blt.n 80205cc <__aeabi_l2f+0x5c> 80205aa: fa01 fc02 lsl.w ip, r1, r2 80205ae: 4463 add r3, ip 80205b0: fa00 fc02 lsl.w ip, r0, r2 80205b4: f1c2 0220 rsb r2, r2, #32 80205b8: f1bc 4f00 cmp.w ip, #2147483648 ; 0x80000000 80205bc: fa20 f202 lsr.w r2, r0, r2 80205c0: eb43 0002 adc.w r0, r3, r2 80205c4: bf08 it eq 80205c6: f020 0001 biceq.w r0, r0, #1 80205ca: 4770 bx lr 80205cc: f102 0220 add.w r2, r2, #32 80205d0: fa01 fc02 lsl.w ip, r1, r2 80205d4: f1c2 0220 rsb r2, r2, #32 80205d8: ea50 004c orrs.w r0, r0, ip, lsl #1 80205dc: fa21 f202 lsr.w r2, r1, r2 80205e0: eb43 0002 adc.w r0, r3, r2 80205e4: bf08 it eq 80205e6: ea20 70dc biceq.w r0, r0, ip, lsr #31 80205ea: 4770 bx lr 080205ec <__aeabi_uldivmod>: 80205ec: b953 cbnz r3, 8020604 <__aeabi_uldivmod+0x18> 80205ee: b94a cbnz r2, 8020604 <__aeabi_uldivmod+0x18> 80205f0: 2900 cmp r1, #0 80205f2: bf08 it eq 80205f4: 2800 cmpeq r0, #0 80205f6: bf1c itt ne 80205f8: f04f 31ff movne.w r1, #4294967295 80205fc: f04f 30ff movne.w r0, #4294967295 8020600: f000 b97a b.w 80208f8 <__aeabi_idiv0> 8020604: f1ad 0c08 sub.w ip, sp, #8 8020608: e96d ce04 strd ip, lr, [sp, #-16]! 802060c: f000 f806 bl 802061c <__udivmoddi4> 8020610: f8dd e004 ldr.w lr, [sp, #4] 8020614: e9dd 2302 ldrd r2, r3, [sp, #8] 8020618: b004 add sp, #16 802061a: 4770 bx lr 0802061c <__udivmoddi4>: 802061c: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} 8020620: 468c mov ip, r1 8020622: 460d mov r5, r1 8020624: 4604 mov r4, r0 8020626: 9e08 ldr r6, [sp, #32] 8020628: 2b00 cmp r3, #0 802062a: d151 bne.n 80206d0 <__udivmoddi4+0xb4> 802062c: 428a cmp r2, r1 802062e: 4617 mov r7, r2 8020630: d96d bls.n 802070e <__udivmoddi4+0xf2> 8020632: fab2 fe82 clz lr, r2 8020636: f1be 0f00 cmp.w lr, #0 802063a: d00b beq.n 8020654 <__udivmoddi4+0x38> 802063c: f1ce 0c20 rsb ip, lr, #32 8020640: fa01 f50e lsl.w r5, r1, lr 8020644: fa20 fc0c lsr.w ip, r0, ip 8020648: fa02 f70e lsl.w r7, r2, lr 802064c: ea4c 0c05 orr.w ip, ip, r5 8020650: fa00 f40e lsl.w r4, r0, lr 8020654: ea4f 4a17 mov.w sl, r7, lsr #16 8020658: 0c25 lsrs r5, r4, #16 802065a: fbbc f8fa udiv r8, ip, sl 802065e: fa1f f987 uxth.w r9, r7 8020662: fb0a cc18 mls ip, sl, r8, ip 8020666: ea45 450c orr.w r5, r5, ip, lsl #16 802066a: fb08 f309 mul.w r3, r8, r9 802066e: 42ab cmp r3, r5 8020670: d90a bls.n 8020688 <__udivmoddi4+0x6c> 8020672: 19ed adds r5, r5, r7 8020674: f108 32ff add.w r2, r8, #4294967295 8020678: f080 8123 bcs.w 80208c2 <__udivmoddi4+0x2a6> 802067c: 42ab cmp r3, r5 802067e: f240 8120 bls.w 80208c2 <__udivmoddi4+0x2a6> 8020682: f1a8 0802 sub.w r8, r8, #2 8020686: 443d add r5, r7 8020688: 1aed subs r5, r5, r3 802068a: b2a4 uxth r4, r4 802068c: fbb5 f0fa udiv r0, r5, sl 8020690: fb0a 5510 mls r5, sl, r0, r5 8020694: ea44 4405 orr.w r4, r4, r5, lsl #16 8020698: fb00 f909 mul.w r9, r0, r9 802069c: 45a1 cmp r9, r4 802069e: d909 bls.n 80206b4 <__udivmoddi4+0x98> 80206a0: 19e4 adds r4, r4, r7 80206a2: f100 33ff add.w r3, r0, #4294967295 80206a6: f080 810a bcs.w 80208be <__udivmoddi4+0x2a2> 80206aa: 45a1 cmp r9, r4 80206ac: f240 8107 bls.w 80208be <__udivmoddi4+0x2a2> 80206b0: 3802 subs r0, #2 80206b2: 443c add r4, r7 80206b4: eba4 0409 sub.w r4, r4, r9 80206b8: ea40 4008 orr.w r0, r0, r8, lsl #16 80206bc: 2100 movs r1, #0 80206be: 2e00 cmp r6, #0 80206c0: d061 beq.n 8020786 <__udivmoddi4+0x16a> 80206c2: fa24 f40e lsr.w r4, r4, lr 80206c6: 2300 movs r3, #0 80206c8: 6034 str r4, [r6, #0] 80206ca: 6073 str r3, [r6, #4] 80206cc: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} 80206d0: 428b cmp r3, r1 80206d2: d907 bls.n 80206e4 <__udivmoddi4+0xc8> 80206d4: 2e00 cmp r6, #0 80206d6: d054 beq.n 8020782 <__udivmoddi4+0x166> 80206d8: 2100 movs r1, #0 80206da: e886 0021 stmia.w r6, {r0, r5} 80206de: 4608 mov r0, r1 80206e0: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} 80206e4: fab3 f183 clz r1, r3 80206e8: 2900 cmp r1, #0 80206ea: f040 808e bne.w 802080a <__udivmoddi4+0x1ee> 80206ee: 42ab cmp r3, r5 80206f0: d302 bcc.n 80206f8 <__udivmoddi4+0xdc> 80206f2: 4282 cmp r2, r0 80206f4: f200 80fa bhi.w 80208ec <__udivmoddi4+0x2d0> 80206f8: 1a84 subs r4, r0, r2 80206fa: eb65 0503 sbc.w r5, r5, r3 80206fe: 2001 movs r0, #1 8020700: 46ac mov ip, r5 8020702: 2e00 cmp r6, #0 8020704: d03f beq.n 8020786 <__udivmoddi4+0x16a> 8020706: e886 1010 stmia.w r6, {r4, ip} 802070a: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} 802070e: b912 cbnz r2, 8020716 <__udivmoddi4+0xfa> 8020710: 2701 movs r7, #1 8020712: fbb7 f7f2 udiv r7, r7, r2 8020716: fab7 fe87 clz lr, r7 802071a: f1be 0f00 cmp.w lr, #0 802071e: d134 bne.n 802078a <__udivmoddi4+0x16e> 8020720: 1beb subs r3, r5, r7 8020722: 0c3a lsrs r2, r7, #16 8020724: fa1f fc87 uxth.w ip, r7 8020728: 2101 movs r1, #1 802072a: fbb3 f8f2 udiv r8, r3, r2 802072e: 0c25 lsrs r5, r4, #16 8020730: fb02 3318 mls r3, r2, r8, r3 8020734: ea45 4503 orr.w r5, r5, r3, lsl #16 8020738: fb0c f308 mul.w r3, ip, r8 802073c: 42ab cmp r3, r5 802073e: d907 bls.n 8020750 <__udivmoddi4+0x134> 8020740: 19ed adds r5, r5, r7 8020742: f108 30ff add.w r0, r8, #4294967295 8020746: d202 bcs.n 802074e <__udivmoddi4+0x132> 8020748: 42ab cmp r3, r5 802074a: f200 80d1 bhi.w 80208f0 <__udivmoddi4+0x2d4> 802074e: 4680 mov r8, r0 8020750: 1aed subs r5, r5, r3 8020752: b2a3 uxth r3, r4 8020754: fbb5 f0f2 udiv r0, r5, r2 8020758: fb02 5510 mls r5, r2, r0, r5 802075c: ea43 4405 orr.w r4, r3, r5, lsl #16 8020760: fb0c fc00 mul.w ip, ip, r0 8020764: 45a4 cmp ip, r4 8020766: d907 bls.n 8020778 <__udivmoddi4+0x15c> 8020768: 19e4 adds r4, r4, r7 802076a: f100 33ff add.w r3, r0, #4294967295 802076e: d202 bcs.n 8020776 <__udivmoddi4+0x15a> 8020770: 45a4 cmp ip, r4 8020772: f200 80b8 bhi.w 80208e6 <__udivmoddi4+0x2ca> 8020776: 4618 mov r0, r3 8020778: eba4 040c sub.w r4, r4, ip 802077c: ea40 4008 orr.w r0, r0, r8, lsl #16 8020780: e79d b.n 80206be <__udivmoddi4+0xa2> 8020782: 4631 mov r1, r6 8020784: 4630 mov r0, r6 8020786: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} 802078a: f1ce 0420 rsb r4, lr, #32 802078e: fa05 f30e lsl.w r3, r5, lr 8020792: fa07 f70e lsl.w r7, r7, lr 8020796: fa20 f804 lsr.w r8, r0, r4 802079a: 0c3a lsrs r2, r7, #16 802079c: fa25 f404 lsr.w r4, r5, r4 80207a0: ea48 0803 orr.w r8, r8, r3 80207a4: fbb4 f1f2 udiv r1, r4, r2 80207a8: ea4f 4518 mov.w r5, r8, lsr #16 80207ac: fb02 4411 mls r4, r2, r1, r4 80207b0: fa1f fc87 uxth.w ip, r7 80207b4: ea45 4504 orr.w r5, r5, r4, lsl #16 80207b8: fb01 f30c mul.w r3, r1, ip 80207bc: 42ab cmp r3, r5 80207be: fa00 f40e lsl.w r4, r0, lr 80207c2: d909 bls.n 80207d8 <__udivmoddi4+0x1bc> 80207c4: 19ed adds r5, r5, r7 80207c6: f101 30ff add.w r0, r1, #4294967295 80207ca: f080 808a bcs.w 80208e2 <__udivmoddi4+0x2c6> 80207ce: 42ab cmp r3, r5 80207d0: f240 8087 bls.w 80208e2 <__udivmoddi4+0x2c6> 80207d4: 3902 subs r1, #2 80207d6: 443d add r5, r7 80207d8: 1aeb subs r3, r5, r3 80207da: fa1f f588 uxth.w r5, r8 80207de: fbb3 f0f2 udiv r0, r3, r2 80207e2: fb02 3310 mls r3, r2, r0, r3 80207e6: ea45 4503 orr.w r5, r5, r3, lsl #16 80207ea: fb00 f30c mul.w r3, r0, ip 80207ee: 42ab cmp r3, r5 80207f0: d907 bls.n 8020802 <__udivmoddi4+0x1e6> 80207f2: 19ed adds r5, r5, r7 80207f4: f100 38ff add.w r8, r0, #4294967295 80207f8: d26f bcs.n 80208da <__udivmoddi4+0x2be> 80207fa: 42ab cmp r3, r5 80207fc: d96d bls.n 80208da <__udivmoddi4+0x2be> 80207fe: 3802 subs r0, #2 8020800: 443d add r5, r7 8020802: 1aeb subs r3, r5, r3 8020804: ea40 4101 orr.w r1, r0, r1, lsl #16 8020808: e78f b.n 802072a <__udivmoddi4+0x10e> 802080a: f1c1 0720 rsb r7, r1, #32 802080e: fa22 f807 lsr.w r8, r2, r7 8020812: 408b lsls r3, r1 8020814: fa05 f401 lsl.w r4, r5, r1 8020818: ea48 0303 orr.w r3, r8, r3 802081c: fa20 fe07 lsr.w lr, r0, r7 8020820: ea4f 4c13 mov.w ip, r3, lsr #16 8020824: 40fd lsrs r5, r7 8020826: ea4e 0e04 orr.w lr, lr, r4 802082a: fbb5 f9fc udiv r9, r5, ip 802082e: ea4f 441e mov.w r4, lr, lsr #16 8020832: fb0c 5519 mls r5, ip, r9, r5 8020836: fa1f f883 uxth.w r8, r3 802083a: ea44 4505 orr.w r5, r4, r5, lsl #16 802083e: fb09 f408 mul.w r4, r9, r8 8020842: 42ac cmp r4, r5 8020844: fa02 f201 lsl.w r2, r2, r1 8020848: fa00 fa01 lsl.w sl, r0, r1 802084c: d908 bls.n 8020860 <__udivmoddi4+0x244> 802084e: 18ed adds r5, r5, r3 8020850: f109 30ff add.w r0, r9, #4294967295 8020854: d243 bcs.n 80208de <__udivmoddi4+0x2c2> 8020856: 42ac cmp r4, r5 8020858: d941 bls.n 80208de <__udivmoddi4+0x2c2> 802085a: f1a9 0902 sub.w r9, r9, #2 802085e: 441d add r5, r3 8020860: 1b2d subs r5, r5, r4 8020862: fa1f fe8e uxth.w lr, lr 8020866: fbb5 f0fc udiv r0, r5, ip 802086a: fb0c 5510 mls r5, ip, r0, r5 802086e: ea4e 4405 orr.w r4, lr, r5, lsl #16 8020872: fb00 f808 mul.w r8, r0, r8 8020876: 45a0 cmp r8, r4 8020878: d907 bls.n 802088a <__udivmoddi4+0x26e> 802087a: 18e4 adds r4, r4, r3 802087c: f100 35ff add.w r5, r0, #4294967295 8020880: d229 bcs.n 80208d6 <__udivmoddi4+0x2ba> 8020882: 45a0 cmp r8, r4 8020884: d927 bls.n 80208d6 <__udivmoddi4+0x2ba> 8020886: 3802 subs r0, #2 8020888: 441c add r4, r3 802088a: ea40 4009 orr.w r0, r0, r9, lsl #16 802088e: eba4 0408 sub.w r4, r4, r8 8020892: fba0 8902 umull r8, r9, r0, r2 8020896: 454c cmp r4, r9 8020898: 46c6 mov lr, r8 802089a: 464d mov r5, r9 802089c: d315 bcc.n 80208ca <__udivmoddi4+0x2ae> 802089e: d012 beq.n 80208c6 <__udivmoddi4+0x2aa> 80208a0: b156 cbz r6, 80208b8 <__udivmoddi4+0x29c> 80208a2: ebba 030e subs.w r3, sl, lr 80208a6: eb64 0405 sbc.w r4, r4, r5 80208aa: fa04 f707 lsl.w r7, r4, r7 80208ae: 40cb lsrs r3, r1 80208b0: 431f orrs r7, r3 80208b2: 40cc lsrs r4, r1 80208b4: 6037 str r7, [r6, #0] 80208b6: 6074 str r4, [r6, #4] 80208b8: 2100 movs r1, #0 80208ba: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} 80208be: 4618 mov r0, r3 80208c0: e6f8 b.n 80206b4 <__udivmoddi4+0x98> 80208c2: 4690 mov r8, r2 80208c4: e6e0 b.n 8020688 <__udivmoddi4+0x6c> 80208c6: 45c2 cmp sl, r8 80208c8: d2ea bcs.n 80208a0 <__udivmoddi4+0x284> 80208ca: ebb8 0e02 subs.w lr, r8, r2 80208ce: eb69 0503 sbc.w r5, r9, r3 80208d2: 3801 subs r0, #1 80208d4: e7e4 b.n 80208a0 <__udivmoddi4+0x284> 80208d6: 4628 mov r0, r5 80208d8: e7d7 b.n 802088a <__udivmoddi4+0x26e> 80208da: 4640 mov r0, r8 80208dc: e791 b.n 8020802 <__udivmoddi4+0x1e6> 80208de: 4681 mov r9, r0 80208e0: e7be b.n 8020860 <__udivmoddi4+0x244> 80208e2: 4601 mov r1, r0 80208e4: e778 b.n 80207d8 <__udivmoddi4+0x1bc> 80208e6: 3802 subs r0, #2 80208e8: 443c add r4, r7 80208ea: e745 b.n 8020778 <__udivmoddi4+0x15c> 80208ec: 4608 mov r0, r1 80208ee: e708 b.n 8020702 <__udivmoddi4+0xe6> 80208f0: f1a8 0802 sub.w r8, r8, #2 80208f4: 443d add r5, r7 80208f6: e72b b.n 8020750 <__udivmoddi4+0x134> 080208f8 <__aeabi_idiv0>: 80208f8: 4770 bx lr 80208fa: bf00 nop 080208fc : /** \brief Clean & Invalidate D-Cache \details Cleans and Invalidates D-Cache */ __STATIC_INLINE void SCB_CleanInvalidateDCache (void) { 80208fc: b480 push {r7} 80208fe: b085 sub sp, #20 8020900: af00 add r7, sp, #0 #if defined (__DCACHE_PRESENT) && (__DCACHE_PRESENT == 1U) uint32_t ccsidr; uint32_t sets; uint32_t ways; SCB->CSSELR = 0U; /*(0U << 1U) | 0U;*/ /* Level 1 data cache */ 8020902: 4b19 ldr r3, [pc, #100] ; (8020968 ) 8020904: 2200 movs r2, #0 8020906: f8c3 2084 str.w r2, [r3, #132] ; 0x84 \details Acts as a special kind of Data Memory Barrier. It completes when all explicit memory accesses before this instruction complete. */ __STATIC_FORCEINLINE void __DSB(void) { __ASM volatile ("dsb 0xF":::"memory"); 802090a: f3bf 8f4f dsb sy __DSB(); ccsidr = SCB->CCSIDR; 802090e: 4b16 ldr r3, [pc, #88] ; (8020968 ) 8020910: f8d3 3080 ldr.w r3, [r3, #128] ; 0x80 8020914: 607b str r3, [r7, #4] /* clean & invalidate D-Cache */ sets = (uint32_t)(CCSIDR_SETS(ccsidr)); 8020916: 687b ldr r3, [r7, #4] 8020918: 0b5b lsrs r3, r3, #13 802091a: f3c3 030e ubfx r3, r3, #0, #15 802091e: 60fb str r3, [r7, #12] do { ways = (uint32_t)(CCSIDR_WAYS(ccsidr)); 8020920: 687b ldr r3, [r7, #4] 8020922: 08db lsrs r3, r3, #3 8020924: f3c3 0309 ubfx r3, r3, #0, #10 8020928: 60bb str r3, [r7, #8] do { SCB->DCCISW = (((sets << SCB_DCCISW_SET_Pos) & SCB_DCCISW_SET_Msk) | 802092a: 490f ldr r1, [pc, #60] ; (8020968 ) 802092c: 68fb ldr r3, [r7, #12] 802092e: 015a lsls r2, r3, #5 8020930: f643 73e0 movw r3, #16352 ; 0x3fe0 8020934: 4013 ands r3, r2 ((ways << SCB_DCCISW_WAY_Pos) & SCB_DCCISW_WAY_Msk) ); 8020936: 68ba ldr r2, [r7, #8] 8020938: 0792 lsls r2, r2, #30 SCB->DCCISW = (((sets << SCB_DCCISW_SET_Pos) & SCB_DCCISW_SET_Msk) | 802093a: 4313 orrs r3, r2 802093c: f8c1 3274 str.w r3, [r1, #628] ; 0x274 #if defined ( __CC_ARM ) __schedule_barrier(); #endif } while (ways-- != 0U); 8020940: 68bb ldr r3, [r7, #8] 8020942: 1e5a subs r2, r3, #1 8020944: 60ba str r2, [r7, #8] 8020946: 2b00 cmp r3, #0 8020948: d1ef bne.n 802092a } while(sets-- != 0U); 802094a: 68fb ldr r3, [r7, #12] 802094c: 1e5a subs r2, r3, #1 802094e: 60fa str r2, [r7, #12] 8020950: 2b00 cmp r3, #0 8020952: d1e5 bne.n 8020920 8020954: f3bf 8f4f dsb sy __ASM volatile ("isb 0xF":::"memory"); 8020958: f3bf 8f6f isb sy __DSB(); __ISB(); #endif } 802095c: bf00 nop 802095e: 3714 adds r7, #20 8020960: 46bd mov sp, r7 8020962: f85d 7b04 ldr.w r7, [sp], #4 8020966: 4770 bx lr 8020968: e000ed00 .word 0xe000ed00 0802096c : volatile float32_t aa0 = 0.0f; void MX_ADC1_Init(void) { 802096c: b580 push {r7, lr} 802096e: b084 sub sp, #16 8020970: af00 add r7, sp, #0 ADC_ChannelConfTypeDef sConfig; hadc1.Instance = ADC1; 8020972: 4b22 ldr r3, [pc, #136] ; (80209fc ) 8020974: 4a22 ldr r2, [pc, #136] ; (8020a00 ) 8020976: 601a str r2, [r3, #0] hadc1.Init.ClockPrescaler = ADC_CLOCK_SYNC_PCLK_DIV4; 8020978: 4b20 ldr r3, [pc, #128] ; (80209fc ) 802097a: f44f 3280 mov.w r2, #65536 ; 0x10000 802097e: 605a str r2, [r3, #4] hadc1.Init.Resolution = ADC_RESOLUTION_12B; 8020980: 4b1e ldr r3, [pc, #120] ; (80209fc ) 8020982: 2200 movs r2, #0 8020984: 609a str r2, [r3, #8] hadc1.Init.ScanConvMode = DISABLE; 8020986: 4b1d ldr r3, [pc, #116] ; (80209fc ) 8020988: 2200 movs r2, #0 802098a: 611a str r2, [r3, #16] hadc1.Init.ContinuousConvMode = DISABLE; 802098c: 4b1b ldr r3, [pc, #108] ; (80209fc ) 802098e: 2200 movs r2, #0 8020990: 619a str r2, [r3, #24] hadc1.Init.DiscontinuousConvMode = DISABLE; 8020992: 4b1a ldr r3, [pc, #104] ; (80209fc ) 8020994: 2200 movs r2, #0 8020996: f883 2020 strb.w r2, [r3, #32] hadc1.Init.ExternalTrigConvEdge = ADC_EXTERNALTRIGCONVEDGE_RISING; 802099a: 4b18 ldr r3, [pc, #96] ; (80209fc ) 802099c: f04f 5280 mov.w r2, #268435456 ; 0x10000000 80209a0: 62da str r2, [r3, #44] ; 0x2c hadc1.Init.ExternalTrigConv = ADC_EXTERNALTRIGCONV_T5_TRGO; 80209a2: 4b16 ldr r3, [pc, #88] ; (80209fc ) 80209a4: f04f 6280 mov.w r2, #67108864 ; 0x4000000 80209a8: 629a str r2, [r3, #40] ; 0x28 hadc1.Init.DataAlign = ADC_DATAALIGN_RIGHT; 80209aa: 4b14 ldr r3, [pc, #80] ; (80209fc ) 80209ac: 2200 movs r2, #0 80209ae: 60da str r2, [r3, #12] hadc1.Init.NbrOfConversion = 1; 80209b0: 4b12 ldr r3, [pc, #72] ; (80209fc ) 80209b2: 2201 movs r2, #1 80209b4: 61da str r2, [r3, #28] hadc1.Init.DMAContinuousRequests = ENABLE; 80209b6: 4b11 ldr r3, [pc, #68] ; (80209fc ) 80209b8: 2201 movs r2, #1 80209ba: f883 2030 strb.w r2, [r3, #48] ; 0x30 hadc1.Init.EOCSelection = ADC_EOC_SINGLE_CONV; 80209be: 4b0f ldr r3, [pc, #60] ; (80209fc ) 80209c0: 2201 movs r2, #1 80209c2: 615a str r2, [r3, #20] if(HAL_ADC_Init(&hadc1) != HAL_OK) { 80209c4: 480d ldr r0, [pc, #52] ; (80209fc ) 80209c6: f092 fc65 bl 80b3294 80209ca: 4603 mov r3, r0 80209cc: 2b00 cmp r3, #0 80209ce: d001 beq.n 80209d4 Error_Handler(); 80209d0: f034 fa1e bl 8054e10 } sConfig.Channel = ADC_CHANNEL_1; 80209d4: 2301 movs r3, #1 80209d6: 603b str r3, [r7, #0] sConfig.Rank = ADC_REGULAR_RANK_1; 80209d8: 2301 movs r3, #1 80209da: 607b str r3, [r7, #4] sConfig.SamplingTime = ADC_SAMPLETIME_3CYCLES; 80209dc: 2300 movs r3, #0 80209de: 60bb str r3, [r7, #8] if(HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK) { 80209e0: 463b mov r3, r7 80209e2: 4619 mov r1, r3 80209e4: 4805 ldr r0, [pc, #20] ; (80209fc ) 80209e6: f092 ff9d bl 80b3924 80209ea: 4603 mov r3, r0 80209ec: 2b00 cmp r3, #0 80209ee: d001 beq.n 80209f4 Error_Handler(); 80209f0: f034 fa0e bl 8054e10 } //SET_ADCOption2(SYSCFG_PMC_ADCxDC2, ENABLE); } 80209f4: bf00 nop 80209f6: 3710 adds r7, #16 80209f8: 46bd mov sp, r7 80209fa: bd80 pop {r7, pc} 80209fc: 20021bd8 .word 0x20021bd8 8020a00: 40012000 .word 0x40012000 08020a04 : void MX_ADC2_Init(void) { 8020a04: b580 push {r7, lr} 8020a06: b08a sub sp, #40 ; 0x28 8020a08: af00 add r7, sp, #0 GPIO_InitTypeDef GPIO_InitStruct; ADC_ChannelConfTypeDef sConfig; hadc2.Instance = ADC2; 8020a0a: 4b2d ldr r3, [pc, #180] ; (8020ac0 ) 8020a0c: 4a2d ldr r2, [pc, #180] ; (8020ac4 ) 8020a0e: 601a str r2, [r3, #0] hadc2.Init.ClockPrescaler = ADC_CLOCK_SYNC_PCLK_DIV4; 8020a10: 4b2b ldr r3, [pc, #172] ; (8020ac0 ) 8020a12: f44f 3280 mov.w r2, #65536 ; 0x10000 8020a16: 605a str r2, [r3, #4] hadc2.Init.Resolution = ADC_RESOLUTION_12B; 8020a18: 4b29 ldr r3, [pc, #164] ; (8020ac0 ) 8020a1a: 2200 movs r2, #0 8020a1c: 609a str r2, [r3, #8] hadc2.Init.ScanConvMode = DISABLE; 8020a1e: 4b28 ldr r3, [pc, #160] ; (8020ac0 ) 8020a20: 2200 movs r2, #0 8020a22: 611a str r2, [r3, #16] hadc2.Init.ContinuousConvMode = DISABLE; 8020a24: 4b26 ldr r3, [pc, #152] ; (8020ac0 ) 8020a26: 2200 movs r2, #0 8020a28: 619a str r2, [r3, #24] hadc2.Init.DiscontinuousConvMode = DISABLE; 8020a2a: 4b25 ldr r3, [pc, #148] ; (8020ac0 ) 8020a2c: 2200 movs r2, #0 8020a2e: f883 2020 strb.w r2, [r3, #32] hadc2.Init.ExternalTrigConvEdge = ADC_EXTERNALTRIGCONVEDGE_NONE; 8020a32: 4b23 ldr r3, [pc, #140] ; (8020ac0 ) 8020a34: 2200 movs r2, #0 8020a36: 62da str r2, [r3, #44] ; 0x2c hadc2.Init.ExternalTrigConv = ADC_EXTERNALTRIGCONV_T1_CC1; 8020a38: 4b21 ldr r3, [pc, #132] ; (8020ac0 ) 8020a3a: 2200 movs r2, #0 8020a3c: 629a str r2, [r3, #40] ; 0x28 hadc2.Init.DataAlign = ADC_DATAALIGN_RIGHT; 8020a3e: 4b20 ldr r3, [pc, #128] ; (8020ac0 ) 8020a40: 2200 movs r2, #0 8020a42: 60da str r2, [r3, #12] hadc2.Init.NbrOfConversion = 1; 8020a44: 4b1e ldr r3, [pc, #120] ; (8020ac0 ) 8020a46: 2201 movs r2, #1 8020a48: 61da str r2, [r3, #28] hadc2.Init.DMAContinuousRequests = DISABLE; 8020a4a: 4b1d ldr r3, [pc, #116] ; (8020ac0 ) 8020a4c: 2200 movs r2, #0 8020a4e: f883 2030 strb.w r2, [r3, #48] ; 0x30 hadc2.Init.EOCSelection = ADC_EOC_SINGLE_CONV; 8020a52: 4b1b ldr r3, [pc, #108] ; (8020ac0 ) 8020a54: 2201 movs r2, #1 8020a56: 615a str r2, [r3, #20] if(HAL_ADC_Init(&hadc2) != HAL_OK) { 8020a58: 4819 ldr r0, [pc, #100] ; (8020ac0 ) 8020a5a: f092 fc1b bl 80b3294 8020a5e: 4603 mov r3, r0 8020a60: 2b00 cmp r3, #0 8020a62: d001 beq.n 8020a68 Error_Handler(); 8020a64: f034 f9d4 bl 8054e10 } __HAL_RCC_ADC2_CLK_ENABLE(); 8020a68: 4a17 ldr r2, [pc, #92] ; (8020ac8 ) 8020a6a: 4b17 ldr r3, [pc, #92] ; (8020ac8 ) 8020a6c: 6c5b ldr r3, [r3, #68] ; 0x44 8020a6e: f443 7300 orr.w r3, r3, #512 ; 0x200 8020a72: 6453 str r3, [r2, #68] ; 0x44 8020a74: 4b14 ldr r3, [pc, #80] ; (8020ac8 ) 8020a76: 6c5b ldr r3, [r3, #68] ; 0x44 8020a78: f403 7300 and.w r3, r3, #512 ; 0x200 8020a7c: 603b str r3, [r7, #0] 8020a7e: 683b ldr r3, [r7, #0] GPIO_InitStruct.Pin = GPIO_PIN_0; 8020a80: 2301 movs r3, #1 8020a82: 617b str r3, [r7, #20] GPIO_InitStruct.Mode = GPIO_MODE_ANALOG; 8020a84: 2303 movs r3, #3 8020a86: 61bb str r3, [r7, #24] GPIO_InitStruct.Pull = GPIO_NOPULL; 8020a88: 2300 movs r3, #0 8020a8a: 61fb str r3, [r7, #28] HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); 8020a8c: f107 0314 add.w r3, r7, #20 8020a90: 4619 mov r1, r3 8020a92: 480e ldr r0, [pc, #56] ; (8020acc ) 8020a94: f094 fdbe bl 80b5614 sConfig.Channel = ADC_CHANNEL_10; 8020a98: 230a movs r3, #10 8020a9a: 607b str r3, [r7, #4] sConfig.Rank = ADC_REGULAR_RANK_1; 8020a9c: 2301 movs r3, #1 8020a9e: 60bb str r3, [r7, #8] sConfig.SamplingTime = ADC_SAMPLETIME_3CYCLES; 8020aa0: 2300 movs r3, #0 8020aa2: 60fb str r3, [r7, #12] if(HAL_ADC_ConfigChannel(&hadc2, &sConfig) != HAL_OK) { 8020aa4: 1d3b adds r3, r7, #4 8020aa6: 4619 mov r1, r3 8020aa8: 4805 ldr r0, [pc, #20] ; (8020ac0 ) 8020aaa: f092 ff3b bl 80b3924 8020aae: 4603 mov r3, r0 8020ab0: 2b00 cmp r3, #0 8020ab2: d001 beq.n 8020ab8 Error_Handler(); 8020ab4: f034 f9ac bl 8054e10 } } 8020ab8: bf00 nop 8020aba: 3728 adds r7, #40 ; 0x28 8020abc: 46bd mov sp, r7 8020abe: bd80 pop {r7, pc} 8020ac0: 20021b30 .word 0x20021b30 8020ac4: 40012100 .word 0x40012100 8020ac8: 40023800 .word 0x40023800 8020acc: 40020800 .word 0x40020800 08020ad0 : void MX_ADC3_Init(void) //TACHO { 8020ad0: b580 push {r7, lr} 8020ad2: b08a sub sp, #40 ; 0x28 8020ad4: af00 add r7, sp, #0 GPIO_InitTypeDef GPIO_InitStruct; ADC_ChannelConfTypeDef sConfig; hadc3.Instance = ADC3; 8020ad6: 4b23 ldr r3, [pc, #140] ; (8020b64 ) 8020ad8: 4a23 ldr r2, [pc, #140] ; (8020b68 ) 8020ada: 601a str r2, [r3, #0] hadc3.Init.ClockPrescaler = ADC_CLOCK_SYNC_PCLK_DIV4; 8020adc: 4b21 ldr r3, [pc, #132] ; (8020b64 ) 8020ade: f44f 3280 mov.w r2, #65536 ; 0x10000 8020ae2: 605a str r2, [r3, #4] hadc3.Init.Resolution = ADC_RESOLUTION_12B; 8020ae4: 4b1f ldr r3, [pc, #124] ; (8020b64 ) 8020ae6: 2200 movs r2, #0 8020ae8: 609a str r2, [r3, #8] hadc3.Init.ScanConvMode = DISABLE; 8020aea: 4b1e ldr r3, [pc, #120] ; (8020b64 ) 8020aec: 2200 movs r2, #0 8020aee: 611a str r2, [r3, #16] hadc3.Init.ContinuousConvMode = DISABLE; 8020af0: 4b1c ldr r3, [pc, #112] ; (8020b64 ) 8020af2: 2200 movs r2, #0 8020af4: 619a str r2, [r3, #24] hadc3.Init.DiscontinuousConvMode = DISABLE; 8020af6: 4b1b ldr r3, [pc, #108] ; (8020b64 ) 8020af8: 2200 movs r2, #0 8020afa: f883 2020 strb.w r2, [r3, #32] hadc3.Init.ExternalTrigConvEdge = ADC_EXTERNALTRIGCONVEDGE_RISING; 8020afe: 4b19 ldr r3, [pc, #100] ; (8020b64 ) 8020b00: f04f 5280 mov.w r2, #268435456 ; 0x10000000 8020b04: 62da str r2, [r3, #44] ; 0x2c hadc3.Init.ExternalTrigConv = ADC_EXTERNALTRIGCONV_T1_TRGO; 8020b06: 4b17 ldr r3, [pc, #92] ; (8020b64 ) 8020b08: f04f 6210 mov.w r2, #150994944 ; 0x9000000 8020b0c: 629a str r2, [r3, #40] ; 0x28 hadc3.Init.DataAlign = ADC_DATAALIGN_RIGHT; 8020b0e: 4b15 ldr r3, [pc, #84] ; (8020b64 ) 8020b10: 2200 movs r2, #0 8020b12: 60da str r2, [r3, #12] hadc3.Init.NbrOfConversion = 1; 8020b14: 4b13 ldr r3, [pc, #76] ; (8020b64 ) 8020b16: 2201 movs r2, #1 8020b18: 61da str r2, [r3, #28] hadc3.Init.DMAContinuousRequests = ENABLE; 8020b1a: 4b12 ldr r3, [pc, #72] ; (8020b64 ) 8020b1c: 2201 movs r2, #1 8020b1e: f883 2030 strb.w r2, [r3, #48] ; 0x30 hadc3.Init.EOCSelection = ADC_EOC_SINGLE_CONV; 8020b22: 4b10 ldr r3, [pc, #64] ; (8020b64 ) 8020b24: 2201 movs r2, #1 8020b26: 615a str r2, [r3, #20] if(HAL_ADC_Init(&hadc3) != HAL_OK) { 8020b28: 480e ldr r0, [pc, #56] ; (8020b64 ) 8020b2a: f092 fbb3 bl 80b3294 8020b2e: 4603 mov r3, r0 8020b30: 2b00 cmp r3, #0 8020b32: d001 beq.n 8020b38 Error_Handler(); 8020b34: f034 f96c bl 8054e10 } sConfig.Channel = ADC_CHANNEL_11; 8020b38: 230b movs r3, #11 8020b3a: 607b str r3, [r7, #4] sConfig.Rank = ADC_REGULAR_RANK_1; 8020b3c: 2301 movs r3, #1 8020b3e: 60bb str r3, [r7, #8] sConfig.SamplingTime = ADC_SAMPLETIME_3CYCLES; 8020b40: 2300 movs r3, #0 8020b42: 60fb str r3, [r7, #12] sConfig.Offset = 0; 8020b44: 2300 movs r3, #0 8020b46: 613b str r3, [r7, #16] if(HAL_ADC_ConfigChannel(&hadc3, &sConfig) != HAL_OK) { 8020b48: 1d3b adds r3, r7, #4 8020b4a: 4619 mov r1, r3 8020b4c: 4805 ldr r0, [pc, #20] ; (8020b64 ) 8020b4e: f092 fee9 bl 80b3924 8020b52: 4603 mov r3, r0 8020b54: 2b00 cmp r3, #0 8020b56: d001 beq.n 8020b5c Error_Handler(); 8020b58: f034 f95a bl 8054e10 } } 8020b5c: bf00 nop 8020b5e: 3728 adds r7, #40 ; 0x28 8020b60: 46bd mov sp, r7 8020b62: bd80 pop {r7, pc} 8020b64: 20021c20 .word 0x20021c20 8020b68: 40012200 .word 0x40012200 08020b6c : void HAL_ADC_MspInit(ADC_HandleTypeDef* adcHandle) { 8020b6c: b580 push {r7, lr} 8020b6e: b08c sub sp, #48 ; 0x30 8020b70: af00 add r7, sp, #0 8020b72: 6078 str r0, [r7, #4] GPIO_InitTypeDef GPIO_InitStruct; if(adcHandle->Instance == ADC1) 8020b74: 687b ldr r3, [r7, #4] 8020b76: 681b ldr r3, [r3, #0] 8020b78: 4a69 ldr r2, [pc, #420] ; (8020d20 ) 8020b7a: 4293 cmp r3, r2 8020b7c: d149 bne.n 8020c12 { __HAL_RCC_ADC1_CLK_ENABLE(); 8020b7e: 4a69 ldr r2, [pc, #420] ; (8020d24 ) 8020b80: 4b68 ldr r3, [pc, #416] ; (8020d24 ) 8020b82: 6c5b ldr r3, [r3, #68] ; 0x44 8020b84: f443 7380 orr.w r3, r3, #256 ; 0x100 8020b88: 6453 str r3, [r2, #68] ; 0x44 8020b8a: 4b66 ldr r3, [pc, #408] ; (8020d24 ) 8020b8c: 6c5b ldr r3, [r3, #68] ; 0x44 8020b8e: f403 7380 and.w r3, r3, #256 ; 0x100 8020b92: 61bb str r3, [r7, #24] 8020b94: 69bb ldr r3, [r7, #24] GPIO_InitStruct.Pin = GPIO_PIN_1; 8020b96: 2302 movs r3, #2 8020b98: 61fb str r3, [r7, #28] GPIO_InitStruct.Mode = GPIO_MODE_ANALOG; 8020b9a: 2303 movs r3, #3 8020b9c: 623b str r3, [r7, #32] GPIO_InitStruct.Pull = GPIO_NOPULL; 8020b9e: 2300 movs r3, #0 8020ba0: 627b str r3, [r7, #36] ; 0x24 HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); 8020ba2: f107 031c add.w r3, r7, #28 8020ba6: 4619 mov r1, r3 8020ba8: 485f ldr r0, [pc, #380] ; (8020d28 ) 8020baa: f094 fd33 bl 80b5614 hdma_adc1.Instance = DMA2_Stream4; 8020bae: 4b5f ldr r3, [pc, #380] ; (8020d2c ) 8020bb0: 4a5f ldr r2, [pc, #380] ; (8020d30 ) 8020bb2: 601a str r2, [r3, #0] hdma_adc1.Init.Channel = DMA_CHANNEL_0; 8020bb4: 4b5d ldr r3, [pc, #372] ; (8020d2c ) 8020bb6: 2200 movs r2, #0 8020bb8: 605a str r2, [r3, #4] hdma_adc1.Init.Direction = DMA_PERIPH_TO_MEMORY; 8020bba: 4b5c ldr r3, [pc, #368] ; (8020d2c ) 8020bbc: 2200 movs r2, #0 8020bbe: 609a str r2, [r3, #8] hdma_adc1.Init.PeriphInc = DMA_PINC_DISABLE; 8020bc0: 4b5a ldr r3, [pc, #360] ; (8020d2c ) 8020bc2: 2200 movs r2, #0 8020bc4: 60da str r2, [r3, #12] hdma_adc1.Init.MemInc = DMA_MINC_ENABLE; 8020bc6: 4b59 ldr r3, [pc, #356] ; (8020d2c ) 8020bc8: f44f 6280 mov.w r2, #1024 ; 0x400 8020bcc: 611a str r2, [r3, #16] hdma_adc1.Init.PeriphDataAlignment = DMA_PDATAALIGN_HALFWORD; 8020bce: 4b57 ldr r3, [pc, #348] ; (8020d2c ) 8020bd0: f44f 6200 mov.w r2, #2048 ; 0x800 8020bd4: 615a str r2, [r3, #20] hdma_adc1.Init.MemDataAlignment = DMA_MDATAALIGN_HALFWORD; 8020bd6: 4b55 ldr r3, [pc, #340] ; (8020d2c ) 8020bd8: f44f 5200 mov.w r2, #8192 ; 0x2000 8020bdc: 619a str r2, [r3, #24] hdma_adc1.Init.Mode = DMA_CIRCULAR; 8020bde: 4b53 ldr r3, [pc, #332] ; (8020d2c ) 8020be0: f44f 7280 mov.w r2, #256 ; 0x100 8020be4: 61da str r2, [r3, #28] hdma_adc1.Init.Priority = DMA_PRIORITY_HIGH; 8020be6: 4b51 ldr r3, [pc, #324] ; (8020d2c ) 8020be8: f44f 3200 mov.w r2, #131072 ; 0x20000 8020bec: 621a str r2, [r3, #32] hdma_adc1.Init.FIFOMode = DMA_FIFOMODE_DISABLE; 8020bee: 4b4f ldr r3, [pc, #316] ; (8020d2c ) 8020bf0: 2200 movs r2, #0 8020bf2: 625a str r2, [r3, #36] ; 0x24 if(HAL_DMA_Init(&hdma_adc1) != HAL_OK) { 8020bf4: 484d ldr r0, [pc, #308] ; (8020d2c ) 8020bf6: f093 fb37 bl 80b4268 8020bfa: 4603 mov r3, r0 8020bfc: 2b00 cmp r3, #0 8020bfe: d001 beq.n 8020c04 Error_Handler(); 8020c00: f034 f906 bl 8054e10 } __HAL_LINKDMA(adcHandle, DMA_Handle, hdma_adc1); 8020c04: 687b ldr r3, [r7, #4] 8020c06: 4a49 ldr r2, [pc, #292] ; (8020d2c ) 8020c08: 639a str r2, [r3, #56] ; 0x38 8020c0a: 4a48 ldr r2, [pc, #288] ; (8020d2c ) 8020c0c: 687b ldr r3, [r7, #4] 8020c0e: 6393 str r3, [r2, #56] ; 0x38 if(HAL_DMA_Init(&hdma_adc3) != HAL_OK) { Error_Handler(); } __HAL_LINKDMA(adcHandle, DMA_Handle, hdma_adc3); } } 8020c10: e081 b.n 8020d16 if(adcHandle->Instance == ADC2) 8020c12: 687b ldr r3, [r7, #4] 8020c14: 681b ldr r3, [r3, #0] 8020c16: 4a47 ldr r2, [pc, #284] ; (8020d34 ) 8020c18: 4293 cmp r3, r2 8020c1a: d118 bne.n 8020c4e __HAL_RCC_ADC2_CLK_ENABLE(); 8020c1c: 4a41 ldr r2, [pc, #260] ; (8020d24 ) 8020c1e: 4b41 ldr r3, [pc, #260] ; (8020d24 ) 8020c20: 6c5b ldr r3, [r3, #68] ; 0x44 8020c22: f443 7300 orr.w r3, r3, #512 ; 0x200 8020c26: 6453 str r3, [r2, #68] ; 0x44 8020c28: 4b3e ldr r3, [pc, #248] ; (8020d24 ) 8020c2a: 6c5b ldr r3, [r3, #68] ; 0x44 8020c2c: f403 7300 and.w r3, r3, #512 ; 0x200 8020c30: 617b str r3, [r7, #20] 8020c32: 697b ldr r3, [r7, #20] GPIO_InitStruct.Pin = GPIO_PIN_0; 8020c34: 2301 movs r3, #1 8020c36: 61fb str r3, [r7, #28] GPIO_InitStruct.Mode = GPIO_MODE_ANALOG; 8020c38: 2303 movs r3, #3 8020c3a: 623b str r3, [r7, #32] GPIO_InitStruct.Pull = GPIO_NOPULL; 8020c3c: 2300 movs r3, #0 8020c3e: 627b str r3, [r7, #36] ; 0x24 HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); 8020c40: f107 031c add.w r3, r7, #28 8020c44: 4619 mov r1, r3 8020c46: 483c ldr r0, [pc, #240] ; (8020d38 ) 8020c48: f094 fce4 bl 80b5614 } 8020c4c: e063 b.n 8020d16 if(adcHandle->Instance == ADC3) 8020c4e: 687b ldr r3, [r7, #4] 8020c50: 681b ldr r3, [r3, #0] 8020c52: 4a3a ldr r2, [pc, #232] ; (8020d3c ) 8020c54: 4293 cmp r3, r2 8020c56: d15e bne.n 8020d16 __HAL_RCC_ADC3_CLK_ENABLE(); 8020c58: 4a32 ldr r2, [pc, #200] ; (8020d24 ) 8020c5a: 4b32 ldr r3, [pc, #200] ; (8020d24 ) 8020c5c: 6c5b ldr r3, [r3, #68] ; 0x44 8020c5e: f443 6380 orr.w r3, r3, #1024 ; 0x400 8020c62: 6453 str r3, [r2, #68] ; 0x44 8020c64: 4b2f ldr r3, [pc, #188] ; (8020d24 ) 8020c66: 6c5b ldr r3, [r3, #68] ; 0x44 8020c68: f403 6380 and.w r3, r3, #1024 ; 0x400 8020c6c: 613b str r3, [r7, #16] 8020c6e: 693b ldr r3, [r7, #16] __HAL_RCC_GPIOC_CLK_ENABLE(); 8020c70: 4a2c ldr r2, [pc, #176] ; (8020d24 ) 8020c72: 4b2c ldr r3, [pc, #176] ; (8020d24 ) 8020c74: 6b1b ldr r3, [r3, #48] ; 0x30 8020c76: f043 0304 orr.w r3, r3, #4 8020c7a: 6313 str r3, [r2, #48] ; 0x30 8020c7c: 4b29 ldr r3, [pc, #164] ; (8020d24 ) 8020c7e: 6b1b ldr r3, [r3, #48] ; 0x30 8020c80: f003 0304 and.w r3, r3, #4 8020c84: 60fb str r3, [r7, #12] 8020c86: 68fb ldr r3, [r7, #12] GPIO_InitStruct.Pin = GPIO_PIN_1; 8020c88: 2302 movs r3, #2 8020c8a: 61fb str r3, [r7, #28] GPIO_InitStruct.Mode = GPIO_MODE_ANALOG; 8020c8c: 2303 movs r3, #3 8020c8e: 623b str r3, [r7, #32] GPIO_InitStruct.Pull = GPIO_NOPULL; 8020c90: 2300 movs r3, #0 8020c92: 627b str r3, [r7, #36] ; 0x24 HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); 8020c94: f107 031c add.w r3, r7, #28 8020c98: 4619 mov r1, r3 8020c9a: 4827 ldr r0, [pc, #156] ; (8020d38 ) 8020c9c: f094 fcba bl 80b5614 hdma_adc3.Instance = DMA2_Stream1; 8020ca0: 4b27 ldr r3, [pc, #156] ; (8020d40 ) 8020ca2: 4a28 ldr r2, [pc, #160] ; (8020d44 ) 8020ca4: 601a str r2, [r3, #0] hdma_adc3.Init.Channel = DMA_CHANNEL_2; 8020ca6: 4b26 ldr r3, [pc, #152] ; (8020d40 ) 8020ca8: f04f 6280 mov.w r2, #67108864 ; 0x4000000 8020cac: 605a str r2, [r3, #4] hdma_adc3.Init.Direction = DMA_PERIPH_TO_MEMORY; 8020cae: 4b24 ldr r3, [pc, #144] ; (8020d40 ) 8020cb0: 2200 movs r2, #0 8020cb2: 609a str r2, [r3, #8] hdma_adc3.Init.PeriphInc = DMA_PINC_DISABLE; 8020cb4: 4b22 ldr r3, [pc, #136] ; (8020d40 ) 8020cb6: 2200 movs r2, #0 8020cb8: 60da str r2, [r3, #12] hdma_adc3.Init.MemInc = DMA_MINC_ENABLE; 8020cba: 4b21 ldr r3, [pc, #132] ; (8020d40 ) 8020cbc: f44f 6280 mov.w r2, #1024 ; 0x400 8020cc0: 611a str r2, [r3, #16] hdma_adc3.Init.PeriphDataAlignment = DMA_PDATAALIGN_HALFWORD; 8020cc2: 4b1f ldr r3, [pc, #124] ; (8020d40 ) 8020cc4: f44f 6200 mov.w r2, #2048 ; 0x800 8020cc8: 615a str r2, [r3, #20] hdma_adc3.Init.MemDataAlignment = DMA_PDATAALIGN_HALFWORD; 8020cca: 4b1d ldr r3, [pc, #116] ; (8020d40 ) 8020ccc: f44f 6200 mov.w r2, #2048 ; 0x800 8020cd0: 619a str r2, [r3, #24] hdma_adc3.Init.Mode = DMA_CIRCULAR; 8020cd2: 4b1b ldr r3, [pc, #108] ; (8020d40 ) 8020cd4: f44f 7280 mov.w r2, #256 ; 0x100 8020cd8: 61da str r2, [r3, #28] hdma_adc3.Init.Priority = DMA_PRIORITY_HIGH; 8020cda: 4b19 ldr r3, [pc, #100] ; (8020d40 ) 8020cdc: f44f 3200 mov.w r2, #131072 ; 0x20000 8020ce0: 621a str r2, [r3, #32] hdma_adc3.Init.FIFOMode = DMA_FIFOMODE_DISABLE; 8020ce2: 4b17 ldr r3, [pc, #92] ; (8020d40 ) 8020ce4: 2200 movs r2, #0 8020ce6: 625a str r2, [r3, #36] ; 0x24 hdma_adc3.Init.FIFOThreshold = DMA_FIFO_THRESHOLD_HALFFULL; 8020ce8: 4b15 ldr r3, [pc, #84] ; (8020d40 ) 8020cea: 2201 movs r2, #1 8020cec: 629a str r2, [r3, #40] ; 0x28 hdma_adc3.Init.MemBurst = DMA_MBURST_SINGLE; 8020cee: 4b14 ldr r3, [pc, #80] ; (8020d40 ) 8020cf0: 2200 movs r2, #0 8020cf2: 62da str r2, [r3, #44] ; 0x2c hdma_adc3.Init.PeriphBurst = DMA_PBURST_SINGLE; 8020cf4: 4b12 ldr r3, [pc, #72] ; (8020d40 ) 8020cf6: 2200 movs r2, #0 8020cf8: 631a str r2, [r3, #48] ; 0x30 if(HAL_DMA_Init(&hdma_adc3) != HAL_OK) { 8020cfa: 4811 ldr r0, [pc, #68] ; (8020d40 ) 8020cfc: f093 fab4 bl 80b4268 8020d00: 4603 mov r3, r0 8020d02: 2b00 cmp r3, #0 8020d04: d001 beq.n 8020d0a Error_Handler(); 8020d06: f034 f883 bl 8054e10 __HAL_LINKDMA(adcHandle, DMA_Handle, hdma_adc3); 8020d0a: 687b ldr r3, [r7, #4] 8020d0c: 4a0c ldr r2, [pc, #48] ; (8020d40 ) 8020d0e: 639a str r2, [r3, #56] ; 0x38 8020d10: 4a0b ldr r2, [pc, #44] ; (8020d40 ) 8020d12: 687b ldr r3, [r7, #4] 8020d14: 6393 str r3, [r2, #56] ; 0x38 } 8020d16: bf00 nop 8020d18: 3730 adds r7, #48 ; 0x30 8020d1a: 46bd mov sp, r7 8020d1c: bd80 pop {r7, pc} 8020d1e: bf00 nop 8020d20: 40012000 .word 0x40012000 8020d24: 40023800 .word 0x40023800 8020d28: 40020000 .word 0x40020000 8020d2c: 20021c68 .word 0x20021c68 8020d30: 40026470 .word 0x40026470 8020d34: 40012100 .word 0x40012100 8020d38: 40020800 .word 0x40020800 8020d3c: 40012200 .word 0x40012200 8020d40: 20021b78 .word 0x20021b78 8020d44: 40026428 .word 0x40026428 08020d48 : } } /* USER CODE BEGIN 1 */ void StartBatMeas(void) { 8020d48: b480 push {r7} 8020d4a: af00 add r7, sp, #0 TIMEOUT_BAT = sec5 + sec5; 8020d4c: 4b05 ldr r3, [pc, #20] ; (8020d64 ) 8020d4e: f44f 42a0 mov.w r2, #20480 ; 0x5000 8020d52: 601a str r2, [r3, #0] StartBat = true; 8020d54: 4b04 ldr r3, [pc, #16] ; (8020d68 ) 8020d56: 2201 movs r2, #1 8020d58: 701a strb r2, [r3, #0] } 8020d5a: bf00 nop 8020d5c: 46bd mov sp, r7 8020d5e: f85d 7b04 ldr.w r7, [sp], #4 8020d62: 4770 bx lr 8020d64: 200209c8 .word 0x200209c8 8020d68: 20020d4a .word 0x20020d4a 08020d6c : /////////////////////////////////////////////////////// void StartADC12(void) { 8020d6c: b580 push {r7, lr} 8020d6e: af00 add r7, sp, #0 HAL_ADC_Start_DMA(&hadc1, (uint32_t *) &DMA_Udar_u16(0), 16384u); 8020d70: f44f 4280 mov.w r2, #16384 ; 0x4000 8020d74: 4906 ldr r1, [pc, #24] ; (8020d90 ) 8020d76: 4807 ldr r0, [pc, #28] ; (8020d94 ) 8020d78: f092 fc5e bl 80b3638 HAL_TIM_Base_Start(&htim5); 8020d7c: 4806 ldr r0, [pc, #24] ; (8020d98 ) 8020d7e: f09a ff9b bl 80bbcb8 HAL_TIM_GenerateEvent(&htim5, TIM_EVENTSOURCE_UPDATE); 8020d82: 2101 movs r1, #1 8020d84: 4804 ldr r0, [pc, #16] ; (8020d98 ) 8020d86: f09b f9c6 bl 80bc116 } 8020d8a: bf00 nop 8020d8c: bd80 pop {r7, pc} 8020d8e: bf00 nop 8020d90: 64090000 .word 0x64090000 8020d94: 20021bd8 .word 0x20021bd8 8020d98: 200688a4 .word 0x200688a4 08020d9c : void StopADC12(void) { 8020d9c: b580 push {r7, lr} 8020d9e: af00 add r7, sp, #0 HAL_TIM_Base_Stop(&htim5); 8020da0: 4803 ldr r0, [pc, #12] ; (8020db0 ) 8020da2: f09a fff9 bl 80bbd98 HAL_ADC_Stop_DMA(&hadc1); 8020da6: 4803 ldr r0, [pc, #12] ; (8020db4 ) 8020da8: f092 fd40 bl 80b382c } 8020dac: bf00 nop 8020dae: bd80 pop {r7, pc} 8020db0: 200688a4 .word 0x200688a4 8020db4: 20021bd8 .word 0x20021bd8 08020db8 : ////////////////////////////////////////////////////////// void StartTacho(void) { 8020db8: b580 push {r7, lr} 8020dba: af00 add r7, sp, #0 //HAL_ADC_Start_DMA(&hadc3, (uint32_t*) &TACHO_SAMPLE, 1); HAL_ADC_Start_DMA(&hadc3, (uint32_t *) &DMA_Udar_u16(0), 16384u); 8020dbc: f44f 4280 mov.w r2, #16384 ; 0x4000 8020dc0: 4906 ldr r1, [pc, #24] ; (8020ddc ) 8020dc2: 4807 ldr r0, [pc, #28] ; (8020de0 ) 8020dc4: f092 fc38 bl 80b3638 HAL_TIM_Base_Start(&htim1); 8020dc8: 4806 ldr r0, [pc, #24] ; (8020de4 ) 8020dca: f09a ff75 bl 80bbcb8 HAL_TIM_GenerateEvent(&htim1, TIM_EVENTSOURCE_UPDATE); 8020dce: 2101 movs r1, #1 8020dd0: 4804 ldr r0, [pc, #16] ; (8020de4 ) 8020dd2: f09b f9a0 bl 80bc116 } 8020dd6: bf00 nop 8020dd8: bd80 pop {r7, pc} 8020dda: bf00 nop 8020ddc: 64090000 .word 0x64090000 8020de0: 20021c20 .word 0x20021c20 8020de4: 20068940 .word 0x20068940 08020de8 : void StopTacho(void) { 8020de8: b580 push {r7, lr} 8020dea: af00 add r7, sp, #0 //HAL_ADC_Stop_DMA(&hadc3); HAL_TIM_Base_Stop(&htim1); 8020dec: 4803 ldr r0, [pc, #12] ; (8020dfc ) 8020dee: f09a ffd3 bl 80bbd98 HAL_ADC_Stop_DMA(&hadc3); 8020df2: 4803 ldr r0, [pc, #12] ; (8020e00 ) 8020df4: f092 fd1a bl 80b382c } 8020df8: bf00 nop 8020dfa: bd80 pop {r7, pc} 8020dfc: 20068940 .word 0x20068940 8020e00: 20021c20 .word 0x20021c20 08020e04 : void MeasBattery(void) { 8020e04: b580 push {r7, lr} 8020e06: b084 sub sp, #16 8020e08: af00 add r7, sp, #0 static uint8_t oldState = 0xf; int32_t V32, i; uint32_t Bat; if((StartBat)) 8020e0a: 4ba5 ldr r3, [pc, #660] ; (80210a0 ) 8020e0c: 781b ldrb r3, [r3, #0] 8020e0e: b2db uxtb r3, r3 8020e10: 2b00 cmp r3, #0 8020e12: f000 841e beq.w 8021652 { HAL_ADC_Start(&hadc2); 8020e16: 48a3 ldr r0, [pc, #652] ; (80210a4 ) 8020e18: f092 fa80 bl 80b331c HAL_ADC_PollForConversion(&hadc2, 100); 8020e1c: 2164 movs r1, #100 ; 0x64 8020e1e: 48a1 ldr r0, [pc, #644] ; (80210a4 ) 8020e20: f092 fb7e bl 80b3520 Bat = HAL_ADC_GetValue(&hadc2); 8020e24: 489f ldr r0, [pc, #636] ; (80210a4 ) 8020e26: f092 fd5b bl 80b38e0 8020e2a: 60b8 str r0, [r7, #8] HAL_ADC_Stop(&hadc2); 8020e2c: 489d ldr r0, [pc, #628] ; (80210a4 ) 8020e2e: f092 fb43 bl 80b34b8 ADCBat += Bat; 8020e32: 4b9d ldr r3, [pc, #628] ; (80210a8 ) 8020e34: 681a ldr r2, [r3, #0] 8020e36: 68bb ldr r3, [r7, #8] 8020e38: 4413 add r3, r2 8020e3a: 4a9b ldr r2, [pc, #620] ; (80210a8 ) 8020e3c: 6013 str r3, [r2, #0] adc_cnt++; 8020e3e: 4b9b ldr r3, [pc, #620] ; (80210ac ) 8020e40: 881b ldrh r3, [r3, #0] 8020e42: b29b uxth r3, r3 8020e44: 3301 adds r3, #1 8020e46: b29a uxth r2, r3 8020e48: 4b98 ldr r3, [pc, #608] ; (80210ac ) 8020e4a: 801a strh r2, [r3, #0] if(TIMEOUT_BAT) 8020e4c: 4b98 ldr r3, [pc, #608] ; (80210b0 ) 8020e4e: 681b ldr r3, [r3, #0] 8020e50: 2b00 cmp r3, #0 8020e52: f000 81e4 beq.w 802121e { if(adc_cnt >= 1) // 32 times --> 125 msec 8020e56: 4b95 ldr r3, [pc, #596] ; (80210ac ) 8020e58: 881b ldrh r3, [r3, #0] 8020e5a: b29b uxth r3, r3 8020e5c: 2b00 cmp r3, #0 8020e5e: f000 83f8 beq.w 8021652 { f = (float32_t) ADCBat; 8020e62: 4b91 ldr r3, [pc, #580] ; (80210a8 ) 8020e64: 681b ldr r3, [r3, #0] 8020e66: ee07 3a90 vmov s15, r3 8020e6a: eef8 7a67 vcvt.f32.u32 s15, s15 8020e6e: edc7 7a03 vstr s15, [r7, #12] f /= (float32_t) adc_cnt; 8020e72: 4b8e ldr r3, [pc, #568] ; (80210ac ) 8020e74: 881b ldrh r3, [r3, #0] 8020e76: b29b uxth r3, r3 8020e78: ee07 3a90 vmov s15, r3 8020e7c: eeb8 7a67 vcvt.f32.u32 s14, s15 8020e80: edd7 6a03 vldr s13, [r7, #12] 8020e84: eec6 7a87 vdiv.f32 s15, s13, s14 8020e88: edc7 7a03 vstr s15, [r7, #12] ADCBat = (uint32_t) (f + 0.5f); 8020e8c: edd7 7a03 vldr s15, [r7, #12] 8020e90: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8020e94: ee77 7a87 vadd.f32 s15, s15, s14 8020e98: eefc 7ae7 vcvt.u32.f32 s15, s15 8020e9c: ee17 2a90 vmov r2, s15 8020ea0: 4b81 ldr r3, [pc, #516] ; (80210a8 ) 8020ea2: 601a str r2, [r3, #0] ADCBat = MedVbat(ADCBat); 8020ea4: 4b80 ldr r3, [pc, #512] ; (80210a8 ) 8020ea6: 681b ldr r3, [r3, #0] 8020ea8: 4618 mov r0, r3 8020eaa: f000 fbef bl 802168c 8020eae: 4602 mov r2, r0 8020eb0: 4b7d ldr r3, [pc, #500] ; (80210a8 ) 8020eb2: 601a str r2, [r3, #0] f = (float32_t) ADCBat; 8020eb4: 4b7c ldr r3, [pc, #496] ; (80210a8 ) 8020eb6: 681b ldr r3, [r3, #0] 8020eb8: ee07 3a90 vmov s15, r3 8020ebc: eef8 7a67 vcvt.f32.u32 s15, s15 8020ec0: edc7 7a03 vstr s15, [r7, #12] f *= VBAT_MULT; 8020ec4: edd7 7a03 vldr s15, [r7, #12] 8020ec8: ed9f 7a7a vldr s14, [pc, #488] ; 80210b4 8020ecc: ee67 7a87 vmul.f32 s15, s15, s14 8020ed0: edc7 7a03 vstr s15, [r7, #12] if(clbr == false) 8020ed4: 4b78 ldr r3, [pc, #480] ; (80210b8 ) 8020ed6: 781b ldrb r3, [r3, #0] 8020ed8: b2db uxtb r3, r3 8020eda: f083 0301 eor.w r3, r3, #1 8020ede: b2db uxtb r3, r3 8020ee0: 2b00 cmp r3, #0 8020ee2: d011 beq.n 8020f08 { f = f * aa1; 8020ee4: 4b75 ldr r3, [pc, #468] ; (80210bc ) 8020ee6: edd3 7a00 vldr s15, [r3] 8020eea: ed97 7a03 vldr s14, [r7, #12] 8020eee: ee67 7a27 vmul.f32 s15, s14, s15 8020ef2: edc7 7a03 vstr s15, [r7, #12] f += aa0; 8020ef6: 4b72 ldr r3, [pc, #456] ; (80210c0 ) 8020ef8: edd3 7a00 vldr s15, [r3] 8020efc: ed97 7a03 vldr s14, [r7, #12] 8020f00: ee77 7a27 vadd.f32 s15, s14, s15 8020f04: edc7 7a03 vstr s15, [r7, #12] } f += 0.005f; 8020f08: edd7 7a03 vldr s15, [r7, #12] 8020f0c: ed9f 7a6d vldr s14, [pc, #436] ; 80210c4 8020f10: ee77 7a87 vadd.f32 s15, s15, s14 8020f14: edc7 7a03 vstr s15, [r7, #12] V32 = (int32_t) (f * 100); 8020f18: edd7 7a03 vldr s15, [r7, #12] 8020f1c: ed9f 7a6a vldr s14, [pc, #424] ; 80210c8 8020f20: ee67 7a87 vmul.f32 s15, s15, s14 8020f24: eefd 7ae7 vcvt.s32.f32 s15, s15 8020f28: ee17 3a90 vmov r3, s15 8020f2c: 607b str r3, [r7, #4] f = (float32_t) V32; 8020f2e: 687b ldr r3, [r7, #4] 8020f30: ee07 3a90 vmov s15, r3 8020f34: eef8 7ae7 vcvt.f32.s32 s15, s15 8020f38: edc7 7a03 vstr s15, [r7, #12] Vbat = f / 100 + 0.001f; 8020f3c: ed97 7a03 vldr s14, [r7, #12] 8020f40: eddf 6a61 vldr s13, [pc, #388] ; 80210c8 8020f44: eec7 7a26 vdiv.f32 s15, s14, s13 8020f48: ed9f 7a60 vldr s14, [pc, #384] ; 80210cc 8020f4c: ee77 7a87 vadd.f32 s15, s15, s14 8020f50: 4b5f ldr r3, [pc, #380] ; (80210d0 ) 8020f52: edc3 7a00 vstr s15, [r3] ADCBat = 0; 8020f56: 4b54 ldr r3, [pc, #336] ; (80210a8 ) 8020f58: 2200 movs r2, #0 8020f5a: 601a str r2, [r3, #0] adc_cnt = 0; 8020f5c: 4b53 ldr r3, [pc, #332] ; (80210ac ) 8020f5e: 2200 movs r2, #0 8020f60: 801a strh r2, [r3, #0] if(Vbat >= 3.80f) 8020f62: 4b5b ldr r3, [pc, #364] ; (80210d0 ) 8020f64: edd3 7a00 vldr s15, [r3] 8020f68: ed9f 7a5a vldr s14, [pc, #360] ; 80210d4 8020f6c: eef4 7ac7 vcmpe.f32 s15, s14 8020f70: eef1 fa10 vmrs APSR_nzcv, fpscr 8020f74: db23 blt.n 8020fbe { if((StateBattery != 0xf) && ((oldState == 0xf))) 8020f76: 4b58 ldr r3, [pc, #352] ; (80210d8 ) 8020f78: 781b ldrb r3, [r3, #0] 8020f7a: b2db uxtb r3, r3 8020f7c: 2b0f cmp r3, #15 8020f7e: d017 beq.n 8020fb0 8020f80: 4b56 ldr r3, [pc, #344] ; (80210dc ) 8020f82: 781b ldrb r3, [r3, #0] 8020f84: 2b0f cmp r3, #15 8020f86: d113 bne.n 8020fb0 { if(gystTimeout) 8020f88: 4b55 ldr r3, [pc, #340] ; (80210e0 ) 8020f8a: 781b ldrb r3, [r3, #0] 8020f8c: b2db uxtb r3, r3 8020f8e: 2b00 cmp r3, #0 8020f90: d007 beq.n 8020fa2 gystTimeout--; 8020f92: 4b53 ldr r3, [pc, #332] ; (80210e0 ) 8020f94: 781b ldrb r3, [r3, #0] 8020f96: b2db uxtb r3, r3 8020f98: 3b01 subs r3, #1 8020f9a: b2da uxtb r2, r3 8020f9c: 4b50 ldr r3, [pc, #320] ; (80210e0 ) 8020f9e: 701a strb r2, [r3, #0] if(gystTimeout) 8020fa0: e009 b.n 8020fb6 else { StateBattery = 0xf; 8020fa2: 4b4d ldr r3, [pc, #308] ; (80210d8 ) 8020fa4: 220f movs r2, #15 8020fa6: 701a strb r2, [r3, #0] gystTimeout = TIMEOUT_GYST_VALUE; 8020fa8: 4b4d ldr r3, [pc, #308] ; (80210e0 ) 8020faa: 2201 movs r2, #1 8020fac: 701a strb r2, [r3, #0] if(gystTimeout) 8020fae: e002 b.n 8020fb6 } } else gystTimeout = TIMEOUT_GYST_VALUE; 8020fb0: 4b4b ldr r3, [pc, #300] ; (80210e0 ) 8020fb2: 2201 movs r2, #1 8020fb4: 701a strb r2, [r3, #0] oldState = 0xf; 8020fb6: 4b49 ldr r3, [pc, #292] ; (80210dc ) 8020fb8: 220f movs r2, #15 8020fba: 701a strb r2, [r3, #0] 8020fbc: e12b b.n 8021216 } else if((Vbat >= 3.65f) && (Vbat < 3.80f)) 8020fbe: 4b44 ldr r3, [pc, #272] ; (80210d0 ) 8020fc0: edd3 7a00 vldr s15, [r3] 8020fc4: ed9f 7a47 vldr s14, [pc, #284] ; 80210e4 8020fc8: eef4 7ac7 vcmpe.f32 s15, s14 8020fcc: eef1 fa10 vmrs APSR_nzcv, fpscr 8020fd0: db2d blt.n 802102e 8020fd2: 4b3f ldr r3, [pc, #252] ; (80210d0 ) 8020fd4: edd3 7a00 vldr s15, [r3] 8020fd8: ed9f 7a3e vldr s14, [pc, #248] ; 80210d4 8020fdc: eef4 7ac7 vcmpe.f32 s15, s14 8020fe0: eef1 fa10 vmrs APSR_nzcv, fpscr 8020fe4: d523 bpl.n 802102e { if((StateBattery != 0x7) && ((oldState == 0x7))) 8020fe6: 4b3c ldr r3, [pc, #240] ; (80210d8 ) 8020fe8: 781b ldrb r3, [r3, #0] 8020fea: b2db uxtb r3, r3 8020fec: 2b07 cmp r3, #7 8020fee: d017 beq.n 8021020 8020ff0: 4b3a ldr r3, [pc, #232] ; (80210dc ) 8020ff2: 781b ldrb r3, [r3, #0] 8020ff4: 2b07 cmp r3, #7 8020ff6: d113 bne.n 8021020 { if(gystTimeout) 8020ff8: 4b39 ldr r3, [pc, #228] ; (80210e0 ) 8020ffa: 781b ldrb r3, [r3, #0] 8020ffc: b2db uxtb r3, r3 8020ffe: 2b00 cmp r3, #0 8021000: d007 beq.n 8021012 gystTimeout--; 8021002: 4b37 ldr r3, [pc, #220] ; (80210e0 ) 8021004: 781b ldrb r3, [r3, #0] 8021006: b2db uxtb r3, r3 8021008: 3b01 subs r3, #1 802100a: b2da uxtb r2, r3 802100c: 4b34 ldr r3, [pc, #208] ; (80210e0 ) 802100e: 701a strb r2, [r3, #0] if(gystTimeout) 8021010: e009 b.n 8021026 else { StateBattery = 0x7; 8021012: 4b31 ldr r3, [pc, #196] ; (80210d8 ) 8021014: 2207 movs r2, #7 8021016: 701a strb r2, [r3, #0] gystTimeout = TIMEOUT_GYST_VALUE; 8021018: 4b31 ldr r3, [pc, #196] ; (80210e0 ) 802101a: 2201 movs r2, #1 802101c: 701a strb r2, [r3, #0] if(gystTimeout) 802101e: e002 b.n 8021026 } } else gystTimeout = TIMEOUT_GYST_VALUE; 8021020: 4b2f ldr r3, [pc, #188] ; (80210e0 ) 8021022: 2201 movs r2, #1 8021024: 701a strb r2, [r3, #0] oldState = 0x7; 8021026: 4b2d ldr r3, [pc, #180] ; (80210dc ) 8021028: 2207 movs r2, #7 802102a: 701a strb r2, [r3, #0] 802102c: e0f3 b.n 8021216 } else if((Vbat >= 3.50f) && (Vbat < 3.65f)) 802102e: 4b28 ldr r3, [pc, #160] ; (80210d0 ) 8021030: edd3 7a00 vldr s15, [r3] 8021034: eeb0 7a0c vmov.f32 s14, #12 ; 0x40600000 3.5 8021038: eef4 7ac7 vcmpe.f32 s15, s14 802103c: eef1 fa10 vmrs APSR_nzcv, fpscr 8021040: db52 blt.n 80210e8 8021042: 4b23 ldr r3, [pc, #140] ; (80210d0 ) 8021044: edd3 7a00 vldr s15, [r3] 8021048: ed9f 7a26 vldr s14, [pc, #152] ; 80210e4 802104c: eef4 7ac7 vcmpe.f32 s15, s14 8021050: eef1 fa10 vmrs APSR_nzcv, fpscr 8021054: d548 bpl.n 80210e8 { if((StateBattery != 0x3) && ((oldState == 0x3))) 8021056: 4b20 ldr r3, [pc, #128] ; (80210d8 ) 8021058: 781b ldrb r3, [r3, #0] 802105a: b2db uxtb r3, r3 802105c: 2b03 cmp r3, #3 802105e: d017 beq.n 8021090 8021060: 4b1e ldr r3, [pc, #120] ; (80210dc ) 8021062: 781b ldrb r3, [r3, #0] 8021064: 2b03 cmp r3, #3 8021066: d113 bne.n 8021090 { if(gystTimeout) 8021068: 4b1d ldr r3, [pc, #116] ; (80210e0 ) 802106a: 781b ldrb r3, [r3, #0] 802106c: b2db uxtb r3, r3 802106e: 2b00 cmp r3, #0 8021070: d007 beq.n 8021082 gystTimeout--; 8021072: 4b1b ldr r3, [pc, #108] ; (80210e0 ) 8021074: 781b ldrb r3, [r3, #0] 8021076: b2db uxtb r3, r3 8021078: 3b01 subs r3, #1 802107a: b2da uxtb r2, r3 802107c: 4b18 ldr r3, [pc, #96] ; (80210e0 ) 802107e: 701a strb r2, [r3, #0] if(gystTimeout) 8021080: e009 b.n 8021096 else { StateBattery = 0x3; 8021082: 4b15 ldr r3, [pc, #84] ; (80210d8 ) 8021084: 2203 movs r2, #3 8021086: 701a strb r2, [r3, #0] gystTimeout = TIMEOUT_GYST_VALUE; 8021088: 4b15 ldr r3, [pc, #84] ; (80210e0 ) 802108a: 2201 movs r2, #1 802108c: 701a strb r2, [r3, #0] if(gystTimeout) 802108e: e002 b.n 8021096 } } else gystTimeout = TIMEOUT_GYST_VALUE; 8021090: 4b13 ldr r3, [pc, #76] ; (80210e0 ) 8021092: 2201 movs r2, #1 8021094: 701a strb r2, [r3, #0] oldState = 0x3; 8021096: 4b11 ldr r3, [pc, #68] ; (80210dc ) 8021098: 2203 movs r2, #3 802109a: 701a strb r2, [r3, #0] 802109c: e0bb b.n 8021216 802109e: bf00 nop 80210a0: 20020d4a .word 0x20020d4a 80210a4: 20021b30 .word 0x20021b30 80210a8: 20020d3c .word 0x20020d3c 80210ac: 20020d40 .word 0x20020d40 80210b0: 200209c8 .word 0x200209c8 80210b4: 3a993e15 .word 0x3a993e15 80210b8: 20020f68 .word 0x20020f68 80210bc: 20020024 .word 0x20020024 80210c0: 20020d4c .word 0x20020d4c 80210c4: 3ba3d70a .word 0x3ba3d70a 80210c8: 42c80000 .word 0x42c80000 80210cc: 3a83126f .word 0x3a83126f 80210d0: 20020000 .word 0x20020000 80210d4: 40733333 .word 0x40733333 80210d8: 20020008 .word 0x20020008 80210dc: 20020028 .word 0x20020028 80210e0: 20020021 .word 0x20020021 80210e4: 4069999a .word 0x4069999a } else if((Vbat >= 3.35f) && (Vbat < 3.50f)) 80210e8: 4bb9 ldr r3, [pc, #740] ; (80213d0 ) 80210ea: edd3 7a00 vldr s15, [r3] 80210ee: ed9f 7ab9 vldr s14, [pc, #740] ; 80213d4 80210f2: eef4 7ac7 vcmpe.f32 s15, s14 80210f6: eef1 fa10 vmrs APSR_nzcv, fpscr 80210fa: db2d blt.n 8021158 80210fc: 4bb4 ldr r3, [pc, #720] ; (80213d0 ) 80210fe: edd3 7a00 vldr s15, [r3] 8021102: eeb0 7a0c vmov.f32 s14, #12 ; 0x40600000 3.5 8021106: eef4 7ac7 vcmpe.f32 s15, s14 802110a: eef1 fa10 vmrs APSR_nzcv, fpscr 802110e: d523 bpl.n 8021158 { if((StateBattery != 0x1) && ((oldState == 0x1))) 8021110: 4bb1 ldr r3, [pc, #708] ; (80213d8 ) 8021112: 781b ldrb r3, [r3, #0] 8021114: b2db uxtb r3, r3 8021116: 2b01 cmp r3, #1 8021118: d017 beq.n 802114a 802111a: 4bb0 ldr r3, [pc, #704] ; (80213dc ) 802111c: 781b ldrb r3, [r3, #0] 802111e: 2b01 cmp r3, #1 8021120: d113 bne.n 802114a { if(gystTimeout) 8021122: 4baf ldr r3, [pc, #700] ; (80213e0 ) 8021124: 781b ldrb r3, [r3, #0] 8021126: b2db uxtb r3, r3 8021128: 2b00 cmp r3, #0 802112a: d007 beq.n 802113c gystTimeout--; 802112c: 4bac ldr r3, [pc, #688] ; (80213e0 ) 802112e: 781b ldrb r3, [r3, #0] 8021130: b2db uxtb r3, r3 8021132: 3b01 subs r3, #1 8021134: b2da uxtb r2, r3 8021136: 4baa ldr r3, [pc, #680] ; (80213e0 ) 8021138: 701a strb r2, [r3, #0] if(gystTimeout) 802113a: e009 b.n 8021150 else { StateBattery = 0x1; 802113c: 4ba6 ldr r3, [pc, #664] ; (80213d8 ) 802113e: 2201 movs r2, #1 8021140: 701a strb r2, [r3, #0] gystTimeout = TIMEOUT_GYST_VALUE; 8021142: 4ba7 ldr r3, [pc, #668] ; (80213e0 ) 8021144: 2201 movs r2, #1 8021146: 701a strb r2, [r3, #0] if(gystTimeout) 8021148: e002 b.n 8021150 } } else gystTimeout = TIMEOUT_GYST_VALUE; 802114a: 4ba5 ldr r3, [pc, #660] ; (80213e0 ) 802114c: 2201 movs r2, #1 802114e: 701a strb r2, [r3, #0] oldState = 0x1; 8021150: 4ba2 ldr r3, [pc, #648] ; (80213dc ) 8021152: 2201 movs r2, #1 8021154: 701a strb r2, [r3, #0] 8021156: e05e b.n 8021216 } else if(Vbat < 3.35f) 8021158: 4b9d ldr r3, [pc, #628] ; (80213d0 ) 802115a: edd3 7a00 vldr s15, [r3] 802115e: ed9f 7a9d vldr s14, [pc, #628] ; 80213d4 8021162: eef4 7ac7 vcmpe.f32 s15, s14 8021166: eef1 fa10 vmrs APSR_nzcv, fpscr 802116a: d554 bpl.n 8021216 { if((StateBattery != 0) && ((oldState == 0))) 802116c: 4b9a ldr r3, [pc, #616] ; (80213d8 ) 802116e: 781b ldrb r3, [r3, #0] 8021170: b2db uxtb r3, r3 8021172: 2b00 cmp r3, #0 8021174: d047 beq.n 8021206 8021176: 4b99 ldr r3, [pc, #612] ; (80213dc ) 8021178: 781b ldrb r3, [r3, #0] 802117a: 2b00 cmp r3, #0 802117c: d143 bne.n 8021206 { if(gystTimeout) 802117e: 4b98 ldr r3, [pc, #608] ; (80213e0 ) 8021180: 781b ldrb r3, [r3, #0] 8021182: b2db uxtb r3, r3 8021184: 2b00 cmp r3, #0 8021186: d007 beq.n 8021198 gystTimeout--; 8021188: 4b95 ldr r3, [pc, #596] ; (80213e0 ) 802118a: 781b ldrb r3, [r3, #0] 802118c: b2db uxtb r3, r3 802118e: 3b01 subs r3, #1 8021190: b2da uxtb r2, r3 8021192: 4b93 ldr r3, [pc, #588] ; (80213e0 ) 8021194: 701a strb r2, [r3, #0] if(gystTimeout) 8021196: e03a b.n 802120e else { StateBattery = 0; 8021198: 4b8f ldr r3, [pc, #572] ; (80213d8 ) 802119a: 2200 movs r2, #0 802119c: 701a strb r2, [r3, #0] gystTimeout = TIMEOUT_GYST_VALUE; 802119e: 4b90 ldr r3, [pc, #576] ; (80213e0 ) 80211a0: 2201 movs r2, #1 80211a2: 701a strb r2, [r3, #0] if(!ChargerIsConnect) 80211a4: 4b8f ldr r3, [pc, #572] ; (80213e4 ) 80211a6: 781b ldrb r3, [r3, #0] 80211a8: b2db uxtb r3, r3 80211aa: f083 0301 eor.w r3, r3, #1 80211ae: b2db uxtb r3, r3 80211b0: 2b00 cmp r3, #0 80211b2: d02c beq.n 802120e { NeedOff = true; 80211b4: 4b8c ldr r3, [pc, #560] ; (80213e8 ) 80211b6: 2201 movs r2, #1 80211b8: 701a strb r2, [r3, #0] menu = LOW_BAT; 80211ba: 4b8c ldr r3, [pc, #560] ; (80213ec ) 80211bc: 2248 movs r2, #72 ; 0x48 80211be: 701a strb r2, [r3, #0] SCB_CleanInvalidateDCache(); 80211c0: f7ff fb9c bl 80208fc Display(); 80211c4: f047 f884 bl 80682d0 HAL_Delay(100); 80211c8: 2064 movs r0, #100 ; 0x64 80211ca: f092 f841 bl 80b3250 SCB_CleanInvalidateDCache(); 80211ce: f7ff fb95 bl 80208fc Display(); 80211d2: f047 f87d bl 80682d0 HAL_Delay(100); 80211d6: 2064 movs r0, #100 ; 0x64 80211d8: f092 f83a bl 80b3250 SCB_CleanInvalidateDCache(); 80211dc: f7ff fb8e bl 80208fc Display(); 80211e0: f047 f876 bl 80682d0 HAL_Delay(100); 80211e4: 2064 movs r0, #100 ; 0x64 80211e6: f092 f833 bl 80b3250 SCB_CleanInvalidateDCache(); 80211ea: f7ff fb87 bl 80208fc Display(); 80211ee: f047 f86f bl 80682d0 HAL_Delay(200); 80211f2: 20c8 movs r0, #200 ; 0xc8 80211f4: f092 f82c bl 80b3250 Display(); 80211f8: f047 f86a bl 80682d0 HAL_Delay(3000); 80211fc: f640 30b8 movw r0, #3000 ; 0xbb8 8021200: f092 f826 bl 80b3250 if(gystTimeout) 8021204: e003 b.n 802120e } } } else gystTimeout = TIMEOUT_GYST_VALUE; 8021206: 4b76 ldr r3, [pc, #472] ; (80213e0 ) 8021208: 2201 movs r2, #1 802120a: 701a strb r2, [r3, #0] 802120c: e000 b.n 8021210 if(gystTimeout) 802120e: bf00 nop oldState = 0; 8021210: 4b72 ldr r3, [pc, #456] ; (80213dc ) 8021212: 2200 movs r2, #0 8021214: 701a strb r2, [r3, #0] } gystVbat = VBAT_GYST_VALUE; 8021216: 4b76 ldr r3, [pc, #472] ; (80213f0 ) 8021218: 220f movs r2, #15 802121a: 701a strb r2, [r3, #0] gystTimeout = TIMEOUT_GYST_VALUE; } } } } 802121c: e219 b.n 8021652 if(adc_cnt >= 4) // 256 times --> 1 sec 802121e: 4b75 ldr r3, [pc, #468] ; (80213f4 ) 8021220: 881b ldrh r3, [r3, #0] 8021222: b29b uxth r3, r3 8021224: 2b03 cmp r3, #3 8021226: f240 8214 bls.w 8021652 f = (float32_t) ADCBat; 802122a: 4b73 ldr r3, [pc, #460] ; (80213f8 ) 802122c: 681b ldr r3, [r3, #0] 802122e: ee07 3a90 vmov s15, r3 8021232: eef8 7a67 vcvt.f32.u32 s15, s15 8021236: edc7 7a03 vstr s15, [r7, #12] f /= (float32_t) adc_cnt; 802123a: 4b6e ldr r3, [pc, #440] ; (80213f4 ) 802123c: 881b ldrh r3, [r3, #0] 802123e: b29b uxth r3, r3 8021240: ee07 3a90 vmov s15, r3 8021244: eeb8 7a67 vcvt.f32.u32 s14, s15 8021248: edd7 6a03 vldr s13, [r7, #12] 802124c: eec6 7a87 vdiv.f32 s15, s13, s14 8021250: edc7 7a03 vstr s15, [r7, #12] ADCBat = (uint32_t) (f + 0.5f); 8021254: edd7 7a03 vldr s15, [r7, #12] 8021258: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 802125c: ee77 7a87 vadd.f32 s15, s15, s14 8021260: eefc 7ae7 vcvt.u32.f32 s15, s15 8021264: ee17 2a90 vmov r2, s15 8021268: 4b63 ldr r3, [pc, #396] ; (80213f8 ) 802126a: 601a str r2, [r3, #0] f = (float32_t) ADCBat; 802126c: 4b62 ldr r3, [pc, #392] ; (80213f8 ) 802126e: 681b ldr r3, [r3, #0] 8021270: ee07 3a90 vmov s15, r3 8021274: eef8 7a67 vcvt.f32.u32 s15, s15 8021278: edc7 7a03 vstr s15, [r7, #12] f *= VBAT_MULT; 802127c: edd7 7a03 vldr s15, [r7, #12] 8021280: ed9f 7a5e vldr s14, [pc, #376] ; 80213fc 8021284: ee67 7a87 vmul.f32 s15, s15, s14 8021288: edc7 7a03 vstr s15, [r7, #12] if(clbr == false) 802128c: 4b5c ldr r3, [pc, #368] ; (8021400 ) 802128e: 781b ldrb r3, [r3, #0] 8021290: b2db uxtb r3, r3 8021292: f083 0301 eor.w r3, r3, #1 8021296: b2db uxtb r3, r3 8021298: 2b00 cmp r3, #0 802129a: d011 beq.n 80212c0 f = f * aa1; 802129c: 4b59 ldr r3, [pc, #356] ; (8021404 ) 802129e: edd3 7a00 vldr s15, [r3] 80212a2: ed97 7a03 vldr s14, [r7, #12] 80212a6: ee67 7a27 vmul.f32 s15, s14, s15 80212aa: edc7 7a03 vstr s15, [r7, #12] f += aa0; 80212ae: 4b56 ldr r3, [pc, #344] ; (8021408 ) 80212b0: edd3 7a00 vldr s15, [r3] 80212b4: ed97 7a03 vldr s14, [r7, #12] 80212b8: ee77 7a27 vadd.f32 s15, s14, s15 80212bc: edc7 7a03 vstr s15, [r7, #12] f += 0.005f; 80212c0: edd7 7a03 vldr s15, [r7, #12] 80212c4: ed9f 7a51 vldr s14, [pc, #324] ; 802140c 80212c8: ee77 7a87 vadd.f32 s15, s15, s14 80212cc: edc7 7a03 vstr s15, [r7, #12] V32 = (int32_t) (f * 100); 80212d0: edd7 7a03 vldr s15, [r7, #12] 80212d4: ed9f 7a4e vldr s14, [pc, #312] ; 8021410 80212d8: ee67 7a87 vmul.f32 s15, s15, s14 80212dc: eefd 7ae7 vcvt.s32.f32 s15, s15 80212e0: ee17 3a90 vmov r3, s15 80212e4: 607b str r3, [r7, #4] f = (float32_t) V32; 80212e6: 687b ldr r3, [r7, #4] 80212e8: ee07 3a90 vmov s15, r3 80212ec: eef8 7ae7 vcvt.f32.s32 s15, s15 80212f0: edc7 7a03 vstr s15, [r7, #12] Vbat = f / 100 + 0.001f; 80212f4: ed97 7a03 vldr s14, [r7, #12] 80212f8: eddf 6a45 vldr s13, [pc, #276] ; 8021410 80212fc: eec7 7a26 vdiv.f32 s15, s14, s13 8021300: ed9f 7a44 vldr s14, [pc, #272] ; 8021414 8021304: ee77 7a87 vadd.f32 s15, s15, s14 8021308: 4b31 ldr r3, [pc, #196] ; (80213d0 ) 802130a: edc3 7a00 vstr s15, [r3] ADCBat = 0; 802130e: 4b3a ldr r3, [pc, #232] ; (80213f8 ) 8021310: 2200 movs r2, #0 8021312: 601a str r2, [r3, #0] adc_cnt = 0; 8021314: 4b37 ldr r3, [pc, #220] ; (80213f4 ) 8021316: 2200 movs r2, #0 8021318: 801a strh r2, [r3, #0] if(ChargerIsConnect) //if charger is connected 802131a: 4b32 ldr r3, [pc, #200] ; (80213e4 ) 802131c: 781b ldrb r3, [r3, #0] 802131e: b2db uxtb r3, r3 8021320: 2b00 cmp r3, #0 8021322: d027 beq.n 8021374 oldVbat = Vbat; 8021324: 4b2a ldr r3, [pc, #168] ; (80213d0 ) 8021326: 681b ldr r3, [r3, #0] 8021328: 4a3b ldr r2, [pc, #236] ; (8021418 ) 802132a: 6013 str r3, [r2, #0] if(HAL_GPIO_ReadPin(BAT_Z_GPIO_Port, BAT_Z_Pin) == GPIO_PIN_SET) // Åñëè çàðÿæåí 802132c: 2110 movs r1, #16 802132e: 483b ldr r0, [pc, #236] ; (802141c ) 8021330: f094 fc26 bl 80b5b80 8021334: 4603 mov r3, r0 8021336: 2b01 cmp r3, #1 8021338: d110 bne.n 802135c if(cntVbat < 10) 802133a: 4b39 ldr r3, [pc, #228] ; (8021420 ) 802133c: 681b ldr r3, [r3, #0] 802133e: 2b09 cmp r3, #9 8021340: d805 bhi.n 802134e cntVbat++; 8021342: 4b37 ldr r3, [pc, #220] ; (8021420 ) 8021344: 681b ldr r3, [r3, #0] 8021346: 3301 adds r3, #1 8021348: 4a35 ldr r2, [pc, #212] ; (8021420 ) 802134a: 6013 str r3, [r2, #0] 802134c: e17e b.n 802164c StateBattery = 0x1f; 802134e: 4b22 ldr r3, [pc, #136] ; (80213d8 ) 8021350: 221f movs r2, #31 8021352: 701a strb r2, [r3, #0] oldState = 0x1f; 8021354: 4b21 ldr r3, [pc, #132] ; (80213dc ) 8021356: 221f movs r2, #31 8021358: 701a strb r2, [r3, #0] 802135a: e177 b.n 802164c cntVbat = 0; 802135c: 4b30 ldr r3, [pc, #192] ; (8021420 ) 802135e: 2200 movs r2, #0 8021360: 601a str r2, [r3, #0] StateBattery = 0xf; 8021362: 4b1d ldr r3, [pc, #116] ; (80213d8 ) 8021364: 220f movs r2, #15 8021366: 701a strb r2, [r3, #0] oldState = StateBattery; 8021368: 4b1b ldr r3, [pc, #108] ; (80213d8 ) 802136a: 781b ldrb r3, [r3, #0] 802136c: b2da uxtb r2, r3 802136e: 4b1b ldr r3, [pc, #108] ; (80213dc ) 8021370: 701a strb r2, [r3, #0] 8021372: e16b b.n 802164c if(Vbat >= 3.80f) 8021374: 4b16 ldr r3, [pc, #88] ; (80213d0 ) 8021376: edd3 7a00 vldr s15, [r3] 802137a: ed9f 7a2a vldr s14, [pc, #168] ; 8021424 802137e: eef4 7ac7 vcmpe.f32 s15, s14 8021382: eef1 fa10 vmrs APSR_nzcv, fpscr 8021386: db4f blt.n 8021428 if((StateBattery != 0xf) && ((oldState == 0xf))) 8021388: 4b13 ldr r3, [pc, #76] ; (80213d8 ) 802138a: 781b ldrb r3, [r3, #0] 802138c: b2db uxtb r3, r3 802138e: 2b0f cmp r3, #15 8021390: d017 beq.n 80213c2 8021392: 4b12 ldr r3, [pc, #72] ; (80213dc ) 8021394: 781b ldrb r3, [r3, #0] 8021396: 2b0f cmp r3, #15 8021398: d113 bne.n 80213c2 if(gystVbat) 802139a: 4b15 ldr r3, [pc, #84] ; (80213f0 ) 802139c: 781b ldrb r3, [r3, #0] 802139e: b2db uxtb r3, r3 80213a0: 2b00 cmp r3, #0 80213a2: d007 beq.n 80213b4 gystVbat--; 80213a4: 4b12 ldr r3, [pc, #72] ; (80213f0 ) 80213a6: 781b ldrb r3, [r3, #0] 80213a8: b2db uxtb r3, r3 80213aa: 3b01 subs r3, #1 80213ac: b2da uxtb r2, r3 80213ae: 4b10 ldr r3, [pc, #64] ; (80213f0 ) 80213b0: 701a strb r2, [r3, #0] if(gystVbat) 80213b2: e009 b.n 80213c8 StateBattery = 0xf; 80213b4: 4b08 ldr r3, [pc, #32] ; (80213d8 ) 80213b6: 220f movs r2, #15 80213b8: 701a strb r2, [r3, #0] gystVbat = VBAT_GYST_VALUE; 80213ba: 4b0d ldr r3, [pc, #52] ; (80213f0 ) 80213bc: 220f movs r2, #15 80213be: 701a strb r2, [r3, #0] if(gystVbat) 80213c0: e002 b.n 80213c8 gystVbat = VBAT_GYST_VALUE; 80213c2: 4b0b ldr r3, [pc, #44] ; (80213f0 ) 80213c4: 220f movs r2, #15 80213c6: 701a strb r2, [r3, #0] oldState = 0xf; 80213c8: 4b04 ldr r3, [pc, #16] ; (80213dc ) 80213ca: 220f movs r2, #15 80213cc: 701a strb r2, [r3, #0] 80213ce: e100 b.n 80215d2 80213d0: 20020000 .word 0x20020000 80213d4: 40566666 .word 0x40566666 80213d8: 20020008 .word 0x20020008 80213dc: 20020028 .word 0x20020028 80213e0: 20020021 .word 0x20020021 80213e4: 20021b22 .word 0x20021b22 80213e8: 20020f75 .word 0x20020f75 80213ec: 20020f78 .word 0x20020f78 80213f0: 20020020 .word 0x20020020 80213f4: 20020d40 .word 0x20020d40 80213f8: 20020d3c .word 0x20020d3c 80213fc: 3a993e15 .word 0x3a993e15 8021400: 20020f68 .word 0x20020f68 8021404: 20020024 .word 0x20020024 8021408: 20020d4c .word 0x20020d4c 802140c: 3ba3d70a .word 0x3ba3d70a 8021410: 42c80000 .word 0x42c80000 8021414: 3a83126f .word 0x3a83126f 8021418: 20020004 .word 0x20020004 802141c: 40020800 .word 0x40020800 8021420: 20020d44 .word 0x20020d44 8021424: 40733333 .word 0x40733333 if((Vbat >= 3.65f) && (Vbat < 3.80f)) 8021428: 4b8c ldr r3, [pc, #560] ; (802165c ) 802142a: edd3 7a00 vldr s15, [r3] 802142e: ed9f 7a8c vldr s14, [pc, #560] ; 8021660 8021432: eef4 7ac7 vcmpe.f32 s15, s14 8021436: eef1 fa10 vmrs APSR_nzcv, fpscr 802143a: db2d blt.n 8021498 802143c: 4b87 ldr r3, [pc, #540] ; (802165c ) 802143e: edd3 7a00 vldr s15, [r3] 8021442: ed9f 7a88 vldr s14, [pc, #544] ; 8021664 8021446: eef4 7ac7 vcmpe.f32 s15, s14 802144a: eef1 fa10 vmrs APSR_nzcv, fpscr 802144e: d523 bpl.n 8021498 if((StateBattery != 0x7) && ((oldState == 0x7))) 8021450: 4b85 ldr r3, [pc, #532] ; (8021668 ) 8021452: 781b ldrb r3, [r3, #0] 8021454: b2db uxtb r3, r3 8021456: 2b07 cmp r3, #7 8021458: d017 beq.n 802148a 802145a: 4b84 ldr r3, [pc, #528] ; (802166c ) 802145c: 781b ldrb r3, [r3, #0] 802145e: 2b07 cmp r3, #7 8021460: d113 bne.n 802148a if(gystVbat) 8021462: 4b83 ldr r3, [pc, #524] ; (8021670 ) 8021464: 781b ldrb r3, [r3, #0] 8021466: b2db uxtb r3, r3 8021468: 2b00 cmp r3, #0 802146a: d007 beq.n 802147c gystVbat--; 802146c: 4b80 ldr r3, [pc, #512] ; (8021670 ) 802146e: 781b ldrb r3, [r3, #0] 8021470: b2db uxtb r3, r3 8021472: 3b01 subs r3, #1 8021474: b2da uxtb r2, r3 8021476: 4b7e ldr r3, [pc, #504] ; (8021670 ) 8021478: 701a strb r2, [r3, #0] if(gystVbat) 802147a: e009 b.n 8021490 StateBattery = 0x7; 802147c: 4b7a ldr r3, [pc, #488] ; (8021668 ) 802147e: 2207 movs r2, #7 8021480: 701a strb r2, [r3, #0] gystVbat = VBAT_GYST_VALUE; 8021482: 4b7b ldr r3, [pc, #492] ; (8021670 ) 8021484: 220f movs r2, #15 8021486: 701a strb r2, [r3, #0] if(gystVbat) 8021488: e002 b.n 8021490 gystVbat = VBAT_GYST_VALUE; 802148a: 4b79 ldr r3, [pc, #484] ; (8021670 ) 802148c: 220f movs r2, #15 802148e: 701a strb r2, [r3, #0] oldState = 0x7; 8021490: 4b76 ldr r3, [pc, #472] ; (802166c ) 8021492: 2207 movs r2, #7 8021494: 701a strb r2, [r3, #0] 8021496: e09c b.n 80215d2 if((Vbat >= 3.5f) && (Vbat < 3.65f)) 8021498: 4b70 ldr r3, [pc, #448] ; (802165c ) 802149a: edd3 7a00 vldr s15, [r3] 802149e: eeb0 7a0c vmov.f32 s14, #12 ; 0x40600000 3.5 80214a2: eef4 7ac7 vcmpe.f32 s15, s14 80214a6: eef1 fa10 vmrs APSR_nzcv, fpscr 80214aa: db2d blt.n 8021508 80214ac: 4b6b ldr r3, [pc, #428] ; (802165c ) 80214ae: edd3 7a00 vldr s15, [r3] 80214b2: ed9f 7a6b vldr s14, [pc, #428] ; 8021660 80214b6: eef4 7ac7 vcmpe.f32 s15, s14 80214ba: eef1 fa10 vmrs APSR_nzcv, fpscr 80214be: d523 bpl.n 8021508 if((StateBattery != 0x3) && ((oldState == 0x3))) 80214c0: 4b69 ldr r3, [pc, #420] ; (8021668 ) 80214c2: 781b ldrb r3, [r3, #0] 80214c4: b2db uxtb r3, r3 80214c6: 2b03 cmp r3, #3 80214c8: d017 beq.n 80214fa 80214ca: 4b68 ldr r3, [pc, #416] ; (802166c ) 80214cc: 781b ldrb r3, [r3, #0] 80214ce: 2b03 cmp r3, #3 80214d0: d113 bne.n 80214fa if(gystVbat) 80214d2: 4b67 ldr r3, [pc, #412] ; (8021670 ) 80214d4: 781b ldrb r3, [r3, #0] 80214d6: b2db uxtb r3, r3 80214d8: 2b00 cmp r3, #0 80214da: d007 beq.n 80214ec gystVbat--; 80214dc: 4b64 ldr r3, [pc, #400] ; (8021670 ) 80214de: 781b ldrb r3, [r3, #0] 80214e0: b2db uxtb r3, r3 80214e2: 3b01 subs r3, #1 80214e4: b2da uxtb r2, r3 80214e6: 4b62 ldr r3, [pc, #392] ; (8021670 ) 80214e8: 701a strb r2, [r3, #0] if(gystVbat) 80214ea: e009 b.n 8021500 StateBattery = 0x3; 80214ec: 4b5e ldr r3, [pc, #376] ; (8021668 ) 80214ee: 2203 movs r2, #3 80214f0: 701a strb r2, [r3, #0] gystVbat = VBAT_GYST_VALUE; 80214f2: 4b5f ldr r3, [pc, #380] ; (8021670 ) 80214f4: 220f movs r2, #15 80214f6: 701a strb r2, [r3, #0] if(gystVbat) 80214f8: e002 b.n 8021500 gystVbat = VBAT_GYST_VALUE; 80214fa: 4b5d ldr r3, [pc, #372] ; (8021670 ) 80214fc: 220f movs r2, #15 80214fe: 701a strb r2, [r3, #0] oldState = 0x3; 8021500: 4b5a ldr r3, [pc, #360] ; (802166c ) 8021502: 2203 movs r2, #3 8021504: 701a strb r2, [r3, #0] 8021506: e064 b.n 80215d2 if((Vbat >= 3.35f) && (Vbat < 3.50f)) 8021508: 4b54 ldr r3, [pc, #336] ; (802165c ) 802150a: edd3 7a00 vldr s15, [r3] 802150e: ed9f 7a59 vldr s14, [pc, #356] ; 8021674 8021512: eef4 7ac7 vcmpe.f32 s15, s14 8021516: eef1 fa10 vmrs APSR_nzcv, fpscr 802151a: db2d blt.n 8021578 802151c: 4b4f ldr r3, [pc, #316] ; (802165c ) 802151e: edd3 7a00 vldr s15, [r3] 8021522: eeb0 7a0c vmov.f32 s14, #12 ; 0x40600000 3.5 8021526: eef4 7ac7 vcmpe.f32 s15, s14 802152a: eef1 fa10 vmrs APSR_nzcv, fpscr 802152e: d523 bpl.n 8021578 if((StateBattery != 0x1) && ((oldState == 0x1))) 8021530: 4b4d ldr r3, [pc, #308] ; (8021668 ) 8021532: 781b ldrb r3, [r3, #0] 8021534: b2db uxtb r3, r3 8021536: 2b01 cmp r3, #1 8021538: d017 beq.n 802156a 802153a: 4b4c ldr r3, [pc, #304] ; (802166c ) 802153c: 781b ldrb r3, [r3, #0] 802153e: 2b01 cmp r3, #1 8021540: d113 bne.n 802156a if(gystVbat) 8021542: 4b4b ldr r3, [pc, #300] ; (8021670 ) 8021544: 781b ldrb r3, [r3, #0] 8021546: b2db uxtb r3, r3 8021548: 2b00 cmp r3, #0 802154a: d007 beq.n 802155c gystVbat--; 802154c: 4b48 ldr r3, [pc, #288] ; (8021670 ) 802154e: 781b ldrb r3, [r3, #0] 8021550: b2db uxtb r3, r3 8021552: 3b01 subs r3, #1 8021554: b2da uxtb r2, r3 8021556: 4b46 ldr r3, [pc, #280] ; (8021670 ) 8021558: 701a strb r2, [r3, #0] if(gystVbat) 802155a: e009 b.n 8021570 StateBattery = 0x1; 802155c: 4b42 ldr r3, [pc, #264] ; (8021668 ) 802155e: 2201 movs r2, #1 8021560: 701a strb r2, [r3, #0] gystVbat = VBAT_GYST_VALUE; 8021562: 4b43 ldr r3, [pc, #268] ; (8021670 ) 8021564: 220f movs r2, #15 8021566: 701a strb r2, [r3, #0] if(gystVbat) 8021568: e002 b.n 8021570 gystVbat = VBAT_GYST_VALUE; 802156a: 4b41 ldr r3, [pc, #260] ; (8021670 ) 802156c: 220f movs r2, #15 802156e: 701a strb r2, [r3, #0] oldState = 0x1; 8021570: 4b3e ldr r3, [pc, #248] ; (802166c ) 8021572: 2201 movs r2, #1 8021574: 701a strb r2, [r3, #0] 8021576: e02c b.n 80215d2 if(Vbat < 3.35f) 8021578: 4b38 ldr r3, [pc, #224] ; (802165c ) 802157a: edd3 7a00 vldr s15, [r3] 802157e: ed9f 7a3d vldr s14, [pc, #244] ; 8021674 8021582: eef4 7ac7 vcmpe.f32 s15, s14 8021586: eef1 fa10 vmrs APSR_nzcv, fpscr 802158a: d522 bpl.n 80215d2 if((StateBattery != 0) && ((oldState == 0))) 802158c: 4b36 ldr r3, [pc, #216] ; (8021668 ) 802158e: 781b ldrb r3, [r3, #0] 8021590: b2db uxtb r3, r3 8021592: 2b00 cmp r3, #0 8021594: d017 beq.n 80215c6 8021596: 4b35 ldr r3, [pc, #212] ; (802166c ) 8021598: 781b ldrb r3, [r3, #0] 802159a: 2b00 cmp r3, #0 802159c: d113 bne.n 80215c6 if(gystVbat) 802159e: 4b34 ldr r3, [pc, #208] ; (8021670 ) 80215a0: 781b ldrb r3, [r3, #0] 80215a2: b2db uxtb r3, r3 80215a4: 2b00 cmp r3, #0 80215a6: d007 beq.n 80215b8 gystVbat--; 80215a8: 4b31 ldr r3, [pc, #196] ; (8021670 ) 80215aa: 781b ldrb r3, [r3, #0] 80215ac: b2db uxtb r3, r3 80215ae: 3b01 subs r3, #1 80215b0: b2da uxtb r2, r3 80215b2: 4b2f ldr r3, [pc, #188] ; (8021670 ) 80215b4: 701a strb r2, [r3, #0] if(gystVbat) 80215b6: e009 b.n 80215cc StateBattery = 0; 80215b8: 4b2b ldr r3, [pc, #172] ; (8021668 ) 80215ba: 2200 movs r2, #0 80215bc: 701a strb r2, [r3, #0] gystVbat = VBAT_GYST_VALUE; 80215be: 4b2c ldr r3, [pc, #176] ; (8021670 ) 80215c0: 220f movs r2, #15 80215c2: 701a strb r2, [r3, #0] if(gystVbat) 80215c4: e002 b.n 80215cc gystVbat = VBAT_GYST_VALUE; 80215c6: 4b2a ldr r3, [pc, #168] ; (8021670 ) 80215c8: 220f movs r2, #15 80215ca: 701a strb r2, [r3, #0] oldState = 0; 80215cc: 4b27 ldr r3, [pc, #156] ; (802166c ) 80215ce: 2200 movs r2, #0 80215d0: 701a strb r2, [r3, #0] if((StateBattery == 0) && (clbr == false) && (!ChargerIsConnect)) 80215d2: 4b25 ldr r3, [pc, #148] ; (8021668 ) 80215d4: 781b ldrb r3, [r3, #0] 80215d6: b2db uxtb r3, r3 80215d8: 2b00 cmp r3, #0 80215da: d137 bne.n 802164c 80215dc: 4b26 ldr r3, [pc, #152] ; (8021678 ) 80215de: 781b ldrb r3, [r3, #0] 80215e0: b2db uxtb r3, r3 80215e2: f083 0301 eor.w r3, r3, #1 80215e6: b2db uxtb r3, r3 80215e8: 2b00 cmp r3, #0 80215ea: d02f beq.n 802164c 80215ec: 4b23 ldr r3, [pc, #140] ; (802167c ) 80215ee: 781b ldrb r3, [r3, #0] 80215f0: b2db uxtb r3, r3 80215f2: f083 0301 eor.w r3, r3, #1 80215f6: b2db uxtb r3, r3 80215f8: 2b00 cmp r3, #0 80215fa: d027 beq.n 802164c NeedOff = true; 80215fc: 4b20 ldr r3, [pc, #128] ; (8021680 ) 80215fe: 2201 movs r2, #1 8021600: 701a strb r2, [r3, #0] menu = LOW_BAT; 8021602: 4b20 ldr r3, [pc, #128] ; (8021684 ) 8021604: 2248 movs r2, #72 ; 0x48 8021606: 701a strb r2, [r3, #0] SCB_CleanInvalidateDCache(); 8021608: f7ff f978 bl 80208fc Display(); 802160c: f046 fe60 bl 80682d0 HAL_Delay(100); 8021610: 2064 movs r0, #100 ; 0x64 8021612: f091 fe1d bl 80b3250 SCB_CleanInvalidateDCache(); 8021616: f7ff f971 bl 80208fc Display(); 802161a: f046 fe59 bl 80682d0 HAL_Delay(100); 802161e: 2064 movs r0, #100 ; 0x64 8021620: f091 fe16 bl 80b3250 SCB_CleanInvalidateDCache(); 8021624: f7ff f96a bl 80208fc Display(); 8021628: f046 fe52 bl 80682d0 HAL_Delay(100); 802162c: 2064 movs r0, #100 ; 0x64 802162e: f091 fe0f bl 80b3250 SCB_CleanInvalidateDCache(); 8021632: f7ff f963 bl 80208fc Display(); 8021636: f046 fe4b bl 80682d0 HAL_Delay(200); 802163a: 20c8 movs r0, #200 ; 0xc8 802163c: f091 fe08 bl 80b3250 Display(); 8021640: f046 fe46 bl 80682d0 HAL_Delay(3000); 8021644: f640 30b8 movw r0, #3000 ; 0xbb8 8021648: f091 fe02 bl 80b3250 gystTimeout = TIMEOUT_GYST_VALUE; 802164c: 4b0e ldr r3, [pc, #56] ; (8021688 ) 802164e: 2201 movs r2, #1 8021650: 701a strb r2, [r3, #0] } 8021652: bf00 nop 8021654: 3710 adds r7, #16 8021656: 46bd mov sp, r7 8021658: bd80 pop {r7, pc} 802165a: bf00 nop 802165c: 20020000 .word 0x20020000 8021660: 4069999a .word 0x4069999a 8021664: 40733333 .word 0x40733333 8021668: 20020008 .word 0x20020008 802166c: 20020028 .word 0x20020028 8021670: 20020020 .word 0x20020020 8021674: 40566666 .word 0x40566666 8021678: 20020f68 .word 0x20020f68 802167c: 20021b22 .word 0x20021b22 8021680: 20020f75 .word 0x20020f75 8021684: 20020f78 .word 0x20020f78 8021688: 20020021 .word 0x20020021 0802168c : uint32_t MedVbat(uint32_t val) { 802168c: b480 push {r7} 802168e: b08d sub sp, #52 ; 0x34 8021690: af00 add r7, sp, #0 8021692: 6078 str r0, [r7, #4] uint32_t i = 0; 8021694: 2300 movs r3, #0 8021696: 62fb str r3, [r7, #44] ; 0x2c uint32_t j = 0; 8021698: 2300 movs r3, #0 802169a: 62bb str r3, [r7, #40] ; 0x28 uint32_t k = 0; 802169c: 2300 movs r3, #0 802169e: 623b str r3, [r7, #32] uint32_t m; uint32_t temp[N_MED_ADC]; for(i = N_MED_ADC - 1; i > 0; i--) 80216a0: 2304 movs r3, #4 80216a2: 62fb str r3, [r7, #44] ; 0x2c 80216a4: e00b b.n 80216be med[i] = med[i - 1]; 80216a6: 6afb ldr r3, [r7, #44] ; 0x2c 80216a8: 3b01 subs r3, #1 80216aa: 4a54 ldr r2, [pc, #336] ; (80217fc ) 80216ac: f852 2023 ldr.w r2, [r2, r3, lsl #2] 80216b0: 4952 ldr r1, [pc, #328] ; (80217fc ) 80216b2: 6afb ldr r3, [r7, #44] ; 0x2c 80216b4: f841 2023 str.w r2, [r1, r3, lsl #2] for(i = N_MED_ADC - 1; i > 0; i--) 80216b8: 6afb ldr r3, [r7, #44] ; 0x2c 80216ba: 3b01 subs r3, #1 80216bc: 62fb str r3, [r7, #44] ; 0x2c 80216be: 6afb ldr r3, [r7, #44] ; 0x2c 80216c0: 2b00 cmp r3, #0 80216c2: d1f0 bne.n 80216a6 med[0] = val; 80216c4: 4a4d ldr r2, [pc, #308] ; (80217fc ) 80216c6: 687b ldr r3, [r7, #4] 80216c8: 6013 str r3, [r2, #0] for(i = 0; i < N_MED_ADC; i++) 80216ca: 2300 movs r3, #0 80216cc: 62fb str r3, [r7, #44] ; 0x2c 80216ce: e00d b.n 80216ec temp[i] = med[i]; 80216d0: 4a4a ldr r2, [pc, #296] ; (80217fc ) 80216d2: 6afb ldr r3, [r7, #44] ; 0x2c 80216d4: f852 2023 ldr.w r2, [r2, r3, lsl #2] 80216d8: 6afb ldr r3, [r7, #44] ; 0x2c 80216da: 009b lsls r3, r3, #2 80216dc: f107 0130 add.w r1, r7, #48 ; 0x30 80216e0: 440b add r3, r1 80216e2: f843 2c24 str.w r2, [r3, #-36] for(i = 0; i < N_MED_ADC; i++) 80216e6: 6afb ldr r3, [r7, #44] ; 0x2c 80216e8: 3301 adds r3, #1 80216ea: 62fb str r3, [r7, #44] ; 0x2c 80216ec: 6afb ldr r3, [r7, #44] ; 0x2c 80216ee: 2b04 cmp r3, #4 80216f0: d9ee bls.n 80216d0 if(CounterU < N_MED_ADC) 80216f2: 4b43 ldr r3, [pc, #268] ; (8021800 ) 80216f4: 881b ldrh r3, [r3, #0] 80216f6: b29b uxth r3, r3 80216f8: 2b04 cmp r3, #4 80216fa: d806 bhi.n 802170a CounterU++; 80216fc: 4b40 ldr r3, [pc, #256] ; (8021800 ) 80216fe: 881b ldrh r3, [r3, #0] 8021700: b29b uxth r3, r3 8021702: 3301 adds r3, #1 8021704: b29a uxth r2, r3 8021706: 4b3e ldr r3, [pc, #248] ; (8021800 ) 8021708: 801a strh r2, [r3, #0] for(j = 0; j < CounterU; j++) 802170a: 2300 movs r3, #0 802170c: 62bb str r3, [r7, #40] ; 0x28 802170e: e03d b.n 802178c { for(i = j; i < CounterU; i++) 8021710: 6abb ldr r3, [r7, #40] ; 0x28 8021712: 62fb str r3, [r7, #44] ; 0x2c 8021714: e030 b.n 8021778 { if(temp[i] < temp[j]) 8021716: 6afb ldr r3, [r7, #44] ; 0x2c 8021718: 009b lsls r3, r3, #2 802171a: f107 0230 add.w r2, r7, #48 ; 0x30 802171e: 4413 add r3, r2 8021720: f853 2c24 ldr.w r2, [r3, #-36] 8021724: 6abb ldr r3, [r7, #40] ; 0x28 8021726: 009b lsls r3, r3, #2 8021728: f107 0130 add.w r1, r7, #48 ; 0x30 802172c: 440b add r3, r1 802172e: f853 3c24 ldr.w r3, [r3, #-36] 8021732: 429a cmp r2, r3 8021734: d21d bcs.n 8021772 { m = temp[j]; 8021736: 6abb ldr r3, [r7, #40] ; 0x28 8021738: 009b lsls r3, r3, #2 802173a: f107 0230 add.w r2, r7, #48 ; 0x30 802173e: 4413 add r3, r2 8021740: f853 3c24 ldr.w r3, [r3, #-36] 8021744: 627b str r3, [r7, #36] ; 0x24 temp[j] = temp[i]; 8021746: 6afb ldr r3, [r7, #44] ; 0x2c 8021748: 009b lsls r3, r3, #2 802174a: f107 0230 add.w r2, r7, #48 ; 0x30 802174e: 4413 add r3, r2 8021750: f853 2c24 ldr.w r2, [r3, #-36] 8021754: 6abb ldr r3, [r7, #40] ; 0x28 8021756: 009b lsls r3, r3, #2 8021758: f107 0130 add.w r1, r7, #48 ; 0x30 802175c: 440b add r3, r1 802175e: f843 2c24 str.w r2, [r3, #-36] temp[i] = m; 8021762: 6afb ldr r3, [r7, #44] ; 0x2c 8021764: 009b lsls r3, r3, #2 8021766: f107 0230 add.w r2, r7, #48 ; 0x30 802176a: 4413 add r3, r2 802176c: 6a7a ldr r2, [r7, #36] ; 0x24 802176e: f843 2c24 str.w r2, [r3, #-36] for(i = j; i < CounterU; i++) 8021772: 6afb ldr r3, [r7, #44] ; 0x2c 8021774: 3301 adds r3, #1 8021776: 62fb str r3, [r7, #44] ; 0x2c 8021778: 4b21 ldr r3, [pc, #132] ; (8021800 ) 802177a: 881b ldrh r3, [r3, #0] 802177c: b29b uxth r3, r3 802177e: 461a mov r2, r3 8021780: 6afb ldr r3, [r7, #44] ; 0x2c 8021782: 429a cmp r2, r3 8021784: d8c7 bhi.n 8021716 for(j = 0; j < CounterU; j++) 8021786: 6abb ldr r3, [r7, #40] ; 0x28 8021788: 3301 adds r3, #1 802178a: 62bb str r3, [r7, #40] ; 0x28 802178c: 4b1c ldr r3, [pc, #112] ; (8021800 ) 802178e: 881b ldrh r3, [r3, #0] 8021790: b29b uxth r3, r3 8021792: 461a mov r2, r3 8021794: 6abb ldr r3, [r7, #40] ; 0x28 8021796: 429a cmp r2, r3 8021798: d8ba bhi.n 8021710 } } } i = CounterU >> 1; 802179a: 4b19 ldr r3, [pc, #100] ; (8021800 ) 802179c: 881b ldrh r3, [r3, #0] 802179e: b29b uxth r3, r3 80217a0: 085b lsrs r3, r3, #1 80217a2: b29b uxth r3, r3 80217a4: 62fb str r3, [r7, #44] ; 0x2c if((k & 0x1) || (i == 0)) 80217a6: 6a3b ldr r3, [r7, #32] 80217a8: f003 0301 and.w r3, r3, #1 80217ac: 2b00 cmp r3, #0 80217ae: d102 bne.n 80217b6 80217b0: 6afb ldr r3, [r7, #44] ; 0x2c 80217b2: 2b00 cmp r3, #0 80217b4: d108 bne.n 80217c8 m = temp[i]; 80217b6: 6afb ldr r3, [r7, #44] ; 0x2c 80217b8: 009b lsls r3, r3, #2 80217ba: f107 0230 add.w r2, r7, #48 ; 0x30 80217be: 4413 add r3, r2 80217c0: f853 3c24 ldr.w r3, [r3, #-36] 80217c4: 627b str r3, [r7, #36] ; 0x24 80217c6: e011 b.n 80217ec else m = (temp[i] + temp[i - 1]) / 2; 80217c8: 6afb ldr r3, [r7, #44] ; 0x2c 80217ca: 009b lsls r3, r3, #2 80217cc: f107 0230 add.w r2, r7, #48 ; 0x30 80217d0: 4413 add r3, r2 80217d2: f853 2c24 ldr.w r2, [r3, #-36] 80217d6: 6afb ldr r3, [r7, #44] ; 0x2c 80217d8: 3b01 subs r3, #1 80217da: 009b lsls r3, r3, #2 80217dc: f107 0130 add.w r1, r7, #48 ; 0x30 80217e0: 440b add r3, r1 80217e2: f853 3c24 ldr.w r3, [r3, #-36] 80217e6: 4413 add r3, r2 80217e8: 085b lsrs r3, r3, #1 80217ea: 627b str r3, [r7, #36] ; 0x24 return m; 80217ec: 6a7b ldr r3, [r7, #36] ; 0x24 } 80217ee: 4618 mov r0, r3 80217f0: 3734 adds r7, #52 ; 0x34 80217f2: 46bd mov sp, r7 80217f4: f85d 7b04 ldr.w r7, [sp], #4 80217f8: 4770 bx lr 80217fa: bf00 nop 80217fc: 2002000c .word 0x2002000c 8021800: 20020d48 .word 0x20020d48 08021804 : { 8021804: b480 push {r7} 8021806: b085 sub sp, #20 8021808: af00 add r7, sp, #0 SCB->CSSELR = 0U; /*(0U << 1U) | 0U;*/ /* Level 1 data cache */ 802180a: 4b19 ldr r3, [pc, #100] ; (8021870 ) 802180c: 2200 movs r2, #0 802180e: f8c3 2084 str.w r2, [r3, #132] ; 0x84 __ASM volatile ("dsb 0xF":::"memory"); 8021812: f3bf 8f4f dsb sy ccsidr = SCB->CCSIDR; 8021816: 4b16 ldr r3, [pc, #88] ; (8021870 ) 8021818: f8d3 3080 ldr.w r3, [r3, #128] ; 0x80 802181c: 607b str r3, [r7, #4] sets = (uint32_t)(CCSIDR_SETS(ccsidr)); 802181e: 687b ldr r3, [r7, #4] 8021820: 0b5b lsrs r3, r3, #13 8021822: f3c3 030e ubfx r3, r3, #0, #15 8021826: 60fb str r3, [r7, #12] ways = (uint32_t)(CCSIDR_WAYS(ccsidr)); 8021828: 687b ldr r3, [r7, #4] 802182a: 08db lsrs r3, r3, #3 802182c: f3c3 0309 ubfx r3, r3, #0, #10 8021830: 60bb str r3, [r7, #8] SCB->DCCISW = (((sets << SCB_DCCISW_SET_Pos) & SCB_DCCISW_SET_Msk) | 8021832: 490f ldr r1, [pc, #60] ; (8021870 ) 8021834: 68fb ldr r3, [r7, #12] 8021836: 015a lsls r2, r3, #5 8021838: f643 73e0 movw r3, #16352 ; 0x3fe0 802183c: 4013 ands r3, r2 ((ways << SCB_DCCISW_WAY_Pos) & SCB_DCCISW_WAY_Msk) ); 802183e: 68ba ldr r2, [r7, #8] 8021840: 0792 lsls r2, r2, #30 SCB->DCCISW = (((sets << SCB_DCCISW_SET_Pos) & SCB_DCCISW_SET_Msk) | 8021842: 4313 orrs r3, r2 8021844: f8c1 3274 str.w r3, [r1, #628] ; 0x274 } while (ways-- != 0U); 8021848: 68bb ldr r3, [r7, #8] 802184a: 1e5a subs r2, r3, #1 802184c: 60ba str r2, [r7, #8] 802184e: 2b00 cmp r3, #0 8021850: d1ef bne.n 8021832 } while(sets-- != 0U); 8021852: 68fb ldr r3, [r7, #12] 8021854: 1e5a subs r2, r3, #1 8021856: 60fa str r2, [r7, #12] 8021858: 2b00 cmp r3, #0 802185a: d1e5 bne.n 8021828 802185c: f3bf 8f4f dsb sy __ASM volatile ("isb 0xF":::"memory"); 8021860: f3bf 8f6f isb sy } 8021864: bf00 nop 8021866: 3714 adds r7, #20 8021868: 46bd mov sp, r7 802186a: f85d 7b04 ldr.w r7, [sp], #4 802186e: 4770 bx lr 8021870: e000ed00 .word 0xe000ed00 08021874 : void SetKU(void) { 8021874: b580 push {r7, lr} 8021876: b082 sub sp, #8 8021878: af00 add r7, sp, #0 __IO uint32_t timeout; __IO uint8_t ku = 0; 802187a: 2300 movs r3, #0 802187c: 70fb strb r3, [r7, #3] if(pardata.SYG == UDAR) 802187e: 4b7b ldr r3, [pc, #492] ; (8021a6c ) 8021880: 781b ldrb r3, [r3, #0] 8021882: b2db uxtb r3, r3 8021884: 2b09 cmp r3, #9 8021886: d167 bne.n 8021958 { if(pardata.IKU > Ku8) 8021888: 4b78 ldr r3, [pc, #480] ; (8021a6c ) 802188a: 7a1b ldrb r3, [r3, #8] 802188c: b2db uxtb r3, r3 802188e: 2b03 cmp r3, #3 8021890: d902 bls.n 8021898 pardata.IKU = Ku8; //x1000 8021892: 4b76 ldr r3, [pc, #472] ; (8021a6c ) 8021894: 2203 movs r2, #3 8021896: 721a strb r2, [r3, #8] switch(pardata.IKU) 8021898: 4b74 ldr r3, [pc, #464] ; (8021a6c ) 802189a: 7a1b ldrb r3, [r3, #8] 802189c: b2db uxtb r3, r3 802189e: 2b03 cmp r3, #3 80218a0: d852 bhi.n 8021948 80218a2: a201 add r2, pc, #4 ; (adr r2, 80218a8 ) 80218a4: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80218a8: 080218b9 .word 0x080218b9 80218ac: 080218dd .word 0x080218dd 80218b0: 08021901 .word 0x08021901 80218b4: 08021925 .word 0x08021925 { case Ku1: #ifdef USE_ADG5401 HAL_GPIO_WritePin(KU_GPIO_Port, KU_Pin, GPIO_PIN_SET); #else HAL_GPIO_WritePin(KU_GPIO_Port, KU_Pin, GPIO_PIN_RESET); 80218b8: 2200 movs r2, #0 80218ba: f44f 4180 mov.w r1, #16384 ; 0x4000 80218be: 486c ldr r0, [pc, #432] ; (8021a70 ) 80218c0: f094 f976 bl 80b5bb0 #endif HAL_GPIO_WritePin(A0_GPIO_Port, A0_Pin, GPIO_PIN_RESET); 80218c4: 2200 movs r2, #0 80218c6: 2120 movs r1, #32 80218c8: 486a ldr r0, [pc, #424] ; (8021a74 ) 80218ca: f094 f971 bl 80b5bb0 HAL_GPIO_WritePin(A1_GPIO_Port, A1_Pin, GPIO_PIN_RESET); 80218ce: 2200 movs r2, #0 80218d0: f44f 7100 mov.w r1, #512 ; 0x200 80218d4: 4868 ldr r0, [pc, #416] ; (8021a78 ) 80218d6: f094 f96b bl 80b5bb0 break; 80218da: e035 b.n 8021948 case Ku2: //x10 #ifdef USE_ADG5401 HAL_GPIO_WritePin(KU_GPIO_Port, KU_Pin, GPIO_PIN_RESET); #else HAL_GPIO_WritePin(KU_GPIO_Port, KU_Pin, GPIO_PIN_SET); 80218dc: 2201 movs r2, #1 80218de: f44f 4180 mov.w r1, #16384 ; 0x4000 80218e2: 4863 ldr r0, [pc, #396] ; (8021a70 ) 80218e4: f094 f964 bl 80b5bb0 #endif HAL_GPIO_WritePin(A0_GPIO_Port, A0_Pin, GPIO_PIN_RESET); 80218e8: 2200 movs r2, #0 80218ea: 2120 movs r1, #32 80218ec: 4861 ldr r0, [pc, #388] ; (8021a74 ) 80218ee: f094 f95f bl 80b5bb0 HAL_GPIO_WritePin(A1_GPIO_Port, A1_Pin, GPIO_PIN_RESET); 80218f2: 2200 movs r2, #0 80218f4: f44f 7100 mov.w r1, #512 ; 0x200 80218f8: 485f ldr r0, [pc, #380] ; (8021a78 ) 80218fa: f094 f959 bl 80b5bb0 break; 80218fe: e023 b.n 8021948 case Ku4: //x100 #ifdef USE_ADG5401 HAL_GPIO_WritePin(KU_GPIO_Port, KU_Pin, GPIO_PIN_RESET); #else HAL_GPIO_WritePin(KU_GPIO_Port, KU_Pin, GPIO_PIN_SET); 8021900: 2201 movs r2, #1 8021902: f44f 4180 mov.w r1, #16384 ; 0x4000 8021906: 485a ldr r0, [pc, #360] ; (8021a70 ) 8021908: f094 f952 bl 80b5bb0 #endif HAL_GPIO_WritePin(A0_GPIO_Port, A0_Pin, GPIO_PIN_SET); 802190c: 2201 movs r2, #1 802190e: 2120 movs r1, #32 8021910: 4858 ldr r0, [pc, #352] ; (8021a74 ) 8021912: f094 f94d bl 80b5bb0 HAL_GPIO_WritePin(A1_GPIO_Port, A1_Pin, GPIO_PIN_RESET); 8021916: 2200 movs r2, #0 8021918: f44f 7100 mov.w r1, #512 ; 0x200 802191c: 4856 ldr r0, [pc, #344] ; (8021a78 ) 802191e: f094 f947 bl 80b5bb0 break; 8021922: e011 b.n 8021948 case Ku8: //x1000 #ifdef USE_ADG5401 HAL_GPIO_WritePin(KU_GPIO_Port, KU_Pin, GPIO_PIN_RESET); #else HAL_GPIO_WritePin(KU_GPIO_Port, KU_Pin, GPIO_PIN_SET); 8021924: 2201 movs r2, #1 8021926: f44f 4180 mov.w r1, #16384 ; 0x4000 802192a: 4851 ldr r0, [pc, #324] ; (8021a70 ) 802192c: f094 f940 bl 80b5bb0 #endif HAL_GPIO_WritePin(A0_GPIO_Port, A0_Pin, GPIO_PIN_RESET); 8021930: 2200 movs r2, #0 8021932: 2120 movs r1, #32 8021934: 484f ldr r0, [pc, #316] ; (8021a74 ) 8021936: f094 f93b bl 80b5bb0 HAL_GPIO_WritePin(A1_GPIO_Port, A1_Pin, GPIO_PIN_SET); 802193a: 2201 movs r2, #1 802193c: f44f 7100 mov.w r1, #512 ; 0x200 8021940: 484d ldr r0, [pc, #308] ; (8021a78 ) 8021942: f094 f935 bl 80b5bb0 break; 8021946: bf00 nop } calcK(); 8021948: f001 fb58 bl 8022ffc LAST_KU = pardata.IKU; 802194c: 4b47 ldr r3, [pc, #284] ; (8021a6c ) 802194e: 7a1b ldrb r3, [r3, #8] 8021950: b2da uxtb r2, r3 8021952: 4b4a ldr r3, [pc, #296] ; (8021a7c ) 8021954: 701a strb r2, [r3, #0] MAX11270_SetGain(ku); calcK(); LAST_KU = pardata.IKU; } } } 8021956: e085 b.n 8021a64 if(pardata.IKU < Ku80) 8021958: 4b44 ldr r3, [pc, #272] ; (8021a6c ) 802195a: 7a1b ldrb r3, [r3, #8] 802195c: b2db uxtb r3, r3 802195e: 2b06 cmp r3, #6 8021960: d80a bhi.n 8021978 HAL_GPIO_WritePin(KU_GPIO_Port, KU_Pin, GPIO_PIN_RESET); 8021962: 2200 movs r2, #0 8021964: f44f 4180 mov.w r1, #16384 ; 0x4000 8021968: 4841 ldr r0, [pc, #260] ; (8021a70 ) 802196a: f094 f921 bl 80b5bb0 ku = pardata.IKU; 802196e: 4b3f ldr r3, [pc, #252] ; (8021a6c ) 8021970: 7a1b ldrb r3, [r3, #8] 8021972: b2db uxtb r3, r3 8021974: 70fb strb r3, [r7, #3] 8021976: e023 b.n 80219c0 HAL_GPIO_WritePin(KU_GPIO_Port, KU_Pin, GPIO_PIN_SET); 8021978: 2201 movs r2, #1 802197a: f44f 4180 mov.w r1, #16384 ; 0x4000 802197e: 483c ldr r0, [pc, #240] ; (8021a70 ) 8021980: f094 f916 bl 80b5bb0 switch(pardata.IKU) 8021984: 4b39 ldr r3, [pc, #228] ; (8021a6c ) 8021986: 7a1b ldrb r3, [r3, #8] 8021988: b2db uxtb r3, r3 802198a: 3b07 subs r3, #7 802198c: 2b03 cmp r3, #3 802198e: d817 bhi.n 80219c0 8021990: a201 add r2, pc, #4 ; (adr r2, 8021998 ) 8021992: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8021996: bf00 nop 8021998: 080219a9 .word 0x080219a9 802199c: 080219af .word 0x080219af 80219a0: 080219b5 .word 0x080219b5 80219a4: 080219bb .word 0x080219bb case Ku80: ku = Ku8; break; 80219a8: 2303 movs r3, #3 80219aa: 70fb strb r3, [r7, #3] 80219ac: e008 b.n 80219c0 case Ku160: ku = Ku16; break; 80219ae: 2304 movs r3, #4 80219b0: 70fb strb r3, [r7, #3] 80219b2: e005 b.n 80219c0 case Ku320: ku = Ku32; break; 80219b4: 2305 movs r3, #5 80219b6: 70fb strb r3, [r7, #3] 80219b8: e002 b.n 80219c0 case Ku640: ku = Ku64; break; 80219ba: 2306 movs r3, #6 80219bc: 70fb strb r3, [r7, #3] 80219be: bf00 nop if(measuring) 80219c0: 4b2f ldr r3, [pc, #188] ; (8021a80 ) 80219c2: 781b ldrb r3, [r3, #0] 80219c4: b2db uxtb r3, r3 80219c6: 2b00 cmp r3, #0 80219c8: d03e beq.n 8021a48 timeout = HAL_GetTick(); 80219ca: f091 fc35 bl 80b3238 80219ce: 4603 mov r3, r0 80219d0: 607b str r3, [r7, #4] ADC_Started = false; 80219d2: 4b2c ldr r3, [pc, #176] ; (8021a84 ) 80219d4: 2200 movs r2, #0 80219d6: 701a strb r2, [r3, #0] while((!ADC_Started) && ((HAL_GetTick() - timeout) < 3000)) 80219d8: e008 b.n 80219ec MAX11270_StopMeas(); 80219da: f033 fb13 bl 8055004 MAX11270_SetGain(ku); 80219de: 78fb ldrb r3, [r7, #3] 80219e0: b2db uxtb r3, r3 80219e2: 4618 mov r0, r3 80219e4: f033 fb28 bl 8055038 MAX11270_StartMeas(); 80219e8: f033 faa2 bl 8054f30 while((!ADC_Started) && ((HAL_GetTick() - timeout) < 3000)) 80219ec: 4b25 ldr r3, [pc, #148] ; (8021a84 ) 80219ee: 781b ldrb r3, [r3, #0] 80219f0: b2db uxtb r3, r3 80219f2: f083 0301 eor.w r3, r3, #1 80219f6: b2db uxtb r3, r3 80219f8: 2b00 cmp r3, #0 80219fa: d008 beq.n 8021a0e 80219fc: f091 fc1c bl 80b3238 8021a00: 4602 mov r2, r0 8021a02: 687b ldr r3, [r7, #4] 8021a04: 1ad3 subs r3, r2, r3 8021a06: f640 32b7 movw r2, #2999 ; 0xbb7 8021a0a: 4293 cmp r3, r2 8021a0c: d9e5 bls.n 80219da if(!ADC_Started) 8021a0e: 4b1d ldr r3, [pc, #116] ; (8021a84 ) 8021a10: 781b ldrb r3, [r3, #0] 8021a12: b2db uxtb r3, r3 8021a14: f083 0301 eor.w r3, r3, #1 8021a18: b2db uxtb r3, r3 8021a1a: 2b00 cmp r3, #0 8021a1c: d00c beq.n 8021a38 StopMeas(); 8021a1e: f001 febd bl 802379c STATUS = AP_ADC_FAIL; 8021a22: 4b19 ldr r3, [pc, #100] ; (8021a88 ) 8021a24: 2212 movs r2, #18 8021a26: 601a str r2, [r3, #0] timerStatus = sec2; 8021a28: 4b18 ldr r3, [pc, #96] ; (8021a8c ) 8021a2a: f44f 5280 mov.w r2, #4096 ; 0x1000 8021a2e: 801a strh r2, [r3, #0] DrawStatus = true; 8021a30: 4b17 ldr r3, [pc, #92] ; (8021a90 ) 8021a32: 2201 movs r2, #1 8021a34: 701a strb r2, [r3, #0] } 8021a36: e015 b.n 8021a64 calcK(); 8021a38: f001 fae0 bl 8022ffc LAST_KU = pardata.IKU; 8021a3c: 4b0b ldr r3, [pc, #44] ; (8021a6c ) 8021a3e: 7a1b ldrb r3, [r3, #8] 8021a40: b2da uxtb r2, r3 8021a42: 4b0e ldr r3, [pc, #56] ; (8021a7c ) 8021a44: 701a strb r2, [r3, #0] } 8021a46: e00d b.n 8021a64 MAX11270_StopMeas(); 8021a48: f033 fadc bl 8055004 MAX11270_SetGain(ku); 8021a4c: 78fb ldrb r3, [r7, #3] 8021a4e: b2db uxtb r3, r3 8021a50: 4618 mov r0, r3 8021a52: f033 faf1 bl 8055038 calcK(); 8021a56: f001 fad1 bl 8022ffc LAST_KU = pardata.IKU; 8021a5a: 4b04 ldr r3, [pc, #16] ; (8021a6c ) 8021a5c: 7a1b ldrb r3, [r3, #8] 8021a5e: b2da uxtb r2, r3 8021a60: 4b06 ldr r3, [pc, #24] ; (8021a7c ) 8021a62: 701a strb r2, [r3, #0] } 8021a64: bf00 nop 8021a66: 3708 adds r7, #8 8021a68: 46bd mov sp, r7 8021a6a: bd80 pop {r7, pc} 8021a6c: 20023e60 .word 0x20023e60 8021a70: 40021800 .word 0x40021800 8021a74: 40020400 .word 0x40020400 8021a78: 40021400 .word 0x40021400 8021a7c: 20021530 .word 0x20021530 8021a80: 20020daf .word 0x20020daf 8021a84: 20020d74 .word 0x20020d74 8021a88: 20020dcc .word 0x20020dcc 8021a8c: 2002168c .word 0x2002168c 8021a90: 20020dd2 .word 0x20020dd2 08021a94 : void initAmplif(void) { 8021a94: b580 push {r7, lr} 8021a96: ed2d 8b02 vpush {d8} 8021a9a: b084 sub sp, #16 8021a9c: af00 add r7, sp, #0 uint8_t k, m, ku; __IO float32_t f, f1, fm; if(clbr) 8021a9e: 4ba5 ldr r3, [pc, #660] ; (8021d34 ) 8021aa0: 781b ldrb r3, [r3, #0] 8021aa2: b2db uxtb r3, r3 8021aa4: 2b00 cmp r3, #0 8021aa6: f000 80a3 beq.w 8021bf0 { #ifdef USE_ADG5401 HAL_GPIO_WritePin(KU_GPIO_Port, KU_Pin, GPIO_PIN_SET); #else HAL_GPIO_WritePin(KU_GPIO_Port, KU_Pin, GPIO_PIN_RESET); 8021aaa: 2200 movs r2, #0 8021aac: f44f 4180 mov.w r1, #16384 ; 0x4000 8021ab0: 48a1 ldr r0, [pc, #644] ; (8021d38 ) 8021ab2: f094 f87d bl 80b5bb0 #endif pardata.HP = 10.0f; 8021ab6: 4ba1 ldr r3, [pc, #644] ; (8021d3c ) 8021ab8: 4aa1 ldr r2, [pc, #644] ; (8021d40 ) 8021aba: f8c3 20d4 str.w r2, [r3, #212] ; 0xd4 pardata.LP = 10000.0f; 8021abe: 4b9f ldr r3, [pc, #636] ; (8021d3c ) 8021ac0: 4aa0 ldr r2, [pc, #640] ; (8021d44 ) 8021ac2: f8c3 20d8 str.w r2, [r3, #216] ; 0xd8 pardata.FRQ = _64000Hz; 8021ac6: 4b9d ldr r3, [pc, #628] ; (8021d3c ) 8021ac8: 2209 movs r2, #9 8021aca: 72da strb r2, [r3, #11] pardata.LNE = N3200; 8021acc: 4b9b ldr r3, [pc, #620] ; (8021d3c ) 8021ace: 2203 movs r2, #3 8021ad0: 71da strb r2, [r3, #7] Fs = FS[pardata.FRQ]; 8021ad2: 4b9a ldr r3, [pc, #616] ; (8021d3c ) 8021ad4: 7adb ldrb r3, [r3, #11] 8021ad6: b2db uxtb r3, r3 8021ad8: 461a mov r2, r3 8021ada: 4b9b ldr r3, [pc, #620] ; (8021d48 ) 8021adc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8021ae0: 4a9a ldr r2, [pc, #616] ; (8021d4c ) 8021ae2: 6013 str r3, [r2, #0] Ns = NS[pardata.LNE]; 8021ae4: 4b95 ldr r3, [pc, #596] ; (8021d3c ) 8021ae6: 79db ldrb r3, [r3, #7] 8021ae8: b2db uxtb r3, r3 8021aea: 461a mov r2, r3 8021aec: 4b98 ldr r3, [pc, #608] ; (8021d50 ) 8021aee: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8021af2: 4a98 ldr r2, [pc, #608] ; (8021d54 ) 8021af4: 6013 str r3, [r2, #0] switch(menu) 8021af6: 4b98 ldr r3, [pc, #608] ; (8021d58 ) 8021af8: 781b ldrb r3, [r3, #0] 8021afa: b2db uxtb r3, r3 8021afc: 3b35 subs r3, #53 ; 0x35 8021afe: 2b08 cmp r3, #8 8021b00: f201 80d6 bhi.w 8022cb0 8021b04: a201 add r2, pc, #4 ; (adr r2, 8021b0c ) 8021b06: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8021b0a: bf00 nop 8021b0c: 08021b31 .word 0x08021b31 8021b10: 08021b31 .word 0x08021b31 8021b14: 08021b31 .word 0x08021b31 8021b18: 08021b31 .word 0x08021b31 8021b1c: 08021b31 .word 0x08021b31 8021b20: 08021b31 .word 0x08021b31 8021b24: 08021b31 .word 0x08021b31 8021b28: 08021b77 .word 0x08021b77 8021b2c: 08021bb3 .word 0x08021bb3 case CALIBR_2: //Ku 4 case CALIBR_3: //Ku 8 case CALIBR_4: //Ku 16 case CALIBR_5: //Ku 32 case CALIBR_6: //Ku 64 HAL_GPIO_WritePin(IN_GPIO_Port, IN_Pin, GPIO_PIN_SET); 8021b30: 2201 movs r2, #1 8021b32: f44f 6100 mov.w r1, #2048 ; 0x800 8021b36: 4889 ldr r0, [pc, #548] ; (8021d5c ) 8021b38: f094 f83a bl 80b5bb0 #ifdef USE_ADG5401 HAL_GPIO_WritePin(KU_GPIO_Port, KU_Pin, GPIO_PIN_SET); #else HAL_GPIO_WritePin(KU_GPIO_Port, KU_Pin, GPIO_PIN_RESET); 8021b3c: 2200 movs r2, #0 8021b3e: f44f 4180 mov.w r1, #16384 ; 0x4000 8021b42: 487d ldr r0, [pc, #500] ; (8021d38 ) 8021b44: f094 f834 bl 80b5bb0 #endif HAL_GPIO_WritePin(A0_GPIO_Port, A0_Pin, GPIO_PIN_RESET); 8021b48: 2200 movs r2, #0 8021b4a: 2120 movs r1, #32 8021b4c: 4884 ldr r0, [pc, #528] ; (8021d60 ) 8021b4e: f094 f82f bl 80b5bb0 HAL_GPIO_WritePin(A1_GPIO_Port, A1_Pin, GPIO_PIN_RESET); 8021b52: 2200 movs r2, #0 8021b54: f44f 7100 mov.w r1, #512 ; 0x200 8021b58: 4880 ldr r0, [pc, #512] ; (8021d5c ) 8021b5a: f094 f829 bl 80b5bb0 MAX11270_StopMeas(); 8021b5e: f033 fa51 bl 8055004 MAX11270_SetGain(menu - CALIBR_0); 8021b62: 4b7d ldr r3, [pc, #500] ; (8021d58 ) 8021b64: 781b ldrb r3, [r3, #0] 8021b66: b2db uxtb r3, r3 8021b68: 3b35 subs r3, #53 ; 0x35 8021b6a: b2db uxtb r3, r3 8021b6c: 4618 mov r0, r3 8021b6e: f033 fa63 bl 8055038 break; 8021b72: f001 b89d b.w 8022cb0 case CALIBR_7: // Ku x10 HAL_GPIO_WritePin(IN_GPIO_Port, IN_Pin, GPIO_PIN_SET); 8021b76: 2201 movs r2, #1 8021b78: f44f 6100 mov.w r1, #2048 ; 0x800 8021b7c: 4877 ldr r0, [pc, #476] ; (8021d5c ) 8021b7e: f094 f817 bl 80b5bb0 #ifdef USE_ADG5401 HAL_GPIO_WritePin(KU_GPIO_Port, KU_Pin, GPIO_PIN_RESET); #else HAL_GPIO_WritePin(KU_GPIO_Port, KU_Pin, GPIO_PIN_SET); 8021b82: 2201 movs r2, #1 8021b84: f44f 4180 mov.w r1, #16384 ; 0x4000 8021b88: 486b ldr r0, [pc, #428] ; (8021d38 ) 8021b8a: f094 f811 bl 80b5bb0 #endif HAL_GPIO_WritePin(A0_GPIO_Port, A0_Pin, GPIO_PIN_RESET); 8021b8e: 2200 movs r2, #0 8021b90: 2120 movs r1, #32 8021b92: 4873 ldr r0, [pc, #460] ; (8021d60 ) 8021b94: f094 f80c bl 80b5bb0 HAL_GPIO_WritePin(A1_GPIO_Port, A1_Pin, GPIO_PIN_RESET); 8021b98: 2200 movs r2, #0 8021b9a: f44f 7100 mov.w r1, #512 ; 0x200 8021b9e: 486f ldr r0, [pc, #444] ; (8021d5c ) 8021ba0: f094 f806 bl 80b5bb0 MAX11270_StopMeas(); 8021ba4: f033 fa2e bl 8055004 MAX11270_SetGain(Ku1); 8021ba8: 2000 movs r0, #0 8021baa: f033 fa45 bl 8055038 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: f093 fff9 bl 80b5bb0 #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: f093 fff3 bl 80b5bb0 #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: f093 ffee bl 80b5bb0 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: f093 ffe8 bl 80b5bb0 MAX11270_StopMeas(); 8021be0: f033 fa10 bl 8055004 MAX11270_SetGain(Ku1); 8021be4: 2000 movs r0, #0 8021be6: f033 fa27 bl 8055038 break; 8021bea: bf00 nop 8021bec: f001 b860 b.w 8022cb0 } } else { //******************************************************************************************************************************************************************* m = Ku1; 8021bf0: 2300 movs r3, #0 8021bf2: 73fb strb r3, [r7, #15] if((pardata.IKU < Ku1) || (pardata.IKU > Ku640)) { 8021bf4: 4b51 ldr r3, [pc, #324] ; (8021d3c ) 8021bf6: 7a1b ldrb r3, [r3, #8] 8021bf8: 4b50 ldr r3, [pc, #320] ; (8021d3c ) 8021bfa: 7a1b ldrb r3, [r3, #8] 8021bfc: b2db uxtb r3, r3 8021bfe: 2b0a cmp r3, #10 8021c00: d902 bls.n 8021c08 pardata.IKU = Ku1; 8021c02: 4b4e ldr r3, [pc, #312] ; (8021d3c ) 8021c04: 2200 movs r2, #0 8021c06: 721a strb r2, [r3, #8] } if(pardata.SYG == UDAR) 8021c08: 4b4c ldr r3, [pc, #304] ; (8021d3c ) 8021c0a: 781b ldrb r3, [r3, #0] 8021c0c: b2db uxtb r3, r3 8021c0e: 2b09 cmp r3, #9 8021c10: d109 bne.n 8021c26 { pardata.IIN = ICP; 8021c12: 4b4a ldr r3, [pc, #296] ; (8021d3c ) 8021c14: 2201 movs r2, #1 8021c16: 719a strb r2, [r3, #6] HAL_GPIO_WritePin(IN_GPIO_Port, IN_Pin, GPIO_PIN_SET); 8021c18: 2201 movs r2, #1 8021c1a: f44f 6100 mov.w r1, #2048 ; 0x800 8021c1e: 484f ldr r0, [pc, #316] ; (8021d5c ) 8021c20: f093 ffc6 bl 80b5bb0 8021c24: e011 b.n 8021c4a } else { if(pardata.IIN == CHARGE) 8021c26: 4b45 ldr r3, [pc, #276] ; (8021d3c ) 8021c28: 799b ldrb r3, [r3, #6] 8021c2a: b2db uxtb r3, r3 8021c2c: 2b00 cmp r3, #0 8021c2e: d106 bne.n 8021c3e HAL_GPIO_WritePin(IN_GPIO_Port, IN_Pin, GPIO_PIN_RESET); 8021c30: 2200 movs r2, #0 8021c32: f44f 6100 mov.w r1, #2048 ; 0x800 8021c36: 4849 ldr r0, [pc, #292] ; (8021d5c ) 8021c38: f093 ffba bl 80b5bb0 8021c3c: e005 b.n 8021c4a else HAL_GPIO_WritePin(IN_GPIO_Port, IN_Pin, GPIO_PIN_SET); 8021c3e: 2201 movs r2, #1 8021c40: f44f 6100 mov.w r1, #2048 ; 0x800 8021c44: 4845 ldr r0, [pc, #276] ; (8021d5c ) 8021c46: f093 ffb3 bl 80b5bb0 } f1 = 4.0; 8021c4a: f04f 4381 mov.w r3, #1082130432 ; 0x40800000 8021c4e: 607b str r3, [r7, #4] //******************************************************************************************************************************************************************* if((pardata.SYG == VIB) || (pardata.SYG == DIAGN)) 8021c50: 4b3a ldr r3, [pc, #232] ; (8021d3c ) 8021c52: 781b ldrb r3, [r3, #0] 8021c54: b2db uxtb r3, r3 8021c56: 2b00 cmp r3, #0 8021c58: d005 beq.n 8021c66 8021c5a: 4b38 ldr r3, [pc, #224] ; (8021d3c ) 8021c5c: 781b ldrb r3, [r3, #0] 8021c5e: b2db uxtb r3, r3 8021c60: 2b0a cmp r3, #10 8021c62: f040 811c bne.w 8021e9e { #ifdef USE_ADG5401 HAL_GPIO_WritePin(KU_GPIO_Port, KU_Pin, GPIO_PIN_SET); #else HAL_GPIO_WritePin(KU_GPIO_Port, KU_Pin, GPIO_PIN_RESET); 8021c66: 2200 movs r2, #0 8021c68: f44f 4180 mov.w r1, #16384 ; 0x4000 8021c6c: 4832 ldr r0, [pc, #200] ; (8021d38 ) 8021c6e: f093 ff9f bl 80b5bb0 #endif pardata.FRQ = _64000Hz; 8021c72: 4b32 ldr r3, [pc, #200] ; (8021d3c ) 8021c74: 2209 movs r2, #9 8021c76: 72da strb r2, [r3, #11] pardata.LNE = N3200; // 0.128s 8021c78: 4b30 ldr r3, [pc, #192] ; (8021d3c ) 8021c7a: 2203 movs r2, #3 8021c7c: 71da strb r2, [r3, #7] Fs = FS[pardata.FRQ]; 8021c7e: 4b2f ldr r3, [pc, #188] ; (8021d3c ) 8021c80: 7adb ldrb r3, [r3, #11] 8021c82: b2db uxtb r3, r3 8021c84: 461a mov r2, r3 8021c86: 4b30 ldr r3, [pc, #192] ; (8021d48 ) 8021c88: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8021c8c: 4a2f ldr r2, [pc, #188] ; (8021d4c ) 8021c8e: 6013 str r3, [r2, #0] Ns = NS[pardata.LNE]; 8021c90: 4b2a ldr r3, [pc, #168] ; (8021d3c ) 8021c92: 79db ldrb r3, [r3, #7] 8021c94: b2db uxtb r3, r3 8021c96: 461a mov r2, r3 8021c98: 4b2d ldr r3, [pc, #180] ; (8021d50 ) 8021c9a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8021c9e: 4a2d ldr r2, [pc, #180] ; (8021d54 ) 8021ca0: 6013 str r3, [r2, #0] k = pardata.AVG; 8021ca2: 4b26 ldr r3, [pc, #152] ; (8021d3c ) 8021ca4: 7b5b ldrb r3, [r3, #13] 8021ca6: b2db uxtb r3, r3 8021ca8: 73bb strb r3, [r7, #14] f = Delta_OSC[pardata.FRQ]; 8021caa: 4b24 ldr r3, [pc, #144] ; (8021d3c ) 8021cac: 7adb ldrb r3, [r3, #11] 8021cae: b2db uxtb r3, r3 8021cb0: 4a2c ldr r2, [pc, #176] ; (8021d64 ) 8021cb2: 009b lsls r3, r3, #2 8021cb4: 4413 add r3, r2 8021cb6: 681b ldr r3, [r3, #0] 8021cb8: 60bb str r3, [r7, #8] f /= 1000; 8021cba: ed97 7a02 vldr s14, [r7, #8] 8021cbe: eddf 6a2a vldr s13, [pc, #168] ; 8021d68 8021cc2: eec7 7a26 vdiv.f32 s15, s14, s13 8021cc6: edc7 7a02 vstr s15, [r7, #8] f *= (float32_t) Ns; 8021cca: 4b22 ldr r3, [pc, #136] ; (8021d54 ) 8021ccc: 681b ldr r3, [r3, #0] 8021cce: ee07 3a90 vmov s15, r3 8021cd2: eeb8 7a67 vcvt.f32.u32 s14, s15 8021cd6: edd7 7a02 vldr s15, [r7, #8] 8021cda: ee67 7a27 vmul.f32 s15, s14, s15 8021cde: edc7 7a02 vstr s15, [r7, #8] f *= (float32_t) AVG[k]; 8021ce2: 7bbb ldrb r3, [r7, #14] 8021ce4: 461a mov r2, r3 8021ce6: 4b21 ldr r3, [pc, #132] ; (8021d6c ) 8021ce8: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 8021cec: ee07 3a90 vmov s15, r3 8021cf0: eeb8 7a67 vcvt.f32.u32 s14, s15 8021cf4: edd7 7a02 vldr s15, [r7, #8] 8021cf8: ee67 7a27 vmul.f32 s15, s14, s15 8021cfc: edc7 7a02 vstr s15, [r7, #8] if(f > 8) 8021d00: edd7 7a02 vldr s15, [r7, #8] 8021d04: eeb2 7a00 vmov.f32 s14, #32 ; 0x41000000 8.0 8021d08: eef4 7ac7 vcmpe.f32 s15, s14 8021d0c: eef1 fa10 vmrs APSR_nzcv, fpscr 8021d10: dd49 ble.n 8021da6 { f /= (float32_t) AVG[k]; 8021d12: edd7 6a02 vldr s13, [r7, #8] 8021d16: 7bbb ldrb r3, [r7, #14] 8021d18: 461a mov r2, r3 8021d1a: 4b14 ldr r3, [pc, #80] ; (8021d6c ) 8021d1c: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 8021d20: ee07 3a90 vmov s15, r3 8021d24: eeb8 7a67 vcvt.f32.u32 s14, s15 8021d28: eec6 7a87 vdiv.f32 s15, s13, s14 8021d2c: edc7 7a02 vstr s15, [r7, #8] while(((f * (float32_t)AVG[k]) > 8) && (k > AVG1)) 8021d30: e022 b.n 8021d78 8021d32: bf00 nop 8021d34: 20020f68 .word 0x20020f68 8021d38: 40021800 .word 0x40021800 8021d3c: 20023e60 .word 0x20023e60 8021d40: 41200000 .word 0x41200000 8021d44: 461c4000 .word 0x461c4000 8021d48: 080d0c60 .word 0x080d0c60 8021d4c: 20021d1c .word 0x20021d1c 8021d50: 080d0c4c .word 0x080d0c4c 8021d54: 20021cdc .word 0x20021cdc 8021d58: 20020f78 .word 0x20020f78 8021d5c: 40021400 .word 0x40021400 8021d60: 40020400 .word 0x40020400 8021d64: 080d0c88 .word 0x080d0c88 8021d68: 447a0000 .word 0x447a0000 8021d6c: 080d0c34 .word 0x080d0c34 k--; 8021d70: 7bbb ldrb r3, [r7, #14] 8021d72: 3b01 subs r3, #1 8021d74: b2db uxtb r3, r3 8021d76: 73bb strb r3, [r7, #14] while(((f * (float32_t)AVG[k]) > 8) && (k > AVG1)) 8021d78: 7bbb ldrb r3, [r7, #14] 8021d7a: 461a mov r2, r3 8021d7c: 4bbf ldr r3, [pc, #764] ; (802207c ) 8021d7e: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 8021d82: ee07 3a90 vmov s15, r3 8021d86: eeb8 7a67 vcvt.f32.u32 s14, s15 8021d8a: edd7 7a02 vldr s15, [r7, #8] 8021d8e: ee67 7a27 vmul.f32 s15, s14, s15 8021d92: eeb2 7a00 vmov.f32 s14, #32 ; 0x41000000 8.0 8021d96: eef4 7ac7 vcmpe.f32 s15, s14 8021d9a: eef1 fa10 vmrs APSR_nzcv, fpscr 8021d9e: dd02 ble.n 8021da6 8021da0: 7bbb ldrb r3, [r7, #14] 8021da2: 2b00 cmp r3, #0 8021da4: d1e4 bne.n 8021d70 } AvgVal = AVG[k]; 8021da6: 7bbb ldrb r3, [r7, #14] 8021da8: 461a mov r2, r3 8021daa: 4bb4 ldr r3, [pc, #720] ; (802207c ) 8021dac: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 8021db0: 461a mov r2, r3 8021db2: 4bb3 ldr r3, [pc, #716] ; (8022080 ) 8021db4: 601a str r2, [r3, #0] //***************************** AvgVal = AVG[pardata.AVG] * 8; 8021db6: 4bb3 ldr r3, [pc, #716] ; (8022084 ) 8021db8: 7b5b ldrb r3, [r3, #13] 8021dba: b2db uxtb r3, r3 8021dbc: 461a mov r2, r3 8021dbe: 4baf ldr r3, [pc, #700] ; (802207c ) 8021dc0: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 8021dc4: 00db lsls r3, r3, #3 8021dc6: 461a mov r2, r3 8021dc8: 4bad ldr r3, [pc, #692] ; (8022080 ) 8021dca: 601a str r2, [r3, #0] //***************************** if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 8021dcc: 4bad ldr r3, [pc, #692] ; (8022084 ) 8021dce: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8021dd2: f003 0304 and.w r3, r3, #4 8021dd6: 2b00 cmp r3, #0 8021dd8: f040 85a2 bne.w 8022920 { k = Ku640; 8021ddc: 230a movs r3, #10 8021dde: 73bb strb r3, [r7, #14] f = ((pardata.MAX_VAL - 0.05f) * pardata.IKK * KM[k] * CorrKm(&k)) / f1; 8021de0: 4ba8 ldr r3, [pc, #672] ; (8022084 ) 8021de2: edd3 7a06 vldr s15, [r3, #24] 8021de6: ed9f 7aa8 vldr s14, [pc, #672] ; 8022088 8021dea: ee37 7ac7 vsub.f32 s14, s15, s14 8021dee: 4ba5 ldr r3, [pc, #660] ; (8022084 ) 8021df0: edd3 7a04 vldr s15, [r3, #16] 8021df4: ee27 7a27 vmul.f32 s14, s14, s15 8021df8: 7bbb ldrb r3, [r7, #14] 8021dfa: 4aa4 ldr r2, [pc, #656] ; (802208c ) 8021dfc: 009b lsls r3, r3, #2 8021dfe: 4413 add r3, r2 8021e00: edd3 7a00 vldr s15, [r3] 8021e04: ee27 8a27 vmul.f32 s16, s14, s15 8021e08: f107 030e add.w r3, r7, #14 8021e0c: 4618 mov r0, r3 8021e0e: f001 f84b bl 8022ea8 8021e12: eef0 7a40 vmov.f32 s15, s0 8021e16: ee68 6a27 vmul.f32 s13, s16, s15 8021e1a: ed97 7a01 vldr s14, [r7, #4] 8021e1e: eec6 7a87 vdiv.f32 s15, s13, s14 8021e22: edc7 7a02 vstr s15, [r7, #8] while((k > m) && (f > MAXVOLTS[PEAK])) 8021e26: e026 b.n 8021e76 { k--; 8021e28: 7bbb ldrb r3, [r7, #14] 8021e2a: 3b01 subs r3, #1 8021e2c: b2db uxtb r3, r3 8021e2e: 73bb strb r3, [r7, #14] f = ((pardata.MAX_VAL - 0.05f) * pardata.IKK * KM[k] * CorrKm(&k)) / f1; 8021e30: 4b94 ldr r3, [pc, #592] ; (8022084 ) 8021e32: edd3 7a06 vldr s15, [r3, #24] 8021e36: ed9f 7a94 vldr s14, [pc, #592] ; 8022088 8021e3a: ee37 7ac7 vsub.f32 s14, s15, s14 8021e3e: 4b91 ldr r3, [pc, #580] ; (8022084 ) 8021e40: edd3 7a04 vldr s15, [r3, #16] 8021e44: ee27 7a27 vmul.f32 s14, s14, s15 8021e48: 7bbb ldrb r3, [r7, #14] 8021e4a: 4a90 ldr r2, [pc, #576] ; (802208c ) 8021e4c: 009b lsls r3, r3, #2 8021e4e: 4413 add r3, r2 8021e50: edd3 7a00 vldr s15, [r3] 8021e54: ee27 8a27 vmul.f32 s16, s14, s15 8021e58: f107 030e add.w r3, r7, #14 8021e5c: 4618 mov r0, r3 8021e5e: f001 f823 bl 8022ea8 8021e62: eef0 7a40 vmov.f32 s15, s0 8021e66: ee68 6a27 vmul.f32 s13, s16, s15 8021e6a: ed97 7a01 vldr s14, [r7, #4] 8021e6e: eec6 7a87 vdiv.f32 s15, s13, s14 8021e72: edc7 7a02 vstr s15, [r7, #8] while((k > m) && (f > MAXVOLTS[PEAK])) 8021e76: 7bbb ldrb r3, [r7, #14] 8021e78: 7bfa ldrb r2, [r7, #15] 8021e7a: 429a cmp r2, r3 8021e7c: d208 bcs.n 8021e90 8021e7e: ed9f 7a84 vldr s14, [pc, #528] ; 8022090 8021e82: edd7 7a02 vldr s15, [r7, #8] 8021e86: eeb4 7ae7 vcmpe.f32 s14, s15 8021e8a: eef1 fa10 vmrs APSR_nzcv, fpscr 8021e8e: d4cb bmi.n 8021e28 } pardata.IKU = k; 8021e90: 7bba ldrb r2, [r7, #14] 8021e92: 4b7c ldr r3, [pc, #496] ; (8022084 ) 8021e94: 721a strb r2, [r3, #8] SetKU(); 8021e96: f7ff fced bl 8021874 if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 8021e9a: f000 bd41 b.w 8022920 } } else if(pardata.SYG == FRAN) 8021e9e: 4b79 ldr r3, [pc, #484] ; (8022084 ) 8021ea0: 781b ldrb r3, [r3, #0] 8021ea2: b2db uxtb r3, r3 8021ea4: 2b03 cmp r3, #3 8021ea6: f040 80b2 bne.w 802200e { #ifdef USE_ADG5401 HAL_GPIO_WritePin(KU_GPIO_Port, KU_Pin, GPIO_PIN_SET); #else HAL_GPIO_WritePin(KU_GPIO_Port, KU_Pin, GPIO_PIN_RESET); 8021eaa: 2200 movs r2, #0 8021eac: f44f 4180 mov.w r1, #16384 ; 0x4000 8021eb0: 4878 ldr r0, [pc, #480] ; (8022094 ) 8021eb2: f093 fe7d bl 80b5bb0 #endif pardata.FRQ = _64000Hz; 8021eb6: 4b73 ldr r3, [pc, #460] ; (8022084 ) 8021eb8: 2209 movs r2, #9 8021eba: 72da strb r2, [r3, #11] pardata.LNE = N3200; // 0.128s 8021ebc: 4b71 ldr r3, [pc, #452] ; (8022084 ) 8021ebe: 2203 movs r2, #3 8021ec0: 71da strb r2, [r3, #7] Fs = FS[pardata.FRQ]; 8021ec2: 4b70 ldr r3, [pc, #448] ; (8022084 ) 8021ec4: 7adb ldrb r3, [r3, #11] 8021ec6: b2db uxtb r3, r3 8021ec8: 461a mov r2, r3 8021eca: 4b73 ldr r3, [pc, #460] ; (8022098 ) 8021ecc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8021ed0: 4a72 ldr r2, [pc, #456] ; (802209c ) 8021ed2: 6013 str r3, [r2, #0] Ns = NS[pardata.LNE]; 8021ed4: 4b6b ldr r3, [pc, #428] ; (8022084 ) 8021ed6: 79db ldrb r3, [r3, #7] 8021ed8: b2db uxtb r3, r3 8021eda: 461a mov r2, r3 8021edc: 4b70 ldr r3, [pc, #448] ; (80220a0 ) 8021ede: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8021ee2: 4a70 ldr r2, [pc, #448] ; (80220a4 ) 8021ee4: 6013 str r3, [r2, #0] f = pardata.LP; 8021ee6: 4b67 ldr r3, [pc, #412] ; (8022084 ) 8021ee8: f8d3 30d8 ldr.w r3, [r3, #216] ; 0xd8 8021eec: 60bb str r3, [r7, #8] f /= Delta_SPC[FsIndex()][pardata.LNE]; 8021eee: f044 fbad bl 806664c 8021ef2: 4b64 ldr r3, [pc, #400] ; (8022084 ) 8021ef4: 79db ldrb r3, [r3, #7] 8021ef6: b2db uxtb r3, r3 8021ef8: 4619 mov r1, r3 8021efa: 4a6b ldr r2, [pc, #428] ; (80220a8 ) 8021efc: 0083 lsls r3, r0, #2 8021efe: 440b add r3, r1 8021f00: 009b lsls r3, r3, #2 8021f02: 4413 add r3, r2 8021f04: ed93 7a00 vldr s14, [r3] 8021f08: edd7 6a02 vldr s13, [r7, #8] 8021f0c: eec6 7a87 vdiv.f32 s15, s13, s14 8021f10: edc7 7a02 vstr s15, [r7, #8] NumHarmonics = (uint32_t) f; 8021f14: edd7 7a02 vldr s15, [r7, #8] 8021f18: eefc 7ae7 vcvt.u32.f32 s15, s15 8021f1c: ee17 2a90 vmov r2, s15 8021f20: 4b62 ldr r3, [pc, #392] ; (80220ac ) 8021f22: 601a str r2, [r3, #0] if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 8021f24: 4b57 ldr r3, [pc, #348] ; (8022084 ) 8021f26: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8021f2a: f003 0304 and.w r3, r3, #4 8021f2e: 2b00 cmp r3, #0 8021f30: d15e bne.n 8021ff0 { k = Ku640; 8021f32: 230a movs r3, #10 8021f34: 73bb strb r3, [r7, #14] f = ((pardata.MAX_VAL - 0.05f) * pardata.IKK * KM[k] * CorrKm(&k)) / f1; 8021f36: 4b53 ldr r3, [pc, #332] ; (8022084 ) 8021f38: edd3 7a06 vldr s15, [r3, #24] 8021f3c: ed9f 7a52 vldr s14, [pc, #328] ; 8022088 8021f40: ee37 7ac7 vsub.f32 s14, s15, s14 8021f44: 4b4f ldr r3, [pc, #316] ; (8022084 ) 8021f46: edd3 7a04 vldr s15, [r3, #16] 8021f4a: ee27 7a27 vmul.f32 s14, s14, s15 8021f4e: 7bbb ldrb r3, [r7, #14] 8021f50: 4a4e ldr r2, [pc, #312] ; (802208c ) 8021f52: 009b lsls r3, r3, #2 8021f54: 4413 add r3, r2 8021f56: edd3 7a00 vldr s15, [r3] 8021f5a: ee27 8a27 vmul.f32 s16, s14, s15 8021f5e: f107 030e add.w r3, r7, #14 8021f62: 4618 mov r0, r3 8021f64: f000 ffa0 bl 8022ea8 8021f68: eef0 7a40 vmov.f32 s15, s0 8021f6c: ee68 6a27 vmul.f32 s13, s16, s15 8021f70: ed97 7a01 vldr s14, [r7, #4] 8021f74: eec6 7a87 vdiv.f32 s15, s13, s14 8021f78: edc7 7a02 vstr s15, [r7, #8] while((k > m) && (f > MAXVOLTS[PEAK])) 8021f7c: e026 b.n 8021fcc { k--; 8021f7e: 7bbb ldrb r3, [r7, #14] 8021f80: 3b01 subs r3, #1 8021f82: b2db uxtb r3, r3 8021f84: 73bb strb r3, [r7, #14] f = ((pardata.MAX_VAL - 0.05f) * pardata.IKK * KM[k] * CorrKm(&k)) / f1; 8021f86: 4b3f ldr r3, [pc, #252] ; (8022084 ) 8021f88: edd3 7a06 vldr s15, [r3, #24] 8021f8c: ed9f 7a3e vldr s14, [pc, #248] ; 8022088 8021f90: ee37 7ac7 vsub.f32 s14, s15, s14 8021f94: 4b3b ldr r3, [pc, #236] ; (8022084 ) 8021f96: edd3 7a04 vldr s15, [r3, #16] 8021f9a: ee27 7a27 vmul.f32 s14, s14, s15 8021f9e: 7bbb ldrb r3, [r7, #14] 8021fa0: 4a3a ldr r2, [pc, #232] ; (802208c ) 8021fa2: 009b lsls r3, r3, #2 8021fa4: 4413 add r3, r2 8021fa6: edd3 7a00 vldr s15, [r3] 8021faa: ee27 8a27 vmul.f32 s16, s14, s15 8021fae: f107 030e add.w r3, r7, #14 8021fb2: 4618 mov r0, r3 8021fb4: f000 ff78 bl 8022ea8 8021fb8: eef0 7a40 vmov.f32 s15, s0 8021fbc: ee68 6a27 vmul.f32 s13, s16, s15 8021fc0: ed97 7a01 vldr s14, [r7, #4] 8021fc4: eec6 7a87 vdiv.f32 s15, s13, s14 8021fc8: edc7 7a02 vstr s15, [r7, #8] while((k > m) && (f > MAXVOLTS[PEAK])) 8021fcc: 7bbb ldrb r3, [r7, #14] 8021fce: 7bfa ldrb r2, [r7, #15] 8021fd0: 429a cmp r2, r3 8021fd2: d208 bcs.n 8021fe6 8021fd4: ed9f 7a2e vldr s14, [pc, #184] ; 8022090 8021fd8: edd7 7a02 vldr s15, [r7, #8] 8021fdc: eeb4 7ae7 vcmpe.f32 s14, s15 8021fe0: eef1 fa10 vmrs APSR_nzcv, fpscr 8021fe4: d4cb bmi.n 8021f7e } pardata.IKU = k; 8021fe6: 7bba ldrb r2, [r7, #14] 8021fe8: 4b26 ldr r3, [pc, #152] ; (8022084 ) 8021fea: 721a strb r2, [r3, #8] SetKU(); 8021fec: f7ff fc42 bl 8021874 } AvgVal = AVG[pardata.AVG] * 8; 8021ff0: 4b24 ldr r3, [pc, #144] ; (8022084 ) 8021ff2: 7b5b ldrb r3, [r3, #13] 8021ff4: b2db uxtb r3, r3 8021ff6: 461a mov r2, r3 8021ff8: 4b20 ldr r3, [pc, #128] ; (802207c ) 8021ffa: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 8021ffe: 00db lsls r3, r3, #3 8022000: 461a mov r2, r3 8022002: 4b1f ldr r3, [pc, #124] ; (8022080 ) 8022004: 601a str r2, [r3, #0] RefreshGraf(); 8022006: f030 fec1 bl 8052d8c 802200a: f000 bc89 b.w 8022920 } else if(pardata.SYG == OSC) 802200e: 4b1d ldr r3, [pc, #116] ; (8022084 ) 8022010: 781b ldrb r3, [r3, #0] 8022012: b2db uxtb r3, r3 8022014: 2b02 cmp r3, #2 8022016: f040 8108 bne.w 802222a {//todo #ifdef USE_ADG5401 HAL_GPIO_WritePin(KU_GPIO_Port, KU_Pin, GPIO_PIN_SET); #else HAL_GPIO_WritePin(KU_GPIO_Port, KU_Pin, GPIO_PIN_RESET); 802201a: 2200 movs r2, #0 802201c: f44f 4180 mov.w r1, #16384 ; 0x4000 8022020: 481c ldr r0, [pc, #112] ; (8022094 ) 8022022: f093 fdc5 bl 80b5bb0 #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: 080d0c34 .word 0x080d0c34 8022080: 20020d64 .word 0x20020d64 8022084: 20023e60 .word 0x20023e60 8022088: 3d4ccccd .word 0x3d4ccccd 802208c: 080d0c08 .word 0x080d0c08 8022090: 447a0000 .word 0x447a0000 8022094: 40021800 .word 0x40021800 8022098: 080d0c60 .word 0x080d0c60 802209c: 20021d1c .word 0x20021d1c 80220a0: 080d0c4c .word 0x080d0c4c 80220a4: 20021cdc .word 0x20021cdc 80220a8: 080d0cb0 .word 0x080d0cb0 80220ac: 20021568 .word 0x20021568 80220b0: 20020db1 .word 0x20020db1 { k--; 80220b4: 7bbb ldrb r3, [r7, #14] 80220b6: 3b01 subs r3, #1 80220b8: b2db uxtb r3, r3 80220ba: 73bb strb r3, [r7, #14] f = ((pardata.MAX_VAL - 0.05f) * pardata.IKK * KM[k] * CorrKm(&k)) / f1; 80220bc: 4bac ldr r3, [pc, #688] ; (8022370 ) 80220be: edd3 7a06 vldr s15, [r3, #24] 80220c2: ed9f 7aac vldr s14, [pc, #688] ; 8022374 80220c6: ee37 7ac7 vsub.f32 s14, s15, s14 80220ca: 4ba9 ldr r3, [pc, #676] ; (8022370 ) 80220cc: edd3 7a04 vldr s15, [r3, #16] 80220d0: ee27 7a27 vmul.f32 s14, s14, s15 80220d4: 7bbb ldrb r3, [r7, #14] 80220d6: 4aa8 ldr r2, [pc, #672] ; (8022378 ) 80220d8: 009b lsls r3, r3, #2 80220da: 4413 add r3, r2 80220dc: edd3 7a00 vldr s15, [r3] 80220e0: ee27 8a27 vmul.f32 s16, s14, s15 80220e4: f107 030e add.w r3, r7, #14 80220e8: 4618 mov r0, r3 80220ea: f000 fedd bl 8022ea8 80220ee: eef0 7a40 vmov.f32 s15, s0 80220f2: ee68 6a27 vmul.f32 s13, s16, s15 80220f6: ed97 7a01 vldr s14, [r7, #4] 80220fa: eec6 7a87 vdiv.f32 s15, s13, s14 80220fe: edc7 7a02 vstr s15, [r7, #8] while((k > m) && (f > MAXVOLTS[PEAK])) 8022102: 7bbb ldrb r3, [r7, #14] 8022104: 7bfa ldrb r2, [r7, #15] 8022106: 429a cmp r2, r3 8022108: d208 bcs.n 802211c 802210a: ed9f 7a9c vldr s14, [pc, #624] ; 802237c 802210e: edd7 7a02 vldr s15, [r7, #8] 8022112: eeb4 7ae7 vcmpe.f32 s14, s15 8022116: eef1 fa10 vmrs APSR_nzcv, fpscr 802211a: d4cb bmi.n 80220b4 } pardata.IKU = k; 802211c: 7bba ldrb r2, [r7, #14] 802211e: 4b94 ldr r3, [pc, #592] ; (8022370 ) 8022120: 721a strb r2, [r3, #8] SetKU(); 8022122: f7ff fba7 bl 8021874 8022126: e06b b.n 8022200 } else { if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 8022128: 4b91 ldr r3, [pc, #580] ; (8022370 ) 802212a: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 802212e: f003 0304 and.w r3, r3, #4 8022132: 2b00 cmp r3, #0 8022134: d15f bne.n 80221f6 { k = Ku640; 8022136: 230a movs r3, #10 8022138: 73bb strb r3, [r7, #14] f = ((pardata.MAX_VAL - 0.05f) * pardata.IKK * KM[k] * CorrKm(&k)) / f1; 802213a: 4b8d ldr r3, [pc, #564] ; (8022370 ) 802213c: edd3 7a06 vldr s15, [r3, #24] 8022140: ed9f 7a8c vldr s14, [pc, #560] ; 8022374 8022144: ee37 7ac7 vsub.f32 s14, s15, s14 8022148: 4b89 ldr r3, [pc, #548] ; (8022370 ) 802214a: edd3 7a04 vldr s15, [r3, #16] 802214e: ee27 7a27 vmul.f32 s14, s14, s15 8022152: 7bbb ldrb r3, [r7, #14] 8022154: 4a88 ldr r2, [pc, #544] ; (8022378 ) 8022156: 009b lsls r3, r3, #2 8022158: 4413 add r3, r2 802215a: edd3 7a00 vldr s15, [r3] 802215e: ee27 8a27 vmul.f32 s16, s14, s15 8022162: f107 030e add.w r3, r7, #14 8022166: 4618 mov r0, r3 8022168: f000 fe9e bl 8022ea8 802216c: eef0 7a40 vmov.f32 s15, s0 8022170: ee68 6a27 vmul.f32 s13, s16, s15 8022174: ed97 7a01 vldr s14, [r7, #4] 8022178: eec6 7a87 vdiv.f32 s15, s13, s14 802217c: edc7 7a02 vstr s15, [r7, #8] while((k > m) && (f > MAXVOLTS[PEAK])) 8022180: e026 b.n 80221d0 { k--; 8022182: 7bbb ldrb r3, [r7, #14] 8022184: 3b01 subs r3, #1 8022186: b2db uxtb r3, r3 8022188: 73bb strb r3, [r7, #14] f = ((pardata.MAX_VAL - 0.05f) * pardata.IKK * KM[k] * CorrKm(&k)) / f1; 802218a: 4b79 ldr r3, [pc, #484] ; (8022370 ) 802218c: edd3 7a06 vldr s15, [r3, #24] 8022190: ed9f 7a78 vldr s14, [pc, #480] ; 8022374 8022194: ee37 7ac7 vsub.f32 s14, s15, s14 8022198: 4b75 ldr r3, [pc, #468] ; (8022370 ) 802219a: edd3 7a04 vldr s15, [r3, #16] 802219e: ee27 7a27 vmul.f32 s14, s14, s15 80221a2: 7bbb ldrb r3, [r7, #14] 80221a4: 4a74 ldr r2, [pc, #464] ; (8022378 ) 80221a6: 009b lsls r3, r3, #2 80221a8: 4413 add r3, r2 80221aa: edd3 7a00 vldr s15, [r3] 80221ae: ee27 8a27 vmul.f32 s16, s14, s15 80221b2: f107 030e add.w r3, r7, #14 80221b6: 4618 mov r0, r3 80221b8: f000 fe76 bl 8022ea8 80221bc: eef0 7a40 vmov.f32 s15, s0 80221c0: ee68 6a27 vmul.f32 s13, s16, s15 80221c4: ed97 7a01 vldr s14, [r7, #4] 80221c8: eec6 7a87 vdiv.f32 s15, s13, s14 80221cc: edc7 7a02 vstr s15, [r7, #8] while((k > m) && (f > MAXVOLTS[PEAK])) 80221d0: 7bbb ldrb r3, [r7, #14] 80221d2: 7bfa ldrb r2, [r7, #15] 80221d4: 429a cmp r2, r3 80221d6: d208 bcs.n 80221ea 80221d8: ed9f 7a68 vldr s14, [pc, #416] ; 802237c 80221dc: edd7 7a02 vldr s15, [r7, #8] 80221e0: eeb4 7ae7 vcmpe.f32 s14, s15 80221e4: eef1 fa10 vmrs APSR_nzcv, fpscr 80221e8: d4cb bmi.n 8022182 } pardata.IKU = k; 80221ea: 7bba ldrb r2, [r7, #14] 80221ec: 4b60 ldr r3, [pc, #384] ; (8022370 ) 80221ee: 721a strb r2, [r3, #8] SetKU(); 80221f0: f7ff fb40 bl 8021874 80221f4: e004 b.n 8022200 } else { pardata.IKU = Ku1; 80221f6: 4b5e ldr r3, [pc, #376] ; (8022370 ) 80221f8: 2200 movs r2, #0 80221fa: 721a strb r2, [r3, #8] SetKU(); 80221fc: f7ff fb3a bl 8021874 } } Fs = FS[pardata.FRQ]; 8022200: 4b5b ldr r3, [pc, #364] ; (8022370 ) 8022202: 7adb ldrb r3, [r3, #11] 8022204: b2db uxtb r3, r3 8022206: 461a mov r2, r3 8022208: 4b5d ldr r3, [pc, #372] ; (8022380 ) 802220a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 802220e: 4a5d ldr r2, [pc, #372] ; (8022384 ) 8022210: 6013 str r3, [r2, #0] Ns = NS[pardata.LNE]; 8022212: 4b57 ldr r3, [pc, #348] ; (8022370 ) 8022214: 79db ldrb r3, [r3, #7] 8022216: b2db uxtb r3, r3 8022218: 461a mov r2, r3 802221a: 4b5b ldr r3, [pc, #364] ; (8022388 ) 802221c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8022220: 4a5a ldr r2, [pc, #360] ; (802238c ) 8022222: 6013 str r3, [r2, #0] RefreshGraf(); 8022224: f030 fdb2 bl 8052d8c 8022228: e37a b.n 8022920 } else if(pardata.SYG == ROLL) 802222a: 4b51 ldr r3, [pc, #324] ; (8022370 ) 802222c: 781b ldrb r3, [r3, #0] 802222e: b2db uxtb r3, r3 8022230: 2b08 cmp r3, #8 8022232: f040 80b1 bne.w 8022398 { #ifdef USE_ADG5401 HAL_GPIO_WritePin(KU_GPIO_Port, KU_Pin, GPIO_PIN_SET); #else HAL_GPIO_WritePin(KU_GPIO_Port, KU_Pin, GPIO_PIN_RESET); 8022236: 2200 movs r2, #0 8022238: f44f 4180 mov.w r1, #16384 ; 0x4000 802223c: 4854 ldr r0, [pc, #336] ; (8022390 ) 802223e: f093 fcb7 bl 80b5bb0 #endif pardata.FRQ = _4000Hz; 8022242: 4b4b ldr r3, [pc, #300] ; (8022370 ) 8022244: 2205 movs r2, #5 8022246: 72da strb r2, [r3, #11] pardata.LNE = N3200; 8022248: 4b49 ldr r3, [pc, #292] ; (8022370 ) 802224a: 2203 movs r2, #3 802224c: 71da strb r2, [r3, #7] pardata.MSH = LOG; 802224e: 4b48 ldr r3, [pc, #288] ; (8022370 ) 8022250: 2201 movs r2, #1 8022252: 729a strb r2, [r3, #10] pardata.IPR = ACC; 8022254: 4b46 ldr r3, [pc, #280] ; (8022370 ) 8022256: 2200 movs r2, #0 8022258: 705a strb r2, [r3, #1] if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 802225a: 4b45 ldr r3, [pc, #276] ; (8022370 ) 802225c: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8022260: f003 0304 and.w r3, r3, #4 8022264: 2b00 cmp r3, #0 8022266: d15f bne.n 8022328 { k = Ku640; 8022268: 230a movs r3, #10 802226a: 73bb strb r3, [r7, #14] f = ((pardata.MAX_VAL - 0.05f) * pardata.IKK * KM[k] * CorrKm(&k)) / f1; 802226c: 4b40 ldr r3, [pc, #256] ; (8022370 ) 802226e: edd3 7a06 vldr s15, [r3, #24] 8022272: ed9f 7a40 vldr s14, [pc, #256] ; 8022374 8022276: ee37 7ac7 vsub.f32 s14, s15, s14 802227a: 4b3d ldr r3, [pc, #244] ; (8022370 ) 802227c: edd3 7a04 vldr s15, [r3, #16] 8022280: ee27 7a27 vmul.f32 s14, s14, s15 8022284: 7bbb ldrb r3, [r7, #14] 8022286: 4a3c ldr r2, [pc, #240] ; (8022378 ) 8022288: 009b lsls r3, r3, #2 802228a: 4413 add r3, r2 802228c: edd3 7a00 vldr s15, [r3] 8022290: ee27 8a27 vmul.f32 s16, s14, s15 8022294: f107 030e add.w r3, r7, #14 8022298: 4618 mov r0, r3 802229a: f000 fe05 bl 8022ea8 802229e: eef0 7a40 vmov.f32 s15, s0 80222a2: ee68 6a27 vmul.f32 s13, s16, s15 80222a6: ed97 7a01 vldr s14, [r7, #4] 80222aa: eec6 7a87 vdiv.f32 s15, s13, s14 80222ae: edc7 7a02 vstr s15, [r7, #8] while((k > m) && (f > MAXVOLTS[PEAK])) 80222b2: e026 b.n 8022302 { k--; 80222b4: 7bbb ldrb r3, [r7, #14] 80222b6: 3b01 subs r3, #1 80222b8: b2db uxtb r3, r3 80222ba: 73bb strb r3, [r7, #14] f = ((pardata.MAX_VAL - 0.05f) * pardata.IKK * KM[k] * CorrKm(&k)) / f1; 80222bc: 4b2c ldr r3, [pc, #176] ; (8022370 ) 80222be: edd3 7a06 vldr s15, [r3, #24] 80222c2: ed9f 7a2c vldr s14, [pc, #176] ; 8022374 80222c6: ee37 7ac7 vsub.f32 s14, s15, s14 80222ca: 4b29 ldr r3, [pc, #164] ; (8022370 ) 80222cc: edd3 7a04 vldr s15, [r3, #16] 80222d0: ee27 7a27 vmul.f32 s14, s14, s15 80222d4: 7bbb ldrb r3, [r7, #14] 80222d6: 4a28 ldr r2, [pc, #160] ; (8022378 ) 80222d8: 009b lsls r3, r3, #2 80222da: 4413 add r3, r2 80222dc: edd3 7a00 vldr s15, [r3] 80222e0: ee27 8a27 vmul.f32 s16, s14, s15 80222e4: f107 030e add.w r3, r7, #14 80222e8: 4618 mov r0, r3 80222ea: f000 fddd bl 8022ea8 80222ee: eef0 7a40 vmov.f32 s15, s0 80222f2: ee68 6a27 vmul.f32 s13, s16, s15 80222f6: ed97 7a01 vldr s14, [r7, #4] 80222fa: eec6 7a87 vdiv.f32 s15, s13, s14 80222fe: edc7 7a02 vstr s15, [r7, #8] while((k > m) && (f > MAXVOLTS[PEAK])) 8022302: 7bbb ldrb r3, [r7, #14] 8022304: 7bfa ldrb r2, [r7, #15] 8022306: 429a cmp r2, r3 8022308: d208 bcs.n 802231c 802230a: ed9f 7a1c vldr s14, [pc, #112] ; 802237c 802230e: edd7 7a02 vldr s15, [r7, #8] 8022312: eeb4 7ae7 vcmpe.f32 s14, s15 8022316: eef1 fa10 vmrs APSR_nzcv, fpscr 802231a: d4cb bmi.n 80222b4 } pardata.IKU = k; 802231c: 7bba ldrb r2, [r7, #14] 802231e: 4b14 ldr r3, [pc, #80] ; (8022370 ) 8022320: 721a strb r2, [r3, #8] SetKU(); 8022322: f7ff faa7 bl 8021874 8022326: e004 b.n 8022332 } else { pardata.IKU = Ku1; 8022328: 4b11 ldr r3, [pc, #68] ; (8022370 ) 802232a: 2200 movs r2, #0 802232c: 721a strb r2, [r3, #8] SetKU(); 802232e: f7ff faa1 bl 8021874 } pardata.HP = 1.0f; 8022332: 4b0f ldr r3, [pc, #60] ; (8022370 ) 8022334: f04f 527e mov.w r2, #1065353216 ; 0x3f800000 8022338: f8c3 20d4 str.w r2, [r3, #212] ; 0xd4 pardata.LP = 800.0f; 802233c: 4b0c ldr r3, [pc, #48] ; (8022370 ) 802233e: 4a15 ldr r2, [pc, #84] ; (8022394 ) 8022340: f8c3 20d8 str.w r2, [r3, #216] ; 0xd8 Fs = FS[pardata.FRQ]; 8022344: 4b0a ldr r3, [pc, #40] ; (8022370 ) 8022346: 7adb ldrb r3, [r3, #11] 8022348: b2db uxtb r3, r3 802234a: 461a mov r2, r3 802234c: 4b0c ldr r3, [pc, #48] ; (8022380 ) 802234e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8022352: 4a0c ldr r2, [pc, #48] ; (8022384 ) 8022354: 6013 str r3, [r2, #0] Ns = NS[pardata.LNE]; 8022356: 4b06 ldr r3, [pc, #24] ; (8022370 ) 8022358: 79db ldrb r3, [r3, #7] 802235a: b2db uxtb r3, r3 802235c: 461a mov r2, r3 802235e: 4b0a ldr r3, [pc, #40] ; (8022388 ) 8022360: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8022364: 4a09 ldr r2, [pc, #36] ; (802238c ) 8022366: 6013 str r3, [r2, #0] RefreshGraf(); 8022368: f030 fd10 bl 8052d8c 802236c: e2d8 b.n 8022920 802236e: bf00 nop 8022370: 20023e60 .word 0x20023e60 8022374: 3d4ccccd .word 0x3d4ccccd 8022378: 080d0c08 .word 0x080d0c08 802237c: 447a0000 .word 0x447a0000 8022380: 080d0c60 .word 0x080d0c60 8022384: 20021d1c .word 0x20021d1c 8022388: 080d0c4c .word 0x080d0c4c 802238c: 20021cdc .word 0x20021cdc 8022390: 40021800 .word 0x40021800 8022394: 44480000 .word 0x44480000 } else if((pardata.SYG == SPEC) || (pardata.SYG == SPEC_OGIB) || (pardata.SYG == SPEC_OKT) || (pardata.SYG == SPEC_THIRD)) 8022398: 4b6c ldr r3, [pc, #432] ; (802254c ) 802239a: 781b ldrb r3, [r3, #0] 802239c: b2db uxtb r3, r3 802239e: 2b01 cmp r3, #1 80223a0: d00f beq.n 80223c2 80223a2: 4b6a ldr r3, [pc, #424] ; (802254c ) 80223a4: 781b ldrb r3, [r3, #0] 80223a6: b2db uxtb r3, r3 80223a8: 2b05 cmp r3, #5 80223aa: d00a beq.n 80223c2 80223ac: 4b67 ldr r3, [pc, #412] ; (802254c ) 80223ae: 781b ldrb r3, [r3, #0] 80223b0: b2db uxtb r3, r3 80223b2: 2b06 cmp r3, #6 80223b4: d005 beq.n 80223c2 80223b6: 4b65 ldr r3, [pc, #404] ; (802254c ) 80223b8: 781b ldrb r3, [r3, #0] 80223ba: b2db uxtb r3, r3 80223bc: 2b07 cmp r3, #7 80223be: f040 8087 bne.w 80224d0 { #ifdef USE_ADG5401 HAL_GPIO_WritePin(KU_GPIO_Port, KU_Pin, GPIO_PIN_SET); #else HAL_GPIO_WritePin(KU_GPIO_Port, KU_Pin, GPIO_PIN_RESET); 80223c2: 2200 movs r2, #0 80223c4: f44f 4180 mov.w r1, #16384 ; 0x4000 80223c8: 4861 ldr r0, [pc, #388] ; (8022550 ) 80223ca: f093 fbf1 bl 80b5bb0 #endif if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 80223ce: 4b5f ldr r3, [pc, #380] ; (802254c ) 80223d0: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80223d4: f003 0304 and.w r3, r3, #4 80223d8: 2b00 cmp r3, #0 80223da: d15f bne.n 802249c { k = Ku640; 80223dc: 230a movs r3, #10 80223de: 73bb strb r3, [r7, #14] f = ((pardata.MAX_VAL - 0.05f) * pardata.IKK * KM[k] * CorrKm(&k)) / f1; 80223e0: 4b5a ldr r3, [pc, #360] ; (802254c ) 80223e2: edd3 7a06 vldr s15, [r3, #24] 80223e6: ed9f 7a5b vldr s14, [pc, #364] ; 8022554 80223ea: ee37 7ac7 vsub.f32 s14, s15, s14 80223ee: 4b57 ldr r3, [pc, #348] ; (802254c ) 80223f0: edd3 7a04 vldr s15, [r3, #16] 80223f4: ee27 7a27 vmul.f32 s14, s14, s15 80223f8: 7bbb ldrb r3, [r7, #14] 80223fa: 4a57 ldr r2, [pc, #348] ; (8022558 ) 80223fc: 009b lsls r3, r3, #2 80223fe: 4413 add r3, r2 8022400: edd3 7a00 vldr s15, [r3] 8022404: ee27 8a27 vmul.f32 s16, s14, s15 8022408: f107 030e add.w r3, r7, #14 802240c: 4618 mov r0, r3 802240e: f000 fd4b bl 8022ea8 8022412: eef0 7a40 vmov.f32 s15, s0 8022416: ee68 6a27 vmul.f32 s13, s16, s15 802241a: ed97 7a01 vldr s14, [r7, #4] 802241e: eec6 7a87 vdiv.f32 s15, s13, s14 8022422: edc7 7a02 vstr s15, [r7, #8] while((k > m) && (f > MAXVOLTS[PEAK])) 8022426: e026 b.n 8022476 { k--; 8022428: 7bbb ldrb r3, [r7, #14] 802242a: 3b01 subs r3, #1 802242c: b2db uxtb r3, r3 802242e: 73bb strb r3, [r7, #14] f = ((pardata.MAX_VAL - 0.05f) * pardata.IKK * KM[k] * CorrKm(&k)) / f1; 8022430: 4b46 ldr r3, [pc, #280] ; (802254c ) 8022432: edd3 7a06 vldr s15, [r3, #24] 8022436: ed9f 7a47 vldr s14, [pc, #284] ; 8022554 802243a: ee37 7ac7 vsub.f32 s14, s15, s14 802243e: 4b43 ldr r3, [pc, #268] ; (802254c ) 8022440: edd3 7a04 vldr s15, [r3, #16] 8022444: ee27 7a27 vmul.f32 s14, s14, s15 8022448: 7bbb ldrb r3, [r7, #14] 802244a: 4a43 ldr r2, [pc, #268] ; (8022558 ) 802244c: 009b lsls r3, r3, #2 802244e: 4413 add r3, r2 8022450: edd3 7a00 vldr s15, [r3] 8022454: ee27 8a27 vmul.f32 s16, s14, s15 8022458: f107 030e add.w r3, r7, #14 802245c: 4618 mov r0, r3 802245e: f000 fd23 bl 8022ea8 8022462: eef0 7a40 vmov.f32 s15, s0 8022466: ee68 6a27 vmul.f32 s13, s16, s15 802246a: ed97 7a01 vldr s14, [r7, #4] 802246e: eec6 7a87 vdiv.f32 s15, s13, s14 8022472: edc7 7a02 vstr s15, [r7, #8] while((k > m) && (f > MAXVOLTS[PEAK])) 8022476: 7bbb ldrb r3, [r7, #14] 8022478: 7bfa ldrb r2, [r7, #15] 802247a: 429a cmp r2, r3 802247c: d208 bcs.n 8022490 802247e: ed9f 7a37 vldr s14, [pc, #220] ; 802255c 8022482: edd7 7a02 vldr s15, [r7, #8] 8022486: eeb4 7ae7 vcmpe.f32 s14, s15 802248a: eef1 fa10 vmrs APSR_nzcv, fpscr 802248e: d4cb bmi.n 8022428 } pardata.IKU = k; 8022490: 7bba ldrb r2, [r7, #14] 8022492: 4b2e ldr r3, [pc, #184] ; (802254c ) 8022494: 721a strb r2, [r3, #8] SetKU(); 8022496: f7ff f9ed bl 8021874 802249a: e004 b.n 80224a6 } else { pardata.IKU = Ku1; 802249c: 4b2b ldr r3, [pc, #172] ; (802254c ) 802249e: 2200 movs r2, #0 80224a0: 721a strb r2, [r3, #8] SetKU(); 80224a2: f7ff f9e7 bl 8021874 } Fs = FS[pardata.FRQ]; 80224a6: 4b29 ldr r3, [pc, #164] ; (802254c ) 80224a8: 7adb ldrb r3, [r3, #11] 80224aa: b2db uxtb r3, r3 80224ac: 461a mov r2, r3 80224ae: 4b2c ldr r3, [pc, #176] ; (8022560 ) 80224b0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80224b4: 4a2b ldr r2, [pc, #172] ; (8022564 ) 80224b6: 6013 str r3, [r2, #0] Ns = NS[pardata.LNE]; 80224b8: 4b24 ldr r3, [pc, #144] ; (802254c ) 80224ba: 79db ldrb r3, [r3, #7] 80224bc: b2db uxtb r3, r3 80224be: 461a mov r2, r3 80224c0: 4b29 ldr r3, [pc, #164] ; (8022568 ) 80224c2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80224c6: 4a29 ldr r2, [pc, #164] ; (802256c ) 80224c8: 6013 str r3, [r2, #0] RefreshGraf(); 80224ca: f030 fc5f bl 8052d8c 80224ce: e227 b.n 8022920 } else if(pardata.SYG == WAVE) 80224d0: 4b1e ldr r3, [pc, #120] ; (802254c ) 80224d2: 781b ldrb r3, [r3, #0] 80224d4: b2db uxtb r3, r3 80224d6: 2b04 cmp r3, #4 80224d8: f040 81be bne.w 8022858 { #ifdef USE_ADG5401 HAL_GPIO_WritePin(KU_GPIO_Port, KU_Pin, GPIO_PIN_SET); #else HAL_GPIO_WritePin(KU_GPIO_Port, KU_Pin, GPIO_PIN_RESET); 80224dc: 2200 movs r2, #0 80224de: f44f 4180 mov.w r1, #16384 ; 0x4000 80224e2: 481b ldr r0, [pc, #108] ; (8022550 ) 80224e4: f093 fb64 bl 80b5bb0 #endif pardata.LNE = N3200; 80224e8: 4b18 ldr r3, [pc, #96] ; (802254c ) 80224ea: 2203 movs r2, #3 80224ec: 71da strb r2, [r3, #7] pardata.FRQ = _64000Hz; 80224ee: 4b17 ldr r3, [pc, #92] ; (802254c ) 80224f0: 2209 movs r2, #9 80224f2: 72da strb r2, [r3, #11] if(Threshold) 80224f4: 4b1e ldr r3, [pc, #120] ; (8022570 ) 80224f6: 781b ldrb r3, [r3, #0] 80224f8: b2db uxtb r3, r3 80224fa: 2b00 cmp r3, #0 80224fc: f000 8112 beq.w 8022724 { k = Ku640; 8022500: 230a movs r3, #10 8022502: 73bb strb r3, [r7, #14] f = ((pardata.MAX_VAL - 0.05f) * pardata.IKK * KM[k] * CorrKm(&k)) / f1; 8022504: 4b11 ldr r3, [pc, #68] ; (802254c ) 8022506: edd3 7a06 vldr s15, [r3, #24] 802250a: ed9f 7a12 vldr s14, [pc, #72] ; 8022554 802250e: ee37 7ac7 vsub.f32 s14, s15, s14 8022512: 4b0e ldr r3, [pc, #56] ; (802254c ) 8022514: edd3 7a04 vldr s15, [r3, #16] 8022518: ee27 7a27 vmul.f32 s14, s14, s15 802251c: 7bbb ldrb r3, [r7, #14] 802251e: 4a0e ldr r2, [pc, #56] ; (8022558 ) 8022520: 009b lsls r3, r3, #2 8022522: 4413 add r3, r2 8022524: edd3 7a00 vldr s15, [r3] 8022528: ee27 8a27 vmul.f32 s16, s14, s15 802252c: f107 030e add.w r3, r7, #14 8022530: 4618 mov r0, r3 8022532: f000 fcb9 bl 8022ea8 8022536: eef0 7a40 vmov.f32 s15, s0 802253a: ee68 6a27 vmul.f32 s13, s16, s15 802253e: ed97 7a01 vldr s14, [r7, #4] 8022542: eec6 7a87 vdiv.f32 s15, s13, s14 8022546: edc7 7a02 vstr s15, [r7, #8] while((k > m) && (f > MAXVOLTS[PEAK])) 802254a: e03a b.n 80225c2 802254c: 20023e60 .word 0x20023e60 8022550: 40021800 .word 0x40021800 8022554: 3d4ccccd .word 0x3d4ccccd 8022558: 080d0c08 .word 0x080d0c08 802255c: 447a0000 .word 0x447a0000 8022560: 080d0c60 .word 0x080d0c60 8022564: 20021d1c .word 0x20021d1c 8022568: 080d0c4c .word 0x080d0c4c 802256c: 20021cdc .word 0x20021cdc 8022570: 20020db1 .word 0x20020db1 { k--; 8022574: 7bbb ldrb r3, [r7, #14] 8022576: 3b01 subs r3, #1 8022578: b2db uxtb r3, r3 802257a: 73bb strb r3, [r7, #14] f = ((pardata.MAX_VAL - 0.05f) * pardata.IKK * KM[k] * CorrKm(&k)) / f1; 802257c: 4ba9 ldr r3, [pc, #676] ; (8022824 ) 802257e: edd3 7a06 vldr s15, [r3, #24] 8022582: ed9f 7aa9 vldr s14, [pc, #676] ; 8022828 8022586: ee37 7ac7 vsub.f32 s14, s15, s14 802258a: 4ba6 ldr r3, [pc, #664] ; (8022824 ) 802258c: edd3 7a04 vldr s15, [r3, #16] 8022590: ee27 7a27 vmul.f32 s14, s14, s15 8022594: 7bbb ldrb r3, [r7, #14] 8022596: 4aa5 ldr r2, [pc, #660] ; (802282c ) 8022598: 009b lsls r3, r3, #2 802259a: 4413 add r3, r2 802259c: edd3 7a00 vldr s15, [r3] 80225a0: ee27 8a27 vmul.f32 s16, s14, s15 80225a4: f107 030e add.w r3, r7, #14 80225a8: 4618 mov r0, r3 80225aa: f000 fc7d bl 8022ea8 80225ae: eef0 7a40 vmov.f32 s15, s0 80225b2: ee68 6a27 vmul.f32 s13, s16, s15 80225b6: ed97 7a01 vldr s14, [r7, #4] 80225ba: eec6 7a87 vdiv.f32 s15, s13, s14 80225be: edc7 7a02 vstr s15, [r7, #8] while((k > m) && (f > MAXVOLTS[PEAK])) 80225c2: 7bbb ldrb r3, [r7, #14] 80225c4: 7bfa ldrb r2, [r7, #15] 80225c6: 429a cmp r2, r3 80225c8: d208 bcs.n 80225dc 80225ca: ed9f 7a99 vldr s14, [pc, #612] ; 8022830 80225ce: edd7 7a02 vldr s15, [r7, #8] 80225d2: eeb4 7ae7 vcmpe.f32 s14, s15 80225d6: eef1 fa10 vmrs APSR_nzcv, fpscr 80225da: d4cb bmi.n 8022574 } pardata.IKU = k; 80225dc: 7bba ldrb r2, [r7, #14] 80225de: 4b91 ldr r3, [pc, #580] ; (8022824 ) 80225e0: 721a strb r2, [r3, #8] SetKU(); 80225e2: f7ff f947 bl 8021874 fm = (pardata.MAX_VAL - 0.05f) * pardata.IKK * KM[k] / f1; 80225e6: 4b8f ldr r3, [pc, #572] ; (8022824 ) 80225e8: edd3 7a06 vldr s15, [r3, #24] 80225ec: ed9f 7a8e vldr s14, [pc, #568] ; 8022828 80225f0: ee37 7ac7 vsub.f32 s14, s15, s14 80225f4: 4b8b ldr r3, [pc, #556] ; (8022824 ) 80225f6: edd3 7a04 vldr s15, [r3, #16] 80225fa: ee27 7a27 vmul.f32 s14, s14, s15 80225fe: 7bbb ldrb r3, [r7, #14] 8022600: 4a8a ldr r2, [pc, #552] ; (802282c ) 8022602: 009b lsls r3, r3, #2 8022604: 4413 add r3, r2 8022606: edd3 7a00 vldr s15, [r3] 802260a: ee67 6a27 vmul.f32 s13, s14, s15 802260e: ed97 7a01 vldr s14, [r7, #4] 8022612: eec6 7a87 vdiv.f32 s15, s13, s14 8022616: edc7 7a00 vstr s15, [r7] f = (pardata.THR_VAL - 0.05f) * fm / (pardata.MAX_VAL - 0.05f); 802261a: 4b82 ldr r3, [pc, #520] ; (8022824 ) 802261c: edd3 7a05 vldr s15, [r3, #20] 8022620: ed9f 7a81 vldr s14, [pc, #516] ; 8022828 8022624: ee37 7ac7 vsub.f32 s14, s15, s14 8022628: edd7 7a00 vldr s15, [r7] 802262c: ee67 6a27 vmul.f32 s13, s14, s15 8022630: 4b7c ldr r3, [pc, #496] ; (8022824 ) 8022632: edd3 7a06 vldr s15, [r3, #24] 8022636: ed9f 7a7c vldr s14, [pc, #496] ; 8022828 802263a: ee37 7ac7 vsub.f32 s14, s15, s14 802263e: eec6 7a87 vdiv.f32 s15, s13, s14 8022642: edc7 7a02 vstr s15, [r7, #8] f *= CorrKm(&k); 8022646: f107 030e add.w r3, r7, #14 802264a: 4618 mov r0, r3 802264c: f000 fc2c bl 8022ea8 8022650: eeb0 7a40 vmov.f32 s14, s0 8022654: edd7 7a02 vldr s15, [r7, #8] 8022658: ee67 7a27 vmul.f32 s15, s14, s15 802265c: edc7 7a02 vstr s15, [r7, #8] f *= 0.001f; 8022660: edd7 7a02 vldr s15, [r7, #8] 8022664: ed9f 7a73 vldr s14, [pc, #460] ; 8022834 8022668: ee67 7a87 vmul.f32 s15, s15, s14 802266c: edc7 7a02 vstr s15, [r7, #8] f /= _b24; 8022670: ed97 7a02 vldr s14, [r7, #8] 8022674: eddf 6a70 vldr s13, [pc, #448] ; 8022838 8022678: eec7 7a26 vdiv.f32 s15, s14, s13 802267c: edc7 7a02 vstr s15, [r7, #8] f += 0.5f; 8022680: edd7 7a02 vldr s15, [r7, #8] 8022684: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8022688: ee77 7a87 vadd.f32 s15, s15, s14 802268c: edc7 7a02 vstr s15, [r7, #8] adcThr = (uint32_t) f; 8022690: edd7 7a02 vldr s15, [r7, #8] 8022694: eefc 7ae7 vcvt.u32.f32 s15, s15 8022698: ee17 2a90 vmov r2, s15 802269c: 4b67 ldr r3, [pc, #412] ; (802283c ) 802269e: 601a str r2, [r3, #0] if(adcThr > MEAN - 1) { 80226a0: 4b66 ldr r3, [pc, #408] ; (802283c ) 80226a2: 681b ldr r3, [r3, #0] 80226a4: ee07 3a90 vmov s15, r3 80226a8: eeb8 7a67 vcvt.f32.u32 s14, s15 80226ac: 4b64 ldr r3, [pc, #400] ; (8022840 ) 80226ae: edd3 7a00 vldr s15, [r3] 80226b2: eef7 6a00 vmov.f32 s13, #112 ; 0x3f800000 1.0 80226b6: ee77 7ae6 vsub.f32 s15, s15, s13 80226ba: eeb4 7ae7 vcmpe.f32 s14, s15 80226be: eef1 fa10 vmrs APSR_nzcv, fpscr 80226c2: dd0c ble.n 80226de adcThr = MEAN - 1; 80226c4: 4b5e ldr r3, [pc, #376] ; (8022840 ) 80226c6: edd3 7a00 vldr s15, [r3] 80226ca: eeb7 7a00 vmov.f32 s14, #112 ; 0x3f800000 1.0 80226ce: ee77 7ac7 vsub.f32 s15, s15, s14 80226d2: eefc 7ae7 vcvt.u32.f32 s15, s15 80226d6: ee17 2a90 vmov r2, s15 80226da: 4b58 ldr r3, [pc, #352] ; (802283c ) 80226dc: 601a str r2, [r3, #0] } _adcThr = MEAN - adcThr; 80226de: 4b58 ldr r3, [pc, #352] ; (8022840 ) 80226e0: ed93 7a00 vldr s14, [r3] 80226e4: 4b55 ldr r3, [pc, #340] ; (802283c ) 80226e6: 681b ldr r3, [r3, #0] 80226e8: ee07 3a90 vmov s15, r3 80226ec: eef8 7a67 vcvt.f32.u32 s15, s15 80226f0: ee77 7a67 vsub.f32 s15, s14, s15 80226f4: eefc 7ae7 vcvt.u32.f32 s15, s15 80226f8: ee17 2a90 vmov r2, s15 80226fc: 4b51 ldr r3, [pc, #324] ; (8022844 ) 80226fe: 601a str r2, [r3, #0] adcThr = MEAN + adcThr; 8022700: 4b4e ldr r3, [pc, #312] ; (802283c ) 8022702: 681b ldr r3, [r3, #0] 8022704: ee07 3a90 vmov s15, r3 8022708: eeb8 7a67 vcvt.f32.u32 s14, s15 802270c: 4b4c ldr r3, [pc, #304] ; (8022840 ) 802270e: edd3 7a00 vldr s15, [r3] 8022712: ee77 7a27 vadd.f32 s15, s14, s15 8022716: eefc 7ae7 vcvt.u32.f32 s15, s15 802271a: ee17 2a90 vmov r2, s15 802271e: 4b47 ldr r3, [pc, #284] ; (802283c ) 8022720: 601a str r2, [r3, #0] 8022722: e06b b.n 80227fc } else { if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 8022724: 4b3f ldr r3, [pc, #252] ; (8022824 ) 8022726: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 802272a: f003 0304 and.w r3, r3, #4 802272e: 2b00 cmp r3, #0 8022730: d15f bne.n 80227f2 { k = Ku640; 8022732: 230a movs r3, #10 8022734: 73bb strb r3, [r7, #14] f = ((pardata.MAX_VAL - 0.05f) * pardata.IKK * KM[k] * CorrKm(&k)) / f1; 8022736: 4b3b ldr r3, [pc, #236] ; (8022824 ) 8022738: edd3 7a06 vldr s15, [r3, #24] 802273c: ed9f 7a3a vldr s14, [pc, #232] ; 8022828 8022740: ee37 7ac7 vsub.f32 s14, s15, s14 8022744: 4b37 ldr r3, [pc, #220] ; (8022824 ) 8022746: edd3 7a04 vldr s15, [r3, #16] 802274a: ee27 7a27 vmul.f32 s14, s14, s15 802274e: 7bbb ldrb r3, [r7, #14] 8022750: 4a36 ldr r2, [pc, #216] ; (802282c ) 8022752: 009b lsls r3, r3, #2 8022754: 4413 add r3, r2 8022756: edd3 7a00 vldr s15, [r3] 802275a: ee27 8a27 vmul.f32 s16, s14, s15 802275e: f107 030e add.w r3, r7, #14 8022762: 4618 mov r0, r3 8022764: f000 fba0 bl 8022ea8 8022768: eef0 7a40 vmov.f32 s15, s0 802276c: ee68 6a27 vmul.f32 s13, s16, s15 8022770: ed97 7a01 vldr s14, [r7, #4] 8022774: eec6 7a87 vdiv.f32 s15, s13, s14 8022778: edc7 7a02 vstr s15, [r7, #8] while((k > m) && (f > MAXVOLTS[PEAK])) 802277c: e026 b.n 80227cc { k--; 802277e: 7bbb ldrb r3, [r7, #14] 8022780: 3b01 subs r3, #1 8022782: b2db uxtb r3, r3 8022784: 73bb strb r3, [r7, #14] f = ((pardata.MAX_VAL - 0.05f) * pardata.IKK * KM[k] * CorrKm(&k)) / f1; 8022786: 4b27 ldr r3, [pc, #156] ; (8022824 ) 8022788: edd3 7a06 vldr s15, [r3, #24] 802278c: ed9f 7a26 vldr s14, [pc, #152] ; 8022828 8022790: ee37 7ac7 vsub.f32 s14, s15, s14 8022794: 4b23 ldr r3, [pc, #140] ; (8022824 ) 8022796: edd3 7a04 vldr s15, [r3, #16] 802279a: ee27 7a27 vmul.f32 s14, s14, s15 802279e: 7bbb ldrb r3, [r7, #14] 80227a0: 4a22 ldr r2, [pc, #136] ; (802282c ) 80227a2: 009b lsls r3, r3, #2 80227a4: 4413 add r3, r2 80227a6: edd3 7a00 vldr s15, [r3] 80227aa: ee27 8a27 vmul.f32 s16, s14, s15 80227ae: f107 030e add.w r3, r7, #14 80227b2: 4618 mov r0, r3 80227b4: f000 fb78 bl 8022ea8 80227b8: eef0 7a40 vmov.f32 s15, s0 80227bc: ee68 6a27 vmul.f32 s13, s16, s15 80227c0: ed97 7a01 vldr s14, [r7, #4] 80227c4: eec6 7a87 vdiv.f32 s15, s13, s14 80227c8: edc7 7a02 vstr s15, [r7, #8] while((k > m) && (f > MAXVOLTS[PEAK])) 80227cc: 7bbb ldrb r3, [r7, #14] 80227ce: 7bfa ldrb r2, [r7, #15] 80227d0: 429a cmp r2, r3 80227d2: d208 bcs.n 80227e6 80227d4: ed9f 7a16 vldr s14, [pc, #88] ; 8022830 80227d8: edd7 7a02 vldr s15, [r7, #8] 80227dc: eeb4 7ae7 vcmpe.f32 s14, s15 80227e0: eef1 fa10 vmrs APSR_nzcv, fpscr 80227e4: d4cb bmi.n 802277e } pardata.IKU = k; 80227e6: 7bba ldrb r2, [r7, #14] 80227e8: 4b0e ldr r3, [pc, #56] ; (8022824 ) 80227ea: 721a strb r2, [r3, #8] SetKU(); 80227ec: f7ff f842 bl 8021874 80227f0: e004 b.n 80227fc } else { pardata.IKU = Ku1; 80227f2: 4b0c ldr r3, [pc, #48] ; (8022824 ) 80227f4: 2200 movs r2, #0 80227f6: 721a strb r2, [r3, #8] SetKU(); 80227f8: f7ff f83c bl 8021874 } } Fs = FS[pardata.FRQ]; 80227fc: 4b09 ldr r3, [pc, #36] ; (8022824 ) 80227fe: 7adb ldrb r3, [r3, #11] 8022800: b2db uxtb r3, r3 8022802: 461a mov r2, r3 8022804: 4b10 ldr r3, [pc, #64] ; (8022848 ) 8022806: f853 3022 ldr.w r3, [r3, r2, lsl #2] 802280a: 4a10 ldr r2, [pc, #64] ; (802284c ) 802280c: 6013 str r3, [r2, #0] Ns = NS[pardata.LNE]; 802280e: 4b05 ldr r3, [pc, #20] ; (8022824 ) 8022810: 79db ldrb r3, [r3, #7] 8022812: b2db uxtb r3, r3 8022814: 461a mov r2, r3 8022816: 4b0e ldr r3, [pc, #56] ; (8022850 ) 8022818: f853 3022 ldr.w r3, [r3, r2, lsl #2] 802281c: 4a0d ldr r2, [pc, #52] ; (8022854 ) 802281e: 6013 str r3, [r2, #0] 8022820: e07e b.n 8022920 8022822: bf00 nop 8022824: 20023e60 .word 0x20023e60 8022828: 3d4ccccd .word 0x3d4ccccd 802282c: 080d0c08 .word 0x080d0c08 8022830: 447a0000 .word 0x447a0000 8022834: 3a83126f .word 0x3a83126f 8022838: 34400000 .word 0x34400000 802283c: 20020dbc .word 0x20020dbc 8022840: 200209cc .word 0x200209cc 8022844: 20020dc0 .word 0x20020dc0 8022848: 080d0c60 .word 0x080d0c60 802284c: 20021d1c .word 0x20021d1c 8022850: 080d0c4c .word 0x080d0c4c 8022854: 20021cdc .word 0x20021cdc } else if(pardata.SYG == UDAR) 8022858: 4ba8 ldr r3, [pc, #672] ; (8022afc ) 802285a: 781b ldrb r3, [r3, #0] 802285c: b2db uxtb r3, r3 802285e: 2b09 cmp r3, #9 8022860: d15e bne.n 8022920 { #ifdef USE_ADG5401 HAL_GPIO_WritePin(KU_GPIO_Port, KU_Pin, GPIO_PIN_SET); #else HAL_GPIO_WritePin(KU_GPIO_Port, KU_Pin, GPIO_PIN_RESET); 8022862: 2200 movs r2, #0 8022864: f44f 4180 mov.w r1, #16384 ; 0x4000 8022868: 48a5 ldr r0, [pc, #660] ; (8022b00 ) 802286a: f093 f9a1 bl 80b5bb0 #endif pardata.FRQ = _64000Hz; 802286e: 4ba3 ldr r3, [pc, #652] ; (8022afc ) 8022870: 2209 movs r2, #9 8022872: 72da strb r2, [r3, #11] pardata.LNE = N6400; 8022874: 4ba1 ldr r3, [pc, #644] ; (8022afc ) 8022876: 2204 movs r2, #4 8022878: 71da strb r2, [r3, #7] AUTOKU = true; 802287a: 4ba2 ldr r3, [pc, #648] ; (8022b04 ) 802287c: 2201 movs r2, #1 802287e: 701a strb r2, [r3, #0] pardata.IKU = Ku8; 8022880: 4b9e ldr r3, [pc, #632] ; (8022afc ) 8022882: 2203 movs r2, #3 8022884: 721a strb r2, [r3, #8] SetKU(); 8022886: f7fe fff5 bl 8021874 Fs = 250000; 802288a: 4b9f ldr r3, [pc, #636] ; (8022b08 ) 802288c: 4a9f ldr r2, [pc, #636] ; (8022b0c ) 802288e: 601a str r2, [r3, #0] Ns = NS[pardata.LNE]; 8022890: 4b9a ldr r3, [pc, #616] ; (8022afc ) 8022892: 79db ldrb r3, [r3, #7] 8022894: b2db uxtb r3, r3 8022896: 461a mov r2, r3 8022898: 4b9d ldr r3, [pc, #628] ; (8022b10 ) 802289a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 802289e: 4a9d ldr r2, [pc, #628] ; (8022b14 ) 80228a0: 6013 str r3, [r2, #0] RefreshGraf(); 80228a2: f030 fa73 bl 8052d8c dBi = (float32_t) Calc_dBi((float64_t) pardata.D_INNER, (float64_t) pardata.D_RATE); 80228a6: 4b95 ldr r3, [pc, #596] ; (8022afc ) 80228a8: edd3 7a32 vldr s15, [r3, #200] ; 0xc8 80228ac: eeb7 7ae7 vcvt.f64.f32 d7, s15 80228b0: 4b92 ldr r3, [pc, #584] ; (8022afc ) 80228b2: f8d3 30d0 ldr.w r3, [r3, #208] ; 0xd0 80228b6: ee06 3a90 vmov s13, r3 80228ba: eeb8 6b66 vcvt.f64.u32 d6, s13 80228be: eeb0 1b46 vmov.f64 d1, d6 80228c2: eeb0 0b47 vmov.f64 d0, d7 80228c6: f001 f8b7 bl 8023a38 80228ca: eeb0 7b40 vmov.f64 d7, d0 80228ce: eef7 7bc7 vcvt.f32.f64 s15, d7 80228d2: 4b91 ldr r3, [pc, #580] ; (8022b18 ) 80228d4: edc3 7a00 vstr s15, [r3] dBi += 0.5f; 80228d8: 4b8f ldr r3, [pc, #572] ; (8022b18 ) 80228da: edd3 7a00 vldr s15, [r3] 80228de: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80228e2: ee77 7a87 vadd.f32 s15, s15, s14 80228e6: 4b8c ldr r3, [pc, #560] ; (8022b18 ) 80228e8: edc3 7a00 vstr s15, [r3] if(dBi < -20.0f) dBi = -20.0f; 80228ec: 4b8a ldr r3, [pc, #552] ; (8022b18 ) 80228ee: edd3 7a00 vldr s15, [r3] 80228f2: eebb 7a04 vmov.f32 s14, #180 ; 0xc1a00000 -20.0 80228f6: eef4 7ac7 vcmpe.f32 s15, s14 80228fa: eef1 fa10 vmrs APSR_nzcv, fpscr 80228fe: d502 bpl.n 8022906 8022900: 4b85 ldr r3, [pc, #532] ; (8022b18 ) 8022902: 4a86 ldr r2, [pc, #536] ; (8022b1c ) 8022904: 601a str r2, [r3, #0] if(dBi > 40.0f) dBi = 40.0f; 8022906: 4b84 ldr r3, [pc, #528] ; (8022b18 ) 8022908: edd3 7a00 vldr s15, [r3] 802290c: ed9f 7a84 vldr s14, [pc, #528] ; 8022b20 8022910: eef4 7ac7 vcmpe.f32 s15, s14 8022914: eef1 fa10 vmrs APSR_nzcv, fpscr 8022918: dd02 ble.n 8022920 802291a: 4b7f ldr r3, [pc, #508] ; (8022b18 ) 802291c: 4a81 ldr r2, [pc, #516] ; (8022b24 ) 802291e: 601a str r2, [r3, #0] } //******************************************************************************************************************************************************************* switch(Fs) 8022920: 4b79 ldr r3, [pc, #484] ; (8022b08 ) 8022922: 681b ldr r3, [r3, #0] 8022924: f5b3 6f7a cmp.w r3, #4000 ; 0xfa0 8022928: f000 8096 beq.w 8022a58 802292c: f5b3 6f7a cmp.w r3, #4000 ; 0xfa0 8022930: d811 bhi.n 8022956 8022932: f5b3 7ffa cmp.w r3, #500 ; 0x1f4 8022936: d02f beq.n 8022998 8022938: f5b3 7ffa cmp.w r3, #500 ; 0x1f4 802293c: d804 bhi.n 8022948 802293e: 2b7d cmp r3, #125 ; 0x7d 8022940: d022 beq.n 8022988 8022942: 2bfa cmp r3, #250 ; 0xfa 8022944: d024 beq.n 8022990 8022946: e19e b.n 8022c86 8022948: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 802294c: d028 beq.n 80229a0 802294e: f5b3 6ffa cmp.w r3, #2000 ; 0x7d0 8022952: d053 beq.n 80229fc 8022954: e197 b.n 8022c86 8022956: f5b3 4ffa cmp.w r3, #32000 ; 0x7d00 802295a: f000 811f beq.w 8022b9c 802295e: f5b3 4ffa cmp.w r3, #32000 ; 0x7d00 8022962: d808 bhi.n 8022976 8022964: f5b3 5ffa cmp.w r3, #8000 ; 0x1f40 8022968: f000 80a4 beq.w 8022ab4 802296c: f5b3 5f7a cmp.w r3, #16000 ; 0x3e80 8022970: f000 80e6 beq.w 8022b40 8022974: e187 b.n 8022c86 8022976: f5b3 4f7a cmp.w r3, #64000 ; 0xfa00 802297a: f000 813c beq.w 8022bf6 802297e: 4a63 ldr r2, [pc, #396] ; (8022b0c ) 8022980: 4293 cmp r3, r2 8022982: f000 8165 beq.w 8022c50 8022986: e17e b.n 8022c86 { case 125: Nr = 1; 8022988: 4b67 ldr r3, [pc, #412] ; (8022b28 ) 802298a: 2201 movs r2, #1 802298c: 801a strh r2, [r3, #0] break; 802298e: e18d b.n 8022cac case 250: Nr = 1; 8022990: 4b65 ldr r3, [pc, #404] ; (8022b28 ) 8022992: 2201 movs r2, #1 8022994: 801a strh r2, [r3, #0] break; 8022996: e189 b.n 8022cac case 500: Nr = 1; 8022998: 4b63 ldr r3, [pc, #396] ; (8022b28 ) 802299a: 2201 movs r2, #1 802299c: 801a strh r2, [r3, #0] break; 802299e: e185 b.n 8022cac case 1000: if(Ns == 1024) Nr = 1; 80229a0: 4b5c ldr r3, [pc, #368] ; (8022b14 ) 80229a2: 681b ldr r3, [r3, #0] 80229a4: f5b3 6f80 cmp.w r3, #1024 ; 0x400 80229a8: d103 bne.n 80229b2 80229aa: 4b5f ldr r3, [pc, #380] ; (8022b28 ) 80229ac: 2201 movs r2, #1 80229ae: 801a strh r2, [r3, #0] else if(Ns == 2048) Nr = 1; else if(Ns == 4096) Nr = 1; else if(Ns == 8192) Nr = 1; else if(Ns == 16384) Nr = 1; break; 80229b0: e16d b.n 8022c8e else if(Ns == 2048) Nr = 1; 80229b2: 4b58 ldr r3, [pc, #352] ; (8022b14 ) 80229b4: 681b ldr r3, [r3, #0] 80229b6: f5b3 6f00 cmp.w r3, #2048 ; 0x800 80229ba: d103 bne.n 80229c4 80229bc: 4b5a ldr r3, [pc, #360] ; (8022b28 ) 80229be: 2201 movs r2, #1 80229c0: 801a strh r2, [r3, #0] break; 80229c2: e164 b.n 8022c8e else if(Ns == 4096) Nr = 1; 80229c4: 4b53 ldr r3, [pc, #332] ; (8022b14 ) 80229c6: 681b ldr r3, [r3, #0] 80229c8: f5b3 5f80 cmp.w r3, #4096 ; 0x1000 80229cc: d103 bne.n 80229d6 80229ce: 4b56 ldr r3, [pc, #344] ; (8022b28 ) 80229d0: 2201 movs r2, #1 80229d2: 801a strh r2, [r3, #0] break; 80229d4: e15b b.n 8022c8e else if(Ns == 8192) Nr = 1; 80229d6: 4b4f ldr r3, [pc, #316] ; (8022b14 ) 80229d8: 681b ldr r3, [r3, #0] 80229da: f5b3 5f00 cmp.w r3, #8192 ; 0x2000 80229de: d103 bne.n 80229e8 80229e0: 4b51 ldr r3, [pc, #324] ; (8022b28 ) 80229e2: 2201 movs r2, #1 80229e4: 801a strh r2, [r3, #0] break; 80229e6: e152 b.n 8022c8e else if(Ns == 16384) Nr = 1; 80229e8: 4b4a ldr r3, [pc, #296] ; (8022b14 ) 80229ea: 681b ldr r3, [r3, #0] 80229ec: f5b3 4f80 cmp.w r3, #16384 ; 0x4000 80229f0: f040 814d bne.w 8022c8e 80229f4: 4b4c ldr r3, [pc, #304] ; (8022b28 ) 80229f6: 2201 movs r2, #1 80229f8: 801a strh r2, [r3, #0] break; 80229fa: e148 b.n 8022c8e case 2000: if(Ns == 1024) Nr = 1; 80229fc: 4b45 ldr r3, [pc, #276] ; (8022b14 ) 80229fe: 681b ldr r3, [r3, #0] 8022a00: f5b3 6f80 cmp.w r3, #1024 ; 0x400 8022a04: d103 bne.n 8022a0e 8022a06: 4b48 ldr r3, [pc, #288] ; (8022b28 ) 8022a08: 2201 movs r2, #1 8022a0a: 801a strh r2, [r3, #0] else if(Ns == 2048) Nr = 1; else if(Ns == 4096) Nr = 1; else if(Ns == 8192) Nr = 1; else if(Ns == 16384) Nr = 1; break; 8022a0c: e141 b.n 8022c92 else if(Ns == 2048) Nr = 1; 8022a0e: 4b41 ldr r3, [pc, #260] ; (8022b14 ) 8022a10: 681b ldr r3, [r3, #0] 8022a12: f5b3 6f00 cmp.w r3, #2048 ; 0x800 8022a16: d103 bne.n 8022a20 8022a18: 4b43 ldr r3, [pc, #268] ; (8022b28 ) 8022a1a: 2201 movs r2, #1 8022a1c: 801a strh r2, [r3, #0] break; 8022a1e: e138 b.n 8022c92 else if(Ns == 4096) Nr = 1; 8022a20: 4b3c ldr r3, [pc, #240] ; (8022b14 ) 8022a22: 681b ldr r3, [r3, #0] 8022a24: f5b3 5f80 cmp.w r3, #4096 ; 0x1000 8022a28: d103 bne.n 8022a32 8022a2a: 4b3f ldr r3, [pc, #252] ; (8022b28 ) 8022a2c: 2201 movs r2, #1 8022a2e: 801a strh r2, [r3, #0] break; 8022a30: e12f b.n 8022c92 else if(Ns == 8192) Nr = 1; 8022a32: 4b38 ldr r3, [pc, #224] ; (8022b14 ) 8022a34: 681b ldr r3, [r3, #0] 8022a36: f5b3 5f00 cmp.w r3, #8192 ; 0x2000 8022a3a: d103 bne.n 8022a44 8022a3c: 4b3a ldr r3, [pc, #232] ; (8022b28 ) 8022a3e: 2201 movs r2, #1 8022a40: 801a strh r2, [r3, #0] break; 8022a42: e126 b.n 8022c92 else if(Ns == 16384) Nr = 1; 8022a44: 4b33 ldr r3, [pc, #204] ; (8022b14 ) 8022a46: 681b ldr r3, [r3, #0] 8022a48: f5b3 4f80 cmp.w r3, #16384 ; 0x4000 8022a4c: f040 8121 bne.w 8022c92 8022a50: 4b35 ldr r3, [pc, #212] ; (8022b28 ) 8022a52: 2201 movs r2, #1 8022a54: 801a strh r2, [r3, #0] break; 8022a56: e11c b.n 8022c92 case 4000: if(Ns == 1024) Nr = 1; 8022a58: 4b2e ldr r3, [pc, #184] ; (8022b14 ) 8022a5a: 681b ldr r3, [r3, #0] 8022a5c: f5b3 6f80 cmp.w r3, #1024 ; 0x400 8022a60: d103 bne.n 8022a6a 8022a62: 4b31 ldr r3, [pc, #196] ; (8022b28 ) 8022a64: 2201 movs r2, #1 8022a66: 801a strh r2, [r3, #0] else if(Ns == 2048) Nr = 1; else if(Ns == 4096) Nr = 1; else if(Ns == 8192) Nr = 1; else if(Ns == 16384) Nr = 1; break; 8022a68: e115 b.n 8022c96 else if(Ns == 2048) Nr = 1; 8022a6a: 4b2a ldr r3, [pc, #168] ; (8022b14 ) 8022a6c: 681b ldr r3, [r3, #0] 8022a6e: f5b3 6f00 cmp.w r3, #2048 ; 0x800 8022a72: d103 bne.n 8022a7c 8022a74: 4b2c ldr r3, [pc, #176] ; (8022b28 ) 8022a76: 2201 movs r2, #1 8022a78: 801a strh r2, [r3, #0] break; 8022a7a: e10c b.n 8022c96 else if(Ns == 4096) Nr = 1; 8022a7c: 4b25 ldr r3, [pc, #148] ; (8022b14 ) 8022a7e: 681b ldr r3, [r3, #0] 8022a80: f5b3 5f80 cmp.w r3, #4096 ; 0x1000 8022a84: d103 bne.n 8022a8e 8022a86: 4b28 ldr r3, [pc, #160] ; (8022b28 ) 8022a88: 2201 movs r2, #1 8022a8a: 801a strh r2, [r3, #0] break; 8022a8c: e103 b.n 8022c96 else if(Ns == 8192) Nr = 1; 8022a8e: 4b21 ldr r3, [pc, #132] ; (8022b14 ) 8022a90: 681b ldr r3, [r3, #0] 8022a92: f5b3 5f00 cmp.w r3, #8192 ; 0x2000 8022a96: d103 bne.n 8022aa0 8022a98: 4b23 ldr r3, [pc, #140] ; (8022b28 ) 8022a9a: 2201 movs r2, #1 8022a9c: 801a strh r2, [r3, #0] break; 8022a9e: e0fa b.n 8022c96 else if(Ns == 16384) Nr = 1; 8022aa0: 4b1c ldr r3, [pc, #112] ; (8022b14 ) 8022aa2: 681b ldr r3, [r3, #0] 8022aa4: f5b3 4f80 cmp.w r3, #16384 ; 0x4000 8022aa8: f040 80f5 bne.w 8022c96 8022aac: 4b1e ldr r3, [pc, #120] ; (8022b28 ) 8022aae: 2201 movs r2, #1 8022ab0: 801a strh r2, [r3, #0] break; 8022ab2: e0f0 b.n 8022c96 case 8000: if(Ns == 1024) Nr = 16; 8022ab4: 4b17 ldr r3, [pc, #92] ; (8022b14 ) 8022ab6: 681b ldr r3, [r3, #0] 8022ab8: f5b3 6f80 cmp.w r3, #1024 ; 0x400 8022abc: d103 bne.n 8022ac6 8022abe: 4b1a ldr r3, [pc, #104] ; (8022b28 ) 8022ac0: 2210 movs r2, #16 8022ac2: 801a strh r2, [r3, #0] else if(Ns == 2048) Nr = 8; else if(Ns == 4096) Nr = 4; else if(Ns == 8192) Nr = 2; else if(Ns == 16384) Nr = 1; break; 8022ac4: e0e9 b.n 8022c9a else if(Ns == 2048) Nr = 8; 8022ac6: 4b13 ldr r3, [pc, #76] ; (8022b14 ) 8022ac8: 681b ldr r3, [r3, #0] 8022aca: f5b3 6f00 cmp.w r3, #2048 ; 0x800 8022ace: d103 bne.n 8022ad8 8022ad0: 4b15 ldr r3, [pc, #84] ; (8022b28 ) 8022ad2: 2208 movs r2, #8 8022ad4: 801a strh r2, [r3, #0] break; 8022ad6: e0e0 b.n 8022c9a else if(Ns == 4096) Nr = 4; 8022ad8: 4b0e ldr r3, [pc, #56] ; (8022b14 ) 8022ada: 681b ldr r3, [r3, #0] 8022adc: f5b3 5f80 cmp.w r3, #4096 ; 0x1000 8022ae0: d103 bne.n 8022aea 8022ae2: 4b11 ldr r3, [pc, #68] ; (8022b28 ) 8022ae4: 2204 movs r2, #4 8022ae6: 801a strh r2, [r3, #0] break; 8022ae8: e0d7 b.n 8022c9a else if(Ns == 8192) Nr = 2; 8022aea: 4b0a ldr r3, [pc, #40] ; (8022b14 ) 8022aec: 681b ldr r3, [r3, #0] 8022aee: f5b3 5f00 cmp.w r3, #8192 ; 0x2000 8022af2: d11b bne.n 8022b2c 8022af4: 4b0c ldr r3, [pc, #48] ; (8022b28 ) 8022af6: 2202 movs r2, #2 8022af8: 801a strh r2, [r3, #0] break; 8022afa: e0ce b.n 8022c9a 8022afc: 20023e60 .word 0x20023e60 8022b00: 40021800 .word 0x40021800 8022b04: 20020029 .word 0x20020029 8022b08: 20021d1c .word 0x20021d1c 8022b0c: 0003d090 .word 0x0003d090 8022b10: 080d0c4c .word 0x080d0c4c 8022b14: 20021cdc .word 0x20021cdc 8022b18: 20020d98 .word 0x20020d98 8022b1c: c1a00000 .word 0xc1a00000 8022b20: 42200000 .word 0x42200000 8022b24: 42200000 .word 0x42200000 8022b28: 20021d20 .word 0x20021d20 else if(Ns == 16384) Nr = 1; 8022b2c: 4b80 ldr r3, [pc, #512] ; (8022d30 ) 8022b2e: 681b ldr r3, [r3, #0] 8022b30: f5b3 4f80 cmp.w r3, #16384 ; 0x4000 8022b34: f040 80b1 bne.w 8022c9a 8022b38: 4b7e ldr r3, [pc, #504] ; (8022d34 ) 8022b3a: 2201 movs r2, #1 8022b3c: 801a strh r2, [r3, #0] break; 8022b3e: e0ac b.n 8022c9a case 16000: if(Ns == 1024) Nr = 32; 8022b40: 4b7b ldr r3, [pc, #492] ; (8022d30 ) 8022b42: 681b ldr r3, [r3, #0] 8022b44: f5b3 6f80 cmp.w r3, #1024 ; 0x400 8022b48: d103 bne.n 8022b52 8022b4a: 4b7a ldr r3, [pc, #488] ; (8022d34 ) 8022b4c: 2220 movs r2, #32 8022b4e: 801a strh r2, [r3, #0] else if(Ns == 2048) Nr = 16; else if(Ns == 4096) Nr = 8; else if(Ns == 8192) Nr = 4; else if(Ns == 16384) Nr = 2; break; 8022b50: e0a5 b.n 8022c9e else if(Ns == 2048) Nr = 16; 8022b52: 4b77 ldr r3, [pc, #476] ; (8022d30 ) 8022b54: 681b ldr r3, [r3, #0] 8022b56: f5b3 6f00 cmp.w r3, #2048 ; 0x800 8022b5a: d103 bne.n 8022b64 8022b5c: 4b75 ldr r3, [pc, #468] ; (8022d34 ) 8022b5e: 2210 movs r2, #16 8022b60: 801a strh r2, [r3, #0] break; 8022b62: e09c b.n 8022c9e else if(Ns == 4096) Nr = 8; 8022b64: 4b72 ldr r3, [pc, #456] ; (8022d30 ) 8022b66: 681b ldr r3, [r3, #0] 8022b68: f5b3 5f80 cmp.w r3, #4096 ; 0x1000 8022b6c: d103 bne.n 8022b76 8022b6e: 4b71 ldr r3, [pc, #452] ; (8022d34 ) 8022b70: 2208 movs r2, #8 8022b72: 801a strh r2, [r3, #0] break; 8022b74: e093 b.n 8022c9e else if(Ns == 8192) Nr = 4; 8022b76: 4b6e ldr r3, [pc, #440] ; (8022d30 ) 8022b78: 681b ldr r3, [r3, #0] 8022b7a: f5b3 5f00 cmp.w r3, #8192 ; 0x2000 8022b7e: d103 bne.n 8022b88 8022b80: 4b6c ldr r3, [pc, #432] ; (8022d34 ) 8022b82: 2204 movs r2, #4 8022b84: 801a strh r2, [r3, #0] break; 8022b86: e08a b.n 8022c9e else if(Ns == 16384) Nr = 2; 8022b88: 4b69 ldr r3, [pc, #420] ; (8022d30 ) 8022b8a: 681b ldr r3, [r3, #0] 8022b8c: f5b3 4f80 cmp.w r3, #16384 ; 0x4000 8022b90: f040 8085 bne.w 8022c9e 8022b94: 4b67 ldr r3, [pc, #412] ; (8022d34 ) 8022b96: 2202 movs r2, #2 8022b98: 801a strh r2, [r3, #0] break; 8022b9a: e080 b.n 8022c9e case 32000: if(Ns == 1024) Nr = 64; 8022b9c: 4b64 ldr r3, [pc, #400] ; (8022d30 ) 8022b9e: 681b ldr r3, [r3, #0] 8022ba0: f5b3 6f80 cmp.w r3, #1024 ; 0x400 8022ba4: d103 bne.n 8022bae 8022ba6: 4b63 ldr r3, [pc, #396] ; (8022d34 ) 8022ba8: 2240 movs r2, #64 ; 0x40 8022baa: 801a strh r2, [r3, #0] else if(Ns == 2048) Nr = 32; else if(Ns == 4096) Nr = 16; else if(Ns == 8192) Nr = 8; else if(Ns == 16384) Nr = 4; break; 8022bac: e079 b.n 8022ca2 else if(Ns == 2048) Nr = 32; 8022bae: 4b60 ldr r3, [pc, #384] ; (8022d30 ) 8022bb0: 681b ldr r3, [r3, #0] 8022bb2: f5b3 6f00 cmp.w r3, #2048 ; 0x800 8022bb6: d103 bne.n 8022bc0 8022bb8: 4b5e ldr r3, [pc, #376] ; (8022d34 ) 8022bba: 2220 movs r2, #32 8022bbc: 801a strh r2, [r3, #0] break; 8022bbe: e070 b.n 8022ca2 else if(Ns == 4096) Nr = 16; 8022bc0: 4b5b ldr r3, [pc, #364] ; (8022d30 ) 8022bc2: 681b ldr r3, [r3, #0] 8022bc4: f5b3 5f80 cmp.w r3, #4096 ; 0x1000 8022bc8: d103 bne.n 8022bd2 8022bca: 4b5a ldr r3, [pc, #360] ; (8022d34 ) 8022bcc: 2210 movs r2, #16 8022bce: 801a strh r2, [r3, #0] break; 8022bd0: e067 b.n 8022ca2 else if(Ns == 8192) Nr = 8; 8022bd2: 4b57 ldr r3, [pc, #348] ; (8022d30 ) 8022bd4: 681b ldr r3, [r3, #0] 8022bd6: f5b3 5f00 cmp.w r3, #8192 ; 0x2000 8022bda: d103 bne.n 8022be4 8022bdc: 4b55 ldr r3, [pc, #340] ; (8022d34 ) 8022bde: 2208 movs r2, #8 8022be0: 801a strh r2, [r3, #0] break; 8022be2: e05e b.n 8022ca2 else if(Ns == 16384) Nr = 4; 8022be4: 4b52 ldr r3, [pc, #328] ; (8022d30 ) 8022be6: 681b ldr r3, [r3, #0] 8022be8: f5b3 4f80 cmp.w r3, #16384 ; 0x4000 8022bec: d159 bne.n 8022ca2 8022bee: 4b51 ldr r3, [pc, #324] ; (8022d34 ) 8022bf0: 2204 movs r2, #4 8022bf2: 801a strh r2, [r3, #0] break; 8022bf4: e055 b.n 8022ca2 case 64000: if(Ns == 1024) Nr = 128; 8022bf6: 4b4e ldr r3, [pc, #312] ; (8022d30 ) 8022bf8: 681b ldr r3, [r3, #0] 8022bfa: f5b3 6f80 cmp.w r3, #1024 ; 0x400 8022bfe: d103 bne.n 8022c08 8022c00: 4b4c ldr r3, [pc, #304] ; (8022d34 ) 8022c02: 2280 movs r2, #128 ; 0x80 8022c04: 801a strh r2, [r3, #0] else if(Ns == 2048) Nr = 64; else if(Ns == 4096) Nr = 32; else if(Ns == 8192) Nr = 16; else if(Ns == 16384) Nr = 8; break; 8022c06: e04e b.n 8022ca6 else if(Ns == 2048) Nr = 64; 8022c08: 4b49 ldr r3, [pc, #292] ; (8022d30 ) 8022c0a: 681b ldr r3, [r3, #0] 8022c0c: f5b3 6f00 cmp.w r3, #2048 ; 0x800 8022c10: d103 bne.n 8022c1a 8022c12: 4b48 ldr r3, [pc, #288] ; (8022d34 ) 8022c14: 2240 movs r2, #64 ; 0x40 8022c16: 801a strh r2, [r3, #0] break; 8022c18: e045 b.n 8022ca6 else if(Ns == 4096) Nr = 32; 8022c1a: 4b45 ldr r3, [pc, #276] ; (8022d30 ) 8022c1c: 681b ldr r3, [r3, #0] 8022c1e: f5b3 5f80 cmp.w r3, #4096 ; 0x1000 8022c22: d103 bne.n 8022c2c 8022c24: 4b43 ldr r3, [pc, #268] ; (8022d34 ) 8022c26: 2220 movs r2, #32 8022c28: 801a strh r2, [r3, #0] break; 8022c2a: e03c b.n 8022ca6 else if(Ns == 8192) Nr = 16; 8022c2c: 4b40 ldr r3, [pc, #256] ; (8022d30 ) 8022c2e: 681b ldr r3, [r3, #0] 8022c30: f5b3 5f00 cmp.w r3, #8192 ; 0x2000 8022c34: d103 bne.n 8022c3e 8022c36: 4b3f ldr r3, [pc, #252] ; (8022d34 ) 8022c38: 2210 movs r2, #16 8022c3a: 801a strh r2, [r3, #0] break; 8022c3c: e033 b.n 8022ca6 else if(Ns == 16384) Nr = 8; 8022c3e: 4b3c ldr r3, [pc, #240] ; (8022d30 ) 8022c40: 681b ldr r3, [r3, #0] 8022c42: f5b3 4f80 cmp.w r3, #16384 ; 0x4000 8022c46: d12e bne.n 8022ca6 8022c48: 4b3a ldr r3, [pc, #232] ; (8022d34 ) 8022c4a: 2208 movs r2, #8 8022c4c: 801a strh r2, [r3, #0] break; 8022c4e: e02a b.n 8022ca6 case 250000: if(Ns == 16384) Nr = 64; 8022c50: 4b37 ldr r3, [pc, #220] ; (8022d30 ) 8022c52: 681b ldr r3, [r3, #0] 8022c54: f5b3 4f80 cmp.w r3, #16384 ; 0x4000 8022c58: d103 bne.n 8022c62 8022c5a: 4b36 ldr r3, [pc, #216] ; (8022d34 ) 8022c5c: 2240 movs r2, #64 ; 0x40 8022c5e: 801a strh r2, [r3, #0] else if(Ns == 32768) Nr = 32; else if(Ns == 65536) Nr = 16; break; 8022c60: e023 b.n 8022caa else if(Ns == 32768) Nr = 32; 8022c62: 4b33 ldr r3, [pc, #204] ; (8022d30 ) 8022c64: 681b ldr r3, [r3, #0] 8022c66: f5b3 4f00 cmp.w r3, #32768 ; 0x8000 8022c6a: d103 bne.n 8022c74 8022c6c: 4b31 ldr r3, [pc, #196] ; (8022d34 ) 8022c6e: 2220 movs r2, #32 8022c70: 801a strh r2, [r3, #0] break; 8022c72: e01a b.n 8022caa else if(Ns == 65536) Nr = 16; 8022c74: 4b2e ldr r3, [pc, #184] ; (8022d30 ) 8022c76: 681b ldr r3, [r3, #0] 8022c78: f5b3 3f80 cmp.w r3, #65536 ; 0x10000 8022c7c: d115 bne.n 8022caa 8022c7e: 4b2d ldr r3, [pc, #180] ; (8022d34 ) 8022c80: 2210 movs r2, #16 8022c82: 801a strh r2, [r3, #0] break; 8022c84: e011 b.n 8022caa default: Nr = 1; 8022c86: 4b2b ldr r3, [pc, #172] ; (8022d34 ) 8022c88: 2201 movs r2, #1 8022c8a: 801a strh r2, [r3, #0] break; 8022c8c: e00e b.n 8022cac break; 8022c8e: bf00 nop 8022c90: e00c b.n 8022cac break; 8022c92: bf00 nop 8022c94: e00a b.n 8022cac break; 8022c96: bf00 nop 8022c98: e008 b.n 8022cac break; 8022c9a: bf00 nop 8022c9c: e006 b.n 8022cac break; 8022c9e: bf00 nop 8022ca0: e004 b.n 8022cac break; 8022ca2: bf00 nop 8022ca4: e002 b.n 8022cac break; 8022ca6: bf00 nop 8022ca8: e000 b.n 8022cac break; 8022caa: bf00 nop } calcK(); 8022cac: f000 f9a6 bl 8022ffc } f = (float32_t) Ns; 8022cb0: 4b1f ldr r3, [pc, #124] ; (8022d30 ) 8022cb2: 681b ldr r3, [r3, #0] 8022cb4: ee07 3a90 vmov s15, r3 8022cb8: eef8 7a67 vcvt.f32.u32 s15, s15 8022cbc: edc7 7a02 vstr s15, [r7, #8] f /= (float32_t) Fs; 8022cc0: 4b1d ldr r3, [pc, #116] ; (8022d38 ) 8022cc2: 681b ldr r3, [r3, #0] 8022cc4: ee07 3a90 vmov s15, r3 8022cc8: eeb8 7a67 vcvt.f32.u32 s14, s15 8022ccc: edd7 6a02 vldr s13, [r7, #8] 8022cd0: eec6 7a87 vdiv.f32 s15, s13, s14 8022cd4: edc7 7a02 vstr s15, [r7, #8] f *= (float32_t) Nr; 8022cd8: 4b16 ldr r3, [pc, #88] ; (8022d34 ) 8022cda: 881b ldrh r3, [r3, #0] 8022cdc: b29b uxth r3, r3 8022cde: ee07 3a90 vmov s15, r3 8022ce2: eeb8 7a67 vcvt.f32.u32 s14, s15 8022ce6: edd7 7a02 vldr s15, [r7, #8] 8022cea: ee67 7a27 vmul.f32 s15, s14, s15 8022cee: edc7 7a02 vstr s15, [r7, #8] f = (4.0f / f) + 0.5f; 8022cf2: ed97 7a02 vldr s14, [r7, #8] 8022cf6: eef1 6a00 vmov.f32 s13, #16 ; 0x40800000 4.0 8022cfa: eec6 7a87 vdiv.f32 s15, s13, s14 8022cfe: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8022d02: ee77 7a87 vadd.f32 s15, s15, s14 8022d06: edc7 7a02 vstr s15, [r7, #8] TimeKmDown = TimeKmUp = (uint32_t) f; 8022d0a: edd7 7a02 vldr s15, [r7, #8] 8022d0e: eefc 7ae7 vcvt.u32.f32 s15, s15 8022d12: ee17 2a90 vmov r2, s15 8022d16: 4b09 ldr r3, [pc, #36] ; (8022d3c ) 8022d18: 601a str r2, [r3, #0] 8022d1a: 4b09 ldr r3, [pc, #36] ; (8022d40 ) 8022d1c: 601a str r2, [r3, #0] FirstGain = true; 8022d1e: 4b09 ldr r3, [pc, #36] ; (8022d44 ) 8022d20: 2201 movs r2, #1 8022d22: 701a strb r2, [r3, #0] } 8022d24: bf00 nop 8022d26: 3710 adds r7, #16 8022d28: 46bd mov sp, r7 8022d2a: ecbd 8b02 vpop {d8} 8022d2e: bd80 pop {r7, pc} 8022d30: 20021cdc .word 0x20021cdc 8022d34: 20021d20 .word 0x20021d20 8022d38: 20021d1c .word 0x20021d1c 8022d3c: 20020d58 .word 0x20020d58 8022d40: 20020d54 .word 0x20020d54 8022d44: 20020d5c .word 0x20020d5c 08022d48 : void SetupADC(void) { 8022d48: b580 push {r7, lr} 8022d4a: b082 sub sp, #8 8022d4c: af00 add r7, sp, #0 __IO uint32_t timeout = HAL_GetTick(); 8022d4e: f090 fa73 bl 80b3238 8022d52: 4603 mov r3, r0 8022d54: 607b str r3, [r7, #4] ADC_Started = false; 8022d56: 4b1c ldr r3, [pc, #112] ; (8022dc8 ) 8022d58: 2200 movs r2, #0 8022d5a: 701a strb r2, [r3, #0] while((!ADC_Started) && ((HAL_GetTick() - timeout) < 3000)) 8022d5c: e00b b.n 8022d76 { MAX11270_StopMeas(); 8022d5e: f032 f951 bl 8055004 memset((void *) &AdcBuff(0), 0, 4u * SIZE_ADC_BUFF); 8022d62: f44f 3200 mov.w r2, #131072 ; 0x20000 8022d66: 2100 movs r1, #0 8022d68: 4818 ldr r0, [pc, #96] ; (8022dcc ) 8022d6a: f0aa f96d bl 80cd048 SCB_CleanInvalidateDCache(); 8022d6e: f7fe fd49 bl 8021804 MAX11270_StartMeas(); 8022d72: f032 f8dd bl 8054f30 while((!ADC_Started) && ((HAL_GetTick() - timeout) < 3000)) 8022d76: 4b14 ldr r3, [pc, #80] ; (8022dc8 ) 8022d78: 781b ldrb r3, [r3, #0] 8022d7a: b2db uxtb r3, r3 8022d7c: f083 0301 eor.w r3, r3, #1 8022d80: b2db uxtb r3, r3 8022d82: 2b00 cmp r3, #0 8022d84: d008 beq.n 8022d98 8022d86: f090 fa57 bl 80b3238 8022d8a: 4602 mov r2, r0 8022d8c: 687b ldr r3, [r7, #4] 8022d8e: 1ad3 subs r3, r2, r3 8022d90: f640 32b7 movw r2, #2999 ; 0xbb7 8022d94: 4293 cmp r3, r2 8022d96: d9e2 bls.n 8022d5e } if((HAL_GetTick() - timeout) >= 3000) 8022d98: f090 fa4e bl 80b3238 8022d9c: 4602 mov r2, r0 8022d9e: 687b ldr r3, [r7, #4] 8022da0: 1ad3 subs r3, r2, r3 8022da2: f640 32b7 movw r2, #2999 ; 0xbb7 8022da6: 4293 cmp r3, r2 8022da8: d909 bls.n 8022dbe { STATUS = AP_ADC_FAIL; 8022daa: 4b09 ldr r3, [pc, #36] ; (8022dd0 ) 8022dac: 2212 movs r2, #18 8022dae: 601a str r2, [r3, #0] timerStatus = sec2; 8022db0: 4b08 ldr r3, [pc, #32] ; (8022dd4 ) 8022db2: f44f 5280 mov.w r2, #4096 ; 0x1000 8022db6: 801a strh r2, [r3, #0] DrawStatus = true; 8022db8: 4b07 ldr r3, [pc, #28] ; (8022dd8 ) 8022dba: 2201 movs r2, #1 8022dbc: 701a strb r2, [r3, #0] } } 8022dbe: bf00 nop 8022dc0: 3708 adds r7, #8 8022dc2: 46bd mov sp, r7 8022dc4: bd80 pop {r7, pc} 8022dc6: bf00 nop 8022dc8: 20020d74 .word 0x20020d74 8022dcc: 64060000 .word 0x64060000 8022dd0: 20020dcc .word 0x20020dcc 8022dd4: 2002168c .word 0x2002168c 8022dd8: 20020dd2 .word 0x20020dd2 08022ddc : float32_t Corr(uint8_t *Km) { 8022ddc: b580 push {r7, lr} 8022dde: b086 sub sp, #24 8022de0: af00 add r7, sp, #0 8022de2: 6078 str r0, [r7, #4] float32_t fcorr, fc; uint8_t Ku = *Km; 8022de4: 687b ldr r3, [r7, #4] 8022de6: 781b ldrb r3, [r3, #0] 8022de8: 73fb strb r3, [r7, #15] if(pardata.IKK == 0.0f) { 8022dea: 4b2a ldr r3, [pc, #168] ; (8022e94 ) 8022dec: edd3 7a04 vldr s15, [r3, #16] 8022df0: eef5 7a40 vcmp.f32 s15, #0.0 8022df4: eef1 fa10 vmrs APSR_nzcv, fpscr 8022df8: d103 bne.n 8022e02 pardata.IKK = 1.0f; 8022dfa: 4b26 ldr r3, [pc, #152] ; (8022e94 ) 8022dfc: f04f 527e mov.w r2, #1065353216 ; 0x3f800000 8022e00: 611a str r2, [r3, #16] } if(pardata.SYG != UDAR) 8022e02: 4b24 ldr r3, [pc, #144] ; (8022e94 ) 8022e04: 781b ldrb r3, [r3, #0] 8022e06: b2db uxtb r3, r3 8022e08: 2b09 cmp r3, #9 8022e0a: d01d beq.n 8022e48 { fcorr = 4000.0f / 1.6f; 8022e0c: 4b22 ldr r3, [pc, #136] ; (8022e98 ) 8022e0e: 617b str r3, [r7, #20] fcorr /= KM[Ku]; 8022e10: 7bfb ldrb r3, [r7, #15] 8022e12: 4a22 ldr r2, [pc, #136] ; (8022e9c ) 8022e14: 009b lsls r3, r3, #2 8022e16: 4413 add r3, r2 8022e18: ed93 7a00 vldr s14, [r3] 8022e1c: edd7 6a05 vldr s13, [r7, #20] 8022e20: eec6 7a87 vdiv.f32 s15, s13, s14 8022e24: edc7 7a05 vstr s15, [r7, #20] fc = CorrKm(&Ku); 8022e28: f107 030f add.w r3, r7, #15 8022e2c: 4618 mov r0, r3 8022e2e: f000 f83b bl 8022ea8 8022e32: ed87 0a04 vstr s0, [r7, #16] fcorr *= fc; 8022e36: ed97 7a05 vldr s14, [r7, #20] 8022e3a: edd7 7a04 vldr s15, [r7, #16] 8022e3e: ee67 7a27 vmul.f32 s15, s14, s15 8022e42: edc7 7a05 vstr s15, [r7, #20] 8022e46: e01c b.n 8022e82 } else { fcorr = 4000.0f; 8022e48: 4b15 ldr r3, [pc, #84] ; (8022ea0 ) 8022e4a: 617b str r3, [r7, #20] fcorr /= KM_UDAR[Ku]; 8022e4c: 7bfb ldrb r3, [r7, #15] 8022e4e: 4a15 ldr r2, [pc, #84] ; (8022ea4 ) 8022e50: 009b lsls r3, r3, #2 8022e52: 4413 add r3, r2 8022e54: ed93 7a00 vldr s14, [r3] 8022e58: edd7 6a05 vldr s13, [r7, #20] 8022e5c: eec6 7a87 vdiv.f32 s15, s13, s14 8022e60: edc7 7a05 vstr s15, [r7, #20] fc = CorrKm(&Ku); 8022e64: f107 030f add.w r3, r7, #15 8022e68: 4618 mov r0, r3 8022e6a: f000 f81d bl 8022ea8 8022e6e: ed87 0a04 vstr s0, [r7, #16] fcorr *= fc; 8022e72: ed97 7a05 vldr s14, [r7, #20] 8022e76: edd7 7a04 vldr s15, [r7, #16] 8022e7a: ee67 7a27 vmul.f32 s15, s14, s15 8022e7e: edc7 7a05 vstr s15, [r7, #20] } return fcorr; 8022e82: 697b ldr r3, [r7, #20] 8022e84: ee07 3a90 vmov s15, r3 } 8022e88: eeb0 0a67 vmov.f32 s0, s15 8022e8c: 3718 adds r7, #24 8022e8e: 46bd mov sp, r7 8022e90: bd80 pop {r7, pc} 8022e92: bf00 nop 8022e94: 20023e60 .word 0x20023e60 8022e98: 451c4000 .word 0x451c4000 8022e9c: 080d0c08 .word 0x080d0c08 8022ea0: 457a0000 .word 0x457a0000 8022ea4: 080d0bf8 .word 0x080d0bf8 08022ea8 : float32_t CorrKm(uint8_t *Km) { 8022ea8: b480 push {r7} 8022eaa: b085 sub sp, #20 8022eac: af00 add r7, sp, #0 8022eae: 6078 str r0, [r7, #4] float32_t fc = 0.0f; 8022eb0: f04f 0300 mov.w r3, #0 8022eb4: 60fb str r3, [r7, #12] uint8_t Ku; Ku = *Km; 8022eb6: 687b ldr r3, [r7, #4] 8022eb8: 781b ldrb r3, [r3, #0] 8022eba: 72fb strb r3, [r7, #11] switch(Ku) 8022ebc: 7afb ldrb r3, [r7, #11] 8022ebe: 2b0a cmp r3, #10 8022ec0: d868 bhi.n 8022f94 8022ec2: a201 add r2, pc, #4 ; (adr r2, 8022ec8 ) 8022ec4: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8022ec8: 08022ef5 .word 0x08022ef5 8022ecc: 08022efd .word 0x08022efd 8022ed0: 08022f05 .word 0x08022f05 8022ed4: 08022f0d .word 0x08022f0d 8022ed8: 08022f15 .word 0x08022f15 8022edc: 08022f1d .word 0x08022f1d 8022ee0: 08022f25 .word 0x08022f25 8022ee4: 08022f2d .word 0x08022f2d 8022ee8: 08022f47 .word 0x08022f47 8022eec: 08022f61 .word 0x08022f61 8022ef0: 08022f7b .word 0x08022f7b { case Ku1: fc = pardata.CORR_KU[ICPx1]; 8022ef4: 4b40 ldr r3, [pc, #256] ; (8022ff8 ) 8022ef6: 69db ldr r3, [r3, #28] 8022ef8: 60fb str r3, [r7, #12] break; 8022efa: e04b b.n 8022f94 case Ku2: fc = pardata.CORR_KU[ICPx2]; 8022efc: 4b3e ldr r3, [pc, #248] ; (8022ff8 ) 8022efe: 6a1b ldr r3, [r3, #32] 8022f00: 60fb str r3, [r7, #12] break; 8022f02: e047 b.n 8022f94 case Ku4: fc = pardata.CORR_KU[ICPx4]; 8022f04: 4b3c ldr r3, [pc, #240] ; (8022ff8 ) 8022f06: 6a5b ldr r3, [r3, #36] ; 0x24 8022f08: 60fb str r3, [r7, #12] break; 8022f0a: e043 b.n 8022f94 case Ku8: fc = pardata.CORR_KU[ICPx8]; 8022f0c: 4b3a ldr r3, [pc, #232] ; (8022ff8 ) 8022f0e: 6a9b ldr r3, [r3, #40] ; 0x28 8022f10: 60fb str r3, [r7, #12] break; 8022f12: e03f b.n 8022f94 case Ku16: fc = pardata.CORR_KU[ICPx16]; 8022f14: 4b38 ldr r3, [pc, #224] ; (8022ff8 ) 8022f16: 6adb ldr r3, [r3, #44] ; 0x2c 8022f18: 60fb str r3, [r7, #12] break; 8022f1a: e03b b.n 8022f94 case Ku32: fc = pardata.CORR_KU[ICPx32]; 8022f1c: 4b36 ldr r3, [pc, #216] ; (8022ff8 ) 8022f1e: 6b1b ldr r3, [r3, #48] ; 0x30 8022f20: 60fb str r3, [r7, #12] break; 8022f22: e037 b.n 8022f94 case Ku64: fc = pardata.CORR_KU[ICPx64]; 8022f24: 4b34 ldr r3, [pc, #208] ; (8022ff8 ) 8022f26: 6b5b ldr r3, [r3, #52] ; 0x34 8022f28: 60fb str r3, [r7, #12] break; 8022f2a: e033 b.n 8022f94 case Ku80: fc = pardata.CORR_KU[ICPx8]; 8022f2c: 4b32 ldr r3, [pc, #200] ; (8022ff8 ) 8022f2e: 6a9b ldr r3, [r3, #40] ; 0x28 8022f30: 60fb str r3, [r7, #12] fc *= pardata.CORR_KU[Kx10]; 8022f32: 4b31 ldr r3, [pc, #196] ; (8022ff8 ) 8022f34: edd3 7a0e vldr s15, [r3, #56] ; 0x38 8022f38: ed97 7a03 vldr s14, [r7, #12] 8022f3c: ee67 7a27 vmul.f32 s15, s14, s15 8022f40: edc7 7a03 vstr s15, [r7, #12] break; 8022f44: e026 b.n 8022f94 case Ku160: fc = pardata.CORR_KU[ICPx16]; 8022f46: 4b2c ldr r3, [pc, #176] ; (8022ff8 ) 8022f48: 6adb ldr r3, [r3, #44] ; 0x2c 8022f4a: 60fb str r3, [r7, #12] fc *= pardata.CORR_KU[Kx10]; 8022f4c: 4b2a ldr r3, [pc, #168] ; (8022ff8 ) 8022f4e: edd3 7a0e vldr s15, [r3, #56] ; 0x38 8022f52: ed97 7a03 vldr s14, [r7, #12] 8022f56: ee67 7a27 vmul.f32 s15, s14, s15 8022f5a: edc7 7a03 vstr s15, [r7, #12] break; 8022f5e: e019 b.n 8022f94 case Ku320: fc = pardata.CORR_KU[ICPx32]; 8022f60: 4b25 ldr r3, [pc, #148] ; (8022ff8 ) 8022f62: 6b1b ldr r3, [r3, #48] ; 0x30 8022f64: 60fb str r3, [r7, #12] fc *= pardata.CORR_KU[Kx10]; 8022f66: 4b24 ldr r3, [pc, #144] ; (8022ff8 ) 8022f68: edd3 7a0e vldr s15, [r3, #56] ; 0x38 8022f6c: ed97 7a03 vldr s14, [r7, #12] 8022f70: ee67 7a27 vmul.f32 s15, s14, s15 8022f74: edc7 7a03 vstr s15, [r7, #12] break; 8022f78: e00c b.n 8022f94 case Ku640: fc = pardata.CORR_KU[ICPx64]; 8022f7a: 4b1f ldr r3, [pc, #124] ; (8022ff8 ) 8022f7c: 6b5b ldr r3, [r3, #52] ; 0x34 8022f7e: 60fb str r3, [r7, #12] fc *= pardata.CORR_KU[Kx10]; 8022f80: 4b1d ldr r3, [pc, #116] ; (8022ff8 ) 8022f82: edd3 7a0e vldr s15, [r3, #56] ; 0x38 8022f86: ed97 7a03 vldr s14, [r7, #12] 8022f8a: ee67 7a27 vmul.f32 s15, s14, s15 8022f8e: edc7 7a03 vstr s15, [r7, #12] break; 8022f92: bf00 nop } if(pardata.IIN == CHARGE) 8022f94: 4b18 ldr r3, [pc, #96] ; (8022ff8 ) 8022f96: 799b ldrb r3, [r3, #6] 8022f98: b2db uxtb r3, r3 8022f9a: 2b00 cmp r3, #0 8022f9c: d108 bne.n 8022fb0 fc *= pardata.CORR_KU[ZARx1]; 8022f9e: 4b16 ldr r3, [pc, #88] ; (8022ff8 ) 8022fa0: edd3 7a0f vldr s15, [r3, #60] ; 0x3c 8022fa4: ed97 7a03 vldr s14, [r7, #12] 8022fa8: ee67 7a27 vmul.f32 s15, s14, s15 8022fac: edc7 7a03 vstr s15, [r7, #12] if(pardata.SYG == UDAR) 8022fb0: 4b11 ldr r3, [pc, #68] ; (8022ff8 ) 8022fb2: 781b ldrb r3, [r3, #0] 8022fb4: b2db uxtb r3, r3 8022fb6: 2b09 cmp r3, #9 8022fb8: d109 bne.n 8022fce { if(Ku > Ku1) 8022fba: 7afb ldrb r3, [r7, #11] 8022fbc: 2b00 cmp r3, #0 8022fbe: d003 beq.n 8022fc8 fc = pardata.CORR_KU[Kx10]; 8022fc0: 4b0d ldr r3, [pc, #52] ; (8022ff8 ) 8022fc2: 6b9b ldr r3, [r3, #56] ; 0x38 8022fc4: 60fb str r3, [r7, #12] 8022fc6: e002 b.n 8022fce else fc = pardata.CORR_KU[ICPx1]; 8022fc8: 4b0b ldr r3, [pc, #44] ; (8022ff8 ) 8022fca: 69db ldr r3, [r3, #28] 8022fcc: 60fb str r3, [r7, #12] } if(fc == 0.0f) { 8022fce: edd7 7a03 vldr s15, [r7, #12] 8022fd2: eef5 7a40 vcmp.f32 s15, #0.0 8022fd6: eef1 fa10 vmrs APSR_nzcv, fpscr 8022fda: d102 bne.n 8022fe2 fc = 1.0f; 8022fdc: f04f 537e mov.w r3, #1065353216 ; 0x3f800000 8022fe0: 60fb str r3, [r7, #12] } return fc; 8022fe2: 68fb ldr r3, [r7, #12] 8022fe4: ee07 3a90 vmov s15, r3 } 8022fe8: eeb0 0a67 vmov.f32 s0, s15 8022fec: 3714 adds r7, #20 8022fee: 46bd mov sp, r7 8022ff0: f85d 7b04 ldr.w r7, [sp], #4 8022ff4: 4770 bx lr 8022ff6: bf00 nop 8022ff8: 20023e60 .word 0x20023e60 08022ffc : void calcK(void) { 8022ffc: b580 push {r7, lr} 8022ffe: af00 add r7, sp, #0 CorrKk[ACC] = Corr((uint8_t *) &pardata.IKU); 8023000: 480b ldr r0, [pc, #44] ; (8023030 ) 8023002: f7ff feeb bl 8022ddc 8023006: eef0 7a40 vmov.f32 s15, s0 802300a: 4b0a ldr r3, [pc, #40] ; (8023034 ) 802300c: edc3 7a00 vstr s15, [r3] CorrKk[VEL] = CorrKk[ACC]; 8023010: 4b08 ldr r3, [pc, #32] ; (8023034 ) 8023012: 681b ldr r3, [r3, #0] 8023014: 4a07 ldr r2, [pc, #28] ; (8023034 ) 8023016: 6053 str r3, [r2, #4] CorrKk[DIS] = CorrKk[ACC]; 8023018: 4b06 ldr r3, [pc, #24] ; (8023034 ) 802301a: 681b ldr r3, [r3, #0] 802301c: 4a05 ldr r2, [pc, #20] ; (8023034 ) 802301e: 6093 str r3, [r2, #8] pardata.CORR_MULT = CorrKk[ACC]; 8023020: 4b04 ldr r3, [pc, #16] ; (8023034 ) 8023022: 681b ldr r3, [r3, #0] 8023024: 4a04 ldr r2, [pc, #16] ; (8023038 ) 8023026: f8c2 3094 str.w r3, [r2, #148] ; 0x94 } 802302a: bf00 nop 802302c: bd80 pop {r7, pc} 802302e: bf00 nop 8023030: 20023e68 .word 0x20023e68 8023034: 20020080 .word 0x20020080 8023038: 20023e60 .word 0x20023e60 0802303c : void StartMeas(void) { 802303c: b590 push {r4, r7, lr} 802303e: b083 sub sp, #12 8023040: af00 add r7, sp, #0 float32_t f; OVERDRIVE = false; 8023042: 4b6d ldr r3, [pc, #436] ; (80231f8 ) 8023044: 2200 movs r2, #0 8023046: 701a strb r2, [r3, #0] FIRST_RECORD = true; 8023048: 4b6c ldr r3, [pc, #432] ; (80231fc ) 802304a: 2201 movs r2, #1 802304c: 701a strb r2, [r3, #0] Stability = 0; 802304e: 4b6c ldr r3, [pc, #432] ; (8023200 ) 8023050: 2200 movs r2, #0 8023052: 601a str r2, [r3, #0] FirstTime = true; 8023054: 4b6b ldr r3, [pc, #428] ; (8023204 ) 8023056: 2201 movs r2, #1 8023058: 701a strb r2, [r3, #0] firstmeas = true; 802305a: 4b6b ldr r3, [pc, #428] ; (8023208 ) 802305c: 2201 movs r2, #1 802305e: 701a strb r2, [r3, #0] Flag_Set_KU = 0; 8023060: 4b6a ldr r3, [pc, #424] ; (802320c ) 8023062: 2200 movs r2, #0 8023064: 701a strb r2, [r3, #0] NR = 0; 8023066: 4b6a ldr r3, [pc, #424] ; (8023210 ) 8023068: 2200 movs r2, #0 802306a: 601a str r2, [r3, #0] Vup = 0; 802306c: 4b69 ldr r3, [pc, #420] ; (8023214 ) 802306e: 2200 movs r2, #0 8023070: 601a str r2, [r3, #0] Vdn = 0xffffff; 8023072: 4b69 ldr r3, [pc, #420] ; (8023218 ) 8023074: f06f 427f mvn.w r2, #4278190080 ; 0xff000000 8023078: 601a str r2, [r3, #0] NUMPOINTS = 0; 802307a: 4b68 ldr r3, [pc, #416] ; (802321c ) 802307c: 2200 movs r2, #0 802307e: 601a str r2, [r3, #0] NeedKmDown = 0; 8023080: 4b67 ldr r3, [pc, #412] ; (8023220 ) 8023082: 2200 movs r2, #0 8023084: 701a strb r2, [r3, #0] NeedKmUp = 0; 8023086: 4b67 ldr r3, [pc, #412] ; (8023224 ) 8023088: 2200 movs r2, #0 802308a: 701a strb r2, [r3, #0] switch(pardata.SYG) 802308c: 4b66 ldr r3, [pc, #408] ; (8023228 ) 802308e: 781b ldrb r3, [r3, #0] 8023090: b2db uxtb r3, r3 8023092: 2b0a cmp r3, #10 8023094: f200 80f9 bhi.w 802328a 8023098: a201 add r2, pc, #4 ; (adr r2, 80230a0 ) 802309a: f852 f023 ldr.w pc, [r2, r3, lsl #2] 802309e: bf00 nop 80230a0: 080230cd .word 0x080230cd 80230a4: 080230cd .word 0x080230cd 80230a8: 080230cd .word 0x080230cd 80230ac: 080230cd .word 0x080230cd 80230b0: 08023265 .word 0x08023265 80230b4: 080230cd .word 0x080230cd 80230b8: 080230cd .word 0x080230cd 80230bc: 080230cd .word 0x080230cd 80230c0: 080230cd .word 0x080230cd 80230c4: 08023171 .word 0x08023171 80230c8: 080230cd .word 0x080230cd case SPEC_OGIB: case SPEC_OKT: case SPEC_THIRD: case OSC: case FRAN: faseADC = 1; 80230cc: 4b57 ldr r3, [pc, #348] ; (802322c ) 80230ce: 2201 movs r2, #1 80230d0: 801a strh r2, [r3, #0] RepeatKm = true; 80230d2: 4b57 ldr r3, [pc, #348] ; (8023230 ) 80230d4: 2201 movs r2, #1 80230d6: 701a strb r2, [r3, #0] FIRST = true; 80230d8: 4b56 ldr r3, [pc, #344] ; (8023234 ) 80230da: 2201 movs r2, #1 80230dc: 701a strb r2, [r3, #0] if((pardata.SYG == VIB) || (pardata.SYG == FRAN) || (pardata.SYG == DIAGN)) 80230de: 4b52 ldr r3, [pc, #328] ; (8023228 ) 80230e0: 781b ldrb r3, [r3, #0] 80230e2: b2db uxtb r3, r3 80230e4: 2b00 cmp r3, #0 80230e6: d009 beq.n 80230fc 80230e8: 4b4f ldr r3, [pc, #316] ; (8023228 ) 80230ea: 781b ldrb r3, [r3, #0] 80230ec: b2db uxtb r3, r3 80230ee: 2b03 cmp r3, #3 80230f0: d004 beq.n 80230fc 80230f2: 4b4d ldr r3, [pc, #308] ; (8023228 ) 80230f4: 781b ldrb r3, [r3, #0] 80230f6: b2db uxtb r3, r3 80230f8: 2b0a cmp r3, #10 80230fa: d103 bne.n 8023104 { timeRelax = 48; 80230fc: 4b4e ldr r3, [pc, #312] ; (8023238 ) 80230fe: 2230 movs r2, #48 ; 0x30 8023100: 601a str r2, [r3, #0] 8023102: e031 b.n 8023168 } else if(pardata.SYG == OSC) 8023104: 4b48 ldr r3, [pc, #288] ; (8023228 ) 8023106: 781b ldrb r3, [r3, #0] 8023108: b2db uxtb r3, r3 802310a: 2b02 cmp r3, #2 802310c: d12c bne.n 8023168 { f = (float32_t) Ns / (float32_t) Fs; 802310e: 4b4b ldr r3, [pc, #300] ; (802323c ) 8023110: 681b ldr r3, [r3, #0] 8023112: ee07 3a90 vmov s15, r3 8023116: eef8 6a67 vcvt.f32.u32 s13, s15 802311a: 4b49 ldr r3, [pc, #292] ; (8023240 ) 802311c: 681b ldr r3, [r3, #0] 802311e: ee07 3a90 vmov s15, r3 8023122: eeb8 7a67 vcvt.f32.u32 s14, s15 8023126: eec6 7a87 vdiv.f32 s15, s13, s14 802312a: edc7 7a01 vstr s15, [r7, #4] f = 0.128f / f; 802312e: eddf 6a45 vldr s13, [pc, #276] ; 8023244 8023132: ed97 7a01 vldr s14, [r7, #4] 8023136: eec6 7a87 vdiv.f32 s15, s13, s14 802313a: edc7 7a01 vstr s15, [r7, #4] f = (f * 48); 802313e: edd7 7a01 vldr s15, [r7, #4] 8023142: ed9f 7a41 vldr s14, [pc, #260] ; 8023248 8023146: ee67 7a87 vmul.f32 s15, s15, s14 802314a: edc7 7a01 vstr s15, [r7, #4] RELAX = (uint32_t) f; 802314e: edd7 7a01 vldr s15, [r7, #4] 8023152: eefc 7ae7 vcvt.u32.f32 s15, s15 8023156: ee17 2a90 vmov r2, s15 802315a: 4b3c ldr r3, [pc, #240] ; (802324c ) 802315c: 601a str r2, [r3, #0] timeRelax = RELAX + 1; 802315e: 4b3b ldr r3, [pc, #236] ; (802324c ) 8023160: 681b ldr r3, [r3, #0] 8023162: 3301 adds r3, #1 8023164: 4a34 ldr r2, [pc, #208] ; (8023238 ) 8023166: 6013 str r3, [r2, #0] } stage = 0; 8023168: 4b39 ldr r3, [pc, #228] ; (8023250 ) 802316a: 2200 movs r2, #0 802316c: 701a strb r2, [r3, #0] break; 802316e: e08c b.n 802328a case UDAR: faseADC = 1; 8023170: 4b2e ldr r3, [pc, #184] ; (802322c ) 8023172: 2201 movs r2, #1 8023174: 801a strh r2, [r3, #0] RepeatKm = true; 8023176: 4b2e ldr r3, [pc, #184] ; (8023230 ) 8023178: 2201 movs r2, #1 802317a: 701a strb r2, [r3, #0] FIRST = true; 802317c: 4b2d ldr r3, [pc, #180] ; (8023234 ) 802317e: 2201 movs r2, #1 8023180: 701a strb r2, [r3, #0] f = (float32_t) Ns / (float32_t) Fs; 8023182: 4b2e ldr r3, [pc, #184] ; (802323c ) 8023184: 681b ldr r3, [r3, #0] 8023186: ee07 3a90 vmov s15, r3 802318a: eef8 6a67 vcvt.f32.u32 s13, s15 802318e: 4b2c ldr r3, [pc, #176] ; (8023240 ) 8023190: 681b ldr r3, [r3, #0] 8023192: ee07 3a90 vmov s15, r3 8023196: eeb8 7a67 vcvt.f32.u32 s14, s15 802319a: eec6 7a87 vdiv.f32 s15, s13, s14 802319e: edc7 7a01 vstr s15, [r7, #4] f = 0.128f / f; 80231a2: eddf 6a28 vldr s13, [pc, #160] ; 8023244 80231a6: ed97 7a01 vldr s14, [r7, #4] 80231aa: eec6 7a87 vdiv.f32 s15, s13, s14 80231ae: edc7 7a01 vstr s15, [r7, #4] f = (f * 48); 80231b2: edd7 7a01 vldr s15, [r7, #4] 80231b6: ed9f 7a24 vldr s14, [pc, #144] ; 8023248 80231ba: ee67 7a87 vmul.f32 s15, s15, s14 80231be: edc7 7a01 vstr s15, [r7, #4] RELAX = (uint32_t) f; 80231c2: edd7 7a01 vldr s15, [r7, #4] 80231c6: eefc 7ae7 vcvt.u32.f32 s15, s15 80231ca: ee17 2a90 vmov r2, s15 80231ce: 4b1f ldr r3, [pc, #124] ; (802324c ) 80231d0: 601a str r2, [r3, #0] timeRelax = RELAX + 1; 80231d2: 4b1e ldr r3, [pc, #120] ; (802324c ) 80231d4: 681b ldr r3, [r3, #0] 80231d6: 3301 adds r3, #1 80231d8: 4a17 ldr r2, [pc, #92] ; (8023238 ) 80231da: 6013 str r3, [r2, #0] stage = 0; 80231dc: 4b1c ldr r3, [pc, #112] ; (8023250 ) 80231de: 2200 movs r2, #0 80231e0: 701a strb r2, [r3, #0] faseUdar = 0; 80231e2: 4b1c ldr r3, [pc, #112] ; (8023254 ) 80231e4: 2200 movs r2, #0 80231e6: 701a strb r2, [r3, #0] maxdBm = maxdBc = -100.0f; 80231e8: 4b1b ldr r3, [pc, #108] ; (8023258 ) 80231ea: 4a1c ldr r2, [pc, #112] ; (802325c ) 80231ec: 601a str r2, [r3, #0] 80231ee: 4b1a ldr r3, [pc, #104] ; (8023258 ) 80231f0: 681b ldr r3, [r3, #0] 80231f2: 4a1b ldr r2, [pc, #108] ; (8023260 ) 80231f4: 6013 str r3, [r2, #0] break; 80231f6: e048 b.n 802328a 80231f8: 20021531 .word 0x20021531 80231fc: 20020db4 .word 0x20020db4 8023200: 20020da8 .word 0x20020da8 8023204: 20020dae .word 0x20020dae 8023208: 20020dad .word 0x20020dad 802320c: 20020d7e .word 0x20020d7e 8023210: 20021614 .word 0x20021614 8023214: 20021618 .word 0x20021618 8023218: 20020090 .word 0x20020090 802321c: 20021604 .word 0x20021604 8023220: 20020d50 .word 0x20020d50 8023224: 20020d51 .word 0x20020d51 8023228: 20023e60 .word 0x20023e60 802322c: 20020d7a .word 0x20020d7a 8023230: 20020dac .word 0x20020dac 8023234: 20020db2 .word 0x20020db2 8023238: 20020d6c .word 0x20020d6c 802323c: 20021cdc .word 0x20021cdc 8023240: 20021d1c .word 0x20021d1c 8023244: 3e03126f .word 0x3e03126f 8023248: 42400000 .word 0x42400000 802324c: 20020d70 .word 0x20020d70 8023250: 20021518 .word 0x20021518 8023254: 20021624 .word 0x20021624 8023258: 20068560 .word 0x20068560 802325c: c2c80000 .word 0xc2c80000 8023260: 20057ec0 .word 0x20057ec0 case WAVE: if(CardState != MSD_READY) { 8023264: 4bb1 ldr r3, [pc, #708] ; (802352c ) 8023266: 781b ldrb r3, [r3, #0] 8023268: b2db uxtb r3, r3 802326a: 2b03 cmp r3, #3 802326c: f040 8159 bne.w 8023522 return; } faseADC = 1; 8023270: 4baf ldr r3, [pc, #700] ; (8023530 ) 8023272: 2201 movs r2, #1 8023274: 801a strh r2, [r3, #0] RepeatKm = true; 8023276: 4baf ldr r3, [pc, #700] ; (8023534 ) 8023278: 2201 movs r2, #1 802327a: 701a strb r2, [r3, #0] Recording = false; 802327c: 4bae ldr r3, [pc, #696] ; (8023538 ) 802327e: 2200 movs r2, #0 8023280: 701a strb r2, [r3, #0] stage = 0; 8023282: 4bae ldr r3, [pc, #696] ; (802353c ) 8023284: 2200 movs r2, #0 8023286: 701a strb r2, [r3, #0] break; 8023288: bf00 nop } cntFs = faseADC; 802328a: 4ba9 ldr r3, [pc, #676] ; (8023530 ) 802328c: 881b ldrh r3, [r3, #0] 802328e: b29a uxth r2, r3 8023290: 4bab ldr r3, [pc, #684] ; (8023540 ) 8023292: 801a strh r2, [r3, #0] cntADC = 0; 8023294: 4bab ldr r3, [pc, #684] ; (8023544 ) 8023296: 2200 movs r2, #0 8023298: 801a strh r2, [r3, #0] measlen = 0; 802329a: 4bab ldr r3, [pc, #684] ; (8023548 ) 802329c: 2200 movs r2, #0 802329e: 801a strh r2, [r3, #0] cntmeas = 0; 80232a0: 4baa ldr r3, [pc, #680] ; (802354c ) 80232a2: 2200 movs r2, #0 80232a4: 801a strh r2, [r3, #0] lastcntmeas = 0; 80232a6: 4baa ldr r3, [pc, #680] ; (8023550 ) 80232a8: 2200 movs r2, #0 80232aa: 801a strh r2, [r3, #0] RiffLen = 0; 80232ac: 4aa9 ldr r2, [pc, #676] ; (8023554 ) 80232ae: f04f 0300 mov.w r3, #0 80232b2: f04f 0400 mov.w r4, #0 80232b6: e882 0018 stmia.w r2, {r3, r4} NSamples = 0; 80232ba: 4ba7 ldr r3, [pc, #668] ; (8023558 ) 80232bc: 2200 movs r2, #0 80232be: 601a str r2, [r3, #0] TimeRec = 0; 80232c0: 4ba6 ldr r3, [pc, #664] ; (802355c ) 80232c2: 2200 movs r2, #0 80232c4: 601a str r2, [r3, #0] READY = DATA_FREE; 80232c6: 4ba6 ldr r3, [pc, #664] ; (8023560 ) 80232c8: 2200 movs r2, #0 80232ca: 701a strb r2, [r3, #0] READY = 0; 80232cc: 4ba4 ldr r3, [pc, #656] ; (8023560 ) 80232ce: 2200 movs r2, #0 80232d0: 701a strb r2, [r3, #0] HISTORY = false; 80232d2: 4ba4 ldr r3, [pc, #656] ; (8023564 ) 80232d4: 2200 movs r2, #0 80232d6: 701a strb r2, [r3, #0] AutoStop = false; 80232d8: 4ba3 ldr r3, [pc, #652] ; (8023568 ) 80232da: 2200 movs r2, #0 80232dc: 701a strb r2, [r3, #0] MeanClbr = 0.0f; 80232de: 4ba3 ldr r3, [pc, #652] ; (802356c ) 80232e0: 2200 movs r2, #0 80232e2: 601a str r2, [r3, #0] MeanKcorr = 0; 80232e4: 4ba2 ldr r3, [pc, #648] ; (8023570 ) 80232e6: f04f 0200 mov.w r2, #0 80232ea: 601a str r2, [r3, #0] CounterA = 0; 80232ec: 4ba1 ldr r3, [pc, #644] ; (8023574 ) 80232ee: 2200 movs r2, #0 80232f0: 701a strb r2, [r3, #0] CounterV = 0; 80232f2: 4ba1 ldr r3, [pc, #644] ; (8023578 ) 80232f4: 2200 movs r2, #0 80232f6: 701a strb r2, [r3, #0] CounterS = 0; 80232f8: 4ba0 ldr r3, [pc, #640] ; (802357c ) 80232fa: 2200 movs r2, #0 80232fc: 701a strb r2, [r3, #0] memset((void *) &Freq_f32(0), 0, NUM_SAMPLES * 32768u); 80232fe: f44f 2200 mov.w r2, #524288 ; 0x80000 8023302: 2100 movs r1, #0 8023304: 489e ldr r0, [pc, #632] ; (8023580 ) 8023306: f0a9 fe9f bl 80cd048 memset((void *) frq, 0, 4u * LEN_M_BUF); 802330a: 2224 movs r2, #36 ; 0x24 802330c: 2100 movs r1, #0 802330e: 489d ldr r0, [pc, #628] ; (8023584 ) 8023310: f0a9 fe9a bl 80cd048 okf = CF; 8023314: 4b9c ldr r3, [pc, #624] ; (8023588 ) 8023316: 2204 movs r2, #4 8023318: 601a str r2, [r3, #0] kf = 0; 802331a: 4b9c ldr r3, [pc, #624] ; (802358c ) 802331c: 2200 movs r2, #0 802331e: 601a str r2, [r3, #0] faseF = 0; 8023320: 4b9b ldr r3, [pc, #620] ; (8023590 ) 8023322: 2200 movs r2, #0 8023324: 601a str r2, [r3, #0] NeedFreq = false; 8023326: 4b9b ldr r3, [pc, #620] ; (8023594 ) 8023328: 2200 movs r2, #0 802332a: 701a strb r2, [r3, #0] NeedFreqTacho = false; 802332c: 4b9a ldr r3, [pc, #616] ; (8023598 ) 802332e: 2200 movs r2, #0 8023330: 701a strb r2, [r3, #0] arm_fill_f32(0.0f, (float32_t *) &medA, N_MED_MEAS); 8023332: 2105 movs r1, #5 8023334: 4899 ldr r0, [pc, #612] ; (802359c ) 8023336: ed9f 0a9a vldr s0, [pc, #616] ; 80235a0 802333a: f0a6 fce3 bl 80c9d04 arm_fill_f32(0.0f, (float32_t *) &medV, N_MED_MEAS); 802333e: 2105 movs r1, #5 8023340: 4898 ldr r0, [pc, #608] ; (80235a4 ) 8023342: ed9f 0a97 vldr s0, [pc, #604] ; 80235a0 8023346: f0a6 fcdd bl 80c9d04 arm_fill_f32(0.0f, (float32_t *) &medS, N_MED_MEAS); 802334a: 2105 movs r1, #5 802334c: 4896 ldr r0, [pc, #600] ; (80235a8 ) 802334e: ed9f 0a94 vldr s0, [pc, #592] ; 80235a0 8023352: f0a6 fcd7 bl 80c9d04 arm_fill_f32(0.0f, pA_Buff_f32, 4096); 8023356: f44f 5180 mov.w r1, #4096 ; 0x1000 802335a: 4894 ldr r0, [pc, #592] ; (80235ac ) 802335c: ed9f 0a90 vldr s0, [pc, #576] ; 80235a0 8023360: f0a6 fcd0 bl 80c9d04 arm_fill_f32(0.0f, pV_Buff_f32, 4096); 8023364: f44f 5180 mov.w r1, #4096 ; 0x1000 8023368: 4891 ldr r0, [pc, #580] ; (80235b0 ) 802336a: ed9f 0a8d vldr s0, [pc, #564] ; 80235a0 802336e: f0a6 fcc9 bl 80c9d04 arm_fill_f32(0.0f, pS_Buff_f32, 4096); 8023372: f44f 5180 mov.w r1, #4096 ; 0x1000 8023376: 488f ldr r0, [pc, #572] ; (80235b4 ) 8023378: ed9f 0a89 vldr s0, [pc, #548] ; 80235a0 802337c: f0a6 fcc2 bl 80c9d04 arm_fill_f32(0.0f, pScrA_f32, 16384u); 8023380: f44f 4180 mov.w r1, #16384 ; 0x4000 8023384: 487e ldr r0, [pc, #504] ; (8023580 ) 8023386: ed9f 0a86 vldr s0, [pc, #536] ; 80235a0 802338a: f0a6 fcbb bl 80c9d04 arm_fill_f32(0.0f, skz, 3); 802338e: 2103 movs r1, #3 8023390: 4889 ldr r0, [pc, #548] ; (80235b8 ) 8023392: ed9f 0a83 vldr s0, [pc, #524] ; 80235a0 8023396: f0a6 fcb5 bl 80c9d04 arm_fill_f32(0.0f, skzDB, 3); 802339a: 2103 movs r1, #3 802339c: 4887 ldr r0, [pc, #540] ; (80235bc ) 802339e: ed9f 0a80 vldr s0, [pc, #512] ; 80235a0 80233a2: f0a6 fcaf bl 80c9d04 arm_fill_f32(0.0f, ValFran, 3); 80233a6: 2103 movs r1, #3 80233a8: 4885 ldr r0, [pc, #532] ; (80235c0 ) 80233aa: ed9f 0a7d vldr s0, [pc, #500] ; 80235a0 80233ae: f0a6 fca9 bl 80c9d04 arm_fill_f32(0.0f, operand, 4); 80233b2: 2104 movs r1, #4 80233b4: 4883 ldr r0, [pc, #524] ; (80235c4 ) 80233b6: ed9f 0a7a vldr s0, [pc, #488] ; 80235a0 80233ba: f0a6 fca3 bl 80c9d04 if(pardata.SYG == UDAR) 80233be: 4b82 ldr r3, [pc, #520] ; (80235c8 ) 80233c0: 781b ldrb r3, [r3, #0] 80233c2: b2db uxtb r3, r3 80233c4: 2b09 cmp r3, #9 80233c6: d10d bne.n 80233e4 { skz[1] = 1231298379172381; 80233c8: 4b7b ldr r3, [pc, #492] ; (80235b8 ) 80233ca: 4a80 ldr r2, [pc, #512] ; (80235cc ) 80233cc: 605a str r2, [r3, #4] skz[0] = 0; 80233ce: 4b7a ldr r3, [pc, #488] ; (80235b8 ) 80233d0: f04f 0200 mov.w r2, #0 80233d4: 601a str r2, [r3, #0] MAXIMUM = 0; 80233d6: 4b7e ldr r3, [pc, #504] ; (80235d0 ) 80233d8: f04f 0200 mov.w r2, #0 80233dc: 601a str r2, [r3, #0] MINIMUM = 999999; 80233de: 4b7d ldr r3, [pc, #500] ; (80235d4 ) 80233e0: 4a7d ldr r2, [pc, #500] ; (80235d8 ) 80233e2: 601a str r2, [r3, #0] } FreqFran = 0.0f; 80233e4: 4b7d ldr r3, [pc, #500] ; (80235dc ) 80233e6: f04f 0200 mov.w r2, #0 80233ea: 601a str r2, [r3, #0] IndexFran = -1; 80233ec: 4b7c ldr r3, [pc, #496] ; (80235e0 ) 80233ee: f04f 32ff mov.w r2, #4294967295 80233f2: 601a str r2, [r3, #0] FLAG_CALC_MEAN = false; 80233f4: 4b7b ldr r3, [pc, #492] ; (80235e4 ) 80233f6: 2200 movs r2, #0 80233f8: 701a strb r2, [r3, #0] AvgCnt = 0; 80233fa: 4b7b ldr r3, [pc, #492] ; (80235e8 ) 80233fc: 2200 movs r2, #0 80233fe: 601a str r2, [r3, #0] MeanCnt = 0; 8023400: 4b7a ldr r3, [pc, #488] ; (80235ec ) 8023402: 2200 movs r2, #0 8023404: 601a str r2, [r3, #0] dBc = -100.0f; 8023406: 4b7a ldr r3, [pc, #488] ; (80235f0 ) 8023408: 4a7a ldr r2, [pc, #488] ; (80235f4 ) 802340a: 601a str r2, [r3, #0] dBm = -100.0f; 802340c: 4b7a ldr r3, [pc, #488] ; (80235f8 ) 802340e: 4a79 ldr r2, [pc, #484] ; (80235f4 ) 8023410: 601a str r2, [r3, #0] dBN = -100.0f; 8023412: 4b7a ldr r3, [pc, #488] ; (80235fc ) 8023414: 4a77 ldr r2, [pc, #476] ; (80235f4 ) 8023416: 601a str r2, [r3, #0] firstOkt = true; 8023418: 4b79 ldr r3, [pc, #484] ; (8023600 ) 802341a: 2201 movs r2, #1 802341c: 701a strb r2, [r3, #0] cntOkt = 0; 802341e: 4b79 ldr r3, [pc, #484] ; (8023604 ) 8023420: 2200 movs r2, #0 8023422: 601a str r2, [r3, #0] rms0_8 = 0.0f; 8023424: 4b78 ldr r3, [pc, #480] ; (8023608 ) 8023426: f04f 0200 mov.w r2, #0 802342a: 601a str r2, [r3, #0] rms1 = 0.0f; 802342c: 4b77 ldr r3, [pc, #476] ; (802360c ) 802342e: f04f 0200 mov.w r2, #0 8023432: 601a str r2, [r3, #0] rms1_25 = 0.0f; 8023434: 4b76 ldr r3, [pc, #472] ; (8023610 ) 8023436: f04f 0200 mov.w r2, #0 802343a: 601a str r2, [r3, #0] rms1_6 = 0.0f; 802343c: 4b75 ldr r3, [pc, #468] ; (8023614 ) 802343e: f04f 0200 mov.w r2, #0 8023442: 601a str r2, [r3, #0] rms2 = 0.0f; 8023444: 4b74 ldr r3, [pc, #464] ; (8023618 ) 8023446: f04f 0200 mov.w r2, #0 802344a: 601a str r2, [r3, #0] rms2_5 = 0.0f; 802344c: 4b73 ldr r3, [pc, #460] ; (802361c ) 802344e: f04f 0200 mov.w r2, #0 8023452: 601a str r2, [r3, #0] rms3_15 = 0.0f; 8023454: 4b72 ldr r3, [pc, #456] ; (8023620 ) 8023456: f04f 0200 mov.w r2, #0 802345a: 601a str r2, [r3, #0] rms4 = 0.0f; 802345c: 4b71 ldr r3, [pc, #452] ; (8023624 ) 802345e: f04f 0200 mov.w r2, #0 8023462: 601a str r2, [r3, #0] rms5 = 0.0f; 8023464: 4b70 ldr r3, [pc, #448] ; (8023628 ) 8023466: f04f 0200 mov.w r2, #0 802346a: 601a str r2, [r3, #0] rms6_3 = 0.0f; 802346c: 4b6f ldr r3, [pc, #444] ; (802362c ) 802346e: f04f 0200 mov.w r2, #0 8023472: 601a str r2, [r3, #0] rms8 = 0.0f; 8023474: 4b6e ldr r3, [pc, #440] ; (8023630 ) 8023476: f04f 0200 mov.w r2, #0 802347a: 601a str r2, [r3, #0] rms10 = 0.0f; 802347c: 4b6d ldr r3, [pc, #436] ; (8023634 ) 802347e: f04f 0200 mov.w r2, #0 8023482: 601a str r2, [r3, #0] arm_fill_f32(0.0f, operand, 4); 8023484: 2104 movs r1, #4 8023486: 484f ldr r0, [pc, #316] ; (80235c4 ) 8023488: ed9f 0a45 vldr s0, [pc, #276] ; 80235a0 802348c: f0a6 fc3a bl 80c9d04 arm_fill_f32(0.0f, rmsAVS, 4); 8023490: 2104 movs r1, #4 8023492: 4869 ldr r0, [pc, #420] ; (8023638 ) 8023494: ed9f 0a42 vldr s0, [pc, #264] ; 80235a0 8023498: f0a6 fc34 bl 80c9d04 arm_fill_f32(0.0f, peakAVS, 4); 802349c: 2104 movs r1, #4 802349e: 4867 ldr r0, [pc, #412] ; (802363c ) 80234a0: ed9f 0a3f vldr s0, [pc, #252] ; 80235a0 80234a4: f0a6 fc2e bl 80c9d04 arm_fill_f32(0.0f, &ACC_PEAK_WR(0), 512 * 8u); 80234a8: f44f 5180 mov.w r1, #4096 ; 0x1000 80234ac: 4864 ldr r0, [pc, #400] ; (8023640 ) 80234ae: ed9f 0a3c vldr s0, [pc, #240] ; 80235a0 80234b2: f0a6 fc27 bl 80c9d04 CNT_MEAN_FREQ = 0; 80234b6: 4b63 ldr r3, [pc, #396] ; (8023644 ) 80234b8: 2200 movs r2, #0 80234ba: 601a str r2, [r3, #0] MEAN_FREQ = 0.0f; 80234bc: 4b62 ldr r3, [pc, #392] ; (8023648 ) 80234be: f04f 0200 mov.w r2, #0 80234c2: 601a str r2, [r3, #0] timerRefreshScreen = MSEC_REFRESH[LinkPC]; 80234c4: 4b61 ldr r3, [pc, #388] ; (802364c ) 80234c6: 781b ldrb r3, [r3, #0] 80234c8: b2db uxtb r3, r3 80234ca: 461a mov r2, r3 80234cc: 4b60 ldr r3, [pc, #384] ; (8023650 ) 80234ce: f833 2012 ldrh.w r2, [r3, r2, lsl #1] 80234d2: 4b60 ldr r3, [pc, #384] ; (8023654 ) 80234d4: 801a strh r2, [r3, #0] if(pardata.SYG == UDAR) 80234d6: 4b3c ldr r3, [pc, #240] ; (80235c8 ) 80234d8: 781b ldrb r3, [r3, #0] 80234da: b2db uxtb r3, r3 80234dc: 2b09 cmp r3, #9 80234de: d103 bne.n 80234e8 timerRefreshScreen = 340; 80234e0: 4b5c ldr r3, [pc, #368] ; (8023654 ) 80234e2: f44f 72aa mov.w r2, #340 ; 0x154 80234e6: 801a strh r2, [r3, #0] screen = false; 80234e8: 4b5b ldr r3, [pc, #364] ; (8023658 ) 80234ea: 2200 movs r2, #0 80234ec: 701a strb r2, [r3, #0] StateThr = 0xffffffff; 80234ee: 4b5b ldr r3, [pc, #364] ; (802365c ) 80234f0: f04f 32ff mov.w r2, #4294967295 80234f4: 601a str r2, [r3, #0] SeeResults = false; 80234f6: 4b5a ldr r3, [pc, #360] ; (8023660 ) 80234f8: 2200 movs r2, #0 80234fa: 701a strb r2, [r3, #0] READY_TO_SEE = false; 80234fc: 4b59 ldr r3, [pc, #356] ; (8023664 ) 80234fe: 2200 movs r2, #0 8023500: 701a strb r2, [r3, #0] NUM_OPERANDS = 3; 8023502: 4b59 ldr r3, [pc, #356] ; (8023668 ) 8023504: 2203 movs r2, #3 8023506: 701a strb r2, [r3, #0] WARNING = false; 8023508: 4b58 ldr r3, [pc, #352] ; (802366c ) 802350a: 2200 movs r2, #0 802350c: 701a strb r2, [r3, #0] ALARM = false; 802350e: 4b58 ldr r3, [pc, #352] ; (8023670 ) 8023510: 2200 movs r2, #0 8023512: 701a strb r2, [r3, #0] CALC_FREQ = 0; 8023514: 4b57 ldr r3, [pc, #348] ; (8023674 ) 8023516: 2200 movs r2, #0 8023518: 701a strb r2, [r3, #0] NeedMeas = true; 802351a: 4b57 ldr r3, [pc, #348] ; (8023678 ) 802351c: 2201 movs r2, #1 802351e: 701a strb r2, [r3, #0] 8023520: e000 b.n 8023524 return; 8023522: bf00 nop } 8023524: 370c adds r7, #12 8023526: 46bd mov sp, r7 8023528: bd90 pop {r4, r7, pc} 802352a: bf00 nop 802352c: 2002164c .word 0x2002164c 8023530: 20020d7a .word 0x20020d7a 8023534: 20020dac .word 0x20020dac 8023538: 20020db0 .word 0x20020db0 802353c: 20021518 .word 0x20021518 8023540: 20020d78 .word 0x20020d78 8023544: 20020d7c .word 0x20020d7c 8023548: 20020d8c .word 0x20020d8c 802354c: 20020d80 .word 0x20020d80 8023550: 20020d84 .word 0x20020d84 8023554: 20021528 .word 0x20021528 8023558: 20020d88 .word 0x20020d88 802355c: 20021684 .word 0x20021684 8023560: 20020d7f .word 0x20020d7f 8023564: 20020f76 .word 0x20020f76 8023568: 20021524 .word 0x20021524 802356c: 2002160c .word 0x2002160c 8023570: 20021610 .word 0x20021610 8023574: 20021521 .word 0x20021521 8023578: 20021522 .word 0x20021522 802357c: 20021523 .word 0x20021523 8023580: 64080000 .word 0x64080000 8023584: 20026e94 .word 0x20026e94 8023588: 20020094 .word 0x20020094 802358c: 20021628 .word 0x20021628 8023590: 2002162c .word 0x2002162c 8023594: 20020d75 .word 0x20020d75 8023598: 20020d76 .word 0x20020d76 802359c: 20057e68 .word 0x20057e68 80235a0: 00000000 .word 0x00000000 80235a4: 20057fd0 .word 0x20057fd0 80235a8: 20026550 .word 0x20026550 80235ac: 64090000 .word 0x64090000 80235b0: 64094000 .word 0x64094000 80235b4: 64098000 .word 0x64098000 80235b8: 20021540 .word 0x20021540 80235bc: 2002154c .word 0x2002154c 80235c0: 20021558 .word 0x20021558 80235c4: 200268d8 .word 0x200268d8 80235c8: 20023e60 .word 0x20023e60 80235cc: 588bfb80 .word 0x588bfb80 80235d0: 20021538 .word 0x20021538 80235d4: 2002153c .word 0x2002153c 80235d8: 497423f0 .word 0x497423f0 80235dc: 20021564 .word 0x20021564 80235e0: 2002008c .word 0x2002008c 80235e4: 2002168e .word 0x2002168e 80235e8: 20020d60 .word 0x20020d60 80235ec: 20020db8 .word 0x20020db8 80235f0: 20020d9c .word 0x20020d9c 80235f4: c2c80000 .word 0xc2c80000 80235f8: 20020da0 .word 0x20020da0 80235fc: 20020da4 .word 0x20020da4 8023600: 20020d94 .word 0x20020d94 8023604: 20020d90 .word 0x20020d90 8023608: 20021cd4 .word 0x20021cd4 802360c: 20021d10 .word 0x20021d10 8023610: 20021cc8 .word 0x20021cc8 8023614: 20021ccc .word 0x20021ccc 8023618: 20021cd8 .word 0x20021cd8 802361c: 20021cf8 .word 0x20021cf8 8023620: 20021d14 .word 0x20021d14 8023624: 20021d18 .word 0x20021d18 8023628: 20021ce4 .word 0x20021ce4 802362c: 20021ce0 .word 0x20021ce0 8023630: 20021cd0 .word 0x20021cd0 8023634: 20021d0c .word 0x20021d0c 8023638: 20021ce8 .word 0x20021ce8 802363c: 20021cfc .word 0x20021cfc 8023640: 64050000 .word 0x64050000 8023644: 20021620 .word 0x20021620 8023648: 2002161c .word 0x2002161c 802364c: 20021b23 .word 0x20021b23 8023650: 080d0d50 .word 0x080d0d50 8023654: 200209bc .word 0x200209bc 8023658: 200200ca .word 0x200200ca 802365c: 2002002c .word 0x2002002c 8023660: 20020d68 .word 0x20020d68 8023664: 20020d8e .word 0x20020d8e 8023668: 20021012 .word 0x20021012 802366c: 20021014 .word 0x20021014 8023670: 20021015 .word 0x20021015 8023674: 20021010 .word 0x20021010 8023678: 20020d8f .word 0x20020d8f 0802367c : void StartRecording(void) { 802367c: b490 push {r4, r7} 802367e: af00 add r7, sp, #0 CALC_FREQ = 0; 8023680: 4b2c ldr r3, [pc, #176] ; (8023734 ) 8023682: 2200 movs r2, #0 8023684: 701a strb r2, [r3, #0] FirstTime = false; 8023686: 4b2c ldr r3, [pc, #176] ; (8023738 ) 8023688: 2200 movs r2, #0 802368a: 701a strb r2, [r3, #0] firstmeas = false; 802368c: 4b2b ldr r3, [pc, #172] ; (802373c ) 802368e: 2200 movs r2, #0 8023690: 701a strb r2, [r3, #0] RepeatKm = false; 8023692: 4b2b ldr r3, [pc, #172] ; (8023740 ) 8023694: 2200 movs r2, #0 8023696: 701a strb r2, [r3, #0] OVERDRIVE = false; 8023698: 4b2a ldr r3, [pc, #168] ; (8023744 ) 802369a: 2200 movs r2, #0 802369c: 701a strb r2, [r3, #0] FIRST_RECORD = true; 802369e: 4b2a ldr r3, [pc, #168] ; (8023748 ) 80236a0: 2201 movs r2, #1 80236a2: 701a strb r2, [r3, #0] Flag_Set_KU = 0; 80236a4: 4b29 ldr r3, [pc, #164] ; (802374c ) 80236a6: 2200 movs r2, #0 80236a8: 701a strb r2, [r3, #0] NR = 0; 80236aa: 4b29 ldr r3, [pc, #164] ; (8023750 ) 80236ac: 2200 movs r2, #0 80236ae: 601a str r2, [r3, #0] Vup = 0; 80236b0: 4b28 ldr r3, [pc, #160] ; (8023754 ) 80236b2: 2200 movs r2, #0 80236b4: 601a str r2, [r3, #0] Vdn = 0xffffff; 80236b6: 4b28 ldr r3, [pc, #160] ; (8023758 ) 80236b8: f06f 427f mvn.w r2, #4278190080 ; 0xff000000 80236bc: 601a str r2, [r3, #0] NUMPOINTS = 0; 80236be: 4b27 ldr r3, [pc, #156] ; (802375c ) 80236c0: 2200 movs r2, #0 80236c2: 601a str r2, [r3, #0] NeedKmDown = 0; 80236c4: 4b26 ldr r3, [pc, #152] ; (8023760 ) 80236c6: 2200 movs r2, #0 80236c8: 701a strb r2, [r3, #0] NeedKmUp = 0; 80236ca: 4b26 ldr r3, [pc, #152] ; (8023764 ) 80236cc: 2200 movs r2, #0 80236ce: 701a strb r2, [r3, #0] if(CardState != MSD_READY) { 80236d0: 4b25 ldr r3, [pc, #148] ; (8023768 ) 80236d2: 781b ldrb r3, [r3, #0] 80236d4: b2db uxtb r3, r3 80236d6: 2b03 cmp r3, #3 80236d8: d127 bne.n 802372a return; } cntFs = faseADC; 80236da: 4b24 ldr r3, [pc, #144] ; (802376c ) 80236dc: 881b ldrh r3, [r3, #0] 80236de: b29a uxth r2, r3 80236e0: 4b23 ldr r3, [pc, #140] ; (8023770 ) 80236e2: 801a strh r2, [r3, #0] NSamples = 0; 80236e4: 4b23 ldr r3, [pc, #140] ; (8023774 ) 80236e6: 2200 movs r2, #0 80236e8: 601a str r2, [r3, #0] RiffLen = 0; 80236ea: 4a23 ldr r2, [pc, #140] ; (8023778 ) 80236ec: f04f 0300 mov.w r3, #0 80236f0: f04f 0400 mov.w r4, #0 80236f4: e882 0018 stmia.w r2, {r3, r4} cntADC = 0; 80236f8: 4b20 ldr r3, [pc, #128] ; (802377c ) 80236fa: 2200 movs r2, #0 80236fc: 801a strh r2, [r3, #0] cntmeas = 0; 80236fe: 4b20 ldr r3, [pc, #128] ; (8023780 ) 8023700: 2200 movs r2, #0 8023702: 801a strh r2, [r3, #0] cntmeas1 = 0; 8023704: 4b1f ldr r3, [pc, #124] ; (8023784 ) 8023706: 2200 movs r2, #0 8023708: 801a strh r2, [r3, #0] TimeRec = 0; 802370a: 4b1f ldr r3, [pc, #124] ; (8023788 ) 802370c: 2200 movs r2, #0 802370e: 601a str r2, [r3, #0] measlen = 0; 8023710: 4b1e ldr r3, [pc, #120] ; (802378c ) 8023712: 2200 movs r2, #0 8023714: 801a strh r2, [r3, #0] READY = DATA_FREE; 8023716: 4b1e ldr r3, [pc, #120] ; (8023790 ) 8023718: 2200 movs r2, #0 802371a: 701a strb r2, [r3, #0] faseUdar = 0; 802371c: 4b1d ldr r3, [pc, #116] ; (8023794 ) 802371e: 2200 movs r2, #0 8023720: 701a strb r2, [r3, #0] Recording = true; 8023722: 4b1d ldr r3, [pc, #116] ; (8023798 ) 8023724: 2201 movs r2, #1 8023726: 701a strb r2, [r3, #0] 8023728: e000 b.n 802372c return; 802372a: bf00 nop } 802372c: 46bd mov sp, r7 802372e: bc90 pop {r4, r7} 8023730: 4770 bx lr 8023732: bf00 nop 8023734: 20021010 .word 0x20021010 8023738: 20020dae .word 0x20020dae 802373c: 20020dad .word 0x20020dad 8023740: 20020dac .word 0x20020dac 8023744: 20021531 .word 0x20021531 8023748: 20020db4 .word 0x20020db4 802374c: 20020d7e .word 0x20020d7e 8023750: 20021614 .word 0x20021614 8023754: 20021618 .word 0x20021618 8023758: 20020090 .word 0x20020090 802375c: 20021604 .word 0x20021604 8023760: 20020d50 .word 0x20020d50 8023764: 20020d51 .word 0x20020d51 8023768: 2002164c .word 0x2002164c 802376c: 20020d7a .word 0x20020d7a 8023770: 20020d78 .word 0x20020d78 8023774: 20020d88 .word 0x20020d88 8023778: 20021528 .word 0x20021528 802377c: 20020d7c .word 0x20020d7c 8023780: 20020d80 .word 0x20020d80 8023784: 20020d82 .word 0x20020d82 8023788: 20021684 .word 0x20021684 802378c: 20020d8c .word 0x20020d8c 8023790: 20020d7f .word 0x20020d7f 8023794: 20021624 .word 0x20021624 8023798: 20020db0 .word 0x20020db0 0802379c : void StopMeas(void) { 802379c: b580 push {r7, lr} 802379e: af00 add r7, sp, #0 MAX11270_StopMeas(); 80237a0: f031 fc30 bl 8055004 MAX11270_StopMeas(); 80237a4: f031 fc2e bl 8055004 if(pardata.SYG == UDAR) 80237a8: 4b2a ldr r3, [pc, #168] ; (8023854 ) 80237aa: 781b ldrb r3, [r3, #0] 80237ac: b2db uxtb r3, r3 80237ae: 2b09 cmp r3, #9 80237b0: d112 bne.n 80237d8 { #ifdef USE_ADG5401 HAL_GPIO_WritePin(KU_GPIO_Port, KU_Pin, GPIO_PIN_SET); #else HAL_GPIO_WritePin(KU_GPIO_Port, KU_Pin, GPIO_PIN_RESET); 80237b2: 2200 movs r2, #0 80237b4: f44f 4180 mov.w r1, #16384 ; 0x4000 80237b8: 4827 ldr r0, [pc, #156] ; (8023858 ) 80237ba: f092 f9f9 bl 80b5bb0 #endif HAL_GPIO_WritePin(A0_GPIO_Port, A0_Pin, GPIO_PIN_RESET); 80237be: 2200 movs r2, #0 80237c0: 2120 movs r1, #32 80237c2: 4826 ldr r0, [pc, #152] ; (802385c ) 80237c4: f092 f9f4 bl 80b5bb0 HAL_GPIO_WritePin(A1_GPIO_Port, A1_Pin, GPIO_PIN_RESET); 80237c8: 2200 movs r2, #0 80237ca: f44f 7100 mov.w r1, #512 ; 0x200 80237ce: 4824 ldr r0, [pc, #144] ; (8023860 ) 80237d0: f092 f9ee bl 80b5bb0 StopADC12(); 80237d4: f7fd fae2 bl 8020d9c } measuring = false; 80237d8: 4b22 ldr r3, [pc, #136] ; (8023864 ) 80237da: 2200 movs r2, #0 80237dc: 701a strb r2, [r3, #0] READY = DATA_FREE; 80237de: 4b22 ldr r3, [pc, #136] ; (8023868 ) 80237e0: 2200 movs r2, #0 80237e2: 701a strb r2, [r3, #0] AutoStop = false; 80237e4: 4b21 ldr r3, [pc, #132] ; (802386c ) 80237e6: 2200 movs r2, #0 80237e8: 701a strb r2, [r3, #0] RepeatKm = false; 80237ea: 4b21 ldr r3, [pc, #132] ; (8023870 ) 80237ec: 2200 movs r2, #0 80237ee: 701a strb r2, [r3, #0] MeanCnt = 0; 80237f0: 4b20 ldr r3, [pc, #128] ; (8023874 ) 80237f2: 2200 movs r2, #0 80237f4: 601a str r2, [r3, #0] if(pardata.SYG == WAVE) 80237f6: 4b17 ldr r3, [pc, #92] ; (8023854 ) 80237f8: 781b ldrb r3, [r3, #0] 80237fa: b2db uxtb r3, r3 80237fc: 2b04 cmp r3, #4 80237fe: d11d bne.n 802383c { StopTacho(); 8023800: f7fd faf2 bl 8020de8 if(Recording) 8023804: 4b1c ldr r3, [pc, #112] ; (8023878 ) 8023806: 781b ldrb r3, [r3, #0] 8023808: b2db uxtb r3, r3 802380a: 2b00 cmp r3, #0 802380c: d016 beq.n 802383c { Recording = false; 802380e: 4b1a ldr r3, [pc, #104] ; (8023878 ) 8023810: 2200 movs r2, #0 8023812: 701a strb r2, [r3, #0] menupos = StartStop; 8023814: 4b19 ldr r3, [pc, #100] ; (802387c ) 8023816: 2200 movs r2, #0 8023818: 701a strb r2, [r3, #0] f_close(&F); 802381a: 4819 ldr r0, [pc, #100] ; (8023880 ) 802381c: f0a3 f998 bl 80c6b50 if(IS_ROUTE) 8023820: 4b18 ldr r3, [pc, #96] ; (8023884 ) 8023822: 781b ldrb r3, [r3, #0] 8023824: b2db uxtb r3, r3 8023826: 2b00 cmp r3, #0 8023828: d008 beq.n 802383c { RouteMeas(RouteIndex) = 1; 802382a: 4b17 ldr r3, [pc, #92] ; (8023888 ) 802382c: 681a ldr r2, [r3, #0] 802382e: 4b17 ldr r3, [pc, #92] ; (802388c ) 8023830: 4413 add r3, r2 8023832: 2201 movs r2, #1 8023834: 701a strb r2, [r3, #0] WriteFileCSV_TMP(RouteName); 8023836: 4816 ldr r0, [pc, #88] ; (8023890 ) 8023838: f004 ff7a bl 8028730 //MEASURED = true; } } } CALC_FREQ = 0; 802383c: 4b15 ldr r3, [pc, #84] ; (8023894 ) 802383e: 2200 movs r2, #0 8023840: 701a strb r2, [r3, #0] maxdBm = maxdBc = -100.0f; 8023842: 4b15 ldr r3, [pc, #84] ; (8023898 ) 8023844: 4a15 ldr r2, [pc, #84] ; (802389c ) 8023846: 601a str r2, [r3, #0] 8023848: 4b13 ldr r3, [pc, #76] ; (8023898 ) 802384a: 681b ldr r3, [r3, #0] 802384c: 4a14 ldr r2, [pc, #80] ; (80238a0 ) 802384e: 6013 str r3, [r2, #0] } 8023850: bf00 nop 8023852: bd80 pop {r7, pc} 8023854: 20023e60 .word 0x20023e60 8023858: 40021800 .word 0x40021800 802385c: 40020400 .word 0x40020400 8023860: 40021400 .word 0x40021400 8023864: 20020daf .word 0x20020daf 8023868: 20020d7f .word 0x20020d7f 802386c: 20021524 .word 0x20021524 8023870: 20020dac .word 0x20020dac 8023874: 20020db8 .word 0x20020db8 8023878: 20020db0 .word 0x20020db0 802387c: 20020070 .word 0x20020070 8023880: 20022e20 .word 0x20022e20 8023884: 20020db3 .word 0x20020db3 8023888: 20020f6c .word 0x20020f6c 802388c: 64100000 .word 0x64100000 8023890: 20022628 .word 0x20022628 8023894: 20021010 .word 0x20021010 8023898: 20068560 .word 0x20068560 802389c: c2c80000 .word 0xc2c80000 80238a0: 20057ec0 .word 0x20057ec0 080238a4 : void Off(void) { 80238a4: b580 push {r7, lr} 80238a6: b086 sub sp, #24 80238a8: af00 add r7, sp, #0 //return;//todo NeedOff = false; 80238aa: 4b22 ldr r3, [pc, #136] ; (8023934 ) 80238ac: 2200 movs r2, #0 80238ae: 701a strb r2, [r3, #0] HAL_Delay(2000); 80238b0: f44f 60fa mov.w r0, #2000 ; 0x7d0 80238b4: f08f fccc bl 80b3250 if(USBConnected == true) { 80238b8: 4b1f ldr r3, [pc, #124] ; (8023938 ) 80238ba: 781b ldrb r3, [r3, #0] 80238bc: b2db uxtb r3, r3 80238be: 2b00 cmp r3, #0 80238c0: d133 bne.n 802392a return; } if(measuring) { 80238c2: 4b1e ldr r3, [pc, #120] ; (802393c ) 80238c4: 781b ldrb r3, [r3, #0] 80238c6: b2db uxtb r3, r3 80238c8: 2b00 cmp r3, #0 80238ca: d001 beq.n 80238d0 StopMeas(); 80238cc: f7ff ff66 bl 802379c } BSP_LCD_DisplayOff(); 80238d0: f02f fdfa bl 80534c8 HAL_GPIO_WritePin(DISP_ON_GPIO_Port, DISP_ON_Pin, GPIO_PIN_SET); // BACKLIGHT_OFF 80238d4: 2201 movs r2, #1 80238d6: f44f 7180 mov.w r1, #256 ; 0x100 80238da: 4819 ldr r0, [pc, #100] ; (8023940 ) 80238dc: f092 f968 bl 80b5bb0 //************************************************************************************ //****** Configuring USB_VBUS as INPUT PULL DOWN ********** GPIO_InitStruct.Pin = GPIO_PIN_13; 80238e0: f44f 5300 mov.w r3, #8192 ; 0x2000 80238e4: 607b str r3, [r7, #4] GPIO_InitStruct.Mode = GPIO_MODE_INPUT; 80238e6: 2300 movs r3, #0 80238e8: 60bb str r3, [r7, #8] GPIO_InitStruct.Pull = GPIO_PULLDOWN; 80238ea: 2302 movs r3, #2 80238ec: 60fb str r3, [r7, #12] GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; 80238ee: 2303 movs r3, #3 80238f0: 613b str r3, [r7, #16] GPIO_InitStruct.Alternate = 0; 80238f2: 2300 movs r3, #0 80238f4: 617b str r3, [r7, #20] HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); 80238f6: 1d3b adds r3, r7, #4 80238f8: 4619 mov r1, r3 80238fa: 4812 ldr r0, [pc, #72] ; (8023944 ) 80238fc: f091 fe8a bl 80b5614 //******************************************************** wrPar(); 8023900: f00a fcc2 bl 802e288 while(HAL_GPIO_ReadPin(OFF_GPIO_Port, OFF_Pin) == GPIO_PIN_SET); 8023904: bf00 nop 8023906: 2101 movs r1, #1 8023908: 480d ldr r0, [pc, #52] ; (8023940 ) 802390a: f092 f939 bl 80b5b80 802390e: 4603 mov r3, r0 8023910: 2b01 cmp r3, #1 8023912: d0f8 beq.n 8023906 HAL_GPIO_WritePin(ON_GPIO_Port, ON_Pin, GPIO_PIN_RESET); 8023914: 2200 movs r2, #0 8023916: f44f 7180 mov.w r1, #256 ; 0x100 802391a: 480b ldr r0, [pc, #44] ; (8023948 ) 802391c: f092 f948 bl 80b5bb0 HAL_Delay(300); 8023920: f44f 7096 mov.w r0, #300 ; 0x12c 8023924: f08f fc94 bl 80b3250 while(1); 8023928: e7fe b.n 8023928 return; 802392a: bf00 nop } 802392c: 3718 adds r7, #24 802392e: 46bd mov sp, r7 8023930: bd80 pop {r7, pc} 8023932: bf00 nop 8023934: 20020f75 .word 0x20020f75 8023938: 20021b21 .word 0x20021b21 802393c: 20020daf .word 0x20020daf 8023940: 40020000 .word 0x40020000 8023944: 40020400 .word 0x40020400 8023948: 40021400 .word 0x40021400 0802394c : float64_t get_log_unit_value(float64_t lin_unit_value, float64_t base, float64_t k, float64_t c) { 802394c: b580 push {r7, lr} 802394e: ed2d 8b02 vpush {d8} 8023952: b088 sub sp, #32 8023954: af00 add r7, sp, #0 8023956: ed87 0b06 vstr d0, [r7, #24] 802395a: ed87 1b04 vstr d1, [r7, #16] 802395e: ed87 2b02 vstr d2, [r7, #8] 8023962: ed87 3b00 vstr d3, [r7] return (c * logl(lin_unit_value) / logl(base) + k); 8023966: ed97 0b06 vldr d0, [r7, #24] 802396a: f0a6 ffcd bl 80ca908 802396e: eeb0 6b40 vmov.f64 d6, d0 8023972: ed97 7b00 vldr d7, [r7] 8023976: ee26 8b07 vmul.f64 d8, d6, d7 802397a: ed97 0b04 vldr d0, [r7, #16] 802397e: f0a6 ffc3 bl 80ca908 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: 080d0d58 .word 0x080d0d58 80239e4: 080d0d60 .word 0x080d0d60 80239e8: 080d0d68 .word 0x080d0d68 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: 080d0d70 .word 0x080d0d70 8023a30: 080d0d78 .word 0x080d0d78 8023a34: 080d0d80 .word 0x080d0d80 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: 080d0d88 .word 0x080d0d88 8023a98: 080d0d90 .word 0x080d0d90 8023a9c: 080d0d98 .word 0x080d0d98 08023aa0 : * Enable DMA controller clock * Configure DMA for memory to memory transfers * hdma_memtomem_dma2_stream0 */ void MX_DMA_Init(void) { 8023aa0: b580 push {r7, lr} 8023aa2: b082 sub sp, #8 8023aa4: af00 add r7, sp, #0 __HAL_RCC_DMA2_CLK_ENABLE(); 8023aa6: 4a1c ldr r2, [pc, #112] ; (8023b18 ) 8023aa8: 4b1b ldr r3, [pc, #108] ; (8023b18 ) 8023aaa: 6b1b ldr r3, [r3, #48] ; 0x30 8023aac: f443 0380 orr.w r3, r3, #4194304 ; 0x400000 8023ab0: 6313 str r3, [r2, #48] ; 0x30 8023ab2: 4b19 ldr r3, [pc, #100] ; (8023b18 ) 8023ab4: 6b1b ldr r3, [r3, #48] ; 0x30 8023ab6: f403 0380 and.w r3, r3, #4194304 ; 0x400000 8023aba: 607b str r3, [r7, #4] 8023abc: 687b ldr r3, [r7, #4] HAL_NVIC_SetPriority(DMA2_Stream0_IRQn, 2, 0); /* MEM_COPY */ 8023abe: 2200 movs r2, #0 8023ac0: 2102 movs r1, #2 8023ac2: 2038 movs r0, #56 ; 0x38 8023ac4: f090 fb0f bl 80b40e6 HAL_NVIC_EnableIRQ(DMA2_Stream0_IRQn); 8023ac8: 2038 movs r0, #56 ; 0x38 8023aca: f090 fb28 bl 80b411e HAL_NVIC_SetPriority(DMA2_Stream3_IRQn, 5, 0); /* SD_Rx */ 8023ace: 2200 movs r2, #0 8023ad0: 2105 movs r1, #5 8023ad2: 203b movs r0, #59 ; 0x3b 8023ad4: f090 fb07 bl 80b40e6 HAL_NVIC_EnableIRQ(DMA2_Stream3_IRQn); 8023ad8: 203b movs r0, #59 ; 0x3b 8023ada: f090 fb20 bl 80b411e HAL_NVIC_SetPriority(DMA2_Stream6_IRQn, 5, 0); /* SD_Tx */ 8023ade: 2200 movs r2, #0 8023ae0: 2105 movs r1, #5 8023ae2: 2045 movs r0, #69 ; 0x45 8023ae4: f090 faff bl 80b40e6 HAL_NVIC_EnableIRQ(DMA2_Stream6_IRQn); 8023ae8: 2045 movs r0, #69 ; 0x45 8023aea: f090 fb18 bl 80b411e HAL_NVIC_SetPriority(DMA2_Stream4_IRQn, 1, 0); /* ADC_Bat */ 8023aee: 2200 movs r2, #0 8023af0: 2101 movs r1, #1 8023af2: 203c movs r0, #60 ; 0x3c 8023af4: f090 faf7 bl 80b40e6 HAL_NVIC_EnableIRQ(DMA2_Stream4_IRQn); 8023af8: 203c movs r0, #60 ; 0x3c 8023afa: f090 fb10 bl 80b411e HAL_NVIC_SetPriority(DMA2_Stream1_IRQn, 1, 0); /* TACHO */ 8023afe: 2200 movs r2, #0 8023b00: 2101 movs r1, #1 8023b02: 2039 movs r0, #57 ; 0x39 8023b04: f090 faef bl 80b40e6 HAL_NVIC_EnableIRQ(DMA2_Stream1_IRQn); 8023b08: 2039 movs r0, #57 ; 0x39 8023b0a: f090 fb08 bl 80b411e } 8023b0e: bf00 nop 8023b10: 3708 adds r7, #8 8023b12: 46bd mov sp, r7 8023b14: bd80 pop {r7, pc} 8023b16: bf00 nop 8023b18: 40023800 .word 0x40023800 08023b1c : DMA2D_HandleTypeDef hdma2d; /* DMA2D init function */ void MX_DMA2D_Init(void) { 8023b1c: b580 push {r7, lr} 8023b1e: af00 add r7, sp, #0 hdma2d.Instance = DMA2D; 8023b20: 4b18 ldr r3, [pc, #96] ; (8023b84 ) 8023b22: 4a19 ldr r2, [pc, #100] ; (8023b88 ) 8023b24: 601a str r2, [r3, #0] hdma2d.Init.Mode = DMA2D_M2M; 8023b26: 4b17 ldr r3, [pc, #92] ; (8023b84 ) 8023b28: 2200 movs r2, #0 8023b2a: 605a str r2, [r3, #4] hdma2d.Init.ColorMode = DMA2D_OUTPUT_RGB565; 8023b2c: 4b15 ldr r3, [pc, #84] ; (8023b84 ) 8023b2e: 2202 movs r2, #2 8023b30: 609a str r2, [r3, #8] hdma2d.Init.OutputOffset = 0; 8023b32: 4b14 ldr r3, [pc, #80] ; (8023b84 ) 8023b34: 2200 movs r2, #0 8023b36: 60da str r2, [r3, #12] hdma2d.LayerCfg[1].InputOffset = 0; 8023b38: 4b12 ldr r3, [pc, #72] ; (8023b84 ) 8023b3a: 2200 movs r2, #0 8023b3c: 639a str r2, [r3, #56] ; 0x38 hdma2d.LayerCfg[1].InputColorMode = DMA2D_INPUT_RGB565; 8023b3e: 4b11 ldr r3, [pc, #68] ; (8023b84 ) 8023b40: 2202 movs r2, #2 8023b42: 63da str r2, [r3, #60] ; 0x3c hdma2d.LayerCfg[1].AlphaMode = DMA2D_NO_MODIF_ALPHA; 8023b44: 4b0f ldr r3, [pc, #60] ; (8023b84 ) 8023b46: 2200 movs r2, #0 8023b48: 641a str r2, [r3, #64] ; 0x40 hdma2d.LayerCfg[1].InputAlpha = 0; 8023b4a: 4b0e ldr r3, [pc, #56] ; (8023b84 ) 8023b4c: 2200 movs r2, #0 8023b4e: 645a str r2, [r3, #68] ; 0x44 hdma2d.LayerCfg[1].AlphaInverted = DMA2D_REGULAR_ALPHA; 8023b50: 4b0c ldr r3, [pc, #48] ; (8023b84 ) 8023b52: 2200 movs r2, #0 8023b54: 649a str r2, [r3, #72] ; 0x48 hdma2d.LayerCfg[1].RedBlueSwap = DMA2D_RB_REGULAR; 8023b56: 4b0b ldr r3, [pc, #44] ; (8023b84 ) 8023b58: 2200 movs r2, #0 8023b5a: 64da str r2, [r3, #76] ; 0x4c if (HAL_DMA2D_Init(&hdma2d) != HAL_OK) 8023b5c: 4809 ldr r0, [pc, #36] ; (8023b84 ) 8023b5e: f091 f803 bl 80b4b68 8023b62: 4603 mov r3, r0 8023b64: 2b00 cmp r3, #0 8023b66: d001 beq.n 8023b6c { Error_Handler(); 8023b68: f031 f952 bl 8054e10 } if (HAL_DMA2D_ConfigLayer(&hdma2d, 1) != HAL_OK) 8023b6c: 2101 movs r1, #1 8023b6e: 4805 ldr r0, [pc, #20] ; (8023b84 ) 8023b70: f091 f968 bl 80b4e44 8023b74: 4603 mov r3, r0 8023b76: 2b00 cmp r3, #0 8023b78: d001 beq.n 8023b7e { Error_Handler(); 8023b7a: f031 f949 bl 8054e10 } } 8023b7e: bf00 nop 8023b80: bd80 pop {r7, pc} 8023b82: bf00 nop 8023b84: 20021d24 .word 0x20021d24 8023b88: 4002b000 .word 0x4002b000 08023b8c : void HAL_DMA2D_MspInit(DMA2D_HandleTypeDef* dma2dHandle) { 8023b8c: b480 push {r7} 8023b8e: b085 sub sp, #20 8023b90: af00 add r7, sp, #0 8023b92: 6078 str r0, [r7, #4] if(dma2dHandle->Instance==DMA2D) 8023b94: 687b ldr r3, [r7, #4] 8023b96: 681b ldr r3, [r3, #0] 8023b98: 4a0a ldr r2, [pc, #40] ; (8023bc4 ) 8023b9a: 4293 cmp r3, r2 8023b9c: d10b bne.n 8023bb6 { /* USER CODE BEGIN DMA2D_MspInit 0 */ /* USER CODE END DMA2D_MspInit 0 */ /* DMA2D clock enable */ __HAL_RCC_DMA2D_CLK_ENABLE(); 8023b9e: 4a0a ldr r2, [pc, #40] ; (8023bc8 ) 8023ba0: 4b09 ldr r3, [pc, #36] ; (8023bc8 ) 8023ba2: 6b1b ldr r3, [r3, #48] ; 0x30 8023ba4: f443 0300 orr.w r3, r3, #8388608 ; 0x800000 8023ba8: 6313 str r3, [r2, #48] ; 0x30 8023baa: 4b07 ldr r3, [pc, #28] ; (8023bc8 ) 8023bac: 6b1b ldr r3, [r3, #48] ; 0x30 8023bae: f403 0300 and.w r3, r3, #8388608 ; 0x800000 8023bb2: 60fb str r3, [r7, #12] 8023bb4: 68fb ldr r3, [r7, #12] /* USER CODE BEGIN DMA2D_MspInit 1 */ /* USER CODE END DMA2D_MspInit 1 */ } } 8023bb6: bf00 nop 8023bb8: 3714 adds r7, #20 8023bba: 46bd mov sp, r7 8023bbc: f85d 7b04 ldr.w r7, [sp], #4 8023bc0: 4770 bx lr 8023bc2: bf00 nop 8023bc4: 4002b000 .word 0x4002b000 8023bc8: 40023800 .word 0x40023800 08023bcc : void initSD(void) { 8023bcc: b580 push {r7, lr} 8023bce: b086 sub sp, #24 8023bd0: af00 add r7, sp, #0 uint32_t TryTimes, i; TM_FATFS_Size_t SD_Size; //HAL_SD_CardInfoTypeDef CardInfo; FRESULT res = FR_DISK_ERR; 8023bd2: 2301 movs r3, #1 8023bd4: 74fb strb r3, [r7, #19] AskFormat = false; 8023bd6: 4b55 ldr r3, [pc, #340] ; (8023d2c ) 8023bd8: 2200 movs r2, #0 8023bda: 701a strb r2, [r3, #0] for(TryTimes = 0; TryTimes < 10; TryTimes++) 8023bdc: 2300 movs r3, #0 8023bde: 617b str r3, [r7, #20] 8023be0: e011 b.n 8023c06 { if(BSP_SD_IsDetected() == SD_NOT_PRESENT) 8023be2: f09b fe6e bl 80bf8c2 8023be6: 4603 mov r3, r0 8023be8: 2b00 cmp r3, #0 8023bea: d103 bne.n 8023bf4 CardState = MSD_NOCARD; 8023bec: 4b50 ldr r3, [pc, #320] ; (8023d30 ) 8023bee: 2200 movs r2, #0 8023bf0: 701a strb r2, [r3, #0] 8023bf2: e002 b.n 8023bfa else CardState = MSD_PRESENT; 8023bf4: 4b4e ldr r3, [pc, #312] ; (8023d30 ) 8023bf6: 2201 movs r2, #1 8023bf8: 701a strb r2, [r3, #0] HAL_Delay(20); 8023bfa: 2014 movs r0, #20 8023bfc: f08f fb28 bl 80b3250 for(TryTimes = 0; TryTimes < 10; TryTimes++) 8023c00: 697b ldr r3, [r7, #20] 8023c02: 3301 adds r3, #1 8023c04: 617b str r3, [r7, #20] 8023c06: 697b ldr r3, [r7, #20] 8023c08: 2b09 cmp r3, #9 8023c0a: d9ea bls.n 8023be2 } if(CardState == MSD_NOCARD) { 8023c0c: 4b48 ldr r3, [pc, #288] ; (8023d30 ) 8023c0e: 781b ldrb r3, [r3, #0] 8023c10: b2db uxtb r3, r3 8023c12: 2b00 cmp r3, #0 8023c14: f000 8085 beq.w 8023d22 HAL_RTCEx_BKUPWrite(&hrtc, RTC_BKP_DR2, 0); } }*/ for(TryTimes = 0; TryTimes < 10; TryTimes++) 8023c18: 2300 movs r3, #0 8023c1a: 617b str r3, [r7, #20] 8023c1c: e012 b.n 8023c44 { res = f_mount(&fs, SDPath, 1); 8023c1e: 2201 movs r2, #1 8023c20: 4944 ldr r1, [pc, #272] ; (8023d34 ) 8023c22: 4845 ldr r0, [pc, #276] ; (8023d38 ) 8023c24: f0a2 f90c bl 80c5e40 8023c28: 4603 mov r3, r0 8023c2a: 74fb strb r3, [r7, #19] if(res == FR_OK) 8023c2c: 7cfb ldrb r3, [r7, #19] 8023c2e: 2b00 cmp r3, #0 8023c30: d105 bne.n 8023c3e { HAL_RTCEx_BKUPWrite(&hrtc, RTC_BKP_DR2, 0); 8023c32: 2200 movs r2, #0 8023c34: 2102 movs r1, #2 8023c36: 4841 ldr r0, [pc, #260] ; (8023d3c ) 8023c38: f095 f9bc bl 80b8fb4 break; 8023c3c: e005 b.n 8023c4a for(TryTimes = 0; TryTimes < 10; TryTimes++) 8023c3e: 697b ldr r3, [r7, #20] 8023c40: 3301 adds r3, #1 8023c42: 617b str r3, [r7, #20] 8023c44: 697b ldr r3, [r7, #20] 8023c46: 2b09 cmp r3, #9 8023c48: d9e9 bls.n 8023c1e } } if(res != FR_OK) 8023c4a: 7cfb ldrb r3, [r7, #19] 8023c4c: 2b00 cmp r3, #0 8023c4e: d017 beq.n 8023c80 { i = HAL_RTCEx_BKUPRead(&hrtc, RTC_BKP_DR2); 8023c50: 2102 movs r1, #2 8023c52: 483a ldr r0, [pc, #232] ; (8023d3c ) 8023c54: f095 f9c8 bl 80b8fe8 8023c58: 60f8 str r0, [r7, #12] if(i < 3) 8023c5a: 68fb ldr r3, [r7, #12] 8023c5c: 2b02 cmp r3, #2 8023c5e: d80a bhi.n 8023c76 { i++; 8023c60: 68fb ldr r3, [r7, #12] 8023c62: 3301 adds r3, #1 8023c64: 60fb str r3, [r7, #12] HAL_RTCEx_BKUPWrite(&hrtc, RTC_BKP_DR2, i); 8023c66: 68fa ldr r2, [r7, #12] 8023c68: 2102 movs r1, #2 8023c6a: 4834 ldr r0, [pc, #208] ; (8023d3c ) 8023c6c: f095 f9a2 bl 80b8fb4 HAL_NVIC_SystemReset(); 8023c70: f090 fa71 bl 80b4156 8023c74: e004 b.n 8023c80 } else { HAL_RTCEx_BKUPWrite(&hrtc, RTC_BKP_DR2, 0); 8023c76: 2200 movs r2, #0 8023c78: 2102 movs r1, #2 8023c7a: 4830 ldr r0, [pc, #192] ; (8023d3c ) 8023c7c: f095 f99a bl 80b8fb4 if(res == FR_OK) 8023c80: 7cfb ldrb r3, [r7, #19] 8023c82: 2b00 cmp r3, #0 8023c84: d13a bne.n 8023cfc { TryTimes = 10; 8023c86: 230a movs r3, #10 8023c88: 617b str r3, [r7, #20] do { res = TM_FATFS_GetDriveSize(SDPath, &SD_Size); 8023c8a: 1d3b adds r3, r7, #4 8023c8c: 4619 mov r1, r3 8023c8e: 4829 ldr r0, [pc, #164] ; (8023d34 ) 8023c90: f008 fce6 bl 802c660 8023c94: 4603 mov r3, r0 8023c96: 74fb strb r3, [r7, #19] if(res == FR_OK) 8023c98: 7cfb ldrb r3, [r7, #19] 8023c9a: 2b00 cmp r3, #0 8023c9c: d10e bne.n 8023cbc { SD_Space.TotalSectors = SD_Size.TotalSize; // Number Total Sectors 8023c9e: 687b ldr r3, [r7, #4] 8023ca0: 4a27 ldr r2, [pc, #156] ; (8023d40 ) 8023ca2: 6013 str r3, [r2, #0] SD_Space.FreeSectors = SD_Size.FreeSize; // Number Free Sectors 8023ca4: 68bb ldr r3, [r7, #8] 8023ca6: 4a26 ldr r2, [pc, #152] ; (8023d40 ) 8023ca8: 6053 str r3, [r2, #4] SD_Space.Total_MB = SD_Size.TotalSize >> 20; // Number Total sectors into MBytes 8023caa: 687b ldr r3, [r7, #4] 8023cac: 0d1b lsrs r3, r3, #20 8023cae: 4a24 ldr r2, [pc, #144] ; (8023d40 ) 8023cb0: 6093 str r3, [r2, #8] SD_Space.Free_MB = SD_Size.FreeSize >> 20; // Number Total sectors into MBytes 8023cb2: 68bb ldr r3, [r7, #8] 8023cb4: 0d1b lsrs r3, r3, #20 8023cb6: 4a22 ldr r2, [pc, #136] ; (8023d40 ) 8023cb8: 60d3 str r3, [r2, #12] 8023cba: e002 b.n 8023cc2 } else TryTimes--; 8023cbc: 697b ldr r3, [r7, #20] 8023cbe: 3b01 subs r3, #1 8023cc0: 617b str r3, [r7, #20] } while((TryTimes > 0) && (res != FR_OK)); 8023cc2: 697b ldr r3, [r7, #20] 8023cc4: 2b00 cmp r3, #0 8023cc6: d002 beq.n 8023cce 8023cc8: 7cfb ldrb r3, [r7, #19] 8023cca: 2b00 cmp r3, #0 8023ccc: d1dd bne.n 8023c8a if(res == FR_OK) 8023cce: 7cfb ldrb r3, [r7, #19] 8023cd0: 2b00 cmp r3, #0 8023cd2: d103 bne.n 8023cdc { CardState = MSD_READY; 8023cd4: 4b16 ldr r3, [pc, #88] ; (8023d30 ) 8023cd6: 2203 movs r2, #3 8023cd8: 701a strb r2, [r3, #0] 8023cda: e023 b.n 8023d24 } else { memset(MeasFileName, 0, sizeof(MeasFileName)); 8023cdc: 2221 movs r2, #33 ; 0x21 8023cde: 2100 movs r1, #0 8023ce0: 4818 ldr r0, [pc, #96] ; (8023d44 ) 8023ce2: f0a9 f9b1 bl 80cd048 memset(WavFileName, 0, sizeof(WavFileName)); 8023ce6: 2221 movs r2, #33 ; 0x21 8023ce8: 2100 movs r1, #0 8023cea: 4817 ldr r0, [pc, #92] ; (8023d48 ) 8023cec: f0a9 f9ac bl 80cd048 memset(DiagFileName, 0, sizeof(DiagFileName)); 8023cf0: 2221 movs r2, #33 ; 0x21 8023cf2: 2100 movs r1, #0 8023cf4: 4815 ldr r0, [pc, #84] ; (8023d4c ) 8023cf6: f0a9 f9a7 bl 80cd048 8023cfa: e013 b.n 8023d24 } else { //if(res == FR_NO_FILESYSTEM) //{ AskFormat = true; 8023cfc: 4b0b ldr r3, [pc, #44] ; (8023d2c ) 8023cfe: 2201 movs r2, #1 8023d00: 701a strb r2, [r3, #0] memset(MeasFileName, 0, sizeof(MeasFileName)); 8023d02: 2221 movs r2, #33 ; 0x21 8023d04: 2100 movs r1, #0 8023d06: 480f ldr r0, [pc, #60] ; (8023d44 ) 8023d08: f0a9 f99e bl 80cd048 memset(WavFileName, 0, sizeof(WavFileName)); 8023d0c: 2221 movs r2, #33 ; 0x21 8023d0e: 2100 movs r1, #0 8023d10: 480d ldr r0, [pc, #52] ; (8023d48 ) 8023d12: f0a9 f999 bl 80cd048 memset(DiagFileName, 0, sizeof(DiagFileName)); 8023d16: 2221 movs r2, #33 ; 0x21 8023d18: 2100 movs r1, #0 8023d1a: 480c ldr r0, [pc, #48] ; (8023d4c ) 8023d1c: f0a9 f994 bl 80cd048 8023d20: e000 b.n 8023d24 return; 8023d22: bf00 nop //} } } 8023d24: 3718 adds r7, #24 8023d26: 46bd mov sp, r7 8023d28: bd80 pop {r7, pc} 8023d2a: bf00 nop 8023d2c: 2002164d .word 0x2002164d 8023d30: 2002164c .word 0x2002164c 8023d34: 20068acc .word 0x20068acc 8023d38: 200220c0 .word 0x200220c0 8023d3c: 20068598 .word 0x20068598 8023d40: 20022300 .word 0x20022300 8023d44: 20020e58 .word 0x20020e58 8023d48: 20020e34 .word 0x20020e34 8023d4c: 20020e7c .word 0x20020e7c 08023d50 : void FileSystem(void) { 8023d50: b580 push {r7, lr} 8023d52: b092 sub sp, #72 ; 0x48 8023d54: af00 add r7, sp, #0 FRESULT res; TM_FATFS_Size_t SD_Size; char fn[40]; if(NeedClean) 8023d56: 4ba0 ldr r3, [pc, #640] ; (8023fd8 ) 8023d58: 781b ldrb r3, [r3, #0] 8023d5a: b2db uxtb r3, r3 8023d5c: 2b00 cmp r3, #0 8023d5e: f000 81a2 beq.w 80240a6 { if(CardState == MSD_READY) 8023d62: 4b9e ldr r3, [pc, #632] ; (8023fdc ) 8023d64: 781b ldrb r3, [r3, #0] 8023d66: b2db uxtb r3, r3 8023d68: 2b03 cmp r3, #3 8023d6a: f040 8195 bne.w 8024098 { if(NeedClean == 1) 8023d6e: 4b9a ldr r3, [pc, #616] ; (8023fd8 ) 8023d70: 781b ldrb r3, [r3, #0] 8023d72: b2db uxtb r3, r3 8023d74: 2b01 cmp r3, #1 8023d76: f040 808b bne.w 8023e90 { if(NumFilesDelete != 0) 8023d7a: 4b99 ldr r3, [pc, #612] ; (8023fe0 ) 8023d7c: 681b ldr r3, [r3, #0] 8023d7e: 2b00 cmp r3, #0 8023d80: f000 8083 beq.w 8023e8a { k = 0; 8023d84: 2300 movs r3, #0 8023d86: 63fb str r3, [r7, #60] ; 0x3c timedown = HAL_GetTick(); 8023d88: f08f fa56 bl 80b3238 8023d8c: 4603 mov r3, r0 8023d8e: 637b str r3, [r7, #52] ; 0x34 for(i = 0; i < NumFilesDelete; i++) 8023d90: 2300 movs r3, #0 8023d92: 647b str r3, [r7, #68] ; 0x44 8023d94: e068 b.n 8023e68 { j = 0; 8023d96: 2300 movs r3, #0 8023d98: 643b str r3, [r7, #64] ; 0x40 while(StrRAM(j, 0) == 0) 8023d9a: e006 b.n 8023daa { j++; 8023d9c: 6c3b ldr r3, [r7, #64] ; 0x40 8023d9e: 3301 adds r3, #1 8023da0: 643b str r3, [r7, #64] ; 0x40 if(j >= MAX_CHECKED_FILES) 8023da2: 6c3b ldr r3, [r7, #64] ; 0x40 8023da4: f5b3 7f00 cmp.w r3, #512 ; 0x200 8023da8: d20b bcs.n 8023dc2 while(StrRAM(j, 0) == 0) 8023daa: 6c3a ldr r2, [r7, #64] ; 0x40 8023dac: 4613 mov r3, r2 8023dae: 009b lsls r3, r3, #2 8023db0: 4413 add r3, r2 8023db2: 00db lsls r3, r3, #3 8023db4: 461a mov r2, r3 8023db6: 4b8b ldr r3, [pc, #556] ; (8023fe4 ) 8023db8: 4413 add r3, r2 8023dba: 781b ldrb r3, [r3, #0] 8023dbc: 2b00 cmp r3, #0 8023dbe: d0ed beq.n 8023d9c 8023dc0: e000 b.n 8023dc4 break; 8023dc2: bf00 nop } if(j < MAX_CHECKED_FILES) 8023dc4: 6c3b ldr r3, [r7, #64] ; 0x40 8023dc6: f5b3 7f00 cmp.w r3, #512 ; 0x200 8023dca: d23c bcs.n 8023e46 { strcpy(fn, &StrRAM(j, 0)); 8023dcc: 6c3a ldr r2, [r7, #64] ; 0x40 8023dce: 4613 mov r3, r2 8023dd0: 009b lsls r3, r3, #2 8023dd2: 4413 add r3, r2 8023dd4: 00db lsls r3, r3, #3 8023dd6: 461a mov r2, r3 8023dd8: 4b82 ldr r3, [pc, #520] ; (8023fe4 ) 8023dda: 4413 add r3, r2 8023ddc: 461a mov r2, r3 8023dde: 1d3b adds r3, r7, #4 8023de0: 4611 mov r1, r2 8023de2: 4618 mov r0, r3 8023de4: f0a9 fa4d bl 80cd282 memset(&StrRAM(j, 0), 0, 40); 8023de8: 6c3a ldr r2, [r7, #64] ; 0x40 8023dea: 4613 mov r3, r2 8023dec: 009b lsls r3, r3, #2 8023dee: 4413 add r3, r2 8023df0: 00db lsls r3, r3, #3 8023df2: 461a mov r2, r3 8023df4: 4b7b ldr r3, [pc, #492] ; (8023fe4 ) 8023df6: 4413 add r3, r2 8023df8: 2228 movs r2, #40 ; 0x28 8023dfa: 2100 movs r1, #0 8023dfc: 4618 mov r0, r3 8023dfe: f0a9 f923 bl 80cd048 res = DeleteFilePTM(fn); 8023e02: 1d3b adds r3, r7, #4 8023e04: 4618 mov r0, r3 8023e06: f006 ffb7 bl 802ad78 8023e0a: 4603 mov r3, r0 8023e0c: f887 303b strb.w r3, [r7, #59] ; 0x3b if(res == FR_OK) 8023e10: f897 303b ldrb.w r3, [r7, #59] ; 0x3b 8023e14: 2b00 cmp r3, #0 8023e16: d116 bne.n 8023e46 { if(strcmp(fn, MeasFileName) == 0) 8023e18: 1d3b adds r3, r7, #4 8023e1a: 4973 ldr r1, [pc, #460] ; (8023fe8 ) 8023e1c: 4618 mov r0, r3 8023e1e: f7fc fa6f bl 8020300 8023e22: 4603 mov r3, r0 8023e24: 2b00 cmp r3, #0 8023e26: d10b bne.n 8023e40 { memset(MeasFileName, 0, sizeof(MeasFileName)); 8023e28: 2221 movs r2, #33 ; 0x21 8023e2a: 2100 movs r1, #0 8023e2c: 486e ldr r0, [pc, #440] ; (8023fe8 ) 8023e2e: f0a9 f90b bl 80cd048 strcpy(MeasFileName, " "); 8023e32: 4b6d ldr r3, [pc, #436] ; (8023fe8 ) 8023e34: 4a6d ldr r2, [pc, #436] ; (8023fec ) 8023e36: e892 0003 ldmia.w r2, {r0, r1} 8023e3a: 6018 str r0, [r3, #0] 8023e3c: 3304 adds r3, #4 8023e3e: 8019 strh r1, [r3, #0] } k++; 8023e40: 6bfb ldr r3, [r7, #60] ; 0x3c 8023e42: 3301 adds r3, #1 8023e44: 63fb str r3, [r7, #60] ; 0x3c } } if((HAL_GetTick() - timedown) >= 300) 8023e46: f08f f9f7 bl 80b3238 8023e4a: 4602 mov r2, r0 8023e4c: 6b7b ldr r3, [r7, #52] ; 0x34 8023e4e: 1ad3 subs r3, r2, r3 8023e50: f5b3 7f96 cmp.w r3, #300 ; 0x12c 8023e54: d305 bcc.n 8023e62 { timedown = HAL_GetTick(); 8023e56: f08f f9ef bl 80b3238 8023e5a: 4603 mov r3, r0 8023e5c: 637b str r3, [r7, #52] ; 0x34 RedrawScreen(); 8023e5e: f043 ffcb bl 8067df8 for(i = 0; i < NumFilesDelete; i++) 8023e62: 6c7b ldr r3, [r7, #68] ; 0x44 8023e64: 3301 adds r3, #1 8023e66: 647b str r3, [r7, #68] ; 0x44 8023e68: 4b5d ldr r3, [pc, #372] ; (8023fe0 ) 8023e6a: 681b ldr r3, [r3, #0] 8023e6c: 6c7a ldr r2, [r7, #68] ; 0x44 8023e6e: 429a cmp r2, r3 8023e70: d391 bcc.n 8023d96 } } if(k == NumFilesDelete) 8023e72: 4b5b ldr r3, [pc, #364] ; (8023fe0 ) 8023e74: 681b ldr r3, [r3, #0] 8023e76: 6bfa ldr r2, [r7, #60] ; 0x3c 8023e78: 429a cmp r2, r3 8023e7a: d103 bne.n 8023e84 CleanStatus = AP_OK; 8023e7c: 4b5c ldr r3, [pc, #368] ; (8023ff0 ) 8023e7e: 2200 movs r2, #0 8023e80: 701a strb r2, [r3, #0] 8023e82: e002 b.n 8023e8a else CleanStatus = AP_FAIL; 8023e84: 4b5a ldr r3, [pc, #360] ; (8023ff0 ) 8023e86: 2201 movs r2, #1 8023e88: 701a strb r2, [r3, #0] } CheckSD(); 8023e8a: f008 fb8b bl 802c5a4 8023e8e: e103 b.n 8024098 } else if(NeedClean == 2) // Óäàëåíèå ôàéëîâ .GTR 8023e90: 4b51 ldr r3, [pc, #324] ; (8023fd8 ) 8023e92: 781b ldrb r3, [r3, #0] 8023e94: b2db uxtb r3, r3 8023e96: 2b02 cmp r3, #2 8023e98: d175 bne.n 8023f86 { if(NumFilesDelete != 0) 8023e9a: 4b51 ldr r3, [pc, #324] ; (8023fe0 ) 8023e9c: 681b ldr r3, [r3, #0] 8023e9e: 2b00 cmp r3, #0 8023ea0: d06e beq.n 8023f80 { k = 0; 8023ea2: 2300 movs r3, #0 8023ea4: 63fb str r3, [r7, #60] ; 0x3c timedown = HAL_GetTick(); 8023ea6: f08f f9c7 bl 80b3238 8023eaa: 4603 mov r3, r0 8023eac: 637b str r3, [r7, #52] ; 0x34 for(i = 0; i < NumFilesDelete; i++) 8023eae: 2300 movs r3, #0 8023eb0: 647b str r3, [r7, #68] ; 0x44 8023eb2: e054 b.n 8023f5e { j = 0; 8023eb4: 2300 movs r3, #0 8023eb6: 643b str r3, [r7, #64] ; 0x40 while(StrRAM(j, 0) == 0) 8023eb8: e006 b.n 8023ec8 { j++; 8023eba: 6c3b ldr r3, [r7, #64] ; 0x40 8023ebc: 3301 adds r3, #1 8023ebe: 643b str r3, [r7, #64] ; 0x40 if(j >= MAX_CHECKED_FILES) 8023ec0: 6c3b ldr r3, [r7, #64] ; 0x40 8023ec2: f5b3 7f00 cmp.w r3, #512 ; 0x200 8023ec6: d20b bcs.n 8023ee0 while(StrRAM(j, 0) == 0) 8023ec8: 6c3a ldr r2, [r7, #64] ; 0x40 8023eca: 4613 mov r3, r2 8023ecc: 009b lsls r3, r3, #2 8023ece: 4413 add r3, r2 8023ed0: 00db lsls r3, r3, #3 8023ed2: 461a mov r2, r3 8023ed4: 4b43 ldr r3, [pc, #268] ; (8023fe4 ) 8023ed6: 4413 add r3, r2 8023ed8: 781b ldrb r3, [r3, #0] 8023eda: 2b00 cmp r3, #0 8023edc: d0ed beq.n 8023eba 8023ede: e000 b.n 8023ee2 break; 8023ee0: bf00 nop } if(j < MAX_CHECKED_FILES) 8023ee2: 6c3b ldr r3, [r7, #64] ; 0x40 8023ee4: f5b3 7f00 cmp.w r3, #512 ; 0x200 8023ee8: d228 bcs.n 8023f3c { strcpy(fn, &StrRAM(j, 0)); 8023eea: 6c3a ldr r2, [r7, #64] ; 0x40 8023eec: 4613 mov r3, r2 8023eee: 009b lsls r3, r3, #2 8023ef0: 4413 add r3, r2 8023ef2: 00db lsls r3, r3, #3 8023ef4: 461a mov r2, r3 8023ef6: 4b3b ldr r3, [pc, #236] ; (8023fe4 ) 8023ef8: 4413 add r3, r2 8023efa: 461a mov r2, r3 8023efc: 1d3b adds r3, r7, #4 8023efe: 4611 mov r1, r2 8023f00: 4618 mov r0, r3 8023f02: f0a9 f9be bl 80cd282 memset(&StrRAM(j, 0), 0, 40); 8023f06: 6c3a ldr r2, [r7, #64] ; 0x40 8023f08: 4613 mov r3, r2 8023f0a: 009b lsls r3, r3, #2 8023f0c: 4413 add r3, r2 8023f0e: 00db lsls r3, r3, #3 8023f10: 461a mov r2, r3 8023f12: 4b34 ldr r3, [pc, #208] ; (8023fe4 ) 8023f14: 4413 add r3, r2 8023f16: 2228 movs r2, #40 ; 0x28 8023f18: 2100 movs r1, #0 8023f1a: 4618 mov r0, r3 8023f1c: f0a9 f894 bl 80cd048 res = DeleteFileGTR(fn); 8023f20: 1d3b adds r3, r7, #4 8023f22: 4618 mov r0, r3 8023f24: f006 fff8 bl 802af18 8023f28: 4603 mov r3, r0 8023f2a: f887 303b strb.w r3, [r7, #59] ; 0x3b if(res == FR_OK) { 8023f2e: f897 303b ldrb.w r3, [r7, #59] ; 0x3b 8023f32: 2b00 cmp r3, #0 8023f34: d102 bne.n 8023f3c k++; 8023f36: 6bfb ldr r3, [r7, #60] ; 0x3c 8023f38: 3301 adds r3, #1 8023f3a: 63fb str r3, [r7, #60] ; 0x3c } } if((HAL_GetTick() - timedown) >= 300) 8023f3c: f08f f97c bl 80b3238 8023f40: 4602 mov r2, r0 8023f42: 6b7b ldr r3, [r7, #52] ; 0x34 8023f44: 1ad3 subs r3, r2, r3 8023f46: f5b3 7f96 cmp.w r3, #300 ; 0x12c 8023f4a: d305 bcc.n 8023f58 { timedown = HAL_GetTick(); 8023f4c: f08f f974 bl 80b3238 8023f50: 4603 mov r3, r0 8023f52: 637b str r3, [r7, #52] ; 0x34 RedrawScreen(); 8023f54: f043 ff50 bl 8067df8 for(i = 0; i < NumFilesDelete; i++) 8023f58: 6c7b ldr r3, [r7, #68] ; 0x44 8023f5a: 3301 adds r3, #1 8023f5c: 647b str r3, [r7, #68] ; 0x44 8023f5e: 4b20 ldr r3, [pc, #128] ; (8023fe0 ) 8023f60: 681b ldr r3, [r3, #0] 8023f62: 6c7a ldr r2, [r7, #68] ; 0x44 8023f64: 429a cmp r2, r3 8023f66: d3a5 bcc.n 8023eb4 } } if(k == NumFilesDelete) 8023f68: 4b1d ldr r3, [pc, #116] ; (8023fe0 ) 8023f6a: 681b ldr r3, [r3, #0] 8023f6c: 6bfa ldr r2, [r7, #60] ; 0x3c 8023f6e: 429a cmp r2, r3 8023f70: d103 bne.n 8023f7a CleanStatus = AP_OK; 8023f72: 4b1f ldr r3, [pc, #124] ; (8023ff0 ) 8023f74: 2200 movs r2, #0 8023f76: 701a strb r2, [r3, #0] 8023f78: e002 b.n 8023f80 else CleanStatus = AP_FAIL; 8023f7a: 4b1d ldr r3, [pc, #116] ; (8023ff0 ) 8023f7c: 2201 movs r2, #1 8023f7e: 701a strb r2, [r3, #0] } CheckSD(); 8023f80: f008 fb10 bl 802c5a4 8023f84: e088 b.n 8024098 } else if(NeedClean == 3) // Óäàëåíèå ôàéëîâ .CSV 8023f86: 4b14 ldr r3, [pc, #80] ; (8023fd8 ) 8023f88: 781b ldrb r3, [r3, #0] 8023f8a: b2db uxtb r3, r3 8023f8c: 2b03 cmp r3, #3 8023f8e: f040 8083 bne.w 8024098 { if(NumFilesDelete != 0) 8023f92: 4b13 ldr r3, [pc, #76] ; (8023fe0 ) 8023f94: 681b ldr r3, [r3, #0] 8023f96: 2b00 cmp r3, #0 8023f98: d07c beq.n 8024094 { k = 0; 8023f9a: 2300 movs r3, #0 8023f9c: 63fb str r3, [r7, #60] ; 0x3c timedown = HAL_GetTick(); 8023f9e: f08f f94b bl 80b3238 8023fa2: 4603 mov r3, r0 8023fa4: 637b str r3, [r7, #52] ; 0x34 for(i = 0; i < NumFilesDelete; i++) 8023fa6: 2300 movs r3, #0 8023fa8: 647b str r3, [r7, #68] ; 0x44 8023faa: e062 b.n 8024072 { j = 0; 8023fac: 2300 movs r3, #0 8023fae: 643b str r3, [r7, #64] ; 0x40 while(StrRAM(j, 0) == 0) 8023fb0: e006 b.n 8023fc0 { j++; 8023fb2: 6c3b ldr r3, [r7, #64] ; 0x40 8023fb4: 3301 adds r3, #1 8023fb6: 643b str r3, [r7, #64] ; 0x40 if(j >= MAX_CHECKED_FILES) 8023fb8: 6c3b ldr r3, [r7, #64] ; 0x40 8023fba: f5b3 7f00 cmp.w r3, #512 ; 0x200 8023fbe: d219 bcs.n 8023ff4 while(StrRAM(j, 0) == 0) 8023fc0: 6c3a ldr r2, [r7, #64] ; 0x40 8023fc2: 4613 mov r3, r2 8023fc4: 009b lsls r3, r3, #2 8023fc6: 4413 add r3, r2 8023fc8: 00db lsls r3, r3, #3 8023fca: 461a mov r2, r3 8023fcc: 4b05 ldr r3, [pc, #20] ; (8023fe4 ) 8023fce: 4413 add r3, r2 8023fd0: 781b ldrb r3, [r3, #0] 8023fd2: 2b00 cmp r3, #0 8023fd4: d0ed beq.n 8023fb2 8023fd6: e00e b.n 8023ff6 8023fd8: 20020ddc .word 0x20020ddc 8023fdc: 2002164c .word 0x2002164c 8023fe0: 20020e0c .word 0x20020e0c 8023fe4: 6404b000 .word 0x6404b000 8023fe8: 20020e58 .word 0x20020e58 8023fec: 080ce470 .word 0x080ce470 8023ff0: 20020dd0 .word 0x20020dd0 break; 8023ff4: bf00 nop } if(j < MAX_CHECKED_FILES) 8023ff6: 6c3b ldr r3, [r7, #64] ; 0x40 8023ff8: f5b3 7f00 cmp.w r3, #512 ; 0x200 8023ffc: d228 bcs.n 8024050 { strcpy(fn, &StrRAM(j, 0)); 8023ffe: 6c3a ldr r2, [r7, #64] ; 0x40 8024000: 4613 mov r3, r2 8024002: 009b lsls r3, r3, #2 8024004: 4413 add r3, r2 8024006: 00db lsls r3, r3, #3 8024008: 461a mov r2, r3 802400a: 4b52 ldr r3, [pc, #328] ; (8024154 ) 802400c: 4413 add r3, r2 802400e: 461a mov r2, r3 8024010: 1d3b adds r3, r7, #4 8024012: 4611 mov r1, r2 8024014: 4618 mov r0, r3 8024016: f0a9 f934 bl 80cd282 memset(&StrRAM(j, 0), 0, 40); 802401a: 6c3a ldr r2, [r7, #64] ; 0x40 802401c: 4613 mov r3, r2 802401e: 009b lsls r3, r3, #2 8024020: 4413 add r3, r2 8024022: 00db lsls r3, r3, #3 8024024: 461a mov r2, r3 8024026: 4b4b ldr r3, [pc, #300] ; (8024154 ) 8024028: 4413 add r3, r2 802402a: 2228 movs r2, #40 ; 0x28 802402c: 2100 movs r1, #0 802402e: 4618 mov r0, r3 8024030: f0a9 f80a bl 80cd048 res = DeleteFileCSV(fn); 8024034: 1d3b adds r3, r7, #4 8024036: 4618 mov r0, r3 8024038: f006 ffd6 bl 802afe8 802403c: 4603 mov r3, r0 802403e: f887 303b strb.w r3, [r7, #59] ; 0x3b if(res == FR_OK) { 8024042: f897 303b ldrb.w r3, [r7, #59] ; 0x3b 8024046: 2b00 cmp r3, #0 8024048: d102 bne.n 8024050 k++; 802404a: 6bfb ldr r3, [r7, #60] ; 0x3c 802404c: 3301 adds r3, #1 802404e: 63fb str r3, [r7, #60] ; 0x3c } } if((HAL_GetTick() - timedown) >= 300) 8024050: f08f f8f2 bl 80b3238 8024054: 4602 mov r2, r0 8024056: 6b7b ldr r3, [r7, #52] ; 0x34 8024058: 1ad3 subs r3, r2, r3 802405a: f5b3 7f96 cmp.w r3, #300 ; 0x12c 802405e: d305 bcc.n 802406c { timedown = HAL_GetTick(); 8024060: f08f f8ea bl 80b3238 8024064: 4603 mov r3, r0 8024066: 637b str r3, [r7, #52] ; 0x34 RedrawScreen(); 8024068: f043 fec6 bl 8067df8 for(i = 0; i < NumFilesDelete; i++) 802406c: 6c7b ldr r3, [r7, #68] ; 0x44 802406e: 3301 adds r3, #1 8024070: 647b str r3, [r7, #68] ; 0x44 8024072: 4b39 ldr r3, [pc, #228] ; (8024158 ) 8024074: 681b ldr r3, [r3, #0] 8024076: 6c7a ldr r2, [r7, #68] ; 0x44 8024078: 429a cmp r2, r3 802407a: d397 bcc.n 8023fac } } if(k == NumFilesDelete) 802407c: 4b36 ldr r3, [pc, #216] ; (8024158 ) 802407e: 681b ldr r3, [r3, #0] 8024080: 6bfa ldr r2, [r7, #60] ; 0x3c 8024082: 429a cmp r2, r3 8024084: d103 bne.n 802408e CleanStatus = AP_OK; 8024086: 4b35 ldr r3, [pc, #212] ; (802415c ) 8024088: 2200 movs r2, #0 802408a: 701a strb r2, [r3, #0] 802408c: e002 b.n 8024094 else CleanStatus = AP_FAIL; 802408e: 4b33 ldr r3, [pc, #204] ; (802415c ) 8024090: 2201 movs r2, #1 8024092: 701a strb r2, [r3, #0] } CheckSD(); 8024094: f008 fa86 bl 802c5a4 } } NumFilesDelete = 0; 8024098: 4b2f ldr r3, [pc, #188] ; (8024158 ) 802409a: 2200 movs r2, #0 802409c: 601a str r2, [r3, #0] NeedClean = 0; 802409e: 4b30 ldr r3, [pc, #192] ; (8024160 ) 80240a0: 2200 movs r2, #0 80240a2: 701a strb r2, [r3, #0] } NeedFormat = 0; } } 80240a4: e052 b.n 802414c if(NeedFormat) 80240a6: 4b2f ldr r3, [pc, #188] ; (8024164 ) 80240a8: 781b ldrb r3, [r3, #0] 80240aa: b2db uxtb r3, r3 80240ac: 2b00 cmp r3, #0 80240ae: d04d beq.n 802414c STATUS = AP_OK; 80240b0: 4b2d ldr r3, [pc, #180] ; (8024168 ) 80240b2: 2200 movs r2, #0 80240b4: 601a str r2, [r3, #0] memset(MeasFileName, 0, sizeof(MeasFileName)); 80240b6: 2221 movs r2, #33 ; 0x21 80240b8: 2100 movs r1, #0 80240ba: 482c ldr r0, [pc, #176] ; (802416c ) 80240bc: f0a8 ffc4 bl 80cd048 memset(WavFileName, 0, sizeof(WavFileName)); 80240c0: 2221 movs r2, #33 ; 0x21 80240c2: 2100 movs r1, #0 80240c4: 482a ldr r0, [pc, #168] ; (8024170 ) 80240c6: f0a8 ffbf bl 80cd048 memset(DiagFileName, 0, sizeof(DiagFileName)); 80240ca: 2221 movs r2, #33 ; 0x21 80240cc: 2100 movs r1, #0 80240ce: 4829 ldr r0, [pc, #164] ; (8024174 ) 80240d0: f0a8 ffba bl 80cd048 RedrawScreen(); 80240d4: f043 fe90 bl 8067df8 if(CardState & MSD_PRESENT) 80240d8: 4b27 ldr r3, [pc, #156] ; (8024178 ) 80240da: 781b ldrb r3, [r3, #0] 80240dc: b2db uxtb r3, r3 80240de: f003 0301 and.w r3, r3, #1 80240e2: 2b00 cmp r3, #0 80240e4: d029 beq.n 802413a res = FormatSD(); 80240e6: f007 f8ab bl 802b240 80240ea: 4603 mov r3, r0 80240ec: f887 303b strb.w r3, [r7, #59] ; 0x3b switch(res) 80240f0: f897 303b ldrb.w r3, [r7, #59] ; 0x3b 80240f4: 2b00 cmp r3, #0 80240f6: d002 beq.n 80240fe 80240f8: 2b03 cmp r3, #3 80240fa: d009 beq.n 8024110 80240fc: e012 b.n 8024124 FormatStatus = AP_OK; 80240fe: 4b1f ldr r3, [pc, #124] ; (802417c ) 8024100: 2200 movs r2, #0 8024102: 701a strb r2, [r3, #0] CardState = MSD_READY; 8024104: 4b1c ldr r3, [pc, #112] ; (8024178 ) 8024106: 2203 movs r2, #3 8024108: 701a strb r2, [r3, #0] CheckSD(); 802410a: f008 fa4b bl 802c5a4 break; 802410e: e01a b.n 8024146 STATUS = AP_NO_CARD; 8024110: 4b15 ldr r3, [pc, #84] ; (8024168 ) 8024112: 2211 movs r2, #17 8024114: 601a str r2, [r3, #0] FormatStatus = AP_FAIL; 8024116: 4b19 ldr r3, [pc, #100] ; (802417c ) 8024118: 2201 movs r2, #1 802411a: 701a strb r2, [r3, #0] CardState = MSD_PRESENT; 802411c: 4b16 ldr r3, [pc, #88] ; (8024178 ) 802411e: 2201 movs r2, #1 8024120: 701a strb r2, [r3, #0] break; 8024122: e010 b.n 8024146 STATUS = AP_FORMAT_ERROR; 8024124: 4b10 ldr r3, [pc, #64] ; (8024168 ) 8024126: 2210 movs r2, #16 8024128: 601a str r2, [r3, #0] FormatStatus = AP_FAIL; 802412a: 4b14 ldr r3, [pc, #80] ; (802417c ) 802412c: 2201 movs r2, #1 802412e: 701a strb r2, [r3, #0] CardState = MSD_PRESENT; 8024130: 4b11 ldr r3, [pc, #68] ; (8024178 ) 8024132: 2201 movs r2, #1 8024134: 701a strb r2, [r3, #0] break; 8024136: bf00 nop 8024138: e005 b.n 8024146 STATUS = AP_NO_CARD; 802413a: 4b0b ldr r3, [pc, #44] ; (8024168 ) 802413c: 2211 movs r2, #17 802413e: 601a str r2, [r3, #0] FormatStatus = AP_FAIL; 8024140: 4b0e ldr r3, [pc, #56] ; (802417c ) 8024142: 2201 movs r2, #1 8024144: 701a strb r2, [r3, #0] NeedFormat = 0; 8024146: 4b07 ldr r3, [pc, #28] ; (8024164 ) 8024148: 2200 movs r2, #0 802414a: 701a strb r2, [r3, #0] } 802414c: bf00 nop 802414e: 3748 adds r7, #72 ; 0x48 8024150: 46bd mov sp, r7 8024152: bd80 pop {r7, pc} 8024154: 6404b000 .word 0x6404b000 8024158: 20020e0c .word 0x20020e0c 802415c: 20020dd0 .word 0x20020dd0 8024160: 20020ddc .word 0x20020ddc 8024164: 20020ddd .word 0x20020ddd 8024168: 20020dcc .word 0x20020dcc 802416c: 20020e58 .word 0x20020e58 8024170: 20020e34 .word 0x20020e34 8024174: 20020e7c .word 0x20020e7c 8024178: 2002164c .word 0x2002164c 802417c: 20020dd1 .word 0x20020dd1 08024180 : return res; } FRESULT CreateFileGTR(char *fname) { 8024180: b580 push {r7, lr} 8024182: b0a0 sub sp, #128 ; 0x80 8024184: af00 add r7, sp, #0 8024186: 6078 str r0, [r7, #4] FRESULT res = FR_OK; 8024188: 2300 movs r3, #0 802418a: f887 307f strb.w r3, [r7, #127] ; 0x7f * 1) Ñîçäàåì êàòàëîã "0:\Records\", åñëè òàêîâîãî íå ñóùåñòâóåò. * 2) Ñîçäàåì ïîäêàòàëîã ñ èìåíåì â êàòàëîãå "\Records\", åñëè òàêîâîãî íå ñóùåñòâóåò. * 3)  êàòàëîãå "0:\Records\\" ñîçäàåì ôàéë ïî òåêóùåé äàòå è âðåìåíè, íàïðèìåð, "Rec__2018_07_30__13_42_06.gtr". * 4) PROFIT !!! */ if(CardState != MSD_READY) { 802418e: 4b2a ldr r3, [pc, #168] ; (8024238 ) 8024190: 781b ldrb r3, [r3, #0] 8024192: b2db uxtb r3, r3 8024194: 2b03 cmp r3, #3 8024196: d002 beq.n 802419e return FR_NOT_READY; 8024198: 2303 movs r3, #3 802419a: f000 bf67 b.w 802506c } if(IS_ROUTE) 802419e: 4b27 ldr r3, [pc, #156] ; (802423c ) 80241a0: 781b ldrb r3, [r3, #0] 80241a2: b2db uxtb r3, r3 80241a4: 2b00 cmp r3, #0 80241a6: f000 8395 beq.w 80248d4 { if(res == FR_OK) 80241aa: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 80241ae: 2b00 cmp r3, #0 80241b0: f040 875a bne.w 8025068 { memset(PointPath, 0, sizeof(PointPath)); 80241b4: f44f 7200 mov.w r2, #512 ; 0x200 80241b8: 2100 movs r1, #0 80241ba: 4821 ldr r0, [pc, #132] ; (8024240 ) 80241bc: f0a8 ff44 bl 80cd048 memset(str, 0, sizeof(str)); 80241c0: f107 0308 add.w r3, r7, #8 80241c4: 2228 movs r2, #40 ; 0x28 80241c6: 2100 movs r1, #0 80241c8: 4618 mov r0, r3 80241ca: f0a8 ff3d bl 80cd048 strcpy(PointPath, "0:Records/"); 80241ce: 4a1c ldr r2, [pc, #112] ; (8024240 ) 80241d0: 4b1c ldr r3, [pc, #112] ; (8024244 ) 80241d2: cb03 ldmia r3!, {r0, r1} 80241d4: 6010 str r0, [r2, #0] 80241d6: 6051 str r1, [r2, #4] 80241d8: 8819 ldrh r1, [r3, #0] 80241da: 789b ldrb r3, [r3, #2] 80241dc: 8111 strh r1, [r2, #8] 80241de: 7293 strb r3, [r2, #10] res = f_opendir(&dir, PointPath); 80241e0: 4917 ldr r1, [pc, #92] ; (8024240 ) 80241e2: 4819 ldr r0, [pc, #100] ; (8024248 ) 80241e4: f0a2 ff5d bl 80c70a2 80241e8: 4603 mov r3, r0 80241ea: f887 307f strb.w r3, [r7, #127] ; 0x7f if(res != FR_OK) { 80241ee: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 80241f2: 2b00 cmp r3, #0 80241f4: d005 beq.n 8024202 res = f_mkdir(PointPath); 80241f6: 4812 ldr r0, [pc, #72] ; (8024240 ) 80241f8: f0a3 fa0e bl 80c7618 80241fc: 4603 mov r3, r0 80241fe: f887 307f strb.w r3, [r7, #127] ; 0x7f } f_closedir(&dir); 8024202: 4811 ldr r0, [pc, #68] ; (8024248 ) 8024204: f0a2 ffdc bl 80c71c0 /*strcpy(str, "/POINT "); itoa(RoutePointID, &str[strlen(str)], 10);*/ //todo BYLO for(i = 0; i < 512; i++) 8024208: 2300 movs r3, #0 802420a: 67bb str r3, [r7, #120] ; 0x78 802420c: e023 b.n 8024256 { if(RoutePath[i] == ';') 802420e: 4a0f ldr r2, [pc, #60] ; (802424c ) 8024210: 6fbb ldr r3, [r7, #120] ; 0x78 8024212: 4413 add r3, r2 8024214: 781b ldrb r3, [r3, #0] 8024216: 2b3b cmp r3, #59 ; 0x3b 8024218: d11a bne.n 8024250 { if(!i) { 802421a: 6fbb ldr r3, [r7, #120] ; 0x78 802421c: 2b00 cmp r3, #0 802421e: d102 bne.n 8024226 return FR_DISK_ERR; 8024220: 2301 movs r3, #1 8024222: f000 bf23 b.w 802506c } memcpy(str, RoutePath, i); 8024226: f107 0308 add.w r3, r7, #8 802422a: 6fba ldr r2, [r7, #120] ; 0x78 802422c: 4907 ldr r1, [pc, #28] ; (802424c ) 802422e: 4618 mov r0, r3 8024230: f0a8 feff bl 80cd032 break; 8024234: e013 b.n 802425e 8024236: bf00 nop 8024238: 2002164c .word 0x2002164c 802423c: 20020db3 .word 0x20020db3 8024240: 200229b4 .word 0x200229b4 8024244: 080ce488 .word 0x080ce488 8024248: 20022918 .word 0x20022918 802424c: 20022be0 .word 0x20022be0 for(i = 0; i < 512; i++) 8024250: 6fbb ldr r3, [r7, #120] ; 0x78 8024252: 3301 adds r3, #1 8024254: 67bb str r3, [r7, #120] ; 0x78 8024256: 6fbb ldr r3, [r7, #120] ; 0x78 8024258: f5b3 7f00 cmp.w r3, #512 ; 0x200 802425c: d3d7 bcc.n 802420e } } strcat(PointPath, str); 802425e: f107 0308 add.w r3, r7, #8 8024262: 4619 mov r1, r3 8024264: 48c0 ldr r0, [pc, #768] ; (8024568 ) 8024266: f0a8 ffef bl 80cd248 res = f_opendir(&dir, PointPath); 802426a: 49bf ldr r1, [pc, #764] ; (8024568 ) 802426c: 48bf ldr r0, [pc, #764] ; (802456c ) 802426e: f0a2 ff18 bl 80c70a2 8024272: 4603 mov r3, r0 8024274: f887 307f strb.w r3, [r7, #127] ; 0x7f if(res != FR_OK) { 8024278: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 802427c: 2b00 cmp r3, #0 802427e: d005 beq.n 802428c res = f_mkdir(PointPath); 8024280: 48b9 ldr r0, [pc, #740] ; (8024568 ) 8024282: f0a3 f9c9 bl 80c7618 8024286: 4603 mov r3, r0 8024288: f887 307f strb.w r3, [r7, #127] ; 0x7f } f_closedir(&dir); 802428c: 48b7 ldr r0, [pc, #732] ; (802456c ) 802428e: f0a2 ff97 bl 80c71c0 if(res == FR_OK) 8024292: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 8024296: 2b00 cmp r3, #0 8024298: f040 86e6 bne.w 8025068 { HAL_RTC_GetTime(&hrtc, &RTC_TimeSygnal, RTC_FORMAT_BIN); 802429c: 2200 movs r2, #0 802429e: 49b4 ldr r1, [pc, #720] ; (8024570 ) 80242a0: 48b4 ldr r0, [pc, #720] ; (8024574 ) 80242a2: f094 fca1 bl 80b8be8 HAL_RTC_GetDate(&hrtc, &RTC_DateSygnal, RTC_FORMAT_BIN); 80242a6: 2200 movs r2, #0 80242a8: 49b3 ldr r1, [pc, #716] ; (8024578 ) 80242aa: 48b2 ldr r0, [pc, #712] ; (8024574 ) 80242ac: f094 fda2 bl 80b8df4 Day = RTC_DateSygnal.Date; 80242b0: 4bb1 ldr r3, [pc, #708] ; (8024578 ) 80242b2: 789b ldrb r3, [r3, #2] 80242b4: 677b str r3, [r7, #116] ; 0x74 Month = RTC_DateSygnal.Month; 80242b6: 4bb0 ldr r3, [pc, #704] ; (8024578 ) 80242b8: 785b ldrb r3, [r3, #1] 80242ba: 673b str r3, [r7, #112] ; 0x70 Year = RTC_DateSygnal.Year + 2000; 80242bc: 4bae ldr r3, [pc, #696] ; (8024578 ) 80242be: 78db ldrb r3, [r3, #3] 80242c0: f503 63fa add.w r3, r3, #2000 ; 0x7d0 80242c4: 66fb str r3, [r7, #108] ; 0x6c Hour = RTC_TimeSygnal.Hours; 80242c6: 4baa ldr r3, [pc, #680] ; (8024570 ) 80242c8: 781b ldrb r3, [r3, #0] 80242ca: 66bb str r3, [r7, #104] ; 0x68 Min = RTC_TimeSygnal.Minutes; 80242cc: 4ba8 ldr r3, [pc, #672] ; (8024570 ) 80242ce: 785b ldrb r3, [r3, #1] 80242d0: 667b str r3, [r7, #100] ; 0x64 Sec = RTC_TimeSygnal.Seconds; 80242d2: 4ba7 ldr r3, [pc, #668] ; (8024570 ) 80242d4: 789b ldrb r3, [r3, #2] 80242d6: 663b str r3, [r7, #96] ; 0x60 /*Rec_2018_07_30__13_42_06.gtr*/ l = 0; 80242d8: 2300 movs r3, #0 80242da: 65fb str r3, [r7, #92] ; 0x5c memset(fn, 0, sizeof(fn)); 80242dc: f107 0330 add.w r3, r7, #48 ; 0x30 80242e0: 2228 movs r2, #40 ; 0x28 80242e2: 2100 movs r1, #0 80242e4: 4618 mov r0, r3 80242e6: f0a8 feaf bl 80cd048 //itoa(RoutePointID, fn, 10); //strcat(fn, " "); //l = strlen(fn); fn[l++] = (char) ((Year / 1000) + 48); 80242ea: 6dfb ldr r3, [r7, #92] ; 0x5c 80242ec: 1c5a adds r2, r3, #1 80242ee: 65fa str r2, [r7, #92] ; 0x5c 80242f0: 6efa ldr r2, [r7, #108] ; 0x6c 80242f2: 49a2 ldr r1, [pc, #648] ; (802457c ) 80242f4: fba1 1202 umull r1, r2, r1, r2 80242f8: 0992 lsrs r2, r2, #6 80242fa: b2d2 uxtb r2, r2 80242fc: 3230 adds r2, #48 ; 0x30 80242fe: b2d2 uxtb r2, r2 8024300: f107 0180 add.w r1, r7, #128 ; 0x80 8024304: 440b add r3, r1 8024306: f803 2c50 strb.w r2, [r3, #-80] fn[l++] = (char) (((Year % 1000) / 100) + 48); 802430a: 6dfa ldr r2, [r7, #92] ; 0x5c 802430c: 1c53 adds r3, r2, #1 802430e: 65fb str r3, [r7, #92] ; 0x5c 8024310: 6ef9 ldr r1, [r7, #108] ; 0x6c 8024312: 4b9a ldr r3, [pc, #616] ; (802457c ) 8024314: fba3 0301 umull r0, r3, r3, r1 8024318: 099b lsrs r3, r3, #6 802431a: f44f 707a mov.w r0, #1000 ; 0x3e8 802431e: fb00 f303 mul.w r3, r0, r3 8024322: 1acb subs r3, r1, r3 8024324: 4996 ldr r1, [pc, #600] ; (8024580 ) 8024326: fba1 1303 umull r1, r3, r1, r3 802432a: 095b lsrs r3, r3, #5 802432c: b2db uxtb r3, r3 802432e: 3330 adds r3, #48 ; 0x30 8024330: b2d9 uxtb r1, r3 8024332: f107 0380 add.w r3, r7, #128 ; 0x80 8024336: 4413 add r3, r2 8024338: 460a mov r2, r1 802433a: f803 2c50 strb.w r2, [r3, #-80] fn[l++] = (char) ((((Year % 1000) % 100) / 10) + 48); 802433e: 6df9 ldr r1, [r7, #92] ; 0x5c 8024340: 1c4b adds r3, r1, #1 8024342: 65fb str r3, [r7, #92] ; 0x5c 8024344: 6efa ldr r2, [r7, #108] ; 0x6c 8024346: 4b8d ldr r3, [pc, #564] ; (802457c ) 8024348: fba3 0302 umull r0, r3, r3, r2 802434c: 099b lsrs r3, r3, #6 802434e: f44f 707a mov.w r0, #1000 ; 0x3e8 8024352: fb00 f303 mul.w r3, r0, r3 8024356: 1ad3 subs r3, r2, r3 8024358: 4a89 ldr r2, [pc, #548] ; (8024580 ) 802435a: fba2 0203 umull r0, r2, r2, r3 802435e: 0952 lsrs r2, r2, #5 8024360: 2064 movs r0, #100 ; 0x64 8024362: fb00 f202 mul.w r2, r0, r2 8024366: 1a9a subs r2, r3, r2 8024368: 4b86 ldr r3, [pc, #536] ; (8024584 ) 802436a: fba3 2302 umull r2, r3, r3, r2 802436e: 08db lsrs r3, r3, #3 8024370: b2db uxtb r3, r3 8024372: 3330 adds r3, #48 ; 0x30 8024374: b2da uxtb r2, r3 8024376: f107 0380 add.w r3, r7, #128 ; 0x80 802437a: 440b add r3, r1 802437c: f803 2c50 strb.w r2, [r3, #-80] fn[l++] = (char) ((((Year % 1000) % 100) % 10) + 48); 8024380: 6df8 ldr r0, [r7, #92] ; 0x5c 8024382: 1c43 adds r3, r0, #1 8024384: 65fb str r3, [r7, #92] ; 0x5c 8024386: 6efa ldr r2, [r7, #108] ; 0x6c 8024388: 4b7c ldr r3, [pc, #496] ; (802457c ) 802438a: fba3 1302 umull r1, r3, r3, r2 802438e: 099b lsrs r3, r3, #6 8024390: f44f 717a mov.w r1, #1000 ; 0x3e8 8024394: fb01 f303 mul.w r3, r1, r3 8024398: 1ad3 subs r3, r2, r3 802439a: 4a79 ldr r2, [pc, #484] ; (8024580 ) 802439c: fba2 1203 umull r1, r2, r2, r3 80243a0: 0952 lsrs r2, r2, #5 80243a2: 2164 movs r1, #100 ; 0x64 80243a4: fb01 f202 mul.w r2, r1, r2 80243a8: 1a9a subs r2, r3, r2 80243aa: 4b76 ldr r3, [pc, #472] ; (8024584 ) 80243ac: fba3 1302 umull r1, r3, r3, r2 80243b0: 08d9 lsrs r1, r3, #3 80243b2: 460b mov r3, r1 80243b4: 009b lsls r3, r3, #2 80243b6: 440b add r3, r1 80243b8: 005b lsls r3, r3, #1 80243ba: 1ad1 subs r1, r2, r3 80243bc: b2cb uxtb r3, r1 80243be: 3330 adds r3, #48 ; 0x30 80243c0: b2da uxtb r2, r3 80243c2: f107 0380 add.w r3, r7, #128 ; 0x80 80243c6: 4403 add r3, r0 80243c8: f803 2c50 strb.w r2, [r3, #-80] //fn[l++] = '_'; fn[l++] = (char) ((Month / 10) + 48); 80243cc: 6dfb ldr r3, [r7, #92] ; 0x5c 80243ce: 1c5a adds r2, r3, #1 80243d0: 65fa str r2, [r7, #92] ; 0x5c 80243d2: 6f3a ldr r2, [r7, #112] ; 0x70 80243d4: 496b ldr r1, [pc, #428] ; (8024584 ) 80243d6: fba1 1202 umull r1, r2, r1, r2 80243da: 08d2 lsrs r2, r2, #3 80243dc: b2d2 uxtb r2, r2 80243de: 3230 adds r2, #48 ; 0x30 80243e0: b2d2 uxtb r2, r2 80243e2: f107 0180 add.w r1, r7, #128 ; 0x80 80243e6: 440b add r3, r1 80243e8: f803 2c50 strb.w r2, [r3, #-80] fn[l++] = (char) ((Month % 10) + 48); 80243ec: 6df9 ldr r1, [r7, #92] ; 0x5c 80243ee: 1c4b adds r3, r1, #1 80243f0: 65fb str r3, [r7, #92] ; 0x5c 80243f2: 6f38 ldr r0, [r7, #112] ; 0x70 80243f4: 4b63 ldr r3, [pc, #396] ; (8024584 ) 80243f6: fba3 2300 umull r2, r3, r3, r0 80243fa: 08da lsrs r2, r3, #3 80243fc: 4613 mov r3, r2 80243fe: 009b lsls r3, r3, #2 8024400: 4413 add r3, r2 8024402: 005b lsls r3, r3, #1 8024404: 1ac2 subs r2, r0, r3 8024406: b2d3 uxtb r3, r2 8024408: 3330 adds r3, #48 ; 0x30 802440a: b2da uxtb r2, r3 802440c: f107 0380 add.w r3, r7, #128 ; 0x80 8024410: 440b add r3, r1 8024412: f803 2c50 strb.w r2, [r3, #-80] //fn[l++] = '_'; fn[l++] = (char) ((Day / 10) + 48); 8024416: 6dfb ldr r3, [r7, #92] ; 0x5c 8024418: 1c5a adds r2, r3, #1 802441a: 65fa str r2, [r7, #92] ; 0x5c 802441c: 6f7a ldr r2, [r7, #116] ; 0x74 802441e: 4959 ldr r1, [pc, #356] ; (8024584 ) 8024420: fba1 1202 umull r1, r2, r1, r2 8024424: 08d2 lsrs r2, r2, #3 8024426: b2d2 uxtb r2, r2 8024428: 3230 adds r2, #48 ; 0x30 802442a: b2d2 uxtb r2, r2 802442c: f107 0180 add.w r1, r7, #128 ; 0x80 8024430: 440b add r3, r1 8024432: f803 2c50 strb.w r2, [r3, #-80] fn[l++] = (char) ((Day % 10) + 48); 8024436: 6df9 ldr r1, [r7, #92] ; 0x5c 8024438: 1c4b adds r3, r1, #1 802443a: 65fb str r3, [r7, #92] ; 0x5c 802443c: 6f78 ldr r0, [r7, #116] ; 0x74 802443e: 4b51 ldr r3, [pc, #324] ; (8024584 ) 8024440: fba3 2300 umull r2, r3, r3, r0 8024444: 08da lsrs r2, r3, #3 8024446: 4613 mov r3, r2 8024448: 009b lsls r3, r3, #2 802444a: 4413 add r3, r2 802444c: 005b lsls r3, r3, #1 802444e: 1ac2 subs r2, r0, r3 8024450: b2d3 uxtb r3, r2 8024452: 3330 adds r3, #48 ; 0x30 8024454: b2da uxtb r2, r3 8024456: f107 0380 add.w r3, r7, #128 ; 0x80 802445a: 440b add r3, r1 802445c: f803 2c50 strb.w r2, [r3, #-80] fn[l++] = '_'; 8024460: 6dfb ldr r3, [r7, #92] ; 0x5c 8024462: 1c5a adds r2, r3, #1 8024464: 65fa str r2, [r7, #92] ; 0x5c 8024466: f107 0280 add.w r2, r7, #128 ; 0x80 802446a: 4413 add r3, r2 802446c: 225f movs r2, #95 ; 0x5f 802446e: f803 2c50 strb.w r2, [r3, #-80] fn[l++] = (char) ((Hour / 10) + 48); 8024472: 6dfb ldr r3, [r7, #92] ; 0x5c 8024474: 1c5a adds r2, r3, #1 8024476: 65fa str r2, [r7, #92] ; 0x5c 8024478: 6eba ldr r2, [r7, #104] ; 0x68 802447a: 4942 ldr r1, [pc, #264] ; (8024584 ) 802447c: fba1 1202 umull r1, r2, r1, r2 8024480: 08d2 lsrs r2, r2, #3 8024482: b2d2 uxtb r2, r2 8024484: 3230 adds r2, #48 ; 0x30 8024486: b2d2 uxtb r2, r2 8024488: f107 0180 add.w r1, r7, #128 ; 0x80 802448c: 440b add r3, r1 802448e: f803 2c50 strb.w r2, [r3, #-80] fn[l++] = (char) ((Hour % 10) + 48); 8024492: 6df9 ldr r1, [r7, #92] ; 0x5c 8024494: 1c4b adds r3, r1, #1 8024496: 65fb str r3, [r7, #92] ; 0x5c 8024498: 6eb8 ldr r0, [r7, #104] ; 0x68 802449a: 4b3a ldr r3, [pc, #232] ; (8024584 ) 802449c: fba3 2300 umull r2, r3, r3, r0 80244a0: 08da lsrs r2, r3, #3 80244a2: 4613 mov r3, r2 80244a4: 009b lsls r3, r3, #2 80244a6: 4413 add r3, r2 80244a8: 005b lsls r3, r3, #1 80244aa: 1ac2 subs r2, r0, r3 80244ac: b2d3 uxtb r3, r2 80244ae: 3330 adds r3, #48 ; 0x30 80244b0: b2da uxtb r2, r3 80244b2: f107 0380 add.w r3, r7, #128 ; 0x80 80244b6: 440b add r3, r1 80244b8: f803 2c50 strb.w r2, [r3, #-80] //fn[l++] = '_'; fn[l++] = (char) ((Min / 10) + 48); 80244bc: 6dfb ldr r3, [r7, #92] ; 0x5c 80244be: 1c5a adds r2, r3, #1 80244c0: 65fa str r2, [r7, #92] ; 0x5c 80244c2: 6e7a ldr r2, [r7, #100] ; 0x64 80244c4: 492f ldr r1, [pc, #188] ; (8024584 ) 80244c6: fba1 1202 umull r1, r2, r1, r2 80244ca: 08d2 lsrs r2, r2, #3 80244cc: b2d2 uxtb r2, r2 80244ce: 3230 adds r2, #48 ; 0x30 80244d0: b2d2 uxtb r2, r2 80244d2: f107 0180 add.w r1, r7, #128 ; 0x80 80244d6: 440b add r3, r1 80244d8: f803 2c50 strb.w r2, [r3, #-80] fn[l++] = (char) ((Min % 10) + 48); 80244dc: 6df9 ldr r1, [r7, #92] ; 0x5c 80244de: 1c4b adds r3, r1, #1 80244e0: 65fb str r3, [r7, #92] ; 0x5c 80244e2: 6e78 ldr r0, [r7, #100] ; 0x64 80244e4: 4b27 ldr r3, [pc, #156] ; (8024584 ) 80244e6: fba3 2300 umull r2, r3, r3, r0 80244ea: 08da lsrs r2, r3, #3 80244ec: 4613 mov r3, r2 80244ee: 009b lsls r3, r3, #2 80244f0: 4413 add r3, r2 80244f2: 005b lsls r3, r3, #1 80244f4: 1ac2 subs r2, r0, r3 80244f6: b2d3 uxtb r3, r2 80244f8: 3330 adds r3, #48 ; 0x30 80244fa: b2da uxtb r2, r3 80244fc: f107 0380 add.w r3, r7, #128 ; 0x80 8024500: 440b add r3, r1 8024502: f803 2c50 strb.w r2, [r3, #-80] //fn[l++] = '_'; fn[l++] = (char) ((Sec / 10) + 48); 8024506: 6dfb ldr r3, [r7, #92] ; 0x5c 8024508: 1c5a adds r2, r3, #1 802450a: 65fa str r2, [r7, #92] ; 0x5c 802450c: 6e3a ldr r2, [r7, #96] ; 0x60 802450e: 491d ldr r1, [pc, #116] ; (8024584 ) 8024510: fba1 1202 umull r1, r2, r1, r2 8024514: 08d2 lsrs r2, r2, #3 8024516: b2d2 uxtb r2, r2 8024518: 3230 adds r2, #48 ; 0x30 802451a: b2d2 uxtb r2, r2 802451c: f107 0180 add.w r1, r7, #128 ; 0x80 8024520: 440b add r3, r1 8024522: f803 2c50 strb.w r2, [r3, #-80] fn[l++] = (char) ((Sec % 10) + 48); 8024526: 6df9 ldr r1, [r7, #92] ; 0x5c 8024528: 1c4b adds r3, r1, #1 802452a: 65fb str r3, [r7, #92] ; 0x5c 802452c: 6e38 ldr r0, [r7, #96] ; 0x60 802452e: 4b15 ldr r3, [pc, #84] ; (8024584 ) 8024530: fba3 2300 umull r2, r3, r3, r0 8024534: 08da lsrs r2, r3, #3 8024536: 4613 mov r3, r2 8024538: 009b lsls r3, r3, #2 802453a: 4413 add r3, r2 802453c: 005b lsls r3, r3, #1 802453e: 1ac2 subs r2, r0, r3 8024540: b2d3 uxtb r3, r2 8024542: 3330 adds r3, #48 ; 0x30 8024544: b2da uxtb r2, r3 8024546: f107 0380 add.w r3, r7, #128 ; 0x80 802454a: 440b add r3, r1 802454c: f803 2c50 strb.w r2, [r3, #-80] fn[l++] = '.'; 8024550: 6dfb ldr r3, [r7, #92] ; 0x5c 8024552: 1c5a adds r2, r3, #1 8024554: 65fa str r2, [r7, #92] ; 0x5c 8024556: f107 0280 add.w r2, r7, #128 ; 0x80 802455a: 4413 add r3, r2 802455c: 222e movs r2, #46 ; 0x2e 802455e: f803 2c50 strb.w r2, [r3, #-80] fn[l++] = 'g'; 8024562: 6dfb ldr r3, [r7, #92] ; 0x5c 8024564: 1c5a adds r2, r3, #1 8024566: e00f b.n 8024588 8024568: 200229b4 .word 0x200229b4 802456c: 20022918 .word 0x20022918 8024570: 20022de0 .word 0x20022de0 8024574: 20068598 .word 0x20068598 8024578: 200228d0 .word 0x200228d0 802457c: 10624dd3 .word 0x10624dd3 8024580: 51eb851f .word 0x51eb851f 8024584: cccccccd .word 0xcccccccd 8024588: 65fa str r2, [r7, #92] ; 0x5c 802458a: f107 0280 add.w r2, r7, #128 ; 0x80 802458e: 4413 add r3, r2 8024590: 2267 movs r2, #103 ; 0x67 8024592: f803 2c50 strb.w r2, [r3, #-80] fn[l++] = 't'; 8024596: 6dfb ldr r3, [r7, #92] ; 0x5c 8024598: 1c5a adds r2, r3, #1 802459a: 65fa str r2, [r7, #92] ; 0x5c 802459c: f107 0280 add.w r2, r7, #128 ; 0x80 80245a0: 4413 add r3, r2 80245a2: 2274 movs r2, #116 ; 0x74 80245a4: f803 2c50 strb.w r2, [r3, #-80] fn[l++] = 'r'; 80245a8: 6dfb ldr r3, [r7, #92] ; 0x5c 80245aa: 1c5a adds r2, r3, #1 80245ac: 65fa str r2, [r7, #92] ; 0x5c 80245ae: f107 0280 add.w r2, r7, #128 ; 0x80 80245b2: 4413 add r3, r2 80245b4: 2272 movs r2, #114 ; 0x72 80245b6: f803 2c50 strb.w r2, [r3, #-80] strcpy(RecordingName, fn); 80245ba: f107 0330 add.w r3, r7, #48 ; 0x30 80245be: 4619 mov r1, r3 80245c0: 48ba ldr r0, [pc, #744] ; (80248ac ) 80245c2: f0a8 fe5e bl 80cd282 strcat(PointPath, "/"); 80245c6: 48ba ldr r0, [pc, #744] ; (80248b0 ) 80245c8: f7fb fea4 bl 8020314 80245cc: 4603 mov r3, r0 80245ce: 461a mov r2, r3 80245d0: 4bb7 ldr r3, [pc, #732] ; (80248b0 ) 80245d2: 4413 add r3, r2 80245d4: 49b7 ldr r1, [pc, #732] ; (80248b4 ) 80245d6: 461a mov r2, r3 80245d8: 460b mov r3, r1 80245da: 881b ldrh r3, [r3, #0] 80245dc: 8013 strh r3, [r2, #0] strcat(PointPath, fn); 80245de: f107 0330 add.w r3, r7, #48 ; 0x30 80245e2: 4619 mov r1, r3 80245e4: 48b2 ldr r0, [pc, #712] ; (80248b0 ) 80245e6: f0a8 fe2f bl 80cd248 p = strlen(PointPath) - 4; 80245ea: 48b1 ldr r0, [pc, #708] ; (80248b0 ) 80245ec: f7fb fe92 bl 8020314 80245f0: 4603 mov r3, r0 80245f2: 3b04 subs r3, #4 80245f4: 65bb str r3, [r7, #88] ; 0x58 res = f_open(&F, PointPath, FA_READ); 80245f6: 2201 movs r2, #1 80245f8: 49ad ldr r1, [pc, #692] ; (80248b0 ) 80245fa: 48af ldr r0, [pc, #700] ; (80248b8 ) 80245fc: f0a1 fc64 bl 80c5ec8 8024600: 4603 mov r3, r0 8024602: f887 307f strb.w r3, [r7, #127] ; 0x7f if((res == FR_NO_FILE) || (res == FR_NO_PATH)) 8024606: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 802460a: 2b04 cmp r3, #4 802460c: d003 beq.n 8024616 802460e: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 8024612: 2b05 cmp r3, #5 8024614: d127 bne.n 8024666 { res = f_open(&F, PointPath, FA_CREATE_ALWAYS | FA_OPEN_ALWAYS | FA_WRITE | FA_READ); 8024616: 221b movs r2, #27 8024618: 49a5 ldr r1, [pc, #660] ; (80248b0 ) 802461a: 48a7 ldr r0, [pc, #668] ; (80248b8 ) 802461c: f0a1 fc54 bl 80c5ec8 8024620: 4603 mov r3, r0 8024622: f887 307f strb.w r3, [r7, #127] ; 0x7f if(res == FR_OK) 8024626: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 802462a: 2b00 cmp r3, #0 802462c: d118 bne.n 8024660 { f_sync(&F); 802462e: 48a2 ldr r0, [pc, #648] ; (80248b8 ) 8024630: f0a2 f98a bl 80c6948 res = WriteHeaderGTR(&F); 8024634: 48a0 ldr r0, [pc, #640] ; (80248b8 ) 8024636: f008 f855 bl 802c6e4 802463a: 4603 mov r3, r0 802463c: f887 307f strb.w r3, [r7, #127] ; 0x7f if(res != FR_OK) 8024640: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 8024644: 2b00 cmp r3, #0 8024646: d008 beq.n 802465a { f_close(&F); 8024648: 489b ldr r0, [pc, #620] ; (80248b8 ) 802464a: f0a2 fa81 bl 80c6b50 f_unlink(PointPath); 802464e: 4898 ldr r0, [pc, #608] ; (80248b0 ) 8024650: f0a2 ff0d bl 80c746e return FR_DISK_ERR; 8024654: 2301 movs r3, #1 8024656: f000 bd09 b.w 802506c } else { return FR_OK; 802465a: 2300 movs r3, #0 802465c: f000 bd06 b.w 802506c } } else { //f_mount(&fs, SDPath, 0); return FR_DISK_ERR; 8024660: 2301 movs r3, #1 8024662: f000 bd03 b.w 802506c } } else { if(res == FR_OK) 8024666: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 802466a: 2b00 cmp r3, #0 802466c: f040 812a bne.w 80248c4 { i = 1; 8024670: 2301 movs r3, #1 8024672: 67bb str r3, [r7, #120] ; 0x78 for(;;) { if(i < 10) 8024674: 6fbb ldr r3, [r7, #120] ; 0x78 8024676: 2b09 cmp r3, #9 8024678: d834 bhi.n 80246e4 { PointPath[p - 4] = '('; 802467a: 6dbb ldr r3, [r7, #88] ; 0x58 802467c: 3b04 subs r3, #4 802467e: 4a8c ldr r2, [pc, #560] ; (80248b0 ) 8024680: 2128 movs r1, #40 ; 0x28 8024682: 54d1 strb r1, [r2, r3] PointPath[p - 3] = (char) ((i % 10) + 48); 8024684: 6dbb ldr r3, [r7, #88] ; 0x58 8024686: 1ed8 subs r0, r3, #3 8024688: 6fb9 ldr r1, [r7, #120] ; 0x78 802468a: 4b8c ldr r3, [pc, #560] ; (80248bc ) 802468c: fba3 2301 umull r2, r3, r3, r1 8024690: 08da lsrs r2, r3, #3 8024692: 4613 mov r3, r2 8024694: 009b lsls r3, r3, #2 8024696: 4413 add r3, r2 8024698: 005b lsls r3, r3, #1 802469a: 1aca subs r2, r1, r3 802469c: b2d3 uxtb r3, r2 802469e: 3330 adds r3, #48 ; 0x30 80246a0: b2da uxtb r2, r3 80246a2: 4b83 ldr r3, [pc, #524] ; (80248b0 ) 80246a4: 541a strb r2, [r3, r0] PointPath[p - 2] = ')'; 80246a6: 6dbb ldr r3, [r7, #88] ; 0x58 80246a8: 3b02 subs r3, #2 80246aa: 4a81 ldr r2, [pc, #516] ; (80248b0 ) 80246ac: 2129 movs r1, #41 ; 0x29 80246ae: 54d1 strb r1, [r2, r3] PointPath[p - 1] = '.'; 80246b0: 6dbb ldr r3, [r7, #88] ; 0x58 80246b2: 3b01 subs r3, #1 80246b4: 4a7e ldr r2, [pc, #504] ; (80248b0 ) 80246b6: 212e movs r1, #46 ; 0x2e 80246b8: 54d1 strb r1, [r2, r3] PointPath[p] = 'G'; 80246ba: 4a7d ldr r2, [pc, #500] ; (80248b0 ) 80246bc: 6dbb ldr r3, [r7, #88] ; 0x58 80246be: 4413 add r3, r2 80246c0: 2247 movs r2, #71 ; 0x47 80246c2: 701a strb r2, [r3, #0] PointPath[p + 1] = 'T'; 80246c4: 6dbb ldr r3, [r7, #88] ; 0x58 80246c6: 3301 adds r3, #1 80246c8: 4a79 ldr r2, [pc, #484] ; (80248b0 ) 80246ca: 2154 movs r1, #84 ; 0x54 80246cc: 54d1 strb r1, [r2, r3] PointPath[p + 2] = 'R'; 80246ce: 6dbb ldr r3, [r7, #88] ; 0x58 80246d0: 3302 adds r3, #2 80246d2: 4a77 ldr r2, [pc, #476] ; (80248b0 ) 80246d4: 2152 movs r1, #82 ; 0x52 80246d6: 54d1 strb r1, [r2, r3] PointPath[p + 3] = 0; 80246d8: 6dbb ldr r3, [r7, #88] ; 0x58 80246da: 3303 adds r3, #3 80246dc: 4a74 ldr r2, [pc, #464] ; (80248b0 ) 80246de: 2100 movs r1, #0 80246e0: 54d1 strb r1, [r2, r3] 80246e2: e0a7 b.n 8024834 } else if(i < 100) 80246e4: 6fbb ldr r3, [r7, #120] ; 0x78 80246e6: 2b63 cmp r3, #99 ; 0x63 80246e8: d840 bhi.n 802476c { PointPath[p - 4] = '('; 80246ea: 6dbb ldr r3, [r7, #88] ; 0x58 80246ec: 3b04 subs r3, #4 80246ee: 4a70 ldr r2, [pc, #448] ; (80248b0 ) 80246f0: 2128 movs r1, #40 ; 0x28 80246f2: 54d1 strb r1, [r2, r3] PointPath[p - 3] = (char) ((i / 10) + 48); 80246f4: 6dbb ldr r3, [r7, #88] ; 0x58 80246f6: 3b03 subs r3, #3 80246f8: 6fba ldr r2, [r7, #120] ; 0x78 80246fa: 4970 ldr r1, [pc, #448] ; (80248bc ) 80246fc: fba1 1202 umull r1, r2, r1, r2 8024700: 08d2 lsrs r2, r2, #3 8024702: b2d2 uxtb r2, r2 8024704: 3230 adds r2, #48 ; 0x30 8024706: b2d1 uxtb r1, r2 8024708: 4a69 ldr r2, [pc, #420] ; (80248b0 ) 802470a: 54d1 strb r1, [r2, r3] PointPath[p - 2] = (char) ((i % 10) + 48); 802470c: 6dbb ldr r3, [r7, #88] ; 0x58 802470e: 1e98 subs r0, r3, #2 8024710: 6fb9 ldr r1, [r7, #120] ; 0x78 8024712: 4b6a ldr r3, [pc, #424] ; (80248bc ) 8024714: fba3 2301 umull r2, r3, r3, r1 8024718: 08da lsrs r2, r3, #3 802471a: 4613 mov r3, r2 802471c: 009b lsls r3, r3, #2 802471e: 4413 add r3, r2 8024720: 005b lsls r3, r3, #1 8024722: 1aca subs r2, r1, r3 8024724: b2d3 uxtb r3, r2 8024726: 3330 adds r3, #48 ; 0x30 8024728: b2da uxtb r2, r3 802472a: 4b61 ldr r3, [pc, #388] ; (80248b0 ) 802472c: 541a strb r2, [r3, r0] PointPath[p - 1] = ')'; 802472e: 6dbb ldr r3, [r7, #88] ; 0x58 8024730: 3b01 subs r3, #1 8024732: 4a5f ldr r2, [pc, #380] ; (80248b0 ) 8024734: 2129 movs r1, #41 ; 0x29 8024736: 54d1 strb r1, [r2, r3] PointPath[p] = '.'; 8024738: 4a5d ldr r2, [pc, #372] ; (80248b0 ) 802473a: 6dbb ldr r3, [r7, #88] ; 0x58 802473c: 4413 add r3, r2 802473e: 222e movs r2, #46 ; 0x2e 8024740: 701a strb r2, [r3, #0] PointPath[p + 1] = 'G'; 8024742: 6dbb ldr r3, [r7, #88] ; 0x58 8024744: 3301 adds r3, #1 8024746: 4a5a ldr r2, [pc, #360] ; (80248b0 ) 8024748: 2147 movs r1, #71 ; 0x47 802474a: 54d1 strb r1, [r2, r3] PointPath[p + 2] = 'T'; 802474c: 6dbb ldr r3, [r7, #88] ; 0x58 802474e: 3302 adds r3, #2 8024750: 4a57 ldr r2, [pc, #348] ; (80248b0 ) 8024752: 2154 movs r1, #84 ; 0x54 8024754: 54d1 strb r1, [r2, r3] PointPath[p + 3] = 'R'; 8024756: 6dbb ldr r3, [r7, #88] ; 0x58 8024758: 3303 adds r3, #3 802475a: 4a55 ldr r2, [pc, #340] ; (80248b0 ) 802475c: 2152 movs r1, #82 ; 0x52 802475e: 54d1 strb r1, [r2, r3] PointPath[p + 4] = 0; 8024760: 6dbb ldr r3, [r7, #88] ; 0x58 8024762: 3304 adds r3, #4 8024764: 4a52 ldr r2, [pc, #328] ; (80248b0 ) 8024766: 2100 movs r1, #0 8024768: 54d1 strb r1, [r2, r3] 802476a: e063 b.n 8024834 } else if(i < 1000) 802476c: 6fbb ldr r3, [r7, #120] ; 0x78 802476e: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 8024772: d25c bcs.n 802482e { PointPath[p - 4] = '('; 8024774: 6dbb ldr r3, [r7, #88] ; 0x58 8024776: 3b04 subs r3, #4 8024778: 4a4d ldr r2, [pc, #308] ; (80248b0 ) 802477a: 2128 movs r1, #40 ; 0x28 802477c: 54d1 strb r1, [r2, r3] PointPath[p - 3] = (char) ((i / 100) + 48); 802477e: 6dbb ldr r3, [r7, #88] ; 0x58 8024780: 3b03 subs r3, #3 8024782: 6fba ldr r2, [r7, #120] ; 0x78 8024784: 494e ldr r1, [pc, #312] ; (80248c0 ) 8024786: fba1 1202 umull r1, r2, r1, r2 802478a: 0952 lsrs r2, r2, #5 802478c: b2d2 uxtb r2, r2 802478e: 3230 adds r2, #48 ; 0x30 8024790: b2d1 uxtb r1, r2 8024792: 4a47 ldr r2, [pc, #284] ; (80248b0 ) 8024794: 54d1 strb r1, [r2, r3] PointPath[p - 2] = (char) (((i % 100) / 10) + 48); 8024796: 6dbb ldr r3, [r7, #88] ; 0x58 8024798: 1e99 subs r1, r3, #2 802479a: 6fba ldr r2, [r7, #120] ; 0x78 802479c: 4b48 ldr r3, [pc, #288] ; (80248c0 ) 802479e: fba3 0302 umull r0, r3, r3, r2 80247a2: 095b lsrs r3, r3, #5 80247a4: 2064 movs r0, #100 ; 0x64 80247a6: fb00 f303 mul.w r3, r0, r3 80247aa: 1ad3 subs r3, r2, r3 80247ac: 4a43 ldr r2, [pc, #268] ; (80248bc ) 80247ae: fba2 2303 umull r2, r3, r2, r3 80247b2: 08db lsrs r3, r3, #3 80247b4: b2db uxtb r3, r3 80247b6: 3330 adds r3, #48 ; 0x30 80247b8: b2da uxtb r2, r3 80247ba: 4b3d ldr r3, [pc, #244] ; (80248b0 ) 80247bc: 545a strb r2, [r3, r1] PointPath[p - 1] = (char) (((i % 100) % 10) + 48); 80247be: 6dbb ldr r3, [r7, #88] ; 0x58 80247c0: 1e58 subs r0, r3, #1 80247c2: 6fbb ldr r3, [r7, #120] ; 0x78 80247c4: 4a3e ldr r2, [pc, #248] ; (80248c0 ) 80247c6: fba2 1203 umull r1, r2, r2, r3 80247ca: 0952 lsrs r2, r2, #5 80247cc: 2164 movs r1, #100 ; 0x64 80247ce: fb01 f202 mul.w r2, r1, r2 80247d2: 1a9a subs r2, r3, r2 80247d4: 4b39 ldr r3, [pc, #228] ; (80248bc ) 80247d6: fba3 1302 umull r1, r3, r3, r2 80247da: 08d9 lsrs r1, r3, #3 80247dc: 460b mov r3, r1 80247de: 009b lsls r3, r3, #2 80247e0: 440b add r3, r1 80247e2: 005b lsls r3, r3, #1 80247e4: 1ad1 subs r1, r2, r3 80247e6: b2cb uxtb r3, r1 80247e8: 3330 adds r3, #48 ; 0x30 80247ea: b2da uxtb r2, r3 80247ec: 4b30 ldr r3, [pc, #192] ; (80248b0 ) 80247ee: 541a strb r2, [r3, r0] PointPath[p] = ')'; 80247f0: 4a2f ldr r2, [pc, #188] ; (80248b0 ) 80247f2: 6dbb ldr r3, [r7, #88] ; 0x58 80247f4: 4413 add r3, r2 80247f6: 2229 movs r2, #41 ; 0x29 80247f8: 701a strb r2, [r3, #0] PointPath[p + 1] = '.'; 80247fa: 6dbb ldr r3, [r7, #88] ; 0x58 80247fc: 3301 adds r3, #1 80247fe: 4a2c ldr r2, [pc, #176] ; (80248b0 ) 8024800: 212e movs r1, #46 ; 0x2e 8024802: 54d1 strb r1, [r2, r3] PointPath[p + 2] = 'G'; 8024804: 6dbb ldr r3, [r7, #88] ; 0x58 8024806: 3302 adds r3, #2 8024808: 4a29 ldr r2, [pc, #164] ; (80248b0 ) 802480a: 2147 movs r1, #71 ; 0x47 802480c: 54d1 strb r1, [r2, r3] PointPath[p + 3] = 'T'; 802480e: 6dbb ldr r3, [r7, #88] ; 0x58 8024810: 3303 adds r3, #3 8024812: 4a27 ldr r2, [pc, #156] ; (80248b0 ) 8024814: 2154 movs r1, #84 ; 0x54 8024816: 54d1 strb r1, [r2, r3] PointPath[p + 4] = 'R'; 8024818: 6dbb ldr r3, [r7, #88] ; 0x58 802481a: 3304 adds r3, #4 802481c: 4a24 ldr r2, [pc, #144] ; (80248b0 ) 802481e: 2152 movs r1, #82 ; 0x52 8024820: 54d1 strb r1, [r2, r3] PointPath[p + 5] = 0; 8024822: 6dbb ldr r3, [r7, #88] ; 0x58 8024824: 3305 adds r3, #5 8024826: 4a22 ldr r2, [pc, #136] ; (80248b0 ) 8024828: 2100 movs r1, #0 802482a: 54d1 strb r1, [r2, r3] 802482c: e002 b.n 8024834 } else { //f_mount(&fs, SDPath, 0); return FR_DISK_ERR; 802482e: 2301 movs r3, #1 8024830: f000 bc1c b.w 802506c } res = f_open(&F, PointPath, FA_READ); 8024834: 2201 movs r2, #1 8024836: 491e ldr r1, [pc, #120] ; (80248b0 ) 8024838: 481f ldr r0, [pc, #124] ; (80248b8 ) 802483a: f0a1 fb45 bl 80c5ec8 802483e: 4603 mov r3, r0 8024840: f887 307f strb.w r3, [r7, #127] ; 0x7f if((res == FR_NO_FILE) || (res == FR_NO_PATH)) 8024844: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 8024848: 2b04 cmp r3, #4 802484a: d003 beq.n 8024854 802484c: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 8024850: 2b05 cmp r3, #5 8024852: d121 bne.n 8024898 { res = f_open(&F, PointPath, FA_CREATE_ALWAYS | FA_OPEN_ALWAYS | FA_WRITE | FA_READ); 8024854: 221b movs r2, #27 8024856: 4916 ldr r1, [pc, #88] ; (80248b0 ) 8024858: 4817 ldr r0, [pc, #92] ; (80248b8 ) 802485a: f0a1 fb35 bl 80c5ec8 802485e: 4603 mov r3, r0 8024860: f887 307f strb.w r3, [r7, #127] ; 0x7f if(res == FR_OK) 8024864: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 8024868: 2b00 cmp r3, #0 802486a: d113 bne.n 8024894 { //f_sync(&F); res = WriteHeaderGTR(&F); 802486c: 4812 ldr r0, [pc, #72] ; (80248b8 ) 802486e: f007 ff39 bl 802c6e4 8024872: 4603 mov r3, r0 8024874: f887 307f strb.w r3, [r7, #127] ; 0x7f if(res != FR_OK) 8024878: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 802487c: 2b00 cmp r3, #0 802487e: d007 beq.n 8024890 { f_close(&F); 8024880: 480d ldr r0, [pc, #52] ; (80248b8 ) 8024882: f0a2 f965 bl 80c6b50 f_unlink(PointPath); 8024886: 480a ldr r0, [pc, #40] ; (80248b0 ) 8024888: f0a2 fdf1 bl 80c746e return FR_DISK_ERR; 802488c: 2301 movs r3, #1 802488e: e3ed b.n 802506c } else { return FR_OK; 8024890: 2300 movs r3, #0 8024892: e3eb b.n 802506c } } else { //f_mount(&fs, SDPath, 0); return FR_DISK_ERR; 8024894: 2301 movs r3, #1 8024896: e3e9 b.n 802506c } } else if(res != FR_OK) 8024898: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 802489c: 2b00 cmp r3, #0 802489e: d001 beq.n 80248a4 { //f_mount(&fs, SDPath, 0); return FR_DISK_ERR; 80248a0: 2301 movs r3, #1 80248a2: e3e3 b.n 802506c } i++; 80248a4: 6fbb ldr r3, [r7, #120] ; 0x78 80248a6: 3301 adds r3, #1 80248a8: 67bb str r3, [r7, #120] ; 0x78 if(i < 10) 80248aa: e6e3 b.n 8024674 80248ac: 20022328 .word 0x20022328 80248b0: 200229b4 .word 0x200229b4 80248b4: 080ce484 .word 0x080ce484 80248b8: 20022e20 .word 0x20022e20 80248bc: cccccccd .word 0xcccccccd 80248c0: 51eb851f .word 0x51eb851f } } else { f_close(&F); 80248c4: 4802 ldr r0, [pc, #8] ; (80248d0 ) 80248c6: f0a2 f943 bl 80c6b50 //f_mount(&fs, SDPath, 0); return FR_DISK_ERR; 80248ca: 2301 movs r3, #1 80248cc: e3ce b.n 802506c 80248ce: bf00 nop 80248d0: 20022e20 .word 0x20022e20 } } } else { memset(fn, 0, sizeof(fn)); 80248d4: f107 0330 add.w r3, r7, #48 ; 0x30 80248d8: 2228 movs r2, #40 ; 0x28 80248da: 2100 movs r1, #0 80248dc: 4618 mov r0, r3 80248de: f0a8 fbb3 bl 80cd048 strcpy(fn, fname); 80248e2: f107 0330 add.w r3, r7, #48 ; 0x30 80248e6: 6879 ldr r1, [r7, #4] 80248e8: 4618 mov r0, r3 80248ea: f0a8 fcca bl 80cd282 l = strlen(fn); 80248ee: f107 0330 add.w r3, r7, #48 ; 0x30 80248f2: 4618 mov r0, r3 80248f4: f7fb fd0e bl 8020314 80248f8: 65f8 str r0, [r7, #92] ; 0x5c if((fn[l - 4] == '.') && (l >= 4)) 80248fa: 6dfb ldr r3, [r7, #92] ; 0x5c 80248fc: 3b04 subs r3, #4 80248fe: f107 0280 add.w r2, r7, #128 ; 0x80 8024902: 4413 add r3, r2 8024904: f813 3c50 ldrb.w r3, [r3, #-80] 8024908: 2b2e cmp r3, #46 ; 0x2e 802490a: d122 bne.n 8024952 802490c: 6dfb ldr r3, [r7, #92] ; 0x5c 802490e: 2b03 cmp r3, #3 8024910: d91f bls.n 8024952 { fn[l - 4] = 0; 8024912: 6dfb ldr r3, [r7, #92] ; 0x5c 8024914: 3b04 subs r3, #4 8024916: f107 0280 add.w r2, r7, #128 ; 0x80 802491a: 4413 add r3, r2 802491c: 2200 movs r2, #0 802491e: f803 2c50 strb.w r2, [r3, #-80] fn[l - 3] = 0; 8024922: 6dfb ldr r3, [r7, #92] ; 0x5c 8024924: 3b03 subs r3, #3 8024926: f107 0280 add.w r2, r7, #128 ; 0x80 802492a: 4413 add r3, r2 802492c: 2200 movs r2, #0 802492e: f803 2c50 strb.w r2, [r3, #-80] fn[l - 2] = 0; 8024932: 6dfb ldr r3, [r7, #92] ; 0x5c 8024934: 3b02 subs r3, #2 8024936: f107 0280 add.w r2, r7, #128 ; 0x80 802493a: 4413 add r3, r2 802493c: 2200 movs r2, #0 802493e: f803 2c50 strb.w r2, [r3, #-80] fn[l - 1] = 0; 8024942: 6dfb ldr r3, [r7, #92] ; 0x5c 8024944: 3b01 subs r3, #1 8024946: f107 0280 add.w r2, r7, #128 ; 0x80 802494a: 4413 add r3, r2 802494c: 2200 movs r2, #0 802494e: f803 2c50 strb.w r2, [r3, #-80] } if(res == FR_OK) 8024952: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 8024956: 2b00 cmp r3, #0 8024958: f040 8386 bne.w 8025068 { memset(PointPath, 0, sizeof(PointPath)); 802495c: f44f 7200 mov.w r2, #512 ; 0x200 8024960: 2100 movs r1, #0 8024962: 48c2 ldr r0, [pc, #776] ; (8024c6c ) 8024964: f0a8 fb70 bl 80cd048 strcpy(PointPath, "0:Records"); 8024968: 4ac0 ldr r2, [pc, #768] ; (8024c6c ) 802496a: 4bc1 ldr r3, [pc, #772] ; (8024c70 ) 802496c: cb03 ldmia r3!, {r0, r1} 802496e: 6010 str r0, [r2, #0] 8024970: 6051 str r1, [r2, #4] 8024972: 881b ldrh r3, [r3, #0] 8024974: 8113 strh r3, [r2, #8] res = f_opendir(&dir, PointPath); 8024976: 49bd ldr r1, [pc, #756] ; (8024c6c ) 8024978: 48be ldr r0, [pc, #760] ; (8024c74 ) 802497a: f0a2 fb92 bl 80c70a2 802497e: 4603 mov r3, r0 8024980: f887 307f strb.w r3, [r7, #127] ; 0x7f if(res != FR_OK) { 8024984: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 8024988: 2b00 cmp r3, #0 802498a: d005 beq.n 8024998 res = f_mkdir(PointPath); 802498c: 48b7 ldr r0, [pc, #732] ; (8024c6c ) 802498e: f0a2 fe43 bl 80c7618 8024992: 4603 mov r3, r0 8024994: f887 307f strb.w r3, [r7, #127] ; 0x7f } if(res == FR_OK) 8024998: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 802499c: 2b00 cmp r3, #0 802499e: f040 8363 bne.w 8025068 { strcat(PointPath, "/"); 80249a2: 48b2 ldr r0, [pc, #712] ; (8024c6c ) 80249a4: f7fb fcb6 bl 8020314 80249a8: 4603 mov r3, r0 80249aa: 461a mov r2, r3 80249ac: 4baf ldr r3, [pc, #700] ; (8024c6c ) 80249ae: 4413 add r3, r2 80249b0: 49b1 ldr r1, [pc, #708] ; (8024c78 ) 80249b2: 461a mov r2, r3 80249b4: 460b mov r3, r1 80249b6: 881b ldrh r3, [r3, #0] 80249b8: 8013 strh r3, [r2, #0] strcat(PointPath, fn); 80249ba: f107 0330 add.w r3, r7, #48 ; 0x30 80249be: 4619 mov r1, r3 80249c0: 48aa ldr r0, [pc, #680] ; (8024c6c ) 80249c2: f0a8 fc41 bl 80cd248 if(fn[0] != 0) 80249c6: f897 3030 ldrb.w r3, [r7, #48] ; 0x30 80249ca: 2b00 cmp r3, #0 80249cc: d010 beq.n 80249f0 { res = f_opendir(&dir, PointPath); 80249ce: 49a7 ldr r1, [pc, #668] ; (8024c6c ) 80249d0: 48a8 ldr r0, [pc, #672] ; (8024c74 ) 80249d2: f0a2 fb66 bl 80c70a2 80249d6: 4603 mov r3, r0 80249d8: f887 307f strb.w r3, [r7, #127] ; 0x7f if(res != FR_OK) 80249dc: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 80249e0: 2b00 cmp r3, #0 80249e2: d005 beq.n 80249f0 res = f_mkdir(PointPath); 80249e4: 48a1 ldr r0, [pc, #644] ; (8024c6c ) 80249e6: f0a2 fe17 bl 80c7618 80249ea: 4603 mov r3, r0 80249ec: f887 307f strb.w r3, [r7, #127] ; 0x7f } HAL_RTC_GetTime(&hrtc, &RTC_TimeSygnal, RTC_FORMAT_BIN); 80249f0: 2200 movs r2, #0 80249f2: 49a2 ldr r1, [pc, #648] ; (8024c7c ) 80249f4: 48a2 ldr r0, [pc, #648] ; (8024c80 ) 80249f6: f094 f8f7 bl 80b8be8 HAL_RTC_GetDate(&hrtc, &RTC_DateSygnal, RTC_FORMAT_BIN); 80249fa: 2200 movs r2, #0 80249fc: 49a1 ldr r1, [pc, #644] ; (8024c84 ) 80249fe: 48a0 ldr r0, [pc, #640] ; (8024c80 ) 8024a00: f094 f9f8 bl 80b8df4 Day = RTC_DateSygnal.Date; 8024a04: 4b9f ldr r3, [pc, #636] ; (8024c84 ) 8024a06: 789b ldrb r3, [r3, #2] 8024a08: 677b str r3, [r7, #116] ; 0x74 Month = RTC_DateSygnal.Month; 8024a0a: 4b9e ldr r3, [pc, #632] ; (8024c84 ) 8024a0c: 785b ldrb r3, [r3, #1] 8024a0e: 673b str r3, [r7, #112] ; 0x70 Year = RTC_DateSygnal.Year + 2000; 8024a10: 4b9c ldr r3, [pc, #624] ; (8024c84 ) 8024a12: 78db ldrb r3, [r3, #3] 8024a14: f503 63fa add.w r3, r3, #2000 ; 0x7d0 8024a18: 66fb str r3, [r7, #108] ; 0x6c Hour = RTC_TimeSygnal.Hours; 8024a1a: 4b98 ldr r3, [pc, #608] ; (8024c7c ) 8024a1c: 781b ldrb r3, [r3, #0] 8024a1e: 66bb str r3, [r7, #104] ; 0x68 Min = RTC_TimeSygnal.Minutes; 8024a20: 4b96 ldr r3, [pc, #600] ; (8024c7c ) 8024a22: 785b ldrb r3, [r3, #1] 8024a24: 667b str r3, [r7, #100] ; 0x64 Sec = RTC_TimeSygnal.Seconds; 8024a26: 4b95 ldr r3, [pc, #596] ; (8024c7c ) 8024a28: 789b ldrb r3, [r3, #2] 8024a2a: 663b str r3, [r7, #96] ; 0x60 /*Rec_2018_07_30__13_42_06.gtr*/ l = 0; 8024a2c: 2300 movs r3, #0 8024a2e: 65fb str r3, [r7, #92] ; 0x5c memset(fn, 0, sizeof(fn)); 8024a30: f107 0330 add.w r3, r7, #48 ; 0x30 8024a34: 2228 movs r2, #40 ; 0x28 8024a36: 2100 movs r1, #0 8024a38: 4618 mov r0, r3 8024a3a: f0a8 fb05 bl 80cd048 fn[l++] = 'R'; 8024a3e: 6dfb ldr r3, [r7, #92] ; 0x5c 8024a40: 1c5a adds r2, r3, #1 8024a42: 65fa str r2, [r7, #92] ; 0x5c 8024a44: f107 0280 add.w r2, r7, #128 ; 0x80 8024a48: 4413 add r3, r2 8024a4a: 2252 movs r2, #82 ; 0x52 8024a4c: f803 2c50 strb.w r2, [r3, #-80] fn[l++] = 'E'; 8024a50: 6dfb ldr r3, [r7, #92] ; 0x5c 8024a52: 1c5a adds r2, r3, #1 8024a54: 65fa str r2, [r7, #92] ; 0x5c 8024a56: f107 0280 add.w r2, r7, #128 ; 0x80 8024a5a: 4413 add r3, r2 8024a5c: 2245 movs r2, #69 ; 0x45 8024a5e: f803 2c50 strb.w r2, [r3, #-80] fn[l++] = 'C'; 8024a62: 6dfb ldr r3, [r7, #92] ; 0x5c 8024a64: 1c5a adds r2, r3, #1 8024a66: 65fa str r2, [r7, #92] ; 0x5c 8024a68: f107 0280 add.w r2, r7, #128 ; 0x80 8024a6c: 4413 add r3, r2 8024a6e: 2243 movs r2, #67 ; 0x43 8024a70: f803 2c50 strb.w r2, [r3, #-80] fn[l++] = '_'; 8024a74: 6dfb ldr r3, [r7, #92] ; 0x5c 8024a76: 1c5a adds r2, r3, #1 8024a78: 65fa str r2, [r7, #92] ; 0x5c 8024a7a: f107 0280 add.w r2, r7, #128 ; 0x80 8024a7e: 4413 add r3, r2 8024a80: 225f movs r2, #95 ; 0x5f 8024a82: f803 2c50 strb.w r2, [r3, #-80] fn[l++] = (char) ((Year / 1000) + 48); 8024a86: 6dfb ldr r3, [r7, #92] ; 0x5c 8024a88: 1c5a adds r2, r3, #1 8024a8a: 65fa str r2, [r7, #92] ; 0x5c 8024a8c: 6efa ldr r2, [r7, #108] ; 0x6c 8024a8e: 497e ldr r1, [pc, #504] ; (8024c88 ) 8024a90: fba1 1202 umull r1, r2, r1, r2 8024a94: 0992 lsrs r2, r2, #6 8024a96: b2d2 uxtb r2, r2 8024a98: 3230 adds r2, #48 ; 0x30 8024a9a: b2d2 uxtb r2, r2 8024a9c: f107 0180 add.w r1, r7, #128 ; 0x80 8024aa0: 440b add r3, r1 8024aa2: f803 2c50 strb.w r2, [r3, #-80] fn[l++] = (char) (((Year % 1000) / 100) + 48); 8024aa6: 6dfa ldr r2, [r7, #92] ; 0x5c 8024aa8: 1c53 adds r3, r2, #1 8024aaa: 65fb str r3, [r7, #92] ; 0x5c 8024aac: 6ef9 ldr r1, [r7, #108] ; 0x6c 8024aae: 4b76 ldr r3, [pc, #472] ; (8024c88 ) 8024ab0: fba3 0301 umull r0, r3, r3, r1 8024ab4: 099b lsrs r3, r3, #6 8024ab6: f44f 707a mov.w r0, #1000 ; 0x3e8 8024aba: fb00 f303 mul.w r3, r0, r3 8024abe: 1acb subs r3, r1, r3 8024ac0: 4972 ldr r1, [pc, #456] ; (8024c8c ) 8024ac2: fba1 1303 umull r1, r3, r1, r3 8024ac6: 095b lsrs r3, r3, #5 8024ac8: b2db uxtb r3, r3 8024aca: 3330 adds r3, #48 ; 0x30 8024acc: b2d9 uxtb r1, r3 8024ace: f107 0380 add.w r3, r7, #128 ; 0x80 8024ad2: 4413 add r3, r2 8024ad4: 460a mov r2, r1 8024ad6: f803 2c50 strb.w r2, [r3, #-80] fn[l++] = (char) ((((Year % 1000) % 100) / 10) + 48); 8024ada: 6df9 ldr r1, [r7, #92] ; 0x5c 8024adc: 1c4b adds r3, r1, #1 8024ade: 65fb str r3, [r7, #92] ; 0x5c 8024ae0: 6efa ldr r2, [r7, #108] ; 0x6c 8024ae2: 4b69 ldr r3, [pc, #420] ; (8024c88 ) 8024ae4: fba3 0302 umull r0, r3, r3, r2 8024ae8: 099b lsrs r3, r3, #6 8024aea: f44f 707a mov.w r0, #1000 ; 0x3e8 8024aee: fb00 f303 mul.w r3, r0, r3 8024af2: 1ad3 subs r3, r2, r3 8024af4: 4a65 ldr r2, [pc, #404] ; (8024c8c ) 8024af6: fba2 0203 umull r0, r2, r2, r3 8024afa: 0952 lsrs r2, r2, #5 8024afc: 2064 movs r0, #100 ; 0x64 8024afe: fb00 f202 mul.w r2, r0, r2 8024b02: 1a9a subs r2, r3, r2 8024b04: 4b62 ldr r3, [pc, #392] ; (8024c90 ) 8024b06: fba3 2302 umull r2, r3, r3, r2 8024b0a: 08db lsrs r3, r3, #3 8024b0c: b2db uxtb r3, r3 8024b0e: 3330 adds r3, #48 ; 0x30 8024b10: b2da uxtb r2, r3 8024b12: f107 0380 add.w r3, r7, #128 ; 0x80 8024b16: 440b add r3, r1 8024b18: f803 2c50 strb.w r2, [r3, #-80] fn[l++] = (char) ((((Year % 1000) % 100) % 10) + 48); 8024b1c: 6df8 ldr r0, [r7, #92] ; 0x5c 8024b1e: 1c43 adds r3, r0, #1 8024b20: 65fb str r3, [r7, #92] ; 0x5c 8024b22: 6efa ldr r2, [r7, #108] ; 0x6c 8024b24: 4b58 ldr r3, [pc, #352] ; (8024c88 ) 8024b26: fba3 1302 umull r1, r3, r3, r2 8024b2a: 099b lsrs r3, r3, #6 8024b2c: f44f 717a mov.w r1, #1000 ; 0x3e8 8024b30: fb01 f303 mul.w r3, r1, r3 8024b34: 1ad3 subs r3, r2, r3 8024b36: 4a55 ldr r2, [pc, #340] ; (8024c8c ) 8024b38: fba2 1203 umull r1, r2, r2, r3 8024b3c: 0952 lsrs r2, r2, #5 8024b3e: 2164 movs r1, #100 ; 0x64 8024b40: fb01 f202 mul.w r2, r1, r2 8024b44: 1a9a subs r2, r3, r2 8024b46: 4b52 ldr r3, [pc, #328] ; (8024c90 ) 8024b48: fba3 1302 umull r1, r3, r3, r2 8024b4c: 08d9 lsrs r1, r3, #3 8024b4e: 460b mov r3, r1 8024b50: 009b lsls r3, r3, #2 8024b52: 440b add r3, r1 8024b54: 005b lsls r3, r3, #1 8024b56: 1ad1 subs r1, r2, r3 8024b58: b2cb uxtb r3, r1 8024b5a: 3330 adds r3, #48 ; 0x30 8024b5c: b2da uxtb r2, r3 8024b5e: f107 0380 add.w r3, r7, #128 ; 0x80 8024b62: 4403 add r3, r0 8024b64: f803 2c50 strb.w r2, [r3, #-80] //fn[l++] = '_'; fn[l++] = (char) ((Month / 10) + 48); 8024b68: 6dfb ldr r3, [r7, #92] ; 0x5c 8024b6a: 1c5a adds r2, r3, #1 8024b6c: 65fa str r2, [r7, #92] ; 0x5c 8024b6e: 6f3a ldr r2, [r7, #112] ; 0x70 8024b70: 4947 ldr r1, [pc, #284] ; (8024c90 ) 8024b72: fba1 1202 umull r1, r2, r1, r2 8024b76: 08d2 lsrs r2, r2, #3 8024b78: b2d2 uxtb r2, r2 8024b7a: 3230 adds r2, #48 ; 0x30 8024b7c: b2d2 uxtb r2, r2 8024b7e: f107 0180 add.w r1, r7, #128 ; 0x80 8024b82: 440b add r3, r1 8024b84: f803 2c50 strb.w r2, [r3, #-80] fn[l++] = (char) ((Month % 10) + 48); 8024b88: 6df9 ldr r1, [r7, #92] ; 0x5c 8024b8a: 1c4b adds r3, r1, #1 8024b8c: 65fb str r3, [r7, #92] ; 0x5c 8024b8e: 6f38 ldr r0, [r7, #112] ; 0x70 8024b90: 4b3f ldr r3, [pc, #252] ; (8024c90 ) 8024b92: fba3 2300 umull r2, r3, r3, r0 8024b96: 08da lsrs r2, r3, #3 8024b98: 4613 mov r3, r2 8024b9a: 009b lsls r3, r3, #2 8024b9c: 4413 add r3, r2 8024b9e: 005b lsls r3, r3, #1 8024ba0: 1ac2 subs r2, r0, r3 8024ba2: b2d3 uxtb r3, r2 8024ba4: 3330 adds r3, #48 ; 0x30 8024ba6: b2da uxtb r2, r3 8024ba8: f107 0380 add.w r3, r7, #128 ; 0x80 8024bac: 440b add r3, r1 8024bae: f803 2c50 strb.w r2, [r3, #-80] //fn[l++] = '_'; fn[l++] = (char) ((Day / 10) + 48); 8024bb2: 6dfb ldr r3, [r7, #92] ; 0x5c 8024bb4: 1c5a adds r2, r3, #1 8024bb6: 65fa str r2, [r7, #92] ; 0x5c 8024bb8: 6f7a ldr r2, [r7, #116] ; 0x74 8024bba: 4935 ldr r1, [pc, #212] ; (8024c90 ) 8024bbc: fba1 1202 umull r1, r2, r1, r2 8024bc0: 08d2 lsrs r2, r2, #3 8024bc2: b2d2 uxtb r2, r2 8024bc4: 3230 adds r2, #48 ; 0x30 8024bc6: b2d2 uxtb r2, r2 8024bc8: f107 0180 add.w r1, r7, #128 ; 0x80 8024bcc: 440b add r3, r1 8024bce: f803 2c50 strb.w r2, [r3, #-80] fn[l++] = (char) ((Day % 10) + 48); 8024bd2: 6df9 ldr r1, [r7, #92] ; 0x5c 8024bd4: 1c4b adds r3, r1, #1 8024bd6: 65fb str r3, [r7, #92] ; 0x5c 8024bd8: 6f78 ldr r0, [r7, #116] ; 0x74 8024bda: 4b2d ldr r3, [pc, #180] ; (8024c90 ) 8024bdc: fba3 2300 umull r2, r3, r3, r0 8024be0: 08da lsrs r2, r3, #3 8024be2: 4613 mov r3, r2 8024be4: 009b lsls r3, r3, #2 8024be6: 4413 add r3, r2 8024be8: 005b lsls r3, r3, #1 8024bea: 1ac2 subs r2, r0, r3 8024bec: b2d3 uxtb r3, r2 8024bee: 3330 adds r3, #48 ; 0x30 8024bf0: b2da uxtb r2, r3 8024bf2: f107 0380 add.w r3, r7, #128 ; 0x80 8024bf6: 440b add r3, r1 8024bf8: f803 2c50 strb.w r2, [r3, #-80] fn[l++] = '_'; 8024bfc: 6dfb ldr r3, [r7, #92] ; 0x5c 8024bfe: 1c5a adds r2, r3, #1 8024c00: 65fa str r2, [r7, #92] ; 0x5c 8024c02: f107 0280 add.w r2, r7, #128 ; 0x80 8024c06: 4413 add r3, r2 8024c08: 225f movs r2, #95 ; 0x5f 8024c0a: f803 2c50 strb.w r2, [r3, #-80] fn[l++] = (char) ((Hour / 10) + 48); 8024c0e: 6dfb ldr r3, [r7, #92] ; 0x5c 8024c10: 1c5a adds r2, r3, #1 8024c12: 65fa str r2, [r7, #92] ; 0x5c 8024c14: 6eba ldr r2, [r7, #104] ; 0x68 8024c16: 491e ldr r1, [pc, #120] ; (8024c90 ) 8024c18: fba1 1202 umull r1, r2, r1, r2 8024c1c: 08d2 lsrs r2, r2, #3 8024c1e: b2d2 uxtb r2, r2 8024c20: 3230 adds r2, #48 ; 0x30 8024c22: b2d2 uxtb r2, r2 8024c24: f107 0180 add.w r1, r7, #128 ; 0x80 8024c28: 440b add r3, r1 8024c2a: f803 2c50 strb.w r2, [r3, #-80] fn[l++] = (char) ((Hour % 10) + 48); 8024c2e: 6df9 ldr r1, [r7, #92] ; 0x5c 8024c30: 1c4b adds r3, r1, #1 8024c32: 65fb str r3, [r7, #92] ; 0x5c 8024c34: 6eb8 ldr r0, [r7, #104] ; 0x68 8024c36: 4b16 ldr r3, [pc, #88] ; (8024c90 ) 8024c38: fba3 2300 umull r2, r3, r3, r0 8024c3c: 08da lsrs r2, r3, #3 8024c3e: 4613 mov r3, r2 8024c40: 009b lsls r3, r3, #2 8024c42: 4413 add r3, r2 8024c44: 005b lsls r3, r3, #1 8024c46: 1ac2 subs r2, r0, r3 8024c48: b2d3 uxtb r3, r2 8024c4a: 3330 adds r3, #48 ; 0x30 8024c4c: b2da uxtb r2, r3 8024c4e: f107 0380 add.w r3, r7, #128 ; 0x80 8024c52: 440b add r3, r1 8024c54: f803 2c50 strb.w r2, [r3, #-80] //fn[l++] = '_'; fn[l++] = (char) ((Min / 10) + 48); 8024c58: 6dfb ldr r3, [r7, #92] ; 0x5c 8024c5a: 1c5a adds r2, r3, #1 8024c5c: 65fa str r2, [r7, #92] ; 0x5c 8024c5e: 6e7a ldr r2, [r7, #100] ; 0x64 8024c60: 490b ldr r1, [pc, #44] ; (8024c90 ) 8024c62: fba1 1202 umull r1, r2, r1, r2 8024c66: 08d2 lsrs r2, r2, #3 8024c68: b2d2 uxtb r2, r2 8024c6a: e013 b.n 8024c94 8024c6c: 200229b4 .word 0x200229b4 8024c70: 080ce478 .word 0x080ce478 8024c74: 20022918 .word 0x20022918 8024c78: 080ce484 .word 0x080ce484 8024c7c: 20022de0 .word 0x20022de0 8024c80: 20068598 .word 0x20068598 8024c84: 200228d0 .word 0x200228d0 8024c88: 10624dd3 .word 0x10624dd3 8024c8c: 51eb851f .word 0x51eb851f 8024c90: cccccccd .word 0xcccccccd 8024c94: 3230 adds r2, #48 ; 0x30 8024c96: b2d2 uxtb r2, r2 8024c98: f107 0180 add.w r1, r7, #128 ; 0x80 8024c9c: 440b add r3, r1 8024c9e: f803 2c50 strb.w r2, [r3, #-80] fn[l++] = (char) ((Min % 10) + 48); 8024ca2: 6df9 ldr r1, [r7, #92] ; 0x5c 8024ca4: 1c4b adds r3, r1, #1 8024ca6: 65fb str r3, [r7, #92] ; 0x5c 8024ca8: 6e78 ldr r0, [r7, #100] ; 0x64 8024caa: 4b98 ldr r3, [pc, #608] ; (8024f0c ) 8024cac: fba3 2300 umull r2, r3, r3, r0 8024cb0: 08da lsrs r2, r3, #3 8024cb2: 4613 mov r3, r2 8024cb4: 009b lsls r3, r3, #2 8024cb6: 4413 add r3, r2 8024cb8: 005b lsls r3, r3, #1 8024cba: 1ac2 subs r2, r0, r3 8024cbc: b2d3 uxtb r3, r2 8024cbe: 3330 adds r3, #48 ; 0x30 8024cc0: b2da uxtb r2, r3 8024cc2: f107 0380 add.w r3, r7, #128 ; 0x80 8024cc6: 440b add r3, r1 8024cc8: f803 2c50 strb.w r2, [r3, #-80] //fn[l++] = '_'; fn[l++] = (char) ((Sec / 10) + 48); 8024ccc: 6dfb ldr r3, [r7, #92] ; 0x5c 8024cce: 1c5a adds r2, r3, #1 8024cd0: 65fa str r2, [r7, #92] ; 0x5c 8024cd2: 6e3a ldr r2, [r7, #96] ; 0x60 8024cd4: 498d ldr r1, [pc, #564] ; (8024f0c ) 8024cd6: fba1 1202 umull r1, r2, r1, r2 8024cda: 08d2 lsrs r2, r2, #3 8024cdc: b2d2 uxtb r2, r2 8024cde: 3230 adds r2, #48 ; 0x30 8024ce0: b2d2 uxtb r2, r2 8024ce2: f107 0180 add.w r1, r7, #128 ; 0x80 8024ce6: 440b add r3, r1 8024ce8: f803 2c50 strb.w r2, [r3, #-80] fn[l++] = (char) ((Sec % 10) + 48); 8024cec: 6df9 ldr r1, [r7, #92] ; 0x5c 8024cee: 1c4b adds r3, r1, #1 8024cf0: 65fb str r3, [r7, #92] ; 0x5c 8024cf2: 6e38 ldr r0, [r7, #96] ; 0x60 8024cf4: 4b85 ldr r3, [pc, #532] ; (8024f0c ) 8024cf6: fba3 2300 umull r2, r3, r3, r0 8024cfa: 08da lsrs r2, r3, #3 8024cfc: 4613 mov r3, r2 8024cfe: 009b lsls r3, r3, #2 8024d00: 4413 add r3, r2 8024d02: 005b lsls r3, r3, #1 8024d04: 1ac2 subs r2, r0, r3 8024d06: b2d3 uxtb r3, r2 8024d08: 3330 adds r3, #48 ; 0x30 8024d0a: b2da uxtb r2, r3 8024d0c: f107 0380 add.w r3, r7, #128 ; 0x80 8024d10: 440b add r3, r1 8024d12: f803 2c50 strb.w r2, [r3, #-80] fn[l++] = '.'; 8024d16: 6dfb ldr r3, [r7, #92] ; 0x5c 8024d18: 1c5a adds r2, r3, #1 8024d1a: 65fa str r2, [r7, #92] ; 0x5c 8024d1c: f107 0280 add.w r2, r7, #128 ; 0x80 8024d20: 4413 add r3, r2 8024d22: 222e movs r2, #46 ; 0x2e 8024d24: f803 2c50 strb.w r2, [r3, #-80] fn[l++] = 'G'; 8024d28: 6dfb ldr r3, [r7, #92] ; 0x5c 8024d2a: 1c5a adds r2, r3, #1 8024d2c: 65fa str r2, [r7, #92] ; 0x5c 8024d2e: f107 0280 add.w r2, r7, #128 ; 0x80 8024d32: 4413 add r3, r2 8024d34: 2247 movs r2, #71 ; 0x47 8024d36: f803 2c50 strb.w r2, [r3, #-80] fn[l++] = 'T'; 8024d3a: 6dfb ldr r3, [r7, #92] ; 0x5c 8024d3c: 1c5a adds r2, r3, #1 8024d3e: 65fa str r2, [r7, #92] ; 0x5c 8024d40: f107 0280 add.w r2, r7, #128 ; 0x80 8024d44: 4413 add r3, r2 8024d46: 2254 movs r2, #84 ; 0x54 8024d48: f803 2c50 strb.w r2, [r3, #-80] fn[l++] = 'R'; 8024d4c: 6dfb ldr r3, [r7, #92] ; 0x5c 8024d4e: 1c5a adds r2, r3, #1 8024d50: 65fa str r2, [r7, #92] ; 0x5c 8024d52: f107 0280 add.w r2, r7, #128 ; 0x80 8024d56: 4413 add r3, r2 8024d58: 2252 movs r2, #82 ; 0x52 8024d5a: f803 2c50 strb.w r2, [r3, #-80] strcpy(RecordingName, fn); 8024d5e: f107 0330 add.w r3, r7, #48 ; 0x30 8024d62: 4619 mov r1, r3 8024d64: 486a ldr r0, [pc, #424] ; (8024f10 ) 8024d66: f0a8 fa8c bl 80cd282 strcat(PointPath, "/"); 8024d6a: 486a ldr r0, [pc, #424] ; (8024f14 ) 8024d6c: f7fb fad2 bl 8020314 8024d70: 4603 mov r3, r0 8024d72: 461a mov r2, r3 8024d74: 4b67 ldr r3, [pc, #412] ; (8024f14 ) 8024d76: 4413 add r3, r2 8024d78: 4967 ldr r1, [pc, #412] ; (8024f18 ) 8024d7a: 461a mov r2, r3 8024d7c: 460b mov r3, r1 8024d7e: 881b ldrh r3, [r3, #0] 8024d80: 8013 strh r3, [r2, #0] strcat(PointPath, fn); 8024d82: f107 0330 add.w r3, r7, #48 ; 0x30 8024d86: 4619 mov r1, r3 8024d88: 4862 ldr r0, [pc, #392] ; (8024f14 ) 8024d8a: f0a8 fa5d bl 80cd248 p = strlen(PointPath) - 4; 8024d8e: 4861 ldr r0, [pc, #388] ; (8024f14 ) 8024d90: f7fb fac0 bl 8020314 8024d94: 4603 mov r3, r0 8024d96: 3b04 subs r3, #4 8024d98: 65bb str r3, [r7, #88] ; 0x58 res = f_open(&F, PointPath, FA_READ); 8024d9a: 2201 movs r2, #1 8024d9c: 495d ldr r1, [pc, #372] ; (8024f14 ) 8024d9e: 485f ldr r0, [pc, #380] ; (8024f1c ) 8024da0: f0a1 f892 bl 80c5ec8 8024da4: 4603 mov r3, r0 8024da6: f887 307f strb.w r3, [r7, #127] ; 0x7f if((res == FR_NO_FILE) || (res == FR_NO_PATH)) 8024daa: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 8024dae: 2b04 cmp r3, #4 8024db0: d003 beq.n 8024dba 8024db2: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 8024db6: 2b05 cmp r3, #5 8024db8: d124 bne.n 8024e04 { res = f_open(&F, PointPath, FA_CREATE_ALWAYS | FA_OPEN_ALWAYS | FA_WRITE | FA_READ); 8024dba: 221b movs r2, #27 8024dbc: 4955 ldr r1, [pc, #340] ; (8024f14 ) 8024dbe: 4857 ldr r0, [pc, #348] ; (8024f1c ) 8024dc0: f0a1 f882 bl 80c5ec8 8024dc4: 4603 mov r3, r0 8024dc6: f887 307f strb.w r3, [r7, #127] ; 0x7f if(res == FR_OK) 8024dca: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 8024dce: 2b00 cmp r3, #0 8024dd0: d116 bne.n 8024e00 { f_sync(&F); 8024dd2: 4852 ldr r0, [pc, #328] ; (8024f1c ) 8024dd4: f0a1 fdb8 bl 80c6948 res = WriteHeaderGTR(&F); 8024dd8: 4850 ldr r0, [pc, #320] ; (8024f1c ) 8024dda: f007 fc83 bl 802c6e4 8024dde: 4603 mov r3, r0 8024de0: f887 307f strb.w r3, [r7, #127] ; 0x7f if(res != FR_OK) 8024de4: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 8024de8: 2b00 cmp r3, #0 8024dea: d007 beq.n 8024dfc { f_close(&F); 8024dec: 484b ldr r0, [pc, #300] ; (8024f1c ) 8024dee: f0a1 feaf bl 80c6b50 f_unlink(PointPath); 8024df2: 4848 ldr r0, [pc, #288] ; (8024f14 ) 8024df4: f0a2 fb3b bl 80c746e //f_mount(&fs, SDPath, 0); return FR_DISK_ERR; 8024df8: 2301 movs r3, #1 8024dfa: e137 b.n 802506c } else { return FR_OK; 8024dfc: 2300 movs r3, #0 8024dfe: e135 b.n 802506c } } else { //f_mount(&fs, SDPath, 0); return FR_DISK_ERR; 8024e00: 2301 movs r3, #1 8024e02: e133 b.n 802506c } } else { if(res == FR_OK) 8024e04: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 8024e08: 2b00 cmp r3, #0 8024e0a: f040 8128 bne.w 802505e { i = 1; 8024e0e: 2301 movs r3, #1 8024e10: 67bb str r3, [r7, #120] ; 0x78 for(;;) { if(i < 10) 8024e12: 6fbb ldr r3, [r7, #120] ; 0x78 8024e14: 2b09 cmp r3, #9 8024e16: d834 bhi.n 8024e82 { PointPath[p - 4] = '('; 8024e18: 6dbb ldr r3, [r7, #88] ; 0x58 8024e1a: 3b04 subs r3, #4 8024e1c: 4a3d ldr r2, [pc, #244] ; (8024f14 ) 8024e1e: 2128 movs r1, #40 ; 0x28 8024e20: 54d1 strb r1, [r2, r3] PointPath[p - 3] = (char) ((i % 10) + 48); 8024e22: 6dbb ldr r3, [r7, #88] ; 0x58 8024e24: 1ed8 subs r0, r3, #3 8024e26: 6fb9 ldr r1, [r7, #120] ; 0x78 8024e28: 4b38 ldr r3, [pc, #224] ; (8024f0c ) 8024e2a: fba3 2301 umull r2, r3, r3, r1 8024e2e: 08da lsrs r2, r3, #3 8024e30: 4613 mov r3, r2 8024e32: 009b lsls r3, r3, #2 8024e34: 4413 add r3, r2 8024e36: 005b lsls r3, r3, #1 8024e38: 1aca subs r2, r1, r3 8024e3a: b2d3 uxtb r3, r2 8024e3c: 3330 adds r3, #48 ; 0x30 8024e3e: b2da uxtb r2, r3 8024e40: 4b34 ldr r3, [pc, #208] ; (8024f14 ) 8024e42: 541a strb r2, [r3, r0] PointPath[p - 2] = ')'; 8024e44: 6dbb ldr r3, [r7, #88] ; 0x58 8024e46: 3b02 subs r3, #2 8024e48: 4a32 ldr r2, [pc, #200] ; (8024f14 ) 8024e4a: 2129 movs r1, #41 ; 0x29 8024e4c: 54d1 strb r1, [r2, r3] PointPath[p - 1] = '.'; 8024e4e: 6dbb ldr r3, [r7, #88] ; 0x58 8024e50: 3b01 subs r3, #1 8024e52: 4a30 ldr r2, [pc, #192] ; (8024f14 ) 8024e54: 212e movs r1, #46 ; 0x2e 8024e56: 54d1 strb r1, [r2, r3] PointPath[p] = 'G'; 8024e58: 4a2e ldr r2, [pc, #184] ; (8024f14 ) 8024e5a: 6dbb ldr r3, [r7, #88] ; 0x58 8024e5c: 4413 add r3, r2 8024e5e: 2247 movs r2, #71 ; 0x47 8024e60: 701a strb r2, [r3, #0] PointPath[p + 1] = 'T'; 8024e62: 6dbb ldr r3, [r7, #88] ; 0x58 8024e64: 3301 adds r3, #1 8024e66: 4a2b ldr r2, [pc, #172] ; (8024f14 ) 8024e68: 2154 movs r1, #84 ; 0x54 8024e6a: 54d1 strb r1, [r2, r3] PointPath[p + 2] = 'R'; 8024e6c: 6dbb ldr r3, [r7, #88] ; 0x58 8024e6e: 3302 adds r3, #2 8024e70: 4a28 ldr r2, [pc, #160] ; (8024f14 ) 8024e72: 2152 movs r1, #82 ; 0x52 8024e74: 54d1 strb r1, [r2, r3] PointPath[p + 3] = 0; 8024e76: 6dbb ldr r3, [r7, #88] ; 0x58 8024e78: 3303 adds r3, #3 8024e7a: 4a26 ldr r2, [pc, #152] ; (8024f14 ) 8024e7c: 2100 movs r1, #0 8024e7e: 54d1 strb r1, [r2, r3] 8024e80: e0b1 b.n 8024fe6 } else if(i < 100) 8024e82: 6fbb ldr r3, [r7, #120] ; 0x78 8024e84: 2b63 cmp r3, #99 ; 0x63 8024e86: d84b bhi.n 8024f20 { PointPath[p - 4] = '('; 8024e88: 6dbb ldr r3, [r7, #88] ; 0x58 8024e8a: 3b04 subs r3, #4 8024e8c: 4a21 ldr r2, [pc, #132] ; (8024f14 ) 8024e8e: 2128 movs r1, #40 ; 0x28 8024e90: 54d1 strb r1, [r2, r3] PointPath[p - 3] = (char) ((i / 10) + 48); 8024e92: 6dbb ldr r3, [r7, #88] ; 0x58 8024e94: 3b03 subs r3, #3 8024e96: 6fba ldr r2, [r7, #120] ; 0x78 8024e98: 491c ldr r1, [pc, #112] ; (8024f0c ) 8024e9a: fba1 1202 umull r1, r2, r1, r2 8024e9e: 08d2 lsrs r2, r2, #3 8024ea0: b2d2 uxtb r2, r2 8024ea2: 3230 adds r2, #48 ; 0x30 8024ea4: b2d1 uxtb r1, r2 8024ea6: 4a1b ldr r2, [pc, #108] ; (8024f14 ) 8024ea8: 54d1 strb r1, [r2, r3] PointPath[p - 2] = (char) ((i % 10) + 48); 8024eaa: 6dbb ldr r3, [r7, #88] ; 0x58 8024eac: 1e98 subs r0, r3, #2 8024eae: 6fb9 ldr r1, [r7, #120] ; 0x78 8024eb0: 4b16 ldr r3, [pc, #88] ; (8024f0c ) 8024eb2: fba3 2301 umull r2, r3, r3, r1 8024eb6: 08da lsrs r2, r3, #3 8024eb8: 4613 mov r3, r2 8024eba: 009b lsls r3, r3, #2 8024ebc: 4413 add r3, r2 8024ebe: 005b lsls r3, r3, #1 8024ec0: 1aca subs r2, r1, r3 8024ec2: b2d3 uxtb r3, r2 8024ec4: 3330 adds r3, #48 ; 0x30 8024ec6: b2da uxtb r2, r3 8024ec8: 4b12 ldr r3, [pc, #72] ; (8024f14 ) 8024eca: 541a strb r2, [r3, r0] PointPath[p - 1] = ')'; 8024ecc: 6dbb ldr r3, [r7, #88] ; 0x58 8024ece: 3b01 subs r3, #1 8024ed0: 4a10 ldr r2, [pc, #64] ; (8024f14 ) 8024ed2: 2129 movs r1, #41 ; 0x29 8024ed4: 54d1 strb r1, [r2, r3] PointPath[p] = '.'; 8024ed6: 4a0f ldr r2, [pc, #60] ; (8024f14 ) 8024ed8: 6dbb ldr r3, [r7, #88] ; 0x58 8024eda: 4413 add r3, r2 8024edc: 222e movs r2, #46 ; 0x2e 8024ede: 701a strb r2, [r3, #0] PointPath[p + 1] = 'G'; 8024ee0: 6dbb ldr r3, [r7, #88] ; 0x58 8024ee2: 3301 adds r3, #1 8024ee4: 4a0b ldr r2, [pc, #44] ; (8024f14 ) 8024ee6: 2147 movs r1, #71 ; 0x47 8024ee8: 54d1 strb r1, [r2, r3] PointPath[p + 2] = 'T'; 8024eea: 6dbb ldr r3, [r7, #88] ; 0x58 8024eec: 3302 adds r3, #2 8024eee: 4a09 ldr r2, [pc, #36] ; (8024f14 ) 8024ef0: 2154 movs r1, #84 ; 0x54 8024ef2: 54d1 strb r1, [r2, r3] PointPath[p + 3] = 'R'; 8024ef4: 6dbb ldr r3, [r7, #88] ; 0x58 8024ef6: 3303 adds r3, #3 8024ef8: 4a06 ldr r2, [pc, #24] ; (8024f14 ) 8024efa: 2152 movs r1, #82 ; 0x52 8024efc: 54d1 strb r1, [r2, r3] PointPath[p + 4] = 0; 8024efe: 6dbb ldr r3, [r7, #88] ; 0x58 8024f00: 3304 adds r3, #4 8024f02: 4a04 ldr r2, [pc, #16] ; (8024f14 ) 8024f04: 2100 movs r1, #0 8024f06: 54d1 strb r1, [r2, r3] 8024f08: e06d b.n 8024fe6 8024f0a: bf00 nop 8024f0c: cccccccd .word 0xcccccccd 8024f10: 20022328 .word 0x20022328 8024f14: 200229b4 .word 0x200229b4 8024f18: 080ce484 .word 0x080ce484 8024f1c: 20022e20 .word 0x20022e20 } else if(i < 1000) 8024f20: 6fbb ldr r3, [r7, #120] ; 0x78 8024f22: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 8024f26: d25c bcs.n 8024fe2 { PointPath[p - 4] = '('; 8024f28: 6dbb ldr r3, [r7, #88] ; 0x58 8024f2a: 3b04 subs r3, #4 8024f2c: 4a51 ldr r2, [pc, #324] ; (8025074 ) 8024f2e: 2128 movs r1, #40 ; 0x28 8024f30: 54d1 strb r1, [r2, r3] PointPath[p - 3] = (char) ((i / 100) + 48); 8024f32: 6dbb ldr r3, [r7, #88] ; 0x58 8024f34: 3b03 subs r3, #3 8024f36: 6fba ldr r2, [r7, #120] ; 0x78 8024f38: 494f ldr r1, [pc, #316] ; (8025078 ) 8024f3a: fba1 1202 umull r1, r2, r1, r2 8024f3e: 0952 lsrs r2, r2, #5 8024f40: b2d2 uxtb r2, r2 8024f42: 3230 adds r2, #48 ; 0x30 8024f44: b2d1 uxtb r1, r2 8024f46: 4a4b ldr r2, [pc, #300] ; (8025074 ) 8024f48: 54d1 strb r1, [r2, r3] PointPath[p - 2] = (char) (((i % 100) / 10) + 48); 8024f4a: 6dbb ldr r3, [r7, #88] ; 0x58 8024f4c: 1e99 subs r1, r3, #2 8024f4e: 6fba ldr r2, [r7, #120] ; 0x78 8024f50: 4b49 ldr r3, [pc, #292] ; (8025078 ) 8024f52: fba3 0302 umull r0, r3, r3, r2 8024f56: 095b lsrs r3, r3, #5 8024f58: 2064 movs r0, #100 ; 0x64 8024f5a: fb00 f303 mul.w r3, r0, r3 8024f5e: 1ad3 subs r3, r2, r3 8024f60: 4a46 ldr r2, [pc, #280] ; (802507c ) 8024f62: fba2 2303 umull r2, r3, r2, r3 8024f66: 08db lsrs r3, r3, #3 8024f68: b2db uxtb r3, r3 8024f6a: 3330 adds r3, #48 ; 0x30 8024f6c: b2da uxtb r2, r3 8024f6e: 4b41 ldr r3, [pc, #260] ; (8025074 ) 8024f70: 545a strb r2, [r3, r1] PointPath[p - 1] = (char) (((i % 100) % 10) + 48); 8024f72: 6dbb ldr r3, [r7, #88] ; 0x58 8024f74: 1e58 subs r0, r3, #1 8024f76: 6fbb ldr r3, [r7, #120] ; 0x78 8024f78: 4a3f ldr r2, [pc, #252] ; (8025078 ) 8024f7a: fba2 1203 umull r1, r2, r2, r3 8024f7e: 0952 lsrs r2, r2, #5 8024f80: 2164 movs r1, #100 ; 0x64 8024f82: fb01 f202 mul.w r2, r1, r2 8024f86: 1a9a subs r2, r3, r2 8024f88: 4b3c ldr r3, [pc, #240] ; (802507c ) 8024f8a: fba3 1302 umull r1, r3, r3, r2 8024f8e: 08d9 lsrs r1, r3, #3 8024f90: 460b mov r3, r1 8024f92: 009b lsls r3, r3, #2 8024f94: 440b add r3, r1 8024f96: 005b lsls r3, r3, #1 8024f98: 1ad1 subs r1, r2, r3 8024f9a: b2cb uxtb r3, r1 8024f9c: 3330 adds r3, #48 ; 0x30 8024f9e: b2da uxtb r2, r3 8024fa0: 4b34 ldr r3, [pc, #208] ; (8025074 ) 8024fa2: 541a strb r2, [r3, r0] PointPath[p] = ')'; 8024fa4: 4a33 ldr r2, [pc, #204] ; (8025074 ) 8024fa6: 6dbb ldr r3, [r7, #88] ; 0x58 8024fa8: 4413 add r3, r2 8024faa: 2229 movs r2, #41 ; 0x29 8024fac: 701a strb r2, [r3, #0] PointPath[p + 1] = '.'; 8024fae: 6dbb ldr r3, [r7, #88] ; 0x58 8024fb0: 3301 adds r3, #1 8024fb2: 4a30 ldr r2, [pc, #192] ; (8025074 ) 8024fb4: 212e movs r1, #46 ; 0x2e 8024fb6: 54d1 strb r1, [r2, r3] PointPath[p + 2] = 'G'; 8024fb8: 6dbb ldr r3, [r7, #88] ; 0x58 8024fba: 3302 adds r3, #2 8024fbc: 4a2d ldr r2, [pc, #180] ; (8025074 ) 8024fbe: 2147 movs r1, #71 ; 0x47 8024fc0: 54d1 strb r1, [r2, r3] PointPath[p + 3] = 'T'; 8024fc2: 6dbb ldr r3, [r7, #88] ; 0x58 8024fc4: 3303 adds r3, #3 8024fc6: 4a2b ldr r2, [pc, #172] ; (8025074 ) 8024fc8: 2154 movs r1, #84 ; 0x54 8024fca: 54d1 strb r1, [r2, r3] PointPath[p + 4] = 'R'; 8024fcc: 6dbb ldr r3, [r7, #88] ; 0x58 8024fce: 3304 adds r3, #4 8024fd0: 4a28 ldr r2, [pc, #160] ; (8025074 ) 8024fd2: 2152 movs r1, #82 ; 0x52 8024fd4: 54d1 strb r1, [r2, r3] PointPath[p + 5] = 0; 8024fd6: 6dbb ldr r3, [r7, #88] ; 0x58 8024fd8: 3305 adds r3, #5 8024fda: 4a26 ldr r2, [pc, #152] ; (8025074 ) 8024fdc: 2100 movs r1, #0 8024fde: 54d1 strb r1, [r2, r3] 8024fe0: e001 b.n 8024fe6 } else { //f_mount(&fs, SDPath, 0); return FR_DISK_ERR; 8024fe2: 2301 movs r3, #1 8024fe4: e042 b.n 802506c } res = f_open(&F, PointPath, FA_READ); 8024fe6: 2201 movs r2, #1 8024fe8: 4922 ldr r1, [pc, #136] ; (8025074 ) 8024fea: 4825 ldr r0, [pc, #148] ; (8025080 ) 8024fec: f0a0 ff6c bl 80c5ec8 8024ff0: 4603 mov r3, r0 8024ff2: f887 307f strb.w r3, [r7, #127] ; 0x7f if((res == FR_NO_FILE) || (res == FR_NO_PATH)) 8024ff6: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 8024ffa: 2b04 cmp r3, #4 8024ffc: d003 beq.n 8025006 8024ffe: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 8025002: 2b05 cmp r3, #5 8025004: d121 bne.n 802504a { res = f_open(&F, PointPath, FA_CREATE_ALWAYS | FA_OPEN_ALWAYS | FA_WRITE | FA_READ); 8025006: 221b movs r2, #27 8025008: 491a ldr r1, [pc, #104] ; (8025074 ) 802500a: 481d ldr r0, [pc, #116] ; (8025080 ) 802500c: f0a0 ff5c bl 80c5ec8 8025010: 4603 mov r3, r0 8025012: f887 307f strb.w r3, [r7, #127] ; 0x7f if(res == FR_OK) 8025016: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 802501a: 2b00 cmp r3, #0 802501c: d113 bne.n 8025046 { //f_sync(&F); res = WriteHeaderGTR(&F); 802501e: 4818 ldr r0, [pc, #96] ; (8025080 ) 8025020: f007 fb60 bl 802c6e4 8025024: 4603 mov r3, r0 8025026: f887 307f strb.w r3, [r7, #127] ; 0x7f if(res != FR_OK) 802502a: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 802502e: 2b00 cmp r3, #0 8025030: d007 beq.n 8025042 { f_close(&F); 8025032: 4813 ldr r0, [pc, #76] ; (8025080 ) 8025034: f0a1 fd8c bl 80c6b50 f_unlink(PointPath); 8025038: 480e ldr r0, [pc, #56] ; (8025074 ) 802503a: f0a2 fa18 bl 80c746e //f_mount(&fs, SDPath, 0); return FR_DISK_ERR; 802503e: 2301 movs r3, #1 8025040: e014 b.n 802506c } else { return FR_OK; 8025042: 2300 movs r3, #0 8025044: e012 b.n 802506c } } else { //f_mount(&fs, SDPath, 0); return FR_DISK_ERR; 8025046: 2301 movs r3, #1 8025048: e010 b.n 802506c } } else if(res != FR_OK) 802504a: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 802504e: 2b00 cmp r3, #0 8025050: d001 beq.n 8025056 { //f_mount(&fs, SDPath, 0); return FR_DISK_ERR; 8025052: 2301 movs r3, #1 8025054: e00a b.n 802506c } i++; 8025056: 6fbb ldr r3, [r7, #120] ; 0x78 8025058: 3301 adds r3, #1 802505a: 67bb str r3, [r7, #120] ; 0x78 if(i < 10) 802505c: e6d9 b.n 8024e12 } } else { f_close(&F); 802505e: 4808 ldr r0, [pc, #32] ; (8025080 ) 8025060: f0a1 fd76 bl 80c6b50 //f_mount(&fs, SDPath, 0); return FR_DISK_ERR; 8025064: 2301 movs r3, #1 8025066: e001 b.n 802506c } } } //f_mount(&fs, SDPath, 0); return res; 8025068: f897 307f ldrb.w r3, [r7, #127] ; 0x7f } 802506c: 4618 mov r0, r3 802506e: 3780 adds r7, #128 ; 0x80 8025070: 46bd mov sp, r7 8025072: bd80 pop {r7, pc} 8025074: 200229b4 .word 0x200229b4 8025078: 51eb851f .word 0x51eb851f 802507c: cccccccd .word 0xcccccccd 8025080: 20022e20 .word 0x20022e20 08025084 : FRESULT CreateFilePTM(char *fname) //TODO { 8025084: b580 push {r7, lr} 8025086: b086 sub sp, #24 8025088: af00 add r7, sp, #0 802508a: 6078 str r0, [r7, #4] FRESULT res = FR_OK; 802508c: 2300 movs r3, #0 802508e: 74fb strb r3, [r7, #19] UINT fk, i; if(CardState != MSD_READY) { 8025090: 4b45 ldr r3, [pc, #276] ; (80251a8 ) 8025092: 781b ldrb r3, [r3, #0] 8025094: b2db uxtb r3, r3 8025096: 2b03 cmp r3, #3 8025098: d001 beq.n 802509e return FR_NOT_READY; 802509a: 2303 movs r3, #3 802509c: e080 b.n 80251a0 } if(res == FR_OK) 802509e: 7cfb ldrb r3, [r7, #19] 80250a0: 2b00 cmp r3, #0 80250a2: d17a bne.n 802519a { memset(PointPath, 0, sizeof(PointPath)); 80250a4: f44f 7200 mov.w r2, #512 ; 0x200 80250a8: 2100 movs r1, #0 80250aa: 4840 ldr r0, [pc, #256] ; (80251ac ) 80250ac: f0a7 ffcc bl 80cd048 PointPath[0] = '0'; 80250b0: 4b3e ldr r3, [pc, #248] ; (80251ac ) 80250b2: 2230 movs r2, #48 ; 0x30 80250b4: 701a strb r2, [r3, #0] PointPath[1] = ':'; 80250b6: 4b3d ldr r3, [pc, #244] ; (80251ac ) 80250b8: 223a movs r2, #58 ; 0x3a 80250ba: 705a strb r2, [r3, #1] strcat(PointPath, fname); 80250bc: 6879 ldr r1, [r7, #4] 80250be: 483b ldr r0, [pc, #236] ; (80251ac ) 80250c0: f0a8 f8c2 bl 80cd248 res = f_open(&F, PointPath, FA_READ); 80250c4: 2201 movs r2, #1 80250c6: 4939 ldr r1, [pc, #228] ; (80251ac ) 80250c8: 4839 ldr r0, [pc, #228] ; (80251b0 ) 80250ca: f0a0 fefd bl 80c5ec8 80250ce: 4603 mov r3, r0 80250d0: 74fb strb r3, [r7, #19] if((res == FR_NO_FILE) || (res == FR_NO_PATH)) 80250d2: 7cfb ldrb r3, [r7, #19] 80250d4: 2b04 cmp r3, #4 80250d6: d002 beq.n 80250de 80250d8: 7cfb ldrb r3, [r7, #19] 80250da: 2b05 cmp r3, #5 80250dc: d15f bne.n 802519e { res = f_open(&F, PointPath, FA_CREATE_ALWAYS | FA_OPEN_ALWAYS | FA_WRITE | FA_READ); 80250de: 221b movs r2, #27 80250e0: 4932 ldr r1, [pc, #200] ; (80251ac ) 80250e2: 4833 ldr r0, [pc, #204] ; (80251b0 ) 80250e4: f0a0 fef0 bl 80c5ec8 80250e8: 4603 mov r3, r0 80250ea: 74fb strb r3, [r7, #19] if(res == FR_OK) 80250ec: 7cfb ldrb r3, [r7, #19] 80250ee: 2b00 cmp r3, #0 80250f0: d151 bne.n 8025196 { f_sync(&F); 80250f2: 482f ldr r0, [pc, #188] ; (80251b0 ) 80250f4: f0a1 fc28 bl 80c6948 ////////////////////// Ñîçäàåì øàïêó ôàéëà //////////////////////// memset(sector, 0, sizeof(sector)); 80250f8: f44f 7200 mov.w r2, #512 ; 0x200 80250fc: 2100 movs r1, #0 80250fe: 482d ldr r0, [pc, #180] ; (80251b4 ) 8025100: f0a7 ffa2 bl 80cd048 strcpy((char *) sector, "Extend"); 8025104: 4b2b ldr r3, [pc, #172] ; (80251b4 ) 8025106: 4a2c ldr r2, [pc, #176] ; (80251b8 ) 8025108: e892 0003 ldmia.w r2, {r0, r1} 802510c: 6018 str r0, [r3, #0] 802510e: 3304 adds r3, #4 8025110: 8019 strh r1, [r3, #0] 8025112: 3302 adds r3, #2 8025114: 0c0a lsrs r2, r1, #16 8025116: 701a strb r2, [r3, #0] res = f_write(&F, sector, 96, &fk); 8025118: f107 030c add.w r3, r7, #12 802511c: 2260 movs r2, #96 ; 0x60 802511e: 4925 ldr r1, [pc, #148] ; (80251b4 ) 8025120: 4823 ldr r0, [pc, #140] ; (80251b0 ) 8025122: f0a1 fa71 bl 80c6608 8025126: 4603 mov r3, r0 8025128: 74fb strb r3, [r7, #19] if((res == FR_OK) && (fk == 96)) 802512a: 7cfb ldrb r3, [r7, #19] 802512c: 2b00 cmp r3, #0 802512e: d128 bne.n 8025182 8025130: 68fb ldr r3, [r7, #12] 8025132: 2b60 cmp r3, #96 ; 0x60 8025134: d125 bne.n 8025182 { memset(sector, 0, sizeof(sector)); 8025136: f44f 7200 mov.w r2, #512 ; 0x200 802513a: 2100 movs r1, #0 802513c: 481d ldr r0, [pc, #116] ; (80251b4 ) 802513e: f0a7 ff83 bl 80cd048 for(i = 0; i < 80; i++) 8025142: 2300 movs r3, #0 8025144: 617b str r3, [r7, #20] 8025146: e018 b.n 802517a { res = f_write(&F, sector, 500, &fk); 8025148: f107 030c add.w r3, r7, #12 802514c: f44f 72fa mov.w r2, #500 ; 0x1f4 8025150: 4918 ldr r1, [pc, #96] ; (80251b4 ) 8025152: 4817 ldr r0, [pc, #92] ; (80251b0 ) 8025154: f0a1 fa58 bl 80c6608 8025158: 4603 mov r3, r0 802515a: 74fb strb r3, [r7, #19] if((res != FR_OK) || (fk != 500)) 802515c: 7cfb ldrb r3, [r7, #19] 802515e: 2b00 cmp r3, #0 8025160: d103 bne.n 802516a 8025162: 68fb ldr r3, [r7, #12] 8025164: f5b3 7ffa cmp.w r3, #500 ; 0x1f4 8025168: d004 beq.n 8025174 { f_close(&F); 802516a: 4811 ldr r0, [pc, #68] ; (80251b0 ) 802516c: f0a1 fcf0 bl 80c6b50 return FR_DISK_ERR; 8025170: 2301 movs r3, #1 8025172: e015 b.n 80251a0 for(i = 0; i < 80; i++) 8025174: 697b ldr r3, [r7, #20] 8025176: 3301 adds r3, #1 8025178: 617b str r3, [r7, #20] 802517a: 697b ldr r3, [r7, #20] 802517c: 2b4f cmp r3, #79 ; 0x4f 802517e: d9e3 bls.n 8025148 if((res == FR_OK) && (fk == 96)) 8025180: e004 b.n 802518c } } } else { f_close(&F); 8025182: 480b ldr r0, [pc, #44] ; (80251b0 ) 8025184: f0a1 fce4 bl 80c6b50 return FR_DISK_ERR; 8025188: 2301 movs r3, #1 802518a: e009 b.n 80251a0 } ////////////////////////////////////////////////////////////////// f_close(&F); 802518c: 4808 ldr r0, [pc, #32] ; (80251b0 ) 802518e: f0a1 fcdf bl 80c6b50 return FR_OK; 8025192: 2300 movs r3, #0 8025194: e004 b.n 80251a0 } else { return FR_DISK_ERR; 8025196: 2301 movs r3, #1 8025198: e002 b.n 80251a0 } } } else { return FR_DISK_ERR; 802519a: 2301 movs r3, #1 802519c: e000 b.n 80251a0 } return res; 802519e: 7cfb ldrb r3, [r7, #19] } 80251a0: 4618 mov r0, r3 80251a2: 3718 adds r7, #24 80251a4: 46bd mov sp, r7 80251a6: bd80 pop {r7, pc} 80251a8: 2002164c .word 0x2002164c 80251ac: 200229b4 .word 0x200229b4 80251b0: 20022e20 .word 0x20022e20 80251b4: 2007c000 .word 0x2007c000 80251b8: 080ce494 .word 0x080ce494 080251bc : FRESULT CreateFileDGN(char *fname) //TODO { 80251bc: b580 push {r7, lr} 80251be: b086 sub sp, #24 80251c0: af00 add r7, sp, #0 80251c2: 6078 str r0, [r7, #4] FRESULT res = FR_OK; 80251c4: 2300 movs r3, #0 80251c6: 74fb strb r3, [r7, #19] UINT fk, i; if(CardState != MSD_READY) { 80251c8: 4b45 ldr r3, [pc, #276] ; (80252e0 ) 80251ca: 781b ldrb r3, [r3, #0] 80251cc: b2db uxtb r3, r3 80251ce: 2b03 cmp r3, #3 80251d0: d001 beq.n 80251d6 return FR_NOT_READY; 80251d2: 2303 movs r3, #3 80251d4: e080 b.n 80252d8 } if(res == FR_OK) 80251d6: 7cfb ldrb r3, [r7, #19] 80251d8: 2b00 cmp r3, #0 80251da: d17a bne.n 80252d2 { memset(PointPath, 0, sizeof(PointPath)); 80251dc: f44f 7200 mov.w r2, #512 ; 0x200 80251e0: 2100 movs r1, #0 80251e2: 4840 ldr r0, [pc, #256] ; (80252e4 ) 80251e4: f0a7 ff30 bl 80cd048 PointPath[0] = '0'; 80251e8: 4b3e ldr r3, [pc, #248] ; (80252e4 ) 80251ea: 2230 movs r2, #48 ; 0x30 80251ec: 701a strb r2, [r3, #0] PointPath[1] = ':'; 80251ee: 4b3d ldr r3, [pc, #244] ; (80252e4 ) 80251f0: 223a movs r2, #58 ; 0x3a 80251f2: 705a strb r2, [r3, #1] strcat(PointPath, fname); 80251f4: 6879 ldr r1, [r7, #4] 80251f6: 483b ldr r0, [pc, #236] ; (80252e4 ) 80251f8: f0a8 f826 bl 80cd248 res = f_open(&F, PointPath, FA_READ); 80251fc: 2201 movs r2, #1 80251fe: 4939 ldr r1, [pc, #228] ; (80252e4 ) 8025200: 4839 ldr r0, [pc, #228] ; (80252e8 ) 8025202: f0a0 fe61 bl 80c5ec8 8025206: 4603 mov r3, r0 8025208: 74fb strb r3, [r7, #19] if((res == FR_NO_FILE) || (res == FR_NO_PATH)) 802520a: 7cfb ldrb r3, [r7, #19] 802520c: 2b04 cmp r3, #4 802520e: d002 beq.n 8025216 8025210: 7cfb ldrb r3, [r7, #19] 8025212: 2b05 cmp r3, #5 8025214: d15f bne.n 80252d6 { res = f_open(&F, PointPath, FA_CREATE_ALWAYS | FA_OPEN_ALWAYS | FA_WRITE | FA_READ); 8025216: 221b movs r2, #27 8025218: 4932 ldr r1, [pc, #200] ; (80252e4 ) 802521a: 4833 ldr r0, [pc, #204] ; (80252e8 ) 802521c: f0a0 fe54 bl 80c5ec8 8025220: 4603 mov r3, r0 8025222: 74fb strb r3, [r7, #19] if(res == FR_OK) 8025224: 7cfb ldrb r3, [r7, #19] 8025226: 2b00 cmp r3, #0 8025228: d151 bne.n 80252ce { f_sync(&F); 802522a: 482f ldr r0, [pc, #188] ; (80252e8 ) 802522c: f0a1 fb8c bl 80c6948 ////////////////////// Ñîçäàåì øàïêó ôàéëà //////////////////////// memset(sector, 0, sizeof(sector)); 8025230: f44f 7200 mov.w r2, #512 ; 0x200 8025234: 2100 movs r1, #0 8025236: 482d ldr r0, [pc, #180] ; (80252ec ) 8025238: f0a7 ff06 bl 80cd048 strcpy((char *) sector, "Extend"); 802523c: 4b2b ldr r3, [pc, #172] ; (80252ec ) 802523e: 4a2c ldr r2, [pc, #176] ; (80252f0 ) 8025240: e892 0003 ldmia.w r2, {r0, r1} 8025244: 6018 str r0, [r3, #0] 8025246: 3304 adds r3, #4 8025248: 8019 strh r1, [r3, #0] 802524a: 3302 adds r3, #2 802524c: 0c0a lsrs r2, r1, #16 802524e: 701a strb r2, [r3, #0] res = f_write(&F, sector, 96, &fk); 8025250: f107 030c add.w r3, r7, #12 8025254: 2260 movs r2, #96 ; 0x60 8025256: 4925 ldr r1, [pc, #148] ; (80252ec ) 8025258: 4823 ldr r0, [pc, #140] ; (80252e8 ) 802525a: f0a1 f9d5 bl 80c6608 802525e: 4603 mov r3, r0 8025260: 74fb strb r3, [r7, #19] if((res == FR_OK) && (fk == 96)) 8025262: 7cfb ldrb r3, [r7, #19] 8025264: 2b00 cmp r3, #0 8025266: d128 bne.n 80252ba 8025268: 68fb ldr r3, [r7, #12] 802526a: 2b60 cmp r3, #96 ; 0x60 802526c: d125 bne.n 80252ba { memset(sector, 0, sizeof(sector)); 802526e: f44f 7200 mov.w r2, #512 ; 0x200 8025272: 2100 movs r1, #0 8025274: 481d ldr r0, [pc, #116] ; (80252ec ) 8025276: f0a7 fee7 bl 80cd048 for(i = 0; i < 80; i++) 802527a: 2300 movs r3, #0 802527c: 617b str r3, [r7, #20] 802527e: e018 b.n 80252b2 { res = f_write(&F, sector, 500, &fk); 8025280: f107 030c add.w r3, r7, #12 8025284: f44f 72fa mov.w r2, #500 ; 0x1f4 8025288: 4918 ldr r1, [pc, #96] ; (80252ec ) 802528a: 4817 ldr r0, [pc, #92] ; (80252e8 ) 802528c: f0a1 f9bc bl 80c6608 8025290: 4603 mov r3, r0 8025292: 74fb strb r3, [r7, #19] if((res != FR_OK) || (fk != 500)) 8025294: 7cfb ldrb r3, [r7, #19] 8025296: 2b00 cmp r3, #0 8025298: d103 bne.n 80252a2 802529a: 68fb ldr r3, [r7, #12] 802529c: f5b3 7ffa cmp.w r3, #500 ; 0x1f4 80252a0: d004 beq.n 80252ac { f_close(&F); 80252a2: 4811 ldr r0, [pc, #68] ; (80252e8 ) 80252a4: f0a1 fc54 bl 80c6b50 return FR_DISK_ERR; 80252a8: 2301 movs r3, #1 80252aa: e015 b.n 80252d8 for(i = 0; i < 80; i++) 80252ac: 697b ldr r3, [r7, #20] 80252ae: 3301 adds r3, #1 80252b0: 617b str r3, [r7, #20] 80252b2: 697b ldr r3, [r7, #20] 80252b4: 2b4f cmp r3, #79 ; 0x4f 80252b6: d9e3 bls.n 8025280 if((res == FR_OK) && (fk == 96)) 80252b8: e004 b.n 80252c4 } } } else { f_close(&F); 80252ba: 480b ldr r0, [pc, #44] ; (80252e8 ) 80252bc: f0a1 fc48 bl 80c6b50 return FR_DISK_ERR; 80252c0: 2301 movs r3, #1 80252c2: e009 b.n 80252d8 } ////////////////////////////////////////////////////////////////// f_close(&F); 80252c4: 4808 ldr r0, [pc, #32] ; (80252e8 ) 80252c6: f0a1 fc43 bl 80c6b50 return FR_OK; 80252ca: 2300 movs r3, #0 80252cc: e004 b.n 80252d8 } else { return FR_DISK_ERR; 80252ce: 2301 movs r3, #1 80252d0: e002 b.n 80252d8 } } } else { return FR_DISK_ERR; 80252d2: 2301 movs r3, #1 80252d4: e000 b.n 80252d8 } return res; 80252d6: 7cfb ldrb r3, [r7, #19] } 80252d8: 4618 mov r0, r3 80252da: 3718 adds r7, #24 80252dc: 46bd mov sp, r7 80252de: bd80 pop {r7, pc} 80252e0: 2002164c .word 0x2002164c 80252e4: 200229b4 .word 0x200229b4 80252e8: 20022e20 .word 0x20022e20 80252ec: 2007c000 .word 0x2007c000 80252f0: 080ce494 .word 0x080ce494 080252f4 : FRESULT CreateFileSPEC(char *fname) { 80252f4: b5b0 push {r4, r5, r7, lr} 80252f6: b092 sub sp, #72 ; 0x48 80252f8: af00 add r7, sp, #0 80252fa: 6078 str r0, [r7, #4] UINT fk; uint32_t l, i; char fn[40]; FRESULT res = FR_OK; 80252fc: 2300 movs r3, #0 80252fe: f887 3043 strb.w r3, [r7, #67] ; 0x43 float32_t fs; if(CardState != MSD_READY) { 8025302: 4bc9 ldr r3, [pc, #804] ; (8025628 ) 8025304: 781b ldrb r3, [r3, #0] 8025306: b2db uxtb r3, r3 8025308: 2b03 cmp r3, #3 802530a: d001 beq.n 8025310 return FR_NOT_READY; 802530c: 2303 movs r3, #3 802530e: e317 b.n 8025940 } strcpy(fn ,fname); 8025310: f107 030c add.w r3, r7, #12 8025314: 6879 ldr r1, [r7, #4] 8025316: 4618 mov r0, r3 8025318: f0a7 ffb3 bl 80cd282 l = strlen(fn); 802531c: f107 030c add.w r3, r7, #12 8025320: 4618 mov r0, r3 8025322: f7fa fff7 bl 8020314 8025326: 63f8 str r0, [r7, #60] ; 0x3c if(fn[l - 4] == '.') 8025328: 6bfb ldr r3, [r7, #60] ; 0x3c 802532a: 3b04 subs r3, #4 802532c: f107 0248 add.w r2, r7, #72 ; 0x48 8025330: 4413 add r3, r2 8025332: f813 3c3c ldrb.w r3, [r3, #-60] 8025336: 2b2e cmp r3, #46 ; 0x2e 8025338: d169 bne.n 802540e { if((fn[l - 3] != 'C') && (fn[l - 3] != 'c')) fn[l - 3] = 'C'; 802533a: 6bfb ldr r3, [r7, #60] ; 0x3c 802533c: 3b03 subs r3, #3 802533e: f107 0248 add.w r2, r7, #72 ; 0x48 8025342: 4413 add r3, r2 8025344: f813 3c3c ldrb.w r3, [r3, #-60] 8025348: 2b43 cmp r3, #67 ; 0x43 802534a: d011 beq.n 8025370 802534c: 6bfb ldr r3, [r7, #60] ; 0x3c 802534e: 3b03 subs r3, #3 8025350: f107 0248 add.w r2, r7, #72 ; 0x48 8025354: 4413 add r3, r2 8025356: f813 3c3c ldrb.w r3, [r3, #-60] 802535a: 2b63 cmp r3, #99 ; 0x63 802535c: d008 beq.n 8025370 802535e: 6bfb ldr r3, [r7, #60] ; 0x3c 8025360: 3b03 subs r3, #3 8025362: f107 0248 add.w r2, r7, #72 ; 0x48 8025366: 4413 add r3, r2 8025368: 2243 movs r2, #67 ; 0x43 802536a: f803 2c3c strb.w r2, [r3, #-60] 802536e: e007 b.n 8025380 else fn[l - 3] = 'C'; 8025370: 6bfb ldr r3, [r7, #60] ; 0x3c 8025372: 3b03 subs r3, #3 8025374: f107 0248 add.w r2, r7, #72 ; 0x48 8025378: 4413 add r3, r2 802537a: 2243 movs r2, #67 ; 0x43 802537c: f803 2c3c strb.w r2, [r3, #-60] if((fn[l - 2] != 'S') && (fn[l - 2] != 's')) fn[l - 2] = 'S'; 8025380: 6bfb ldr r3, [r7, #60] ; 0x3c 8025382: 3b02 subs r3, #2 8025384: f107 0248 add.w r2, r7, #72 ; 0x48 8025388: 4413 add r3, r2 802538a: f813 3c3c ldrb.w r3, [r3, #-60] 802538e: 2b53 cmp r3, #83 ; 0x53 8025390: d011 beq.n 80253b6 8025392: 6bfb ldr r3, [r7, #60] ; 0x3c 8025394: 3b02 subs r3, #2 8025396: f107 0248 add.w r2, r7, #72 ; 0x48 802539a: 4413 add r3, r2 802539c: f813 3c3c ldrb.w r3, [r3, #-60] 80253a0: 2b73 cmp r3, #115 ; 0x73 80253a2: d008 beq.n 80253b6 80253a4: 6bfb ldr r3, [r7, #60] ; 0x3c 80253a6: 3b02 subs r3, #2 80253a8: f107 0248 add.w r2, r7, #72 ; 0x48 80253ac: 4413 add r3, r2 80253ae: 2253 movs r2, #83 ; 0x53 80253b0: f803 2c3c strb.w r2, [r3, #-60] 80253b4: e007 b.n 80253c6 else fn[l - 2] = 'S'; 80253b6: 6bfb ldr r3, [r7, #60] ; 0x3c 80253b8: 3b02 subs r3, #2 80253ba: f107 0248 add.w r2, r7, #72 ; 0x48 80253be: 4413 add r3, r2 80253c0: 2253 movs r2, #83 ; 0x53 80253c2: f803 2c3c strb.w r2, [r3, #-60] if((fn[l - 1] != 'V') && (fn[l - 1] != 'v')) fn[l - 1] = 'V'; 80253c6: 6bfb ldr r3, [r7, #60] ; 0x3c 80253c8: 3b01 subs r3, #1 80253ca: f107 0248 add.w r2, r7, #72 ; 0x48 80253ce: 4413 add r3, r2 80253d0: f813 3c3c ldrb.w r3, [r3, #-60] 80253d4: 2b56 cmp r3, #86 ; 0x56 80253d6: d011 beq.n 80253fc 80253d8: 6bfb ldr r3, [r7, #60] ; 0x3c 80253da: 3b01 subs r3, #1 80253dc: f107 0248 add.w r2, r7, #72 ; 0x48 80253e0: 4413 add r3, r2 80253e2: f813 3c3c ldrb.w r3, [r3, #-60] 80253e6: 2b76 cmp r3, #118 ; 0x76 80253e8: d008 beq.n 80253fc 80253ea: 6bfb ldr r3, [r7, #60] ; 0x3c 80253ec: 3b01 subs r3, #1 80253ee: f107 0248 add.w r2, r7, #72 ; 0x48 80253f2: 4413 add r3, r2 80253f4: 2256 movs r2, #86 ; 0x56 80253f6: f803 2c3c strb.w r2, [r3, #-60] 80253fa: e027 b.n 802544c else fn[l - 1] = 'V'; 80253fc: 6bfb ldr r3, [r7, #60] ; 0x3c 80253fe: 3b01 subs r3, #1 8025400: f107 0248 add.w r2, r7, #72 ; 0x48 8025404: 4413 add r3, r2 8025406: 2256 movs r2, #86 ; 0x56 8025408: f803 2c3c strb.w r2, [r3, #-60] 802540c: e01e b.n 802544c } else { if(l <= 36) 802540e: 6bfb ldr r3, [r7, #60] ; 0x3c 8025410: 2b24 cmp r3, #36 ; 0x24 8025412: d80f bhi.n 8025434 strcat(fn, ".CSV"); 8025414: f107 030c add.w r3, r7, #12 8025418: 4618 mov r0, r3 802541a: f7fa ff7b bl 8020314 802541e: 4603 mov r3, r0 8025420: 461a mov r2, r3 8025422: f107 030c add.w r3, r7, #12 8025426: 4413 add r3, r2 8025428: 4a80 ldr r2, [pc, #512] ; (802562c ) 802542a: 6810 ldr r0, [r2, #0] 802542c: 6018 str r0, [r3, #0] 802542e: 7912 ldrb r2, [r2, #4] 8025430: 711a strb r2, [r3, #4] 8025432: e00b b.n 802544c else { fn[36] = '.'; 8025434: 232e movs r3, #46 ; 0x2e 8025436: f887 3030 strb.w r3, [r7, #48] ; 0x30 fn[37] = 'C'; 802543a: 2343 movs r3, #67 ; 0x43 802543c: f887 3031 strb.w r3, [r7, #49] ; 0x31 fn[38] = 'S'; 8025440: 2353 movs r3, #83 ; 0x53 8025442: f887 3032 strb.w r3, [r7, #50] ; 0x32 fn[39] = 'V'; 8025446: 2356 movs r3, #86 ; 0x56 8025448: f887 3033 strb.w r3, [r7, #51] ; 0x33 } } //res = f_mount(&fs, SDPath, 1); if(res == FR_OK) 802544c: f897 3043 ldrb.w r3, [r7, #67] ; 0x43 8025450: 2b00 cmp r3, #0 8025452: f040 8271 bne.w 8025938 { memset(PointPath, 0, sizeof(PointPath)); 8025456: f44f 7200 mov.w r2, #512 ; 0x200 802545a: 2100 movs r1, #0 802545c: 4874 ldr r0, [pc, #464] ; (8025630 ) 802545e: f0a7 fdf3 bl 80cd048 strcpy(PointPath, "0:Spectrum files"); 8025462: 4a73 ldr r2, [pc, #460] ; (8025630 ) 8025464: 4b73 ldr r3, [pc, #460] ; (8025634 ) 8025466: 4615 mov r5, r2 8025468: 461c mov r4, r3 802546a: cc0f ldmia r4!, {r0, r1, r2, r3} 802546c: 6028 str r0, [r5, #0] 802546e: 6069 str r1, [r5, #4] 8025470: 60aa str r2, [r5, #8] 8025472: 60eb str r3, [r5, #12] 8025474: 7823 ldrb r3, [r4, #0] 8025476: 742b strb r3, [r5, #16] res = f_opendir(&dir, PointPath); 8025478: 496d ldr r1, [pc, #436] ; (8025630 ) 802547a: 486f ldr r0, [pc, #444] ; (8025638 ) 802547c: f0a1 fe11 bl 80c70a2 8025480: 4603 mov r3, r0 8025482: f887 3043 strb.w r3, [r7, #67] ; 0x43 if(res != FR_OK) { 8025486: f897 3043 ldrb.w r3, [r7, #67] ; 0x43 802548a: 2b00 cmp r3, #0 802548c: d005 beq.n 802549a res = f_mkdir(PointPath); 802548e: 4868 ldr r0, [pc, #416] ; (8025630 ) 8025490: f0a2 f8c2 bl 80c7618 8025494: 4603 mov r3, r0 8025496: f887 3043 strb.w r3, [r7, #67] ; 0x43 } if(res == FR_OK) 802549a: f897 3043 ldrb.w r3, [r7, #67] ; 0x43 802549e: 2b00 cmp r3, #0 80254a0: f040 824c bne.w 802593c { strcat(PointPath, "/"); 80254a4: 4862 ldr r0, [pc, #392] ; (8025630 ) 80254a6: f7fa ff35 bl 8020314 80254aa: 4603 mov r3, r0 80254ac: 461a mov r2, r3 80254ae: 4b60 ldr r3, [pc, #384] ; (8025630 ) 80254b0: 4413 add r3, r2 80254b2: 4962 ldr r1, [pc, #392] ; (802563c ) 80254b4: 461a mov r2, r3 80254b6: 460b mov r3, r1 80254b8: 881b ldrh r3, [r3, #0] 80254ba: 8013 strh r3, [r2, #0] strcat(PointPath, fname); 80254bc: 6879 ldr r1, [r7, #4] 80254be: 485c ldr r0, [pc, #368] ; (8025630 ) 80254c0: f0a7 fec2 bl 80cd248 res = f_open(&F, PointPath, FA_READ); 80254c4: 2201 movs r2, #1 80254c6: 495a ldr r1, [pc, #360] ; (8025630 ) 80254c8: 485d ldr r0, [pc, #372] ; (8025640 ) 80254ca: f0a0 fcfd bl 80c5ec8 80254ce: 4603 mov r3, r0 80254d0: f887 3043 strb.w r3, [r7, #67] ; 0x43 if((res == FR_NO_FILE) || (res == FR_NO_PATH)) 80254d4: f897 3043 ldrb.w r3, [r7, #67] ; 0x43 80254d8: 2b04 cmp r3, #4 80254da: d004 beq.n 80254e6 80254dc: f897 3043 ldrb.w r3, [r7, #67] ; 0x43 80254e0: 2b05 cmp r3, #5 80254e2: f040 8224 bne.w 802592e { res = f_open(&F, PointPath, FA_CREATE_ALWAYS | FA_OPEN_ALWAYS | FA_WRITE | FA_READ); 80254e6: 221b movs r2, #27 80254e8: 4951 ldr r1, [pc, #324] ; (8025630 ) 80254ea: 4855 ldr r0, [pc, #340] ; (8025640 ) 80254ec: f0a0 fcec bl 80c5ec8 80254f0: 4603 mov r3, r0 80254f2: f887 3043 strb.w r3, [r7, #67] ; 0x43 if(res == FR_OK) 80254f6: f897 3043 ldrb.w r3, [r7, #67] ; 0x43 80254fa: 2b00 cmp r3, #0 80254fc: f040 8215 bne.w 802592a { f_sync(&F); 8025500: 484f ldr r0, [pc, #316] ; (8025640 ) 8025502: f0a1 fa21 bl 80c6948 memset((void *) sector, 0 , sizeof(sector)); 8025506: f44f 7200 mov.w r2, #512 ; 0x200 802550a: 2100 movs r1, #0 802550c: 484d ldr r0, [pc, #308] ; (8025644 ) 802550e: f0a7 fd9b bl 80cd048 strcpy((void *) sector, "HP: "); 8025512: 4b4c ldr r3, [pc, #304] ; (8025644 ) 8025514: 4a4c ldr r2, [pc, #304] ; (8025648 ) 8025516: e892 0003 ldmia.w r2, {r0, r1} 802551a: 6018 str r0, [r3, #0] 802551c: 3304 adds r3, #4 802551e: 7019 strb r1, [r3, #0] strcat((void *) sector, (char *) FloatToASCII(pardata.HP, -1)); 8025520: 4b4a ldr r3, [pc, #296] ; (802564c ) 8025522: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 8025526: f04f 30ff mov.w r0, #4294967295 802552a: eeb0 0a67 vmov.f32 s0, s15 802552e: f041 f8e7 bl 8066700 8025532: 4603 mov r3, r0 8025534: 4619 mov r1, r3 8025536: 4843 ldr r0, [pc, #268] ; (8025644 ) 8025538: f0a7 fe86 bl 80cd248 strcat((void *) sector, "\r\n"); 802553c: 4841 ldr r0, [pc, #260] ; (8025644 ) 802553e: f7fa fee9 bl 8020314 8025542: 4603 mov r3, r0 8025544: 461a mov r2, r3 8025546: 4b3f ldr r3, [pc, #252] ; (8025644 ) 8025548: 4413 add r3, r2 802554a: 4a41 ldr r2, [pc, #260] ; (8025650 ) 802554c: 8811 ldrh r1, [r2, #0] 802554e: 7892 ldrb r2, [r2, #2] 8025550: 8019 strh r1, [r3, #0] 8025552: 709a strb r2, [r3, #2] l = strlen((void *) sector); 8025554: 483b ldr r0, [pc, #236] ; (8025644 ) 8025556: f7fa fedd bl 8020314 802555a: 63f8 str r0, [r7, #60] ; 0x3c res = f_write(&F, (void *) sector, (UINT) l, &fk); 802555c: f107 0334 add.w r3, r7, #52 ; 0x34 8025560: 6bfa ldr r2, [r7, #60] ; 0x3c 8025562: 4938 ldr r1, [pc, #224] ; (8025644 ) 8025564: 4836 ldr r0, [pc, #216] ; (8025640 ) 8025566: f0a1 f84f bl 80c6608 802556a: 4603 mov r3, r0 802556c: f887 3043 strb.w r3, [r7, #67] ; 0x43 memset((void *) sector, 0 , sizeof(sector)); 8025570: f44f 7200 mov.w r2, #512 ; 0x200 8025574: 2100 movs r1, #0 8025576: 4833 ldr r0, [pc, #204] ; (8025644 ) 8025578: f0a7 fd66 bl 80cd048 strcpy((void *) sector, "LP: "); 802557c: 4b31 ldr r3, [pc, #196] ; (8025644 ) 802557e: 4a35 ldr r2, [pc, #212] ; (8025654 ) 8025580: e892 0003 ldmia.w r2, {r0, r1} 8025584: 6018 str r0, [r3, #0] 8025586: 3304 adds r3, #4 8025588: 7019 strb r1, [r3, #0] strcat((void *) sector, (char *) FloatToASCII(pardata.LP, -1)); 802558a: 4b30 ldr r3, [pc, #192] ; (802564c ) 802558c: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 8025590: f04f 30ff mov.w r0, #4294967295 8025594: eeb0 0a67 vmov.f32 s0, s15 8025598: f041 f8b2 bl 8066700 802559c: 4603 mov r3, r0 802559e: 4619 mov r1, r3 80255a0: 4828 ldr r0, [pc, #160] ; (8025644 ) 80255a2: f0a7 fe51 bl 80cd248 strcat((void *) sector, "\r\n"); 80255a6: 4827 ldr r0, [pc, #156] ; (8025644 ) 80255a8: f7fa feb4 bl 8020314 80255ac: 4603 mov r3, r0 80255ae: 461a mov r2, r3 80255b0: 4b24 ldr r3, [pc, #144] ; (8025644 ) 80255b2: 4413 add r3, r2 80255b4: 4a26 ldr r2, [pc, #152] ; (8025650 ) 80255b6: 8811 ldrh r1, [r2, #0] 80255b8: 7892 ldrb r2, [r2, #2] 80255ba: 8019 strh r1, [r3, #0] 80255bc: 709a strb r2, [r3, #2] strcat((void *) sector, "\r\n"); 80255be: 4821 ldr r0, [pc, #132] ; (8025644 ) 80255c0: f7fa fea8 bl 8020314 80255c4: 4603 mov r3, r0 80255c6: 461a mov r2, r3 80255c8: 4b1e ldr r3, [pc, #120] ; (8025644 ) 80255ca: 4413 add r3, r2 80255cc: 4a20 ldr r2, [pc, #128] ; (8025650 ) 80255ce: 8811 ldrh r1, [r2, #0] 80255d0: 7892 ldrb r2, [r2, #2] 80255d2: 8019 strh r1, [r3, #0] 80255d4: 709a strb r2, [r3, #2] strcat((void *) sector, "\r\n"); 80255d6: 481b ldr r0, [pc, #108] ; (8025644 ) 80255d8: f7fa fe9c bl 8020314 80255dc: 4603 mov r3, r0 80255de: 461a mov r2, r3 80255e0: 4b18 ldr r3, [pc, #96] ; (8025644 ) 80255e2: 4413 add r3, r2 80255e4: 4a1a ldr r2, [pc, #104] ; (8025650 ) 80255e6: 8811 ldrh r1, [r2, #0] 80255e8: 7892 ldrb r2, [r2, #2] 80255ea: 8019 strh r1, [r3, #0] 80255ec: 709a strb r2, [r3, #2] l = strlen((void *) sector); 80255ee: 4815 ldr r0, [pc, #84] ; (8025644 ) 80255f0: f7fa fe90 bl 8020314 80255f4: 63f8 str r0, [r7, #60] ; 0x3c res = f_write(&F, (void *) sector, (UINT) l, &fk); 80255f6: f107 0334 add.w r3, r7, #52 ; 0x34 80255fa: 6bfa ldr r2, [r7, #60] ; 0x3c 80255fc: 4911 ldr r1, [pc, #68] ; (8025644 ) 80255fe: 4810 ldr r0, [pc, #64] ; (8025640 ) 8025600: f0a1 f802 bl 80c6608 8025604: 4603 mov r3, r0 8025606: f887 3043 strb.w r3, [r7, #67] ; 0x43 if((pardata.SYG == SPEC) || (pardata.SYG == SPEC_OGIB)) 802560a: 4b10 ldr r3, [pc, #64] ; (802564c ) 802560c: 781b ldrb r3, [r3, #0] 802560e: b2db uxtb r3, r3 8025610: 2b01 cmp r3, #1 8025612: d005 beq.n 8025620 8025614: 4b0d ldr r3, [pc, #52] ; (802564c ) 8025616: 781b ldrb r3, [r3, #0] 8025618: b2db uxtb r3, r3 802561a: 2b05 cmp r3, #5 802561c: f040 809b bne.w 8025756 { for(i = 0; i < (Ns >> 1); i++) 8025620: 2300 movs r3, #0 8025622: 647b str r3, [r7, #68] ; 0x44 8025624: e090 b.n 8025748 8025626: bf00 nop 8025628: 2002164c .word 0x2002164c 802562c: 080ce49c .word 0x080ce49c 8025630: 200229b4 .word 0x200229b4 8025634: 080ce4a4 .word 0x080ce4a4 8025638: 20022918 .word 0x20022918 802563c: 080ce484 .word 0x080ce484 8025640: 20022e20 .word 0x20022e20 8025644: 2007c000 .word 0x2007c000 8025648: 080ce4b8 .word 0x080ce4b8 802564c: 20023e60 .word 0x20023e60 8025650: 080ce4c0 .word 0x080ce4c0 8025654: 080ce4c4 .word 0x080ce4c4 { memset((void *) sector, 0 , sizeof(sector)); 8025658: f44f 7200 mov.w r2, #512 ; 0x200 802565c: 2100 movs r1, #0 802565e: 48ba ldr r0, [pc, #744] ; (8025948 ) 8025660: f0a7 fcf2 bl 80cd048 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 f830 bl 8066700 80256a0: 4603 mov r3, r0 80256a2: 4619 mov r1, r3 80256a4: 48a8 ldr r0, [pc, #672] ; (8025948 ) 80256a6: f0a7 fdec bl 80cd282 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 f813 bl 8066700 80256da: 4603 mov r3, r0 80256dc: 4619 mov r1, r3 80256de: 489a ldr r0, [pc, #616] ; (8025948 ) 80256e0: f0a7 fdb2 bl 80cd248 strcat((void *) sector, ";"); 80256e4: 4898 ldr r0, [pc, #608] ; (8025948 ) 80256e6: f7fa fe15 bl 8020314 80256ea: 4603 mov r3, r0 80256ec: 461a mov r2, r3 80256ee: 4b96 ldr r3, [pc, #600] ; (8025948 ) 80256f0: 4413 add r3, r2 80256f2: 4998 ldr r1, [pc, #608] ; (8025954 ) 80256f4: 461a mov r2, r3 80256f6: 460b mov r3, r1 80256f8: 881b ldrh r3, [r3, #0] 80256fa: 8013 strh r3, [r2, #0] strcat((void *) sector, "\r\n"); 80256fc: 4892 ldr r0, [pc, #584] ; (8025948 ) 80256fe: f7fa fe09 bl 8020314 8025702: 4603 mov r3, r0 8025704: 461a mov r2, r3 8025706: 4b90 ldr r3, [pc, #576] ; (8025948 ) 8025708: 4413 add r3, r2 802570a: 4a94 ldr r2, [pc, #592] ; (802595c ) 802570c: 8811 ldrh r1, [r2, #0] 802570e: 7892 ldrb r2, [r2, #2] 8025710: 8019 strh r1, [r3, #0] 8025712: 709a strb r2, [r3, #2] l = strlen((void *) sector); 8025714: 488c ldr r0, [pc, #560] ; (8025948 ) 8025716: f7fa fdfd bl 8020314 802571a: 63f8 str r0, [r7, #60] ; 0x3c res = f_write(&F, (void *) sector, (UINT) l, &fk); 802571c: f107 0334 add.w r3, r7, #52 ; 0x34 8025720: 6bfa ldr r2, [r7, #60] ; 0x3c 8025722: 4989 ldr r1, [pc, #548] ; (8025948 ) 8025724: 488e ldr r0, [pc, #568] ; (8025960 ) 8025726: f0a0 ff6f bl 80c6608 802572a: 4603 mov r3, r0 802572c: f887 3043 strb.w r3, [r7, #67] ; 0x43 if(res != FR_OK) 8025730: f897 3043 ldrb.w r3, [r7, #67] ; 0x43 8025734: 2b00 cmp r3, #0 8025736: d004 beq.n 8025742 { f_close(&F); 8025738: 4889 ldr r0, [pc, #548] ; (8025960 ) 802573a: f0a1 fa09 bl 80c6b50 //f_mount(&fs, SDPath, 0); return FR_DISK_ERR; 802573e: 2301 movs r3, #1 8025740: e0fe b.n 8025940 for(i = 0; i < (Ns >> 1); i++) 8025742: 6c7b ldr r3, [r7, #68] ; 0x44 8025744: 3301 adds r3, #1 8025746: 647b str r3, [r7, #68] ; 0x44 8025748: 4b86 ldr r3, [pc, #536] ; (8025964 ) 802574a: 681b ldr r3, [r3, #0] 802574c: 085a lsrs r2, r3, #1 802574e: 6c7b ldr r3, [r7, #68] ; 0x44 8025750: 429a cmp r2, r3 8025752: d881 bhi.n 8025658 if((pardata.SYG == SPEC) || (pardata.SYG == SPEC_OGIB)) 8025754: e0e2 b.n 802591c } } } else if(pardata.SYG == SPEC_OKT) 8025756: 4b7d ldr r3, [pc, #500] ; (802594c ) 8025758: 781b ldrb r3, [r3, #0] 802575a: b2db uxtb r3, r3 802575c: 2b06 cmp r3, #6 802575e: d16c bne.n 802583a { for(i = 0; i < 14; i++) 8025760: 2300 movs r3, #0 8025762: 647b str r3, [r7, #68] ; 0x44 8025764: e065 b.n 8025832 { memset((void *) sector, 0 , sizeof(sector)); 8025766: f44f 7200 mov.w r2, #512 ; 0x200 802576a: 2100 movs r1, #0 802576c: 4876 ldr r0, [pc, #472] ; (8025948 ) 802576e: f0a7 fc6b bl 80cd048 fs = OCTAVES[i]; 8025772: 4a7d ldr r2, [pc, #500] ; (8025968 ) 8025774: 6c7b ldr r3, [r7, #68] ; 0x44 8025776: 009b lsls r3, r3, #2 8025778: 4413 add r3, r2 802577a: 681b ldr r3, [r3, #0] 802577c: 63bb str r3, [r7, #56] ; 0x38 strcpy((void *) sector, (char *) FloatToASCII(fs, -6)); 802577e: f06f 0005 mvn.w r0, #5 8025782: ed97 0a0e vldr s0, [r7, #56] ; 0x38 8025786: f040 ffbb bl 8066700 802578a: 4603 mov r3, r0 802578c: 4619 mov r1, r3 802578e: 486e ldr r0, [pc, #440] ; (8025948 ) 8025790: f0a7 fd77 bl 80cd282 strcat((void *) sector, ";"); 8025794: 486c ldr r0, [pc, #432] ; (8025948 ) 8025796: f7fa fdbd bl 8020314 802579a: 4603 mov r3, r0 802579c: 461a mov r2, r3 802579e: 4b6a ldr r3, [pc, #424] ; (8025948 ) 80257a0: 4413 add r3, r2 80257a2: 496c ldr r1, [pc, #432] ; (8025954 ) 80257a4: 461a mov r2, r3 80257a6: 460b mov r3, r1 80257a8: 881b ldrh r3, [r3, #0] 80257aa: 8013 strh r3, [r2, #0] strcat((void *) sector, (char *) FloatToASCII(ScrA_f32(i), -6)); 80257ac: 6c7b ldr r3, [r7, #68] ; 0x44 80257ae: 009a lsls r2, r3, #2 80257b0: 4b69 ldr r3, [pc, #420] ; (8025958 ) 80257b2: 4413 add r3, r2 80257b4: edd3 7a00 vldr s15, [r3] 80257b8: f06f 0005 mvn.w r0, #5 80257bc: eeb0 0a67 vmov.f32 s0, s15 80257c0: f040 ff9e bl 8066700 80257c4: 4603 mov r3, r0 80257c6: 4619 mov r1, r3 80257c8: 485f ldr r0, [pc, #380] ; (8025948 ) 80257ca: f0a7 fd3d bl 80cd248 strcat((void *) sector, ";"); 80257ce: 485e ldr r0, [pc, #376] ; (8025948 ) 80257d0: f7fa fda0 bl 8020314 80257d4: 4603 mov r3, r0 80257d6: 461a mov r2, r3 80257d8: 4b5b ldr r3, [pc, #364] ; (8025948 ) 80257da: 4413 add r3, r2 80257dc: 495d ldr r1, [pc, #372] ; (8025954 ) 80257de: 461a mov r2, r3 80257e0: 460b mov r3, r1 80257e2: 881b ldrh r3, [r3, #0] 80257e4: 8013 strh r3, [r2, #0] strcat((void *) sector, "\r\n"); 80257e6: 4858 ldr r0, [pc, #352] ; (8025948 ) 80257e8: f7fa fd94 bl 8020314 80257ec: 4603 mov r3, r0 80257ee: 461a mov r2, r3 80257f0: 4b55 ldr r3, [pc, #340] ; (8025948 ) 80257f2: 4413 add r3, r2 80257f4: 4a59 ldr r2, [pc, #356] ; (802595c ) 80257f6: 8811 ldrh r1, [r2, #0] 80257f8: 7892 ldrb r2, [r2, #2] 80257fa: 8019 strh r1, [r3, #0] 80257fc: 709a strb r2, [r3, #2] l = strlen((void *) sector); 80257fe: 4852 ldr r0, [pc, #328] ; (8025948 ) 8025800: f7fa fd88 bl 8020314 8025804: 63f8 str r0, [r7, #60] ; 0x3c res = f_write(&F, (void *) sector, (UINT) l, &fk); 8025806: f107 0334 add.w r3, r7, #52 ; 0x34 802580a: 6bfa ldr r2, [r7, #60] ; 0x3c 802580c: 494e ldr r1, [pc, #312] ; (8025948 ) 802580e: 4854 ldr r0, [pc, #336] ; (8025960 ) 8025810: f0a0 fefa bl 80c6608 8025814: 4603 mov r3, r0 8025816: f887 3043 strb.w r3, [r7, #67] ; 0x43 if(res != FR_OK) 802581a: f897 3043 ldrb.w r3, [r7, #67] ; 0x43 802581e: 2b00 cmp r3, #0 8025820: d004 beq.n 802582c { f_close(&F); 8025822: 484f ldr r0, [pc, #316] ; (8025960 ) 8025824: f0a1 f994 bl 80c6b50 //f_mount(&fs, SDPath, 0); return FR_DISK_ERR; 8025828: 2301 movs r3, #1 802582a: e089 b.n 8025940 for(i = 0; i < 14; i++) 802582c: 6c7b ldr r3, [r7, #68] ; 0x44 802582e: 3301 adds r3, #1 8025830: 647b str r3, [r7, #68] ; 0x44 8025832: 6c7b ldr r3, [r7, #68] ; 0x44 8025834: 2b0d cmp r3, #13 8025836: d996 bls.n 8025766 8025838: e070 b.n 802591c } } } else if(pardata.SYG == SPEC_THIRD) 802583a: 4b44 ldr r3, [pc, #272] ; (802594c ) 802583c: 781b ldrb r3, [r3, #0] 802583e: b2db uxtb r3, r3 8025840: 2b07 cmp r3, #7 8025842: d16b bne.n 802591c { for(i = 0; i < 39; i++) 8025844: 2300 movs r3, #0 8025846: 647b str r3, [r7, #68] ; 0x44 8025848: e065 b.n 8025916 { memset((void *) sector, 0 , sizeof(sector)); 802584a: f44f 7200 mov.w r2, #512 ; 0x200 802584e: 2100 movs r1, #0 8025850: 483d ldr r0, [pc, #244] ; (8025948 ) 8025852: f0a7 fbf9 bl 80cd048 fs = THIRD[i]; 8025856: 4a45 ldr r2, [pc, #276] ; (802596c ) 8025858: 6c7b ldr r3, [r7, #68] ; 0x44 802585a: 009b lsls r3, r3, #2 802585c: 4413 add r3, r2 802585e: 681b ldr r3, [r3, #0] 8025860: 63bb str r3, [r7, #56] ; 0x38 strcpy((void *) sector, (char *) FloatToASCII(fs, -6)); 8025862: f06f 0005 mvn.w r0, #5 8025866: ed97 0a0e vldr s0, [r7, #56] ; 0x38 802586a: f040 ff49 bl 8066700 802586e: 4603 mov r3, r0 8025870: 4619 mov r1, r3 8025872: 4835 ldr r0, [pc, #212] ; (8025948 ) 8025874: f0a7 fd05 bl 80cd282 strcat((void *) sector, ";"); 8025878: 4833 ldr r0, [pc, #204] ; (8025948 ) 802587a: f7fa fd4b bl 8020314 802587e: 4603 mov r3, r0 8025880: 461a mov r2, r3 8025882: 4b31 ldr r3, [pc, #196] ; (8025948 ) 8025884: 4413 add r3, r2 8025886: 4933 ldr r1, [pc, #204] ; (8025954 ) 8025888: 461a mov r2, r3 802588a: 460b mov r3, r1 802588c: 881b ldrh r3, [r3, #0] 802588e: 8013 strh r3, [r2, #0] strcat((void *) sector, (char *) FloatToASCII(ScrA_f32(i), -6)); 8025890: 6c7b ldr r3, [r7, #68] ; 0x44 8025892: 009a lsls r2, r3, #2 8025894: 4b30 ldr r3, [pc, #192] ; (8025958 ) 8025896: 4413 add r3, r2 8025898: edd3 7a00 vldr s15, [r3] 802589c: f06f 0005 mvn.w r0, #5 80258a0: eeb0 0a67 vmov.f32 s0, s15 80258a4: f040 ff2c bl 8066700 80258a8: 4603 mov r3, r0 80258aa: 4619 mov r1, r3 80258ac: 4826 ldr r0, [pc, #152] ; (8025948 ) 80258ae: f0a7 fccb bl 80cd248 strcat((void *) sector, ";"); 80258b2: 4825 ldr r0, [pc, #148] ; (8025948 ) 80258b4: f7fa fd2e bl 8020314 80258b8: 4603 mov r3, r0 80258ba: 461a mov r2, r3 80258bc: 4b22 ldr r3, [pc, #136] ; (8025948 ) 80258be: 4413 add r3, r2 80258c0: 4924 ldr r1, [pc, #144] ; (8025954 ) 80258c2: 461a mov r2, r3 80258c4: 460b mov r3, r1 80258c6: 881b ldrh r3, [r3, #0] 80258c8: 8013 strh r3, [r2, #0] strcat((void *) sector, "\r\n"); 80258ca: 481f ldr r0, [pc, #124] ; (8025948 ) 80258cc: f7fa fd22 bl 8020314 80258d0: 4603 mov r3, r0 80258d2: 461a mov r2, r3 80258d4: 4b1c ldr r3, [pc, #112] ; (8025948 ) 80258d6: 4413 add r3, r2 80258d8: 4a20 ldr r2, [pc, #128] ; (802595c ) 80258da: 8811 ldrh r1, [r2, #0] 80258dc: 7892 ldrb r2, [r2, #2] 80258de: 8019 strh r1, [r3, #0] 80258e0: 709a strb r2, [r3, #2] l = strlen((void *) sector); 80258e2: 4819 ldr r0, [pc, #100] ; (8025948 ) 80258e4: f7fa fd16 bl 8020314 80258e8: 63f8 str r0, [r7, #60] ; 0x3c res = f_write(&F, (void *) sector, (UINT) l, &fk); 80258ea: f107 0334 add.w r3, r7, #52 ; 0x34 80258ee: 6bfa ldr r2, [r7, #60] ; 0x3c 80258f0: 4915 ldr r1, [pc, #84] ; (8025948 ) 80258f2: 481b ldr r0, [pc, #108] ; (8025960 ) 80258f4: f0a0 fe88 bl 80c6608 80258f8: 4603 mov r3, r0 80258fa: f887 3043 strb.w r3, [r7, #67] ; 0x43 if(res != FR_OK) 80258fe: f897 3043 ldrb.w r3, [r7, #67] ; 0x43 8025902: 2b00 cmp r3, #0 8025904: d004 beq.n 8025910 { f_close(&F); 8025906: 4816 ldr r0, [pc, #88] ; (8025960 ) 8025908: f0a1 f922 bl 80c6b50 //f_mount(&fs, SDPath, 0); return FR_DISK_ERR; 802590c: 2301 movs r3, #1 802590e: e017 b.n 8025940 for(i = 0; i < 39; i++) 8025910: 6c7b ldr r3, [r7, #68] ; 0x44 8025912: 3301 adds r3, #1 8025914: 647b str r3, [r7, #68] ; 0x44 8025916: 6c7b ldr r3, [r7, #68] ; 0x44 8025918: 2b26 cmp r3, #38 ; 0x26 802591a: d996 bls.n 802584a } } } res = FR_OK; 802591c: 2300 movs r3, #0 802591e: f887 3043 strb.w r3, [r7, #67] ; 0x43 f_close(&F); 8025922: 480f ldr r0, [pc, #60] ; (8025960 ) 8025924: f0a1 f914 bl 80c6b50 if(res == FR_OK) 8025928: e008 b.n 802593c } else { //f_mount(&fs, SDPath, 0); return FR_DISK_ERR; 802592a: 2301 movs r3, #1 802592c: e008 b.n 8025940 } } else { f_close(&F); 802592e: 480c ldr r0, [pc, #48] ; (8025960 ) 8025930: f0a1 f90e bl 80c6b50 //f_mount(&fs, SDPath, 0); return FR_EXIST; 8025934: 2308 movs r3, #8 8025936: e003 b.n 8025940 } } } else { return FR_DISK_ERR; 8025938: 2301 movs r3, #1 802593a: e001 b.n 8025940 } //f_mount(&fs, SDPath, 0); return res; 802593c: f897 3043 ldrb.w r3, [r7, #67] ; 0x43 } 8025940: 4618 mov r0, r3 8025942: 3748 adds r7, #72 ; 0x48 8025944: 46bd mov sp, r7 8025946: bdb0 pop {r4, r5, r7, pc} 8025948: 2007c000 .word 0x2007c000 802594c: 20023e60 .word 0x20023e60 8025950: 080d0ddc .word 0x080d0ddc 8025954: 080ce4cc .word 0x080ce4cc 8025958: 64080000 .word 0x64080000 802595c: 080ce4c0 .word 0x080ce4c0 8025960: 20022e20 .word 0x20022e20 8025964: 20021cdc .word 0x20021cdc 8025968: 080d0e7c .word 0x080d0e7c 802596c: 080d0eb8 .word 0x080d0eb8 08025970 : FRESULT CreateFileFRN(char *fname) { 8025970: b590 push {r4, r7, lr} 8025972: b091 sub sp, #68 ; 0x44 8025974: af00 add r7, sp, #0 8025976: 6078 str r0, [r7, #4] UINT fk; uint32_t l; char fn[40]; FRESULT res = FR_OK; 8025978: 2300 movs r3, #0 802597a: f887 303f strb.w r3, [r7, #63] ; 0x3f //TimeDate_TypeDef TD; if(CardState != MSD_READY) { 802597e: 4bc9 ldr r3, [pc, #804] ; (8025ca4 ) 8025980: 781b ldrb r3, [r3, #0] 8025982: b2db uxtb r3, r3 8025984: 2b03 cmp r3, #3 8025986: d001 beq.n 802598c return FR_NOT_READY; 8025988: 2303 movs r3, #3 802598a: e1c0 b.n 8025d0e } strcpy(fn ,fname); 802598c: f107 030c add.w r3, r7, #12 8025990: 6879 ldr r1, [r7, #4] 8025992: 4618 mov r0, r3 8025994: f0a7 fc75 bl 80cd282 l = strlen(fn); 8025998: f107 030c add.w r3, r7, #12 802599c: 4618 mov r0, r3 802599e: f7fa fcb9 bl 8020314 80259a2: 63b8 str r0, [r7, #56] ; 0x38 if(fn[l - 4] == '.') 80259a4: 6bbb ldr r3, [r7, #56] ; 0x38 80259a6: 3b04 subs r3, #4 80259a8: f107 0240 add.w r2, r7, #64 ; 0x40 80259ac: 4413 add r3, r2 80259ae: f813 3c34 ldrb.w r3, [r3, #-52] 80259b2: 2b2e cmp r3, #46 ; 0x2e 80259b4: d169 bne.n 8025a8a { if((fn[l - 3] != 'F') && (fn[l - 3] != 'f')) fn[l - 3] = 'F'; 80259b6: 6bbb ldr r3, [r7, #56] ; 0x38 80259b8: 3b03 subs r3, #3 80259ba: f107 0240 add.w r2, r7, #64 ; 0x40 80259be: 4413 add r3, r2 80259c0: f813 3c34 ldrb.w r3, [r3, #-52] 80259c4: 2b46 cmp r3, #70 ; 0x46 80259c6: d011 beq.n 80259ec 80259c8: 6bbb ldr r3, [r7, #56] ; 0x38 80259ca: 3b03 subs r3, #3 80259cc: f107 0240 add.w r2, r7, #64 ; 0x40 80259d0: 4413 add r3, r2 80259d2: f813 3c34 ldrb.w r3, [r3, #-52] 80259d6: 2b66 cmp r3, #102 ; 0x66 80259d8: d008 beq.n 80259ec 80259da: 6bbb ldr r3, [r7, #56] ; 0x38 80259dc: 3b03 subs r3, #3 80259de: f107 0240 add.w r2, r7, #64 ; 0x40 80259e2: 4413 add r3, r2 80259e4: 2246 movs r2, #70 ; 0x46 80259e6: f803 2c34 strb.w r2, [r3, #-52] 80259ea: e007 b.n 80259fc else fn[l - 3] = 'F'; 80259ec: 6bbb ldr r3, [r7, #56] ; 0x38 80259ee: 3b03 subs r3, #3 80259f0: f107 0240 add.w r2, r7, #64 ; 0x40 80259f4: 4413 add r3, r2 80259f6: 2246 movs r2, #70 ; 0x46 80259f8: f803 2c34 strb.w r2, [r3, #-52] if((fn[l - 2] != 'R') && (fn[l - 3] != 'r')) fn[l - 3] = 'R'; 80259fc: 6bbb ldr r3, [r7, #56] ; 0x38 80259fe: 3b02 subs r3, #2 8025a00: f107 0240 add.w r2, r7, #64 ; 0x40 8025a04: 4413 add r3, r2 8025a06: f813 3c34 ldrb.w r3, [r3, #-52] 8025a0a: 2b52 cmp r3, #82 ; 0x52 8025a0c: d011 beq.n 8025a32 8025a0e: 6bbb ldr r3, [r7, #56] ; 0x38 8025a10: 3b03 subs r3, #3 8025a12: f107 0240 add.w r2, r7, #64 ; 0x40 8025a16: 4413 add r3, r2 8025a18: f813 3c34 ldrb.w r3, [r3, #-52] 8025a1c: 2b72 cmp r3, #114 ; 0x72 8025a1e: d008 beq.n 8025a32 8025a20: 6bbb ldr r3, [r7, #56] ; 0x38 8025a22: 3b03 subs r3, #3 8025a24: f107 0240 add.w r2, r7, #64 ; 0x40 8025a28: 4413 add r3, r2 8025a2a: 2252 movs r2, #82 ; 0x52 8025a2c: f803 2c34 strb.w r2, [r3, #-52] 8025a30: e007 b.n 8025a42 else fn[l - 3] = 'R'; 8025a32: 6bbb ldr r3, [r7, #56] ; 0x38 8025a34: 3b03 subs r3, #3 8025a36: f107 0240 add.w r2, r7, #64 ; 0x40 8025a3a: 4413 add r3, r2 8025a3c: 2252 movs r2, #82 ; 0x52 8025a3e: f803 2c34 strb.w r2, [r3, #-52] if((fn[l - 1] != 'N') && (fn[l - 3] != 'n')) fn[l - 3] = 'N'; 8025a42: 6bbb ldr r3, [r7, #56] ; 0x38 8025a44: 3b01 subs r3, #1 8025a46: f107 0240 add.w r2, r7, #64 ; 0x40 8025a4a: 4413 add r3, r2 8025a4c: f813 3c34 ldrb.w r3, [r3, #-52] 8025a50: 2b4e cmp r3, #78 ; 0x4e 8025a52: d011 beq.n 8025a78 8025a54: 6bbb ldr r3, [r7, #56] ; 0x38 8025a56: 3b03 subs r3, #3 8025a58: f107 0240 add.w r2, r7, #64 ; 0x40 8025a5c: 4413 add r3, r2 8025a5e: f813 3c34 ldrb.w r3, [r3, #-52] 8025a62: 2b6e cmp r3, #110 ; 0x6e 8025a64: d008 beq.n 8025a78 8025a66: 6bbb ldr r3, [r7, #56] ; 0x38 8025a68: 3b03 subs r3, #3 8025a6a: f107 0240 add.w r2, r7, #64 ; 0x40 8025a6e: 4413 add r3, r2 8025a70: 224e movs r2, #78 ; 0x4e 8025a72: f803 2c34 strb.w r2, [r3, #-52] 8025a76: e027 b.n 8025ac8 else fn[l - 3] = 'N'; 8025a78: 6bbb ldr r3, [r7, #56] ; 0x38 8025a7a: 3b03 subs r3, #3 8025a7c: f107 0240 add.w r2, r7, #64 ; 0x40 8025a80: 4413 add r3, r2 8025a82: 224e movs r2, #78 ; 0x4e 8025a84: f803 2c34 strb.w r2, [r3, #-52] 8025a88: e01e b.n 8025ac8 } else { if(l <= 36) 8025a8a: 6bbb ldr r3, [r7, #56] ; 0x38 8025a8c: 2b24 cmp r3, #36 ; 0x24 8025a8e: d80f bhi.n 8025ab0 strcat(fn, ".FRN"); 8025a90: f107 030c add.w r3, r7, #12 8025a94: 4618 mov r0, r3 8025a96: f7fa fc3d bl 8020314 8025a9a: 4603 mov r3, r0 8025a9c: 461a mov r2, r3 8025a9e: f107 030c add.w r3, r7, #12 8025aa2: 4413 add r3, r2 8025aa4: 4a80 ldr r2, [pc, #512] ; (8025ca8 ) 8025aa6: 6810 ldr r0, [r2, #0] 8025aa8: 6018 str r0, [r3, #0] 8025aaa: 7912 ldrb r2, [r2, #4] 8025aac: 711a strb r2, [r3, #4] 8025aae: e00b b.n 8025ac8 else { fn[36] = '.'; 8025ab0: 232e movs r3, #46 ; 0x2e 8025ab2: f887 3030 strb.w r3, [r7, #48] ; 0x30 fn[37] = 'F'; 8025ab6: 2346 movs r3, #70 ; 0x46 8025ab8: f887 3031 strb.w r3, [r7, #49] ; 0x31 fn[38] = 'R'; 8025abc: 2352 movs r3, #82 ; 0x52 8025abe: f887 3032 strb.w r3, [r7, #50] ; 0x32 fn[39] = 'N'; 8025ac2: 234e movs r3, #78 ; 0x4e 8025ac4: f887 3033 strb.w r3, [r7, #51] ; 0x33 } } //res = f_mount(&fs, SDPath, 1); if(res == FR_OK) 8025ac8: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 8025acc: 2b00 cmp r3, #0 8025ace: f040 811a bne.w 8025d06 { memset(PointPath, 0, sizeof(PointPath)); 8025ad2: f44f 7200 mov.w r2, #512 ; 0x200 8025ad6: 2100 movs r1, #0 8025ad8: 4874 ldr r0, [pc, #464] ; (8025cac ) 8025ada: f0a7 fab5 bl 80cd048 strcpy(PointPath, "0:Data files"); 8025ade: 4a73 ldr r2, [pc, #460] ; (8025cac ) 8025ae0: 4b73 ldr r3, [pc, #460] ; (8025cb0 ) 8025ae2: 4614 mov r4, r2 8025ae4: cb07 ldmia r3!, {r0, r1, r2} 8025ae6: 6020 str r0, [r4, #0] 8025ae8: 6061 str r1, [r4, #4] 8025aea: 60a2 str r2, [r4, #8] 8025aec: 781b ldrb r3, [r3, #0] 8025aee: 7323 strb r3, [r4, #12] res = f_opendir(&dir, PointPath); 8025af0: 496e ldr r1, [pc, #440] ; (8025cac ) 8025af2: 4870 ldr r0, [pc, #448] ; (8025cb4 ) 8025af4: f0a1 fad5 bl 80c70a2 8025af8: 4603 mov r3, r0 8025afa: f887 303f strb.w r3, [r7, #63] ; 0x3f if(res != FR_OK) { 8025afe: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 8025b02: 2b00 cmp r3, #0 8025b04: d005 beq.n 8025b12 res = f_mkdir(PointPath); 8025b06: 4869 ldr r0, [pc, #420] ; (8025cac ) 8025b08: f0a1 fd86 bl 80c7618 8025b0c: 4603 mov r3, r0 8025b0e: f887 303f strb.w r3, [r7, #63] ; 0x3f } if(res == FR_OK) 8025b12: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 8025b16: 2b00 cmp r3, #0 8025b18: f040 80f7 bne.w 8025d0a { strcat(PointPath, "/"); 8025b1c: 4863 ldr r0, [pc, #396] ; (8025cac ) 8025b1e: f7fa fbf9 bl 8020314 8025b22: 4603 mov r3, r0 8025b24: 461a mov r2, r3 8025b26: 4b61 ldr r3, [pc, #388] ; (8025cac ) 8025b28: 4413 add r3, r2 8025b2a: 4963 ldr r1, [pc, #396] ; (8025cb8 ) 8025b2c: 461a mov r2, r3 8025b2e: 460b mov r3, r1 8025b30: 881b ldrh r3, [r3, #0] 8025b32: 8013 strh r3, [r2, #0] strcat(PointPath, fname); 8025b34: 6879 ldr r1, [r7, #4] 8025b36: 485d ldr r0, [pc, #372] ; (8025cac ) 8025b38: f0a7 fb86 bl 80cd248 res = f_open(&F, PointPath, FA_READ); 8025b3c: 2201 movs r2, #1 8025b3e: 495b ldr r1, [pc, #364] ; (8025cac ) 8025b40: 485e ldr r0, [pc, #376] ; (8025cbc ) 8025b42: f0a0 f9c1 bl 80c5ec8 8025b46: 4603 mov r3, r0 8025b48: f887 303f strb.w r3, [r7, #63] ; 0x3f if((res == FR_NO_FILE) || (res == FR_NO_PATH)) 8025b4c: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 8025b50: 2b04 cmp r3, #4 8025b52: d004 beq.n 8025b5e 8025b54: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 8025b58: 2b05 cmp r3, #5 8025b5a: f040 80cf bne.w 8025cfc { res = f_open(&F, PointPath, FA_CREATE_ALWAYS | FA_OPEN_ALWAYS | FA_WRITE | FA_READ); 8025b5e: 221b movs r2, #27 8025b60: 4952 ldr r1, [pc, #328] ; (8025cac ) 8025b62: 4856 ldr r0, [pc, #344] ; (8025cbc ) 8025b64: f0a0 f9b0 bl 80c5ec8 8025b68: 4603 mov r3, r0 8025b6a: f887 303f strb.w r3, [r7, #63] ; 0x3f if(res == FR_OK) 8025b6e: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 8025b72: 2b00 cmp r3, #0 8025b74: f040 80c0 bne.w 8025cf8 { f_sync(&F); 8025b78: 4850 ldr r0, [pc, #320] ; (8025cbc ) 8025b7a: f0a0 fee5 bl 80c6948 memset(sector, 0, sizeof(sector)); 8025b7e: f44f 7200 mov.w r2, #512 ; 0x200 8025b82: 2100 movs r1, #0 8025b84: 484e ldr r0, [pc, #312] ; (8025cc0 ) 8025b86: f0a7 fa5f bl 80cd048 memcpy(sector, (uint8_t *) &pardata, sizeof(pardata)); //pardata length is 148 bytes 8025b8a: 4a4d ldr r2, [pc, #308] ; (8025cc0 ) 8025b8c: 4b4d ldr r3, [pc, #308] ; (8025cc4 ) 8025b8e: 4610 mov r0, r2 8025b90: 4619 mov r1, r3 8025b92: f44f 6396 mov.w r3, #1200 ; 0x4b0 8025b96: 461a mov r2, r3 8025b98: f0a7 fa4b bl 80cd032 res = f_write(&F, sector, 512, &fk); 8025b9c: f107 0334 add.w r3, r7, #52 ; 0x34 8025ba0: f44f 7200 mov.w r2, #512 ; 0x200 8025ba4: 4946 ldr r1, [pc, #280] ; (8025cc0 ) 8025ba6: 4845 ldr r0, [pc, #276] ; (8025cbc ) 8025ba8: f0a0 fd2e bl 80c6608 8025bac: 4603 mov r3, r0 8025bae: f887 303f strb.w r3, [r7, #63] ; 0x3f if(res == FR_OK) 8025bb2: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 8025bb6: 2b00 cmp r3, #0 8025bb8: f040 8099 bne.w 8025cee { arm_fill_f32(0.0f, (float32_t *) SD_Buff, 8192); 8025bbc: f44f 5100 mov.w r1, #8192 ; 0x2000 8025bc0: 4841 ldr r0, [pc, #260] ; (8025cc8 ) 8025bc2: ed9f 0a42 vldr s0, [pc, #264] ; 8025ccc 8025bc6: f0a4 f89d bl 80c9d04 arm_copy_f32(pA_Buff_f32, (float32_t *) SD_Buff, Ns); 8025bca: 4b41 ldr r3, [pc, #260] ; (8025cd0 ) 8025bcc: 681b ldr r3, [r3, #0] 8025bce: 461a mov r2, r3 8025bd0: 493d ldr r1, [pc, #244] ; (8025cc8 ) 8025bd2: 4840 ldr r0, [pc, #256] ; (8025cd4 ) 8025bd4: f0a4 f8b4 bl 80c9d40 l = Ns; 8025bd8: 4b3d ldr r3, [pc, #244] ; (8025cd0 ) 8025bda: 681b ldr r3, [r3, #0] 8025bdc: 63bb str r3, [r7, #56] ; 0x38 l <<= 2; 8025bde: 6bbb ldr r3, [r7, #56] ; 0x38 8025be0: 009b lsls r3, r3, #2 8025be2: 63bb str r3, [r7, #56] ; 0x38 res = f_write(&F, (void *) &SD_Buff[0].fl, (UINT) l, &fk); 8025be4: f107 0334 add.w r3, r7, #52 ; 0x34 8025be8: 6bba ldr r2, [r7, #56] ; 0x38 8025bea: 4937 ldr r1, [pc, #220] ; (8025cc8 ) 8025bec: 4833 ldr r0, [pc, #204] ; (8025cbc ) 8025bee: f0a0 fd0b bl 80c6608 8025bf2: 4603 mov r3, r0 8025bf4: f887 303f strb.w r3, [r7, #63] ; 0x3f if(res == FR_OK) 8025bf8: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 8025bfc: 2b00 cmp r3, #0 8025bfe: d171 bne.n 8025ce4 { arm_copy_f32(pV_Buff_f32, (float32_t *) SD_Buff, Ns); 8025c00: 4b33 ldr r3, [pc, #204] ; (8025cd0 ) 8025c02: 681b ldr r3, [r3, #0] 8025c04: 461a mov r2, r3 8025c06: 4930 ldr r1, [pc, #192] ; (8025cc8 ) 8025c08: 4833 ldr r0, [pc, #204] ; (8025cd8 ) 8025c0a: f0a4 f899 bl 80c9d40 res = f_write(&F, (void *) &SD_Buff[0].fl, (UINT) l, &fk); 8025c0e: f107 0334 add.w r3, r7, #52 ; 0x34 8025c12: 6bba ldr r2, [r7, #56] ; 0x38 8025c14: 492c ldr r1, [pc, #176] ; (8025cc8 ) 8025c16: 4829 ldr r0, [pc, #164] ; (8025cbc ) 8025c18: f0a0 fcf6 bl 80c6608 8025c1c: 4603 mov r3, r0 8025c1e: f887 303f strb.w r3, [r7, #63] ; 0x3f if(res == FR_OK) 8025c22: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 8025c26: 2b00 cmp r3, #0 8025c28: d136 bne.n 8025c98 { arm_copy_f32(pS_Buff_f32, (float32_t *) SD_Buff, Ns); 8025c2a: 4b29 ldr r3, [pc, #164] ; (8025cd0 ) 8025c2c: 681b ldr r3, [r3, #0] 8025c2e: 461a mov r2, r3 8025c30: 4925 ldr r1, [pc, #148] ; (8025cc8 ) 8025c32: 482a ldr r0, [pc, #168] ; (8025cdc ) 8025c34: f0a4 f884 bl 80c9d40 res = f_write(&F, (void *) &SD_Buff[0].fl, (UINT) l, &fk); 8025c38: f107 0334 add.w r3, r7, #52 ; 0x34 8025c3c: 6bba ldr r2, [r7, #56] ; 0x38 8025c3e: 4922 ldr r1, [pc, #136] ; (8025cc8 ) 8025c40: 481e ldr r0, [pc, #120] ; (8025cbc ) 8025c42: f0a0 fce1 bl 80c6608 8025c46: 4603 mov r3, r0 8025c48: f887 303f strb.w r3, [r7, #63] ; 0x3f if(res == FR_OK) 8025c4c: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 8025c50: 2b00 cmp r3, #0 8025c52: d11c bne.n 8025c8e { arm_copy_f32(skz, (float32_t *) SD_Buff, 3); 8025c54: 2203 movs r2, #3 8025c56: 491c ldr r1, [pc, #112] ; (8025cc8 ) 8025c58: 4821 ldr r0, [pc, #132] ; (8025ce0 ) 8025c5a: f0a4 f871 bl 80c9d40 res = f_write(&F, (void *) &SD_Buff[0].fl, 12, &fk); 8025c5e: f107 0334 add.w r3, r7, #52 ; 0x34 8025c62: 220c movs r2, #12 8025c64: 4918 ldr r1, [pc, #96] ; (8025cc8 ) 8025c66: 4815 ldr r0, [pc, #84] ; (8025cbc ) 8025c68: f0a0 fcce bl 80c6608 8025c6c: 4603 mov r3, r0 8025c6e: f887 303f strb.w r3, [r7, #63] ; 0x3f if(res == FR_OK) 8025c72: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 8025c76: 2b00 cmp r3, #0 8025c78: d104 bne.n 8025c84 { f_close(&F); 8025c7a: 4810 ldr r0, [pc, #64] ; (8025cbc ) 8025c7c: f0a0 ff68 bl 80c6b50 //f_mount(&fs, SDPath, 0); return FR_OK; 8025c80: 2300 movs r3, #0 8025c82: e044 b.n 8025d0e } else { f_close(&F); 8025c84: 480d ldr r0, [pc, #52] ; (8025cbc ) 8025c86: f0a0 ff63 bl 80c6b50 //f_mount(&fs, SDPath, 0); return FR_DISK_ERR; 8025c8a: 2301 movs r3, #1 8025c8c: e03f b.n 8025d0e } } else { f_close(&F); 8025c8e: 480b ldr r0, [pc, #44] ; (8025cbc ) 8025c90: f0a0 ff5e bl 80c6b50 //f_mount(&fs, SDPath, 0); return FR_DISK_ERR; 8025c94: 2301 movs r3, #1 8025c96: e03a b.n 8025d0e } } else { f_close(&F); 8025c98: 4808 ldr r0, [pc, #32] ; (8025cbc ) 8025c9a: f0a0 ff59 bl 80c6b50 //f_mount(&fs, SDPath, 0); return FR_DISK_ERR; 8025c9e: 2301 movs r3, #1 8025ca0: e035 b.n 8025d0e 8025ca2: bf00 nop 8025ca4: 2002164c .word 0x2002164c 8025ca8: 080ce4d0 .word 0x080ce4d0 8025cac: 200229b4 .word 0x200229b4 8025cb0: 080ce4d8 .word 0x080ce4d8 8025cb4: 20022918 .word 0x20022918 8025cb8: 080ce484 .word 0x080ce484 8025cbc: 20022e20 .word 0x20022e20 8025cc0: 2007c000 .word 0x2007c000 8025cc4: 20023e60 .word 0x20023e60 8025cc8: 20000000 .word 0x20000000 8025ccc: 00000000 .word 0x00000000 8025cd0: 20021cdc .word 0x20021cdc 8025cd4: 64090000 .word 0x64090000 8025cd8: 64094000 .word 0x64094000 8025cdc: 64098000 .word 0x64098000 8025ce0: 20021540 .word 0x20021540 } } else { f_close(&F); 8025ce4: 480c ldr r0, [pc, #48] ; (8025d18 ) 8025ce6: f0a0 ff33 bl 80c6b50 //f_mount(&fs, SDPath, 0); return FR_DISK_ERR; 8025cea: 2301 movs r3, #1 8025cec: e00f b.n 8025d0e } } else { f_close(&F); 8025cee: 480a ldr r0, [pc, #40] ; (8025d18 ) 8025cf0: f0a0 ff2e bl 80c6b50 //f_mount(&fs, SDPath, 0); return FR_DISK_ERR; 8025cf4: 2301 movs r3, #1 8025cf6: e00a b.n 8025d0e } } else { //f_mount(&fs, SDPath, 0); return FR_DISK_ERR; 8025cf8: 2301 movs r3, #1 8025cfa: e008 b.n 8025d0e } } else { f_close(&F); 8025cfc: 4806 ldr r0, [pc, #24] ; (8025d18 ) 8025cfe: f0a0 ff27 bl 80c6b50 //f_mount(&fs, SDPath, 0); return FR_EXIST; 8025d02: 2308 movs r3, #8 8025d04: e003 b.n 8025d0e } } } else { return FR_DISK_ERR; 8025d06: 2301 movs r3, #1 8025d08: e001 b.n 8025d0e } //f_mount(&fs, SDPath, 0); return res; 8025d0a: f897 303f ldrb.w r3, [r7, #63] ; 0x3f } 8025d0e: 4618 mov r0, r3 8025d10: 3744 adds r7, #68 ; 0x44 8025d12: 46bd mov sp, r7 8025d14: bd90 pop {r4, r7, pc} 8025d16: bf00 nop 8025d18: 20022e20 .word 0x20022e20 08025d1c : FRESULT GetPointAndIndexDGN(char *fname) //TODO { 8025d1c: b5f0 push {r4, r5, r6, r7, lr} 8025d1e: b08b sub sp, #44 ; 0x2c 8025d20: af00 add r7, sp, #0 8025d22: 6078 str r0, [r7, #4] FRESULT res = FR_OK; 8025d24: 2300 movs r3, #0 8025d26: f887 3027 strb.w r3, [r7, #39] ; 0x27 uint32_t im, i; uint16_t IM = 0, IP = 0, ii; 8025d2a: 2300 movs r3, #0 8025d2c: 81fb strh r3, [r7, #14] 8025d2e: 2300 movs r3, #0 8025d30: 837b strh r3, [r7, #26] UINT fk; FSIZE_t ifs; memset(Comment, 0, sizeof(Comment)); 8025d32: 2228 movs r2, #40 ; 0x28 8025d34: 2100 movs r1, #0 8025d36: 48a3 ldr r0, [pc, #652] ; (8025fc4 ) 8025d38: f0a7 f986 bl 80cd048 NextIndexPoint = 0; 8025d3c: 4ba2 ldr r3, [pc, #648] ; (8025fc8 ) 8025d3e: 2200 movs r2, #0 8025d40: 601a str r2, [r3, #0] NextIndexMeas = 1; 8025d42: 4ba2 ldr r3, [pc, #648] ; (8025fcc ) 8025d44: 2201 movs r2, #1 8025d46: 601a str r2, [r3, #0] MaxIndexMeas = 1; 8025d48: 4ba1 ldr r3, [pc, #644] ; (8025fd0 ) 8025d4a: 2201 movs r2, #1 8025d4c: 601a str r2, [r3, #0] for(i = 0; i < NUM_POINTS; i++) { 8025d4e: 2300 movs r3, #0 8025d50: 61fb str r3, [r7, #28] 8025d52: e007 b.n 8025d64 IndexMeas[i] = 1; 8025d54: 4a9f ldr r2, [pc, #636] ; (8025fd4 ) 8025d56: 69fb ldr r3, [r7, #28] 8025d58: 2101 movs r1, #1 8025d5a: f842 1023 str.w r1, [r2, r3, lsl #2] for(i = 0; i < NUM_POINTS; i++) { 8025d5e: 69fb ldr r3, [r7, #28] 8025d60: 3301 adds r3, #1 8025d62: 61fb str r3, [r7, #28] 8025d64: 69fb ldr r3, [r7, #28] 8025d66: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 8025d6a: d3f3 bcc.n 8025d54 } if(CardState != MSD_READY) { 8025d6c: 4b9a ldr r3, [pc, #616] ; (8025fd8 ) 8025d6e: 781b ldrb r3, [r3, #0] 8025d70: b2db uxtb r3, r3 8025d72: 2b03 cmp r3, #3 8025d74: d001 beq.n 8025d7a return FR_NOT_READY; 8025d76: 2303 movs r3, #3 8025d78: e34e b.n 8026418 } if(fname[0] == '\0') { 8025d7a: 687b ldr r3, [r7, #4] 8025d7c: 781b ldrb r3, [r3, #0] 8025d7e: 2b00 cmp r3, #0 8025d80: d101 bne.n 8025d86 return FR_NO_FILE; 8025d82: 2304 movs r3, #4 8025d84: e348 b.n 8026418 } if(res == FR_OK) 8025d86: f897 3027 ldrb.w r3, [r7, #39] ; 0x27 8025d8a: 2b00 cmp r3, #0 8025d8c: f040 833c bne.w 8026408 { memset(FileName, 0, sizeof(FileName)); 8025d90: 2228 movs r2, #40 ; 0x28 8025d92: 2100 movs r1, #0 8025d94: 4891 ldr r0, [pc, #580] ; (8025fdc ) 8025d96: f0a7 f957 bl 80cd048 strcpy(FileName, fname); 8025d9a: 6879 ldr r1, [r7, #4] 8025d9c: 488f ldr r0, [pc, #572] ; (8025fdc ) 8025d9e: f0a7 fa70 bl 80cd282 memset(PointPath, 0, sizeof(PointPath)); 8025da2: f44f 7200 mov.w r2, #512 ; 0x200 8025da6: 2100 movs r1, #0 8025da8: 488d ldr r0, [pc, #564] ; (8025fe0 ) 8025daa: f0a7 f94d bl 80cd048 memset(SearchPath, 0, sizeof(SearchPath)); 8025dae: f44f 7200 mov.w r2, #512 ; 0x200 8025db2: 2100 movs r1, #0 8025db4: 488b ldr r0, [pc, #556] ; (8025fe4 ) 8025db6: f0a7 f947 bl 80cd048 SearchPath[0] = '0'; 8025dba: 4b8a ldr r3, [pc, #552] ; (8025fe4 ) 8025dbc: 2230 movs r2, #48 ; 0x30 8025dbe: 701a strb r2, [r3, #0] SearchPath[1] = ':'; 8025dc0: 4b88 ldr r3, [pc, #544] ; (8025fe4 ) 8025dc2: 223a movs r2, #58 ; 0x3a 8025dc4: 705a strb r2, [r3, #1] ScanMode = GET_PATH_TO_FILE; 8025dc6: 4b88 ldr r3, [pc, #544] ; (8025fe8 ) 8025dc8: 2209 movs r2, #9 8025dca: 701a strb r2, [r3, #0] FlagReturn = false; 8025dcc: 4b87 ldr r3, [pc, #540] ; (8025fec ) 8025dce: 2200 movs r2, #0 8025dd0: 701a strb r2, [r3, #0] ScanFiles(SearchPath, 0); 8025dd2: 2100 movs r1, #0 8025dd4: 4883 ldr r0, [pc, #524] ; (8025fe4 ) 8025dd6: f005 fd69 bl 802b8ac if(PointPath[0] == 0) 8025dda: 4b81 ldr r3, [pc, #516] ; (8025fe0 ) 8025ddc: 781b ldrb r3, [r3, #0] 8025dde: 2b00 cmp r3, #0 8025de0: d103 bne.n 8025dea { res = FR_NO_FILE; 8025de2: 2304 movs r3, #4 8025de4: f887 3027 strb.w r3, [r7, #39] ; 0x27 8025de8: e314 b.n 8026414 } else { res = f_open(&F, PointPath, FA_READ); 8025dea: 2201 movs r2, #1 8025dec: 497c ldr r1, [pc, #496] ; (8025fe0 ) 8025dee: 4880 ldr r0, [pc, #512] ; (8025ff0 ) 8025df0: f0a0 f86a bl 80c5ec8 8025df4: 4603 mov r3, r0 8025df6: f887 3027 strb.w r3, [r7, #39] ; 0x27 if(res == FR_OK) 8025dfa: f897 3027 ldrb.w r3, [r7, #39] ; 0x27 8025dfe: 2b00 cmp r3, #0 8025e00: f040 8308 bne.w 8026414 { /////////////////////////////////////////////////////////////////////////////// res = f_lseek(&F, 0); 8025e04: f04f 0200 mov.w r2, #0 8025e08: f04f 0300 mov.w r3, #0 8025e0c: 4878 ldr r0, [pc, #480] ; (8025ff0 ) 8025e0e: f0a0 febf bl 80c6b90 8025e12: 4603 mov r3, r0 8025e14: f887 3027 strb.w r3, [r7, #39] ; 0x27 if(res == FR_OK) 8025e18: f897 3027 ldrb.w r3, [r7, #39] ; 0x27 8025e1c: 2b00 cmp r3, #0 8025e1e: d127 bne.n 8025e70 { res = f_read(&F, sector, 6, &fk); 8025e20: f107 0308 add.w r3, r7, #8 8025e24: 2206 movs r2, #6 8025e26: 4973 ldr r1, [pc, #460] ; (8025ff4 ) 8025e28: 4871 ldr r0, [pc, #452] ; (8025ff0 ) 8025e2a: f0a0 faaa bl 80c6382 8025e2e: 4603 mov r3, r0 8025e30: f887 3027 strb.w r3, [r7, #39] ; 0x27 if((res == FR_OK) && (fk == 6)) 8025e34: f897 3027 ldrb.w r3, [r7, #39] ; 0x27 8025e38: 2b00 cmp r3, #0 8025e3a: d114 bne.n 8025e66 8025e3c: 68bb ldr r3, [r7, #8] 8025e3e: 2b06 cmp r3, #6 8025e40: d111 bne.n 8025e66 { sector[6] = '\0'; 8025e42: 4b6c ldr r3, [pc, #432] ; (8025ff4 ) 8025e44: 2200 movs r2, #0 8025e46: 719a strb r2, [r3, #6] if(!strcmp((char *) sector, "Extend")) 8025e48: 496b ldr r1, [pc, #428] ; (8025ff8 ) 8025e4a: 486a ldr r0, [pc, #424] ; (8025ff4 ) 8025e4c: f7fa fa58 bl 8020300 8025e50: 4603 mov r3, r0 8025e52: 2b00 cmp r3, #0 8025e54: d103 bne.n 8025e5e NEWFILE = true; 8025e56: 4b69 ldr r3, [pc, #420] ; (8025ffc ) 8025e58: 2201 movs r2, #1 8025e5a: 701a strb r2, [r3, #0] if(!strcmp((char *) sector, "Extend")) 8025e5c: e00d b.n 8025e7a else NEWFILE = false; 8025e5e: 4b67 ldr r3, [pc, #412] ; (8025ffc ) 8025e60: 2200 movs r2, #0 8025e62: 701a strb r2, [r3, #0] if(!strcmp((char *) sector, "Extend")) 8025e64: e009 b.n 8025e7a } else { f_close(&F); 8025e66: 4862 ldr r0, [pc, #392] ; (8025ff0 ) 8025e68: f0a0 fe72 bl 80c6b50 return FR_DISK_ERR; 8025e6c: 2301 movs r3, #1 8025e6e: e2d3 b.n 8026418 } } else { f_close(&F); 8025e70: 485f ldr r0, [pc, #380] ; (8025ff0 ) 8025e72: f0a0 fe6d bl 80c6b50 return FR_DISK_ERR; 8025e76: 2301 movs r3, #1 8025e78: e2ce b.n 8026418 } /////////////////////////////////////////////////////////////////////////////// memset(sector, 0xff, sizeof(sector)); 8025e7a: f44f 7200 mov.w r2, #512 ; 0x200 8025e7e: 21ff movs r1, #255 ; 0xff 8025e80: 485c ldr r0, [pc, #368] ; (8025ff4 ) 8025e82: f0a7 f8e1 bl 80cd048 if(NEWFILE) 8025e86: 4b5d ldr r3, [pc, #372] ; (8025ffc ) 8025e88: 781b ldrb r3, [r3, #0] 8025e8a: b2db uxtb r3, r3 8025e8c: 2b00 cmp r3, #0 8025e8e: f000 818e beq.w 80261ae { if(f_size(&F) > 40096u) 8025e92: 4b57 ldr r3, [pc, #348] ; (8025ff0 ) 8025e94: e9d3 3404 ldrd r3, r4, [r3, #16] 8025e98: f649 41a0 movw r1, #40096 ; 0x9ca0 8025e9c: f04f 0200 mov.w r2, #0 8025ea0: 42a2 cmp r2, r4 8025ea2: bf08 it eq 8025ea4: 4299 cmpeq r1, r3 8025ea6: f080 8177 bcs.w 8026198 { for(ii = 0; ii < NUM_POINTS; ii++) 8025eaa: 2300 movs r3, #0 8025eac: 833b strh r3, [r7, #24] 8025eae: e0f9 b.n 80260a4 { ifs = 40096u; 8025eb0: f649 43a0 movw r3, #40096 ; 0x9ca0 8025eb4: f04f 0400 mov.w r4, #0 8025eb8: e9c7 3404 strd r3, r4, [r7, #16] im = 0; 8025ebc: 2300 movs r3, #0 8025ebe: 623b str r3, [r7, #32] while(ifs < f_size(&F)) 8025ec0: e0e3 b.n 802608a { res = f_lseek(&F, ifs); 8025ec2: e9d7 2304 ldrd r2, r3, [r7, #16] 8025ec6: 484a ldr r0, [pc, #296] ; (8025ff0 ) 8025ec8: f0a0 fe62 bl 80c6b90 8025ecc: 4603 mov r3, r0 8025ece: f887 3027 strb.w r3, [r7, #39] ; 0x27 if(res == FR_OK) 8025ed2: f897 3027 ldrb.w r3, [r7, #39] ; 0x27 8025ed6: 2b00 cmp r3, #0 8025ed8: f040 80b3 bne.w 8026042 { res = f_read(&F, sector, 33, &fk); 8025edc: f107 0308 add.w r3, r7, #8 8025ee0: 2221 movs r2, #33 ; 0x21 8025ee2: 4944 ldr r1, [pc, #272] ; (8025ff4 ) 8025ee4: 4842 ldr r0, [pc, #264] ; (8025ff0 ) 8025ee6: f0a0 fa4c bl 80c6382 8025eea: 4603 mov r3, r0 8025eec: f887 3027 strb.w r3, [r7, #39] ; 0x27 if((res == FR_OK) && (fk == 33)) 8025ef0: f897 3027 ldrb.w r3, [r7, #39] ; 0x27 8025ef4: 2b00 cmp r3, #0 8025ef6: d161 bne.n 8025fbc 8025ef8: 68bb ldr r3, [r7, #8] 8025efa: 2b21 cmp r3, #33 ; 0x21 8025efc: d15e bne.n 8025fbc { if((sector[d_13] == 0xD) && (sector[d_10] == 0xA)) 8025efe: 4b3d ldr r3, [pc, #244] ; (8025ff4 ) 8025f00: 7fdb ldrb r3, [r3, #31] 8025f02: 2b0d cmp r3, #13 8025f04: d12d bne.n 8025f62 8025f06: 4b3b ldr r3, [pc, #236] ; (8025ff4 ) 8025f08: f893 3020 ldrb.w r3, [r3, #32] 8025f0c: 2b0a cmp r3, #10 8025f0e: d128 bne.n 8025f62 { IM = sector[d_Meas + 1]; 8025f10: 4b38 ldr r3, [pc, #224] ; (8025ff4 ) 8025f12: 78db ldrb r3, [r3, #3] 8025f14: 81fb strh r3, [r7, #14] IM = (IM << 8) | sector[d_Meas]; 8025f16: 89fb ldrh r3, [r7, #14] 8025f18: 021b lsls r3, r3, #8 8025f1a: b21a sxth r2, r3 8025f1c: 4b35 ldr r3, [pc, #212] ; (8025ff4 ) 8025f1e: 789b ldrb r3, [r3, #2] 8025f20: b21b sxth r3, r3 8025f22: 4313 orrs r3, r2 8025f24: b21b sxth r3, r3 8025f26: 81fb strh r3, [r7, #14] IP = sector[d_Point + 1]; 8025f28: 4b32 ldr r3, [pc, #200] ; (8025ff4 ) 8025f2a: 785b ldrb r3, [r3, #1] 8025f2c: 837b strh r3, [r7, #26] IP = (IP << 8) | sector[d_Point]; 8025f2e: 8b7b ldrh r3, [r7, #26] 8025f30: 021b lsls r3, r3, #8 8025f32: b21a sxth r2, r3 8025f34: 4b2f ldr r3, [pc, #188] ; (8025ff4 ) 8025f36: 781b ldrb r3, [r3, #0] 8025f38: b21b sxth r3, r3 8025f3a: 4313 orrs r3, r2 8025f3c: b21b sxth r3, r3 8025f3e: 837b strh r3, [r7, #26] if((IP == ii) && (IM > im) && (IM < 65536)) 8025f40: 8b7a ldrh r2, [r7, #26] 8025f42: 8b3b ldrh r3, [r7, #24] 8025f44: 429a cmp r2, r3 8025f46: d130 bne.n 8025faa 8025f48: 89fa ldrh r2, [r7, #14] 8025f4a: 6a3b ldr r3, [r7, #32] 8025f4c: 429a cmp r2, r3 8025f4e: d92c bls.n 8025faa { im = IM; 8025f50: 89fb ldrh r3, [r7, #14] 8025f52: 623b str r3, [r7, #32] IndexMeas[ii] = (im + 1); 8025f54: 8b3b ldrh r3, [r7, #24] 8025f56: 6a3a ldr r2, [r7, #32] 8025f58: 3201 adds r2, #1 8025f5a: 491e ldr r1, [pc, #120] ; (8025fd4 ) 8025f5c: f841 2023 str.w r2, [r1, r3, lsl #2] if((IP == ii) && (IM > im) && (IM < 65536)) 8025f60: e023 b.n 8025faa } } else { for(i = 0; i < NUM_POINTS; i++) 8025f62: 2300 movs r3, #0 8025f64: 61fb str r3, [r7, #28] 8025f66: e010 b.n 8025f8a { if(IndexMeas[i] > MaxIndexMeas) 8025f68: 4a1a ldr r2, [pc, #104] ; (8025fd4 ) 8025f6a: 69fb ldr r3, [r7, #28] 8025f6c: f852 2023 ldr.w r2, [r2, r3, lsl #2] 8025f70: 4b17 ldr r3, [pc, #92] ; (8025fd0 ) 8025f72: 681b ldr r3, [r3, #0] 8025f74: 429a cmp r2, r3 8025f76: d905 bls.n 8025f84 MaxIndexMeas = IndexMeas[i]; 8025f78: 4a16 ldr r2, [pc, #88] ; (8025fd4 ) 8025f7a: 69fb ldr r3, [r7, #28] 8025f7c: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8025f80: 4a13 ldr r2, [pc, #76] ; (8025fd0 ) 8025f82: 6013 str r3, [r2, #0] for(i = 0; i < NUM_POINTS; i++) 8025f84: 69fb ldr r3, [r7, #28] 8025f86: 3301 adds r3, #1 8025f88: 61fb str r3, [r7, #28] 8025f8a: 69fb ldr r3, [r7, #28] 8025f8c: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 8025f90: d3ea bcc.n 8025f68 } NextIndexPoint = IP; 8025f92: 8b7b ldrh r3, [r7, #26] 8025f94: 4a0c ldr r2, [pc, #48] ; (8025fc8 ) 8025f96: 6013 str r3, [r2, #0] NextIndexMeas = MaxIndexMeas; 8025f98: 4b0d ldr r3, [pc, #52] ; (8025fd0 ) 8025f9a: 681b ldr r3, [r3, #0] 8025f9c: 4a0b ldr r2, [pc, #44] ; (8025fcc ) 8025f9e: 6013 str r3, [r2, #0] f_close(&F); 8025fa0: 4813 ldr r0, [pc, #76] ; (8025ff0 ) 8025fa2: f0a0 fdd5 bl 80c6b50 return FR_INVALID_OBJECT; 8025fa6: 2309 movs r3, #9 8025fa8: e236 b.n 8026418 if((IP == ii) && (IM > im) && (IM < 65536)) 8025faa: bf00 nop } ifs += 33; 8025fac: e9d7 3404 ldrd r3, r4, [r7, #16] 8025fb0: 3321 adds r3, #33 ; 0x21 8025fb2: f144 0400 adc.w r4, r4, #0 8025fb6: e9c7 3404 strd r3, r4, [r7, #16] 8025fba: e066 b.n 802608a } else { for(i = 0; i < NUM_POINTS; i++) 8025fbc: 2300 movs r3, #0 8025fbe: 61fb str r3, [r7, #28] 8025fc0: e02f b.n 8026022 8025fc2: bf00 nop 8025fc4: 20022650 .word 0x20022650 8025fc8: 20021f9c .word 0x20021f9c 8025fcc: 20022310 .word 0x20022310 8025fd0: 20022980 .word 0x20022980 8025fd4: 20022ea0 .word 0x20022ea0 8025fd8: 2002164c .word 0x2002164c 8025fdc: 20022bb8 .word 0x20022bb8 8025fe0: 200229b4 .word 0x200229b4 8025fe4: 20021d80 .word 0x20021d80 8025fe8: 20020ddf .word 0x20020ddf 8025fec: 20020dde .word 0x20020dde 8025ff0: 20022e20 .word 0x20022e20 8025ff4: 2007c000 .word 0x2007c000 8025ff8: 080ce494 .word 0x080ce494 8025ffc: 20020e14 .word 0x20020e14 { if(IndexMeas[i] > MaxIndexMeas) 8026000: 4a9d ldr r2, [pc, #628] ; (8026278 ) 8026002: 69fb ldr r3, [r7, #28] 8026004: f852 2023 ldr.w r2, [r2, r3, lsl #2] 8026008: 4b9c ldr r3, [pc, #624] ; (802627c ) 802600a: 681b ldr r3, [r3, #0] 802600c: 429a cmp r2, r3 802600e: d905 bls.n 802601c MaxIndexMeas = IndexMeas[i]; 8026010: 4a99 ldr r2, [pc, #612] ; (8026278 ) 8026012: 69fb ldr r3, [r7, #28] 8026014: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8026018: 4a98 ldr r2, [pc, #608] ; (802627c ) 802601a: 6013 str r3, [r2, #0] for(i = 0; i < NUM_POINTS; i++) 802601c: 69fb ldr r3, [r7, #28] 802601e: 3301 adds r3, #1 8026020: 61fb str r3, [r7, #28] 8026022: 69fb ldr r3, [r7, #28] 8026024: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 8026028: d3ea bcc.n 8026000 } NextIndexPoint = IP; 802602a: 8b7b ldrh r3, [r7, #26] 802602c: 4a94 ldr r2, [pc, #592] ; (8026280 ) 802602e: 6013 str r3, [r2, #0] NextIndexMeas = MaxIndexMeas; 8026030: 4b92 ldr r3, [pc, #584] ; (802627c ) 8026032: 681b ldr r3, [r3, #0] 8026034: 4a93 ldr r2, [pc, #588] ; (8026284 ) 8026036: 6013 str r3, [r2, #0] f_close(&F); 8026038: 4893 ldr r0, [pc, #588] ; (8026288 ) 802603a: f0a0 fd89 bl 80c6b50 return FR_DISK_ERR; 802603e: 2301 movs r3, #1 8026040: e1ea b.n 8026418 } } else { for(i = 0; i < NUM_POINTS; i++) 8026042: 2300 movs r3, #0 8026044: 61fb str r3, [r7, #28] 8026046: e010 b.n 802606a { if(IndexMeas[i] > MaxIndexMeas) 8026048: 4a8b ldr r2, [pc, #556] ; (8026278 ) 802604a: 69fb ldr r3, [r7, #28] 802604c: f852 2023 ldr.w r2, [r2, r3, lsl #2] 8026050: 4b8a ldr r3, [pc, #552] ; (802627c ) 8026052: 681b ldr r3, [r3, #0] 8026054: 429a cmp r2, r3 8026056: d905 bls.n 8026064 MaxIndexMeas = IndexMeas[i]; 8026058: 4a87 ldr r2, [pc, #540] ; (8026278 ) 802605a: 69fb ldr r3, [r7, #28] 802605c: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8026060: 4a86 ldr r2, [pc, #536] ; (802627c ) 8026062: 6013 str r3, [r2, #0] for(i = 0; i < NUM_POINTS; i++) 8026064: 69fb ldr r3, [r7, #28] 8026066: 3301 adds r3, #1 8026068: 61fb str r3, [r7, #28] 802606a: 69fb ldr r3, [r7, #28] 802606c: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 8026070: d3ea bcc.n 8026048 } NextIndexPoint = IP; 8026072: 8b7b ldrh r3, [r7, #26] 8026074: 4a82 ldr r2, [pc, #520] ; (8026280 ) 8026076: 6013 str r3, [r2, #0] NextIndexMeas = MaxIndexMeas; 8026078: 4b80 ldr r3, [pc, #512] ; (802627c ) 802607a: 681b ldr r3, [r3, #0] 802607c: 4a81 ldr r2, [pc, #516] ; (8026284 ) 802607e: 6013 str r3, [r2, #0] f_close(&F); 8026080: 4881 ldr r0, [pc, #516] ; (8026288 ) 8026082: f0a0 fd65 bl 80c6b50 return FR_DISK_ERR; 8026086: 2301 movs r3, #1 8026088: e1c6 b.n 8026418 while(ifs < f_size(&F)) 802608a: 4b7f ldr r3, [pc, #508] ; (8026288 ) 802608c: e9d3 3404 ldrd r3, r4, [r3, #16] 8026090: e9d7 1204 ldrd r1, r2, [r7, #16] 8026094: 42a2 cmp r2, r4 8026096: bf08 it eq 8026098: 4299 cmpeq r1, r3 802609a: f4ff af12 bcc.w 8025ec2 for(ii = 0; ii < NUM_POINTS; ii++) 802609e: 8b3b ldrh r3, [r7, #24] 80260a0: 3301 adds r3, #1 80260a2: 833b strh r3, [r7, #24] 80260a4: 8b3b ldrh r3, [r7, #24] 80260a6: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 80260aa: f4ff af01 bcc.w 8025eb0 } } } // end for(ii = 0; ...) if(res == FR_OK) 80260ae: f897 3027 ldrb.w r3, [r7, #39] ; 0x27 80260b2: 2b00 cmp r3, #0 80260b4: f040 81ae bne.w 8026414 { for(i = 0; i < NUM_POINTS; i++) 80260b8: 2300 movs r3, #0 80260ba: 61fb str r3, [r7, #28] 80260bc: e010 b.n 80260e0 { if(IndexMeas[i] > MaxIndexMeas) 80260be: 4a6e ldr r2, [pc, #440] ; (8026278 ) 80260c0: 69fb ldr r3, [r7, #28] 80260c2: f852 2023 ldr.w r2, [r2, r3, lsl #2] 80260c6: 4b6d ldr r3, [pc, #436] ; (802627c ) 80260c8: 681b ldr r3, [r3, #0] 80260ca: 429a cmp r2, r3 80260cc: d905 bls.n 80260da MaxIndexMeas = IndexMeas[i]; 80260ce: 4a6a ldr r2, [pc, #424] ; (8026278 ) 80260d0: 69fb ldr r3, [r7, #28] 80260d2: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80260d6: 4a69 ldr r2, [pc, #420] ; (802627c ) 80260d8: 6013 str r3, [r2, #0] for(i = 0; i < NUM_POINTS; i++) 80260da: 69fb ldr r3, [r7, #28] 80260dc: 3301 adds r3, #1 80260de: 61fb str r3, [r7, #28] 80260e0: 69fb ldr r3, [r7, #28] 80260e2: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 80260e6: d3ea bcc.n 80260be } NextIndexPoint = IP; 80260e8: 8b7b ldrh r3, [r7, #26] 80260ea: 4a65 ldr r2, [pc, #404] ; (8026280 ) 80260ec: 6013 str r3, [r2, #0] NextIndexMeas = IndexMeas[NextIndexPoint]; 80260ee: 4b64 ldr r3, [pc, #400] ; (8026280 ) 80260f0: 681b ldr r3, [r3, #0] 80260f2: 4a61 ldr r2, [pc, #388] ; (8026278 ) 80260f4: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80260f8: 4a62 ldr r2, [pc, #392] ; (8026284 ) 80260fa: 6013 str r3, [r2, #0] ifs = 96u + (sizeof(Comment) * NextIndexPoint); 80260fc: 4b60 ldr r3, [pc, #384] ; (8026280 ) 80260fe: 681a ldr r2, [r3, #0] 8026100: 4613 mov r3, r2 8026102: 009b lsls r3, r3, #2 8026104: 4413 add r3, r2 8026106: 00db lsls r3, r3, #3 8026108: 3360 adds r3, #96 ; 0x60 802610a: f04f 0400 mov.w r4, #0 802610e: e9c7 3404 strd r3, r4, [r7, #16] res = f_lseek(&F, ifs); 8026112: e9d7 2304 ldrd r2, r3, [r7, #16] 8026116: 485c ldr r0, [pc, #368] ; (8026288 ) 8026118: f0a0 fd3a bl 80c6b90 802611c: 4603 mov r3, r0 802611e: f887 3027 strb.w r3, [r7, #39] ; 0x27 if(res == FR_OK) 8026122: f897 3027 ldrb.w r3, [r7, #39] ; 0x27 8026126: 2b00 cmp r3, #0 8026128: d131 bne.n 802618e { res = f_read(&F, sector, sizeof(Comment), &fk); 802612a: f107 0308 add.w r3, r7, #8 802612e: 2228 movs r2, #40 ; 0x28 8026130: 4956 ldr r1, [pc, #344] ; (802628c ) 8026132: 4855 ldr r0, [pc, #340] ; (8026288 ) 8026134: f0a0 f925 bl 80c6382 8026138: 4603 mov r3, r0 802613a: f887 3027 strb.w r3, [r7, #39] ; 0x27 if((res == FR_OK) && (fk == sizeof(Comment))) 802613e: f897 3027 ldrb.w r3, [r7, #39] ; 0x27 8026142: 2b00 cmp r3, #0 8026144: d11e bne.n 8026184 8026146: 68bb ldr r3, [r7, #8] 8026148: 2b28 cmp r3, #40 ; 0x28 802614a: d11b bne.n 8026184 { memcpy(Comment, sector, sizeof(Comment)); 802614c: 4b50 ldr r3, [pc, #320] ; (8026290 ) 802614e: 4a4f ldr r2, [pc, #316] ; (802628c ) 8026150: 4614 mov r4, r2 8026152: 469e mov lr, r3 8026154: f104 0c20 add.w ip, r4, #32 8026158: 4675 mov r5, lr 802615a: 4626 mov r6, r4 802615c: ce0f ldmia r6!, {r0, r1, r2, r3} 802615e: 6028 str r0, [r5, #0] 8026160: 6069 str r1, [r5, #4] 8026162: 60aa str r2, [r5, #8] 8026164: 60eb str r3, [r5, #12] 8026166: 3410 adds r4, #16 8026168: f10e 0e10 add.w lr, lr, #16 802616c: 4564 cmp r4, ip 802616e: d1f3 bne.n 8026158 8026170: 4672 mov r2, lr 8026172: 4623 mov r3, r4 8026174: cb03 ldmia r3!, {r0, r1} 8026176: 6010 str r0, [r2, #0] 8026178: 6051 str r1, [r2, #4] f_close(&F); 802617a: 4843 ldr r0, [pc, #268] ; (8026288 ) 802617c: f0a0 fce8 bl 80c6b50 return FR_OK; 8026180: 2300 movs r3, #0 8026182: e149 b.n 8026418 } else { f_close(&F); 8026184: 4840 ldr r0, [pc, #256] ; (8026288 ) 8026186: f0a0 fce3 bl 80c6b50 return FR_DISK_ERR; 802618a: 2301 movs r3, #1 802618c: e144 b.n 8026418 } } else { f_close(&F); 802618e: 483e ldr r0, [pc, #248] ; (8026288 ) 8026190: f0a0 fcde bl 80c6b50 return FR_DISK_ERR; 8026194: 2301 movs r3, #1 8026196: e13f b.n 8026418 } } } else { NextIndexPoint = 0; 8026198: 4b39 ldr r3, [pc, #228] ; (8026280 ) 802619a: 2200 movs r2, #0 802619c: 601a str r2, [r3, #0] NextIndexMeas = 1; 802619e: 4b39 ldr r3, [pc, #228] ; (8026284 ) 80261a0: 2201 movs r2, #1 80261a2: 601a str r2, [r3, #0] f_close(&F); 80261a4: 4838 ldr r0, [pc, #224] ; (8026288 ) 80261a6: f0a0 fcd3 bl 80c6b50 return FR_OK; 80261aa: 2300 movs r3, #0 80261ac: e134 b.n 8026418 } } else { if(f_size(&F) > 0) 80261ae: 4b36 ldr r3, [pc, #216] ; (8026288 ) 80261b0: e9d3 3404 ldrd r3, r4, [r3, #16] 80261b4: 4323 orrs r3, r4 80261b6: f000 811c beq.w 80263f2 { for(ii = 0; ii < NUM_POINTS; ii++) 80261ba: 2300 movs r3, #0 80261bc: 833b strh r3, [r7, #24] 80261be: e0e8 b.n 8026392 { ifs = 0; 80261c0: f04f 0300 mov.w r3, #0 80261c4: f04f 0400 mov.w r4, #0 80261c8: e9c7 3404 strd r3, r4, [r7, #16] im = 0; 80261cc: 2300 movs r3, #0 80261ce: 623b str r3, [r7, #32] while(ifs < f_size(&F)) 80261d0: e0d2 b.n 8026378 { res = f_lseek(&F, ifs); 80261d2: e9d7 2304 ldrd r2, r3, [r7, #16] 80261d6: 482c ldr r0, [pc, #176] ; (8026288 ) 80261d8: f0a0 fcda bl 80c6b90 80261dc: 4603 mov r3, r0 80261de: f887 3027 strb.w r3, [r7, #39] ; 0x27 if(res == FR_OK) 80261e2: f897 3027 ldrb.w r3, [r7, #39] ; 0x27 80261e6: 2b00 cmp r3, #0 80261e8: f040 80a2 bne.w 8026330 { res = f_read(&F, sector, 33, &fk); 80261ec: f107 0308 add.w r3, r7, #8 80261f0: 2221 movs r2, #33 ; 0x21 80261f2: 4926 ldr r1, [pc, #152] ; (802628c ) 80261f4: 4824 ldr r0, [pc, #144] ; (8026288 ) 80261f6: f0a0 f8c4 bl 80c6382 80261fa: 4603 mov r3, r0 80261fc: f887 3027 strb.w r3, [r7, #39] ; 0x27 if((res == FR_OK) && (fk == 33)) 8026200: f897 3027 ldrb.w r3, [r7, #39] ; 0x27 8026204: 2b00 cmp r3, #0 8026206: d16f bne.n 80262e8 8026208: 68bb ldr r3, [r7, #8] 802620a: 2b21 cmp r3, #33 ; 0x21 802620c: d16c bne.n 80262e8 { if((sector[d_13] == 0xD) && (sector[d_10] == 0xA)) 802620e: 4b1f ldr r3, [pc, #124] ; (802628c ) 8026210: 7fdb ldrb r3, [r3, #31] 8026212: 2b0d cmp r3, #13 8026214: d12d bne.n 8026272 8026216: 4b1d ldr r3, [pc, #116] ; (802628c ) 8026218: f893 3020 ldrb.w r3, [r3, #32] 802621c: 2b0a cmp r3, #10 802621e: d128 bne.n 8026272 { IM = sector[d_Meas + 1]; 8026220: 4b1a ldr r3, [pc, #104] ; (802628c ) 8026222: 78db ldrb r3, [r3, #3] 8026224: 81fb strh r3, [r7, #14] IM = (IM << 8) | sector[d_Meas]; 8026226: 89fb ldrh r3, [r7, #14] 8026228: 021b lsls r3, r3, #8 802622a: b21a sxth r2, r3 802622c: 4b17 ldr r3, [pc, #92] ; (802628c ) 802622e: 789b ldrb r3, [r3, #2] 8026230: b21b sxth r3, r3 8026232: 4313 orrs r3, r2 8026234: b21b sxth r3, r3 8026236: 81fb strh r3, [r7, #14] IP = sector[d_Point + 1]; 8026238: 4b14 ldr r3, [pc, #80] ; (802628c ) 802623a: 785b ldrb r3, [r3, #1] 802623c: 837b strh r3, [r7, #26] IP = (IP << 8) | sector[d_Point]; 802623e: 8b7b ldrh r3, [r7, #26] 8026240: 021b lsls r3, r3, #8 8026242: b21a sxth r2, r3 8026244: 4b11 ldr r3, [pc, #68] ; (802628c ) 8026246: 781b ldrb r3, [r3, #0] 8026248: b21b sxth r3, r3 802624a: 4313 orrs r3, r2 802624c: b21b sxth r3, r3 802624e: 837b strh r3, [r7, #26] if((IP == ii) && (IM > im) && (IM < 65536)) 8026250: 8b7a ldrh r2, [r7, #26] 8026252: 8b3b ldrh r3, [r7, #24] 8026254: 429a cmp r2, r3 8026256: d13e bne.n 80262d6 8026258: 89fa ldrh r2, [r7, #14] 802625a: 6a3b ldr r3, [r7, #32] 802625c: 429a cmp r2, r3 802625e: d93a bls.n 80262d6 { im = IM; 8026260: 89fb ldrh r3, [r7, #14] 8026262: 623b str r3, [r7, #32] IndexMeas[ii] = (im + 1); 8026264: 8b3b ldrh r3, [r7, #24] 8026266: 6a3a ldr r2, [r7, #32] 8026268: 3201 adds r2, #1 802626a: 4903 ldr r1, [pc, #12] ; (8026278 ) 802626c: f841 2023 str.w r2, [r1, r3, lsl #2] if((IP == ii) && (IM > im) && (IM < 65536)) 8026270: e031 b.n 80262d6 } } else { for(i = 0; i < NUM_POINTS; i++) 8026272: 2300 movs r3, #0 8026274: 61fb str r3, [r7, #28] 8026276: e01e b.n 80262b6 8026278: 20022ea0 .word 0x20022ea0 802627c: 20022980 .word 0x20022980 8026280: 20021f9c .word 0x20021f9c 8026284: 20022310 .word 0x20022310 8026288: 20022e20 .word 0x20022e20 802628c: 2007c000 .word 0x2007c000 8026290: 20022650 .word 0x20022650 { if(IndexMeas[i] > MaxIndexMeas) 8026294: 4a62 ldr r2, [pc, #392] ; (8026420 ) 8026296: 69fb ldr r3, [r7, #28] 8026298: f852 2023 ldr.w r2, [r2, r3, lsl #2] 802629c: 4b61 ldr r3, [pc, #388] ; (8026424 ) 802629e: 681b ldr r3, [r3, #0] 80262a0: 429a cmp r2, r3 80262a2: d905 bls.n 80262b0 MaxIndexMeas = IndexMeas[i]; 80262a4: 4a5e ldr r2, [pc, #376] ; (8026420 ) 80262a6: 69fb ldr r3, [r7, #28] 80262a8: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80262ac: 4a5d ldr r2, [pc, #372] ; (8026424 ) 80262ae: 6013 str r3, [r2, #0] for(i = 0; i < NUM_POINTS; i++) 80262b0: 69fb ldr r3, [r7, #28] 80262b2: 3301 adds r3, #1 80262b4: 61fb str r3, [r7, #28] 80262b6: 69fb ldr r3, [r7, #28] 80262b8: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 80262bc: d3ea bcc.n 8026294 } NextIndexPoint = IP; 80262be: 8b7b ldrh r3, [r7, #26] 80262c0: 4a59 ldr r2, [pc, #356] ; (8026428 ) 80262c2: 6013 str r3, [r2, #0] NextIndexMeas = MaxIndexMeas; 80262c4: 4b57 ldr r3, [pc, #348] ; (8026424 ) 80262c6: 681b ldr r3, [r3, #0] 80262c8: 4a58 ldr r2, [pc, #352] ; (802642c ) 80262ca: 6013 str r3, [r2, #0] f_close(&F); 80262cc: 4858 ldr r0, [pc, #352] ; (8026430 ) 80262ce: f0a0 fc3f bl 80c6b50 return FR_INVALID_OBJECT; 80262d2: 2309 movs r3, #9 80262d4: e0a0 b.n 8026418 if((IP == ii) && (IM > im) && (IM < 65536)) 80262d6: bf00 nop } ifs += 33; 80262d8: e9d7 3404 ldrd r3, r4, [r7, #16] 80262dc: 3321 adds r3, #33 ; 0x21 80262de: f144 0400 adc.w r4, r4, #0 80262e2: e9c7 3404 strd r3, r4, [r7, #16] 80262e6: e047 b.n 8026378 } else { for(i = 0; i < NUM_POINTS; i++) 80262e8: 2300 movs r3, #0 80262ea: 61fb str r3, [r7, #28] 80262ec: e010 b.n 8026310 { if(IndexMeas[i] > MaxIndexMeas) 80262ee: 4a4c ldr r2, [pc, #304] ; (8026420 ) 80262f0: 69fb ldr r3, [r7, #28] 80262f2: f852 2023 ldr.w r2, [r2, r3, lsl #2] 80262f6: 4b4b ldr r3, [pc, #300] ; (8026424 ) 80262f8: 681b ldr r3, [r3, #0] 80262fa: 429a cmp r2, r3 80262fc: d905 bls.n 802630a MaxIndexMeas = IndexMeas[i]; 80262fe: 4a48 ldr r2, [pc, #288] ; (8026420 ) 8026300: 69fb ldr r3, [r7, #28] 8026302: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8026306: 4a47 ldr r2, [pc, #284] ; (8026424 ) 8026308: 6013 str r3, [r2, #0] for(i = 0; i < NUM_POINTS; i++) 802630a: 69fb ldr r3, [r7, #28] 802630c: 3301 adds r3, #1 802630e: 61fb str r3, [r7, #28] 8026310: 69fb ldr r3, [r7, #28] 8026312: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 8026316: d3ea bcc.n 80262ee } NextIndexPoint = IP; 8026318: 8b7b ldrh r3, [r7, #26] 802631a: 4a43 ldr r2, [pc, #268] ; (8026428 ) 802631c: 6013 str r3, [r2, #0] NextIndexMeas = MaxIndexMeas; 802631e: 4b41 ldr r3, [pc, #260] ; (8026424 ) 8026320: 681b ldr r3, [r3, #0] 8026322: 4a42 ldr r2, [pc, #264] ; (802642c ) 8026324: 6013 str r3, [r2, #0] f_close(&F); 8026326: 4842 ldr r0, [pc, #264] ; (8026430 ) 8026328: f0a0 fc12 bl 80c6b50 return FR_DISK_ERR; 802632c: 2301 movs r3, #1 802632e: e073 b.n 8026418 } } else { for(i = 0; i < NUM_POINTS; i++) 8026330: 2300 movs r3, #0 8026332: 61fb str r3, [r7, #28] 8026334: e010 b.n 8026358 { if(IndexMeas[i] > MaxIndexMeas) 8026336: 4a3a ldr r2, [pc, #232] ; (8026420 ) 8026338: 69fb ldr r3, [r7, #28] 802633a: f852 2023 ldr.w r2, [r2, r3, lsl #2] 802633e: 4b39 ldr r3, [pc, #228] ; (8026424 ) 8026340: 681b ldr r3, [r3, #0] 8026342: 429a cmp r2, r3 8026344: d905 bls.n 8026352 MaxIndexMeas = IndexMeas[i]; 8026346: 4a36 ldr r2, [pc, #216] ; (8026420 ) 8026348: 69fb ldr r3, [r7, #28] 802634a: f852 3023 ldr.w r3, [r2, r3, lsl #2] 802634e: 4a35 ldr r2, [pc, #212] ; (8026424 ) 8026350: 6013 str r3, [r2, #0] for(i = 0; i < NUM_POINTS; i++) 8026352: 69fb ldr r3, [r7, #28] 8026354: 3301 adds r3, #1 8026356: 61fb str r3, [r7, #28] 8026358: 69fb ldr r3, [r7, #28] 802635a: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 802635e: d3ea bcc.n 8026336 } NextIndexPoint = IP; 8026360: 8b7b ldrh r3, [r7, #26] 8026362: 4a31 ldr r2, [pc, #196] ; (8026428 ) 8026364: 6013 str r3, [r2, #0] NextIndexMeas = MaxIndexMeas; 8026366: 4b2f ldr r3, [pc, #188] ; (8026424 ) 8026368: 681b ldr r3, [r3, #0] 802636a: 4a30 ldr r2, [pc, #192] ; (802642c ) 802636c: 6013 str r3, [r2, #0] f_close(&F); 802636e: 4830 ldr r0, [pc, #192] ; (8026430 ) 8026370: f0a0 fbee bl 80c6b50 return FR_DISK_ERR; 8026374: 2301 movs r3, #1 8026376: e04f b.n 8026418 while(ifs < f_size(&F)) 8026378: 4b2d ldr r3, [pc, #180] ; (8026430 ) 802637a: e9d3 3404 ldrd r3, r4, [r3, #16] 802637e: e9d7 1204 ldrd r1, r2, [r7, #16] 8026382: 42a2 cmp r2, r4 8026384: bf08 it eq 8026386: 4299 cmpeq r1, r3 8026388: f4ff af23 bcc.w 80261d2 for(ii = 0; ii < NUM_POINTS; ii++) 802638c: 8b3b ldrh r3, [r7, #24] 802638e: 3301 adds r3, #1 8026390: 833b strh r3, [r7, #24] 8026392: 8b3b ldrh r3, [r7, #24] 8026394: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 8026398: f4ff af12 bcc.w 80261c0 } } } // end for(ii = 0; ...) if(res == FR_OK) 802639c: f897 3027 ldrb.w r3, [r7, #39] ; 0x27 80263a0: 2b00 cmp r3, #0 80263a2: d137 bne.n 8026414 { for(i = 0; i < NUM_POINTS; i++) 80263a4: 2300 movs r3, #0 80263a6: 61fb str r3, [r7, #28] 80263a8: e010 b.n 80263cc { if(IndexMeas[i] > MaxIndexMeas) 80263aa: 4a1d ldr r2, [pc, #116] ; (8026420 ) 80263ac: 69fb ldr r3, [r7, #28] 80263ae: f852 2023 ldr.w r2, [r2, r3, lsl #2] 80263b2: 4b1c ldr r3, [pc, #112] ; (8026424 ) 80263b4: 681b ldr r3, [r3, #0] 80263b6: 429a cmp r2, r3 80263b8: d905 bls.n 80263c6 MaxIndexMeas = IndexMeas[i]; 80263ba: 4a19 ldr r2, [pc, #100] ; (8026420 ) 80263bc: 69fb ldr r3, [r7, #28] 80263be: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80263c2: 4a18 ldr r2, [pc, #96] ; (8026424 ) 80263c4: 6013 str r3, [r2, #0] for(i = 0; i < NUM_POINTS; i++) 80263c6: 69fb ldr r3, [r7, #28] 80263c8: 3301 adds r3, #1 80263ca: 61fb str r3, [r7, #28] 80263cc: 69fb ldr r3, [r7, #28] 80263ce: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 80263d2: d3ea bcc.n 80263aa } NextIndexPoint = IP; 80263d4: 8b7b ldrh r3, [r7, #26] 80263d6: 4a14 ldr r2, [pc, #80] ; (8026428 ) 80263d8: 6013 str r3, [r2, #0] NextIndexMeas = IndexMeas[NextIndexPoint]; 80263da: 4b13 ldr r3, [pc, #76] ; (8026428 ) 80263dc: 681b ldr r3, [r3, #0] 80263de: 4a10 ldr r2, [pc, #64] ; (8026420 ) 80263e0: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80263e4: 4a11 ldr r2, [pc, #68] ; (802642c ) 80263e6: 6013 str r3, [r2, #0] f_close(&F); 80263e8: 4811 ldr r0, [pc, #68] ; (8026430 ) 80263ea: f0a0 fbb1 bl 80c6b50 return FR_OK; 80263ee: 2300 movs r3, #0 80263f0: e012 b.n 8026418 } } else { NextIndexPoint = 0; 80263f2: 4b0d ldr r3, [pc, #52] ; (8026428 ) 80263f4: 2200 movs r2, #0 80263f6: 601a str r2, [r3, #0] NextIndexMeas = 1; 80263f8: 4b0c ldr r3, [pc, #48] ; (802642c ) 80263fa: 2201 movs r2, #1 80263fc: 601a str r2, [r3, #0] f_close(&F); 80263fe: 480c ldr r0, [pc, #48] ; (8026430 ) 8026400: f0a0 fba6 bl 80c6b50 return FR_OK; 8026404: 2300 movs r3, #0 8026406: e007 b.n 8026418 } } } else { NextIndexPoint = 0; 8026408: 4b07 ldr r3, [pc, #28] ; (8026428 ) 802640a: 2200 movs r2, #0 802640c: 601a str r2, [r3, #0] NextIndexMeas = 1; 802640e: 4b07 ldr r3, [pc, #28] ; (802642c ) 8026410: 2201 movs r2, #1 8026412: 601a str r2, [r3, #0] } return res; 8026414: f897 3027 ldrb.w r3, [r7, #39] ; 0x27 } 8026418: 4618 mov r0, r3 802641a: 372c adds r7, #44 ; 0x2c 802641c: 46bd mov sp, r7 802641e: bdf0 pop {r4, r5, r6, r7, pc} 8026420: 20022ea0 .word 0x20022ea0 8026424: 20022980 .word 0x20022980 8026428: 20021f9c .word 0x20021f9c 802642c: 20022310 .word 0x20022310 8026430: 20022e20 .word 0x20022e20 08026434 : FRESULT GetPointAndIndexPTM(char *fname) //TODO { 8026434: b5f0 push {r4, r5, r6, r7, lr} 8026436: b08b sub sp, #44 ; 0x2c 8026438: af00 add r7, sp, #0 802643a: 6078 str r0, [r7, #4] FRESULT res = FR_OK; 802643c: 2300 movs r3, #0 802643e: f887 3027 strb.w r3, [r7, #39] ; 0x27 uint32_t im, i; uint16_t IM = 0, IP = 0, ii; 8026442: 2300 movs r3, #0 8026444: 81fb strh r3, [r7, #14] 8026446: 2300 movs r3, #0 8026448: 837b strh r3, [r7, #26] UINT fk; FSIZE_t ifs; memset(Comment, 0, sizeof(Comment)); 802644a: 2228 movs r2, #40 ; 0x28 802644c: 2100 movs r1, #0 802644e: 48a2 ldr r0, [pc, #648] ; (80266d8 ) 8026450: f0a6 fdfa bl 80cd048 NextIndexPoint = 0; 8026454: 4ba1 ldr r3, [pc, #644] ; (80266dc ) 8026456: 2200 movs r2, #0 8026458: 601a str r2, [r3, #0] NextIndexMeas = 1; 802645a: 4ba1 ldr r3, [pc, #644] ; (80266e0 ) 802645c: 2201 movs r2, #1 802645e: 601a str r2, [r3, #0] MaxIndexMeas = 1; 8026460: 4ba0 ldr r3, [pc, #640] ; (80266e4 ) 8026462: 2201 movs r2, #1 8026464: 601a str r2, [r3, #0] for(i = 0; i < NUM_POINTS; i++) { 8026466: 2300 movs r3, #0 8026468: 61fb str r3, [r7, #28] 802646a: e007 b.n 802647c IndexMeas[i] = 1; 802646c: 4a9e ldr r2, [pc, #632] ; (80266e8 ) 802646e: 69fb ldr r3, [r7, #28] 8026470: 2101 movs r1, #1 8026472: f842 1023 str.w r1, [r2, r3, lsl #2] for(i = 0; i < NUM_POINTS; i++) { 8026476: 69fb ldr r3, [r7, #28] 8026478: 3301 adds r3, #1 802647a: 61fb str r3, [r7, #28] 802647c: 69fb ldr r3, [r7, #28] 802647e: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 8026482: d3f3 bcc.n 802646c } if(CardState != MSD_READY) { 8026484: 4b99 ldr r3, [pc, #612] ; (80266ec ) 8026486: 781b ldrb r3, [r3, #0] 8026488: b2db uxtb r3, r3 802648a: 2b03 cmp r3, #3 802648c: d001 beq.n 8026492 return FR_NOT_READY; 802648e: 2303 movs r3, #3 8026490: e34c b.n 8026b2c } if(fname[0] == '\0') { 8026492: 687b ldr r3, [r7, #4] 8026494: 781b ldrb r3, [r3, #0] 8026496: 2b00 cmp r3, #0 8026498: d101 bne.n 802649e return FR_NO_FILE; 802649a: 2304 movs r3, #4 802649c: e346 b.n 8026b2c } if(res == FR_OK) 802649e: f897 3027 ldrb.w r3, [r7, #39] ; 0x27 80264a2: 2b00 cmp r3, #0 80264a4: f040 833a bne.w 8026b1c { memset(FileName, 0, sizeof(FileName)); 80264a8: 2228 movs r2, #40 ; 0x28 80264aa: 2100 movs r1, #0 80264ac: 4890 ldr r0, [pc, #576] ; (80266f0 ) 80264ae: f0a6 fdcb bl 80cd048 strcpy(FileName, fname); 80264b2: 6879 ldr r1, [r7, #4] 80264b4: 488e ldr r0, [pc, #568] ; (80266f0 ) 80264b6: f0a6 fee4 bl 80cd282 memset(PointPath, 0, sizeof(PointPath)); 80264ba: f44f 7200 mov.w r2, #512 ; 0x200 80264be: 2100 movs r1, #0 80264c0: 488c ldr r0, [pc, #560] ; (80266f4 ) 80264c2: f0a6 fdc1 bl 80cd048 memset(SearchPath, 0, sizeof(SearchPath)); 80264c6: f44f 7200 mov.w r2, #512 ; 0x200 80264ca: 2100 movs r1, #0 80264cc: 488a ldr r0, [pc, #552] ; (80266f8 ) 80264ce: f0a6 fdbb bl 80cd048 SearchPath[0] = '0'; 80264d2: 4b89 ldr r3, [pc, #548] ; (80266f8 ) 80264d4: 2230 movs r2, #48 ; 0x30 80264d6: 701a strb r2, [r3, #0] SearchPath[1] = ':'; 80264d8: 4b87 ldr r3, [pc, #540] ; (80266f8 ) 80264da: 223a movs r2, #58 ; 0x3a 80264dc: 705a strb r2, [r3, #1] ScanMode = GET_PATH_TO_FILE; 80264de: 4b87 ldr r3, [pc, #540] ; (80266fc ) 80264e0: 2209 movs r2, #9 80264e2: 701a strb r2, [r3, #0] FlagReturn = false; 80264e4: 4b86 ldr r3, [pc, #536] ; (8026700 ) 80264e6: 2200 movs r2, #0 80264e8: 701a strb r2, [r3, #0] ScanFiles(SearchPath, 0); 80264ea: 2100 movs r1, #0 80264ec: 4882 ldr r0, [pc, #520] ; (80266f8 ) 80264ee: f005 f9dd bl 802b8ac if(PointPath[0] == 0) 80264f2: 4b80 ldr r3, [pc, #512] ; (80266f4 ) 80264f4: 781b ldrb r3, [r3, #0] 80264f6: 2b00 cmp r3, #0 80264f8: d103 bne.n 8026502 { res = FR_NO_FILE; 80264fa: 2304 movs r3, #4 80264fc: f887 3027 strb.w r3, [r7, #39] ; 0x27 8026500: e312 b.n 8026b28 } else { res = f_open(&F, PointPath, FA_READ); 8026502: 2201 movs r2, #1 8026504: 497b ldr r1, [pc, #492] ; (80266f4 ) 8026506: 487f ldr r0, [pc, #508] ; (8026704 ) 8026508: f09f fcde bl 80c5ec8 802650c: 4603 mov r3, r0 802650e: f887 3027 strb.w r3, [r7, #39] ; 0x27 if(res == FR_OK) 8026512: f897 3027 ldrb.w r3, [r7, #39] ; 0x27 8026516: 2b00 cmp r3, #0 8026518: f040 8306 bne.w 8026b28 { /////////////////////////////////////////////////////////////////////////////// res = f_lseek(&F, 0); 802651c: f04f 0200 mov.w r2, #0 8026520: f04f 0300 mov.w r3, #0 8026524: 4877 ldr r0, [pc, #476] ; (8026704 ) 8026526: f0a0 fb33 bl 80c6b90 802652a: 4603 mov r3, r0 802652c: f887 3027 strb.w r3, [r7, #39] ; 0x27 if(res == FR_OK) 8026530: f897 3027 ldrb.w r3, [r7, #39] ; 0x27 8026534: 2b00 cmp r3, #0 8026536: d127 bne.n 8026588 { res = f_read(&F, sector, 6, &fk); 8026538: f107 0308 add.w r3, r7, #8 802653c: 2206 movs r2, #6 802653e: 4972 ldr r1, [pc, #456] ; (8026708 ) 8026540: 4870 ldr r0, [pc, #448] ; (8026704 ) 8026542: f09f ff1e bl 80c6382 8026546: 4603 mov r3, r0 8026548: f887 3027 strb.w r3, [r7, #39] ; 0x27 if((res == FR_OK) && (fk == 6)) 802654c: f897 3027 ldrb.w r3, [r7, #39] ; 0x27 8026550: 2b00 cmp r3, #0 8026552: d114 bne.n 802657e 8026554: 68bb ldr r3, [r7, #8] 8026556: 2b06 cmp r3, #6 8026558: d111 bne.n 802657e { sector[6] = '\0'; 802655a: 4b6b ldr r3, [pc, #428] ; (8026708 ) 802655c: 2200 movs r2, #0 802655e: 719a strb r2, [r3, #6] if(!strcmp((char *) sector, "Extend")) 8026560: 496a ldr r1, [pc, #424] ; (802670c ) 8026562: 4869 ldr r0, [pc, #420] ; (8026708 ) 8026564: f7f9 fecc bl 8020300 8026568: 4603 mov r3, r0 802656a: 2b00 cmp r3, #0 802656c: d103 bne.n 8026576 NEWFILE = true; 802656e: 4b68 ldr r3, [pc, #416] ; (8026710 ) 8026570: 2201 movs r2, #1 8026572: 701a strb r2, [r3, #0] if(!strcmp((char *) sector, "Extend")) 8026574: e00d b.n 8026592 else NEWFILE = false; 8026576: 4b66 ldr r3, [pc, #408] ; (8026710 ) 8026578: 2200 movs r2, #0 802657a: 701a strb r2, [r3, #0] if(!strcmp((char *) sector, "Extend")) 802657c: e009 b.n 8026592 } else { f_close(&F); 802657e: 4861 ldr r0, [pc, #388] ; (8026704 ) 8026580: f0a0 fae6 bl 80c6b50 return FR_DISK_ERR; 8026584: 2301 movs r3, #1 8026586: e2d1 b.n 8026b2c } } else { f_close(&F); 8026588: 485e ldr r0, [pc, #376] ; (8026704 ) 802658a: f0a0 fae1 bl 80c6b50 return FR_DISK_ERR; 802658e: 2301 movs r3, #1 8026590: e2cc b.n 8026b2c } /////////////////////////////////////////////////////////////////////////////// memset(sector, 0xff, sizeof(sector)); 8026592: f44f 7200 mov.w r2, #512 ; 0x200 8026596: 21ff movs r1, #255 ; 0xff 8026598: 485b ldr r0, [pc, #364] ; (8026708 ) 802659a: f0a6 fd55 bl 80cd048 if(NEWFILE) 802659e: 4b5c ldr r3, [pc, #368] ; (8026710 ) 80265a0: 781b ldrb r3, [r3, #0] 80265a2: b2db uxtb r3, r3 80265a4: 2b00 cmp r3, #0 80265a6: f000 818c beq.w 80268c2 { if(f_size(&F) > 40096u) 80265aa: 4b56 ldr r3, [pc, #344] ; (8026704 ) 80265ac: e9d3 3404 ldrd r3, r4, [r3, #16] 80265b0: f649 41a0 movw r1, #40096 ; 0x9ca0 80265b4: f04f 0200 mov.w r2, #0 80265b8: 42a2 cmp r2, r4 80265ba: bf08 it eq 80265bc: 4299 cmpeq r1, r3 80265be: f080 8175 bcs.w 80268ac { for(ii = 0; ii < NUM_POINTS; ii++) 80265c2: 2300 movs r3, #0 80265c4: 833b strh r3, [r7, #24] 80265c6: e0f7 b.n 80267b8 { ifs = 40096u; 80265c8: f649 43a0 movw r3, #40096 ; 0x9ca0 80265cc: f04f 0400 mov.w r4, #0 80265d0: e9c7 3404 strd r3, r4, [r7, #16] im = 0; 80265d4: 2300 movs r3, #0 80265d6: 623b str r3, [r7, #32] while(ifs < f_size(&F)) 80265d8: e0e1 b.n 802679e { res = f_lseek(&F, ifs); 80265da: e9d7 2304 ldrd r2, r3, [r7, #16] 80265de: 4849 ldr r0, [pc, #292] ; (8026704 ) 80265e0: f0a0 fad6 bl 80c6b90 80265e4: 4603 mov r3, r0 80265e6: f887 3027 strb.w r3, [r7, #39] ; 0x27 if(res == FR_OK) 80265ea: f897 3027 ldrb.w r3, [r7, #39] ; 0x27 80265ee: 2b00 cmp r3, #0 80265f0: f040 80b1 bne.w 8026756 { res = f_read(&F, sector, 29, &fk); 80265f4: f107 0308 add.w r3, r7, #8 80265f8: 221d movs r2, #29 80265fa: 4943 ldr r1, [pc, #268] ; (8026708 ) 80265fc: 4841 ldr r0, [pc, #260] ; (8026704 ) 80265fe: f09f fec0 bl 80c6382 8026602: 4603 mov r3, r0 8026604: f887 3027 strb.w r3, [r7, #39] ; 0x27 if((res == FR_OK) && (fk == 29)) 8026608: f897 3027 ldrb.w r3, [r7, #39] ; 0x27 802660c: 2b00 cmp r3, #0 802660e: d160 bne.n 80266d2 8026610: 68bb ldr r3, [r7, #8] 8026612: 2b1d cmp r3, #29 8026614: d15d bne.n 80266d2 { if((sector[e13] == 0xD) && (sector[e10] == 0xA)) 8026616: 4b3c ldr r3, [pc, #240] ; (8026708 ) 8026618: 7edb ldrb r3, [r3, #27] 802661a: 2b0d cmp r3, #13 802661c: d12c bne.n 8026678 802661e: 4b3a ldr r3, [pc, #232] ; (8026708 ) 8026620: 7f1b ldrb r3, [r3, #28] 8026622: 2b0a cmp r3, #10 8026624: d128 bne.n 8026678 { IM = sector[eMeas + 1]; 8026626: 4b38 ldr r3, [pc, #224] ; (8026708 ) 8026628: 78db ldrb r3, [r3, #3] 802662a: 81fb strh r3, [r7, #14] IM = (IM << 8) | sector[eMeas]; 802662c: 89fb ldrh r3, [r7, #14] 802662e: 021b lsls r3, r3, #8 8026630: b21a sxth r2, r3 8026632: 4b35 ldr r3, [pc, #212] ; (8026708 ) 8026634: 789b ldrb r3, [r3, #2] 8026636: b21b sxth r3, r3 8026638: 4313 orrs r3, r2 802663a: b21b sxth r3, r3 802663c: 81fb strh r3, [r7, #14] IP = sector[ePoint + 1]; 802663e: 4b32 ldr r3, [pc, #200] ; (8026708 ) 8026640: 785b ldrb r3, [r3, #1] 8026642: 837b strh r3, [r7, #26] IP = (IP << 8) | sector[ePoint]; 8026644: 8b7b ldrh r3, [r7, #26] 8026646: 021b lsls r3, r3, #8 8026648: b21a sxth r2, r3 802664a: 4b2f ldr r3, [pc, #188] ; (8026708 ) 802664c: 781b ldrb r3, [r3, #0] 802664e: b21b sxth r3, r3 8026650: 4313 orrs r3, r2 8026652: b21b sxth r3, r3 8026654: 837b strh r3, [r7, #26] if((IP == ii) && (IM > im) && (IM < 65536)) 8026656: 8b7a ldrh r2, [r7, #26] 8026658: 8b3b ldrh r3, [r7, #24] 802665a: 429a cmp r2, r3 802665c: d130 bne.n 80266c0 802665e: 89fa ldrh r2, [r7, #14] 8026660: 6a3b ldr r3, [r7, #32] 8026662: 429a cmp r2, r3 8026664: d92c bls.n 80266c0 { im = IM; 8026666: 89fb ldrh r3, [r7, #14] 8026668: 623b str r3, [r7, #32] IndexMeas[ii] = (im + 1); 802666a: 8b3b ldrh r3, [r7, #24] 802666c: 6a3a ldr r2, [r7, #32] 802666e: 3201 adds r2, #1 8026670: 491d ldr r1, [pc, #116] ; (80266e8 ) 8026672: f841 2023 str.w r2, [r1, r3, lsl #2] if((IP == ii) && (IM > im) && (IM < 65536)) 8026676: e023 b.n 80266c0 } } else { for(i = 0; i < NUM_POINTS; i++) 8026678: 2300 movs r3, #0 802667a: 61fb str r3, [r7, #28] 802667c: e010 b.n 80266a0 { if(IndexMeas[i] > MaxIndexMeas) 802667e: 4a1a ldr r2, [pc, #104] ; (80266e8 ) 8026680: 69fb ldr r3, [r7, #28] 8026682: f852 2023 ldr.w r2, [r2, r3, lsl #2] 8026686: 4b17 ldr r3, [pc, #92] ; (80266e4 ) 8026688: 681b ldr r3, [r3, #0] 802668a: 429a cmp r2, r3 802668c: d905 bls.n 802669a MaxIndexMeas = IndexMeas[i]; 802668e: 4a16 ldr r2, [pc, #88] ; (80266e8 ) 8026690: 69fb ldr r3, [r7, #28] 8026692: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8026696: 4a13 ldr r2, [pc, #76] ; (80266e4 ) 8026698: 6013 str r3, [r2, #0] for(i = 0; i < NUM_POINTS; i++) 802669a: 69fb ldr r3, [r7, #28] 802669c: 3301 adds r3, #1 802669e: 61fb str r3, [r7, #28] 80266a0: 69fb ldr r3, [r7, #28] 80266a2: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 80266a6: d3ea bcc.n 802667e } NextIndexPoint = IP; 80266a8: 8b7b ldrh r3, [r7, #26] 80266aa: 4a0c ldr r2, [pc, #48] ; (80266dc ) 80266ac: 6013 str r3, [r2, #0] NextIndexMeas = MaxIndexMeas; 80266ae: 4b0d ldr r3, [pc, #52] ; (80266e4 ) 80266b0: 681b ldr r3, [r3, #0] 80266b2: 4a0b ldr r2, [pc, #44] ; (80266e0 ) 80266b4: 6013 str r3, [r2, #0] f_close(&F); 80266b6: 4813 ldr r0, [pc, #76] ; (8026704 ) 80266b8: f0a0 fa4a bl 80c6b50 return FR_INVALID_OBJECT; 80266bc: 2309 movs r3, #9 80266be: e235 b.n 8026b2c if((IP == ii) && (IM > im) && (IM < 65536)) 80266c0: bf00 nop } ifs += 29; 80266c2: e9d7 3404 ldrd r3, r4, [r7, #16] 80266c6: 331d adds r3, #29 80266c8: f144 0400 adc.w r4, r4, #0 80266cc: e9c7 3404 strd r3, r4, [r7, #16] 80266d0: e065 b.n 802679e } else { for(i = 0; i < NUM_POINTS; i++) 80266d2: 2300 movs r3, #0 80266d4: 61fb str r3, [r7, #28] 80266d6: e02e b.n 8026736 80266d8: 20022650 .word 0x20022650 80266dc: 20021f9c .word 0x20021f9c 80266e0: 20022310 .word 0x20022310 80266e4: 20022980 .word 0x20022980 80266e8: 20022ea0 .word 0x20022ea0 80266ec: 2002164c .word 0x2002164c 80266f0: 20022bb8 .word 0x20022bb8 80266f4: 200229b4 .word 0x200229b4 80266f8: 20021d80 .word 0x20021d80 80266fc: 20020ddf .word 0x20020ddf 8026700: 20020dde .word 0x20020dde 8026704: 20022e20 .word 0x20022e20 8026708: 2007c000 .word 0x2007c000 802670c: 080ce494 .word 0x080ce494 8026710: 20020e14 .word 0x20020e14 { if(IndexMeas[i] > MaxIndexMeas) 8026714: 4a9d ldr r2, [pc, #628] ; (802698c ) 8026716: 69fb ldr r3, [r7, #28] 8026718: f852 2023 ldr.w r2, [r2, r3, lsl #2] 802671c: 4b9c ldr r3, [pc, #624] ; (8026990 ) 802671e: 681b ldr r3, [r3, #0] 8026720: 429a cmp r2, r3 8026722: d905 bls.n 8026730 MaxIndexMeas = IndexMeas[i]; 8026724: 4a99 ldr r2, [pc, #612] ; (802698c ) 8026726: 69fb ldr r3, [r7, #28] 8026728: f852 3023 ldr.w r3, [r2, r3, lsl #2] 802672c: 4a98 ldr r2, [pc, #608] ; (8026990 ) 802672e: 6013 str r3, [r2, #0] for(i = 0; i < NUM_POINTS; i++) 8026730: 69fb ldr r3, [r7, #28] 8026732: 3301 adds r3, #1 8026734: 61fb str r3, [r7, #28] 8026736: 69fb ldr r3, [r7, #28] 8026738: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 802673c: d3ea bcc.n 8026714 } NextIndexPoint = IP; 802673e: 8b7b ldrh r3, [r7, #26] 8026740: 4a94 ldr r2, [pc, #592] ; (8026994 ) 8026742: 6013 str r3, [r2, #0] NextIndexMeas = MaxIndexMeas; 8026744: 4b92 ldr r3, [pc, #584] ; (8026990 ) 8026746: 681b ldr r3, [r3, #0] 8026748: 4a93 ldr r2, [pc, #588] ; (8026998 ) 802674a: 6013 str r3, [r2, #0] f_close(&F); 802674c: 4893 ldr r0, [pc, #588] ; (802699c ) 802674e: f0a0 f9ff bl 80c6b50 return FR_DISK_ERR; 8026752: 2301 movs r3, #1 8026754: e1ea b.n 8026b2c } } else { for(i = 0; i < NUM_POINTS; i++) 8026756: 2300 movs r3, #0 8026758: 61fb str r3, [r7, #28] 802675a: e010 b.n 802677e { if(IndexMeas[i] > MaxIndexMeas) 802675c: 4a8b ldr r2, [pc, #556] ; (802698c ) 802675e: 69fb ldr r3, [r7, #28] 8026760: f852 2023 ldr.w r2, [r2, r3, lsl #2] 8026764: 4b8a ldr r3, [pc, #552] ; (8026990 ) 8026766: 681b ldr r3, [r3, #0] 8026768: 429a cmp r2, r3 802676a: d905 bls.n 8026778 MaxIndexMeas = IndexMeas[i]; 802676c: 4a87 ldr r2, [pc, #540] ; (802698c ) 802676e: 69fb ldr r3, [r7, #28] 8026770: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8026774: 4a86 ldr r2, [pc, #536] ; (8026990 ) 8026776: 6013 str r3, [r2, #0] for(i = 0; i < NUM_POINTS; i++) 8026778: 69fb ldr r3, [r7, #28] 802677a: 3301 adds r3, #1 802677c: 61fb str r3, [r7, #28] 802677e: 69fb ldr r3, [r7, #28] 8026780: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 8026784: d3ea bcc.n 802675c } NextIndexPoint = IP; 8026786: 8b7b ldrh r3, [r7, #26] 8026788: 4a82 ldr r2, [pc, #520] ; (8026994 ) 802678a: 6013 str r3, [r2, #0] NextIndexMeas = MaxIndexMeas; 802678c: 4b80 ldr r3, [pc, #512] ; (8026990 ) 802678e: 681b ldr r3, [r3, #0] 8026790: 4a81 ldr r2, [pc, #516] ; (8026998 ) 8026792: 6013 str r3, [r2, #0] f_close(&F); 8026794: 4881 ldr r0, [pc, #516] ; (802699c ) 8026796: f0a0 f9db bl 80c6b50 return FR_DISK_ERR; 802679a: 2301 movs r3, #1 802679c: e1c6 b.n 8026b2c while(ifs < f_size(&F)) 802679e: 4b7f ldr r3, [pc, #508] ; (802699c ) 80267a0: e9d3 3404 ldrd r3, r4, [r3, #16] 80267a4: e9d7 1204 ldrd r1, r2, [r7, #16] 80267a8: 42a2 cmp r2, r4 80267aa: bf08 it eq 80267ac: 4299 cmpeq r1, r3 80267ae: f4ff af14 bcc.w 80265da for(ii = 0; ii < NUM_POINTS; ii++) 80267b2: 8b3b ldrh r3, [r7, #24] 80267b4: 3301 adds r3, #1 80267b6: 833b strh r3, [r7, #24] 80267b8: 8b3b ldrh r3, [r7, #24] 80267ba: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 80267be: f4ff af03 bcc.w 80265c8 } } } // end for(ii = 0; ...) if(res == FR_OK) 80267c2: f897 3027 ldrb.w r3, [r7, #39] ; 0x27 80267c6: 2b00 cmp r3, #0 80267c8: f040 81ae bne.w 8026b28 { for(i = 0; i < NUM_POINTS; i++) 80267cc: 2300 movs r3, #0 80267ce: 61fb str r3, [r7, #28] 80267d0: e010 b.n 80267f4 { if(IndexMeas[i] > MaxIndexMeas) 80267d2: 4a6e ldr r2, [pc, #440] ; (802698c ) 80267d4: 69fb ldr r3, [r7, #28] 80267d6: f852 2023 ldr.w r2, [r2, r3, lsl #2] 80267da: 4b6d ldr r3, [pc, #436] ; (8026990 ) 80267dc: 681b ldr r3, [r3, #0] 80267de: 429a cmp r2, r3 80267e0: d905 bls.n 80267ee MaxIndexMeas = IndexMeas[i]; 80267e2: 4a6a ldr r2, [pc, #424] ; (802698c ) 80267e4: 69fb ldr r3, [r7, #28] 80267e6: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80267ea: 4a69 ldr r2, [pc, #420] ; (8026990 ) 80267ec: 6013 str r3, [r2, #0] for(i = 0; i < NUM_POINTS; i++) 80267ee: 69fb ldr r3, [r7, #28] 80267f0: 3301 adds r3, #1 80267f2: 61fb str r3, [r7, #28] 80267f4: 69fb ldr r3, [r7, #28] 80267f6: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 80267fa: d3ea bcc.n 80267d2 } NextIndexPoint = IP; 80267fc: 8b7b ldrh r3, [r7, #26] 80267fe: 4a65 ldr r2, [pc, #404] ; (8026994 ) 8026800: 6013 str r3, [r2, #0] NextIndexMeas = IndexMeas[NextIndexPoint]; 8026802: 4b64 ldr r3, [pc, #400] ; (8026994 ) 8026804: 681b ldr r3, [r3, #0] 8026806: 4a61 ldr r2, [pc, #388] ; (802698c ) 8026808: f852 3023 ldr.w r3, [r2, r3, lsl #2] 802680c: 4a62 ldr r2, [pc, #392] ; (8026998 ) 802680e: 6013 str r3, [r2, #0] ifs = 96u + (sizeof(Comment) * NextIndexPoint); 8026810: 4b60 ldr r3, [pc, #384] ; (8026994 ) 8026812: 681a ldr r2, [r3, #0] 8026814: 4613 mov r3, r2 8026816: 009b lsls r3, r3, #2 8026818: 4413 add r3, r2 802681a: 00db lsls r3, r3, #3 802681c: 3360 adds r3, #96 ; 0x60 802681e: f04f 0400 mov.w r4, #0 8026822: e9c7 3404 strd r3, r4, [r7, #16] res = f_lseek(&F, ifs); 8026826: e9d7 2304 ldrd r2, r3, [r7, #16] 802682a: 485c ldr r0, [pc, #368] ; (802699c ) 802682c: f0a0 f9b0 bl 80c6b90 8026830: 4603 mov r3, r0 8026832: f887 3027 strb.w r3, [r7, #39] ; 0x27 if(res == FR_OK) 8026836: f897 3027 ldrb.w r3, [r7, #39] ; 0x27 802683a: 2b00 cmp r3, #0 802683c: d131 bne.n 80268a2 { res = f_read(&F, sector, sizeof(Comment), &fk); 802683e: f107 0308 add.w r3, r7, #8 8026842: 2228 movs r2, #40 ; 0x28 8026844: 4956 ldr r1, [pc, #344] ; (80269a0 ) 8026846: 4855 ldr r0, [pc, #340] ; (802699c ) 8026848: f09f fd9b bl 80c6382 802684c: 4603 mov r3, r0 802684e: f887 3027 strb.w r3, [r7, #39] ; 0x27 if((res == FR_OK) && (fk == sizeof(Comment))) 8026852: f897 3027 ldrb.w r3, [r7, #39] ; 0x27 8026856: 2b00 cmp r3, #0 8026858: d11e bne.n 8026898 802685a: 68bb ldr r3, [r7, #8] 802685c: 2b28 cmp r3, #40 ; 0x28 802685e: d11b bne.n 8026898 { memcpy(Comment, sector, sizeof(Comment)); 8026860: 4b50 ldr r3, [pc, #320] ; (80269a4 ) 8026862: 4a4f ldr r2, [pc, #316] ; (80269a0 ) 8026864: 4614 mov r4, r2 8026866: 469e mov lr, r3 8026868: f104 0c20 add.w ip, r4, #32 802686c: 4675 mov r5, lr 802686e: 4626 mov r6, r4 8026870: ce0f ldmia r6!, {r0, r1, r2, r3} 8026872: 6028 str r0, [r5, #0] 8026874: 6069 str r1, [r5, #4] 8026876: 60aa str r2, [r5, #8] 8026878: 60eb str r3, [r5, #12] 802687a: 3410 adds r4, #16 802687c: f10e 0e10 add.w lr, lr, #16 8026880: 4564 cmp r4, ip 8026882: d1f3 bne.n 802686c 8026884: 4672 mov r2, lr 8026886: 4623 mov r3, r4 8026888: cb03 ldmia r3!, {r0, r1} 802688a: 6010 str r0, [r2, #0] 802688c: 6051 str r1, [r2, #4] f_close(&F); 802688e: 4843 ldr r0, [pc, #268] ; (802699c ) 8026890: f0a0 f95e bl 80c6b50 return FR_OK; 8026894: 2300 movs r3, #0 8026896: e149 b.n 8026b2c } else { f_close(&F); 8026898: 4840 ldr r0, [pc, #256] ; (802699c ) 802689a: f0a0 f959 bl 80c6b50 return FR_DISK_ERR; 802689e: 2301 movs r3, #1 80268a0: e144 b.n 8026b2c } } else { f_close(&F); 80268a2: 483e ldr r0, [pc, #248] ; (802699c ) 80268a4: f0a0 f954 bl 80c6b50 return FR_DISK_ERR; 80268a8: 2301 movs r3, #1 80268aa: e13f b.n 8026b2c } } } else { NextIndexPoint = 0; 80268ac: 4b39 ldr r3, [pc, #228] ; (8026994 ) 80268ae: 2200 movs r2, #0 80268b0: 601a str r2, [r3, #0] NextIndexMeas = 1; 80268b2: 4b39 ldr r3, [pc, #228] ; (8026998 ) 80268b4: 2201 movs r2, #1 80268b6: 601a str r2, [r3, #0] f_close(&F); 80268b8: 4838 ldr r0, [pc, #224] ; (802699c ) 80268ba: f0a0 f949 bl 80c6b50 return FR_OK; 80268be: 2300 movs r3, #0 80268c0: e134 b.n 8026b2c } } else { if(f_size(&F) > 0) 80268c2: 4b36 ldr r3, [pc, #216] ; (802699c ) 80268c4: e9d3 3404 ldrd r3, r4, [r3, #16] 80268c8: 4323 orrs r3, r4 80268ca: f000 811c beq.w 8026b06 { for(ii = 0; ii < NUM_POINTS; ii++) 80268ce: 2300 movs r3, #0 80268d0: 833b strh r3, [r7, #24] 80268d2: e0e8 b.n 8026aa6 { ifs = 0; 80268d4: f04f 0300 mov.w r3, #0 80268d8: f04f 0400 mov.w r4, #0 80268dc: e9c7 3404 strd r3, r4, [r7, #16] im = 0; 80268e0: 2300 movs r3, #0 80268e2: 623b str r3, [r7, #32] while(ifs < f_size(&F)) 80268e4: e0d2 b.n 8026a8c { res = f_lseek(&F, ifs); 80268e6: e9d7 2304 ldrd r2, r3, [r7, #16] 80268ea: 482c ldr r0, [pc, #176] ; (802699c ) 80268ec: f0a0 f950 bl 80c6b90 80268f0: 4603 mov r3, r0 80268f2: f887 3027 strb.w r3, [r7, #39] ; 0x27 if(res == FR_OK) 80268f6: f897 3027 ldrb.w r3, [r7, #39] ; 0x27 80268fa: 2b00 cmp r3, #0 80268fc: f040 80a2 bne.w 8026a44 { res = f_read(&F, sector, 29, &fk); 8026900: f107 0308 add.w r3, r7, #8 8026904: 221d movs r2, #29 8026906: 4926 ldr r1, [pc, #152] ; (80269a0 ) 8026908: 4824 ldr r0, [pc, #144] ; (802699c ) 802690a: f09f fd3a bl 80c6382 802690e: 4603 mov r3, r0 8026910: f887 3027 strb.w r3, [r7, #39] ; 0x27 if((res == FR_OK) && (fk == 29)) 8026914: f897 3027 ldrb.w r3, [r7, #39] ; 0x27 8026918: 2b00 cmp r3, #0 802691a: d16f bne.n 80269fc 802691c: 68bb ldr r3, [r7, #8] 802691e: 2b1d cmp r3, #29 8026920: d16c bne.n 80269fc { if((sector[e13] == 0xD) && (sector[e10] == 0xA)) 8026922: 4b1f ldr r3, [pc, #124] ; (80269a0 ) 8026924: 7edb ldrb r3, [r3, #27] 8026926: 2b0d cmp r3, #13 8026928: d12c bne.n 8026984 802692a: 4b1d ldr r3, [pc, #116] ; (80269a0 ) 802692c: 7f1b ldrb r3, [r3, #28] 802692e: 2b0a cmp r3, #10 8026930: d128 bne.n 8026984 { IM = sector[eMeas + 1]; 8026932: 4b1b ldr r3, [pc, #108] ; (80269a0 ) 8026934: 78db ldrb r3, [r3, #3] 8026936: 81fb strh r3, [r7, #14] IM = (IM << 8) | sector[eMeas]; 8026938: 89fb ldrh r3, [r7, #14] 802693a: 021b lsls r3, r3, #8 802693c: b21a sxth r2, r3 802693e: 4b18 ldr r3, [pc, #96] ; (80269a0 ) 8026940: 789b ldrb r3, [r3, #2] 8026942: b21b sxth r3, r3 8026944: 4313 orrs r3, r2 8026946: b21b sxth r3, r3 8026948: 81fb strh r3, [r7, #14] IP = sector[ePoint + 1]; 802694a: 4b15 ldr r3, [pc, #84] ; (80269a0 ) 802694c: 785b ldrb r3, [r3, #1] 802694e: 837b strh r3, [r7, #26] IP = (IP << 8) | sector[ePoint]; 8026950: 8b7b ldrh r3, [r7, #26] 8026952: 021b lsls r3, r3, #8 8026954: b21a sxth r2, r3 8026956: 4b12 ldr r3, [pc, #72] ; (80269a0 ) 8026958: 781b ldrb r3, [r3, #0] 802695a: b21b sxth r3, r3 802695c: 4313 orrs r3, r2 802695e: b21b sxth r3, r3 8026960: 837b strh r3, [r7, #26] if((IP == ii) && (IM > im) && (IM < 65536)) 8026962: 8b7a ldrh r2, [r7, #26] 8026964: 8b3b ldrh r3, [r7, #24] 8026966: 429a cmp r2, r3 8026968: d13f bne.n 80269ea 802696a: 89fa ldrh r2, [r7, #14] 802696c: 6a3b ldr r3, [r7, #32] 802696e: 429a cmp r2, r3 8026970: d93b bls.n 80269ea { im = IM; 8026972: 89fb ldrh r3, [r7, #14] 8026974: 623b str r3, [r7, #32] IndexMeas[ii] = (im + 1); 8026976: 8b3b ldrh r3, [r7, #24] 8026978: 6a3a ldr r2, [r7, #32] 802697a: 3201 adds r2, #1 802697c: 4903 ldr r1, [pc, #12] ; (802698c ) 802697e: f841 2023 str.w r2, [r1, r3, lsl #2] if((IP == ii) && (IM > im) && (IM < 65536)) 8026982: e032 b.n 80269ea } } else { for(i = 0; i < NUM_POINTS; i++) 8026984: 2300 movs r3, #0 8026986: 61fb str r3, [r7, #28] 8026988: e01f b.n 80269ca 802698a: bf00 nop 802698c: 20022ea0 .word 0x20022ea0 8026990: 20022980 .word 0x20022980 8026994: 20021f9c .word 0x20021f9c 8026998: 20022310 .word 0x20022310 802699c: 20022e20 .word 0x20022e20 80269a0: 2007c000 .word 0x2007c000 80269a4: 20022650 .word 0x20022650 { if(IndexMeas[i] > MaxIndexMeas) 80269a8: 4a62 ldr r2, [pc, #392] ; (8026b34 ) 80269aa: 69fb ldr r3, [r7, #28] 80269ac: f852 2023 ldr.w r2, [r2, r3, lsl #2] 80269b0: 4b61 ldr r3, [pc, #388] ; (8026b38 ) 80269b2: 681b ldr r3, [r3, #0] 80269b4: 429a cmp r2, r3 80269b6: d905 bls.n 80269c4 MaxIndexMeas = IndexMeas[i]; 80269b8: 4a5e ldr r2, [pc, #376] ; (8026b34 ) 80269ba: 69fb ldr r3, [r7, #28] 80269bc: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80269c0: 4a5d ldr r2, [pc, #372] ; (8026b38 ) 80269c2: 6013 str r3, [r2, #0] for(i = 0; i < NUM_POINTS; i++) 80269c4: 69fb ldr r3, [r7, #28] 80269c6: 3301 adds r3, #1 80269c8: 61fb str r3, [r7, #28] 80269ca: 69fb ldr r3, [r7, #28] 80269cc: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 80269d0: d3ea bcc.n 80269a8 } NextIndexPoint = IP; 80269d2: 8b7b ldrh r3, [r7, #26] 80269d4: 4a59 ldr r2, [pc, #356] ; (8026b3c ) 80269d6: 6013 str r3, [r2, #0] NextIndexMeas = MaxIndexMeas; 80269d8: 4b57 ldr r3, [pc, #348] ; (8026b38 ) 80269da: 681b ldr r3, [r3, #0] 80269dc: 4a58 ldr r2, [pc, #352] ; (8026b40 ) 80269de: 6013 str r3, [r2, #0] f_close(&F); 80269e0: 4858 ldr r0, [pc, #352] ; (8026b44 ) 80269e2: f0a0 f8b5 bl 80c6b50 return FR_INVALID_OBJECT; 80269e6: 2309 movs r3, #9 80269e8: e0a0 b.n 8026b2c if((IP == ii) && (IM > im) && (IM < 65536)) 80269ea: bf00 nop } ifs += 29; 80269ec: e9d7 3404 ldrd r3, r4, [r7, #16] 80269f0: 331d adds r3, #29 80269f2: f144 0400 adc.w r4, r4, #0 80269f6: e9c7 3404 strd r3, r4, [r7, #16] 80269fa: e047 b.n 8026a8c } else { for(i = 0; i < NUM_POINTS; i++) 80269fc: 2300 movs r3, #0 80269fe: 61fb str r3, [r7, #28] 8026a00: e010 b.n 8026a24 { if(IndexMeas[i] > MaxIndexMeas) 8026a02: 4a4c ldr r2, [pc, #304] ; (8026b34 ) 8026a04: 69fb ldr r3, [r7, #28] 8026a06: f852 2023 ldr.w r2, [r2, r3, lsl #2] 8026a0a: 4b4b ldr r3, [pc, #300] ; (8026b38 ) 8026a0c: 681b ldr r3, [r3, #0] 8026a0e: 429a cmp r2, r3 8026a10: d905 bls.n 8026a1e MaxIndexMeas = IndexMeas[i]; 8026a12: 4a48 ldr r2, [pc, #288] ; (8026b34 ) 8026a14: 69fb ldr r3, [r7, #28] 8026a16: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8026a1a: 4a47 ldr r2, [pc, #284] ; (8026b38 ) 8026a1c: 6013 str r3, [r2, #0] for(i = 0; i < NUM_POINTS; i++) 8026a1e: 69fb ldr r3, [r7, #28] 8026a20: 3301 adds r3, #1 8026a22: 61fb str r3, [r7, #28] 8026a24: 69fb ldr r3, [r7, #28] 8026a26: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 8026a2a: d3ea bcc.n 8026a02 } NextIndexPoint = IP; 8026a2c: 8b7b ldrh r3, [r7, #26] 8026a2e: 4a43 ldr r2, [pc, #268] ; (8026b3c ) 8026a30: 6013 str r3, [r2, #0] NextIndexMeas = MaxIndexMeas; 8026a32: 4b41 ldr r3, [pc, #260] ; (8026b38 ) 8026a34: 681b ldr r3, [r3, #0] 8026a36: 4a42 ldr r2, [pc, #264] ; (8026b40 ) 8026a38: 6013 str r3, [r2, #0] f_close(&F); 8026a3a: 4842 ldr r0, [pc, #264] ; (8026b44 ) 8026a3c: f0a0 f888 bl 80c6b50 return FR_DISK_ERR; 8026a40: 2301 movs r3, #1 8026a42: e073 b.n 8026b2c } } else { for(i = 0; i < NUM_POINTS; i++) 8026a44: 2300 movs r3, #0 8026a46: 61fb str r3, [r7, #28] 8026a48: e010 b.n 8026a6c { if(IndexMeas[i] > MaxIndexMeas) 8026a4a: 4a3a ldr r2, [pc, #232] ; (8026b34 ) 8026a4c: 69fb ldr r3, [r7, #28] 8026a4e: f852 2023 ldr.w r2, [r2, r3, lsl #2] 8026a52: 4b39 ldr r3, [pc, #228] ; (8026b38 ) 8026a54: 681b ldr r3, [r3, #0] 8026a56: 429a cmp r2, r3 8026a58: d905 bls.n 8026a66 MaxIndexMeas = IndexMeas[i]; 8026a5a: 4a36 ldr r2, [pc, #216] ; (8026b34 ) 8026a5c: 69fb ldr r3, [r7, #28] 8026a5e: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8026a62: 4a35 ldr r2, [pc, #212] ; (8026b38 ) 8026a64: 6013 str r3, [r2, #0] for(i = 0; i < NUM_POINTS; i++) 8026a66: 69fb ldr r3, [r7, #28] 8026a68: 3301 adds r3, #1 8026a6a: 61fb str r3, [r7, #28] 8026a6c: 69fb ldr r3, [r7, #28] 8026a6e: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 8026a72: d3ea bcc.n 8026a4a } NextIndexPoint = IP; 8026a74: 8b7b ldrh r3, [r7, #26] 8026a76: 4a31 ldr r2, [pc, #196] ; (8026b3c ) 8026a78: 6013 str r3, [r2, #0] NextIndexMeas = MaxIndexMeas; 8026a7a: 4b2f ldr r3, [pc, #188] ; (8026b38 ) 8026a7c: 681b ldr r3, [r3, #0] 8026a7e: 4a30 ldr r2, [pc, #192] ; (8026b40 ) 8026a80: 6013 str r3, [r2, #0] f_close(&F); 8026a82: 4830 ldr r0, [pc, #192] ; (8026b44 ) 8026a84: f0a0 f864 bl 80c6b50 return FR_DISK_ERR; 8026a88: 2301 movs r3, #1 8026a8a: e04f b.n 8026b2c while(ifs < f_size(&F)) 8026a8c: 4b2d ldr r3, [pc, #180] ; (8026b44 ) 8026a8e: e9d3 3404 ldrd r3, r4, [r3, #16] 8026a92: e9d7 1204 ldrd r1, r2, [r7, #16] 8026a96: 42a2 cmp r2, r4 8026a98: bf08 it eq 8026a9a: 4299 cmpeq r1, r3 8026a9c: f4ff af23 bcc.w 80268e6 for(ii = 0; ii < NUM_POINTS; ii++) 8026aa0: 8b3b ldrh r3, [r7, #24] 8026aa2: 3301 adds r3, #1 8026aa4: 833b strh r3, [r7, #24] 8026aa6: 8b3b ldrh r3, [r7, #24] 8026aa8: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 8026aac: f4ff af12 bcc.w 80268d4 } } } // end for(ii = 0; ...) if(res == FR_OK) 8026ab0: f897 3027 ldrb.w r3, [r7, #39] ; 0x27 8026ab4: 2b00 cmp r3, #0 8026ab6: d137 bne.n 8026b28 { for(i = 0; i < NUM_POINTS; i++) 8026ab8: 2300 movs r3, #0 8026aba: 61fb str r3, [r7, #28] 8026abc: e010 b.n 8026ae0 { if(IndexMeas[i] > MaxIndexMeas) 8026abe: 4a1d ldr r2, [pc, #116] ; (8026b34 ) 8026ac0: 69fb ldr r3, [r7, #28] 8026ac2: f852 2023 ldr.w r2, [r2, r3, lsl #2] 8026ac6: 4b1c ldr r3, [pc, #112] ; (8026b38 ) 8026ac8: 681b ldr r3, [r3, #0] 8026aca: 429a cmp r2, r3 8026acc: d905 bls.n 8026ada MaxIndexMeas = IndexMeas[i]; 8026ace: 4a19 ldr r2, [pc, #100] ; (8026b34 ) 8026ad0: 69fb ldr r3, [r7, #28] 8026ad2: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8026ad6: 4a18 ldr r2, [pc, #96] ; (8026b38 ) 8026ad8: 6013 str r3, [r2, #0] for(i = 0; i < NUM_POINTS; i++) 8026ada: 69fb ldr r3, [r7, #28] 8026adc: 3301 adds r3, #1 8026ade: 61fb str r3, [r7, #28] 8026ae0: 69fb ldr r3, [r7, #28] 8026ae2: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 8026ae6: d3ea bcc.n 8026abe } NextIndexPoint = IP; 8026ae8: 8b7b ldrh r3, [r7, #26] 8026aea: 4a14 ldr r2, [pc, #80] ; (8026b3c ) 8026aec: 6013 str r3, [r2, #0] NextIndexMeas = IndexMeas[NextIndexPoint]; 8026aee: 4b13 ldr r3, [pc, #76] ; (8026b3c ) 8026af0: 681b ldr r3, [r3, #0] 8026af2: 4a10 ldr r2, [pc, #64] ; (8026b34 ) 8026af4: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8026af8: 4a11 ldr r2, [pc, #68] ; (8026b40 ) 8026afa: 6013 str r3, [r2, #0] f_close(&F); 8026afc: 4811 ldr r0, [pc, #68] ; (8026b44 ) 8026afe: f0a0 f827 bl 80c6b50 return FR_OK; 8026b02: 2300 movs r3, #0 8026b04: e012 b.n 8026b2c } } else { NextIndexPoint = 0; 8026b06: 4b0d ldr r3, [pc, #52] ; (8026b3c ) 8026b08: 2200 movs r2, #0 8026b0a: 601a str r2, [r3, #0] NextIndexMeas = 1; 8026b0c: 4b0c ldr r3, [pc, #48] ; (8026b40 ) 8026b0e: 2201 movs r2, #1 8026b10: 601a str r2, [r3, #0] f_close(&F); 8026b12: 480c ldr r0, [pc, #48] ; (8026b44 ) 8026b14: f0a0 f81c bl 80c6b50 return FR_OK; 8026b18: 2300 movs r3, #0 8026b1a: e007 b.n 8026b2c } } } else { NextIndexPoint = 0; 8026b1c: 4b07 ldr r3, [pc, #28] ; (8026b3c ) 8026b1e: 2200 movs r2, #0 8026b20: 601a str r2, [r3, #0] NextIndexMeas = 1; 8026b22: 4b07 ldr r3, [pc, #28] ; (8026b40 ) 8026b24: 2201 movs r2, #1 8026b26: 601a str r2, [r3, #0] } return res; 8026b28: f897 3027 ldrb.w r3, [r7, #39] ; 0x27 } 8026b2c: 4618 mov r0, r3 8026b2e: 372c adds r7, #44 ; 0x2c 8026b30: 46bd mov sp, r7 8026b32: bdf0 pop {r4, r5, r6, r7, pc} 8026b34: 20022ea0 .word 0x20022ea0 8026b38: 20022980 .word 0x20022980 8026b3c: 20021f9c .word 0x20021f9c 8026b40: 20022310 .word 0x20022310 8026b44: 20022e20 .word 0x20022e20 08026b48 : FRESULT ReadTrendPTM(char* fname) { 8026b48: b5f0 push {r4, r5, r6, r7, lr} 8026b4a: b089 sub sp, #36 ; 0x24 8026b4c: af00 add r7, sp, #0 8026b4e: 6078 str r0, [r7, #4] FRESULT res = FR_OK; 8026b50: 2300 movs r3, #0 8026b52: 77fb strb r3, [r7, #31] uint16_t IP; UINT fk; FSIZE_t ifs; NumTrendMeas = 0; 8026b54: 4b92 ldr r3, [pc, #584] ; (8026da0 ) 8026b56: 2200 movs r2, #0 8026b58: 601a str r2, [r3, #0] memset(pTrendRAM, 0, 1000u * sizeof(TrendData_TypeDef)); 8026b5a: f644 6220 movw r2, #20000 ; 0x4e20 8026b5e: 2100 movs r1, #0 8026b60: 4890 ldr r0, [pc, #576] ; (8026da4 ) 8026b62: f0a6 fa71 bl 80cd048 if(CardState != MSD_READY) { 8026b66: 4b90 ldr r3, [pc, #576] ; (8026da8 ) 8026b68: 781b ldrb r3, [r3, #0] 8026b6a: b2db uxtb r3, r3 8026b6c: 2b03 cmp r3, #3 8026b6e: d001 beq.n 8026b74 return FR_NOT_READY; 8026b70: 2303 movs r3, #3 8026b72: e1a1 b.n 8026eb8 } if(res == FR_OK) 8026b74: 7ffb ldrb r3, [r7, #31] 8026b76: 2b00 cmp r3, #0 8026b78: f040 819d bne.w 8026eb6 { memset(FileName, 0, sizeof(FileName)); 8026b7c: 2228 movs r2, #40 ; 0x28 8026b7e: 2100 movs r1, #0 8026b80: 488a ldr r0, [pc, #552] ; (8026dac ) 8026b82: f0a6 fa61 bl 80cd048 strcpy(FileName, fname); 8026b86: 6879 ldr r1, [r7, #4] 8026b88: 4888 ldr r0, [pc, #544] ; (8026dac ) 8026b8a: f0a6 fb7a bl 80cd282 memset(PointPath, 0, sizeof(PointPath)); 8026b8e: f44f 7200 mov.w r2, #512 ; 0x200 8026b92: 2100 movs r1, #0 8026b94: 4886 ldr r0, [pc, #536] ; (8026db0 ) 8026b96: f0a6 fa57 bl 80cd048 memset(SearchPath, 0, sizeof(SearchPath)); 8026b9a: f44f 7200 mov.w r2, #512 ; 0x200 8026b9e: 2100 movs r1, #0 8026ba0: 4884 ldr r0, [pc, #528] ; (8026db4 ) 8026ba2: f0a6 fa51 bl 80cd048 SearchPath[0] = '0'; 8026ba6: 4b83 ldr r3, [pc, #524] ; (8026db4 ) 8026ba8: 2230 movs r2, #48 ; 0x30 8026baa: 701a strb r2, [r3, #0] SearchPath[1] = ':'; 8026bac: 4b81 ldr r3, [pc, #516] ; (8026db4 ) 8026bae: 223a movs r2, #58 ; 0x3a 8026bb0: 705a strb r2, [r3, #1] ScanMode = GET_PATH_TO_FILE; 8026bb2: 4b81 ldr r3, [pc, #516] ; (8026db8 ) 8026bb4: 2209 movs r2, #9 8026bb6: 701a strb r2, [r3, #0] FlagReturn = false; 8026bb8: 4b80 ldr r3, [pc, #512] ; (8026dbc ) 8026bba: 2200 movs r2, #0 8026bbc: 701a strb r2, [r3, #0] ScanFiles(SearchPath, 0); 8026bbe: 2100 movs r1, #0 8026bc0: 487c ldr r0, [pc, #496] ; (8026db4 ) 8026bc2: f004 fe73 bl 802b8ac if(PointPath[0] == 0) 8026bc6: 4b7a ldr r3, [pc, #488] ; (8026db0 ) 8026bc8: 781b ldrb r3, [r3, #0] 8026bca: 2b00 cmp r3, #0 8026bcc: d102 bne.n 8026bd4 { res = FR_NO_FILE; 8026bce: 2304 movs r3, #4 8026bd0: 77fb strb r3, [r7, #31] 8026bd2: e170 b.n 8026eb6 } else { res = f_open(&F, PointPath, FA_READ); 8026bd4: 2201 movs r2, #1 8026bd6: 4976 ldr r1, [pc, #472] ; (8026db0 ) 8026bd8: 4879 ldr r0, [pc, #484] ; (8026dc0 ) 8026bda: f09f f975 bl 80c5ec8 8026bde: 4603 mov r3, r0 8026be0: 77fb strb r3, [r7, #31] if(res == FR_OK) 8026be2: 7ffb ldrb r3, [r7, #31] 8026be4: 2b00 cmp r3, #0 8026be6: f040 8166 bne.w 8026eb6 { memset(sector, 0xff, sizeof(sector)); 8026bea: f44f 7200 mov.w r2, #512 ; 0x200 8026bee: 21ff movs r1, #255 ; 0xff 8026bf0: 4874 ldr r0, [pc, #464] ; (8026dc4 ) 8026bf2: f0a6 fa29 bl 80cd048 if(f_size(&F) == 0) 8026bf6: 4b72 ldr r3, [pc, #456] ; (8026dc0 ) 8026bf8: e9d3 3404 ldrd r3, r4, [r3, #16] 8026bfc: 4323 orrs r3, r4 8026bfe: d105 bne.n 8026c0c { f_close(&F); 8026c00: 486f ldr r0, [pc, #444] ; (8026dc0 ) 8026c02: f09f ffa5 bl 80c6b50 res = FR_OK; 8026c06: 2300 movs r3, #0 8026c08: 77fb strb r3, [r7, #31] 8026c0a: e154 b.n 8026eb6 } else { /////////////////////////////////////////////////////////////////////////////// res = f_lseek(&F, 0); 8026c0c: f04f 0200 mov.w r2, #0 8026c10: f04f 0300 mov.w r3, #0 8026c14: 486a ldr r0, [pc, #424] ; (8026dc0 ) 8026c16: f09f ffbb bl 80c6b90 8026c1a: 4603 mov r3, r0 8026c1c: 77fb strb r3, [r7, #31] if(res == FR_OK) 8026c1e: 7ffb ldrb r3, [r7, #31] 8026c20: 2b00 cmp r3, #0 8026c22: d170 bne.n 8026d06 { res = f_read(&F, sector, 6, &fk); 8026c24: f107 0308 add.w r3, r7, #8 8026c28: 2206 movs r2, #6 8026c2a: 4966 ldr r1, [pc, #408] ; (8026dc4 ) 8026c2c: 4864 ldr r0, [pc, #400] ; (8026dc0 ) 8026c2e: f09f fba8 bl 80c6382 8026c32: 4603 mov r3, r0 8026c34: 77fb strb r3, [r7, #31] if((res == FR_OK) && (fk == 6)) 8026c36: 7ffb ldrb r3, [r7, #31] 8026c38: 2b00 cmp r3, #0 8026c3a: d15f bne.n 8026cfc 8026c3c: 68bb ldr r3, [r7, #8] 8026c3e: 2b06 cmp r3, #6 8026c40: d15c bne.n 8026cfc { sector[6] = '\0'; 8026c42: 4b60 ldr r3, [pc, #384] ; (8026dc4 ) 8026c44: 2200 movs r2, #0 8026c46: 719a strb r2, [r3, #6] if(strcmp((char *) sector, "Extend")) 8026c48: 495f ldr r1, [pc, #380] ; (8026dc8 ) 8026c4a: 485e ldr r0, [pc, #376] ; (8026dc4 ) 8026c4c: f7f9 fb58 bl 8020300 8026c50: 4603 mov r3, r0 8026c52: 2b00 cmp r3, #0 8026c54: d006 beq.n 8026c64 { //Ñòàðàÿ âåðñèÿ ôàéëà ifs = 0; 8026c56: f04f 0300 mov.w r3, #0 8026c5a: f04f 0400 mov.w r4, #0 8026c5e: e9c7 3404 strd r3, r4, [r7, #16] if(strcmp((char *) sector, "Extend")) 8026c62: e055 b.n 8026d10 } else { //Ðàñøèðåííàÿ âåðñèÿ ôàéëà ñ êîììåíòàðèÿìè ifs = 96u + (sizeof(Comment) * NextIndexPoint); 8026c64: 4b59 ldr r3, [pc, #356] ; (8026dcc ) 8026c66: 681a ldr r2, [r3, #0] 8026c68: 4613 mov r3, r2 8026c6a: 009b lsls r3, r3, #2 8026c6c: 4413 add r3, r2 8026c6e: 00db lsls r3, r3, #3 8026c70: 3360 adds r3, #96 ; 0x60 8026c72: f04f 0400 mov.w r4, #0 8026c76: e9c7 3404 strd r3, r4, [r7, #16] res = f_lseek(&F, ifs); 8026c7a: e9d7 2304 ldrd r2, r3, [r7, #16] 8026c7e: 4850 ldr r0, [pc, #320] ; (8026dc0 ) 8026c80: f09f ff86 bl 80c6b90 8026c84: 4603 mov r3, r0 8026c86: 77fb strb r3, [r7, #31] if(res == FR_OK) 8026c88: 7ffb ldrb r3, [r7, #31] 8026c8a: 2b00 cmp r3, #0 8026c8c: d131 bne.n 8026cf2 { res = f_read(&F, sector, sizeof(Comment), &fk); 8026c8e: f107 0308 add.w r3, r7, #8 8026c92: 2228 movs r2, #40 ; 0x28 8026c94: 494b ldr r1, [pc, #300] ; (8026dc4 ) 8026c96: 484a ldr r0, [pc, #296] ; (8026dc0 ) 8026c98: f09f fb73 bl 80c6382 8026c9c: 4603 mov r3, r0 8026c9e: 77fb strb r3, [r7, #31] if((res == FR_OK) && (fk == sizeof(Comment))) 8026ca0: 7ffb ldrb r3, [r7, #31] 8026ca2: 2b00 cmp r3, #0 8026ca4: d120 bne.n 8026ce8 8026ca6: 68bb ldr r3, [r7, #8] 8026ca8: 2b28 cmp r3, #40 ; 0x28 8026caa: d11d bne.n 8026ce8 { memcpy(Comment, sector, sizeof(Comment)); 8026cac: 4b48 ldr r3, [pc, #288] ; (8026dd0 ) 8026cae: 4a45 ldr r2, [pc, #276] ; (8026dc4 ) 8026cb0: 4614 mov r4, r2 8026cb2: 469e mov lr, r3 8026cb4: f104 0c20 add.w ip, r4, #32 8026cb8: 4675 mov r5, lr 8026cba: 4626 mov r6, r4 8026cbc: ce0f ldmia r6!, {r0, r1, r2, r3} 8026cbe: 6028 str r0, [r5, #0] 8026cc0: 6069 str r1, [r5, #4] 8026cc2: 60aa str r2, [r5, #8] 8026cc4: 60eb str r3, [r5, #12] 8026cc6: 3410 adds r4, #16 8026cc8: f10e 0e10 add.w lr, lr, #16 8026ccc: 4564 cmp r4, ip 8026cce: d1f3 bne.n 8026cb8 8026cd0: 4672 mov r2, lr 8026cd2: 4623 mov r3, r4 8026cd4: cb03 ldmia r3!, {r0, r1} 8026cd6: 6010 str r0, [r2, #0] 8026cd8: 6051 str r1, [r2, #4] ifs = 96u + (NUM_POINTS * sizeof(Comment)); 8026cda: f649 43a0 movw r3, #40096 ; 0x9ca0 8026cde: f04f 0400 mov.w r4, #0 8026ce2: e9c7 3404 strd r3, r4, [r7, #16] if(strcmp((char *) sector, "Extend")) 8026ce6: e013 b.n 8026d10 } else { f_close(&F); 8026ce8: 4835 ldr r0, [pc, #212] ; (8026dc0 ) 8026cea: f09f ff31 bl 80c6b50 return FR_DISK_ERR; 8026cee: 2301 movs r3, #1 8026cf0: e0e2 b.n 8026eb8 } } else { f_close(&F); 8026cf2: 4833 ldr r0, [pc, #204] ; (8026dc0 ) 8026cf4: f09f ff2c bl 80c6b50 return FR_DISK_ERR; 8026cf8: 2301 movs r3, #1 8026cfa: e0dd b.n 8026eb8 } } } else { f_close(&F); 8026cfc: 4830 ldr r0, [pc, #192] ; (8026dc0 ) 8026cfe: f09f ff27 bl 80c6b50 return FR_DISK_ERR; 8026d02: 2301 movs r3, #1 8026d04: e0d8 b.n 8026eb8 } } else { f_close(&F); 8026d06: 482e ldr r0, [pc, #184] ; (8026dc0 ) 8026d08: f09f ff22 bl 80c6b50 return FR_DISK_ERR; 8026d0c: 2301 movs r3, #1 8026d0e: e0d3 b.n 8026eb8 } /////////////////////////////////////////////////////////////////////////////// while(ifs < f_size(&F)) 8026d10: e0c2 b.n 8026e98 { res = f_lseek(&F, ifs); 8026d12: e9d7 2304 ldrd r2, r3, [r7, #16] 8026d16: 482a ldr r0, [pc, #168] ; (8026dc0 ) 8026d18: f09f ff3a bl 80c6b90 8026d1c: 4603 mov r3, r0 8026d1e: 77fb strb r3, [r7, #31] if(res == FR_OK) 8026d20: 7ffb ldrb r3, [r7, #31] 8026d22: 2b00 cmp r3, #0 8026d24: f040 80b3 bne.w 8026e8e { res = f_read(&F, sector, 29, &fk); 8026d28: f107 0308 add.w r3, r7, #8 8026d2c: 221d movs r2, #29 8026d2e: 4925 ldr r1, [pc, #148] ; (8026dc4 ) 8026d30: 4823 ldr r0, [pc, #140] ; (8026dc0 ) 8026d32: f09f fb26 bl 80c6382 8026d36: 4603 mov r3, r0 8026d38: 77fb strb r3, [r7, #31] if((res == FR_OK) && (fk == 29)) 8026d3a: 7ffb ldrb r3, [r7, #31] 8026d3c: 2b00 cmp r3, #0 8026d3e: f040 80a1 bne.w 8026e84 8026d42: 68bb ldr r3, [r7, #8] 8026d44: 2b1d cmp r3, #29 8026d46: f040 809d bne.w 8026e84 { if((sector[e13] == 0xD) && (sector[e10] == 0xA)) 8026d4a: 4b1e ldr r3, [pc, #120] ; (8026dc4 ) 8026d4c: 7edb ldrb r3, [r3, #27] 8026d4e: 2b0d cmp r3, #13 8026d50: f040 808b bne.w 8026e6a 8026d54: 4b1b ldr r3, [pc, #108] ; (8026dc4 ) 8026d56: 7f1b ldrb r3, [r3, #28] 8026d58: 2b0a cmp r3, #10 8026d5a: f040 8086 bne.w 8026e6a { IP = sector[ePoint + 1]; 8026d5e: 4b19 ldr r3, [pc, #100] ; (8026dc4 ) 8026d60: 785b ldrb r3, [r3, #1] 8026d62: 81fb strh r3, [r7, #14] IP = (IP << 8) | sector[ePoint]; 8026d64: 89fb ldrh r3, [r7, #14] 8026d66: 021b lsls r3, r3, #8 8026d68: b21a sxth r2, r3 8026d6a: 4b16 ldr r3, [pc, #88] ; (8026dc4 ) 8026d6c: 781b ldrb r3, [r3, #0] 8026d6e: b21b sxth r3, r3 8026d70: 4313 orrs r3, r2 8026d72: b21b sxth r3, r3 8026d74: 81fb strh r3, [r7, #14] if(NextIndexPoint == IP) 8026d76: 89fa ldrh r2, [r7, #14] 8026d78: 4b14 ldr r3, [pc, #80] ; (8026dcc ) 8026d7a: 681b ldr r3, [r3, #0] 8026d7c: 429a cmp r2, r3 8026d7e: d179 bne.n 8026e74 { TrendData.Aivs = sector[eAivs]; 8026d80: 4b10 ldr r3, [pc, #64] ; (8026dc4 ) 8026d82: 7d1a ldrb r2, [r3, #20] 8026d84: 4b13 ldr r3, [pc, #76] ; (8026dd4 ) 8026d86: 741a strb r2, [r3, #16] TrendData.Vivs = sector[eVivs]; 8026d88: 4b0e ldr r3, [pc, #56] ; (8026dc4 ) 8026d8a: 7d5a ldrb r2, [r3, #21] 8026d8c: 4b11 ldr r3, [pc, #68] ; (8026dd4 ) 8026d8e: 745a strb r2, [r3, #17] TrendData.Sivs = sector[eSivs]; 8026d90: 4b0c ldr r3, [pc, #48] ; (8026dc4 ) 8026d92: 7d9a ldrb r2, [r3, #22] 8026d94: 4b0f ldr r3, [pc, #60] ; (8026dd4 ) 8026d96: 749a strb r2, [r3, #18] for(i = 0; i < 4; i++) 8026d98: 2300 movs r3, #0 8026d9a: 61bb str r3, [r7, #24] 8026d9c: e03c b.n 8026e18 8026d9e: bf00 nop 8026da0: 20020e10 .word 0x20020e10 8026da4: 640a0000 .word 0x640a0000 8026da8: 2002164c .word 0x2002164c 8026dac: 20022bb8 .word 0x20022bb8 8026db0: 200229b4 .word 0x200229b4 8026db4: 20021d80 .word 0x20021d80 8026db8: 20020ddf .word 0x20020ddf 8026dbc: 20020dde .word 0x20020dde 8026dc0: 20022e20 .word 0x20022e20 8026dc4: 2007c000 .word 0x2007c000 8026dc8: 080ce494 .word 0x080ce494 8026dcc: 20021f9c .word 0x20021f9c 8026dd0: 20022650 .word 0x20022650 8026dd4: 20021f88 .word 0x20021f88 { TrendData.Aval.ch[i] = sector[eAval + i]; 8026dd8: 69bb ldr r3, [r7, #24] 8026dda: 3304 adds r3, #4 8026ddc: 4a38 ldr r2, [pc, #224] ; (8026ec0 ) 8026dde: 5cd1 ldrb r1, [r2, r3] 8026de0: 4a38 ldr r2, [pc, #224] ; (8026ec4 ) 8026de2: 69bb ldr r3, [r7, #24] 8026de4: 4413 add r3, r2 8026de6: 460a mov r2, r1 8026de8: 701a strb r2, [r3, #0] TrendData.Vval.ch[i] = sector[eVval + i]; 8026dea: 69bb ldr r3, [r7, #24] 8026dec: 3308 adds r3, #8 8026dee: 4a34 ldr r2, [pc, #208] ; (8026ec0 ) 8026df0: 5cd1 ldrb r1, [r2, r3] 8026df2: 4a34 ldr r2, [pc, #208] ; (8026ec4 ) 8026df4: 69bb ldr r3, [r7, #24] 8026df6: 4413 add r3, r2 8026df8: 3304 adds r3, #4 8026dfa: 460a mov r2, r1 8026dfc: 701a strb r2, [r3, #0] TrendData.Sval.ch[i] = sector[eSval + i]; 8026dfe: 69bb ldr r3, [r7, #24] 8026e00: 330c adds r3, #12 8026e02: 4a2f ldr r2, [pc, #188] ; (8026ec0 ) 8026e04: 5cd1 ldrb r1, [r2, r3] 8026e06: 4a2f ldr r2, [pc, #188] ; (8026ec4 ) 8026e08: 69bb ldr r3, [r7, #24] 8026e0a: 4413 add r3, r2 8026e0c: 3308 adds r3, #8 8026e0e: 460a mov r2, r1 8026e10: 701a strb r2, [r3, #0] for(i = 0; i < 4; i++) 8026e12: 69bb ldr r3, [r7, #24] 8026e14: 3301 adds r3, #1 8026e16: 61bb str r3, [r7, #24] 8026e18: 69bb ldr r3, [r7, #24] 8026e1a: 2b03 cmp r3, #3 8026e1c: d9dc bls.n 8026dd8 } TrendData.DateTime = (sector[eDateTime + 3] << 24) | (sector[eDateTime + 2] << 16) | (sector[eDateTime + 1] << 8) | sector[eDateTime]; 8026e1e: 4b28 ldr r3, [pc, #160] ; (8026ec0 ) 8026e20: 7cdb ldrb r3, [r3, #19] 8026e22: 061a lsls r2, r3, #24 8026e24: 4b26 ldr r3, [pc, #152] ; (8026ec0 ) 8026e26: 7c9b ldrb r3, [r3, #18] 8026e28: 041b lsls r3, r3, #16 8026e2a: 431a orrs r2, r3 8026e2c: 4b24 ldr r3, [pc, #144] ; (8026ec0 ) 8026e2e: 7c5b ldrb r3, [r3, #17] 8026e30: 021b lsls r3, r3, #8 8026e32: 4313 orrs r3, r2 8026e34: 4a22 ldr r2, [pc, #136] ; (8026ec0 ) 8026e36: 7c12 ldrb r2, [r2, #16] 8026e38: 4313 orrs r3, r2 8026e3a: 461a mov r2, r3 8026e3c: 4b21 ldr r3, [pc, #132] ; (8026ec4 ) 8026e3e: 60da str r2, [r3, #12] TrendRAM(NumTrendMeas++) = TrendData; 8026e40: 4b21 ldr r3, [pc, #132] ; (8026ec8 ) 8026e42: 681a ldr r2, [r3, #0] 8026e44: 1c53 adds r3, r2, #1 8026e46: 4920 ldr r1, [pc, #128] ; (8026ec8 ) 8026e48: 600b str r3, [r1, #0] 8026e4a: 4613 mov r3, r2 8026e4c: 009b lsls r3, r3, #2 8026e4e: 4413 add r3, r2 8026e50: 009b lsls r3, r3, #2 8026e52: 461a mov r2, r3 8026e54: 4b1d ldr r3, [pc, #116] ; (8026ecc ) 8026e56: 4413 add r3, r2 8026e58: 461a mov r2, r3 8026e5a: 4b1a ldr r3, [pc, #104] ; (8026ec4 ) 8026e5c: 4614 mov r4, r2 8026e5e: 461d mov r5, r3 8026e60: cd0f ldmia r5!, {r0, r1, r2, r3} 8026e62: c40f stmia r4!, {r0, r1, r2, r3} 8026e64: 682b ldr r3, [r5, #0] 8026e66: 6023 str r3, [r4, #0] if(NextIndexPoint == IP) 8026e68: e004 b.n 8026e74 } } else { //BAD DATA IN FILE!!!!!!!!!!!!!! f_close(&F); 8026e6a: 4819 ldr r0, [pc, #100] ; (8026ed0 ) 8026e6c: f09f fe70 bl 80c6b50 return FR_INVALID_OBJECT; 8026e70: 2309 movs r3, #9 8026e72: e021 b.n 8026eb8 } ifs += 29; 8026e74: e9d7 3404 ldrd r3, r4, [r7, #16] 8026e78: 331d adds r3, #29 8026e7a: f144 0400 adc.w r4, r4, #0 8026e7e: e9c7 3404 strd r3, r4, [r7, #16] 8026e82: e009 b.n 8026e98 } else { f_close(&F); 8026e84: 4812 ldr r0, [pc, #72] ; (8026ed0 ) 8026e86: f09f fe63 bl 80c6b50 return FR_DISK_ERR; 8026e8a: 2301 movs r3, #1 8026e8c: e014 b.n 8026eb8 } } else { f_close(&F); 8026e8e: 4810 ldr r0, [pc, #64] ; (8026ed0 ) 8026e90: f09f fe5e bl 80c6b50 return FR_DISK_ERR; 8026e94: 2301 movs r3, #1 8026e96: e00f b.n 8026eb8 while(ifs < f_size(&F)) 8026e98: 4b0d ldr r3, [pc, #52] ; (8026ed0 ) 8026e9a: e9d3 3404 ldrd r3, r4, [r3, #16] 8026e9e: e9d7 1204 ldrd r1, r2, [r7, #16] 8026ea2: 42a2 cmp r2, r4 8026ea4: bf08 it eq 8026ea6: 4299 cmpeq r1, r3 8026ea8: f4ff af33 bcc.w 8026d12 } /* * Èçìåðåíèå íå îáíàðóæåíî */ f_close(&F); 8026eac: 4808 ldr r0, [pc, #32] ; (8026ed0 ) 8026eae: f09f fe4f bl 80c6b50 return FR_OK; 8026eb2: 2300 movs r3, #0 8026eb4: e000 b.n 8026eb8 } } } } return res; 8026eb6: 7ffb ldrb r3, [r7, #31] } 8026eb8: 4618 mov r0, r3 8026eba: 3724 adds r7, #36 ; 0x24 8026ebc: 46bd mov sp, r7 8026ebe: bdf0 pop {r4, r5, r6, r7, pc} 8026ec0: 2007c000 .word 0x2007c000 8026ec4: 20021f88 .word 0x20021f88 8026ec8: 20020e10 .word 0x20020e10 8026ecc: 640a0000 .word 0x640a0000 8026ed0: 20022e20 .word 0x20022e20 08026ed4 : FRESULT ReadFilePTM(char* fname) //TODO Read PTM { 8026ed4: b5f0 push {r4, r5, r6, r7, lr} 8026ed6: b091 sub sp, #68 ; 0x44 8026ed8: af00 add r7, sp, #0 8026eda: 6078 str r0, [r7, #4] FRESULT res = FR_OK; 8026edc: 2300 movs r3, #0 8026ede: f887 303f strb.w r3, [r7, #63] ; 0x3f uint32_t i, DateTime, Year, Month, Day, Hour, Min, Sec; uint16_t IM, IP; UINT fk; FSIZE_t ifs; FileDataExist = false; 8026ee2: 4b88 ldr r3, [pc, #544] ; (8027104 ) 8026ee4: 2200 movs r2, #0 8026ee6: 701a strb r2, [r3, #0] ReadFileData.Aivs = 0; 8026ee8: 4b87 ldr r3, [pc, #540] ; (8027108 ) 8026eea: 2200 movs r2, #0 8026eec: f883 202c strb.w r2, [r3, #44] ; 0x2c ReadFileData.Vivs = 0; 8026ef0: 4b85 ldr r3, [pc, #532] ; (8027108 ) 8026ef2: 2200 movs r2, #0 8026ef4: f883 202d strb.w r2, [r3, #45] ; 0x2d ReadFileData.Sivs = 0; 8026ef8: 4b83 ldr r3, [pc, #524] ; (8027108 ) 8026efa: 2200 movs r2, #0 8026efc: f883 202e strb.w r2, [r3, #46] ; 0x2e ReadFileData.Aval.fl = -1.0f; 8026f00: 4b81 ldr r3, [pc, #516] ; (8027108 ) 8026f02: 4a82 ldr r2, [pc, #520] ; (802710c ) 8026f04: 601a str r2, [r3, #0] ReadFileData.Vval.fl = -1.0f; 8026f06: 4b80 ldr r3, [pc, #512] ; (8027108 ) 8026f08: 4a80 ldr r2, [pc, #512] ; (802710c ) 8026f0a: 605a str r2, [r3, #4] ReadFileData.Sval.fl = -1.0f; 8026f0c: 4b7e ldr r3, [pc, #504] ; (8027108 ) 8026f0e: 4a7f ldr r2, [pc, #508] ; (802710c ) 8026f10: 609a str r2, [r3, #8] ReadFileData.Fval.fl = -1.0f; 8026f12: 4b7d ldr r3, [pc, #500] ; (8027108 ) 8026f14: 4a7d ldr r2, [pc, #500] ; (802710c ) 8026f16: 60da str r2, [r3, #12] memset((void *) &TimeFileData, 0, sizeof(RTC_TimeTypeDef)); 8026f18: 2218 movs r2, #24 8026f1a: 2100 movs r1, #0 8026f1c: 487c ldr r0, [pc, #496] ; (8027110 ) 8026f1e: f0a6 f893 bl 80cd048 memset((void *) &DateFileData, 0, sizeof(RTC_DateTypeDef)); 8026f22: 2204 movs r2, #4 8026f24: 2100 movs r1, #0 8026f26: 487b ldr r0, [pc, #492] ; (8027114 ) 8026f28: f0a6 f88e bl 80cd048 memset(Comment, 0, sizeof(Comment)); 8026f2c: 2228 movs r2, #40 ; 0x28 8026f2e: 2100 movs r1, #0 8026f30: 4879 ldr r0, [pc, #484] ; (8027118 ) 8026f32: f0a6 f889 bl 80cd048 if(CardState != MSD_READY) { 8026f36: 4b79 ldr r3, [pc, #484] ; (802711c ) 8026f38: 781b ldrb r3, [r3, #0] 8026f3a: b2db uxtb r3, r3 8026f3c: 2b03 cmp r3, #3 8026f3e: d001 beq.n 8026f44 return FR_NOT_READY; 8026f40: 2303 movs r3, #3 8026f42: e233 b.n 80273ac } //res = f_mount(&fs, SDPath, 1); if(res == FR_OK) 8026f44: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 8026f48: 2b00 cmp r3, #0 8026f4a: f040 822d bne.w 80273a8 { memset(FileName, 0, sizeof(FileName)); 8026f4e: 2228 movs r2, #40 ; 0x28 8026f50: 2100 movs r1, #0 8026f52: 4873 ldr r0, [pc, #460] ; (8027120 ) 8026f54: f0a6 f878 bl 80cd048 strcpy(FileName, fname); 8026f58: 6879 ldr r1, [r7, #4] 8026f5a: 4871 ldr r0, [pc, #452] ; (8027120 ) 8026f5c: f0a6 f991 bl 80cd282 memset(PointPath, 0, sizeof(PointPath)); 8026f60: f44f 7200 mov.w r2, #512 ; 0x200 8026f64: 2100 movs r1, #0 8026f66: 486f ldr r0, [pc, #444] ; (8027124 ) 8026f68: f0a6 f86e bl 80cd048 memset(SearchPath, 0, sizeof(SearchPath)); 8026f6c: f44f 7200 mov.w r2, #512 ; 0x200 8026f70: 2100 movs r1, #0 8026f72: 486d ldr r0, [pc, #436] ; (8027128 ) 8026f74: f0a6 f868 bl 80cd048 SearchPath[0] = '0'; 8026f78: 4b6b ldr r3, [pc, #428] ; (8027128 ) 8026f7a: 2230 movs r2, #48 ; 0x30 8026f7c: 701a strb r2, [r3, #0] SearchPath[1] = ':'; 8026f7e: 4b6a ldr r3, [pc, #424] ; (8027128 ) 8026f80: 223a movs r2, #58 ; 0x3a 8026f82: 705a strb r2, [r3, #1] ScanMode = GET_PATH_TO_FILE; 8026f84: 4b69 ldr r3, [pc, #420] ; (802712c ) 8026f86: 2209 movs r2, #9 8026f88: 701a strb r2, [r3, #0] FlagReturn = false; 8026f8a: 4b69 ldr r3, [pc, #420] ; (8027130 ) 8026f8c: 2200 movs r2, #0 8026f8e: 701a strb r2, [r3, #0] ScanFiles(SearchPath, 0); 8026f90: 2100 movs r1, #0 8026f92: 4865 ldr r0, [pc, #404] ; (8027128 ) 8026f94: f004 fc8a bl 802b8ac if(PointPath[0] == 0) 8026f98: 4b62 ldr r3, [pc, #392] ; (8027124 ) 8026f9a: 781b ldrb r3, [r3, #0] 8026f9c: 2b00 cmp r3, #0 8026f9e: d103 bne.n 8026fa8 { res = FR_NO_FILE; 8026fa0: 2304 movs r3, #4 8026fa2: f887 303f strb.w r3, [r7, #63] ; 0x3f 8026fa6: e1ff b.n 80273a8 } else { res = f_open(&F, PointPath, FA_READ); 8026fa8: 2201 movs r2, #1 8026faa: 495e ldr r1, [pc, #376] ; (8027124 ) 8026fac: 4861 ldr r0, [pc, #388] ; (8027134 ) 8026fae: f09e ff8b bl 80c5ec8 8026fb2: 4603 mov r3, r0 8026fb4: f887 303f strb.w r3, [r7, #63] ; 0x3f if(res == FR_OK) 8026fb8: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 8026fbc: 2b00 cmp r3, #0 8026fbe: f040 81f3 bne.w 80273a8 { memset(sector, 0xff, sizeof(sector)); 8026fc2: f44f 7200 mov.w r2, #512 ; 0x200 8026fc6: 21ff movs r1, #255 ; 0xff 8026fc8: 485b ldr r0, [pc, #364] ; (8027138 ) 8026fca: f0a6 f83d bl 80cd048 IM = (uint16_t) NextIndexMeas; 8026fce: 4b5b ldr r3, [pc, #364] ; (802713c ) 8026fd0: 681b ldr r3, [r3, #0] 8026fd2: 85fb strh r3, [r7, #46] ; 0x2e if(f_size(&F) == 0) 8026fd4: 4b57 ldr r3, [pc, #348] ; (8027134 ) 8026fd6: e9d3 3404 ldrd r3, r4, [r3, #16] 8026fda: 4323 orrs r3, r4 8026fdc: d106 bne.n 8026fec { f_close(&F); 8026fde: 4855 ldr r0, [pc, #340] ; (8027134 ) 8026fe0: f09f fdb6 bl 80c6b50 res = FR_OK; 8026fe4: 2300 movs r3, #0 8026fe6: f887 303f strb.w r3, [r7, #63] ; 0x3f 8026fea: e1dd b.n 80273a8 } else { /////////////////////////////////////////////////////////////////////////////// res = f_lseek(&F, 0); 8026fec: f04f 0200 mov.w r2, #0 8026ff0: f04f 0300 mov.w r3, #0 8026ff4: 484f ldr r0, [pc, #316] ; (8027134 ) 8026ff6: f09f fdcb bl 80c6b90 8026ffa: 4603 mov r3, r0 8026ffc: f887 303f strb.w r3, [r7, #63] ; 0x3f if(res == FR_OK) 8027000: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 8027004: 2b00 cmp r3, #0 8027006: d176 bne.n 80270f6 { res = f_read(&F, sector, 6, &fk); 8027008: f107 030c add.w r3, r7, #12 802700c: 2206 movs r2, #6 802700e: 494a ldr r1, [pc, #296] ; (8027138 ) 8027010: 4848 ldr r0, [pc, #288] ; (8027134 ) 8027012: f09f f9b6 bl 80c6382 8027016: 4603 mov r3, r0 8027018: f887 303f strb.w r3, [r7, #63] ; 0x3f if((res == FR_OK) && (fk == 6)) 802701c: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 8027020: 2b00 cmp r3, #0 8027022: d163 bne.n 80270ec 8027024: 68fb ldr r3, [r7, #12] 8027026: 2b06 cmp r3, #6 8027028: d160 bne.n 80270ec { sector[6] = '\0'; 802702a: 4b43 ldr r3, [pc, #268] ; (8027138 ) 802702c: 2200 movs r2, #0 802702e: 719a strb r2, [r3, #6] if(strcmp((char *) sector, "Extend")) 8027030: 4943 ldr r1, [pc, #268] ; (8027140 ) 8027032: 4841 ldr r0, [pc, #260] ; (8027138 ) 8027034: f7f9 f964 bl 8020300 8027038: 4603 mov r3, r0 802703a: 2b00 cmp r3, #0 802703c: d006 beq.n 802704c { //Ñòàðàÿ âåðñèÿ ôàéëà ifs = 0; 802703e: f04f 0300 mov.w r3, #0 8027042: f04f 0400 mov.w r4, #0 8027046: e9c7 340c strd r3, r4, [r7, #48] ; 0x30 if(strcmp((char *) sector, "Extend")) 802704a: e059 b.n 8027100 } else { //Ðàñøèðåííàÿ âåðñèÿ ôàéëà ñ êîììåíòàðèÿìè ifs = 96u + (sizeof(Comment) * NextIndexPoint); 802704c: 4b3d ldr r3, [pc, #244] ; (8027144 ) 802704e: 681a ldr r2, [r3, #0] 8027050: 4613 mov r3, r2 8027052: 009b lsls r3, r3, #2 8027054: 4413 add r3, r2 8027056: 00db lsls r3, r3, #3 8027058: 3360 adds r3, #96 ; 0x60 802705a: f04f 0400 mov.w r4, #0 802705e: e9c7 340c strd r3, r4, [r7, #48] ; 0x30 res = f_lseek(&F, ifs); 8027062: e9d7 230c ldrd r2, r3, [r7, #48] ; 0x30 8027066: 4833 ldr r0, [pc, #204] ; (8027134 ) 8027068: f09f fd92 bl 80c6b90 802706c: 4603 mov r3, r0 802706e: f887 303f strb.w r3, [r7, #63] ; 0x3f if(res == FR_OK) 8027072: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 8027076: 2b00 cmp r3, #0 8027078: d133 bne.n 80270e2 { res = f_read(&F, sector, sizeof(Comment), &fk); 802707a: f107 030c add.w r3, r7, #12 802707e: 2228 movs r2, #40 ; 0x28 8027080: 492d ldr r1, [pc, #180] ; (8027138 ) 8027082: 482c ldr r0, [pc, #176] ; (8027134 ) 8027084: f09f f97d bl 80c6382 8027088: 4603 mov r3, r0 802708a: f887 303f strb.w r3, [r7, #63] ; 0x3f if((res == FR_OK) && (fk == sizeof(Comment))) 802708e: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 8027092: 2b00 cmp r3, #0 8027094: d120 bne.n 80270d8 8027096: 68fb ldr r3, [r7, #12] 8027098: 2b28 cmp r3, #40 ; 0x28 802709a: d11d bne.n 80270d8 { memcpy(Comment, sector, sizeof(Comment)); 802709c: 4b1e ldr r3, [pc, #120] ; (8027118 ) 802709e: 4a26 ldr r2, [pc, #152] ; (8027138 ) 80270a0: 4614 mov r4, r2 80270a2: 469e mov lr, r3 80270a4: f104 0c20 add.w ip, r4, #32 80270a8: 4675 mov r5, lr 80270aa: 4626 mov r6, r4 80270ac: ce0f ldmia r6!, {r0, r1, r2, r3} 80270ae: 6028 str r0, [r5, #0] 80270b0: 6069 str r1, [r5, #4] 80270b2: 60aa str r2, [r5, #8] 80270b4: 60eb str r3, [r5, #12] 80270b6: 3410 adds r4, #16 80270b8: f10e 0e10 add.w lr, lr, #16 80270bc: 4564 cmp r4, ip 80270be: d1f3 bne.n 80270a8 80270c0: 4672 mov r2, lr 80270c2: 4623 mov r3, r4 80270c4: cb03 ldmia r3!, {r0, r1} 80270c6: 6010 str r0, [r2, #0] 80270c8: 6051 str r1, [r2, #4] ifs = 96u + (NUM_POINTS * sizeof(Comment)); 80270ca: f649 43a0 movw r3, #40096 ; 0x9ca0 80270ce: f04f 0400 mov.w r4, #0 80270d2: e9c7 340c strd r3, r4, [r7, #48] ; 0x30 if(strcmp((char *) sector, "Extend")) 80270d6: e013 b.n 8027100 } else { f_close(&F); 80270d8: 4816 ldr r0, [pc, #88] ; (8027134 ) 80270da: f09f fd39 bl 80c6b50 return FR_DISK_ERR; 80270de: 2301 movs r3, #1 80270e0: e164 b.n 80273ac } } else { f_close(&F); 80270e2: 4814 ldr r0, [pc, #80] ; (8027134 ) 80270e4: f09f fd34 bl 80c6b50 return FR_DISK_ERR; 80270e8: 2301 movs r3, #1 80270ea: e15f b.n 80273ac } } } else { f_close(&F); 80270ec: 4811 ldr r0, [pc, #68] ; (8027134 ) 80270ee: f09f fd2f bl 80c6b50 return FR_DISK_ERR; 80270f2: 2301 movs r3, #1 80270f4: e15a b.n 80273ac } } else { f_close(&F); 80270f6: 480f ldr r0, [pc, #60] ; (8027134 ) 80270f8: f09f fd2a bl 80c6b50 return FR_DISK_ERR; 80270fc: 2301 movs r3, #1 80270fe: e155 b.n 80273ac } /////////////////////////////////////////////////////////////////////////////// while(ifs < f_size(&F)) 8027100: e140 b.n 8027384 8027102: bf00 nop 8027104: 20020dd3 .word 0x20020dd3 8027108: 200226a0 .word 0x200226a0 802710c: bf800000 .word 0xbf800000 8027110: 20022968 .word 0x20022968 8027114: 200225f0 .word 0x200225f0 8027118: 20022650 .word 0x20022650 802711c: 2002164c .word 0x2002164c 8027120: 20022bb8 .word 0x20022bb8 8027124: 200229b4 .word 0x200229b4 8027128: 20021d80 .word 0x20021d80 802712c: 20020ddf .word 0x20020ddf 8027130: 20020dde .word 0x20020dde 8027134: 20022e20 .word 0x20022e20 8027138: 2007c000 .word 0x2007c000 802713c: 20022310 .word 0x20022310 8027140: 080ce494 .word 0x080ce494 8027144: 20021f9c .word 0x20021f9c { res = f_lseek(&F, ifs); 8027148: e9d7 230c ldrd r2, r3, [r7, #48] ; 0x30 802714c: 4899 ldr r0, [pc, #612] ; (80273b4 ) 802714e: f09f fd1f bl 80c6b90 8027152: 4603 mov r3, r0 8027154: f887 303f strb.w r3, [r7, #63] ; 0x3f if(res == FR_OK) 8027158: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 802715c: 2b00 cmp r3, #0 802715e: f040 8107 bne.w 8027370 { res = f_read(&F, sector, 29, &fk); 8027162: f107 030c add.w r3, r7, #12 8027166: 221d movs r2, #29 8027168: 4993 ldr r1, [pc, #588] ; (80273b8 ) 802716a: 4892 ldr r0, [pc, #584] ; (80273b4 ) 802716c: f09f f909 bl 80c6382 8027170: 4603 mov r3, r0 8027172: f887 303f strb.w r3, [r7, #63] ; 0x3f if((res == FR_OK) && (fk == 29)) 8027176: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 802717a: 2b00 cmp r3, #0 802717c: f040 80ee bne.w 802735c 8027180: 68fb ldr r3, [r7, #12] 8027182: 2b1d cmp r3, #29 8027184: f040 80ea bne.w 802735c { if((sector[e13] == 0xD) && (sector[e10] == 0xA)) 8027188: 4b8b ldr r3, [pc, #556] ; (80273b8 ) 802718a: 7edb ldrb r3, [r3, #27] 802718c: 2b0d cmp r3, #13 802718e: f040 80d2 bne.w 8027336 8027192: 4b89 ldr r3, [pc, #548] ; (80273b8 ) 8027194: 7f1b ldrb r3, [r3, #28] 8027196: 2b0a cmp r3, #10 8027198: f040 80cd bne.w 8027336 { IP = sector[ePoint + 1]; 802719c: 4b86 ldr r3, [pc, #536] ; (80273b8 ) 802719e: 785b ldrb r3, [r3, #1] 80271a0: 85bb strh r3, [r7, #44] ; 0x2c IP = (IP << 8) | sector[ePoint]; 80271a2: 8dbb ldrh r3, [r7, #44] ; 0x2c 80271a4: 021b lsls r3, r3, #8 80271a6: b21a sxth r2, r3 80271a8: 4b83 ldr r3, [pc, #524] ; (80273b8 ) 80271aa: 781b ldrb r3, [r3, #0] 80271ac: b21b sxth r3, r3 80271ae: 4313 orrs r3, r2 80271b0: b21b sxth r3, r3 80271b2: 85bb strh r3, [r7, #44] ; 0x2c if(NextIndexPoint == IP) 80271b4: 8dba ldrh r2, [r7, #44] ; 0x2c 80271b6: 4b81 ldr r3, [pc, #516] ; (80273bc ) 80271b8: 681b ldr r3, [r3, #0] 80271ba: 429a cmp r2, r3 80271bc: f040 80c5 bne.w 802734a { IM = sector[eMeas + 1]; 80271c0: 4b7d ldr r3, [pc, #500] ; (80273b8 ) 80271c2: 78db ldrb r3, [r3, #3] 80271c4: 85fb strh r3, [r7, #46] ; 0x2e IM = (IM << 8) | sector[eMeas]; 80271c6: 8dfb ldrh r3, [r7, #46] ; 0x2e 80271c8: 021b lsls r3, r3, #8 80271ca: b21a sxth r2, r3 80271cc: 4b7a ldr r3, [pc, #488] ; (80273b8 ) 80271ce: 789b ldrb r3, [r3, #2] 80271d0: b21b sxth r3, r3 80271d2: 4313 orrs r3, r2 80271d4: b21b sxth r3, r3 80271d6: 85fb strh r3, [r7, #46] ; 0x2e if(NextIndexMeas == IM) 80271d8: 8dfa ldrh r2, [r7, #46] ; 0x2e 80271da: 4b79 ldr r3, [pc, #484] ; (80273c0 ) 80271dc: 681b ldr r3, [r3, #0] 80271de: 429a cmp r2, r3 80271e0: f040 80b3 bne.w 802734a { ReadFileData.Aivs = sector[eAivs]; 80271e4: 4b74 ldr r3, [pc, #464] ; (80273b8 ) 80271e6: 7d1a ldrb r2, [r3, #20] 80271e8: 4b76 ldr r3, [pc, #472] ; (80273c4 ) 80271ea: f883 202c strb.w r2, [r3, #44] ; 0x2c ReadFileData.Vivs = sector[eVivs]; 80271ee: 4b72 ldr r3, [pc, #456] ; (80273b8 ) 80271f0: 7d5a ldrb r2, [r3, #21] 80271f2: 4b74 ldr r3, [pc, #464] ; (80273c4 ) 80271f4: f883 202d strb.w r2, [r3, #45] ; 0x2d ReadFileData.Sivs = sector[eSivs]; 80271f8: 4b6f ldr r3, [pc, #444] ; (80273b8 ) 80271fa: 7d9a ldrb r2, [r3, #22] 80271fc: 4b71 ldr r3, [pc, #452] ; (80273c4 ) 80271fe: f883 202e strb.w r2, [r3, #46] ; 0x2e for(i = 0; i < 4; i++) 8027202: 2300 movs r3, #0 8027204: 63bb str r3, [r7, #56] ; 0x38 8027206: e029 b.n 802725c { ReadFileData.Aval.ch[i] = sector[eAval + i]; 8027208: 6bbb ldr r3, [r7, #56] ; 0x38 802720a: 3304 adds r3, #4 802720c: 4a6a ldr r2, [pc, #424] ; (80273b8 ) 802720e: 5cd1 ldrb r1, [r2, r3] 8027210: 4a6c ldr r2, [pc, #432] ; (80273c4 ) 8027212: 6bbb ldr r3, [r7, #56] ; 0x38 8027214: 4413 add r3, r2 8027216: 460a mov r2, r1 8027218: 701a strb r2, [r3, #0] ReadFileData.Vval.ch[i] = sector[eVval + i]; 802721a: 6bbb ldr r3, [r7, #56] ; 0x38 802721c: 3308 adds r3, #8 802721e: 4a66 ldr r2, [pc, #408] ; (80273b8 ) 8027220: 5cd1 ldrb r1, [r2, r3] 8027222: 4a68 ldr r2, [pc, #416] ; (80273c4 ) 8027224: 6bbb ldr r3, [r7, #56] ; 0x38 8027226: 4413 add r3, r2 8027228: 3304 adds r3, #4 802722a: 460a mov r2, r1 802722c: 701a strb r2, [r3, #0] ReadFileData.Sval.ch[i] = sector[eSval + i]; 802722e: 6bbb ldr r3, [r7, #56] ; 0x38 8027230: 330c adds r3, #12 8027232: 4a61 ldr r2, [pc, #388] ; (80273b8 ) 8027234: 5cd1 ldrb r1, [r2, r3] 8027236: 4a63 ldr r2, [pc, #396] ; (80273c4 ) 8027238: 6bbb ldr r3, [r7, #56] ; 0x38 802723a: 4413 add r3, r2 802723c: 3308 adds r3, #8 802723e: 460a mov r2, r1 8027240: 701a strb r2, [r3, #0] ReadFileData.Fval.ch[i] = sector[eFval + i]; 8027242: 6bbb ldr r3, [r7, #56] ; 0x38 8027244: 3317 adds r3, #23 8027246: 4a5c ldr r2, [pc, #368] ; (80273b8 ) 8027248: 5cd1 ldrb r1, [r2, r3] 802724a: 4a5e ldr r2, [pc, #376] ; (80273c4 ) 802724c: 6bbb ldr r3, [r7, #56] ; 0x38 802724e: 4413 add r3, r2 8027250: 330c adds r3, #12 8027252: 460a mov r2, r1 8027254: 701a strb r2, [r3, #0] for(i = 0; i < 4; i++) 8027256: 6bbb ldr r3, [r7, #56] ; 0x38 8027258: 3301 adds r3, #1 802725a: 63bb str r3, [r7, #56] ; 0x38 802725c: 6bbb ldr r3, [r7, #56] ; 0x38 802725e: 2b03 cmp r3, #3 8027260: d9d2 bls.n 8027208 } DateTime = (sector[eDateTime + 3] << 24) | (sector[eDateTime + 2] << 16) | (sector[eDateTime + 1] << 8) | sector[eDateTime]; 8027262: 4b55 ldr r3, [pc, #340] ; (80273b8 ) 8027264: 7cdb ldrb r3, [r3, #19] 8027266: 061a lsls r2, r3, #24 8027268: 4b53 ldr r3, [pc, #332] ; (80273b8 ) 802726a: 7c9b ldrb r3, [r3, #18] 802726c: 041b lsls r3, r3, #16 802726e: 431a orrs r2, r3 8027270: 4b51 ldr r3, [pc, #324] ; (80273b8 ) 8027272: 7c5b ldrb r3, [r3, #17] 8027274: 021b lsls r3, r3, #8 8027276: 4313 orrs r3, r2 8027278: 4a4f ldr r2, [pc, #316] ; (80273b8 ) 802727a: 7c12 ldrb r2, [r2, #16] 802727c: 4313 orrs r3, r2 802727e: 62bb str r3, [r7, #40] ; 0x28 Year = (DateTime >> 25) - 20; 8027280: 6abb ldr r3, [r7, #40] ; 0x28 8027282: 0e5b lsrs r3, r3, #25 8027284: 3b14 subs r3, #20 8027286: 627b str r3, [r7, #36] ; 0x24 Month = (DateTime >> 21) & 0xf; 8027288: 6abb ldr r3, [r7, #40] ; 0x28 802728a: 0d5b lsrs r3, r3, #21 802728c: f003 030f and.w r3, r3, #15 8027290: 623b str r3, [r7, #32] Day = (DateTime >> 16) & 0x1f; 8027292: 6abb ldr r3, [r7, #40] ; 0x28 8027294: 0c1b lsrs r3, r3, #16 8027296: f003 031f and.w r3, r3, #31 802729a: 61fb str r3, [r7, #28] Hour = (DateTime >> 11) & 0x1f; 802729c: 6abb ldr r3, [r7, #40] ; 0x28 802729e: 0adb lsrs r3, r3, #11 80272a0: f003 031f and.w r3, r3, #31 80272a4: 61bb str r3, [r7, #24] Min = (DateTime >> 5) & 0x3f; 80272a6: 6abb ldr r3, [r7, #40] ; 0x28 80272a8: 095b lsrs r3, r3, #5 80272aa: f003 033f and.w r3, r3, #63 ; 0x3f 80272ae: 617b str r3, [r7, #20] Sec = ((DateTime << 1) & 0x1f) + 1; 80272b0: 6abb ldr r3, [r7, #40] ; 0x28 80272b2: 005b lsls r3, r3, #1 80272b4: f003 031f and.w r3, r3, #31 80272b8: 3301 adds r3, #1 80272ba: 613b str r3, [r7, #16] ReadFileData.Date.WeekDay = 1; 80272bc: 4b41 ldr r3, [pc, #260] ; (80273c4 ) 80272be: 2201 movs r2, #1 80272c0: f883 2028 strb.w r2, [r3, #40] ; 0x28 ReadFileData.Date.Date = (uint8_t) Day; 80272c4: 69fb ldr r3, [r7, #28] 80272c6: b2da uxtb r2, r3 80272c8: 4b3e ldr r3, [pc, #248] ; (80273c4 ) 80272ca: f883 202a strb.w r2, [r3, #42] ; 0x2a ReadFileData.Date.Month = (uint8_t) Month; 80272ce: 6a3b ldr r3, [r7, #32] 80272d0: b2da uxtb r2, r3 80272d2: 4b3c ldr r3, [pc, #240] ; (80273c4 ) 80272d4: f883 2029 strb.w r2, [r3, #41] ; 0x29 ReadFileData.Date.Year = (uint8_t) Year; 80272d8: 6a7b ldr r3, [r7, #36] ; 0x24 80272da: b2da uxtb r2, r3 80272dc: 4b39 ldr r3, [pc, #228] ; (80273c4 ) 80272de: f883 202b strb.w r2, [r3, #43] ; 0x2b ReadFileData.Time.TimeFormat = 0; 80272e2: 4b38 ldr r3, [pc, #224] ; (80273c4 ) 80272e4: 2200 movs r2, #0 80272e6: 771a strb r2, [r3, #28] ReadFileData.Time.Hours = (uint8_t) Hour; 80272e8: 69bb ldr r3, [r7, #24] 80272ea: b2da uxtb r2, r3 80272ec: 4b35 ldr r3, [pc, #212] ; (80273c4 ) 80272ee: 741a strb r2, [r3, #16] ReadFileData.Time.Minutes = (uint8_t) Min; 80272f0: 697b ldr r3, [r7, #20] 80272f2: b2da uxtb r2, r3 80272f4: 4b33 ldr r3, [pc, #204] ; (80273c4 ) 80272f6: 745a strb r2, [r3, #17] ReadFileData.Time.Seconds = (uint8_t) Sec; 80272f8: 693b ldr r3, [r7, #16] 80272fa: b2da uxtb r2, r3 80272fc: 4b31 ldr r3, [pc, #196] ; (80273c4 ) 80272fe: 749a strb r2, [r3, #18] TimeFileData = ReadFileData.Time; 8027300: 4a31 ldr r2, [pc, #196] ; (80273c8 ) 8027302: 4b30 ldr r3, [pc, #192] ; (80273c4 ) 8027304: 4615 mov r5, r2 8027306: f103 0410 add.w r4, r3, #16 802730a: cc0f ldmia r4!, {r0, r1, r2, r3} 802730c: c50f stmia r5!, {r0, r1, r2, r3} 802730e: e894 0003 ldmia.w r4, {r0, r1} 8027312: e885 0003 stmia.w r5, {r0, r1} DateFileData = ReadFileData.Date; 8027316: 4a2d ldr r2, [pc, #180] ; (80273cc ) 8027318: 4b2a ldr r3, [pc, #168] ; (80273c4 ) 802731a: 3328 adds r3, #40 ; 0x28 802731c: 6818 ldr r0, [r3, #0] 802731e: 6010 str r0, [r2, #0] DrawSavedData = true; 8027320: 4b2b ldr r3, [pc, #172] ; (80273d0 ) 8027322: 2201 movs r2, #1 8027324: 701a strb r2, [r3, #0] FileDataExist = true; 8027326: 4b2b ldr r3, [pc, #172] ; (80273d4 ) 8027328: 2201 movs r2, #1 802732a: 701a strb r2, [r3, #0] f_close(&F); 802732c: 4821 ldr r0, [pc, #132] ; (80273b4 ) 802732e: f09f fc0f bl 80c6b50 return FR_OK; 8027332: 2300 movs r3, #0 8027334: e03a b.n 80273ac } } else { //BAD DATA IN FILE!!!!!!!!!!!!!! f_close(&F); 8027336: 481f ldr r0, [pc, #124] ; (80273b4 ) 8027338: f09f fc0a bl 80c6b50 memset(Comment, 0, sizeof(Comment)); 802733c: 2228 movs r2, #40 ; 0x28 802733e: 2100 movs r1, #0 8027340: 4825 ldr r0, [pc, #148] ; (80273d8 ) 8027342: f0a5 fe81 bl 80cd048 return FR_INVALID_OBJECT; 8027346: 2309 movs r3, #9 8027348: e030 b.n 80273ac if(NextIndexPoint == IP) 802734a: bf00 nop } ifs += 29; 802734c: e9d7 340c ldrd r3, r4, [r7, #48] ; 0x30 8027350: 331d adds r3, #29 8027352: f144 0400 adc.w r4, r4, #0 8027356: e9c7 340c strd r3, r4, [r7, #48] ; 0x30 802735a: e013 b.n 8027384 } else { f_close(&F); 802735c: 4815 ldr r0, [pc, #84] ; (80273b4 ) 802735e: f09f fbf7 bl 80c6b50 memset(Comment, 0, sizeof(Comment)); 8027362: 2228 movs r2, #40 ; 0x28 8027364: 2100 movs r1, #0 8027366: 481c ldr r0, [pc, #112] ; (80273d8 ) 8027368: f0a5 fe6e bl 80cd048 return FR_DISK_ERR; 802736c: 2301 movs r3, #1 802736e: e01d b.n 80273ac } } else { f_close(&F); 8027370: 4810 ldr r0, [pc, #64] ; (80273b4 ) 8027372: f09f fbed bl 80c6b50 memset(Comment, 0, sizeof(Comment)); 8027376: 2228 movs r2, #40 ; 0x28 8027378: 2100 movs r1, #0 802737a: 4817 ldr r0, [pc, #92] ; (80273d8 ) 802737c: f0a5 fe64 bl 80cd048 return FR_DISK_ERR; 8027380: 2301 movs r3, #1 8027382: e013 b.n 80273ac while(ifs < f_size(&F)) 8027384: 4b0b ldr r3, [pc, #44] ; (80273b4 ) 8027386: e9d3 3404 ldrd r3, r4, [r3, #16] 802738a: e9d7 120c ldrd r1, r2, [r7, #48] ; 0x30 802738e: 42a2 cmp r2, r4 8027390: bf08 it eq 8027392: 4299 cmpeq r1, r3 8027394: f4ff aed8 bcc.w 8027148 /* * Èçìåðåíèå íå îáíàðóæåíî */ DrawSavedData = true; 8027398: 4b0d ldr r3, [pc, #52] ; (80273d0 ) 802739a: 2201 movs r2, #1 802739c: 701a strb r2, [r3, #0] f_close(&F); 802739e: 4805 ldr r0, [pc, #20] ; (80273b4 ) 80273a0: f09f fbd6 bl 80c6b50 return FR_OK; 80273a4: 2300 movs r3, #0 80273a6: e001 b.n 80273ac } } } } return res; 80273a8: f897 303f ldrb.w r3, [r7, #63] ; 0x3f } 80273ac: 4618 mov r0, r3 80273ae: 3744 adds r7, #68 ; 0x44 80273b0: 46bd mov sp, r7 80273b2: bdf0 pop {r4, r5, r6, r7, pc} 80273b4: 20022e20 .word 0x20022e20 80273b8: 2007c000 .word 0x2007c000 80273bc: 20021f9c .word 0x20021f9c 80273c0: 20022310 .word 0x20022310 80273c4: 200226a0 .word 0x200226a0 80273c8: 20022968 .word 0x20022968 80273cc: 200225f0 .word 0x200225f0 80273d0: 20020dca .word 0x20020dca 80273d4: 20020dd3 .word 0x20020dd3 80273d8: 20022650 .word 0x20022650 080273dc : FRESULT ReadFileDGN(char* fname) //TODO Read PTM { 80273dc: b5f0 push {r4, r5, r6, r7, lr} 80273de: b091 sub sp, #68 ; 0x44 80273e0: af00 add r7, sp, #0 80273e2: 6078 str r0, [r7, #4] FRESULT res = FR_OK; 80273e4: 2300 movs r3, #0 80273e6: f887 303f strb.w r3, [r7, #63] ; 0x3f uint32_t i, DateTime, Year, Month, Day, Hour, Min, Sec; uint16_t IM, IP; UINT fk; FSIZE_t ifs; FileDataExist = false; 80273ea: 4b90 ldr r3, [pc, #576] ; (802762c ) 80273ec: 2200 movs r2, #0 80273ee: 701a strb r2, [r3, #0] DiagnFileData.Op_1.fl = -1.0f; 80273f0: 4b8f ldr r3, [pc, #572] ; (8027630 ) 80273f2: 4a90 ldr r2, [pc, #576] ; (8027634 ) 80273f4: 601a str r2, [r3, #0] DiagnFileData.Op_2.fl = -1.0f; 80273f6: 4b8e ldr r3, [pc, #568] ; (8027630 ) 80273f8: 4a8e ldr r2, [pc, #568] ; (8027634 ) 80273fa: 605a str r2, [r3, #4] DiagnFileData.Op_3.fl = -1.0f; 80273fc: 4b8c ldr r3, [pc, #560] ; (8027630 ) 80273fe: 4a8d ldr r2, [pc, #564] ; (8027634 ) 8027400: 609a str r2, [r3, #8] DiagnFileData.d_Op1_ipr = 0; 8027402: 4b8b ldr r3, [pc, #556] ; (8027630 ) 8027404: 2200 movs r2, #0 8027406: f883 2028 strb.w r2, [r3, #40] ; 0x28 DiagnFileData.d_Op2_ipr = 0; 802740a: 4b89 ldr r3, [pc, #548] ; (8027630 ) 802740c: 2200 movs r2, #0 802740e: f883 2029 strb.w r2, [r3, #41] ; 0x29 DiagnFileData.d_Op3_ipr = 0; 8027412: 4b87 ldr r3, [pc, #540] ; (8027630 ) 8027414: 2200 movs r2, #0 8027416: f883 202a strb.w r2, [r3, #42] ; 0x2a DiagnFileData.d_Op1_Color = 0; 802741a: 4b85 ldr r3, [pc, #532] ; (8027630 ) 802741c: 2200 movs r2, #0 802741e: f883 202e strb.w r2, [r3, #46] ; 0x2e DiagnFileData.d_Op2_Color = 0; 8027422: 4b83 ldr r3, [pc, #524] ; (8027630 ) 8027424: 2200 movs r2, #0 8027426: f883 202f strb.w r2, [r3, #47] ; 0x2f DiagnFileData.d_Op3_Color = 0; 802742a: 4b81 ldr r3, [pc, #516] ; (8027630 ) 802742c: 2200 movs r2, #0 802742e: f883 2030 strb.w r2, [r3, #48] ; 0x30 DiagnFileData.d_Alarm = 0; 8027432: 4b7f ldr r3, [pc, #508] ; (8027630 ) 8027434: 2200 movs r2, #0 8027436: f883 2032 strb.w r2, [r3, #50] ; 0x32 DiagnFileData.d_Warning = 0; 802743a: 4b7d ldr r3, [pc, #500] ; (8027630 ) 802743c: 2200 movs r2, #0 802743e: f883 2031 strb.w r2, [r3, #49] ; 0x31 memset((void *) &TimeFileData, 0, sizeof(RTC_TimeTypeDef)); 8027442: 2218 movs r2, #24 8027444: 2100 movs r1, #0 8027446: 487c ldr r0, [pc, #496] ; (8027638 ) 8027448: f0a5 fdfe bl 80cd048 memset((void *) &DateFileData, 0, sizeof(RTC_DateTypeDef)); 802744c: 2204 movs r2, #4 802744e: 2100 movs r1, #0 8027450: 487a ldr r0, [pc, #488] ; (802763c ) 8027452: f0a5 fdf9 bl 80cd048 memset(Comment, 0, sizeof(Comment)); 8027456: 2228 movs r2, #40 ; 0x28 8027458: 2100 movs r1, #0 802745a: 4879 ldr r0, [pc, #484] ; (8027640 ) 802745c: f0a5 fdf4 bl 80cd048 if(CardState != MSD_READY) { 8027460: 4b78 ldr r3, [pc, #480] ; (8027644 ) 8027462: 781b ldrb r3, [r3, #0] 8027464: b2db uxtb r3, r3 8027466: 2b03 cmp r3, #3 8027468: d001 beq.n 802746e return FR_NOT_READY; 802746a: 2303 movs r3, #3 802746c: e251 b.n 8027912 } if(res == FR_OK) 802746e: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 8027472: 2b00 cmp r3, #0 8027474: f040 824b bne.w 802790e { memset(FileName, 0, sizeof(FileName)); 8027478: 2228 movs r2, #40 ; 0x28 802747a: 2100 movs r1, #0 802747c: 4872 ldr r0, [pc, #456] ; (8027648 ) 802747e: f0a5 fde3 bl 80cd048 strcpy(FileName, fname); 8027482: 6879 ldr r1, [r7, #4] 8027484: 4870 ldr r0, [pc, #448] ; (8027648 ) 8027486: f0a5 fefc bl 80cd282 memset(PointPath, 0, sizeof(PointPath)); 802748a: f44f 7200 mov.w r2, #512 ; 0x200 802748e: 2100 movs r1, #0 8027490: 486e ldr r0, [pc, #440] ; (802764c ) 8027492: f0a5 fdd9 bl 80cd048 memset(SearchPath, 0, sizeof(SearchPath)); 8027496: f44f 7200 mov.w r2, #512 ; 0x200 802749a: 2100 movs r1, #0 802749c: 486c ldr r0, [pc, #432] ; (8027650 ) 802749e: f0a5 fdd3 bl 80cd048 SearchPath[0] = '0'; 80274a2: 4b6b ldr r3, [pc, #428] ; (8027650 ) 80274a4: 2230 movs r2, #48 ; 0x30 80274a6: 701a strb r2, [r3, #0] SearchPath[1] = ':'; 80274a8: 4b69 ldr r3, [pc, #420] ; (8027650 ) 80274aa: 223a movs r2, #58 ; 0x3a 80274ac: 705a strb r2, [r3, #1] ScanMode = GET_PATH_TO_FILE; 80274ae: 4b69 ldr r3, [pc, #420] ; (8027654 ) 80274b0: 2209 movs r2, #9 80274b2: 701a strb r2, [r3, #0] FlagReturn = false; 80274b4: 4b68 ldr r3, [pc, #416] ; (8027658 ) 80274b6: 2200 movs r2, #0 80274b8: 701a strb r2, [r3, #0] ScanFiles(SearchPath, 0); 80274ba: 2100 movs r1, #0 80274bc: 4864 ldr r0, [pc, #400] ; (8027650 ) 80274be: f004 f9f5 bl 802b8ac if(PointPath[0] == 0) 80274c2: 4b62 ldr r3, [pc, #392] ; (802764c ) 80274c4: 781b ldrb r3, [r3, #0] 80274c6: 2b00 cmp r3, #0 80274c8: d103 bne.n 80274d2 { res = FR_NO_FILE; 80274ca: 2304 movs r3, #4 80274cc: f887 303f strb.w r3, [r7, #63] ; 0x3f 80274d0: e21d b.n 802790e } else { res = f_open(&F, PointPath, FA_READ); 80274d2: 2201 movs r2, #1 80274d4: 495d ldr r1, [pc, #372] ; (802764c ) 80274d6: 4861 ldr r0, [pc, #388] ; (802765c ) 80274d8: f09e fcf6 bl 80c5ec8 80274dc: 4603 mov r3, r0 80274de: f887 303f strb.w r3, [r7, #63] ; 0x3f if(res == FR_OK) 80274e2: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 80274e6: 2b00 cmp r3, #0 80274e8: f040 8211 bne.w 802790e { memset(sector, 0xff, sizeof(sector)); 80274ec: f44f 7200 mov.w r2, #512 ; 0x200 80274f0: 21ff movs r1, #255 ; 0xff 80274f2: 485b ldr r0, [pc, #364] ; (8027660 ) 80274f4: f0a5 fda8 bl 80cd048 IM = (uint16_t) NextIndexMeas; 80274f8: 4b5a ldr r3, [pc, #360] ; (8027664 ) 80274fa: 681b ldr r3, [r3, #0] 80274fc: 85fb strh r3, [r7, #46] ; 0x2e if(f_size(&F) == 0) 80274fe: 4b57 ldr r3, [pc, #348] ; (802765c ) 8027500: e9d3 3404 ldrd r3, r4, [r3, #16] 8027504: 4323 orrs r3, r4 8027506: d106 bne.n 8027516 { f_close(&F); 8027508: 4854 ldr r0, [pc, #336] ; (802765c ) 802750a: f09f fb21 bl 80c6b50 res = FR_OK; 802750e: 2300 movs r3, #0 8027510: f887 303f strb.w r3, [r7, #63] ; 0x3f 8027514: e1fb b.n 802790e } else { /////////////////////////////////////////////////////////////////////////////// res = f_lseek(&F, 0); 8027516: f04f 0200 mov.w r2, #0 802751a: f04f 0300 mov.w r3, #0 802751e: 484f ldr r0, [pc, #316] ; (802765c ) 8027520: f09f fb36 bl 80c6b90 8027524: 4603 mov r3, r0 8027526: f887 303f strb.w r3, [r7, #63] ; 0x3f if(res == FR_OK) 802752a: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 802752e: 2b00 cmp r3, #0 8027530: d176 bne.n 8027620 { res = f_read(&F, sector, 6, &fk); 8027532: f107 030c add.w r3, r7, #12 8027536: 2206 movs r2, #6 8027538: 4949 ldr r1, [pc, #292] ; (8027660 ) 802753a: 4848 ldr r0, [pc, #288] ; (802765c ) 802753c: f09e ff21 bl 80c6382 8027540: 4603 mov r3, r0 8027542: f887 303f strb.w r3, [r7, #63] ; 0x3f if((res == FR_OK) && (fk == 6)) 8027546: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 802754a: 2b00 cmp r3, #0 802754c: d163 bne.n 8027616 802754e: 68fb ldr r3, [r7, #12] 8027550: 2b06 cmp r3, #6 8027552: d160 bne.n 8027616 { sector[6] = '\0'; 8027554: 4b42 ldr r3, [pc, #264] ; (8027660 ) 8027556: 2200 movs r2, #0 8027558: 719a strb r2, [r3, #6] if(strcmp((char *) sector, "Extend")) 802755a: 4943 ldr r1, [pc, #268] ; (8027668 ) 802755c: 4840 ldr r0, [pc, #256] ; (8027660 ) 802755e: f7f8 fecf bl 8020300 8027562: 4603 mov r3, r0 8027564: 2b00 cmp r3, #0 8027566: d006 beq.n 8027576 { //Ñòàðàÿ âåðñèÿ ôàéëà ifs = 0; 8027568: f04f 0300 mov.w r3, #0 802756c: f04f 0400 mov.w r4, #0 8027570: e9c7 340c strd r3, r4, [r7, #48] ; 0x30 if(strcmp((char *) sector, "Extend")) 8027574: e059 b.n 802762a } else { //Ðàñøèðåííàÿ âåðñèÿ ôàéëà ñ êîììåíòàðèÿìè ifs = 96u + (sizeof(Comment) * NextIndexPoint); 8027576: 4b3d ldr r3, [pc, #244] ; (802766c ) 8027578: 681a ldr r2, [r3, #0] 802757a: 4613 mov r3, r2 802757c: 009b lsls r3, r3, #2 802757e: 4413 add r3, r2 8027580: 00db lsls r3, r3, #3 8027582: 3360 adds r3, #96 ; 0x60 8027584: f04f 0400 mov.w r4, #0 8027588: e9c7 340c strd r3, r4, [r7, #48] ; 0x30 res = f_lseek(&F, ifs); 802758c: e9d7 230c ldrd r2, r3, [r7, #48] ; 0x30 8027590: 4832 ldr r0, [pc, #200] ; (802765c ) 8027592: f09f fafd bl 80c6b90 8027596: 4603 mov r3, r0 8027598: f887 303f strb.w r3, [r7, #63] ; 0x3f if(res == FR_OK) 802759c: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 80275a0: 2b00 cmp r3, #0 80275a2: d133 bne.n 802760c { res = f_read(&F, sector, sizeof(Comment), &fk); 80275a4: f107 030c add.w r3, r7, #12 80275a8: 2228 movs r2, #40 ; 0x28 80275aa: 492d ldr r1, [pc, #180] ; (8027660 ) 80275ac: 482b ldr r0, [pc, #172] ; (802765c ) 80275ae: f09e fee8 bl 80c6382 80275b2: 4603 mov r3, r0 80275b4: f887 303f strb.w r3, [r7, #63] ; 0x3f if((res == FR_OK) && (fk == sizeof(Comment))) 80275b8: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 80275bc: 2b00 cmp r3, #0 80275be: d120 bne.n 8027602 80275c0: 68fb ldr r3, [r7, #12] 80275c2: 2b28 cmp r3, #40 ; 0x28 80275c4: d11d bne.n 8027602 { memcpy(Comment, sector, sizeof(Comment)); 80275c6: 4b1e ldr r3, [pc, #120] ; (8027640 ) 80275c8: 4a25 ldr r2, [pc, #148] ; (8027660 ) 80275ca: 4614 mov r4, r2 80275cc: 469e mov lr, r3 80275ce: f104 0c20 add.w ip, r4, #32 80275d2: 4675 mov r5, lr 80275d4: 4626 mov r6, r4 80275d6: ce0f ldmia r6!, {r0, r1, r2, r3} 80275d8: 6028 str r0, [r5, #0] 80275da: 6069 str r1, [r5, #4] 80275dc: 60aa str r2, [r5, #8] 80275de: 60eb str r3, [r5, #12] 80275e0: 3410 adds r4, #16 80275e2: f10e 0e10 add.w lr, lr, #16 80275e6: 4564 cmp r4, ip 80275e8: d1f3 bne.n 80275d2 80275ea: 4672 mov r2, lr 80275ec: 4623 mov r3, r4 80275ee: cb03 ldmia r3!, {r0, r1} 80275f0: 6010 str r0, [r2, #0] 80275f2: 6051 str r1, [r2, #4] ifs = 96u + (NUM_POINTS * sizeof(Comment)); 80275f4: f649 43a0 movw r3, #40096 ; 0x9ca0 80275f8: f04f 0400 mov.w r4, #0 80275fc: e9c7 340c strd r3, r4, [r7, #48] ; 0x30 if(strcmp((char *) sector, "Extend")) 8027600: e013 b.n 802762a } else { f_close(&F); 8027602: 4816 ldr r0, [pc, #88] ; (802765c ) 8027604: f09f faa4 bl 80c6b50 return FR_DISK_ERR; 8027608: 2301 movs r3, #1 802760a: e182 b.n 8027912 } } else { f_close(&F); 802760c: 4813 ldr r0, [pc, #76] ; (802765c ) 802760e: f09f fa9f bl 80c6b50 return FR_DISK_ERR; 8027612: 2301 movs r3, #1 8027614: e17d b.n 8027912 } } } else { f_close(&F); 8027616: 4811 ldr r0, [pc, #68] ; (802765c ) 8027618: f09f fa9a bl 80c6b50 return FR_DISK_ERR; 802761c: 2301 movs r3, #1 802761e: e178 b.n 8027912 } } else { f_close(&F); 8027620: 480e ldr r0, [pc, #56] ; (802765c ) 8027622: f09f fa95 bl 80c6b50 return FR_DISK_ERR; 8027626: 2301 movs r3, #1 8027628: e173 b.n 8027912 } /////////////////////////////////////////////////////////////////////////////// while(ifs < f_size(&F)) 802762a: e15e b.n 80278ea 802762c: 20020dd3 .word 0x20020dd3 8027630: 200225f4 .word 0x200225f4 8027634: bf800000 .word 0xbf800000 8027638: 20022968 .word 0x20022968 802763c: 200225f0 .word 0x200225f0 8027640: 20022650 .word 0x20022650 8027644: 2002164c .word 0x2002164c 8027648: 20022bb8 .word 0x20022bb8 802764c: 200229b4 .word 0x200229b4 8027650: 20021d80 .word 0x20021d80 8027654: 20020ddf .word 0x20020ddf 8027658: 20020dde .word 0x20020dde 802765c: 20022e20 .word 0x20022e20 8027660: 2007c000 .word 0x2007c000 8027664: 20022310 .word 0x20022310 8027668: 080ce494 .word 0x080ce494 802766c: 20021f9c .word 0x20021f9c { res = f_lseek(&F, ifs); 8027670: e9d7 230c ldrd r2, r3, [r7, #48] ; 0x30 8027674: 48a9 ldr r0, [pc, #676] ; (802791c ) 8027676: f09f fa8b bl 80c6b90 802767a: 4603 mov r3, r0 802767c: f887 303f strb.w r3, [r7, #63] ; 0x3f if(res == FR_OK) 8027680: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 8027684: 2b00 cmp r3, #0 8027686: f040 8126 bne.w 80278d6 { res = f_read(&F, sector, 33, &fk); 802768a: f107 030c add.w r3, r7, #12 802768e: 2221 movs r2, #33 ; 0x21 8027690: 49a3 ldr r1, [pc, #652] ; (8027920 ) 8027692: 48a2 ldr r0, [pc, #648] ; (802791c ) 8027694: f09e fe75 bl 80c6382 8027698: 4603 mov r3, r0 802769a: f887 303f strb.w r3, [r7, #63] ; 0x3f if((res == FR_OK) && (fk == 33)) 802769e: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 80276a2: 2b00 cmp r3, #0 80276a4: f040 810d bne.w 80278c2 80276a8: 68fb ldr r3, [r7, #12] 80276aa: 2b21 cmp r3, #33 ; 0x21 80276ac: f040 8109 bne.w 80278c2 { if((sector[d_13] == 0xD) && (sector[d_10] == 0xA)) 80276b0: 4b9b ldr r3, [pc, #620] ; (8027920 ) 80276b2: 7fdb ldrb r3, [r3, #31] 80276b4: 2b0d cmp r3, #13 80276b6: f040 80f1 bne.w 802789c 80276ba: 4b99 ldr r3, [pc, #612] ; (8027920 ) 80276bc: f893 3020 ldrb.w r3, [r3, #32] 80276c0: 2b0a cmp r3, #10 80276c2: f040 80eb bne.w 802789c { IP = sector[d_Point + 1]; 80276c6: 4b96 ldr r3, [pc, #600] ; (8027920 ) 80276c8: 785b ldrb r3, [r3, #1] 80276ca: 85bb strh r3, [r7, #44] ; 0x2c IP = (IP << 8) | sector[d_Point]; 80276cc: 8dbb ldrh r3, [r7, #44] ; 0x2c 80276ce: 021b lsls r3, r3, #8 80276d0: b21a sxth r2, r3 80276d2: 4b93 ldr r3, [pc, #588] ; (8027920 ) 80276d4: 781b ldrb r3, [r3, #0] 80276d6: b21b sxth r3, r3 80276d8: 4313 orrs r3, r2 80276da: b21b sxth r3, r3 80276dc: 85bb strh r3, [r7, #44] ; 0x2c if(NextIndexPoint == IP) 80276de: 8dba ldrh r2, [r7, #44] ; 0x2c 80276e0: 4b90 ldr r3, [pc, #576] ; (8027924 ) 80276e2: 681b ldr r3, [r3, #0] 80276e4: 429a cmp r2, r3 80276e6: f040 80e3 bne.w 80278b0 { IM = sector[d_Meas + 1]; 80276ea: 4b8d ldr r3, [pc, #564] ; (8027920 ) 80276ec: 78db ldrb r3, [r3, #3] 80276ee: 85fb strh r3, [r7, #46] ; 0x2e IM = (IM << 8) | sector[d_Meas]; 80276f0: 8dfb ldrh r3, [r7, #46] ; 0x2e 80276f2: 021b lsls r3, r3, #8 80276f4: b21a sxth r2, r3 80276f6: 4b8a ldr r3, [pc, #552] ; (8027920 ) 80276f8: 789b ldrb r3, [r3, #2] 80276fa: b21b sxth r3, r3 80276fc: 4313 orrs r3, r2 80276fe: b21b sxth r3, r3 8027700: 85fb strh r3, [r7, #46] ; 0x2e if(NextIndexMeas == IM) 8027702: 8dfa ldrh r2, [r7, #46] ; 0x2e 8027704: 4b88 ldr r3, [pc, #544] ; (8027928 ) 8027706: 681b ldr r3, [r3, #0] 8027708: 429a cmp r2, r3 802770a: f040 80d1 bne.w 80278b0 { DiagnFileData.d_Op1_ipr = sector[d_Op1_ipr]; 802770e: 4b84 ldr r3, [pc, #528] ; (8027920 ) 8027710: 7d1a ldrb r2, [r3, #20] 8027712: 4b86 ldr r3, [pc, #536] ; (802792c ) 8027714: f883 2028 strb.w r2, [r3, #40] ; 0x28 DiagnFileData.d_Op2_ipr = sector[d_Op2_ipr]; 8027718: 4b81 ldr r3, [pc, #516] ; (8027920 ) 802771a: 7d5a ldrb r2, [r3, #21] 802771c: 4b83 ldr r3, [pc, #524] ; (802792c ) 802771e: f883 2029 strb.w r2, [r3, #41] ; 0x29 DiagnFileData.d_Op3_ipr = sector[d_Op3_ipr]; 8027722: 4b7f ldr r3, [pc, #508] ; (8027920 ) 8027724: 7d9a ldrb r2, [r3, #22] 8027726: 4b81 ldr r3, [pc, #516] ; (802792c ) 8027728: f883 202a strb.w r2, [r3, #42] ; 0x2a DiagnFileData.d_Op1_ivs = sector[d_Op1_ivs]; 802772c: 4b7c ldr r3, [pc, #496] ; (8027920 ) 802772e: 7dda ldrb r2, [r3, #23] 8027730: 4b7e ldr r3, [pc, #504] ; (802792c ) 8027732: f883 202b strb.w r2, [r3, #43] ; 0x2b DiagnFileData.d_Op2_ivs = sector[d_Op2_ivs]; 8027736: 4b7a ldr r3, [pc, #488] ; (8027920 ) 8027738: 7e1a ldrb r2, [r3, #24] 802773a: 4b7c ldr r3, [pc, #496] ; (802792c ) 802773c: f883 202c strb.w r2, [r3, #44] ; 0x2c DiagnFileData.d_Op3_ivs = sector[d_Op3_ivs]; 8027740: 4b77 ldr r3, [pc, #476] ; (8027920 ) 8027742: 7e5a ldrb r2, [r3, #25] 8027744: 4b79 ldr r3, [pc, #484] ; (802792c ) 8027746: f883 202d strb.w r2, [r3, #45] ; 0x2d DiagnFileData.d_Op1_Color = sector[d_Op1_col]; 802774a: 4b75 ldr r3, [pc, #468] ; (8027920 ) 802774c: 7e9a ldrb r2, [r3, #26] 802774e: 4b77 ldr r3, [pc, #476] ; (802792c ) 8027750: f883 202e strb.w r2, [r3, #46] ; 0x2e DiagnFileData.d_Op2_Color = sector[d_Op2_col]; 8027754: 4b72 ldr r3, [pc, #456] ; (8027920 ) 8027756: 7eda ldrb r2, [r3, #27] 8027758: 4b74 ldr r3, [pc, #464] ; (802792c ) 802775a: f883 202f strb.w r2, [r3, #47] ; 0x2f DiagnFileData.d_Op3_Color = sector[d_Op3_col]; 802775e: 4b70 ldr r3, [pc, #448] ; (8027920 ) 8027760: 7f1a ldrb r2, [r3, #28] 8027762: 4b72 ldr r3, [pc, #456] ; (802792c ) 8027764: f883 2030 strb.w r2, [r3, #48] ; 0x30 DiagnFileData.d_Warning = sector[d_W]; 8027768: 4b6d ldr r3, [pc, #436] ; (8027920 ) 802776a: 7f5a ldrb r2, [r3, #29] 802776c: 4b6f ldr r3, [pc, #444] ; (802792c ) 802776e: f883 2031 strb.w r2, [r3, #49] ; 0x31 DiagnFileData.d_Alarm = sector[d_A]; 8027772: 4b6b ldr r3, [pc, #428] ; (8027920 ) 8027774: 7f9a ldrb r2, [r3, #30] 8027776: 4b6d ldr r3, [pc, #436] ; (802792c ) 8027778: f883 2032 strb.w r2, [r3, #50] ; 0x32 for(i = 0; i < 4; i++) 802777c: 2300 movs r3, #0 802777e: 63bb str r3, [r7, #56] ; 0x38 8027780: e01f b.n 80277c2 { DiagnFileData.Op_1.ch[i] = sector[d_Op1_1 + i]; 8027782: 6bbb ldr r3, [r7, #56] ; 0x38 8027784: 3304 adds r3, #4 8027786: 4a66 ldr r2, [pc, #408] ; (8027920 ) 8027788: 5cd1 ldrb r1, [r2, r3] 802778a: 4a68 ldr r2, [pc, #416] ; (802792c ) 802778c: 6bbb ldr r3, [r7, #56] ; 0x38 802778e: 4413 add r3, r2 8027790: 460a mov r2, r1 8027792: 701a strb r2, [r3, #0] DiagnFileData.Op_2.ch[i] = sector[d_Op2_1 + i]; 8027794: 6bbb ldr r3, [r7, #56] ; 0x38 8027796: 3308 adds r3, #8 8027798: 4a61 ldr r2, [pc, #388] ; (8027920 ) 802779a: 5cd1 ldrb r1, [r2, r3] 802779c: 4a63 ldr r2, [pc, #396] ; (802792c ) 802779e: 6bbb ldr r3, [r7, #56] ; 0x38 80277a0: 4413 add r3, r2 80277a2: 3304 adds r3, #4 80277a4: 460a mov r2, r1 80277a6: 701a strb r2, [r3, #0] DiagnFileData.Op_3.ch[i] = sector[d_Op3_1 + i]; 80277a8: 6bbb ldr r3, [r7, #56] ; 0x38 80277aa: 330c adds r3, #12 80277ac: 4a5c ldr r2, [pc, #368] ; (8027920 ) 80277ae: 5cd1 ldrb r1, [r2, r3] 80277b0: 4a5e ldr r2, [pc, #376] ; (802792c ) 80277b2: 6bbb ldr r3, [r7, #56] ; 0x38 80277b4: 4413 add r3, r2 80277b6: 3308 adds r3, #8 80277b8: 460a mov r2, r1 80277ba: 701a strb r2, [r3, #0] for(i = 0; i < 4; i++) 80277bc: 6bbb ldr r3, [r7, #56] ; 0x38 80277be: 3301 adds r3, #1 80277c0: 63bb str r3, [r7, #56] ; 0x38 80277c2: 6bbb ldr r3, [r7, #56] ; 0x38 80277c4: 2b03 cmp r3, #3 80277c6: d9dc bls.n 8027782 } DateTime = (sector[d_DateTime + 3] << 24) | (sector[d_DateTime + 2] << 16) | (sector[d_DateTime + 1] << 8) | sector[d_DateTime]; 80277c8: 4b55 ldr r3, [pc, #340] ; (8027920 ) 80277ca: 7cdb ldrb r3, [r3, #19] 80277cc: 061a lsls r2, r3, #24 80277ce: 4b54 ldr r3, [pc, #336] ; (8027920 ) 80277d0: 7c9b ldrb r3, [r3, #18] 80277d2: 041b lsls r3, r3, #16 80277d4: 431a orrs r2, r3 80277d6: 4b52 ldr r3, [pc, #328] ; (8027920 ) 80277d8: 7c5b ldrb r3, [r3, #17] 80277da: 021b lsls r3, r3, #8 80277dc: 4313 orrs r3, r2 80277de: 4a50 ldr r2, [pc, #320] ; (8027920 ) 80277e0: 7c12 ldrb r2, [r2, #16] 80277e2: 4313 orrs r3, r2 80277e4: 62bb str r3, [r7, #40] ; 0x28 Year = (DateTime >> 25) - 20; 80277e6: 6abb ldr r3, [r7, #40] ; 0x28 80277e8: 0e5b lsrs r3, r3, #25 80277ea: 3b14 subs r3, #20 80277ec: 627b str r3, [r7, #36] ; 0x24 Month = (DateTime >> 21) & 0xf; 80277ee: 6abb ldr r3, [r7, #40] ; 0x28 80277f0: 0d5b lsrs r3, r3, #21 80277f2: f003 030f and.w r3, r3, #15 80277f6: 623b str r3, [r7, #32] Day = (DateTime >> 16) & 0x1f; 80277f8: 6abb ldr r3, [r7, #40] ; 0x28 80277fa: 0c1b lsrs r3, r3, #16 80277fc: f003 031f and.w r3, r3, #31 8027800: 61fb str r3, [r7, #28] Hour = (DateTime >> 11) & 0x1f; 8027802: 6abb ldr r3, [r7, #40] ; 0x28 8027804: 0adb lsrs r3, r3, #11 8027806: f003 031f and.w r3, r3, #31 802780a: 61bb str r3, [r7, #24] Min = (DateTime >> 5) & 0x3f; 802780c: 6abb ldr r3, [r7, #40] ; 0x28 802780e: 095b lsrs r3, r3, #5 8027810: f003 033f and.w r3, r3, #63 ; 0x3f 8027814: 617b str r3, [r7, #20] Sec = ((DateTime << 1) & 0x1f) + 1; 8027816: 6abb ldr r3, [r7, #40] ; 0x28 8027818: 005b lsls r3, r3, #1 802781a: f003 031f and.w r3, r3, #31 802781e: 3301 adds r3, #1 8027820: 613b str r3, [r7, #16] DiagnFileData.d_Date.WeekDay = 1; 8027822: 4b42 ldr r3, [pc, #264] ; (802792c ) 8027824: 2201 movs r2, #1 8027826: f883 2024 strb.w r2, [r3, #36] ; 0x24 DiagnFileData.d_Date.Date = (uint8_t) Day; 802782a: 69fb ldr r3, [r7, #28] 802782c: b2da uxtb r2, r3 802782e: 4b3f ldr r3, [pc, #252] ; (802792c ) 8027830: f883 2026 strb.w r2, [r3, #38] ; 0x26 DiagnFileData.d_Date.Month = (uint8_t) Month; 8027834: 6a3b ldr r3, [r7, #32] 8027836: b2da uxtb r2, r3 8027838: 4b3c ldr r3, [pc, #240] ; (802792c ) 802783a: f883 2025 strb.w r2, [r3, #37] ; 0x25 DiagnFileData.d_Date.Year = (uint8_t) Year; 802783e: 6a7b ldr r3, [r7, #36] ; 0x24 8027840: b2da uxtb r2, r3 8027842: 4b3a ldr r3, [pc, #232] ; (802792c ) 8027844: f883 2027 strb.w r2, [r3, #39] ; 0x27 DiagnFileData.d_Time.TimeFormat = 0; 8027848: 4b38 ldr r3, [pc, #224] ; (802792c ) 802784a: 2200 movs r2, #0 802784c: 761a strb r2, [r3, #24] DiagnFileData.d_Time.Hours = (uint8_t) Hour; 802784e: 69bb ldr r3, [r7, #24] 8027850: b2da uxtb r2, r3 8027852: 4b36 ldr r3, [pc, #216] ; (802792c ) 8027854: 731a strb r2, [r3, #12] DiagnFileData.d_Time.Minutes = (uint8_t) Min; 8027856: 697b ldr r3, [r7, #20] 8027858: b2da uxtb r2, r3 802785a: 4b34 ldr r3, [pc, #208] ; (802792c ) 802785c: 735a strb r2, [r3, #13] DiagnFileData.d_Time.Seconds = (uint8_t) Sec; 802785e: 693b ldr r3, [r7, #16] 8027860: b2da uxtb r2, r3 8027862: 4b32 ldr r3, [pc, #200] ; (802792c ) 8027864: 739a strb r2, [r3, #14] TimeFileData = DiagnFileData.d_Time; 8027866: 4a32 ldr r2, [pc, #200] ; (8027930 ) 8027868: 4b30 ldr r3, [pc, #192] ; (802792c ) 802786a: 4615 mov r5, r2 802786c: f103 040c add.w r4, r3, #12 8027870: cc0f ldmia r4!, {r0, r1, r2, r3} 8027872: c50f stmia r5!, {r0, r1, r2, r3} 8027874: e894 0003 ldmia.w r4, {r0, r1} 8027878: e885 0003 stmia.w r5, {r0, r1} DateFileData = DiagnFileData.d_Date; 802787c: 4a2d ldr r2, [pc, #180] ; (8027934 ) 802787e: 4b2b ldr r3, [pc, #172] ; (802792c ) 8027880: 3324 adds r3, #36 ; 0x24 8027882: 6818 ldr r0, [r3, #0] 8027884: 6010 str r0, [r2, #0] DrawSavedData = true; 8027886: 4b2c ldr r3, [pc, #176] ; (8027938 ) 8027888: 2201 movs r2, #1 802788a: 701a strb r2, [r3, #0] FileDataExist = true; 802788c: 4b2b ldr r3, [pc, #172] ; (802793c ) 802788e: 2201 movs r2, #1 8027890: 701a strb r2, [r3, #0] f_close(&F); 8027892: 4822 ldr r0, [pc, #136] ; (802791c ) 8027894: f09f f95c bl 80c6b50 return FR_OK; 8027898: 2300 movs r3, #0 802789a: e03a b.n 8027912 } } else { //BAD DATA IN FILE!!!!!!!!!!!!!! f_close(&F); 802789c: 481f ldr r0, [pc, #124] ; (802791c ) 802789e: f09f f957 bl 80c6b50 memset(Comment, 0, sizeof(Comment)); 80278a2: 2228 movs r2, #40 ; 0x28 80278a4: 2100 movs r1, #0 80278a6: 4826 ldr r0, [pc, #152] ; (8027940 ) 80278a8: f0a5 fbce bl 80cd048 return FR_INVALID_OBJECT; 80278ac: 2309 movs r3, #9 80278ae: e030 b.n 8027912 if(NextIndexPoint == IP) 80278b0: bf00 nop } ifs += 33; 80278b2: e9d7 340c ldrd r3, r4, [r7, #48] ; 0x30 80278b6: 3321 adds r3, #33 ; 0x21 80278b8: f144 0400 adc.w r4, r4, #0 80278bc: e9c7 340c strd r3, r4, [r7, #48] ; 0x30 80278c0: e013 b.n 80278ea } else { f_close(&F); 80278c2: 4816 ldr r0, [pc, #88] ; (802791c ) 80278c4: f09f f944 bl 80c6b50 memset(Comment, 0, sizeof(Comment)); 80278c8: 2228 movs r2, #40 ; 0x28 80278ca: 2100 movs r1, #0 80278cc: 481c ldr r0, [pc, #112] ; (8027940 ) 80278ce: f0a5 fbbb bl 80cd048 return FR_DISK_ERR; 80278d2: 2301 movs r3, #1 80278d4: e01d b.n 8027912 } } else { f_close(&F); 80278d6: 4811 ldr r0, [pc, #68] ; (802791c ) 80278d8: f09f f93a bl 80c6b50 memset(Comment, 0, sizeof(Comment)); 80278dc: 2228 movs r2, #40 ; 0x28 80278de: 2100 movs r1, #0 80278e0: 4817 ldr r0, [pc, #92] ; (8027940 ) 80278e2: f0a5 fbb1 bl 80cd048 return FR_DISK_ERR; 80278e6: 2301 movs r3, #1 80278e8: e013 b.n 8027912 while(ifs < f_size(&F)) 80278ea: 4b0c ldr r3, [pc, #48] ; (802791c ) 80278ec: e9d3 3404 ldrd r3, r4, [r3, #16] 80278f0: e9d7 120c ldrd r1, r2, [r7, #48] ; 0x30 80278f4: 42a2 cmp r2, r4 80278f6: bf08 it eq 80278f8: 4299 cmpeq r1, r3 80278fa: f4ff aeb9 bcc.w 8027670 /* * Èçìåðåíèå íå îáíàðóæåíî */ DrawSavedData = true; 80278fe: 4b0e ldr r3, [pc, #56] ; (8027938 ) 8027900: 2201 movs r2, #1 8027902: 701a strb r2, [r3, #0] f_close(&F); 8027904: 4805 ldr r0, [pc, #20] ; (802791c ) 8027906: f09f f923 bl 80c6b50 return FR_OK; 802790a: 2300 movs r3, #0 802790c: e001 b.n 8027912 } } } } return res; 802790e: f897 303f ldrb.w r3, [r7, #63] ; 0x3f } 8027912: 4618 mov r0, r3 8027914: 3744 adds r7, #68 ; 0x44 8027916: 46bd mov sp, r7 8027918: bdf0 pop {r4, r5, r6, r7, pc} 802791a: bf00 nop 802791c: 20022e20 .word 0x20022e20 8027920: 2007c000 .word 0x2007c000 8027924: 20021f9c .word 0x20021f9c 8027928: 20022310 .word 0x20022310 802792c: 200225f4 .word 0x200225f4 8027930: 20022968 .word 0x20022968 8027934: 200225f0 .word 0x200225f0 8027938: 20020dca .word 0x20020dca 802793c: 20020dd3 .word 0x20020dd3 8027940: 20022650 .word 0x20022650 08027944 : FRESULT ReadFileSPEC(char* fname) { 8027944: b580 push {r7, lr} 8027946: b086 sub sp, #24 8027948: af00 add r7, sp, #0 802794a: 6078 str r0, [r7, #4] FRESULT res = FR_OK; 802794c: 2300 movs r3, #0 802794e: 75fb strb r3, [r7, #23] uint32_t i; UINT fk; FileDataExist = false; 8027950: 4b4f ldr r3, [pc, #316] ; (8027a90 ) 8027952: 2200 movs r2, #0 8027954: 701a strb r2, [r3, #0] DrawSavedData = false; 8027956: 4b4f ldr r3, [pc, #316] ; (8027a94 ) 8027958: 2200 movs r2, #0 802795a: 701a strb r2, [r3, #0] if(CardState != MSD_READY) { 802795c: 4b4e ldr r3, [pc, #312] ; (8027a98 ) 802795e: 781b ldrb r3, [r3, #0] 8027960: b2db uxtb r3, r3 8027962: 2b03 cmp r3, #3 8027964: d001 beq.n 802796a return FR_NOT_READY; 8027966: 2303 movs r3, #3 8027968: e08e b.n 8027a88 } //res = f_mount(&fs, SDPath, 1); if(res == FR_OK) 802796a: 7dfb ldrb r3, [r7, #23] 802796c: 2b00 cmp r3, #0 802796e: f040 808a bne.w 8027a86 { //memset(FileName, 0, sizeof(FileName)); //strcpy(FileName, fname); memset(PointPath, 0, sizeof(PointPath)); 8027972: f44f 7200 mov.w r2, #512 ; 0x200 8027976: 2100 movs r1, #0 8027978: 4848 ldr r0, [pc, #288] ; (8027a9c ) 802797a: f0a5 fb65 bl 80cd048 memset(SearchPath, 0, sizeof(SearchPath)); 802797e: f44f 7200 mov.w r2, #512 ; 0x200 8027982: 2100 movs r1, #0 8027984: 4846 ldr r0, [pc, #280] ; (8027aa0 ) 8027986: f0a5 fb5f bl 80cd048 SearchPath[0] = '0'; 802798a: 4b45 ldr r3, [pc, #276] ; (8027aa0 ) 802798c: 2230 movs r2, #48 ; 0x30 802798e: 701a strb r2, [r3, #0] SearchPath[1] = ':'; 8027990: 4b43 ldr r3, [pc, #268] ; (8027aa0 ) 8027992: 223a movs r2, #58 ; 0x3a 8027994: 705a strb r2, [r3, #1] ScanMode = GET_PATH_TO_FILE; 8027996: 4b43 ldr r3, [pc, #268] ; (8027aa4 ) 8027998: 2209 movs r2, #9 802799a: 701a strb r2, [r3, #0] FlagReturn = false; 802799c: 4b42 ldr r3, [pc, #264] ; (8027aa8 ) 802799e: 2200 movs r2, #0 80279a0: 701a strb r2, [r3, #0] ScanFiles(SearchPath, 0); 80279a2: 2100 movs r1, #0 80279a4: 483e ldr r0, [pc, #248] ; (8027aa0 ) 80279a6: f003 ff81 bl 802b8ac if(PointPath[0] == 0) 80279aa: 4b3c ldr r3, [pc, #240] ; (8027a9c ) 80279ac: 781b ldrb r3, [r3, #0] 80279ae: 2b00 cmp r3, #0 80279b0: d102 bne.n 80279b8 { res = FR_NO_FILE; 80279b2: 2304 movs r3, #4 80279b4: 75fb strb r3, [r7, #23] 80279b6: e066 b.n 8027a86 } else { res = f_open(&F, PointPath, FA_READ); 80279b8: 2201 movs r2, #1 80279ba: 4938 ldr r1, [pc, #224] ; (8027a9c ) 80279bc: 483b ldr r0, [pc, #236] ; (8027aac ) 80279be: f09e fa83 bl 80c5ec8 80279c2: 4603 mov r3, r0 80279c4: 75fb strb r3, [r7, #23] if(res == FR_OK) 80279c6: 7dfb ldrb r3, [r7, #23] 80279c8: 2b00 cmp r3, #0 80279ca: d15c bne.n 8027a86 { memcpy((void *) &pardata_old, (void *) &pardata, sizeof(pardata)); 80279cc: 4a38 ldr r2, [pc, #224] ; (8027ab0 ) 80279ce: 4b39 ldr r3, [pc, #228] ; (8027ab4 ) 80279d0: 4610 mov r0, r2 80279d2: 4619 mov r1, r3 80279d4: f44f 6396 mov.w r3, #1200 ; 0x4b0 80279d8: 461a mov r2, r3 80279da: f0a5 fb2a bl 80cd032 res = f_read(&F, (void *) &pardata, sizeof(pardata), &fk); 80279de: f107 030c add.w r3, r7, #12 80279e2: f44f 6296 mov.w r2, #1200 ; 0x4b0 80279e6: 4933 ldr r1, [pc, #204] ; (8027ab4 ) 80279e8: 4830 ldr r0, [pc, #192] ; (8027aac ) 80279ea: f09e fcca bl 80c6382 80279ee: 4603 mov r3, r0 80279f0: 75fb strb r3, [r7, #23] if(res == FR_OK) 80279f2: 7dfb ldrb r3, [r7, #23] 80279f4: 2b00 cmp r3, #0 80279f6: d141 bne.n 8027a7c { res = f_lseek(&F, 512); 80279f8: f44f 7200 mov.w r2, #512 ; 0x200 80279fc: f04f 0300 mov.w r3, #0 8027a00: 482a ldr r0, [pc, #168] ; (8027aac ) 8027a02: f09f f8c5 bl 80c6b90 8027a06: 4603 mov r3, r0 8027a08: 75fb strb r3, [r7, #23] if(res == FR_OK) 8027a0a: 7dfb ldrb r3, [r7, #23] 8027a0c: 2b00 cmp r3, #0 8027a0e: d130 bne.n 8027a72 { i = (NS[pardata.LNE] << 2); 8027a10: 4b28 ldr r3, [pc, #160] ; (8027ab4 ) 8027a12: 79db ldrb r3, [r3, #7] 8027a14: b2db uxtb r3, r3 8027a16: 461a mov r2, r3 8027a18: 4b27 ldr r3, [pc, #156] ; (8027ab8 ) 8027a1a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8027a1e: 009b lsls r3, r3, #2 8027a20: 613b str r3, [r7, #16] res = f_read(&F, (void *) &SD_Buff, (UINT) i, &fk); 8027a22: f107 030c add.w r3, r7, #12 8027a26: 693a ldr r2, [r7, #16] 8027a28: 4924 ldr r1, [pc, #144] ; (8027abc ) 8027a2a: 4820 ldr r0, [pc, #128] ; (8027aac ) 8027a2c: f09e fca9 bl 80c6382 8027a30: 4603 mov r3, r0 8027a32: 75fb strb r3, [r7, #23] if(res == FR_OK) 8027a34: 7dfb ldrb r3, [r7, #23] 8027a36: 2b00 cmp r3, #0 8027a38: d116 bne.n 8027a68 { arm_copy_f32((float32_t *) &SD_Buff, pScrA_f32, NS[pardata.LNE]); 8027a3a: 4b1e ldr r3, [pc, #120] ; (8027ab4 ) 8027a3c: 79db ldrb r3, [r3, #7] 8027a3e: b2db uxtb r3, r3 8027a40: 461a mov r2, r3 8027a42: 4b1d ldr r3, [pc, #116] ; (8027ab8 ) 8027a44: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8027a48: 461a mov r2, r3 8027a4a: 491d ldr r1, [pc, #116] ; (8027ac0 ) 8027a4c: 481b ldr r0, [pc, #108] ; (8027abc ) 8027a4e: f0a2 f977 bl 80c9d40 f_close(&F); 8027a52: 4816 ldr r0, [pc, #88] ; (8027aac ) 8027a54: f09f f87c bl 80c6b50 //f_mount(&fs, SDPath, 0); DrawSavedData = true; 8027a58: 4b0e ldr r3, [pc, #56] ; (8027a94 ) 8027a5a: 2201 movs r2, #1 8027a5c: 701a strb r2, [r3, #0] FileDataExist = true; 8027a5e: 4b0c ldr r3, [pc, #48] ; (8027a90 ) 8027a60: 2201 movs r2, #1 8027a62: 701a strb r2, [r3, #0] return FR_OK; 8027a64: 2300 movs r3, #0 8027a66: e00f b.n 8027a88 } else { f_close(&F); 8027a68: 4810 ldr r0, [pc, #64] ; (8027aac ) 8027a6a: f09f f871 bl 80c6b50 // f_mount(&fs, SDPath, 0); return FR_DISK_ERR; 8027a6e: 2301 movs r3, #1 8027a70: e00a b.n 8027a88 } } else { f_close(&F); 8027a72: 480e ldr r0, [pc, #56] ; (8027aac ) 8027a74: f09f f86c bl 80c6b50 //f_mount(&fs, SDPath, 0); return FR_DISK_ERR; 8027a78: 2301 movs r3, #1 8027a7a: e005 b.n 8027a88 } } else { f_close(&F); 8027a7c: 480b ldr r0, [pc, #44] ; (8027aac ) 8027a7e: f09f f867 bl 80c6b50 //f_mount(&fs, SDPath, 0); return FR_DISK_ERR; 8027a82: 2301 movs r3, #1 8027a84: e000 b.n 8027a88 } } } //f_mount(&fs, SDPath, 0); return res; 8027a86: 7dfb ldrb r3, [r7, #23] } 8027a88: 4618 mov r0, r3 8027a8a: 3718 adds r7, #24 8027a8c: 46bd mov sp, r7 8027a8e: bd80 pop {r7, pc} 8027a90: 20020dd3 .word 0x20020dd3 8027a94: 20020dca .word 0x20020dca 8027a98: 2002164c .word 0x2002164c 8027a9c: 200229b4 .word 0x200229b4 8027aa0: 20021d80 .word 0x20021d80 8027aa4: 20020ddf .word 0x20020ddf 8027aa8: 20020dde .word 0x20020dde 8027aac: 20022e20 .word 0x20022e20 8027ab0: 2002437c .word 0x2002437c 8027ab4: 20023e60 .word 0x20023e60 8027ab8: 080d0da0 .word 0x080d0da0 8027abc: 20000000 .word 0x20000000 8027ac0: 64080000 .word 0x64080000 08027ac4 : } FRESULT OpenFileGTR(char *fname) { 8027ac4: e92d 43b0 stmdb sp!, {r4, r5, r7, r8, r9, lr} 8027ac8: ed2d 8b02 vpush {d8} 8027acc: b0a0 sub sp, #128 ; 0x80 8027ace: af00 add r7, sp, #0 8027ad0: 6078 str r0, [r7, #4] FSIZE_t SizeMeas = 0; 8027ad2: f04f 0200 mov.w r2, #0 8027ad6: f04f 0300 mov.w r3, #0 8027ada: e9c7 231e strd r2, r3, [r7, #120] ; 0x78 FRESULT res = FR_OK; 8027ade: 2300 movs r3, #0 8027ae0: f887 3077 strb.w r3, [r7, #119] ; 0x77 UINT fk, i; uint32_t srate[12]; uint32_t sens[12], s; FileDataExist = false; 8027ae4: 4b8e ldr r3, [pc, #568] ; (8027d20 ) 8027ae6: 2200 movs r2, #0 8027ae8: 701a strb r2, [r3, #0] DrawSavedData = false; 8027aea: 4b8e ldr r3, [pc, #568] ; (8027d24 ) 8027aec: 2200 movs r2, #0 8027aee: 701a strb r2, [r3, #0] FirstMeas = 0; 8027af0: 4b8d ldr r3, [pc, #564] ; (8027d28 ) 8027af2: 2200 movs r2, #0 8027af4: 601a str r2, [r3, #0] memset((void *) &PlayingState, 0, sizeof(PlayingState)); 8027af6: 2228 movs r2, #40 ; 0x28 8027af8: 2100 movs r1, #0 8027afa: 488c ldr r0, [pc, #560] ; (8027d2c ) 8027afc: f0a5 faa4 bl 80cd048 memset(srate, 0, sizeof(srate)); 8027b00: f107 0338 add.w r3, r7, #56 ; 0x38 8027b04: 2230 movs r2, #48 ; 0x30 8027b06: 2100 movs r1, #0 8027b08: 4618 mov r0, r3 8027b0a: f0a5 fa9d bl 80cd048 memset(sens, 0, sizeof(sens)); 8027b0e: f107 0308 add.w r3, r7, #8 8027b12: 2230 movs r2, #48 ; 0x30 8027b14: 2100 movs r1, #0 8027b16: 4618 mov r0, r3 8027b18: f0a5 fa96 bl 80cd048 PlayingState.Sensitivity = 1.0f; 8027b1c: 4b83 ldr r3, [pc, #524] ; (8027d2c ) 8027b1e: f04f 527e mov.w r2, #1065353216 ; 0x3f800000 8027b22: 621a str r2, [r3, #32] if(CardState != MSD_READY) { 8027b24: 4b82 ldr r3, [pc, #520] ; (8027d30 ) 8027b26: 781b ldrb r3, [r3, #0] 8027b28: b2db uxtb r3, r3 8027b2a: 2b03 cmp r3, #3 8027b2c: d001 beq.n 8027b32 return FR_NOT_READY; 8027b2e: 2303 movs r3, #3 8027b30: e2c6 b.n 80280c0 } //res = f_mount(&fs, SDPath, 1); if(res == FR_OK) 8027b32: f897 3077 ldrb.w r3, [r7, #119] ; 0x77 8027b36: 2b00 cmp r3, #0 8027b38: f040 82c0 bne.w 80280bc { memset(PointPath, 0, sizeof(PointPath)); 8027b3c: f44f 7200 mov.w r2, #512 ; 0x200 8027b40: 2100 movs r1, #0 8027b42: 487c ldr r0, [pc, #496] ; (8027d34 ) 8027b44: f0a5 fa80 bl 80cd048 memset(SearchPath, 0, sizeof(SearchPath)); 8027b48: f44f 7200 mov.w r2, #512 ; 0x200 8027b4c: 2100 movs r1, #0 8027b4e: 487a ldr r0, [pc, #488] ; (8027d38 ) 8027b50: f0a5 fa7a bl 80cd048 SearchPath[0] = '0'; 8027b54: 4b78 ldr r3, [pc, #480] ; (8027d38 ) 8027b56: 2230 movs r2, #48 ; 0x30 8027b58: 701a strb r2, [r3, #0] SearchPath[1] = ':'; 8027b5a: 4b77 ldr r3, [pc, #476] ; (8027d38 ) 8027b5c: 223a movs r2, #58 ; 0x3a 8027b5e: 705a strb r2, [r3, #1] ScanMode = GET_PATH_TO_FILE; 8027b60: 4b76 ldr r3, [pc, #472] ; (8027d3c ) 8027b62: 2209 movs r2, #9 8027b64: 701a strb r2, [r3, #0] FlagReturn = false; 8027b66: 4b76 ldr r3, [pc, #472] ; (8027d40 ) 8027b68: 2200 movs r2, #0 8027b6a: 701a strb r2, [r3, #0] ScanFiles(SearchPath, 0); 8027b6c: 2100 movs r1, #0 8027b6e: 4872 ldr r0, [pc, #456] ; (8027d38 ) 8027b70: f003 fe9c bl 802b8ac if(PointPath[0] == 0) 8027b74: 4b6f ldr r3, [pc, #444] ; (8027d34 ) 8027b76: 781b ldrb r3, [r3, #0] 8027b78: 2b00 cmp r3, #0 8027b7a: d103 bne.n 8027b84 { res = FR_NO_FILE; 8027b7c: 2304 movs r3, #4 8027b7e: f887 3077 strb.w r3, [r7, #119] ; 0x77 8027b82: e29b b.n 80280bc } else { res = f_open(&F, PointPath, FA_READ); 8027b84: 2201 movs r2, #1 8027b86: 496b ldr r1, [pc, #428] ; (8027d34 ) 8027b88: 486e ldr r0, [pc, #440] ; (8027d44 ) 8027b8a: f09e f99d bl 80c5ec8 8027b8e: 4603 mov r3, r0 8027b90: f887 3077 strb.w r3, [r7, #119] ; 0x77 if(res == FR_OK) 8027b94: f897 3077 ldrb.w r3, [r7, #119] ; 0x77 8027b98: 2b00 cmp r3, #0 8027b9a: f040 828f bne.w 80280bc { memcpy((void *) &pardata_old, (void *) &pardata, sizeof(pardata)); 8027b9e: 4a6a ldr r2, [pc, #424] ; (8027d48 ) 8027ba0: 4b6a ldr r3, [pc, #424] ; (8027d4c ) 8027ba2: 4610 mov r0, r2 8027ba4: 4619 mov r1, r3 8027ba6: f44f 6396 mov.w r3, #1200 ; 0x4b0 8027baa: 461a mov r2, r3 8027bac: f0a5 fa41 bl 80cd032 res = f_read(&F, (void *) &FirstMeas, 4, &fk); 8027bb0: f107 0368 add.w r3, r7, #104 ; 0x68 8027bb4: 2204 movs r2, #4 8027bb6: 495c ldr r1, [pc, #368] ; (8027d28 ) 8027bb8: 4862 ldr r0, [pc, #392] ; (8027d44 ) 8027bba: f09e fbe2 bl 80c6382 8027bbe: 4603 mov r3, r0 8027bc0: f887 3077 strb.w r3, [r7, #119] ; 0x77 if(res == FR_OK) 8027bc4: f897 3077 ldrb.w r3, [r7, #119] ; 0x77 8027bc8: 2b00 cmp r3, #0 8027bca: f040 8269 bne.w 80280a0 { memset(SearchPath, 0, sizeof(SearchPath)); 8027bce: f44f 7200 mov.w r2, #512 ; 0x200 8027bd2: 2100 movs r1, #0 8027bd4: 4858 ldr r0, [pc, #352] ; (8027d38 ) 8027bd6: f0a5 fa37 bl 80cd048 res = f_read(&F, SearchPath, FirstMeas, &fk); 8027bda: 4b53 ldr r3, [pc, #332] ; (8027d28 ) 8027bdc: 681a ldr r2, [r3, #0] 8027bde: f107 0368 add.w r3, r7, #104 ; 0x68 8027be2: 4955 ldr r1, [pc, #340] ; (8027d38 ) 8027be4: 4857 ldr r0, [pc, #348] ; (8027d44 ) 8027be6: f09e fbcc bl 80c6382 8027bea: 4603 mov r3, r0 8027bec: f887 3077 strb.w r3, [r7, #119] ; 0x77 if(res == FR_OK) 8027bf0: f897 3077 ldrb.w r3, [r7, #119] ; 0x77 8027bf4: 2b00 cmp r3, #0 8027bf6: f040 8245 bne.w 8028084 { //********************************** FIND SAMPLE RATE ******************************************************************************************************************************** for(i = 0; i < FirstMeas; i++) 8027bfa: 2300 movs r3, #0 8027bfc: 673b str r3, [r7, #112] ; 0x70 8027bfe: e085 b.n 8027d0c { if((SearchPath[i] == 'r') && (SearchPath[i + 1] == 'a') && (SearchPath[i + 2] == 't') && (SearchPath[i + 3] == 'e') && (SearchPath[i + 4] == '=') && (SearchPath[i + 5] == '"')) 8027c00: 4a4d ldr r2, [pc, #308] ; (8027d38 ) 8027c02: 6f3b ldr r3, [r7, #112] ; 0x70 8027c04: 4413 add r3, r2 8027c06: 781b ldrb r3, [r3, #0] 8027c08: 2b72 cmp r3, #114 ; 0x72 8027c0a: d17c bne.n 8027d06 8027c0c: 6f3b ldr r3, [r7, #112] ; 0x70 8027c0e: 3301 adds r3, #1 8027c10: 4a49 ldr r2, [pc, #292] ; (8027d38 ) 8027c12: 5cd3 ldrb r3, [r2, r3] 8027c14: 2b61 cmp r3, #97 ; 0x61 8027c16: d176 bne.n 8027d06 8027c18: 6f3b ldr r3, [r7, #112] ; 0x70 8027c1a: 3302 adds r3, #2 8027c1c: 4a46 ldr r2, [pc, #280] ; (8027d38 ) 8027c1e: 5cd3 ldrb r3, [r2, r3] 8027c20: 2b74 cmp r3, #116 ; 0x74 8027c22: d170 bne.n 8027d06 8027c24: 6f3b ldr r3, [r7, #112] ; 0x70 8027c26: 3303 adds r3, #3 8027c28: 4a43 ldr r2, [pc, #268] ; (8027d38 ) 8027c2a: 5cd3 ldrb r3, [r2, r3] 8027c2c: 2b65 cmp r3, #101 ; 0x65 8027c2e: d16a bne.n 8027d06 8027c30: 6f3b ldr r3, [r7, #112] ; 0x70 8027c32: 3304 adds r3, #4 8027c34: 4a40 ldr r2, [pc, #256] ; (8027d38 ) 8027c36: 5cd3 ldrb r3, [r2, r3] 8027c38: 2b3d cmp r3, #61 ; 0x3d 8027c3a: d164 bne.n 8027d06 8027c3c: 6f3b ldr r3, [r7, #112] ; 0x70 8027c3e: 3305 adds r3, #5 8027c40: 4a3d ldr r2, [pc, #244] ; (8027d38 ) 8027c42: 5cd3 ldrb r3, [r2, r3] 8027c44: 2b22 cmp r3, #34 ; 0x22 8027c46: d15e bne.n 8027d06 { srate[0] = SearchPath[i + 6] - 48; 8027c48: 6f3b ldr r3, [r7, #112] ; 0x70 8027c4a: 3306 adds r3, #6 8027c4c: 4a3a ldr r2, [pc, #232] ; (8027d38 ) 8027c4e: 5cd3 ldrb r3, [r2, r3] 8027c50: 3b30 subs r3, #48 ; 0x30 8027c52: 63bb str r3, [r7, #56] ; 0x38 srate[1] = SearchPath[i + 7] - 48; 8027c54: 6f3b ldr r3, [r7, #112] ; 0x70 8027c56: 3307 adds r3, #7 8027c58: 4a37 ldr r2, [pc, #220] ; (8027d38 ) 8027c5a: 5cd3 ldrb r3, [r2, r3] 8027c5c: 3b30 subs r3, #48 ; 0x30 8027c5e: 63fb str r3, [r7, #60] ; 0x3c srate[2] = SearchPath[i + 8] - 48; 8027c60: 6f3b ldr r3, [r7, #112] ; 0x70 8027c62: 3308 adds r3, #8 8027c64: 4a34 ldr r2, [pc, #208] ; (8027d38 ) 8027c66: 5cd3 ldrb r3, [r2, r3] 8027c68: 3b30 subs r3, #48 ; 0x30 8027c6a: 643b str r3, [r7, #64] ; 0x40 srate[3] = SearchPath[i + 9] - 48; 8027c6c: 6f3b ldr r3, [r7, #112] ; 0x70 8027c6e: 3309 adds r3, #9 8027c70: 4a31 ldr r2, [pc, #196] ; (8027d38 ) 8027c72: 5cd3 ldrb r3, [r2, r3] 8027c74: 3b30 subs r3, #48 ; 0x30 8027c76: 647b str r3, [r7, #68] ; 0x44 srate[4] = SearchPath[i + 10]; 8027c78: 6f3b ldr r3, [r7, #112] ; 0x70 8027c7a: 330a adds r3, #10 8027c7c: 4a2e ldr r2, [pc, #184] ; (8027d38 ) 8027c7e: 5cd3 ldrb r3, [r2, r3] 8027c80: 64bb str r3, [r7, #72] ; 0x48 if(srate[4] == '"') 8027c82: 6cbb ldr r3, [r7, #72] ; 0x48 8027c84: 2b22 cmp r3, #34 ; 0x22 8027c86: d114 bne.n 8027cb2 { PlayingState.SampleRate = srate[0] * 1000 + srate[1] * 100 + srate[2] * 10 + srate[3]; 8027c88: 6bbb ldr r3, [r7, #56] ; 0x38 8027c8a: f44f 727a mov.w r2, #1000 ; 0x3e8 8027c8e: fb02 f203 mul.w r2, r2, r3 8027c92: 6bfb ldr r3, [r7, #60] ; 0x3c 8027c94: 2164 movs r1, #100 ; 0x64 8027c96: fb01 f303 mul.w r3, r1, r3 8027c9a: 18d1 adds r1, r2, r3 8027c9c: 6c3a ldr r2, [r7, #64] ; 0x40 8027c9e: 4613 mov r3, r2 8027ca0: 009b lsls r3, r3, #2 8027ca2: 4413 add r3, r2 8027ca4: 005b lsls r3, r3, #1 8027ca6: 18ca adds r2, r1, r3 8027ca8: 6c7b ldr r3, [r7, #68] ; 0x44 8027caa: 4413 add r3, r2 8027cac: 4a1f ldr r2, [pc, #124] ; (8027d2c ) 8027cae: 6193 str r3, [r2, #24] break; 8027cb0: e032 b.n 8027d18 } else srate[4] -= 48; 8027cb2: 6cbb ldr r3, [r7, #72] ; 0x48 8027cb4: 3b30 subs r3, #48 ; 0x30 8027cb6: 64bb str r3, [r7, #72] ; 0x48 srate[5] = SearchPath[i + 11]; 8027cb8: 6f3b ldr r3, [r7, #112] ; 0x70 8027cba: 330b adds r3, #11 8027cbc: 4a1e ldr r2, [pc, #120] ; (8027d38 ) 8027cbe: 5cd3 ldrb r3, [r2, r3] 8027cc0: 64fb str r3, [r7, #76] ; 0x4c if(srate[5] == '"') 8027cc2: 6cfb ldr r3, [r7, #76] ; 0x4c 8027cc4: 2b22 cmp r3, #34 ; 0x22 8027cc6: d11b bne.n 8027d00 { PlayingState.SampleRate = srate[0] * 10000 + srate[1] * 1000 + srate[2] * 100 + srate[3] * 10 + srate[4]; 8027cc8: 6bbb ldr r3, [r7, #56] ; 0x38 8027cca: f242 7210 movw r2, #10000 ; 0x2710 8027cce: fb02 f203 mul.w r2, r2, r3 8027cd2: 6bfb ldr r3, [r7, #60] ; 0x3c 8027cd4: f44f 717a mov.w r1, #1000 ; 0x3e8 8027cd8: fb01 f303 mul.w r3, r1, r3 8027cdc: 18d1 adds r1, r2, r3 8027cde: 6c7a ldr r2, [r7, #68] ; 0x44 8027ce0: 4613 mov r3, r2 8027ce2: 009b lsls r3, r3, #2 8027ce4: 4413 add r3, r2 8027ce6: 005b lsls r3, r3, #1 8027ce8: 4618 mov r0, r3 8027cea: 6c3b ldr r3, [r7, #64] ; 0x40 8027cec: 2264 movs r2, #100 ; 0x64 8027cee: fb02 f303 mul.w r3, r2, r3 8027cf2: 4403 add r3, r0 8027cf4: 18ca adds r2, r1, r3 8027cf6: 6cbb ldr r3, [r7, #72] ; 0x48 8027cf8: 4413 add r3, r2 8027cfa: 4a0c ldr r2, [pc, #48] ; (8027d2c ) 8027cfc: 6193 str r3, [r2, #24] break; 8027cfe: e00b b.n 8027d18 } else srate[5] -= 48; 8027d00: 6cfb ldr r3, [r7, #76] ; 0x4c 8027d02: 3b30 subs r3, #48 ; 0x30 8027d04: 64fb str r3, [r7, #76] ; 0x4c for(i = 0; i < FirstMeas; i++) 8027d06: 6f3b ldr r3, [r7, #112] ; 0x70 8027d08: 3301 adds r3, #1 8027d0a: 673b str r3, [r7, #112] ; 0x70 8027d0c: 4b06 ldr r3, [pc, #24] ; (8027d28 ) 8027d0e: 681b ldr r3, [r3, #0] 8027d10: 6f3a ldr r2, [r7, #112] ; 0x70 8027d12: 429a cmp r2, r3 8027d14: f4ff af74 bcc.w 8027c00 } } //====================================================================================================================================================================================== //********************************** FIND Sensitivity ******************************************************************************************************************************** for(i = 0; i < FirstMeas; i++) 8027d18: 2300 movs r3, #0 8027d1a: 673b str r3, [r7, #112] ; 0x70 8027d1c: e0c3 b.n 8027ea6 8027d1e: bf00 nop 8027d20: 20020dd3 .word 0x20020dd3 8027d24: 20020dca .word 0x20020dca 8027d28: 20020dd8 .word 0x20020dd8 8027d2c: 200228d8 .word 0x200228d8 8027d30: 2002164c .word 0x2002164c 8027d34: 200229b4 .word 0x200229b4 8027d38: 20021d80 .word 0x20021d80 8027d3c: 20020ddf .word 0x20020ddf 8027d40: 20020dde .word 0x20020dde 8027d44: 20022e20 .word 0x20022e20 8027d48: 2002437c .word 0x2002437c 8027d4c: 20023e60 .word 0x20023e60 { if((SearchPath[i] == 's') && (SearchPath[i + 1] == 'e') && (SearchPath[i + 2] == 'n') && (SearchPath[i + 3] == 's') && (SearchPath[i + 4] == 'i') && (SearchPath[i + 5] == 't') && (SearchPath[i + 6] == 'i') && (SearchPath[i + 7] == 'v') && (SearchPath[i + 8] == 'i') && (SearchPath[i + 9] == 't') && (SearchPath[i + 10] == 'y') && (SearchPath[i + 11] == '=') && (SearchPath[i + 12] == '"')) 8027d50: 4a8c ldr r2, [pc, #560] ; (8027f84 ) 8027d52: 6f3b ldr r3, [r7, #112] ; 0x70 8027d54: 4413 add r3, r2 8027d56: 781b ldrb r3, [r3, #0] 8027d58: 2b73 cmp r3, #115 ; 0x73 8027d5a: f040 80a1 bne.w 8027ea0 8027d5e: 6f3b ldr r3, [r7, #112] ; 0x70 8027d60: 3301 adds r3, #1 8027d62: 4a88 ldr r2, [pc, #544] ; (8027f84 ) 8027d64: 5cd3 ldrb r3, [r2, r3] 8027d66: 2b65 cmp r3, #101 ; 0x65 8027d68: f040 809a bne.w 8027ea0 8027d6c: 6f3b ldr r3, [r7, #112] ; 0x70 8027d6e: 3302 adds r3, #2 8027d70: 4a84 ldr r2, [pc, #528] ; (8027f84 ) 8027d72: 5cd3 ldrb r3, [r2, r3] 8027d74: 2b6e cmp r3, #110 ; 0x6e 8027d76: f040 8093 bne.w 8027ea0 8027d7a: 6f3b ldr r3, [r7, #112] ; 0x70 8027d7c: 3303 adds r3, #3 8027d7e: 4a81 ldr r2, [pc, #516] ; (8027f84 ) 8027d80: 5cd3 ldrb r3, [r2, r3] 8027d82: 2b73 cmp r3, #115 ; 0x73 8027d84: f040 808c bne.w 8027ea0 8027d88: 6f3b ldr r3, [r7, #112] ; 0x70 8027d8a: 3304 adds r3, #4 8027d8c: 4a7d ldr r2, [pc, #500] ; (8027f84 ) 8027d8e: 5cd3 ldrb r3, [r2, r3] 8027d90: 2b69 cmp r3, #105 ; 0x69 8027d92: f040 8085 bne.w 8027ea0 8027d96: 6f3b ldr r3, [r7, #112] ; 0x70 8027d98: 3305 adds r3, #5 8027d9a: 4a7a ldr r2, [pc, #488] ; (8027f84 ) 8027d9c: 5cd3 ldrb r3, [r2, r3] 8027d9e: 2b74 cmp r3, #116 ; 0x74 8027da0: d17e bne.n 8027ea0 8027da2: 6f3b ldr r3, [r7, #112] ; 0x70 8027da4: 3306 adds r3, #6 8027da6: 4a77 ldr r2, [pc, #476] ; (8027f84 ) 8027da8: 5cd3 ldrb r3, [r2, r3] 8027daa: 2b69 cmp r3, #105 ; 0x69 8027dac: d178 bne.n 8027ea0 8027dae: 6f3b ldr r3, [r7, #112] ; 0x70 8027db0: 3307 adds r3, #7 8027db2: 4a74 ldr r2, [pc, #464] ; (8027f84 ) 8027db4: 5cd3 ldrb r3, [r2, r3] 8027db6: 2b76 cmp r3, #118 ; 0x76 8027db8: d172 bne.n 8027ea0 8027dba: 6f3b ldr r3, [r7, #112] ; 0x70 8027dbc: 3308 adds r3, #8 8027dbe: 4a71 ldr r2, [pc, #452] ; (8027f84 ) 8027dc0: 5cd3 ldrb r3, [r2, r3] 8027dc2: 2b69 cmp r3, #105 ; 0x69 8027dc4: d16c bne.n 8027ea0 8027dc6: 6f3b ldr r3, [r7, #112] ; 0x70 8027dc8: 3309 adds r3, #9 8027dca: 4a6e ldr r2, [pc, #440] ; (8027f84 ) 8027dcc: 5cd3 ldrb r3, [r2, r3] 8027dce: 2b74 cmp r3, #116 ; 0x74 8027dd0: d166 bne.n 8027ea0 8027dd2: 6f3b ldr r3, [r7, #112] ; 0x70 8027dd4: 330a adds r3, #10 8027dd6: 4a6b ldr r2, [pc, #428] ; (8027f84 ) 8027dd8: 5cd3 ldrb r3, [r2, r3] 8027dda: 2b79 cmp r3, #121 ; 0x79 8027ddc: d160 bne.n 8027ea0 8027dde: 6f3b ldr r3, [r7, #112] ; 0x70 8027de0: 330b adds r3, #11 8027de2: 4a68 ldr r2, [pc, #416] ; (8027f84 ) 8027de4: 5cd3 ldrb r3, [r2, r3] 8027de6: 2b3d cmp r3, #61 ; 0x3d 8027de8: d15a bne.n 8027ea0 8027dea: 6f3b ldr r3, [r7, #112] ; 0x70 8027dec: 330c adds r3, #12 8027dee: 4a65 ldr r2, [pc, #404] ; (8027f84 ) 8027df0: 5cd3 ldrb r3, [r2, r3] 8027df2: 2b22 cmp r3, #34 ; 0x22 8027df4: d154 bne.n 8027ea0 { sens[0] = SearchPath[i + 15] - 48; 8027df6: 6f3b ldr r3, [r7, #112] ; 0x70 8027df8: 330f adds r3, #15 8027dfa: 4a62 ldr r2, [pc, #392] ; (8027f84 ) 8027dfc: 5cd3 ldrb r3, [r2, r3] 8027dfe: 3b30 subs r3, #48 ; 0x30 8027e00: 60bb str r3, [r7, #8] sens[1] = SearchPath[i + 16] - 48; 8027e02: 6f3b ldr r3, [r7, #112] ; 0x70 8027e04: 3310 adds r3, #16 8027e06: 4a5f ldr r2, [pc, #380] ; (8027f84 ) 8027e08: 5cd3 ldrb r3, [r2, r3] 8027e0a: 3b30 subs r3, #48 ; 0x30 8027e0c: 60fb str r3, [r7, #12] sens[2] = SearchPath[i + 17] - 48; 8027e0e: 6f3b ldr r3, [r7, #112] ; 0x70 8027e10: 3311 adds r3, #17 8027e12: 4a5c ldr r2, [pc, #368] ; (8027f84 ) 8027e14: 5cd3 ldrb r3, [r2, r3] 8027e16: 3b30 subs r3, #48 ; 0x30 8027e18: 613b str r3, [r7, #16] sens[3] = SearchPath[i + 18] - 48; 8027e1a: 6f3b ldr r3, [r7, #112] ; 0x70 8027e1c: 3312 adds r3, #18 8027e1e: 4a59 ldr r2, [pc, #356] ; (8027f84 ) 8027e20: 5cd3 ldrb r3, [r2, r3] 8027e22: 3b30 subs r3, #48 ; 0x30 8027e24: 617b str r3, [r7, #20] sens[4] = SearchPath[i + 19] - 48; 8027e26: 6f3b ldr r3, [r7, #112] ; 0x70 8027e28: 3313 adds r3, #19 8027e2a: 4a56 ldr r2, [pc, #344] ; (8027f84 ) 8027e2c: 5cd3 ldrb r3, [r2, r3] 8027e2e: 3b30 subs r3, #48 ; 0x30 8027e30: 61bb str r3, [r7, #24] sens[5] = SearchPath[i + 20] - 48; 8027e32: 6f3b ldr r3, [r7, #112] ; 0x70 8027e34: 3314 adds r3, #20 8027e36: 4a53 ldr r2, [pc, #332] ; (8027f84 ) 8027e38: 5cd3 ldrb r3, [r2, r3] 8027e3a: 3b30 subs r3, #48 ; 0x30 8027e3c: 61fb str r3, [r7, #28] s = (sens[0] * 100000) + (sens[1] * 10000) + (sens[2] * 1000) + (sens[3] * 100) + (sens[4] * 10) + sens[5]; 8027e3e: 68bb ldr r3, [r7, #8] 8027e40: 4a51 ldr r2, [pc, #324] ; (8027f88 ) 8027e42: fb02 f203 mul.w r2, r2, r3 8027e46: 68fb ldr r3, [r7, #12] 8027e48: f242 7110 movw r1, #10000 ; 0x2710 8027e4c: fb01 f303 mul.w r3, r1, r3 8027e50: 441a add r2, r3 8027e52: 697b ldr r3, [r7, #20] 8027e54: 2164 movs r1, #100 ; 0x64 8027e56: fb01 f103 mul.w r1, r1, r3 8027e5a: 693b ldr r3, [r7, #16] 8027e5c: f44f 707a mov.w r0, #1000 ; 0x3e8 8027e60: fb00 f303 mul.w r3, r0, r3 8027e64: 440b add r3, r1 8027e66: 18d1 adds r1, r2, r3 8027e68: 69ba ldr r2, [r7, #24] 8027e6a: 4613 mov r3, r2 8027e6c: 009b lsls r3, r3, #2 8027e6e: 4413 add r3, r2 8027e70: 005b lsls r3, r3, #1 8027e72: 18ca adds r2, r1, r3 8027e74: 69fb ldr r3, [r7, #28] 8027e76: 4413 add r3, r2 8027e78: 66fb str r3, [r7, #108] ; 0x6c PlayingState.Sensitivity = (float32_t) s; 8027e7a: 6efb ldr r3, [r7, #108] ; 0x6c 8027e7c: ee07 3a90 vmov s15, r3 8027e80: eef8 7a67 vcvt.f32.u32 s15, s15 8027e84: 4b41 ldr r3, [pc, #260] ; (8027f8c ) 8027e86: edc3 7a08 vstr s15, [r3, #32] PlayingState.Sensitivity /= 1000; 8027e8a: 4b40 ldr r3, [pc, #256] ; (8027f8c ) 8027e8c: ed93 7a08 vldr s14, [r3, #32] 8027e90: eddf 6a3f vldr s13, [pc, #252] ; 8027f90 8027e94: eec7 7a26 vdiv.f32 s15, s14, s13 8027e98: 4b3c ldr r3, [pc, #240] ; (8027f8c ) 8027e9a: edc3 7a08 vstr s15, [r3, #32] break; 8027e9e: e008 b.n 8027eb2 for(i = 0; i < FirstMeas; i++) 8027ea0: 6f3b ldr r3, [r7, #112] ; 0x70 8027ea2: 3301 adds r3, #1 8027ea4: 673b str r3, [r7, #112] ; 0x70 8027ea6: 4b3b ldr r3, [pc, #236] ; (8027f94 ) 8027ea8: 681b ldr r3, [r3, #0] 8027eaa: 6f3a ldr r2, [r7, #112] ; 0x70 8027eac: 429a cmp r2, r3 8027eae: f4ff af4f bcc.w 8027d50 } } //====================================================================================================================================================================================== //====================================================================================================================================================================================== //********************************** FIND âõîä 1 ******************************************************************************************************************************** NUM_CHANNELS = 1; 8027eb2: 4b39 ldr r3, [pc, #228] ; (8027f98 ) 8027eb4: 2201 movs r2, #1 8027eb6: 601a str r2, [r3, #0] for(i = 0; i < FirstMeas; i++) 8027eb8: 2300 movs r3, #0 8027eba: 673b str r3, [r7, #112] ; 0x70 8027ebc: e02a b.n 8027f14 { if((SearchPath[i] == 'â') && (SearchPath[i + 1] == 'õ') && (SearchPath[i + 2] == 'î') && (SearchPath[i + 3] == 'ä') && (SearchPath[i + 4] == ' ') && (SearchPath[i + 5] == '1')) 8027ebe: 4a31 ldr r2, [pc, #196] ; (8027f84 ) 8027ec0: 6f3b ldr r3, [r7, #112] ; 0x70 8027ec2: 4413 add r3, r2 8027ec4: 781b ldrb r3, [r3, #0] 8027ec6: 2be2 cmp r3, #226 ; 0xe2 8027ec8: d121 bne.n 8027f0e 8027eca: 6f3b ldr r3, [r7, #112] ; 0x70 8027ecc: 3301 adds r3, #1 8027ece: 4a2d ldr r2, [pc, #180] ; (8027f84 ) 8027ed0: 5cd3 ldrb r3, [r2, r3] 8027ed2: 2bf5 cmp r3, #245 ; 0xf5 8027ed4: d11b bne.n 8027f0e 8027ed6: 6f3b ldr r3, [r7, #112] ; 0x70 8027ed8: 3302 adds r3, #2 8027eda: 4a2a ldr r2, [pc, #168] ; (8027f84 ) 8027edc: 5cd3 ldrb r3, [r2, r3] 8027ede: 2bee cmp r3, #238 ; 0xee 8027ee0: d115 bne.n 8027f0e 8027ee2: 6f3b ldr r3, [r7, #112] ; 0x70 8027ee4: 3303 adds r3, #3 8027ee6: 4a27 ldr r2, [pc, #156] ; (8027f84 ) 8027ee8: 5cd3 ldrb r3, [r2, r3] 8027eea: 2be4 cmp r3, #228 ; 0xe4 8027eec: d10f bne.n 8027f0e 8027eee: 6f3b ldr r3, [r7, #112] ; 0x70 8027ef0: 3304 adds r3, #4 8027ef2: 4a24 ldr r2, [pc, #144] ; (8027f84 ) 8027ef4: 5cd3 ldrb r3, [r2, r3] 8027ef6: 2b20 cmp r3, #32 8027ef8: d109 bne.n 8027f0e 8027efa: 6f3b ldr r3, [r7, #112] ; 0x70 8027efc: 3305 adds r3, #5 8027efe: 4a21 ldr r2, [pc, #132] ; (8027f84 ) 8027f00: 5cd3 ldrb r3, [r2, r3] 8027f02: 2b31 cmp r3, #49 ; 0x31 8027f04: d103 bne.n 8027f0e { NUM_CHANNELS = 2; 8027f06: 4b24 ldr r3, [pc, #144] ; (8027f98 ) 8027f08: 2202 movs r2, #2 8027f0a: 601a str r2, [r3, #0] break; 8027f0c: e007 b.n 8027f1e for(i = 0; i < FirstMeas; i++) 8027f0e: 6f3b ldr r3, [r7, #112] ; 0x70 8027f10: 3301 adds r3, #1 8027f12: 673b str r3, [r7, #112] ; 0x70 8027f14: 4b1f ldr r3, [pc, #124] ; (8027f94 ) 8027f16: 681b ldr r3, [r3, #0] 8027f18: 6f3a ldr r2, [r7, #112] ; 0x70 8027f1a: 429a cmp r2, r3 8027f1c: d3cf bcc.n 8027ebe } //====================================================================================================================================================================================== FirstMeas += 4; 8027f1e: 4b1d ldr r3, [pc, #116] ; (8027f94 ) 8027f20: 681b ldr r3, [r3, #0] 8027f22: 3304 adds r3, #4 8027f24: 4a1b ldr r2, [pc, #108] ; (8027f94 ) 8027f26: 6013 str r3, [r2, #0] res = f_lseek(&F, FirstMeas); 8027f28: 4b1a ldr r3, [pc, #104] ; (8027f94 ) 8027f2a: 681b ldr r3, [r3, #0] 8027f2c: 461a mov r2, r3 8027f2e: f04f 0300 mov.w r3, #0 8027f32: 481a ldr r0, [pc, #104] ; (8027f9c ) 8027f34: f09e fe2c bl 80c6b90 8027f38: 4603 mov r3, r0 8027f3a: f887 3077 strb.w r3, [r7, #119] ; 0x77 if(res == FR_OK) 8027f3e: f897 3077 ldrb.w r3, [r7, #119] ; 0x77 8027f42: 2b00 cmp r3, #0 8027f44: f040 8090 bne.w 8028068 { PlayingState.CountBytes = f_size(&F) - FirstMeas; 8027f48: 4b14 ldr r3, [pc, #80] ; (8027f9c ) 8027f4a: e9d3 0104 ldrd r0, r1, [r3, #16] 8027f4e: 4b11 ldr r3, [pc, #68] ; (8027f94 ) 8027f50: 681b ldr r3, [r3, #0] 8027f52: 461a mov r2, r3 8027f54: f04f 0300 mov.w r3, #0 8027f58: 1a82 subs r2, r0, r2 8027f5a: eb61 0303 sbc.w r3, r1, r3 8027f5e: 490b ldr r1, [pc, #44] ; (8027f8c ) 8027f60: e9c1 2304 strd r2, r3, [r1, #16] if(NUM_CHANNELS == 2) 8027f64: 4b0c ldr r3, [pc, #48] ; (8027f98 ) 8027f66: 681b ldr r3, [r3, #0] 8027f68: 2b02 cmp r3, #2 8027f6a: d119 bne.n 8027fa0 SizeMeas = PlayingState.CountBytes >> 3; //NumPoints in WORDS 8027f6c: 4b07 ldr r3, [pc, #28] ; (8027f8c ) 8027f6e: e9d3 3404 ldrd r3, r4, [r3, #16] 8027f72: ea4f 08d3 mov.w r8, r3, lsr #3 8027f76: ea48 7844 orr.w r8, r8, r4, lsl #29 8027f7a: ea4f 09d4 mov.w r9, r4, lsr #3 8027f7e: e9c7 891e strd r8, r9, [r7, #120] ; 0x78 8027f82: e016 b.n 8027fb2 8027f84: 20021d80 .word 0x20021d80 8027f88: 000186a0 .word 0x000186a0 8027f8c: 200228d8 .word 0x200228d8 8027f90: 447a0000 .word 0x447a0000 8027f94: 20020dd8 .word 0x20020dd8 8027f98: 20020030 .word 0x20020030 8027f9c: 20022e20 .word 0x20022e20 else SizeMeas = PlayingState.CountBytes >> 2; //NumPoints in WORDS 8027fa0: 4b4b ldr r3, [pc, #300] ; (80280d0 ) 8027fa2: e9d3 2304 ldrd r2, r3, [r3, #16] 8027fa6: 0894 lsrs r4, r2, #2 8027fa8: ea44 7483 orr.w r4, r4, r3, lsl #30 8027fac: 089d lsrs r5, r3, #2 8027fae: e9c7 451e strd r4, r5, [r7, #120] ; 0x78 PlayingState.TimeLength = 1.0f / ((float32_t) PlayingState.SampleRate); 8027fb2: 4b47 ldr r3, [pc, #284] ; (80280d0 ) 8027fb4: 699b ldr r3, [r3, #24] 8027fb6: ee07 3a90 vmov s15, r3 8027fba: eeb8 7a67 vcvt.f32.u32 s14, s15 8027fbe: eef7 6a00 vmov.f32 s13, #112 ; 0x3f800000 1.0 8027fc2: eec6 7a87 vdiv.f32 s15, s13, s14 8027fc6: 4b42 ldr r3, [pc, #264] ; (80280d0 ) 8027fc8: edc3 7a07 vstr s15, [r3, #28] PlayingState.TimeLength *= (float32_t) SizeMeas; 8027fcc: 4b40 ldr r3, [pc, #256] ; (80280d0 ) 8027fce: ed93 8a07 vldr s16, [r3, #28] 8027fd2: e9d7 011e ldrd r0, r1, [r7, #120] ; 0x78 8027fd6: f7f8 fac3 bl 8020560 <__aeabi_ul2f> 8027fda: ee07 0a90 vmov s15, r0 8027fde: ee68 7a27 vmul.f32 s15, s16, s15 8027fe2: 4b3b ldr r3, [pc, #236] ; (80280d0 ) 8027fe4: edc3 7a07 vstr s15, [r3, #28] PlayingState.FrameSize = 4096; 8027fe8: 4b39 ldr r3, [pc, #228] ; (80280d0 ) 8027fea: f44f 5280 mov.w r2, #4096 ; 0x1000 8027fee: 609a str r2, [r3, #8] if(NUM_CHANNELS == 2) 8027ff0: 4b38 ldr r3, [pc, #224] ; (80280d4 ) 8027ff2: 681b ldr r3, [r3, #0] 8027ff4: 2b02 cmp r3, #2 8027ff6: d110 bne.n 802801a PlayingState.NumFrames = SizeMeas / (PlayingState.FrameSize * 2); 8027ff8: 4b35 ldr r3, [pc, #212] ; (80280d0 ) 8027ffa: 689b ldr r3, [r3, #8] 8027ffc: 005b lsls r3, r3, #1 8027ffe: f04f 0400 mov.w r4, #0 8028002: 461a mov r2, r3 8028004: 4623 mov r3, r4 8028006: e9d7 011e ldrd r0, r1, [r7, #120] ; 0x78 802800a: f7f8 faef bl 80205ec <__aeabi_uldivmod> 802800e: 4603 mov r3, r0 8028010: 460c mov r4, r1 8028012: 461a mov r2, r3 8028014: 4b2e ldr r3, [pc, #184] ; (80280d0 ) 8028016: 605a str r2, [r3, #4] 8028018: e00e b.n 8028038 else PlayingState.NumFrames = SizeMeas / PlayingState.FrameSize; 802801a: 4b2d ldr r3, [pc, #180] ; (80280d0 ) 802801c: 689b ldr r3, [r3, #8] 802801e: f04f 0400 mov.w r4, #0 8028022: 461a mov r2, r3 8028024: 4623 mov r3, r4 8028026: e9d7 011e ldrd r0, r1, [r7, #120] ; 0x78 802802a: f7f8 fadf bl 80205ec <__aeabi_uldivmod> 802802e: 4603 mov r3, r0 8028030: 460c mov r4, r1 8028032: 461a mov r2, r3 8028034: 4b26 ldr r3, [pc, #152] ; (80280d0 ) 8028036: 605a str r2, [r3, #4] if(SizeMeas % PlayingState.FrameSize) { 8028038: 4b25 ldr r3, [pc, #148] ; (80280d0 ) 802803a: 689b ldr r3, [r3, #8] 802803c: f04f 0400 mov.w r4, #0 8028040: e9d7 011e ldrd r0, r1, [r7, #120] ; 0x78 8028044: 461a mov r2, r3 8028046: 4623 mov r3, r4 8028048: f7f8 fad0 bl 80205ec <__aeabi_uldivmod> 802804c: 461c mov r4, r3 802804e: 4613 mov r3, r2 8028050: 4323 orrs r3, r4 8028052: d004 beq.n 802805e PlayingState.NumFrames += 1; 8028054: 4b1e ldr r3, [pc, #120] ; (80280d0 ) 8028056: 685b ldr r3, [r3, #4] 8028058: 3301 adds r3, #1 802805a: 4a1d ldr r2, [pc, #116] ; (80280d0 ) 802805c: 6053 str r3, [r2, #4] } PlayingState.CurrentFrame = 0; 802805e: 4b1c ldr r3, [pc, #112] ; (80280d0 ) 8028060: 2200 movs r2, #0 8028062: 601a str r2, [r3, #0] return FR_OK; 8028064: 2300 movs r3, #0 8028066: e02b b.n 80280c0 } else { f_close(&F); 8028068: 481b ldr r0, [pc, #108] ; (80280d8 ) 802806a: f09e fd71 bl 80c6b50 //f_mount(&fs, SDPath, 0); memcpy((void *) &pardata, (void *) &pardata_old, sizeof(pardata)); 802806e: 4a1b ldr r2, [pc, #108] ; (80280dc ) 8028070: 4b1b ldr r3, [pc, #108] ; (80280e0 ) 8028072: 4610 mov r0, r2 8028074: 4619 mov r1, r3 8028076: f44f 6396 mov.w r3, #1200 ; 0x4b0 802807a: 461a mov r2, r3 802807c: f0a4 ffd9 bl 80cd032 return FR_DISK_ERR; 8028080: 2301 movs r3, #1 8028082: e01d b.n 80280c0 } } else { f_close(&F); 8028084: 4814 ldr r0, [pc, #80] ; (80280d8 ) 8028086: f09e fd63 bl 80c6b50 //f_mount(&fs, SDPath, 0); memcpy((void *) &pardata, (void *) &pardata_old, sizeof(pardata)); 802808a: 4a14 ldr r2, [pc, #80] ; (80280dc ) 802808c: 4b14 ldr r3, [pc, #80] ; (80280e0 ) 802808e: 4610 mov r0, r2 8028090: 4619 mov r1, r3 8028092: f44f 6396 mov.w r3, #1200 ; 0x4b0 8028096: 461a mov r2, r3 8028098: f0a4 ffcb bl 80cd032 return FR_DISK_ERR; 802809c: 2301 movs r3, #1 802809e: e00f b.n 80280c0 } } else { f_close(&F); 80280a0: 480d ldr r0, [pc, #52] ; (80280d8 ) 80280a2: f09e fd55 bl 80c6b50 //f_mount(&fs, SDPath, 0); memcpy((void *) &pardata, (void *) &pardata_old, sizeof(pardata)); 80280a6: 4a0d ldr r2, [pc, #52] ; (80280dc ) 80280a8: 4b0d ldr r3, [pc, #52] ; (80280e0 ) 80280aa: 4610 mov r0, r2 80280ac: 4619 mov r1, r3 80280ae: f44f 6396 mov.w r3, #1200 ; 0x4b0 80280b2: 461a mov r2, r3 80280b4: f0a4 ffbd bl 80cd032 return FR_DISK_ERR; 80280b8: 2301 movs r3, #1 80280ba: e001 b.n 80280c0 } } } //f_mount(&fs, SDPath, 0); return res; 80280bc: f897 3077 ldrb.w r3, [r7, #119] ; 0x77 } 80280c0: 4618 mov r0, r3 80280c2: 3780 adds r7, #128 ; 0x80 80280c4: 46bd mov sp, r7 80280c6: ecbd 8b02 vpop {d8} 80280ca: e8bd 83b0 ldmia.w sp!, {r4, r5, r7, r8, r9, pc} 80280ce: bf00 nop 80280d0: 200228d8 .word 0x200228d8 80280d4: 20020030 .word 0x20020030 80280d8: 20022e20 .word 0x20022e20 80280dc: 20023e60 .word 0x20023e60 80280e0: 2002437c .word 0x2002437c 080280e4 : } FRESULT OpenFileCSV(char *fname) { 80280e4: b590 push {r4, r7, lr} 80280e6: b0a3 sub sp, #140 ; 0x8c 80280e8: af00 add r7, sp, #0 80280ea: 6078 str r0, [r7, #4] FSIZE_t SizeMeas = 0; 80280ec: f04f 0300 mov.w r3, #0 80280f0: f04f 0400 mov.w r4, #0 80280f4: e9c7 341e strd r3, r4, [r7, #120] ; 0x78 FRESULT res = FR_OK; 80280f8: 2300 movs r3, #0 80280fa: f887 3087 strb.w r3, [r7, #135] ; 0x87 UINT fk, i, k; uint32_t srate[12]; uint32_t sens[12], s; size_t FileSize = 0; 80280fe: 2300 movs r3, #0 8028100: 677b str r3, [r7, #116] ; 0x74 size_t l = 0, l1 = 0; 8028102: 2300 movs r3, #0 8028104: 673b str r3, [r7, #112] ; 0x70 8028106: 2300 movs r3, #0 8028108: 66fb str r3, [r7, #108] ; 0x6c FileDataExist = false; 802810a: 4b97 ldr r3, [pc, #604] ; (8028368 ) 802810c: 2200 movs r2, #0 802810e: 701a strb r2, [r3, #0] DrawSavedData = false; 8028110: 4b96 ldr r3, [pc, #600] ; (802836c ) 8028112: 2200 movs r2, #0 8028114: 701a strb r2, [r3, #0] FirstMeas = 0; 8028116: 4b96 ldr r3, [pc, #600] ; (8028370 ) 8028118: 2200 movs r2, #0 802811a: 601a str r2, [r3, #0] RouteIndex = MaxRouteIndex = 0; 802811c: 2300 movs r3, #0 802811e: 4a95 ldr r2, [pc, #596] ; (8028374 ) 8028120: 6013 str r3, [r2, #0] 8028122: 4a95 ldr r2, [pc, #596] ; (8028378 ) 8028124: 6013 str r3, [r2, #0] if(CardState != MSD_READY) { 8028126: 4b95 ldr r3, [pc, #596] ; (802837c ) 8028128: 781b ldrb r3, [r3, #0] 802812a: b2db uxtb r3, r3 802812c: 2b03 cmp r3, #3 802812e: d001 beq.n 8028134 return FR_NOT_READY; 8028130: 2303 movs r3, #3 8028132: e115 b.n 8028360 } memset(FileName, 0, sizeof(FileName)); 8028134: 2228 movs r2, #40 ; 0x28 8028136: 2100 movs r1, #0 8028138: 4891 ldr r0, [pc, #580] ; (8028380 ) 802813a: f0a4 ff85 bl 80cd048 strcpy(FileName, RouteName); 802813e: 4991 ldr r1, [pc, #580] ; (8028384 ) 8028140: 488f ldr r0, [pc, #572] ; (8028380 ) 8028142: f0a5 f89e bl 80cd282 if(res == FR_OK) 8028146: f897 3087 ldrb.w r3, [r7, #135] ; 0x87 802814a: 2b00 cmp r3, #0 802814c: f040 8103 bne.w 8028356 { memset(PointPath, 0, sizeof(PointPath)); 8028150: f44f 7200 mov.w r2, #512 ; 0x200 8028154: 2100 movs r1, #0 8028156: 488c ldr r0, [pc, #560] ; (8028388 ) 8028158: f0a4 ff76 bl 80cd048 memset(SearchPath, 0, sizeof(SearchPath)); 802815c: f44f 7200 mov.w r2, #512 ; 0x200 8028160: 2100 movs r1, #0 8028162: 488a ldr r0, [pc, #552] ; (802838c ) 8028164: f0a4 ff70 bl 80cd048 strcpy(SearchPath, "0:Routes"); 8028168: 4a88 ldr r2, [pc, #544] ; (802838c ) 802816a: 4b89 ldr r3, [pc, #548] ; (8028390 ) 802816c: cb03 ldmia r3!, {r0, r1} 802816e: 6010 str r0, [r2, #0] 8028170: 6051 str r1, [r2, #4] 8028172: 781b ldrb r3, [r3, #0] 8028174: 7213 strb r3, [r2, #8] ScanMode = GET_PATH_TO_FILE; 8028176: 4b87 ldr r3, [pc, #540] ; (8028394 ) 8028178: 2209 movs r2, #9 802817a: 701a strb r2, [r3, #0] FlagReturn = false; 802817c: 4b86 ldr r3, [pc, #536] ; (8028398 ) 802817e: 2200 movs r2, #0 8028180: 701a strb r2, [r3, #0] ScanFiles(SearchPath, 0); 8028182: 2100 movs r1, #0 8028184: 4881 ldr r0, [pc, #516] ; (802838c ) 8028186: f003 fb91 bl 802b8ac if(PointPath[0] == 0) 802818a: 4b7f ldr r3, [pc, #508] ; (8028388 ) 802818c: 781b ldrb r3, [r3, #0] 802818e: 2b00 cmp r3, #0 8028190: d103 bne.n 802819a { res = FR_NO_FILE; 8028192: 2304 movs r3, #4 8028194: f887 3087 strb.w r3, [r7, #135] ; 0x87 8028198: e0dd b.n 8028356 } else { res = f_open(&F, PointPath, FA_READ); 802819a: 2201 movs r2, #1 802819c: 497a ldr r1, [pc, #488] ; (8028388 ) 802819e: 487f ldr r0, [pc, #508] ; (802839c ) 80281a0: f09d fe92 bl 80c5ec8 80281a4: 4603 mov r3, r0 80281a6: f887 3087 strb.w r3, [r7, #135] ; 0x87 if(res == FR_OK) 80281aa: f897 3087 ldrb.w r3, [r7, #135] ; 0x87 80281ae: 2b00 cmp r3, #0 80281b0: f040 80d1 bne.w 8028356 { FileSize = f_size(&F); 80281b4: 4b79 ldr r3, [pc, #484] ; (802839c ) 80281b6: e9d3 3404 ldrd r3, r4, [r3, #16] 80281ba: 677b str r3, [r7, #116] ; 0x74 if(FileSize > 4) 80281bc: 6f7b ldr r3, [r7, #116] ; 0x74 80281be: 2b04 cmp r3, #4 80281c0: f240 80bf bls.w 8028342 { if(FileSize < 512) 80281c4: 6f7b ldr r3, [r7, #116] ; 0x74 80281c6: f5b3 7f00 cmp.w r3, #512 ; 0x200 80281ca: d236 bcs.n 802823a { res = f_read(&F, SearchPath, FileSize, &fk); 80281cc: f107 0368 add.w r3, r7, #104 ; 0x68 80281d0: 6f7a ldr r2, [r7, #116] ; 0x74 80281d2: 496e ldr r1, [pc, #440] ; (802838c ) 80281d4: 4871 ldr r0, [pc, #452] ; (802839c ) 80281d6: f09e f8d4 bl 80c6382 80281da: 4603 mov r3, r0 80281dc: f887 3087 strb.w r3, [r7, #135] ; 0x87 if(res == FR_OK) 80281e0: f897 3087 ldrb.w r3, [r7, #135] ; 0x87 80281e4: 2b00 cmp r3, #0 80281e6: d11e bne.n 8028226 { for(i = 0; i < FileSize; i++) 80281e8: 2300 movs r3, #0 80281ea: f8c7 3080 str.w r3, [r7, #128] ; 0x80 80281ee: e010 b.n 8028212 { if(SearchPath[i] == '\n') 80281f0: 4a66 ldr r2, [pc, #408] ; (802838c ) 80281f2: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 80281f6: 4413 add r3, r2 80281f8: 781b ldrb r3, [r3, #0] 80281fa: 2b0a cmp r3, #10 80281fc: d104 bne.n 8028208 MaxRouteIndex++; 80281fe: 4b5d ldr r3, [pc, #372] ; (8028374 ) 8028200: 681b ldr r3, [r3, #0] 8028202: 3301 adds r3, #1 8028204: 4a5b ldr r2, [pc, #364] ; (8028374 ) 8028206: 6013 str r3, [r2, #0] for(i = 0; i < FileSize; i++) 8028208: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 802820c: 3301 adds r3, #1 802820e: f8c7 3080 str.w r3, [r7, #128] ; 0x80 8028212: f8d7 2080 ldr.w r2, [r7, #128] ; 0x80 8028216: 6f7b ldr r3, [r7, #116] ; 0x74 8028218: 429a cmp r2, r3 802821a: d3e9 bcc.n 80281f0 } f_close(&F); 802821c: 485f ldr r0, [pc, #380] ; (802839c ) 802821e: f09e fc97 bl 80c6b50 return FR_OK; 8028222: 2300 movs r3, #0 8028224: e09c b.n 8028360 } else { RouteIndex = MaxRouteIndex = 0; 8028226: 2300 movs r3, #0 8028228: 4a52 ldr r2, [pc, #328] ; (8028374 ) 802822a: 6013 str r3, [r2, #0] 802822c: 4a52 ldr r2, [pc, #328] ; (8028378 ) 802822e: 6013 str r3, [r2, #0] f_close(&F); 8028230: 485a ldr r0, [pc, #360] ; (802839c ) 8028232: f09e fc8d bl 80c6b50 return FR_DISK_ERR; 8028236: 2301 movs r3, #1 8028238: e092 b.n 8028360 } } else { l = FileSize / 512; 802823a: 6f7b ldr r3, [r7, #116] ; 0x74 802823c: 0a5b lsrs r3, r3, #9 802823e: 673b str r3, [r7, #112] ; 0x70 l1 = FileSize % 512; 8028240: 6f7b ldr r3, [r7, #116] ; 0x74 8028242: f3c3 0308 ubfx r3, r3, #0, #9 8028246: 66fb str r3, [r7, #108] ; 0x6c for(i = 0; i < l; i++) 8028248: 2300 movs r3, #0 802824a: f8c7 3080 str.w r3, [r7, #128] ; 0x80 802824e: e038 b.n 80282c2 { res = f_read(&F, SearchPath, 512, &fk); 8028250: f107 0368 add.w r3, r7, #104 ; 0x68 8028254: f44f 7200 mov.w r2, #512 ; 0x200 8028258: 494c ldr r1, [pc, #304] ; (802838c ) 802825a: 4850 ldr r0, [pc, #320] ; (802839c ) 802825c: f09e f891 bl 80c6382 8028260: 4603 mov r3, r0 8028262: f887 3087 strb.w r3, [r7, #135] ; 0x87 if(res == FR_OK) 8028266: f897 3087 ldrb.w r3, [r7, #135] ; 0x87 802826a: 2b00 cmp r3, #0 802826c: d11a bne.n 80282a4 { for(i = 0; i < 512; i++) 802826e: 2300 movs r3, #0 8028270: f8c7 3080 str.w r3, [r7, #128] ; 0x80 8028274: e010 b.n 8028298 { if(SearchPath[i] == '\n') 8028276: 4a45 ldr r2, [pc, #276] ; (802838c ) 8028278: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 802827c: 4413 add r3, r2 802827e: 781b ldrb r3, [r3, #0] 8028280: 2b0a cmp r3, #10 8028282: d104 bne.n 802828e MaxRouteIndex++; 8028284: 4b3b ldr r3, [pc, #236] ; (8028374 ) 8028286: 681b ldr r3, [r3, #0] 8028288: 3301 adds r3, #1 802828a: 4a3a ldr r2, [pc, #232] ; (8028374 ) 802828c: 6013 str r3, [r2, #0] for(i = 0; i < 512; i++) 802828e: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 8028292: 3301 adds r3, #1 8028294: f8c7 3080 str.w r3, [r7, #128] ; 0x80 8028298: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 802829c: f5b3 7f00 cmp.w r3, #512 ; 0x200 80282a0: d3e9 bcc.n 8028276 80282a2: e009 b.n 80282b8 } } else { RouteIndex = MaxRouteIndex = 0; 80282a4: 2300 movs r3, #0 80282a6: 4a33 ldr r2, [pc, #204] ; (8028374 ) 80282a8: 6013 str r3, [r2, #0] 80282aa: 4a33 ldr r2, [pc, #204] ; (8028378 ) 80282ac: 6013 str r3, [r2, #0] f_close(&F); 80282ae: 483b ldr r0, [pc, #236] ; (802839c ) 80282b0: f09e fc4e bl 80c6b50 return FR_DISK_ERR; 80282b4: 2301 movs r3, #1 80282b6: e053 b.n 8028360 for(i = 0; i < l; i++) 80282b8: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 80282bc: 3301 adds r3, #1 80282be: f8c7 3080 str.w r3, [r7, #128] ; 0x80 80282c2: f8d7 2080 ldr.w r2, [r7, #128] ; 0x80 80282c6: 6f3b ldr r3, [r7, #112] ; 0x70 80282c8: 429a cmp r2, r3 80282ca: d3c1 bcc.n 8028250 } } if(l1) 80282cc: 6efb ldr r3, [r7, #108] ; 0x6c 80282ce: 2b00 cmp r3, #0 80282d0: d032 beq.n 8028338 { res = f_read(&F, SearchPath, l1, &fk); 80282d2: f107 0368 add.w r3, r7, #104 ; 0x68 80282d6: 6efa ldr r2, [r7, #108] ; 0x6c 80282d8: 492c ldr r1, [pc, #176] ; (802838c ) 80282da: 4830 ldr r0, [pc, #192] ; (802839c ) 80282dc: f09e f851 bl 80c6382 80282e0: 4603 mov r3, r0 80282e2: f887 3087 strb.w r3, [r7, #135] ; 0x87 if(res == FR_OK) 80282e6: f897 3087 ldrb.w r3, [r7, #135] ; 0x87 80282ea: 2b00 cmp r3, #0 80282ec: d11a bne.n 8028324 { for(i = 0; i < l1; i++) 80282ee: 2300 movs r3, #0 80282f0: f8c7 3080 str.w r3, [r7, #128] ; 0x80 80282f4: e010 b.n 8028318 { if(SearchPath[i] == '\n') 80282f6: 4a25 ldr r2, [pc, #148] ; (802838c ) 80282f8: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 80282fc: 4413 add r3, r2 80282fe: 781b ldrb r3, [r3, #0] 8028300: 2b0a cmp r3, #10 8028302: d104 bne.n 802830e MaxRouteIndex++; 8028304: 4b1b ldr r3, [pc, #108] ; (8028374 ) 8028306: 681b ldr r3, [r3, #0] 8028308: 3301 adds r3, #1 802830a: 4a1a ldr r2, [pc, #104] ; (8028374 ) 802830c: 6013 str r3, [r2, #0] for(i = 0; i < l1; i++) 802830e: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 8028312: 3301 adds r3, #1 8028314: f8c7 3080 str.w r3, [r7, #128] ; 0x80 8028318: f8d7 2080 ldr.w r2, [r7, #128] ; 0x80 802831c: 6efb ldr r3, [r7, #108] ; 0x6c 802831e: 429a cmp r2, r3 8028320: d3e9 bcc.n 80282f6 8028322: e009 b.n 8028338 } } else { RouteIndex = MaxRouteIndex = 0; 8028324: 2300 movs r3, #0 8028326: 4a13 ldr r2, [pc, #76] ; (8028374 ) 8028328: 6013 str r3, [r2, #0] 802832a: 4a13 ldr r2, [pc, #76] ; (8028378 ) 802832c: 6013 str r3, [r2, #0] f_close(&F); 802832e: 481b ldr r0, [pc, #108] ; (802839c ) 8028330: f09e fc0e bl 80c6b50 return FR_DISK_ERR; 8028334: 2301 movs r3, #1 8028336: e013 b.n 8028360 } } f_close(&F); 8028338: 4818 ldr r0, [pc, #96] ; (802839c ) 802833a: f09e fc09 bl 80c6b50 return FR_OK; 802833e: 2300 movs r3, #0 8028340: e00e b.n 8028360 } } else { RouteIndex = MaxRouteIndex = 0; 8028342: 2300 movs r3, #0 8028344: 4a0b ldr r2, [pc, #44] ; (8028374 ) 8028346: 6013 str r3, [r2, #0] 8028348: 4a0b ldr r2, [pc, #44] ; (8028378 ) 802834a: 6013 str r3, [r2, #0] f_close(&F); 802834c: 4813 ldr r0, [pc, #76] ; (802839c ) 802834e: f09e fbff bl 80c6b50 return FR_DISK_ERR; 8028352: 2301 movs r3, #1 8028354: e004 b.n 8028360 } } } } f_close(&F); 8028356: 4811 ldr r0, [pc, #68] ; (802839c ) 8028358: f09e fbfa bl 80c6b50 return res; 802835c: f897 3087 ldrb.w r3, [r7, #135] ; 0x87 } 8028360: 4618 mov r0, r3 8028362: 378c adds r7, #140 ; 0x8c 8028364: 46bd mov sp, r7 8028366: bd90 pop {r4, r7, pc} 8028368: 20020dd3 .word 0x20020dd3 802836c: 20020dca .word 0x20020dca 8028370: 20020dd8 .word 0x20020dd8 8028374: 20020f70 .word 0x20020f70 8028378: 20020f6c .word 0x20020f6c 802837c: 2002164c .word 0x2002164c 8028380: 20022bb8 .word 0x20022bb8 8028384: 20022628 .word 0x20022628 8028388: 200229b4 .word 0x200229b4 802838c: 20021d80 .word 0x20021d80 8028390: 080ce4f4 .word 0x080ce4f4 8028394: 20020ddf .word 0x20020ddf 8028398: 20020dde .word 0x20020dde 802839c: 20022e20 .word 0x20022e20 080283a0 : FRESULT ReadFileCSV_TMP(char* fname) { 80283a0: b590 push {r4, r7, lr} 80283a2: b0af sub sp, #188 ; 0xbc 80283a4: af00 add r7, sp, #0 80283a6: 6078 str r0, [r7, #4] FSIZE_t SizeMeas = 0; 80283a8: f04f 0300 mov.w r3, #0 80283ac: f04f 0400 mov.w r4, #0 80283b0: e9c7 3428 strd r3, r4, [r7, #160] ; 0xa0 FRESULT res = FR_OK; 80283b4: 2300 movs r3, #0 80283b6: f887 30b7 strb.w r3, [r7, #183] ; 0xb7 UINT fk, i, k; uint32_t srate[12]; uint32_t sens[12], s; size_t FileSize = 0; 80283ba: 2300 movs r3, #0 80283bc: f8c7 309c str.w r3, [r7, #156] ; 0x9c size_t l = 0, l1 = 0; 80283c0: 2300 movs r3, #0 80283c2: f8c7 30ac str.w r3, [r7, #172] ; 0xac 80283c6: 2300 movs r3, #0 80283c8: f8c7 3098 str.w r3, [r7, #152] ; 0x98 char fn[40]; memset((void *) &RouteMeas(0), 0, 65536u); 80283cc: f44f 3280 mov.w r2, #65536 ; 0x10000 80283d0: 2100 movs r1, #0 80283d2: 48c5 ldr r0, [pc, #788] ; (80286e8 ) 80283d4: f0a4 fe38 bl 80cd048 FileDataExist = false; 80283d8: 4bc4 ldr r3, [pc, #784] ; (80286ec ) 80283da: 2200 movs r2, #0 80283dc: 701a strb r2, [r3, #0] DrawSavedData = false; 80283de: 4bc4 ldr r3, [pc, #784] ; (80286f0 ) 80283e0: 2200 movs r2, #0 80283e2: 701a strb r2, [r3, #0] FirstMeas = 0; 80283e4: 4bc3 ldr r3, [pc, #780] ; (80286f4 ) 80283e6: 2200 movs r2, #0 80283e8: 601a str r2, [r3, #0] memset(fn, 0, sizeof(fn)); 80283ea: f107 030c add.w r3, r7, #12 80283ee: 2228 movs r2, #40 ; 0x28 80283f0: 2100 movs r1, #0 80283f2: 4618 mov r0, r3 80283f4: f0a4 fe28 bl 80cd048 strcpy(fn, "_"); 80283f8: f107 030c add.w r3, r7, #12 80283fc: 225f movs r2, #95 ; 0x5f 80283fe: 801a strh r2, [r3, #0] strcat(fn, fname); 8028400: f107 030c add.w r3, r7, #12 8028404: 6879 ldr r1, [r7, #4] 8028406: 4618 mov r0, r3 8028408: f0a4 ff1e bl 80cd248 l = strlen(fn); 802840c: f107 030c add.w r3, r7, #12 8028410: 4618 mov r0, r3 8028412: f7f7 ff7f bl 8020314 8028416: f8c7 00ac str.w r0, [r7, #172] ; 0xac if(fn[l - 4] == '.') 802841a: f8d7 30ac ldr.w r3, [r7, #172] ; 0xac 802841e: 3b04 subs r3, #4 8028420: f107 02b8 add.w r2, r7, #184 ; 0xb8 8028424: 4413 add r3, r2 8028426: f813 3cac ldrb.w r3, [r3, #-172] 802842a: 2b2e cmp r3, #46 ; 0x2e 802842c: d11a bne.n 8028464 { fn[l - 3] = 'T'; 802842e: f8d7 30ac ldr.w r3, [r7, #172] ; 0xac 8028432: 3b03 subs r3, #3 8028434: f107 02b8 add.w r2, r7, #184 ; 0xb8 8028438: 4413 add r3, r2 802843a: 2254 movs r2, #84 ; 0x54 802843c: f803 2cac strb.w r2, [r3, #-172] fn[l - 2] = 'M'; 8028440: f8d7 30ac ldr.w r3, [r7, #172] ; 0xac 8028444: 3b02 subs r3, #2 8028446: f107 02b8 add.w r2, r7, #184 ; 0xb8 802844a: 4413 add r3, r2 802844c: 224d movs r2, #77 ; 0x4d 802844e: f803 2cac strb.w r2, [r3, #-172] fn[l - 1] = 'P'; 8028452: f8d7 30ac ldr.w r3, [r7, #172] ; 0xac 8028456: 3b01 subs r3, #1 8028458: f107 02b8 add.w r2, r7, #184 ; 0xb8 802845c: 4413 add r3, r2 802845e: 2250 movs r2, #80 ; 0x50 8028460: f803 2cac strb.w r2, [r3, #-172] } RouteIndex = 0; 8028464: 4ba4 ldr r3, [pc, #656] ; (80286f8 ) 8028466: 2200 movs r2, #0 8028468: 601a str r2, [r3, #0] if(CardState != MSD_READY) { 802846a: 4ba4 ldr r3, [pc, #656] ; (80286fc ) 802846c: 781b ldrb r3, [r3, #0] 802846e: b2db uxtb r3, r3 8028470: 2b03 cmp r3, #3 8028472: d001 beq.n 8028478 return FR_NOT_READY; 8028474: 2303 movs r3, #3 8028476: e157 b.n 8028728 } if(res == FR_OK) 8028478: f897 30b7 ldrb.w r3, [r7, #183] ; 0xb7 802847c: 2b00 cmp r3, #0 802847e: f040 8151 bne.w 8028724 { memset(PointPath, 0, sizeof(PointPath)); 8028482: f44f 7200 mov.w r2, #512 ; 0x200 8028486: 2100 movs r1, #0 8028488: 489d ldr r0, [pc, #628] ; (8028700 ) 802848a: f0a4 fddd bl 80cd048 memset(SearchPath, 0, sizeof(SearchPath)); 802848e: f44f 7200 mov.w r2, #512 ; 0x200 8028492: 2100 movs r1, #0 8028494: 489b ldr r0, [pc, #620] ; (8028704 ) 8028496: f0a4 fdd7 bl 80cd048 strcpy(SearchPath, "0:Routes"); 802849a: 4a9a ldr r2, [pc, #616] ; (8028704 ) 802849c: 4b9a ldr r3, [pc, #616] ; (8028708 ) 802849e: cb03 ldmia r3!, {r0, r1} 80284a0: 6010 str r0, [r2, #0] 80284a2: 6051 str r1, [r2, #4] 80284a4: 781b ldrb r3, [r3, #0] 80284a6: 7213 strb r3, [r2, #8] res = f_opendir(&dir, SearchPath); 80284a8: 4996 ldr r1, [pc, #600] ; (8028704 ) 80284aa: 4898 ldr r0, [pc, #608] ; (802870c ) 80284ac: f09e fdf9 bl 80c70a2 80284b0: 4603 mov r3, r0 80284b2: f887 30b7 strb.w r3, [r7, #183] ; 0xb7 if(res != FR_OK) { 80284b6: f897 30b7 ldrb.w r3, [r7, #183] ; 0xb7 80284ba: 2b00 cmp r3, #0 80284bc: d005 beq.n 80284ca res = f_mkdir(SearchPath); 80284be: 4891 ldr r0, [pc, #580] ; (8028704 ) 80284c0: f09f f8aa bl 80c7618 80284c4: 4603 mov r3, r0 80284c6: f887 30b7 strb.w r3, [r7, #183] ; 0xb7 } f_closedir(&dir); 80284ca: 4890 ldr r0, [pc, #576] ; (802870c ) 80284cc: f09e fe78 bl 80c71c0 strcat(SearchPath, "/"); 80284d0: 488c ldr r0, [pc, #560] ; (8028704 ) 80284d2: f7f7 ff1f bl 8020314 80284d6: 4603 mov r3, r0 80284d8: 461a mov r2, r3 80284da: 4b8a ldr r3, [pc, #552] ; (8028704 ) 80284dc: 4413 add r3, r2 80284de: 498c ldr r1, [pc, #560] ; (8028710 ) 80284e0: 461a mov r2, r3 80284e2: 460b mov r3, r1 80284e4: 881b ldrh r3, [r3, #0] 80284e6: 8013 strh r3, [r2, #0] strcat(SearchPath, fn); 80284e8: f107 030c add.w r3, r7, #12 80284ec: 4619 mov r1, r3 80284ee: 4885 ldr r0, [pc, #532] ; (8028704 ) 80284f0: f0a4 feaa bl 80cd248 strcpy(PointPath, SearchPath); 80284f4: 4983 ldr r1, [pc, #524] ; (8028704 ) 80284f6: 4882 ldr r0, [pc, #520] ; (8028700 ) 80284f8: f0a4 fec3 bl 80cd282 res = f_open(&F, PointPath, FA_READ); 80284fc: 2201 movs r2, #1 80284fe: 4980 ldr r1, [pc, #512] ; (8028700 ) 8028500: 4884 ldr r0, [pc, #528] ; (8028714 ) 8028502: f09d fce1 bl 80c5ec8 8028506: 4603 mov r3, r0 8028508: f887 30b7 strb.w r3, [r7, #183] ; 0xb7 if((res == FR_NO_FILE) || (res == FR_NO_PATH)) 802850c: f897 30b7 ldrb.w r3, [r7, #183] ; 0xb7 8028510: 2b04 cmp r3, #4 8028512: d003 beq.n 802851c 8028514: f897 30b7 ldrb.w r3, [r7, #183] ; 0xb7 8028518: 2b05 cmp r3, #5 802851a: d110 bne.n 802853e { res = f_open(&F, PointPath, FA_CREATE_ALWAYS | FA_OPEN_ALWAYS | FA_WRITE | FA_READ); 802851c: 221b movs r2, #27 802851e: 4978 ldr r1, [pc, #480] ; (8028700 ) 8028520: 487c ldr r0, [pc, #496] ; (8028714 ) 8028522: f09d fcd1 bl 80c5ec8 8028526: 4603 mov r3, r0 8028528: f887 30b7 strb.w r3, [r7, #183] ; 0xb7 if(res != FR_OK) 802852c: f897 30b7 ldrb.w r3, [r7, #183] ; 0xb7 8028530: 2b00 cmp r3, #0 8028532: d00d beq.n 8028550 { f_close(&F); 8028534: 4877 ldr r0, [pc, #476] ; (8028714 ) 8028536: f09e fb0b bl 80c6b50 return FR_DISK_ERR; 802853a: 2301 movs r3, #1 802853c: e0f4 b.n 8028728 } } else if(res != FR_OK) 802853e: f897 30b7 ldrb.w r3, [r7, #183] ; 0xb7 8028542: 2b00 cmp r3, #0 8028544: d004 beq.n 8028550 { f_close(&F); 8028546: 4873 ldr r0, [pc, #460] ; (8028714 ) 8028548: f09e fb02 bl 80c6b50 return FR_DISK_ERR; 802854c: 2301 movs r3, #1 802854e: e0eb b.n 8028728 } //res = f_open(&F, PointPath, FA_READ); if(res == FR_OK) 8028550: f897 30b7 ldrb.w r3, [r7, #183] ; 0xb7 8028554: 2b00 cmp r3, #0 8028556: f040 80c2 bne.w 80286de f_close(&F); return FR_DISK_ERR; } else*/ { FileSize = f_size(&F); 802855a: 4b6e ldr r3, [pc, #440] ; (8028714 ) 802855c: e9d3 3404 ldrd r3, r4, [r3, #16] 8028560: f8c7 309c str.w r3, [r7, #156] ; 0x9c if(FileSize == 0) 8028564: f8d7 309c ldr.w r3, [r7, #156] ; 0x9c 8028568: 2b00 cmp r3, #0 802856a: d12e bne.n 80285ca { memset(sector, 0, 512); 802856c: f44f 7200 mov.w r2, #512 ; 0x200 8028570: 2100 movs r1, #0 8028572: 4869 ldr r0, [pc, #420] ; (8028718 ) 8028574: f0a4 fd68 bl 80cd048 for(i = 0; i < 128; i++) 8028578: 2300 movs r3, #0 802857a: f8c7 30b0 str.w r3, [r7, #176] ; 0xb0 802857e: e018 b.n 80285b2 { res = f_write(&F, sector, 512, &fk); 8028580: f107 0394 add.w r3, r7, #148 ; 0x94 8028584: f44f 7200 mov.w r2, #512 ; 0x200 8028588: 4963 ldr r1, [pc, #396] ; (8028718 ) 802858a: 4862 ldr r0, [pc, #392] ; (8028714 ) 802858c: f09e f83c bl 80c6608 8028590: 4603 mov r3, r0 8028592: f887 30b7 strb.w r3, [r7, #183] ; 0xb7 if(res != FR_OK) 8028596: f897 30b7 ldrb.w r3, [r7, #183] ; 0xb7 802859a: 2b00 cmp r3, #0 802859c: d004 beq.n 80285a8 { f_close(&F); 802859e: 485d ldr r0, [pc, #372] ; (8028714 ) 80285a0: f09e fad6 bl 80c6b50 return FR_DISK_ERR; 80285a4: 2301 movs r3, #1 80285a6: e0bf b.n 8028728 for(i = 0; i < 128; i++) 80285a8: f8d7 30b0 ldr.w r3, [r7, #176] ; 0xb0 80285ac: 3301 adds r3, #1 80285ae: f8c7 30b0 str.w r3, [r7, #176] ; 0xb0 80285b2: f8d7 30b0 ldr.w r3, [r7, #176] ; 0xb0 80285b6: 2b7f cmp r3, #127 ; 0x7f 80285b8: d9e2 bls.n 8028580 } } f_close(&F); 80285ba: 4856 ldr r0, [pc, #344] ; (8028714 ) 80285bc: f09e fac8 bl 80c6b50 RouteIndex = 0; 80285c0: 4b4d ldr r3, [pc, #308] ; (80286f8 ) 80285c2: 2200 movs r2, #0 80285c4: 601a str r2, [r3, #0] return FR_OK; 80285c6: 2300 movs r3, #0 80285c8: e0ae b.n 8028728 } else { if(FileSize == 65536) 80285ca: f8d7 309c ldr.w r3, [r7, #156] ; 0x9c 80285ce: f5b3 3f80 cmp.w r3, #65536 ; 0x10000 80285d2: d17c bne.n 80286ce { for(i = 0; i < 128; i++) 80285d4: 2300 movs r3, #0 80285d6: f8c7 30b0 str.w r3, [r7, #176] ; 0xb0 80285da: e02a b.n 8028632 { res = f_read(&F, sector, 512, &fk); 80285dc: f107 0394 add.w r3, r7, #148 ; 0x94 80285e0: f44f 7200 mov.w r2, #512 ; 0x200 80285e4: 494c ldr r1, [pc, #304] ; (8028718 ) 80285e6: 484b ldr r0, [pc, #300] ; (8028714 ) 80285e8: f09d fecb bl 80c6382 80285ec: 4603 mov r3, r0 80285ee: f887 30b7 strb.w r3, [r7, #183] ; 0xb7 if(res == FR_OK) 80285f2: f897 30b7 ldrb.w r3, [r7, #183] ; 0xb7 80285f6: 2b00 cmp r3, #0 80285f8: d10e bne.n 8028618 { memcpy((void *) &RouteMeas(i * 512u), sector, 512); 80285fa: f8d7 20b0 ldr.w r2, [r7, #176] ; 0xb0 80285fe: 4b47 ldr r3, [pc, #284] ; (802871c ) 8028600: 4413 add r3, r2 8028602: 025b lsls r3, r3, #9 8028604: 461a mov r2, r3 8028606: 4b44 ldr r3, [pc, #272] ; (8028718 ) 8028608: 4610 mov r0, r2 802860a: 4619 mov r1, r3 802860c: f44f 7300 mov.w r3, #512 ; 0x200 8028610: 461a mov r2, r3 8028612: f0a4 fd0e bl 80cd032 8028616: e007 b.n 8028628 } else { RouteIndex = 0; 8028618: 4b37 ldr r3, [pc, #220] ; (80286f8 ) 802861a: 2200 movs r2, #0 802861c: 601a str r2, [r3, #0] f_close(&F); 802861e: 483d ldr r0, [pc, #244] ; (8028714 ) 8028620: f09e fa96 bl 80c6b50 return FR_DISK_ERR; 8028624: 2301 movs r3, #1 8028626: e07f b.n 8028728 for(i = 0; i < 128; i++) 8028628: f8d7 30b0 ldr.w r3, [r7, #176] ; 0xb0 802862c: 3301 adds r3, #1 802862e: f8c7 30b0 str.w r3, [r7, #176] ; 0xb0 8028632: f8d7 30b0 ldr.w r3, [r7, #176] ; 0xb0 8028636: 2b7f cmp r3, #127 ; 0x7f 8028638: d9d0 bls.n 80285dc } } f_close(&F); 802863a: 4836 ldr r0, [pc, #216] ; (8028714 ) 802863c: f09e fa88 bl 80c6b50 for(i = 0; i < MaxRouteIndex; i++) 8028640: 2300 movs r3, #0 8028642: f8c7 30b0 str.w r3, [r7, #176] ; 0xb0 8028646: e03a b.n 80286be { if(RouteMeas(i) != 0) 8028648: f8d7 20b0 ldr.w r2, [r7, #176] ; 0xb0 802864c: 4b26 ldr r3, [pc, #152] ; (80286e8 ) 802864e: 4413 add r3, r2 8028650: 781b ldrb r3, [r3, #0] 8028652: 2b00 cmp r3, #0 8028654: d02e beq.n 80286b4 { RouteIndex = i + 1; 8028656: f8d7 30b0 ldr.w r3, [r7, #176] ; 0xb0 802865a: 3301 adds r3, #1 802865c: 4a26 ldr r2, [pc, #152] ; (80286f8 ) 802865e: 6013 str r3, [r2, #0] if(RouteIndex == MaxRouteIndex) 8028660: 4b25 ldr r3, [pc, #148] ; (80286f8 ) 8028662: 681a ldr r2, [r3, #0] 8028664: 4b2e ldr r3, [pc, #184] ; (8028720 ) 8028666: 681b ldr r3, [r3, #0] 8028668: 429a cmp r2, r3 802866a: d123 bne.n 80286b4 { for(l = 0; l < MaxRouteIndex; l++) 802866c: 2300 movs r3, #0 802866e: f8c7 30ac str.w r3, [r7, #172] ; 0xac 8028672: e00f b.n 8028694 { if(RouteMeas(l) == 0) { 8028674: f8d7 20ac ldr.w r2, [r7, #172] ; 0xac 8028678: 4b1b ldr r3, [pc, #108] ; (80286e8 ) 802867a: 4413 add r3, r2 802867c: 781b ldrb r3, [r3, #0] 802867e: 2b00 cmp r3, #0 8028680: d103 bne.n 802868a RouteIndex = l; 8028682: 4a1d ldr r2, [pc, #116] ; (80286f8 ) 8028684: f8d7 30ac ldr.w r3, [r7, #172] ; 0xac 8028688: 6013 str r3, [r2, #0] for(l = 0; l < MaxRouteIndex; l++) 802868a: f8d7 30ac ldr.w r3, [r7, #172] ; 0xac 802868e: 3301 adds r3, #1 8028690: f8c7 30ac str.w r3, [r7, #172] ; 0xac 8028694: 4b22 ldr r3, [pc, #136] ; (8028720 ) 8028696: 681b ldr r3, [r3, #0] 8028698: f8d7 20ac ldr.w r2, [r7, #172] ; 0xac 802869c: 429a cmp r2, r3 802869e: d3e9 bcc.n 8028674 } } if(RouteIndex == MaxRouteIndex) 80286a0: 4b15 ldr r3, [pc, #84] ; (80286f8 ) 80286a2: 681a ldr r2, [r3, #0] 80286a4: 4b1e ldr r3, [pc, #120] ; (8028720 ) 80286a6: 681b ldr r3, [r3, #0] 80286a8: 429a cmp r2, r3 80286aa: d103 bne.n 80286b4 { RouteIndex = 0; 80286ac: 4b12 ldr r3, [pc, #72] ; (80286f8 ) 80286ae: 2200 movs r2, #0 80286b0: 601a str r2, [r3, #0] break; 80286b2: e00a b.n 80286ca for(i = 0; i < MaxRouteIndex; i++) 80286b4: f8d7 30b0 ldr.w r3, [r7, #176] ; 0xb0 80286b8: 3301 adds r3, #1 80286ba: f8c7 30b0 str.w r3, [r7, #176] ; 0xb0 80286be: 4b18 ldr r3, [pc, #96] ; (8028720 ) 80286c0: 681b ldr r3, [r3, #0] 80286c2: f8d7 20b0 ldr.w r2, [r7, #176] ; 0xb0 80286c6: 429a cmp r2, r3 80286c8: d3be bcc.n 8028648 } } } } return FR_OK; 80286ca: 2300 movs r3, #0 80286cc: e02c b.n 8028728 } else { RouteIndex = 0; 80286ce: 4b0a ldr r3, [pc, #40] ; (80286f8 ) 80286d0: 2200 movs r2, #0 80286d2: 601a str r2, [r3, #0] f_close(&F); 80286d4: 480f ldr r0, [pc, #60] ; (8028714 ) 80286d6: f09e fa3b bl 80c6b50 return FR_DISK_ERR; 80286da: 2301 movs r3, #1 80286dc: e024 b.n 8028728 } } } else { f_close(&F); 80286de: 480d ldr r0, [pc, #52] ; (8028714 ) 80286e0: f09e fa36 bl 80c6b50 return FR_DISK_ERR; 80286e4: 2301 movs r3, #1 80286e6: e01f b.n 8028728 80286e8: 64100000 .word 0x64100000 80286ec: 20020dd3 .word 0x20020dd3 80286f0: 20020dca .word 0x20020dca 80286f4: 20020dd8 .word 0x20020dd8 80286f8: 20020f6c .word 0x20020f6c 80286fc: 2002164c .word 0x2002164c 8028700: 200229b4 .word 0x200229b4 8028704: 20021d80 .word 0x20021d80 8028708: 080ce4f4 .word 0x080ce4f4 802870c: 20022918 .word 0x20022918 8028710: 080ce484 .word 0x080ce484 8028714: 20022e20 .word 0x20022e20 8028718: 2007c000 .word 0x2007c000 802871c: 00320800 .word 0x00320800 8028720: 20020f70 .word 0x20020f70 } } return res; 8028724: f897 30b7 ldrb.w r3, [r7, #183] ; 0xb7 } 8028728: 4618 mov r0, r3 802872a: 37bc adds r7, #188 ; 0xbc 802872c: 46bd mov sp, r7 802872e: bd90 pop {r4, r7, pc} 08028730 : FRESULT WriteFileCSV_TMP(char* fname) { 8028730: b590 push {r4, r7, lr} 8028732: b0af sub sp, #188 ; 0xbc 8028734: af00 add r7, sp, #0 8028736: 6078 str r0, [r7, #4] FSIZE_t SizeMeas = 0; 8028738: f04f 0300 mov.w r3, #0 802873c: f04f 0400 mov.w r4, #0 8028740: e9c7 342a strd r3, r4, [r7, #168] ; 0xa8 FRESULT res = FR_OK; 8028744: 2300 movs r3, #0 8028746: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 UINT fk, i, k; uint32_t srate[12]; uint32_t sens[12], s; size_t FileSize = 0; 802874a: 2300 movs r3, #0 802874c: f8c7 30a0 str.w r3, [r7, #160] ; 0xa0 size_t l = 0, l1 = 0; 8028750: 2300 movs r3, #0 8028752: f8c7 309c str.w r3, [r7, #156] ; 0x9c 8028756: 2300 movs r3, #0 8028758: f8c7 3098 str.w r3, [r7, #152] ; 0x98 char fn[40]; memset(fn, 0, sizeof(fn)); 802875c: f107 030c add.w r3, r7, #12 8028760: 2228 movs r2, #40 ; 0x28 8028762: 2100 movs r1, #0 8028764: 4618 mov r0, r3 8028766: f0a4 fc6f bl 80cd048 strcpy(fn, "_"); 802876a: f107 030c add.w r3, r7, #12 802876e: 225f movs r2, #95 ; 0x5f 8028770: 801a strh r2, [r3, #0] strcat(fn, fname); 8028772: f107 030c add.w r3, r7, #12 8028776: 6879 ldr r1, [r7, #4] 8028778: 4618 mov r0, r3 802877a: f0a4 fd65 bl 80cd248 l = strlen(fn); 802877e: f107 030c add.w r3, r7, #12 8028782: 4618 mov r0, r3 8028784: f7f7 fdc6 bl 8020314 8028788: f8c7 009c str.w r0, [r7, #156] ; 0x9c if(fn[l - 4] == '.') 802878c: f8d7 309c ldr.w r3, [r7, #156] ; 0x9c 8028790: 3b04 subs r3, #4 8028792: f107 02b8 add.w r2, r7, #184 ; 0xb8 8028796: 4413 add r3, r2 8028798: f813 3cac ldrb.w r3, [r3, #-172] 802879c: 2b2e cmp r3, #46 ; 0x2e 802879e: d11a bne.n 80287d6 { fn[l - 3] = 'T'; 80287a0: f8d7 309c ldr.w r3, [r7, #156] ; 0x9c 80287a4: 3b03 subs r3, #3 80287a6: f107 02b8 add.w r2, r7, #184 ; 0xb8 80287aa: 4413 add r3, r2 80287ac: 2254 movs r2, #84 ; 0x54 80287ae: f803 2cac strb.w r2, [r3, #-172] fn[l - 2] = 'M'; 80287b2: f8d7 309c ldr.w r3, [r7, #156] ; 0x9c 80287b6: 3b02 subs r3, #2 80287b8: f107 02b8 add.w r2, r7, #184 ; 0xb8 80287bc: 4413 add r3, r2 80287be: 224d movs r2, #77 ; 0x4d 80287c0: f803 2cac strb.w r2, [r3, #-172] fn[l - 1] = 'P'; 80287c4: f8d7 309c ldr.w r3, [r7, #156] ; 0x9c 80287c8: 3b01 subs r3, #1 80287ca: f107 02b8 add.w r2, r7, #184 ; 0xb8 80287ce: 4413 add r3, r2 80287d0: 2250 movs r2, #80 ; 0x50 80287d2: f803 2cac strb.w r2, [r3, #-172] } if(CardState != MSD_READY) { 80287d6: 4b55 ldr r3, [pc, #340] ; (802892c ) 80287d8: 781b ldrb r3, [r3, #0] 80287da: b2db uxtb r3, r3 80287dc: 2b03 cmp r3, #3 80287de: d001 beq.n 80287e4 return FR_NOT_READY; 80287e0: 2303 movs r3, #3 80287e2: e09e b.n 8028922 } if(res == FR_OK) 80287e4: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 80287e8: 2b00 cmp r3, #0 80287ea: f040 8098 bne.w 802891e { memset(PointPath, 0, sizeof(PointPath)); 80287ee: f44f 7200 mov.w r2, #512 ; 0x200 80287f2: 2100 movs r1, #0 80287f4: 484e ldr r0, [pc, #312] ; (8028930 ) 80287f6: f0a4 fc27 bl 80cd048 memset(SearchPath, 0, sizeof(SearchPath)); 80287fa: f44f 7200 mov.w r2, #512 ; 0x200 80287fe: 2100 movs r1, #0 8028800: 484c ldr r0, [pc, #304] ; (8028934 ) 8028802: f0a4 fc21 bl 80cd048 strcpy(SearchPath, "0:Routes"); 8028806: 4a4b ldr r2, [pc, #300] ; (8028934 ) 8028808: 4b4b ldr r3, [pc, #300] ; (8028938 ) 802880a: cb03 ldmia r3!, {r0, r1} 802880c: 6010 str r0, [r2, #0] 802880e: 6051 str r1, [r2, #4] 8028810: 781b ldrb r3, [r3, #0] 8028812: 7213 strb r3, [r2, #8] res = f_opendir(&dir, SearchPath); 8028814: 4947 ldr r1, [pc, #284] ; (8028934 ) 8028816: 4849 ldr r0, [pc, #292] ; (802893c ) 8028818: f09e fc43 bl 80c70a2 802881c: 4603 mov r3, r0 802881e: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(res != FR_OK) { 8028822: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 8028826: 2b00 cmp r3, #0 8028828: d005 beq.n 8028836 res = f_mkdir(SearchPath); 802882a: 4842 ldr r0, [pc, #264] ; (8028934 ) 802882c: f09e fef4 bl 80c7618 8028830: 4603 mov r3, r0 8028832: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 } f_closedir(&dir); 8028836: 4841 ldr r0, [pc, #260] ; (802893c ) 8028838: f09e fcc2 bl 80c71c0 strcat(SearchPath, "/"); 802883c: 483d ldr r0, [pc, #244] ; (8028934 ) 802883e: f7f7 fd69 bl 8020314 8028842: 4603 mov r3, r0 8028844: 461a mov r2, r3 8028846: 4b3b ldr r3, [pc, #236] ; (8028934 ) 8028848: 4413 add r3, r2 802884a: 493d ldr r1, [pc, #244] ; (8028940 ) 802884c: 461a mov r2, r3 802884e: 460b mov r3, r1 8028850: 881b ldrh r3, [r3, #0] 8028852: 8013 strh r3, [r2, #0] strcat(SearchPath, fn); 8028854: f107 030c add.w r3, r7, #12 8028858: 4619 mov r1, r3 802885a: 4836 ldr r0, [pc, #216] ; (8028934 ) 802885c: f0a4 fcf4 bl 80cd248 strcpy(PointPath, SearchPath); 8028860: 4934 ldr r1, [pc, #208] ; (8028934 ) 8028862: 4833 ldr r0, [pc, #204] ; (8028930 ) 8028864: f0a4 fd0d bl 80cd282 res = f_open(&F, PointPath, FA_WRITE | FA_READ); 8028868: 2203 movs r2, #3 802886a: 4931 ldr r1, [pc, #196] ; (8028930 ) 802886c: 4835 ldr r0, [pc, #212] ; (8028944 ) 802886e: f09d fb2b bl 80c5ec8 8028872: 4603 mov r3, r0 8028874: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(res == FR_OK) 8028878: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 802887c: 2b00 cmp r3, #0 802887e: d149 bne.n 8028914 { res = f_sync(&F); 8028880: 4830 ldr r0, [pc, #192] ; (8028944 ) 8028882: f09e f861 bl 80c6948 8028886: 4603 mov r3, r0 8028888: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(res != FR_OK) 802888c: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 8028890: 2b00 cmp r3, #0 8028892: d004 beq.n 802889e { f_close(&F); 8028894: 482b ldr r0, [pc, #172] ; (8028944 ) 8028896: f09e f95b bl 80c6b50 return FR_DISK_ERR; 802889a: 2301 movs r3, #1 802889c: e041 b.n 8028922 } else { f_lseek(&F, 0); 802889e: f04f 0200 mov.w r2, #0 80288a2: f04f 0300 mov.w r3, #0 80288a6: 4827 ldr r0, [pc, #156] ; (8028944 ) 80288a8: f09e f972 bl 80c6b90 for(i = 0; i < 128; i++) 80288ac: 2300 movs r3, #0 80288ae: f8c7 30b4 str.w r3, [r7, #180] ; 0xb4 80288b2: e026 b.n 8028902 { memcpy(sector, (void *) &RouteMeas(512u * i), 512u); 80288b4: f8d7 20b4 ldr.w r2, [r7, #180] ; 0xb4 80288b8: 4b23 ldr r3, [pc, #140] ; (8028948 ) 80288ba: 4413 add r3, r2 80288bc: 025b lsls r3, r3, #9 80288be: 461a mov r2, r3 80288c0: 4b22 ldr r3, [pc, #136] ; (802894c ) 80288c2: 4618 mov r0, r3 80288c4: 4611 mov r1, r2 80288c6: f44f 7300 mov.w r3, #512 ; 0x200 80288ca: 461a mov r2, r3 80288cc: f0a4 fbb1 bl 80cd032 res = f_write(&F, sector, 512, &fk); 80288d0: f107 0394 add.w r3, r7, #148 ; 0x94 80288d4: f44f 7200 mov.w r2, #512 ; 0x200 80288d8: 491c ldr r1, [pc, #112] ; (802894c ) 80288da: 481a ldr r0, [pc, #104] ; (8028944 ) 80288dc: f09d fe94 bl 80c6608 80288e0: 4603 mov r3, r0 80288e2: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(res != FR_OK) 80288e6: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 80288ea: 2b00 cmp r3, #0 80288ec: d004 beq.n 80288f8 { f_close(&F); 80288ee: 4815 ldr r0, [pc, #84] ; (8028944 ) 80288f0: f09e f92e bl 80c6b50 return FR_DISK_ERR; 80288f4: 2301 movs r3, #1 80288f6: e014 b.n 8028922 for(i = 0; i < 128; i++) 80288f8: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 80288fc: 3301 adds r3, #1 80288fe: f8c7 30b4 str.w r3, [r7, #180] ; 0xb4 8028902: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 8028906: 2b7f cmp r3, #127 ; 0x7f 8028908: d9d4 bls.n 80288b4 } } f_close(&F); 802890a: 480e ldr r0, [pc, #56] ; (8028944 ) 802890c: f09e f920 bl 80c6b50 return FR_OK; 8028910: 2300 movs r3, #0 8028912: e006 b.n 8028922 } } else { f_close(&F); 8028914: 480b ldr r0, [pc, #44] ; (8028944 ) 8028916: f09e f91b bl 80c6b50 return FR_DISK_ERR; 802891a: 2301 movs r3, #1 802891c: e001 b.n 8028922 } } return res; 802891e: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 } 8028922: 4618 mov r0, r3 8028924: 37bc adds r7, #188 ; 0xbc 8028926: 46bd mov sp, r7 8028928: bd90 pop {r4, r7, pc} 802892a: bf00 nop 802892c: 2002164c .word 0x2002164c 8028930: 200229b4 .word 0x200229b4 8028934: 20021d80 .word 0x20021d80 8028938: 080ce4f4 .word 0x080ce4f4 802893c: 20022918 .word 0x20022918 8028940: 080ce484 .word 0x080ce484 8028944: 20022e20 .word 0x20022e20 8028948: 00320800 .word 0x00320800 802894c: 2007c000 .word 0x2007c000 08028950 : FRESULT GetRoutePath(uint32_t RouteIndex, char *fname) { 8028950: b590 push {r4, r7, lr} 8028952: b0a7 sub sp, #156 ; 0x9c 8028954: af00 add r7, sp, #0 8028956: 6078 str r0, [r7, #4] 8028958: 6039 str r1, [r7, #0] FSIZE_t SizeMeas = 0; 802895a: f04f 0300 mov.w r3, #0 802895e: f04f 0400 mov.w r4, #0 8028962: e9c7 341e strd r3, r4, [r7, #120] ; 0x78 FRESULT res = FR_OK; 8028966: 2300 movs r3, #0 8028968: f887 3097 strb.w r3, [r7, #151] ; 0x97 UINT fk, i, k, p; uint32_t srate[12]; uint32_t sens[12], s; size_t FileSize = 0; 802896c: 2300 movs r3, #0 802896e: 677b str r3, [r7, #116] ; 0x74 size_t l = 0, l1 = 0, l2 = 0; 8028970: 2300 movs r3, #0 8028972: f8c7 3088 str.w r3, [r7, #136] ; 0x88 8028976: 2300 movs r3, #0 8028978: f8c7 3084 str.w r3, [r7, #132] ; 0x84 802897c: 2300 movs r3, #0 802897e: 673b str r3, [r7, #112] ; 0x70 FileDataExist = false; 8028980: 4baa ldr r3, [pc, #680] ; (8028c2c ) 8028982: 2200 movs r2, #0 8028984: 701a strb r2, [r3, #0] DrawSavedData = false; 8028986: 4baa ldr r3, [pc, #680] ; (8028c30 ) 8028988: 2200 movs r2, #0 802898a: 701a strb r2, [r3, #0] FirstMeas = 0; 802898c: 4ba9 ldr r3, [pc, #676] ; (8028c34 ) 802898e: 2200 movs r2, #0 8028990: 601a str r2, [r3, #0] if(CardState != MSD_READY) { 8028992: 4ba9 ldr r3, [pc, #676] ; (8028c38 ) 8028994: 781b ldrb r3, [r3, #0] 8028996: b2db uxtb r3, r3 8028998: 2b03 cmp r3, #3 802899a: d001 beq.n 80289a0 return FR_NOT_READY; 802899c: 2303 movs r3, #3 802899e: e141 b.n 8028c24 } if(res == FR_OK) 80289a0: f897 3097 ldrb.w r3, [r7, #151] ; 0x97 80289a4: 2b00 cmp r3, #0 80289a6: f040 813b bne.w 8028c20 { memset(RoutePath, 0, sizeof(RoutePath)); 80289aa: f44f 7200 mov.w r2, #512 ; 0x200 80289ae: 2100 movs r1, #0 80289b0: 48a2 ldr r0, [pc, #648] ; (8028c3c ) 80289b2: f0a4 fb49 bl 80cd048 memset(PointPath, 0, sizeof(PointPath)); 80289b6: f44f 7200 mov.w r2, #512 ; 0x200 80289ba: 2100 movs r1, #0 80289bc: 48a0 ldr r0, [pc, #640] ; (8028c40 ) 80289be: f0a4 fb43 bl 80cd048 memset(SearchPath, 0, sizeof(SearchPath)); 80289c2: f44f 7200 mov.w r2, #512 ; 0x200 80289c6: 2100 movs r1, #0 80289c8: 489e ldr r0, [pc, #632] ; (8028c44 ) 80289ca: f0a4 fb3d bl 80cd048 strcpy(SearchPath, "0:"); 80289ce: 4b9d ldr r3, [pc, #628] ; (8028c44 ) 80289d0: 4a9d ldr r2, [pc, #628] ; (8028c48 ) 80289d2: 8811 ldrh r1, [r2, #0] 80289d4: 7892 ldrb r2, [r2, #2] 80289d6: 8019 strh r1, [r3, #0] 80289d8: 709a strb r2, [r3, #2] memset(FileName, 0, sizeof(FileName)); 80289da: 2228 movs r2, #40 ; 0x28 80289dc: 2100 movs r1, #0 80289de: 489b ldr r0, [pc, #620] ; (8028c4c ) 80289e0: f0a4 fb32 bl 80cd048 strcpy(FileName, fname); 80289e4: 6839 ldr r1, [r7, #0] 80289e6: 4899 ldr r0, [pc, #612] ; (8028c4c ) 80289e8: f0a4 fc4b bl 80cd282 ScanMode = GET_PATH_TO_FILE; 80289ec: 4b98 ldr r3, [pc, #608] ; (8028c50 ) 80289ee: 2209 movs r2, #9 80289f0: 701a strb r2, [r3, #0] FlagReturn = false; 80289f2: 4b98 ldr r3, [pc, #608] ; (8028c54 ) 80289f4: 2200 movs r2, #0 80289f6: 701a strb r2, [r3, #0] ScanFiles(SearchPath, 0); 80289f8: 2100 movs r1, #0 80289fa: 4892 ldr r0, [pc, #584] ; (8028c44 ) 80289fc: f002 ff56 bl 802b8ac if(PointPath[0] == 0) 8028a00: 4b8f ldr r3, [pc, #572] ; (8028c40 ) 8028a02: 781b ldrb r3, [r3, #0] 8028a04: 2b00 cmp r3, #0 8028a06: d103 bne.n 8028a10 { res = FR_NO_FILE; 8028a08: 2304 movs r3, #4 8028a0a: f887 3097 strb.w r3, [r7, #151] ; 0x97 8028a0e: e107 b.n 8028c20 } else { res = f_open(&F, PointPath, FA_READ); 8028a10: 2201 movs r2, #1 8028a12: 498b ldr r1, [pc, #556] ; (8028c40 ) 8028a14: 4890 ldr r0, [pc, #576] ; (8028c58 ) 8028a16: f09d fa57 bl 80c5ec8 8028a1a: 4603 mov r3, r0 8028a1c: f887 3097 strb.w r3, [r7, #151] ; 0x97 if(res == FR_OK) 8028a20: f897 3097 ldrb.w r3, [r7, #151] ; 0x97 8028a24: 2b00 cmp r3, #0 8028a26: f040 80fb bne.w 8028c20 { FileSize = f_size(&F); 8028a2a: 4b8b ldr r3, [pc, #556] ; (8028c58 ) 8028a2c: e9d3 3404 ldrd r3, r4, [r3, #16] 8028a30: 677b str r3, [r7, #116] ; 0x74 if(FileSize > 4) 8028a32: 6f7b ldr r3, [r7, #116] ; 0x74 8028a34: 2b04 cmp r3, #4 8028a36: f240 80eb bls.w 8028c10 { if(FileSize < 512) 8028a3a: 6f7b ldr r3, [r7, #116] ; 0x74 8028a3c: f5b3 7f00 cmp.w r3, #512 ; 0x200 8028a40: d24a bcs.n 8028ad8 { k = 0; 8028a42: 2300 movs r3, #0 8028a44: f8c7 308c str.w r3, [r7, #140] ; 0x8c p = 0; 8028a48: 2300 movs r3, #0 8028a4a: 66fb str r3, [r7, #108] ; 0x6c res = f_read(&F, SearchPath, FileSize, &fk); 8028a4c: f107 0368 add.w r3, r7, #104 ; 0x68 8028a50: 6f7a ldr r2, [r7, #116] ; 0x74 8028a52: 497c ldr r1, [pc, #496] ; (8028c44 ) 8028a54: 4880 ldr r0, [pc, #512] ; (8028c58 ) 8028a56: f09d fc94 bl 80c6382 8028a5a: 4603 mov r3, r0 8028a5c: f887 3097 strb.w r3, [r7, #151] ; 0x97 if(res == FR_OK) 8028a60: f897 3097 ldrb.w r3, [r7, #151] ; 0x97 8028a64: 2b00 cmp r3, #0 8028a66: d132 bne.n 8028ace { for(i = 0; i < FileSize; i++) 8028a68: 2300 movs r3, #0 8028a6a: f8c7 3090 str.w r3, [r7, #144] ; 0x90 8028a6e: e028 b.n 8028ac2 { if(SearchPath[i] == '\r') 8028a70: 4a74 ldr r2, [pc, #464] ; (8028c44 ) 8028a72: f8d7 3090 ldr.w r3, [r7, #144] ; 0x90 8028a76: 4413 add r3, r2 8028a78: 781b ldrb r3, [r3, #0] 8028a7a: 2b0d cmp r3, #13 8028a7c: d11c bne.n 8028ab8 { if(RouteIndex == k) 8028a7e: 687a ldr r2, [r7, #4] 8028a80: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 8028a84: 429a cmp r2, r3 8028a86: d10d bne.n 8028aa4 { memcpy(RoutePath, &SearchPath[l1], i - l1); 8028a88: f8d7 3084 ldr.w r3, [r7, #132] ; 0x84 8028a8c: 4a6d ldr r2, [pc, #436] ; (8028c44 ) 8028a8e: 1899 adds r1, r3, r2 8028a90: f8d7 2090 ldr.w r2, [r7, #144] ; 0x90 8028a94: f8d7 3084 ldr.w r3, [r7, #132] ; 0x84 8028a98: 1ad3 subs r3, r2, r3 8028a9a: 461a mov r2, r3 8028a9c: 4867 ldr r0, [pc, #412] ; (8028c3c ) 8028a9e: f0a4 fac8 bl 80cd032 break; 8028aa2: e0ba b.n 8028c1a } l1 = i + 2; 8028aa4: f8d7 3090 ldr.w r3, [r7, #144] ; 0x90 8028aa8: 3302 adds r3, #2 8028aaa: f8c7 3084 str.w r3, [r7, #132] ; 0x84 k++; 8028aae: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 8028ab2: 3301 adds r3, #1 8028ab4: f8c7 308c str.w r3, [r7, #140] ; 0x8c for(i = 0; i < FileSize; i++) 8028ab8: f8d7 3090 ldr.w r3, [r7, #144] ; 0x90 8028abc: 3301 adds r3, #1 8028abe: f8c7 3090 str.w r3, [r7, #144] ; 0x90 8028ac2: f8d7 2090 ldr.w r2, [r7, #144] ; 0x90 8028ac6: 6f7b ldr r3, [r7, #116] ; 0x74 8028ac8: 429a cmp r2, r3 8028aca: d3d1 bcc.n 8028a70 8028acc: e0a5 b.n 8028c1a } } } else { f_close(&F); 8028ace: 4862 ldr r0, [pc, #392] ; (8028c58 ) 8028ad0: f09e f83e bl 80c6b50 return FR_DISK_ERR; 8028ad4: 2301 movs r3, #1 8028ad6: e0a5 b.n 8028c24 } } else { // File is over 512 bytes l = 0; 8028ad8: 2300 movs r3, #0 8028ada: f8c7 3088 str.w r3, [r7, #136] ; 0x88 l1 = l2 = 0; 8028ade: 2300 movs r3, #0 8028ae0: 673b str r3, [r7, #112] ; 0x70 8028ae2: 6f3b ldr r3, [r7, #112] ; 0x70 8028ae4: f8c7 3084 str.w r3, [r7, #132] ; 0x84 k = 0; 8028ae8: 2300 movs r3, #0 8028aea: f8c7 308c str.w r3, [r7, #140] ; 0x8c p = 0; 8028aee: 2300 movs r3, #0 8028af0: 66fb str r3, [r7, #108] ; 0x6c while(l < FileSize) 8028af2: e086 b.n 8028c02 { if(FileSize - l >= 512u) 8028af4: 6f7a ldr r2, [r7, #116] ; 0x74 8028af6: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 8028afa: 1ad3 subs r3, r2, r3 8028afc: f5b3 7f00 cmp.w r3, #512 ; 0x200 8028b00: d30b bcc.n 8028b1a res = f_read(&F, SearchPath, 512, &fk); 8028b02: f107 0368 add.w r3, r7, #104 ; 0x68 8028b06: f44f 7200 mov.w r2, #512 ; 0x200 8028b0a: 494e ldr r1, [pc, #312] ; (8028c44 ) 8028b0c: 4852 ldr r0, [pc, #328] ; (8028c58 ) 8028b0e: f09d fc38 bl 80c6382 8028b12: 4603 mov r3, r0 8028b14: f887 3097 strb.w r3, [r7, #151] ; 0x97 8028b18: e00c b.n 8028b34 else res = f_read(&F, SearchPath, FileSize - l, &fk); 8028b1a: 6f7a ldr r2, [r7, #116] ; 0x74 8028b1c: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 8028b20: 1ad2 subs r2, r2, r3 8028b22: f107 0368 add.w r3, r7, #104 ; 0x68 8028b26: 4947 ldr r1, [pc, #284] ; (8028c44 ) 8028b28: 484b ldr r0, [pc, #300] ; (8028c58 ) 8028b2a: f09d fc2a bl 80c6382 8028b2e: 4603 mov r3, r0 8028b30: f887 3097 strb.w r3, [r7, #151] ; 0x97 if(res == FR_OK) 8028b34: f897 3097 ldrb.w r3, [r7, #151] ; 0x97 8028b38: 2b00 cmp r3, #0 8028b3a: d157 bne.n 8028bec { for(i = 0; i < fk; i++) 8028b3c: 2300 movs r3, #0 8028b3e: f8c7 3090 str.w r3, [r7, #144] ; 0x90 8028b42: e04d b.n 8028be0 { if(SearchPath[i] == '\r') 8028b44: 4a3f ldr r2, [pc, #252] ; (8028c44 ) 8028b46: f8d7 3090 ldr.w r3, [r7, #144] ; 0x90 8028b4a: 4413 add r3, r2 8028b4c: 781b ldrb r3, [r3, #0] 8028b4e: 2b0d cmp r3, #13 8028b50: d141 bne.n 8028bd6 { if(RouteIndex == k) 8028b52: 687a ldr r2, [r7, #4] 8028b54: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 8028b58: 429a cmp r2, r3 8028b5a: d12f bne.n 8028bbc { f_lseek(&F, l1); 8028b5c: f8d7 3084 ldr.w r3, [r7, #132] ; 0x84 8028b60: f04f 0400 mov.w r4, #0 8028b64: 461a mov r2, r3 8028b66: 4623 mov r3, r4 8028b68: 483b ldr r0, [pc, #236] ; (8028c58 ) 8028b6a: f09e f811 bl 80c6b90 if(FileSize - l1 >= 512u) 8028b6e: 6f7a ldr r2, [r7, #116] ; 0x74 8028b70: f8d7 3084 ldr.w r3, [r7, #132] ; 0x84 8028b74: 1ad3 subs r3, r2, r3 8028b76: f5b3 7f00 cmp.w r3, #512 ; 0x200 8028b7a: d30b bcc.n 8028b94 res = f_read(&F, SearchPath, 512, &fk); 8028b7c: f107 0368 add.w r3, r7, #104 ; 0x68 8028b80: f44f 7200 mov.w r2, #512 ; 0x200 8028b84: 492f ldr r1, [pc, #188] ; (8028c44 ) 8028b86: 4834 ldr r0, [pc, #208] ; (8028c58 ) 8028b88: f09d fbfb bl 80c6382 8028b8c: 4603 mov r3, r0 8028b8e: f887 3097 strb.w r3, [r7, #151] ; 0x97 8028b92: e00c b.n 8028bae else res = f_read(&F, SearchPath, FileSize - l1, &fk); 8028b94: 6f7a ldr r2, [r7, #116] ; 0x74 8028b96: f8d7 3084 ldr.w r3, [r7, #132] ; 0x84 8028b9a: 1ad2 subs r2, r2, r3 8028b9c: f107 0368 add.w r3, r7, #104 ; 0x68 8028ba0: 4928 ldr r1, [pc, #160] ; (8028c44 ) 8028ba2: 482d ldr r0, [pc, #180] ; (8028c58 ) 8028ba4: f09d fbed bl 80c6382 8028ba8: 4603 mov r3, r0 8028baa: f887 3097 strb.w r3, [r7, #151] ; 0x97 memcpy(RoutePath, SearchPath, fk); 8028bae: 6ebb ldr r3, [r7, #104] ; 0x68 8028bb0: 461a mov r2, r3 8028bb2: 4924 ldr r1, [pc, #144] ; (8028c44 ) 8028bb4: 4821 ldr r0, [pc, #132] ; (8028c3c ) 8028bb6: f0a4 fa3c bl 80cd032 break; 8028bba: e01c b.n 8028bf6 } l1 = l + i + 2; 8028bbc: f8d7 2088 ldr.w r2, [r7, #136] ; 0x88 8028bc0: f8d7 3090 ldr.w r3, [r7, #144] ; 0x90 8028bc4: 4413 add r3, r2 8028bc6: 3302 adds r3, #2 8028bc8: f8c7 3084 str.w r3, [r7, #132] ; 0x84 k++; 8028bcc: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 8028bd0: 3301 adds r3, #1 8028bd2: f8c7 308c str.w r3, [r7, #140] ; 0x8c for(i = 0; i < fk; i++) 8028bd6: f8d7 3090 ldr.w r3, [r7, #144] ; 0x90 8028bda: 3301 adds r3, #1 8028bdc: f8c7 3090 str.w r3, [r7, #144] ; 0x90 8028be0: 6ebb ldr r3, [r7, #104] ; 0x68 8028be2: f8d7 2090 ldr.w r2, [r7, #144] ; 0x90 8028be6: 429a cmp r2, r3 8028be8: d3ac bcc.n 8028b44 8028bea: e004 b.n 8028bf6 } else { f_close(&F); 8028bec: 481a ldr r0, [pc, #104] ; (8028c58 ) 8028bee: f09d ffaf bl 80c6b50 return FR_DISK_ERR; 8028bf2: 2301 movs r3, #1 8028bf4: e016 b.n 8028c24 } l += 512u; 8028bf6: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 8028bfa: f503 7300 add.w r3, r3, #512 ; 0x200 8028bfe: f8c7 3088 str.w r3, [r7, #136] ; 0x88 while(l < FileSize) 8028c02: f8d7 2088 ldr.w r2, [r7, #136] ; 0x88 8028c06: 6f7b ldr r3, [r7, #116] ; 0x74 8028c08: 429a cmp r2, r3 8028c0a: f4ff af73 bcc.w 8028af4 8028c0e: e004 b.n 8028c1a } } } else { f_close(&F); 8028c10: 4811 ldr r0, [pc, #68] ; (8028c58 ) 8028c12: f09d ff9d bl 80c6b50 return FR_DISK_ERR; 8028c16: 2301 movs r3, #1 8028c18: e004 b.n 8028c24 } f_close(&F); 8028c1a: 480f ldr r0, [pc, #60] ; (8028c58 ) 8028c1c: f09d ff98 bl 80c6b50 } } } return res; 8028c20: f897 3097 ldrb.w r3, [r7, #151] ; 0x97 } 8028c24: 4618 mov r0, r3 8028c26: 379c adds r7, #156 ; 0x9c 8028c28: 46bd mov sp, r7 8028c2a: bd90 pop {r4, r7, pc} 8028c2c: 20020dd3 .word 0x20020dd3 8028c30: 20020dca .word 0x20020dca 8028c34: 20020dd8 .word 0x20020dd8 8028c38: 2002164c .word 0x2002164c 8028c3c: 20022be0 .word 0x20022be0 8028c40: 200229b4 .word 0x200229b4 8028c44: 20021d80 .word 0x20021d80 8028c48: 080ce500 .word 0x080ce500 8028c4c: 20022bb8 .word 0x20022bb8 8028c50: 20020ddf .word 0x20020ddf 8028c54: 20020dde .word 0x20020dde 8028c58: 20022e20 .word 0x20022e20 08028c5c : FRESULT RewindFileGTR(void) { 8028c5c: b5f0 push {r4, r5, r6, r7, lr} 8028c5e: b087 sub sp, #28 8028c60: af00 add r7, sp, #0 FRESULT res = FR_OK; 8028c62: 2000 movs r0, #0 8028c64: 75f8 strb r0, [r7, #23] FSIZE_t fptr, cf; FSIZE_t NumRead; UINT fk; if(CardState != MSD_READY) { 8028c66: 48a7 ldr r0, [pc, #668] ; (8028f04 ) 8028c68: 7800 ldrb r0, [r0, #0] 8028c6a: b2c0 uxtb r0, r0 8028c6c: 2803 cmp r0, #3 8028c6e: d001 beq.n 8028c74 return FR_NOT_READY; 8028c70: 2303 movs r3, #3 8028c72: e143 b.n 8028efc } if(NUM_CHANNELS == 1) 8028c74: 48a4 ldr r0, [pc, #656] ; (8028f08 ) 8028c76: 6800 ldr r0, [r0, #0] 8028c78: 2801 cmp r0, #1 8028c7a: f040 809c bne.w 8028db6 { if((f_size(&F)) && (PlayingState.NumFrames)) 8028c7e: 4ba3 ldr r3, [pc, #652] ; (8028f0c ) 8028c80: e9d3 3404 ldrd r3, r4, [r3, #16] 8028c84: 4323 orrs r3, r4 8028c86: f000 8089 beq.w 8028d9c 8028c8a: 4ba1 ldr r3, [pc, #644] ; (8028f10 ) 8028c8c: 685b ldr r3, [r3, #4] 8028c8e: 2b00 cmp r3, #0 8028c90: f000 8084 beq.w 8028d9c { cf = PlayingState.CurrentFrame; 8028c94: 4b9e ldr r3, [pc, #632] ; (8028f10 ) 8028c96: 681b ldr r3, [r3, #0] 8028c98: f04f 0400 mov.w r4, #0 8028c9c: e887 0018 stmia.w r7, {r3, r4} if(cf == PlayingState.NumFrames) { 8028ca0: 4b9b ldr r3, [pc, #620] ; (8028f10 ) 8028ca2: 685b ldr r3, [r3, #4] 8028ca4: 461d mov r5, r3 8028ca6: f04f 0600 mov.w r6, #0 8028caa: e897 0018 ldmia.w r7, {r3, r4} 8028cae: 42a6 cmp r6, r4 8028cb0: bf08 it eq 8028cb2: 429d cmpeq r5, r3 8028cb4: d107 bne.n 8028cc6 cf -= 1; 8028cb6: e897 0018 ldmia.w r7, {r3, r4} 8028cba: f113 33ff adds.w r3, r3, #4294967295 8028cbe: f144 34ff adc.w r4, r4, #4294967295 8028cc2: e887 0018 stmia.w r7, {r3, r4} } cf *= PlayingState.FrameSize; 8028cc6: 4b92 ldr r3, [pc, #584] ; (8028f10 ) 8028cc8: 689b ldr r3, [r3, #8] 8028cca: f04f 0400 mov.w r4, #0 8028cce: 6878 ldr r0, [r7, #4] 8028cd0: fb03 f500 mul.w r5, r3, r0 8028cd4: 6838 ldr r0, [r7, #0] 8028cd6: fb04 f000 mul.w r0, r4, r0 8028cda: 4428 add r0, r5 8028cdc: 683d ldr r5, [r7, #0] 8028cde: fba5 3403 umull r3, r4, r5, r3 8028ce2: 4420 add r0, r4 8028ce4: 4604 mov r4, r0 8028ce6: e887 0018 stmia.w r7, {r3, r4} 8028cea: e887 0018 stmia.w r7, {r3, r4} cf <<= 2; 8028cee: e897 0018 ldmia.w r7, {r3, r4} 8028cf2: 00a2 lsls r2, r4, #2 8028cf4: ea42 7293 orr.w r2, r2, r3, lsr #30 8028cf8: 0099 lsls r1, r3, #2 8028cfa: e887 0006 stmia.w r7, {r1, r2} fptr = (FSIZE_t) FirstMeas + cf; 8028cfe: 4b85 ldr r3, [pc, #532] ; (8028f14 ) 8028d00: 681b ldr r3, [r3, #0] 8028d02: 4619 mov r1, r3 8028d04: f04f 0200 mov.w r2, #0 8028d08: e897 0018 ldmia.w r7, {r3, r4} 8028d0c: 185b adds r3, r3, r1 8028d0e: eb44 0402 adc.w r4, r4, r2 8028d12: e9c7 3402 strd r3, r4, [r7, #8] if(fptr > f_size(&F)) { 8028d16: 4b7d ldr r3, [pc, #500] ; (8028f0c ) 8028d18: e9d3 1204 ldrd r1, r2, [r3, #16] 8028d1c: e9d7 3402 ldrd r3, r4, [r7, #8] 8028d20: 42a2 cmp r2, r4 8028d22: bf08 it eq 8028d24: 4299 cmpeq r1, r3 8028d26: d20c bcs.n 8028d42 fptr = f_size(&F) - (PlayingState.FrameSize << 2); 8028d28: 4b78 ldr r3, [pc, #480] ; (8028f0c ) 8028d2a: e9d3 1204 ldrd r1, r2, [r3, #16] 8028d2e: 4b78 ldr r3, [pc, #480] ; (8028f10 ) 8028d30: 689b ldr r3, [r3, #8] 8028d32: 009b lsls r3, r3, #2 8028d34: f04f 0400 mov.w r4, #0 8028d38: 1acb subs r3, r1, r3 8028d3a: eb62 0404 sbc.w r4, r2, r4 8028d3e: e9c7 3402 strd r3, r4, [r7, #8] } res = f_lseek(&F, fptr); 8028d42: e9d7 2302 ldrd r2, r3, [r7, #8] 8028d46: 4871 ldr r0, [pc, #452] ; (8028f0c ) 8028d48: f09d ff22 bl 80c6b90 8028d4c: 4603 mov r3, r0 8028d4e: 75fb strb r3, [r7, #23] if(res == FR_OK) 8028d50: 7dfb ldrb r3, [r7, #23] 8028d52: 2b00 cmp r3, #0 8028d54: d115 bne.n 8028d82 { res = SeekFileGTR(); 8028d56: f000 f8e3 bl 8028f20 8028d5a: 4603 mov r3, r0 8028d5c: 75fb strb r3, [r7, #23] if(res == FR_OK) 8028d5e: 7dfb ldrb r3, [r7, #23] 8028d60: 2b00 cmp r3, #0 8028d62: d101 bne.n 8028d68 { return FR_OK; 8028d64: 2300 movs r3, #0 8028d66: e0c9 b.n 8028efc } else { f_close(&F); 8028d68: 4868 ldr r0, [pc, #416] ; (8028f0c ) 8028d6a: f09d fef1 bl 80c6b50 //f_mount(&fs, SDPath, 0); memcpy((void *) &pardata, (void *) &pardata_old, sizeof(pardata)); 8028d6e: 4a6a ldr r2, [pc, #424] ; (8028f18 ) 8028d70: 4b6a ldr r3, [pc, #424] ; (8028f1c ) 8028d72: 4610 mov r0, r2 8028d74: 4619 mov r1, r3 8028d76: f44f 6396 mov.w r3, #1200 ; 0x4b0 8028d7a: 461a mov r2, r3 8028d7c: f0a4 f959 bl 80cd032 if(res == FR_OK) 8028d80: e0bb b.n 8028efa } } else { f_close(&F); 8028d82: 4862 ldr r0, [pc, #392] ; (8028f0c ) 8028d84: f09d fee4 bl 80c6b50 //f_mount(&fs, SDPath, 0); memcpy((void *) &pardata, (void *) &pardata_old, sizeof(pardata)); 8028d88: 4a63 ldr r2, [pc, #396] ; (8028f18 ) 8028d8a: 4b64 ldr r3, [pc, #400] ; (8028f1c ) 8028d8c: 4610 mov r0, r2 8028d8e: 4619 mov r1, r3 8028d90: f44f 6396 mov.w r3, #1200 ; 0x4b0 8028d94: 461a mov r2, r3 8028d96: f0a4 f94c bl 80cd032 if(res == FR_OK) 8028d9a: e0ae b.n 8028efa } } else { f_close(&F); 8028d9c: 485b ldr r0, [pc, #364] ; (8028f0c ) 8028d9e: f09d fed7 bl 80c6b50 //f_mount(&fs, SDPath, 0); memcpy((void *) &pardata, (void *) &pardata_old, sizeof(pardata)); 8028da2: 4a5d ldr r2, [pc, #372] ; (8028f18 ) 8028da4: 4b5d ldr r3, [pc, #372] ; (8028f1c ) 8028da6: 4610 mov r0, r2 8028da8: 4619 mov r1, r3 8028daa: f44f 6396 mov.w r3, #1200 ; 0x4b0 8028dae: 461a mov r2, r3 8028db0: f0a4 f93f bl 80cd032 8028db4: e0a1 b.n 8028efa } } else if(NUM_CHANNELS == 2) 8028db6: 4a54 ldr r2, [pc, #336] ; (8028f08 ) 8028db8: 6812 ldr r2, [r2, #0] 8028dba: 2a02 cmp r2, #2 8028dbc: f040 809d bne.w 8028efa { if((f_size(&F)) && (PlayingState.NumFrames)) 8028dc0: 4a52 ldr r2, [pc, #328] ; (8028f0c ) 8028dc2: e9d2 1204 ldrd r1, r2, [r2, #16] 8028dc6: 430a orrs r2, r1 8028dc8: f000 808b beq.w 8028ee2 8028dcc: 4a50 ldr r2, [pc, #320] ; (8028f10 ) 8028dce: 6852 ldr r2, [r2, #4] 8028dd0: 2a00 cmp r2, #0 8028dd2: f000 8086 beq.w 8028ee2 { cf = PlayingState.CurrentFrame; 8028dd6: 4a4e ldr r2, [pc, #312] ; (8028f10 ) 8028dd8: 6812 ldr r2, [r2, #0] 8028dda: 4611 mov r1, r2 8028ddc: f04f 0200 mov.w r2, #0 8028de0: e887 0006 stmia.w r7, {r1, r2} if(cf == PlayingState.NumFrames) { 8028de4: 4a4a ldr r2, [pc, #296] ; (8028f10 ) 8028de6: 6852 ldr r2, [r2, #4] 8028de8: 4615 mov r5, r2 8028dea: f04f 0600 mov.w r6, #0 8028dee: e897 0006 ldmia.w r7, {r1, r2} 8028df2: 4296 cmp r6, r2 8028df4: bf08 it eq 8028df6: 428d cmpeq r5, r1 8028df8: d107 bne.n 8028e0a cf -= 1; 8028dfa: e897 0006 ldmia.w r7, {r1, r2} 8028dfe: f111 31ff adds.w r1, r1, #4294967295 8028e02: f142 32ff adc.w r2, r2, #4294967295 8028e06: e887 0006 stmia.w r7, {r1, r2} } cf *= PlayingState.FrameSize; 8028e0a: 4a41 ldr r2, [pc, #260] ; (8028f10 ) 8028e0c: 6892 ldr r2, [r2, #8] 8028e0e: 4611 mov r1, r2 8028e10: f04f 0200 mov.w r2, #0 8028e14: 6878 ldr r0, [r7, #4] 8028e16: fb01 f500 mul.w r5, r1, r0 8028e1a: 6838 ldr r0, [r7, #0] 8028e1c: fb02 f000 mul.w r0, r2, r0 8028e20: 4428 add r0, r5 8028e22: 683d ldr r5, [r7, #0] 8028e24: fba5 1201 umull r1, r2, r5, r1 8028e28: 4410 add r0, r2 8028e2a: 4602 mov r2, r0 8028e2c: e887 0006 stmia.w r7, {r1, r2} 8028e30: e887 0006 stmia.w r7, {r1, r2} cf <<= 3; 8028e34: e897 0006 ldmia.w r7, {r1, r2} 8028e38: 00d4 lsls r4, r2, #3 8028e3a: ea44 7451 orr.w r4, r4, r1, lsr #29 8028e3e: 00cb lsls r3, r1, #3 8028e40: e887 0018 stmia.w r7, {r3, r4} fptr = (FSIZE_t) FirstMeas + cf; 8028e44: 4b33 ldr r3, [pc, #204] ; (8028f14 ) 8028e46: 681b ldr r3, [r3, #0] 8028e48: 4619 mov r1, r3 8028e4a: f04f 0200 mov.w r2, #0 8028e4e: e897 0018 ldmia.w r7, {r3, r4} 8028e52: 185b adds r3, r3, r1 8028e54: eb44 0402 adc.w r4, r4, r2 8028e58: e9c7 3402 strd r3, r4, [r7, #8] if(fptr > f_size(&F)) { 8028e5c: 4b2b ldr r3, [pc, #172] ; (8028f0c ) 8028e5e: e9d3 1204 ldrd r1, r2, [r3, #16] 8028e62: e9d7 3402 ldrd r3, r4, [r7, #8] 8028e66: 42a2 cmp r2, r4 8028e68: bf08 it eq 8028e6a: 4299 cmpeq r1, r3 8028e6c: d20c bcs.n 8028e88 fptr = f_size(&F) - (PlayingState.FrameSize << 3); 8028e6e: 4b27 ldr r3, [pc, #156] ; (8028f0c ) 8028e70: e9d3 1204 ldrd r1, r2, [r3, #16] 8028e74: 4b26 ldr r3, [pc, #152] ; (8028f10 ) 8028e76: 689b ldr r3, [r3, #8] 8028e78: 00db lsls r3, r3, #3 8028e7a: f04f 0400 mov.w r4, #0 8028e7e: 1acb subs r3, r1, r3 8028e80: eb62 0404 sbc.w r4, r2, r4 8028e84: e9c7 3402 strd r3, r4, [r7, #8] } res = f_lseek(&F, fptr); 8028e88: e9d7 2302 ldrd r2, r3, [r7, #8] 8028e8c: 481f ldr r0, [pc, #124] ; (8028f0c ) 8028e8e: f09d fe7f bl 80c6b90 8028e92: 4603 mov r3, r0 8028e94: 75fb strb r3, [r7, #23] if(res == FR_OK) 8028e96: 7dfb ldrb r3, [r7, #23] 8028e98: 2b00 cmp r3, #0 8028e9a: d115 bne.n 8028ec8 { res = SeekFileGTR(); 8028e9c: f000 f840 bl 8028f20 8028ea0: 4603 mov r3, r0 8028ea2: 75fb strb r3, [r7, #23] if(res == FR_OK) 8028ea4: 7dfb ldrb r3, [r7, #23] 8028ea6: 2b00 cmp r3, #0 8028ea8: d101 bne.n 8028eae { return FR_OK; 8028eaa: 2300 movs r3, #0 8028eac: e026 b.n 8028efc } else { f_close(&F); 8028eae: 4817 ldr r0, [pc, #92] ; (8028f0c ) 8028eb0: f09d fe4e bl 80c6b50 memcpy((void *) &pardata, (void *) &pardata_old, sizeof(pardata)); 8028eb4: 4a18 ldr r2, [pc, #96] ; (8028f18 ) 8028eb6: 4b19 ldr r3, [pc, #100] ; (8028f1c ) 8028eb8: 4610 mov r0, r2 8028eba: 4619 mov r1, r3 8028ebc: f44f 6396 mov.w r3, #1200 ; 0x4b0 8028ec0: 461a mov r2, r3 8028ec2: f0a4 f8b6 bl 80cd032 if(res == FR_OK) 8028ec6: e018 b.n 8028efa } } else { f_close(&F); 8028ec8: 4810 ldr r0, [pc, #64] ; (8028f0c ) 8028eca: f09d fe41 bl 80c6b50 memcpy((void *) &pardata, (void *) &pardata_old, sizeof(pardata)); 8028ece: 4a12 ldr r2, [pc, #72] ; (8028f18 ) 8028ed0: 4b12 ldr r3, [pc, #72] ; (8028f1c ) 8028ed2: 4610 mov r0, r2 8028ed4: 4619 mov r1, r3 8028ed6: f44f 6396 mov.w r3, #1200 ; 0x4b0 8028eda: 461a mov r2, r3 8028edc: f0a4 f8a9 bl 80cd032 if(res == FR_OK) 8028ee0: e00b b.n 8028efa } } else { f_close(&F); 8028ee2: 480a ldr r0, [pc, #40] ; (8028f0c ) 8028ee4: f09d fe34 bl 80c6b50 memcpy((void *) &pardata, (void *) &pardata_old, sizeof(pardata)); 8028ee8: 4a0b ldr r2, [pc, #44] ; (8028f18 ) 8028eea: 4b0c ldr r3, [pc, #48] ; (8028f1c ) 8028eec: 4610 mov r0, r2 8028eee: 4619 mov r1, r3 8028ef0: f44f 6396 mov.w r3, #1200 ; 0x4b0 8028ef4: 461a mov r2, r3 8028ef6: f0a4 f89c bl 80cd032 } } return res; 8028efa: 7dfb ldrb r3, [r7, #23] } 8028efc: 4618 mov r0, r3 8028efe: 371c adds r7, #28 8028f00: 46bd mov sp, r7 8028f02: bdf0 pop {r4, r5, r6, r7, pc} 8028f04: 2002164c .word 0x2002164c 8028f08: 20020030 .word 0x20020030 8028f0c: 20022e20 .word 0x20022e20 8028f10: 200228d8 .word 0x200228d8 8028f14: 20020dd8 .word 0x20020dd8 8028f18: 20023e60 .word 0x20023e60 8028f1c: 2002437c .word 0x2002437c 08028f20 : FRESULT SeekFileGTR(void) { 8028f20: e92d 43b0 stmdb sp!, {r4, r5, r7, r8, r9, lr} 8028f24: b088 sub sp, #32 8028f26: af00 add r7, sp, #0 FRESULT res = FR_OK; 8028f28: 2300 movs r3, #0 8028f2a: 77fb strb r3, [r7, #31] FSIZE_t fptr; FSIZE_t NumRead; UINT fk, i; float32_t fl; if(CardState != MSD_READY) { 8028f2c: 4ba1 ldr r3, [pc, #644] ; (80291b4 ) 8028f2e: 781b ldrb r3, [r3, #0] 8028f30: b2db uxtb r3, r3 8028f32: 2b03 cmp r3, #3 8028f34: d001 beq.n 8028f3a return FR_NOT_READY; 8028f36: 2303 movs r3, #3 8028f38: e136 b.n 80291a8 } arm_fill_f32(0.0f, (float32_t *) &SD_Buff, 8192); 8028f3a: f44f 5100 mov.w r1, #8192 ; 0x2000 8028f3e: 489e ldr r0, [pc, #632] ; (80291b8 ) 8028f40: ed9f 0a9e vldr s0, [pc, #632] ; 80291bc 8028f44: f0a0 fede bl 80c9d04 if(NUM_CHANNELS == 1) 8028f48: 4b9d ldr r3, [pc, #628] ; (80291c0 ) 8028f4a: 681b ldr r3, [r3, #0] 8028f4c: 2b01 cmp r3, #1 8028f4e: d179 bne.n 8029044 { if(PlayingState.CurrentFrame < PlayingState.NumFrames) 8028f50: 4b9c ldr r3, [pc, #624] ; (80291c4 ) 8028f52: 681a ldr r2, [r3, #0] 8028f54: 4b9b ldr r3, [pc, #620] ; (80291c4 ) 8028f56: 685b ldr r3, [r3, #4] 8028f58: 429a cmp r2, r3 8028f5a: f080 8124 bcs.w 80291a6 { fptr = f_tell(&F); 8028f5e: 4b9a ldr r3, [pc, #616] ; (80291c8 ) 8028f60: e9d3 340e ldrd r3, r4, [r3, #56] ; 0x38 8028f64: e9c7 3404 strd r3, r4, [r7, #16] NumRead = (f_size(&F) - fptr) >> 2; 8028f68: 4b97 ldr r3, [pc, #604] ; (80291c8 ) 8028f6a: e9d3 1204 ldrd r1, r2, [r3, #16] 8028f6e: e9d7 3404 ldrd r3, r4, [r7, #16] 8028f72: 1acb subs r3, r1, r3 8028f74: eb62 0404 sbc.w r4, r2, r4 8028f78: ea4f 0893 mov.w r8, r3, lsr #2 8028f7c: ea48 7884 orr.w r8, r8, r4, lsl #30 8028f80: ea4f 0994 mov.w r9, r4, lsr #2 8028f84: e9c7 8902 strd r8, r9, [r7, #8] if(NumRead) 8028f88: e9d7 3402 ldrd r3, r4, [r7, #8] 8028f8c: 4323 orrs r3, r4 8028f8e: d055 beq.n 802903c { if(NumRead >= PlayingState.FrameSize) 8028f90: 4b8c ldr r3, [pc, #560] ; (80291c4 ) 8028f92: 689b ldr r3, [r3, #8] 8028f94: f04f 0400 mov.w r4, #0 8028f98: e9d7 1202 ldrd r1, r2, [r7, #8] 8028f9c: 42a2 cmp r2, r4 8028f9e: bf08 it eq 8028fa0: 4299 cmpeq r1, r3 8028fa2: d30a bcc.n 8028fba res = f_read(&F, (void *) &SD_Buff, (PlayingState.FrameSize << 2), &fk); 8028fa4: 4b87 ldr r3, [pc, #540] ; (80291c4 ) 8028fa6: 689b ldr r3, [r3, #8] 8028fa8: 009a lsls r2, r3, #2 8028faa: 1d3b adds r3, r7, #4 8028fac: 4982 ldr r1, [pc, #520] ; (80291b8 ) 8028fae: 4886 ldr r0, [pc, #536] ; (80291c8 ) 8028fb0: f09d f9e7 bl 80c6382 8028fb4: 4603 mov r3, r0 8028fb6: 77fb strb r3, [r7, #31] 8028fb8: e008 b.n 8028fcc else res = f_read(&F, (void *) &SD_Buff, (NumRead << 2), &fk); 8028fba: 68bb ldr r3, [r7, #8] 8028fbc: 009a lsls r2, r3, #2 8028fbe: 1d3b adds r3, r7, #4 8028fc0: 497d ldr r1, [pc, #500] ; (80291b8 ) 8028fc2: 4881 ldr r0, [pc, #516] ; (80291c8 ) 8028fc4: f09d f9dd bl 80c6382 8028fc8: 4603 mov r3, r0 8028fca: 77fb strb r3, [r7, #31] if(res == FR_OK) 8028fcc: 7ffb ldrb r3, [r7, #31] 8028fce: 2b00 cmp r3, #0 8028fd0: f040 80e9 bne.w 80291a6 { fl = 1000 / PlayingState.Sensitivity; 8028fd4: 4b7b ldr r3, [pc, #492] ; (80291c4 ) 8028fd6: ed93 7a08 vldr s14, [r3, #32] 8028fda: eddf 6a7c vldr s13, [pc, #496] ; 80291cc 8028fde: eec6 7a87 vdiv.f32 s15, s13, s14 8028fe2: edc7 7a00 vstr s15, [r7] arm_scale_f32((float32_t *) &SD_Buff, fl, (float32_t *) &SD_Buff, PlayingState.FrameSize); 8028fe6: edd7 7a00 vldr s15, [r7] 8028fea: 4b76 ldr r3, [pc, #472] ; (80291c4 ) 8028fec: 689b ldr r3, [r3, #8] 8028fee: 461a mov r2, r3 8028ff0: 4971 ldr r1, [pc, #452] ; (80291b8 ) 8028ff2: eeb0 0a67 vmov.f32 s0, s15 8028ff6: 4870 ldr r0, [pc, #448] ; (80291b8 ) 8028ff8: f0a1 fb8a bl 80ca710 arm_copy_f32((float32_t *) &SD_Buff, pScrA_f32, PlayingState.FrameSize); 8028ffc: 4b71 ldr r3, [pc, #452] ; (80291c4 ) 8028ffe: 689b ldr r3, [r3, #8] 8029000: 461a mov r2, r3 8029002: 4973 ldr r1, [pc, #460] ; (80291d0 ) 8029004: 486c ldr r0, [pc, #432] ; (80291b8 ) 8029006: f0a0 fe9b bl 80c9d40 if(PlayingState.State == PLAYING) { 802900a: 4b6e ldr r3, [pc, #440] ; (80291c4 ) 802900c: 6a5b ldr r3, [r3, #36] ; 0x24 802900e: 2b01 cmp r3, #1 8029010: d104 bne.n 802901c PlayingState.CurrentFrame++; 8029012: 4b6c ldr r3, [pc, #432] ; (80291c4 ) 8029014: 681b ldr r3, [r3, #0] 8029016: 3301 adds r3, #1 8029018: 4a6a ldr r2, [pc, #424] ; (80291c4 ) 802901a: 6013 str r3, [r2, #0] } if(PlayingState.CurrentFrame >= PlayingState.NumFrames) 802901c: 4b69 ldr r3, [pc, #420] ; (80291c4 ) 802901e: 681a ldr r2, [r3, #0] 8029020: 4b68 ldr r3, [pc, #416] ; (80291c4 ) 8029022: 685b ldr r3, [r3, #4] 8029024: 429a cmp r2, r3 8029026: f0c0 80be bcc.w 80291a6 { if(PlayingState.State == PLAYING) { 802902a: 4b66 ldr r3, [pc, #408] ; (80291c4 ) 802902c: 6a5b ldr r3, [r3, #36] ; 0x24 802902e: 2b01 cmp r3, #1 8029030: f040 80b9 bne.w 80291a6 PlayingState.State = STOPPED; 8029034: 4b63 ldr r3, [pc, #396] ; (80291c4 ) 8029036: 2200 movs r2, #0 8029038: 625a str r2, [r3, #36] ; 0x24 802903a: e0b4 b.n 80291a6 } } } else { PlayingState.State = STOPPED; 802903c: 4b61 ldr r3, [pc, #388] ; (80291c4 ) 802903e: 2200 movs r2, #0 8029040: 625a str r2, [r3, #36] ; 0x24 8029042: e0b0 b.n 80291a6 } } } else if(NUM_CHANNELS == 2) 8029044: 4b5e ldr r3, [pc, #376] ; (80291c0 ) 8029046: 681b ldr r3, [r3, #0] 8029048: 2b02 cmp r3, #2 802904a: f040 80ac bne.w 80291a6 { if(PlayingState.CurrentFrame < PlayingState.NumFrames) 802904e: 4b5d ldr r3, [pc, #372] ; (80291c4 ) 8029050: 681a ldr r2, [r3, #0] 8029052: 4b5c ldr r3, [pc, #368] ; (80291c4 ) 8029054: 685b ldr r3, [r3, #4] 8029056: 429a cmp r2, r3 8029058: f080 80a5 bcs.w 80291a6 { fptr = f_tell(&F); 802905c: 4b5a ldr r3, [pc, #360] ; (80291c8 ) 802905e: e9d3 230e ldrd r2, r3, [r3, #56] ; 0x38 8029062: e9c7 2304 strd r2, r3, [r7, #16] NumRead = (f_size(&F) - fptr) >> 3; 8029066: 4b58 ldr r3, [pc, #352] ; (80291c8 ) 8029068: e9d3 0104 ldrd r0, r1, [r3, #16] 802906c: e9d7 2304 ldrd r2, r3, [r7, #16] 8029070: 1a82 subs r2, r0, r2 8029072: eb61 0303 sbc.w r3, r1, r3 8029076: 08d4 lsrs r4, r2, #3 8029078: ea44 7443 orr.w r4, r4, r3, lsl #29 802907c: 08dd lsrs r5, r3, #3 802907e: e9c7 4502 strd r4, r5, [r7, #8] if(NumRead) 8029082: e9d7 3402 ldrd r3, r4, [r7, #8] 8029086: 4323 orrs r3, r4 8029088: f000 808a beq.w 80291a0 { if(NumRead >= PlayingState.FrameSize) 802908c: 4b4d ldr r3, [pc, #308] ; (80291c4 ) 802908e: 689b ldr r3, [r3, #8] 8029090: f04f 0400 mov.w r4, #0 8029094: e9d7 1202 ldrd r1, r2, [r7, #8] 8029098: 42a2 cmp r2, r4 802909a: bf08 it eq 802909c: 4299 cmpeq r1, r3 802909e: d30a bcc.n 80290b6 res = f_read(&F, (void *) &SD_Buff, (PlayingState.FrameSize << 3), &fk); 80290a0: 4b48 ldr r3, [pc, #288] ; (80291c4 ) 80290a2: 689b ldr r3, [r3, #8] 80290a4: 00da lsls r2, r3, #3 80290a6: 1d3b adds r3, r7, #4 80290a8: 4943 ldr r1, [pc, #268] ; (80291b8 ) 80290aa: 4847 ldr r0, [pc, #284] ; (80291c8 ) 80290ac: f09d f969 bl 80c6382 80290b0: 4603 mov r3, r0 80290b2: 77fb strb r3, [r7, #31] 80290b4: e008 b.n 80290c8 else res = f_read(&F, (void *) &SD_Buff, (NumRead << 3), &fk); 80290b6: 68bb ldr r3, [r7, #8] 80290b8: 00da lsls r2, r3, #3 80290ba: 1d3b adds r3, r7, #4 80290bc: 493e ldr r1, [pc, #248] ; (80291b8 ) 80290be: 4842 ldr r0, [pc, #264] ; (80291c8 ) 80290c0: f09d f95f bl 80c6382 80290c4: 4603 mov r3, r0 80290c6: 77fb strb r3, [r7, #31] if(res == FR_OK) 80290c8: 7ffb ldrb r3, [r7, #31] 80290ca: 2b00 cmp r3, #0 80290cc: d16b bne.n 80291a6 { for(i = 0; i < 4096; i++) 80290ce: 2300 movs r3, #0 80290d0: 61bb str r3, [r7, #24] 80290d2: e01b b.n 802910c { A_Buff_f32(i) = SD_Buff[i << 1].fl; 80290d4: 69bb ldr r3, [r7, #24] 80290d6: 009a lsls r2, r3, #2 80290d8: 4b3e ldr r3, [pc, #248] ; (80291d4 ) 80290da: 4413 add r3, r2 80290dc: 4619 mov r1, r3 80290de: 69bb ldr r3, [r7, #24] 80290e0: 005b lsls r3, r3, #1 80290e2: 4a35 ldr r2, [pc, #212] ; (80291b8 ) 80290e4: 009b lsls r3, r3, #2 80290e6: 4413 add r3, r2 80290e8: 681b ldr r3, [r3, #0] 80290ea: 600b str r3, [r1, #0] V_Buff_f32(i) = SD_Buff[(i << 1) + 1].fl; 80290ec: 69bb ldr r3, [r7, #24] 80290ee: 009a lsls r2, r3, #2 80290f0: 4b39 ldr r3, [pc, #228] ; (80291d8 ) 80290f2: 4413 add r3, r2 80290f4: 4619 mov r1, r3 80290f6: 69bb ldr r3, [r7, #24] 80290f8: 005b lsls r3, r3, #1 80290fa: 3301 adds r3, #1 80290fc: 4a2e ldr r2, [pc, #184] ; (80291b8 ) 80290fe: 009b lsls r3, r3, #2 8029100: 4413 add r3, r2 8029102: 681b ldr r3, [r3, #0] 8029104: 600b str r3, [r1, #0] for(i = 0; i < 4096; i++) 8029106: 69bb ldr r3, [r7, #24] 8029108: 3301 adds r3, #1 802910a: 61bb str r3, [r7, #24] 802910c: 69bb ldr r3, [r7, #24] 802910e: f5b3 5f80 cmp.w r3, #4096 ; 0x1000 8029112: d3df bcc.n 80290d4 } fl = 1000 / PlayingState.Sensitivity; 8029114: 4b2b ldr r3, [pc, #172] ; (80291c4 ) 8029116: ed93 7a08 vldr s14, [r3, #32] 802911a: eddf 6a2c vldr s13, [pc, #176] ; 80291cc 802911e: eec6 7a87 vdiv.f32 s15, s13, s14 8029122: edc7 7a00 vstr s15, [r7] arm_scale_f32((float32_t *) &A_Buff_f32(0), fl, (float32_t *) &A_Buff_f32(0), PlayingState.FrameSize); 8029126: edd7 7a00 vldr s15, [r7] 802912a: 4b26 ldr r3, [pc, #152] ; (80291c4 ) 802912c: 689b ldr r3, [r3, #8] 802912e: 461a mov r2, r3 8029130: 4928 ldr r1, [pc, #160] ; (80291d4 ) 8029132: eeb0 0a67 vmov.f32 s0, s15 8029136: 4827 ldr r0, [pc, #156] ; (80291d4 ) 8029138: f0a1 faea bl 80ca710 arm_copy_f32((float32_t *) &A_Buff_f32(0), pScrA_f32, PlayingState.FrameSize); 802913c: 4b21 ldr r3, [pc, #132] ; (80291c4 ) 802913e: 689b ldr r3, [r3, #8] 8029140: 461a mov r2, r3 8029142: 4923 ldr r1, [pc, #140] ; (80291d0 ) 8029144: 4823 ldr r0, [pc, #140] ; (80291d4 ) 8029146: f0a0 fdfb bl 80c9d40 arm_mean_f32((float32_t *) &V_Buff_f32(0), PlayingState.FrameSize, &fl); 802914a: 4b1e ldr r3, [pc, #120] ; (80291c4 ) 802914c: 689b ldr r3, [r3, #8] 802914e: 463a mov r2, r7 8029150: 4619 mov r1, r3 8029152: 4821 ldr r0, [pc, #132] ; (80291d8 ) 8029154: f0a0 ff7c bl 80ca050 arm_offset_f32((float32_t *) &V_Buff_f32(0), -fl, (float32_t *) pScrB_f32, PlayingState.FrameSize); 8029158: edd7 7a00 vldr s15, [r7] 802915c: eef1 7a67 vneg.f32 s15, s15 8029160: 4b18 ldr r3, [pc, #96] ; (80291c4 ) 8029162: 689b ldr r3, [r3, #8] 8029164: 461a mov r2, r3 8029166: 491d ldr r1, [pc, #116] ; (80291dc ) 8029168: eeb0 0a67 vmov.f32 s0, s15 802916c: 481a ldr r0, [pc, #104] ; (80291d8 ) 802916e: f0a1 fb05 bl 80ca77c if(PlayingState.State == PLAYING) { 8029172: 4b14 ldr r3, [pc, #80] ; (80291c4 ) 8029174: 6a5b ldr r3, [r3, #36] ; 0x24 8029176: 2b01 cmp r3, #1 8029178: d104 bne.n 8029184 PlayingState.CurrentFrame++; 802917a: 4b12 ldr r3, [pc, #72] ; (80291c4 ) 802917c: 681b ldr r3, [r3, #0] 802917e: 3301 adds r3, #1 8029180: 4a10 ldr r2, [pc, #64] ; (80291c4 ) 8029182: 6013 str r3, [r2, #0] } if(PlayingState.CurrentFrame >= PlayingState.NumFrames) 8029184: 4b0f ldr r3, [pc, #60] ; (80291c4 ) 8029186: 681a ldr r2, [r3, #0] 8029188: 4b0e ldr r3, [pc, #56] ; (80291c4 ) 802918a: 685b ldr r3, [r3, #4] 802918c: 429a cmp r2, r3 802918e: d30a bcc.n 80291a6 { if(PlayingState.State == PLAYING) { 8029190: 4b0c ldr r3, [pc, #48] ; (80291c4 ) 8029192: 6a5b ldr r3, [r3, #36] ; 0x24 8029194: 2b01 cmp r3, #1 8029196: d106 bne.n 80291a6 PlayingState.State = STOPPED; 8029198: 4b0a ldr r3, [pc, #40] ; (80291c4 ) 802919a: 2200 movs r2, #0 802919c: 625a str r2, [r3, #36] ; 0x24 802919e: e002 b.n 80291a6 } } } else { PlayingState.State = STOPPED; 80291a0: 4b08 ldr r3, [pc, #32] ; (80291c4 ) 80291a2: 2200 movs r2, #0 80291a4: 625a str r2, [r3, #36] ; 0x24 } } } return res; 80291a6: 7ffb ldrb r3, [r7, #31] } 80291a8: 4618 mov r0, r3 80291aa: 3720 adds r7, #32 80291ac: 46bd mov sp, r7 80291ae: e8bd 83b0 ldmia.w sp!, {r4, r5, r7, r8, r9, pc} 80291b2: bf00 nop 80291b4: 2002164c .word 0x2002164c 80291b8: 20000000 .word 0x20000000 80291bc: 00000000 .word 0x00000000 80291c0: 20020030 .word 0x20020030 80291c4: 200228d8 .word 0x200228d8 80291c8: 20022e20 .word 0x20022e20 80291cc: 447a0000 .word 0x447a0000 80291d0: 64080000 .word 0x64080000 80291d4: 64090000 .word 0x64090000 80291d8: 64094000 .word 0x64094000 80291dc: 640b0000 .word 0x640b0000 080291e0 : FRESULT WriteFilePTM(char* fname) { 80291e0: b5f0 push {r4, r5, r6, r7, lr} 80291e2: b091 sub sp, #68 ; 0x44 80291e4: af00 add r7, sp, #0 80291e6: 6078 str r0, [r7, #4] FRESULT res = FR_OK; 80291e8: 2300 movs r3, #0 80291ea: f887 303f strb.w r3, [r7, #63] ; 0x3f uint16_t IM, IP; UINT fk; FSIZE_t ifs; if(CardState != MSD_READY) { 80291ee: 4b97 ldr r3, [pc, #604] ; (802944c ) 80291f0: 781b ldrb r3, [r3, #0] 80291f2: b2db uxtb r3, r3 80291f4: 2b03 cmp r3, #3 80291f6: d002 beq.n 80291fe return FR_NOT_READY; 80291f8: 2303 movs r3, #3 80291fa: f000 bd3a b.w 8029c72 } if(strcmp(fname, "") == 0) { 80291fe: 687b ldr r3, [r7, #4] 8029200: 781b ldrb r3, [r3, #0] 8029202: 2b00 cmp r3, #0 8029204: d102 bne.n 802920c return FR_INVALID_NAME; 8029206: 2306 movs r3, #6 8029208: f000 bd33 b.w 8029c72 } if(res == FR_OK) 802920c: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 8029210: 2b00 cmp r3, #0 8029212: f040 852c bne.w 8029c6e { memset(FileName, 0, sizeof(FileName)); 8029216: 2228 movs r2, #40 ; 0x28 8029218: 2100 movs r1, #0 802921a: 488d ldr r0, [pc, #564] ; (8029450 ) 802921c: f0a3 ff14 bl 80cd048 strcpy(FileName, fname); 8029220: 6879 ldr r1, [r7, #4] 8029222: 488b ldr r0, [pc, #556] ; (8029450 ) 8029224: f0a4 f82d bl 80cd282 memset(PointPath, 0, sizeof(PointPath)); 8029228: f44f 7200 mov.w r2, #512 ; 0x200 802922c: 2100 movs r1, #0 802922e: 4889 ldr r0, [pc, #548] ; (8029454 ) 8029230: f0a3 ff0a bl 80cd048 memset(SearchPath, 0, sizeof(SearchPath)); 8029234: f44f 7200 mov.w r2, #512 ; 0x200 8029238: 2100 movs r1, #0 802923a: 4887 ldr r0, [pc, #540] ; (8029458 ) 802923c: f0a3 ff04 bl 80cd048 SearchPath[0] = '0'; 8029240: 4b85 ldr r3, [pc, #532] ; (8029458 ) 8029242: 2230 movs r2, #48 ; 0x30 8029244: 701a strb r2, [r3, #0] SearchPath[1] = ':'; 8029246: 4b84 ldr r3, [pc, #528] ; (8029458 ) 8029248: 223a movs r2, #58 ; 0x3a 802924a: 705a strb r2, [r3, #1] ScanMode = GET_PATH_TO_FILE; 802924c: 4b83 ldr r3, [pc, #524] ; (802945c ) 802924e: 2209 movs r2, #9 8029250: 701a strb r2, [r3, #0] FlagReturn = false; 8029252: 4b83 ldr r3, [pc, #524] ; (8029460 ) 8029254: 2200 movs r2, #0 8029256: 701a strb r2, [r3, #0] ScanFiles(SearchPath, 0); 8029258: 2100 movs r1, #0 802925a: 487f ldr r0, [pc, #508] ; (8029458 ) 802925c: f002 fb26 bl 802b8ac if(PointPath[0] == 0) 8029260: 4b7c ldr r3, [pc, #496] ; (8029454 ) 8029262: 781b ldrb r3, [r3, #0] 8029264: 2b00 cmp r3, #0 8029266: d104 bne.n 8029272 { res = FR_NO_FILE; 8029268: 2304 movs r3, #4 802926a: f887 303f strb.w r3, [r7, #63] ; 0x3f 802926e: f000 bcfe b.w 8029c6e } else { res = f_open(&F, PointPath, FA_READ | FA_WRITE); 8029272: 2203 movs r2, #3 8029274: 4977 ldr r1, [pc, #476] ; (8029454 ) 8029276: 487b ldr r0, [pc, #492] ; (8029464 ) 8029278: f09c fe26 bl 80c5ec8 802927c: 4603 mov r3, r0 802927e: f887 303f strb.w r3, [r7, #63] ; 0x3f if((res == FR_NO_FILE) || (res == FR_NO_PATH)) 8029282: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 8029286: 2b04 cmp r3, #4 8029288: d003 beq.n 8029292 802928a: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 802928e: 2b05 cmp r3, #5 8029290: d107 bne.n 80292a2 res = f_open(&F, PointPath, FA_CREATE_ALWAYS | FA_OPEN_ALWAYS | FA_WRITE | FA_READ); 8029292: 221b movs r2, #27 8029294: 496f ldr r1, [pc, #444] ; (8029454 ) 8029296: 4873 ldr r0, [pc, #460] ; (8029464 ) 8029298: f09c fe16 bl 80c5ec8 802929c: 4603 mov r3, r0 802929e: f887 303f strb.w r3, [r7, #63] ; 0x3f if(res == FR_OK) 80292a2: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 80292a6: 2b00 cmp r3, #0 80292a8: f040 84e1 bne.w 8029c6e { memset(sector, 0xff, sizeof(sector)); 80292ac: f44f 7200 mov.w r2, #512 ; 0x200 80292b0: 21ff movs r1, #255 ; 0xff 80292b2: 486d ldr r0, [pc, #436] ; (8029468 ) 80292b4: f0a3 fec8 bl 80cd048 IM = (uint16_t) NextIndexMeas; 80292b8: 4b6c ldr r3, [pc, #432] ; (802946c ) 80292ba: 681b ldr r3, [r3, #0] 80292bc: 85fb strh r3, [r7, #46] ; 0x2e if(f_size(&F) == 0) 80292be: 4b69 ldr r3, [pc, #420] ; (8029464 ) 80292c0: e9d3 3404 ldrd r3, r4, [r3, #16] 80292c4: 4323 orrs r3, r4 80292c6: f040 819a bne.w 80295fe { ////////////////////// Ñîçäàåì øàïêó ôàéëà //////////////////////// memset(sector, 0, sizeof(sector)); 80292ca: f44f 7200 mov.w r2, #512 ; 0x200 80292ce: 2100 movs r1, #0 80292d0: 4865 ldr r0, [pc, #404] ; (8029468 ) 80292d2: f0a3 feb9 bl 80cd048 strcpy((char *) sector, "Extend"); 80292d6: 4b64 ldr r3, [pc, #400] ; (8029468 ) 80292d8: 4a65 ldr r2, [pc, #404] ; (8029470 ) 80292da: e892 0003 ldmia.w r2, {r0, r1} 80292de: 6018 str r0, [r3, #0] 80292e0: 3304 adds r3, #4 80292e2: 8019 strh r1, [r3, #0] 80292e4: 3302 adds r3, #2 80292e6: 0c0a lsrs r2, r1, #16 80292e8: 701a strb r2, [r3, #0] res = f_write(&F, sector, 96, &fk); 80292ea: f107 030c add.w r3, r7, #12 80292ee: 2260 movs r2, #96 ; 0x60 80292f0: 495d ldr r1, [pc, #372] ; (8029468 ) 80292f2: 485c ldr r0, [pc, #368] ; (8029464 ) 80292f4: f09d f988 bl 80c6608 80292f8: 4603 mov r3, r0 80292fa: f887 303f strb.w r3, [r7, #63] ; 0x3f if((res == FR_OK) && (fk == 96)) 80292fe: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 8029302: 2b00 cmp r3, #0 8029304: f040 8082 bne.w 802940c 8029308: 68fb ldr r3, [r7, #12] 802930a: 2b60 cmp r3, #96 ; 0x60 802930c: d17e bne.n 802940c { memset(sector, 0, sizeof(sector)); 802930e: f44f 7200 mov.w r2, #512 ; 0x200 8029312: 2100 movs r1, #0 8029314: 4854 ldr r0, [pc, #336] ; (8029468 ) 8029316: f0a3 fe97 bl 80cd048 for(i = 0; i < 8; i++) 802931a: 2300 movs r3, #0 802931c: 63bb str r3, [r7, #56] ; 0x38 802931e: e01b b.n 8029358 { res = f_write(&F, sector, 500, &fk); 8029320: f107 030c add.w r3, r7, #12 8029324: f44f 72fa mov.w r2, #500 ; 0x1f4 8029328: 494f ldr r1, [pc, #316] ; (8029468 ) 802932a: 484e ldr r0, [pc, #312] ; (8029464 ) 802932c: f09d f96c bl 80c6608 8029330: 4603 mov r3, r0 8029332: f887 303f strb.w r3, [r7, #63] ; 0x3f if((res != FR_OK) || (fk != 500)) 8029336: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 802933a: 2b00 cmp r3, #0 802933c: d103 bne.n 8029346 802933e: 68fb ldr r3, [r7, #12] 8029340: f5b3 7ffa cmp.w r3, #500 ; 0x1f4 8029344: d005 beq.n 8029352 { f_close(&F); 8029346: 4847 ldr r0, [pc, #284] ; (8029464 ) 8029348: f09d fc02 bl 80c6b50 return FR_DISK_ERR; 802934c: 2301 movs r3, #1 802934e: f000 bc90 b.w 8029c72 for(i = 0; i < 8; i++) 8029352: 6bbb ldr r3, [r7, #56] ; 0x38 8029354: 3301 adds r3, #1 8029356: 63bb str r3, [r7, #56] ; 0x38 8029358: 6bbb ldr r3, [r7, #56] ; 0x38 802935a: 2b07 cmp r3, #7 802935c: d9e0 bls.n 8029320 } } memcpy(sector, Comment, sizeof(Comment)); 802935e: 4b42 ldr r3, [pc, #264] ; (8029468 ) 8029360: 4a44 ldr r2, [pc, #272] ; (8029474 ) 8029362: 4614 mov r4, r2 8029364: 461e mov r6, r3 8029366: f104 0e20 add.w lr, r4, #32 802936a: 4635 mov r5, r6 802936c: 4623 mov r3, r4 802936e: 6818 ldr r0, [r3, #0] 8029370: 6859 ldr r1, [r3, #4] 8029372: 689a ldr r2, [r3, #8] 8029374: 68db ldr r3, [r3, #12] 8029376: c50f stmia r5!, {r0, r1, r2, r3} 8029378: 3410 adds r4, #16 802937a: 3610 adds r6, #16 802937c: 4574 cmp r4, lr 802937e: d1f4 bne.n 802936a 8029380: 4633 mov r3, r6 8029382: 4622 mov r2, r4 8029384: 6810 ldr r0, [r2, #0] 8029386: 6851 ldr r1, [r2, #4] 8029388: c303 stmia r3!, {r0, r1} ifs = 96u + (NextIndexPoint * sizeof(Comment)); 802938a: 4b3b ldr r3, [pc, #236] ; (8029478 ) 802938c: 681a ldr r2, [r3, #0] 802938e: 4613 mov r3, r2 8029390: 009b lsls r3, r3, #2 8029392: 4413 add r3, r2 8029394: 00db lsls r3, r3, #3 8029396: 3360 adds r3, #96 ; 0x60 8029398: f04f 0400 mov.w r4, #0 802939c: e9c7 340c strd r3, r4, [r7, #48] ; 0x30 if(f_lseek(&F, ifs) == FR_OK) 80293a0: e9d7 230c ldrd r2, r3, [r7, #48] ; 0x30 80293a4: 482f ldr r0, [pc, #188] ; (8029464 ) 80293a6: f09d fbf3 bl 80c6b90 80293aa: 4603 mov r3, r0 80293ac: 2b00 cmp r3, #0 80293ae: d127 bne.n 8029400 { res = f_write(&F, sector, sizeof(Comment), &fk); 80293b0: f107 030c add.w r3, r7, #12 80293b4: 2228 movs r2, #40 ; 0x28 80293b6: 492c ldr r1, [pc, #176] ; (8029468 ) 80293b8: 482a ldr r0, [pc, #168] ; (8029464 ) 80293ba: f09d f925 bl 80c6608 80293be: 4603 mov r3, r0 80293c0: f887 303f strb.w r3, [r7, #63] ; 0x3f if((res != FR_OK) || (fk != sizeof(Comment))) 80293c4: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 80293c8: 2b00 cmp r3, #0 80293ca: d102 bne.n 80293d2 80293cc: 68fb ldr r3, [r7, #12] 80293ce: 2b28 cmp r3, #40 ; 0x28 80293d0: d005 beq.n 80293de { f_close(&F); 80293d2: 4824 ldr r0, [pc, #144] ; (8029464 ) 80293d4: f09d fbbc bl 80c6b50 return FR_DISK_ERR; 80293d8: 2301 movs r3, #1 80293da: f000 bc4a b.w 8029c72 } ifs = 96u + (NUM_POINTS * sizeof(Comment)); 80293de: f649 43a0 movw r3, #40096 ; 0x9ca0 80293e2: f04f 0400 mov.w r4, #0 80293e6: e9c7 340c strd r3, r4, [r7, #48] ; 0x30 if(f_lseek(&F, ifs) == FR_OK) 80293ea: bf00 nop f_close(&F); return FR_DISK_ERR; } ////////////////////////////////////////////////////////////////// if(f_lseek(&F, ifs) == FR_OK) 80293ec: e9d7 230c ldrd r2, r3, [r7, #48] ; 0x30 80293f0: 481c ldr r0, [pc, #112] ; (8029464 ) 80293f2: f09d fbcd bl 80c6b90 80293f6: 4603 mov r3, r0 80293f8: 2b00 cmp r3, #0 80293fa: f040 80fb bne.w 80295f4 80293fe: e00b b.n 8029418 f_close(&F); 8029400: 4818 ldr r0, [pc, #96] ; (8029464 ) 8029402: f09d fba5 bl 80c6b50 return FR_DISK_ERR; 8029406: 2301 movs r3, #1 8029408: f000 bc33 b.w 8029c72 f_close(&F); 802940c: 4815 ldr r0, [pc, #84] ; (8029464 ) 802940e: f09d fb9f bl 80c6b50 return FR_DISK_ERR; 8029412: 2301 movs r3, #1 8029414: f000 bc2d b.w 8029c72 { IP = (uint16_t) NextIndexPoint; 8029418: 4b17 ldr r3, [pc, #92] ; (8029478 ) 802941a: 681b ldr r3, [r3, #0] 802941c: 85bb strh r3, [r7, #44] ; 0x2c sector[ePoint] = LO(IP); 802941e: 8dbb ldrh r3, [r7, #44] ; 0x2c 8029420: b2da uxtb r2, r3 8029422: 4b11 ldr r3, [pc, #68] ; (8029468 ) 8029424: 701a strb r2, [r3, #0] sector[ePoint + 1] = HI(IP); 8029426: 8dbb ldrh r3, [r7, #44] ; 0x2c 8029428: 0a1b lsrs r3, r3, #8 802942a: b29b uxth r3, r3 802942c: b2da uxtb r2, r3 802942e: 4b0e ldr r3, [pc, #56] ; (8029468 ) 8029430: 705a strb r2, [r3, #1] sector[eMeas] = LO(IM); 8029432: 8dfb ldrh r3, [r7, #46] ; 0x2e 8029434: b2da uxtb r2, r3 8029436: 4b0c ldr r3, [pc, #48] ; (8029468 ) 8029438: 709a strb r2, [r3, #2] sector[eMeas + 1] = HI(IM); 802943a: 8dfb ldrh r3, [r7, #46] ; 0x2e 802943c: 0a1b lsrs r3, r3, #8 802943e: b29b uxth r3, r3 8029440: b2da uxtb r2, r3 8029442: 4b09 ldr r3, [pc, #36] ; (8029468 ) 8029444: 70da strb r2, [r3, #3] for(i = 0; i < 4; i++) 8029446: 2300 movs r3, #0 8029448: 63bb str r3, [r7, #56] ; 0x38 802944a: e041 b.n 80294d0 802944c: 2002164c .word 0x2002164c 8029450: 20022bb8 .word 0x20022bb8 8029454: 200229b4 .word 0x200229b4 8029458: 20021d80 .word 0x20021d80 802945c: 20020ddf .word 0x20020ddf 8029460: 20020dde .word 0x20020dde 8029464: 20022e20 .word 0x20022e20 8029468: 2007c000 .word 0x2007c000 802946c: 20022310 .word 0x20022310 8029470: 080ce494 .word 0x080ce494 8029474: 20022650 .word 0x20022650 8029478: 20021f9c .word 0x20021f9c { sector[eAval + i] = FileData.Aval.ch[i]; 802947c: 6bbb ldr r3, [r7, #56] ; 0x38 802947e: 3304 adds r3, #4 8029480: 499f ldr r1, [pc, #636] ; (8029700 ) 8029482: 6bba ldr r2, [r7, #56] ; 0x38 8029484: 440a add r2, r1 8029486: 7812 ldrb r2, [r2, #0] 8029488: b2d1 uxtb r1, r2 802948a: 4a9e ldr r2, [pc, #632] ; (8029704 ) 802948c: 54d1 strb r1, [r2, r3] sector[eVval + i] = FileData.Vval.ch[i]; 802948e: 6bbb ldr r3, [r7, #56] ; 0x38 8029490: 3308 adds r3, #8 8029492: 499b ldr r1, [pc, #620] ; (8029700 ) 8029494: 6bba ldr r2, [r7, #56] ; 0x38 8029496: 440a add r2, r1 8029498: 3204 adds r2, #4 802949a: 7812 ldrb r2, [r2, #0] 802949c: b2d1 uxtb r1, r2 802949e: 4a99 ldr r2, [pc, #612] ; (8029704 ) 80294a0: 54d1 strb r1, [r2, r3] sector[eSval + i] = FileData.Sval.ch[i]; 80294a2: 6bbb ldr r3, [r7, #56] ; 0x38 80294a4: 330c adds r3, #12 80294a6: 4996 ldr r1, [pc, #600] ; (8029700 ) 80294a8: 6bba ldr r2, [r7, #56] ; 0x38 80294aa: 440a add r2, r1 80294ac: 3208 adds r2, #8 80294ae: 7812 ldrb r2, [r2, #0] 80294b0: b2d1 uxtb r1, r2 80294b2: 4a94 ldr r2, [pc, #592] ; (8029704 ) 80294b4: 54d1 strb r1, [r2, r3] sector[eFval + i] = FileData.Fval.ch[i]; 80294b6: 6bbb ldr r3, [r7, #56] ; 0x38 80294b8: 3317 adds r3, #23 80294ba: 4991 ldr r1, [pc, #580] ; (8029700 ) 80294bc: 6bba ldr r2, [r7, #56] ; 0x38 80294be: 440a add r2, r1 80294c0: 320c adds r2, #12 80294c2: 7812 ldrb r2, [r2, #0] 80294c4: b2d1 uxtb r1, r2 80294c6: 4a8f ldr r2, [pc, #572] ; (8029704 ) 80294c8: 54d1 strb r1, [r2, r3] for(i = 0; i < 4; i++) 80294ca: 6bbb ldr r3, [r7, #56] ; 0x38 80294cc: 3301 adds r3, #1 80294ce: 63bb str r3, [r7, #56] ; 0x38 80294d0: 6bbb ldr r3, [r7, #56] ; 0x38 80294d2: 2b03 cmp r3, #3 80294d4: d9d2 bls.n 802947c } sector[eAivs] = FileData.Aivs; 80294d6: 4b8a ldr r3, [pc, #552] ; (8029700 ) 80294d8: f893 302c ldrb.w r3, [r3, #44] ; 0x2c 80294dc: b2da uxtb r2, r3 80294de: 4b89 ldr r3, [pc, #548] ; (8029704 ) 80294e0: 751a strb r2, [r3, #20] sector[eVivs] = FileData.Vivs; 80294e2: 4b87 ldr r3, [pc, #540] ; (8029700 ) 80294e4: f893 302d ldrb.w r3, [r3, #45] ; 0x2d 80294e8: b2da uxtb r2, r3 80294ea: 4b86 ldr r3, [pc, #536] ; (8029704 ) 80294ec: 755a strb r2, [r3, #21] sector[eSivs] = FileData.Sivs; 80294ee: 4b84 ldr r3, [pc, #528] ; (8029700 ) 80294f0: f893 302e ldrb.w r3, [r3, #46] ; 0x2e 80294f4: b2da uxtb r2, r3 80294f6: 4b83 ldr r3, [pc, #524] ; (8029704 ) 80294f8: 759a strb r2, [r3, #22] Day = FileData.Date.Date; 80294fa: 4b81 ldr r3, [pc, #516] ; (8029700 ) 80294fc: f893 302a ldrb.w r3, [r3, #42] ; 0x2a 8029500: b2db uxtb r3, r3 8029502: 62bb str r3, [r7, #40] ; 0x28 Month = FileData.Date.Month; 8029504: 4b7e ldr r3, [pc, #504] ; (8029700 ) 8029506: f893 3029 ldrb.w r3, [r3, #41] ; 0x29 802950a: b2db uxtb r3, r3 802950c: 627b str r3, [r7, #36] ; 0x24 Year = FileData.Date.Year + 2000; 802950e: 4b7c ldr r3, [pc, #496] ; (8029700 ) 8029510: f893 302b ldrb.w r3, [r3, #43] ; 0x2b 8029514: b2db uxtb r3, r3 8029516: f503 63fa add.w r3, r3, #2000 ; 0x7d0 802951a: 623b str r3, [r7, #32] Hour = FileData.Time.Hours; 802951c: 4b78 ldr r3, [pc, #480] ; (8029700 ) 802951e: 7c1b ldrb r3, [r3, #16] 8029520: b2db uxtb r3, r3 8029522: 61fb str r3, [r7, #28] Min = FileData.Time.Minutes; 8029524: 4b76 ldr r3, [pc, #472] ; (8029700 ) 8029526: 7c5b ldrb r3, [r3, #17] 8029528: b2db uxtb r3, r3 802952a: 61bb str r3, [r7, #24] Sec = FileData.Time.Seconds; 802952c: 4b74 ldr r3, [pc, #464] ; (8029700 ) 802952e: 7c9b ldrb r3, [r3, #18] 8029530: b2db uxtb r3, r3 8029532: 617b str r3, [r7, #20] DateTime = ((Year - 1980) << 25) | (Month << 21) | (Day << 16) | (Hour << 11) | (Min << 5) | (Sec >> 1); 8029534: 6a3b ldr r3, [r7, #32] 8029536: f2a3 73bc subw r3, r3, #1980 ; 0x7bc 802953a: 065a lsls r2, r3, #25 802953c: 6a7b ldr r3, [r7, #36] ; 0x24 802953e: 055b lsls r3, r3, #21 8029540: 431a orrs r2, r3 8029542: 6abb ldr r3, [r7, #40] ; 0x28 8029544: 041b lsls r3, r3, #16 8029546: 431a orrs r2, r3 8029548: 69fb ldr r3, [r7, #28] 802954a: 02db lsls r3, r3, #11 802954c: 431a orrs r2, r3 802954e: 69bb ldr r3, [r7, #24] 8029550: 015b lsls r3, r3, #5 8029552: 431a orrs r2, r3 8029554: 697b ldr r3, [r7, #20] 8029556: 085b lsrs r3, r3, #1 8029558: 4313 orrs r3, r2 802955a: 613b str r3, [r7, #16] sector[eDateTime] = (uint8_t) (DateTime & 0xff); 802955c: 693b ldr r3, [r7, #16] 802955e: b2da uxtb r2, r3 8029560: 4b68 ldr r3, [pc, #416] ; (8029704 ) 8029562: 741a strb r2, [r3, #16] sector[eDateTime + 1] = (uint8_t) ((DateTime >> 8) & 0xff); 8029564: 693b ldr r3, [r7, #16] 8029566: 0a1b lsrs r3, r3, #8 8029568: b2da uxtb r2, r3 802956a: 4b66 ldr r3, [pc, #408] ; (8029704 ) 802956c: 745a strb r2, [r3, #17] sector[eDateTime + 2] = (uint8_t) ((DateTime >> 16) & 0xff); 802956e: 693b ldr r3, [r7, #16] 8029570: 0c1b lsrs r3, r3, #16 8029572: b2da uxtb r2, r3 8029574: 4b63 ldr r3, [pc, #396] ; (8029704 ) 8029576: 749a strb r2, [r3, #18] sector[eDateTime + 3] = (uint8_t) ((DateTime >> 24) & 0xff); 8029578: 693b ldr r3, [r7, #16] 802957a: 0e1b lsrs r3, r3, #24 802957c: b2da uxtb r2, r3 802957e: 4b61 ldr r3, [pc, #388] ; (8029704 ) 8029580: 74da strb r2, [r3, #19] sector[e13] = 0xD; 8029582: 4b60 ldr r3, [pc, #384] ; (8029704 ) 8029584: 220d movs r2, #13 8029586: 76da strb r2, [r3, #27] sector[e10] = 0xA; 8029588: 4b5e ldr r3, [pc, #376] ; (8029704 ) 802958a: 220a movs r2, #10 802958c: 771a strb r2, [r3, #28] res = f_write(&F, sector, 29, &fk); 802958e: f107 030c add.w r3, r7, #12 8029592: 221d movs r2, #29 8029594: 495b ldr r1, [pc, #364] ; (8029704 ) 8029596: 485c ldr r0, [pc, #368] ; (8029708 ) 8029598: f09d f836 bl 80c6608 802959c: 4603 mov r3, r0 802959e: f887 303f strb.w r3, [r7, #63] ; 0x3f if((res == FR_OK) && (fk == 29)) 80295a2: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 80295a6: 2b00 cmp r3, #0 80295a8: d11f bne.n 80295ea 80295aa: 68fb ldr r3, [r7, #12] 80295ac: 2b1d cmp r3, #29 80295ae: d11c bne.n 80295ea { f_close(&F); 80295b0: 4855 ldr r0, [pc, #340] ; (8029708 ) 80295b2: f09d facd bl 80c6b50 if(IndexMeas[NextIndexPoint] < 999) 80295b6: 4b55 ldr r3, [pc, #340] ; (802970c ) 80295b8: 681b ldr r3, [r3, #0] 80295ba: 4a55 ldr r2, [pc, #340] ; (8029710 ) 80295bc: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80295c0: f240 32e6 movw r2, #998 ; 0x3e6 80295c4: 4293 cmp r3, r2 80295c6: d808 bhi.n 80295da IndexMeas[NextIndexPoint]++; 80295c8: 4b50 ldr r3, [pc, #320] ; (802970c ) 80295ca: 681b ldr r3, [r3, #0] 80295cc: 4a50 ldr r2, [pc, #320] ; (8029710 ) 80295ce: f852 2023 ldr.w r2, [r2, r3, lsl #2] 80295d2: 3201 adds r2, #1 80295d4: 494e ldr r1, [pc, #312] ; (8029710 ) 80295d6: f841 2023 str.w r2, [r1, r3, lsl #2] NextIndexMeas = IndexMeas[NextIndexPoint]; 80295da: 4b4c ldr r3, [pc, #304] ; (802970c ) 80295dc: 681b ldr r3, [r3, #0] 80295de: 4a4c ldr r2, [pc, #304] ; (8029710 ) 80295e0: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80295e4: 4a4b ldr r2, [pc, #300] ; (8029714 ) 80295e6: 6013 str r3, [r2, #0] 80295e8: e341 b.n 8029c6e NextIndexPoint++; else NextIndexPoint = 0;*/ } else { f_close(&F); 80295ea: 4847 ldr r0, [pc, #284] ; (8029708 ) 80295ec: f09d fab0 bl 80c6b50 return FR_DISK_ERR; 80295f0: 2301 movs r3, #1 80295f2: e33e b.n 8029c72 } } else { f_close(&F); 80295f4: 4844 ldr r0, [pc, #272] ; (8029708 ) 80295f6: f09d faab bl 80c6b50 return FR_DISK_ERR; 80295fa: 2301 movs r3, #1 80295fc: e339 b.n 8029c72 } } else if(NextIndexMeas == IndexMeas[NextIndexPoint]) 80295fe: 4b43 ldr r3, [pc, #268] ; (802970c ) 8029600: 681b ldr r3, [r3, #0] 8029602: 4a43 ldr r2, [pc, #268] ; (8029710 ) 8029604: f852 2023 ldr.w r2, [r2, r3, lsl #2] 8029608: 4b42 ldr r3, [pc, #264] ; (8029714 ) 802960a: 681b ldr r3, [r3, #0] 802960c: 429a cmp r2, r3 802960e: f040 816f bne.w 80298f0 { /////////////////////////////////////////////////////////////////////////////// res = f_lseek(&F, 0); 8029612: f04f 0200 mov.w r2, #0 8029616: f04f 0300 mov.w r3, #0 802961a: 483b ldr r0, [pc, #236] ; (8029708 ) 802961c: f09d fab8 bl 80c6b90 8029620: 4603 mov r3, r0 8029622: f887 303f strb.w r3, [r7, #63] ; 0x3f if(res == FR_OK) 8029626: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 802962a: 2b00 cmp r3, #0 802962c: d163 bne.n 80296f6 { res = f_read(&F, sector, 6, &fk); 802962e: f107 030c add.w r3, r7, #12 8029632: 2206 movs r2, #6 8029634: 4933 ldr r1, [pc, #204] ; (8029704 ) 8029636: 4834 ldr r0, [pc, #208] ; (8029708 ) 8029638: f09c fea3 bl 80c6382 802963c: 4603 mov r3, r0 802963e: f887 303f strb.w r3, [r7, #63] ; 0x3f if((res == FR_OK) && (fk == 6)) 8029642: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 8029646: 2b00 cmp r3, #0 8029648: d150 bne.n 80296ec 802964a: 68fb ldr r3, [r7, #12] 802964c: 2b06 cmp r3, #6 802964e: d14d bne.n 80296ec { sector[6] = '\0'; 8029650: 4b2c ldr r3, [pc, #176] ; (8029704 ) 8029652: 2200 movs r2, #0 8029654: 719a strb r2, [r3, #6] if(!strcmp((char *) sector, "Extend")) 8029656: 4930 ldr r1, [pc, #192] ; (8029718 ) 8029658: 482a ldr r0, [pc, #168] ; (8029704 ) 802965a: f7f6 fe51 bl 8020300 802965e: 4603 mov r3, r0 8029660: 2b00 cmp r3, #0 8029662: d15d bne.n 8029720 { memcpy(sector, Comment, sizeof(Comment)); 8029664: 4b27 ldr r3, [pc, #156] ; (8029704 ) 8029666: 4a2d ldr r2, [pc, #180] ; (802971c ) 8029668: 4614 mov r4, r2 802966a: 461e mov r6, r3 802966c: f104 0e20 add.w lr, r4, #32 8029670: 4635 mov r5, r6 8029672: 4623 mov r3, r4 8029674: 6818 ldr r0, [r3, #0] 8029676: 6859 ldr r1, [r3, #4] 8029678: 689a ldr r2, [r3, #8] 802967a: 68db ldr r3, [r3, #12] 802967c: c50f stmia r5!, {r0, r1, r2, r3} 802967e: 3410 adds r4, #16 8029680: 3610 adds r6, #16 8029682: 4574 cmp r4, lr 8029684: d1f4 bne.n 8029670 8029686: 4633 mov r3, r6 8029688: 4622 mov r2, r4 802968a: 6810 ldr r0, [r2, #0] 802968c: 6851 ldr r1, [r2, #4] 802968e: c303 stmia r3!, {r0, r1} ifs = 96u + (NextIndexPoint * sizeof(Comment)); 8029690: 4b1e ldr r3, [pc, #120] ; (802970c ) 8029692: 681a ldr r2, [r3, #0] 8029694: 4613 mov r3, r2 8029696: 009b lsls r3, r3, #2 8029698: 4413 add r3, r2 802969a: 00db lsls r3, r3, #3 802969c: 3360 adds r3, #96 ; 0x60 802969e: f04f 0400 mov.w r4, #0 80296a2: e9c7 340c strd r3, r4, [r7, #48] ; 0x30 if(f_lseek(&F, ifs) == FR_OK) 80296a6: e9d7 230c ldrd r2, r3, [r7, #48] ; 0x30 80296aa: 4817 ldr r0, [pc, #92] ; (8029708 ) 80296ac: f09d fa70 bl 80c6b90 80296b0: 4603 mov r3, r0 80296b2: 2b00 cmp r3, #0 80296b4: d115 bne.n 80296e2 { res = f_write(&F, sector, sizeof(Comment), &fk); 80296b6: f107 030c add.w r3, r7, #12 80296ba: 2228 movs r2, #40 ; 0x28 80296bc: 4911 ldr r1, [pc, #68] ; (8029704 ) 80296be: 4812 ldr r0, [pc, #72] ; (8029708 ) 80296c0: f09c ffa2 bl 80c6608 80296c4: 4603 mov r3, r0 80296c6: f887 303f strb.w r3, [r7, #63] ; 0x3f if((res != FR_OK) || (fk != sizeof(Comment))) 80296ca: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 80296ce: 2b00 cmp r3, #0 80296d0: d102 bne.n 80296d8 80296d2: 68fb ldr r3, [r7, #12] 80296d4: 2b28 cmp r3, #40 ; 0x28 80296d6: d023 beq.n 8029720 { f_close(&F); 80296d8: 480b ldr r0, [pc, #44] ; (8029708 ) 80296da: f09d fa39 bl 80c6b50 return FR_DISK_ERR; 80296de: 2301 movs r3, #1 80296e0: e2c7 b.n 8029c72 } } else { f_close(&F); 80296e2: 4809 ldr r0, [pc, #36] ; (8029708 ) 80296e4: f09d fa34 bl 80c6b50 return FR_DISK_ERR; 80296e8: 2301 movs r3, #1 80296ea: e2c2 b.n 8029c72 } } } else { f_close(&F); 80296ec: 4806 ldr r0, [pc, #24] ; (8029708 ) 80296ee: f09d fa2f bl 80c6b50 return FR_DISK_ERR; 80296f2: 2301 movs r3, #1 80296f4: e2bd b.n 8029c72 } } else { f_close(&F); 80296f6: 4804 ldr r0, [pc, #16] ; (8029708 ) 80296f8: f09d fa2a bl 80c6b50 return FR_DISK_ERR; 80296fc: 2301 movs r3, #1 80296fe: e2b8 b.n 8029c72 8029700: 20022984 .word 0x20022984 8029704: 2007c000 .word 0x2007c000 8029708: 20022e20 .word 0x20022e20 802970c: 20021f9c .word 0x20021f9c 8029710: 20022ea0 .word 0x20022ea0 8029714: 20022310 .word 0x20022310 8029718: 080ce494 .word 0x080ce494 802971c: 20022650 .word 0x20022650 if(!strcmp((char *) sector, "Extend")) 8029720: bf00 nop } /////////////////////////////////////////////////////////////////////////////// if(f_lseek(&F, f_size(&F)) == FR_OK) 8029722: 4baf ldr r3, [pc, #700] ; (80299e0 ) 8029724: e9d3 3404 ldrd r3, r4, [r3, #16] 8029728: 461a mov r2, r3 802972a: 4623 mov r3, r4 802972c: 48ac ldr r0, [pc, #688] ; (80299e0 ) 802972e: f09d fa2f bl 80c6b90 8029732: 4603 mov r3, r0 8029734: 2b00 cmp r3, #0 8029736: f040 80d6 bne.w 80298e6 { IP = (uint16_t) NextIndexPoint; 802973a: 4baa ldr r3, [pc, #680] ; (80299e4 ) 802973c: 681b ldr r3, [r3, #0] 802973e: 85bb strh r3, [r7, #44] ; 0x2c sector[ePoint] = LO(IP); 8029740: 8dbb ldrh r3, [r7, #44] ; 0x2c 8029742: b2da uxtb r2, r3 8029744: 4ba8 ldr r3, [pc, #672] ; (80299e8 ) 8029746: 701a strb r2, [r3, #0] sector[ePoint + 1] = HI(IP); 8029748: 8dbb ldrh r3, [r7, #44] ; 0x2c 802974a: 0a1b lsrs r3, r3, #8 802974c: b29b uxth r3, r3 802974e: b2da uxtb r2, r3 8029750: 4ba5 ldr r3, [pc, #660] ; (80299e8 ) 8029752: 705a strb r2, [r3, #1] sector[eMeas] = LO(IM); 8029754: 8dfb ldrh r3, [r7, #46] ; 0x2e 8029756: b2da uxtb r2, r3 8029758: 4ba3 ldr r3, [pc, #652] ; (80299e8 ) 802975a: 709a strb r2, [r3, #2] sector[eMeas + 1] = HI(IM); 802975c: 8dfb ldrh r3, [r7, #46] ; 0x2e 802975e: 0a1b lsrs r3, r3, #8 8029760: b29b uxth r3, r3 8029762: b2da uxtb r2, r3 8029764: 4ba0 ldr r3, [pc, #640] ; (80299e8 ) 8029766: 70da strb r2, [r3, #3] for(i = 0; i < 4; i++) 8029768: 2300 movs r3, #0 802976a: 63bb str r3, [r7, #56] ; 0x38 802976c: e029 b.n 80297c2 { sector[eAval + i] = FileData.Aval.ch[i]; 802976e: 6bbb ldr r3, [r7, #56] ; 0x38 8029770: 3304 adds r3, #4 8029772: 499e ldr r1, [pc, #632] ; (80299ec ) 8029774: 6bba ldr r2, [r7, #56] ; 0x38 8029776: 440a add r2, r1 8029778: 7812 ldrb r2, [r2, #0] 802977a: b2d1 uxtb r1, r2 802977c: 4a9a ldr r2, [pc, #616] ; (80299e8 ) 802977e: 54d1 strb r1, [r2, r3] sector[eVval + i] = FileData.Vval.ch[i]; 8029780: 6bbb ldr r3, [r7, #56] ; 0x38 8029782: 3308 adds r3, #8 8029784: 4999 ldr r1, [pc, #612] ; (80299ec ) 8029786: 6bba ldr r2, [r7, #56] ; 0x38 8029788: 440a add r2, r1 802978a: 3204 adds r2, #4 802978c: 7812 ldrb r2, [r2, #0] 802978e: b2d1 uxtb r1, r2 8029790: 4a95 ldr r2, [pc, #596] ; (80299e8 ) 8029792: 54d1 strb r1, [r2, r3] sector[eSval + i] = FileData.Sval.ch[i]; 8029794: 6bbb ldr r3, [r7, #56] ; 0x38 8029796: 330c adds r3, #12 8029798: 4994 ldr r1, [pc, #592] ; (80299ec ) 802979a: 6bba ldr r2, [r7, #56] ; 0x38 802979c: 440a add r2, r1 802979e: 3208 adds r2, #8 80297a0: 7812 ldrb r2, [r2, #0] 80297a2: b2d1 uxtb r1, r2 80297a4: 4a90 ldr r2, [pc, #576] ; (80299e8 ) 80297a6: 54d1 strb r1, [r2, r3] sector[eFval + i] = FileData.Fval.ch[i]; 80297a8: 6bbb ldr r3, [r7, #56] ; 0x38 80297aa: 3317 adds r3, #23 80297ac: 498f ldr r1, [pc, #572] ; (80299ec ) 80297ae: 6bba ldr r2, [r7, #56] ; 0x38 80297b0: 440a add r2, r1 80297b2: 320c adds r2, #12 80297b4: 7812 ldrb r2, [r2, #0] 80297b6: b2d1 uxtb r1, r2 80297b8: 4a8b ldr r2, [pc, #556] ; (80299e8 ) 80297ba: 54d1 strb r1, [r2, r3] for(i = 0; i < 4; i++) 80297bc: 6bbb ldr r3, [r7, #56] ; 0x38 80297be: 3301 adds r3, #1 80297c0: 63bb str r3, [r7, #56] ; 0x38 80297c2: 6bbb ldr r3, [r7, #56] ; 0x38 80297c4: 2b03 cmp r3, #3 80297c6: d9d2 bls.n 802976e } sector[eAivs] = FileData.Aivs; 80297c8: 4b88 ldr r3, [pc, #544] ; (80299ec ) 80297ca: f893 302c ldrb.w r3, [r3, #44] ; 0x2c 80297ce: b2da uxtb r2, r3 80297d0: 4b85 ldr r3, [pc, #532] ; (80299e8 ) 80297d2: 751a strb r2, [r3, #20] sector[eVivs] = FileData.Vivs; 80297d4: 4b85 ldr r3, [pc, #532] ; (80299ec ) 80297d6: f893 302d ldrb.w r3, [r3, #45] ; 0x2d 80297da: b2da uxtb r2, r3 80297dc: 4b82 ldr r3, [pc, #520] ; (80299e8 ) 80297de: 755a strb r2, [r3, #21] sector[eSivs] = FileData.Sivs; 80297e0: 4b82 ldr r3, [pc, #520] ; (80299ec ) 80297e2: f893 302e ldrb.w r3, [r3, #46] ; 0x2e 80297e6: b2da uxtb r2, r3 80297e8: 4b7f ldr r3, [pc, #508] ; (80299e8 ) 80297ea: 759a strb r2, [r3, #22] Day = FileData.Date.Date; 80297ec: 4b7f ldr r3, [pc, #508] ; (80299ec ) 80297ee: f893 302a ldrb.w r3, [r3, #42] ; 0x2a 80297f2: b2db uxtb r3, r3 80297f4: 62bb str r3, [r7, #40] ; 0x28 Month = FileData.Date.Month; 80297f6: 4b7d ldr r3, [pc, #500] ; (80299ec ) 80297f8: f893 3029 ldrb.w r3, [r3, #41] ; 0x29 80297fc: b2db uxtb r3, r3 80297fe: 627b str r3, [r7, #36] ; 0x24 Year = FileData.Date.Year + 2000; 8029800: 4b7a ldr r3, [pc, #488] ; (80299ec ) 8029802: f893 302b ldrb.w r3, [r3, #43] ; 0x2b 8029806: b2db uxtb r3, r3 8029808: f503 63fa add.w r3, r3, #2000 ; 0x7d0 802980c: 623b str r3, [r7, #32] Hour = FileData.Time.Hours; 802980e: 4b77 ldr r3, [pc, #476] ; (80299ec ) 8029810: 7c1b ldrb r3, [r3, #16] 8029812: b2db uxtb r3, r3 8029814: 61fb str r3, [r7, #28] Min = FileData.Time.Minutes; 8029816: 4b75 ldr r3, [pc, #468] ; (80299ec ) 8029818: 7c5b ldrb r3, [r3, #17] 802981a: b2db uxtb r3, r3 802981c: 61bb str r3, [r7, #24] Sec = FileData.Time.Seconds; 802981e: 4b73 ldr r3, [pc, #460] ; (80299ec ) 8029820: 7c9b ldrb r3, [r3, #18] 8029822: b2db uxtb r3, r3 8029824: 617b str r3, [r7, #20] DateTime = ((Year - 1980) << 25) | (Month << 21) | (Day << 16) | (Hour << 11) | (Min << 5) | (Sec >> 1); 8029826: 6a3b ldr r3, [r7, #32] 8029828: f2a3 73bc subw r3, r3, #1980 ; 0x7bc 802982c: 065a lsls r2, r3, #25 802982e: 6a7b ldr r3, [r7, #36] ; 0x24 8029830: 055b lsls r3, r3, #21 8029832: 431a orrs r2, r3 8029834: 6abb ldr r3, [r7, #40] ; 0x28 8029836: 041b lsls r3, r3, #16 8029838: 431a orrs r2, r3 802983a: 69fb ldr r3, [r7, #28] 802983c: 02db lsls r3, r3, #11 802983e: 431a orrs r2, r3 8029840: 69bb ldr r3, [r7, #24] 8029842: 015b lsls r3, r3, #5 8029844: 431a orrs r2, r3 8029846: 697b ldr r3, [r7, #20] 8029848: 085b lsrs r3, r3, #1 802984a: 4313 orrs r3, r2 802984c: 613b str r3, [r7, #16] sector[eDateTime] = (uint8_t) (DateTime & 0xff); 802984e: 693b ldr r3, [r7, #16] 8029850: b2da uxtb r2, r3 8029852: 4b65 ldr r3, [pc, #404] ; (80299e8 ) 8029854: 741a strb r2, [r3, #16] sector[eDateTime + 1] = (uint8_t) ((DateTime >> 8) & 0xff); 8029856: 693b ldr r3, [r7, #16] 8029858: 0a1b lsrs r3, r3, #8 802985a: b2da uxtb r2, r3 802985c: 4b62 ldr r3, [pc, #392] ; (80299e8 ) 802985e: 745a strb r2, [r3, #17] sector[eDateTime + 2] = (uint8_t) ((DateTime >> 16) & 0xff); 8029860: 693b ldr r3, [r7, #16] 8029862: 0c1b lsrs r3, r3, #16 8029864: b2da uxtb r2, r3 8029866: 4b60 ldr r3, [pc, #384] ; (80299e8 ) 8029868: 749a strb r2, [r3, #18] sector[eDateTime + 3] = (uint8_t) ((DateTime >> 24) & 0xff); 802986a: 693b ldr r3, [r7, #16] 802986c: 0e1b lsrs r3, r3, #24 802986e: b2da uxtb r2, r3 8029870: 4b5d ldr r3, [pc, #372] ; (80299e8 ) 8029872: 74da strb r2, [r3, #19] sector[e13] = 0xD; 8029874: 4b5c ldr r3, [pc, #368] ; (80299e8 ) 8029876: 220d movs r2, #13 8029878: 76da strb r2, [r3, #27] sector[e10] = 0xA; 802987a: 4b5b ldr r3, [pc, #364] ; (80299e8 ) 802987c: 220a movs r2, #10 802987e: 771a strb r2, [r3, #28] res = f_write(&F, sector, 29, &fk); 8029880: f107 030c add.w r3, r7, #12 8029884: 221d movs r2, #29 8029886: 4958 ldr r1, [pc, #352] ; (80299e8 ) 8029888: 4855 ldr r0, [pc, #340] ; (80299e0 ) 802988a: f09c febd bl 80c6608 802988e: 4603 mov r3, r0 8029890: f887 303f strb.w r3, [r7, #63] ; 0x3f if((res == FR_OK) && (fk == 29)) 8029894: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 8029898: 2b00 cmp r3, #0 802989a: d11f bne.n 80298dc 802989c: 68fb ldr r3, [r7, #12] 802989e: 2b1d cmp r3, #29 80298a0: d11c bne.n 80298dc { f_close(&F); 80298a2: 484f ldr r0, [pc, #316] ; (80299e0 ) 80298a4: f09d f954 bl 80c6b50 if(IndexMeas[NextIndexPoint] < 999) 80298a8: 4b4e ldr r3, [pc, #312] ; (80299e4 ) 80298aa: 681b ldr r3, [r3, #0] 80298ac: 4a50 ldr r2, [pc, #320] ; (80299f0 ) 80298ae: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80298b2: f240 32e6 movw r2, #998 ; 0x3e6 80298b6: 4293 cmp r3, r2 80298b8: d808 bhi.n 80298cc IndexMeas[NextIndexPoint]++; 80298ba: 4b4a ldr r3, [pc, #296] ; (80299e4 ) 80298bc: 681b ldr r3, [r3, #0] 80298be: 4a4c ldr r2, [pc, #304] ; (80299f0 ) 80298c0: f852 2023 ldr.w r2, [r2, r3, lsl #2] 80298c4: 3201 adds r2, #1 80298c6: 494a ldr r1, [pc, #296] ; (80299f0 ) 80298c8: f841 2023 str.w r2, [r1, r3, lsl #2] NextIndexMeas = IndexMeas[NextIndexPoint]; 80298cc: 4b45 ldr r3, [pc, #276] ; (80299e4 ) 80298ce: 681b ldr r3, [r3, #0] 80298d0: 4a47 ldr r2, [pc, #284] ; (80299f0 ) 80298d2: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80298d6: 4a47 ldr r2, [pc, #284] ; (80299f4 ) 80298d8: 6013 str r3, [r2, #0] 80298da: e1c8 b.n 8029c6e NextIndexPoint++; else NextIndexPoint = 0;*/ } else { f_close(&F); 80298dc: 4840 ldr r0, [pc, #256] ; (80299e0 ) 80298de: f09d f937 bl 80c6b50 return FR_DISK_ERR; 80298e2: 2301 movs r3, #1 80298e4: e1c5 b.n 8029c72 } } else { f_close(&F); 80298e6: 483e ldr r0, [pc, #248] ; (80299e0 ) 80298e8: f09d f932 bl 80c6b50 return FR_DISK_ERR; 80298ec: 2301 movs r3, #1 80298ee: e1c0 b.n 8029c72 } } else { /////////////////////////////////////////////////////////////////////////////// res = f_lseek(&F, 0); 80298f0: f04f 0200 mov.w r2, #0 80298f4: f04f 0300 mov.w r3, #0 80298f8: 4839 ldr r0, [pc, #228] ; (80299e0 ) 80298fa: f09d f949 bl 80c6b90 80298fe: 4603 mov r3, r0 8029900: f887 303f strb.w r3, [r7, #63] ; 0x3f if(res == FR_OK) 8029904: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 8029908: 2b00 cmp r3, #0 802990a: f040 8083 bne.w 8029a14 { res = f_read(&F, sector, 6, &fk); 802990e: f107 030c add.w r3, r7, #12 8029912: 2206 movs r2, #6 8029914: 4934 ldr r1, [pc, #208] ; (80299e8 ) 8029916: 4832 ldr r0, [pc, #200] ; (80299e0 ) 8029918: f09c fd33 bl 80c6382 802991c: 4603 mov r3, r0 802991e: f887 303f strb.w r3, [r7, #63] ; 0x3f if((res == FR_OK) && (fk == 6)) 8029922: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 8029926: 2b00 cmp r3, #0 8029928: d16f bne.n 8029a0a 802992a: 68fb ldr r3, [r7, #12] 802992c: 2b06 cmp r3, #6 802992e: d16c bne.n 8029a0a { sector[6] = '\0'; 8029930: 4b2d ldr r3, [pc, #180] ; (80299e8 ) 8029932: 2200 movs r2, #0 8029934: 719a strb r2, [r3, #6] if(strcmp((char *) sector, "Extend")) 8029936: 4930 ldr r1, [pc, #192] ; (80299f8 ) 8029938: 482b ldr r0, [pc, #172] ; (80299e8 ) 802993a: f7f6 fce1 bl 8020300 802993e: 4603 mov r3, r0 8029940: 2b00 cmp r3, #0 8029942: d006 beq.n 8029952 { //Ñòàðàÿ âåðñèÿ ôàéëà ifs = 0; 8029944: f04f 0300 mov.w r3, #0 8029948: f04f 0400 mov.w r4, #0 802994c: e9c7 340c strd r3, r4, [r7, #48] ; 0x30 if(strcmp((char *) sector, "Extend")) 8029950: e065 b.n 8029a1e } else { //Ðàñøèðåííàÿ âåðñèÿ ôàéëà ñ êîììåíòàðèÿìè memcpy(sector, Comment, sizeof(Comment)); 8029952: 4b25 ldr r3, [pc, #148] ; (80299e8 ) 8029954: 4a29 ldr r2, [pc, #164] ; (80299fc ) 8029956: 4614 mov r4, r2 8029958: 461e mov r6, r3 802995a: f104 0e20 add.w lr, r4, #32 802995e: 4635 mov r5, r6 8029960: 4623 mov r3, r4 8029962: 6818 ldr r0, [r3, #0] 8029964: 6859 ldr r1, [r3, #4] 8029966: 689a ldr r2, [r3, #8] 8029968: 68db ldr r3, [r3, #12] 802996a: c50f stmia r5!, {r0, r1, r2, r3} 802996c: 3410 adds r4, #16 802996e: 3610 adds r6, #16 8029970: 4574 cmp r4, lr 8029972: d1f4 bne.n 802995e 8029974: 4633 mov r3, r6 8029976: 4622 mov r2, r4 8029978: 6810 ldr r0, [r2, #0] 802997a: 6851 ldr r1, [r2, #4] 802997c: c303 stmia r3!, {r0, r1} ifs = 96u + (NextIndexPoint * sizeof(Comment)); 802997e: 4b19 ldr r3, [pc, #100] ; (80299e4 ) 8029980: 681a ldr r2, [r3, #0] 8029982: 4613 mov r3, r2 8029984: 009b lsls r3, r3, #2 8029986: 4413 add r3, r2 8029988: 00db lsls r3, r3, #3 802998a: 3360 adds r3, #96 ; 0x60 802998c: f04f 0400 mov.w r4, #0 8029990: e9c7 340c strd r3, r4, [r7, #48] ; 0x30 if(f_lseek(&F, ifs) == FR_OK) 8029994: e9d7 230c ldrd r2, r3, [r7, #48] ; 0x30 8029998: 4811 ldr r0, [pc, #68] ; (80299e0 ) 802999a: f09d f8f9 bl 80c6b90 802999e: 4603 mov r3, r0 80299a0: 2b00 cmp r3, #0 80299a2: d12d bne.n 8029a00 { res = f_write(&F, sector, sizeof(Comment), &fk); 80299a4: f107 030c add.w r3, r7, #12 80299a8: 2228 movs r2, #40 ; 0x28 80299aa: 490f ldr r1, [pc, #60] ; (80299e8 ) 80299ac: 480c ldr r0, [pc, #48] ; (80299e0 ) 80299ae: f09c fe2b bl 80c6608 80299b2: 4603 mov r3, r0 80299b4: f887 303f strb.w r3, [r7, #63] ; 0x3f if((res != FR_OK) || (fk != sizeof(Comment))) 80299b8: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 80299bc: 2b00 cmp r3, #0 80299be: d102 bne.n 80299c6 80299c0: 68fb ldr r3, [r7, #12] 80299c2: 2b28 cmp r3, #40 ; 0x28 80299c4: d004 beq.n 80299d0 { f_close(&F); 80299c6: 4806 ldr r0, [pc, #24] ; (80299e0 ) 80299c8: f09d f8c2 bl 80c6b50 return FR_DISK_ERR; 80299cc: 2301 movs r3, #1 80299ce: e150 b.n 8029c72 } ifs = 96u + (NUM_POINTS * sizeof(Comment)); 80299d0: f649 43a0 movw r3, #40096 ; 0x9ca0 80299d4: f04f 0400 mov.w r4, #0 80299d8: e9c7 340c strd r3, r4, [r7, #48] ; 0x30 if(strcmp((char *) sector, "Extend")) 80299dc: e01f b.n 8029a1e 80299de: bf00 nop 80299e0: 20022e20 .word 0x20022e20 80299e4: 20021f9c .word 0x20021f9c 80299e8: 2007c000 .word 0x2007c000 80299ec: 20022984 .word 0x20022984 80299f0: 20022ea0 .word 0x20022ea0 80299f4: 20022310 .word 0x20022310 80299f8: 080ce494 .word 0x080ce494 80299fc: 20022650 .word 0x20022650 } else { f_close(&F); 8029a00: 489e ldr r0, [pc, #632] ; (8029c7c ) 8029a02: f09d f8a5 bl 80c6b50 return FR_DISK_ERR; 8029a06: 2301 movs r3, #1 8029a08: e133 b.n 8029c72 } } else { f_close(&F); 8029a0a: 489c ldr r0, [pc, #624] ; (8029c7c ) 8029a0c: f09d f8a0 bl 80c6b50 return FR_DISK_ERR; 8029a10: 2301 movs r3, #1 8029a12: e12e b.n 8029c72 } } else { f_close(&F); 8029a14: 4899 ldr r0, [pc, #612] ; (8029c7c ) 8029a16: f09d f89b bl 80c6b50 return FR_DISK_ERR; 8029a1a: 2301 movs r3, #1 8029a1c: e129 b.n 8029c72 } /////////////////////////////////////////////////////////////////////////////// while(ifs < f_size(&F)) 8029a1e: e11c b.n 8029c5a { if(f_lseek(&F, ifs) == FR_OK) 8029a20: e9d7 230c ldrd r2, r3, [r7, #48] ; 0x30 8029a24: 4895 ldr r0, [pc, #596] ; (8029c7c ) 8029a26: f09d f8b3 bl 80c6b90 8029a2a: 4603 mov r3, r0 8029a2c: 2b00 cmp r3, #0 8029a2e: f040 810f bne.w 8029c50 { res = f_read(&F, sector, 29, &fk); 8029a32: f107 030c add.w r3, r7, #12 8029a36: 221d movs r2, #29 8029a38: 4991 ldr r1, [pc, #580] ; (8029c80 ) 8029a3a: 4890 ldr r0, [pc, #576] ; (8029c7c ) 8029a3c: f09c fca1 bl 80c6382 8029a40: 4603 mov r3, r0 8029a42: f887 303f strb.w r3, [r7, #63] ; 0x3f if((res == FR_OK) && (fk == 29)) 8029a46: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 8029a4a: 2b00 cmp r3, #0 8029a4c: f040 80fb bne.w 8029c46 8029a50: 68fb ldr r3, [r7, #12] 8029a52: 2b1d cmp r3, #29 8029a54: f040 80f7 bne.w 8029c46 { if((sector[e13] == 0xD) && (sector[e10] == 0xA)) 8029a58: 4b89 ldr r3, [pc, #548] ; (8029c80 ) 8029a5a: 7edb ldrb r3, [r3, #27] 8029a5c: 2b0d cmp r3, #13 8029a5e: f040 80e4 bne.w 8029c2a 8029a62: 4b87 ldr r3, [pc, #540] ; (8029c80 ) 8029a64: 7f1b ldrb r3, [r3, #28] 8029a66: 2b0a cmp r3, #10 8029a68: f040 80df bne.w 8029c2a { IP = sector[ePoint + 1]; 8029a6c: 4b84 ldr r3, [pc, #528] ; (8029c80 ) 8029a6e: 785b ldrb r3, [r3, #1] 8029a70: 85bb strh r3, [r7, #44] ; 0x2c IP = (IP << 8) | sector[ePoint]; 8029a72: 8dbb ldrh r3, [r7, #44] ; 0x2c 8029a74: 021b lsls r3, r3, #8 8029a76: b21a sxth r2, r3 8029a78: 4b81 ldr r3, [pc, #516] ; (8029c80 ) 8029a7a: 781b ldrb r3, [r3, #0] 8029a7c: b21b sxth r3, r3 8029a7e: 4313 orrs r3, r2 8029a80: b21b sxth r3, r3 8029a82: 85bb strh r3, [r7, #44] ; 0x2c if(NextIndexPoint == IP) 8029a84: 8dba ldrh r2, [r7, #44] ; 0x2c 8029a86: 4b7f ldr r3, [pc, #508] ; (8029c84 ) 8029a88: 681b ldr r3, [r3, #0] 8029a8a: 429a cmp r2, r3 8029a8c: f040 80d2 bne.w 8029c34 { IM = sector[eMeas + 1]; 8029a90: 4b7b ldr r3, [pc, #492] ; (8029c80 ) 8029a92: 78db ldrb r3, [r3, #3] 8029a94: 85fb strh r3, [r7, #46] ; 0x2e IM = (IM << 8) | sector[eMeas]; 8029a96: 8dfb ldrh r3, [r7, #46] ; 0x2e 8029a98: 021b lsls r3, r3, #8 8029a9a: b21a sxth r2, r3 8029a9c: 4b78 ldr r3, [pc, #480] ; (8029c80 ) 8029a9e: 789b ldrb r3, [r3, #2] 8029aa0: b21b sxth r3, r3 8029aa2: 4313 orrs r3, r2 8029aa4: b21b sxth r3, r3 8029aa6: 85fb strh r3, [r7, #46] ; 0x2e if(NextIndexMeas == IM) 8029aa8: 8dfa ldrh r2, [r7, #46] ; 0x2e 8029aaa: 4b77 ldr r3, [pc, #476] ; (8029c88 ) 8029aac: 681b ldr r3, [r3, #0] 8029aae: 429a cmp r2, r3 8029ab0: f040 80c0 bne.w 8029c34 { for(i = 0; i < 4; i++) 8029ab4: 2300 movs r3, #0 8029ab6: 63bb str r3, [r7, #56] ; 0x38 8029ab8: e029 b.n 8029b0e { sector[eAval + i] = FileData.Aval.ch[i]; 8029aba: 6bbb ldr r3, [r7, #56] ; 0x38 8029abc: 3304 adds r3, #4 8029abe: 4973 ldr r1, [pc, #460] ; (8029c8c ) 8029ac0: 6bba ldr r2, [r7, #56] ; 0x38 8029ac2: 440a add r2, r1 8029ac4: 7812 ldrb r2, [r2, #0] 8029ac6: b2d1 uxtb r1, r2 8029ac8: 4a6d ldr r2, [pc, #436] ; (8029c80 ) 8029aca: 54d1 strb r1, [r2, r3] sector[eVval + i] = FileData.Vval.ch[i]; 8029acc: 6bbb ldr r3, [r7, #56] ; 0x38 8029ace: 3308 adds r3, #8 8029ad0: 496e ldr r1, [pc, #440] ; (8029c8c ) 8029ad2: 6bba ldr r2, [r7, #56] ; 0x38 8029ad4: 440a add r2, r1 8029ad6: 3204 adds r2, #4 8029ad8: 7812 ldrb r2, [r2, #0] 8029ada: b2d1 uxtb r1, r2 8029adc: 4a68 ldr r2, [pc, #416] ; (8029c80 ) 8029ade: 54d1 strb r1, [r2, r3] sector[eSval + i] = FileData.Sval.ch[i]; 8029ae0: 6bbb ldr r3, [r7, #56] ; 0x38 8029ae2: 330c adds r3, #12 8029ae4: 4969 ldr r1, [pc, #420] ; (8029c8c ) 8029ae6: 6bba ldr r2, [r7, #56] ; 0x38 8029ae8: 440a add r2, r1 8029aea: 3208 adds r2, #8 8029aec: 7812 ldrb r2, [r2, #0] 8029aee: b2d1 uxtb r1, r2 8029af0: 4a63 ldr r2, [pc, #396] ; (8029c80 ) 8029af2: 54d1 strb r1, [r2, r3] sector[eFval + i] = FileData.Fval.ch[i]; 8029af4: 6bbb ldr r3, [r7, #56] ; 0x38 8029af6: 3317 adds r3, #23 8029af8: 4964 ldr r1, [pc, #400] ; (8029c8c ) 8029afa: 6bba ldr r2, [r7, #56] ; 0x38 8029afc: 440a add r2, r1 8029afe: 320c adds r2, #12 8029b00: 7812 ldrb r2, [r2, #0] 8029b02: b2d1 uxtb r1, r2 8029b04: 4a5e ldr r2, [pc, #376] ; (8029c80 ) 8029b06: 54d1 strb r1, [r2, r3] for(i = 0; i < 4; i++) 8029b08: 6bbb ldr r3, [r7, #56] ; 0x38 8029b0a: 3301 adds r3, #1 8029b0c: 63bb str r3, [r7, #56] ; 0x38 8029b0e: 6bbb ldr r3, [r7, #56] ; 0x38 8029b10: 2b03 cmp r3, #3 8029b12: d9d2 bls.n 8029aba } sector[eAivs] = FileData.Aivs; 8029b14: 4b5d ldr r3, [pc, #372] ; (8029c8c ) 8029b16: f893 302c ldrb.w r3, [r3, #44] ; 0x2c 8029b1a: b2da uxtb r2, r3 8029b1c: 4b58 ldr r3, [pc, #352] ; (8029c80 ) 8029b1e: 751a strb r2, [r3, #20] sector[eVivs] = FileData.Vivs; 8029b20: 4b5a ldr r3, [pc, #360] ; (8029c8c ) 8029b22: f893 302d ldrb.w r3, [r3, #45] ; 0x2d 8029b26: b2da uxtb r2, r3 8029b28: 4b55 ldr r3, [pc, #340] ; (8029c80 ) 8029b2a: 755a strb r2, [r3, #21] sector[eSivs] = FileData.Sivs; 8029b2c: 4b57 ldr r3, [pc, #348] ; (8029c8c ) 8029b2e: f893 302e ldrb.w r3, [r3, #46] ; 0x2e 8029b32: b2da uxtb r2, r3 8029b34: 4b52 ldr r3, [pc, #328] ; (8029c80 ) 8029b36: 759a strb r2, [r3, #22] Day = FileData.Date.Date; 8029b38: 4b54 ldr r3, [pc, #336] ; (8029c8c ) 8029b3a: f893 302a ldrb.w r3, [r3, #42] ; 0x2a 8029b3e: b2db uxtb r3, r3 8029b40: 62bb str r3, [r7, #40] ; 0x28 Month = FileData.Date.Month; 8029b42: 4b52 ldr r3, [pc, #328] ; (8029c8c ) 8029b44: f893 3029 ldrb.w r3, [r3, #41] ; 0x29 8029b48: b2db uxtb r3, r3 8029b4a: 627b str r3, [r7, #36] ; 0x24 Year = FileData.Date.Year + 2000; 8029b4c: 4b4f ldr r3, [pc, #316] ; (8029c8c ) 8029b4e: f893 302b ldrb.w r3, [r3, #43] ; 0x2b 8029b52: b2db uxtb r3, r3 8029b54: f503 63fa add.w r3, r3, #2000 ; 0x7d0 8029b58: 623b str r3, [r7, #32] Hour = FileData.Time.Hours; 8029b5a: 4b4c ldr r3, [pc, #304] ; (8029c8c ) 8029b5c: 7c1b ldrb r3, [r3, #16] 8029b5e: b2db uxtb r3, r3 8029b60: 61fb str r3, [r7, #28] Min = FileData.Time.Minutes; 8029b62: 4b4a ldr r3, [pc, #296] ; (8029c8c ) 8029b64: 7c5b ldrb r3, [r3, #17] 8029b66: b2db uxtb r3, r3 8029b68: 61bb str r3, [r7, #24] Sec = FileData.Time.Seconds; 8029b6a: 4b48 ldr r3, [pc, #288] ; (8029c8c ) 8029b6c: 7c9b ldrb r3, [r3, #18] 8029b6e: b2db uxtb r3, r3 8029b70: 617b str r3, [r7, #20] DateTime = ((Year - 1980) << 25) | (Month << 21) | (Day << 16) | (Hour << 11) | (Min << 5) | (Sec >> 1); 8029b72: 6a3b ldr r3, [r7, #32] 8029b74: f2a3 73bc subw r3, r3, #1980 ; 0x7bc 8029b78: 065a lsls r2, r3, #25 8029b7a: 6a7b ldr r3, [r7, #36] ; 0x24 8029b7c: 055b lsls r3, r3, #21 8029b7e: 431a orrs r2, r3 8029b80: 6abb ldr r3, [r7, #40] ; 0x28 8029b82: 041b lsls r3, r3, #16 8029b84: 431a orrs r2, r3 8029b86: 69fb ldr r3, [r7, #28] 8029b88: 02db lsls r3, r3, #11 8029b8a: 431a orrs r2, r3 8029b8c: 69bb ldr r3, [r7, #24] 8029b8e: 015b lsls r3, r3, #5 8029b90: 431a orrs r2, r3 8029b92: 697b ldr r3, [r7, #20] 8029b94: 085b lsrs r3, r3, #1 8029b96: 4313 orrs r3, r2 8029b98: 613b str r3, [r7, #16] sector[eDateTime] = (uint8_t) (DateTime & 0xff); 8029b9a: 693b ldr r3, [r7, #16] 8029b9c: b2da uxtb r2, r3 8029b9e: 4b38 ldr r3, [pc, #224] ; (8029c80 ) 8029ba0: 741a strb r2, [r3, #16] sector[eDateTime + 1] = (uint8_t) ((DateTime >> 8) & 0xff); 8029ba2: 693b ldr r3, [r7, #16] 8029ba4: 0a1b lsrs r3, r3, #8 8029ba6: b2da uxtb r2, r3 8029ba8: 4b35 ldr r3, [pc, #212] ; (8029c80 ) 8029baa: 745a strb r2, [r3, #17] sector[eDateTime + 2] = (uint8_t) ((DateTime >> 16) & 0xff); 8029bac: 693b ldr r3, [r7, #16] 8029bae: 0c1b lsrs r3, r3, #16 8029bb0: b2da uxtb r2, r3 8029bb2: 4b33 ldr r3, [pc, #204] ; (8029c80 ) 8029bb4: 749a strb r2, [r3, #18] sector[eDateTime + 3] = (uint8_t) ((DateTime >> 24) & 0xff); 8029bb6: 693b ldr r3, [r7, #16] 8029bb8: 0e1b lsrs r3, r3, #24 8029bba: b2da uxtb r2, r3 8029bbc: 4b30 ldr r3, [pc, #192] ; (8029c80 ) 8029bbe: 74da strb r2, [r3, #19] sector[e13] = 0xD; 8029bc0: 4b2f ldr r3, [pc, #188] ; (8029c80 ) 8029bc2: 220d movs r2, #13 8029bc4: 76da strb r2, [r3, #27] sector[e10] = 0xA; 8029bc6: 4b2e ldr r3, [pc, #184] ; (8029c80 ) 8029bc8: 220a movs r2, #10 8029bca: 771a strb r2, [r3, #28] if(f_lseek(&F, ifs) == FR_OK) 8029bcc: e9d7 230c ldrd r2, r3, [r7, #48] ; 0x30 8029bd0: 482a ldr r0, [pc, #168] ; (8029c7c ) 8029bd2: f09c ffdd bl 80c6b90 8029bd6: 4603 mov r3, r0 8029bd8: 2b00 cmp r3, #0 8029bda: d121 bne.n 8029c20 { res = f_write(&F, sector, 29, &fk); 8029bdc: f107 030c add.w r3, r7, #12 8029be0: 221d movs r2, #29 8029be2: 4927 ldr r1, [pc, #156] ; (8029c80 ) 8029be4: 4825 ldr r0, [pc, #148] ; (8029c7c ) 8029be6: f09c fd0f bl 80c6608 8029bea: 4603 mov r3, r0 8029bec: f887 303f strb.w r3, [r7, #63] ; 0x3f if((res == FR_OK) && (fk == 29)) 8029bf0: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 8029bf4: 2b00 cmp r3, #0 8029bf6: d10e bne.n 8029c16 8029bf8: 68fb ldr r3, [r7, #12] 8029bfa: 2b1d cmp r3, #29 8029bfc: d10b bne.n 8029c16 { f_close(&F); 8029bfe: 481f ldr r0, [pc, #124] ; (8029c7c ) 8029c00: f09c ffa6 bl 80c6b50 /*if(NextIndexPoint < NUM_POINTS - 1) // TODO NextIndexPoint++; else NextIndexPoint = 0;*/ NextIndexMeas = IndexMeas[NextIndexPoint]; 8029c04: 4b1f ldr r3, [pc, #124] ; (8029c84 ) 8029c06: 681b ldr r3, [r3, #0] 8029c08: 4a21 ldr r2, [pc, #132] ; (8029c90 ) 8029c0a: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8029c0e: 4a1e ldr r2, [pc, #120] ; (8029c88 ) 8029c10: 6013 str r3, [r2, #0] return FR_OK; 8029c12: 2300 movs r3, #0 8029c14: e02d b.n 8029c72 } else { f_close(&F); 8029c16: 4819 ldr r0, [pc, #100] ; (8029c7c ) 8029c18: f09c ff9a bl 80c6b50 return FR_DISK_ERR; 8029c1c: 2301 movs r3, #1 8029c1e: e028 b.n 8029c72 } } else { f_close(&F); 8029c20: 4816 ldr r0, [pc, #88] ; (8029c7c ) 8029c22: f09c ff95 bl 80c6b50 return FR_DISK_ERR; 8029c26: 2301 movs r3, #1 8029c28: e023 b.n 8029c72 } } else { //BAD DATA IN FILE!!!!!!!!!!!!!! f_close(&F); 8029c2a: 4814 ldr r0, [pc, #80] ; (8029c7c ) 8029c2c: f09c ff90 bl 80c6b50 return FR_INVALID_OBJECT; 8029c30: 2309 movs r3, #9 8029c32: e01e b.n 8029c72 if(NextIndexPoint == IP) 8029c34: bf00 nop } ifs += 29; 8029c36: e9d7 340c ldrd r3, r4, [r7, #48] ; 0x30 8029c3a: 331d adds r3, #29 8029c3c: f144 0400 adc.w r4, r4, #0 8029c40: e9c7 340c strd r3, r4, [r7, #48] ; 0x30 8029c44: e009 b.n 8029c5a } else { f_close(&F); 8029c46: 480d ldr r0, [pc, #52] ; (8029c7c ) 8029c48: f09c ff82 bl 80c6b50 return FR_DISK_ERR; 8029c4c: 2301 movs r3, #1 8029c4e: e010 b.n 8029c72 } } else { f_close(&F); 8029c50: 480a ldr r0, [pc, #40] ; (8029c7c ) 8029c52: f09c ff7d bl 80c6b50 return FR_DISK_ERR; 8029c56: 2301 movs r3, #1 8029c58: e00b b.n 8029c72 while(ifs < f_size(&F)) 8029c5a: 4b08 ldr r3, [pc, #32] ; (8029c7c ) 8029c5c: e9d3 3404 ldrd r3, r4, [r3, #16] 8029c60: e9d7 120c ldrd r1, r2, [r7, #48] ; 0x30 8029c64: 42a2 cmp r2, r4 8029c66: bf08 it eq 8029c68: 4299 cmpeq r1, r3 8029c6a: f4ff aed9 bcc.w 8029a20 } } } } return res; 8029c6e: f897 303f ldrb.w r3, [r7, #63] ; 0x3f } 8029c72: 4618 mov r0, r3 8029c74: 3744 adds r7, #68 ; 0x44 8029c76: 46bd mov sp, r7 8029c78: bdf0 pop {r4, r5, r6, r7, pc} 8029c7a: bf00 nop 8029c7c: 20022e20 .word 0x20022e20 8029c80: 2007c000 .word 0x2007c000 8029c84: 20021f9c .word 0x20021f9c 8029c88: 20022310 .word 0x20022310 8029c8c: 20022984 .word 0x20022984 8029c90: 20022ea0 .word 0x20022ea0 08029c94 : FRESULT WriteFileDGN(char* fname) { 8029c94: b5f0 push {r4, r5, r6, r7, lr} 8029c96: b091 sub sp, #68 ; 0x44 8029c98: af00 add r7, sp, #0 8029c9a: 6078 str r0, [r7, #4] FRESULT res = FR_OK; 8029c9c: 2300 movs r3, #0 8029c9e: f887 303f strb.w r3, [r7, #63] ; 0x3f uint16_t IM, IP; UINT fk; FSIZE_t ifs; if(CardState != MSD_READY) { 8029ca2: 4b97 ldr r3, [pc, #604] ; (8029f00 ) 8029ca4: 781b ldrb r3, [r3, #0] 8029ca6: b2db uxtb r3, r3 8029ca8: 2b03 cmp r3, #3 8029caa: d002 beq.n 8029cb2 return FR_NOT_READY; 8029cac: 2303 movs r3, #3 8029cae: f000 bdb6 b.w 802a81e } if(strcmp(fname, "") == 0) { 8029cb2: 687b ldr r3, [r7, #4] 8029cb4: 781b ldrb r3, [r3, #0] 8029cb6: 2b00 cmp r3, #0 8029cb8: d102 bne.n 8029cc0 return FR_INVALID_NAME; 8029cba: 2306 movs r3, #6 8029cbc: f000 bdaf b.w 802a81e } if(res == FR_OK) 8029cc0: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 8029cc4: 2b00 cmp r3, #0 8029cc6: f040 85a8 bne.w 802a81a { memset(FileName, 0, sizeof(FileName)); 8029cca: 2228 movs r2, #40 ; 0x28 8029ccc: 2100 movs r1, #0 8029cce: 488d ldr r0, [pc, #564] ; (8029f04 ) 8029cd0: f0a3 f9ba bl 80cd048 strcpy(FileName, fname); 8029cd4: 6879 ldr r1, [r7, #4] 8029cd6: 488b ldr r0, [pc, #556] ; (8029f04 ) 8029cd8: f0a3 fad3 bl 80cd282 memset(PointPath, 0, sizeof(PointPath)); 8029cdc: f44f 7200 mov.w r2, #512 ; 0x200 8029ce0: 2100 movs r1, #0 8029ce2: 4889 ldr r0, [pc, #548] ; (8029f08 ) 8029ce4: f0a3 f9b0 bl 80cd048 memset(SearchPath, 0, sizeof(SearchPath)); 8029ce8: f44f 7200 mov.w r2, #512 ; 0x200 8029cec: 2100 movs r1, #0 8029cee: 4887 ldr r0, [pc, #540] ; (8029f0c ) 8029cf0: f0a3 f9aa bl 80cd048 SearchPath[0] = '0'; 8029cf4: 4b85 ldr r3, [pc, #532] ; (8029f0c ) 8029cf6: 2230 movs r2, #48 ; 0x30 8029cf8: 701a strb r2, [r3, #0] SearchPath[1] = ':'; 8029cfa: 4b84 ldr r3, [pc, #528] ; (8029f0c ) 8029cfc: 223a movs r2, #58 ; 0x3a 8029cfe: 705a strb r2, [r3, #1] ScanMode = GET_PATH_TO_FILE; 8029d00: 4b83 ldr r3, [pc, #524] ; (8029f10 ) 8029d02: 2209 movs r2, #9 8029d04: 701a strb r2, [r3, #0] FlagReturn = false; 8029d06: 4b83 ldr r3, [pc, #524] ; (8029f14 ) 8029d08: 2200 movs r2, #0 8029d0a: 701a strb r2, [r3, #0] ScanFiles(SearchPath, 0); 8029d0c: 2100 movs r1, #0 8029d0e: 487f ldr r0, [pc, #508] ; (8029f0c ) 8029d10: f001 fdcc bl 802b8ac if(PointPath[0] == 0) 8029d14: 4b7c ldr r3, [pc, #496] ; (8029f08 ) 8029d16: 781b ldrb r3, [r3, #0] 8029d18: 2b00 cmp r3, #0 8029d1a: d104 bne.n 8029d26 { res = FR_NO_FILE; 8029d1c: 2304 movs r3, #4 8029d1e: f887 303f strb.w r3, [r7, #63] ; 0x3f 8029d22: f000 bd7a b.w 802a81a } else { res = f_open(&F, PointPath, FA_READ | FA_WRITE); 8029d26: 2203 movs r2, #3 8029d28: 4977 ldr r1, [pc, #476] ; (8029f08 ) 8029d2a: 487b ldr r0, [pc, #492] ; (8029f18 ) 8029d2c: f09c f8cc bl 80c5ec8 8029d30: 4603 mov r3, r0 8029d32: f887 303f strb.w r3, [r7, #63] ; 0x3f if((res == FR_NO_FILE) || (res == FR_NO_PATH)) 8029d36: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 8029d3a: 2b04 cmp r3, #4 8029d3c: d003 beq.n 8029d46 8029d3e: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 8029d42: 2b05 cmp r3, #5 8029d44: d107 bne.n 8029d56 res = f_open(&F, PointPath, FA_CREATE_ALWAYS | FA_OPEN_ALWAYS | FA_WRITE | FA_READ); 8029d46: 221b movs r2, #27 8029d48: 496f ldr r1, [pc, #444] ; (8029f08 ) 8029d4a: 4873 ldr r0, [pc, #460] ; (8029f18 ) 8029d4c: f09c f8bc bl 80c5ec8 8029d50: 4603 mov r3, r0 8029d52: f887 303f strb.w r3, [r7, #63] ; 0x3f if(res == FR_OK) 8029d56: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 8029d5a: 2b00 cmp r3, #0 8029d5c: f040 855d bne.w 802a81a { memset(sector, 0xff, sizeof(sector)); 8029d60: f44f 7200 mov.w r2, #512 ; 0x200 8029d64: 21ff movs r1, #255 ; 0xff 8029d66: 486d ldr r0, [pc, #436] ; (8029f1c ) 8029d68: f0a3 f96e bl 80cd048 IM = (uint16_t) NextIndexMeas; 8029d6c: 4b6c ldr r3, [pc, #432] ; (8029f20 ) 8029d6e: 681b ldr r3, [r3, #0] 8029d70: 85fb strh r3, [r7, #46] ; 0x2e if(f_size(&F) == 0) 8029d72: 4b69 ldr r3, [pc, #420] ; (8029f18 ) 8029d74: e9d3 3404 ldrd r3, r4, [r3, #16] 8029d78: 4323 orrs r3, r4 8029d7a: f040 81c1 bne.w 802a100 { ////////////////////// Ñîçäàåì øàïêó ôàéëà //////////////////////// memset(sector, 0, sizeof(sector)); 8029d7e: f44f 7200 mov.w r2, #512 ; 0x200 8029d82: 2100 movs r1, #0 8029d84: 4865 ldr r0, [pc, #404] ; (8029f1c ) 8029d86: f0a3 f95f bl 80cd048 strcpy((char *) sector, "Extend"); 8029d8a: 4b64 ldr r3, [pc, #400] ; (8029f1c ) 8029d8c: 4a65 ldr r2, [pc, #404] ; (8029f24 ) 8029d8e: e892 0003 ldmia.w r2, {r0, r1} 8029d92: 6018 str r0, [r3, #0] 8029d94: 3304 adds r3, #4 8029d96: 8019 strh r1, [r3, #0] 8029d98: 3302 adds r3, #2 8029d9a: 0c0a lsrs r2, r1, #16 8029d9c: 701a strb r2, [r3, #0] res = f_write(&F, sector, 96, &fk); 8029d9e: f107 030c add.w r3, r7, #12 8029da2: 2260 movs r2, #96 ; 0x60 8029da4: 495d ldr r1, [pc, #372] ; (8029f1c ) 8029da6: 485c ldr r0, [pc, #368] ; (8029f18 ) 8029da8: f09c fc2e bl 80c6608 8029dac: 4603 mov r3, r0 8029dae: f887 303f strb.w r3, [r7, #63] ; 0x3f if((res == FR_OK) && (fk == 96)) 8029db2: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 8029db6: 2b00 cmp r3, #0 8029db8: f040 8082 bne.w 8029ec0 8029dbc: 68fb ldr r3, [r7, #12] 8029dbe: 2b60 cmp r3, #96 ; 0x60 8029dc0: d17e bne.n 8029ec0 { memset(sector, 0, sizeof(sector)); 8029dc2: f44f 7200 mov.w r2, #512 ; 0x200 8029dc6: 2100 movs r1, #0 8029dc8: 4854 ldr r0, [pc, #336] ; (8029f1c ) 8029dca: f0a3 f93d bl 80cd048 for(i = 0; i < 8; i++) 8029dce: 2300 movs r3, #0 8029dd0: 63bb str r3, [r7, #56] ; 0x38 8029dd2: e01b b.n 8029e0c { res = f_write(&F, sector, 500, &fk); 8029dd4: f107 030c add.w r3, r7, #12 8029dd8: f44f 72fa mov.w r2, #500 ; 0x1f4 8029ddc: 494f ldr r1, [pc, #316] ; (8029f1c ) 8029dde: 484e ldr r0, [pc, #312] ; (8029f18 ) 8029de0: f09c fc12 bl 80c6608 8029de4: 4603 mov r3, r0 8029de6: f887 303f strb.w r3, [r7, #63] ; 0x3f if((res != FR_OK) || (fk != 500)) 8029dea: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 8029dee: 2b00 cmp r3, #0 8029df0: d103 bne.n 8029dfa 8029df2: 68fb ldr r3, [r7, #12] 8029df4: f5b3 7ffa cmp.w r3, #500 ; 0x1f4 8029df8: d005 beq.n 8029e06 { f_close(&F); 8029dfa: 4847 ldr r0, [pc, #284] ; (8029f18 ) 8029dfc: f09c fea8 bl 80c6b50 return FR_DISK_ERR; 8029e00: 2301 movs r3, #1 8029e02: f000 bd0c b.w 802a81e for(i = 0; i < 8; i++) 8029e06: 6bbb ldr r3, [r7, #56] ; 0x38 8029e08: 3301 adds r3, #1 8029e0a: 63bb str r3, [r7, #56] ; 0x38 8029e0c: 6bbb ldr r3, [r7, #56] ; 0x38 8029e0e: 2b07 cmp r3, #7 8029e10: d9e0 bls.n 8029dd4 } } memcpy(sector, Comment, sizeof(Comment)); 8029e12: 4b42 ldr r3, [pc, #264] ; (8029f1c ) 8029e14: 4a44 ldr r2, [pc, #272] ; (8029f28 ) 8029e16: 4614 mov r4, r2 8029e18: 461e mov r6, r3 8029e1a: f104 0e20 add.w lr, r4, #32 8029e1e: 4635 mov r5, r6 8029e20: 4623 mov r3, r4 8029e22: 6818 ldr r0, [r3, #0] 8029e24: 6859 ldr r1, [r3, #4] 8029e26: 689a ldr r2, [r3, #8] 8029e28: 68db ldr r3, [r3, #12] 8029e2a: c50f stmia r5!, {r0, r1, r2, r3} 8029e2c: 3410 adds r4, #16 8029e2e: 3610 adds r6, #16 8029e30: 4574 cmp r4, lr 8029e32: d1f4 bne.n 8029e1e 8029e34: 4633 mov r3, r6 8029e36: 4622 mov r2, r4 8029e38: 6810 ldr r0, [r2, #0] 8029e3a: 6851 ldr r1, [r2, #4] 8029e3c: c303 stmia r3!, {r0, r1} ifs = 96u + (NextIndexPoint * sizeof(Comment)); 8029e3e: 4b3b ldr r3, [pc, #236] ; (8029f2c ) 8029e40: 681a ldr r2, [r3, #0] 8029e42: 4613 mov r3, r2 8029e44: 009b lsls r3, r3, #2 8029e46: 4413 add r3, r2 8029e48: 00db lsls r3, r3, #3 8029e4a: 3360 adds r3, #96 ; 0x60 8029e4c: f04f 0400 mov.w r4, #0 8029e50: e9c7 340c strd r3, r4, [r7, #48] ; 0x30 if(f_lseek(&F, ifs) == FR_OK) 8029e54: e9d7 230c ldrd r2, r3, [r7, #48] ; 0x30 8029e58: 482f ldr r0, [pc, #188] ; (8029f18 ) 8029e5a: f09c fe99 bl 80c6b90 8029e5e: 4603 mov r3, r0 8029e60: 2b00 cmp r3, #0 8029e62: d127 bne.n 8029eb4 { res = f_write(&F, sector, sizeof(Comment), &fk); 8029e64: f107 030c add.w r3, r7, #12 8029e68: 2228 movs r2, #40 ; 0x28 8029e6a: 492c ldr r1, [pc, #176] ; (8029f1c ) 8029e6c: 482a ldr r0, [pc, #168] ; (8029f18 ) 8029e6e: f09c fbcb bl 80c6608 8029e72: 4603 mov r3, r0 8029e74: f887 303f strb.w r3, [r7, #63] ; 0x3f if((res != FR_OK) || (fk != sizeof(Comment))) 8029e78: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 8029e7c: 2b00 cmp r3, #0 8029e7e: d102 bne.n 8029e86 8029e80: 68fb ldr r3, [r7, #12] 8029e82: 2b28 cmp r3, #40 ; 0x28 8029e84: d005 beq.n 8029e92 { f_close(&F); 8029e86: 4824 ldr r0, [pc, #144] ; (8029f18 ) 8029e88: f09c fe62 bl 80c6b50 return FR_DISK_ERR; 8029e8c: 2301 movs r3, #1 8029e8e: f000 bcc6 b.w 802a81e } ifs = 96u + (NUM_POINTS * sizeof(Comment)); 8029e92: f649 43a0 movw r3, #40096 ; 0x9ca0 8029e96: f04f 0400 mov.w r4, #0 8029e9a: e9c7 340c strd r3, r4, [r7, #48] ; 0x30 if(f_lseek(&F, ifs) == FR_OK) 8029e9e: bf00 nop f_close(&F); return FR_DISK_ERR; } ////////////////////////////////////////////////////////////////// if(f_lseek(&F, ifs) == FR_OK) 8029ea0: e9d7 230c ldrd r2, r3, [r7, #48] ; 0x30 8029ea4: 481c ldr r0, [pc, #112] ; (8029f18 ) 8029ea6: f09c fe73 bl 80c6b90 8029eaa: 4603 mov r3, r0 8029eac: 2b00 cmp r3, #0 8029eae: f040 8122 bne.w 802a0f6 8029eb2: e00b b.n 8029ecc f_close(&F); 8029eb4: 4818 ldr r0, [pc, #96] ; (8029f18 ) 8029eb6: f09c fe4b bl 80c6b50 return FR_DISK_ERR; 8029eba: 2301 movs r3, #1 8029ebc: f000 bcaf b.w 802a81e f_close(&F); 8029ec0: 4815 ldr r0, [pc, #84] ; (8029f18 ) 8029ec2: f09c fe45 bl 80c6b50 return FR_DISK_ERR; 8029ec6: 2301 movs r3, #1 8029ec8: f000 bca9 b.w 802a81e { IP = (uint16_t) NextIndexPoint; 8029ecc: 4b17 ldr r3, [pc, #92] ; (8029f2c ) 8029ece: 681b ldr r3, [r3, #0] 8029ed0: 85bb strh r3, [r7, #44] ; 0x2c sector[d_Point] = LO(IP); 8029ed2: 8dbb ldrh r3, [r7, #44] ; 0x2c 8029ed4: b2da uxtb r2, r3 8029ed6: 4b11 ldr r3, [pc, #68] ; (8029f1c ) 8029ed8: 701a strb r2, [r3, #0] sector[d_Point + 1] = HI(IP); 8029eda: 8dbb ldrh r3, [r7, #44] ; 0x2c 8029edc: 0a1b lsrs r3, r3, #8 8029ede: b29b uxth r3, r3 8029ee0: b2da uxtb r2, r3 8029ee2: 4b0e ldr r3, [pc, #56] ; (8029f1c ) 8029ee4: 705a strb r2, [r3, #1] sector[d_Meas] = LO(IM); 8029ee6: 8dfb ldrh r3, [r7, #46] ; 0x2e 8029ee8: b2da uxtb r2, r3 8029eea: 4b0c ldr r3, [pc, #48] ; (8029f1c ) 8029eec: 709a strb r2, [r3, #2] sector[d_Meas + 1] = HI(IM); 8029eee: 8dfb ldrh r3, [r7, #46] ; 0x2e 8029ef0: 0a1b lsrs r3, r3, #8 8029ef2: b29b uxth r3, r3 8029ef4: b2da uxtb r2, r3 8029ef6: 4b09 ldr r3, [pc, #36] ; (8029f1c ) 8029ef8: 70da strb r2, [r3, #3] for(i = 0; i < 4; i++) 8029efa: 2300 movs r3, #0 8029efc: 63bb str r3, [r7, #56] ; 0x38 8029efe: e037 b.n 8029f70 8029f00: 2002164c .word 0x2002164c 8029f04: 20022bb8 .word 0x20022bb8 8029f08: 200229b4 .word 0x200229b4 8029f0c: 20021d80 .word 0x20021d80 8029f10: 20020ddf .word 0x20020ddf 8029f14: 20020dde .word 0x20020dde 8029f18: 20022e20 .word 0x20022e20 8029f1c: 2007c000 .word 0x2007c000 8029f20: 20022310 .word 0x20022310 8029f24: 080ce494 .word 0x080ce494 8029f28: 20022650 .word 0x20022650 8029f2c: 20021f9c .word 0x20021f9c { sector[d_Op1_1 + i] = DiagnFileData.Op_1.ch[i]; 8029f30: 6bbb ldr r3, [r7, #56] ; 0x38 8029f32: 3304 adds r3, #4 8029f34: 49b0 ldr r1, [pc, #704] ; (802a1f8 ) 8029f36: 6bba ldr r2, [r7, #56] ; 0x38 8029f38: 440a add r2, r1 8029f3a: 7812 ldrb r2, [r2, #0] 8029f3c: b2d1 uxtb r1, r2 8029f3e: 4aaf ldr r2, [pc, #700] ; (802a1fc ) 8029f40: 54d1 strb r1, [r2, r3] sector[d_Op2_1 + i] = DiagnFileData.Op_2.ch[i]; 8029f42: 6bbb ldr r3, [r7, #56] ; 0x38 8029f44: 3308 adds r3, #8 8029f46: 49ac ldr r1, [pc, #688] ; (802a1f8 ) 8029f48: 6bba ldr r2, [r7, #56] ; 0x38 8029f4a: 440a add r2, r1 8029f4c: 3204 adds r2, #4 8029f4e: 7812 ldrb r2, [r2, #0] 8029f50: b2d1 uxtb r1, r2 8029f52: 4aaa ldr r2, [pc, #680] ; (802a1fc ) 8029f54: 54d1 strb r1, [r2, r3] sector[d_Op3_1 + i] = DiagnFileData.Op_3.ch[i]; 8029f56: 6bbb ldr r3, [r7, #56] ; 0x38 8029f58: 330c adds r3, #12 8029f5a: 49a7 ldr r1, [pc, #668] ; (802a1f8 ) 8029f5c: 6bba ldr r2, [r7, #56] ; 0x38 8029f5e: 440a add r2, r1 8029f60: 3208 adds r2, #8 8029f62: 7812 ldrb r2, [r2, #0] 8029f64: b2d1 uxtb r1, r2 8029f66: 4aa5 ldr r2, [pc, #660] ; (802a1fc ) 8029f68: 54d1 strb r1, [r2, r3] for(i = 0; i < 4; i++) 8029f6a: 6bbb ldr r3, [r7, #56] ; 0x38 8029f6c: 3301 adds r3, #1 8029f6e: 63bb str r3, [r7, #56] ; 0x38 8029f70: 6bbb ldr r3, [r7, #56] ; 0x38 8029f72: 2b03 cmp r3, #3 8029f74: d9dc bls.n 8029f30 } sector[d_Op1_ipr] = DiagnFileData.d_Op1_ipr; 8029f76: 4ba0 ldr r3, [pc, #640] ; (802a1f8 ) 8029f78: f893 3028 ldrb.w r3, [r3, #40] ; 0x28 8029f7c: b2da uxtb r2, r3 8029f7e: 4b9f ldr r3, [pc, #636] ; (802a1fc ) 8029f80: 751a strb r2, [r3, #20] sector[d_Op2_ipr] = DiagnFileData.d_Op2_ipr; 8029f82: 4b9d ldr r3, [pc, #628] ; (802a1f8 ) 8029f84: f893 3029 ldrb.w r3, [r3, #41] ; 0x29 8029f88: b2da uxtb r2, r3 8029f8a: 4b9c ldr r3, [pc, #624] ; (802a1fc ) 8029f8c: 755a strb r2, [r3, #21] sector[d_Op3_ipr] = DiagnFileData.d_Op3_ipr; 8029f8e: 4b9a ldr r3, [pc, #616] ; (802a1f8 ) 8029f90: f893 302a ldrb.w r3, [r3, #42] ; 0x2a 8029f94: b2da uxtb r2, r3 8029f96: 4b99 ldr r3, [pc, #612] ; (802a1fc ) 8029f98: 759a strb r2, [r3, #22] sector[d_Op1_ivs] = DiagnFileData.d_Op1_ivs; 8029f9a: 4b97 ldr r3, [pc, #604] ; (802a1f8 ) 8029f9c: f893 302b ldrb.w r3, [r3, #43] ; 0x2b 8029fa0: b2da uxtb r2, r3 8029fa2: 4b96 ldr r3, [pc, #600] ; (802a1fc ) 8029fa4: 75da strb r2, [r3, #23] sector[d_Op2_ivs] = DiagnFileData.d_Op2_ivs; 8029fa6: 4b94 ldr r3, [pc, #592] ; (802a1f8 ) 8029fa8: f893 302c ldrb.w r3, [r3, #44] ; 0x2c 8029fac: b2da uxtb r2, r3 8029fae: 4b93 ldr r3, [pc, #588] ; (802a1fc ) 8029fb0: 761a strb r2, [r3, #24] sector[d_Op3_ivs] = DiagnFileData.d_Op3_ivs; 8029fb2: 4b91 ldr r3, [pc, #580] ; (802a1f8 ) 8029fb4: f893 302d ldrb.w r3, [r3, #45] ; 0x2d 8029fb8: b2da uxtb r2, r3 8029fba: 4b90 ldr r3, [pc, #576] ; (802a1fc ) 8029fbc: 765a strb r2, [r3, #25] sector[d_Op1_col] = DiagnFileData.d_Op1_Color; 8029fbe: 4b8e ldr r3, [pc, #568] ; (802a1f8 ) 8029fc0: f893 302e ldrb.w r3, [r3, #46] ; 0x2e 8029fc4: b2da uxtb r2, r3 8029fc6: 4b8d ldr r3, [pc, #564] ; (802a1fc ) 8029fc8: 769a strb r2, [r3, #26] sector[d_Op2_col] = DiagnFileData.d_Op2_Color; 8029fca: 4b8b ldr r3, [pc, #556] ; (802a1f8 ) 8029fcc: f893 302f ldrb.w r3, [r3, #47] ; 0x2f 8029fd0: b2da uxtb r2, r3 8029fd2: 4b8a ldr r3, [pc, #552] ; (802a1fc ) 8029fd4: 76da strb r2, [r3, #27] sector[d_Op3_col] = DiagnFileData.d_Op3_Color; 8029fd6: 4b88 ldr r3, [pc, #544] ; (802a1f8 ) 8029fd8: f893 3030 ldrb.w r3, [r3, #48] ; 0x30 8029fdc: b2da uxtb r2, r3 8029fde: 4b87 ldr r3, [pc, #540] ; (802a1fc ) 8029fe0: 771a strb r2, [r3, #28] sector[d_W] = DiagnFileData.d_Warning; 8029fe2: 4b85 ldr r3, [pc, #532] ; (802a1f8 ) 8029fe4: f893 3031 ldrb.w r3, [r3, #49] ; 0x31 8029fe8: b2da uxtb r2, r3 8029fea: 4b84 ldr r3, [pc, #528] ; (802a1fc ) 8029fec: 775a strb r2, [r3, #29] sector[d_A] = DiagnFileData.d_Alarm; 8029fee: 4b82 ldr r3, [pc, #520] ; (802a1f8 ) 8029ff0: f893 3032 ldrb.w r3, [r3, #50] ; 0x32 8029ff4: b2da uxtb r2, r3 8029ff6: 4b81 ldr r3, [pc, #516] ; (802a1fc ) 8029ff8: 779a strb r2, [r3, #30] Day = DiagnFileData.d_Date.Date; 8029ffa: 4b7f ldr r3, [pc, #508] ; (802a1f8 ) 8029ffc: f893 3026 ldrb.w r3, [r3, #38] ; 0x26 802a000: b2db uxtb r3, r3 802a002: 62bb str r3, [r7, #40] ; 0x28 Month = DiagnFileData.d_Date.Month; 802a004: 4b7c ldr r3, [pc, #496] ; (802a1f8 ) 802a006: f893 3025 ldrb.w r3, [r3, #37] ; 0x25 802a00a: b2db uxtb r3, r3 802a00c: 627b str r3, [r7, #36] ; 0x24 Year = DiagnFileData.d_Date.Year + 2000; 802a00e: 4b7a ldr r3, [pc, #488] ; (802a1f8 ) 802a010: f893 3027 ldrb.w r3, [r3, #39] ; 0x27 802a014: b2db uxtb r3, r3 802a016: f503 63fa add.w r3, r3, #2000 ; 0x7d0 802a01a: 623b str r3, [r7, #32] Hour = DiagnFileData.d_Time.Hours; 802a01c: 4b76 ldr r3, [pc, #472] ; (802a1f8 ) 802a01e: 7b1b ldrb r3, [r3, #12] 802a020: b2db uxtb r3, r3 802a022: 61fb str r3, [r7, #28] Min = DiagnFileData.d_Time.Minutes; 802a024: 4b74 ldr r3, [pc, #464] ; (802a1f8 ) 802a026: 7b5b ldrb r3, [r3, #13] 802a028: b2db uxtb r3, r3 802a02a: 61bb str r3, [r7, #24] Sec = DiagnFileData.d_Time.Seconds; 802a02c: 4b72 ldr r3, [pc, #456] ; (802a1f8 ) 802a02e: 7b9b ldrb r3, [r3, #14] 802a030: b2db uxtb r3, r3 802a032: 617b str r3, [r7, #20] DateTime = ((Year - 1980) << 25) | (Month << 21) | (Day << 16) | (Hour << 11) | (Min << 5) | (Sec >> 1); 802a034: 6a3b ldr r3, [r7, #32] 802a036: f2a3 73bc subw r3, r3, #1980 ; 0x7bc 802a03a: 065a lsls r2, r3, #25 802a03c: 6a7b ldr r3, [r7, #36] ; 0x24 802a03e: 055b lsls r3, r3, #21 802a040: 431a orrs r2, r3 802a042: 6abb ldr r3, [r7, #40] ; 0x28 802a044: 041b lsls r3, r3, #16 802a046: 431a orrs r2, r3 802a048: 69fb ldr r3, [r7, #28] 802a04a: 02db lsls r3, r3, #11 802a04c: 431a orrs r2, r3 802a04e: 69bb ldr r3, [r7, #24] 802a050: 015b lsls r3, r3, #5 802a052: 431a orrs r2, r3 802a054: 697b ldr r3, [r7, #20] 802a056: 085b lsrs r3, r3, #1 802a058: 4313 orrs r3, r2 802a05a: 613b str r3, [r7, #16] sector[d_DateTime] = (uint8_t) (DateTime & 0xff); 802a05c: 693b ldr r3, [r7, #16] 802a05e: b2da uxtb r2, r3 802a060: 4b66 ldr r3, [pc, #408] ; (802a1fc ) 802a062: 741a strb r2, [r3, #16] sector[d_DateTime + 1] = (uint8_t) ((DateTime >> 8) & 0xff); 802a064: 693b ldr r3, [r7, #16] 802a066: 0a1b lsrs r3, r3, #8 802a068: b2da uxtb r2, r3 802a06a: 4b64 ldr r3, [pc, #400] ; (802a1fc ) 802a06c: 745a strb r2, [r3, #17] sector[d_DateTime + 2] = (uint8_t) ((DateTime >> 16) & 0xff); 802a06e: 693b ldr r3, [r7, #16] 802a070: 0c1b lsrs r3, r3, #16 802a072: b2da uxtb r2, r3 802a074: 4b61 ldr r3, [pc, #388] ; (802a1fc ) 802a076: 749a strb r2, [r3, #18] sector[d_DateTime + 3] = (uint8_t) ((DateTime >> 24) & 0xff); 802a078: 693b ldr r3, [r7, #16] 802a07a: 0e1b lsrs r3, r3, #24 802a07c: b2da uxtb r2, r3 802a07e: 4b5f ldr r3, [pc, #380] ; (802a1fc ) 802a080: 74da strb r2, [r3, #19] sector[d_13] = 0xD; 802a082: 4b5e ldr r3, [pc, #376] ; (802a1fc ) 802a084: 220d movs r2, #13 802a086: 77da strb r2, [r3, #31] sector[d_10] = 0xA; 802a088: 4b5c ldr r3, [pc, #368] ; (802a1fc ) 802a08a: 220a movs r2, #10 802a08c: f883 2020 strb.w r2, [r3, #32] res = f_write(&F, sector, 33, &fk); 802a090: f107 030c add.w r3, r7, #12 802a094: 2221 movs r2, #33 ; 0x21 802a096: 4959 ldr r1, [pc, #356] ; (802a1fc ) 802a098: 4859 ldr r0, [pc, #356] ; (802a200 ) 802a09a: f09c fab5 bl 80c6608 802a09e: 4603 mov r3, r0 802a0a0: f887 303f strb.w r3, [r7, #63] ; 0x3f if((res == FR_OK) && (fk == 33)) 802a0a4: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 802a0a8: 2b00 cmp r3, #0 802a0aa: d11f bne.n 802a0ec 802a0ac: 68fb ldr r3, [r7, #12] 802a0ae: 2b21 cmp r3, #33 ; 0x21 802a0b0: d11c bne.n 802a0ec { f_close(&F); 802a0b2: 4853 ldr r0, [pc, #332] ; (802a200 ) 802a0b4: f09c fd4c bl 80c6b50 if(IndexMeas[NextIndexPoint] < 999) 802a0b8: 4b52 ldr r3, [pc, #328] ; (802a204 ) 802a0ba: 681b ldr r3, [r3, #0] 802a0bc: 4a52 ldr r2, [pc, #328] ; (802a208 ) 802a0be: f852 3023 ldr.w r3, [r2, r3, lsl #2] 802a0c2: f240 32e6 movw r2, #998 ; 0x3e6 802a0c6: 4293 cmp r3, r2 802a0c8: d808 bhi.n 802a0dc IndexMeas[NextIndexPoint]++; 802a0ca: 4b4e ldr r3, [pc, #312] ; (802a204 ) 802a0cc: 681b ldr r3, [r3, #0] 802a0ce: 4a4e ldr r2, [pc, #312] ; (802a208 ) 802a0d0: f852 2023 ldr.w r2, [r2, r3, lsl #2] 802a0d4: 3201 adds r2, #1 802a0d6: 494c ldr r1, [pc, #304] ; (802a208 ) 802a0d8: f841 2023 str.w r2, [r1, r3, lsl #2] NextIndexMeas = IndexMeas[NextIndexPoint]; 802a0dc: 4b49 ldr r3, [pc, #292] ; (802a204 ) 802a0de: 681b ldr r3, [r3, #0] 802a0e0: 4a49 ldr r2, [pc, #292] ; (802a208 ) 802a0e2: f852 3023 ldr.w r3, [r2, r3, lsl #2] 802a0e6: 4a49 ldr r2, [pc, #292] ; (802a20c ) 802a0e8: 6013 str r3, [r2, #0] 802a0ea: e396 b.n 802a81a } else { f_close(&F); 802a0ec: 4844 ldr r0, [pc, #272] ; (802a200 ) 802a0ee: f09c fd2f bl 80c6b50 return FR_DISK_ERR; 802a0f2: 2301 movs r3, #1 802a0f4: e393 b.n 802a81e } } else { f_close(&F); 802a0f6: 4842 ldr r0, [pc, #264] ; (802a200 ) 802a0f8: f09c fd2a bl 80c6b50 return FR_DISK_ERR; 802a0fc: 2301 movs r3, #1 802a0fe: e38e b.n 802a81e } } else if(NextIndexMeas == IndexMeas[NextIndexPoint]) 802a100: 4b40 ldr r3, [pc, #256] ; (802a204 ) 802a102: 681b ldr r3, [r3, #0] 802a104: 4a40 ldr r2, [pc, #256] ; (802a208 ) 802a106: f852 2023 ldr.w r2, [r2, r3, lsl #2] 802a10a: 4b40 ldr r3, [pc, #256] ; (802a20c ) 802a10c: 681b ldr r3, [r3, #0] 802a10e: 429a cmp r2, r3 802a110: f040 8196 bne.w 802a440 { /////////////////////////////////////////////////////////////////////////////// res = f_lseek(&F, 0); 802a114: f04f 0200 mov.w r2, #0 802a118: f04f 0300 mov.w r3, #0 802a11c: 4838 ldr r0, [pc, #224] ; (802a200 ) 802a11e: f09c fd37 bl 80c6b90 802a122: 4603 mov r3, r0 802a124: f887 303f strb.w r3, [r7, #63] ; 0x3f if(res == FR_OK) 802a128: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 802a12c: 2b00 cmp r3, #0 802a12e: d173 bne.n 802a218 { res = f_read(&F, sector, 6, &fk); 802a130: f107 030c add.w r3, r7, #12 802a134: 2206 movs r2, #6 802a136: 4931 ldr r1, [pc, #196] ; (802a1fc ) 802a138: 4831 ldr r0, [pc, #196] ; (802a200 ) 802a13a: f09c f922 bl 80c6382 802a13e: 4603 mov r3, r0 802a140: f887 303f strb.w r3, [r7, #63] ; 0x3f if((res == FR_OK) && (fk == 6)) 802a144: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 802a148: 2b00 cmp r3, #0 802a14a: d150 bne.n 802a1ee 802a14c: 68fb ldr r3, [r7, #12] 802a14e: 2b06 cmp r3, #6 802a150: d14d bne.n 802a1ee { sector[6] = '\0'; 802a152: 4b2a ldr r3, [pc, #168] ; (802a1fc ) 802a154: 2200 movs r2, #0 802a156: 719a strb r2, [r3, #6] if(!strcmp((char *) sector, "Extend")) 802a158: 492d ldr r1, [pc, #180] ; (802a210 ) 802a15a: 4828 ldr r0, [pc, #160] ; (802a1fc ) 802a15c: f7f6 f8d0 bl 8020300 802a160: 4603 mov r3, r0 802a162: 2b00 cmp r3, #0 802a164: d15d bne.n 802a222 { memcpy(sector, Comment, sizeof(Comment)); 802a166: 4b25 ldr r3, [pc, #148] ; (802a1fc ) 802a168: 4a2a ldr r2, [pc, #168] ; (802a214 ) 802a16a: 4614 mov r4, r2 802a16c: 461e mov r6, r3 802a16e: f104 0e20 add.w lr, r4, #32 802a172: 4635 mov r5, r6 802a174: 4623 mov r3, r4 802a176: 6818 ldr r0, [r3, #0] 802a178: 6859 ldr r1, [r3, #4] 802a17a: 689a ldr r2, [r3, #8] 802a17c: 68db ldr r3, [r3, #12] 802a17e: c50f stmia r5!, {r0, r1, r2, r3} 802a180: 3410 adds r4, #16 802a182: 3610 adds r6, #16 802a184: 4574 cmp r4, lr 802a186: d1f4 bne.n 802a172 802a188: 4633 mov r3, r6 802a18a: 4622 mov r2, r4 802a18c: 6810 ldr r0, [r2, #0] 802a18e: 6851 ldr r1, [r2, #4] 802a190: c303 stmia r3!, {r0, r1} ifs = 96u + (NextIndexPoint * sizeof(Comment)); 802a192: 4b1c ldr r3, [pc, #112] ; (802a204 ) 802a194: 681a ldr r2, [r3, #0] 802a196: 4613 mov r3, r2 802a198: 009b lsls r3, r3, #2 802a19a: 4413 add r3, r2 802a19c: 00db lsls r3, r3, #3 802a19e: 3360 adds r3, #96 ; 0x60 802a1a0: f04f 0400 mov.w r4, #0 802a1a4: e9c7 340c strd r3, r4, [r7, #48] ; 0x30 if(f_lseek(&F, ifs) == FR_OK) 802a1a8: e9d7 230c ldrd r2, r3, [r7, #48] ; 0x30 802a1ac: 4814 ldr r0, [pc, #80] ; (802a200 ) 802a1ae: f09c fcef bl 80c6b90 802a1b2: 4603 mov r3, r0 802a1b4: 2b00 cmp r3, #0 802a1b6: d115 bne.n 802a1e4 { res = f_write(&F, sector, sizeof(Comment), &fk); 802a1b8: f107 030c add.w r3, r7, #12 802a1bc: 2228 movs r2, #40 ; 0x28 802a1be: 490f ldr r1, [pc, #60] ; (802a1fc ) 802a1c0: 480f ldr r0, [pc, #60] ; (802a200 ) 802a1c2: f09c fa21 bl 80c6608 802a1c6: 4603 mov r3, r0 802a1c8: f887 303f strb.w r3, [r7, #63] ; 0x3f if((res != FR_OK) || (fk != sizeof(Comment))) 802a1cc: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 802a1d0: 2b00 cmp r3, #0 802a1d2: d102 bne.n 802a1da 802a1d4: 68fb ldr r3, [r7, #12] 802a1d6: 2b28 cmp r3, #40 ; 0x28 802a1d8: d023 beq.n 802a222 { f_close(&F); 802a1da: 4809 ldr r0, [pc, #36] ; (802a200 ) 802a1dc: f09c fcb8 bl 80c6b50 return FR_DISK_ERR; 802a1e0: 2301 movs r3, #1 802a1e2: e31c b.n 802a81e } } else { f_close(&F); 802a1e4: 4806 ldr r0, [pc, #24] ; (802a200 ) 802a1e6: f09c fcb3 bl 80c6b50 return FR_DISK_ERR; 802a1ea: 2301 movs r3, #1 802a1ec: e317 b.n 802a81e } } } else { f_close(&F); 802a1ee: 4804 ldr r0, [pc, #16] ; (802a200 ) 802a1f0: f09c fcae bl 80c6b50 return FR_DISK_ERR; 802a1f4: 2301 movs r3, #1 802a1f6: e312 b.n 802a81e 802a1f8: 200225f4 .word 0x200225f4 802a1fc: 2007c000 .word 0x2007c000 802a200: 20022e20 .word 0x20022e20 802a204: 20021f9c .word 0x20021f9c 802a208: 20022ea0 .word 0x20022ea0 802a20c: 20022310 .word 0x20022310 802a210: 080ce494 .word 0x080ce494 802a214: 20022650 .word 0x20022650 } } else { f_close(&F); 802a218: 48a1 ldr r0, [pc, #644] ; (802a4a0 ) 802a21a: f09c fc99 bl 80c6b50 return FR_DISK_ERR; 802a21e: 2301 movs r3, #1 802a220: e2fd b.n 802a81e if(!strcmp((char *) sector, "Extend")) 802a222: bf00 nop } /////////////////////////////////////////////////////////////////////////////// if(f_lseek(&F, f_size(&F)) == FR_OK) 802a224: 4b9e ldr r3, [pc, #632] ; (802a4a0 ) 802a226: e9d3 3404 ldrd r3, r4, [r3, #16] 802a22a: 461a mov r2, r3 802a22c: 4623 mov r3, r4 802a22e: 489c ldr r0, [pc, #624] ; (802a4a0 ) 802a230: f09c fcae bl 80c6b90 802a234: 4603 mov r3, r0 802a236: 2b00 cmp r3, #0 802a238: f040 80fd bne.w 802a436 { IP = (uint16_t) NextIndexPoint; 802a23c: 4b99 ldr r3, [pc, #612] ; (802a4a4 ) 802a23e: 681b ldr r3, [r3, #0] 802a240: 85bb strh r3, [r7, #44] ; 0x2c sector[d_Point] = LO(IP); 802a242: 8dbb ldrh r3, [r7, #44] ; 0x2c 802a244: b2da uxtb r2, r3 802a246: 4b98 ldr r3, [pc, #608] ; (802a4a8 ) 802a248: 701a strb r2, [r3, #0] sector[d_Point + 1] = HI(IP); 802a24a: 8dbb ldrh r3, [r7, #44] ; 0x2c 802a24c: 0a1b lsrs r3, r3, #8 802a24e: b29b uxth r3, r3 802a250: b2da uxtb r2, r3 802a252: 4b95 ldr r3, [pc, #596] ; (802a4a8 ) 802a254: 705a strb r2, [r3, #1] sector[d_Meas] = LO(IM); 802a256: 8dfb ldrh r3, [r7, #46] ; 0x2e 802a258: b2da uxtb r2, r3 802a25a: 4b93 ldr r3, [pc, #588] ; (802a4a8 ) 802a25c: 709a strb r2, [r3, #2] sector[d_Meas + 1] = HI(IM); 802a25e: 8dfb ldrh r3, [r7, #46] ; 0x2e 802a260: 0a1b lsrs r3, r3, #8 802a262: b29b uxth r3, r3 802a264: b2da uxtb r2, r3 802a266: 4b90 ldr r3, [pc, #576] ; (802a4a8 ) 802a268: 70da strb r2, [r3, #3] for(i = 0; i < 4; i++) 802a26a: 2300 movs r3, #0 802a26c: 63bb str r3, [r7, #56] ; 0x38 802a26e: e01f b.n 802a2b0 { sector[d_Op1_1 + i] = DiagnFileData.Op_1.ch[i]; 802a270: 6bbb ldr r3, [r7, #56] ; 0x38 802a272: 3304 adds r3, #4 802a274: 498d ldr r1, [pc, #564] ; (802a4ac ) 802a276: 6bba ldr r2, [r7, #56] ; 0x38 802a278: 440a add r2, r1 802a27a: 7812 ldrb r2, [r2, #0] 802a27c: b2d1 uxtb r1, r2 802a27e: 4a8a ldr r2, [pc, #552] ; (802a4a8 ) 802a280: 54d1 strb r1, [r2, r3] sector[d_Op2_1 + i] = DiagnFileData.Op_2.ch[i]; 802a282: 6bbb ldr r3, [r7, #56] ; 0x38 802a284: 3308 adds r3, #8 802a286: 4989 ldr r1, [pc, #548] ; (802a4ac ) 802a288: 6bba ldr r2, [r7, #56] ; 0x38 802a28a: 440a add r2, r1 802a28c: 3204 adds r2, #4 802a28e: 7812 ldrb r2, [r2, #0] 802a290: b2d1 uxtb r1, r2 802a292: 4a85 ldr r2, [pc, #532] ; (802a4a8 ) 802a294: 54d1 strb r1, [r2, r3] sector[d_Op3_1 + i] = DiagnFileData.Op_3.ch[i]; 802a296: 6bbb ldr r3, [r7, #56] ; 0x38 802a298: 330c adds r3, #12 802a29a: 4984 ldr r1, [pc, #528] ; (802a4ac ) 802a29c: 6bba ldr r2, [r7, #56] ; 0x38 802a29e: 440a add r2, r1 802a2a0: 3208 adds r2, #8 802a2a2: 7812 ldrb r2, [r2, #0] 802a2a4: b2d1 uxtb r1, r2 802a2a6: 4a80 ldr r2, [pc, #512] ; (802a4a8 ) 802a2a8: 54d1 strb r1, [r2, r3] for(i = 0; i < 4; i++) 802a2aa: 6bbb ldr r3, [r7, #56] ; 0x38 802a2ac: 3301 adds r3, #1 802a2ae: 63bb str r3, [r7, #56] ; 0x38 802a2b0: 6bbb ldr r3, [r7, #56] ; 0x38 802a2b2: 2b03 cmp r3, #3 802a2b4: d9dc bls.n 802a270 } sector[d_Op1_ipr] = DiagnFileData.d_Op1_ipr; 802a2b6: 4b7d ldr r3, [pc, #500] ; (802a4ac ) 802a2b8: f893 3028 ldrb.w r3, [r3, #40] ; 0x28 802a2bc: b2da uxtb r2, r3 802a2be: 4b7a ldr r3, [pc, #488] ; (802a4a8 ) 802a2c0: 751a strb r2, [r3, #20] sector[d_Op2_ipr] = DiagnFileData.d_Op2_ipr; 802a2c2: 4b7a ldr r3, [pc, #488] ; (802a4ac ) 802a2c4: f893 3029 ldrb.w r3, [r3, #41] ; 0x29 802a2c8: b2da uxtb r2, r3 802a2ca: 4b77 ldr r3, [pc, #476] ; (802a4a8 ) 802a2cc: 755a strb r2, [r3, #21] sector[d_Op3_ipr] = DiagnFileData.d_Op3_ipr; 802a2ce: 4b77 ldr r3, [pc, #476] ; (802a4ac ) 802a2d0: f893 302a ldrb.w r3, [r3, #42] ; 0x2a 802a2d4: b2da uxtb r2, r3 802a2d6: 4b74 ldr r3, [pc, #464] ; (802a4a8 ) 802a2d8: 759a strb r2, [r3, #22] sector[d_Op1_ivs] = DiagnFileData.d_Op1_ivs; 802a2da: 4b74 ldr r3, [pc, #464] ; (802a4ac ) 802a2dc: f893 302b ldrb.w r3, [r3, #43] ; 0x2b 802a2e0: b2da uxtb r2, r3 802a2e2: 4b71 ldr r3, [pc, #452] ; (802a4a8 ) 802a2e4: 75da strb r2, [r3, #23] sector[d_Op2_ivs] = DiagnFileData.d_Op2_ivs; 802a2e6: 4b71 ldr r3, [pc, #452] ; (802a4ac ) 802a2e8: f893 302c ldrb.w r3, [r3, #44] ; 0x2c 802a2ec: b2da uxtb r2, r3 802a2ee: 4b6e ldr r3, [pc, #440] ; (802a4a8 ) 802a2f0: 761a strb r2, [r3, #24] sector[d_Op3_ivs] = DiagnFileData.d_Op3_ivs; 802a2f2: 4b6e ldr r3, [pc, #440] ; (802a4ac ) 802a2f4: f893 302d ldrb.w r3, [r3, #45] ; 0x2d 802a2f8: b2da uxtb r2, r3 802a2fa: 4b6b ldr r3, [pc, #428] ; (802a4a8 ) 802a2fc: 765a strb r2, [r3, #25] sector[d_Op1_col] = DiagnFileData.d_Op1_Color; 802a2fe: 4b6b ldr r3, [pc, #428] ; (802a4ac ) 802a300: f893 302e ldrb.w r3, [r3, #46] ; 0x2e 802a304: b2da uxtb r2, r3 802a306: 4b68 ldr r3, [pc, #416] ; (802a4a8 ) 802a308: 769a strb r2, [r3, #26] sector[d_Op2_col] = DiagnFileData.d_Op2_Color; 802a30a: 4b68 ldr r3, [pc, #416] ; (802a4ac ) 802a30c: f893 302f ldrb.w r3, [r3, #47] ; 0x2f 802a310: b2da uxtb r2, r3 802a312: 4b65 ldr r3, [pc, #404] ; (802a4a8 ) 802a314: 76da strb r2, [r3, #27] sector[d_Op3_col] = DiagnFileData.d_Op3_Color; 802a316: 4b65 ldr r3, [pc, #404] ; (802a4ac ) 802a318: f893 3030 ldrb.w r3, [r3, #48] ; 0x30 802a31c: b2da uxtb r2, r3 802a31e: 4b62 ldr r3, [pc, #392] ; (802a4a8 ) 802a320: 771a strb r2, [r3, #28] sector[d_W] = DiagnFileData.d_Warning; 802a322: 4b62 ldr r3, [pc, #392] ; (802a4ac ) 802a324: f893 3031 ldrb.w r3, [r3, #49] ; 0x31 802a328: b2da uxtb r2, r3 802a32a: 4b5f ldr r3, [pc, #380] ; (802a4a8 ) 802a32c: 775a strb r2, [r3, #29] sector[d_A] = DiagnFileData.d_Alarm; 802a32e: 4b5f ldr r3, [pc, #380] ; (802a4ac ) 802a330: f893 3032 ldrb.w r3, [r3, #50] ; 0x32 802a334: b2da uxtb r2, r3 802a336: 4b5c ldr r3, [pc, #368] ; (802a4a8 ) 802a338: 779a strb r2, [r3, #30] Day = DiagnFileData.d_Date.Date; 802a33a: 4b5c ldr r3, [pc, #368] ; (802a4ac ) 802a33c: f893 3026 ldrb.w r3, [r3, #38] ; 0x26 802a340: b2db uxtb r3, r3 802a342: 62bb str r3, [r7, #40] ; 0x28 Month = DiagnFileData.d_Date.Month; 802a344: 4b59 ldr r3, [pc, #356] ; (802a4ac ) 802a346: f893 3025 ldrb.w r3, [r3, #37] ; 0x25 802a34a: b2db uxtb r3, r3 802a34c: 627b str r3, [r7, #36] ; 0x24 Year = DiagnFileData.d_Date.Year + 2000; 802a34e: 4b57 ldr r3, [pc, #348] ; (802a4ac ) 802a350: f893 3027 ldrb.w r3, [r3, #39] ; 0x27 802a354: b2db uxtb r3, r3 802a356: f503 63fa add.w r3, r3, #2000 ; 0x7d0 802a35a: 623b str r3, [r7, #32] Hour = DiagnFileData.d_Time.Hours; 802a35c: 4b53 ldr r3, [pc, #332] ; (802a4ac ) 802a35e: 7b1b ldrb r3, [r3, #12] 802a360: b2db uxtb r3, r3 802a362: 61fb str r3, [r7, #28] Min = DiagnFileData.d_Time.Minutes; 802a364: 4b51 ldr r3, [pc, #324] ; (802a4ac ) 802a366: 7b5b ldrb r3, [r3, #13] 802a368: b2db uxtb r3, r3 802a36a: 61bb str r3, [r7, #24] Sec = DiagnFileData.d_Time.Seconds; 802a36c: 4b4f ldr r3, [pc, #316] ; (802a4ac ) 802a36e: 7b9b ldrb r3, [r3, #14] 802a370: b2db uxtb r3, r3 802a372: 617b str r3, [r7, #20] DateTime = ((Year - 1980) << 25) | (Month << 21) | (Day << 16) | (Hour << 11) | (Min << 5) | (Sec >> 1); 802a374: 6a3b ldr r3, [r7, #32] 802a376: f2a3 73bc subw r3, r3, #1980 ; 0x7bc 802a37a: 065a lsls r2, r3, #25 802a37c: 6a7b ldr r3, [r7, #36] ; 0x24 802a37e: 055b lsls r3, r3, #21 802a380: 431a orrs r2, r3 802a382: 6abb ldr r3, [r7, #40] ; 0x28 802a384: 041b lsls r3, r3, #16 802a386: 431a orrs r2, r3 802a388: 69fb ldr r3, [r7, #28] 802a38a: 02db lsls r3, r3, #11 802a38c: 431a orrs r2, r3 802a38e: 69bb ldr r3, [r7, #24] 802a390: 015b lsls r3, r3, #5 802a392: 431a orrs r2, r3 802a394: 697b ldr r3, [r7, #20] 802a396: 085b lsrs r3, r3, #1 802a398: 4313 orrs r3, r2 802a39a: 613b str r3, [r7, #16] sector[d_DateTime] = (uint8_t) (DateTime & 0xff); 802a39c: 693b ldr r3, [r7, #16] 802a39e: b2da uxtb r2, r3 802a3a0: 4b41 ldr r3, [pc, #260] ; (802a4a8 ) 802a3a2: 741a strb r2, [r3, #16] sector[d_DateTime + 1] = (uint8_t) ((DateTime >> 8) & 0xff); 802a3a4: 693b ldr r3, [r7, #16] 802a3a6: 0a1b lsrs r3, r3, #8 802a3a8: b2da uxtb r2, r3 802a3aa: 4b3f ldr r3, [pc, #252] ; (802a4a8 ) 802a3ac: 745a strb r2, [r3, #17] sector[d_DateTime + 2] = (uint8_t) ((DateTime >> 16) & 0xff); 802a3ae: 693b ldr r3, [r7, #16] 802a3b0: 0c1b lsrs r3, r3, #16 802a3b2: b2da uxtb r2, r3 802a3b4: 4b3c ldr r3, [pc, #240] ; (802a4a8 ) 802a3b6: 749a strb r2, [r3, #18] sector[d_DateTime + 3] = (uint8_t) ((DateTime >> 24) & 0xff); 802a3b8: 693b ldr r3, [r7, #16] 802a3ba: 0e1b lsrs r3, r3, #24 802a3bc: b2da uxtb r2, r3 802a3be: 4b3a ldr r3, [pc, #232] ; (802a4a8 ) 802a3c0: 74da strb r2, [r3, #19] sector[d_13] = 0xD; 802a3c2: 4b39 ldr r3, [pc, #228] ; (802a4a8 ) 802a3c4: 220d movs r2, #13 802a3c6: 77da strb r2, [r3, #31] sector[d_10] = 0xA; 802a3c8: 4b37 ldr r3, [pc, #220] ; (802a4a8 ) 802a3ca: 220a movs r2, #10 802a3cc: f883 2020 strb.w r2, [r3, #32] res = f_write(&F, sector, 33, &fk); 802a3d0: f107 030c add.w r3, r7, #12 802a3d4: 2221 movs r2, #33 ; 0x21 802a3d6: 4934 ldr r1, [pc, #208] ; (802a4a8 ) 802a3d8: 4831 ldr r0, [pc, #196] ; (802a4a0 ) 802a3da: f09c f915 bl 80c6608 802a3de: 4603 mov r3, r0 802a3e0: f887 303f strb.w r3, [r7, #63] ; 0x3f if((res == FR_OK) && (fk == 33)) 802a3e4: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 802a3e8: 2b00 cmp r3, #0 802a3ea: d11f bne.n 802a42c 802a3ec: 68fb ldr r3, [r7, #12] 802a3ee: 2b21 cmp r3, #33 ; 0x21 802a3f0: d11c bne.n 802a42c { f_close(&F); 802a3f2: 482b ldr r0, [pc, #172] ; (802a4a0 ) 802a3f4: f09c fbac bl 80c6b50 if(IndexMeas[NextIndexPoint] < 999) 802a3f8: 4b2a ldr r3, [pc, #168] ; (802a4a4 ) 802a3fa: 681b ldr r3, [r3, #0] 802a3fc: 4a2c ldr r2, [pc, #176] ; (802a4b0 ) 802a3fe: f852 3023 ldr.w r3, [r2, r3, lsl #2] 802a402: f240 32e6 movw r2, #998 ; 0x3e6 802a406: 4293 cmp r3, r2 802a408: d808 bhi.n 802a41c IndexMeas[NextIndexPoint]++; 802a40a: 4b26 ldr r3, [pc, #152] ; (802a4a4 ) 802a40c: 681b ldr r3, [r3, #0] 802a40e: 4a28 ldr r2, [pc, #160] ; (802a4b0 ) 802a410: f852 2023 ldr.w r2, [r2, r3, lsl #2] 802a414: 3201 adds r2, #1 802a416: 4926 ldr r1, [pc, #152] ; (802a4b0 ) 802a418: f841 2023 str.w r2, [r1, r3, lsl #2] NextIndexMeas = IndexMeas[NextIndexPoint]; 802a41c: 4b21 ldr r3, [pc, #132] ; (802a4a4 ) 802a41e: 681b ldr r3, [r3, #0] 802a420: 4a23 ldr r2, [pc, #140] ; (802a4b0 ) 802a422: f852 3023 ldr.w r3, [r2, r3, lsl #2] 802a426: 4a23 ldr r2, [pc, #140] ; (802a4b4 ) 802a428: 6013 str r3, [r2, #0] 802a42a: e1f6 b.n 802a81a } else { f_close(&F); 802a42c: 481c ldr r0, [pc, #112] ; (802a4a0 ) 802a42e: f09c fb8f bl 80c6b50 return FR_DISK_ERR; 802a432: 2301 movs r3, #1 802a434: e1f3 b.n 802a81e } } else { f_close(&F); 802a436: 481a ldr r0, [pc, #104] ; (802a4a0 ) 802a438: f09c fb8a bl 80c6b50 return FR_DISK_ERR; 802a43c: 2301 movs r3, #1 802a43e: e1ee b.n 802a81e } } else { /////////////////////////////////////////////////////////////////////////////// res = f_lseek(&F, 0); 802a440: f04f 0200 mov.w r2, #0 802a444: f04f 0300 mov.w r3, #0 802a448: 4815 ldr r0, [pc, #84] ; (802a4a0 ) 802a44a: f09c fba1 bl 80c6b90 802a44e: 4603 mov r3, r0 802a450: f887 303f strb.w r3, [r7, #63] ; 0x3f if(res == FR_OK) 802a454: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 802a458: 2b00 cmp r3, #0 802a45a: d17f bne.n 802a55c { res = f_read(&F, sector, 6, &fk); 802a45c: f107 030c add.w r3, r7, #12 802a460: 2206 movs r2, #6 802a462: 4911 ldr r1, [pc, #68] ; (802a4a8 ) 802a464: 480e ldr r0, [pc, #56] ; (802a4a0 ) 802a466: f09b ff8c bl 80c6382 802a46a: 4603 mov r3, r0 802a46c: f887 303f strb.w r3, [r7, #63] ; 0x3f if((res == FR_OK) && (fk == 6)) 802a470: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 802a474: 2b00 cmp r3, #0 802a476: d16c bne.n 802a552 802a478: 68fb ldr r3, [r7, #12] 802a47a: 2b06 cmp r3, #6 802a47c: d169 bne.n 802a552 { sector[6] = '\0'; 802a47e: 4b0a ldr r3, [pc, #40] ; (802a4a8 ) 802a480: 2200 movs r2, #0 802a482: 719a strb r2, [r3, #6] if(strcmp((char *) sector, "Extend")) 802a484: 490c ldr r1, [pc, #48] ; (802a4b8 ) 802a486: 4808 ldr r0, [pc, #32] ; (802a4a8 ) 802a488: f7f5 ff3a bl 8020300 802a48c: 4603 mov r3, r0 802a48e: 2b00 cmp r3, #0 802a490: d014 beq.n 802a4bc { //Ñòàðàÿ âåðñèÿ ôàéëà ifs = 0; 802a492: f04f 0300 mov.w r3, #0 802a496: f04f 0400 mov.w r4, #0 802a49a: e9c7 340c strd r3, r4, [r7, #48] ; 0x30 if(strcmp((char *) sector, "Extend")) 802a49e: e062 b.n 802a566 802a4a0: 20022e20 .word 0x20022e20 802a4a4: 20021f9c .word 0x20021f9c 802a4a8: 2007c000 .word 0x2007c000 802a4ac: 200225f4 .word 0x200225f4 802a4b0: 20022ea0 .word 0x20022ea0 802a4b4: 20022310 .word 0x20022310 802a4b8: 080ce494 .word 0x080ce494 } else { //Ðàñøèðåííàÿ âåðñèÿ ôàéëà ñ êîììåíòàðèÿìè memcpy(sector, Comment, sizeof(Comment)); 802a4bc: 4b51 ldr r3, [pc, #324] ; (802a604 ) 802a4be: 4a52 ldr r2, [pc, #328] ; (802a608 ) 802a4c0: 4614 mov r4, r2 802a4c2: 461e mov r6, r3 802a4c4: f104 0e20 add.w lr, r4, #32 802a4c8: 4635 mov r5, r6 802a4ca: 4623 mov r3, r4 802a4cc: 6818 ldr r0, [r3, #0] 802a4ce: 6859 ldr r1, [r3, #4] 802a4d0: 689a ldr r2, [r3, #8] 802a4d2: 68db ldr r3, [r3, #12] 802a4d4: c50f stmia r5!, {r0, r1, r2, r3} 802a4d6: 3410 adds r4, #16 802a4d8: 3610 adds r6, #16 802a4da: 4574 cmp r4, lr 802a4dc: d1f4 bne.n 802a4c8 802a4de: 4633 mov r3, r6 802a4e0: 4622 mov r2, r4 802a4e2: 6810 ldr r0, [r2, #0] 802a4e4: 6851 ldr r1, [r2, #4] 802a4e6: c303 stmia r3!, {r0, r1} ifs = 96u + (NextIndexPoint * sizeof(Comment)); 802a4e8: 4b48 ldr r3, [pc, #288] ; (802a60c ) 802a4ea: 681a ldr r2, [r3, #0] 802a4ec: 4613 mov r3, r2 802a4ee: 009b lsls r3, r3, #2 802a4f0: 4413 add r3, r2 802a4f2: 00db lsls r3, r3, #3 802a4f4: 3360 adds r3, #96 ; 0x60 802a4f6: f04f 0400 mov.w r4, #0 802a4fa: e9c7 340c strd r3, r4, [r7, #48] ; 0x30 if(f_lseek(&F, ifs) == FR_OK) 802a4fe: e9d7 230c ldrd r2, r3, [r7, #48] ; 0x30 802a502: 4843 ldr r0, [pc, #268] ; (802a610 ) 802a504: f09c fb44 bl 80c6b90 802a508: 4603 mov r3, r0 802a50a: 2b00 cmp r3, #0 802a50c: d11c bne.n 802a548 { res = f_write(&F, sector, sizeof(Comment), &fk); 802a50e: f107 030c add.w r3, r7, #12 802a512: 2228 movs r2, #40 ; 0x28 802a514: 493b ldr r1, [pc, #236] ; (802a604 ) 802a516: 483e ldr r0, [pc, #248] ; (802a610 ) 802a518: f09c f876 bl 80c6608 802a51c: 4603 mov r3, r0 802a51e: f887 303f strb.w r3, [r7, #63] ; 0x3f if((res != FR_OK) || (fk != sizeof(Comment))) 802a522: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 802a526: 2b00 cmp r3, #0 802a528: d102 bne.n 802a530 802a52a: 68fb ldr r3, [r7, #12] 802a52c: 2b28 cmp r3, #40 ; 0x28 802a52e: d004 beq.n 802a53a { f_close(&F); 802a530: 4837 ldr r0, [pc, #220] ; (802a610 ) 802a532: f09c fb0d bl 80c6b50 return FR_DISK_ERR; 802a536: 2301 movs r3, #1 802a538: e171 b.n 802a81e } ifs = 96u + (NUM_POINTS * sizeof(Comment)); 802a53a: f649 43a0 movw r3, #40096 ; 0x9ca0 802a53e: f04f 0400 mov.w r4, #0 802a542: e9c7 340c strd r3, r4, [r7, #48] ; 0x30 if(strcmp((char *) sector, "Extend")) 802a546: e00e b.n 802a566 } else { f_close(&F); 802a548: 4831 ldr r0, [pc, #196] ; (802a610 ) 802a54a: f09c fb01 bl 80c6b50 return FR_DISK_ERR; 802a54e: 2301 movs r3, #1 802a550: e165 b.n 802a81e } } else { f_close(&F); 802a552: 482f ldr r0, [pc, #188] ; (802a610 ) 802a554: f09c fafc bl 80c6b50 return FR_DISK_ERR; 802a558: 2301 movs r3, #1 802a55a: e160 b.n 802a81e } } else { f_close(&F); 802a55c: 482c ldr r0, [pc, #176] ; (802a610 ) 802a55e: f09c faf7 bl 80c6b50 return FR_DISK_ERR; 802a562: 2301 movs r3, #1 802a564: e15b b.n 802a81e } /////////////////////////////////////////////////////////////////////////////// while(ifs < f_size(&F)) 802a566: e14e b.n 802a806 { if(f_lseek(&F, ifs) == FR_OK) 802a568: e9d7 230c ldrd r2, r3, [r7, #48] ; 0x30 802a56c: 4828 ldr r0, [pc, #160] ; (802a610 ) 802a56e: f09c fb0f bl 80c6b90 802a572: 4603 mov r3, r0 802a574: 2b00 cmp r3, #0 802a576: f040 8141 bne.w 802a7fc { res = f_read(&F, sector, 33, &fk); 802a57a: f107 030c add.w r3, r7, #12 802a57e: 2221 movs r2, #33 ; 0x21 802a580: 4920 ldr r1, [pc, #128] ; (802a604 ) 802a582: 4823 ldr r0, [pc, #140] ; (802a610 ) 802a584: f09b fefd bl 80c6382 802a588: 4603 mov r3, r0 802a58a: f887 303f strb.w r3, [r7, #63] ; 0x3f if((res == FR_OK) && (fk == 33)) 802a58e: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 802a592: 2b00 cmp r3, #0 802a594: f040 812d bne.w 802a7f2 802a598: 68fb ldr r3, [r7, #12] 802a59a: 2b21 cmp r3, #33 ; 0x21 802a59c: f040 8129 bne.w 802a7f2 { if((sector[d_13] == 0xD) && (sector[d_10] == 0xA)) 802a5a0: 4b18 ldr r3, [pc, #96] ; (802a604 ) 802a5a2: 7fdb ldrb r3, [r3, #31] 802a5a4: 2b0d cmp r3, #13 802a5a6: f040 8116 bne.w 802a7d6 802a5aa: 4b16 ldr r3, [pc, #88] ; (802a604 ) 802a5ac: f893 3020 ldrb.w r3, [r3, #32] 802a5b0: 2b0a cmp r3, #10 802a5b2: f040 8110 bne.w 802a7d6 { IP = sector[d_Point + 1]; 802a5b6: 4b13 ldr r3, [pc, #76] ; (802a604 ) 802a5b8: 785b ldrb r3, [r3, #1] 802a5ba: 85bb strh r3, [r7, #44] ; 0x2c IP = (IP << 8) | sector[d_Point]; 802a5bc: 8dbb ldrh r3, [r7, #44] ; 0x2c 802a5be: 021b lsls r3, r3, #8 802a5c0: b21a sxth r2, r3 802a5c2: 4b10 ldr r3, [pc, #64] ; (802a604 ) 802a5c4: 781b ldrb r3, [r3, #0] 802a5c6: b21b sxth r3, r3 802a5c8: 4313 orrs r3, r2 802a5ca: b21b sxth r3, r3 802a5cc: 85bb strh r3, [r7, #44] ; 0x2c if(NextIndexPoint == IP) 802a5ce: 8dba ldrh r2, [r7, #44] ; 0x2c 802a5d0: 4b0e ldr r3, [pc, #56] ; (802a60c ) 802a5d2: 681b ldr r3, [r3, #0] 802a5d4: 429a cmp r2, r3 802a5d6: f040 8103 bne.w 802a7e0 { IM = sector[d_Meas + 1]; 802a5da: 4b0a ldr r3, [pc, #40] ; (802a604 ) 802a5dc: 78db ldrb r3, [r3, #3] 802a5de: 85fb strh r3, [r7, #46] ; 0x2e IM = (IM << 8) | sector[d_Meas]; 802a5e0: 8dfb ldrh r3, [r7, #46] ; 0x2e 802a5e2: 021b lsls r3, r3, #8 802a5e4: b21a sxth r2, r3 802a5e6: 4b07 ldr r3, [pc, #28] ; (802a604 ) 802a5e8: 789b ldrb r3, [r3, #2] 802a5ea: b21b sxth r3, r3 802a5ec: 4313 orrs r3, r2 802a5ee: b21b sxth r3, r3 802a5f0: 85fb strh r3, [r7, #46] ; 0x2e if(NextIndexMeas == IM) 802a5f2: 8dfa ldrh r2, [r7, #46] ; 0x2e 802a5f4: 4b07 ldr r3, [pc, #28] ; (802a614 ) 802a5f6: 681b ldr r3, [r3, #0] 802a5f8: 429a cmp r2, r3 802a5fa: f040 80f1 bne.w 802a7e0 { for(i = 0; i < 4; i++) 802a5fe: 2300 movs r3, #0 802a600: 63bb str r3, [r7, #56] ; 0x38 802a602: e029 b.n 802a658 802a604: 2007c000 .word 0x2007c000 802a608: 20022650 .word 0x20022650 802a60c: 20021f9c .word 0x20021f9c 802a610: 20022e20 .word 0x20022e20 802a614: 20022310 .word 0x20022310 { sector[d_Op1_1 + i] = DiagnFileData.Op_1.ch[i]; 802a618: 6bbb ldr r3, [r7, #56] ; 0x38 802a61a: 3304 adds r3, #4 802a61c: 4982 ldr r1, [pc, #520] ; (802a828 ) 802a61e: 6bba ldr r2, [r7, #56] ; 0x38 802a620: 440a add r2, r1 802a622: 7812 ldrb r2, [r2, #0] 802a624: b2d1 uxtb r1, r2 802a626: 4a81 ldr r2, [pc, #516] ; (802a82c ) 802a628: 54d1 strb r1, [r2, r3] sector[d_Op2_1 + i] = DiagnFileData.Op_2.ch[i]; 802a62a: 6bbb ldr r3, [r7, #56] ; 0x38 802a62c: 3308 adds r3, #8 802a62e: 497e ldr r1, [pc, #504] ; (802a828 ) 802a630: 6bba ldr r2, [r7, #56] ; 0x38 802a632: 440a add r2, r1 802a634: 3204 adds r2, #4 802a636: 7812 ldrb r2, [r2, #0] 802a638: b2d1 uxtb r1, r2 802a63a: 4a7c ldr r2, [pc, #496] ; (802a82c ) 802a63c: 54d1 strb r1, [r2, r3] sector[d_Op3_1 + i] = DiagnFileData.Op_3.ch[i]; 802a63e: 6bbb ldr r3, [r7, #56] ; 0x38 802a640: 330c adds r3, #12 802a642: 4979 ldr r1, [pc, #484] ; (802a828 ) 802a644: 6bba ldr r2, [r7, #56] ; 0x38 802a646: 440a add r2, r1 802a648: 3208 adds r2, #8 802a64a: 7812 ldrb r2, [r2, #0] 802a64c: b2d1 uxtb r1, r2 802a64e: 4a77 ldr r2, [pc, #476] ; (802a82c ) 802a650: 54d1 strb r1, [r2, r3] for(i = 0; i < 4; i++) 802a652: 6bbb ldr r3, [r7, #56] ; 0x38 802a654: 3301 adds r3, #1 802a656: 63bb str r3, [r7, #56] ; 0x38 802a658: 6bbb ldr r3, [r7, #56] ; 0x38 802a65a: 2b03 cmp r3, #3 802a65c: d9dc bls.n 802a618 } sector[d_Op1_ipr] = DiagnFileData.d_Op1_ipr; 802a65e: 4b72 ldr r3, [pc, #456] ; (802a828 ) 802a660: f893 3028 ldrb.w r3, [r3, #40] ; 0x28 802a664: b2da uxtb r2, r3 802a666: 4b71 ldr r3, [pc, #452] ; (802a82c ) 802a668: 751a strb r2, [r3, #20] sector[d_Op2_ipr] = DiagnFileData.d_Op2_ipr; 802a66a: 4b6f ldr r3, [pc, #444] ; (802a828 ) 802a66c: f893 3029 ldrb.w r3, [r3, #41] ; 0x29 802a670: b2da uxtb r2, r3 802a672: 4b6e ldr r3, [pc, #440] ; (802a82c ) 802a674: 755a strb r2, [r3, #21] sector[d_Op3_ipr] = DiagnFileData.d_Op3_ipr; 802a676: 4b6c ldr r3, [pc, #432] ; (802a828 ) 802a678: f893 302a ldrb.w r3, [r3, #42] ; 0x2a 802a67c: b2da uxtb r2, r3 802a67e: 4b6b ldr r3, [pc, #428] ; (802a82c ) 802a680: 759a strb r2, [r3, #22] sector[d_Op1_ivs] = DiagnFileData.d_Op1_ivs; 802a682: 4b69 ldr r3, [pc, #420] ; (802a828 ) 802a684: f893 302b ldrb.w r3, [r3, #43] ; 0x2b 802a688: b2da uxtb r2, r3 802a68a: 4b68 ldr r3, [pc, #416] ; (802a82c ) 802a68c: 75da strb r2, [r3, #23] sector[d_Op2_ivs] = DiagnFileData.d_Op2_ivs; 802a68e: 4b66 ldr r3, [pc, #408] ; (802a828 ) 802a690: f893 302c ldrb.w r3, [r3, #44] ; 0x2c 802a694: b2da uxtb r2, r3 802a696: 4b65 ldr r3, [pc, #404] ; (802a82c ) 802a698: 761a strb r2, [r3, #24] sector[d_Op3_ivs] = DiagnFileData.d_Op3_ivs; 802a69a: 4b63 ldr r3, [pc, #396] ; (802a828 ) 802a69c: f893 302d ldrb.w r3, [r3, #45] ; 0x2d 802a6a0: b2da uxtb r2, r3 802a6a2: 4b62 ldr r3, [pc, #392] ; (802a82c ) 802a6a4: 765a strb r2, [r3, #25] sector[d_Op1_col] = DiagnFileData.d_Op1_Color; 802a6a6: 4b60 ldr r3, [pc, #384] ; (802a828 ) 802a6a8: f893 302e ldrb.w r3, [r3, #46] ; 0x2e 802a6ac: b2da uxtb r2, r3 802a6ae: 4b5f ldr r3, [pc, #380] ; (802a82c ) 802a6b0: 769a strb r2, [r3, #26] sector[d_Op2_col] = DiagnFileData.d_Op2_Color; 802a6b2: 4b5d ldr r3, [pc, #372] ; (802a828 ) 802a6b4: f893 302f ldrb.w r3, [r3, #47] ; 0x2f 802a6b8: b2da uxtb r2, r3 802a6ba: 4b5c ldr r3, [pc, #368] ; (802a82c ) 802a6bc: 76da strb r2, [r3, #27] sector[d_Op3_col] = DiagnFileData.d_Op3_Color; 802a6be: 4b5a ldr r3, [pc, #360] ; (802a828 ) 802a6c0: f893 3030 ldrb.w r3, [r3, #48] ; 0x30 802a6c4: b2da uxtb r2, r3 802a6c6: 4b59 ldr r3, [pc, #356] ; (802a82c ) 802a6c8: 771a strb r2, [r3, #28] sector[d_W] = DiagnFileData.d_Warning; 802a6ca: 4b57 ldr r3, [pc, #348] ; (802a828 ) 802a6cc: f893 3031 ldrb.w r3, [r3, #49] ; 0x31 802a6d0: b2da uxtb r2, r3 802a6d2: 4b56 ldr r3, [pc, #344] ; (802a82c ) 802a6d4: 775a strb r2, [r3, #29] sector[d_A] = DiagnFileData.d_Alarm; 802a6d6: 4b54 ldr r3, [pc, #336] ; (802a828 ) 802a6d8: f893 3032 ldrb.w r3, [r3, #50] ; 0x32 802a6dc: b2da uxtb r2, r3 802a6de: 4b53 ldr r3, [pc, #332] ; (802a82c ) 802a6e0: 779a strb r2, [r3, #30] Day = DiagnFileData.d_Date.Date; 802a6e2: 4b51 ldr r3, [pc, #324] ; (802a828 ) 802a6e4: f893 3026 ldrb.w r3, [r3, #38] ; 0x26 802a6e8: b2db uxtb r3, r3 802a6ea: 62bb str r3, [r7, #40] ; 0x28 Month = DiagnFileData.d_Date.Month; 802a6ec: 4b4e ldr r3, [pc, #312] ; (802a828 ) 802a6ee: f893 3025 ldrb.w r3, [r3, #37] ; 0x25 802a6f2: b2db uxtb r3, r3 802a6f4: 627b str r3, [r7, #36] ; 0x24 Year = DiagnFileData.d_Date.Year + 2000; 802a6f6: 4b4c ldr r3, [pc, #304] ; (802a828 ) 802a6f8: f893 3027 ldrb.w r3, [r3, #39] ; 0x27 802a6fc: b2db uxtb r3, r3 802a6fe: f503 63fa add.w r3, r3, #2000 ; 0x7d0 802a702: 623b str r3, [r7, #32] Hour = DiagnFileData.d_Time.Hours; 802a704: 4b48 ldr r3, [pc, #288] ; (802a828 ) 802a706: 7b1b ldrb r3, [r3, #12] 802a708: b2db uxtb r3, r3 802a70a: 61fb str r3, [r7, #28] Min = DiagnFileData.d_Time.Minutes; 802a70c: 4b46 ldr r3, [pc, #280] ; (802a828 ) 802a70e: 7b5b ldrb r3, [r3, #13] 802a710: b2db uxtb r3, r3 802a712: 61bb str r3, [r7, #24] Sec = DiagnFileData.d_Time.Seconds; 802a714: 4b44 ldr r3, [pc, #272] ; (802a828 ) 802a716: 7b9b ldrb r3, [r3, #14] 802a718: b2db uxtb r3, r3 802a71a: 617b str r3, [r7, #20] DateTime = ((Year - 1980) << 25) | (Month << 21) | (Day << 16) | (Hour << 11) | (Min << 5) | (Sec >> 1); 802a71c: 6a3b ldr r3, [r7, #32] 802a71e: f2a3 73bc subw r3, r3, #1980 ; 0x7bc 802a722: 065a lsls r2, r3, #25 802a724: 6a7b ldr r3, [r7, #36] ; 0x24 802a726: 055b lsls r3, r3, #21 802a728: 431a orrs r2, r3 802a72a: 6abb ldr r3, [r7, #40] ; 0x28 802a72c: 041b lsls r3, r3, #16 802a72e: 431a orrs r2, r3 802a730: 69fb ldr r3, [r7, #28] 802a732: 02db lsls r3, r3, #11 802a734: 431a orrs r2, r3 802a736: 69bb ldr r3, [r7, #24] 802a738: 015b lsls r3, r3, #5 802a73a: 431a orrs r2, r3 802a73c: 697b ldr r3, [r7, #20] 802a73e: 085b lsrs r3, r3, #1 802a740: 4313 orrs r3, r2 802a742: 613b str r3, [r7, #16] sector[d_DateTime] = (uint8_t) (DateTime & 0xff); 802a744: 693b ldr r3, [r7, #16] 802a746: b2da uxtb r2, r3 802a748: 4b38 ldr r3, [pc, #224] ; (802a82c ) 802a74a: 741a strb r2, [r3, #16] sector[d_DateTime + 1] = (uint8_t) ((DateTime >> 8) & 0xff); 802a74c: 693b ldr r3, [r7, #16] 802a74e: 0a1b lsrs r3, r3, #8 802a750: b2da uxtb r2, r3 802a752: 4b36 ldr r3, [pc, #216] ; (802a82c ) 802a754: 745a strb r2, [r3, #17] sector[d_DateTime + 2] = (uint8_t) ((DateTime >> 16) & 0xff); 802a756: 693b ldr r3, [r7, #16] 802a758: 0c1b lsrs r3, r3, #16 802a75a: b2da uxtb r2, r3 802a75c: 4b33 ldr r3, [pc, #204] ; (802a82c ) 802a75e: 749a strb r2, [r3, #18] sector[d_DateTime + 3] = (uint8_t) ((DateTime >> 24) & 0xff); 802a760: 693b ldr r3, [r7, #16] 802a762: 0e1b lsrs r3, r3, #24 802a764: b2da uxtb r2, r3 802a766: 4b31 ldr r3, [pc, #196] ; (802a82c ) 802a768: 74da strb r2, [r3, #19] sector[d_13] = 0xD; 802a76a: 4b30 ldr r3, [pc, #192] ; (802a82c ) 802a76c: 220d movs r2, #13 802a76e: 77da strb r2, [r3, #31] sector[d_10] = 0xA; 802a770: 4b2e ldr r3, [pc, #184] ; (802a82c ) 802a772: 220a movs r2, #10 802a774: f883 2020 strb.w r2, [r3, #32] if(f_lseek(&F, ifs) == FR_OK) 802a778: e9d7 230c ldrd r2, r3, [r7, #48] ; 0x30 802a77c: 482c ldr r0, [pc, #176] ; (802a830 ) 802a77e: f09c fa07 bl 80c6b90 802a782: 4603 mov r3, r0 802a784: 2b00 cmp r3, #0 802a786: d121 bne.n 802a7cc { res = f_write(&F, sector, 33, &fk); 802a788: f107 030c add.w r3, r7, #12 802a78c: 2221 movs r2, #33 ; 0x21 802a78e: 4927 ldr r1, [pc, #156] ; (802a82c ) 802a790: 4827 ldr r0, [pc, #156] ; (802a830 ) 802a792: f09b ff39 bl 80c6608 802a796: 4603 mov r3, r0 802a798: f887 303f strb.w r3, [r7, #63] ; 0x3f if((res == FR_OK) && (fk == 33)) 802a79c: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 802a7a0: 2b00 cmp r3, #0 802a7a2: d10e bne.n 802a7c2 802a7a4: 68fb ldr r3, [r7, #12] 802a7a6: 2b21 cmp r3, #33 ; 0x21 802a7a8: d10b bne.n 802a7c2 { f_close(&F); 802a7aa: 4821 ldr r0, [pc, #132] ; (802a830 ) 802a7ac: f09c f9d0 bl 80c6b50 NextIndexMeas = IndexMeas[NextIndexPoint]; 802a7b0: 4b20 ldr r3, [pc, #128] ; (802a834 ) 802a7b2: 681b ldr r3, [r3, #0] 802a7b4: 4a20 ldr r2, [pc, #128] ; (802a838 ) 802a7b6: f852 3023 ldr.w r3, [r2, r3, lsl #2] 802a7ba: 4a20 ldr r2, [pc, #128] ; (802a83c ) 802a7bc: 6013 str r3, [r2, #0] return FR_OK; 802a7be: 2300 movs r3, #0 802a7c0: e02d b.n 802a81e } else { f_close(&F); 802a7c2: 481b ldr r0, [pc, #108] ; (802a830 ) 802a7c4: f09c f9c4 bl 80c6b50 return FR_DISK_ERR; 802a7c8: 2301 movs r3, #1 802a7ca: e028 b.n 802a81e } } else { f_close(&F); 802a7cc: 4818 ldr r0, [pc, #96] ; (802a830 ) 802a7ce: f09c f9bf bl 80c6b50 return FR_DISK_ERR; 802a7d2: 2301 movs r3, #1 802a7d4: e023 b.n 802a81e } } else { //BAD DATA IN FILE!!!!!!!!!!!!!! f_close(&F); 802a7d6: 4816 ldr r0, [pc, #88] ; (802a830 ) 802a7d8: f09c f9ba bl 80c6b50 return FR_INVALID_OBJECT; 802a7dc: 2309 movs r3, #9 802a7de: e01e b.n 802a81e if(NextIndexPoint == IP) 802a7e0: bf00 nop } ifs += 33; 802a7e2: e9d7 340c ldrd r3, r4, [r7, #48] ; 0x30 802a7e6: 3321 adds r3, #33 ; 0x21 802a7e8: f144 0400 adc.w r4, r4, #0 802a7ec: e9c7 340c strd r3, r4, [r7, #48] ; 0x30 802a7f0: e009 b.n 802a806 } else { f_close(&F); 802a7f2: 480f ldr r0, [pc, #60] ; (802a830 ) 802a7f4: f09c f9ac bl 80c6b50 return FR_DISK_ERR; 802a7f8: 2301 movs r3, #1 802a7fa: e010 b.n 802a81e } } else { f_close(&F); 802a7fc: 480c ldr r0, [pc, #48] ; (802a830 ) 802a7fe: f09c f9a7 bl 80c6b50 return FR_DISK_ERR; 802a802: 2301 movs r3, #1 802a804: e00b b.n 802a81e while(ifs < f_size(&F)) 802a806: 4b0a ldr r3, [pc, #40] ; (802a830 ) 802a808: e9d3 3404 ldrd r3, r4, [r3, #16] 802a80c: e9d7 120c ldrd r1, r2, [r7, #48] ; 0x30 802a810: 42a2 cmp r2, r4 802a812: bf08 it eq 802a814: 4299 cmpeq r1, r3 802a816: f4ff aea7 bcc.w 802a568 } } } } return res; 802a81a: f897 303f ldrb.w r3, [r7, #63] ; 0x3f } 802a81e: 4618 mov r0, r3 802a820: 3744 adds r7, #68 ; 0x44 802a822: 46bd mov sp, r7 802a824: bdf0 pop {r4, r5, r6, r7, pc} 802a826: bf00 nop 802a828: 200225f4 .word 0x200225f4 802a82c: 2007c000 .word 0x2007c000 802a830: 20022e20 .word 0x20022e20 802a834: 20021f9c .word 0x20021f9c 802a838: 20022ea0 .word 0x20022ea0 802a83c: 20022310 .word 0x20022310 0802a840 : FRESULT ReadNumFiles(uint8_t FileTypes, uint32_t *ReadValue) { 802a840: b580 push {r7, lr} 802a842: b084 sub sp, #16 802a844: af00 add r7, sp, #0 802a846: 4603 mov r3, r0 802a848: 6039 str r1, [r7, #0] 802a84a: 71fb strb r3, [r7, #7] FRESULT res = FR_OK; 802a84c: 2300 movs r3, #0 802a84e: 73fb strb r3, [r7, #15] if(CardState != MSD_READY) { 802a850: 4b36 ldr r3, [pc, #216] ; (802a92c ) 802a852: 781b ldrb r3, [r3, #0] 802a854: b2db uxtb r3, r3 802a856: 2b03 cmp r3, #3 802a858: d001 beq.n 802a85e return FR_NOT_READY; 802a85a: 2303 movs r3, #3 802a85c: e062 b.n 802a924 } if(res == FR_OK) 802a85e: 7bfb ldrb r3, [r7, #15] 802a860: 2b00 cmp r3, #0 802a862: d15e bne.n 802a922 { memset(SearchPath, 0, sizeof(SearchPath)); 802a864: f44f 7200 mov.w r2, #512 ; 0x200 802a868: 2100 movs r1, #0 802a86a: 4831 ldr r0, [pc, #196] ; (802a930 ) 802a86c: f0a2 fbec bl 80cd048 ScanMode = FileTypes; 802a870: 4a30 ldr r2, [pc, #192] ; (802a934 ) 802a872: 79fb ldrb r3, [r7, #7] 802a874: 7013 strb r3, [r2, #0] FlagReturn = false; 802a876: 4b30 ldr r3, [pc, #192] ; (802a938 ) 802a878: 2200 movs r2, #0 802a87a: 701a strb r2, [r3, #0] if(FileTypes == GET_NUM_CSV_FILES) 802a87c: 79fb ldrb r3, [r7, #7] 802a87e: 2b05 cmp r3, #5 802a880: d008 beq.n 802a894 //strcpy(SearchPath, "0:Routes"); //FlagReturn = true; } else if(FileTypes == GET_NUM_ROUTE_FILES) 802a882: 79fb ldrb r3, [r7, #7] 802a884: 2b06 cmp r3, #6 802a886: d105 bne.n 802a894 //strcpy(SearchPath, "0:Routes/"); //if(strlen(RouteName)) //strcat(SearchPath, RouteName); //else return 0; memset((void *) &RouteMeas(0), 0, 65536u); 802a888: f44f 3280 mov.w r2, #65536 ; 0x10000 802a88c: 2100 movs r1, #0 802a88e: 482b ldr r0, [pc, #172] ; (802a93c ) 802a890: f0a2 fbda bl 80cd048 { //SearchPath[0] = '0'; //SearchPath[1] = ':'; } SearchPath[0] = '0'; 802a894: 4b26 ldr r3, [pc, #152] ; (802a930 ) 802a896: 2230 movs r2, #48 ; 0x30 802a898: 701a strb r2, [r3, #0] SearchPath[1] = ':'; 802a89a: 4b25 ldr r3, [pc, #148] ; (802a930 ) 802a89c: 223a movs r2, #58 ; 0x3a 802a89e: 705a strb r2, [r3, #1] ScanFiles(SearchPath, 0); 802a8a0: 2100 movs r1, #0 802a8a2: 4823 ldr r0, [pc, #140] ; (802a930 ) 802a8a4: f001 f802 bl 802b8ac memset(SearchPath, 0, sizeof(SearchPath)); 802a8a8: f44f 7200 mov.w r2, #512 ; 0x200 802a8ac: 2100 movs r1, #0 802a8ae: 4820 ldr r0, [pc, #128] ; (802a930 ) 802a8b0: f0a2 fbca bl 80cd048 if(FileTypes == GET_NUM_PTM_FILES) *ReadValue = tmpPTM; 802a8b4: 79fb ldrb r3, [r7, #7] 802a8b6: 2b00 cmp r3, #0 802a8b8: d104 bne.n 802a8c4 802a8ba: 4b21 ldr r3, [pc, #132] ; (802a940 ) 802a8bc: 681a ldr r2, [r3, #0] 802a8be: 683b ldr r3, [r7, #0] 802a8c0: 601a str r2, [r3, #0] 802a8c2: e02e b.n 802a922 else if(FileTypes == GET_NUM_SPEC_FILES) *ReadValue = tmpSPEC; 802a8c4: 79fb ldrb r3, [r7, #7] 802a8c6: 2b02 cmp r3, #2 802a8c8: d104 bne.n 802a8d4 802a8ca: 4b1e ldr r3, [pc, #120] ; (802a944 ) 802a8cc: 681a ldr r2, [r3, #0] 802a8ce: 683b ldr r3, [r7, #0] 802a8d0: 601a str r2, [r3, #0] 802a8d2: e026 b.n 802a922 else if(FileTypes == GET_NUM_FRAN_FILES) *ReadValue = tmpFRAN; 802a8d4: 79fb ldrb r3, [r7, #7] 802a8d6: 2b03 cmp r3, #3 802a8d8: d104 bne.n 802a8e4 802a8da: 4b1b ldr r3, [pc, #108] ; (802a948 ) 802a8dc: 681a ldr r2, [r3, #0] 802a8de: 683b ldr r3, [r7, #0] 802a8e0: 601a str r2, [r3, #0] 802a8e2: e01e b.n 802a922 else if(FileTypes == GET_NUM_GTR_FILES) *ReadValue = tmpGTR; 802a8e4: 79fb ldrb r3, [r7, #7] 802a8e6: 2b01 cmp r3, #1 802a8e8: d104 bne.n 802a8f4 802a8ea: 4b18 ldr r3, [pc, #96] ; (802a94c ) 802a8ec: 681a ldr r2, [r3, #0] 802a8ee: 683b ldr r3, [r7, #0] 802a8f0: 601a str r2, [r3, #0] 802a8f2: e016 b.n 802a922 else if(FileTypes == GET_NUM_DGN_FILES) *ReadValue = tmpDGN; 802a8f4: 79fb ldrb r3, [r7, #7] 802a8f6: 2b04 cmp r3, #4 802a8f8: d104 bne.n 802a904 802a8fa: 4b15 ldr r3, [pc, #84] ; (802a950 ) 802a8fc: 681a ldr r2, [r3, #0] 802a8fe: 683b ldr r3, [r7, #0] 802a900: 601a str r2, [r3, #0] 802a902: e00e b.n 802a922 else if(FileTypes == GET_NUM_CSV_FILES) *ReadValue = tmpCSV; 802a904: 79fb ldrb r3, [r7, #7] 802a906: 2b05 cmp r3, #5 802a908: d104 bne.n 802a914 802a90a: 4b12 ldr r3, [pc, #72] ; (802a954 ) 802a90c: 681a ldr r2, [r3, #0] 802a90e: 683b ldr r3, [r7, #0] 802a910: 601a str r2, [r3, #0] 802a912: e006 b.n 802a922 else if(FileTypes == GET_NUM_ROUTE_FILES) *ReadValue = tmpGTR; 802a914: 79fb ldrb r3, [r7, #7] 802a916: 2b06 cmp r3, #6 802a918: d103 bne.n 802a922 802a91a: 4b0c ldr r3, [pc, #48] ; (802a94c ) 802a91c: 681a ldr r2, [r3, #0] 802a91e: 683b ldr r3, [r7, #0] 802a920: 601a str r2, [r3, #0] } return res; 802a922: 7bfb ldrb r3, [r7, #15] } 802a924: 4618 mov r0, r3 802a926: 3710 adds r7, #16 802a928: 46bd mov sp, r7 802a92a: bd80 pop {r7, pc} 802a92c: 2002164c .word 0x2002164c 802a930: 20021d80 .word 0x20021d80 802a934: 20020ddf .word 0x20020ddf 802a938: 20020dde .word 0x20020dde 802a93c: 64100000 .word 0x64100000 802a940: 20020e1c .word 0x20020e1c 802a944: 20020e24 .word 0x20020e24 802a948: 20020e28 .word 0x20020e28 802a94c: 20020e2c .word 0x20020e2c 802a950: 20020e20 .word 0x20020e20 802a954: 20020e30 .word 0x20020e30 0802a958 : FRESULT ReadNumFilesPTM(uint32_t *ReadValue) { 802a958: b580 push {r7, lr} 802a95a: b082 sub sp, #8 802a95c: af00 add r7, sp, #0 802a95e: 6078 str r0, [r7, #4] *ReadValue = 0; 802a960: 687b ldr r3, [r7, #4] 802a962: 2200 movs r2, #0 802a964: 601a str r2, [r3, #0] tmpPTM = 0; 802a966: 4b06 ldr r3, [pc, #24] ; (802a980 ) 802a968: 2200 movs r2, #0 802a96a: 601a str r2, [r3, #0] return (ReadNumFiles(GET_NUM_PTM_FILES, ReadValue)); 802a96c: 6879 ldr r1, [r7, #4] 802a96e: 2000 movs r0, #0 802a970: f7ff ff66 bl 802a840 802a974: 4603 mov r3, r0 } 802a976: 4618 mov r0, r3 802a978: 3708 adds r7, #8 802a97a: 46bd mov sp, r7 802a97c: bd80 pop {r7, pc} 802a97e: bf00 nop 802a980: 20020e1c .word 0x20020e1c 0802a984 : FRESULT ReadNumFilesDGN(uint32_t *ReadValue) { 802a984: b580 push {r7, lr} 802a986: b082 sub sp, #8 802a988: af00 add r7, sp, #0 802a98a: 6078 str r0, [r7, #4] *ReadValue = 0; 802a98c: 687b ldr r3, [r7, #4] 802a98e: 2200 movs r2, #0 802a990: 601a str r2, [r3, #0] tmpDGN = 0; 802a992: 4b06 ldr r3, [pc, #24] ; (802a9ac ) 802a994: 2200 movs r2, #0 802a996: 601a str r2, [r3, #0] return (ReadNumFiles(GET_NUM_DGN_FILES, ReadValue)); 802a998: 6879 ldr r1, [r7, #4] 802a99a: 2004 movs r0, #4 802a99c: f7ff ff50 bl 802a840 802a9a0: 4603 mov r3, r0 } 802a9a2: 4618 mov r0, r3 802a9a4: 3708 adds r7, #8 802a9a6: 46bd mov sp, r7 802a9a8: bd80 pop {r7, pc} 802a9aa: bf00 nop 802a9ac: 20020e20 .word 0x20020e20 0802a9b0 : FRESULT ReadNumFilesSPEC(uint32_t *ReadValue) { 802a9b0: b580 push {r7, lr} 802a9b2: b082 sub sp, #8 802a9b4: af00 add r7, sp, #0 802a9b6: 6078 str r0, [r7, #4] *ReadValue = 0; 802a9b8: 687b ldr r3, [r7, #4] 802a9ba: 2200 movs r2, #0 802a9bc: 601a str r2, [r3, #0] tmpSPEC = 0; 802a9be: 4b06 ldr r3, [pc, #24] ; (802a9d8 ) 802a9c0: 2200 movs r2, #0 802a9c2: 601a str r2, [r3, #0] return (ReadNumFiles(GET_NUM_SPEC_FILES, ReadValue)); 802a9c4: 6879 ldr r1, [r7, #4] 802a9c6: 2002 movs r0, #2 802a9c8: f7ff ff3a bl 802a840 802a9cc: 4603 mov r3, r0 } 802a9ce: 4618 mov r0, r3 802a9d0: 3708 adds r7, #8 802a9d2: 46bd mov sp, r7 802a9d4: bd80 pop {r7, pc} 802a9d6: bf00 nop 802a9d8: 20020e24 .word 0x20020e24 0802a9dc : FRESULT ReadNumFilesFRAN(uint32_t *ReadValue) { 802a9dc: b580 push {r7, lr} 802a9de: b082 sub sp, #8 802a9e0: af00 add r7, sp, #0 802a9e2: 6078 str r0, [r7, #4] *ReadValue = 0; 802a9e4: 687b ldr r3, [r7, #4] 802a9e6: 2200 movs r2, #0 802a9e8: 601a str r2, [r3, #0] tmpFRAN = 0; 802a9ea: 4b06 ldr r3, [pc, #24] ; (802aa04 ) 802a9ec: 2200 movs r2, #0 802a9ee: 601a str r2, [r3, #0] return (ReadNumFiles(GET_NUM_FRAN_FILES, ReadValue)); 802a9f0: 6879 ldr r1, [r7, #4] 802a9f2: 2003 movs r0, #3 802a9f4: f7ff ff24 bl 802a840 802a9f8: 4603 mov r3, r0 } 802a9fa: 4618 mov r0, r3 802a9fc: 3708 adds r7, #8 802a9fe: 46bd mov sp, r7 802aa00: bd80 pop {r7, pc} 802aa02: bf00 nop 802aa04: 20020e28 .word 0x20020e28 0802aa08 : FRESULT ReadNumFilesGTR(uint32_t *ReadValue) { 802aa08: b580 push {r7, lr} 802aa0a: b082 sub sp, #8 802aa0c: af00 add r7, sp, #0 802aa0e: 6078 str r0, [r7, #4] *ReadValue = 0; 802aa10: 687b ldr r3, [r7, #4] 802aa12: 2200 movs r2, #0 802aa14: 601a str r2, [r3, #0] tmpGTR = 0; 802aa16: 4b06 ldr r3, [pc, #24] ; (802aa30 ) 802aa18: 2200 movs r2, #0 802aa1a: 601a str r2, [r3, #0] return (ReadNumFiles(GET_NUM_GTR_FILES, ReadValue)); 802aa1c: 6879 ldr r1, [r7, #4] 802aa1e: 2001 movs r0, #1 802aa20: f7ff ff0e bl 802a840 802aa24: 4603 mov r3, r0 } 802aa26: 4618 mov r0, r3 802aa28: 3708 adds r7, #8 802aa2a: 46bd mov sp, r7 802aa2c: bd80 pop {r7, pc} 802aa2e: bf00 nop 802aa30: 20020e2c .word 0x20020e2c 0802aa34 : tmpGTR = 0; return (ReadNumFiles(GET_NUM_GTR_FILES, ReadValue)); } FRESULT ReadNumFilesCSV(uint32_t *ReadValue) { 802aa34: b580 push {r7, lr} 802aa36: b082 sub sp, #8 802aa38: af00 add r7, sp, #0 802aa3a: 6078 str r0, [r7, #4] *ReadValue = 0; 802aa3c: 687b ldr r3, [r7, #4] 802aa3e: 2200 movs r2, #0 802aa40: 601a str r2, [r3, #0] tmpCSV = 0; 802aa42: 4b06 ldr r3, [pc, #24] ; (802aa5c ) 802aa44: 2200 movs r2, #0 802aa46: 601a str r2, [r3, #0] return (ReadNumFiles(GET_NUM_CSV_FILES, ReadValue)); 802aa48: 6879 ldr r1, [r7, #4] 802aa4a: 2005 movs r0, #5 802aa4c: f7ff fef8 bl 802a840 802aa50: 4603 mov r3, r0 } 802aa52: 4618 mov r0, r3 802aa54: 3708 adds r7, #8 802aa56: 46bd mov sp, r7 802aa58: bd80 pop {r7, pc} 802aa5a: bf00 nop 802aa5c: 20020e30 .word 0x20020e30 0802aa60 : FRESULT ReadFileList(uint8_t FileTypes, uint32_t IndexFirstFile) { 802aa60: b580 push {r7, lr} 802aa62: b084 sub sp, #16 802aa64: af00 add r7, sp, #0 802aa66: 4603 mov r3, r0 802aa68: 6039 str r1, [r7, #0] 802aa6a: 71fb strb r3, [r7, #7] FRESULT res = FR_OK; 802aa6c: 2300 movs r3, #0 802aa6e: 73fb strb r3, [r7, #15] memset((char *) &ExplorerFiles, 0, VIEW_FILES * sizeof(File_ID0)); 802aa70: f44f 7228 mov.w r2, #672 ; 0x2a0 802aa74: 2100 movs r1, #0 802aa76: 4817 ldr r0, [pc, #92] ; (802aad4 ) 802aa78: f0a2 fae6 bl 80cd048 CntMyFiles = 0; 802aa7c: 4b16 ldr r3, [pc, #88] ; (802aad8 ) 802aa7e: 2200 movs r2, #0 802aa80: 601a str r2, [r3, #0] IndxMyFiles = 0; 802aa82: 4b16 ldr r3, [pc, #88] ; (802aadc ) 802aa84: 2200 movs r2, #0 802aa86: 601a str r2, [r3, #0] if(CardState != MSD_READY) { 802aa88: 4b15 ldr r3, [pc, #84] ; (802aae0 ) 802aa8a: 781b ldrb r3, [r3, #0] 802aa8c: b2db uxtb r3, r3 802aa8e: 2b03 cmp r3, #3 802aa90: d001 beq.n 802aa96 return FR_NOT_READY; 802aa92: 2303 movs r3, #3 802aa94: e019 b.n 802aaca } if(res == FR_OK) 802aa96: 7bfb ldrb r3, [r7, #15] 802aa98: 2b00 cmp r3, #0 802aa9a: d115 bne.n 802aac8 { memset(SearchPath, 0, sizeof(SearchPath)); 802aa9c: f44f 7200 mov.w r2, #512 ; 0x200 802aaa0: 2100 movs r1, #0 802aaa2: 4810 ldr r0, [pc, #64] ; (802aae4 ) 802aaa4: f0a2 fad0 bl 80cd048 ScanMode = FileTypes; 802aaa8: 4a0f ldr r2, [pc, #60] ; (802aae8 ) 802aaaa: 79fb ldrb r3, [r7, #7] 802aaac: 7013 strb r3, [r2, #0] FlagReturn = false; 802aaae: 4b0f ldr r3, [pc, #60] ; (802aaec ) 802aab0: 2200 movs r2, #0 802aab2: 701a strb r2, [r3, #0] { SearchPath[0] = '0'; SearchPath[1] = ':'; }*/ SearchPath[0] = '0'; 802aab4: 4b0b ldr r3, [pc, #44] ; (802aae4 ) 802aab6: 2230 movs r2, #48 ; 0x30 802aab8: 701a strb r2, [r3, #0] SearchPath[1] = ':'; 802aaba: 4b0a ldr r3, [pc, #40] ; (802aae4 ) 802aabc: 223a movs r2, #58 ; 0x3a 802aabe: 705a strb r2, [r3, #1] ScanFiles(SearchPath, IndexFirstFile); 802aac0: 6839 ldr r1, [r7, #0] 802aac2: 4808 ldr r0, [pc, #32] ; (802aae4 ) 802aac4: f000 fef2 bl 802b8ac } return res; 802aac8: 7bfb ldrb r3, [r7, #15] } 802aaca: 4618 mov r0, r3 802aacc: 3710 adds r7, #16 802aace: 46bd mov sp, r7 802aad0: bd80 pop {r7, pc} 802aad2: bf00 nop 802aad4: 20022350 .word 0x20022350 802aad8: 20020dec .word 0x20020dec 802aadc: 20020df0 .word 0x20020df0 802aae0: 2002164c .word 0x2002164c 802aae4: 20021d80 .word 0x20021d80 802aae8: 20020ddf .word 0x20020ddf 802aaec: 20020dde .word 0x20020dde 0802aaf0 : FRESULT ReadMyFilesPTM(uint32_t IndexFirstFile) { 802aaf0: b580 push {r7, lr} 802aaf2: b082 sub sp, #8 802aaf4: af00 add r7, sp, #0 802aaf6: 6078 str r0, [r7, #4] return (ReadFileList(GET_NAMES_12_PTM_FILES, IndexFirstFile)); 802aaf8: 6879 ldr r1, [r7, #4] 802aafa: 2007 movs r0, #7 802aafc: f7ff ffb0 bl 802aa60 802ab00: 4603 mov r3, r0 } 802ab02: 4618 mov r0, r3 802ab04: 3708 adds r7, #8 802ab06: 46bd mov sp, r7 802ab08: bd80 pop {r7, pc} 0802ab0a : FRESULT ReadMyFilesDGN(uint32_t IndexFirstFile) { 802ab0a: b580 push {r7, lr} 802ab0c: b082 sub sp, #8 802ab0e: af00 add r7, sp, #0 802ab10: 6078 str r0, [r7, #4] return (ReadFileList(GET_NAMES_12_DGN_FILES, IndexFirstFile)); 802ab12: 6879 ldr r1, [r7, #4] 802ab14: 200c movs r0, #12 802ab16: f7ff ffa3 bl 802aa60 802ab1a: 4603 mov r3, r0 } 802ab1c: 4618 mov r0, r3 802ab1e: 3708 adds r7, #8 802ab20: 46bd mov sp, r7 802ab22: bd80 pop {r7, pc} 0802ab24 : FRESULT ReadMyFilesSPEC(uint32_t IndexFirstFile) { 802ab24: b580 push {r7, lr} 802ab26: b082 sub sp, #8 802ab28: af00 add r7, sp, #0 802ab2a: 6078 str r0, [r7, #4] return (ReadFileList(GET_NAMES_12_SPEC_FILES, IndexFirstFile)); 802ab2c: 6879 ldr r1, [r7, #4] 802ab2e: 200a movs r0, #10 802ab30: f7ff ff96 bl 802aa60 802ab34: 4603 mov r3, r0 } 802ab36: 4618 mov r0, r3 802ab38: 3708 adds r7, #8 802ab3a: 46bd mov sp, r7 802ab3c: bd80 pop {r7, pc} 0802ab3e : FRESULT ReadMyFilesFRAN(uint32_t IndexFirstFile) { 802ab3e: b580 push {r7, lr} 802ab40: b082 sub sp, #8 802ab42: af00 add r7, sp, #0 802ab44: 6078 str r0, [r7, #4] return (ReadFileList(GET_NAMES_12_FRAN_FILES, IndexFirstFile)); 802ab46: 6879 ldr r1, [r7, #4] 802ab48: 200b movs r0, #11 802ab4a: f7ff ff89 bl 802aa60 802ab4e: 4603 mov r3, r0 } 802ab50: 4618 mov r0, r3 802ab52: 3708 adds r7, #8 802ab54: 46bd mov sp, r7 802ab56: bd80 pop {r7, pc} 0802ab58 : FRESULT ReadMyFilesGTR(uint32_t IndexFirstFile) { 802ab58: b580 push {r7, lr} 802ab5a: b082 sub sp, #8 802ab5c: af00 add r7, sp, #0 802ab5e: 6078 str r0, [r7, #4] return (ReadFileList(GET_NAMES_12_GTR_FILES, IndexFirstFile)); 802ab60: 6879 ldr r1, [r7, #4] 802ab62: 2008 movs r0, #8 802ab64: f7ff ff7c bl 802aa60 802ab68: 4603 mov r3, r0 } 802ab6a: 4618 mov r0, r3 802ab6c: 3708 adds r7, #8 802ab6e: 46bd mov sp, r7 802ab70: bd80 pop {r7, pc} 0802ab72 : FRESULT ReadMyFilesCSV(uint32_t IndexFirstFile) { 802ab72: b580 push {r7, lr} 802ab74: b082 sub sp, #8 802ab76: af00 add r7, sp, #0 802ab78: 6078 str r0, [r7, #4] return (ReadFileList(GET_NAMES_12_CSV_FILES, IndexFirstFile)); 802ab7a: 6879 ldr r1, [r7, #4] 802ab7c: 200d movs r0, #13 802ab7e: f7ff ff6f bl 802aa60 802ab82: 4603 mov r3, r0 } 802ab84: 4618 mov r0, r3 802ab86: 3708 adds r7, #8 802ab88: 46bd mov sp, r7 802ab8a: bd80 pop {r7, pc} 0802ab8c : FRESULT CheckExistPTM(char *fname) { 802ab8c: b580 push {r7, lr} 802ab8e: b084 sub sp, #16 802ab90: af00 add r7, sp, #0 802ab92: 6078 str r0, [r7, #4] FRESULT res = FR_OK; 802ab94: 2300 movs r3, #0 802ab96: 73fb strb r3, [r7, #15] if(CardState != MSD_READY) { 802ab98: 4b20 ldr r3, [pc, #128] ; (802ac1c ) 802ab9a: 781b ldrb r3, [r3, #0] 802ab9c: b2db uxtb r3, r3 802ab9e: 2b03 cmp r3, #3 802aba0: d001 beq.n 802aba6 return FR_NOT_READY; 802aba2: 2303 movs r3, #3 802aba4: e036 b.n 802ac14 } VerifyFileNamePTM(fname, FileName); 802aba6: 491e ldr r1, [pc, #120] ; (802ac20 ) 802aba8: 6878 ldr r0, [r7, #4] 802abaa: f003 f861 bl 802dc70 if(*FileName == 0) { 802abae: 4b1c ldr r3, [pc, #112] ; (802ac20 ) 802abb0: 781b ldrb r3, [r3, #0] 802abb2: 2b00 cmp r3, #0 802abb4: d101 bne.n 802abba return FR_INVALID_NAME; 802abb6: 2306 movs r3, #6 802abb8: e02c b.n 802ac14 } if(res == FR_OK) 802abba: 7bfb ldrb r3, [r7, #15] 802abbc: 2b00 cmp r3, #0 802abbe: d128 bne.n 802ac12 { memset(SearchPath, 0, sizeof(SearchPath)); 802abc0: f44f 7200 mov.w r2, #512 ; 0x200 802abc4: 2100 movs r1, #0 802abc6: 4817 ldr r0, [pc, #92] ; (802ac24 ) 802abc8: f0a2 fa3e bl 80cd048 SearchPath[0] = '0'; 802abcc: 4b15 ldr r3, [pc, #84] ; (802ac24 ) 802abce: 2230 movs r2, #48 ; 0x30 802abd0: 701a strb r2, [r3, #0] SearchPath[1] = ':'; 802abd2: 4b14 ldr r3, [pc, #80] ; (802ac24 ) 802abd4: 223a movs r2, #58 ; 0x3a 802abd6: 705a strb r2, [r3, #1] strcat(SearchPath, FileName); 802abd8: 4911 ldr r1, [pc, #68] ; (802ac20 ) 802abda: 4812 ldr r0, [pc, #72] ; (802ac24 ) 802abdc: f0a2 fb34 bl 80cd248 res = f_open(&F, SearchPath, FA_READ); 802abe0: 2201 movs r2, #1 802abe2: 4910 ldr r1, [pc, #64] ; (802ac24 ) 802abe4: 4810 ldr r0, [pc, #64] ; (802ac28 ) 802abe6: f09b f96f bl 80c5ec8 802abea: 4603 mov r3, r0 802abec: 73fb strb r3, [r7, #15] if((res == FR_NO_FILE) || (res == FR_NO_PATH)) 802abee: 7bfb ldrb r3, [r7, #15] 802abf0: 2b04 cmp r3, #4 802abf2: d002 beq.n 802abfa 802abf4: 7bfb ldrb r3, [r7, #15] 802abf6: 2b05 cmp r3, #5 802abf8: d101 bne.n 802abfe { return FR_NO_FILE; 802abfa: 2304 movs r3, #4 802abfc: e00a b.n 802ac14 } else if(res == FR_OK) 802abfe: 7bfb ldrb r3, [r7, #15] 802ac00: 2b00 cmp r3, #0 802ac02: d104 bne.n 802ac0e { f_close(&F); 802ac04: 4808 ldr r0, [pc, #32] ; (802ac28 ) 802ac06: f09b ffa3 bl 80c6b50 return FR_EXIST; 802ac0a: 2308 movs r3, #8 802ac0c: e002 b.n 802ac14 } else { return FR_DISK_ERR; 802ac0e: 2301 movs r3, #1 802ac10: e000 b.n 802ac14 } } else { return FR_DISK_ERR; 802ac12: 2301 movs r3, #1 } return res; } 802ac14: 4618 mov r0, r3 802ac16: 3710 adds r7, #16 802ac18: 46bd mov sp, r7 802ac1a: bd80 pop {r7, pc} 802ac1c: 2002164c .word 0x2002164c 802ac20: 20022bb8 .word 0x20022bb8 802ac24: 20021d80 .word 0x20021d80 802ac28: 20022e20 .word 0x20022e20 0802ac2c : FRESULT CheckExistDGN(char *fname) { 802ac2c: b580 push {r7, lr} 802ac2e: b084 sub sp, #16 802ac30: af00 add r7, sp, #0 802ac32: 6078 str r0, [r7, #4] FRESULT res = FR_OK; 802ac34: 2300 movs r3, #0 802ac36: 73fb strb r3, [r7, #15] if(CardState != MSD_READY) { 802ac38: 4b20 ldr r3, [pc, #128] ; (802acbc ) 802ac3a: 781b ldrb r3, [r3, #0] 802ac3c: b2db uxtb r3, r3 802ac3e: 2b03 cmp r3, #3 802ac40: d001 beq.n 802ac46 return FR_NOT_READY; 802ac42: 2303 movs r3, #3 802ac44: e036 b.n 802acb4 } VerifyFileNameDGN(fname, FileName); 802ac46: 491e ldr r1, [pc, #120] ; (802acc0 ) 802ac48: 6878 ldr r0, [r7, #4] 802ac4a: f003 f8ad bl 802dda8 if(*FileName == 0) { 802ac4e: 4b1c ldr r3, [pc, #112] ; (802acc0 ) 802ac50: 781b ldrb r3, [r3, #0] 802ac52: 2b00 cmp r3, #0 802ac54: d101 bne.n 802ac5a return FR_INVALID_NAME; 802ac56: 2306 movs r3, #6 802ac58: e02c b.n 802acb4 } if(res == FR_OK) 802ac5a: 7bfb ldrb r3, [r7, #15] 802ac5c: 2b00 cmp r3, #0 802ac5e: d128 bne.n 802acb2 { memset(SearchPath, 0, sizeof(SearchPath)); 802ac60: f44f 7200 mov.w r2, #512 ; 0x200 802ac64: 2100 movs r1, #0 802ac66: 4817 ldr r0, [pc, #92] ; (802acc4 ) 802ac68: f0a2 f9ee bl 80cd048 SearchPath[0] = '0'; 802ac6c: 4b15 ldr r3, [pc, #84] ; (802acc4 ) 802ac6e: 2230 movs r2, #48 ; 0x30 802ac70: 701a strb r2, [r3, #0] SearchPath[1] = ':'; 802ac72: 4b14 ldr r3, [pc, #80] ; (802acc4 ) 802ac74: 223a movs r2, #58 ; 0x3a 802ac76: 705a strb r2, [r3, #1] strcat(SearchPath, FileName); 802ac78: 4911 ldr r1, [pc, #68] ; (802acc0 ) 802ac7a: 4812 ldr r0, [pc, #72] ; (802acc4 ) 802ac7c: f0a2 fae4 bl 80cd248 res = f_open(&F, SearchPath, FA_READ); 802ac80: 2201 movs r2, #1 802ac82: 4910 ldr r1, [pc, #64] ; (802acc4 ) 802ac84: 4810 ldr r0, [pc, #64] ; (802acc8 ) 802ac86: f09b f91f bl 80c5ec8 802ac8a: 4603 mov r3, r0 802ac8c: 73fb strb r3, [r7, #15] if((res == FR_NO_FILE) || (res == FR_NO_PATH)) 802ac8e: 7bfb ldrb r3, [r7, #15] 802ac90: 2b04 cmp r3, #4 802ac92: d002 beq.n 802ac9a 802ac94: 7bfb ldrb r3, [r7, #15] 802ac96: 2b05 cmp r3, #5 802ac98: d101 bne.n 802ac9e { return FR_NO_FILE; 802ac9a: 2304 movs r3, #4 802ac9c: e00a b.n 802acb4 } else if(res == FR_OK) 802ac9e: 7bfb ldrb r3, [r7, #15] 802aca0: 2b00 cmp r3, #0 802aca2: d104 bne.n 802acae { f_close(&F); 802aca4: 4808 ldr r0, [pc, #32] ; (802acc8 ) 802aca6: f09b ff53 bl 80c6b50 return FR_EXIST; 802acaa: 2308 movs r3, #8 802acac: e002 b.n 802acb4 } else { return FR_DISK_ERR; 802acae: 2301 movs r3, #1 802acb0: e000 b.n 802acb4 } } else { return FR_DISK_ERR; 802acb2: 2301 movs r3, #1 } return res; } 802acb4: 4618 mov r0, r3 802acb6: 3710 adds r7, #16 802acb8: 46bd mov sp, r7 802acba: bd80 pop {r7, pc} 802acbc: 2002164c .word 0x2002164c 802acc0: 20022bb8 .word 0x20022bb8 802acc4: 20021d80 .word 0x20021d80 802acc8: 20022e20 .word 0x20022e20 0802accc : FRESULT CheckExistSPEC(char *fname) { 802accc: b580 push {r7, lr} 802acce: b084 sub sp, #16 802acd0: af00 add r7, sp, #0 802acd2: 6078 str r0, [r7, #4] FRESULT res = FR_OK; 802acd4: 2300 movs r3, #0 802acd6: 73fb strb r3, [r7, #15] if(CardState != MSD_READY) { 802acd8: 4b21 ldr r3, [pc, #132] ; (802ad60 ) 802acda: 781b ldrb r3, [r3, #0] 802acdc: b2db uxtb r3, r3 802acde: 2b03 cmp r3, #3 802ace0: d001 beq.n 802ace6 return FR_NOT_READY; 802ace2: 2303 movs r3, #3 802ace4: e037 b.n 802ad56 } memset(FileName, 0, sizeof(FileName)); 802ace6: 2228 movs r2, #40 ; 0x28 802ace8: 2100 movs r1, #0 802acea: 481e ldr r0, [pc, #120] ; (802ad64 ) 802acec: f0a2 f9ac bl 80cd048 VerifyFileNameSPEC(fname, FileName); 802acf0: 491c ldr r1, [pc, #112] ; (802ad64 ) 802acf2: 6878 ldr r0, [r7, #4] 802acf4: f003 fa2c bl 802e150 if(*FileName == 0) { 802acf8: 4b1a ldr r3, [pc, #104] ; (802ad64 ) 802acfa: 781b ldrb r3, [r3, #0] 802acfc: 2b00 cmp r3, #0 802acfe: d101 bne.n 802ad04 return FR_INVALID_NAME; 802ad00: 2306 movs r3, #6 802ad02: e028 b.n 802ad56 } //res = f_mount(&fs, SDPath, 1); if(res == FR_OK) 802ad04: 7bfb ldrb r3, [r7, #15] 802ad06: 2b00 cmp r3, #0 802ad08: d124 bne.n 802ad54 { memset(PointPath, 0, sizeof(PointPath)); 802ad0a: f44f 7200 mov.w r2, #512 ; 0x200 802ad0e: 2100 movs r1, #0 802ad10: 4815 ldr r0, [pc, #84] ; (802ad68 ) 802ad12: f0a2 f999 bl 80cd048 memset(SearchPath, 0, sizeof(SearchPath)); 802ad16: f44f 7200 mov.w r2, #512 ; 0x200 802ad1a: 2100 movs r1, #0 802ad1c: 4813 ldr r0, [pc, #76] ; (802ad6c ) 802ad1e: f0a2 f993 bl 80cd048 SearchPath[0] = '0'; 802ad22: 4b12 ldr r3, [pc, #72] ; (802ad6c ) 802ad24: 2230 movs r2, #48 ; 0x30 802ad26: 701a strb r2, [r3, #0] SearchPath[1] = ':'; 802ad28: 4b10 ldr r3, [pc, #64] ; (802ad6c ) 802ad2a: 223a movs r2, #58 ; 0x3a 802ad2c: 705a strb r2, [r3, #1] ScanMode = GET_PATH_TO_FILE; 802ad2e: 4b10 ldr r3, [pc, #64] ; (802ad70 ) 802ad30: 2209 movs r2, #9 802ad32: 701a strb r2, [r3, #0] FlagReturn = false; 802ad34: 4b0f ldr r3, [pc, #60] ; (802ad74 ) 802ad36: 2200 movs r2, #0 802ad38: 701a strb r2, [r3, #0] ScanFiles(SearchPath, 0); 802ad3a: 2100 movs r1, #0 802ad3c: 480b ldr r0, [pc, #44] ; (802ad6c ) 802ad3e: f000 fdb5 bl 802b8ac if(PointPath[0] == 0) 802ad42: 4b09 ldr r3, [pc, #36] ; (802ad68 ) 802ad44: 781b ldrb r3, [r3, #0] 802ad46: 2b00 cmp r3, #0 802ad48: d102 bne.n 802ad50 res = FR_NO_FILE; 802ad4a: 2304 movs r3, #4 802ad4c: 73fb strb r3, [r7, #15] 802ad4e: e001 b.n 802ad54 else res = FR_EXIST; 802ad50: 2308 movs r3, #8 802ad52: 73fb strb r3, [r7, #15] //f_mount(&fs, SDPath, 0); } return res; 802ad54: 7bfb ldrb r3, [r7, #15] } 802ad56: 4618 mov r0, r3 802ad58: 3710 adds r7, #16 802ad5a: 46bd mov sp, r7 802ad5c: bd80 pop {r7, pc} 802ad5e: bf00 nop 802ad60: 2002164c .word 0x2002164c 802ad64: 20022bb8 .word 0x20022bb8 802ad68: 200229b4 .word 0x200229b4 802ad6c: 20021d80 .word 0x20021d80 802ad70: 20020ddf .word 0x20020ddf 802ad74: 20020dde .word 0x20020dde 0802ad78 : FRESULT DeleteFilePTM(char* fname) { 802ad78: b580 push {r7, lr} 802ad7a: b084 sub sp, #16 802ad7c: af00 add r7, sp, #0 802ad7e: 6078 str r0, [r7, #4] FRESULT res = FR_OK; 802ad80: 2300 movs r3, #0 802ad82: 73fb strb r3, [r7, #15] if(CardState != MSD_READY) { 802ad84: 4b29 ldr r3, [pc, #164] ; (802ae2c ) 802ad86: 781b ldrb r3, [r3, #0] 802ad88: b2db uxtb r3, r3 802ad8a: 2b03 cmp r3, #3 802ad8c: d001 beq.n 802ad92 return FR_NOT_READY; 802ad8e: 2303 movs r3, #3 802ad90: e047 b.n 802ae22 } memset(FileName, 0, sizeof(FileName)); 802ad92: 2228 movs r2, #40 ; 0x28 802ad94: 2100 movs r1, #0 802ad96: 4826 ldr r0, [pc, #152] ; (802ae30 ) 802ad98: f0a2 f956 bl 80cd048 VerifyFileNamePTM(fname, FileName); 802ad9c: 4924 ldr r1, [pc, #144] ; (802ae30 ) 802ad9e: 6878 ldr r0, [r7, #4] 802ada0: f002 ff66 bl 802dc70 if(*FileName == 0) { 802ada4: 4b22 ldr r3, [pc, #136] ; (802ae30 ) 802ada6: 781b ldrb r3, [r3, #0] 802ada8: 2b00 cmp r3, #0 802adaa: d101 bne.n 802adb0 return FR_INVALID_NAME; 802adac: 2306 movs r3, #6 802adae: e038 b.n 802ae22 } //res = f_mount(&fs, SDPath, 1); if(res == FR_OK) 802adb0: 7bfb ldrb r3, [r7, #15] 802adb2: 2b00 cmp r3, #0 802adb4: d134 bne.n 802ae20 { memset(SearchPath, 0, sizeof(SearchPath)); 802adb6: f44f 7200 mov.w r2, #512 ; 0x200 802adba: 2100 movs r1, #0 802adbc: 481d ldr r0, [pc, #116] ; (802ae34 ) 802adbe: f0a2 f943 bl 80cd048 memset(PointPath, 0, sizeof(PointPath)); 802adc2: f44f 7200 mov.w r2, #512 ; 0x200 802adc6: 2100 movs r1, #0 802adc8: 481b ldr r0, [pc, #108] ; (802ae38 ) 802adca: f0a2 f93d bl 80cd048 SearchPath[0] = '0'; 802adce: 4b19 ldr r3, [pc, #100] ; (802ae34 ) 802add0: 2230 movs r2, #48 ; 0x30 802add2: 701a strb r2, [r3, #0] SearchPath[1] = ':'; 802add4: 4b17 ldr r3, [pc, #92] ; (802ae34 ) 802add6: 223a movs r2, #58 ; 0x3a 802add8: 705a strb r2, [r3, #1] ScanMode = GET_PATH_TO_FILE; 802adda: 4b18 ldr r3, [pc, #96] ; (802ae3c ) 802addc: 2209 movs r2, #9 802adde: 701a strb r2, [r3, #0] FlagReturn = false; 802ade0: 4b17 ldr r3, [pc, #92] ; (802ae40 ) 802ade2: 2200 movs r2, #0 802ade4: 701a strb r2, [r3, #0] ScanFiles(SearchPath, 0); 802ade6: 2100 movs r1, #0 802ade8: 4812 ldr r0, [pc, #72] ; (802ae34 ) 802adea: f000 fd5f bl 802b8ac if(PointPath[0] != '\0') 802adee: 4b12 ldr r3, [pc, #72] ; (802ae38 ) 802adf0: 781b ldrb r3, [r3, #0] 802adf2: 2b00 cmp r3, #0 802adf4: d012 beq.n 802ae1c { res = f_open(&F, PointPath, FA_READ); 802adf6: 2201 movs r2, #1 802adf8: 490f ldr r1, [pc, #60] ; (802ae38 ) 802adfa: 4812 ldr r0, [pc, #72] ; (802ae44 ) 802adfc: f09b f864 bl 80c5ec8 802ae00: 4603 mov r3, r0 802ae02: 73fb strb r3, [r7, #15] if(res == FR_OK) 802ae04: 7bfb ldrb r3, [r7, #15] 802ae06: 2b00 cmp r3, #0 802ae08: d10a bne.n 802ae20 { f_close(&F); 802ae0a: 480e ldr r0, [pc, #56] ; (802ae44 ) 802ae0c: f09b fea0 bl 80c6b50 res = f_unlink(PointPath); 802ae10: 4809 ldr r0, [pc, #36] ; (802ae38 ) 802ae12: f09c fb2c bl 80c746e 802ae16: 4603 mov r3, r0 802ae18: 73fb strb r3, [r7, #15] 802ae1a: e001 b.n 802ae20 } } else { res = FR_INVALID_OBJECT; 802ae1c: 2309 movs r3, #9 802ae1e: 73fb strb r3, [r7, #15] } } return res; 802ae20: 7bfb ldrb r3, [r7, #15] } 802ae22: 4618 mov r0, r3 802ae24: 3710 adds r7, #16 802ae26: 46bd mov sp, r7 802ae28: bd80 pop {r7, pc} 802ae2a: bf00 nop 802ae2c: 2002164c .word 0x2002164c 802ae30: 20022bb8 .word 0x20022bb8 802ae34: 20021d80 .word 0x20021d80 802ae38: 200229b4 .word 0x200229b4 802ae3c: 20020ddf .word 0x20020ddf 802ae40: 20020dde .word 0x20020dde 802ae44: 20022e20 .word 0x20022e20 0802ae48 : FRESULT DeleteFileDGN(char* fname) { 802ae48: b580 push {r7, lr} 802ae4a: b084 sub sp, #16 802ae4c: af00 add r7, sp, #0 802ae4e: 6078 str r0, [r7, #4] FRESULT res = FR_OK; 802ae50: 2300 movs r3, #0 802ae52: 73fb strb r3, [r7, #15] if(CardState != MSD_READY) { 802ae54: 4b29 ldr r3, [pc, #164] ; (802aefc ) 802ae56: 781b ldrb r3, [r3, #0] 802ae58: b2db uxtb r3, r3 802ae5a: 2b03 cmp r3, #3 802ae5c: d001 beq.n 802ae62 return FR_NOT_READY; 802ae5e: 2303 movs r3, #3 802ae60: e047 b.n 802aef2 } memset(FileName, 0, sizeof(FileName)); 802ae62: 2228 movs r2, #40 ; 0x28 802ae64: 2100 movs r1, #0 802ae66: 4826 ldr r0, [pc, #152] ; (802af00 ) 802ae68: f0a2 f8ee bl 80cd048 VerifyFileNameDGN(fname, FileName); 802ae6c: 4924 ldr r1, [pc, #144] ; (802af00 ) 802ae6e: 6878 ldr r0, [r7, #4] 802ae70: f002 ff9a bl 802dda8 if(*FileName == 0) { 802ae74: 4b22 ldr r3, [pc, #136] ; (802af00 ) 802ae76: 781b ldrb r3, [r3, #0] 802ae78: 2b00 cmp r3, #0 802ae7a: d101 bne.n 802ae80 return FR_INVALID_NAME; 802ae7c: 2306 movs r3, #6 802ae7e: e038 b.n 802aef2 } if(res == FR_OK) 802ae80: 7bfb ldrb r3, [r7, #15] 802ae82: 2b00 cmp r3, #0 802ae84: d134 bne.n 802aef0 { memset(SearchPath, 0, sizeof(SearchPath)); 802ae86: f44f 7200 mov.w r2, #512 ; 0x200 802ae8a: 2100 movs r1, #0 802ae8c: 481d ldr r0, [pc, #116] ; (802af04 ) 802ae8e: f0a2 f8db bl 80cd048 memset(PointPath, 0, sizeof(PointPath)); 802ae92: f44f 7200 mov.w r2, #512 ; 0x200 802ae96: 2100 movs r1, #0 802ae98: 481b ldr r0, [pc, #108] ; (802af08 ) 802ae9a: f0a2 f8d5 bl 80cd048 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: f09a fffc bl 80c5ec8 802aed0: 4603 mov r3, r0 802aed2: 73fb strb r3, [r7, #15] if(res == FR_OK) 802aed4: 7bfb ldrb r3, [r7, #15] 802aed6: 2b00 cmp r3, #0 802aed8: d10a bne.n 802aef0 { f_close(&F); 802aeda: 480e ldr r0, [pc, #56] ; (802af14 ) 802aedc: f09b fe38 bl 80c6b50 res = f_unlink(PointPath); 802aee0: 4809 ldr r0, [pc, #36] ; (802af08 ) 802aee2: f09c fac4 bl 80c746e 802aee6: 4603 mov r3, r0 802aee8: 73fb strb r3, [r7, #15] 802aeea: e001 b.n 802aef0 } } else { res = FR_INVALID_OBJECT; 802aeec: 2309 movs r3, #9 802aeee: 73fb strb r3, [r7, #15] } } return res; 802aef0: 7bfb ldrb r3, [r7, #15] } 802aef2: 4618 mov r0, r3 802aef4: 3710 adds r7, #16 802aef6: 46bd mov sp, r7 802aef8: bd80 pop {r7, pc} 802aefa: bf00 nop 802aefc: 2002164c .word 0x2002164c 802af00: 20022bb8 .word 0x20022bb8 802af04: 20021d80 .word 0x20021d80 802af08: 200229b4 .word 0x200229b4 802af0c: 20020ddf .word 0x20020ddf 802af10: 20020dde .word 0x20020dde 802af14: 20022e20 .word 0x20022e20 0802af18 : FRESULT DeleteFileGTR(char* fname) { 802af18: b580 push {r7, lr} 802af1a: b084 sub sp, #16 802af1c: af00 add r7, sp, #0 802af1e: 6078 str r0, [r7, #4] FRESULT res = FR_OK; 802af20: 2300 movs r3, #0 802af22: 73fb strb r3, [r7, #15] if(CardState != MSD_READY) { 802af24: 4b29 ldr r3, [pc, #164] ; (802afcc ) 802af26: 781b ldrb r3, [r3, #0] 802af28: b2db uxtb r3, r3 802af2a: 2b03 cmp r3, #3 802af2c: d001 beq.n 802af32 return FR_NOT_READY; 802af2e: 2303 movs r3, #3 802af30: e047 b.n 802afc2 } memset(FileName, 0, sizeof(FileName)); 802af32: 2228 movs r2, #40 ; 0x28 802af34: 2100 movs r1, #0 802af36: 4826 ldr r0, [pc, #152] ; (802afd0 ) 802af38: f0a2 f886 bl 80cd048 VerifyFileNameGTR(fname, FileName); 802af3c: 4924 ldr r1, [pc, #144] ; (802afd0 ) 802af3e: 6878 ldr r0, [r7, #4] 802af40: f002 ffce bl 802dee0 if(*FileName == 0) { 802af44: 4b22 ldr r3, [pc, #136] ; (802afd0 ) 802af46: 781b ldrb r3, [r3, #0] 802af48: 2b00 cmp r3, #0 802af4a: d101 bne.n 802af50 return FR_INVALID_NAME; 802af4c: 2306 movs r3, #6 802af4e: e038 b.n 802afc2 } if(res == FR_OK) 802af50: 7bfb ldrb r3, [r7, #15] 802af52: 2b00 cmp r3, #0 802af54: d134 bne.n 802afc0 { memset(SearchPath, 0, sizeof(SearchPath)); 802af56: f44f 7200 mov.w r2, #512 ; 0x200 802af5a: 2100 movs r1, #0 802af5c: 481d ldr r0, [pc, #116] ; (802afd4 ) 802af5e: f0a2 f873 bl 80cd048 memset(PointPath, 0, sizeof(PointPath)); 802af62: f44f 7200 mov.w r2, #512 ; 0x200 802af66: 2100 movs r1, #0 802af68: 481b ldr r0, [pc, #108] ; (802afd8 ) 802af6a: f0a2 f86d bl 80cd048 SearchPath[0] = '0'; 802af6e: 4b19 ldr r3, [pc, #100] ; (802afd4 ) 802af70: 2230 movs r2, #48 ; 0x30 802af72: 701a strb r2, [r3, #0] SearchPath[1] = ':'; 802af74: 4b17 ldr r3, [pc, #92] ; (802afd4 ) 802af76: 223a movs r2, #58 ; 0x3a 802af78: 705a strb r2, [r3, #1] ScanMode = GET_PATH_TO_FILE; 802af7a: 4b18 ldr r3, [pc, #96] ; (802afdc ) 802af7c: 2209 movs r2, #9 802af7e: 701a strb r2, [r3, #0] FlagReturn = false; 802af80: 4b17 ldr r3, [pc, #92] ; (802afe0 ) 802af82: 2200 movs r2, #0 802af84: 701a strb r2, [r3, #0] ScanFiles(SearchPath, 0); 802af86: 2100 movs r1, #0 802af88: 4812 ldr r0, [pc, #72] ; (802afd4 ) 802af8a: f000 fc8f bl 802b8ac if(PointPath[0] != '\0') 802af8e: 4b12 ldr r3, [pc, #72] ; (802afd8 ) 802af90: 781b ldrb r3, [r3, #0] 802af92: 2b00 cmp r3, #0 802af94: d012 beq.n 802afbc { res = f_open(&F, PointPath, FA_READ); 802af96: 2201 movs r2, #1 802af98: 490f ldr r1, [pc, #60] ; (802afd8 ) 802af9a: 4812 ldr r0, [pc, #72] ; (802afe4 ) 802af9c: f09a ff94 bl 80c5ec8 802afa0: 4603 mov r3, r0 802afa2: 73fb strb r3, [r7, #15] if(res == FR_OK) 802afa4: 7bfb ldrb r3, [r7, #15] 802afa6: 2b00 cmp r3, #0 802afa8: d10a bne.n 802afc0 { f_close(&F); 802afaa: 480e ldr r0, [pc, #56] ; (802afe4 ) 802afac: f09b fdd0 bl 80c6b50 res = f_unlink(PointPath); 802afb0: 4809 ldr r0, [pc, #36] ; (802afd8 ) 802afb2: f09c fa5c bl 80c746e 802afb6: 4603 mov r3, r0 802afb8: 73fb strb r3, [r7, #15] 802afba: e001 b.n 802afc0 } } else { res = FR_INVALID_OBJECT; 802afbc: 2309 movs r3, #9 802afbe: 73fb strb r3, [r7, #15] } } return res; 802afc0: 7bfb ldrb r3, [r7, #15] } 802afc2: 4618 mov r0, r3 802afc4: 3710 adds r7, #16 802afc6: 46bd mov sp, r7 802afc8: bd80 pop {r7, pc} 802afca: bf00 nop 802afcc: 2002164c .word 0x2002164c 802afd0: 20022bb8 .word 0x20022bb8 802afd4: 20021d80 .word 0x20021d80 802afd8: 200229b4 .word 0x200229b4 802afdc: 20020ddf .word 0x20020ddf 802afe0: 20020dde .word 0x20020dde 802afe4: 20022e20 .word 0x20022e20 0802afe8 : FRESULT DeleteFileCSV(char* fname) { 802afe8: b580 push {r7, lr} 802afea: b084 sub sp, #16 802afec: af00 add r7, sp, #0 802afee: 6078 str r0, [r7, #4] FRESULT res = FR_OK; 802aff0: 2300 movs r3, #0 802aff2: 73fb strb r3, [r7, #15] if(CardState != MSD_READY) { 802aff4: 4b29 ldr r3, [pc, #164] ; (802b09c ) 802aff6: 781b ldrb r3, [r3, #0] 802aff8: b2db uxtb r3, r3 802affa: 2b03 cmp r3, #3 802affc: d001 beq.n 802b002 return FR_NOT_READY; 802affe: 2303 movs r3, #3 802b000: e047 b.n 802b092 } memset(FileName, 0, sizeof(FileName)); 802b002: 2228 movs r2, #40 ; 0x28 802b004: 2100 movs r1, #0 802b006: 4826 ldr r0, [pc, #152] ; (802b0a0 ) 802b008: f0a2 f81e bl 80cd048 VerifyFileNameCSV(fname, FileName); 802b00c: 4924 ldr r1, [pc, #144] ; (802b0a0 ) 802b00e: 6878 ldr r0, [r7, #4] 802b010: f003 f802 bl 802e018 if(*FileName == 0) { 802b014: 4b22 ldr r3, [pc, #136] ; (802b0a0 ) 802b016: 781b ldrb r3, [r3, #0] 802b018: 2b00 cmp r3, #0 802b01a: d101 bne.n 802b020 return FR_INVALID_NAME; 802b01c: 2306 movs r3, #6 802b01e: e038 b.n 802b092 } if(res == FR_OK) 802b020: 7bfb ldrb r3, [r7, #15] 802b022: 2b00 cmp r3, #0 802b024: d134 bne.n 802b090 { memset(SearchPath, 0, sizeof(SearchPath)); 802b026: f44f 7200 mov.w r2, #512 ; 0x200 802b02a: 2100 movs r1, #0 802b02c: 481d ldr r0, [pc, #116] ; (802b0a4 ) 802b02e: f0a2 f80b bl 80cd048 memset(PointPath, 0, sizeof(PointPath)); 802b032: f44f 7200 mov.w r2, #512 ; 0x200 802b036: 2100 movs r1, #0 802b038: 481b ldr r0, [pc, #108] ; (802b0a8 ) 802b03a: f0a2 f805 bl 80cd048 SearchPath[0] = '0'; 802b03e: 4b19 ldr r3, [pc, #100] ; (802b0a4 ) 802b040: 2230 movs r2, #48 ; 0x30 802b042: 701a strb r2, [r3, #0] SearchPath[1] = ':'; 802b044: 4b17 ldr r3, [pc, #92] ; (802b0a4 ) 802b046: 223a movs r2, #58 ; 0x3a 802b048: 705a strb r2, [r3, #1] ScanMode = GET_PATH_TO_FILE; 802b04a: 4b18 ldr r3, [pc, #96] ; (802b0ac ) 802b04c: 2209 movs r2, #9 802b04e: 701a strb r2, [r3, #0] FlagReturn = false; 802b050: 4b17 ldr r3, [pc, #92] ; (802b0b0 ) 802b052: 2200 movs r2, #0 802b054: 701a strb r2, [r3, #0] ScanFiles(SearchPath, 0); 802b056: 2100 movs r1, #0 802b058: 4812 ldr r0, [pc, #72] ; (802b0a4 ) 802b05a: f000 fc27 bl 802b8ac if(PointPath[0] != '\0') 802b05e: 4b12 ldr r3, [pc, #72] ; (802b0a8 ) 802b060: 781b ldrb r3, [r3, #0] 802b062: 2b00 cmp r3, #0 802b064: d012 beq.n 802b08c { res = f_open(&F, PointPath, FA_READ); 802b066: 2201 movs r2, #1 802b068: 490f ldr r1, [pc, #60] ; (802b0a8 ) 802b06a: 4812 ldr r0, [pc, #72] ; (802b0b4 ) 802b06c: f09a ff2c bl 80c5ec8 802b070: 4603 mov r3, r0 802b072: 73fb strb r3, [r7, #15] if(res == FR_OK) 802b074: 7bfb ldrb r3, [r7, #15] 802b076: 2b00 cmp r3, #0 802b078: d10a bne.n 802b090 { f_close(&F); 802b07a: 480e ldr r0, [pc, #56] ; (802b0b4 ) 802b07c: f09b fd68 bl 80c6b50 res = f_unlink(PointPath); 802b080: 4809 ldr r0, [pc, #36] ; (802b0a8 ) 802b082: f09c f9f4 bl 80c746e 802b086: 4603 mov r3, r0 802b088: 73fb strb r3, [r7, #15] 802b08a: e001 b.n 802b090 } } else { res = FR_INVALID_OBJECT; 802b08c: 2309 movs r3, #9 802b08e: 73fb strb r3, [r7, #15] } } return res; 802b090: 7bfb ldrb r3, [r7, #15] } 802b092: 4618 mov r0, r3 802b094: 3710 adds r7, #16 802b096: 46bd mov sp, r7 802b098: bd80 pop {r7, pc} 802b09a: bf00 nop 802b09c: 2002164c .word 0x2002164c 802b0a0: 20022bb8 .word 0x20022bb8 802b0a4: 20021d80 .word 0x20021d80 802b0a8: 200229b4 .word 0x200229b4 802b0ac: 20020ddf .word 0x20020ddf 802b0b0: 20020dde .word 0x20020dde 802b0b4: 20022e20 .word 0x20022e20 0802b0b8 : return res; } FRESULT DeleteFileSPEC(char* fname) { 802b0b8: b580 push {r7, lr} 802b0ba: b084 sub sp, #16 802b0bc: af00 add r7, sp, #0 802b0be: 6078 str r0, [r7, #4] FRESULT res = FR_OK; 802b0c0: 2300 movs r3, #0 802b0c2: 73fb strb r3, [r7, #15] if(CardState != MSD_READY) { 802b0c4: 4b29 ldr r3, [pc, #164] ; (802b16c ) 802b0c6: 781b ldrb r3, [r3, #0] 802b0c8: b2db uxtb r3, r3 802b0ca: 2b03 cmp r3, #3 802b0cc: d001 beq.n 802b0d2 return FR_NOT_READY; 802b0ce: 2303 movs r3, #3 802b0d0: e047 b.n 802b162 } memset(FileName, 0, sizeof(FileName)); 802b0d2: 2228 movs r2, #40 ; 0x28 802b0d4: 2100 movs r1, #0 802b0d6: 4826 ldr r0, [pc, #152] ; (802b170 ) 802b0d8: f0a1 ffb6 bl 80cd048 VerifyFileNameSPEC(fname, FileName); 802b0dc: 4924 ldr r1, [pc, #144] ; (802b170 ) 802b0de: 6878 ldr r0, [r7, #4] 802b0e0: f003 f836 bl 802e150 if(*FileName == 0) { 802b0e4: 4b22 ldr r3, [pc, #136] ; (802b170 ) 802b0e6: 781b ldrb r3, [r3, #0] 802b0e8: 2b00 cmp r3, #0 802b0ea: d101 bne.n 802b0f0 return FR_INVALID_NAME; 802b0ec: 2306 movs r3, #6 802b0ee: e038 b.n 802b162 } //res = f_mount(&fs, SDPath, 1); if(res == FR_OK) 802b0f0: 7bfb ldrb r3, [r7, #15] 802b0f2: 2b00 cmp r3, #0 802b0f4: d134 bne.n 802b160 { memset(SearchPath, 0, sizeof(SearchPath)); 802b0f6: f44f 7200 mov.w r2, #512 ; 0x200 802b0fa: 2100 movs r1, #0 802b0fc: 481d ldr r0, [pc, #116] ; (802b174 ) 802b0fe: f0a1 ffa3 bl 80cd048 memset(PointPath, 0, sizeof(PointPath)); 802b102: f44f 7200 mov.w r2, #512 ; 0x200 802b106: 2100 movs r1, #0 802b108: 481b ldr r0, [pc, #108] ; (802b178 ) 802b10a: f0a1 ff9d bl 80cd048 SearchPath[0] = '0'; 802b10e: 4b19 ldr r3, [pc, #100] ; (802b174 ) 802b110: 2230 movs r2, #48 ; 0x30 802b112: 701a strb r2, [r3, #0] SearchPath[1] = ':'; 802b114: 4b17 ldr r3, [pc, #92] ; (802b174 ) 802b116: 223a movs r2, #58 ; 0x3a 802b118: 705a strb r2, [r3, #1] ScanMode = GET_PATH_TO_FILE; 802b11a: 4b18 ldr r3, [pc, #96] ; (802b17c ) 802b11c: 2209 movs r2, #9 802b11e: 701a strb r2, [r3, #0] FlagReturn = false; 802b120: 4b17 ldr r3, [pc, #92] ; (802b180 ) 802b122: 2200 movs r2, #0 802b124: 701a strb r2, [r3, #0] ScanFiles(SearchPath, 0); 802b126: 2100 movs r1, #0 802b128: 4812 ldr r0, [pc, #72] ; (802b174 ) 802b12a: f000 fbbf bl 802b8ac if(PointPath[0] != '\0') 802b12e: 4b12 ldr r3, [pc, #72] ; (802b178 ) 802b130: 781b ldrb r3, [r3, #0] 802b132: 2b00 cmp r3, #0 802b134: d012 beq.n 802b15c { res = f_open(&F, PointPath, FA_READ); 802b136: 2201 movs r2, #1 802b138: 490f ldr r1, [pc, #60] ; (802b178 ) 802b13a: 4812 ldr r0, [pc, #72] ; (802b184 ) 802b13c: f09a fec4 bl 80c5ec8 802b140: 4603 mov r3, r0 802b142: 73fb strb r3, [r7, #15] if(res == FR_OK) 802b144: 7bfb ldrb r3, [r7, #15] 802b146: 2b00 cmp r3, #0 802b148: d10a bne.n 802b160 { f_close(&F); 802b14a: 480e ldr r0, [pc, #56] ; (802b184 ) 802b14c: f09b fd00 bl 80c6b50 res = f_unlink(PointPath); 802b150: 4809 ldr r0, [pc, #36] ; (802b178 ) 802b152: f09c f98c bl 80c746e 802b156: 4603 mov r3, r0 802b158: 73fb strb r3, [r7, #15] 802b15a: e001 b.n 802b160 } } else { res = FR_INVALID_OBJECT; 802b15c: 2309 movs r3, #9 802b15e: 73fb strb r3, [r7, #15] } //f_mount(&fs, SDPath, 0); } return res; 802b160: 7bfb ldrb r3, [r7, #15] } 802b162: 4618 mov r0, r3 802b164: 3710 adds r7, #16 802b166: 46bd mov sp, r7 802b168: bd80 pop {r7, pc} 802b16a: bf00 nop 802b16c: 2002164c .word 0x2002164c 802b170: 20022bb8 .word 0x20022bb8 802b174: 20021d80 .word 0x20021d80 802b178: 200229b4 .word 0x200229b4 802b17c: 20020ddf .word 0x20020ddf 802b180: 20020dde .word 0x20020dde 802b184: 20022e20 .word 0x20022e20 0802b188 : FRESULT CheckRoutesFolder(void) { 802b188: b580 push {r7, lr} 802b18a: b096 sub sp, #88 ; 0x58 802b18c: af00 add r7, sp, #0 FRESULT res = FR_OK; 802b18e: 2300 movs r3, #0 802b190: f887 3057 strb.w r3, [r7, #87] ; 0x57 DIR dir; if(CardState != MSD_READY) { 802b194: 4b11 ldr r3, [pc, #68] ; (802b1dc ) 802b196: 781b ldrb r3, [r3, #0] 802b198: b2db uxtb r3, r3 802b19a: 2b03 cmp r3, #3 802b19c: d001 beq.n 802b1a2 return FR_NOT_READY; 802b19e: 2303 movs r3, #3 802b1a0: e018 b.n 802b1d4 } res = f_opendir(&dir, "0:Routes"); 802b1a2: 463b mov r3, r7 802b1a4: 490e ldr r1, [pc, #56] ; (802b1e0 ) 802b1a6: 4618 mov r0, r3 802b1a8: f09b ff7b bl 80c70a2 802b1ac: 4603 mov r3, r0 802b1ae: f887 3057 strb.w r3, [r7, #87] ; 0x57 if(res != FR_OK) 802b1b2: f897 3057 ldrb.w r3, [r7, #87] ; 0x57 802b1b6: 2b00 cmp r3, #0 802b1b8: d006 beq.n 802b1c8 { res = f_mkdir("0:Routes"); 802b1ba: 4809 ldr r0, [pc, #36] ; (802b1e0 ) 802b1bc: f09c fa2c bl 80c7618 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: f09b fff8 bl 80c71c0 } return res; 802b1d0: f897 3057 ldrb.w r3, [r7, #87] ; 0x57 } 802b1d4: 4618 mov r0, r3 802b1d6: 3758 adds r7, #88 ; 0x58 802b1d8: 46bd mov sp, r7 802b1da: bd80 pop {r7, pc} 802b1dc: 2002164c .word 0x2002164c 802b1e0: 080ce4f4 .word 0x080ce4f4 0802b1e4 : FRESULT CheckRecordsFolder(void) { 802b1e4: b580 push {r7, lr} 802b1e6: b096 sub sp, #88 ; 0x58 802b1e8: af00 add r7, sp, #0 FRESULT res = FR_OK; 802b1ea: 2300 movs r3, #0 802b1ec: f887 3057 strb.w r3, [r7, #87] ; 0x57 DIR dir; if(CardState != MSD_READY) { 802b1f0: 4b11 ldr r3, [pc, #68] ; (802b238 ) 802b1f2: 781b ldrb r3, [r3, #0] 802b1f4: b2db uxtb r3, r3 802b1f6: 2b03 cmp r3, #3 802b1f8: d001 beq.n 802b1fe return FR_NOT_READY; 802b1fa: 2303 movs r3, #3 802b1fc: e018 b.n 802b230 } res = f_opendir(&dir, "0:Records"); 802b1fe: 463b mov r3, r7 802b200: 490e ldr r1, [pc, #56] ; (802b23c ) 802b202: 4618 mov r0, r3 802b204: f09b ff4d bl 80c70a2 802b208: 4603 mov r3, r0 802b20a: f887 3057 strb.w r3, [r7, #87] ; 0x57 if(res != FR_OK) 802b20e: f897 3057 ldrb.w r3, [r7, #87] ; 0x57 802b212: 2b00 cmp r3, #0 802b214: d006 beq.n 802b224 { res = f_mkdir("0:Records"); 802b216: 4809 ldr r0, [pc, #36] ; (802b23c ) 802b218: f09c f9fe bl 80c7618 802b21c: 4603 mov r3, r0 802b21e: f887 3057 strb.w r3, [r7, #87] ; 0x57 802b222: e003 b.n 802b22c } else { f_closedir(&dir); 802b224: 463b mov r3, r7 802b226: 4618 mov r0, r3 802b228: f09b ffca bl 80c71c0 } return res; 802b22c: f897 3057 ldrb.w r3, [r7, #87] ; 0x57 } 802b230: 4618 mov r0, r3 802b232: 3758 adds r7, #88 ; 0x58 802b234: 46bd mov sp, r7 802b236: bd80 pop {r7, pc} 802b238: 2002164c .word 0x2002164c 802b23c: 080ce478 .word 0x080ce478 0802b240 : FRESULT FormatSD(void) { 802b240: b580 push {r7, lr} 802b242: b090 sub sp, #64 ; 0x40 802b244: af02 add r7, sp, #8 FRESULT res = FR_OK; 802b246: 2300 movs r3, #0 802b248: f887 3037 strb.w r3, [r7, #55] ; 0x37 HAL_SD_CardInfoTypeDef CardInfo; char str[20]; if(CardState == MSD_NOCARD) { 802b24c: 4b3a ldr r3, [pc, #232] ; (802b338 ) 802b24e: 781b ldrb r3, [r3, #0] 802b250: b2db uxtb r3, r3 802b252: 2b00 cmp r3, #0 802b254: d101 bne.n 802b25a return FR_NOT_READY; 802b256: 2303 movs r3, #3 802b258: e06a b.n 802b330 } CardState = MSD_PRESENT; 802b25a: 4b37 ldr r3, [pc, #220] ; (802b338 ) 802b25c: 2201 movs r2, #1 802b25e: 701a strb r2, [r3, #0] BSP_SD_GetCardInfo(&CardInfo); 802b260: f107 0314 add.w r3, r7, #20 802b264: 4618 mov r0, r3 802b266: f094 faf9 bl 80bf85c RedrawScreen(); 802b26a: f03c fdc5 bl 8067df8 HAL_Delay(100); 802b26e: 2064 movs r0, #100 ; 0x64 802b270: f087 ffee bl 80b3250 RedrawScreen(); 802b274: f03c fdc0 bl 8067df8 HAL_Delay(100); 802b278: 2064 movs r0, #100 ; 0x64 802b27a: f087 ffe9 bl 80b3250 RedrawScreen(); 802b27e: f03c fdbb bl 8067df8 HAL_Delay(100); 802b282: 2064 movs r0, #100 ; 0x64 802b284: f087 ffe4 bl 80b3250 RedrawScreen(); 802b288: f03c fdb6 bl 8067df8 HAL_Delay(100); 802b28c: 2064 movs r0, #100 ; 0x64 802b28e: f087 ffdf bl 80b3250 RedrawScreen(); 802b292: f03c fdb1 bl 8067df8 HAL_Delay(100); 802b296: 2064 movs r0, #100 ; 0x64 802b298: f087 ffda bl 80b3250 res = f_mkfs(SDPath, FM_EXFAT, 0, (void *) SD_Buff, 32768U); 802b29c: f44f 4300 mov.w r3, #32768 ; 0x8000 802b2a0: 9300 str r3, [sp, #0] 802b2a2: 4b26 ldr r3, [pc, #152] ; (802b33c ) 802b2a4: 2200 movs r2, #0 802b2a6: 2104 movs r1, #4 802b2a8: 4825 ldr r0, [pc, #148] ; (802b340 ) 802b2aa: f09c fc9f bl 80c7bec 802b2ae: 4603 mov r3, r0 802b2b0: f887 3037 strb.w r3, [r7, #55] ; 0x37 if(res != FR_OK) { 802b2b4: f897 3037 ldrb.w r3, [r7, #55] ; 0x37 802b2b8: 2b00 cmp r3, #0 802b2ba: d001 beq.n 802b2c0 return FR_MKFS_ABORTED; 802b2bc: 230e movs r3, #14 802b2be: e037 b.n 802b330 } //res = f_mount(&fs, SDPath, 1); if(res == FR_OK) 802b2c0: f897 3037 ldrb.w r3, [r7, #55] ; 0x37 802b2c4: 2b00 cmp r3, #0 802b2c6: d131 bne.n 802b32c { CardState = MSD_READY; 802b2c8: 4b1b ldr r3, [pc, #108] ; (802b338 ) 802b2ca: 2203 movs r2, #3 802b2cc: 701a strb r2, [r3, #0] f_mkdir("0:Records"); 802b2ce: 481d ldr r0, [pc, #116] ; (802b344 ) 802b2d0: f09c f9a2 bl 80c7618 f_mkdir("0:Routes"); 802b2d4: 481c ldr r0, [pc, #112] ; (802b348 ) 802b2d6: f09c f99f bl 80c7618 memset(str, 0, sizeof(str)); 802b2da: 463b mov r3, r7 802b2dc: 2214 movs r2, #20 802b2de: 2100 movs r1, #0 802b2e0: 4618 mov r0, r3 802b2e2: f0a1 feb1 bl 80cd048 strcpy(str, "D1xx_"); 802b2e6: 463b mov r3, r7 802b2e8: 4a18 ldr r2, [pc, #96] ; (802b34c ) 802b2ea: e892 0003 ldmia.w r2, {r0, r1} 802b2ee: 6018 str r0, [r3, #0] 802b2f0: 3304 adds r3, #4 802b2f2: 8019 strh r1, [r3, #0] str[5] = _SERIAL[0]; 802b2f4: 4b16 ldr r3, [pc, #88] ; (802b350 ) 802b2f6: 781b ldrb r3, [r3, #0] 802b2f8: b2db uxtb r3, r3 802b2fa: 717b strb r3, [r7, #5] str[6] = _SERIAL[1]; 802b2fc: 4b14 ldr r3, [pc, #80] ; (802b350 ) 802b2fe: 785b ldrb r3, [r3, #1] 802b300: b2db uxtb r3, r3 802b302: 71bb strb r3, [r7, #6] str[7] = _SERIAL[2]; 802b304: 4b12 ldr r3, [pc, #72] ; (802b350 ) 802b306: 789b ldrb r3, [r3, #2] 802b308: b2db uxtb r3, r3 802b30a: 71fb strb r3, [r7, #7] str[8] = _SERIAL[3]; 802b30c: 4b10 ldr r3, [pc, #64] ; (802b350 ) 802b30e: 78db ldrb r3, [r3, #3] 802b310: b2db uxtb r3, r3 802b312: 723b strb r3, [r7, #8] str[9] = _SERIAL[4]; 802b314: 4b0e ldr r3, [pc, #56] ; (802b350 ) 802b316: 791b ldrb r3, [r3, #4] 802b318: b2db uxtb r3, r3 802b31a: 727b strb r3, [r7, #9] f_setlabel(str); 802b31c: 463b mov r3, r7 802b31e: 4618 mov r0, r3 802b320: f09c fac2 bl 80c78a8 CreateFileJSON(); 802b324: f000 f816 bl 802b354 CheckSD(); 802b328: f001 f93c bl 802c5a4 } return res; 802b32c: f897 3037 ldrb.w r3, [r7, #55] ; 0x37 } 802b330: 4618 mov r0, r3 802b332: 3738 adds r7, #56 ; 0x38 802b334: 46bd mov sp, r7 802b336: bd80 pop {r7, pc} 802b338: 2002164c .word 0x2002164c 802b33c: 20000000 .word 0x20000000 802b340: 20068acc .word 0x20068acc 802b344: 080ce478 .word 0x080ce478 802b348: 080ce4f4 .word 0x080ce4f4 802b34c: 080ce504 .word 0x080ce504 802b350: 20020f14 .word 0x20020f14 0802b354 : FRESULT CreateFileJSON(void) //TODO { 802b354: b590 push {r4, r7, lr} 802b356: b085 sub sp, #20 802b358: af00 add r7, sp, #0 FRESULT res = FR_OK; 802b35a: 2300 movs r3, #0 802b35c: 72fb strb r3, [r7, #11] UINT fk, i, l; if(CardState != MSD_READY) { 802b35e: 4bab ldr r3, [pc, #684] ; (802b60c ) 802b360: 781b ldrb r3, [r3, #0] 802b362: b2db uxtb r3, r3 802b364: 2b03 cmp r3, #3 802b366: d001 beq.n 802b36c return FR_NOT_READY; 802b368: 2303 movs r3, #3 802b36a: e292 b.n 802b892 } memset(PointPath, 0, sizeof(PointPath)); 802b36c: f44f 7200 mov.w r2, #512 ; 0x200 802b370: 2100 movs r1, #0 802b372: 48a7 ldr r0, [pc, #668] ; (802b610 ) 802b374: f0a1 fe68 bl 80cd048 PointPath[0] = '0'; 802b378: 4ba5 ldr r3, [pc, #660] ; (802b610 ) 802b37a: 2230 movs r2, #48 ; 0x30 802b37c: 701a strb r2, [r3, #0] PointPath[1] = ':'; 802b37e: 4ba4 ldr r3, [pc, #656] ; (802b610 ) 802b380: 223a movs r2, #58 ; 0x3a 802b382: 705a strb r2, [r3, #1] strcat(PointPath, "device.json"); 802b384: 48a2 ldr r0, [pc, #648] ; (802b610 ) 802b386: f7f4 ffc5 bl 8020314 802b38a: 4603 mov r3, r0 802b38c: 461a mov r2, r3 802b38e: 4ba0 ldr r3, [pc, #640] ; (802b610 ) 802b390: 4413 add r3, r2 802b392: 4aa0 ldr r2, [pc, #640] ; (802b614 ) 802b394: 461c mov r4, r3 802b396: 4613 mov r3, r2 802b398: cb07 ldmia r3!, {r0, r1, r2} 802b39a: 6020 str r0, [r4, #0] 802b39c: 6061 str r1, [r4, #4] 802b39e: 60a2 str r2, [r4, #8] res = f_open(&F, PointPath, FA_OPEN_EXISTING | FA_READ); 802b3a0: 2201 movs r2, #1 802b3a2: 499b ldr r1, [pc, #620] ; (802b610 ) 802b3a4: 489c ldr r0, [pc, #624] ; (802b618 ) 802b3a6: f09a fd8f bl 80c5ec8 802b3aa: 4603 mov r3, r0 802b3ac: 72fb strb r3, [r7, #11] if((res == FR_NO_FILE) || (res == FR_NO_PATH)) 802b3ae: 7afb ldrb r3, [r7, #11] 802b3b0: 2b04 cmp r3, #4 802b3b2: d003 beq.n 802b3bc 802b3b4: 7afb ldrb r3, [r7, #11] 802b3b6: 2b05 cmp r3, #5 802b3b8: f040 8136 bne.w 802b628 { res = f_open(&F, PointPath, FA_CREATE_ALWAYS | FA_OPEN_ALWAYS | FA_WRITE | FA_READ); 802b3bc: 221b movs r2, #27 802b3be: 4994 ldr r1, [pc, #592] ; (802b610 ) 802b3c0: 4895 ldr r0, [pc, #596] ; (802b618 ) 802b3c2: f09a fd81 bl 80c5ec8 802b3c6: 4603 mov r3, r0 802b3c8: 72fb strb r3, [r7, #11] if(res == FR_OK) 802b3ca: 7afb ldrb r3, [r7, #11] 802b3cc: 2b00 cmp r3, #0 802b3ce: f040 8129 bne.w 802b624 { f_sync(&F); 802b3d2: 4891 ldr r0, [pc, #580] ; (802b618 ) 802b3d4: f09b fab8 bl 80c6948 memset(sector, 0, sizeof(sector)); 802b3d8: f44f 7200 mov.w r2, #512 ; 0x200 802b3dc: 2100 movs r1, #0 802b3de: 488f ldr r0, [pc, #572] ; (802b61c ) 802b3e0: f0a1 fe32 bl 80cd048 l = 0; 802b3e4: 2300 movs r3, #0 802b3e6: 60fb str r3, [r7, #12] sector[l++] = '{'; 802b3e8: 68fb ldr r3, [r7, #12] 802b3ea: 1c5a adds r2, r3, #1 802b3ec: 60fa str r2, [r7, #12] 802b3ee: 4a8b ldr r2, [pc, #556] ; (802b61c ) 802b3f0: 217b movs r1, #123 ; 0x7b 802b3f2: 54d1 strb r1, [r2, r3] sector[l++] = ' '; 802b3f4: 68fb ldr r3, [r7, #12] 802b3f6: 1c5a adds r2, r3, #1 802b3f8: 60fa str r2, [r7, #12] 802b3fa: 4a88 ldr r2, [pc, #544] ; (802b61c ) 802b3fc: 2120 movs r1, #32 802b3fe: 54d1 strb r1, [r2, r3] sector[l++] = '"'; 802b400: 68fb ldr r3, [r7, #12] 802b402: 1c5a adds r2, r3, #1 802b404: 60fa str r2, [r7, #12] 802b406: 4a85 ldr r2, [pc, #532] ; (802b61c ) 802b408: 2122 movs r1, #34 ; 0x22 802b40a: 54d1 strb r1, [r2, r3] sector[l++] = 'm'; 802b40c: 68fb ldr r3, [r7, #12] 802b40e: 1c5a adds r2, r3, #1 802b410: 60fa str r2, [r7, #12] 802b412: 4a82 ldr r2, [pc, #520] ; (802b61c ) 802b414: 216d movs r1, #109 ; 0x6d 802b416: 54d1 strb r1, [r2, r3] sector[l++] = 'o'; 802b418: 68fb ldr r3, [r7, #12] 802b41a: 1c5a adds r2, r3, #1 802b41c: 60fa str r2, [r7, #12] 802b41e: 4a7f ldr r2, [pc, #508] ; (802b61c ) 802b420: 216f movs r1, #111 ; 0x6f 802b422: 54d1 strb r1, [r2, r3] sector[l++] = 'd'; 802b424: 68fb ldr r3, [r7, #12] 802b426: 1c5a adds r2, r3, #1 802b428: 60fa str r2, [r7, #12] 802b42a: 4a7c ldr r2, [pc, #496] ; (802b61c ) 802b42c: 2164 movs r1, #100 ; 0x64 802b42e: 54d1 strb r1, [r2, r3] sector[l++] = 'e'; 802b430: 68fb ldr r3, [r7, #12] 802b432: 1c5a adds r2, r3, #1 802b434: 60fa str r2, [r7, #12] 802b436: 4a79 ldr r2, [pc, #484] ; (802b61c ) 802b438: 2165 movs r1, #101 ; 0x65 802b43a: 54d1 strb r1, [r2, r3] sector[l++] = 'l'; 802b43c: 68fb ldr r3, [r7, #12] 802b43e: 1c5a adds r2, r3, #1 802b440: 60fa str r2, [r7, #12] 802b442: 4a76 ldr r2, [pc, #472] ; (802b61c ) 802b444: 216c movs r1, #108 ; 0x6c 802b446: 54d1 strb r1, [r2, r3] sector[l++] = '"'; 802b448: 68fb ldr r3, [r7, #12] 802b44a: 1c5a adds r2, r3, #1 802b44c: 60fa str r2, [r7, #12] 802b44e: 4a73 ldr r2, [pc, #460] ; (802b61c ) 802b450: 2122 movs r1, #34 ; 0x22 802b452: 54d1 strb r1, [r2, r3] sector[l++] = ':'; 802b454: 68fb ldr r3, [r7, #12] 802b456: 1c5a adds r2, r3, #1 802b458: 60fa str r2, [r7, #12] 802b45a: 4a70 ldr r2, [pc, #448] ; (802b61c ) 802b45c: 213a movs r1, #58 ; 0x3a 802b45e: 54d1 strb r1, [r2, r3] sector[l++] = ' '; 802b460: 68fb ldr r3, [r7, #12] 802b462: 1c5a adds r2, r3, #1 802b464: 60fa str r2, [r7, #12] 802b466: 4a6d ldr r2, [pc, #436] ; (802b61c ) 802b468: 2120 movs r1, #32 802b46a: 54d1 strb r1, [r2, r3] sector[l++] = '"'; 802b46c: 68fb ldr r3, [r7, #12] 802b46e: 1c5a adds r2, r3, #1 802b470: 60fa str r2, [r7, #12] 802b472: 4a6a ldr r2, [pc, #424] ; (802b61c ) 802b474: 2122 movs r1, #34 ; 0x22 802b476: 54d1 strb r1, [r2, r3] sector[l++] = '1'; sector[l++] = '0'; sector[l++] = '2'; #endif #ifdef USE_D141 sector[l++] = 'D'; 802b478: 68fb ldr r3, [r7, #12] 802b47a: 1c5a adds r2, r3, #1 802b47c: 60fa str r2, [r7, #12] 802b47e: 4a67 ldr r2, [pc, #412] ; (802b61c ) 802b480: 2144 movs r1, #68 ; 0x44 802b482: 54d1 strb r1, [r2, r3] sector[l++] = '1'; 802b484: 68fb ldr r3, [r7, #12] 802b486: 1c5a adds r2, r3, #1 802b488: 60fa str r2, [r7, #12] 802b48a: 4a64 ldr r2, [pc, #400] ; (802b61c ) 802b48c: 2131 movs r1, #49 ; 0x31 802b48e: 54d1 strb r1, [r2, r3] sector[l++] = '4'; 802b490: 68fb ldr r3, [r7, #12] 802b492: 1c5a adds r2, r3, #1 802b494: 60fa str r2, [r7, #12] 802b496: 4a61 ldr r2, [pc, #388] ; (802b61c ) 802b498: 2134 movs r1, #52 ; 0x34 802b49a: 54d1 strb r1, [r2, r3] sector[l++] = '1'; 802b49c: 68fb ldr r3, [r7, #12] 802b49e: 1c5a adds r2, r3, #1 802b4a0: 60fa str r2, [r7, #12] 802b4a2: 4a5e ldr r2, [pc, #376] ; (802b61c ) 802b4a4: 2131 movs r1, #49 ; 0x31 802b4a6: 54d1 strb r1, [r2, r3] sector[l++] = 'D'; sector[l++] = '1'; sector[l++] = '4'; sector[l++] = '2'; #endif sector[l++] = '"'; 802b4a8: 68fb ldr r3, [r7, #12] 802b4aa: 1c5a adds r2, r3, #1 802b4ac: 60fa str r2, [r7, #12] 802b4ae: 4a5b ldr r2, [pc, #364] ; (802b61c ) 802b4b0: 2122 movs r1, #34 ; 0x22 802b4b2: 54d1 strb r1, [r2, r3] sector[l++] = ','; 802b4b4: 68fb ldr r3, [r7, #12] 802b4b6: 1c5a adds r2, r3, #1 802b4b8: 60fa str r2, [r7, #12] 802b4ba: 4a58 ldr r2, [pc, #352] ; (802b61c ) 802b4bc: 212c movs r1, #44 ; 0x2c 802b4be: 54d1 strb r1, [r2, r3] sector[l++] = ' '; 802b4c0: 68fb ldr r3, [r7, #12] 802b4c2: 1c5a adds r2, r3, #1 802b4c4: 60fa str r2, [r7, #12] 802b4c6: 4a55 ldr r2, [pc, #340] ; (802b61c ) 802b4c8: 2120 movs r1, #32 802b4ca: 54d1 strb r1, [r2, r3] sector[l++] = '"'; 802b4cc: 68fb ldr r3, [r7, #12] 802b4ce: 1c5a adds r2, r3, #1 802b4d0: 60fa str r2, [r7, #12] 802b4d2: 4a52 ldr r2, [pc, #328] ; (802b61c ) 802b4d4: 2122 movs r1, #34 ; 0x22 802b4d6: 54d1 strb r1, [r2, r3] sector[l++] = 's'; 802b4d8: 68fb ldr r3, [r7, #12] 802b4da: 1c5a adds r2, r3, #1 802b4dc: 60fa str r2, [r7, #12] 802b4de: 4a4f ldr r2, [pc, #316] ; (802b61c ) 802b4e0: 2173 movs r1, #115 ; 0x73 802b4e2: 54d1 strb r1, [r2, r3] sector[l++] = 'n'; 802b4e4: 68fb ldr r3, [r7, #12] 802b4e6: 1c5a adds r2, r3, #1 802b4e8: 60fa str r2, [r7, #12] 802b4ea: 4a4c ldr r2, [pc, #304] ; (802b61c ) 802b4ec: 216e movs r1, #110 ; 0x6e 802b4ee: 54d1 strb r1, [r2, r3] sector[l++] = '"'; 802b4f0: 68fb ldr r3, [r7, #12] 802b4f2: 1c5a adds r2, r3, #1 802b4f4: 60fa str r2, [r7, #12] 802b4f6: 4a49 ldr r2, [pc, #292] ; (802b61c ) 802b4f8: 2122 movs r1, #34 ; 0x22 802b4fa: 54d1 strb r1, [r2, r3] sector[l++] = ':'; 802b4fc: 68fb ldr r3, [r7, #12] 802b4fe: 1c5a adds r2, r3, #1 802b500: 60fa str r2, [r7, #12] 802b502: 4a46 ldr r2, [pc, #280] ; (802b61c ) 802b504: 213a movs r1, #58 ; 0x3a 802b506: 54d1 strb r1, [r2, r3] sector[l++] = ' '; 802b508: 68fb ldr r3, [r7, #12] 802b50a: 1c5a adds r2, r3, #1 802b50c: 60fa str r2, [r7, #12] 802b50e: 4a43 ldr r2, [pc, #268] ; (802b61c ) 802b510: 2120 movs r1, #32 802b512: 54d1 strb r1, [r2, r3] sector[l++] = '"'; 802b514: 68fb ldr r3, [r7, #12] 802b516: 1c5a adds r2, r3, #1 802b518: 60fa str r2, [r7, #12] 802b51a: 4a40 ldr r2, [pc, #256] ; (802b61c ) 802b51c: 2122 movs r1, #34 ; 0x22 802b51e: 54d1 strb r1, [r2, r3] if(strlen((char *)_SERIAL) != 0) 802b520: 4b3f ldr r3, [pc, #252] ; (802b620 ) 802b522: 781b ldrb r3, [r3, #0] 802b524: 2b00 cmp r3, #0 802b526: d028 beq.n 802b57a { sector[l++] = _SERIAL[0]; 802b528: 68fb ldr r3, [r7, #12] 802b52a: 1c5a adds r2, r3, #1 802b52c: 60fa str r2, [r7, #12] 802b52e: 4a3c ldr r2, [pc, #240] ; (802b620 ) 802b530: 7812 ldrb r2, [r2, #0] 802b532: b2d1 uxtb r1, r2 802b534: 4a39 ldr r2, [pc, #228] ; (802b61c ) 802b536: 54d1 strb r1, [r2, r3] sector[l++] = _SERIAL[1]; 802b538: 68fb ldr r3, [r7, #12] 802b53a: 1c5a adds r2, r3, #1 802b53c: 60fa str r2, [r7, #12] 802b53e: 4a38 ldr r2, [pc, #224] ; (802b620 ) 802b540: 7852 ldrb r2, [r2, #1] 802b542: b2d1 uxtb r1, r2 802b544: 4a35 ldr r2, [pc, #212] ; (802b61c ) 802b546: 54d1 strb r1, [r2, r3] sector[l++] = _SERIAL[2]; 802b548: 68fb ldr r3, [r7, #12] 802b54a: 1c5a adds r2, r3, #1 802b54c: 60fa str r2, [r7, #12] 802b54e: 4a34 ldr r2, [pc, #208] ; (802b620 ) 802b550: 7892 ldrb r2, [r2, #2] 802b552: b2d1 uxtb r1, r2 802b554: 4a31 ldr r2, [pc, #196] ; (802b61c ) 802b556: 54d1 strb r1, [r2, r3] sector[l++] = _SERIAL[3]; 802b558: 68fb ldr r3, [r7, #12] 802b55a: 1c5a adds r2, r3, #1 802b55c: 60fa str r2, [r7, #12] 802b55e: 4a30 ldr r2, [pc, #192] ; (802b620 ) 802b560: 78d2 ldrb r2, [r2, #3] 802b562: b2d1 uxtb r1, r2 802b564: 4a2d ldr r2, [pc, #180] ; (802b61c ) 802b566: 54d1 strb r1, [r2, r3] sector[l++] = _SERIAL[4]; 802b568: 68fb ldr r3, [r7, #12] 802b56a: 1c5a adds r2, r3, #1 802b56c: 60fa str r2, [r7, #12] 802b56e: 4a2c ldr r2, [pc, #176] ; (802b620 ) 802b570: 7912 ldrb r2, [r2, #4] 802b572: b2d1 uxtb r1, r2 802b574: 4a29 ldr r2, [pc, #164] ; (802b61c ) 802b576: 54d1 strb r1, [r2, r3] 802b578: e01d b.n 802b5b6 } else { sector[l++] = '0'; 802b57a: 68fb ldr r3, [r7, #12] 802b57c: 1c5a adds r2, r3, #1 802b57e: 60fa str r2, [r7, #12] 802b580: 4a26 ldr r2, [pc, #152] ; (802b61c ) 802b582: 2130 movs r1, #48 ; 0x30 802b584: 54d1 strb r1, [r2, r3] sector[l++] = '0'; 802b586: 68fb ldr r3, [r7, #12] 802b588: 1c5a adds r2, r3, #1 802b58a: 60fa str r2, [r7, #12] 802b58c: 4a23 ldr r2, [pc, #140] ; (802b61c ) 802b58e: 2130 movs r1, #48 ; 0x30 802b590: 54d1 strb r1, [r2, r3] sector[l++] = '0'; 802b592: 68fb ldr r3, [r7, #12] 802b594: 1c5a adds r2, r3, #1 802b596: 60fa str r2, [r7, #12] 802b598: 4a20 ldr r2, [pc, #128] ; (802b61c ) 802b59a: 2130 movs r1, #48 ; 0x30 802b59c: 54d1 strb r1, [r2, r3] sector[l++] = '0'; 802b59e: 68fb ldr r3, [r7, #12] 802b5a0: 1c5a adds r2, r3, #1 802b5a2: 60fa str r2, [r7, #12] 802b5a4: 4a1d ldr r2, [pc, #116] ; (802b61c ) 802b5a6: 2130 movs r1, #48 ; 0x30 802b5a8: 54d1 strb r1, [r2, r3] sector[l++] = '0'; 802b5aa: 68fb ldr r3, [r7, #12] 802b5ac: 1c5a adds r2, r3, #1 802b5ae: 60fa str r2, [r7, #12] 802b5b0: 4a1a ldr r2, [pc, #104] ; (802b61c ) 802b5b2: 2130 movs r1, #48 ; 0x30 802b5b4: 54d1 strb r1, [r2, r3] } sector[l++] = '"'; 802b5b6: 68fb ldr r3, [r7, #12] 802b5b8: 1c5a adds r2, r3, #1 802b5ba: 60fa str r2, [r7, #12] 802b5bc: 4a17 ldr r2, [pc, #92] ; (802b61c ) 802b5be: 2122 movs r1, #34 ; 0x22 802b5c0: 54d1 strb r1, [r2, r3] sector[l++] = ' '; 802b5c2: 68fb ldr r3, [r7, #12] 802b5c4: 1c5a adds r2, r3, #1 802b5c6: 60fa str r2, [r7, #12] 802b5c8: 4a14 ldr r2, [pc, #80] ; (802b61c ) 802b5ca: 2120 movs r1, #32 802b5cc: 54d1 strb r1, [r2, r3] sector[l++] = '}'; 802b5ce: 68fb ldr r3, [r7, #12] 802b5d0: 1c5a adds r2, r3, #1 802b5d2: 60fa str r2, [r7, #12] 802b5d4: 4a11 ldr r2, [pc, #68] ; (802b61c ) 802b5d6: 217d movs r1, #125 ; 0x7d 802b5d8: 54d1 strb r1, [r2, r3] res = f_write(&F, sector, l, &fk); 802b5da: 1d3b adds r3, r7, #4 802b5dc: 68fa ldr r2, [r7, #12] 802b5de: 490f ldr r1, [pc, #60] ; (802b61c ) 802b5e0: 480d ldr r0, [pc, #52] ; (802b618 ) 802b5e2: f09b f811 bl 80c6608 802b5e6: 4603 mov r3, r0 802b5e8: 72fb strb r3, [r7, #11] if((res == FR_OK) && (fk == l)) 802b5ea: 7afb ldrb r3, [r7, #11] 802b5ec: 2b00 cmp r3, #0 802b5ee: d108 bne.n 802b602 802b5f0: 687a ldr r2, [r7, #4] 802b5f2: 68fb ldr r3, [r7, #12] 802b5f4: 429a cmp r2, r3 802b5f6: d104 bne.n 802b602 { f_close(&F); 802b5f8: 4807 ldr r0, [pc, #28] ; (802b618 ) 802b5fa: f09b faa9 bl 80c6b50 return FR_OK; 802b5fe: 2300 movs r3, #0 802b600: e147 b.n 802b892 } else { f_close(&F); 802b602: 4805 ldr r0, [pc, #20] ; (802b618 ) 802b604: f09b faa4 bl 80c6b50 return FR_DISK_ERR; 802b608: 2301 movs r3, #1 802b60a: e142 b.n 802b892 802b60c: 2002164c .word 0x2002164c 802b610: 200229b4 .word 0x200229b4 802b614: 080ce50c .word 0x080ce50c 802b618: 20022e20 .word 0x20022e20 802b61c: 2007c000 .word 0x2007c000 802b620: 20020f14 .word 0x20020f14 } ////////////////////////////////////////////////////////////////// } else { return FR_DISK_ERR; 802b624: 2301 movs r3, #1 802b626: e134 b.n 802b892 } } else if(res == FR_OK) 802b628: 7afb ldrb r3, [r7, #11] 802b62a: 2b00 cmp r3, #0 802b62c: f040 8130 bne.w 802b890 { f_close(&F); 802b630: 489a ldr r0, [pc, #616] ; (802b89c ) 802b632: f09b fa8d bl 80c6b50 f_unlink(PointPath); 802b636: 489a ldr r0, [pc, #616] ; (802b8a0 ) 802b638: f09b ff19 bl 80c746e res = f_open(&F, PointPath, FA_CREATE_ALWAYS | FA_OPEN_ALWAYS | FA_WRITE | FA_READ); 802b63c: 221b movs r2, #27 802b63e: 4998 ldr r1, [pc, #608] ; (802b8a0 ) 802b640: 4896 ldr r0, [pc, #600] ; (802b89c ) 802b642: f09a fc41 bl 80c5ec8 802b646: 4603 mov r3, r0 802b648: 72fb strb r3, [r7, #11] if(res == FR_OK) 802b64a: 7afb ldrb r3, [r7, #11] 802b64c: 2b00 cmp r3, #0 802b64e: f040 811d bne.w 802b88c { f_sync(&F); 802b652: 4892 ldr r0, [pc, #584] ; (802b89c ) 802b654: f09b f978 bl 80c6948 memset(sector, 0, sizeof(sector)); 802b658: f44f 7200 mov.w r2, #512 ; 0x200 802b65c: 2100 movs r1, #0 802b65e: 4891 ldr r0, [pc, #580] ; (802b8a4 ) 802b660: f0a1 fcf2 bl 80cd048 l = 0; 802b664: 2300 movs r3, #0 802b666: 60fb str r3, [r7, #12] sector[l++] = '{'; 802b668: 68fb ldr r3, [r7, #12] 802b66a: 1c5a adds r2, r3, #1 802b66c: 60fa str r2, [r7, #12] 802b66e: 4a8d ldr r2, [pc, #564] ; (802b8a4 ) 802b670: 217b movs r1, #123 ; 0x7b 802b672: 54d1 strb r1, [r2, r3] sector[l++] = ' '; 802b674: 68fb ldr r3, [r7, #12] 802b676: 1c5a adds r2, r3, #1 802b678: 60fa str r2, [r7, #12] 802b67a: 4a8a ldr r2, [pc, #552] ; (802b8a4 ) 802b67c: 2120 movs r1, #32 802b67e: 54d1 strb r1, [r2, r3] sector[l++] = '"'; 802b680: 68fb ldr r3, [r7, #12] 802b682: 1c5a adds r2, r3, #1 802b684: 60fa str r2, [r7, #12] 802b686: 4a87 ldr r2, [pc, #540] ; (802b8a4 ) 802b688: 2122 movs r1, #34 ; 0x22 802b68a: 54d1 strb r1, [r2, r3] sector[l++] = 'm'; 802b68c: 68fb ldr r3, [r7, #12] 802b68e: 1c5a adds r2, r3, #1 802b690: 60fa str r2, [r7, #12] 802b692: 4a84 ldr r2, [pc, #528] ; (802b8a4 ) 802b694: 216d movs r1, #109 ; 0x6d 802b696: 54d1 strb r1, [r2, r3] sector[l++] = 'o'; 802b698: 68fb ldr r3, [r7, #12] 802b69a: 1c5a adds r2, r3, #1 802b69c: 60fa str r2, [r7, #12] 802b69e: 4a81 ldr r2, [pc, #516] ; (802b8a4 ) 802b6a0: 216f movs r1, #111 ; 0x6f 802b6a2: 54d1 strb r1, [r2, r3] sector[l++] = 'd'; 802b6a4: 68fb ldr r3, [r7, #12] 802b6a6: 1c5a adds r2, r3, #1 802b6a8: 60fa str r2, [r7, #12] 802b6aa: 4a7e ldr r2, [pc, #504] ; (802b8a4 ) 802b6ac: 2164 movs r1, #100 ; 0x64 802b6ae: 54d1 strb r1, [r2, r3] sector[l++] = 'e'; 802b6b0: 68fb ldr r3, [r7, #12] 802b6b2: 1c5a adds r2, r3, #1 802b6b4: 60fa str r2, [r7, #12] 802b6b6: 4a7b ldr r2, [pc, #492] ; (802b8a4 ) 802b6b8: 2165 movs r1, #101 ; 0x65 802b6ba: 54d1 strb r1, [r2, r3] sector[l++] = 'l'; 802b6bc: 68fb ldr r3, [r7, #12] 802b6be: 1c5a adds r2, r3, #1 802b6c0: 60fa str r2, [r7, #12] 802b6c2: 4a78 ldr r2, [pc, #480] ; (802b8a4 ) 802b6c4: 216c movs r1, #108 ; 0x6c 802b6c6: 54d1 strb r1, [r2, r3] sector[l++] = '"'; 802b6c8: 68fb ldr r3, [r7, #12] 802b6ca: 1c5a adds r2, r3, #1 802b6cc: 60fa str r2, [r7, #12] 802b6ce: 4a75 ldr r2, [pc, #468] ; (802b8a4 ) 802b6d0: 2122 movs r1, #34 ; 0x22 802b6d2: 54d1 strb r1, [r2, r3] sector[l++] = ':'; 802b6d4: 68fb ldr r3, [r7, #12] 802b6d6: 1c5a adds r2, r3, #1 802b6d8: 60fa str r2, [r7, #12] 802b6da: 4a72 ldr r2, [pc, #456] ; (802b8a4 ) 802b6dc: 213a movs r1, #58 ; 0x3a 802b6de: 54d1 strb r1, [r2, r3] sector[l++] = ' '; 802b6e0: 68fb ldr r3, [r7, #12] 802b6e2: 1c5a adds r2, r3, #1 802b6e4: 60fa str r2, [r7, #12] 802b6e6: 4a6f ldr r2, [pc, #444] ; (802b8a4 ) 802b6e8: 2120 movs r1, #32 802b6ea: 54d1 strb r1, [r2, r3] sector[l++] = '"'; 802b6ec: 68fb ldr r3, [r7, #12] 802b6ee: 1c5a adds r2, r3, #1 802b6f0: 60fa str r2, [r7, #12] 802b6f2: 4a6c ldr r2, [pc, #432] ; (802b8a4 ) 802b6f4: 2122 movs r1, #34 ; 0x22 802b6f6: 54d1 strb r1, [r2, r3] sector[l++] = '1'; sector[l++] = '0'; sector[l++] = '2'; #endif #ifdef USE_D141 sector[l++] = 'D'; 802b6f8: 68fb ldr r3, [r7, #12] 802b6fa: 1c5a adds r2, r3, #1 802b6fc: 60fa str r2, [r7, #12] 802b6fe: 4a69 ldr r2, [pc, #420] ; (802b8a4 ) 802b700: 2144 movs r1, #68 ; 0x44 802b702: 54d1 strb r1, [r2, r3] sector[l++] = '1'; 802b704: 68fb ldr r3, [r7, #12] 802b706: 1c5a adds r2, r3, #1 802b708: 60fa str r2, [r7, #12] 802b70a: 4a66 ldr r2, [pc, #408] ; (802b8a4 ) 802b70c: 2131 movs r1, #49 ; 0x31 802b70e: 54d1 strb r1, [r2, r3] sector[l++] = '4'; 802b710: 68fb ldr r3, [r7, #12] 802b712: 1c5a adds r2, r3, #1 802b714: 60fa str r2, [r7, #12] 802b716: 4a63 ldr r2, [pc, #396] ; (802b8a4 ) 802b718: 2134 movs r1, #52 ; 0x34 802b71a: 54d1 strb r1, [r2, r3] sector[l++] = '1'; 802b71c: 68fb ldr r3, [r7, #12] 802b71e: 1c5a adds r2, r3, #1 802b720: 60fa str r2, [r7, #12] 802b722: 4a60 ldr r2, [pc, #384] ; (802b8a4 ) 802b724: 2131 movs r1, #49 ; 0x31 802b726: 54d1 strb r1, [r2, r3] sector[l++] = 'D'; sector[l++] = '1'; sector[l++] = '4'; sector[l++] = '2'; #endif sector[l++] = '"'; 802b728: 68fb ldr r3, [r7, #12] 802b72a: 1c5a adds r2, r3, #1 802b72c: 60fa str r2, [r7, #12] 802b72e: 4a5d ldr r2, [pc, #372] ; (802b8a4 ) 802b730: 2122 movs r1, #34 ; 0x22 802b732: 54d1 strb r1, [r2, r3] sector[l++] = ','; 802b734: 68fb ldr r3, [r7, #12] 802b736: 1c5a adds r2, r3, #1 802b738: 60fa str r2, [r7, #12] 802b73a: 4a5a ldr r2, [pc, #360] ; (802b8a4 ) 802b73c: 212c movs r1, #44 ; 0x2c 802b73e: 54d1 strb r1, [r2, r3] sector[l++] = ' '; 802b740: 68fb ldr r3, [r7, #12] 802b742: 1c5a adds r2, r3, #1 802b744: 60fa str r2, [r7, #12] 802b746: 4a57 ldr r2, [pc, #348] ; (802b8a4 ) 802b748: 2120 movs r1, #32 802b74a: 54d1 strb r1, [r2, r3] sector[l++] = '"'; 802b74c: 68fb ldr r3, [r7, #12] 802b74e: 1c5a adds r2, r3, #1 802b750: 60fa str r2, [r7, #12] 802b752: 4a54 ldr r2, [pc, #336] ; (802b8a4 ) 802b754: 2122 movs r1, #34 ; 0x22 802b756: 54d1 strb r1, [r2, r3] sector[l++] = 's'; 802b758: 68fb ldr r3, [r7, #12] 802b75a: 1c5a adds r2, r3, #1 802b75c: 60fa str r2, [r7, #12] 802b75e: 4a51 ldr r2, [pc, #324] ; (802b8a4 ) 802b760: 2173 movs r1, #115 ; 0x73 802b762: 54d1 strb r1, [r2, r3] sector[l++] = 'n'; 802b764: 68fb ldr r3, [r7, #12] 802b766: 1c5a adds r2, r3, #1 802b768: 60fa str r2, [r7, #12] 802b76a: 4a4e ldr r2, [pc, #312] ; (802b8a4 ) 802b76c: 216e movs r1, #110 ; 0x6e 802b76e: 54d1 strb r1, [r2, r3] sector[l++] = '"'; 802b770: 68fb ldr r3, [r7, #12] 802b772: 1c5a adds r2, r3, #1 802b774: 60fa str r2, [r7, #12] 802b776: 4a4b ldr r2, [pc, #300] ; (802b8a4 ) 802b778: 2122 movs r1, #34 ; 0x22 802b77a: 54d1 strb r1, [r2, r3] sector[l++] = ':'; 802b77c: 68fb ldr r3, [r7, #12] 802b77e: 1c5a adds r2, r3, #1 802b780: 60fa str r2, [r7, #12] 802b782: 4a48 ldr r2, [pc, #288] ; (802b8a4 ) 802b784: 213a movs r1, #58 ; 0x3a 802b786: 54d1 strb r1, [r2, r3] sector[l++] = ' '; 802b788: 68fb ldr r3, [r7, #12] 802b78a: 1c5a adds r2, r3, #1 802b78c: 60fa str r2, [r7, #12] 802b78e: 4a45 ldr r2, [pc, #276] ; (802b8a4 ) 802b790: 2120 movs r1, #32 802b792: 54d1 strb r1, [r2, r3] sector[l++] = '"'; 802b794: 68fb ldr r3, [r7, #12] 802b796: 1c5a adds r2, r3, #1 802b798: 60fa str r2, [r7, #12] 802b79a: 4a42 ldr r2, [pc, #264] ; (802b8a4 ) 802b79c: 2122 movs r1, #34 ; 0x22 802b79e: 54d1 strb r1, [r2, r3] if(strlen((char *) _SERIAL) != 0) 802b7a0: 4b41 ldr r3, [pc, #260] ; (802b8a8 ) 802b7a2: 781b ldrb r3, [r3, #0] 802b7a4: 2b00 cmp r3, #0 802b7a6: d028 beq.n 802b7fa { sector[l++] = _SERIAL[0]; 802b7a8: 68fb ldr r3, [r7, #12] 802b7aa: 1c5a adds r2, r3, #1 802b7ac: 60fa str r2, [r7, #12] 802b7ae: 4a3e ldr r2, [pc, #248] ; (802b8a8 ) 802b7b0: 7812 ldrb r2, [r2, #0] 802b7b2: b2d1 uxtb r1, r2 802b7b4: 4a3b ldr r2, [pc, #236] ; (802b8a4 ) 802b7b6: 54d1 strb r1, [r2, r3] sector[l++] = _SERIAL[1]; 802b7b8: 68fb ldr r3, [r7, #12] 802b7ba: 1c5a adds r2, r3, #1 802b7bc: 60fa str r2, [r7, #12] 802b7be: 4a3a ldr r2, [pc, #232] ; (802b8a8 ) 802b7c0: 7852 ldrb r2, [r2, #1] 802b7c2: b2d1 uxtb r1, r2 802b7c4: 4a37 ldr r2, [pc, #220] ; (802b8a4 ) 802b7c6: 54d1 strb r1, [r2, r3] sector[l++] = _SERIAL[2]; 802b7c8: 68fb ldr r3, [r7, #12] 802b7ca: 1c5a adds r2, r3, #1 802b7cc: 60fa str r2, [r7, #12] 802b7ce: 4a36 ldr r2, [pc, #216] ; (802b8a8 ) 802b7d0: 7892 ldrb r2, [r2, #2] 802b7d2: b2d1 uxtb r1, r2 802b7d4: 4a33 ldr r2, [pc, #204] ; (802b8a4 ) 802b7d6: 54d1 strb r1, [r2, r3] sector[l++] = _SERIAL[3]; 802b7d8: 68fb ldr r3, [r7, #12] 802b7da: 1c5a adds r2, r3, #1 802b7dc: 60fa str r2, [r7, #12] 802b7de: 4a32 ldr r2, [pc, #200] ; (802b8a8 ) 802b7e0: 78d2 ldrb r2, [r2, #3] 802b7e2: b2d1 uxtb r1, r2 802b7e4: 4a2f ldr r2, [pc, #188] ; (802b8a4 ) 802b7e6: 54d1 strb r1, [r2, r3] sector[l++] = _SERIAL[4]; 802b7e8: 68fb ldr r3, [r7, #12] 802b7ea: 1c5a adds r2, r3, #1 802b7ec: 60fa str r2, [r7, #12] 802b7ee: 4a2e ldr r2, [pc, #184] ; (802b8a8 ) 802b7f0: 7912 ldrb r2, [r2, #4] 802b7f2: b2d1 uxtb r1, r2 802b7f4: 4a2b ldr r2, [pc, #172] ; (802b8a4 ) 802b7f6: 54d1 strb r1, [r2, r3] 802b7f8: e01d b.n 802b836 } else { sector[l++] = '0'; 802b7fa: 68fb ldr r3, [r7, #12] 802b7fc: 1c5a adds r2, r3, #1 802b7fe: 60fa str r2, [r7, #12] 802b800: 4a28 ldr r2, [pc, #160] ; (802b8a4 ) 802b802: 2130 movs r1, #48 ; 0x30 802b804: 54d1 strb r1, [r2, r3] sector[l++] = '0'; 802b806: 68fb ldr r3, [r7, #12] 802b808: 1c5a adds r2, r3, #1 802b80a: 60fa str r2, [r7, #12] 802b80c: 4a25 ldr r2, [pc, #148] ; (802b8a4 ) 802b80e: 2130 movs r1, #48 ; 0x30 802b810: 54d1 strb r1, [r2, r3] sector[l++] = '0'; 802b812: 68fb ldr r3, [r7, #12] 802b814: 1c5a adds r2, r3, #1 802b816: 60fa str r2, [r7, #12] 802b818: 4a22 ldr r2, [pc, #136] ; (802b8a4 ) 802b81a: 2130 movs r1, #48 ; 0x30 802b81c: 54d1 strb r1, [r2, r3] sector[l++] = '0'; 802b81e: 68fb ldr r3, [r7, #12] 802b820: 1c5a adds r2, r3, #1 802b822: 60fa str r2, [r7, #12] 802b824: 4a1f ldr r2, [pc, #124] ; (802b8a4 ) 802b826: 2130 movs r1, #48 ; 0x30 802b828: 54d1 strb r1, [r2, r3] sector[l++] = '0'; 802b82a: 68fb ldr r3, [r7, #12] 802b82c: 1c5a adds r2, r3, #1 802b82e: 60fa str r2, [r7, #12] 802b830: 4a1c ldr r2, [pc, #112] ; (802b8a4 ) 802b832: 2130 movs r1, #48 ; 0x30 802b834: 54d1 strb r1, [r2, r3] } sector[l++] = '"'; 802b836: 68fb ldr r3, [r7, #12] 802b838: 1c5a adds r2, r3, #1 802b83a: 60fa str r2, [r7, #12] 802b83c: 4a19 ldr r2, [pc, #100] ; (802b8a4 ) 802b83e: 2122 movs r1, #34 ; 0x22 802b840: 54d1 strb r1, [r2, r3] sector[l++] = ' '; 802b842: 68fb ldr r3, [r7, #12] 802b844: 1c5a adds r2, r3, #1 802b846: 60fa str r2, [r7, #12] 802b848: 4a16 ldr r2, [pc, #88] ; (802b8a4 ) 802b84a: 2120 movs r1, #32 802b84c: 54d1 strb r1, [r2, r3] sector[l++] = '}'; 802b84e: 68fb ldr r3, [r7, #12] 802b850: 1c5a adds r2, r3, #1 802b852: 60fa str r2, [r7, #12] 802b854: 4a13 ldr r2, [pc, #76] ; (802b8a4 ) 802b856: 217d movs r1, #125 ; 0x7d 802b858: 54d1 strb r1, [r2, r3] res = f_write(&F, sector, l, &fk); 802b85a: 1d3b adds r3, r7, #4 802b85c: 68fa ldr r2, [r7, #12] 802b85e: 4911 ldr r1, [pc, #68] ; (802b8a4 ) 802b860: 480e ldr r0, [pc, #56] ; (802b89c ) 802b862: f09a fed1 bl 80c6608 802b866: 4603 mov r3, r0 802b868: 72fb strb r3, [r7, #11] if((res == FR_OK) && (fk == l)) 802b86a: 7afb ldrb r3, [r7, #11] 802b86c: 2b00 cmp r3, #0 802b86e: d108 bne.n 802b882 802b870: 687a ldr r2, [r7, #4] 802b872: 68fb ldr r3, [r7, #12] 802b874: 429a cmp r2, r3 802b876: d104 bne.n 802b882 { f_close(&F); 802b878: 4808 ldr r0, [pc, #32] ; (802b89c ) 802b87a: f09b f969 bl 80c6b50 return FR_OK; 802b87e: 2300 movs r3, #0 802b880: e007 b.n 802b892 } else { f_close(&F); 802b882: 4806 ldr r0, [pc, #24] ; (802b89c ) 802b884: f09b f964 bl 80c6b50 return FR_DISK_ERR; 802b888: 2301 movs r3, #1 802b88a: e002 b.n 802b892 } ////////////////////////////////////////////////////////////////// } else { return FR_DISK_ERR; 802b88c: 2301 movs r3, #1 802b88e: e000 b.n 802b892 } } return res; 802b890: 7afb ldrb r3, [r7, #11] } 802b892: 4618 mov r0, r3 802b894: 3714 adds r7, #20 802b896: 46bd mov sp, r7 802b898: bd90 pop {r4, r7, pc} 802b89a: bf00 nop 802b89c: 20022e20 .word 0x20022e20 802b8a0: 200229b4 .word 0x200229b4 802b8a4: 2007c000 .word 0x2007c000 802b8a8: 20020f14 .word 0x20020f14 0802b8ac : FRESULT ScanFiles(char* path, uint32_t IndexFirstFile) { 802b8ac: b590 push {r4, r7, lr} 802b8ae: b09d sub sp, #116 ; 0x74 802b8b0: af00 add r7, sp, #0 802b8b2: 6078 str r0, [r7, #4] 802b8b4: 6039 str r1, [r7, #0] FRESULT res; //FILINFO fno; DIR dir; uint32_t i, l; int32_t r = 0; 802b8b6: 2300 movs r3, #0 802b8b8: 66bb str r3, [r7, #104] ; 0x68 uint32_t num = 0; 802b8ba: 2300 movs r3, #0 802b8bc: 667b str r3, [r7, #100] ; 0x64 char *fn; /* Ïîäðàçóìåâàåòñÿ, ÷òî êîíôèãóðàöèÿ áåç Unicode. */ #if _USE_LFN #endif res = f_opendir(&dir, path); /* Îòêðûòèå äèðåêòîðèè */ 802b8be: f107 0308 add.w r3, r7, #8 802b8c2: 6879 ldr r1, [r7, #4] 802b8c4: 4618 mov r0, r3 802b8c6: f09b fbec bl 80c70a2 802b8ca: 4603 mov r3, r0 802b8cc: f887 306f strb.w r3, [r7, #111] ; 0x6f if(res == FR_OK) 802b8d0: f897 306f ldrb.w r3, [r7, #111] ; 0x6f 802b8d4: 2b00 cmp r3, #0 802b8d6: f040 8651 bne.w 802c57c { i = strlen(path); 802b8da: 6878 ldr r0, [r7, #4] 802b8dc: f7f4 fd1a bl 8020314 802b8e0: 6638 str r0, [r7, #96] ; 0x60 for (;;) { res = f_readdir(&dir, &fno); /* ×òåíèå îáúåêòà äèðåêòîðèè */ 802b8e2: f107 0308 add.w r3, r7, #8 802b8e6: 49a6 ldr r1, [pc, #664] ; (802bb80 ) 802b8e8: 4618 mov r0, r3 802b8ea: f09b fc81 bl 80c71f0 802b8ee: 4603 mov r3, r0 802b8f0: f887 306f strb.w r3, [r7, #111] ; 0x6f if(res != FR_OK || fno.fname[0] == 0) 802b8f4: f897 306f ldrb.w r3, [r7, #111] ; 0x6f 802b8f8: 2b00 cmp r3, #0 802b8fa: f040 863f bne.w 802c57c 802b8fe: 4ba0 ldr r3, [pc, #640] ; (802bb80 ) 802b900: 7e9b ldrb r3, [r3, #26] 802b902: 2b00 cmp r3, #0 802b904: f000 863a beq.w 802c57c break; /* Îñòàíîâ öèêëà ïðè îøèáêå èëè ïðè äîñòèæåíèè êîíöà ñïèñêà äèðåêòîðèè */ if(fno.fname[0] == '.') 802b908: 4b9d ldr r3, [pc, #628] ; (802bb80 ) 802b90a: 7e9b ldrb r3, [r3, #26] 802b90c: 2b2e cmp r3, #46 ; 0x2e 802b90e: f000 8607 beq.w 802c520 continue; /* Èãíîðèðîâàíèå ýëåìåíòà 'òî÷êà' */ #if _USE_LFN fn = *fno.fname ? fno.fname : fno.altname; 802b912: 4b9b ldr r3, [pc, #620] ; (802bb80 ) 802b914: 7e9b ldrb r3, [r3, #26] 802b916: 2b00 cmp r3, #0 802b918: d001 beq.n 802b91e 802b91a: 4b9a ldr r3, [pc, #616] ; (802bb84 ) 802b91c: e000 b.n 802b920 802b91e: 4b9a ldr r3, [pc, #616] ; (802bb88 ) 802b920: 65fb str r3, [r7, #92] ; 0x5c #else fn = fno.fname; #endif if(fno.fattrib & AM_DIR) 802b922: 4b97 ldr r3, [pc, #604] ; (802bb80 ) 802b924: 7b1b ldrb r3, [r3, #12] 802b926: f003 0310 and.w r3, r3, #16 802b92a: 2b00 cmp r3, #0 802b92c: d021 beq.n 802b972 { /* Ýòî äèðåêòîðèÿ */ sprintf(&path[i], "/%s", fn); 802b92e: 687a ldr r2, [r7, #4] 802b930: 6e3b ldr r3, [r7, #96] ; 0x60 802b932: 4413 add r3, r2 802b934: 6dfa ldr r2, [r7, #92] ; 0x5c 802b936: 4995 ldr r1, [pc, #596] ; (802bb8c ) 802b938: 4618 mov r0, r3 802b93a: f0a1 fc61 bl 80cd200 if(FlagReturn == false) { 802b93e: 4b94 ldr r3, [pc, #592] ; (802bb90 ) 802b940: 781b ldrb r3, [r3, #0] 802b942: b2db uxtb r3, r3 802b944: f083 0301 eor.w r3, r3, #1 802b948: b2db uxtb r3, r3 802b94a: 2b00 cmp r3, #0 802b94c: d006 beq.n 802b95c res = ScanFiles(path, IndexFirstFile); 802b94e: 6839 ldr r1, [r7, #0] 802b950: 6878 ldr r0, [r7, #4] 802b952: f7ff ffab bl 802b8ac 802b956: 4603 mov r3, r0 802b958: f887 306f strb.w r3, [r7, #111] ; 0x6f } if (res != FR_OK) { 802b95c: f897 306f ldrb.w r3, [r7, #111] ; 0x6f 802b960: 2b00 cmp r3, #0 802b962: f040 860a bne.w 802c57a break; } path[i] = 0; 802b966: 687a ldr r2, [r7, #4] 802b968: 6e3b ldr r3, [r7, #96] ; 0x60 802b96a: 4413 add r3, r2 802b96c: 2200 movs r2, #0 802b96e: 701a strb r2, [r3, #0] 802b970: e7b7 b.n 802b8e2 } path[i] = 0;*/ } else { /* Ýòî ôàéë. */ printf("%s/%s\n", path, fn); 802b972: 6dfa ldr r2, [r7, #92] ; 0x5c 802b974: 6879 ldr r1, [r7, #4] 802b976: 4887 ldr r0, [pc, #540] ; (802bb94 ) 802b978: f0a1 fc1a bl 80cd1b0 l = strlen(fn); 802b97c: 6df8 ldr r0, [r7, #92] ; 0x5c 802b97e: f7f4 fcc9 bl 8020314 802b982: 65b8 str r0, [r7, #88] ; 0x58 switch(ScanMode) 802b984: 4b84 ldr r3, [pc, #528] ; (802bb98 ) 802b986: 781b ldrb r3, [r3, #0] 802b988: b2db uxtb r3, r3 802b98a: 2b0d cmp r3, #13 802b98c: d8a9 bhi.n 802b8e2 802b98e: a201 add r2, pc, #4 ; (adr r2, 802b994 ) 802b990: f852 f023 ldr.w pc, [r2, r3, lsl #2] 802b994: 0802b9cd .word 0x0802b9cd 802b998: 0802bc19 .word 0x0802bc19 802b99c: 0802ba9d .word 0x0802ba9d 802b9a0: 0802bbb1 .word 0x0802bbb1 802b9a4: 0802ba35 .word 0x0802ba35 802b9a8: 0802bb05 .word 0x0802bb05 802b9ac: 0802bc81 .word 0x0802bc81 802b9b0: 0802be61 .word 0x0802be61 802b9b4: 0802c3ab .word 0x0802c3ab 802b9b8: 0802c4c7 .word 0x0802c4c7 802b9bc: 0802c079 .word 0x0802c079 802b9c0: 0802c2a9 .word 0x0802c2a9 802b9c4: 0802bf63 .word 0x0802bf63 802b9c8: 0802c17b .word 0x0802c17b { case GET_NUM_PTM_FILES: if((fn[l - 3] == 'p') || (fn[l - 3] == 'P')) 802b9cc: 6dbb ldr r3, [r7, #88] ; 0x58 802b9ce: 3b03 subs r3, #3 802b9d0: 6dfa ldr r2, [r7, #92] ; 0x5c 802b9d2: 4413 add r3, r2 802b9d4: 781b ldrb r3, [r3, #0] 802b9d6: 2b70 cmp r3, #112 ; 0x70 802b9d8: d007 beq.n 802b9ea 802b9da: 6dbb ldr r3, [r7, #88] ; 0x58 802b9dc: 3b03 subs r3, #3 802b9de: 6dfa ldr r2, [r7, #92] ; 0x5c 802b9e0: 4413 add r3, r2 802b9e2: 781b ldrb r3, [r3, #0] 802b9e4: 2b50 cmp r3, #80 ; 0x50 802b9e6: f040 859e bne.w 802c526 { if((fn[l - 2] == 't') || (fn[l - 2] == 'T')) 802b9ea: 6dbb ldr r3, [r7, #88] ; 0x58 802b9ec: 3b02 subs r3, #2 802b9ee: 6dfa ldr r2, [r7, #92] ; 0x5c 802b9f0: 4413 add r3, r2 802b9f2: 781b ldrb r3, [r3, #0] 802b9f4: 2b74 cmp r3, #116 ; 0x74 802b9f6: d007 beq.n 802ba08 802b9f8: 6dbb ldr r3, [r7, #88] ; 0x58 802b9fa: 3b02 subs r3, #2 802b9fc: 6dfa ldr r2, [r7, #92] ; 0x5c 802b9fe: 4413 add r3, r2 802ba00: 781b ldrb r3, [r3, #0] 802ba02: 2b54 cmp r3, #84 ; 0x54 802ba04: f040 858f bne.w 802c526 { if((fn[l - 1] == 'm') || (fn[l - 1] == 'M')) 802ba08: 6dbb ldr r3, [r7, #88] ; 0x58 802ba0a: 3b01 subs r3, #1 802ba0c: 6dfa ldr r2, [r7, #92] ; 0x5c 802ba0e: 4413 add r3, r2 802ba10: 781b ldrb r3, [r3, #0] 802ba12: 2b6d cmp r3, #109 ; 0x6d 802ba14: d007 beq.n 802ba26 802ba16: 6dbb ldr r3, [r7, #88] ; 0x58 802ba18: 3b01 subs r3, #1 802ba1a: 6dfa ldr r2, [r7, #92] ; 0x5c 802ba1c: 4413 add r3, r2 802ba1e: 781b ldrb r3, [r3, #0] 802ba20: 2b4d cmp r3, #77 ; 0x4d 802ba22: f040 8580 bne.w 802c526 { tmpPTM++; 802ba26: 4b5d ldr r3, [pc, #372] ; (802bb9c ) 802ba28: 681b ldr r3, [r3, #0] 802ba2a: 3301 adds r3, #1 802ba2c: 4a5b ldr r2, [pc, #364] ; (802bb9c ) 802ba2e: 6013 str r3, [r2, #0] } } } break; 802ba30: f000 bd79 b.w 802c526 case GET_NUM_DGN_FILES: if((fn[l - 3] == 'd') || (fn[l - 3] == 'D')) 802ba34: 6dbb ldr r3, [r7, #88] ; 0x58 802ba36: 3b03 subs r3, #3 802ba38: 6dfa ldr r2, [r7, #92] ; 0x5c 802ba3a: 4413 add r3, r2 802ba3c: 781b ldrb r3, [r3, #0] 802ba3e: 2b64 cmp r3, #100 ; 0x64 802ba40: d007 beq.n 802ba52 802ba42: 6dbb ldr r3, [r7, #88] ; 0x58 802ba44: 3b03 subs r3, #3 802ba46: 6dfa ldr r2, [r7, #92] ; 0x5c 802ba48: 4413 add r3, r2 802ba4a: 781b ldrb r3, [r3, #0] 802ba4c: 2b44 cmp r3, #68 ; 0x44 802ba4e: f040 856d bne.w 802c52c { if((fn[l - 2] == 'g') || (fn[l - 2] == 'G')) 802ba52: 6dbb ldr r3, [r7, #88] ; 0x58 802ba54: 3b02 subs r3, #2 802ba56: 6dfa ldr r2, [r7, #92] ; 0x5c 802ba58: 4413 add r3, r2 802ba5a: 781b ldrb r3, [r3, #0] 802ba5c: 2b67 cmp r3, #103 ; 0x67 802ba5e: d007 beq.n 802ba70 802ba60: 6dbb ldr r3, [r7, #88] ; 0x58 802ba62: 3b02 subs r3, #2 802ba64: 6dfa ldr r2, [r7, #92] ; 0x5c 802ba66: 4413 add r3, r2 802ba68: 781b ldrb r3, [r3, #0] 802ba6a: 2b47 cmp r3, #71 ; 0x47 802ba6c: f040 855e bne.w 802c52c { if((fn[l - 1] == 'n') || (fn[l - 1] == 'N')) 802ba70: 6dbb ldr r3, [r7, #88] ; 0x58 802ba72: 3b01 subs r3, #1 802ba74: 6dfa ldr r2, [r7, #92] ; 0x5c 802ba76: 4413 add r3, r2 802ba78: 781b ldrb r3, [r3, #0] 802ba7a: 2b6e cmp r3, #110 ; 0x6e 802ba7c: d007 beq.n 802ba8e 802ba7e: 6dbb ldr r3, [r7, #88] ; 0x58 802ba80: 3b01 subs r3, #1 802ba82: 6dfa ldr r2, [r7, #92] ; 0x5c 802ba84: 4413 add r3, r2 802ba86: 781b ldrb r3, [r3, #0] 802ba88: 2b4e cmp r3, #78 ; 0x4e 802ba8a: f040 854f bne.w 802c52c { tmpDGN++; 802ba8e: 4b44 ldr r3, [pc, #272] ; (802bba0 ) 802ba90: 681b ldr r3, [r3, #0] 802ba92: 3301 adds r3, #1 802ba94: 4a42 ldr r2, [pc, #264] ; (802bba0 ) 802ba96: 6013 str r3, [r2, #0] } } } break; 802ba98: f000 bd48 b.w 802c52c case GET_NUM_SPEC_FILES: if((fn[l - 3] == 'c') || (fn[l - 3] == 'C')) 802ba9c: 6dbb ldr r3, [r7, #88] ; 0x58 802ba9e: 3b03 subs r3, #3 802baa0: 6dfa ldr r2, [r7, #92] ; 0x5c 802baa2: 4413 add r3, r2 802baa4: 781b ldrb r3, [r3, #0] 802baa6: 2b63 cmp r3, #99 ; 0x63 802baa8: d007 beq.n 802baba 802baaa: 6dbb ldr r3, [r7, #88] ; 0x58 802baac: 3b03 subs r3, #3 802baae: 6dfa ldr r2, [r7, #92] ; 0x5c 802bab0: 4413 add r3, r2 802bab2: 781b ldrb r3, [r3, #0] 802bab4: 2b43 cmp r3, #67 ; 0x43 802bab6: f040 853c bne.w 802c532 { if((fn[l - 2] == 's') || (fn[l - 2] == 'S')) 802baba: 6dbb ldr r3, [r7, #88] ; 0x58 802babc: 3b02 subs r3, #2 802babe: 6dfa ldr r2, [r7, #92] ; 0x5c 802bac0: 4413 add r3, r2 802bac2: 781b ldrb r3, [r3, #0] 802bac4: 2b73 cmp r3, #115 ; 0x73 802bac6: d007 beq.n 802bad8 802bac8: 6dbb ldr r3, [r7, #88] ; 0x58 802baca: 3b02 subs r3, #2 802bacc: 6dfa ldr r2, [r7, #92] ; 0x5c 802bace: 4413 add r3, r2 802bad0: 781b ldrb r3, [r3, #0] 802bad2: 2b53 cmp r3, #83 ; 0x53 802bad4: f040 852d bne.w 802c532 { if((fn[l - 1] == 'v') || (fn[l - 1] == 'V')) 802bad8: 6dbb ldr r3, [r7, #88] ; 0x58 802bada: 3b01 subs r3, #1 802badc: 6dfa ldr r2, [r7, #92] ; 0x5c 802bade: 4413 add r3, r2 802bae0: 781b ldrb r3, [r3, #0] 802bae2: 2b76 cmp r3, #118 ; 0x76 802bae4: d007 beq.n 802baf6 802bae6: 6dbb ldr r3, [r7, #88] ; 0x58 802bae8: 3b01 subs r3, #1 802baea: 6dfa ldr r2, [r7, #92] ; 0x5c 802baec: 4413 add r3, r2 802baee: 781b ldrb r3, [r3, #0] 802baf0: 2b56 cmp r3, #86 ; 0x56 802baf2: f040 851e bne.w 802c532 { tmpSPEC++; 802baf6: 4b2b ldr r3, [pc, #172] ; (802bba4 ) 802baf8: 681b ldr r3, [r3, #0] 802bafa: 3301 adds r3, #1 802bafc: 4a29 ldr r2, [pc, #164] ; (802bba4 ) 802bafe: 6013 str r3, [r2, #0] } } } break; 802bb00: f000 bd17 b.w 802c532 case GET_NUM_CSV_FILES: if((fn[l - 3] == 'c') || (fn[l - 3] == 'C')) 802bb04: 6dbb ldr r3, [r7, #88] ; 0x58 802bb06: 3b03 subs r3, #3 802bb08: 6dfa ldr r2, [r7, #92] ; 0x5c 802bb0a: 4413 add r3, r2 802bb0c: 781b ldrb r3, [r3, #0] 802bb0e: 2b63 cmp r3, #99 ; 0x63 802bb10: d007 beq.n 802bb22 802bb12: 6dbb ldr r3, [r7, #88] ; 0x58 802bb14: 3b03 subs r3, #3 802bb16: 6dfa ldr r2, [r7, #92] ; 0x5c 802bb18: 4413 add r3, r2 802bb1a: 781b ldrb r3, [r3, #0] 802bb1c: 2b43 cmp r3, #67 ; 0x43 802bb1e: f040 850b bne.w 802c538 { if((fn[l - 2] == 's') || (fn[l - 2] == 'S')) 802bb22: 6dbb ldr r3, [r7, #88] ; 0x58 802bb24: 3b02 subs r3, #2 802bb26: 6dfa ldr r2, [r7, #92] ; 0x5c 802bb28: 4413 add r3, r2 802bb2a: 781b ldrb r3, [r3, #0] 802bb2c: 2b73 cmp r3, #115 ; 0x73 802bb2e: d007 beq.n 802bb40 802bb30: 6dbb ldr r3, [r7, #88] ; 0x58 802bb32: 3b02 subs r3, #2 802bb34: 6dfa ldr r2, [r7, #92] ; 0x5c 802bb36: 4413 add r3, r2 802bb38: 781b ldrb r3, [r3, #0] 802bb3a: 2b53 cmp r3, #83 ; 0x53 802bb3c: f040 84fc bne.w 802c538 { if((fn[l - 1] == 'v') || (fn[l - 1] == 'V')) 802bb40: 6dbb ldr r3, [r7, #88] ; 0x58 802bb42: 3b01 subs r3, #1 802bb44: 6dfa ldr r2, [r7, #92] ; 0x5c 802bb46: 4413 add r3, r2 802bb48: 781b ldrb r3, [r3, #0] 802bb4a: 2b76 cmp r3, #118 ; 0x76 802bb4c: d007 beq.n 802bb5e 802bb4e: 6dbb ldr r3, [r7, #88] ; 0x58 802bb50: 3b01 subs r3, #1 802bb52: 6dfa ldr r2, [r7, #92] ; 0x5c 802bb54: 4413 add r3, r2 802bb56: 781b ldrb r3, [r3, #0] 802bb58: 2b56 cmp r3, #86 ; 0x56 802bb5a: f040 84ed bne.w 802c538 { if(memcmp(path, "0:/Routes", 9) == 0) { 802bb5e: 2209 movs r2, #9 802bb60: 4911 ldr r1, [pc, #68] ; (802bba8 ) 802bb62: 6878 ldr r0, [r7, #4] 802bb64: f0a1 fa56 bl 80cd014 802bb68: 4603 mov r3, r0 802bb6a: 2b00 cmp r3, #0 802bb6c: f040 84e4 bne.w 802c538 tmpCSV++; 802bb70: 4b0e ldr r3, [pc, #56] ; (802bbac ) 802bb72: 681b ldr r3, [r3, #0] 802bb74: 3301 adds r3, #1 802bb76: 4a0d ldr r2, [pc, #52] ; (802bbac ) 802bb78: 6013 str r3, [r2, #0] } } } } break; 802bb7a: f000 bcdd b.w 802c538 802bb7e: bf00 nop 802bb80: 20021fa0 .word 0x20021fa0 802bb84: 20021fba .word 0x20021fba 802bb88: 20021fad .word 0x20021fad 802bb8c: 080ce518 .word 0x080ce518 802bb90: 20020dde .word 0x20020dde 802bb94: 080ce51c .word 0x080ce51c 802bb98: 20020ddf .word 0x20020ddf 802bb9c: 20020e1c .word 0x20020e1c 802bba0: 20020e20 .word 0x20020e20 802bba4: 20020e24 .word 0x20020e24 802bba8: 080ce524 .word 0x080ce524 802bbac: 20020e30 .word 0x20020e30 case GET_NUM_FRAN_FILES: if((fn[l - 3] == 'f') || (fn[l - 3] == 'F')) 802bbb0: 6dbb ldr r3, [r7, #88] ; 0x58 802bbb2: 3b03 subs r3, #3 802bbb4: 6dfa ldr r2, [r7, #92] ; 0x5c 802bbb6: 4413 add r3, r2 802bbb8: 781b ldrb r3, [r3, #0] 802bbba: 2b66 cmp r3, #102 ; 0x66 802bbbc: d007 beq.n 802bbce 802bbbe: 6dbb ldr r3, [r7, #88] ; 0x58 802bbc0: 3b03 subs r3, #3 802bbc2: 6dfa ldr r2, [r7, #92] ; 0x5c 802bbc4: 4413 add r3, r2 802bbc6: 781b ldrb r3, [r3, #0] 802bbc8: 2b46 cmp r3, #70 ; 0x46 802bbca: f040 84b8 bne.w 802c53e { if((fn[l - 2] == 'r') || (fn[l - 2] == 'R')) 802bbce: 6dbb ldr r3, [r7, #88] ; 0x58 802bbd0: 3b02 subs r3, #2 802bbd2: 6dfa ldr r2, [r7, #92] ; 0x5c 802bbd4: 4413 add r3, r2 802bbd6: 781b ldrb r3, [r3, #0] 802bbd8: 2b72 cmp r3, #114 ; 0x72 802bbda: d007 beq.n 802bbec 802bbdc: 6dbb ldr r3, [r7, #88] ; 0x58 802bbde: 3b02 subs r3, #2 802bbe0: 6dfa ldr r2, [r7, #92] ; 0x5c 802bbe2: 4413 add r3, r2 802bbe4: 781b ldrb r3, [r3, #0] 802bbe6: 2b52 cmp r3, #82 ; 0x52 802bbe8: f040 84a9 bne.w 802c53e { if((fn[l - 1] == 'n') || (fn[l - 1] == 'N')) 802bbec: 6dbb ldr r3, [r7, #88] ; 0x58 802bbee: 3b01 subs r3, #1 802bbf0: 6dfa ldr r2, [r7, #92] ; 0x5c 802bbf2: 4413 add r3, r2 802bbf4: 781b ldrb r3, [r3, #0] 802bbf6: 2b6e cmp r3, #110 ; 0x6e 802bbf8: d007 beq.n 802bc0a 802bbfa: 6dbb ldr r3, [r7, #88] ; 0x58 802bbfc: 3b01 subs r3, #1 802bbfe: 6dfa ldr r2, [r7, #92] ; 0x5c 802bc00: 4413 add r3, r2 802bc02: 781b ldrb r3, [r3, #0] 802bc04: 2b4e cmp r3, #78 ; 0x4e 802bc06: f040 849a bne.w 802c53e { tmpFRAN++; 802bc0a: 4b92 ldr r3, [pc, #584] ; (802be54 ) 802bc0c: 681b ldr r3, [r3, #0] 802bc0e: 3301 adds r3, #1 802bc10: 4a90 ldr r2, [pc, #576] ; (802be54 ) 802bc12: 6013 str r3, [r2, #0] } } } break; 802bc14: f000 bc93 b.w 802c53e case GET_NUM_GTR_FILES: if((fn[l - 3] == 'g') || (fn[l - 3] == 'G')) 802bc18: 6dbb ldr r3, [r7, #88] ; 0x58 802bc1a: 3b03 subs r3, #3 802bc1c: 6dfa ldr r2, [r7, #92] ; 0x5c 802bc1e: 4413 add r3, r2 802bc20: 781b ldrb r3, [r3, #0] 802bc22: 2b67 cmp r3, #103 ; 0x67 802bc24: d007 beq.n 802bc36 802bc26: 6dbb ldr r3, [r7, #88] ; 0x58 802bc28: 3b03 subs r3, #3 802bc2a: 6dfa ldr r2, [r7, #92] ; 0x5c 802bc2c: 4413 add r3, r2 802bc2e: 781b ldrb r3, [r3, #0] 802bc30: 2b47 cmp r3, #71 ; 0x47 802bc32: f040 8487 bne.w 802c544 { if((fn[l - 2] == 't') || (fn[l - 2] == 'T')) 802bc36: 6dbb ldr r3, [r7, #88] ; 0x58 802bc38: 3b02 subs r3, #2 802bc3a: 6dfa ldr r2, [r7, #92] ; 0x5c 802bc3c: 4413 add r3, r2 802bc3e: 781b ldrb r3, [r3, #0] 802bc40: 2b74 cmp r3, #116 ; 0x74 802bc42: d007 beq.n 802bc54 802bc44: 6dbb ldr r3, [r7, #88] ; 0x58 802bc46: 3b02 subs r3, #2 802bc48: 6dfa ldr r2, [r7, #92] ; 0x5c 802bc4a: 4413 add r3, r2 802bc4c: 781b ldrb r3, [r3, #0] 802bc4e: 2b54 cmp r3, #84 ; 0x54 802bc50: f040 8478 bne.w 802c544 { if((fn[l - 1] == 'r') || (fn[l - 1] == 'R')) 802bc54: 6dbb ldr r3, [r7, #88] ; 0x58 802bc56: 3b01 subs r3, #1 802bc58: 6dfa ldr r2, [r7, #92] ; 0x5c 802bc5a: 4413 add r3, r2 802bc5c: 781b ldrb r3, [r3, #0] 802bc5e: 2b72 cmp r3, #114 ; 0x72 802bc60: d007 beq.n 802bc72 802bc62: 6dbb ldr r3, [r7, #88] ; 0x58 802bc64: 3b01 subs r3, #1 802bc66: 6dfa ldr r2, [r7, #92] ; 0x5c 802bc68: 4413 add r3, r2 802bc6a: 781b ldrb r3, [r3, #0] 802bc6c: 2b52 cmp r3, #82 ; 0x52 802bc6e: f040 8469 bne.w 802c544 { tmpGTR++; 802bc72: 4b79 ldr r3, [pc, #484] ; (802be58 ) 802bc74: 681b ldr r3, [r3, #0] 802bc76: 3301 adds r3, #1 802bc78: 4a77 ldr r2, [pc, #476] ; (802be58 ) 802bc7a: 6013 str r3, [r2, #0] } } } break; 802bc7c: f000 bc62 b.w 802c544 case GET_NUM_ROUTE_FILES: if((fn[l - 3] == 'g') || (fn[l - 3] == 'G')) 802bc80: 6dbb ldr r3, [r7, #88] ; 0x58 802bc82: 3b03 subs r3, #3 802bc84: 6dfa ldr r2, [r7, #92] ; 0x5c 802bc86: 4413 add r3, r2 802bc88: 781b ldrb r3, [r3, #0] 802bc8a: 2b67 cmp r3, #103 ; 0x67 802bc8c: d007 beq.n 802bc9e 802bc8e: 6dbb ldr r3, [r7, #88] ; 0x58 802bc90: 3b03 subs r3, #3 802bc92: 6dfa ldr r2, [r7, #92] ; 0x5c 802bc94: 4413 add r3, r2 802bc96: 781b ldrb r3, [r3, #0] 802bc98: 2b47 cmp r3, #71 ; 0x47 802bc9a: f040 8456 bne.w 802c54a { if((fn[l - 2] == 't') || (fn[l - 2] == 'T')) 802bc9e: 6dbb ldr r3, [r7, #88] ; 0x58 802bca0: 3b02 subs r3, #2 802bca2: 6dfa ldr r2, [r7, #92] ; 0x5c 802bca4: 4413 add r3, r2 802bca6: 781b ldrb r3, [r3, #0] 802bca8: 2b74 cmp r3, #116 ; 0x74 802bcaa: d007 beq.n 802bcbc 802bcac: 6dbb ldr r3, [r7, #88] ; 0x58 802bcae: 3b02 subs r3, #2 802bcb0: 6dfa ldr r2, [r7, #92] ; 0x5c 802bcb2: 4413 add r3, r2 802bcb4: 781b ldrb r3, [r3, #0] 802bcb6: 2b54 cmp r3, #84 ; 0x54 802bcb8: f040 8447 bne.w 802c54a { if((fn[l - 1] == 'r') || (fn[l - 1] == 'R')) 802bcbc: 6dbb ldr r3, [r7, #88] ; 0x58 802bcbe: 3b01 subs r3, #1 802bcc0: 6dfa ldr r2, [r7, #92] ; 0x5c 802bcc2: 4413 add r3, r2 802bcc4: 781b ldrb r3, [r3, #0] 802bcc6: 2b72 cmp r3, #114 ; 0x72 802bcc8: d007 beq.n 802bcda 802bcca: 6dbb ldr r3, [r7, #88] ; 0x58 802bccc: 3b01 subs r3, #1 802bcce: 6dfa ldr r2, [r7, #92] ; 0x5c 802bcd0: 4413 add r3, r2 802bcd2: 781b ldrb r3, [r3, #0] 802bcd4: 2b52 cmp r3, #82 ; 0x52 802bcd6: f040 8438 bne.w 802c54a { tmpGTR++; 802bcda: 4b5f ldr r3, [pc, #380] ; (802be58 ) 802bcdc: 681b ldr r3, [r3, #0] 802bcde: 3301 adds r3, #1 802bce0: 4a5d ldr r2, [pc, #372] ; (802be58 ) 802bce2: 6013 str r3, [r2, #0] if(fn[1] == '_') 802bce4: 6dfb ldr r3, [r7, #92] ; 0x5c 802bce6: 3301 adds r3, #1 802bce8: 781b ldrb r3, [r3, #0] 802bcea: 2b5f cmp r3, #95 ; 0x5f 802bcec: d10e bne.n 802bd0c { num = (uint32_t) (fn[0] - 0x30); 802bcee: 6dfb ldr r3, [r7, #92] ; 0x5c 802bcf0: 781b ldrb r3, [r3, #0] 802bcf2: 3b30 subs r3, #48 ; 0x30 802bcf4: 667b str r3, [r7, #100] ; 0x64 if(num > 0) { 802bcf6: 6e7b ldr r3, [r7, #100] ; 0x64 802bcf8: 2b00 cmp r3, #0 802bcfa: f000 8426 beq.w 802c54a RouteMeas(num - 1) = 1; 802bcfe: 6e7a ldr r2, [r7, #100] ; 0x64 802bd00: 4b56 ldr r3, [pc, #344] ; (802be5c ) 802bd02: 4413 add r3, r2 802bd04: 2201 movs r2, #1 802bd06: 701a strb r2, [r3, #0] RouteMeas(num - 1) = 1; } } } } break; 802bd08: f000 bc1f b.w 802c54a if(fn[2] == '_') 802bd0c: 6dfb ldr r3, [r7, #92] ; 0x5c 802bd0e: 3302 adds r3, #2 802bd10: 781b ldrb r3, [r3, #0] 802bd12: 2b5f cmp r3, #95 ; 0x5f 802bd14: d115 bne.n 802bd42 num = (uint32_t) ((fn[0] - 0x30) * 10) + (uint32_t)(fn[1] - 0x30); 802bd16: 6dfb ldr r3, [r7, #92] ; 0x5c 802bd18: 781b ldrb r3, [r3, #0] 802bd1a: f1a3 0230 sub.w r2, r3, #48 ; 0x30 802bd1e: 4613 mov r3, r2 802bd20: 009b lsls r3, r3, #2 802bd22: 4413 add r3, r2 802bd24: 005b lsls r3, r3, #1 802bd26: 461a mov r2, r3 802bd28: 6dfb ldr r3, [r7, #92] ; 0x5c 802bd2a: 3301 adds r3, #1 802bd2c: 781b ldrb r3, [r3, #0] 802bd2e: 4413 add r3, r2 802bd30: 3b30 subs r3, #48 ; 0x30 802bd32: 667b str r3, [r7, #100] ; 0x64 RouteMeas(num - 1) = 1; 802bd34: 6e7a ldr r2, [r7, #100] ; 0x64 802bd36: 4b49 ldr r3, [pc, #292] ; (802be5c ) 802bd38: 4413 add r3, r2 802bd3a: 2201 movs r2, #1 802bd3c: 701a strb r2, [r3, #0] break; 802bd3e: f000 bc04 b.w 802c54a if(fn[3] == '_') 802bd42: 6dfb ldr r3, [r7, #92] ; 0x5c 802bd44: 3303 adds r3, #3 802bd46: 781b ldrb r3, [r3, #0] 802bd48: 2b5f cmp r3, #95 ; 0x5f 802bd4a: d11c bne.n 802bd86 num = (uint32_t) ((fn[0] - 0x30) * 100) + (uint32_t)((fn[1] - 0x30) * 10) + (uint32_t)(fn[2] - 0x30); 802bd4c: 6dfb ldr r3, [r7, #92] ; 0x5c 802bd4e: 781b ldrb r3, [r3, #0] 802bd50: 3b30 subs r3, #48 ; 0x30 802bd52: 2264 movs r2, #100 ; 0x64 802bd54: fb02 f303 mul.w r3, r2, r3 802bd58: 4619 mov r1, r3 802bd5a: 6dfb ldr r3, [r7, #92] ; 0x5c 802bd5c: 3301 adds r3, #1 802bd5e: 781b ldrb r3, [r3, #0] 802bd60: f1a3 0230 sub.w r2, r3, #48 ; 0x30 802bd64: 4613 mov r3, r2 802bd66: 009b lsls r3, r3, #2 802bd68: 4413 add r3, r2 802bd6a: 005b lsls r3, r3, #1 802bd6c: 440b add r3, r1 802bd6e: 6dfa ldr r2, [r7, #92] ; 0x5c 802bd70: 3202 adds r2, #2 802bd72: 7812 ldrb r2, [r2, #0] 802bd74: 4413 add r3, r2 802bd76: 3b30 subs r3, #48 ; 0x30 802bd78: 667b str r3, [r7, #100] ; 0x64 RouteMeas(num - 1) = 1; 802bd7a: 6e7a ldr r2, [r7, #100] ; 0x64 802bd7c: 4b37 ldr r3, [pc, #220] ; (802be5c ) 802bd7e: 4413 add r3, r2 802bd80: 2201 movs r2, #1 802bd82: 701a strb r2, [r3, #0] break; 802bd84: e3e1 b.n 802c54a if(fn[4] == '_') 802bd86: 6dfb ldr r3, [r7, #92] ; 0x5c 802bd88: 3304 adds r3, #4 802bd8a: 781b ldrb r3, [r3, #0] 802bd8c: 2b5f cmp r3, #95 ; 0x5f 802bd8e: d125 bne.n 802bddc num = (uint32_t) ((fn[0] - 0x30) * 1000) + (uint32_t)((fn[1] - 0x30) * 100) + (uint32_t)((fn[2] - 0x30) * 10) + (uint32_t)(fn[3] - 0x30); 802bd90: 6dfb ldr r3, [r7, #92] ; 0x5c 802bd92: 781b ldrb r3, [r3, #0] 802bd94: 3b30 subs r3, #48 ; 0x30 802bd96: f44f 727a mov.w r2, #1000 ; 0x3e8 802bd9a: fb02 f303 mul.w r3, r2, r3 802bd9e: 4619 mov r1, r3 802bda0: 6dfb ldr r3, [r7, #92] ; 0x5c 802bda2: 3301 adds r3, #1 802bda4: 781b ldrb r3, [r3, #0] 802bda6: 3b30 subs r3, #48 ; 0x30 802bda8: 2264 movs r2, #100 ; 0x64 802bdaa: fb02 f303 mul.w r3, r2, r3 802bdae: 4419 add r1, r3 802bdb0: 6dfb ldr r3, [r7, #92] ; 0x5c 802bdb2: 3302 adds r3, #2 802bdb4: 781b ldrb r3, [r3, #0] 802bdb6: f1a3 0230 sub.w r2, r3, #48 ; 0x30 802bdba: 4613 mov r3, r2 802bdbc: 009b lsls r3, r3, #2 802bdbe: 4413 add r3, r2 802bdc0: 005b lsls r3, r3, #1 802bdc2: 440b add r3, r1 802bdc4: 6dfa ldr r2, [r7, #92] ; 0x5c 802bdc6: 3203 adds r2, #3 802bdc8: 7812 ldrb r2, [r2, #0] 802bdca: 4413 add r3, r2 802bdcc: 3b30 subs r3, #48 ; 0x30 802bdce: 667b str r3, [r7, #100] ; 0x64 RouteMeas(num - 1) = 1; 802bdd0: 6e7a ldr r2, [r7, #100] ; 0x64 802bdd2: 4b22 ldr r3, [pc, #136] ; (802be5c ) 802bdd4: 4413 add r3, r2 802bdd6: 2201 movs r2, #1 802bdd8: 701a strb r2, [r3, #0] break; 802bdda: e3b6 b.n 802c54a if(fn[5] == '_') 802bddc: 6dfb ldr r3, [r7, #92] ; 0x5c 802bdde: 3305 adds r3, #5 802bde0: 781b ldrb r3, [r3, #0] 802bde2: 2b5f cmp r3, #95 ; 0x5f 802bde4: f040 83b1 bne.w 802c54a num = (uint32_t) ((fn[0] - 0x30) * 10000) + (uint32_t)((fn[1] - 0x30) * 1000) + (uint32_t)((fn[2] - 0x30) * 100) + (uint32_t)((fn[3] - 0x30) * 10) + (uint32_t)(fn[4] - 0x30); 802bde8: 6dfb ldr r3, [r7, #92] ; 0x5c 802bdea: 781b ldrb r3, [r3, #0] 802bdec: 3b30 subs r3, #48 ; 0x30 802bdee: f242 7210 movw r2, #10000 ; 0x2710 802bdf2: fb02 f303 mul.w r3, r2, r3 802bdf6: 4619 mov r1, r3 802bdf8: 6dfb ldr r3, [r7, #92] ; 0x5c 802bdfa: 3301 adds r3, #1 802bdfc: 781b ldrb r3, [r3, #0] 802bdfe: 3b30 subs r3, #48 ; 0x30 802be00: f44f 727a mov.w r2, #1000 ; 0x3e8 802be04: fb02 f303 mul.w r3, r2, r3 802be08: 4419 add r1, r3 802be0a: 6dfb ldr r3, [r7, #92] ; 0x5c 802be0c: 3303 adds r3, #3 802be0e: 781b ldrb r3, [r3, #0] 802be10: f1a3 0230 sub.w r2, r3, #48 ; 0x30 802be14: 4613 mov r3, r2 802be16: 009b lsls r3, r3, #2 802be18: 4413 add r3, r2 802be1a: 005b lsls r3, r3, #1 802be1c: 4618 mov r0, r3 802be1e: 6dfb ldr r3, [r7, #92] ; 0x5c 802be20: 3302 adds r3, #2 802be22: 781b ldrb r3, [r3, #0] 802be24: 3b30 subs r3, #48 ; 0x30 802be26: 2264 movs r2, #100 ; 0x64 802be28: fb02 f303 mul.w r3, r2, r3 802be2c: 4403 add r3, r0 802be2e: 440b add r3, r1 802be30: 6dfa ldr r2, [r7, #92] ; 0x5c 802be32: 3204 adds r2, #4 802be34: 7812 ldrb r2, [r2, #0] 802be36: 4413 add r3, r2 802be38: 3b30 subs r3, #48 ; 0x30 802be3a: 667b str r3, [r7, #100] ; 0x64 if(num <= 65536) 802be3c: 6e7b ldr r3, [r7, #100] ; 0x64 802be3e: f5b3 3f80 cmp.w r3, #65536 ; 0x10000 802be42: f200 8382 bhi.w 802c54a RouteMeas(num - 1) = 1; 802be46: 6e7a ldr r2, [r7, #100] ; 0x64 802be48: 4b04 ldr r3, [pc, #16] ; (802be5c ) 802be4a: 4413 add r3, r2 802be4c: 2201 movs r2, #1 802be4e: 701a strb r2, [r3, #0] break; 802be50: e37b b.n 802c54a 802be52: bf00 nop 802be54: 20020e28 .word 0x20020e28 802be58: 20020e2c .word 0x20020e2c 802be5c: 640fffff .word 0x640fffff case GET_NAMES_12_PTM_FILES: // Read 12 files for Explorer if((fn[l - 3] == 'p') || (fn[l - 3] == 'P')) 802be60: 6dbb ldr r3, [r7, #88] ; 0x58 802be62: 3b03 subs r3, #3 802be64: 6dfa ldr r2, [r7, #92] ; 0x5c 802be66: 4413 add r3, r2 802be68: 781b ldrb r3, [r3, #0] 802be6a: 2b70 cmp r3, #112 ; 0x70 802be6c: d007 beq.n 802be7e 802be6e: 6dbb ldr r3, [r7, #88] ; 0x58 802be70: 3b03 subs r3, #3 802be72: 6dfa ldr r2, [r7, #92] ; 0x5c 802be74: 4413 add r3, r2 802be76: 781b ldrb r3, [r3, #0] 802be78: 2b50 cmp r3, #80 ; 0x50 802be7a: f040 8369 bne.w 802c550 { if((fn[l - 2] == 't') || (fn[l - 2] == 'T')) 802be7e: 6dbb ldr r3, [r7, #88] ; 0x58 802be80: 3b02 subs r3, #2 802be82: 6dfa ldr r2, [r7, #92] ; 0x5c 802be84: 4413 add r3, r2 802be86: 781b ldrb r3, [r3, #0] 802be88: 2b74 cmp r3, #116 ; 0x74 802be8a: d007 beq.n 802be9c 802be8c: 6dbb ldr r3, [r7, #88] ; 0x58 802be8e: 3b02 subs r3, #2 802be90: 6dfa ldr r2, [r7, #92] ; 0x5c 802be92: 4413 add r3, r2 802be94: 781b ldrb r3, [r3, #0] 802be96: 2b54 cmp r3, #84 ; 0x54 802be98: f040 835a bne.w 802c550 { if((fn[l - 1] == 'm') || (fn[l - 1] == 'M')) 802be9c: 6dbb ldr r3, [r7, #88] ; 0x58 802be9e: 3b01 subs r3, #1 802bea0: 6dfa ldr r2, [r7, #92] ; 0x5c 802bea2: 4413 add r3, r2 802bea4: 781b ldrb r3, [r3, #0] 802bea6: 2b6d cmp r3, #109 ; 0x6d 802bea8: d007 beq.n 802beba 802beaa: 6dbb ldr r3, [r7, #88] ; 0x58 802beac: 3b01 subs r3, #1 802beae: 6dfa ldr r2, [r7, #92] ; 0x5c 802beb0: 4413 add r3, r2 802beb2: 781b ldrb r3, [r3, #0] 802beb4: 2b4d cmp r3, #77 ; 0x4d 802beb6: f040 834b bne.w 802c550 { if(((IndxMyFiles >= IndexFirstFile) && (CntMyFiles < VIEW_FILES)) && (FlagReturn == false)) 802beba: 4b6a ldr r3, [pc, #424] ; (802c064 ) 802bebc: 681a ldr r2, [r3, #0] 802bebe: 683b ldr r3, [r7, #0] 802bec0: 429a cmp r2, r3 802bec2: d348 bcc.n 802bf56 802bec4: 4b68 ldr r3, [pc, #416] ; (802c068 ) 802bec6: 681b ldr r3, [r3, #0] 802bec8: 2b0b cmp r3, #11 802beca: d844 bhi.n 802bf56 802becc: 4b67 ldr r3, [pc, #412] ; (802c06c ) 802bece: 781b ldrb r3, [r3, #0] 802bed0: b2db uxtb r3, r3 802bed2: f083 0301 eor.w r3, r3, #1 802bed6: b2db uxtb r3, r3 802bed8: 2b00 cmp r3, #0 802beda: d03c beq.n 802bf56 { strcpy(ExplorerFiles[CntMyFiles].fname, fn); 802bedc: 4b62 ldr r3, [pc, #392] ; (802c068 ) 802bede: 681a ldr r2, [r3, #0] 802bee0: 4613 mov r3, r2 802bee2: 00db lsls r3, r3, #3 802bee4: 1a9b subs r3, r3, r2 802bee6: 00db lsls r3, r3, #3 802bee8: 3308 adds r3, #8 802beea: 4a61 ldr r2, [pc, #388] ; (802c070 ) 802beec: 4413 add r3, r2 802beee: 3304 adds r3, #4 802bef0: 6df9 ldr r1, [r7, #92] ; 0x5c 802bef2: 4618 mov r0, r3 802bef4: f0a1 f9c5 bl 80cd282 ExplorerFiles[CntMyFiles].datetime = (fno.fdate << 16) & 0xffff0000; 802bef8: 4b5b ldr r3, [pc, #364] ; (802c068 ) 802befa: 681a ldr r2, [r3, #0] 802befc: 4b5d ldr r3, [pc, #372] ; (802c074 ) 802befe: 891b ldrh r3, [r3, #8] 802bf00: 041b lsls r3, r3, #16 802bf02: 4618 mov r0, r3 802bf04: 495a ldr r1, [pc, #360] ; (802c070 ) 802bf06: 4613 mov r3, r2 802bf08: 00db lsls r3, r3, #3 802bf0a: 1a9b subs r3, r3, r2 802bf0c: 00db lsls r3, r3, #3 802bf0e: 440b add r3, r1 802bf10: 3308 adds r3, #8 802bf12: 6018 str r0, [r3, #0] ExplorerFiles[CntMyFiles].datetime |= fno.ftime & 0x0000ffff; 802bf14: 4b54 ldr r3, [pc, #336] ; (802c068 ) 802bf16: 681a ldr r2, [r3, #0] 802bf18: 4955 ldr r1, [pc, #340] ; (802c070 ) 802bf1a: 4613 mov r3, r2 802bf1c: 00db lsls r3, r3, #3 802bf1e: 1a9b subs r3, r3, r2 802bf20: 00db lsls r3, r3, #3 802bf22: 440b add r3, r1 802bf24: 3308 adds r3, #8 802bf26: 681b ldr r3, [r3, #0] 802bf28: 4952 ldr r1, [pc, #328] ; (802c074 ) 802bf2a: 8949 ldrh r1, [r1, #10] 802bf2c: 4319 orrs r1, r3 802bf2e: 4850 ldr r0, [pc, #320] ; (802c070 ) 802bf30: 4613 mov r3, r2 802bf32: 00db lsls r3, r3, #3 802bf34: 1a9b subs r3, r3, r2 802bf36: 00db lsls r3, r3, #3 802bf38: 4403 add r3, r0 802bf3a: 3308 adds r3, #8 802bf3c: 6019 str r1, [r3, #0] CntMyFiles++; 802bf3e: 4b4a ldr r3, [pc, #296] ; (802c068 ) 802bf40: 681b ldr r3, [r3, #0] 802bf42: 3301 adds r3, #1 802bf44: 4a48 ldr r2, [pc, #288] ; (802c068 ) 802bf46: 6013 str r3, [r2, #0] if(CntMyFiles >= VIEW_FILES) { 802bf48: 4b47 ldr r3, [pc, #284] ; (802c068 ) 802bf4a: 681b ldr r3, [r3, #0] 802bf4c: 2b0b cmp r3, #11 802bf4e: d902 bls.n 802bf56 FlagReturn = true; 802bf50: 4b46 ldr r3, [pc, #280] ; (802c06c ) 802bf52: 2201 movs r2, #1 802bf54: 701a strb r2, [r3, #0] } } IndxMyFiles++; 802bf56: 4b43 ldr r3, [pc, #268] ; (802c064 ) 802bf58: 681b ldr r3, [r3, #0] 802bf5a: 3301 adds r3, #1 802bf5c: 4a41 ldr r2, [pc, #260] ; (802c064 ) 802bf5e: 6013 str r3, [r2, #0] } } } break; 802bf60: e2f6 b.n 802c550 case GET_NAMES_12_DGN_FILES: // Read 12 files for Explorer if((fn[l - 3] == 'd') || (fn[l - 3] == 'D')) 802bf62: 6dbb ldr r3, [r7, #88] ; 0x58 802bf64: 3b03 subs r3, #3 802bf66: 6dfa ldr r2, [r7, #92] ; 0x5c 802bf68: 4413 add r3, r2 802bf6a: 781b ldrb r3, [r3, #0] 802bf6c: 2b64 cmp r3, #100 ; 0x64 802bf6e: d007 beq.n 802bf80 802bf70: 6dbb ldr r3, [r7, #88] ; 0x58 802bf72: 3b03 subs r3, #3 802bf74: 6dfa ldr r2, [r7, #92] ; 0x5c 802bf76: 4413 add r3, r2 802bf78: 781b ldrb r3, [r3, #0] 802bf7a: 2b44 cmp r3, #68 ; 0x44 802bf7c: f040 82eb bne.w 802c556 { if((fn[l - 2] == 'g') || (fn[l - 2] == 'G')) 802bf80: 6dbb ldr r3, [r7, #88] ; 0x58 802bf82: 3b02 subs r3, #2 802bf84: 6dfa ldr r2, [r7, #92] ; 0x5c 802bf86: 4413 add r3, r2 802bf88: 781b ldrb r3, [r3, #0] 802bf8a: 2b67 cmp r3, #103 ; 0x67 802bf8c: d007 beq.n 802bf9e 802bf8e: 6dbb ldr r3, [r7, #88] ; 0x58 802bf90: 3b02 subs r3, #2 802bf92: 6dfa ldr r2, [r7, #92] ; 0x5c 802bf94: 4413 add r3, r2 802bf96: 781b ldrb r3, [r3, #0] 802bf98: 2b47 cmp r3, #71 ; 0x47 802bf9a: f040 82dc bne.w 802c556 { if((fn[l - 1] == 'n') || (fn[l - 1] == 'N')) 802bf9e: 6dbb ldr r3, [r7, #88] ; 0x58 802bfa0: 3b01 subs r3, #1 802bfa2: 6dfa ldr r2, [r7, #92] ; 0x5c 802bfa4: 4413 add r3, r2 802bfa6: 781b ldrb r3, [r3, #0] 802bfa8: 2b6e cmp r3, #110 ; 0x6e 802bfaa: d007 beq.n 802bfbc 802bfac: 6dbb ldr r3, [r7, #88] ; 0x58 802bfae: 3b01 subs r3, #1 802bfb0: 6dfa ldr r2, [r7, #92] ; 0x5c 802bfb2: 4413 add r3, r2 802bfb4: 781b ldrb r3, [r3, #0] 802bfb6: 2b4e cmp r3, #78 ; 0x4e 802bfb8: f040 82cd bne.w 802c556 { if(((IndxMyFiles >= IndexFirstFile) && (CntMyFiles < VIEW_FILES)) && (FlagReturn == false)) 802bfbc: 4b29 ldr r3, [pc, #164] ; (802c064 ) 802bfbe: 681a ldr r2, [r3, #0] 802bfc0: 683b ldr r3, [r7, #0] 802bfc2: 429a cmp r2, r3 802bfc4: d348 bcc.n 802c058 802bfc6: 4b28 ldr r3, [pc, #160] ; (802c068 ) 802bfc8: 681b ldr r3, [r3, #0] 802bfca: 2b0b cmp r3, #11 802bfcc: d844 bhi.n 802c058 802bfce: 4b27 ldr r3, [pc, #156] ; (802c06c ) 802bfd0: 781b ldrb r3, [r3, #0] 802bfd2: b2db uxtb r3, r3 802bfd4: f083 0301 eor.w r3, r3, #1 802bfd8: b2db uxtb r3, r3 802bfda: 2b00 cmp r3, #0 802bfdc: d03c beq.n 802c058 { strcpy(ExplorerFiles[CntMyFiles].fname, fn); 802bfde: 4b22 ldr r3, [pc, #136] ; (802c068 ) 802bfe0: 681a ldr r2, [r3, #0] 802bfe2: 4613 mov r3, r2 802bfe4: 00db lsls r3, r3, #3 802bfe6: 1a9b subs r3, r3, r2 802bfe8: 00db lsls r3, r3, #3 802bfea: 3308 adds r3, #8 802bfec: 4a20 ldr r2, [pc, #128] ; (802c070 ) 802bfee: 4413 add r3, r2 802bff0: 3304 adds r3, #4 802bff2: 6df9 ldr r1, [r7, #92] ; 0x5c 802bff4: 4618 mov r0, r3 802bff6: f0a1 f944 bl 80cd282 ExplorerFiles[CntMyFiles].datetime = (fno.fdate << 16) & 0xffff0000; 802bffa: 4b1b ldr r3, [pc, #108] ; (802c068 ) 802bffc: 681a ldr r2, [r3, #0] 802bffe: 4b1d ldr r3, [pc, #116] ; (802c074 ) 802c000: 891b ldrh r3, [r3, #8] 802c002: 041b lsls r3, r3, #16 802c004: 4618 mov r0, r3 802c006: 491a ldr r1, [pc, #104] ; (802c070 ) 802c008: 4613 mov r3, r2 802c00a: 00db lsls r3, r3, #3 802c00c: 1a9b subs r3, r3, r2 802c00e: 00db lsls r3, r3, #3 802c010: 440b add r3, r1 802c012: 3308 adds r3, #8 802c014: 6018 str r0, [r3, #0] ExplorerFiles[CntMyFiles].datetime |= fno.ftime & 0x0000ffff; 802c016: 4b14 ldr r3, [pc, #80] ; (802c068 ) 802c018: 681a ldr r2, [r3, #0] 802c01a: 4915 ldr r1, [pc, #84] ; (802c070 ) 802c01c: 4613 mov r3, r2 802c01e: 00db lsls r3, r3, #3 802c020: 1a9b subs r3, r3, r2 802c022: 00db lsls r3, r3, #3 802c024: 440b add r3, r1 802c026: 3308 adds r3, #8 802c028: 681b ldr r3, [r3, #0] 802c02a: 4912 ldr r1, [pc, #72] ; (802c074 ) 802c02c: 8949 ldrh r1, [r1, #10] 802c02e: 4319 orrs r1, r3 802c030: 480f ldr r0, [pc, #60] ; (802c070 ) 802c032: 4613 mov r3, r2 802c034: 00db lsls r3, r3, #3 802c036: 1a9b subs r3, r3, r2 802c038: 00db lsls r3, r3, #3 802c03a: 4403 add r3, r0 802c03c: 3308 adds r3, #8 802c03e: 6019 str r1, [r3, #0] CntMyFiles++; 802c040: 4b09 ldr r3, [pc, #36] ; (802c068 ) 802c042: 681b ldr r3, [r3, #0] 802c044: 3301 adds r3, #1 802c046: 4a08 ldr r2, [pc, #32] ; (802c068 ) 802c048: 6013 str r3, [r2, #0] if(CntMyFiles >= VIEW_FILES) { 802c04a: 4b07 ldr r3, [pc, #28] ; (802c068 ) 802c04c: 681b ldr r3, [r3, #0] 802c04e: 2b0b cmp r3, #11 802c050: d902 bls.n 802c058 FlagReturn = true; 802c052: 4b06 ldr r3, [pc, #24] ; (802c06c ) 802c054: 2201 movs r2, #1 802c056: 701a strb r2, [r3, #0] } } IndxMyFiles++; 802c058: 4b02 ldr r3, [pc, #8] ; (802c064 ) 802c05a: 681b ldr r3, [r3, #0] 802c05c: 3301 adds r3, #1 802c05e: 4a01 ldr r2, [pc, #4] ; (802c064 ) 802c060: 6013 str r3, [r2, #0] } } } break; 802c062: e278 b.n 802c556 802c064: 20020df0 .word 0x20020df0 802c068: 20020dec .word 0x20020dec 802c06c: 20020dde .word 0x20020dde 802c070: 20022350 .word 0x20022350 802c074: 20021fa0 .word 0x20021fa0 case GET_NAMES_12_SPEC_FILES: // Read 12 files for Explorer if((fn[l - 3] == 'c') || (fn[l - 3] == 'C')) 802c078: 6dbb ldr r3, [r7, #88] ; 0x58 802c07a: 3b03 subs r3, #3 802c07c: 6dfa ldr r2, [r7, #92] ; 0x5c 802c07e: 4413 add r3, r2 802c080: 781b ldrb r3, [r3, #0] 802c082: 2b63 cmp r3, #99 ; 0x63 802c084: d007 beq.n 802c096 802c086: 6dbb ldr r3, [r7, #88] ; 0x58 802c088: 3b03 subs r3, #3 802c08a: 6dfa ldr r2, [r7, #92] ; 0x5c 802c08c: 4413 add r3, r2 802c08e: 781b ldrb r3, [r3, #0] 802c090: 2b43 cmp r3, #67 ; 0x43 802c092: f040 8263 bne.w 802c55c { if((fn[l - 2] == 's') || (fn[l - 2] == 'S')) 802c096: 6dbb ldr r3, [r7, #88] ; 0x58 802c098: 3b02 subs r3, #2 802c09a: 6dfa ldr r2, [r7, #92] ; 0x5c 802c09c: 4413 add r3, r2 802c09e: 781b ldrb r3, [r3, #0] 802c0a0: 2b73 cmp r3, #115 ; 0x73 802c0a2: d007 beq.n 802c0b4 802c0a4: 6dbb ldr r3, [r7, #88] ; 0x58 802c0a6: 3b02 subs r3, #2 802c0a8: 6dfa ldr r2, [r7, #92] ; 0x5c 802c0aa: 4413 add r3, r2 802c0ac: 781b ldrb r3, [r3, #0] 802c0ae: 2b53 cmp r3, #83 ; 0x53 802c0b0: f040 8254 bne.w 802c55c { if((fn[l - 1] == 'v') || (fn[l - 1] == 'V')) 802c0b4: 6dbb ldr r3, [r7, #88] ; 0x58 802c0b6: 3b01 subs r3, #1 802c0b8: 6dfa ldr r2, [r7, #92] ; 0x5c 802c0ba: 4413 add r3, r2 802c0bc: 781b ldrb r3, [r3, #0] 802c0be: 2b76 cmp r3, #118 ; 0x76 802c0c0: d007 beq.n 802c0d2 802c0c2: 6dbb ldr r3, [r7, #88] ; 0x58 802c0c4: 3b01 subs r3, #1 802c0c6: 6dfa ldr r2, [r7, #92] ; 0x5c 802c0c8: 4413 add r3, r2 802c0ca: 781b ldrb r3, [r3, #0] 802c0cc: 2b56 cmp r3, #86 ; 0x56 802c0ce: f040 8245 bne.w 802c55c { if(((IndxMyFiles >= IndexFirstFile) && (CntMyFiles < VIEW_FILES)) && (FlagReturn == false)) 802c0d2: 4b6f ldr r3, [pc, #444] ; (802c290 ) 802c0d4: 681a ldr r2, [r3, #0] 802c0d6: 683b ldr r3, [r7, #0] 802c0d8: 429a cmp r2, r3 802c0da: d348 bcc.n 802c16e 802c0dc: 4b6d ldr r3, [pc, #436] ; (802c294 ) 802c0de: 681b ldr r3, [r3, #0] 802c0e0: 2b0b cmp r3, #11 802c0e2: d844 bhi.n 802c16e 802c0e4: 4b6c ldr r3, [pc, #432] ; (802c298 ) 802c0e6: 781b ldrb r3, [r3, #0] 802c0e8: b2db uxtb r3, r3 802c0ea: f083 0301 eor.w r3, r3, #1 802c0ee: b2db uxtb r3, r3 802c0f0: 2b00 cmp r3, #0 802c0f2: d03c beq.n 802c16e { strcpy(ExplorerFiles[CntMyFiles].fname, fn); 802c0f4: 4b67 ldr r3, [pc, #412] ; (802c294 ) 802c0f6: 681a ldr r2, [r3, #0] 802c0f8: 4613 mov r3, r2 802c0fa: 00db lsls r3, r3, #3 802c0fc: 1a9b subs r3, r3, r2 802c0fe: 00db lsls r3, r3, #3 802c100: 3308 adds r3, #8 802c102: 4a66 ldr r2, [pc, #408] ; (802c29c ) 802c104: 4413 add r3, r2 802c106: 3304 adds r3, #4 802c108: 6df9 ldr r1, [r7, #92] ; 0x5c 802c10a: 4618 mov r0, r3 802c10c: f0a1 f8b9 bl 80cd282 ExplorerFiles[CntMyFiles].datetime = (fno.fdate << 16) & 0xffff0000; 802c110: 4b60 ldr r3, [pc, #384] ; (802c294 ) 802c112: 681a ldr r2, [r3, #0] 802c114: 4b62 ldr r3, [pc, #392] ; (802c2a0 ) 802c116: 891b ldrh r3, [r3, #8] 802c118: 041b lsls r3, r3, #16 802c11a: 4618 mov r0, r3 802c11c: 495f ldr r1, [pc, #380] ; (802c29c ) 802c11e: 4613 mov r3, r2 802c120: 00db lsls r3, r3, #3 802c122: 1a9b subs r3, r3, r2 802c124: 00db lsls r3, r3, #3 802c126: 440b add r3, r1 802c128: 3308 adds r3, #8 802c12a: 6018 str r0, [r3, #0] ExplorerFiles[CntMyFiles].datetime |= fno.ftime & 0x0000ffff; 802c12c: 4b59 ldr r3, [pc, #356] ; (802c294 ) 802c12e: 681a ldr r2, [r3, #0] 802c130: 495a ldr r1, [pc, #360] ; (802c29c ) 802c132: 4613 mov r3, r2 802c134: 00db lsls r3, r3, #3 802c136: 1a9b subs r3, r3, r2 802c138: 00db lsls r3, r3, #3 802c13a: 440b add r3, r1 802c13c: 3308 adds r3, #8 802c13e: 681b ldr r3, [r3, #0] 802c140: 4957 ldr r1, [pc, #348] ; (802c2a0 ) 802c142: 8949 ldrh r1, [r1, #10] 802c144: 4319 orrs r1, r3 802c146: 4855 ldr r0, [pc, #340] ; (802c29c ) 802c148: 4613 mov r3, r2 802c14a: 00db lsls r3, r3, #3 802c14c: 1a9b subs r3, r3, r2 802c14e: 00db lsls r3, r3, #3 802c150: 4403 add r3, r0 802c152: 3308 adds r3, #8 802c154: 6019 str r1, [r3, #0] CntMyFiles++; 802c156: 4b4f ldr r3, [pc, #316] ; (802c294 ) 802c158: 681b ldr r3, [r3, #0] 802c15a: 3301 adds r3, #1 802c15c: 4a4d ldr r2, [pc, #308] ; (802c294 ) 802c15e: 6013 str r3, [r2, #0] if(CntMyFiles >= VIEW_FILES) { 802c160: 4b4c ldr r3, [pc, #304] ; (802c294 ) 802c162: 681b ldr r3, [r3, #0] 802c164: 2b0b cmp r3, #11 802c166: d902 bls.n 802c16e FlagReturn = true; 802c168: 4b4b ldr r3, [pc, #300] ; (802c298 ) 802c16a: 2201 movs r2, #1 802c16c: 701a strb r2, [r3, #0] } } IndxMyFiles++; 802c16e: 4b48 ldr r3, [pc, #288] ; (802c290 ) 802c170: 681b ldr r3, [r3, #0] 802c172: 3301 adds r3, #1 802c174: 4a46 ldr r2, [pc, #280] ; (802c290 ) 802c176: 6013 str r3, [r2, #0] } } } break; 802c178: e1f0 b.n 802c55c case GET_NAMES_12_CSV_FILES: // Read 12 files for Explorer if((fn[l - 3] == 'c') || (fn[l - 3] == 'C')) 802c17a: 6dbb ldr r3, [r7, #88] ; 0x58 802c17c: 3b03 subs r3, #3 802c17e: 6dfa ldr r2, [r7, #92] ; 0x5c 802c180: 4413 add r3, r2 802c182: 781b ldrb r3, [r3, #0] 802c184: 2b63 cmp r3, #99 ; 0x63 802c186: d007 beq.n 802c198 802c188: 6dbb ldr r3, [r7, #88] ; 0x58 802c18a: 3b03 subs r3, #3 802c18c: 6dfa ldr r2, [r7, #92] ; 0x5c 802c18e: 4413 add r3, r2 802c190: 781b ldrb r3, [r3, #0] 802c192: 2b43 cmp r3, #67 ; 0x43 802c194: f040 81e5 bne.w 802c562 { if((fn[l - 2] == 's') || (fn[l - 2] == 'S')) 802c198: 6dbb ldr r3, [r7, #88] ; 0x58 802c19a: 3b02 subs r3, #2 802c19c: 6dfa ldr r2, [r7, #92] ; 0x5c 802c19e: 4413 add r3, r2 802c1a0: 781b ldrb r3, [r3, #0] 802c1a2: 2b73 cmp r3, #115 ; 0x73 802c1a4: d007 beq.n 802c1b6 802c1a6: 6dbb ldr r3, [r7, #88] ; 0x58 802c1a8: 3b02 subs r3, #2 802c1aa: 6dfa ldr r2, [r7, #92] ; 0x5c 802c1ac: 4413 add r3, r2 802c1ae: 781b ldrb r3, [r3, #0] 802c1b0: 2b53 cmp r3, #83 ; 0x53 802c1b2: f040 81d6 bne.w 802c562 { if((fn[l - 1] == 'v') || (fn[l - 1] == 'V')) 802c1b6: 6dbb ldr r3, [r7, #88] ; 0x58 802c1b8: 3b01 subs r3, #1 802c1ba: 6dfa ldr r2, [r7, #92] ; 0x5c 802c1bc: 4413 add r3, r2 802c1be: 781b ldrb r3, [r3, #0] 802c1c0: 2b76 cmp r3, #118 ; 0x76 802c1c2: d007 beq.n 802c1d4 802c1c4: 6dbb ldr r3, [r7, #88] ; 0x58 802c1c6: 3b01 subs r3, #1 802c1c8: 6dfa ldr r2, [r7, #92] ; 0x5c 802c1ca: 4413 add r3, r2 802c1cc: 781b ldrb r3, [r3, #0] 802c1ce: 2b56 cmp r3, #86 ; 0x56 802c1d0: f040 81c7 bne.w 802c562 { if(memcmp(path, "0:/Routes", 9) == 0) 802c1d4: 2209 movs r2, #9 802c1d6: 4933 ldr r1, [pc, #204] ; (802c2a4 ) 802c1d8: 6878 ldr r0, [r7, #4] 802c1da: f0a0 ff1b bl 80cd014 802c1de: 4603 mov r3, r0 802c1e0: 2b00 cmp r3, #0 802c1e2: f040 81be bne.w 802c562 { if(((IndxMyFiles >= IndexFirstFile) && (CntMyFiles < VIEW_FILES)) && (FlagReturn == false)) 802c1e6: 4b2a ldr r3, [pc, #168] ; (802c290 ) 802c1e8: 681a ldr r2, [r3, #0] 802c1ea: 683b ldr r3, [r7, #0] 802c1ec: 429a cmp r2, r3 802c1ee: d348 bcc.n 802c282 802c1f0: 4b28 ldr r3, [pc, #160] ; (802c294 ) 802c1f2: 681b ldr r3, [r3, #0] 802c1f4: 2b0b cmp r3, #11 802c1f6: d844 bhi.n 802c282 802c1f8: 4b27 ldr r3, [pc, #156] ; (802c298 ) 802c1fa: 781b ldrb r3, [r3, #0] 802c1fc: b2db uxtb r3, r3 802c1fe: f083 0301 eor.w r3, r3, #1 802c202: b2db uxtb r3, r3 802c204: 2b00 cmp r3, #0 802c206: d03c beq.n 802c282 { strcpy(ExplorerFiles[CntMyFiles].fname, fn); 802c208: 4b22 ldr r3, [pc, #136] ; (802c294 ) 802c20a: 681a ldr r2, [r3, #0] 802c20c: 4613 mov r3, r2 802c20e: 00db lsls r3, r3, #3 802c210: 1a9b subs r3, r3, r2 802c212: 00db lsls r3, r3, #3 802c214: 3308 adds r3, #8 802c216: 4a21 ldr r2, [pc, #132] ; (802c29c ) 802c218: 4413 add r3, r2 802c21a: 3304 adds r3, #4 802c21c: 6df9 ldr r1, [r7, #92] ; 0x5c 802c21e: 4618 mov r0, r3 802c220: f0a1 f82f bl 80cd282 ExplorerFiles[CntMyFiles].datetime = (fno.fdate << 16) & 0xffff0000; 802c224: 4b1b ldr r3, [pc, #108] ; (802c294 ) 802c226: 681a ldr r2, [r3, #0] 802c228: 4b1d ldr r3, [pc, #116] ; (802c2a0 ) 802c22a: 891b ldrh r3, [r3, #8] 802c22c: 041b lsls r3, r3, #16 802c22e: 4618 mov r0, r3 802c230: 491a ldr r1, [pc, #104] ; (802c29c ) 802c232: 4613 mov r3, r2 802c234: 00db lsls r3, r3, #3 802c236: 1a9b subs r3, r3, r2 802c238: 00db lsls r3, r3, #3 802c23a: 440b add r3, r1 802c23c: 3308 adds r3, #8 802c23e: 6018 str r0, [r3, #0] ExplorerFiles[CntMyFiles].datetime |= fno.ftime & 0x0000ffff; 802c240: 4b14 ldr r3, [pc, #80] ; (802c294 ) 802c242: 681a ldr r2, [r3, #0] 802c244: 4915 ldr r1, [pc, #84] ; (802c29c ) 802c246: 4613 mov r3, r2 802c248: 00db lsls r3, r3, #3 802c24a: 1a9b subs r3, r3, r2 802c24c: 00db lsls r3, r3, #3 802c24e: 440b add r3, r1 802c250: 3308 adds r3, #8 802c252: 681b ldr r3, [r3, #0] 802c254: 4912 ldr r1, [pc, #72] ; (802c2a0 ) 802c256: 8949 ldrh r1, [r1, #10] 802c258: 4319 orrs r1, r3 802c25a: 4810 ldr r0, [pc, #64] ; (802c29c ) 802c25c: 4613 mov r3, r2 802c25e: 00db lsls r3, r3, #3 802c260: 1a9b subs r3, r3, r2 802c262: 00db lsls r3, r3, #3 802c264: 4403 add r3, r0 802c266: 3308 adds r3, #8 802c268: 6019 str r1, [r3, #0] CntMyFiles++; 802c26a: 4b0a ldr r3, [pc, #40] ; (802c294 ) 802c26c: 681b ldr r3, [r3, #0] 802c26e: 3301 adds r3, #1 802c270: 4a08 ldr r2, [pc, #32] ; (802c294 ) 802c272: 6013 str r3, [r2, #0] if(CntMyFiles >= VIEW_FILES) { 802c274: 4b07 ldr r3, [pc, #28] ; (802c294 ) 802c276: 681b ldr r3, [r3, #0] 802c278: 2b0b cmp r3, #11 802c27a: d902 bls.n 802c282 FlagReturn = true; 802c27c: 4b06 ldr r3, [pc, #24] ; (802c298 ) 802c27e: 2201 movs r2, #1 802c280: 701a strb r2, [r3, #0] } } IndxMyFiles++; 802c282: 4b03 ldr r3, [pc, #12] ; (802c290 ) 802c284: 681b ldr r3, [r3, #0] 802c286: 3301 adds r3, #1 802c288: 4a01 ldr r2, [pc, #4] ; (802c290 ) 802c28a: 6013 str r3, [r2, #0] } } } } break; 802c28c: e169 b.n 802c562 802c28e: bf00 nop 802c290: 20020df0 .word 0x20020df0 802c294: 20020dec .word 0x20020dec 802c298: 20020dde .word 0x20020dde 802c29c: 20022350 .word 0x20022350 802c2a0: 20021fa0 .word 0x20021fa0 802c2a4: 080ce524 .word 0x080ce524 case GET_NAMES_12_FRAN_FILES: // Read 12 files for Explorer if((fn[l - 3] == 'f') || (fn[l - 3] == 'F')) 802c2a8: 6dbb ldr r3, [r7, #88] ; 0x58 802c2aa: 3b03 subs r3, #3 802c2ac: 6dfa ldr r2, [r7, #92] ; 0x5c 802c2ae: 4413 add r3, r2 802c2b0: 781b ldrb r3, [r3, #0] 802c2b2: 2b66 cmp r3, #102 ; 0x66 802c2b4: d007 beq.n 802c2c6 802c2b6: 6dbb ldr r3, [r7, #88] ; 0x58 802c2b8: 3b03 subs r3, #3 802c2ba: 6dfa ldr r2, [r7, #92] ; 0x5c 802c2bc: 4413 add r3, r2 802c2be: 781b ldrb r3, [r3, #0] 802c2c0: 2b46 cmp r3, #70 ; 0x46 802c2c2: f040 8151 bne.w 802c568 { if((fn[l - 2] == 'r') || (fn[l - 2] == 'R')) 802c2c6: 6dbb ldr r3, [r7, #88] ; 0x58 802c2c8: 3b02 subs r3, #2 802c2ca: 6dfa ldr r2, [r7, #92] ; 0x5c 802c2cc: 4413 add r3, r2 802c2ce: 781b ldrb r3, [r3, #0] 802c2d0: 2b72 cmp r3, #114 ; 0x72 802c2d2: d007 beq.n 802c2e4 802c2d4: 6dbb ldr r3, [r7, #88] ; 0x58 802c2d6: 3b02 subs r3, #2 802c2d8: 6dfa ldr r2, [r7, #92] ; 0x5c 802c2da: 4413 add r3, r2 802c2dc: 781b ldrb r3, [r3, #0] 802c2de: 2b52 cmp r3, #82 ; 0x52 802c2e0: f040 8142 bne.w 802c568 { if((fn[l - 1] == 'n') || (fn[l - 1] == 'N')) 802c2e4: 6dbb ldr r3, [r7, #88] ; 0x58 802c2e6: 3b01 subs r3, #1 802c2e8: 6dfa ldr r2, [r7, #92] ; 0x5c 802c2ea: 4413 add r3, r2 802c2ec: 781b ldrb r3, [r3, #0] 802c2ee: 2b6e cmp r3, #110 ; 0x6e 802c2f0: d007 beq.n 802c302 802c2f2: 6dbb ldr r3, [r7, #88] ; 0x58 802c2f4: 3b01 subs r3, #1 802c2f6: 6dfa ldr r2, [r7, #92] ; 0x5c 802c2f8: 4413 add r3, r2 802c2fa: 781b ldrb r3, [r3, #0] 802c2fc: 2b4e cmp r3, #78 ; 0x4e 802c2fe: f040 8133 bne.w 802c568 { if(((IndxMyFiles >= IndexFirstFile) && (CntMyFiles < VIEW_FILES)) && (FlagReturn == false)) 802c302: 4ba1 ldr r3, [pc, #644] ; (802c588 ) 802c304: 681a ldr r2, [r3, #0] 802c306: 683b ldr r3, [r7, #0] 802c308: 429a cmp r2, r3 802c30a: d348 bcc.n 802c39e 802c30c: 4b9f ldr r3, [pc, #636] ; (802c58c ) 802c30e: 681b ldr r3, [r3, #0] 802c310: 2b0b cmp r3, #11 802c312: d844 bhi.n 802c39e 802c314: 4b9e ldr r3, [pc, #632] ; (802c590 ) 802c316: 781b ldrb r3, [r3, #0] 802c318: b2db uxtb r3, r3 802c31a: f083 0301 eor.w r3, r3, #1 802c31e: b2db uxtb r3, r3 802c320: 2b00 cmp r3, #0 802c322: d03c beq.n 802c39e { strcpy(ExplorerFiles[CntMyFiles].fname, fn); 802c324: 4b99 ldr r3, [pc, #612] ; (802c58c ) 802c326: 681a ldr r2, [r3, #0] 802c328: 4613 mov r3, r2 802c32a: 00db lsls r3, r3, #3 802c32c: 1a9b subs r3, r3, r2 802c32e: 00db lsls r3, r3, #3 802c330: 3308 adds r3, #8 802c332: 4a98 ldr r2, [pc, #608] ; (802c594 ) 802c334: 4413 add r3, r2 802c336: 3304 adds r3, #4 802c338: 6df9 ldr r1, [r7, #92] ; 0x5c 802c33a: 4618 mov r0, r3 802c33c: f0a0 ffa1 bl 80cd282 ExplorerFiles[CntMyFiles].datetime = (fno.fdate << 16) & 0xffff0000; 802c340: 4b92 ldr r3, [pc, #584] ; (802c58c ) 802c342: 681a ldr r2, [r3, #0] 802c344: 4b94 ldr r3, [pc, #592] ; (802c598 ) 802c346: 891b ldrh r3, [r3, #8] 802c348: 041b lsls r3, r3, #16 802c34a: 4618 mov r0, r3 802c34c: 4991 ldr r1, [pc, #580] ; (802c594 ) 802c34e: 4613 mov r3, r2 802c350: 00db lsls r3, r3, #3 802c352: 1a9b subs r3, r3, r2 802c354: 00db lsls r3, r3, #3 802c356: 440b add r3, r1 802c358: 3308 adds r3, #8 802c35a: 6018 str r0, [r3, #0] ExplorerFiles[CntMyFiles].datetime |= fno.ftime & 0x0000ffff; 802c35c: 4b8b ldr r3, [pc, #556] ; (802c58c ) 802c35e: 681a ldr r2, [r3, #0] 802c360: 498c ldr r1, [pc, #560] ; (802c594 ) 802c362: 4613 mov r3, r2 802c364: 00db lsls r3, r3, #3 802c366: 1a9b subs r3, r3, r2 802c368: 00db lsls r3, r3, #3 802c36a: 440b add r3, r1 802c36c: 3308 adds r3, #8 802c36e: 681b ldr r3, [r3, #0] 802c370: 4989 ldr r1, [pc, #548] ; (802c598 ) 802c372: 8949 ldrh r1, [r1, #10] 802c374: 4319 orrs r1, r3 802c376: 4887 ldr r0, [pc, #540] ; (802c594 ) 802c378: 4613 mov r3, r2 802c37a: 00db lsls r3, r3, #3 802c37c: 1a9b subs r3, r3, r2 802c37e: 00db lsls r3, r3, #3 802c380: 4403 add r3, r0 802c382: 3308 adds r3, #8 802c384: 6019 str r1, [r3, #0] CntMyFiles++; 802c386: 4b81 ldr r3, [pc, #516] ; (802c58c ) 802c388: 681b ldr r3, [r3, #0] 802c38a: 3301 adds r3, #1 802c38c: 4a7f ldr r2, [pc, #508] ; (802c58c ) 802c38e: 6013 str r3, [r2, #0] if(CntMyFiles >= VIEW_FILES) { 802c390: 4b7e ldr r3, [pc, #504] ; (802c58c ) 802c392: 681b ldr r3, [r3, #0] 802c394: 2b0b cmp r3, #11 802c396: d902 bls.n 802c39e FlagReturn = true; 802c398: 4b7d ldr r3, [pc, #500] ; (802c590 ) 802c39a: 2201 movs r2, #1 802c39c: 701a strb r2, [r3, #0] } } IndxMyFiles++; 802c39e: 4b7a ldr r3, [pc, #488] ; (802c588 ) 802c3a0: 681b ldr r3, [r3, #0] 802c3a2: 3301 adds r3, #1 802c3a4: 4a78 ldr r2, [pc, #480] ; (802c588 ) 802c3a6: 6013 str r3, [r2, #0] } } } break; 802c3a8: e0de b.n 802c568 case GET_NAMES_12_GTR_FILES: // Read 12 files for Explorer if((fn[l - 3] == 'g') || (fn[l - 3] == 'G')) 802c3aa: 6dbb ldr r3, [r7, #88] ; 0x58 802c3ac: 3b03 subs r3, #3 802c3ae: 6dfa ldr r2, [r7, #92] ; 0x5c 802c3b0: 4413 add r3, r2 802c3b2: 781b ldrb r3, [r3, #0] 802c3b4: 2b67 cmp r3, #103 ; 0x67 802c3b6: d007 beq.n 802c3c8 802c3b8: 6dbb ldr r3, [r7, #88] ; 0x58 802c3ba: 3b03 subs r3, #3 802c3bc: 6dfa ldr r2, [r7, #92] ; 0x5c 802c3be: 4413 add r3, r2 802c3c0: 781b ldrb r3, [r3, #0] 802c3c2: 2b47 cmp r3, #71 ; 0x47 802c3c4: f040 80d3 bne.w 802c56e { if((fn[l - 2] == 't') || (fn[l - 2] == 'T')) 802c3c8: 6dbb ldr r3, [r7, #88] ; 0x58 802c3ca: 3b02 subs r3, #2 802c3cc: 6dfa ldr r2, [r7, #92] ; 0x5c 802c3ce: 4413 add r3, r2 802c3d0: 781b ldrb r3, [r3, #0] 802c3d2: 2b74 cmp r3, #116 ; 0x74 802c3d4: d007 beq.n 802c3e6 802c3d6: 6dbb ldr r3, [r7, #88] ; 0x58 802c3d8: 3b02 subs r3, #2 802c3da: 6dfa ldr r2, [r7, #92] ; 0x5c 802c3dc: 4413 add r3, r2 802c3de: 781b ldrb r3, [r3, #0] 802c3e0: 2b54 cmp r3, #84 ; 0x54 802c3e2: f040 80c4 bne.w 802c56e { if((fn[l - 1] == 'r') || (fn[l - 1] == 'R')) 802c3e6: 6dbb ldr r3, [r7, #88] ; 0x58 802c3e8: 3b01 subs r3, #1 802c3ea: 6dfa ldr r2, [r7, #92] ; 0x5c 802c3ec: 4413 add r3, r2 802c3ee: 781b ldrb r3, [r3, #0] 802c3f0: 2b72 cmp r3, #114 ; 0x72 802c3f2: d007 beq.n 802c404 802c3f4: 6dbb ldr r3, [r7, #88] ; 0x58 802c3f6: 3b01 subs r3, #1 802c3f8: 6dfa ldr r2, [r7, #92] ; 0x5c 802c3fa: 4413 add r3, r2 802c3fc: 781b ldrb r3, [r3, #0] 802c3fe: 2b52 cmp r3, #82 ; 0x52 802c400: f040 80b5 bne.w 802c56e { if(((IndxMyFiles >= IndexFirstFile) && (CntMyFiles < VIEW_FILES)) && (FlagReturn == false)) 802c404: 4b60 ldr r3, [pc, #384] ; (802c588 ) 802c406: 681a ldr r2, [r3, #0] 802c408: 683b ldr r3, [r7, #0] 802c40a: 429a cmp r2, r3 802c40c: d355 bcc.n 802c4ba 802c40e: 4b5f ldr r3, [pc, #380] ; (802c58c ) 802c410: 681b ldr r3, [r3, #0] 802c412: 2b0b cmp r3, #11 802c414: d851 bhi.n 802c4ba 802c416: 4b5e ldr r3, [pc, #376] ; (802c590 ) 802c418: 781b ldrb r3, [r3, #0] 802c41a: b2db uxtb r3, r3 802c41c: f083 0301 eor.w r3, r3, #1 802c420: b2db uxtb r3, r3 802c422: 2b00 cmp r3, #0 802c424: d049 beq.n 802c4ba { strcpy(ExplorerFiles[CntMyFiles].fname, fn); 802c426: 4b59 ldr r3, [pc, #356] ; (802c58c ) 802c428: 681a ldr r2, [r3, #0] 802c42a: 4613 mov r3, r2 802c42c: 00db lsls r3, r3, #3 802c42e: 1a9b subs r3, r3, r2 802c430: 00db lsls r3, r3, #3 802c432: 3308 adds r3, #8 802c434: 4a57 ldr r2, [pc, #348] ; (802c594 ) 802c436: 4413 add r3, r2 802c438: 3304 adds r3, #4 802c43a: 6df9 ldr r1, [r7, #92] ; 0x5c 802c43c: 4618 mov r0, r3 802c43e: f0a0 ff20 bl 80cd282 ExplorerFiles[CntMyFiles].datetime = (fno.fdate << 16) & 0xffff0000; 802c442: 4b52 ldr r3, [pc, #328] ; (802c58c ) 802c444: 681a ldr r2, [r3, #0] 802c446: 4b54 ldr r3, [pc, #336] ; (802c598 ) 802c448: 891b ldrh r3, [r3, #8] 802c44a: 041b lsls r3, r3, #16 802c44c: 4618 mov r0, r3 802c44e: 4951 ldr r1, [pc, #324] ; (802c594 ) 802c450: 4613 mov r3, r2 802c452: 00db lsls r3, r3, #3 802c454: 1a9b subs r3, r3, r2 802c456: 00db lsls r3, r3, #3 802c458: 440b add r3, r1 802c45a: 3308 adds r3, #8 802c45c: 6018 str r0, [r3, #0] ExplorerFiles[CntMyFiles].datetime |= fno.ftime & 0x0000ffff; 802c45e: 4b4b ldr r3, [pc, #300] ; (802c58c ) 802c460: 681a ldr r2, [r3, #0] 802c462: 494c ldr r1, [pc, #304] ; (802c594 ) 802c464: 4613 mov r3, r2 802c466: 00db lsls r3, r3, #3 802c468: 1a9b subs r3, r3, r2 802c46a: 00db lsls r3, r3, #3 802c46c: 440b add r3, r1 802c46e: 3308 adds r3, #8 802c470: 681b ldr r3, [r3, #0] 802c472: 4949 ldr r1, [pc, #292] ; (802c598 ) 802c474: 8949 ldrh r1, [r1, #10] 802c476: 4319 orrs r1, r3 802c478: 4846 ldr r0, [pc, #280] ; (802c594 ) 802c47a: 4613 mov r3, r2 802c47c: 00db lsls r3, r3, #3 802c47e: 1a9b subs r3, r3, r2 802c480: 00db lsls r3, r3, #3 802c482: 4403 add r3, r0 802c484: 3308 adds r3, #8 802c486: 6019 str r1, [r3, #0] ExplorerFiles[CntMyFiles].size = fno.fsize; 802c488: 4b40 ldr r3, [pc, #256] ; (802c58c ) 802c48a: 6818 ldr r0, [r3, #0] 802c48c: 4b42 ldr r3, [pc, #264] ; (802c598 ) 802c48e: e893 0006 ldmia.w r3, {r1, r2} 802c492: 4c40 ldr r4, [pc, #256] ; (802c594 ) 802c494: 4603 mov r3, r0 802c496: 00db lsls r3, r3, #3 802c498: 1a1b subs r3, r3, r0 802c49a: 00db lsls r3, r3, #3 802c49c: 4423 add r3, r4 802c49e: e883 0006 stmia.w r3, {r1, r2} CntMyFiles++; 802c4a2: 4b3a ldr r3, [pc, #232] ; (802c58c ) 802c4a4: 681b ldr r3, [r3, #0] 802c4a6: 3301 adds r3, #1 802c4a8: 4a38 ldr r2, [pc, #224] ; (802c58c ) 802c4aa: 6013 str r3, [r2, #0] if(CntMyFiles >= VIEW_FILES) { 802c4ac: 4b37 ldr r3, [pc, #220] ; (802c58c ) 802c4ae: 681b ldr r3, [r3, #0] 802c4b0: 2b0b cmp r3, #11 802c4b2: d902 bls.n 802c4ba FlagReturn = true; 802c4b4: 4b36 ldr r3, [pc, #216] ; (802c590 ) 802c4b6: 2201 movs r2, #1 802c4b8: 701a strb r2, [r3, #0] } } IndxMyFiles++; 802c4ba: 4b33 ldr r3, [pc, #204] ; (802c588 ) 802c4bc: 681b ldr r3, [r3, #0] 802c4be: 3301 adds r3, #1 802c4c0: 4a31 ldr r2, [pc, #196] ; (802c588 ) 802c4c2: 6013 str r3, [r2, #0] } } } break; 802c4c4: e053 b.n 802c56e case GET_PATH_TO_FILE: // getting filepath of file with name at if((strcmp(FileName, fn) == 0) && (FlagReturn == false)) 802c4c6: 6df9 ldr r1, [r7, #92] ; 0x5c 802c4c8: 4834 ldr r0, [pc, #208] ; (802c59c ) 802c4ca: f7f3 ff19 bl 8020300 802c4ce: 4603 mov r3, r0 802c4d0: 2b00 cmp r3, #0 802c4d2: d14f bne.n 802c574 802c4d4: 4b2e ldr r3, [pc, #184] ; (802c590 ) 802c4d6: 781b ldrb r3, [r3, #0] 802c4d8: b2db uxtb r3, r3 802c4da: f083 0301 eor.w r3, r3, #1 802c4de: b2db uxtb r3, r3 802c4e0: 2b00 cmp r3, #0 802c4e2: d047 beq.n 802c574 { strcpy(PointPath, path); 802c4e4: 6879 ldr r1, [r7, #4] 802c4e6: 482e ldr r0, [pc, #184] ; (802c5a0 ) 802c4e8: f0a0 fecb bl 80cd282 l = strlen(PointPath); 802c4ec: 482c ldr r0, [pc, #176] ; (802c5a0 ) 802c4ee: f7f3 ff11 bl 8020314 802c4f2: 65b8 str r0, [r7, #88] ; 0x58 PointPath[l] = '/'; 802c4f4: 4a2a ldr r2, [pc, #168] ; (802c5a0 ) 802c4f6: 6dbb ldr r3, [r7, #88] ; 0x58 802c4f8: 4413 add r3, r2 802c4fa: 222f movs r2, #47 ; 0x2f 802c4fc: 701a strb r2, [r3, #0] strcat(PointPath, fn); 802c4fe: 6df9 ldr r1, [r7, #92] ; 0x5c 802c500: 4827 ldr r0, [pc, #156] ; (802c5a0 ) 802c502: f0a0 fea1 bl 80cd248 l = strlen(PointPath); 802c506: 4826 ldr r0, [pc, #152] ; (802c5a0 ) 802c508: f7f3 ff04 bl 8020314 802c50c: 65b8 str r0, [r7, #88] ; 0x58 PointPath[l] = '\0'; 802c50e: 4a24 ldr r2, [pc, #144] ; (802c5a0 ) 802c510: 6dbb ldr r3, [r7, #88] ; 0x58 802c512: 4413 add r3, r2 802c514: 2200 movs r2, #0 802c516: 701a strb r2, [r3, #0] FlagReturn = true; 802c518: 4b1d ldr r3, [pc, #116] ; (802c590 ) 802c51a: 2201 movs r2, #1 802c51c: 701a strb r2, [r3, #0] } break; 802c51e: e029 b.n 802c574 continue; /* Èãíîðèðîâàíèå ýëåìåíòà 'òî÷êà' */ 802c520: bf00 nop 802c522: f7ff b9de b.w 802b8e2 break; 802c526: bf00 nop 802c528: f7ff b9db b.w 802b8e2 break; 802c52c: bf00 nop 802c52e: f7ff b9d8 b.w 802b8e2 break; 802c532: bf00 nop 802c534: f7ff b9d5 b.w 802b8e2 break; 802c538: bf00 nop 802c53a: f7ff b9d2 b.w 802b8e2 break; 802c53e: bf00 nop 802c540: f7ff b9cf b.w 802b8e2 break; 802c544: bf00 nop 802c546: f7ff b9cc b.w 802b8e2 break; 802c54a: bf00 nop 802c54c: f7ff b9c9 b.w 802b8e2 break; 802c550: bf00 nop 802c552: f7ff b9c6 b.w 802b8e2 break; 802c556: bf00 nop 802c558: f7ff b9c3 b.w 802b8e2 break; 802c55c: bf00 nop 802c55e: f7ff b9c0 b.w 802b8e2 break; 802c562: bf00 nop 802c564: f7ff b9bd b.w 802b8e2 break; 802c568: bf00 nop 802c56a: f7ff b9ba b.w 802b8e2 break; 802c56e: bf00 nop 802c570: f7ff b9b7 b.w 802b8e2 break; 802c574: bf00 nop res = f_readdir(&dir, &fno); /* ×òåíèå îáúåêòà äèðåêòîðèè */ 802c576: f7ff b9b4 b.w 802b8e2 break; 802c57a: bf00 nop } } } } return res; 802c57c: f897 306f ldrb.w r3, [r7, #111] ; 0x6f } 802c580: 4618 mov r0, r3 802c582: 3774 adds r7, #116 ; 0x74 802c584: 46bd mov sp, r7 802c586: bd90 pop {r4, r7, pc} 802c588: 20020df0 .word 0x20020df0 802c58c: 20020dec .word 0x20020dec 802c590: 20020dde .word 0x20020dde 802c594: 20022350 .word 0x20022350 802c598: 20021fa0 .word 0x20021fa0 802c59c: 20022bb8 .word 0x20022bb8 802c5a0: 200229b4 .word 0x200229b4 0802c5a4 : bool CheckSD(void) { 802c5a4: b580 push {r7, lr} 802c5a6: b084 sub sp, #16 802c5a8: af00 add r7, sp, #0 uint8_t attempt; TM_FATFS_Size_t SD_Size; FRESULT res = FR_OK; 802c5aa: 2300 movs r3, #0 802c5ac: 73bb strb r3, [r7, #14] if(CardState == MSD_READY) 802c5ae: 4b29 ldr r3, [pc, #164] ; (802c654 ) 802c5b0: 781b ldrb r3, [r3, #0] 802c5b2: b2db uxtb r3, r3 802c5b4: 2b03 cmp r3, #3 802c5b6: d139 bne.n 802c62c { for(attempt = 0; attempt < 10; attempt++) 802c5b8: 2300 movs r3, #0 802c5ba: 73fb strb r3, [r7, #15] 802c5bc: e032 b.n 802c624 { //res = f_mount(&fs, SDPath, 1); if(res == FR_OK) 802c5be: 7bbb ldrb r3, [r7, #14] 802c5c0: 2b00 cmp r3, #0 802c5c2: d11a bne.n 802c5fa { if(TM_FATFS_GetDriveSize(SDPath, &SD_Size) == FR_OK) 802c5c4: 1d3b adds r3, r7, #4 802c5c6: 4619 mov r1, r3 802c5c8: 4823 ldr r0, [pc, #140] ; (802c658 ) 802c5ca: f000 f849 bl 802c660 802c5ce: 4603 mov r3, r0 802c5d0: 2b00 cmp r3, #0 802c5d2: d124 bne.n 802c61e { SD_Space.TotalSectors = SD_Size.TotalSize; // Number Total Sectors 802c5d4: 687b ldr r3, [r7, #4] 802c5d6: 4a21 ldr r2, [pc, #132] ; (802c65c ) 802c5d8: 6013 str r3, [r2, #0] SD_Space.FreeSectors = SD_Size.FreeSize; // Number Free Sectors 802c5da: 68bb ldr r3, [r7, #8] 802c5dc: 4a1f ldr r2, [pc, #124] ; (802c65c ) 802c5de: 6053 str r3, [r2, #4] SD_Space.Total_MB = SD_Size.TotalSize >> 20; // Number Total sectors into MBytes 802c5e0: 687b ldr r3, [r7, #4] 802c5e2: 0d1b lsrs r3, r3, #20 802c5e4: 4a1d ldr r2, [pc, #116] ; (802c65c ) 802c5e6: 6093 str r3, [r2, #8] SD_Space.Free_MB = SD_Size.FreeSize >> 20; // Number Total sectors into MBytes 802c5e8: 68bb ldr r3, [r7, #8] 802c5ea: 0d1b lsrs r3, r3, #20 802c5ec: 4a1b ldr r2, [pc, #108] ; (802c65c ) 802c5ee: 60d3 str r3, [r2, #12] CardState = MSD_READY; 802c5f0: 4b18 ldr r3, [pc, #96] ; (802c654 ) 802c5f2: 2203 movs r2, #3 802c5f4: 701a strb r2, [r3, #0] //f_mount(&fs, SDPath, 0); return (true); 802c5f6: 2301 movs r3, #1 802c5f8: e028 b.n 802c64c } } else { SD_Space.TotalSectors = 0; 802c5fa: 4b18 ldr r3, [pc, #96] ; (802c65c ) 802c5fc: 2200 movs r2, #0 802c5fe: 601a str r2, [r3, #0] SD_Space.FreeSectors = 0; 802c600: 4b16 ldr r3, [pc, #88] ; (802c65c ) 802c602: 2200 movs r2, #0 802c604: 605a str r2, [r3, #4] SD_Space.Total_MB = 0; 802c606: 4b15 ldr r3, [pc, #84] ; (802c65c ) 802c608: 2200 movs r2, #0 802c60a: 609a str r2, [r3, #8] SD_Space.Free_MB = 0; 802c60c: 4b13 ldr r3, [pc, #76] ; (802c65c ) 802c60e: 2200 movs r2, #0 802c610: 60da str r2, [r3, #12] CardState = MSD_PRESENT; 802c612: 4b10 ldr r3, [pc, #64] ; (802c654 ) 802c614: 2201 movs r2, #1 802c616: 701a strb r2, [r3, #0] HAL_Delay(50); 802c618: 2032 movs r0, #50 ; 0x32 802c61a: f086 fe19 bl 80b3250 for(attempt = 0; attempt < 10; attempt++) 802c61e: 7bfb ldrb r3, [r7, #15] 802c620: 3301 adds r3, #1 802c622: 73fb strb r3, [r7, #15] 802c624: 7bfb ldrb r3, [r7, #15] 802c626: 2b09 cmp r3, #9 802c628: d9c9 bls.n 802c5be 802c62a: e00e b.n 802c64a } } } else { SD_Space.TotalSectors = 0; 802c62c: 4b0b ldr r3, [pc, #44] ; (802c65c ) 802c62e: 2200 movs r2, #0 802c630: 601a str r2, [r3, #0] SD_Space.FreeSectors = 0; 802c632: 4b0a ldr r3, [pc, #40] ; (802c65c ) 802c634: 2200 movs r2, #0 802c636: 605a str r2, [r3, #4] SD_Space.Total_MB = 0; 802c638: 4b08 ldr r3, [pc, #32] ; (802c65c ) 802c63a: 2200 movs r2, #0 802c63c: 609a str r2, [r3, #8] SD_Space.Free_MB = 0; 802c63e: 4b07 ldr r3, [pc, #28] ; (802c65c ) 802c640: 2200 movs r2, #0 802c642: 60da str r2, [r3, #12] CardState = MSD_NOCARD; 802c644: 4b03 ldr r3, [pc, #12] ; (802c654 ) 802c646: 2200 movs r2, #0 802c648: 701a strb r2, [r3, #0] } return (false); 802c64a: 2300 movs r3, #0 } 802c64c: 4618 mov r0, r3 802c64e: 3710 adds r7, #16 802c650: 46bd mov sp, r7 802c652: bd80 pop {r7, pc} 802c654: 2002164c .word 0x2002164c 802c658: 20068acc .word 0x20068acc 802c65c: 20022300 .word 0x20022300 0802c660 : FRESULT TM_FATFS_GetDriveSize(char* str, TM_FATFS_Size_t* SizeStruct) { 802c660: b580 push {r7, lr} 802c662: b086 sub sp, #24 802c664: af00 add r7, sp, #0 802c666: 6078 str r0, [r7, #4] 802c668: 6039 str r1, [r7, #0] FATFS *fs; DWORD fre_clust; FRESULT res; res = f_getfree(str, &fre_clust, &fs); 802c66a: f107 0210 add.w r2, r7, #16 802c66e: f107 030c add.w r3, r7, #12 802c672: 4619 mov r1, r3 802c674: 6878 ldr r0, [r7, #4] 802c676: f09a fdf8 bl 80c726a 802c67a: 4603 mov r3, r0 802c67c: 75fb strb r3, [r7, #23] if (res != FR_OK) { 802c67e: 7dfb ldrb r3, [r7, #23] 802c680: 2b00 cmp r3, #0 802c682: d001 beq.n 802c688 return res; 802c684: 7dfb ldrb r3, [r7, #23] 802c686: e029 b.n 802c6dc } SizeStruct->TotalSize = (fs->n_fatent - 2) * fs->csize * 0.5; //Get total sectors and free sectors 802c688: 693b ldr r3, [r7, #16] 802c68a: 69db ldr r3, [r3, #28] 802c68c: 3b02 subs r3, #2 802c68e: 693a ldr r2, [r7, #16] 802c690: 8952 ldrh r2, [r2, #10] 802c692: fb02 f303 mul.w r3, r2, r3 802c696: ee07 3a90 vmov s15, r3 802c69a: eeb8 7b67 vcvt.f64.u32 d7, s15 802c69e: eeb6 6b00 vmov.f64 d6, #96 ; 0x3f000000 0.5 802c6a2: ee27 7b06 vmul.f64 d7, d7, d6 802c6a6: eefc 7bc7 vcvt.u32.f64 s15, d7 802c6aa: ee17 2a90 vmov r2, s15 802c6ae: 683b ldr r3, [r7, #0] 802c6b0: 601a str r2, [r3, #0] SizeStruct->FreeSize = fre_clust * fs->csize * 0.5; 802c6b2: 693b ldr r3, [r7, #16] 802c6b4: 895b ldrh r3, [r3, #10] 802c6b6: 461a mov r2, r3 802c6b8: 68fb ldr r3, [r7, #12] 802c6ba: fb03 f302 mul.w r3, r3, r2 802c6be: ee07 3a90 vmov s15, r3 802c6c2: eeb8 7b67 vcvt.f64.u32 d7, s15 802c6c6: eeb6 6b00 vmov.f64 d6, #96 ; 0x3f000000 0.5 802c6ca: ee27 7b06 vmul.f64 d7, d7, d6 802c6ce: eefc 7bc7 vcvt.u32.f64 s15, d7 802c6d2: ee17 2a90 vmov r2, s15 802c6d6: 683b ldr r3, [r7, #0] 802c6d8: 605a str r2, [r3, #4] return FR_OK; 802c6da: 2300 movs r3, #0 } 802c6dc: 4618 mov r0, r3 802c6de: 3718 adds r7, #24 802c6e0: 46bd mov sp, r7 802c6e2: bd80 pop {r7, pc} 0802c6e4 : FRESULT WriteHeaderGTR(FIL *file) { 802c6e4: b580 push {r7, lr} 802c6e6: b08e sub sp, #56 ; 0x38 802c6e8: af00 add r7, sp, #0 802c6ea: 6078 str r0, [r7, #4] FRESULT res = FR_OK; 802c6ec: 2300 movs r3, #0 802c6ee: f887 302e strb.w r3, [r7, #46] ; 0x2e uint8_t f_str[8]; //float32_t sens; //char string[10]; if(CardState != MSD_READY) { 802c6f2: 4bbf ldr r3, [pc, #764] ; (802c9f0 ) 802c6f4: 781b ldrb r3, [r3, #0] 802c6f6: b2db uxtb r3, r3 802c6f8: 2b03 cmp r3, #3 802c6fa: d002 beq.n 802c702 return FR_NOT_READY; 802c6fc: 2303 movs r3, #3 802c6fe: f001 baaa b.w 802dc56 */ size = 0; 802c702: 2300 movs r3, #0 802c704: 61fb str r3, [r7, #28] memset(sector, 0, sizeof(sector)); 802c706: f44f 7200 mov.w r2, #512 ; 0x200 802c70a: 2100 movs r1, #0 802c70c: 48b9 ldr r0, [pc, #740] ; (802c9f4 ) 802c70e: f0a0 fc9b bl 80cd048 k = (uint32_t) (pardata.IKK * 1000.0f); 802c712: 4bb9 ldr r3, [pc, #740] ; (802c9f8 ) 802c714: edd3 7a04 vldr s15, [r3, #16] 802c718: ed9f 7ab8 vldr s14, [pc, #736] ; 802c9fc 802c71c: ee67 7a87 vmul.f32 s15, s15, s14 802c720: eefc 7ae7 vcvt.u32.f32 s15, s15 802c724: ee17 3a90 vmov r3, s15 802c728: 637b str r3, [r7, #52] ; 0x34 ies = (uint8_t) (k / 100000); 802c72a: 6b7b ldr r3, [r7, #52] ; 0x34 802c72c: 095b lsrs r3, r3, #5 802c72e: 4ab4 ldr r2, [pc, #720] ; (802ca00 ) 802c730: fba2 2303 umull r2, r3, r2, r3 802c734: 09db lsrs r3, r3, #7 802c736: f887 302d strb.w r3, [r7, #45] ; 0x2d ied = (uint8_t) (k % 100000 / 10000); 802c73a: 6b7a ldr r2, [r7, #52] ; 0x34 802c73c: 0953 lsrs r3, r2, #5 802c73e: 49b0 ldr r1, [pc, #704] ; (802ca00 ) 802c740: fba1 1303 umull r1, r3, r1, r3 802c744: 09db lsrs r3, r3, #7 802c746: 49af ldr r1, [pc, #700] ; (802ca04 ) 802c748: fb01 f303 mul.w r3, r1, r3 802c74c: 1ad3 subs r3, r2, r3 802c74e: 4aae ldr r2, [pc, #696] ; (802ca08 ) 802c750: fba2 2303 umull r2, r3, r2, r3 802c754: 0b5b lsrs r3, r3, #13 802c756: f887 302c strb.w r3, [r7, #44] ; 0x2c iee = (uint8_t) (k % 100000 % 10000 / 1000); 802c75a: 6b7a ldr r2, [r7, #52] ; 0x34 802c75c: 0953 lsrs r3, r2, #5 802c75e: 49a8 ldr r1, [pc, #672] ; (802ca00 ) 802c760: fba1 1303 umull r1, r3, r1, r3 802c764: 09db lsrs r3, r3, #7 802c766: 49a7 ldr r1, [pc, #668] ; (802ca04 ) 802c768: fb01 f303 mul.w r3, r1, r3 802c76c: 1ad3 subs r3, r2, r3 802c76e: 4aa6 ldr r2, [pc, #664] ; (802ca08 ) 802c770: fba2 1203 umull r1, r2, r2, r3 802c774: 0b52 lsrs r2, r2, #13 802c776: f242 7110 movw r1, #10000 ; 0x2710 802c77a: fb01 f202 mul.w r2, r1, r2 802c77e: 1a9a subs r2, r3, r2 802c780: 4ba2 ldr r3, [pc, #648] ; (802ca0c ) 802c782: fba3 2302 umull r2, r3, r3, r2 802c786: 099b lsrs r3, r3, #6 802c788: f887 302b strb.w r3, [r7, #43] ; 0x2b ikd = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 802c78c: 6b7b ldr r3, [r7, #52] ; 0x34 802c78e: 095a lsrs r2, r3, #5 802c790: 499b ldr r1, [pc, #620] ; (802ca00 ) 802c792: fba1 1202 umull r1, r2, r1, r2 802c796: 09d2 lsrs r2, r2, #7 802c798: 499a ldr r1, [pc, #616] ; (802ca04 ) 802c79a: fb01 f202 mul.w r2, r1, r2 802c79e: 1a9a subs r2, r3, r2 802c7a0: 4b99 ldr r3, [pc, #612] ; (802ca08 ) 802c7a2: fba3 1302 umull r1, r3, r3, r2 802c7a6: 0b5b lsrs r3, r3, #13 802c7a8: f242 7110 movw r1, #10000 ; 0x2710 802c7ac: fb01 f303 mul.w r3, r1, r3 802c7b0: 1ad3 subs r3, r2, r3 802c7b2: 4a96 ldr r2, [pc, #600] ; (802ca0c ) 802c7b4: fba2 1203 umull r1, r2, r2, r3 802c7b8: 0992 lsrs r2, r2, #6 802c7ba: f44f 717a mov.w r1, #1000 ; 0x3e8 802c7be: fb01 f202 mul.w r2, r1, r2 802c7c2: 1a9a subs r2, r3, r2 802c7c4: 4b92 ldr r3, [pc, #584] ; (802ca10 ) 802c7c6: fba3 2302 umull r2, r3, r3, r2 802c7ca: 095b lsrs r3, r3, #5 802c7cc: f887 302a strb.w r3, [r7, #42] ; 0x2a iks = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 802c7d0: 6b7a ldr r2, [r7, #52] ; 0x34 802c7d2: 0953 lsrs r3, r2, #5 802c7d4: 498a ldr r1, [pc, #552] ; (802ca00 ) 802c7d6: fba1 1303 umull r1, r3, r1, r3 802c7da: 09db lsrs r3, r3, #7 802c7dc: 4989 ldr r1, [pc, #548] ; (802ca04 ) 802c7de: fb01 f303 mul.w r3, r1, r3 802c7e2: 1ad3 subs r3, r2, r3 802c7e4: 4a88 ldr r2, [pc, #544] ; (802ca08 ) 802c7e6: fba2 1203 umull r1, r2, r2, r3 802c7ea: 0b52 lsrs r2, r2, #13 802c7ec: f242 7110 movw r1, #10000 ; 0x2710 802c7f0: fb01 f202 mul.w r2, r1, r2 802c7f4: 1a9a subs r2, r3, r2 802c7f6: 4b85 ldr r3, [pc, #532] ; (802ca0c ) 802c7f8: fba3 1302 umull r1, r3, r3, r2 802c7fc: 099b lsrs r3, r3, #6 802c7fe: f44f 717a mov.w r1, #1000 ; 0x3e8 802c802: fb01 f303 mul.w r3, r1, r3 802c806: 1ad3 subs r3, r2, r3 802c808: 4a81 ldr r2, [pc, #516] ; (802ca10 ) 802c80a: fba2 1203 umull r1, r2, r2, r3 802c80e: 0952 lsrs r2, r2, #5 802c810: 2164 movs r1, #100 ; 0x64 802c812: fb01 f202 mul.w r2, r1, r2 802c816: 1a9a subs r2, r3, r2 802c818: 4b7e ldr r3, [pc, #504] ; (802ca14 ) 802c81a: fba3 2302 umull r2, r3, r3, r2 802c81e: 08db lsrs r3, r3, #3 802c820: f887 3029 strb.w r3, [r7, #41] ; 0x29 ikt = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 802c824: 6b7a ldr r2, [r7, #52] ; 0x34 802c826: 0953 lsrs r3, r2, #5 802c828: 4975 ldr r1, [pc, #468] ; (802ca00 ) 802c82a: fba1 1303 umull r1, r3, r1, r3 802c82e: 09db lsrs r3, r3, #7 802c830: 4974 ldr r1, [pc, #464] ; (802ca04 ) 802c832: fb01 f303 mul.w r3, r1, r3 802c836: 1ad3 subs r3, r2, r3 802c838: 4a73 ldr r2, [pc, #460] ; (802ca08 ) 802c83a: fba2 1203 umull r1, r2, r2, r3 802c83e: 0b52 lsrs r2, r2, #13 802c840: f242 7110 movw r1, #10000 ; 0x2710 802c844: fb01 f202 mul.w r2, r1, r2 802c848: 1a9a subs r2, r3, r2 802c84a: 4b70 ldr r3, [pc, #448] ; (802ca0c ) 802c84c: fba3 1302 umull r1, r3, r3, r2 802c850: 099b lsrs r3, r3, #6 802c852: f44f 717a mov.w r1, #1000 ; 0x3e8 802c856: fb01 f303 mul.w r3, r1, r3 802c85a: 1ad3 subs r3, r2, r3 802c85c: 4a6c ldr r2, [pc, #432] ; (802ca10 ) 802c85e: fba2 1203 umull r1, r2, r2, r3 802c862: 0952 lsrs r2, r2, #5 802c864: 2164 movs r1, #100 ; 0x64 802c866: fb01 f202 mul.w r2, r1, r2 802c86a: 1a9a subs r2, r3, r2 802c86c: 4b69 ldr r3, [pc, #420] ; (802ca14 ) 802c86e: fba3 1302 umull r1, r3, r3, r2 802c872: 08d9 lsrs r1, r3, #3 802c874: 460b mov r3, r1 802c876: 009b lsls r3, r3, #2 802c878: 440b add r3, r1 802c87a: 005b lsls r3, r3, #1 802c87c: 1ad1 subs r1, r2, r3 802c87e: 460b mov r3, r1 802c880: f887 3028 strb.w r3, [r7, #40] ; 0x28 ak = 1; 802c884: 2301 movs r3, #1 802c886: f887 302f strb.w r3, [r7, #47] ; 0x2f memset(aa, 0, sizeof(aa)); // "0.000000" 802c88a: f107 0314 add.w r3, r7, #20 802c88e: 2208 movs r2, #8 802c890: 2100 movs r1, #0 802c892: 4618 mov r0, r3 802c894: f0a0 fbd8 bl 80cd048 memset(f_str, 0, sizeof(f_str)); // "0.000000" 802c898: f107 030c add.w r3, r7, #12 802c89c: 2208 movs r2, #8 802c89e: 2100 movs r1, #0 802c8a0: 4618 mov r0, r3 802c8a2: f0a0 fbd1 bl 80cd048 if(FreqFran) 802c8a6: 4b5c ldr r3, [pc, #368] ; (802ca18 ) 802c8a8: edd3 7a00 vldr s15, [r3] 802c8ac: eef5 7a40 vcmp.f32 s15, #0.0 802c8b0: eef1 fa10 vmrs APSR_nzcv, fpscr 802c8b4: f000 821c beq.w 802ccf0 { if(FreqFran < 10.0f) 802c8b8: 4b57 ldr r3, [pc, #348] ; (802ca18 ) 802c8ba: edd3 7a00 vldr s15, [r3] 802c8be: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 802c8c2: eef4 7ac7 vcmpe.f32 s15, s14 802c8c6: eef1 fa10 vmrs APSR_nzcv, fpscr 802c8ca: d50f bpl.n 802c8ec { k = (uint32_t) (FreqFran * 1000000.0f); 802c8cc: 4b52 ldr r3, [pc, #328] ; (802ca18 ) 802c8ce: edd3 7a00 vldr s15, [r3] 802c8d2: ed9f 7a52 vldr s14, [pc, #328] ; 802ca1c 802c8d6: ee67 7a87 vmul.f32 s15, s15, s14 802c8da: eefc 7ae7 vcvt.u32.f32 s15, s15 802c8de: ee17 3a90 vmov r3, s15 802c8e2: 637b str r3, [r7, #52] ; 0x34 ak = 1; 802c8e4: 2301 movs r3, #1 802c8e6: f887 302f strb.w r3, [r7, #47] ; 0x2f 802c8ea: e0a1 b.n 802ca30 } else if(FreqFran < 100.0f) 802c8ec: 4b4a ldr r3, [pc, #296] ; (802ca18 ) 802c8ee: edd3 7a00 vldr s15, [r3] 802c8f2: ed9f 7a4b vldr s14, [pc, #300] ; 802ca20 802c8f6: eef4 7ac7 vcmpe.f32 s15, s14 802c8fa: eef1 fa10 vmrs APSR_nzcv, fpscr 802c8fe: d50f bpl.n 802c920 { k = (uint32_t) (FreqFran * 100000.0f); 802c900: 4b45 ldr r3, [pc, #276] ; (802ca18 ) 802c902: edd3 7a00 vldr s15, [r3] 802c906: ed9f 7a47 vldr s14, [pc, #284] ; 802ca24 802c90a: ee67 7a87 vmul.f32 s15, s15, s14 802c90e: eefc 7ae7 vcvt.u32.f32 s15, s15 802c912: ee17 3a90 vmov r3, s15 802c916: 637b str r3, [r7, #52] ; 0x34 ak = 2; 802c918: 2302 movs r3, #2 802c91a: f887 302f strb.w r3, [r7, #47] ; 0x2f 802c91e: e087 b.n 802ca30 } else if(FreqFran < 1000.0f) 802c920: 4b3d ldr r3, [pc, #244] ; (802ca18 ) 802c922: edd3 7a00 vldr s15, [r3] 802c926: ed9f 7a35 vldr s14, [pc, #212] ; 802c9fc 802c92a: eef4 7ac7 vcmpe.f32 s15, s14 802c92e: eef1 fa10 vmrs APSR_nzcv, fpscr 802c932: d50f bpl.n 802c954 { k = (uint32_t) (FreqFran * 10000.0f); 802c934: 4b38 ldr r3, [pc, #224] ; (802ca18 ) 802c936: edd3 7a00 vldr s15, [r3] 802c93a: ed9f 7a3b vldr s14, [pc, #236] ; 802ca28 802c93e: ee67 7a87 vmul.f32 s15, s15, s14 802c942: eefc 7ae7 vcvt.u32.f32 s15, s15 802c946: ee17 3a90 vmov r3, s15 802c94a: 637b str r3, [r7, #52] ; 0x34 ak = 3; 802c94c: 2303 movs r3, #3 802c94e: f887 302f strb.w r3, [r7, #47] ; 0x2f 802c952: e06d b.n 802ca30 } else if(FreqFran < 10000.0f) 802c954: 4b30 ldr r3, [pc, #192] ; (802ca18 ) 802c956: edd3 7a00 vldr s15, [r3] 802c95a: ed9f 7a33 vldr s14, [pc, #204] ; 802ca28 802c95e: eef4 7ac7 vcmpe.f32 s15, s14 802c962: eef1 fa10 vmrs APSR_nzcv, fpscr 802c966: d50f bpl.n 802c988 { k = (uint32_t) (FreqFran * 1000.0f); 802c968: 4b2b ldr r3, [pc, #172] ; (802ca18 ) 802c96a: edd3 7a00 vldr s15, [r3] 802c96e: ed9f 7a23 vldr s14, [pc, #140] ; 802c9fc 802c972: ee67 7a87 vmul.f32 s15, s15, s14 802c976: eefc 7ae7 vcvt.u32.f32 s15, s15 802c97a: ee17 3a90 vmov r3, s15 802c97e: 637b str r3, [r7, #52] ; 0x34 ak = 4; 802c980: 2304 movs r3, #4 802c982: f887 302f strb.w r3, [r7, #47] ; 0x2f 802c986: e053 b.n 802ca30 } else if(FreqFran < 100000.0f) 802c988: 4b23 ldr r3, [pc, #140] ; (802ca18 ) 802c98a: edd3 7a00 vldr s15, [r3] 802c98e: ed9f 7a25 vldr s14, [pc, #148] ; 802ca24 802c992: eef4 7ac7 vcmpe.f32 s15, s14 802c996: eef1 fa10 vmrs APSR_nzcv, fpscr 802c99a: d50f bpl.n 802c9bc { k = (uint32_t) (FreqFran * 100.0f); 802c99c: 4b1e ldr r3, [pc, #120] ; (802ca18 ) 802c99e: edd3 7a00 vldr s15, [r3] 802c9a2: ed9f 7a1f vldr s14, [pc, #124] ; 802ca20 802c9a6: ee67 7a87 vmul.f32 s15, s15, s14 802c9aa: eefc 7ae7 vcvt.u32.f32 s15, s15 802c9ae: ee17 3a90 vmov r3, s15 802c9b2: 637b str r3, [r7, #52] ; 0x34 ak = 5; 802c9b4: 2305 movs r3, #5 802c9b6: f887 302f strb.w r3, [r7, #47] ; 0x2f 802c9ba: e039 b.n 802ca30 } else if(FreqFran < 1000000.0f) 802c9bc: 4b16 ldr r3, [pc, #88] ; (802ca18 ) 802c9be: edd3 7a00 vldr s15, [r3] 802c9c2: ed9f 7a16 vldr s14, [pc, #88] ; 802ca1c 802c9c6: eef4 7ac7 vcmpe.f32 s15, s14 802c9ca: eef1 fa10 vmrs APSR_nzcv, fpscr 802c9ce: d52d bpl.n 802ca2c { k = (uint32_t) (FreqFran * 10.0f); 802c9d0: 4b11 ldr r3, [pc, #68] ; (802ca18 ) 802c9d2: edd3 7a00 vldr s15, [r3] 802c9d6: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 802c9da: ee67 7a87 vmul.f32 s15, s15, s14 802c9de: eefc 7ae7 vcvt.u32.f32 s15, s15 802c9e2: ee17 3a90 vmov r3, s15 802c9e6: 637b str r3, [r7, #52] ; 0x34 ak = 6; 802c9e8: 2306 movs r3, #6 802c9ea: f887 302f strb.w r3, [r7, #47] ; 0x2f 802c9ee: e01f b.n 802ca30 802c9f0: 2002164c .word 0x2002164c 802c9f4: 2007c000 .word 0x2007c000 802c9f8: 20023e60 .word 0x20023e60 802c9fc: 447a0000 .word 0x447a0000 802ca00: 0a7c5ac5 .word 0x0a7c5ac5 802ca04: 000186a0 .word 0x000186a0 802ca08: d1b71759 .word 0xd1b71759 802ca0c: 10624dd3 .word 0x10624dd3 802ca10: 51eb851f .word 0x51eb851f 802ca14: cccccccd .word 0xcccccccd 802ca18: 20021564 .word 0x20021564 802ca1c: 49742400 .word 0x49742400 802ca20: 42c80000 .word 0x42c80000 802ca24: 47c35000 .word 0x47c35000 802ca28: 461c4000 .word 0x461c4000 } else k = 0; 802ca2c: 2300 movs r3, #0 802ca2e: 637b str r3, [r7, #52] ; 0x34 aa[0] = (uint8_t) (k / 1000000); 802ca30: 6b7b ldr r3, [r7, #52] ; 0x34 802ca32: 4ab2 ldr r2, [pc, #712] ; (802ccfc ) 802ca34: fba2 2303 umull r2, r3, r2, r3 802ca38: 0c9b lsrs r3, r3, #18 802ca3a: b2db uxtb r3, r3 802ca3c: 753b strb r3, [r7, #20] aa[1] = (uint8_t) (k % 1000000 / 100000); 802ca3e: 6b7a ldr r2, [r7, #52] ; 0x34 802ca40: 4bae ldr r3, [pc, #696] ; (802ccfc ) 802ca42: fba3 1302 umull r1, r3, r3, r2 802ca46: 0c9b lsrs r3, r3, #18 802ca48: 49ad ldr r1, [pc, #692] ; (802cd00 ) 802ca4a: fb01 f303 mul.w r3, r1, r3 802ca4e: 1ad3 subs r3, r2, r3 802ca50: 095b lsrs r3, r3, #5 802ca52: 4aac ldr r2, [pc, #688] ; (802cd04 ) 802ca54: fba2 2303 umull r2, r3, r2, r3 802ca58: 09db lsrs r3, r3, #7 802ca5a: b2db uxtb r3, r3 802ca5c: 757b strb r3, [r7, #21] aa[2] = (uint8_t) (k % 1000000 % 100000 / 10000); 802ca5e: 6b7a ldr r2, [r7, #52] ; 0x34 802ca60: 4ba6 ldr r3, [pc, #664] ; (802ccfc ) 802ca62: fba3 1302 umull r1, r3, r3, r2 802ca66: 0c9b lsrs r3, r3, #18 802ca68: 49a5 ldr r1, [pc, #660] ; (802cd00 ) 802ca6a: fb01 f303 mul.w r3, r1, r3 802ca6e: 1ad3 subs r3, r2, r3 802ca70: 095a lsrs r2, r3, #5 802ca72: 49a4 ldr r1, [pc, #656] ; (802cd04 ) 802ca74: fba1 1202 umull r1, r2, r1, r2 802ca78: 09d2 lsrs r2, r2, #7 802ca7a: 49a3 ldr r1, [pc, #652] ; (802cd08 ) 802ca7c: fb01 f202 mul.w r2, r1, r2 802ca80: 1a9a subs r2, r3, r2 802ca82: 4ba2 ldr r3, [pc, #648] ; (802cd0c ) 802ca84: fba3 2302 umull r2, r3, r3, r2 802ca88: 0b5b lsrs r3, r3, #13 802ca8a: b2db uxtb r3, r3 802ca8c: 75bb strb r3, [r7, #22] aa[3] = (uint8_t) (k % 1000000 % 100000 % 10000 / 1000); 802ca8e: 6b7b ldr r3, [r7, #52] ; 0x34 802ca90: 4a9a ldr r2, [pc, #616] ; (802ccfc ) 802ca92: fba2 1203 umull r1, r2, r2, r3 802ca96: 0c92 lsrs r2, r2, #18 802ca98: 4999 ldr r1, [pc, #612] ; (802cd00 ) 802ca9a: fb01 f202 mul.w r2, r1, r2 802ca9e: 1a9a subs r2, r3, r2 802caa0: 0953 lsrs r3, r2, #5 802caa2: 4998 ldr r1, [pc, #608] ; (802cd04 ) 802caa4: fba1 1303 umull r1, r3, r1, r3 802caa8: 09db lsrs r3, r3, #7 802caaa: 4997 ldr r1, [pc, #604] ; (802cd08 ) 802caac: fb01 f303 mul.w r3, r1, r3 802cab0: 1ad3 subs r3, r2, r3 802cab2: 4a96 ldr r2, [pc, #600] ; (802cd0c ) 802cab4: fba2 1203 umull r1, r2, r2, r3 802cab8: 0b52 lsrs r2, r2, #13 802caba: f242 7110 movw r1, #10000 ; 0x2710 802cabe: fb01 f202 mul.w r2, r1, r2 802cac2: 1a9a subs r2, r3, r2 802cac4: 4b92 ldr r3, [pc, #584] ; (802cd10 ) 802cac6: fba3 2302 umull r2, r3, r3, r2 802caca: 099b lsrs r3, r3, #6 802cacc: b2db uxtb r3, r3 802cace: 75fb strb r3, [r7, #23] aa[4] = (uint8_t) (k % 1000000 % 100000 % 10000 % 1000 / 100); 802cad0: 6b7a ldr r2, [r7, #52] ; 0x34 802cad2: 4b8a ldr r3, [pc, #552] ; (802ccfc ) 802cad4: fba3 1302 umull r1, r3, r3, r2 802cad8: 0c9b lsrs r3, r3, #18 802cada: 4989 ldr r1, [pc, #548] ; (802cd00 ) 802cadc: fb01 f303 mul.w r3, r1, r3 802cae0: 1ad3 subs r3, r2, r3 802cae2: 095a lsrs r2, r3, #5 802cae4: 4987 ldr r1, [pc, #540] ; (802cd04 ) 802cae6: fba1 1202 umull r1, r2, r1, r2 802caea: 09d2 lsrs r2, r2, #7 802caec: 4986 ldr r1, [pc, #536] ; (802cd08 ) 802caee: fb01 f202 mul.w r2, r1, r2 802caf2: 1a9a subs r2, r3, r2 802caf4: 4b85 ldr r3, [pc, #532] ; (802cd0c ) 802caf6: fba3 1302 umull r1, r3, r3, r2 802cafa: 0b5b lsrs r3, r3, #13 802cafc: f242 7110 movw r1, #10000 ; 0x2710 802cb00: fb01 f303 mul.w r3, r1, r3 802cb04: 1ad3 subs r3, r2, r3 802cb06: 4a82 ldr r2, [pc, #520] ; (802cd10 ) 802cb08: fba2 1203 umull r1, r2, r2, r3 802cb0c: 0992 lsrs r2, r2, #6 802cb0e: f44f 717a mov.w r1, #1000 ; 0x3e8 802cb12: fb01 f202 mul.w r2, r1, r2 802cb16: 1a9a subs r2, r3, r2 802cb18: 4b7e ldr r3, [pc, #504] ; (802cd14 ) 802cb1a: fba3 2302 umull r2, r3, r3, r2 802cb1e: 095b lsrs r3, r3, #5 802cb20: b2db uxtb r3, r3 802cb22: 763b strb r3, [r7, #24] aa[5] = (uint8_t) (k % 1000000 % 100000 % 10000 % 1000 % 100 / 10); 802cb24: 6b7b ldr r3, [r7, #52] ; 0x34 802cb26: 4a75 ldr r2, [pc, #468] ; (802ccfc ) 802cb28: fba2 1203 umull r1, r2, r2, r3 802cb2c: 0c92 lsrs r2, r2, #18 802cb2e: 4974 ldr r1, [pc, #464] ; (802cd00 ) 802cb30: fb01 f202 mul.w r2, r1, r2 802cb34: 1a9a subs r2, r3, r2 802cb36: 0953 lsrs r3, r2, #5 802cb38: 4972 ldr r1, [pc, #456] ; (802cd04 ) 802cb3a: fba1 1303 umull r1, r3, r1, r3 802cb3e: 09db lsrs r3, r3, #7 802cb40: 4971 ldr r1, [pc, #452] ; (802cd08 ) 802cb42: fb01 f303 mul.w r3, r1, r3 802cb46: 1ad3 subs r3, r2, r3 802cb48: 4a70 ldr r2, [pc, #448] ; (802cd0c ) 802cb4a: fba2 1203 umull r1, r2, r2, r3 802cb4e: 0b52 lsrs r2, r2, #13 802cb50: f242 7110 movw r1, #10000 ; 0x2710 802cb54: fb01 f202 mul.w r2, r1, r2 802cb58: 1a9a subs r2, r3, r2 802cb5a: 4b6d ldr r3, [pc, #436] ; (802cd10 ) 802cb5c: fba3 1302 umull r1, r3, r3, r2 802cb60: 099b lsrs r3, r3, #6 802cb62: f44f 717a mov.w r1, #1000 ; 0x3e8 802cb66: fb01 f303 mul.w r3, r1, r3 802cb6a: 1ad3 subs r3, r2, r3 802cb6c: 4a69 ldr r2, [pc, #420] ; (802cd14 ) 802cb6e: fba2 1203 umull r1, r2, r2, r3 802cb72: 0952 lsrs r2, r2, #5 802cb74: 2164 movs r1, #100 ; 0x64 802cb76: fb01 f202 mul.w r2, r1, r2 802cb7a: 1a9a subs r2, r3, r2 802cb7c: 4b66 ldr r3, [pc, #408] ; (802cd18 ) 802cb7e: fba3 2302 umull r2, r3, r3, r2 802cb82: 08db lsrs r3, r3, #3 802cb84: b2db uxtb r3, r3 802cb86: 767b strb r3, [r7, #25] aa[6] = (uint8_t) (k % 1000000 % 100000 % 10000 % 1000 % 100 % 10); 802cb88: 6b7b ldr r3, [r7, #52] ; 0x34 802cb8a: 4a5c ldr r2, [pc, #368] ; (802ccfc ) 802cb8c: fba2 1203 umull r1, r2, r2, r3 802cb90: 0c92 lsrs r2, r2, #18 802cb92: 495b ldr r1, [pc, #364] ; (802cd00 ) 802cb94: fb01 f202 mul.w r2, r1, r2 802cb98: 1a9a subs r2, r3, r2 802cb9a: 0953 lsrs r3, r2, #5 802cb9c: 4959 ldr r1, [pc, #356] ; (802cd04 ) 802cb9e: fba1 1303 umull r1, r3, r1, r3 802cba2: 09db lsrs r3, r3, #7 802cba4: 4958 ldr r1, [pc, #352] ; (802cd08 ) 802cba6: fb01 f303 mul.w r3, r1, r3 802cbaa: 1ad3 subs r3, r2, r3 802cbac: 4a57 ldr r2, [pc, #348] ; (802cd0c ) 802cbae: fba2 1203 umull r1, r2, r2, r3 802cbb2: 0b52 lsrs r2, r2, #13 802cbb4: f242 7110 movw r1, #10000 ; 0x2710 802cbb8: fb01 f202 mul.w r2, r1, r2 802cbbc: 1a9a subs r2, r3, r2 802cbbe: 4b54 ldr r3, [pc, #336] ; (802cd10 ) 802cbc0: fba3 1302 umull r1, r3, r3, r2 802cbc4: 099b lsrs r3, r3, #6 802cbc6: f44f 717a mov.w r1, #1000 ; 0x3e8 802cbca: fb01 f303 mul.w r3, r1, r3 802cbce: 1ad3 subs r3, r2, r3 802cbd0: 4a50 ldr r2, [pc, #320] ; (802cd14 ) 802cbd2: fba2 1203 umull r1, r2, r2, r3 802cbd6: 0952 lsrs r2, r2, #5 802cbd8: 2164 movs r1, #100 ; 0x64 802cbda: fb01 f202 mul.w r2, r1, r2 802cbde: 1a9a subs r2, r3, r2 802cbe0: 4b4d ldr r3, [pc, #308] ; (802cd18 ) 802cbe2: fba3 1302 umull r1, r3, r3, r2 802cbe6: 08d9 lsrs r1, r3, #3 802cbe8: 460b mov r3, r1 802cbea: 009b lsls r3, r3, #2 802cbec: 440b add r3, r1 802cbee: 005b lsls r3, r3, #1 802cbf0: 1ad1 subs r1, r2, r3 802cbf2: b2cb uxtb r3, r1 802cbf4: 76bb strb r3, [r7, #26] if(ak == 1) 802cbf6: f897 302f ldrb.w r3, [r7, #47] ; 0x2f 802cbfa: 2b01 cmp r3, #1 802cbfc: d110 bne.n 802cc20 { f_str[0] = aa[0]; 802cbfe: 7d3b ldrb r3, [r7, #20] 802cc00: 733b strb r3, [r7, #12] f_str[1] = '.'; 802cc02: 232e movs r3, #46 ; 0x2e 802cc04: 737b strb r3, [r7, #13] f_str[2] = aa[1]; 802cc06: 7d7b ldrb r3, [r7, #21] 802cc08: 73bb strb r3, [r7, #14] f_str[3] = aa[2]; 802cc0a: 7dbb ldrb r3, [r7, #22] 802cc0c: 73fb strb r3, [r7, #15] f_str[4] = aa[3]; 802cc0e: 7dfb ldrb r3, [r7, #23] 802cc10: 743b strb r3, [r7, #16] f_str[5] = aa[4]; 802cc12: 7e3b ldrb r3, [r7, #24] 802cc14: 747b strb r3, [r7, #17] f_str[6] = aa[5]; 802cc16: 7e7b ldrb r3, [r7, #25] 802cc18: 74bb strb r3, [r7, #18] f_str[7] = aa[6]; 802cc1a: 7ebb ldrb r3, [r7, #26] 802cc1c: 74fb strb r3, [r7, #19] 802cc1e: e067 b.n 802ccf0 } else if(ak == 2) 802cc20: f897 302f ldrb.w r3, [r7, #47] ; 0x2f 802cc24: 2b02 cmp r3, #2 802cc26: d110 bne.n 802cc4a { f_str[0] = aa[0]; 802cc28: 7d3b ldrb r3, [r7, #20] 802cc2a: 733b strb r3, [r7, #12] f_str[1] = aa[1]; 802cc2c: 7d7b ldrb r3, [r7, #21] 802cc2e: 737b strb r3, [r7, #13] f_str[2] = '.'; 802cc30: 232e movs r3, #46 ; 0x2e 802cc32: 73bb strb r3, [r7, #14] f_str[3] = aa[2]; 802cc34: 7dbb ldrb r3, [r7, #22] 802cc36: 73fb strb r3, [r7, #15] f_str[4] = aa[3]; 802cc38: 7dfb ldrb r3, [r7, #23] 802cc3a: 743b strb r3, [r7, #16] f_str[5] = aa[4]; 802cc3c: 7e3b ldrb r3, [r7, #24] 802cc3e: 747b strb r3, [r7, #17] f_str[6] = aa[5]; 802cc40: 7e7b ldrb r3, [r7, #25] 802cc42: 74bb strb r3, [r7, #18] f_str[7] = aa[6]; 802cc44: 7ebb ldrb r3, [r7, #26] 802cc46: 74fb strb r3, [r7, #19] 802cc48: e052 b.n 802ccf0 } else if(ak == 3) 802cc4a: f897 302f ldrb.w r3, [r7, #47] ; 0x2f 802cc4e: 2b03 cmp r3, #3 802cc50: d110 bne.n 802cc74 { f_str[0] = aa[0]; 802cc52: 7d3b ldrb r3, [r7, #20] 802cc54: 733b strb r3, [r7, #12] f_str[1] = aa[1]; 802cc56: 7d7b ldrb r3, [r7, #21] 802cc58: 737b strb r3, [r7, #13] f_str[2] = aa[2]; 802cc5a: 7dbb ldrb r3, [r7, #22] 802cc5c: 73bb strb r3, [r7, #14] f_str[3] = '.'; 802cc5e: 232e movs r3, #46 ; 0x2e 802cc60: 73fb strb r3, [r7, #15] f_str[4] = aa[3]; 802cc62: 7dfb ldrb r3, [r7, #23] 802cc64: 743b strb r3, [r7, #16] f_str[5] = aa[4]; 802cc66: 7e3b ldrb r3, [r7, #24] 802cc68: 747b strb r3, [r7, #17] f_str[6] = aa[5]; 802cc6a: 7e7b ldrb r3, [r7, #25] 802cc6c: 74bb strb r3, [r7, #18] f_str[7] = aa[6]; 802cc6e: 7ebb ldrb r3, [r7, #26] 802cc70: 74fb strb r3, [r7, #19] 802cc72: e03d b.n 802ccf0 } else if(ak == 4) 802cc74: f897 302f ldrb.w r3, [r7, #47] ; 0x2f 802cc78: 2b04 cmp r3, #4 802cc7a: d110 bne.n 802cc9e { f_str[0] = aa[0]; 802cc7c: 7d3b ldrb r3, [r7, #20] 802cc7e: 733b strb r3, [r7, #12] f_str[1] = aa[1]; 802cc80: 7d7b ldrb r3, [r7, #21] 802cc82: 737b strb r3, [r7, #13] f_str[2] = aa[2]; 802cc84: 7dbb ldrb r3, [r7, #22] 802cc86: 73bb strb r3, [r7, #14] f_str[3] = aa[3]; 802cc88: 7dfb ldrb r3, [r7, #23] 802cc8a: 73fb strb r3, [r7, #15] f_str[4] = '.'; 802cc8c: 232e movs r3, #46 ; 0x2e 802cc8e: 743b strb r3, [r7, #16] f_str[5] = aa[4]; 802cc90: 7e3b ldrb r3, [r7, #24] 802cc92: 747b strb r3, [r7, #17] f_str[6] = aa[5]; 802cc94: 7e7b ldrb r3, [r7, #25] 802cc96: 74bb strb r3, [r7, #18] f_str[7] = aa[6]; 802cc98: 7ebb ldrb r3, [r7, #26] 802cc9a: 74fb strb r3, [r7, #19] 802cc9c: e028 b.n 802ccf0 } else if(ak == 5) 802cc9e: f897 302f ldrb.w r3, [r7, #47] ; 0x2f 802cca2: 2b05 cmp r3, #5 802cca4: d110 bne.n 802ccc8 { f_str[0] = aa[0]; 802cca6: 7d3b ldrb r3, [r7, #20] 802cca8: 733b strb r3, [r7, #12] f_str[1] = aa[1]; 802ccaa: 7d7b ldrb r3, [r7, #21] 802ccac: 737b strb r3, [r7, #13] f_str[2] = aa[2]; 802ccae: 7dbb ldrb r3, [r7, #22] 802ccb0: 73bb strb r3, [r7, #14] f_str[3] = aa[3]; 802ccb2: 7dfb ldrb r3, [r7, #23] 802ccb4: 73fb strb r3, [r7, #15] f_str[4] = aa[4]; 802ccb6: 7e3b ldrb r3, [r7, #24] 802ccb8: 743b strb r3, [r7, #16] f_str[5] = '.'; 802ccba: 232e movs r3, #46 ; 0x2e 802ccbc: 747b strb r3, [r7, #17] f_str[6] = aa[5]; 802ccbe: 7e7b ldrb r3, [r7, #25] 802ccc0: 74bb strb r3, [r7, #18] f_str[7] = aa[6]; 802ccc2: 7ebb ldrb r3, [r7, #26] 802ccc4: 74fb strb r3, [r7, #19] 802ccc6: e013 b.n 802ccf0 } else if(ak == 6) 802ccc8: f897 302f ldrb.w r3, [r7, #47] ; 0x2f 802cccc: 2b06 cmp r3, #6 802ccce: d10f bne.n 802ccf0 { f_str[0] = aa[0]; 802ccd0: 7d3b ldrb r3, [r7, #20] 802ccd2: 733b strb r3, [r7, #12] f_str[1] = aa[1]; 802ccd4: 7d7b ldrb r3, [r7, #21] 802ccd6: 737b strb r3, [r7, #13] f_str[2] = aa[2]; 802ccd8: 7dbb ldrb r3, [r7, #22] 802ccda: 73bb strb r3, [r7, #14] f_str[3] = aa[3]; 802ccdc: 7dfb ldrb r3, [r7, #23] 802ccde: 73fb strb r3, [r7, #15] f_str[4] = aa[4]; 802cce0: 7e3b ldrb r3, [r7, #24] 802cce2: 743b strb r3, [r7, #16] f_str[5] = aa[5]; 802cce4: 7e7b ldrb r3, [r7, #25] 802cce6: 747b strb r3, [r7, #17] f_str[6] = '.'; 802cce8: 232e movs r3, #46 ; 0x2e 802ccea: 74bb strb r3, [r7, #18] f_str[7] = aa[6]; 802ccec: 7ebb ldrb r3, [r7, #26] 802ccee: 74fb strb r3, [r7, #19] } } pfile = §or[4]; 802ccf0: 4b0a ldr r3, [pc, #40] ; (802cd1c ) 802ccf2: 633b str r3, [r7, #48] ; 0x30 /************************************************** * *************************************************/ for(i = 0; i < sizeof(XML_0); i++) 802ccf4: 2300 movs r3, #0 802ccf6: 623b str r3, [r7, #32] 802ccf8: e01f b.n 802cd3a 802ccfa: bf00 nop 802ccfc: 431bde83 .word 0x431bde83 802cd00: 000f4240 .word 0x000f4240 802cd04: 0a7c5ac5 .word 0x0a7c5ac5 802cd08: 000186a0 .word 0x000186a0 802cd0c: d1b71759 .word 0xd1b71759 802cd10: 10624dd3 .word 0x10624dd3 802cd14: 51eb851f .word 0x51eb851f 802cd18: cccccccd .word 0xcccccccd 802cd1c: 2007c004 .word 0x2007c004 { *pfile++ = XML_0[i]; 802cd20: 6b3b ldr r3, [r7, #48] ; 0x30 802cd22: 1c5a adds r2, r3, #1 802cd24: 633a str r2, [r7, #48] ; 0x30 802cd26: 6a3a ldr r2, [r7, #32] 802cd28: 49a9 ldr r1, [pc, #676] ; (802cfd0 ) 802cd2a: 5c8a ldrb r2, [r1, r2] 802cd2c: 701a strb r2, [r3, #0] size++; 802cd2e: 69fb ldr r3, [r7, #28] 802cd30: 3301 adds r3, #1 802cd32: 61fb str r3, [r7, #28] for(i = 0; i < sizeof(XML_0); i++) 802cd34: 6a3b ldr r3, [r7, #32] 802cd36: 3301 adds r3, #1 802cd38: 623b str r3, [r7, #32] 802cd3a: 6a3b ldr r3, [r7, #32] 802cd3c: 2b2d cmp r3, #45 ; 0x2d 802cd3e: d9ef bls.n 802cd20 } /******************************************************************* * ******************************************************************/ *pfile++ = '<'; size++; 802cd40: 6b3b ldr r3, [r7, #48] ; 0x30 802cd42: 1c5a adds r2, r3, #1 802cd44: 633a str r2, [r7, #48] ; 0x30 802cd46: 223c movs r2, #60 ; 0x3c 802cd48: 701a strb r2, [r3, #0] 802cd4a: 69fb ldr r3, [r7, #28] 802cd4c: 3301 adds r3, #1 802cd4e: 61fb str r3, [r7, #28] *pfile++ = 'g'; size++; 802cd50: 6b3b ldr r3, [r7, #48] ; 0x30 802cd52: 1c5a adds r2, r3, #1 802cd54: 633a str r2, [r7, #48] ; 0x30 802cd56: 2267 movs r2, #103 ; 0x67 802cd58: 701a strb r2, [r3, #0] 802cd5a: 69fb ldr r3, [r7, #28] 802cd5c: 3301 adds r3, #1 802cd5e: 61fb str r3, [r7, #28] *pfile++ = 't'; size++; 802cd60: 6b3b ldr r3, [r7, #48] ; 0x30 802cd62: 1c5a adds r2, r3, #1 802cd64: 633a str r2, [r7, #48] ; 0x30 802cd66: 2274 movs r2, #116 ; 0x74 802cd68: 701a strb r2, [r3, #0] 802cd6a: 69fb ldr r3, [r7, #28] 802cd6c: 3301 adds r3, #1 802cd6e: 61fb str r3, [r7, #28] *pfile++ = 'r'; size++; 802cd70: 6b3b ldr r3, [r7, #48] ; 0x30 802cd72: 1c5a adds r2, r3, #1 802cd74: 633a str r2, [r7, #48] ; 0x30 802cd76: 2272 movs r2, #114 ; 0x72 802cd78: 701a strb r2, [r3, #0] 802cd7a: 69fb ldr r3, [r7, #28] 802cd7c: 3301 adds r3, #1 802cd7e: 61fb str r3, [r7, #28] *pfile++ = '_'; size++; 802cd80: 6b3b ldr r3, [r7, #48] ; 0x30 802cd82: 1c5a adds r2, r3, #1 802cd84: 633a str r2, [r7, #48] ; 0x30 802cd86: 225f movs r2, #95 ; 0x5f 802cd88: 701a strb r2, [r3, #0] 802cd8a: 69fb ldr r3, [r7, #28] 802cd8c: 3301 adds r3, #1 802cd8e: 61fb str r3, [r7, #28] *pfile++ = 'h'; size++; 802cd90: 6b3b ldr r3, [r7, #48] ; 0x30 802cd92: 1c5a adds r2, r3, #1 802cd94: 633a str r2, [r7, #48] ; 0x30 802cd96: 2268 movs r2, #104 ; 0x68 802cd98: 701a strb r2, [r3, #0] 802cd9a: 69fb ldr r3, [r7, #28] 802cd9c: 3301 adds r3, #1 802cd9e: 61fb str r3, [r7, #28] *pfile++ = 'e'; size++; 802cda0: 6b3b ldr r3, [r7, #48] ; 0x30 802cda2: 1c5a adds r2, r3, #1 802cda4: 633a str r2, [r7, #48] ; 0x30 802cda6: 2265 movs r2, #101 ; 0x65 802cda8: 701a strb r2, [r3, #0] 802cdaa: 69fb ldr r3, [r7, #28] 802cdac: 3301 adds r3, #1 802cdae: 61fb str r3, [r7, #28] *pfile++ = 'a'; size++; 802cdb0: 6b3b ldr r3, [r7, #48] ; 0x30 802cdb2: 1c5a adds r2, r3, #1 802cdb4: 633a str r2, [r7, #48] ; 0x30 802cdb6: 2261 movs r2, #97 ; 0x61 802cdb8: 701a strb r2, [r3, #0] 802cdba: 69fb ldr r3, [r7, #28] 802cdbc: 3301 adds r3, #1 802cdbe: 61fb str r3, [r7, #28] *pfile++ = 'd'; size++; 802cdc0: 6b3b ldr r3, [r7, #48] ; 0x30 802cdc2: 1c5a adds r2, r3, #1 802cdc4: 633a str r2, [r7, #48] ; 0x30 802cdc6: 2264 movs r2, #100 ; 0x64 802cdc8: 701a strb r2, [r3, #0] 802cdca: 69fb ldr r3, [r7, #28] 802cdcc: 3301 adds r3, #1 802cdce: 61fb str r3, [r7, #28] *pfile++ = 'e'; size++; 802cdd0: 6b3b ldr r3, [r7, #48] ; 0x30 802cdd2: 1c5a adds r2, r3, #1 802cdd4: 633a str r2, [r7, #48] ; 0x30 802cdd6: 2265 movs r2, #101 ; 0x65 802cdd8: 701a strb r2, [r3, #0] 802cdda: 69fb ldr r3, [r7, #28] 802cddc: 3301 adds r3, #1 802cdde: 61fb str r3, [r7, #28] *pfile++ = 'r'; size++; 802cde0: 6b3b ldr r3, [r7, #48] ; 0x30 802cde2: 1c5a adds r2, r3, #1 802cde4: 633a str r2, [r7, #48] ; 0x30 802cde6: 2272 movs r2, #114 ; 0x72 802cde8: 701a strb r2, [r3, #0] 802cdea: 69fb ldr r3, [r7, #28] 802cdec: 3301 adds r3, #1 802cdee: 61fb str r3, [r7, #28] *pfile++ = ' '; size++; 802cdf0: 6b3b ldr r3, [r7, #48] ; 0x30 802cdf2: 1c5a adds r2, r3, #1 802cdf4: 633a str r2, [r7, #48] ; 0x30 802cdf6: 2220 movs r2, #32 802cdf8: 701a strb r2, [r3, #0] 802cdfa: 69fb ldr r3, [r7, #28] 802cdfc: 3301 adds r3, #1 802cdfe: 61fb str r3, [r7, #28] *pfile++ = 'd'; size++; 802ce00: 6b3b ldr r3, [r7, #48] ; 0x30 802ce02: 1c5a adds r2, r3, #1 802ce04: 633a str r2, [r7, #48] ; 0x30 802ce06: 2264 movs r2, #100 ; 0x64 802ce08: 701a strb r2, [r3, #0] 802ce0a: 69fb ldr r3, [r7, #28] 802ce0c: 3301 adds r3, #1 802ce0e: 61fb str r3, [r7, #28] *pfile++ = 'e'; size++; 802ce10: 6b3b ldr r3, [r7, #48] ; 0x30 802ce12: 1c5a adds r2, r3, #1 802ce14: 633a str r2, [r7, #48] ; 0x30 802ce16: 2265 movs r2, #101 ; 0x65 802ce18: 701a strb r2, [r3, #0] 802ce1a: 69fb ldr r3, [r7, #28] 802ce1c: 3301 adds r3, #1 802ce1e: 61fb str r3, [r7, #28] *pfile++ = 'v'; size++; 802ce20: 6b3b ldr r3, [r7, #48] ; 0x30 802ce22: 1c5a adds r2, r3, #1 802ce24: 633a str r2, [r7, #48] ; 0x30 802ce26: 2276 movs r2, #118 ; 0x76 802ce28: 701a strb r2, [r3, #0] 802ce2a: 69fb ldr r3, [r7, #28] 802ce2c: 3301 adds r3, #1 802ce2e: 61fb str r3, [r7, #28] *pfile++ = 'i'; size++; 802ce30: 6b3b ldr r3, [r7, #48] ; 0x30 802ce32: 1c5a adds r2, r3, #1 802ce34: 633a str r2, [r7, #48] ; 0x30 802ce36: 2269 movs r2, #105 ; 0x69 802ce38: 701a strb r2, [r3, #0] 802ce3a: 69fb ldr r3, [r7, #28] 802ce3c: 3301 adds r3, #1 802ce3e: 61fb str r3, [r7, #28] *pfile++ = 'c'; size++; 802ce40: 6b3b ldr r3, [r7, #48] ; 0x30 802ce42: 1c5a adds r2, r3, #1 802ce44: 633a str r2, [r7, #48] ; 0x30 802ce46: 2263 movs r2, #99 ; 0x63 802ce48: 701a strb r2, [r3, #0] 802ce4a: 69fb ldr r3, [r7, #28] 802ce4c: 3301 adds r3, #1 802ce4e: 61fb str r3, [r7, #28] *pfile++ = 'e'; size++; 802ce50: 6b3b ldr r3, [r7, #48] ; 0x30 802ce52: 1c5a adds r2, r3, #1 802ce54: 633a str r2, [r7, #48] ; 0x30 802ce56: 2265 movs r2, #101 ; 0x65 802ce58: 701a strb r2, [r3, #0] 802ce5a: 69fb ldr r3, [r7, #28] 802ce5c: 3301 adds r3, #1 802ce5e: 61fb str r3, [r7, #28] *pfile++ = '='; size++; 802ce60: 6b3b ldr r3, [r7, #48] ; 0x30 802ce62: 1c5a adds r2, r3, #1 802ce64: 633a str r2, [r7, #48] ; 0x30 802ce66: 223d movs r2, #61 ; 0x3d 802ce68: 701a strb r2, [r3, #0] 802ce6a: 69fb ldr r3, [r7, #28] 802ce6c: 3301 adds r3, #1 802ce6e: 61fb str r3, [r7, #28] *pfile++ = '"'; size++; 802ce70: 6b3b ldr r3, [r7, #48] ; 0x30 802ce72: 1c5a adds r2, r3, #1 802ce74: 633a str r2, [r7, #48] ; 0x30 802ce76: 2222 movs r2, #34 ; 0x22 802ce78: 701a strb r2, [r3, #0] 802ce7a: 69fb ldr r3, [r7, #28] 802ce7c: 3301 adds r3, #1 802ce7e: 61fb str r3, [r7, #28] *pfile++ = ' '; size++; 802ce80: 6b3b ldr r3, [r7, #48] ; 0x30 802ce82: 1c5a adds r2, r3, #1 802ce84: 633a str r2, [r7, #48] ; 0x30 802ce86: 2220 movs r2, #32 802ce88: 701a strb r2, [r3, #0] 802ce8a: 69fb ldr r3, [r7, #28] 802ce8c: 3301 adds r3, #1 802ce8e: 61fb str r3, [r7, #28] *pfile++ = ' '; size++; 802ce90: 6b3b ldr r3, [r7, #48] ; 0x30 802ce92: 1c5a adds r2, r3, #1 802ce94: 633a str r2, [r7, #48] ; 0x30 802ce96: 2220 movs r2, #32 802ce98: 701a strb r2, [r3, #0] 802ce9a: 69fb ldr r3, [r7, #28] 802ce9c: 3301 adds r3, #1 802ce9e: 61fb str r3, [r7, #28] *pfile++ = 'D'; size++; 802cea0: 6b3b ldr r3, [r7, #48] ; 0x30 802cea2: 1c5a adds r2, r3, #1 802cea4: 633a str r2, [r7, #48] ; 0x30 802cea6: 2244 movs r2, #68 ; 0x44 802cea8: 701a strb r2, [r3, #0] 802ceaa: 69fb ldr r3, [r7, #28] 802ceac: 3301 adds r3, #1 802ceae: 61fb str r3, [r7, #28] *pfile++ = '1'; size++; 802ceb0: 6b3b ldr r3, [r7, #48] ; 0x30 802ceb2: 1c5a adds r2, r3, #1 802ceb4: 633a str r2, [r7, #48] ; 0x30 802ceb6: 2231 movs r2, #49 ; 0x31 802ceb8: 701a strb r2, [r3, #0] 802ceba: 69fb ldr r3, [r7, #28] 802cebc: 3301 adds r3, #1 802cebe: 61fb str r3, [r7, #28] *pfile++ = '4'; size++; 802cec0: 6b3b ldr r3, [r7, #48] ; 0x30 802cec2: 1c5a adds r2, r3, #1 802cec4: 633a str r2, [r7, #48] ; 0x30 802cec6: 2234 movs r2, #52 ; 0x34 802cec8: 701a strb r2, [r3, #0] 802ceca: 69fb ldr r3, [r7, #28] 802cecc: 3301 adds r3, #1 802cece: 61fb str r3, [r7, #28] *pfile++ = '1'; size++; 802ced0: 6b3b ldr r3, [r7, #48] ; 0x30 802ced2: 1c5a adds r2, r3, #1 802ced4: 633a str r2, [r7, #48] ; 0x30 802ced6: 2231 movs r2, #49 ; 0x31 802ced8: 701a strb r2, [r3, #0] 802ceda: 69fb ldr r3, [r7, #28] 802cedc: 3301 adds r3, #1 802cede: 61fb str r3, [r7, #28] *pfile++ = '"'; size++; 802cee0: 6b3b ldr r3, [r7, #48] ; 0x30 802cee2: 1c5a adds r2, r3, #1 802cee4: 633a str r2, [r7, #48] ; 0x30 802cee6: 2222 movs r2, #34 ; 0x22 802cee8: 701a strb r2, [r3, #0] 802ceea: 69fb ldr r3, [r7, #28] 802ceec: 3301 adds r3, #1 802ceee: 61fb str r3, [r7, #28] *pfile++ = ' '; size++; 802cef0: 6b3b ldr r3, [r7, #48] ; 0x30 802cef2: 1c5a adds r2, r3, #1 802cef4: 633a str r2, [r7, #48] ; 0x30 802cef6: 2220 movs r2, #32 802cef8: 701a strb r2, [r3, #0] 802cefa: 69fb ldr r3, [r7, #28] 802cefc: 3301 adds r3, #1 802cefe: 61fb str r3, [r7, #28] *pfile++ = 'r'; size++; 802cf00: 6b3b ldr r3, [r7, #48] ; 0x30 802cf02: 1c5a adds r2, r3, #1 802cf04: 633a str r2, [r7, #48] ; 0x30 802cf06: 2272 movs r2, #114 ; 0x72 802cf08: 701a strb r2, [r3, #0] 802cf0a: 69fb ldr r3, [r7, #28] 802cf0c: 3301 adds r3, #1 802cf0e: 61fb str r3, [r7, #28] *pfile++ = 'a'; size++; 802cf10: 6b3b ldr r3, [r7, #48] ; 0x30 802cf12: 1c5a adds r2, r3, #1 802cf14: 633a str r2, [r7, #48] ; 0x30 802cf16: 2261 movs r2, #97 ; 0x61 802cf18: 701a strb r2, [r3, #0] 802cf1a: 69fb ldr r3, [r7, #28] 802cf1c: 3301 adds r3, #1 802cf1e: 61fb str r3, [r7, #28] *pfile++ = 't'; size++; 802cf20: 6b3b ldr r3, [r7, #48] ; 0x30 802cf22: 1c5a adds r2, r3, #1 802cf24: 633a str r2, [r7, #48] ; 0x30 802cf26: 2274 movs r2, #116 ; 0x74 802cf28: 701a strb r2, [r3, #0] 802cf2a: 69fb ldr r3, [r7, #28] 802cf2c: 3301 adds r3, #1 802cf2e: 61fb str r3, [r7, #28] *pfile++ = 'e'; size++; 802cf30: 6b3b ldr r3, [r7, #48] ; 0x30 802cf32: 1c5a adds r2, r3, #1 802cf34: 633a str r2, [r7, #48] ; 0x30 802cf36: 2265 movs r2, #101 ; 0x65 802cf38: 701a strb r2, [r3, #0] 802cf3a: 69fb ldr r3, [r7, #28] 802cf3c: 3301 adds r3, #1 802cf3e: 61fb str r3, [r7, #28] *pfile++ = '='; size++; 802cf40: 6b3b ldr r3, [r7, #48] ; 0x30 802cf42: 1c5a adds r2, r3, #1 802cf44: 633a str r2, [r7, #48] ; 0x30 802cf46: 223d movs r2, #61 ; 0x3d 802cf48: 701a strb r2, [r3, #0] 802cf4a: 69fb ldr r3, [r7, #28] 802cf4c: 3301 adds r3, #1 802cf4e: 61fb str r3, [r7, #28] *pfile++ = '"'; size++; 802cf50: 6b3b ldr r3, [r7, #48] ; 0x30 802cf52: 1c5a adds r2, r3, #1 802cf54: 633a str r2, [r7, #48] ; 0x30 802cf56: 2222 movs r2, #34 ; 0x22 802cf58: 701a strb r2, [r3, #0] 802cf5a: 69fb ldr r3, [r7, #28] 802cf5c: 3301 adds r3, #1 802cf5e: 61fb str r3, [r7, #28] j = FS[pardata.FRQ]; 802cf60: 4b1c ldr r3, [pc, #112] ; (802cfd4 ) 802cf62: 7adb ldrb r3, [r3, #11] 802cf64: b2db uxtb r3, r3 802cf66: 461a mov r2, r3 802cf68: 4b1b ldr r3, [pc, #108] ; (802cfd8 ) 802cf6a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 802cf6e: 627b str r3, [r7, #36] ; 0x24 *pfile++ = (uint8_t) ((j / 10000) + 48); size++; 802cf70: 6b3b ldr r3, [r7, #48] ; 0x30 802cf72: 1c5a adds r2, r3, #1 802cf74: 633a str r2, [r7, #48] ; 0x30 802cf76: 6a7a ldr r2, [r7, #36] ; 0x24 802cf78: 4918 ldr r1, [pc, #96] ; (802cfdc ) 802cf7a: fba1 1202 umull r1, r2, r1, r2 802cf7e: 0b52 lsrs r2, r2, #13 802cf80: b2d2 uxtb r2, r2 802cf82: 3230 adds r2, #48 ; 0x30 802cf84: b2d2 uxtb r2, r2 802cf86: 701a strb r2, [r3, #0] 802cf88: 69fb ldr r3, [r7, #28] 802cf8a: 3301 adds r3, #1 802cf8c: 61fb str r3, [r7, #28] *pfile++ = (uint8_t) (((j % 10000) / 1000) + 48); size++; 802cf8e: 6b3a ldr r2, [r7, #48] ; 0x30 802cf90: 1c53 adds r3, r2, #1 802cf92: 633b str r3, [r7, #48] ; 0x30 802cf94: 6a79 ldr r1, [r7, #36] ; 0x24 802cf96: 4b11 ldr r3, [pc, #68] ; (802cfdc ) 802cf98: fba3 0301 umull r0, r3, r3, r1 802cf9c: 0b5b lsrs r3, r3, #13 802cf9e: f242 7010 movw r0, #10000 ; 0x2710 802cfa2: fb00 f303 mul.w r3, r0, r3 802cfa6: 1acb subs r3, r1, r3 802cfa8: 490d ldr r1, [pc, #52] ; (802cfe0 ) 802cfaa: fba1 1303 umull r1, r3, r1, r3 802cfae: 099b lsrs r3, r3, #6 802cfb0: b2db uxtb r3, r3 802cfb2: 3330 adds r3, #48 ; 0x30 802cfb4: b2db uxtb r3, r3 802cfb6: 7013 strb r3, [r2, #0] 802cfb8: 69fb ldr r3, [r7, #28] 802cfba: 3301 adds r3, #1 802cfbc: 61fb str r3, [r7, #28] *pfile++ = (uint8_t) ((((j % 10000) % 1000) / 100) + 48); size++; 802cfbe: 6b39 ldr r1, [r7, #48] ; 0x30 802cfc0: 1c4b adds r3, r1, #1 802cfc2: 633b str r3, [r7, #48] ; 0x30 802cfc4: 6a7a ldr r2, [r7, #36] ; 0x24 802cfc6: 4b05 ldr r3, [pc, #20] ; (802cfdc ) 802cfc8: fba3 0302 umull r0, r3, r3, r2 802cfcc: 0b5b lsrs r3, r3, #13 802cfce: e009 b.n 802cfe4 802cfd0: 080d0f54 .word 0x080d0f54 802cfd4: 20023e60 .word 0x20023e60 802cfd8: 080d0db4 .word 0x080d0db4 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: 080d0f84 .word 0x080d0f84 802d28c: 6a3b ldr r3, [r7, #32] 802d28e: 2b2a cmp r3, #42 ; 0x2a 802d290: d9ec bls.n 802d26c } *pfile++ = '<'; size++; 802d292: 6b3b ldr r3, [r7, #48] ; 0x30 802d294: 1c5a adds r2, r3, #1 802d296: 633a str r2, [r7, #48] ; 0x30 802d298: 223c movs r2, #60 ; 0x3c 802d29a: 701a strb r2, [r3, #0] 802d29c: 69fb ldr r3, [r7, #28] 802d29e: 3301 adds r3, #1 802d2a0: 61fb str r3, [r7, #28] *pfile++ = 'i'; size++; 802d2a2: 6b3b ldr r3, [r7, #48] ; 0x30 802d2a4: 1c5a adds r2, r3, #1 802d2a6: 633a str r2, [r7, #48] ; 0x30 802d2a8: 2269 movs r2, #105 ; 0x69 802d2aa: 701a strb r2, [r3, #0] 802d2ac: 69fb ldr r3, [r7, #28] 802d2ae: 3301 adds r3, #1 802d2b0: 61fb str r3, [r7, #28] *pfile++ = 'n'; size++; 802d2b2: 6b3b ldr r3, [r7, #48] ; 0x30 802d2b4: 1c5a adds r2, r3, #1 802d2b6: 633a str r2, [r7, #48] ; 0x30 802d2b8: 226e movs r2, #110 ; 0x6e 802d2ba: 701a strb r2, [r3, #0] 802d2bc: 69fb ldr r3, [r7, #28] 802d2be: 3301 adds r3, #1 802d2c0: 61fb str r3, [r7, #28] *pfile++ = 'p'; size++; 802d2c2: 6b3b ldr r3, [r7, #48] ; 0x30 802d2c4: 1c5a adds r2, r3, #1 802d2c6: 633a str r2, [r7, #48] ; 0x30 802d2c8: 2270 movs r2, #112 ; 0x70 802d2ca: 701a strb r2, [r3, #0] 802d2cc: 69fb ldr r3, [r7, #28] 802d2ce: 3301 adds r3, #1 802d2d0: 61fb str r3, [r7, #28] *pfile++ = 'u'; size++; 802d2d2: 6b3b ldr r3, [r7, #48] ; 0x30 802d2d4: 1c5a adds r2, r3, #1 802d2d6: 633a str r2, [r7, #48] ; 0x30 802d2d8: 2275 movs r2, #117 ; 0x75 802d2da: 701a strb r2, [r3, #0] 802d2dc: 69fb ldr r3, [r7, #28] 802d2de: 3301 adds r3, #1 802d2e0: 61fb str r3, [r7, #28] *pfile++ = 't'; size++; 802d2e2: 6b3b ldr r3, [r7, #48] ; 0x30 802d2e4: 1c5a adds r2, r3, #1 802d2e6: 633a str r2, [r7, #48] ; 0x30 802d2e8: 2274 movs r2, #116 ; 0x74 802d2ea: 701a strb r2, [r3, #0] 802d2ec: 69fb ldr r3, [r7, #28] 802d2ee: 3301 adds r3, #1 802d2f0: 61fb str r3, [r7, #28] *pfile++ = ' '; size++; 802d2f2: 6b3b ldr r3, [r7, #48] ; 0x30 802d2f4: 1c5a adds r2, r3, #1 802d2f6: 633a str r2, [r7, #48] ; 0x30 802d2f8: 2220 movs r2, #32 802d2fa: 701a strb r2, [r3, #0] 802d2fc: 69fb ldr r3, [r7, #28] 802d2fe: 3301 adds r3, #1 802d300: 61fb str r3, [r7, #28] /********************************************************************************************************************************************************* * *********************************************************************************************************************************************************/ *pfile++ = 's'; size++; 802d302: 6b3b ldr r3, [r7, #48] ; 0x30 802d304: 1c5a adds r2, r3, #1 802d306: 633a str r2, [r7, #48] ; 0x30 802d308: 2273 movs r2, #115 ; 0x73 802d30a: 701a strb r2, [r3, #0] 802d30c: 69fb ldr r3, [r7, #28] 802d30e: 3301 adds r3, #1 802d310: 61fb str r3, [r7, #28] *pfile++ = 'e'; size++; 802d312: 6b3b ldr r3, [r7, #48] ; 0x30 802d314: 1c5a adds r2, r3, #1 802d316: 633a str r2, [r7, #48] ; 0x30 802d318: 2265 movs r2, #101 ; 0x65 802d31a: 701a strb r2, [r3, #0] 802d31c: 69fb ldr r3, [r7, #28] 802d31e: 3301 adds r3, #1 802d320: 61fb str r3, [r7, #28] *pfile++ = 'n'; size++; 802d322: 6b3b ldr r3, [r7, #48] ; 0x30 802d324: 1c5a adds r2, r3, #1 802d326: 633a str r2, [r7, #48] ; 0x30 802d328: 226e movs r2, #110 ; 0x6e 802d32a: 701a strb r2, [r3, #0] 802d32c: 69fb ldr r3, [r7, #28] 802d32e: 3301 adds r3, #1 802d330: 61fb str r3, [r7, #28] *pfile++ = 's'; size++; 802d332: 6b3b ldr r3, [r7, #48] ; 0x30 802d334: 1c5a adds r2, r3, #1 802d336: 633a str r2, [r7, #48] ; 0x30 802d338: 2273 movs r2, #115 ; 0x73 802d33a: 701a strb r2, [r3, #0] 802d33c: 69fb ldr r3, [r7, #28] 802d33e: 3301 adds r3, #1 802d340: 61fb str r3, [r7, #28] *pfile++ = 'i'; size++; 802d342: 6b3b ldr r3, [r7, #48] ; 0x30 802d344: 1c5a adds r2, r3, #1 802d346: 633a str r2, [r7, #48] ; 0x30 802d348: 2269 movs r2, #105 ; 0x69 802d34a: 701a strb r2, [r3, #0] 802d34c: 69fb ldr r3, [r7, #28] 802d34e: 3301 adds r3, #1 802d350: 61fb str r3, [r7, #28] *pfile++ = 't'; size++; 802d352: 6b3b ldr r3, [r7, #48] ; 0x30 802d354: 1c5a adds r2, r3, #1 802d356: 633a str r2, [r7, #48] ; 0x30 802d358: 2274 movs r2, #116 ; 0x74 802d35a: 701a strb r2, [r3, #0] 802d35c: 69fb ldr r3, [r7, #28] 802d35e: 3301 adds r3, #1 802d360: 61fb str r3, [r7, #28] *pfile++ = 'i'; size++; 802d362: 6b3b ldr r3, [r7, #48] ; 0x30 802d364: 1c5a adds r2, r3, #1 802d366: 633a str r2, [r7, #48] ; 0x30 802d368: 2269 movs r2, #105 ; 0x69 802d36a: 701a strb r2, [r3, #0] 802d36c: 69fb ldr r3, [r7, #28] 802d36e: 3301 adds r3, #1 802d370: 61fb str r3, [r7, #28] *pfile++ = 'v'; size++; 802d372: 6b3b ldr r3, [r7, #48] ; 0x30 802d374: 1c5a adds r2, r3, #1 802d376: 633a str r2, [r7, #48] ; 0x30 802d378: 2276 movs r2, #118 ; 0x76 802d37a: 701a strb r2, [r3, #0] 802d37c: 69fb ldr r3, [r7, #28] 802d37e: 3301 adds r3, #1 802d380: 61fb str r3, [r7, #28] *pfile++ = 'i'; size++; 802d382: 6b3b ldr r3, [r7, #48] ; 0x30 802d384: 1c5a adds r2, r3, #1 802d386: 633a str r2, [r7, #48] ; 0x30 802d388: 2269 movs r2, #105 ; 0x69 802d38a: 701a strb r2, [r3, #0] 802d38c: 69fb ldr r3, [r7, #28] 802d38e: 3301 adds r3, #1 802d390: 61fb str r3, [r7, #28] *pfile++ = 't'; size++; 802d392: 6b3b ldr r3, [r7, #48] ; 0x30 802d394: 1c5a adds r2, r3, #1 802d396: 633a str r2, [r7, #48] ; 0x30 802d398: 2274 movs r2, #116 ; 0x74 802d39a: 701a strb r2, [r3, #0] 802d39c: 69fb ldr r3, [r7, #28] 802d39e: 3301 adds r3, #1 802d3a0: 61fb str r3, [r7, #28] *pfile++ = 'y'; size++; 802d3a2: 6b3b ldr r3, [r7, #48] ; 0x30 802d3a4: 1c5a adds r2, r3, #1 802d3a6: 633a str r2, [r7, #48] ; 0x30 802d3a8: 2279 movs r2, #121 ; 0x79 802d3aa: 701a strb r2, [r3, #0] 802d3ac: 69fb ldr r3, [r7, #28] 802d3ae: 3301 adds r3, #1 802d3b0: 61fb str r3, [r7, #28] *pfile++ = '='; size++; 802d3b2: 6b3b ldr r3, [r7, #48] ; 0x30 802d3b4: 1c5a adds r2, r3, #1 802d3b6: 633a str r2, [r7, #48] ; 0x30 802d3b8: 223d movs r2, #61 ; 0x3d 802d3ba: 701a strb r2, [r3, #0] 802d3bc: 69fb ldr r3, [r7, #28] 802d3be: 3301 adds r3, #1 802d3c0: 61fb str r3, [r7, #28] *pfile++ = '"'; size++; 802d3c2: 6b3b ldr r3, [r7, #48] ; 0x30 802d3c4: 1c5a adds r2, r3, #1 802d3c6: 633a str r2, [r7, #48] ; 0x30 802d3c8: 2222 movs r2, #34 ; 0x22 802d3ca: 701a strb r2, [r3, #0] 802d3cc: 69fb ldr r3, [r7, #28] 802d3ce: 3301 adds r3, #1 802d3d0: 61fb str r3, [r7, #28] *pfile++ = '0'; size++; 802d3d2: 6b3b ldr r3, [r7, #48] ; 0x30 802d3d4: 1c5a adds r2, r3, #1 802d3d6: 633a str r2, [r7, #48] ; 0x30 802d3d8: 2230 movs r2, #48 ; 0x30 802d3da: 701a strb r2, [r3, #0] 802d3dc: 69fb ldr r3, [r7, #28] 802d3de: 3301 adds r3, #1 802d3e0: 61fb str r3, [r7, #28] *pfile++ = '.'; size++; 802d3e2: 6b3b ldr r3, [r7, #48] ; 0x30 802d3e4: 1c5a adds r2, r3, #1 802d3e6: 633a str r2, [r7, #48] ; 0x30 802d3e8: 222e movs r2, #46 ; 0x2e 802d3ea: 701a strb r2, [r3, #0] 802d3ec: 69fb ldr r3, [r7, #28] 802d3ee: 3301 adds r3, #1 802d3f0: 61fb str r3, [r7, #28] *pfile++ = ies + 48; size++; 802d3f2: 6b3b ldr r3, [r7, #48] ; 0x30 802d3f4: 1c5a adds r2, r3, #1 802d3f6: 633a str r2, [r7, #48] ; 0x30 802d3f8: f897 202d ldrb.w r2, [r7, #45] ; 0x2d 802d3fc: 3230 adds r2, #48 ; 0x30 802d3fe: b2d2 uxtb r2, r2 802d400: 701a strb r2, [r3, #0] 802d402: 69fb ldr r3, [r7, #28] 802d404: 3301 adds r3, #1 802d406: 61fb str r3, [r7, #28] *pfile++ = ied + 48; size++; 802d408: 6b3b ldr r3, [r7, #48] ; 0x30 802d40a: 1c5a adds r2, r3, #1 802d40c: 633a str r2, [r7, #48] ; 0x30 802d40e: f897 202c ldrb.w r2, [r7, #44] ; 0x2c 802d412: 3230 adds r2, #48 ; 0x30 802d414: b2d2 uxtb r2, r2 802d416: 701a strb r2, [r3, #0] 802d418: 69fb ldr r3, [r7, #28] 802d41a: 3301 adds r3, #1 802d41c: 61fb str r3, [r7, #28] *pfile++ = iee + 48; size++; 802d41e: 6b3b ldr r3, [r7, #48] ; 0x30 802d420: 1c5a adds r2, r3, #1 802d422: 633a str r2, [r7, #48] ; 0x30 802d424: f897 202b ldrb.w r2, [r7, #43] ; 0x2b 802d428: 3230 adds r2, #48 ; 0x30 802d42a: b2d2 uxtb r2, r2 802d42c: 701a strb r2, [r3, #0] 802d42e: 69fb ldr r3, [r7, #28] 802d430: 3301 adds r3, #1 802d432: 61fb str r3, [r7, #28] *pfile++ = ikd + 48; size++; 802d434: 6b3b ldr r3, [r7, #48] ; 0x30 802d436: 1c5a adds r2, r3, #1 802d438: 633a str r2, [r7, #48] ; 0x30 802d43a: f897 202a ldrb.w r2, [r7, #42] ; 0x2a 802d43e: 3230 adds r2, #48 ; 0x30 802d440: b2d2 uxtb r2, r2 802d442: 701a strb r2, [r3, #0] 802d444: 69fb ldr r3, [r7, #28] 802d446: 3301 adds r3, #1 802d448: 61fb str r3, [r7, #28] *pfile++ = iks + 48; size++; 802d44a: 6b3b ldr r3, [r7, #48] ; 0x30 802d44c: 1c5a adds r2, r3, #1 802d44e: 633a str r2, [r7, #48] ; 0x30 802d450: f897 2029 ldrb.w r2, [r7, #41] ; 0x29 802d454: 3230 adds r2, #48 ; 0x30 802d456: b2d2 uxtb r2, r2 802d458: 701a strb r2, [r3, #0] 802d45a: 69fb ldr r3, [r7, #28] 802d45c: 3301 adds r3, #1 802d45e: 61fb str r3, [r7, #28] *pfile++ = ikt + 48; size++; 802d460: 6b3b ldr r3, [r7, #48] ; 0x30 802d462: 1c5a adds r2, r3, #1 802d464: 633a str r2, [r7, #48] ; 0x30 802d466: f897 2028 ldrb.w r2, [r7, #40] ; 0x28 802d46a: 3230 adds r2, #48 ; 0x30 802d46c: b2d2 uxtb r2, r2 802d46e: 701a strb r2, [r3, #0] 802d470: 69fb ldr r3, [r7, #28] 802d472: 3301 adds r3, #1 802d474: 61fb str r3, [r7, #28] *pfile++ = '"'; size++; 802d476: 6b3b ldr r3, [r7, #48] ; 0x30 802d478: 1c5a adds r2, r3, #1 802d47a: 633a str r2, [r7, #48] ; 0x30 802d47c: 2222 movs r2, #34 ; 0x22 802d47e: 701a strb r2, [r3, #0] 802d480: 69fb ldr r3, [r7, #28] 802d482: 3301 adds r3, #1 802d484: 61fb str r3, [r7, #28] *pfile++ = ' '; size++; 802d486: 6b3b ldr r3, [r7, #48] ; 0x30 802d488: 1c5a adds r2, r3, #1 802d48a: 633a str r2, [r7, #48] ; 0x30 802d48c: 2220 movs r2, #32 802d48e: 701a strb r2, [r3, #0] 802d490: 69fb ldr r3, [r7, #28] 802d492: 3301 adds r3, #1 802d494: 61fb str r3, [r7, #28] *pfile++ = 'n'; size++; 802d496: 6b3b ldr r3, [r7, #48] ; 0x30 802d498: 1c5a adds r2, r3, #1 802d49a: 633a str r2, [r7, #48] ; 0x30 802d49c: 226e movs r2, #110 ; 0x6e 802d49e: 701a strb r2, [r3, #0] 802d4a0: 69fb ldr r3, [r7, #28] 802d4a2: 3301 adds r3, #1 802d4a4: 61fb str r3, [r7, #28] *pfile++ = 'a'; size++; 802d4a6: 6b3b ldr r3, [r7, #48] ; 0x30 802d4a8: 1c5a adds r2, r3, #1 802d4aa: 633a str r2, [r7, #48] ; 0x30 802d4ac: 2261 movs r2, #97 ; 0x61 802d4ae: 701a strb r2, [r3, #0] 802d4b0: 69fb ldr r3, [r7, #28] 802d4b2: 3301 adds r3, #1 802d4b4: 61fb str r3, [r7, #28] *pfile++ = 'm'; size++; 802d4b6: 6b3b ldr r3, [r7, #48] ; 0x30 802d4b8: 1c5a adds r2, r3, #1 802d4ba: 633a str r2, [r7, #48] ; 0x30 802d4bc: 226d movs r2, #109 ; 0x6d 802d4be: 701a strb r2, [r3, #0] 802d4c0: 69fb ldr r3, [r7, #28] 802d4c2: 3301 adds r3, #1 802d4c4: 61fb str r3, [r7, #28] *pfile++ = 'e'; size++; 802d4c6: 6b3b ldr r3, [r7, #48] ; 0x30 802d4c8: 1c5a adds r2, r3, #1 802d4ca: 633a str r2, [r7, #48] ; 0x30 802d4cc: 2265 movs r2, #101 ; 0x65 802d4ce: 701a strb r2, [r3, #0] 802d4d0: 69fb ldr r3, [r7, #28] 802d4d2: 3301 adds r3, #1 802d4d4: 61fb str r3, [r7, #28] *pfile++ = '='; size++; 802d4d6: 6b3b ldr r3, [r7, #48] ; 0x30 802d4d8: 1c5a adds r2, r3, #1 802d4da: 633a str r2, [r7, #48] ; 0x30 802d4dc: 223d movs r2, #61 ; 0x3d 802d4de: 701a strb r2, [r3, #0] 802d4e0: 69fb ldr r3, [r7, #28] 802d4e2: 3301 adds r3, #1 802d4e4: 61fb str r3, [r7, #28] *pfile++ = '"'; size++; 802d4e6: 6b3b ldr r3, [r7, #48] ; 0x30 802d4e8: 1c5a adds r2, r3, #1 802d4ea: 633a str r2, [r7, #48] ; 0x30 802d4ec: 2222 movs r2, #34 ; 0x22 802d4ee: 701a strb r2, [r3, #0] 802d4f0: 69fb ldr r3, [r7, #28] 802d4f2: 3301 adds r3, #1 802d4f4: 61fb str r3, [r7, #28] *pfile++ = 'â'; size++; 802d4f6: 6b3b ldr r3, [r7, #48] ; 0x30 802d4f8: 1c5a adds r2, r3, #1 802d4fa: 633a str r2, [r7, #48] ; 0x30 802d4fc: 22e2 movs r2, #226 ; 0xe2 802d4fe: 701a strb r2, [r3, #0] 802d500: 69fb ldr r3, [r7, #28] 802d502: 3301 adds r3, #1 802d504: 61fb str r3, [r7, #28] *pfile++ = 'õ'; size++; 802d506: 6b3b ldr r3, [r7, #48] ; 0x30 802d508: 1c5a adds r2, r3, #1 802d50a: 633a str r2, [r7, #48] ; 0x30 802d50c: 22f5 movs r2, #245 ; 0xf5 802d50e: 701a strb r2, [r3, #0] 802d510: 69fb ldr r3, [r7, #28] 802d512: 3301 adds r3, #1 802d514: 61fb str r3, [r7, #28] *pfile++ = 'î'; size++; 802d516: 6b3b ldr r3, [r7, #48] ; 0x30 802d518: 1c5a adds r2, r3, #1 802d51a: 633a str r2, [r7, #48] ; 0x30 802d51c: 22ee movs r2, #238 ; 0xee 802d51e: 701a strb r2, [r3, #0] 802d520: 69fb ldr r3, [r7, #28] 802d522: 3301 adds r3, #1 802d524: 61fb str r3, [r7, #28] *pfile++ = 'ä'; size++; 802d526: 6b3b ldr r3, [r7, #48] ; 0x30 802d528: 1c5a adds r2, r3, #1 802d52a: 633a str r2, [r7, #48] ; 0x30 802d52c: 22e4 movs r2, #228 ; 0xe4 802d52e: 701a strb r2, [r3, #0] 802d530: 69fb ldr r3, [r7, #28] 802d532: 3301 adds r3, #1 802d534: 61fb str r3, [r7, #28] *pfile++ = ' '; size++; 802d536: 6b3b ldr r3, [r7, #48] ; 0x30 802d538: 1c5a adds r2, r3, #1 802d53a: 633a str r2, [r7, #48] ; 0x30 802d53c: 2220 movs r2, #32 802d53e: 701a strb r2, [r3, #0] 802d540: 69fb ldr r3, [r7, #28] 802d542: 3301 adds r3, #1 802d544: 61fb str r3, [r7, #28] *pfile++ = '0'; size++; 802d546: 6b3b ldr r3, [r7, #48] ; 0x30 802d548: 1c5a adds r2, r3, #1 802d54a: 633a str r2, [r7, #48] ; 0x30 802d54c: 2230 movs r2, #48 ; 0x30 802d54e: 701a strb r2, [r3, #0] 802d550: 69fb ldr r3, [r7, #28] 802d552: 3301 adds r3, #1 802d554: 61fb str r3, [r7, #28] *pfile++ = '"'; size++; 802d556: 6b3b ldr r3, [r7, #48] ; 0x30 802d558: 1c5a adds r2, r3, #1 802d55a: 633a str r2, [r7, #48] ; 0x30 802d55c: 2222 movs r2, #34 ; 0x22 802d55e: 701a strb r2, [r3, #0] 802d560: 69fb ldr r3, [r7, #28] 802d562: 3301 adds r3, #1 802d564: 61fb str r3, [r7, #28] *pfile++ = ' '; size++; 802d566: 6b3b ldr r3, [r7, #48] ; 0x30 802d568: 1c5a adds r2, r3, #1 802d56a: 633a str r2, [r7, #48] ; 0x30 802d56c: 2220 movs r2, #32 802d56e: 701a strb r2, [r3, #0] 802d570: 69fb ldr r3, [r7, #28] 802d572: 3301 adds r3, #1 802d574: 61fb str r3, [r7, #28] *pfile++ = 'c'; size++; 802d576: 6b3b ldr r3, [r7, #48] ; 0x30 802d578: 1c5a adds r2, r3, #1 802d57a: 633a str r2, [r7, #48] ; 0x30 802d57c: 2263 movs r2, #99 ; 0x63 802d57e: 701a strb r2, [r3, #0] 802d580: 69fb ldr r3, [r7, #28] 802d582: 3301 adds r3, #1 802d584: 61fb str r3, [r7, #28] *pfile++ = 'o'; size++; 802d586: 6b3b ldr r3, [r7, #48] ; 0x30 802d588: 1c5a adds r2, r3, #1 802d58a: 633a str r2, [r7, #48] ; 0x30 802d58c: 226f movs r2, #111 ; 0x6f 802d58e: 701a strb r2, [r3, #0] 802d590: 69fb ldr r3, [r7, #28] 802d592: 3301 adds r3, #1 802d594: 61fb str r3, [r7, #28] *pfile++ = 'l'; size++; 802d596: 6b3b ldr r3, [r7, #48] ; 0x30 802d598: 1c5a adds r2, r3, #1 802d59a: 633a str r2, [r7, #48] ; 0x30 802d59c: 226c movs r2, #108 ; 0x6c 802d59e: 701a strb r2, [r3, #0] 802d5a0: 69fb ldr r3, [r7, #28] 802d5a2: 3301 adds r3, #1 802d5a4: 61fb str r3, [r7, #28] *pfile++ = 'o'; size++; 802d5a6: 6b3b ldr r3, [r7, #48] ; 0x30 802d5a8: 1c5a adds r2, r3, #1 802d5aa: 633a str r2, [r7, #48] ; 0x30 802d5ac: 226f movs r2, #111 ; 0x6f 802d5ae: 701a strb r2, [r3, #0] 802d5b0: 69fb ldr r3, [r7, #28] 802d5b2: 3301 adds r3, #1 802d5b4: 61fb str r3, [r7, #28] *pfile++ = 'r'; size++; 802d5b6: 6b3b ldr r3, [r7, #48] ; 0x30 802d5b8: 1c5a adds r2, r3, #1 802d5ba: 633a str r2, [r7, #48] ; 0x30 802d5bc: 2272 movs r2, #114 ; 0x72 802d5be: 701a strb r2, [r3, #0] 802d5c0: 69fb ldr r3, [r7, #28] 802d5c2: 3301 adds r3, #1 802d5c4: 61fb str r3, [r7, #28] *pfile++ = '='; size++; 802d5c6: 6b3b ldr r3, [r7, #48] ; 0x30 802d5c8: 1c5a adds r2, r3, #1 802d5ca: 633a str r2, [r7, #48] ; 0x30 802d5cc: 223d movs r2, #61 ; 0x3d 802d5ce: 701a strb r2, [r3, #0] 802d5d0: 69fb ldr r3, [r7, #28] 802d5d2: 3301 adds r3, #1 802d5d4: 61fb str r3, [r7, #28] *pfile++ = '"'; size++; 802d5d6: 6b3b ldr r3, [r7, #48] ; 0x30 802d5d8: 1c5a adds r2, r3, #1 802d5da: 633a str r2, [r7, #48] ; 0x30 802d5dc: 2222 movs r2, #34 ; 0x22 802d5de: 701a strb r2, [r3, #0] 802d5e0: 69fb ldr r3, [r7, #28] 802d5e2: 3301 adds r3, #1 802d5e4: 61fb str r3, [r7, #28] *pfile++ = '4'; size++; 802d5e6: 6b3b ldr r3, [r7, #48] ; 0x30 802d5e8: 1c5a adds r2, r3, #1 802d5ea: 633a str r2, [r7, #48] ; 0x30 802d5ec: 2234 movs r2, #52 ; 0x34 802d5ee: 701a strb r2, [r3, #0] 802d5f0: 69fb ldr r3, [r7, #28] 802d5f2: 3301 adds r3, #1 802d5f4: 61fb str r3, [r7, #28] *pfile++ = '2'; size++; 802d5f6: 6b3b ldr r3, [r7, #48] ; 0x30 802d5f8: 1c5a adds r2, r3, #1 802d5fa: 633a str r2, [r7, #48] ; 0x30 802d5fc: 2232 movs r2, #50 ; 0x32 802d5fe: 701a strb r2, [r3, #0] 802d600: 69fb ldr r3, [r7, #28] 802d602: 3301 adds r3, #1 802d604: 61fb str r3, [r7, #28] *pfile++ = '7'; size++; 802d606: 6b3b ldr r3, [r7, #48] ; 0x30 802d608: 1c5a adds r2, r3, #1 802d60a: 633a str r2, [r7, #48] ; 0x30 802d60c: 2237 movs r2, #55 ; 0x37 802d60e: 701a strb r2, [r3, #0] 802d610: 69fb ldr r3, [r7, #28] 802d612: 3301 adds r3, #1 802d614: 61fb str r3, [r7, #28] *pfile++ = '8'; size++; 802d616: 6b3b ldr r3, [r7, #48] ; 0x30 802d618: 1c5a adds r2, r3, #1 802d61a: 633a str r2, [r7, #48] ; 0x30 802d61c: 2238 movs r2, #56 ; 0x38 802d61e: 701a strb r2, [r3, #0] 802d620: 69fb ldr r3, [r7, #28] 802d622: 3301 adds r3, #1 802d624: 61fb str r3, [r7, #28] *pfile++ = '2'; size++; 802d626: 6b3b ldr r3, [r7, #48] ; 0x30 802d628: 1c5a adds r2, r3, #1 802d62a: 633a str r2, [r7, #48] ; 0x30 802d62c: 2232 movs r2, #50 ; 0x32 802d62e: 701a strb r2, [r3, #0] 802d630: 69fb ldr r3, [r7, #28] 802d632: 3301 adds r3, #1 802d634: 61fb str r3, [r7, #28] *pfile++ = '5'; size++; 802d636: 6b3b ldr r3, [r7, #48] ; 0x30 802d638: 1c5a adds r2, r3, #1 802d63a: 633a str r2, [r7, #48] ; 0x30 802d63c: 2235 movs r2, #53 ; 0x35 802d63e: 701a strb r2, [r3, #0] 802d640: 69fb ldr r3, [r7, #28] 802d642: 3301 adds r3, #1 802d644: 61fb str r3, [r7, #28] *pfile++ = '5'; size++; 802d646: 6b3b ldr r3, [r7, #48] ; 0x30 802d648: 1c5a adds r2, r3, #1 802d64a: 633a str r2, [r7, #48] ; 0x30 802d64c: 2235 movs r2, #53 ; 0x35 802d64e: 701a strb r2, [r3, #0] 802d650: 69fb ldr r3, [r7, #28] 802d652: 3301 adds r3, #1 802d654: 61fb str r3, [r7, #28] *pfile++ = '3'; size++; 802d656: 6b3b ldr r3, [r7, #48] ; 0x30 802d658: 1c5a adds r2, r3, #1 802d65a: 633a str r2, [r7, #48] ; 0x30 802d65c: 2233 movs r2, #51 ; 0x33 802d65e: 701a strb r2, [r3, #0] 802d660: 69fb ldr r3, [r7, #28] 802d662: 3301 adds r3, #1 802d664: 61fb str r3, [r7, #28] *pfile++ = '6'; size++; 802d666: 6b3b ldr r3, [r7, #48] ; 0x30 802d668: 1c5a adds r2, r3, #1 802d66a: 633a str r2, [r7, #48] ; 0x30 802d66c: 2236 movs r2, #54 ; 0x36 802d66e: 701a strb r2, [r3, #0] 802d670: 69fb ldr r3, [r7, #28] 802d672: 3301 adds r3, #1 802d674: 61fb str r3, [r7, #28] *pfile++ = '0'; size++; 802d676: 6b3b ldr r3, [r7, #48] ; 0x30 802d678: 1c5a adds r2, r3, #1 802d67a: 633a str r2, [r7, #48] ; 0x30 802d67c: 2230 movs r2, #48 ; 0x30 802d67e: 701a strb r2, [r3, #0] 802d680: 69fb ldr r3, [r7, #28] 802d682: 3301 adds r3, #1 802d684: 61fb str r3, [r7, #28] *pfile++ = '"'; size++; 802d686: 6b3b ldr r3, [r7, #48] ; 0x30 802d688: 1c5a adds r2, r3, #1 802d68a: 633a str r2, [r7, #48] ; 0x30 802d68c: 2222 movs r2, #34 ; 0x22 802d68e: 701a strb r2, [r3, #0] 802d690: 69fb ldr r3, [r7, #28] 802d692: 3301 adds r3, #1 802d694: 61fb str r3, [r7, #28] *pfile++ = ' '; size++; 802d696: 6b3b ldr r3, [r7, #48] ; 0x30 802d698: 1c5a adds r2, r3, #1 802d69a: 633a str r2, [r7, #48] ; 0x30 802d69c: 2220 movs r2, #32 802d69e: 701a strb r2, [r3, #0] 802d6a0: 69fb ldr r3, [r7, #28] 802d6a2: 3301 adds r3, #1 802d6a4: 61fb str r3, [r7, #28] *pfile++ = 'o'; size++; 802d6a6: 6b3b ldr r3, [r7, #48] ; 0x30 802d6a8: 1c5a adds r2, r3, #1 802d6aa: 633a str r2, [r7, #48] ; 0x30 802d6ac: 226f movs r2, #111 ; 0x6f 802d6ae: 701a strb r2, [r3, #0] 802d6b0: 69fb ldr r3, [r7, #28] 802d6b2: 3301 adds r3, #1 802d6b4: 61fb str r3, [r7, #28] *pfile++ = 'f'; size++; 802d6b6: 6b3b ldr r3, [r7, #48] ; 0x30 802d6b8: 1c5a adds r2, r3, #1 802d6ba: 633a str r2, [r7, #48] ; 0x30 802d6bc: 2266 movs r2, #102 ; 0x66 802d6be: 701a strb r2, [r3, #0] 802d6c0: 69fb ldr r3, [r7, #28] 802d6c2: 3301 adds r3, #1 802d6c4: 61fb str r3, [r7, #28] *pfile++ = 'f'; size++; 802d6c6: 6b3b ldr r3, [r7, #48] ; 0x30 802d6c8: 1c5a adds r2, r3, #1 802d6ca: 633a str r2, [r7, #48] ; 0x30 802d6cc: 2266 movs r2, #102 ; 0x66 802d6ce: 701a strb r2, [r3, #0] 802d6d0: 69fb ldr r3, [r7, #28] 802d6d2: 3301 adds r3, #1 802d6d4: 61fb str r3, [r7, #28] *pfile++ = 's'; size++; 802d6d6: 6b3b ldr r3, [r7, #48] ; 0x30 802d6d8: 1c5a adds r2, r3, #1 802d6da: 633a str r2, [r7, #48] ; 0x30 802d6dc: 2273 movs r2, #115 ; 0x73 802d6de: 701a strb r2, [r3, #0] 802d6e0: 69fb ldr r3, [r7, #28] 802d6e2: 3301 adds r3, #1 802d6e4: 61fb str r3, [r7, #28] *pfile++ = 'e'; size++; 802d6e6: 6b3b ldr r3, [r7, #48] ; 0x30 802d6e8: 1c5a adds r2, r3, #1 802d6ea: 633a str r2, [r7, #48] ; 0x30 802d6ec: 2265 movs r2, #101 ; 0x65 802d6ee: 701a strb r2, [r3, #0] 802d6f0: 69fb ldr r3, [r7, #28] 802d6f2: 3301 adds r3, #1 802d6f4: 61fb str r3, [r7, #28] *pfile++ = 't'; size++; 802d6f6: 6b3b ldr r3, [r7, #48] ; 0x30 802d6f8: 1c5a adds r2, r3, #1 802d6fa: 633a str r2, [r7, #48] ; 0x30 802d6fc: 2274 movs r2, #116 ; 0x74 802d6fe: 701a strb r2, [r3, #0] 802d700: 69fb ldr r3, [r7, #28] 802d702: 3301 adds r3, #1 802d704: 61fb str r3, [r7, #28] *pfile++ = '='; size++; 802d706: 6b3b ldr r3, [r7, #48] ; 0x30 802d708: 1c5a adds r2, r3, #1 802d70a: 633a str r2, [r7, #48] ; 0x30 802d70c: 223d movs r2, #61 ; 0x3d 802d70e: 701a strb r2, [r3, #0] 802d710: 69fb ldr r3, [r7, #28] 802d712: 3301 adds r3, #1 802d714: 61fb str r3, [r7, #28] *pfile++ = '"'; size++; 802d716: 6b3b ldr r3, [r7, #48] ; 0x30 802d718: 1c5a adds r2, r3, #1 802d71a: 633a str r2, [r7, #48] ; 0x30 802d71c: 2222 movs r2, #34 ; 0x22 802d71e: 701a strb r2, [r3, #0] 802d720: 69fb ldr r3, [r7, #28] 802d722: 3301 adds r3, #1 802d724: 61fb str r3, [r7, #28] *pfile++ = '0'; size++; 802d726: 6b3b ldr r3, [r7, #48] ; 0x30 802d728: 1c5a adds r2, r3, #1 802d72a: 633a str r2, [r7, #48] ; 0x30 802d72c: 2230 movs r2, #48 ; 0x30 802d72e: 701a strb r2, [r3, #0] 802d730: 69fb ldr r3, [r7, #28] 802d732: 3301 adds r3, #1 802d734: 61fb str r3, [r7, #28] *pfile++ = '"'; size++; 802d736: 6b3b ldr r3, [r7, #48] ; 0x30 802d738: 1c5a adds r2, r3, #1 802d73a: 633a str r2, [r7, #48] ; 0x30 802d73c: 2222 movs r2, #34 ; 0x22 802d73e: 701a strb r2, [r3, #0] 802d740: 69fb ldr r3, [r7, #28] 802d742: 3301 adds r3, #1 802d744: 61fb str r3, [r7, #28] *pfile++ = ' '; size++; 802d746: 6b3b ldr r3, [r7, #48] ; 0x30 802d748: 1c5a adds r2, r3, #1 802d74a: 633a str r2, [r7, #48] ; 0x30 802d74c: 2220 movs r2, #32 802d74e: 701a strb r2, [r3, #0] 802d750: 69fb ldr r3, [r7, #28] 802d752: 3301 adds r3, #1 802d754: 61fb str r3, [r7, #28] *pfile++ = 'i'; size++; 802d756: 6b3b ldr r3, [r7, #48] ; 0x30 802d758: 1c5a adds r2, r3, #1 802d75a: 633a str r2, [r7, #48] ; 0x30 802d75c: 2269 movs r2, #105 ; 0x69 802d75e: 701a strb r2, [r3, #0] 802d760: 69fb ldr r3, [r7, #28] 802d762: 3301 adds r3, #1 802d764: 61fb str r3, [r7, #28] *pfile++ = 'e'; size++; 802d766: 6b3b ldr r3, [r7, #48] ; 0x30 802d768: 1c5a adds r2, r3, #1 802d76a: 633a str r2, [r7, #48] ; 0x30 802d76c: 2265 movs r2, #101 ; 0x65 802d76e: 701a strb r2, [r3, #0] 802d770: 69fb ldr r3, [r7, #28] 802d772: 3301 adds r3, #1 802d774: 61fb str r3, [r7, #28] *pfile++ = 'p'; size++; 802d776: 6b3b ldr r3, [r7, #48] ; 0x30 802d778: 1c5a adds r2, r3, #1 802d77a: 633a str r2, [r7, #48] ; 0x30 802d77c: 2270 movs r2, #112 ; 0x70 802d77e: 701a strb r2, [r3, #0] 802d780: 69fb ldr r3, [r7, #28] 802d782: 3301 adds r3, #1 802d784: 61fb str r3, [r7, #28] *pfile++ = 'e'; size++; 802d786: 6b3b ldr r3, [r7, #48] ; 0x30 802d788: 1c5a adds r2, r3, #1 802d78a: 633a str r2, [r7, #48] ; 0x30 802d78c: 2265 movs r2, #101 ; 0x65 802d78e: 701a strb r2, [r3, #0] 802d790: 69fb ldr r3, [r7, #28] 802d792: 3301 adds r3, #1 802d794: 61fb str r3, [r7, #28] *pfile++ = '='; size++; 802d796: 6b3b ldr r3, [r7, #48] ; 0x30 802d798: 1c5a adds r2, r3, #1 802d79a: 633a str r2, [r7, #48] ; 0x30 802d79c: 223d movs r2, #61 ; 0x3d 802d79e: 701a strb r2, [r3, #0] 802d7a0: 69fb ldr r3, [r7, #28] 802d7a2: 3301 adds r3, #1 802d7a4: 61fb str r3, [r7, #28] *pfile++ = '"'; size++; 802d7a6: 6b3b ldr r3, [r7, #48] ; 0x30 802d7a8: 1c5a adds r2, r3, #1 802d7aa: 633a str r2, [r7, #48] ; 0x30 802d7ac: 2222 movs r2, #34 ; 0x22 802d7ae: 701a strb r2, [r3, #0] 802d7b0: 69fb ldr r3, [r7, #28] 802d7b2: 3301 adds r3, #1 802d7b4: 61fb str r3, [r7, #28] *pfile++ = '0'; size++; 802d7b6: 6b3b ldr r3, [r7, #48] ; 0x30 802d7b8: 1c5a adds r2, r3, #1 802d7ba: 633a str r2, [r7, #48] ; 0x30 802d7bc: 2230 movs r2, #48 ; 0x30 802d7be: 701a strb r2, [r3, #0] 802d7c0: 69fb ldr r3, [r7, #28] 802d7c2: 3301 adds r3, #1 802d7c4: 61fb str r3, [r7, #28] *pfile++ = '"'; size++; 802d7c6: 6b3b ldr r3, [r7, #48] ; 0x30 802d7c8: 1c5a adds r2, r3, #1 802d7ca: 633a str r2, [r7, #48] ; 0x30 802d7cc: 2222 movs r2, #34 ; 0x22 802d7ce: 701a strb r2, [r3, #0] 802d7d0: 69fb ldr r3, [r7, #28] 802d7d2: 3301 adds r3, #1 802d7d4: 61fb str r3, [r7, #28] *pfile++ = ' '; size++; 802d7d6: 6b3b ldr r3, [r7, #48] ; 0x30 802d7d8: 1c5a adds r2, r3, #1 802d7da: 633a str r2, [r7, #48] ; 0x30 802d7dc: 2220 movs r2, #32 802d7de: 701a strb r2, [r3, #0] 802d7e0: 69fb ldr r3, [r7, #28] 802d7e2: 3301 adds r3, #1 802d7e4: 61fb str r3, [r7, #28] *pfile++ = 'u'; size++; 802d7e6: 6b3b ldr r3, [r7, #48] ; 0x30 802d7e8: 1c5a adds r2, r3, #1 802d7ea: 633a str r2, [r7, #48] ; 0x30 802d7ec: 2275 movs r2, #117 ; 0x75 802d7ee: 701a strb r2, [r3, #0] 802d7f0: 69fb ldr r3, [r7, #28] 802d7f2: 3301 adds r3, #1 802d7f4: 61fb str r3, [r7, #28] *pfile++ = 'n'; size++; 802d7f6: 6b3b ldr r3, [r7, #48] ; 0x30 802d7f8: 1c5a adds r2, r3, #1 802d7fa: 633a str r2, [r7, #48] ; 0x30 802d7fc: 226e movs r2, #110 ; 0x6e 802d7fe: 701a strb r2, [r3, #0] 802d800: 69fb ldr r3, [r7, #28] 802d802: 3301 adds r3, #1 802d804: 61fb str r3, [r7, #28] *pfile++ = 'i'; size++; 802d806: 6b3b ldr r3, [r7, #48] ; 0x30 802d808: 1c5a adds r2, r3, #1 802d80a: 633a str r2, [r7, #48] ; 0x30 802d80c: 2269 movs r2, #105 ; 0x69 802d80e: 701a strb r2, [r3, #0] 802d810: 69fb ldr r3, [r7, #28] 802d812: 3301 adds r3, #1 802d814: 61fb str r3, [r7, #28] *pfile++ = 't'; size++; 802d816: 6b3b ldr r3, [r7, #48] ; 0x30 802d818: 1c5a adds r2, r3, #1 802d81a: 633a str r2, [r7, #48] ; 0x30 802d81c: 2274 movs r2, #116 ; 0x74 802d81e: 701a strb r2, [r3, #0] 802d820: 69fb ldr r3, [r7, #28] 802d822: 3301 adds r3, #1 802d824: 61fb str r3, [r7, #28] *pfile++ = '='; size++; 802d826: 6b3b ldr r3, [r7, #48] ; 0x30 802d828: 1c5a adds r2, r3, #1 802d82a: 633a str r2, [r7, #48] ; 0x30 802d82c: 223d movs r2, #61 ; 0x3d 802d82e: 701a strb r2, [r3, #0] 802d830: 69fb ldr r3, [r7, #28] 802d832: 3301 adds r3, #1 802d834: 61fb str r3, [r7, #28] *pfile++ = '"'; size++; 802d836: 6b3b ldr r3, [r7, #48] ; 0x30 802d838: 1c5a adds r2, r3, #1 802d83a: 633a str r2, [r7, #48] ; 0x30 802d83c: 2222 movs r2, #34 ; 0x22 802d83e: 701a strb r2, [r3, #0] 802d840: 69fb ldr r3, [r7, #28] 802d842: 3301 adds r3, #1 802d844: 61fb str r3, [r7, #28] *pfile++ = 'm'; size++; 802d846: 6b3b ldr r3, [r7, #48] ; 0x30 802d848: 1c5a adds r2, r3, #1 802d84a: 633a str r2, [r7, #48] ; 0x30 802d84c: 226d movs r2, #109 ; 0x6d 802d84e: 701a strb r2, [r3, #0] 802d850: 69fb ldr r3, [r7, #28] 802d852: 3301 adds r3, #1 802d854: 61fb str r3, [r7, #28] *pfile++ = '/'; size++; 802d856: 6b3b ldr r3, [r7, #48] ; 0x30 802d858: 1c5a adds r2, r3, #1 802d85a: 633a str r2, [r7, #48] ; 0x30 802d85c: 222f movs r2, #47 ; 0x2f 802d85e: 701a strb r2, [r3, #0] 802d860: 69fb ldr r3, [r7, #28] 802d862: 3301 adds r3, #1 802d864: 61fb str r3, [r7, #28] *pfile++ = 's'; size++; 802d866: 6b3b ldr r3, [r7, #48] ; 0x30 802d868: 1c5a adds r2, r3, #1 802d86a: 633a str r2, [r7, #48] ; 0x30 802d86c: 2273 movs r2, #115 ; 0x73 802d86e: 701a strb r2, [r3, #0] 802d870: 69fb ldr r3, [r7, #28] 802d872: 3301 adds r3, #1 802d874: 61fb str r3, [r7, #28] *pfile++ = '2'; size++; 802d876: 6b3b ldr r3, [r7, #48] ; 0x30 802d878: 1c5a adds r2, r3, #1 802d87a: 633a str r2, [r7, #48] ; 0x30 802d87c: 2232 movs r2, #50 ; 0x32 802d87e: 701a strb r2, [r3, #0] 802d880: 69fb ldr r3, [r7, #28] 802d882: 3301 adds r3, #1 802d884: 61fb str r3, [r7, #28] *pfile++ = '"'; size++; 802d886: 6b3b ldr r3, [r7, #48] ; 0x30 802d888: 1c5a adds r2, r3, #1 802d88a: 633a str r2, [r7, #48] ; 0x30 802d88c: 2222 movs r2, #34 ; 0x22 802d88e: 701a strb r2, [r3, #0] 802d890: 69fb ldr r3, [r7, #28] 802d892: 3301 adds r3, #1 802d894: 61fb str r3, [r7, #28] *pfile++ = ' '; size++; 802d896: 6b3b ldr r3, [r7, #48] ; 0x30 802d898: 1c5a adds r2, r3, #1 802d89a: 633a str r2, [r7, #48] ; 0x30 802d89c: 2220 movs r2, #32 802d89e: 701a strb r2, [r3, #0] 802d8a0: 69fb ldr r3, [r7, #28] 802d8a2: 3301 adds r3, #1 802d8a4: 61fb str r3, [r7, #28] *pfile++ = 'g'; size++; 802d8a6: 6b3b ldr r3, [r7, #48] ; 0x30 802d8a8: 1c5a adds r2, r3, #1 802d8aa: 633a str r2, [r7, #48] ; 0x30 802d8ac: 2267 movs r2, #103 ; 0x67 802d8ae: 701a strb r2, [r3, #0] 802d8b0: 69fb ldr r3, [r7, #28] 802d8b2: 3301 adds r3, #1 802d8b4: 61fb str r3, [r7, #28] *pfile++ = 'a'; size++; 802d8b6: 6b3b ldr r3, [r7, #48] ; 0x30 802d8b8: 1c5a adds r2, r3, #1 802d8ba: 633a str r2, [r7, #48] ; 0x30 802d8bc: 2261 movs r2, #97 ; 0x61 802d8be: 701a strb r2, [r3, #0] 802d8c0: 69fb ldr r3, [r7, #28] 802d8c2: 3301 adds r3, #1 802d8c4: 61fb str r3, [r7, #28] *pfile++ = 'i'; size++; 802d8c6: 6b3b ldr r3, [r7, #48] ; 0x30 802d8c8: 1c5a adds r2, r3, #1 802d8ca: 633a str r2, [r7, #48] ; 0x30 802d8cc: 2269 movs r2, #105 ; 0x69 802d8ce: 701a strb r2, [r3, #0] 802d8d0: 69fb ldr r3, [r7, #28] 802d8d2: 3301 adds r3, #1 802d8d4: 61fb str r3, [r7, #28] *pfile++ = 'n'; size++; 802d8d6: 6b3b ldr r3, [r7, #48] ; 0x30 802d8d8: 1c5a adds r2, r3, #1 802d8da: 633a str r2, [r7, #48] ; 0x30 802d8dc: 226e movs r2, #110 ; 0x6e 802d8de: 701a strb r2, [r3, #0] 802d8e0: 69fb ldr r3, [r7, #28] 802d8e2: 3301 adds r3, #1 802d8e4: 61fb str r3, [r7, #28] *pfile++ = '='; size++; 802d8e6: 6b3b ldr r3, [r7, #48] ; 0x30 802d8e8: 1c5a adds r2, r3, #1 802d8ea: 633a str r2, [r7, #48] ; 0x30 802d8ec: 223d movs r2, #61 ; 0x3d 802d8ee: 701a strb r2, [r3, #0] 802d8f0: 69fb ldr r3, [r7, #28] 802d8f2: 3301 adds r3, #1 802d8f4: 61fb str r3, [r7, #28] *pfile++ = '"'; size++; 802d8f6: 6b3b ldr r3, [r7, #48] ; 0x30 802d8f8: 1c5a adds r2, r3, #1 802d8fa: 633a str r2, [r7, #48] ; 0x30 802d8fc: 2222 movs r2, #34 ; 0x22 802d8fe: 701a strb r2, [r3, #0] 802d900: 69fb ldr r3, [r7, #28] 802d902: 3301 adds r3, #1 802d904: 61fb str r3, [r7, #28] *pfile++ = '1'; size++; 802d906: 6b3b ldr r3, [r7, #48] ; 0x30 802d908: 1c5a adds r2, r3, #1 802d90a: 633a str r2, [r7, #48] ; 0x30 802d90c: 2231 movs r2, #49 ; 0x31 802d90e: 701a strb r2, [r3, #0] 802d910: 69fb ldr r3, [r7, #28] 802d912: 3301 adds r3, #1 802d914: 61fb str r3, [r7, #28] *pfile++ = '"'; size++; 802d916: 6b3b ldr r3, [r7, #48] ; 0x30 802d918: 1c5a adds r2, r3, #1 802d91a: 633a str r2, [r7, #48] ; 0x30 802d91c: 2222 movs r2, #34 ; 0x22 802d91e: 701a strb r2, [r3, #0] 802d920: 69fb ldr r3, [r7, #28] 802d922: 3301 adds r3, #1 802d924: 61fb str r3, [r7, #28] *pfile++ = ' '; size++; 802d926: 6b3b ldr r3, [r7, #48] ; 0x30 802d928: 1c5a adds r2, r3, #1 802d92a: 633a str r2, [r7, #48] ; 0x30 802d92c: 2220 movs r2, #32 802d92e: 701a strb r2, [r3, #0] 802d930: 69fb ldr r3, [r7, #28] 802d932: 3301 adds r3, #1 802d934: 61fb str r3, [r7, #28] *pfile++ = 'r'; size++; 802d936: 6b3b ldr r3, [r7, #48] ; 0x30 802d938: 1c5a adds r2, r3, #1 802d93a: 633a str r2, [r7, #48] ; 0x30 802d93c: 2272 movs r2, #114 ; 0x72 802d93e: 701a strb r2, [r3, #0] 802d940: 69fb ldr r3, [r7, #28] 802d942: 3301 adds r3, #1 802d944: 61fb str r3, [r7, #28] *pfile++ = 'e'; size++; 802d946: 6b3b ldr r3, [r7, #48] ; 0x30 802d948: 1c5a adds r2, r3, #1 802d94a: 633a str r2, [r7, #48] ; 0x30 802d94c: 2265 movs r2, #101 ; 0x65 802d94e: 701a strb r2, [r3, #0] 802d950: 69fb ldr r3, [r7, #28] 802d952: 3301 adds r3, #1 802d954: 61fb str r3, [r7, #28] *pfile++ = 'f'; size++; 802d956: 6b3b ldr r3, [r7, #48] ; 0x30 802d958: 1c5a adds r2, r3, #1 802d95a: 633a str r2, [r7, #48] ; 0x30 802d95c: 2266 movs r2, #102 ; 0x66 802d95e: 701a strb r2, [r3, #0] 802d960: 69fb ldr r3, [r7, #28] 802d962: 3301 adds r3, #1 802d964: 61fb str r3, [r7, #28] *pfile++ = 'e'; size++; 802d966: 6b3b ldr r3, [r7, #48] ; 0x30 802d968: 1c5a adds r2, r3, #1 802d96a: 633a str r2, [r7, #48] ; 0x30 802d96c: 2265 movs r2, #101 ; 0x65 802d96e: 701a strb r2, [r3, #0] 802d970: 69fb ldr r3, [r7, #28] 802d972: 3301 adds r3, #1 802d974: 61fb str r3, [r7, #28] *pfile++ = 'r'; size++; 802d976: 6b3b ldr r3, [r7, #48] ; 0x30 802d978: 1c5a adds r2, r3, #1 802d97a: 633a str r2, [r7, #48] ; 0x30 802d97c: 2272 movs r2, #114 ; 0x72 802d97e: 701a strb r2, [r3, #0] 802d980: 69fb ldr r3, [r7, #28] 802d982: 3301 adds r3, #1 802d984: 61fb str r3, [r7, #28] *pfile++ = 'e'; size++; 802d986: 6b3b ldr r3, [r7, #48] ; 0x30 802d988: 1c5a adds r2, r3, #1 802d98a: 633a str r2, [r7, #48] ; 0x30 802d98c: 2265 movs r2, #101 ; 0x65 802d98e: 701a strb r2, [r3, #0] 802d990: 69fb ldr r3, [r7, #28] 802d992: 3301 adds r3, #1 802d994: 61fb str r3, [r7, #28] *pfile++ = 'n'; size++; 802d996: 6b3b ldr r3, [r7, #48] ; 0x30 802d998: 1c5a adds r2, r3, #1 802d99a: 633a str r2, [r7, #48] ; 0x30 802d99c: 226e movs r2, #110 ; 0x6e 802d99e: 701a strb r2, [r3, #0] 802d9a0: 69fb ldr r3, [r7, #28] 802d9a2: 3301 adds r3, #1 802d9a4: 61fb str r3, [r7, #28] *pfile++ = 'c'; size++; 802d9a6: 6b3b ldr r3, [r7, #48] ; 0x30 802d9a8: 1c5a adds r2, r3, #1 802d9aa: 633a str r2, [r7, #48] ; 0x30 802d9ac: 2263 movs r2, #99 ; 0x63 802d9ae: 701a strb r2, [r3, #0] 802d9b0: 69fb ldr r3, [r7, #28] 802d9b2: 3301 adds r3, #1 802d9b4: 61fb str r3, [r7, #28] *pfile++ = 'e'; size++; 802d9b6: 6b3b ldr r3, [r7, #48] ; 0x30 802d9b8: 1c5a adds r2, r3, #1 802d9ba: 633a str r2, [r7, #48] ; 0x30 802d9bc: 2265 movs r2, #101 ; 0x65 802d9be: 701a strb r2, [r3, #0] 802d9c0: 69fb ldr r3, [r7, #28] 802d9c2: 3301 adds r3, #1 802d9c4: 61fb str r3, [r7, #28] *pfile++ = '='; size++; 802d9c6: 6b3b ldr r3, [r7, #48] ; 0x30 802d9c8: 1c5a adds r2, r3, #1 802d9ca: 633a str r2, [r7, #48] ; 0x30 802d9cc: 223d movs r2, #61 ; 0x3d 802d9ce: 701a strb r2, [r3, #0] 802d9d0: 69fb ldr r3, [r7, #28] 802d9d2: 3301 adds r3, #1 802d9d4: 61fb str r3, [r7, #28] *pfile++ = '"'; size++; 802d9d6: 6b3b ldr r3, [r7, #48] ; 0x30 802d9d8: 1c5a adds r2, r3, #1 802d9da: 633a str r2, [r7, #48] ; 0x30 802d9dc: 2222 movs r2, #34 ; 0x22 802d9de: 701a strb r2, [r3, #0] 802d9e0: 69fb ldr r3, [r7, #28] 802d9e2: 3301 adds r3, #1 802d9e4: 61fb str r3, [r7, #28] *pfile++ = '1'; size++; 802d9e6: 6b3b ldr r3, [r7, #48] ; 0x30 802d9e8: 1c5a adds r2, r3, #1 802d9ea: 633a str r2, [r7, #48] ; 0x30 802d9ec: 2231 movs r2, #49 ; 0x31 802d9ee: 701a strb r2, [r3, #0] 802d9f0: 69fb ldr r3, [r7, #28] 802d9f2: 3301 adds r3, #1 802d9f4: 61fb str r3, [r7, #28] *pfile++ = '"'; size++; 802d9f6: 6b3b ldr r3, [r7, #48] ; 0x30 802d9f8: 1c5a adds r2, r3, #1 802d9fa: 633a str r2, [r7, #48] ; 0x30 802d9fc: 2222 movs r2, #34 ; 0x22 802d9fe: 701a strb r2, [r3, #0] 802da00: 69fb ldr r3, [r7, #28] 802da02: 3301 adds r3, #1 802da04: 61fb str r3, [r7, #28] *pfile++ = ' '; size++; 802da06: 6b3b ldr r3, [r7, #48] ; 0x30 802da08: 1c5a adds r2, r3, #1 802da0a: 633a str r2, [r7, #48] ; 0x30 802da0c: 2220 movs r2, #32 802da0e: 701a strb r2, [r3, #0] 802da10: 69fb ldr r3, [r7, #28] 802da12: 3301 adds r3, #1 802da14: 61fb str r3, [r7, #28] *pfile++ = 'c'; size++; 802da16: 6b3b ldr r3, [r7, #48] ; 0x30 802da18: 1c5a adds r2, r3, #1 802da1a: 633a str r2, [r7, #48] ; 0x30 802da1c: 2263 movs r2, #99 ; 0x63 802da1e: 701a strb r2, [r3, #0] 802da20: 69fb ldr r3, [r7, #28] 802da22: 3301 adds r3, #1 802da24: 61fb str r3, [r7, #28] *pfile++ = 'o'; size++; 802da26: 6b3b ldr r3, [r7, #48] ; 0x30 802da28: 1c5a adds r2, r3, #1 802da2a: 633a str r2, [r7, #48] ; 0x30 802da2c: 226f movs r2, #111 ; 0x6f 802da2e: 701a strb r2, [r3, #0] 802da30: 69fb ldr r3, [r7, #28] 802da32: 3301 adds r3, #1 802da34: 61fb str r3, [r7, #28] *pfile++ = 'u'; size++; 802da36: 6b3b ldr r3, [r7, #48] ; 0x30 802da38: 1c5a adds r2, r3, #1 802da3a: 633a str r2, [r7, #48] ; 0x30 802da3c: 2275 movs r2, #117 ; 0x75 802da3e: 701a strb r2, [r3, #0] 802da40: 69fb ldr r3, [r7, #28] 802da42: 3301 adds r3, #1 802da44: 61fb str r3, [r7, #28] *pfile++ = 'p'; size++; 802da46: 6b3b ldr r3, [r7, #48] ; 0x30 802da48: 1c5a adds r2, r3, #1 802da4a: 633a str r2, [r7, #48] ; 0x30 802da4c: 2270 movs r2, #112 ; 0x70 802da4e: 701a strb r2, [r3, #0] 802da50: 69fb ldr r3, [r7, #28] 802da52: 3301 adds r3, #1 802da54: 61fb str r3, [r7, #28] *pfile++ = 'l'; size++; 802da56: 6b3b ldr r3, [r7, #48] ; 0x30 802da58: 1c5a adds r2, r3, #1 802da5a: 633a str r2, [r7, #48] ; 0x30 802da5c: 226c movs r2, #108 ; 0x6c 802da5e: 701a strb r2, [r3, #0] 802da60: 69fb ldr r3, [r7, #28] 802da62: 3301 adds r3, #1 802da64: 61fb str r3, [r7, #28] *pfile++ = 'i'; size++; 802da66: 6b3b ldr r3, [r7, #48] ; 0x30 802da68: 1c5a adds r2, r3, #1 802da6a: 633a str r2, [r7, #48] ; 0x30 802da6c: 2269 movs r2, #105 ; 0x69 802da6e: 701a strb r2, [r3, #0] 802da70: 69fb ldr r3, [r7, #28] 802da72: 3301 adds r3, #1 802da74: 61fb str r3, [r7, #28] *pfile++ = 'n'; size++; 802da76: 6b3b ldr r3, [r7, #48] ; 0x30 802da78: 1c5a adds r2, r3, #1 802da7a: 633a str r2, [r7, #48] ; 0x30 802da7c: 226e movs r2, #110 ; 0x6e 802da7e: 701a strb r2, [r3, #0] 802da80: 69fb ldr r3, [r7, #28] 802da82: 3301 adds r3, #1 802da84: 61fb str r3, [r7, #28] *pfile++ = 'g'; size++; 802da86: 6b3b ldr r3, [r7, #48] ; 0x30 802da88: 1c5a adds r2, r3, #1 802da8a: 633a str r2, [r7, #48] ; 0x30 802da8c: 2267 movs r2, #103 ; 0x67 802da8e: 701a strb r2, [r3, #0] 802da90: 69fb ldr r3, [r7, #28] 802da92: 3301 adds r3, #1 802da94: 61fb str r3, [r7, #28] *pfile++ = '='; size++; 802da96: 6b3b ldr r3, [r7, #48] ; 0x30 802da98: 1c5a adds r2, r3, #1 802da9a: 633a str r2, [r7, #48] ; 0x30 802da9c: 223d movs r2, #61 ; 0x3d 802da9e: 701a strb r2, [r3, #0] 802daa0: 69fb ldr r3, [r7, #28] 802daa2: 3301 adds r3, #1 802daa4: 61fb str r3, [r7, #28] *pfile++ = '"'; size++; 802daa6: 6b3b ldr r3, [r7, #48] ; 0x30 802daa8: 1c5a adds r2, r3, #1 802daaa: 633a str r2, [r7, #48] ; 0x30 802daac: 2222 movs r2, #34 ; 0x22 802daae: 701a strb r2, [r3, #0] 802dab0: 69fb ldr r3, [r7, #28] 802dab2: 3301 adds r3, #1 802dab4: 61fb str r3, [r7, #28] *pfile++ = '0'; size++; 802dab6: 6b3b ldr r3, [r7, #48] ; 0x30 802dab8: 1c5a adds r2, r3, #1 802daba: 633a str r2, [r7, #48] ; 0x30 802dabc: 2230 movs r2, #48 ; 0x30 802dabe: 701a strb r2, [r3, #0] 802dac0: 69fb ldr r3, [r7, #28] 802dac2: 3301 adds r3, #1 802dac4: 61fb str r3, [r7, #28] *pfile++ = '"'; size++; 802dac6: 6b3b ldr r3, [r7, #48] ; 0x30 802dac8: 1c5a adds r2, r3, #1 802daca: 633a str r2, [r7, #48] ; 0x30 802dacc: 2222 movs r2, #34 ; 0x22 802dace: 701a strb r2, [r3, #0] 802dad0: 69fb ldr r3, [r7, #28] 802dad2: 3301 adds r3, #1 802dad4: 61fb str r3, [r7, #28] ///TACHO if(pardata.OPTIONS & BIT7) 802dad6: 4b62 ldr r3, [pc, #392] ; (802dc60 ) 802dad8: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 802dadc: f003 0380 and.w r3, r3, #128 ; 0x80 802dae0: 2b00 cmp r3, #0 802dae2: d06a beq.n 802dbba { *pfile++ = ' '; size++; 802dae4: 6b3b ldr r3, [r7, #48] ; 0x30 802dae6: 1c5a adds r2, r3, #1 802dae8: 633a str r2, [r7, #48] ; 0x30 802daea: 2220 movs r2, #32 802daec: 701a strb r2, [r3, #0] 802daee: 69fb ldr r3, [r7, #28] 802daf0: 3301 adds r3, #1 802daf2: 61fb str r3, [r7, #28] *pfile++ = 'f'; size++; 802daf4: 6b3b ldr r3, [r7, #48] ; 0x30 802daf6: 1c5a adds r2, r3, #1 802daf8: 633a str r2, [r7, #48] ; 0x30 802dafa: 2266 movs r2, #102 ; 0x66 802dafc: 701a strb r2, [r3, #0] 802dafe: 69fb ldr r3, [r7, #28] 802db00: 3301 adds r3, #1 802db02: 61fb str r3, [r7, #28] *pfile++ = 'r'; size++; 802db04: 6b3b ldr r3, [r7, #48] ; 0x30 802db06: 1c5a adds r2, r3, #1 802db08: 633a str r2, [r7, #48] ; 0x30 802db0a: 2272 movs r2, #114 ; 0x72 802db0c: 701a strb r2, [r3, #0] 802db0e: 69fb ldr r3, [r7, #28] 802db10: 3301 adds r3, #1 802db12: 61fb str r3, [r7, #28] *pfile++ = 'e'; size++; 802db14: 6b3b ldr r3, [r7, #48] ; 0x30 802db16: 1c5a adds r2, r3, #1 802db18: 633a str r2, [r7, #48] ; 0x30 802db1a: 2265 movs r2, #101 ; 0x65 802db1c: 701a strb r2, [r3, #0] 802db1e: 69fb ldr r3, [r7, #28] 802db20: 3301 adds r3, #1 802db22: 61fb str r3, [r7, #28] *pfile++ = 'q'; size++; 802db24: 6b3b ldr r3, [r7, #48] ; 0x30 802db26: 1c5a adds r2, r3, #1 802db28: 633a str r2, [r7, #48] ; 0x30 802db2a: 2271 movs r2, #113 ; 0x71 802db2c: 701a strb r2, [r3, #0] 802db2e: 69fb ldr r3, [r7, #28] 802db30: 3301 adds r3, #1 802db32: 61fb str r3, [r7, #28] *pfile++ = '='; size++; 802db34: 6b3b ldr r3, [r7, #48] ; 0x30 802db36: 1c5a adds r2, r3, #1 802db38: 633a str r2, [r7, #48] ; 0x30 802db3a: 223d movs r2, #61 ; 0x3d 802db3c: 701a strb r2, [r3, #0] 802db3e: 69fb ldr r3, [r7, #28] 802db40: 3301 adds r3, #1 802db42: 61fb str r3, [r7, #28] *pfile++ = '"'; size++; 802db44: 6b3b ldr r3, [r7, #48] ; 0x30 802db46: 1c5a adds r2, r3, #1 802db48: 633a str r2, [r7, #48] ; 0x30 802db4a: 2222 movs r2, #34 ; 0x22 802db4c: 701a strb r2, [r3, #0] 802db4e: 69fb ldr r3, [r7, #28] 802db50: 3301 adds r3, #1 802db52: 61fb str r3, [r7, #28] for(i = 0; i < 8; i++) 802db54: 2300 movs r3, #0 802db56: 623b str r3, [r7, #32] 802db58: e024 b.n 802dba4 { if(f_str[i] == '.') 802db5a: 6a3b ldr r3, [r7, #32] 802db5c: f107 0238 add.w r2, r7, #56 ; 0x38 802db60: 4413 add r3, r2 802db62: f813 3c2c ldrb.w r3, [r3, #-44] 802db66: 2b2e cmp r3, #46 ; 0x2e 802db68: d10a bne.n 802db80 *pfile++ = f_str[i]; 802db6a: 6b3b ldr r3, [r7, #48] ; 0x30 802db6c: 1c5a adds r2, r3, #1 802db6e: 633a str r2, [r7, #48] ; 0x30 802db70: 6a3a ldr r2, [r7, #32] 802db72: f107 0138 add.w r1, r7, #56 ; 0x38 802db76: 440a add r2, r1 802db78: f812 2c2c ldrb.w r2, [r2, #-44] 802db7c: 701a strb r2, [r3, #0] 802db7e: e00b b.n 802db98 else *pfile++ = f_str[i] + 48; 802db80: 6b3b ldr r3, [r7, #48] ; 0x30 802db82: 1c5a adds r2, r3, #1 802db84: 633a str r2, [r7, #48] ; 0x30 802db86: 6a3a ldr r2, [r7, #32] 802db88: f107 0138 add.w r1, r7, #56 ; 0x38 802db8c: 440a add r2, r1 802db8e: f812 2c2c ldrb.w r2, [r2, #-44] 802db92: 3230 adds r2, #48 ; 0x30 802db94: b2d2 uxtb r2, r2 802db96: 701a strb r2, [r3, #0] size++; 802db98: 69fb ldr r3, [r7, #28] 802db9a: 3301 adds r3, #1 802db9c: 61fb str r3, [r7, #28] for(i = 0; i < 8; i++) 802db9e: 6a3b ldr r3, [r7, #32] 802dba0: 3301 adds r3, #1 802dba2: 623b str r3, [r7, #32] 802dba4: 6a3b ldr r3, [r7, #32] 802dba6: 2b07 cmp r3, #7 802dba8: d9d7 bls.n 802db5a } *pfile++ = '"'; size++; 802dbaa: 6b3b ldr r3, [r7, #48] ; 0x30 802dbac: 1c5a adds r2, r3, #1 802dbae: 633a str r2, [r7, #48] ; 0x30 802dbb0: 2222 movs r2, #34 ; 0x22 802dbb2: 701a strb r2, [r3, #0] 802dbb4: 69fb ldr r3, [r7, #28] 802dbb6: 3301 adds r3, #1 802dbb8: 61fb str r3, [r7, #28] } *pfile++ = '/'; size++; 802dbba: 6b3b ldr r3, [r7, #48] ; 0x30 802dbbc: 1c5a adds r2, r3, #1 802dbbe: 633a str r2, [r7, #48] ; 0x30 802dbc0: 222f movs r2, #47 ; 0x2f 802dbc2: 701a strb r2, [r3, #0] 802dbc4: 69fb ldr r3, [r7, #28] 802dbc6: 3301 adds r3, #1 802dbc8: 61fb str r3, [r7, #28] *pfile++ = '>'; size++; 802dbca: 6b3b ldr r3, [r7, #48] ; 0x30 802dbcc: 1c5a adds r2, r3, #1 802dbce: 633a str r2, [r7, #48] ; 0x30 802dbd0: 223e movs r2, #62 ; 0x3e 802dbd2: 701a strb r2, [r3, #0] 802dbd4: 69fb ldr r3, [r7, #28] 802dbd6: 3301 adds r3, #1 802dbd8: 61fb str r3, [r7, #28] *pfile++ = '\n'; size++; 802dbda: 6b3b ldr r3, [r7, #48] ; 0x30 802dbdc: 1c5a adds r2, r3, #1 802dbde: 633a str r2, [r7, #48] ; 0x30 802dbe0: 220a movs r2, #10 802dbe2: 701a strb r2, [r3, #0] 802dbe4: 69fb ldr r3, [r7, #28] 802dbe6: 3301 adds r3, #1 802dbe8: 61fb str r3, [r7, #28] /*************** * **************/ for(i = 0; i < sizeof(XML_4); i++) 802dbea: 2300 movs r3, #0 802dbec: 623b str r3, [r7, #32] 802dbee: e00c b.n 802dc0a { *pfile++ = XML_4[i]; 802dbf0: 6b3b ldr r3, [r7, #48] ; 0x30 802dbf2: 1c5a adds r2, r3, #1 802dbf4: 633a str r2, [r7, #48] ; 0x30 802dbf6: 6a3a ldr r2, [r7, #32] 802dbf8: 491a ldr r1, [pc, #104] ; (802dc64 ) 802dbfa: 5c8a ldrb r2, [r1, r2] 802dbfc: 701a strb r2, [r3, #0] size++; 802dbfe: 69fb ldr r3, [r7, #28] 802dc00: 3301 adds r3, #1 802dc02: 61fb str r3, [r7, #28] for(i = 0; i < sizeof(XML_4); i++) 802dc04: 6a3b ldr r3, [r7, #32] 802dc06: 3301 adds r3, #1 802dc08: 623b str r3, [r7, #32] 802dc0a: 6a3b ldr r3, [r7, #32] 802dc0c: 2b0b cmp r3, #11 802dc0e: d9ef bls.n 802dbf0 } /***************** * ****************/ for(i = 0; i < sizeof(XML_5); i++) 802dc10: 2300 movs r3, #0 802dc12: 623b str r3, [r7, #32] 802dc14: e00c b.n 802dc30 { *pfile++ = XML_5[i]; 802dc16: 6b3b ldr r3, [r7, #48] ; 0x30 802dc18: 1c5a adds r2, r3, #1 802dc1a: 633a str r2, [r7, #48] ; 0x30 802dc1c: 6a3a ldr r2, [r7, #32] 802dc1e: 4912 ldr r1, [pc, #72] ; (802dc68 ) 802dc20: 5c8a ldrb r2, [r1, r2] 802dc22: 701a strb r2, [r3, #0] size++; 802dc24: 69fb ldr r3, [r7, #28] 802dc26: 3301 adds r3, #1 802dc28: 61fb str r3, [r7, #28] for(i = 0; i < sizeof(XML_5); i++) 802dc2a: 6a3b ldr r3, [r7, #32] 802dc2c: 3301 adds r3, #1 802dc2e: 623b str r3, [r7, #32] 802dc30: 6a3b ldr r3, [r7, #32] 802dc32: 2b0d cmp r3, #13 802dc34: d9ef bls.n 802dc16 } //*************************************************************** memcpy(§or[0], (uint8_t *) &size, 4); 802dc36: 69fb ldr r3, [r7, #28] 802dc38: 4a0c ldr r2, [pc, #48] ; (802dc6c ) 802dc3a: 6013 str r3, [r2, #0] res = f_write(file, sector, (size + 4), (UINT *) &i); 802dc3c: 69fb ldr r3, [r7, #28] 802dc3e: 1d1a adds r2, r3, #4 802dc40: f107 0320 add.w r3, r7, #32 802dc44: 4909 ldr r1, [pc, #36] ; (802dc6c ) 802dc46: 6878 ldr r0, [r7, #4] 802dc48: f098 fcde bl 80c6608 802dc4c: 4603 mov r3, r0 802dc4e: f887 302e strb.w r3, [r7, #46] ; 0x2e //*************************************************************** return res; 802dc52: f897 302e ldrb.w r3, [r7, #46] ; 0x2e } 802dc56: 4618 mov r0, r3 802dc58: 3738 adds r7, #56 ; 0x38 802dc5a: 46bd mov sp, r7 802dc5c: bd80 pop {r7, pc} 802dc5e: bf00 nop 802dc60: 20023e60 .word 0x20023e60 802dc64: 080d0fb0 .word 0x080d0fb0 802dc68: 080d0fbc .word 0x080d0fbc 802dc6c: 2007c000 .word 0x2007c000 0802dc70 : void VerifyFileNamePTM(char *fname, char *out_name) { 802dc70: b580 push {r7, lr} 802dc72: b086 sub sp, #24 802dc74: af00 add r7, sp, #0 802dc76: 6078 str r0, [r7, #4] 802dc78: 6039 str r1, [r7, #0] uint32_t l, indx; char *pch; if(*fname == 0) 802dc7a: 687b ldr r3, [r7, #4] 802dc7c: 781b ldrb r3, [r3, #0] 802dc7e: 2b00 cmp r3, #0 802dc80: d103 bne.n 802dc8a { *out_name = 0; 802dc82: 683b ldr r3, [r7, #0] 802dc84: 2200 movs r2, #0 802dc86: 701a strb r2, [r3, #0] return; 802dc88: e088 b.n 802dd9c } if(strcmp(fname, "") == 0) 802dc8a: 687b ldr r3, [r7, #4] 802dc8c: 781b ldrb r3, [r3, #0] 802dc8e: 2b00 cmp r3, #0 802dc90: d103 bne.n 802dc9a { *out_name = 0; 802dc92: 683b ldr r3, [r7, #0] 802dc94: 2200 movs r2, #0 802dc96: 701a strb r2, [r3, #0] return; 802dc98: e080 b.n 802dd9c } memset(fn, 0, sizeof(fn)); 802dc9a: 2228 movs r2, #40 ; 0x28 802dc9c: 2100 movs r1, #0 802dc9e: 4841 ldr r0, [pc, #260] ; (802dda4 ) 802dca0: f09f f9d2 bl 80cd048 strcpy(fn, fname); 802dca4: 6879 ldr r1, [r7, #4] 802dca6: 483f ldr r0, [pc, #252] ; (802dda4 ) 802dca8: f09f faeb bl 80cd282 pch = strchr(fn, '.'); 802dcac: 212e movs r1, #46 ; 0x2e 802dcae: 483d ldr r0, [pc, #244] ; (802dda4 ) 802dcb0: f09f fad9 bl 80cd266 802dcb4: 6178 str r0, [r7, #20] if(pch == NULL) 802dcb6: 697b ldr r3, [r7, #20] 802dcb8: 2b00 cmp r3, #0 802dcba: d124 bne.n 802dd06 { l = strlen(fn); 802dcbc: 4839 ldr r0, [pc, #228] ; (802dda4 ) 802dcbe: f7f2 fb29 bl 8020314 802dcc2: 6138 str r0, [r7, #16] if(l == 0) 802dcc4: 693b ldr r3, [r7, #16] 802dcc6: 2b00 cmp r3, #0 802dcc8: d103 bne.n 802dcd2 { *out_name = 0;; 802dcca: 683b ldr r3, [r7, #0] 802dccc: 2200 movs r2, #0 802dcce: 701a strb r2, [r3, #0] return; 802dcd0: e064 b.n 802dd9c } fn[l] = '.'; 802dcd2: 4a34 ldr r2, [pc, #208] ; (802dda4 ) 802dcd4: 693b ldr r3, [r7, #16] 802dcd6: 4413 add r3, r2 802dcd8: 222e movs r2, #46 ; 0x2e 802dcda: 701a strb r2, [r3, #0] fn[l + 1] = 'P'; 802dcdc: 693b ldr r3, [r7, #16] 802dcde: 3301 adds r3, #1 802dce0: 4a30 ldr r2, [pc, #192] ; (802dda4 ) 802dce2: 2150 movs r1, #80 ; 0x50 802dce4: 54d1 strb r1, [r2, r3] fn[l + 2] = 'T'; 802dce6: 693b ldr r3, [r7, #16] 802dce8: 3302 adds r3, #2 802dcea: 4a2e ldr r2, [pc, #184] ; (802dda4 ) 802dcec: 2154 movs r1, #84 ; 0x54 802dcee: 54d1 strb r1, [r2, r3] fn[l + 3] = 'M'; 802dcf0: 693b ldr r3, [r7, #16] 802dcf2: 3303 adds r3, #3 802dcf4: 4a2b ldr r2, [pc, #172] ; (802dda4 ) 802dcf6: 214d movs r1, #77 ; 0x4d 802dcf8: 54d1 strb r1, [r2, r3] fn[l + 4] = '\0'; 802dcfa: 693b ldr r3, [r7, #16] 802dcfc: 3304 adds r3, #4 802dcfe: 4a29 ldr r2, [pc, #164] ; (802dda4 ) 802dd00: 2100 movs r1, #0 802dd02: 54d1 strb r1, [r2, r3] 802dd04: e045 b.n 802dd92 } else { indx = pch - fn; 802dd06: 697b ldr r3, [r7, #20] 802dd08: 4a26 ldr r2, [pc, #152] ; (802dda4 ) 802dd0a: 1a9b subs r3, r3, r2 802dd0c: 60fb str r3, [r7, #12] if((fn[indx + 1] != 'p') && (fn[indx + 1] != 'P')) { 802dd0e: 68fb ldr r3, [r7, #12] 802dd10: 3301 adds r3, #1 802dd12: 4a24 ldr r2, [pc, #144] ; (802dda4 ) 802dd14: 5cd3 ldrb r3, [r2, r3] 802dd16: 2b70 cmp r3, #112 ; 0x70 802dd18: d00a beq.n 802dd30 802dd1a: 68fb ldr r3, [r7, #12] 802dd1c: 3301 adds r3, #1 802dd1e: 4a21 ldr r2, [pc, #132] ; (802dda4 ) 802dd20: 5cd3 ldrb r3, [r2, r3] 802dd22: 2b50 cmp r3, #80 ; 0x50 802dd24: d004 beq.n 802dd30 fn[indx + 1] = 'P'; 802dd26: 68fb ldr r3, [r7, #12] 802dd28: 3301 adds r3, #1 802dd2a: 4a1e ldr r2, [pc, #120] ; (802dda4 ) 802dd2c: 2150 movs r1, #80 ; 0x50 802dd2e: 54d1 strb r1, [r2, r3] } if((fn[indx + 2] != 't') && (fn[indx + 2] != 'T')) { 802dd30: 68fb ldr r3, [r7, #12] 802dd32: 3302 adds r3, #2 802dd34: 4a1b ldr r2, [pc, #108] ; (802dda4 ) 802dd36: 5cd3 ldrb r3, [r2, r3] 802dd38: 2b74 cmp r3, #116 ; 0x74 802dd3a: d00a beq.n 802dd52 802dd3c: 68fb ldr r3, [r7, #12] 802dd3e: 3302 adds r3, #2 802dd40: 4a18 ldr r2, [pc, #96] ; (802dda4 ) 802dd42: 5cd3 ldrb r3, [r2, r3] 802dd44: 2b54 cmp r3, #84 ; 0x54 802dd46: d004 beq.n 802dd52 fn[indx + 2] = 'T'; 802dd48: 68fb ldr r3, [r7, #12] 802dd4a: 3302 adds r3, #2 802dd4c: 4a15 ldr r2, [pc, #84] ; (802dda4 ) 802dd4e: 2154 movs r1, #84 ; 0x54 802dd50: 54d1 strb r1, [r2, r3] } if((fn[indx + 3] != 'm') && (fn[indx + 3] != 'M')) { 802dd52: 68fb ldr r3, [r7, #12] 802dd54: 3303 adds r3, #3 802dd56: 4a13 ldr r2, [pc, #76] ; (802dda4 ) 802dd58: 5cd3 ldrb r3, [r2, r3] 802dd5a: 2b6d cmp r3, #109 ; 0x6d 802dd5c: d00a beq.n 802dd74 802dd5e: 68fb ldr r3, [r7, #12] 802dd60: 3303 adds r3, #3 802dd62: 4a10 ldr r2, [pc, #64] ; (802dda4 ) 802dd64: 5cd3 ldrb r3, [r2, r3] 802dd66: 2b4d cmp r3, #77 ; 0x4d 802dd68: d004 beq.n 802dd74 fn[indx + 3] = 'M'; 802dd6a: 68fb ldr r3, [r7, #12] 802dd6c: 3303 adds r3, #3 802dd6e: 4a0d ldr r2, [pc, #52] ; (802dda4 ) 802dd70: 214d movs r1, #77 ; 0x4d 802dd72: 54d1 strb r1, [r2, r3] } fn[indx + 4] = '\0'; 802dd74: 68fb ldr r3, [r7, #12] 802dd76: 3304 adds r3, #4 802dd78: 4a0a ldr r2, [pc, #40] ; (802dda4 ) 802dd7a: 2100 movs r1, #0 802dd7c: 54d1 strb r1, [r2, r3] if(strlen(fn) <= 4) 802dd7e: 4809 ldr r0, [pc, #36] ; (802dda4 ) 802dd80: f7f2 fac8 bl 8020314 802dd84: 4603 mov r3, r0 802dd86: 2b04 cmp r3, #4 802dd88: d803 bhi.n 802dd92 { *out_name = 0; 802dd8a: 683b ldr r3, [r7, #0] 802dd8c: 2200 movs r2, #0 802dd8e: 701a strb r2, [r3, #0] return; 802dd90: e004 b.n 802dd9c } } strcpy(out_name, fn); 802dd92: 4904 ldr r1, [pc, #16] ; (802dda4 ) 802dd94: 6838 ldr r0, [r7, #0] 802dd96: f09f fa74 bl 80cd282 return; 802dd9a: bf00 nop } 802dd9c: 3718 adds r7, #24 802dd9e: 46bd mov sp, r7 802dda0: bd80 pop {r7, pc} 802dda2: bf00 nop 802dda4: 20022df8 .word 0x20022df8 0802dda8 : void VerifyFileNameDGN(char *fname, char *out_name) { 802dda8: b580 push {r7, lr} 802ddaa: b086 sub sp, #24 802ddac: af00 add r7, sp, #0 802ddae: 6078 str r0, [r7, #4] 802ddb0: 6039 str r1, [r7, #0] uint32_t l, indx; char *pch; if(*fname == 0) 802ddb2: 687b ldr r3, [r7, #4] 802ddb4: 781b ldrb r3, [r3, #0] 802ddb6: 2b00 cmp r3, #0 802ddb8: d103 bne.n 802ddc2 { *out_name = 0; 802ddba: 683b ldr r3, [r7, #0] 802ddbc: 2200 movs r2, #0 802ddbe: 701a strb r2, [r3, #0] return; 802ddc0: e088 b.n 802ded4 } if(strcmp(fname, "") == 0) 802ddc2: 687b ldr r3, [r7, #4] 802ddc4: 781b ldrb r3, [r3, #0] 802ddc6: 2b00 cmp r3, #0 802ddc8: d103 bne.n 802ddd2 { *out_name = 0; 802ddca: 683b ldr r3, [r7, #0] 802ddcc: 2200 movs r2, #0 802ddce: 701a strb r2, [r3, #0] return; 802ddd0: e080 b.n 802ded4 } memset(fn, 0, sizeof(fn)); 802ddd2: 2228 movs r2, #40 ; 0x28 802ddd4: 2100 movs r1, #0 802ddd6: 4841 ldr r0, [pc, #260] ; (802dedc ) 802ddd8: f09f f936 bl 80cd048 strcpy(fn, fname); 802dddc: 6879 ldr r1, [r7, #4] 802ddde: 483f ldr r0, [pc, #252] ; (802dedc ) 802dde0: f09f fa4f bl 80cd282 pch = strchr(fn, '.'); 802dde4: 212e movs r1, #46 ; 0x2e 802dde6: 483d ldr r0, [pc, #244] ; (802dedc ) 802dde8: f09f fa3d bl 80cd266 802ddec: 6178 str r0, [r7, #20] if(pch == NULL) 802ddee: 697b ldr r3, [r7, #20] 802ddf0: 2b00 cmp r3, #0 802ddf2: d124 bne.n 802de3e { l = strlen(fn); 802ddf4: 4839 ldr r0, [pc, #228] ; (802dedc ) 802ddf6: f7f2 fa8d bl 8020314 802ddfa: 6138 str r0, [r7, #16] if(l == 0) 802ddfc: 693b ldr r3, [r7, #16] 802ddfe: 2b00 cmp r3, #0 802de00: d103 bne.n 802de0a { *out_name = 0;; 802de02: 683b ldr r3, [r7, #0] 802de04: 2200 movs r2, #0 802de06: 701a strb r2, [r3, #0] return; 802de08: e064 b.n 802ded4 } fn[l] = '.'; 802de0a: 4a34 ldr r2, [pc, #208] ; (802dedc ) 802de0c: 693b ldr r3, [r7, #16] 802de0e: 4413 add r3, r2 802de10: 222e movs r2, #46 ; 0x2e 802de12: 701a strb r2, [r3, #0] fn[l + 1] = 'D'; 802de14: 693b ldr r3, [r7, #16] 802de16: 3301 adds r3, #1 802de18: 4a30 ldr r2, [pc, #192] ; (802dedc ) 802de1a: 2144 movs r1, #68 ; 0x44 802de1c: 54d1 strb r1, [r2, r3] fn[l + 2] = 'G'; 802de1e: 693b ldr r3, [r7, #16] 802de20: 3302 adds r3, #2 802de22: 4a2e ldr r2, [pc, #184] ; (802dedc ) 802de24: 2147 movs r1, #71 ; 0x47 802de26: 54d1 strb r1, [r2, r3] fn[l + 3] = 'N'; 802de28: 693b ldr r3, [r7, #16] 802de2a: 3303 adds r3, #3 802de2c: 4a2b ldr r2, [pc, #172] ; (802dedc ) 802de2e: 214e movs r1, #78 ; 0x4e 802de30: 54d1 strb r1, [r2, r3] fn[l + 4] = '\0'; 802de32: 693b ldr r3, [r7, #16] 802de34: 3304 adds r3, #4 802de36: 4a29 ldr r2, [pc, #164] ; (802dedc ) 802de38: 2100 movs r1, #0 802de3a: 54d1 strb r1, [r2, r3] 802de3c: e045 b.n 802deca } else { indx = pch - fn; 802de3e: 697b ldr r3, [r7, #20] 802de40: 4a26 ldr r2, [pc, #152] ; (802dedc ) 802de42: 1a9b subs r3, r3, r2 802de44: 60fb str r3, [r7, #12] if((fn[indx + 1] != 'd') && (fn[indx + 1] != 'D')) { 802de46: 68fb ldr r3, [r7, #12] 802de48: 3301 adds r3, #1 802de4a: 4a24 ldr r2, [pc, #144] ; (802dedc ) 802de4c: 5cd3 ldrb r3, [r2, r3] 802de4e: 2b64 cmp r3, #100 ; 0x64 802de50: d00a beq.n 802de68 802de52: 68fb ldr r3, [r7, #12] 802de54: 3301 adds r3, #1 802de56: 4a21 ldr r2, [pc, #132] ; (802dedc ) 802de58: 5cd3 ldrb r3, [r2, r3] 802de5a: 2b44 cmp r3, #68 ; 0x44 802de5c: d004 beq.n 802de68 fn[indx + 1] = 'D'; 802de5e: 68fb ldr r3, [r7, #12] 802de60: 3301 adds r3, #1 802de62: 4a1e ldr r2, [pc, #120] ; (802dedc ) 802de64: 2144 movs r1, #68 ; 0x44 802de66: 54d1 strb r1, [r2, r3] } if((fn[indx + 2] != 'g') && (fn[indx + 2] != 'G')) { 802de68: 68fb ldr r3, [r7, #12] 802de6a: 3302 adds r3, #2 802de6c: 4a1b ldr r2, [pc, #108] ; (802dedc ) 802de6e: 5cd3 ldrb r3, [r2, r3] 802de70: 2b67 cmp r3, #103 ; 0x67 802de72: d00a beq.n 802de8a 802de74: 68fb ldr r3, [r7, #12] 802de76: 3302 adds r3, #2 802de78: 4a18 ldr r2, [pc, #96] ; (802dedc ) 802de7a: 5cd3 ldrb r3, [r2, r3] 802de7c: 2b47 cmp r3, #71 ; 0x47 802de7e: d004 beq.n 802de8a fn[indx + 2] = 'G'; 802de80: 68fb ldr r3, [r7, #12] 802de82: 3302 adds r3, #2 802de84: 4a15 ldr r2, [pc, #84] ; (802dedc ) 802de86: 2147 movs r1, #71 ; 0x47 802de88: 54d1 strb r1, [r2, r3] } if((fn[indx + 3] != 'n') && (fn[indx + 3] != 'N')) { 802de8a: 68fb ldr r3, [r7, #12] 802de8c: 3303 adds r3, #3 802de8e: 4a13 ldr r2, [pc, #76] ; (802dedc ) 802de90: 5cd3 ldrb r3, [r2, r3] 802de92: 2b6e cmp r3, #110 ; 0x6e 802de94: d00a beq.n 802deac 802de96: 68fb ldr r3, [r7, #12] 802de98: 3303 adds r3, #3 802de9a: 4a10 ldr r2, [pc, #64] ; (802dedc ) 802de9c: 5cd3 ldrb r3, [r2, r3] 802de9e: 2b4e cmp r3, #78 ; 0x4e 802dea0: d004 beq.n 802deac fn[indx + 3] = 'N'; 802dea2: 68fb ldr r3, [r7, #12] 802dea4: 3303 adds r3, #3 802dea6: 4a0d ldr r2, [pc, #52] ; (802dedc ) 802dea8: 214e movs r1, #78 ; 0x4e 802deaa: 54d1 strb r1, [r2, r3] } fn[indx + 4] = '\0'; 802deac: 68fb ldr r3, [r7, #12] 802deae: 3304 adds r3, #4 802deb0: 4a0a ldr r2, [pc, #40] ; (802dedc ) 802deb2: 2100 movs r1, #0 802deb4: 54d1 strb r1, [r2, r3] if(strlen(fn) <= 4) 802deb6: 4809 ldr r0, [pc, #36] ; (802dedc ) 802deb8: f7f2 fa2c bl 8020314 802debc: 4603 mov r3, r0 802debe: 2b04 cmp r3, #4 802dec0: d803 bhi.n 802deca { *out_name = 0; 802dec2: 683b ldr r3, [r7, #0] 802dec4: 2200 movs r2, #0 802dec6: 701a strb r2, [r3, #0] return; 802dec8: e004 b.n 802ded4 } } strcpy(out_name, fn); 802deca: 4904 ldr r1, [pc, #16] ; (802dedc ) 802decc: 6838 ldr r0, [r7, #0] 802dece: f09f f9d8 bl 80cd282 return; 802ded2: bf00 nop } 802ded4: 3718 adds r7, #24 802ded6: 46bd mov sp, r7 802ded8: bd80 pop {r7, pc} 802deda: bf00 nop 802dedc: 20022df8 .word 0x20022df8 0802dee0 : void VerifyFileNameGTR(char *fname, char *out_name) { 802dee0: b580 push {r7, lr} 802dee2: b086 sub sp, #24 802dee4: af00 add r7, sp, #0 802dee6: 6078 str r0, [r7, #4] 802dee8: 6039 str r1, [r7, #0] uint32_t l, indx; char *pch; if(*fname == 0) 802deea: 687b ldr r3, [r7, #4] 802deec: 781b ldrb r3, [r3, #0] 802deee: 2b00 cmp r3, #0 802def0: d103 bne.n 802defa { *out_name = 0; 802def2: 683b ldr r3, [r7, #0] 802def4: 2200 movs r2, #0 802def6: 701a strb r2, [r3, #0] return; 802def8: e088 b.n 802e00c } if(strcmp(fname, "") == 0) 802defa: 687b ldr r3, [r7, #4] 802defc: 781b ldrb r3, [r3, #0] 802defe: 2b00 cmp r3, #0 802df00: d103 bne.n 802df0a { *out_name = 0; 802df02: 683b ldr r3, [r7, #0] 802df04: 2200 movs r2, #0 802df06: 701a strb r2, [r3, #0] return; 802df08: e080 b.n 802e00c } memset(fn, 0, sizeof(fn)); 802df0a: 2228 movs r2, #40 ; 0x28 802df0c: 2100 movs r1, #0 802df0e: 4841 ldr r0, [pc, #260] ; (802e014 ) 802df10: f09f f89a bl 80cd048 strcpy(fn, fname); 802df14: 6879 ldr r1, [r7, #4] 802df16: 483f ldr r0, [pc, #252] ; (802e014 ) 802df18: f09f f9b3 bl 80cd282 pch = strchr(fn, '.'); 802df1c: 212e movs r1, #46 ; 0x2e 802df1e: 483d ldr r0, [pc, #244] ; (802e014 ) 802df20: f09f f9a1 bl 80cd266 802df24: 6178 str r0, [r7, #20] if(pch == NULL) 802df26: 697b ldr r3, [r7, #20] 802df28: 2b00 cmp r3, #0 802df2a: d124 bne.n 802df76 { l = strlen(fn); 802df2c: 4839 ldr r0, [pc, #228] ; (802e014 ) 802df2e: f7f2 f9f1 bl 8020314 802df32: 6138 str r0, [r7, #16] if(l == 0) 802df34: 693b ldr r3, [r7, #16] 802df36: 2b00 cmp r3, #0 802df38: d103 bne.n 802df42 { *out_name = 0; 802df3a: 683b ldr r3, [r7, #0] 802df3c: 2200 movs r2, #0 802df3e: 701a strb r2, [r3, #0] return; 802df40: e064 b.n 802e00c } fn[l] = '.'; 802df42: 4a34 ldr r2, [pc, #208] ; (802e014 ) 802df44: 693b ldr r3, [r7, #16] 802df46: 4413 add r3, r2 802df48: 222e movs r2, #46 ; 0x2e 802df4a: 701a strb r2, [r3, #0] fn[l + 1] = 'G'; 802df4c: 693b ldr r3, [r7, #16] 802df4e: 3301 adds r3, #1 802df50: 4a30 ldr r2, [pc, #192] ; (802e014 ) 802df52: 2147 movs r1, #71 ; 0x47 802df54: 54d1 strb r1, [r2, r3] fn[l + 2] = 'T'; 802df56: 693b ldr r3, [r7, #16] 802df58: 3302 adds r3, #2 802df5a: 4a2e ldr r2, [pc, #184] ; (802e014 ) 802df5c: 2154 movs r1, #84 ; 0x54 802df5e: 54d1 strb r1, [r2, r3] fn[l + 3] = 'R'; 802df60: 693b ldr r3, [r7, #16] 802df62: 3303 adds r3, #3 802df64: 4a2b ldr r2, [pc, #172] ; (802e014 ) 802df66: 2152 movs r1, #82 ; 0x52 802df68: 54d1 strb r1, [r2, r3] fn[l + 4] = '\0'; 802df6a: 693b ldr r3, [r7, #16] 802df6c: 3304 adds r3, #4 802df6e: 4a29 ldr r2, [pc, #164] ; (802e014 ) 802df70: 2100 movs r1, #0 802df72: 54d1 strb r1, [r2, r3] 802df74: e045 b.n 802e002 } else { indx = pch - fn; 802df76: 697b ldr r3, [r7, #20] 802df78: 4a26 ldr r2, [pc, #152] ; (802e014 ) 802df7a: 1a9b subs r3, r3, r2 802df7c: 60fb str r3, [r7, #12] if((fn[indx + 1] != 'g') && (fn[indx + 1] != 'G')) { 802df7e: 68fb ldr r3, [r7, #12] 802df80: 3301 adds r3, #1 802df82: 4a24 ldr r2, [pc, #144] ; (802e014 ) 802df84: 5cd3 ldrb r3, [r2, r3] 802df86: 2b67 cmp r3, #103 ; 0x67 802df88: d00a beq.n 802dfa0 802df8a: 68fb ldr r3, [r7, #12] 802df8c: 3301 adds r3, #1 802df8e: 4a21 ldr r2, [pc, #132] ; (802e014 ) 802df90: 5cd3 ldrb r3, [r2, r3] 802df92: 2b47 cmp r3, #71 ; 0x47 802df94: d004 beq.n 802dfa0 fn[indx + 1] = 'G'; 802df96: 68fb ldr r3, [r7, #12] 802df98: 3301 adds r3, #1 802df9a: 4a1e ldr r2, [pc, #120] ; (802e014 ) 802df9c: 2147 movs r1, #71 ; 0x47 802df9e: 54d1 strb r1, [r2, r3] } if((fn[indx + 2] != 't') && (fn[indx + 2] != 'T')) { 802dfa0: 68fb ldr r3, [r7, #12] 802dfa2: 3302 adds r3, #2 802dfa4: 4a1b ldr r2, [pc, #108] ; (802e014 ) 802dfa6: 5cd3 ldrb r3, [r2, r3] 802dfa8: 2b74 cmp r3, #116 ; 0x74 802dfaa: d00a beq.n 802dfc2 802dfac: 68fb ldr r3, [r7, #12] 802dfae: 3302 adds r3, #2 802dfb0: 4a18 ldr r2, [pc, #96] ; (802e014 ) 802dfb2: 5cd3 ldrb r3, [r2, r3] 802dfb4: 2b54 cmp r3, #84 ; 0x54 802dfb6: d004 beq.n 802dfc2 fn[indx + 2] = 'T'; 802dfb8: 68fb ldr r3, [r7, #12] 802dfba: 3302 adds r3, #2 802dfbc: 4a15 ldr r2, [pc, #84] ; (802e014 ) 802dfbe: 2154 movs r1, #84 ; 0x54 802dfc0: 54d1 strb r1, [r2, r3] } if((fn[indx + 3] != 'r') && (fn[indx + 3] != 'R')) { 802dfc2: 68fb ldr r3, [r7, #12] 802dfc4: 3303 adds r3, #3 802dfc6: 4a13 ldr r2, [pc, #76] ; (802e014 ) 802dfc8: 5cd3 ldrb r3, [r2, r3] 802dfca: 2b72 cmp r3, #114 ; 0x72 802dfcc: d00a beq.n 802dfe4 802dfce: 68fb ldr r3, [r7, #12] 802dfd0: 3303 adds r3, #3 802dfd2: 4a10 ldr r2, [pc, #64] ; (802e014 ) 802dfd4: 5cd3 ldrb r3, [r2, r3] 802dfd6: 2b52 cmp r3, #82 ; 0x52 802dfd8: d004 beq.n 802dfe4 fn[indx + 3] = 'R'; 802dfda: 68fb ldr r3, [r7, #12] 802dfdc: 3303 adds r3, #3 802dfde: 4a0d ldr r2, [pc, #52] ; (802e014 ) 802dfe0: 2152 movs r1, #82 ; 0x52 802dfe2: 54d1 strb r1, [r2, r3] } fn[indx + 4] = '\0'; 802dfe4: 68fb ldr r3, [r7, #12] 802dfe6: 3304 adds r3, #4 802dfe8: 4a0a ldr r2, [pc, #40] ; (802e014 ) 802dfea: 2100 movs r1, #0 802dfec: 54d1 strb r1, [r2, r3] if(strlen(fn) <= 4) 802dfee: 4809 ldr r0, [pc, #36] ; (802e014 ) 802dff0: f7f2 f990 bl 8020314 802dff4: 4603 mov r3, r0 802dff6: 2b04 cmp r3, #4 802dff8: d803 bhi.n 802e002 { *out_name = 0; 802dffa: 683b ldr r3, [r7, #0] 802dffc: 2200 movs r2, #0 802dffe: 701a strb r2, [r3, #0] return; 802e000: e004 b.n 802e00c } } strcpy(out_name, fn); 802e002: 4904 ldr r1, [pc, #16] ; (802e014 ) 802e004: 6838 ldr r0, [r7, #0] 802e006: f09f f93c bl 80cd282 return; 802e00a: bf00 nop } 802e00c: 3718 adds r7, #24 802e00e: 46bd mov sp, r7 802e010: bd80 pop {r7, pc} 802e012: bf00 nop 802e014: 20022df8 .word 0x20022df8 0802e018 : void VerifyFileNameCSV(char *fname, char *out_name) { 802e018: b580 push {r7, lr} 802e01a: b086 sub sp, #24 802e01c: af00 add r7, sp, #0 802e01e: 6078 str r0, [r7, #4] 802e020: 6039 str r1, [r7, #0] uint32_t l, indx; char *pch; if(*fname == 0) 802e022: 687b ldr r3, [r7, #4] 802e024: 781b ldrb r3, [r3, #0] 802e026: 2b00 cmp r3, #0 802e028: d103 bne.n 802e032 { *out_name = 0; 802e02a: 683b ldr r3, [r7, #0] 802e02c: 2200 movs r2, #0 802e02e: 701a strb r2, [r3, #0] return; 802e030: e088 b.n 802e144 } if(strcmp(fname, "") == 0) 802e032: 687b ldr r3, [r7, #4] 802e034: 781b ldrb r3, [r3, #0] 802e036: 2b00 cmp r3, #0 802e038: d103 bne.n 802e042 { *out_name = 0; 802e03a: 683b ldr r3, [r7, #0] 802e03c: 2200 movs r2, #0 802e03e: 701a strb r2, [r3, #0] return; 802e040: e080 b.n 802e144 } memset(fn, 0, sizeof(fn)); 802e042: 2228 movs r2, #40 ; 0x28 802e044: 2100 movs r1, #0 802e046: 4841 ldr r0, [pc, #260] ; (802e14c ) 802e048: f09e fffe bl 80cd048 strcpy(fn, fname); 802e04c: 6879 ldr r1, [r7, #4] 802e04e: 483f ldr r0, [pc, #252] ; (802e14c ) 802e050: f09f f917 bl 80cd282 pch = strchr(fn, '.'); 802e054: 212e movs r1, #46 ; 0x2e 802e056: 483d ldr r0, [pc, #244] ; (802e14c ) 802e058: f09f f905 bl 80cd266 802e05c: 6178 str r0, [r7, #20] if(pch == NULL) 802e05e: 697b ldr r3, [r7, #20] 802e060: 2b00 cmp r3, #0 802e062: d124 bne.n 802e0ae { l = strlen(fn); 802e064: 4839 ldr r0, [pc, #228] ; (802e14c ) 802e066: f7f2 f955 bl 8020314 802e06a: 6138 str r0, [r7, #16] if(l == 0) 802e06c: 693b ldr r3, [r7, #16] 802e06e: 2b00 cmp r3, #0 802e070: d103 bne.n 802e07a { *out_name = 0; 802e072: 683b ldr r3, [r7, #0] 802e074: 2200 movs r2, #0 802e076: 701a strb r2, [r3, #0] return; 802e078: e064 b.n 802e144 } fn[l] = '.'; 802e07a: 4a34 ldr r2, [pc, #208] ; (802e14c ) 802e07c: 693b ldr r3, [r7, #16] 802e07e: 4413 add r3, r2 802e080: 222e movs r2, #46 ; 0x2e 802e082: 701a strb r2, [r3, #0] fn[l + 1] = 'C'; 802e084: 693b ldr r3, [r7, #16] 802e086: 3301 adds r3, #1 802e088: 4a30 ldr r2, [pc, #192] ; (802e14c ) 802e08a: 2143 movs r1, #67 ; 0x43 802e08c: 54d1 strb r1, [r2, r3] fn[l + 2] = 'S'; 802e08e: 693b ldr r3, [r7, #16] 802e090: 3302 adds r3, #2 802e092: 4a2e ldr r2, [pc, #184] ; (802e14c ) 802e094: 2153 movs r1, #83 ; 0x53 802e096: 54d1 strb r1, [r2, r3] fn[l + 3] = 'V'; 802e098: 693b ldr r3, [r7, #16] 802e09a: 3303 adds r3, #3 802e09c: 4a2b ldr r2, [pc, #172] ; (802e14c ) 802e09e: 2156 movs r1, #86 ; 0x56 802e0a0: 54d1 strb r1, [r2, r3] fn[l + 4] = '\0'; 802e0a2: 693b ldr r3, [r7, #16] 802e0a4: 3304 adds r3, #4 802e0a6: 4a29 ldr r2, [pc, #164] ; (802e14c ) 802e0a8: 2100 movs r1, #0 802e0aa: 54d1 strb r1, [r2, r3] 802e0ac: e045 b.n 802e13a } else { indx = pch - fn; 802e0ae: 697b ldr r3, [r7, #20] 802e0b0: 4a26 ldr r2, [pc, #152] ; (802e14c ) 802e0b2: 1a9b subs r3, r3, r2 802e0b4: 60fb str r3, [r7, #12] if((fn[indx + 1] != 'c') && (fn[indx + 1] != 'C')) { 802e0b6: 68fb ldr r3, [r7, #12] 802e0b8: 3301 adds r3, #1 802e0ba: 4a24 ldr r2, [pc, #144] ; (802e14c ) 802e0bc: 5cd3 ldrb r3, [r2, r3] 802e0be: 2b63 cmp r3, #99 ; 0x63 802e0c0: d00a beq.n 802e0d8 802e0c2: 68fb ldr r3, [r7, #12] 802e0c4: 3301 adds r3, #1 802e0c6: 4a21 ldr r2, [pc, #132] ; (802e14c ) 802e0c8: 5cd3 ldrb r3, [r2, r3] 802e0ca: 2b43 cmp r3, #67 ; 0x43 802e0cc: d004 beq.n 802e0d8 fn[indx + 1] = 'C'; 802e0ce: 68fb ldr r3, [r7, #12] 802e0d0: 3301 adds r3, #1 802e0d2: 4a1e ldr r2, [pc, #120] ; (802e14c ) 802e0d4: 2143 movs r1, #67 ; 0x43 802e0d6: 54d1 strb r1, [r2, r3] } if((fn[indx + 2] != 's') && (fn[indx + 2] != 'S')) { 802e0d8: 68fb ldr r3, [r7, #12] 802e0da: 3302 adds r3, #2 802e0dc: 4a1b ldr r2, [pc, #108] ; (802e14c ) 802e0de: 5cd3 ldrb r3, [r2, r3] 802e0e0: 2b73 cmp r3, #115 ; 0x73 802e0e2: d00a beq.n 802e0fa 802e0e4: 68fb ldr r3, [r7, #12] 802e0e6: 3302 adds r3, #2 802e0e8: 4a18 ldr r2, [pc, #96] ; (802e14c ) 802e0ea: 5cd3 ldrb r3, [r2, r3] 802e0ec: 2b53 cmp r3, #83 ; 0x53 802e0ee: d004 beq.n 802e0fa fn[indx + 2] = 'S'; 802e0f0: 68fb ldr r3, [r7, #12] 802e0f2: 3302 adds r3, #2 802e0f4: 4a15 ldr r2, [pc, #84] ; (802e14c ) 802e0f6: 2153 movs r1, #83 ; 0x53 802e0f8: 54d1 strb r1, [r2, r3] } if((fn[indx + 3] != 'v') && (fn[indx + 3] != 'V')) { 802e0fa: 68fb ldr r3, [r7, #12] 802e0fc: 3303 adds r3, #3 802e0fe: 4a13 ldr r2, [pc, #76] ; (802e14c ) 802e100: 5cd3 ldrb r3, [r2, r3] 802e102: 2b76 cmp r3, #118 ; 0x76 802e104: d00a beq.n 802e11c 802e106: 68fb ldr r3, [r7, #12] 802e108: 3303 adds r3, #3 802e10a: 4a10 ldr r2, [pc, #64] ; (802e14c ) 802e10c: 5cd3 ldrb r3, [r2, r3] 802e10e: 2b56 cmp r3, #86 ; 0x56 802e110: d004 beq.n 802e11c fn[indx + 3] = 'V'; 802e112: 68fb ldr r3, [r7, #12] 802e114: 3303 adds r3, #3 802e116: 4a0d ldr r2, [pc, #52] ; (802e14c ) 802e118: 2156 movs r1, #86 ; 0x56 802e11a: 54d1 strb r1, [r2, r3] } fn[indx + 4] = '\0'; 802e11c: 68fb ldr r3, [r7, #12] 802e11e: 3304 adds r3, #4 802e120: 4a0a ldr r2, [pc, #40] ; (802e14c ) 802e122: 2100 movs r1, #0 802e124: 54d1 strb r1, [r2, r3] if(strlen(fn) <= 4) 802e126: 4809 ldr r0, [pc, #36] ; (802e14c ) 802e128: f7f2 f8f4 bl 8020314 802e12c: 4603 mov r3, r0 802e12e: 2b04 cmp r3, #4 802e130: d803 bhi.n 802e13a { *out_name = 0; 802e132: 683b ldr r3, [r7, #0] 802e134: 2200 movs r2, #0 802e136: 701a strb r2, [r3, #0] return; 802e138: e004 b.n 802e144 } } strcpy(out_name, fn); 802e13a: 4904 ldr r1, [pc, #16] ; (802e14c ) 802e13c: 6838 ldr r0, [r7, #0] 802e13e: f09f f8a0 bl 80cd282 return; 802e142: bf00 nop } 802e144: 3718 adds r7, #24 802e146: 46bd mov sp, r7 802e148: bd80 pop {r7, pc} 802e14a: bf00 nop 802e14c: 20022df8 .word 0x20022df8 0802e150 : return; } void VerifyFileNameSPEC(char *fname, char *out_name) { 802e150: b580 push {r7, lr} 802e152: b086 sub sp, #24 802e154: af00 add r7, sp, #0 802e156: 6078 str r0, [r7, #4] 802e158: 6039 str r1, [r7, #0] uint32_t l, indx; char *pch; if(*fname == 0) 802e15a: 687b ldr r3, [r7, #4] 802e15c: 781b ldrb r3, [r3, #0] 802e15e: 2b00 cmp r3, #0 802e160: d103 bne.n 802e16a { *out_name = 0; 802e162: 683b ldr r3, [r7, #0] 802e164: 2200 movs r2, #0 802e166: 701a strb r2, [r3, #0] return; 802e168: e088 b.n 802e27c } if(strcmp(fname, "") == 0) 802e16a: 687b ldr r3, [r7, #4] 802e16c: 781b ldrb r3, [r3, #0] 802e16e: 2b00 cmp r3, #0 802e170: d103 bne.n 802e17a { *out_name = 0; 802e172: 683b ldr r3, [r7, #0] 802e174: 2200 movs r2, #0 802e176: 701a strb r2, [r3, #0] return; 802e178: e080 b.n 802e27c } memset(fn, 0, sizeof(fn)); 802e17a: 2228 movs r2, #40 ; 0x28 802e17c: 2100 movs r1, #0 802e17e: 4841 ldr r0, [pc, #260] ; (802e284 ) 802e180: f09e ff62 bl 80cd048 strcpy(fn, fname); 802e184: 6879 ldr r1, [r7, #4] 802e186: 483f ldr r0, [pc, #252] ; (802e284 ) 802e188: f09f f87b bl 80cd282 pch = strchr(fn, '.'); 802e18c: 212e movs r1, #46 ; 0x2e 802e18e: 483d ldr r0, [pc, #244] ; (802e284 ) 802e190: f09f f869 bl 80cd266 802e194: 6178 str r0, [r7, #20] if(pch == NULL) 802e196: 697b ldr r3, [r7, #20] 802e198: 2b00 cmp r3, #0 802e19a: d124 bne.n 802e1e6 { l = strlen(fn); 802e19c: 4839 ldr r0, [pc, #228] ; (802e284 ) 802e19e: f7f2 f8b9 bl 8020314 802e1a2: 6138 str r0, [r7, #16] if(l == 0) 802e1a4: 693b ldr r3, [r7, #16] 802e1a6: 2b00 cmp r3, #0 802e1a8: d103 bne.n 802e1b2 { *out_name = 0; 802e1aa: 683b ldr r3, [r7, #0] 802e1ac: 2200 movs r2, #0 802e1ae: 701a strb r2, [r3, #0] return; 802e1b0: e064 b.n 802e27c } fn[l] = '.'; 802e1b2: 4a34 ldr r2, [pc, #208] ; (802e284 ) 802e1b4: 693b ldr r3, [r7, #16] 802e1b6: 4413 add r3, r2 802e1b8: 222e movs r2, #46 ; 0x2e 802e1ba: 701a strb r2, [r3, #0] fn[l + 1] = 'C'; 802e1bc: 693b ldr r3, [r7, #16] 802e1be: 3301 adds r3, #1 802e1c0: 4a30 ldr r2, [pc, #192] ; (802e284 ) 802e1c2: 2143 movs r1, #67 ; 0x43 802e1c4: 54d1 strb r1, [r2, r3] fn[l + 2] = 'S'; 802e1c6: 693b ldr r3, [r7, #16] 802e1c8: 3302 adds r3, #2 802e1ca: 4a2e ldr r2, [pc, #184] ; (802e284 ) 802e1cc: 2153 movs r1, #83 ; 0x53 802e1ce: 54d1 strb r1, [r2, r3] fn[l + 3] = 'V'; 802e1d0: 693b ldr r3, [r7, #16] 802e1d2: 3303 adds r3, #3 802e1d4: 4a2b ldr r2, [pc, #172] ; (802e284 ) 802e1d6: 2156 movs r1, #86 ; 0x56 802e1d8: 54d1 strb r1, [r2, r3] fn[l + 4] = '\0'; 802e1da: 693b ldr r3, [r7, #16] 802e1dc: 3304 adds r3, #4 802e1de: 4a29 ldr r2, [pc, #164] ; (802e284 ) 802e1e0: 2100 movs r1, #0 802e1e2: 54d1 strb r1, [r2, r3] 802e1e4: e045 b.n 802e272 } else { indx = pch - fn; 802e1e6: 697b ldr r3, [r7, #20] 802e1e8: 4a26 ldr r2, [pc, #152] ; (802e284 ) 802e1ea: 1a9b subs r3, r3, r2 802e1ec: 60fb str r3, [r7, #12] if((fn[indx + 1] != 'c') && (fn[indx + 1] != 'C')) { 802e1ee: 68fb ldr r3, [r7, #12] 802e1f0: 3301 adds r3, #1 802e1f2: 4a24 ldr r2, [pc, #144] ; (802e284 ) 802e1f4: 5cd3 ldrb r3, [r2, r3] 802e1f6: 2b63 cmp r3, #99 ; 0x63 802e1f8: d00a beq.n 802e210 802e1fa: 68fb ldr r3, [r7, #12] 802e1fc: 3301 adds r3, #1 802e1fe: 4a21 ldr r2, [pc, #132] ; (802e284 ) 802e200: 5cd3 ldrb r3, [r2, r3] 802e202: 2b43 cmp r3, #67 ; 0x43 802e204: d004 beq.n 802e210 fn[indx + 1] = 'C'; 802e206: 68fb ldr r3, [r7, #12] 802e208: 3301 adds r3, #1 802e20a: 4a1e ldr r2, [pc, #120] ; (802e284 ) 802e20c: 2143 movs r1, #67 ; 0x43 802e20e: 54d1 strb r1, [r2, r3] } if((fn[indx + 2] != 's') && (fn[indx + 2] != 'S')) { 802e210: 68fb ldr r3, [r7, #12] 802e212: 3302 adds r3, #2 802e214: 4a1b ldr r2, [pc, #108] ; (802e284 ) 802e216: 5cd3 ldrb r3, [r2, r3] 802e218: 2b73 cmp r3, #115 ; 0x73 802e21a: d00a beq.n 802e232 802e21c: 68fb ldr r3, [r7, #12] 802e21e: 3302 adds r3, #2 802e220: 4a18 ldr r2, [pc, #96] ; (802e284 ) 802e222: 5cd3 ldrb r3, [r2, r3] 802e224: 2b53 cmp r3, #83 ; 0x53 802e226: d004 beq.n 802e232 fn[indx + 2] = 'S'; 802e228: 68fb ldr r3, [r7, #12] 802e22a: 3302 adds r3, #2 802e22c: 4a15 ldr r2, [pc, #84] ; (802e284 ) 802e22e: 2153 movs r1, #83 ; 0x53 802e230: 54d1 strb r1, [r2, r3] } if((fn[indx + 3] != 'v') && (fn[indx + 3] != 'V')) { 802e232: 68fb ldr r3, [r7, #12] 802e234: 3303 adds r3, #3 802e236: 4a13 ldr r2, [pc, #76] ; (802e284 ) 802e238: 5cd3 ldrb r3, [r2, r3] 802e23a: 2b76 cmp r3, #118 ; 0x76 802e23c: d00a beq.n 802e254 802e23e: 68fb ldr r3, [r7, #12] 802e240: 3303 adds r3, #3 802e242: 4a10 ldr r2, [pc, #64] ; (802e284 ) 802e244: 5cd3 ldrb r3, [r2, r3] 802e246: 2b56 cmp r3, #86 ; 0x56 802e248: d004 beq.n 802e254 fn[indx + 3] = 'V'; 802e24a: 68fb ldr r3, [r7, #12] 802e24c: 3303 adds r3, #3 802e24e: 4a0d ldr r2, [pc, #52] ; (802e284 ) 802e250: 2156 movs r1, #86 ; 0x56 802e252: 54d1 strb r1, [r2, r3] } fn[indx + 4] = '\0'; 802e254: 68fb ldr r3, [r7, #12] 802e256: 3304 adds r3, #4 802e258: 4a0a ldr r2, [pc, #40] ; (802e284 ) 802e25a: 2100 movs r1, #0 802e25c: 54d1 strb r1, [r2, r3] if(strlen(fn) <= 4) 802e25e: 4809 ldr r0, [pc, #36] ; (802e284 ) 802e260: f7f2 f858 bl 8020314 802e264: 4603 mov r3, r0 802e266: 2b04 cmp r3, #4 802e268: d803 bhi.n 802e272 { *out_name = 0; 802e26a: 683b ldr r3, [r7, #0] 802e26c: 2200 movs r2, #0 802e26e: 701a strb r2, [r3, #0] return; 802e270: e004 b.n 802e27c } } strcpy(out_name, fn); 802e272: 4904 ldr r1, [pc, #16] ; (802e284 ) 802e274: 6838 ldr r0, [r7, #0] 802e276: f09f f804 bl 80cd282 return; 802e27a: bf00 nop } 802e27c: 3718 adds r7, #24 802e27e: 46bd mov sp, r7 802e280: bd80 pop {r7, pc} 802e282: bf00 nop 802e284: 20022df8 .word 0x20022df8 0802e288 : HAL_FLASHEx_OBGetConfig(&OBInit); } void wrPar(void) { 802e288: b590 push {r4, r7, lr} 802e28a: b087 sub sp, #28 802e28c: af00 add r7, sp, #0 volatile uint32_t i; volatile uint32_t lenpar = 0; 802e28e: 2300 movs r3, #0 802e290: 60fb str r3, [r7, #12] volatile uint32_t Address, *pData; uint32_t SECTORError = 0; 802e292: 2300 movs r3, #0 802e294: 607b str r3, [r7, #4] #ifndef DEBUGGING lenpar = sizeof(UserData_TypeDef); 802e296: f44f 6396 mov.w r3, #1200 ; 0x4b0 802e29a: 60fb str r3, [r7, #12] while(lenpar % 4) { 802e29c: e002 b.n 802e2a4 lenpar++; 802e29e: 68fb ldr r3, [r7, #12] 802e2a0: 3301 adds r3, #1 802e2a2: 60fb str r3, [r7, #12] while(lenpar % 4) { 802e2a4: 68fb ldr r3, [r7, #12] 802e2a6: f003 0303 and.w r3, r3, #3 802e2aa: 2b00 cmp r3, #0 802e2ac: d1f7 bne.n 802e29e } lenpar >>= 2; 802e2ae: 68fb ldr r3, [r7, #12] 802e2b0: 089b lsrs r3, r3, #2 802e2b2: 60fb str r3, [r7, #12] if(MeasFileName[0] != 0) 802e2b4: 4b2f ldr r3, [pc, #188] ; (802e374 ) 802e2b6: 781b ldrb r3, [r3, #0] 802e2b8: 2b00 cmp r3, #0 802e2ba: d004 beq.n 802e2c6 memcpy((void *) &pardata.MEASNAME[0], MeasFileName, 40); 802e2bc: 2228 movs r2, #40 ; 0x28 802e2be: 492d ldr r1, [pc, #180] ; (802e374 ) 802e2c0: 482d ldr r0, [pc, #180] ; (802e378 ) 802e2c2: f09e feb6 bl 80cd032 if(WavFileName[0] != 0) 802e2c6: 4b2d ldr r3, [pc, #180] ; (802e37c ) 802e2c8: 781b ldrb r3, [r3, #0] 802e2ca: 2b00 cmp r3, #0 802e2cc: d004 beq.n 802e2d8 memcpy((void *) &pardata.WAVNAME[0], WavFileName, 40); 802e2ce: 2228 movs r2, #40 ; 0x28 802e2d0: 492a ldr r1, [pc, #168] ; (802e37c ) 802e2d2: 482b ldr r0, [pc, #172] ; (802e380 ) 802e2d4: f09e fead bl 80cd032 if(DiagFileName[0] != 0) 802e2d8: 4b2a ldr r3, [pc, #168] ; (802e384 ) 802e2da: 781b ldrb r3, [r3, #0] 802e2dc: 2b00 cmp r3, #0 802e2de: d004 beq.n 802e2ea memcpy((void *) &pardata.DIAGN_FILE[0], DiagFileName, 40); 802e2e0: 2228 movs r2, #40 ; 0x28 802e2e2: 4928 ldr r1, [pc, #160] ; (802e384 ) 802e2e4: 4828 ldr r0, [pc, #160] ; (802e388 ) 802e2e6: f09e fea4 bl 80cd032 if(RouteFileName[0] != 0) 802e2ea: 4b28 ldr r3, [pc, #160] ; (802e38c ) 802e2ec: 781b ldrb r3, [r3, #0] 802e2ee: 2b00 cmp r3, #0 802e2f0: d004 beq.n 802e2fc memcpy((void *) &pardata.ROUTE_NAME[0], RouteFileName, 40); 802e2f2: 2228 movs r2, #40 ; 0x28 802e2f4: 4925 ldr r1, [pc, #148] ; (802e38c ) 802e2f6: 4826 ldr r0, [pc, #152] ; (802e390 ) 802e2f8: f09e fe9b bl 80cd032 __ASM volatile ("cpsid i" : : : "memory"); 802e2fc: b672 cpsid i __disable_irq(); HAL_FLASH_Unlock(); 802e2fe: f086 ff35 bl 80b516c EraseInitStruct.TypeErase = FLASH_TYPEERASE_SECTORS; 802e302: 4b24 ldr r3, [pc, #144] ; (802e394 ) 802e304: 2200 movs r2, #0 802e306: 601a str r2, [r3, #0] EraseInitStruct.VoltageRange = FLASH_VOLTAGE_RANGE_3; 802e308: 4b22 ldr r3, [pc, #136] ; (802e394 ) 802e30a: 2202 movs r2, #2 802e30c: 611a str r2, [r3, #16] EraseInitStruct.Sector = USERSECTOR; //FLASH_SECTOR_11; 802e30e: 4b21 ldr r3, [pc, #132] ; (802e394 ) 802e310: 2203 movs r2, #3 802e312: 609a str r2, [r3, #8] EraseInitStruct.NbSectors = 1; 802e314: 4b1f ldr r3, [pc, #124] ; (802e394 ) 802e316: 2201 movs r2, #1 802e318: 60da str r2, [r3, #12] if(HAL_FLASHEx_Erase(&EraseInitStruct, &SECTORError) == HAL_OK) 802e31a: 1d3b adds r3, r7, #4 802e31c: 4619 mov r1, r3 802e31e: 481d ldr r0, [pc, #116] ; (802e394 ) 802e320: f087 f87e bl 80b5420 802e324: 4603 mov r3, r0 802e326: 2b00 cmp r3, #0 802e328: d11c bne.n 802e364 { Address = USERPAGE; 802e32a: 4b1b ldr r3, [pc, #108] ; (802e398 ) 802e32c: 60bb str r3, [r7, #8] pData = (uint32_t *) &pardata; 802e32e: 4b1b ldr r3, [pc, #108] ; (802e39c ) 802e330: 617b str r3, [r7, #20] for(i = 0; i < lenpar; i++) 802e332: 2300 movs r3, #0 802e334: 613b str r3, [r7, #16] 802e336: e011 b.n 802e35c { HAL_FLASH_Program(FLASH_TYPEPROGRAM_WORD, Address, *pData++); 802e338: 68b9 ldr r1, [r7, #8] 802e33a: 697b ldr r3, [r7, #20] 802e33c: 1d1a adds r2, r3, #4 802e33e: 617a str r2, [r7, #20] 802e340: 681b ldr r3, [r3, #0] 802e342: f04f 0400 mov.w r4, #0 802e346: 461a mov r2, r3 802e348: 4623 mov r3, r4 802e34a: 2002 movs r0, #2 802e34c: f086 feb2 bl 80b50b4 Address += 4; 802e350: 68bb ldr r3, [r7, #8] 802e352: 3304 adds r3, #4 802e354: 60bb str r3, [r7, #8] for(i = 0; i < lenpar; i++) 802e356: 693b ldr r3, [r7, #16] 802e358: 3301 adds r3, #1 802e35a: 613b str r3, [r7, #16] 802e35c: 693a ldr r2, [r7, #16] 802e35e: 68fb ldr r3, [r7, #12] 802e360: 429a cmp r2, r3 802e362: d3e9 bcc.n 802e338 } } HAL_FLASH_Lock(); 802e364: f086 ff24 bl 80b51b0 __ASM volatile ("cpsie i" : : : "memory"); 802e368: b662 cpsie i __enable_irq(); #endif } 802e36a: bf00 nop 802e36c: 371c adds r7, #28 802e36e: 46bd mov sp, r7 802e370: bd90 pop {r4, r7, pc} 802e372: bf00 nop 802e374: 20020e58 .word 0x20020e58 802e378: 20023ea0 .word 0x20023ea0 802e37c: 20020e34 .word 0x20020e34 802e380: 20023ec8 .word 0x20023ec8 802e384: 20020e7c .word 0x20020e7c 802e388: 200242bc .word 0x200242bc 802e38c: 20020ea0 .word 0x20020ea0 802e390: 200242e4 .word 0x200242e4 802e394: 20020efc .word 0x20020efc 802e398: 08018000 .word 0x08018000 802e39c: 20023e60 .word 0x20023e60 0802e3a0 : void rdPar(void) { 802e3a0: b5f0 push {r4, r5, r6, r7, lr} 802e3a2: b085 sub sp, #20 802e3a4: af00 add r7, sp, #0 uint8_t i, j; uint32_t lenpar; volatile bool rewrite = false; 802e3a6: 2300 movs r3, #0 802e3a8: 71fb strb r3, [r7, #7] sfloat hpf; lenpar = sizeof(UserData_TypeDef); 802e3aa: f44f 6396 mov.w r3, #1200 ; 0x4b0 802e3ae: 60bb str r3, [r7, #8] memcpy((void *) &pardata, (void *) USERPAGE, lenpar); 802e3b0: 68ba ldr r2, [r7, #8] 802e3b2: 496e ldr r1, [pc, #440] ; (802e56c ) 802e3b4: 486e ldr r0, [pc, #440] ; (802e570 ) 802e3b6: f09e fe3c bl 80cd032 if(pardata.PWR_CNT == 0xffffffff) // FIRST_POWER_ON 802e3ba: 4b6d ldr r3, [pc, #436] ; (802e570 ) 802e3bc: f8d3 3090 ldr.w r3, [r3, #144] ; 0x90 802e3c0: f1b3 3fff cmp.w r3, #4294967295 802e3c4: d109 bne.n 802e3da { FirstOn = true; 802e3c6: 4b6b ldr r3, [pc, #428] ; (802e574 ) 802e3c8: 2201 movs r2, #1 802e3ca: 701a strb r2, [r3, #0] pardata.PWR_CNT = 1; 802e3cc: 4b68 ldr r3, [pc, #416] ; (802e570 ) 802e3ce: 2201 movs r2, #1 802e3d0: f8c3 2090 str.w r2, [r3, #144] ; 0x90 rewrite = true; 802e3d4: 2301 movs r3, #1 802e3d6: 71fb strb r3, [r7, #7] 802e3d8: e020 b.n 802e41c } else { FirstOn = false; 802e3da: 4b66 ldr r3, [pc, #408] ; (802e574 ) 802e3dc: 2200 movs r2, #0 802e3de: 701a strb r2, [r3, #0] if((pardata.PWR_CNT > 0) && (pardata.PWR_CNT < 0xffffffff)) { 802e3e0: 4b63 ldr r3, [pc, #396] ; (802e570 ) 802e3e2: f8d3 3090 ldr.w r3, [r3, #144] ; 0x90 802e3e6: 2b00 cmp r3, #0 802e3e8: d00c beq.n 802e404 802e3ea: 4b61 ldr r3, [pc, #388] ; (802e570 ) 802e3ec: f8d3 3090 ldr.w r3, [r3, #144] ; 0x90 802e3f0: f1b3 3fff cmp.w r3, #4294967295 802e3f4: d006 beq.n 802e404 pardata.PWR_CNT++; 802e3f6: 4b5e ldr r3, [pc, #376] ; (802e570 ) 802e3f8: f8d3 3090 ldr.w r3, [r3, #144] ; 0x90 802e3fc: 3301 adds r3, #1 802e3fe: 4a5c ldr r2, [pc, #368] ; (802e570 ) 802e400: f8c2 3090 str.w r3, [r2, #144] ; 0x90 } if((pardata.SYG > DIAGN) || (pardata.LANG > ENG)) { 802e404: 4b5a ldr r3, [pc, #360] ; (802e570 ) 802e406: 781b ldrb r3, [r3, #0] 802e408: b2db uxtb r3, r3 802e40a: 2b0a cmp r3, #10 802e40c: d804 bhi.n 802e418 802e40e: 4b58 ldr r3, [pc, #352] ; (802e570 ) 802e410: 7b1b ldrb r3, [r3, #12] 802e412: b2db uxtb r3, r3 802e414: 2b01 cmp r3, #1 802e416: d901 bls.n 802e41c rewrite = true; 802e418: 2301 movs r3, #1 802e41a: 71fb strb r3, [r7, #7] //rewrite = true; //TODO if(rewrite == true) 802e41c: 79fb ldrb r3, [r7, #7] 802e41e: b2db uxtb r3, r3 802e420: 2b00 cmp r3, #0 802e422: f000 8113 beq.w 802e64c { memset((char *) &pardata.MEASNAME[0], 0, sizeof(MeasFileName)); 802e426: 2221 movs r2, #33 ; 0x21 802e428: 2100 movs r1, #0 802e42a: 4853 ldr r0, [pc, #332] ; (802e578 ) 802e42c: f09e fe0c bl 80cd048 memset((char *) &pardata.WAVNAME[0], 0, sizeof(WavFileName)); 802e430: 2221 movs r2, #33 ; 0x21 802e432: 2100 movs r1, #0 802e434: 4851 ldr r0, [pc, #324] ; (802e57c ) 802e436: f09e fe07 bl 80cd048 memset((char *) &pardata.DIAGN_FILE[0], 0, sizeof(DiagFileName)); 802e43a: 2221 movs r2, #33 ; 0x21 802e43c: 2100 movs r1, #0 802e43e: 4850 ldr r0, [pc, #320] ; (802e580 ) 802e440: f09e fe02 bl 80cd048 memset((char *) &pardata.ROUTE_NAME[0], 0, sizeof(RouteFileName)); 802e444: 2221 movs r2, #33 ; 0x21 802e446: 2100 movs r1, #0 802e448: 484e ldr r0, [pc, #312] ; (802e584 ) 802e44a: f09e fdfd bl 80cd048 pardata.ROUTE_POINT = 0xffffffff; 802e44e: 4b48 ldr r3, [pc, #288] ; (802e570 ) 802e450: f04f 32ff mov.w r2, #4294967295 802e454: f8c3 24ac str.w r2, [r3, #1196] ; 0x4ac pardata.SYG = VIB; 802e458: 4b45 ldr r3, [pc, #276] ; (802e570 ) 802e45a: 2200 movs r2, #0 802e45c: 701a strb r2, [r3, #0] pardata.IPR = ACC; 802e45e: 4b44 ldr r3, [pc, #272] ; (802e570 ) 802e460: 2200 movs r2, #0 802e462: 705a strb r2, [r3, #1] pardata.IVS[ACC] = RMS; 802e464: 4b42 ldr r3, [pc, #264] ; (802e570 ) 802e466: 2201 movs r2, #1 802e468: 709a strb r2, [r3, #2] pardata.IVS[VEL] = RMS; 802e46a: 4b41 ldr r3, [pc, #260] ; (802e570 ) 802e46c: 2201 movs r2, #1 802e46e: 70da strb r2, [r3, #3] pardata.IVS[DIS] = RMS; 802e470: 4b3f ldr r3, [pc, #252] ; (802e570 ) 802e472: 2201 movs r2, #1 802e474: 711a strb r2, [r3, #4] pardata.UDAR_TYPE = SPECTR; 802e476: 4b3e ldr r3, [pc, #248] ; (802e570 ) 802e478: 2200 movs r2, #0 802e47a: 715a strb r2, [r3, #5] pardata.IIN = ICP; 802e47c: 4b3c ldr r3, [pc, #240] ; (802e570 ) 802e47e: 2201 movs r2, #1 802e480: 719a strb r2, [r3, #6] pardata.LNE = N3200; 802e482: 4b3b ldr r3, [pc, #236] ; (802e570 ) 802e484: 2203 movs r2, #3 802e486: 71da strb r2, [r3, #7] pardata.IKU = Ku1; 802e488: 4b39 ldr r3, [pc, #228] ; (802e570 ) 802e48a: 2200 movs r2, #0 802e48c: 721a strb r2, [r3, #8] pardata.WIN = HANN; 802e48e: 4b38 ldr r3, [pc, #224] ; (802e570 ) 802e490: 2201 movs r2, #1 802e492: 725a strb r2, [r3, #9] pardata.MSH = LIN; 802e494: 4b36 ldr r3, [pc, #216] ; (802e570 ) 802e496: 2200 movs r2, #0 802e498: 729a strb r2, [r3, #10] pardata.FRQ = _64000Hz; 802e49a: 4b35 ldr r3, [pc, #212] ; (802e570 ) 802e49c: 2209 movs r2, #9 802e49e: 72da strb r2, [r3, #11] pardata.AVG = AVG1; 802e4a0: 4b33 ldr r3, [pc, #204] ; (802e570 ) 802e4a2: 2200 movs r2, #0 802e4a4: 735a strb r2, [r3, #13] pardata.LANG = RUS; 802e4a6: 4b32 ldr r3, [pc, #200] ; (802e570 ) 802e4a8: 2200 movs r2, #0 802e4aa: 731a strb r2, [r3, #12] pardata.IKK = 1.000f; 802e4ac: 4b30 ldr r3, [pc, #192] ; (802e570 ) 802e4ae: f04f 527e mov.w r2, #1065353216 ; 0x3f800000 802e4b2: 611a str r2, [r3, #16] pardata.THR = 0; 802e4b4: 4b2e ldr r3, [pc, #184] ; (802e570 ) 802e4b6: 2200 movs r2, #0 802e4b8: 73da strb r2, [r3, #15] pardata.THR_VAL = 10.0f; 802e4ba: 4b2d ldr r3, [pc, #180] ; (802e570 ) 802e4bc: 4a32 ldr r2, [pc, #200] ; (802e588 ) 802e4be: 615a str r2, [r3, #20] pardata.MAX_VAL = 200.0f; 802e4c0: 4b2b ldr r3, [pc, #172] ; (802e570 ) 802e4c2: 4a32 ldr r2, [pc, #200] ; (802e58c ) 802e4c4: 619a str r2, [r3, #24] pardata.HP = 2.0000011f; 802e4c6: 4b2a ldr r3, [pc, #168] ; (802e570 ) 802e4c8: 4a31 ldr r2, [pc, #196] ; (802e590 ) 802e4ca: f8c3 20d4 str.w r2, [r3, #212] ; 0xd4 pardata.LP = 12800.000011111f; 802e4ce: 4b28 ldr r3, [pc, #160] ; (802e570 ) 802e4d0: 4a30 ldr r2, [pc, #192] ; (802e594 ) 802e4d2: f8c3 20d8 str.w r2, [r3, #216] ; 0xd8 pardata.TME = SEC10; 802e4d6: 4b26 ldr r3, [pc, #152] ; (802e570 ) 802e4d8: 2202 movs r2, #2 802e4da: 739a strb r2, [r3, #14] pardata.CORR_MULT = 1.0f; 802e4dc: 4b24 ldr r3, [pc, #144] ; (802e570 ) 802e4de: f04f 527e mov.w r2, #1065353216 ; 0x3f800000 802e4e2: f8c3 2094 str.w r2, [r3, #148] ; 0x94 for(i = 0; i < 9; i++) { 802e4e6: 2300 movs r3, #0 802e4e8: 73fb strb r3, [r7, #15] 802e4ea: e00e b.n 802e50a pardata.CORR_KU[i] = corrdata.CORR_ACC[i]; 802e4ec: 7bfb ldrb r3, [r7, #15] 802e4ee: 7bfa ldrb r2, [r7, #15] 802e4f0: 4929 ldr r1, [pc, #164] ; (802e598 ) 802e4f2: 0092 lsls r2, r2, #2 802e4f4: 440a add r2, r1 802e4f6: 6812 ldr r2, [r2, #0] 802e4f8: 491d ldr r1, [pc, #116] ; (802e570 ) 802e4fa: 3306 adds r3, #6 802e4fc: 009b lsls r3, r3, #2 802e4fe: 440b add r3, r1 802e500: 3304 adds r3, #4 802e502: 601a str r2, [r3, #0] for(i = 0; i < 9; i++) { 802e504: 7bfb ldrb r3, [r7, #15] 802e506: 3301 adds r3, #1 802e508: 73fb strb r3, [r7, #15] 802e50a: 7bfb ldrb r3, [r7, #15] 802e50c: 2b08 cmp r3, #8 802e50e: d9ed bls.n 802e4ec } pardata.OPTIONS = BIT0/* | BIT2*/; 802e510: 4b17 ldr r3, [pc, #92] ; (802e570 ) 802e512: 2201 movs r2, #1 802e514: f8c3 2098 str.w r2, [r3, #152] ; 0x98 * BIT4,BIT5 - òèï ñïåêòðà (00h-ÁÏÔ, 01h-îãèáàþùàÿ, 02h-1/1 îêò) * BIT6 - Bluetooth State (0 - PowerOff, 1- PowerOn) * BIT7 - TachoChannel +/- */ pardata.ROLL_COUNT = 32; 802e518: 4b15 ldr r3, [pc, #84] ; (802e570 ) 802e51a: 2220 movs r2, #32 802e51c: f8c3 20bc str.w r2, [r3, #188] ; 0xbc pardata.D_ROLL = 10.000f; 802e520: 4b13 ldr r3, [pc, #76] ; (802e570 ) 802e522: 4a19 ldr r2, [pc, #100] ; (802e588 ) 802e524: f8c3 20c0 str.w r2, [r3, #192] ; 0xc0 pardata.D_OUTER = 62.000f; 802e528: 4b11 ldr r3, [pc, #68] ; (802e570 ) 802e52a: 4a1c ldr r2, [pc, #112] ; (802e59c ) 802e52c: f8c3 20c4 str.w r2, [r3, #196] ; 0xc4 pardata.D_INNER = 43.000f; 802e530: 4b0f ldr r3, [pc, #60] ; (802e570 ) 802e532: 4a1b ldr r2, [pc, #108] ; (802e5a0 ) 802e534: f8c3 20c8 str.w r2, [r3, #200] ; 0xc8 pardata.D_ANGLE = 45.000f; 802e538: 4b0d ldr r3, [pc, #52] ; (802e570 ) 802e53a: 4a1a ldr r2, [pc, #104] ; (802e5a4 ) 802e53c: f8c3 20cc str.w r2, [r3, #204] ; 0xcc pardata.D_RATE = 1416.0f; 802e540: 4b0b ldr r3, [pc, #44] ; (802e570 ) 802e542: f44f 62b1 mov.w r2, #1416 ; 0x588 802e546: f8c3 20d0 str.w r2, [r3, #208] ; 0xd0 memset((void *) &pardata.DIAGN_NAME[0][0], 0, 8u * 40); 802e54a: f44f 72a0 mov.w r2, #320 ; 0x140 802e54e: 2100 movs r1, #0 802e550: 4815 ldr r0, [pc, #84] ; (802e5a8 ) 802e552: f09e fd79 bl 80cd048 memset((void *) &pardata.DIAGN_OPER[0][0], 0, 8u * 4); 802e556: 2220 movs r2, #32 802e558: 2100 movs r1, #0 802e55a: 4814 ldr r0, [pc, #80] ; (802e5ac ) 802e55c: f09e fd74 bl 80cd048 for(i = 0; i < 8; i++) 802e560: 2300 movs r3, #0 802e562: 73fb strb r3, [r7, #15] 802e564: e06d b.n 802e642 { for(j = 0; j < 4; j++) 802e566: 2300 movs r3, #0 802e568: 73bb strb r3, [r7, #14] 802e56a: e064 b.n 802e636 802e56c: 08018000 .word 0x08018000 802e570: 20023e60 .word 0x20023e60 802e574: 20020ef8 .word 0x20020ef8 802e578: 20023ea0 .word 0x20023ea0 802e57c: 20023ec8 .word 0x20023ec8 802e580: 200242bc .word 0x200242bc 802e584: 200242e4 .word 0x200242e4 802e588: 41200000 .word 0x41200000 802e58c: 43480000 .word 0x43480000 802e590: 40000005 .word 0x40000005 802e594: 46480000 .word 0x46480000 802e598: 20024310 .word 0x20024310 802e59c: 42780000 .word 0x42780000 802e5a0: 422c0000 .word 0x422c0000 802e5a4: 42340000 .word 0x42340000 802e5a8: 20023f3c .word 0x20023f3c 802e5ac: 2002407c .word 0x2002407c { pardata.DIAGN_OPER[i][j] = 0; // or 802e5b0: 7bfa ldrb r2, [r7, #15] 802e5b2: 7bbb ldrb r3, [r7, #14] 802e5b4: 4989 ldr r1, [pc, #548] ; (802e7dc ) 802e5b6: 0092 lsls r2, r2, #2 802e5b8: 440a add r2, r1 802e5ba: 4413 add r3, r2 802e5bc: f503 7307 add.w r3, r3, #540 ; 0x21c 802e5c0: 2200 movs r2, #0 802e5c2: 701a strb r2, [r3, #0] pardata.DIAGN_MASK[i][j] = 0x11; // A + rms 802e5c4: 7bfa ldrb r2, [r7, #15] 802e5c6: 7bbb ldrb r3, [r7, #14] 802e5c8: 4984 ldr r1, [pc, #528] ; (802e7dc ) 802e5ca: 0092 lsls r2, r2, #2 802e5cc: 440a add r2, r1 802e5ce: 4413 add r3, r2 802e5d0: f503 730f add.w r3, r3, #572 ; 0x23c 802e5d4: 2211 movs r2, #17 802e5d6: 701a strb r2, [r3, #0] pardata.DIAGN_HP[i][j] = 2.000111f; 802e5d8: 7bfa ldrb r2, [r7, #15] 802e5da: 7bbb ldrb r3, [r7, #14] 802e5dc: 497f ldr r1, [pc, #508] ; (802e7dc ) 802e5de: 0092 lsls r2, r2, #2 802e5e0: 4413 add r3, r2 802e5e2: 3396 adds r3, #150 ; 0x96 802e5e4: 009b lsls r3, r3, #2 802e5e6: 440b add r3, r1 802e5e8: 3304 adds r3, #4 802e5ea: 4a7d ldr r2, [pc, #500] ; (802e7e0 ) 802e5ec: 601a str r2, [r3, #0] pardata.DIAGN_LP[i][j] = 1000.00011f; 802e5ee: 7bfa ldrb r2, [r7, #15] 802e5f0: 7bbb ldrb r3, [r7, #14] 802e5f2: 497a ldr r1, [pc, #488] ; (802e7dc ) 802e5f4: 0092 lsls r2, r2, #2 802e5f6: 4413 add r3, r2 802e5f8: 33b6 adds r3, #182 ; 0xb6 802e5fa: 009b lsls r3, r3, #2 802e5fc: 440b add r3, r1 802e5fe: 3304 adds r3, #4 802e600: 4a78 ldr r2, [pc, #480] ; (802e7e4 ) 802e602: 601a str r2, [r3, #0] pardata.DIAGN_W[i][j] = 50.000111f; 802e604: 7bfa ldrb r2, [r7, #15] 802e606: 7bbb ldrb r3, [r7, #14] 802e608: 4974 ldr r1, [pc, #464] ; (802e7dc ) 802e60a: 0092 lsls r2, r2, #2 802e60c: 4413 add r3, r2 802e60e: 33d6 adds r3, #214 ; 0xd6 802e610: 009b lsls r3, r3, #2 802e612: 440b add r3, r1 802e614: 3304 adds r3, #4 802e616: 4a74 ldr r2, [pc, #464] ; (802e7e8 ) 802e618: 601a str r2, [r3, #0] pardata.DIAGN_A[i][j] = 100.00011f; 802e61a: 7bfa ldrb r2, [r7, #15] 802e61c: 7bbb ldrb r3, [r7, #14] 802e61e: 496f ldr r1, [pc, #444] ; (802e7dc ) 802e620: 0092 lsls r2, r2, #2 802e622: 4413 add r3, r2 802e624: 33f6 adds r3, #246 ; 0xf6 802e626: 009b lsls r3, r3, #2 802e628: 440b add r3, r1 802e62a: 3304 adds r3, #4 802e62c: 4a6f ldr r2, [pc, #444] ; (802e7ec ) 802e62e: 601a str r2, [r3, #0] for(j = 0; j < 4; j++) 802e630: 7bbb ldrb r3, [r7, #14] 802e632: 3301 adds r3, #1 802e634: 73bb strb r3, [r7, #14] 802e636: 7bbb ldrb r3, [r7, #14] 802e638: 2b03 cmp r3, #3 802e63a: d9b9 bls.n 802e5b0 for(i = 0; i < 8; i++) 802e63c: 7bfb ldrb r3, [r7, #15] 802e63e: 3301 adds r3, #1 802e640: 73fb strb r3, [r7, #15] 802e642: 7bfb ldrb r3, [r7, #15] 802e644: 2b07 cmp r3, #7 802e646: d98e bls.n 802e566 } } wrPar(); 802e648: f7ff fe1e bl 802e288 } memcpy(MeasFileName, (char *) &pardata.MEASNAME[0], sizeof(MeasFileName)); 802e64c: 4a68 ldr r2, [pc, #416] ; (802e7f0 ) 802e64e: 4b63 ldr r3, [pc, #396] ; (802e7dc ) 802e650: f103 0440 add.w r4, r3, #64 ; 0x40 802e654: 4696 mov lr, r2 802e656: f104 0c20 add.w ip, r4, #32 802e65a: 4675 mov r5, lr 802e65c: 4626 mov r6, r4 802e65e: ce0f ldmia r6!, {r0, r1, r2, r3} 802e660: 6028 str r0, [r5, #0] 802e662: 6069 str r1, [r5, #4] 802e664: 60aa str r2, [r5, #8] 802e666: 60eb str r3, [r5, #12] 802e668: 3410 adds r4, #16 802e66a: f10e 0e10 add.w lr, lr, #16 802e66e: 4564 cmp r4, ip 802e670: d1f3 bne.n 802e65a 802e672: 4673 mov r3, lr 802e674: 4622 mov r2, r4 802e676: 7812 ldrb r2, [r2, #0] 802e678: 701a strb r2, [r3, #0] memcpy(WavFileName, (char *) &pardata.WAVNAME[0], sizeof(WavFileName)); 802e67a: 4a5e ldr r2, [pc, #376] ; (802e7f4 ) 802e67c: 4b57 ldr r3, [pc, #348] ; (802e7dc ) 802e67e: f103 0468 add.w r4, r3, #104 ; 0x68 802e682: 4696 mov lr, r2 802e684: f104 0c20 add.w ip, r4, #32 802e688: 4675 mov r5, lr 802e68a: 4626 mov r6, r4 802e68c: ce0f ldmia r6!, {r0, r1, r2, r3} 802e68e: 6028 str r0, [r5, #0] 802e690: 6069 str r1, [r5, #4] 802e692: 60aa str r2, [r5, #8] 802e694: 60eb str r3, [r5, #12] 802e696: 3410 adds r4, #16 802e698: f10e 0e10 add.w lr, lr, #16 802e69c: 4564 cmp r4, ip 802e69e: d1f3 bne.n 802e688 802e6a0: 4673 mov r3, lr 802e6a2: 4622 mov r2, r4 802e6a4: 7812 ldrb r2, [r2, #0] 802e6a6: 701a strb r2, [r3, #0] memcpy(DiagFileName, (char *) &pardata.DIAGN_FILE[0], sizeof(DiagFileName)); 802e6a8: 4a53 ldr r2, [pc, #332] ; (802e7f8 ) 802e6aa: 4b4c ldr r3, [pc, #304] ; (802e7dc ) 802e6ac: f203 445c addw r4, r3, #1116 ; 0x45c 802e6b0: 4696 mov lr, r2 802e6b2: f104 0c20 add.w ip, r4, #32 802e6b6: 4675 mov r5, lr 802e6b8: 4626 mov r6, r4 802e6ba: ce0f ldmia r6!, {r0, r1, r2, r3} 802e6bc: 6028 str r0, [r5, #0] 802e6be: 6069 str r1, [r5, #4] 802e6c0: 60aa str r2, [r5, #8] 802e6c2: 60eb str r3, [r5, #12] 802e6c4: 3410 adds r4, #16 802e6c6: f10e 0e10 add.w lr, lr, #16 802e6ca: 4564 cmp r4, ip 802e6cc: d1f3 bne.n 802e6b6 802e6ce: 4673 mov r3, lr 802e6d0: 4622 mov r2, r4 802e6d2: 7812 ldrb r2, [r2, #0] 802e6d4: 701a strb r2, [r3, #0] memcpy(RouteFileName, (char *) &pardata.ROUTE_NAME[0], sizeof(RouteFileName)); 802e6d6: 4a49 ldr r2, [pc, #292] ; (802e7fc ) 802e6d8: 4b40 ldr r3, [pc, #256] ; (802e7dc ) 802e6da: f203 4484 addw r4, r3, #1156 ; 0x484 802e6de: 4696 mov lr, r2 802e6e0: f104 0c20 add.w ip, r4, #32 802e6e4: 4675 mov r5, lr 802e6e6: 4626 mov r6, r4 802e6e8: ce0f ldmia r6!, {r0, r1, r2, r3} 802e6ea: 6028 str r0, [r5, #0] 802e6ec: 6069 str r1, [r5, #4] 802e6ee: 60aa str r2, [r5, #8] 802e6f0: 60eb str r3, [r5, #12] 802e6f2: 3410 adds r4, #16 802e6f4: f10e 0e10 add.w lr, lr, #16 802e6f8: 4564 cmp r4, ip 802e6fa: d1f3 bne.n 802e6e4 802e6fc: 4673 mov r3, lr 802e6fe: 4622 mov r2, r4 802e700: 7812 ldrb r2, [r2, #0] 802e702: 701a strb r2, [r3, #0] pardata.IKU = Ku1; 802e704: 4b35 ldr r3, [pc, #212] ; (802e7dc ) 802e706: 2200 movs r2, #0 802e708: 721a strb r2, [r3, #8] for(i = 0; i < 9; i++) { 802e70a: 2300 movs r3, #0 802e70c: 73fb strb r3, [r7, #15] 802e70e: e00e b.n 802e72e pardata.CORR_KU[i] = corrdata.CORR_ACC[i]; 802e710: 7bfb ldrb r3, [r7, #15] 802e712: 7bfa ldrb r2, [r7, #15] 802e714: 493a ldr r1, [pc, #232] ; (802e800 ) 802e716: 0092 lsls r2, r2, #2 802e718: 440a add r2, r1 802e71a: 6812 ldr r2, [r2, #0] 802e71c: 492f ldr r1, [pc, #188] ; (802e7dc ) 802e71e: 3306 adds r3, #6 802e720: 009b lsls r3, r3, #2 802e722: 440b add r3, r1 802e724: 3304 adds r3, #4 802e726: 601a str r2, [r3, #0] for(i = 0; i < 9; i++) { 802e728: 7bfb ldrb r3, [r7, #15] 802e72a: 3301 adds r3, #1 802e72c: 73fb strb r3, [r7, #15] 802e72e: 7bfb ldrb r3, [r7, #15] 802e730: 2b08 cmp r3, #8 802e732: d9ed bls.n 802e710 } if(pardata.ROLL_COUNT == 0xffffffff) 802e734: 4b29 ldr r3, [pc, #164] ; (802e7dc ) 802e736: f8d3 30bc ldr.w r3, [r3, #188] ; 0xbc 802e73a: f1b3 3fff cmp.w r3, #4294967295 802e73e: d11a bne.n 802e776 { pardata.ROLL_COUNT = 32; 802e740: 4b26 ldr r3, [pc, #152] ; (802e7dc ) 802e742: 2220 movs r2, #32 802e744: f8c3 20bc str.w r2, [r3, #188] ; 0xbc pardata.D_ROLL = 10.000f; 802e748: 4b24 ldr r3, [pc, #144] ; (802e7dc ) 802e74a: 4a2e ldr r2, [pc, #184] ; (802e804 ) 802e74c: f8c3 20c0 str.w r2, [r3, #192] ; 0xc0 pardata.D_OUTER = 62.000f; 802e750: 4b22 ldr r3, [pc, #136] ; (802e7dc ) 802e752: 4a2d ldr r2, [pc, #180] ; (802e808 ) 802e754: f8c3 20c4 str.w r2, [r3, #196] ; 0xc4 pardata.D_INNER = 43.000f; 802e758: 4b20 ldr r3, [pc, #128] ; (802e7dc ) 802e75a: 4a2c ldr r2, [pc, #176] ; (802e80c ) 802e75c: f8c3 20c8 str.w r2, [r3, #200] ; 0xc8 pardata.D_ANGLE = 45.000f; 802e760: 4b1e ldr r3, [pc, #120] ; (802e7dc ) 802e762: 4a2b ldr r2, [pc, #172] ; (802e810 ) 802e764: f8c3 20cc str.w r2, [r3, #204] ; 0xcc pardata.D_RATE = 1416.0f; 802e768: 4b1c ldr r3, [pc, #112] ; (802e7dc ) 802e76a: f44f 62b1 mov.w r2, #1416 ; 0x588 802e76e: f8c3 20d0 str.w r2, [r3, #208] ; 0xd0 rewrite = true; 802e772: 2301 movs r3, #1 802e774: 71fb strb r3, [r7, #7] } if((pardata.DIAGN_NAME[0][0] == 0xff) && (pardata.DIAGN_NAME[1][0] == 0xff) && (pardata.DIAGN_OPER[0][0] == 0xff) && (pardata.DIAGN_OPER[1][0] == 0xff)) 802e776: 4b19 ldr r3, [pc, #100] ; (802e7dc ) 802e778: f893 30dc ldrb.w r3, [r3, #220] ; 0xdc 802e77c: b2db uxtb r3, r3 802e77e: 2bff cmp r3, #255 ; 0xff 802e780: f040 809a bne.w 802e8b8 802e784: 4b15 ldr r3, [pc, #84] ; (802e7dc ) 802e786: f893 3104 ldrb.w r3, [r3, #260] ; 0x104 802e78a: b2db uxtb r3, r3 802e78c: 2bff cmp r3, #255 ; 0xff 802e78e: f040 8093 bne.w 802e8b8 802e792: 4b12 ldr r3, [pc, #72] ; (802e7dc ) 802e794: f893 321c ldrb.w r3, [r3, #540] ; 0x21c 802e798: b2db uxtb r3, r3 802e79a: 2bff cmp r3, #255 ; 0xff 802e79c: f040 808c bne.w 802e8b8 802e7a0: 4b0e ldr r3, [pc, #56] ; (802e7dc ) 802e7a2: f893 3220 ldrb.w r3, [r3, #544] ; 0x220 802e7a6: b2db uxtb r3, r3 802e7a8: 2bff cmp r3, #255 ; 0xff 802e7aa: f040 8085 bne.w 802e8b8 { memset((void *) &pardata.DIAGN_NAME[0][0], 0, 8u * 40); 802e7ae: f44f 72a0 mov.w r2, #320 ; 0x140 802e7b2: 2100 movs r1, #0 802e7b4: 4817 ldr r0, [pc, #92] ; (802e814 ) 802e7b6: f09e fc47 bl 80cd048 memset((void *) &pardata.DIAGN_OPER[0][0], 0, 8u * 4); 802e7ba: 2220 movs r2, #32 802e7bc: 2100 movs r1, #0 802e7be: 4816 ldr r0, [pc, #88] ; (802e818 ) 802e7c0: f09e fc42 bl 80cd048 memset((char *) &pardata.DIAGN_FILE[0], 0, sizeof(DiagFileName)); 802e7c4: 2221 movs r2, #33 ; 0x21 802e7c6: 2100 movs r1, #0 802e7c8: 4814 ldr r0, [pc, #80] ; (802e81c ) 802e7ca: f09e fc3d bl 80cd048 for(i = 0; i < 8; i++) 802e7ce: 2300 movs r3, #0 802e7d0: 73fb strb r3, [r7, #15] 802e7d2: e06e b.n 802e8b2 { for(j = 0; j < 4; j++) 802e7d4: 2300 movs r3, #0 802e7d6: 73bb strb r3, [r7, #14] 802e7d8: e065 b.n 802e8a6 802e7da: bf00 nop 802e7dc: 20023e60 .word 0x20023e60 802e7e0: 400001d2 .word 0x400001d2 802e7e4: 447a0002 .word 0x447a0002 802e7e8: 4248001d .word 0x4248001d 802e7ec: 42c8000e .word 0x42c8000e 802e7f0: 20020e58 .word 0x20020e58 802e7f4: 20020e34 .word 0x20020e34 802e7f8: 20020e7c .word 0x20020e7c 802e7fc: 20020ea0 .word 0x20020ea0 802e800: 20024310 .word 0x20024310 802e804: 41200000 .word 0x41200000 802e808: 42780000 .word 0x42780000 802e80c: 422c0000 .word 0x422c0000 802e810: 42340000 .word 0x42340000 802e814: 20023f3c .word 0x20023f3c 802e818: 2002407c .word 0x2002407c 802e81c: 200242bc .word 0x200242bc { pardata.DIAGN_OPER[i][j] = 0; // or 802e820: 7bfa ldrb r2, [r7, #15] 802e822: 7bbb ldrb r3, [r7, #14] 802e824: 4943 ldr r1, [pc, #268] ; (802e934 ) 802e826: 0092 lsls r2, r2, #2 802e828: 440a add r2, r1 802e82a: 4413 add r3, r2 802e82c: f503 7307 add.w r3, r3, #540 ; 0x21c 802e830: 2200 movs r2, #0 802e832: 701a strb r2, [r3, #0] pardata.DIAGN_MASK[i][j] = 0x11; // A + rms 802e834: 7bfa ldrb r2, [r7, #15] 802e836: 7bbb ldrb r3, [r7, #14] 802e838: 493e ldr r1, [pc, #248] ; (802e934 ) 802e83a: 0092 lsls r2, r2, #2 802e83c: 440a add r2, r1 802e83e: 4413 add r3, r2 802e840: f503 730f add.w r3, r3, #572 ; 0x23c 802e844: 2211 movs r2, #17 802e846: 701a strb r2, [r3, #0] pardata.DIAGN_HP[i][j] = 2.000111f; 802e848: 7bfa ldrb r2, [r7, #15] 802e84a: 7bbb ldrb r3, [r7, #14] 802e84c: 4939 ldr r1, [pc, #228] ; (802e934 ) 802e84e: 0092 lsls r2, r2, #2 802e850: 4413 add r3, r2 802e852: 3396 adds r3, #150 ; 0x96 802e854: 009b lsls r3, r3, #2 802e856: 440b add r3, r1 802e858: 3304 adds r3, #4 802e85a: 4a37 ldr r2, [pc, #220] ; (802e938 ) 802e85c: 601a str r2, [r3, #0] pardata.DIAGN_LP[i][j] = 1000.00011f; 802e85e: 7bfa ldrb r2, [r7, #15] 802e860: 7bbb ldrb r3, [r7, #14] 802e862: 4934 ldr r1, [pc, #208] ; (802e934 ) 802e864: 0092 lsls r2, r2, #2 802e866: 4413 add r3, r2 802e868: 33b6 adds r3, #182 ; 0xb6 802e86a: 009b lsls r3, r3, #2 802e86c: 440b add r3, r1 802e86e: 3304 adds r3, #4 802e870: 4a32 ldr r2, [pc, #200] ; (802e93c ) 802e872: 601a str r2, [r3, #0] pardata.DIAGN_W[i][j] = 50.000111f; 802e874: 7bfa ldrb r2, [r7, #15] 802e876: 7bbb ldrb r3, [r7, #14] 802e878: 492e ldr r1, [pc, #184] ; (802e934 ) 802e87a: 0092 lsls r2, r2, #2 802e87c: 4413 add r3, r2 802e87e: 33d6 adds r3, #214 ; 0xd6 802e880: 009b lsls r3, r3, #2 802e882: 440b add r3, r1 802e884: 3304 adds r3, #4 802e886: 4a2e ldr r2, [pc, #184] ; (802e940 ) 802e888: 601a str r2, [r3, #0] pardata.DIAGN_A[i][j] = 100.00011f; 802e88a: 7bfa ldrb r2, [r7, #15] 802e88c: 7bbb ldrb r3, [r7, #14] 802e88e: 4929 ldr r1, [pc, #164] ; (802e934 ) 802e890: 0092 lsls r2, r2, #2 802e892: 4413 add r3, r2 802e894: 33f6 adds r3, #246 ; 0xf6 802e896: 009b lsls r3, r3, #2 802e898: 440b add r3, r1 802e89a: 3304 adds r3, #4 802e89c: 4a29 ldr r2, [pc, #164] ; (802e944 ) 802e89e: 601a str r2, [r3, #0] for(j = 0; j < 4; j++) 802e8a0: 7bbb ldrb r3, [r7, #14] 802e8a2: 3301 adds r3, #1 802e8a4: 73bb strb r3, [r7, #14] 802e8a6: 7bbb ldrb r3, [r7, #14] 802e8a8: 2b03 cmp r3, #3 802e8aa: d9b9 bls.n 802e820 for(i = 0; i < 8; i++) 802e8ac: 7bfb ldrb r3, [r7, #15] 802e8ae: 3301 adds r3, #1 802e8b0: 73fb strb r3, [r7, #15] 802e8b2: 7bfb ldrb r3, [r7, #15] 802e8b4: 2b07 cmp r3, #7 802e8b6: d98d bls.n 802e7d4 } } } hpf.fl = pardata.HP; 802e8b8: 4b1e ldr r3, [pc, #120] ; (802e934 ) 802e8ba: f8d3 30d4 ldr.w r3, [r3, #212] ; 0xd4 802e8be: 603b str r3, [r7, #0] if(hpf.lg == 0xffffffff) 802e8c0: 683b ldr r3, [r7, #0] 802e8c2: f1b3 3fff cmp.w r3, #4294967295 802e8c6: d106 bne.n 802e8d6 { pardata.HP = 2.0f; 802e8c8: 4b1a ldr r3, [pc, #104] ; (802e934 ) 802e8ca: f04f 4280 mov.w r2, #1073741824 ; 0x40000000 802e8ce: f8c3 20d4 str.w r2, [r3, #212] ; 0xd4 rewrite = true; 802e8d2: 2301 movs r3, #1 802e8d4: 71fb strb r3, [r7, #7] } hpf.fl = pardata.LP; 802e8d6: 4b17 ldr r3, [pc, #92] ; (802e934 ) 802e8d8: f8d3 30d8 ldr.w r3, [r3, #216] ; 0xd8 802e8dc: 603b str r3, [r7, #0] if(hpf.lg == 0xffffffff) 802e8de: 683b ldr r3, [r7, #0] 802e8e0: f1b3 3fff cmp.w r3, #4294967295 802e8e4: d105 bne.n 802e8f2 { pardata.LP = 1000.0f; 802e8e6: 4b13 ldr r3, [pc, #76] ; (802e934 ) 802e8e8: 4a17 ldr r2, [pc, #92] ; (802e948 ) 802e8ea: f8c3 20d8 str.w r2, [r3, #216] ; 0xd8 rewrite = true; 802e8ee: 2301 movs r3, #1 802e8f0: 71fb strb r3, [r7, #7] if(pardata.IIN == CHARGE) pardata.IIN = ICP; #endif #ifndef USE_BLUETOOTH pardata.OPTIONS &= ~BIT6; 802e8f2: 4b10 ldr r3, [pc, #64] ; (802e934 ) 802e8f4: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 802e8f8: f023 0340 bic.w r3, r3, #64 ; 0x40 802e8fc: 4a0d ldr r2, [pc, #52] ; (802e934 ) 802e8fe: f8c2 3098 str.w r3, [r2, #152] ; 0x98 #ifdef USE_D101 pardata.OPTIONS &= ~BIT7; #endif if((pardata.IIN == VOLTS) && (pardata.SYG > FFT)) { 802e902: 4b0c ldr r3, [pc, #48] ; (802e934 ) 802e904: 799b ldrb r3, [r3, #6] 802e906: b2db uxtb r3, r3 802e908: 2b02 cmp r3, #2 802e90a: d107 bne.n 802e91c 802e90c: 4b09 ldr r3, [pc, #36] ; (802e934 ) 802e90e: 781b ldrb r3, [r3, #0] 802e910: b2db uxtb r3, r3 802e912: 2b03 cmp r3, #3 802e914: d902 bls.n 802e91c pardata.SYG = VIB; 802e916: 4b07 ldr r3, [pc, #28] ; (802e934 ) 802e918: 2200 movs r2, #0 802e91a: 701a strb r2, [r3, #0] } if(rewrite) 802e91c: 79fb ldrb r3, [r7, #7] 802e91e: b2db uxtb r3, r3 802e920: 2b00 cmp r3, #0 802e922: d003 beq.n 802e92c { rewrite = false; 802e924: 2300 movs r3, #0 802e926: 71fb strb r3, [r7, #7] wrPar(); 802e928: f7ff fcae bl 802e288 } } 802e92c: bf00 nop 802e92e: 3714 adds r7, #20 802e930: 46bd mov sp, r7 802e932: bdf0 pop {r4, r5, r6, r7, pc} 802e934: 20023e60 .word 0x20023e60 802e938: 400001d2 .word 0x400001d2 802e93c: 447a0002 .word 0x447a0002 802e940: 4248001d .word 0x4248001d 802e944: 42c8000e .word 0x42c8000e 802e948: 447a0000 .word 0x447a0000 0802e94c : void CheckFilesForWrite(void) { 802e94c: b580 push {r7, lr} 802e94e: af00 add r7, sp, #0 if(CardState == MSD_READY) 802e950: 4b1c ldr r3, [pc, #112] ; (802e9c4 ) 802e952: 781b ldrb r3, [r3, #0] 802e954: b2db uxtb r3, r3 802e956: 2b03 cmp r3, #3 802e958: d11e bne.n 802e998 { if(MeasFileName[0] != 0) 802e95a: 4b1b ldr r3, [pc, #108] ; (802e9c8 ) 802e95c: 781b ldrb r3, [r3, #0] 802e95e: 2b00 cmp r3, #0 802e960: d00a beq.n 802e978 { if(CheckExistPTM(MeasFileName) == FR_NO_FILE) { // Ôàéë ñ äàííûì èìåíåì íå íàéäåí íà SD-êàðòå 802e962: 4819 ldr r0, [pc, #100] ; (802e9c8 ) 802e964: f7fc f912 bl 802ab8c 802e968: 4603 mov r3, r0 802e96a: 2b04 cmp r3, #4 802e96c: d104 bne.n 802e978 memset(MeasFileName, 0, sizeof(MeasFileName)); 802e96e: 2221 movs r2, #33 ; 0x21 802e970: 2100 movs r1, #0 802e972: 4815 ldr r0, [pc, #84] ; (802e9c8 ) 802e974: f09e fb68 bl 80cd048 } } if(DiagFileName[0] != 0) 802e978: 4b14 ldr r3, [pc, #80] ; (802e9cc ) 802e97a: 781b ldrb r3, [r3, #0] 802e97c: 2b00 cmp r3, #0 802e97e: d01f beq.n 802e9c0 { if(CheckExistDGN(DiagFileName) == FR_NO_FILE) { // Ôàéë ñ äàííûì èìåíåì íå íàéäåí íà SD-êàðòå 802e980: 4812 ldr r0, [pc, #72] ; (802e9cc ) 802e982: f7fc f953 bl 802ac2c 802e986: 4603 mov r3, r0 802e988: 2b04 cmp r3, #4 802e98a: d119 bne.n 802e9c0 memset(DiagFileName, 0, sizeof(DiagFileName)); 802e98c: 2221 movs r2, #33 ; 0x21 802e98e: 2100 movs r1, #0 802e990: 480e ldr r0, [pc, #56] ; (802e9cc ) 802e992: f09e fb59 bl 80cd048 memset(MeasFileName, 0, sizeof(MeasFileName)); memset(WavFileName, 0, sizeof(WavFileName)); memset(DiagFileName, 0, sizeof(DiagFileName)); memset(RouteFileName, 0, sizeof(RouteFileName)); } } 802e996: e013 b.n 802e9c0 memset(MeasFileName, 0, sizeof(MeasFileName)); 802e998: 2221 movs r2, #33 ; 0x21 802e99a: 2100 movs r1, #0 802e99c: 480a ldr r0, [pc, #40] ; (802e9c8 ) 802e99e: f09e fb53 bl 80cd048 memset(WavFileName, 0, sizeof(WavFileName)); 802e9a2: 2221 movs r2, #33 ; 0x21 802e9a4: 2100 movs r1, #0 802e9a6: 480a ldr r0, [pc, #40] ; (802e9d0 ) 802e9a8: f09e fb4e bl 80cd048 memset(DiagFileName, 0, sizeof(DiagFileName)); 802e9ac: 2221 movs r2, #33 ; 0x21 802e9ae: 2100 movs r1, #0 802e9b0: 4806 ldr r0, [pc, #24] ; (802e9cc ) 802e9b2: f09e fb49 bl 80cd048 memset(RouteFileName, 0, sizeof(RouteFileName)); 802e9b6: 2221 movs r2, #33 ; 0x21 802e9b8: 2100 movs r1, #0 802e9ba: 4806 ldr r0, [pc, #24] ; (802e9d4 ) 802e9bc: f09e fb44 bl 80cd048 } 802e9c0: bf00 nop 802e9c2: bd80 pop {r7, pc} 802e9c4: 2002164c .word 0x2002164c 802e9c8: 20020e58 .word 0x20020e58 802e9cc: 20020e7c .word 0x20020e7c 802e9d0: 20020e34 .word 0x20020e34 802e9d4: 20020ea0 .word 0x20020ea0 0802e9d8 : void wrCorr(void) { 802e9d8: b590 push {r4, r7, lr} 802e9da: b087 sub sp, #28 802e9dc: af00 add r7, sp, #0 volatile uint32_t i; volatile uint32_t lencorr = 0; 802e9de: 2300 movs r3, #0 802e9e0: 60fb str r3, [r7, #12] volatile uint32_t Address, *pData; uint32_t SECTORError = 0; 802e9e2: 2300 movs r3, #0 802e9e4: 607b str r3, [r7, #4] #ifndef DEBUGGING lencorr = sizeof(CorrData_TypeDef); 802e9e6: 236c movs r3, #108 ; 0x6c 802e9e8: 60fb str r3, [r7, #12] while(lencorr % 4) 802e9ea: e002 b.n 802e9f2 lencorr++; 802e9ec: 68fb ldr r3, [r7, #12] 802e9ee: 3301 adds r3, #1 802e9f0: 60fb str r3, [r7, #12] while(lencorr % 4) 802e9f2: 68fb ldr r3, [r7, #12] 802e9f4: f003 0303 and.w r3, r3, #3 802e9f8: 2b00 cmp r3, #0 802e9fa: d1f7 bne.n 802e9ec lencorr >>= 2; 802e9fc: 68fb ldr r3, [r7, #12] 802e9fe: 089b lsrs r3, r3, #2 802ea00: 60fb str r3, [r7, #12] __ASM volatile ("cpsid i" : : : "memory"); 802ea02: b672 cpsid i __disable_irq(); HAL_FLASH_Unlock(); 802ea04: f086 fbb2 bl 80b516c EraseInitStruct.TypeErase = FLASH_TYPEERASE_SECTORS; 802ea08: 4b47 ldr r3, [pc, #284] ; (802eb28 ) 802ea0a: 2200 movs r2, #0 802ea0c: 601a str r2, [r3, #0] EraseInitStruct.VoltageRange = FLASH_VOLTAGE_RANGE_3; 802ea0e: 4b46 ldr r3, [pc, #280] ; (802eb28 ) 802ea10: 2202 movs r2, #2 802ea12: 611a str r2, [r3, #16] EraseInitStruct.Sector = CORRSECTOR; //FLASH_SECTOR_10; 802ea14: 4b44 ldr r3, [pc, #272] ; (802eb28 ) 802ea16: 2202 movs r2, #2 802ea18: 609a str r2, [r3, #8] EraseInitStruct.NbSectors = 1; 802ea1a: 4b43 ldr r3, [pc, #268] ; (802eb28 ) 802ea1c: 2201 movs r2, #1 802ea1e: 60da str r2, [r3, #12] if(HAL_FLASHEx_Erase(&EraseInitStruct, &SECTORError) == HAL_OK) 802ea20: 1d3b adds r3, r7, #4 802ea22: 4619 mov r1, r3 802ea24: 4840 ldr r0, [pc, #256] ; (802eb28 ) 802ea26: f086 fcfb bl 80b5420 802ea2a: 4603 mov r3, r0 802ea2c: 2b00 cmp r3, #0 802ea2e: d174 bne.n 802eb1a { Address = CORRPAGE; 802ea30: 4b3e ldr r3, [pc, #248] ; (802eb2c ) 802ea32: 60bb str r3, [r7, #8] pData = (uint32_t *) &corrdata; 802ea34: 4b3e ldr r3, [pc, #248] ; (802eb30 ) 802ea36: 617b str r3, [r7, #20] for(i = 0; i < lencorr; i++) 802ea38: 2300 movs r3, #0 802ea3a: 613b str r3, [r7, #16] 802ea3c: e011 b.n 802ea62 { HAL_FLASH_Program(FLASH_TYPEPROGRAM_WORD, Address, *pData++); 802ea3e: 68b9 ldr r1, [r7, #8] 802ea40: 697b ldr r3, [r7, #20] 802ea42: 1d1a adds r2, r3, #4 802ea44: 617a str r2, [r7, #20] 802ea46: 681b ldr r3, [r3, #0] 802ea48: f04f 0400 mov.w r4, #0 802ea4c: 461a mov r2, r3 802ea4e: 4623 mov r3, r4 802ea50: 2002 movs r0, #2 802ea52: f086 fb2f bl 80b50b4 Address += 4; 802ea56: 68bb ldr r3, [r7, #8] 802ea58: 3304 adds r3, #4 802ea5a: 60bb str r3, [r7, #8] for(i = 0; i < lencorr; i++) 802ea5c: 693b ldr r3, [r7, #16] 802ea5e: 3301 adds r3, #1 802ea60: 613b str r3, [r7, #16] 802ea62: 693a ldr r2, [r7, #16] 802ea64: 68fb ldr r3, [r7, #12] 802ea66: 429a cmp r2, r3 802ea68: d3e9 bcc.n 802ea3e } pData = (uint32_t *) &aa1; 802ea6a: 4b32 ldr r3, [pc, #200] ; (802eb34 ) 802ea6c: 617b str r3, [r7, #20] HAL_FLASH_Program(FLASH_TYPEPROGRAM_WORD, Address, *pData++); 802ea6e: 68b9 ldr r1, [r7, #8] 802ea70: 697b ldr r3, [r7, #20] 802ea72: 1d1a adds r2, r3, #4 802ea74: 617a str r2, [r7, #20] 802ea76: 681b ldr r3, [r3, #0] 802ea78: f04f 0400 mov.w r4, #0 802ea7c: 461a mov r2, r3 802ea7e: 4623 mov r3, r4 802ea80: 2002 movs r0, #2 802ea82: f086 fb17 bl 80b50b4 Address += 4; 802ea86: 68bb ldr r3, [r7, #8] 802ea88: 3304 adds r3, #4 802ea8a: 60bb str r3, [r7, #8] pData = (uint32_t *) &aa0; 802ea8c: 4b2a ldr r3, [pc, #168] ; (802eb38 ) 802ea8e: 617b str r3, [r7, #20] HAL_FLASH_Program(FLASH_TYPEPROGRAM_WORD, Address, *pData++); 802ea90: 68b9 ldr r1, [r7, #8] 802ea92: 697b ldr r3, [r7, #20] 802ea94: 1d1a adds r2, r3, #4 802ea96: 617a str r2, [r7, #20] 802ea98: 681b ldr r3, [r3, #0] 802ea9a: f04f 0400 mov.w r4, #0 802ea9e: 461a mov r2, r3 802eaa0: 4623 mov r3, r4 802eaa2: 2002 movs r0, #2 802eaa4: f086 fb06 bl 80b50b4 Address += 4; 802eaa8: 68bb ldr r3, [r7, #8] 802eaaa: 3304 adds r3, #4 802eaac: 60bb str r3, [r7, #8] pData = (uint32_t *) _SERIAL; 802eaae: 4b23 ldr r3, [pc, #140] ; (802eb3c ) 802eab0: 617b str r3, [r7, #20] for(i = 0; i < 2; i++) 802eab2: 2300 movs r3, #0 802eab4: 613b str r3, [r7, #16] 802eab6: e011 b.n 802eadc { HAL_FLASH_Program(FLASH_TYPEPROGRAM_WORD, Address, *pData++); 802eab8: 68b9 ldr r1, [r7, #8] 802eaba: 697b ldr r3, [r7, #20] 802eabc: 1d1a adds r2, r3, #4 802eabe: 617a str r2, [r7, #20] 802eac0: 681b ldr r3, [r3, #0] 802eac2: f04f 0400 mov.w r4, #0 802eac6: 461a mov r2, r3 802eac8: 4623 mov r3, r4 802eaca: 2002 movs r0, #2 802eacc: f086 faf2 bl 80b50b4 Address += 4; 802ead0: 68bb ldr r3, [r7, #8] 802ead2: 3304 adds r3, #4 802ead4: 60bb str r3, [r7, #8] for(i = 0; i < 2; i++) 802ead6: 693b ldr r3, [r7, #16] 802ead8: 3301 adds r3, #1 802eada: 613b str r3, [r7, #16] 802eadc: 693b ldr r3, [r7, #16] 802eade: 2b01 cmp r3, #1 802eae0: d9ea bls.n 802eab8 } pData = (uint32_t *) &MEAN; 802eae2: 4b17 ldr r3, [pc, #92] ; (802eb40 ) 802eae4: 617b str r3, [r7, #20] HAL_FLASH_Program(FLASH_TYPEPROGRAM_WORD, Address, *pData++); 802eae6: 68b9 ldr r1, [r7, #8] 802eae8: 697b ldr r3, [r7, #20] 802eaea: 1d1a adds r2, r3, #4 802eaec: 617a str r2, [r7, #20] 802eaee: 681b ldr r3, [r3, #0] 802eaf0: f04f 0400 mov.w r4, #0 802eaf4: 461a mov r2, r3 802eaf6: 4623 mov r3, r4 802eaf8: 2002 movs r0, #2 802eafa: f086 fadb bl 80b50b4 Address += 4; 802eafe: 68bb ldr r3, [r7, #8] 802eb00: 3304 adds r3, #4 802eb02: 60bb str r3, [r7, #8] HAL_FLASH_Program(FLASH_TYPEPROGRAM_WORD, Address, 0x0000D141); 802eb04: 68b9 ldr r1, [r7, #8] 802eb06: f24d 1241 movw r2, #53569 ; 0xd141 802eb0a: f04f 0300 mov.w r3, #0 802eb0e: 2002 movs r0, #2 802eb10: f086 fad0 bl 80b50b4 HAL_FLASH_Program(FLASH_TYPEPROGRAM_WORD, Address, 0x0000D141); #endif #ifdef USE_D142 HAL_FLASH_Program(FLASH_TYPEPROGRAM_WORD, Address, 0x0000D142); #endif*/ Address += 4; 802eb14: 68bb ldr r3, [r7, #8] 802eb16: 3304 adds r3, #4 802eb18: 60bb str r3, [r7, #8] } HAL_FLASH_Lock(); 802eb1a: f086 fb49 bl 80b51b0 __ASM volatile ("cpsie i" : : : "memory"); 802eb1e: b662 cpsie i __enable_irq(); #endif } 802eb20: bf00 nop 802eb22: 371c adds r7, #28 802eb24: 46bd mov sp, r7 802eb26: bd90 pop {r4, r7, pc} 802eb28: 20020efc .word 0x20020efc 802eb2c: 08010000 .word 0x08010000 802eb30: 20024310 .word 0x20024310 802eb34: 20020024 .word 0x20020024 802eb38: 20020d4c .word 0x20020d4c 802eb3c: 20020f14 .word 0x20020f14 802eb40: 200209cc .word 0x200209cc 0802eb44 : void rdCorr(void) { 802eb44: b5b0 push {r4, r5, r7, lr} 802eb46: b090 sub sp, #64 ; 0x40 802eb48: af00 add r7, sp, #0 CORRECTION = false; #else NeedFlash = false; 802eb4a: 2300 movs r3, #0 802eb4c: f887 303b strb.w r3, [r7, #59] ; 0x3b lencorr = sizeof(CorrData_TypeDef); 802eb50: 236c movs r3, #108 ; 0x6c 802eb52: 637b str r3, [r7, #52] ; 0x34 memcpy((void *) &corrdata, (void *) CORRPAGE, lencorr); 802eb54: 6b7a ldr r2, [r7, #52] ; 0x34 802eb56: 49af ldr r1, [pc, #700] ; (802ee14 ) 802eb58: 48af ldr r0, [pc, #700] ; (802ee18 ) 802eb5a: f09e fa6a bl 80cd032 memcpy((void *) &af, (void *) ADCPAGE, 8); 802eb5e: 4aaf ldr r2, [pc, #700] ; (802ee1c ) 802eb60: f107 0308 add.w r3, r7, #8 802eb64: e892 0003 ldmia.w r2, {r0, r1} 802eb68: e883 0003 stmia.w r3, {r0, r1} if((af[0].lg == 0xffffffff) || (af[1].lg == 0xffffffff)) 802eb6c: 68bb ldr r3, [r7, #8] 802eb6e: f1b3 3fff cmp.w r3, #4294967295 802eb72: d003 beq.n 802eb7c 802eb74: 68fb ldr r3, [r7, #12] 802eb76: f1b3 3fff cmp.w r3, #4294967295 802eb7a: d108 bne.n 802eb8e { af[0].fl = 1.0f; 802eb7c: f04f 537e mov.w r3, #1065353216 ; 0x3f800000 802eb80: 60bb str r3, [r7, #8] af[1].fl = 0.0f; 802eb82: f04f 0300 mov.w r3, #0 802eb86: 60fb str r3, [r7, #12] NeedFlash = true; 802eb88: 2301 movs r3, #1 802eb8a: f887 303b strb.w r3, [r7, #59] ; 0x3b } aa1 = af[0].fl; 802eb8e: 68bb ldr r3, [r7, #8] 802eb90: 4aa3 ldr r2, [pc, #652] ; (802ee20 ) 802eb92: 6013 str r3, [r2, #0] aa0 = af[1].fl; 802eb94: 68fb ldr r3, [r7, #12] 802eb96: 4aa3 ldr r2, [pc, #652] ; (802ee24 ) 802eb98: 6013 str r3, [r2, #0] memcpy((void *) _SERIAL, (void *) SERIALPAGE, 8); 802eb9a: 4ba3 ldr r3, [pc, #652] ; (802ee28 ) 802eb9c: 4aa3 ldr r2, [pc, #652] ; (802ee2c ) 802eb9e: e892 0003 ldmia.w r2, {r0, r1} 802eba2: e883 0003 stmia.w r3, {r0, r1} if((_SERIAL[0] == 0xff) && (_SERIAL[1] == 0xff) && (_SERIAL[2] == 0xff) && (_SERIAL[3] == 0xff) && (_SERIAL[4] == 0xff) && (_SERIAL[5] == 0xff) && (_SERIAL[6] == 0xff) && (_SERIAL[7] == 0xff)) 802eba6: 4ba0 ldr r3, [pc, #640] ; (802ee28 ) 802eba8: 781b ldrb r3, [r3, #0] 802ebaa: b2db uxtb r3, r3 802ebac: 2bff cmp r3, #255 ; 0xff 802ebae: d12a bne.n 802ec06 802ebb0: 4b9d ldr r3, [pc, #628] ; (802ee28 ) 802ebb2: 785b ldrb r3, [r3, #1] 802ebb4: b2db uxtb r3, r3 802ebb6: 2bff cmp r3, #255 ; 0xff 802ebb8: d125 bne.n 802ec06 802ebba: 4b9b ldr r3, [pc, #620] ; (802ee28 ) 802ebbc: 789b ldrb r3, [r3, #2] 802ebbe: b2db uxtb r3, r3 802ebc0: 2bff cmp r3, #255 ; 0xff 802ebc2: d120 bne.n 802ec06 802ebc4: 4b98 ldr r3, [pc, #608] ; (802ee28 ) 802ebc6: 78db ldrb r3, [r3, #3] 802ebc8: b2db uxtb r3, r3 802ebca: 2bff cmp r3, #255 ; 0xff 802ebcc: d11b bne.n 802ec06 802ebce: 4b96 ldr r3, [pc, #600] ; (802ee28 ) 802ebd0: 791b ldrb r3, [r3, #4] 802ebd2: b2db uxtb r3, r3 802ebd4: 2bff cmp r3, #255 ; 0xff 802ebd6: d116 bne.n 802ec06 802ebd8: 4b93 ldr r3, [pc, #588] ; (802ee28 ) 802ebda: 795b ldrb r3, [r3, #5] 802ebdc: b2db uxtb r3, r3 802ebde: 2bff cmp r3, #255 ; 0xff 802ebe0: d111 bne.n 802ec06 802ebe2: 4b91 ldr r3, [pc, #580] ; (802ee28 ) 802ebe4: 799b ldrb r3, [r3, #6] 802ebe6: b2db uxtb r3, r3 802ebe8: 2bff cmp r3, #255 ; 0xff 802ebea: d10c bne.n 802ec06 802ebec: 4b8e ldr r3, [pc, #568] ; (802ee28 ) 802ebee: 79db ldrb r3, [r3, #7] 802ebf0: b2db uxtb r3, r3 802ebf2: 2bff cmp r3, #255 ; 0xff 802ebf4: d107 bne.n 802ec06 { memset((void *) _SERIAL, 0, sizeof(_SERIAL)); 802ebf6: 2208 movs r2, #8 802ebf8: 2100 movs r1, #0 802ebfa: 488b ldr r0, [pc, #556] ; (802ee28 ) 802ebfc: f09e fa24 bl 80cd048 NeedFlash = true; 802ec00: 2301 movs r3, #1 802ec02: f887 303b strb.w r3, [r7, #59] ; 0x3b } //*************************************************************** if((_SERIAL[0] == 'S') && (_SERIAL[1] == 'N') && (_SERIAL[2] == ' ')) 802ec06: 4b88 ldr r3, [pc, #544] ; (802ee28 ) 802ec08: 781b ldrb r3, [r3, #0] 802ec0a: b2db uxtb r3, r3 802ec0c: 2b53 cmp r3, #83 ; 0x53 802ec0e: d110 bne.n 802ec32 802ec10: 4b85 ldr r3, [pc, #532] ; (802ee28 ) 802ec12: 785b ldrb r3, [r3, #1] 802ec14: b2db uxtb r3, r3 802ec16: 2b4e cmp r3, #78 ; 0x4e 802ec18: d10b bne.n 802ec32 802ec1a: 4b83 ldr r3, [pc, #524] ; (802ee28 ) 802ec1c: 789b ldrb r3, [r3, #2] 802ec1e: b2db uxtb r3, r3 802ec20: 2b20 cmp r3, #32 802ec22: d106 bne.n 802ec32 { memcpy((void *) _SERIAL_DRAW, (void *) _SERIAL, 8); 802ec24: 4b82 ldr r3, [pc, #520] ; (802ee30 ) 802ec26: 4a80 ldr r2, [pc, #512] ; (802ee28 ) 802ec28: e892 0003 ldmia.w r2, {r0, r1} 802ec2c: e883 0003 stmia.w r3, {r0, r1} 802ec30: e02b b.n 802ec8a } else { if((_SERIAL[0] >= '0') && (_SERIAL[0] <= '9')) 802ec32: 4b7d ldr r3, [pc, #500] ; (802ee28 ) 802ec34: 781b ldrb r3, [r3, #0] 802ec36: b2db uxtb r3, r3 802ec38: 2b2f cmp r3, #47 ; 0x2f 802ec3a: d926 bls.n 802ec8a 802ec3c: 4b7a ldr r3, [pc, #488] ; (802ee28 ) 802ec3e: 781b ldrb r3, [r3, #0] 802ec40: b2db uxtb r3, r3 802ec42: 2b39 cmp r3, #57 ; 0x39 802ec44: d821 bhi.n 802ec8a { _SERIAL_DRAW[0] = 'S'; 802ec46: 4b7a ldr r3, [pc, #488] ; (802ee30 ) 802ec48: 2253 movs r2, #83 ; 0x53 802ec4a: 701a strb r2, [r3, #0] _SERIAL_DRAW[1] = 'N'; 802ec4c: 4b78 ldr r3, [pc, #480] ; (802ee30 ) 802ec4e: 224e movs r2, #78 ; 0x4e 802ec50: 705a strb r2, [r3, #1] _SERIAL_DRAW[2] = ' '; 802ec52: 4b77 ldr r3, [pc, #476] ; (802ee30 ) 802ec54: 2220 movs r2, #32 802ec56: 709a strb r2, [r3, #2] _SERIAL_DRAW[3] = _SERIAL[0]; 802ec58: 4b73 ldr r3, [pc, #460] ; (802ee28 ) 802ec5a: 781b ldrb r3, [r3, #0] 802ec5c: b2da uxtb r2, r3 802ec5e: 4b74 ldr r3, [pc, #464] ; (802ee30 ) 802ec60: 70da strb r2, [r3, #3] _SERIAL_DRAW[4] = _SERIAL[1]; 802ec62: 4b71 ldr r3, [pc, #452] ; (802ee28 ) 802ec64: 785b ldrb r3, [r3, #1] 802ec66: b2da uxtb r2, r3 802ec68: 4b71 ldr r3, [pc, #452] ; (802ee30 ) 802ec6a: 711a strb r2, [r3, #4] _SERIAL_DRAW[5] = _SERIAL[2]; 802ec6c: 4b6e ldr r3, [pc, #440] ; (802ee28 ) 802ec6e: 789b ldrb r3, [r3, #2] 802ec70: b2da uxtb r2, r3 802ec72: 4b6f ldr r3, [pc, #444] ; (802ee30 ) 802ec74: 715a strb r2, [r3, #5] _SERIAL_DRAW[6] = _SERIAL[3]; 802ec76: 4b6c ldr r3, [pc, #432] ; (802ee28 ) 802ec78: 78db ldrb r3, [r3, #3] 802ec7a: b2da uxtb r2, r3 802ec7c: 4b6c ldr r3, [pc, #432] ; (802ee30 ) 802ec7e: 719a strb r2, [r3, #6] _SERIAL_DRAW[7] = _SERIAL[4]; 802ec80: 4b69 ldr r3, [pc, #420] ; (802ee28 ) 802ec82: 791b ldrb r3, [r3, #4] 802ec84: b2da uxtb r2, r3 802ec86: 4b6a ldr r3, [pc, #424] ; (802ee30 ) 802ec88: 71da strb r2, [r3, #7] } } //*************************************************************** memcpy((void *) &ofs, (void *) OFFSETPAGE, 4); 802ec8a: 4b6a ldr r3, [pc, #424] ; (802ee34 ) 802ec8c: 681b ldr r3, [r3, #0] 802ec8e: 607b str r3, [r7, #4] if(ofs.lg == 0xffffffff) 802ec90: 687b ldr r3, [r7, #4] 802ec92: f1b3 3fff cmp.w r3, #4294967295 802ec96: d105 bne.n 802eca4 { ofs.fl = 32768.0f; 802ec98: f04f 438e mov.w r3, #1191182336 ; 0x47000000 802ec9c: 607b str r3, [r7, #4] NeedFlash = true; 802ec9e: 2301 movs r3, #1 802eca0: f887 303b strb.w r3, [r7, #59] ; 0x3b } MEAN = ofs.fl; 802eca4: 687b ldr r3, [r7, #4] 802eca6: 4a64 ldr r2, [pc, #400] ; (802ee38 ) 802eca8: 6013 str r3, [r2, #0] //*************************************************************** memcpy((void *) &sf, (void *) &corrdata, 36); 802ecaa: 4b5b ldr r3, [pc, #364] ; (802ee18 ) 802ecac: f107 0410 add.w r4, r7, #16 802ecb0: 461d mov r5, r3 802ecb2: cd0f ldmia r5!, {r0, r1, r2, r3} 802ecb4: c40f stmia r4!, {r0, r1, r2, r3} 802ecb6: cd0f ldmia r5!, {r0, r1, r2, r3} 802ecb8: c40f stmia r4!, {r0, r1, r2, r3} 802ecba: 682b ldr r3, [r5, #0] 802ecbc: 6023 str r3, [r4, #0] if( (sf[0].lg == 0xffffffff) && (sf[1].lg == 0xffffffff) && (sf[2].lg == 0xffffffff) && (sf[8].lg == 0xffffffff) ) 802ecbe: 693b ldr r3, [r7, #16] 802ecc0: f1b3 3fff cmp.w r3, #4294967295 802ecc4: d130 bne.n 802ed28 802ecc6: 697b ldr r3, [r7, #20] 802ecc8: f1b3 3fff cmp.w r3, #4294967295 802eccc: d12c bne.n 802ed28 802ecce: 69bb ldr r3, [r7, #24] 802ecd0: f1b3 3fff cmp.w r3, #4294967295 802ecd4: d128 bne.n 802ed28 802ecd6: 6b3b ldr r3, [r7, #48] ; 0x30 802ecd8: f1b3 3fff cmp.w r3, #4294967295 802ecdc: d124 bne.n 802ed28 { for(i = 0; i < 9; i++) 802ecde: 2300 movs r3, #0 802ece0: 63fb str r3, [r7, #60] ; 0x3c 802ece2: e01a b.n 802ed1a { corrdata.CORR_ACC[i] = 1.0f;//TEMP_CORR_KU[i]; 802ece4: 4a4c ldr r2, [pc, #304] ; (802ee18 ) 802ece6: 6bfb ldr r3, [r7, #60] ; 0x3c 802ece8: 009b lsls r3, r3, #2 802ecea: 4413 add r3, r2 802ecec: f04f 527e mov.w r2, #1065353216 ; 0x3f800000 802ecf0: 601a str r2, [r3, #0] corrdata.CORR_VEL[i] = 1.0f;//TEMP_CORR_KU[i]; 802ecf2: 4a49 ldr r2, [pc, #292] ; (802ee18 ) 802ecf4: 6bfb ldr r3, [r7, #60] ; 0x3c 802ecf6: 3308 adds r3, #8 802ecf8: 009b lsls r3, r3, #2 802ecfa: 4413 add r3, r2 802ecfc: 3304 adds r3, #4 802ecfe: f04f 527e mov.w r2, #1065353216 ; 0x3f800000 802ed02: 601a str r2, [r3, #0] corrdata.CORR_DIS[i] = 1.0f;//TEMP_CORR_KU[i]; 802ed04: 4a44 ldr r2, [pc, #272] ; (802ee18 ) 802ed06: 6bfb ldr r3, [r7, #60] ; 0x3c 802ed08: 3312 adds r3, #18 802ed0a: 009b lsls r3, r3, #2 802ed0c: 4413 add r3, r2 802ed0e: f04f 527e mov.w r2, #1065353216 ; 0x3f800000 802ed12: 601a str r2, [r3, #0] for(i = 0; i < 9; i++) 802ed14: 6bfb ldr r3, [r7, #60] ; 0x3c 802ed16: 3301 adds r3, #1 802ed18: 63fb str r3, [r7, #60] ; 0x3c 802ed1a: 6bfb ldr r3, [r7, #60] ; 0x3c 802ed1c: 2b08 cmp r3, #8 802ed1e: d9e1 bls.n 802ece4 } NeedFlash = true; 802ed20: 2301 movs r3, #1 802ed22: f887 303b strb.w r3, [r7, #59] ; 0x3b 802ed26: e0fe b.n 802ef26 //wrCorr(); } else if((sf[0].fl <= 0.5f) || (sf[1].fl <= 0.5f) || (sf[2].fl <= 0.5f) || (sf[3].fl <= 0.5f) || (sf[4].fl <= 0.5f) || (sf[5].fl <= 0.5f) || (sf[6].fl <= 0.5f) || (sf[7].fl <= 0.5f) || (sf[8].fl <= 0.5f)) 802ed28: edd7 7a04 vldr s15, [r7, #16] 802ed2c: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 802ed30: eef4 7ac7 vcmpe.f32 s15, s14 802ed34: eef1 fa10 vmrs APSR_nzcv, fpscr 802ed38: d947 bls.n 802edca 802ed3a: edd7 7a05 vldr s15, [r7, #20] 802ed3e: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 802ed42: eef4 7ac7 vcmpe.f32 s15, s14 802ed46: eef1 fa10 vmrs APSR_nzcv, fpscr 802ed4a: d93e bls.n 802edca 802ed4c: edd7 7a06 vldr s15, [r7, #24] 802ed50: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 802ed54: eef4 7ac7 vcmpe.f32 s15, s14 802ed58: eef1 fa10 vmrs APSR_nzcv, fpscr 802ed5c: d935 bls.n 802edca 802ed5e: edd7 7a07 vldr s15, [r7, #28] 802ed62: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 802ed66: eef4 7ac7 vcmpe.f32 s15, s14 802ed6a: eef1 fa10 vmrs APSR_nzcv, fpscr 802ed6e: d92c bls.n 802edca 802ed70: edd7 7a08 vldr s15, [r7, #32] 802ed74: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 802ed78: eef4 7ac7 vcmpe.f32 s15, s14 802ed7c: eef1 fa10 vmrs APSR_nzcv, fpscr 802ed80: d923 bls.n 802edca 802ed82: edd7 7a09 vldr s15, [r7, #36] ; 0x24 802ed86: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 802ed8a: eef4 7ac7 vcmpe.f32 s15, s14 802ed8e: eef1 fa10 vmrs APSR_nzcv, fpscr 802ed92: d91a bls.n 802edca 802ed94: edd7 7a0a vldr s15, [r7, #40] ; 0x28 802ed98: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 802ed9c: eef4 7ac7 vcmpe.f32 s15, s14 802eda0: eef1 fa10 vmrs APSR_nzcv, fpscr 802eda4: d911 bls.n 802edca 802eda6: edd7 7a0b vldr s15, [r7, #44] ; 0x2c 802edaa: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 802edae: eef4 7ac7 vcmpe.f32 s15, s14 802edb2: eef1 fa10 vmrs APSR_nzcv, fpscr 802edb6: d908 bls.n 802edca 802edb8: edd7 7a0c vldr s15, [r7, #48] ; 0x30 802edbc: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 802edc0: eef4 7ac7 vcmpe.f32 s15, s14 802edc4: eef1 fa10 vmrs APSR_nzcv, fpscr 802edc8: d838 bhi.n 802ee3c { for(i = 0; i < 9; i++) 802edca: 2300 movs r3, #0 802edcc: 63fb str r3, [r7, #60] ; 0x3c 802edce: e01a b.n 802ee06 { corrdata.CORR_ACC[i] = 1.0f;//TEMP_CORR_KU[i]; 802edd0: 4a11 ldr r2, [pc, #68] ; (802ee18 ) 802edd2: 6bfb ldr r3, [r7, #60] ; 0x3c 802edd4: 009b lsls r3, r3, #2 802edd6: 4413 add r3, r2 802edd8: f04f 527e mov.w r2, #1065353216 ; 0x3f800000 802eddc: 601a str r2, [r3, #0] corrdata.CORR_VEL[i] = 1.0f;//TEMP_CORR_KU[i]; 802edde: 4a0e ldr r2, [pc, #56] ; (802ee18 ) 802ede0: 6bfb ldr r3, [r7, #60] ; 0x3c 802ede2: 3308 adds r3, #8 802ede4: 009b lsls r3, r3, #2 802ede6: 4413 add r3, r2 802ede8: 3304 adds r3, #4 802edea: f04f 527e mov.w r2, #1065353216 ; 0x3f800000 802edee: 601a str r2, [r3, #0] corrdata.CORR_DIS[i] = 1.0f;//TEMP_CORR_KU[i]; 802edf0: 4a09 ldr r2, [pc, #36] ; (802ee18 ) 802edf2: 6bfb ldr r3, [r7, #60] ; 0x3c 802edf4: 3312 adds r3, #18 802edf6: 009b lsls r3, r3, #2 802edf8: 4413 add r3, r2 802edfa: f04f 527e mov.w r2, #1065353216 ; 0x3f800000 802edfe: 601a str r2, [r3, #0] for(i = 0; i < 9; i++) 802ee00: 6bfb ldr r3, [r7, #60] ; 0x3c 802ee02: 3301 adds r3, #1 802ee04: 63fb str r3, [r7, #60] ; 0x3c 802ee06: 6bfb ldr r3, [r7, #60] ; 0x3c 802ee08: 2b08 cmp r3, #8 802ee0a: d9e1 bls.n 802edd0 } NeedFlash = true; 802ee0c: 2301 movs r3, #1 802ee0e: f887 303b strb.w r3, [r7, #59] ; 0x3b 802ee12: e088 b.n 802ef26 802ee14: 08010000 .word 0x08010000 802ee18: 20024310 .word 0x20024310 802ee1c: 0801006c .word 0x0801006c 802ee20: 20020024 .word 0x20020024 802ee24: 20020d4c .word 0x20020d4c 802ee28: 20020f14 .word 0x20020f14 802ee2c: 08010074 .word 0x08010074 802ee30: 20020f1c .word 0x20020f1c 802ee34: 0801007c .word 0x0801007c 802ee38: 200209cc .word 0x200209cc //wrCorr(); } else if((sf[0].fl >= 2.0f) || (sf[1].fl >= 2.0f) || (sf[2].fl >= 2.0f) || (sf[3].fl >= 2.0f) || (sf[4].fl >= 2.0f) || (sf[5].fl >= 2.0f) || (sf[6].fl >= 2.0f) || (sf[7].fl >= 2.0f) || (sf[8].fl >= 2.0f)) 802ee3c: edd7 7a04 vldr s15, [r7, #16] 802ee40: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 802ee44: eef4 7ac7 vcmpe.f32 s15, s14 802ee48: eef1 fa10 vmrs APSR_nzcv, fpscr 802ee4c: da47 bge.n 802eede 802ee4e: edd7 7a05 vldr s15, [r7, #20] 802ee52: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 802ee56: eef4 7ac7 vcmpe.f32 s15, s14 802ee5a: eef1 fa10 vmrs APSR_nzcv, fpscr 802ee5e: da3e bge.n 802eede 802ee60: edd7 7a06 vldr s15, [r7, #24] 802ee64: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 802ee68: eef4 7ac7 vcmpe.f32 s15, s14 802ee6c: eef1 fa10 vmrs APSR_nzcv, fpscr 802ee70: da35 bge.n 802eede 802ee72: edd7 7a07 vldr s15, [r7, #28] 802ee76: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 802ee7a: eef4 7ac7 vcmpe.f32 s15, s14 802ee7e: eef1 fa10 vmrs APSR_nzcv, fpscr 802ee82: da2c bge.n 802eede 802ee84: edd7 7a08 vldr s15, [r7, #32] 802ee88: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 802ee8c: eef4 7ac7 vcmpe.f32 s15, s14 802ee90: eef1 fa10 vmrs APSR_nzcv, fpscr 802ee94: da23 bge.n 802eede 802ee96: edd7 7a09 vldr s15, [r7, #36] ; 0x24 802ee9a: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 802ee9e: eef4 7ac7 vcmpe.f32 s15, s14 802eea2: eef1 fa10 vmrs APSR_nzcv, fpscr 802eea6: da1a bge.n 802eede 802eea8: edd7 7a0a vldr s15, [r7, #40] ; 0x28 802eeac: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 802eeb0: eef4 7ac7 vcmpe.f32 s15, s14 802eeb4: eef1 fa10 vmrs APSR_nzcv, fpscr 802eeb8: da11 bge.n 802eede 802eeba: edd7 7a0b vldr s15, [r7, #44] ; 0x2c 802eebe: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 802eec2: eef4 7ac7 vcmpe.f32 s15, s14 802eec6: eef1 fa10 vmrs APSR_nzcv, fpscr 802eeca: da08 bge.n 802eede 802eecc: edd7 7a0c vldr s15, [r7, #48] ; 0x30 802eed0: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 802eed4: eef4 7ac7 vcmpe.f32 s15, s14 802eed8: eef1 fa10 vmrs APSR_nzcv, fpscr 802eedc: db23 blt.n 802ef26 { for(i = 0; i < 9; i++) 802eede: 2300 movs r3, #0 802eee0: 63fb str r3, [r7, #60] ; 0x3c 802eee2: e01a b.n 802ef1a { corrdata.CORR_ACC[i] = 1.0f;//TEMP_CORR_KU[i]; 802eee4: 4a71 ldr r2, [pc, #452] ; (802f0ac ) 802eee6: 6bfb ldr r3, [r7, #60] ; 0x3c 802eee8: 009b lsls r3, r3, #2 802eeea: 4413 add r3, r2 802eeec: f04f 527e mov.w r2, #1065353216 ; 0x3f800000 802eef0: 601a str r2, [r3, #0] corrdata.CORR_VEL[i] = 1.0f;//TEMP_CORR_KU[i]; 802eef2: 4a6e ldr r2, [pc, #440] ; (802f0ac ) 802eef4: 6bfb ldr r3, [r7, #60] ; 0x3c 802eef6: 3308 adds r3, #8 802eef8: 009b lsls r3, r3, #2 802eefa: 4413 add r3, r2 802eefc: 3304 adds r3, #4 802eefe: f04f 527e mov.w r2, #1065353216 ; 0x3f800000 802ef02: 601a str r2, [r3, #0] corrdata.CORR_DIS[i] = 1.0f;//TEMP_CORR_KU[i]; 802ef04: 4a69 ldr r2, [pc, #420] ; (802f0ac ) 802ef06: 6bfb ldr r3, [r7, #60] ; 0x3c 802ef08: 3312 adds r3, #18 802ef0a: 009b lsls r3, r3, #2 802ef0c: 4413 add r3, r2 802ef0e: f04f 527e mov.w r2, #1065353216 ; 0x3f800000 802ef12: 601a str r2, [r3, #0] for(i = 0; i < 9; i++) 802ef14: 6bfb ldr r3, [r7, #60] ; 0x3c 802ef16: 3301 adds r3, #1 802ef18: 63fb str r3, [r7, #60] ; 0x3c 802ef1a: 6bfb ldr r3, [r7, #60] ; 0x3c 802ef1c: 2b08 cmp r3, #8 802ef1e: d9e1 bls.n 802eee4 } NeedFlash = true; 802ef20: 2301 movs r3, #1 802ef22: f887 303b strb.w r3, [r7, #59] ; 0x3b //wrCorr(); } for(i = 0; i < 9; i++) { 802ef26: 2300 movs r3, #0 802ef28: 63fb str r3, [r7, #60] ; 0x3c 802ef2a: e00e b.n 802ef4a pardata.CORR_KU[i] = corrdata.CORR_ACC[i]; 802ef2c: 4a5f ldr r2, [pc, #380] ; (802f0ac ) 802ef2e: 6bfb ldr r3, [r7, #60] ; 0x3c 802ef30: 009b lsls r3, r3, #2 802ef32: 4413 add r3, r2 802ef34: 681a ldr r2, [r3, #0] 802ef36: 495e ldr r1, [pc, #376] ; (802f0b0 ) 802ef38: 6bfb ldr r3, [r7, #60] ; 0x3c 802ef3a: 3306 adds r3, #6 802ef3c: 009b lsls r3, r3, #2 802ef3e: 440b add r3, r1 802ef40: 3304 adds r3, #4 802ef42: 601a str r2, [r3, #0] for(i = 0; i < 9; i++) { 802ef44: 6bfb ldr r3, [r7, #60] ; 0x3c 802ef46: 3301 adds r3, #1 802ef48: 63fb str r3, [r7, #60] ; 0x3c 802ef4a: 6bfb ldr r3, [r7, #60] ; 0x3c 802ef4c: 2b08 cmp r3, #8 802ef4e: d9ed bls.n 802ef2c } if((pardata.CORR_KU[0] == 1.0f) && (pardata.CORR_KU[1] == 1.0f) && (pardata.CORR_KU[2] == 1.0f) && (pardata.CORR_KU[3] == 1.0f) && (pardata.CORR_KU[4] == 1.0f) && (pardata.CORR_KU[5] == 1.0f) && (pardata.CORR_KU[6] == 1.0f)) 802ef50: 4b57 ldr r3, [pc, #348] ; (802f0b0 ) 802ef52: edd3 7a07 vldr s15, [r3, #28] 802ef56: eeb7 7a00 vmov.f32 s14, #112 ; 0x3f800000 1.0 802ef5a: eef4 7a47 vcmp.f32 s15, s14 802ef5e: eef1 fa10 vmrs APSR_nzcv, fpscr 802ef62: d13f bne.n 802efe4 802ef64: 4b52 ldr r3, [pc, #328] ; (802f0b0 ) 802ef66: edd3 7a08 vldr s15, [r3, #32] 802ef6a: eeb7 7a00 vmov.f32 s14, #112 ; 0x3f800000 1.0 802ef6e: eef4 7a47 vcmp.f32 s15, s14 802ef72: eef1 fa10 vmrs APSR_nzcv, fpscr 802ef76: d135 bne.n 802efe4 802ef78: 4b4d ldr r3, [pc, #308] ; (802f0b0 ) 802ef7a: edd3 7a09 vldr s15, [r3, #36] ; 0x24 802ef7e: eeb7 7a00 vmov.f32 s14, #112 ; 0x3f800000 1.0 802ef82: eef4 7a47 vcmp.f32 s15, s14 802ef86: eef1 fa10 vmrs APSR_nzcv, fpscr 802ef8a: d12b bne.n 802efe4 802ef8c: 4b48 ldr r3, [pc, #288] ; (802f0b0 ) 802ef8e: edd3 7a0a vldr s15, [r3, #40] ; 0x28 802ef92: eeb7 7a00 vmov.f32 s14, #112 ; 0x3f800000 1.0 802ef96: eef4 7a47 vcmp.f32 s15, s14 802ef9a: eef1 fa10 vmrs APSR_nzcv, fpscr 802ef9e: d121 bne.n 802efe4 802efa0: 4b43 ldr r3, [pc, #268] ; (802f0b0 ) 802efa2: edd3 7a0b vldr s15, [r3, #44] ; 0x2c 802efa6: eeb7 7a00 vmov.f32 s14, #112 ; 0x3f800000 1.0 802efaa: eef4 7a47 vcmp.f32 s15, s14 802efae: eef1 fa10 vmrs APSR_nzcv, fpscr 802efb2: d117 bne.n 802efe4 802efb4: 4b3e ldr r3, [pc, #248] ; (802f0b0 ) 802efb6: edd3 7a0c vldr s15, [r3, #48] ; 0x30 802efba: eeb7 7a00 vmov.f32 s14, #112 ; 0x3f800000 1.0 802efbe: eef4 7a47 vcmp.f32 s15, s14 802efc2: eef1 fa10 vmrs APSR_nzcv, fpscr 802efc6: d10d bne.n 802efe4 802efc8: 4b39 ldr r3, [pc, #228] ; (802f0b0 ) 802efca: edd3 7a0d vldr s15, [r3, #52] ; 0x34 802efce: eeb7 7a00 vmov.f32 s14, #112 ; 0x3f800000 1.0 802efd2: eef4 7a47 vcmp.f32 s15, s14 802efd6: eef1 fa10 vmrs APSR_nzcv, fpscr 802efda: d103 bne.n 802efe4 { CORRECTION = false; 802efdc: 4b35 ldr r3, [pc, #212] ; (802f0b4 ) 802efde: 2200 movs r2, #0 802efe0: 701a strb r2, [r3, #0] 802efe2: e002 b.n 802efea } else { CORRECTION = true; 802efe4: 4b33 ldr r3, [pc, #204] ; (802f0b4 ) 802efe6: 2201 movs r2, #1 802efe8: 701a strb r2, [r3, #0] } //*************************************************************** memcpy((void *) &id, (void *) IDPAGE, 4); 802efea: 4b33 ldr r3, [pc, #204] ; (802f0b8 ) 802efec: 681b ldr r3, [r3, #0] 802efee: 4a33 ldr r2, [pc, #204] ; (802f0bc ) 802eff0: 6013 str r3, [r2, #0] NeedFlash = true; } #endif #ifdef USE_D141*/ if(id != 0x0000D141) 802eff2: 4b32 ldr r3, [pc, #200] ; (802f0bc ) 802eff4: 681b ldr r3, [r3, #0] 802eff6: f24d 1241 movw r2, #53569 ; 0xd141 802effa: 4293 cmp r3, r2 802effc: d04c beq.n 802f098 { memset((void *) _SERIAL, 0, sizeof(_SERIAL)); 802effe: 2208 movs r2, #8 802f000: 2100 movs r1, #0 802f002: 482f ldr r0, [pc, #188] ; (802f0c0 ) 802f004: f09e f820 bl 80cd048 for(i = 0; i < 9; i++) 802f008: 2300 movs r3, #0 802f00a: 63fb str r3, [r7, #60] ; 0x3c 802f00c: e01a b.n 802f044 { corrdata.CORR_ACC[i] = 1.0f; 802f00e: 4a27 ldr r2, [pc, #156] ; (802f0ac ) 802f010: 6bfb ldr r3, [r7, #60] ; 0x3c 802f012: 009b lsls r3, r3, #2 802f014: 4413 add r3, r2 802f016: f04f 527e mov.w r2, #1065353216 ; 0x3f800000 802f01a: 601a str r2, [r3, #0] corrdata.CORR_VEL[i] = 1.0f; 802f01c: 4a23 ldr r2, [pc, #140] ; (802f0ac ) 802f01e: 6bfb ldr r3, [r7, #60] ; 0x3c 802f020: 3308 adds r3, #8 802f022: 009b lsls r3, r3, #2 802f024: 4413 add r3, r2 802f026: 3304 adds r3, #4 802f028: f04f 527e mov.w r2, #1065353216 ; 0x3f800000 802f02c: 601a str r2, [r3, #0] corrdata.CORR_DIS[i] = 1.0f; 802f02e: 4a1f ldr r2, [pc, #124] ; (802f0ac ) 802f030: 6bfb ldr r3, [r7, #60] ; 0x3c 802f032: 3312 adds r3, #18 802f034: 009b lsls r3, r3, #2 802f036: 4413 add r3, r2 802f038: f04f 527e mov.w r2, #1065353216 ; 0x3f800000 802f03c: 601a str r2, [r3, #0] for(i = 0; i < 9; i++) 802f03e: 6bfb ldr r3, [r7, #60] ; 0x3c 802f040: 3301 adds r3, #1 802f042: 63fb str r3, [r7, #60] ; 0x3c 802f044: 6bfb ldr r3, [r7, #60] ; 0x3c 802f046: 2b08 cmp r3, #8 802f048: d9e1 bls.n 802f00e } aa1 = 1.0f; 802f04a: 4b1e ldr r3, [pc, #120] ; (802f0c4 ) 802f04c: f04f 527e mov.w r2, #1065353216 ; 0x3f800000 802f050: 601a str r2, [r3, #0] aa0 = 0.0f; 802f052: 4b1d ldr r3, [pc, #116] ; (802f0c8 ) 802f054: f04f 0200 mov.w r2, #0 802f058: 601a str r2, [r3, #0] MEAN = 8388608.0f; 802f05a: 4b1c ldr r3, [pc, #112] ; (802f0cc ) 802f05c: f04f 4296 mov.w r2, #1258291200 ; 0x4b000000 802f060: 601a str r2, [r3, #0] for(i = 0; i < 9; i++) { 802f062: 2300 movs r3, #0 802f064: 63fb str r3, [r7, #60] ; 0x3c 802f066: e00e b.n 802f086 pardata.CORR_KU[i] = corrdata.CORR_ACC[i]; 802f068: 4a10 ldr r2, [pc, #64] ; (802f0ac ) 802f06a: 6bfb ldr r3, [r7, #60] ; 0x3c 802f06c: 009b lsls r3, r3, #2 802f06e: 4413 add r3, r2 802f070: 681a ldr r2, [r3, #0] 802f072: 490f ldr r1, [pc, #60] ; (802f0b0 ) 802f074: 6bfb ldr r3, [r7, #60] ; 0x3c 802f076: 3306 adds r3, #6 802f078: 009b lsls r3, r3, #2 802f07a: 440b add r3, r1 802f07c: 3304 adds r3, #4 802f07e: 601a str r2, [r3, #0] for(i = 0; i < 9; i++) { 802f080: 6bfb ldr r3, [r7, #60] ; 0x3c 802f082: 3301 adds r3, #1 802f084: 63fb str r3, [r7, #60] ; 0x3c 802f086: 6bfb ldr r3, [r7, #60] ; 0x3c 802f088: 2b08 cmp r3, #8 802f08a: d9ed bls.n 802f068 } CORRECTION = false; 802f08c: 4b09 ldr r3, [pc, #36] ; (802f0b4 ) 802f08e: 2200 movs r2, #0 802f090: 701a strb r2, [r3, #0] NeedFlash = true; 802f092: 2301 movs r3, #1 802f094: f887 303b strb.w r3, [r7, #59] ; 0x3b #endif*/ //*************************************************************** if(NeedFlash == true) { 802f098: f897 303b ldrb.w r3, [r7, #59] ; 0x3b 802f09c: 2b00 cmp r3, #0 802f09e: d001 beq.n 802f0a4 wrCorr(); 802f0a0: f7ff fc9a bl 802e9d8 } #endif } 802f0a4: bf00 nop 802f0a6: 3740 adds r7, #64 ; 0x40 802f0a8: 46bd mov sp, r7 802f0aa: bdb0 pop {r4, r5, r7, pc} 802f0ac: 20024310 .word 0x20024310 802f0b0: 20023e60 .word 0x20023e60 802f0b4: 20020f10 .word 0x20020f10 802f0b8: 08010080 .word 0x08010080 802f0bc: 20020f28 .word 0x20020f28 802f0c0: 20020f14 .word 0x20020f14 802f0c4: 20020024 .word 0x20020024 802f0c8: 20020d4c .word 0x20020d4c 802f0cc: 200209cc .word 0x200209cc 0802f0d0 : void rdFlash(void) { 802f0d0: b580 push {r7, lr} 802f0d2: af00 add r7, sp, #0 rdCorr(); 802f0d4: f7ff fd36 bl 802eb44 rdPar(); 802f0d8: f7ff f962 bl 802e3a0 } 802f0dc: bf00 nop 802f0de: bd80 pop {r7, pc} 0802f0e0 : SRAM_HandleTypeDef hsram2; /* FMC initialization function */ void MX_FMC_Init(void) { 802f0e0: b580 push {r7, lr} 802f0e2: b088 sub sp, #32 802f0e4: af00 add r7, sp, #0 /* USER CODE BEGIN FMC_Init 0 */ /* USER CODE END FMC_Init 0 */ FMC_NORSRAM_TimingTypeDef Timing = {0}; 802f0e6: 1d3b adds r3, r7, #4 802f0e8: 2200 movs r2, #0 802f0ea: 601a str r2, [r3, #0] 802f0ec: 605a str r2, [r3, #4] 802f0ee: 609a str r2, [r3, #8] 802f0f0: 60da str r2, [r3, #12] 802f0f2: 611a str r2, [r3, #16] 802f0f4: 615a str r2, [r3, #20] 802f0f6: 619a str r2, [r3, #24] /* USER CODE END FMC_Init 1 */ /** Perform the SRAM2 memory initialization sequence */ hsram2.Instance = FMC_NORSRAM_DEVICE; 802f0f8: 4b2a ldr r3, [pc, #168] ; (802f1a4 ) 802f0fa: f04f 4220 mov.w r2, #2684354560 ; 0xa0000000 802f0fe: 601a str r2, [r3, #0] hsram2.Extended = FMC_NORSRAM_EXTENDED_DEVICE; 802f100: 4b28 ldr r3, [pc, #160] ; (802f1a4 ) 802f102: 4a29 ldr r2, [pc, #164] ; (802f1a8 ) 802f104: 605a str r2, [r3, #4] /* hsram2.Init */ hsram2.Init.NSBank = FMC_NORSRAM_BANK2; 802f106: 4b27 ldr r3, [pc, #156] ; (802f1a4 ) 802f108: 2202 movs r2, #2 802f10a: 609a str r2, [r3, #8] hsram2.Init.DataAddressMux = FMC_DATA_ADDRESS_MUX_DISABLE; 802f10c: 4b25 ldr r3, [pc, #148] ; (802f1a4 ) 802f10e: 2200 movs r2, #0 802f110: 60da str r2, [r3, #12] hsram2.Init.MemoryType = FMC_MEMORY_TYPE_SRAM; 802f112: 4b24 ldr r3, [pc, #144] ; (802f1a4 ) 802f114: 2200 movs r2, #0 802f116: 611a str r2, [r3, #16] hsram2.Init.MemoryDataWidth = FMC_NORSRAM_MEM_BUS_WIDTH_16; 802f118: 4b22 ldr r3, [pc, #136] ; (802f1a4 ) 802f11a: 2210 movs r2, #16 802f11c: 615a str r2, [r3, #20] hsram2.Init.BurstAccessMode = FMC_BURST_ACCESS_MODE_DISABLE; 802f11e: 4b21 ldr r3, [pc, #132] ; (802f1a4 ) 802f120: 2200 movs r2, #0 802f122: 619a str r2, [r3, #24] hsram2.Init.WaitSignalPolarity = FMC_WAIT_SIGNAL_POLARITY_LOW; 802f124: 4b1f ldr r3, [pc, #124] ; (802f1a4 ) 802f126: 2200 movs r2, #0 802f128: 61da str r2, [r3, #28] hsram2.Init.WaitSignalActive = FMC_WAIT_TIMING_BEFORE_WS; 802f12a: 4b1e ldr r3, [pc, #120] ; (802f1a4 ) 802f12c: 2200 movs r2, #0 802f12e: 621a str r2, [r3, #32] hsram2.Init.WriteOperation = FMC_WRITE_OPERATION_ENABLE; 802f130: 4b1c ldr r3, [pc, #112] ; (802f1a4 ) 802f132: f44f 5280 mov.w r2, #4096 ; 0x1000 802f136: 625a str r2, [r3, #36] ; 0x24 hsram2.Init.WaitSignal = FMC_WAIT_SIGNAL_DISABLE; 802f138: 4b1a ldr r3, [pc, #104] ; (802f1a4 ) 802f13a: 2200 movs r2, #0 802f13c: 629a str r2, [r3, #40] ; 0x28 hsram2.Init.ExtendedMode = FMC_EXTENDED_MODE_DISABLE; 802f13e: 4b19 ldr r3, [pc, #100] ; (802f1a4 ) 802f140: 2200 movs r2, #0 802f142: 62da str r2, [r3, #44] ; 0x2c hsram2.Init.AsynchronousWait = FMC_ASYNCHRONOUS_WAIT_DISABLE; 802f144: 4b17 ldr r3, [pc, #92] ; (802f1a4 ) 802f146: 2200 movs r2, #0 802f148: 631a str r2, [r3, #48] ; 0x30 hsram2.Init.WriteBurst = FMC_WRITE_BURST_DISABLE; 802f14a: 4b16 ldr r3, [pc, #88] ; (802f1a4 ) 802f14c: 2200 movs r2, #0 802f14e: 635a str r2, [r3, #52] ; 0x34 hsram2.Init.ContinuousClock = FMC_CONTINUOUS_CLOCK_SYNC_ONLY; 802f150: 4b14 ldr r3, [pc, #80] ; (802f1a4 ) 802f152: 2200 movs r2, #0 802f154: 639a str r2, [r3, #56] ; 0x38 hsram2.Init.WriteFifo = FMC_WRITE_FIFO_ENABLE; 802f156: 4b13 ldr r3, [pc, #76] ; (802f1a4 ) 802f158: 2200 movs r2, #0 802f15a: 63da str r2, [r3, #60] ; 0x3c hsram2.Init.PageSize = FMC_PAGE_SIZE_NONE; 802f15c: 4b11 ldr r3, [pc, #68] ; (802f1a4 ) 802f15e: 2200 movs r2, #0 802f160: 641a str r2, [r3, #64] ; 0x40 /* Timing */ Timing.AddressSetupTime = 2; 802f162: 2302 movs r3, #2 802f164: 607b str r3, [r7, #4] Timing.AddressHoldTime = 0; 802f166: 2300 movs r3, #0 802f168: 60bb str r3, [r7, #8] Timing.DataSetupTime = 2; 802f16a: 2302 movs r3, #2 802f16c: 60fb str r3, [r7, #12] Timing.BusTurnAroundDuration = 0; 802f16e: 2300 movs r3, #0 802f170: 613b str r3, [r7, #16] Timing.CLKDivision = 0; 802f172: 2300 movs r3, #0 802f174: 617b str r3, [r7, #20] Timing.DataLatency = 0; 802f176: 2300 movs r3, #0 802f178: 61bb str r3, [r7, #24] Timing.AccessMode = FMC_ACCESS_MODE_A; 802f17a: 2300 movs r3, #0 802f17c: 61fb str r3, [r7, #28] /* ExtTiming */ if (HAL_SRAM_Init(&hsram2, &Timing, NULL) != HAL_OK) 802f17e: 1d3b adds r3, r7, #4 802f180: 2200 movs r2, #0 802f182: 4619 mov r1, r3 802f184: 4807 ldr r0, [pc, #28] ; (802f1a4 ) 802f186: f08c fcf7 bl 80bbb78 802f18a: 4603 mov r3, r0 802f18c: 2b00 cmp r3, #0 802f18e: d001 beq.n 802f194 { Error_Handler( ); 802f190: f025 fe3e bl 8054e10 } /* USER CODE BEGIN FMC_Init 2 */ HAL_Delay(50); 802f194: 2032 movs r0, #50 ; 0x32 802f196: f084 f85b bl 80b3250 /* USER CODE END FMC_Init 2 */ } 802f19a: bf00 nop 802f19c: 3720 adds r7, #32 802f19e: 46bd mov sp, r7 802f1a0: bd80 pop {r7, pc} 802f1a2: bf00 nop 802f1a4: 2002482c .word 0x2002482c 802f1a8: a0000104 .word 0xa0000104 0802f1ac : static uint32_t FMC_Initialized = 0; static void HAL_FMC_MspInit(void){ 802f1ac: b580 push {r7, lr} 802f1ae: b086 sub sp, #24 802f1b0: af00 add r7, sp, #0 /* USER CODE BEGIN FMC_MspInit 0 */ /* USER CODE END FMC_MspInit 0 */ GPIO_InitTypeDef GPIO_InitStruct = {0}; 802f1b2: 1d3b adds r3, r7, #4 802f1b4: 2200 movs r2, #0 802f1b6: 601a str r2, [r3, #0] 802f1b8: 605a str r2, [r3, #4] 802f1ba: 609a str r2, [r3, #8] 802f1bc: 60da str r2, [r3, #12] 802f1be: 611a str r2, [r3, #16] if (FMC_Initialized) { 802f1c0: 4b2b ldr r3, [pc, #172] ; (802f270 ) 802f1c2: 681b ldr r3, [r3, #0] 802f1c4: 2b00 cmp r3, #0 802f1c6: d14f bne.n 802f268 return; } FMC_Initialized = 1; 802f1c8: 4b29 ldr r3, [pc, #164] ; (802f270 ) 802f1ca: 2201 movs r2, #1 802f1cc: 601a str r2, [r3, #0] /* Peripheral clock enable */ __HAL_RCC_FMC_CLK_ENABLE(); 802f1ce: 4a29 ldr r2, [pc, #164] ; (802f274 ) 802f1d0: 4b28 ldr r3, [pc, #160] ; (802f274 ) 802f1d2: 6b9b ldr r3, [r3, #56] ; 0x38 802f1d4: f043 0301 orr.w r3, r3, #1 802f1d8: 6393 str r3, [r2, #56] ; 0x38 802f1da: 4b26 ldr r3, [pc, #152] ; (802f274 ) 802f1dc: 6b9b ldr r3, [r3, #56] ; 0x38 802f1de: f003 0301 and.w r3, r3, #1 802f1e2: 603b str r3, [r7, #0] 802f1e4: 683b ldr r3, [r7, #0] PG9 ------> FMC_NE2 PE0 ------> FMC_NBL0 PE1 ------> FMC_NBL1 */ /* GPIO_InitStruct */ GPIO_InitStruct.Pin = GPIO_PIN_3|GPIO_PIN_7|GPIO_PIN_8|GPIO_PIN_9 802f1e6: f64f 738b movw r3, #65419 ; 0xff8b 802f1ea: 607b str r3, [r7, #4] |GPIO_PIN_10|GPIO_PIN_11|GPIO_PIN_12|GPIO_PIN_13 |GPIO_PIN_14|GPIO_PIN_15|GPIO_PIN_0|GPIO_PIN_1; GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; 802f1ec: 2302 movs r3, #2 802f1ee: 60bb str r3, [r7, #8] GPIO_InitStruct.Pull = GPIO_NOPULL; 802f1f0: 2300 movs r3, #0 802f1f2: 60fb str r3, [r7, #12] GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; 802f1f4: 2303 movs r3, #3 802f1f6: 613b str r3, [r7, #16] GPIO_InitStruct.Alternate = GPIO_AF12_FMC; 802f1f8: 230c movs r3, #12 802f1fa: 617b str r3, [r7, #20] HAL_GPIO_Init(GPIOE, &GPIO_InitStruct); 802f1fc: 1d3b adds r3, r7, #4 802f1fe: 4619 mov r1, r3 802f200: 481d ldr r0, [pc, #116] ; (802f278 ) 802f202: f086 fa07 bl 80b5614 /* GPIO_InitStruct */ GPIO_InitStruct.Pin = GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3 802f206: f24f 033f movw r3, #61503 ; 0xf03f 802f20a: 607b str r3, [r7, #4] |GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_12|GPIO_PIN_13 |GPIO_PIN_14|GPIO_PIN_15; GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; 802f20c: 2302 movs r3, #2 802f20e: 60bb str r3, [r7, #8] GPIO_InitStruct.Pull = GPIO_NOPULL; 802f210: 2300 movs r3, #0 802f212: 60fb str r3, [r7, #12] GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; 802f214: 2303 movs r3, #3 802f216: 613b str r3, [r7, #16] GPIO_InitStruct.Alternate = GPIO_AF12_FMC; 802f218: 230c movs r3, #12 802f21a: 617b str r3, [r7, #20] HAL_GPIO_Init(GPIOF, &GPIO_InitStruct); 802f21c: 1d3b adds r3, r7, #4 802f21e: 4619 mov r1, r3 802f220: 4816 ldr r0, [pc, #88] ; (802f27c ) 802f222: f086 f9f7 bl 80b5614 /* GPIO_InitStruct */ GPIO_InitStruct.Pin = GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3 802f226: f240 233f movw r3, #575 ; 0x23f 802f22a: 607b str r3, [r7, #4] |GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_9; GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; 802f22c: 2302 movs r3, #2 802f22e: 60bb str r3, [r7, #8] GPIO_InitStruct.Pull = GPIO_NOPULL; 802f230: 2300 movs r3, #0 802f232: 60fb str r3, [r7, #12] GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; 802f234: 2303 movs r3, #3 802f236: 613b str r3, [r7, #16] GPIO_InitStruct.Alternate = GPIO_AF12_FMC; 802f238: 230c movs r3, #12 802f23a: 617b str r3, [r7, #20] HAL_GPIO_Init(GPIOG, &GPIO_InitStruct); 802f23c: 1d3b adds r3, r7, #4 802f23e: 4619 mov r1, r3 802f240: 480f ldr r0, [pc, #60] ; (802f280 ) 802f242: f086 f9e7 bl 80b5614 /* GPIO_InitStruct */ GPIO_InitStruct.Pin = GPIO_PIN_8|GPIO_PIN_9|GPIO_PIN_10|GPIO_PIN_11 802f246: f64f 7333 movw r3, #65331 ; 0xff33 802f24a: 607b str r3, [r7, #4] |GPIO_PIN_12|GPIO_PIN_13|GPIO_PIN_14|GPIO_PIN_15 |GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_4|GPIO_PIN_5; GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; 802f24c: 2302 movs r3, #2 802f24e: 60bb str r3, [r7, #8] GPIO_InitStruct.Pull = GPIO_NOPULL; 802f250: 2300 movs r3, #0 802f252: 60fb str r3, [r7, #12] GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; 802f254: 2303 movs r3, #3 802f256: 613b str r3, [r7, #16] GPIO_InitStruct.Alternate = GPIO_AF12_FMC; 802f258: 230c movs r3, #12 802f25a: 617b str r3, [r7, #20] HAL_GPIO_Init(GPIOD, &GPIO_InitStruct); 802f25c: 1d3b adds r3, r7, #4 802f25e: 4619 mov r1, r3 802f260: 4808 ldr r0, [pc, #32] ; (802f284 ) 802f262: f086 f9d7 bl 80b5614 802f266: e000 b.n 802f26a return; 802f268: bf00 nop /* USER CODE BEGIN FMC_MspInit 1 */ /* USER CODE END FMC_MspInit 1 */ } 802f26a: 3718 adds r7, #24 802f26c: 46bd mov sp, r7 802f26e: bd80 pop {r7, pc} 802f270: 20020f2c .word 0x20020f2c 802f274: 40023800 .word 0x40023800 802f278: 40021000 .word 0x40021000 802f27c: 40021400 .word 0x40021400 802f280: 40021800 .word 0x40021800 802f284: 40020c00 .word 0x40020c00 0802f288 : void HAL_SRAM_MspInit(SRAM_HandleTypeDef* sramHandle){ 802f288: b580 push {r7, lr} 802f28a: b082 sub sp, #8 802f28c: af00 add r7, sp, #0 802f28e: 6078 str r0, [r7, #4] /* USER CODE BEGIN SRAM_MspInit 0 */ /* USER CODE END SRAM_MspInit 0 */ HAL_FMC_MspInit(); 802f290: f7ff ff8c bl 802f1ac /* USER CODE BEGIN SRAM_MspInit 1 */ /* USER CODE END SRAM_MspInit 1 */ } 802f294: bf00 nop 802f296: 3708 adds r7, #8 802f298: 46bd mov sp, r7 802f29a: bd80 pop {r7, pc} 0802f29c : * EXTI * Free pins are configured automatically as Analog (this feature is enabled through * the Code Generation settings) */ void MX_GPIO_Init(void) { 802f29c: b580 push {r7, lr} 802f29e: b08e sub sp, #56 ; 0x38 802f2a0: af00 add r7, sp, #0 GPIO_InitTypeDef GPIO_InitStruct; /* GPIO Ports Clock Enable */ __HAL_RCC_GPIOE_CLK_ENABLE(); 802f2a2: 4ab6 ldr r2, [pc, #728] ; (802f57c ) 802f2a4: 4bb5 ldr r3, [pc, #724] ; (802f57c ) 802f2a6: 6b1b ldr r3, [r3, #48] ; 0x30 802f2a8: f043 0310 orr.w r3, r3, #16 802f2ac: 6313 str r3, [r2, #48] ; 0x30 802f2ae: 4bb3 ldr r3, [pc, #716] ; (802f57c ) 802f2b0: 6b1b ldr r3, [r3, #48] ; 0x30 802f2b2: f003 0310 and.w r3, r3, #16 802f2b6: 623b str r3, [r7, #32] 802f2b8: 6a3b ldr r3, [r7, #32] __HAL_RCC_GPIOC_CLK_ENABLE(); 802f2ba: 4ab0 ldr r2, [pc, #704] ; (802f57c ) 802f2bc: 4baf ldr r3, [pc, #700] ; (802f57c ) 802f2be: 6b1b ldr r3, [r3, #48] ; 0x30 802f2c0: f043 0304 orr.w r3, r3, #4 802f2c4: 6313 str r3, [r2, #48] ; 0x30 802f2c6: 4bad ldr r3, [pc, #692] ; (802f57c ) 802f2c8: 6b1b ldr r3, [r3, #48] ; 0x30 802f2ca: f003 0304 and.w r3, r3, #4 802f2ce: 61fb str r3, [r7, #28] 802f2d0: 69fb ldr r3, [r7, #28] __HAL_RCC_GPIOF_CLK_ENABLE(); 802f2d2: 4aaa ldr r2, [pc, #680] ; (802f57c ) 802f2d4: 4ba9 ldr r3, [pc, #676] ; (802f57c ) 802f2d6: 6b1b ldr r3, [r3, #48] ; 0x30 802f2d8: f043 0320 orr.w r3, r3, #32 802f2dc: 6313 str r3, [r2, #48] ; 0x30 802f2de: 4ba7 ldr r3, [pc, #668] ; (802f57c ) 802f2e0: 6b1b ldr r3, [r3, #48] ; 0x30 802f2e2: f003 0320 and.w r3, r3, #32 802f2e6: 61bb str r3, [r7, #24] 802f2e8: 69bb ldr r3, [r7, #24] __HAL_RCC_GPIOH_CLK_ENABLE(); 802f2ea: 4aa4 ldr r2, [pc, #656] ; (802f57c ) 802f2ec: 4ba3 ldr r3, [pc, #652] ; (802f57c ) 802f2ee: 6b1b ldr r3, [r3, #48] ; 0x30 802f2f0: f043 0380 orr.w r3, r3, #128 ; 0x80 802f2f4: 6313 str r3, [r2, #48] ; 0x30 802f2f6: 4ba1 ldr r3, [pc, #644] ; (802f57c ) 802f2f8: 6b1b ldr r3, [r3, #48] ; 0x30 802f2fa: f003 0380 and.w r3, r3, #128 ; 0x80 802f2fe: 617b str r3, [r7, #20] 802f300: 697b ldr r3, [r7, #20] __HAL_RCC_GPIOA_CLK_ENABLE(); 802f302: 4a9e ldr r2, [pc, #632] ; (802f57c ) 802f304: 4b9d ldr r3, [pc, #628] ; (802f57c ) 802f306: 6b1b ldr r3, [r3, #48] ; 0x30 802f308: f043 0301 orr.w r3, r3, #1 802f30c: 6313 str r3, [r2, #48] ; 0x30 802f30e: 4b9b ldr r3, [pc, #620] ; (802f57c ) 802f310: 6b1b ldr r3, [r3, #48] ; 0x30 802f312: f003 0301 and.w r3, r3, #1 802f316: 613b str r3, [r7, #16] 802f318: 693b ldr r3, [r7, #16] __HAL_RCC_GPIOB_CLK_ENABLE(); 802f31a: 4a98 ldr r2, [pc, #608] ; (802f57c ) 802f31c: 4b97 ldr r3, [pc, #604] ; (802f57c ) 802f31e: 6b1b ldr r3, [r3, #48] ; 0x30 802f320: f043 0302 orr.w r3, r3, #2 802f324: 6313 str r3, [r2, #48] ; 0x30 802f326: 4b95 ldr r3, [pc, #596] ; (802f57c ) 802f328: 6b1b ldr r3, [r3, #48] ; 0x30 802f32a: f003 0302 and.w r3, r3, #2 802f32e: 60fb str r3, [r7, #12] 802f330: 68fb ldr r3, [r7, #12] __HAL_RCC_GPIOG_CLK_ENABLE(); 802f332: 4a92 ldr r2, [pc, #584] ; (802f57c ) 802f334: 4b91 ldr r3, [pc, #580] ; (802f57c ) 802f336: 6b1b ldr r3, [r3, #48] ; 0x30 802f338: f043 0340 orr.w r3, r3, #64 ; 0x40 802f33c: 6313 str r3, [r2, #48] ; 0x30 802f33e: 4b8f ldr r3, [pc, #572] ; (802f57c ) 802f340: 6b1b ldr r3, [r3, #48] ; 0x30 802f342: f003 0340 and.w r3, r3, #64 ; 0x40 802f346: 60bb str r3, [r7, #8] 802f348: 68bb ldr r3, [r7, #8] __HAL_RCC_GPIOD_CLK_ENABLE(); 802f34a: 4a8c ldr r2, [pc, #560] ; (802f57c ) 802f34c: 4b8b ldr r3, [pc, #556] ; (802f57c ) 802f34e: 6b1b ldr r3, [r3, #48] ; 0x30 802f350: f043 0308 orr.w r3, r3, #8 802f354: 6313 str r3, [r2, #48] ; 0x30 802f356: 4b89 ldr r3, [pc, #548] ; (802f57c ) 802f358: 6b1b ldr r3, [r3, #48] ; 0x30 802f35a: f003 0308 and.w r3, r3, #8 802f35e: 607b str r3, [r7, #4] 802f360: 687b ldr r3, [r7, #4] HAL_GPIO_WritePin(BL_ENABLE_GPIO_Port, BL_ENABLE_Pin, GPIO_PIN_SET); //Bluetooth PowerOff 802f362: 2201 movs r2, #1 802f364: 2104 movs r1, #4 802f366: 4886 ldr r0, [pc, #536] ; (802f580 ) 802f368: f086 fc22 bl 80b5bb0 HAL_GPIO_WritePin(KEY_GPIO_Port, KEY_Pin, GPIO_PIN_SET); //AT_MODE on 802f36c: 2201 movs r2, #1 802f36e: f44f 4100 mov.w r1, #32768 ; 0x8000 802f372: 4884 ldr r0, [pc, #528] ; (802f584 ) 802f374: f086 fc1c bl 80b5bb0 HAL_GPIO_WritePin(IN_GPIO_Port, IN_Pin, GPIO_PIN_RESET); 802f378: 2200 movs r2, #0 802f37a: f44f 6100 mov.w r1, #2048 ; 0x800 802f37e: 4882 ldr r0, [pc, #520] ; (802f588 ) 802f380: f086 fc16 bl 80b5bb0 HAL_GPIO_WritePin(TMPR_GPIO_Port, TMPR_Pin, GPIO_PIN_SET); 802f384: 2201 movs r2, #1 802f386: f44f 5100 mov.w r1, #8192 ; 0x2000 802f38a: 4880 ldr r0, [pc, #512] ; (802f58c ) 802f38c: f086 fc10 bl 80b5bb0 HAL_GPIO_WritePin(CR_GPIO_Port, CR_Pin, GPIO_PIN_SET); 802f390: 2201 movs r2, #1 802f392: f44f 4100 mov.w r1, #32768 ; 0x8000 802f396: 487a ldr r0, [pc, #488] ; (802f580 ) 802f398: f086 fc0a bl 80b5bb0 HAL_GPIO_WritePin(RSTB_GPIO_Port, RSTB_Pin, GPIO_PIN_SET); 802f39c: 2201 movs r2, #1 802f39e: 2104 movs r1, #4 802f3a0: 487b ldr r0, [pc, #492] ; (802f590 ) 802f3a2: f086 fc05 bl 80b5bb0 HAL_GPIO_WritePin(GPIOE, (U1_Pin | U2_Pin | U3_Pin), GPIO_PIN_SET); 802f3a6: 2201 movs r2, #1 802f3a8: 2134 movs r1, #52 ; 0x34 802f3aa: 487a ldr r0, [pc, #488] ; (802f594 ) 802f3ac: f086 fc00 bl 80b5bb0 HAL_GPIO_WritePin(GPIOF, ON_Pin, GPIO_PIN_SET); 802f3b0: 2201 movs r2, #1 802f3b2: f44f 7180 mov.w r1, #256 ; 0x100 802f3b6: 4874 ldr r0, [pc, #464] ; (802f588 ) 802f3b8: f086 fbfa bl 80b5bb0 HAL_GPIO_WritePin(RESET_GPIO_Port, RESET_Pin, GPIO_PIN_SET); 802f3bc: 2201 movs r2, #1 802f3be: 2140 movs r1, #64 ; 0x40 802f3c0: 4875 ldr r0, [pc, #468] ; (802f598 ) 802f3c2: f086 fbf5 bl 80b5bb0 HAL_GPIO_WritePin(ZAR_GPIO_Port, ZAR_Pin, GPIO_PIN_RESET); 802f3c6: 2200 movs r2, #0 802f3c8: 2108 movs r1, #8 802f3ca: 4870 ldr r0, [pc, #448] ; (802f58c ) 802f3cc: f086 fbf0 bl 80b5bb0 HAL_GPIO_WritePin(DISP_ON_GPIO_Port, DISP_ON_Pin, GPIO_PIN_SET); 802f3d0: 2201 movs r2, #1 802f3d2: f44f 7180 mov.w r1, #256 ; 0x100 802f3d6: 486a ldr r0, [pc, #424] ; (802f580 ) 802f3d8: f086 fbea bl 80b5bb0 #ifdef USE_ADG5401 HAL_GPIO_WritePin(KU_GPIO_Port, KU_Pin, GPIO_PIN_SET); #else HAL_GPIO_WritePin(KU_GPIO_Port, KU_Pin, GPIO_PIN_RESET); 802f3dc: 2200 movs r2, #0 802f3de: f44f 4180 mov.w r1, #16384 ; 0x4000 802f3e2: 4868 ldr r0, [pc, #416] ; (802f584 ) 802f3e4: f086 fbe4 bl 80b5bb0 #endif HAL_GPIO_WritePin(A0_GPIO_Port, A0_Pin, GPIO_PIN_RESET); 802f3e8: 2200 movs r2, #0 802f3ea: 2120 movs r1, #32 802f3ec: 4868 ldr r0, [pc, #416] ; (802f590 ) 802f3ee: f086 fbdf bl 80b5bb0 HAL_GPIO_WritePin(A1_GPIO_Port, A1_Pin, GPIO_PIN_RESET); 802f3f2: 2200 movs r2, #0 802f3f4: f44f 7100 mov.w r1, #512 ; 0x200 802f3f8: 4863 ldr r0, [pc, #396] ; (802f588 ) 802f3fa: f086 fbd9 bl 80b5bb0 GPIO_InitStruct.Pin = CR_Pin; 802f3fe: f44f 4300 mov.w r3, #32768 ; 0x8000 802f402: 627b str r3, [r7, #36] ; 0x24 GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; 802f404: 2301 movs r3, #1 802f406: 62bb str r3, [r7, #40] ; 0x28 GPIO_InitStruct.Pull = GPIO_NOPULL; 802f408: 2300 movs r3, #0 802f40a: 62fb str r3, [r7, #44] ; 0x2c GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; 802f40c: 2303 movs r3, #3 802f40e: 633b str r3, [r7, #48] ; 0x30 GPIO_InitStruct.Alternate = 0; 802f410: 2300 movs r3, #0 802f412: 637b str r3, [r7, #52] ; 0x34 HAL_GPIO_Init(CR_GPIO_Port, &GPIO_InitStruct); 802f414: f107 0324 add.w r3, r7, #36 ; 0x24 802f418: 4619 mov r1, r3 802f41a: 4859 ldr r0, [pc, #356] ; (802f580 ) 802f41c: f086 f8fa bl 80b5614 /*Configure GPIO pins : PEPin PEPin PEPin */ GPIO_InitStruct.Pin = RSTB_Pin; 802f420: 2304 movs r3, #4 802f422: 627b str r3, [r7, #36] ; 0x24 GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; 802f424: 2301 movs r3, #1 802f426: 62bb str r3, [r7, #40] ; 0x28 GPIO_InitStruct.Pull = GPIO_PULLUP; 802f428: 2301 movs r3, #1 802f42a: 62fb str r3, [r7, #44] ; 0x2c GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; 802f42c: 2303 movs r3, #3 802f42e: 633b str r3, [r7, #48] ; 0x30 HAL_GPIO_Init(RSTB_GPIO_Port, &GPIO_InitStruct); 802f430: f107 0324 add.w r3, r7, #36 ; 0x24 802f434: 4619 mov r1, r3 802f436: 4856 ldr r0, [pc, #344] ; (802f590 ) 802f438: f086 f8ec bl 80b5614 /*Configure GPIO pins : PEPin PEPin PEPin */ GPIO_InitStruct.Pin = U1_Pin|U2_Pin|U3_Pin; 802f43c: 2334 movs r3, #52 ; 0x34 802f43e: 627b str r3, [r7, #36] ; 0x24 GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; 802f440: 2301 movs r3, #1 802f442: 62bb str r3, [r7, #40] ; 0x28 GPIO_InitStruct.Pull = GPIO_PULLUP; 802f444: 2301 movs r3, #1 802f446: 62fb str r3, [r7, #44] ; 0x2c GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; 802f448: 2303 movs r3, #3 802f44a: 633b str r3, [r7, #48] ; 0x30 HAL_GPIO_Init(GPIOE, &GPIO_InitStruct); 802f44c: f107 0324 add.w r3, r7, #36 ; 0x24 802f450: 4619 mov r1, r3 802f452: 4850 ldr r0, [pc, #320] ; (802f594 ) 802f454: f086 f8de bl 80b5614 /*Configure GPIO pin : PtPin */ GPIO_InitStruct.Pin = ON_Pin; 802f458: f44f 7380 mov.w r3, #256 ; 0x100 802f45c: 627b str r3, [r7, #36] ; 0x24 GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; 802f45e: 2301 movs r3, #1 802f460: 62bb str r3, [r7, #40] ; 0x28 GPIO_InitStruct.Pull = GPIO_NOPULL; 802f462: 2300 movs r3, #0 802f464: 62fb str r3, [r7, #44] ; 0x2c GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH; 802f466: 2302 movs r3, #2 802f468: 633b str r3, [r7, #48] ; 0x30 HAL_GPIO_Init(ON_GPIO_Port, &GPIO_InitStruct); 802f46a: f107 0324 add.w r3, r7, #36 ; 0x24 802f46e: 4619 mov r1, r3 802f470: 4845 ldr r0, [pc, #276] ; (802f588 ) 802f472: f086 f8cf bl 80b5614 GPIO_InitStruct.Pin = DISP_ON_Pin; 802f476: f44f 7380 mov.w r3, #256 ; 0x100 802f47a: 627b str r3, [r7, #36] ; 0x24 GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; 802f47c: 2301 movs r3, #1 802f47e: 62bb str r3, [r7, #40] ; 0x28 GPIO_InitStruct.Pull = GPIO_NOPULL; 802f480: 2300 movs r3, #0 802f482: 62fb str r3, [r7, #44] ; 0x2c GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH; 802f484: 2302 movs r3, #2 802f486: 633b str r3, [r7, #48] ; 0x30 HAL_GPIO_Init(DISP_ON_GPIO_Port, &GPIO_InitStruct); 802f488: f107 0324 add.w r3, r7, #36 ; 0x24 802f48c: 4619 mov r1, r3 802f48e: 483c ldr r0, [pc, #240] ; (802f580 ) 802f490: f086 f8c0 bl 80b5614 /*Configure GPIO pin : PtPin */ GPIO_InitStruct.Pin = OFF_Pin; 802f494: 2301 movs r3, #1 802f496: 627b str r3, [r7, #36] ; 0x24 GPIO_InitStruct.Mode = GPIO_MODE_INPUT; 802f498: 2300 movs r3, #0 802f49a: 62bb str r3, [r7, #40] ; 0x28 GPIO_InitStruct.Pull = GPIO_NOPULL; 802f49c: 2300 movs r3, #0 802f49e: 62fb str r3, [r7, #44] ; 0x2c HAL_GPIO_Init(OFF_GPIO_Port, &GPIO_InitStruct); 802f4a0: f107 0324 add.w r3, r7, #36 ; 0x24 802f4a4: 4619 mov r1, r3 802f4a6: 4836 ldr r0, [pc, #216] ; (802f580 ) 802f4a8: f086 f8b4 bl 80b5614 /*Configure GPIO pin : PtPin */ GPIO_InitStruct.Pin = BAT_Z_Pin; 802f4ac: 2310 movs r3, #16 802f4ae: 627b str r3, [r7, #36] ; 0x24 GPIO_InitStruct.Mode = GPIO_MODE_INPUT; 802f4b0: 2300 movs r3, #0 802f4b2: 62bb str r3, [r7, #40] ; 0x28 GPIO_InitStruct.Pull = GPIO_PULLUP; 802f4b4: 2301 movs r3, #1 802f4b6: 62fb str r3, [r7, #44] ; 0x2c HAL_GPIO_Init(BAT_Z_GPIO_Port, &GPIO_InitStruct); 802f4b8: f107 0324 add.w r3, r7, #36 ; 0x24 802f4bc: 4619 mov r1, r3 802f4be: 4833 ldr r0, [pc, #204] ; (802f58c ) 802f4c0: f086 f8a8 bl 80b5614 /*Configure GPIO pin : PtPin */ GPIO_InitStruct.Pin = SD_DETECT_Pin; 802f4c4: f44f 5380 mov.w r3, #4096 ; 0x1000 802f4c8: 627b str r3, [r7, #36] ; 0x24 GPIO_InitStruct.Mode = GPIO_MODE_INPUT; 802f4ca: 2300 movs r3, #0 802f4cc: 62bb str r3, [r7, #40] ; 0x28 GPIO_InitStruct.Pull = GPIO_PULLUP; 802f4ce: 2301 movs r3, #1 802f4d0: 62fb str r3, [r7, #44] ; 0x2c HAL_GPIO_Init(SD_DETECT_GPIO_Port, &GPIO_InitStruct); 802f4d2: f107 0324 add.w r3, r7, #36 ; 0x24 802f4d6: 4619 mov r1, r3 802f4d8: 482d ldr r0, [pc, #180] ; (802f590 ) 802f4da: f086 f89b bl 80b5614 /*Configure GPIO pin : PtPin */ GPIO_InitStruct.Pin = RESET_Pin; 802f4de: 2340 movs r3, #64 ; 0x40 802f4e0: 627b str r3, [r7, #36] ; 0x24 GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; 802f4e2: 2301 movs r3, #1 802f4e4: 62bb str r3, [r7, #40] ; 0x28 GPIO_InitStruct.Pull = GPIO_NOPULL; 802f4e6: 2300 movs r3, #0 802f4e8: 62fb str r3, [r7, #44] ; 0x2c GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH; 802f4ea: 2302 movs r3, #2 802f4ec: 633b str r3, [r7, #48] ; 0x30 HAL_GPIO_Init(RESET_GPIO_Port, &GPIO_InitStruct); 802f4ee: f107 0324 add.w r3, r7, #36 ; 0x24 802f4f2: 4619 mov r1, r3 802f4f4: 4828 ldr r0, [pc, #160] ; (802f598 ) 802f4f6: f086 f88d bl 80b5614 /*Configure GPIO pin : PtPin */ GPIO_InitStruct.Pin = ZAR_Pin; 802f4fa: 2308 movs r3, #8 802f4fc: 627b str r3, [r7, #36] ; 0x24 GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; 802f4fe: 2301 movs r3, #1 802f500: 62bb str r3, [r7, #40] ; 0x28 GPIO_InitStruct.Pull = GPIO_NOPULL; 802f502: 2300 movs r3, #0 802f504: 62fb str r3, [r7, #44] ; 0x2c GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; 802f506: 2300 movs r3, #0 802f508: 633b str r3, [r7, #48] ; 0x30 HAL_GPIO_Init(ZAR_GPIO_Port, &GPIO_InitStruct); 802f50a: f107 0324 add.w r3, r7, #36 ; 0x24 802f50e: 4619 mov r1, r3 802f510: 481e ldr r0, [pc, #120] ; (802f58c ) 802f512: f086 f87f bl 80b5614 GPIO_InitStruct.Pin = IN_Pin; 802f516: f44f 6300 mov.w r3, #2048 ; 0x800 802f51a: 627b str r3, [r7, #36] ; 0x24 GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; 802f51c: 2301 movs r3, #1 802f51e: 62bb str r3, [r7, #40] ; 0x28 GPIO_InitStruct.Pull = GPIO_NOPULL; 802f520: 2300 movs r3, #0 802f522: 62fb str r3, [r7, #44] ; 0x2c GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH; 802f524: 2302 movs r3, #2 802f526: 633b str r3, [r7, #48] ; 0x30 HAL_GPIO_Init(IN_GPIO_Port, &GPIO_InitStruct); 802f528: f107 0324 add.w r3, r7, #36 ; 0x24 802f52c: 4619 mov r1, r3 802f52e: 4816 ldr r0, [pc, #88] ; (802f588 ) 802f530: f086 f870 bl 80b5614 GPIO_InitStruct.Pin = TMPR_Pin; 802f534: f44f 5300 mov.w r3, #8192 ; 0x2000 802f538: 627b str r3, [r7, #36] ; 0x24 GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; 802f53a: 2301 movs r3, #1 802f53c: 62bb str r3, [r7, #40] ; 0x28 GPIO_InitStruct.Pull = GPIO_NOPULL; 802f53e: 2300 movs r3, #0 802f540: 62fb str r3, [r7, #44] ; 0x2c GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH; 802f542: 2302 movs r3, #2 802f544: 633b str r3, [r7, #48] ; 0x30 HAL_GPIO_Init(TMPR_GPIO_Port, &GPIO_InitStruct); 802f546: f107 0324 add.w r3, r7, #36 ; 0x24 802f54a: 4619 mov r1, r3 802f54c: 480f ldr r0, [pc, #60] ; (802f58c ) 802f54e: f086 f861 bl 80b5614 //************************************************************************************ //************************** NOT USED PINS *************************************** //************************************************************************************ GPIO_InitStruct.Pin = A0_Pin; 802f552: 2320 movs r3, #32 802f554: 627b str r3, [r7, #36] ; 0x24 GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; 802f556: 2301 movs r3, #1 802f558: 62bb str r3, [r7, #40] ; 0x28 GPIO_InitStruct.Pull = GPIO_NOPULL; 802f55a: 2300 movs r3, #0 802f55c: 62fb str r3, [r7, #44] ; 0x2c GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH; 802f55e: 2302 movs r3, #2 802f560: 633b str r3, [r7, #48] ; 0x30 HAL_GPIO_Init(A0_GPIO_Port, &GPIO_InitStruct); 802f562: f107 0324 add.w r3, r7, #36 ; 0x24 802f566: 4619 mov r1, r3 802f568: 4809 ldr r0, [pc, #36] ; (802f590 ) 802f56a: f086 f853 bl 80b5614 GPIO_InitStruct.Pin = A1_Pin; 802f56e: f44f 7300 mov.w r3, #512 ; 0x200 802f572: 627b str r3, [r7, #36] ; 0x24 GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; 802f574: 2301 movs r3, #1 802f576: 62bb str r3, [r7, #40] ; 0x28 GPIO_InitStruct.Pull = GPIO_NOPULL; 802f578: 2300 movs r3, #0 802f57a: e00f b.n 802f59c 802f57c: 40023800 .word 0x40023800 802f580: 40020000 .word 0x40020000 802f584: 40021800 .word 0x40021800 802f588: 40021400 .word 0x40021400 802f58c: 40020800 .word 0x40020800 802f590: 40020400 .word 0x40020400 802f594: 40021000 .word 0x40021000 802f598: 40020c00 .word 0x40020c00 802f59c: 62fb str r3, [r7, #44] ; 0x2c GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH; 802f59e: 2302 movs r3, #2 802f5a0: 633b str r3, [r7, #48] ; 0x30 HAL_GPIO_Init(A1_GPIO_Port, &GPIO_InitStruct); 802f5a2: f107 0324 add.w r3, r7, #36 ; 0x24 802f5a6: 4619 mov r1, r3 802f5a8: 4844 ldr r0, [pc, #272] ; (802f6bc ) 802f5aa: f086 f833 bl 80b5614 /*Configure GPIO pin : PtPin */ GPIO_InitStruct.Pin = KU_Pin; 802f5ae: f44f 4380 mov.w r3, #16384 ; 0x4000 802f5b2: 627b str r3, [r7, #36] ; 0x24 GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; 802f5b4: 2301 movs r3, #1 802f5b6: 62bb str r3, [r7, #40] ; 0x28 GPIO_InitStruct.Pull = GPIO_NOPULL; 802f5b8: 2300 movs r3, #0 802f5ba: 62fb str r3, [r7, #44] ; 0x2c GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH; 802f5bc: 2302 movs r3, #2 802f5be: 633b str r3, [r7, #48] ; 0x30 HAL_GPIO_Init(KU_GPIO_Port, &GPIO_InitStruct); 802f5c0: f107 0324 add.w r3, r7, #36 ; 0x24 802f5c4: 4619 mov r1, r3 802f5c6: 483e ldr r0, [pc, #248] ; (802f6c0 ) 802f5c8: f086 f824 bl 80b5614 GPIO_InitStruct.Pin = BL_ENABLE_Pin; 802f5cc: 2304 movs r3, #4 802f5ce: 627b str r3, [r7, #36] ; 0x24 GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; 802f5d0: 2301 movs r3, #1 802f5d2: 62bb str r3, [r7, #40] ; 0x28 GPIO_InitStruct.Pull = GPIO_NOPULL; 802f5d4: 2300 movs r3, #0 802f5d6: 62fb str r3, [r7, #44] ; 0x2c GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH; 802f5d8: 2302 movs r3, #2 802f5da: 633b str r3, [r7, #48] ; 0x30 HAL_GPIO_Init(BL_ENABLE_GPIO_Port, &GPIO_InitStruct); 802f5dc: f107 0324 add.w r3, r7, #36 ; 0x24 802f5e0: 4619 mov r1, r3 802f5e2: 4838 ldr r0, [pc, #224] ; (802f6c4 ) 802f5e4: f086 f816 bl 80b5614 GPIO_InitStruct.Pin = KEY_Pin; 802f5e8: f44f 4300 mov.w r3, #32768 ; 0x8000 802f5ec: 627b str r3, [r7, #36] ; 0x24 GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; 802f5ee: 2301 movs r3, #1 802f5f0: 62bb str r3, [r7, #40] ; 0x28 GPIO_InitStruct.Pull = GPIO_NOPULL; 802f5f2: 2300 movs r3, #0 802f5f4: 62fb str r3, [r7, #44] ; 0x2c GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH; 802f5f6: 2302 movs r3, #2 802f5f8: 633b str r3, [r7, #48] ; 0x30 HAL_GPIO_Init(KEY_GPIO_Port, &GPIO_InitStruct); 802f5fa: f107 0324 add.w r3, r7, #36 ; 0x24 802f5fe: 4619 mov r1, r3 802f600: 482f ldr r0, [pc, #188] ; (802f6c0 ) 802f602: f086 f807 bl 80b5614 HAL_GPIO_WritePin(BL_ENABLE_GPIO_Port, BL_ENABLE_Pin, GPIO_PIN_RESET); //Bluetooth PowerOff 802f606: 2200 movs r2, #0 802f608: 2104 movs r1, #4 802f60a: 482e ldr r0, [pc, #184] ; (802f6c4 ) 802f60c: f086 fad0 bl 80b5bb0 HAL_GPIO_WritePin(BL_ENABLE_GPIO_Port, BL_ENABLE_Pin, GPIO_PIN_SET); //Bluetooth PowerOff 802f610: 2201 movs r2, #1 802f612: 2104 movs r1, #4 802f614: 482b ldr r0, [pc, #172] ; (802f6c4 ) 802f616: f086 facb bl 80b5bb0 HAL_GPIO_WritePin(KEY_GPIO_Port, KEY_Pin, GPIO_PIN_SET); //AT_MODE on 802f61a: 2201 movs r2, #1 802f61c: f44f 4100 mov.w r1, #32768 ; 0x8000 802f620: 4827 ldr r0, [pc, #156] ; (802f6c0 ) 802f622: f086 fac5 bl 80b5bb0 HAL_GPIO_WritePin(GPIOF, ON_Pin, GPIO_PIN_SET); 802f626: 2201 movs r2, #1 802f628: f44f 7180 mov.w r1, #256 ; 0x100 802f62c: 4823 ldr r0, [pc, #140] ; (802f6bc ) 802f62e: f086 fabf bl 80b5bb0 #ifdef USE_ADG5401 HAL_GPIO_WritePin(KU_GPIO_Port, KU_Pin, GPIO_PIN_SET); #else HAL_GPIO_WritePin(KU_GPIO_Port, KU_Pin, GPIO_PIN_RESET); 802f632: 2200 movs r2, #0 802f634: f44f 4180 mov.w r1, #16384 ; 0x4000 802f638: 4821 ldr r0, [pc, #132] ; (802f6c0 ) 802f63a: f086 fab9 bl 80b5bb0 #endif HAL_GPIO_WritePin(A0_GPIO_Port, A0_Pin, GPIO_PIN_RESET); 802f63e: 2200 movs r2, #0 802f640: 2120 movs r1, #32 802f642: 4821 ldr r0, [pc, #132] ; (802f6c8 ) 802f644: f086 fab4 bl 80b5bb0 HAL_GPIO_WritePin(A1_GPIO_Port, A1_Pin, GPIO_PIN_RESET); 802f648: 2200 movs r2, #0 802f64a: f44f 7100 mov.w r1, #512 ; 0x200 802f64e: 481b ldr r0, [pc, #108] ; (802f6bc ) 802f650: f086 faae bl 80b5bb0 HAL_GPIO_WritePin(ZAR_GPIO_Port, ZAR_Pin, GPIO_PIN_RESET); 802f654: 2200 movs r2, #0 802f656: 2108 movs r1, #8 802f658: 481c ldr r0, [pc, #112] ; (802f6cc ) 802f65a: f086 faa9 bl 80b5bb0 HAL_GPIO_WritePin(ON_GPIO_Port, ON_Pin, GPIO_PIN_SET); 802f65e: 2201 movs r2, #1 802f660: f44f 7180 mov.w r1, #256 ; 0x100 802f664: 4815 ldr r0, [pc, #84] ; (802f6bc ) 802f666: f086 faa3 bl 80b5bb0 HAL_GPIO_WritePin(DISP_ON_GPIO_Port, DISP_ON_Pin, GPIO_PIN_SET); // BACKLIGHT IS OFF 802f66a: 2201 movs r2, #1 802f66c: f44f 7180 mov.w r1, #256 ; 0x100 802f670: 4814 ldr r0, [pc, #80] ; (802f6c4 ) 802f672: f086 fa9d bl 80b5bb0 /*Configure GPIO pins : PAPin PAPin */ GPIO_InitStruct.Pin = (K1_Pin | K2_Pin); 802f676: f44f 63c0 mov.w r3, #1536 ; 0x600 802f67a: 627b str r3, [r7, #36] ; 0x24 GPIO_InitStruct.Mode = GPIO_MODE_INPUT; 802f67c: 2300 movs r3, #0 802f67e: 62bb str r3, [r7, #40] ; 0x28 GPIO_InitStruct.Pull = GPIO_NOPULL; 802f680: 2300 movs r3, #0 802f682: 62fb str r3, [r7, #44] ; 0x2c GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH; 802f684: 2302 movs r3, #2 802f686: 633b str r3, [r7, #48] ; 0x30 HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); 802f688: f107 0324 add.w r3, r7, #36 ; 0x24 802f68c: 4619 mov r1, r3 802f68e: 480d ldr r0, [pc, #52] ; (802f6c4 ) 802f690: f085 ffc0 bl 80b5614 if(HAL_GPIO_ReadPin(SD_DETECT_GPIO_Port, SD_DETECT_Pin) == GPIO_PIN_SET) 802f694: f44f 5180 mov.w r1, #4096 ; 0x1000 802f698: 480b ldr r0, [pc, #44] ; (802f6c8 ) 802f69a: f086 fa71 bl 80b5b80 802f69e: 4603 mov r3, r0 802f6a0: 2b01 cmp r3, #1 802f6a2: d103 bne.n 802f6ac CardState = MSD_NOCARD; 802f6a4: 4b0a ldr r3, [pc, #40] ; (802f6d0 ) 802f6a6: 2200 movs r2, #0 802f6a8: 701a strb r2, [r3, #0] else CardState = MSD_PRESENT; } 802f6aa: e002 b.n 802f6b2 else CardState = MSD_PRESENT; 802f6ac: 4b08 ldr r3, [pc, #32] ; (802f6d0 ) 802f6ae: 2201 movs r2, #1 802f6b0: 701a strb r2, [r3, #0] } 802f6b2: bf00 nop 802f6b4: 3738 adds r7, #56 ; 0x38 802f6b6: 46bd mov sp, r7 802f6b8: bd80 pop {r7, pc} 802f6ba: bf00 nop 802f6bc: 40021400 .word 0x40021400 802f6c0: 40021800 .word 0x40021800 802f6c4: 40020000 .word 0x40020000 802f6c8: 40020400 .word 0x40020400 802f6cc: 40020800 .word 0x40020800 802f6d0: 2002164c .word 0x2002164c 0802f6d4 : return 0; } void MX_HC05_DeInit(void) { 802f6d4: b580 push {r7, lr} 802f6d6: af00 add r7, sp, #0 HAL_GPIO_WritePin(BL_ENABLE_GPIO_Port, BL_ENABLE_Pin, GPIO_PIN_SET); //Bluetooth PowerOff 802f6d8: 2201 movs r2, #1 802f6da: 2104 movs r1, #4 802f6dc: 4806 ldr r0, [pc, #24] ; (802f6f8 ) 802f6de: f086 fa67 bl 80b5bb0 MX_USART7_UART_DeInit(); 802f6e2: f07f f9eb bl 80aeabc Initialized = false; 802f6e6: 4b05 ldr r3, [pc, #20] ; (802f6fc ) 802f6e8: 2200 movs r2, #0 802f6ea: 701a strb r2, [r3, #0] Connected = false; 802f6ec: 4b04 ldr r3, [pc, #16] ; (802f700 ) 802f6ee: 2200 movs r2, #0 802f6f0: 701a strb r2, [r3, #0] } 802f6f2: bf00 nop 802f6f4: bd80 pop {r7, pc} 802f6f6: bf00 nop 802f6f8: 40020000 .word 0x40020000 802f6fc: 20020f35 .word 0x20020f35 802f700: 20020f34 .word 0x20020f34 0802f704 : void BT_InspectMessage(void) //todo { 802f704: b580 push {r7, lr} 802f706: b090 sub sp, #64 ; 0x40 802f708: af00 add r7, sp, #0 uint32_t cYear, cMonth; uint32_t date, month, year, hour, min, sec; uint8_t *pDataPos; pData = (char *) bufR[pCur]; 802f70a: 4b85 ldr r3, [pc, #532] ; (802f920 ) 802f70c: 681b ldr r3, [r3, #0] 802f70e: 021b lsls r3, r3, #8 802f710: 4a84 ldr r2, [pc, #528] ; (802f924 ) 802f712: 4413 add r3, r2 802f714: 63fb str r3, [r7, #60] ; 0x3c //pDataPos = (uint8_t *) (*pData + (strlen(pData) + 1)); if((!strstr(pData, "Start") == 0) || (!strstr(pData, "Start\r\n") == 0)) // Ñòàðò ïåðåäà÷è âðåìåííîãî ñèãíàëà 802f716: 4984 ldr r1, [pc, #528] ; (802f928 ) 802f718: 6bf8 ldr r0, [r7, #60] ; 0x3c 802f71a: f09d fdcc bl 80cd2b6 802f71e: 4603 mov r3, r0 802f720: 2b00 cmp r3, #0 802f722: d106 bne.n 802f732 802f724: 4981 ldr r1, [pc, #516] ; (802f92c ) 802f726: 6bf8 ldr r0, [r7, #60] ; 0x3c 802f728: f09d fdc5 bl 80cd2b6 802f72c: 4603 mov r3, r0 802f72e: 2b00 cmp r3, #0 802f730: d00c beq.n 802f74c { if(!measuring) 802f732: 4b7f ldr r3, [pc, #508] ; (802f930 ) 802f734: 781b ldrb r3, [r3, #0] 802f736: b2db uxtb r3, r3 802f738: f083 0301 eor.w r3, r3, #1 802f73c: b2db uxtb r3, r3 802f73e: 2b00 cmp r3, #0 802f740: f000 80e9 beq.w 802f916 { BT_NeedStartMeas = true; 802f744: 4b7b ldr r3, [pc, #492] ; (802f934 ) 802f746: 2201 movs r2, #1 802f748: 701a strb r2, [r3, #0] if(!measuring) 802f74a: e0e4 b.n 802f916 } } else if((!strstr(pData, "Stop") == 0) || (!strstr(pData, "Stop\r\n") == 0)) // Ñòîï ïåðåäà÷è âðåìåííîãî ñèãíàëà 802f74c: 497a ldr r1, [pc, #488] ; (802f938 ) 802f74e: 6bf8 ldr r0, [r7, #60] ; 0x3c 802f750: f09d fdb1 bl 80cd2b6 802f754: 4603 mov r3, r0 802f756: 2b00 cmp r3, #0 802f758: d106 bne.n 802f768 802f75a: 4978 ldr r1, [pc, #480] ; (802f93c ) 802f75c: 6bf8 ldr r0, [r7, #60] ; 0x3c 802f75e: f09d fdaa bl 80cd2b6 802f762: 4603 mov r3, r0 802f764: 2b00 cmp r3, #0 802f766: d009 beq.n 802f77c { if(measuring) 802f768: 4b71 ldr r3, [pc, #452] ; (802f930 ) 802f76a: 781b ldrb r3, [r3, #0] 802f76c: b2db uxtb r3, r3 802f76e: 2b00 cmp r3, #0 802f770: f000 80d1 beq.w 802f916 { /**/ BT_NeedStopMeas = true; 802f774: 4b72 ldr r3, [pc, #456] ; (802f940 ) 802f776: 2201 movs r2, #1 802f778: 701a strb r2, [r3, #0] if(measuring) 802f77a: e0cc b.n 802f916 } } else if((!strstr(pData, "GetBuf") == 0) || (!strstr(pData, "GetBuf\r\n") == 0)) // Ñòàðò ïåðåäà÷è âðåìåííîãî ñèãíàëà 802f77c: 4971 ldr r1, [pc, #452] ; (802f944 ) 802f77e: 6bf8 ldr r0, [r7, #60] ; 0x3c 802f780: f09d fd99 bl 80cd2b6 802f784: 4603 mov r3, r0 802f786: 2b00 cmp r3, #0 802f788: d106 bne.n 802f798 802f78a: 496f ldr r1, [pc, #444] ; (802f948 ) 802f78c: 6bf8 ldr r0, [r7, #60] ; 0x3c 802f78e: f09d fd92 bl 80cd2b6 802f792: 4603 mov r3, r0 802f794: 2b00 cmp r3, #0 802f796: d006 beq.n 802f7a6 { //if(measuring) //{ command |= COMMAND_SEND_BUFF; 802f798: 4b6c ldr r3, [pc, #432] ; (802f94c ) 802f79a: 681b ldr r3, [r3, #0] 802f79c: f043 0320 orr.w r3, r3, #32 802f7a0: 4a6a ldr r2, [pc, #424] ; (802f94c ) 802f7a2: 6013 str r3, [r2, #0] 802f7a4: e0b7 b.n 802f916 //} } else if((!strstr(pData, "GetPar") == 0) || (!strstr(pData, "GetPar\r\n") == 0)) // ×òåíèå ïàðàìåòðîâ 802f7a6: 496a ldr r1, [pc, #424] ; (802f950 ) 802f7a8: 6bf8 ldr r0, [r7, #60] ; 0x3c 802f7aa: f09d fd84 bl 80cd2b6 802f7ae: 4603 mov r3, r0 802f7b0: 2b00 cmp r3, #0 802f7b2: d106 bne.n 802f7c2 802f7b4: 4967 ldr r1, [pc, #412] ; (802f954 ) 802f7b6: 6bf8 ldr r0, [r7, #60] ; 0x3c 802f7b8: f09d fd7d bl 80cd2b6 802f7bc: 4603 mov r3, r0 802f7be: 2b00 cmp r3, #0 802f7c0: d006 beq.n 802f7d0 { command |= COMMAND_READ_PAR; 802f7c2: 4b62 ldr r3, [pc, #392] ; (802f94c ) 802f7c4: 681b ldr r3, [r3, #0] 802f7c6: f043 0301 orr.w r3, r3, #1 802f7ca: 4a60 ldr r2, [pc, #384] ; (802f94c ) 802f7cc: 6013 str r3, [r2, #0] 802f7ce: e0a2 b.n 802f916 } else if((!strstr(pData, "SetPar") == 0) || (!strstr(pData, "SetPar\r\n") == 0)) // ×òåíèå ïàðàìåòðîâ 802f7d0: 4961 ldr r1, [pc, #388] ; (802f958 ) 802f7d2: 6bf8 ldr r0, [r7, #60] ; 0x3c 802f7d4: f09d fd6f bl 80cd2b6 802f7d8: 4603 mov r3, r0 802f7da: 2b00 cmp r3, #0 802f7dc: d106 bne.n 802f7ec 802f7de: 495f ldr r1, [pc, #380] ; (802f95c ) 802f7e0: 6bf8 ldr r0, [r7, #60] ; 0x3c 802f7e2: f09d fd68 bl 80cd2b6 802f7e6: 4603 mov r3, r0 802f7e8: 2b00 cmp r3, #0 802f7ea: d006 beq.n 802f7fa { command |= COMMAND_WRITE_PAR; 802f7ec: 4b57 ldr r3, [pc, #348] ; (802f94c ) 802f7ee: 681b ldr r3, [r3, #0] 802f7f0: f043 0302 orr.w r3, r3, #2 802f7f4: 4a55 ldr r2, [pc, #340] ; (802f94c ) 802f7f6: 6013 str r3, [r2, #0] 802f7f8: e08d b.n 802f916 } else if((!strstr(pData, "Synhr") == 0) || (!strstr(pData, "Synhr\r\n") == 0)) 802f7fa: 4959 ldr r1, [pc, #356] ; (802f960 ) 802f7fc: 6bf8 ldr r0, [r7, #60] ; 0x3c 802f7fe: f09d fd5a bl 80cd2b6 802f802: 4603 mov r3, r0 802f804: 2b00 cmp r3, #0 802f806: d106 bne.n 802f816 802f808: 4956 ldr r1, [pc, #344] ; (802f964 ) 802f80a: 6bf8 ldr r0, [r7, #60] ; 0x3c 802f80c: f09d fd53 bl 80cd2b6 802f810: 4603 mov r3, r0 802f812: 2b00 cmp r3, #0 802f814: d07f beq.n 802f916 { pData += 5; 802f816: 6bfb ldr r3, [r7, #60] ; 0x3c 802f818: 3305 adds r3, #5 802f81a: 63fb str r3, [r7, #60] ; 0x3c date = *pData++; 802f81c: 6bfb ldr r3, [r7, #60] ; 0x3c 802f81e: 1c5a adds r2, r3, #1 802f820: 63fa str r2, [r7, #60] ; 0x3c 802f822: 781b ldrb r3, [r3, #0] 802f824: 63bb str r3, [r7, #56] ; 0x38 month = *pData++; 802f826: 6bfb ldr r3, [r7, #60] ; 0x3c 802f828: 1c5a adds r2, r3, #1 802f82a: 63fa str r2, [r7, #60] ; 0x3c 802f82c: 781b ldrb r3, [r3, #0] 802f82e: 637b str r3, [r7, #52] ; 0x34 year = *pData++; 802f830: 6bfb ldr r3, [r7, #60] ; 0x3c 802f832: 1c5a adds r2, r3, #1 802f834: 63fa str r2, [r7, #60] ; 0x3c 802f836: 781b ldrb r3, [r3, #0] 802f838: 633b str r3, [r7, #48] ; 0x30 hour = *pData++; 802f83a: 6bfb ldr r3, [r7, #60] ; 0x3c 802f83c: 1c5a adds r2, r3, #1 802f83e: 63fa str r2, [r7, #60] ; 0x3c 802f840: 781b ldrb r3, [r3, #0] 802f842: 62fb str r3, [r7, #44] ; 0x2c min = *pData++; 802f844: 6bfb ldr r3, [r7, #60] ; 0x3c 802f846: 1c5a adds r2, r3, #1 802f848: 63fa str r2, [r7, #60] ; 0x3c 802f84a: 781b ldrb r3, [r3, #0] 802f84c: 62bb str r3, [r7, #40] ; 0x28 sec = *pData++; 802f84e: 6bfb ldr r3, [r7, #60] ; 0x3c 802f850: 1c5a adds r2, r3, #1 802f852: 63fa str r2, [r7, #60] ; 0x3c 802f854: 781b ldrb r3, [r3, #0] 802f856: 627b str r3, [r7, #36] ; 0x24 HAL_RTC_GetTime(&hrtc, &RTC_TimeStruct, RTC_FORMAT_BIN); 802f858: 1d3b adds r3, r7, #4 802f85a: 2200 movs r2, #0 802f85c: 4619 mov r1, r3 802f85e: 4842 ldr r0, [pc, #264] ; (802f968 ) 802f860: f089 f9c2 bl 80b8be8 HAL_RTC_GetDate(&hrtc, &RTC_DateStruct, RTC_FORMAT_BIN); 802f864: 463b mov r3, r7 802f866: 2200 movs r2, #0 802f868: 4619 mov r1, r3 802f86a: 483f ldr r0, [pc, #252] ; (802f968 ) 802f86c: f089 fac2 bl 80b8df4 RTC_TimeStruct.Hours = hour; 802f870: 6afb ldr r3, [r7, #44] ; 0x2c 802f872: b2db uxtb r3, r3 802f874: 713b strb r3, [r7, #4] RTC_TimeStruct.Minutes = min; 802f876: 6abb ldr r3, [r7, #40] ; 0x28 802f878: b2db uxtb r3, r3 802f87a: 717b strb r3, [r7, #5] RTC_TimeStruct.Seconds = sec; 802f87c: 6a7b ldr r3, [r7, #36] ; 0x24 802f87e: b2db uxtb r3, r3 802f880: 71bb strb r3, [r7, #6] RTC_DateStruct.Date = date; 802f882: 6bbb ldr r3, [r7, #56] ; 0x38 802f884: b2db uxtb r3, r3 802f886: 70bb strb r3, [r7, #2] RTC_DateStruct.Month = month; 802f888: 6b7b ldr r3, [r7, #52] ; 0x34 802f88a: b2db uxtb r3, r3 802f88c: 707b strb r3, [r7, #1] RTC_DateStruct.Year = year; 802f88e: 6b3b ldr r3, [r7, #48] ; 0x30 802f890: b2db uxtb r3, r3 802f892: 70fb strb r3, [r7, #3] cMonth = MONTH_CODE[RTC_DateStruct.Month]; 802f894: 787b ldrb r3, [r7, #1] 802f896: 461a mov r2, r3 802f898: 4b34 ldr r3, [pc, #208] ; (802f96c ) 802f89a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 802f89e: 623b str r3, [r7, #32] cYear = ((RTC_DateStruct.Year / 4) + 6 + RTC_DateStruct.Year) % 7; 802f8a0: 78fb ldrb r3, [r7, #3] 802f8a2: 089b lsrs r3, r3, #2 802f8a4: b2db uxtb r3, r3 802f8a6: 3306 adds r3, #6 802f8a8: 78fa ldrb r2, [r7, #3] 802f8aa: 441a add r2, r3 802f8ac: 4b30 ldr r3, [pc, #192] ; (802f970 ) 802f8ae: fb83 1302 smull r1, r3, r3, r2 802f8b2: 4413 add r3, r2 802f8b4: 1099 asrs r1, r3, #2 802f8b6: 17d3 asrs r3, r2, #31 802f8b8: 1ac9 subs r1, r1, r3 802f8ba: 460b mov r3, r1 802f8bc: 00db lsls r3, r3, #3 802f8be: 1a5b subs r3, r3, r1 802f8c0: 1ad1 subs r1, r2, r3 802f8c2: 61f9 str r1, [r7, #28] RTC_DateStruct.WeekDay = MONTH[(RTC_DateStruct.Date + cMonth + cYear) % 7]; 802f8c4: 78bb ldrb r3, [r7, #2] 802f8c6: 461a mov r2, r3 802f8c8: 6a3b ldr r3, [r7, #32] 802f8ca: 441a add r2, r3 802f8cc: 69fb ldr r3, [r7, #28] 802f8ce: 18d1 adds r1, r2, r3 802f8d0: 4b28 ldr r3, [pc, #160] ; (802f974 ) 802f8d2: fba3 2301 umull r2, r3, r3, r1 802f8d6: 1aca subs r2, r1, r3 802f8d8: 0852 lsrs r2, r2, #1 802f8da: 4413 add r3, r2 802f8dc: 089a lsrs r2, r3, #2 802f8de: 4613 mov r3, r2 802f8e0: 00db lsls r3, r3, #3 802f8e2: 1a9b subs r3, r3, r2 802f8e4: 1aca subs r2, r1, r3 802f8e6: 4b24 ldr r3, [pc, #144] ; (802f978 ) 802f8e8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 802f8ec: b2db uxtb r3, r3 802f8ee: 703b strb r3, [r7, #0] HAL_RTC_SetTime(&hrtc, &RTC_TimeStruct, RTC_FORMAT_BIN); 802f8f0: 1d3b adds r3, r7, #4 802f8f2: 2200 movs r2, #0 802f8f4: 4619 mov r1, r3 802f8f6: 481c ldr r0, [pc, #112] ; (802f968 ) 802f8f8: f089 f8b8 bl 80b8a6c HAL_RTC_SetDate(&hrtc, &RTC_DateStruct, RTC_FORMAT_BIN); 802f8fc: 463b mov r3, r7 802f8fe: 2200 movs r2, #0 802f900: 4619 mov r1, r3 802f902: 4819 ldr r0, [pc, #100] ; (802f968 ) 802f904: f089 f9ce bl 80b8ca4 command |= COMMAND_SET_TIME; 802f908: 4b10 ldr r3, [pc, #64] ; (802f94c ) 802f90a: 681b ldr r3, [r3, #0] 802f90c: f043 0304 orr.w r3, r3, #4 802f910: 4a0e ldr r2, [pc, #56] ; (802f94c ) 802f912: 6013 str r3, [r2, #0] } } 802f914: e7ff b.n 802f916 802f916: bf00 nop 802f918: 3740 adds r7, #64 ; 0x40 802f91a: 46bd mov sp, r7 802f91c: bd80 pop {r7, pc} 802f91e: bf00 nop 802f920: 20020f40 .word 0x20020f40 802f924: 200248b8 .word 0x200248b8 802f928: 080ce5b0 .word 0x080ce5b0 802f92c: 080ce5b8 .word 0x080ce5b8 802f930: 20020daf .word 0x20020daf 802f934: 20020f30 .word 0x20020f30 802f938: 080ce5c0 .word 0x080ce5c0 802f93c: 080ce5c8 .word 0x080ce5c8 802f940: 20020f31 .word 0x20020f31 802f944: 080ce5d0 .word 0x080ce5d0 802f948: 080ce5d8 .word 0x080ce5d8 802f94c: 20020f44 .word 0x20020f44 802f950: 080ce5e4 .word 0x080ce5e4 802f954: 080ce5ec .word 0x080ce5ec 802f958: 080ce5f8 .word 0x080ce5f8 802f95c: 080ce600 .word 0x080ce600 802f960: 080ce60c .word 0x080ce60c 802f964: 080ce614 .word 0x080ce614 802f968: 20068598 .word 0x20068598 802f96c: 080d7ed4 .word 0x080d7ed4 802f970: 92492493 .word 0x92492493 802f974: 24924925 .word 0x24924925 802f978: 080d7f08 .word 0x080d7f08 0802f97c : void HAL_UART_RxCplt(void) { 802f97c: b580 push {r7, lr} 802f97e: af00 add r7, sp, #0 bufR[pWr][faseR] = (uint8_t) (UART7->RDR & 0xFF); 802f980: 4b25 ldr r3, [pc, #148] ; (802fa18 ) 802f982: 681a ldr r2, [r3, #0] 802f984: 4b25 ldr r3, [pc, #148] ; (802fa1c ) 802f986: 681b ldr r3, [r3, #0] 802f988: 4925 ldr r1, [pc, #148] ; (802fa20 ) 802f98a: 6a49 ldr r1, [r1, #36] ; 0x24 802f98c: b2c8 uxtb r0, r1 802f98e: 4925 ldr r1, [pc, #148] ; (802fa24 ) 802f990: 0212 lsls r2, r2, #8 802f992: 440a add r2, r1 802f994: 4413 add r3, r2 802f996: 4602 mov r2, r0 802f998: 701a strb r2, [r3, #0] if((bufR[pWr][faseR - 1] == '\r') && (bufR[pWr][faseR] == '\n')) 802f99a: 4b1f ldr r3, [pc, #124] ; (802fa18 ) 802f99c: 681a ldr r2, [r3, #0] 802f99e: 4b1f ldr r3, [pc, #124] ; (802fa1c ) 802f9a0: 681b ldr r3, [r3, #0] 802f9a2: 3b01 subs r3, #1 802f9a4: 491f ldr r1, [pc, #124] ; (802fa24 ) 802f9a6: 0212 lsls r2, r2, #8 802f9a8: 440a add r2, r1 802f9aa: 4413 add r3, r2 802f9ac: 781b ldrb r3, [r3, #0] 802f9ae: 2b0d cmp r3, #13 802f9b0: d12b bne.n 802fa0a 802f9b2: 4b19 ldr r3, [pc, #100] ; (802fa18 ) 802f9b4: 681a ldr r2, [r3, #0] 802f9b6: 4b19 ldr r3, [pc, #100] ; (802fa1c ) 802f9b8: 681b ldr r3, [r3, #0] 802f9ba: 491a ldr r1, [pc, #104] ; (802fa24 ) 802f9bc: 0212 lsls r2, r2, #8 802f9be: 440a add r2, r1 802f9c0: 4413 add r3, r2 802f9c2: 781b ldrb r3, [r3, #0] 802f9c4: 2b0a cmp r3, #10 802f9c6: d120 bne.n 802fa0a { bufR[pWr][faseR + 1] = '\0'; // óñòàíàâëèâàåì òåðìèíàëüíûé 0 ïîñëå \r\n, ÷òîáû îáîçíà÷èòü êîíåö òåêóùåãî ñîîáùåíèÿ 802f9c8: 4b13 ldr r3, [pc, #76] ; (802fa18 ) 802f9ca: 681a ldr r2, [r3, #0] 802f9cc: 4b13 ldr r3, [pc, #76] ; (802fa1c ) 802f9ce: 681b ldr r3, [r3, #0] 802f9d0: 3301 adds r3, #1 802f9d2: 4914 ldr r1, [pc, #80] ; (802fa24 ) 802f9d4: 0212 lsls r2, r2, #8 802f9d6: 440a add r2, r1 802f9d8: 4413 add r3, r2 802f9da: 2200 movs r2, #0 802f9dc: 701a strb r2, [r3, #0] faseR = 0; 802f9de: 4b0f ldr r3, [pc, #60] ; (802fa1c ) 802f9e0: 2200 movs r2, #0 802f9e2: 601a str r2, [r3, #0] pCur = pWr; 802f9e4: 4b0c ldr r3, [pc, #48] ; (802fa18 ) 802f9e6: 681b ldr r3, [r3, #0] 802f9e8: 4a0f ldr r2, [pc, #60] ; (802fa28 ) 802f9ea: 6013 str r3, [r2, #0] BT_InspectMessage(); 802f9ec: f7ff fe8a bl 802f704 pWr++; 802f9f0: 4b09 ldr r3, [pc, #36] ; (802fa18 ) 802f9f2: 681b ldr r3, [r3, #0] 802f9f4: 3301 adds r3, #1 802f9f6: 4a08 ldr r2, [pc, #32] ; (802fa18 ) 802f9f8: 6013 str r3, [r2, #0] if(pWr == MESSAGE_BUF_SIZE) { 802f9fa: 4b07 ldr r3, [pc, #28] ; (802fa18 ) 802f9fc: 681b ldr r3, [r3, #0] 802f9fe: 2b10 cmp r3, #16 802fa00: d108 bne.n 802fa14 pWr = 0; 802fa02: 4b05 ldr r3, [pc, #20] ; (802fa18 ) 802fa04: 2200 movs r2, #0 802fa06: 601a str r2, [r3, #0] if(pWr == MESSAGE_BUF_SIZE) { 802fa08: e004 b.n 802fa14 } } else faseR++; 802fa0a: 4b04 ldr r3, [pc, #16] ; (802fa1c ) 802fa0c: 681b ldr r3, [r3, #0] 802fa0e: 3301 adds r3, #1 802fa10: 4a02 ldr r2, [pc, #8] ; (802fa1c ) 802fa12: 6013 str r3, [r2, #0] } 802fa14: bf00 nop 802fa16: bd80 pop {r7, pc} 802fa18: 20020f3c .word 0x20020f3c 802fa1c: 20020f38 .word 0x20020f38 802fa20: 40007800 .word 0x40007800 802fa24: 200248b8 .word 0x200248b8 802fa28: 20020f40 .word 0x20020f40 0802fa2c : void HAL_UART_TxCpltCallback(UART_HandleTypeDef *huart) { 802fa2c: b480 push {r7} 802fa2e: b083 sub sp, #12 802fa30: af00 add r7, sp, #0 802fa32: 6078 str r0, [r7, #4] TX_OK = true; 802fa34: 4b04 ldr r3, [pc, #16] ; (802fa48 ) 802fa36: 2201 movs r2, #1 802fa38: 701a strb r2, [r3, #0] } 802fa3a: bf00 nop 802fa3c: 370c adds r7, #12 802fa3e: 46bd mov sp, r7 802fa40: f85d 7b04 ldr.w r7, [sp], #4 802fa44: 4770 bx lr 802fa46: bf00 nop 802fa48: 20020f32 .word 0x20020f32 0802fa4c : void HAL_UART_ErrorCallback(UART_HandleTypeDef *huart) { 802fa4c: b580 push {r7, lr} 802fa4e: b082 sub sp, #8 802fa50: af00 add r7, sp, #0 802fa52: 6078 str r0, [r7, #4] RX_OK = TX_OK = false; 802fa54: 2100 movs r1, #0 802fa56: 4b06 ldr r3, [pc, #24] ; (802fa70 ) 802fa58: 460a mov r2, r1 802fa5a: 701a strb r2, [r3, #0] 802fa5c: 4b05 ldr r3, [pc, #20] ; (802fa74 ) 802fa5e: 460a mov r2, r1 802fa60: 701a strb r2, [r3, #0] HAL_UART_Abort_IT(&huart7); 802fa62: 4805 ldr r0, [pc, #20] ; (802fa78 ) 802fa64: f08c fe84 bl 80bc770 } 802fa68: bf00 nop 802fa6a: 3708 adds r7, #8 802fa6c: 46bd mov sp, r7 802fa6e: bd80 pop {r7, pc} 802fa70: 20020f32 .word 0x20020f32 802fa74: 20020f33 .word 0x20020f33 802fa78: 20068a24 .word 0x20068a24 0802fa7c : } void HAL_SMBUS_MasterTxCpltCallback(SMBUS_HandleTypeDef *hsmbus) { 802fa7c: b480 push {r7} 802fa7e: b083 sub sp, #12 802fa80: af00 add r7, sp, #0 802fa82: 6078 str r0, [r7, #4] I2C_Transmitted = 1; 802fa84: 4b04 ldr r3, [pc, #16] ; (802fa98 ) 802fa86: 2201 movs r2, #1 802fa88: 601a str r2, [r3, #0] } 802fa8a: bf00 nop 802fa8c: 370c adds r7, #12 802fa8e: 46bd mov sp, r7 802fa90: f85d 7b04 ldr.w r7, [sp], #4 802fa94: 4770 bx lr 802fa96: bf00 nop 802fa98: 20020f60 .word 0x20020f60 0802fa9c : void HAL_SMBUS_MasterRxCpltCallback(SMBUS_HandleTypeDef *hsmbus) { 802fa9c: b480 push {r7} 802fa9e: b083 sub sp, #12 802faa0: af00 add r7, sp, #0 802faa2: 6078 str r0, [r7, #4] I2C_Received = 1; 802faa4: 4b04 ldr r3, [pc, #16] ; (802fab8 ) 802faa6: 2201 movs r2, #1 802faa8: 601a str r2, [r3, #0] } 802faaa: bf00 nop 802faac: 370c adds r7, #12 802faae: 46bd mov sp, r7 802fab0: f85d 7b04 ldr.w r7, [sp], #4 802fab4: 4770 bx lr 802fab6: bf00 nop 802fab8: 20020f64 .word 0x20020f64 802fabc: 00000000 .word 0x00000000 0802fac0 : //--------------------------------------------------------------------------- // H(s) = ( Ds^2 + Es + F ) / ( As^2 + Bs + C ) // H(z) = ( b2z^2 + b1z + b0 ) / ( a2z^2 + a1z + a0 ) TIIRCoeff CalcIIRFilterCoeff(TIIRFilterTypes ProtoType, double Beta, TIIRPassTypes PassType, int NumPoles, double Fc, double BW) { 802fac0: b590 push {r4, r7, lr} 802fac2: f2ad 6da4 subw sp, sp, #1700 ; 0x6a4 802fac6: af00 add r7, sp, #0 802fac8: f507 7403 add.w r4, r7, #524 ; 0x20c 802facc: 6020 str r0, [r4, #0] 802face: 4608 mov r0, r1 802fad0: f507 7100 add.w r1, r7, #512 ; 0x200 802fad4: ed81 0b00 vstr d0, [r1] 802fad8: 4611 mov r1, r2 802fada: f507 72fe add.w r2, r7, #508 ; 0x1fc 802fade: 6013 str r3, [r2, #0] 802fae0: f507 73f8 add.w r3, r7, #496 ; 0x1f0 802fae4: ed83 1b00 vstr d1, [r3] 802fae8: f507 73f4 add.w r3, r7, #488 ; 0x1e8 802faec: ed83 2b00 vstr d2, [r3] 802faf0: f207 230b addw r3, r7, #523 ; 0x20b 802faf4: 4602 mov r2, r0 802faf6: 701a strb r2, [r3, #0] 802faf8: f207 230a addw r3, r7, #522 ; 0x20a 802fafc: 460a mov r2, r1 802fafe: 701a strb r2, [r3, #0] double A, B, C, D, E, F, T, Q, Arg; double a2[ARRAY_DIM], a1[ARRAY_DIM], a0[ARRAY_DIM], b2[ARRAY_DIM], b1[ARRAY_DIM], b0[ARRAY_DIM]; double OmegaC; TSPlaneCoeff SPlaneCoeff; OmegaC = ((Fc * 2) / ((float64_t) Fs)); 802fb00: f507 73f8 add.w r3, r7, #496 ; 0x1f0 802fb04: ed93 7b00 vldr d7, [r3] 802fb08: ee37 5b07 vadd.f64 d5, d7, d7 802fb0c: 4b92 ldr r3, [pc, #584] ; (802fd58 ) 802fb0e: 681b ldr r3, [r3, #0] 802fb10: ee07 3a90 vmov s15, r3 802fb14: eeb8 6b67 vcvt.f64.u32 d6, s15 802fb18: ee85 7b06 vdiv.f64 d7, d5, d6 802fb1c: f507 63d0 add.w r3, r7, #1664 ; 0x680 802fb20: ed83 7b00 vstr d7, [r3] // Init the IIR structure. a3, a4, b3,and b4 are only used to calculate the 2nd order // sections for the bandpass and notch filters. They get discarded. for(j=0; j { IIR.a0[j] = 0.0; IIR.b0[j] = 0.0; 802fb2c: 4a8b ldr r2, [pc, #556] ; (802fd5c ) 802fb2e: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 802fb32: 00db lsls r3, r3, #3 802fb34: 441a add r2, r3 802fb36: f04f 0300 mov.w r3, #0 802fb3a: f04f 0400 mov.w r4, #0 802fb3e: e882 0018 stmia.w r2, {r3, r4} 802fb42: 4a86 ldr r2, [pc, #536] ; (802fd5c ) 802fb44: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 802fb48: 3332 adds r3, #50 ; 0x32 802fb4a: 00db lsls r3, r3, #3 802fb4c: 441a add r2, r3 802fb4e: f04f 0300 mov.w r3, #0 802fb52: f04f 0400 mov.w r4, #0 802fb56: e882 0018 stmia.w r2, {r3, r4} IIR.a1[j] = 0.0; IIR.b1[j] = 0.0; 802fb5a: 4a80 ldr r2, [pc, #512] ; (802fd5c ) 802fb5c: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 802fb60: 330a adds r3, #10 802fb62: 00db lsls r3, r3, #3 802fb64: 441a add r2, r3 802fb66: f04f 0300 mov.w r3, #0 802fb6a: f04f 0400 mov.w r4, #0 802fb6e: e882 0018 stmia.w r2, {r3, r4} 802fb72: 4a7a ldr r2, [pc, #488] ; (802fd5c ) 802fb74: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 802fb78: 333c adds r3, #60 ; 0x3c 802fb7a: 00db lsls r3, r3, #3 802fb7c: 441a add r2, r3 802fb7e: f04f 0300 mov.w r3, #0 802fb82: f04f 0400 mov.w r4, #0 802fb86: e882 0018 stmia.w r2, {r3, r4} IIR.a2[j] = 0.0; IIR.b2[j] = 0.0; 802fb8a: 4a74 ldr r2, [pc, #464] ; (802fd5c ) 802fb8c: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 802fb90: 3314 adds r3, #20 802fb92: 00db lsls r3, r3, #3 802fb94: 441a add r2, r3 802fb96: f04f 0300 mov.w r3, #0 802fb9a: f04f 0400 mov.w r4, #0 802fb9e: e882 0018 stmia.w r2, {r3, r4} 802fba2: 4a6e ldr r2, [pc, #440] ; (802fd5c ) 802fba4: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 802fba8: 3346 adds r3, #70 ; 0x46 802fbaa: 00db lsls r3, r3, #3 802fbac: 441a add r2, r3 802fbae: f04f 0300 mov.w r3, #0 802fbb2: f04f 0400 mov.w r4, #0 802fbb6: e882 0018 stmia.w r2, {r3, r4} IIR.a3[j] = 0.0; IIR.b3[j] = 0.0; 802fbba: 4a68 ldr r2, [pc, #416] ; (802fd5c ) 802fbbc: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 802fbc0: 331e adds r3, #30 802fbc2: 00db lsls r3, r3, #3 802fbc4: 441a add r2, r3 802fbc6: f04f 0300 mov.w r3, #0 802fbca: f04f 0400 mov.w r4, #0 802fbce: e882 0018 stmia.w r2, {r3, r4} 802fbd2: 4a62 ldr r2, [pc, #392] ; (802fd5c ) 802fbd4: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 802fbd8: 3350 adds r3, #80 ; 0x50 802fbda: 00db lsls r3, r3, #3 802fbdc: 441a add r2, r3 802fbde: f04f 0300 mov.w r3, #0 802fbe2: f04f 0400 mov.w r4, #0 802fbe6: e882 0018 stmia.w r2, {r3, r4} IIR.a4[j] = 0.0; IIR.b4[j] = 0.0; 802fbea: 4a5c ldr r2, [pc, #368] ; (802fd5c ) 802fbec: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 802fbf0: 3328 adds r3, #40 ; 0x28 802fbf2: 00db lsls r3, r3, #3 802fbf4: 441a add r2, r3 802fbf6: f04f 0300 mov.w r3, #0 802fbfa: f04f 0400 mov.w r4, #0 802fbfe: e882 0018 stmia.w r2, {r3, r4} 802fc02: 4a56 ldr r2, [pc, #344] ; (802fd5c ) 802fc04: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 802fc08: 335a adds r3, #90 ; 0x5a 802fc0a: 00db lsls r3, r3, #3 802fc0c: 441a add r2, r3 802fc0e: f04f 0300 mov.w r3, #0 802fc12: f04f 0400 mov.w r4, #0 802fc16: e882 0018 stmia.w r2, {r3, r4} for(j=0; j } IIR.NumSections = 0; 802fc2e: 4b4b ldr r3, [pc, #300] ; (802fd5c ) 802fc30: 2200 movs r2, #0 802fc32: f8c3 2320 str.w r2, [r3, #800] ; 0x320 // This gets the 2nd order s plane filter coefficients from the tables in FilterCoefficients.hpp. // If you have code that computes these coefficients, then use that instead. SPlaneCoeff = GetSPlaneCoefficients(ProtoType, NumPoles, Beta); 802fc36: f507 7404 add.w r4, r7, #528 ; 0x210 802fc3a: 4638 mov r0, r7 802fc3c: f507 7200 add.w r2, r7, #512 ; 0x200 802fc40: f507 73fe add.w r3, r7, #508 ; 0x1fc 802fc44: f207 210b addw r1, r7, #523 ; 0x20b 802fc48: 7809 ldrb r1, [r1, #0] 802fc4a: ed92 0b00 vldr d0, [r2] 802fc4e: 681a ldr r2, [r3, #0] 802fc50: f003 fb32 bl 80332b8 802fc54: 463b mov r3, r7 802fc56: 4620 mov r0, r4 802fc58: 4619 mov r1, r3 802fc5a: f44f 73f4 mov.w r3, #488 ; 0x1e8 802fc5e: 461a mov r2, r3 802fc60: f09d f9e7 bl 80cd032 IIR.NumSections = SPlaneCoeff.NumSections; // NumSections = (NumPoles + 1)/2 802fc64: f507 7304 add.w r3, r7, #528 ; 0x210 802fc68: f8d3 31e0 ldr.w r3, [r3, #480] ; 0x1e0 802fc6c: 4a3b ldr r2, [pc, #236] ; (802fd5c ) 802fc6e: f8c2 3320 str.w r3, [r2, #800] ; 0x320 // T sets the filter's corner frequency, or center freqency. // The Bilinear transform is defined as: s = 2/T * tan(Omega/2) = 2/T * (1 - z)/(1 + z) T = 2.0 * tan(OmegaC * M_PI_2); 802fc72: f507 63d0 add.w r3, r7, #1664 ; 0x680 802fc76: ed93 7b00 vldr d7, [r3] 802fc7a: ed9f 6b2f vldr d6, [pc, #188] ; 802fd38 802fc7e: ee27 7b06 vmul.f64 d7, d7, d6 802fc82: eeb0 0b47 vmov.f64 d0, d7 802fc86: f09a ff7f bl 80cab88 802fc8a: eeb0 7b40 vmov.f64 d7, d0 802fc8e: ee37 7b07 vadd.f64 d7, d7, d7 802fc92: f507 63cf add.w r3, r7, #1656 ; 0x678 802fc96: ed83 7b00 vstr d7, [r3] Q = 1.0 + OmegaC; 802fc9a: f507 63d0 add.w r3, r7, #1664 ; 0x680 802fc9e: ed93 7b00 vldr d7, [r3] 802fca2: eeb7 6b00 vmov.f64 d6, #112 ; 0x3f800000 1.0 802fca6: ee37 7b06 vadd.f64 d7, d7, d6 802fcaa: f507 63d1 add.w r3, r7, #1672 ; 0x688 802fcae: ed83 7b00 vstr d7, [r3] if(Q > 1.95)Q = 1.95; 802fcb2: f507 63d1 add.w r3, r7, #1672 ; 0x688 802fcb6: ed93 7b00 vldr d7, [r3] 802fcba: ed9f 6b21 vldr d6, [pc, #132] ; 802fd40 802fcbe: eeb4 7bc6 vcmpe.f64 d7, d6 802fcc2: eef1 fa10 vmrs APSR_nzcv, fpscr 802fcc6: dd05 ble.n 802fcd4 802fcc8: a41d add r4, pc, #116 ; (adr r4, 802fd40 ) 802fcca: cc18 ldmia r4, {r3, r4} 802fccc: f507 62d1 add.w r2, r7, #1672 ; 0x688 802fcd0: e882 0018 stmia.w r2, {r3, r4} Q = 0.8 * tan(Q * M_PI_4); // This is a correction factor for Q. Q is used with band pass and notch flters. 802fcd4: f507 63d1 add.w r3, r7, #1672 ; 0x688 802fcd8: ed93 7b00 vldr d7, [r3] 802fcdc: ed9f 6b1a vldr d6, [pc, #104] ; 802fd48 802fce0: ee27 7b06 vmul.f64 d7, d7, d6 802fce4: eeb0 0b47 vmov.f64 d0, d7 802fce8: f09a ff4e bl 80cab88 802fcec: eeb0 6b40 vmov.f64 d6, d0 802fcf0: ed9f 7b17 vldr d7, [pc, #92] ; 802fd50 802fcf4: ee26 7b07 vmul.f64 d7, d6, d7 802fcf8: f507 63d1 add.w r3, r7, #1672 ; 0x688 802fcfc: ed83 7b00 vstr d7, [r3] Q = OmegaC / BW / Q; // This is the corrected Q. 802fd00: f507 73f4 add.w r3, r7, #488 ; 0x1e8 802fd04: f507 62d0 add.w r2, r7, #1664 ; 0x680 802fd08: ed92 6b00 vldr d6, [r2] 802fd0c: ed93 7b00 vldr d7, [r3] 802fd10: ee86 5b07 vdiv.f64 d5, d6, d7 802fd14: f507 63d1 add.w r3, r7, #1672 ; 0x688 802fd18: ed93 6b00 vldr d6, [r3] 802fd1c: ee85 7b06 vdiv.f64 d7, d5, d6 802fd20: f507 63d1 add.w r3, r7, #1672 ; 0x688 802fd24: ed83 7b00 vstr d7, [r3] k = 0; 802fd28: 2300 movs r3, #0 802fd2a: f8c7 3698 str.w r3, [r7, #1688] ; 0x698 for(j=0; j 802fd38: 54442d18 .word 0x54442d18 802fd3c: 3ff921fb .word 0x3ff921fb 802fd40: 33333333 .word 0x33333333 802fd44: 3fff3333 .word 0x3fff3333 802fd48: 54442d18 .word 0x54442d18 802fd4c: 3fe921fb .word 0x3fe921fb 802fd50: 9999999a .word 0x9999999a 802fd54: 3fe99999 .word 0x3fe99999 802fd58: 20021d1c .word 0x20021d1c 802fd5c: 20025918 .word 0x20025918 { A = SPlaneCoeff.A[j]; // We use A - F to make the code easier to read. 802fd60: f507 7204 add.w r2, r7, #528 ; 0x210 802fd64: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 802fd68: 00db lsls r3, r3, #3 802fd6a: 4413 add r3, r2 802fd6c: cb18 ldmia r3, {r3, r4} 802fd6e: f507 62ce add.w r2, r7, #1648 ; 0x670 802fd72: e882 0018 stmia.w r2, {r3, r4} B = SPlaneCoeff.B[j]; 802fd76: f507 7204 add.w r2, r7, #528 ; 0x210 802fd7a: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 802fd7e: 330a adds r3, #10 802fd80: 00db lsls r3, r3, #3 802fd82: 4413 add r3, r2 802fd84: cb18 ldmia r3, {r3, r4} 802fd86: f507 62cd add.w r2, r7, #1640 ; 0x668 802fd8a: e882 0018 stmia.w r2, {r3, r4} C = SPlaneCoeff.C[j]; 802fd8e: f507 7204 add.w r2, r7, #528 ; 0x210 802fd92: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 802fd96: 3314 adds r3, #20 802fd98: 00db lsls r3, r3, #3 802fd9a: 4413 add r3, r2 802fd9c: cb18 ldmia r3, {r3, r4} 802fd9e: f507 62cc add.w r2, r7, #1632 ; 0x660 802fda2: e882 0018 stmia.w r2, {r3, r4} D = SPlaneCoeff.D[j]; 802fda6: f507 7204 add.w r2, r7, #528 ; 0x210 802fdaa: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 802fdae: 331e adds r3, #30 802fdb0: 00db lsls r3, r3, #3 802fdb2: 4413 add r3, r2 802fdb4: cb18 ldmia r3, {r3, r4} 802fdb6: f507 62cb add.w r2, r7, #1624 ; 0x658 802fdba: e882 0018 stmia.w r2, {r3, r4} E = SPlaneCoeff.E[j]; 802fdbe: f507 7204 add.w r2, r7, #528 ; 0x210 802fdc2: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 802fdc6: 3328 adds r3, #40 ; 0x28 802fdc8: 00db lsls r3, r3, #3 802fdca: 4413 add r3, r2 802fdcc: cb18 ldmia r3, {r3, r4} 802fdce: f507 62ca add.w r2, r7, #1616 ; 0x650 802fdd2: e882 0018 stmia.w r2, {r3, r4} F = SPlaneCoeff.F[j]; 802fdd6: f507 7204 add.w r2, r7, #528 ; 0x210 802fdda: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 802fdde: 3332 adds r3, #50 ; 0x32 802fde0: 00db lsls r3, r3, #3 802fde2: 4413 add r3, r2 802fde4: cb18 ldmia r3, {r3, r4} 802fde6: f507 62c9 add.w r2, r7, #1608 ; 0x648 802fdea: e882 0018 stmia.w r2, {r3, r4} // b's are the numerator a's are the denominator if(PassType == iirLPF) 802fdee: f207 230a addw r3, r7, #522 ; 0x20a 802fdf2: 781b ldrb r3, [r3, #0] 802fdf4: 2b00 cmp r3, #0 802fdf6: f040 821d bne.w 8030234 { if(A == 0.0 && D == 0.0) // 1 pole case 802fdfa: f507 63ce add.w r3, r7, #1648 ; 0x670 802fdfe: ed93 7b00 vldr d7, [r3] 802fe02: eeb5 7b40 vcmp.f64 d7, #0.0 802fe06: eef1 fa10 vmrs APSR_nzcv, fpscr 802fe0a: f040 80c3 bne.w 802ff94 802fe0e: f507 63cb add.w r3, r7, #1624 ; 0x658 802fe12: ed93 7b00 vldr d7, [r3] 802fe16: eeb5 7b40 vcmp.f64 d7, #0.0 802fe1a: eef1 fa10 vmrs APSR_nzcv, fpscr 802fe1e: f040 80b9 bne.w 802ff94 { Arg = (2.0*B + C*T); 802fe22: f507 63cd add.w r3, r7, #1640 ; 0x668 802fe26: ed93 7b00 vldr d7, [r3] 802fe2a: ee37 6b07 vadd.f64 d6, d7, d7 802fe2e: f507 63cc add.w r3, r7, #1632 ; 0x660 802fe32: ed93 5b00 vldr d5, [r3] 802fe36: f507 63cf add.w r3, r7, #1656 ; 0x678 802fe3a: ed93 7b00 vldr d7, [r3] 802fe3e: ee25 7b07 vmul.f64 d7, d5, d7 802fe42: ee36 7b07 vadd.f64 d7, d6, d7 802fe46: f507 63c8 add.w r3, r7, #1600 ; 0x640 802fe4a: ed83 7b00 vstr d7, [r3] IIR.a2[j] = 0.0; 802fe4e: 4a4f ldr r2, [pc, #316] ; (802ff8c ) 802fe50: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 802fe54: 3314 adds r3, #20 802fe56: 00db lsls r3, r3, #3 802fe58: 441a add r2, r3 802fe5a: f04f 0300 mov.w r3, #0 802fe5e: f04f 0400 mov.w r4, #0 802fe62: e882 0018 stmia.w r2, {r3, r4} IIR.a1[j] = (-2.0*B + C*T) / Arg; 802fe66: f507 63cd add.w r3, r7, #1640 ; 0x668 802fe6a: ed93 7b00 vldr d7, [r3] 802fe6e: eeb8 6b00 vmov.f64 d6, #128 ; 0xc0000000 -2.0 802fe72: ee27 6b06 vmul.f64 d6, d7, d6 802fe76: f507 63cc add.w r3, r7, #1632 ; 0x660 802fe7a: ed93 5b00 vldr d5, [r3] 802fe7e: f507 63cf add.w r3, r7, #1656 ; 0x678 802fe82: ed93 7b00 vldr d7, [r3] 802fe86: ee25 7b07 vmul.f64 d7, d5, d7 802fe8a: ee36 5b07 vadd.f64 d5, d6, d7 802fe8e: f507 63c8 add.w r3, r7, #1600 ; 0x640 802fe92: ed93 6b00 vldr d6, [r3] 802fe96: ee85 7b06 vdiv.f64 d7, d5, d6 802fe9a: 4a3c ldr r2, [pc, #240] ; (802ff8c ) 802fe9c: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 802fea0: 330a adds r3, #10 802fea2: 00db lsls r3, r3, #3 802fea4: 4413 add r3, r2 802fea6: ed83 7b00 vstr d7, [r3] IIR.a0[j] = 1.0; // The filter implementation depends on a0 = 1. 802feaa: 4a38 ldr r2, [pc, #224] ; (802ff8c ) 802feac: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 802feb0: 00db lsls r3, r3, #3 802feb2: 441a add r2, r3 802feb4: f04f 0300 mov.w r3, #0 802feb8: 4c35 ldr r4, [pc, #212] ; (802ff90 ) 802feba: e882 0018 stmia.w r2, {r3, r4} IIR.b2[j] = 0.0; 802febe: 4a33 ldr r2, [pc, #204] ; (802ff8c ) 802fec0: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 802fec4: 3346 adds r3, #70 ; 0x46 802fec6: 00db lsls r3, r3, #3 802fec8: 441a add r2, r3 802feca: f04f 0300 mov.w r3, #0 802fece: f04f 0400 mov.w r4, #0 802fed2: e882 0018 stmia.w r2, {r3, r4} IIR.b1[j] = (-2.0*E + F*T) / Arg * C/F; 802fed6: f507 63ca add.w r3, r7, #1616 ; 0x650 802feda: ed93 7b00 vldr d7, [r3] 802fede: eeb8 6b00 vmov.f64 d6, #128 ; 0xc0000000 -2.0 802fee2: ee27 6b06 vmul.f64 d6, d7, d6 802fee6: f507 63c9 add.w r3, r7, #1608 ; 0x648 802feea: ed93 5b00 vldr d5, [r3] 802feee: f507 63cf add.w r3, r7, #1656 ; 0x678 802fef2: ed93 7b00 vldr d7, [r3] 802fef6: ee25 7b07 vmul.f64 d7, d5, d7 802fefa: ee36 5b07 vadd.f64 d5, d6, d7 802fefe: f507 63c8 add.w r3, r7, #1600 ; 0x640 802ff02: ed93 7b00 vldr d7, [r3] 802ff06: ee85 6b07 vdiv.f64 d6, d5, d7 802ff0a: f507 63cc add.w r3, r7, #1632 ; 0x660 802ff0e: ed93 7b00 vldr d7, [r3] 802ff12: ee26 5b07 vmul.f64 d5, d6, d7 802ff16: f507 63c9 add.w r3, r7, #1608 ; 0x648 802ff1a: ed93 6b00 vldr d6, [r3] 802ff1e: ee85 7b06 vdiv.f64 d7, d5, d6 802ff22: 4a1a ldr r2, [pc, #104] ; (802ff8c ) 802ff24: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 802ff28: 333c adds r3, #60 ; 0x3c 802ff2a: 00db lsls r3, r3, #3 802ff2c: 4413 add r3, r2 802ff2e: ed83 7b00 vstr d7, [r3] IIR.b0[j] = ( 2.0*E + F*T) / Arg * C/F; 802ff32: f507 63ca add.w r3, r7, #1616 ; 0x650 802ff36: ed93 7b00 vldr d7, [r3] 802ff3a: ee37 6b07 vadd.f64 d6, d7, d7 802ff3e: f507 63c9 add.w r3, r7, #1608 ; 0x648 802ff42: ed93 5b00 vldr d5, [r3] 802ff46: f507 63cf add.w r3, r7, #1656 ; 0x678 802ff4a: ed93 7b00 vldr d7, [r3] 802ff4e: ee25 7b07 vmul.f64 d7, d5, d7 802ff52: ee36 5b07 vadd.f64 d5, d6, d7 802ff56: f507 63c8 add.w r3, r7, #1600 ; 0x640 802ff5a: ed93 7b00 vldr d7, [r3] 802ff5e: ee85 6b07 vdiv.f64 d6, d5, d7 802ff62: f507 63cc add.w r3, r7, #1632 ; 0x660 802ff66: ed93 7b00 vldr d7, [r3] 802ff6a: ee26 5b07 vmul.f64 d5, d6, d7 802ff6e: f507 63c9 add.w r3, r7, #1608 ; 0x648 802ff72: ed93 6b00 vldr d6, [r3] 802ff76: ee85 7b06 vdiv.f64 d7, d5, d6 802ff7a: 4a04 ldr r2, [pc, #16] ; (802ff8c ) 802ff7c: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 802ff80: 3332 adds r3, #50 ; 0x32 802ff82: 00db lsls r3, r3, #3 802ff84: 4413 add r3, r2 802ff86: ed83 7b00 vstr d7, [r3] 802ff8a: e153 b.n 8030234 802ff8c: 20025918 .word 0x20025918 802ff90: 3ff00000 .word 0x3ff00000 } else // 2 poles { Arg = (4.0*A + 2.0*B*T + C*T*T); 802ff94: f507 63ce add.w r3, r7, #1648 ; 0x670 802ff98: ed93 7b00 vldr d7, [r3] 802ff9c: eeb1 6b00 vmov.f64 d6, #16 ; 0x40800000 4.0 802ffa0: ee27 6b06 vmul.f64 d6, d7, d6 802ffa4: f507 63cd add.w r3, r7, #1640 ; 0x668 802ffa8: ed93 7b00 vldr d7, [r3] 802ffac: ee37 5b07 vadd.f64 d5, d7, d7 802ffb0: f507 63cf add.w r3, r7, #1656 ; 0x678 802ffb4: ed93 7b00 vldr d7, [r3] 802ffb8: ee25 7b07 vmul.f64 d7, d5, d7 802ffbc: ee36 6b07 vadd.f64 d6, d6, d7 802ffc0: f507 63cc add.w r3, r7, #1632 ; 0x660 802ffc4: ed93 5b00 vldr d5, [r3] 802ffc8: f507 63cf add.w r3, r7, #1656 ; 0x678 802ffcc: ed93 7b00 vldr d7, [r3] 802ffd0: ee25 5b07 vmul.f64 d5, d5, d7 802ffd4: f507 63cf add.w r3, r7, #1656 ; 0x678 802ffd8: ed93 7b00 vldr d7, [r3] 802ffdc: ee25 7b07 vmul.f64 d7, d5, d7 802ffe0: ee36 7b07 vadd.f64 d7, d6, d7 802ffe4: f507 63c8 add.w r3, r7, #1600 ; 0x640 802ffe8: ed83 7b00 vstr d7, [r3] IIR.a2[j] = (4.0*A - 2.0*B*T + C*T*T) / Arg; 802ffec: f507 63ce add.w r3, r7, #1648 ; 0x670 802fff0: ed93 7b00 vldr d7, [r3] 802fff4: eeb1 6b00 vmov.f64 d6, #16 ; 0x40800000 4.0 802fff8: ee27 6b06 vmul.f64 d6, d7, d6 802fffc: f507 63cd add.w r3, r7, #1640 ; 0x668 8030000: ed93 7b00 vldr d7, [r3] 8030004: ee37 5b07 vadd.f64 d5, d7, d7 8030008: f507 63cf add.w r3, r7, #1656 ; 0x678 803000c: ed93 7b00 vldr d7, [r3] 8030010: ee25 7b07 vmul.f64 d7, d5, d7 8030014: ee36 6b47 vsub.f64 d6, d6, d7 8030018: f507 63cc add.w r3, r7, #1632 ; 0x660 803001c: ed93 5b00 vldr d5, [r3] 8030020: f507 63cf add.w r3, r7, #1656 ; 0x678 8030024: ed93 7b00 vldr d7, [r3] 8030028: ee25 5b07 vmul.f64 d5, d5, d7 803002c: f507 63cf add.w r3, r7, #1656 ; 0x678 8030030: ed93 7b00 vldr d7, [r3] 8030034: ee25 7b07 vmul.f64 d7, d5, d7 8030038: ee36 5b07 vadd.f64 d5, d6, d7 803003c: f507 63c8 add.w r3, r7, #1600 ; 0x640 8030040: ed93 6b00 vldr d6, [r3] 8030044: ee85 7b06 vdiv.f64 d7, d5, d6 8030048: 4ae0 ldr r2, [pc, #896] ; (80303cc ) 803004a: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 803004e: 3314 adds r3, #20 8030050: 00db lsls r3, r3, #3 8030052: 4413 add r3, r2 8030054: ed83 7b00 vstr d7, [r3] IIR.a1[j] = (2.0*C*T*T - 8.0*A) / Arg; 8030058: f507 63cc add.w r3, r7, #1632 ; 0x660 803005c: ed93 7b00 vldr d7, [r3] 8030060: ee37 6b07 vadd.f64 d6, d7, d7 8030064: f507 63cf add.w r3, r7, #1656 ; 0x678 8030068: ed93 7b00 vldr d7, [r3] 803006c: ee26 6b07 vmul.f64 d6, d6, d7 8030070: f507 63cf add.w r3, r7, #1656 ; 0x678 8030074: ed93 7b00 vldr d7, [r3] 8030078: ee26 6b07 vmul.f64 d6, d6, d7 803007c: f507 63ce add.w r3, r7, #1648 ; 0x670 8030080: ed93 7b00 vldr d7, [r3] 8030084: eeb2 5b00 vmov.f64 d5, #32 ; 0x41000000 8.0 8030088: ee27 7b05 vmul.f64 d7, d7, d5 803008c: ee36 5b47 vsub.f64 d5, d6, d7 8030090: f507 63c8 add.w r3, r7, #1600 ; 0x640 8030094: ed93 6b00 vldr d6, [r3] 8030098: ee85 7b06 vdiv.f64 d7, d5, d6 803009c: 4acb ldr r2, [pc, #812] ; (80303cc ) 803009e: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 80300a2: 330a adds r3, #10 80300a4: 00db lsls r3, r3, #3 80300a6: 4413 add r3, r2 80300a8: ed83 7b00 vstr d7, [r3] IIR.a0[j] = 1.0; // The filter implementation depends on a0 = 1. 80300ac: 4ac7 ldr r2, [pc, #796] ; (80303cc ) 80300ae: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 80300b2: 00db lsls r3, r3, #3 80300b4: 441a add r2, r3 80300b6: f04f 0300 mov.w r3, #0 80300ba: 4cc5 ldr r4, [pc, #788] ; (80303d0 ) 80300bc: e882 0018 stmia.w r2, {r3, r4} // With all pole filters, our LPF numerator is (z+1)^2, so all our Z Plane zeros are at -1 IIR.b2[j] = (4.0*D - 2.0*E*T + F*T*T) / Arg * C/F; 80300c0: f507 63cb add.w r3, r7, #1624 ; 0x658 80300c4: ed93 7b00 vldr d7, [r3] 80300c8: eeb1 6b00 vmov.f64 d6, #16 ; 0x40800000 4.0 80300cc: ee27 6b06 vmul.f64 d6, d7, d6 80300d0: f507 63ca add.w r3, r7, #1616 ; 0x650 80300d4: ed93 7b00 vldr d7, [r3] 80300d8: ee37 5b07 vadd.f64 d5, d7, d7 80300dc: f507 63cf add.w r3, r7, #1656 ; 0x678 80300e0: ed93 7b00 vldr d7, [r3] 80300e4: ee25 7b07 vmul.f64 d7, d5, d7 80300e8: ee36 6b47 vsub.f64 d6, d6, d7 80300ec: f507 63c9 add.w r3, r7, #1608 ; 0x648 80300f0: ed93 5b00 vldr d5, [r3] 80300f4: f507 63cf add.w r3, r7, #1656 ; 0x678 80300f8: ed93 7b00 vldr d7, [r3] 80300fc: ee25 5b07 vmul.f64 d5, d5, d7 8030100: f507 63cf add.w r3, r7, #1656 ; 0x678 8030104: ed93 7b00 vldr d7, [r3] 8030108: ee25 7b07 vmul.f64 d7, d5, d7 803010c: ee36 5b07 vadd.f64 d5, d6, d7 8030110: f507 63c8 add.w r3, r7, #1600 ; 0x640 8030114: ed93 7b00 vldr d7, [r3] 8030118: ee85 6b07 vdiv.f64 d6, d5, d7 803011c: f507 63cc add.w r3, r7, #1632 ; 0x660 8030120: ed93 7b00 vldr d7, [r3] 8030124: ee26 5b07 vmul.f64 d5, d6, d7 8030128: f507 63c9 add.w r3, r7, #1608 ; 0x648 803012c: ed93 6b00 vldr d6, [r3] 8030130: ee85 7b06 vdiv.f64 d7, d5, d6 8030134: 4aa5 ldr r2, [pc, #660] ; (80303cc ) 8030136: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 803013a: 3346 adds r3, #70 ; 0x46 803013c: 00db lsls r3, r3, #3 803013e: 4413 add r3, r2 8030140: ed83 7b00 vstr d7, [r3] IIR.b1[j] = (2.0*F*T*T - 8.0*D) / Arg * C/F; 8030144: f507 63c9 add.w r3, r7, #1608 ; 0x648 8030148: ed93 7b00 vldr d7, [r3] 803014c: ee37 6b07 vadd.f64 d6, d7, d7 8030150: f507 63cf add.w r3, r7, #1656 ; 0x678 8030154: ed93 7b00 vldr d7, [r3] 8030158: ee26 6b07 vmul.f64 d6, d6, d7 803015c: f507 63cf add.w r3, r7, #1656 ; 0x678 8030160: ed93 7b00 vldr d7, [r3] 8030164: ee26 6b07 vmul.f64 d6, d6, d7 8030168: f507 63cb add.w r3, r7, #1624 ; 0x658 803016c: ed93 7b00 vldr d7, [r3] 8030170: eeb2 5b00 vmov.f64 d5, #32 ; 0x41000000 8.0 8030174: ee27 7b05 vmul.f64 d7, d7, d5 8030178: ee36 5b47 vsub.f64 d5, d6, d7 803017c: f507 63c8 add.w r3, r7, #1600 ; 0x640 8030180: ed93 7b00 vldr d7, [r3] 8030184: ee85 6b07 vdiv.f64 d6, d5, d7 8030188: f507 63cc add.w r3, r7, #1632 ; 0x660 803018c: ed93 7b00 vldr d7, [r3] 8030190: ee26 5b07 vmul.f64 d5, d6, d7 8030194: f507 63c9 add.w r3, r7, #1608 ; 0x648 8030198: ed93 6b00 vldr d6, [r3] 803019c: ee85 7b06 vdiv.f64 d7, d5, d6 80301a0: 4a8a ldr r2, [pc, #552] ; (80303cc ) 80301a2: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 80301a6: 333c adds r3, #60 ; 0x3c 80301a8: 00db lsls r3, r3, #3 80301aa: 4413 add r3, r2 80301ac: ed83 7b00 vstr d7, [r3] IIR.b0[j] = (4*D + F*T*T + 2.0*E*T) / Arg * C/F; 80301b0: f507 63cb add.w r3, r7, #1624 ; 0x658 80301b4: ed93 7b00 vldr d7, [r3] 80301b8: eeb1 6b00 vmov.f64 d6, #16 ; 0x40800000 4.0 80301bc: ee27 6b06 vmul.f64 d6, d7, d6 80301c0: f507 63c9 add.w r3, r7, #1608 ; 0x648 80301c4: ed93 5b00 vldr d5, [r3] 80301c8: f507 63cf add.w r3, r7, #1656 ; 0x678 80301cc: ed93 7b00 vldr d7, [r3] 80301d0: ee25 5b07 vmul.f64 d5, d5, d7 80301d4: f507 63cf add.w r3, r7, #1656 ; 0x678 80301d8: ed93 7b00 vldr d7, [r3] 80301dc: ee25 7b07 vmul.f64 d7, d5, d7 80301e0: ee36 6b07 vadd.f64 d6, d6, d7 80301e4: f507 63ca add.w r3, r7, #1616 ; 0x650 80301e8: ed93 7b00 vldr d7, [r3] 80301ec: ee37 5b07 vadd.f64 d5, d7, d7 80301f0: f507 63cf add.w r3, r7, #1656 ; 0x678 80301f4: ed93 7b00 vldr d7, [r3] 80301f8: ee25 7b07 vmul.f64 d7, d5, d7 80301fc: ee36 5b07 vadd.f64 d5, d6, d7 8030200: f507 63c8 add.w r3, r7, #1600 ; 0x640 8030204: ed93 7b00 vldr d7, [r3] 8030208: ee85 6b07 vdiv.f64 d6, d5, d7 803020c: f507 63cc add.w r3, r7, #1632 ; 0x660 8030210: ed93 7b00 vldr d7, [r3] 8030214: ee26 5b07 vmul.f64 d5, d6, d7 8030218: f507 63c9 add.w r3, r7, #1608 ; 0x648 803021c: ed93 6b00 vldr d6, [r3] 8030220: ee85 7b06 vdiv.f64 d7, d5, d6 8030224: 4a69 ldr r2, [pc, #420] ; (80303cc ) 8030226: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 803022a: 3332 adds r3, #50 ; 0x32 803022c: 00db lsls r3, r3, #3 803022e: 4413 add r3, r2 8030230: ed83 7b00 vstr d7, [r3] } } if(PassType == iirHPF) 8030234: f207 230a addw r3, r7, #522 ; 0x20a 8030238: 781b ldrb r3, [r3, #0] 803023a: 2b01 cmp r3, #1 803023c: f040 821a bne.w 8030674 { if(A == 0.0 && D == 0.0) // 1 pole 8030240: f507 63ce add.w r3, r7, #1648 ; 0x670 8030244: ed93 7b00 vldr d7, [r3] 8030248: eeb5 7b40 vcmp.f64 d7, #0.0 803024c: eef1 fa10 vmrs APSR_nzcv, fpscr 8030250: f040 80c0 bne.w 80303d4 8030254: f507 63cb add.w r3, r7, #1624 ; 0x658 8030258: ed93 7b00 vldr d7, [r3] 803025c: eeb5 7b40 vcmp.f64 d7, #0.0 8030260: eef1 fa10 vmrs APSR_nzcv, fpscr 8030264: f040 80b6 bne.w 80303d4 { Arg = 2.0*C + B*T; 8030268: f507 63cc add.w r3, r7, #1632 ; 0x660 803026c: ed93 7b00 vldr d7, [r3] 8030270: ee37 6b07 vadd.f64 d6, d7, d7 8030274: f507 63cd add.w r3, r7, #1640 ; 0x668 8030278: ed93 5b00 vldr d5, [r3] 803027c: f507 63cf add.w r3, r7, #1656 ; 0x678 8030280: ed93 7b00 vldr d7, [r3] 8030284: ee25 7b07 vmul.f64 d7, d5, d7 8030288: ee36 7b07 vadd.f64 d7, d6, d7 803028c: f507 63c8 add.w r3, r7, #1600 ; 0x640 8030290: ed83 7b00 vstr d7, [r3] IIR.a2[j] = 0.0; 8030294: 4a4d ldr r2, [pc, #308] ; (80303cc ) 8030296: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 803029a: 3314 adds r3, #20 803029c: 00db lsls r3, r3, #3 803029e: 441a add r2, r3 80302a0: f04f 0300 mov.w r3, #0 80302a4: f04f 0400 mov.w r4, #0 80302a8: e882 0018 stmia.w r2, {r3, r4} IIR.a1[j] = (B*T - 2.0*C) / Arg; 80302ac: f507 63cd add.w r3, r7, #1640 ; 0x668 80302b0: ed93 6b00 vldr d6, [r3] 80302b4: f507 63cf add.w r3, r7, #1656 ; 0x678 80302b8: ed93 7b00 vldr d7, [r3] 80302bc: ee26 6b07 vmul.f64 d6, d6, d7 80302c0: f507 63cc add.w r3, r7, #1632 ; 0x660 80302c4: ed93 7b00 vldr d7, [r3] 80302c8: ee37 7b07 vadd.f64 d7, d7, d7 80302cc: ee36 5b47 vsub.f64 d5, d6, d7 80302d0: f507 63c8 add.w r3, r7, #1600 ; 0x640 80302d4: ed93 6b00 vldr d6, [r3] 80302d8: ee85 7b06 vdiv.f64 d7, d5, d6 80302dc: 4a3b ldr r2, [pc, #236] ; (80303cc ) 80302de: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 80302e2: 330a adds r3, #10 80302e4: 00db lsls r3, r3, #3 80302e6: 4413 add r3, r2 80302e8: ed83 7b00 vstr d7, [r3] IIR.a0[j] = 1.0; // The filter implementation depends on a0 = 1. 80302ec: 4a37 ldr r2, [pc, #220] ; (80303cc ) 80302ee: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 80302f2: 00db lsls r3, r3, #3 80302f4: 441a add r2, r3 80302f6: f04f 0300 mov.w r3, #0 80302fa: 4c35 ldr r4, [pc, #212] ; (80303d0 ) 80302fc: e882 0018 stmia.w r2, {r3, r4} IIR.b2[j] = 0.0; 8030300: 4a32 ldr r2, [pc, #200] ; (80303cc ) 8030302: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8030306: 3346 adds r3, #70 ; 0x46 8030308: 00db lsls r3, r3, #3 803030a: 441a add r2, r3 803030c: f04f 0300 mov.w r3, #0 8030310: f04f 0400 mov.w r4, #0 8030314: e882 0018 stmia.w r2, {r3, r4} IIR.b1[j] = (E*T - 2.0*F) / Arg * C/F; 8030318: f507 63ca add.w r3, r7, #1616 ; 0x650 803031c: ed93 6b00 vldr d6, [r3] 8030320: f507 63cf add.w r3, r7, #1656 ; 0x678 8030324: ed93 7b00 vldr d7, [r3] 8030328: ee26 6b07 vmul.f64 d6, d6, d7 803032c: f507 63c9 add.w r3, r7, #1608 ; 0x648 8030330: ed93 7b00 vldr d7, [r3] 8030334: ee37 7b07 vadd.f64 d7, d7, d7 8030338: ee36 5b47 vsub.f64 d5, d6, d7 803033c: f507 63c8 add.w r3, r7, #1600 ; 0x640 8030340: ed93 7b00 vldr d7, [r3] 8030344: ee85 6b07 vdiv.f64 d6, d5, d7 8030348: f507 63cc add.w r3, r7, #1632 ; 0x660 803034c: ed93 7b00 vldr d7, [r3] 8030350: ee26 5b07 vmul.f64 d5, d6, d7 8030354: f507 63c9 add.w r3, r7, #1608 ; 0x648 8030358: ed93 6b00 vldr d6, [r3] 803035c: ee85 7b06 vdiv.f64 d7, d5, d6 8030360: 4a1a ldr r2, [pc, #104] ; (80303cc ) 8030362: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8030366: 333c adds r3, #60 ; 0x3c 8030368: 00db lsls r3, r3, #3 803036a: 4413 add r3, r2 803036c: ed83 7b00 vstr d7, [r3] IIR.b0[j] = (E*T + 2.0*F) / Arg * C/F; 8030370: f507 63ca add.w r3, r7, #1616 ; 0x650 8030374: ed93 6b00 vldr d6, [r3] 8030378: f507 63cf add.w r3, r7, #1656 ; 0x678 803037c: ed93 7b00 vldr d7, [r3] 8030380: ee26 6b07 vmul.f64 d6, d6, d7 8030384: f507 63c9 add.w r3, r7, #1608 ; 0x648 8030388: ed93 7b00 vldr d7, [r3] 803038c: ee37 7b07 vadd.f64 d7, d7, d7 8030390: ee36 5b07 vadd.f64 d5, d6, d7 8030394: f507 63c8 add.w r3, r7, #1600 ; 0x640 8030398: ed93 7b00 vldr d7, [r3] 803039c: ee85 6b07 vdiv.f64 d6, d5, d7 80303a0: f507 63cc add.w r3, r7, #1632 ; 0x660 80303a4: ed93 7b00 vldr d7, [r3] 80303a8: ee26 5b07 vmul.f64 d5, d6, d7 80303ac: f507 63c9 add.w r3, r7, #1608 ; 0x648 80303b0: ed93 6b00 vldr d6, [r3] 80303b4: ee85 7b06 vdiv.f64 d7, d5, d6 80303b8: 4a04 ldr r2, [pc, #16] ; (80303cc ) 80303ba: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 80303be: 3332 adds r3, #50 ; 0x32 80303c0: 00db lsls r3, r3, #3 80303c2: 4413 add r3, r2 80303c4: ed83 7b00 vstr d7, [r3] 80303c8: e154 b.n 8030674 80303ca: bf00 nop 80303cc: 20025918 .word 0x20025918 80303d0: 3ff00000 .word 0x3ff00000 } else // 2 poles { Arg = A*T*T + 4.0*C + 2.0*B*T; 80303d4: f507 63ce add.w r3, r7, #1648 ; 0x670 80303d8: ed93 6b00 vldr d6, [r3] 80303dc: f507 63cf add.w r3, r7, #1656 ; 0x678 80303e0: ed93 7b00 vldr d7, [r3] 80303e4: ee26 6b07 vmul.f64 d6, d6, d7 80303e8: f507 63cf add.w r3, r7, #1656 ; 0x678 80303ec: ed93 7b00 vldr d7, [r3] 80303f0: ee26 6b07 vmul.f64 d6, d6, d7 80303f4: f507 63cc add.w r3, r7, #1632 ; 0x660 80303f8: ed93 7b00 vldr d7, [r3] 80303fc: eeb1 5b00 vmov.f64 d5, #16 ; 0x40800000 4.0 8030400: ee27 7b05 vmul.f64 d7, d7, d5 8030404: ee36 6b07 vadd.f64 d6, d6, d7 8030408: f507 63cd add.w r3, r7, #1640 ; 0x668 803040c: ed93 7b00 vldr d7, [r3] 8030410: ee37 5b07 vadd.f64 d5, d7, d7 8030414: f507 63cf add.w r3, r7, #1656 ; 0x678 8030418: ed93 7b00 vldr d7, [r3] 803041c: ee25 7b07 vmul.f64 d7, d5, d7 8030420: ee36 7b07 vadd.f64 d7, d6, d7 8030424: f507 63c8 add.w r3, r7, #1600 ; 0x640 8030428: ed83 7b00 vstr d7, [r3] IIR.a2[j] = (A*T*T + 4.0*C - 2.0*B*T) / Arg; 803042c: f507 63ce add.w r3, r7, #1648 ; 0x670 8030430: ed93 6b00 vldr d6, [r3] 8030434: f507 63cf add.w r3, r7, #1656 ; 0x678 8030438: ed93 7b00 vldr d7, [r3] 803043c: ee26 6b07 vmul.f64 d6, d6, d7 8030440: f507 63cf add.w r3, r7, #1656 ; 0x678 8030444: ed93 7b00 vldr d7, [r3] 8030448: ee26 6b07 vmul.f64 d6, d6, d7 803044c: f507 63cc add.w r3, r7, #1632 ; 0x660 8030450: ed93 7b00 vldr d7, [r3] 8030454: eeb1 5b00 vmov.f64 d5, #16 ; 0x40800000 4.0 8030458: ee27 7b05 vmul.f64 d7, d7, d5 803045c: ee36 6b07 vadd.f64 d6, d6, d7 8030460: f507 63cd add.w r3, r7, #1640 ; 0x668 8030464: ed93 7b00 vldr d7, [r3] 8030468: ee37 5b07 vadd.f64 d5, d7, d7 803046c: f507 63cf add.w r3, r7, #1656 ; 0x678 8030470: ed93 7b00 vldr d7, [r3] 8030474: ee25 7b07 vmul.f64 d7, d5, d7 8030478: ee36 5b47 vsub.f64 d5, d6, d7 803047c: f507 63c8 add.w r3, r7, #1600 ; 0x640 8030480: ed93 6b00 vldr d6, [r3] 8030484: ee85 7b06 vdiv.f64 d7, d5, d6 8030488: 4af6 ldr r2, [pc, #984] ; (8030864 ) 803048a: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 803048e: 3314 adds r3, #20 8030490: 00db lsls r3, r3, #3 8030492: 4413 add r3, r2 8030494: ed83 7b00 vstr d7, [r3] IIR.a1[j] = (2.0*A*T*T - 8.0*C) / Arg; 8030498: f507 63ce add.w r3, r7, #1648 ; 0x670 803049c: ed93 7b00 vldr d7, [r3] 80304a0: ee37 6b07 vadd.f64 d6, d7, d7 80304a4: f507 63cf add.w r3, r7, #1656 ; 0x678 80304a8: ed93 7b00 vldr d7, [r3] 80304ac: ee26 6b07 vmul.f64 d6, d6, d7 80304b0: f507 63cf add.w r3, r7, #1656 ; 0x678 80304b4: ed93 7b00 vldr d7, [r3] 80304b8: ee26 6b07 vmul.f64 d6, d6, d7 80304bc: f507 63cc add.w r3, r7, #1632 ; 0x660 80304c0: ed93 7b00 vldr d7, [r3] 80304c4: eeb2 5b00 vmov.f64 d5, #32 ; 0x41000000 8.0 80304c8: ee27 7b05 vmul.f64 d7, d7, d5 80304cc: ee36 5b47 vsub.f64 d5, d6, d7 80304d0: f507 63c8 add.w r3, r7, #1600 ; 0x640 80304d4: ed93 6b00 vldr d6, [r3] 80304d8: ee85 7b06 vdiv.f64 d7, d5, d6 80304dc: 4ae1 ldr r2, [pc, #900] ; (8030864 ) 80304de: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 80304e2: 330a adds r3, #10 80304e4: 00db lsls r3, r3, #3 80304e6: 4413 add r3, r2 80304e8: ed83 7b00 vstr d7, [r3] IIR.a0[j] = 1.0; 80304ec: 4add ldr r2, [pc, #884] ; (8030864 ) 80304ee: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 80304f2: 00db lsls r3, r3, #3 80304f4: 441a add r2, r3 80304f6: f04f 0300 mov.w r3, #0 80304fa: 4cdb ldr r4, [pc, #876] ; (8030868 ) 80304fc: e882 0018 stmia.w r2, {r3, r4} // With all pole filters, our HPF numerator is (z-1)^2, so all our Z Plane zeros are at 1 IIR.b2[j] = (D*T*T - 2.0*E*T + 4.0*F) / Arg * C/F; 8030500: f507 63cb add.w r3, r7, #1624 ; 0x658 8030504: ed93 6b00 vldr d6, [r3] 8030508: f507 63cf add.w r3, r7, #1656 ; 0x678 803050c: ed93 7b00 vldr d7, [r3] 8030510: ee26 6b07 vmul.f64 d6, d6, d7 8030514: f507 63cf add.w r3, r7, #1656 ; 0x678 8030518: ed93 7b00 vldr d7, [r3] 803051c: ee26 6b07 vmul.f64 d6, d6, d7 8030520: f507 63ca add.w r3, r7, #1616 ; 0x650 8030524: ed93 7b00 vldr d7, [r3] 8030528: ee37 5b07 vadd.f64 d5, d7, d7 803052c: f507 63cf add.w r3, r7, #1656 ; 0x678 8030530: ed93 7b00 vldr d7, [r3] 8030534: ee25 7b07 vmul.f64 d7, d5, d7 8030538: ee36 6b47 vsub.f64 d6, d6, d7 803053c: f507 63c9 add.w r3, r7, #1608 ; 0x648 8030540: ed93 7b00 vldr d7, [r3] 8030544: eeb1 5b00 vmov.f64 d5, #16 ; 0x40800000 4.0 8030548: ee27 7b05 vmul.f64 d7, d7, d5 803054c: ee36 5b07 vadd.f64 d5, d6, d7 8030550: f507 63c8 add.w r3, r7, #1600 ; 0x640 8030554: ed93 7b00 vldr d7, [r3] 8030558: ee85 6b07 vdiv.f64 d6, d5, d7 803055c: f507 63cc add.w r3, r7, #1632 ; 0x660 8030560: ed93 7b00 vldr d7, [r3] 8030564: ee26 5b07 vmul.f64 d5, d6, d7 8030568: f507 63c9 add.w r3, r7, #1608 ; 0x648 803056c: ed93 6b00 vldr d6, [r3] 8030570: ee85 7b06 vdiv.f64 d7, d5, d6 8030574: 4abb ldr r2, [pc, #748] ; (8030864 ) 8030576: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 803057a: 3346 adds r3, #70 ; 0x46 803057c: 00db lsls r3, r3, #3 803057e: 4413 add r3, r2 8030580: ed83 7b00 vstr d7, [r3] IIR.b1[j] = (2.0*D*T*T - 8.0*F) / Arg * C/F; 8030584: f507 63cb add.w r3, r7, #1624 ; 0x658 8030588: ed93 7b00 vldr d7, [r3] 803058c: ee37 6b07 vadd.f64 d6, d7, d7 8030590: f507 63cf add.w r3, r7, #1656 ; 0x678 8030594: ed93 7b00 vldr d7, [r3] 8030598: ee26 6b07 vmul.f64 d6, d6, d7 803059c: f507 63cf add.w r3, r7, #1656 ; 0x678 80305a0: ed93 7b00 vldr d7, [r3] 80305a4: ee26 6b07 vmul.f64 d6, d6, d7 80305a8: f507 63c9 add.w r3, r7, #1608 ; 0x648 80305ac: ed93 7b00 vldr d7, [r3] 80305b0: eeb2 5b00 vmov.f64 d5, #32 ; 0x41000000 8.0 80305b4: ee27 7b05 vmul.f64 d7, d7, d5 80305b8: ee36 5b47 vsub.f64 d5, d6, d7 80305bc: f507 63c8 add.w r3, r7, #1600 ; 0x640 80305c0: ed93 7b00 vldr d7, [r3] 80305c4: ee85 6b07 vdiv.f64 d6, d5, d7 80305c8: f507 63cc add.w r3, r7, #1632 ; 0x660 80305cc: ed93 7b00 vldr d7, [r3] 80305d0: ee26 5b07 vmul.f64 d5, d6, d7 80305d4: f507 63c9 add.w r3, r7, #1608 ; 0x648 80305d8: ed93 6b00 vldr d6, [r3] 80305dc: ee85 7b06 vdiv.f64 d7, d5, d6 80305e0: 4aa0 ldr r2, [pc, #640] ; (8030864 ) 80305e2: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 80305e6: 333c adds r3, #60 ; 0x3c 80305e8: 00db lsls r3, r3, #3 80305ea: 4413 add r3, r2 80305ec: ed83 7b00 vstr d7, [r3] IIR.b0[j] = (D*T*T + 4.0*F + 2.0*E*T) / Arg * C/F; 80305f0: f507 63cb add.w r3, r7, #1624 ; 0x658 80305f4: ed93 6b00 vldr d6, [r3] 80305f8: f507 63cf add.w r3, r7, #1656 ; 0x678 80305fc: ed93 7b00 vldr d7, [r3] 8030600: ee26 6b07 vmul.f64 d6, d6, d7 8030604: f507 63cf add.w r3, r7, #1656 ; 0x678 8030608: ed93 7b00 vldr d7, [r3] 803060c: ee26 6b07 vmul.f64 d6, d6, d7 8030610: f507 63c9 add.w r3, r7, #1608 ; 0x648 8030614: ed93 7b00 vldr d7, [r3] 8030618: eeb1 5b00 vmov.f64 d5, #16 ; 0x40800000 4.0 803061c: ee27 7b05 vmul.f64 d7, d7, d5 8030620: ee36 6b07 vadd.f64 d6, d6, d7 8030624: f507 63ca add.w r3, r7, #1616 ; 0x650 8030628: ed93 7b00 vldr d7, [r3] 803062c: ee37 5b07 vadd.f64 d5, d7, d7 8030630: f507 63cf add.w r3, r7, #1656 ; 0x678 8030634: ed93 7b00 vldr d7, [r3] 8030638: ee25 7b07 vmul.f64 d7, d5, d7 803063c: ee36 5b07 vadd.f64 d5, d6, d7 8030640: f507 63c8 add.w r3, r7, #1600 ; 0x640 8030644: ed93 7b00 vldr d7, [r3] 8030648: ee85 6b07 vdiv.f64 d6, d5, d7 803064c: f507 63cc add.w r3, r7, #1632 ; 0x660 8030650: ed93 7b00 vldr d7, [r3] 8030654: ee26 5b07 vmul.f64 d5, d6, d7 8030658: f507 63c9 add.w r3, r7, #1608 ; 0x648 803065c: ed93 6b00 vldr d6, [r3] 8030660: ee85 7b06 vdiv.f64 d7, d5, d6 8030664: 4a7f ldr r2, [pc, #508] ; (8030864 ) 8030666: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 803066a: 3332 adds r3, #50 ; 0x32 803066c: 00db lsls r3, r3, #3 803066e: 4413 add r3, r2 8030670: ed83 7b00 vstr d7, [r3] } } if(PassType == iirBPF) 8030674: f207 230a addw r3, r7, #522 ; 0x20a 8030678: 781b ldrb r3, [r3, #0] 803067a: 2b02 cmp r3, #2 803067c: f041 8283 bne.w 8031b86 { if(A == 0.0 && D == 0.0) // 1 pole 8030680: f507 63ce add.w r3, r7, #1648 ; 0x670 8030684: ed93 7b00 vldr d7, [r3] 8030688: eeb5 7b40 vcmp.f64 d7, #0.0 803068c: eef1 fa10 vmrs APSR_nzcv, fpscr 8030690: f040 81af bne.w 80309f2 8030694: f507 63cb add.w r3, r7, #1624 ; 0x658 8030698: ed93 7b00 vldr d7, [r3] 803069c: eeb5 7b40 vcmp.f64 d7, #0.0 80306a0: eef1 fa10 vmrs APSR_nzcv, fpscr 80306a4: f040 81a5 bne.w 80309f2 { Arg = 4.0*B*Q + 2.0*C*T + B*Q*T*T; 80306a8: f507 63cd add.w r3, r7, #1640 ; 0x668 80306ac: ed93 7b00 vldr d7, [r3] 80306b0: eeb1 6b00 vmov.f64 d6, #16 ; 0x40800000 4.0 80306b4: ee27 6b06 vmul.f64 d6, d7, d6 80306b8: f507 63d1 add.w r3, r7, #1672 ; 0x688 80306bc: ed93 7b00 vldr d7, [r3] 80306c0: ee26 6b07 vmul.f64 d6, d6, d7 80306c4: f507 63cc add.w r3, r7, #1632 ; 0x660 80306c8: ed93 7b00 vldr d7, [r3] 80306cc: ee37 5b07 vadd.f64 d5, d7, d7 80306d0: f507 63cf add.w r3, r7, #1656 ; 0x678 80306d4: ed93 7b00 vldr d7, [r3] 80306d8: ee25 7b07 vmul.f64 d7, d5, d7 80306dc: ee36 6b07 vadd.f64 d6, d6, d7 80306e0: f507 63cd add.w r3, r7, #1640 ; 0x668 80306e4: ed93 5b00 vldr d5, [r3] 80306e8: f507 63d1 add.w r3, r7, #1672 ; 0x688 80306ec: ed93 7b00 vldr d7, [r3] 80306f0: ee25 5b07 vmul.f64 d5, d5, d7 80306f4: f507 63cf add.w r3, r7, #1656 ; 0x678 80306f8: ed93 7b00 vldr d7, [r3] 80306fc: ee25 5b07 vmul.f64 d5, d5, d7 8030700: f507 63cf add.w r3, r7, #1656 ; 0x678 8030704: ed93 7b00 vldr d7, [r3] 8030708: ee25 7b07 vmul.f64 d7, d5, d7 803070c: ee36 7b07 vadd.f64 d7, d6, d7 8030710: f507 63c8 add.w r3, r7, #1600 ; 0x640 8030714: ed83 7b00 vstr d7, [r3] a2[k] = (B*Q*T*T + 4.0*B*Q - 2.0*C*T) / Arg; 8030718: f507 63cd add.w r3, r7, #1640 ; 0x668 803071c: ed93 6b00 vldr d6, [r3] 8030720: f507 63d1 add.w r3, r7, #1672 ; 0x688 8030724: ed93 7b00 vldr d7, [r3] 8030728: ee26 6b07 vmul.f64 d6, d6, d7 803072c: f507 63cf add.w r3, r7, #1656 ; 0x678 8030730: ed93 7b00 vldr d7, [r3] 8030734: ee26 6b07 vmul.f64 d6, d6, d7 8030738: f507 63cf add.w r3, r7, #1656 ; 0x678 803073c: ed93 7b00 vldr d7, [r3] 8030740: ee26 6b07 vmul.f64 d6, d6, d7 8030744: f507 63cd add.w r3, r7, #1640 ; 0x668 8030748: ed93 7b00 vldr d7, [r3] 803074c: eeb1 5b00 vmov.f64 d5, #16 ; 0x40800000 4.0 8030750: ee27 5b05 vmul.f64 d5, d7, d5 8030754: f507 63d1 add.w r3, r7, #1672 ; 0x688 8030758: ed93 7b00 vldr d7, [r3] 803075c: ee25 7b07 vmul.f64 d7, d5, d7 8030760: ee36 6b07 vadd.f64 d6, d6, d7 8030764: f507 63cc add.w r3, r7, #1632 ; 0x660 8030768: ed93 7b00 vldr d7, [r3] 803076c: ee37 5b07 vadd.f64 d5, d7, d7 8030770: f507 63cf add.w r3, r7, #1656 ; 0x678 8030774: ed93 7b00 vldr d7, [r3] 8030778: ee25 7b07 vmul.f64 d7, d5, d7 803077c: ee36 5b47 vsub.f64 d5, d6, d7 8030780: f507 63c8 add.w r3, r7, #1600 ; 0x640 8030784: ed93 6b00 vldr d6, [r3] 8030788: ee85 7b06 vdiv.f64 d7, d5, d6 803078c: f507 62b1 add.w r2, r7, #1416 ; 0x588 8030790: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8030794: 00db lsls r3, r3, #3 8030796: 4413 add r3, r2 8030798: ed83 7b00 vstr d7, [r3] a1[k] = (2.0*B*Q*T*T - 8.0*B*Q) / Arg ; 803079c: f507 63cd add.w r3, r7, #1640 ; 0x668 80307a0: ed93 7b00 vldr d7, [r3] 80307a4: ee37 6b07 vadd.f64 d6, d7, d7 80307a8: f507 63d1 add.w r3, r7, #1672 ; 0x688 80307ac: ed93 7b00 vldr d7, [r3] 80307b0: ee26 6b07 vmul.f64 d6, d6, d7 80307b4: f507 63cf add.w r3, r7, #1656 ; 0x678 80307b8: ed93 7b00 vldr d7, [r3] 80307bc: ee26 6b07 vmul.f64 d6, d6, d7 80307c0: f507 63cf add.w r3, r7, #1656 ; 0x678 80307c4: ed93 7b00 vldr d7, [r3] 80307c8: ee26 6b07 vmul.f64 d6, d6, d7 80307cc: f507 63cd add.w r3, r7, #1640 ; 0x668 80307d0: ed93 7b00 vldr d7, [r3] 80307d4: eeb2 5b00 vmov.f64 d5, #32 ; 0x41000000 8.0 80307d8: ee27 5b05 vmul.f64 d5, d7, d5 80307dc: f507 63d1 add.w r3, r7, #1672 ; 0x688 80307e0: ed93 7b00 vldr d7, [r3] 80307e4: ee25 7b07 vmul.f64 d7, d5, d7 80307e8: ee36 5b47 vsub.f64 d5, d6, d7 80307ec: f507 63c8 add.w r3, r7, #1600 ; 0x640 80307f0: ed93 6b00 vldr d6, [r3] 80307f4: ee85 7b06 vdiv.f64 d7, d5, d6 80307f8: f507 62a7 add.w r2, r7, #1336 ; 0x538 80307fc: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8030800: 00db lsls r3, r3, #3 8030802: 4413 add r3, r2 8030804: ed83 7b00 vstr d7, [r3] a0[k] = 1.0; 8030808: f507 629d add.w r2, r7, #1256 ; 0x4e8 803080c: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8030810: 00db lsls r3, r3, #3 8030812: 441a add r2, r3 8030814: f04f 0300 mov.w r3, #0 8030818: 4c13 ldr r4, [pc, #76] ; (8030868 ) 803081a: e882 0018 stmia.w r2, {r3, r4} b2[k] = (E*Q*T*T + 4.0*E*Q - 2.0*F*T) / Arg * C/F; 803081e: f507 63ca add.w r3, r7, #1616 ; 0x650 8030822: ed93 6b00 vldr d6, [r3] 8030826: f507 63d1 add.w r3, r7, #1672 ; 0x688 803082a: ed93 7b00 vldr d7, [r3] 803082e: ee26 6b07 vmul.f64 d6, d6, d7 8030832: f507 63cf add.w r3, r7, #1656 ; 0x678 8030836: ed93 7b00 vldr d7, [r3] 803083a: ee26 6b07 vmul.f64 d6, d6, d7 803083e: f507 63cf add.w r3, r7, #1656 ; 0x678 8030842: ed93 7b00 vldr d7, [r3] 8030846: ee26 6b07 vmul.f64 d6, d6, d7 803084a: f507 63ca add.w r3, r7, #1616 ; 0x650 803084e: ed93 7b00 vldr d7, [r3] 8030852: eeb1 5b00 vmov.f64 d5, #16 ; 0x40800000 4.0 8030856: ee27 5b05 vmul.f64 d5, d7, d5 803085a: f507 63d1 add.w r3, r7, #1672 ; 0x688 803085e: ed93 7b00 vldr d7, [r3] 8030862: e003 b.n 803086c 8030864: 20025918 .word 0x20025918 8030868: 3ff00000 .word 0x3ff00000 803086c: ee25 7b07 vmul.f64 d7, d5, d7 8030870: ee36 6b07 vadd.f64 d6, d6, d7 8030874: f507 63c9 add.w r3, r7, #1608 ; 0x648 8030878: ed93 7b00 vldr d7, [r3] 803087c: ee37 5b07 vadd.f64 d5, d7, d7 8030880: f507 63cf add.w r3, r7, #1656 ; 0x678 8030884: ed93 7b00 vldr d7, [r3] 8030888: ee25 7b07 vmul.f64 d7, d5, d7 803088c: ee36 5b47 vsub.f64 d5, d6, d7 8030890: f507 63c8 add.w r3, r7, #1600 ; 0x640 8030894: ed93 7b00 vldr d7, [r3] 8030898: ee85 6b07 vdiv.f64 d6, d5, d7 803089c: f507 63cc add.w r3, r7, #1632 ; 0x660 80308a0: ed93 7b00 vldr d7, [r3] 80308a4: ee26 5b07 vmul.f64 d5, d6, d7 80308a8: f507 63c9 add.w r3, r7, #1608 ; 0x648 80308ac: ed93 6b00 vldr d6, [r3] 80308b0: ee85 7b06 vdiv.f64 d7, d5, d6 80308b4: f507 6293 add.w r2, r7, #1176 ; 0x498 80308b8: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 80308bc: 00db lsls r3, r3, #3 80308be: 4413 add r3, r2 80308c0: ed83 7b00 vstr d7, [r3] b1[k] = (2.0*E*Q*T*T - 8.0*E*Q) / Arg * C/F; 80308c4: f507 63ca add.w r3, r7, #1616 ; 0x650 80308c8: ed93 7b00 vldr d7, [r3] 80308cc: ee37 6b07 vadd.f64 d6, d7, d7 80308d0: f507 63d1 add.w r3, r7, #1672 ; 0x688 80308d4: ed93 7b00 vldr d7, [r3] 80308d8: ee26 6b07 vmul.f64 d6, d6, d7 80308dc: f507 63cf add.w r3, r7, #1656 ; 0x678 80308e0: ed93 7b00 vldr d7, [r3] 80308e4: ee26 6b07 vmul.f64 d6, d6, d7 80308e8: f507 63cf add.w r3, r7, #1656 ; 0x678 80308ec: ed93 7b00 vldr d7, [r3] 80308f0: ee26 6b07 vmul.f64 d6, d6, d7 80308f4: f507 63ca add.w r3, r7, #1616 ; 0x650 80308f8: ed93 7b00 vldr d7, [r3] 80308fc: eeb2 5b00 vmov.f64 d5, #32 ; 0x41000000 8.0 8030900: ee27 5b05 vmul.f64 d5, d7, d5 8030904: f507 63d1 add.w r3, r7, #1672 ; 0x688 8030908: ed93 7b00 vldr d7, [r3] 803090c: ee25 7b07 vmul.f64 d7, d5, d7 8030910: ee36 5b47 vsub.f64 d5, d6, d7 8030914: f507 63c8 add.w r3, r7, #1600 ; 0x640 8030918: ed93 7b00 vldr d7, [r3] 803091c: ee85 6b07 vdiv.f64 d6, d5, d7 8030920: f507 63cc add.w r3, r7, #1632 ; 0x660 8030924: ed93 7b00 vldr d7, [r3] 8030928: ee26 5b07 vmul.f64 d5, d6, d7 803092c: f507 63c9 add.w r3, r7, #1608 ; 0x648 8030930: ed93 6b00 vldr d6, [r3] 8030934: ee85 7b06 vdiv.f64 d7, d5, d6 8030938: f507 6289 add.w r2, r7, #1096 ; 0x448 803093c: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8030940: 00db lsls r3, r3, #3 8030942: 4413 add r3, r2 8030944: ed83 7b00 vstr d7, [r3] b0[k] = (4.0*E*Q + 2.0*F*T + E*Q*T*T) / Arg * C/F; 8030948: f507 63ca add.w r3, r7, #1616 ; 0x650 803094c: ed93 7b00 vldr d7, [r3] 8030950: eeb1 6b00 vmov.f64 d6, #16 ; 0x40800000 4.0 8030954: ee27 6b06 vmul.f64 d6, d7, d6 8030958: f507 63d1 add.w r3, r7, #1672 ; 0x688 803095c: ed93 7b00 vldr d7, [r3] 8030960: ee26 6b07 vmul.f64 d6, d6, d7 8030964: f507 63c9 add.w r3, r7, #1608 ; 0x648 8030968: ed93 7b00 vldr d7, [r3] 803096c: ee37 5b07 vadd.f64 d5, d7, d7 8030970: f507 63cf add.w r3, r7, #1656 ; 0x678 8030974: ed93 7b00 vldr d7, [r3] 8030978: ee25 7b07 vmul.f64 d7, d5, d7 803097c: ee36 6b07 vadd.f64 d6, d6, d7 8030980: f507 63ca add.w r3, r7, #1616 ; 0x650 8030984: ed93 5b00 vldr d5, [r3] 8030988: f507 63d1 add.w r3, r7, #1672 ; 0x688 803098c: ed93 7b00 vldr d7, [r3] 8030990: ee25 5b07 vmul.f64 d5, d5, d7 8030994: f507 63cf add.w r3, r7, #1656 ; 0x678 8030998: ed93 7b00 vldr d7, [r3] 803099c: ee25 5b07 vmul.f64 d5, d5, d7 80309a0: f507 63cf add.w r3, r7, #1656 ; 0x678 80309a4: ed93 7b00 vldr d7, [r3] 80309a8: ee25 7b07 vmul.f64 d7, d5, d7 80309ac: ee36 5b07 vadd.f64 d5, d6, d7 80309b0: f507 63c8 add.w r3, r7, #1600 ; 0x640 80309b4: ed93 7b00 vldr d7, [r3] 80309b8: ee85 6b07 vdiv.f64 d6, d5, d7 80309bc: f507 63cc add.w r3, r7, #1632 ; 0x660 80309c0: ed93 7b00 vldr d7, [r3] 80309c4: ee26 5b07 vmul.f64 d5, d6, d7 80309c8: f507 63c9 add.w r3, r7, #1608 ; 0x648 80309cc: ed93 6b00 vldr d6, [r3] 80309d0: ee85 7b06 vdiv.f64 d7, d5, d6 80309d4: f507 727e add.w r2, r7, #1016 ; 0x3f8 80309d8: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 80309dc: 00db lsls r3, r3, #3 80309de: 4413 add r3, r2 80309e0: ed83 7b00 vstr d7, [r3] k++; 80309e4: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 80309e8: 3301 adds r3, #1 80309ea: f8c7 3698 str.w r3, [r7, #1688] ; 0x698 80309ee: f001 b8ca b.w 8031b86 } else //2 Poles { IIR.a4[j] = (16.0*A*Q*Q + A*Q*Q*T*T*T*T + 8.0*A*Q*Q*T*T - 2.0*B*Q*T*T*T - 8.0*B*Q*T + 4.0*C*T*T) * F; 80309f2: f507 63ce add.w r3, r7, #1648 ; 0x670 80309f6: ed93 7b00 vldr d7, [r3] 80309fa: eeb3 6b00 vmov.f64 d6, #48 ; 0x41800000 16.0 80309fe: ee27 6b06 vmul.f64 d6, d7, d6 8030a02: f507 63d1 add.w r3, r7, #1672 ; 0x688 8030a06: ed93 7b00 vldr d7, [r3] 8030a0a: ee26 6b07 vmul.f64 d6, d6, d7 8030a0e: f507 63d1 add.w r3, r7, #1672 ; 0x688 8030a12: ed93 7b00 vldr d7, [r3] 8030a16: ee26 6b07 vmul.f64 d6, d6, d7 8030a1a: f507 63ce add.w r3, r7, #1648 ; 0x670 8030a1e: ed93 5b00 vldr d5, [r3] 8030a22: f507 63d1 add.w r3, r7, #1672 ; 0x688 8030a26: ed93 7b00 vldr d7, [r3] 8030a2a: ee25 5b07 vmul.f64 d5, d5, d7 8030a2e: f507 63d1 add.w r3, r7, #1672 ; 0x688 8030a32: ed93 7b00 vldr d7, [r3] 8030a36: ee25 5b07 vmul.f64 d5, d5, d7 8030a3a: f507 63cf add.w r3, r7, #1656 ; 0x678 8030a3e: ed93 7b00 vldr d7, [r3] 8030a42: ee25 5b07 vmul.f64 d5, d5, d7 8030a46: f507 63cf add.w r3, r7, #1656 ; 0x678 8030a4a: ed93 7b00 vldr d7, [r3] 8030a4e: ee25 5b07 vmul.f64 d5, d5, d7 8030a52: f507 63cf add.w r3, r7, #1656 ; 0x678 8030a56: ed93 7b00 vldr d7, [r3] 8030a5a: ee25 5b07 vmul.f64 d5, d5, d7 8030a5e: f507 63cf add.w r3, r7, #1656 ; 0x678 8030a62: ed93 7b00 vldr d7, [r3] 8030a66: ee25 7b07 vmul.f64 d7, d5, d7 8030a6a: ee36 6b07 vadd.f64 d6, d6, d7 8030a6e: f507 63ce add.w r3, r7, #1648 ; 0x670 8030a72: ed93 7b00 vldr d7, [r3] 8030a76: eeb2 5b00 vmov.f64 d5, #32 ; 0x41000000 8.0 8030a7a: ee27 5b05 vmul.f64 d5, d7, d5 8030a7e: f507 63d1 add.w r3, r7, #1672 ; 0x688 8030a82: ed93 7b00 vldr d7, [r3] 8030a86: ee25 5b07 vmul.f64 d5, d5, d7 8030a8a: f507 63d1 add.w r3, r7, #1672 ; 0x688 8030a8e: ed93 7b00 vldr d7, [r3] 8030a92: ee25 5b07 vmul.f64 d5, d5, d7 8030a96: f507 63cf add.w r3, r7, #1656 ; 0x678 8030a9a: ed93 7b00 vldr d7, [r3] 8030a9e: ee25 5b07 vmul.f64 d5, d5, d7 8030aa2: f507 63cf add.w r3, r7, #1656 ; 0x678 8030aa6: ed93 7b00 vldr d7, [r3] 8030aaa: ee25 7b07 vmul.f64 d7, d5, d7 8030aae: ee36 6b07 vadd.f64 d6, d6, d7 8030ab2: f507 63cd add.w r3, r7, #1640 ; 0x668 8030ab6: ed93 7b00 vldr d7, [r3] 8030aba: ee37 5b07 vadd.f64 d5, d7, d7 8030abe: f507 63d1 add.w r3, r7, #1672 ; 0x688 8030ac2: ed93 7b00 vldr d7, [r3] 8030ac6: ee25 5b07 vmul.f64 d5, d5, d7 8030aca: f507 63cf add.w r3, r7, #1656 ; 0x678 8030ace: ed93 7b00 vldr d7, [r3] 8030ad2: ee25 5b07 vmul.f64 d5, d5, d7 8030ad6: f507 63cf add.w r3, r7, #1656 ; 0x678 8030ada: ed93 7b00 vldr d7, [r3] 8030ade: ee25 5b07 vmul.f64 d5, d5, d7 8030ae2: f507 63cf add.w r3, r7, #1656 ; 0x678 8030ae6: ed93 7b00 vldr d7, [r3] 8030aea: ee25 7b07 vmul.f64 d7, d5, d7 8030aee: ee36 6b47 vsub.f64 d6, d6, d7 8030af2: f507 63cd add.w r3, r7, #1640 ; 0x668 8030af6: ed93 7b00 vldr d7, [r3] 8030afa: eeb2 5b00 vmov.f64 d5, #32 ; 0x41000000 8.0 8030afe: ee27 5b05 vmul.f64 d5, d7, d5 8030b02: f507 63d1 add.w r3, r7, #1672 ; 0x688 8030b06: ed93 7b00 vldr d7, [r3] 8030b0a: ee25 5b07 vmul.f64 d5, d5, d7 8030b0e: f507 63cf add.w r3, r7, #1656 ; 0x678 8030b12: ed93 7b00 vldr d7, [r3] 8030b16: ee25 7b07 vmul.f64 d7, d5, d7 8030b1a: ee36 6b47 vsub.f64 d6, d6, d7 8030b1e: f507 63cc add.w r3, r7, #1632 ; 0x660 8030b22: ed93 7b00 vldr d7, [r3] 8030b26: eeb1 5b00 vmov.f64 d5, #16 ; 0x40800000 4.0 8030b2a: ee27 5b05 vmul.f64 d5, d7, d5 8030b2e: f507 63cf add.w r3, r7, #1656 ; 0x678 8030b32: ed93 7b00 vldr d7, [r3] 8030b36: ee25 5b07 vmul.f64 d5, d5, d7 8030b3a: f507 63cf add.w r3, r7, #1656 ; 0x678 8030b3e: ed93 7b00 vldr d7, [r3] 8030b42: ee25 7b07 vmul.f64 d7, d5, d7 8030b46: ee36 6b07 vadd.f64 d6, d6, d7 8030b4a: f507 63c9 add.w r3, r7, #1608 ; 0x648 8030b4e: ed93 7b00 vldr d7, [r3] 8030b52: ee26 7b07 vmul.f64 d7, d6, d7 8030b56: 4afc ldr r2, [pc, #1008] ; (8030f48 ) 8030b58: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8030b5c: 3328 adds r3, #40 ; 0x28 8030b5e: 00db lsls r3, r3, #3 8030b60: 4413 add r3, r2 8030b62: ed83 7b00 vstr d7, [r3] IIR.a3[j] = (4.0*T*T*T*T*A*Q*Q - 4.0*Q*T*T*T*B + 16.0*Q*B*T - 64.0*A*Q*Q) * F; 8030b66: f507 63cf add.w r3, r7, #1656 ; 0x678 8030b6a: ed93 7b00 vldr d7, [r3] 8030b6e: eeb1 6b00 vmov.f64 d6, #16 ; 0x40800000 4.0 8030b72: ee27 6b06 vmul.f64 d6, d7, d6 8030b76: f507 63cf add.w r3, r7, #1656 ; 0x678 8030b7a: ed93 7b00 vldr d7, [r3] 8030b7e: ee26 6b07 vmul.f64 d6, d6, d7 8030b82: f507 63cf add.w r3, r7, #1656 ; 0x678 8030b86: ed93 7b00 vldr d7, [r3] 8030b8a: ee26 6b07 vmul.f64 d6, d6, d7 8030b8e: f507 63cf add.w r3, r7, #1656 ; 0x678 8030b92: ed93 7b00 vldr d7, [r3] 8030b96: ee26 6b07 vmul.f64 d6, d6, d7 8030b9a: f507 63ce add.w r3, r7, #1648 ; 0x670 8030b9e: ed93 7b00 vldr d7, [r3] 8030ba2: ee26 6b07 vmul.f64 d6, d6, d7 8030ba6: f507 63d1 add.w r3, r7, #1672 ; 0x688 8030baa: ed93 7b00 vldr d7, [r3] 8030bae: ee26 6b07 vmul.f64 d6, d6, d7 8030bb2: f507 63d1 add.w r3, r7, #1672 ; 0x688 8030bb6: ed93 7b00 vldr d7, [r3] 8030bba: ee26 6b07 vmul.f64 d6, d6, d7 8030bbe: f507 63d1 add.w r3, r7, #1672 ; 0x688 8030bc2: ed93 7b00 vldr d7, [r3] 8030bc6: eeb1 5b00 vmov.f64 d5, #16 ; 0x40800000 4.0 8030bca: ee27 5b05 vmul.f64 d5, d7, d5 8030bce: f507 63cf add.w r3, r7, #1656 ; 0x678 8030bd2: ed93 7b00 vldr d7, [r3] 8030bd6: ee25 5b07 vmul.f64 d5, d5, d7 8030bda: f507 63cf add.w r3, r7, #1656 ; 0x678 8030bde: ed93 7b00 vldr d7, [r3] 8030be2: ee25 5b07 vmul.f64 d5, d5, d7 8030be6: f507 63cf add.w r3, r7, #1656 ; 0x678 8030bea: ed93 7b00 vldr d7, [r3] 8030bee: ee25 5b07 vmul.f64 d5, d5, d7 8030bf2: f507 63cd add.w r3, r7, #1640 ; 0x668 8030bf6: ed93 7b00 vldr d7, [r3] 8030bfa: ee25 7b07 vmul.f64 d7, d5, d7 8030bfe: ee36 6b47 vsub.f64 d6, d6, d7 8030c02: f507 63d1 add.w r3, r7, #1672 ; 0x688 8030c06: ed93 7b00 vldr d7, [r3] 8030c0a: eeb3 5b00 vmov.f64 d5, #48 ; 0x41800000 16.0 8030c0e: ee27 5b05 vmul.f64 d5, d7, d5 8030c12: f507 63cd add.w r3, r7, #1640 ; 0x668 8030c16: ed93 7b00 vldr d7, [r3] 8030c1a: ee25 5b07 vmul.f64 d5, d5, d7 8030c1e: f507 63cf add.w r3, r7, #1656 ; 0x678 8030c22: ed93 7b00 vldr d7, [r3] 8030c26: ee25 7b07 vmul.f64 d7, d5, d7 8030c2a: ee36 6b07 vadd.f64 d6, d6, d7 8030c2e: f507 63ce add.w r3, r7, #1648 ; 0x670 8030c32: ed93 7b00 vldr d7, [r3] 8030c36: ed9f 5bc0 vldr d5, [pc, #768] ; 8030f38 8030c3a: ee27 5b05 vmul.f64 d5, d7, d5 8030c3e: f507 63d1 add.w r3, r7, #1672 ; 0x688 8030c42: ed93 7b00 vldr d7, [r3] 8030c46: ee25 5b07 vmul.f64 d5, d5, d7 8030c4a: f507 63d1 add.w r3, r7, #1672 ; 0x688 8030c4e: ed93 7b00 vldr d7, [r3] 8030c52: ee25 7b07 vmul.f64 d7, d5, d7 8030c56: ee36 6b47 vsub.f64 d6, d6, d7 8030c5a: f507 63c9 add.w r3, r7, #1608 ; 0x648 8030c5e: ed93 7b00 vldr d7, [r3] 8030c62: ee26 7b07 vmul.f64 d7, d6, d7 8030c66: 4ab8 ldr r2, [pc, #736] ; (8030f48 ) 8030c68: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8030c6c: 331e adds r3, #30 8030c6e: 00db lsls r3, r3, #3 8030c70: 4413 add r3, r2 8030c72: ed83 7b00 vstr d7, [r3] IIR.a2[j] = (96.0*A*Q*Q - 16.0*A*Q*Q*T*T + 6.0*A*Q*Q*T*T*T*T - 8.0*C*T*T) * F; 8030c76: f507 63ce add.w r3, r7, #1648 ; 0x670 8030c7a: ed93 7b00 vldr d7, [r3] 8030c7e: ed9f 6bb0 vldr d6, [pc, #704] ; 8030f40 8030c82: ee27 6b06 vmul.f64 d6, d7, d6 8030c86: f507 63d1 add.w r3, r7, #1672 ; 0x688 8030c8a: ed93 7b00 vldr d7, [r3] 8030c8e: ee26 6b07 vmul.f64 d6, d6, d7 8030c92: f507 63d1 add.w r3, r7, #1672 ; 0x688 8030c96: ed93 7b00 vldr d7, [r3] 8030c9a: ee26 6b07 vmul.f64 d6, d6, d7 8030c9e: f507 63ce add.w r3, r7, #1648 ; 0x670 8030ca2: ed93 7b00 vldr d7, [r3] 8030ca6: eeb3 5b00 vmov.f64 d5, #48 ; 0x41800000 16.0 8030caa: ee27 5b05 vmul.f64 d5, d7, d5 8030cae: f507 63d1 add.w r3, r7, #1672 ; 0x688 8030cb2: ed93 7b00 vldr d7, [r3] 8030cb6: ee25 5b07 vmul.f64 d5, d5, d7 8030cba: f507 63d1 add.w r3, r7, #1672 ; 0x688 8030cbe: ed93 7b00 vldr d7, [r3] 8030cc2: ee25 5b07 vmul.f64 d5, d5, d7 8030cc6: f507 63cf add.w r3, r7, #1656 ; 0x678 8030cca: ed93 7b00 vldr d7, [r3] 8030cce: ee25 5b07 vmul.f64 d5, d5, d7 8030cd2: f507 63cf add.w r3, r7, #1656 ; 0x678 8030cd6: ed93 7b00 vldr d7, [r3] 8030cda: ee25 7b07 vmul.f64 d7, d5, d7 8030cde: ee36 6b47 vsub.f64 d6, d6, d7 8030ce2: f507 63ce add.w r3, r7, #1648 ; 0x670 8030ce6: ed93 7b00 vldr d7, [r3] 8030cea: eeb1 5b08 vmov.f64 d5, #24 ; 0x40c00000 6.0 8030cee: ee27 5b05 vmul.f64 d5, d7, d5 8030cf2: f507 63d1 add.w r3, r7, #1672 ; 0x688 8030cf6: ed93 7b00 vldr d7, [r3] 8030cfa: ee25 5b07 vmul.f64 d5, d5, d7 8030cfe: f507 63d1 add.w r3, r7, #1672 ; 0x688 8030d02: ed93 7b00 vldr d7, [r3] 8030d06: ee25 5b07 vmul.f64 d5, d5, d7 8030d0a: f507 63cf add.w r3, r7, #1656 ; 0x678 8030d0e: ed93 7b00 vldr d7, [r3] 8030d12: ee25 5b07 vmul.f64 d5, d5, d7 8030d16: f507 63cf add.w r3, r7, #1656 ; 0x678 8030d1a: ed93 7b00 vldr d7, [r3] 8030d1e: ee25 5b07 vmul.f64 d5, d5, d7 8030d22: f507 63cf add.w r3, r7, #1656 ; 0x678 8030d26: ed93 7b00 vldr d7, [r3] 8030d2a: ee25 5b07 vmul.f64 d5, d5, d7 8030d2e: f507 63cf add.w r3, r7, #1656 ; 0x678 8030d32: ed93 7b00 vldr d7, [r3] 8030d36: ee25 7b07 vmul.f64 d7, d5, d7 8030d3a: ee36 6b07 vadd.f64 d6, d6, d7 8030d3e: f507 63cc add.w r3, r7, #1632 ; 0x660 8030d42: ed93 7b00 vldr d7, [r3] 8030d46: eeb2 5b00 vmov.f64 d5, #32 ; 0x41000000 8.0 8030d4a: ee27 5b05 vmul.f64 d5, d7, d5 8030d4e: f507 63cf add.w r3, r7, #1656 ; 0x678 8030d52: ed93 7b00 vldr d7, [r3] 8030d56: ee25 5b07 vmul.f64 d5, d5, d7 8030d5a: f507 63cf add.w r3, r7, #1656 ; 0x678 8030d5e: ed93 7b00 vldr d7, [r3] 8030d62: ee25 7b07 vmul.f64 d7, d5, d7 8030d66: ee36 6b47 vsub.f64 d6, d6, d7 8030d6a: f507 63c9 add.w r3, r7, #1608 ; 0x648 8030d6e: ed93 7b00 vldr d7, [r3] 8030d72: ee26 7b07 vmul.f64 d7, d6, d7 8030d76: 4a74 ldr r2, [pc, #464] ; (8030f48 ) 8030d78: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8030d7c: 3314 adds r3, #20 8030d7e: 00db lsls r3, r3, #3 8030d80: 4413 add r3, r2 8030d82: ed83 7b00 vstr d7, [r3] IIR.a1[j] = (4.0*T*T*T*T*A*Q*Q + 4.0*Q*T*T*T*B - 16.0*Q*B*T - 64.0*A*Q*Q) * F; 8030d86: f507 63cf add.w r3, r7, #1656 ; 0x678 8030d8a: ed93 7b00 vldr d7, [r3] 8030d8e: eeb1 6b00 vmov.f64 d6, #16 ; 0x40800000 4.0 8030d92: ee27 6b06 vmul.f64 d6, d7, d6 8030d96: f507 63cf add.w r3, r7, #1656 ; 0x678 8030d9a: ed93 7b00 vldr d7, [r3] 8030d9e: ee26 6b07 vmul.f64 d6, d6, d7 8030da2: f507 63cf add.w r3, r7, #1656 ; 0x678 8030da6: ed93 7b00 vldr d7, [r3] 8030daa: ee26 6b07 vmul.f64 d6, d6, d7 8030dae: f507 63cf add.w r3, r7, #1656 ; 0x678 8030db2: ed93 7b00 vldr d7, [r3] 8030db6: ee26 6b07 vmul.f64 d6, d6, d7 8030dba: f507 63ce add.w r3, r7, #1648 ; 0x670 8030dbe: ed93 7b00 vldr d7, [r3] 8030dc2: ee26 6b07 vmul.f64 d6, d6, d7 8030dc6: f507 63d1 add.w r3, r7, #1672 ; 0x688 8030dca: ed93 7b00 vldr d7, [r3] 8030dce: ee26 6b07 vmul.f64 d6, d6, d7 8030dd2: f507 63d1 add.w r3, r7, #1672 ; 0x688 8030dd6: ed93 7b00 vldr d7, [r3] 8030dda: ee26 6b07 vmul.f64 d6, d6, d7 8030dde: f507 63d1 add.w r3, r7, #1672 ; 0x688 8030de2: ed93 7b00 vldr d7, [r3] 8030de6: eeb1 5b00 vmov.f64 d5, #16 ; 0x40800000 4.0 8030dea: ee27 5b05 vmul.f64 d5, d7, d5 8030dee: f507 63cf add.w r3, r7, #1656 ; 0x678 8030df2: ed93 7b00 vldr d7, [r3] 8030df6: ee25 5b07 vmul.f64 d5, d5, d7 8030dfa: f507 63cf add.w r3, r7, #1656 ; 0x678 8030dfe: ed93 7b00 vldr d7, [r3] 8030e02: ee25 5b07 vmul.f64 d5, d5, d7 8030e06: f507 63cf add.w r3, r7, #1656 ; 0x678 8030e0a: ed93 7b00 vldr d7, [r3] 8030e0e: ee25 5b07 vmul.f64 d5, d5, d7 8030e12: f507 63cd add.w r3, r7, #1640 ; 0x668 8030e16: ed93 7b00 vldr d7, [r3] 8030e1a: ee25 7b07 vmul.f64 d7, d5, d7 8030e1e: ee36 6b07 vadd.f64 d6, d6, d7 8030e22: f507 63d1 add.w r3, r7, #1672 ; 0x688 8030e26: ed93 7b00 vldr d7, [r3] 8030e2a: eeb3 5b00 vmov.f64 d5, #48 ; 0x41800000 16.0 8030e2e: ee27 5b05 vmul.f64 d5, d7, d5 8030e32: f507 63cd add.w r3, r7, #1640 ; 0x668 8030e36: ed93 7b00 vldr d7, [r3] 8030e3a: ee25 5b07 vmul.f64 d5, d5, d7 8030e3e: f507 63cf add.w r3, r7, #1656 ; 0x678 8030e42: ed93 7b00 vldr d7, [r3] 8030e46: ee25 7b07 vmul.f64 d7, d5, d7 8030e4a: ee36 6b47 vsub.f64 d6, d6, d7 8030e4e: f507 63ce add.w r3, r7, #1648 ; 0x670 8030e52: ed93 7b00 vldr d7, [r3] 8030e56: ed9f 5b38 vldr d5, [pc, #224] ; 8030f38 8030e5a: ee27 5b05 vmul.f64 d5, d7, d5 8030e5e: f507 63d1 add.w r3, r7, #1672 ; 0x688 8030e62: ed93 7b00 vldr d7, [r3] 8030e66: ee25 5b07 vmul.f64 d5, d5, d7 8030e6a: f507 63d1 add.w r3, r7, #1672 ; 0x688 8030e6e: ed93 7b00 vldr d7, [r3] 8030e72: ee25 7b07 vmul.f64 d7, d5, d7 8030e76: ee36 6b47 vsub.f64 d6, d6, d7 8030e7a: f507 63c9 add.w r3, r7, #1608 ; 0x648 8030e7e: ed93 7b00 vldr d7, [r3] 8030e82: ee26 7b07 vmul.f64 d7, d6, d7 8030e86: 4a30 ldr r2, [pc, #192] ; (8030f48 ) 8030e88: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8030e8c: 330a adds r3, #10 8030e8e: 00db lsls r3, r3, #3 8030e90: 4413 add r3, r2 8030e92: ed83 7b00 vstr d7, [r3] IIR.a0[j] = (16.0*A*Q*Q + A*Q*Q*T*T*T*T + 8.0*A*Q*Q*T*T + 2.0*B*Q*T*T*T + 8.0*B*Q*T + 4.0*C*T*T) * F; 8030e96: f507 63ce add.w r3, r7, #1648 ; 0x670 8030e9a: ed93 7b00 vldr d7, [r3] 8030e9e: eeb3 6b00 vmov.f64 d6, #48 ; 0x41800000 16.0 8030ea2: ee27 6b06 vmul.f64 d6, d7, d6 8030ea6: f507 63d1 add.w r3, r7, #1672 ; 0x688 8030eaa: ed93 7b00 vldr d7, [r3] 8030eae: ee26 6b07 vmul.f64 d6, d6, d7 8030eb2: f507 63d1 add.w r3, r7, #1672 ; 0x688 8030eb6: ed93 7b00 vldr d7, [r3] 8030eba: ee26 6b07 vmul.f64 d6, d6, d7 8030ebe: f507 63ce add.w r3, r7, #1648 ; 0x670 8030ec2: ed93 5b00 vldr d5, [r3] 8030ec6: f507 63d1 add.w r3, r7, #1672 ; 0x688 8030eca: ed93 7b00 vldr d7, [r3] 8030ece: ee25 5b07 vmul.f64 d5, d5, d7 8030ed2: f507 63d1 add.w r3, r7, #1672 ; 0x688 8030ed6: ed93 7b00 vldr d7, [r3] 8030eda: ee25 5b07 vmul.f64 d5, d5, d7 8030ede: f507 63cf add.w r3, r7, #1656 ; 0x678 8030ee2: ed93 7b00 vldr d7, [r3] 8030ee6: ee25 5b07 vmul.f64 d5, d5, d7 8030eea: f507 63cf add.w r3, r7, #1656 ; 0x678 8030eee: ed93 7b00 vldr d7, [r3] 8030ef2: ee25 5b07 vmul.f64 d5, d5, d7 8030ef6: f507 63cf add.w r3, r7, #1656 ; 0x678 8030efa: ed93 7b00 vldr d7, [r3] 8030efe: ee25 5b07 vmul.f64 d5, d5, d7 8030f02: f507 63cf add.w r3, r7, #1656 ; 0x678 8030f06: ed93 7b00 vldr d7, [r3] 8030f0a: ee25 7b07 vmul.f64 d7, d5, d7 8030f0e: ee36 6b07 vadd.f64 d6, d6, d7 8030f12: f507 63ce add.w r3, r7, #1648 ; 0x670 8030f16: ed93 7b00 vldr d7, [r3] 8030f1a: eeb2 5b00 vmov.f64 d5, #32 ; 0x41000000 8.0 8030f1e: ee27 5b05 vmul.f64 d5, d7, d5 8030f22: f507 63d1 add.w r3, r7, #1672 ; 0x688 8030f26: ed93 7b00 vldr d7, [r3] 8030f2a: ee25 5b07 vmul.f64 d5, d5, d7 8030f2e: f507 63d1 add.w r3, r7, #1672 ; 0x688 8030f32: e00b b.n 8030f4c 8030f34: f3af 8000 nop.w 8030f38: 00000000 .word 0x00000000 8030f3c: 40500000 .word 0x40500000 8030f40: 00000000 .word 0x00000000 8030f44: 40580000 .word 0x40580000 8030f48: 20025918 .word 0x20025918 8030f4c: ed93 7b00 vldr d7, [r3] 8030f50: ee25 5b07 vmul.f64 d5, d5, d7 8030f54: f507 63cf add.w r3, r7, #1656 ; 0x678 8030f58: ed93 7b00 vldr d7, [r3] 8030f5c: ee25 5b07 vmul.f64 d5, d5, d7 8030f60: f507 63cf add.w r3, r7, #1656 ; 0x678 8030f64: ed93 7b00 vldr d7, [r3] 8030f68: ee25 7b07 vmul.f64 d7, d5, d7 8030f6c: ee36 6b07 vadd.f64 d6, d6, d7 8030f70: f507 63cd add.w r3, r7, #1640 ; 0x668 8030f74: ed93 7b00 vldr d7, [r3] 8030f78: ee37 5b07 vadd.f64 d5, d7, d7 8030f7c: f507 63d1 add.w r3, r7, #1672 ; 0x688 8030f80: ed93 7b00 vldr d7, [r3] 8030f84: ee25 5b07 vmul.f64 d5, d5, d7 8030f88: f507 63cf add.w r3, r7, #1656 ; 0x678 8030f8c: ed93 7b00 vldr d7, [r3] 8030f90: ee25 5b07 vmul.f64 d5, d5, d7 8030f94: f507 63cf add.w r3, r7, #1656 ; 0x678 8030f98: ed93 7b00 vldr d7, [r3] 8030f9c: ee25 5b07 vmul.f64 d5, d5, d7 8030fa0: f507 63cf add.w r3, r7, #1656 ; 0x678 8030fa4: ed93 7b00 vldr d7, [r3] 8030fa8: ee25 7b07 vmul.f64 d7, d5, d7 8030fac: ee36 6b07 vadd.f64 d6, d6, d7 8030fb0: f507 63cd add.w r3, r7, #1640 ; 0x668 8030fb4: ed93 7b00 vldr d7, [r3] 8030fb8: eeb2 5b00 vmov.f64 d5, #32 ; 0x41000000 8.0 8030fbc: ee27 5b05 vmul.f64 d5, d7, d5 8030fc0: f507 63d1 add.w r3, r7, #1672 ; 0x688 8030fc4: ed93 7b00 vldr d7, [r3] 8030fc8: ee25 5b07 vmul.f64 d5, d5, d7 8030fcc: f507 63cf add.w r3, r7, #1656 ; 0x678 8030fd0: ed93 7b00 vldr d7, [r3] 8030fd4: ee25 7b07 vmul.f64 d7, d5, d7 8030fd8: ee36 6b07 vadd.f64 d6, d6, d7 8030fdc: f507 63cc add.w r3, r7, #1632 ; 0x660 8030fe0: ed93 7b00 vldr d7, [r3] 8030fe4: eeb1 5b00 vmov.f64 d5, #16 ; 0x40800000 4.0 8030fe8: ee27 5b05 vmul.f64 d5, d7, d5 8030fec: f507 63cf add.w r3, r7, #1656 ; 0x678 8030ff0: ed93 7b00 vldr d7, [r3] 8030ff4: ee25 5b07 vmul.f64 d5, d5, d7 8030ff8: f507 63cf add.w r3, r7, #1656 ; 0x678 8030ffc: ed93 7b00 vldr d7, [r3] 8031000: ee25 7b07 vmul.f64 d7, d5, d7 8031004: ee36 6b07 vadd.f64 d6, d6, d7 8031008: f507 63c9 add.w r3, r7, #1608 ; 0x648 803100c: ed93 7b00 vldr d7, [r3] 8031010: ee26 7b07 vmul.f64 d7, d6, d7 8031014: 4afa ldr r2, [pc, #1000] ; (8031400 ) 8031016: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 803101a: 00db lsls r3, r3, #3 803101c: 4413 add r3, r2 803101e: ed83 7b00 vstr d7, [r3] // With all pole filters, our BPF numerator is (z-1)^2 * (z+1)^2 so the zeros come back as +/- 1 pairs IIR.b4[j] = (8.0*D*Q*Q*T*T - 8.0*E*Q*T + 16.0*D*Q*Q - 2.0*E*Q*T*T*T + D*Q*Q*T*T*T*T + 4.0*F*T*T) * C; 8031022: f507 63cb add.w r3, r7, #1624 ; 0x658 8031026: ed93 7b00 vldr d7, [r3] 803102a: eeb2 6b00 vmov.f64 d6, #32 ; 0x41000000 8.0 803102e: ee27 6b06 vmul.f64 d6, d7, d6 8031032: f507 63d1 add.w r3, r7, #1672 ; 0x688 8031036: ed93 7b00 vldr d7, [r3] 803103a: ee26 6b07 vmul.f64 d6, d6, d7 803103e: f507 63d1 add.w r3, r7, #1672 ; 0x688 8031042: ed93 7b00 vldr d7, [r3] 8031046: ee26 6b07 vmul.f64 d6, d6, d7 803104a: f507 63cf add.w r3, r7, #1656 ; 0x678 803104e: ed93 7b00 vldr d7, [r3] 8031052: ee26 6b07 vmul.f64 d6, d6, d7 8031056: f507 63cf add.w r3, r7, #1656 ; 0x678 803105a: ed93 7b00 vldr d7, [r3] 803105e: ee26 6b07 vmul.f64 d6, d6, d7 8031062: f507 63ca add.w r3, r7, #1616 ; 0x650 8031066: ed93 7b00 vldr d7, [r3] 803106a: eeb2 5b00 vmov.f64 d5, #32 ; 0x41000000 8.0 803106e: ee27 5b05 vmul.f64 d5, d7, d5 8031072: f507 63d1 add.w r3, r7, #1672 ; 0x688 8031076: ed93 7b00 vldr d7, [r3] 803107a: ee25 5b07 vmul.f64 d5, d5, d7 803107e: f507 63cf add.w r3, r7, #1656 ; 0x678 8031082: ed93 7b00 vldr d7, [r3] 8031086: ee25 7b07 vmul.f64 d7, d5, d7 803108a: ee36 6b47 vsub.f64 d6, d6, d7 803108e: f507 63cb add.w r3, r7, #1624 ; 0x658 8031092: ed93 7b00 vldr d7, [r3] 8031096: eeb3 5b00 vmov.f64 d5, #48 ; 0x41800000 16.0 803109a: ee27 5b05 vmul.f64 d5, d7, d5 803109e: f507 63d1 add.w r3, r7, #1672 ; 0x688 80310a2: ed93 7b00 vldr d7, [r3] 80310a6: ee25 5b07 vmul.f64 d5, d5, d7 80310aa: f507 63d1 add.w r3, r7, #1672 ; 0x688 80310ae: ed93 7b00 vldr d7, [r3] 80310b2: ee25 7b07 vmul.f64 d7, d5, d7 80310b6: ee36 6b07 vadd.f64 d6, d6, d7 80310ba: f507 63ca add.w r3, r7, #1616 ; 0x650 80310be: ed93 7b00 vldr d7, [r3] 80310c2: ee37 5b07 vadd.f64 d5, d7, d7 80310c6: f507 63d1 add.w r3, r7, #1672 ; 0x688 80310ca: ed93 7b00 vldr d7, [r3] 80310ce: ee25 5b07 vmul.f64 d5, d5, d7 80310d2: f507 63cf add.w r3, r7, #1656 ; 0x678 80310d6: ed93 7b00 vldr d7, [r3] 80310da: ee25 5b07 vmul.f64 d5, d5, d7 80310de: f507 63cf add.w r3, r7, #1656 ; 0x678 80310e2: ed93 7b00 vldr d7, [r3] 80310e6: ee25 5b07 vmul.f64 d5, d5, d7 80310ea: f507 63cf add.w r3, r7, #1656 ; 0x678 80310ee: ed93 7b00 vldr d7, [r3] 80310f2: ee25 7b07 vmul.f64 d7, d5, d7 80310f6: ee36 6b47 vsub.f64 d6, d6, d7 80310fa: f507 63cb add.w r3, r7, #1624 ; 0x658 80310fe: ed93 5b00 vldr d5, [r3] 8031102: f507 63d1 add.w r3, r7, #1672 ; 0x688 8031106: ed93 7b00 vldr d7, [r3] 803110a: ee25 5b07 vmul.f64 d5, d5, d7 803110e: f507 63d1 add.w r3, r7, #1672 ; 0x688 8031112: ed93 7b00 vldr d7, [r3] 8031116: ee25 5b07 vmul.f64 d5, d5, d7 803111a: f507 63cf add.w r3, r7, #1656 ; 0x678 803111e: ed93 7b00 vldr d7, [r3] 8031122: ee25 5b07 vmul.f64 d5, d5, d7 8031126: f507 63cf add.w r3, r7, #1656 ; 0x678 803112a: ed93 7b00 vldr d7, [r3] 803112e: ee25 5b07 vmul.f64 d5, d5, d7 8031132: f507 63cf add.w r3, r7, #1656 ; 0x678 8031136: ed93 7b00 vldr d7, [r3] 803113a: ee25 5b07 vmul.f64 d5, d5, d7 803113e: f507 63cf add.w r3, r7, #1656 ; 0x678 8031142: ed93 7b00 vldr d7, [r3] 8031146: ee25 7b07 vmul.f64 d7, d5, d7 803114a: ee36 6b07 vadd.f64 d6, d6, d7 803114e: f507 63c9 add.w r3, r7, #1608 ; 0x648 8031152: ed93 7b00 vldr d7, [r3] 8031156: eeb1 5b00 vmov.f64 d5, #16 ; 0x40800000 4.0 803115a: ee27 5b05 vmul.f64 d5, d7, d5 803115e: f507 63cf add.w r3, r7, #1656 ; 0x678 8031162: ed93 7b00 vldr d7, [r3] 8031166: ee25 5b07 vmul.f64 d5, d5, d7 803116a: f507 63cf add.w r3, r7, #1656 ; 0x678 803116e: ed93 7b00 vldr d7, [r3] 8031172: ee25 7b07 vmul.f64 d7, d5, d7 8031176: ee36 6b07 vadd.f64 d6, d6, d7 803117a: f507 63cc add.w r3, r7, #1632 ; 0x660 803117e: ed93 7b00 vldr d7, [r3] 8031182: ee26 7b07 vmul.f64 d7, d6, d7 8031186: 4a9e ldr r2, [pc, #632] ; (8031400 ) 8031188: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 803118c: 335a adds r3, #90 ; 0x5a 803118e: 00db lsls r3, r3, #3 8031190: 4413 add r3, r2 8031192: ed83 7b00 vstr d7, [r3] IIR.b3[j] = (16.0*E*Q*T - 4.0*E*Q*T*T*T - 64.0*D*Q*Q + 4.0*D*Q*Q*T*T*T*T) * C; 8031196: f507 63ca add.w r3, r7, #1616 ; 0x650 803119a: ed93 7b00 vldr d7, [r3] 803119e: eeb3 6b00 vmov.f64 d6, #48 ; 0x41800000 16.0 80311a2: ee27 6b06 vmul.f64 d6, d7, d6 80311a6: f507 63d1 add.w r3, r7, #1672 ; 0x688 80311aa: ed93 7b00 vldr d7, [r3] 80311ae: ee26 6b07 vmul.f64 d6, d6, d7 80311b2: f507 63cf add.w r3, r7, #1656 ; 0x678 80311b6: ed93 7b00 vldr d7, [r3] 80311ba: ee26 6b07 vmul.f64 d6, d6, d7 80311be: f507 63ca add.w r3, r7, #1616 ; 0x650 80311c2: ed93 7b00 vldr d7, [r3] 80311c6: eeb1 5b00 vmov.f64 d5, #16 ; 0x40800000 4.0 80311ca: ee27 5b05 vmul.f64 d5, d7, d5 80311ce: f507 63d1 add.w r3, r7, #1672 ; 0x688 80311d2: ed93 7b00 vldr d7, [r3] 80311d6: ee25 5b07 vmul.f64 d5, d5, d7 80311da: f507 63cf add.w r3, r7, #1656 ; 0x678 80311de: ed93 7b00 vldr d7, [r3] 80311e2: ee25 5b07 vmul.f64 d5, d5, d7 80311e6: f507 63cf add.w r3, r7, #1656 ; 0x678 80311ea: ed93 7b00 vldr d7, [r3] 80311ee: ee25 5b07 vmul.f64 d5, d5, d7 80311f2: f507 63cf add.w r3, r7, #1656 ; 0x678 80311f6: ed93 7b00 vldr d7, [r3] 80311fa: ee25 7b07 vmul.f64 d7, d5, d7 80311fe: ee36 6b47 vsub.f64 d6, d6, d7 8031202: f507 63cb add.w r3, r7, #1624 ; 0x658 8031206: ed93 7b00 vldr d7, [r3] 803120a: ed9f 5b79 vldr d5, [pc, #484] ; 80313f0 803120e: ee27 5b05 vmul.f64 d5, d7, d5 8031212: f507 63d1 add.w r3, r7, #1672 ; 0x688 8031216: ed93 7b00 vldr d7, [r3] 803121a: ee25 5b07 vmul.f64 d5, d5, d7 803121e: f507 63d1 add.w r3, r7, #1672 ; 0x688 8031222: ed93 7b00 vldr d7, [r3] 8031226: ee25 7b07 vmul.f64 d7, d5, d7 803122a: ee36 6b47 vsub.f64 d6, d6, d7 803122e: f507 63cb add.w r3, r7, #1624 ; 0x658 8031232: ed93 7b00 vldr d7, [r3] 8031236: eeb1 5b00 vmov.f64 d5, #16 ; 0x40800000 4.0 803123a: ee27 5b05 vmul.f64 d5, d7, d5 803123e: f507 63d1 add.w r3, r7, #1672 ; 0x688 8031242: ed93 7b00 vldr d7, [r3] 8031246: ee25 5b07 vmul.f64 d5, d5, d7 803124a: f507 63d1 add.w r3, r7, #1672 ; 0x688 803124e: ed93 7b00 vldr d7, [r3] 8031252: ee25 5b07 vmul.f64 d5, d5, d7 8031256: f507 63cf add.w r3, r7, #1656 ; 0x678 803125a: ed93 7b00 vldr d7, [r3] 803125e: ee25 5b07 vmul.f64 d5, d5, d7 8031262: f507 63cf add.w r3, r7, #1656 ; 0x678 8031266: ed93 7b00 vldr d7, [r3] 803126a: ee25 5b07 vmul.f64 d5, d5, d7 803126e: f507 63cf add.w r3, r7, #1656 ; 0x678 8031272: ed93 7b00 vldr d7, [r3] 8031276: ee25 5b07 vmul.f64 d5, d5, d7 803127a: f507 63cf add.w r3, r7, #1656 ; 0x678 803127e: ed93 7b00 vldr d7, [r3] 8031282: ee25 7b07 vmul.f64 d7, d5, d7 8031286: ee36 6b07 vadd.f64 d6, d6, d7 803128a: f507 63cc add.w r3, r7, #1632 ; 0x660 803128e: ed93 7b00 vldr d7, [r3] 8031292: ee26 7b07 vmul.f64 d7, d6, d7 8031296: 4a5a ldr r2, [pc, #360] ; (8031400 ) 8031298: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 803129c: 3350 adds r3, #80 ; 0x50 803129e: 00db lsls r3, r3, #3 80312a0: 4413 add r3, r2 80312a2: ed83 7b00 vstr d7, [r3] IIR.b2[j] = (96.0*D*Q*Q - 8.0*F*T*T + 6.0*D*Q*Q*T*T*T*T - 16.0*D*Q*Q*T*T) * C; 80312a6: f507 63cb add.w r3, r7, #1624 ; 0x658 80312aa: ed93 7b00 vldr d7, [r3] 80312ae: ed9f 6b52 vldr d6, [pc, #328] ; 80313f8 80312b2: ee27 6b06 vmul.f64 d6, d7, d6 80312b6: f507 63d1 add.w r3, r7, #1672 ; 0x688 80312ba: ed93 7b00 vldr d7, [r3] 80312be: ee26 6b07 vmul.f64 d6, d6, d7 80312c2: f507 63d1 add.w r3, r7, #1672 ; 0x688 80312c6: ed93 7b00 vldr d7, [r3] 80312ca: ee26 6b07 vmul.f64 d6, d6, d7 80312ce: f507 63c9 add.w r3, r7, #1608 ; 0x648 80312d2: ed93 7b00 vldr d7, [r3] 80312d6: eeb2 5b00 vmov.f64 d5, #32 ; 0x41000000 8.0 80312da: ee27 5b05 vmul.f64 d5, d7, d5 80312de: f507 63cf add.w r3, r7, #1656 ; 0x678 80312e2: ed93 7b00 vldr d7, [r3] 80312e6: ee25 5b07 vmul.f64 d5, d5, d7 80312ea: f507 63cf add.w r3, r7, #1656 ; 0x678 80312ee: ed93 7b00 vldr d7, [r3] 80312f2: ee25 7b07 vmul.f64 d7, d5, d7 80312f6: ee36 6b47 vsub.f64 d6, d6, d7 80312fa: f507 63cb add.w r3, r7, #1624 ; 0x658 80312fe: ed93 7b00 vldr d7, [r3] 8031302: eeb1 5b08 vmov.f64 d5, #24 ; 0x40c00000 6.0 8031306: ee27 5b05 vmul.f64 d5, d7, d5 803130a: f507 63d1 add.w r3, r7, #1672 ; 0x688 803130e: ed93 7b00 vldr d7, [r3] 8031312: ee25 5b07 vmul.f64 d5, d5, d7 8031316: f507 63d1 add.w r3, r7, #1672 ; 0x688 803131a: ed93 7b00 vldr d7, [r3] 803131e: ee25 5b07 vmul.f64 d5, d5, d7 8031322: f507 63cf add.w r3, r7, #1656 ; 0x678 8031326: ed93 7b00 vldr d7, [r3] 803132a: ee25 5b07 vmul.f64 d5, d5, d7 803132e: f507 63cf add.w r3, r7, #1656 ; 0x678 8031332: ed93 7b00 vldr d7, [r3] 8031336: ee25 5b07 vmul.f64 d5, d5, d7 803133a: f507 63cf add.w r3, r7, #1656 ; 0x678 803133e: ed93 7b00 vldr d7, [r3] 8031342: ee25 5b07 vmul.f64 d5, d5, d7 8031346: f507 63cf add.w r3, r7, #1656 ; 0x678 803134a: ed93 7b00 vldr d7, [r3] 803134e: ee25 7b07 vmul.f64 d7, d5, d7 8031352: ee36 6b07 vadd.f64 d6, d6, d7 8031356: f507 63cb add.w r3, r7, #1624 ; 0x658 803135a: ed93 7b00 vldr d7, [r3] 803135e: eeb3 5b00 vmov.f64 d5, #48 ; 0x41800000 16.0 8031362: ee27 5b05 vmul.f64 d5, d7, d5 8031366: f507 63d1 add.w r3, r7, #1672 ; 0x688 803136a: ed93 7b00 vldr d7, [r3] 803136e: ee25 5b07 vmul.f64 d5, d5, d7 8031372: f507 63d1 add.w r3, r7, #1672 ; 0x688 8031376: ed93 7b00 vldr d7, [r3] 803137a: ee25 5b07 vmul.f64 d5, d5, d7 803137e: f507 63cf add.w r3, r7, #1656 ; 0x678 8031382: ed93 7b00 vldr d7, [r3] 8031386: ee25 5b07 vmul.f64 d5, d5, d7 803138a: f507 63cf add.w r3, r7, #1656 ; 0x678 803138e: ed93 7b00 vldr d7, [r3] 8031392: ee25 7b07 vmul.f64 d7, d5, d7 8031396: ee36 6b47 vsub.f64 d6, d6, d7 803139a: f507 63cc add.w r3, r7, #1632 ; 0x660 803139e: ed93 7b00 vldr d7, [r3] 80313a2: ee26 7b07 vmul.f64 d7, d6, d7 80313a6: 4a16 ldr r2, [pc, #88] ; (8031400 ) 80313a8: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 80313ac: 3346 adds r3, #70 ; 0x46 80313ae: 00db lsls r3, r3, #3 80313b0: 4413 add r3, r2 80313b2: ed83 7b00 vstr d7, [r3] IIR.b1[j] = (4.0*D*Q*Q*T*T*T*T - 64.0*D*Q*Q + 4.0*E*Q*T*T*T - 16.0*E*Q*T) * C; 80313b6: f507 63cb add.w r3, r7, #1624 ; 0x658 80313ba: ed93 7b00 vldr d7, [r3] 80313be: eeb1 6b00 vmov.f64 d6, #16 ; 0x40800000 4.0 80313c2: ee27 6b06 vmul.f64 d6, d7, d6 80313c6: f507 63d1 add.w r3, r7, #1672 ; 0x688 80313ca: ed93 7b00 vldr d7, [r3] 80313ce: ee26 6b07 vmul.f64 d6, d6, d7 80313d2: f507 63d1 add.w r3, r7, #1672 ; 0x688 80313d6: ed93 7b00 vldr d7, [r3] 80313da: ee26 6b07 vmul.f64 d6, d6, d7 80313de: f507 63cf add.w r3, r7, #1656 ; 0x678 80313e2: ed93 7b00 vldr d7, [r3] 80313e6: ee26 6b07 vmul.f64 d6, d6, d7 80313ea: f507 63cf add.w r3, r7, #1656 ; 0x678 80313ee: e009 b.n 8031404 80313f0: 00000000 .word 0x00000000 80313f4: 40500000 .word 0x40500000 80313f8: 00000000 .word 0x00000000 80313fc: 40580000 .word 0x40580000 8031400: 20025918 .word 0x20025918 8031404: ed93 7b00 vldr d7, [r3] 8031408: ee26 6b07 vmul.f64 d6, d6, d7 803140c: f507 63cf add.w r3, r7, #1656 ; 0x678 8031410: ed93 7b00 vldr d7, [r3] 8031414: ee26 6b07 vmul.f64 d6, d6, d7 8031418: f507 63cf add.w r3, r7, #1656 ; 0x678 803141c: ed93 7b00 vldr d7, [r3] 8031420: ee26 6b07 vmul.f64 d6, d6, d7 8031424: f507 63cb add.w r3, r7, #1624 ; 0x658 8031428: ed93 7b00 vldr d7, [r3] 803142c: ed9f 5bda vldr d5, [pc, #872] ; 8031798 8031430: ee27 5b05 vmul.f64 d5, d7, d5 8031434: f507 63d1 add.w r3, r7, #1672 ; 0x688 8031438: ed93 7b00 vldr d7, [r3] 803143c: ee25 5b07 vmul.f64 d5, d5, d7 8031440: f507 63d1 add.w r3, r7, #1672 ; 0x688 8031444: ed93 7b00 vldr d7, [r3] 8031448: ee25 7b07 vmul.f64 d7, d5, d7 803144c: ee36 6b47 vsub.f64 d6, d6, d7 8031450: f507 63ca add.w r3, r7, #1616 ; 0x650 8031454: ed93 7b00 vldr d7, [r3] 8031458: eeb1 5b00 vmov.f64 d5, #16 ; 0x40800000 4.0 803145c: ee27 5b05 vmul.f64 d5, d7, d5 8031460: f507 63d1 add.w r3, r7, #1672 ; 0x688 8031464: ed93 7b00 vldr d7, [r3] 8031468: ee25 5b07 vmul.f64 d5, d5, d7 803146c: f507 63cf add.w r3, r7, #1656 ; 0x678 8031470: ed93 7b00 vldr d7, [r3] 8031474: ee25 5b07 vmul.f64 d5, d5, d7 8031478: f507 63cf add.w r3, r7, #1656 ; 0x678 803147c: ed93 7b00 vldr d7, [r3] 8031480: ee25 5b07 vmul.f64 d5, d5, d7 8031484: f507 63cf add.w r3, r7, #1656 ; 0x678 8031488: ed93 7b00 vldr d7, [r3] 803148c: ee25 7b07 vmul.f64 d7, d5, d7 8031490: ee36 6b07 vadd.f64 d6, d6, d7 8031494: f507 63ca add.w r3, r7, #1616 ; 0x650 8031498: ed93 7b00 vldr d7, [r3] 803149c: eeb3 5b00 vmov.f64 d5, #48 ; 0x41800000 16.0 80314a0: ee27 5b05 vmul.f64 d5, d7, d5 80314a4: f507 63d1 add.w r3, r7, #1672 ; 0x688 80314a8: ed93 7b00 vldr d7, [r3] 80314ac: ee25 5b07 vmul.f64 d5, d5, d7 80314b0: f507 63cf add.w r3, r7, #1656 ; 0x678 80314b4: ed93 7b00 vldr d7, [r3] 80314b8: ee25 7b07 vmul.f64 d7, d5, d7 80314bc: ee36 6b47 vsub.f64 d6, d6, d7 80314c0: f507 63cc add.w r3, r7, #1632 ; 0x660 80314c4: ed93 7b00 vldr d7, [r3] 80314c8: ee26 7b07 vmul.f64 d7, d6, d7 80314cc: 4ab6 ldr r2, [pc, #728] ; (80317a8 ) 80314ce: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 80314d2: 333c adds r3, #60 ; 0x3c 80314d4: 00db lsls r3, r3, #3 80314d6: 4413 add r3, r2 80314d8: ed83 7b00 vstr d7, [r3] IIR.b0[j] = (16.0*D*Q*Q + 8.0*E*Q*T + 8.0*D*Q*Q*T*T + 2.0*E*Q*T*T*T + 4.0*F*T*T + D*Q*Q*T*T*T*T) * C; 80314dc: f507 63cb add.w r3, r7, #1624 ; 0x658 80314e0: ed93 7b00 vldr d7, [r3] 80314e4: eeb3 6b00 vmov.f64 d6, #48 ; 0x41800000 16.0 80314e8: ee27 6b06 vmul.f64 d6, d7, d6 80314ec: f507 63d1 add.w r3, r7, #1672 ; 0x688 80314f0: ed93 7b00 vldr d7, [r3] 80314f4: ee26 6b07 vmul.f64 d6, d6, d7 80314f8: f507 63d1 add.w r3, r7, #1672 ; 0x688 80314fc: ed93 7b00 vldr d7, [r3] 8031500: ee26 6b07 vmul.f64 d6, d6, d7 8031504: f507 63ca add.w r3, r7, #1616 ; 0x650 8031508: ed93 7b00 vldr d7, [r3] 803150c: eeb2 5b00 vmov.f64 d5, #32 ; 0x41000000 8.0 8031510: ee27 5b05 vmul.f64 d5, d7, d5 8031514: f507 63d1 add.w r3, r7, #1672 ; 0x688 8031518: ed93 7b00 vldr d7, [r3] 803151c: ee25 5b07 vmul.f64 d5, d5, d7 8031520: f507 63cf add.w r3, r7, #1656 ; 0x678 8031524: ed93 7b00 vldr d7, [r3] 8031528: ee25 7b07 vmul.f64 d7, d5, d7 803152c: ee36 6b07 vadd.f64 d6, d6, d7 8031530: f507 63cb add.w r3, r7, #1624 ; 0x658 8031534: ed93 7b00 vldr d7, [r3] 8031538: eeb2 5b00 vmov.f64 d5, #32 ; 0x41000000 8.0 803153c: ee27 5b05 vmul.f64 d5, d7, d5 8031540: f507 63d1 add.w r3, r7, #1672 ; 0x688 8031544: ed93 7b00 vldr d7, [r3] 8031548: ee25 5b07 vmul.f64 d5, d5, d7 803154c: f507 63d1 add.w r3, r7, #1672 ; 0x688 8031550: ed93 7b00 vldr d7, [r3] 8031554: ee25 5b07 vmul.f64 d5, d5, d7 8031558: f507 63cf add.w r3, r7, #1656 ; 0x678 803155c: ed93 7b00 vldr d7, [r3] 8031560: ee25 5b07 vmul.f64 d5, d5, d7 8031564: f507 63cf add.w r3, r7, #1656 ; 0x678 8031568: ed93 7b00 vldr d7, [r3] 803156c: ee25 7b07 vmul.f64 d7, d5, d7 8031570: ee36 6b07 vadd.f64 d6, d6, d7 8031574: f507 63ca add.w r3, r7, #1616 ; 0x650 8031578: ed93 7b00 vldr d7, [r3] 803157c: ee37 5b07 vadd.f64 d5, d7, d7 8031580: f507 63d1 add.w r3, r7, #1672 ; 0x688 8031584: ed93 7b00 vldr d7, [r3] 8031588: ee25 5b07 vmul.f64 d5, d5, d7 803158c: f507 63cf add.w r3, r7, #1656 ; 0x678 8031590: ed93 7b00 vldr d7, [r3] 8031594: ee25 5b07 vmul.f64 d5, d5, d7 8031598: f507 63cf add.w r3, r7, #1656 ; 0x678 803159c: ed93 7b00 vldr d7, [r3] 80315a0: ee25 5b07 vmul.f64 d5, d5, d7 80315a4: f507 63cf add.w r3, r7, #1656 ; 0x678 80315a8: ed93 7b00 vldr d7, [r3] 80315ac: ee25 7b07 vmul.f64 d7, d5, d7 80315b0: ee36 6b07 vadd.f64 d6, d6, d7 80315b4: f507 63c9 add.w r3, r7, #1608 ; 0x648 80315b8: ed93 7b00 vldr d7, [r3] 80315bc: eeb1 5b00 vmov.f64 d5, #16 ; 0x40800000 4.0 80315c0: ee27 5b05 vmul.f64 d5, d7, d5 80315c4: f507 63cf add.w r3, r7, #1656 ; 0x678 80315c8: ed93 7b00 vldr d7, [r3] 80315cc: ee25 5b07 vmul.f64 d5, d5, d7 80315d0: f507 63cf add.w r3, r7, #1656 ; 0x678 80315d4: ed93 7b00 vldr d7, [r3] 80315d8: ee25 7b07 vmul.f64 d7, d5, d7 80315dc: ee36 6b07 vadd.f64 d6, d6, d7 80315e0: f507 63cb add.w r3, r7, #1624 ; 0x658 80315e4: ed93 5b00 vldr d5, [r3] 80315e8: f507 63d1 add.w r3, r7, #1672 ; 0x688 80315ec: ed93 7b00 vldr d7, [r3] 80315f0: ee25 5b07 vmul.f64 d5, d5, d7 80315f4: f507 63d1 add.w r3, r7, #1672 ; 0x688 80315f8: ed93 7b00 vldr d7, [r3] 80315fc: ee25 5b07 vmul.f64 d5, d5, d7 8031600: f507 63cf add.w r3, r7, #1656 ; 0x678 8031604: ed93 7b00 vldr d7, [r3] 8031608: ee25 5b07 vmul.f64 d5, d5, d7 803160c: f507 63cf add.w r3, r7, #1656 ; 0x678 8031610: ed93 7b00 vldr d7, [r3] 8031614: ee25 5b07 vmul.f64 d5, d5, d7 8031618: f507 63cf add.w r3, r7, #1656 ; 0x678 803161c: ed93 7b00 vldr d7, [r3] 8031620: ee25 5b07 vmul.f64 d5, d5, d7 8031624: f507 63cf add.w r3, r7, #1656 ; 0x678 8031628: ed93 7b00 vldr d7, [r3] 803162c: ee25 7b07 vmul.f64 d7, d5, d7 8031630: ee36 6b07 vadd.f64 d6, d6, d7 8031634: f507 63cc add.w r3, r7, #1632 ; 0x660 8031638: ed93 7b00 vldr d7, [r3] 803163c: ee26 7b07 vmul.f64 d7, d6, d7 8031640: 4a59 ldr r2, [pc, #356] ; (80317a8 ) 8031642: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8031646: 3332 adds r3, #50 ; 0x32 8031648: 00db lsls r3, r3, #3 803164a: 4413 add r3, r2 803164c: ed83 7b00 vstr d7, [r3] // T = 2 makes these values approach 0.0 (~ 1.0E-12) The root solver needs 0.0 for numerical reasons. if(fabs(T-2.0) < 0.0005) 8031650: f507 63cf add.w r3, r7, #1656 ; 0x678 8031654: ed93 7b00 vldr d7, [r3] 8031658: eeb0 6b00 vmov.f64 d6, #0 ; 0x40000000 2.0 803165c: ee37 7b46 vsub.f64 d7, d7, d6 8031660: eeb0 7bc7 vabs.f64 d7, d7 8031664: ed9f 6b4e vldr d6, [pc, #312] ; 80317a0 8031668: eeb4 7bc6 vcmpe.f64 d7, d6 803166c: eef1 fa10 vmrs APSR_nzcv, fpscr 8031670: d52f bpl.n 80316d2 { IIR.a3[j] = 0.0; 8031672: 4a4d ldr r2, [pc, #308] ; (80317a8 ) 8031674: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8031678: 331e adds r3, #30 803167a: 00db lsls r3, r3, #3 803167c: 441a add r2, r3 803167e: f04f 0300 mov.w r3, #0 8031682: f04f 0400 mov.w r4, #0 8031686: e882 0018 stmia.w r2, {r3, r4} IIR.a1[j] = 0.0; 803168a: 4a47 ldr r2, [pc, #284] ; (80317a8 ) 803168c: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8031690: 330a adds r3, #10 8031692: 00db lsls r3, r3, #3 8031694: 441a add r2, r3 8031696: f04f 0300 mov.w r3, #0 803169a: f04f 0400 mov.w r4, #0 803169e: e882 0018 stmia.w r2, {r3, r4} IIR.b3[j] = 0.0; 80316a2: 4a41 ldr r2, [pc, #260] ; (80317a8 ) 80316a4: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 80316a8: 3350 adds r3, #80 ; 0x50 80316aa: 00db lsls r3, r3, #3 80316ac: 441a add r2, r3 80316ae: f04f 0300 mov.w r3, #0 80316b2: f04f 0400 mov.w r4, #0 80316b6: e882 0018 stmia.w r2, {r3, r4} IIR.b1[j] = 0.0; 80316ba: 4a3b ldr r2, [pc, #236] ; (80317a8 ) 80316bc: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 80316c0: 333c adds r3, #60 ; 0x3c 80316c2: 00db lsls r3, r3, #3 80316c4: 441a add r2, r3 80316c6: f04f 0300 mov.w r3, #0 80316ca: f04f 0400 mov.w r4, #0 80316ce: e882 0018 stmia.w r2, {r3, r4} } // We now have a 4th order poly in the form a4*s^4 + a3*s^3 + a2*s^2 + a2*s + a0 // We find the roots of this so we can form two 2nd order polys. Coeff[0] = IIR.a4[j]; 80316d2: 4a35 ldr r2, [pc, #212] ; (80317a8 ) 80316d4: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 80316d8: 3328 adds r3, #40 ; 0x28 80316da: 00db lsls r3, r3, #3 80316dc: 4413 add r3, r2 80316de: cb18 ldmia r3, {r3, r4} 80316e0: f507 62c3 add.w r2, r7, #1560 ; 0x618 80316e4: e882 0018 stmia.w r2, {r3, r4} Coeff[1] = IIR.a3[j]; 80316e8: 4a2f ldr r2, [pc, #188] ; (80317a8 ) 80316ea: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 80316ee: 331e adds r3, #30 80316f0: 00db lsls r3, r3, #3 80316f2: 4413 add r3, r2 80316f4: cb18 ldmia r3, {r3, r4} 80316f6: f507 62c4 add.w r2, r7, #1568 ; 0x620 80316fa: e882 0018 stmia.w r2, {r3, r4} Coeff[2] = IIR.a2[j]; 80316fe: 4a2a ldr r2, [pc, #168] ; (80317a8 ) 8031700: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8031704: 3314 adds r3, #20 8031706: 00db lsls r3, r3, #3 8031708: 4413 add r3, r2 803170a: cb18 ldmia r3, {r3, r4} 803170c: f507 62c5 add.w r2, r7, #1576 ; 0x628 8031710: e882 0018 stmia.w r2, {r3, r4} Coeff[3] = IIR.a1[j]; 8031714: 4a24 ldr r2, [pc, #144] ; (80317a8 ) 8031716: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 803171a: 330a adds r3, #10 803171c: 00db lsls r3, r3, #3 803171e: 4413 add r3, r2 8031720: cb18 ldmia r3, {r3, r4} 8031722: f507 62c6 add.w r2, r7, #1584 ; 0x630 8031726: e882 0018 stmia.w r2, {r3, r4} Coeff[4] = IIR.a0[j]; 803172a: 4a1f ldr r2, [pc, #124] ; (80317a8 ) 803172c: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8031730: 00db lsls r3, r3, #3 8031732: 4413 add r3, r2 8031734: cb18 ldmia r3, {r3, r4} 8031736: f507 62c7 add.w r2, r7, #1592 ; 0x638 803173a: e882 0018 stmia.w r2, {r3, r4} QuadCubicRoots(4, Coeff, RealRoot, ImagRoot); 803173e: f507 63bb add.w r3, r7, #1496 ; 0x5d8 8031742: f507 62bf add.w r2, r7, #1528 ; 0x5f8 8031746: f507 61c3 add.w r1, r7, #1560 ; 0x618 803174a: 2004 movs r0, #4 803174c: f002 f8e0 bl 8033910 // In effect, the root finder scales the poly by 1/a4 so we have to apply // this factor back into the two 2nd order equations we are forming. if(IIR.a4[j] < 0.0)Scalar = -sqrt(-IIR.a4[j]); 8031750: 4a15 ldr r2, [pc, #84] ; (80317a8 ) 8031752: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8031756: 3328 adds r3, #40 ; 0x28 8031758: 00db lsls r3, r3, #3 803175a: 4413 add r3, r2 803175c: ed93 7b00 vldr d7, [r3] 8031760: eeb5 7bc0 vcmpe.f64 d7, #0.0 8031764: eef1 fa10 vmrs APSR_nzcv, fpscr 8031768: d520 bpl.n 80317ac 803176a: 4a0f ldr r2, [pc, #60] ; (80317a8 ) 803176c: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8031770: 3328 adds r3, #40 ; 0x28 8031772: 00db lsls r3, r3, #3 8031774: 4413 add r3, r2 8031776: ed93 7b00 vldr d7, [r3] 803177a: eeb1 7b47 vneg.f64 d7, d7 803177e: eeb0 0b47 vmov.f64 d0, d7 8031782: f099 fc31 bl 80cafe8 8031786: eeb0 7b40 vmov.f64 d7, d0 803178a: eeb1 7b47 vneg.f64 d7, d7 803178e: f507 63d2 add.w r3, r7, #1680 ; 0x690 8031792: ed83 7b00 vstr d7, [r3] 8031796: e019 b.n 80317cc 8031798: 00000000 .word 0x00000000 803179c: 40500000 .word 0x40500000 80317a0: d2f1a9fc .word 0xd2f1a9fc 80317a4: 3f40624d .word 0x3f40624d 80317a8: 20025918 .word 0x20025918 else Scalar = sqrt(IIR.a4[j]); 80317ac: 4ada ldr r2, [pc, #872] ; (8031b18 ) 80317ae: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 80317b2: 3328 adds r3, #40 ; 0x28 80317b4: 00db lsls r3, r3, #3 80317b6: 4413 add r3, r2 80317b8: ed93 7b00 vldr d7, [r3] 80317bc: eeb0 0b47 vmov.f64 d0, d7 80317c0: f099 fc12 bl 80cafe8 80317c4: f507 63d2 add.w r3, r7, #1680 ; 0x690 80317c8: ed83 0b00 vstr d0, [r3] // Form the 2nd order polys from the roots. a2[k] = Scalar; 80317cc: f507 62b1 add.w r2, r7, #1416 ; 0x588 80317d0: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 80317d4: 00db lsls r3, r3, #3 80317d6: 441a add r2, r3 80317d8: f507 63d2 add.w r3, r7, #1680 ; 0x690 80317dc: cb18 ldmia r3, {r3, r4} 80317de: e882 0018 stmia.w r2, {r3, r4} a1[k] = -(RealRoot[0] + RealRoot[1]) * Scalar; 80317e2: f507 63bf add.w r3, r7, #1528 ; 0x5f8 80317e6: ed93 6b00 vldr d6, [r3] 80317ea: f507 63c0 add.w r3, r7, #1536 ; 0x600 80317ee: ed93 7b00 vldr d7, [r3] 80317f2: ee36 7b07 vadd.f64 d7, d6, d7 80317f6: eeb1 6b47 vneg.f64 d6, d7 80317fa: f507 63d2 add.w r3, r7, #1680 ; 0x690 80317fe: ed93 7b00 vldr d7, [r3] 8031802: ee26 7b07 vmul.f64 d7, d6, d7 8031806: f507 62a7 add.w r2, r7, #1336 ; 0x538 803180a: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 803180e: 00db lsls r3, r3, #3 8031810: 4413 add r3, r2 8031812: ed83 7b00 vstr d7, [r3] a0[k] = (RealRoot[0] * RealRoot[1] - ImagRoot[0] * ImagRoot[1]) * Scalar; 8031816: f507 63bf add.w r3, r7, #1528 ; 0x5f8 803181a: ed93 6b00 vldr d6, [r3] 803181e: f507 63c0 add.w r3, r7, #1536 ; 0x600 8031822: ed93 7b00 vldr d7, [r3] 8031826: ee26 6b07 vmul.f64 d6, d6, d7 803182a: f507 63bb add.w r3, r7, #1496 ; 0x5d8 803182e: ed93 5b00 vldr d5, [r3] 8031832: f507 63bc add.w r3, r7, #1504 ; 0x5e0 8031836: ed93 7b00 vldr d7, [r3] 803183a: ee25 7b07 vmul.f64 d7, d5, d7 803183e: ee36 6b47 vsub.f64 d6, d6, d7 8031842: f507 63d2 add.w r3, r7, #1680 ; 0x690 8031846: ed93 7b00 vldr d7, [r3] 803184a: ee26 7b07 vmul.f64 d7, d6, d7 803184e: f507 629d add.w r2, r7, #1256 ; 0x4e8 8031852: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8031856: 00db lsls r3, r3, #3 8031858: 4413 add r3, r2 803185a: ed83 7b00 vstr d7, [r3] k++; 803185e: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8031862: 3301 adds r3, #1 8031864: f8c7 3698 str.w r3, [r7, #1688] ; 0x698 a2[k] = Scalar; 8031868: f507 62b1 add.w r2, r7, #1416 ; 0x588 803186c: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8031870: 00db lsls r3, r3, #3 8031872: 441a add r2, r3 8031874: f507 63d2 add.w r3, r7, #1680 ; 0x690 8031878: cb18 ldmia r3, {r3, r4} 803187a: e882 0018 stmia.w r2, {r3, r4} a1[k] = -(RealRoot[2] + RealRoot[3]) * Scalar; 803187e: f507 63c1 add.w r3, r7, #1544 ; 0x608 8031882: ed93 6b00 vldr d6, [r3] 8031886: f507 63c2 add.w r3, r7, #1552 ; 0x610 803188a: ed93 7b00 vldr d7, [r3] 803188e: ee36 7b07 vadd.f64 d7, d6, d7 8031892: eeb1 6b47 vneg.f64 d6, d7 8031896: f507 63d2 add.w r3, r7, #1680 ; 0x690 803189a: ed93 7b00 vldr d7, [r3] 803189e: ee26 7b07 vmul.f64 d7, d6, d7 80318a2: f507 62a7 add.w r2, r7, #1336 ; 0x538 80318a6: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 80318aa: 00db lsls r3, r3, #3 80318ac: 4413 add r3, r2 80318ae: ed83 7b00 vstr d7, [r3] a0[k] = (RealRoot[2] * RealRoot[3] - ImagRoot[2] * ImagRoot[3]) * Scalar; 80318b2: f507 63c1 add.w r3, r7, #1544 ; 0x608 80318b6: ed93 6b00 vldr d6, [r3] 80318ba: f507 63c2 add.w r3, r7, #1552 ; 0x610 80318be: ed93 7b00 vldr d7, [r3] 80318c2: ee26 6b07 vmul.f64 d6, d6, d7 80318c6: f507 63bd add.w r3, r7, #1512 ; 0x5e8 80318ca: ed93 5b00 vldr d5, [r3] 80318ce: f507 63be add.w r3, r7, #1520 ; 0x5f0 80318d2: ed93 7b00 vldr d7, [r3] 80318d6: ee25 7b07 vmul.f64 d7, d5, d7 80318da: ee36 6b47 vsub.f64 d6, d6, d7 80318de: f507 63d2 add.w r3, r7, #1680 ; 0x690 80318e2: ed93 7b00 vldr d7, [r3] 80318e6: ee26 7b07 vmul.f64 d7, d6, d7 80318ea: f507 629d add.w r2, r7, #1256 ; 0x4e8 80318ee: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 80318f2: 00db lsls r3, r3, #3 80318f4: 4413 add r3, r2 80318f6: ed83 7b00 vstr d7, [r3] k--; 80318fa: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 80318fe: 3b01 subs r3, #1 8031900: f8c7 3698 str.w r3, [r7, #1688] ; 0x698 // Now do the same with the numerator. Coeff[0] = IIR.b4[j]; 8031904: 4a84 ldr r2, [pc, #528] ; (8031b18 ) 8031906: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 803190a: 335a adds r3, #90 ; 0x5a 803190c: 00db lsls r3, r3, #3 803190e: 4413 add r3, r2 8031910: cb18 ldmia r3, {r3, r4} 8031912: f507 62c3 add.w r2, r7, #1560 ; 0x618 8031916: e882 0018 stmia.w r2, {r3, r4} Coeff[1] = IIR.b3[j]; 803191a: 4a7f ldr r2, [pc, #508] ; (8031b18 ) 803191c: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8031920: 3350 adds r3, #80 ; 0x50 8031922: 00db lsls r3, r3, #3 8031924: 4413 add r3, r2 8031926: cb18 ldmia r3, {r3, r4} 8031928: f507 62c4 add.w r2, r7, #1568 ; 0x620 803192c: e882 0018 stmia.w r2, {r3, r4} Coeff[2] = IIR.b2[j]; 8031930: 4a79 ldr r2, [pc, #484] ; (8031b18 ) 8031932: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8031936: 3346 adds r3, #70 ; 0x46 8031938: 00db lsls r3, r3, #3 803193a: 4413 add r3, r2 803193c: cb18 ldmia r3, {r3, r4} 803193e: f507 62c5 add.w r2, r7, #1576 ; 0x628 8031942: e882 0018 stmia.w r2, {r3, r4} Coeff[3] = IIR.b1[j]; 8031946: 4a74 ldr r2, [pc, #464] ; (8031b18 ) 8031948: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 803194c: 333c adds r3, #60 ; 0x3c 803194e: 00db lsls r3, r3, #3 8031950: 4413 add r3, r2 8031952: cb18 ldmia r3, {r3, r4} 8031954: f507 62c6 add.w r2, r7, #1584 ; 0x630 8031958: e882 0018 stmia.w r2, {r3, r4} Coeff[4] = IIR.b0[j]; 803195c: 4a6e ldr r2, [pc, #440] ; (8031b18 ) 803195e: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8031962: 3332 adds r3, #50 ; 0x32 8031964: 00db lsls r3, r3, #3 8031966: 4413 add r3, r2 8031968: cb18 ldmia r3, {r3, r4} 803196a: f507 62c7 add.w r2, r7, #1592 ; 0x638 803196e: e882 0018 stmia.w r2, {r3, r4} QuadCubicRoots(4, Coeff, RealRoot, ImagRoot); 8031972: f507 63bb add.w r3, r7, #1496 ; 0x5d8 8031976: f507 62bf add.w r2, r7, #1528 ; 0x5f8 803197a: f507 61c3 add.w r1, r7, #1560 ; 0x618 803197e: 2004 movs r0, #4 8031980: f001 ffc6 bl 8033910 if(IIR.b4[j] < 0.0)Scalar = -sqrt(-IIR.b4[j]); 8031984: 4a64 ldr r2, [pc, #400] ; (8031b18 ) 8031986: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 803198a: 335a adds r3, #90 ; 0x5a 803198c: 00db lsls r3, r3, #3 803198e: 4413 add r3, r2 8031990: ed93 7b00 vldr d7, [r3] 8031994: eeb5 7bc0 vcmpe.f64 d7, #0.0 8031998: eef1 fa10 vmrs APSR_nzcv, fpscr 803199c: d516 bpl.n 80319cc 803199e: 4a5e ldr r2, [pc, #376] ; (8031b18 ) 80319a0: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 80319a4: 335a adds r3, #90 ; 0x5a 80319a6: 00db lsls r3, r3, #3 80319a8: 4413 add r3, r2 80319aa: ed93 7b00 vldr d7, [r3] 80319ae: eeb1 7b47 vneg.f64 d7, d7 80319b2: eeb0 0b47 vmov.f64 d0, d7 80319b6: f099 fb17 bl 80cafe8 80319ba: eeb0 7b40 vmov.f64 d7, d0 80319be: eeb1 7b47 vneg.f64 d7, d7 80319c2: f507 63d2 add.w r3, r7, #1680 ; 0x690 80319c6: ed83 7b00 vstr d7, [r3] 80319ca: e00f b.n 80319ec else Scalar = sqrt(IIR.b4[j]); 80319cc: 4a52 ldr r2, [pc, #328] ; (8031b18 ) 80319ce: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 80319d2: 335a adds r3, #90 ; 0x5a 80319d4: 00db lsls r3, r3, #3 80319d6: 4413 add r3, r2 80319d8: ed93 7b00 vldr d7, [r3] 80319dc: eeb0 0b47 vmov.f64 d0, d7 80319e0: f099 fb02 bl 80cafe8 80319e4: f507 63d2 add.w r3, r7, #1680 ; 0x690 80319e8: ed83 0b00 vstr d0, [r3] b2[k] = Scalar; 80319ec: f507 6293 add.w r2, r7, #1176 ; 0x498 80319f0: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 80319f4: 00db lsls r3, r3, #3 80319f6: 441a add r2, r3 80319f8: f507 63d2 add.w r3, r7, #1680 ; 0x690 80319fc: cb18 ldmia r3, {r3, r4} 80319fe: e882 0018 stmia.w r2, {r3, r4} if(ProtoType == ftINVERSE_CHEBY || ProtoType >= ftELLIPTIC_00) 8031a02: f207 230b addw r3, r7, #523 ; 0x20b 8031a06: 781b ldrb r3, [r3, #0] 8031a08: 2b05 cmp r3, #5 8031a0a: d004 beq.n 8031a16 8031a0c: f207 230b addw r3, r7, #523 ; 0x20b 8031a10: 781b ldrb r3, [r3, #0] 8031a12: 2b05 cmp r3, #5 8031a14: d91a bls.n 8031a4c b1[k] = -(RealRoot[0] + RealRoot[1]) * Scalar; 8031a16: f507 63bf add.w r3, r7, #1528 ; 0x5f8 8031a1a: ed93 6b00 vldr d6, [r3] 8031a1e: f507 63c0 add.w r3, r7, #1536 ; 0x600 8031a22: ed93 7b00 vldr d7, [r3] 8031a26: ee36 7b07 vadd.f64 d7, d6, d7 8031a2a: eeb1 6b47 vneg.f64 d6, d7 8031a2e: f507 63d2 add.w r3, r7, #1680 ; 0x690 8031a32: ed93 7b00 vldr d7, [r3] 8031a36: ee26 7b07 vmul.f64 d7, d6, d7 8031a3a: f507 6289 add.w r2, r7, #1096 ; 0x448 8031a3e: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8031a42: 00db lsls r3, r3, #3 8031a44: 4413 add r3, r2 8031a46: ed83 7b00 vstr d7, [r3] 8031a4a: e00b b.n 8031a64 else // else the prototype is an all pole filter b1[k] = 0.0; // b1 = 0 for all pole filters, but the addition above won't always equal zero exactly. 8031a4c: f507 6289 add.w r2, r7, #1096 ; 0x448 8031a50: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8031a54: 00db lsls r3, r3, #3 8031a56: 441a add r2, r3 8031a58: f04f 0300 mov.w r3, #0 8031a5c: f04f 0400 mov.w r4, #0 8031a60: e882 0018 stmia.w r2, {r3, r4} b0[k] = (RealRoot[0] * RealRoot[1] - ImagRoot[0] * ImagRoot[1]) * Scalar; 8031a64: f507 63bf add.w r3, r7, #1528 ; 0x5f8 8031a68: ed93 6b00 vldr d6, [r3] 8031a6c: f507 63c0 add.w r3, r7, #1536 ; 0x600 8031a70: ed93 7b00 vldr d7, [r3] 8031a74: ee26 6b07 vmul.f64 d6, d6, d7 8031a78: f507 63bb add.w r3, r7, #1496 ; 0x5d8 8031a7c: ed93 5b00 vldr d5, [r3] 8031a80: f507 63bc add.w r3, r7, #1504 ; 0x5e0 8031a84: ed93 7b00 vldr d7, [r3] 8031a88: ee25 7b07 vmul.f64 d7, d5, d7 8031a8c: ee36 6b47 vsub.f64 d6, d6, d7 8031a90: f507 63d2 add.w r3, r7, #1680 ; 0x690 8031a94: ed93 7b00 vldr d7, [r3] 8031a98: ee26 7b07 vmul.f64 d7, d6, d7 8031a9c: f507 727e add.w r2, r7, #1016 ; 0x3f8 8031aa0: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8031aa4: 00db lsls r3, r3, #3 8031aa6: 4413 add r3, r2 8031aa8: ed83 7b00 vstr d7, [r3] k++; 8031aac: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8031ab0: 3301 adds r3, #1 8031ab2: f8c7 3698 str.w r3, [r7, #1688] ; 0x698 b2[k] = Scalar; 8031ab6: f507 6293 add.w r2, r7, #1176 ; 0x498 8031aba: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8031abe: 00db lsls r3, r3, #3 8031ac0: 441a add r2, r3 8031ac2: f507 63d2 add.w r3, r7, #1680 ; 0x690 8031ac6: cb18 ldmia r3, {r3, r4} 8031ac8: e882 0018 stmia.w r2, {r3, r4} if(ProtoType == ftINVERSE_CHEBY || ProtoType >= ftELLIPTIC_00) 8031acc: f207 230b addw r3, r7, #523 ; 0x20b 8031ad0: 781b ldrb r3, [r3, #0] 8031ad2: 2b05 cmp r3, #5 8031ad4: d004 beq.n 8031ae0 8031ad6: f207 230b addw r3, r7, #523 ; 0x20b 8031ada: 781b ldrb r3, [r3, #0] 8031adc: 2b05 cmp r3, #5 8031ade: d91d bls.n 8031b1c b1[k] = -(RealRoot[2] + RealRoot[3]) * Scalar; 8031ae0: f507 63c1 add.w r3, r7, #1544 ; 0x608 8031ae4: ed93 6b00 vldr d6, [r3] 8031ae8: f507 63c2 add.w r3, r7, #1552 ; 0x610 8031aec: ed93 7b00 vldr d7, [r3] 8031af0: ee36 7b07 vadd.f64 d7, d6, d7 8031af4: eeb1 6b47 vneg.f64 d6, d7 8031af8: f507 63d2 add.w r3, r7, #1680 ; 0x690 8031afc: ed93 7b00 vldr d7, [r3] 8031b00: ee26 7b07 vmul.f64 d7, d6, d7 8031b04: f507 6289 add.w r2, r7, #1096 ; 0x448 8031b08: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8031b0c: 00db lsls r3, r3, #3 8031b0e: 4413 add r3, r2 8031b10: ed83 7b00 vstr d7, [r3] 8031b14: e00e b.n 8031b34 8031b16: bf00 nop 8031b18: 20025918 .word 0x20025918 else b1[k] = 0.0; 8031b1c: f507 6289 add.w r2, r7, #1096 ; 0x448 8031b20: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8031b24: 00db lsls r3, r3, #3 8031b26: 441a add r2, r3 8031b28: f04f 0300 mov.w r3, #0 8031b2c: f04f 0400 mov.w r4, #0 8031b30: e882 0018 stmia.w r2, {r3, r4} b0[k] = (RealRoot[2] * RealRoot[3] - ImagRoot[2] * ImagRoot[3]) * Scalar; 8031b34: f507 63c1 add.w r3, r7, #1544 ; 0x608 8031b38: ed93 6b00 vldr d6, [r3] 8031b3c: f507 63c2 add.w r3, r7, #1552 ; 0x610 8031b40: ed93 7b00 vldr d7, [r3] 8031b44: ee26 6b07 vmul.f64 d6, d6, d7 8031b48: f507 63bd add.w r3, r7, #1512 ; 0x5e8 8031b4c: ed93 5b00 vldr d5, [r3] 8031b50: f507 63be add.w r3, r7, #1520 ; 0x5f0 8031b54: ed93 7b00 vldr d7, [r3] 8031b58: ee25 7b07 vmul.f64 d7, d5, d7 8031b5c: ee36 6b47 vsub.f64 d6, d6, d7 8031b60: f507 63d2 add.w r3, r7, #1680 ; 0x690 8031b64: ed93 7b00 vldr d7, [r3] 8031b68: ee26 7b07 vmul.f64 d7, d6, d7 8031b6c: f507 727e add.w r2, r7, #1016 ; 0x3f8 8031b70: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8031b74: 00db lsls r3, r3, #3 8031b76: 4413 add r3, r2 8031b78: ed83 7b00 vstr d7, [r3] k++; 8031b7c: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8031b80: 3301 adds r3, #1 8031b82: f8c7 3698 str.w r3, [r7, #1688] ; 0x698 // Go below to see where we store these 2nd order polys back into IIR } } if(PassType == iirNOTCH) 8031b86: f207 230a addw r3, r7, #522 ; 0x20a 8031b8a: 781b ldrb r3, [r3, #0] 8031b8c: 2b03 cmp r3, #3 8031b8e: f041 825b bne.w 8033048 { if(A == 0.0 && D == 0.0) // 1 pole 8031b92: f507 63ce add.w r3, r7, #1648 ; 0x670 8031b96: ed93 7b00 vldr d7, [r3] 8031b9a: eeb5 7b40 vcmp.f64 d7, #0.0 8031b9e: eef1 fa10 vmrs APSR_nzcv, fpscr 8031ba2: f040 81ad bne.w 8031f00 8031ba6: f507 63cb add.w r3, r7, #1624 ; 0x658 8031baa: ed93 7b00 vldr d7, [r3] 8031bae: eeb5 7b40 vcmp.f64 d7, #0.0 8031bb2: eef1 fa10 vmrs APSR_nzcv, fpscr 8031bb6: f040 81a3 bne.w 8031f00 { Arg = 2.0*B*T + C*Q*T*T + 4.0*C*Q; 8031bba: f507 63cd add.w r3, r7, #1640 ; 0x668 8031bbe: ed93 7b00 vldr d7, [r3] 8031bc2: ee37 6b07 vadd.f64 d6, d7, d7 8031bc6: f507 63cf add.w r3, r7, #1656 ; 0x678 8031bca: ed93 7b00 vldr d7, [r3] 8031bce: ee26 6b07 vmul.f64 d6, d6, d7 8031bd2: f507 63cc add.w r3, r7, #1632 ; 0x660 8031bd6: ed93 5b00 vldr d5, [r3] 8031bda: f507 63d1 add.w r3, r7, #1672 ; 0x688 8031bde: ed93 7b00 vldr d7, [r3] 8031be2: ee25 5b07 vmul.f64 d5, d5, d7 8031be6: f507 63cf add.w r3, r7, #1656 ; 0x678 8031bea: ed93 7b00 vldr d7, [r3] 8031bee: ee25 5b07 vmul.f64 d5, d5, d7 8031bf2: f507 63cf add.w r3, r7, #1656 ; 0x678 8031bf6: ed93 7b00 vldr d7, [r3] 8031bfa: ee25 7b07 vmul.f64 d7, d5, d7 8031bfe: ee36 6b07 vadd.f64 d6, d6, d7 8031c02: f507 63cc add.w r3, r7, #1632 ; 0x660 8031c06: ed93 7b00 vldr d7, [r3] 8031c0a: eeb1 5b00 vmov.f64 d5, #16 ; 0x40800000 4.0 8031c0e: ee27 5b05 vmul.f64 d5, d7, d5 8031c12: f507 63d1 add.w r3, r7, #1672 ; 0x688 8031c16: ed93 7b00 vldr d7, [r3] 8031c1a: ee25 7b07 vmul.f64 d7, d5, d7 8031c1e: ee36 7b07 vadd.f64 d7, d6, d7 8031c22: f507 63c8 add.w r3, r7, #1600 ; 0x640 8031c26: ed83 7b00 vstr d7, [r3] a2[k] = (4.0*C*Q - 2.0*B*T + C*Q*T*T) / Arg; 8031c2a: f507 63cc add.w r3, r7, #1632 ; 0x660 8031c2e: ed93 7b00 vldr d7, [r3] 8031c32: eeb1 6b00 vmov.f64 d6, #16 ; 0x40800000 4.0 8031c36: ee27 6b06 vmul.f64 d6, d7, d6 8031c3a: f507 63d1 add.w r3, r7, #1672 ; 0x688 8031c3e: ed93 7b00 vldr d7, [r3] 8031c42: ee26 6b07 vmul.f64 d6, d6, d7 8031c46: f507 63cd add.w r3, r7, #1640 ; 0x668 8031c4a: ed93 7b00 vldr d7, [r3] 8031c4e: ee37 5b07 vadd.f64 d5, d7, d7 8031c52: f507 63cf add.w r3, r7, #1656 ; 0x678 8031c56: ed93 7b00 vldr d7, [r3] 8031c5a: ee25 7b07 vmul.f64 d7, d5, d7 8031c5e: ee36 6b47 vsub.f64 d6, d6, d7 8031c62: f507 63cc add.w r3, r7, #1632 ; 0x660 8031c66: ed93 5b00 vldr d5, [r3] 8031c6a: f507 63d1 add.w r3, r7, #1672 ; 0x688 8031c6e: ed93 7b00 vldr d7, [r3] 8031c72: ee25 5b07 vmul.f64 d5, d5, d7 8031c76: f507 63cf add.w r3, r7, #1656 ; 0x678 8031c7a: ed93 7b00 vldr d7, [r3] 8031c7e: ee25 5b07 vmul.f64 d5, d5, d7 8031c82: f507 63cf add.w r3, r7, #1656 ; 0x678 8031c86: ed93 7b00 vldr d7, [r3] 8031c8a: ee25 7b07 vmul.f64 d7, d5, d7 8031c8e: ee36 5b07 vadd.f64 d5, d6, d7 8031c92: f507 63c8 add.w r3, r7, #1600 ; 0x640 8031c96: ed93 6b00 vldr d6, [r3] 8031c9a: ee85 7b06 vdiv.f64 d7, d5, d6 8031c9e: f507 62b1 add.w r2, r7, #1416 ; 0x588 8031ca2: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8031ca6: 00db lsls r3, r3, #3 8031ca8: 4413 add r3, r2 8031caa: ed83 7b00 vstr d7, [r3] a1[k] = (2.0*C*Q*T*T - 8.0*C*Q) / Arg; 8031cae: f507 63cc add.w r3, r7, #1632 ; 0x660 8031cb2: ed93 7b00 vldr d7, [r3] 8031cb6: ee37 6b07 vadd.f64 d6, d7, d7 8031cba: f507 63d1 add.w r3, r7, #1672 ; 0x688 8031cbe: ed93 7b00 vldr d7, [r3] 8031cc2: ee26 6b07 vmul.f64 d6, d6, d7 8031cc6: f507 63cf add.w r3, r7, #1656 ; 0x678 8031cca: ed93 7b00 vldr d7, [r3] 8031cce: ee26 6b07 vmul.f64 d6, d6, d7 8031cd2: f507 63cf add.w r3, r7, #1656 ; 0x678 8031cd6: ed93 7b00 vldr d7, [r3] 8031cda: ee26 6b07 vmul.f64 d6, d6, d7 8031cde: f507 63cc add.w r3, r7, #1632 ; 0x660 8031ce2: ed93 7b00 vldr d7, [r3] 8031ce6: eeb2 5b00 vmov.f64 d5, #32 ; 0x41000000 8.0 8031cea: ee27 5b05 vmul.f64 d5, d7, d5 8031cee: f507 63d1 add.w r3, r7, #1672 ; 0x688 8031cf2: ed93 7b00 vldr d7, [r3] 8031cf6: ee25 7b07 vmul.f64 d7, d5, d7 8031cfa: ee36 5b47 vsub.f64 d5, d6, d7 8031cfe: f507 63c8 add.w r3, r7, #1600 ; 0x640 8031d02: ed93 6b00 vldr d6, [r3] 8031d06: ee85 7b06 vdiv.f64 d7, d5, d6 8031d0a: f507 62a7 add.w r2, r7, #1336 ; 0x538 8031d0e: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8031d12: 00db lsls r3, r3, #3 8031d14: 4413 add r3, r2 8031d16: ed83 7b00 vstr d7, [r3] a0[k] = 1.0; 8031d1a: f507 629d add.w r2, r7, #1256 ; 0x4e8 8031d1e: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8031d22: 00db lsls r3, r3, #3 8031d24: 441a add r2, r3 8031d26: f04f 0300 mov.w r3, #0 8031d2a: 4c74 ldr r4, [pc, #464] ; (8031efc ) 8031d2c: e882 0018 stmia.w r2, {r3, r4} b2[k] = (4.0*F*Q - 2.0*E*T + F*Q*T*T) / Arg * C/F; 8031d30: f507 63c9 add.w r3, r7, #1608 ; 0x648 8031d34: ed93 7b00 vldr d7, [r3] 8031d38: eeb1 6b00 vmov.f64 d6, #16 ; 0x40800000 4.0 8031d3c: ee27 6b06 vmul.f64 d6, d7, d6 8031d40: f507 63d1 add.w r3, r7, #1672 ; 0x688 8031d44: ed93 7b00 vldr d7, [r3] 8031d48: ee26 6b07 vmul.f64 d6, d6, d7 8031d4c: f507 63ca add.w r3, r7, #1616 ; 0x650 8031d50: ed93 7b00 vldr d7, [r3] 8031d54: ee37 5b07 vadd.f64 d5, d7, d7 8031d58: f507 63cf add.w r3, r7, #1656 ; 0x678 8031d5c: ed93 7b00 vldr d7, [r3] 8031d60: ee25 7b07 vmul.f64 d7, d5, d7 8031d64: ee36 6b47 vsub.f64 d6, d6, d7 8031d68: f507 63c9 add.w r3, r7, #1608 ; 0x648 8031d6c: ed93 5b00 vldr d5, [r3] 8031d70: f507 63d1 add.w r3, r7, #1672 ; 0x688 8031d74: ed93 7b00 vldr d7, [r3] 8031d78: ee25 5b07 vmul.f64 d5, d5, d7 8031d7c: f507 63cf add.w r3, r7, #1656 ; 0x678 8031d80: ed93 7b00 vldr d7, [r3] 8031d84: ee25 5b07 vmul.f64 d5, d5, d7 8031d88: f507 63cf add.w r3, r7, #1656 ; 0x678 8031d8c: ed93 7b00 vldr d7, [r3] 8031d90: ee25 7b07 vmul.f64 d7, d5, d7 8031d94: ee36 5b07 vadd.f64 d5, d6, d7 8031d98: f507 63c8 add.w r3, r7, #1600 ; 0x640 8031d9c: ed93 7b00 vldr d7, [r3] 8031da0: ee85 6b07 vdiv.f64 d6, d5, d7 8031da4: f507 63cc add.w r3, r7, #1632 ; 0x660 8031da8: ed93 7b00 vldr d7, [r3] 8031dac: ee26 5b07 vmul.f64 d5, d6, d7 8031db0: f507 63c9 add.w r3, r7, #1608 ; 0x648 8031db4: ed93 6b00 vldr d6, [r3] 8031db8: ee85 7b06 vdiv.f64 d7, d5, d6 8031dbc: f507 6293 add.w r2, r7, #1176 ; 0x498 8031dc0: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8031dc4: 00db lsls r3, r3, #3 8031dc6: 4413 add r3, r2 8031dc8: ed83 7b00 vstr d7, [r3] b1[k] = (2.0*F*Q*T*T - 8.0*F*Q) / Arg *C/F; 8031dcc: f507 63c9 add.w r3, r7, #1608 ; 0x648 8031dd0: ed93 7b00 vldr d7, [r3] 8031dd4: ee37 6b07 vadd.f64 d6, d7, d7 8031dd8: f507 63d1 add.w r3, r7, #1672 ; 0x688 8031ddc: ed93 7b00 vldr d7, [r3] 8031de0: ee26 6b07 vmul.f64 d6, d6, d7 8031de4: f507 63cf add.w r3, r7, #1656 ; 0x678 8031de8: ed93 7b00 vldr d7, [r3] 8031dec: ee26 6b07 vmul.f64 d6, d6, d7 8031df0: f507 63cf add.w r3, r7, #1656 ; 0x678 8031df4: ed93 7b00 vldr d7, [r3] 8031df8: ee26 6b07 vmul.f64 d6, d6, d7 8031dfc: f507 63c9 add.w r3, r7, #1608 ; 0x648 8031e00: ed93 7b00 vldr d7, [r3] 8031e04: eeb2 5b00 vmov.f64 d5, #32 ; 0x41000000 8.0 8031e08: ee27 5b05 vmul.f64 d5, d7, d5 8031e0c: f507 63d1 add.w r3, r7, #1672 ; 0x688 8031e10: ed93 7b00 vldr d7, [r3] 8031e14: ee25 7b07 vmul.f64 d7, d5, d7 8031e18: ee36 5b47 vsub.f64 d5, d6, d7 8031e1c: f507 63c8 add.w r3, r7, #1600 ; 0x640 8031e20: ed93 7b00 vldr d7, [r3] 8031e24: ee85 6b07 vdiv.f64 d6, d5, d7 8031e28: f507 63cc add.w r3, r7, #1632 ; 0x660 8031e2c: ed93 7b00 vldr d7, [r3] 8031e30: ee26 5b07 vmul.f64 d5, d6, d7 8031e34: f507 63c9 add.w r3, r7, #1608 ; 0x648 8031e38: ed93 6b00 vldr d6, [r3] 8031e3c: ee85 7b06 vdiv.f64 d7, d5, d6 8031e40: f507 6289 add.w r2, r7, #1096 ; 0x448 8031e44: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8031e48: 00db lsls r3, r3, #3 8031e4a: 4413 add r3, r2 8031e4c: ed83 7b00 vstr d7, [r3] b0[k] = (2.0*E*T + F*Q*T*T +4.0*F*Q) / Arg *C/F; 8031e50: f507 63ca add.w r3, r7, #1616 ; 0x650 8031e54: ed93 7b00 vldr d7, [r3] 8031e58: ee37 6b07 vadd.f64 d6, d7, d7 8031e5c: f507 63cf add.w r3, r7, #1656 ; 0x678 8031e60: ed93 7b00 vldr d7, [r3] 8031e64: ee26 6b07 vmul.f64 d6, d6, d7 8031e68: f507 63c9 add.w r3, r7, #1608 ; 0x648 8031e6c: ed93 5b00 vldr d5, [r3] 8031e70: f507 63d1 add.w r3, r7, #1672 ; 0x688 8031e74: ed93 7b00 vldr d7, [r3] 8031e78: ee25 5b07 vmul.f64 d5, d5, d7 8031e7c: f507 63cf add.w r3, r7, #1656 ; 0x678 8031e80: ed93 7b00 vldr d7, [r3] 8031e84: ee25 5b07 vmul.f64 d5, d5, d7 8031e88: f507 63cf add.w r3, r7, #1656 ; 0x678 8031e8c: ed93 7b00 vldr d7, [r3] 8031e90: ee25 7b07 vmul.f64 d7, d5, d7 8031e94: ee36 6b07 vadd.f64 d6, d6, d7 8031e98: f507 63c9 add.w r3, r7, #1608 ; 0x648 8031e9c: ed93 7b00 vldr d7, [r3] 8031ea0: eeb1 5b00 vmov.f64 d5, #16 ; 0x40800000 4.0 8031ea4: ee27 5b05 vmul.f64 d5, d7, d5 8031ea8: f507 63d1 add.w r3, r7, #1672 ; 0x688 8031eac: ed93 7b00 vldr d7, [r3] 8031eb0: ee25 7b07 vmul.f64 d7, d5, d7 8031eb4: ee36 5b07 vadd.f64 d5, d6, d7 8031eb8: f507 63c8 add.w r3, r7, #1600 ; 0x640 8031ebc: ed93 7b00 vldr d7, [r3] 8031ec0: ee85 6b07 vdiv.f64 d6, d5, d7 8031ec4: f507 63cc add.w r3, r7, #1632 ; 0x660 8031ec8: ed93 7b00 vldr d7, [r3] 8031ecc: ee26 5b07 vmul.f64 d5, d6, d7 8031ed0: f507 63c9 add.w r3, r7, #1608 ; 0x648 8031ed4: ed93 6b00 vldr d6, [r3] 8031ed8: ee85 7b06 vdiv.f64 d7, d5, d6 8031edc: f507 727e add.w r2, r7, #1016 ; 0x3f8 8031ee0: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8031ee4: 00db lsls r3, r3, #3 8031ee6: 4413 add r3, r2 8031ee8: ed83 7b00 vstr d7, [r3] k++; 8031eec: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8031ef0: 3301 adds r3, #1 8031ef2: f8c7 3698 str.w r3, [r7, #1688] ; 0x698 8031ef6: f001 b8a7 b.w 8033048 8031efa: bf00 nop 8031efc: 3ff00000 .word 0x3ff00000 } else { IIR.a4[j] = (4.0*A*T*T - 2.0*B*T*T*T*Q + 8.0*C*Q*Q*T*T - 8.0*B*T*Q + C*Q*Q*T*T*T*T + 16.0*C*Q*Q) * -F; 8031f00: f507 63ce add.w r3, r7, #1648 ; 0x670 8031f04: ed93 7b00 vldr d7, [r3] 8031f08: eeb1 6b00 vmov.f64 d6, #16 ; 0x40800000 4.0 8031f0c: ee27 6b06 vmul.f64 d6, d7, d6 8031f10: f507 63cf add.w r3, r7, #1656 ; 0x678 8031f14: ed93 7b00 vldr d7, [r3] 8031f18: ee26 6b07 vmul.f64 d6, d6, d7 8031f1c: f507 63cf add.w r3, r7, #1656 ; 0x678 8031f20: ed93 7b00 vldr d7, [r3] 8031f24: ee26 6b07 vmul.f64 d6, d6, d7 8031f28: f507 63cd add.w r3, r7, #1640 ; 0x668 8031f2c: ed93 7b00 vldr d7, [r3] 8031f30: ee37 5b07 vadd.f64 d5, d7, d7 8031f34: f507 63cf add.w r3, r7, #1656 ; 0x678 8031f38: ed93 7b00 vldr d7, [r3] 8031f3c: ee25 5b07 vmul.f64 d5, d5, d7 8031f40: f507 63cf add.w r3, r7, #1656 ; 0x678 8031f44: ed93 7b00 vldr d7, [r3] 8031f48: ee25 5b07 vmul.f64 d5, d5, d7 8031f4c: f507 63cf add.w r3, r7, #1656 ; 0x678 8031f50: ed93 7b00 vldr d7, [r3] 8031f54: ee25 5b07 vmul.f64 d5, d5, d7 8031f58: f507 63d1 add.w r3, r7, #1672 ; 0x688 8031f5c: ed93 7b00 vldr d7, [r3] 8031f60: ee25 7b07 vmul.f64 d7, d5, d7 8031f64: ee36 6b47 vsub.f64 d6, d6, d7 8031f68: f507 63cc add.w r3, r7, #1632 ; 0x660 8031f6c: ed93 7b00 vldr d7, [r3] 8031f70: eeb2 5b00 vmov.f64 d5, #32 ; 0x41000000 8.0 8031f74: ee27 5b05 vmul.f64 d5, d7, d5 8031f78: f507 63d1 add.w r3, r7, #1672 ; 0x688 8031f7c: ed93 7b00 vldr d7, [r3] 8031f80: ee25 5b07 vmul.f64 d5, d5, d7 8031f84: f507 63d1 add.w r3, r7, #1672 ; 0x688 8031f88: ed93 7b00 vldr d7, [r3] 8031f8c: ee25 5b07 vmul.f64 d5, d5, d7 8031f90: f507 63cf add.w r3, r7, #1656 ; 0x678 8031f94: ed93 7b00 vldr d7, [r3] 8031f98: ee25 5b07 vmul.f64 d5, d5, d7 8031f9c: f507 63cf add.w r3, r7, #1656 ; 0x678 8031fa0: ed93 7b00 vldr d7, [r3] 8031fa4: ee25 7b07 vmul.f64 d7, d5, d7 8031fa8: ee36 6b07 vadd.f64 d6, d6, d7 8031fac: f507 63cd add.w r3, r7, #1640 ; 0x668 8031fb0: ed93 7b00 vldr d7, [r3] 8031fb4: eeb2 5b00 vmov.f64 d5, #32 ; 0x41000000 8.0 8031fb8: ee27 5b05 vmul.f64 d5, d7, d5 8031fbc: f507 63cf add.w r3, r7, #1656 ; 0x678 8031fc0: ed93 7b00 vldr d7, [r3] 8031fc4: ee25 5b07 vmul.f64 d5, d5, d7 8031fc8: f507 63d1 add.w r3, r7, #1672 ; 0x688 8031fcc: ed93 7b00 vldr d7, [r3] 8031fd0: ee25 7b07 vmul.f64 d7, d5, d7 8031fd4: ee36 6b47 vsub.f64 d6, d6, d7 8031fd8: f507 63cc add.w r3, r7, #1632 ; 0x660 8031fdc: ed93 5b00 vldr d5, [r3] 8031fe0: f507 63d1 add.w r3, r7, #1672 ; 0x688 8031fe4: ed93 7b00 vldr d7, [r3] 8031fe8: ee25 5b07 vmul.f64 d5, d5, d7 8031fec: f507 63d1 add.w r3, r7, #1672 ; 0x688 8031ff0: ed93 7b00 vldr d7, [r3] 8031ff4: ee25 5b07 vmul.f64 d5, d5, d7 8031ff8: f507 63cf add.w r3, r7, #1656 ; 0x678 8031ffc: ed93 7b00 vldr d7, [r3] 8032000: ee25 5b07 vmul.f64 d5, d5, d7 8032004: f507 63cf add.w r3, r7, #1656 ; 0x678 8032008: ed93 7b00 vldr d7, [r3] 803200c: ee25 5b07 vmul.f64 d5, d5, d7 8032010: f507 63cf add.w r3, r7, #1656 ; 0x678 8032014: ed93 7b00 vldr d7, [r3] 8032018: ee25 5b07 vmul.f64 d5, d5, d7 803201c: f507 63cf add.w r3, r7, #1656 ; 0x678 8032020: ed93 7b00 vldr d7, [r3] 8032024: ee25 7b07 vmul.f64 d7, d5, d7 8032028: ee36 6b07 vadd.f64 d6, d6, d7 803202c: f507 63cc add.w r3, r7, #1632 ; 0x660 8032030: ed93 7b00 vldr d7, [r3] 8032034: eeb3 5b00 vmov.f64 d5, #48 ; 0x41800000 16.0 8032038: ee27 5b05 vmul.f64 d5, d7, d5 803203c: f507 63d1 add.w r3, r7, #1672 ; 0x688 8032040: ed93 7b00 vldr d7, [r3] 8032044: ee25 5b07 vmul.f64 d5, d5, d7 8032048: f507 63d1 add.w r3, r7, #1672 ; 0x688 803204c: ed93 7b00 vldr d7, [r3] 8032050: ee25 7b07 vmul.f64 d7, d5, d7 8032054: ee36 6b07 vadd.f64 d6, d6, d7 8032058: f507 63c9 add.w r3, r7, #1608 ; 0x648 803205c: ed93 7b00 vldr d7, [r3] 8032060: eeb1 7b47 vneg.f64 d7, d7 8032064: ee26 7b07 vmul.f64 d7, d6, d7 8032068: 4afb ldr r2, [pc, #1004] ; (8032458 ) 803206a: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 803206e: 3328 adds r3, #40 ; 0x28 8032070: 00db lsls r3, r3, #3 8032072: 4413 add r3, r2 8032074: ed83 7b00 vstr d7, [r3] IIR.a3[j] = (16.0*B*T*Q + 4.0*C*Q*Q*T*T*T*T - 64.0*C*Q*Q - 4.0*B*T*T*T*Q) * -F; 8032078: f507 63cd add.w r3, r7, #1640 ; 0x668 803207c: ed93 7b00 vldr d7, [r3] 8032080: eeb3 6b00 vmov.f64 d6, #48 ; 0x41800000 16.0 8032084: ee27 6b06 vmul.f64 d6, d7, d6 8032088: f507 63cf add.w r3, r7, #1656 ; 0x678 803208c: ed93 7b00 vldr d7, [r3] 8032090: ee26 6b07 vmul.f64 d6, d6, d7 8032094: f507 63d1 add.w r3, r7, #1672 ; 0x688 8032098: ed93 7b00 vldr d7, [r3] 803209c: ee26 6b07 vmul.f64 d6, d6, d7 80320a0: f507 63cc add.w r3, r7, #1632 ; 0x660 80320a4: ed93 7b00 vldr d7, [r3] 80320a8: eeb1 5b00 vmov.f64 d5, #16 ; 0x40800000 4.0 80320ac: ee27 5b05 vmul.f64 d5, d7, d5 80320b0: f507 63d1 add.w r3, r7, #1672 ; 0x688 80320b4: ed93 7b00 vldr d7, [r3] 80320b8: ee25 5b07 vmul.f64 d5, d5, d7 80320bc: f507 63d1 add.w r3, r7, #1672 ; 0x688 80320c0: ed93 7b00 vldr d7, [r3] 80320c4: ee25 5b07 vmul.f64 d5, d5, d7 80320c8: f507 63cf add.w r3, r7, #1656 ; 0x678 80320cc: ed93 7b00 vldr d7, [r3] 80320d0: ee25 5b07 vmul.f64 d5, d5, d7 80320d4: f507 63cf add.w r3, r7, #1656 ; 0x678 80320d8: ed93 7b00 vldr d7, [r3] 80320dc: ee25 5b07 vmul.f64 d5, d5, d7 80320e0: f507 63cf add.w r3, r7, #1656 ; 0x678 80320e4: ed93 7b00 vldr d7, [r3] 80320e8: ee25 5b07 vmul.f64 d5, d5, d7 80320ec: f507 63cf add.w r3, r7, #1656 ; 0x678 80320f0: ed93 7b00 vldr d7, [r3] 80320f4: ee25 7b07 vmul.f64 d7, d5, d7 80320f8: ee36 6b07 vadd.f64 d6, d6, d7 80320fc: f507 63cc add.w r3, r7, #1632 ; 0x660 8032100: ed93 7b00 vldr d7, [r3] 8032104: ed9f 5bd0 vldr d5, [pc, #832] ; 8032448 8032108: ee27 5b05 vmul.f64 d5, d7, d5 803210c: f507 63d1 add.w r3, r7, #1672 ; 0x688 8032110: ed93 7b00 vldr d7, [r3] 8032114: ee25 5b07 vmul.f64 d5, d5, d7 8032118: f507 63d1 add.w r3, r7, #1672 ; 0x688 803211c: ed93 7b00 vldr d7, [r3] 8032120: ee25 7b07 vmul.f64 d7, d5, d7 8032124: ee36 6b47 vsub.f64 d6, d6, d7 8032128: f507 63cd add.w r3, r7, #1640 ; 0x668 803212c: ed93 7b00 vldr d7, [r3] 8032130: eeb1 5b00 vmov.f64 d5, #16 ; 0x40800000 4.0 8032134: ee27 5b05 vmul.f64 d5, d7, d5 8032138: f507 63cf add.w r3, r7, #1656 ; 0x678 803213c: ed93 7b00 vldr d7, [r3] 8032140: ee25 5b07 vmul.f64 d5, d5, d7 8032144: f507 63cf add.w r3, r7, #1656 ; 0x678 8032148: ed93 7b00 vldr d7, [r3] 803214c: ee25 5b07 vmul.f64 d5, d5, d7 8032150: f507 63cf add.w r3, r7, #1656 ; 0x678 8032154: ed93 7b00 vldr d7, [r3] 8032158: ee25 5b07 vmul.f64 d5, d5, d7 803215c: f507 63d1 add.w r3, r7, #1672 ; 0x688 8032160: ed93 7b00 vldr d7, [r3] 8032164: ee25 7b07 vmul.f64 d7, d5, d7 8032168: ee36 6b47 vsub.f64 d6, d6, d7 803216c: f507 63c9 add.w r3, r7, #1608 ; 0x648 8032170: ed93 7b00 vldr d7, [r3] 8032174: eeb1 7b47 vneg.f64 d7, d7 8032178: ee26 7b07 vmul.f64 d7, d6, d7 803217c: 4ab6 ldr r2, [pc, #728] ; (8032458 ) 803217e: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8032182: 331e adds r3, #30 8032184: 00db lsls r3, r3, #3 8032186: 4413 add r3, r2 8032188: ed83 7b00 vstr d7, [r3] IIR.a2[j] = (96.0*C*Q*Q - 8.0*A*T*T - 16.0*C*Q*Q*T*T + 6.0*C*Q*Q*T*T*T*T) * -F; 803218c: f507 63cc add.w r3, r7, #1632 ; 0x660 8032190: ed93 7b00 vldr d7, [r3] 8032194: ed9f 6bae vldr d6, [pc, #696] ; 8032450 8032198: ee27 6b06 vmul.f64 d6, d7, d6 803219c: f507 63d1 add.w r3, r7, #1672 ; 0x688 80321a0: ed93 7b00 vldr d7, [r3] 80321a4: ee26 6b07 vmul.f64 d6, d6, d7 80321a8: f507 63d1 add.w r3, r7, #1672 ; 0x688 80321ac: ed93 7b00 vldr d7, [r3] 80321b0: ee26 6b07 vmul.f64 d6, d6, d7 80321b4: f507 63ce add.w r3, r7, #1648 ; 0x670 80321b8: ed93 7b00 vldr d7, [r3] 80321bc: eeb2 5b00 vmov.f64 d5, #32 ; 0x41000000 8.0 80321c0: ee27 5b05 vmul.f64 d5, d7, d5 80321c4: f507 63cf add.w r3, r7, #1656 ; 0x678 80321c8: ed93 7b00 vldr d7, [r3] 80321cc: ee25 5b07 vmul.f64 d5, d5, d7 80321d0: f507 63cf add.w r3, r7, #1656 ; 0x678 80321d4: ed93 7b00 vldr d7, [r3] 80321d8: ee25 7b07 vmul.f64 d7, d5, d7 80321dc: ee36 6b47 vsub.f64 d6, d6, d7 80321e0: f507 63cc add.w r3, r7, #1632 ; 0x660 80321e4: ed93 7b00 vldr d7, [r3] 80321e8: eeb3 5b00 vmov.f64 d5, #48 ; 0x41800000 16.0 80321ec: ee27 5b05 vmul.f64 d5, d7, d5 80321f0: f507 63d1 add.w r3, r7, #1672 ; 0x688 80321f4: ed93 7b00 vldr d7, [r3] 80321f8: ee25 5b07 vmul.f64 d5, d5, d7 80321fc: f507 63d1 add.w r3, r7, #1672 ; 0x688 8032200: ed93 7b00 vldr d7, [r3] 8032204: ee25 5b07 vmul.f64 d5, d5, d7 8032208: f507 63cf add.w r3, r7, #1656 ; 0x678 803220c: ed93 7b00 vldr d7, [r3] 8032210: ee25 5b07 vmul.f64 d5, d5, d7 8032214: f507 63cf add.w r3, r7, #1656 ; 0x678 8032218: ed93 7b00 vldr d7, [r3] 803221c: ee25 7b07 vmul.f64 d7, d5, d7 8032220: ee36 6b47 vsub.f64 d6, d6, d7 8032224: f507 63cc add.w r3, r7, #1632 ; 0x660 8032228: ed93 7b00 vldr d7, [r3] 803222c: eeb1 5b08 vmov.f64 d5, #24 ; 0x40c00000 6.0 8032230: ee27 5b05 vmul.f64 d5, d7, d5 8032234: f507 63d1 add.w r3, r7, #1672 ; 0x688 8032238: ed93 7b00 vldr d7, [r3] 803223c: ee25 5b07 vmul.f64 d5, d5, d7 8032240: f507 63d1 add.w r3, r7, #1672 ; 0x688 8032244: ed93 7b00 vldr d7, [r3] 8032248: ee25 5b07 vmul.f64 d5, d5, d7 803224c: f507 63cf add.w r3, r7, #1656 ; 0x678 8032250: ed93 7b00 vldr d7, [r3] 8032254: ee25 5b07 vmul.f64 d5, d5, d7 8032258: f507 63cf add.w r3, r7, #1656 ; 0x678 803225c: ed93 7b00 vldr d7, [r3] 8032260: ee25 5b07 vmul.f64 d5, d5, d7 8032264: f507 63cf add.w r3, r7, #1656 ; 0x678 8032268: ed93 7b00 vldr d7, [r3] 803226c: ee25 5b07 vmul.f64 d5, d5, d7 8032270: f507 63cf add.w r3, r7, #1656 ; 0x678 8032274: ed93 7b00 vldr d7, [r3] 8032278: ee25 7b07 vmul.f64 d7, d5, d7 803227c: ee36 6b07 vadd.f64 d6, d6, d7 8032280: f507 63c9 add.w r3, r7, #1608 ; 0x648 8032284: ed93 7b00 vldr d7, [r3] 8032288: eeb1 7b47 vneg.f64 d7, d7 803228c: ee26 7b07 vmul.f64 d7, d6, d7 8032290: 4a71 ldr r2, [pc, #452] ; (8032458 ) 8032292: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8032296: 3314 adds r3, #20 8032298: 00db lsls r3, r3, #3 803229a: 4413 add r3, r2 803229c: ed83 7b00 vstr d7, [r3] IIR.a1[j] = (4.0*B*T*T*T*Q - 16.0*B*T*Q - 64.0*C*Q*Q + 4.0*C*Q*Q*T*T*T*T) * -F; 80322a0: f507 63cd add.w r3, r7, #1640 ; 0x668 80322a4: ed93 7b00 vldr d7, [r3] 80322a8: eeb1 6b00 vmov.f64 d6, #16 ; 0x40800000 4.0 80322ac: ee27 6b06 vmul.f64 d6, d7, d6 80322b0: f507 63cf add.w r3, r7, #1656 ; 0x678 80322b4: ed93 7b00 vldr d7, [r3] 80322b8: ee26 6b07 vmul.f64 d6, d6, d7 80322bc: f507 63cf add.w r3, r7, #1656 ; 0x678 80322c0: ed93 7b00 vldr d7, [r3] 80322c4: ee26 6b07 vmul.f64 d6, d6, d7 80322c8: f507 63cf add.w r3, r7, #1656 ; 0x678 80322cc: ed93 7b00 vldr d7, [r3] 80322d0: ee26 6b07 vmul.f64 d6, d6, d7 80322d4: f507 63d1 add.w r3, r7, #1672 ; 0x688 80322d8: ed93 7b00 vldr d7, [r3] 80322dc: ee26 6b07 vmul.f64 d6, d6, d7 80322e0: f507 63cd add.w r3, r7, #1640 ; 0x668 80322e4: ed93 7b00 vldr d7, [r3] 80322e8: eeb3 5b00 vmov.f64 d5, #48 ; 0x41800000 16.0 80322ec: ee27 5b05 vmul.f64 d5, d7, d5 80322f0: f507 63cf add.w r3, r7, #1656 ; 0x678 80322f4: ed93 7b00 vldr d7, [r3] 80322f8: ee25 5b07 vmul.f64 d5, d5, d7 80322fc: f507 63d1 add.w r3, r7, #1672 ; 0x688 8032300: ed93 7b00 vldr d7, [r3] 8032304: ee25 7b07 vmul.f64 d7, d5, d7 8032308: ee36 6b47 vsub.f64 d6, d6, d7 803230c: f507 63cc add.w r3, r7, #1632 ; 0x660 8032310: ed93 7b00 vldr d7, [r3] 8032314: ed9f 5b4c vldr d5, [pc, #304] ; 8032448 8032318: ee27 5b05 vmul.f64 d5, d7, d5 803231c: f507 63d1 add.w r3, r7, #1672 ; 0x688 8032320: ed93 7b00 vldr d7, [r3] 8032324: ee25 5b07 vmul.f64 d5, d5, d7 8032328: f507 63d1 add.w r3, r7, #1672 ; 0x688 803232c: ed93 7b00 vldr d7, [r3] 8032330: ee25 7b07 vmul.f64 d7, d5, d7 8032334: ee36 6b47 vsub.f64 d6, d6, d7 8032338: f507 63cc add.w r3, r7, #1632 ; 0x660 803233c: ed93 7b00 vldr d7, [r3] 8032340: eeb1 5b00 vmov.f64 d5, #16 ; 0x40800000 4.0 8032344: ee27 5b05 vmul.f64 d5, d7, d5 8032348: f507 63d1 add.w r3, r7, #1672 ; 0x688 803234c: ed93 7b00 vldr d7, [r3] 8032350: ee25 5b07 vmul.f64 d5, d5, d7 8032354: f507 63d1 add.w r3, r7, #1672 ; 0x688 8032358: ed93 7b00 vldr d7, [r3] 803235c: ee25 5b07 vmul.f64 d5, d5, d7 8032360: f507 63cf add.w r3, r7, #1656 ; 0x678 8032364: ed93 7b00 vldr d7, [r3] 8032368: ee25 5b07 vmul.f64 d5, d5, d7 803236c: f507 63cf add.w r3, r7, #1656 ; 0x678 8032370: ed93 7b00 vldr d7, [r3] 8032374: ee25 5b07 vmul.f64 d5, d5, d7 8032378: f507 63cf add.w r3, r7, #1656 ; 0x678 803237c: ed93 7b00 vldr d7, [r3] 8032380: ee25 5b07 vmul.f64 d5, d5, d7 8032384: f507 63cf add.w r3, r7, #1656 ; 0x678 8032388: ed93 7b00 vldr d7, [r3] 803238c: ee25 7b07 vmul.f64 d7, d5, d7 8032390: ee36 6b07 vadd.f64 d6, d6, d7 8032394: f507 63c9 add.w r3, r7, #1608 ; 0x648 8032398: ed93 7b00 vldr d7, [r3] 803239c: eeb1 7b47 vneg.f64 d7, d7 80323a0: ee26 7b07 vmul.f64 d7, d6, d7 80323a4: 4a2c ldr r2, [pc, #176] ; (8032458 ) 80323a6: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 80323aa: 330a adds r3, #10 80323ac: 00db lsls r3, r3, #3 80323ae: 4413 add r3, r2 80323b0: ed83 7b00 vstr d7, [r3] IIR.a0[j] = (4.0*A*T*T + 2.0*B*T*T*T*Q + 8.0*C*Q*Q*T*T + 8.0*B*T*Q + C*Q*Q*T*T*T*T + 16.0*C*Q*Q) * -F; 80323b4: f507 63ce add.w r3, r7, #1648 ; 0x670 80323b8: ed93 7b00 vldr d7, [r3] 80323bc: eeb1 6b00 vmov.f64 d6, #16 ; 0x40800000 4.0 80323c0: ee27 6b06 vmul.f64 d6, d7, d6 80323c4: f507 63cf add.w r3, r7, #1656 ; 0x678 80323c8: ed93 7b00 vldr d7, [r3] 80323cc: ee26 6b07 vmul.f64 d6, d6, d7 80323d0: f507 63cf add.w r3, r7, #1656 ; 0x678 80323d4: ed93 7b00 vldr d7, [r3] 80323d8: ee26 6b07 vmul.f64 d6, d6, d7 80323dc: f507 63cd add.w r3, r7, #1640 ; 0x668 80323e0: ed93 7b00 vldr d7, [r3] 80323e4: ee37 5b07 vadd.f64 d5, d7, d7 80323e8: f507 63cf add.w r3, r7, #1656 ; 0x678 80323ec: ed93 7b00 vldr d7, [r3] 80323f0: ee25 5b07 vmul.f64 d5, d5, d7 80323f4: f507 63cf add.w r3, r7, #1656 ; 0x678 80323f8: ed93 7b00 vldr d7, [r3] 80323fc: ee25 5b07 vmul.f64 d5, d5, d7 8032400: f507 63cf add.w r3, r7, #1656 ; 0x678 8032404: ed93 7b00 vldr d7, [r3] 8032408: ee25 5b07 vmul.f64 d5, d5, d7 803240c: f507 63d1 add.w r3, r7, #1672 ; 0x688 8032410: ed93 7b00 vldr d7, [r3] 8032414: ee25 7b07 vmul.f64 d7, d5, d7 8032418: ee36 6b07 vadd.f64 d6, d6, d7 803241c: f507 63cc add.w r3, r7, #1632 ; 0x660 8032420: ed93 7b00 vldr d7, [r3] 8032424: eeb2 5b00 vmov.f64 d5, #32 ; 0x41000000 8.0 8032428: ee27 5b05 vmul.f64 d5, d7, d5 803242c: f507 63d1 add.w r3, r7, #1672 ; 0x688 8032430: ed93 7b00 vldr d7, [r3] 8032434: ee25 5b07 vmul.f64 d5, d5, d7 8032438: f507 63d1 add.w r3, r7, #1672 ; 0x688 803243c: ed93 7b00 vldr d7, [r3] 8032440: ee25 5b07 vmul.f64 d5, d5, d7 8032444: e00a b.n 803245c 8032446: bf00 nop 8032448: 00000000 .word 0x00000000 803244c: 40500000 .word 0x40500000 8032450: 00000000 .word 0x00000000 8032454: 40580000 .word 0x40580000 8032458: 20025918 .word 0x20025918 803245c: f507 63cf add.w r3, r7, #1656 ; 0x678 8032460: ed93 7b00 vldr d7, [r3] 8032464: ee25 5b07 vmul.f64 d5, d5, d7 8032468: f507 63cf add.w r3, r7, #1656 ; 0x678 803246c: ed93 7b00 vldr d7, [r3] 8032470: ee25 7b07 vmul.f64 d7, d5, d7 8032474: ee36 6b07 vadd.f64 d6, d6, d7 8032478: f507 63cd add.w r3, r7, #1640 ; 0x668 803247c: ed93 7b00 vldr d7, [r3] 8032480: eeb2 5b00 vmov.f64 d5, #32 ; 0x41000000 8.0 8032484: ee27 5b05 vmul.f64 d5, d7, d5 8032488: f507 63cf add.w r3, r7, #1656 ; 0x678 803248c: ed93 7b00 vldr d7, [r3] 8032490: ee25 5b07 vmul.f64 d5, d5, d7 8032494: f507 63d1 add.w r3, r7, #1672 ; 0x688 8032498: ed93 7b00 vldr d7, [r3] 803249c: ee25 7b07 vmul.f64 d7, d5, d7 80324a0: ee36 6b07 vadd.f64 d6, d6, d7 80324a4: f507 63cc add.w r3, r7, #1632 ; 0x660 80324a8: ed93 5b00 vldr d5, [r3] 80324ac: f507 63d1 add.w r3, r7, #1672 ; 0x688 80324b0: ed93 7b00 vldr d7, [r3] 80324b4: ee25 5b07 vmul.f64 d5, d5, d7 80324b8: f507 63d1 add.w r3, r7, #1672 ; 0x688 80324bc: ed93 7b00 vldr d7, [r3] 80324c0: ee25 5b07 vmul.f64 d5, d5, d7 80324c4: f507 63cf add.w r3, r7, #1656 ; 0x678 80324c8: ed93 7b00 vldr d7, [r3] 80324cc: ee25 5b07 vmul.f64 d5, d5, d7 80324d0: f507 63cf add.w r3, r7, #1656 ; 0x678 80324d4: ed93 7b00 vldr d7, [r3] 80324d8: ee25 5b07 vmul.f64 d5, d5, d7 80324dc: f507 63cf add.w r3, r7, #1656 ; 0x678 80324e0: ed93 7b00 vldr d7, [r3] 80324e4: ee25 5b07 vmul.f64 d5, d5, d7 80324e8: f507 63cf add.w r3, r7, #1656 ; 0x678 80324ec: ed93 7b00 vldr d7, [r3] 80324f0: ee25 7b07 vmul.f64 d7, d5, d7 80324f4: ee36 6b07 vadd.f64 d6, d6, d7 80324f8: f507 63cc add.w r3, r7, #1632 ; 0x660 80324fc: ed93 7b00 vldr d7, [r3] 8032500: eeb3 5b00 vmov.f64 d5, #48 ; 0x41800000 16.0 8032504: ee27 5b05 vmul.f64 d5, d7, d5 8032508: f507 63d1 add.w r3, r7, #1672 ; 0x688 803250c: ed93 7b00 vldr d7, [r3] 8032510: ee25 5b07 vmul.f64 d5, d5, d7 8032514: f507 63d1 add.w r3, r7, #1672 ; 0x688 8032518: ed93 7b00 vldr d7, [r3] 803251c: ee25 7b07 vmul.f64 d7, d5, d7 8032520: ee36 6b07 vadd.f64 d6, d6, d7 8032524: f507 63c9 add.w r3, r7, #1608 ; 0x648 8032528: ed93 7b00 vldr d7, [r3] 803252c: eeb1 7b47 vneg.f64 d7, d7 8032530: ee26 7b07 vmul.f64 d7, d6, d7 8032534: 4afa ldr r2, [pc, #1000] ; (8032920 ) 8032536: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 803253a: 00db lsls r3, r3, #3 803253c: 4413 add r3, r2 803253e: ed83 7b00 vstr d7, [r3] // Our Notch Numerator isn't simple. [ (4+T^2)*z^2 - 2*(4-T^2)*z + (4+T^2) ]^2 IIR.b4[j] = (2.0*E*T*T*T*Q - 4.0*D*T*T - 8.0*F*Q*Q*T*T + 8.0*E*T*Q - 16.0*F*Q*Q - F*Q*Q*T*T*T*T) * C; 8032542: f507 63ca add.w r3, r7, #1616 ; 0x650 8032546: ed93 7b00 vldr d7, [r3] 803254a: ee37 6b07 vadd.f64 d6, d7, d7 803254e: f507 63cf add.w r3, r7, #1656 ; 0x678 8032552: ed93 7b00 vldr d7, [r3] 8032556: ee26 6b07 vmul.f64 d6, d6, d7 803255a: f507 63cf add.w r3, r7, #1656 ; 0x678 803255e: ed93 7b00 vldr d7, [r3] 8032562: ee26 6b07 vmul.f64 d6, d6, d7 8032566: f507 63cf add.w r3, r7, #1656 ; 0x678 803256a: ed93 7b00 vldr d7, [r3] 803256e: ee26 6b07 vmul.f64 d6, d6, d7 8032572: f507 63d1 add.w r3, r7, #1672 ; 0x688 8032576: ed93 7b00 vldr d7, [r3] 803257a: ee26 6b07 vmul.f64 d6, d6, d7 803257e: f507 63cb add.w r3, r7, #1624 ; 0x658 8032582: ed93 7b00 vldr d7, [r3] 8032586: eeb1 5b00 vmov.f64 d5, #16 ; 0x40800000 4.0 803258a: ee27 5b05 vmul.f64 d5, d7, d5 803258e: f507 63cf add.w r3, r7, #1656 ; 0x678 8032592: ed93 7b00 vldr d7, [r3] 8032596: ee25 5b07 vmul.f64 d5, d5, d7 803259a: f507 63cf add.w r3, r7, #1656 ; 0x678 803259e: ed93 7b00 vldr d7, [r3] 80325a2: ee25 7b07 vmul.f64 d7, d5, d7 80325a6: ee36 6b47 vsub.f64 d6, d6, d7 80325aa: f507 63c9 add.w r3, r7, #1608 ; 0x648 80325ae: ed93 7b00 vldr d7, [r3] 80325b2: eeb2 5b00 vmov.f64 d5, #32 ; 0x41000000 8.0 80325b6: ee27 5b05 vmul.f64 d5, d7, d5 80325ba: f507 63d1 add.w r3, r7, #1672 ; 0x688 80325be: ed93 7b00 vldr d7, [r3] 80325c2: ee25 5b07 vmul.f64 d5, d5, d7 80325c6: f507 63d1 add.w r3, r7, #1672 ; 0x688 80325ca: ed93 7b00 vldr d7, [r3] 80325ce: ee25 5b07 vmul.f64 d5, d5, d7 80325d2: f507 63cf add.w r3, r7, #1656 ; 0x678 80325d6: ed93 7b00 vldr d7, [r3] 80325da: ee25 5b07 vmul.f64 d5, d5, d7 80325de: f507 63cf add.w r3, r7, #1656 ; 0x678 80325e2: ed93 7b00 vldr d7, [r3] 80325e6: ee25 7b07 vmul.f64 d7, d5, d7 80325ea: ee36 6b47 vsub.f64 d6, d6, d7 80325ee: f507 63ca add.w r3, r7, #1616 ; 0x650 80325f2: ed93 7b00 vldr d7, [r3] 80325f6: eeb2 5b00 vmov.f64 d5, #32 ; 0x41000000 8.0 80325fa: ee27 5b05 vmul.f64 d5, d7, d5 80325fe: f507 63cf add.w r3, r7, #1656 ; 0x678 8032602: ed93 7b00 vldr d7, [r3] 8032606: ee25 5b07 vmul.f64 d5, d5, d7 803260a: f507 63d1 add.w r3, r7, #1672 ; 0x688 803260e: ed93 7b00 vldr d7, [r3] 8032612: ee25 7b07 vmul.f64 d7, d5, d7 8032616: ee36 6b07 vadd.f64 d6, d6, d7 803261a: f507 63c9 add.w r3, r7, #1608 ; 0x648 803261e: ed93 7b00 vldr d7, [r3] 8032622: eeb3 5b00 vmov.f64 d5, #48 ; 0x41800000 16.0 8032626: ee27 5b05 vmul.f64 d5, d7, d5 803262a: f507 63d1 add.w r3, r7, #1672 ; 0x688 803262e: ed93 7b00 vldr d7, [r3] 8032632: ee25 5b07 vmul.f64 d5, d5, d7 8032636: f507 63d1 add.w r3, r7, #1672 ; 0x688 803263a: ed93 7b00 vldr d7, [r3] 803263e: ee25 7b07 vmul.f64 d7, d5, d7 8032642: ee36 6b47 vsub.f64 d6, d6, d7 8032646: f507 63c9 add.w r3, r7, #1608 ; 0x648 803264a: ed93 5b00 vldr d5, [r3] 803264e: f507 63d1 add.w r3, r7, #1672 ; 0x688 8032652: ed93 7b00 vldr d7, [r3] 8032656: ee25 5b07 vmul.f64 d5, d5, d7 803265a: f507 63d1 add.w r3, r7, #1672 ; 0x688 803265e: ed93 7b00 vldr d7, [r3] 8032662: ee25 5b07 vmul.f64 d5, d5, d7 8032666: f507 63cf add.w r3, r7, #1656 ; 0x678 803266a: ed93 7b00 vldr d7, [r3] 803266e: ee25 5b07 vmul.f64 d5, d5, d7 8032672: f507 63cf add.w r3, r7, #1656 ; 0x678 8032676: ed93 7b00 vldr d7, [r3] 803267a: ee25 5b07 vmul.f64 d5, d5, d7 803267e: f507 63cf add.w r3, r7, #1656 ; 0x678 8032682: ed93 7b00 vldr d7, [r3] 8032686: ee25 5b07 vmul.f64 d5, d5, d7 803268a: f507 63cf add.w r3, r7, #1656 ; 0x678 803268e: ed93 7b00 vldr d7, [r3] 8032692: ee25 7b07 vmul.f64 d7, d5, d7 8032696: ee36 6b47 vsub.f64 d6, d6, d7 803269a: f507 63cc add.w r3, r7, #1632 ; 0x660 803269e: ed93 7b00 vldr d7, [r3] 80326a2: ee26 7b07 vmul.f64 d7, d6, d7 80326a6: 4a9e ldr r2, [pc, #632] ; (8032920 ) 80326a8: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 80326ac: 335a adds r3, #90 ; 0x5a 80326ae: 00db lsls r3, r3, #3 80326b0: 4413 add r3, r2 80326b2: ed83 7b00 vstr d7, [r3] IIR.b3[j] = (64.0*F*Q*Q + 4.0*E*T*T*T*Q - 16.0*E*T*Q - 4.0*F*Q*Q*T*T*T*T) * C; 80326b6: f507 63c9 add.w r3, r7, #1608 ; 0x648 80326ba: ed93 7b00 vldr d7, [r3] 80326be: ed9f 6b94 vldr d6, [pc, #592] ; 8032910 80326c2: ee27 6b06 vmul.f64 d6, d7, d6 80326c6: f507 63d1 add.w r3, r7, #1672 ; 0x688 80326ca: ed93 7b00 vldr d7, [r3] 80326ce: ee26 6b07 vmul.f64 d6, d6, d7 80326d2: f507 63d1 add.w r3, r7, #1672 ; 0x688 80326d6: ed93 7b00 vldr d7, [r3] 80326da: ee26 6b07 vmul.f64 d6, d6, d7 80326de: f507 63ca add.w r3, r7, #1616 ; 0x650 80326e2: ed93 7b00 vldr d7, [r3] 80326e6: eeb1 5b00 vmov.f64 d5, #16 ; 0x40800000 4.0 80326ea: ee27 5b05 vmul.f64 d5, d7, d5 80326ee: f507 63cf add.w r3, r7, #1656 ; 0x678 80326f2: ed93 7b00 vldr d7, [r3] 80326f6: ee25 5b07 vmul.f64 d5, d5, d7 80326fa: f507 63cf add.w r3, r7, #1656 ; 0x678 80326fe: ed93 7b00 vldr d7, [r3] 8032702: ee25 5b07 vmul.f64 d5, d5, d7 8032706: f507 63cf add.w r3, r7, #1656 ; 0x678 803270a: ed93 7b00 vldr d7, [r3] 803270e: ee25 5b07 vmul.f64 d5, d5, d7 8032712: f507 63d1 add.w r3, r7, #1672 ; 0x688 8032716: ed93 7b00 vldr d7, [r3] 803271a: ee25 7b07 vmul.f64 d7, d5, d7 803271e: ee36 6b07 vadd.f64 d6, d6, d7 8032722: f507 63ca add.w r3, r7, #1616 ; 0x650 8032726: ed93 7b00 vldr d7, [r3] 803272a: eeb3 5b00 vmov.f64 d5, #48 ; 0x41800000 16.0 803272e: ee27 5b05 vmul.f64 d5, d7, d5 8032732: f507 63cf add.w r3, r7, #1656 ; 0x678 8032736: ed93 7b00 vldr d7, [r3] 803273a: ee25 5b07 vmul.f64 d5, d5, d7 803273e: f507 63d1 add.w r3, r7, #1672 ; 0x688 8032742: ed93 7b00 vldr d7, [r3] 8032746: ee25 7b07 vmul.f64 d7, d5, d7 803274a: ee36 6b47 vsub.f64 d6, d6, d7 803274e: f507 63c9 add.w r3, r7, #1608 ; 0x648 8032752: ed93 7b00 vldr d7, [r3] 8032756: eeb1 5b00 vmov.f64 d5, #16 ; 0x40800000 4.0 803275a: ee27 5b05 vmul.f64 d5, d7, d5 803275e: f507 63d1 add.w r3, r7, #1672 ; 0x688 8032762: ed93 7b00 vldr d7, [r3] 8032766: ee25 5b07 vmul.f64 d5, d5, d7 803276a: f507 63d1 add.w r3, r7, #1672 ; 0x688 803276e: ed93 7b00 vldr d7, [r3] 8032772: ee25 5b07 vmul.f64 d5, d5, d7 8032776: f507 63cf add.w r3, r7, #1656 ; 0x678 803277a: ed93 7b00 vldr d7, [r3] 803277e: ee25 5b07 vmul.f64 d5, d5, d7 8032782: f507 63cf add.w r3, r7, #1656 ; 0x678 8032786: ed93 7b00 vldr d7, [r3] 803278a: ee25 5b07 vmul.f64 d5, d5, d7 803278e: f507 63cf add.w r3, r7, #1656 ; 0x678 8032792: ed93 7b00 vldr d7, [r3] 8032796: ee25 5b07 vmul.f64 d5, d5, d7 803279a: f507 63cf add.w r3, r7, #1656 ; 0x678 803279e: ed93 7b00 vldr d7, [r3] 80327a2: ee25 7b07 vmul.f64 d7, d5, d7 80327a6: ee36 6b47 vsub.f64 d6, d6, d7 80327aa: f507 63cc add.w r3, r7, #1632 ; 0x660 80327ae: ed93 7b00 vldr d7, [r3] 80327b2: ee26 7b07 vmul.f64 d7, d6, d7 80327b6: 4a5a ldr r2, [pc, #360] ; (8032920 ) 80327b8: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 80327bc: 3350 adds r3, #80 ; 0x50 80327be: 00db lsls r3, r3, #3 80327c0: 4413 add r3, r2 80327c2: ed83 7b00 vstr d7, [r3] IIR.b2[j] = (8.0*D*T*T - 96.0*F*Q*Q + 16.0*F*Q*Q*T*T - 6.0*F*Q*Q*T*T*T*T) * C; 80327c6: f507 63cb add.w r3, r7, #1624 ; 0x658 80327ca: ed93 7b00 vldr d7, [r3] 80327ce: eeb2 6b00 vmov.f64 d6, #32 ; 0x41000000 8.0 80327d2: ee27 6b06 vmul.f64 d6, d7, d6 80327d6: f507 63cf add.w r3, r7, #1656 ; 0x678 80327da: ed93 7b00 vldr d7, [r3] 80327de: ee26 6b07 vmul.f64 d6, d6, d7 80327e2: f507 63cf add.w r3, r7, #1656 ; 0x678 80327e6: ed93 7b00 vldr d7, [r3] 80327ea: ee26 6b07 vmul.f64 d6, d6, d7 80327ee: f507 63c9 add.w r3, r7, #1608 ; 0x648 80327f2: ed93 7b00 vldr d7, [r3] 80327f6: ed9f 5b48 vldr d5, [pc, #288] ; 8032918 80327fa: ee27 5b05 vmul.f64 d5, d7, d5 80327fe: f507 63d1 add.w r3, r7, #1672 ; 0x688 8032802: ed93 7b00 vldr d7, [r3] 8032806: ee25 5b07 vmul.f64 d5, d5, d7 803280a: f507 63d1 add.w r3, r7, #1672 ; 0x688 803280e: ed93 7b00 vldr d7, [r3] 8032812: ee25 7b07 vmul.f64 d7, d5, d7 8032816: ee36 6b47 vsub.f64 d6, d6, d7 803281a: f507 63c9 add.w r3, r7, #1608 ; 0x648 803281e: ed93 7b00 vldr d7, [r3] 8032822: eeb3 5b00 vmov.f64 d5, #48 ; 0x41800000 16.0 8032826: ee27 5b05 vmul.f64 d5, d7, d5 803282a: f507 63d1 add.w r3, r7, #1672 ; 0x688 803282e: ed93 7b00 vldr d7, [r3] 8032832: ee25 5b07 vmul.f64 d5, d5, d7 8032836: f507 63d1 add.w r3, r7, #1672 ; 0x688 803283a: ed93 7b00 vldr d7, [r3] 803283e: ee25 5b07 vmul.f64 d5, d5, d7 8032842: f507 63cf add.w r3, r7, #1656 ; 0x678 8032846: ed93 7b00 vldr d7, [r3] 803284a: ee25 5b07 vmul.f64 d5, d5, d7 803284e: f507 63cf add.w r3, r7, #1656 ; 0x678 8032852: ed93 7b00 vldr d7, [r3] 8032856: ee25 7b07 vmul.f64 d7, d5, d7 803285a: ee36 6b07 vadd.f64 d6, d6, d7 803285e: f507 63c9 add.w r3, r7, #1608 ; 0x648 8032862: ed93 7b00 vldr d7, [r3] 8032866: eeb1 5b08 vmov.f64 d5, #24 ; 0x40c00000 6.0 803286a: ee27 5b05 vmul.f64 d5, d7, d5 803286e: f507 63d1 add.w r3, r7, #1672 ; 0x688 8032872: ed93 7b00 vldr d7, [r3] 8032876: ee25 5b07 vmul.f64 d5, d5, d7 803287a: f507 63d1 add.w r3, r7, #1672 ; 0x688 803287e: ed93 7b00 vldr d7, [r3] 8032882: ee25 5b07 vmul.f64 d5, d5, d7 8032886: f507 63cf add.w r3, r7, #1656 ; 0x678 803288a: ed93 7b00 vldr d7, [r3] 803288e: ee25 5b07 vmul.f64 d5, d5, d7 8032892: f507 63cf add.w r3, r7, #1656 ; 0x678 8032896: ed93 7b00 vldr d7, [r3] 803289a: ee25 5b07 vmul.f64 d5, d5, d7 803289e: f507 63cf add.w r3, r7, #1656 ; 0x678 80328a2: ed93 7b00 vldr d7, [r3] 80328a6: ee25 5b07 vmul.f64 d5, d5, d7 80328aa: f507 63cf add.w r3, r7, #1656 ; 0x678 80328ae: ed93 7b00 vldr d7, [r3] 80328b2: ee25 7b07 vmul.f64 d7, d5, d7 80328b6: ee36 6b47 vsub.f64 d6, d6, d7 80328ba: f507 63cc add.w r3, r7, #1632 ; 0x660 80328be: ed93 7b00 vldr d7, [r3] 80328c2: ee26 7b07 vmul.f64 d7, d6, d7 80328c6: 4a16 ldr r2, [pc, #88] ; (8032920 ) 80328c8: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 80328cc: 3346 adds r3, #70 ; 0x46 80328ce: 00db lsls r3, r3, #3 80328d0: 4413 add r3, r2 80328d2: ed83 7b00 vstr d7, [r3] IIR.b1[j] = (16.0*E*T*Q - 4.0*E*T*T*T*Q + 64.0*F*Q*Q - 4.0*F*Q*Q*T*T*T*T) * C; 80328d6: f507 63ca add.w r3, r7, #1616 ; 0x650 80328da: ed93 7b00 vldr d7, [r3] 80328de: eeb3 6b00 vmov.f64 d6, #48 ; 0x41800000 16.0 80328e2: ee27 6b06 vmul.f64 d6, d7, d6 80328e6: f507 63cf add.w r3, r7, #1656 ; 0x678 80328ea: ed93 7b00 vldr d7, [r3] 80328ee: ee26 6b07 vmul.f64 d6, d6, d7 80328f2: f507 63d1 add.w r3, r7, #1672 ; 0x688 80328f6: ed93 7b00 vldr d7, [r3] 80328fa: ee26 6b07 vmul.f64 d6, d6, d7 80328fe: f507 63ca add.w r3, r7, #1616 ; 0x650 8032902: ed93 7b00 vldr d7, [r3] 8032906: eeb1 5b00 vmov.f64 d5, #16 ; 0x40800000 4.0 803290a: ee27 5b05 vmul.f64 d5, d7, d5 803290e: e009 b.n 8032924 8032910: 00000000 .word 0x00000000 8032914: 40500000 .word 0x40500000 8032918: 00000000 .word 0x00000000 803291c: 40580000 .word 0x40580000 8032920: 20025918 .word 0x20025918 8032924: f507 63cf add.w r3, r7, #1656 ; 0x678 8032928: ed93 7b00 vldr d7, [r3] 803292c: ee25 5b07 vmul.f64 d5, d5, d7 8032930: f507 63cf add.w r3, r7, #1656 ; 0x678 8032934: ed93 7b00 vldr d7, [r3] 8032938: ee25 5b07 vmul.f64 d5, d5, d7 803293c: f507 63cf add.w r3, r7, #1656 ; 0x678 8032940: ed93 7b00 vldr d7, [r3] 8032944: ee25 5b07 vmul.f64 d5, d5, d7 8032948: f507 63d1 add.w r3, r7, #1672 ; 0x688 803294c: ed93 7b00 vldr d7, [r3] 8032950: ee25 7b07 vmul.f64 d7, d5, d7 8032954: ee36 6b47 vsub.f64 d6, d6, d7 8032958: f507 63c9 add.w r3, r7, #1608 ; 0x648 803295c: ed93 7b00 vldr d7, [r3] 8032960: ed9f 5bd5 vldr d5, [pc, #852] ; 8032cb8 8032964: ee27 5b05 vmul.f64 d5, d7, d5 8032968: f507 63d1 add.w r3, r7, #1672 ; 0x688 803296c: ed93 7b00 vldr d7, [r3] 8032970: ee25 5b07 vmul.f64 d5, d5, d7 8032974: f507 63d1 add.w r3, r7, #1672 ; 0x688 8032978: ed93 7b00 vldr d7, [r3] 803297c: ee25 7b07 vmul.f64 d7, d5, d7 8032980: ee36 6b07 vadd.f64 d6, d6, d7 8032984: f507 63c9 add.w r3, r7, #1608 ; 0x648 8032988: ed93 7b00 vldr d7, [r3] 803298c: eeb1 5b00 vmov.f64 d5, #16 ; 0x40800000 4.0 8032990: ee27 5b05 vmul.f64 d5, d7, d5 8032994: f507 63d1 add.w r3, r7, #1672 ; 0x688 8032998: ed93 7b00 vldr d7, [r3] 803299c: ee25 5b07 vmul.f64 d5, d5, d7 80329a0: f507 63d1 add.w r3, r7, #1672 ; 0x688 80329a4: ed93 7b00 vldr d7, [r3] 80329a8: ee25 5b07 vmul.f64 d5, d5, d7 80329ac: f507 63cf add.w r3, r7, #1656 ; 0x678 80329b0: ed93 7b00 vldr d7, [r3] 80329b4: ee25 5b07 vmul.f64 d5, d5, d7 80329b8: f507 63cf add.w r3, r7, #1656 ; 0x678 80329bc: ed93 7b00 vldr d7, [r3] 80329c0: ee25 5b07 vmul.f64 d5, d5, d7 80329c4: f507 63cf add.w r3, r7, #1656 ; 0x678 80329c8: ed93 7b00 vldr d7, [r3] 80329cc: ee25 5b07 vmul.f64 d5, d5, d7 80329d0: f507 63cf add.w r3, r7, #1656 ; 0x678 80329d4: ed93 7b00 vldr d7, [r3] 80329d8: ee25 7b07 vmul.f64 d7, d5, d7 80329dc: ee36 6b47 vsub.f64 d6, d6, d7 80329e0: f507 63cc add.w r3, r7, #1632 ; 0x660 80329e4: ed93 7b00 vldr d7, [r3] 80329e8: ee26 7b07 vmul.f64 d7, d6, d7 80329ec: 4ab6 ldr r2, [pc, #728] ; (8032cc8 ) 80329ee: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 80329f2: 333c adds r3, #60 ; 0x3c 80329f4: 00db lsls r3, r3, #3 80329f6: 4413 add r3, r2 80329f8: ed83 7b00 vstr d7, [r3] IIR.b0[j] = (-4.0*D*T*T - 2.0*E*T*T*T*Q - 8.0*E*T*Q - 8.0*F*Q*Q*T*T - F*Q*Q*T*T*T*T - 16.0*F*Q*Q) * C; 80329fc: f507 63cb add.w r3, r7, #1624 ; 0x658 8032a00: ed93 7b00 vldr d7, [r3] 8032a04: eeb9 6b00 vmov.f64 d6, #144 ; 0xc0800000 -4.0 8032a08: ee27 6b06 vmul.f64 d6, d7, d6 8032a0c: f507 63cf add.w r3, r7, #1656 ; 0x678 8032a10: ed93 7b00 vldr d7, [r3] 8032a14: ee26 6b07 vmul.f64 d6, d6, d7 8032a18: f507 63cf add.w r3, r7, #1656 ; 0x678 8032a1c: ed93 7b00 vldr d7, [r3] 8032a20: ee26 6b07 vmul.f64 d6, d6, d7 8032a24: f507 63ca add.w r3, r7, #1616 ; 0x650 8032a28: ed93 7b00 vldr d7, [r3] 8032a2c: ee37 5b07 vadd.f64 d5, d7, d7 8032a30: f507 63cf add.w r3, r7, #1656 ; 0x678 8032a34: ed93 7b00 vldr d7, [r3] 8032a38: ee25 5b07 vmul.f64 d5, d5, d7 8032a3c: f507 63cf add.w r3, r7, #1656 ; 0x678 8032a40: ed93 7b00 vldr d7, [r3] 8032a44: ee25 5b07 vmul.f64 d5, d5, d7 8032a48: f507 63cf add.w r3, r7, #1656 ; 0x678 8032a4c: ed93 7b00 vldr d7, [r3] 8032a50: ee25 5b07 vmul.f64 d5, d5, d7 8032a54: f507 63d1 add.w r3, r7, #1672 ; 0x688 8032a58: ed93 7b00 vldr d7, [r3] 8032a5c: ee25 7b07 vmul.f64 d7, d5, d7 8032a60: ee36 6b47 vsub.f64 d6, d6, d7 8032a64: f507 63ca add.w r3, r7, #1616 ; 0x650 8032a68: ed93 7b00 vldr d7, [r3] 8032a6c: eeb2 5b00 vmov.f64 d5, #32 ; 0x41000000 8.0 8032a70: ee27 5b05 vmul.f64 d5, d7, d5 8032a74: f507 63cf add.w r3, r7, #1656 ; 0x678 8032a78: ed93 7b00 vldr d7, [r3] 8032a7c: ee25 5b07 vmul.f64 d5, d5, d7 8032a80: f507 63d1 add.w r3, r7, #1672 ; 0x688 8032a84: ed93 7b00 vldr d7, [r3] 8032a88: ee25 7b07 vmul.f64 d7, d5, d7 8032a8c: ee36 6b47 vsub.f64 d6, d6, d7 8032a90: f507 63c9 add.w r3, r7, #1608 ; 0x648 8032a94: ed93 7b00 vldr d7, [r3] 8032a98: eeb2 5b00 vmov.f64 d5, #32 ; 0x41000000 8.0 8032a9c: ee27 5b05 vmul.f64 d5, d7, d5 8032aa0: f507 63d1 add.w r3, r7, #1672 ; 0x688 8032aa4: ed93 7b00 vldr d7, [r3] 8032aa8: ee25 5b07 vmul.f64 d5, d5, d7 8032aac: f507 63d1 add.w r3, r7, #1672 ; 0x688 8032ab0: ed93 7b00 vldr d7, [r3] 8032ab4: ee25 5b07 vmul.f64 d5, d5, d7 8032ab8: f507 63cf add.w r3, r7, #1656 ; 0x678 8032abc: ed93 7b00 vldr d7, [r3] 8032ac0: ee25 5b07 vmul.f64 d5, d5, d7 8032ac4: f507 63cf add.w r3, r7, #1656 ; 0x678 8032ac8: ed93 7b00 vldr d7, [r3] 8032acc: ee25 7b07 vmul.f64 d7, d5, d7 8032ad0: ee36 6b47 vsub.f64 d6, d6, d7 8032ad4: f507 63c9 add.w r3, r7, #1608 ; 0x648 8032ad8: ed93 5b00 vldr d5, [r3] 8032adc: f507 63d1 add.w r3, r7, #1672 ; 0x688 8032ae0: ed93 7b00 vldr d7, [r3] 8032ae4: ee25 5b07 vmul.f64 d5, d5, d7 8032ae8: f507 63d1 add.w r3, r7, #1672 ; 0x688 8032aec: ed93 7b00 vldr d7, [r3] 8032af0: ee25 5b07 vmul.f64 d5, d5, d7 8032af4: f507 63cf add.w r3, r7, #1656 ; 0x678 8032af8: ed93 7b00 vldr d7, [r3] 8032afc: ee25 5b07 vmul.f64 d5, d5, d7 8032b00: f507 63cf add.w r3, r7, #1656 ; 0x678 8032b04: ed93 7b00 vldr d7, [r3] 8032b08: ee25 5b07 vmul.f64 d5, d5, d7 8032b0c: f507 63cf add.w r3, r7, #1656 ; 0x678 8032b10: ed93 7b00 vldr d7, [r3] 8032b14: ee25 5b07 vmul.f64 d5, d5, d7 8032b18: f507 63cf add.w r3, r7, #1656 ; 0x678 8032b1c: ed93 7b00 vldr d7, [r3] 8032b20: ee25 7b07 vmul.f64 d7, d5, d7 8032b24: ee36 6b47 vsub.f64 d6, d6, d7 8032b28: f507 63c9 add.w r3, r7, #1608 ; 0x648 8032b2c: ed93 7b00 vldr d7, [r3] 8032b30: eeb3 5b00 vmov.f64 d5, #48 ; 0x41800000 16.0 8032b34: ee27 5b05 vmul.f64 d5, d7, d5 8032b38: f507 63d1 add.w r3, r7, #1672 ; 0x688 8032b3c: ed93 7b00 vldr d7, [r3] 8032b40: ee25 5b07 vmul.f64 d5, d5, d7 8032b44: f507 63d1 add.w r3, r7, #1672 ; 0x688 8032b48: ed93 7b00 vldr d7, [r3] 8032b4c: ee25 7b07 vmul.f64 d7, d5, d7 8032b50: ee36 6b47 vsub.f64 d6, d6, d7 8032b54: f507 63cc add.w r3, r7, #1632 ; 0x660 8032b58: ed93 7b00 vldr d7, [r3] 8032b5c: ee26 7b07 vmul.f64 d7, d6, d7 8032b60: 4a59 ldr r2, [pc, #356] ; (8032cc8 ) 8032b62: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8032b66: 3332 adds r3, #50 ; 0x32 8032b68: 00db lsls r3, r3, #3 8032b6a: 4413 add r3, r2 8032b6c: ed83 7b00 vstr d7, [r3] // T = 2 makes these values approach 0.0 (~ 1.0E-12) The root solver needs 0.0 for numerical reasons. if(fabs(T-2.0) < 0.0005) 8032b70: f507 63cf add.w r3, r7, #1656 ; 0x678 8032b74: ed93 7b00 vldr d7, [r3] 8032b78: eeb0 6b00 vmov.f64 d6, #0 ; 0x40000000 2.0 8032b7c: ee37 7b46 vsub.f64 d7, d7, d6 8032b80: eeb0 7bc7 vabs.f64 d7, d7 8032b84: ed9f 6b4e vldr d6, [pc, #312] ; 8032cc0 8032b88: eeb4 7bc6 vcmpe.f64 d7, d6 8032b8c: eef1 fa10 vmrs APSR_nzcv, fpscr 8032b90: d52f bpl.n 8032bf2 { IIR.a3[j] = 0.0; 8032b92: 4a4d ldr r2, [pc, #308] ; (8032cc8 ) 8032b94: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8032b98: 331e adds r3, #30 8032b9a: 00db lsls r3, r3, #3 8032b9c: 441a add r2, r3 8032b9e: f04f 0300 mov.w r3, #0 8032ba2: f04f 0400 mov.w r4, #0 8032ba6: e882 0018 stmia.w r2, {r3, r4} IIR.a1[j] = 0.0; 8032baa: 4a47 ldr r2, [pc, #284] ; (8032cc8 ) 8032bac: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8032bb0: 330a adds r3, #10 8032bb2: 00db lsls r3, r3, #3 8032bb4: 441a add r2, r3 8032bb6: f04f 0300 mov.w r3, #0 8032bba: f04f 0400 mov.w r4, #0 8032bbe: e882 0018 stmia.w r2, {r3, r4} IIR.b3[j] = 0.0; 8032bc2: 4a41 ldr r2, [pc, #260] ; (8032cc8 ) 8032bc4: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8032bc8: 3350 adds r3, #80 ; 0x50 8032bca: 00db lsls r3, r3, #3 8032bcc: 441a add r2, r3 8032bce: f04f 0300 mov.w r3, #0 8032bd2: f04f 0400 mov.w r4, #0 8032bd6: e882 0018 stmia.w r2, {r3, r4} IIR.b1[j] = 0.0; 8032bda: 4a3b ldr r2, [pc, #236] ; (8032cc8 ) 8032bdc: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8032be0: 333c adds r3, #60 ; 0x3c 8032be2: 00db lsls r3, r3, #3 8032be4: 441a add r2, r3 8032be6: f04f 0300 mov.w r3, #0 8032bea: f04f 0400 mov.w r4, #0 8032bee: e882 0018 stmia.w r2, {r3, r4} } // We now have a 4th order poly in the form a4*s^4 + a3*s^3 + a2*s^2 + a2*s + a0 // We find the roots of this so we can form two 2nd order polys. Coeff[0] = IIR.a4[j]; 8032bf2: 4a35 ldr r2, [pc, #212] ; (8032cc8 ) 8032bf4: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8032bf8: 3328 adds r3, #40 ; 0x28 8032bfa: 00db lsls r3, r3, #3 8032bfc: 4413 add r3, r2 8032bfe: cb18 ldmia r3, {r3, r4} 8032c00: f507 62c3 add.w r2, r7, #1560 ; 0x618 8032c04: e882 0018 stmia.w r2, {r3, r4} Coeff[1] = IIR.a3[j]; 8032c08: 4a2f ldr r2, [pc, #188] ; (8032cc8 ) 8032c0a: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8032c0e: 331e adds r3, #30 8032c10: 00db lsls r3, r3, #3 8032c12: 4413 add r3, r2 8032c14: cb18 ldmia r3, {r3, r4} 8032c16: f507 62c4 add.w r2, r7, #1568 ; 0x620 8032c1a: e882 0018 stmia.w r2, {r3, r4} Coeff[2] = IIR.a2[j]; 8032c1e: 4a2a ldr r2, [pc, #168] ; (8032cc8 ) 8032c20: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8032c24: 3314 adds r3, #20 8032c26: 00db lsls r3, r3, #3 8032c28: 4413 add r3, r2 8032c2a: cb18 ldmia r3, {r3, r4} 8032c2c: f507 62c5 add.w r2, r7, #1576 ; 0x628 8032c30: e882 0018 stmia.w r2, {r3, r4} Coeff[3] = IIR.a1[j]; 8032c34: 4a24 ldr r2, [pc, #144] ; (8032cc8 ) 8032c36: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8032c3a: 330a adds r3, #10 8032c3c: 00db lsls r3, r3, #3 8032c3e: 4413 add r3, r2 8032c40: cb18 ldmia r3, {r3, r4} 8032c42: f507 62c6 add.w r2, r7, #1584 ; 0x630 8032c46: e882 0018 stmia.w r2, {r3, r4} Coeff[4] = IIR.a0[j]; 8032c4a: 4a1f ldr r2, [pc, #124] ; (8032cc8 ) 8032c4c: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8032c50: 00db lsls r3, r3, #3 8032c52: 4413 add r3, r2 8032c54: cb18 ldmia r3, {r3, r4} 8032c56: f507 62c7 add.w r2, r7, #1592 ; 0x638 8032c5a: e882 0018 stmia.w r2, {r3, r4} QuadCubicRoots(4, Coeff, RealRoot, ImagRoot); 8032c5e: f507 63bb add.w r3, r7, #1496 ; 0x5d8 8032c62: f507 62bf add.w r2, r7, #1528 ; 0x5f8 8032c66: f507 61c3 add.w r1, r7, #1560 ; 0x618 8032c6a: 2004 movs r0, #4 8032c6c: f000 fe50 bl 8033910 // In effect, the root finder scales the poly by 1/a4 so we have to apply // this factor back into the two 2nd order equations we are forming. if(IIR.a4[j] < 0.0)Scalar = -sqrt(-IIR.a4[j]); 8032c70: 4a15 ldr r2, [pc, #84] ; (8032cc8 ) 8032c72: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8032c76: 3328 adds r3, #40 ; 0x28 8032c78: 00db lsls r3, r3, #3 8032c7a: 4413 add r3, r2 8032c7c: ed93 7b00 vldr d7, [r3] 8032c80: eeb5 7bc0 vcmpe.f64 d7, #0.0 8032c84: eef1 fa10 vmrs APSR_nzcv, fpscr 8032c88: d520 bpl.n 8032ccc 8032c8a: 4a0f ldr r2, [pc, #60] ; (8032cc8 ) 8032c8c: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8032c90: 3328 adds r3, #40 ; 0x28 8032c92: 00db lsls r3, r3, #3 8032c94: 4413 add r3, r2 8032c96: ed93 7b00 vldr d7, [r3] 8032c9a: eeb1 7b47 vneg.f64 d7, d7 8032c9e: eeb0 0b47 vmov.f64 d0, d7 8032ca2: f098 f9a1 bl 80cafe8 8032ca6: eeb0 7b40 vmov.f64 d7, d0 8032caa: eeb1 7b47 vneg.f64 d7, d7 8032cae: f507 63d2 add.w r3, r7, #1680 ; 0x690 8032cb2: ed83 7b00 vstr d7, [r3] 8032cb6: e019 b.n 8032cec 8032cb8: 00000000 .word 0x00000000 8032cbc: 40500000 .word 0x40500000 8032cc0: d2f1a9fc .word 0xd2f1a9fc 8032cc4: 3f40624d .word 0x3f40624d 8032cc8: 20025918 .word 0x20025918 else Scalar = sqrt(IIR.a4[j]); 8032ccc: 4a87 ldr r2, [pc, #540] ; (8032eec ) 8032cce: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8032cd2: 3328 adds r3, #40 ; 0x28 8032cd4: 00db lsls r3, r3, #3 8032cd6: 4413 add r3, r2 8032cd8: ed93 7b00 vldr d7, [r3] 8032cdc: eeb0 0b47 vmov.f64 d0, d7 8032ce0: f098 f982 bl 80cafe8 8032ce4: f507 63d2 add.w r3, r7, #1680 ; 0x690 8032ce8: ed83 0b00 vstr d0, [r3] a2[k] = Scalar; 8032cec: f507 62b1 add.w r2, r7, #1416 ; 0x588 8032cf0: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8032cf4: 00db lsls r3, r3, #3 8032cf6: 441a add r2, r3 8032cf8: f507 63d2 add.w r3, r7, #1680 ; 0x690 8032cfc: cb18 ldmia r3, {r3, r4} 8032cfe: e882 0018 stmia.w r2, {r3, r4} a1[k] = -(RealRoot[0] + RealRoot[1]) * Scalar; 8032d02: f507 63bf add.w r3, r7, #1528 ; 0x5f8 8032d06: ed93 6b00 vldr d6, [r3] 8032d0a: f507 63c0 add.w r3, r7, #1536 ; 0x600 8032d0e: ed93 7b00 vldr d7, [r3] 8032d12: ee36 7b07 vadd.f64 d7, d6, d7 8032d16: eeb1 6b47 vneg.f64 d6, d7 8032d1a: f507 63d2 add.w r3, r7, #1680 ; 0x690 8032d1e: ed93 7b00 vldr d7, [r3] 8032d22: ee26 7b07 vmul.f64 d7, d6, d7 8032d26: f507 62a7 add.w r2, r7, #1336 ; 0x538 8032d2a: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8032d2e: 00db lsls r3, r3, #3 8032d30: 4413 add r3, r2 8032d32: ed83 7b00 vstr d7, [r3] a0[k] = (RealRoot[0] * RealRoot[1] - ImagRoot[0] * ImagRoot[1]) * Scalar; 8032d36: f507 63bf add.w r3, r7, #1528 ; 0x5f8 8032d3a: ed93 6b00 vldr d6, [r3] 8032d3e: f507 63c0 add.w r3, r7, #1536 ; 0x600 8032d42: ed93 7b00 vldr d7, [r3] 8032d46: ee26 6b07 vmul.f64 d6, d6, d7 8032d4a: f507 63bb add.w r3, r7, #1496 ; 0x5d8 8032d4e: ed93 5b00 vldr d5, [r3] 8032d52: f507 63bc add.w r3, r7, #1504 ; 0x5e0 8032d56: ed93 7b00 vldr d7, [r3] 8032d5a: ee25 7b07 vmul.f64 d7, d5, d7 8032d5e: ee36 6b47 vsub.f64 d6, d6, d7 8032d62: f507 63d2 add.w r3, r7, #1680 ; 0x690 8032d66: ed93 7b00 vldr d7, [r3] 8032d6a: ee26 7b07 vmul.f64 d7, d6, d7 8032d6e: f507 629d add.w r2, r7, #1256 ; 0x4e8 8032d72: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8032d76: 00db lsls r3, r3, #3 8032d78: 4413 add r3, r2 8032d7a: ed83 7b00 vstr d7, [r3] k++; 8032d7e: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8032d82: 3301 adds r3, #1 8032d84: f8c7 3698 str.w r3, [r7, #1688] ; 0x698 a2[k] = Scalar; 8032d88: f507 62b1 add.w r2, r7, #1416 ; 0x588 8032d8c: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8032d90: 00db lsls r3, r3, #3 8032d92: 441a add r2, r3 8032d94: f507 63d2 add.w r3, r7, #1680 ; 0x690 8032d98: cb18 ldmia r3, {r3, r4} 8032d9a: e882 0018 stmia.w r2, {r3, r4} a1[k] = -(RealRoot[2] + RealRoot[3]) * Scalar; 8032d9e: f507 63c1 add.w r3, r7, #1544 ; 0x608 8032da2: ed93 6b00 vldr d6, [r3] 8032da6: f507 63c2 add.w r3, r7, #1552 ; 0x610 8032daa: ed93 7b00 vldr d7, [r3] 8032dae: ee36 7b07 vadd.f64 d7, d6, d7 8032db2: eeb1 6b47 vneg.f64 d6, d7 8032db6: f507 63d2 add.w r3, r7, #1680 ; 0x690 8032dba: ed93 7b00 vldr d7, [r3] 8032dbe: ee26 7b07 vmul.f64 d7, d6, d7 8032dc2: f507 62a7 add.w r2, r7, #1336 ; 0x538 8032dc6: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8032dca: 00db lsls r3, r3, #3 8032dcc: 4413 add r3, r2 8032dce: ed83 7b00 vstr d7, [r3] a0[k] = (RealRoot[2] * RealRoot[3] - ImagRoot[2] * ImagRoot[3]) * Scalar; 8032dd2: f507 63c1 add.w r3, r7, #1544 ; 0x608 8032dd6: ed93 6b00 vldr d6, [r3] 8032dda: f507 63c2 add.w r3, r7, #1552 ; 0x610 8032dde: ed93 7b00 vldr d7, [r3] 8032de2: ee26 6b07 vmul.f64 d6, d6, d7 8032de6: f507 63bd add.w r3, r7, #1512 ; 0x5e8 8032dea: ed93 5b00 vldr d5, [r3] 8032dee: f507 63be add.w r3, r7, #1520 ; 0x5f0 8032df2: ed93 7b00 vldr d7, [r3] 8032df6: ee25 7b07 vmul.f64 d7, d5, d7 8032dfa: ee36 6b47 vsub.f64 d6, d6, d7 8032dfe: f507 63d2 add.w r3, r7, #1680 ; 0x690 8032e02: ed93 7b00 vldr d7, [r3] 8032e06: ee26 7b07 vmul.f64 d7, d6, d7 8032e0a: f507 629d add.w r2, r7, #1256 ; 0x4e8 8032e0e: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8032e12: 00db lsls r3, r3, #3 8032e14: 4413 add r3, r2 8032e16: ed83 7b00 vstr d7, [r3] k--; 8032e1a: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8032e1e: 3b01 subs r3, #1 8032e20: f8c7 3698 str.w r3, [r7, #1688] ; 0x698 // Now do the same with the numerator. Coeff[0] = IIR.b4[j]; 8032e24: 4a31 ldr r2, [pc, #196] ; (8032eec ) 8032e26: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8032e2a: 335a adds r3, #90 ; 0x5a 8032e2c: 00db lsls r3, r3, #3 8032e2e: 4413 add r3, r2 8032e30: cb18 ldmia r3, {r3, r4} 8032e32: f507 62c3 add.w r2, r7, #1560 ; 0x618 8032e36: e882 0018 stmia.w r2, {r3, r4} Coeff[1] = IIR.b3[j]; 8032e3a: 4a2c ldr r2, [pc, #176] ; (8032eec ) 8032e3c: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8032e40: 3350 adds r3, #80 ; 0x50 8032e42: 00db lsls r3, r3, #3 8032e44: 4413 add r3, r2 8032e46: cb18 ldmia r3, {r3, r4} 8032e48: f507 62c4 add.w r2, r7, #1568 ; 0x620 8032e4c: e882 0018 stmia.w r2, {r3, r4} Coeff[2] = IIR.b2[j]; 8032e50: 4a26 ldr r2, [pc, #152] ; (8032eec ) 8032e52: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8032e56: 3346 adds r3, #70 ; 0x46 8032e58: 00db lsls r3, r3, #3 8032e5a: 4413 add r3, r2 8032e5c: cb18 ldmia r3, {r3, r4} 8032e5e: f507 62c5 add.w r2, r7, #1576 ; 0x628 8032e62: e882 0018 stmia.w r2, {r3, r4} Coeff[3] = IIR.b1[j]; 8032e66: 4a21 ldr r2, [pc, #132] ; (8032eec ) 8032e68: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8032e6c: 333c adds r3, #60 ; 0x3c 8032e6e: 00db lsls r3, r3, #3 8032e70: 4413 add r3, r2 8032e72: cb18 ldmia r3, {r3, r4} 8032e74: f507 62c6 add.w r2, r7, #1584 ; 0x630 8032e78: e882 0018 stmia.w r2, {r3, r4} Coeff[4] = IIR.b0[j]; 8032e7c: 4a1b ldr r2, [pc, #108] ; (8032eec ) 8032e7e: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8032e82: 3332 adds r3, #50 ; 0x32 8032e84: 00db lsls r3, r3, #3 8032e86: 4413 add r3, r2 8032e88: cb18 ldmia r3, {r3, r4} 8032e8a: f507 62c7 add.w r2, r7, #1592 ; 0x638 8032e8e: e882 0018 stmia.w r2, {r3, r4} QuadCubicRoots(4, Coeff, RealRoot, ImagRoot); 8032e92: f507 63bb add.w r3, r7, #1496 ; 0x5d8 8032e96: f507 62bf add.w r2, r7, #1528 ; 0x5f8 8032e9a: f507 61c3 add.w r1, r7, #1560 ; 0x618 8032e9e: 2004 movs r0, #4 8032ea0: f000 fd36 bl 8033910 if(IIR.b4[j] < 0.0)Scalar = -sqrt(-IIR.b4[j]); 8032ea4: 4a11 ldr r2, [pc, #68] ; (8032eec ) 8032ea6: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8032eaa: 335a adds r3, #90 ; 0x5a 8032eac: 00db lsls r3, r3, #3 8032eae: 4413 add r3, r2 8032eb0: ed93 7b00 vldr d7, [r3] 8032eb4: eeb5 7bc0 vcmpe.f64 d7, #0.0 8032eb8: eef1 fa10 vmrs APSR_nzcv, fpscr 8032ebc: d518 bpl.n 8032ef0 8032ebe: 4a0b ldr r2, [pc, #44] ; (8032eec ) 8032ec0: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8032ec4: 335a adds r3, #90 ; 0x5a 8032ec6: 00db lsls r3, r3, #3 8032ec8: 4413 add r3, r2 8032eca: ed93 7b00 vldr d7, [r3] 8032ece: eeb1 7b47 vneg.f64 d7, d7 8032ed2: eeb0 0b47 vmov.f64 d0, d7 8032ed6: f098 f887 bl 80cafe8 8032eda: eeb0 7b40 vmov.f64 d7, d0 8032ede: eeb1 7b47 vneg.f64 d7, d7 8032ee2: f507 63d2 add.w r3, r7, #1680 ; 0x690 8032ee6: ed83 7b00 vstr d7, [r3] 8032eea: e011 b.n 8032f10 8032eec: 20025918 .word 0x20025918 else Scalar = sqrt(IIR.b4[j]); 8032ef0: 4ab2 ldr r2, [pc, #712] ; (80331bc ) 8032ef2: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8032ef6: 335a adds r3, #90 ; 0x5a 8032ef8: 00db lsls r3, r3, #3 8032efa: 4413 add r3, r2 8032efc: ed93 7b00 vldr d7, [r3] 8032f00: eeb0 0b47 vmov.f64 d0, d7 8032f04: f098 f870 bl 80cafe8 8032f08: f507 63d2 add.w r3, r7, #1680 ; 0x690 8032f0c: ed83 0b00 vstr d0, [r3] b2[k] = Scalar; 8032f10: f507 6293 add.w r2, r7, #1176 ; 0x498 8032f14: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8032f18: 00db lsls r3, r3, #3 8032f1a: 441a add r2, r3 8032f1c: f507 63d2 add.w r3, r7, #1680 ; 0x690 8032f20: cb18 ldmia r3, {r3, r4} 8032f22: e882 0018 stmia.w r2, {r3, r4} b1[k] = -(RealRoot[0] + RealRoot[1]) * Scalar; 8032f26: f507 63bf add.w r3, r7, #1528 ; 0x5f8 8032f2a: ed93 6b00 vldr d6, [r3] 8032f2e: f507 63c0 add.w r3, r7, #1536 ; 0x600 8032f32: ed93 7b00 vldr d7, [r3] 8032f36: ee36 7b07 vadd.f64 d7, d6, d7 8032f3a: eeb1 6b47 vneg.f64 d6, d7 8032f3e: f507 63d2 add.w r3, r7, #1680 ; 0x690 8032f42: ed93 7b00 vldr d7, [r3] 8032f46: ee26 7b07 vmul.f64 d7, d6, d7 8032f4a: f507 6289 add.w r2, r7, #1096 ; 0x448 8032f4e: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8032f52: 00db lsls r3, r3, #3 8032f54: 4413 add r3, r2 8032f56: ed83 7b00 vstr d7, [r3] b0[k] = (RealRoot[0] * RealRoot[1] - ImagRoot[0] * ImagRoot[1]) * Scalar; 8032f5a: f507 63bf add.w r3, r7, #1528 ; 0x5f8 8032f5e: ed93 6b00 vldr d6, [r3] 8032f62: f507 63c0 add.w r3, r7, #1536 ; 0x600 8032f66: ed93 7b00 vldr d7, [r3] 8032f6a: ee26 6b07 vmul.f64 d6, d6, d7 8032f6e: f507 63bb add.w r3, r7, #1496 ; 0x5d8 8032f72: ed93 5b00 vldr d5, [r3] 8032f76: f507 63bc add.w r3, r7, #1504 ; 0x5e0 8032f7a: ed93 7b00 vldr d7, [r3] 8032f7e: ee25 7b07 vmul.f64 d7, d5, d7 8032f82: ee36 6b47 vsub.f64 d6, d6, d7 8032f86: f507 63d2 add.w r3, r7, #1680 ; 0x690 8032f8a: ed93 7b00 vldr d7, [r3] 8032f8e: ee26 7b07 vmul.f64 d7, d6, d7 8032f92: f507 727e add.w r2, r7, #1016 ; 0x3f8 8032f96: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8032f9a: 00db lsls r3, r3, #3 8032f9c: 4413 add r3, r2 8032f9e: ed83 7b00 vstr d7, [r3] k++; 8032fa2: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8032fa6: 3301 adds r3, #1 8032fa8: f8c7 3698 str.w r3, [r7, #1688] ; 0x698 b2[k] = Scalar; 8032fac: f507 6293 add.w r2, r7, #1176 ; 0x498 8032fb0: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8032fb4: 00db lsls r3, r3, #3 8032fb6: 441a add r2, r3 8032fb8: f507 63d2 add.w r3, r7, #1680 ; 0x690 8032fbc: cb18 ldmia r3, {r3, r4} 8032fbe: e882 0018 stmia.w r2, {r3, r4} b1[k] = -(RealRoot[2] + RealRoot[3]) * Scalar; 8032fc2: f507 63c1 add.w r3, r7, #1544 ; 0x608 8032fc6: ed93 6b00 vldr d6, [r3] 8032fca: f507 63c2 add.w r3, r7, #1552 ; 0x610 8032fce: ed93 7b00 vldr d7, [r3] 8032fd2: ee36 7b07 vadd.f64 d7, d6, d7 8032fd6: eeb1 6b47 vneg.f64 d6, d7 8032fda: f507 63d2 add.w r3, r7, #1680 ; 0x690 8032fde: ed93 7b00 vldr d7, [r3] 8032fe2: ee26 7b07 vmul.f64 d7, d6, d7 8032fe6: f507 6289 add.w r2, r7, #1096 ; 0x448 8032fea: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8032fee: 00db lsls r3, r3, #3 8032ff0: 4413 add r3, r2 8032ff2: ed83 7b00 vstr d7, [r3] b0[k] = (RealRoot[2] * RealRoot[3] - ImagRoot[2] * ImagRoot[3]) * Scalar; 8032ff6: f507 63c1 add.w r3, r7, #1544 ; 0x608 8032ffa: ed93 6b00 vldr d6, [r3] 8032ffe: f507 63c2 add.w r3, r7, #1552 ; 0x610 8033002: ed93 7b00 vldr d7, [r3] 8033006: ee26 6b07 vmul.f64 d6, d6, d7 803300a: f507 63bd add.w r3, r7, #1512 ; 0x5e8 803300e: ed93 5b00 vldr d5, [r3] 8033012: f507 63be add.w r3, r7, #1520 ; 0x5f0 8033016: ed93 7b00 vldr d7, [r3] 803301a: ee25 7b07 vmul.f64 d7, d5, d7 803301e: ee36 6b47 vsub.f64 d6, d6, d7 8033022: f507 63d2 add.w r3, r7, #1680 ; 0x690 8033026: ed93 7b00 vldr d7, [r3] 803302a: ee26 7b07 vmul.f64 d7, d6, d7 803302e: f507 727e add.w r2, r7, #1016 ; 0x3f8 8033032: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8033036: 00db lsls r3, r3, #3 8033038: 4413 add r3, r2 803303a: ed83 7b00 vstr d7, [r3] k++; 803303e: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8033042: 3301 adds r3, #1 8033044: f8c7 3698 str.w r3, [r7, #1688] ; 0x698 for(j=0; j } } } if(PassType == iirBPF || PassType == iirNOTCH) 8033064: f207 230a addw r3, r7, #522 ; 0x20a 8033068: 781b ldrb r3, [r3, #0] 803306a: 2b02 cmp r3, #2 803306c: d005 beq.n 803307a 803306e: f207 230a addw r3, r7, #522 ; 0x20a 8033072: 781b ldrb r3, [r3, #0] 8033074: 2b03 cmp r3, #3 8033076: f040 8109 bne.w 803328c { // In the calcs above for the BPF and Notch, we didn't set a0=1, so we do it here. // k will equal the number of poles. for(j=0; j { b2[j] /= a0[j]; 8033082: f507 6293 add.w r2, r7, #1176 ; 0x498 8033086: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 803308a: 00db lsls r3, r3, #3 803308c: 4413 add r3, r2 803308e: ed93 5b00 vldr d5, [r3] 8033092: f507 629d add.w r2, r7, #1256 ; 0x4e8 8033096: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 803309a: 00db lsls r3, r3, #3 803309c: 4413 add r3, r2 803309e: ed93 6b00 vldr d6, [r3] 80330a2: ee85 7b06 vdiv.f64 d7, d5, d6 80330a6: f507 6293 add.w r2, r7, #1176 ; 0x498 80330aa: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 80330ae: 00db lsls r3, r3, #3 80330b0: 4413 add r3, r2 80330b2: ed83 7b00 vstr d7, [r3] b1[j] /= a0[j]; 80330b6: f507 6289 add.w r2, r7, #1096 ; 0x448 80330ba: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 80330be: 00db lsls r3, r3, #3 80330c0: 4413 add r3, r2 80330c2: ed93 5b00 vldr d5, [r3] 80330c6: f507 629d add.w r2, r7, #1256 ; 0x4e8 80330ca: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 80330ce: 00db lsls r3, r3, #3 80330d0: 4413 add r3, r2 80330d2: ed93 6b00 vldr d6, [r3] 80330d6: ee85 7b06 vdiv.f64 d7, d5, d6 80330da: f507 6289 add.w r2, r7, #1096 ; 0x448 80330de: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 80330e2: 00db lsls r3, r3, #3 80330e4: 4413 add r3, r2 80330e6: ed83 7b00 vstr d7, [r3] b0[j] /= a0[j]; 80330ea: f507 727e add.w r2, r7, #1016 ; 0x3f8 80330ee: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 80330f2: 00db lsls r3, r3, #3 80330f4: 4413 add r3, r2 80330f6: ed93 5b00 vldr d5, [r3] 80330fa: f507 629d add.w r2, r7, #1256 ; 0x4e8 80330fe: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8033102: 00db lsls r3, r3, #3 8033104: 4413 add r3, r2 8033106: ed93 6b00 vldr d6, [r3] 803310a: ee85 7b06 vdiv.f64 d7, d5, d6 803310e: f507 727e add.w r2, r7, #1016 ; 0x3f8 8033112: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8033116: 00db lsls r3, r3, #3 8033118: 4413 add r3, r2 803311a: ed83 7b00 vstr d7, [r3] a2[j] /= a0[j]; 803311e: f507 62b1 add.w r2, r7, #1416 ; 0x588 8033122: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8033126: 00db lsls r3, r3, #3 8033128: 4413 add r3, r2 803312a: ed93 5b00 vldr d5, [r3] 803312e: f507 629d add.w r2, r7, #1256 ; 0x4e8 8033132: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8033136: 00db lsls r3, r3, #3 8033138: 4413 add r3, r2 803313a: ed93 6b00 vldr d6, [r3] 803313e: ee85 7b06 vdiv.f64 d7, d5, d6 8033142: f507 62b1 add.w r2, r7, #1416 ; 0x588 8033146: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 803314a: 00db lsls r3, r3, #3 803314c: 4413 add r3, r2 803314e: ed83 7b00 vstr d7, [r3] a1[j] /= a0[j]; 8033152: f507 62a7 add.w r2, r7, #1336 ; 0x538 8033156: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 803315a: 00db lsls r3, r3, #3 803315c: 4413 add r3, r2 803315e: ed93 5b00 vldr d5, [r3] 8033162: f507 629d add.w r2, r7, #1256 ; 0x4e8 8033166: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 803316a: 00db lsls r3, r3, #3 803316c: 4413 add r3, r2 803316e: ed93 6b00 vldr d6, [r3] 8033172: ee85 7b06 vdiv.f64 d7, d5, d6 8033176: f507 62a7 add.w r2, r7, #1336 ; 0x538 803317a: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 803317e: 00db lsls r3, r3, #3 8033180: 4413 add r3, r2 8033182: ed83 7b00 vstr d7, [r3] a0[j] = 1.0; 8033186: f507 629d add.w r2, r7, #1256 ; 0x4e8 803318a: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 803318e: 00db lsls r3, r3, #3 8033190: 441a add r2, r3 8033192: f04f 0300 mov.w r3, #0 8033196: 4c0a ldr r4, [pc, #40] ; (80331c0 ) 8033198: e882 0018 stmia.w r2, {r3, r4} for(j=0; j } for(j=0; j 80331bc: 20025918 .word 0x20025918 80331c0: 3ff00000 .word 0x3ff00000 { IIR.a0[j] = a0[j]; 80331c4: f507 629d add.w r2, r7, #1256 ; 0x4e8 80331c8: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 80331cc: 00db lsls r3, r3, #3 80331ce: 4413 add r3, r2 80331d0: cb18 ldmia r3, {r3, r4} 80331d2: 4937 ldr r1, [pc, #220] ; (80332b0 ) 80331d4: f8d7 269c ldr.w r2, [r7, #1692] ; 0x69c 80331d8: 00d2 lsls r2, r2, #3 80331da: 440a add r2, r1 80331dc: e882 0018 stmia.w r2, {r3, r4} IIR.a1[j] = a1[j]; 80331e0: f507 62a7 add.w r2, r7, #1336 ; 0x538 80331e4: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 80331e8: 00db lsls r3, r3, #3 80331ea: 4413 add r3, r2 80331ec: cb18 ldmia r3, {r3, r4} 80331ee: 4930 ldr r1, [pc, #192] ; (80332b0 ) 80331f0: f8d7 269c ldr.w r2, [r7, #1692] ; 0x69c 80331f4: 320a adds r2, #10 80331f6: 00d2 lsls r2, r2, #3 80331f8: 440a add r2, r1 80331fa: e882 0018 stmia.w r2, {r3, r4} IIR.a2[j] = a2[j]; 80331fe: f507 62b1 add.w r2, r7, #1416 ; 0x588 8033202: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8033206: 00db lsls r3, r3, #3 8033208: 4413 add r3, r2 803320a: cb18 ldmia r3, {r3, r4} 803320c: 4928 ldr r1, [pc, #160] ; (80332b0 ) 803320e: f8d7 269c ldr.w r2, [r7, #1692] ; 0x69c 8033212: 3214 adds r2, #20 8033214: 00d2 lsls r2, r2, #3 8033216: 440a add r2, r1 8033218: e882 0018 stmia.w r2, {r3, r4} IIR.b0[j] = b0[j]; 803321c: f507 727e add.w r2, r7, #1016 ; 0x3f8 8033220: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8033224: 00db lsls r3, r3, #3 8033226: 4413 add r3, r2 8033228: cb18 ldmia r3, {r3, r4} 803322a: 4921 ldr r1, [pc, #132] ; (80332b0 ) 803322c: f8d7 269c ldr.w r2, [r7, #1692] ; 0x69c 8033230: 3232 adds r2, #50 ; 0x32 8033232: 00d2 lsls r2, r2, #3 8033234: 440a add r2, r1 8033236: e882 0018 stmia.w r2, {r3, r4} IIR.b1[j] = b1[j]; 803323a: f507 6289 add.w r2, r7, #1096 ; 0x448 803323e: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8033242: 00db lsls r3, r3, #3 8033244: 4413 add r3, r2 8033246: cb18 ldmia r3, {r3, r4} 8033248: 4919 ldr r1, [pc, #100] ; (80332b0 ) 803324a: f8d7 269c ldr.w r2, [r7, #1692] ; 0x69c 803324e: 323c adds r2, #60 ; 0x3c 8033250: 00d2 lsls r2, r2, #3 8033252: 440a add r2, r1 8033254: e882 0018 stmia.w r2, {r3, r4} IIR.b2[j] = b2[j]; 8033258: f507 6293 add.w r2, r7, #1176 ; 0x498 803325c: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8033260: 00db lsls r3, r3, #3 8033262: 4413 add r3, r2 8033264: cb18 ldmia r3, {r3, r4} 8033266: 4912 ldr r1, [pc, #72] ; (80332b0 ) 8033268: f8d7 269c ldr.w r2, [r7, #1692] ; 0x69c 803326c: 3246 adds r2, #70 ; 0x46 803326e: 00d2 lsls r2, r2, #3 8033270: 440a add r2, r1 8033272: e882 0018 stmia.w r2, {r3, r4} for(j=0; j } } return(IIR); // IIR is the structure containing the coefficients. 803328c: f507 7303 add.w r3, r7, #524 ; 0x20c 8033290: 681b ldr r3, [r3, #0] 8033292: 4a07 ldr r2, [pc, #28] ; (80332b0 ) 8033294: 4618 mov r0, r3 8033296: 4611 mov r1, r2 8033298: f44f 734a mov.w r3, #808 ; 0x328 803329c: 461a mov r2, r3 803329e: f099 fec8 bl 80cd032 } 80332a2: f507 7303 add.w r3, r7, #524 ; 0x20c 80332a6: 6818 ldr r0, [r3, #0] 80332a8: f207 67a4 addw r7, r7, #1700 ; 0x6a4 80332ac: 46bd mov sp, r7 80332ae: bd90 pop {r4, r7, pc} 80332b0: 20025918 .word 0x20025918 80332b4: 00000000 .word 0x00000000 080332b8 : TSPlaneCoeff GetSPlaneCoefficients(uint8_t FilterType, int NumPoles, double Beta) { 80332b8: b590 push {r4, r7, lr} 80332ba: f5ad 7d13 sub.w sp, sp, #588 ; 0x24c 80332be: af00 add r7, sp, #0 80332c0: f107 0314 add.w r3, r7, #20 80332c4: 6018 str r0, [r3, #0] 80332c6: f107 030c add.w r3, r7, #12 80332ca: 601a str r2, [r3, #0] 80332cc: 463b mov r3, r7 80332ce: ed83 0b00 vstr d0, [r3] 80332d2: f107 0313 add.w r3, r7, #19 80332d6: 460a mov r2, r1 80332d8: 701a strb r2, [r3, #0] int j, n, p, z, MinNumPoles, MaxNumPoles; int ArrayNumber, OuterArrayDim, NumSections; double LoopBeta, BetaMin, BetaStep, BetaMax; TSPlaneCoeff SPlaneCoeff; BetaMin = BetaMinArray[FilterType]; 80332da: f107 0313 add.w r3, r7, #19 80332de: 781b ldrb r3, [r3, #0] 80332e0: 4ac5 ldr r2, [pc, #788] ; (80335f8 ) 80332e2: 00db lsls r3, r3, #3 80332e4: 4413 add r3, r2 80332e6: cb18 ldmia r3, {r3, r4} 80332e8: e9c7 3488 strd r3, r4, [r7, #544] ; 0x220 BetaStep = BetaStepArray[FilterType]; 80332ec: f107 0313 add.w r3, r7, #19 80332f0: 781b ldrb r3, [r3, #0] 80332f2: 4ac2 ldr r2, [pc, #776] ; (80335fc ) 80332f4: 00db lsls r3, r3, #3 80332f6: 4413 add r3, r2 80332f8: cb18 ldmia r3, {r3, r4} 80332fa: e9c7 3486 strd r3, r4, [r7, #536] ; 0x218 BetaMax = BetaMaxArray[FilterType]; 80332fe: f107 0313 add.w r3, r7, #19 8033302: 781b ldrb r3, [r3, #0] 8033304: 4abe ldr r2, [pc, #760] ; (8033600 ) 8033306: 00db lsls r3, r3, #3 8033308: 4413 add r3, r2 803330a: cb18 ldmia r3, {r3, r4} 803330c: e9c7 3484 strd r3, r4, [r7, #528] ; 0x210 MinNumPoles = MinNumPolesArray[FilterType]; 8033310: f107 0313 add.w r3, r7, #19 8033314: 781b ldrb r3, [r3, #0] 8033316: 4abb ldr r2, [pc, #748] ; (8033604 ) 8033318: 00db lsls r3, r3, #3 803331a: 4413 add r3, r2 803331c: ed93 7b00 vldr d7, [r3] 8033320: eefd 7bc7 vcvt.s32.f64 s15, d7 8033324: ee17 3a90 vmov r3, s15 8033328: f8c7 320c str.w r3, [r7, #524] ; 0x20c MaxNumPoles = MaxNumPolesArray[FilterType]; 803332c: f107 0313 add.w r3, r7, #19 8033330: 781b ldrb r3, [r3, #0] 8033332: 4ab5 ldr r2, [pc, #724] ; (8033608 ) 8033334: 00db lsls r3, r3, #3 8033336: 4413 add r3, r2 8033338: ed93 7b00 vldr d7, [r3] 803333c: eefd 7bc7 vcvt.s32.f64 s15, d7 8033340: ee17 3a90 vmov r3, s15 8033344: f8c7 3208 str.w r3, [r7, #520] ; 0x208 // Range check if(NumPoles < MinNumPoles)NumPoles = MinNumPoles; 8033348: f107 030c add.w r3, r7, #12 803334c: 681a ldr r2, [r3, #0] 803334e: f8d7 320c ldr.w r3, [r7, #524] ; 0x20c 8033352: 429a cmp r2, r3 8033354: da04 bge.n 8033360 8033356: f107 030c add.w r3, r7, #12 803335a: f8d7 220c ldr.w r2, [r7, #524] ; 0x20c 803335e: 601a str r2, [r3, #0] if(NumPoles > MaxNumPoles)NumPoles = MaxNumPoles; 8033360: f107 030c add.w r3, r7, #12 8033364: 681a ldr r2, [r3, #0] 8033366: f8d7 3208 ldr.w r3, [r7, #520] ; 0x208 803336a: 429a cmp r2, r3 803336c: dd04 ble.n 8033378 803336e: f107 030c add.w r3, r7, #12 8033372: f8d7 2208 ldr.w r2, [r7, #520] ; 0x208 8033376: 601a str r2, [r3, #0] if(Beta < BetaMin)Beta = BetaMin; 8033378: 463b mov r3, r7 803337a: ed93 6b00 vldr d6, [r3] 803337e: ed97 7b88 vldr d7, [r7, #544] ; 0x220 8033382: eeb4 6bc7 vcmpe.f64 d6, d7 8033386: eef1 fa10 vmrs APSR_nzcv, fpscr 803338a: d504 bpl.n 8033396 803338c: 463a mov r2, r7 803338e: e9d7 3488 ldrd r3, r4, [r7, #544] ; 0x220 8033392: e882 0018 stmia.w r2, {r3, r4} if(Beta > BetaMax)Beta = BetaMax; 8033396: 463b mov r3, r7 8033398: ed93 6b00 vldr d6, [r3] 803339c: ed97 7b84 vldr d7, [r7, #528] ; 0x210 80333a0: eeb4 6bc7 vcmpe.f64 d6, d7 80333a4: eef1 fa10 vmrs APSR_nzcv, fpscr 80333a8: dd04 ble.n 80333b4 80333aa: 463a mov r2, r7 80333ac: e9d7 3484 ldrd r3, r4, [r7, #528] ; 0x210 80333b0: e882 0018 stmia.w r2, {r3, r4} // Need the array number that corresponds to Beta. // The max array size was originally determined with this piece of code, // so we use it here so we can range check ArrayNumber. OuterArrayDim = 0; 80333b4: 2300 movs r3, #0 80333b6: f8c7 3230 str.w r3, [r7, #560] ; 0x230 for(LoopBeta=BetaMin; LoopBeta<=BetaMax; LoopBeta+=BetaStep)OuterArrayDim++; 80333ba: e9d7 3488 ldrd r3, r4, [r7, #544] ; 0x220 80333be: e9c7 348a strd r3, r4, [r7, #552] ; 0x228 80333c2: e00c b.n 80333de 80333c4: f8d7 3230 ldr.w r3, [r7, #560] ; 0x230 80333c8: 3301 adds r3, #1 80333ca: f8c7 3230 str.w r3, [r7, #560] ; 0x230 80333ce: ed97 6b8a vldr d6, [r7, #552] ; 0x228 80333d2: ed97 7b86 vldr d7, [r7, #536] ; 0x218 80333d6: ee36 7b07 vadd.f64 d7, d6, d7 80333da: ed87 7b8a vstr d7, [r7, #552] ; 0x228 80333de: ed97 6b8a vldr d6, [r7, #552] ; 0x228 80333e2: ed97 7b84 vldr d7, [r7, #528] ; 0x210 80333e6: eeb4 6bc7 vcmpe.f64 d6, d7 80333ea: eef1 fa10 vmrs APSR_nzcv, fpscr 80333ee: d9e9 bls.n 80333c4 ArrayNumber = 0; 80333f0: 2300 movs r3, #0 80333f2: f8c7 3234 str.w r3, [r7, #564] ; 0x234 for(LoopBeta=BetaMin; LoopBeta<=BetaMax; LoopBeta+=BetaStep) 80333f6: e9d7 3488 ldrd r3, r4, [r7, #544] ; 0x220 80333fa: e9c7 348a strd r3, r4, [r7, #552] ; 0x228 80333fe: e030 b.n 8033462 { if( LoopBeta >= Beta - BetaStep/1.9999 && LoopBeta <= Beta + BetaStep/1.9999)break; 8033400: ed97 6b86 vldr d6, [r7, #536] ; 0x218 8033404: ed9f 5b7a vldr d5, [pc, #488] ; 80335f0 8033408: ee86 7b05 vdiv.f64 d7, d6, d5 803340c: 463b mov r3, r7 803340e: ed93 6b00 vldr d6, [r3] 8033412: ee36 6b47 vsub.f64 d6, d6, d7 8033416: ed97 7b8a vldr d7, [r7, #552] ; 0x228 803341a: eeb4 6bc7 vcmpe.f64 d6, d7 803341e: eef1 fa10 vmrs APSR_nzcv, fpscr 8033422: d811 bhi.n 8033448 8033424: ed97 7b86 vldr d7, [r7, #536] ; 0x218 8033428: ed9f 5b71 vldr d5, [pc, #452] ; 80335f0 803342c: ee87 6b05 vdiv.f64 d6, d7, d5 8033430: 463b mov r3, r7 8033432: ed93 7b00 vldr d7, [r3] 8033436: ee36 6b07 vadd.f64 d6, d6, d7 803343a: ed97 7b8a vldr d7, [r7, #552] ; 0x228 803343e: eeb4 6bc7 vcmpe.f64 d6, d7 8033442: eef1 fa10 vmrs APSR_nzcv, fpscr 8033446: da16 bge.n 8033476 ArrayNumber++; 8033448: f8d7 3234 ldr.w r3, [r7, #564] ; 0x234 803344c: 3301 adds r3, #1 803344e: f8c7 3234 str.w r3, [r7, #564] ; 0x234 for(LoopBeta=BetaMin; LoopBeta<=BetaMax; LoopBeta+=BetaStep) 8033452: ed97 6b8a vldr d6, [r7, #552] ; 0x228 8033456: ed97 7b86 vldr d7, [r7, #536] ; 0x218 803345a: ee36 7b07 vadd.f64 d7, d6, d7 803345e: ed87 7b8a vstr d7, [r7, #552] ; 0x228 8033462: ed97 6b8a vldr d6, [r7, #552] ; 0x228 8033466: ed97 7b84 vldr d7, [r7, #528] ; 0x210 803346a: eeb4 6bc7 vcmpe.f64 d6, d7 803346e: eef1 fa10 vmrs APSR_nzcv, fpscr 8033472: d9c5 bls.n 8033400 8033474: e000 b.n 8033478 if( LoopBeta >= Beta - BetaStep/1.9999 && LoopBeta <= Beta + BetaStep/1.9999)break; 8033476: bf00 nop } if(ArrayNumber > OuterArrayDim-1)ArrayNumber = OuterArrayDim-1; // i.e. If the array is dimensioned to N, the highest we can access is N-1 8033478: f8d7 3230 ldr.w r3, [r7, #560] ; 0x230 803347c: 1e5a subs r2, r3, #1 803347e: f8d7 3234 ldr.w r3, [r7, #564] ; 0x234 8033482: 429a cmp r2, r3 8033484: da04 bge.n 8033490 8033486: f8d7 3230 ldr.w r3, [r7, #560] ; 0x230 803348a: 3b01 subs r3, #1 803348c: f8c7 3234 str.w r3, [r7, #564] ; 0x234 // n is the array location for the given pole count. // The arrays start at 0. MinNumPoles is either 2 or 4. n = NumPoles - MinNumPoles; 8033490: f107 030c add.w r3, r7, #12 8033494: 681a ldr r2, [r3, #0] 8033496: f8d7 320c ldr.w r3, [r7, #524] ; 0x20c 803349a: 1ad3 subs r3, r2, r3 803349c: f8c7 3240 str.w r3, [r7, #576] ; 0x240 if(n < 0)n = 0; 80334a0: f8d7 3240 ldr.w r3, [r7, #576] ; 0x240 80334a4: 2b00 cmp r3, #0 80334a6: da02 bge.n 80334ae 80334a8: 2300 movs r3, #0 80334aa: f8c7 3240 str.w r3, [r7, #576] ; 0x240 // NumSections is the number of biquad sections for a given pole count. NumSections = (NumPoles + 1) / 2; 80334ae: f107 030c add.w r3, r7, #12 80334b2: 681b ldr r3, [r3, #0] 80334b4: 3301 adds r3, #1 80334b6: 2b00 cmp r3, #0 80334b8: da00 bge.n 80334bc 80334ba: 3301 adds r3, #1 80334bc: 105b asrs r3, r3, #1 80334be: f8c7 3204 str.w r3, [r7, #516] ; 0x204 p = z = 0; 80334c2: 2300 movs r3, #0 80334c4: f8c7 3238 str.w r3, [r7, #568] ; 0x238 80334c8: f8d7 3238 ldr.w r3, [r7, #568] ; 0x238 80334cc: f8c7 323c str.w r3, [r7, #572] ; 0x23c switch(FilterType) 80334d0: f107 0313 add.w r3, r7, #19 80334d4: 781b ldrb r3, [r3, #0] 80334d6: 2b04 cmp r3, #4 80334d8: f000 8086 beq.w 80335e8 80334dc: 2b05 cmp r3, #5 80334de: f000 812b beq.w 8033738 80334e2: 2b00 cmp r3, #0 80334e4: f040 81f2 bne.w 80338cc { case ftBUTTERWORTH: for(j=0; j { SPlaneCoeff.A[j] = ButterworthDenominator[n][p++]; 80334f0: f8d7 223c ldr.w r2, [r7, #572] ; 0x23c 80334f4: 1c53 adds r3, r2, #1 80334f6: f8c7 323c str.w r3, [r7, #572] ; 0x23c 80334fa: 4844 ldr r0, [pc, #272] ; (803360c ) 80334fc: f8d7 1240 ldr.w r1, [r7, #576] ; 0x240 8033500: 460b mov r3, r1 8033502: 011b lsls r3, r3, #4 8033504: 1a5b subs r3, r3, r1 8033506: 005b lsls r3, r3, #1 8033508: 4413 add r3, r2 803350a: 00db lsls r3, r3, #3 803350c: 4403 add r3, r0 803350e: cb18 ldmia r3, {r3, r4} 8033510: f107 0118 add.w r1, r7, #24 8033514: f8d7 2244 ldr.w r2, [r7, #580] ; 0x244 8033518: 00d2 lsls r2, r2, #3 803351a: 440a add r2, r1 803351c: e882 0018 stmia.w r2, {r3, r4} SPlaneCoeff.B[j] = ButterworthDenominator[n][p++]; 8033520: f8d7 223c ldr.w r2, [r7, #572] ; 0x23c 8033524: 1c53 adds r3, r2, #1 8033526: f8c7 323c str.w r3, [r7, #572] ; 0x23c 803352a: 4838 ldr r0, [pc, #224] ; (803360c ) 803352c: f8d7 1240 ldr.w r1, [r7, #576] ; 0x240 8033530: 460b mov r3, r1 8033532: 011b lsls r3, r3, #4 8033534: 1a5b subs r3, r3, r1 8033536: 005b lsls r3, r3, #1 8033538: 4413 add r3, r2 803353a: 00db lsls r3, r3, #3 803353c: 4403 add r3, r0 803353e: cb18 ldmia r3, {r3, r4} 8033540: f107 0118 add.w r1, r7, #24 8033544: f8d7 2244 ldr.w r2, [r7, #580] ; 0x244 8033548: 320a adds r2, #10 803354a: 00d2 lsls r2, r2, #3 803354c: 440a add r2, r1 803354e: e882 0018 stmia.w r2, {r3, r4} SPlaneCoeff.C[j] = ButterworthDenominator[n][p++]; 8033552: f8d7 223c ldr.w r2, [r7, #572] ; 0x23c 8033556: 1c53 adds r3, r2, #1 8033558: f8c7 323c str.w r3, [r7, #572] ; 0x23c 803355c: 482b ldr r0, [pc, #172] ; (803360c ) 803355e: f8d7 1240 ldr.w r1, [r7, #576] ; 0x240 8033562: 460b mov r3, r1 8033564: 011b lsls r3, r3, #4 8033566: 1a5b subs r3, r3, r1 8033568: 005b lsls r3, r3, #1 803356a: 4413 add r3, r2 803356c: 00db lsls r3, r3, #3 803356e: 4403 add r3, r0 8033570: cb18 ldmia r3, {r3, r4} 8033572: f107 0118 add.w r1, r7, #24 8033576: f8d7 2244 ldr.w r2, [r7, #580] ; 0x244 803357a: 3214 adds r2, #20 803357c: 00d2 lsls r2, r2, #3 803357e: 440a add r2, r1 8033580: e882 0018 stmia.w r2, {r3, r4} SPlaneCoeff.D[j] = 0.0; 8033584: f107 0218 add.w r2, r7, #24 8033588: f8d7 3244 ldr.w r3, [r7, #580] ; 0x244 803358c: 331e adds r3, #30 803358e: 00db lsls r3, r3, #3 8033590: 441a add r2, r3 8033592: f04f 0300 mov.w r3, #0 8033596: f04f 0400 mov.w r4, #0 803359a: e882 0018 stmia.w r2, {r3, r4} SPlaneCoeff.E[j] = 0.0; 803359e: f107 0218 add.w r2, r7, #24 80335a2: f8d7 3244 ldr.w r3, [r7, #580] ; 0x244 80335a6: 3328 adds r3, #40 ; 0x28 80335a8: 00db lsls r3, r3, #3 80335aa: 441a add r2, r3 80335ac: f04f 0300 mov.w r3, #0 80335b0: f04f 0400 mov.w r4, #0 80335b4: e882 0018 stmia.w r2, {r3, r4} SPlaneCoeff.F[j] = 1.0; 80335b8: f107 0218 add.w r2, r7, #24 80335bc: f8d7 3244 ldr.w r3, [r7, #580] ; 0x244 80335c0: 3332 adds r3, #50 ; 0x32 80335c2: 00db lsls r3, r3, #3 80335c4: 441a add r2, r3 80335c6: f04f 0300 mov.w r3, #0 80335ca: 4c11 ldr r4, [pc, #68] ; (8033610 ) 80335cc: e882 0018 stmia.w r2, {r3, r4} for(j=0; j } break; 80335e6: e171 b.n 80338cc case ftCHEBYSHEV: for(j=0; j 80335f0: 2474538f .word 0x2474538f 80335f4: 3fffff97 .word 0x3fffff97 80335f8: 080d7f28 .word 0x080d7f28 80335fc: 080d7fb0 .word 0x080d7fb0 8033600: 080d8038 .word 0x080d8038 8033604: 080d80c0 .word 0x080d80c0 8033608: 080d8148 .word 0x080d8148 803360c: 080d81d0 .word 0x080d81d0 8033610: 3ff00000 .word 0x3ff00000 { SPlaneCoeff.A[j] = ChebyshevDenominator[ArrayNumber][n][p++]; 8033614: f8d7 223c ldr.w r2, [r7, #572] ; 0x23c 8033618: 1c53 adds r3, r2, #1 803361a: f8c7 323c str.w r3, [r7, #572] ; 0x23c 803361e: 4cb8 ldr r4, [pc, #736] ; (8033900 ) 8033620: f8d7 1240 ldr.w r1, [r7, #576] ; 0x240 8033624: f8d7 0234 ldr.w r0, [r7, #564] ; 0x234 8033628: 460b mov r3, r1 803362a: 011b lsls r3, r3, #4 803362c: 1a5b subs r3, r3, r1 803362e: 005b lsls r3, r3, #1 8033630: f44f 7187 mov.w r1, #270 ; 0x10e 8033634: fb01 f100 mul.w r1, r1, r0 8033638: 440b add r3, r1 803363a: 4413 add r3, r2 803363c: 00db lsls r3, r3, #3 803363e: 4423 add r3, r4 8033640: cb18 ldmia r3, {r3, r4} 8033642: f107 0118 add.w r1, r7, #24 8033646: f8d7 2244 ldr.w r2, [r7, #580] ; 0x244 803364a: 00d2 lsls r2, r2, #3 803364c: 440a add r2, r1 803364e: e882 0018 stmia.w r2, {r3, r4} SPlaneCoeff.B[j] = ChebyshevDenominator[ArrayNumber][n][p++]; 8033652: f8d7 223c ldr.w r2, [r7, #572] ; 0x23c 8033656: 1c53 adds r3, r2, #1 8033658: f8c7 323c str.w r3, [r7, #572] ; 0x23c 803365c: 4ca8 ldr r4, [pc, #672] ; (8033900 ) 803365e: f8d7 1240 ldr.w r1, [r7, #576] ; 0x240 8033662: f8d7 0234 ldr.w r0, [r7, #564] ; 0x234 8033666: 460b mov r3, r1 8033668: 011b lsls r3, r3, #4 803366a: 1a5b subs r3, r3, r1 803366c: 005b lsls r3, r3, #1 803366e: f44f 7187 mov.w r1, #270 ; 0x10e 8033672: fb01 f100 mul.w r1, r1, r0 8033676: 440b add r3, r1 8033678: 4413 add r3, r2 803367a: 00db lsls r3, r3, #3 803367c: 4423 add r3, r4 803367e: cb18 ldmia r3, {r3, r4} 8033680: f107 0118 add.w r1, r7, #24 8033684: f8d7 2244 ldr.w r2, [r7, #580] ; 0x244 8033688: 320a adds r2, #10 803368a: 00d2 lsls r2, r2, #3 803368c: 440a add r2, r1 803368e: e882 0018 stmia.w r2, {r3, r4} SPlaneCoeff.C[j] = ChebyshevDenominator[ArrayNumber][n][p++]; 8033692: f8d7 223c ldr.w r2, [r7, #572] ; 0x23c 8033696: 1c53 adds r3, r2, #1 8033698: f8c7 323c str.w r3, [r7, #572] ; 0x23c 803369c: 4c98 ldr r4, [pc, #608] ; (8033900 ) 803369e: f8d7 1240 ldr.w r1, [r7, #576] ; 0x240 80336a2: f8d7 0234 ldr.w r0, [r7, #564] ; 0x234 80336a6: 460b mov r3, r1 80336a8: 011b lsls r3, r3, #4 80336aa: 1a5b subs r3, r3, r1 80336ac: 005b lsls r3, r3, #1 80336ae: f44f 7187 mov.w r1, #270 ; 0x10e 80336b2: fb01 f100 mul.w r1, r1, r0 80336b6: 440b add r3, r1 80336b8: 4413 add r3, r2 80336ba: 00db lsls r3, r3, #3 80336bc: 4423 add r3, r4 80336be: cb18 ldmia r3, {r3, r4} 80336c0: f107 0118 add.w r1, r7, #24 80336c4: f8d7 2244 ldr.w r2, [r7, #580] ; 0x244 80336c8: 3214 adds r2, #20 80336ca: 00d2 lsls r2, r2, #3 80336cc: 440a add r2, r1 80336ce: e882 0018 stmia.w r2, {r3, r4} SPlaneCoeff.D[j] = 0.0; 80336d2: f107 0218 add.w r2, r7, #24 80336d6: f8d7 3244 ldr.w r3, [r7, #580] ; 0x244 80336da: 331e adds r3, #30 80336dc: 00db lsls r3, r3, #3 80336de: 441a add r2, r3 80336e0: f04f 0300 mov.w r3, #0 80336e4: f04f 0400 mov.w r4, #0 80336e8: e882 0018 stmia.w r2, {r3, r4} SPlaneCoeff.E[j] = 0.0; 80336ec: f107 0218 add.w r2, r7, #24 80336f0: f8d7 3244 ldr.w r3, [r7, #580] ; 0x244 80336f4: 3328 adds r3, #40 ; 0x28 80336f6: 00db lsls r3, r3, #3 80336f8: 441a add r2, r3 80336fa: f04f 0300 mov.w r3, #0 80336fe: f04f 0400 mov.w r4, #0 8033702: e882 0018 stmia.w r2, {r3, r4} SPlaneCoeff.F[j] = 1.0; 8033706: f107 0218 add.w r2, r7, #24 803370a: f8d7 3244 ldr.w r3, [r7, #580] ; 0x244 803370e: 3332 adds r3, #50 ; 0x32 8033710: 00db lsls r3, r3, #3 8033712: 441a add r2, r3 8033714: f04f 0300 mov.w r3, #0 8033718: 4c7a ldr r4, [pc, #488] ; (8033904 ) 803371a: e882 0018 stmia.w r2, {r3, r4} for(j=0; j } break; 8033736: e0c9 b.n 80338cc case ftINVERSE_CHEBY: for(j=0; j { SPlaneCoeff.A[j] = InvChebyDenominator[ArrayNumber][n][p++]; 8033740: f8d7 223c ldr.w r2, [r7, #572] ; 0x23c 8033744: 1c53 adds r3, r2, #1 8033746: f8c7 323c str.w r3, [r7, #572] ; 0x23c 803374a: 4c6f ldr r4, [pc, #444] ; (8033908 ) 803374c: f8d7 1240 ldr.w r1, [r7, #576] ; 0x240 8033750: f8d7 0234 ldr.w r0, [r7, #564] ; 0x234 8033754: 460b mov r3, r1 8033756: 005b lsls r3, r3, #1 8033758: 440b add r3, r1 803375a: 00db lsls r3, r3, #3 803375c: 21d8 movs r1, #216 ; 0xd8 803375e: fb01 f100 mul.w r1, r1, r0 8033762: 440b add r3, r1 8033764: 4413 add r3, r2 8033766: 00db lsls r3, r3, #3 8033768: 4423 add r3, r4 803376a: cb18 ldmia r3, {r3, r4} 803376c: f107 0118 add.w r1, r7, #24 8033770: f8d7 2244 ldr.w r2, [r7, #580] ; 0x244 8033774: 00d2 lsls r2, r2, #3 8033776: 440a add r2, r1 8033778: e882 0018 stmia.w r2, {r3, r4} SPlaneCoeff.B[j] = InvChebyDenominator[ArrayNumber][n][p++]; 803377c: f8d7 223c ldr.w r2, [r7, #572] ; 0x23c 8033780: 1c53 adds r3, r2, #1 8033782: f8c7 323c str.w r3, [r7, #572] ; 0x23c 8033786: 4c60 ldr r4, [pc, #384] ; (8033908 ) 8033788: f8d7 1240 ldr.w r1, [r7, #576] ; 0x240 803378c: f8d7 0234 ldr.w r0, [r7, #564] ; 0x234 8033790: 460b mov r3, r1 8033792: 005b lsls r3, r3, #1 8033794: 440b add r3, r1 8033796: 00db lsls r3, r3, #3 8033798: 21d8 movs r1, #216 ; 0xd8 803379a: fb01 f100 mul.w r1, r1, r0 803379e: 440b add r3, r1 80337a0: 4413 add r3, r2 80337a2: 00db lsls r3, r3, #3 80337a4: 4423 add r3, r4 80337a6: cb18 ldmia r3, {r3, r4} 80337a8: f107 0118 add.w r1, r7, #24 80337ac: f8d7 2244 ldr.w r2, [r7, #580] ; 0x244 80337b0: 320a adds r2, #10 80337b2: 00d2 lsls r2, r2, #3 80337b4: 440a add r2, r1 80337b6: e882 0018 stmia.w r2, {r3, r4} SPlaneCoeff.C[j] = InvChebyDenominator[ArrayNumber][n][p++]; 80337ba: f8d7 223c ldr.w r2, [r7, #572] ; 0x23c 80337be: 1c53 adds r3, r2, #1 80337c0: f8c7 323c str.w r3, [r7, #572] ; 0x23c 80337c4: 4c50 ldr r4, [pc, #320] ; (8033908 ) 80337c6: f8d7 1240 ldr.w r1, [r7, #576] ; 0x240 80337ca: f8d7 0234 ldr.w r0, [r7, #564] ; 0x234 80337ce: 460b mov r3, r1 80337d0: 005b lsls r3, r3, #1 80337d2: 440b add r3, r1 80337d4: 00db lsls r3, r3, #3 80337d6: 21d8 movs r1, #216 ; 0xd8 80337d8: fb01 f100 mul.w r1, r1, r0 80337dc: 440b add r3, r1 80337de: 4413 add r3, r2 80337e0: 00db lsls r3, r3, #3 80337e2: 4423 add r3, r4 80337e4: cb18 ldmia r3, {r3, r4} 80337e6: f107 0118 add.w r1, r7, #24 80337ea: f8d7 2244 ldr.w r2, [r7, #580] ; 0x244 80337ee: 3214 adds r2, #20 80337f0: 00d2 lsls r2, r2, #3 80337f2: 440a add r2, r1 80337f4: e882 0018 stmia.w r2, {r3, r4} SPlaneCoeff.D[j] = InvChebyNumerator[ArrayNumber][n][z++]; 80337f8: f8d7 2238 ldr.w r2, [r7, #568] ; 0x238 80337fc: 1c53 adds r3, r2, #1 80337fe: f8c7 3238 str.w r3, [r7, #568] ; 0x238 8033802: 4c42 ldr r4, [pc, #264] ; (803390c ) 8033804: f8d7 1240 ldr.w r1, [r7, #576] ; 0x240 8033808: f8d7 0234 ldr.w r0, [r7, #564] ; 0x234 803380c: 460b mov r3, r1 803380e: 005b lsls r3, r3, #1 8033810: 440b add r3, r1 8033812: 00db lsls r3, r3, #3 8033814: 21d8 movs r1, #216 ; 0xd8 8033816: fb01 f100 mul.w r1, r1, r0 803381a: 440b add r3, r1 803381c: 4413 add r3, r2 803381e: 00db lsls r3, r3, #3 8033820: 4423 add r3, r4 8033822: cb18 ldmia r3, {r3, r4} 8033824: f107 0118 add.w r1, r7, #24 8033828: f8d7 2244 ldr.w r2, [r7, #580] ; 0x244 803382c: 321e adds r2, #30 803382e: 00d2 lsls r2, r2, #3 8033830: 440a add r2, r1 8033832: e882 0018 stmia.w r2, {r3, r4} SPlaneCoeff.E[j] = InvChebyNumerator[ArrayNumber][n][z++]; 8033836: f8d7 2238 ldr.w r2, [r7, #568] ; 0x238 803383a: 1c53 adds r3, r2, #1 803383c: f8c7 3238 str.w r3, [r7, #568] ; 0x238 8033840: 4c32 ldr r4, [pc, #200] ; (803390c ) 8033842: f8d7 1240 ldr.w r1, [r7, #576] ; 0x240 8033846: f8d7 0234 ldr.w r0, [r7, #564] ; 0x234 803384a: 460b mov r3, r1 803384c: 005b lsls r3, r3, #1 803384e: 440b add r3, r1 8033850: 00db lsls r3, r3, #3 8033852: 21d8 movs r1, #216 ; 0xd8 8033854: fb01 f100 mul.w r1, r1, r0 8033858: 440b add r3, r1 803385a: 4413 add r3, r2 803385c: 00db lsls r3, r3, #3 803385e: 4423 add r3, r4 8033860: cb18 ldmia r3, {r3, r4} 8033862: f107 0118 add.w r1, r7, #24 8033866: f8d7 2244 ldr.w r2, [r7, #580] ; 0x244 803386a: 3228 adds r2, #40 ; 0x28 803386c: 00d2 lsls r2, r2, #3 803386e: 440a add r2, r1 8033870: e882 0018 stmia.w r2, {r3, r4} SPlaneCoeff.F[j] = InvChebyNumerator[ArrayNumber][n][z++]; 8033874: f8d7 2238 ldr.w r2, [r7, #568] ; 0x238 8033878: 1c53 adds r3, r2, #1 803387a: f8c7 3238 str.w r3, [r7, #568] ; 0x238 803387e: 4c23 ldr r4, [pc, #140] ; (803390c ) 8033880: f8d7 1240 ldr.w r1, [r7, #576] ; 0x240 8033884: f8d7 0234 ldr.w r0, [r7, #564] ; 0x234 8033888: 460b mov r3, r1 803388a: 005b lsls r3, r3, #1 803388c: 440b add r3, r1 803388e: 00db lsls r3, r3, #3 8033890: 21d8 movs r1, #216 ; 0xd8 8033892: fb01 f100 mul.w r1, r1, r0 8033896: 440b add r3, r1 8033898: 4413 add r3, r2 803389a: 00db lsls r3, r3, #3 803389c: 4423 add r3, r4 803389e: cb18 ldmia r3, {r3, r4} 80338a0: f107 0118 add.w r1, r7, #24 80338a4: f8d7 2244 ldr.w r2, [r7, #580] ; 0x244 80338a8: 3232 adds r2, #50 ; 0x32 80338aa: 00d2 lsls r2, r2, #3 80338ac: 440a add r2, r1 80338ae: e882 0018 stmia.w r2, {r3, r4} for(j=0; j } break; 80338ca: bf00 nop } SPlaneCoeff.NumSections = NumSections; 80338cc: f107 0318 add.w r3, r7, #24 80338d0: f8d7 2204 ldr.w r2, [r7, #516] ; 0x204 80338d4: f8c3 21e0 str.w r2, [r3, #480] ; 0x1e0 return(SPlaneCoeff); 80338d8: f107 0314 add.w r3, r7, #20 80338dc: 681a ldr r2, [r3, #0] 80338de: f107 0318 add.w r3, r7, #24 80338e2: 4610 mov r0, r2 80338e4: 4619 mov r1, r3 80338e6: f44f 73f4 mov.w r3, #488 ; 0x1e8 80338ea: 461a mov r2, r3 80338ec: f099 fba1 bl 80cd032 } 80338f0: f107 0314 add.w r3, r7, #20 80338f4: 6818 ldr r0, [r3, #0] 80338f6: f507 7713 add.w r7, r7, #588 ; 0x24c 80338fa: 46bd mov sp, r7 80338fc: bd90 pop {r4, r7, pc} 80338fe: bf00 nop 8033900: 080d8a40 .word 0x080d8a40 8033904: 3ff00000 .word 0x3ff00000 8033908: 080de710 .word 0x080de710 803390c: 080e6750 .word 0x080e6750 08033910 : int QuadCubicRoots(int N, double *Coeff, double *RootsReal, double *RootsImag) { 8033910: b590 push {r4, r7, lr} 8033912: b0a1 sub sp, #132 ; 0x84 8033914: af00 add r7, sp, #0 8033916: 60f8 str r0, [r7, #12] 8033918: 60b9 str r1, [r7, #8] 803391a: 607a str r2, [r7, #4] 803391c: 603b str r3, [r7, #0] if(N <= 1 || N > 4) 803391e: 68fb ldr r3, [r7, #12] 8033920: 2b01 cmp r3, #1 8033922: dd02 ble.n 803392a 8033924: 68fb ldr r3, [r7, #12] 8033926: 2b04 cmp r3, #4 8033928: dd01 ble.n 803392e { return(0); 803392a: 2300 movs r3, #0 803392c: e13b b.n 8033ba6 int j, k; long double P[5], RealRoot[4], ImagRoot[4]; // Must init to zero, in case N is reduced. for(j=0; j<4; j++)RealRoot[j] = ImagRoot[j] = 0.0; 803392e: 2300 movs r3, #0 8033930: 67fb str r3, [r7, #124] ; 0x7c 8033932: e01e b.n 8033972 8033934: 6ffb ldr r3, [r7, #124] ; 0x7c 8033936: 00db lsls r3, r3, #3 8033938: f107 0280 add.w r2, r7, #128 ; 0x80 803393c: 4413 add r3, r2 803393e: f1a3 0270 sub.w r2, r3, #112 ; 0x70 8033942: f04f 0300 mov.w r3, #0 8033946: f04f 0400 mov.w r4, #0 803394a: e882 0018 stmia.w r2, {r3, r4} 803394e: 6ffb ldr r3, [r7, #124] ; 0x7c 8033950: 00db lsls r3, r3, #3 8033952: f107 0280 add.w r2, r7, #128 ; 0x80 8033956: 4413 add r3, r2 8033958: 3b70 subs r3, #112 ; 0x70 803395a: cb18 ldmia r3, {r3, r4} 803395c: 6ffa ldr r2, [r7, #124] ; 0x7c 803395e: 00d2 lsls r2, r2, #3 8033960: f107 0180 add.w r1, r7, #128 ; 0x80 8033964: 440a add r2, r1 8033966: 3a50 subs r2, #80 ; 0x50 8033968: e882 0018 stmia.w r2, {r3, r4} 803396c: 6ffb ldr r3, [r7, #124] ; 0x7c 803396e: 3301 adds r3, #1 8033970: 67fb str r3, [r7, #124] ; 0x7c 8033972: 6ffb ldr r3, [r7, #124] ; 0x7c 8033974: 2b03 cmp r3, #3 8033976: dddd ble.n 8033934 for(j=0; j<5; j++)P[j] = 0.0; 8033978: 2300 movs r3, #0 803397a: 67fb str r3, [r7, #124] ; 0x7c 803397c: e00f b.n 803399e 803397e: 6ffb ldr r3, [r7, #124] ; 0x7c 8033980: 00db lsls r3, r3, #3 8033982: f107 0280 add.w r2, r7, #128 ; 0x80 8033986: 4413 add r3, r2 8033988: f1a3 0230 sub.w r2, r3, #48 ; 0x30 803398c: f04f 0300 mov.w r3, #0 8033990: f04f 0400 mov.w r4, #0 8033994: e882 0018 stmia.w r2, {r3, r4} 8033998: 6ffb ldr r3, [r7, #124] ; 0x7c 803399a: 3301 adds r3, #1 803399c: 67fb str r3, [r7, #124] ; 0x7c 803399e: 6ffb ldr r3, [r7, #124] ; 0x7c 80339a0: 2b04 cmp r3, #4 80339a2: ddec ble.n 803397e // Reduce the order if there are trailing zeros. for(k=N; k>=0; k--) 80339a4: 68fb ldr r3, [r7, #12] 80339a6: 67bb str r3, [r7, #120] ; 0x78 80339a8: e01e b.n 80339e8 { if(fabs(Coeff[k]) > ZERO_PLUS)break; // break on the 1st nonzero coeff 80339aa: 6fbb ldr r3, [r7, #120] ; 0x78 80339ac: 00db lsls r3, r3, #3 80339ae: 68ba ldr r2, [r7, #8] 80339b0: 4413 add r3, r2 80339b2: ed93 7b00 vldr d7, [r3] 80339b6: eeb0 7bc7 vabs.f64 d7, d7 80339ba: ed9f 6b7d vldr d6, [pc, #500] ; 8033bb0 80339be: eeb4 7bc6 vcmpe.f64 d7, d6 80339c2: eef1 fa10 vmrs APSR_nzcv, fpscr 80339c6: dc13 bgt.n 80339f0 Coeff[k] = 0.0; 80339c8: 6fbb ldr r3, [r7, #120] ; 0x78 80339ca: 00db lsls r3, r3, #3 80339cc: 68ba ldr r2, [r7, #8] 80339ce: 441a add r2, r3 80339d0: f04f 0300 mov.w r3, #0 80339d4: f04f 0400 mov.w r4, #0 80339d8: e882 0018 stmia.w r2, {r3, r4} N--; 80339dc: 68fb ldr r3, [r7, #12] 80339de: 3b01 subs r3, #1 80339e0: 60fb str r3, [r7, #12] for(k=N; k>=0; k--) 80339e2: 6fbb ldr r3, [r7, #120] ; 0x78 80339e4: 3b01 subs r3, #1 80339e6: 67bb str r3, [r7, #120] ; 0x78 80339e8: 6fbb ldr r3, [r7, #120] ; 0x78 80339ea: 2b00 cmp r3, #0 80339ec: dadd bge.n 80339aa 80339ee: e024 b.n 8033a3a if(fabs(Coeff[k]) > ZERO_PLUS)break; // break on the 1st nonzero coeff 80339f0: bf00 nop } // Mandatory to remove leading zeros. while( fabs(Coeff[0]) < ZERO_PLUS && N>0) 80339f2: e022 b.n 8033a3a { for(k=0; k { Coeff[k] = Coeff[k+1]; 80339fa: 6fbb ldr r3, [r7, #120] ; 0x78 80339fc: 00db lsls r3, r3, #3 80339fe: 68ba ldr r2, [r7, #8] 8033a00: 441a add r2, r3 8033a02: 6fbb ldr r3, [r7, #120] ; 0x78 8033a04: 3301 adds r3, #1 8033a06: 00db lsls r3, r3, #3 8033a08: 68b9 ldr r1, [r7, #8] 8033a0a: 440b add r3, r1 8033a0c: cb18 ldmia r3, {r3, r4} 8033a0e: e882 0018 stmia.w r2, {r3, r4} for(k=0; k } Coeff[N] = 0.0; 8033a20: 68fb ldr r3, [r7, #12] 8033a22: 00db lsls r3, r3, #3 8033a24: 68ba ldr r2, [r7, #8] 8033a26: 441a add r2, r3 8033a28: f04f 0300 mov.w r3, #0 8033a2c: f04f 0400 mov.w r4, #0 8033a30: e882 0018 stmia.w r2, {r3, r4} N--; 8033a34: 68fb ldr r3, [r7, #12] 8033a36: 3b01 subs r3, #1 8033a38: 60fb str r3, [r7, #12] while( fabs(Coeff[0]) < ZERO_PLUS && N>0) 8033a3a: 68bb ldr r3, [r7, #8] 8033a3c: ed93 7b00 vldr d7, [r3] 8033a40: eeb0 7bc7 vabs.f64 d7, d7 8033a44: ed9f 6b5a vldr d6, [pc, #360] ; 8033bb0 8033a48: eeb4 7bc6 vcmpe.f64 d7, d6 8033a4c: eef1 fa10 vmrs APSR_nzcv, fpscr 8033a50: d502 bpl.n 8033a58 8033a52: 68fb ldr r3, [r7, #12] 8033a54: 2b00 cmp r3, #0 8033a56: dccd bgt.n 80339f4 } // The functions below modify the coeff array, so we pass P instead of Coeff. for(j=0; j<=N; j++)P[j] = Coeff[j]; 8033a58: 2300 movs r3, #0 8033a5a: 67fb str r3, [r7, #124] ; 0x7c 8033a5c: e00f b.n 8033a7e 8033a5e: 6ffb ldr r3, [r7, #124] ; 0x7c 8033a60: 00db lsls r3, r3, #3 8033a62: 68ba ldr r2, [r7, #8] 8033a64: 4413 add r3, r2 8033a66: cb18 ldmia r3, {r3, r4} 8033a68: 6ffa ldr r2, [r7, #124] ; 0x7c 8033a6a: 00d2 lsls r2, r2, #3 8033a6c: f107 0180 add.w r1, r7, #128 ; 0x80 8033a70: 440a add r2, r1 8033a72: 3a30 subs r2, #48 ; 0x30 8033a74: e882 0018 stmia.w r2, {r3, r4} 8033a78: 6ffb ldr r3, [r7, #124] ; 0x7c 8033a7a: 3301 adds r3, #1 8033a7c: 67fb str r3, [r7, #124] ; 0x7c 8033a7e: 6ffa ldr r2, [r7, #124] ; 0x7c 8033a80: 68fb ldr r3, [r7, #12] 8033a82: 429a cmp r2, r3 8033a84: ddeb ble.n 8033a5e // Mandatory to normalize the coefficients if(P[0] != 1.0) 8033a86: ed97 7b14 vldr d7, [r7, #80] ; 0x50 8033a8a: eeb7 6b00 vmov.f64 d6, #112 ; 0x3f800000 1.0 8033a8e: eeb4 7b46 vcmp.f64 d7, d6 8033a92: eef1 fa10 vmrs APSR_nzcv, fpscr 8033a96: d022 beq.n 8033ade { for(k=1; k<=N; k++) 8033a98: 2301 movs r3, #1 8033a9a: 67bb str r3, [r7, #120] ; 0x78 8033a9c: e016 b.n 8033acc { P[k] /= P[0]; 8033a9e: 6fbb ldr r3, [r7, #120] ; 0x78 8033aa0: 00db lsls r3, r3, #3 8033aa2: f107 0280 add.w r2, r7, #128 ; 0x80 8033aa6: 4413 add r3, r2 8033aa8: 3b30 subs r3, #48 ; 0x30 8033aaa: ed93 5b00 vldr d5, [r3] 8033aae: ed97 6b14 vldr d6, [r7, #80] ; 0x50 8033ab2: ee85 7b06 vdiv.f64 d7, d5, d6 8033ab6: 6fbb ldr r3, [r7, #120] ; 0x78 8033ab8: 00db lsls r3, r3, #3 8033aba: f107 0280 add.w r2, r7, #128 ; 0x80 8033abe: 4413 add r3, r2 8033ac0: 3b30 subs r3, #48 ; 0x30 8033ac2: ed83 7b00 vstr d7, [r3] for(k=1; k<=N; k++) 8033ac6: 6fbb ldr r3, [r7, #120] ; 0x78 8033ac8: 3301 adds r3, #1 8033aca: 67bb str r3, [r7, #120] ; 0x78 8033acc: 6fba ldr r2, [r7, #120] ; 0x78 8033ace: 68fb ldr r3, [r7, #12] 8033ad0: 429a cmp r2, r3 8033ad2: dde4 ble.n 8033a9e } P[0] = 1.0; 8033ad4: f04f 0300 mov.w r3, #0 8033ad8: 4c37 ldr r4, [pc, #220] ; (8033bb8 ) 8033ada: e9c7 3414 strd r3, r4, [r7, #80] ; 0x50 } if(N==4)BiQuadRoots(P, RealRoot, ImagRoot); 8033ade: 68fb ldr r3, [r7, #12] 8033ae0: 2b04 cmp r3, #4 8033ae2: d108 bne.n 8033af6 8033ae4: f107 0210 add.w r2, r7, #16 8033ae8: f107 0130 add.w r1, r7, #48 ; 0x30 8033aec: f107 0350 add.w r3, r7, #80 ; 0x50 8033af0: 4618 mov r0, r3 8033af2: f000 fba5 bl 8034240 if(N==3)CubicRoots(P, RealRoot, ImagRoot); 8033af6: 68fb ldr r3, [r7, #12] 8033af8: 2b03 cmp r3, #3 8033afa: d108 bne.n 8033b0e 8033afc: f107 0210 add.w r2, r7, #16 8033b00: f107 0130 add.w r1, r7, #48 ; 0x30 8033b04: f107 0350 add.w r3, r7, #80 ; 0x50 8033b08: 4618 mov r0, r3 8033b0a: f000 f915 bl 8033d38 if(N==2)QuadRoots(P, RealRoot, ImagRoot); 8033b0e: 68fb ldr r3, [r7, #12] 8033b10: 2b02 cmp r3, #2 8033b12: d108 bne.n 8033b26 8033b14: f107 0210 add.w r2, r7, #16 8033b18: f107 0130 add.w r1, r7, #48 ; 0x30 8033b1c: f107 0350 add.w r3, r7, #80 ; 0x50 8033b20: 4618 mov r0, r3 8033b22: f000 f84d bl 8033bc0 if(N==1) 8033b26: 68fb ldr r3, [r7, #12] 8033b28: 2b01 cmp r3, #1 8033b2a: d10f bne.n 8033b4c { RealRoot[0] = -P[1]/P[0]; 8033b2c: ed97 7b16 vldr d7, [r7, #88] ; 0x58 8033b30: eeb1 5b47 vneg.f64 d5, d7 8033b34: ed97 6b14 vldr d6, [r7, #80] ; 0x50 8033b38: ee85 7b06 vdiv.f64 d7, d5, d6 8033b3c: ed87 7b0c vstr d7, [r7, #48] ; 0x30 ImagRoot[0] = 0.0; 8033b40: f04f 0300 mov.w r3, #0 8033b44: f04f 0400 mov.w r4, #0 8033b48: e9c7 3404 strd r3, r4, [r7, #16] } // We used separate long double arrays in the function calls for interface reasons. // if N==0 all zeros are returned (we init RealRoot and ImagRoot to 0). // for(j=0; j<4; j++)Roots[j] = ComplexD(RealRoot[j], ImagRoot[j]); for(j=0; j<4; j++)RootsReal[j] = RealRoot[j]; 8033b4c: 2300 movs r3, #0 8033b4e: 67fb str r3, [r7, #124] ; 0x7c 8033b50: e00f b.n 8033b72 8033b52: 6ffb ldr r3, [r7, #124] ; 0x7c 8033b54: 00db lsls r3, r3, #3 8033b56: 687a ldr r2, [r7, #4] 8033b58: 441a add r2, r3 8033b5a: 6ffb ldr r3, [r7, #124] ; 0x7c 8033b5c: 00db lsls r3, r3, #3 8033b5e: f107 0180 add.w r1, r7, #128 ; 0x80 8033b62: 440b add r3, r1 8033b64: 3b50 subs r3, #80 ; 0x50 8033b66: cb18 ldmia r3, {r3, r4} 8033b68: e882 0018 stmia.w r2, {r3, r4} 8033b6c: 6ffb ldr r3, [r7, #124] ; 0x7c 8033b6e: 3301 adds r3, #1 8033b70: 67fb str r3, [r7, #124] ; 0x7c 8033b72: 6ffb ldr r3, [r7, #124] ; 0x7c 8033b74: 2b03 cmp r3, #3 8033b76: ddec ble.n 8033b52 for(j=0; j<4; j++)RootsImag[j] = ImagRoot[j]; 8033b78: 2300 movs r3, #0 8033b7a: 67fb str r3, [r7, #124] ; 0x7c 8033b7c: e00f b.n 8033b9e 8033b7e: 6ffb ldr r3, [r7, #124] ; 0x7c 8033b80: 00db lsls r3, r3, #3 8033b82: 683a ldr r2, [r7, #0] 8033b84: 441a add r2, r3 8033b86: 6ffb ldr r3, [r7, #124] ; 0x7c 8033b88: 00db lsls r3, r3, #3 8033b8a: f107 0180 add.w r1, r7, #128 ; 0x80 8033b8e: 440b add r3, r1 8033b90: 3b70 subs r3, #112 ; 0x70 8033b92: cb18 ldmia r3, {r3, r4} 8033b94: e882 0018 stmia.w r2, {r3, r4} 8033b98: 6ffb ldr r3, [r7, #124] ; 0x7c 8033b9a: 3301 adds r3, #1 8033b9c: 67fb str r3, [r7, #124] ; 0x7c 8033b9e: 6ffb ldr r3, [r7, #124] ; 0x7c 8033ba0: 2b03 cmp r3, #3 8033ba2: ddec ble.n 8033b7e return(N); 8033ba4: 68fb ldr r3, [r7, #12] } 8033ba6: 4618 mov r0, r3 8033ba8: 3784 adds r7, #132 ; 0x84 8033baa: 46bd mov sp, r7 8033bac: bd90 pop {r4, r7, pc} 8033bae: bf00 nop 8033bb0: 00000000 .word 0x00000000 8033bb4: 3cd00000 .word 0x3cd00000 8033bb8: 3ff00000 .word 0x3ff00000 8033bbc: 00000000 .word 0x00000000 08033bc0 : //--------------------------------------------------------------------------- // This function is the quadratic formula with P[0] = 1 // y = P[0]*x^2 + P[1]*x + P[2] void QuadRoots(long double *P, long double *RealRoot, long double *ImagRoot) { 8033bc0: b590 push {r4, r7, lr} 8033bc2: ed2d 8b02 vpush {d8} 8033bc6: b087 sub sp, #28 8033bc8: af00 add r7, sp, #0 8033bca: 60f8 str r0, [r7, #12] 8033bcc: 60b9 str r1, [r7, #8] 8033bce: 607a str r2, [r7, #4] long double g; g = P[1]*P[1] - 4.0*P[2]; 8033bd0: 68fb ldr r3, [r7, #12] 8033bd2: 3308 adds r3, #8 8033bd4: ed93 6b00 vldr d6, [r3] 8033bd8: 68fb ldr r3, [r7, #12] 8033bda: 3308 adds r3, #8 8033bdc: ed93 7b00 vldr d7, [r3] 8033be0: ee26 6b07 vmul.f64 d6, d6, d7 8033be4: 68fb ldr r3, [r7, #12] 8033be6: 3310 adds r3, #16 8033be8: ed93 7b00 vldr d7, [r3] 8033bec: eeb1 5b00 vmov.f64 d5, #16 ; 0x40800000 4.0 8033bf0: ee27 7b05 vmul.f64 d7, d7, d5 8033bf4: ee36 7b47 vsub.f64 d7, d6, d7 8033bf8: ed87 7b04 vstr d7, [r7, #16] if(fabsl(g) < ZERO_PLUS)g = 0.0; 8033bfc: ed97 7b04 vldr d7, [r7, #16] 8033c00: eeb0 7bc7 vabs.f64 d7, d7 8033c04: ed9f 6b4a vldr d6, [pc, #296] ; 8033d30 8033c08: eeb4 7bc6 vcmpe.f64 d7, d6 8033c0c: eef1 fa10 vmrs APSR_nzcv, fpscr 8033c10: d505 bpl.n 8033c1e 8033c12: f04f 0300 mov.w r3, #0 8033c16: f04f 0400 mov.w r4, #0 8033c1a: e9c7 3404 strd r3, r4, [r7, #16] if(g >= 0.0) // 2 real roots 8033c1e: ed97 7b04 vldr d7, [r7, #16] 8033c22: eeb5 7bc0 vcmpe.f64 d7, #0.0 8033c26: eef1 fa10 vmrs APSR_nzcv, fpscr 8033c2a: db3a blt.n 8033ca2 { RealRoot[0] = (-P[1] + sqrtl(g)) / 2.0; 8033c2c: ed97 0b04 vldr d0, [r7, #16] 8033c30: f097 f834 bl 80cac9c 8033c34: eeb0 6b40 vmov.f64 d6, d0 8033c38: 68fb ldr r3, [r7, #12] 8033c3a: 3308 adds r3, #8 8033c3c: ed93 7b00 vldr d7, [r3] 8033c40: ee36 6b47 vsub.f64 d6, d6, d7 8033c44: eeb0 5b00 vmov.f64 d5, #0 ; 0x40000000 2.0 8033c48: ee86 7b05 vdiv.f64 d7, d6, d5 8033c4c: 68bb ldr r3, [r7, #8] 8033c4e: ed83 7b00 vstr d7, [r3] RealRoot[1] = (-P[1] - sqrtl(g)) / 2.0; 8033c52: 68bb ldr r3, [r7, #8] 8033c54: f103 0408 add.w r4, r3, #8 8033c58: 68fb ldr r3, [r7, #12] 8033c5a: 3308 adds r3, #8 8033c5c: ed93 7b00 vldr d7, [r3] 8033c60: eeb1 8b47 vneg.f64 d8, d7 8033c64: ed97 0b04 vldr d0, [r7, #16] 8033c68: f097 f818 bl 80cac9c 8033c6c: eeb0 7b40 vmov.f64 d7, d0 8033c70: ee38 6b47 vsub.f64 d6, d8, d7 8033c74: eeb0 5b00 vmov.f64 d5, #0 ; 0x40000000 2.0 8033c78: ee86 7b05 vdiv.f64 d7, d6, d5 8033c7c: ed84 7b00 vstr d7, [r4] ImagRoot[0] = 0.0; 8033c80: 687a ldr r2, [r7, #4] 8033c82: f04f 0300 mov.w r3, #0 8033c86: f04f 0400 mov.w r4, #0 8033c8a: e882 0018 stmia.w r2, {r3, r4} ImagRoot[1] = 0.0; 8033c8e: 687b ldr r3, [r7, #4] 8033c90: f103 0208 add.w r2, r3, #8 8033c94: f04f 0300 mov.w r3, #0 8033c98: f04f 0400 mov.w r4, #0 8033c9c: e882 0018 stmia.w r2, {r3, r4} RealRoot[0] = -P[1] / 2.0; RealRoot[1] = -P[1] / 2.0; ImagRoot[0] = sqrtl(-g) / 2.0; ImagRoot[1] = -sqrtl(-g) / 2.0; } } 8033ca0: e040 b.n 8033d24 RealRoot[0] = -P[1] / 2.0; 8033ca2: 68fb ldr r3, [r7, #12] 8033ca4: 3308 adds r3, #8 8033ca6: ed93 7b00 vldr d7, [r3] 8033caa: eeb1 6b47 vneg.f64 d6, d7 8033cae: eeb0 5b00 vmov.f64 d5, #0 ; 0x40000000 2.0 8033cb2: ee86 7b05 vdiv.f64 d7, d6, d5 8033cb6: 68bb ldr r3, [r7, #8] 8033cb8: ed83 7b00 vstr d7, [r3] RealRoot[1] = -P[1] / 2.0; 8033cbc: 68bb ldr r3, [r7, #8] 8033cbe: 3308 adds r3, #8 8033cc0: 68fa ldr r2, [r7, #12] 8033cc2: 3208 adds r2, #8 8033cc4: ed92 7b00 vldr d7, [r2] 8033cc8: eeb1 6b47 vneg.f64 d6, d7 8033ccc: eeb0 5b00 vmov.f64 d5, #0 ; 0x40000000 2.0 8033cd0: ee86 7b05 vdiv.f64 d7, d6, d5 8033cd4: ed83 7b00 vstr d7, [r3] ImagRoot[0] = sqrtl(-g) / 2.0; 8033cd8: ed97 7b04 vldr d7, [r7, #16] 8033cdc: eeb1 7b47 vneg.f64 d7, d7 8033ce0: eeb0 0b47 vmov.f64 d0, d7 8033ce4: f096 ffda bl 80cac9c 8033ce8: eeb0 5b40 vmov.f64 d5, d0 8033cec: eeb0 6b00 vmov.f64 d6, #0 ; 0x40000000 2.0 8033cf0: ee85 7b06 vdiv.f64 d7, d5, d6 8033cf4: 687b ldr r3, [r7, #4] 8033cf6: ed83 7b00 vstr d7, [r3] ImagRoot[1] = -sqrtl(-g) / 2.0; 8033cfa: 687b ldr r3, [r7, #4] 8033cfc: f103 0408 add.w r4, r3, #8 8033d00: ed97 7b04 vldr d7, [r7, #16] 8033d04: eeb1 7b47 vneg.f64 d7, d7 8033d08: eeb0 0b47 vmov.f64 d0, d7 8033d0c: f096 ffc6 bl 80cac9c 8033d10: eeb0 7b40 vmov.f64 d7, d0 8033d14: eeb1 6b47 vneg.f64 d6, d7 8033d18: eeb0 5b00 vmov.f64 d5, #0 ; 0x40000000 2.0 8033d1c: ee86 7b05 vdiv.f64 d7, d6, d5 8033d20: ed84 7b00 vstr d7, [r4] } 8033d24: bf00 nop 8033d26: 371c adds r7, #28 8033d28: 46bd mov sp, r7 8033d2a: ecbd 8b02 vpop {d8} 8033d2e: bd90 pop {r4, r7, pc} 8033d30: 00000000 .word 0x00000000 8033d34: 3cd00000 .word 0x3cd00000 08033d38 : //--------------------------------------------------------------------------- // This finds the roots of y = P0x^3 + P1x^2 + P2x+ P3 P[0] = 1 // The return value indicates the location of the largest positive root which is used by BiQuadRoots. int CubicRoots(long double *P, long double *RealRoot, long double *ImagRoot) { 8033d38: b590 push {r4, r7, lr} 8033d3a: b091 sub sp, #68 ; 0x44 8033d3c: af00 add r7, sp, #0 8033d3e: 60f8 str r0, [r7, #12] 8033d40: 60b9 str r1, [r7, #8] 8033d42: 607a str r2, [r7, #4] long double s, t, b, c, d; s = P[1] / 3.0; 8033d44: 68fb ldr r3, [r7, #12] 8033d46: 3308 adds r3, #8 8033d48: ed93 6b00 vldr d6, [r3] 8033d4c: eeb0 5b08 vmov.f64 d5, #8 ; 0x40400000 3.0 8033d50: ee86 7b05 vdiv.f64 d7, d6, d5 8033d54: ed87 7b06 vstr d7, [r7, #24] b = (6.0*P[1]*P[1]*P[1] - 27.0*P[1]*P[2] + 81.0*P[3]) / 162.0; 8033d58: 68fb ldr r3, [r7, #12] 8033d5a: 3308 adds r3, #8 8033d5c: ed93 7b00 vldr d7, [r3] 8033d60: eeb1 6b08 vmov.f64 d6, #24 ; 0x40c00000 6.0 8033d64: ee27 6b06 vmul.f64 d6, d7, d6 8033d68: 68fb ldr r3, [r7, #12] 8033d6a: 3308 adds r3, #8 8033d6c: ed93 7b00 vldr d7, [r3] 8033d70: ee26 6b07 vmul.f64 d6, d6, d7 8033d74: 68fb ldr r3, [r7, #12] 8033d76: 3308 adds r3, #8 8033d78: ed93 7b00 vldr d7, [r3] 8033d7c: ee26 6b07 vmul.f64 d6, d6, d7 8033d80: 68fb ldr r3, [r7, #12] 8033d82: 3308 adds r3, #8 8033d84: ed93 7b00 vldr d7, [r3] 8033d88: eeb3 5b0b vmov.f64 d5, #59 ; 0x41d80000 27.0 8033d8c: ee27 5b05 vmul.f64 d5, d7, d5 8033d90: 68fb ldr r3, [r7, #12] 8033d92: 3310 adds r3, #16 8033d94: ed93 7b00 vldr d7, [r3] 8033d98: ee25 7b07 vmul.f64 d7, d5, d7 8033d9c: ee36 6b47 vsub.f64 d6, d6, d7 8033da0: 68fb ldr r3, [r7, #12] 8033da2: 3318 adds r3, #24 8033da4: ed93 7b00 vldr d7, [r3] 8033da8: ed9f 5ba9 vldr d5, [pc, #676] ; 8034050 8033dac: ee27 7b05 vmul.f64 d7, d7, d5 8033db0: ee36 6b07 vadd.f64 d6, d6, d7 8033db4: ed9f 5ba8 vldr d5, [pc, #672] ; 8034058 8033db8: ee86 7b05 vdiv.f64 d7, d6, d5 8033dbc: ed87 7b0e vstr d7, [r7, #56] ; 0x38 t = (P[1]*P[1] - 3.0*P[2]) / 9.0; 8033dc0: 68fb ldr r3, [r7, #12] 8033dc2: 3308 adds r3, #8 8033dc4: ed93 6b00 vldr d6, [r3] 8033dc8: 68fb ldr r3, [r7, #12] 8033dca: 3308 adds r3, #8 8033dcc: ed93 7b00 vldr d7, [r3] 8033dd0: ee26 6b07 vmul.f64 d6, d6, d7 8033dd4: 68fb ldr r3, [r7, #12] 8033dd6: 3310 adds r3, #16 8033dd8: ed93 7b00 vldr d7, [r3] 8033ddc: eeb0 5b08 vmov.f64 d5, #8 ; 0x40400000 3.0 8033de0: ee27 7b05 vmul.f64 d7, d7, d5 8033de4: ee36 6b47 vsub.f64 d6, d6, d7 8033de8: eeb2 5b02 vmov.f64 d5, #34 ; 0x41100000 9.0 8033dec: ee86 7b05 vdiv.f64 d7, d6, d5 8033df0: ed87 7b04 vstr d7, [r7, #16] c = t * t * t; 8033df4: ed97 6b04 vldr d6, [r7, #16] 8033df8: ed97 7b04 vldr d7, [r7, #16] 8033dfc: ee26 6b07 vmul.f64 d6, d6, d7 8033e00: ed97 7b04 vldr d7, [r7, #16] 8033e04: ee26 7b07 vmul.f64 d7, d6, d7 8033e08: ed87 7b0c vstr d7, [r7, #48] ; 0x30 d = 2.0*P[1]*P[1]*P[1] - 9.0*P[1]*P[2] + 27.0*P[3]; 8033e0c: 68fb ldr r3, [r7, #12] 8033e0e: 3308 adds r3, #8 8033e10: ed93 7b00 vldr d7, [r3] 8033e14: ee37 6b07 vadd.f64 d6, d7, d7 8033e18: 68fb ldr r3, [r7, #12] 8033e1a: 3308 adds r3, #8 8033e1c: ed93 7b00 vldr d7, [r3] 8033e20: ee26 6b07 vmul.f64 d6, d6, d7 8033e24: 68fb ldr r3, [r7, #12] 8033e26: 3308 adds r3, #8 8033e28: ed93 7b00 vldr d7, [r3] 8033e2c: ee26 6b07 vmul.f64 d6, d6, d7 8033e30: 68fb ldr r3, [r7, #12] 8033e32: 3308 adds r3, #8 8033e34: ed93 7b00 vldr d7, [r3] 8033e38: eeb2 5b02 vmov.f64 d5, #34 ; 0x41100000 9.0 8033e3c: ee27 5b05 vmul.f64 d5, d7, d5 8033e40: 68fb ldr r3, [r7, #12] 8033e42: 3310 adds r3, #16 8033e44: ed93 7b00 vldr d7, [r3] 8033e48: ee25 7b07 vmul.f64 d7, d5, d7 8033e4c: ee36 6b47 vsub.f64 d6, d6, d7 8033e50: 68fb ldr r3, [r7, #12] 8033e52: 3318 adds r3, #24 8033e54: ed93 7b00 vldr d7, [r3] 8033e58: eeb3 5b0b vmov.f64 d5, #59 ; 0x41d80000 27.0 8033e5c: ee27 7b05 vmul.f64 d7, d7, d5 8033e60: ee36 7b07 vadd.f64 d7, d6, d7 8033e64: ed87 7b0a vstr d7, [r7, #40] ; 0x28 d = d * d / 2916.0 - c; 8033e68: ed97 6b0a vldr d6, [r7, #40] ; 0x28 8033e6c: ed97 7b0a vldr d7, [r7, #40] ; 0x28 8033e70: ee26 7b07 vmul.f64 d7, d6, d7 8033e74: ed9f 5b7a vldr d5, [pc, #488] ; 8034060 8033e78: ee87 6b05 vdiv.f64 d6, d7, d5 8033e7c: ed97 7b0c vldr d7, [r7, #48] ; 0x30 8033e80: ee36 7b47 vsub.f64 d7, d6, d7 8033e84: ed87 7b0a vstr d7, [r7, #40] ; 0x28 if(d > ZERO_PLUS) // 1 complex and 1 real root 8033e88: ed97 7b0a vldr d7, [r7, #40] ; 0x28 8033e8c: ed9f 6b7e vldr d6, [pc, #504] ; 8034088 8033e90: eeb4 7bc6 vcmpe.f64 d7, d6 8033e94: eef1 fa10 vmrs APSR_nzcv, fpscr 8033e98: f340 809c ble.w 8033fd4 { d = powl( (sqrtl(d) + fabsl(b)), 1.0/3.0); 8033e9c: ed97 0b0a vldr d0, [r7, #40] ; 0x28 8033ea0: f096 fefc bl 80cac9c 8033ea4: eeb0 6b40 vmov.f64 d6, d0 8033ea8: ed97 7b0e vldr d7, [r7, #56] ; 0x38 8033eac: eeb0 7bc7 vabs.f64 d7, d7 8033eb0: ee36 7b07 vadd.f64 d7, d6, d7 8033eb4: ed9f 1b6c vldr d1, [pc, #432] ; 8034068 8033eb8: eeb0 0b47 vmov.f64 d0, d7 8033ebc: f096 fd26 bl 80ca90c 8033ec0: ed87 0b0a vstr d0, [r7, #40] ; 0x28 if(d != 0.0) 8033ec4: ed97 7b0a vldr d7, [r7, #40] ; 0x28 8033ec8: eeb5 7b40 vcmp.f64 d7, #0.0 8033ecc: eef1 fa10 vmrs APSR_nzcv, fpscr 8033ed0: d019 beq.n 8033f06 { if(b>0) b = -d; 8033ed2: ed97 7b0e vldr d7, [r7, #56] ; 0x38 8033ed6: eeb5 7bc0 vcmpe.f64 d7, #0.0 8033eda: eef1 fa10 vmrs APSR_nzcv, fpscr 8033ede: dd06 ble.n 8033eee 8033ee0: ed97 7b0a vldr d7, [r7, #40] ; 0x28 8033ee4: eeb1 7b47 vneg.f64 d7, d7 8033ee8: ed87 7b0e vstr d7, [r7, #56] ; 0x38 8033eec: e003 b.n 8033ef6 else b = d; 8033eee: e9d7 340a ldrd r3, r4, [r7, #40] ; 0x28 8033ef2: e9c7 340e strd r3, r4, [r7, #56] ; 0x38 c = t / b; 8033ef6: ed97 5b04 vldr d5, [r7, #16] 8033efa: ed97 6b0e vldr d6, [r7, #56] ; 0x38 8033efe: ee85 7b06 vdiv.f64 d7, d5, d6 8033f02: ed87 7b0c vstr d7, [r7, #48] ; 0x30 } d = M_SQRT3_2 * (b-c); 8033f06: ed97 6b0e vldr d6, [r7, #56] ; 0x38 8033f0a: ed97 7b0c vldr d7, [r7, #48] ; 0x30 8033f0e: ee36 7b47 vsub.f64 d7, d6, d7 8033f12: ed9f 6b57 vldr d6, [pc, #348] ; 8034070 8033f16: ee27 7b06 vmul.f64 d7, d7, d6 8033f1a: ed87 7b0a vstr d7, [r7, #40] ; 0x28 b = b + c; 8033f1e: ed97 6b0e vldr d6, [r7, #56] ; 0x38 8033f22: ed97 7b0c vldr d7, [r7, #48] ; 0x30 8033f26: ee36 7b07 vadd.f64 d7, d6, d7 8033f2a: ed87 7b0e vstr d7, [r7, #56] ; 0x38 c = -b/2.0 - s; 8033f2e: ed97 7b0e vldr d7, [r7, #56] ; 0x38 8033f32: eeb1 7b47 vneg.f64 d7, d7 8033f36: eeb0 5b00 vmov.f64 d5, #0 ; 0x40000000 2.0 8033f3a: ee87 6b05 vdiv.f64 d6, d7, d5 8033f3e: ed97 7b06 vldr d7, [r7, #24] 8033f42: ee36 7b47 vsub.f64 d7, d6, d7 8033f46: ed87 7b0c vstr d7, [r7, #48] ; 0x30 RealRoot[0] = c; 8033f4a: 68ba ldr r2, [r7, #8] 8033f4c: e9d7 340c ldrd r3, r4, [r7, #48] ; 0x30 8033f50: e882 0018 stmia.w r2, {r3, r4} ImagRoot[0] = -d; 8033f54: ed97 7b0a vldr d7, [r7, #40] ; 0x28 8033f58: eeb1 7b47 vneg.f64 d7, d7 8033f5c: 687b ldr r3, [r7, #4] 8033f5e: ed83 7b00 vstr d7, [r3] RealRoot[1] = c; 8033f62: 68bb ldr r3, [r7, #8] 8033f64: f103 0208 add.w r2, r3, #8 8033f68: e9d7 340c ldrd r3, r4, [r7, #48] ; 0x30 8033f6c: e882 0018 stmia.w r2, {r3, r4} ImagRoot[1] = d; 8033f70: 687b ldr r3, [r7, #4] 8033f72: f103 0208 add.w r2, r3, #8 8033f76: e9d7 340a ldrd r3, r4, [r7, #40] ; 0x28 8033f7a: e882 0018 stmia.w r2, {r3, r4} RealRoot[2] = b-s; 8033f7e: 68bb ldr r3, [r7, #8] 8033f80: 3310 adds r3, #16 8033f82: ed97 6b0e vldr d6, [r7, #56] ; 0x38 8033f86: ed97 7b06 vldr d7, [r7, #24] 8033f8a: ee36 7b47 vsub.f64 d7, d6, d7 8033f8e: ed83 7b00 vstr d7, [r3] if( fabsl(RealRoot[2]) < ZERO_PLUS)RealRoot[2] = 0.0; 8033f92: 68bb ldr r3, [r7, #8] 8033f94: 3310 adds r3, #16 8033f96: ed93 7b00 vldr d7, [r3] 8033f9a: eeb0 7bc7 vabs.f64 d7, d7 8033f9e: ed9f 6b3a vldr d6, [pc, #232] ; 8034088 8033fa2: eeb4 7bc6 vcmpe.f64 d7, d6 8033fa6: eef1 fa10 vmrs APSR_nzcv, fpscr 8033faa: d508 bpl.n 8033fbe 8033fac: 68bb ldr r3, [r7, #8] 8033fae: f103 0210 add.w r2, r3, #16 8033fb2: f04f 0300 mov.w r3, #0 8033fb6: f04f 0400 mov.w r4, #0 8033fba: e882 0018 stmia.w r2, {r3, r4} ImagRoot[2] = 0.0; 8033fbe: 687b ldr r3, [r7, #4] 8033fc0: f103 0210 add.w r2, r3, #16 8033fc4: f04f 0300 mov.w r3, #0 8033fc8: f04f 0400 mov.w r4, #0 8033fcc: e882 0018 stmia.w r2, {r3, r4} return(2); // Return 2 because it contains the real root. 8033fd0: 2302 movs r3, #2 8033fd2: e131 b.n 8034238 } else // d < 0.0 3 real roots { if(b == 0.0)d = M_PI_2 / 3.0; // b can be as small as 1.0E-25 8033fd4: ed97 7b0e vldr d7, [r7, #56] ; 0x38 8033fd8: eeb5 7b40 vcmp.f64 d7, #0.0 8033fdc: eef1 fa10 vmrs APSR_nzcv, fpscr 8033fe0: d104 bne.n 8033fec 8033fe2: a425 add r4, pc, #148 ; (adr r4, 8034078 ) 8033fe4: cc18 ldmia r4, {r3, r4} 8033fe6: e9c7 340a strd r3, r4, [r7, #40] ; 0x28 8033fea: e01b b.n 8034024 else d = atanl(sqrtl(fabsl(d))/fabsl(b)) / 3.0; 8033fec: ed97 7b0a vldr d7, [r7, #40] ; 0x28 8033ff0: eeb0 7bc7 vabs.f64 d7, d7 8033ff4: eeb0 0b47 vmov.f64 d0, d7 8033ff8: f096 fe50 bl 80cac9c 8033ffc: eeb0 5b40 vmov.f64 d5, d0 8034000: ed97 7b0e vldr d7, [r7, #56] ; 0x38 8034004: eeb0 7bc7 vabs.f64 d7, d7 8034008: ee85 6b07 vdiv.f64 d6, d5, d7 803400c: eeb0 0b46 vmov.f64 d0, d6 8034010: f096 fc76 bl 80ca900 8034014: eeb0 5b40 vmov.f64 d5, d0 8034018: eeb0 6b08 vmov.f64 d6, #8 ; 0x40400000 3.0 803401c: ee85 7b06 vdiv.f64 d7, d5, d6 8034020: ed87 7b0a vstr d7, [r7, #40] ; 0x28 if(b < 0.0) b = 2.0 * sqrtl(fabsl(t)); 8034024: ed97 7b0e vldr d7, [r7, #56] ; 0x38 8034028: eeb5 7bc0 vcmpe.f64 d7, #0.0 803402c: eef1 fa10 vmrs APSR_nzcv, fpscr 8034030: d52e bpl.n 8034090 8034032: ed97 7b04 vldr d7, [r7, #16] 8034036: eeb0 7bc7 vabs.f64 d7, d7 803403a: eeb0 0b47 vmov.f64 d0, d7 803403e: f096 fe2d bl 80cac9c 8034042: eeb0 7b40 vmov.f64 d7, d0 8034046: ee37 7b07 vadd.f64 d7, d7, d7 803404a: ed87 7b0e vstr d7, [r7, #56] ; 0x38 803404e: e02f b.n 80340b0 8034050: 00000000 .word 0x00000000 8034054: 40544000 .word 0x40544000 8034058: 00000000 .word 0x00000000 803405c: 40644000 .word 0x40644000 8034060: 00000000 .word 0x00000000 8034064: 40a6c800 .word 0x40a6c800 8034068: 55555555 .word 0x55555555 803406c: 3fd55555 .word 0x3fd55555 8034070: e8584caa .word 0xe8584caa 8034074: 3febb67a .word 0x3febb67a 8034078: 382d7365 .word 0x382d7365 803407c: 3fe0c152 .word 0x3fe0c152 8034080: e8584caa .word 0xe8584caa 8034084: bfebb67a .word 0xbfebb67a 8034088: 00000000 .word 0x00000000 803408c: 3cd00000 .word 0x3cd00000 else b = -2.0 * sqrtl(fabsl(t)); 8034090: ed97 7b04 vldr d7, [r7, #16] 8034094: eeb0 7bc7 vabs.f64 d7, d7 8034098: eeb0 0b47 vmov.f64 d0, d7 803409c: f096 fdfe bl 80cac9c 80340a0: eeb0 6b40 vmov.f64 d6, d0 80340a4: eeb8 7b00 vmov.f64 d7, #128 ; 0xc0000000 -2.0 80340a8: ee26 7b07 vmul.f64 d7, d6, d7 80340ac: ed87 7b0e vstr d7, [r7, #56] ; 0x38 c = cosl(d) * b; 80340b0: ed97 0b0a vldr d0, [r7, #40] ; 0x28 80340b4: f096 fc26 bl 80ca904 80340b8: eeb0 6b40 vmov.f64 d6, d0 80340bc: ed97 7b0e vldr d7, [r7, #56] ; 0x38 80340c0: ee26 7b07 vmul.f64 d7, d6, d7 80340c4: ed87 7b0c vstr d7, [r7, #48] ; 0x30 t = -M_SQRT3_2 * sinl(d) * b - 0.5 * c; 80340c8: ed97 0b0a vldr d0, [r7, #40] ; 0x28 80340cc: f096 fde4 bl 80cac98 80340d0: eeb0 6b40 vmov.f64 d6, d0 80340d4: ed1f 7b16 vldr d7, [pc, #-88] ; 8034080 80340d8: ee26 6b07 vmul.f64 d6, d6, d7 80340dc: ed97 7b0e vldr d7, [r7, #56] ; 0x38 80340e0: ee26 6b07 vmul.f64 d6, d6, d7 80340e4: ed97 7b0c vldr d7, [r7, #48] ; 0x30 80340e8: eeb6 5b00 vmov.f64 d5, #96 ; 0x3f000000 0.5 80340ec: ee27 7b05 vmul.f64 d7, d7, d5 80340f0: ee36 7b47 vsub.f64 d7, d6, d7 80340f4: ed87 7b04 vstr d7, [r7, #16] RealRoot[0] = t - s; 80340f8: ed97 6b04 vldr d6, [r7, #16] 80340fc: ed97 7b06 vldr d7, [r7, #24] 8034100: ee36 7b47 vsub.f64 d7, d6, d7 8034104: 68bb ldr r3, [r7, #8] 8034106: ed83 7b00 vstr d7, [r3] RealRoot[1] = c - s; 803410a: 68bb ldr r3, [r7, #8] 803410c: 3308 adds r3, #8 803410e: ed97 6b0c vldr d6, [r7, #48] ; 0x30 8034112: ed97 7b06 vldr d7, [r7, #24] 8034116: ee36 7b47 vsub.f64 d7, d6, d7 803411a: ed83 7b00 vstr d7, [r3] RealRoot[2] = -(t + c + s); 803411e: 68bb ldr r3, [r7, #8] 8034120: 3310 adds r3, #16 8034122: ed97 6b04 vldr d6, [r7, #16] 8034126: ed97 7b0c vldr d7, [r7, #48] ; 0x30 803412a: ee36 6b07 vadd.f64 d6, d6, d7 803412e: ed97 7b06 vldr d7, [r7, #24] 8034132: ee36 7b07 vadd.f64 d7, d6, d7 8034136: eeb1 7b47 vneg.f64 d7, d7 803413a: ed83 7b00 vstr d7, [r3] ImagRoot[0] = 0.0; 803413e: 687a ldr r2, [r7, #4] 8034140: f04f 0300 mov.w r3, #0 8034144: f04f 0400 mov.w r4, #0 8034148: e882 0018 stmia.w r2, {r3, r4} ImagRoot[1] = 0.0; 803414c: 687b ldr r3, [r7, #4] 803414e: f103 0208 add.w r2, r3, #8 8034152: f04f 0300 mov.w r3, #0 8034156: f04f 0400 mov.w r4, #0 803415a: e882 0018 stmia.w r2, {r3, r4} ImagRoot[2] = 0.0; 803415e: 687b ldr r3, [r7, #4] 8034160: f103 0210 add.w r2, r3, #16 8034164: f04f 0300 mov.w r3, #0 8034168: f04f 0400 mov.w r4, #0 803416c: e882 0018 stmia.w r2, {r3, r4} if( fabsl(RealRoot[0]) < ZERO_PLUS)RealRoot[0] = 0.0; 8034170: 68bb ldr r3, [r7, #8] 8034172: ed93 7b00 vldr d7, [r3] 8034176: eeb0 7bc7 vabs.f64 d7, d7 803417a: ed1f 6b3d vldr d6, [pc, #-244] ; 8034088 803417e: eeb4 7bc6 vcmpe.f64 d7, d6 8034182: eef1 fa10 vmrs APSR_nzcv, fpscr 8034186: d506 bpl.n 8034196 8034188: 68ba ldr r2, [r7, #8] 803418a: f04f 0300 mov.w r3, #0 803418e: f04f 0400 mov.w r4, #0 8034192: e882 0018 stmia.w r2, {r3, r4} if( fabsl(RealRoot[1]) < ZERO_PLUS)RealRoot[1] = 0.0; 8034196: 68bb ldr r3, [r7, #8] 8034198: 3308 adds r3, #8 803419a: ed93 7b00 vldr d7, [r3] 803419e: eeb0 7bc7 vabs.f64 d7, d7 80341a2: ed1f 6b47 vldr d6, [pc, #-284] ; 8034088 80341a6: eeb4 7bc6 vcmpe.f64 d7, d6 80341aa: eef1 fa10 vmrs APSR_nzcv, fpscr 80341ae: d508 bpl.n 80341c2 80341b0: 68bb ldr r3, [r7, #8] 80341b2: f103 0208 add.w r2, r3, #8 80341b6: f04f 0300 mov.w r3, #0 80341ba: f04f 0400 mov.w r4, #0 80341be: e882 0018 stmia.w r2, {r3, r4} if( fabsl(RealRoot[2]) < ZERO_PLUS)RealRoot[2] = 0.0; 80341c2: 68bb ldr r3, [r7, #8] 80341c4: 3310 adds r3, #16 80341c6: ed93 7b00 vldr d7, [r3] 80341ca: eeb0 7bc7 vabs.f64 d7, d7 80341ce: ed1f 6b52 vldr d6, [pc, #-328] ; 8034088 80341d2: eeb4 7bc6 vcmpe.f64 d7, d6 80341d6: eef1 fa10 vmrs APSR_nzcv, fpscr 80341da: d508 bpl.n 80341ee 80341dc: 68bb ldr r3, [r7, #8] 80341de: f103 0210 add.w r2, r3, #16 80341e2: f04f 0300 mov.w r3, #0 80341e6: f04f 0400 mov.w r4, #0 80341ea: e882 0018 stmia.w r2, {r3, r4} int MaxK = 0; 80341ee: 2300 movs r3, #0 80341f0: 627b str r3, [r7, #36] ; 0x24 if(RealRoot[1] > RealRoot[MaxK])MaxK = 1; 80341f2: 68bb ldr r3, [r7, #8] 80341f4: 3308 adds r3, #8 80341f6: ed93 6b00 vldr d6, [r3] 80341fa: 6a7b ldr r3, [r7, #36] ; 0x24 80341fc: 00db lsls r3, r3, #3 80341fe: 68ba ldr r2, [r7, #8] 8034200: 4413 add r3, r2 8034202: ed93 7b00 vldr d7, [r3] 8034206: eeb4 6bc7 vcmpe.f64 d6, d7 803420a: eef1 fa10 vmrs APSR_nzcv, fpscr 803420e: dd01 ble.n 8034214 8034210: 2301 movs r3, #1 8034212: 627b str r3, [r7, #36] ; 0x24 if(RealRoot[2] > RealRoot[MaxK])MaxK = 2; 8034214: 68bb ldr r3, [r7, #8] 8034216: 3310 adds r3, #16 8034218: ed93 6b00 vldr d6, [r3] 803421c: 6a7b ldr r3, [r7, #36] ; 0x24 803421e: 00db lsls r3, r3, #3 8034220: 68ba ldr r2, [r7, #8] 8034222: 4413 add r3, r2 8034224: ed93 7b00 vldr d7, [r3] 8034228: eeb4 6bc7 vcmpe.f64 d6, d7 803422c: eef1 fa10 vmrs APSR_nzcv, fpscr 8034230: dd01 ble.n 8034236 8034232: 2302 movs r3, #2 8034234: 627b str r3, [r7, #36] ; 0x24 return(MaxK); // Return the index with the largest real root. 8034236: 6a7b ldr r3, [r7, #36] ; 0x24 } } 8034238: 4618 mov r0, r3 803423a: 3744 adds r7, #68 ; 0x44 803423c: 46bd mov sp, r7 803423e: bd90 pop {r4, r7, pc} 08034240 : //--------------------------------------------------------------------------- // This finds the roots of y = P0x^4 + P1x^3 + P2x^2 + P3x + P4 P[0] = 1 // This function calls CubicRoots void BiQuadRoots(long double *P, long double *RealRoot, long double *ImagRoot) { 8034240: b590 push {r4, r7, lr} 8034242: b097 sub sp, #92 ; 0x5c 8034244: af00 add r7, sp, #0 8034246: 60f8 str r0, [r7, #12] 8034248: 60b9 str r1, [r7, #8] 803424a: 607a str r2, [r7, #4] int k, MaxK; long double a, b, c, d, e, g, P1, P3Limit; P1 = P[1]; 803424c: 68fb ldr r3, [r7, #12] 803424e: e9d3 3402 ldrd r3, r4, [r3, #8] 8034252: e9c7 340e strd r3, r4, [r7, #56] ; 0x38 e = P[1]*0.25; 8034256: 68fb ldr r3, [r7, #12] 8034258: 3308 adds r3, #8 803425a: ed93 7b00 vldr d7, [r3] 803425e: eeb5 6b00 vmov.f64 d6, #80 ; 0x3e800000 0.250 8034262: ee27 7b06 vmul.f64 d7, d7, d6 8034266: ed87 7b0c vstr d7, [r7, #48] ; 0x30 d = P[1]*P[1]*0.1875; // 0.1875 = 3/16 803426a: 68fb ldr r3, [r7, #12] 803426c: 3308 adds r3, #8 803426e: ed93 6b00 vldr d6, [r3] 8034272: 68fb ldr r3, [r7, #12] 8034274: 3308 adds r3, #8 8034276: ed93 7b00 vldr d7, [r3] 803427a: ee26 7b07 vmul.f64 d7, d6, d7 803427e: eeb4 6b08 vmov.f64 d6, #72 ; 0x3e400000 0.1875000 8034282: ee27 7b06 vmul.f64 d7, d7, d6 8034286: ed87 7b0a vstr d7, [r7, #40] ; 0x28 b = P[3] + P[1]*P[1]*P[1]*0.125 - P[1]*P[2]*0.5; 803428a: 68fb ldr r3, [r7, #12] 803428c: 3318 adds r3, #24 803428e: ed93 6b00 vldr d6, [r3] 8034292: 68fb ldr r3, [r7, #12] 8034294: 3308 adds r3, #8 8034296: ed93 5b00 vldr d5, [r3] 803429a: 68fb ldr r3, [r7, #12] 803429c: 3308 adds r3, #8 803429e: ed93 7b00 vldr d7, [r3] 80342a2: ee25 5b07 vmul.f64 d5, d5, d7 80342a6: 68fb ldr r3, [r7, #12] 80342a8: 3308 adds r3, #8 80342aa: ed93 7b00 vldr d7, [r3] 80342ae: ee25 7b07 vmul.f64 d7, d5, d7 80342b2: eeb4 5b00 vmov.f64 d5, #64 ; 0x3e000000 0.125 80342b6: ee27 7b05 vmul.f64 d7, d7, d5 80342ba: ee36 6b07 vadd.f64 d6, d6, d7 80342be: 68fb ldr r3, [r7, #12] 80342c0: 3308 adds r3, #8 80342c2: ed93 5b00 vldr d5, [r3] 80342c6: 68fb ldr r3, [r7, #12] 80342c8: 3310 adds r3, #16 80342ca: ed93 7b00 vldr d7, [r3] 80342ce: ee25 7b07 vmul.f64 d7, d5, d7 80342d2: eeb6 5b00 vmov.f64 d5, #96 ; 0x3f000000 0.5 80342d6: ee27 7b05 vmul.f64 d7, d7, d5 80342da: ee36 7b47 vsub.f64 d7, d6, d7 80342de: ed87 7b12 vstr d7, [r7, #72] ; 0x48 c = 256.0*P[4] + 16.0*P[1]*P[1]*P[2]; 80342e2: 68fb ldr r3, [r7, #12] 80342e4: 3320 adds r3, #32 80342e6: ed93 7b00 vldr d7, [r3] 80342ea: ed9f 6bcb vldr d6, [pc, #812] ; 8034618 80342ee: ee27 6b06 vmul.f64 d6, d7, d6 80342f2: 68fb ldr r3, [r7, #12] 80342f4: 3308 adds r3, #8 80342f6: ed93 7b00 vldr d7, [r3] 80342fa: eeb3 5b00 vmov.f64 d5, #48 ; 0x41800000 16.0 80342fe: ee27 5b05 vmul.f64 d5, d7, d5 8034302: 68fb ldr r3, [r7, #12] 8034304: 3308 adds r3, #8 8034306: ed93 7b00 vldr d7, [r3] 803430a: ee25 5b07 vmul.f64 d5, d5, d7 803430e: 68fb ldr r3, [r7, #12] 8034310: 3310 adds r3, #16 8034312: ed93 7b00 vldr d7, [r3] 8034316: ee25 7b07 vmul.f64 d7, d5, d7 803431a: ee36 7b07 vadd.f64 d7, d6, d7 803431e: ed87 7b08 vstr d7, [r7, #32] c += -3.0*P[1]*P[1]*P[1]*P[1] - 64.0*P[1]*P[3]; 8034322: 68fb ldr r3, [r7, #12] 8034324: 3308 adds r3, #8 8034326: ed93 7b00 vldr d7, [r3] 803432a: eeb8 6b08 vmov.f64 d6, #136 ; 0xc0400000 -3.0 803432e: ee27 6b06 vmul.f64 d6, d7, d6 8034332: 68fb ldr r3, [r7, #12] 8034334: 3308 adds r3, #8 8034336: ed93 7b00 vldr d7, [r3] 803433a: ee26 6b07 vmul.f64 d6, d6, d7 803433e: 68fb ldr r3, [r7, #12] 8034340: 3308 adds r3, #8 8034342: ed93 7b00 vldr d7, [r3] 8034346: ee26 6b07 vmul.f64 d6, d6, d7 803434a: 68fb ldr r3, [r7, #12] 803434c: 3308 adds r3, #8 803434e: ed93 7b00 vldr d7, [r3] 8034352: ee26 6b07 vmul.f64 d6, d6, d7 8034356: 68fb ldr r3, [r7, #12] 8034358: 3308 adds r3, #8 803435a: ed93 7b00 vldr d7, [r3] 803435e: ed9f 5bb0 vldr d5, [pc, #704] ; 8034620 8034362: ee27 5b05 vmul.f64 d5, d7, d5 8034366: 68fb ldr r3, [r7, #12] 8034368: 3318 adds r3, #24 803436a: ed93 7b00 vldr d7, [r3] 803436e: ee25 7b07 vmul.f64 d7, d5, d7 8034372: ee36 7b47 vsub.f64 d7, d6, d7 8034376: ed97 6b08 vldr d6, [r7, #32] 803437a: ee36 7b07 vadd.f64 d7, d6, d7 803437e: ed87 7b08 vstr d7, [r7, #32] c *= 0.00390625; // 0.00390625 = 1/256 8034382: ed97 7b08 vldr d7, [r7, #32] 8034386: ed9f 6ba8 vldr d6, [pc, #672] ; 8034628 803438a: ee27 7b06 vmul.f64 d7, d7, d6 803438e: ed87 7b08 vstr d7, [r7, #32] a = P[2] - P[1]*P[1]*0.375; // 0.375 = 3/8 8034392: 68fb ldr r3, [r7, #12] 8034394: 3310 adds r3, #16 8034396: ed93 6b00 vldr d6, [r3] 803439a: 68fb ldr r3, [r7, #12] 803439c: 3308 adds r3, #8 803439e: ed93 5b00 vldr d5, [r3] 80343a2: 68fb ldr r3, [r7, #12] 80343a4: 3308 adds r3, #8 80343a6: ed93 7b00 vldr d7, [r3] 80343aa: ee25 7b07 vmul.f64 d7, d5, d7 80343ae: eeb5 5b08 vmov.f64 d5, #88 ; 0x3ec00000 0.375 80343b2: ee27 7b05 vmul.f64 d7, d7, d5 80343b6: ee36 7b47 vsub.f64 d7, d6, d7 80343ba: ed87 7b06 vstr d7, [r7, #24] P[1] = P[2]*0.5 - P[1]*P[1]*0.1875; // 0.1875 = 3/16 80343be: 68fb ldr r3, [r7, #12] 80343c0: 3308 adds r3, #8 80343c2: 68fa ldr r2, [r7, #12] 80343c4: 3210 adds r2, #16 80343c6: ed92 7b00 vldr d7, [r2] 80343ca: eeb6 6b00 vmov.f64 d6, #96 ; 0x3f000000 0.5 80343ce: ee27 6b06 vmul.f64 d6, d7, d6 80343d2: 68fa ldr r2, [r7, #12] 80343d4: 3208 adds r2, #8 80343d6: ed92 5b00 vldr d5, [r2] 80343da: 68fa ldr r2, [r7, #12] 80343dc: 3208 adds r2, #8 80343de: ed92 7b00 vldr d7, [r2] 80343e2: ee25 7b07 vmul.f64 d7, d5, d7 80343e6: eeb4 5b08 vmov.f64 d5, #72 ; 0x3e400000 0.1875000 80343ea: ee27 7b05 vmul.f64 d7, d7, d5 80343ee: ee36 7b47 vsub.f64 d7, d6, d7 80343f2: ed83 7b00 vstr d7, [r3] P[2] = 16.0*P[2]*P[2] - 16.0*P1*P1*P[2] + 3.0*P1*P1*P1*P1; 80343f6: 68fb ldr r3, [r7, #12] 80343f8: 3310 adds r3, #16 80343fa: 68fa ldr r2, [r7, #12] 80343fc: 3210 adds r2, #16 80343fe: ed92 7b00 vldr d7, [r2] 8034402: eeb3 6b00 vmov.f64 d6, #48 ; 0x41800000 16.0 8034406: ee27 6b06 vmul.f64 d6, d7, d6 803440a: 68fa ldr r2, [r7, #12] 803440c: 3210 adds r2, #16 803440e: ed92 7b00 vldr d7, [r2] 8034412: ee26 6b07 vmul.f64 d6, d6, d7 8034416: ed97 7b0e vldr d7, [r7, #56] ; 0x38 803441a: eeb3 5b00 vmov.f64 d5, #48 ; 0x41800000 16.0 803441e: ee27 5b05 vmul.f64 d5, d7, d5 8034422: ed97 7b0e vldr d7, [r7, #56] ; 0x38 8034426: ee25 5b07 vmul.f64 d5, d5, d7 803442a: 68fa ldr r2, [r7, #12] 803442c: 3210 adds r2, #16 803442e: ed92 7b00 vldr d7, [r2] 8034432: ee25 7b07 vmul.f64 d7, d5, d7 8034436: ee36 6b47 vsub.f64 d6, d6, d7 803443a: ed97 7b0e vldr d7, [r7, #56] ; 0x38 803443e: eeb0 5b08 vmov.f64 d5, #8 ; 0x40400000 3.0 8034442: ee27 5b05 vmul.f64 d5, d7, d5 8034446: ed97 7b0e vldr d7, [r7, #56] ; 0x38 803444a: ee25 5b07 vmul.f64 d5, d5, d7 803444e: ed97 7b0e vldr d7, [r7, #56] ; 0x38 8034452: ee25 5b07 vmul.f64 d5, d5, d7 8034456: ed97 7b0e vldr d7, [r7, #56] ; 0x38 803445a: ee25 7b07 vmul.f64 d7, d5, d7 803445e: ee36 7b07 vadd.f64 d7, d6, d7 8034462: ed83 7b00 vstr d7, [r3] P[2] += -64.0*P[4] + 16.0*P1*P[3]; 8034466: 68fb ldr r3, [r7, #12] 8034468: 3310 adds r3, #16 803446a: 68fa ldr r2, [r7, #12] 803446c: 3210 adds r2, #16 803446e: ed92 6b00 vldr d6, [r2] 8034472: 68fa ldr r2, [r7, #12] 8034474: 3220 adds r2, #32 8034476: ed92 7b00 vldr d7, [r2] 803447a: ed9f 5b6d vldr d5, [pc, #436] ; 8034630 803447e: ee27 5b05 vmul.f64 d5, d7, d5 8034482: ed97 7b0e vldr d7, [r7, #56] ; 0x38 8034486: eeb3 4b00 vmov.f64 d4, #48 ; 0x41800000 16.0 803448a: ee27 4b04 vmul.f64 d4, d7, d4 803448e: 68fa ldr r2, [r7, #12] 8034490: 3218 adds r2, #24 8034492: ed92 7b00 vldr d7, [r2] 8034496: ee24 7b07 vmul.f64 d7, d4, d7 803449a: ee35 7b07 vadd.f64 d7, d5, d7 803449e: ee36 7b07 vadd.f64 d7, d6, d7 80344a2: ed83 7b00 vstr d7, [r3] P[2] *= 3.90625E-3; // 3.90625E-3 = 1/256 80344a6: 68fb ldr r3, [r7, #12] 80344a8: 3310 adds r3, #16 80344aa: 68fa ldr r2, [r7, #12] 80344ac: 3210 adds r2, #16 80344ae: ed92 7b00 vldr d7, [r2] 80344b2: ed9f 6b5d vldr d6, [pc, #372] ; 8034628 80344b6: ee27 7b06 vmul.f64 d7, d7, d6 80344ba: ed83 7b00 vstr d7, [r3] P[3] = -b*b*0.015625; // 0.015625 = 1/64 80344be: 68fb ldr r3, [r7, #12] 80344c0: 3318 adds r3, #24 80344c2: ed97 7b12 vldr d7, [r7, #72] ; 0x48 80344c6: eeb1 6b47 vneg.f64 d6, d7 80344ca: ed97 7b12 vldr d7, [r7, #72] ; 0x48 80344ce: ee26 7b07 vmul.f64 d7, d6, d7 80344d2: ed9f 6b59 vldr d6, [pc, #356] ; 8034638 80344d6: ee27 7b06 vmul.f64 d7, d7, d6 80344da: ed83 7b00 vstr d7, [r3] if(P[3] > 0.0)P[3] = 0.0; // Only numerical errors make P[3] > 0 80344de: 68fb ldr r3, [r7, #12] 80344e0: 3318 adds r3, #24 80344e2: ed93 7b00 vldr d7, [r3] 80344e6: eeb5 7bc0 vcmpe.f64 d7, #0.0 80344ea: eef1 fa10 vmrs APSR_nzcv, fpscr 80344ee: dd08 ble.n 8034502 80344f0: 68fb ldr r3, [r7, #12] 80344f2: f103 0218 add.w r2, r3, #24 80344f6: f04f 0300 mov.w r3, #0 80344fa: f04f 0400 mov.w r4, #0 80344fe: e882 0018 stmia.w r2, {r3, r4} We use the following criteria to test for a legitimate tiny P[3], which we must to send to CubicRoots */ // if P[3] is tiny && legitimately tiny we use 0 as the threshold. // else P[3] must be more negative than roundoff errors cause. if(P[3] > ZERO_MINUS && fabs(P[2]) < 1.0E-6) P3Limit = 0.0; 8034502: 68fb ldr r3, [r7, #12] 8034504: 3318 adds r3, #24 8034506: ed93 7b00 vldr d7, [r3] 803450a: ed9f 6b4d vldr d6, [pc, #308] ; 8034640 803450e: eeb4 7bc6 vcmpe.f64 d7, d6 8034512: eef1 fa10 vmrs APSR_nzcv, fpscr 8034516: dd13 ble.n 8034540 8034518: 68fb ldr r3, [r7, #12] 803451a: 3310 adds r3, #16 803451c: ed93 7b00 vldr d7, [r3] 8034520: eeb0 7bc7 vabs.f64 d7, d7 8034524: ed9f 6b48 vldr d6, [pc, #288] ; 8034648 8034528: eeb4 7bc6 vcmpe.f64 d7, d6 803452c: eef1 fa10 vmrs APSR_nzcv, fpscr 8034530: d506 bpl.n 8034540 8034532: f04f 0300 mov.w r3, #0 8034536: f04f 0400 mov.w r4, #0 803453a: e9c7 3410 strd r3, r4, [r7, #64] ; 0x40 803453e: e004 b.n 803454a else P3Limit = ZERO_MINUS; 8034540: f04f 0300 mov.w r3, #0 8034544: 4c42 ldr r4, [pc, #264] ; (8034650 ) 8034546: e9c7 3410 strd r3, r4, [r7, #64] ; 0x40 if(P[3] < P3Limit) 803454a: 68fb ldr r3, [r7, #12] 803454c: 3318 adds r3, #24 803454e: ed93 6b00 vldr d6, [r3] 8034552: ed97 7b10 vldr d7, [r7, #64] ; 0x40 8034556: eeb4 6bc7 vcmpe.f64 d6, d7 803455a: eef1 fa10 vmrs APSR_nzcv, fpscr 803455e: d579 bpl.n 8034654 { MaxK = CubicRoots(P, RealRoot, ImagRoot); 8034560: 687a ldr r2, [r7, #4] 8034562: 68b9 ldr r1, [r7, #8] 8034564: 68f8 ldr r0, [r7, #12] 8034566: f7ff fbe7 bl 8033d38 803456a: 6178 str r0, [r7, #20] if(RealRoot[MaxK] > 0.0) // MaxK is the index of the largest real root. 803456c: 697b ldr r3, [r7, #20] 803456e: 00db lsls r3, r3, #3 8034570: 68ba ldr r2, [r7, #8] 8034572: 4413 add r3, r2 8034574: ed93 7b00 vldr d7, [r3] 8034578: eeb5 7bc0 vcmpe.f64 d7, #0.0 803457c: eef1 fa10 vmrs APSR_nzcv, fpscr 8034580: dd68 ble.n 8034654 { d = 4.0*RealRoot[MaxK]; 8034582: 697b ldr r3, [r7, #20] 8034584: 00db lsls r3, r3, #3 8034586: 68ba ldr r2, [r7, #8] 8034588: 4413 add r3, r2 803458a: ed93 7b00 vldr d7, [r3] 803458e: eeb1 6b00 vmov.f64 d6, #16 ; 0x40800000 4.0 8034592: ee27 7b06 vmul.f64 d7, d7, d6 8034596: ed87 7b0a vstr d7, [r7, #40] ; 0x28 a += d; 803459a: ed97 6b06 vldr d6, [r7, #24] 803459e: ed97 7b0a vldr d7, [r7, #40] ; 0x28 80345a2: ee36 7b07 vadd.f64 d7, d6, d7 80345a6: ed87 7b06 vstr d7, [r7, #24] if(a*b < 0.0)P[1] = -sqrtl(d); 80345aa: ed97 6b06 vldr d6, [r7, #24] 80345ae: ed97 7b12 vldr d7, [r7, #72] ; 0x48 80345b2: ee26 7b07 vmul.f64 d7, d6, d7 80345b6: eeb5 7bc0 vcmpe.f64 d7, #0.0 80345ba: eef1 fa10 vmrs APSR_nzcv, fpscr 80345be: d50d bpl.n 80345dc 80345c0: 68fb ldr r3, [r7, #12] 80345c2: f103 0408 add.w r4, r3, #8 80345c6: ed97 0b0a vldr d0, [r7, #40] ; 0x28 80345ca: f096 fb67 bl 80cac9c 80345ce: eeb0 7b40 vmov.f64 d7, d0 80345d2: eeb1 7b47 vneg.f64 d7, d7 80345d6: ed84 7b00 vstr d7, [r4] 80345da: e00a b.n 80345f2 else P[1] = sqrtl(d); 80345dc: 68fb ldr r3, [r7, #12] 80345de: f103 0408 add.w r4, r3, #8 80345e2: ed97 0b0a vldr d0, [r7, #40] ; 0x28 80345e6: f096 fb59 bl 80cac9c 80345ea: eeb0 7b40 vmov.f64 d7, d0 80345ee: ed84 7b00 vstr d7, [r4] b = 0.5 * (a + b/P[1]); 80345f2: 68fb ldr r3, [r7, #12] 80345f4: 3308 adds r3, #8 80345f6: ed93 7b00 vldr d7, [r3] 80345fa: ed97 5b12 vldr d5, [r7, #72] ; 0x48 80345fe: ee85 6b07 vdiv.f64 d6, d5, d7 8034602: ed97 7b06 vldr d7, [r7, #24] 8034606: ee36 7b07 vadd.f64 d7, d6, d7 803460a: eeb6 6b00 vmov.f64 d6, #96 ; 0x3f000000 0.5 803460e: ee27 7b06 vmul.f64 d7, d7, d6 8034612: ed87 7b12 vstr d7, [r7, #72] ; 0x48 goto QUAD; 8034616: e0c7 b.n 80347a8 8034618: 00000000 .word 0x00000000 803461c: 40700000 .word 0x40700000 8034620: 00000000 .word 0x00000000 8034624: 40500000 .word 0x40500000 8034628: 00000000 .word 0x00000000 803462c: 3f700000 .word 0x3f700000 8034630: 00000000 .word 0x00000000 8034634: c0500000 .word 0xc0500000 8034638: 00000000 .word 0x00000000 803463c: 3f900000 .word 0x3f900000 8034640: 00000000 .word 0x00000000 8034644: bcd00000 .word 0xbcd00000 8034648: a0b5ed8d .word 0xa0b5ed8d 803464c: 3eb0c6f7 .word 0x3eb0c6f7 8034650: bcd00000 .word 0xbcd00000 } } if(P[2] < -1.0E-8) // 2 sets of equal imag roots 8034654: 68fb ldr r3, [r7, #12] 8034656: 3310 adds r3, #16 8034658: ed93 7b00 vldr d7, [r3] 803465c: ed9f 6b76 vldr d6, [pc, #472] ; 8034838 8034660: eeb4 7bc6 vcmpe.f64 d7, d6 8034664: eef1 fa10 vmrs APSR_nzcv, fpscr 8034668: d534 bpl.n 80346d4 { b = sqrtl(fabsl(c)); 803466a: ed97 7b08 vldr d7, [r7, #32] 803466e: eeb0 7bc7 vabs.f64 d7, d7 8034672: eeb0 0b47 vmov.f64 d0, d7 8034676: f096 fb11 bl 80cac9c 803467a: ed87 0b12 vstr d0, [r7, #72] ; 0x48 d = b + b - a; 803467e: ed97 7b12 vldr d7, [r7, #72] ; 0x48 8034682: ee37 6b07 vadd.f64 d6, d7, d7 8034686: ed97 7b06 vldr d7, [r7, #24] 803468a: ee36 7b47 vsub.f64 d7, d6, d7 803468e: ed87 7b0a vstr d7, [r7, #40] ; 0x28 if(d > 0.0)P[1] = sqrtl(fabsl(d)); 8034692: ed97 7b0a vldr d7, [r7, #40] ; 0x28 8034696: eeb5 7bc0 vcmpe.f64 d7, #0.0 803469a: eef1 fa10 vmrs APSR_nzcv, fpscr 803469e: dd0f ble.n 80346c0 80346a0: 68fb ldr r3, [r7, #12] 80346a2: f103 0408 add.w r4, r3, #8 80346a6: ed97 7b0a vldr d7, [r7, #40] ; 0x28 80346aa: eeb0 7bc7 vabs.f64 d7, d7 80346ae: eeb0 0b47 vmov.f64 d0, d7 80346b2: f096 faf3 bl 80cac9c 80346b6: eeb0 7b40 vmov.f64 d7, d0 80346ba: ed84 7b00 vstr d7, [r4] 80346be: e073 b.n 80347a8 else P[1] = 0.0; 80346c0: 68fb ldr r3, [r7, #12] 80346c2: f103 0208 add.w r2, r3, #8 80346c6: f04f 0300 mov.w r3, #0 80346ca: f04f 0400 mov.w r4, #0 80346ce: e882 0018 stmia.w r2, {r3, r4} 80346d2: e069 b.n 80347a8 } else { if(P[1] > 0.0)b = 2.0*sqrtl(fabsl(P[2])) + P[1]; 80346d4: 68fb ldr r3, [r7, #12] 80346d6: 3308 adds r3, #8 80346d8: ed93 7b00 vldr d7, [r3] 80346dc: eeb5 7bc0 vcmpe.f64 d7, #0.0 80346e0: eef1 fa10 vmrs APSR_nzcv, fpscr 80346e4: dd16 ble.n 8034714 80346e6: 68fb ldr r3, [r7, #12] 80346e8: 3310 adds r3, #16 80346ea: ed93 7b00 vldr d7, [r3] 80346ee: eeb0 7bc7 vabs.f64 d7, d7 80346f2: eeb0 0b47 vmov.f64 d0, d7 80346f6: f096 fad1 bl 80cac9c 80346fa: eeb0 7b40 vmov.f64 d7, d0 80346fe: ee37 6b07 vadd.f64 d6, d7, d7 8034702: 68fb ldr r3, [r7, #12] 8034704: 3308 adds r3, #8 8034706: ed93 7b00 vldr d7, [r3] 803470a: ee36 7b07 vadd.f64 d7, d6, d7 803470e: ed87 7b12 vstr d7, [r7, #72] ; 0x48 8034712: e017 b.n 8034744 else b = -2.0*sqrtl(fabsl(P[2])) + P[1]; 8034714: 68fb ldr r3, [r7, #12] 8034716: 3310 adds r3, #16 8034718: ed93 7b00 vldr d7, [r3] 803471c: eeb0 7bc7 vabs.f64 d7, d7 8034720: eeb0 0b47 vmov.f64 d0, d7 8034724: f096 faba bl 80cac9c 8034728: eeb0 6b40 vmov.f64 d6, d0 803472c: eeb8 7b00 vmov.f64 d7, #128 ; 0xc0000000 -2.0 8034730: ee26 6b07 vmul.f64 d6, d6, d7 8034734: 68fb ldr r3, [r7, #12] 8034736: 3308 adds r3, #8 8034738: ed93 7b00 vldr d7, [r3] 803473c: ee36 7b07 vadd.f64 d7, d6, d7 8034740: ed87 7b12 vstr d7, [r7, #72] ; 0x48 if(fabsl(b) < 10.0*ZERO_PLUS) // 4 equal real roots. Was originally if(b == 0.0) 8034744: ed97 7b12 vldr d7, [r7, #72] ; 0x48 8034748: eeb0 7bc7 vabs.f64 d7, d7 803474c: ed9f 6b3c vldr d6, [pc, #240] ; 8034840 8034750: eeb4 7bc6 vcmpe.f64 d7, d6 8034754: eef1 fa10 vmrs APSR_nzcv, fpscr 8034758: d51d bpl.n 8034796 { for(k=0; k<4; k++) 803475a: 2300 movs r3, #0 803475c: 657b str r3, [r7, #84] ; 0x54 803475e: e016 b.n 803478e { RealRoot[k] = -e; 8034760: 6d7b ldr r3, [r7, #84] ; 0x54 8034762: 00db lsls r3, r3, #3 8034764: 68ba ldr r2, [r7, #8] 8034766: 4413 add r3, r2 8034768: ed97 7b0c vldr d7, [r7, #48] ; 0x30 803476c: eeb1 7b47 vneg.f64 d7, d7 8034770: ed83 7b00 vstr d7, [r3] ImagRoot[k] = 0.0; 8034774: 6d7b ldr r3, [r7, #84] ; 0x54 8034776: 00db lsls r3, r3, #3 8034778: 687a ldr r2, [r7, #4] 803477a: 441a add r2, r3 803477c: f04f 0300 mov.w r3, #0 8034780: f04f 0400 mov.w r4, #0 8034784: e882 0018 stmia.w r2, {r3, r4} for(k=0; k<4; k++) 8034788: 6d7b ldr r3, [r7, #84] ; 0x54 803478a: 3301 adds r3, #1 803478c: 657b str r3, [r7, #84] ; 0x54 803478e: 6d7b ldr r3, [r7, #84] ; 0x54 8034790: 2b03 cmp r3, #3 8034792: dde5 ble.n 8034760 } return; 8034794: e04a b.n 803482c } else P[1] = 0.0; 8034796: 68fb ldr r3, [r7, #12] 8034798: f103 0208 add.w r2, r3, #8 803479c: f04f 0300 mov.w r3, #0 80347a0: f04f 0400 mov.w r4, #0 80347a4: e882 0018 stmia.w r2, {r3, r4} } // Calc the roots from two 2nd order polys and subtract e from the real part. QUAD: P[2] = c/b; 80347a8: 68fb ldr r3, [r7, #12] 80347aa: 3310 adds r3, #16 80347ac: ed97 5b08 vldr d5, [r7, #32] 80347b0: ed97 6b12 vldr d6, [r7, #72] ; 0x48 80347b4: ee85 7b06 vdiv.f64 d7, d5, d6 80347b8: ed83 7b00 vstr d7, [r3] QuadRoots(P, RealRoot, ImagRoot); 80347bc: 687a ldr r2, [r7, #4] 80347be: 68b9 ldr r1, [r7, #8] 80347c0: 68f8 ldr r0, [r7, #12] 80347c2: f7ff f9fd bl 8033bc0 P[1] = -P[1]; 80347c6: 68fb ldr r3, [r7, #12] 80347c8: 3308 adds r3, #8 80347ca: 68fa ldr r2, [r7, #12] 80347cc: 3208 adds r2, #8 80347ce: ed92 7b00 vldr d7, [r2] 80347d2: eeb1 7b47 vneg.f64 d7, d7 80347d6: ed83 7b00 vstr d7, [r3] P[2] = b; 80347da: 68fb ldr r3, [r7, #12] 80347dc: f103 0210 add.w r2, r3, #16 80347e0: e9d7 3412 ldrd r3, r4, [r7, #72] ; 0x48 80347e4: e882 0018 stmia.w r2, {r3, r4} QuadRoots(P, RealRoot+2, ImagRoot+2); 80347e8: 68bb ldr r3, [r7, #8] 80347ea: f103 0110 add.w r1, r3, #16 80347ee: 687b ldr r3, [r7, #4] 80347f0: 3310 adds r3, #16 80347f2: 461a mov r2, r3 80347f4: 68f8 ldr r0, [r7, #12] 80347f6: f7ff f9e3 bl 8033bc0 for(k=0; k<4; k++)RealRoot[k] -= e; 80347fa: 2300 movs r3, #0 80347fc: 657b str r3, [r7, #84] ; 0x54 80347fe: e012 b.n 8034826 8034800: 6d7b ldr r3, [r7, #84] ; 0x54 8034802: 00db lsls r3, r3, #3 8034804: 68ba ldr r2, [r7, #8] 8034806: 4413 add r3, r2 8034808: 6d7a ldr r2, [r7, #84] ; 0x54 803480a: 00d2 lsls r2, r2, #3 803480c: 68b9 ldr r1, [r7, #8] 803480e: 440a add r2, r1 8034810: ed92 6b00 vldr d6, [r2] 8034814: ed97 7b0c vldr d7, [r7, #48] ; 0x30 8034818: ee36 7b47 vsub.f64 d7, d6, d7 803481c: ed83 7b00 vstr d7, [r3] 8034820: 6d7b ldr r3, [r7, #84] ; 0x54 8034822: 3301 adds r3, #1 8034824: 657b str r3, [r7, #84] ; 0x54 8034826: 6d7b ldr r3, [r7, #84] ; 0x54 8034828: 2b03 cmp r3, #3 803482a: dde9 ble.n 8034800 } 803482c: 375c adds r7, #92 ; 0x5c 803482e: 46bd mov sp, r7 8034830: bd90 pop {r4, r7, pc} 8034832: bf00 nop 8034834: f3af 8000 nop.w 8034838: e2308c3a .word 0xe2308c3a 803483c: be45798e .word 0xbe45798e 8034840: 00000000 .word 0x00000000 8034844: 3d040000 .word 0x3d040000 08034848 : extern float32_t Acorr[2]; extern char Serial[8]; void initDevice(void) { 8034848: b580 push {r7, lr} 803484a: af00 add r7, sp, #0 NeedOff = false; 803484c: 4b11 ldr r3, [pc, #68] ; (8034894 ) 803484e: 2200 movs r2, #0 8034850: 701a strb r2, [r3, #0] initAmplif(); 8034852: f7ed f91f bl 8021a94 MAX11270_StopMeas(); 8034856: f020 fbd5 bl 8055004 SetKU(); 803485a: f7ed f80b bl 8021874 if(AskFormat == false) 803485e: 4b0e ldr r3, [pc, #56] ; (8034898 ) 8034860: 781b ldrb r3, [r3, #0] 8034862: b2db uxtb r3, r3 8034864: f083 0301 eor.w r3, r3, #1 8034868: b2db uxtb r3, r3 803486a: 2b00 cmp r3, #0 803486c: d006 beq.n 803487c { menu = OPTIONS; 803486e: 4b0b ldr r3, [pc, #44] ; (803489c ) 8034870: 2201 movs r2, #1 8034872: 701a strb r2, [r3, #0] menupos = Mode; 8034874: 4b0a ldr r3, [pc, #40] ; (80348a0 ) 8034876: 2201 movs r2, #1 8034878: 701a strb r2, [r3, #0] { menu = OPTIONS; menupos = AskFormatNo; AskFormat = false; } } 803487a: e008 b.n 803488e menu = OPTIONS; 803487c: 4b07 ldr r3, [pc, #28] ; (803489c ) 803487e: 2201 movs r2, #1 8034880: 701a strb r2, [r3, #0] menupos = AskFormatNo; 8034882: 4b07 ldr r3, [pc, #28] ; (80348a0 ) 8034884: 2205 movs r2, #5 8034886: 701a strb r2, [r3, #0] AskFormat = false; 8034888: 4b03 ldr r3, [pc, #12] ; (8034898 ) 803488a: 2200 movs r2, #0 803488c: 701a strb r2, [r3, #0] } 803488e: bf00 nop 8034890: bd80 pop {r7, pc} 8034892: bf00 nop 8034894: 20020f75 .word 0x20020f75 8034898: 2002164d .word 0x2002164d 803489c: 20020f78 .word 0x20020f78 80348a0: 20020070 .word 0x20020070 080348a4 : void NeedCalibrate(void) { 80348a4: b580 push {r7, lr} 80348a6: b082 sub sp, #8 80348a8: af00 add r7, sp, #0 uint32_t i, k; for(k = 0; k < 100; k++) 80348aa: 2300 movs r3, #0 80348ac: 603b str r3, [r7, #0] 80348ae: e04c b.n 803494a { if(readkey() == (KEY_TMP + KEY_UP)) 80348b0: f000 f8a6 bl 8034a00 80348b4: 4603 mov r3, r0 80348b6: 2b42 cmp r3, #66 ; 0x42 80348b8: d141 bne.n 803493e { clbr = true; 80348ba: 4b3c ldr r3, [pc, #240] ; (80349ac ) 80348bc: 2201 movs r2, #1 80348be: 701a strb r2, [r3, #0] pardata.SYG = VIB; 80348c0: 4b3b ldr r3, [pc, #236] ; (80349b0 ) 80348c2: 2200 movs r2, #0 80348c4: 701a strb r2, [r3, #0] pardata.IIN = ICP; 80348c6: 4b3a ldr r3, [pc, #232] ; (80349b0 ) 80348c8: 2201 movs r2, #1 80348ca: 719a strb r2, [r3, #6] pardata.IKU = Ku1; 80348cc: 4b38 ldr r3, [pc, #224] ; (80349b0 ) 80348ce: 2200 movs r2, #0 80348d0: 721a strb r2, [r3, #8] pardata.IVS[ACC] = RMS; 80348d2: 4b37 ldr r3, [pc, #220] ; (80349b0 ) 80348d4: 2201 movs r2, #1 80348d6: 709a strb r2, [r3, #2] menu = CALIBR_00; 80348d8: 4b36 ldr r3, [pc, #216] ; (80349b4 ) 80348da: 2234 movs r2, #52 ; 0x34 80348dc: 701a strb r2, [r3, #0] menupos = 0; 80348de: 4b36 ldr r3, [pc, #216] ; (80349b8 ) 80348e0: 2200 movs r2, #0 80348e2: 701a strb r2, [r3, #0] for(i = 0; i < 9; i++) { 80348e4: 2300 movs r3, #0 80348e6: 607b str r3, [r7, #4] 80348e8: e009 b.n 80348fe Kcorr[i] = 1.0f; 80348ea: 4a34 ldr r2, [pc, #208] ; (80349bc ) 80348ec: 687b ldr r3, [r7, #4] 80348ee: 009b lsls r3, r3, #2 80348f0: 4413 add r3, r2 80348f2: f04f 527e mov.w r2, #1065353216 ; 0x3f800000 80348f6: 601a str r2, [r3, #0] for(i = 0; i < 9; i++) { 80348f8: 687b ldr r3, [r7, #4] 80348fa: 3301 adds r3, #1 80348fc: 607b str r3, [r7, #4] 80348fe: 687b ldr r3, [r7, #4] 8034900: 2b08 cmp r3, #8 8034902: d9f2 bls.n 80348ea } Acorr[0] = 1.0f; 8034904: 4b2e ldr r3, [pc, #184] ; (80349c0 ) 8034906: f04f 527e mov.w r2, #1065353216 ; 0x3f800000 803490a: 601a str r2, [r3, #0] Acorr[1] = 0.0f; 803490c: 4b2c ldr r3, [pc, #176] ; (80349c0 ) 803490e: f04f 0200 mov.w r2, #0 8034912: 605a str r2, [r3, #4] memset(Serial, 0, sizeof(Serial)); 8034914: 2208 movs r2, #8 8034916: 2100 movs r1, #0 8034918: 482a ldr r0, [pc, #168] ; (80349c4 ) 803491a: f098 fb95 bl 80cd048 Serial[0] = '0'; 803491e: 4b29 ldr r3, [pc, #164] ; (80349c4 ) 8034920: 2230 movs r2, #48 ; 0x30 8034922: 701a strb r2, [r3, #0] Serial[1] = '0'; 8034924: 4b27 ldr r3, [pc, #156] ; (80349c4 ) 8034926: 2230 movs r2, #48 ; 0x30 8034928: 705a strb r2, [r3, #1] Serial[2] = '0'; 803492a: 4b26 ldr r3, [pc, #152] ; (80349c4 ) 803492c: 2230 movs r2, #48 ; 0x30 803492e: 709a strb r2, [r3, #2] Serial[3] = '0'; 8034930: 4b24 ldr r3, [pc, #144] ; (80349c4 ) 8034932: 2230 movs r2, #48 ; 0x30 8034934: 70da strb r2, [r3, #3] Serial[4] = '0'; 8034936: 4b23 ldr r3, [pc, #140] ; (80349c4 ) 8034938: 2230 movs r2, #48 ; 0x30 803493a: 711a strb r2, [r3, #4] break; 803493c: e008 b.n 8034950 } else clbr = false; 803493e: 4b1b ldr r3, [pc, #108] ; (80349ac ) 8034940: 2200 movs r2, #0 8034942: 701a strb r2, [r3, #0] for(k = 0; k < 100; k++) 8034944: 683b ldr r3, [r7, #0] 8034946: 3301 adds r3, #1 8034948: 603b str r3, [r7, #0] 803494a: 683b ldr r3, [r7, #0] 803494c: 2b63 cmp r3, #99 ; 0x63 803494e: d9af bls.n 80348b0 } if(!clbr) 8034950: 4b16 ldr r3, [pc, #88] ; (80349ac ) 8034952: 781b ldrb r3, [r3, #0] 8034954: b2db uxtb r3, r3 8034956: f083 0301 eor.w r3, r3, #1 803495a: b2db uxtb r3, r3 803495c: 2b00 cmp r3, #0 803495e: d020 beq.n 80349a2 { for(k = 0; k < 100; k++) 8034960: 2300 movs r3, #0 8034962: 603b str r3, [r7, #0] 8034964: e01a b.n 803499c { if(readkey() == (KEY_LT + KEY_RT)) 8034966: f000 f84b bl 8034a00 803496a: 4603 mov r3, r0 803496c: 2b18 cmp r3, #24 803496e: d112 bne.n 8034996 { #ifdef USE_ADG5401 HAL_GPIO_WritePin(KU_GPIO_Port, KU_Pin, GPIO_PIN_SET); #else HAL_GPIO_WritePin(KU_GPIO_Port, KU_Pin, GPIO_PIN_RESET); 8034970: 2200 movs r2, #0 8034972: f44f 4180 mov.w r1, #16384 ; 0x4000 8034976: 4814 ldr r0, [pc, #80] ; (80349c8 ) 8034978: f081 f91a bl 80b5bb0 #endif pardata.FRQ = _64000Hz; 803497c: 4b0c ldr r3, [pc, #48] ; (80349b0 ) 803497e: 2209 movs r2, #9 8034980: 72da strb r2, [r3, #11] menu = CALIBR_OFFSET; 8034982: 4b0c ldr r3, [pc, #48] ; (80349b4 ) 8034984: 2241 movs r2, #65 ; 0x41 8034986: 701a strb r2, [r3, #0] menupos = 0; 8034988: 4b0b ldr r3, [pc, #44] ; (80349b8 ) 803498a: 2200 movs r2, #0 803498c: 701a strb r2, [r3, #0] CALC_OFFSET(); 803498e: f020 f949 bl 8054c24 break; 8034992: bf00 nop } } } } 8034994: e005 b.n 80349a2 for(k = 0; k < 100; k++) 8034996: 683b ldr r3, [r7, #0] 8034998: 3301 adds r3, #1 803499a: 603b str r3, [r7, #0] 803499c: 683b ldr r3, [r7, #0] 803499e: 2b63 cmp r3, #99 ; 0x63 80349a0: d9e1 bls.n 8034966 } 80349a2: bf00 nop 80349a4: 3708 adds r7, #8 80349a6: 46bd mov sp, r7 80349a8: bd80 pop {r7, pc} 80349aa: bf00 nop 80349ac: 20020f68 .word 0x20020f68 80349b0: 20023e60 .word 0x20023e60 80349b4: 20020f78 .word 0x20020f78 80349b8: 20020070 .word 0x20020070 80349bc: 20026194 .word 0x20026194 80349c0: 200684fc .word 0x200684fc 80349c4: 20026d04 .word 0x20026d04 80349c8: 40021800 .word 0x40021800 080349cc : void initKeys(void) { 80349cc: b580 push {r7, lr} 80349ce: af00 add r7, sp, #0 KeysIsReady = false; 80349d0: 4b09 ldr r3, [pc, #36] ; (80349f8 ) 80349d2: 2200 movs r2, #0 80349d4: 701a strb r2, [r3, #0] #ifdef KEYS_NEW HAL_GPIO_WritePin(U1_GPIO_Port, U1_Pin, GPIO_PIN_RESET); HAL_GPIO_WritePin(U2_GPIO_Port, U2_Pin, GPIO_PIN_RESET); HAL_GPIO_WritePin(U3_GPIO_Port, U3_Pin, GPIO_PIN_RESET); #else HAL_GPIO_WritePin(U1_GPIO_Port, U1_Pin, GPIO_PIN_SET); 80349d6: 2201 movs r2, #1 80349d8: 2104 movs r1, #4 80349da: 4808 ldr r0, [pc, #32] ; (80349fc ) 80349dc: f081 f8e8 bl 80b5bb0 HAL_GPIO_WritePin(U2_GPIO_Port, U2_Pin, GPIO_PIN_SET); 80349e0: 2201 movs r2, #1 80349e2: 2110 movs r1, #16 80349e4: 4805 ldr r0, [pc, #20] ; (80349fc ) 80349e6: f081 f8e3 bl 80b5bb0 HAL_GPIO_WritePin(U3_GPIO_Port, U3_Pin, GPIO_PIN_SET); 80349ea: 2201 movs r2, #1 80349ec: 2120 movs r1, #32 80349ee: 4803 ldr r0, [pc, #12] ; (80349fc ) 80349f0: f081 f8de bl 80b5bb0 #endif } 80349f4: bf00 nop 80349f6: bd80 pop {r7, pc} 80349f8: 20020f7f .word 0x20020f7f 80349fc: 40021000 .word 0x40021000 08034a00 : uint32_t readkey(void) { 8034a00: b580 push {r7, lr} 8034a02: b082 sub sp, #8 8034a04: af00 add r7, sp, #0 uint32_t key = 0; 8034a06: 2300 movs r3, #0 8034a08: 607b str r3, [r7, #4] if(KeysIsReady == false){ 8034a0a: 4b46 ldr r3, [pc, #280] ; (8034b24 ) 8034a0c: 781b ldrb r3, [r3, #0] 8034a0e: b2db uxtb r3, r3 8034a10: f083 0301 eor.w r3, r3, #1 8034a14: b2db uxtb r3, r3 8034a16: 2b00 cmp r3, #0 8034a18: d001 beq.n 8034a1e return 0; 8034a1a: 2300 movs r3, #0 8034a1c: e07e b.n 8034b1c } if(HAL_GPIO_ReadPin(OFF_GPIO_Port, OFF_Pin) == GPIO_PIN_SET) { 8034a1e: 2101 movs r1, #1 8034a20: 4841 ldr r0, [pc, #260] ; (8034b28 ) 8034a22: f081 f8ad bl 80b5b80 8034a26: 4603 mov r3, r0 8034a28: 2b01 cmp r3, #1 8034a2a: d101 bne.n 8034a30 key = KEY_PW; 8034a2c: 2301 movs r3, #1 8034a2e: 607b str r3, [r7, #4] #ifndef KEYS_NEW //HAL_GPIO_WritePin(K1_GPIO_Port, K1_Pin, GPIO_PIN_SET); //todo //HAL_GPIO_WritePin(K2_GPIO_Port, K2_Pin, GPIO_PIN_SET); //todo HAL_GPIO_WritePin(U1_GPIO_Port, U1_Pin, GPIO_PIN_SET); 8034a30: 2201 movs r2, #1 8034a32: 2104 movs r1, #4 8034a34: 483d ldr r0, [pc, #244] ; (8034b2c ) 8034a36: f081 f8bb bl 80b5bb0 HAL_GPIO_WritePin(U2_GPIO_Port, U2_Pin, GPIO_PIN_SET); 8034a3a: 2201 movs r2, #1 8034a3c: 2110 movs r1, #16 8034a3e: 483b ldr r0, [pc, #236] ; (8034b2c ) 8034a40: f081 f8b6 bl 80b5bb0 HAL_GPIO_WritePin(U3_GPIO_Port, U3_Pin, GPIO_PIN_SET); 8034a44: 2201 movs r2, #1 8034a46: 2120 movs r1, #32 8034a48: 4838 ldr r0, [pc, #224] ; (8034b2c ) 8034a4a: f081 f8b1 bl 80b5bb0 HAL_GPIO_WritePin(U1_GPIO_Port, U1_Pin, GPIO_PIN_RESET); 8034a4e: 2200 movs r2, #0 8034a50: 2104 movs r1, #4 8034a52: 4836 ldr r0, [pc, #216] ; (8034b2c ) 8034a54: f081 f8ac bl 80b5bb0 if(HAL_GPIO_ReadPin(K1_GPIO_Port, K1_Pin) == GPIO_PIN_RESET) 8034a58: f44f 7100 mov.w r1, #512 ; 0x200 8034a5c: 4832 ldr r0, [pc, #200] ; (8034b28 ) 8034a5e: f081 f88f bl 80b5b80 8034a62: 4603 mov r3, r0 8034a64: 2b00 cmp r3, #0 8034a66: d103 bne.n 8034a70 key |= KEY_OK; 8034a68: 687b ldr r3, [r7, #4] 8034a6a: f043 0320 orr.w r3, r3, #32 8034a6e: 607b str r3, [r7, #4] if(HAL_GPIO_ReadPin(K2_GPIO_Port, K2_Pin) == GPIO_PIN_RESET) 8034a70: f44f 6180 mov.w r1, #1024 ; 0x400 8034a74: 482c ldr r0, [pc, #176] ; (8034b28 ) 8034a76: f081 f883 bl 80b5b80 8034a7a: 4603 mov r3, r0 8034a7c: 2b00 cmp r3, #0 8034a7e: d103 bne.n 8034a88 key |= KEY_TMP; 8034a80: 687b ldr r3, [r7, #4] 8034a82: f043 0340 orr.w r3, r3, #64 ; 0x40 8034a86: 607b str r3, [r7, #4] HAL_GPIO_WritePin(U1_GPIO_Port, U1_Pin, GPIO_PIN_SET); 8034a88: 2201 movs r2, #1 8034a8a: 2104 movs r1, #4 8034a8c: 4827 ldr r0, [pc, #156] ; (8034b2c ) 8034a8e: f081 f88f bl 80b5bb0 HAL_GPIO_WritePin(U2_GPIO_Port, U2_Pin, GPIO_PIN_RESET); 8034a92: 2200 movs r2, #0 8034a94: 2110 movs r1, #16 8034a96: 4825 ldr r0, [pc, #148] ; (8034b2c ) 8034a98: f081 f88a bl 80b5bb0 if(HAL_GPIO_ReadPin(K1_GPIO_Port, K1_Pin) == GPIO_PIN_RESET) 8034a9c: f44f 7100 mov.w r1, #512 ; 0x200 8034aa0: 4821 ldr r0, [pc, #132] ; (8034b28 ) 8034aa2: f081 f86d bl 80b5b80 8034aa6: 4603 mov r3, r0 8034aa8: 2b00 cmp r3, #0 8034aaa: d103 bne.n 8034ab4 key |= KEY_LT; 8034aac: 687b ldr r3, [r7, #4] 8034aae: f043 0310 orr.w r3, r3, #16 8034ab2: 607b str r3, [r7, #4] if(HAL_GPIO_ReadPin(K2_GPIO_Port, K2_Pin) == GPIO_PIN_RESET) 8034ab4: f44f 6180 mov.w r1, #1024 ; 0x400 8034ab8: 481b ldr r0, [pc, #108] ; (8034b28 ) 8034aba: f081 f861 bl 80b5b80 8034abe: 4603 mov r3, r0 8034ac0: 2b00 cmp r3, #0 8034ac2: d103 bne.n 8034acc key |= KEY_RT; 8034ac4: 687b ldr r3, [r7, #4] 8034ac6: f043 0308 orr.w r3, r3, #8 8034aca: 607b str r3, [r7, #4] HAL_GPIO_WritePin(U2_GPIO_Port, U2_Pin, GPIO_PIN_SET); 8034acc: 2201 movs r2, #1 8034ace: 2110 movs r1, #16 8034ad0: 4816 ldr r0, [pc, #88] ; (8034b2c ) 8034ad2: f081 f86d bl 80b5bb0 HAL_GPIO_WritePin(U3_GPIO_Port, U3_Pin, GPIO_PIN_RESET); 8034ad6: 2200 movs r2, #0 8034ad8: 2120 movs r1, #32 8034ada: 4814 ldr r0, [pc, #80] ; (8034b2c ) 8034adc: f081 f868 bl 80b5bb0 if(HAL_GPIO_ReadPin(K1_GPIO_Port, K1_Pin) == GPIO_PIN_RESET) 8034ae0: f44f 7100 mov.w r1, #512 ; 0x200 8034ae4: 4810 ldr r0, [pc, #64] ; (8034b28 ) 8034ae6: f081 f84b bl 80b5b80 8034aea: 4603 mov r3, r0 8034aec: 2b00 cmp r3, #0 8034aee: d103 bne.n 8034af8 key |= KEY_UP; 8034af0: 687b ldr r3, [r7, #4] 8034af2: f043 0302 orr.w r3, r3, #2 8034af6: 607b str r3, [r7, #4] if(HAL_GPIO_ReadPin(K2_GPIO_Port, K2_Pin) == GPIO_PIN_RESET) 8034af8: f44f 6180 mov.w r1, #1024 ; 0x400 8034afc: 480a ldr r0, [pc, #40] ; (8034b28 ) 8034afe: f081 f83f bl 80b5b80 8034b02: 4603 mov r3, r0 8034b04: 2b00 cmp r3, #0 8034b06: d103 bne.n 8034b10 key |= KEY_DN; 8034b08: 687b ldr r3, [r7, #4] 8034b0a: f043 0304 orr.w r3, r3, #4 8034b0e: 607b str r3, [r7, #4] HAL_GPIO_WritePin(U3_GPIO_Port, U3_Pin, GPIO_PIN_SET); 8034b10: 2201 movs r2, #1 8034b12: 2120 movs r1, #32 8034b14: 4805 ldr r0, [pc, #20] ; (8034b2c ) 8034b16: f081 f84b bl 80b5bb0 if(HAL_GPIO_ReadPin(K1_GPIO_Port, K1_Pin) == GPIO_PIN_SET) key |= KEY_UP; if(HAL_GPIO_ReadPin(K2_GPIO_Port, K2_Pin) == GPIO_PIN_SET) key |= KEY_DN; HAL_GPIO_WritePin(U3_GPIO_Port, U3_Pin, GPIO_PIN_RESET); #endif return key; 8034b1a: 687b ldr r3, [r7, #4] } 8034b1c: 4618 mov r0, r3 8034b1e: 3708 adds r7, #8 8034b20: 46bd mov sp, r7 8034b22: bd80 pop {r7, pc} 8034b24: 20020f7f .word 0x20020f7f 8034b28: 40020000 .word 0x40020000 8034b2c: 40021000 .word 0x40021000 08034b30 : uint32_t kbhit(void) { 8034b30: b580 push {r7, lr} 8034b32: b082 sub sp, #8 8034b34: af00 add r7, sp, #0 static uint16_t rep = 50; do { key = readkey(); 8034b36: f7ff ff63 bl 8034a00 8034b3a: 4603 mov r3, r0 8034b3c: 607b str r3, [r7, #4] if(!key) 8034b3e: 687b ldr r3, [r7, #4] 8034b40: 2b00 cmp r3, #0 8034b42: d10d bne.n 8034b60 { if(dreb) 8034b44: 4b4e ldr r3, [pc, #312] ; (8034c80 ) 8034b46: 681b ldr r3, [r3, #0] 8034b48: 2b00 cmp r3, #0 8034b4a: d005 beq.n 8034b58 dreb--; 8034b4c: 4b4c ldr r3, [pc, #304] ; (8034c80 ) 8034b4e: 681b ldr r3, [r3, #0] 8034b50: 3b01 subs r3, #1 8034b52: 4a4b ldr r2, [pc, #300] ; (8034c80 ) 8034b54: 6013 str r3, [r2, #0] 8034b56: e00c b.n 8034b72 else first = 1; 8034b58: 4b4a ldr r3, [pc, #296] ; (8034c84 ) 8034b5a: 2201 movs r2, #1 8034b5c: 701a strb r2, [r3, #0] 8034b5e: e008 b.n 8034b72 } else { if(dreb < KEY_DBZ) 8034b60: 4b47 ldr r3, [pc, #284] ; (8034c80 ) 8034b62: 681b ldr r3, [r3, #0] 8034b64: 2b01 cmp r3, #1 8034b66: d804 bhi.n 8034b72 dreb++; 8034b68: 4b45 ldr r3, [pc, #276] ; (8034c80 ) 8034b6a: 681b ldr r3, [r3, #0] 8034b6c: 3301 adds r3, #1 8034b6e: 4a44 ldr r2, [pc, #272] ; (8034c80 ) 8034b70: 6013 str r3, [r2, #0] } } while((dreb > 0) && (dreb < KEY_DBZ)); 8034b72: 4b43 ldr r3, [pc, #268] ; (8034c80 ) 8034b74: 681b ldr r3, [r3, #0] 8034b76: 2b00 cmp r3, #0 8034b78: d003 beq.n 8034b82 8034b7a: 4b41 ldr r3, [pc, #260] ; (8034c80 ) 8034b7c: 681b ldr r3, [r3, #0] 8034b7e: 2b01 cmp r3, #1 8034b80: d9d9 bls.n 8034b36 if((key == KEY_PW) && (menu != POWER_OFF) && (menu != POWER_OFF2) && (LinkPC == 0) && (!ChargerIsConnect)) 8034b82: 687b ldr r3, [r7, #4] 8034b84: 2b01 cmp r3, #1 8034b86: d13e bne.n 8034c06 8034b88: 4b3f ldr r3, [pc, #252] ; (8034c88 ) 8034b8a: 781b ldrb r3, [r3, #0] 8034b8c: b2db uxtb r3, r3 8034b8e: 2b43 cmp r3, #67 ; 0x43 8034b90: d039 beq.n 8034c06 8034b92: 4b3d ldr r3, [pc, #244] ; (8034c88 ) 8034b94: 781b ldrb r3, [r3, #0] 8034b96: b2db uxtb r3, r3 8034b98: 2b44 cmp r3, #68 ; 0x44 8034b9a: d034 beq.n 8034c06 8034b9c: 4b3b ldr r3, [pc, #236] ; (8034c8c ) 8034b9e: 781b ldrb r3, [r3, #0] 8034ba0: b2db uxtb r3, r3 8034ba2: 2b00 cmp r3, #0 8034ba4: d12f bne.n 8034c06 8034ba6: 4b3a ldr r3, [pc, #232] ; (8034c90 ) 8034ba8: 781b ldrb r3, [r3, #0] 8034baa: b2db uxtb r3, r3 8034bac: f083 0301 eor.w r3, r3, #1 8034bb0: b2db uxtb r3, r3 8034bb2: 2b00 cmp r3, #0 8034bb4: d027 beq.n 8034c06 { do { key = readkey(); 8034bb6: f7ff ff23 bl 8034a00 8034bba: 4603 mov r3, r0 8034bbc: 607b str r3, [r7, #4] if(!key) 8034bbe: 687b ldr r3, [r7, #4] 8034bc0: 2b00 cmp r3, #0 8034bc2: d10d bne.n 8034be0 { if(dreb) 8034bc4: 4b2e ldr r3, [pc, #184] ; (8034c80 ) 8034bc6: 681b ldr r3, [r3, #0] 8034bc8: 2b00 cmp r3, #0 8034bca: d005 beq.n 8034bd8 dreb--; 8034bcc: 4b2c ldr r3, [pc, #176] ; (8034c80 ) 8034bce: 681b ldr r3, [r3, #0] 8034bd0: 3b01 subs r3, #1 8034bd2: 4a2b ldr r2, [pc, #172] ; (8034c80 ) 8034bd4: 6013 str r3, [r2, #0] 8034bd6: e00d b.n 8034bf4 else first = 1; 8034bd8: 4b2a ldr r3, [pc, #168] ; (8034c84 ) 8034bda: 2201 movs r2, #1 8034bdc: 701a strb r2, [r3, #0] 8034bde: e009 b.n 8034bf4 } else { if(dreb < 200000) 8034be0: 4b27 ldr r3, [pc, #156] ; (8034c80 ) 8034be2: 681b ldr r3, [r3, #0] 8034be4: 4a2b ldr r2, [pc, #172] ; (8034c94 ) 8034be6: 4293 cmp r3, r2 8034be8: d804 bhi.n 8034bf4 dreb++; 8034bea: 4b25 ldr r3, [pc, #148] ; (8034c80 ) 8034bec: 681b ldr r3, [r3, #0] 8034bee: 3301 adds r3, #1 8034bf0: 4a23 ldr r2, [pc, #140] ; (8034c80 ) 8034bf2: 6013 str r3, [r2, #0] } } while((dreb > 0) && (dreb < 200000)); 8034bf4: 4b22 ldr r3, [pc, #136] ; (8034c80 ) 8034bf6: 681b ldr r3, [r3, #0] 8034bf8: 2b00 cmp r3, #0 8034bfa: d004 beq.n 8034c06 8034bfc: 4b20 ldr r3, [pc, #128] ; (8034c80 ) 8034bfe: 681b ldr r3, [r3, #0] 8034c00: 4a24 ldr r2, [pc, #144] ; (8034c94 ) 8034c02: 4293 cmp r3, r2 8034c04: d9d7 bls.n 8034bb6 } if(!key) //åñëè êíîïêè îòïóùåíû 8034c06: 687b ldr r3, [r7, #4] 8034c08: 2b00 cmp r3, #0 8034c0a: d104 bne.n 8034c16 { first = 1; //äîñòîâåðíî êíîïêè îòïóùåíû 8034c0c: 4b1d ldr r3, [pc, #116] ; (8034c84 ) 8034c0e: 2201 movs r2, #1 8034c10: 701a strb r2, [r3, #0] return 0; //âåðíóòü 0 8034c12: 2300 movs r3, #0 8034c14: e02f b.n 8034c76 } else //èíà÷å { if(first) //îïðåäåëèòü êíîïêó 8034c16: 4b1b ldr r3, [pc, #108] ; (8034c84 ) 8034c18: 781b ldrb r3, [r3, #0] 8034c1a: 2b00 cmp r3, #0 8034c1c: d00c beq.n 8034c38 { //òîëüêî îäèí ðàç first = 0; //çà íàæàòèå 8034c1e: 4b19 ldr r3, [pc, #100] ; (8034c84 ) 8034c20: 2200 movs r2, #0 8034c22: 701a strb r2, [r3, #0] repeat = rep = 2000; 8034c24: 4b1c ldr r3, [pc, #112] ; (8034c98 ) 8034c26: f44f 62fa mov.w r2, #2000 ; 0x7d0 8034c2a: 801a strh r2, [r3, #0] 8034c2c: 4b1a ldr r3, [pc, #104] ; (8034c98 ) 8034c2e: 881a ldrh r2, [r3, #0] 8034c30: 4b1a ldr r3, [pc, #104] ; (8034c9c ) 8034c32: 801a strh r2, [r3, #0] return key; //âåðíóòü â ãëàâíóþ ôóíêöèþ ñîñòîÿíèå êëàâèàòóðû 8034c34: 687b ldr r3, [r7, #4] 8034c36: e01e b.n 8034c76 } else { if(repeat) 8034c38: 4b18 ldr r3, [pc, #96] ; (8034c9c ) 8034c3a: 881b ldrh r3, [r3, #0] 8034c3c: b29b uxth r3, r3 8034c3e: 2b00 cmp r3, #0 8034c40: d001 beq.n 8034c46 return 0; //èìèòàöèÿ ñâîáîäíîé êëàâèàòóðû 8034c42: 2300 movs r3, #0 8034c44: e017 b.n 8034c76 else { if(rep > 0) 8034c46: 4b14 ldr r3, [pc, #80] ; (8034c98 ) 8034c48: 881b ldrh r3, [r3, #0] 8034c4a: 2b00 cmp r3, #0 8034c4c: d006 beq.n 8034c5c rep >>= 1; 8034c4e: 4b12 ldr r3, [pc, #72] ; (8034c98 ) 8034c50: 881b ldrh r3, [r3, #0] 8034c52: 085b lsrs r3, r3, #1 8034c54: b29a uxth r2, r3 8034c56: 4b10 ldr r3, [pc, #64] ; (8034c98 ) 8034c58: 801a strh r2, [r3, #0] 8034c5a: e002 b.n 8034c62 else rep = 100; 8034c5c: 4b0e ldr r3, [pc, #56] ; (8034c98 ) 8034c5e: 2264 movs r2, #100 ; 0x64 8034c60: 801a strh r2, [r3, #0] repeat = rep; 8034c62: 4b0d ldr r3, [pc, #52] ; (8034c98 ) 8034c64: 881a ldrh r2, [r3, #0] 8034c66: 4b0d ldr r3, [pc, #52] ; (8034c9c ) 8034c68: 801a strh r2, [r3, #0] if(key == KEY_PW) 8034c6a: 687b ldr r3, [r7, #4] 8034c6c: 2b01 cmp r3, #1 8034c6e: d101 bne.n 8034c74 return 0; 8034c70: 2300 movs r3, #0 8034c72: e000 b.n 8034c76 return key; 8034c74: 687b ldr r3, [r7, #4] } } } } 8034c76: 4618 mov r0, r3 8034c78: 3708 adds r7, #8 8034c7a: 46bd mov sp, r7 8034c7c: bd80 pop {r7, pc} 8034c7e: bf00 nop 8034c80: 20020f88 .word 0x20020f88 8034c84: 20020072 .word 0x20020072 8034c88: 20020f78 .word 0x20020f78 8034c8c: 20021b23 .word 0x20021b23 8034c90: 20021b22 .word 0x20021b22 8034c94: 00030d3f .word 0x00030d3f 8034c98: 20020074 .word 0x20020074 8034c9c: 20020f7c .word 0x20020f7c 08034ca0 : void keyIns(void) { 8034ca0: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 8034ca4: b0b3 sub sp, #204 ; 0xcc 8034ca6: af00 add r7, sp, #0 uint16_t multA_u16, multB_u16, dX, dXold, MaxLevel; char string[40], str[40]; FRESULT result; float32_t f, fl; uint32_t Year, Month, Day, Hour, Min, Sec; float32_t fa[3] = {0, 0, 0}; 8034ca8: f04f 0300 mov.w r3, #0 8034cac: 613b str r3, [r7, #16] 8034cae: f04f 0300 mov.w r3, #0 8034cb2: 617b str r3, [r7, #20] 8034cb4: f04f 0300 mov.w r3, #0 8034cb8: 61bb str r3, [r7, #24] float32_t ff[3] = {0, 0, 0}; 8034cba: f04f 0300 mov.w r3, #0 8034cbe: 607b str r3, [r7, #4] 8034cc0: f04f 0300 mov.w r3, #0 8034cc4: 60bb str r3, [r7, #8] 8034cc6: f04f 0300 mov.w r3, #0 8034cca: 60fb str r3, [r7, #12] float64_t f64; uint8_t tmp8; key = KEY_STATE; 8034ccc: 4bd5 ldr r3, [pc, #852] ; (8035024 ) 8034cce: 681b ldr r3, [r3, #0] 8034cd0: f8c7 30ac str.w r3, [r7, #172] ; 0xac KEY_STATE = 0; 8034cd4: 4bd3 ldr r3, [pc, #844] ; (8035024 ) 8034cd6: 2200 movs r2, #0 8034cd8: 601a str r2, [r3, #0] if(key) 8034cda: f8d7 30ac ldr.w r3, [r7, #172] ; 0xac 8034cde: 2b00 cmp r3, #0 8034ce0: f01e 803f beq.w 8052d62 { TIMEOUT_OFF = min15; 8034ce4: 4bd0 ldr r3, [pc, #832] ; (8035028 ) 8034ce6: f44f 12e1 mov.w r2, #1843200 ; 0x1c2000 8034cea: 601a str r2, [r3, #0] TIMEOUT_OFF2 = sec10; 8034cec: 4bcf ldr r3, [pc, #828] ; (803502c ) 8034cee: f44f 42a0 mov.w r2, #20480 ; 0x5000 8034cf2: 601a str r2, [r3, #0] if(DrawStatus) 8034cf4: 4bce ldr r3, [pc, #824] ; (8035030 ) 8034cf6: 781b ldrb r3, [r3, #0] 8034cf8: b2db uxtb r3, r3 8034cfa: 2b00 cmp r3, #0 8034cfc: d016 beq.n 8034d2c { DrawStatus = false; 8034cfe: 4bcc ldr r3, [pc, #816] ; (8035030 ) 8034d00: 2200 movs r2, #0 8034d02: 701a strb r2, [r3, #0] timerStatus = 0; 8034d04: 4bcb ldr r3, [pc, #812] ; (8035034 ) 8034d06: 2200 movs r2, #0 8034d08: 801a strh r2, [r3, #0] STATUS = AP_OK; 8034d0a: 4bcb ldr r3, [pc, #812] ; (8035038 ) 8034d0c: 2200 movs r2, #0 8034d0e: 601a str r2, [r3, #0] ThisFileExist = false; 8034d10: 4bca ldr r3, [pc, #808] ; (803503c ) 8034d12: 2200 movs r2, #0 8034d14: 701a strb r2, [r3, #0] SavingPassed = false; 8034d16: 4bca ldr r3, [pc, #808] ; (8035040 ) 8034d18: 2200 movs r2, #0 8034d1a: 701a strb r2, [r3, #0] SavingUnable = false; 8034d1c: 4bc9 ldr r3, [pc, #804] ; (8035044 ) 8034d1e: 2200 movs r2, #0 8034d20: 701a strb r2, [r3, #0] AddToFile = false; 8034d22: 4bc9 ldr r3, [pc, #804] ; (8035048 ) 8034d24: 2200 movs r2, #0 8034d26: 701a strb r2, [r3, #0] return; 8034d28: f01e b81b b.w 8052d62 } if(menu == POWER_OFF2) 8034d2c: 4bc7 ldr r3, [pc, #796] ; (803504c ) 8034d2e: 781b ldrb r3, [r3, #0] 8034d30: b2db uxtb r3, r3 8034d32: 2b44 cmp r3, #68 ; 0x44 8034d34: d111 bne.n 8034d5a { if(ChargerIsConnect == true) 8034d36: 4bc6 ldr r3, [pc, #792] ; (8035050 ) 8034d38: 781b ldrb r3, [r3, #0] 8034d3a: b2db uxtb r3, r3 8034d3c: 2b00 cmp r3, #0 8034d3e: f01e 8003 beq.w 8052d48 { menu = POWER_OFF; 8034d42: 4bc2 ldr r3, [pc, #776] ; (803504c ) 8034d44: 2243 movs r2, #67 ; 0x43 8034d46: 701a strb r2, [r3, #0] TIMEOUT_OFF2 = sec10; 8034d48: 4bb8 ldr r3, [pc, #736] ; (803502c ) 8034d4a: f44f 42a0 mov.w r2, #20480 ; 0x5000 8034d4e: 601a str r2, [r3, #0] needDispOn = true; 8034d50: 4bc0 ldr r3, [pc, #768] ; (8035054 ) 8034d52: 2201 movs r2, #1 8034d54: 701a strb r2, [r3, #0] } return; 8034d56: f01d bff7 b.w 8052d48 } switch(key) 8034d5a: f8d7 30ac ldr.w r3, [r7, #172] ; 0xac 8034d5e: 3b01 subs r3, #1 8034d60: 2b3f cmp r3, #63 ; 0x3f 8034d62: f21d 87fe bhi.w 8052d62 8034d66: a201 add r2, pc, #4 ; (adr r2, 8034d6c ) 8034d68: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8034d6c: 08052d63 .word 0x08052d63 8034d70: 08034e6d .word 0x08034e6d 8034d74: 08052d63 .word 0x08052d63 8034d78: 0803be75 .word 0x0803be75 8034d7c: 08052d63 .word 0x08052d63 8034d80: 08052d63 .word 0x08052d63 8034d84: 08052d63 .word 0x08052d63 8034d88: 080461f5 .word 0x080461f5 8034d8c: 08052d63 .word 0x08052d63 8034d90: 08052d63 .word 0x08052d63 8034d94: 08052d63 .word 0x08052d63 8034d98: 08052d63 .word 0x08052d63 8034d9c: 08052d63 .word 0x08052d63 8034da0: 08052d63 .word 0x08052d63 8034da4: 08052d63 .word 0x08052d63 8034da8: 080439f5 .word 0x080439f5 8034dac: 08052d63 .word 0x08052d63 8034db0: 08052d63 .word 0x08052d63 8034db4: 08052d63 .word 0x08052d63 8034db8: 08052d63 .word 0x08052d63 8034dbc: 08052d63 .word 0x08052d63 8034dc0: 08052d63 .word 0x08052d63 8034dc4: 08052d63 .word 0x08052d63 8034dc8: 08052d63 .word 0x08052d63 8034dcc: 08052d63 .word 0x08052d63 8034dd0: 08052d63 .word 0x08052d63 8034dd4: 08052d63 .word 0x08052d63 8034dd8: 08052d63 .word 0x08052d63 8034ddc: 08052d63 .word 0x08052d63 8034de0: 08052d63 .word 0x08052d63 8034de4: 08052d63 .word 0x08052d63 8034de8: 080496ab .word 0x080496ab 8034dec: 08052d63 .word 0x08052d63 8034df0: 08052d63 .word 0x08052d63 8034df4: 08052d63 .word 0x08052d63 8034df8: 08052d63 .word 0x08052d63 8034dfc: 08052d63 .word 0x08052d63 8034e00: 08052d63 .word 0x08052d63 8034e04: 08052d63 .word 0x08052d63 8034e08: 08052d63 .word 0x08052d63 8034e0c: 08052d63 .word 0x08052d63 8034e10: 08052d63 .word 0x08052d63 8034e14: 08052d63 .word 0x08052d63 8034e18: 08052d63 .word 0x08052d63 8034e1c: 08052d63 .word 0x08052d63 8034e20: 08052d63 .word 0x08052d63 8034e24: 08052d63 .word 0x08052d63 8034e28: 08052d63 .word 0x08052d63 8034e2c: 08052d63 .word 0x08052d63 8034e30: 08052d63 .word 0x08052d63 8034e34: 08052d63 .word 0x08052d63 8034e38: 08052d63 .word 0x08052d63 8034e3c: 08052d63 .word 0x08052d63 8034e40: 08052d63 .word 0x08052d63 8034e44: 08052d63 .word 0x08052d63 8034e48: 08052d63 .word 0x08052d63 8034e4c: 08052d63 .word 0x08052d63 8034e50: 08052d63 .word 0x08052d63 8034e54: 08052d63 .word 0x08052d63 8034e58: 08052d63 .word 0x08052d63 8034e5c: 08052d63 .word 0x08052d63 8034e60: 08052d63 .word 0x08052d63 8034e64: 08052d63 .word 0x08052d63 8034e68: 08048f1b .word 0x08048f1b { case KEY_UP://TODO KEY UP switch(menu) 8034e6c: 4b77 ldr r3, [pc, #476] ; (803504c ) 8034e6e: 781b ldrb r3, [r3, #0] 8034e70: b2db uxtb r3, r3 8034e72: 2b47 cmp r3, #71 ; 0x47 8034e74: f21d 876a bhi.w 8052d4c 8034e78: a201 add r2, pc, #4 ; (adr r2, 8034e80 ) 8034e7a: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8034e7e: bf00 nop 8034e80: 08036743 .word 0x08036743 8034e84: 08036ebb .word 0x08036ebb 8034e88: 08036eeb .word 0x08036eeb 8034e8c: 0803bd4f .word 0x0803bd4f 8034e90: 0803af4d .word 0x0803af4d 8034e94: 08052d4d .word 0x08052d4d 8034e98: 08038327 .word 0x08038327 8034e9c: 08038cf9 .word 0x08038cf9 8034ea0: 0803a20f .word 0x0803a20f 8034ea4: 08052d4d .word 0x08052d4d 8034ea8: 0803b239 .word 0x0803b239 8034eac: 08052d4d .word 0x08052d4d 8034eb0: 08052d4d .word 0x08052d4d 8034eb4: 08037393 .word 0x08037393 8034eb8: 08036f41 .word 0x08036f41 8034ebc: 08034fa1 .word 0x08034fa1 8034ec0: 080352dd .word 0x080352dd 8034ec4: 08035303 .word 0x08035303 8034ec8: 0803b885 .word 0x0803b885 8034ecc: 08052d4d .word 0x08052d4d 8034ed0: 0803bc37 .word 0x0803bc37 8034ed4: 0803bc59 .word 0x0803bc59 8034ed8: 0803bcab .word 0x0803bcab 8034edc: 0803bcfd .word 0x0803bcfd 8034ee0: 0803bb1f .word 0x0803bb1f 8034ee4: 0803bbe5 .word 0x0803bbe5 8034ee8: 08052d4d .word 0x08052d4d 8034eec: 08052d4d .word 0x08052d4d 8034ef0: 080369a9 .word 0x080369a9 8034ef4: 0803692f .word 0x0803692f 8034ef8: 08052d4d .word 0x08052d4d 8034efc: 08036743 .word 0x08036743 8034f00: 08036d81 .word 0x08036d81 8034f04: 08036b9b .word 0x08036b9b 8034f08: 08036c3d .word 0x08036c3d 8034f0c: 08036cdf .word 0x08036cdf 8034f10: 08036ab1 .word 0x08036ab1 8034f14: 08036611 .word 0x08036611 8034f18: 0803664b .word 0x0803664b 8034f1c: 080365cd .word 0x080365cd 8034f20: 08036a4b .word 0x08036a4b 8034f24: 08036df1 .word 0x08036df1 8034f28: 0803bdc3 .word 0x0803bdc3 8034f2c: 08036e59 .word 0x08036e59 8034f30: 08036e59 .word 0x08036e59 8034f34: 08036e59 .word 0x08036e59 8034f38: 08052d4d .word 0x08052d4d 8034f3c: 08036e59 .word 0x08036e59 8034f40: 08036e59 .word 0x08036e59 8034f44: 08036e59 .word 0x08036e59 8034f48: 08036e59 .word 0x08036e59 8034f4c: 08036e59 .word 0x08036e59 8034f50: 0803bd9f .word 0x0803bd9f 8034f54: 08052d4d .word 0x08052d4d 8034f58: 08052d4d .word 0x08052d4d 8034f5c: 08052d4d .word 0x08052d4d 8034f60: 08052d4d .word 0x08052d4d 8034f64: 08052d4d .word 0x08052d4d 8034f68: 08052d4d .word 0x08052d4d 8034f6c: 08052d4d .word 0x08052d4d 8034f70: 08052d4d .word 0x08052d4d 8034f74: 08052d4d .word 0x08052d4d 8034f78: 08052d4d .word 0x08052d4d 8034f7c: 08052d4d .word 0x08052d4d 8034f80: 08052d4d .word 0x08052d4d 8034f84: 08052d4d .word 0x08052d4d 8034f88: 08052d4d .word 0x08052d4d 8034f8c: 08052d4d .word 0x08052d4d 8034f90: 08052d4d .word 0x08052d4d 8034f94: 080365f3 .word 0x080365f3 8034f98: 080365fd .word 0x080365fd 8034f9c: 08036607 .word 0x08036607 { case PARAM_DIAGN: focused = false; 8034fa0: 4b2d ldr r3, [pc, #180] ; (8035058 ) 8034fa2: 2200 movs r2, #0 8034fa4: 701a strb r2, [r3, #0] if(menupos == DiagUs) 8034fa6: 4b2d ldr r3, [pc, #180] ; (803505c ) 8034fa8: 781b ldrb r3, [r3, #0] 8034faa: b2db uxtb r3, r3 8034fac: 2b00 cmp r3, #0 8034fae: d104 bne.n 8034fba menupos = DiagSaveToFile; 8034fb0: 4b2a ldr r3, [pc, #168] ; (803505c ) 8034fb2: 2204 movs r2, #4 8034fb4: 701a strb r2, [r3, #0] pardata.MAX_VAL = (float32_t) k; pardata.MAX_VAL *= 0.1f; pardata.MAX_VAL += 0.05f; } break; 8034fb6: f006 bf07 b.w 803bdc8 if(menupos == DiagSaveToFile) 8034fba: 4b28 ldr r3, [pc, #160] ; (803505c ) 8034fbc: 781b ldrb r3, [r3, #0] 8034fbe: b2db uxtb r3, r3 8034fc0: 2b04 cmp r3, #4 8034fc2: d110 bne.n 8034fe6 if(pardata.OPTIONS & 0x4) 8034fc4: 4b26 ldr r3, [pc, #152] ; (8035060 ) 8034fc6: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8034fca: f003 0304 and.w r3, r3, #4 8034fce: 2b00 cmp r3, #0 8034fd0: d004 beq.n 8034fdc menupos = DiagAutoKu; 8034fd2: 4b22 ldr r3, [pc, #136] ; (803505c ) 8034fd4: 2202 movs r2, #2 8034fd6: 701a strb r2, [r3, #0] break; 8034fd8: f006 bef6 b.w 803bdc8 else menupos = DiagMax_ALL; 8034fdc: 4b1f ldr r3, [pc, #124] ; (803505c ) 8034fde: 2203 movs r2, #3 8034fe0: 701a strb r2, [r3, #0] break; 8034fe2: f006 bef1 b.w 803bdc8 if(menupos == DiagMax_ALL) 8034fe6: 4b1d ldr r3, [pc, #116] ; (803505c ) 8034fe8: 781b ldrb r3, [r3, #0] 8034fea: b2db uxtb r3, r3 8034fec: 2b03 cmp r3, #3 8034fee: d104 bne.n 8034ffa menupos = DiagAutoKu; 8034ff0: 4b1a ldr r3, [pc, #104] ; (803505c ) 8034ff2: 2202 movs r2, #2 8034ff4: 701a strb r2, [r3, #0] break; 8034ff6: f006 bee7 b.w 803bdc8 if(menupos == DiagAutoKu) 8034ffa: 4b18 ldr r3, [pc, #96] ; (803505c ) 8034ffc: 781b ldrb r3, [r3, #0] 8034ffe: b2db uxtb r3, r3 8035000: 2b02 cmp r3, #2 8035002: d104 bne.n 803500e menupos = DiagAverage; 8035004: 4b15 ldr r3, [pc, #84] ; (803505c ) 8035006: 2201 movs r2, #1 8035008: 701a strb r2, [r3, #0] break; 803500a: f006 bedd b.w 803bdc8 if(menupos == DiagAverage) 803500e: 4b13 ldr r3, [pc, #76] ; (803505c ) 8035010: 781b ldrb r3, [r3, #0] 8035012: b2db uxtb r3, r3 8035014: 2b01 cmp r3, #1 8035016: d125 bne.n 8035064 menupos = DiagUs; 8035018: 4b10 ldr r3, [pc, #64] ; (803505c ) 803501a: 2200 movs r2, #0 803501c: 701a strb r2, [r3, #0] break; 803501e: f006 bed3 b.w 803bdc8 8035022: bf00 nop 8035024: 20020f80 .word 0x20020f80 8035028: 200209c0 .word 0x200209c0 803502c: 200209c4 .word 0x200209c4 8035030: 20020dd2 .word 0x20020dd2 8035034: 2002168c .word 0x2002168c 8035038: 20020dcc .word 0x20020dcc 803503c: 20020dd5 .word 0x20020dd5 8035040: 20020dd4 .word 0x20020dd4 8035044: 20020dd6 .word 0x20020dd6 8035048: 20020dc8 .word 0x20020dc8 803504c: 20020f78 .word 0x20020f78 8035050: 20021b22 .word 0x20021b22 8035054: 20021b24 .word 0x20021b24 8035058: 20020f84 .word 0x20020f84 803505c: 20020070 .word 0x20020070 8035060: 20023e60 .word 0x20023e60 if((menupos >= DiagMax_IDT) && (menupos <= DiagMax_IKD)) 8035064: 4bbe ldr r3, [pc, #760] ; (8035360 ) 8035066: 781b ldrb r3, [r3, #0] 8035068: b2db uxtb r3, r3 803506a: 2b04 cmp r3, #4 803506c: f246 86ac bls.w 803bdc8 8035070: 4bbb ldr r3, [pc, #748] ; (8035360 ) 8035072: 781b ldrb r3, [r3, #0] 8035074: b2db uxtb r3, r3 8035076: 2b0a cmp r3, #10 8035078: f206 86a6 bhi.w 803bdc8 k = (uint32_t) (pardata.MAX_VAL * 10.0f); 803507c: 4bb9 ldr r3, [pc, #740] ; (8035364 ) 803507e: edd3 7a06 vldr s15, [r3, #24] 8035082: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 8035086: ee67 7a87 vmul.f32 s15, s15, s14 803508a: eefc 7ae7 vcvt.u32.f32 s15, s15 803508e: ee17 3a90 vmov r3, s15 8035092: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 8035096: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803509a: 095b lsrs r3, r3, #5 803509c: 4ab2 ldr r2, [pc, #712] ; (8035368 ) 803509e: fba2 2303 umull r2, r3, r2, r3 80350a2: 09db lsrs r3, r3, #7 80350a4: b2db uxtb r3, r3 80350a6: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 80350aa: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80350ae: 0953 lsrs r3, r2, #5 80350b0: 49ad ldr r1, [pc, #692] ; (8035368 ) 80350b2: fba1 1303 umull r1, r3, r1, r3 80350b6: 09db lsrs r3, r3, #7 80350b8: 49ac ldr r1, [pc, #688] ; (803536c ) 80350ba: fb01 f303 mul.w r3, r1, r3 80350be: 1ad3 subs r3, r2, r3 80350c0: 4aab ldr r2, [pc, #684] ; (8035370 ) 80350c2: fba2 2303 umull r2, r3, r2, r3 80350c6: 0b5b lsrs r3, r3, #13 80350c8: b2db uxtb r3, r3 80350ca: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 80350ce: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80350d2: 0953 lsrs r3, r2, #5 80350d4: 49a4 ldr r1, [pc, #656] ; (8035368 ) 80350d6: fba1 1303 umull r1, r3, r1, r3 80350da: 09db lsrs r3, r3, #7 80350dc: 49a3 ldr r1, [pc, #652] ; (803536c ) 80350de: fb01 f303 mul.w r3, r1, r3 80350e2: 1ad3 subs r3, r2, r3 80350e4: 4aa2 ldr r2, [pc, #648] ; (8035370 ) 80350e6: fba2 1203 umull r1, r2, r2, r3 80350ea: 0b52 lsrs r2, r2, #13 80350ec: f242 7110 movw r1, #10000 ; 0x2710 80350f0: fb01 f202 mul.w r2, r1, r2 80350f4: 1a9a subs r2, r3, r2 80350f6: 4b9f ldr r3, [pc, #636] ; (8035374 ) 80350f8: fba3 2302 umull r2, r3, r3, r2 80350fc: 099b lsrs r3, r3, #6 80350fe: b2db uxtb r3, r3 8035100: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 8035104: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8035108: 095a lsrs r2, r3, #5 803510a: 4997 ldr r1, [pc, #604] ; (8035368 ) 803510c: fba1 1202 umull r1, r2, r1, r2 8035110: 09d2 lsrs r2, r2, #7 8035112: 4996 ldr r1, [pc, #600] ; (803536c ) 8035114: fb01 f202 mul.w r2, r1, r2 8035118: 1a9a subs r2, r3, r2 803511a: 4b95 ldr r3, [pc, #596] ; (8035370 ) 803511c: fba3 1302 umull r1, r3, r3, r2 8035120: 0b5b lsrs r3, r3, #13 8035122: f242 7110 movw r1, #10000 ; 0x2710 8035126: fb01 f303 mul.w r3, r1, r3 803512a: 1ad3 subs r3, r2, r3 803512c: 4a91 ldr r2, [pc, #580] ; (8035374 ) 803512e: fba2 1203 umull r1, r2, r2, r3 8035132: 0992 lsrs r2, r2, #6 8035134: f44f 717a mov.w r1, #1000 ; 0x3e8 8035138: fb01 f202 mul.w r2, r1, r2 803513c: 1a9a subs r2, r3, r2 803513e: 4b8e ldr r3, [pc, #568] ; (8035378 ) 8035140: fba3 2302 umull r2, r3, r3, r2 8035144: 095b lsrs r3, r3, #5 8035146: b2db uxtb r3, r3 8035148: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 803514c: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8035150: 0953 lsrs r3, r2, #5 8035152: 4985 ldr r1, [pc, #532] ; (8035368 ) 8035154: fba1 1303 umull r1, r3, r1, r3 8035158: 09db lsrs r3, r3, #7 803515a: 4984 ldr r1, [pc, #528] ; (803536c ) 803515c: fb01 f303 mul.w r3, r1, r3 8035160: 1ad3 subs r3, r2, r3 8035162: 4a83 ldr r2, [pc, #524] ; (8035370 ) 8035164: fba2 1203 umull r1, r2, r2, r3 8035168: 0b52 lsrs r2, r2, #13 803516a: f242 7110 movw r1, #10000 ; 0x2710 803516e: fb01 f202 mul.w r2, r1, r2 8035172: 1a9a subs r2, r3, r2 8035174: 4b7f ldr r3, [pc, #508] ; (8035374 ) 8035176: fba3 1302 umull r1, r3, r3, r2 803517a: 099b lsrs r3, r3, #6 803517c: f44f 717a mov.w r1, #1000 ; 0x3e8 8035180: fb01 f303 mul.w r3, r1, r3 8035184: 1ad3 subs r3, r2, r3 8035186: 4a7c ldr r2, [pc, #496] ; (8035378 ) 8035188: fba2 1203 umull r1, r2, r2, r3 803518c: 0952 lsrs r2, r2, #5 803518e: 2164 movs r1, #100 ; 0x64 8035190: fb01 f202 mul.w r2, r1, r2 8035194: 1a9a subs r2, r3, r2 8035196: 4b79 ldr r3, [pc, #484] ; (803537c ) 8035198: fba3 2302 umull r2, r3, r3, r2 803519c: 08db lsrs r3, r3, #3 803519e: b2db uxtb r3, r3 80351a0: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 80351a4: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80351a8: 0953 lsrs r3, r2, #5 80351aa: 496f ldr r1, [pc, #444] ; (8035368 ) 80351ac: fba1 1303 umull r1, r3, r1, r3 80351b0: 09db lsrs r3, r3, #7 80351b2: 496e ldr r1, [pc, #440] ; (803536c ) 80351b4: fb01 f303 mul.w r3, r1, r3 80351b8: 1ad3 subs r3, r2, r3 80351ba: 4a6d ldr r2, [pc, #436] ; (8035370 ) 80351bc: fba2 1203 umull r1, r2, r2, r3 80351c0: 0b52 lsrs r2, r2, #13 80351c2: f242 7110 movw r1, #10000 ; 0x2710 80351c6: fb01 f202 mul.w r2, r1, r2 80351ca: 1a9a subs r2, r3, r2 80351cc: 4b69 ldr r3, [pc, #420] ; (8035374 ) 80351ce: fba3 1302 umull r1, r3, r3, r2 80351d2: 099b lsrs r3, r3, #6 80351d4: f44f 717a mov.w r1, #1000 ; 0x3e8 80351d8: fb01 f303 mul.w r3, r1, r3 80351dc: 1ad3 subs r3, r2, r3 80351de: 4a66 ldr r2, [pc, #408] ; (8035378 ) 80351e0: fba2 1203 umull r1, r2, r2, r3 80351e4: 0952 lsrs r2, r2, #5 80351e6: 2164 movs r1, #100 ; 0x64 80351e8: fb01 f202 mul.w r2, r1, r2 80351ec: 1a9a subs r2, r3, r2 80351ee: 4b63 ldr r3, [pc, #396] ; (803537c ) 80351f0: fba3 1302 umull r1, r3, r3, r2 80351f4: 08d9 lsrs r1, r3, #3 80351f6: 460b mov r3, r1 80351f8: 009b lsls r3, r3, #2 80351fa: 440b add r3, r1 80351fc: 005b lsls r3, r3, #1 80351fe: 1ad1 subs r1, r2, r3 8035200: b2cb uxtb r3, r1 8035202: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 8035206: 4b56 ldr r3, [pc, #344] ; (8035360 ) 8035208: 781b ldrb r3, [r3, #0] 803520a: b2db uxtb r3, r3 803520c: 3b05 subs r3, #5 803520e: 2b05 cmp r3, #5 8035210: d836 bhi.n 8035280 8035212: a201 add r2, pc, #4 ; (adr r2, 8035218 ) 8035214: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8035218: 08035231 .word 0x08035231 803521c: 0803523f .word 0x0803523f 8035220: 0803524f .word 0x0803524f 8035224: 0803525d .word 0x0803525d 8035228: 08035269 .word 0x08035269 803522c: 08035275 .word 0x08035275 k += 100000; 8035230: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8035234: 4b4d ldr r3, [pc, #308] ; (803536c ) 8035236: 4413 add r3, r2 8035238: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803523c: e020 b.n 8035280 k += 10000; 803523e: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8035242: f242 7310 movw r3, #10000 ; 0x2710 8035246: 4413 add r3, r2 8035248: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803524c: e018 b.n 8035280 k += 1000; 803524e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8035252: f503 737a add.w r3, r3, #1000 ; 0x3e8 8035256: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803525a: e011 b.n 8035280 k += 100; 803525c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8035260: 3364 adds r3, #100 ; 0x64 8035262: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8035266: e00b b.n 8035280 k += 10; 8035268: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803526c: 330a adds r3, #10 803526e: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8035272: e005 b.n 8035280 k++; 8035274: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8035278: 3301 adds r3, #1 803527a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803527e: bf00 nop if(k > 999999) k = 999999; 8035280: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8035284: 4a3e ldr r2, [pc, #248] ; (8035380 ) 8035286: 4293 cmp r3, r2 8035288: d902 bls.n 8035290 803528a: 4b3d ldr r3, [pc, #244] ; (8035380 ) 803528c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 if(k == 0) k = 1; 8035290: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8035294: 2b00 cmp r3, #0 8035296: d102 bne.n 803529e 8035298: 2301 movs r3, #1 803529a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.MAX_VAL = (float32_t) k; 803529e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80352a2: ee07 3a90 vmov s15, r3 80352a6: eef8 7a67 vcvt.f32.u32 s15, s15 80352aa: 4b2e ldr r3, [pc, #184] ; (8035364 ) 80352ac: edc3 7a06 vstr s15, [r3, #24] pardata.MAX_VAL *= 0.1f; 80352b0: 4b2c ldr r3, [pc, #176] ; (8035364 ) 80352b2: edd3 7a06 vldr s15, [r3, #24] 80352b6: ed9f 7a33 vldr s14, [pc, #204] ; 8035384 80352ba: ee67 7a87 vmul.f32 s15, s15, s14 80352be: 4b29 ldr r3, [pc, #164] ; (8035364 ) 80352c0: edc3 7a06 vstr s15, [r3, #24] pardata.MAX_VAL += 0.05f; 80352c4: 4b27 ldr r3, [pc, #156] ; (8035364 ) 80352c6: edd3 7a06 vldr s15, [r3, #24] 80352ca: ed9f 7a2f vldr s14, [pc, #188] ; 8035388 80352ce: ee77 7a87 vadd.f32 s15, s15, s14 80352d2: 4b24 ldr r3, [pc, #144] ; (8035364 ) 80352d4: edc3 7a06 vstr s15, [r3, #24] break; 80352d8: f006 bd76 b.w 803bdc8 case PARAM_DIAGN_1: if(menupos > Diag1) menupos--; 80352dc: 4b20 ldr r3, [pc, #128] ; (8035360 ) 80352de: 781b ldrb r3, [r3, #0] 80352e0: b2db uxtb r3, r3 80352e2: 2b00 cmp r3, #0 80352e4: d008 beq.n 80352f8 80352e6: 4b1e ldr r3, [pc, #120] ; (8035360 ) 80352e8: 781b ldrb r3, [r3, #0] 80352ea: b2db uxtb r3, r3 80352ec: 3b01 subs r3, #1 80352ee: b2da uxtb r2, r3 80352f0: 4b1b ldr r3, [pc, #108] ; (8035360 ) 80352f2: 701a strb r2, [r3, #0] else menupos = Diag8; break; 80352f4: f006 bdb1 b.w 803be5a else menupos = Diag8; 80352f8: 4b19 ldr r3, [pc, #100] ; (8035360 ) 80352fa: 2207 movs r2, #7 80352fc: 701a strb r2, [r3, #0] break; 80352fe: f006 bdac b.w 803be5a case PARAM_DIAGN_2: focused = false; 8035302: 4b22 ldr r3, [pc, #136] ; (803538c ) 8035304: 2200 movs r2, #0 8035306: 701a strb r2, [r3, #0] if((menupos >= DiagUs1) && (menupos <= DiagOp1)) 8035308: 4b15 ldr r3, [pc, #84] ; (8035360 ) 803530a: 781b ldrb r3, [r3, #0] 803530c: b2db uxtb r3, r3 803530e: 2b00 cmp r3, #0 8035310: d042 beq.n 8035398 8035312: 4b13 ldr r3, [pc, #76] ; (8035360 ) 8035314: 781b ldrb r3, [r3, #0] 8035316: b2db uxtb r3, r3 8035318: 2b02 cmp r3, #2 803531a: d83d bhi.n 8035398 { CURR_USL = Us1; 803531c: 4b1c ldr r3, [pc, #112] ; (8035390 ) 803531e: 2200 movs r2, #0 8035320: 701a strb r2, [r3, #0] if(pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7) 8035322: 4b1c ldr r3, [pc, #112] ; (8035394 ) 8035324: 781b ldrb r3, [r3, #0] 8035326: b2db uxtb r3, r3 8035328: 4618 mov r0, r3 803532a: 4b19 ldr r3, [pc, #100] ; (8035390 ) 803532c: 781b ldrb r3, [r3, #0] 803532e: b2db uxtb r3, r3 8035330: 4619 mov r1, r3 8035332: 4a0c ldr r2, [pc, #48] ; (8035364 ) 8035334: 0083 lsls r3, r0, #2 8035336: 4413 add r3, r2 8035338: 440b add r3, r1 803533a: f503 730f add.w r3, r3, #572 ; 0x23c 803533e: 781b ldrb r3, [r3, #0] 8035340: b2db uxtb r3, r3 8035342: f003 0307 and.w r3, r3, #7 8035346: 2b00 cmp r3, #0 8035348: d004 beq.n 8035354 menupos = Diag_A; 803534a: 4b05 ldr r3, [pc, #20] ; (8035360 ) 803534c: 220c movs r2, #12 803534e: 701a strb r2, [r3, #0] if(pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7) 8035350: f001 b93a b.w 80365c8 else menupos = DiagName; 8035354: 4b02 ldr r3, [pc, #8] ; (8035360 ) 8035356: 2206 movs r2, #6 8035358: 701a strb r2, [r3, #0] if(pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7) 803535a: f001 b935 b.w 80365c8 803535e: bf00 nop 8035360: 20020070 .word 0x20020070 8035364: 20023e60 .word 0x20023e60 8035368: 0a7c5ac5 .word 0x0a7c5ac5 803536c: 000186a0 .word 0x000186a0 8035370: d1b71759 .word 0xd1b71759 8035374: 10624dd3 .word 0x10624dd3 8035378: 51eb851f .word 0x51eb851f 803537c: cccccccd .word 0xcccccccd 8035380: 000f423f .word 0x000f423f 8035384: 3dcccccd .word 0x3dcccccd 8035388: 3d4ccccd .word 0x3d4ccccd 803538c: 20020f84 .word 0x20020f84 8035390: 20021013 .word 0x20021013 8035394: 20021011 .word 0x20021011 } else if((menupos >= DiagUs2) && (menupos <= DiagOp2)) 8035398: 4b5d ldr r3, [pc, #372] ; (8035510 ) 803539a: 781b ldrb r3, [r3, #0] 803539c: b2db uxtb r3, r3 803539e: 2b02 cmp r3, #2 80353a0: d925 bls.n 80353ee 80353a2: 4b5b ldr r3, [pc, #364] ; (8035510 ) 80353a4: 781b ldrb r3, [r3, #0] 80353a6: b2db uxtb r3, r3 80353a8: 2b04 cmp r3, #4 80353aa: d820 bhi.n 80353ee { CURR_USL = Us2; 80353ac: 4b59 ldr r3, [pc, #356] ; (8035514 ) 80353ae: 2201 movs r2, #1 80353b0: 701a strb r2, [r3, #0] if(pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7) 80353b2: 4b59 ldr r3, [pc, #356] ; (8035518 ) 80353b4: 781b ldrb r3, [r3, #0] 80353b6: b2db uxtb r3, r3 80353b8: 4618 mov r0, r3 80353ba: 4b56 ldr r3, [pc, #344] ; (8035514 ) 80353bc: 781b ldrb r3, [r3, #0] 80353be: b2db uxtb r3, r3 80353c0: 4619 mov r1, r3 80353c2: 4a56 ldr r2, [pc, #344] ; (803551c ) 80353c4: 0083 lsls r3, r0, #2 80353c6: 4413 add r3, r2 80353c8: 440b add r3, r1 80353ca: f503 730f add.w r3, r3, #572 ; 0x23c 80353ce: 781b ldrb r3, [r3, #0] 80353d0: b2db uxtb r3, r3 80353d2: f003 0307 and.w r3, r3, #7 80353d6: 2b00 cmp r3, #0 80353d8: d004 beq.n 80353e4 menupos = Diag_A; 80353da: 4b4d ldr r3, [pc, #308] ; (8035510 ) 80353dc: 220c movs r2, #12 80353de: 701a strb r2, [r3, #0] if(pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7) 80353e0: f001 b8f2 b.w 80365c8 else menupos = DiagName; 80353e4: 4b4a ldr r3, [pc, #296] ; (8035510 ) 80353e6: 2206 movs r2, #6 80353e8: 701a strb r2, [r3, #0] if(pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7) 80353ea: f001 b8ed b.w 80365c8 } else if(menupos == DiagUs3) 80353ee: 4b48 ldr r3, [pc, #288] ; (8035510 ) 80353f0: 781b ldrb r3, [r3, #0] 80353f2: b2db uxtb r3, r3 80353f4: 2b05 cmp r3, #5 80353f6: d120 bne.n 803543a { CURR_USL = Us3; 80353f8: 4b46 ldr r3, [pc, #280] ; (8035514 ) 80353fa: 2202 movs r2, #2 80353fc: 701a strb r2, [r3, #0] if(pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7) 80353fe: 4b46 ldr r3, [pc, #280] ; (8035518 ) 8035400: 781b ldrb r3, [r3, #0] 8035402: b2db uxtb r3, r3 8035404: 4618 mov r0, r3 8035406: 4b43 ldr r3, [pc, #268] ; (8035514 ) 8035408: 781b ldrb r3, [r3, #0] 803540a: b2db uxtb r3, r3 803540c: 4619 mov r1, r3 803540e: 4a43 ldr r2, [pc, #268] ; (803551c ) 8035410: 0083 lsls r3, r0, #2 8035412: 4413 add r3, r2 8035414: 440b add r3, r1 8035416: f503 730f add.w r3, r3, #572 ; 0x23c 803541a: 781b ldrb r3, [r3, #0] 803541c: b2db uxtb r3, r3 803541e: f003 0307 and.w r3, r3, #7 8035422: 2b00 cmp r3, #0 8035424: d004 beq.n 8035430 menupos = Diag_A; 8035426: 4b3a ldr r3, [pc, #232] ; (8035510 ) 8035428: 220c movs r2, #12 803542a: 701a strb r2, [r3, #0] if(k == 0) k = 1; pardata.DIAGN_A[CURR_POINT][CURR_USL] = (float32_t) k; pardata.DIAGN_A[CURR_POINT][CURR_USL] *= 0.1f; pardata.DIAGN_A[CURR_POINT][CURR_USL] += 0.05f; } break; 803542c: f006 bccf b.w 803bdce else menupos = DiagName; 8035430: 4b37 ldr r3, [pc, #220] ; (8035510 ) 8035432: 2206 movs r2, #6 8035434: 701a strb r2, [r3, #0] break; 8035436: f006 bcca b.w 803bdce if(menupos == Diag_A) 803543a: 4b35 ldr r3, [pc, #212] ; (8035510 ) 803543c: 781b ldrb r3, [r3, #0] 803543e: b2db uxtb r3, r3 8035440: 2b0c cmp r3, #12 8035442: d104 bne.n 803544e menupos = Diag_W; 8035444: 4b32 ldr r3, [pc, #200] ; (8035510 ) 8035446: 220b movs r2, #11 8035448: 701a strb r2, [r3, #0] break; 803544a: f006 bcc0 b.w 803bdce if(menupos == Diag_W) 803544e: 4b30 ldr r3, [pc, #192] ; (8035510 ) 8035450: 781b ldrb r3, [r3, #0] 8035452: b2db uxtb r3, r3 8035454: 2b0b cmp r3, #11 8035456: d104 bne.n 8035462 menupos = DiagLP; 8035458: 4b2d ldr r3, [pc, #180] ; (8035510 ) 803545a: 220a movs r2, #10 803545c: 701a strb r2, [r3, #0] break; 803545e: f006 bcb6 b.w 803bdce if(menupos == DiagLP) 8035462: 4b2b ldr r3, [pc, #172] ; (8035510 ) 8035464: 781b ldrb r3, [r3, #0] 8035466: b2db uxtb r3, r3 8035468: 2b0a cmp r3, #10 803546a: d104 bne.n 8035476 menupos = DiagHP; 803546c: 4b28 ldr r3, [pc, #160] ; (8035510 ) 803546e: 2209 movs r2, #9 8035470: 701a strb r2, [r3, #0] break; 8035472: f006 bcac b.w 803bdce if(menupos == DiagHP) 8035476: 4b26 ldr r3, [pc, #152] ; (8035510 ) 8035478: 781b ldrb r3, [r3, #0] 803547a: b2db uxtb r3, r3 803547c: 2b09 cmp r3, #9 803547e: d104 bne.n 803548a menupos = DiagValue; 8035480: 4b23 ldr r3, [pc, #140] ; (8035510 ) 8035482: 2208 movs r2, #8 8035484: 701a strb r2, [r3, #0] break; 8035486: f006 bca2 b.w 803bdce if(menupos == DiagValue) 803548a: 4b21 ldr r3, [pc, #132] ; (8035510 ) 803548c: 781b ldrb r3, [r3, #0] 803548e: b2db uxtb r3, r3 8035490: 2b08 cmp r3, #8 8035492: d104 bne.n 803549e menupos = DiagAVS; 8035494: 4b1e ldr r3, [pc, #120] ; (8035510 ) 8035496: 2207 movs r2, #7 8035498: 701a strb r2, [r3, #0] break; 803549a: f006 bc98 b.w 803bdce if(menupos == DiagAVS) 803549e: 4b1c ldr r3, [pc, #112] ; (8035510 ) 80354a0: 781b ldrb r3, [r3, #0] 80354a2: b2db uxtb r3, r3 80354a4: 2b07 cmp r3, #7 80354a6: d104 bne.n 80354b2 menupos = DiagName; 80354a8: 4b19 ldr r3, [pc, #100] ; (8035510 ) 80354aa: 2206 movs r2, #6 80354ac: 701a strb r2, [r3, #0] break; 80354ae: f006 bc8e b.w 803bdce if(menupos == DiagName) 80354b2: 4b17 ldr r3, [pc, #92] ; (8035510 ) 80354b4: 781b ldrb r3, [r3, #0] 80354b6: b2db uxtb r3, r3 80354b8: 2b06 cmp r3, #6 80354ba: d104 bne.n 80354c6 menupos = Ok; 80354bc: 4b14 ldr r3, [pc, #80] ; (8035510 ) 80354be: 2200 movs r2, #0 80354c0: 701a strb r2, [r3, #0] break; 80354c2: f006 bc84 b.w 803bdce if(menupos == Ok) 80354c6: 4b12 ldr r3, [pc, #72] ; (8035510 ) 80354c8: 781b ldrb r3, [r3, #0] 80354ca: b2db uxtb r3, r3 80354cc: 2b00 cmp r3, #0 80354ce: d127 bne.n 8035520 if(CURR_USL == Us1) 80354d0: 4b10 ldr r3, [pc, #64] ; (8035514 ) 80354d2: 781b ldrb r3, [r3, #0] 80354d4: b2db uxtb r3, r3 80354d6: 2b00 cmp r3, #0 80354d8: d104 bne.n 80354e4 menupos = DiagUs1; 80354da: 4b0d ldr r3, [pc, #52] ; (8035510 ) 80354dc: 2201 movs r2, #1 80354de: 701a strb r2, [r3, #0] break; 80354e0: f006 bc75 b.w 803bdce if(CURR_USL == Us2) 80354e4: 4b0b ldr r3, [pc, #44] ; (8035514 ) 80354e6: 781b ldrb r3, [r3, #0] 80354e8: b2db uxtb r3, r3 80354ea: 2b01 cmp r3, #1 80354ec: d104 bne.n 80354f8 menupos = DiagUs2; 80354ee: 4b08 ldr r3, [pc, #32] ; (8035510 ) 80354f0: 2203 movs r2, #3 80354f2: 701a strb r2, [r3, #0] break; 80354f4: f006 bc6b b.w 803bdce if(CURR_USL == Us3) 80354f8: 4b06 ldr r3, [pc, #24] ; (8035514 ) 80354fa: 781b ldrb r3, [r3, #0] 80354fc: b2db uxtb r3, r3 80354fe: 2b02 cmp r3, #2 8035500: f046 8465 bne.w 803bdce menupos = DiagUs3; 8035504: 4b02 ldr r3, [pc, #8] ; (8035510 ) 8035506: 2205 movs r2, #5 8035508: 701a strb r2, [r3, #0] break; 803550a: f006 bc60 b.w 803bdce 803550e: bf00 nop 8035510: 20020070 .word 0x20020070 8035514: 20021013 .word 0x20021013 8035518: 20021011 .word 0x20021011 803551c: 20023e60 .word 0x20023e60 if((menupos >= DiagHP_IDT) && (menupos <= DiagHP_IKD)) 8035520: 4bcf ldr r3, [pc, #828] ; (8035860 ) 8035522: 781b ldrb r3, [r3, #0] 8035524: b2db uxtb r3, r3 8035526: 2b0c cmp r3, #12 8035528: f240 82c6 bls.w 8035ab8 803552c: 4bcc ldr r3, [pc, #816] ; (8035860 ) 803552e: 781b ldrb r3, [r3, #0] 8035530: b2db uxtb r3, r3 8035532: 2b12 cmp r3, #18 8035534: f200 82c0 bhi.w 8035ab8 k = (uint32_t) (pardata.DIAGN_HP[CURR_POINT][CURR_USL] * 10.0f); 8035538: 4bca ldr r3, [pc, #808] ; (8035864 ) 803553a: 781b ldrb r3, [r3, #0] 803553c: b2db uxtb r3, r3 803553e: 4618 mov r0, r3 8035540: 4bc9 ldr r3, [pc, #804] ; (8035868 ) 8035542: 781b ldrb r3, [r3, #0] 8035544: b2db uxtb r3, r3 8035546: 4619 mov r1, r3 8035548: 4ac8 ldr r2, [pc, #800] ; (803586c ) 803554a: 0083 lsls r3, r0, #2 803554c: 440b add r3, r1 803554e: 3396 adds r3, #150 ; 0x96 8035550: 009b lsls r3, r3, #2 8035552: 4413 add r3, r2 8035554: 3304 adds r3, #4 8035556: edd3 7a00 vldr s15, [r3] 803555a: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 803555e: ee67 7a87 vmul.f32 s15, s15, s14 8035562: eefc 7ae7 vcvt.u32.f32 s15, s15 8035566: ee17 3a90 vmov r3, s15 803556a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 803556e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8035572: 095b lsrs r3, r3, #5 8035574: 4abe ldr r2, [pc, #760] ; (8035870 ) 8035576: fba2 2303 umull r2, r3, r2, r3 803557a: 09db lsrs r3, r3, #7 803557c: b2db uxtb r3, r3 803557e: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 8035582: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8035586: 0953 lsrs r3, r2, #5 8035588: 49b9 ldr r1, [pc, #740] ; (8035870 ) 803558a: fba1 1303 umull r1, r3, r1, r3 803558e: 09db lsrs r3, r3, #7 8035590: 49b8 ldr r1, [pc, #736] ; (8035874 ) 8035592: fb01 f303 mul.w r3, r1, r3 8035596: 1ad3 subs r3, r2, r3 8035598: 4ab7 ldr r2, [pc, #732] ; (8035878 ) 803559a: fba2 2303 umull r2, r3, r2, r3 803559e: 0b5b lsrs r3, r3, #13 80355a0: b2db uxtb r3, r3 80355a2: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 80355a6: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80355aa: 0953 lsrs r3, r2, #5 80355ac: 49b0 ldr r1, [pc, #704] ; (8035870 ) 80355ae: fba1 1303 umull r1, r3, r1, r3 80355b2: 09db lsrs r3, r3, #7 80355b4: 49af ldr r1, [pc, #700] ; (8035874 ) 80355b6: fb01 f303 mul.w r3, r1, r3 80355ba: 1ad3 subs r3, r2, r3 80355bc: 4aae ldr r2, [pc, #696] ; (8035878 ) 80355be: fba2 1203 umull r1, r2, r2, r3 80355c2: 0b52 lsrs r2, r2, #13 80355c4: f242 7110 movw r1, #10000 ; 0x2710 80355c8: fb01 f202 mul.w r2, r1, r2 80355cc: 1a9a subs r2, r3, r2 80355ce: 4bab ldr r3, [pc, #684] ; (803587c ) 80355d0: fba3 2302 umull r2, r3, r3, r2 80355d4: 099b lsrs r3, r3, #6 80355d6: b2db uxtb r3, r3 80355d8: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 80355dc: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80355e0: 095a lsrs r2, r3, #5 80355e2: 49a3 ldr r1, [pc, #652] ; (8035870 ) 80355e4: fba1 1202 umull r1, r2, r1, r2 80355e8: 09d2 lsrs r2, r2, #7 80355ea: 49a2 ldr r1, [pc, #648] ; (8035874 ) 80355ec: fb01 f202 mul.w r2, r1, r2 80355f0: 1a9a subs r2, r3, r2 80355f2: 4ba1 ldr r3, [pc, #644] ; (8035878 ) 80355f4: fba3 1302 umull r1, r3, r3, r2 80355f8: 0b5b lsrs r3, r3, #13 80355fa: f242 7110 movw r1, #10000 ; 0x2710 80355fe: fb01 f303 mul.w r3, r1, r3 8035602: 1ad3 subs r3, r2, r3 8035604: 4a9d ldr r2, [pc, #628] ; (803587c ) 8035606: fba2 1203 umull r1, r2, r2, r3 803560a: 0992 lsrs r2, r2, #6 803560c: f44f 717a mov.w r1, #1000 ; 0x3e8 8035610: fb01 f202 mul.w r2, r1, r2 8035614: 1a9a subs r2, r3, r2 8035616: 4b9a ldr r3, [pc, #616] ; (8035880 ) 8035618: fba3 2302 umull r2, r3, r3, r2 803561c: 095b lsrs r3, r3, #5 803561e: b2db uxtb r3, r3 8035620: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 8035624: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8035628: 0953 lsrs r3, r2, #5 803562a: 4991 ldr r1, [pc, #580] ; (8035870 ) 803562c: fba1 1303 umull r1, r3, r1, r3 8035630: 09db lsrs r3, r3, #7 8035632: 4990 ldr r1, [pc, #576] ; (8035874 ) 8035634: fb01 f303 mul.w r3, r1, r3 8035638: 1ad3 subs r3, r2, r3 803563a: 4a8f ldr r2, [pc, #572] ; (8035878 ) 803563c: fba2 1203 umull r1, r2, r2, r3 8035640: 0b52 lsrs r2, r2, #13 8035642: f242 7110 movw r1, #10000 ; 0x2710 8035646: fb01 f202 mul.w r2, r1, r2 803564a: 1a9a subs r2, r3, r2 803564c: 4b8b ldr r3, [pc, #556] ; (803587c ) 803564e: fba3 1302 umull r1, r3, r3, r2 8035652: 099b lsrs r3, r3, #6 8035654: f44f 717a mov.w r1, #1000 ; 0x3e8 8035658: fb01 f303 mul.w r3, r1, r3 803565c: 1ad3 subs r3, r2, r3 803565e: 4a88 ldr r2, [pc, #544] ; (8035880 ) 8035660: fba2 1203 umull r1, r2, r2, r3 8035664: 0952 lsrs r2, r2, #5 8035666: 2164 movs r1, #100 ; 0x64 8035668: fb01 f202 mul.w r2, r1, r2 803566c: 1a9a subs r2, r3, r2 803566e: 4b85 ldr r3, [pc, #532] ; (8035884 ) 8035670: fba3 2302 umull r2, r3, r3, r2 8035674: 08db lsrs r3, r3, #3 8035676: b2db uxtb r3, r3 8035678: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 803567c: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8035680: 0953 lsrs r3, r2, #5 8035682: 497b ldr r1, [pc, #492] ; (8035870 ) 8035684: fba1 1303 umull r1, r3, r1, r3 8035688: 09db lsrs r3, r3, #7 803568a: 497a ldr r1, [pc, #488] ; (8035874 ) 803568c: fb01 f303 mul.w r3, r1, r3 8035690: 1ad3 subs r3, r2, r3 8035692: 4a79 ldr r2, [pc, #484] ; (8035878 ) 8035694: fba2 1203 umull r1, r2, r2, r3 8035698: 0b52 lsrs r2, r2, #13 803569a: f242 7110 movw r1, #10000 ; 0x2710 803569e: fb01 f202 mul.w r2, r1, r2 80356a2: 1a9a subs r2, r3, r2 80356a4: 4b75 ldr r3, [pc, #468] ; (803587c ) 80356a6: fba3 1302 umull r1, r3, r3, r2 80356aa: 099b lsrs r3, r3, #6 80356ac: f44f 717a mov.w r1, #1000 ; 0x3e8 80356b0: fb01 f303 mul.w r3, r1, r3 80356b4: 1ad3 subs r3, r2, r3 80356b6: 4a72 ldr r2, [pc, #456] ; (8035880 ) 80356b8: fba2 1203 umull r1, r2, r2, r3 80356bc: 0952 lsrs r2, r2, #5 80356be: 2164 movs r1, #100 ; 0x64 80356c0: fb01 f202 mul.w r2, r1, r2 80356c4: 1a9a subs r2, r3, r2 80356c6: 4b6f ldr r3, [pc, #444] ; (8035884 ) 80356c8: fba3 1302 umull r1, r3, r3, r2 80356cc: 08d9 lsrs r1, r3, #3 80356ce: 460b mov r3, r1 80356d0: 009b lsls r3, r3, #2 80356d2: 440b add r3, r1 80356d4: 005b lsls r3, r3, #1 80356d6: 1ad1 subs r1, r2, r3 80356d8: b2cb uxtb r3, r1 80356da: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 80356de: 4b60 ldr r3, [pc, #384] ; (8035860 ) 80356e0: 781b ldrb r3, [r3, #0] 80356e2: b2db uxtb r3, r3 80356e4: 3b0d subs r3, #13 80356e6: 2b05 cmp r3, #5 80356e8: d836 bhi.n 8035758 80356ea: a201 add r2, pc, #4 ; (adr r2, 80356f0 ) 80356ec: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80356f0: 08035709 .word 0x08035709 80356f4: 08035717 .word 0x08035717 80356f8: 08035727 .word 0x08035727 80356fc: 08035735 .word 0x08035735 8035700: 08035741 .word 0x08035741 8035704: 0803574d .word 0x0803574d k += 100000; 8035708: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803570c: 4b59 ldr r3, [pc, #356] ; (8035874 ) 803570e: 4413 add r3, r2 8035710: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8035714: e020 b.n 8035758 k += 10000; 8035716: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803571a: f242 7310 movw r3, #10000 ; 0x2710 803571e: 4413 add r3, r2 8035720: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8035724: e018 b.n 8035758 k += 1000; 8035726: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803572a: f503 737a add.w r3, r3, #1000 ; 0x3e8 803572e: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8035732: e011 b.n 8035758 k += 100; 8035734: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8035738: 3364 adds r3, #100 ; 0x64 803573a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803573e: e00b b.n 8035758 k += 10; 8035740: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8035744: 330a adds r3, #10 8035746: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803574a: e005 b.n 8035758 k++; 803574c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8035750: 3301 adds r3, #1 8035752: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8035756: bf00 nop fl = (float32_t) k; 8035758: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803575c: ee07 3a90 vmov s15, r3 8035760: eef8 7a67 vcvt.f32.u32 s15, s15 8035764: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl *= 0.1f; 8035768: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 803576c: ed9f 7a46 vldr s14, [pc, #280] ; 8035888 8035770: ee67 7a87 vmul.f32 s15, s15, s14 8035774: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl += 0.0001f; 8035778: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 803577c: ed9f 7a43 vldr s14, [pc, #268] ; 803588c 8035780: ee77 7a87 vadd.f32 s15, s15, s14 8035784: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 if((pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7) == DIAGN_ACC) 8035788: 4b36 ldr r3, [pc, #216] ; (8035864 ) 803578a: 781b ldrb r3, [r3, #0] 803578c: b2db uxtb r3, r3 803578e: 4618 mov r0, r3 8035790: 4b35 ldr r3, [pc, #212] ; (8035868 ) 8035792: 781b ldrb r3, [r3, #0] 8035794: b2db uxtb r3, r3 8035796: 4619 mov r1, r3 8035798: 4a34 ldr r2, [pc, #208] ; (803586c ) 803579a: 0083 lsls r3, r0, #2 803579c: 4413 add r3, r2 803579e: 440b add r3, r1 80357a0: f503 730f add.w r3, r3, #572 ; 0x23c 80357a4: 781b ldrb r3, [r3, #0] 80357a6: b2db uxtb r3, r3 80357a8: f003 0307 and.w r3, r3, #7 80357ac: 2b01 cmp r3, #1 80357ae: f040 80c8 bne.w 8035942 if(fl < 0.5f) 80357b2: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 80357b6: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80357ba: eef4 7ac7 vcmpe.f32 s15, s14 80357be: eef1 fa10 vmrs APSR_nzcv, fpscr 80357c2: d513 bpl.n 80357ec pardata.DIAGN_HP[CURR_POINT][CURR_USL] = 0.5f; 80357c4: 4b27 ldr r3, [pc, #156] ; (8035864 ) 80357c6: 781b ldrb r3, [r3, #0] 80357c8: b2db uxtb r3, r3 80357ca: 4618 mov r0, r3 80357cc: 4b26 ldr r3, [pc, #152] ; (8035868 ) 80357ce: 781b ldrb r3, [r3, #0] 80357d0: b2db uxtb r3, r3 80357d2: 4619 mov r1, r3 80357d4: 4a25 ldr r2, [pc, #148] ; (803586c ) 80357d6: 0083 lsls r3, r0, #2 80357d8: 440b add r3, r1 80357da: 3396 adds r3, #150 ; 0x96 80357dc: 009b lsls r3, r3, #2 80357de: 4413 add r3, r2 80357e0: 3304 adds r3, #4 80357e2: f04f 527c mov.w r2, #1056964608 ; 0x3f000000 80357e6: 601a str r2, [r3, #0] if((pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7) == DIAGN_ACC) 80357e8: f000 beee b.w 80365c8 if(fl > pardata.DIAGN_LP[CURR_POINT][CURR_USL]) 80357ec: 4b1d ldr r3, [pc, #116] ; (8035864 ) 80357ee: 781b ldrb r3, [r3, #0] 80357f0: b2db uxtb r3, r3 80357f2: 4618 mov r0, r3 80357f4: 4b1c ldr r3, [pc, #112] ; (8035868 ) 80357f6: 781b ldrb r3, [r3, #0] 80357f8: b2db uxtb r3, r3 80357fa: 4619 mov r1, r3 80357fc: 4a1b ldr r2, [pc, #108] ; (803586c ) 80357fe: 0083 lsls r3, r0, #2 8035800: 440b add r3, r1 8035802: 33b6 adds r3, #182 ; 0xb6 8035804: 009b lsls r3, r3, #2 8035806: 4413 add r3, r2 8035808: 3304 adds r3, #4 803580a: ed93 7a00 vldr s14, [r3] 803580e: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8035812: eeb4 7ae7 vcmpe.f32 s14, s15 8035816: eef1 fa10 vmrs APSR_nzcv, fpscr 803581a: d539 bpl.n 8035890 pardata.DIAGN_HP[CURR_POINT][CURR_USL] = pardata.DIAGN_LP[CURR_POINT][CURR_USL]; 803581c: 4b11 ldr r3, [pc, #68] ; (8035864 ) 803581e: 781b ldrb r3, [r3, #0] 8035820: b2db uxtb r3, r3 8035822: 461c mov r4, r3 8035824: 4b10 ldr r3, [pc, #64] ; (8035868 ) 8035826: 781b ldrb r3, [r3, #0] 8035828: b2db uxtb r3, r3 803582a: 4618 mov r0, r3 803582c: 4b0d ldr r3, [pc, #52] ; (8035864 ) 803582e: 781b ldrb r3, [r3, #0] 8035830: b2db uxtb r3, r3 8035832: 461d mov r5, r3 8035834: 4b0c ldr r3, [pc, #48] ; (8035868 ) 8035836: 781b ldrb r3, [r3, #0] 8035838: b2db uxtb r3, r3 803583a: 4619 mov r1, r3 803583c: 4a0b ldr r2, [pc, #44] ; (803586c ) 803583e: 00ab lsls r3, r5, #2 8035840: 440b add r3, r1 8035842: 33b6 adds r3, #182 ; 0xb6 8035844: 009b lsls r3, r3, #2 8035846: 4413 add r3, r2 8035848: 3304 adds r3, #4 803584a: 681a ldr r2, [r3, #0] 803584c: 4907 ldr r1, [pc, #28] ; (803586c ) 803584e: 00a3 lsls r3, r4, #2 8035850: 4403 add r3, r0 8035852: 3396 adds r3, #150 ; 0x96 8035854: 009b lsls r3, r3, #2 8035856: 440b add r3, r1 8035858: 3304 adds r3, #4 803585a: 601a str r2, [r3, #0] if((pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7) == DIAGN_ACC) 803585c: f000 beb4 b.w 80365c8 8035860: 20020070 .word 0x20020070 8035864: 20021011 .word 0x20021011 8035868: 20021013 .word 0x20021013 803586c: 20023e60 .word 0x20023e60 8035870: 0a7c5ac5 .word 0x0a7c5ac5 8035874: 000186a0 .word 0x000186a0 8035878: d1b71759 .word 0xd1b71759 803587c: 10624dd3 .word 0x10624dd3 8035880: 51eb851f .word 0x51eb851f 8035884: cccccccd .word 0xcccccccd 8035888: 3dcccccd .word 0x3dcccccd 803588c: 38d1b717 .word 0x38d1b717 pardata.DIAGN_HP[CURR_POINT][CURR_USL] = (float32_t) k; 8035890: 4b84 ldr r3, [pc, #528] ; (8035aa4 ) 8035892: 781b ldrb r3, [r3, #0] 8035894: b2db uxtb r3, r3 8035896: 4618 mov r0, r3 8035898: 4b83 ldr r3, [pc, #524] ; (8035aa8 ) 803589a: 781b ldrb r3, [r3, #0] 803589c: b2db uxtb r3, r3 803589e: 4619 mov r1, r3 80358a0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80358a4: ee07 3a90 vmov s15, r3 80358a8: eef8 7a67 vcvt.f32.u32 s15, s15 80358ac: 4a7f ldr r2, [pc, #508] ; (8035aac ) 80358ae: 0083 lsls r3, r0, #2 80358b0: 440b add r3, r1 80358b2: 3396 adds r3, #150 ; 0x96 80358b4: 009b lsls r3, r3, #2 80358b6: 4413 add r3, r2 80358b8: 3304 adds r3, #4 80358ba: edc3 7a00 vstr s15, [r3] pardata.DIAGN_HP[CURR_POINT][CURR_USL] *= 0.1f; 80358be: 4b79 ldr r3, [pc, #484] ; (8035aa4 ) 80358c0: 781b ldrb r3, [r3, #0] 80358c2: b2da uxtb r2, r3 80358c4: 4610 mov r0, r2 80358c6: 4b78 ldr r3, [pc, #480] ; (8035aa8 ) 80358c8: 781b ldrb r3, [r3, #0] 80358ca: b2db uxtb r3, r3 80358cc: 4619 mov r1, r3 80358ce: 4615 mov r5, r2 80358d0: 461c mov r4, r3 80358d2: 4a76 ldr r2, [pc, #472] ; (8035aac ) 80358d4: 00ab lsls r3, r5, #2 80358d6: 4423 add r3, r4 80358d8: 3396 adds r3, #150 ; 0x96 80358da: 009b lsls r3, r3, #2 80358dc: 4413 add r3, r2 80358de: 3304 adds r3, #4 80358e0: edd3 7a00 vldr s15, [r3] 80358e4: ed9f 7a72 vldr s14, [pc, #456] ; 8035ab0 80358e8: ee67 7a87 vmul.f32 s15, s15, s14 80358ec: 4a6f ldr r2, [pc, #444] ; (8035aac ) 80358ee: 0083 lsls r3, r0, #2 80358f0: 440b add r3, r1 80358f2: 3396 adds r3, #150 ; 0x96 80358f4: 009b lsls r3, r3, #2 80358f6: 4413 add r3, r2 80358f8: 3304 adds r3, #4 80358fa: edc3 7a00 vstr s15, [r3] pardata.DIAGN_HP[CURR_POINT][CURR_USL] += 0.0001f; 80358fe: 4b69 ldr r3, [pc, #420] ; (8035aa4 ) 8035900: 781b ldrb r3, [r3, #0] 8035902: b2da uxtb r2, r3 8035904: 4610 mov r0, r2 8035906: 4b68 ldr r3, [pc, #416] ; (8035aa8 ) 8035908: 781b ldrb r3, [r3, #0] 803590a: b2db uxtb r3, r3 803590c: 4619 mov r1, r3 803590e: 4615 mov r5, r2 8035910: 461c mov r4, r3 8035912: 4a66 ldr r2, [pc, #408] ; (8035aac ) 8035914: 00ab lsls r3, r5, #2 8035916: 4423 add r3, r4 8035918: 3396 adds r3, #150 ; 0x96 803591a: 009b lsls r3, r3, #2 803591c: 4413 add r3, r2 803591e: 3304 adds r3, #4 8035920: edd3 7a00 vldr s15, [r3] 8035924: ed9f 7a63 vldr s14, [pc, #396] ; 8035ab4 8035928: ee77 7a87 vadd.f32 s15, s15, s14 803592c: 4a5f ldr r2, [pc, #380] ; (8035aac ) 803592e: 0083 lsls r3, r0, #2 8035930: 440b add r3, r1 8035932: 3396 adds r3, #150 ; 0x96 8035934: 009b lsls r3, r3, #2 8035936: 4413 add r3, r2 8035938: 3304 adds r3, #4 803593a: edc3 7a00 vstr s15, [r3] if((pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7) == DIAGN_ACC) 803593e: f000 be43 b.w 80365c8 if(fl < 2.0f) 8035942: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8035946: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 803594a: eef4 7ac7 vcmpe.f32 s15, s14 803594e: eef1 fa10 vmrs APSR_nzcv, fpscr 8035952: d513 bpl.n 803597c pardata.DIAGN_HP[CURR_POINT][CURR_USL] = 2.0f; 8035954: 4b53 ldr r3, [pc, #332] ; (8035aa4 ) 8035956: 781b ldrb r3, [r3, #0] 8035958: b2db uxtb r3, r3 803595a: 4618 mov r0, r3 803595c: 4b52 ldr r3, [pc, #328] ; (8035aa8 ) 803595e: 781b ldrb r3, [r3, #0] 8035960: b2db uxtb r3, r3 8035962: 4619 mov r1, r3 8035964: 4a51 ldr r2, [pc, #324] ; (8035aac ) 8035966: 0083 lsls r3, r0, #2 8035968: 440b add r3, r1 803596a: 3396 adds r3, #150 ; 0x96 803596c: 009b lsls r3, r3, #2 803596e: 4413 add r3, r2 8035970: 3304 adds r3, #4 8035972: f04f 4280 mov.w r2, #1073741824 ; 0x40000000 8035976: 601a str r2, [r3, #0] if((pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7) == DIAGN_ACC) 8035978: f000 be26 b.w 80365c8 if(fl > pardata.DIAGN_LP[CURR_POINT][CURR_USL]) 803597c: 4b49 ldr r3, [pc, #292] ; (8035aa4 ) 803597e: 781b ldrb r3, [r3, #0] 8035980: b2db uxtb r3, r3 8035982: 4618 mov r0, r3 8035984: 4b48 ldr r3, [pc, #288] ; (8035aa8 ) 8035986: 781b ldrb r3, [r3, #0] 8035988: b2db uxtb r3, r3 803598a: 4619 mov r1, r3 803598c: 4a47 ldr r2, [pc, #284] ; (8035aac ) 803598e: 0083 lsls r3, r0, #2 8035990: 440b add r3, r1 8035992: 33b6 adds r3, #182 ; 0xb6 8035994: 009b lsls r3, r3, #2 8035996: 4413 add r3, r2 8035998: 3304 adds r3, #4 803599a: ed93 7a00 vldr s14, [r3] 803599e: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 80359a2: eeb4 7ae7 vcmpe.f32 s14, s15 80359a6: eef1 fa10 vmrs APSR_nzcv, fpscr 80359aa: d521 bpl.n 80359f0 pardata.DIAGN_HP[CURR_POINT][CURR_USL] = pardata.DIAGN_LP[CURR_POINT][CURR_USL]; 80359ac: 4b3d ldr r3, [pc, #244] ; (8035aa4 ) 80359ae: 781b ldrb r3, [r3, #0] 80359b0: b2db uxtb r3, r3 80359b2: 461c mov r4, r3 80359b4: 4b3c ldr r3, [pc, #240] ; (8035aa8 ) 80359b6: 781b ldrb r3, [r3, #0] 80359b8: b2db uxtb r3, r3 80359ba: 4618 mov r0, r3 80359bc: 4b39 ldr r3, [pc, #228] ; (8035aa4 ) 80359be: 781b ldrb r3, [r3, #0] 80359c0: b2db uxtb r3, r3 80359c2: 461d mov r5, r3 80359c4: 4b38 ldr r3, [pc, #224] ; (8035aa8 ) 80359c6: 781b ldrb r3, [r3, #0] 80359c8: b2db uxtb r3, r3 80359ca: 4619 mov r1, r3 80359cc: 4a37 ldr r2, [pc, #220] ; (8035aac ) 80359ce: 00ab lsls r3, r5, #2 80359d0: 440b add r3, r1 80359d2: 33b6 adds r3, #182 ; 0xb6 80359d4: 009b lsls r3, r3, #2 80359d6: 4413 add r3, r2 80359d8: 3304 adds r3, #4 80359da: 681a ldr r2, [r3, #0] 80359dc: 4933 ldr r1, [pc, #204] ; (8035aac ) 80359de: 00a3 lsls r3, r4, #2 80359e0: 4403 add r3, r0 80359e2: 3396 adds r3, #150 ; 0x96 80359e4: 009b lsls r3, r3, #2 80359e6: 440b add r3, r1 80359e8: 3304 adds r3, #4 80359ea: 601a str r2, [r3, #0] if((pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7) == DIAGN_ACC) 80359ec: f000 bdec b.w 80365c8 pardata.DIAGN_HP[CURR_POINT][CURR_USL] = (float32_t) k; 80359f0: 4b2c ldr r3, [pc, #176] ; (8035aa4 ) 80359f2: 781b ldrb r3, [r3, #0] 80359f4: b2db uxtb r3, r3 80359f6: 4618 mov r0, r3 80359f8: 4b2b ldr r3, [pc, #172] ; (8035aa8 ) 80359fa: 781b ldrb r3, [r3, #0] 80359fc: b2db uxtb r3, r3 80359fe: 4619 mov r1, r3 8035a00: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8035a04: ee07 3a90 vmov s15, r3 8035a08: eef8 7a67 vcvt.f32.u32 s15, s15 8035a0c: 4a27 ldr r2, [pc, #156] ; (8035aac ) 8035a0e: 0083 lsls r3, r0, #2 8035a10: 440b add r3, r1 8035a12: 3396 adds r3, #150 ; 0x96 8035a14: 009b lsls r3, r3, #2 8035a16: 4413 add r3, r2 8035a18: 3304 adds r3, #4 8035a1a: edc3 7a00 vstr s15, [r3] pardata.DIAGN_HP[CURR_POINT][CURR_USL] *= 0.1f; 8035a1e: 4b21 ldr r3, [pc, #132] ; (8035aa4 ) 8035a20: 781b ldrb r3, [r3, #0] 8035a22: b2da uxtb r2, r3 8035a24: 4610 mov r0, r2 8035a26: 4b20 ldr r3, [pc, #128] ; (8035aa8 ) 8035a28: 781b ldrb r3, [r3, #0] 8035a2a: b2db uxtb r3, r3 8035a2c: 4619 mov r1, r3 8035a2e: 4615 mov r5, r2 8035a30: 461c mov r4, r3 8035a32: 4a1e ldr r2, [pc, #120] ; (8035aac ) 8035a34: 00ab lsls r3, r5, #2 8035a36: 4423 add r3, r4 8035a38: 3396 adds r3, #150 ; 0x96 8035a3a: 009b lsls r3, r3, #2 8035a3c: 4413 add r3, r2 8035a3e: 3304 adds r3, #4 8035a40: edd3 7a00 vldr s15, [r3] 8035a44: ed9f 7a1a vldr s14, [pc, #104] ; 8035ab0 8035a48: ee67 7a87 vmul.f32 s15, s15, s14 8035a4c: 4a17 ldr r2, [pc, #92] ; (8035aac ) 8035a4e: 0083 lsls r3, r0, #2 8035a50: 440b add r3, r1 8035a52: 3396 adds r3, #150 ; 0x96 8035a54: 009b lsls r3, r3, #2 8035a56: 4413 add r3, r2 8035a58: 3304 adds r3, #4 8035a5a: edc3 7a00 vstr s15, [r3] pardata.DIAGN_HP[CURR_POINT][CURR_USL] += 0.0001f; 8035a5e: 4b11 ldr r3, [pc, #68] ; (8035aa4 ) 8035a60: 781b ldrb r3, [r3, #0] 8035a62: b2da uxtb r2, r3 8035a64: 4610 mov r0, r2 8035a66: 4b10 ldr r3, [pc, #64] ; (8035aa8 ) 8035a68: 781b ldrb r3, [r3, #0] 8035a6a: b2db uxtb r3, r3 8035a6c: 4619 mov r1, r3 8035a6e: 4615 mov r5, r2 8035a70: 461c mov r4, r3 8035a72: 4a0e ldr r2, [pc, #56] ; (8035aac ) 8035a74: 00ab lsls r3, r5, #2 8035a76: 4423 add r3, r4 8035a78: 3396 adds r3, #150 ; 0x96 8035a7a: 009b lsls r3, r3, #2 8035a7c: 4413 add r3, r2 8035a7e: 3304 adds r3, #4 8035a80: edd3 7a00 vldr s15, [r3] 8035a84: ed9f 7a0b vldr s14, [pc, #44] ; 8035ab4 8035a88: ee77 7a87 vadd.f32 s15, s15, s14 8035a8c: 4a07 ldr r2, [pc, #28] ; (8035aac ) 8035a8e: 0083 lsls r3, r0, #2 8035a90: 440b add r3, r1 8035a92: 3396 adds r3, #150 ; 0x96 8035a94: 009b lsls r3, r3, #2 8035a96: 4413 add r3, r2 8035a98: 3304 adds r3, #4 8035a9a: edc3 7a00 vstr s15, [r3] if((pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7) == DIAGN_ACC) 8035a9e: f000 bd93 b.w 80365c8 8035aa2: bf00 nop 8035aa4: 20021011 .word 0x20021011 8035aa8: 20021013 .word 0x20021013 8035aac: 20023e60 .word 0x20023e60 8035ab0: 3dcccccd .word 0x3dcccccd 8035ab4: 38d1b717 .word 0x38d1b717 if((menupos >= DiagLP_IDT) && (menupos <= DiagLP_IKD)) 8035ab8: 4bcb ldr r3, [pc, #812] ; (8035de8 ) 8035aba: 781b ldrb r3, [r3, #0] 8035abc: b2db uxtb r3, r3 8035abe: 2b12 cmp r3, #18 8035ac0: f240 8243 bls.w 8035f4a 8035ac4: 4bc8 ldr r3, [pc, #800] ; (8035de8 ) 8035ac6: 781b ldrb r3, [r3, #0] 8035ac8: b2db uxtb r3, r3 8035aca: 2b18 cmp r3, #24 8035acc: f200 823d bhi.w 8035f4a k = (uint32_t) (pardata.DIAGN_LP[CURR_POINT][CURR_USL] * 10.0f); 8035ad0: 4bc6 ldr r3, [pc, #792] ; (8035dec ) 8035ad2: 781b ldrb r3, [r3, #0] 8035ad4: b2db uxtb r3, r3 8035ad6: 4618 mov r0, r3 8035ad8: 4bc5 ldr r3, [pc, #788] ; (8035df0 ) 8035ada: 781b ldrb r3, [r3, #0] 8035adc: b2db uxtb r3, r3 8035ade: 4619 mov r1, r3 8035ae0: 4ac4 ldr r2, [pc, #784] ; (8035df4 ) 8035ae2: 0083 lsls r3, r0, #2 8035ae4: 440b add r3, r1 8035ae6: 33b6 adds r3, #182 ; 0xb6 8035ae8: 009b lsls r3, r3, #2 8035aea: 4413 add r3, r2 8035aec: 3304 adds r3, #4 8035aee: edd3 7a00 vldr s15, [r3] 8035af2: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 8035af6: ee67 7a87 vmul.f32 s15, s15, s14 8035afa: eefc 7ae7 vcvt.u32.f32 s15, s15 8035afe: ee17 3a90 vmov r3, s15 8035b02: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 8035b06: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8035b0a: 095b lsrs r3, r3, #5 8035b0c: 4aba ldr r2, [pc, #744] ; (8035df8 ) 8035b0e: fba2 2303 umull r2, r3, r2, r3 8035b12: 09db lsrs r3, r3, #7 8035b14: b2db uxtb r3, r3 8035b16: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 8035b1a: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8035b1e: 0953 lsrs r3, r2, #5 8035b20: 49b5 ldr r1, [pc, #724] ; (8035df8 ) 8035b22: fba1 1303 umull r1, r3, r1, r3 8035b26: 09db lsrs r3, r3, #7 8035b28: 49b4 ldr r1, [pc, #720] ; (8035dfc ) 8035b2a: fb01 f303 mul.w r3, r1, r3 8035b2e: 1ad3 subs r3, r2, r3 8035b30: 4ab3 ldr r2, [pc, #716] ; (8035e00 ) 8035b32: fba2 2303 umull r2, r3, r2, r3 8035b36: 0b5b lsrs r3, r3, #13 8035b38: b2db uxtb r3, r3 8035b3a: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 8035b3e: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8035b42: 0953 lsrs r3, r2, #5 8035b44: 49ac ldr r1, [pc, #688] ; (8035df8 ) 8035b46: fba1 1303 umull r1, r3, r1, r3 8035b4a: 09db lsrs r3, r3, #7 8035b4c: 49ab ldr r1, [pc, #684] ; (8035dfc ) 8035b4e: fb01 f303 mul.w r3, r1, r3 8035b52: 1ad3 subs r3, r2, r3 8035b54: 4aaa ldr r2, [pc, #680] ; (8035e00 ) 8035b56: fba2 1203 umull r1, r2, r2, r3 8035b5a: 0b52 lsrs r2, r2, #13 8035b5c: f242 7110 movw r1, #10000 ; 0x2710 8035b60: fb01 f202 mul.w r2, r1, r2 8035b64: 1a9a subs r2, r3, r2 8035b66: 4ba7 ldr r3, [pc, #668] ; (8035e04 ) 8035b68: fba3 2302 umull r2, r3, r3, r2 8035b6c: 099b lsrs r3, r3, #6 8035b6e: b2db uxtb r3, r3 8035b70: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 8035b74: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8035b78: 095a lsrs r2, r3, #5 8035b7a: 499f ldr r1, [pc, #636] ; (8035df8 ) 8035b7c: fba1 1202 umull r1, r2, r1, r2 8035b80: 09d2 lsrs r2, r2, #7 8035b82: 499e ldr r1, [pc, #632] ; (8035dfc ) 8035b84: fb01 f202 mul.w r2, r1, r2 8035b88: 1a9a subs r2, r3, r2 8035b8a: 4b9d ldr r3, [pc, #628] ; (8035e00 ) 8035b8c: fba3 1302 umull r1, r3, r3, r2 8035b90: 0b5b lsrs r3, r3, #13 8035b92: f242 7110 movw r1, #10000 ; 0x2710 8035b96: fb01 f303 mul.w r3, r1, r3 8035b9a: 1ad3 subs r3, r2, r3 8035b9c: 4a99 ldr r2, [pc, #612] ; (8035e04 ) 8035b9e: fba2 1203 umull r1, r2, r2, r3 8035ba2: 0992 lsrs r2, r2, #6 8035ba4: f44f 717a mov.w r1, #1000 ; 0x3e8 8035ba8: fb01 f202 mul.w r2, r1, r2 8035bac: 1a9a subs r2, r3, r2 8035bae: 4b96 ldr r3, [pc, #600] ; (8035e08 ) 8035bb0: fba3 2302 umull r2, r3, r3, r2 8035bb4: 095b lsrs r3, r3, #5 8035bb6: b2db uxtb r3, r3 8035bb8: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 8035bbc: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8035bc0: 0953 lsrs r3, r2, #5 8035bc2: 498d ldr r1, [pc, #564] ; (8035df8 ) 8035bc4: fba1 1303 umull r1, r3, r1, r3 8035bc8: 09db lsrs r3, r3, #7 8035bca: 498c ldr r1, [pc, #560] ; (8035dfc ) 8035bcc: fb01 f303 mul.w r3, r1, r3 8035bd0: 1ad3 subs r3, r2, r3 8035bd2: 4a8b ldr r2, [pc, #556] ; (8035e00 ) 8035bd4: fba2 1203 umull r1, r2, r2, r3 8035bd8: 0b52 lsrs r2, r2, #13 8035bda: f242 7110 movw r1, #10000 ; 0x2710 8035bde: fb01 f202 mul.w r2, r1, r2 8035be2: 1a9a subs r2, r3, r2 8035be4: 4b87 ldr r3, [pc, #540] ; (8035e04 ) 8035be6: fba3 1302 umull r1, r3, r3, r2 8035bea: 099b lsrs r3, r3, #6 8035bec: f44f 717a mov.w r1, #1000 ; 0x3e8 8035bf0: fb01 f303 mul.w r3, r1, r3 8035bf4: 1ad3 subs r3, r2, r3 8035bf6: 4a84 ldr r2, [pc, #528] ; (8035e08 ) 8035bf8: fba2 1203 umull r1, r2, r2, r3 8035bfc: 0952 lsrs r2, r2, #5 8035bfe: 2164 movs r1, #100 ; 0x64 8035c00: fb01 f202 mul.w r2, r1, r2 8035c04: 1a9a subs r2, r3, r2 8035c06: 4b81 ldr r3, [pc, #516] ; (8035e0c ) 8035c08: fba3 2302 umull r2, r3, r3, r2 8035c0c: 08db lsrs r3, r3, #3 8035c0e: b2db uxtb r3, r3 8035c10: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 8035c14: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8035c18: 0953 lsrs r3, r2, #5 8035c1a: 4977 ldr r1, [pc, #476] ; (8035df8 ) 8035c1c: fba1 1303 umull r1, r3, r1, r3 8035c20: 09db lsrs r3, r3, #7 8035c22: 4976 ldr r1, [pc, #472] ; (8035dfc ) 8035c24: fb01 f303 mul.w r3, r1, r3 8035c28: 1ad3 subs r3, r2, r3 8035c2a: 4a75 ldr r2, [pc, #468] ; (8035e00 ) 8035c2c: fba2 1203 umull r1, r2, r2, r3 8035c30: 0b52 lsrs r2, r2, #13 8035c32: f242 7110 movw r1, #10000 ; 0x2710 8035c36: fb01 f202 mul.w r2, r1, r2 8035c3a: 1a9a subs r2, r3, r2 8035c3c: 4b71 ldr r3, [pc, #452] ; (8035e04 ) 8035c3e: fba3 1302 umull r1, r3, r3, r2 8035c42: 099b lsrs r3, r3, #6 8035c44: f44f 717a mov.w r1, #1000 ; 0x3e8 8035c48: fb01 f303 mul.w r3, r1, r3 8035c4c: 1ad3 subs r3, r2, r3 8035c4e: 4a6e ldr r2, [pc, #440] ; (8035e08 ) 8035c50: fba2 1203 umull r1, r2, r2, r3 8035c54: 0952 lsrs r2, r2, #5 8035c56: 2164 movs r1, #100 ; 0x64 8035c58: fb01 f202 mul.w r2, r1, r2 8035c5c: 1a9a subs r2, r3, r2 8035c5e: 4b6b ldr r3, [pc, #428] ; (8035e0c ) 8035c60: fba3 1302 umull r1, r3, r3, r2 8035c64: 08d9 lsrs r1, r3, #3 8035c66: 460b mov r3, r1 8035c68: 009b lsls r3, r3, #2 8035c6a: 440b add r3, r1 8035c6c: 005b lsls r3, r3, #1 8035c6e: 1ad1 subs r1, r2, r3 8035c70: b2cb uxtb r3, r1 8035c72: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 8035c76: 4b5c ldr r3, [pc, #368] ; (8035de8 ) 8035c78: 781b ldrb r3, [r3, #0] 8035c7a: b2db uxtb r3, r3 8035c7c: 3b13 subs r3, #19 8035c7e: 2b05 cmp r3, #5 8035c80: d836 bhi.n 8035cf0 8035c82: a201 add r2, pc, #4 ; (adr r2, 8035c88 ) 8035c84: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8035c88: 08035ca1 .word 0x08035ca1 8035c8c: 08035caf .word 0x08035caf 8035c90: 08035cbf .word 0x08035cbf 8035c94: 08035ccd .word 0x08035ccd 8035c98: 08035cd9 .word 0x08035cd9 8035c9c: 08035ce5 .word 0x08035ce5 k += 100000; 8035ca0: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8035ca4: 4b55 ldr r3, [pc, #340] ; (8035dfc ) 8035ca6: 4413 add r3, r2 8035ca8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8035cac: e020 b.n 8035cf0 k += 10000; 8035cae: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8035cb2: f242 7310 movw r3, #10000 ; 0x2710 8035cb6: 4413 add r3, r2 8035cb8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8035cbc: e018 b.n 8035cf0 k += 1000; 8035cbe: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8035cc2: f503 737a add.w r3, r3, #1000 ; 0x3e8 8035cc6: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8035cca: e011 b.n 8035cf0 k += 100; 8035ccc: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8035cd0: 3364 adds r3, #100 ; 0x64 8035cd2: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8035cd6: e00b b.n 8035cf0 k += 10; 8035cd8: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8035cdc: 330a adds r3, #10 8035cde: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8035ce2: e005 b.n 8035cf0 k++; 8035ce4: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8035ce8: 3301 adds r3, #1 8035cea: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8035cee: bf00 nop fl = (float32_t) k; 8035cf0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8035cf4: ee07 3a90 vmov s15, r3 8035cf8: eef8 7a67 vcvt.f32.u32 s15, s15 8035cfc: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl *= 0.1f; 8035d00: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8035d04: ed9f 7a42 vldr s14, [pc, #264] ; 8035e10 8035d08: ee67 7a87 vmul.f32 s15, s15, s14 8035d0c: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl += 0.0001f; 8035d10: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8035d14: ed9f 7a3f vldr s14, [pc, #252] ; 8035e14 8035d18: ee77 7a87 vadd.f32 s15, s15, s14 8035d1c: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 if(fl < 10.0f) 8035d20: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8035d24: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 8035d28: eef4 7ac7 vcmpe.f32 s15, s14 8035d2c: eef1 fa10 vmrs APSR_nzcv, fpscr 8035d30: d512 bpl.n 8035d58 pardata.DIAGN_LP[CURR_POINT][CURR_USL] = 10.0f; 8035d32: 4b2e ldr r3, [pc, #184] ; (8035dec ) 8035d34: 781b ldrb r3, [r3, #0] 8035d36: b2db uxtb r3, r3 8035d38: 4618 mov r0, r3 8035d3a: 4b2d ldr r3, [pc, #180] ; (8035df0 ) 8035d3c: 781b ldrb r3, [r3, #0] 8035d3e: b2db uxtb r3, r3 8035d40: 4619 mov r1, r3 8035d42: 4a2c ldr r2, [pc, #176] ; (8035df4 ) 8035d44: 0083 lsls r3, r0, #2 8035d46: 440b add r3, r1 8035d48: 33b6 adds r3, #182 ; 0xb6 8035d4a: 009b lsls r3, r3, #2 8035d4c: 4413 add r3, r2 8035d4e: 3304 adds r3, #4 8035d50: 4a31 ldr r2, [pc, #196] ; (8035e18 ) 8035d52: 601a str r2, [r3, #0] if(fl < 10.0f) 8035d54: f000 bc38 b.w 80365c8 if(pardata.DIAGN_LP[CURR_POINT][CURR_USL] < pardata.DIAGN_HP[CURR_POINT][CURR_USL]) 8035d58: 4b24 ldr r3, [pc, #144] ; (8035dec ) 8035d5a: 781b ldrb r3, [r3, #0] 8035d5c: b2db uxtb r3, r3 8035d5e: 4618 mov r0, r3 8035d60: 4b23 ldr r3, [pc, #140] ; (8035df0 ) 8035d62: 781b ldrb r3, [r3, #0] 8035d64: b2db uxtb r3, r3 8035d66: 4619 mov r1, r3 8035d68: 4a22 ldr r2, [pc, #136] ; (8035df4 ) 8035d6a: 0083 lsls r3, r0, #2 8035d6c: 440b add r3, r1 8035d6e: 33b6 adds r3, #182 ; 0xb6 8035d70: 009b lsls r3, r3, #2 8035d72: 4413 add r3, r2 8035d74: 3304 adds r3, #4 8035d76: ed93 7a00 vldr s14, [r3] 8035d7a: 4b1c ldr r3, [pc, #112] ; (8035dec ) 8035d7c: 781b ldrb r3, [r3, #0] 8035d7e: b2db uxtb r3, r3 8035d80: 4618 mov r0, r3 8035d82: 4b1b ldr r3, [pc, #108] ; (8035df0 ) 8035d84: 781b ldrb r3, [r3, #0] 8035d86: b2db uxtb r3, r3 8035d88: 4619 mov r1, r3 8035d8a: 4a1a ldr r2, [pc, #104] ; (8035df4 ) 8035d8c: 0083 lsls r3, r0, #2 8035d8e: 440b add r3, r1 8035d90: 3396 adds r3, #150 ; 0x96 8035d92: 009b lsls r3, r3, #2 8035d94: 4413 add r3, r2 8035d96: 3304 adds r3, #4 8035d98: edd3 7a00 vldr s15, [r3] 8035d9c: eeb4 7ae7 vcmpe.f32 s14, s15 8035da0: eef1 fa10 vmrs APSR_nzcv, fpscr 8035da4: d53a bpl.n 8035e1c pardata.DIAGN_LP[CURR_POINT][CURR_USL] = pardata.DIAGN_HP[CURR_POINT][CURR_USL]; 8035da6: 4b11 ldr r3, [pc, #68] ; (8035dec ) 8035da8: 781b ldrb r3, [r3, #0] 8035daa: b2db uxtb r3, r3 8035dac: 461c mov r4, r3 8035dae: 4b10 ldr r3, [pc, #64] ; (8035df0 ) 8035db0: 781b ldrb r3, [r3, #0] 8035db2: b2db uxtb r3, r3 8035db4: 4618 mov r0, r3 8035db6: 4b0d ldr r3, [pc, #52] ; (8035dec ) 8035db8: 781b ldrb r3, [r3, #0] 8035dba: b2db uxtb r3, r3 8035dbc: 461d mov r5, r3 8035dbe: 4b0c ldr r3, [pc, #48] ; (8035df0 ) 8035dc0: 781b ldrb r3, [r3, #0] 8035dc2: b2db uxtb r3, r3 8035dc4: 4619 mov r1, r3 8035dc6: 4a0b ldr r2, [pc, #44] ; (8035df4 ) 8035dc8: 00ab lsls r3, r5, #2 8035dca: 440b add r3, r1 8035dcc: 3396 adds r3, #150 ; 0x96 8035dce: 009b lsls r3, r3, #2 8035dd0: 4413 add r3, r2 8035dd2: 3304 adds r3, #4 8035dd4: 681a ldr r2, [r3, #0] 8035dd6: 4907 ldr r1, [pc, #28] ; (8035df4 ) 8035dd8: 00a3 lsls r3, r4, #2 8035dda: 4403 add r3, r0 8035ddc: 33b6 adds r3, #182 ; 0xb6 8035dde: 009b lsls r3, r3, #2 8035de0: 440b add r3, r1 8035de2: 3304 adds r3, #4 8035de4: 601a str r2, [r3, #0] if(fl < 10.0f) 8035de6: e3ef b.n 80365c8 8035de8: 20020070 .word 0x20020070 8035dec: 20021011 .word 0x20021011 8035df0: 20021013 .word 0x20021013 8035df4: 20023e60 .word 0x20023e60 8035df8: 0a7c5ac5 .word 0x0a7c5ac5 8035dfc: 000186a0 .word 0x000186a0 8035e00: d1b71759 .word 0xd1b71759 8035e04: 10624dd3 .word 0x10624dd3 8035e08: 51eb851f .word 0x51eb851f 8035e0c: cccccccd .word 0xcccccccd 8035e10: 3dcccccd .word 0x3dcccccd 8035e14: 38d1b717 .word 0x38d1b717 8035e18: 41200000 .word 0x41200000 if(fl > (((float32_t) FS[pardata.FRQ] / 5.0f) + 0.00005f)) 8035e1c: 4bd3 ldr r3, [pc, #844] ; (803616c ) 8035e1e: 7adb ldrb r3, [r3, #11] 8035e20: b2db uxtb r3, r3 8035e22: 461a mov r2, r3 8035e24: 4bd2 ldr r3, [pc, #840] ; (8036170 ) 8035e26: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8035e2a: ee07 3a90 vmov s15, r3 8035e2e: eeb8 7a67 vcvt.f32.u32 s14, s15 8035e32: eef1 6a04 vmov.f32 s13, #20 ; 0x40a00000 5.0 8035e36: eec7 7a26 vdiv.f32 s15, s14, s13 8035e3a: ed9f 7ace vldr s14, [pc, #824] ; 8036174 8035e3e: ee37 7a87 vadd.f32 s14, s15, s14 8035e42: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8035e46: eeb4 7ae7 vcmpe.f32 s14, s15 8035e4a: eef1 fa10 vmrs APSR_nzcv, fpscr 8035e4e: d524 bpl.n 8035e9a pardata.DIAGN_LP[CURR_POINT][CURR_USL] = (float32_t) (FS[pardata.FRQ] / 5) + 0.0001f; 8035e50: 4bc9 ldr r3, [pc, #804] ; (8036178 ) 8035e52: 781b ldrb r3, [r3, #0] 8035e54: b2db uxtb r3, r3 8035e56: 4618 mov r0, r3 8035e58: 4bc8 ldr r3, [pc, #800] ; (803617c ) 8035e5a: 781b ldrb r3, [r3, #0] 8035e5c: b2db uxtb r3, r3 8035e5e: 4619 mov r1, r3 8035e60: 4bc2 ldr r3, [pc, #776] ; (803616c ) 8035e62: 7adb ldrb r3, [r3, #11] 8035e64: b2db uxtb r3, r3 8035e66: 461a mov r2, r3 8035e68: 4bc1 ldr r3, [pc, #772] ; (8036170 ) 8035e6a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8035e6e: 4ac4 ldr r2, [pc, #784] ; (8036180 ) 8035e70: fba2 2303 umull r2, r3, r2, r3 8035e74: 089b lsrs r3, r3, #2 8035e76: ee07 3a90 vmov s15, r3 8035e7a: eef8 7a67 vcvt.f32.u32 s15, s15 8035e7e: ed9f 7ac1 vldr s14, [pc, #772] ; 8036184 8035e82: ee77 7a87 vadd.f32 s15, s15, s14 8035e86: 4ab9 ldr r2, [pc, #740] ; (803616c ) 8035e88: 0083 lsls r3, r0, #2 8035e8a: 440b add r3, r1 8035e8c: 33b6 adds r3, #182 ; 0xb6 8035e8e: 009b lsls r3, r3, #2 8035e90: 4413 add r3, r2 8035e92: 3304 adds r3, #4 8035e94: edc3 7a00 vstr s15, [r3] if(fl < 10.0f) 8035e98: e396 b.n 80365c8 pardata.DIAGN_LP[CURR_POINT][CURR_USL] = (float32_t) k; 8035e9a: 4bb7 ldr r3, [pc, #732] ; (8036178 ) 8035e9c: 781b ldrb r3, [r3, #0] 8035e9e: b2db uxtb r3, r3 8035ea0: 4618 mov r0, r3 8035ea2: 4bb6 ldr r3, [pc, #728] ; (803617c ) 8035ea4: 781b ldrb r3, [r3, #0] 8035ea6: b2db uxtb r3, r3 8035ea8: 4619 mov r1, r3 8035eaa: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8035eae: ee07 3a90 vmov s15, r3 8035eb2: eef8 7a67 vcvt.f32.u32 s15, s15 8035eb6: 4aad ldr r2, [pc, #692] ; (803616c ) 8035eb8: 0083 lsls r3, r0, #2 8035eba: 440b add r3, r1 8035ebc: 33b6 adds r3, #182 ; 0xb6 8035ebe: 009b lsls r3, r3, #2 8035ec0: 4413 add r3, r2 8035ec2: 3304 adds r3, #4 8035ec4: edc3 7a00 vstr s15, [r3] pardata.DIAGN_LP[CURR_POINT][CURR_USL] *= 0.1f; 8035ec8: 4bab ldr r3, [pc, #684] ; (8036178 ) 8035eca: 781b ldrb r3, [r3, #0] 8035ecc: b2da uxtb r2, r3 8035ece: 4610 mov r0, r2 8035ed0: 4baa ldr r3, [pc, #680] ; (803617c ) 8035ed2: 781b ldrb r3, [r3, #0] 8035ed4: b2db uxtb r3, r3 8035ed6: 4619 mov r1, r3 8035ed8: 4615 mov r5, r2 8035eda: 461c mov r4, r3 8035edc: 4aa3 ldr r2, [pc, #652] ; (803616c ) 8035ede: 00ab lsls r3, r5, #2 8035ee0: 4423 add r3, r4 8035ee2: 33b6 adds r3, #182 ; 0xb6 8035ee4: 009b lsls r3, r3, #2 8035ee6: 4413 add r3, r2 8035ee8: 3304 adds r3, #4 8035eea: edd3 7a00 vldr s15, [r3] 8035eee: ed9f 7aa6 vldr s14, [pc, #664] ; 8036188 8035ef2: ee67 7a87 vmul.f32 s15, s15, s14 8035ef6: 4a9d ldr r2, [pc, #628] ; (803616c ) 8035ef8: 0083 lsls r3, r0, #2 8035efa: 440b add r3, r1 8035efc: 33b6 adds r3, #182 ; 0xb6 8035efe: 009b lsls r3, r3, #2 8035f00: 4413 add r3, r2 8035f02: 3304 adds r3, #4 8035f04: edc3 7a00 vstr s15, [r3] pardata.DIAGN_LP[CURR_POINT][CURR_USL] += 0.0001f; 8035f08: 4b9b ldr r3, [pc, #620] ; (8036178 ) 8035f0a: 781b ldrb r3, [r3, #0] 8035f0c: b2da uxtb r2, r3 8035f0e: 4610 mov r0, r2 8035f10: 4b9a ldr r3, [pc, #616] ; (803617c ) 8035f12: 781b ldrb r3, [r3, #0] 8035f14: b2db uxtb r3, r3 8035f16: 4619 mov r1, r3 8035f18: 4615 mov r5, r2 8035f1a: 461c mov r4, r3 8035f1c: 4a93 ldr r2, [pc, #588] ; (803616c ) 8035f1e: 00ab lsls r3, r5, #2 8035f20: 4423 add r3, r4 8035f22: 33b6 adds r3, #182 ; 0xb6 8035f24: 009b lsls r3, r3, #2 8035f26: 4413 add r3, r2 8035f28: 3304 adds r3, #4 8035f2a: edd3 7a00 vldr s15, [r3] 8035f2e: ed9f 7a95 vldr s14, [pc, #596] ; 8036184 8035f32: ee77 7a87 vadd.f32 s15, s15, s14 8035f36: 4a8d ldr r2, [pc, #564] ; (803616c ) 8035f38: 0083 lsls r3, r0, #2 8035f3a: 440b add r3, r1 8035f3c: 33b6 adds r3, #182 ; 0xb6 8035f3e: 009b lsls r3, r3, #2 8035f40: 4413 add r3, r2 8035f42: 3304 adds r3, #4 8035f44: edc3 7a00 vstr s15, [r3] if(fl < 10.0f) 8035f48: e33e b.n 80365c8 if((menupos >= DiagW_IDT) && (menupos <= DiagW_IKD)) 8035f4a: 4b90 ldr r3, [pc, #576] ; (803618c ) 8035f4c: 781b ldrb r3, [r3, #0] 8035f4e: b2db uxtb r3, r3 8035f50: 2b18 cmp r3, #24 8035f52: f240 819a bls.w 803628a 8035f56: 4b8d ldr r3, [pc, #564] ; (803618c ) 8035f58: 781b ldrb r3, [r3, #0] 8035f5a: b2db uxtb r3, r3 8035f5c: 2b1e cmp r3, #30 8035f5e: f200 8194 bhi.w 803628a k = (uint32_t) (pardata.DIAGN_W[CURR_POINT][CURR_USL] * 10.0f); 8035f62: 4b85 ldr r3, [pc, #532] ; (8036178 ) 8035f64: 781b ldrb r3, [r3, #0] 8035f66: b2db uxtb r3, r3 8035f68: 4618 mov r0, r3 8035f6a: 4b84 ldr r3, [pc, #528] ; (803617c ) 8035f6c: 781b ldrb r3, [r3, #0] 8035f6e: b2db uxtb r3, r3 8035f70: 4619 mov r1, r3 8035f72: 4a7e ldr r2, [pc, #504] ; (803616c ) 8035f74: 0083 lsls r3, r0, #2 8035f76: 440b add r3, r1 8035f78: 33d6 adds r3, #214 ; 0xd6 8035f7a: 009b lsls r3, r3, #2 8035f7c: 4413 add r3, r2 8035f7e: 3304 adds r3, #4 8035f80: edd3 7a00 vldr s15, [r3] 8035f84: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 8035f88: ee67 7a87 vmul.f32 s15, s15, s14 8035f8c: eefc 7ae7 vcvt.u32.f32 s15, s15 8035f90: ee17 3a90 vmov r3, s15 8035f94: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 8035f98: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8035f9c: 095b lsrs r3, r3, #5 8035f9e: 4a7c ldr r2, [pc, #496] ; (8036190 ) 8035fa0: fba2 2303 umull r2, r3, r2, r3 8035fa4: 09db lsrs r3, r3, #7 8035fa6: b2db uxtb r3, r3 8035fa8: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 8035fac: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8035fb0: 0953 lsrs r3, r2, #5 8035fb2: 4977 ldr r1, [pc, #476] ; (8036190 ) 8035fb4: fba1 1303 umull r1, r3, r1, r3 8035fb8: 09db lsrs r3, r3, #7 8035fba: 4976 ldr r1, [pc, #472] ; (8036194 ) 8035fbc: fb01 f303 mul.w r3, r1, r3 8035fc0: 1ad3 subs r3, r2, r3 8035fc2: 4a75 ldr r2, [pc, #468] ; (8036198 ) 8035fc4: fba2 2303 umull r2, r3, r2, r3 8035fc8: 0b5b lsrs r3, r3, #13 8035fca: b2db uxtb r3, r3 8035fcc: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 8035fd0: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8035fd4: 0953 lsrs r3, r2, #5 8035fd6: 496e ldr r1, [pc, #440] ; (8036190 ) 8035fd8: fba1 1303 umull r1, r3, r1, r3 8035fdc: 09db lsrs r3, r3, #7 8035fde: 496d ldr r1, [pc, #436] ; (8036194 ) 8035fe0: fb01 f303 mul.w r3, r1, r3 8035fe4: 1ad3 subs r3, r2, r3 8035fe6: 4a6c ldr r2, [pc, #432] ; (8036198 ) 8035fe8: fba2 1203 umull r1, r2, r2, r3 8035fec: 0b52 lsrs r2, r2, #13 8035fee: f242 7110 movw r1, #10000 ; 0x2710 8035ff2: fb01 f202 mul.w r2, r1, r2 8035ff6: 1a9a subs r2, r3, r2 8035ff8: 4b68 ldr r3, [pc, #416] ; (803619c ) 8035ffa: fba3 2302 umull r2, r3, r3, r2 8035ffe: 099b lsrs r3, r3, #6 8036000: b2db uxtb r3, r3 8036002: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 8036006: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803600a: 095a lsrs r2, r3, #5 803600c: 4960 ldr r1, [pc, #384] ; (8036190 ) 803600e: fba1 1202 umull r1, r2, r1, r2 8036012: 09d2 lsrs r2, r2, #7 8036014: 495f ldr r1, [pc, #380] ; (8036194 ) 8036016: fb01 f202 mul.w r2, r1, r2 803601a: 1a9a subs r2, r3, r2 803601c: 4b5e ldr r3, [pc, #376] ; (8036198 ) 803601e: fba3 1302 umull r1, r3, r3, r2 8036022: 0b5b lsrs r3, r3, #13 8036024: f242 7110 movw r1, #10000 ; 0x2710 8036028: fb01 f303 mul.w r3, r1, r3 803602c: 1ad3 subs r3, r2, r3 803602e: 4a5b ldr r2, [pc, #364] ; (803619c ) 8036030: fba2 1203 umull r1, r2, r2, r3 8036034: 0992 lsrs r2, r2, #6 8036036: f44f 717a mov.w r1, #1000 ; 0x3e8 803603a: fb01 f202 mul.w r2, r1, r2 803603e: 1a9a subs r2, r3, r2 8036040: 4b57 ldr r3, [pc, #348] ; (80361a0 ) 8036042: fba3 2302 umull r2, r3, r3, r2 8036046: 095b lsrs r3, r3, #5 8036048: b2db uxtb r3, r3 803604a: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 803604e: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8036052: 0953 lsrs r3, r2, #5 8036054: 494e ldr r1, [pc, #312] ; (8036190 ) 8036056: fba1 1303 umull r1, r3, r1, r3 803605a: 09db lsrs r3, r3, #7 803605c: 494d ldr r1, [pc, #308] ; (8036194 ) 803605e: fb01 f303 mul.w r3, r1, r3 8036062: 1ad3 subs r3, r2, r3 8036064: 4a4c ldr r2, [pc, #304] ; (8036198 ) 8036066: fba2 1203 umull r1, r2, r2, r3 803606a: 0b52 lsrs r2, r2, #13 803606c: f242 7110 movw r1, #10000 ; 0x2710 8036070: fb01 f202 mul.w r2, r1, r2 8036074: 1a9a subs r2, r3, r2 8036076: 4b49 ldr r3, [pc, #292] ; (803619c ) 8036078: fba3 1302 umull r1, r3, r3, r2 803607c: 099b lsrs r3, r3, #6 803607e: f44f 717a mov.w r1, #1000 ; 0x3e8 8036082: fb01 f303 mul.w r3, r1, r3 8036086: 1ad3 subs r3, r2, r3 8036088: 4a45 ldr r2, [pc, #276] ; (80361a0 ) 803608a: fba2 1203 umull r1, r2, r2, r3 803608e: 0952 lsrs r2, r2, #5 8036090: 2164 movs r1, #100 ; 0x64 8036092: fb01 f202 mul.w r2, r1, r2 8036096: 1a9a subs r2, r3, r2 8036098: 4b39 ldr r3, [pc, #228] ; (8036180 ) 803609a: fba3 2302 umull r2, r3, r3, r2 803609e: 08db lsrs r3, r3, #3 80360a0: b2db uxtb r3, r3 80360a2: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 80360a6: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80360aa: 0953 lsrs r3, r2, #5 80360ac: 4938 ldr r1, [pc, #224] ; (8036190 ) 80360ae: fba1 1303 umull r1, r3, r1, r3 80360b2: 09db lsrs r3, r3, #7 80360b4: 4937 ldr r1, [pc, #220] ; (8036194 ) 80360b6: fb01 f303 mul.w r3, r1, r3 80360ba: 1ad3 subs r3, r2, r3 80360bc: 4a36 ldr r2, [pc, #216] ; (8036198 ) 80360be: fba2 1203 umull r1, r2, r2, r3 80360c2: 0b52 lsrs r2, r2, #13 80360c4: f242 7110 movw r1, #10000 ; 0x2710 80360c8: fb01 f202 mul.w r2, r1, r2 80360cc: 1a9a subs r2, r3, r2 80360ce: 4b33 ldr r3, [pc, #204] ; (803619c ) 80360d0: fba3 1302 umull r1, r3, r3, r2 80360d4: 099b lsrs r3, r3, #6 80360d6: f44f 717a mov.w r1, #1000 ; 0x3e8 80360da: fb01 f303 mul.w r3, r1, r3 80360de: 1ad3 subs r3, r2, r3 80360e0: 4a2f ldr r2, [pc, #188] ; (80361a0 ) 80360e2: fba2 1203 umull r1, r2, r2, r3 80360e6: 0952 lsrs r2, r2, #5 80360e8: 2164 movs r1, #100 ; 0x64 80360ea: fb01 f202 mul.w r2, r1, r2 80360ee: 1a9a subs r2, r3, r2 80360f0: 4b23 ldr r3, [pc, #140] ; (8036180 ) 80360f2: fba3 1302 umull r1, r3, r3, r2 80360f6: 08d9 lsrs r1, r3, #3 80360f8: 460b mov r3, r1 80360fa: 009b lsls r3, r3, #2 80360fc: 440b add r3, r1 80360fe: 005b lsls r3, r3, #1 8036100: 1ad1 subs r1, r2, r3 8036102: b2cb uxtb r3, r1 8036104: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 8036108: 4b20 ldr r3, [pc, #128] ; (803618c ) 803610a: 781b ldrb r3, [r3, #0] 803610c: b2db uxtb r3, r3 803610e: 3b19 subs r3, #25 8036110: 2b05 cmp r3, #5 8036112: d853 bhi.n 80361bc 8036114: a201 add r2, pc, #4 ; (adr r2, 803611c ) 8036116: f852 f023 ldr.w pc, [r2, r3, lsl #2] 803611a: bf00 nop 803611c: 08036135 .word 0x08036135 8036120: 08036143 .word 0x08036143 8036124: 08036153 .word 0x08036153 8036128: 08036161 .word 0x08036161 803612c: 080361a5 .word 0x080361a5 8036130: 080361b1 .word 0x080361b1 k += 100000; 8036134: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8036138: 4b16 ldr r3, [pc, #88] ; (8036194 ) 803613a: 4413 add r3, r2 803613c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8036140: e03c b.n 80361bc k += 10000; 8036142: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8036146: f242 7310 movw r3, #10000 ; 0x2710 803614a: 4413 add r3, r2 803614c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8036150: e034 b.n 80361bc k += 1000; 8036152: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8036156: f503 737a add.w r3, r3, #1000 ; 0x3e8 803615a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803615e: e02d b.n 80361bc k += 100; 8036160: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8036164: 3364 adds r3, #100 ; 0x64 8036166: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803616a: e027 b.n 80361bc 803616c: 20023e60 .word 0x20023e60 8036170: 080ee890 .word 0x080ee890 8036174: 3851b717 .word 0x3851b717 8036178: 20021011 .word 0x20021011 803617c: 20021013 .word 0x20021013 8036180: cccccccd .word 0xcccccccd 8036184: 38d1b717 .word 0x38d1b717 8036188: 3dcccccd .word 0x3dcccccd 803618c: 20020070 .word 0x20020070 8036190: 0a7c5ac5 .word 0x0a7c5ac5 8036194: 000186a0 .word 0x000186a0 8036198: d1b71759 .word 0xd1b71759 803619c: 10624dd3 .word 0x10624dd3 80361a0: 51eb851f .word 0x51eb851f k += 10; 80361a4: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80361a8: 330a adds r3, #10 80361aa: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80361ae: e005 b.n 80361bc k++; 80361b0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80361b4: 3301 adds r3, #1 80361b6: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80361ba: bf00 nop if(k > 999999) k = 999999; 80361bc: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80361c0: 4abd ldr r2, [pc, #756] ; (80364b8 ) 80361c2: 4293 cmp r3, r2 80361c4: d902 bls.n 80361cc 80361c6: 4bbc ldr r3, [pc, #752] ; (80364b8 ) 80361c8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 if(k == 0) k = 1; 80361cc: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80361d0: 2b00 cmp r3, #0 80361d2: d102 bne.n 80361da 80361d4: 2301 movs r3, #1 80361d6: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.DIAGN_W[CURR_POINT][CURR_USL] = (float32_t) k; 80361da: 4bb8 ldr r3, [pc, #736] ; (80364bc ) 80361dc: 781b ldrb r3, [r3, #0] 80361de: b2db uxtb r3, r3 80361e0: 4618 mov r0, r3 80361e2: 4bb7 ldr r3, [pc, #732] ; (80364c0 ) 80361e4: 781b ldrb r3, [r3, #0] 80361e6: b2db uxtb r3, r3 80361e8: 4619 mov r1, r3 80361ea: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80361ee: ee07 3a90 vmov s15, r3 80361f2: eef8 7a67 vcvt.f32.u32 s15, s15 80361f6: 4ab3 ldr r2, [pc, #716] ; (80364c4 ) 80361f8: 0083 lsls r3, r0, #2 80361fa: 440b add r3, r1 80361fc: 33d6 adds r3, #214 ; 0xd6 80361fe: 009b lsls r3, r3, #2 8036200: 4413 add r3, r2 8036202: 3304 adds r3, #4 8036204: edc3 7a00 vstr s15, [r3] pardata.DIAGN_W[CURR_POINT][CURR_USL] *= 0.1f; 8036208: 4bac ldr r3, [pc, #688] ; (80364bc ) 803620a: 781b ldrb r3, [r3, #0] 803620c: b2da uxtb r2, r3 803620e: 4610 mov r0, r2 8036210: 4bab ldr r3, [pc, #684] ; (80364c0 ) 8036212: 781b ldrb r3, [r3, #0] 8036214: b2db uxtb r3, r3 8036216: 4619 mov r1, r3 8036218: 4615 mov r5, r2 803621a: 461c mov r4, r3 803621c: 4aa9 ldr r2, [pc, #676] ; (80364c4 ) 803621e: 00ab lsls r3, r5, #2 8036220: 4423 add r3, r4 8036222: 33d6 adds r3, #214 ; 0xd6 8036224: 009b lsls r3, r3, #2 8036226: 4413 add r3, r2 8036228: 3304 adds r3, #4 803622a: edd3 7a00 vldr s15, [r3] 803622e: ed9f 7aa6 vldr s14, [pc, #664] ; 80364c8 8036232: ee67 7a87 vmul.f32 s15, s15, s14 8036236: 4aa3 ldr r2, [pc, #652] ; (80364c4 ) 8036238: 0083 lsls r3, r0, #2 803623a: 440b add r3, r1 803623c: 33d6 adds r3, #214 ; 0xd6 803623e: 009b lsls r3, r3, #2 8036240: 4413 add r3, r2 8036242: 3304 adds r3, #4 8036244: edc3 7a00 vstr s15, [r3] pardata.DIAGN_W[CURR_POINT][CURR_USL] += 0.05f; 8036248: 4b9c ldr r3, [pc, #624] ; (80364bc ) 803624a: 781b ldrb r3, [r3, #0] 803624c: b2da uxtb r2, r3 803624e: 4610 mov r0, r2 8036250: 4b9b ldr r3, [pc, #620] ; (80364c0 ) 8036252: 781b ldrb r3, [r3, #0] 8036254: b2db uxtb r3, r3 8036256: 4619 mov r1, r3 8036258: 4615 mov r5, r2 803625a: 461c mov r4, r3 803625c: 4a99 ldr r2, [pc, #612] ; (80364c4 ) 803625e: 00ab lsls r3, r5, #2 8036260: 4423 add r3, r4 8036262: 33d6 adds r3, #214 ; 0xd6 8036264: 009b lsls r3, r3, #2 8036266: 4413 add r3, r2 8036268: 3304 adds r3, #4 803626a: edd3 7a00 vldr s15, [r3] 803626e: ed9f 7a97 vldr s14, [pc, #604] ; 80364cc 8036272: ee77 7a87 vadd.f32 s15, s15, s14 8036276: 4a93 ldr r2, [pc, #588] ; (80364c4 ) 8036278: 0083 lsls r3, r0, #2 803627a: 440b add r3, r1 803627c: 33d6 adds r3, #214 ; 0xd6 803627e: 009b lsls r3, r3, #2 8036280: 4413 add r3, r2 8036282: 3304 adds r3, #4 8036284: edc3 7a00 vstr s15, [r3] 8036288: e19e b.n 80365c8 if((menupos >= DiagA_IDT) && (menupos <= DiagA_IKD)) 803628a: 4b91 ldr r3, [pc, #580] ; (80364d0 ) 803628c: 781b ldrb r3, [r3, #0] 803628e: b2db uxtb r3, r3 8036290: 2b1e cmp r3, #30 8036292: f245 859c bls.w 803bdce 8036296: 4b8e ldr r3, [pc, #568] ; (80364d0 ) 8036298: 781b ldrb r3, [r3, #0] 803629a: b2db uxtb r3, r3 803629c: 2b24 cmp r3, #36 ; 0x24 803629e: f205 8596 bhi.w 803bdce k = (uint32_t) (pardata.DIAGN_A[CURR_POINT][CURR_USL] * 10.0f); 80362a2: 4b86 ldr r3, [pc, #536] ; (80364bc ) 80362a4: 781b ldrb r3, [r3, #0] 80362a6: b2db uxtb r3, r3 80362a8: 4618 mov r0, r3 80362aa: 4b85 ldr r3, [pc, #532] ; (80364c0 ) 80362ac: 781b ldrb r3, [r3, #0] 80362ae: b2db uxtb r3, r3 80362b0: 4619 mov r1, r3 80362b2: 4a84 ldr r2, [pc, #528] ; (80364c4 ) 80362b4: 0083 lsls r3, r0, #2 80362b6: 440b add r3, r1 80362b8: 33f6 adds r3, #246 ; 0xf6 80362ba: 009b lsls r3, r3, #2 80362bc: 4413 add r3, r2 80362be: 3304 adds r3, #4 80362c0: edd3 7a00 vldr s15, [r3] 80362c4: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80362c8: ee67 7a87 vmul.f32 s15, s15, s14 80362cc: eefc 7ae7 vcvt.u32.f32 s15, s15 80362d0: ee17 3a90 vmov r3, s15 80362d4: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 80362d8: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80362dc: 095b lsrs r3, r3, #5 80362de: 4a7d ldr r2, [pc, #500] ; (80364d4 ) 80362e0: fba2 2303 umull r2, r3, r2, r3 80362e4: 09db lsrs r3, r3, #7 80362e6: b2db uxtb r3, r3 80362e8: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 80362ec: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80362f0: 0953 lsrs r3, r2, #5 80362f2: 4978 ldr r1, [pc, #480] ; (80364d4 ) 80362f4: fba1 1303 umull r1, r3, r1, r3 80362f8: 09db lsrs r3, r3, #7 80362fa: 4977 ldr r1, [pc, #476] ; (80364d8 ) 80362fc: fb01 f303 mul.w r3, r1, r3 8036300: 1ad3 subs r3, r2, r3 8036302: 4a76 ldr r2, [pc, #472] ; (80364dc ) 8036304: fba2 2303 umull r2, r3, r2, r3 8036308: 0b5b lsrs r3, r3, #13 803630a: b2db uxtb r3, r3 803630c: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 8036310: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8036314: 0953 lsrs r3, r2, #5 8036316: 496f ldr r1, [pc, #444] ; (80364d4 ) 8036318: fba1 1303 umull r1, r3, r1, r3 803631c: 09db lsrs r3, r3, #7 803631e: 496e ldr r1, [pc, #440] ; (80364d8 ) 8036320: fb01 f303 mul.w r3, r1, r3 8036324: 1ad3 subs r3, r2, r3 8036326: 4a6d ldr r2, [pc, #436] ; (80364dc ) 8036328: fba2 1203 umull r1, r2, r2, r3 803632c: 0b52 lsrs r2, r2, #13 803632e: f242 7110 movw r1, #10000 ; 0x2710 8036332: fb01 f202 mul.w r2, r1, r2 8036336: 1a9a subs r2, r3, r2 8036338: 4b69 ldr r3, [pc, #420] ; (80364e0 ) 803633a: fba3 2302 umull r2, r3, r3, r2 803633e: 099b lsrs r3, r3, #6 8036340: b2db uxtb r3, r3 8036342: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 8036346: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803634a: 095a lsrs r2, r3, #5 803634c: 4961 ldr r1, [pc, #388] ; (80364d4 ) 803634e: fba1 1202 umull r1, r2, r1, r2 8036352: 09d2 lsrs r2, r2, #7 8036354: 4960 ldr r1, [pc, #384] ; (80364d8 ) 8036356: fb01 f202 mul.w r2, r1, r2 803635a: 1a9a subs r2, r3, r2 803635c: 4b5f ldr r3, [pc, #380] ; (80364dc ) 803635e: fba3 1302 umull r1, r3, r3, r2 8036362: 0b5b lsrs r3, r3, #13 8036364: f242 7110 movw r1, #10000 ; 0x2710 8036368: fb01 f303 mul.w r3, r1, r3 803636c: 1ad3 subs r3, r2, r3 803636e: 4a5c ldr r2, [pc, #368] ; (80364e0 ) 8036370: fba2 1203 umull r1, r2, r2, r3 8036374: 0992 lsrs r2, r2, #6 8036376: f44f 717a mov.w r1, #1000 ; 0x3e8 803637a: fb01 f202 mul.w r2, r1, r2 803637e: 1a9a subs r2, r3, r2 8036380: 4b58 ldr r3, [pc, #352] ; (80364e4 ) 8036382: fba3 2302 umull r2, r3, r3, r2 8036386: 095b lsrs r3, r3, #5 8036388: b2db uxtb r3, r3 803638a: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 803638e: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8036392: 0953 lsrs r3, r2, #5 8036394: 494f ldr r1, [pc, #316] ; (80364d4 ) 8036396: fba1 1303 umull r1, r3, r1, r3 803639a: 09db lsrs r3, r3, #7 803639c: 494e ldr r1, [pc, #312] ; (80364d8 ) 803639e: fb01 f303 mul.w r3, r1, r3 80363a2: 1ad3 subs r3, r2, r3 80363a4: 4a4d ldr r2, [pc, #308] ; (80364dc ) 80363a6: fba2 1203 umull r1, r2, r2, r3 80363aa: 0b52 lsrs r2, r2, #13 80363ac: f242 7110 movw r1, #10000 ; 0x2710 80363b0: fb01 f202 mul.w r2, r1, r2 80363b4: 1a9a subs r2, r3, r2 80363b6: 4b4a ldr r3, [pc, #296] ; (80364e0 ) 80363b8: fba3 1302 umull r1, r3, r3, r2 80363bc: 099b lsrs r3, r3, #6 80363be: f44f 717a mov.w r1, #1000 ; 0x3e8 80363c2: fb01 f303 mul.w r3, r1, r3 80363c6: 1ad3 subs r3, r2, r3 80363c8: 4a46 ldr r2, [pc, #280] ; (80364e4 ) 80363ca: fba2 1203 umull r1, r2, r2, r3 80363ce: 0952 lsrs r2, r2, #5 80363d0: 2164 movs r1, #100 ; 0x64 80363d2: fb01 f202 mul.w r2, r1, r2 80363d6: 1a9a subs r2, r3, r2 80363d8: 4b43 ldr r3, [pc, #268] ; (80364e8 ) 80363da: fba3 2302 umull r2, r3, r3, r2 80363de: 08db lsrs r3, r3, #3 80363e0: b2db uxtb r3, r3 80363e2: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 80363e6: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80363ea: 0953 lsrs r3, r2, #5 80363ec: 4939 ldr r1, [pc, #228] ; (80364d4 ) 80363ee: fba1 1303 umull r1, r3, r1, r3 80363f2: 09db lsrs r3, r3, #7 80363f4: 4938 ldr r1, [pc, #224] ; (80364d8 ) 80363f6: fb01 f303 mul.w r3, r1, r3 80363fa: 1ad3 subs r3, r2, r3 80363fc: 4a37 ldr r2, [pc, #220] ; (80364dc ) 80363fe: fba2 1203 umull r1, r2, r2, r3 8036402: 0b52 lsrs r2, r2, #13 8036404: f242 7110 movw r1, #10000 ; 0x2710 8036408: fb01 f202 mul.w r2, r1, r2 803640c: 1a9a subs r2, r3, r2 803640e: 4b34 ldr r3, [pc, #208] ; (80364e0 ) 8036410: fba3 1302 umull r1, r3, r3, r2 8036414: 099b lsrs r3, r3, #6 8036416: f44f 717a mov.w r1, #1000 ; 0x3e8 803641a: fb01 f303 mul.w r3, r1, r3 803641e: 1ad3 subs r3, r2, r3 8036420: 4a30 ldr r2, [pc, #192] ; (80364e4 ) 8036422: fba2 1203 umull r1, r2, r2, r3 8036426: 0952 lsrs r2, r2, #5 8036428: 2164 movs r1, #100 ; 0x64 803642a: fb01 f202 mul.w r2, r1, r2 803642e: 1a9a subs r2, r3, r2 8036430: 4b2d ldr r3, [pc, #180] ; (80364e8 ) 8036432: fba3 1302 umull r1, r3, r3, r2 8036436: 08d9 lsrs r1, r3, #3 8036438: 460b mov r3, r1 803643a: 009b lsls r3, r3, #2 803643c: 440b add r3, r1 803643e: 005b lsls r3, r3, #1 8036440: 1ad1 subs r1, r2, r3 8036442: b2cb uxtb r3, r1 8036444: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 8036448: 4b21 ldr r3, [pc, #132] ; (80364d0 ) 803644a: 781b ldrb r3, [r3, #0] 803644c: b2db uxtb r3, r3 803644e: 3b1f subs r3, #31 8036450: 2b05 cmp r3, #5 8036452: d851 bhi.n 80364f8 8036454: a201 add r2, pc, #4 ; (adr r2, 803645c ) 8036456: f852 f023 ldr.w pc, [r2, r3, lsl #2] 803645a: bf00 nop 803645c: 08036475 .word 0x08036475 8036460: 08036483 .word 0x08036483 8036464: 08036493 .word 0x08036493 8036468: 080364a1 .word 0x080364a1 803646c: 080364ad .word 0x080364ad 8036470: 080364ed .word 0x080364ed k += 100000; 8036474: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8036478: 4b17 ldr r3, [pc, #92] ; (80364d8 ) 803647a: 4413 add r3, r2 803647c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8036480: e03a b.n 80364f8 k += 10000; 8036482: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8036486: f242 7310 movw r3, #10000 ; 0x2710 803648a: 4413 add r3, r2 803648c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8036490: e032 b.n 80364f8 k += 1000; 8036492: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8036496: f503 737a add.w r3, r3, #1000 ; 0x3e8 803649a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803649e: e02b b.n 80364f8 k += 100; 80364a0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80364a4: 3364 adds r3, #100 ; 0x64 80364a6: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80364aa: e025 b.n 80364f8 k += 10; 80364ac: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80364b0: 330a adds r3, #10 80364b2: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80364b6: e01f b.n 80364f8 80364b8: 000f423f .word 0x000f423f 80364bc: 20021011 .word 0x20021011 80364c0: 20021013 .word 0x20021013 80364c4: 20023e60 .word 0x20023e60 80364c8: 3dcccccd .word 0x3dcccccd 80364cc: 3d4ccccd .word 0x3d4ccccd 80364d0: 20020070 .word 0x20020070 80364d4: 0a7c5ac5 .word 0x0a7c5ac5 80364d8: 000186a0 .word 0x000186a0 80364dc: d1b71759 .word 0xd1b71759 80364e0: 10624dd3 .word 0x10624dd3 80364e4: 51eb851f .word 0x51eb851f 80364e8: cccccccd .word 0xcccccccd k++; 80364ec: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80364f0: 3301 adds r3, #1 80364f2: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80364f6: bf00 nop if(k > 999999) k = 999999; 80364f8: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80364fc: 4ab7 ldr r2, [pc, #732] ; (80367dc ) 80364fe: 4293 cmp r3, r2 8036500: d902 bls.n 8036508 8036502: 4bb6 ldr r3, [pc, #728] ; (80367dc ) 8036504: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 if(k == 0) k = 1; 8036508: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803650c: 2b00 cmp r3, #0 803650e: d102 bne.n 8036516 8036510: 2301 movs r3, #1 8036512: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.DIAGN_A[CURR_POINT][CURR_USL] = (float32_t) k; 8036516: 4bb2 ldr r3, [pc, #712] ; (80367e0 ) 8036518: 781b ldrb r3, [r3, #0] 803651a: b2db uxtb r3, r3 803651c: 4618 mov r0, r3 803651e: 4bb1 ldr r3, [pc, #708] ; (80367e4 ) 8036520: 781b ldrb r3, [r3, #0] 8036522: b2db uxtb r3, r3 8036524: 4619 mov r1, r3 8036526: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803652a: ee07 3a90 vmov s15, r3 803652e: eef8 7a67 vcvt.f32.u32 s15, s15 8036532: 4aad ldr r2, [pc, #692] ; (80367e8 ) 8036534: 0083 lsls r3, r0, #2 8036536: 440b add r3, r1 8036538: 33f6 adds r3, #246 ; 0xf6 803653a: 009b lsls r3, r3, #2 803653c: 4413 add r3, r2 803653e: 3304 adds r3, #4 8036540: edc3 7a00 vstr s15, [r3] pardata.DIAGN_A[CURR_POINT][CURR_USL] *= 0.1f; 8036544: 4ba6 ldr r3, [pc, #664] ; (80367e0 ) 8036546: 781b ldrb r3, [r3, #0] 8036548: b2da uxtb r2, r3 803654a: 4610 mov r0, r2 803654c: 4ba5 ldr r3, [pc, #660] ; (80367e4 ) 803654e: 781b ldrb r3, [r3, #0] 8036550: b2db uxtb r3, r3 8036552: 4619 mov r1, r3 8036554: 4615 mov r5, r2 8036556: 461c mov r4, r3 8036558: 4aa3 ldr r2, [pc, #652] ; (80367e8 ) 803655a: 00ab lsls r3, r5, #2 803655c: 4423 add r3, r4 803655e: 33f6 adds r3, #246 ; 0xf6 8036560: 009b lsls r3, r3, #2 8036562: 4413 add r3, r2 8036564: 3304 adds r3, #4 8036566: edd3 7a00 vldr s15, [r3] 803656a: ed9f 7aa0 vldr s14, [pc, #640] ; 80367ec 803656e: ee67 7a87 vmul.f32 s15, s15, s14 8036572: 4a9d ldr r2, [pc, #628] ; (80367e8 ) 8036574: 0083 lsls r3, r0, #2 8036576: 440b add r3, r1 8036578: 33f6 adds r3, #246 ; 0xf6 803657a: 009b lsls r3, r3, #2 803657c: 4413 add r3, r2 803657e: 3304 adds r3, #4 8036580: edc3 7a00 vstr s15, [r3] pardata.DIAGN_A[CURR_POINT][CURR_USL] += 0.05f; 8036584: 4b96 ldr r3, [pc, #600] ; (80367e0 ) 8036586: 781b ldrb r3, [r3, #0] 8036588: b2da uxtb r2, r3 803658a: 4610 mov r0, r2 803658c: 4b95 ldr r3, [pc, #596] ; (80367e4 ) 803658e: 781b ldrb r3, [r3, #0] 8036590: b2db uxtb r3, r3 8036592: 4619 mov r1, r3 8036594: 4615 mov r5, r2 8036596: 461c mov r4, r3 8036598: 4a93 ldr r2, [pc, #588] ; (80367e8 ) 803659a: 00ab lsls r3, r5, #2 803659c: 4423 add r3, r4 803659e: 33f6 adds r3, #246 ; 0xf6 80365a0: 009b lsls r3, r3, #2 80365a2: 4413 add r3, r2 80365a4: 3304 adds r3, #4 80365a6: edd3 7a00 vldr s15, [r3] 80365aa: ed9f 7a91 vldr s14, [pc, #580] ; 80367f0 80365ae: ee77 7a87 vadd.f32 s15, s15, s14 80365b2: 4a8d ldr r2, [pc, #564] ; (80367e8 ) 80365b4: 0083 lsls r3, r0, #2 80365b6: 440b add r3, r1 80365b8: 33f6 adds r3, #246 ; 0xf6 80365ba: 009b lsls r3, r3, #2 80365bc: 4413 add r3, r2 80365be: 3304 adds r3, #4 80365c0: edc3 7a00 vstr s15, [r3] break; 80365c4: f005 bc03 b.w 803bdce 80365c8: f005 bc01 b.w 803bdce case ROLL_RESULTS: if(menupos > 0) menupos--; 80365cc: 4b89 ldr r3, [pc, #548] ; (80367f4 ) 80365ce: 781b ldrb r3, [r3, #0] 80365d0: b2db uxtb r3, r3 80365d2: 2b00 cmp r3, #0 80365d4: d008 beq.n 80365e8 80365d6: 4b87 ldr r3, [pc, #540] ; (80367f4 ) 80365d8: 781b ldrb r3, [r3, #0] 80365da: b2db uxtb r3, r3 80365dc: 3b01 subs r3, #1 80365de: b2da uxtb r2, r3 80365e0: 4b84 ldr r3, [pc, #528] ; (80367f4 ) 80365e2: 701a strb r2, [r3, #0] else menupos = 11; break; 80365e4: f005 bc39 b.w 803be5a else menupos = 11; 80365e8: 4b82 ldr r3, [pc, #520] ; (80367f4 ) 80365ea: 220b movs r2, #11 80365ec: 701a strb r2, [r3, #0] break; 80365ee: f005 bc34 b.w 803be5a case TREND_A: menu = TREND_V; 80365f2: 4b81 ldr r3, [pc, #516] ; (80367f8 ) 80365f4: 2246 movs r2, #70 ; 0x46 80365f6: 701a strb r2, [r3, #0] break; 80365f8: f005 bc2f b.w 803be5a case TREND_V: menu = TREND_S; 80365fc: 4b7e ldr r3, [pc, #504] ; (80367f8 ) 80365fe: 2247 movs r2, #71 ; 0x47 8036600: 701a strb r2, [r3, #0] break; 8036602: f005 bc2a b.w 803be5a case TREND_S: menu = TREND_A; 8036606: 4b7c ldr r3, [pc, #496] ; (80367f8 ) 8036608: 2245 movs r2, #69 ; 0x45 803660a: 701a strb r2, [r3, #0] break; 803660c: f005 bc25 b.w 803be5a case MAIN_UDAR: if(AUTOKU) 8036610: 4b7a ldr r3, [pc, #488] ; (80367fc ) 8036612: 781b ldrb r3, [r3, #0] 8036614: b2db uxtb r3, r3 8036616: 2b00 cmp r3, #0 8036618: d002 beq.n 8036620 AUTOKU = false; 803661a: 4b78 ldr r3, [pc, #480] ; (80367fc ) 803661c: 2200 movs r2, #0 803661e: 701a strb r2, [r3, #0] if(pardata.IKU < Ku8) 8036620: 4b71 ldr r3, [pc, #452] ; (80367e8 ) 8036622: 7a1b ldrb r3, [r3, #8] 8036624: b2db uxtb r3, r3 8036626: 2b02 cmp r3, #2 8036628: d80a bhi.n 8036640 { pardata.IKU++; 803662a: 4b6f ldr r3, [pc, #444] ; (80367e8 ) 803662c: 7a1b ldrb r3, [r3, #8] 803662e: b2db uxtb r3, r3 8036630: 3301 adds r3, #1 8036632: b2da uxtb r2, r3 8036634: 4b6c ldr r3, [pc, #432] ; (80367e8 ) 8036636: 721a strb r2, [r3, #8] SetKU(); 8036638: f7eb f91c bl 8021874 } else pardata.IKU = Ku8; break; 803663c: f005 bc0d b.w 803be5a pardata.IKU = Ku8; 8036640: 4b69 ldr r3, [pc, #420] ; (80367e8 ) 8036642: 2203 movs r2, #3 8036644: 721a strb r2, [r3, #8] break; 8036646: f005 bc08 b.w 803be5a case MAIN_DIAGN: switch(menupos) 803664a: 4b6a ldr r3, [pc, #424] ; (80367f4 ) 803664c: 781b ldrb r3, [r3, #0] 803664e: b2db uxtb r3, r3 8036650: 2b03 cmp r3, #3 8036652: d003 beq.n 803665c 8036654: 2b04 cmp r3, #4 8036656: d032 beq.n 80366be } } } break; } break; 8036658: f005 bbff b.w 803be5a if((!measuring) && (!ReadFromFile)) 803665c: 4b68 ldr r3, [pc, #416] ; (8036800 ) 803665e: 781b ldrb r3, [r3, #0] 8036660: b2db uxtb r3, r3 8036662: f083 0301 eor.w r3, r3, #1 8036666: b2db uxtb r3, r3 8036668: 2b00 cmp r3, #0 803666a: d064 beq.n 8036736 803666c: 4b65 ldr r3, [pc, #404] ; (8036804 ) 803666e: 781b ldrb r3, [r3, #0] 8036670: b2db uxtb r3, r3 8036672: f083 0301 eor.w r3, r3, #1 8036676: b2db uxtb r3, r3 8036678: 2b00 cmp r3, #0 803667a: d05c beq.n 8036736 if(CardState == MSD_READY) 803667c: 4b62 ldr r3, [pc, #392] ; (8036808 ) 803667e: 781b ldrb r3, [r3, #0] 8036680: b2db uxtb r3, r3 8036682: 2b03 cmp r3, #3 8036684: d157 bne.n 8036736 if(NextIndexPoint < NUM_POINTS - 1) 8036686: 4b61 ldr r3, [pc, #388] ; (803680c ) 8036688: 681b ldr r3, [r3, #0] 803668a: f240 32e6 movw r2, #998 ; 0x3e6 803668e: 4293 cmp r3, r2 8036690: d851 bhi.n 8036736 NextIndexPoint++; 8036692: 4b5e ldr r3, [pc, #376] ; (803680c ) 8036694: 681b ldr r3, [r3, #0] 8036696: 3301 adds r3, #1 8036698: 4a5c ldr r2, [pc, #368] ; (803680c ) 803669a: 6013 str r3, [r2, #0] NextIndexMeas = IndexMeas[NextIndexPoint]; 803669c: 4b5b ldr r3, [pc, #364] ; (803680c ) 803669e: 681b ldr r3, [r3, #0] 80366a0: 4a5b ldr r2, [pc, #364] ; (8036810 ) 80366a2: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80366a6: 4a5b ldr r2, [pc, #364] ; (8036814 ) 80366a8: 6013 str r3, [r2, #0] result = ReadFileDGN(DiagFileName); 80366aa: 485b ldr r0, [pc, #364] ; (8036818 ) 80366ac: f7f0 fe96 bl 80273dc 80366b0: 4603 mov r3, r0 80366b2: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 DrawSavedData = false; 80366b6: 4b59 ldr r3, [pc, #356] ; (803681c ) 80366b8: 2200 movs r2, #0 80366ba: 701a strb r2, [r3, #0] break; 80366bc: e03b b.n 8036736 if((!measuring) && (!ReadFromFile)) 80366be: 4b50 ldr r3, [pc, #320] ; (8036800 ) 80366c0: 781b ldrb r3, [r3, #0] 80366c2: b2db uxtb r3, r3 80366c4: f083 0301 eor.w r3, r3, #1 80366c8: b2db uxtb r3, r3 80366ca: 2b00 cmp r3, #0 80366cc: d036 beq.n 803673c 80366ce: 4b4d ldr r3, [pc, #308] ; (8036804 ) 80366d0: 781b ldrb r3, [r3, #0] 80366d2: b2db uxtb r3, r3 80366d4: f083 0301 eor.w r3, r3, #1 80366d8: b2db uxtb r3, r3 80366da: 2b00 cmp r3, #0 80366dc: d02e beq.n 803673c if(CardState == MSD_READY) 80366de: 4b4a ldr r3, [pc, #296] ; (8036808 ) 80366e0: 781b ldrb r3, [r3, #0] 80366e2: b2db uxtb r3, r3 80366e4: 2b03 cmp r3, #3 80366e6: d129 bne.n 803673c if(NextIndexMeas < IndexMeas[NextIndexPoint]) 80366e8: 4b48 ldr r3, [pc, #288] ; (803680c ) 80366ea: 681b ldr r3, [r3, #0] 80366ec: 4a48 ldr r2, [pc, #288] ; (8036810 ) 80366ee: f852 2023 ldr.w r2, [r2, r3, lsl #2] 80366f2: 4b48 ldr r3, [pc, #288] ; (8036814 ) 80366f4: 681b ldr r3, [r3, #0] 80366f6: 429a cmp r2, r3 80366f8: d920 bls.n 803673c if(NextIndexMeas < 999) 80366fa: 4b46 ldr r3, [pc, #280] ; (8036814 ) 80366fc: 681b ldr r3, [r3, #0] 80366fe: f240 32e6 movw r2, #998 ; 0x3e6 8036702: 4293 cmp r3, r2 8036704: d81a bhi.n 803673c NextIndexMeas++; 8036706: 4b43 ldr r3, [pc, #268] ; (8036814 ) 8036708: 681b ldr r3, [r3, #0] 803670a: 3301 adds r3, #1 803670c: 4a41 ldr r2, [pc, #260] ; (8036814 ) 803670e: 6013 str r3, [r2, #0] result = ReadFileDGN(DiagFileName); 8036710: 4841 ldr r0, [pc, #260] ; (8036818 ) 8036712: f7f0 fe63 bl 80273dc 8036716: 4603 mov r3, r0 8036718: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(NextIndexMeas == IndexMeas[NextIndexPoint]) 803671c: 4b3b ldr r3, [pc, #236] ; (803680c ) 803671e: 681b ldr r3, [r3, #0] 8036720: 4a3b ldr r2, [pc, #236] ; (8036810 ) 8036722: f852 2023 ldr.w r2, [r2, r3, lsl #2] 8036726: 4b3b ldr r3, [pc, #236] ; (8036814 ) 8036728: 681b ldr r3, [r3, #0] 803672a: 429a cmp r2, r3 803672c: d106 bne.n 803673c DrawSavedData = false; 803672e: 4b3b ldr r3, [pc, #236] ; (803681c ) 8036730: 2200 movs r2, #0 8036732: 701a strb r2, [r3, #0] break; 8036734: e002 b.n 803673c break; 8036736: bf00 nop 8036738: f005 bb8f b.w 803be5a break; 803673c: bf00 nop break; 803673e: f005 bb8c b.w 803be5a case MAIN: case MAIN_FRAN: switch(menupos) 8036742: 4b2c ldr r3, [pc, #176] ; (80367f4 ) 8036744: 781b ldrb r3, [r3, #0] 8036746: b2db uxtb r3, r3 8036748: 2b06 cmp r3, #6 803674a: f205 8343 bhi.w 803bdd4 803674e: a201 add r2, pc, #4 ; (adr r2, 8036754 ) 8036750: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8036754: 0803689d .word 0x0803689d 8036758: 0803bdd5 .word 0x0803bdd5 803675c: 0803689d .word 0x0803689d 8036760: 08036771 .word 0x08036771 8036764: 08036825 .word 0x08036825 8036768: 0803bdd5 .word 0x0803bdd5 803676c: 0803689d .word 0x0803689d { case MyPoint: if((!measuring) && (!ReadFromFile)) 8036770: 4b23 ldr r3, [pc, #140] ; (8036800 ) 8036772: 781b ldrb r3, [r3, #0] 8036774: b2db uxtb r3, r3 8036776: f083 0301 eor.w r3, r3, #1 803677a: b2db uxtb r3, r3 803677c: 2b00 cmp r3, #0 803677e: f000 80cd beq.w 803691c 8036782: 4b20 ldr r3, [pc, #128] ; (8036804 ) 8036784: 781b ldrb r3, [r3, #0] 8036786: b2db uxtb r3, r3 8036788: f083 0301 eor.w r3, r3, #1 803678c: b2db uxtb r3, r3 803678e: 2b00 cmp r3, #0 8036790: f000 80c4 beq.w 803691c { if(CardState == MSD_READY) 8036794: 4b1c ldr r3, [pc, #112] ; (8036808 ) 8036796: 781b ldrb r3, [r3, #0] 8036798: b2db uxtb r3, r3 803679a: 2b03 cmp r3, #3 803679c: f040 80be bne.w 803691c { if(NextIndexPoint < NUM_POINTS - 1) 80367a0: 4b1a ldr r3, [pc, #104] ; (803680c ) 80367a2: 681b ldr r3, [r3, #0] 80367a4: f240 32e6 movw r2, #998 ; 0x3e6 80367a8: 4293 cmp r3, r2 80367aa: f200 80b7 bhi.w 803691c { NextIndexPoint++; 80367ae: 4b17 ldr r3, [pc, #92] ; (803680c ) 80367b0: 681b ldr r3, [r3, #0] 80367b2: 3301 adds r3, #1 80367b4: 4a15 ldr r2, [pc, #84] ; (803680c ) 80367b6: 6013 str r3, [r2, #0] NextIndexMeas = IndexMeas[NextIndexPoint]; 80367b8: 4b14 ldr r3, [pc, #80] ; (803680c ) 80367ba: 681b ldr r3, [r3, #0] 80367bc: 4a14 ldr r2, [pc, #80] ; (8036810 ) 80367be: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80367c2: 4a14 ldr r2, [pc, #80] ; (8036814 ) 80367c4: 6013 str r3, [r2, #0] result = ReadFilePTM(MeasFileName); 80367c6: 4816 ldr r0, [pc, #88] ; (8036820 ) 80367c8: f7f0 fb84 bl 8026ed4 80367cc: 4603 mov r3, r0 80367ce: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 DrawSavedData = false; 80367d2: 4b12 ldr r3, [pc, #72] ; (803681c ) 80367d4: 2200 movs r2, #0 80367d6: 701a strb r2, [r3, #0] } } } break; 80367d8: e0a0 b.n 803691c 80367da: bf00 nop 80367dc: 000f423f .word 0x000f423f 80367e0: 20021011 .word 0x20021011 80367e4: 20021013 .word 0x20021013 80367e8: 20023e60 .word 0x20023e60 80367ec: 3dcccccd .word 0x3dcccccd 80367f0: 3d4ccccd .word 0x3d4ccccd 80367f4: 20020070 .word 0x20020070 80367f8: 20020f78 .word 0x20020f78 80367fc: 20020029 .word 0x20020029 8036800: 20020daf .word 0x20020daf 8036804: 20020dc9 .word 0x20020dc9 8036808: 2002164c .word 0x2002164c 803680c: 20021f9c .word 0x20021f9c 8036810: 20022ea0 .word 0x20022ea0 8036814: 20022310 .word 0x20022310 8036818: 20020e7c .word 0x20020e7c 803681c: 20020dca .word 0x20020dca 8036820: 20020e58 .word 0x20020e58 case MyMeasure: if((!measuring) && (!ReadFromFile)) 8036824: 4bb1 ldr r3, [pc, #708] ; (8036aec ) 8036826: 781b ldrb r3, [r3, #0] 8036828: b2db uxtb r3, r3 803682a: f083 0301 eor.w r3, r3, #1 803682e: b2db uxtb r3, r3 8036830: 2b00 cmp r3, #0 8036832: d076 beq.n 8036922 8036834: 4bae ldr r3, [pc, #696] ; (8036af0 ) 8036836: 781b ldrb r3, [r3, #0] 8036838: b2db uxtb r3, r3 803683a: f083 0301 eor.w r3, r3, #1 803683e: b2db uxtb r3, r3 8036840: 2b00 cmp r3, #0 8036842: d06e beq.n 8036922 { if(CardState == MSD_READY) 8036844: 4bab ldr r3, [pc, #684] ; (8036af4 ) 8036846: 781b ldrb r3, [r3, #0] 8036848: b2db uxtb r3, r3 803684a: 2b03 cmp r3, #3 803684c: d169 bne.n 8036922 { if(NextIndexMeas < IndexMeas[NextIndexPoint]) 803684e: 4baa ldr r3, [pc, #680] ; (8036af8 ) 8036850: 681b ldr r3, [r3, #0] 8036852: 4aaa ldr r2, [pc, #680] ; (8036afc ) 8036854: f852 2023 ldr.w r2, [r2, r3, lsl #2] 8036858: 4ba9 ldr r3, [pc, #676] ; (8036b00 ) 803685a: 681b ldr r3, [r3, #0] 803685c: 429a cmp r2, r3 803685e: d960 bls.n 8036922 { if(NextIndexMeas < 999) 8036860: 4ba7 ldr r3, [pc, #668] ; (8036b00 ) 8036862: 681b ldr r3, [r3, #0] 8036864: f240 32e6 movw r2, #998 ; 0x3e6 8036868: 4293 cmp r3, r2 803686a: d85a bhi.n 8036922 { NextIndexMeas++; 803686c: 4ba4 ldr r3, [pc, #656] ; (8036b00 ) 803686e: 681b ldr r3, [r3, #0] 8036870: 3301 adds r3, #1 8036872: 4aa3 ldr r2, [pc, #652] ; (8036b00 ) 8036874: 6013 str r3, [r2, #0] result = ReadFilePTM(MeasFileName); 8036876: 48a3 ldr r0, [pc, #652] ; (8036b04 ) 8036878: f7f0 fb2c bl 8026ed4 803687c: 4603 mov r3, r0 803687e: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(NextIndexMeas == IndexMeas[NextIndexPoint]) 8036882: 4b9d ldr r3, [pc, #628] ; (8036af8 ) 8036884: 681b ldr r3, [r3, #0] 8036886: 4a9d ldr r2, [pc, #628] ; (8036afc ) 8036888: f852 2023 ldr.w r2, [r2, r3, lsl #2] 803688c: 4b9c ldr r3, [pc, #624] ; (8036b00 ) 803688e: 681b ldr r3, [r3, #0] 8036890: 429a cmp r2, r3 8036892: d146 bne.n 8036922 { DrawSavedData = false; 8036894: 4b9c ldr r3, [pc, #624] ; (8036b08 ) 8036896: 2200 movs r2, #0 8036898: 701a strb r2, [r3, #0] } } } } } break; 803689a: e042 b.n 8036922 case MyLinLog: case StartStop: case Record: if(!ReadFromFile) 803689c: 4b94 ldr r3, [pc, #592] ; (8036af0 ) 803689e: 781b ldrb r3, [r3, #0] 80368a0: b2db uxtb r3, r3 80368a2: f083 0301 eor.w r3, r3, #1 80368a6: b2db uxtb r3, r3 80368a8: 2b00 cmp r3, #0 80368aa: d03d beq.n 8036928 { if((CardState == MSD_READY) && (strlen(MeasFileName))) 80368ac: 4b91 ldr r3, [pc, #580] ; (8036af4 ) 80368ae: 781b ldrb r3, [r3, #0] 80368b0: b2db uxtb r3, r3 80368b2: 2b03 cmp r3, #3 80368b4: d138 bne.n 8036928 80368b6: 4b93 ldr r3, [pc, #588] ; (8036b04 ) 80368b8: 781b ldrb r3, [r3, #0] 80368ba: 2b00 cmp r3, #0 80368bc: d034 beq.n 8036928 { if(measuring) 80368be: 4b8b ldr r3, [pc, #556] ; (8036aec ) 80368c0: 781b ldrb r3, [r3, #0] 80368c2: b2db uxtb r3, r3 80368c4: 2b00 cmp r3, #0 80368c6: d001 beq.n 80368cc StopMeas(); 80368c8: f7ec ff68 bl 802379c result = ReadTrendPTM(MeasFileName); 80368cc: 488d ldr r0, [pc, #564] ; (8036b04 ) 80368ce: f7f0 f93b bl 8026b48 80368d2: 4603 mov r3, r0 80368d4: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 80368d8: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 80368dc: 2b00 cmp r3, #0 80368de: d112 bne.n 8036906 { lastmenu = menu; 80368e0: 4b8a ldr r3, [pc, #552] ; (8036b0c ) 80368e2: 781b ldrb r3, [r3, #0] 80368e4: b2da uxtb r2, r3 80368e6: 4b8a ldr r3, [pc, #552] ; (8036b10 ) 80368e8: 701a strb r2, [r3, #0] menu = TREND_A; 80368ea: 4b88 ldr r3, [pc, #544] ; (8036b0c ) 80368ec: 2245 movs r2, #69 ; 0x45 80368ee: 701a strb r2, [r3, #0] lastmenupos = menupos; 80368f0: 4b88 ldr r3, [pc, #544] ; (8036b14 ) 80368f2: 781b ldrb r3, [r3, #0] 80368f4: b2da uxtb r2, r3 80368f6: 4b88 ldr r3, [pc, #544] ; (8036b18 ) 80368f8: 701a strb r2, [r3, #0] menupos = pardata.IVS[ACC]; 80368fa: 4b88 ldr r3, [pc, #544] ; (8036b1c ) 80368fc: 789b ldrb r3, [r3, #2] 80368fe: b2da uxtb r2, r3 8036900: 4b84 ldr r3, [pc, #528] ; (8036b14 ) 8036902: 701a strb r2, [r3, #0] timerStatus = sec2; DrawStatus = true; } } } break; 8036904: e010 b.n 8036928 STATUS = AP_INVALID_FILE; 8036906: 4b86 ldr r3, [pc, #536] ; (8036b20 ) 8036908: 2202 movs r2, #2 803690a: 601a str r2, [r3, #0] timerStatus = sec2; 803690c: 4b85 ldr r3, [pc, #532] ; (8036b24 ) 803690e: f44f 5280 mov.w r2, #4096 ; 0x1000 8036912: 801a strh r2, [r3, #0] DrawStatus = true; 8036914: 4b84 ldr r3, [pc, #528] ; (8036b28 ) 8036916: 2201 movs r2, #1 8036918: 701a strb r2, [r3, #0] break; 803691a: e005 b.n 8036928 break; 803691c: bf00 nop 803691e: f005 ba59 b.w 803bdd4 break; 8036922: bf00 nop 8036924: f005 ba56 b.w 803bdd4 break; 8036928: bf00 nop } break; 803692a: f005 ba53 b.w 803bdd4 case MAIN_OSC: if(menupos == Cursor) 803692e: 4b79 ldr r3, [pc, #484] ; (8036b14 ) 8036930: 781b ldrb r3, [r3, #0] 8036932: b2db uxtb r3, r3 8036934: 2b06 cmp r3, #6 8036936: d104 bne.n 8036942 { //menupos = lastmenupos; ZOOM_IN = true; 8036938: 4b7c ldr r3, [pc, #496] ; (8036b2c ) 803693a: 2201 movs r2, #1 803693c: 701a strb r2, [r3, #0] if(menupos == ImageRight) menupos = ImageLeft; else if(menupos == ImageLeft) menupos = StartStop; break; 803693e: f005 ba4c b.w 803bdda if(menupos == StartStop) 8036942: 4b74 ldr r3, [pc, #464] ; (8036b14 ) 8036944: 781b ldrb r3, [r3, #0] 8036946: b2db uxtb r3, r3 8036948: 2b00 cmp r3, #0 803694a: d104 bne.n 8036956 menupos = ZoomOut; 803694c: 4b71 ldr r3, [pc, #452] ; (8036b14 ) 803694e: 2204 movs r2, #4 8036950: 701a strb r2, [r3, #0] break; 8036952: f005 ba42 b.w 803bdda if(menupos == ZoomOut) 8036956: 4b6f ldr r3, [pc, #444] ; (8036b14 ) 8036958: 781b ldrb r3, [r3, #0] 803695a: b2db uxtb r3, r3 803695c: 2b04 cmp r3, #4 803695e: d104 bne.n 803696a menupos = ZoomIn; 8036960: 4b6c ldr r3, [pc, #432] ; (8036b14 ) 8036962: 2203 movs r2, #3 8036964: 701a strb r2, [r3, #0] break; 8036966: f005 ba38 b.w 803bdda if(menupos == ZoomIn) 803696a: 4b6a ldr r3, [pc, #424] ; (8036b14 ) 803696c: 781b ldrb r3, [r3, #0] 803696e: b2db uxtb r3, r3 8036970: 2b03 cmp r3, #3 8036972: d104 bne.n 803697e menupos = ImageRight; 8036974: 4b67 ldr r3, [pc, #412] ; (8036b14 ) 8036976: 2205 movs r2, #5 8036978: 701a strb r2, [r3, #0] break; 803697a: f005 ba2e b.w 803bdda if(menupos == ImageRight) 803697e: 4b65 ldr r3, [pc, #404] ; (8036b14 ) 8036980: 781b ldrb r3, [r3, #0] 8036982: b2db uxtb r3, r3 8036984: 2b05 cmp r3, #5 8036986: d104 bne.n 8036992 menupos = ImageLeft; 8036988: 4b62 ldr r3, [pc, #392] ; (8036b14 ) 803698a: 2202 movs r2, #2 803698c: 701a strb r2, [r3, #0] break; 803698e: f005 ba24 b.w 803bdda if(menupos == ImageLeft) 8036992: 4b60 ldr r3, [pc, #384] ; (8036b14 ) 8036994: 781b ldrb r3, [r3, #0] 8036996: b2db uxtb r3, r3 8036998: 2b02 cmp r3, #2 803699a: f045 821e bne.w 803bdda menupos = StartStop; 803699e: 4b5d ldr r3, [pc, #372] ; (8036b14 ) 80369a0: 2200 movs r2, #0 80369a2: 701a strb r2, [r3, #0] break; 80369a4: f005 ba19 b.w 803bdda case MAIN_SPEC: if(menupos == Cursor) 80369a8: 4b5a ldr r3, [pc, #360] ; (8036b14 ) 80369aa: 781b ldrb r3, [r3, #0] 80369ac: b2db uxtb r3, r3 80369ae: 2b06 cmp r3, #6 80369b0: d104 bne.n 80369bc { //menupos = lastmenupos; ZOOM_IN = true; 80369b2: 4b5e ldr r3, [pc, #376] ; (8036b2c ) 80369b4: 2201 movs r2, #1 80369b6: 701a strb r2, [r3, #0] else menupos = StartStop; } else if(menupos == SaveSpec) menupos = StartStop; break; 80369b8: f005 ba12 b.w 803bde0 if(menupos == StartStop) 80369bc: 4b55 ldr r3, [pc, #340] ; (8036b14 ) 80369be: 781b ldrb r3, [r3, #0] 80369c0: b2db uxtb r3, r3 80369c2: 2b00 cmp r3, #0 80369c4: d104 bne.n 80369d0 menupos = ZoomOut; 80369c6: 4b53 ldr r3, [pc, #332] ; (8036b14 ) 80369c8: 2204 movs r2, #4 80369ca: 701a strb r2, [r3, #0] break; 80369cc: f005 ba08 b.w 803bde0 if(menupos == ZoomOut) 80369d0: 4b50 ldr r3, [pc, #320] ; (8036b14 ) 80369d2: 781b ldrb r3, [r3, #0] 80369d4: b2db uxtb r3, r3 80369d6: 2b04 cmp r3, #4 80369d8: d104 bne.n 80369e4 menupos = ZoomIn; 80369da: 4b4e ldr r3, [pc, #312] ; (8036b14 ) 80369dc: 2203 movs r2, #3 80369de: 701a strb r2, [r3, #0] break; 80369e0: f005 b9fe b.w 803bde0 if(menupos == ZoomIn) 80369e4: 4b4b ldr r3, [pc, #300] ; (8036b14 ) 80369e6: 781b ldrb r3, [r3, #0] 80369e8: b2db uxtb r3, r3 80369ea: 2b03 cmp r3, #3 80369ec: d104 bne.n 80369f8 menupos = ImageRight; 80369ee: 4b49 ldr r3, [pc, #292] ; (8036b14 ) 80369f0: 2205 movs r2, #5 80369f2: 701a strb r2, [r3, #0] break; 80369f4: f005 b9f4 b.w 803bde0 if(menupos == ImageRight) 80369f8: 4b46 ldr r3, [pc, #280] ; (8036b14 ) 80369fa: 781b ldrb r3, [r3, #0] 80369fc: b2db uxtb r3, r3 80369fe: 2b05 cmp r3, #5 8036a00: d104 bne.n 8036a0c menupos = ImageLeft; 8036a02: 4b44 ldr r3, [pc, #272] ; (8036b14 ) 8036a04: 2202 movs r2, #2 8036a06: 701a strb r2, [r3, #0] break; 8036a08: f005 b9ea b.w 803bde0 if(menupos == ImageLeft) 8036a0c: 4b41 ldr r3, [pc, #260] ; (8036b14 ) 8036a0e: 781b ldrb r3, [r3, #0] 8036a10: b2db uxtb r3, r3 8036a12: 2b02 cmp r3, #2 8036a14: d10e bne.n 8036a34 if(READY_TO_SEE) 8036a16: 4b46 ldr r3, [pc, #280] ; (8036b30 ) 8036a18: 781b ldrb r3, [r3, #0] 8036a1a: b2db uxtb r3, r3 8036a1c: 2b00 cmp r3, #0 8036a1e: d004 beq.n 8036a2a menupos = SaveSpec; 8036a20: 4b3c ldr r3, [pc, #240] ; (8036b14 ) 8036a22: 2209 movs r2, #9 8036a24: 701a strb r2, [r3, #0] break; 8036a26: f005 b9db b.w 803bde0 else menupos = StartStop; 8036a2a: 4b3a ldr r3, [pc, #232] ; (8036b14 ) 8036a2c: 2200 movs r2, #0 8036a2e: 701a strb r2, [r3, #0] break; 8036a30: f005 b9d6 b.w 803bde0 if(menupos == SaveSpec) 8036a34: 4b37 ldr r3, [pc, #220] ; (8036b14 ) 8036a36: 781b ldrb r3, [r3, #0] 8036a38: b2db uxtb r3, r3 8036a3a: 2b09 cmp r3, #9 8036a3c: f045 81d0 bne.w 803bde0 menupos = StartStop; 8036a40: 4b34 ldr r3, [pc, #208] ; (8036b14 ) 8036a42: 2200 movs r2, #0 8036a44: 701a strb r2, [r3, #0] break; 8036a46: f005 b9cb b.w 803bde0 case VIEW_PORTRET: if(menupos == Cursor) 8036a4a: 4b32 ldr r3, [pc, #200] ; (8036b14 ) 8036a4c: 781b ldrb r3, [r3, #0] 8036a4e: b2db uxtb r3, r3 8036a50: 2b06 cmp r3, #6 8036a52: d104 bne.n 8036a5e { //menupos = lastmenupos; ZOOM_IN = true; 8036a54: 4b35 ldr r3, [pc, #212] ; (8036b2c ) 8036a56: 2201 movs r2, #1 8036a58: 701a strb r2, [r3, #0] if(menupos == ImageRight) menupos = ImageLeft; else if(menupos == ImageLeft) menupos = ZoomOut; break; 8036a5a: f005 b9c4 b.w 803bde6 if(menupos == ZoomOut) 8036a5e: 4b2d ldr r3, [pc, #180] ; (8036b14 ) 8036a60: 781b ldrb r3, [r3, #0] 8036a62: b2db uxtb r3, r3 8036a64: 2b04 cmp r3, #4 8036a66: d104 bne.n 8036a72 menupos = ZoomIn; 8036a68: 4b2a ldr r3, [pc, #168] ; (8036b14 ) 8036a6a: 2203 movs r2, #3 8036a6c: 701a strb r2, [r3, #0] break; 8036a6e: f005 b9ba b.w 803bde6 if(menupos == ZoomIn) 8036a72: 4b28 ldr r3, [pc, #160] ; (8036b14 ) 8036a74: 781b ldrb r3, [r3, #0] 8036a76: b2db uxtb r3, r3 8036a78: 2b03 cmp r3, #3 8036a7a: d104 bne.n 8036a86 menupos = ImageRight; 8036a7c: 4b25 ldr r3, [pc, #148] ; (8036b14 ) 8036a7e: 2205 movs r2, #5 8036a80: 701a strb r2, [r3, #0] break; 8036a82: f005 b9b0 b.w 803bde6 if(menupos == ImageRight) 8036a86: 4b23 ldr r3, [pc, #140] ; (8036b14 ) 8036a88: 781b ldrb r3, [r3, #0] 8036a8a: b2db uxtb r3, r3 8036a8c: 2b05 cmp r3, #5 8036a8e: d104 bne.n 8036a9a menupos = ImageLeft; 8036a90: 4b20 ldr r3, [pc, #128] ; (8036b14 ) 8036a92: 2202 movs r2, #2 8036a94: 701a strb r2, [r3, #0] break; 8036a96: f005 b9a6 b.w 803bde6 if(menupos == ImageLeft) 8036a9a: 4b1e ldr r3, [pc, #120] ; (8036b14 ) 8036a9c: 781b ldrb r3, [r3, #0] 8036a9e: b2db uxtb r3, r3 8036aa0: 2b02 cmp r3, #2 8036aa2: f045 81a0 bne.w 803bde6 menupos = ZoomOut; 8036aa6: 4b1b ldr r3, [pc, #108] ; (8036b14 ) 8036aa8: 2204 movs r2, #4 8036aaa: 701a strb r2, [r3, #0] break; 8036aac: f005 b99b b.w 803bde6 case MAIN_ROLL: if(menupos == Cursor) 8036ab0: 4b18 ldr r3, [pc, #96] ; (8036b14 ) 8036ab2: 781b ldrb r3, [r3, #0] 8036ab4: b2db uxtb r3, r3 8036ab6: 2b06 cmp r3, #6 8036ab8: d104 bne.n 8036ac4 { //menupos = lastmenupos; ZOOM_IN = true; 8036aba: 4b1c ldr r3, [pc, #112] ; (8036b2c ) 8036abc: 2201 movs r2, #1 8036abe: 701a strb r2, [r3, #0] else menupos = StartStop; } else if(menupos == Results) menupos = StartStop; break; 8036ac0: f005 b994 b.w 803bdec if(menupos == StartStop) 8036ac4: 4b13 ldr r3, [pc, #76] ; (8036b14 ) 8036ac6: 781b ldrb r3, [r3, #0] 8036ac8: b2db uxtb r3, r3 8036aca: 2b00 cmp r3, #0 8036acc: d104 bne.n 8036ad8 menupos = ZoomOut; 8036ace: 4b11 ldr r3, [pc, #68] ; (8036b14 ) 8036ad0: 2204 movs r2, #4 8036ad2: 701a strb r2, [r3, #0] break; 8036ad4: f005 b98a b.w 803bdec if(menupos == ZoomOut) 8036ad8: 4b0e ldr r3, [pc, #56] ; (8036b14 ) 8036ada: 781b ldrb r3, [r3, #0] 8036adc: b2db uxtb r3, r3 8036ade: 2b04 cmp r3, #4 8036ae0: d128 bne.n 8036b34 menupos = ZoomIn; 8036ae2: 4b0c ldr r3, [pc, #48] ; (8036b14 ) 8036ae4: 2203 movs r2, #3 8036ae6: 701a strb r2, [r3, #0] break; 8036ae8: f005 b980 b.w 803bdec 8036aec: 20020daf .word 0x20020daf 8036af0: 20020dc9 .word 0x20020dc9 8036af4: 2002164c .word 0x2002164c 8036af8: 20021f9c .word 0x20021f9c 8036afc: 20022ea0 .word 0x20022ea0 8036b00: 20022310 .word 0x20022310 8036b04: 20020e58 .word 0x20020e58 8036b08: 20020dca .word 0x20020dca 8036b0c: 20020f78 .word 0x20020f78 8036b10: 20020f79 .word 0x20020f79 8036b14: 20020070 .word 0x20020070 8036b18: 20020071 .word 0x20020071 8036b1c: 20023e60 .word 0x20023e60 8036b20: 20020dcc .word 0x20020dcc 8036b24: 2002168c .word 0x2002168c 8036b28: 20020dd2 .word 0x20020dd2 8036b2c: 20020f6a .word 0x20020f6a 8036b30: 20020d8e .word 0x20020d8e if(menupos == ZoomIn) 8036b34: 4bb6 ldr r3, [pc, #728] ; (8036e10 ) 8036b36: 781b ldrb r3, [r3, #0] 8036b38: b2db uxtb r3, r3 8036b3a: 2b03 cmp r3, #3 8036b3c: d104 bne.n 8036b48 menupos = ImageRight; 8036b3e: 4bb4 ldr r3, [pc, #720] ; (8036e10 ) 8036b40: 2205 movs r2, #5 8036b42: 701a strb r2, [r3, #0] break; 8036b44: f005 b952 b.w 803bdec if(menupos == ImageRight) 8036b48: 4bb1 ldr r3, [pc, #708] ; (8036e10 ) 8036b4a: 781b ldrb r3, [r3, #0] 8036b4c: b2db uxtb r3, r3 8036b4e: 2b05 cmp r3, #5 8036b50: d104 bne.n 8036b5c menupos = ImageLeft; 8036b52: 4baf ldr r3, [pc, #700] ; (8036e10 ) 8036b54: 2202 movs r2, #2 8036b56: 701a strb r2, [r3, #0] break; 8036b58: f005 b948 b.w 803bdec if(menupos == ImageLeft) 8036b5c: 4bac ldr r3, [pc, #688] ; (8036e10 ) 8036b5e: 781b ldrb r3, [r3, #0] 8036b60: b2db uxtb r3, r3 8036b62: 2b02 cmp r3, #2 8036b64: d10e bne.n 8036b84 if(SeeResults) 8036b66: 4bab ldr r3, [pc, #684] ; (8036e14 ) 8036b68: 781b ldrb r3, [r3, #0] 8036b6a: b2db uxtb r3, r3 8036b6c: 2b00 cmp r3, #0 8036b6e: d004 beq.n 8036b7a menupos = Results; 8036b70: 4ba7 ldr r3, [pc, #668] ; (8036e10 ) 8036b72: 2208 movs r2, #8 8036b74: 701a strb r2, [r3, #0] break; 8036b76: f005 b939 b.w 803bdec else menupos = StartStop; 8036b7a: 4ba5 ldr r3, [pc, #660] ; (8036e10 ) 8036b7c: 2200 movs r2, #0 8036b7e: 701a strb r2, [r3, #0] break; 8036b80: f005 b934 b.w 803bdec if(menupos == Results) 8036b84: 4ba2 ldr r3, [pc, #648] ; (8036e10 ) 8036b86: 781b ldrb r3, [r3, #0] 8036b88: b2db uxtb r3, r3 8036b8a: 2b08 cmp r3, #8 8036b8c: f045 812e bne.w 803bdec menupos = StartStop; 8036b90: 4b9f ldr r3, [pc, #636] ; (8036e10 ) 8036b92: 2200 movs r2, #0 8036b94: 701a strb r2, [r3, #0] break; 8036b96: f005 b929 b.w 803bdec case MAIN_SPEC_OGIB: if(menupos == Cursor) 8036b9a: 4b9d ldr r3, [pc, #628] ; (8036e10 ) 8036b9c: 781b ldrb r3, [r3, #0] 8036b9e: b2db uxtb r3, r3 8036ba0: 2b06 cmp r3, #6 8036ba2: d104 bne.n 8036bae { //menupos = lastmenupos; ZOOM_IN = true; 8036ba4: 4b9c ldr r3, [pc, #624] ; (8036e18 ) 8036ba6: 2201 movs r2, #1 8036ba8: 701a strb r2, [r3, #0] else menupos = StartStop; } else if(menupos == SaveSpec) menupos = StartStop; break; 8036baa: f005 b922 b.w 803bdf2 if(menupos == StartStop) 8036bae: 4b98 ldr r3, [pc, #608] ; (8036e10 ) 8036bb0: 781b ldrb r3, [r3, #0] 8036bb2: b2db uxtb r3, r3 8036bb4: 2b00 cmp r3, #0 8036bb6: d104 bne.n 8036bc2 menupos = ZoomOut; 8036bb8: 4b95 ldr r3, [pc, #596] ; (8036e10 ) 8036bba: 2204 movs r2, #4 8036bbc: 701a strb r2, [r3, #0] break; 8036bbe: f005 b918 b.w 803bdf2 if(menupos == ZoomOut) 8036bc2: 4b93 ldr r3, [pc, #588] ; (8036e10 ) 8036bc4: 781b ldrb r3, [r3, #0] 8036bc6: b2db uxtb r3, r3 8036bc8: 2b04 cmp r3, #4 8036bca: d104 bne.n 8036bd6 menupos = ZoomIn; 8036bcc: 4b90 ldr r3, [pc, #576] ; (8036e10 ) 8036bce: 2203 movs r2, #3 8036bd0: 701a strb r2, [r3, #0] break; 8036bd2: f005 b90e b.w 803bdf2 if(menupos == ZoomIn) 8036bd6: 4b8e ldr r3, [pc, #568] ; (8036e10 ) 8036bd8: 781b ldrb r3, [r3, #0] 8036bda: b2db uxtb r3, r3 8036bdc: 2b03 cmp r3, #3 8036bde: d104 bne.n 8036bea menupos = ImageRight; 8036be0: 4b8b ldr r3, [pc, #556] ; (8036e10 ) 8036be2: 2205 movs r2, #5 8036be4: 701a strb r2, [r3, #0] break; 8036be6: f005 b904 b.w 803bdf2 if(menupos == ImageRight) 8036bea: 4b89 ldr r3, [pc, #548] ; (8036e10 ) 8036bec: 781b ldrb r3, [r3, #0] 8036bee: b2db uxtb r3, r3 8036bf0: 2b05 cmp r3, #5 8036bf2: d104 bne.n 8036bfe menupos = ImageLeft; 8036bf4: 4b86 ldr r3, [pc, #536] ; (8036e10 ) 8036bf6: 2202 movs r2, #2 8036bf8: 701a strb r2, [r3, #0] break; 8036bfa: f005 b8fa b.w 803bdf2 if(menupos == ImageLeft) 8036bfe: 4b84 ldr r3, [pc, #528] ; (8036e10 ) 8036c00: 781b ldrb r3, [r3, #0] 8036c02: b2db uxtb r3, r3 8036c04: 2b02 cmp r3, #2 8036c06: d10e bne.n 8036c26 if(READY_TO_SEE) 8036c08: 4b84 ldr r3, [pc, #528] ; (8036e1c ) 8036c0a: 781b ldrb r3, [r3, #0] 8036c0c: b2db uxtb r3, r3 8036c0e: 2b00 cmp r3, #0 8036c10: d004 beq.n 8036c1c menupos = SaveSpec; 8036c12: 4b7f ldr r3, [pc, #508] ; (8036e10 ) 8036c14: 2209 movs r2, #9 8036c16: 701a strb r2, [r3, #0] break; 8036c18: f005 b8eb b.w 803bdf2 else menupos = StartStop; 8036c1c: 4b7c ldr r3, [pc, #496] ; (8036e10 ) 8036c1e: 2200 movs r2, #0 8036c20: 701a strb r2, [r3, #0] break; 8036c22: f005 b8e6 b.w 803bdf2 if(menupos == SaveSpec) 8036c26: 4b7a ldr r3, [pc, #488] ; (8036e10 ) 8036c28: 781b ldrb r3, [r3, #0] 8036c2a: b2db uxtb r3, r3 8036c2c: 2b09 cmp r3, #9 8036c2e: f045 80e0 bne.w 803bdf2 menupos = StartStop; 8036c32: 4b77 ldr r3, [pc, #476] ; (8036e10 ) 8036c34: 2200 movs r2, #0 8036c36: 701a strb r2, [r3, #0] break; 8036c38: f005 b8db b.w 803bdf2 case MAIN_SPEC_OKT: if(menupos == Cursor) 8036c3c: 4b74 ldr r3, [pc, #464] ; (8036e10 ) 8036c3e: 781b ldrb r3, [r3, #0] 8036c40: b2db uxtb r3, r3 8036c42: 2b06 cmp r3, #6 8036c44: d104 bne.n 8036c50 { //menupos = lastmenupos; ZOOM_IN = true; 8036c46: 4b74 ldr r3, [pc, #464] ; (8036e18 ) 8036c48: 2201 movs r2, #1 8036c4a: 701a strb r2, [r3, #0] else menupos = StartStop; } else if(menupos == SaveSpec) menupos = StartStop; break; 8036c4c: f005 b8d4 b.w 803bdf8 if(menupos == StartStop) 8036c50: 4b6f ldr r3, [pc, #444] ; (8036e10 ) 8036c52: 781b ldrb r3, [r3, #0] 8036c54: b2db uxtb r3, r3 8036c56: 2b00 cmp r3, #0 8036c58: d104 bne.n 8036c64 menupos = ZoomOut; 8036c5a: 4b6d ldr r3, [pc, #436] ; (8036e10 ) 8036c5c: 2204 movs r2, #4 8036c5e: 701a strb r2, [r3, #0] break; 8036c60: f005 b8ca b.w 803bdf8 if(menupos == ZoomOut) 8036c64: 4b6a ldr r3, [pc, #424] ; (8036e10 ) 8036c66: 781b ldrb r3, [r3, #0] 8036c68: b2db uxtb r3, r3 8036c6a: 2b04 cmp r3, #4 8036c6c: d104 bne.n 8036c78 menupos = ZoomIn; 8036c6e: 4b68 ldr r3, [pc, #416] ; (8036e10 ) 8036c70: 2203 movs r2, #3 8036c72: 701a strb r2, [r3, #0] break; 8036c74: f005 b8c0 b.w 803bdf8 if(menupos == ZoomIn) 8036c78: 4b65 ldr r3, [pc, #404] ; (8036e10 ) 8036c7a: 781b ldrb r3, [r3, #0] 8036c7c: b2db uxtb r3, r3 8036c7e: 2b03 cmp r3, #3 8036c80: d104 bne.n 8036c8c menupos = ImageRight; 8036c82: 4b63 ldr r3, [pc, #396] ; (8036e10 ) 8036c84: 2205 movs r2, #5 8036c86: 701a strb r2, [r3, #0] break; 8036c88: f005 b8b6 b.w 803bdf8 if(menupos == ImageRight) 8036c8c: 4b60 ldr r3, [pc, #384] ; (8036e10 ) 8036c8e: 781b ldrb r3, [r3, #0] 8036c90: b2db uxtb r3, r3 8036c92: 2b05 cmp r3, #5 8036c94: d104 bne.n 8036ca0 menupos = ImageLeft; 8036c96: 4b5e ldr r3, [pc, #376] ; (8036e10 ) 8036c98: 2202 movs r2, #2 8036c9a: 701a strb r2, [r3, #0] break; 8036c9c: f005 b8ac b.w 803bdf8 if(menupos == ImageLeft) 8036ca0: 4b5b ldr r3, [pc, #364] ; (8036e10 ) 8036ca2: 781b ldrb r3, [r3, #0] 8036ca4: b2db uxtb r3, r3 8036ca6: 2b02 cmp r3, #2 8036ca8: d10e bne.n 8036cc8 if(READY_TO_SEE) 8036caa: 4b5c ldr r3, [pc, #368] ; (8036e1c ) 8036cac: 781b ldrb r3, [r3, #0] 8036cae: b2db uxtb r3, r3 8036cb0: 2b00 cmp r3, #0 8036cb2: d004 beq.n 8036cbe menupos = SaveSpec; 8036cb4: 4b56 ldr r3, [pc, #344] ; (8036e10 ) 8036cb6: 2209 movs r2, #9 8036cb8: 701a strb r2, [r3, #0] break; 8036cba: f005 b89d b.w 803bdf8 else menupos = StartStop; 8036cbe: 4b54 ldr r3, [pc, #336] ; (8036e10 ) 8036cc0: 2200 movs r2, #0 8036cc2: 701a strb r2, [r3, #0] break; 8036cc4: f005 b898 b.w 803bdf8 if(menupos == SaveSpec) 8036cc8: 4b51 ldr r3, [pc, #324] ; (8036e10 ) 8036cca: 781b ldrb r3, [r3, #0] 8036ccc: b2db uxtb r3, r3 8036cce: 2b09 cmp r3, #9 8036cd0: f045 8092 bne.w 803bdf8 menupos = StartStop; 8036cd4: 4b4e ldr r3, [pc, #312] ; (8036e10 ) 8036cd6: 2200 movs r2, #0 8036cd8: 701a strb r2, [r3, #0] break; 8036cda: f005 b88d b.w 803bdf8 case MAIN_SPEC_THIRD: if(menupos == Cursor) 8036cde: 4b4c ldr r3, [pc, #304] ; (8036e10 ) 8036ce0: 781b ldrb r3, [r3, #0] 8036ce2: b2db uxtb r3, r3 8036ce4: 2b06 cmp r3, #6 8036ce6: d104 bne.n 8036cf2 { //menupos = lastmenupos; ZOOM_IN = true; 8036ce8: 4b4b ldr r3, [pc, #300] ; (8036e18 ) 8036cea: 2201 movs r2, #1 8036cec: 701a strb r2, [r3, #0] else menupos = StartStop; } else if(menupos == SaveSpec) menupos = StartStop; break; 8036cee: f005 b886 b.w 803bdfe if(menupos == StartStop) 8036cf2: 4b47 ldr r3, [pc, #284] ; (8036e10 ) 8036cf4: 781b ldrb r3, [r3, #0] 8036cf6: b2db uxtb r3, r3 8036cf8: 2b00 cmp r3, #0 8036cfa: d104 bne.n 8036d06 menupos = ZoomOut; 8036cfc: 4b44 ldr r3, [pc, #272] ; (8036e10 ) 8036cfe: 2204 movs r2, #4 8036d00: 701a strb r2, [r3, #0] break; 8036d02: f005 b87c b.w 803bdfe if(menupos == ZoomOut) 8036d06: 4b42 ldr r3, [pc, #264] ; (8036e10 ) 8036d08: 781b ldrb r3, [r3, #0] 8036d0a: b2db uxtb r3, r3 8036d0c: 2b04 cmp r3, #4 8036d0e: d104 bne.n 8036d1a menupos = ZoomIn; 8036d10: 4b3f ldr r3, [pc, #252] ; (8036e10 ) 8036d12: 2203 movs r2, #3 8036d14: 701a strb r2, [r3, #0] break; 8036d16: f005 b872 b.w 803bdfe if(menupos == ZoomIn) 8036d1a: 4b3d ldr r3, [pc, #244] ; (8036e10 ) 8036d1c: 781b ldrb r3, [r3, #0] 8036d1e: b2db uxtb r3, r3 8036d20: 2b03 cmp r3, #3 8036d22: d104 bne.n 8036d2e menupos = ImageRight; 8036d24: 4b3a ldr r3, [pc, #232] ; (8036e10 ) 8036d26: 2205 movs r2, #5 8036d28: 701a strb r2, [r3, #0] break; 8036d2a: f005 b868 b.w 803bdfe if(menupos == ImageRight) 8036d2e: 4b38 ldr r3, [pc, #224] ; (8036e10 ) 8036d30: 781b ldrb r3, [r3, #0] 8036d32: b2db uxtb r3, r3 8036d34: 2b05 cmp r3, #5 8036d36: d104 bne.n 8036d42 menupos = ImageLeft; 8036d38: 4b35 ldr r3, [pc, #212] ; (8036e10 ) 8036d3a: 2202 movs r2, #2 8036d3c: 701a strb r2, [r3, #0] break; 8036d3e: f005 b85e b.w 803bdfe if(menupos == ImageLeft) 8036d42: 4b33 ldr r3, [pc, #204] ; (8036e10 ) 8036d44: 781b ldrb r3, [r3, #0] 8036d46: b2db uxtb r3, r3 8036d48: 2b02 cmp r3, #2 8036d4a: d10e bne.n 8036d6a if(READY_TO_SEE) 8036d4c: 4b33 ldr r3, [pc, #204] ; (8036e1c ) 8036d4e: 781b ldrb r3, [r3, #0] 8036d50: b2db uxtb r3, r3 8036d52: 2b00 cmp r3, #0 8036d54: d004 beq.n 8036d60 menupos = SaveSpec; 8036d56: 4b2e ldr r3, [pc, #184] ; (8036e10 ) 8036d58: 2209 movs r2, #9 8036d5a: 701a strb r2, [r3, #0] break; 8036d5c: f005 b84f b.w 803bdfe else menupos = StartStop; 8036d60: 4b2b ldr r3, [pc, #172] ; (8036e10 ) 8036d62: 2200 movs r2, #0 8036d64: 701a strb r2, [r3, #0] break; 8036d66: f005 b84a b.w 803bdfe if(menupos == SaveSpec) 8036d6a: 4b29 ldr r3, [pc, #164] ; (8036e10 ) 8036d6c: 781b ldrb r3, [r3, #0] 8036d6e: b2db uxtb r3, r3 8036d70: 2b09 cmp r3, #9 8036d72: f045 8044 bne.w 803bdfe menupos = StartStop; 8036d76: 4b26 ldr r3, [pc, #152] ; (8036e10 ) 8036d78: 2200 movs r2, #0 8036d7a: 701a strb r2, [r3, #0] break; 8036d7c: f005 b83f b.w 803bdfe case MAIN_SYGNAL: switch(menupos) 8036d80: 4b23 ldr r3, [pc, #140] ; (8036e10 ) 8036d82: 781b ldrb r3, [r3, #0] 8036d84: b2db uxtb r3, r3 8036d86: 2b07 cmp r3, #7 8036d88: f205 803c bhi.w 803be04 8036d8c: a201 add r2, pc, #4 ; (adr r2, 8036d94 ) 8036d8e: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8036d92: bf00 nop 8036d94: 08036dbd .word 0x08036dbd 8036d98: 0803be05 .word 0x0803be05 8036d9c: 08036ddd .word 0x08036ddd 8036da0: 08036dcd .word 0x08036dcd 8036da4: 08036dc5 .word 0x08036dc5 8036da8: 08036dd5 .word 0x08036dd5 8036dac: 08036de5 .word 0x08036de5 8036db0: 08036db5 .word 0x08036db5 { case Stop: menupos = StartStop; break; 8036db4: 4b16 ldr r3, [pc, #88] ; (8036e10 ) 8036db6: 2200 movs r2, #0 8036db8: 701a strb r2, [r3, #0] 8036dba: e017 b.n 8036dec case StartStop: menupos = ZoomOut; break; 8036dbc: 4b14 ldr r3, [pc, #80] ; (8036e10 ) 8036dbe: 2204 movs r2, #4 8036dc0: 701a strb r2, [r3, #0] 8036dc2: e013 b.n 8036dec case ZoomOut: menupos = ZoomIn; break; 8036dc4: 4b12 ldr r3, [pc, #72] ; (8036e10 ) 8036dc6: 2203 movs r2, #3 8036dc8: 701a strb r2, [r3, #0] 8036dca: e00f b.n 8036dec case ZoomIn: menupos = ImageRight; break; 8036dcc: 4b10 ldr r3, [pc, #64] ; (8036e10 ) 8036dce: 2205 movs r2, #5 8036dd0: 701a strb r2, [r3, #0] 8036dd2: e00b b.n 8036dec case ImageRight:menupos = ImageLeft; break; 8036dd4: 4b0e ldr r3, [pc, #56] ; (8036e10 ) 8036dd6: 2202 movs r2, #2 8036dd8: 701a strb r2, [r3, #0] 8036dda: e007 b.n 8036dec case ImageLeft: menupos = Stop; break; 8036ddc: 4b0c ldr r3, [pc, #48] ; (8036e10 ) 8036dde: 2207 movs r2, #7 8036de0: 701a strb r2, [r3, #0] 8036de2: e003 b.n 8036dec case Cursor: /*menupos = lastmenupos;*/ZOOM_IN = true; break; 8036de4: 4b0c ldr r3, [pc, #48] ; (8036e18 ) 8036de6: 2201 movs r2, #1 8036de8: 701a strb r2, [r3, #0] 8036dea: bf00 nop } break; 8036dec: f005 b80a b.w 803be04 case EXPLORER: if(menupos == FilesPTM) 8036df0: 4b07 ldr r3, [pc, #28] ; (8036e10 ) 8036df2: 781b ldrb r3, [r3, #0] 8036df4: b2db uxtb r3, r3 8036df6: 2b02 cmp r3, #2 8036df8: f045 8007 bne.w 803be0a { if(CursorIndex > 0) 8036dfc: 4b08 ldr r3, [pc, #32] ; (8036e20 ) 8036dfe: 681b ldr r3, [r3, #0] 8036e00: 2b00 cmp r3, #0 8036e02: d00f beq.n 8036e24 CursorIndex--; 8036e04: 4b06 ldr r3, [pc, #24] ; (8036e20 ) 8036e06: 681b ldr r3, [r3, #0] 8036e08: 3b01 subs r3, #1 8036e0a: 4a05 ldr r2, [pc, #20] ; (8036e20 ) 8036e0c: 6013 str r3, [r2, #0] 8036e0e: e01a b.n 8036e46 8036e10: 20020070 .word 0x20020070 8036e14: 20020d68 .word 0x20020d68 8036e18: 20020f6a .word 0x20020f6a 8036e1c: 20020d8e .word 0x20020d8e 8036e20: 20020de0 .word 0x20020de0 else { if(FirstFileIndex > 0) 8036e24: 4b57 ldr r3, [pc, #348] ; (8036f84 ) 8036e26: 681b ldr r3, [r3, #0] 8036e28: 2b00 cmp r3, #0 8036e2a: d00c beq.n 8036e46 { FirstFileIndex--; 8036e2c: 4b55 ldr r3, [pc, #340] ; (8036f84 ) 8036e2e: 681b ldr r3, [r3, #0] 8036e30: 3b01 subs r3, #1 8036e32: 4a54 ldr r2, [pc, #336] ; (8036f84 ) 8036e34: 6013 str r3, [r2, #0] result = ReadMyFilesPTM(FirstFileIndex); 8036e36: 4b53 ldr r3, [pc, #332] ; (8036f84 ) 8036e38: 681b ldr r3, [r3, #0] 8036e3a: 4618 mov r0, r3 8036e3c: f7f3 fe58 bl 802aaf0 8036e40: 4603 mov r3, r0 8036e42: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 /* îøèáêà ÷òåíèÿ 8 ôàéëîâ*/ } } } RealFileIndex = FirstFileIndex + CursorIndex; 8036e46: 4b4f ldr r3, [pc, #316] ; (8036f84 ) 8036e48: 681a ldr r2, [r3, #0] 8036e4a: 4b4f ldr r3, [pc, #316] ; (8036f88 ) 8036e4c: 681b ldr r3, [r3, #0] 8036e4e: 4413 add r3, r2 8036e50: 4a4e ldr r2, [pc, #312] ; (8036f8c ) 8036e52: 6013 str r3, [r2, #0] } break; 8036e54: f004 bfd9 b.w 803be0a case INPUT_NAME_PTM: case INPUT_NAME_DGN: case INPUT_NAME_SPEC: case INPUT_NAME_GTR: case INPUT_NAME_FRN: if(menupos <= _SPACE) 8036e58: 4b4d ldr r3, [pc, #308] ; (8036f90 ) 8036e5a: 781b ldrb r3, [r3, #0] 8036e5c: b2db uxtb r3, r3 8036e5e: 2b22 cmp r3, #34 ; 0x22 8036e60: d80e bhi.n 8036e80 { if(menupos >= 10) 8036e62: 4b4b ldr r3, [pc, #300] ; (8036f90 ) 8036e64: 781b ldrb r3, [r3, #0] 8036e66: b2db uxtb r3, r3 8036e68: 2b09 cmp r3, #9 8036e6a: f244 87d1 bls.w 803be10 menupos -= 10; 8036e6e: 4b48 ldr r3, [pc, #288] ; (8036f90 ) 8036e70: 781b ldrb r3, [r3, #0] 8036e72: b2db uxtb r3, r3 8036e74: 3b0a subs r3, #10 8036e76: b2da uxtb r2, r3 8036e78: 4b45 ldr r3, [pc, #276] ; (8036f90 ) 8036e7a: 701a strb r2, [r3, #0] if(menupos == _CANCEL) menupos = _SPACE; else menupos -= 8; } break; 8036e7c: f004 bfc8 b.w 803be10 if(menupos == _ENTER) 8036e80: 4b43 ldr r3, [pc, #268] ; (8036f90 ) 8036e82: 781b ldrb r3, [r3, #0] 8036e84: b2db uxtb r3, r3 8036e86: 2b26 cmp r3, #38 ; 0x26 8036e88: d104 bne.n 8036e94 menupos = _V; 8036e8a: 4b41 ldr r3, [pc, #260] ; (8036f90 ) 8036e8c: 2221 movs r2, #33 ; 0x21 8036e8e: 701a strb r2, [r3, #0] break; 8036e90: f004 bfbe b.w 803be10 if(menupos == _CANCEL) 8036e94: 4b3e ldr r3, [pc, #248] ; (8036f90 ) 8036e96: 781b ldrb r3, [r3, #0] 8036e98: b2db uxtb r3, r3 8036e9a: 2b27 cmp r3, #39 ; 0x27 8036e9c: d104 bne.n 8036ea8 menupos = _SPACE; 8036e9e: 4b3c ldr r3, [pc, #240] ; (8036f90 ) 8036ea0: 2222 movs r2, #34 ; 0x22 8036ea2: 701a strb r2, [r3, #0] break; 8036ea4: f004 bfb4 b.w 803be10 menupos -= 8; 8036ea8: 4b39 ldr r3, [pc, #228] ; (8036f90 ) 8036eaa: 781b ldrb r3, [r3, #0] 8036eac: b2db uxtb r3, r3 8036eae: 3b08 subs r3, #8 8036eb0: b2da uxtb r2, r3 8036eb2: 4b37 ldr r3, [pc, #220] ; (8036f90 ) 8036eb4: 701a strb r2, [r3, #0] break; 8036eb6: f004 bfab b.w 803be10 case OPTIONS: if((menupos > Mode) && (menupos < AskFormatNo)) menupos--; 8036eba: 4b35 ldr r3, [pc, #212] ; (8036f90 ) 8036ebc: 781b ldrb r3, [r3, #0] 8036ebe: b2db uxtb r3, r3 8036ec0: 2b01 cmp r3, #1 8036ec2: d90d bls.n 8036ee0 8036ec4: 4b32 ldr r3, [pc, #200] ; (8036f90 ) 8036ec6: 781b ldrb r3, [r3, #0] 8036ec8: b2db uxtb r3, r3 8036eca: 2b04 cmp r3, #4 8036ecc: d808 bhi.n 8036ee0 8036ece: 4b30 ldr r3, [pc, #192] ; (8036f90 ) 8036ed0: 781b ldrb r3, [r3, #0] 8036ed2: b2db uxtb r3, r3 8036ed4: 3b01 subs r3, #1 8036ed6: b2da uxtb r2, r3 8036ed8: 4b2d ldr r3, [pc, #180] ; (8036f90 ) 8036eda: 701a strb r2, [r3, #0] else menupos = Route; break; 8036edc: f004 bfbd b.w 803be5a else menupos = Route; 8036ee0: 4b2b ldr r3, [pc, #172] ; (8036f90 ) 8036ee2: 2204 movs r2, #4 8036ee4: 701a strb r2, [r3, #0] break; 8036ee6: f004 bfb8 b.w 803be5a case MEAS_MODE: #ifdef USE_ROLL #ifdef USE_UDAR if(pardata.IIN != VOLTS) 8036eea: 4b2a ldr r3, [pc, #168] ; (8036f94 ) 8036eec: 799b ldrb r3, [r3, #6] 8036eee: b2db uxtb r3, r3 8036ef0: 2b02 cmp r3, #2 8036ef2: d012 beq.n 8036f1a { if(menupos > Vibrometer) menupos--; 8036ef4: 4b26 ldr r3, [pc, #152] ; (8036f90 ) 8036ef6: 781b ldrb r3, [r3, #0] 8036ef8: b2db uxtb r3, r3 8036efa: 2b01 cmp r3, #1 8036efc: d908 bls.n 8036f10 8036efe: 4b24 ldr r3, [pc, #144] ; (8036f90 ) 8036f00: 781b ldrb r3, [r3, #0] 8036f02: b2db uxtb r3, r3 8036f04: 3b01 subs r3, #1 8036f06: b2da uxtb r2, r3 8036f08: 4b21 ldr r3, [pc, #132] ; (8036f90 ) 8036f0a: 701a strb r2, [r3, #0] #else if(menupos > Vibrometer) menupos--; else menupos = Diagn; #endif*/ break; 8036f0c: f004 bfa5 b.w 803be5a else menupos = Udar; 8036f10: 4b1f ldr r3, [pc, #124] ; (8036f90 ) 8036f12: 2207 movs r2, #7 8036f14: 701a strb r2, [r3, #0] break; 8036f16: f004 bfa0 b.w 803be5a if(menupos > Vibrometer) menupos--; 8036f1a: 4b1d ldr r3, [pc, #116] ; (8036f90 ) 8036f1c: 781b ldrb r3, [r3, #0] 8036f1e: b2db uxtb r3, r3 8036f20: 2b01 cmp r3, #1 8036f22: d908 bls.n 8036f36 8036f24: 4b1a ldr r3, [pc, #104] ; (8036f90 ) 8036f26: 781b ldrb r3, [r3, #0] 8036f28: b2db uxtb r3, r3 8036f2a: 3b01 subs r3, #1 8036f2c: b2da uxtb r2, r3 8036f2e: 4b18 ldr r3, [pc, #96] ; (8036f90 ) 8036f30: 701a strb r2, [r3, #0] break; 8036f32: f004 bf92 b.w 803be5a else menupos = FFT; 8036f36: 4b16 ldr r3, [pc, #88] ; (8036f90 ) 8036f38: 2203 movs r2, #3 8036f3a: 701a strb r2, [r3, #0] break; 8036f3c: f004 bf8d b.w 803be5a case PARAM_UDAR: focused = false; 8036f40: 4b15 ldr r3, [pc, #84] ; (8036f98 ) 8036f42: 2200 movs r2, #0 8036f44: 701a strb r2, [r3, #0] if(menupos == Ok) 8036f46: 4b12 ldr r3, [pc, #72] ; (8036f90 ) 8036f48: 781b ldrb r3, [r3, #0] 8036f4a: b2db uxtb r3, r3 8036f4c: 2b00 cmp r3, #0 8036f4e: d104 bne.n 8036f5a menupos = UdarInner; 8036f50: 4b0f ldr r3, [pc, #60] ; (8036f90 ) 8036f52: 2202 movs r2, #2 8036f54: 701a strb r2, [r3, #0] } if(k > 9999) k = 9999; if(k == 0) k = 1; pardata.D_RATE = k; } break; 8036f56: f004 bf5e b.w 803be16 if(menupos == UdarInner) 8036f5a: 4b0d ldr r3, [pc, #52] ; (8036f90 ) 8036f5c: 781b ldrb r3, [r3, #0] 8036f5e: b2db uxtb r3, r3 8036f60: 2b02 cmp r3, #2 8036f62: d104 bne.n 8036f6e menupos = UdarRate; 8036f64: 4b0a ldr r3, [pc, #40] ; (8036f90 ) 8036f66: 2201 movs r2, #1 8036f68: 701a strb r2, [r3, #0] break; 8036f6a: f004 bf54 b.w 803be16 if(menupos == UdarRate) 8036f6e: 4b08 ldr r3, [pc, #32] ; (8036f90 ) 8036f70: 781b ldrb r3, [r3, #0] 8036f72: b2db uxtb r3, r3 8036f74: 2b01 cmp r3, #1 8036f76: d111 bne.n 8036f9c menupos = Ok; 8036f78: 4b05 ldr r3, [pc, #20] ; (8036f90 ) 8036f7a: 2200 movs r2, #0 8036f7c: 701a strb r2, [r3, #0] break; 8036f7e: f004 bf4a b.w 803be16 8036f82: bf00 nop 8036f84: 20020de4 .word 0x20020de4 8036f88: 20020de0 .word 0x20020de0 8036f8c: 20020de8 .word 0x20020de8 8036f90: 20020070 .word 0x20020070 8036f94: 20023e60 .word 0x20023e60 8036f98: 20020f84 .word 0x20020f84 if((menupos >= UdarInner_IES) && (menupos <= UdarInner_IKT)) 8036f9c: 4b9d ldr r3, [pc, #628] ; (8037214 ) 8036f9e: 781b ldrb r3, [r3, #0] 8036fa0: b2db uxtb r3, r3 8036fa2: 2b06 cmp r3, #6 8036fa4: f240 814e bls.w 8037244 8036fa8: 4b9a ldr r3, [pc, #616] ; (8037214 ) 8036faa: 781b ldrb r3, [r3, #0] 8036fac: b2db uxtb r3, r3 8036fae: 2b0c cmp r3, #12 8036fb0: f200 8148 bhi.w 8037244 k = (uint32_t) (pardata.D_INNER * 1000.0f); 8036fb4: 4b98 ldr r3, [pc, #608] ; (8037218 ) 8036fb6: edd3 7a32 vldr s15, [r3, #200] ; 0xc8 8036fba: ed9f 7a98 vldr s14, [pc, #608] ; 803721c 8036fbe: ee67 7a87 vmul.f32 s15, s15, s14 8036fc2: eefc 7ae7 vcvt.u32.f32 s15, s15 8036fc6: ee17 3a90 vmov r3, s15 8036fca: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 ies = (uint8_t) (k / 100000); 8036fce: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8036fd2: 095b lsrs r3, r3, #5 8036fd4: 4a92 ldr r2, [pc, #584] ; (8037220 ) 8036fd6: fba2 2303 umull r2, r3, r2, r3 8036fda: 09db lsrs r3, r3, #7 8036fdc: b2db uxtb r3, r3 8036fde: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 / 10000); 8036fe2: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8036fe6: 0953 lsrs r3, r2, #5 8036fe8: 498d ldr r1, [pc, #564] ; (8037220 ) 8036fea: fba1 1303 umull r1, r3, r1, r3 8036fee: 09db lsrs r3, r3, #7 8036ff0: 498c ldr r1, [pc, #560] ; (8037224 ) 8036ff2: fb01 f303 mul.w r3, r1, r3 8036ff6: 1ad3 subs r3, r2, r3 8036ff8: 4a8b ldr r2, [pc, #556] ; (8037228 ) 8036ffa: fba2 2303 umull r2, r3, r2, r3 8036ffe: 0b5b lsrs r3, r3, #13 8037000: b2db uxtb r3, r3 8037002: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 / 1000); 8037006: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803700a: 0953 lsrs r3, r2, #5 803700c: 4984 ldr r1, [pc, #528] ; (8037220 ) 803700e: fba1 1303 umull r1, r3, r1, r3 8037012: 09db lsrs r3, r3, #7 8037014: 4983 ldr r1, [pc, #524] ; (8037224 ) 8037016: fb01 f303 mul.w r3, r1, r3 803701a: 1ad3 subs r3, r2, r3 803701c: 4a82 ldr r2, [pc, #520] ; (8037228 ) 803701e: fba2 1203 umull r1, r2, r2, r3 8037022: 0b52 lsrs r2, r2, #13 8037024: f242 7110 movw r1, #10000 ; 0x2710 8037028: fb01 f202 mul.w r2, r1, r2 803702c: 1a9a subs r2, r3, r2 803702e: 4b7f ldr r3, [pc, #508] ; (803722c ) 8037030: fba3 2302 umull r2, r3, r3, r2 8037034: 099b lsrs r3, r3, #6 8037036: b2db uxtb r3, r3 8037038: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 803703c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8037040: 095a lsrs r2, r3, #5 8037042: 4977 ldr r1, [pc, #476] ; (8037220 ) 8037044: fba1 1202 umull r1, r2, r1, r2 8037048: 09d2 lsrs r2, r2, #7 803704a: 4976 ldr r1, [pc, #472] ; (8037224 ) 803704c: fb01 f202 mul.w r2, r1, r2 8037050: 1a9a subs r2, r3, r2 8037052: 4b75 ldr r3, [pc, #468] ; (8037228 ) 8037054: fba3 1302 umull r1, r3, r3, r2 8037058: 0b5b lsrs r3, r3, #13 803705a: f242 7110 movw r1, #10000 ; 0x2710 803705e: fb01 f303 mul.w r3, r1, r3 8037062: 1ad3 subs r3, r2, r3 8037064: 4a71 ldr r2, [pc, #452] ; (803722c ) 8037066: fba2 1203 umull r1, r2, r2, r3 803706a: 0992 lsrs r2, r2, #6 803706c: f44f 717a mov.w r1, #1000 ; 0x3e8 8037070: fb01 f202 mul.w r2, r1, r2 8037074: 1a9a subs r2, r3, r2 8037076: 4b6e ldr r3, [pc, #440] ; (8037230 ) 8037078: fba3 2302 umull r2, r3, r3, r2 803707c: 095b lsrs r3, r3, #5 803707e: b2db uxtb r3, r3 8037080: f887 306e strb.w r3, [r7, #110] ; 0x6e iks = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 8037084: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8037088: 0953 lsrs r3, r2, #5 803708a: 4965 ldr r1, [pc, #404] ; (8037220 ) 803708c: fba1 1303 umull r1, r3, r1, r3 8037090: 09db lsrs r3, r3, #7 8037092: 4964 ldr r1, [pc, #400] ; (8037224 ) 8037094: fb01 f303 mul.w r3, r1, r3 8037098: 1ad3 subs r3, r2, r3 803709a: 4a63 ldr r2, [pc, #396] ; (8037228 ) 803709c: fba2 1203 umull r1, r2, r2, r3 80370a0: 0b52 lsrs r2, r2, #13 80370a2: f242 7110 movw r1, #10000 ; 0x2710 80370a6: fb01 f202 mul.w r2, r1, r2 80370aa: 1a9a subs r2, r3, r2 80370ac: 4b5f ldr r3, [pc, #380] ; (803722c ) 80370ae: fba3 1302 umull r1, r3, r3, r2 80370b2: 099b lsrs r3, r3, #6 80370b4: f44f 717a mov.w r1, #1000 ; 0x3e8 80370b8: fb01 f303 mul.w r3, r1, r3 80370bc: 1ad3 subs r3, r2, r3 80370be: 4a5c ldr r2, [pc, #368] ; (8037230 ) 80370c0: fba2 1203 umull r1, r2, r2, r3 80370c4: 0952 lsrs r2, r2, #5 80370c6: 2164 movs r1, #100 ; 0x64 80370c8: fb01 f202 mul.w r2, r1, r2 80370cc: 1a9a subs r2, r3, r2 80370ce: 4b59 ldr r3, [pc, #356] ; (8037234 ) 80370d0: fba3 2302 umull r2, r3, r3, r2 80370d4: 08db lsrs r3, r3, #3 80370d6: b2db uxtb r3, r3 80370d8: f887 306d strb.w r3, [r7, #109] ; 0x6d ikt = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 80370dc: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80370e0: 0953 lsrs r3, r2, #5 80370e2: 494f ldr r1, [pc, #316] ; (8037220 ) 80370e4: fba1 1303 umull r1, r3, r1, r3 80370e8: 09db lsrs r3, r3, #7 80370ea: 494e ldr r1, [pc, #312] ; (8037224 ) 80370ec: fb01 f303 mul.w r3, r1, r3 80370f0: 1ad3 subs r3, r2, r3 80370f2: 4a4d ldr r2, [pc, #308] ; (8037228 ) 80370f4: fba2 1203 umull r1, r2, r2, r3 80370f8: 0b52 lsrs r2, r2, #13 80370fa: f242 7110 movw r1, #10000 ; 0x2710 80370fe: fb01 f202 mul.w r2, r1, r2 8037102: 1a9a subs r2, r3, r2 8037104: 4b49 ldr r3, [pc, #292] ; (803722c ) 8037106: fba3 1302 umull r1, r3, r3, r2 803710a: 099b lsrs r3, r3, #6 803710c: f44f 717a mov.w r1, #1000 ; 0x3e8 8037110: fb01 f303 mul.w r3, r1, r3 8037114: 1ad3 subs r3, r2, r3 8037116: 4a46 ldr r2, [pc, #280] ; (8037230 ) 8037118: fba2 1203 umull r1, r2, r2, r3 803711c: 0952 lsrs r2, r2, #5 803711e: 2164 movs r1, #100 ; 0x64 8037120: fb01 f202 mul.w r2, r1, r2 8037124: 1a9a subs r2, r3, r2 8037126: 4b43 ldr r3, [pc, #268] ; (8037234 ) 8037128: fba3 1302 umull r1, r3, r3, r2 803712c: 08d9 lsrs r1, r3, #3 803712e: 460b mov r3, r1 8037130: 009b lsls r3, r3, #2 8037132: 440b add r3, r1 8037134: 005b lsls r3, r3, #1 8037136: 1ad1 subs r1, r2, r3 8037138: b2cb uxtb r3, r1 803713a: f887 306c strb.w r3, [r7, #108] ; 0x6c switch(menupos) 803713e: 4b35 ldr r3, [pc, #212] ; (8037214 ) 8037140: 781b ldrb r3, [r3, #0] 8037142: b2db uxtb r3, r3 8037144: 3b07 subs r3, #7 8037146: 2b05 cmp r3, #5 8037148: d836 bhi.n 80371b8 803714a: a201 add r2, pc, #4 ; (adr r2, 8037150 ) 803714c: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8037150: 08037169 .word 0x08037169 8037154: 08037177 .word 0x08037177 8037158: 08037187 .word 0x08037187 803715c: 08037195 .word 0x08037195 8037160: 080371a1 .word 0x080371a1 8037164: 080371ad .word 0x080371ad case UdarInner_IES: k += 100000; break; 8037168: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803716c: 4b2d ldr r3, [pc, #180] ; (8037224 ) 803716e: 4413 add r3, r2 8037170: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 8037174: e020 b.n 80371b8 case UdarInner_IED: k += 10000; break; 8037176: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803717a: f242 7310 movw r3, #10000 ; 0x2710 803717e: 4413 add r3, r2 8037180: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 8037184: e018 b.n 80371b8 case UdarInner_IEE: k += 1000; break; 8037186: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803718a: f503 737a add.w r3, r3, #1000 ; 0x3e8 803718e: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 8037192: e011 b.n 80371b8 case UdarInner_IKD: k += 100; break; 8037194: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8037198: 3364 adds r3, #100 ; 0x64 803719a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 803719e: e00b b.n 80371b8 case UdarInner_IKS: k += 10; break; 80371a0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80371a4: 330a adds r3, #10 80371a6: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 80371aa: e005 b.n 80371b8 case UdarInner_IKT: k++; break; 80371ac: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80371b0: 3301 adds r3, #1 80371b2: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 80371b6: bf00 nop if(k > 999999) k = 999999; 80371b8: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80371bc: 4a1e ldr r2, [pc, #120] ; (8037238 ) 80371be: 4293 cmp r3, r2 80371c0: d902 bls.n 80371c8 80371c2: 4b1d ldr r3, [pc, #116] ; (8037238 ) 80371c4: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 if(k == 0) k = 1; 80371c8: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80371cc: 2b00 cmp r3, #0 80371ce: d102 bne.n 80371d6 80371d0: 2301 movs r3, #1 80371d2: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.D_INNER = (float32_t) k; 80371d6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80371da: ee07 3a90 vmov s15, r3 80371de: eef8 7a67 vcvt.f32.u32 s15, s15 80371e2: 4b0d ldr r3, [pc, #52] ; (8037218 ) 80371e4: edc3 7a32 vstr s15, [r3, #200] ; 0xc8 pardata.D_INNER *= 0.001f; 80371e8: 4b0b ldr r3, [pc, #44] ; (8037218 ) 80371ea: edd3 7a32 vldr s15, [r3, #200] ; 0xc8 80371ee: ed9f 7a13 vldr s14, [pc, #76] ; 803723c 80371f2: ee67 7a87 vmul.f32 s15, s15, s14 80371f6: 4b08 ldr r3, [pc, #32] ; (8037218 ) 80371f8: edc3 7a32 vstr s15, [r3, #200] ; 0xc8 pardata.D_INNER += 0.0005f; 80371fc: 4b06 ldr r3, [pc, #24] ; (8037218 ) 80371fe: edd3 7a32 vldr s15, [r3, #200] ; 0xc8 8037202: ed9f 7a0f vldr s14, [pc, #60] ; 8037240 8037206: ee77 7a87 vadd.f32 s15, s15, s14 803720a: 4b03 ldr r3, [pc, #12] ; (8037218 ) 803720c: edc3 7a32 vstr s15, [r3, #200] ; 0xc8 break; 8037210: f004 be01 b.w 803be16 8037214: 20020070 .word 0x20020070 8037218: 20023e60 .word 0x20023e60 803721c: 447a0000 .word 0x447a0000 8037220: 0a7c5ac5 .word 0x0a7c5ac5 8037224: 000186a0 .word 0x000186a0 8037228: d1b71759 .word 0xd1b71759 803722c: 10624dd3 .word 0x10624dd3 8037230: 51eb851f .word 0x51eb851f 8037234: cccccccd .word 0xcccccccd 8037238: 000f423f .word 0x000f423f 803723c: 3a83126f .word 0x3a83126f 8037240: 3a03126f .word 0x3a03126f if((menupos >= UdarRate_IET) && (menupos <= UdarRate_IEE)) 8037244: 4b8c ldr r3, [pc, #560] ; (8037478 ) 8037246: 781b ldrb r3, [r3, #0] 8037248: b2db uxtb r3, r3 803724a: 2b02 cmp r3, #2 803724c: f244 85e3 bls.w 803be16 8037250: 4b89 ldr r3, [pc, #548] ; (8037478 ) 8037252: 781b ldrb r3, [r3, #0] 8037254: b2db uxtb r3, r3 8037256: 2b06 cmp r3, #6 8037258: f204 85dd bhi.w 803be16 k = pardata.D_RATE; 803725c: 4b87 ldr r3, [pc, #540] ; (803747c ) 803725e: f8d3 30d0 ldr.w r3, [r3, #208] ; 0xd0 8037262: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 iet = (uint8_t) (k / 1000); 8037266: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803726a: 4a85 ldr r2, [pc, #532] ; (8037480 ) 803726c: fba2 2303 umull r2, r3, r2, r3 8037270: 099b lsrs r3, r3, #6 8037272: b2db uxtb r3, r3 8037274: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 1000 / 100); 8037278: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803727c: 4b80 ldr r3, [pc, #512] ; (8037480 ) 803727e: fba3 1302 umull r1, r3, r3, r2 8037282: 099b lsrs r3, r3, #6 8037284: f44f 717a mov.w r1, #1000 ; 0x3e8 8037288: fb01 f303 mul.w r3, r1, r3 803728c: 1ad3 subs r3, r2, r3 803728e: 4a7d ldr r2, [pc, #500] ; (8037484 ) 8037290: fba2 2303 umull r2, r3, r2, r3 8037294: 095b lsrs r3, r3, #5 8037296: b2db uxtb r3, r3 8037298: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 1000 % 100 / 10); 803729c: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80372a0: 4b77 ldr r3, [pc, #476] ; (8037480 ) 80372a2: fba3 1302 umull r1, r3, r3, r2 80372a6: 099b lsrs r3, r3, #6 80372a8: f44f 717a mov.w r1, #1000 ; 0x3e8 80372ac: fb01 f303 mul.w r3, r1, r3 80372b0: 1ad3 subs r3, r2, r3 80372b2: 4a74 ldr r2, [pc, #464] ; (8037484 ) 80372b4: fba2 1203 umull r1, r2, r2, r3 80372b8: 0952 lsrs r2, r2, #5 80372ba: 2164 movs r1, #100 ; 0x64 80372bc: fb01 f202 mul.w r2, r1, r2 80372c0: 1a9a subs r2, r3, r2 80372c2: 4b71 ldr r3, [pc, #452] ; (8037488 ) 80372c4: fba3 2302 umull r2, r3, r3, r2 80372c8: 08db lsrs r3, r3, #3 80372ca: b2db uxtb r3, r3 80372cc: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 1000 % 100 % 10); 80372d0: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80372d4: 4b6a ldr r3, [pc, #424] ; (8037480 ) 80372d6: fba3 1302 umull r1, r3, r3, r2 80372da: 099b lsrs r3, r3, #6 80372dc: f44f 717a mov.w r1, #1000 ; 0x3e8 80372e0: fb01 f303 mul.w r3, r1, r3 80372e4: 1ad3 subs r3, r2, r3 80372e6: 4a67 ldr r2, [pc, #412] ; (8037484 ) 80372e8: fba2 1203 umull r1, r2, r2, r3 80372ec: 0952 lsrs r2, r2, #5 80372ee: 2164 movs r1, #100 ; 0x64 80372f0: fb01 f202 mul.w r2, r1, r2 80372f4: 1a9a subs r2, r3, r2 80372f6: 4b64 ldr r3, [pc, #400] ; (8037488 ) 80372f8: fba3 1302 umull r1, r3, r3, r2 80372fc: 08d9 lsrs r1, r3, #3 80372fe: 460b mov r3, r1 8037300: 009b lsls r3, r3, #2 8037302: 440b add r3, r1 8037304: 005b lsls r3, r3, #1 8037306: 1ad1 subs r1, r2, r3 8037308: b2cb uxtb r3, r1 803730a: f887 306f strb.w r3, [r7, #111] ; 0x6f switch(menupos) 803730e: 4b5a ldr r3, [pc, #360] ; (8037478 ) 8037310: 781b ldrb r3, [r3, #0] 8037312: b2db uxtb r3, r3 8037314: 3b03 subs r3, #3 8037316: 2b03 cmp r3, #3 8037318: d823 bhi.n 8037362 803731a: a201 add r2, pc, #4 ; (adr r2, 8037320 ) 803731c: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8037320: 08037331 .word 0x08037331 8037324: 0803733f .word 0x0803733f 8037328: 0803734b .word 0x0803734b 803732c: 08037357 .word 0x08037357 k += 1000; 8037330: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8037334: f503 737a add.w r3, r3, #1000 ; 0x3e8 8037338: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803733c: e011 b.n 8037362 k += 100; 803733e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8037342: 3364 adds r3, #100 ; 0x64 8037344: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8037348: e00b b.n 8037362 k += 10; 803734a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803734e: 330a adds r3, #10 8037350: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8037354: e005 b.n 8037362 k++; 8037356: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803735a: 3301 adds r3, #1 803735c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8037360: bf00 nop if(k > 9999) k = 9999; 8037362: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8037366: f242 720f movw r2, #9999 ; 0x270f 803736a: 4293 cmp r3, r2 803736c: d903 bls.n 8037376 803736e: f242 730f movw r3, #9999 ; 0x270f 8037372: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 if(k == 0) k = 1; 8037376: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803737a: 2b00 cmp r3, #0 803737c: d102 bne.n 8037384 803737e: 2301 movs r3, #1 8037380: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.D_RATE = k; 8037384: 4a3d ldr r2, [pc, #244] ; (803747c ) 8037386: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803738a: f8c2 30d0 str.w r3, [r2, #208] ; 0xd0 break; 803738e: f004 bd42 b.w 803be16 case PARAM_ROLL: focused = false; 8037392: 4b3e ldr r3, [pc, #248] ; (803748c ) 8037394: 2200 movs r2, #0 8037396: 701a strb r2, [r3, #0] if(menupos == Ok) 8037398: 4b37 ldr r3, [pc, #220] ; (8037478 ) 803739a: 781b ldrb r3, [r3, #0] 803739c: b2db uxtb r3, r3 803739e: 2b00 cmp r3, #0 80373a0: d104 bne.n 80373ac menupos = D_Rate; 80373a2: 4b35 ldr r3, [pc, #212] ; (8037478 ) 80373a4: 2209 movs r2, #9 80373a6: 701a strb r2, [r3, #0] } if(k > 9999) k = 9999; if(k == 0) k = 1; pardata.D_RATE = k; } break; 80373a8: f004 bd38 b.w 803be1c if(menupos == D_Rate) 80373ac: 4b32 ldr r3, [pc, #200] ; (8037478 ) 80373ae: 781b ldrb r3, [r3, #0] 80373b0: b2db uxtb r3, r3 80373b2: 2b09 cmp r3, #9 80373b4: d110 bne.n 80373d8 if(pardata.OPTIONS & 0x4) 80373b6: 4b31 ldr r3, [pc, #196] ; (803747c ) 80373b8: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80373bc: f003 0304 and.w r3, r3, #4 80373c0: 2b00 cmp r3, #0 80373c2: d004 beq.n 80373ce menupos = RollAutoKu; 80373c4: 4b2c ldr r3, [pc, #176] ; (8037478 ) 80373c6: 2207 movs r2, #7 80373c8: 701a strb r2, [r3, #0] break; 80373ca: f004 bd27 b.w 803be1c else menupos = RollMax_ALL; 80373ce: 4b2a ldr r3, [pc, #168] ; (8037478 ) 80373d0: 2208 movs r2, #8 80373d2: 701a strb r2, [r3, #0] break; 80373d4: f004 bd22 b.w 803be1c if(menupos == RollMax_ALL) 80373d8: 4b27 ldr r3, [pc, #156] ; (8037478 ) 80373da: 781b ldrb r3, [r3, #0] 80373dc: b2db uxtb r3, r3 80373de: 2b08 cmp r3, #8 80373e0: d104 bne.n 80373ec menupos = RollAutoKu; 80373e2: 4b25 ldr r3, [pc, #148] ; (8037478 ) 80373e4: 2207 movs r2, #7 80373e6: 701a strb r2, [r3, #0] break; 80373e8: f004 bd18 b.w 803be1c if(menupos == RollAutoKu) 80373ec: 4b22 ldr r3, [pc, #136] ; (8037478 ) 80373ee: 781b ldrb r3, [r3, #0] 80373f0: b2db uxtb r3, r3 80373f2: 2b07 cmp r3, #7 80373f4: d104 bne.n 8037400 menupos = RollAverage; 80373f6: 4b20 ldr r3, [pc, #128] ; (8037478 ) 80373f8: 2206 movs r2, #6 80373fa: 701a strb r2, [r3, #0] break; 80373fc: f004 bd0e b.w 803be1c if(menupos == RollAverage) 8037400: 4b1d ldr r3, [pc, #116] ; (8037478 ) 8037402: 781b ldrb r3, [r3, #0] 8037404: b2db uxtb r3, r3 8037406: 2b06 cmp r3, #6 8037408: d104 bne.n 8037414 menupos = D_Angle; 803740a: 4b1b ldr r3, [pc, #108] ; (8037478 ) 803740c: 2205 movs r2, #5 803740e: 701a strb r2, [r3, #0] break; 8037410: f004 bd04 b.w 803be1c if(menupos == D_Angle) 8037414: 4b18 ldr r3, [pc, #96] ; (8037478 ) 8037416: 781b ldrb r3, [r3, #0] 8037418: b2db uxtb r3, r3 803741a: 2b05 cmp r3, #5 803741c: d104 bne.n 8037428 menupos = D_Inner; 803741e: 4b16 ldr r3, [pc, #88] ; (8037478 ) 8037420: 2204 movs r2, #4 8037422: 701a strb r2, [r3, #0] break; 8037424: f004 bcfa b.w 803be1c if(menupos == D_Inner) 8037428: 4b13 ldr r3, [pc, #76] ; (8037478 ) 803742a: 781b ldrb r3, [r3, #0] 803742c: b2db uxtb r3, r3 803742e: 2b04 cmp r3, #4 8037430: d104 bne.n 803743c menupos = D_Outer; 8037432: 4b11 ldr r3, [pc, #68] ; (8037478 ) 8037434: 2203 movs r2, #3 8037436: 701a strb r2, [r3, #0] break; 8037438: f004 bcf0 b.w 803be1c if(menupos == D_Outer) 803743c: 4b0e ldr r3, [pc, #56] ; (8037478 ) 803743e: 781b ldrb r3, [r3, #0] 8037440: b2db uxtb r3, r3 8037442: 2b03 cmp r3, #3 8037444: d104 bne.n 8037450 menupos = D_Roll; 8037446: 4b0c ldr r3, [pc, #48] ; (8037478 ) 8037448: 2202 movs r2, #2 803744a: 701a strb r2, [r3, #0] break; 803744c: f004 bce6 b.w 803be1c if(menupos == D_Roll) 8037450: 4b09 ldr r3, [pc, #36] ; (8037478 ) 8037452: 781b ldrb r3, [r3, #0] 8037454: b2db uxtb r3, r3 8037456: 2b02 cmp r3, #2 8037458: d104 bne.n 8037464 menupos = RollCount; 803745a: 4b07 ldr r3, [pc, #28] ; (8037478 ) 803745c: 2201 movs r2, #1 803745e: 701a strb r2, [r3, #0] break; 8037460: f004 bcdc b.w 803be1c if(menupos == RollCount) 8037464: 4b04 ldr r3, [pc, #16] ; (8037478 ) 8037466: 781b ldrb r3, [r3, #0] 8037468: b2db uxtb r3, r3 803746a: 2b01 cmp r3, #1 803746c: d110 bne.n 8037490 menupos = Ok; 803746e: 4b02 ldr r3, [pc, #8] ; (8037478 ) 8037470: 2200 movs r2, #0 8037472: 701a strb r2, [r3, #0] break; 8037474: f004 bcd2 b.w 803be1c 8037478: 20020070 .word 0x20020070 803747c: 20023e60 .word 0x20023e60 8037480: 10624dd3 .word 0x10624dd3 8037484: 51eb851f .word 0x51eb851f 8037488: cccccccd .word 0xcccccccd 803748c: 20020f84 .word 0x20020f84 if((menupos >= RollMax_IDT) && (menupos <= RollMax_IKD)) 8037490: 4b9d ldr r3, [pc, #628] ; (8037708 ) 8037492: 781b ldrb r3, [r3, #0] 8037494: b2db uxtb r3, r3 8037496: 2b25 cmp r3, #37 ; 0x25 8037498: f240 814c bls.w 8037734 803749c: 4b9a ldr r3, [pc, #616] ; (8037708 ) 803749e: 781b ldrb r3, [r3, #0] 80374a0: b2db uxtb r3, r3 80374a2: 2b2b cmp r3, #43 ; 0x2b 80374a4: f200 8146 bhi.w 8037734 k = (uint32_t) (pardata.MAX_VAL * 10.0f); 80374a8: 4b98 ldr r3, [pc, #608] ; (803770c ) 80374aa: edd3 7a06 vldr s15, [r3, #24] 80374ae: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80374b2: ee67 7a87 vmul.f32 s15, s15, s14 80374b6: eefc 7ae7 vcvt.u32.f32 s15, s15 80374ba: ee17 3a90 vmov r3, s15 80374be: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 80374c2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80374c6: 095b lsrs r3, r3, #5 80374c8: 4a91 ldr r2, [pc, #580] ; (8037710 ) 80374ca: fba2 2303 umull r2, r3, r2, r3 80374ce: 09db lsrs r3, r3, #7 80374d0: b2db uxtb r3, r3 80374d2: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 80374d6: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80374da: 0953 lsrs r3, r2, #5 80374dc: 498c ldr r1, [pc, #560] ; (8037710 ) 80374de: fba1 1303 umull r1, r3, r1, r3 80374e2: 09db lsrs r3, r3, #7 80374e4: 498b ldr r1, [pc, #556] ; (8037714 ) 80374e6: fb01 f303 mul.w r3, r1, r3 80374ea: 1ad3 subs r3, r2, r3 80374ec: 4a8a ldr r2, [pc, #552] ; (8037718 ) 80374ee: fba2 2303 umull r2, r3, r2, r3 80374f2: 0b5b lsrs r3, r3, #13 80374f4: b2db uxtb r3, r3 80374f6: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 80374fa: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80374fe: 0953 lsrs r3, r2, #5 8037500: 4983 ldr r1, [pc, #524] ; (8037710 ) 8037502: fba1 1303 umull r1, r3, r1, r3 8037506: 09db lsrs r3, r3, #7 8037508: 4982 ldr r1, [pc, #520] ; (8037714 ) 803750a: fb01 f303 mul.w r3, r1, r3 803750e: 1ad3 subs r3, r2, r3 8037510: 4a81 ldr r2, [pc, #516] ; (8037718 ) 8037512: fba2 1203 umull r1, r2, r2, r3 8037516: 0b52 lsrs r2, r2, #13 8037518: f242 7110 movw r1, #10000 ; 0x2710 803751c: fb01 f202 mul.w r2, r1, r2 8037520: 1a9a subs r2, r3, r2 8037522: 4b7e ldr r3, [pc, #504] ; (803771c ) 8037524: fba3 2302 umull r2, r3, r3, r2 8037528: 099b lsrs r3, r3, #6 803752a: b2db uxtb r3, r3 803752c: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 8037530: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8037534: 095a lsrs r2, r3, #5 8037536: 4976 ldr r1, [pc, #472] ; (8037710 ) 8037538: fba1 1202 umull r1, r2, r1, r2 803753c: 09d2 lsrs r2, r2, #7 803753e: 4975 ldr r1, [pc, #468] ; (8037714 ) 8037540: fb01 f202 mul.w r2, r1, r2 8037544: 1a9a subs r2, r3, r2 8037546: 4b74 ldr r3, [pc, #464] ; (8037718 ) 8037548: fba3 1302 umull r1, r3, r3, r2 803754c: 0b5b lsrs r3, r3, #13 803754e: f242 7110 movw r1, #10000 ; 0x2710 8037552: fb01 f303 mul.w r3, r1, r3 8037556: 1ad3 subs r3, r2, r3 8037558: 4a70 ldr r2, [pc, #448] ; (803771c ) 803755a: fba2 1203 umull r1, r2, r2, r3 803755e: 0992 lsrs r2, r2, #6 8037560: f44f 717a mov.w r1, #1000 ; 0x3e8 8037564: fb01 f202 mul.w r2, r1, r2 8037568: 1a9a subs r2, r3, r2 803756a: 4b6d ldr r3, [pc, #436] ; (8037720 ) 803756c: fba3 2302 umull r2, r3, r3, r2 8037570: 095b lsrs r3, r3, #5 8037572: b2db uxtb r3, r3 8037574: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 8037578: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803757c: 0953 lsrs r3, r2, #5 803757e: 4964 ldr r1, [pc, #400] ; (8037710 ) 8037580: fba1 1303 umull r1, r3, r1, r3 8037584: 09db lsrs r3, r3, #7 8037586: 4963 ldr r1, [pc, #396] ; (8037714 ) 8037588: fb01 f303 mul.w r3, r1, r3 803758c: 1ad3 subs r3, r2, r3 803758e: 4a62 ldr r2, [pc, #392] ; (8037718 ) 8037590: fba2 1203 umull r1, r2, r2, r3 8037594: 0b52 lsrs r2, r2, #13 8037596: f242 7110 movw r1, #10000 ; 0x2710 803759a: fb01 f202 mul.w r2, r1, r2 803759e: 1a9a subs r2, r3, r2 80375a0: 4b5e ldr r3, [pc, #376] ; (803771c ) 80375a2: fba3 1302 umull r1, r3, r3, r2 80375a6: 099b lsrs r3, r3, #6 80375a8: f44f 717a mov.w r1, #1000 ; 0x3e8 80375ac: fb01 f303 mul.w r3, r1, r3 80375b0: 1ad3 subs r3, r2, r3 80375b2: 4a5b ldr r2, [pc, #364] ; (8037720 ) 80375b4: fba2 1203 umull r1, r2, r2, r3 80375b8: 0952 lsrs r2, r2, #5 80375ba: 2164 movs r1, #100 ; 0x64 80375bc: fb01 f202 mul.w r2, r1, r2 80375c0: 1a9a subs r2, r3, r2 80375c2: 4b58 ldr r3, [pc, #352] ; (8037724 ) 80375c4: fba3 2302 umull r2, r3, r3, r2 80375c8: 08db lsrs r3, r3, #3 80375ca: b2db uxtb r3, r3 80375cc: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 80375d0: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80375d4: 0953 lsrs r3, r2, #5 80375d6: 494e ldr r1, [pc, #312] ; (8037710 ) 80375d8: fba1 1303 umull r1, r3, r1, r3 80375dc: 09db lsrs r3, r3, #7 80375de: 494d ldr r1, [pc, #308] ; (8037714 ) 80375e0: fb01 f303 mul.w r3, r1, r3 80375e4: 1ad3 subs r3, r2, r3 80375e6: 4a4c ldr r2, [pc, #304] ; (8037718 ) 80375e8: fba2 1203 umull r1, r2, r2, r3 80375ec: 0b52 lsrs r2, r2, #13 80375ee: f242 7110 movw r1, #10000 ; 0x2710 80375f2: fb01 f202 mul.w r2, r1, r2 80375f6: 1a9a subs r2, r3, r2 80375f8: 4b48 ldr r3, [pc, #288] ; (803771c ) 80375fa: fba3 1302 umull r1, r3, r3, r2 80375fe: 099b lsrs r3, r3, #6 8037600: f44f 717a mov.w r1, #1000 ; 0x3e8 8037604: fb01 f303 mul.w r3, r1, r3 8037608: 1ad3 subs r3, r2, r3 803760a: 4a45 ldr r2, [pc, #276] ; (8037720 ) 803760c: fba2 1203 umull r1, r2, r2, r3 8037610: 0952 lsrs r2, r2, #5 8037612: 2164 movs r1, #100 ; 0x64 8037614: fb01 f202 mul.w r2, r1, r2 8037618: 1a9a subs r2, r3, r2 803761a: 4b42 ldr r3, [pc, #264] ; (8037724 ) 803761c: fba3 1302 umull r1, r3, r3, r2 8037620: 08d9 lsrs r1, r3, #3 8037622: 460b mov r3, r1 8037624: 009b lsls r3, r3, #2 8037626: 440b add r3, r1 8037628: 005b lsls r3, r3, #1 803762a: 1ad1 subs r1, r2, r3 803762c: b2cb uxtb r3, r1 803762e: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 8037632: 4b35 ldr r3, [pc, #212] ; (8037708 ) 8037634: 781b ldrb r3, [r3, #0] 8037636: b2db uxtb r3, r3 8037638: 3b26 subs r3, #38 ; 0x26 803763a: 2b05 cmp r3, #5 803763c: d836 bhi.n 80376ac 803763e: a201 add r2, pc, #4 ; (adr r2, 8037644 ) 8037640: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8037644: 0803765d .word 0x0803765d 8037648: 0803766b .word 0x0803766b 803764c: 0803767b .word 0x0803767b 8037650: 08037689 .word 0x08037689 8037654: 08037695 .word 0x08037695 8037658: 080376a1 .word 0x080376a1 case RollMax_IDT: k += 100000; break; 803765c: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8037660: 4b2c ldr r3, [pc, #176] ; (8037714 ) 8037662: 4413 add r3, r2 8037664: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 8037668: e020 b.n 80376ac case RollMax_IET: k += 10000; break; 803766a: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803766e: f242 7310 movw r3, #10000 ; 0x2710 8037672: 4413 add r3, r2 8037674: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 8037678: e018 b.n 80376ac case RollMax_IES: k += 1000; break; 803767a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803767e: f503 737a add.w r3, r3, #1000 ; 0x3e8 8037682: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 8037686: e011 b.n 80376ac case RollMax_IED: k += 100; break; 8037688: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803768c: 3364 adds r3, #100 ; 0x64 803768e: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 8037692: e00b b.n 80376ac case RollMax_IEE: k += 10; break; 8037694: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8037698: 330a adds r3, #10 803769a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 803769e: e005 b.n 80376ac case RollMax_IKD: k++; break; 80376a0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80376a4: 3301 adds r3, #1 80376a6: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 80376aa: bf00 nop if(k > 999999) k = 999999; 80376ac: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80376b0: 4a1d ldr r2, [pc, #116] ; (8037728 ) 80376b2: 4293 cmp r3, r2 80376b4: d902 bls.n 80376bc 80376b6: 4b1c ldr r3, [pc, #112] ; (8037728 ) 80376b8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 if(k == 0) k = 1; 80376bc: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80376c0: 2b00 cmp r3, #0 80376c2: d102 bne.n 80376ca 80376c4: 2301 movs r3, #1 80376c6: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.MAX_VAL = (float32_t) k; 80376ca: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80376ce: ee07 3a90 vmov s15, r3 80376d2: eef8 7a67 vcvt.f32.u32 s15, s15 80376d6: 4b0d ldr r3, [pc, #52] ; (803770c ) 80376d8: edc3 7a06 vstr s15, [r3, #24] pardata.MAX_VAL *= 0.1f; 80376dc: 4b0b ldr r3, [pc, #44] ; (803770c ) 80376de: edd3 7a06 vldr s15, [r3, #24] 80376e2: ed9f 7a12 vldr s14, [pc, #72] ; 803772c 80376e6: ee67 7a87 vmul.f32 s15, s15, s14 80376ea: 4b08 ldr r3, [pc, #32] ; (803770c ) 80376ec: edc3 7a06 vstr s15, [r3, #24] pardata.MAX_VAL += 0.05f; 80376f0: 4b06 ldr r3, [pc, #24] ; (803770c ) 80376f2: edd3 7a06 vldr s15, [r3, #24] 80376f6: ed9f 7a0e vldr s14, [pc, #56] ; 8037730 80376fa: ee77 7a87 vadd.f32 s15, s15, s14 80376fe: 4b03 ldr r3, [pc, #12] ; (803770c ) 8037700: edc3 7a06 vstr s15, [r3, #24] 8037704: f000 be0d b.w 8038322 8037708: 20020070 .word 0x20020070 803770c: 20023e60 .word 0x20023e60 8037710: 0a7c5ac5 .word 0x0a7c5ac5 8037714: 000186a0 .word 0x000186a0 8037718: d1b71759 .word 0xd1b71759 803771c: 10624dd3 .word 0x10624dd3 8037720: 51eb851f .word 0x51eb851f 8037724: cccccccd .word 0xcccccccd 8037728: 000f423f .word 0x000f423f 803772c: 3dcccccd .word 0x3dcccccd 8037730: 3d4ccccd .word 0x3d4ccccd if((menupos >= D_Roll_IES) && (menupos <= D_Roll_IKT)) 8037734: 4b9d ldr r3, [pc, #628] ; (80379ac ) 8037736: 781b ldrb r3, [r3, #0] 8037738: b2db uxtb r3, r3 803773a: 2b09 cmp r3, #9 803773c: f240 814e bls.w 80379dc 8037740: 4b9a ldr r3, [pc, #616] ; (80379ac ) 8037742: 781b ldrb r3, [r3, #0] 8037744: b2db uxtb r3, r3 8037746: 2b0f cmp r3, #15 8037748: f200 8148 bhi.w 80379dc k = (uint32_t) (pardata.D_ROLL * 1000.0f); 803774c: 4b98 ldr r3, [pc, #608] ; (80379b0 ) 803774e: edd3 7a30 vldr s15, [r3, #192] ; 0xc0 8037752: ed9f 7a98 vldr s14, [pc, #608] ; 80379b4 8037756: ee67 7a87 vmul.f32 s15, s15, s14 803775a: eefc 7ae7 vcvt.u32.f32 s15, s15 803775e: ee17 3a90 vmov r3, s15 8037762: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 ies = (uint8_t) (k / 100000); 8037766: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803776a: 095b lsrs r3, r3, #5 803776c: 4a92 ldr r2, [pc, #584] ; (80379b8 ) 803776e: fba2 2303 umull r2, r3, r2, r3 8037772: 09db lsrs r3, r3, #7 8037774: b2db uxtb r3, r3 8037776: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 / 10000); 803777a: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803777e: 0953 lsrs r3, r2, #5 8037780: 498d ldr r1, [pc, #564] ; (80379b8 ) 8037782: fba1 1303 umull r1, r3, r1, r3 8037786: 09db lsrs r3, r3, #7 8037788: 498c ldr r1, [pc, #560] ; (80379bc ) 803778a: fb01 f303 mul.w r3, r1, r3 803778e: 1ad3 subs r3, r2, r3 8037790: 4a8b ldr r2, [pc, #556] ; (80379c0 ) 8037792: fba2 2303 umull r2, r3, r2, r3 8037796: 0b5b lsrs r3, r3, #13 8037798: b2db uxtb r3, r3 803779a: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 / 1000); 803779e: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80377a2: 0953 lsrs r3, r2, #5 80377a4: 4984 ldr r1, [pc, #528] ; (80379b8 ) 80377a6: fba1 1303 umull r1, r3, r1, r3 80377aa: 09db lsrs r3, r3, #7 80377ac: 4983 ldr r1, [pc, #524] ; (80379bc ) 80377ae: fb01 f303 mul.w r3, r1, r3 80377b2: 1ad3 subs r3, r2, r3 80377b4: 4a82 ldr r2, [pc, #520] ; (80379c0 ) 80377b6: fba2 1203 umull r1, r2, r2, r3 80377ba: 0b52 lsrs r2, r2, #13 80377bc: f242 7110 movw r1, #10000 ; 0x2710 80377c0: fb01 f202 mul.w r2, r1, r2 80377c4: 1a9a subs r2, r3, r2 80377c6: 4b7f ldr r3, [pc, #508] ; (80379c4 ) 80377c8: fba3 2302 umull r2, r3, r3, r2 80377cc: 099b lsrs r3, r3, #6 80377ce: b2db uxtb r3, r3 80377d0: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 80377d4: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80377d8: 095a lsrs r2, r3, #5 80377da: 4977 ldr r1, [pc, #476] ; (80379b8 ) 80377dc: fba1 1202 umull r1, r2, r1, r2 80377e0: 09d2 lsrs r2, r2, #7 80377e2: 4976 ldr r1, [pc, #472] ; (80379bc ) 80377e4: fb01 f202 mul.w r2, r1, r2 80377e8: 1a9a subs r2, r3, r2 80377ea: 4b75 ldr r3, [pc, #468] ; (80379c0 ) 80377ec: fba3 1302 umull r1, r3, r3, r2 80377f0: 0b5b lsrs r3, r3, #13 80377f2: f242 7110 movw r1, #10000 ; 0x2710 80377f6: fb01 f303 mul.w r3, r1, r3 80377fa: 1ad3 subs r3, r2, r3 80377fc: 4a71 ldr r2, [pc, #452] ; (80379c4 ) 80377fe: fba2 1203 umull r1, r2, r2, r3 8037802: 0992 lsrs r2, r2, #6 8037804: f44f 717a mov.w r1, #1000 ; 0x3e8 8037808: fb01 f202 mul.w r2, r1, r2 803780c: 1a9a subs r2, r3, r2 803780e: 4b6e ldr r3, [pc, #440] ; (80379c8 ) 8037810: fba3 2302 umull r2, r3, r3, r2 8037814: 095b lsrs r3, r3, #5 8037816: b2db uxtb r3, r3 8037818: f887 306e strb.w r3, [r7, #110] ; 0x6e iks = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 803781c: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8037820: 0953 lsrs r3, r2, #5 8037822: 4965 ldr r1, [pc, #404] ; (80379b8 ) 8037824: fba1 1303 umull r1, r3, r1, r3 8037828: 09db lsrs r3, r3, #7 803782a: 4964 ldr r1, [pc, #400] ; (80379bc ) 803782c: fb01 f303 mul.w r3, r1, r3 8037830: 1ad3 subs r3, r2, r3 8037832: 4a63 ldr r2, [pc, #396] ; (80379c0 ) 8037834: fba2 1203 umull r1, r2, r2, r3 8037838: 0b52 lsrs r2, r2, #13 803783a: f242 7110 movw r1, #10000 ; 0x2710 803783e: fb01 f202 mul.w r2, r1, r2 8037842: 1a9a subs r2, r3, r2 8037844: 4b5f ldr r3, [pc, #380] ; (80379c4 ) 8037846: fba3 1302 umull r1, r3, r3, r2 803784a: 099b lsrs r3, r3, #6 803784c: f44f 717a mov.w r1, #1000 ; 0x3e8 8037850: fb01 f303 mul.w r3, r1, r3 8037854: 1ad3 subs r3, r2, r3 8037856: 4a5c ldr r2, [pc, #368] ; (80379c8 ) 8037858: fba2 1203 umull r1, r2, r2, r3 803785c: 0952 lsrs r2, r2, #5 803785e: 2164 movs r1, #100 ; 0x64 8037860: fb01 f202 mul.w r2, r1, r2 8037864: 1a9a subs r2, r3, r2 8037866: 4b59 ldr r3, [pc, #356] ; (80379cc ) 8037868: fba3 2302 umull r2, r3, r3, r2 803786c: 08db lsrs r3, r3, #3 803786e: b2db uxtb r3, r3 8037870: f887 306d strb.w r3, [r7, #109] ; 0x6d ikt = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 8037874: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8037878: 0953 lsrs r3, r2, #5 803787a: 494f ldr r1, [pc, #316] ; (80379b8 ) 803787c: fba1 1303 umull r1, r3, r1, r3 8037880: 09db lsrs r3, r3, #7 8037882: 494e ldr r1, [pc, #312] ; (80379bc ) 8037884: fb01 f303 mul.w r3, r1, r3 8037888: 1ad3 subs r3, r2, r3 803788a: 4a4d ldr r2, [pc, #308] ; (80379c0 ) 803788c: fba2 1203 umull r1, r2, r2, r3 8037890: 0b52 lsrs r2, r2, #13 8037892: f242 7110 movw r1, #10000 ; 0x2710 8037896: fb01 f202 mul.w r2, r1, r2 803789a: 1a9a subs r2, r3, r2 803789c: 4b49 ldr r3, [pc, #292] ; (80379c4 ) 803789e: fba3 1302 umull r1, r3, r3, r2 80378a2: 099b lsrs r3, r3, #6 80378a4: f44f 717a mov.w r1, #1000 ; 0x3e8 80378a8: fb01 f303 mul.w r3, r1, r3 80378ac: 1ad3 subs r3, r2, r3 80378ae: 4a46 ldr r2, [pc, #280] ; (80379c8 ) 80378b0: fba2 1203 umull r1, r2, r2, r3 80378b4: 0952 lsrs r2, r2, #5 80378b6: 2164 movs r1, #100 ; 0x64 80378b8: fb01 f202 mul.w r2, r1, r2 80378bc: 1a9a subs r2, r3, r2 80378be: 4b43 ldr r3, [pc, #268] ; (80379cc ) 80378c0: fba3 1302 umull r1, r3, r3, r2 80378c4: 08d9 lsrs r1, r3, #3 80378c6: 460b mov r3, r1 80378c8: 009b lsls r3, r3, #2 80378ca: 440b add r3, r1 80378cc: 005b lsls r3, r3, #1 80378ce: 1ad1 subs r1, r2, r3 80378d0: b2cb uxtb r3, r1 80378d2: f887 306c strb.w r3, [r7, #108] ; 0x6c switch(menupos) 80378d6: 4b35 ldr r3, [pc, #212] ; (80379ac ) 80378d8: 781b ldrb r3, [r3, #0] 80378da: b2db uxtb r3, r3 80378dc: 3b0a subs r3, #10 80378de: 2b05 cmp r3, #5 80378e0: d836 bhi.n 8037950 80378e2: a201 add r2, pc, #4 ; (adr r2, 80378e8 ) 80378e4: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80378e8: 08037901 .word 0x08037901 80378ec: 0803790f .word 0x0803790f 80378f0: 0803791f .word 0x0803791f 80378f4: 0803792d .word 0x0803792d 80378f8: 08037939 .word 0x08037939 80378fc: 08037945 .word 0x08037945 case D_Roll_IES: k += 100000; break; 8037900: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8037904: 4b2d ldr r3, [pc, #180] ; (80379bc ) 8037906: 4413 add r3, r2 8037908: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 803790c: e020 b.n 8037950 case D_Roll_IED: k += 10000; break; 803790e: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8037912: f242 7310 movw r3, #10000 ; 0x2710 8037916: 4413 add r3, r2 8037918: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 803791c: e018 b.n 8037950 case D_Roll_IEE: k += 1000; break; 803791e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8037922: f503 737a add.w r3, r3, #1000 ; 0x3e8 8037926: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 803792a: e011 b.n 8037950 case D_Roll_IKD: k += 100; break; 803792c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8037930: 3364 adds r3, #100 ; 0x64 8037932: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 8037936: e00b b.n 8037950 case D_Roll_IKS: k += 10; break; 8037938: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803793c: 330a adds r3, #10 803793e: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 8037942: e005 b.n 8037950 case D_Roll_IKT: k++; break; 8037944: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8037948: 3301 adds r3, #1 803794a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 803794e: bf00 nop if(k > 999999) k = 999999; 8037950: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8037954: 4a1e ldr r2, [pc, #120] ; (80379d0 ) 8037956: 4293 cmp r3, r2 8037958: d902 bls.n 8037960 803795a: 4b1d ldr r3, [pc, #116] ; (80379d0 ) 803795c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 if(k == 0) k = 1; 8037960: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8037964: 2b00 cmp r3, #0 8037966: d102 bne.n 803796e 8037968: 2301 movs r3, #1 803796a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.D_ROLL = (float32_t) k; 803796e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8037972: ee07 3a90 vmov s15, r3 8037976: eef8 7a67 vcvt.f32.u32 s15, s15 803797a: 4b0d ldr r3, [pc, #52] ; (80379b0 ) 803797c: edc3 7a30 vstr s15, [r3, #192] ; 0xc0 pardata.D_ROLL *= 0.001f; 8037980: 4b0b ldr r3, [pc, #44] ; (80379b0 ) 8037982: edd3 7a30 vldr s15, [r3, #192] ; 0xc0 8037986: ed9f 7a13 vldr s14, [pc, #76] ; 80379d4 803798a: ee67 7a87 vmul.f32 s15, s15, s14 803798e: 4b08 ldr r3, [pc, #32] ; (80379b0 ) 8037990: edc3 7a30 vstr s15, [r3, #192] ; 0xc0 pardata.D_ROLL += 0.0005f; 8037994: 4b06 ldr r3, [pc, #24] ; (80379b0 ) 8037996: edd3 7a30 vldr s15, [r3, #192] ; 0xc0 803799a: ed9f 7a0f vldr s14, [pc, #60] ; 80379d8 803799e: ee77 7a87 vadd.f32 s15, s15, s14 80379a2: 4b03 ldr r3, [pc, #12] ; (80379b0 ) 80379a4: edc3 7a30 vstr s15, [r3, #192] ; 0xc0 80379a8: f000 bcbb b.w 8038322 80379ac: 20020070 .word 0x20020070 80379b0: 20023e60 .word 0x20023e60 80379b4: 447a0000 .word 0x447a0000 80379b8: 0a7c5ac5 .word 0x0a7c5ac5 80379bc: 000186a0 .word 0x000186a0 80379c0: d1b71759 .word 0xd1b71759 80379c4: 10624dd3 .word 0x10624dd3 80379c8: 51eb851f .word 0x51eb851f 80379cc: cccccccd .word 0xcccccccd 80379d0: 000f423f .word 0x000f423f 80379d4: 3a83126f .word 0x3a83126f 80379d8: 3a03126f .word 0x3a03126f if((menupos >= D_Outer_IES) && (menupos <= D_Outer_IKT)) 80379dc: 4b9d ldr r3, [pc, #628] ; (8037c54 ) 80379de: 781b ldrb r3, [r3, #0] 80379e0: b2db uxtb r3, r3 80379e2: 2b0f cmp r3, #15 80379e4: f240 814e bls.w 8037c84 80379e8: 4b9a ldr r3, [pc, #616] ; (8037c54 ) 80379ea: 781b ldrb r3, [r3, #0] 80379ec: b2db uxtb r3, r3 80379ee: 2b15 cmp r3, #21 80379f0: f200 8148 bhi.w 8037c84 k = (uint32_t) (pardata.D_OUTER * 1000.0f); 80379f4: 4b98 ldr r3, [pc, #608] ; (8037c58 ) 80379f6: edd3 7a31 vldr s15, [r3, #196] ; 0xc4 80379fa: ed9f 7a98 vldr s14, [pc, #608] ; 8037c5c 80379fe: ee67 7a87 vmul.f32 s15, s15, s14 8037a02: eefc 7ae7 vcvt.u32.f32 s15, s15 8037a06: ee17 3a90 vmov r3, s15 8037a0a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 ies = (uint8_t) (k / 100000); 8037a0e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8037a12: 095b lsrs r3, r3, #5 8037a14: 4a92 ldr r2, [pc, #584] ; (8037c60 ) 8037a16: fba2 2303 umull r2, r3, r2, r3 8037a1a: 09db lsrs r3, r3, #7 8037a1c: b2db uxtb r3, r3 8037a1e: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 / 10000); 8037a22: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8037a26: 0953 lsrs r3, r2, #5 8037a28: 498d ldr r1, [pc, #564] ; (8037c60 ) 8037a2a: fba1 1303 umull r1, r3, r1, r3 8037a2e: 09db lsrs r3, r3, #7 8037a30: 498c ldr r1, [pc, #560] ; (8037c64 ) 8037a32: fb01 f303 mul.w r3, r1, r3 8037a36: 1ad3 subs r3, r2, r3 8037a38: 4a8b ldr r2, [pc, #556] ; (8037c68 ) 8037a3a: fba2 2303 umull r2, r3, r2, r3 8037a3e: 0b5b lsrs r3, r3, #13 8037a40: b2db uxtb r3, r3 8037a42: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 / 1000); 8037a46: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8037a4a: 0953 lsrs r3, r2, #5 8037a4c: 4984 ldr r1, [pc, #528] ; (8037c60 ) 8037a4e: fba1 1303 umull r1, r3, r1, r3 8037a52: 09db lsrs r3, r3, #7 8037a54: 4983 ldr r1, [pc, #524] ; (8037c64 ) 8037a56: fb01 f303 mul.w r3, r1, r3 8037a5a: 1ad3 subs r3, r2, r3 8037a5c: 4a82 ldr r2, [pc, #520] ; (8037c68 ) 8037a5e: fba2 1203 umull r1, r2, r2, r3 8037a62: 0b52 lsrs r2, r2, #13 8037a64: f242 7110 movw r1, #10000 ; 0x2710 8037a68: fb01 f202 mul.w r2, r1, r2 8037a6c: 1a9a subs r2, r3, r2 8037a6e: 4b7f ldr r3, [pc, #508] ; (8037c6c ) 8037a70: fba3 2302 umull r2, r3, r3, r2 8037a74: 099b lsrs r3, r3, #6 8037a76: b2db uxtb r3, r3 8037a78: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 8037a7c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8037a80: 095a lsrs r2, r3, #5 8037a82: 4977 ldr r1, [pc, #476] ; (8037c60 ) 8037a84: fba1 1202 umull r1, r2, r1, r2 8037a88: 09d2 lsrs r2, r2, #7 8037a8a: 4976 ldr r1, [pc, #472] ; (8037c64 ) 8037a8c: fb01 f202 mul.w r2, r1, r2 8037a90: 1a9a subs r2, r3, r2 8037a92: 4b75 ldr r3, [pc, #468] ; (8037c68 ) 8037a94: fba3 1302 umull r1, r3, r3, r2 8037a98: 0b5b lsrs r3, r3, #13 8037a9a: f242 7110 movw r1, #10000 ; 0x2710 8037a9e: fb01 f303 mul.w r3, r1, r3 8037aa2: 1ad3 subs r3, r2, r3 8037aa4: 4a71 ldr r2, [pc, #452] ; (8037c6c ) 8037aa6: fba2 1203 umull r1, r2, r2, r3 8037aaa: 0992 lsrs r2, r2, #6 8037aac: f44f 717a mov.w r1, #1000 ; 0x3e8 8037ab0: fb01 f202 mul.w r2, r1, r2 8037ab4: 1a9a subs r2, r3, r2 8037ab6: 4b6e ldr r3, [pc, #440] ; (8037c70 ) 8037ab8: fba3 2302 umull r2, r3, r3, r2 8037abc: 095b lsrs r3, r3, #5 8037abe: b2db uxtb r3, r3 8037ac0: f887 306e strb.w r3, [r7, #110] ; 0x6e iks = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 8037ac4: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8037ac8: 0953 lsrs r3, r2, #5 8037aca: 4965 ldr r1, [pc, #404] ; (8037c60 ) 8037acc: fba1 1303 umull r1, r3, r1, r3 8037ad0: 09db lsrs r3, r3, #7 8037ad2: 4964 ldr r1, [pc, #400] ; (8037c64 ) 8037ad4: fb01 f303 mul.w r3, r1, r3 8037ad8: 1ad3 subs r3, r2, r3 8037ada: 4a63 ldr r2, [pc, #396] ; (8037c68 ) 8037adc: fba2 1203 umull r1, r2, r2, r3 8037ae0: 0b52 lsrs r2, r2, #13 8037ae2: f242 7110 movw r1, #10000 ; 0x2710 8037ae6: fb01 f202 mul.w r2, r1, r2 8037aea: 1a9a subs r2, r3, r2 8037aec: 4b5f ldr r3, [pc, #380] ; (8037c6c ) 8037aee: fba3 1302 umull r1, r3, r3, r2 8037af2: 099b lsrs r3, r3, #6 8037af4: f44f 717a mov.w r1, #1000 ; 0x3e8 8037af8: fb01 f303 mul.w r3, r1, r3 8037afc: 1ad3 subs r3, r2, r3 8037afe: 4a5c ldr r2, [pc, #368] ; (8037c70 ) 8037b00: fba2 1203 umull r1, r2, r2, r3 8037b04: 0952 lsrs r2, r2, #5 8037b06: 2164 movs r1, #100 ; 0x64 8037b08: fb01 f202 mul.w r2, r1, r2 8037b0c: 1a9a subs r2, r3, r2 8037b0e: 4b59 ldr r3, [pc, #356] ; (8037c74 ) 8037b10: fba3 2302 umull r2, r3, r3, r2 8037b14: 08db lsrs r3, r3, #3 8037b16: b2db uxtb r3, r3 8037b18: f887 306d strb.w r3, [r7, #109] ; 0x6d ikt = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 8037b1c: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8037b20: 0953 lsrs r3, r2, #5 8037b22: 494f ldr r1, [pc, #316] ; (8037c60 ) 8037b24: fba1 1303 umull r1, r3, r1, r3 8037b28: 09db lsrs r3, r3, #7 8037b2a: 494e ldr r1, [pc, #312] ; (8037c64 ) 8037b2c: fb01 f303 mul.w r3, r1, r3 8037b30: 1ad3 subs r3, r2, r3 8037b32: 4a4d ldr r2, [pc, #308] ; (8037c68 ) 8037b34: fba2 1203 umull r1, r2, r2, r3 8037b38: 0b52 lsrs r2, r2, #13 8037b3a: f242 7110 movw r1, #10000 ; 0x2710 8037b3e: fb01 f202 mul.w r2, r1, r2 8037b42: 1a9a subs r2, r3, r2 8037b44: 4b49 ldr r3, [pc, #292] ; (8037c6c ) 8037b46: fba3 1302 umull r1, r3, r3, r2 8037b4a: 099b lsrs r3, r3, #6 8037b4c: f44f 717a mov.w r1, #1000 ; 0x3e8 8037b50: fb01 f303 mul.w r3, r1, r3 8037b54: 1ad3 subs r3, r2, r3 8037b56: 4a46 ldr r2, [pc, #280] ; (8037c70 ) 8037b58: fba2 1203 umull r1, r2, r2, r3 8037b5c: 0952 lsrs r2, r2, #5 8037b5e: 2164 movs r1, #100 ; 0x64 8037b60: fb01 f202 mul.w r2, r1, r2 8037b64: 1a9a subs r2, r3, r2 8037b66: 4b43 ldr r3, [pc, #268] ; (8037c74 ) 8037b68: fba3 1302 umull r1, r3, r3, r2 8037b6c: 08d9 lsrs r1, r3, #3 8037b6e: 460b mov r3, r1 8037b70: 009b lsls r3, r3, #2 8037b72: 440b add r3, r1 8037b74: 005b lsls r3, r3, #1 8037b76: 1ad1 subs r1, r2, r3 8037b78: b2cb uxtb r3, r1 8037b7a: f887 306c strb.w r3, [r7, #108] ; 0x6c switch(menupos) 8037b7e: 4b35 ldr r3, [pc, #212] ; (8037c54 ) 8037b80: 781b ldrb r3, [r3, #0] 8037b82: b2db uxtb r3, r3 8037b84: 3b10 subs r3, #16 8037b86: 2b05 cmp r3, #5 8037b88: d836 bhi.n 8037bf8 8037b8a: a201 add r2, pc, #4 ; (adr r2, 8037b90 ) 8037b8c: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8037b90: 08037ba9 .word 0x08037ba9 8037b94: 08037bb7 .word 0x08037bb7 8037b98: 08037bc7 .word 0x08037bc7 8037b9c: 08037bd5 .word 0x08037bd5 8037ba0: 08037be1 .word 0x08037be1 8037ba4: 08037bed .word 0x08037bed case D_Outer_IES: k += 100000; break; 8037ba8: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8037bac: 4b2d ldr r3, [pc, #180] ; (8037c64 ) 8037bae: 4413 add r3, r2 8037bb0: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 8037bb4: e020 b.n 8037bf8 case D_Outer_IED: k += 10000; break; 8037bb6: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8037bba: f242 7310 movw r3, #10000 ; 0x2710 8037bbe: 4413 add r3, r2 8037bc0: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 8037bc4: e018 b.n 8037bf8 case D_Outer_IEE: k += 1000; break; 8037bc6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8037bca: f503 737a add.w r3, r3, #1000 ; 0x3e8 8037bce: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 8037bd2: e011 b.n 8037bf8 case D_Outer_IKD: k += 100; break; 8037bd4: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8037bd8: 3364 adds r3, #100 ; 0x64 8037bda: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 8037bde: e00b b.n 8037bf8 case D_Outer_IKS: k += 10; break; 8037be0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8037be4: 330a adds r3, #10 8037be6: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 8037bea: e005 b.n 8037bf8 case D_Outer_IKT: k++; break; 8037bec: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8037bf0: 3301 adds r3, #1 8037bf2: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 8037bf6: bf00 nop if(k > 999999) k = 999999; 8037bf8: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8037bfc: 4a1e ldr r2, [pc, #120] ; (8037c78 ) 8037bfe: 4293 cmp r3, r2 8037c00: d902 bls.n 8037c08 8037c02: 4b1d ldr r3, [pc, #116] ; (8037c78 ) 8037c04: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 if(k == 0) k = 1; 8037c08: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8037c0c: 2b00 cmp r3, #0 8037c0e: d102 bne.n 8037c16 8037c10: 2301 movs r3, #1 8037c12: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.D_OUTER = (float32_t) k; 8037c16: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8037c1a: ee07 3a90 vmov s15, r3 8037c1e: eef8 7a67 vcvt.f32.u32 s15, s15 8037c22: 4b0d ldr r3, [pc, #52] ; (8037c58 ) 8037c24: edc3 7a31 vstr s15, [r3, #196] ; 0xc4 pardata.D_OUTER *= 0.001f; 8037c28: 4b0b ldr r3, [pc, #44] ; (8037c58 ) 8037c2a: edd3 7a31 vldr s15, [r3, #196] ; 0xc4 8037c2e: ed9f 7a13 vldr s14, [pc, #76] ; 8037c7c 8037c32: ee67 7a87 vmul.f32 s15, s15, s14 8037c36: 4b08 ldr r3, [pc, #32] ; (8037c58 ) 8037c38: edc3 7a31 vstr s15, [r3, #196] ; 0xc4 pardata.D_OUTER += 0.0005f; 8037c3c: 4b06 ldr r3, [pc, #24] ; (8037c58 ) 8037c3e: edd3 7a31 vldr s15, [r3, #196] ; 0xc4 8037c42: ed9f 7a0f vldr s14, [pc, #60] ; 8037c80 8037c46: ee77 7a87 vadd.f32 s15, s15, s14 8037c4a: 4b03 ldr r3, [pc, #12] ; (8037c58 ) 8037c4c: edc3 7a31 vstr s15, [r3, #196] ; 0xc4 8037c50: e367 b.n 8038322 8037c52: bf00 nop 8037c54: 20020070 .word 0x20020070 8037c58: 20023e60 .word 0x20023e60 8037c5c: 447a0000 .word 0x447a0000 8037c60: 0a7c5ac5 .word 0x0a7c5ac5 8037c64: 000186a0 .word 0x000186a0 8037c68: d1b71759 .word 0xd1b71759 8037c6c: 10624dd3 .word 0x10624dd3 8037c70: 51eb851f .word 0x51eb851f 8037c74: cccccccd .word 0xcccccccd 8037c78: 000f423f .word 0x000f423f 8037c7c: 3a83126f .word 0x3a83126f 8037c80: 3a03126f .word 0x3a03126f if((menupos >= D_Inner_IES) && (menupos <= D_Inner_IKT)) 8037c84: 4b9d ldr r3, [pc, #628] ; (8037efc ) 8037c86: 781b ldrb r3, [r3, #0] 8037c88: b2db uxtb r3, r3 8037c8a: 2b15 cmp r3, #21 8037c8c: f240 814e bls.w 8037f2c 8037c90: 4b9a ldr r3, [pc, #616] ; (8037efc ) 8037c92: 781b ldrb r3, [r3, #0] 8037c94: b2db uxtb r3, r3 8037c96: 2b1b cmp r3, #27 8037c98: f200 8148 bhi.w 8037f2c k = (uint32_t) (pardata.D_INNER * 1000.0f); 8037c9c: 4b98 ldr r3, [pc, #608] ; (8037f00 ) 8037c9e: edd3 7a32 vldr s15, [r3, #200] ; 0xc8 8037ca2: ed9f 7a98 vldr s14, [pc, #608] ; 8037f04 8037ca6: ee67 7a87 vmul.f32 s15, s15, s14 8037caa: eefc 7ae7 vcvt.u32.f32 s15, s15 8037cae: ee17 3a90 vmov r3, s15 8037cb2: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 ies = (uint8_t) (k / 100000); 8037cb6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8037cba: 095b lsrs r3, r3, #5 8037cbc: 4a92 ldr r2, [pc, #584] ; (8037f08 ) 8037cbe: fba2 2303 umull r2, r3, r2, r3 8037cc2: 09db lsrs r3, r3, #7 8037cc4: b2db uxtb r3, r3 8037cc6: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 / 10000); 8037cca: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8037cce: 0953 lsrs r3, r2, #5 8037cd0: 498d ldr r1, [pc, #564] ; (8037f08 ) 8037cd2: fba1 1303 umull r1, r3, r1, r3 8037cd6: 09db lsrs r3, r3, #7 8037cd8: 498c ldr r1, [pc, #560] ; (8037f0c ) 8037cda: fb01 f303 mul.w r3, r1, r3 8037cde: 1ad3 subs r3, r2, r3 8037ce0: 4a8b ldr r2, [pc, #556] ; (8037f10 ) 8037ce2: fba2 2303 umull r2, r3, r2, r3 8037ce6: 0b5b lsrs r3, r3, #13 8037ce8: b2db uxtb r3, r3 8037cea: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 / 1000); 8037cee: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8037cf2: 0953 lsrs r3, r2, #5 8037cf4: 4984 ldr r1, [pc, #528] ; (8037f08 ) 8037cf6: fba1 1303 umull r1, r3, r1, r3 8037cfa: 09db lsrs r3, r3, #7 8037cfc: 4983 ldr r1, [pc, #524] ; (8037f0c ) 8037cfe: fb01 f303 mul.w r3, r1, r3 8037d02: 1ad3 subs r3, r2, r3 8037d04: 4a82 ldr r2, [pc, #520] ; (8037f10 ) 8037d06: fba2 1203 umull r1, r2, r2, r3 8037d0a: 0b52 lsrs r2, r2, #13 8037d0c: f242 7110 movw r1, #10000 ; 0x2710 8037d10: fb01 f202 mul.w r2, r1, r2 8037d14: 1a9a subs r2, r3, r2 8037d16: 4b7f ldr r3, [pc, #508] ; (8037f14 ) 8037d18: fba3 2302 umull r2, r3, r3, r2 8037d1c: 099b lsrs r3, r3, #6 8037d1e: b2db uxtb r3, r3 8037d20: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 8037d24: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8037d28: 095a lsrs r2, r3, #5 8037d2a: 4977 ldr r1, [pc, #476] ; (8037f08 ) 8037d2c: fba1 1202 umull r1, r2, r1, r2 8037d30: 09d2 lsrs r2, r2, #7 8037d32: 4976 ldr r1, [pc, #472] ; (8037f0c ) 8037d34: fb01 f202 mul.w r2, r1, r2 8037d38: 1a9a subs r2, r3, r2 8037d3a: 4b75 ldr r3, [pc, #468] ; (8037f10 ) 8037d3c: fba3 1302 umull r1, r3, r3, r2 8037d40: 0b5b lsrs r3, r3, #13 8037d42: f242 7110 movw r1, #10000 ; 0x2710 8037d46: fb01 f303 mul.w r3, r1, r3 8037d4a: 1ad3 subs r3, r2, r3 8037d4c: 4a71 ldr r2, [pc, #452] ; (8037f14 ) 8037d4e: fba2 1203 umull r1, r2, r2, r3 8037d52: 0992 lsrs r2, r2, #6 8037d54: f44f 717a mov.w r1, #1000 ; 0x3e8 8037d58: fb01 f202 mul.w r2, r1, r2 8037d5c: 1a9a subs r2, r3, r2 8037d5e: 4b6e ldr r3, [pc, #440] ; (8037f18 ) 8037d60: fba3 2302 umull r2, r3, r3, r2 8037d64: 095b lsrs r3, r3, #5 8037d66: b2db uxtb r3, r3 8037d68: f887 306e strb.w r3, [r7, #110] ; 0x6e iks = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 8037d6c: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8037d70: 0953 lsrs r3, r2, #5 8037d72: 4965 ldr r1, [pc, #404] ; (8037f08 ) 8037d74: fba1 1303 umull r1, r3, r1, r3 8037d78: 09db lsrs r3, r3, #7 8037d7a: 4964 ldr r1, [pc, #400] ; (8037f0c ) 8037d7c: fb01 f303 mul.w r3, r1, r3 8037d80: 1ad3 subs r3, r2, r3 8037d82: 4a63 ldr r2, [pc, #396] ; (8037f10 ) 8037d84: fba2 1203 umull r1, r2, r2, r3 8037d88: 0b52 lsrs r2, r2, #13 8037d8a: f242 7110 movw r1, #10000 ; 0x2710 8037d8e: fb01 f202 mul.w r2, r1, r2 8037d92: 1a9a subs r2, r3, r2 8037d94: 4b5f ldr r3, [pc, #380] ; (8037f14 ) 8037d96: fba3 1302 umull r1, r3, r3, r2 8037d9a: 099b lsrs r3, r3, #6 8037d9c: f44f 717a mov.w r1, #1000 ; 0x3e8 8037da0: fb01 f303 mul.w r3, r1, r3 8037da4: 1ad3 subs r3, r2, r3 8037da6: 4a5c ldr r2, [pc, #368] ; (8037f18 ) 8037da8: fba2 1203 umull r1, r2, r2, r3 8037dac: 0952 lsrs r2, r2, #5 8037dae: 2164 movs r1, #100 ; 0x64 8037db0: fb01 f202 mul.w r2, r1, r2 8037db4: 1a9a subs r2, r3, r2 8037db6: 4b59 ldr r3, [pc, #356] ; (8037f1c ) 8037db8: fba3 2302 umull r2, r3, r3, r2 8037dbc: 08db lsrs r3, r3, #3 8037dbe: b2db uxtb r3, r3 8037dc0: f887 306d strb.w r3, [r7, #109] ; 0x6d ikt = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 8037dc4: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8037dc8: 0953 lsrs r3, r2, #5 8037dca: 494f ldr r1, [pc, #316] ; (8037f08 ) 8037dcc: fba1 1303 umull r1, r3, r1, r3 8037dd0: 09db lsrs r3, r3, #7 8037dd2: 494e ldr r1, [pc, #312] ; (8037f0c ) 8037dd4: fb01 f303 mul.w r3, r1, r3 8037dd8: 1ad3 subs r3, r2, r3 8037dda: 4a4d ldr r2, [pc, #308] ; (8037f10 ) 8037ddc: fba2 1203 umull r1, r2, r2, r3 8037de0: 0b52 lsrs r2, r2, #13 8037de2: f242 7110 movw r1, #10000 ; 0x2710 8037de6: fb01 f202 mul.w r2, r1, r2 8037dea: 1a9a subs r2, r3, r2 8037dec: 4b49 ldr r3, [pc, #292] ; (8037f14 ) 8037dee: fba3 1302 umull r1, r3, r3, r2 8037df2: 099b lsrs r3, r3, #6 8037df4: f44f 717a mov.w r1, #1000 ; 0x3e8 8037df8: fb01 f303 mul.w r3, r1, r3 8037dfc: 1ad3 subs r3, r2, r3 8037dfe: 4a46 ldr r2, [pc, #280] ; (8037f18 ) 8037e00: fba2 1203 umull r1, r2, r2, r3 8037e04: 0952 lsrs r2, r2, #5 8037e06: 2164 movs r1, #100 ; 0x64 8037e08: fb01 f202 mul.w r2, r1, r2 8037e0c: 1a9a subs r2, r3, r2 8037e0e: 4b43 ldr r3, [pc, #268] ; (8037f1c ) 8037e10: fba3 1302 umull r1, r3, r3, r2 8037e14: 08d9 lsrs r1, r3, #3 8037e16: 460b mov r3, r1 8037e18: 009b lsls r3, r3, #2 8037e1a: 440b add r3, r1 8037e1c: 005b lsls r3, r3, #1 8037e1e: 1ad1 subs r1, r2, r3 8037e20: b2cb uxtb r3, r1 8037e22: f887 306c strb.w r3, [r7, #108] ; 0x6c switch(menupos) 8037e26: 4b35 ldr r3, [pc, #212] ; (8037efc ) 8037e28: 781b ldrb r3, [r3, #0] 8037e2a: b2db uxtb r3, r3 8037e2c: 3b16 subs r3, #22 8037e2e: 2b05 cmp r3, #5 8037e30: d836 bhi.n 8037ea0 8037e32: a201 add r2, pc, #4 ; (adr r2, 8037e38 ) 8037e34: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8037e38: 08037e51 .word 0x08037e51 8037e3c: 08037e5f .word 0x08037e5f 8037e40: 08037e6f .word 0x08037e6f 8037e44: 08037e7d .word 0x08037e7d 8037e48: 08037e89 .word 0x08037e89 8037e4c: 08037e95 .word 0x08037e95 case D_Inner_IES: k += 100000; break; 8037e50: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8037e54: 4b2d ldr r3, [pc, #180] ; (8037f0c ) 8037e56: 4413 add r3, r2 8037e58: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 8037e5c: e020 b.n 8037ea0 case D_Inner_IED: k += 10000; break; 8037e5e: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8037e62: f242 7310 movw r3, #10000 ; 0x2710 8037e66: 4413 add r3, r2 8037e68: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 8037e6c: e018 b.n 8037ea0 case D_Inner_IEE: k += 1000; break; 8037e6e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8037e72: f503 737a add.w r3, r3, #1000 ; 0x3e8 8037e76: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 8037e7a: e011 b.n 8037ea0 case D_Inner_IKD: k += 100; break; 8037e7c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8037e80: 3364 adds r3, #100 ; 0x64 8037e82: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 8037e86: e00b b.n 8037ea0 case D_Inner_IKS: k += 10; break; 8037e88: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8037e8c: 330a adds r3, #10 8037e8e: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 8037e92: e005 b.n 8037ea0 case D_Inner_IKT: k++; break; 8037e94: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8037e98: 3301 adds r3, #1 8037e9a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 8037e9e: bf00 nop if(k > 999999) k = 999999; 8037ea0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8037ea4: 4a1e ldr r2, [pc, #120] ; (8037f20 ) 8037ea6: 4293 cmp r3, r2 8037ea8: d902 bls.n 8037eb0 8037eaa: 4b1d ldr r3, [pc, #116] ; (8037f20 ) 8037eac: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 if(k == 0) k = 1; 8037eb0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8037eb4: 2b00 cmp r3, #0 8037eb6: d102 bne.n 8037ebe 8037eb8: 2301 movs r3, #1 8037eba: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.D_INNER = (float32_t) k; 8037ebe: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8037ec2: ee07 3a90 vmov s15, r3 8037ec6: eef8 7a67 vcvt.f32.u32 s15, s15 8037eca: 4b0d ldr r3, [pc, #52] ; (8037f00 ) 8037ecc: edc3 7a32 vstr s15, [r3, #200] ; 0xc8 pardata.D_INNER *= 0.001f; 8037ed0: 4b0b ldr r3, [pc, #44] ; (8037f00 ) 8037ed2: edd3 7a32 vldr s15, [r3, #200] ; 0xc8 8037ed6: ed9f 7a13 vldr s14, [pc, #76] ; 8037f24 8037eda: ee67 7a87 vmul.f32 s15, s15, s14 8037ede: 4b08 ldr r3, [pc, #32] ; (8037f00 ) 8037ee0: edc3 7a32 vstr s15, [r3, #200] ; 0xc8 pardata.D_INNER += 0.0005f; 8037ee4: 4b06 ldr r3, [pc, #24] ; (8037f00 ) 8037ee6: edd3 7a32 vldr s15, [r3, #200] ; 0xc8 8037eea: ed9f 7a0f vldr s14, [pc, #60] ; 8037f28 8037eee: ee77 7a87 vadd.f32 s15, s15, s14 8037ef2: 4b03 ldr r3, [pc, #12] ; (8037f00 ) 8037ef4: edc3 7a32 vstr s15, [r3, #200] ; 0xc8 8037ef8: e213 b.n 8038322 8037efa: bf00 nop 8037efc: 20020070 .word 0x20020070 8037f00: 20023e60 .word 0x20023e60 8037f04: 447a0000 .word 0x447a0000 8037f08: 0a7c5ac5 .word 0x0a7c5ac5 8037f0c: 000186a0 .word 0x000186a0 8037f10: d1b71759 .word 0xd1b71759 8037f14: 10624dd3 .word 0x10624dd3 8037f18: 51eb851f .word 0x51eb851f 8037f1c: cccccccd .word 0xcccccccd 8037f20: 000f423f .word 0x000f423f 8037f24: 3a83126f .word 0x3a83126f 8037f28: 3a03126f .word 0x3a03126f if((menupos >= D_Angle_IES) && (menupos <= D_Angle_IKT)) 8037f2c: 4b9d ldr r3, [pc, #628] ; (80381a4 ) 8037f2e: 781b ldrb r3, [r3, #0] 8037f30: b2db uxtb r3, r3 8037f32: 2b1b cmp r3, #27 8037f34: f240 814e bls.w 80381d4 8037f38: 4b9a ldr r3, [pc, #616] ; (80381a4 ) 8037f3a: 781b ldrb r3, [r3, #0] 8037f3c: b2db uxtb r3, r3 8037f3e: 2b21 cmp r3, #33 ; 0x21 8037f40: f200 8148 bhi.w 80381d4 k = (uint32_t) (pardata.D_ANGLE * 1000.0f); 8037f44: 4b98 ldr r3, [pc, #608] ; (80381a8 ) 8037f46: edd3 7a33 vldr s15, [r3, #204] ; 0xcc 8037f4a: ed9f 7a98 vldr s14, [pc, #608] ; 80381ac 8037f4e: ee67 7a87 vmul.f32 s15, s15, s14 8037f52: eefc 7ae7 vcvt.u32.f32 s15, s15 8037f56: ee17 3a90 vmov r3, s15 8037f5a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 ies = (uint8_t) (k / 100000); 8037f5e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8037f62: 095b lsrs r3, r3, #5 8037f64: 4a92 ldr r2, [pc, #584] ; (80381b0 ) 8037f66: fba2 2303 umull r2, r3, r2, r3 8037f6a: 09db lsrs r3, r3, #7 8037f6c: b2db uxtb r3, r3 8037f6e: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 / 10000); 8037f72: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8037f76: 0953 lsrs r3, r2, #5 8037f78: 498d ldr r1, [pc, #564] ; (80381b0 ) 8037f7a: fba1 1303 umull r1, r3, r1, r3 8037f7e: 09db lsrs r3, r3, #7 8037f80: 498c ldr r1, [pc, #560] ; (80381b4 ) 8037f82: fb01 f303 mul.w r3, r1, r3 8037f86: 1ad3 subs r3, r2, r3 8037f88: 4a8b ldr r2, [pc, #556] ; (80381b8 ) 8037f8a: fba2 2303 umull r2, r3, r2, r3 8037f8e: 0b5b lsrs r3, r3, #13 8037f90: b2db uxtb r3, r3 8037f92: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 / 1000); 8037f96: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8037f9a: 0953 lsrs r3, r2, #5 8037f9c: 4984 ldr r1, [pc, #528] ; (80381b0 ) 8037f9e: fba1 1303 umull r1, r3, r1, r3 8037fa2: 09db lsrs r3, r3, #7 8037fa4: 4983 ldr r1, [pc, #524] ; (80381b4 ) 8037fa6: fb01 f303 mul.w r3, r1, r3 8037faa: 1ad3 subs r3, r2, r3 8037fac: 4a82 ldr r2, [pc, #520] ; (80381b8 ) 8037fae: fba2 1203 umull r1, r2, r2, r3 8037fb2: 0b52 lsrs r2, r2, #13 8037fb4: f242 7110 movw r1, #10000 ; 0x2710 8037fb8: fb01 f202 mul.w r2, r1, r2 8037fbc: 1a9a subs r2, r3, r2 8037fbe: 4b7f ldr r3, [pc, #508] ; (80381bc ) 8037fc0: fba3 2302 umull r2, r3, r3, r2 8037fc4: 099b lsrs r3, r3, #6 8037fc6: b2db uxtb r3, r3 8037fc8: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 8037fcc: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8037fd0: 095a lsrs r2, r3, #5 8037fd2: 4977 ldr r1, [pc, #476] ; (80381b0 ) 8037fd4: fba1 1202 umull r1, r2, r1, r2 8037fd8: 09d2 lsrs r2, r2, #7 8037fda: 4976 ldr r1, [pc, #472] ; (80381b4 ) 8037fdc: fb01 f202 mul.w r2, r1, r2 8037fe0: 1a9a subs r2, r3, r2 8037fe2: 4b75 ldr r3, [pc, #468] ; (80381b8 ) 8037fe4: fba3 1302 umull r1, r3, r3, r2 8037fe8: 0b5b lsrs r3, r3, #13 8037fea: f242 7110 movw r1, #10000 ; 0x2710 8037fee: fb01 f303 mul.w r3, r1, r3 8037ff2: 1ad3 subs r3, r2, r3 8037ff4: 4a71 ldr r2, [pc, #452] ; (80381bc ) 8037ff6: fba2 1203 umull r1, r2, r2, r3 8037ffa: 0992 lsrs r2, r2, #6 8037ffc: f44f 717a mov.w r1, #1000 ; 0x3e8 8038000: fb01 f202 mul.w r2, r1, r2 8038004: 1a9a subs r2, r3, r2 8038006: 4b6e ldr r3, [pc, #440] ; (80381c0 ) 8038008: fba3 2302 umull r2, r3, r3, r2 803800c: 095b lsrs r3, r3, #5 803800e: b2db uxtb r3, r3 8038010: f887 306e strb.w r3, [r7, #110] ; 0x6e iks = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 8038014: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8038018: 0953 lsrs r3, r2, #5 803801a: 4965 ldr r1, [pc, #404] ; (80381b0 ) 803801c: fba1 1303 umull r1, r3, r1, r3 8038020: 09db lsrs r3, r3, #7 8038022: 4964 ldr r1, [pc, #400] ; (80381b4 ) 8038024: fb01 f303 mul.w r3, r1, r3 8038028: 1ad3 subs r3, r2, r3 803802a: 4a63 ldr r2, [pc, #396] ; (80381b8 ) 803802c: fba2 1203 umull r1, r2, r2, r3 8038030: 0b52 lsrs r2, r2, #13 8038032: f242 7110 movw r1, #10000 ; 0x2710 8038036: fb01 f202 mul.w r2, r1, r2 803803a: 1a9a subs r2, r3, r2 803803c: 4b5f ldr r3, [pc, #380] ; (80381bc ) 803803e: fba3 1302 umull r1, r3, r3, r2 8038042: 099b lsrs r3, r3, #6 8038044: f44f 717a mov.w r1, #1000 ; 0x3e8 8038048: fb01 f303 mul.w r3, r1, r3 803804c: 1ad3 subs r3, r2, r3 803804e: 4a5c ldr r2, [pc, #368] ; (80381c0 ) 8038050: fba2 1203 umull r1, r2, r2, r3 8038054: 0952 lsrs r2, r2, #5 8038056: 2164 movs r1, #100 ; 0x64 8038058: fb01 f202 mul.w r2, r1, r2 803805c: 1a9a subs r2, r3, r2 803805e: 4b59 ldr r3, [pc, #356] ; (80381c4 ) 8038060: fba3 2302 umull r2, r3, r3, r2 8038064: 08db lsrs r3, r3, #3 8038066: b2db uxtb r3, r3 8038068: f887 306d strb.w r3, [r7, #109] ; 0x6d ikt = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 803806c: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8038070: 0953 lsrs r3, r2, #5 8038072: 494f ldr r1, [pc, #316] ; (80381b0 ) 8038074: fba1 1303 umull r1, r3, r1, r3 8038078: 09db lsrs r3, r3, #7 803807a: 494e ldr r1, [pc, #312] ; (80381b4 ) 803807c: fb01 f303 mul.w r3, r1, r3 8038080: 1ad3 subs r3, r2, r3 8038082: 4a4d ldr r2, [pc, #308] ; (80381b8 ) 8038084: fba2 1203 umull r1, r2, r2, r3 8038088: 0b52 lsrs r2, r2, #13 803808a: f242 7110 movw r1, #10000 ; 0x2710 803808e: fb01 f202 mul.w r2, r1, r2 8038092: 1a9a subs r2, r3, r2 8038094: 4b49 ldr r3, [pc, #292] ; (80381bc ) 8038096: fba3 1302 umull r1, r3, r3, r2 803809a: 099b lsrs r3, r3, #6 803809c: f44f 717a mov.w r1, #1000 ; 0x3e8 80380a0: fb01 f303 mul.w r3, r1, r3 80380a4: 1ad3 subs r3, r2, r3 80380a6: 4a46 ldr r2, [pc, #280] ; (80381c0 ) 80380a8: fba2 1203 umull r1, r2, r2, r3 80380ac: 0952 lsrs r2, r2, #5 80380ae: 2164 movs r1, #100 ; 0x64 80380b0: fb01 f202 mul.w r2, r1, r2 80380b4: 1a9a subs r2, r3, r2 80380b6: 4b43 ldr r3, [pc, #268] ; (80381c4 ) 80380b8: fba3 1302 umull r1, r3, r3, r2 80380bc: 08d9 lsrs r1, r3, #3 80380be: 460b mov r3, r1 80380c0: 009b lsls r3, r3, #2 80380c2: 440b add r3, r1 80380c4: 005b lsls r3, r3, #1 80380c6: 1ad1 subs r1, r2, r3 80380c8: b2cb uxtb r3, r1 80380ca: f887 306c strb.w r3, [r7, #108] ; 0x6c switch(menupos) 80380ce: 4b35 ldr r3, [pc, #212] ; (80381a4 ) 80380d0: 781b ldrb r3, [r3, #0] 80380d2: b2db uxtb r3, r3 80380d4: 3b1c subs r3, #28 80380d6: 2b05 cmp r3, #5 80380d8: d836 bhi.n 8038148 80380da: a201 add r2, pc, #4 ; (adr r2, 80380e0 ) 80380dc: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80380e0: 080380f9 .word 0x080380f9 80380e4: 08038107 .word 0x08038107 80380e8: 08038117 .word 0x08038117 80380ec: 08038125 .word 0x08038125 80380f0: 08038131 .word 0x08038131 80380f4: 0803813d .word 0x0803813d k += 100000; 80380f8: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80380fc: 4b2d ldr r3, [pc, #180] ; (80381b4 ) 80380fe: 4413 add r3, r2 8038100: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8038104: e020 b.n 8038148 k += 10000; 8038106: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803810a: f242 7310 movw r3, #10000 ; 0x2710 803810e: 4413 add r3, r2 8038110: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8038114: e018 b.n 8038148 k += 1000; 8038116: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803811a: f503 737a add.w r3, r3, #1000 ; 0x3e8 803811e: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8038122: e011 b.n 8038148 k += 100; 8038124: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8038128: 3364 adds r3, #100 ; 0x64 803812a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803812e: e00b b.n 8038148 k += 10; 8038130: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8038134: 330a adds r3, #10 8038136: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803813a: e005 b.n 8038148 k++; 803813c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8038140: 3301 adds r3, #1 8038142: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8038146: bf00 nop if(k > 999999) k = 999999; 8038148: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803814c: 4a1e ldr r2, [pc, #120] ; (80381c8 ) 803814e: 4293 cmp r3, r2 8038150: d902 bls.n 8038158 8038152: 4b1d ldr r3, [pc, #116] ; (80381c8 ) 8038154: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 if(k == 0) k = 1; 8038158: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803815c: 2b00 cmp r3, #0 803815e: d102 bne.n 8038166 8038160: 2301 movs r3, #1 8038162: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.D_ANGLE = (float32_t) k; 8038166: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803816a: ee07 3a90 vmov s15, r3 803816e: eef8 7a67 vcvt.f32.u32 s15, s15 8038172: 4b0d ldr r3, [pc, #52] ; (80381a8 ) 8038174: edc3 7a33 vstr s15, [r3, #204] ; 0xcc pardata.D_ANGLE *= 0.001f; 8038178: 4b0b ldr r3, [pc, #44] ; (80381a8 ) 803817a: edd3 7a33 vldr s15, [r3, #204] ; 0xcc 803817e: ed9f 7a13 vldr s14, [pc, #76] ; 80381cc 8038182: ee67 7a87 vmul.f32 s15, s15, s14 8038186: 4b08 ldr r3, [pc, #32] ; (80381a8 ) 8038188: edc3 7a33 vstr s15, [r3, #204] ; 0xcc pardata.D_ANGLE += 0.0005f; 803818c: 4b06 ldr r3, [pc, #24] ; (80381a8 ) 803818e: edd3 7a33 vldr s15, [r3, #204] ; 0xcc 8038192: ed9f 7a0f vldr s14, [pc, #60] ; 80381d0 8038196: ee77 7a87 vadd.f32 s15, s15, s14 803819a: 4b03 ldr r3, [pc, #12] ; (80381a8 ) 803819c: edc3 7a33 vstr s15, [r3, #204] ; 0xcc 80381a0: e0bf b.n 8038322 80381a2: bf00 nop 80381a4: 20020070 .word 0x20020070 80381a8: 20023e60 .word 0x20023e60 80381ac: 447a0000 .word 0x447a0000 80381b0: 0a7c5ac5 .word 0x0a7c5ac5 80381b4: 000186a0 .word 0x000186a0 80381b8: d1b71759 .word 0xd1b71759 80381bc: 10624dd3 .word 0x10624dd3 80381c0: 51eb851f .word 0x51eb851f 80381c4: cccccccd .word 0xcccccccd 80381c8: 000f423f .word 0x000f423f 80381cc: 3a83126f .word 0x3a83126f 80381d0: 3a03126f .word 0x3a03126f if((menupos >= D_Rate_IET) && (menupos <= D_Rate_IEE)) 80381d4: 4b83 ldr r3, [pc, #524] ; (80383e4 ) 80381d6: 781b ldrb r3, [r3, #0] 80381d8: b2db uxtb r3, r3 80381da: 2b21 cmp r3, #33 ; 0x21 80381dc: f243 861e bls.w 803be1c 80381e0: 4b80 ldr r3, [pc, #512] ; (80383e4 ) 80381e2: 781b ldrb r3, [r3, #0] 80381e4: b2db uxtb r3, r3 80381e6: 2b25 cmp r3, #37 ; 0x25 80381e8: f203 8618 bhi.w 803be1c k = pardata.D_RATE; 80381ec: 4b7e ldr r3, [pc, #504] ; (80383e8 ) 80381ee: f8d3 30d0 ldr.w r3, [r3, #208] ; 0xd0 80381f2: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 iet = (uint8_t) (k / 1000); 80381f6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80381fa: 4a7c ldr r2, [pc, #496] ; (80383ec ) 80381fc: fba2 2303 umull r2, r3, r2, r3 8038200: 099b lsrs r3, r3, #6 8038202: b2db uxtb r3, r3 8038204: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 1000 / 100); 8038208: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803820c: 4b77 ldr r3, [pc, #476] ; (80383ec ) 803820e: fba3 1302 umull r1, r3, r3, r2 8038212: 099b lsrs r3, r3, #6 8038214: f44f 717a mov.w r1, #1000 ; 0x3e8 8038218: fb01 f303 mul.w r3, r1, r3 803821c: 1ad3 subs r3, r2, r3 803821e: 4a74 ldr r2, [pc, #464] ; (80383f0 ) 8038220: fba2 2303 umull r2, r3, r2, r3 8038224: 095b lsrs r3, r3, #5 8038226: b2db uxtb r3, r3 8038228: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 1000 % 100 / 10); 803822c: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8038230: 4b6e ldr r3, [pc, #440] ; (80383ec ) 8038232: fba3 1302 umull r1, r3, r3, r2 8038236: 099b lsrs r3, r3, #6 8038238: f44f 717a mov.w r1, #1000 ; 0x3e8 803823c: fb01 f303 mul.w r3, r1, r3 8038240: 1ad3 subs r3, r2, r3 8038242: 4a6b ldr r2, [pc, #428] ; (80383f0 ) 8038244: fba2 1203 umull r1, r2, r2, r3 8038248: 0952 lsrs r2, r2, #5 803824a: 2164 movs r1, #100 ; 0x64 803824c: fb01 f202 mul.w r2, r1, r2 8038250: 1a9a subs r2, r3, r2 8038252: 4b68 ldr r3, [pc, #416] ; (80383f4 ) 8038254: fba3 2302 umull r2, r3, r3, r2 8038258: 08db lsrs r3, r3, #3 803825a: b2db uxtb r3, r3 803825c: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 1000 % 100 % 10); 8038260: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8038264: 4b61 ldr r3, [pc, #388] ; (80383ec ) 8038266: fba3 1302 umull r1, r3, r3, r2 803826a: 099b lsrs r3, r3, #6 803826c: f44f 717a mov.w r1, #1000 ; 0x3e8 8038270: fb01 f303 mul.w r3, r1, r3 8038274: 1ad3 subs r3, r2, r3 8038276: 4a5e ldr r2, [pc, #376] ; (80383f0 ) 8038278: fba2 1203 umull r1, r2, r2, r3 803827c: 0952 lsrs r2, r2, #5 803827e: 2164 movs r1, #100 ; 0x64 8038280: fb01 f202 mul.w r2, r1, r2 8038284: 1a9a subs r2, r3, r2 8038286: 4b5b ldr r3, [pc, #364] ; (80383f4 ) 8038288: fba3 1302 umull r1, r3, r3, r2 803828c: 08d9 lsrs r1, r3, #3 803828e: 460b mov r3, r1 8038290: 009b lsls r3, r3, #2 8038292: 440b add r3, r1 8038294: 005b lsls r3, r3, #1 8038296: 1ad1 subs r1, r2, r3 8038298: b2cb uxtb r3, r1 803829a: f887 306f strb.w r3, [r7, #111] ; 0x6f switch(menupos) 803829e: 4b51 ldr r3, [pc, #324] ; (80383e4 ) 80382a0: 781b ldrb r3, [r3, #0] 80382a2: b2db uxtb r3, r3 80382a4: 3b22 subs r3, #34 ; 0x22 80382a6: 2b03 cmp r3, #3 80382a8: d823 bhi.n 80382f2 80382aa: a201 add r2, pc, #4 ; (adr r2, 80382b0 ) 80382ac: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80382b0: 080382c1 .word 0x080382c1 80382b4: 080382cf .word 0x080382cf 80382b8: 080382db .word 0x080382db 80382bc: 080382e7 .word 0x080382e7 k += 1000; 80382c0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80382c4: f503 737a add.w r3, r3, #1000 ; 0x3e8 80382c8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80382cc: e011 b.n 80382f2 k += 100; 80382ce: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80382d2: 3364 adds r3, #100 ; 0x64 80382d4: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80382d8: e00b b.n 80382f2 k += 10; 80382da: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80382de: 330a adds r3, #10 80382e0: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80382e4: e005 b.n 80382f2 k++; 80382e6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80382ea: 3301 adds r3, #1 80382ec: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80382f0: bf00 nop if(k > 9999) k = 9999; 80382f2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80382f6: f242 720f movw r2, #9999 ; 0x270f 80382fa: 4293 cmp r3, r2 80382fc: d903 bls.n 8038306 80382fe: f242 730f movw r3, #9999 ; 0x270f 8038302: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 if(k == 0) k = 1; 8038306: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803830a: 2b00 cmp r3, #0 803830c: d102 bne.n 8038314 803830e: 2301 movs r3, #1 8038310: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.D_RATE = k; 8038314: 4a34 ldr r2, [pc, #208] ; (80383e8 ) 8038316: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803831a: f8c2 30d0 str.w r3, [r2, #208] ; 0xd0 break; 803831e: f003 bd7d b.w 803be1c 8038322: f003 bd7b b.w 803be1c case PARAM_VIB: //todo focused = false; 8038326: 4b34 ldr r3, [pc, #208] ; (80383f8 ) 8038328: 2200 movs r2, #0 803832a: 701a strb r2, [r3, #0] if(menupos == FilterHP) 803832c: 4b2d ldr r3, [pc, #180] ; (80383e4 ) 803832e: 781b ldrb r3, [r3, #0] 8038330: b2db uxtb r3, r3 8038332: 2b17 cmp r3, #23 8038334: d104 bne.n 8038340 menupos = Ok; 8038336: 4b2b ldr r3, [pc, #172] ; (80383e4 ) 8038338: 2200 movs r2, #0 803833a: 701a strb r2, [r3, #0] if(menupos == Average) menupos = ValueA; else menupos--; } } break; 803833c: f003 bd8d b.w 803be5a if(menupos == FilterLP) 8038340: 4b28 ldr r3, [pc, #160] ; (80383e4 ) 8038342: 781b ldrb r3, [r3, #0] 8038344: b2db uxtb r3, r3 8038346: 2b18 cmp r3, #24 8038348: d104 bne.n 8038354 menupos = FilterHP; 803834a: 4b26 ldr r3, [pc, #152] ; (80383e4 ) 803834c: 2217 movs r2, #23 803834e: 701a strb r2, [r3, #0] break; 8038350: f003 bd83 b.w 803be5a if(menupos == ValueA) 8038354: 4b23 ldr r3, [pc, #140] ; (80383e4 ) 8038356: 781b ldrb r3, [r3, #0] 8038358: b2db uxtb r3, r3 803835a: 2b02 cmp r3, #2 803835c: d104 bne.n 8038368 menupos = FilterLP; 803835e: 4b21 ldr r3, [pc, #132] ; (80383e4 ) 8038360: 2218 movs r2, #24 8038362: 701a strb r2, [r3, #0] break; 8038364: f003 bd79 b.w 803be5a if(menupos == Ok) 8038368: 4b1e ldr r3, [pc, #120] ; (80383e4 ) 803836a: 781b ldrb r3, [r3, #0] 803836c: b2db uxtb r3, r3 803836e: 2b00 cmp r3, #0 8038370: d104 bne.n 803837c menupos = SaveToFile; 8038372: 4b1c ldr r3, [pc, #112] ; (80383e4 ) 8038374: 220a movs r2, #10 8038376: 701a strb r2, [r3, #0] break; 8038378: f003 bd6f b.w 803be5a if(menupos == SaveToFile) 803837c: 4b19 ldr r3, [pc, #100] ; (80383e4 ) 803837e: 781b ldrb r3, [r3, #0] 8038380: b2db uxtb r3, r3 8038382: 2b0a cmp r3, #10 8038384: d110 bne.n 80383a8 if(pardata.OPTIONS & 0x4) 8038386: 4b18 ldr r3, [pc, #96] ; (80383e8 ) 8038388: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 803838c: f003 0304 and.w r3, r3, #4 8038390: 2b00 cmp r3, #0 8038392: d004 beq.n 803839e menupos = VibAutoKu; 8038394: 4b13 ldr r3, [pc, #76] ; (80383e4 ) 8038396: 2208 movs r2, #8 8038398: 701a strb r2, [r3, #0] break; 803839a: f003 bd5e b.w 803be5a else menupos = VibMax_ALL; 803839e: 4b11 ldr r3, [pc, #68] ; (80383e4 ) 80383a0: 2209 movs r2, #9 80383a2: 701a strb r2, [r3, #0] break; 80383a4: f003 bd59 b.w 803be5a if(menupos == VibMax_ALL) 80383a8: 4b0e ldr r3, [pc, #56] ; (80383e4 ) 80383aa: 781b ldrb r3, [r3, #0] 80383ac: b2db uxtb r3, r3 80383ae: 2b09 cmp r3, #9 80383b0: d104 bne.n 80383bc menupos = VibAutoKu; 80383b2: 4b0c ldr r3, [pc, #48] ; (80383e4 ) 80383b4: 2208 movs r2, #8 80383b6: 701a strb r2, [r3, #0] break; 80383b8: f003 bd4f b.w 803be5a if(menupos == VibAutoKu) 80383bc: 4b09 ldr r3, [pc, #36] ; (80383e4 ) 80383be: 781b ldrb r3, [r3, #0] 80383c0: b2db uxtb r3, r3 80383c2: 2b08 cmp r3, #8 80383c4: d104 bne.n 80383d0 menupos = ViewFreq; 80383c6: 4b07 ldr r3, [pc, #28] ; (80383e4 ) 80383c8: 2207 movs r2, #7 80383ca: 701a strb r2, [r3, #0] break; 80383cc: f003 bd45 b.w 803be5a if(menupos == ViewFreq) 80383d0: 4b04 ldr r3, [pc, #16] ; (80383e4 ) 80383d2: 781b ldrb r3, [r3, #0] 80383d4: b2db uxtb r3, r3 80383d6: 2b07 cmp r3, #7 80383d8: d110 bne.n 80383fc menupos = Mediana; 80383da: 4b02 ldr r3, [pc, #8] ; (80383e4 ) 80383dc: 2206 movs r2, #6 80383de: 701a strb r2, [r3, #0] break; 80383e0: f003 bd3b b.w 803be5a 80383e4: 20020070 .word 0x20020070 80383e8: 20023e60 .word 0x20023e60 80383ec: 10624dd3 .word 0x10624dd3 80383f0: 51eb851f .word 0x51eb851f 80383f4: cccccccd .word 0xcccccccd 80383f8: 20020f84 .word 0x20020f84 if((menupos >= VibMax_IDT) && (menupos <= VibMax_IKD)) 80383fc: 4b9d ldr r3, [pc, #628] ; (8038674 ) 80383fe: 781b ldrb r3, [r3, #0] 8038400: b2db uxtb r3, r3 8038402: 2b0a cmp r3, #10 8038404: f240 814c bls.w 80386a0 8038408: 4b9a ldr r3, [pc, #616] ; (8038674 ) 803840a: 781b ldrb r3, [r3, #0] 803840c: b2db uxtb r3, r3 803840e: 2b10 cmp r3, #16 8038410: f200 8146 bhi.w 80386a0 k = (uint32_t) (pardata.MAX_VAL * 10.0f); 8038414: 4b98 ldr r3, [pc, #608] ; (8038678 ) 8038416: edd3 7a06 vldr s15, [r3, #24] 803841a: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 803841e: ee67 7a87 vmul.f32 s15, s15, s14 8038422: eefc 7ae7 vcvt.u32.f32 s15, s15 8038426: ee17 3a90 vmov r3, s15 803842a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 803842e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8038432: 095b lsrs r3, r3, #5 8038434: 4a91 ldr r2, [pc, #580] ; (803867c ) 8038436: fba2 2303 umull r2, r3, r2, r3 803843a: 09db lsrs r3, r3, #7 803843c: b2db uxtb r3, r3 803843e: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 8038442: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8038446: 0953 lsrs r3, r2, #5 8038448: 498c ldr r1, [pc, #560] ; (803867c ) 803844a: fba1 1303 umull r1, r3, r1, r3 803844e: 09db lsrs r3, r3, #7 8038450: 498b ldr r1, [pc, #556] ; (8038680 ) 8038452: fb01 f303 mul.w r3, r1, r3 8038456: 1ad3 subs r3, r2, r3 8038458: 4a8a ldr r2, [pc, #552] ; (8038684 ) 803845a: fba2 2303 umull r2, r3, r2, r3 803845e: 0b5b lsrs r3, r3, #13 8038460: b2db uxtb r3, r3 8038462: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 8038466: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803846a: 0953 lsrs r3, r2, #5 803846c: 4983 ldr r1, [pc, #524] ; (803867c ) 803846e: fba1 1303 umull r1, r3, r1, r3 8038472: 09db lsrs r3, r3, #7 8038474: 4982 ldr r1, [pc, #520] ; (8038680 ) 8038476: fb01 f303 mul.w r3, r1, r3 803847a: 1ad3 subs r3, r2, r3 803847c: 4a81 ldr r2, [pc, #516] ; (8038684 ) 803847e: fba2 1203 umull r1, r2, r2, r3 8038482: 0b52 lsrs r2, r2, #13 8038484: f242 7110 movw r1, #10000 ; 0x2710 8038488: fb01 f202 mul.w r2, r1, r2 803848c: 1a9a subs r2, r3, r2 803848e: 4b7e ldr r3, [pc, #504] ; (8038688 ) 8038490: fba3 2302 umull r2, r3, r3, r2 8038494: 099b lsrs r3, r3, #6 8038496: b2db uxtb r3, r3 8038498: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 803849c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80384a0: 095a lsrs r2, r3, #5 80384a2: 4976 ldr r1, [pc, #472] ; (803867c ) 80384a4: fba1 1202 umull r1, r2, r1, r2 80384a8: 09d2 lsrs r2, r2, #7 80384aa: 4975 ldr r1, [pc, #468] ; (8038680 ) 80384ac: fb01 f202 mul.w r2, r1, r2 80384b0: 1a9a subs r2, r3, r2 80384b2: 4b74 ldr r3, [pc, #464] ; (8038684 ) 80384b4: fba3 1302 umull r1, r3, r3, r2 80384b8: 0b5b lsrs r3, r3, #13 80384ba: f242 7110 movw r1, #10000 ; 0x2710 80384be: fb01 f303 mul.w r3, r1, r3 80384c2: 1ad3 subs r3, r2, r3 80384c4: 4a70 ldr r2, [pc, #448] ; (8038688 ) 80384c6: fba2 1203 umull r1, r2, r2, r3 80384ca: 0992 lsrs r2, r2, #6 80384cc: f44f 717a mov.w r1, #1000 ; 0x3e8 80384d0: fb01 f202 mul.w r2, r1, r2 80384d4: 1a9a subs r2, r3, r2 80384d6: 4b6d ldr r3, [pc, #436] ; (803868c ) 80384d8: fba3 2302 umull r2, r3, r3, r2 80384dc: 095b lsrs r3, r3, #5 80384de: b2db uxtb r3, r3 80384e0: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 80384e4: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80384e8: 0953 lsrs r3, r2, #5 80384ea: 4964 ldr r1, [pc, #400] ; (803867c ) 80384ec: fba1 1303 umull r1, r3, r1, r3 80384f0: 09db lsrs r3, r3, #7 80384f2: 4963 ldr r1, [pc, #396] ; (8038680 ) 80384f4: fb01 f303 mul.w r3, r1, r3 80384f8: 1ad3 subs r3, r2, r3 80384fa: 4a62 ldr r2, [pc, #392] ; (8038684 ) 80384fc: fba2 1203 umull r1, r2, r2, r3 8038500: 0b52 lsrs r2, r2, #13 8038502: f242 7110 movw r1, #10000 ; 0x2710 8038506: fb01 f202 mul.w r2, r1, r2 803850a: 1a9a subs r2, r3, r2 803850c: 4b5e ldr r3, [pc, #376] ; (8038688 ) 803850e: fba3 1302 umull r1, r3, r3, r2 8038512: 099b lsrs r3, r3, #6 8038514: f44f 717a mov.w r1, #1000 ; 0x3e8 8038518: fb01 f303 mul.w r3, r1, r3 803851c: 1ad3 subs r3, r2, r3 803851e: 4a5b ldr r2, [pc, #364] ; (803868c ) 8038520: fba2 1203 umull r1, r2, r2, r3 8038524: 0952 lsrs r2, r2, #5 8038526: 2164 movs r1, #100 ; 0x64 8038528: fb01 f202 mul.w r2, r1, r2 803852c: 1a9a subs r2, r3, r2 803852e: 4b58 ldr r3, [pc, #352] ; (8038690 ) 8038530: fba3 2302 umull r2, r3, r3, r2 8038534: 08db lsrs r3, r3, #3 8038536: b2db uxtb r3, r3 8038538: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 803853c: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8038540: 0953 lsrs r3, r2, #5 8038542: 494e ldr r1, [pc, #312] ; (803867c ) 8038544: fba1 1303 umull r1, r3, r1, r3 8038548: 09db lsrs r3, r3, #7 803854a: 494d ldr r1, [pc, #308] ; (8038680 ) 803854c: fb01 f303 mul.w r3, r1, r3 8038550: 1ad3 subs r3, r2, r3 8038552: 4a4c ldr r2, [pc, #304] ; (8038684 ) 8038554: fba2 1203 umull r1, r2, r2, r3 8038558: 0b52 lsrs r2, r2, #13 803855a: f242 7110 movw r1, #10000 ; 0x2710 803855e: fb01 f202 mul.w r2, r1, r2 8038562: 1a9a subs r2, r3, r2 8038564: 4b48 ldr r3, [pc, #288] ; (8038688 ) 8038566: fba3 1302 umull r1, r3, r3, r2 803856a: 099b lsrs r3, r3, #6 803856c: f44f 717a mov.w r1, #1000 ; 0x3e8 8038570: fb01 f303 mul.w r3, r1, r3 8038574: 1ad3 subs r3, r2, r3 8038576: 4a45 ldr r2, [pc, #276] ; (803868c ) 8038578: fba2 1203 umull r1, r2, r2, r3 803857c: 0952 lsrs r2, r2, #5 803857e: 2164 movs r1, #100 ; 0x64 8038580: fb01 f202 mul.w r2, r1, r2 8038584: 1a9a subs r2, r3, r2 8038586: 4b42 ldr r3, [pc, #264] ; (8038690 ) 8038588: fba3 1302 umull r1, r3, r3, r2 803858c: 08d9 lsrs r1, r3, #3 803858e: 460b mov r3, r1 8038590: 009b lsls r3, r3, #2 8038592: 440b add r3, r1 8038594: 005b lsls r3, r3, #1 8038596: 1ad1 subs r1, r2, r3 8038598: b2cb uxtb r3, r1 803859a: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 803859e: 4b35 ldr r3, [pc, #212] ; (8038674 ) 80385a0: 781b ldrb r3, [r3, #0] 80385a2: b2db uxtb r3, r3 80385a4: 3b0b subs r3, #11 80385a6: 2b05 cmp r3, #5 80385a8: d836 bhi.n 8038618 80385aa: a201 add r2, pc, #4 ; (adr r2, 80385b0 ) 80385ac: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80385b0: 080385c9 .word 0x080385c9 80385b4: 080385d7 .word 0x080385d7 80385b8: 080385e7 .word 0x080385e7 80385bc: 080385f5 .word 0x080385f5 80385c0: 08038601 .word 0x08038601 80385c4: 0803860d .word 0x0803860d k += 100000; 80385c8: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80385cc: 4b2c ldr r3, [pc, #176] ; (8038680 ) 80385ce: 4413 add r3, r2 80385d0: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80385d4: e020 b.n 8038618 k += 10000; 80385d6: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80385da: f242 7310 movw r3, #10000 ; 0x2710 80385de: 4413 add r3, r2 80385e0: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80385e4: e018 b.n 8038618 k += 1000; 80385e6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80385ea: f503 737a add.w r3, r3, #1000 ; 0x3e8 80385ee: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80385f2: e011 b.n 8038618 k += 100; 80385f4: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80385f8: 3364 adds r3, #100 ; 0x64 80385fa: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80385fe: e00b b.n 8038618 k += 10; 8038600: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8038604: 330a adds r3, #10 8038606: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803860a: e005 b.n 8038618 k++; 803860c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8038610: 3301 adds r3, #1 8038612: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8038616: bf00 nop if(k > 999999) k = 999999; 8038618: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803861c: 4a1d ldr r2, [pc, #116] ; (8038694 ) 803861e: 4293 cmp r3, r2 8038620: d902 bls.n 8038628 8038622: 4b1c ldr r3, [pc, #112] ; (8038694 ) 8038624: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 if(k == 0) k = 1; 8038628: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803862c: 2b00 cmp r3, #0 803862e: d102 bne.n 8038636 8038630: 2301 movs r3, #1 8038632: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.MAX_VAL = (float32_t) k; 8038636: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803863a: ee07 3a90 vmov s15, r3 803863e: eef8 7a67 vcvt.f32.u32 s15, s15 8038642: 4b0d ldr r3, [pc, #52] ; (8038678 ) 8038644: edc3 7a06 vstr s15, [r3, #24] pardata.MAX_VAL *= 0.1f; 8038648: 4b0b ldr r3, [pc, #44] ; (8038678 ) 803864a: edd3 7a06 vldr s15, [r3, #24] 803864e: ed9f 7a12 vldr s14, [pc, #72] ; 8038698 8038652: ee67 7a87 vmul.f32 s15, s15, s14 8038656: 4b08 ldr r3, [pc, #32] ; (8038678 ) 8038658: edc3 7a06 vstr s15, [r3, #24] pardata.MAX_VAL += 0.05f; 803865c: 4b06 ldr r3, [pc, #24] ; (8038678 ) 803865e: edd3 7a06 vldr s15, [r3, #24] 8038662: ed9f 7a0e vldr s14, [pc, #56] ; 803869c 8038666: ee77 7a87 vadd.f32 s15, s15, s14 803866a: 4b03 ldr r3, [pc, #12] ; (8038678 ) 803866c: edc3 7a06 vstr s15, [r3, #24] 8038670: e326 b.n 8038cc0 8038672: bf00 nop 8038674: 20020070 .word 0x20020070 8038678: 20023e60 .word 0x20023e60 803867c: 0a7c5ac5 .word 0x0a7c5ac5 8038680: 000186a0 .word 0x000186a0 8038684: d1b71759 .word 0xd1b71759 8038688: 10624dd3 .word 0x10624dd3 803868c: 51eb851f .word 0x51eb851f 8038690: cccccccd .word 0xcccccccd 8038694: 000f423f .word 0x000f423f 8038698: 3dcccccd .word 0x3dcccccd 803869c: 3d4ccccd .word 0x3d4ccccd if((menupos >= FilterHP_IDT) && (menupos <= FilterHP_IKD)) 80386a0: 4bb1 ldr r3, [pc, #708] ; (8038968 ) 80386a2: 781b ldrb r3, [r3, #0] 80386a4: b2db uxtb r3, r3 80386a6: 2b18 cmp r3, #24 80386a8: f240 8172 bls.w 8038990 80386ac: 4bae ldr r3, [pc, #696] ; (8038968 ) 80386ae: 781b ldrb r3, [r3, #0] 80386b0: b2db uxtb r3, r3 80386b2: 2b1e cmp r3, #30 80386b4: f200 816c bhi.w 8038990 k = (uint32_t) (pardata.HP * 10.0f); 80386b8: 4bac ldr r3, [pc, #688] ; (803896c ) 80386ba: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 80386be: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80386c2: ee67 7a87 vmul.f32 s15, s15, s14 80386c6: eefc 7ae7 vcvt.u32.f32 s15, s15 80386ca: ee17 3a90 vmov r3, s15 80386ce: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 80386d2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80386d6: 095b lsrs r3, r3, #5 80386d8: 4aa5 ldr r2, [pc, #660] ; (8038970 ) 80386da: fba2 2303 umull r2, r3, r2, r3 80386de: 09db lsrs r3, r3, #7 80386e0: b2db uxtb r3, r3 80386e2: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 80386e6: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80386ea: 0953 lsrs r3, r2, #5 80386ec: 49a0 ldr r1, [pc, #640] ; (8038970 ) 80386ee: fba1 1303 umull r1, r3, r1, r3 80386f2: 09db lsrs r3, r3, #7 80386f4: 499f ldr r1, [pc, #636] ; (8038974 ) 80386f6: fb01 f303 mul.w r3, r1, r3 80386fa: 1ad3 subs r3, r2, r3 80386fc: 4a9e ldr r2, [pc, #632] ; (8038978 ) 80386fe: fba2 2303 umull r2, r3, r2, r3 8038702: 0b5b lsrs r3, r3, #13 8038704: b2db uxtb r3, r3 8038706: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 803870a: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803870e: 0953 lsrs r3, r2, #5 8038710: 4997 ldr r1, [pc, #604] ; (8038970 ) 8038712: fba1 1303 umull r1, r3, r1, r3 8038716: 09db lsrs r3, r3, #7 8038718: 4996 ldr r1, [pc, #600] ; (8038974 ) 803871a: fb01 f303 mul.w r3, r1, r3 803871e: 1ad3 subs r3, r2, r3 8038720: 4a95 ldr r2, [pc, #596] ; (8038978 ) 8038722: fba2 1203 umull r1, r2, r2, r3 8038726: 0b52 lsrs r2, r2, #13 8038728: f242 7110 movw r1, #10000 ; 0x2710 803872c: fb01 f202 mul.w r2, r1, r2 8038730: 1a9a subs r2, r3, r2 8038732: 4b92 ldr r3, [pc, #584] ; (803897c ) 8038734: fba3 2302 umull r2, r3, r3, r2 8038738: 099b lsrs r3, r3, #6 803873a: b2db uxtb r3, r3 803873c: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 8038740: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8038744: 095a lsrs r2, r3, #5 8038746: 498a ldr r1, [pc, #552] ; (8038970 ) 8038748: fba1 1202 umull r1, r2, r1, r2 803874c: 09d2 lsrs r2, r2, #7 803874e: 4989 ldr r1, [pc, #548] ; (8038974 ) 8038750: fb01 f202 mul.w r2, r1, r2 8038754: 1a9a subs r2, r3, r2 8038756: 4b88 ldr r3, [pc, #544] ; (8038978 ) 8038758: fba3 1302 umull r1, r3, r3, r2 803875c: 0b5b lsrs r3, r3, #13 803875e: f242 7110 movw r1, #10000 ; 0x2710 8038762: fb01 f303 mul.w r3, r1, r3 8038766: 1ad3 subs r3, r2, r3 8038768: 4a84 ldr r2, [pc, #528] ; (803897c ) 803876a: fba2 1203 umull r1, r2, r2, r3 803876e: 0992 lsrs r2, r2, #6 8038770: f44f 717a mov.w r1, #1000 ; 0x3e8 8038774: fb01 f202 mul.w r2, r1, r2 8038778: 1a9a subs r2, r3, r2 803877a: 4b81 ldr r3, [pc, #516] ; (8038980 ) 803877c: fba3 2302 umull r2, r3, r3, r2 8038780: 095b lsrs r3, r3, #5 8038782: b2db uxtb r3, r3 8038784: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 8038788: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803878c: 0953 lsrs r3, r2, #5 803878e: 4978 ldr r1, [pc, #480] ; (8038970 ) 8038790: fba1 1303 umull r1, r3, r1, r3 8038794: 09db lsrs r3, r3, #7 8038796: 4977 ldr r1, [pc, #476] ; (8038974 ) 8038798: fb01 f303 mul.w r3, r1, r3 803879c: 1ad3 subs r3, r2, r3 803879e: 4a76 ldr r2, [pc, #472] ; (8038978 ) 80387a0: fba2 1203 umull r1, r2, r2, r3 80387a4: 0b52 lsrs r2, r2, #13 80387a6: f242 7110 movw r1, #10000 ; 0x2710 80387aa: fb01 f202 mul.w r2, r1, r2 80387ae: 1a9a subs r2, r3, r2 80387b0: 4b72 ldr r3, [pc, #456] ; (803897c ) 80387b2: fba3 1302 umull r1, r3, r3, r2 80387b6: 099b lsrs r3, r3, #6 80387b8: f44f 717a mov.w r1, #1000 ; 0x3e8 80387bc: fb01 f303 mul.w r3, r1, r3 80387c0: 1ad3 subs r3, r2, r3 80387c2: 4a6f ldr r2, [pc, #444] ; (8038980 ) 80387c4: fba2 1203 umull r1, r2, r2, r3 80387c8: 0952 lsrs r2, r2, #5 80387ca: 2164 movs r1, #100 ; 0x64 80387cc: fb01 f202 mul.w r2, r1, r2 80387d0: 1a9a subs r2, r3, r2 80387d2: 4b6c ldr r3, [pc, #432] ; (8038984 ) 80387d4: fba3 2302 umull r2, r3, r3, r2 80387d8: 08db lsrs r3, r3, #3 80387da: b2db uxtb r3, r3 80387dc: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 80387e0: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80387e4: 0953 lsrs r3, r2, #5 80387e6: 4962 ldr r1, [pc, #392] ; (8038970 ) 80387e8: fba1 1303 umull r1, r3, r1, r3 80387ec: 09db lsrs r3, r3, #7 80387ee: 4961 ldr r1, [pc, #388] ; (8038974 ) 80387f0: fb01 f303 mul.w r3, r1, r3 80387f4: 1ad3 subs r3, r2, r3 80387f6: 4a60 ldr r2, [pc, #384] ; (8038978 ) 80387f8: fba2 1203 umull r1, r2, r2, r3 80387fc: 0b52 lsrs r2, r2, #13 80387fe: f242 7110 movw r1, #10000 ; 0x2710 8038802: fb01 f202 mul.w r2, r1, r2 8038806: 1a9a subs r2, r3, r2 8038808: 4b5c ldr r3, [pc, #368] ; (803897c ) 803880a: fba3 1302 umull r1, r3, r3, r2 803880e: 099b lsrs r3, r3, #6 8038810: f44f 717a mov.w r1, #1000 ; 0x3e8 8038814: fb01 f303 mul.w r3, r1, r3 8038818: 1ad3 subs r3, r2, r3 803881a: 4a59 ldr r2, [pc, #356] ; (8038980 ) 803881c: fba2 1203 umull r1, r2, r2, r3 8038820: 0952 lsrs r2, r2, #5 8038822: 2164 movs r1, #100 ; 0x64 8038824: fb01 f202 mul.w r2, r1, r2 8038828: 1a9a subs r2, r3, r2 803882a: 4b56 ldr r3, [pc, #344] ; (8038984 ) 803882c: fba3 1302 umull r1, r3, r3, r2 8038830: 08d9 lsrs r1, r3, #3 8038832: 460b mov r3, r1 8038834: 009b lsls r3, r3, #2 8038836: 440b add r3, r1 8038838: 005b lsls r3, r3, #1 803883a: 1ad1 subs r1, r2, r3 803883c: b2cb uxtb r3, r1 803883e: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 8038842: 4b49 ldr r3, [pc, #292] ; (8038968 ) 8038844: 781b ldrb r3, [r3, #0] 8038846: b2db uxtb r3, r3 8038848: 3b19 subs r3, #25 803884a: 2b05 cmp r3, #5 803884c: d836 bhi.n 80388bc 803884e: a201 add r2, pc, #4 ; (adr r2, 8038854 ) 8038850: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8038854: 0803886d .word 0x0803886d 8038858: 0803887b .word 0x0803887b 803885c: 0803888b .word 0x0803888b 8038860: 08038899 .word 0x08038899 8038864: 080388a5 .word 0x080388a5 8038868: 080388b1 .word 0x080388b1 k += 100000; 803886c: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8038870: 4b40 ldr r3, [pc, #256] ; (8038974 ) 8038872: 4413 add r3, r2 8038874: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8038878: e020 b.n 80388bc k += 10000; 803887a: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803887e: f242 7310 movw r3, #10000 ; 0x2710 8038882: 4413 add r3, r2 8038884: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8038888: e018 b.n 80388bc k += 1000; 803888a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803888e: f503 737a add.w r3, r3, #1000 ; 0x3e8 8038892: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8038896: e011 b.n 80388bc k += 100; 8038898: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803889c: 3364 adds r3, #100 ; 0x64 803889e: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80388a2: e00b b.n 80388bc k += 10; 80388a4: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80388a8: 330a adds r3, #10 80388aa: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80388ae: e005 b.n 80388bc k++; 80388b0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80388b4: 3301 adds r3, #1 80388b6: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80388ba: bf00 nop fl = (float32_t) k; 80388bc: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80388c0: ee07 3a90 vmov s15, r3 80388c4: eef8 7a67 vcvt.f32.u32 s15, s15 80388c8: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl *= 0.1f; 80388cc: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 80388d0: ed9f 7a2d vldr s14, [pc, #180] ; 8038988 80388d4: ee67 7a87 vmul.f32 s15, s15, s14 80388d8: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl += 0.0001f; 80388dc: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 80388e0: ed9f 7a2a vldr s14, [pc, #168] ; 803898c 80388e4: ee77 7a87 vadd.f32 s15, s15, s14 80388e8: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 if(fl < 0.5f) 80388ec: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 80388f0: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80388f4: eef4 7ac7 vcmpe.f32 s15, s14 80388f8: eef1 fa10 vmrs APSR_nzcv, fpscr 80388fc: d505 bpl.n 803890a pardata.HP = 0.5f; 80388fe: 4b1b ldr r3, [pc, #108] ; (803896c ) 8038900: f04f 527c mov.w r2, #1056964608 ; 0x3f000000 8038904: f8c3 20d4 str.w r2, [r3, #212] ; 0xd4 if(fl < 0.5f) 8038908: e1da b.n 8038cc0 if(fl > pardata.LP) 803890a: 4b18 ldr r3, [pc, #96] ; (803896c ) 803890c: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 8038910: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8038914: eeb4 7ae7 vcmpe.f32 s14, s15 8038918: eef1 fa10 vmrs APSR_nzcv, fpscr 803891c: d506 bpl.n 803892c pardata.HP = pardata.LP; 803891e: 4b13 ldr r3, [pc, #76] ; (803896c ) 8038920: f8d3 30d8 ldr.w r3, [r3, #216] ; 0xd8 8038924: 4a11 ldr r2, [pc, #68] ; (803896c ) 8038926: f8c2 30d4 str.w r3, [r2, #212] ; 0xd4 if(fl < 0.5f) 803892a: e1c9 b.n 8038cc0 pardata.HP = (float32_t) k; 803892c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8038930: ee07 3a90 vmov s15, r3 8038934: eef8 7a67 vcvt.f32.u32 s15, s15 8038938: 4b0c ldr r3, [pc, #48] ; (803896c ) 803893a: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 pardata.HP *= 0.1f; 803893e: 4b0b ldr r3, [pc, #44] ; (803896c ) 8038940: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 8038944: ed9f 7a10 vldr s14, [pc, #64] ; 8038988 8038948: ee67 7a87 vmul.f32 s15, s15, s14 803894c: 4b07 ldr r3, [pc, #28] ; (803896c ) 803894e: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 pardata.HP += 0.0001f; 8038952: 4b06 ldr r3, [pc, #24] ; (803896c ) 8038954: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 8038958: ed9f 7a0c vldr s14, [pc, #48] ; 803898c 803895c: ee77 7a87 vadd.f32 s15, s15, s14 8038960: 4b02 ldr r3, [pc, #8] ; (803896c ) 8038962: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 if(fl < 0.5f) 8038966: e1ab b.n 8038cc0 8038968: 20020070 .word 0x20020070 803896c: 20023e60 .word 0x20023e60 8038970: 0a7c5ac5 .word 0x0a7c5ac5 8038974: 000186a0 .word 0x000186a0 8038978: d1b71759 .word 0xd1b71759 803897c: 10624dd3 .word 0x10624dd3 8038980: 51eb851f .word 0x51eb851f 8038984: cccccccd .word 0xcccccccd 8038988: 3dcccccd .word 0x3dcccccd 803898c: 38d1b717 .word 0x38d1b717 if((menupos >= FilterLP_IDT) && (menupos <= FilterLP_IKD)) 8038990: 4bcc ldr r3, [pc, #816] ; (8038cc4 ) 8038992: 781b ldrb r3, [r3, #0] 8038994: b2db uxtb r3, r3 8038996: 2b1e cmp r3, #30 8038998: f240 816c bls.w 8038c74 803899c: 4bc9 ldr r3, [pc, #804] ; (8038cc4 ) 803899e: 781b ldrb r3, [r3, #0] 80389a0: b2db uxtb r3, r3 80389a2: 2b24 cmp r3, #36 ; 0x24 80389a4: f200 8166 bhi.w 8038c74 k = (uint32_t) (pardata.LP * 10.0f); 80389a8: 4bc7 ldr r3, [pc, #796] ; (8038cc8 ) 80389aa: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 80389ae: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80389b2: ee67 7a87 vmul.f32 s15, s15, s14 80389b6: eefc 7ae7 vcvt.u32.f32 s15, s15 80389ba: ee17 3a90 vmov r3, s15 80389be: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 80389c2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80389c6: 095b lsrs r3, r3, #5 80389c8: 4ac0 ldr r2, [pc, #768] ; (8038ccc ) 80389ca: fba2 2303 umull r2, r3, r2, r3 80389ce: 09db lsrs r3, r3, #7 80389d0: b2db uxtb r3, r3 80389d2: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 80389d6: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80389da: 0953 lsrs r3, r2, #5 80389dc: 49bb ldr r1, [pc, #748] ; (8038ccc ) 80389de: fba1 1303 umull r1, r3, r1, r3 80389e2: 09db lsrs r3, r3, #7 80389e4: 49ba ldr r1, [pc, #744] ; (8038cd0 ) 80389e6: fb01 f303 mul.w r3, r1, r3 80389ea: 1ad3 subs r3, r2, r3 80389ec: 4ab9 ldr r2, [pc, #740] ; (8038cd4 ) 80389ee: fba2 2303 umull r2, r3, r2, r3 80389f2: 0b5b lsrs r3, r3, #13 80389f4: b2db uxtb r3, r3 80389f6: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 80389fa: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80389fe: 0953 lsrs r3, r2, #5 8038a00: 49b2 ldr r1, [pc, #712] ; (8038ccc ) 8038a02: fba1 1303 umull r1, r3, r1, r3 8038a06: 09db lsrs r3, r3, #7 8038a08: 49b1 ldr r1, [pc, #708] ; (8038cd0 ) 8038a0a: fb01 f303 mul.w r3, r1, r3 8038a0e: 1ad3 subs r3, r2, r3 8038a10: 4ab0 ldr r2, [pc, #704] ; (8038cd4 ) 8038a12: fba2 1203 umull r1, r2, r2, r3 8038a16: 0b52 lsrs r2, r2, #13 8038a18: f242 7110 movw r1, #10000 ; 0x2710 8038a1c: fb01 f202 mul.w r2, r1, r2 8038a20: 1a9a subs r2, r3, r2 8038a22: 4bad ldr r3, [pc, #692] ; (8038cd8 ) 8038a24: fba3 2302 umull r2, r3, r3, r2 8038a28: 099b lsrs r3, r3, #6 8038a2a: b2db uxtb r3, r3 8038a2c: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 8038a30: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8038a34: 095a lsrs r2, r3, #5 8038a36: 49a5 ldr r1, [pc, #660] ; (8038ccc ) 8038a38: fba1 1202 umull r1, r2, r1, r2 8038a3c: 09d2 lsrs r2, r2, #7 8038a3e: 49a4 ldr r1, [pc, #656] ; (8038cd0 ) 8038a40: fb01 f202 mul.w r2, r1, r2 8038a44: 1a9a subs r2, r3, r2 8038a46: 4ba3 ldr r3, [pc, #652] ; (8038cd4 ) 8038a48: fba3 1302 umull r1, r3, r3, r2 8038a4c: 0b5b lsrs r3, r3, #13 8038a4e: f242 7110 movw r1, #10000 ; 0x2710 8038a52: fb01 f303 mul.w r3, r1, r3 8038a56: 1ad3 subs r3, r2, r3 8038a58: 4a9f ldr r2, [pc, #636] ; (8038cd8 ) 8038a5a: fba2 1203 umull r1, r2, r2, r3 8038a5e: 0992 lsrs r2, r2, #6 8038a60: f44f 717a mov.w r1, #1000 ; 0x3e8 8038a64: fb01 f202 mul.w r2, r1, r2 8038a68: 1a9a subs r2, r3, r2 8038a6a: 4b9c ldr r3, [pc, #624] ; (8038cdc ) 8038a6c: fba3 2302 umull r2, r3, r3, r2 8038a70: 095b lsrs r3, r3, #5 8038a72: b2db uxtb r3, r3 8038a74: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 8038a78: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8038a7c: 0953 lsrs r3, r2, #5 8038a7e: 4993 ldr r1, [pc, #588] ; (8038ccc ) 8038a80: fba1 1303 umull r1, r3, r1, r3 8038a84: 09db lsrs r3, r3, #7 8038a86: 4992 ldr r1, [pc, #584] ; (8038cd0 ) 8038a88: fb01 f303 mul.w r3, r1, r3 8038a8c: 1ad3 subs r3, r2, r3 8038a8e: 4a91 ldr r2, [pc, #580] ; (8038cd4 ) 8038a90: fba2 1203 umull r1, r2, r2, r3 8038a94: 0b52 lsrs r2, r2, #13 8038a96: f242 7110 movw r1, #10000 ; 0x2710 8038a9a: fb01 f202 mul.w r2, r1, r2 8038a9e: 1a9a subs r2, r3, r2 8038aa0: 4b8d ldr r3, [pc, #564] ; (8038cd8 ) 8038aa2: fba3 1302 umull r1, r3, r3, r2 8038aa6: 099b lsrs r3, r3, #6 8038aa8: f44f 717a mov.w r1, #1000 ; 0x3e8 8038aac: fb01 f303 mul.w r3, r1, r3 8038ab0: 1ad3 subs r3, r2, r3 8038ab2: 4a8a ldr r2, [pc, #552] ; (8038cdc ) 8038ab4: fba2 1203 umull r1, r2, r2, r3 8038ab8: 0952 lsrs r2, r2, #5 8038aba: 2164 movs r1, #100 ; 0x64 8038abc: fb01 f202 mul.w r2, r1, r2 8038ac0: 1a9a subs r2, r3, r2 8038ac2: 4b87 ldr r3, [pc, #540] ; (8038ce0 ) 8038ac4: fba3 2302 umull r2, r3, r3, r2 8038ac8: 08db lsrs r3, r3, #3 8038aca: b2db uxtb r3, r3 8038acc: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 8038ad0: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8038ad4: 0953 lsrs r3, r2, #5 8038ad6: 497d ldr r1, [pc, #500] ; (8038ccc ) 8038ad8: fba1 1303 umull r1, r3, r1, r3 8038adc: 09db lsrs r3, r3, #7 8038ade: 497c ldr r1, [pc, #496] ; (8038cd0 ) 8038ae0: fb01 f303 mul.w r3, r1, r3 8038ae4: 1ad3 subs r3, r2, r3 8038ae6: 4a7b ldr r2, [pc, #492] ; (8038cd4 ) 8038ae8: fba2 1203 umull r1, r2, r2, r3 8038aec: 0b52 lsrs r2, r2, #13 8038aee: f242 7110 movw r1, #10000 ; 0x2710 8038af2: fb01 f202 mul.w r2, r1, r2 8038af6: 1a9a subs r2, r3, r2 8038af8: 4b77 ldr r3, [pc, #476] ; (8038cd8 ) 8038afa: fba3 1302 umull r1, r3, r3, r2 8038afe: 099b lsrs r3, r3, #6 8038b00: f44f 717a mov.w r1, #1000 ; 0x3e8 8038b04: fb01 f303 mul.w r3, r1, r3 8038b08: 1ad3 subs r3, r2, r3 8038b0a: 4a74 ldr r2, [pc, #464] ; (8038cdc ) 8038b0c: fba2 1203 umull r1, r2, r2, r3 8038b10: 0952 lsrs r2, r2, #5 8038b12: 2164 movs r1, #100 ; 0x64 8038b14: fb01 f202 mul.w r2, r1, r2 8038b18: 1a9a subs r2, r3, r2 8038b1a: 4b71 ldr r3, [pc, #452] ; (8038ce0 ) 8038b1c: fba3 1302 umull r1, r3, r3, r2 8038b20: 08d9 lsrs r1, r3, #3 8038b22: 460b mov r3, r1 8038b24: 009b lsls r3, r3, #2 8038b26: 440b add r3, r1 8038b28: 005b lsls r3, r3, #1 8038b2a: 1ad1 subs r1, r2, r3 8038b2c: b2cb uxtb r3, r1 8038b2e: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 8038b32: 4b64 ldr r3, [pc, #400] ; (8038cc4 ) 8038b34: 781b ldrb r3, [r3, #0] 8038b36: b2db uxtb r3, r3 8038b38: 3b1f subs r3, #31 8038b3a: 2b05 cmp r3, #5 8038b3c: d836 bhi.n 8038bac 8038b3e: a201 add r2, pc, #4 ; (adr r2, 8038b44 ) 8038b40: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8038b44: 08038b5d .word 0x08038b5d 8038b48: 08038b6b .word 0x08038b6b 8038b4c: 08038b7b .word 0x08038b7b 8038b50: 08038b89 .word 0x08038b89 8038b54: 08038b95 .word 0x08038b95 8038b58: 08038ba1 .word 0x08038ba1 k += 100000; 8038b5c: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8038b60: 4b5b ldr r3, [pc, #364] ; (8038cd0 ) 8038b62: 4413 add r3, r2 8038b64: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8038b68: e020 b.n 8038bac k += 10000; 8038b6a: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8038b6e: f242 7310 movw r3, #10000 ; 0x2710 8038b72: 4413 add r3, r2 8038b74: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8038b78: e018 b.n 8038bac k += 1000; 8038b7a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8038b7e: f503 737a add.w r3, r3, #1000 ; 0x3e8 8038b82: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8038b86: e011 b.n 8038bac k += 100; 8038b88: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8038b8c: 3364 adds r3, #100 ; 0x64 8038b8e: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8038b92: e00b b.n 8038bac k += 10; 8038b94: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8038b98: 330a adds r3, #10 8038b9a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8038b9e: e005 b.n 8038bac k++; 8038ba0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8038ba4: 3301 adds r3, #1 8038ba6: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8038baa: bf00 nop fl = (float32_t) k; 8038bac: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8038bb0: ee07 3a90 vmov s15, r3 8038bb4: eef8 7a67 vcvt.f32.u32 s15, s15 8038bb8: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl *= 0.1f; 8038bbc: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8038bc0: ed9f 7a48 vldr s14, [pc, #288] ; 8038ce4 8038bc4: ee67 7a87 vmul.f32 s15, s15, s14 8038bc8: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl += 0.0001f; 8038bcc: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8038bd0: ed9f 7a45 vldr s14, [pc, #276] ; 8038ce8 8038bd4: ee77 7a87 vadd.f32 s15, s15, s14 8038bd8: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 if(fl < 10.0f) 8038bdc: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8038be0: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 8038be4: eef4 7ac7 vcmpe.f32 s15, s14 8038be8: eef1 fa10 vmrs APSR_nzcv, fpscr 8038bec: d504 bpl.n 8038bf8 pardata.LP = 10.0f; 8038bee: 4b36 ldr r3, [pc, #216] ; (8038cc8 ) 8038bf0: 4a3e ldr r2, [pc, #248] ; (8038cec ) 8038bf2: f8c3 20d8 str.w r2, [r3, #216] ; 0xd8 if(fl < 10.0f) 8038bf6: e063 b.n 8038cc0 if(pardata.LP < pardata.HP) 8038bf8: 4b33 ldr r3, [pc, #204] ; (8038cc8 ) 8038bfa: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 8038bfe: 4b32 ldr r3, [pc, #200] ; (8038cc8 ) 8038c00: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 8038c04: eeb4 7ae7 vcmpe.f32 s14, s15 8038c08: eef1 fa10 vmrs APSR_nzcv, fpscr 8038c0c: d506 bpl.n 8038c1c pardata.LP = pardata.HP; 8038c0e: 4b2e ldr r3, [pc, #184] ; (8038cc8 ) 8038c10: f8d3 30d4 ldr.w r3, [r3, #212] ; 0xd4 8038c14: 4a2c ldr r2, [pc, #176] ; (8038cc8 ) 8038c16: f8c2 30d8 str.w r3, [r2, #216] ; 0xd8 if(fl < 10.0f) 8038c1a: e051 b.n 8038cc0 if(fl > 12800.0f) 8038c1c: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8038c20: ed9f 7a33 vldr s14, [pc, #204] ; 8038cf0 8038c24: eef4 7ac7 vcmpe.f32 s15, s14 8038c28: eef1 fa10 vmrs APSR_nzcv, fpscr 8038c2c: dd04 ble.n 8038c38 pardata.LP = 12800.0f; 8038c2e: 4b26 ldr r3, [pc, #152] ; (8038cc8 ) 8038c30: 4a30 ldr r2, [pc, #192] ; (8038cf4 ) 8038c32: f8c3 20d8 str.w r2, [r3, #216] ; 0xd8 if(fl < 10.0f) 8038c36: e043 b.n 8038cc0 pardata.LP = (float32_t) k; 8038c38: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8038c3c: ee07 3a90 vmov s15, r3 8038c40: eef8 7a67 vcvt.f32.u32 s15, s15 8038c44: 4b20 ldr r3, [pc, #128] ; (8038cc8 ) 8038c46: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 pardata.LP *= 0.1f; 8038c4a: 4b1f ldr r3, [pc, #124] ; (8038cc8 ) 8038c4c: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 8038c50: ed9f 7a24 vldr s14, [pc, #144] ; 8038ce4 8038c54: ee67 7a87 vmul.f32 s15, s15, s14 8038c58: 4b1b ldr r3, [pc, #108] ; (8038cc8 ) 8038c5a: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 pardata.LP += 0.0001f; 8038c5e: 4b1a ldr r3, [pc, #104] ; (8038cc8 ) 8038c60: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 8038c64: ed9f 7a20 vldr s14, [pc, #128] ; 8038ce8 8038c68: ee77 7a87 vadd.f32 s15, s15, s14 8038c6c: 4b16 ldr r3, [pc, #88] ; (8038cc8 ) 8038c6e: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 if(fl < 10.0f) 8038c72: e025 b.n 8038cc0 if(pardata.HP < 2.0f) 8038c74: 4b14 ldr r3, [pc, #80] ; (8038cc8 ) 8038c76: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 8038c7a: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 8038c7e: eef4 7ac7 vcmpe.f32 s15, s14 8038c82: eef1 fa10 vmrs APSR_nzcv, fpscr 8038c86: d508 bpl.n 8038c9a menupos--; 8038c88: 4b0e ldr r3, [pc, #56] ; (8038cc4 ) 8038c8a: 781b ldrb r3, [r3, #0] 8038c8c: b2db uxtb r3, r3 8038c8e: 3b01 subs r3, #1 8038c90: b2da uxtb r2, r3 8038c92: 4b0c ldr r3, [pc, #48] ; (8038cc4 ) 8038c94: 701a strb r2, [r3, #0] break; 8038c96: f003 b8e0 b.w 803be5a if(menupos == Average) 8038c9a: 4b0a ldr r3, [pc, #40] ; (8038cc4 ) 8038c9c: 781b ldrb r3, [r3, #0] 8038c9e: b2db uxtb r3, r3 8038ca0: 2b05 cmp r3, #5 8038ca2: d104 bne.n 8038cae menupos = ValueA; 8038ca4: 4b07 ldr r3, [pc, #28] ; (8038cc4 ) 8038ca6: 2202 movs r2, #2 8038ca8: 701a strb r2, [r3, #0] break; 8038caa: f003 b8d6 b.w 803be5a else menupos--; 8038cae: 4b05 ldr r3, [pc, #20] ; (8038cc4 ) 8038cb0: 781b ldrb r3, [r3, #0] 8038cb2: b2db uxtb r3, r3 8038cb4: 3b01 subs r3, #1 8038cb6: b2da uxtb r2, r3 8038cb8: 4b02 ldr r3, [pc, #8] ; (8038cc4 ) 8038cba: 701a strb r2, [r3, #0] break; 8038cbc: f003 b8cd b.w 803be5a 8038cc0: f003 b8cb b.w 803be5a 8038cc4: 20020070 .word 0x20020070 8038cc8: 20023e60 .word 0x20023e60 8038ccc: 0a7c5ac5 .word 0x0a7c5ac5 8038cd0: 000186a0 .word 0x000186a0 8038cd4: d1b71759 .word 0xd1b71759 8038cd8: 10624dd3 .word 0x10624dd3 8038cdc: 51eb851f .word 0x51eb851f 8038ce0: cccccccd .word 0xcccccccd 8038ce4: 3dcccccd .word 0x3dcccccd 8038ce8: 38d1b717 .word 0x38d1b717 8038cec: 41200000 .word 0x41200000 8038cf0: 46480000 .word 0x46480000 8038cf4: 46480000 .word 0x46480000 case PARAM_SPEC: focused = false; 8038cf8: 4bc9 ldr r3, [pc, #804] ; (8039020 ) 8038cfa: 2200 movs r2, #0 8038cfc: 701a strb r2, [r3, #0] switch(pardata.OPTIONS & maskFFT) 8038cfe: 4bc9 ldr r3, [pc, #804] ; (8039024 ) 8038d00: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8038d04: f003 0330 and.w r3, r3, #48 ; 0x30 8038d08: 2b10 cmp r3, #16 8038d0a: d00d beq.n 8038d28 8038d0c: 2b10 cmp r3, #16 8038d0e: d803 bhi.n 8038d18 8038d10: 2b00 cmp r3, #0 8038d12: d009 beq.n 8038d28 pardata.LP += 0.0001f; } } break; } break; 8038d14: f003 b8a1 b.w 803be5a switch(pardata.OPTIONS & maskFFT) 8038d18: 2b20 cmp r3, #32 8038d1a: f000 855f beq.w 80397dc 8038d1e: 2b30 cmp r3, #48 ; 0x30 8038d20: f000 855c beq.w 80397dc break; 8038d24: f003 b899 b.w 803be5a if(menupos == Ok) 8038d28: 4bbf ldr r3, [pc, #764] ; (8039028 ) 8038d2a: 781b ldrb r3, [r3, #0] 8038d2c: b2db uxtb r3, r3 8038d2e: 2b00 cmp r3, #0 8038d30: d110 bne.n 8038d54 if(pardata.OPTIONS & 0x4) 8038d32: 4bbc ldr r3, [pc, #752] ; (8039024 ) 8038d34: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8038d38: f003 0304 and.w r3, r3, #4 8038d3c: 2b00 cmp r3, #0 8038d3e: d004 beq.n 8038d4a menupos = VibAutoKu; 8038d40: 4bb9 ldr r3, [pc, #740] ; (8039028 ) 8038d42: 2208 movs r2, #8 8038d44: 701a strb r2, [r3, #0] break; 8038d46: f001 ba5c b.w 803a202 else menupos = VibMax_ALL; 8038d4a: 4bb7 ldr r3, [pc, #732] ; (8039028 ) 8038d4c: 2209 movs r2, #9 8038d4e: 701a strb r2, [r3, #0] break; 8038d50: f001 ba57 b.w 803a202 if(menupos == VibMax_ALL) 8038d54: 4bb4 ldr r3, [pc, #720] ; (8039028 ) 8038d56: 781b ldrb r3, [r3, #0] 8038d58: b2db uxtb r3, r3 8038d5a: 2b09 cmp r3, #9 8038d5c: d104 bne.n 8038d68 menupos = VibAutoKu; 8038d5e: 4bb2 ldr r3, [pc, #712] ; (8039028 ) 8038d60: 2208 movs r2, #8 8038d62: 701a strb r2, [r3, #0] break; 8038d64: f001 ba4d b.w 803a202 if(menupos == VibAutoKu) 8038d68: 4baf ldr r3, [pc, #700] ; (8039028 ) 8038d6a: 781b ldrb r3, [r3, #0] 8038d6c: b2db uxtb r3, r3 8038d6e: 2b08 cmp r3, #8 8038d70: d104 bne.n 8038d7c menupos = SAverage; 8038d72: 4bad ldr r3, [pc, #692] ; (8039028 ) 8038d74: 2207 movs r2, #7 8038d76: 701a strb r2, [r3, #0] break; 8038d78: f001 ba43 b.w 803a202 if(menupos == SAverage) 8038d7c: 4baa ldr r3, [pc, #680] ; (8039028 ) 8038d7e: 781b ldrb r3, [r3, #0] 8038d80: b2db uxtb r3, r3 8038d82: 2b07 cmp r3, #7 8038d84: d104 bne.n 8038d90 menupos = SpecWin; 8038d86: 4ba8 ldr r3, [pc, #672] ; (8039028 ) 8038d88: 2206 movs r2, #6 8038d8a: 701a strb r2, [r3, #0] break; 8038d8c: f001 ba39 b.w 803a202 if(menupos == SpecWin) 8038d90: 4ba5 ldr r3, [pc, #660] ; (8039028 ) 8038d92: 781b ldrb r3, [r3, #0] 8038d94: b2db uxtb r3, r3 8038d96: 2b06 cmp r3, #6 8038d98: d104 bne.n 8038da4 menupos = LinLog; 8038d9a: 4ba3 ldr r3, [pc, #652] ; (8039028 ) 8038d9c: 2205 movs r2, #5 8038d9e: 701a strb r2, [r3, #0] break; 8038da0: f001 ba2f b.w 803a202 if(menupos == LinLog) 8038da4: 4ba0 ldr r3, [pc, #640] ; (8039028 ) 8038da6: 781b ldrb r3, [r3, #0] 8038da8: b2db uxtb r3, r3 8038daa: 2b05 cmp r3, #5 8038dac: d104 bne.n 8038db8 menupos = SpecLines; 8038dae: 4b9e ldr r3, [pc, #632] ; (8039028 ) 8038db0: 2204 movs r2, #4 8038db2: 701a strb r2, [r3, #0] break; 8038db4: f001 ba25 b.w 803a202 if(menupos == SpecLines) 8038db8: 4b9b ldr r3, [pc, #620] ; (8039028 ) 8038dba: 781b ldrb r3, [r3, #0] 8038dbc: b2db uxtb r3, r3 8038dbe: 2b04 cmp r3, #4 8038dc0: d104 bne.n 8038dcc menupos = FilterLP; 8038dc2: 4b99 ldr r3, [pc, #612] ; (8039028 ) 8038dc4: 2218 movs r2, #24 8038dc6: 701a strb r2, [r3, #0] break; 8038dc8: f001 ba1b b.w 803a202 if(menupos == FilterLP) 8038dcc: 4b96 ldr r3, [pc, #600] ; (8039028 ) 8038dce: 781b ldrb r3, [r3, #0] 8038dd0: b2db uxtb r3, r3 8038dd2: 2b18 cmp r3, #24 8038dd4: d104 bne.n 8038de0 menupos = FilterHP; 8038dd6: 4b94 ldr r3, [pc, #592] ; (8039028 ) 8038dd8: 2217 movs r2, #23 8038dda: 701a strb r2, [r3, #0] break; 8038ddc: f001 ba11 b.w 803a202 if(menupos == FilterHP) 8038de0: 4b91 ldr r3, [pc, #580] ; (8039028 ) 8038de2: 781b ldrb r3, [r3, #0] 8038de4: b2db uxtb r3, r3 8038de6: 2b17 cmp r3, #23 8038de8: d104 bne.n 8038df4 menupos = SpecValue; 8038dea: 4b8f ldr r3, [pc, #572] ; (8039028 ) 8038dec: 2202 movs r2, #2 8038dee: 701a strb r2, [r3, #0] break; 8038df0: f001 ba07 b.w 803a202 if(menupos == SpecValue) 8038df4: 4b8c ldr r3, [pc, #560] ; (8039028 ) 8038df6: 781b ldrb r3, [r3, #0] 8038df8: b2db uxtb r3, r3 8038dfa: 2b02 cmp r3, #2 8038dfc: d104 bne.n 8038e08 menupos = SpecType; 8038dfe: 4b8a ldr r3, [pc, #552] ; (8039028 ) 8038e00: 2201 movs r2, #1 8038e02: 701a strb r2, [r3, #0] break; 8038e04: f001 b9fd b.w 803a202 if(menupos == SpecType) 8038e08: 4b87 ldr r3, [pc, #540] ; (8039028 ) 8038e0a: 781b ldrb r3, [r3, #0] 8038e0c: b2db uxtb r3, r3 8038e0e: 2b01 cmp r3, #1 8038e10: d104 bne.n 8038e1c menupos = Ok; 8038e12: 4b85 ldr r3, [pc, #532] ; (8039028 ) 8038e14: 2200 movs r2, #0 8038e16: 701a strb r2, [r3, #0] break; 8038e18: f001 b9f3 b.w 803a202 if((menupos >= VibMax_IDT) && (menupos <= VibMax_IKD)) 8038e1c: 4b82 ldr r3, [pc, #520] ; (8039028 ) 8038e1e: 781b ldrb r3, [r3, #0] 8038e20: b2db uxtb r3, r3 8038e22: 2b0a cmp r3, #10 8038e24: f240 8147 bls.w 80390b6 8038e28: 4b7f ldr r3, [pc, #508] ; (8039028 ) 8038e2a: 781b ldrb r3, [r3, #0] 8038e2c: b2db uxtb r3, r3 8038e2e: 2b10 cmp r3, #16 8038e30: f200 8141 bhi.w 80390b6 k = (uint32_t) (pardata.MAX_VAL * 10.0f); 8038e34: 4b7b ldr r3, [pc, #492] ; (8039024 ) 8038e36: edd3 7a06 vldr s15, [r3, #24] 8038e3a: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 8038e3e: ee67 7a87 vmul.f32 s15, s15, s14 8038e42: eefc 7ae7 vcvt.u32.f32 s15, s15 8038e46: ee17 3a90 vmov r3, s15 8038e4a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 8038e4e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8038e52: 095b lsrs r3, r3, #5 8038e54: 4a75 ldr r2, [pc, #468] ; (803902c ) 8038e56: fba2 2303 umull r2, r3, r2, r3 8038e5a: 09db lsrs r3, r3, #7 8038e5c: b2db uxtb r3, r3 8038e5e: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 8038e62: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8038e66: 0953 lsrs r3, r2, #5 8038e68: 4970 ldr r1, [pc, #448] ; (803902c ) 8038e6a: fba1 1303 umull r1, r3, r1, r3 8038e6e: 09db lsrs r3, r3, #7 8038e70: 496f ldr r1, [pc, #444] ; (8039030 ) 8038e72: fb01 f303 mul.w r3, r1, r3 8038e76: 1ad3 subs r3, r2, r3 8038e78: 4a6e ldr r2, [pc, #440] ; (8039034 ) 8038e7a: fba2 2303 umull r2, r3, r2, r3 8038e7e: 0b5b lsrs r3, r3, #13 8038e80: b2db uxtb r3, r3 8038e82: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 8038e86: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8038e8a: 0953 lsrs r3, r2, #5 8038e8c: 4967 ldr r1, [pc, #412] ; (803902c ) 8038e8e: fba1 1303 umull r1, r3, r1, r3 8038e92: 09db lsrs r3, r3, #7 8038e94: 4966 ldr r1, [pc, #408] ; (8039030 ) 8038e96: fb01 f303 mul.w r3, r1, r3 8038e9a: 1ad3 subs r3, r2, r3 8038e9c: 4a65 ldr r2, [pc, #404] ; (8039034 ) 8038e9e: fba2 1203 umull r1, r2, r2, r3 8038ea2: 0b52 lsrs r2, r2, #13 8038ea4: f242 7110 movw r1, #10000 ; 0x2710 8038ea8: fb01 f202 mul.w r2, r1, r2 8038eac: 1a9a subs r2, r3, r2 8038eae: 4b62 ldr r3, [pc, #392] ; (8039038 ) 8038eb0: fba3 2302 umull r2, r3, r3, r2 8038eb4: 099b lsrs r3, r3, #6 8038eb6: b2db uxtb r3, r3 8038eb8: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 8038ebc: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8038ec0: 095a lsrs r2, r3, #5 8038ec2: 495a ldr r1, [pc, #360] ; (803902c ) 8038ec4: fba1 1202 umull r1, r2, r1, r2 8038ec8: 09d2 lsrs r2, r2, #7 8038eca: 4959 ldr r1, [pc, #356] ; (8039030 ) 8038ecc: fb01 f202 mul.w r2, r1, r2 8038ed0: 1a9a subs r2, r3, r2 8038ed2: 4b58 ldr r3, [pc, #352] ; (8039034 ) 8038ed4: fba3 1302 umull r1, r3, r3, r2 8038ed8: 0b5b lsrs r3, r3, #13 8038eda: f242 7110 movw r1, #10000 ; 0x2710 8038ede: fb01 f303 mul.w r3, r1, r3 8038ee2: 1ad3 subs r3, r2, r3 8038ee4: 4a54 ldr r2, [pc, #336] ; (8039038 ) 8038ee6: fba2 1203 umull r1, r2, r2, r3 8038eea: 0992 lsrs r2, r2, #6 8038eec: f44f 717a mov.w r1, #1000 ; 0x3e8 8038ef0: fb01 f202 mul.w r2, r1, r2 8038ef4: 1a9a subs r2, r3, r2 8038ef6: 4b51 ldr r3, [pc, #324] ; (803903c ) 8038ef8: fba3 2302 umull r2, r3, r3, r2 8038efc: 095b lsrs r3, r3, #5 8038efe: b2db uxtb r3, r3 8038f00: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 8038f04: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8038f08: 0953 lsrs r3, r2, #5 8038f0a: 4948 ldr r1, [pc, #288] ; (803902c ) 8038f0c: fba1 1303 umull r1, r3, r1, r3 8038f10: 09db lsrs r3, r3, #7 8038f12: 4947 ldr r1, [pc, #284] ; (8039030 ) 8038f14: fb01 f303 mul.w r3, r1, r3 8038f18: 1ad3 subs r3, r2, r3 8038f1a: 4a46 ldr r2, [pc, #280] ; (8039034 ) 8038f1c: fba2 1203 umull r1, r2, r2, r3 8038f20: 0b52 lsrs r2, r2, #13 8038f22: f242 7110 movw r1, #10000 ; 0x2710 8038f26: fb01 f202 mul.w r2, r1, r2 8038f2a: 1a9a subs r2, r3, r2 8038f2c: 4b42 ldr r3, [pc, #264] ; (8039038 ) 8038f2e: fba3 1302 umull r1, r3, r3, r2 8038f32: 099b lsrs r3, r3, #6 8038f34: f44f 717a mov.w r1, #1000 ; 0x3e8 8038f38: fb01 f303 mul.w r3, r1, r3 8038f3c: 1ad3 subs r3, r2, r3 8038f3e: 4a3f ldr r2, [pc, #252] ; (803903c ) 8038f40: fba2 1203 umull r1, r2, r2, r3 8038f44: 0952 lsrs r2, r2, #5 8038f46: 2164 movs r1, #100 ; 0x64 8038f48: fb01 f202 mul.w r2, r1, r2 8038f4c: 1a9a subs r2, r3, r2 8038f4e: 4b3c ldr r3, [pc, #240] ; (8039040 ) 8038f50: fba3 2302 umull r2, r3, r3, r2 8038f54: 08db lsrs r3, r3, #3 8038f56: b2db uxtb r3, r3 8038f58: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 8038f5c: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8038f60: 0953 lsrs r3, r2, #5 8038f62: 4932 ldr r1, [pc, #200] ; (803902c ) 8038f64: fba1 1303 umull r1, r3, r1, r3 8038f68: 09db lsrs r3, r3, #7 8038f6a: 4931 ldr r1, [pc, #196] ; (8039030 ) 8038f6c: fb01 f303 mul.w r3, r1, r3 8038f70: 1ad3 subs r3, r2, r3 8038f72: 4a30 ldr r2, [pc, #192] ; (8039034 ) 8038f74: fba2 1203 umull r1, r2, r2, r3 8038f78: 0b52 lsrs r2, r2, #13 8038f7a: f242 7110 movw r1, #10000 ; 0x2710 8038f7e: fb01 f202 mul.w r2, r1, r2 8038f82: 1a9a subs r2, r3, r2 8038f84: 4b2c ldr r3, [pc, #176] ; (8039038 ) 8038f86: fba3 1302 umull r1, r3, r3, r2 8038f8a: 099b lsrs r3, r3, #6 8038f8c: f44f 717a mov.w r1, #1000 ; 0x3e8 8038f90: fb01 f303 mul.w r3, r1, r3 8038f94: 1ad3 subs r3, r2, r3 8038f96: 4a29 ldr r2, [pc, #164] ; (803903c ) 8038f98: fba2 1203 umull r1, r2, r2, r3 8038f9c: 0952 lsrs r2, r2, #5 8038f9e: 2164 movs r1, #100 ; 0x64 8038fa0: fb01 f202 mul.w r2, r1, r2 8038fa4: 1a9a subs r2, r3, r2 8038fa6: 4b26 ldr r3, [pc, #152] ; (8039040 ) 8038fa8: fba3 1302 umull r1, r3, r3, r2 8038fac: 08d9 lsrs r1, r3, #3 8038fae: 460b mov r3, r1 8038fb0: 009b lsls r3, r3, #2 8038fb2: 440b add r3, r1 8038fb4: 005b lsls r3, r3, #1 8038fb6: 1ad1 subs r1, r2, r3 8038fb8: b2cb uxtb r3, r1 8038fba: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 8038fbe: 4b1a ldr r3, [pc, #104] ; (8039028 ) 8038fc0: 781b ldrb r3, [r3, #0] 8038fc2: b2db uxtb r3, r3 8038fc4: 3b0b subs r3, #11 8038fc6: 2b05 cmp r3, #5 8038fc8: d848 bhi.n 803905c 8038fca: a201 add r2, pc, #4 ; (adr r2, 8038fd0 ) 8038fcc: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8038fd0: 08038fe9 .word 0x08038fe9 8038fd4: 08038ff7 .word 0x08038ff7 8038fd8: 08039007 .word 0x08039007 8038fdc: 08039015 .word 0x08039015 8038fe0: 08039045 .word 0x08039045 8038fe4: 08039051 .word 0x08039051 k += 100000; 8038fe8: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8038fec: 4b10 ldr r3, [pc, #64] ; (8039030 ) 8038fee: 4413 add r3, r2 8038ff0: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8038ff4: e032 b.n 803905c k += 10000; 8038ff6: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8038ffa: f242 7310 movw r3, #10000 ; 0x2710 8038ffe: 4413 add r3, r2 8039000: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8039004: e02a b.n 803905c k += 1000; 8039006: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803900a: f503 737a add.w r3, r3, #1000 ; 0x3e8 803900e: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8039012: e023 b.n 803905c k += 100; 8039014: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8039018: 3364 adds r3, #100 ; 0x64 803901a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803901e: e01d b.n 803905c 8039020: 20020f84 .word 0x20020f84 8039024: 20023e60 .word 0x20023e60 8039028: 20020070 .word 0x20020070 803902c: 0a7c5ac5 .word 0x0a7c5ac5 8039030: 000186a0 .word 0x000186a0 8039034: d1b71759 .word 0xd1b71759 8039038: 10624dd3 .word 0x10624dd3 803903c: 51eb851f .word 0x51eb851f 8039040: cccccccd .word 0xcccccccd k += 10; 8039044: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8039048: 330a adds r3, #10 803904a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803904e: e005 b.n 803905c k++; 8039050: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8039054: 3301 adds r3, #1 8039056: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803905a: bf00 nop if(k > 999999) k = 999999; 803905c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8039060: 4ad1 ldr r2, [pc, #836] ; (80393a8 ) 8039062: 4293 cmp r3, r2 8039064: d902 bls.n 803906c 8039066: 4bd0 ldr r3, [pc, #832] ; (80393a8 ) 8039068: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 if(k == 0) k = 1; 803906c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8039070: 2b00 cmp r3, #0 8039072: d102 bne.n 803907a 8039074: 2301 movs r3, #1 8039076: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.MAX_VAL = (float32_t) k; 803907a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803907e: ee07 3a90 vmov s15, r3 8039082: eef8 7a67 vcvt.f32.u32 s15, s15 8039086: 4bc9 ldr r3, [pc, #804] ; (80393ac ) 8039088: edc3 7a06 vstr s15, [r3, #24] pardata.MAX_VAL *= 0.1f; 803908c: 4bc7 ldr r3, [pc, #796] ; (80393ac ) 803908e: edd3 7a06 vldr s15, [r3, #24] 8039092: ed9f 7ac7 vldr s14, [pc, #796] ; 80393b0 8039096: ee67 7a87 vmul.f32 s15, s15, s14 803909a: 4bc4 ldr r3, [pc, #784] ; (80393ac ) 803909c: edc3 7a06 vstr s15, [r3, #24] pardata.MAX_VAL += 0.05f; 80390a0: 4bc2 ldr r3, [pc, #776] ; (80393ac ) 80390a2: edd3 7a06 vldr s15, [r3, #24] 80390a6: ed9f 7ac3 vldr s14, [pc, #780] ; 80393b4 80390aa: ee77 7a87 vadd.f32 s15, s15, s14 80390ae: 4bbf ldr r3, [pc, #764] ; (80393ac ) 80390b0: edc3 7a06 vstr s15, [r3, #24] 80390b4: e390 b.n 80397d8 if((menupos >= FilterHP_IDT) && (menupos <= FilterHP_IKD)) 80390b6: 4bc0 ldr r3, [pc, #768] ; (80393b8 ) 80390b8: 781b ldrb r3, [r3, #0] 80390ba: b2db uxtb r3, r3 80390bc: 2b18 cmp r3, #24 80390be: f240 81ba bls.w 8039436 80390c2: 4bbd ldr r3, [pc, #756] ; (80393b8 ) 80390c4: 781b ldrb r3, [r3, #0] 80390c6: b2db uxtb r3, r3 80390c8: 2b1e cmp r3, #30 80390ca: f200 81b4 bhi.w 8039436 k = (uint32_t) (pardata.HP * 10.0f); 80390ce: 4bb7 ldr r3, [pc, #732] ; (80393ac ) 80390d0: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 80390d4: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80390d8: ee67 7a87 vmul.f32 s15, s15, s14 80390dc: eefc 7ae7 vcvt.u32.f32 s15, s15 80390e0: ee17 3a90 vmov r3, s15 80390e4: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 80390e8: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80390ec: 095b lsrs r3, r3, #5 80390ee: 4ab3 ldr r2, [pc, #716] ; (80393bc ) 80390f0: fba2 2303 umull r2, r3, r2, r3 80390f4: 09db lsrs r3, r3, #7 80390f6: b2db uxtb r3, r3 80390f8: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 80390fc: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8039100: 0953 lsrs r3, r2, #5 8039102: 49ae ldr r1, [pc, #696] ; (80393bc ) 8039104: fba1 1303 umull r1, r3, r1, r3 8039108: 09db lsrs r3, r3, #7 803910a: 49ad ldr r1, [pc, #692] ; (80393c0 ) 803910c: fb01 f303 mul.w r3, r1, r3 8039110: 1ad3 subs r3, r2, r3 8039112: 4aac ldr r2, [pc, #688] ; (80393c4 ) 8039114: fba2 2303 umull r2, r3, r2, r3 8039118: 0b5b lsrs r3, r3, #13 803911a: b2db uxtb r3, r3 803911c: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 8039120: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8039124: 0953 lsrs r3, r2, #5 8039126: 49a5 ldr r1, [pc, #660] ; (80393bc ) 8039128: fba1 1303 umull r1, r3, r1, r3 803912c: 09db lsrs r3, r3, #7 803912e: 49a4 ldr r1, [pc, #656] ; (80393c0 ) 8039130: fb01 f303 mul.w r3, r1, r3 8039134: 1ad3 subs r3, r2, r3 8039136: 4aa3 ldr r2, [pc, #652] ; (80393c4 ) 8039138: fba2 1203 umull r1, r2, r2, r3 803913c: 0b52 lsrs r2, r2, #13 803913e: f242 7110 movw r1, #10000 ; 0x2710 8039142: fb01 f202 mul.w r2, r1, r2 8039146: 1a9a subs r2, r3, r2 8039148: 4b9f ldr r3, [pc, #636] ; (80393c8 ) 803914a: fba3 2302 umull r2, r3, r3, r2 803914e: 099b lsrs r3, r3, #6 8039150: b2db uxtb r3, r3 8039152: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 8039156: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803915a: 095a lsrs r2, r3, #5 803915c: 4997 ldr r1, [pc, #604] ; (80393bc ) 803915e: fba1 1202 umull r1, r2, r1, r2 8039162: 09d2 lsrs r2, r2, #7 8039164: 4996 ldr r1, [pc, #600] ; (80393c0 ) 8039166: fb01 f202 mul.w r2, r1, r2 803916a: 1a9a subs r2, r3, r2 803916c: 4b95 ldr r3, [pc, #596] ; (80393c4 ) 803916e: fba3 1302 umull r1, r3, r3, r2 8039172: 0b5b lsrs r3, r3, #13 8039174: f242 7110 movw r1, #10000 ; 0x2710 8039178: fb01 f303 mul.w r3, r1, r3 803917c: 1ad3 subs r3, r2, r3 803917e: 4a92 ldr r2, [pc, #584] ; (80393c8 ) 8039180: fba2 1203 umull r1, r2, r2, r3 8039184: 0992 lsrs r2, r2, #6 8039186: f44f 717a mov.w r1, #1000 ; 0x3e8 803918a: fb01 f202 mul.w r2, r1, r2 803918e: 1a9a subs r2, r3, r2 8039190: 4b8e ldr r3, [pc, #568] ; (80393cc ) 8039192: fba3 2302 umull r2, r3, r3, r2 8039196: 095b lsrs r3, r3, #5 8039198: b2db uxtb r3, r3 803919a: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 803919e: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80391a2: 0953 lsrs r3, r2, #5 80391a4: 4985 ldr r1, [pc, #532] ; (80393bc ) 80391a6: fba1 1303 umull r1, r3, r1, r3 80391aa: 09db lsrs r3, r3, #7 80391ac: 4984 ldr r1, [pc, #528] ; (80393c0 ) 80391ae: fb01 f303 mul.w r3, r1, r3 80391b2: 1ad3 subs r3, r2, r3 80391b4: 4a83 ldr r2, [pc, #524] ; (80393c4 ) 80391b6: fba2 1203 umull r1, r2, r2, r3 80391ba: 0b52 lsrs r2, r2, #13 80391bc: f242 7110 movw r1, #10000 ; 0x2710 80391c0: fb01 f202 mul.w r2, r1, r2 80391c4: 1a9a subs r2, r3, r2 80391c6: 4b80 ldr r3, [pc, #512] ; (80393c8 ) 80391c8: fba3 1302 umull r1, r3, r3, r2 80391cc: 099b lsrs r3, r3, #6 80391ce: f44f 717a mov.w r1, #1000 ; 0x3e8 80391d2: fb01 f303 mul.w r3, r1, r3 80391d6: 1ad3 subs r3, r2, r3 80391d8: 4a7c ldr r2, [pc, #496] ; (80393cc ) 80391da: fba2 1203 umull r1, r2, r2, r3 80391de: 0952 lsrs r2, r2, #5 80391e0: 2164 movs r1, #100 ; 0x64 80391e2: fb01 f202 mul.w r2, r1, r2 80391e6: 1a9a subs r2, r3, r2 80391e8: 4b79 ldr r3, [pc, #484] ; (80393d0 ) 80391ea: fba3 2302 umull r2, r3, r3, r2 80391ee: 08db lsrs r3, r3, #3 80391f0: b2db uxtb r3, r3 80391f2: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 80391f6: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80391fa: 0953 lsrs r3, r2, #5 80391fc: 496f ldr r1, [pc, #444] ; (80393bc ) 80391fe: fba1 1303 umull r1, r3, r1, r3 8039202: 09db lsrs r3, r3, #7 8039204: 496e ldr r1, [pc, #440] ; (80393c0 ) 8039206: fb01 f303 mul.w r3, r1, r3 803920a: 1ad3 subs r3, r2, r3 803920c: 4a6d ldr r2, [pc, #436] ; (80393c4 ) 803920e: fba2 1203 umull r1, r2, r2, r3 8039212: 0b52 lsrs r2, r2, #13 8039214: f242 7110 movw r1, #10000 ; 0x2710 8039218: fb01 f202 mul.w r2, r1, r2 803921c: 1a9a subs r2, r3, r2 803921e: 4b6a ldr r3, [pc, #424] ; (80393c8 ) 8039220: fba3 1302 umull r1, r3, r3, r2 8039224: 099b lsrs r3, r3, #6 8039226: f44f 717a mov.w r1, #1000 ; 0x3e8 803922a: fb01 f303 mul.w r3, r1, r3 803922e: 1ad3 subs r3, r2, r3 8039230: 4a66 ldr r2, [pc, #408] ; (80393cc ) 8039232: fba2 1203 umull r1, r2, r2, r3 8039236: 0952 lsrs r2, r2, #5 8039238: 2164 movs r1, #100 ; 0x64 803923a: fb01 f202 mul.w r2, r1, r2 803923e: 1a9a subs r2, r3, r2 8039240: 4b63 ldr r3, [pc, #396] ; (80393d0 ) 8039242: fba3 1302 umull r1, r3, r3, r2 8039246: 08d9 lsrs r1, r3, #3 8039248: 460b mov r3, r1 803924a: 009b lsls r3, r3, #2 803924c: 440b add r3, r1 803924e: 005b lsls r3, r3, #1 8039250: 1ad1 subs r1, r2, r3 8039252: b2cb uxtb r3, r1 8039254: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 8039258: 4b57 ldr r3, [pc, #348] ; (80393b8 ) 803925a: 781b ldrb r3, [r3, #0] 803925c: b2db uxtb r3, r3 803925e: 3b19 subs r3, #25 8039260: 2b05 cmp r3, #5 8039262: d837 bhi.n 80392d4 8039264: a201 add r2, pc, #4 ; (adr r2, 803926c ) 8039266: f852 f023 ldr.w pc, [r2, r3, lsl #2] 803926a: bf00 nop 803926c: 08039285 .word 0x08039285 8039270: 08039293 .word 0x08039293 8039274: 080392a3 .word 0x080392a3 8039278: 080392b1 .word 0x080392b1 803927c: 080392bd .word 0x080392bd 8039280: 080392c9 .word 0x080392c9 k += 100000; 8039284: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8039288: 4b4d ldr r3, [pc, #308] ; (80393c0 ) 803928a: 4413 add r3, r2 803928c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8039290: e020 b.n 80392d4 k += 10000; 8039292: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8039296: f242 7310 movw r3, #10000 ; 0x2710 803929a: 4413 add r3, r2 803929c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80392a0: e018 b.n 80392d4 k += 1000; 80392a2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80392a6: f503 737a add.w r3, r3, #1000 ; 0x3e8 80392aa: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80392ae: e011 b.n 80392d4 k += 100; 80392b0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80392b4: 3364 adds r3, #100 ; 0x64 80392b6: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80392ba: e00b b.n 80392d4 k += 10; 80392bc: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80392c0: 330a adds r3, #10 80392c2: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80392c6: e005 b.n 80392d4 k++; 80392c8: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80392cc: 3301 adds r3, #1 80392ce: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80392d2: bf00 nop fl = (float32_t) k; 80392d4: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80392d8: ee07 3a90 vmov s15, r3 80392dc: eef8 7a67 vcvt.f32.u32 s15, s15 80392e0: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl *= 0.1f; 80392e4: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 80392e8: ed9f 7a31 vldr s14, [pc, #196] ; 80393b0 80392ec: ee67 7a87 vmul.f32 s15, s15, s14 80392f0: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl += 0.0001f; 80392f4: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 80392f8: ed9f 7a36 vldr s14, [pc, #216] ; 80393d4 80392fc: ee77 7a87 vadd.f32 s15, s15, s14 8039300: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 if(pardata.IPR == ACC) 8039304: 4b29 ldr r3, [pc, #164] ; (80393ac ) 8039306: 785b ldrb r3, [r3, #1] 8039308: b2db uxtb r3, r3 803930a: 2b00 cmp r3, #0 803930c: d13d bne.n 803938a if(fl < 0.5f) 803930e: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8039312: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8039316: eef4 7ac7 vcmpe.f32 s15, s14 803931a: eef1 fa10 vmrs APSR_nzcv, fpscr 803931e: d505 bpl.n 803932c pardata.HP = 0.5f; 8039320: 4b22 ldr r3, [pc, #136] ; (80393ac ) 8039322: f04f 527c mov.w r2, #1056964608 ; 0x3f000000 8039326: f8c3 20d4 str.w r2, [r3, #212] ; 0xd4 if(pardata.IPR == ACC) 803932a: e255 b.n 80397d8 if(fl > pardata.LP) 803932c: 4b1f ldr r3, [pc, #124] ; (80393ac ) 803932e: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 8039332: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8039336: eeb4 7ae7 vcmpe.f32 s14, s15 803933a: eef1 fa10 vmrs APSR_nzcv, fpscr 803933e: d506 bpl.n 803934e pardata.HP = pardata.LP; 8039340: 4b1a ldr r3, [pc, #104] ; (80393ac ) 8039342: f8d3 30d8 ldr.w r3, [r3, #216] ; 0xd8 8039346: 4a19 ldr r2, [pc, #100] ; (80393ac ) 8039348: f8c2 30d4 str.w r3, [r2, #212] ; 0xd4 if(pardata.IPR == ACC) 803934c: e244 b.n 80397d8 pardata.HP = (float32_t) k; 803934e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8039352: ee07 3a90 vmov s15, r3 8039356: eef8 7a67 vcvt.f32.u32 s15, s15 803935a: 4b14 ldr r3, [pc, #80] ; (80393ac ) 803935c: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 pardata.HP *= 0.1f; 8039360: 4b12 ldr r3, [pc, #72] ; (80393ac ) 8039362: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 8039366: ed9f 7a12 vldr s14, [pc, #72] ; 80393b0 803936a: ee67 7a87 vmul.f32 s15, s15, s14 803936e: 4b0f ldr r3, [pc, #60] ; (80393ac ) 8039370: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 pardata.HP += 0.0001f; 8039374: 4b0d ldr r3, [pc, #52] ; (80393ac ) 8039376: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 803937a: ed9f 7a16 vldr s14, [pc, #88] ; 80393d4 803937e: ee77 7a87 vadd.f32 s15, s15, s14 8039382: 4b0a ldr r3, [pc, #40] ; (80393ac ) 8039384: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 if(pardata.IPR == ACC) 8039388: e226 b.n 80397d8 if(fl < 2.0f) 803938a: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 803938e: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 8039392: eef4 7ac7 vcmpe.f32 s15, s14 8039396: eef1 fa10 vmrs APSR_nzcv, fpscr 803939a: d51d bpl.n 80393d8 pardata.HP = 2.0f; 803939c: 4b03 ldr r3, [pc, #12] ; (80393ac ) 803939e: f04f 4280 mov.w r2, #1073741824 ; 0x40000000 80393a2: f8c3 20d4 str.w r2, [r3, #212] ; 0xd4 if(pardata.IPR == ACC) 80393a6: e217 b.n 80397d8 80393a8: 000f423f .word 0x000f423f 80393ac: 20023e60 .word 0x20023e60 80393b0: 3dcccccd .word 0x3dcccccd 80393b4: 3d4ccccd .word 0x3d4ccccd 80393b8: 20020070 .word 0x20020070 80393bc: 0a7c5ac5 .word 0x0a7c5ac5 80393c0: 000186a0 .word 0x000186a0 80393c4: d1b71759 .word 0xd1b71759 80393c8: 10624dd3 .word 0x10624dd3 80393cc: 51eb851f .word 0x51eb851f 80393d0: cccccccd .word 0xcccccccd 80393d4: 38d1b717 .word 0x38d1b717 if(fl > pardata.LP) 80393d8: 4bd2 ldr r3, [pc, #840] ; (8039724 ) 80393da: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 80393de: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 80393e2: eeb4 7ae7 vcmpe.f32 s14, s15 80393e6: eef1 fa10 vmrs APSR_nzcv, fpscr 80393ea: d506 bpl.n 80393fa pardata.HP = pardata.LP; 80393ec: 4bcd ldr r3, [pc, #820] ; (8039724 ) 80393ee: f8d3 30d8 ldr.w r3, [r3, #216] ; 0xd8 80393f2: 4acc ldr r2, [pc, #816] ; (8039724 ) 80393f4: f8c2 30d4 str.w r3, [r2, #212] ; 0xd4 if(pardata.IPR == ACC) 80393f8: e1ee b.n 80397d8 pardata.HP = (float32_t) k; 80393fa: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80393fe: ee07 3a90 vmov s15, r3 8039402: eef8 7a67 vcvt.f32.u32 s15, s15 8039406: 4bc7 ldr r3, [pc, #796] ; (8039724 ) 8039408: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 pardata.HP *= 0.1f; 803940c: 4bc5 ldr r3, [pc, #788] ; (8039724 ) 803940e: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 8039412: ed9f 7ac5 vldr s14, [pc, #788] ; 8039728 8039416: ee67 7a87 vmul.f32 s15, s15, s14 803941a: 4bc2 ldr r3, [pc, #776] ; (8039724 ) 803941c: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 pardata.HP += 0.0001f; 8039420: 4bc0 ldr r3, [pc, #768] ; (8039724 ) 8039422: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 8039426: ed9f 7ac1 vldr s14, [pc, #772] ; 803972c 803942a: ee77 7a87 vadd.f32 s15, s15, s14 803942e: 4bbd ldr r3, [pc, #756] ; (8039724 ) 8039430: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 if(pardata.IPR == ACC) 8039434: e1d0 b.n 80397d8 if((menupos >= FilterLP_IDT) && (menupos <= FilterLP_IKD)) 8039436: 4bbe ldr r3, [pc, #760] ; (8039730 ) 8039438: 781b ldrb r3, [r3, #0] 803943a: b2db uxtb r3, r3 803943c: 2b1e cmp r3, #30 803943e: f240 86e0 bls.w 803a202 8039442: 4bbb ldr r3, [pc, #748] ; (8039730 ) 8039444: 781b ldrb r3, [r3, #0] 8039446: b2db uxtb r3, r3 8039448: 2b24 cmp r3, #36 ; 0x24 803944a: f200 86da bhi.w 803a202 k = (uint32_t) (pardata.LP * 10.0f); 803944e: 4bb5 ldr r3, [pc, #724] ; (8039724 ) 8039450: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 8039454: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 8039458: ee67 7a87 vmul.f32 s15, s15, s14 803945c: eefc 7ae7 vcvt.u32.f32 s15, s15 8039460: ee17 3a90 vmov r3, s15 8039464: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 8039468: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803946c: 095b lsrs r3, r3, #5 803946e: 4ab1 ldr r2, [pc, #708] ; (8039734 ) 8039470: fba2 2303 umull r2, r3, r2, r3 8039474: 09db lsrs r3, r3, #7 8039476: b2db uxtb r3, r3 8039478: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 803947c: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8039480: 0953 lsrs r3, r2, #5 8039482: 49ac ldr r1, [pc, #688] ; (8039734 ) 8039484: fba1 1303 umull r1, r3, r1, r3 8039488: 09db lsrs r3, r3, #7 803948a: 49ab ldr r1, [pc, #684] ; (8039738 ) 803948c: fb01 f303 mul.w r3, r1, r3 8039490: 1ad3 subs r3, r2, r3 8039492: 4aaa ldr r2, [pc, #680] ; (803973c ) 8039494: fba2 2303 umull r2, r3, r2, r3 8039498: 0b5b lsrs r3, r3, #13 803949a: b2db uxtb r3, r3 803949c: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 80394a0: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80394a4: 0953 lsrs r3, r2, #5 80394a6: 49a3 ldr r1, [pc, #652] ; (8039734 ) 80394a8: fba1 1303 umull r1, r3, r1, r3 80394ac: 09db lsrs r3, r3, #7 80394ae: 49a2 ldr r1, [pc, #648] ; (8039738 ) 80394b0: fb01 f303 mul.w r3, r1, r3 80394b4: 1ad3 subs r3, r2, r3 80394b6: 4aa1 ldr r2, [pc, #644] ; (803973c ) 80394b8: fba2 1203 umull r1, r2, r2, r3 80394bc: 0b52 lsrs r2, r2, #13 80394be: f242 7110 movw r1, #10000 ; 0x2710 80394c2: fb01 f202 mul.w r2, r1, r2 80394c6: 1a9a subs r2, r3, r2 80394c8: 4b9d ldr r3, [pc, #628] ; (8039740 ) 80394ca: fba3 2302 umull r2, r3, r3, r2 80394ce: 099b lsrs r3, r3, #6 80394d0: b2db uxtb r3, r3 80394d2: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 80394d6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80394da: 095a lsrs r2, r3, #5 80394dc: 4995 ldr r1, [pc, #596] ; (8039734 ) 80394de: fba1 1202 umull r1, r2, r1, r2 80394e2: 09d2 lsrs r2, r2, #7 80394e4: 4994 ldr r1, [pc, #592] ; (8039738 ) 80394e6: fb01 f202 mul.w r2, r1, r2 80394ea: 1a9a subs r2, r3, r2 80394ec: 4b93 ldr r3, [pc, #588] ; (803973c ) 80394ee: fba3 1302 umull r1, r3, r3, r2 80394f2: 0b5b lsrs r3, r3, #13 80394f4: f242 7110 movw r1, #10000 ; 0x2710 80394f8: fb01 f303 mul.w r3, r1, r3 80394fc: 1ad3 subs r3, r2, r3 80394fe: 4a90 ldr r2, [pc, #576] ; (8039740 ) 8039500: fba2 1203 umull r1, r2, r2, r3 8039504: 0992 lsrs r2, r2, #6 8039506: f44f 717a mov.w r1, #1000 ; 0x3e8 803950a: fb01 f202 mul.w r2, r1, r2 803950e: 1a9a subs r2, r3, r2 8039510: 4b8c ldr r3, [pc, #560] ; (8039744 ) 8039512: fba3 2302 umull r2, r3, r3, r2 8039516: 095b lsrs r3, r3, #5 8039518: b2db uxtb r3, r3 803951a: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 803951e: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8039522: 0953 lsrs r3, r2, #5 8039524: 4983 ldr r1, [pc, #524] ; (8039734 ) 8039526: fba1 1303 umull r1, r3, r1, r3 803952a: 09db lsrs r3, r3, #7 803952c: 4982 ldr r1, [pc, #520] ; (8039738 ) 803952e: fb01 f303 mul.w r3, r1, r3 8039532: 1ad3 subs r3, r2, r3 8039534: 4a81 ldr r2, [pc, #516] ; (803973c ) 8039536: fba2 1203 umull r1, r2, r2, r3 803953a: 0b52 lsrs r2, r2, #13 803953c: f242 7110 movw r1, #10000 ; 0x2710 8039540: fb01 f202 mul.w r2, r1, r2 8039544: 1a9a subs r2, r3, r2 8039546: 4b7e ldr r3, [pc, #504] ; (8039740 ) 8039548: fba3 1302 umull r1, r3, r3, r2 803954c: 099b lsrs r3, r3, #6 803954e: f44f 717a mov.w r1, #1000 ; 0x3e8 8039552: fb01 f303 mul.w r3, r1, r3 8039556: 1ad3 subs r3, r2, r3 8039558: 4a7a ldr r2, [pc, #488] ; (8039744 ) 803955a: fba2 1203 umull r1, r2, r2, r3 803955e: 0952 lsrs r2, r2, #5 8039560: 2164 movs r1, #100 ; 0x64 8039562: fb01 f202 mul.w r2, r1, r2 8039566: 1a9a subs r2, r3, r2 8039568: 4b77 ldr r3, [pc, #476] ; (8039748 ) 803956a: fba3 2302 umull r2, r3, r3, r2 803956e: 08db lsrs r3, r3, #3 8039570: b2db uxtb r3, r3 8039572: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 8039576: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803957a: 0953 lsrs r3, r2, #5 803957c: 496d ldr r1, [pc, #436] ; (8039734 ) 803957e: fba1 1303 umull r1, r3, r1, r3 8039582: 09db lsrs r3, r3, #7 8039584: 496c ldr r1, [pc, #432] ; (8039738 ) 8039586: fb01 f303 mul.w r3, r1, r3 803958a: 1ad3 subs r3, r2, r3 803958c: 4a6b ldr r2, [pc, #428] ; (803973c ) 803958e: fba2 1203 umull r1, r2, r2, r3 8039592: 0b52 lsrs r2, r2, #13 8039594: f242 7110 movw r1, #10000 ; 0x2710 8039598: fb01 f202 mul.w r2, r1, r2 803959c: 1a9a subs r2, r3, r2 803959e: 4b68 ldr r3, [pc, #416] ; (8039740 ) 80395a0: fba3 1302 umull r1, r3, r3, r2 80395a4: 099b lsrs r3, r3, #6 80395a6: f44f 717a mov.w r1, #1000 ; 0x3e8 80395aa: fb01 f303 mul.w r3, r1, r3 80395ae: 1ad3 subs r3, r2, r3 80395b0: 4a64 ldr r2, [pc, #400] ; (8039744 ) 80395b2: fba2 1203 umull r1, r2, r2, r3 80395b6: 0952 lsrs r2, r2, #5 80395b8: 2164 movs r1, #100 ; 0x64 80395ba: fb01 f202 mul.w r2, r1, r2 80395be: 1a9a subs r2, r3, r2 80395c0: 4b61 ldr r3, [pc, #388] ; (8039748 ) 80395c2: fba3 1302 umull r1, r3, r3, r2 80395c6: 08d9 lsrs r1, r3, #3 80395c8: 460b mov r3, r1 80395ca: 009b lsls r3, r3, #2 80395cc: 440b add r3, r1 80395ce: 005b lsls r3, r3, #1 80395d0: 1ad1 subs r1, r2, r3 80395d2: b2cb uxtb r3, r1 80395d4: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 80395d8: 4b55 ldr r3, [pc, #340] ; (8039730 ) 80395da: 781b ldrb r3, [r3, #0] 80395dc: b2db uxtb r3, r3 80395de: 3b1f subs r3, #31 80395e0: 2b05 cmp r3, #5 80395e2: d837 bhi.n 8039654 80395e4: a201 add r2, pc, #4 ; (adr r2, 80395ec ) 80395e6: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80395ea: bf00 nop 80395ec: 08039605 .word 0x08039605 80395f0: 08039613 .word 0x08039613 80395f4: 08039623 .word 0x08039623 80395f8: 08039631 .word 0x08039631 80395fc: 0803963d .word 0x0803963d 8039600: 08039649 .word 0x08039649 k += 100000; 8039604: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8039608: 4b4b ldr r3, [pc, #300] ; (8039738 ) 803960a: 4413 add r3, r2 803960c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8039610: e020 b.n 8039654 k += 10000; 8039612: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8039616: f242 7310 movw r3, #10000 ; 0x2710 803961a: 4413 add r3, r2 803961c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8039620: e018 b.n 8039654 k += 1000; 8039622: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8039626: f503 737a add.w r3, r3, #1000 ; 0x3e8 803962a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803962e: e011 b.n 8039654 k += 100; 8039630: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8039634: 3364 adds r3, #100 ; 0x64 8039636: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803963a: e00b b.n 8039654 k += 10; 803963c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8039640: 330a adds r3, #10 8039642: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8039646: e005 b.n 8039654 k++; 8039648: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803964c: 3301 adds r3, #1 803964e: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8039652: bf00 nop fl = (float32_t) k; 8039654: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8039658: ee07 3a90 vmov s15, r3 803965c: eef8 7a67 vcvt.f32.u32 s15, s15 8039660: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl *= 0.1f; 8039664: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8039668: ed9f 7a2f vldr s14, [pc, #188] ; 8039728 803966c: ee67 7a87 vmul.f32 s15, s15, s14 8039670: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl += 0.0001f; 8039674: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8039678: ed9f 7a2c vldr s14, [pc, #176] ; 803972c 803967c: ee77 7a87 vadd.f32 s15, s15, s14 8039680: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 if(fl < 10.0f) 8039684: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8039688: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 803968c: eef4 7ac7 vcmpe.f32 s15, s14 8039690: eef1 fa10 vmrs APSR_nzcv, fpscr 8039694: d504 bpl.n 80396a0 pardata.LP = 10.0f; 8039696: 4b23 ldr r3, [pc, #140] ; (8039724 ) 8039698: 4a2c ldr r2, [pc, #176] ; (803974c ) 803969a: f8c3 20d8 str.w r2, [r3, #216] ; 0xd8 803969e: e03c b.n 803971a if(pardata.LP < pardata.HP) 80396a0: 4b20 ldr r3, [pc, #128] ; (8039724 ) 80396a2: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 80396a6: 4b1f ldr r3, [pc, #124] ; (8039724 ) 80396a8: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 80396ac: eeb4 7ae7 vcmpe.f32 s14, s15 80396b0: eef1 fa10 vmrs APSR_nzcv, fpscr 80396b4: d506 bpl.n 80396c4 pardata.LP = pardata.HP; 80396b6: 4b1b ldr r3, [pc, #108] ; (8039724 ) 80396b8: f8d3 30d4 ldr.w r3, [r3, #212] ; 0xd4 80396bc: 4a19 ldr r2, [pc, #100] ; (8039724 ) 80396be: f8c2 30d8 str.w r3, [r2, #216] ; 0xd8 80396c2: e02a b.n 803971a if(fl > 12800.0f) 80396c4: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 80396c8: ed9f 7a21 vldr s14, [pc, #132] ; 8039750 80396cc: eef4 7ac7 vcmpe.f32 s15, s14 80396d0: eef1 fa10 vmrs APSR_nzcv, fpscr 80396d4: dd04 ble.n 80396e0 pardata.LP = 12800.0f; 80396d6: 4b13 ldr r3, [pc, #76] ; (8039724 ) 80396d8: 4a1e ldr r2, [pc, #120] ; (8039754 ) 80396da: f8c3 20d8 str.w r2, [r3, #216] ; 0xd8 80396de: e01c b.n 803971a pardata.LP = (float32_t) k; 80396e0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80396e4: ee07 3a90 vmov s15, r3 80396e8: eef8 7a67 vcvt.f32.u32 s15, s15 80396ec: 4b0d ldr r3, [pc, #52] ; (8039724 ) 80396ee: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 pardata.LP *= 0.1f; 80396f2: 4b0c ldr r3, [pc, #48] ; (8039724 ) 80396f4: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 80396f8: ed9f 7a0b vldr s14, [pc, #44] ; 8039728 80396fc: ee67 7a87 vmul.f32 s15, s15, s14 8039700: 4b08 ldr r3, [pc, #32] ; (8039724 ) 8039702: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 pardata.LP += 0.0001f; 8039706: 4b07 ldr r3, [pc, #28] ; (8039724 ) 8039708: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 803970c: ed9f 7a07 vldr s14, [pc, #28] ; 803972c 8039710: ee77 7a87 vadd.f32 s15, s15, s14 8039714: 4b03 ldr r3, [pc, #12] ; (8039724 ) 8039716: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 k = _64000Hz; 803971a: 2309 movs r3, #9 803971c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 while(k > _125Hz) 8039720: e054 b.n 80397cc 8039722: bf00 nop 8039724: 20023e60 .word 0x20023e60 8039728: 3dcccccd .word 0x3dcccccd 803972c: 38d1b717 .word 0x38d1b717 8039730: 20020070 .word 0x20020070 8039734: 0a7c5ac5 .word 0x0a7c5ac5 8039738: 000186a0 .word 0x000186a0 803973c: d1b71759 .word 0xd1b71759 8039740: 10624dd3 .word 0x10624dd3 8039744: 51eb851f .word 0x51eb851f 8039748: cccccccd .word 0xcccccccd 803974c: 41200000 .word 0x41200000 8039750: 46480000 .word 0x46480000 8039754: 46480000 .word 0x46480000 f = (float32_t) FS[k] / pardata.LP; 8039758: 4aca ldr r2, [pc, #808] ; (8039a84 ) 803975a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803975e: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8039762: ee07 3a90 vmov s15, r3 8039766: eef8 6a67 vcvt.f32.u32 s13, s15 803976a: 4bc7 ldr r3, [pc, #796] ; (8039a88 ) 803976c: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 8039770: eec6 7a87 vdiv.f32 s15, s13, s14 8039774: edc7 7a2d vstr s15, [r7, #180] ; 0xb4 f += 0.0001f; 8039778: edd7 7a2d vldr s15, [r7, #180] ; 0xb4 803977c: ed9f 7ac3 vldr s14, [pc, #780] ; 8039a8c 8039780: ee77 7a87 vadd.f32 s15, s15, s14 8039784: edc7 7a2d vstr s15, [r7, #180] ; 0xb4 if(f < 5.0f) 8039788: edd7 7a2d vldr s15, [r7, #180] ; 0xb4 803978c: eeb1 7a04 vmov.f32 s14, #20 ; 0x40a00000 5.0 8039790: eef4 7ac7 vcmpe.f32 s15, s14 8039794: eef1 fa10 vmrs APSR_nzcv, fpscr 8039798: d507 bpl.n 80397aa pardata.FRQ = k + 1; 803979a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803979e: b2db uxtb r3, r3 80397a0: 3301 adds r3, #1 80397a2: b2da uxtb r2, r3 80397a4: 4bb8 ldr r3, [pc, #736] ; (8039a88 ) 80397a6: 72da strb r2, [r3, #11] break; 80397a8: e016 b.n 80397d8 if(k > 0) 80397aa: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80397ae: 2b00 cmp r3, #0 80397b0: d004 beq.n 80397bc k--; 80397b2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80397b6: 3b01 subs r3, #1 80397b8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 if(k == 0) 80397bc: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80397c0: 2b00 cmp r3, #0 80397c2: d103 bne.n 80397cc pardata.FRQ = _125Hz; 80397c4: 4bb0 ldr r3, [pc, #704] ; (8039a88 ) 80397c6: 2200 movs r2, #0 80397c8: 72da strb r2, [r3, #11] break; 80397ca: e005 b.n 80397d8 while(k > _125Hz) 80397cc: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80397d0: 2b00 cmp r3, #0 80397d2: d1c1 bne.n 8039758 break; 80397d4: f000 bd15 b.w 803a202 80397d8: f000 bd13 b.w 803a202 if(menupos == Ok) 80397dc: 4bac ldr r3, [pc, #688] ; (8039a90 ) 80397de: 781b ldrb r3, [r3, #0] 80397e0: b2db uxtb r3, r3 80397e2: 2b00 cmp r3, #0 80397e4: d110 bne.n 8039808 if(pardata.OPTIONS & 0x4) 80397e6: 4ba8 ldr r3, [pc, #672] ; (8039a88 ) 80397e8: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80397ec: f003 0304 and.w r3, r3, #4 80397f0: 2b00 cmp r3, #0 80397f2: d004 beq.n 80397fe menupos = VibAutoKu; 80397f4: 4ba6 ldr r3, [pc, #664] ; (8039a90 ) 80397f6: 2208 movs r2, #8 80397f8: 701a strb r2, [r3, #0] break; 80397fa: f000 bd05 b.w 803a208 else menupos = VibMax_ALL; 80397fe: 4ba4 ldr r3, [pc, #656] ; (8039a90 ) 8039800: 2209 movs r2, #9 8039802: 701a strb r2, [r3, #0] break; 8039804: f000 bd00 b.w 803a208 if(menupos == VibMax_ALL) 8039808: 4ba1 ldr r3, [pc, #644] ; (8039a90 ) 803980a: 781b ldrb r3, [r3, #0] 803980c: b2db uxtb r3, r3 803980e: 2b09 cmp r3, #9 8039810: d104 bne.n 803981c menupos = VibAutoKu; 8039812: 4b9f ldr r3, [pc, #636] ; (8039a90 ) 8039814: 2208 movs r2, #8 8039816: 701a strb r2, [r3, #0] break; 8039818: f000 bcf6 b.w 803a208 if(menupos == VibAutoKu) 803981c: 4b9c ldr r3, [pc, #624] ; (8039a90 ) 803981e: 781b ldrb r3, [r3, #0] 8039820: b2db uxtb r3, r3 8039822: 2b08 cmp r3, #8 8039824: d104 bne.n 8039830 menupos = SAverage; 8039826: 4b9a ldr r3, [pc, #616] ; (8039a90 ) 8039828: 2207 movs r2, #7 803982a: 701a strb r2, [r3, #0] break; 803982c: f000 bcec b.w 803a208 if(menupos == SAverage) 8039830: 4b97 ldr r3, [pc, #604] ; (8039a90 ) 8039832: 781b ldrb r3, [r3, #0] 8039834: b2db uxtb r3, r3 8039836: 2b07 cmp r3, #7 8039838: d104 bne.n 8039844 menupos = LinLog; 803983a: 4b95 ldr r3, [pc, #596] ; (8039a90 ) 803983c: 2205 movs r2, #5 803983e: 701a strb r2, [r3, #0] break; 8039840: f000 bce2 b.w 803a208 if(menupos == LinLog) 8039844: 4b92 ldr r3, [pc, #584] ; (8039a90 ) 8039846: 781b ldrb r3, [r3, #0] 8039848: b2db uxtb r3, r3 803984a: 2b05 cmp r3, #5 803984c: d104 bne.n 8039858 menupos = FilterLP; 803984e: 4b90 ldr r3, [pc, #576] ; (8039a90 ) 8039850: 2218 movs r2, #24 8039852: 701a strb r2, [r3, #0] break; 8039854: f000 bcd8 b.w 803a208 if(menupos == FilterLP) 8039858: 4b8d ldr r3, [pc, #564] ; (8039a90 ) 803985a: 781b ldrb r3, [r3, #0] 803985c: b2db uxtb r3, r3 803985e: 2b18 cmp r3, #24 8039860: d104 bne.n 803986c menupos = FilterHP; 8039862: 4b8b ldr r3, [pc, #556] ; (8039a90 ) 8039864: 2217 movs r2, #23 8039866: 701a strb r2, [r3, #0] break; 8039868: f000 bcce b.w 803a208 if(menupos == FilterHP) 803986c: 4b88 ldr r3, [pc, #544] ; (8039a90 ) 803986e: 781b ldrb r3, [r3, #0] 8039870: b2db uxtb r3, r3 8039872: 2b17 cmp r3, #23 8039874: d104 bne.n 8039880 menupos = SpecValue; 8039876: 4b86 ldr r3, [pc, #536] ; (8039a90 ) 8039878: 2202 movs r2, #2 803987a: 701a strb r2, [r3, #0] break; 803987c: f000 bcc4 b.w 803a208 if(menupos == SpecValue) 8039880: 4b83 ldr r3, [pc, #524] ; (8039a90 ) 8039882: 781b ldrb r3, [r3, #0] 8039884: b2db uxtb r3, r3 8039886: 2b02 cmp r3, #2 8039888: d104 bne.n 8039894 menupos = SpecType; 803988a: 4b81 ldr r3, [pc, #516] ; (8039a90 ) 803988c: 2201 movs r2, #1 803988e: 701a strb r2, [r3, #0] break; 8039890: f000 bcba b.w 803a208 if(menupos == SpecType) 8039894: 4b7e ldr r3, [pc, #504] ; (8039a90 ) 8039896: 781b ldrb r3, [r3, #0] 8039898: b2db uxtb r3, r3 803989a: 2b01 cmp r3, #1 803989c: d104 bne.n 80398a8 menupos = Ok; 803989e: 4b7c ldr r3, [pc, #496] ; (8039a90 ) 80398a0: 2200 movs r2, #0 80398a2: 701a strb r2, [r3, #0] break; 80398a4: f000 bcb0 b.w 803a208 if((menupos >= VibMax_IDT) && (menupos <= VibMax_IKD)) 80398a8: 4b79 ldr r3, [pc, #484] ; (8039a90 ) 80398aa: 781b ldrb r3, [r3, #0] 80398ac: b2db uxtb r3, r3 80398ae: 2b0a cmp r3, #10 80398b0: f240 814a bls.w 8039b48 80398b4: 4b76 ldr r3, [pc, #472] ; (8039a90 ) 80398b6: 781b ldrb r3, [r3, #0] 80398b8: b2db uxtb r3, r3 80398ba: 2b10 cmp r3, #16 80398bc: f200 8144 bhi.w 8039b48 k = (uint32_t) (pardata.MAX_VAL * 10.0f); 80398c0: 4b71 ldr r3, [pc, #452] ; (8039a88 ) 80398c2: edd3 7a06 vldr s15, [r3, #24] 80398c6: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80398ca: ee67 7a87 vmul.f32 s15, s15, s14 80398ce: eefc 7ae7 vcvt.u32.f32 s15, s15 80398d2: ee17 3a90 vmov r3, s15 80398d6: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 80398da: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80398de: 095b lsrs r3, r3, #5 80398e0: 4a6c ldr r2, [pc, #432] ; (8039a94 ) 80398e2: fba2 2303 umull r2, r3, r2, r3 80398e6: 09db lsrs r3, r3, #7 80398e8: b2db uxtb r3, r3 80398ea: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 80398ee: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80398f2: 0953 lsrs r3, r2, #5 80398f4: 4967 ldr r1, [pc, #412] ; (8039a94 ) 80398f6: fba1 1303 umull r1, r3, r1, r3 80398fa: 09db lsrs r3, r3, #7 80398fc: 4966 ldr r1, [pc, #408] ; (8039a98 ) 80398fe: fb01 f303 mul.w r3, r1, r3 8039902: 1ad3 subs r3, r2, r3 8039904: 4a65 ldr r2, [pc, #404] ; (8039a9c ) 8039906: fba2 2303 umull r2, r3, r2, r3 803990a: 0b5b lsrs r3, r3, #13 803990c: b2db uxtb r3, r3 803990e: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 8039912: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8039916: 0953 lsrs r3, r2, #5 8039918: 495e ldr r1, [pc, #376] ; (8039a94 ) 803991a: fba1 1303 umull r1, r3, r1, r3 803991e: 09db lsrs r3, r3, #7 8039920: 495d ldr r1, [pc, #372] ; (8039a98 ) 8039922: fb01 f303 mul.w r3, r1, r3 8039926: 1ad3 subs r3, r2, r3 8039928: 4a5c ldr r2, [pc, #368] ; (8039a9c ) 803992a: fba2 1203 umull r1, r2, r2, r3 803992e: 0b52 lsrs r2, r2, #13 8039930: f242 7110 movw r1, #10000 ; 0x2710 8039934: fb01 f202 mul.w r2, r1, r2 8039938: 1a9a subs r2, r3, r2 803993a: 4b59 ldr r3, [pc, #356] ; (8039aa0 ) 803993c: fba3 2302 umull r2, r3, r3, r2 8039940: 099b lsrs r3, r3, #6 8039942: b2db uxtb r3, r3 8039944: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 8039948: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803994c: 095a lsrs r2, r3, #5 803994e: 4951 ldr r1, [pc, #324] ; (8039a94 ) 8039950: fba1 1202 umull r1, r2, r1, r2 8039954: 09d2 lsrs r2, r2, #7 8039956: 4950 ldr r1, [pc, #320] ; (8039a98 ) 8039958: fb01 f202 mul.w r2, r1, r2 803995c: 1a9a subs r2, r3, r2 803995e: 4b4f ldr r3, [pc, #316] ; (8039a9c ) 8039960: fba3 1302 umull r1, r3, r3, r2 8039964: 0b5b lsrs r3, r3, #13 8039966: f242 7110 movw r1, #10000 ; 0x2710 803996a: fb01 f303 mul.w r3, r1, r3 803996e: 1ad3 subs r3, r2, r3 8039970: 4a4b ldr r2, [pc, #300] ; (8039aa0 ) 8039972: fba2 1203 umull r1, r2, r2, r3 8039976: 0992 lsrs r2, r2, #6 8039978: f44f 717a mov.w r1, #1000 ; 0x3e8 803997c: fb01 f202 mul.w r2, r1, r2 8039980: 1a9a subs r2, r3, r2 8039982: 4b48 ldr r3, [pc, #288] ; (8039aa4 ) 8039984: fba3 2302 umull r2, r3, r3, r2 8039988: 095b lsrs r3, r3, #5 803998a: b2db uxtb r3, r3 803998c: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 8039990: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8039994: 0953 lsrs r3, r2, #5 8039996: 493f ldr r1, [pc, #252] ; (8039a94 ) 8039998: fba1 1303 umull r1, r3, r1, r3 803999c: 09db lsrs r3, r3, #7 803999e: 493e ldr r1, [pc, #248] ; (8039a98 ) 80399a0: fb01 f303 mul.w r3, r1, r3 80399a4: 1ad3 subs r3, r2, r3 80399a6: 4a3d ldr r2, [pc, #244] ; (8039a9c ) 80399a8: fba2 1203 umull r1, r2, r2, r3 80399ac: 0b52 lsrs r2, r2, #13 80399ae: f242 7110 movw r1, #10000 ; 0x2710 80399b2: fb01 f202 mul.w r2, r1, r2 80399b6: 1a9a subs r2, r3, r2 80399b8: 4b39 ldr r3, [pc, #228] ; (8039aa0 ) 80399ba: fba3 1302 umull r1, r3, r3, r2 80399be: 099b lsrs r3, r3, #6 80399c0: f44f 717a mov.w r1, #1000 ; 0x3e8 80399c4: fb01 f303 mul.w r3, r1, r3 80399c8: 1ad3 subs r3, r2, r3 80399ca: 4a36 ldr r2, [pc, #216] ; (8039aa4 ) 80399cc: fba2 1203 umull r1, r2, r2, r3 80399d0: 0952 lsrs r2, r2, #5 80399d2: 2164 movs r1, #100 ; 0x64 80399d4: fb01 f202 mul.w r2, r1, r2 80399d8: 1a9a subs r2, r3, r2 80399da: 4b33 ldr r3, [pc, #204] ; (8039aa8 ) 80399dc: fba3 2302 umull r2, r3, r3, r2 80399e0: 08db lsrs r3, r3, #3 80399e2: b2db uxtb r3, r3 80399e4: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 80399e8: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80399ec: 0953 lsrs r3, r2, #5 80399ee: 4929 ldr r1, [pc, #164] ; (8039a94 ) 80399f0: fba1 1303 umull r1, r3, r1, r3 80399f4: 09db lsrs r3, r3, #7 80399f6: 4928 ldr r1, [pc, #160] ; (8039a98 ) 80399f8: fb01 f303 mul.w r3, r1, r3 80399fc: 1ad3 subs r3, r2, r3 80399fe: 4a27 ldr r2, [pc, #156] ; (8039a9c ) 8039a00: fba2 1203 umull r1, r2, r2, r3 8039a04: 0b52 lsrs r2, r2, #13 8039a06: f242 7110 movw r1, #10000 ; 0x2710 8039a0a: fb01 f202 mul.w r2, r1, r2 8039a0e: 1a9a subs r2, r3, r2 8039a10: 4b23 ldr r3, [pc, #140] ; (8039aa0 ) 8039a12: fba3 1302 umull r1, r3, r3, r2 8039a16: 099b lsrs r3, r3, #6 8039a18: f44f 717a mov.w r1, #1000 ; 0x3e8 8039a1c: fb01 f303 mul.w r3, r1, r3 8039a20: 1ad3 subs r3, r2, r3 8039a22: 4a20 ldr r2, [pc, #128] ; (8039aa4 ) 8039a24: fba2 1203 umull r1, r2, r2, r3 8039a28: 0952 lsrs r2, r2, #5 8039a2a: 2164 movs r1, #100 ; 0x64 8039a2c: fb01 f202 mul.w r2, r1, r2 8039a30: 1a9a subs r2, r3, r2 8039a32: 4b1d ldr r3, [pc, #116] ; (8039aa8 ) 8039a34: fba3 1302 umull r1, r3, r3, r2 8039a38: 08d9 lsrs r1, r3, #3 8039a3a: 460b mov r3, r1 8039a3c: 009b lsls r3, r3, #2 8039a3e: 440b add r3, r1 8039a40: 005b lsls r3, r3, #1 8039a42: 1ad1 subs r1, r2, r3 8039a44: b2cb uxtb r3, r1 8039a46: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 8039a4a: 4b11 ldr r3, [pc, #68] ; (8039a90 ) 8039a4c: 781b ldrb r3, [r3, #0] 8039a4e: b2db uxtb r3, r3 8039a50: 3b0b subs r3, #11 8039a52: 2b05 cmp r3, #5 8039a54: d84b bhi.n 8039aee 8039a56: a201 add r2, pc, #4 ; (adr r2, 8039a5c ) 8039a58: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8039a5c: 08039a75 .word 0x08039a75 8039a60: 08039aad .word 0x08039aad 8039a64: 08039abd .word 0x08039abd 8039a68: 08039acb .word 0x08039acb 8039a6c: 08039ad7 .word 0x08039ad7 8039a70: 08039ae3 .word 0x08039ae3 k += 100000; 8039a74: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8039a78: 4b07 ldr r3, [pc, #28] ; (8039a98 ) 8039a7a: 4413 add r3, r2 8039a7c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8039a80: e035 b.n 8039aee 8039a82: bf00 nop 8039a84: 080ee890 .word 0x080ee890 8039a88: 20023e60 .word 0x20023e60 8039a8c: 38d1b717 .word 0x38d1b717 8039a90: 20020070 .word 0x20020070 8039a94: 0a7c5ac5 .word 0x0a7c5ac5 8039a98: 000186a0 .word 0x000186a0 8039a9c: d1b71759 .word 0xd1b71759 8039aa0: 10624dd3 .word 0x10624dd3 8039aa4: 51eb851f .word 0x51eb851f 8039aa8: cccccccd .word 0xcccccccd k += 10000; 8039aac: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8039ab0: f242 7310 movw r3, #10000 ; 0x2710 8039ab4: 4413 add r3, r2 8039ab6: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8039aba: e018 b.n 8039aee k += 1000; 8039abc: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8039ac0: f503 737a add.w r3, r3, #1000 ; 0x3e8 8039ac4: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8039ac8: e011 b.n 8039aee k += 100; 8039aca: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8039ace: 3364 adds r3, #100 ; 0x64 8039ad0: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8039ad4: e00b b.n 8039aee k += 10; 8039ad6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8039ada: 330a adds r3, #10 8039adc: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8039ae0: e005 b.n 8039aee k++; 8039ae2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8039ae6: 3301 adds r3, #1 8039ae8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8039aec: bf00 nop if(k > 999999) k = 999999; 8039aee: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8039af2: 4ad1 ldr r2, [pc, #836] ; (8039e38 ) 8039af4: 4293 cmp r3, r2 8039af6: d902 bls.n 8039afe 8039af8: 4bcf ldr r3, [pc, #828] ; (8039e38 ) 8039afa: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 if(k == 0) k = 1; 8039afe: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8039b02: 2b00 cmp r3, #0 8039b04: d102 bne.n 8039b0c 8039b06: 2301 movs r3, #1 8039b08: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.MAX_VAL = (float32_t) k; 8039b0c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8039b10: ee07 3a90 vmov s15, r3 8039b14: eef8 7a67 vcvt.f32.u32 s15, s15 8039b18: 4bc8 ldr r3, [pc, #800] ; (8039e3c ) 8039b1a: edc3 7a06 vstr s15, [r3, #24] pardata.MAX_VAL *= 0.1f; 8039b1e: 4bc7 ldr r3, [pc, #796] ; (8039e3c ) 8039b20: edd3 7a06 vldr s15, [r3, #24] 8039b24: ed9f 7ac6 vldr s14, [pc, #792] ; 8039e40 8039b28: ee67 7a87 vmul.f32 s15, s15, s14 8039b2c: 4bc3 ldr r3, [pc, #780] ; (8039e3c ) 8039b2e: edc3 7a06 vstr s15, [r3, #24] pardata.MAX_VAL += 0.05f; 8039b32: 4bc2 ldr r3, [pc, #776] ; (8039e3c ) 8039b34: edd3 7a06 vldr s15, [r3, #24] 8039b38: ed9f 7ac2 vldr s14, [pc, #776] ; 8039e44 8039b3c: ee77 7a87 vadd.f32 s15, s15, s14 8039b40: 4bbe ldr r3, [pc, #760] ; (8039e3c ) 8039b42: edc3 7a06 vstr s15, [r3, #24] 8039b46: e35b b.n 803a200 if((menupos >= FilterHP_IDT) && (menupos <= FilterHP_IKD)) 8039b48: 4bbf ldr r3, [pc, #764] ; (8039e48 ) 8039b4a: 781b ldrb r3, [r3, #0] 8039b4c: b2db uxtb r3, r3 8039b4e: 2b18 cmp r3, #24 8039b50: f240 81b9 bls.w 8039ec6 8039b54: 4bbc ldr r3, [pc, #752] ; (8039e48 ) 8039b56: 781b ldrb r3, [r3, #0] 8039b58: b2db uxtb r3, r3 8039b5a: 2b1e cmp r3, #30 8039b5c: f200 81b3 bhi.w 8039ec6 k = (uint32_t) (pardata.HP * 10.0f); 8039b60: 4bb6 ldr r3, [pc, #728] ; (8039e3c ) 8039b62: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 8039b66: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 8039b6a: ee67 7a87 vmul.f32 s15, s15, s14 8039b6e: eefc 7ae7 vcvt.u32.f32 s15, s15 8039b72: ee17 3a90 vmov r3, s15 8039b76: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 8039b7a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8039b7e: 095b lsrs r3, r3, #5 8039b80: 4ab2 ldr r2, [pc, #712] ; (8039e4c ) 8039b82: fba2 2303 umull r2, r3, r2, r3 8039b86: 09db lsrs r3, r3, #7 8039b88: b2db uxtb r3, r3 8039b8a: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 8039b8e: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8039b92: 0953 lsrs r3, r2, #5 8039b94: 49ad ldr r1, [pc, #692] ; (8039e4c ) 8039b96: fba1 1303 umull r1, r3, r1, r3 8039b9a: 09db lsrs r3, r3, #7 8039b9c: 49ac ldr r1, [pc, #688] ; (8039e50 ) 8039b9e: fb01 f303 mul.w r3, r1, r3 8039ba2: 1ad3 subs r3, r2, r3 8039ba4: 4aab ldr r2, [pc, #684] ; (8039e54 ) 8039ba6: fba2 2303 umull r2, r3, r2, r3 8039baa: 0b5b lsrs r3, r3, #13 8039bac: b2db uxtb r3, r3 8039bae: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 8039bb2: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8039bb6: 0953 lsrs r3, r2, #5 8039bb8: 49a4 ldr r1, [pc, #656] ; (8039e4c ) 8039bba: fba1 1303 umull r1, r3, r1, r3 8039bbe: 09db lsrs r3, r3, #7 8039bc0: 49a3 ldr r1, [pc, #652] ; (8039e50 ) 8039bc2: fb01 f303 mul.w r3, r1, r3 8039bc6: 1ad3 subs r3, r2, r3 8039bc8: 4aa2 ldr r2, [pc, #648] ; (8039e54 ) 8039bca: fba2 1203 umull r1, r2, r2, r3 8039bce: 0b52 lsrs r2, r2, #13 8039bd0: f242 7110 movw r1, #10000 ; 0x2710 8039bd4: fb01 f202 mul.w r2, r1, r2 8039bd8: 1a9a subs r2, r3, r2 8039bda: 4b9f ldr r3, [pc, #636] ; (8039e58 ) 8039bdc: fba3 2302 umull r2, r3, r3, r2 8039be0: 099b lsrs r3, r3, #6 8039be2: b2db uxtb r3, r3 8039be4: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 8039be8: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8039bec: 095a lsrs r2, r3, #5 8039bee: 4997 ldr r1, [pc, #604] ; (8039e4c ) 8039bf0: fba1 1202 umull r1, r2, r1, r2 8039bf4: 09d2 lsrs r2, r2, #7 8039bf6: 4996 ldr r1, [pc, #600] ; (8039e50 ) 8039bf8: fb01 f202 mul.w r2, r1, r2 8039bfc: 1a9a subs r2, r3, r2 8039bfe: 4b95 ldr r3, [pc, #596] ; (8039e54 ) 8039c00: fba3 1302 umull r1, r3, r3, r2 8039c04: 0b5b lsrs r3, r3, #13 8039c06: f242 7110 movw r1, #10000 ; 0x2710 8039c0a: fb01 f303 mul.w r3, r1, r3 8039c0e: 1ad3 subs r3, r2, r3 8039c10: 4a91 ldr r2, [pc, #580] ; (8039e58 ) 8039c12: fba2 1203 umull r1, r2, r2, r3 8039c16: 0992 lsrs r2, r2, #6 8039c18: f44f 717a mov.w r1, #1000 ; 0x3e8 8039c1c: fb01 f202 mul.w r2, r1, r2 8039c20: 1a9a subs r2, r3, r2 8039c22: 4b8e ldr r3, [pc, #568] ; (8039e5c ) 8039c24: fba3 2302 umull r2, r3, r3, r2 8039c28: 095b lsrs r3, r3, #5 8039c2a: b2db uxtb r3, r3 8039c2c: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 8039c30: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8039c34: 0953 lsrs r3, r2, #5 8039c36: 4985 ldr r1, [pc, #532] ; (8039e4c ) 8039c38: fba1 1303 umull r1, r3, r1, r3 8039c3c: 09db lsrs r3, r3, #7 8039c3e: 4984 ldr r1, [pc, #528] ; (8039e50 ) 8039c40: fb01 f303 mul.w r3, r1, r3 8039c44: 1ad3 subs r3, r2, r3 8039c46: 4a83 ldr r2, [pc, #524] ; (8039e54 ) 8039c48: fba2 1203 umull r1, r2, r2, r3 8039c4c: 0b52 lsrs r2, r2, #13 8039c4e: f242 7110 movw r1, #10000 ; 0x2710 8039c52: fb01 f202 mul.w r2, r1, r2 8039c56: 1a9a subs r2, r3, r2 8039c58: 4b7f ldr r3, [pc, #508] ; (8039e58 ) 8039c5a: fba3 1302 umull r1, r3, r3, r2 8039c5e: 099b lsrs r3, r3, #6 8039c60: f44f 717a mov.w r1, #1000 ; 0x3e8 8039c64: fb01 f303 mul.w r3, r1, r3 8039c68: 1ad3 subs r3, r2, r3 8039c6a: 4a7c ldr r2, [pc, #496] ; (8039e5c ) 8039c6c: fba2 1203 umull r1, r2, r2, r3 8039c70: 0952 lsrs r2, r2, #5 8039c72: 2164 movs r1, #100 ; 0x64 8039c74: fb01 f202 mul.w r2, r1, r2 8039c78: 1a9a subs r2, r3, r2 8039c7a: 4b79 ldr r3, [pc, #484] ; (8039e60 ) 8039c7c: fba3 2302 umull r2, r3, r3, r2 8039c80: 08db lsrs r3, r3, #3 8039c82: b2db uxtb r3, r3 8039c84: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 8039c88: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8039c8c: 0953 lsrs r3, r2, #5 8039c8e: 496f ldr r1, [pc, #444] ; (8039e4c ) 8039c90: fba1 1303 umull r1, r3, r1, r3 8039c94: 09db lsrs r3, r3, #7 8039c96: 496e ldr r1, [pc, #440] ; (8039e50 ) 8039c98: fb01 f303 mul.w r3, r1, r3 8039c9c: 1ad3 subs r3, r2, r3 8039c9e: 4a6d ldr r2, [pc, #436] ; (8039e54 ) 8039ca0: fba2 1203 umull r1, r2, r2, r3 8039ca4: 0b52 lsrs r2, r2, #13 8039ca6: f242 7110 movw r1, #10000 ; 0x2710 8039caa: fb01 f202 mul.w r2, r1, r2 8039cae: 1a9a subs r2, r3, r2 8039cb0: 4b69 ldr r3, [pc, #420] ; (8039e58 ) 8039cb2: fba3 1302 umull r1, r3, r3, r2 8039cb6: 099b lsrs r3, r3, #6 8039cb8: f44f 717a mov.w r1, #1000 ; 0x3e8 8039cbc: fb01 f303 mul.w r3, r1, r3 8039cc0: 1ad3 subs r3, r2, r3 8039cc2: 4a66 ldr r2, [pc, #408] ; (8039e5c ) 8039cc4: fba2 1203 umull r1, r2, r2, r3 8039cc8: 0952 lsrs r2, r2, #5 8039cca: 2164 movs r1, #100 ; 0x64 8039ccc: fb01 f202 mul.w r2, r1, r2 8039cd0: 1a9a subs r2, r3, r2 8039cd2: 4b63 ldr r3, [pc, #396] ; (8039e60 ) 8039cd4: fba3 1302 umull r1, r3, r3, r2 8039cd8: 08d9 lsrs r1, r3, #3 8039cda: 460b mov r3, r1 8039cdc: 009b lsls r3, r3, #2 8039cde: 440b add r3, r1 8039ce0: 005b lsls r3, r3, #1 8039ce2: 1ad1 subs r1, r2, r3 8039ce4: b2cb uxtb r3, r1 8039ce6: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 8039cea: 4b57 ldr r3, [pc, #348] ; (8039e48 ) 8039cec: 781b ldrb r3, [r3, #0] 8039cee: b2db uxtb r3, r3 8039cf0: 3b19 subs r3, #25 8039cf2: 2b05 cmp r3, #5 8039cf4: d836 bhi.n 8039d64 8039cf6: a201 add r2, pc, #4 ; (adr r2, 8039cfc ) 8039cf8: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8039cfc: 08039d15 .word 0x08039d15 8039d00: 08039d23 .word 0x08039d23 8039d04: 08039d33 .word 0x08039d33 8039d08: 08039d41 .word 0x08039d41 8039d0c: 08039d4d .word 0x08039d4d 8039d10: 08039d59 .word 0x08039d59 k += 100000; 8039d14: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8039d18: 4b4d ldr r3, [pc, #308] ; (8039e50 ) 8039d1a: 4413 add r3, r2 8039d1c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8039d20: e020 b.n 8039d64 k += 10000; 8039d22: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8039d26: f242 7310 movw r3, #10000 ; 0x2710 8039d2a: 4413 add r3, r2 8039d2c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8039d30: e018 b.n 8039d64 k += 1000; 8039d32: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8039d36: f503 737a add.w r3, r3, #1000 ; 0x3e8 8039d3a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8039d3e: e011 b.n 8039d64 k += 100; 8039d40: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8039d44: 3364 adds r3, #100 ; 0x64 8039d46: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8039d4a: e00b b.n 8039d64 k += 10; 8039d4c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8039d50: 330a adds r3, #10 8039d52: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8039d56: e005 b.n 8039d64 k++; 8039d58: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8039d5c: 3301 adds r3, #1 8039d5e: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8039d62: bf00 nop fl = (float32_t) k; 8039d64: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8039d68: ee07 3a90 vmov s15, r3 8039d6c: eef8 7a67 vcvt.f32.u32 s15, s15 8039d70: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl *= 0.1f; 8039d74: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8039d78: ed9f 7a31 vldr s14, [pc, #196] ; 8039e40 8039d7c: ee67 7a87 vmul.f32 s15, s15, s14 8039d80: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl += 0.0001f; 8039d84: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8039d88: ed9f 7a36 vldr s14, [pc, #216] ; 8039e64 8039d8c: ee77 7a87 vadd.f32 s15, s15, s14 8039d90: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 if(pardata.IPR == ACC) 8039d94: 4b29 ldr r3, [pc, #164] ; (8039e3c ) 8039d96: 785b ldrb r3, [r3, #1] 8039d98: b2db uxtb r3, r3 8039d9a: 2b00 cmp r3, #0 8039d9c: d13d bne.n 8039e1a if(fl < 0.5f) 8039d9e: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8039da2: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8039da6: eef4 7ac7 vcmpe.f32 s15, s14 8039daa: eef1 fa10 vmrs APSR_nzcv, fpscr 8039dae: d505 bpl.n 8039dbc pardata.HP = 0.5f; 8039db0: 4b22 ldr r3, [pc, #136] ; (8039e3c ) 8039db2: f04f 527c mov.w r2, #1056964608 ; 0x3f000000 8039db6: f8c3 20d4 str.w r2, [r3, #212] ; 0xd4 if(pardata.IPR == ACC) 8039dba: e221 b.n 803a200 if(fl > pardata.LP) 8039dbc: 4b1f ldr r3, [pc, #124] ; (8039e3c ) 8039dbe: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 8039dc2: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8039dc6: eeb4 7ae7 vcmpe.f32 s14, s15 8039dca: eef1 fa10 vmrs APSR_nzcv, fpscr 8039dce: d506 bpl.n 8039dde pardata.HP = pardata.LP; 8039dd0: 4b1a ldr r3, [pc, #104] ; (8039e3c ) 8039dd2: f8d3 30d8 ldr.w r3, [r3, #216] ; 0xd8 8039dd6: 4a19 ldr r2, [pc, #100] ; (8039e3c ) 8039dd8: f8c2 30d4 str.w r3, [r2, #212] ; 0xd4 if(pardata.IPR == ACC) 8039ddc: e210 b.n 803a200 pardata.HP = (float32_t) k; 8039dde: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8039de2: ee07 3a90 vmov s15, r3 8039de6: eef8 7a67 vcvt.f32.u32 s15, s15 8039dea: 4b14 ldr r3, [pc, #80] ; (8039e3c ) 8039dec: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 pardata.HP *= 0.1f; 8039df0: 4b12 ldr r3, [pc, #72] ; (8039e3c ) 8039df2: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 8039df6: ed9f 7a12 vldr s14, [pc, #72] ; 8039e40 8039dfa: ee67 7a87 vmul.f32 s15, s15, s14 8039dfe: 4b0f ldr r3, [pc, #60] ; (8039e3c ) 8039e00: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 pardata.HP += 0.0001f; 8039e04: 4b0d ldr r3, [pc, #52] ; (8039e3c ) 8039e06: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 8039e0a: ed9f 7a16 vldr s14, [pc, #88] ; 8039e64 8039e0e: ee77 7a87 vadd.f32 s15, s15, s14 8039e12: 4b0a ldr r3, [pc, #40] ; (8039e3c ) 8039e14: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 if(pardata.IPR == ACC) 8039e18: e1f2 b.n 803a200 if(fl < 2.0f) 8039e1a: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8039e1e: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 8039e22: eef4 7ac7 vcmpe.f32 s15, s14 8039e26: eef1 fa10 vmrs APSR_nzcv, fpscr 8039e2a: d51d bpl.n 8039e68 pardata.HP = 2.0f; 8039e2c: 4b03 ldr r3, [pc, #12] ; (8039e3c ) 8039e2e: f04f 4280 mov.w r2, #1073741824 ; 0x40000000 8039e32: f8c3 20d4 str.w r2, [r3, #212] ; 0xd4 if(pardata.IPR == ACC) 8039e36: e1e3 b.n 803a200 8039e38: 000f423f .word 0x000f423f 8039e3c: 20023e60 .word 0x20023e60 8039e40: 3dcccccd .word 0x3dcccccd 8039e44: 3d4ccccd .word 0x3d4ccccd 8039e48: 20020070 .word 0x20020070 8039e4c: 0a7c5ac5 .word 0x0a7c5ac5 8039e50: 000186a0 .word 0x000186a0 8039e54: d1b71759 .word 0xd1b71759 8039e58: 10624dd3 .word 0x10624dd3 8039e5c: 51eb851f .word 0x51eb851f 8039e60: cccccccd .word 0xcccccccd 8039e64: 38d1b717 .word 0x38d1b717 if(fl > pardata.LP) 8039e68: 4bc9 ldr r3, [pc, #804] ; (803a190 ) 8039e6a: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 8039e6e: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8039e72: eeb4 7ae7 vcmpe.f32 s14, s15 8039e76: eef1 fa10 vmrs APSR_nzcv, fpscr 8039e7a: d506 bpl.n 8039e8a pardata.HP = pardata.LP; 8039e7c: 4bc4 ldr r3, [pc, #784] ; (803a190 ) 8039e7e: f8d3 30d8 ldr.w r3, [r3, #216] ; 0xd8 8039e82: 4ac3 ldr r2, [pc, #780] ; (803a190 ) 8039e84: f8c2 30d4 str.w r3, [r2, #212] ; 0xd4 if(pardata.IPR == ACC) 8039e88: e1ba b.n 803a200 pardata.HP = (float32_t) k; 8039e8a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8039e8e: ee07 3a90 vmov s15, r3 8039e92: eef8 7a67 vcvt.f32.u32 s15, s15 8039e96: 4bbe ldr r3, [pc, #760] ; (803a190 ) 8039e98: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 pardata.HP *= 0.1f; 8039e9c: 4bbc ldr r3, [pc, #752] ; (803a190 ) 8039e9e: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 8039ea2: ed9f 7abc vldr s14, [pc, #752] ; 803a194 8039ea6: ee67 7a87 vmul.f32 s15, s15, s14 8039eaa: 4bb9 ldr r3, [pc, #740] ; (803a190 ) 8039eac: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 pardata.HP += 0.0001f; 8039eb0: 4bb7 ldr r3, [pc, #732] ; (803a190 ) 8039eb2: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 8039eb6: ed9f 7ab8 vldr s14, [pc, #736] ; 803a198 8039eba: ee77 7a87 vadd.f32 s15, s15, s14 8039ebe: 4bb4 ldr r3, [pc, #720] ; (803a190 ) 8039ec0: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 if(pardata.IPR == ACC) 8039ec4: e19c b.n 803a200 if((menupos >= FilterLP_IDT) && (menupos <= FilterLP_IKD)) 8039ec6: 4bb5 ldr r3, [pc, #724] ; (803a19c ) 8039ec8: 781b ldrb r3, [r3, #0] 8039eca: b2db uxtb r3, r3 8039ecc: 2b1e cmp r3, #30 8039ece: f240 819b bls.w 803a208 8039ed2: 4bb2 ldr r3, [pc, #712] ; (803a19c ) 8039ed4: 781b ldrb r3, [r3, #0] 8039ed6: b2db uxtb r3, r3 8039ed8: 2b24 cmp r3, #36 ; 0x24 8039eda: f200 8195 bhi.w 803a208 k = (uint32_t) (pardata.LP * 10.0f); 8039ede: 4bac ldr r3, [pc, #688] ; (803a190 ) 8039ee0: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 8039ee4: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 8039ee8: ee67 7a87 vmul.f32 s15, s15, s14 8039eec: eefc 7ae7 vcvt.u32.f32 s15, s15 8039ef0: ee17 3a90 vmov r3, s15 8039ef4: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 8039ef8: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8039efc: 095b lsrs r3, r3, #5 8039efe: 4aa8 ldr r2, [pc, #672] ; (803a1a0 ) 8039f00: fba2 2303 umull r2, r3, r2, r3 8039f04: 09db lsrs r3, r3, #7 8039f06: b2db uxtb r3, r3 8039f08: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 8039f0c: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8039f10: 0953 lsrs r3, r2, #5 8039f12: 49a3 ldr r1, [pc, #652] ; (803a1a0 ) 8039f14: fba1 1303 umull r1, r3, r1, r3 8039f18: 09db lsrs r3, r3, #7 8039f1a: 49a2 ldr r1, [pc, #648] ; (803a1a4 ) 8039f1c: fb01 f303 mul.w r3, r1, r3 8039f20: 1ad3 subs r3, r2, r3 8039f22: 4aa1 ldr r2, [pc, #644] ; (803a1a8 ) 8039f24: fba2 2303 umull r2, r3, r2, r3 8039f28: 0b5b lsrs r3, r3, #13 8039f2a: b2db uxtb r3, r3 8039f2c: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 8039f30: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8039f34: 0953 lsrs r3, r2, #5 8039f36: 499a ldr r1, [pc, #616] ; (803a1a0 ) 8039f38: fba1 1303 umull r1, r3, r1, r3 8039f3c: 09db lsrs r3, r3, #7 8039f3e: 4999 ldr r1, [pc, #612] ; (803a1a4 ) 8039f40: fb01 f303 mul.w r3, r1, r3 8039f44: 1ad3 subs r3, r2, r3 8039f46: 4a98 ldr r2, [pc, #608] ; (803a1a8 ) 8039f48: fba2 1203 umull r1, r2, r2, r3 8039f4c: 0b52 lsrs r2, r2, #13 8039f4e: f242 7110 movw r1, #10000 ; 0x2710 8039f52: fb01 f202 mul.w r2, r1, r2 8039f56: 1a9a subs r2, r3, r2 8039f58: 4b94 ldr r3, [pc, #592] ; (803a1ac ) 8039f5a: fba3 2302 umull r2, r3, r3, r2 8039f5e: 099b lsrs r3, r3, #6 8039f60: b2db uxtb r3, r3 8039f62: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 8039f66: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8039f6a: 095a lsrs r2, r3, #5 8039f6c: 498c ldr r1, [pc, #560] ; (803a1a0 ) 8039f6e: fba1 1202 umull r1, r2, r1, r2 8039f72: 09d2 lsrs r2, r2, #7 8039f74: 498b ldr r1, [pc, #556] ; (803a1a4 ) 8039f76: fb01 f202 mul.w r2, r1, r2 8039f7a: 1a9a subs r2, r3, r2 8039f7c: 4b8a ldr r3, [pc, #552] ; (803a1a8 ) 8039f7e: fba3 1302 umull r1, r3, r3, r2 8039f82: 0b5b lsrs r3, r3, #13 8039f84: f242 7110 movw r1, #10000 ; 0x2710 8039f88: fb01 f303 mul.w r3, r1, r3 8039f8c: 1ad3 subs r3, r2, r3 8039f8e: 4a87 ldr r2, [pc, #540] ; (803a1ac ) 8039f90: fba2 1203 umull r1, r2, r2, r3 8039f94: 0992 lsrs r2, r2, #6 8039f96: f44f 717a mov.w r1, #1000 ; 0x3e8 8039f9a: fb01 f202 mul.w r2, r1, r2 8039f9e: 1a9a subs r2, r3, r2 8039fa0: 4b83 ldr r3, [pc, #524] ; (803a1b0 ) 8039fa2: fba3 2302 umull r2, r3, r3, r2 8039fa6: 095b lsrs r3, r3, #5 8039fa8: b2db uxtb r3, r3 8039faa: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 8039fae: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8039fb2: 0953 lsrs r3, r2, #5 8039fb4: 497a ldr r1, [pc, #488] ; (803a1a0 ) 8039fb6: fba1 1303 umull r1, r3, r1, r3 8039fba: 09db lsrs r3, r3, #7 8039fbc: 4979 ldr r1, [pc, #484] ; (803a1a4 ) 8039fbe: fb01 f303 mul.w r3, r1, r3 8039fc2: 1ad3 subs r3, r2, r3 8039fc4: 4a78 ldr r2, [pc, #480] ; (803a1a8 ) 8039fc6: fba2 1203 umull r1, r2, r2, r3 8039fca: 0b52 lsrs r2, r2, #13 8039fcc: f242 7110 movw r1, #10000 ; 0x2710 8039fd0: fb01 f202 mul.w r2, r1, r2 8039fd4: 1a9a subs r2, r3, r2 8039fd6: 4b75 ldr r3, [pc, #468] ; (803a1ac ) 8039fd8: fba3 1302 umull r1, r3, r3, r2 8039fdc: 099b lsrs r3, r3, #6 8039fde: f44f 717a mov.w r1, #1000 ; 0x3e8 8039fe2: fb01 f303 mul.w r3, r1, r3 8039fe6: 1ad3 subs r3, r2, r3 8039fe8: 4a71 ldr r2, [pc, #452] ; (803a1b0 ) 8039fea: fba2 1203 umull r1, r2, r2, r3 8039fee: 0952 lsrs r2, r2, #5 8039ff0: 2164 movs r1, #100 ; 0x64 8039ff2: fb01 f202 mul.w r2, r1, r2 8039ff6: 1a9a subs r2, r3, r2 8039ff8: 4b6e ldr r3, [pc, #440] ; (803a1b4 ) 8039ffa: fba3 2302 umull r2, r3, r3, r2 8039ffe: 08db lsrs r3, r3, #3 803a000: b2db uxtb r3, r3 803a002: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 803a006: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803a00a: 0953 lsrs r3, r2, #5 803a00c: 4964 ldr r1, [pc, #400] ; (803a1a0 ) 803a00e: fba1 1303 umull r1, r3, r1, r3 803a012: 09db lsrs r3, r3, #7 803a014: 4963 ldr r1, [pc, #396] ; (803a1a4 ) 803a016: fb01 f303 mul.w r3, r1, r3 803a01a: 1ad3 subs r3, r2, r3 803a01c: 4a62 ldr r2, [pc, #392] ; (803a1a8 ) 803a01e: fba2 1203 umull r1, r2, r2, r3 803a022: 0b52 lsrs r2, r2, #13 803a024: f242 7110 movw r1, #10000 ; 0x2710 803a028: fb01 f202 mul.w r2, r1, r2 803a02c: 1a9a subs r2, r3, r2 803a02e: 4b5f ldr r3, [pc, #380] ; (803a1ac ) 803a030: fba3 1302 umull r1, r3, r3, r2 803a034: 099b lsrs r3, r3, #6 803a036: f44f 717a mov.w r1, #1000 ; 0x3e8 803a03a: fb01 f303 mul.w r3, r1, r3 803a03e: 1ad3 subs r3, r2, r3 803a040: 4a5b ldr r2, [pc, #364] ; (803a1b0 ) 803a042: fba2 1203 umull r1, r2, r2, r3 803a046: 0952 lsrs r2, r2, #5 803a048: 2164 movs r1, #100 ; 0x64 803a04a: fb01 f202 mul.w r2, r1, r2 803a04e: 1a9a subs r2, r3, r2 803a050: 4b58 ldr r3, [pc, #352] ; (803a1b4 ) 803a052: fba3 1302 umull r1, r3, r3, r2 803a056: 08d9 lsrs r1, r3, #3 803a058: 460b mov r3, r1 803a05a: 009b lsls r3, r3, #2 803a05c: 440b add r3, r1 803a05e: 005b lsls r3, r3, #1 803a060: 1ad1 subs r1, r2, r3 803a062: b2cb uxtb r3, r1 803a064: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 803a068: 4b4c ldr r3, [pc, #304] ; (803a19c ) 803a06a: 781b ldrb r3, [r3, #0] 803a06c: b2db uxtb r3, r3 803a06e: 3b1f subs r3, #31 803a070: 2b05 cmp r3, #5 803a072: d837 bhi.n 803a0e4 803a074: a201 add r2, pc, #4 ; (adr r2, 803a07c ) 803a076: f852 f023 ldr.w pc, [r2, r3, lsl #2] 803a07a: bf00 nop 803a07c: 0803a095 .word 0x0803a095 803a080: 0803a0a3 .word 0x0803a0a3 803a084: 0803a0b3 .word 0x0803a0b3 803a088: 0803a0c1 .word 0x0803a0c1 803a08c: 0803a0cd .word 0x0803a0cd 803a090: 0803a0d9 .word 0x0803a0d9 k += 100000; 803a094: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803a098: 4b42 ldr r3, [pc, #264] ; (803a1a4 ) 803a09a: 4413 add r3, r2 803a09c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803a0a0: e020 b.n 803a0e4 k += 10000; 803a0a2: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803a0a6: f242 7310 movw r3, #10000 ; 0x2710 803a0aa: 4413 add r3, r2 803a0ac: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803a0b0: e018 b.n 803a0e4 k += 1000; 803a0b2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803a0b6: f503 737a add.w r3, r3, #1000 ; 0x3e8 803a0ba: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803a0be: e011 b.n 803a0e4 k += 100; 803a0c0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803a0c4: 3364 adds r3, #100 ; 0x64 803a0c6: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803a0ca: e00b b.n 803a0e4 k += 10; 803a0cc: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803a0d0: 330a adds r3, #10 803a0d2: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803a0d6: e005 b.n 803a0e4 k++; 803a0d8: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803a0dc: 3301 adds r3, #1 803a0de: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803a0e2: bf00 nop fl = (float32_t) k; 803a0e4: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803a0e8: ee07 3a90 vmov s15, r3 803a0ec: eef8 7a67 vcvt.f32.u32 s15, s15 803a0f0: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl *= 0.1f; 803a0f4: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 803a0f8: ed9f 7a26 vldr s14, [pc, #152] ; 803a194 803a0fc: ee67 7a87 vmul.f32 s15, s15, s14 803a100: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl += 0.0001f; 803a104: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 803a108: ed9f 7a23 vldr s14, [pc, #140] ; 803a198 803a10c: ee77 7a87 vadd.f32 s15, s15, s14 803a110: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 if((pardata.OPTIONS & maskFFT) == okt) 803a114: 4b1e ldr r3, [pc, #120] ; (803a190 ) 803a116: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 803a11a: f003 0330 and.w r3, r3, #48 ; 0x30 803a11e: 2b20 cmp r3, #32 803a120: d103 bne.n 803a12a f = 12800.0f; 803a122: 4b25 ldr r3, [pc, #148] ; (803a1b8 ) 803a124: f8c7 30b4 str.w r3, [r7, #180] ; 0xb4 803a128: e002 b.n 803a130 else f = 6400.0f; 803a12a: 4b24 ldr r3, [pc, #144] ; (803a1bc ) 803a12c: f8c7 30b4 str.w r3, [r7, #180] ; 0xb4 if(fl < 10.0f) 803a130: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 803a134: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 803a138: eef4 7ac7 vcmpe.f32 s15, s14 803a13c: eef1 fa10 vmrs APSR_nzcv, fpscr 803a140: d504 bpl.n 803a14c pardata.LP = 10.0f; 803a142: 4b13 ldr r3, [pc, #76] ; (803a190 ) 803a144: 4a1e ldr r2, [pc, #120] ; (803a1c0 ) 803a146: f8c3 20d8 str.w r2, [r3, #216] ; 0xd8 break; 803a14a: e05d b.n 803a208 if(pardata.LP < pardata.HP) 803a14c: 4b10 ldr r3, [pc, #64] ; (803a190 ) 803a14e: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 803a152: 4b0f ldr r3, [pc, #60] ; (803a190 ) 803a154: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 803a158: eeb4 7ae7 vcmpe.f32 s14, s15 803a15c: eef1 fa10 vmrs APSR_nzcv, fpscr 803a160: d506 bpl.n 803a170 pardata.LP = pardata.HP; 803a162: 4b0b ldr r3, [pc, #44] ; (803a190 ) 803a164: f8d3 30d4 ldr.w r3, [r3, #212] ; 0xd4 803a168: 4a09 ldr r2, [pc, #36] ; (803a190 ) 803a16a: f8c2 30d8 str.w r3, [r2, #216] ; 0xd8 break; 803a16e: e04b b.n 803a208 if(fl > f) 803a170: ed97 7a2a vldr s14, [r7, #168] ; 0xa8 803a174: edd7 7a2d vldr s15, [r7, #180] ; 0xb4 803a178: eeb4 7ae7 vcmpe.f32 s14, s15 803a17c: eef1 fa10 vmrs APSR_nzcv, fpscr 803a180: dd20 ble.n 803a1c4 pardata.LP = f; 803a182: 4a03 ldr r2, [pc, #12] ; (803a190 ) 803a184: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 803a188: f8c2 30d8 str.w r3, [r2, #216] ; 0xd8 break; 803a18c: e03c b.n 803a208 803a18e: bf00 nop 803a190: 20023e60 .word 0x20023e60 803a194: 3dcccccd .word 0x3dcccccd 803a198: 38d1b717 .word 0x38d1b717 803a19c: 20020070 .word 0x20020070 803a1a0: 0a7c5ac5 .word 0x0a7c5ac5 803a1a4: 000186a0 .word 0x000186a0 803a1a8: d1b71759 .word 0xd1b71759 803a1ac: 10624dd3 .word 0x10624dd3 803a1b0: 51eb851f .word 0x51eb851f 803a1b4: cccccccd .word 0xcccccccd 803a1b8: 46480000 .word 0x46480000 803a1bc: 45c80000 .word 0x45c80000 803a1c0: 41200000 .word 0x41200000 pardata.LP = (float32_t) k; 803a1c4: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803a1c8: ee07 3a90 vmov s15, r3 803a1cc: eef8 7a67 vcvt.f32.u32 s15, s15 803a1d0: 4bc6 ldr r3, [pc, #792] ; (803a4ec ) 803a1d2: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 pardata.LP *= 0.1f; 803a1d6: 4bc5 ldr r3, [pc, #788] ; (803a4ec ) 803a1d8: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 803a1dc: ed9f 7ac4 vldr s14, [pc, #784] ; 803a4f0 803a1e0: ee67 7a87 vmul.f32 s15, s15, s14 803a1e4: 4bc1 ldr r3, [pc, #772] ; (803a4ec ) 803a1e6: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 pardata.LP += 0.0001f; 803a1ea: 4bc0 ldr r3, [pc, #768] ; (803a4ec ) 803a1ec: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 803a1f0: ed9f 7ac0 vldr s14, [pc, #768] ; 803a4f4 803a1f4: ee77 7a87 vadd.f32 s15, s15, s14 803a1f8: 4bbc ldr r3, [pc, #752] ; (803a4ec ) 803a1fa: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 break; 803a1fe: e003 b.n 803a208 803a200: e002 b.n 803a208 break; 803a202: bf00 nop 803a204: f001 be29 b.w 803be5a break; 803a208: bf00 nop break; 803a20a: f001 be26 b.w 803be5a case PARAM_OSC: focused = false; 803a20e: 4bba ldr r3, [pc, #744] ; (803a4f8 ) 803a210: 2200 movs r2, #0 803a212: 701a strb r2, [r3, #0] if(menupos == Ok) 803a214: 4bb9 ldr r3, [pc, #740] ; (803a4fc ) 803a216: 781b ldrb r3, [r3, #0] 803a218: b2db uxtb r3, r3 803a21a: 2b00 cmp r3, #0 803a21c: d125 bne.n 803a26a { if(pardata.OPTIONS & 0x4) 803a21e: 4bb3 ldr r3, [pc, #716] ; (803a4ec ) 803a220: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 803a224: f003 0304 and.w r3, r3, #4 803a228: 2b00 cmp r3, #0 803a22a: d004 beq.n 803a236 menupos = OscAutoKu; 803a22c: 4bb3 ldr r3, [pc, #716] ; (803a4fc ) 803a22e: 2205 movs r2, #5 803a230: 701a strb r2, [r3, #0] pardata.LP = (float32_t) k; pardata.LP *= 0.1f; pardata.LP += 0.0001f; } } break; 803a232: f001 bdf6 b.w 803be22 if(pardata.IPR > ACC) 803a236: 4bad ldr r3, [pc, #692] ; (803a4ec ) 803a238: 785b ldrb r3, [r3, #1] 803a23a: b2db uxtb r3, r3 803a23c: 2b00 cmp r3, #0 803a23e: d004 beq.n 803a24a menupos = OscMax_ALL; 803a240: 4bae ldr r3, [pc, #696] ; (803a4fc ) 803a242: 2206 movs r2, #6 803a244: 701a strb r2, [r3, #0] break; 803a246: f001 bdec b.w 803be22 if(pardata.THR & 0x80) 803a24a: 4ba8 ldr r3, [pc, #672] ; (803a4ec ) 803a24c: 7bdb ldrb r3, [r3, #15] 803a24e: b2db uxtb r3, r3 803a250: b25b sxtb r3, r3 803a252: 2b00 cmp r3, #0 803a254: da04 bge.n 803a260 menupos = OscThr_ALL; 803a256: 4ba9 ldr r3, [pc, #676] ; (803a4fc ) 803a258: 2208 movs r2, #8 803a25a: 701a strb r2, [r3, #0] break; 803a25c: f001 bde1 b.w 803be22 else menupos = OscThr; 803a260: 4ba6 ldr r3, [pc, #664] ; (803a4fc ) 803a262: 2207 movs r2, #7 803a264: 701a strb r2, [r3, #0] break; 803a266: f001 bddc b.w 803be22 if(menupos == OscThr_ALL) 803a26a: 4ba4 ldr r3, [pc, #656] ; (803a4fc ) 803a26c: 781b ldrb r3, [r3, #0] 803a26e: b2db uxtb r3, r3 803a270: 2b08 cmp r3, #8 803a272: d104 bne.n 803a27e menupos = OscThr; 803a274: 4ba1 ldr r3, [pc, #644] ; (803a4fc ) 803a276: 2207 movs r2, #7 803a278: 701a strb r2, [r3, #0] break; 803a27a: f001 bdd2 b.w 803be22 if(menupos == OscThr) 803a27e: 4b9f ldr r3, [pc, #636] ; (803a4fc ) 803a280: 781b ldrb r3, [r3, #0] 803a282: b2db uxtb r3, r3 803a284: 2b07 cmp r3, #7 803a286: d104 bne.n 803a292 menupos = OscMax_ALL; 803a288: 4b9c ldr r3, [pc, #624] ; (803a4fc ) 803a28a: 2206 movs r2, #6 803a28c: 701a strb r2, [r3, #0] break; 803a28e: f001 bdc8 b.w 803be22 if(menupos == OscMax_ALL) 803a292: 4b9a ldr r3, [pc, #616] ; (803a4fc ) 803a294: 781b ldrb r3, [r3, #0] 803a296: b2db uxtb r3, r3 803a298: 2b06 cmp r3, #6 803a29a: d104 bne.n 803a2a6 menupos = OscAutoKu; 803a29c: 4b97 ldr r3, [pc, #604] ; (803a4fc ) 803a29e: 2205 movs r2, #5 803a2a0: 701a strb r2, [r3, #0] break; 803a2a2: f001 bdbe b.w 803be22 if(menupos == OscAutoKu) 803a2a6: 4b95 ldr r3, [pc, #596] ; (803a4fc ) 803a2a8: 781b ldrb r3, [r3, #0] 803a2aa: b2db uxtb r3, r3 803a2ac: 2b05 cmp r3, #5 803a2ae: d104 bne.n 803a2ba menupos = OscLen; 803a2b0: 4b92 ldr r3, [pc, #584] ; (803a4fc ) 803a2b2: 2204 movs r2, #4 803a2b4: 701a strb r2, [r3, #0] break; 803a2b6: f001 bdb4 b.w 803be22 if(menupos == OscLen) 803a2ba: 4b90 ldr r3, [pc, #576] ; (803a4fc ) 803a2bc: 781b ldrb r3, [r3, #0] 803a2be: b2db uxtb r3, r3 803a2c0: 2b04 cmp r3, #4 803a2c2: d104 bne.n 803a2ce menupos = OscRate; 803a2c4: 4b8d ldr r3, [pc, #564] ; (803a4fc ) 803a2c6: 2203 movs r2, #3 803a2c8: 701a strb r2, [r3, #0] break; 803a2ca: f001 bdaa b.w 803be22 if(menupos == OscRate) 803a2ce: 4b8b ldr r3, [pc, #556] ; (803a4fc ) 803a2d0: 781b ldrb r3, [r3, #0] 803a2d2: b2db uxtb r3, r3 803a2d4: 2b03 cmp r3, #3 803a2d6: d104 bne.n 803a2e2 menupos = FilterLP; 803a2d8: 4b88 ldr r3, [pc, #544] ; (803a4fc ) 803a2da: 2218 movs r2, #24 803a2dc: 701a strb r2, [r3, #0] break; 803a2de: f001 bda0 b.w 803be22 if(menupos == FilterLP) 803a2e2: 4b86 ldr r3, [pc, #536] ; (803a4fc ) 803a2e4: 781b ldrb r3, [r3, #0] 803a2e6: b2db uxtb r3, r3 803a2e8: 2b18 cmp r3, #24 803a2ea: d104 bne.n 803a2f6 menupos = FilterHP; 803a2ec: 4b83 ldr r3, [pc, #524] ; (803a4fc ) 803a2ee: 2217 movs r2, #23 803a2f0: 701a strb r2, [r3, #0] break; 803a2f2: f001 bd96 b.w 803be22 if(menupos == FilterHP) 803a2f6: 4b81 ldr r3, [pc, #516] ; (803a4fc ) 803a2f8: 781b ldrb r3, [r3, #0] 803a2fa: b2db uxtb r3, r3 803a2fc: 2b17 cmp r3, #23 803a2fe: d104 bne.n 803a30a menupos = OscValue; 803a300: 4b7e ldr r3, [pc, #504] ; (803a4fc ) 803a302: 2201 movs r2, #1 803a304: 701a strb r2, [r3, #0] break; 803a306: f001 bd8c b.w 803be22 if(menupos == OscValue) 803a30a: 4b7c ldr r3, [pc, #496] ; (803a4fc ) 803a30c: 781b ldrb r3, [r3, #0] 803a30e: b2db uxtb r3, r3 803a310: 2b01 cmp r3, #1 803a312: d104 bne.n 803a31e menupos = Ok; 803a314: 4b79 ldr r3, [pc, #484] ; (803a4fc ) 803a316: 2200 movs r2, #0 803a318: 701a strb r2, [r3, #0] break; 803a31a: f001 bd82 b.w 803be22 if((menupos >= OscThr_IDT) && (menupos <= OscThr_IKD)) 803a31e: 4b77 ldr r3, [pc, #476] ; (803a4fc ) 803a320: 781b ldrb r3, [r3, #0] 803a322: b2db uxtb r3, r3 803a324: 2b08 cmp r3, #8 803a326: f240 814d bls.w 803a5c4 803a32a: 4b74 ldr r3, [pc, #464] ; (803a4fc ) 803a32c: 781b ldrb r3, [r3, #0] 803a32e: b2db uxtb r3, r3 803a330: 2b0e cmp r3, #14 803a332: f200 8147 bhi.w 803a5c4 k = (uint32_t) (pardata.THR_VAL * 10.0f); 803a336: 4b6d ldr r3, [pc, #436] ; (803a4ec ) 803a338: edd3 7a05 vldr s15, [r3, #20] 803a33c: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 803a340: ee67 7a87 vmul.f32 s15, s15, s14 803a344: eefc 7ae7 vcvt.u32.f32 s15, s15 803a348: ee17 3a90 vmov r3, s15 803a34c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 803a350: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803a354: 095b lsrs r3, r3, #5 803a356: 4a6a ldr r2, [pc, #424] ; (803a500 ) 803a358: fba2 2303 umull r2, r3, r2, r3 803a35c: 09db lsrs r3, r3, #7 803a35e: b2db uxtb r3, r3 803a360: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 803a364: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803a368: 0953 lsrs r3, r2, #5 803a36a: 4965 ldr r1, [pc, #404] ; (803a500 ) 803a36c: fba1 1303 umull r1, r3, r1, r3 803a370: 09db lsrs r3, r3, #7 803a372: 4964 ldr r1, [pc, #400] ; (803a504 ) 803a374: fb01 f303 mul.w r3, r1, r3 803a378: 1ad3 subs r3, r2, r3 803a37a: 4a63 ldr r2, [pc, #396] ; (803a508 ) 803a37c: fba2 2303 umull r2, r3, r2, r3 803a380: 0b5b lsrs r3, r3, #13 803a382: b2db uxtb r3, r3 803a384: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 803a388: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803a38c: 0953 lsrs r3, r2, #5 803a38e: 495c ldr r1, [pc, #368] ; (803a500 ) 803a390: fba1 1303 umull r1, r3, r1, r3 803a394: 09db lsrs r3, r3, #7 803a396: 495b ldr r1, [pc, #364] ; (803a504 ) 803a398: fb01 f303 mul.w r3, r1, r3 803a39c: 1ad3 subs r3, r2, r3 803a39e: 4a5a ldr r2, [pc, #360] ; (803a508 ) 803a3a0: fba2 1203 umull r1, r2, r2, r3 803a3a4: 0b52 lsrs r2, r2, #13 803a3a6: f242 7110 movw r1, #10000 ; 0x2710 803a3aa: fb01 f202 mul.w r2, r1, r2 803a3ae: 1a9a subs r2, r3, r2 803a3b0: 4b56 ldr r3, [pc, #344] ; (803a50c ) 803a3b2: fba3 2302 umull r2, r3, r3, r2 803a3b6: 099b lsrs r3, r3, #6 803a3b8: b2db uxtb r3, r3 803a3ba: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 803a3be: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803a3c2: 095a lsrs r2, r3, #5 803a3c4: 494e ldr r1, [pc, #312] ; (803a500 ) 803a3c6: fba1 1202 umull r1, r2, r1, r2 803a3ca: 09d2 lsrs r2, r2, #7 803a3cc: 494d ldr r1, [pc, #308] ; (803a504 ) 803a3ce: fb01 f202 mul.w r2, r1, r2 803a3d2: 1a9a subs r2, r3, r2 803a3d4: 4b4c ldr r3, [pc, #304] ; (803a508 ) 803a3d6: fba3 1302 umull r1, r3, r3, r2 803a3da: 0b5b lsrs r3, r3, #13 803a3dc: f242 7110 movw r1, #10000 ; 0x2710 803a3e0: fb01 f303 mul.w r3, r1, r3 803a3e4: 1ad3 subs r3, r2, r3 803a3e6: 4a49 ldr r2, [pc, #292] ; (803a50c ) 803a3e8: fba2 1203 umull r1, r2, r2, r3 803a3ec: 0992 lsrs r2, r2, #6 803a3ee: f44f 717a mov.w r1, #1000 ; 0x3e8 803a3f2: fb01 f202 mul.w r2, r1, r2 803a3f6: 1a9a subs r2, r3, r2 803a3f8: 4b45 ldr r3, [pc, #276] ; (803a510 ) 803a3fa: fba3 2302 umull r2, r3, r3, r2 803a3fe: 095b lsrs r3, r3, #5 803a400: b2db uxtb r3, r3 803a402: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 803a406: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803a40a: 0953 lsrs r3, r2, #5 803a40c: 493c ldr r1, [pc, #240] ; (803a500 ) 803a40e: fba1 1303 umull r1, r3, r1, r3 803a412: 09db lsrs r3, r3, #7 803a414: 493b ldr r1, [pc, #236] ; (803a504 ) 803a416: fb01 f303 mul.w r3, r1, r3 803a41a: 1ad3 subs r3, r2, r3 803a41c: 4a3a ldr r2, [pc, #232] ; (803a508 ) 803a41e: fba2 1203 umull r1, r2, r2, r3 803a422: 0b52 lsrs r2, r2, #13 803a424: f242 7110 movw r1, #10000 ; 0x2710 803a428: fb01 f202 mul.w r2, r1, r2 803a42c: 1a9a subs r2, r3, r2 803a42e: 4b37 ldr r3, [pc, #220] ; (803a50c ) 803a430: fba3 1302 umull r1, r3, r3, r2 803a434: 099b lsrs r3, r3, #6 803a436: f44f 717a mov.w r1, #1000 ; 0x3e8 803a43a: fb01 f303 mul.w r3, r1, r3 803a43e: 1ad3 subs r3, r2, r3 803a440: 4a33 ldr r2, [pc, #204] ; (803a510 ) 803a442: fba2 1203 umull r1, r2, r2, r3 803a446: 0952 lsrs r2, r2, #5 803a448: 2164 movs r1, #100 ; 0x64 803a44a: fb01 f202 mul.w r2, r1, r2 803a44e: 1a9a subs r2, r3, r2 803a450: 4b30 ldr r3, [pc, #192] ; (803a514 ) 803a452: fba3 2302 umull r2, r3, r3, r2 803a456: 08db lsrs r3, r3, #3 803a458: b2db uxtb r3, r3 803a45a: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 803a45e: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803a462: 0953 lsrs r3, r2, #5 803a464: 4926 ldr r1, [pc, #152] ; (803a500 ) 803a466: fba1 1303 umull r1, r3, r1, r3 803a46a: 09db lsrs r3, r3, #7 803a46c: 4925 ldr r1, [pc, #148] ; (803a504 ) 803a46e: fb01 f303 mul.w r3, r1, r3 803a472: 1ad3 subs r3, r2, r3 803a474: 4a24 ldr r2, [pc, #144] ; (803a508 ) 803a476: fba2 1203 umull r1, r2, r2, r3 803a47a: 0b52 lsrs r2, r2, #13 803a47c: f242 7110 movw r1, #10000 ; 0x2710 803a480: fb01 f202 mul.w r2, r1, r2 803a484: 1a9a subs r2, r3, r2 803a486: 4b21 ldr r3, [pc, #132] ; (803a50c ) 803a488: fba3 1302 umull r1, r3, r3, r2 803a48c: 099b lsrs r3, r3, #6 803a48e: f44f 717a mov.w r1, #1000 ; 0x3e8 803a492: fb01 f303 mul.w r3, r1, r3 803a496: 1ad3 subs r3, r2, r3 803a498: 4a1d ldr r2, [pc, #116] ; (803a510 ) 803a49a: fba2 1203 umull r1, r2, r2, r3 803a49e: 0952 lsrs r2, r2, #5 803a4a0: 2164 movs r1, #100 ; 0x64 803a4a2: fb01 f202 mul.w r2, r1, r2 803a4a6: 1a9a subs r2, r3, r2 803a4a8: 4b1a ldr r3, [pc, #104] ; (803a514 ) 803a4aa: fba3 1302 umull r1, r3, r3, r2 803a4ae: 08d9 lsrs r1, r3, #3 803a4b0: 460b mov r3, r1 803a4b2: 009b lsls r3, r3, #2 803a4b4: 440b add r3, r1 803a4b6: 005b lsls r3, r3, #1 803a4b8: 1ad1 subs r1, r2, r3 803a4ba: b2cb uxtb r3, r1 803a4bc: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 803a4c0: 4b0e ldr r3, [pc, #56] ; (803a4fc ) 803a4c2: 781b ldrb r3, [r3, #0] 803a4c4: b2db uxtb r3, r3 803a4c6: 3b09 subs r3, #9 803a4c8: 2b05 cmp r3, #5 803a4ca: d84d bhi.n 803a568 803a4cc: a201 add r2, pc, #4 ; (adr r2, 803a4d4 ) 803a4ce: f852 f023 ldr.w pc, [r2, r3, lsl #2] 803a4d2: bf00 nop 803a4d4: 0803a519 .word 0x0803a519 803a4d8: 0803a527 .word 0x0803a527 803a4dc: 0803a537 .word 0x0803a537 803a4e0: 0803a545 .word 0x0803a545 803a4e4: 0803a551 .word 0x0803a551 803a4e8: 0803a55d .word 0x0803a55d 803a4ec: 20023e60 .word 0x20023e60 803a4f0: 3dcccccd .word 0x3dcccccd 803a4f4: 38d1b717 .word 0x38d1b717 803a4f8: 20020f84 .word 0x20020f84 803a4fc: 20020070 .word 0x20020070 803a500: 0a7c5ac5 .word 0x0a7c5ac5 803a504: 000186a0 .word 0x000186a0 803a508: d1b71759 .word 0xd1b71759 803a50c: 10624dd3 .word 0x10624dd3 803a510: 51eb851f .word 0x51eb851f 803a514: cccccccd .word 0xcccccccd k += 100000; 803a518: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803a51c: 4bc7 ldr r3, [pc, #796] ; (803a83c ) 803a51e: 4413 add r3, r2 803a520: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803a524: e020 b.n 803a568 k += 10000; 803a526: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803a52a: f242 7310 movw r3, #10000 ; 0x2710 803a52e: 4413 add r3, r2 803a530: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803a534: e018 b.n 803a568 k += 1000; 803a536: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803a53a: f503 737a add.w r3, r3, #1000 ; 0x3e8 803a53e: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803a542: e011 b.n 803a568 k += 100; 803a544: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803a548: 3364 adds r3, #100 ; 0x64 803a54a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803a54e: e00b b.n 803a568 k += 10; 803a550: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803a554: 330a adds r3, #10 803a556: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803a55a: e005 b.n 803a568 k++; 803a55c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803a560: 3301 adds r3, #1 803a562: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803a566: bf00 nop if(k > 999999) k = 999999; 803a568: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803a56c: 4ab4 ldr r2, [pc, #720] ; (803a840 ) 803a56e: 4293 cmp r3, r2 803a570: d902 bls.n 803a578 803a572: 4bb3 ldr r3, [pc, #716] ; (803a840 ) 803a574: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 if(k == 0) k = 1; 803a578: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803a57c: 2b00 cmp r3, #0 803a57e: d102 bne.n 803a586 803a580: 2301 movs r3, #1 803a582: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.THR_VAL = (float32_t) k; 803a586: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803a58a: ee07 3a90 vmov s15, r3 803a58e: eef8 7a67 vcvt.f32.u32 s15, s15 803a592: 4bac ldr r3, [pc, #688] ; (803a844 ) 803a594: edc3 7a05 vstr s15, [r3, #20] pardata.THR_VAL *= 0.1f; 803a598: 4baa ldr r3, [pc, #680] ; (803a844 ) 803a59a: edd3 7a05 vldr s15, [r3, #20] 803a59e: ed9f 7aaa vldr s14, [pc, #680] ; 803a848 803a5a2: ee67 7a87 vmul.f32 s15, s15, s14 803a5a6: 4ba7 ldr r3, [pc, #668] ; (803a844 ) 803a5a8: edc3 7a05 vstr s15, [r3, #20] pardata.THR_VAL += 0.05f; 803a5ac: 4ba5 ldr r3, [pc, #660] ; (803a844 ) 803a5ae: edd3 7a05 vldr s15, [r3, #20] 803a5b2: ed9f 7aa6 vldr s14, [pc, #664] ; 803a84c 803a5b6: ee77 7a87 vadd.f32 s15, s15, s14 803a5ba: 4ba2 ldr r3, [pc, #648] ; (803a844 ) 803a5bc: edc3 7a05 vstr s15, [r3, #20] 803a5c0: f000 bca7 b.w 803af12 if((menupos >= OscMax_IDT) && (menupos <= OscMax_IKD)) 803a5c4: 4ba2 ldr r3, [pc, #648] ; (803a850 ) 803a5c6: 781b ldrb r3, [r3, #0] 803a5c8: b2db uxtb r3, r3 803a5ca: 2b0e cmp r3, #14 803a5cc: f240 814c bls.w 803a868 803a5d0: 4b9f ldr r3, [pc, #636] ; (803a850 ) 803a5d2: 781b ldrb r3, [r3, #0] 803a5d4: b2db uxtb r3, r3 803a5d6: 2b14 cmp r3, #20 803a5d8: f200 8146 bhi.w 803a868 k = (uint32_t) (pardata.MAX_VAL * 10.0f); 803a5dc: 4b99 ldr r3, [pc, #612] ; (803a844 ) 803a5de: edd3 7a06 vldr s15, [r3, #24] 803a5e2: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 803a5e6: ee67 7a87 vmul.f32 s15, s15, s14 803a5ea: eefc 7ae7 vcvt.u32.f32 s15, s15 803a5ee: ee17 3a90 vmov r3, s15 803a5f2: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 803a5f6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803a5fa: 095b lsrs r3, r3, #5 803a5fc: 4a95 ldr r2, [pc, #596] ; (803a854 ) 803a5fe: fba2 2303 umull r2, r3, r2, r3 803a602: 09db lsrs r3, r3, #7 803a604: b2db uxtb r3, r3 803a606: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 803a60a: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803a60e: 0953 lsrs r3, r2, #5 803a610: 4990 ldr r1, [pc, #576] ; (803a854 ) 803a612: fba1 1303 umull r1, r3, r1, r3 803a616: 09db lsrs r3, r3, #7 803a618: 4988 ldr r1, [pc, #544] ; (803a83c ) 803a61a: fb01 f303 mul.w r3, r1, r3 803a61e: 1ad3 subs r3, r2, r3 803a620: 4a8d ldr r2, [pc, #564] ; (803a858 ) 803a622: fba2 2303 umull r2, r3, r2, r3 803a626: 0b5b lsrs r3, r3, #13 803a628: b2db uxtb r3, r3 803a62a: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 803a62e: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803a632: 0953 lsrs r3, r2, #5 803a634: 4987 ldr r1, [pc, #540] ; (803a854 ) 803a636: fba1 1303 umull r1, r3, r1, r3 803a63a: 09db lsrs r3, r3, #7 803a63c: 497f ldr r1, [pc, #508] ; (803a83c ) 803a63e: fb01 f303 mul.w r3, r1, r3 803a642: 1ad3 subs r3, r2, r3 803a644: 4a84 ldr r2, [pc, #528] ; (803a858 ) 803a646: fba2 1203 umull r1, r2, r2, r3 803a64a: 0b52 lsrs r2, r2, #13 803a64c: f242 7110 movw r1, #10000 ; 0x2710 803a650: fb01 f202 mul.w r2, r1, r2 803a654: 1a9a subs r2, r3, r2 803a656: 4b81 ldr r3, [pc, #516] ; (803a85c ) 803a658: fba3 2302 umull r2, r3, r3, r2 803a65c: 099b lsrs r3, r3, #6 803a65e: b2db uxtb r3, r3 803a660: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 803a664: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803a668: 095a lsrs r2, r3, #5 803a66a: 497a ldr r1, [pc, #488] ; (803a854 ) 803a66c: fba1 1202 umull r1, r2, r1, r2 803a670: 09d2 lsrs r2, r2, #7 803a672: 4972 ldr r1, [pc, #456] ; (803a83c ) 803a674: fb01 f202 mul.w r2, r1, r2 803a678: 1a9a subs r2, r3, r2 803a67a: 4b77 ldr r3, [pc, #476] ; (803a858 ) 803a67c: fba3 1302 umull r1, r3, r3, r2 803a680: 0b5b lsrs r3, r3, #13 803a682: f242 7110 movw r1, #10000 ; 0x2710 803a686: fb01 f303 mul.w r3, r1, r3 803a68a: 1ad3 subs r3, r2, r3 803a68c: 4a73 ldr r2, [pc, #460] ; (803a85c ) 803a68e: fba2 1203 umull r1, r2, r2, r3 803a692: 0992 lsrs r2, r2, #6 803a694: f44f 717a mov.w r1, #1000 ; 0x3e8 803a698: fb01 f202 mul.w r2, r1, r2 803a69c: 1a9a subs r2, r3, r2 803a69e: 4b70 ldr r3, [pc, #448] ; (803a860 ) 803a6a0: fba3 2302 umull r2, r3, r3, r2 803a6a4: 095b lsrs r3, r3, #5 803a6a6: b2db uxtb r3, r3 803a6a8: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 803a6ac: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803a6b0: 0953 lsrs r3, r2, #5 803a6b2: 4968 ldr r1, [pc, #416] ; (803a854 ) 803a6b4: fba1 1303 umull r1, r3, r1, r3 803a6b8: 09db lsrs r3, r3, #7 803a6ba: 4960 ldr r1, [pc, #384] ; (803a83c ) 803a6bc: fb01 f303 mul.w r3, r1, r3 803a6c0: 1ad3 subs r3, r2, r3 803a6c2: 4a65 ldr r2, [pc, #404] ; (803a858 ) 803a6c4: fba2 1203 umull r1, r2, r2, r3 803a6c8: 0b52 lsrs r2, r2, #13 803a6ca: f242 7110 movw r1, #10000 ; 0x2710 803a6ce: fb01 f202 mul.w r2, r1, r2 803a6d2: 1a9a subs r2, r3, r2 803a6d4: 4b61 ldr r3, [pc, #388] ; (803a85c ) 803a6d6: fba3 1302 umull r1, r3, r3, r2 803a6da: 099b lsrs r3, r3, #6 803a6dc: f44f 717a mov.w r1, #1000 ; 0x3e8 803a6e0: fb01 f303 mul.w r3, r1, r3 803a6e4: 1ad3 subs r3, r2, r3 803a6e6: 4a5e ldr r2, [pc, #376] ; (803a860 ) 803a6e8: fba2 1203 umull r1, r2, r2, r3 803a6ec: 0952 lsrs r2, r2, #5 803a6ee: 2164 movs r1, #100 ; 0x64 803a6f0: fb01 f202 mul.w r2, r1, r2 803a6f4: 1a9a subs r2, r3, r2 803a6f6: 4b5b ldr r3, [pc, #364] ; (803a864 ) 803a6f8: fba3 2302 umull r2, r3, r3, r2 803a6fc: 08db lsrs r3, r3, #3 803a6fe: b2db uxtb r3, r3 803a700: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 803a704: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803a708: 0953 lsrs r3, r2, #5 803a70a: 4952 ldr r1, [pc, #328] ; (803a854 ) 803a70c: fba1 1303 umull r1, r3, r1, r3 803a710: 09db lsrs r3, r3, #7 803a712: 494a ldr r1, [pc, #296] ; (803a83c ) 803a714: fb01 f303 mul.w r3, r1, r3 803a718: 1ad3 subs r3, r2, r3 803a71a: 4a4f ldr r2, [pc, #316] ; (803a858 ) 803a71c: fba2 1203 umull r1, r2, r2, r3 803a720: 0b52 lsrs r2, r2, #13 803a722: f242 7110 movw r1, #10000 ; 0x2710 803a726: fb01 f202 mul.w r2, r1, r2 803a72a: 1a9a subs r2, r3, r2 803a72c: 4b4b ldr r3, [pc, #300] ; (803a85c ) 803a72e: fba3 1302 umull r1, r3, r3, r2 803a732: 099b lsrs r3, r3, #6 803a734: f44f 717a mov.w r1, #1000 ; 0x3e8 803a738: fb01 f303 mul.w r3, r1, r3 803a73c: 1ad3 subs r3, r2, r3 803a73e: 4a48 ldr r2, [pc, #288] ; (803a860 ) 803a740: fba2 1203 umull r1, r2, r2, r3 803a744: 0952 lsrs r2, r2, #5 803a746: 2164 movs r1, #100 ; 0x64 803a748: fb01 f202 mul.w r2, r1, r2 803a74c: 1a9a subs r2, r3, r2 803a74e: 4b45 ldr r3, [pc, #276] ; (803a864 ) 803a750: fba3 1302 umull r1, r3, r3, r2 803a754: 08d9 lsrs r1, r3, #3 803a756: 460b mov r3, r1 803a758: 009b lsls r3, r3, #2 803a75a: 440b add r3, r1 803a75c: 005b lsls r3, r3, #1 803a75e: 1ad1 subs r1, r2, r3 803a760: b2cb uxtb r3, r1 803a762: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 803a766: 4b3a ldr r3, [pc, #232] ; (803a850 ) 803a768: 781b ldrb r3, [r3, #0] 803a76a: b2db uxtb r3, r3 803a76c: 3b0f subs r3, #15 803a76e: 2b05 cmp r3, #5 803a770: d836 bhi.n 803a7e0 803a772: a201 add r2, pc, #4 ; (adr r2, 803a778 ) 803a774: f852 f023 ldr.w pc, [r2, r3, lsl #2] 803a778: 0803a791 .word 0x0803a791 803a77c: 0803a79f .word 0x0803a79f 803a780: 0803a7af .word 0x0803a7af 803a784: 0803a7bd .word 0x0803a7bd 803a788: 0803a7c9 .word 0x0803a7c9 803a78c: 0803a7d5 .word 0x0803a7d5 k += 100000; 803a790: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803a794: 4b29 ldr r3, [pc, #164] ; (803a83c ) 803a796: 4413 add r3, r2 803a798: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803a79c: e020 b.n 803a7e0 k += 10000; 803a79e: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803a7a2: f242 7310 movw r3, #10000 ; 0x2710 803a7a6: 4413 add r3, r2 803a7a8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803a7ac: e018 b.n 803a7e0 k += 1000; 803a7ae: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803a7b2: f503 737a add.w r3, r3, #1000 ; 0x3e8 803a7b6: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803a7ba: e011 b.n 803a7e0 k += 100; 803a7bc: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803a7c0: 3364 adds r3, #100 ; 0x64 803a7c2: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803a7c6: e00b b.n 803a7e0 k += 10; 803a7c8: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803a7cc: 330a adds r3, #10 803a7ce: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803a7d2: e005 b.n 803a7e0 k++; 803a7d4: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803a7d8: 3301 adds r3, #1 803a7da: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803a7de: bf00 nop if(k > 999999) k = 999999; 803a7e0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803a7e4: 4a16 ldr r2, [pc, #88] ; (803a840 ) 803a7e6: 4293 cmp r3, r2 803a7e8: d902 bls.n 803a7f0 803a7ea: 4b15 ldr r3, [pc, #84] ; (803a840 ) 803a7ec: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 if(k == 0) k = 1; 803a7f0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803a7f4: 2b00 cmp r3, #0 803a7f6: d102 bne.n 803a7fe 803a7f8: 2301 movs r3, #1 803a7fa: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.MAX_VAL = (float32_t) k; 803a7fe: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803a802: ee07 3a90 vmov s15, r3 803a806: eef8 7a67 vcvt.f32.u32 s15, s15 803a80a: 4b0e ldr r3, [pc, #56] ; (803a844 ) 803a80c: edc3 7a06 vstr s15, [r3, #24] pardata.MAX_VAL *= 0.1f; 803a810: 4b0c ldr r3, [pc, #48] ; (803a844 ) 803a812: edd3 7a06 vldr s15, [r3, #24] 803a816: ed9f 7a0c vldr s14, [pc, #48] ; 803a848 803a81a: ee67 7a87 vmul.f32 s15, s15, s14 803a81e: 4b09 ldr r3, [pc, #36] ; (803a844 ) 803a820: edc3 7a06 vstr s15, [r3, #24] pardata.MAX_VAL += 0.05f; 803a824: 4b07 ldr r3, [pc, #28] ; (803a844 ) 803a826: edd3 7a06 vldr s15, [r3, #24] 803a82a: ed9f 7a08 vldr s14, [pc, #32] ; 803a84c 803a82e: ee77 7a87 vadd.f32 s15, s15, s14 803a832: 4b04 ldr r3, [pc, #16] ; (803a844 ) 803a834: edc3 7a06 vstr s15, [r3, #24] 803a838: e36b b.n 803af12 803a83a: bf00 nop 803a83c: 000186a0 .word 0x000186a0 803a840: 000f423f .word 0x000f423f 803a844: 20023e60 .word 0x20023e60 803a848: 3dcccccd .word 0x3dcccccd 803a84c: 3d4ccccd .word 0x3d4ccccd 803a850: 20020070 .word 0x20020070 803a854: 0a7c5ac5 .word 0x0a7c5ac5 803a858: d1b71759 .word 0xd1b71759 803a85c: 10624dd3 .word 0x10624dd3 803a860: 51eb851f .word 0x51eb851f 803a864: cccccccd .word 0xcccccccd if((menupos >= FilterHP_IDT) && (menupos <= FilterHP_IKD)) 803a868: 4bd3 ldr r3, [pc, #844] ; (803abb8 ) 803a86a: 781b ldrb r3, [r3, #0] 803a86c: b2db uxtb r3, r3 803a86e: 2b18 cmp r3, #24 803a870: f240 81b6 bls.w 803abe0 803a874: 4bd0 ldr r3, [pc, #832] ; (803abb8 ) 803a876: 781b ldrb r3, [r3, #0] 803a878: b2db uxtb r3, r3 803a87a: 2b1e cmp r3, #30 803a87c: f200 81b0 bhi.w 803abe0 k = (uint32_t) (pardata.HP * 10.0f); 803a880: 4bce ldr r3, [pc, #824] ; (803abbc ) 803a882: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 803a886: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 803a88a: ee67 7a87 vmul.f32 s15, s15, s14 803a88e: eefc 7ae7 vcvt.u32.f32 s15, s15 803a892: ee17 3a90 vmov r3, s15 803a896: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 803a89a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803a89e: 095b lsrs r3, r3, #5 803a8a0: 4ac7 ldr r2, [pc, #796] ; (803abc0 ) 803a8a2: fba2 2303 umull r2, r3, r2, r3 803a8a6: 09db lsrs r3, r3, #7 803a8a8: b2db uxtb r3, r3 803a8aa: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 803a8ae: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803a8b2: 0953 lsrs r3, r2, #5 803a8b4: 49c2 ldr r1, [pc, #776] ; (803abc0 ) 803a8b6: fba1 1303 umull r1, r3, r1, r3 803a8ba: 09db lsrs r3, r3, #7 803a8bc: 49c1 ldr r1, [pc, #772] ; (803abc4 ) 803a8be: fb01 f303 mul.w r3, r1, r3 803a8c2: 1ad3 subs r3, r2, r3 803a8c4: 4ac0 ldr r2, [pc, #768] ; (803abc8 ) 803a8c6: fba2 2303 umull r2, r3, r2, r3 803a8ca: 0b5b lsrs r3, r3, #13 803a8cc: b2db uxtb r3, r3 803a8ce: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 803a8d2: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803a8d6: 0953 lsrs r3, r2, #5 803a8d8: 49b9 ldr r1, [pc, #740] ; (803abc0 ) 803a8da: fba1 1303 umull r1, r3, r1, r3 803a8de: 09db lsrs r3, r3, #7 803a8e0: 49b8 ldr r1, [pc, #736] ; (803abc4 ) 803a8e2: fb01 f303 mul.w r3, r1, r3 803a8e6: 1ad3 subs r3, r2, r3 803a8e8: 4ab7 ldr r2, [pc, #732] ; (803abc8 ) 803a8ea: fba2 1203 umull r1, r2, r2, r3 803a8ee: 0b52 lsrs r2, r2, #13 803a8f0: f242 7110 movw r1, #10000 ; 0x2710 803a8f4: fb01 f202 mul.w r2, r1, r2 803a8f8: 1a9a subs r2, r3, r2 803a8fa: 4bb4 ldr r3, [pc, #720] ; (803abcc ) 803a8fc: fba3 2302 umull r2, r3, r3, r2 803a900: 099b lsrs r3, r3, #6 803a902: b2db uxtb r3, r3 803a904: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 803a908: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803a90c: 095a lsrs r2, r3, #5 803a90e: 49ac ldr r1, [pc, #688] ; (803abc0 ) 803a910: fba1 1202 umull r1, r2, r1, r2 803a914: 09d2 lsrs r2, r2, #7 803a916: 49ab ldr r1, [pc, #684] ; (803abc4 ) 803a918: fb01 f202 mul.w r2, r1, r2 803a91c: 1a9a subs r2, r3, r2 803a91e: 4baa ldr r3, [pc, #680] ; (803abc8 ) 803a920: fba3 1302 umull r1, r3, r3, r2 803a924: 0b5b lsrs r3, r3, #13 803a926: f242 7110 movw r1, #10000 ; 0x2710 803a92a: fb01 f303 mul.w r3, r1, r3 803a92e: 1ad3 subs r3, r2, r3 803a930: 4aa6 ldr r2, [pc, #664] ; (803abcc ) 803a932: fba2 1203 umull r1, r2, r2, r3 803a936: 0992 lsrs r2, r2, #6 803a938: f44f 717a mov.w r1, #1000 ; 0x3e8 803a93c: fb01 f202 mul.w r2, r1, r2 803a940: 1a9a subs r2, r3, r2 803a942: 4ba3 ldr r3, [pc, #652] ; (803abd0 ) 803a944: fba3 2302 umull r2, r3, r3, r2 803a948: 095b lsrs r3, r3, #5 803a94a: b2db uxtb r3, r3 803a94c: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 803a950: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803a954: 0953 lsrs r3, r2, #5 803a956: 499a ldr r1, [pc, #616] ; (803abc0 ) 803a958: fba1 1303 umull r1, r3, r1, r3 803a95c: 09db lsrs r3, r3, #7 803a95e: 4999 ldr r1, [pc, #612] ; (803abc4 ) 803a960: fb01 f303 mul.w r3, r1, r3 803a964: 1ad3 subs r3, r2, r3 803a966: 4a98 ldr r2, [pc, #608] ; (803abc8 ) 803a968: fba2 1203 umull r1, r2, r2, r3 803a96c: 0b52 lsrs r2, r2, #13 803a96e: f242 7110 movw r1, #10000 ; 0x2710 803a972: fb01 f202 mul.w r2, r1, r2 803a976: 1a9a subs r2, r3, r2 803a978: 4b94 ldr r3, [pc, #592] ; (803abcc ) 803a97a: fba3 1302 umull r1, r3, r3, r2 803a97e: 099b lsrs r3, r3, #6 803a980: f44f 717a mov.w r1, #1000 ; 0x3e8 803a984: fb01 f303 mul.w r3, r1, r3 803a988: 1ad3 subs r3, r2, r3 803a98a: 4a91 ldr r2, [pc, #580] ; (803abd0 ) 803a98c: fba2 1203 umull r1, r2, r2, r3 803a990: 0952 lsrs r2, r2, #5 803a992: 2164 movs r1, #100 ; 0x64 803a994: fb01 f202 mul.w r2, r1, r2 803a998: 1a9a subs r2, r3, r2 803a99a: 4b8e ldr r3, [pc, #568] ; (803abd4 ) 803a99c: fba3 2302 umull r2, r3, r3, r2 803a9a0: 08db lsrs r3, r3, #3 803a9a2: b2db uxtb r3, r3 803a9a4: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 803a9a8: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803a9ac: 0953 lsrs r3, r2, #5 803a9ae: 4984 ldr r1, [pc, #528] ; (803abc0 ) 803a9b0: fba1 1303 umull r1, r3, r1, r3 803a9b4: 09db lsrs r3, r3, #7 803a9b6: 4983 ldr r1, [pc, #524] ; (803abc4 ) 803a9b8: fb01 f303 mul.w r3, r1, r3 803a9bc: 1ad3 subs r3, r2, r3 803a9be: 4a82 ldr r2, [pc, #520] ; (803abc8 ) 803a9c0: fba2 1203 umull r1, r2, r2, r3 803a9c4: 0b52 lsrs r2, r2, #13 803a9c6: f242 7110 movw r1, #10000 ; 0x2710 803a9ca: fb01 f202 mul.w r2, r1, r2 803a9ce: 1a9a subs r2, r3, r2 803a9d0: 4b7e ldr r3, [pc, #504] ; (803abcc ) 803a9d2: fba3 1302 umull r1, r3, r3, r2 803a9d6: 099b lsrs r3, r3, #6 803a9d8: f44f 717a mov.w r1, #1000 ; 0x3e8 803a9dc: fb01 f303 mul.w r3, r1, r3 803a9e0: 1ad3 subs r3, r2, r3 803a9e2: 4a7b ldr r2, [pc, #492] ; (803abd0 ) 803a9e4: fba2 1203 umull r1, r2, r2, r3 803a9e8: 0952 lsrs r2, r2, #5 803a9ea: 2164 movs r1, #100 ; 0x64 803a9ec: fb01 f202 mul.w r2, r1, r2 803a9f0: 1a9a subs r2, r3, r2 803a9f2: 4b78 ldr r3, [pc, #480] ; (803abd4 ) 803a9f4: fba3 1302 umull r1, r3, r3, r2 803a9f8: 08d9 lsrs r1, r3, #3 803a9fa: 460b mov r3, r1 803a9fc: 009b lsls r3, r3, #2 803a9fe: 440b add r3, r1 803aa00: 005b lsls r3, r3, #1 803aa02: 1ad1 subs r1, r2, r3 803aa04: b2cb uxtb r3, r1 803aa06: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 803aa0a: 4b6b ldr r3, [pc, #428] ; (803abb8 ) 803aa0c: 781b ldrb r3, [r3, #0] 803aa0e: b2db uxtb r3, r3 803aa10: 3b19 subs r3, #25 803aa12: 2b05 cmp r3, #5 803aa14: d836 bhi.n 803aa84 803aa16: a201 add r2, pc, #4 ; (adr r2, 803aa1c ) 803aa18: f852 f023 ldr.w pc, [r2, r3, lsl #2] 803aa1c: 0803aa35 .word 0x0803aa35 803aa20: 0803aa43 .word 0x0803aa43 803aa24: 0803aa53 .word 0x0803aa53 803aa28: 0803aa61 .word 0x0803aa61 803aa2c: 0803aa6d .word 0x0803aa6d 803aa30: 0803aa79 .word 0x0803aa79 k += 100000; 803aa34: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803aa38: 4b62 ldr r3, [pc, #392] ; (803abc4 ) 803aa3a: 4413 add r3, r2 803aa3c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803aa40: e020 b.n 803aa84 k += 10000; 803aa42: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803aa46: f242 7310 movw r3, #10000 ; 0x2710 803aa4a: 4413 add r3, r2 803aa4c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803aa50: e018 b.n 803aa84 k += 1000; 803aa52: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803aa56: f503 737a add.w r3, r3, #1000 ; 0x3e8 803aa5a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803aa5e: e011 b.n 803aa84 k += 100; 803aa60: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803aa64: 3364 adds r3, #100 ; 0x64 803aa66: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803aa6a: e00b b.n 803aa84 k += 10; 803aa6c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803aa70: 330a adds r3, #10 803aa72: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803aa76: e005 b.n 803aa84 k++; 803aa78: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803aa7c: 3301 adds r3, #1 803aa7e: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803aa82: bf00 nop fl = (float32_t) k; 803aa84: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803aa88: ee07 3a90 vmov s15, r3 803aa8c: eef8 7a67 vcvt.f32.u32 s15, s15 803aa90: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl *= 0.1f; 803aa94: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 803aa98: ed9f 7a4f vldr s14, [pc, #316] ; 803abd8 803aa9c: ee67 7a87 vmul.f32 s15, s15, s14 803aaa0: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl += 0.0001f; 803aaa4: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 803aaa8: ed9f 7a4c vldr s14, [pc, #304] ; 803abdc 803aaac: ee77 7a87 vadd.f32 s15, s15, s14 803aab0: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 if(pardata.IPR == ACC) 803aab4: 4b41 ldr r3, [pc, #260] ; (803abbc ) 803aab6: 785b ldrb r3, [r3, #1] 803aab8: b2db uxtb r3, r3 803aaba: 2b00 cmp r3, #0 803aabc: d13d bne.n 803ab3a if(fl < 0.5f) 803aabe: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 803aac2: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 803aac6: eef4 7ac7 vcmpe.f32 s15, s14 803aaca: eef1 fa10 vmrs APSR_nzcv, fpscr 803aace: d505 bpl.n 803aadc pardata.HP = 0.5f; 803aad0: 4b3a ldr r3, [pc, #232] ; (803abbc ) 803aad2: f04f 527c mov.w r2, #1056964608 ; 0x3f000000 803aad6: f8c3 20d4 str.w r2, [r3, #212] ; 0xd4 if(pardata.IPR == ACC) 803aada: e21a b.n 803af12 if(fl > pardata.LP) 803aadc: 4b37 ldr r3, [pc, #220] ; (803abbc ) 803aade: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 803aae2: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 803aae6: eeb4 7ae7 vcmpe.f32 s14, s15 803aaea: eef1 fa10 vmrs APSR_nzcv, fpscr 803aaee: d506 bpl.n 803aafe pardata.HP = pardata.LP; 803aaf0: 4b32 ldr r3, [pc, #200] ; (803abbc ) 803aaf2: f8d3 30d8 ldr.w r3, [r3, #216] ; 0xd8 803aaf6: 4a31 ldr r2, [pc, #196] ; (803abbc ) 803aaf8: f8c2 30d4 str.w r3, [r2, #212] ; 0xd4 if(pardata.IPR == ACC) 803aafc: e209 b.n 803af12 pardata.HP = (float32_t) k; 803aafe: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803ab02: ee07 3a90 vmov s15, r3 803ab06: eef8 7a67 vcvt.f32.u32 s15, s15 803ab0a: 4b2c ldr r3, [pc, #176] ; (803abbc ) 803ab0c: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 pardata.HP *= 0.1f; 803ab10: 4b2a ldr r3, [pc, #168] ; (803abbc ) 803ab12: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 803ab16: ed9f 7a30 vldr s14, [pc, #192] ; 803abd8 803ab1a: ee67 7a87 vmul.f32 s15, s15, s14 803ab1e: 4b27 ldr r3, [pc, #156] ; (803abbc ) 803ab20: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 pardata.HP += 0.0001f; 803ab24: 4b25 ldr r3, [pc, #148] ; (803abbc ) 803ab26: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 803ab2a: ed9f 7a2c vldr s14, [pc, #176] ; 803abdc 803ab2e: ee77 7a87 vadd.f32 s15, s15, s14 803ab32: 4b22 ldr r3, [pc, #136] ; (803abbc ) 803ab34: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 if(pardata.IPR == ACC) 803ab38: e1eb b.n 803af12 if(fl < 2.0f) 803ab3a: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 803ab3e: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 803ab42: eef4 7ac7 vcmpe.f32 s15, s14 803ab46: eef1 fa10 vmrs APSR_nzcv, fpscr 803ab4a: d505 bpl.n 803ab58 pardata.HP = 2.0f; 803ab4c: 4b1b ldr r3, [pc, #108] ; (803abbc ) 803ab4e: f04f 4280 mov.w r2, #1073741824 ; 0x40000000 803ab52: f8c3 20d4 str.w r2, [r3, #212] ; 0xd4 if(pardata.IPR == ACC) 803ab56: e1dc b.n 803af12 if(fl > pardata.LP) 803ab58: 4b18 ldr r3, [pc, #96] ; (803abbc ) 803ab5a: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 803ab5e: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 803ab62: eeb4 7ae7 vcmpe.f32 s14, s15 803ab66: eef1 fa10 vmrs APSR_nzcv, fpscr 803ab6a: d506 bpl.n 803ab7a pardata.HP = pardata.LP; 803ab6c: 4b13 ldr r3, [pc, #76] ; (803abbc ) 803ab6e: f8d3 30d8 ldr.w r3, [r3, #216] ; 0xd8 803ab72: 4a12 ldr r2, [pc, #72] ; (803abbc ) 803ab74: f8c2 30d4 str.w r3, [r2, #212] ; 0xd4 if(pardata.IPR == ACC) 803ab78: e1cb b.n 803af12 pardata.HP = (float32_t) k; 803ab7a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803ab7e: ee07 3a90 vmov s15, r3 803ab82: eef8 7a67 vcvt.f32.u32 s15, s15 803ab86: 4b0d ldr r3, [pc, #52] ; (803abbc ) 803ab88: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 pardata.HP *= 0.1f; 803ab8c: 4b0b ldr r3, [pc, #44] ; (803abbc ) 803ab8e: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 803ab92: ed9f 7a11 vldr s14, [pc, #68] ; 803abd8 803ab96: ee67 7a87 vmul.f32 s15, s15, s14 803ab9a: 4b08 ldr r3, [pc, #32] ; (803abbc ) 803ab9c: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 pardata.HP += 0.0001f; 803aba0: 4b06 ldr r3, [pc, #24] ; (803abbc ) 803aba2: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 803aba6: ed9f 7a0d vldr s14, [pc, #52] ; 803abdc 803abaa: ee77 7a87 vadd.f32 s15, s15, s14 803abae: 4b03 ldr r3, [pc, #12] ; (803abbc ) 803abb0: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 if(pardata.IPR == ACC) 803abb4: e1ad b.n 803af12 803abb6: bf00 nop 803abb8: 20020070 .word 0x20020070 803abbc: 20023e60 .word 0x20023e60 803abc0: 0a7c5ac5 .word 0x0a7c5ac5 803abc4: 000186a0 .word 0x000186a0 803abc8: d1b71759 .word 0xd1b71759 803abcc: 10624dd3 .word 0x10624dd3 803abd0: 51eb851f .word 0x51eb851f 803abd4: cccccccd .word 0xcccccccd 803abd8: 3dcccccd .word 0x3dcccccd 803abdc: 38d1b717 .word 0x38d1b717 if((menupos >= FilterLP_IDT) && (menupos <= FilterLP_IKD)) 803abe0: 4bcd ldr r3, [pc, #820] ; (803af18 ) 803abe2: 781b ldrb r3, [r3, #0] 803abe4: b2db uxtb r3, r3 803abe6: 2b1e cmp r3, #30 803abe8: f241 811b bls.w 803be22 803abec: 4bca ldr r3, [pc, #808] ; (803af18 ) 803abee: 781b ldrb r3, [r3, #0] 803abf0: b2db uxtb r3, r3 803abf2: 2b24 cmp r3, #36 ; 0x24 803abf4: f201 8115 bhi.w 803be22 k = (uint32_t) (pardata.LP * 10.0f); 803abf8: 4bc8 ldr r3, [pc, #800] ; (803af1c ) 803abfa: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 803abfe: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 803ac02: ee67 7a87 vmul.f32 s15, s15, s14 803ac06: eefc 7ae7 vcvt.u32.f32 s15, s15 803ac0a: ee17 3a90 vmov r3, s15 803ac0e: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 803ac12: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803ac16: 095b lsrs r3, r3, #5 803ac18: 4ac1 ldr r2, [pc, #772] ; (803af20 ) 803ac1a: fba2 2303 umull r2, r3, r2, r3 803ac1e: 09db lsrs r3, r3, #7 803ac20: b2db uxtb r3, r3 803ac22: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 803ac26: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803ac2a: 0953 lsrs r3, r2, #5 803ac2c: 49bc ldr r1, [pc, #752] ; (803af20 ) 803ac2e: fba1 1303 umull r1, r3, r1, r3 803ac32: 09db lsrs r3, r3, #7 803ac34: 49bb ldr r1, [pc, #748] ; (803af24 ) 803ac36: fb01 f303 mul.w r3, r1, r3 803ac3a: 1ad3 subs r3, r2, r3 803ac3c: 4aba ldr r2, [pc, #744] ; (803af28 ) 803ac3e: fba2 2303 umull r2, r3, r2, r3 803ac42: 0b5b lsrs r3, r3, #13 803ac44: b2db uxtb r3, r3 803ac46: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 803ac4a: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803ac4e: 0953 lsrs r3, r2, #5 803ac50: 49b3 ldr r1, [pc, #716] ; (803af20 ) 803ac52: fba1 1303 umull r1, r3, r1, r3 803ac56: 09db lsrs r3, r3, #7 803ac58: 49b2 ldr r1, [pc, #712] ; (803af24 ) 803ac5a: fb01 f303 mul.w r3, r1, r3 803ac5e: 1ad3 subs r3, r2, r3 803ac60: 4ab1 ldr r2, [pc, #708] ; (803af28 ) 803ac62: fba2 1203 umull r1, r2, r2, r3 803ac66: 0b52 lsrs r2, r2, #13 803ac68: f242 7110 movw r1, #10000 ; 0x2710 803ac6c: fb01 f202 mul.w r2, r1, r2 803ac70: 1a9a subs r2, r3, r2 803ac72: 4bae ldr r3, [pc, #696] ; (803af2c ) 803ac74: fba3 2302 umull r2, r3, r3, r2 803ac78: 099b lsrs r3, r3, #6 803ac7a: b2db uxtb r3, r3 803ac7c: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 803ac80: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803ac84: 095a lsrs r2, r3, #5 803ac86: 49a6 ldr r1, [pc, #664] ; (803af20 ) 803ac88: fba1 1202 umull r1, r2, r1, r2 803ac8c: 09d2 lsrs r2, r2, #7 803ac8e: 49a5 ldr r1, [pc, #660] ; (803af24 ) 803ac90: fb01 f202 mul.w r2, r1, r2 803ac94: 1a9a subs r2, r3, r2 803ac96: 4ba4 ldr r3, [pc, #656] ; (803af28 ) 803ac98: fba3 1302 umull r1, r3, r3, r2 803ac9c: 0b5b lsrs r3, r3, #13 803ac9e: f242 7110 movw r1, #10000 ; 0x2710 803aca2: fb01 f303 mul.w r3, r1, r3 803aca6: 1ad3 subs r3, r2, r3 803aca8: 4aa0 ldr r2, [pc, #640] ; (803af2c ) 803acaa: fba2 1203 umull r1, r2, r2, r3 803acae: 0992 lsrs r2, r2, #6 803acb0: f44f 717a mov.w r1, #1000 ; 0x3e8 803acb4: fb01 f202 mul.w r2, r1, r2 803acb8: 1a9a subs r2, r3, r2 803acba: 4b9d ldr r3, [pc, #628] ; (803af30 ) 803acbc: fba3 2302 umull r2, r3, r3, r2 803acc0: 095b lsrs r3, r3, #5 803acc2: b2db uxtb r3, r3 803acc4: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 803acc8: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803accc: 0953 lsrs r3, r2, #5 803acce: 4994 ldr r1, [pc, #592] ; (803af20 ) 803acd0: fba1 1303 umull r1, r3, r1, r3 803acd4: 09db lsrs r3, r3, #7 803acd6: 4993 ldr r1, [pc, #588] ; (803af24 ) 803acd8: fb01 f303 mul.w r3, r1, r3 803acdc: 1ad3 subs r3, r2, r3 803acde: 4a92 ldr r2, [pc, #584] ; (803af28 ) 803ace0: fba2 1203 umull r1, r2, r2, r3 803ace4: 0b52 lsrs r2, r2, #13 803ace6: f242 7110 movw r1, #10000 ; 0x2710 803acea: fb01 f202 mul.w r2, r1, r2 803acee: 1a9a subs r2, r3, r2 803acf0: 4b8e ldr r3, [pc, #568] ; (803af2c ) 803acf2: fba3 1302 umull r1, r3, r3, r2 803acf6: 099b lsrs r3, r3, #6 803acf8: f44f 717a mov.w r1, #1000 ; 0x3e8 803acfc: fb01 f303 mul.w r3, r1, r3 803ad00: 1ad3 subs r3, r2, r3 803ad02: 4a8b ldr r2, [pc, #556] ; (803af30 ) 803ad04: fba2 1203 umull r1, r2, r2, r3 803ad08: 0952 lsrs r2, r2, #5 803ad0a: 2164 movs r1, #100 ; 0x64 803ad0c: fb01 f202 mul.w r2, r1, r2 803ad10: 1a9a subs r2, r3, r2 803ad12: 4b88 ldr r3, [pc, #544] ; (803af34 ) 803ad14: fba3 2302 umull r2, r3, r3, r2 803ad18: 08db lsrs r3, r3, #3 803ad1a: b2db uxtb r3, r3 803ad1c: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 803ad20: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803ad24: 0953 lsrs r3, r2, #5 803ad26: 497e ldr r1, [pc, #504] ; (803af20 ) 803ad28: fba1 1303 umull r1, r3, r1, r3 803ad2c: 09db lsrs r3, r3, #7 803ad2e: 497d ldr r1, [pc, #500] ; (803af24 ) 803ad30: fb01 f303 mul.w r3, r1, r3 803ad34: 1ad3 subs r3, r2, r3 803ad36: 4a7c ldr r2, [pc, #496] ; (803af28 ) 803ad38: fba2 1203 umull r1, r2, r2, r3 803ad3c: 0b52 lsrs r2, r2, #13 803ad3e: f242 7110 movw r1, #10000 ; 0x2710 803ad42: fb01 f202 mul.w r2, r1, r2 803ad46: 1a9a subs r2, r3, r2 803ad48: 4b78 ldr r3, [pc, #480] ; (803af2c ) 803ad4a: fba3 1302 umull r1, r3, r3, r2 803ad4e: 099b lsrs r3, r3, #6 803ad50: f44f 717a mov.w r1, #1000 ; 0x3e8 803ad54: fb01 f303 mul.w r3, r1, r3 803ad58: 1ad3 subs r3, r2, r3 803ad5a: 4a75 ldr r2, [pc, #468] ; (803af30 ) 803ad5c: fba2 1203 umull r1, r2, r2, r3 803ad60: 0952 lsrs r2, r2, #5 803ad62: 2164 movs r1, #100 ; 0x64 803ad64: fb01 f202 mul.w r2, r1, r2 803ad68: 1a9a subs r2, r3, r2 803ad6a: 4b72 ldr r3, [pc, #456] ; (803af34 ) 803ad6c: fba3 1302 umull r1, r3, r3, r2 803ad70: 08d9 lsrs r1, r3, #3 803ad72: 460b mov r3, r1 803ad74: 009b lsls r3, r3, #2 803ad76: 440b add r3, r1 803ad78: 005b lsls r3, r3, #1 803ad7a: 1ad1 subs r1, r2, r3 803ad7c: b2cb uxtb r3, r1 803ad7e: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 803ad82: 4b65 ldr r3, [pc, #404] ; (803af18 ) 803ad84: 781b ldrb r3, [r3, #0] 803ad86: b2db uxtb r3, r3 803ad88: 3b1f subs r3, #31 803ad8a: 2b05 cmp r3, #5 803ad8c: d836 bhi.n 803adfc 803ad8e: a201 add r2, pc, #4 ; (adr r2, 803ad94 ) 803ad90: f852 f023 ldr.w pc, [r2, r3, lsl #2] 803ad94: 0803adad .word 0x0803adad 803ad98: 0803adbb .word 0x0803adbb 803ad9c: 0803adcb .word 0x0803adcb 803ada0: 0803add9 .word 0x0803add9 803ada4: 0803ade5 .word 0x0803ade5 803ada8: 0803adf1 .word 0x0803adf1 k += 100000; 803adac: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803adb0: 4b5c ldr r3, [pc, #368] ; (803af24 ) 803adb2: 4413 add r3, r2 803adb4: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803adb8: e020 b.n 803adfc k += 10000; 803adba: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803adbe: f242 7310 movw r3, #10000 ; 0x2710 803adc2: 4413 add r3, r2 803adc4: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803adc8: e018 b.n 803adfc k += 1000; 803adca: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803adce: f503 737a add.w r3, r3, #1000 ; 0x3e8 803add2: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803add6: e011 b.n 803adfc k += 100; 803add8: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803addc: 3364 adds r3, #100 ; 0x64 803adde: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803ade2: e00b b.n 803adfc k += 10; 803ade4: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803ade8: 330a adds r3, #10 803adea: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803adee: e005 b.n 803adfc k++; 803adf0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803adf4: 3301 adds r3, #1 803adf6: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803adfa: bf00 nop fl = (float32_t) k; 803adfc: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803ae00: ee07 3a90 vmov s15, r3 803ae04: eef8 7a67 vcvt.f32.u32 s15, s15 803ae08: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl *= 0.1f; 803ae0c: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 803ae10: ed9f 7a49 vldr s14, [pc, #292] ; 803af38 803ae14: ee67 7a87 vmul.f32 s15, s15, s14 803ae18: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl += 0.0001f; 803ae1c: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 803ae20: ed9f 7a46 vldr s14, [pc, #280] ; 803af3c 803ae24: ee77 7a87 vadd.f32 s15, s15, s14 803ae28: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 if(fl < 10.0f) 803ae2c: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 803ae30: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 803ae34: eef4 7ac7 vcmpe.f32 s15, s14 803ae38: eef1 fa10 vmrs APSR_nzcv, fpscr 803ae3c: d505 bpl.n 803ae4a pardata.LP = 10.0f; 803ae3e: 4b37 ldr r3, [pc, #220] ; (803af1c ) 803ae40: 4a3f ldr r2, [pc, #252] ; (803af40 ) 803ae42: f8c3 20d8 str.w r2, [r3, #216] ; 0xd8 break; 803ae46: f000 bfec b.w 803be22 if(pardata.LP < pardata.HP) 803ae4a: 4b34 ldr r3, [pc, #208] ; (803af1c ) 803ae4c: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 803ae50: 4b32 ldr r3, [pc, #200] ; (803af1c ) 803ae52: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 803ae56: eeb4 7ae7 vcmpe.f32 s14, s15 803ae5a: eef1 fa10 vmrs APSR_nzcv, fpscr 803ae5e: d507 bpl.n 803ae70 pardata.LP = pardata.HP; 803ae60: 4b2e ldr r3, [pc, #184] ; (803af1c ) 803ae62: f8d3 30d4 ldr.w r3, [r3, #212] ; 0xd4 803ae66: 4a2d ldr r2, [pc, #180] ; (803af1c ) 803ae68: f8c2 30d8 str.w r3, [r2, #216] ; 0xd8 break; 803ae6c: f000 bfd9 b.w 803be22 if(fl > (((float32_t) FS[pardata.FRQ] / 5.0f) + 0.00005f)) 803ae70: 4b2a ldr r3, [pc, #168] ; (803af1c ) 803ae72: 7adb ldrb r3, [r3, #11] 803ae74: b2db uxtb r3, r3 803ae76: 461a mov r2, r3 803ae78: 4b32 ldr r3, [pc, #200] ; (803af44 ) 803ae7a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 803ae7e: ee07 3a90 vmov s15, r3 803ae82: eeb8 7a67 vcvt.f32.u32 s14, s15 803ae86: eef1 6a04 vmov.f32 s13, #20 ; 0x40a00000 5.0 803ae8a: eec7 7a26 vdiv.f32 s15, s14, s13 803ae8e: ed9f 7a2e vldr s14, [pc, #184] ; 803af48 803ae92: ee37 7a87 vadd.f32 s14, s15, s14 803ae96: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 803ae9a: eeb4 7ae7 vcmpe.f32 s14, s15 803ae9e: eef1 fa10 vmrs APSR_nzcv, fpscr 803aea2: d517 bpl.n 803aed4 pardata.LP = (float32_t) (FS[pardata.FRQ] / 5) + 0.0001f; 803aea4: 4b1d ldr r3, [pc, #116] ; (803af1c ) 803aea6: 7adb ldrb r3, [r3, #11] 803aea8: b2db uxtb r3, r3 803aeaa: 461a mov r2, r3 803aeac: 4b25 ldr r3, [pc, #148] ; (803af44 ) 803aeae: f853 3022 ldr.w r3, [r3, r2, lsl #2] 803aeb2: 4a20 ldr r2, [pc, #128] ; (803af34 ) 803aeb4: fba2 2303 umull r2, r3, r2, r3 803aeb8: 089b lsrs r3, r3, #2 803aeba: ee07 3a90 vmov s15, r3 803aebe: eef8 7a67 vcvt.f32.u32 s15, s15 803aec2: ed9f 7a1e vldr s14, [pc, #120] ; 803af3c 803aec6: ee77 7a87 vadd.f32 s15, s15, s14 803aeca: 4b14 ldr r3, [pc, #80] ; (803af1c ) 803aecc: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 break; 803aed0: f000 bfa7 b.w 803be22 pardata.LP = (float32_t) k; 803aed4: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803aed8: ee07 3a90 vmov s15, r3 803aedc: eef8 7a67 vcvt.f32.u32 s15, s15 803aee0: 4b0e ldr r3, [pc, #56] ; (803af1c ) 803aee2: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 pardata.LP *= 0.1f; 803aee6: 4b0d ldr r3, [pc, #52] ; (803af1c ) 803aee8: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 803aeec: ed9f 7a12 vldr s14, [pc, #72] ; 803af38 803aef0: ee67 7a87 vmul.f32 s15, s15, s14 803aef4: 4b09 ldr r3, [pc, #36] ; (803af1c ) 803aef6: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 pardata.LP += 0.0001f; 803aefa: 4b08 ldr r3, [pc, #32] ; (803af1c ) 803aefc: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 803af00: ed9f 7a0e vldr s14, [pc, #56] ; 803af3c 803af04: ee77 7a87 vadd.f32 s15, s15, s14 803af08: 4b04 ldr r3, [pc, #16] ; (803af1c ) 803af0a: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 break; 803af0e: f000 bf88 b.w 803be22 803af12: f000 bf86 b.w 803be22 803af16: bf00 nop 803af18: 20020070 .word 0x20020070 803af1c: 20023e60 .word 0x20023e60 803af20: 0a7c5ac5 .word 0x0a7c5ac5 803af24: 000186a0 .word 0x000186a0 803af28: d1b71759 .word 0xd1b71759 803af2c: 10624dd3 .word 0x10624dd3 803af30: 51eb851f .word 0x51eb851f 803af34: cccccccd .word 0xcccccccd 803af38: 3dcccccd .word 0x3dcccccd 803af3c: 38d1b717 .word 0x38d1b717 803af40: 41200000 .word 0x41200000 803af44: 080ee890 .word 0x080ee890 803af48: 3851b717 .word 0x3851b717 case ROUTE_MAP: //UP focused = false; 803af4c: 4bcb ldr r3, [pc, #812] ; (803b27c ) 803af4e: 2200 movs r2, #0 803af50: 701a strb r2, [r3, #0] if((menupos >= PrevPoint) && (menupos <= NextPoint)) 803af52: 4bcb ldr r3, [pc, #812] ; (803b280 ) 803af54: 781b ldrb r3, [r3, #0] 803af56: 4bca ldr r3, [pc, #808] ; (803b280 ) 803af58: 781b ldrb r3, [r3, #0] 803af5a: b2db uxtb r3, r3 803af5c: 2b02 cmp r3, #2 803af5e: d80e bhi.n 803af7e { if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 803af60: 4bc8 ldr r3, [pc, #800] ; (803b284 ) 803af62: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 803af66: f003 0304 and.w r3, r3, #4 803af6a: 2b00 cmp r3, #0 803af6c: d103 bne.n 803af76 menupos = RouteMax_ALL; 803af6e: 4bc4 ldr r3, [pc, #784] ; (803b280 ) 803af70: 2206 movs r2, #6 803af72: 701a strb r2, [r3, #0] if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 803af74: e15e b.n 803b234 else menupos = RouteAutoKu; 803af76: 4bc2 ldr r3, [pc, #776] ; (803b280 ) 803af78: 2205 movs r2, #5 803af7a: 701a strb r2, [r3, #0] if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 803af7c: e15a b.n 803b234 } else if(menupos == RouteMax_ALL) 803af7e: 4bc0 ldr r3, [pc, #768] ; (803b280 ) 803af80: 781b ldrb r3, [r3, #0] 803af82: b2db uxtb r3, r3 803af84: 2b06 cmp r3, #6 803af86: d104 bne.n 803af92 menupos = RouteAutoKu; 803af88: 4bbd ldr r3, [pc, #756] ; (803b280 ) 803af8a: 2205 movs r2, #5 803af8c: 701a strb r2, [r3, #0] if(k == 0) k = 1; pardata.MAX_VAL = (float32_t) k; pardata.MAX_VAL *= 0.1f; pardata.MAX_VAL += 0.05f; } break; 803af8e: f000 bf4b b.w 803be28 if(menupos == RouteAutoKu) 803af92: 4bbb ldr r3, [pc, #748] ; (803b280 ) 803af94: 781b ldrb r3, [r3, #0] 803af96: b2db uxtb r3, r3 803af98: 2b05 cmp r3, #5 803af9a: d104 bne.n 803afa6 menupos = RouteTime; 803af9c: 4bb8 ldr r3, [pc, #736] ; (803b280 ) 803af9e: 2204 movs r2, #4 803afa0: 701a strb r2, [r3, #0] break; 803afa2: f000 bf41 b.w 803be28 if(menupos == RouteTime) 803afa6: 4bb6 ldr r3, [pc, #728] ; (803b280 ) 803afa8: 781b ldrb r3, [r3, #0] 803afaa: b2db uxtb r3, r3 803afac: 2b04 cmp r3, #4 803afae: d104 bne.n 803afba menupos = RouteTacho; 803afb0: 4bb3 ldr r3, [pc, #716] ; (803b280 ) 803afb2: 2203 movs r2, #3 803afb4: 701a strb r2, [r3, #0] break; 803afb6: f000 bf37 b.w 803be28 if((menupos >= RouteMax_IDT) && (menupos <= RouteMax_IKD)) 803afba: 4bb1 ldr r3, [pc, #708] ; (803b280 ) 803afbc: 781b ldrb r3, [r3, #0] 803afbe: b2db uxtb r3, r3 803afc0: 2b06 cmp r3, #6 803afc2: f240 8731 bls.w 803be28 803afc6: 4bae ldr r3, [pc, #696] ; (803b280 ) 803afc8: 781b ldrb r3, [r3, #0] 803afca: b2db uxtb r3, r3 803afcc: 2b0c cmp r3, #12 803afce: f200 872b bhi.w 803be28 k = (uint32_t) (pardata.MAX_VAL * 10.0f); 803afd2: 4bac ldr r3, [pc, #688] ; (803b284 ) 803afd4: edd3 7a06 vldr s15, [r3, #24] 803afd8: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 803afdc: ee67 7a87 vmul.f32 s15, s15, s14 803afe0: eefc 7ae7 vcvt.u32.f32 s15, s15 803afe4: ee17 3a90 vmov r3, s15 803afe8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 803afec: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803aff0: 095b lsrs r3, r3, #5 803aff2: 4aa5 ldr r2, [pc, #660] ; (803b288 ) 803aff4: fba2 2303 umull r2, r3, r2, r3 803aff8: 09db lsrs r3, r3, #7 803affa: b2db uxtb r3, r3 803affc: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 803b000: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803b004: 0953 lsrs r3, r2, #5 803b006: 49a0 ldr r1, [pc, #640] ; (803b288 ) 803b008: fba1 1303 umull r1, r3, r1, r3 803b00c: 09db lsrs r3, r3, #7 803b00e: 499f ldr r1, [pc, #636] ; (803b28c ) 803b010: fb01 f303 mul.w r3, r1, r3 803b014: 1ad3 subs r3, r2, r3 803b016: 4a9e ldr r2, [pc, #632] ; (803b290 ) 803b018: fba2 2303 umull r2, r3, r2, r3 803b01c: 0b5b lsrs r3, r3, #13 803b01e: b2db uxtb r3, r3 803b020: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 803b024: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803b028: 0953 lsrs r3, r2, #5 803b02a: 4997 ldr r1, [pc, #604] ; (803b288 ) 803b02c: fba1 1303 umull r1, r3, r1, r3 803b030: 09db lsrs r3, r3, #7 803b032: 4996 ldr r1, [pc, #600] ; (803b28c ) 803b034: fb01 f303 mul.w r3, r1, r3 803b038: 1ad3 subs r3, r2, r3 803b03a: 4a95 ldr r2, [pc, #596] ; (803b290 ) 803b03c: fba2 1203 umull r1, r2, r2, r3 803b040: 0b52 lsrs r2, r2, #13 803b042: f242 7110 movw r1, #10000 ; 0x2710 803b046: fb01 f202 mul.w r2, r1, r2 803b04a: 1a9a subs r2, r3, r2 803b04c: 4b91 ldr r3, [pc, #580] ; (803b294 ) 803b04e: fba3 2302 umull r2, r3, r3, r2 803b052: 099b lsrs r3, r3, #6 803b054: b2db uxtb r3, r3 803b056: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 803b05a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803b05e: 095a lsrs r2, r3, #5 803b060: 4989 ldr r1, [pc, #548] ; (803b288 ) 803b062: fba1 1202 umull r1, r2, r1, r2 803b066: 09d2 lsrs r2, r2, #7 803b068: 4988 ldr r1, [pc, #544] ; (803b28c ) 803b06a: fb01 f202 mul.w r2, r1, r2 803b06e: 1a9a subs r2, r3, r2 803b070: 4b87 ldr r3, [pc, #540] ; (803b290 ) 803b072: fba3 1302 umull r1, r3, r3, r2 803b076: 0b5b lsrs r3, r3, #13 803b078: f242 7110 movw r1, #10000 ; 0x2710 803b07c: fb01 f303 mul.w r3, r1, r3 803b080: 1ad3 subs r3, r2, r3 803b082: 4a84 ldr r2, [pc, #528] ; (803b294 ) 803b084: fba2 1203 umull r1, r2, r2, r3 803b088: 0992 lsrs r2, r2, #6 803b08a: f44f 717a mov.w r1, #1000 ; 0x3e8 803b08e: fb01 f202 mul.w r2, r1, r2 803b092: 1a9a subs r2, r3, r2 803b094: 4b80 ldr r3, [pc, #512] ; (803b298 ) 803b096: fba3 2302 umull r2, r3, r3, r2 803b09a: 095b lsrs r3, r3, #5 803b09c: b2db uxtb r3, r3 803b09e: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 803b0a2: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803b0a6: 0953 lsrs r3, r2, #5 803b0a8: 4977 ldr r1, [pc, #476] ; (803b288 ) 803b0aa: fba1 1303 umull r1, r3, r1, r3 803b0ae: 09db lsrs r3, r3, #7 803b0b0: 4976 ldr r1, [pc, #472] ; (803b28c ) 803b0b2: fb01 f303 mul.w r3, r1, r3 803b0b6: 1ad3 subs r3, r2, r3 803b0b8: 4a75 ldr r2, [pc, #468] ; (803b290 ) 803b0ba: fba2 1203 umull r1, r2, r2, r3 803b0be: 0b52 lsrs r2, r2, #13 803b0c0: f242 7110 movw r1, #10000 ; 0x2710 803b0c4: fb01 f202 mul.w r2, r1, r2 803b0c8: 1a9a subs r2, r3, r2 803b0ca: 4b72 ldr r3, [pc, #456] ; (803b294 ) 803b0cc: fba3 1302 umull r1, r3, r3, r2 803b0d0: 099b lsrs r3, r3, #6 803b0d2: f44f 717a mov.w r1, #1000 ; 0x3e8 803b0d6: fb01 f303 mul.w r3, r1, r3 803b0da: 1ad3 subs r3, r2, r3 803b0dc: 4a6e ldr r2, [pc, #440] ; (803b298 ) 803b0de: fba2 1203 umull r1, r2, r2, r3 803b0e2: 0952 lsrs r2, r2, #5 803b0e4: 2164 movs r1, #100 ; 0x64 803b0e6: fb01 f202 mul.w r2, r1, r2 803b0ea: 1a9a subs r2, r3, r2 803b0ec: 4b6b ldr r3, [pc, #428] ; (803b29c ) 803b0ee: fba3 2302 umull r2, r3, r3, r2 803b0f2: 08db lsrs r3, r3, #3 803b0f4: b2db uxtb r3, r3 803b0f6: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 803b0fa: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803b0fe: 0953 lsrs r3, r2, #5 803b100: 4961 ldr r1, [pc, #388] ; (803b288 ) 803b102: fba1 1303 umull r1, r3, r1, r3 803b106: 09db lsrs r3, r3, #7 803b108: 4960 ldr r1, [pc, #384] ; (803b28c ) 803b10a: fb01 f303 mul.w r3, r1, r3 803b10e: 1ad3 subs r3, r2, r3 803b110: 4a5f ldr r2, [pc, #380] ; (803b290 ) 803b112: fba2 1203 umull r1, r2, r2, r3 803b116: 0b52 lsrs r2, r2, #13 803b118: f242 7110 movw r1, #10000 ; 0x2710 803b11c: fb01 f202 mul.w r2, r1, r2 803b120: 1a9a subs r2, r3, r2 803b122: 4b5c ldr r3, [pc, #368] ; (803b294 ) 803b124: fba3 1302 umull r1, r3, r3, r2 803b128: 099b lsrs r3, r3, #6 803b12a: f44f 717a mov.w r1, #1000 ; 0x3e8 803b12e: fb01 f303 mul.w r3, r1, r3 803b132: 1ad3 subs r3, r2, r3 803b134: 4a58 ldr r2, [pc, #352] ; (803b298 ) 803b136: fba2 1203 umull r1, r2, r2, r3 803b13a: 0952 lsrs r2, r2, #5 803b13c: 2164 movs r1, #100 ; 0x64 803b13e: fb01 f202 mul.w r2, r1, r2 803b142: 1a9a subs r2, r3, r2 803b144: 4b55 ldr r3, [pc, #340] ; (803b29c ) 803b146: fba3 1302 umull r1, r3, r3, r2 803b14a: 08d9 lsrs r1, r3, #3 803b14c: 460b mov r3, r1 803b14e: 009b lsls r3, r3, #2 803b150: 440b add r3, r1 803b152: 005b lsls r3, r3, #1 803b154: 1ad1 subs r1, r2, r3 803b156: b2cb uxtb r3, r1 803b158: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 803b15c: 4b48 ldr r3, [pc, #288] ; (803b280 ) 803b15e: 781b ldrb r3, [r3, #0] 803b160: b2db uxtb r3, r3 803b162: 3b07 subs r3, #7 803b164: 2b05 cmp r3, #5 803b166: d837 bhi.n 803b1d8 803b168: a201 add r2, pc, #4 ; (adr r2, 803b170 ) 803b16a: f852 f023 ldr.w pc, [r2, r3, lsl #2] 803b16e: bf00 nop 803b170: 0803b189 .word 0x0803b189 803b174: 0803b197 .word 0x0803b197 803b178: 0803b1a7 .word 0x0803b1a7 803b17c: 0803b1b5 .word 0x0803b1b5 803b180: 0803b1c1 .word 0x0803b1c1 803b184: 0803b1cd .word 0x0803b1cd k += 100000; 803b188: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803b18c: 4b3f ldr r3, [pc, #252] ; (803b28c ) 803b18e: 4413 add r3, r2 803b190: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803b194: e020 b.n 803b1d8 k += 10000; 803b196: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803b19a: f242 7310 movw r3, #10000 ; 0x2710 803b19e: 4413 add r3, r2 803b1a0: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803b1a4: e018 b.n 803b1d8 k += 1000; 803b1a6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803b1aa: f503 737a add.w r3, r3, #1000 ; 0x3e8 803b1ae: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803b1b2: e011 b.n 803b1d8 k += 100; 803b1b4: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803b1b8: 3364 adds r3, #100 ; 0x64 803b1ba: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803b1be: e00b b.n 803b1d8 k += 10; 803b1c0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803b1c4: 330a adds r3, #10 803b1c6: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803b1ca: e005 b.n 803b1d8 k++; 803b1cc: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803b1d0: 3301 adds r3, #1 803b1d2: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803b1d6: bf00 nop if(k > 999999) k = 999999; 803b1d8: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803b1dc: 4a30 ldr r2, [pc, #192] ; (803b2a0 ) 803b1de: 4293 cmp r3, r2 803b1e0: d902 bls.n 803b1e8 803b1e2: 4b2f ldr r3, [pc, #188] ; (803b2a0 ) 803b1e4: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 if(k == 0) k = 1; 803b1e8: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803b1ec: 2b00 cmp r3, #0 803b1ee: d102 bne.n 803b1f6 803b1f0: 2301 movs r3, #1 803b1f2: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.MAX_VAL = (float32_t) k; 803b1f6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803b1fa: ee07 3a90 vmov s15, r3 803b1fe: eef8 7a67 vcvt.f32.u32 s15, s15 803b202: 4b20 ldr r3, [pc, #128] ; (803b284 ) 803b204: edc3 7a06 vstr s15, [r3, #24] pardata.MAX_VAL *= 0.1f; 803b208: 4b1e ldr r3, [pc, #120] ; (803b284 ) 803b20a: edd3 7a06 vldr s15, [r3, #24] 803b20e: ed9f 7a25 vldr s14, [pc, #148] ; 803b2a4 803b212: ee67 7a87 vmul.f32 s15, s15, s14 803b216: 4b1b ldr r3, [pc, #108] ; (803b284 ) 803b218: edc3 7a06 vstr s15, [r3, #24] pardata.MAX_VAL += 0.05f; 803b21c: 4b19 ldr r3, [pc, #100] ; (803b284 ) 803b21e: edd3 7a06 vldr s15, [r3, #24] 803b222: ed9f 7a21 vldr s14, [pc, #132] ; 803b2a8 803b226: ee77 7a87 vadd.f32 s15, s15, s14 803b22a: 4b16 ldr r3, [pc, #88] ; (803b284 ) 803b22c: edc3 7a06 vstr s15, [r3, #24] break; 803b230: f000 bdfa b.w 803be28 803b234: f000 bdf8 b.w 803be28 case PARAM_WAVE: // KEY_UP focused = false; 803b238: 4b10 ldr r3, [pc, #64] ; (803b27c ) 803b23a: 2200 movs r2, #0 803b23c: 701a strb r2, [r3, #0] if(menupos == Ok) 803b23e: 4b10 ldr r3, [pc, #64] ; (803b280 ) 803b240: 781b ldrb r3, [r3, #0] 803b242: b2db uxtb r3, r3 803b244: 2b00 cmp r3, #0 803b246: d10f bne.n 803b268 { if(pardata.THR & 0x80) 803b248: 4b0e ldr r3, [pc, #56] ; (803b284 ) 803b24a: 7bdb ldrb r3, [r3, #15] 803b24c: b2db uxtb r3, r3 803b24e: b25b sxtb r3, r3 803b250: 2b00 cmp r3, #0 803b252: da04 bge.n 803b25e menupos = WaveThr_ALL; 803b254: 4b0a ldr r3, [pc, #40] ; (803b280 ) 803b256: 2209 movs r2, #9 803b258: 701a strb r2, [r3, #0] if(k == 0) k = 1; pardata.MAX_VAL = (float32_t) k; pardata.MAX_VAL *= 0.1f; pardata.MAX_VAL += 0.05f; } break; 803b25a: f000 bde8 b.w 803be2e else menupos = WaveThr; 803b25e: 4b08 ldr r3, [pc, #32] ; (803b280 ) 803b260: 2208 movs r2, #8 803b262: 701a strb r2, [r3, #0] break; 803b264: f000 bde3 b.w 803be2e if(menupos == WaveThr_ALL) 803b268: 4b05 ldr r3, [pc, #20] ; (803b280 ) 803b26a: 781b ldrb r3, [r3, #0] 803b26c: b2db uxtb r3, r3 803b26e: 2b09 cmp r3, #9 803b270: d11c bne.n 803b2ac menupos = WaveThr; 803b272: 4b03 ldr r3, [pc, #12] ; (803b280 ) 803b274: 2208 movs r2, #8 803b276: 701a strb r2, [r3, #0] break; 803b278: f000 bdd9 b.w 803be2e 803b27c: 20020f84 .word 0x20020f84 803b280: 20020070 .word 0x20020070 803b284: 20023e60 .word 0x20023e60 803b288: 0a7c5ac5 .word 0x0a7c5ac5 803b28c: 000186a0 .word 0x000186a0 803b290: d1b71759 .word 0xd1b71759 803b294: 10624dd3 .word 0x10624dd3 803b298: 51eb851f .word 0x51eb851f 803b29c: cccccccd .word 0xcccccccd 803b2a0: 000f423f .word 0x000f423f 803b2a4: 3dcccccd .word 0x3dcccccd 803b2a8: 3d4ccccd .word 0x3d4ccccd if(menupos == WaveThr) 803b2ac: 4bc1 ldr r3, [pc, #772] ; (803b5b4 ) 803b2ae: 781b ldrb r3, [r3, #0] 803b2b0: b2db uxtb r3, r3 803b2b2: 2b08 cmp r3, #8 803b2b4: d110 bne.n 803b2d8 if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 803b2b6: 4bc0 ldr r3, [pc, #768] ; (803b5b8 ) 803b2b8: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 803b2bc: f003 0304 and.w r3, r3, #4 803b2c0: 2b00 cmp r3, #0 803b2c2: d104 bne.n 803b2ce menupos = WaveMax_ALL; 803b2c4: 4bbb ldr r3, [pc, #748] ; (803b5b4 ) 803b2c6: 2207 movs r2, #7 803b2c8: 701a strb r2, [r3, #0] break; 803b2ca: f000 bdb0 b.w 803be2e else menupos = WaveAutoKu; 803b2ce: 4bb9 ldr r3, [pc, #740] ; (803b5b4 ) 803b2d0: 2206 movs r2, #6 803b2d2: 701a strb r2, [r3, #0] break; 803b2d4: f000 bdab b.w 803be2e if(menupos == WaveMax_ALL) 803b2d8: 4bb6 ldr r3, [pc, #728] ; (803b5b4 ) 803b2da: 781b ldrb r3, [r3, #0] 803b2dc: b2db uxtb r3, r3 803b2de: 2b07 cmp r3, #7 803b2e0: d104 bne.n 803b2ec menupos = WaveAutoKu; 803b2e2: 4bb4 ldr r3, [pc, #720] ; (803b5b4 ) 803b2e4: 2206 movs r2, #6 803b2e6: 701a strb r2, [r3, #0] break; 803b2e8: f000 bda1 b.w 803be2e if(menupos == WaveAutoKu) 803b2ec: 4bb1 ldr r3, [pc, #708] ; (803b5b4 ) 803b2ee: 781b ldrb r3, [r3, #0] 803b2f0: b2db uxtb r3, r3 803b2f2: 2b06 cmp r3, #6 803b2f4: d104 bne.n 803b300 menupos = WaveTime; 803b2f6: 4baf ldr r3, [pc, #700] ; (803b5b4 ) 803b2f8: 2205 movs r2, #5 803b2fa: 701a strb r2, [r3, #0] break; 803b2fc: f000 bd97 b.w 803be2e if(menupos == WaveTime) 803b300: 4bac ldr r3, [pc, #688] ; (803b5b4 ) 803b302: 781b ldrb r3, [r3, #0] 803b304: b2db uxtb r3, r3 803b306: 2b05 cmp r3, #5 803b308: d104 bne.n 803b314 menupos = WaveName; 803b30a: 4baa ldr r3, [pc, #680] ; (803b5b4 ) 803b30c: 2204 movs r2, #4 803b30e: 701a strb r2, [r3, #0] break; 803b310: f000 bd8d b.w 803be2e if(menupos == WaveName) 803b314: 4ba7 ldr r3, [pc, #668] ; (803b5b4 ) 803b316: 781b ldrb r3, [r3, #0] 803b318: b2db uxtb r3, r3 803b31a: 2b04 cmp r3, #4 803b31c: d104 bne.n 803b328 menupos = WaveTacho; 803b31e: 4ba5 ldr r3, [pc, #660] ; (803b5b4 ) 803b320: 2203 movs r2, #3 803b322: 701a strb r2, [r3, #0] break; 803b324: f000 bd83 b.w 803be2e if(menupos == WaveTacho) 803b328: 4ba2 ldr r3, [pc, #648] ; (803b5b4 ) 803b32a: 781b ldrb r3, [r3, #0] 803b32c: b2db uxtb r3, r3 803b32e: 2b03 cmp r3, #3 803b330: d104 bne.n 803b33c menupos = Ok; 803b332: 4ba0 ldr r3, [pc, #640] ; (803b5b4 ) 803b334: 2200 movs r2, #0 803b336: 701a strb r2, [r3, #0] break; 803b338: f000 bd79 b.w 803be2e if((menupos >= WaveThr_IDT) && (menupos <= WaveThr_IKD)) 803b33c: 4b9d ldr r3, [pc, #628] ; (803b5b4 ) 803b33e: 781b ldrb r3, [r3, #0] 803b340: b2db uxtb r3, r3 803b342: 2b0f cmp r3, #15 803b344: f240 814c bls.w 803b5e0 803b348: 4b9a ldr r3, [pc, #616] ; (803b5b4 ) 803b34a: 781b ldrb r3, [r3, #0] 803b34c: b2db uxtb r3, r3 803b34e: 2b15 cmp r3, #21 803b350: f200 8146 bhi.w 803b5e0 k = (uint32_t) (pardata.THR_VAL * 10.0f); 803b354: 4b98 ldr r3, [pc, #608] ; (803b5b8 ) 803b356: edd3 7a05 vldr s15, [r3, #20] 803b35a: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 803b35e: ee67 7a87 vmul.f32 s15, s15, s14 803b362: eefc 7ae7 vcvt.u32.f32 s15, s15 803b366: ee17 3a90 vmov r3, s15 803b36a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 803b36e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803b372: 095b lsrs r3, r3, #5 803b374: 4a91 ldr r2, [pc, #580] ; (803b5bc ) 803b376: fba2 2303 umull r2, r3, r2, r3 803b37a: 09db lsrs r3, r3, #7 803b37c: b2db uxtb r3, r3 803b37e: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 803b382: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803b386: 0953 lsrs r3, r2, #5 803b388: 498c ldr r1, [pc, #560] ; (803b5bc ) 803b38a: fba1 1303 umull r1, r3, r1, r3 803b38e: 09db lsrs r3, r3, #7 803b390: 498b ldr r1, [pc, #556] ; (803b5c0 ) 803b392: fb01 f303 mul.w r3, r1, r3 803b396: 1ad3 subs r3, r2, r3 803b398: 4a8a ldr r2, [pc, #552] ; (803b5c4 ) 803b39a: fba2 2303 umull r2, r3, r2, r3 803b39e: 0b5b lsrs r3, r3, #13 803b3a0: b2db uxtb r3, r3 803b3a2: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 803b3a6: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803b3aa: 0953 lsrs r3, r2, #5 803b3ac: 4983 ldr r1, [pc, #524] ; (803b5bc ) 803b3ae: fba1 1303 umull r1, r3, r1, r3 803b3b2: 09db lsrs r3, r3, #7 803b3b4: 4982 ldr r1, [pc, #520] ; (803b5c0 ) 803b3b6: fb01 f303 mul.w r3, r1, r3 803b3ba: 1ad3 subs r3, r2, r3 803b3bc: 4a81 ldr r2, [pc, #516] ; (803b5c4 ) 803b3be: fba2 1203 umull r1, r2, r2, r3 803b3c2: 0b52 lsrs r2, r2, #13 803b3c4: f242 7110 movw r1, #10000 ; 0x2710 803b3c8: fb01 f202 mul.w r2, r1, r2 803b3cc: 1a9a subs r2, r3, r2 803b3ce: 4b7e ldr r3, [pc, #504] ; (803b5c8 ) 803b3d0: fba3 2302 umull r2, r3, r3, r2 803b3d4: 099b lsrs r3, r3, #6 803b3d6: b2db uxtb r3, r3 803b3d8: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 803b3dc: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803b3e0: 095a lsrs r2, r3, #5 803b3e2: 4976 ldr r1, [pc, #472] ; (803b5bc ) 803b3e4: fba1 1202 umull r1, r2, r1, r2 803b3e8: 09d2 lsrs r2, r2, #7 803b3ea: 4975 ldr r1, [pc, #468] ; (803b5c0 ) 803b3ec: fb01 f202 mul.w r2, r1, r2 803b3f0: 1a9a subs r2, r3, r2 803b3f2: 4b74 ldr r3, [pc, #464] ; (803b5c4 ) 803b3f4: fba3 1302 umull r1, r3, r3, r2 803b3f8: 0b5b lsrs r3, r3, #13 803b3fa: f242 7110 movw r1, #10000 ; 0x2710 803b3fe: fb01 f303 mul.w r3, r1, r3 803b402: 1ad3 subs r3, r2, r3 803b404: 4a70 ldr r2, [pc, #448] ; (803b5c8 ) 803b406: fba2 1203 umull r1, r2, r2, r3 803b40a: 0992 lsrs r2, r2, #6 803b40c: f44f 717a mov.w r1, #1000 ; 0x3e8 803b410: fb01 f202 mul.w r2, r1, r2 803b414: 1a9a subs r2, r3, r2 803b416: 4b6d ldr r3, [pc, #436] ; (803b5cc ) 803b418: fba3 2302 umull r2, r3, r3, r2 803b41c: 095b lsrs r3, r3, #5 803b41e: b2db uxtb r3, r3 803b420: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 803b424: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803b428: 0953 lsrs r3, r2, #5 803b42a: 4964 ldr r1, [pc, #400] ; (803b5bc ) 803b42c: fba1 1303 umull r1, r3, r1, r3 803b430: 09db lsrs r3, r3, #7 803b432: 4963 ldr r1, [pc, #396] ; (803b5c0 ) 803b434: fb01 f303 mul.w r3, r1, r3 803b438: 1ad3 subs r3, r2, r3 803b43a: 4a62 ldr r2, [pc, #392] ; (803b5c4 ) 803b43c: fba2 1203 umull r1, r2, r2, r3 803b440: 0b52 lsrs r2, r2, #13 803b442: f242 7110 movw r1, #10000 ; 0x2710 803b446: fb01 f202 mul.w r2, r1, r2 803b44a: 1a9a subs r2, r3, r2 803b44c: 4b5e ldr r3, [pc, #376] ; (803b5c8 ) 803b44e: fba3 1302 umull r1, r3, r3, r2 803b452: 099b lsrs r3, r3, #6 803b454: f44f 717a mov.w r1, #1000 ; 0x3e8 803b458: fb01 f303 mul.w r3, r1, r3 803b45c: 1ad3 subs r3, r2, r3 803b45e: 4a5b ldr r2, [pc, #364] ; (803b5cc ) 803b460: fba2 1203 umull r1, r2, r2, r3 803b464: 0952 lsrs r2, r2, #5 803b466: 2164 movs r1, #100 ; 0x64 803b468: fb01 f202 mul.w r2, r1, r2 803b46c: 1a9a subs r2, r3, r2 803b46e: 4b58 ldr r3, [pc, #352] ; (803b5d0 ) 803b470: fba3 2302 umull r2, r3, r3, r2 803b474: 08db lsrs r3, r3, #3 803b476: b2db uxtb r3, r3 803b478: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 803b47c: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803b480: 0953 lsrs r3, r2, #5 803b482: 494e ldr r1, [pc, #312] ; (803b5bc ) 803b484: fba1 1303 umull r1, r3, r1, r3 803b488: 09db lsrs r3, r3, #7 803b48a: 494d ldr r1, [pc, #308] ; (803b5c0 ) 803b48c: fb01 f303 mul.w r3, r1, r3 803b490: 1ad3 subs r3, r2, r3 803b492: 4a4c ldr r2, [pc, #304] ; (803b5c4 ) 803b494: fba2 1203 umull r1, r2, r2, r3 803b498: 0b52 lsrs r2, r2, #13 803b49a: f242 7110 movw r1, #10000 ; 0x2710 803b49e: fb01 f202 mul.w r2, r1, r2 803b4a2: 1a9a subs r2, r3, r2 803b4a4: 4b48 ldr r3, [pc, #288] ; (803b5c8 ) 803b4a6: fba3 1302 umull r1, r3, r3, r2 803b4aa: 099b lsrs r3, r3, #6 803b4ac: f44f 717a mov.w r1, #1000 ; 0x3e8 803b4b0: fb01 f303 mul.w r3, r1, r3 803b4b4: 1ad3 subs r3, r2, r3 803b4b6: 4a45 ldr r2, [pc, #276] ; (803b5cc ) 803b4b8: fba2 1203 umull r1, r2, r2, r3 803b4bc: 0952 lsrs r2, r2, #5 803b4be: 2164 movs r1, #100 ; 0x64 803b4c0: fb01 f202 mul.w r2, r1, r2 803b4c4: 1a9a subs r2, r3, r2 803b4c6: 4b42 ldr r3, [pc, #264] ; (803b5d0 ) 803b4c8: fba3 1302 umull r1, r3, r3, r2 803b4cc: 08d9 lsrs r1, r3, #3 803b4ce: 460b mov r3, r1 803b4d0: 009b lsls r3, r3, #2 803b4d2: 440b add r3, r1 803b4d4: 005b lsls r3, r3, #1 803b4d6: 1ad1 subs r1, r2, r3 803b4d8: b2cb uxtb r3, r1 803b4da: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 803b4de: 4b35 ldr r3, [pc, #212] ; (803b5b4 ) 803b4e0: 781b ldrb r3, [r3, #0] 803b4e2: b2db uxtb r3, r3 803b4e4: 3b10 subs r3, #16 803b4e6: 2b05 cmp r3, #5 803b4e8: d836 bhi.n 803b558 803b4ea: a201 add r2, pc, #4 ; (adr r2, 803b4f0 ) 803b4ec: f852 f023 ldr.w pc, [r2, r3, lsl #2] 803b4f0: 0803b509 .word 0x0803b509 803b4f4: 0803b517 .word 0x0803b517 803b4f8: 0803b527 .word 0x0803b527 803b4fc: 0803b535 .word 0x0803b535 803b500: 0803b541 .word 0x0803b541 803b504: 0803b54d .word 0x0803b54d k += 100000; 803b508: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803b50c: 4b2c ldr r3, [pc, #176] ; (803b5c0 ) 803b50e: 4413 add r3, r2 803b510: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803b514: e020 b.n 803b558 k += 10000; 803b516: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803b51a: f242 7310 movw r3, #10000 ; 0x2710 803b51e: 4413 add r3, r2 803b520: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803b524: e018 b.n 803b558 k += 1000; 803b526: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803b52a: f503 737a add.w r3, r3, #1000 ; 0x3e8 803b52e: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803b532: e011 b.n 803b558 k += 100; 803b534: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803b538: 3364 adds r3, #100 ; 0x64 803b53a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803b53e: e00b b.n 803b558 k += 10; 803b540: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803b544: 330a adds r3, #10 803b546: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803b54a: e005 b.n 803b558 k++; 803b54c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803b550: 3301 adds r3, #1 803b552: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803b556: bf00 nop if(k > 999999) k = 999999; 803b558: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803b55c: 4a1d ldr r2, [pc, #116] ; (803b5d4 ) 803b55e: 4293 cmp r3, r2 803b560: d902 bls.n 803b568 803b562: 4b1c ldr r3, [pc, #112] ; (803b5d4 ) 803b564: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 if(k == 0) k = 1; 803b568: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803b56c: 2b00 cmp r3, #0 803b56e: d102 bne.n 803b576 803b570: 2301 movs r3, #1 803b572: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.THR_VAL = (float32_t) k; 803b576: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803b57a: ee07 3a90 vmov s15, r3 803b57e: eef8 7a67 vcvt.f32.u32 s15, s15 803b582: 4b0d ldr r3, [pc, #52] ; (803b5b8 ) 803b584: edc3 7a05 vstr s15, [r3, #20] pardata.THR_VAL *= 0.1f; 803b588: 4b0b ldr r3, [pc, #44] ; (803b5b8 ) 803b58a: edd3 7a05 vldr s15, [r3, #20] 803b58e: ed9f 7a12 vldr s14, [pc, #72] ; 803b5d8 803b592: ee67 7a87 vmul.f32 s15, s15, s14 803b596: 4b08 ldr r3, [pc, #32] ; (803b5b8 ) 803b598: edc3 7a05 vstr s15, [r3, #20] pardata.THR_VAL += 0.05f; 803b59c: 4b06 ldr r3, [pc, #24] ; (803b5b8 ) 803b59e: edd3 7a05 vldr s15, [r3, #20] 803b5a2: ed9f 7a0e vldr s14, [pc, #56] ; 803b5dc 803b5a6: ee77 7a87 vadd.f32 s15, s15, s14 803b5aa: 4b03 ldr r3, [pc, #12] ; (803b5b8 ) 803b5ac: edc3 7a05 vstr s15, [r3, #20] break; 803b5b0: f000 bc3d b.w 803be2e 803b5b4: 20020070 .word 0x20020070 803b5b8: 20023e60 .word 0x20023e60 803b5bc: 0a7c5ac5 .word 0x0a7c5ac5 803b5c0: 000186a0 .word 0x000186a0 803b5c4: d1b71759 .word 0xd1b71759 803b5c8: 10624dd3 .word 0x10624dd3 803b5cc: 51eb851f .word 0x51eb851f 803b5d0: cccccccd .word 0xcccccccd 803b5d4: 000f423f .word 0x000f423f 803b5d8: 3dcccccd .word 0x3dcccccd 803b5dc: 3d4ccccd .word 0x3d4ccccd if((menupos >= WaveMax_IDT) && (menupos <= WaveMax_IKD)) 803b5e0: 4b9d ldr r3, [pc, #628] ; (803b858 ) 803b5e2: 781b ldrb r3, [r3, #0] 803b5e4: b2db uxtb r3, r3 803b5e6: 2b09 cmp r3, #9 803b5e8: f240 8421 bls.w 803be2e 803b5ec: 4b9a ldr r3, [pc, #616] ; (803b858 ) 803b5ee: 781b ldrb r3, [r3, #0] 803b5f0: b2db uxtb r3, r3 803b5f2: 2b0f cmp r3, #15 803b5f4: f200 841b bhi.w 803be2e k = (uint32_t) (pardata.MAX_VAL * 10.0f); 803b5f8: 4b98 ldr r3, [pc, #608] ; (803b85c ) 803b5fa: edd3 7a06 vldr s15, [r3, #24] 803b5fe: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 803b602: ee67 7a87 vmul.f32 s15, s15, s14 803b606: eefc 7ae7 vcvt.u32.f32 s15, s15 803b60a: ee17 3a90 vmov r3, s15 803b60e: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 803b612: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803b616: 095b lsrs r3, r3, #5 803b618: 4a91 ldr r2, [pc, #580] ; (803b860 ) 803b61a: fba2 2303 umull r2, r3, r2, r3 803b61e: 09db lsrs r3, r3, #7 803b620: b2db uxtb r3, r3 803b622: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 803b626: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803b62a: 0953 lsrs r3, r2, #5 803b62c: 498c ldr r1, [pc, #560] ; (803b860 ) 803b62e: fba1 1303 umull r1, r3, r1, r3 803b632: 09db lsrs r3, r3, #7 803b634: 498b ldr r1, [pc, #556] ; (803b864 ) 803b636: fb01 f303 mul.w r3, r1, r3 803b63a: 1ad3 subs r3, r2, r3 803b63c: 4a8a ldr r2, [pc, #552] ; (803b868 ) 803b63e: fba2 2303 umull r2, r3, r2, r3 803b642: 0b5b lsrs r3, r3, #13 803b644: b2db uxtb r3, r3 803b646: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 803b64a: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803b64e: 0953 lsrs r3, r2, #5 803b650: 4983 ldr r1, [pc, #524] ; (803b860 ) 803b652: fba1 1303 umull r1, r3, r1, r3 803b656: 09db lsrs r3, r3, #7 803b658: 4982 ldr r1, [pc, #520] ; (803b864 ) 803b65a: fb01 f303 mul.w r3, r1, r3 803b65e: 1ad3 subs r3, r2, r3 803b660: 4a81 ldr r2, [pc, #516] ; (803b868 ) 803b662: fba2 1203 umull r1, r2, r2, r3 803b666: 0b52 lsrs r2, r2, #13 803b668: f242 7110 movw r1, #10000 ; 0x2710 803b66c: fb01 f202 mul.w r2, r1, r2 803b670: 1a9a subs r2, r3, r2 803b672: 4b7e ldr r3, [pc, #504] ; (803b86c ) 803b674: fba3 2302 umull r2, r3, r3, r2 803b678: 099b lsrs r3, r3, #6 803b67a: b2db uxtb r3, r3 803b67c: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 803b680: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803b684: 095a lsrs r2, r3, #5 803b686: 4976 ldr r1, [pc, #472] ; (803b860 ) 803b688: fba1 1202 umull r1, r2, r1, r2 803b68c: 09d2 lsrs r2, r2, #7 803b68e: 4975 ldr r1, [pc, #468] ; (803b864 ) 803b690: fb01 f202 mul.w r2, r1, r2 803b694: 1a9a subs r2, r3, r2 803b696: 4b74 ldr r3, [pc, #464] ; (803b868 ) 803b698: fba3 1302 umull r1, r3, r3, r2 803b69c: 0b5b lsrs r3, r3, #13 803b69e: f242 7110 movw r1, #10000 ; 0x2710 803b6a2: fb01 f303 mul.w r3, r1, r3 803b6a6: 1ad3 subs r3, r2, r3 803b6a8: 4a70 ldr r2, [pc, #448] ; (803b86c ) 803b6aa: fba2 1203 umull r1, r2, r2, r3 803b6ae: 0992 lsrs r2, r2, #6 803b6b0: f44f 717a mov.w r1, #1000 ; 0x3e8 803b6b4: fb01 f202 mul.w r2, r1, r2 803b6b8: 1a9a subs r2, r3, r2 803b6ba: 4b6d ldr r3, [pc, #436] ; (803b870 ) 803b6bc: fba3 2302 umull r2, r3, r3, r2 803b6c0: 095b lsrs r3, r3, #5 803b6c2: b2db uxtb r3, r3 803b6c4: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 803b6c8: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803b6cc: 0953 lsrs r3, r2, #5 803b6ce: 4964 ldr r1, [pc, #400] ; (803b860 ) 803b6d0: fba1 1303 umull r1, r3, r1, r3 803b6d4: 09db lsrs r3, r3, #7 803b6d6: 4963 ldr r1, [pc, #396] ; (803b864 ) 803b6d8: fb01 f303 mul.w r3, r1, r3 803b6dc: 1ad3 subs r3, r2, r3 803b6de: 4a62 ldr r2, [pc, #392] ; (803b868 ) 803b6e0: fba2 1203 umull r1, r2, r2, r3 803b6e4: 0b52 lsrs r2, r2, #13 803b6e6: f242 7110 movw r1, #10000 ; 0x2710 803b6ea: fb01 f202 mul.w r2, r1, r2 803b6ee: 1a9a subs r2, r3, r2 803b6f0: 4b5e ldr r3, [pc, #376] ; (803b86c ) 803b6f2: fba3 1302 umull r1, r3, r3, r2 803b6f6: 099b lsrs r3, r3, #6 803b6f8: f44f 717a mov.w r1, #1000 ; 0x3e8 803b6fc: fb01 f303 mul.w r3, r1, r3 803b700: 1ad3 subs r3, r2, r3 803b702: 4a5b ldr r2, [pc, #364] ; (803b870 ) 803b704: fba2 1203 umull r1, r2, r2, r3 803b708: 0952 lsrs r2, r2, #5 803b70a: 2164 movs r1, #100 ; 0x64 803b70c: fb01 f202 mul.w r2, r1, r2 803b710: 1a9a subs r2, r3, r2 803b712: 4b58 ldr r3, [pc, #352] ; (803b874 ) 803b714: fba3 2302 umull r2, r3, r3, r2 803b718: 08db lsrs r3, r3, #3 803b71a: b2db uxtb r3, r3 803b71c: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 803b720: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803b724: 0953 lsrs r3, r2, #5 803b726: 494e ldr r1, [pc, #312] ; (803b860 ) 803b728: fba1 1303 umull r1, r3, r1, r3 803b72c: 09db lsrs r3, r3, #7 803b72e: 494d ldr r1, [pc, #308] ; (803b864 ) 803b730: fb01 f303 mul.w r3, r1, r3 803b734: 1ad3 subs r3, r2, r3 803b736: 4a4c ldr r2, [pc, #304] ; (803b868 ) 803b738: fba2 1203 umull r1, r2, r2, r3 803b73c: 0b52 lsrs r2, r2, #13 803b73e: f242 7110 movw r1, #10000 ; 0x2710 803b742: fb01 f202 mul.w r2, r1, r2 803b746: 1a9a subs r2, r3, r2 803b748: 4b48 ldr r3, [pc, #288] ; (803b86c ) 803b74a: fba3 1302 umull r1, r3, r3, r2 803b74e: 099b lsrs r3, r3, #6 803b750: f44f 717a mov.w r1, #1000 ; 0x3e8 803b754: fb01 f303 mul.w r3, r1, r3 803b758: 1ad3 subs r3, r2, r3 803b75a: 4a45 ldr r2, [pc, #276] ; (803b870 ) 803b75c: fba2 1203 umull r1, r2, r2, r3 803b760: 0952 lsrs r2, r2, #5 803b762: 2164 movs r1, #100 ; 0x64 803b764: fb01 f202 mul.w r2, r1, r2 803b768: 1a9a subs r2, r3, r2 803b76a: 4b42 ldr r3, [pc, #264] ; (803b874 ) 803b76c: fba3 1302 umull r1, r3, r3, r2 803b770: 08d9 lsrs r1, r3, #3 803b772: 460b mov r3, r1 803b774: 009b lsls r3, r3, #2 803b776: 440b add r3, r1 803b778: 005b lsls r3, r3, #1 803b77a: 1ad1 subs r1, r2, r3 803b77c: b2cb uxtb r3, r1 803b77e: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 803b782: 4b35 ldr r3, [pc, #212] ; (803b858 ) 803b784: 781b ldrb r3, [r3, #0] 803b786: b2db uxtb r3, r3 803b788: 3b0a subs r3, #10 803b78a: 2b05 cmp r3, #5 803b78c: d836 bhi.n 803b7fc 803b78e: a201 add r2, pc, #4 ; (adr r2, 803b794 ) 803b790: f852 f023 ldr.w pc, [r2, r3, lsl #2] 803b794: 0803b7ad .word 0x0803b7ad 803b798: 0803b7bb .word 0x0803b7bb 803b79c: 0803b7cb .word 0x0803b7cb 803b7a0: 0803b7d9 .word 0x0803b7d9 803b7a4: 0803b7e5 .word 0x0803b7e5 803b7a8: 0803b7f1 .word 0x0803b7f1 k += 100000; 803b7ac: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803b7b0: 4b2c ldr r3, [pc, #176] ; (803b864 ) 803b7b2: 4413 add r3, r2 803b7b4: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803b7b8: e020 b.n 803b7fc k += 10000; 803b7ba: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803b7be: f242 7310 movw r3, #10000 ; 0x2710 803b7c2: 4413 add r3, r2 803b7c4: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803b7c8: e018 b.n 803b7fc k += 1000; 803b7ca: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803b7ce: f503 737a add.w r3, r3, #1000 ; 0x3e8 803b7d2: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803b7d6: e011 b.n 803b7fc k += 100; 803b7d8: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803b7dc: 3364 adds r3, #100 ; 0x64 803b7de: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803b7e2: e00b b.n 803b7fc k += 10; 803b7e4: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803b7e8: 330a adds r3, #10 803b7ea: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803b7ee: e005 b.n 803b7fc k++; 803b7f0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803b7f4: 3301 adds r3, #1 803b7f6: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803b7fa: bf00 nop if(k > 999999) k = 999999; 803b7fc: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803b800: 4a1d ldr r2, [pc, #116] ; (803b878 ) 803b802: 4293 cmp r3, r2 803b804: d902 bls.n 803b80c 803b806: 4b1c ldr r3, [pc, #112] ; (803b878 ) 803b808: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 if(k == 0) k = 1; 803b80c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803b810: 2b00 cmp r3, #0 803b812: d102 bne.n 803b81a 803b814: 2301 movs r3, #1 803b816: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.MAX_VAL = (float32_t) k; 803b81a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803b81e: ee07 3a90 vmov s15, r3 803b822: eef8 7a67 vcvt.f32.u32 s15, s15 803b826: 4b0d ldr r3, [pc, #52] ; (803b85c ) 803b828: edc3 7a06 vstr s15, [r3, #24] pardata.MAX_VAL *= 0.1f; 803b82c: 4b0b ldr r3, [pc, #44] ; (803b85c ) 803b82e: edd3 7a06 vldr s15, [r3, #24] 803b832: ed9f 7a12 vldr s14, [pc, #72] ; 803b87c 803b836: ee67 7a87 vmul.f32 s15, s15, s14 803b83a: 4b08 ldr r3, [pc, #32] ; (803b85c ) 803b83c: edc3 7a06 vstr s15, [r3, #24] pardata.MAX_VAL += 0.05f; 803b840: 4b06 ldr r3, [pc, #24] ; (803b85c ) 803b842: edd3 7a06 vldr s15, [r3, #24] 803b846: ed9f 7a0e vldr s14, [pc, #56] ; 803b880 803b84a: ee77 7a87 vadd.f32 s15, s15, s14 803b84e: 4b03 ldr r3, [pc, #12] ; (803b85c ) 803b850: edc3 7a06 vstr s15, [r3, #24] break; 803b854: e2eb b.n 803be2e 803b856: bf00 nop 803b858: 20020070 .word 0x20020070 803b85c: 20023e60 .word 0x20023e60 803b860: 0a7c5ac5 .word 0x0a7c5ac5 803b864: 000186a0 .word 0x000186a0 803b868: d1b71759 .word 0xd1b71759 803b86c: 10624dd3 .word 0x10624dd3 803b870: 51eb851f .word 0x51eb851f 803b874: cccccccd .word 0xcccccccd 803b878: 000f423f .word 0x000f423f 803b87c: 3dcccccd .word 0x3dcccccd 803b880: 3d4ccccd .word 0x3d4ccccd case SETTINGS: focused = false; 803b884: 4bca ldr r3, [pc, #808] ; (803bbb0 ) 803b886: 2200 movs r2, #0 803b888: 701a strb r2, [r3, #0] if(menupos >= Ies) 803b88a: 4bca ldr r3, [pc, #808] ; (803bbb4 ) 803b88c: 781b ldrb r3, [r3, #0] 803b88e: b2db uxtb r3, r3 803b890: 2b0b cmp r3, #11 803b892: f240 8130 bls.w 803baf6 { k = (uint32_t) (pardata.IKK * 1000.0f); 803b896: 4bc8 ldr r3, [pc, #800] ; (803bbb8 ) 803b898: edd3 7a04 vldr s15, [r3, #16] 803b89c: ed9f 7ac7 vldr s14, [pc, #796] ; 803bbbc 803b8a0: ee67 7a87 vmul.f32 s15, s15, s14 803b8a4: eefc 7ae7 vcvt.u32.f32 s15, s15 803b8a8: ee17 3a90 vmov r3, s15 803b8ac: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 ies = (uint8_t) (k / 100000); 803b8b0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803b8b4: 095b lsrs r3, r3, #5 803b8b6: 4ac2 ldr r2, [pc, #776] ; (803bbc0 ) 803b8b8: fba2 2303 umull r2, r3, r2, r3 803b8bc: 09db lsrs r3, r3, #7 803b8be: b2db uxtb r3, r3 803b8c0: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 / 10000); 803b8c4: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803b8c8: 0953 lsrs r3, r2, #5 803b8ca: 49bd ldr r1, [pc, #756] ; (803bbc0 ) 803b8cc: fba1 1303 umull r1, r3, r1, r3 803b8d0: 09db lsrs r3, r3, #7 803b8d2: 49bc ldr r1, [pc, #752] ; (803bbc4 ) 803b8d4: fb01 f303 mul.w r3, r1, r3 803b8d8: 1ad3 subs r3, r2, r3 803b8da: 4abb ldr r2, [pc, #748] ; (803bbc8 ) 803b8dc: fba2 2303 umull r2, r3, r2, r3 803b8e0: 0b5b lsrs r3, r3, #13 803b8e2: b2db uxtb r3, r3 803b8e4: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 / 1000); 803b8e8: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803b8ec: 0953 lsrs r3, r2, #5 803b8ee: 49b4 ldr r1, [pc, #720] ; (803bbc0 ) 803b8f0: fba1 1303 umull r1, r3, r1, r3 803b8f4: 09db lsrs r3, r3, #7 803b8f6: 49b3 ldr r1, [pc, #716] ; (803bbc4 ) 803b8f8: fb01 f303 mul.w r3, r1, r3 803b8fc: 1ad3 subs r3, r2, r3 803b8fe: 4ab2 ldr r2, [pc, #712] ; (803bbc8 ) 803b900: fba2 1203 umull r1, r2, r2, r3 803b904: 0b52 lsrs r2, r2, #13 803b906: f242 7110 movw r1, #10000 ; 0x2710 803b90a: fb01 f202 mul.w r2, r1, r2 803b90e: 1a9a subs r2, r3, r2 803b910: 4bae ldr r3, [pc, #696] ; (803bbcc ) 803b912: fba3 2302 umull r2, r3, r3, r2 803b916: 099b lsrs r3, r3, #6 803b918: b2db uxtb r3, r3 803b91a: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 803b91e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803b922: 095a lsrs r2, r3, #5 803b924: 49a6 ldr r1, [pc, #664] ; (803bbc0 ) 803b926: fba1 1202 umull r1, r2, r1, r2 803b92a: 09d2 lsrs r2, r2, #7 803b92c: 49a5 ldr r1, [pc, #660] ; (803bbc4 ) 803b92e: fb01 f202 mul.w r2, r1, r2 803b932: 1a9a subs r2, r3, r2 803b934: 4ba4 ldr r3, [pc, #656] ; (803bbc8 ) 803b936: fba3 1302 umull r1, r3, r3, r2 803b93a: 0b5b lsrs r3, r3, #13 803b93c: f242 7110 movw r1, #10000 ; 0x2710 803b940: fb01 f303 mul.w r3, r1, r3 803b944: 1ad3 subs r3, r2, r3 803b946: 4aa1 ldr r2, [pc, #644] ; (803bbcc ) 803b948: fba2 1203 umull r1, r2, r2, r3 803b94c: 0992 lsrs r2, r2, #6 803b94e: f44f 717a mov.w r1, #1000 ; 0x3e8 803b952: fb01 f202 mul.w r2, r1, r2 803b956: 1a9a subs r2, r3, r2 803b958: 4b9d ldr r3, [pc, #628] ; (803bbd0 ) 803b95a: fba3 2302 umull r2, r3, r3, r2 803b95e: 095b lsrs r3, r3, #5 803b960: b2db uxtb r3, r3 803b962: f887 306e strb.w r3, [r7, #110] ; 0x6e iks = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 803b966: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803b96a: 0953 lsrs r3, r2, #5 803b96c: 4994 ldr r1, [pc, #592] ; (803bbc0 ) 803b96e: fba1 1303 umull r1, r3, r1, r3 803b972: 09db lsrs r3, r3, #7 803b974: 4993 ldr r1, [pc, #588] ; (803bbc4 ) 803b976: fb01 f303 mul.w r3, r1, r3 803b97a: 1ad3 subs r3, r2, r3 803b97c: 4a92 ldr r2, [pc, #584] ; (803bbc8 ) 803b97e: fba2 1203 umull r1, r2, r2, r3 803b982: 0b52 lsrs r2, r2, #13 803b984: f242 7110 movw r1, #10000 ; 0x2710 803b988: fb01 f202 mul.w r2, r1, r2 803b98c: 1a9a subs r2, r3, r2 803b98e: 4b8f ldr r3, [pc, #572] ; (803bbcc ) 803b990: fba3 1302 umull r1, r3, r3, r2 803b994: 099b lsrs r3, r3, #6 803b996: f44f 717a mov.w r1, #1000 ; 0x3e8 803b99a: fb01 f303 mul.w r3, r1, r3 803b99e: 1ad3 subs r3, r2, r3 803b9a0: 4a8b ldr r2, [pc, #556] ; (803bbd0 ) 803b9a2: fba2 1203 umull r1, r2, r2, r3 803b9a6: 0952 lsrs r2, r2, #5 803b9a8: 2164 movs r1, #100 ; 0x64 803b9aa: fb01 f202 mul.w r2, r1, r2 803b9ae: 1a9a subs r2, r3, r2 803b9b0: 4b88 ldr r3, [pc, #544] ; (803bbd4 ) 803b9b2: fba3 2302 umull r2, r3, r3, r2 803b9b6: 08db lsrs r3, r3, #3 803b9b8: b2db uxtb r3, r3 803b9ba: f887 306d strb.w r3, [r7, #109] ; 0x6d ikt = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 803b9be: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803b9c2: 0953 lsrs r3, r2, #5 803b9c4: 497e ldr r1, [pc, #504] ; (803bbc0 ) 803b9c6: fba1 1303 umull r1, r3, r1, r3 803b9ca: 09db lsrs r3, r3, #7 803b9cc: 497d ldr r1, [pc, #500] ; (803bbc4 ) 803b9ce: fb01 f303 mul.w r3, r1, r3 803b9d2: 1ad3 subs r3, r2, r3 803b9d4: 4a7c ldr r2, [pc, #496] ; (803bbc8 ) 803b9d6: fba2 1203 umull r1, r2, r2, r3 803b9da: 0b52 lsrs r2, r2, #13 803b9dc: f242 7110 movw r1, #10000 ; 0x2710 803b9e0: fb01 f202 mul.w r2, r1, r2 803b9e4: 1a9a subs r2, r3, r2 803b9e6: 4b79 ldr r3, [pc, #484] ; (803bbcc ) 803b9e8: fba3 1302 umull r1, r3, r3, r2 803b9ec: 099b lsrs r3, r3, #6 803b9ee: f44f 717a mov.w r1, #1000 ; 0x3e8 803b9f2: fb01 f303 mul.w r3, r1, r3 803b9f6: 1ad3 subs r3, r2, r3 803b9f8: 4a75 ldr r2, [pc, #468] ; (803bbd0 ) 803b9fa: fba2 1203 umull r1, r2, r2, r3 803b9fe: 0952 lsrs r2, r2, #5 803ba00: 2164 movs r1, #100 ; 0x64 803ba02: fb01 f202 mul.w r2, r1, r2 803ba06: 1a9a subs r2, r3, r2 803ba08: 4b72 ldr r3, [pc, #456] ; (803bbd4 ) 803ba0a: fba3 1302 umull r1, r3, r3, r2 803ba0e: 08d9 lsrs r1, r3, #3 803ba10: 460b mov r3, r1 803ba12: 009b lsls r3, r3, #2 803ba14: 440b add r3, r1 803ba16: 005b lsls r3, r3, #1 803ba18: 1ad1 subs r1, r2, r3 803ba1a: b2cb uxtb r3, r1 803ba1c: f887 306c strb.w r3, [r7, #108] ; 0x6c switch(menupos) 803ba20: 4b64 ldr r3, [pc, #400] ; (803bbb4 ) 803ba22: 781b ldrb r3, [r3, #0] 803ba24: b2db uxtb r3, r3 803ba26: 3b0c subs r3, #12 803ba28: 2b05 cmp r3, #5 803ba2a: d837 bhi.n 803ba9c 803ba2c: a201 add r2, pc, #4 ; (adr r2, 803ba34 ) 803ba2e: f852 f023 ldr.w pc, [r2, r3, lsl #2] 803ba32: bf00 nop 803ba34: 0803ba4d .word 0x0803ba4d 803ba38: 0803ba5b .word 0x0803ba5b 803ba3c: 0803ba6b .word 0x0803ba6b 803ba40: 0803ba79 .word 0x0803ba79 803ba44: 0803ba85 .word 0x0803ba85 803ba48: 0803ba91 .word 0x0803ba91 { case Ies: k += 100000; 803ba4c: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803ba50: 4b5c ldr r3, [pc, #368] ; (803bbc4 ) 803ba52: 4413 add r3, r2 803ba54: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803ba58: e020 b.n 803ba9c case Ied: k += 10000; 803ba5a: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803ba5e: f242 7310 movw r3, #10000 ; 0x2710 803ba62: 4413 add r3, r2 803ba64: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803ba68: e018 b.n 803ba9c case Iee: k += 1000; 803ba6a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803ba6e: f503 737a add.w r3, r3, #1000 ; 0x3e8 803ba72: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803ba76: e011 b.n 803ba9c case Ikd: k += 100; 803ba78: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803ba7c: 3364 adds r3, #100 ; 0x64 803ba7e: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803ba82: e00b b.n 803ba9c case Iks: k += 10; 803ba84: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803ba88: 330a adds r3, #10 803ba8a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803ba8e: e005 b.n 803ba9c case Ikt: k++; 803ba90: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803ba94: 3301 adds r3, #1 803ba96: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803ba9a: bf00 nop } if(k > 999999) k = 999999; 803ba9c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803baa0: 4a4d ldr r2, [pc, #308] ; (803bbd8 ) 803baa2: 4293 cmp r3, r2 803baa4: d902 bls.n 803baac 803baa6: 4b4c ldr r3, [pc, #304] ; (803bbd8 ) 803baa8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 if(k == 0) k = 1; 803baac: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803bab0: 2b00 cmp r3, #0 803bab2: d102 bne.n 803baba 803bab4: 2301 movs r3, #1 803bab6: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.IKK = (float32_t) k; 803baba: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803babe: ee07 3a90 vmov s15, r3 803bac2: eef8 7a67 vcvt.f32.u32 s15, s15 803bac6: 4b3c ldr r3, [pc, #240] ; (803bbb8 ) 803bac8: edc3 7a04 vstr s15, [r3, #16] pardata.IKK *= 0.001f; 803bacc: 4b3a ldr r3, [pc, #232] ; (803bbb8 ) 803bace: edd3 7a04 vldr s15, [r3, #16] 803bad2: ed9f 7a42 vldr s14, [pc, #264] ; 803bbdc 803bad6: ee67 7a87 vmul.f32 s15, s15, s14 803bada: 4b37 ldr r3, [pc, #220] ; (803bbb8 ) 803badc: edc3 7a04 vstr s15, [r3, #16] pardata.IKK += 0.0005f; 803bae0: 4b35 ldr r3, [pc, #212] ; (803bbb8 ) 803bae2: edd3 7a04 vldr s15, [r3, #16] 803bae6: ed9f 7a3e vldr s14, [pc, #248] ; 803bbe0 803baea: ee77 7a87 vadd.f32 s15, s15, s14 803baee: 4b32 ldr r3, [pc, #200] ; (803bbb8 ) 803baf0: edc3 7a04 vstr s15, [r3, #16] else menupos = FormatDisk; #endif #endif } break; 803baf4: e1b1 b.n 803be5a focused = false; 803baf6: 4b2e ldr r3, [pc, #184] ; (803bbb0 ) 803baf8: 2200 movs r2, #0 803bafa: 701a strb r2, [r3, #0] if(menupos > Type) menupos--; 803bafc: 4b2d ldr r3, [pc, #180] ; (803bbb4 ) 803bafe: 781b ldrb r3, [r3, #0] 803bb00: b2db uxtb r3, r3 803bb02: 2b01 cmp r3, #1 803bb04: d907 bls.n 803bb16 803bb06: 4b2b ldr r3, [pc, #172] ; (803bbb4 ) 803bb08: 781b ldrb r3, [r3, #0] 803bb0a: b2db uxtb r3, r3 803bb0c: 3b01 subs r3, #1 803bb0e: b2da uxtb r2, r3 803bb10: 4b28 ldr r3, [pc, #160] ; (803bbb4 ) 803bb12: 701a strb r2, [r3, #0] break; 803bb14: e1a1 b.n 803be5a else menupos = FormatDisk; 803bb16: 4b27 ldr r3, [pc, #156] ; (803bbb4 ) 803bb18: 2205 movs r2, #5 803bb1a: 701a strb r2, [r3, #0] break; 803bb1c: e19d b.n 803be5a case DATETIME: if(menupos > TimeAll) 803bb1e: 4b25 ldr r3, [pc, #148] ; (803bbb4 ) 803bb20: 781b ldrb r3, [r3, #0] 803bb22: b2db uxtb r3, r3 803bb24: 2b02 cmp r3, #2 803bb26: d930 bls.n 803bb8a { switch(menupos) 803bb28: 4b22 ldr r3, [pc, #136] ; (803bbb4 ) 803bb2a: 781b ldrb r3, [r3, #0] 803bb2c: b2db uxtb r3, r3 803bb2e: 3b03 subs r3, #3 803bb30: 2b04 cmp r3, #4 803bb32: f200 817f bhi.w 803be34 803bb36: a201 add r2, pc, #4 ; (adr r2, 803bb3c ) 803bb38: f852 f023 ldr.w pc, [r2, r3, lsl #2] 803bb3c: 0803bb51 .word 0x0803bb51 803bb40: 0803bb5d .word 0x0803bb5d 803bb44: 0803bb69 .word 0x0803bb69 803bb48: 0803bb75 .word 0x0803bb75 803bb4c: 0803bb7f .word 0x0803bb7f { case DateD: ChangeDate(+1, 0, 0); break; 803bb50: 2200 movs r2, #0 803bb52: 2100 movs r1, #0 803bb54: 2001 movs r0, #1 803bb56: f02b fda1 bl 806769c 803bb5a: e027 b.n 803bbac case DateM: ChangeDate(0, +1, 0); break; 803bb5c: 2200 movs r2, #0 803bb5e: 2101 movs r1, #1 803bb60: 2000 movs r0, #0 803bb62: f02b fd9b bl 806769c 803bb66: e021 b.n 803bbac case DateY: ChangeDate(0, 0, +1); break; 803bb68: 2201 movs r2, #1 803bb6a: 2100 movs r1, #0 803bb6c: 2000 movs r0, #0 803bb6e: f02b fd95 bl 806769c 803bb72: e01b b.n 803bbac case TimeH: ChangeTime(+1, 0); break; 803bb74: 2100 movs r1, #0 803bb76: 2001 movs r0, #1 803bb78: f02b fd26 bl 80675c8 803bb7c: e016 b.n 803bbac case TimeM: ChangeTime(0, +1); break; 803bb7e: 2101 movs r1, #1 803bb80: 2000 movs r0, #0 803bb82: f02b fd21 bl 80675c8 803bb86: bf00 nop 803bb88: e010 b.n 803bbac } } else { if(menupos > DateAll) menupos--; 803bb8a: 4b0a ldr r3, [pc, #40] ; (803bbb4 ) 803bb8c: 781b ldrb r3, [r3, #0] 803bb8e: b2db uxtb r3, r3 803bb90: 2b01 cmp r3, #1 803bb92: d907 bls.n 803bba4 803bb94: 4b07 ldr r3, [pc, #28] ; (803bbb4 ) 803bb96: 781b ldrb r3, [r3, #0] 803bb98: b2db uxtb r3, r3 803bb9a: 3b01 subs r3, #1 803bb9c: b2da uxtb r2, r3 803bb9e: 4b05 ldr r3, [pc, #20] ; (803bbb4 ) 803bba0: 701a strb r2, [r3, #0] else menupos = TimeAll; } break; 803bba2: e147 b.n 803be34 else menupos = TimeAll; 803bba4: 4b03 ldr r3, [pc, #12] ; (803bbb4 ) 803bba6: 2202 movs r2, #2 803bba8: 701a strb r2, [r3, #0] break; 803bbaa: e143 b.n 803be34 803bbac: e142 b.n 803be34 803bbae: bf00 nop 803bbb0: 20020f84 .word 0x20020f84 803bbb4: 20020070 .word 0x20020070 803bbb8: 20023e60 .word 0x20023e60 803bbbc: 447a0000 .word 0x447a0000 803bbc0: 0a7c5ac5 .word 0x0a7c5ac5 803bbc4: 000186a0 .word 0x000186a0 803bbc8: d1b71759 .word 0xd1b71759 803bbcc: 10624dd3 .word 0x10624dd3 803bbd0: 51eb851f .word 0x51eb851f 803bbd4: cccccccd .word 0xcccccccd 803bbd8: 000f423f .word 0x000f423f 803bbdc: 3a83126f .word 0x3a83126f 803bbe0: 3a03126f .word 0x3a03126f case CLEAN_FILES: if(menupos == FilesPTM) 803bbe4: 4b9e ldr r3, [pc, #632] ; (803be60 ) 803bbe6: 781b ldrb r3, [r3, #0] 803bbe8: b2db uxtb r3, r3 803bbea: 2b02 cmp r3, #2 803bbec: f040 8125 bne.w 803be3a { if(CursorIndex > 0) 803bbf0: 4b9c ldr r3, [pc, #624] ; (803be64 ) 803bbf2: 681b ldr r3, [r3, #0] 803bbf4: 2b00 cmp r3, #0 803bbf6: d005 beq.n 803bc04 CursorIndex--; 803bbf8: 4b9a ldr r3, [pc, #616] ; (803be64 ) 803bbfa: 681b ldr r3, [r3, #0] 803bbfc: 3b01 subs r3, #1 803bbfe: 4a99 ldr r2, [pc, #612] ; (803be64 ) 803bc00: 6013 str r3, [r2, #0] 803bc02: e010 b.n 803bc26 else { if(FirstFileIndex > 0) 803bc04: 4b98 ldr r3, [pc, #608] ; (803be68 ) 803bc06: 681b ldr r3, [r3, #0] 803bc08: 2b00 cmp r3, #0 803bc0a: d00c beq.n 803bc26 { FirstFileIndex--; 803bc0c: 4b96 ldr r3, [pc, #600] ; (803be68 ) 803bc0e: 681b ldr r3, [r3, #0] 803bc10: 3b01 subs r3, #1 803bc12: 4a95 ldr r2, [pc, #596] ; (803be68 ) 803bc14: 6013 str r3, [r2, #0] result = ReadMyFilesPTM(FirstFileIndex); 803bc16: 4b94 ldr r3, [pc, #592] ; (803be68 ) 803bc18: 681b ldr r3, [r3, #0] 803bc1a: 4618 mov r0, r3 803bc1c: f7ee ff68 bl 802aaf0 803bc20: 4603 mov r3, r0 803bc22: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 { /* îøèáêà ÷òåíèÿ ñïèñêà ôàéëîâ*/ } } } RealFileIndex = FirstFileIndex + CursorIndex; 803bc26: 4b90 ldr r3, [pc, #576] ; (803be68 ) 803bc28: 681a ldr r2, [r3, #0] 803bc2a: 4b8e ldr r3, [pc, #568] ; (803be64 ) 803bc2c: 681b ldr r3, [r3, #0] 803bc2e: 4413 add r3, r2 803bc30: 4a8e ldr r2, [pc, #568] ; (803be6c ) 803bc32: 6013 str r3, [r2, #0] } break; 803bc34: e101 b.n 803be3a } break;*/ case ARCHIVE: if(menupos > Ok) menupos--; 803bc36: 4b8a ldr r3, [pc, #552] ; (803be60 ) 803bc38: 781b ldrb r3, [r3, #0] 803bc3a: b2db uxtb r3, r3 803bc3c: 2b00 cmp r3, #0 803bc3e: d007 beq.n 803bc50 803bc40: 4b87 ldr r3, [pc, #540] ; (803be60 ) 803bc42: 781b ldrb r3, [r3, #0] 803bc44: b2db uxtb r3, r3 803bc46: 3b01 subs r3, #1 803bc48: b2da uxtb r2, r3 803bc4a: 4b85 ldr r3, [pc, #532] ; (803be60 ) 803bc4c: 701a strb r2, [r3, #0] else menupos = ArchiveWave; break; 803bc4e: e104 b.n 803be5a else menupos = ArchiveWave; 803bc50: 4b83 ldr r3, [pc, #524] ; (803be60 ) 803bc52: 2202 movs r2, #2 803bc54: 701a strb r2, [r3, #0] break; 803bc56: e100 b.n 803be5a case ARCHIVE_SPEC: if(menupos == FilesSPEC) 803bc58: 4b81 ldr r3, [pc, #516] ; (803be60 ) 803bc5a: 781b ldrb r3, [r3, #0] 803bc5c: b2db uxtb r3, r3 803bc5e: 2b02 cmp r3, #2 803bc60: f040 80ee bne.w 803be40 { if(CursorIndex > 0) 803bc64: 4b7f ldr r3, [pc, #508] ; (803be64 ) 803bc66: 681b ldr r3, [r3, #0] 803bc68: 2b00 cmp r3, #0 803bc6a: d005 beq.n 803bc78 CursorIndex--; 803bc6c: 4b7d ldr r3, [pc, #500] ; (803be64 ) 803bc6e: 681b ldr r3, [r3, #0] 803bc70: 3b01 subs r3, #1 803bc72: 4a7c ldr r2, [pc, #496] ; (803be64 ) 803bc74: 6013 str r3, [r2, #0] 803bc76: e010 b.n 803bc9a else { if(FirstFileIndex > 0) 803bc78: 4b7b ldr r3, [pc, #492] ; (803be68 ) 803bc7a: 681b ldr r3, [r3, #0] 803bc7c: 2b00 cmp r3, #0 803bc7e: d00c beq.n 803bc9a { FirstFileIndex--; 803bc80: 4b79 ldr r3, [pc, #484] ; (803be68 ) 803bc82: 681b ldr r3, [r3, #0] 803bc84: 3b01 subs r3, #1 803bc86: 4a78 ldr r2, [pc, #480] ; (803be68 ) 803bc88: 6013 str r3, [r2, #0] result = ReadMyFilesSPEC(FirstFileIndex); 803bc8a: 4b77 ldr r3, [pc, #476] ; (803be68 ) 803bc8c: 681b ldr r3, [r3, #0] 803bc8e: 4618 mov r0, r3 803bc90: f7ee ff48 bl 802ab24 803bc94: 4603 mov r3, r0 803bc96: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 { /* îøèáêà ÷òåíèÿ 12 ôàéëîâ*/ } } } RealFileIndex = FirstFileIndex + CursorIndex; 803bc9a: 4b73 ldr r3, [pc, #460] ; (803be68 ) 803bc9c: 681a ldr r2, [r3, #0] 803bc9e: 4b71 ldr r3, [pc, #452] ; (803be64 ) 803bca0: 681b ldr r3, [r3, #0] 803bca2: 4413 add r3, r2 803bca4: 4a71 ldr r2, [pc, #452] ; (803be6c ) 803bca6: 6013 str r3, [r2, #0] } break; 803bca8: e0ca b.n 803be40 case ARCHIVE_FRAN: if(menupos == FilesFRAN) 803bcaa: 4b6d ldr r3, [pc, #436] ; (803be60 ) 803bcac: 781b ldrb r3, [r3, #0] 803bcae: b2db uxtb r3, r3 803bcb0: 2b02 cmp r3, #2 803bcb2: f040 80c8 bne.w 803be46 { if(CursorIndex > 0) 803bcb6: 4b6b ldr r3, [pc, #428] ; (803be64 ) 803bcb8: 681b ldr r3, [r3, #0] 803bcba: 2b00 cmp r3, #0 803bcbc: d005 beq.n 803bcca CursorIndex--; 803bcbe: 4b69 ldr r3, [pc, #420] ; (803be64 ) 803bcc0: 681b ldr r3, [r3, #0] 803bcc2: 3b01 subs r3, #1 803bcc4: 4a67 ldr r2, [pc, #412] ; (803be64 ) 803bcc6: 6013 str r3, [r2, #0] 803bcc8: e010 b.n 803bcec else { if(FirstFileIndex > 0) 803bcca: 4b67 ldr r3, [pc, #412] ; (803be68 ) 803bccc: 681b ldr r3, [r3, #0] 803bcce: 2b00 cmp r3, #0 803bcd0: d00c beq.n 803bcec { FirstFileIndex--; 803bcd2: 4b65 ldr r3, [pc, #404] ; (803be68 ) 803bcd4: 681b ldr r3, [r3, #0] 803bcd6: 3b01 subs r3, #1 803bcd8: 4a63 ldr r2, [pc, #396] ; (803be68 ) 803bcda: 6013 str r3, [r2, #0] result = ReadMyFilesFRAN(FirstFileIndex); 803bcdc: 4b62 ldr r3, [pc, #392] ; (803be68 ) 803bcde: 681b ldr r3, [r3, #0] 803bce0: 4618 mov r0, r3 803bce2: f7ee ff2c bl 802ab3e 803bce6: 4603 mov r3, r0 803bce8: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 { /* îøèáêà ÷òåíèÿ 12 ôàéëîâ*/ } } } RealFileIndex = FirstFileIndex + CursorIndex; 803bcec: 4b5e ldr r3, [pc, #376] ; (803be68 ) 803bcee: 681a ldr r2, [r3, #0] 803bcf0: 4b5c ldr r3, [pc, #368] ; (803be64 ) 803bcf2: 681b ldr r3, [r3, #0] 803bcf4: 4413 add r3, r2 803bcf6: 4a5d ldr r2, [pc, #372] ; (803be6c ) 803bcf8: 6013 str r3, [r2, #0] } break; 803bcfa: e0a4 b.n 803be46 case ARCHIVE_WAVE: if(menupos == FilesGTR) 803bcfc: 4b58 ldr r3, [pc, #352] ; (803be60 ) 803bcfe: 781b ldrb r3, [r3, #0] 803bd00: b2db uxtb r3, r3 803bd02: 2b02 cmp r3, #2 803bd04: f040 80a2 bne.w 803be4c { if(CursorIndex > 0) 803bd08: 4b56 ldr r3, [pc, #344] ; (803be64 ) 803bd0a: 681b ldr r3, [r3, #0] 803bd0c: 2b00 cmp r3, #0 803bd0e: d005 beq.n 803bd1c CursorIndex--; 803bd10: 4b54 ldr r3, [pc, #336] ; (803be64 ) 803bd12: 681b ldr r3, [r3, #0] 803bd14: 3b01 subs r3, #1 803bd16: 4a53 ldr r2, [pc, #332] ; (803be64 ) 803bd18: 6013 str r3, [r2, #0] 803bd1a: e010 b.n 803bd3e else { if(FirstFileIndex > 0) 803bd1c: 4b52 ldr r3, [pc, #328] ; (803be68 ) 803bd1e: 681b ldr r3, [r3, #0] 803bd20: 2b00 cmp r3, #0 803bd22: d00c beq.n 803bd3e { FirstFileIndex--; 803bd24: 4b50 ldr r3, [pc, #320] ; (803be68 ) 803bd26: 681b ldr r3, [r3, #0] 803bd28: 3b01 subs r3, #1 803bd2a: 4a4f ldr r2, [pc, #316] ; (803be68 ) 803bd2c: 6013 str r3, [r2, #0] result = ReadMyFilesGTR(FirstFileIndex); 803bd2e: 4b4e ldr r3, [pc, #312] ; (803be68 ) 803bd30: 681b ldr r3, [r3, #0] 803bd32: 4618 mov r0, r3 803bd34: f7ee ff10 bl 802ab58 803bd38: 4603 mov r3, r0 803bd3a: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 { /* îøèáêà ÷òåíèÿ 12 ôàéëîâ*/ } } } RealFileIndex = FirstFileIndex + CursorIndex; 803bd3e: 4b4a ldr r3, [pc, #296] ; (803be68 ) 803bd40: 681a ldr r2, [r3, #0] 803bd42: 4b48 ldr r3, [pc, #288] ; (803be64 ) 803bd44: 681b ldr r3, [r3, #0] 803bd46: 4413 add r3, r2 803bd48: 4a48 ldr r2, [pc, #288] ; (803be6c ) 803bd4a: 6013 str r3, [r2, #0] } break; 803bd4c: e07e b.n 803be4c case ROUTE: if(menupos == FilesCSV) 803bd4e: 4b44 ldr r3, [pc, #272] ; (803be60 ) 803bd50: 781b ldrb r3, [r3, #0] 803bd52: b2db uxtb r3, r3 803bd54: 2b02 cmp r3, #2 803bd56: d17c bne.n 803be52 { if(CursorIndex > 0) 803bd58: 4b42 ldr r3, [pc, #264] ; (803be64 ) 803bd5a: 681b ldr r3, [r3, #0] 803bd5c: 2b00 cmp r3, #0 803bd5e: d005 beq.n 803bd6c CursorIndex--; 803bd60: 4b40 ldr r3, [pc, #256] ; (803be64 ) 803bd62: 681b ldr r3, [r3, #0] 803bd64: 3b01 subs r3, #1 803bd66: 4a3f ldr r2, [pc, #252] ; (803be64 ) 803bd68: 6013 str r3, [r2, #0] 803bd6a: e010 b.n 803bd8e else { if(FirstFileIndex > 0) 803bd6c: 4b3e ldr r3, [pc, #248] ; (803be68 ) 803bd6e: 681b ldr r3, [r3, #0] 803bd70: 2b00 cmp r3, #0 803bd72: d00c beq.n 803bd8e { FirstFileIndex--; 803bd74: 4b3c ldr r3, [pc, #240] ; (803be68 ) 803bd76: 681b ldr r3, [r3, #0] 803bd78: 3b01 subs r3, #1 803bd7a: 4a3b ldr r2, [pc, #236] ; (803be68 ) 803bd7c: 6013 str r3, [r2, #0] result = ReadMyFilesCSV(FirstFileIndex); 803bd7e: 4b3a ldr r3, [pc, #232] ; (803be68 ) 803bd80: 681b ldr r3, [r3, #0] 803bd82: 4618 mov r0, r3 803bd84: f7ee fef5 bl 802ab72 803bd88: 4603 mov r3, r0 803bd8a: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 { /* îøèáêà ÷òåíèÿ 12 ôàéëîâ*/ } } } RealFileIndex = FirstFileIndex + CursorIndex; 803bd8e: 4b36 ldr r3, [pc, #216] ; (803be68 ) 803bd90: 681a ldr r2, [r3, #0] 803bd92: 4b34 ldr r3, [pc, #208] ; (803be64 ) 803bd94: 681b ldr r3, [r3, #0] 803bd96: 4413 add r3, r2 803bd98: 4a34 ldr r2, [pc, #208] ; (803be6c ) 803bd9a: 6013 str r3, [r2, #0] } break; 803bd9c: e059 b.n 803be52 case CALIBR_00: if(Serial[menupos] < 0x39) 803bd9e: 4b30 ldr r3, [pc, #192] ; (803be60 ) 803bda0: 781b ldrb r3, [r3, #0] 803bda2: b2db uxtb r3, r3 803bda4: 461a mov r2, r3 803bda6: 4b32 ldr r3, [pc, #200] ; (803be70 ) 803bda8: 5c9b ldrb r3, [r3, r2] 803bdaa: 2b38 cmp r3, #56 ; 0x38 803bdac: d854 bhi.n 803be58 Serial[menupos]++; 803bdae: 4b2c ldr r3, [pc, #176] ; (803be60 ) 803bdb0: 781b ldrb r3, [r3, #0] 803bdb2: b2db uxtb r3, r3 803bdb4: 4a2e ldr r2, [pc, #184] ; (803be70 ) 803bdb6: 5cd2 ldrb r2, [r2, r3] 803bdb8: 3201 adds r2, #1 803bdba: b2d1 uxtb r1, r2 803bdbc: 4a2c ldr r2, [pc, #176] ; (803be70 ) 803bdbe: 54d1 strb r1, [r2, r3] break; 803bdc0: e04a b.n 803be58 break; 803bdc2: bf00 nop 803bdc4: f016 bfc2 b.w 8052d4c break; 803bdc8: bf00 nop 803bdca: f016 bfbf b.w 8052d4c break; 803bdce: bf00 nop 803bdd0: f016 bfbc b.w 8052d4c break; 803bdd4: bf00 nop 803bdd6: f016 bfb9 b.w 8052d4c break; 803bdda: bf00 nop 803bddc: f016 bfb6 b.w 8052d4c break; 803bde0: bf00 nop 803bde2: f016 bfb3 b.w 8052d4c break; 803bde6: bf00 nop 803bde8: f016 bfb0 b.w 8052d4c break; 803bdec: bf00 nop 803bdee: f016 bfad b.w 8052d4c break; 803bdf2: bf00 nop 803bdf4: f016 bfaa b.w 8052d4c break; 803bdf8: bf00 nop 803bdfa: f016 bfa7 b.w 8052d4c break; 803bdfe: bf00 nop 803be00: f016 bfa4 b.w 8052d4c break; 803be04: bf00 nop 803be06: f016 bfa1 b.w 8052d4c break; 803be0a: bf00 nop 803be0c: f016 bf9e b.w 8052d4c break; 803be10: bf00 nop 803be12: f016 bf9b b.w 8052d4c break; 803be16: bf00 nop 803be18: f016 bf98 b.w 8052d4c break; 803be1c: bf00 nop 803be1e: f016 bf95 b.w 8052d4c break; 803be22: bf00 nop 803be24: f016 bf92 b.w 8052d4c break; 803be28: bf00 nop 803be2a: f016 bf8f b.w 8052d4c break; 803be2e: bf00 nop 803be30: f016 bf8c b.w 8052d4c break; 803be34: bf00 nop 803be36: f016 bf89 b.w 8052d4c break; 803be3a: bf00 nop 803be3c: f016 bf86 b.w 8052d4c break; 803be40: bf00 nop 803be42: f016 bf83 b.w 8052d4c break; 803be46: bf00 nop 803be48: f016 bf80 b.w 8052d4c break; 803be4c: bf00 nop 803be4e: f016 bf7d b.w 8052d4c break; 803be52: bf00 nop 803be54: f016 bf7a b.w 8052d4c break; 803be58: bf00 nop } break; 803be5a: f016 bf77 b.w 8052d4c 803be5e: bf00 nop 803be60: 20020070 .word 0x20020070 803be64: 20020de0 .word 0x20020de0 803be68: 20020de4 .word 0x20020de4 803be6c: 20020de8 .word 0x20020de8 803be70: 20026d04 .word 0x20026d04 case KEY_DN://TODO KEY DOWN switch(menu) 803be74: 4b6d ldr r3, [pc, #436] ; (803c02c ) 803be76: 781b ldrb r3, [r3, #0] 803be78: b2db uxtb r3, r3 803be7a: 2b47 cmp r3, #71 ; 0x47 803be7c: f216 8768 bhi.w 8052d50 803be80: a201 add r2, pc, #4 ; (adr r2, 803be88 ) 803be82: f852 f023 ldr.w pc, [r2, r3, lsl #2] 803be86: bf00 nop 803be88: 0803d875 .word 0x0803d875 803be8c: 0803e029 .word 0x0803e029 803be90: 0803e05b .word 0x0803e05b 803be94: 0804389b .word 0x0804389b 803be98: 08042885 .word 0x08042885 803be9c: 08052d51 .word 0x08052d51 803bea0: 0803f715 .word 0x0803f715 803bea4: 0804021f .word 0x0804021f 803bea8: 080419a7 .word 0x080419a7 803beac: 08052d51 .word 0x08052d51 803beb0: 08042c13 .word 0x08042c13 803beb4: 08052d51 .word 0x08052d51 803beb8: 08052d51 .word 0x08052d51 803bebc: 0803e591 .word 0x0803e591 803bec0: 0803e0b1 .word 0x0803e0b1 803bec4: 0803bfa9 .word 0x0803bfa9 803bec8: 0803c301 .word 0x0803c301 803becc: 0803c327 .word 0x0803c327 803bed0: 080432fd .word 0x080432fd 803bed4: 08052d51 .word 0x08052d51 803bed8: 08043729 .word 0x08043729 803bedc: 0804374b .word 0x0804374b 803bee0: 080437bb .word 0x080437bb 803bee4: 0804382b .word 0x0804382b 803bee8: 080435e5 .word 0x080435e5 803beec: 080436b9 .word 0x080436b9 803bef0: 08052d51 .word 0x08052d51 803bef4: 08052d51 .word 0x08052d51 803bef8: 0803dbb1 .word 0x0803dbb1 803befc: 0803da2f .word 0x0803da2f 803bf00: 08052d51 .word 0x08052d51 803bf04: 0803d875 .word 0x0803d875 803bf08: 0803de79 .word 0x0803de79 803bf0c: 0803dc93 .word 0x0803dc93 803bf10: 0803dd35 .word 0x0803dd35 803bf14: 0803ddd7 .word 0x0803ddd7 803bf18: 0803daa9 .word 0x0803daa9 803bf1c: 0803d767 .word 0x0803d767 803bf20: 0803d7b1 .word 0x0803d7b1 803bf24: 0803d723 .word 0x0803d723 803bf28: 0803db4b .word 0x0803db4b 803bf2c: 0803dee9 .word 0x0803dee9 803bf30: 08043953 .word 0x08043953 803bf34: 0803df75 .word 0x0803df75 803bf38: 0803df75 .word 0x0803df75 803bf3c: 0803df75 .word 0x0803df75 803bf40: 08052d51 .word 0x08052d51 803bf44: 0803df75 .word 0x0803df75 803bf48: 0803df75 .word 0x0803df75 803bf4c: 0803df75 .word 0x0803df75 803bf50: 0803df75 .word 0x0803df75 803bf54: 0803df75 .word 0x0803df75 803bf58: 0804392f .word 0x0804392f 803bf5c: 08052d51 .word 0x08052d51 803bf60: 08052d51 .word 0x08052d51 803bf64: 08052d51 .word 0x08052d51 803bf68: 08052d51 .word 0x08052d51 803bf6c: 08052d51 .word 0x08052d51 803bf70: 08052d51 .word 0x08052d51 803bf74: 08052d51 .word 0x08052d51 803bf78: 08052d51 .word 0x08052d51 803bf7c: 08052d51 .word 0x08052d51 803bf80: 08052d51 .word 0x08052d51 803bf84: 08052d51 .word 0x08052d51 803bf88: 08052d51 .word 0x08052d51 803bf8c: 08052d51 .word 0x08052d51 803bf90: 08052d51 .word 0x08052d51 803bf94: 08052d51 .word 0x08052d51 803bf98: 08052d51 .word 0x08052d51 803bf9c: 0803d749 .word 0x0803d749 803bfa0: 0803d753 .word 0x0803d753 803bfa4: 0803d75d .word 0x0803d75d { case PARAM_DIAGN: focused = false; 803bfa8: 4b21 ldr r3, [pc, #132] ; (803c030 ) 803bfaa: 2200 movs r2, #0 803bfac: 701a strb r2, [r3, #0] if(menupos == DiagUs) 803bfae: 4b21 ldr r3, [pc, #132] ; (803c034 ) 803bfb0: 781b ldrb r3, [r3, #0] 803bfb2: b2db uxtb r3, r3 803bfb4: 2b00 cmp r3, #0 803bfb6: d104 bne.n 803bfc2 menupos = DiagAverage; 803bfb8: 4b1e ldr r3, [pc, #120] ; (803c034 ) 803bfba: 2201 movs r2, #1 803bfbc: 701a strb r2, [r3, #0] pardata.MAX_VAL = (float32_t) k; pardata.MAX_VAL *= 0.1f; pardata.MAX_VAL += 0.05f; } break; 803bfbe: f007 bccb b.w 8043958 if(menupos == DiagAverage) 803bfc2: 4b1c ldr r3, [pc, #112] ; (803c034 ) 803bfc4: 781b ldrb r3, [r3, #0] 803bfc6: b2db uxtb r3, r3 803bfc8: 2b01 cmp r3, #1 803bfca: d104 bne.n 803bfd6 menupos = DiagAutoKu; 803bfcc: 4b19 ldr r3, [pc, #100] ; (803c034 ) 803bfce: 2202 movs r2, #2 803bfd0: 701a strb r2, [r3, #0] break; 803bfd2: f007 bcc1 b.w 8043958 if(menupos == DiagAutoKu) 803bfd6: 4b17 ldr r3, [pc, #92] ; (803c034 ) 803bfd8: 781b ldrb r3, [r3, #0] 803bfda: b2db uxtb r3, r3 803bfdc: 2b02 cmp r3, #2 803bfde: d110 bne.n 803c002 if(pardata.OPTIONS & 0x4) 803bfe0: 4b15 ldr r3, [pc, #84] ; (803c038 ) 803bfe2: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 803bfe6: f003 0304 and.w r3, r3, #4 803bfea: 2b00 cmp r3, #0 803bfec: d004 beq.n 803bff8 menupos = DiagSaveToFile; 803bfee: 4b11 ldr r3, [pc, #68] ; (803c034 ) 803bff0: 2204 movs r2, #4 803bff2: 701a strb r2, [r3, #0] break; 803bff4: f007 bcb0 b.w 8043958 else menupos = DiagMax_ALL; 803bff8: 4b0e ldr r3, [pc, #56] ; (803c034 ) 803bffa: 2203 movs r2, #3 803bffc: 701a strb r2, [r3, #0] break; 803bffe: f007 bcab b.w 8043958 if(menupos == DiagMax_ALL) 803c002: 4b0c ldr r3, [pc, #48] ; (803c034 ) 803c004: 781b ldrb r3, [r3, #0] 803c006: b2db uxtb r3, r3 803c008: 2b03 cmp r3, #3 803c00a: d104 bne.n 803c016 menupos = DiagSaveToFile; 803c00c: 4b09 ldr r3, [pc, #36] ; (803c034 ) 803c00e: 2204 movs r2, #4 803c010: 701a strb r2, [r3, #0] break; 803c012: f007 bca1 b.w 8043958 if(menupos == DiagSaveToFile) 803c016: 4b07 ldr r3, [pc, #28] ; (803c034 ) 803c018: 781b ldrb r3, [r3, #0] 803c01a: b2db uxtb r3, r3 803c01c: 2b04 cmp r3, #4 803c01e: d10d bne.n 803c03c menupos = DiagUs; 803c020: 4b04 ldr r3, [pc, #16] ; (803c034 ) 803c022: 2200 movs r2, #0 803c024: 701a strb r2, [r3, #0] break; 803c026: f007 bc97 b.w 8043958 803c02a: bf00 nop 803c02c: 20020f78 .word 0x20020f78 803c030: 20020f84 .word 0x20020f84 803c034: 20020070 .word 0x20020070 803c038: 20023e60 .word 0x20023e60 if((menupos >= DiagMax_IDT) && (menupos <= DiagMax_IKD)) 803c03c: 4bc4 ldr r3, [pc, #784] ; (803c350 ) 803c03e: 781b ldrb r3, [r3, #0] 803c040: b2db uxtb r3, r3 803c042: 2b04 cmp r3, #4 803c044: f247 8488 bls.w 8043958 803c048: 4bc1 ldr r3, [pc, #772] ; (803c350 ) 803c04a: 781b ldrb r3, [r3, #0] 803c04c: b2db uxtb r3, r3 803c04e: 2b0a cmp r3, #10 803c050: f207 8482 bhi.w 8043958 k = (uint32_t) (pardata.MAX_VAL * 10.0f); 803c054: 4bbf ldr r3, [pc, #764] ; (803c354 ) 803c056: edd3 7a06 vldr s15, [r3, #24] 803c05a: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 803c05e: ee67 7a87 vmul.f32 s15, s15, s14 803c062: eefc 7ae7 vcvt.u32.f32 s15, s15 803c066: ee17 3a90 vmov r3, s15 803c06a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 803c06e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803c072: 095b lsrs r3, r3, #5 803c074: 4ab8 ldr r2, [pc, #736] ; (803c358 ) 803c076: fba2 2303 umull r2, r3, r2, r3 803c07a: 09db lsrs r3, r3, #7 803c07c: b2db uxtb r3, r3 803c07e: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 803c082: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803c086: 0953 lsrs r3, r2, #5 803c088: 49b3 ldr r1, [pc, #716] ; (803c358 ) 803c08a: fba1 1303 umull r1, r3, r1, r3 803c08e: 09db lsrs r3, r3, #7 803c090: 49b2 ldr r1, [pc, #712] ; (803c35c ) 803c092: fb01 f303 mul.w r3, r1, r3 803c096: 1ad3 subs r3, r2, r3 803c098: 4ab1 ldr r2, [pc, #708] ; (803c360 ) 803c09a: fba2 2303 umull r2, r3, r2, r3 803c09e: 0b5b lsrs r3, r3, #13 803c0a0: b2db uxtb r3, r3 803c0a2: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 803c0a6: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803c0aa: 0953 lsrs r3, r2, #5 803c0ac: 49aa ldr r1, [pc, #680] ; (803c358 ) 803c0ae: fba1 1303 umull r1, r3, r1, r3 803c0b2: 09db lsrs r3, r3, #7 803c0b4: 49a9 ldr r1, [pc, #676] ; (803c35c ) 803c0b6: fb01 f303 mul.w r3, r1, r3 803c0ba: 1ad3 subs r3, r2, r3 803c0bc: 4aa8 ldr r2, [pc, #672] ; (803c360 ) 803c0be: fba2 1203 umull r1, r2, r2, r3 803c0c2: 0b52 lsrs r2, r2, #13 803c0c4: f242 7110 movw r1, #10000 ; 0x2710 803c0c8: fb01 f202 mul.w r2, r1, r2 803c0cc: 1a9a subs r2, r3, r2 803c0ce: 4ba5 ldr r3, [pc, #660] ; (803c364 ) 803c0d0: fba3 2302 umull r2, r3, r3, r2 803c0d4: 099b lsrs r3, r3, #6 803c0d6: b2db uxtb r3, r3 803c0d8: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 803c0dc: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803c0e0: 095a lsrs r2, r3, #5 803c0e2: 499d ldr r1, [pc, #628] ; (803c358 ) 803c0e4: fba1 1202 umull r1, r2, r1, r2 803c0e8: 09d2 lsrs r2, r2, #7 803c0ea: 499c ldr r1, [pc, #624] ; (803c35c ) 803c0ec: fb01 f202 mul.w r2, r1, r2 803c0f0: 1a9a subs r2, r3, r2 803c0f2: 4b9b ldr r3, [pc, #620] ; (803c360 ) 803c0f4: fba3 1302 umull r1, r3, r3, r2 803c0f8: 0b5b lsrs r3, r3, #13 803c0fa: f242 7110 movw r1, #10000 ; 0x2710 803c0fe: fb01 f303 mul.w r3, r1, r3 803c102: 1ad3 subs r3, r2, r3 803c104: 4a97 ldr r2, [pc, #604] ; (803c364 ) 803c106: fba2 1203 umull r1, r2, r2, r3 803c10a: 0992 lsrs r2, r2, #6 803c10c: f44f 717a mov.w r1, #1000 ; 0x3e8 803c110: fb01 f202 mul.w r2, r1, r2 803c114: 1a9a subs r2, r3, r2 803c116: 4b94 ldr r3, [pc, #592] ; (803c368 ) 803c118: fba3 2302 umull r2, r3, r3, r2 803c11c: 095b lsrs r3, r3, #5 803c11e: b2db uxtb r3, r3 803c120: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 803c124: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803c128: 0953 lsrs r3, r2, #5 803c12a: 498b ldr r1, [pc, #556] ; (803c358 ) 803c12c: fba1 1303 umull r1, r3, r1, r3 803c130: 09db lsrs r3, r3, #7 803c132: 498a ldr r1, [pc, #552] ; (803c35c ) 803c134: fb01 f303 mul.w r3, r1, r3 803c138: 1ad3 subs r3, r2, r3 803c13a: 4a89 ldr r2, [pc, #548] ; (803c360 ) 803c13c: fba2 1203 umull r1, r2, r2, r3 803c140: 0b52 lsrs r2, r2, #13 803c142: f242 7110 movw r1, #10000 ; 0x2710 803c146: fb01 f202 mul.w r2, r1, r2 803c14a: 1a9a subs r2, r3, r2 803c14c: 4b85 ldr r3, [pc, #532] ; (803c364 ) 803c14e: fba3 1302 umull r1, r3, r3, r2 803c152: 099b lsrs r3, r3, #6 803c154: f44f 717a mov.w r1, #1000 ; 0x3e8 803c158: fb01 f303 mul.w r3, r1, r3 803c15c: 1ad3 subs r3, r2, r3 803c15e: 4a82 ldr r2, [pc, #520] ; (803c368 ) 803c160: fba2 1203 umull r1, r2, r2, r3 803c164: 0952 lsrs r2, r2, #5 803c166: 2164 movs r1, #100 ; 0x64 803c168: fb01 f202 mul.w r2, r1, r2 803c16c: 1a9a subs r2, r3, r2 803c16e: 4b7f ldr r3, [pc, #508] ; (803c36c ) 803c170: fba3 2302 umull r2, r3, r3, r2 803c174: 08db lsrs r3, r3, #3 803c176: b2db uxtb r3, r3 803c178: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 803c17c: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803c180: 0953 lsrs r3, r2, #5 803c182: 4975 ldr r1, [pc, #468] ; (803c358 ) 803c184: fba1 1303 umull r1, r3, r1, r3 803c188: 09db lsrs r3, r3, #7 803c18a: 4974 ldr r1, [pc, #464] ; (803c35c ) 803c18c: fb01 f303 mul.w r3, r1, r3 803c190: 1ad3 subs r3, r2, r3 803c192: 4a73 ldr r2, [pc, #460] ; (803c360 ) 803c194: fba2 1203 umull r1, r2, r2, r3 803c198: 0b52 lsrs r2, r2, #13 803c19a: f242 7110 movw r1, #10000 ; 0x2710 803c19e: fb01 f202 mul.w r2, r1, r2 803c1a2: 1a9a subs r2, r3, r2 803c1a4: 4b6f ldr r3, [pc, #444] ; (803c364 ) 803c1a6: fba3 1302 umull r1, r3, r3, r2 803c1aa: 099b lsrs r3, r3, #6 803c1ac: f44f 717a mov.w r1, #1000 ; 0x3e8 803c1b0: fb01 f303 mul.w r3, r1, r3 803c1b4: 1ad3 subs r3, r2, r3 803c1b6: 4a6c ldr r2, [pc, #432] ; (803c368 ) 803c1b8: fba2 1203 umull r1, r2, r2, r3 803c1bc: 0952 lsrs r2, r2, #5 803c1be: 2164 movs r1, #100 ; 0x64 803c1c0: fb01 f202 mul.w r2, r1, r2 803c1c4: 1a9a subs r2, r3, r2 803c1c6: 4b69 ldr r3, [pc, #420] ; (803c36c ) 803c1c8: fba3 1302 umull r1, r3, r3, r2 803c1cc: 08d9 lsrs r1, r3, #3 803c1ce: 460b mov r3, r1 803c1d0: 009b lsls r3, r3, #2 803c1d2: 440b add r3, r1 803c1d4: 005b lsls r3, r3, #1 803c1d6: 1ad1 subs r1, r2, r3 803c1d8: b2cb uxtb r3, r1 803c1da: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 803c1de: 4b5c ldr r3, [pc, #368] ; (803c350 ) 803c1e0: 781b ldrb r3, [r3, #0] 803c1e2: b2db uxtb r3, r3 803c1e4: 3b05 subs r3, #5 803c1e6: 2b05 cmp r3, #5 803c1e8: d85c bhi.n 803c2a4 803c1ea: a201 add r2, pc, #4 ; (adr r2, 803c1f0 ) 803c1ec: f852 f023 ldr.w pc, [r2, r3, lsl #2] 803c1f0: 0803c209 .word 0x0803c209 803c1f4: 0803c221 .word 0x0803c221 803c1f8: 0803c23b .word 0x0803c23b 803c1fc: 0803c253 .word 0x0803c253 803c200: 0803c267 .word 0x0803c267 803c204: 0803c27b .word 0x0803c27b if(k > 100000) 803c208: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803c20c: 4a53 ldr r2, [pc, #332] ; (803c35c ) 803c20e: 4293 cmp r3, r2 803c210: d93d bls.n 803c28e k -= 100000; 803c212: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803c216: 4b56 ldr r3, [pc, #344] ; (803c370 ) 803c218: 4413 add r3, r2 803c21a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803c21e: e036 b.n 803c28e if(k > 10000) 803c220: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803c224: f242 7210 movw r2, #10000 ; 0x2710 803c228: 4293 cmp r3, r2 803c22a: d932 bls.n 803c292 k -= 10000; 803c22c: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803c230: 4b50 ldr r3, [pc, #320] ; (803c374 ) 803c232: 4413 add r3, r2 803c234: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803c238: e02b b.n 803c292 if(k > 1000) 803c23a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803c23e: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 803c242: d928 bls.n 803c296 k -= 1000; 803c244: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803c248: f5a3 737a sub.w r3, r3, #1000 ; 0x3e8 803c24c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803c250: e021 b.n 803c296 if(k > 100) 803c252: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803c256: 2b64 cmp r3, #100 ; 0x64 803c258: d91f bls.n 803c29a k -= 100; 803c25a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803c25e: 3b64 subs r3, #100 ; 0x64 803c260: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803c264: e019 b.n 803c29a if(k > 10) 803c266: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803c26a: 2b0a cmp r3, #10 803c26c: d917 bls.n 803c29e k -= 10; 803c26e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803c272: 3b0a subs r3, #10 803c274: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803c278: e011 b.n 803c29e if(k > 1) 803c27a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803c27e: 2b01 cmp r3, #1 803c280: d90f bls.n 803c2a2 k--; 803c282: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803c286: 3b01 subs r3, #1 803c288: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803c28c: e009 b.n 803c2a2 break; 803c28e: bf00 nop 803c290: e008 b.n 803c2a4 break; 803c292: bf00 nop 803c294: e006 b.n 803c2a4 break; 803c296: bf00 nop 803c298: e004 b.n 803c2a4 break; 803c29a: bf00 nop 803c29c: e002 b.n 803c2a4 break; 803c29e: bf00 nop 803c2a0: e000 b.n 803c2a4 break; 803c2a2: bf00 nop if(k > 999999) k = 999999; 803c2a4: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803c2a8: 4a33 ldr r2, [pc, #204] ; (803c378 ) 803c2aa: 4293 cmp r3, r2 803c2ac: d902 bls.n 803c2b4 803c2ae: 4b32 ldr r3, [pc, #200] ; (803c378 ) 803c2b0: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 if(k == 0) k = 1; 803c2b4: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803c2b8: 2b00 cmp r3, #0 803c2ba: d102 bne.n 803c2c2 803c2bc: 2301 movs r3, #1 803c2be: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.MAX_VAL = (float32_t) k; 803c2c2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803c2c6: ee07 3a90 vmov s15, r3 803c2ca: eef8 7a67 vcvt.f32.u32 s15, s15 803c2ce: 4b21 ldr r3, [pc, #132] ; (803c354 ) 803c2d0: edc3 7a06 vstr s15, [r3, #24] pardata.MAX_VAL *= 0.1f; 803c2d4: 4b1f ldr r3, [pc, #124] ; (803c354 ) 803c2d6: edd3 7a06 vldr s15, [r3, #24] 803c2da: ed9f 7a28 vldr s14, [pc, #160] ; 803c37c 803c2de: ee67 7a87 vmul.f32 s15, s15, s14 803c2e2: 4b1c ldr r3, [pc, #112] ; (803c354 ) 803c2e4: edc3 7a06 vstr s15, [r3, #24] pardata.MAX_VAL += 0.05f; 803c2e8: 4b1a ldr r3, [pc, #104] ; (803c354 ) 803c2ea: edd3 7a06 vldr s15, [r3, #24] 803c2ee: ed9f 7a24 vldr s14, [pc, #144] ; 803c380 803c2f2: ee77 7a87 vadd.f32 s15, s15, s14 803c2f6: 4b17 ldr r3, [pc, #92] ; (803c354 ) 803c2f8: edc3 7a06 vstr s15, [r3, #24] break; 803c2fc: f007 bb2c b.w 8043958 case PARAM_DIAGN_1: if(menupos < Diag8) menupos++; 803c300: 4b13 ldr r3, [pc, #76] ; (803c350 ) 803c302: 781b ldrb r3, [r3, #0] 803c304: b2db uxtb r3, r3 803c306: 2b06 cmp r3, #6 803c308: d808 bhi.n 803c31c 803c30a: 4b11 ldr r3, [pc, #68] ; (803c350 ) 803c30c: 781b ldrb r3, [r3, #0] 803c30e: b2db uxtb r3, r3 803c310: 3301 adds r3, #1 803c312: b2da uxtb r2, r3 803c314: 4b0e ldr r3, [pc, #56] ; (803c350 ) 803c316: 701a strb r2, [r3, #0] else menupos = Diag1; break; 803c318: f007 bb6a b.w 80439f0 else menupos = Diag1; 803c31c: 4b0c ldr r3, [pc, #48] ; (803c350 ) 803c31e: 2200 movs r2, #0 803c320: 701a strb r2, [r3, #0] break; 803c322: f007 bb65 b.w 80439f0 case PARAM_DIAGN_2: focused = false; 803c326: 4b17 ldr r3, [pc, #92] ; (803c384 ) 803c328: 2200 movs r2, #0 803c32a: 701a strb r2, [r3, #0] if((menupos >= DiagUs1) && (menupos <= DiagOp1)) 803c32c: 4b08 ldr r3, [pc, #32] ; (803c350 ) 803c32e: 781b ldrb r3, [r3, #0] 803c330: b2db uxtb r3, r3 803c332: 2b00 cmp r3, #0 803c334: d02a beq.n 803c38c 803c336: 4b06 ldr r3, [pc, #24] ; (803c350 ) 803c338: 781b ldrb r3, [r3, #0] 803c33a: b2db uxtb r3, r3 803c33c: 2b02 cmp r3, #2 803c33e: d825 bhi.n 803c38c { CURR_USL = Us1; 803c340: 4b11 ldr r3, [pc, #68] ; (803c388 ) 803c342: 2200 movs r2, #0 803c344: 701a strb r2, [r3, #0] menupos = Ok; 803c346: 4b02 ldr r3, [pc, #8] ; (803c350 ) 803c348: 2200 movs r2, #0 803c34a: 701a strb r2, [r3, #0] 803c34c: f001 b9e7 b.w 803d71e 803c350: 20020070 .word 0x20020070 803c354: 20023e60 .word 0x20023e60 803c358: 0a7c5ac5 .word 0x0a7c5ac5 803c35c: 000186a0 .word 0x000186a0 803c360: d1b71759 .word 0xd1b71759 803c364: 10624dd3 .word 0x10624dd3 803c368: 51eb851f .word 0x51eb851f 803c36c: cccccccd .word 0xcccccccd 803c370: fffe7960 .word 0xfffe7960 803c374: ffffd8f0 .word 0xffffd8f0 803c378: 000f423f .word 0x000f423f 803c37c: 3dcccccd .word 0x3dcccccd 803c380: 3d4ccccd .word 0x3d4ccccd 803c384: 20020f84 .word 0x20020f84 803c388: 20021013 .word 0x20021013 /*if(pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7) menupos = Diag_A; else menupos = DiagAVS;*/ } else if((menupos >= DiagUs2) && (menupos <= DiagOp2)) 803c38c: 4b5d ldr r3, [pc, #372] ; (803c504 ) 803c38e: 781b ldrb r3, [r3, #0] 803c390: b2db uxtb r3, r3 803c392: 2b02 cmp r3, #2 803c394: d90c bls.n 803c3b0 803c396: 4b5b ldr r3, [pc, #364] ; (803c504 ) 803c398: 781b ldrb r3, [r3, #0] 803c39a: b2db uxtb r3, r3 803c39c: 2b04 cmp r3, #4 803c39e: d807 bhi.n 803c3b0 { CURR_USL = Us2; 803c3a0: 4b59 ldr r3, [pc, #356] ; (803c508 ) 803c3a2: 2201 movs r2, #1 803c3a4: 701a strb r2, [r3, #0] menupos = Ok; 803c3a6: 4b57 ldr r3, [pc, #348] ; (803c504 ) 803c3a8: 2200 movs r2, #0 803c3aa: 701a strb r2, [r3, #0] 803c3ac: f001 b9b7 b.w 803d71e /* if(pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7) menupos = Diag_A; else menupos = DiagAVS;*/ } else if(menupos == DiagUs3) 803c3b0: 4b54 ldr r3, [pc, #336] ; (803c504 ) 803c3b2: 781b ldrb r3, [r3, #0] 803c3b4: b2db uxtb r3, r3 803c3b6: 2b05 cmp r3, #5 803c3b8: d107 bne.n 803c3ca { CURR_USL = Us3; 803c3ba: 4b53 ldr r3, [pc, #332] ; (803c508 ) 803c3bc: 2202 movs r2, #2 803c3be: 701a strb r2, [r3, #0] menupos = Ok; 803c3c0: 4b50 ldr r3, [pc, #320] ; (803c504 ) 803c3c2: 2200 movs r2, #0 803c3c4: 701a strb r2, [r3, #0] if(k == 0) k = 1; pardata.DIAGN_A[CURR_POINT][CURR_USL] = (float32_t) k; pardata.DIAGN_A[CURR_POINT][CURR_USL] *= 0.1f; pardata.DIAGN_A[CURR_POINT][CURR_USL] += 0.05f; } break; 803c3c6: f007 baca b.w 804395e if(menupos == Ok) 803c3ca: 4b4e ldr r3, [pc, #312] ; (803c504 ) 803c3cc: 781b ldrb r3, [r3, #0] 803c3ce: b2db uxtb r3, r3 803c3d0: 2b00 cmp r3, #0 803c3d2: d104 bne.n 803c3de menupos = DiagName; 803c3d4: 4b4b ldr r3, [pc, #300] ; (803c504 ) 803c3d6: 2206 movs r2, #6 803c3d8: 701a strb r2, [r3, #0] break; 803c3da: f007 bac0 b.w 804395e if(menupos == DiagName) 803c3de: 4b49 ldr r3, [pc, #292] ; (803c504 ) 803c3e0: 781b ldrb r3, [r3, #0] 803c3e2: b2db uxtb r3, r3 803c3e4: 2b06 cmp r3, #6 803c3e6: d104 bne.n 803c3f2 menupos = DiagAVS; 803c3e8: 4b46 ldr r3, [pc, #280] ; (803c504 ) 803c3ea: 2207 movs r2, #7 803c3ec: 701a strb r2, [r3, #0] break; 803c3ee: f007 bab6 b.w 804395e if(menupos == DiagAVS) 803c3f2: 4b44 ldr r3, [pc, #272] ; (803c504 ) 803c3f4: 781b ldrb r3, [r3, #0] 803c3f6: b2db uxtb r3, r3 803c3f8: 2b07 cmp r3, #7 803c3fa: d137 bne.n 803c46c if(pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7) 803c3fc: 4b43 ldr r3, [pc, #268] ; (803c50c ) 803c3fe: 781b ldrb r3, [r3, #0] 803c400: b2db uxtb r3, r3 803c402: 4618 mov r0, r3 803c404: 4b40 ldr r3, [pc, #256] ; (803c508 ) 803c406: 781b ldrb r3, [r3, #0] 803c408: b2db uxtb r3, r3 803c40a: 4619 mov r1, r3 803c40c: 4a40 ldr r2, [pc, #256] ; (803c510 ) 803c40e: 0083 lsls r3, r0, #2 803c410: 4413 add r3, r2 803c412: 440b add r3, r1 803c414: f503 730f add.w r3, r3, #572 ; 0x23c 803c418: 781b ldrb r3, [r3, #0] 803c41a: b2db uxtb r3, r3 803c41c: f003 0307 and.w r3, r3, #7 803c420: 2b00 cmp r3, #0 803c422: d004 beq.n 803c42e menupos = DiagValue; 803c424: 4b37 ldr r3, [pc, #220] ; (803c504 ) 803c426: 2208 movs r2, #8 803c428: 701a strb r2, [r3, #0] break; 803c42a: f007 ba98 b.w 804395e if(CURR_USL == Us1) 803c42e: 4b36 ldr r3, [pc, #216] ; (803c508 ) 803c430: 781b ldrb r3, [r3, #0] 803c432: b2db uxtb r3, r3 803c434: 2b00 cmp r3, #0 803c436: d104 bne.n 803c442 menupos = DiagUs1; 803c438: 4b32 ldr r3, [pc, #200] ; (803c504 ) 803c43a: 2201 movs r2, #1 803c43c: 701a strb r2, [r3, #0] break; 803c43e: f007 ba8e b.w 804395e if(CURR_USL == Us2) 803c442: 4b31 ldr r3, [pc, #196] ; (803c508 ) 803c444: 781b ldrb r3, [r3, #0] 803c446: b2db uxtb r3, r3 803c448: 2b01 cmp r3, #1 803c44a: d104 bne.n 803c456 menupos = DiagUs2; 803c44c: 4b2d ldr r3, [pc, #180] ; (803c504 ) 803c44e: 2203 movs r2, #3 803c450: 701a strb r2, [r3, #0] break; 803c452: f007 ba84 b.w 804395e if(CURR_USL == Us3) 803c456: 4b2c ldr r3, [pc, #176] ; (803c508 ) 803c458: 781b ldrb r3, [r3, #0] 803c45a: b2db uxtb r3, r3 803c45c: 2b02 cmp r3, #2 803c45e: f047 827e bne.w 804395e menupos = DiagUs3; 803c462: 4b28 ldr r3, [pc, #160] ; (803c504 ) 803c464: 2205 movs r2, #5 803c466: 701a strb r2, [r3, #0] break; 803c468: f007 ba79 b.w 804395e if(menupos == DiagValue) 803c46c: 4b25 ldr r3, [pc, #148] ; (803c504 ) 803c46e: 781b ldrb r3, [r3, #0] 803c470: b2db uxtb r3, r3 803c472: 2b08 cmp r3, #8 803c474: d104 bne.n 803c480 menupos = DiagHP; 803c476: 4b23 ldr r3, [pc, #140] ; (803c504 ) 803c478: 2209 movs r2, #9 803c47a: 701a strb r2, [r3, #0] break; 803c47c: f007 ba6f b.w 804395e if(menupos == DiagHP) 803c480: 4b20 ldr r3, [pc, #128] ; (803c504 ) 803c482: 781b ldrb r3, [r3, #0] 803c484: b2db uxtb r3, r3 803c486: 2b09 cmp r3, #9 803c488: d104 bne.n 803c494 menupos = DiagLP; 803c48a: 4b1e ldr r3, [pc, #120] ; (803c504 ) 803c48c: 220a movs r2, #10 803c48e: 701a strb r2, [r3, #0] break; 803c490: f007 ba65 b.w 804395e if(menupos == DiagLP) 803c494: 4b1b ldr r3, [pc, #108] ; (803c504 ) 803c496: 781b ldrb r3, [r3, #0] 803c498: b2db uxtb r3, r3 803c49a: 2b0a cmp r3, #10 803c49c: d104 bne.n 803c4a8 menupos = Diag_W; 803c49e: 4b19 ldr r3, [pc, #100] ; (803c504 ) 803c4a0: 220b movs r2, #11 803c4a2: 701a strb r2, [r3, #0] break; 803c4a4: f007 ba5b b.w 804395e if(menupos == Diag_W) 803c4a8: 4b16 ldr r3, [pc, #88] ; (803c504 ) 803c4aa: 781b ldrb r3, [r3, #0] 803c4ac: b2db uxtb r3, r3 803c4ae: 2b0b cmp r3, #11 803c4b0: d104 bne.n 803c4bc menupos = Diag_A; 803c4b2: 4b14 ldr r3, [pc, #80] ; (803c504 ) 803c4b4: 220c movs r2, #12 803c4b6: 701a strb r2, [r3, #0] break; 803c4b8: f007 ba51 b.w 804395e if(menupos == Diag_A) 803c4bc: 4b11 ldr r3, [pc, #68] ; (803c504 ) 803c4be: 781b ldrb r3, [r3, #0] 803c4c0: b2db uxtb r3, r3 803c4c2: 2b0c cmp r3, #12 803c4c4: d126 bne.n 803c514 if(CURR_USL == Us1) 803c4c6: 4b10 ldr r3, [pc, #64] ; (803c508 ) 803c4c8: 781b ldrb r3, [r3, #0] 803c4ca: b2db uxtb r3, r3 803c4cc: 2b00 cmp r3, #0 803c4ce: d104 bne.n 803c4da menupos = DiagUs1; 803c4d0: 4b0c ldr r3, [pc, #48] ; (803c504 ) 803c4d2: 2201 movs r2, #1 803c4d4: 701a strb r2, [r3, #0] break; 803c4d6: f007 ba42 b.w 804395e if(CURR_USL == Us2) 803c4da: 4b0b ldr r3, [pc, #44] ; (803c508 ) 803c4dc: 781b ldrb r3, [r3, #0] 803c4de: b2db uxtb r3, r3 803c4e0: 2b01 cmp r3, #1 803c4e2: d104 bne.n 803c4ee menupos = DiagUs2; 803c4e4: 4b07 ldr r3, [pc, #28] ; (803c504 ) 803c4e6: 2203 movs r2, #3 803c4e8: 701a strb r2, [r3, #0] break; 803c4ea: f007 ba38 b.w 804395e if(CURR_USL == Us3) 803c4ee: 4b06 ldr r3, [pc, #24] ; (803c508 ) 803c4f0: 781b ldrb r3, [r3, #0] 803c4f2: b2db uxtb r3, r3 803c4f4: 2b02 cmp r3, #2 803c4f6: f047 8232 bne.w 804395e menupos = DiagUs3; 803c4fa: 4b02 ldr r3, [pc, #8] ; (803c504 ) 803c4fc: 2205 movs r2, #5 803c4fe: 701a strb r2, [r3, #0] break; 803c500: f007 ba2d b.w 804395e 803c504: 20020070 .word 0x20020070 803c508: 20021013 .word 0x20021013 803c50c: 20021011 .word 0x20021011 803c510: 20023e60 .word 0x20023e60 if((menupos >= DiagHP_IDT) && (menupos <= DiagHP_IKD)) 803c514: 4bc5 ldr r3, [pc, #788] ; (803c82c ) 803c516: 781b ldrb r3, [r3, #0] 803c518: b2db uxtb r3, r3 803c51a: 2b0c cmp r3, #12 803c51c: f240 82f0 bls.w 803cb00 803c520: 4bc2 ldr r3, [pc, #776] ; (803c82c ) 803c522: 781b ldrb r3, [r3, #0] 803c524: b2db uxtb r3, r3 803c526: 2b12 cmp r3, #18 803c528: f200 82ea bhi.w 803cb00 k = (uint32_t) (pardata.DIAGN_HP[CURR_POINT][CURR_USL] * 10.0f); 803c52c: 4bc0 ldr r3, [pc, #768] ; (803c830 ) 803c52e: 781b ldrb r3, [r3, #0] 803c530: b2db uxtb r3, r3 803c532: 4618 mov r0, r3 803c534: 4bbf ldr r3, [pc, #764] ; (803c834 ) 803c536: 781b ldrb r3, [r3, #0] 803c538: b2db uxtb r3, r3 803c53a: 4619 mov r1, r3 803c53c: 4abe ldr r2, [pc, #760] ; (803c838 ) 803c53e: 0083 lsls r3, r0, #2 803c540: 440b add r3, r1 803c542: 3396 adds r3, #150 ; 0x96 803c544: 009b lsls r3, r3, #2 803c546: 4413 add r3, r2 803c548: 3304 adds r3, #4 803c54a: edd3 7a00 vldr s15, [r3] 803c54e: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 803c552: ee67 7a87 vmul.f32 s15, s15, s14 803c556: eefc 7ae7 vcvt.u32.f32 s15, s15 803c55a: ee17 3a90 vmov r3, s15 803c55e: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 803c562: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803c566: 095b lsrs r3, r3, #5 803c568: 4ab4 ldr r2, [pc, #720] ; (803c83c ) 803c56a: fba2 2303 umull r2, r3, r2, r3 803c56e: 09db lsrs r3, r3, #7 803c570: b2db uxtb r3, r3 803c572: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 803c576: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803c57a: 0953 lsrs r3, r2, #5 803c57c: 49af ldr r1, [pc, #700] ; (803c83c ) 803c57e: fba1 1303 umull r1, r3, r1, r3 803c582: 09db lsrs r3, r3, #7 803c584: 49ae ldr r1, [pc, #696] ; (803c840 ) 803c586: fb01 f303 mul.w r3, r1, r3 803c58a: 1ad3 subs r3, r2, r3 803c58c: 4aad ldr r2, [pc, #692] ; (803c844 ) 803c58e: fba2 2303 umull r2, r3, r2, r3 803c592: 0b5b lsrs r3, r3, #13 803c594: b2db uxtb r3, r3 803c596: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 803c59a: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803c59e: 0953 lsrs r3, r2, #5 803c5a0: 49a6 ldr r1, [pc, #664] ; (803c83c ) 803c5a2: fba1 1303 umull r1, r3, r1, r3 803c5a6: 09db lsrs r3, r3, #7 803c5a8: 49a5 ldr r1, [pc, #660] ; (803c840 ) 803c5aa: fb01 f303 mul.w r3, r1, r3 803c5ae: 1ad3 subs r3, r2, r3 803c5b0: 4aa4 ldr r2, [pc, #656] ; (803c844 ) 803c5b2: fba2 1203 umull r1, r2, r2, r3 803c5b6: 0b52 lsrs r2, r2, #13 803c5b8: f242 7110 movw r1, #10000 ; 0x2710 803c5bc: fb01 f202 mul.w r2, r1, r2 803c5c0: 1a9a subs r2, r3, r2 803c5c2: 4ba1 ldr r3, [pc, #644] ; (803c848 ) 803c5c4: fba3 2302 umull r2, r3, r3, r2 803c5c8: 099b lsrs r3, r3, #6 803c5ca: b2db uxtb r3, r3 803c5cc: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 803c5d0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803c5d4: 095a lsrs r2, r3, #5 803c5d6: 4999 ldr r1, [pc, #612] ; (803c83c ) 803c5d8: fba1 1202 umull r1, r2, r1, r2 803c5dc: 09d2 lsrs r2, r2, #7 803c5de: 4998 ldr r1, [pc, #608] ; (803c840 ) 803c5e0: fb01 f202 mul.w r2, r1, r2 803c5e4: 1a9a subs r2, r3, r2 803c5e6: 4b97 ldr r3, [pc, #604] ; (803c844 ) 803c5e8: fba3 1302 umull r1, r3, r3, r2 803c5ec: 0b5b lsrs r3, r3, #13 803c5ee: f242 7110 movw r1, #10000 ; 0x2710 803c5f2: fb01 f303 mul.w r3, r1, r3 803c5f6: 1ad3 subs r3, r2, r3 803c5f8: 4a93 ldr r2, [pc, #588] ; (803c848 ) 803c5fa: fba2 1203 umull r1, r2, r2, r3 803c5fe: 0992 lsrs r2, r2, #6 803c600: f44f 717a mov.w r1, #1000 ; 0x3e8 803c604: fb01 f202 mul.w r2, r1, r2 803c608: 1a9a subs r2, r3, r2 803c60a: 4b90 ldr r3, [pc, #576] ; (803c84c ) 803c60c: fba3 2302 umull r2, r3, r3, r2 803c610: 095b lsrs r3, r3, #5 803c612: b2db uxtb r3, r3 803c614: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 803c618: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803c61c: 0953 lsrs r3, r2, #5 803c61e: 4987 ldr r1, [pc, #540] ; (803c83c ) 803c620: fba1 1303 umull r1, r3, r1, r3 803c624: 09db lsrs r3, r3, #7 803c626: 4986 ldr r1, [pc, #536] ; (803c840 ) 803c628: fb01 f303 mul.w r3, r1, r3 803c62c: 1ad3 subs r3, r2, r3 803c62e: 4a85 ldr r2, [pc, #532] ; (803c844 ) 803c630: fba2 1203 umull r1, r2, r2, r3 803c634: 0b52 lsrs r2, r2, #13 803c636: f242 7110 movw r1, #10000 ; 0x2710 803c63a: fb01 f202 mul.w r2, r1, r2 803c63e: 1a9a subs r2, r3, r2 803c640: 4b81 ldr r3, [pc, #516] ; (803c848 ) 803c642: fba3 1302 umull r1, r3, r3, r2 803c646: 099b lsrs r3, r3, #6 803c648: f44f 717a mov.w r1, #1000 ; 0x3e8 803c64c: fb01 f303 mul.w r3, r1, r3 803c650: 1ad3 subs r3, r2, r3 803c652: 4a7e ldr r2, [pc, #504] ; (803c84c ) 803c654: fba2 1203 umull r1, r2, r2, r3 803c658: 0952 lsrs r2, r2, #5 803c65a: 2164 movs r1, #100 ; 0x64 803c65c: fb01 f202 mul.w r2, r1, r2 803c660: 1a9a subs r2, r3, r2 803c662: 4b7b ldr r3, [pc, #492] ; (803c850 ) 803c664: fba3 2302 umull r2, r3, r3, r2 803c668: 08db lsrs r3, r3, #3 803c66a: b2db uxtb r3, r3 803c66c: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 803c670: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803c674: 0953 lsrs r3, r2, #5 803c676: 4971 ldr r1, [pc, #452] ; (803c83c ) 803c678: fba1 1303 umull r1, r3, r1, r3 803c67c: 09db lsrs r3, r3, #7 803c67e: 4970 ldr r1, [pc, #448] ; (803c840 ) 803c680: fb01 f303 mul.w r3, r1, r3 803c684: 1ad3 subs r3, r2, r3 803c686: 4a6f ldr r2, [pc, #444] ; (803c844 ) 803c688: fba2 1203 umull r1, r2, r2, r3 803c68c: 0b52 lsrs r2, r2, #13 803c68e: f242 7110 movw r1, #10000 ; 0x2710 803c692: fb01 f202 mul.w r2, r1, r2 803c696: 1a9a subs r2, r3, r2 803c698: 4b6b ldr r3, [pc, #428] ; (803c848 ) 803c69a: fba3 1302 umull r1, r3, r3, r2 803c69e: 099b lsrs r3, r3, #6 803c6a0: f44f 717a mov.w r1, #1000 ; 0x3e8 803c6a4: fb01 f303 mul.w r3, r1, r3 803c6a8: 1ad3 subs r3, r2, r3 803c6aa: 4a68 ldr r2, [pc, #416] ; (803c84c ) 803c6ac: fba2 1203 umull r1, r2, r2, r3 803c6b0: 0952 lsrs r2, r2, #5 803c6b2: 2164 movs r1, #100 ; 0x64 803c6b4: fb01 f202 mul.w r2, r1, r2 803c6b8: 1a9a subs r2, r3, r2 803c6ba: 4b65 ldr r3, [pc, #404] ; (803c850 ) 803c6bc: fba3 1302 umull r1, r3, r3, r2 803c6c0: 08d9 lsrs r1, r3, #3 803c6c2: 460b mov r3, r1 803c6c4: 009b lsls r3, r3, #2 803c6c6: 440b add r3, r1 803c6c8: 005b lsls r3, r3, #1 803c6ca: 1ad1 subs r1, r2, r3 803c6cc: b2cb uxtb r3, r1 803c6ce: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 803c6d2: 4b56 ldr r3, [pc, #344] ; (803c82c ) 803c6d4: 781b ldrb r3, [r3, #0] 803c6d6: b2db uxtb r3, r3 803c6d8: 3b0d subs r3, #13 803c6da: 2b05 cmp r3, #5 803c6dc: d85c bhi.n 803c798 803c6de: a201 add r2, pc, #4 ; (adr r2, 803c6e4 ) 803c6e0: f852 f023 ldr.w pc, [r2, r3, lsl #2] 803c6e4: 0803c6fd .word 0x0803c6fd 803c6e8: 0803c715 .word 0x0803c715 803c6ec: 0803c72f .word 0x0803c72f 803c6f0: 0803c747 .word 0x0803c747 803c6f4: 0803c75b .word 0x0803c75b 803c6f8: 0803c76f .word 0x0803c76f if(k > 100000) 803c6fc: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803c700: 4a4f ldr r2, [pc, #316] ; (803c840 ) 803c702: 4293 cmp r3, r2 803c704: d93d bls.n 803c782 k -= 100000; 803c706: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803c70a: 4b52 ldr r3, [pc, #328] ; (803c854 ) 803c70c: 4413 add r3, r2 803c70e: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803c712: e036 b.n 803c782 if(k > 10000) 803c714: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803c718: f242 7210 movw r2, #10000 ; 0x2710 803c71c: 4293 cmp r3, r2 803c71e: d932 bls.n 803c786 k -= 10000; 803c720: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803c724: 4b4c ldr r3, [pc, #304] ; (803c858 ) 803c726: 4413 add r3, r2 803c728: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803c72c: e02b b.n 803c786 if(k > 1000) 803c72e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803c732: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 803c736: d928 bls.n 803c78a k -= 1000; 803c738: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803c73c: f5a3 737a sub.w r3, r3, #1000 ; 0x3e8 803c740: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803c744: e021 b.n 803c78a if(k > 100) 803c746: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803c74a: 2b64 cmp r3, #100 ; 0x64 803c74c: d91f bls.n 803c78e k -= 100; 803c74e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803c752: 3b64 subs r3, #100 ; 0x64 803c754: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803c758: e019 b.n 803c78e if(k > 10) 803c75a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803c75e: 2b0a cmp r3, #10 803c760: d917 bls.n 803c792 k -= 10; 803c762: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803c766: 3b0a subs r3, #10 803c768: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803c76c: e011 b.n 803c792 if(k > 1) 803c76e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803c772: 2b01 cmp r3, #1 803c774: d90f bls.n 803c796 k--; 803c776: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803c77a: 3b01 subs r3, #1 803c77c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803c780: e009 b.n 803c796 break; 803c782: bf00 nop 803c784: e008 b.n 803c798 break; 803c786: bf00 nop 803c788: e006 b.n 803c798 break; 803c78a: bf00 nop 803c78c: e004 b.n 803c798 break; 803c78e: bf00 nop 803c790: e002 b.n 803c798 break; 803c792: bf00 nop 803c794: e000 b.n 803c798 break; 803c796: bf00 nop fl = (float32_t) k; 803c798: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803c79c: ee07 3a90 vmov s15, r3 803c7a0: eef8 7a67 vcvt.f32.u32 s15, s15 803c7a4: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl *= 0.1f; 803c7a8: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 803c7ac: ed9f 7a2b vldr s14, [pc, #172] ; 803c85c 803c7b0: ee67 7a87 vmul.f32 s15, s15, s14 803c7b4: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl += 0.0001f; 803c7b8: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 803c7bc: ed9f 7a28 vldr s14, [pc, #160] ; 803c860 803c7c0: ee77 7a87 vadd.f32 s15, s15, s14 803c7c4: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 if((pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7) == DIAGN_ACC) 803c7c8: 4b19 ldr r3, [pc, #100] ; (803c830 ) 803c7ca: 781b ldrb r3, [r3, #0] 803c7cc: b2db uxtb r3, r3 803c7ce: 4618 mov r0, r3 803c7d0: 4b18 ldr r3, [pc, #96] ; (803c834 ) 803c7d2: 781b ldrb r3, [r3, #0] 803c7d4: b2db uxtb r3, r3 803c7d6: 4619 mov r1, r3 803c7d8: 4a17 ldr r2, [pc, #92] ; (803c838 ) 803c7da: 0083 lsls r3, r0, #2 803c7dc: 4413 add r3, r2 803c7de: 440b add r3, r1 803c7e0: f503 730f add.w r3, r3, #572 ; 0x23c 803c7e4: 781b ldrb r3, [r3, #0] 803c7e6: b2db uxtb r3, r3 803c7e8: f003 0307 and.w r3, r3, #7 803c7ec: 2b01 cmp r3, #1 803c7ee: f040 80cc bne.w 803c98a if(fl < 0.5f) 803c7f2: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 803c7f6: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 803c7fa: eef4 7ac7 vcmpe.f32 s15, s14 803c7fe: eef1 fa10 vmrs APSR_nzcv, fpscr 803c802: d52f bpl.n 803c864 pardata.DIAGN_HP[CURR_POINT][CURR_USL] = 0.5f; 803c804: 4b0a ldr r3, [pc, #40] ; (803c830 ) 803c806: 781b ldrb r3, [r3, #0] 803c808: b2db uxtb r3, r3 803c80a: 4618 mov r0, r3 803c80c: 4b09 ldr r3, [pc, #36] ; (803c834 ) 803c80e: 781b ldrb r3, [r3, #0] 803c810: b2db uxtb r3, r3 803c812: 4619 mov r1, r3 803c814: 4a08 ldr r2, [pc, #32] ; (803c838 ) 803c816: 0083 lsls r3, r0, #2 803c818: 440b add r3, r1 803c81a: 3396 adds r3, #150 ; 0x96 803c81c: 009b lsls r3, r3, #2 803c81e: 4413 add r3, r2 803c820: 3304 adds r3, #4 803c822: f04f 527c mov.w r2, #1056964608 ; 0x3f000000 803c826: 601a str r2, [r3, #0] if((pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7) == DIAGN_ACC) 803c828: f000 bf79 b.w 803d71e 803c82c: 20020070 .word 0x20020070 803c830: 20021011 .word 0x20021011 803c834: 20021013 .word 0x20021013 803c838: 20023e60 .word 0x20023e60 803c83c: 0a7c5ac5 .word 0x0a7c5ac5 803c840: 000186a0 .word 0x000186a0 803c844: d1b71759 .word 0xd1b71759 803c848: 10624dd3 .word 0x10624dd3 803c84c: 51eb851f .word 0x51eb851f 803c850: cccccccd .word 0xcccccccd 803c854: fffe7960 .word 0xfffe7960 803c858: ffffd8f0 .word 0xffffd8f0 803c85c: 3dcccccd .word 0x3dcccccd 803c860: 38d1b717 .word 0x38d1b717 if(fl > pardata.DIAGN_LP[CURR_POINT][CURR_USL]) 803c864: 4ba1 ldr r3, [pc, #644] ; (803caec ) 803c866: 781b ldrb r3, [r3, #0] 803c868: b2db uxtb r3, r3 803c86a: 4618 mov r0, r3 803c86c: 4ba0 ldr r3, [pc, #640] ; (803caf0 ) 803c86e: 781b ldrb r3, [r3, #0] 803c870: b2db uxtb r3, r3 803c872: 4619 mov r1, r3 803c874: 4a9f ldr r2, [pc, #636] ; (803caf4 ) 803c876: 0083 lsls r3, r0, #2 803c878: 440b add r3, r1 803c87a: 33b6 adds r3, #182 ; 0xb6 803c87c: 009b lsls r3, r3, #2 803c87e: 4413 add r3, r2 803c880: 3304 adds r3, #4 803c882: ed93 7a00 vldr s14, [r3] 803c886: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 803c88a: eeb4 7ae7 vcmpe.f32 s14, s15 803c88e: eef1 fa10 vmrs APSR_nzcv, fpscr 803c892: d521 bpl.n 803c8d8 pardata.DIAGN_HP[CURR_POINT][CURR_USL] = pardata.DIAGN_LP[CURR_POINT][CURR_USL]; 803c894: 4b95 ldr r3, [pc, #596] ; (803caec ) 803c896: 781b ldrb r3, [r3, #0] 803c898: b2db uxtb r3, r3 803c89a: 461c mov r4, r3 803c89c: 4b94 ldr r3, [pc, #592] ; (803caf0 ) 803c89e: 781b ldrb r3, [r3, #0] 803c8a0: b2db uxtb r3, r3 803c8a2: 4618 mov r0, r3 803c8a4: 4b91 ldr r3, [pc, #580] ; (803caec ) 803c8a6: 781b ldrb r3, [r3, #0] 803c8a8: b2db uxtb r3, r3 803c8aa: 461d mov r5, r3 803c8ac: 4b90 ldr r3, [pc, #576] ; (803caf0 ) 803c8ae: 781b ldrb r3, [r3, #0] 803c8b0: b2db uxtb r3, r3 803c8b2: 4619 mov r1, r3 803c8b4: 4a8f ldr r2, [pc, #572] ; (803caf4 ) 803c8b6: 00ab lsls r3, r5, #2 803c8b8: 440b add r3, r1 803c8ba: 33b6 adds r3, #182 ; 0xb6 803c8bc: 009b lsls r3, r3, #2 803c8be: 4413 add r3, r2 803c8c0: 3304 adds r3, #4 803c8c2: 681a ldr r2, [r3, #0] 803c8c4: 498b ldr r1, [pc, #556] ; (803caf4 ) 803c8c6: 00a3 lsls r3, r4, #2 803c8c8: 4403 add r3, r0 803c8ca: 3396 adds r3, #150 ; 0x96 803c8cc: 009b lsls r3, r3, #2 803c8ce: 440b add r3, r1 803c8d0: 3304 adds r3, #4 803c8d2: 601a str r2, [r3, #0] if((pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7) == DIAGN_ACC) 803c8d4: f000 bf23 b.w 803d71e pardata.DIAGN_HP[CURR_POINT][CURR_USL] = (float32_t) k; 803c8d8: 4b84 ldr r3, [pc, #528] ; (803caec ) 803c8da: 781b ldrb r3, [r3, #0] 803c8dc: b2db uxtb r3, r3 803c8de: 4618 mov r0, r3 803c8e0: 4b83 ldr r3, [pc, #524] ; (803caf0 ) 803c8e2: 781b ldrb r3, [r3, #0] 803c8e4: b2db uxtb r3, r3 803c8e6: 4619 mov r1, r3 803c8e8: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803c8ec: ee07 3a90 vmov s15, r3 803c8f0: eef8 7a67 vcvt.f32.u32 s15, s15 803c8f4: 4a7f ldr r2, [pc, #508] ; (803caf4 ) 803c8f6: 0083 lsls r3, r0, #2 803c8f8: 440b add r3, r1 803c8fa: 3396 adds r3, #150 ; 0x96 803c8fc: 009b lsls r3, r3, #2 803c8fe: 4413 add r3, r2 803c900: 3304 adds r3, #4 803c902: edc3 7a00 vstr s15, [r3] pardata.DIAGN_HP[CURR_POINT][CURR_USL] *= 0.1f; 803c906: 4b79 ldr r3, [pc, #484] ; (803caec ) 803c908: 781b ldrb r3, [r3, #0] 803c90a: b2da uxtb r2, r3 803c90c: 4610 mov r0, r2 803c90e: 4b78 ldr r3, [pc, #480] ; (803caf0 ) 803c910: 781b ldrb r3, [r3, #0] 803c912: b2db uxtb r3, r3 803c914: 4619 mov r1, r3 803c916: 4615 mov r5, r2 803c918: 461c mov r4, r3 803c91a: 4a76 ldr r2, [pc, #472] ; (803caf4 ) 803c91c: 00ab lsls r3, r5, #2 803c91e: 4423 add r3, r4 803c920: 3396 adds r3, #150 ; 0x96 803c922: 009b lsls r3, r3, #2 803c924: 4413 add r3, r2 803c926: 3304 adds r3, #4 803c928: edd3 7a00 vldr s15, [r3] 803c92c: ed9f 7a72 vldr s14, [pc, #456] ; 803caf8 803c930: ee67 7a87 vmul.f32 s15, s15, s14 803c934: 4a6f ldr r2, [pc, #444] ; (803caf4 ) 803c936: 0083 lsls r3, r0, #2 803c938: 440b add r3, r1 803c93a: 3396 adds r3, #150 ; 0x96 803c93c: 009b lsls r3, r3, #2 803c93e: 4413 add r3, r2 803c940: 3304 adds r3, #4 803c942: edc3 7a00 vstr s15, [r3] pardata.DIAGN_HP[CURR_POINT][CURR_USL] += 0.0001f; 803c946: 4b69 ldr r3, [pc, #420] ; (803caec ) 803c948: 781b ldrb r3, [r3, #0] 803c94a: b2da uxtb r2, r3 803c94c: 4610 mov r0, r2 803c94e: 4b68 ldr r3, [pc, #416] ; (803caf0 ) 803c950: 781b ldrb r3, [r3, #0] 803c952: b2db uxtb r3, r3 803c954: 4619 mov r1, r3 803c956: 4615 mov r5, r2 803c958: 461c mov r4, r3 803c95a: 4a66 ldr r2, [pc, #408] ; (803caf4 ) 803c95c: 00ab lsls r3, r5, #2 803c95e: 4423 add r3, r4 803c960: 3396 adds r3, #150 ; 0x96 803c962: 009b lsls r3, r3, #2 803c964: 4413 add r3, r2 803c966: 3304 adds r3, #4 803c968: edd3 7a00 vldr s15, [r3] 803c96c: ed9f 7a63 vldr s14, [pc, #396] ; 803cafc 803c970: ee77 7a87 vadd.f32 s15, s15, s14 803c974: 4a5f ldr r2, [pc, #380] ; (803caf4 ) 803c976: 0083 lsls r3, r0, #2 803c978: 440b add r3, r1 803c97a: 3396 adds r3, #150 ; 0x96 803c97c: 009b lsls r3, r3, #2 803c97e: 4413 add r3, r2 803c980: 3304 adds r3, #4 803c982: edc3 7a00 vstr s15, [r3] if((pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7) == DIAGN_ACC) 803c986: f000 beca b.w 803d71e if(fl < 2.0f) 803c98a: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 803c98e: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 803c992: eef4 7ac7 vcmpe.f32 s15, s14 803c996: eef1 fa10 vmrs APSR_nzcv, fpscr 803c99a: d513 bpl.n 803c9c4 pardata.DIAGN_HP[CURR_POINT][CURR_USL] = 2.0f; 803c99c: 4b53 ldr r3, [pc, #332] ; (803caec ) 803c99e: 781b ldrb r3, [r3, #0] 803c9a0: b2db uxtb r3, r3 803c9a2: 4618 mov r0, r3 803c9a4: 4b52 ldr r3, [pc, #328] ; (803caf0 ) 803c9a6: 781b ldrb r3, [r3, #0] 803c9a8: b2db uxtb r3, r3 803c9aa: 4619 mov r1, r3 803c9ac: 4a51 ldr r2, [pc, #324] ; (803caf4 ) 803c9ae: 0083 lsls r3, r0, #2 803c9b0: 440b add r3, r1 803c9b2: 3396 adds r3, #150 ; 0x96 803c9b4: 009b lsls r3, r3, #2 803c9b6: 4413 add r3, r2 803c9b8: 3304 adds r3, #4 803c9ba: f04f 4280 mov.w r2, #1073741824 ; 0x40000000 803c9be: 601a str r2, [r3, #0] if((pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7) == DIAGN_ACC) 803c9c0: f000 bead b.w 803d71e if(fl > pardata.DIAGN_LP[CURR_POINT][CURR_USL]) 803c9c4: 4b49 ldr r3, [pc, #292] ; (803caec ) 803c9c6: 781b ldrb r3, [r3, #0] 803c9c8: b2db uxtb r3, r3 803c9ca: 4618 mov r0, r3 803c9cc: 4b48 ldr r3, [pc, #288] ; (803caf0 ) 803c9ce: 781b ldrb r3, [r3, #0] 803c9d0: b2db uxtb r3, r3 803c9d2: 4619 mov r1, r3 803c9d4: 4a47 ldr r2, [pc, #284] ; (803caf4 ) 803c9d6: 0083 lsls r3, r0, #2 803c9d8: 440b add r3, r1 803c9da: 33b6 adds r3, #182 ; 0xb6 803c9dc: 009b lsls r3, r3, #2 803c9de: 4413 add r3, r2 803c9e0: 3304 adds r3, #4 803c9e2: ed93 7a00 vldr s14, [r3] 803c9e6: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 803c9ea: eeb4 7ae7 vcmpe.f32 s14, s15 803c9ee: eef1 fa10 vmrs APSR_nzcv, fpscr 803c9f2: d521 bpl.n 803ca38 pardata.DIAGN_HP[CURR_POINT][CURR_USL] = pardata.DIAGN_LP[CURR_POINT][CURR_USL]; 803c9f4: 4b3d ldr r3, [pc, #244] ; (803caec ) 803c9f6: 781b ldrb r3, [r3, #0] 803c9f8: b2db uxtb r3, r3 803c9fa: 461c mov r4, r3 803c9fc: 4b3c ldr r3, [pc, #240] ; (803caf0 ) 803c9fe: 781b ldrb r3, [r3, #0] 803ca00: b2db uxtb r3, r3 803ca02: 4618 mov r0, r3 803ca04: 4b39 ldr r3, [pc, #228] ; (803caec ) 803ca06: 781b ldrb r3, [r3, #0] 803ca08: b2db uxtb r3, r3 803ca0a: 461d mov r5, r3 803ca0c: 4b38 ldr r3, [pc, #224] ; (803caf0 ) 803ca0e: 781b ldrb r3, [r3, #0] 803ca10: b2db uxtb r3, r3 803ca12: 4619 mov r1, r3 803ca14: 4a37 ldr r2, [pc, #220] ; (803caf4 ) 803ca16: 00ab lsls r3, r5, #2 803ca18: 440b add r3, r1 803ca1a: 33b6 adds r3, #182 ; 0xb6 803ca1c: 009b lsls r3, r3, #2 803ca1e: 4413 add r3, r2 803ca20: 3304 adds r3, #4 803ca22: 681a ldr r2, [r3, #0] 803ca24: 4933 ldr r1, [pc, #204] ; (803caf4 ) 803ca26: 00a3 lsls r3, r4, #2 803ca28: 4403 add r3, r0 803ca2a: 3396 adds r3, #150 ; 0x96 803ca2c: 009b lsls r3, r3, #2 803ca2e: 440b add r3, r1 803ca30: 3304 adds r3, #4 803ca32: 601a str r2, [r3, #0] if((pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7) == DIAGN_ACC) 803ca34: f000 be73 b.w 803d71e pardata.DIAGN_HP[CURR_POINT][CURR_USL] = (float32_t) k; 803ca38: 4b2c ldr r3, [pc, #176] ; (803caec ) 803ca3a: 781b ldrb r3, [r3, #0] 803ca3c: b2db uxtb r3, r3 803ca3e: 4618 mov r0, r3 803ca40: 4b2b ldr r3, [pc, #172] ; (803caf0 ) 803ca42: 781b ldrb r3, [r3, #0] 803ca44: b2db uxtb r3, r3 803ca46: 4619 mov r1, r3 803ca48: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803ca4c: ee07 3a90 vmov s15, r3 803ca50: eef8 7a67 vcvt.f32.u32 s15, s15 803ca54: 4a27 ldr r2, [pc, #156] ; (803caf4 ) 803ca56: 0083 lsls r3, r0, #2 803ca58: 440b add r3, r1 803ca5a: 3396 adds r3, #150 ; 0x96 803ca5c: 009b lsls r3, r3, #2 803ca5e: 4413 add r3, r2 803ca60: 3304 adds r3, #4 803ca62: edc3 7a00 vstr s15, [r3] pardata.DIAGN_HP[CURR_POINT][CURR_USL] *= 0.1f; 803ca66: 4b21 ldr r3, [pc, #132] ; (803caec ) 803ca68: 781b ldrb r3, [r3, #0] 803ca6a: b2da uxtb r2, r3 803ca6c: 4610 mov r0, r2 803ca6e: 4b20 ldr r3, [pc, #128] ; (803caf0 ) 803ca70: 781b ldrb r3, [r3, #0] 803ca72: b2db uxtb r3, r3 803ca74: 4619 mov r1, r3 803ca76: 4615 mov r5, r2 803ca78: 461c mov r4, r3 803ca7a: 4a1e ldr r2, [pc, #120] ; (803caf4 ) 803ca7c: 00ab lsls r3, r5, #2 803ca7e: 4423 add r3, r4 803ca80: 3396 adds r3, #150 ; 0x96 803ca82: 009b lsls r3, r3, #2 803ca84: 4413 add r3, r2 803ca86: 3304 adds r3, #4 803ca88: edd3 7a00 vldr s15, [r3] 803ca8c: ed9f 7a1a vldr s14, [pc, #104] ; 803caf8 803ca90: ee67 7a87 vmul.f32 s15, s15, s14 803ca94: 4a17 ldr r2, [pc, #92] ; (803caf4 ) 803ca96: 0083 lsls r3, r0, #2 803ca98: 440b add r3, r1 803ca9a: 3396 adds r3, #150 ; 0x96 803ca9c: 009b lsls r3, r3, #2 803ca9e: 4413 add r3, r2 803caa0: 3304 adds r3, #4 803caa2: edc3 7a00 vstr s15, [r3] pardata.DIAGN_HP[CURR_POINT][CURR_USL] += 0.0001f; 803caa6: 4b11 ldr r3, [pc, #68] ; (803caec ) 803caa8: 781b ldrb r3, [r3, #0] 803caaa: b2da uxtb r2, r3 803caac: 4610 mov r0, r2 803caae: 4b10 ldr r3, [pc, #64] ; (803caf0 ) 803cab0: 781b ldrb r3, [r3, #0] 803cab2: b2db uxtb r3, r3 803cab4: 4619 mov r1, r3 803cab6: 4615 mov r5, r2 803cab8: 461c mov r4, r3 803caba: 4a0e ldr r2, [pc, #56] ; (803caf4 ) 803cabc: 00ab lsls r3, r5, #2 803cabe: 4423 add r3, r4 803cac0: 3396 adds r3, #150 ; 0x96 803cac2: 009b lsls r3, r3, #2 803cac4: 4413 add r3, r2 803cac6: 3304 adds r3, #4 803cac8: edd3 7a00 vldr s15, [r3] 803cacc: ed9f 7a0b vldr s14, [pc, #44] ; 803cafc 803cad0: ee77 7a87 vadd.f32 s15, s15, s14 803cad4: 4a07 ldr r2, [pc, #28] ; (803caf4 ) 803cad6: 0083 lsls r3, r0, #2 803cad8: 440b add r3, r1 803cada: 3396 adds r3, #150 ; 0x96 803cadc: 009b lsls r3, r3, #2 803cade: 4413 add r3, r2 803cae0: 3304 adds r3, #4 803cae2: edc3 7a00 vstr s15, [r3] if((pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7) == DIAGN_ACC) 803cae6: f000 be1a b.w 803d71e 803caea: bf00 nop 803caec: 20021011 .word 0x20021011 803caf0: 20021013 .word 0x20021013 803caf4: 20023e60 .word 0x20023e60 803caf8: 3dcccccd .word 0x3dcccccd 803cafc: 38d1b717 .word 0x38d1b717 if((menupos >= DiagLP_IDT) && (menupos <= DiagLP_IKD)) 803cb00: 4bba ldr r3, [pc, #744] ; (803cdec ) 803cb02: 781b ldrb r3, [r3, #0] 803cb04: b2db uxtb r3, r3 803cb06: 2b12 cmp r3, #18 803cb08: f240 827e bls.w 803d008 803cb0c: 4bb7 ldr r3, [pc, #732] ; (803cdec ) 803cb0e: 781b ldrb r3, [r3, #0] 803cb10: b2db uxtb r3, r3 803cb12: 2b18 cmp r3, #24 803cb14: f200 8278 bhi.w 803d008 k = (uint32_t) (pardata.DIAGN_LP[CURR_POINT][CURR_USL] * 10.0f); 803cb18: 4bb5 ldr r3, [pc, #724] ; (803cdf0 ) 803cb1a: 781b ldrb r3, [r3, #0] 803cb1c: b2db uxtb r3, r3 803cb1e: 4618 mov r0, r3 803cb20: 4bb4 ldr r3, [pc, #720] ; (803cdf4 ) 803cb22: 781b ldrb r3, [r3, #0] 803cb24: b2db uxtb r3, r3 803cb26: 4619 mov r1, r3 803cb28: 4ab3 ldr r2, [pc, #716] ; (803cdf8 ) 803cb2a: 0083 lsls r3, r0, #2 803cb2c: 440b add r3, r1 803cb2e: 33b6 adds r3, #182 ; 0xb6 803cb30: 009b lsls r3, r3, #2 803cb32: 4413 add r3, r2 803cb34: 3304 adds r3, #4 803cb36: edd3 7a00 vldr s15, [r3] 803cb3a: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 803cb3e: ee67 7a87 vmul.f32 s15, s15, s14 803cb42: eefc 7ae7 vcvt.u32.f32 s15, s15 803cb46: ee17 3a90 vmov r3, s15 803cb4a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 803cb4e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803cb52: 095b lsrs r3, r3, #5 803cb54: 4aa9 ldr r2, [pc, #676] ; (803cdfc ) 803cb56: fba2 2303 umull r2, r3, r2, r3 803cb5a: 09db lsrs r3, r3, #7 803cb5c: b2db uxtb r3, r3 803cb5e: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 803cb62: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803cb66: 0953 lsrs r3, r2, #5 803cb68: 49a4 ldr r1, [pc, #656] ; (803cdfc ) 803cb6a: fba1 1303 umull r1, r3, r1, r3 803cb6e: 09db lsrs r3, r3, #7 803cb70: 49a3 ldr r1, [pc, #652] ; (803ce00 ) 803cb72: fb01 f303 mul.w r3, r1, r3 803cb76: 1ad3 subs r3, r2, r3 803cb78: 4aa2 ldr r2, [pc, #648] ; (803ce04 ) 803cb7a: fba2 2303 umull r2, r3, r2, r3 803cb7e: 0b5b lsrs r3, r3, #13 803cb80: b2db uxtb r3, r3 803cb82: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 803cb86: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803cb8a: 0953 lsrs r3, r2, #5 803cb8c: 499b ldr r1, [pc, #620] ; (803cdfc ) 803cb8e: fba1 1303 umull r1, r3, r1, r3 803cb92: 09db lsrs r3, r3, #7 803cb94: 499a ldr r1, [pc, #616] ; (803ce00 ) 803cb96: fb01 f303 mul.w r3, r1, r3 803cb9a: 1ad3 subs r3, r2, r3 803cb9c: 4a99 ldr r2, [pc, #612] ; (803ce04 ) 803cb9e: fba2 1203 umull r1, r2, r2, r3 803cba2: 0b52 lsrs r2, r2, #13 803cba4: f242 7110 movw r1, #10000 ; 0x2710 803cba8: fb01 f202 mul.w r2, r1, r2 803cbac: 1a9a subs r2, r3, r2 803cbae: 4b96 ldr r3, [pc, #600] ; (803ce08 ) 803cbb0: fba3 2302 umull r2, r3, r3, r2 803cbb4: 099b lsrs r3, r3, #6 803cbb6: b2db uxtb r3, r3 803cbb8: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 803cbbc: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803cbc0: 095a lsrs r2, r3, #5 803cbc2: 498e ldr r1, [pc, #568] ; (803cdfc ) 803cbc4: fba1 1202 umull r1, r2, r1, r2 803cbc8: 09d2 lsrs r2, r2, #7 803cbca: 498d ldr r1, [pc, #564] ; (803ce00 ) 803cbcc: fb01 f202 mul.w r2, r1, r2 803cbd0: 1a9a subs r2, r3, r2 803cbd2: 4b8c ldr r3, [pc, #560] ; (803ce04 ) 803cbd4: fba3 1302 umull r1, r3, r3, r2 803cbd8: 0b5b lsrs r3, r3, #13 803cbda: f242 7110 movw r1, #10000 ; 0x2710 803cbde: fb01 f303 mul.w r3, r1, r3 803cbe2: 1ad3 subs r3, r2, r3 803cbe4: 4a88 ldr r2, [pc, #544] ; (803ce08 ) 803cbe6: fba2 1203 umull r1, r2, r2, r3 803cbea: 0992 lsrs r2, r2, #6 803cbec: f44f 717a mov.w r1, #1000 ; 0x3e8 803cbf0: fb01 f202 mul.w r2, r1, r2 803cbf4: 1a9a subs r2, r3, r2 803cbf6: 4b85 ldr r3, [pc, #532] ; (803ce0c ) 803cbf8: fba3 2302 umull r2, r3, r3, r2 803cbfc: 095b lsrs r3, r3, #5 803cbfe: b2db uxtb r3, r3 803cc00: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 803cc04: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803cc08: 0953 lsrs r3, r2, #5 803cc0a: 497c ldr r1, [pc, #496] ; (803cdfc ) 803cc0c: fba1 1303 umull r1, r3, r1, r3 803cc10: 09db lsrs r3, r3, #7 803cc12: 497b ldr r1, [pc, #492] ; (803ce00 ) 803cc14: fb01 f303 mul.w r3, r1, r3 803cc18: 1ad3 subs r3, r2, r3 803cc1a: 4a7a ldr r2, [pc, #488] ; (803ce04 ) 803cc1c: fba2 1203 umull r1, r2, r2, r3 803cc20: 0b52 lsrs r2, r2, #13 803cc22: f242 7110 movw r1, #10000 ; 0x2710 803cc26: fb01 f202 mul.w r2, r1, r2 803cc2a: 1a9a subs r2, r3, r2 803cc2c: 4b76 ldr r3, [pc, #472] ; (803ce08 ) 803cc2e: fba3 1302 umull r1, r3, r3, r2 803cc32: 099b lsrs r3, r3, #6 803cc34: f44f 717a mov.w r1, #1000 ; 0x3e8 803cc38: fb01 f303 mul.w r3, r1, r3 803cc3c: 1ad3 subs r3, r2, r3 803cc3e: 4a73 ldr r2, [pc, #460] ; (803ce0c ) 803cc40: fba2 1203 umull r1, r2, r2, r3 803cc44: 0952 lsrs r2, r2, #5 803cc46: 2164 movs r1, #100 ; 0x64 803cc48: fb01 f202 mul.w r2, r1, r2 803cc4c: 1a9a subs r2, r3, r2 803cc4e: 4b70 ldr r3, [pc, #448] ; (803ce10 ) 803cc50: fba3 2302 umull r2, r3, r3, r2 803cc54: 08db lsrs r3, r3, #3 803cc56: b2db uxtb r3, r3 803cc58: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 803cc5c: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803cc60: 0953 lsrs r3, r2, #5 803cc62: 4966 ldr r1, [pc, #408] ; (803cdfc ) 803cc64: fba1 1303 umull r1, r3, r1, r3 803cc68: 09db lsrs r3, r3, #7 803cc6a: 4965 ldr r1, [pc, #404] ; (803ce00 ) 803cc6c: fb01 f303 mul.w r3, r1, r3 803cc70: 1ad3 subs r3, r2, r3 803cc72: 4a64 ldr r2, [pc, #400] ; (803ce04 ) 803cc74: fba2 1203 umull r1, r2, r2, r3 803cc78: 0b52 lsrs r2, r2, #13 803cc7a: f242 7110 movw r1, #10000 ; 0x2710 803cc7e: fb01 f202 mul.w r2, r1, r2 803cc82: 1a9a subs r2, r3, r2 803cc84: 4b60 ldr r3, [pc, #384] ; (803ce08 ) 803cc86: fba3 1302 umull r1, r3, r3, r2 803cc8a: 099b lsrs r3, r3, #6 803cc8c: f44f 717a mov.w r1, #1000 ; 0x3e8 803cc90: fb01 f303 mul.w r3, r1, r3 803cc94: 1ad3 subs r3, r2, r3 803cc96: 4a5d ldr r2, [pc, #372] ; (803ce0c ) 803cc98: fba2 1203 umull r1, r2, r2, r3 803cc9c: 0952 lsrs r2, r2, #5 803cc9e: 2164 movs r1, #100 ; 0x64 803cca0: fb01 f202 mul.w r2, r1, r2 803cca4: 1a9a subs r2, r3, r2 803cca6: 4b5a ldr r3, [pc, #360] ; (803ce10 ) 803cca8: fba3 1302 umull r1, r3, r3, r2 803ccac: 08d9 lsrs r1, r3, #3 803ccae: 460b mov r3, r1 803ccb0: 009b lsls r3, r3, #2 803ccb2: 440b add r3, r1 803ccb4: 005b lsls r3, r3, #1 803ccb6: 1ad1 subs r1, r2, r3 803ccb8: b2cb uxtb r3, r1 803ccba: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 803ccbe: 4b4b ldr r3, [pc, #300] ; (803cdec ) 803ccc0: 781b ldrb r3, [r3, #0] 803ccc2: b2db uxtb r3, r3 803ccc4: 3b13 subs r3, #19 803ccc6: 2b05 cmp r3, #5 803ccc8: d85c bhi.n 803cd84 803ccca: a201 add r2, pc, #4 ; (adr r2, 803ccd0 ) 803cccc: f852 f023 ldr.w pc, [r2, r3, lsl #2] 803ccd0: 0803cce9 .word 0x0803cce9 803ccd4: 0803cd01 .word 0x0803cd01 803ccd8: 0803cd1b .word 0x0803cd1b 803ccdc: 0803cd33 .word 0x0803cd33 803cce0: 0803cd47 .word 0x0803cd47 803cce4: 0803cd5b .word 0x0803cd5b if(k > 100000) 803cce8: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803ccec: 4a44 ldr r2, [pc, #272] ; (803ce00 ) 803ccee: 4293 cmp r3, r2 803ccf0: d93d bls.n 803cd6e k -= 100000; 803ccf2: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803ccf6: 4b47 ldr r3, [pc, #284] ; (803ce14 ) 803ccf8: 4413 add r3, r2 803ccfa: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803ccfe: e036 b.n 803cd6e if(k > 10000) 803cd00: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803cd04: f242 7210 movw r2, #10000 ; 0x2710 803cd08: 4293 cmp r3, r2 803cd0a: d932 bls.n 803cd72 k -= 10000; 803cd0c: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803cd10: 4b41 ldr r3, [pc, #260] ; (803ce18 ) 803cd12: 4413 add r3, r2 803cd14: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803cd18: e02b b.n 803cd72 if(k > 1000) 803cd1a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803cd1e: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 803cd22: d928 bls.n 803cd76 k -= 1000; 803cd24: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803cd28: f5a3 737a sub.w r3, r3, #1000 ; 0x3e8 803cd2c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803cd30: e021 b.n 803cd76 if(k > 100) 803cd32: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803cd36: 2b64 cmp r3, #100 ; 0x64 803cd38: d91f bls.n 803cd7a k -= 100; 803cd3a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803cd3e: 3b64 subs r3, #100 ; 0x64 803cd40: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803cd44: e019 b.n 803cd7a if(k > 10) 803cd46: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803cd4a: 2b0a cmp r3, #10 803cd4c: d917 bls.n 803cd7e k -= 10; 803cd4e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803cd52: 3b0a subs r3, #10 803cd54: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803cd58: e011 b.n 803cd7e if(k > 1) 803cd5a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803cd5e: 2b01 cmp r3, #1 803cd60: d90f bls.n 803cd82 k--; 803cd62: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803cd66: 3b01 subs r3, #1 803cd68: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803cd6c: e009 b.n 803cd82 break; 803cd6e: bf00 nop 803cd70: e008 b.n 803cd84 break; 803cd72: bf00 nop 803cd74: e006 b.n 803cd84 break; 803cd76: bf00 nop 803cd78: e004 b.n 803cd84 break; 803cd7a: bf00 nop 803cd7c: e002 b.n 803cd84 break; 803cd7e: bf00 nop 803cd80: e000 b.n 803cd84 break; 803cd82: bf00 nop fl = (float32_t) k; 803cd84: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803cd88: ee07 3a90 vmov s15, r3 803cd8c: eef8 7a67 vcvt.f32.u32 s15, s15 803cd90: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl *= 0.1f; 803cd94: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 803cd98: ed9f 7a20 vldr s14, [pc, #128] ; 803ce1c 803cd9c: ee67 7a87 vmul.f32 s15, s15, s14 803cda0: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl += 0.0001f; 803cda4: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 803cda8: ed9f 7a1d vldr s14, [pc, #116] ; 803ce20 803cdac: ee77 7a87 vadd.f32 s15, s15, s14 803cdb0: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 if(fl < 10.0f) 803cdb4: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 803cdb8: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 803cdbc: eef4 7ac7 vcmpe.f32 s15, s14 803cdc0: eef1 fa10 vmrs APSR_nzcv, fpscr 803cdc4: d530 bpl.n 803ce28 pardata.DIAGN_LP[CURR_POINT][CURR_USL] = 10.0f; 803cdc6: 4b0a ldr r3, [pc, #40] ; (803cdf0 ) 803cdc8: 781b ldrb r3, [r3, #0] 803cdca: b2db uxtb r3, r3 803cdcc: 4618 mov r0, r3 803cdce: 4b09 ldr r3, [pc, #36] ; (803cdf4 ) 803cdd0: 781b ldrb r3, [r3, #0] 803cdd2: b2db uxtb r3, r3 803cdd4: 4619 mov r1, r3 803cdd6: 4a08 ldr r2, [pc, #32] ; (803cdf8 ) 803cdd8: 0083 lsls r3, r0, #2 803cdda: 440b add r3, r1 803cddc: 33b6 adds r3, #182 ; 0xb6 803cdde: 009b lsls r3, r3, #2 803cde0: 4413 add r3, r2 803cde2: 3304 adds r3, #4 803cde4: 4a0f ldr r2, [pc, #60] ; (803ce24 ) 803cde6: 601a str r2, [r3, #0] if(fl < 10.0f) 803cde8: f000 bc99 b.w 803d71e 803cdec: 20020070 .word 0x20020070 803cdf0: 20021011 .word 0x20021011 803cdf4: 20021013 .word 0x20021013 803cdf8: 20023e60 .word 0x20023e60 803cdfc: 0a7c5ac5 .word 0x0a7c5ac5 803ce00: 000186a0 .word 0x000186a0 803ce04: d1b71759 .word 0xd1b71759 803ce08: 10624dd3 .word 0x10624dd3 803ce0c: 51eb851f .word 0x51eb851f 803ce10: cccccccd .word 0xcccccccd 803ce14: fffe7960 .word 0xfffe7960 803ce18: ffffd8f0 .word 0xffffd8f0 803ce1c: 3dcccccd .word 0x3dcccccd 803ce20: 38d1b717 .word 0x38d1b717 803ce24: 41200000 .word 0x41200000 if(pardata.DIAGN_LP[CURR_POINT][CURR_USL] < pardata.DIAGN_HP[CURR_POINT][CURR_USL]) 803ce28: 4b6f ldr r3, [pc, #444] ; (803cfe8 ) 803ce2a: 781b ldrb r3, [r3, #0] 803ce2c: b2db uxtb r3, r3 803ce2e: 4618 mov r0, r3 803ce30: 4b6e ldr r3, [pc, #440] ; (803cfec ) 803ce32: 781b ldrb r3, [r3, #0] 803ce34: b2db uxtb r3, r3 803ce36: 4619 mov r1, r3 803ce38: 4a6d ldr r2, [pc, #436] ; (803cff0 ) 803ce3a: 0083 lsls r3, r0, #2 803ce3c: 440b add r3, r1 803ce3e: 33b6 adds r3, #182 ; 0xb6 803ce40: 009b lsls r3, r3, #2 803ce42: 4413 add r3, r2 803ce44: 3304 adds r3, #4 803ce46: ed93 7a00 vldr s14, [r3] 803ce4a: 4b67 ldr r3, [pc, #412] ; (803cfe8 ) 803ce4c: 781b ldrb r3, [r3, #0] 803ce4e: b2db uxtb r3, r3 803ce50: 4618 mov r0, r3 803ce52: 4b66 ldr r3, [pc, #408] ; (803cfec ) 803ce54: 781b ldrb r3, [r3, #0] 803ce56: b2db uxtb r3, r3 803ce58: 4619 mov r1, r3 803ce5a: 4a65 ldr r2, [pc, #404] ; (803cff0 ) 803ce5c: 0083 lsls r3, r0, #2 803ce5e: 440b add r3, r1 803ce60: 3396 adds r3, #150 ; 0x96 803ce62: 009b lsls r3, r3, #2 803ce64: 4413 add r3, r2 803ce66: 3304 adds r3, #4 803ce68: edd3 7a00 vldr s15, [r3] 803ce6c: eeb4 7ae7 vcmpe.f32 s14, s15 803ce70: eef1 fa10 vmrs APSR_nzcv, fpscr 803ce74: d521 bpl.n 803ceba pardata.DIAGN_LP[CURR_POINT][CURR_USL] = pardata.DIAGN_HP[CURR_POINT][CURR_USL]; 803ce76: 4b5c ldr r3, [pc, #368] ; (803cfe8 ) 803ce78: 781b ldrb r3, [r3, #0] 803ce7a: b2db uxtb r3, r3 803ce7c: 461c mov r4, r3 803ce7e: 4b5b ldr r3, [pc, #364] ; (803cfec ) 803ce80: 781b ldrb r3, [r3, #0] 803ce82: b2db uxtb r3, r3 803ce84: 4618 mov r0, r3 803ce86: 4b58 ldr r3, [pc, #352] ; (803cfe8 ) 803ce88: 781b ldrb r3, [r3, #0] 803ce8a: b2db uxtb r3, r3 803ce8c: 461d mov r5, r3 803ce8e: 4b57 ldr r3, [pc, #348] ; (803cfec ) 803ce90: 781b ldrb r3, [r3, #0] 803ce92: b2db uxtb r3, r3 803ce94: 4619 mov r1, r3 803ce96: 4a56 ldr r2, [pc, #344] ; (803cff0 ) 803ce98: 00ab lsls r3, r5, #2 803ce9a: 440b add r3, r1 803ce9c: 3396 adds r3, #150 ; 0x96 803ce9e: 009b lsls r3, r3, #2 803cea0: 4413 add r3, r2 803cea2: 3304 adds r3, #4 803cea4: 681a ldr r2, [r3, #0] 803cea6: 4952 ldr r1, [pc, #328] ; (803cff0 ) 803cea8: 00a3 lsls r3, r4, #2 803ceaa: 4403 add r3, r0 803ceac: 33b6 adds r3, #182 ; 0xb6 803ceae: 009b lsls r3, r3, #2 803ceb0: 440b add r3, r1 803ceb2: 3304 adds r3, #4 803ceb4: 601a str r2, [r3, #0] if(fl < 10.0f) 803ceb6: f000 bc32 b.w 803d71e if(fl > (((float32_t) FS[pardata.FRQ] / 5.0f) + 0.00005f)) 803ceba: 4b4d ldr r3, [pc, #308] ; (803cff0 ) 803cebc: 7adb ldrb r3, [r3, #11] 803cebe: b2db uxtb r3, r3 803cec0: 461a mov r2, r3 803cec2: 4b4c ldr r3, [pc, #304] ; (803cff4 ) 803cec4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 803cec8: ee07 3a90 vmov s15, r3 803cecc: eeb8 7a67 vcvt.f32.u32 s14, s15 803ced0: eef1 6a04 vmov.f32 s13, #20 ; 0x40a00000 5.0 803ced4: eec7 7a26 vdiv.f32 s15, s14, s13 803ced8: ed9f 7a47 vldr s14, [pc, #284] ; 803cff8 803cedc: ee37 7a87 vadd.f32 s14, s15, s14 803cee0: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 803cee4: eeb4 7ae7 vcmpe.f32 s14, s15 803cee8: eef1 fa10 vmrs APSR_nzcv, fpscr 803ceec: d524 bpl.n 803cf38 pardata.DIAGN_LP[CURR_POINT][CURR_USL] = (float32_t) (FS[pardata.FRQ] / 5) + 0.0001f; 803ceee: 4b3e ldr r3, [pc, #248] ; (803cfe8 ) 803cef0: 781b ldrb r3, [r3, #0] 803cef2: b2db uxtb r3, r3 803cef4: 4618 mov r0, r3 803cef6: 4b3d ldr r3, [pc, #244] ; (803cfec ) 803cef8: 781b ldrb r3, [r3, #0] 803cefa: b2db uxtb r3, r3 803cefc: 4619 mov r1, r3 803cefe: 4b3c ldr r3, [pc, #240] ; (803cff0 ) 803cf00: 7adb ldrb r3, [r3, #11] 803cf02: b2db uxtb r3, r3 803cf04: 461a mov r2, r3 803cf06: 4b3b ldr r3, [pc, #236] ; (803cff4 ) 803cf08: f853 3022 ldr.w r3, [r3, r2, lsl #2] 803cf0c: 4a3b ldr r2, [pc, #236] ; (803cffc ) 803cf0e: fba2 2303 umull r2, r3, r2, r3 803cf12: 089b lsrs r3, r3, #2 803cf14: ee07 3a90 vmov s15, r3 803cf18: eef8 7a67 vcvt.f32.u32 s15, s15 803cf1c: ed9f 7a38 vldr s14, [pc, #224] ; 803d000 803cf20: ee77 7a87 vadd.f32 s15, s15, s14 803cf24: 4a32 ldr r2, [pc, #200] ; (803cff0 ) 803cf26: 0083 lsls r3, r0, #2 803cf28: 440b add r3, r1 803cf2a: 33b6 adds r3, #182 ; 0xb6 803cf2c: 009b lsls r3, r3, #2 803cf2e: 4413 add r3, r2 803cf30: 3304 adds r3, #4 803cf32: edc3 7a00 vstr s15, [r3] if(fl < 10.0f) 803cf36: e3f2 b.n 803d71e pardata.DIAGN_LP[CURR_POINT][CURR_USL] = (float32_t) k; 803cf38: 4b2b ldr r3, [pc, #172] ; (803cfe8 ) 803cf3a: 781b ldrb r3, [r3, #0] 803cf3c: b2db uxtb r3, r3 803cf3e: 4618 mov r0, r3 803cf40: 4b2a ldr r3, [pc, #168] ; (803cfec ) 803cf42: 781b ldrb r3, [r3, #0] 803cf44: b2db uxtb r3, r3 803cf46: 4619 mov r1, r3 803cf48: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803cf4c: ee07 3a90 vmov s15, r3 803cf50: eef8 7a67 vcvt.f32.u32 s15, s15 803cf54: 4a26 ldr r2, [pc, #152] ; (803cff0 ) 803cf56: 0083 lsls r3, r0, #2 803cf58: 440b add r3, r1 803cf5a: 33b6 adds r3, #182 ; 0xb6 803cf5c: 009b lsls r3, r3, #2 803cf5e: 4413 add r3, r2 803cf60: 3304 adds r3, #4 803cf62: edc3 7a00 vstr s15, [r3] pardata.DIAGN_LP[CURR_POINT][CURR_USL] *= 0.1f; 803cf66: 4b20 ldr r3, [pc, #128] ; (803cfe8 ) 803cf68: 781b ldrb r3, [r3, #0] 803cf6a: b2da uxtb r2, r3 803cf6c: 4610 mov r0, r2 803cf6e: 4b1f ldr r3, [pc, #124] ; (803cfec ) 803cf70: 781b ldrb r3, [r3, #0] 803cf72: b2db uxtb r3, r3 803cf74: 4619 mov r1, r3 803cf76: 4615 mov r5, r2 803cf78: 461c mov r4, r3 803cf7a: 4a1d ldr r2, [pc, #116] ; (803cff0 ) 803cf7c: 00ab lsls r3, r5, #2 803cf7e: 4423 add r3, r4 803cf80: 33b6 adds r3, #182 ; 0xb6 803cf82: 009b lsls r3, r3, #2 803cf84: 4413 add r3, r2 803cf86: 3304 adds r3, #4 803cf88: edd3 7a00 vldr s15, [r3] 803cf8c: ed9f 7a1d vldr s14, [pc, #116] ; 803d004 803cf90: ee67 7a87 vmul.f32 s15, s15, s14 803cf94: 4a16 ldr r2, [pc, #88] ; (803cff0 ) 803cf96: 0083 lsls r3, r0, #2 803cf98: 440b add r3, r1 803cf9a: 33b6 adds r3, #182 ; 0xb6 803cf9c: 009b lsls r3, r3, #2 803cf9e: 4413 add r3, r2 803cfa0: 3304 adds r3, #4 803cfa2: edc3 7a00 vstr s15, [r3] pardata.DIAGN_LP[CURR_POINT][CURR_USL] += 0.0001f; 803cfa6: 4b10 ldr r3, [pc, #64] ; (803cfe8 ) 803cfa8: 781b ldrb r3, [r3, #0] 803cfaa: b2da uxtb r2, r3 803cfac: 4610 mov r0, r2 803cfae: 4b0f ldr r3, [pc, #60] ; (803cfec ) 803cfb0: 781b ldrb r3, [r3, #0] 803cfb2: b2db uxtb r3, r3 803cfb4: 4619 mov r1, r3 803cfb6: 4615 mov r5, r2 803cfb8: 461c mov r4, r3 803cfba: 4a0d ldr r2, [pc, #52] ; (803cff0 ) 803cfbc: 00ab lsls r3, r5, #2 803cfbe: 4423 add r3, r4 803cfc0: 33b6 adds r3, #182 ; 0xb6 803cfc2: 009b lsls r3, r3, #2 803cfc4: 4413 add r3, r2 803cfc6: 3304 adds r3, #4 803cfc8: edd3 7a00 vldr s15, [r3] 803cfcc: ed9f 7a0c vldr s14, [pc, #48] ; 803d000 803cfd0: ee77 7a87 vadd.f32 s15, s15, s14 803cfd4: 4a06 ldr r2, [pc, #24] ; (803cff0 ) 803cfd6: 0083 lsls r3, r0, #2 803cfd8: 440b add r3, r1 803cfda: 33b6 adds r3, #182 ; 0xb6 803cfdc: 009b lsls r3, r3, #2 803cfde: 4413 add r3, r2 803cfe0: 3304 adds r3, #4 803cfe2: edc3 7a00 vstr s15, [r3] if(fl < 10.0f) 803cfe6: e39a b.n 803d71e 803cfe8: 20021011 .word 0x20021011 803cfec: 20021013 .word 0x20021013 803cff0: 20023e60 .word 0x20023e60 803cff4: 080ee890 .word 0x080ee890 803cff8: 3851b717 .word 0x3851b717 803cffc: cccccccd .word 0xcccccccd 803d000: 38d1b717 .word 0x38d1b717 803d004: 3dcccccd .word 0x3dcccccd if((menupos >= DiagW_IDT) && (menupos <= DiagW_IKD)) 803d008: 4ba0 ldr r3, [pc, #640] ; (803d28c ) 803d00a: 781b ldrb r3, [r3, #0] 803d00c: b2db uxtb r3, r3 803d00e: 2b18 cmp r3, #24 803d010: f240 81bc bls.w 803d38c 803d014: 4b9d ldr r3, [pc, #628] ; (803d28c ) 803d016: 781b ldrb r3, [r3, #0] 803d018: b2db uxtb r3, r3 803d01a: 2b1e cmp r3, #30 803d01c: f200 81b6 bhi.w 803d38c k = (uint32_t) (pardata.DIAGN_W[CURR_POINT][CURR_USL] * 10.0f); 803d020: 4b9b ldr r3, [pc, #620] ; (803d290 ) 803d022: 781b ldrb r3, [r3, #0] 803d024: b2db uxtb r3, r3 803d026: 4618 mov r0, r3 803d028: 4b9a ldr r3, [pc, #616] ; (803d294 ) 803d02a: 781b ldrb r3, [r3, #0] 803d02c: b2db uxtb r3, r3 803d02e: 4619 mov r1, r3 803d030: 4a99 ldr r2, [pc, #612] ; (803d298 ) 803d032: 0083 lsls r3, r0, #2 803d034: 440b add r3, r1 803d036: 33d6 adds r3, #214 ; 0xd6 803d038: 009b lsls r3, r3, #2 803d03a: 4413 add r3, r2 803d03c: 3304 adds r3, #4 803d03e: edd3 7a00 vldr s15, [r3] 803d042: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 803d046: ee67 7a87 vmul.f32 s15, s15, s14 803d04a: eefc 7ae7 vcvt.u32.f32 s15, s15 803d04e: ee17 3a90 vmov r3, s15 803d052: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 803d056: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803d05a: 095b lsrs r3, r3, #5 803d05c: 4a8f ldr r2, [pc, #572] ; (803d29c ) 803d05e: fba2 2303 umull r2, r3, r2, r3 803d062: 09db lsrs r3, r3, #7 803d064: b2db uxtb r3, r3 803d066: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 803d06a: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803d06e: 0953 lsrs r3, r2, #5 803d070: 498a ldr r1, [pc, #552] ; (803d29c ) 803d072: fba1 1303 umull r1, r3, r1, r3 803d076: 09db lsrs r3, r3, #7 803d078: 4989 ldr r1, [pc, #548] ; (803d2a0 ) 803d07a: fb01 f303 mul.w r3, r1, r3 803d07e: 1ad3 subs r3, r2, r3 803d080: 4a88 ldr r2, [pc, #544] ; (803d2a4 ) 803d082: fba2 2303 umull r2, r3, r2, r3 803d086: 0b5b lsrs r3, r3, #13 803d088: b2db uxtb r3, r3 803d08a: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 803d08e: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803d092: 0953 lsrs r3, r2, #5 803d094: 4981 ldr r1, [pc, #516] ; (803d29c ) 803d096: fba1 1303 umull r1, r3, r1, r3 803d09a: 09db lsrs r3, r3, #7 803d09c: 4980 ldr r1, [pc, #512] ; (803d2a0 ) 803d09e: fb01 f303 mul.w r3, r1, r3 803d0a2: 1ad3 subs r3, r2, r3 803d0a4: 4a7f ldr r2, [pc, #508] ; (803d2a4 ) 803d0a6: fba2 1203 umull r1, r2, r2, r3 803d0aa: 0b52 lsrs r2, r2, #13 803d0ac: f242 7110 movw r1, #10000 ; 0x2710 803d0b0: fb01 f202 mul.w r2, r1, r2 803d0b4: 1a9a subs r2, r3, r2 803d0b6: 4b7c ldr r3, [pc, #496] ; (803d2a8 ) 803d0b8: fba3 2302 umull r2, r3, r3, r2 803d0bc: 099b lsrs r3, r3, #6 803d0be: b2db uxtb r3, r3 803d0c0: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 803d0c4: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803d0c8: 095a lsrs r2, r3, #5 803d0ca: 4974 ldr r1, [pc, #464] ; (803d29c ) 803d0cc: fba1 1202 umull r1, r2, r1, r2 803d0d0: 09d2 lsrs r2, r2, #7 803d0d2: 4973 ldr r1, [pc, #460] ; (803d2a0 ) 803d0d4: fb01 f202 mul.w r2, r1, r2 803d0d8: 1a9a subs r2, r3, r2 803d0da: 4b72 ldr r3, [pc, #456] ; (803d2a4 ) 803d0dc: fba3 1302 umull r1, r3, r3, r2 803d0e0: 0b5b lsrs r3, r3, #13 803d0e2: f242 7110 movw r1, #10000 ; 0x2710 803d0e6: fb01 f303 mul.w r3, r1, r3 803d0ea: 1ad3 subs r3, r2, r3 803d0ec: 4a6e ldr r2, [pc, #440] ; (803d2a8 ) 803d0ee: fba2 1203 umull r1, r2, r2, r3 803d0f2: 0992 lsrs r2, r2, #6 803d0f4: f44f 717a mov.w r1, #1000 ; 0x3e8 803d0f8: fb01 f202 mul.w r2, r1, r2 803d0fc: 1a9a subs r2, r3, r2 803d0fe: 4b6b ldr r3, [pc, #428] ; (803d2ac ) 803d100: fba3 2302 umull r2, r3, r3, r2 803d104: 095b lsrs r3, r3, #5 803d106: b2db uxtb r3, r3 803d108: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 803d10c: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803d110: 0953 lsrs r3, r2, #5 803d112: 4962 ldr r1, [pc, #392] ; (803d29c ) 803d114: fba1 1303 umull r1, r3, r1, r3 803d118: 09db lsrs r3, r3, #7 803d11a: 4961 ldr r1, [pc, #388] ; (803d2a0 ) 803d11c: fb01 f303 mul.w r3, r1, r3 803d120: 1ad3 subs r3, r2, r3 803d122: 4a60 ldr r2, [pc, #384] ; (803d2a4 ) 803d124: fba2 1203 umull r1, r2, r2, r3 803d128: 0b52 lsrs r2, r2, #13 803d12a: f242 7110 movw r1, #10000 ; 0x2710 803d12e: fb01 f202 mul.w r2, r1, r2 803d132: 1a9a subs r2, r3, r2 803d134: 4b5c ldr r3, [pc, #368] ; (803d2a8 ) 803d136: fba3 1302 umull r1, r3, r3, r2 803d13a: 099b lsrs r3, r3, #6 803d13c: f44f 717a mov.w r1, #1000 ; 0x3e8 803d140: fb01 f303 mul.w r3, r1, r3 803d144: 1ad3 subs r3, r2, r3 803d146: 4a59 ldr r2, [pc, #356] ; (803d2ac ) 803d148: fba2 1203 umull r1, r2, r2, r3 803d14c: 0952 lsrs r2, r2, #5 803d14e: 2164 movs r1, #100 ; 0x64 803d150: fb01 f202 mul.w r2, r1, r2 803d154: 1a9a subs r2, r3, r2 803d156: 4b56 ldr r3, [pc, #344] ; (803d2b0 ) 803d158: fba3 2302 umull r2, r3, r3, r2 803d15c: 08db lsrs r3, r3, #3 803d15e: b2db uxtb r3, r3 803d160: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 803d164: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803d168: 0953 lsrs r3, r2, #5 803d16a: 494c ldr r1, [pc, #304] ; (803d29c ) 803d16c: fba1 1303 umull r1, r3, r1, r3 803d170: 09db lsrs r3, r3, #7 803d172: 494b ldr r1, [pc, #300] ; (803d2a0 ) 803d174: fb01 f303 mul.w r3, r1, r3 803d178: 1ad3 subs r3, r2, r3 803d17a: 4a4a ldr r2, [pc, #296] ; (803d2a4 ) 803d17c: fba2 1203 umull r1, r2, r2, r3 803d180: 0b52 lsrs r2, r2, #13 803d182: f242 7110 movw r1, #10000 ; 0x2710 803d186: fb01 f202 mul.w r2, r1, r2 803d18a: 1a9a subs r2, r3, r2 803d18c: 4b46 ldr r3, [pc, #280] ; (803d2a8 ) 803d18e: fba3 1302 umull r1, r3, r3, r2 803d192: 099b lsrs r3, r3, #6 803d194: f44f 717a mov.w r1, #1000 ; 0x3e8 803d198: fb01 f303 mul.w r3, r1, r3 803d19c: 1ad3 subs r3, r2, r3 803d19e: 4a43 ldr r2, [pc, #268] ; (803d2ac ) 803d1a0: fba2 1203 umull r1, r2, r2, r3 803d1a4: 0952 lsrs r2, r2, #5 803d1a6: 2164 movs r1, #100 ; 0x64 803d1a8: fb01 f202 mul.w r2, r1, r2 803d1ac: 1a9a subs r2, r3, r2 803d1ae: 4b40 ldr r3, [pc, #256] ; (803d2b0 ) 803d1b0: fba3 1302 umull r1, r3, r3, r2 803d1b4: 08d9 lsrs r1, r3, #3 803d1b6: 460b mov r3, r1 803d1b8: 009b lsls r3, r3, #2 803d1ba: 440b add r3, r1 803d1bc: 005b lsls r3, r3, #1 803d1be: 1ad1 subs r1, r2, r3 803d1c0: b2cb uxtb r3, r1 803d1c2: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 803d1c6: 4b31 ldr r3, [pc, #196] ; (803d28c ) 803d1c8: 781b ldrb r3, [r3, #0] 803d1ca: b2db uxtb r3, r3 803d1cc: 3b19 subs r3, #25 803d1ce: 2b05 cmp r3, #5 803d1d0: d875 bhi.n 803d2be 803d1d2: a201 add r2, pc, #4 ; (adr r2, 803d1d8 ) 803d1d4: f852 f023 ldr.w pc, [r2, r3, lsl #2] 803d1d8: 0803d1f1 .word 0x0803d1f1 803d1dc: 0803d209 .word 0x0803d209 803d1e0: 0803d223 .word 0x0803d223 803d1e4: 0803d23b .word 0x0803d23b 803d1e8: 0803d24f .word 0x0803d24f 803d1ec: 0803d263 .word 0x0803d263 if(k > 100000) 803d1f0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803d1f4: 4a2a ldr r2, [pc, #168] ; (803d2a0 ) 803d1f6: 4293 cmp r3, r2 803d1f8: d93d bls.n 803d276 k -= 100000; 803d1fa: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803d1fe: 4b2d ldr r3, [pc, #180] ; (803d2b4 ) 803d200: 4413 add r3, r2 803d202: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803d206: e036 b.n 803d276 if(k > 10000) 803d208: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803d20c: f242 7210 movw r2, #10000 ; 0x2710 803d210: 4293 cmp r3, r2 803d212: d932 bls.n 803d27a k -= 10000; 803d214: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803d218: 4b27 ldr r3, [pc, #156] ; (803d2b8 ) 803d21a: 4413 add r3, r2 803d21c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803d220: e02b b.n 803d27a if(k > 1000) 803d222: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803d226: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 803d22a: d928 bls.n 803d27e k -= 1000; 803d22c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803d230: f5a3 737a sub.w r3, r3, #1000 ; 0x3e8 803d234: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803d238: e021 b.n 803d27e if(k > 100) 803d23a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803d23e: 2b64 cmp r3, #100 ; 0x64 803d240: d91f bls.n 803d282 k -= 100; 803d242: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803d246: 3b64 subs r3, #100 ; 0x64 803d248: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803d24c: e019 b.n 803d282 if(k > 10) 803d24e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803d252: 2b0a cmp r3, #10 803d254: d917 bls.n 803d286 k -= 10; 803d256: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803d25a: 3b0a subs r3, #10 803d25c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803d260: e011 b.n 803d286 if(k > 1) 803d262: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803d266: 2b01 cmp r3, #1 803d268: d928 bls.n 803d2bc k--; 803d26a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803d26e: 3b01 subs r3, #1 803d270: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803d274: e022 b.n 803d2bc break; 803d276: bf00 nop 803d278: e021 b.n 803d2be break; 803d27a: bf00 nop 803d27c: e01f b.n 803d2be break; 803d27e: bf00 nop 803d280: e01d b.n 803d2be break; 803d282: bf00 nop 803d284: e01b b.n 803d2be break; 803d286: bf00 nop 803d288: e019 b.n 803d2be 803d28a: bf00 nop 803d28c: 20020070 .word 0x20020070 803d290: 20021011 .word 0x20021011 803d294: 20021013 .word 0x20021013 803d298: 20023e60 .word 0x20023e60 803d29c: 0a7c5ac5 .word 0x0a7c5ac5 803d2a0: 000186a0 .word 0x000186a0 803d2a4: d1b71759 .word 0xd1b71759 803d2a8: 10624dd3 .word 0x10624dd3 803d2ac: 51eb851f .word 0x51eb851f 803d2b0: cccccccd .word 0xcccccccd 803d2b4: fffe7960 .word 0xfffe7960 803d2b8: ffffd8f0 .word 0xffffd8f0 break; 803d2bc: bf00 nop if(k > 999999) k = 999999; 803d2be: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803d2c2: 4ad1 ldr r2, [pc, #836] ; (803d608 ) 803d2c4: 4293 cmp r3, r2 803d2c6: d902 bls.n 803d2ce 803d2c8: 4bcf ldr r3, [pc, #828] ; (803d608 ) 803d2ca: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 if(k == 0) k = 1; 803d2ce: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803d2d2: 2b00 cmp r3, #0 803d2d4: d102 bne.n 803d2dc 803d2d6: 2301 movs r3, #1 803d2d8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.DIAGN_W[CURR_POINT][CURR_USL] = (float32_t) k; 803d2dc: 4bcb ldr r3, [pc, #812] ; (803d60c ) 803d2de: 781b ldrb r3, [r3, #0] 803d2e0: b2db uxtb r3, r3 803d2e2: 4618 mov r0, r3 803d2e4: 4bca ldr r3, [pc, #808] ; (803d610 ) 803d2e6: 781b ldrb r3, [r3, #0] 803d2e8: b2db uxtb r3, r3 803d2ea: 4619 mov r1, r3 803d2ec: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803d2f0: ee07 3a90 vmov s15, r3 803d2f4: eef8 7a67 vcvt.f32.u32 s15, s15 803d2f8: 4ac6 ldr r2, [pc, #792] ; (803d614 ) 803d2fa: 0083 lsls r3, r0, #2 803d2fc: 440b add r3, r1 803d2fe: 33d6 adds r3, #214 ; 0xd6 803d300: 009b lsls r3, r3, #2 803d302: 4413 add r3, r2 803d304: 3304 adds r3, #4 803d306: edc3 7a00 vstr s15, [r3] pardata.DIAGN_W[CURR_POINT][CURR_USL] *= 0.1f; 803d30a: 4bc0 ldr r3, [pc, #768] ; (803d60c ) 803d30c: 781b ldrb r3, [r3, #0] 803d30e: b2da uxtb r2, r3 803d310: 4610 mov r0, r2 803d312: 4bbf ldr r3, [pc, #764] ; (803d610 ) 803d314: 781b ldrb r3, [r3, #0] 803d316: b2db uxtb r3, r3 803d318: 4619 mov r1, r3 803d31a: 4615 mov r5, r2 803d31c: 461c mov r4, r3 803d31e: 4abd ldr r2, [pc, #756] ; (803d614 ) 803d320: 00ab lsls r3, r5, #2 803d322: 4423 add r3, r4 803d324: 33d6 adds r3, #214 ; 0xd6 803d326: 009b lsls r3, r3, #2 803d328: 4413 add r3, r2 803d32a: 3304 adds r3, #4 803d32c: edd3 7a00 vldr s15, [r3] 803d330: ed9f 7ab9 vldr s14, [pc, #740] ; 803d618 803d334: ee67 7a87 vmul.f32 s15, s15, s14 803d338: 4ab6 ldr r2, [pc, #728] ; (803d614 ) 803d33a: 0083 lsls r3, r0, #2 803d33c: 440b add r3, r1 803d33e: 33d6 adds r3, #214 ; 0xd6 803d340: 009b lsls r3, r3, #2 803d342: 4413 add r3, r2 803d344: 3304 adds r3, #4 803d346: edc3 7a00 vstr s15, [r3] pardata.DIAGN_W[CURR_POINT][CURR_USL] += 0.05f; 803d34a: 4bb0 ldr r3, [pc, #704] ; (803d60c ) 803d34c: 781b ldrb r3, [r3, #0] 803d34e: b2da uxtb r2, r3 803d350: 4610 mov r0, r2 803d352: 4baf ldr r3, [pc, #700] ; (803d610 ) 803d354: 781b ldrb r3, [r3, #0] 803d356: b2db uxtb r3, r3 803d358: 4619 mov r1, r3 803d35a: 4615 mov r5, r2 803d35c: 461c mov r4, r3 803d35e: 4aad ldr r2, [pc, #692] ; (803d614 ) 803d360: 00ab lsls r3, r5, #2 803d362: 4423 add r3, r4 803d364: 33d6 adds r3, #214 ; 0xd6 803d366: 009b lsls r3, r3, #2 803d368: 4413 add r3, r2 803d36a: 3304 adds r3, #4 803d36c: edd3 7a00 vldr s15, [r3] 803d370: ed9f 7aaa vldr s14, [pc, #680] ; 803d61c 803d374: ee77 7a87 vadd.f32 s15, s15, s14 803d378: 4aa6 ldr r2, [pc, #664] ; (803d614 ) 803d37a: 0083 lsls r3, r0, #2 803d37c: 440b add r3, r1 803d37e: 33d6 adds r3, #214 ; 0xd6 803d380: 009b lsls r3, r3, #2 803d382: 4413 add r3, r2 803d384: 3304 adds r3, #4 803d386: edc3 7a00 vstr s15, [r3] 803d38a: e1c8 b.n 803d71e if((menupos >= DiagA_IDT) && (menupos <= DiagA_IKD)) 803d38c: 4ba4 ldr r3, [pc, #656] ; (803d620 ) 803d38e: 781b ldrb r3, [r3, #0] 803d390: b2db uxtb r3, r3 803d392: 2b1e cmp r3, #30 803d394: f246 82e3 bls.w 804395e 803d398: 4ba1 ldr r3, [pc, #644] ; (803d620 ) 803d39a: 781b ldrb r3, [r3, #0] 803d39c: b2db uxtb r3, r3 803d39e: 2b24 cmp r3, #36 ; 0x24 803d3a0: f206 82dd bhi.w 804395e k = (uint32_t) (pardata.DIAGN_A[CURR_POINT][CURR_USL] * 10.0f); 803d3a4: 4b99 ldr r3, [pc, #612] ; (803d60c ) 803d3a6: 781b ldrb r3, [r3, #0] 803d3a8: b2db uxtb r3, r3 803d3aa: 4618 mov r0, r3 803d3ac: 4b98 ldr r3, [pc, #608] ; (803d610 ) 803d3ae: 781b ldrb r3, [r3, #0] 803d3b0: b2db uxtb r3, r3 803d3b2: 4619 mov r1, r3 803d3b4: 4a97 ldr r2, [pc, #604] ; (803d614 ) 803d3b6: 0083 lsls r3, r0, #2 803d3b8: 440b add r3, r1 803d3ba: 33f6 adds r3, #246 ; 0xf6 803d3bc: 009b lsls r3, r3, #2 803d3be: 4413 add r3, r2 803d3c0: 3304 adds r3, #4 803d3c2: edd3 7a00 vldr s15, [r3] 803d3c6: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 803d3ca: ee67 7a87 vmul.f32 s15, s15, s14 803d3ce: eefc 7ae7 vcvt.u32.f32 s15, s15 803d3d2: ee17 3a90 vmov r3, s15 803d3d6: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 803d3da: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803d3de: 095b lsrs r3, r3, #5 803d3e0: 4a90 ldr r2, [pc, #576] ; (803d624 ) 803d3e2: fba2 2303 umull r2, r3, r2, r3 803d3e6: 09db lsrs r3, r3, #7 803d3e8: b2db uxtb r3, r3 803d3ea: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 803d3ee: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803d3f2: 0953 lsrs r3, r2, #5 803d3f4: 498b ldr r1, [pc, #556] ; (803d624 ) 803d3f6: fba1 1303 umull r1, r3, r1, r3 803d3fa: 09db lsrs r3, r3, #7 803d3fc: 498a ldr r1, [pc, #552] ; (803d628 ) 803d3fe: fb01 f303 mul.w r3, r1, r3 803d402: 1ad3 subs r3, r2, r3 803d404: 4a89 ldr r2, [pc, #548] ; (803d62c ) 803d406: fba2 2303 umull r2, r3, r2, r3 803d40a: 0b5b lsrs r3, r3, #13 803d40c: b2db uxtb r3, r3 803d40e: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 803d412: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803d416: 0953 lsrs r3, r2, #5 803d418: 4982 ldr r1, [pc, #520] ; (803d624 ) 803d41a: fba1 1303 umull r1, r3, r1, r3 803d41e: 09db lsrs r3, r3, #7 803d420: 4981 ldr r1, [pc, #516] ; (803d628 ) 803d422: fb01 f303 mul.w r3, r1, r3 803d426: 1ad3 subs r3, r2, r3 803d428: 4a80 ldr r2, [pc, #512] ; (803d62c ) 803d42a: fba2 1203 umull r1, r2, r2, r3 803d42e: 0b52 lsrs r2, r2, #13 803d430: f242 7110 movw r1, #10000 ; 0x2710 803d434: fb01 f202 mul.w r2, r1, r2 803d438: 1a9a subs r2, r3, r2 803d43a: 4b7d ldr r3, [pc, #500] ; (803d630 ) 803d43c: fba3 2302 umull r2, r3, r3, r2 803d440: 099b lsrs r3, r3, #6 803d442: b2db uxtb r3, r3 803d444: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 803d448: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803d44c: 095a lsrs r2, r3, #5 803d44e: 4975 ldr r1, [pc, #468] ; (803d624 ) 803d450: fba1 1202 umull r1, r2, r1, r2 803d454: 09d2 lsrs r2, r2, #7 803d456: 4974 ldr r1, [pc, #464] ; (803d628 ) 803d458: fb01 f202 mul.w r2, r1, r2 803d45c: 1a9a subs r2, r3, r2 803d45e: 4b73 ldr r3, [pc, #460] ; (803d62c ) 803d460: fba3 1302 umull r1, r3, r3, r2 803d464: 0b5b lsrs r3, r3, #13 803d466: f242 7110 movw r1, #10000 ; 0x2710 803d46a: fb01 f303 mul.w r3, r1, r3 803d46e: 1ad3 subs r3, r2, r3 803d470: 4a6f ldr r2, [pc, #444] ; (803d630 ) 803d472: fba2 1203 umull r1, r2, r2, r3 803d476: 0992 lsrs r2, r2, #6 803d478: f44f 717a mov.w r1, #1000 ; 0x3e8 803d47c: fb01 f202 mul.w r2, r1, r2 803d480: 1a9a subs r2, r3, r2 803d482: 4b6c ldr r3, [pc, #432] ; (803d634 ) 803d484: fba3 2302 umull r2, r3, r3, r2 803d488: 095b lsrs r3, r3, #5 803d48a: b2db uxtb r3, r3 803d48c: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 803d490: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803d494: 0953 lsrs r3, r2, #5 803d496: 4963 ldr r1, [pc, #396] ; (803d624 ) 803d498: fba1 1303 umull r1, r3, r1, r3 803d49c: 09db lsrs r3, r3, #7 803d49e: 4962 ldr r1, [pc, #392] ; (803d628 ) 803d4a0: fb01 f303 mul.w r3, r1, r3 803d4a4: 1ad3 subs r3, r2, r3 803d4a6: 4a61 ldr r2, [pc, #388] ; (803d62c ) 803d4a8: fba2 1203 umull r1, r2, r2, r3 803d4ac: 0b52 lsrs r2, r2, #13 803d4ae: f242 7110 movw r1, #10000 ; 0x2710 803d4b2: fb01 f202 mul.w r2, r1, r2 803d4b6: 1a9a subs r2, r3, r2 803d4b8: 4b5d ldr r3, [pc, #372] ; (803d630 ) 803d4ba: fba3 1302 umull r1, r3, r3, r2 803d4be: 099b lsrs r3, r3, #6 803d4c0: f44f 717a mov.w r1, #1000 ; 0x3e8 803d4c4: fb01 f303 mul.w r3, r1, r3 803d4c8: 1ad3 subs r3, r2, r3 803d4ca: 4a5a ldr r2, [pc, #360] ; (803d634 ) 803d4cc: fba2 1203 umull r1, r2, r2, r3 803d4d0: 0952 lsrs r2, r2, #5 803d4d2: 2164 movs r1, #100 ; 0x64 803d4d4: fb01 f202 mul.w r2, r1, r2 803d4d8: 1a9a subs r2, r3, r2 803d4da: 4b57 ldr r3, [pc, #348] ; (803d638 ) 803d4dc: fba3 2302 umull r2, r3, r3, r2 803d4e0: 08db lsrs r3, r3, #3 803d4e2: b2db uxtb r3, r3 803d4e4: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 803d4e8: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803d4ec: 0953 lsrs r3, r2, #5 803d4ee: 494d ldr r1, [pc, #308] ; (803d624 ) 803d4f0: fba1 1303 umull r1, r3, r1, r3 803d4f4: 09db lsrs r3, r3, #7 803d4f6: 494c ldr r1, [pc, #304] ; (803d628 ) 803d4f8: fb01 f303 mul.w r3, r1, r3 803d4fc: 1ad3 subs r3, r2, r3 803d4fe: 4a4b ldr r2, [pc, #300] ; (803d62c ) 803d500: fba2 1203 umull r1, r2, r2, r3 803d504: 0b52 lsrs r2, r2, #13 803d506: f242 7110 movw r1, #10000 ; 0x2710 803d50a: fb01 f202 mul.w r2, r1, r2 803d50e: 1a9a subs r2, r3, r2 803d510: 4b47 ldr r3, [pc, #284] ; (803d630 ) 803d512: fba3 1302 umull r1, r3, r3, r2 803d516: 099b lsrs r3, r3, #6 803d518: f44f 717a mov.w r1, #1000 ; 0x3e8 803d51c: fb01 f303 mul.w r3, r1, r3 803d520: 1ad3 subs r3, r2, r3 803d522: 4a44 ldr r2, [pc, #272] ; (803d634 ) 803d524: fba2 1203 umull r1, r2, r2, r3 803d528: 0952 lsrs r2, r2, #5 803d52a: 2164 movs r1, #100 ; 0x64 803d52c: fb01 f202 mul.w r2, r1, r2 803d530: 1a9a subs r2, r3, r2 803d532: 4b41 ldr r3, [pc, #260] ; (803d638 ) 803d534: fba3 1302 umull r1, r3, r3, r2 803d538: 08d9 lsrs r1, r3, #3 803d53a: 460b mov r3, r1 803d53c: 009b lsls r3, r3, #2 803d53e: 440b add r3, r1 803d540: 005b lsls r3, r3, #1 803d542: 1ad1 subs r1, r2, r3 803d544: b2cb uxtb r3, r1 803d546: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 803d54a: 4b35 ldr r3, [pc, #212] ; (803d620 ) 803d54c: 781b ldrb r3, [r3, #0] 803d54e: b2db uxtb r3, r3 803d550: 3b1f subs r3, #31 803d552: 2b05 cmp r3, #5 803d554: d87b bhi.n 803d64e 803d556: a201 add r2, pc, #4 ; (adr r2, 803d55c ) 803d558: f852 f023 ldr.w pc, [r2, r3, lsl #2] 803d55c: 0803d575 .word 0x0803d575 803d560: 0803d58d .word 0x0803d58d 803d564: 0803d5a7 .word 0x0803d5a7 803d568: 0803d5bf .word 0x0803d5bf 803d56c: 0803d5d3 .word 0x0803d5d3 803d570: 0803d5e7 .word 0x0803d5e7 if(k > 100000) 803d574: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803d578: 4a2b ldr r2, [pc, #172] ; (803d628 ) 803d57a: 4293 cmp r3, r2 803d57c: d93d bls.n 803d5fa k -= 100000; 803d57e: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803d582: 4b2e ldr r3, [pc, #184] ; (803d63c ) 803d584: 4413 add r3, r2 803d586: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803d58a: e036 b.n 803d5fa if(k > 10000) 803d58c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803d590: f242 7210 movw r2, #10000 ; 0x2710 803d594: 4293 cmp r3, r2 803d596: d932 bls.n 803d5fe k -= 10000; 803d598: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803d59c: 4b28 ldr r3, [pc, #160] ; (803d640 ) 803d59e: 4413 add r3, r2 803d5a0: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803d5a4: e02b b.n 803d5fe if(k > 1000) 803d5a6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803d5aa: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 803d5ae: d928 bls.n 803d602 k -= 1000; 803d5b0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803d5b4: f5a3 737a sub.w r3, r3, #1000 ; 0x3e8 803d5b8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803d5bc: e021 b.n 803d602 if(k > 100) 803d5be: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803d5c2: 2b64 cmp r3, #100 ; 0x64 803d5c4: d93e bls.n 803d644 k -= 100; 803d5c6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803d5ca: 3b64 subs r3, #100 ; 0x64 803d5cc: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803d5d0: e038 b.n 803d644 if(k > 10) 803d5d2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803d5d6: 2b0a cmp r3, #10 803d5d8: d936 bls.n 803d648 k -= 10; 803d5da: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803d5de: 3b0a subs r3, #10 803d5e0: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803d5e4: e030 b.n 803d648 if(k > 1) 803d5e6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803d5ea: 2b01 cmp r3, #1 803d5ec: d92e bls.n 803d64c k--; 803d5ee: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803d5f2: 3b01 subs r3, #1 803d5f4: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803d5f8: e028 b.n 803d64c break; 803d5fa: bf00 nop 803d5fc: e027 b.n 803d64e break; 803d5fe: bf00 nop 803d600: e025 b.n 803d64e break; 803d602: bf00 nop 803d604: e023 b.n 803d64e 803d606: bf00 nop 803d608: 000f423f .word 0x000f423f 803d60c: 20021011 .word 0x20021011 803d610: 20021013 .word 0x20021013 803d614: 20023e60 .word 0x20023e60 803d618: 3dcccccd .word 0x3dcccccd 803d61c: 3d4ccccd .word 0x3d4ccccd 803d620: 20020070 .word 0x20020070 803d624: 0a7c5ac5 .word 0x0a7c5ac5 803d628: 000186a0 .word 0x000186a0 803d62c: d1b71759 .word 0xd1b71759 803d630: 10624dd3 .word 0x10624dd3 803d634: 51eb851f .word 0x51eb851f 803d638: cccccccd .word 0xcccccccd 803d63c: fffe7960 .word 0xfffe7960 803d640: ffffd8f0 .word 0xffffd8f0 break; 803d644: bf00 nop 803d646: e002 b.n 803d64e break; 803d648: bf00 nop 803d64a: e000 b.n 803d64e break; 803d64c: bf00 nop if(k > 999999) k = 999999; 803d64e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803d652: 4aae ldr r2, [pc, #696] ; (803d90c ) 803d654: 4293 cmp r3, r2 803d656: d902 bls.n 803d65e 803d658: 4bac ldr r3, [pc, #688] ; (803d90c ) 803d65a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 if(k == 0) k = 1; 803d65e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803d662: 2b00 cmp r3, #0 803d664: d102 bne.n 803d66c 803d666: 2301 movs r3, #1 803d668: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.DIAGN_A[CURR_POINT][CURR_USL] = (float32_t) k; 803d66c: 4ba8 ldr r3, [pc, #672] ; (803d910 ) 803d66e: 781b ldrb r3, [r3, #0] 803d670: b2db uxtb r3, r3 803d672: 4618 mov r0, r3 803d674: 4ba7 ldr r3, [pc, #668] ; (803d914 ) 803d676: 781b ldrb r3, [r3, #0] 803d678: b2db uxtb r3, r3 803d67a: 4619 mov r1, r3 803d67c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803d680: ee07 3a90 vmov s15, r3 803d684: eef8 7a67 vcvt.f32.u32 s15, s15 803d688: 4aa3 ldr r2, [pc, #652] ; (803d918 ) 803d68a: 0083 lsls r3, r0, #2 803d68c: 440b add r3, r1 803d68e: 33f6 adds r3, #246 ; 0xf6 803d690: 009b lsls r3, r3, #2 803d692: 4413 add r3, r2 803d694: 3304 adds r3, #4 803d696: edc3 7a00 vstr s15, [r3] pardata.DIAGN_A[CURR_POINT][CURR_USL] *= 0.1f; 803d69a: 4b9d ldr r3, [pc, #628] ; (803d910 ) 803d69c: 781b ldrb r3, [r3, #0] 803d69e: b2da uxtb r2, r3 803d6a0: 4610 mov r0, r2 803d6a2: 4b9c ldr r3, [pc, #624] ; (803d914 ) 803d6a4: 781b ldrb r3, [r3, #0] 803d6a6: b2db uxtb r3, r3 803d6a8: 4619 mov r1, r3 803d6aa: 4615 mov r5, r2 803d6ac: 461c mov r4, r3 803d6ae: 4a9a ldr r2, [pc, #616] ; (803d918 ) 803d6b0: 00ab lsls r3, r5, #2 803d6b2: 4423 add r3, r4 803d6b4: 33f6 adds r3, #246 ; 0xf6 803d6b6: 009b lsls r3, r3, #2 803d6b8: 4413 add r3, r2 803d6ba: 3304 adds r3, #4 803d6bc: edd3 7a00 vldr s15, [r3] 803d6c0: ed9f 7a96 vldr s14, [pc, #600] ; 803d91c 803d6c4: ee67 7a87 vmul.f32 s15, s15, s14 803d6c8: 4a93 ldr r2, [pc, #588] ; (803d918 ) 803d6ca: 0083 lsls r3, r0, #2 803d6cc: 440b add r3, r1 803d6ce: 33f6 adds r3, #246 ; 0xf6 803d6d0: 009b lsls r3, r3, #2 803d6d2: 4413 add r3, r2 803d6d4: 3304 adds r3, #4 803d6d6: edc3 7a00 vstr s15, [r3] pardata.DIAGN_A[CURR_POINT][CURR_USL] += 0.05f; 803d6da: 4b8d ldr r3, [pc, #564] ; (803d910 ) 803d6dc: 781b ldrb r3, [r3, #0] 803d6de: b2da uxtb r2, r3 803d6e0: 4610 mov r0, r2 803d6e2: 4b8c ldr r3, [pc, #560] ; (803d914 ) 803d6e4: 781b ldrb r3, [r3, #0] 803d6e6: b2db uxtb r3, r3 803d6e8: 4619 mov r1, r3 803d6ea: 4615 mov r5, r2 803d6ec: 461c mov r4, r3 803d6ee: 4a8a ldr r2, [pc, #552] ; (803d918 ) 803d6f0: 00ab lsls r3, r5, #2 803d6f2: 4423 add r3, r4 803d6f4: 33f6 adds r3, #246 ; 0xf6 803d6f6: 009b lsls r3, r3, #2 803d6f8: 4413 add r3, r2 803d6fa: 3304 adds r3, #4 803d6fc: edd3 7a00 vldr s15, [r3] 803d700: ed9f 7a87 vldr s14, [pc, #540] ; 803d920 803d704: ee77 7a87 vadd.f32 s15, s15, s14 803d708: 4a83 ldr r2, [pc, #524] ; (803d918 ) 803d70a: 0083 lsls r3, r0, #2 803d70c: 440b add r3, r1 803d70e: 33f6 adds r3, #246 ; 0xf6 803d710: 009b lsls r3, r3, #2 803d712: 4413 add r3, r2 803d714: 3304 adds r3, #4 803d716: edc3 7a00 vstr s15, [r3] break; 803d71a: f006 b920 b.w 804395e 803d71e: f006 b91e b.w 804395e case ROLL_RESULTS: if(menupos < 11) menupos++; 803d722: 4b80 ldr r3, [pc, #512] ; (803d924 ) 803d724: 781b ldrb r3, [r3, #0] 803d726: b2db uxtb r3, r3 803d728: 2b0a cmp r3, #10 803d72a: d808 bhi.n 803d73e 803d72c: 4b7d ldr r3, [pc, #500] ; (803d924 ) 803d72e: 781b ldrb r3, [r3, #0] 803d730: b2db uxtb r3, r3 803d732: 3301 adds r3, #1 803d734: b2da uxtb r2, r3 803d736: 4b7b ldr r3, [pc, #492] ; (803d924 ) 803d738: 701a strb r2, [r3, #0] else menupos = 0; break; 803d73a: f006 b959 b.w 80439f0 else menupos = 0; 803d73e: 4b79 ldr r3, [pc, #484] ; (803d924 ) 803d740: 2200 movs r2, #0 803d742: 701a strb r2, [r3, #0] break; 803d744: f006 b954 b.w 80439f0 case TREND_A: menu = TREND_S; 803d748: 4b77 ldr r3, [pc, #476] ; (803d928 ) 803d74a: 2247 movs r2, #71 ; 0x47 803d74c: 701a strb r2, [r3, #0] break; 803d74e: f006 b94f b.w 80439f0 case TREND_V: menu = TREND_A; 803d752: 4b75 ldr r3, [pc, #468] ; (803d928 ) 803d754: 2245 movs r2, #69 ; 0x45 803d756: 701a strb r2, [r3, #0] break; 803d758: f006 b94a b.w 80439f0 case TREND_S: menu = TREND_V; 803d75c: 4b72 ldr r3, [pc, #456] ; (803d928 ) 803d75e: 2246 movs r2, #70 ; 0x46 803d760: 701a strb r2, [r3, #0] break; 803d762: f006 b945 b.w 80439f0 case MAIN_UDAR: if(AUTOKU) 803d766: 4b71 ldr r3, [pc, #452] ; (803d92c ) 803d768: 781b ldrb r3, [r3, #0] 803d76a: b2db uxtb r3, r3 803d76c: 2b00 cmp r3, #0 803d76e: d002 beq.n 803d776 AUTOKU = false; 803d770: 4b6e ldr r3, [pc, #440] ; (803d92c ) 803d772: 2200 movs r2, #0 803d774: 701a strb r2, [r3, #0] if(pardata.IKU > Ku8) 803d776: 4b68 ldr r3, [pc, #416] ; (803d918 ) 803d778: 7a1b ldrb r3, [r3, #8] 803d77a: b2db uxtb r3, r3 803d77c: 2b03 cmp r3, #3 803d77e: d902 bls.n 803d786 pardata.IKU = Ku8; 803d780: 4b65 ldr r3, [pc, #404] ; (803d918 ) 803d782: 2203 movs r2, #3 803d784: 721a strb r2, [r3, #8] if(pardata.IKU > Ku1) 803d786: 4b64 ldr r3, [pc, #400] ; (803d918 ) 803d788: 7a1b ldrb r3, [r3, #8] 803d78a: b2db uxtb r3, r3 803d78c: 2b00 cmp r3, #0 803d78e: d00a beq.n 803d7a6 { pardata.IKU--; 803d790: 4b61 ldr r3, [pc, #388] ; (803d918 ) 803d792: 7a1b ldrb r3, [r3, #8] 803d794: b2db uxtb r3, r3 803d796: 3b01 subs r3, #1 803d798: b2da uxtb r2, r3 803d79a: 4b5f ldr r3, [pc, #380] ; (803d918 ) 803d79c: 721a strb r2, [r3, #8] SetKU(); 803d79e: f7e4 f869 bl 8021874 } else pardata.IKU = Ku1; break; 803d7a2: f006 b925 b.w 80439f0 pardata.IKU = Ku1; 803d7a6: 4b5c ldr r3, [pc, #368] ; (803d918 ) 803d7a8: 2200 movs r2, #0 803d7aa: 721a strb r2, [r3, #8] break; 803d7ac: f006 b920 b.w 80439f0 case MAIN_DIAGN: switch(menupos) 803d7b0: 4b5c ldr r3, [pc, #368] ; (803d924 ) 803d7b2: 781b ldrb r3, [r3, #0] 803d7b4: b2db uxtb r3, r3 803d7b6: 2b03 cmp r3, #3 803d7b8: d003 beq.n 803d7c2 803d7ba: 2b04 cmp r3, #4 803d7bc: d030 beq.n 803d820 } } } break; } break; 803d7be: f006 b917 b.w 80439f0 if((!measuring) && (!ReadFromFile)) 803d7c2: 4b5b ldr r3, [pc, #364] ; (803d930 ) 803d7c4: 781b ldrb r3, [r3, #0] 803d7c6: b2db uxtb r3, r3 803d7c8: f083 0301 eor.w r3, r3, #1 803d7cc: b2db uxtb r3, r3 803d7ce: 2b00 cmp r3, #0 803d7d0: d04a beq.n 803d868 803d7d2: 4b58 ldr r3, [pc, #352] ; (803d934 ) 803d7d4: 781b ldrb r3, [r3, #0] 803d7d6: b2db uxtb r3, r3 803d7d8: f083 0301 eor.w r3, r3, #1 803d7dc: b2db uxtb r3, r3 803d7de: 2b00 cmp r3, #0 803d7e0: d042 beq.n 803d868 if(CardState == MSD_READY) 803d7e2: 4b55 ldr r3, [pc, #340] ; (803d938 ) 803d7e4: 781b ldrb r3, [r3, #0] 803d7e6: b2db uxtb r3, r3 803d7e8: 2b03 cmp r3, #3 803d7ea: d13d bne.n 803d868 if(NextIndexPoint > 0) 803d7ec: 4b53 ldr r3, [pc, #332] ; (803d93c ) 803d7ee: 681b ldr r3, [r3, #0] 803d7f0: 2b00 cmp r3, #0 803d7f2: d039 beq.n 803d868 NextIndexPoint--; 803d7f4: 4b51 ldr r3, [pc, #324] ; (803d93c ) 803d7f6: 681b ldr r3, [r3, #0] 803d7f8: 3b01 subs r3, #1 803d7fa: 4a50 ldr r2, [pc, #320] ; (803d93c ) 803d7fc: 6013 str r3, [r2, #0] NextIndexMeas = IndexMeas[NextIndexPoint]; 803d7fe: 4b4f ldr r3, [pc, #316] ; (803d93c ) 803d800: 681b ldr r3, [r3, #0] 803d802: 4a4f ldr r2, [pc, #316] ; (803d940 ) 803d804: f852 3023 ldr.w r3, [r2, r3, lsl #2] 803d808: 4a4e ldr r2, [pc, #312] ; (803d944 ) 803d80a: 6013 str r3, [r2, #0] result = ReadFileDGN(DiagFileName); 803d80c: 484e ldr r0, [pc, #312] ; (803d948 ) 803d80e: f7e9 fde5 bl 80273dc 803d812: 4603 mov r3, r0 803d814: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 DrawSavedData = false; 803d818: 4b4c ldr r3, [pc, #304] ; (803d94c ) 803d81a: 2200 movs r2, #0 803d81c: 701a strb r2, [r3, #0] break; 803d81e: e023 b.n 803d868 if(measuring) 803d820: 4b43 ldr r3, [pc, #268] ; (803d930 ) 803d822: 781b ldrb r3, [r3, #0] 803d824: b2db uxtb r3, r3 803d826: 2b00 cmp r3, #0 803d828: d001 beq.n 803d82e StopMeas(); 803d82a: f7e5 ffb7 bl 802379c if(!ReadFromFile) 803d82e: 4b41 ldr r3, [pc, #260] ; (803d934 ) 803d830: 781b ldrb r3, [r3, #0] 803d832: b2db uxtb r3, r3 803d834: f083 0301 eor.w r3, r3, #1 803d838: b2db uxtb r3, r3 803d83a: 2b00 cmp r3, #0 803d83c: d017 beq.n 803d86e if(CardState == MSD_READY) 803d83e: 4b3e ldr r3, [pc, #248] ; (803d938 ) 803d840: 781b ldrb r3, [r3, #0] 803d842: b2db uxtb r3, r3 803d844: 2b03 cmp r3, #3 803d846: d112 bne.n 803d86e if(NextIndexMeas > 1) 803d848: 4b3e ldr r3, [pc, #248] ; (803d944 ) 803d84a: 681b ldr r3, [r3, #0] 803d84c: 2b01 cmp r3, #1 803d84e: d90e bls.n 803d86e NextIndexMeas--; 803d850: 4b3c ldr r3, [pc, #240] ; (803d944 ) 803d852: 681b ldr r3, [r3, #0] 803d854: 3b01 subs r3, #1 803d856: 4a3b ldr r2, [pc, #236] ; (803d944 ) 803d858: 6013 str r3, [r2, #0] result = ReadFileDGN(DiagFileName); 803d85a: 483b ldr r0, [pc, #236] ; (803d948 ) 803d85c: f7e9 fdbe bl 80273dc 803d860: 4603 mov r3, r0 803d862: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 break; 803d866: e002 b.n 803d86e break; 803d868: bf00 nop 803d86a: f006 b8c1 b.w 80439f0 break; 803d86e: bf00 nop break; 803d870: f006 b8be b.w 80439f0 case MAIN: case MAIN_FRAN: switch(menupos) 803d874: 4b2b ldr r3, [pc, #172] ; (803d924 ) 803d876: 781b ldrb r3, [r3, #0] 803d878: b2db uxtb r3, r3 803d87a: 2b06 cmp r3, #6 803d87c: f206 8072 bhi.w 8043964 803d880: a201 add r2, pc, #4 ; (adr r2, 803d888 ) 803d882: f852 f023 ldr.w pc, [r2, r3, lsl #2] 803d886: bf00 nop 803d888: 0803d99d .word 0x0803d99d 803d88c: 08043965 .word 0x08043965 803d890: 0803d99d .word 0x0803d99d 803d894: 0803d8a5 .word 0x0803d8a5 803d898: 0803d955 .word 0x0803d955 803d89c: 08043965 .word 0x08043965 803d8a0: 0803d99d .word 0x0803d99d { case MyPoint: if((!measuring) && (!ReadFromFile)) 803d8a4: 4b22 ldr r3, [pc, #136] ; (803d930 ) 803d8a6: 781b ldrb r3, [r3, #0] 803d8a8: b2db uxtb r3, r3 803d8aa: f083 0301 eor.w r3, r3, #1 803d8ae: b2db uxtb r3, r3 803d8b0: 2b00 cmp r3, #0 803d8b2: f000 80b3 beq.w 803da1c 803d8b6: 4b1f ldr r3, [pc, #124] ; (803d934 ) 803d8b8: 781b ldrb r3, [r3, #0] 803d8ba: b2db uxtb r3, r3 803d8bc: f083 0301 eor.w r3, r3, #1 803d8c0: b2db uxtb r3, r3 803d8c2: 2b00 cmp r3, #0 803d8c4: f000 80aa beq.w 803da1c { if(CardState == MSD_READY) 803d8c8: 4b1b ldr r3, [pc, #108] ; (803d938 ) 803d8ca: 781b ldrb r3, [r3, #0] 803d8cc: b2db uxtb r3, r3 803d8ce: 2b03 cmp r3, #3 803d8d0: f040 80a4 bne.w 803da1c { if(NextIndexPoint > 0) 803d8d4: 4b19 ldr r3, [pc, #100] ; (803d93c ) 803d8d6: 681b ldr r3, [r3, #0] 803d8d8: 2b00 cmp r3, #0 803d8da: f000 809f beq.w 803da1c { NextIndexPoint--; 803d8de: 4b17 ldr r3, [pc, #92] ; (803d93c ) 803d8e0: 681b ldr r3, [r3, #0] 803d8e2: 3b01 subs r3, #1 803d8e4: 4a15 ldr r2, [pc, #84] ; (803d93c ) 803d8e6: 6013 str r3, [r2, #0] NextIndexMeas = IndexMeas[NextIndexPoint]; 803d8e8: 4b14 ldr r3, [pc, #80] ; (803d93c ) 803d8ea: 681b ldr r3, [r3, #0] 803d8ec: 4a14 ldr r2, [pc, #80] ; (803d940 ) 803d8ee: f852 3023 ldr.w r3, [r2, r3, lsl #2] 803d8f2: 4a14 ldr r2, [pc, #80] ; (803d944 ) 803d8f4: 6013 str r3, [r2, #0] result = ReadFilePTM(MeasFileName); 803d8f6: 4816 ldr r0, [pc, #88] ; (803d950 ) 803d8f8: f7e9 faec bl 8026ed4 803d8fc: 4603 mov r3, r0 803d8fe: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 DrawSavedData = false; 803d902: 4b12 ldr r3, [pc, #72] ; (803d94c ) 803d904: 2200 movs r2, #0 803d906: 701a strb r2, [r3, #0] } } } break; 803d908: e088 b.n 803da1c 803d90a: bf00 nop 803d90c: 000f423f .word 0x000f423f 803d910: 20021011 .word 0x20021011 803d914: 20021013 .word 0x20021013 803d918: 20023e60 .word 0x20023e60 803d91c: 3dcccccd .word 0x3dcccccd 803d920: 3d4ccccd .word 0x3d4ccccd 803d924: 20020070 .word 0x20020070 803d928: 20020f78 .word 0x20020f78 803d92c: 20020029 .word 0x20020029 803d930: 20020daf .word 0x20020daf 803d934: 20020dc9 .word 0x20020dc9 803d938: 2002164c .word 0x2002164c 803d93c: 20021f9c .word 0x20021f9c 803d940: 20022ea0 .word 0x20022ea0 803d944: 20022310 .word 0x20022310 803d948: 20020e7c .word 0x20020e7c 803d94c: 20020dca .word 0x20020dca 803d950: 20020e58 .word 0x20020e58 case MyMeasure: if(measuring) 803d954: 4baf ldr r3, [pc, #700] ; (803dc14 ) 803d956: 781b ldrb r3, [r3, #0] 803d958: b2db uxtb r3, r3 803d95a: 2b00 cmp r3, #0 803d95c: d001 beq.n 803d962 StopMeas(); 803d95e: f7e5 ff1d bl 802379c if(!ReadFromFile) 803d962: 4bad ldr r3, [pc, #692] ; (803dc18 ) 803d964: 781b ldrb r3, [r3, #0] 803d966: b2db uxtb r3, r3 803d968: f083 0301 eor.w r3, r3, #1 803d96c: b2db uxtb r3, r3 803d96e: 2b00 cmp r3, #0 803d970: d057 beq.n 803da22 { if(CardState == MSD_READY) 803d972: 4baa ldr r3, [pc, #680] ; (803dc1c ) 803d974: 781b ldrb r3, [r3, #0] 803d976: b2db uxtb r3, r3 803d978: 2b03 cmp r3, #3 803d97a: d152 bne.n 803da22 { if(NextIndexMeas > 1) 803d97c: 4ba8 ldr r3, [pc, #672] ; (803dc20 ) 803d97e: 681b ldr r3, [r3, #0] 803d980: 2b01 cmp r3, #1 803d982: d94e bls.n 803da22 { NextIndexMeas--; 803d984: 4ba6 ldr r3, [pc, #664] ; (803dc20 ) 803d986: 681b ldr r3, [r3, #0] 803d988: 3b01 subs r3, #1 803d98a: 4aa5 ldr r2, [pc, #660] ; (803dc20 ) 803d98c: 6013 str r3, [r2, #0] result = ReadFilePTM(MeasFileName); 803d98e: 48a5 ldr r0, [pc, #660] ; (803dc24 ) 803d990: f7e9 faa0 bl 8026ed4 803d994: 4603 mov r3, r0 803d996: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 } } } break; 803d99a: e042 b.n 803da22 case MyLinLog: case StartStop: case Record: if(!ReadFromFile) 803d99c: 4b9e ldr r3, [pc, #632] ; (803dc18 ) 803d99e: 781b ldrb r3, [r3, #0] 803d9a0: b2db uxtb r3, r3 803d9a2: f083 0301 eor.w r3, r3, #1 803d9a6: b2db uxtb r3, r3 803d9a8: 2b00 cmp r3, #0 803d9aa: d03d beq.n 803da28 { if((CardState == MSD_READY) && (strlen(MeasFileName))) 803d9ac: 4b9b ldr r3, [pc, #620] ; (803dc1c ) 803d9ae: 781b ldrb r3, [r3, #0] 803d9b0: b2db uxtb r3, r3 803d9b2: 2b03 cmp r3, #3 803d9b4: d138 bne.n 803da28 803d9b6: 4b9b ldr r3, [pc, #620] ; (803dc24 ) 803d9b8: 781b ldrb r3, [r3, #0] 803d9ba: 2b00 cmp r3, #0 803d9bc: d034 beq.n 803da28 { if(measuring) 803d9be: 4b95 ldr r3, [pc, #596] ; (803dc14 ) 803d9c0: 781b ldrb r3, [r3, #0] 803d9c2: b2db uxtb r3, r3 803d9c4: 2b00 cmp r3, #0 803d9c6: d001 beq.n 803d9cc StopMeas(); 803d9c8: f7e5 fee8 bl 802379c result = ReadTrendPTM(MeasFileName); 803d9cc: 4895 ldr r0, [pc, #596] ; (803dc24 ) 803d9ce: f7e9 f8bb bl 8026b48 803d9d2: 4603 mov r3, r0 803d9d4: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 803d9d8: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 803d9dc: 2b00 cmp r3, #0 803d9de: d112 bne.n 803da06 { lastmenu = menu; 803d9e0: 4b91 ldr r3, [pc, #580] ; (803dc28 ) 803d9e2: 781b ldrb r3, [r3, #0] 803d9e4: b2da uxtb r2, r3 803d9e6: 4b91 ldr r3, [pc, #580] ; (803dc2c ) 803d9e8: 701a strb r2, [r3, #0] menu = TREND_S; 803d9ea: 4b8f ldr r3, [pc, #572] ; (803dc28 ) 803d9ec: 2247 movs r2, #71 ; 0x47 803d9ee: 701a strb r2, [r3, #0] lastmenupos = menupos; 803d9f0: 4b8f ldr r3, [pc, #572] ; (803dc30 ) 803d9f2: 781b ldrb r3, [r3, #0] 803d9f4: b2da uxtb r2, r3 803d9f6: 4b8f ldr r3, [pc, #572] ; (803dc34 ) 803d9f8: 701a strb r2, [r3, #0] menupos = pardata.IVS[DIS]; 803d9fa: 4b8f ldr r3, [pc, #572] ; (803dc38 ) 803d9fc: 791b ldrb r3, [r3, #4] 803d9fe: b2da uxtb r2, r3 803da00: 4b8b ldr r3, [pc, #556] ; (803dc30 ) 803da02: 701a strb r2, [r3, #0] timerStatus = sec2; DrawStatus = true; } } } break; 803da04: e010 b.n 803da28 STATUS = AP_INVALID_FILE; 803da06: 4b8d ldr r3, [pc, #564] ; (803dc3c ) 803da08: 2202 movs r2, #2 803da0a: 601a str r2, [r3, #0] timerStatus = sec2; 803da0c: 4b8c ldr r3, [pc, #560] ; (803dc40 ) 803da0e: f44f 5280 mov.w r2, #4096 ; 0x1000 803da12: 801a strh r2, [r3, #0] DrawStatus = true; 803da14: 4b8b ldr r3, [pc, #556] ; (803dc44 ) 803da16: 2201 movs r2, #1 803da18: 701a strb r2, [r3, #0] break; 803da1a: e005 b.n 803da28 break; 803da1c: bf00 nop 803da1e: f005 bfa1 b.w 8043964 break; 803da22: bf00 nop 803da24: f005 bf9e b.w 8043964 break; 803da28: bf00 nop } break; 803da2a: f005 bf9b b.w 8043964 case MAIN_OSC: if(menupos == Cursor) 803da2e: 4b80 ldr r3, [pc, #512] ; (803dc30 ) 803da30: 781b ldrb r3, [r3, #0] 803da32: b2db uxtb r3, r3 803da34: 2b06 cmp r3, #6 803da36: d104 bne.n 803da42 ZOOM_OUT = true; 803da38: 4b83 ldr r3, [pc, #524] ; (803dc48 ) 803da3a: 2201 movs r2, #1 803da3c: 701a strb r2, [r3, #0] if(menupos == ImageRight) menupos = ZoomIn; else if(menupos == ImageLeft) menupos = ImageRight; break; 803da3e: f005 bf94 b.w 804396a if(menupos == StartStop) 803da42: 4b7b ldr r3, [pc, #492] ; (803dc30 ) 803da44: 781b ldrb r3, [r3, #0] 803da46: b2db uxtb r3, r3 803da48: 2b00 cmp r3, #0 803da4a: d104 bne.n 803da56 menupos = ImageLeft; 803da4c: 4b78 ldr r3, [pc, #480] ; (803dc30 ) 803da4e: 2202 movs r2, #2 803da50: 701a strb r2, [r3, #0] break; 803da52: f005 bf8a b.w 804396a if(menupos == ZoomOut) 803da56: 4b76 ldr r3, [pc, #472] ; (803dc30 ) 803da58: 781b ldrb r3, [r3, #0] 803da5a: b2db uxtb r3, r3 803da5c: 2b04 cmp r3, #4 803da5e: d104 bne.n 803da6a menupos = StartStop; 803da60: 4b73 ldr r3, [pc, #460] ; (803dc30 ) 803da62: 2200 movs r2, #0 803da64: 701a strb r2, [r3, #0] break; 803da66: f005 bf80 b.w 804396a if(menupos == ZoomIn) 803da6a: 4b71 ldr r3, [pc, #452] ; (803dc30 ) 803da6c: 781b ldrb r3, [r3, #0] 803da6e: b2db uxtb r3, r3 803da70: 2b03 cmp r3, #3 803da72: d104 bne.n 803da7e menupos = ZoomOut; 803da74: 4b6e ldr r3, [pc, #440] ; (803dc30 ) 803da76: 2204 movs r2, #4 803da78: 701a strb r2, [r3, #0] break; 803da7a: f005 bf76 b.w 804396a if(menupos == ImageRight) 803da7e: 4b6c ldr r3, [pc, #432] ; (803dc30 ) 803da80: 781b ldrb r3, [r3, #0] 803da82: b2db uxtb r3, r3 803da84: 2b05 cmp r3, #5 803da86: d104 bne.n 803da92 menupos = ZoomIn; 803da88: 4b69 ldr r3, [pc, #420] ; (803dc30 ) 803da8a: 2203 movs r2, #3 803da8c: 701a strb r2, [r3, #0] break; 803da8e: f005 bf6c b.w 804396a if(menupos == ImageLeft) 803da92: 4b67 ldr r3, [pc, #412] ; (803dc30 ) 803da94: 781b ldrb r3, [r3, #0] 803da96: b2db uxtb r3, r3 803da98: 2b02 cmp r3, #2 803da9a: f045 8766 bne.w 804396a menupos = ImageRight; 803da9e: 4b64 ldr r3, [pc, #400] ; (803dc30 ) 803daa0: 2205 movs r2, #5 803daa2: 701a strb r2, [r3, #0] break; 803daa4: f005 bf61 b.w 804396a case MAIN_ROLL: if(menupos == Cursor) 803daa8: 4b61 ldr r3, [pc, #388] ; (803dc30 ) 803daaa: 781b ldrb r3, [r3, #0] 803daac: b2db uxtb r3, r3 803daae: 2b06 cmp r3, #6 803dab0: d104 bne.n 803dabc ZOOM_OUT = true; 803dab2: 4b65 ldr r3, [pc, #404] ; (803dc48 ) 803dab4: 2201 movs r2, #1 803dab6: 701a strb r2, [r3, #0] if(menupos == ImageRight) menupos = ZoomIn; else if(menupos == ImageLeft) menupos = ImageRight; break; 803dab8: f005 bf5a b.w 8043970 if(menupos == StartStop) 803dabc: 4b5c ldr r3, [pc, #368] ; (803dc30 ) 803dabe: 781b ldrb r3, [r3, #0] 803dac0: b2db uxtb r3, r3 803dac2: 2b00 cmp r3, #0 803dac4: d10e bne.n 803dae4 if(SeeResults) 803dac6: 4b61 ldr r3, [pc, #388] ; (803dc4c ) 803dac8: 781b ldrb r3, [r3, #0] 803daca: b2db uxtb r3, r3 803dacc: 2b00 cmp r3, #0 803dace: d004 beq.n 803dada menupos = Results; 803dad0: 4b57 ldr r3, [pc, #348] ; (803dc30 ) 803dad2: 2208 movs r2, #8 803dad4: 701a strb r2, [r3, #0] break; 803dad6: f005 bf4b b.w 8043970 else menupos = ImageLeft; 803dada: 4b55 ldr r3, [pc, #340] ; (803dc30 ) 803dadc: 2202 movs r2, #2 803dade: 701a strb r2, [r3, #0] break; 803dae0: f005 bf46 b.w 8043970 if(menupos == Results) 803dae4: 4b52 ldr r3, [pc, #328] ; (803dc30 ) 803dae6: 781b ldrb r3, [r3, #0] 803dae8: b2db uxtb r3, r3 803daea: 2b08 cmp r3, #8 803daec: d104 bne.n 803daf8 menupos = ImageLeft; 803daee: 4b50 ldr r3, [pc, #320] ; (803dc30 ) 803daf0: 2202 movs r2, #2 803daf2: 701a strb r2, [r3, #0] break; 803daf4: f005 bf3c b.w 8043970 if(menupos == ZoomOut) 803daf8: 4b4d ldr r3, [pc, #308] ; (803dc30 ) 803dafa: 781b ldrb r3, [r3, #0] 803dafc: b2db uxtb r3, r3 803dafe: 2b04 cmp r3, #4 803db00: d104 bne.n 803db0c menupos = StartStop; 803db02: 4b4b ldr r3, [pc, #300] ; (803dc30 ) 803db04: 2200 movs r2, #0 803db06: 701a strb r2, [r3, #0] break; 803db08: f005 bf32 b.w 8043970 if(menupos == ZoomIn) 803db0c: 4b48 ldr r3, [pc, #288] ; (803dc30 ) 803db0e: 781b ldrb r3, [r3, #0] 803db10: b2db uxtb r3, r3 803db12: 2b03 cmp r3, #3 803db14: d104 bne.n 803db20 menupos = ZoomOut; 803db16: 4b46 ldr r3, [pc, #280] ; (803dc30 ) 803db18: 2204 movs r2, #4 803db1a: 701a strb r2, [r3, #0] break; 803db1c: f005 bf28 b.w 8043970 if(menupos == ImageRight) 803db20: 4b43 ldr r3, [pc, #268] ; (803dc30 ) 803db22: 781b ldrb r3, [r3, #0] 803db24: b2db uxtb r3, r3 803db26: 2b05 cmp r3, #5 803db28: d104 bne.n 803db34 menupos = ZoomIn; 803db2a: 4b41 ldr r3, [pc, #260] ; (803dc30 ) 803db2c: 2203 movs r2, #3 803db2e: 701a strb r2, [r3, #0] break; 803db30: f005 bf1e b.w 8043970 if(menupos == ImageLeft) 803db34: 4b3e ldr r3, [pc, #248] ; (803dc30 ) 803db36: 781b ldrb r3, [r3, #0] 803db38: b2db uxtb r3, r3 803db3a: 2b02 cmp r3, #2 803db3c: f045 8718 bne.w 8043970 menupos = ImageRight; 803db40: 4b3b ldr r3, [pc, #236] ; (803dc30 ) 803db42: 2205 movs r2, #5 803db44: 701a strb r2, [r3, #0] break; 803db46: f005 bf13 b.w 8043970 case VIEW_PORTRET: if(menupos == Cursor) 803db4a: 4b39 ldr r3, [pc, #228] ; (803dc30 ) 803db4c: 781b ldrb r3, [r3, #0] 803db4e: b2db uxtb r3, r3 803db50: 2b06 cmp r3, #6 803db52: d104 bne.n 803db5e ZOOM_OUT = true; 803db54: 4b3c ldr r3, [pc, #240] ; (803dc48 ) 803db56: 2201 movs r2, #1 803db58: 701a strb r2, [r3, #0] if(menupos == ImageRight) menupos = ZoomIn; else if(menupos == ImageLeft) menupos = ImageRight; break; 803db5a: f005 bf0c b.w 8043976 if(menupos == ZoomOut) 803db5e: 4b34 ldr r3, [pc, #208] ; (803dc30 ) 803db60: 781b ldrb r3, [r3, #0] 803db62: b2db uxtb r3, r3 803db64: 2b04 cmp r3, #4 803db66: d104 bne.n 803db72 menupos = ImageLeft; 803db68: 4b31 ldr r3, [pc, #196] ; (803dc30 ) 803db6a: 2202 movs r2, #2 803db6c: 701a strb r2, [r3, #0] break; 803db6e: f005 bf02 b.w 8043976 if(menupos == ZoomIn) 803db72: 4b2f ldr r3, [pc, #188] ; (803dc30 ) 803db74: 781b ldrb r3, [r3, #0] 803db76: b2db uxtb r3, r3 803db78: 2b03 cmp r3, #3 803db7a: d104 bne.n 803db86 menupos = ZoomOut; 803db7c: 4b2c ldr r3, [pc, #176] ; (803dc30 ) 803db7e: 2204 movs r2, #4 803db80: 701a strb r2, [r3, #0] break; 803db82: f005 bef8 b.w 8043976 if(menupos == ImageRight) 803db86: 4b2a ldr r3, [pc, #168] ; (803dc30 ) 803db88: 781b ldrb r3, [r3, #0] 803db8a: b2db uxtb r3, r3 803db8c: 2b05 cmp r3, #5 803db8e: d104 bne.n 803db9a menupos = ZoomIn; 803db90: 4b27 ldr r3, [pc, #156] ; (803dc30 ) 803db92: 2203 movs r2, #3 803db94: 701a strb r2, [r3, #0] break; 803db96: f005 beee b.w 8043976 if(menupos == ImageLeft) 803db9a: 4b25 ldr r3, [pc, #148] ; (803dc30 ) 803db9c: 781b ldrb r3, [r3, #0] 803db9e: b2db uxtb r3, r3 803dba0: 2b02 cmp r3, #2 803dba2: f045 86e8 bne.w 8043976 menupos = ImageRight; 803dba6: 4b22 ldr r3, [pc, #136] ; (803dc30 ) 803dba8: 2205 movs r2, #5 803dbaa: 701a strb r2, [r3, #0] break; 803dbac: f005 bee3 b.w 8043976 case MAIN_SPEC: if(menupos == Cursor) 803dbb0: 4b1f ldr r3, [pc, #124] ; (803dc30 ) 803dbb2: 781b ldrb r3, [r3, #0] 803dbb4: b2db uxtb r3, r3 803dbb6: 2b06 cmp r3, #6 803dbb8: d104 bne.n 803dbc4 ZOOM_OUT = true; 803dbba: 4b23 ldr r3, [pc, #140] ; (803dc48 ) 803dbbc: 2201 movs r2, #1 803dbbe: 701a strb r2, [r3, #0] if(menupos == ImageRight) menupos = ZoomIn; else if(menupos == ImageLeft) menupos = ImageRight; break; 803dbc0: f005 bedc b.w 804397c if(menupos == StartStop) 803dbc4: 4b1a ldr r3, [pc, #104] ; (803dc30 ) 803dbc6: 781b ldrb r3, [r3, #0] 803dbc8: b2db uxtb r3, r3 803dbca: 2b00 cmp r3, #0 803dbcc: d10e bne.n 803dbec if(READY_TO_SEE) 803dbce: 4b20 ldr r3, [pc, #128] ; (803dc50 ) 803dbd0: 781b ldrb r3, [r3, #0] 803dbd2: b2db uxtb r3, r3 803dbd4: 2b00 cmp r3, #0 803dbd6: d004 beq.n 803dbe2 menupos = SaveSpec; 803dbd8: 4b15 ldr r3, [pc, #84] ; (803dc30 ) 803dbda: 2209 movs r2, #9 803dbdc: 701a strb r2, [r3, #0] break; 803dbde: f005 becd b.w 804397c else menupos = ImageLeft; 803dbe2: 4b13 ldr r3, [pc, #76] ; (803dc30 ) 803dbe4: 2202 movs r2, #2 803dbe6: 701a strb r2, [r3, #0] break; 803dbe8: f005 bec8 b.w 804397c if(menupos == SaveSpec) 803dbec: 4b10 ldr r3, [pc, #64] ; (803dc30 ) 803dbee: 781b ldrb r3, [r3, #0] 803dbf0: b2db uxtb r3, r3 803dbf2: 2b09 cmp r3, #9 803dbf4: d104 bne.n 803dc00 menupos = ImageLeft; 803dbf6: 4b0e ldr r3, [pc, #56] ; (803dc30 ) 803dbf8: 2202 movs r2, #2 803dbfa: 701a strb r2, [r3, #0] break; 803dbfc: f005 bebe b.w 804397c if(menupos == ZoomOut) 803dc00: 4b0b ldr r3, [pc, #44] ; (803dc30 ) 803dc02: 781b ldrb r3, [r3, #0] 803dc04: b2db uxtb r3, r3 803dc06: 2b04 cmp r3, #4 803dc08: d124 bne.n 803dc54 menupos = StartStop; 803dc0a: 4b09 ldr r3, [pc, #36] ; (803dc30 ) 803dc0c: 2200 movs r2, #0 803dc0e: 701a strb r2, [r3, #0] break; 803dc10: f005 beb4 b.w 804397c 803dc14: 20020daf .word 0x20020daf 803dc18: 20020dc9 .word 0x20020dc9 803dc1c: 2002164c .word 0x2002164c 803dc20: 20022310 .word 0x20022310 803dc24: 20020e58 .word 0x20020e58 803dc28: 20020f78 .word 0x20020f78 803dc2c: 20020f79 .word 0x20020f79 803dc30: 20020070 .word 0x20020070 803dc34: 20020071 .word 0x20020071 803dc38: 20023e60 .word 0x20023e60 803dc3c: 20020dcc .word 0x20020dcc 803dc40: 2002168c .word 0x2002168c 803dc44: 20020dd2 .word 0x20020dd2 803dc48: 20020f69 .word 0x20020f69 803dc4c: 20020d68 .word 0x20020d68 803dc50: 20020d8e .word 0x20020d8e if(menupos == ZoomIn) 803dc54: 4bb2 ldr r3, [pc, #712] ; (803df20 ) 803dc56: 781b ldrb r3, [r3, #0] 803dc58: b2db uxtb r3, r3 803dc5a: 2b03 cmp r3, #3 803dc5c: d104 bne.n 803dc68 menupos = ZoomOut; 803dc5e: 4bb0 ldr r3, [pc, #704] ; (803df20 ) 803dc60: 2204 movs r2, #4 803dc62: 701a strb r2, [r3, #0] break; 803dc64: f005 be8a b.w 804397c if(menupos == ImageRight) 803dc68: 4bad ldr r3, [pc, #692] ; (803df20 ) 803dc6a: 781b ldrb r3, [r3, #0] 803dc6c: b2db uxtb r3, r3 803dc6e: 2b05 cmp r3, #5 803dc70: d104 bne.n 803dc7c menupos = ZoomIn; 803dc72: 4bab ldr r3, [pc, #684] ; (803df20 ) 803dc74: 2203 movs r2, #3 803dc76: 701a strb r2, [r3, #0] break; 803dc78: f005 be80 b.w 804397c if(menupos == ImageLeft) 803dc7c: 4ba8 ldr r3, [pc, #672] ; (803df20 ) 803dc7e: 781b ldrb r3, [r3, #0] 803dc80: b2db uxtb r3, r3 803dc82: 2b02 cmp r3, #2 803dc84: f045 867a bne.w 804397c menupos = ImageRight; 803dc88: 4ba5 ldr r3, [pc, #660] ; (803df20 ) 803dc8a: 2205 movs r2, #5 803dc8c: 701a strb r2, [r3, #0] break; 803dc8e: f005 be75 b.w 804397c case MAIN_SPEC_OGIB: if(menupos == Cursor) 803dc92: 4ba3 ldr r3, [pc, #652] ; (803df20 ) 803dc94: 781b ldrb r3, [r3, #0] 803dc96: b2db uxtb r3, r3 803dc98: 2b06 cmp r3, #6 803dc9a: d104 bne.n 803dca6 ZOOM_OUT = true; 803dc9c: 4ba1 ldr r3, [pc, #644] ; (803df24 ) 803dc9e: 2201 movs r2, #1 803dca0: 701a strb r2, [r3, #0] if(menupos == ImageRight) menupos = ZoomIn; else if(menupos == ImageLeft) menupos = ImageRight; break; 803dca2: f005 be6e b.w 8043982 if(menupos == StartStop) 803dca6: 4b9e ldr r3, [pc, #632] ; (803df20 ) 803dca8: 781b ldrb r3, [r3, #0] 803dcaa: b2db uxtb r3, r3 803dcac: 2b00 cmp r3, #0 803dcae: d10e bne.n 803dcce if(READY_TO_SEE) 803dcb0: 4b9d ldr r3, [pc, #628] ; (803df28 ) 803dcb2: 781b ldrb r3, [r3, #0] 803dcb4: b2db uxtb r3, r3 803dcb6: 2b00 cmp r3, #0 803dcb8: d004 beq.n 803dcc4 menupos = SaveSpec; 803dcba: 4b99 ldr r3, [pc, #612] ; (803df20 ) 803dcbc: 2209 movs r2, #9 803dcbe: 701a strb r2, [r3, #0] break; 803dcc0: f005 be5f b.w 8043982 else menupos = ImageLeft; 803dcc4: 4b96 ldr r3, [pc, #600] ; (803df20 ) 803dcc6: 2202 movs r2, #2 803dcc8: 701a strb r2, [r3, #0] break; 803dcca: f005 be5a b.w 8043982 if(menupos == SaveSpec) 803dcce: 4b94 ldr r3, [pc, #592] ; (803df20 ) 803dcd0: 781b ldrb r3, [r3, #0] 803dcd2: b2db uxtb r3, r3 803dcd4: 2b09 cmp r3, #9 803dcd6: d104 bne.n 803dce2 menupos = ImageLeft; 803dcd8: 4b91 ldr r3, [pc, #580] ; (803df20 ) 803dcda: 2202 movs r2, #2 803dcdc: 701a strb r2, [r3, #0] break; 803dcde: f005 be50 b.w 8043982 if(menupos == ZoomOut) 803dce2: 4b8f ldr r3, [pc, #572] ; (803df20 ) 803dce4: 781b ldrb r3, [r3, #0] 803dce6: b2db uxtb r3, r3 803dce8: 2b04 cmp r3, #4 803dcea: d104 bne.n 803dcf6 menupos = StartStop; 803dcec: 4b8c ldr r3, [pc, #560] ; (803df20 ) 803dcee: 2200 movs r2, #0 803dcf0: 701a strb r2, [r3, #0] break; 803dcf2: f005 be46 b.w 8043982 if(menupos == ZoomIn) 803dcf6: 4b8a ldr r3, [pc, #552] ; (803df20 ) 803dcf8: 781b ldrb r3, [r3, #0] 803dcfa: b2db uxtb r3, r3 803dcfc: 2b03 cmp r3, #3 803dcfe: d104 bne.n 803dd0a menupos = ZoomOut; 803dd00: 4b87 ldr r3, [pc, #540] ; (803df20 ) 803dd02: 2204 movs r2, #4 803dd04: 701a strb r2, [r3, #0] break; 803dd06: f005 be3c b.w 8043982 if(menupos == ImageRight) 803dd0a: 4b85 ldr r3, [pc, #532] ; (803df20 ) 803dd0c: 781b ldrb r3, [r3, #0] 803dd0e: b2db uxtb r3, r3 803dd10: 2b05 cmp r3, #5 803dd12: d104 bne.n 803dd1e menupos = ZoomIn; 803dd14: 4b82 ldr r3, [pc, #520] ; (803df20 ) 803dd16: 2203 movs r2, #3 803dd18: 701a strb r2, [r3, #0] break; 803dd1a: f005 be32 b.w 8043982 if(menupos == ImageLeft) 803dd1e: 4b80 ldr r3, [pc, #512] ; (803df20 ) 803dd20: 781b ldrb r3, [r3, #0] 803dd22: b2db uxtb r3, r3 803dd24: 2b02 cmp r3, #2 803dd26: f045 862c bne.w 8043982 menupos = ImageRight; 803dd2a: 4b7d ldr r3, [pc, #500] ; (803df20 ) 803dd2c: 2205 movs r2, #5 803dd2e: 701a strb r2, [r3, #0] break; 803dd30: f005 be27 b.w 8043982 case MAIN_SPEC_OKT: if(menupos == Cursor) 803dd34: 4b7a ldr r3, [pc, #488] ; (803df20 ) 803dd36: 781b ldrb r3, [r3, #0] 803dd38: b2db uxtb r3, r3 803dd3a: 2b06 cmp r3, #6 803dd3c: d104 bne.n 803dd48 ZOOM_OUT = true; 803dd3e: 4b79 ldr r3, [pc, #484] ; (803df24 ) 803dd40: 2201 movs r2, #1 803dd42: 701a strb r2, [r3, #0] if(menupos == ImageRight) menupos = ZoomIn; else if(menupos == ImageLeft) menupos = ImageRight; break; 803dd44: f005 be20 b.w 8043988 if(menupos == StartStop) 803dd48: 4b75 ldr r3, [pc, #468] ; (803df20 ) 803dd4a: 781b ldrb r3, [r3, #0] 803dd4c: b2db uxtb r3, r3 803dd4e: 2b00 cmp r3, #0 803dd50: d10e bne.n 803dd70 if(READY_TO_SEE) 803dd52: 4b75 ldr r3, [pc, #468] ; (803df28 ) 803dd54: 781b ldrb r3, [r3, #0] 803dd56: b2db uxtb r3, r3 803dd58: 2b00 cmp r3, #0 803dd5a: d004 beq.n 803dd66 menupos = SaveSpec; 803dd5c: 4b70 ldr r3, [pc, #448] ; (803df20 ) 803dd5e: 2209 movs r2, #9 803dd60: 701a strb r2, [r3, #0] break; 803dd62: f005 be11 b.w 8043988 else menupos = ImageLeft; 803dd66: 4b6e ldr r3, [pc, #440] ; (803df20 ) 803dd68: 2202 movs r2, #2 803dd6a: 701a strb r2, [r3, #0] break; 803dd6c: f005 be0c b.w 8043988 if(menupos == SaveSpec) 803dd70: 4b6b ldr r3, [pc, #428] ; (803df20 ) 803dd72: 781b ldrb r3, [r3, #0] 803dd74: b2db uxtb r3, r3 803dd76: 2b09 cmp r3, #9 803dd78: d104 bne.n 803dd84 menupos = ImageLeft; 803dd7a: 4b69 ldr r3, [pc, #420] ; (803df20 ) 803dd7c: 2202 movs r2, #2 803dd7e: 701a strb r2, [r3, #0] break; 803dd80: f005 be02 b.w 8043988 if(menupos == ZoomOut) 803dd84: 4b66 ldr r3, [pc, #408] ; (803df20 ) 803dd86: 781b ldrb r3, [r3, #0] 803dd88: b2db uxtb r3, r3 803dd8a: 2b04 cmp r3, #4 803dd8c: d104 bne.n 803dd98 menupos = StartStop; 803dd8e: 4b64 ldr r3, [pc, #400] ; (803df20 ) 803dd90: 2200 movs r2, #0 803dd92: 701a strb r2, [r3, #0] break; 803dd94: f005 bdf8 b.w 8043988 if(menupos == ZoomIn) 803dd98: 4b61 ldr r3, [pc, #388] ; (803df20 ) 803dd9a: 781b ldrb r3, [r3, #0] 803dd9c: b2db uxtb r3, r3 803dd9e: 2b03 cmp r3, #3 803dda0: d104 bne.n 803ddac menupos = ZoomOut; 803dda2: 4b5f ldr r3, [pc, #380] ; (803df20 ) 803dda4: 2204 movs r2, #4 803dda6: 701a strb r2, [r3, #0] break; 803dda8: f005 bdee b.w 8043988 if(menupos == ImageRight) 803ddac: 4b5c ldr r3, [pc, #368] ; (803df20 ) 803ddae: 781b ldrb r3, [r3, #0] 803ddb0: b2db uxtb r3, r3 803ddb2: 2b05 cmp r3, #5 803ddb4: d104 bne.n 803ddc0 menupos = ZoomIn; 803ddb6: 4b5a ldr r3, [pc, #360] ; (803df20 ) 803ddb8: 2203 movs r2, #3 803ddba: 701a strb r2, [r3, #0] break; 803ddbc: f005 bde4 b.w 8043988 if(menupos == ImageLeft) 803ddc0: 4b57 ldr r3, [pc, #348] ; (803df20 ) 803ddc2: 781b ldrb r3, [r3, #0] 803ddc4: b2db uxtb r3, r3 803ddc6: 2b02 cmp r3, #2 803ddc8: f045 85de bne.w 8043988 menupos = ImageRight; 803ddcc: 4b54 ldr r3, [pc, #336] ; (803df20 ) 803ddce: 2205 movs r2, #5 803ddd0: 701a strb r2, [r3, #0] break; 803ddd2: f005 bdd9 b.w 8043988 case MAIN_SPEC_THIRD: if(menupos == Cursor) 803ddd6: 4b52 ldr r3, [pc, #328] ; (803df20 ) 803ddd8: 781b ldrb r3, [r3, #0] 803ddda: b2db uxtb r3, r3 803dddc: 2b06 cmp r3, #6 803ddde: d104 bne.n 803ddea ZOOM_OUT = true; 803dde0: 4b50 ldr r3, [pc, #320] ; (803df24 ) 803dde2: 2201 movs r2, #1 803dde4: 701a strb r2, [r3, #0] if(menupos == ImageRight) menupos = ZoomIn; else if(menupos == ImageLeft) menupos = ImageRight; break; 803dde6: f005 bdd2 b.w 804398e if(menupos == StartStop) 803ddea: 4b4d ldr r3, [pc, #308] ; (803df20 ) 803ddec: 781b ldrb r3, [r3, #0] 803ddee: b2db uxtb r3, r3 803ddf0: 2b00 cmp r3, #0 803ddf2: d10e bne.n 803de12 if(READY_TO_SEE) 803ddf4: 4b4c ldr r3, [pc, #304] ; (803df28 ) 803ddf6: 781b ldrb r3, [r3, #0] 803ddf8: b2db uxtb r3, r3 803ddfa: 2b00 cmp r3, #0 803ddfc: d004 beq.n 803de08 menupos = SaveSpec; 803ddfe: 4b48 ldr r3, [pc, #288] ; (803df20 ) 803de00: 2209 movs r2, #9 803de02: 701a strb r2, [r3, #0] break; 803de04: f005 bdc3 b.w 804398e else menupos = ImageLeft; 803de08: 4b45 ldr r3, [pc, #276] ; (803df20 ) 803de0a: 2202 movs r2, #2 803de0c: 701a strb r2, [r3, #0] break; 803de0e: f005 bdbe b.w 804398e if(menupos == SaveSpec) 803de12: 4b43 ldr r3, [pc, #268] ; (803df20 ) 803de14: 781b ldrb r3, [r3, #0] 803de16: b2db uxtb r3, r3 803de18: 2b09 cmp r3, #9 803de1a: d104 bne.n 803de26 menupos = ImageLeft; 803de1c: 4b40 ldr r3, [pc, #256] ; (803df20 ) 803de1e: 2202 movs r2, #2 803de20: 701a strb r2, [r3, #0] break; 803de22: f005 bdb4 b.w 804398e if(menupos == ZoomOut) 803de26: 4b3e ldr r3, [pc, #248] ; (803df20 ) 803de28: 781b ldrb r3, [r3, #0] 803de2a: b2db uxtb r3, r3 803de2c: 2b04 cmp r3, #4 803de2e: d104 bne.n 803de3a menupos = StartStop; 803de30: 4b3b ldr r3, [pc, #236] ; (803df20 ) 803de32: 2200 movs r2, #0 803de34: 701a strb r2, [r3, #0] break; 803de36: f005 bdaa b.w 804398e if(menupos == ZoomIn) 803de3a: 4b39 ldr r3, [pc, #228] ; (803df20 ) 803de3c: 781b ldrb r3, [r3, #0] 803de3e: b2db uxtb r3, r3 803de40: 2b03 cmp r3, #3 803de42: d104 bne.n 803de4e menupos = ZoomOut; 803de44: 4b36 ldr r3, [pc, #216] ; (803df20 ) 803de46: 2204 movs r2, #4 803de48: 701a strb r2, [r3, #0] break; 803de4a: f005 bda0 b.w 804398e if(menupos == ImageRight) 803de4e: 4b34 ldr r3, [pc, #208] ; (803df20 ) 803de50: 781b ldrb r3, [r3, #0] 803de52: b2db uxtb r3, r3 803de54: 2b05 cmp r3, #5 803de56: d104 bne.n 803de62 menupos = ZoomIn; 803de58: 4b31 ldr r3, [pc, #196] ; (803df20 ) 803de5a: 2203 movs r2, #3 803de5c: 701a strb r2, [r3, #0] break; 803de5e: f005 bd96 b.w 804398e if(menupos == ImageLeft) 803de62: 4b2f ldr r3, [pc, #188] ; (803df20 ) 803de64: 781b ldrb r3, [r3, #0] 803de66: b2db uxtb r3, r3 803de68: 2b02 cmp r3, #2 803de6a: f045 8590 bne.w 804398e menupos = ImageRight; 803de6e: 4b2c ldr r3, [pc, #176] ; (803df20 ) 803de70: 2205 movs r2, #5 803de72: 701a strb r2, [r3, #0] break; 803de74: f005 bd8b b.w 804398e case MAIN_SYGNAL: switch(menupos) 803de78: 4b29 ldr r3, [pc, #164] ; (803df20 ) 803de7a: 781b ldrb r3, [r3, #0] 803de7c: b2db uxtb r3, r3 803de7e: 2b07 cmp r3, #7 803de80: f205 8588 bhi.w 8043994 803de84: a201 add r2, pc, #4 ; (adr r2, 803de8c ) 803de86: f852 f023 ldr.w pc, [r2, r3, lsl #2] 803de8a: bf00 nop 803de8c: 0803ded5 .word 0x0803ded5 803de90: 08043995 .word 0x08043995 803de94: 0803deb5 .word 0x0803deb5 803de98: 0803dec5 .word 0x0803dec5 803de9c: 0803decd .word 0x0803decd 803dea0: 0803debd .word 0x0803debd 803dea4: 0803dedd .word 0x0803dedd 803dea8: 0803dead .word 0x0803dead { case Stop: menupos = ImageLeft; break; 803deac: 4b1c ldr r3, [pc, #112] ; (803df20 ) 803deae: 2202 movs r2, #2 803deb0: 701a strb r2, [r3, #0] 803deb2: e017 b.n 803dee4 case ImageLeft: menupos = ImageRight; break; 803deb4: 4b1a ldr r3, [pc, #104] ; (803df20 ) 803deb6: 2205 movs r2, #5 803deb8: 701a strb r2, [r3, #0] 803deba: e013 b.n 803dee4 case ImageRight:menupos = ZoomIn; break; 803debc: 4b18 ldr r3, [pc, #96] ; (803df20 ) 803debe: 2203 movs r2, #3 803dec0: 701a strb r2, [r3, #0] 803dec2: e00f b.n 803dee4 case ZoomIn: menupos = ZoomOut; break; 803dec4: 4b16 ldr r3, [pc, #88] ; (803df20 ) 803dec6: 2204 movs r2, #4 803dec8: 701a strb r2, [r3, #0] 803deca: e00b b.n 803dee4 case ZoomOut: menupos = StartStop; break; 803decc: 4b14 ldr r3, [pc, #80] ; (803df20 ) 803dece: 2200 movs r2, #0 803ded0: 701a strb r2, [r3, #0] 803ded2: e007 b.n 803dee4 case StartStop: menupos = Stop; break; 803ded4: 4b12 ldr r3, [pc, #72] ; (803df20 ) 803ded6: 2207 movs r2, #7 803ded8: 701a strb r2, [r3, #0] 803deda: e003 b.n 803dee4 case Cursor: ZOOM_OUT = true; break; 803dedc: 4b11 ldr r3, [pc, #68] ; (803df24 ) 803dede: 2201 movs r2, #1 803dee0: 701a strb r2, [r3, #0] 803dee2: bf00 nop } break; 803dee4: f005 bd56 b.w 8043994 case EXPLORER: if(menupos == FilesPTM) 803dee8: 4b0d ldr r3, [pc, #52] ; (803df20 ) 803deea: 781b ldrb r3, [r3, #0] 803deec: b2db uxtb r3, r3 803deee: 2b02 cmp r3, #2 803def0: f045 8553 bne.w 804399a { if((CursorIndex + 1) < VIEW_FILES) 803def4: 4b0d ldr r3, [pc, #52] ; (803df2c ) 803def6: 681b ldr r3, [r3, #0] 803def8: 3301 adds r3, #1 803defa: 2b0b cmp r3, #11 803defc: d81c bhi.n 803df38 { if((FirstFileIndex + CursorIndex + 1) < NumFilesPTM) { 803defe: 4b0c ldr r3, [pc, #48] ; (803df30 ) 803df00: 681a ldr r2, [r3, #0] 803df02: 4b0a ldr r3, [pc, #40] ; (803df2c ) 803df04: 681b ldr r3, [r3, #0] 803df06: 4413 add r3, r2 803df08: 1c5a adds r2, r3, #1 803df0a: 4b0a ldr r3, [pc, #40] ; (803df34 ) 803df0c: 681b ldr r3, [r3, #0] 803df0e: 429a cmp r2, r3 803df10: d227 bcs.n 803df62 CursorIndex++; 803df12: 4b06 ldr r3, [pc, #24] ; (803df2c ) 803df14: 681b ldr r3, [r3, #0] 803df16: 3301 adds r3, #1 803df18: 4a04 ldr r2, [pc, #16] ; (803df2c ) 803df1a: 6013 str r3, [r2, #0] 803df1c: e021 b.n 803df62 803df1e: bf00 nop 803df20: 20020070 .word 0x20020070 803df24: 20020f69 .word 0x20020f69 803df28: 20020d8e .word 0x20020d8e 803df2c: 20020de0 .word 0x20020de0 803df30: 20020de4 .word 0x20020de4 803df34: 20020df4 .word 0x20020df4 } } else { if((FirstFileIndex + VIEW_FILES) < NumFilesPTM) 803df38: 4b6e ldr r3, [pc, #440] ; (803e0f4 ) 803df3a: 681b ldr r3, [r3, #0] 803df3c: f103 020c add.w r2, r3, #12 803df40: 4b6d ldr r3, [pc, #436] ; (803e0f8 ) 803df42: 681b ldr r3, [r3, #0] 803df44: 429a cmp r2, r3 803df46: d20c bcs.n 803df62 { FirstFileIndex++; 803df48: 4b6a ldr r3, [pc, #424] ; (803e0f4 ) 803df4a: 681b ldr r3, [r3, #0] 803df4c: 3301 adds r3, #1 803df4e: 4a69 ldr r2, [pc, #420] ; (803e0f4 ) 803df50: 6013 str r3, [r2, #0] result = ReadMyFilesPTM(FirstFileIndex); 803df52: 4b68 ldr r3, [pc, #416] ; (803e0f4 ) 803df54: 681b ldr r3, [r3, #0] 803df56: 4618 mov r0, r3 803df58: f7ec fdca bl 802aaf0 803df5c: 4603 mov r3, r0 803df5e: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 { /* îøèáêà ÷òåíèÿ ñïèñêà ôàéëîâ*/ } } } RealFileIndex = FirstFileIndex + CursorIndex; 803df62: 4b64 ldr r3, [pc, #400] ; (803e0f4 ) 803df64: 681a ldr r2, [r3, #0] 803df66: 4b65 ldr r3, [pc, #404] ; (803e0fc ) 803df68: 681b ldr r3, [r3, #0] 803df6a: 4413 add r3, r2 803df6c: 4a64 ldr r2, [pc, #400] ; (803e100 ) 803df6e: 6013 str r3, [r2, #0] } break; 803df70: f005 bd13 b.w 804399a case INPUT_NAME_PTM: case INPUT_NAME_DGN: case INPUT_NAME_SPEC: case INPUT_NAME_GTR: case INPUT_NAME_FRN: if((menupos == _G) || (menupos == _H) || (menupos == _J)) 803df74: 4b63 ldr r3, [pc, #396] ; (803e104 ) 803df76: 781b ldrb r3, [r3, #0] 803df78: b2db uxtb r3, r3 803df7a: 2b18 cmp r3, #24 803df7c: d009 beq.n 803df92 803df7e: 4b61 ldr r3, [pc, #388] ; (803e104 ) 803df80: 781b ldrb r3, [r3, #0] 803df82: b2db uxtb r3, r3 803df84: 2b19 cmp r3, #25 803df86: d004 beq.n 803df92 803df88: 4b5e ldr r3, [pc, #376] ; (803e104 ) 803df8a: 781b ldrb r3, [r3, #0] 803df8c: b2db uxtb r3, r3 803df8e: 2b1a cmp r3, #26 803df90: d103 bne.n 803df9a menupos = _SPACE; 803df92: 4b5c ldr r3, [pc, #368] ; (803e104 ) 803df94: 2222 movs r2, #34 ; 0x22 803df96: 701a strb r2, [r3, #0] 803df98: e044 b.n 803e024 else if(menupos == _CANCEL) 803df9a: 4b5a ldr r3, [pc, #360] ; (803e104 ) 803df9c: 781b ldrb r3, [r3, #0] 803df9e: b2db uxtb r3, r3 803dfa0: 2b27 cmp r3, #39 ; 0x27 803dfa2: d104 bne.n 803dfae menupos = _ENTER; 803dfa4: 4b57 ldr r3, [pc, #348] ; (803e104 ) 803dfa6: 2226 movs r2, #38 ; 0x26 803dfa8: 701a strb r2, [r3, #0] else if((menupos >= _SPACE) && (menupos <= _M)) menupos = _CANCEL; } } break; 803dfaa: f005 bcf9 b.w 80439a0 if(menupos < _Z) 803dfae: 4b55 ldr r3, [pc, #340] ; (803e104 ) 803dfb0: 781b ldrb r3, [r3, #0] 803dfb2: b2db uxtb r3, r3 803dfb4: 2b1d cmp r3, #29 803dfb6: d816 bhi.n 803dfe6 if(menupos < _G) menupos += 10; 803dfb8: 4b52 ldr r3, [pc, #328] ; (803e104 ) 803dfba: 781b ldrb r3, [r3, #0] 803dfbc: b2db uxtb r3, r3 803dfbe: 2b17 cmp r3, #23 803dfc0: d808 bhi.n 803dfd4 803dfc2: 4b50 ldr r3, [pc, #320] ; (803e104 ) 803dfc4: 781b ldrb r3, [r3, #0] 803dfc6: b2db uxtb r3, r3 803dfc8: 330a adds r3, #10 803dfca: b2da uxtb r2, r3 803dfcc: 4b4d ldr r3, [pc, #308] ; (803e104 ) 803dfce: 701a strb r2, [r3, #0] break; 803dfd0: f005 bce6 b.w 80439a0 else menupos += 8; 803dfd4: 4b4b ldr r3, [pc, #300] ; (803e104 ) 803dfd6: 781b ldrb r3, [r3, #0] 803dfd8: b2db uxtb r3, r3 803dfda: 3308 adds r3, #8 803dfdc: b2da uxtb r2, r3 803dfde: 4b49 ldr r3, [pc, #292] ; (803e104 ) 803dfe0: 701a strb r2, [r3, #0] break; 803dfe2: f005 bcdd b.w 80439a0 if((menupos >= _Z) && (menupos <= _V)) 803dfe6: 4b47 ldr r3, [pc, #284] ; (803e104 ) 803dfe8: 781b ldrb r3, [r3, #0] 803dfea: b2db uxtb r3, r3 803dfec: 2b1d cmp r3, #29 803dfee: d908 bls.n 803e002 803dff0: 4b44 ldr r3, [pc, #272] ; (803e104 ) 803dff2: 781b ldrb r3, [r3, #0] 803dff4: b2db uxtb r3, r3 803dff6: 2b21 cmp r3, #33 ; 0x21 803dff8: d803 bhi.n 803e002 menupos = _ENTER; 803dffa: 4b42 ldr r3, [pc, #264] ; (803e104 ) 803dffc: 2226 movs r2, #38 ; 0x26 803dffe: 701a strb r2, [r3, #0] 803e000: e010 b.n 803e024 if((menupos >= _SPACE) && (menupos <= _M)) 803e002: 4b40 ldr r3, [pc, #256] ; (803e104 ) 803e004: 781b ldrb r3, [r3, #0] 803e006: b2db uxtb r3, r3 803e008: 2b21 cmp r3, #33 ; 0x21 803e00a: f245 84c9 bls.w 80439a0 803e00e: 4b3d ldr r3, [pc, #244] ; (803e104 ) 803e010: 781b ldrb r3, [r3, #0] 803e012: b2db uxtb r3, r3 803e014: 2b25 cmp r3, #37 ; 0x25 803e016: f205 84c3 bhi.w 80439a0 menupos = _CANCEL; 803e01a: 4b3a ldr r3, [pc, #232] ; (803e104 ) 803e01c: 2227 movs r2, #39 ; 0x27 803e01e: 701a strb r2, [r3, #0] break; 803e020: f005 bcbe b.w 80439a0 803e024: f005 bcbc b.w 80439a0 case OPTIONS: if(menupos < AskFormatNo) 803e028: 4b36 ldr r3, [pc, #216] ; (803e104 ) 803e02a: 781b ldrb r3, [r3, #0] 803e02c: b2db uxtb r3, r3 803e02e: 2b04 cmp r3, #4 803e030: f205 84b9 bhi.w 80439a6 { if(menupos < Route) menupos++; 803e034: 4b33 ldr r3, [pc, #204] ; (803e104 ) 803e036: 781b ldrb r3, [r3, #0] 803e038: b2db uxtb r3, r3 803e03a: 2b03 cmp r3, #3 803e03c: d808 bhi.n 803e050 803e03e: 4b31 ldr r3, [pc, #196] ; (803e104 ) 803e040: 781b ldrb r3, [r3, #0] 803e042: b2db uxtb r3, r3 803e044: 3301 adds r3, #1 803e046: b2da uxtb r2, r3 803e048: 4b2e ldr r3, [pc, #184] ; (803e104 ) 803e04a: 701a strb r2, [r3, #0] else menupos = Mode; } break; 803e04c: f005 bcab b.w 80439a6 else menupos = Mode; 803e050: 4b2c ldr r3, [pc, #176] ; (803e104 ) 803e052: 2201 movs r2, #1 803e054: 701a strb r2, [r3, #0] break; 803e056: f005 bca6 b.w 80439a6 case MEAS_MODE: #ifdef USE_ROLL #ifdef USE_UDAR if(pardata.IIN != VOLTS) 803e05a: 4b2b ldr r3, [pc, #172] ; (803e108 ) 803e05c: 799b ldrb r3, [r3, #6] 803e05e: b2db uxtb r3, r3 803e060: 2b02 cmp r3, #2 803e062: d012 beq.n 803e08a { if(menupos < Udar) menupos++; 803e064: 4b27 ldr r3, [pc, #156] ; (803e104 ) 803e066: 781b ldrb r3, [r3, #0] 803e068: b2db uxtb r3, r3 803e06a: 2b06 cmp r3, #6 803e06c: d808 bhi.n 803e080 803e06e: 4b25 ldr r3, [pc, #148] ; (803e104 ) 803e070: 781b ldrb r3, [r3, #0] 803e072: b2db uxtb r3, r3 803e074: 3301 adds r3, #1 803e076: b2da uxtb r2, r3 803e078: 4b22 ldr r3, [pc, #136] ; (803e104 ) 803e07a: 701a strb r2, [r3, #0] #else if(menupos < Wave) menupos++; else menupos = Vibrometer; #endif*/ break; 803e07c: f005 bcb8 b.w 80439f0 else menupos = Vibrometer; 803e080: 4b20 ldr r3, [pc, #128] ; (803e104 ) 803e082: 2201 movs r2, #1 803e084: 701a strb r2, [r3, #0] break; 803e086: f005 bcb3 b.w 80439f0 if(menupos < FFT) menupos++; 803e08a: 4b1e ldr r3, [pc, #120] ; (803e104 ) 803e08c: 781b ldrb r3, [r3, #0] 803e08e: b2db uxtb r3, r3 803e090: 2b02 cmp r3, #2 803e092: d808 bhi.n 803e0a6 803e094: 4b1b ldr r3, [pc, #108] ; (803e104 ) 803e096: 781b ldrb r3, [r3, #0] 803e098: b2db uxtb r3, r3 803e09a: 3301 adds r3, #1 803e09c: b2da uxtb r2, r3 803e09e: 4b19 ldr r3, [pc, #100] ; (803e104 ) 803e0a0: 701a strb r2, [r3, #0] break; 803e0a2: f005 bca5 b.w 80439f0 else menupos = Vibrometer; 803e0a6: 4b17 ldr r3, [pc, #92] ; (803e104 ) 803e0a8: 2201 movs r2, #1 803e0aa: 701a strb r2, [r3, #0] break; 803e0ac: f005 bca0 b.w 80439f0 case PARAM_UDAR: focused = false; 803e0b0: 4b16 ldr r3, [pc, #88] ; (803e10c ) 803e0b2: 2200 movs r2, #0 803e0b4: 701a strb r2, [r3, #0] if(menupos == Ok) 803e0b6: 4b13 ldr r3, [pc, #76] ; (803e104 ) 803e0b8: 781b ldrb r3, [r3, #0] 803e0ba: b2db uxtb r3, r3 803e0bc: 2b00 cmp r3, #0 803e0be: d104 bne.n 803e0ca menupos = UdarRate; 803e0c0: 4b10 ldr r3, [pc, #64] ; (803e104 ) 803e0c2: 2201 movs r2, #1 803e0c4: 701a strb r2, [r3, #0] break; } if(k == 0) k = 1; pardata.D_RATE = k; } break; 803e0c6: f005 bc71 b.w 80439ac if(menupos == UdarRate) 803e0ca: 4b0e ldr r3, [pc, #56] ; (803e104 ) 803e0cc: 781b ldrb r3, [r3, #0] 803e0ce: b2db uxtb r3, r3 803e0d0: 2b01 cmp r3, #1 803e0d2: d104 bne.n 803e0de menupos = UdarInner; 803e0d4: 4b0b ldr r3, [pc, #44] ; (803e104 ) 803e0d6: 2202 movs r2, #2 803e0d8: 701a strb r2, [r3, #0] break; 803e0da: f005 bc67 b.w 80439ac if(menupos == UdarInner) 803e0de: 4b09 ldr r3, [pc, #36] ; (803e104 ) 803e0e0: 781b ldrb r3, [r3, #0] 803e0e2: b2db uxtb r3, r3 803e0e4: 2b02 cmp r3, #2 803e0e6: d113 bne.n 803e110 menupos = Ok; 803e0e8: 4b06 ldr r3, [pc, #24] ; (803e104 ) 803e0ea: 2200 movs r2, #0 803e0ec: 701a strb r2, [r3, #0] break; 803e0ee: f005 bc5d b.w 80439ac 803e0f2: bf00 nop 803e0f4: 20020de4 .word 0x20020de4 803e0f8: 20020df4 .word 0x20020df4 803e0fc: 20020de0 .word 0x20020de0 803e100: 20020de8 .word 0x20020de8 803e104: 20020070 .word 0x20020070 803e108: 20023e60 .word 0x20023e60 803e10c: 20020f84 .word 0x20020f84 if((menupos >= UdarInner_IES) && (menupos <= UdarInner_IKT)) 803e110: 4bb3 ldr r3, [pc, #716] ; (803e3e0 ) 803e112: 781b ldrb r3, [r3, #0] 803e114: b2db uxtb r3, r3 803e116: 2b06 cmp r3, #6 803e118: f240 817c bls.w 803e414 803e11c: 4bb0 ldr r3, [pc, #704] ; (803e3e0 ) 803e11e: 781b ldrb r3, [r3, #0] 803e120: b2db uxtb r3, r3 803e122: 2b0c cmp r3, #12 803e124: f200 8176 bhi.w 803e414 k = (uint32_t) (pardata.D_INNER * 1000.0f); 803e128: 4bae ldr r3, [pc, #696] ; (803e3e4 ) 803e12a: edd3 7a32 vldr s15, [r3, #200] ; 0xc8 803e12e: ed9f 7aae vldr s14, [pc, #696] ; 803e3e8 803e132: ee67 7a87 vmul.f32 s15, s15, s14 803e136: eefc 7ae7 vcvt.u32.f32 s15, s15 803e13a: ee17 3a90 vmov r3, s15 803e13e: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 ies = (uint8_t) (k / 100000); 803e142: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803e146: 095b lsrs r3, r3, #5 803e148: 4aa8 ldr r2, [pc, #672] ; (803e3ec ) 803e14a: fba2 2303 umull r2, r3, r2, r3 803e14e: 09db lsrs r3, r3, #7 803e150: b2db uxtb r3, r3 803e152: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 / 10000); 803e156: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803e15a: 0953 lsrs r3, r2, #5 803e15c: 49a3 ldr r1, [pc, #652] ; (803e3ec ) 803e15e: fba1 1303 umull r1, r3, r1, r3 803e162: 09db lsrs r3, r3, #7 803e164: 49a2 ldr r1, [pc, #648] ; (803e3f0 ) 803e166: fb01 f303 mul.w r3, r1, r3 803e16a: 1ad3 subs r3, r2, r3 803e16c: 4aa1 ldr r2, [pc, #644] ; (803e3f4 ) 803e16e: fba2 2303 umull r2, r3, r2, r3 803e172: 0b5b lsrs r3, r3, #13 803e174: b2db uxtb r3, r3 803e176: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 / 1000); 803e17a: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803e17e: 0953 lsrs r3, r2, #5 803e180: 499a ldr r1, [pc, #616] ; (803e3ec ) 803e182: fba1 1303 umull r1, r3, r1, r3 803e186: 09db lsrs r3, r3, #7 803e188: 4999 ldr r1, [pc, #612] ; (803e3f0 ) 803e18a: fb01 f303 mul.w r3, r1, r3 803e18e: 1ad3 subs r3, r2, r3 803e190: 4a98 ldr r2, [pc, #608] ; (803e3f4 ) 803e192: fba2 1203 umull r1, r2, r2, r3 803e196: 0b52 lsrs r2, r2, #13 803e198: f242 7110 movw r1, #10000 ; 0x2710 803e19c: fb01 f202 mul.w r2, r1, r2 803e1a0: 1a9a subs r2, r3, r2 803e1a2: 4b95 ldr r3, [pc, #596] ; (803e3f8 ) 803e1a4: fba3 2302 umull r2, r3, r3, r2 803e1a8: 099b lsrs r3, r3, #6 803e1aa: b2db uxtb r3, r3 803e1ac: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 803e1b0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803e1b4: 095a lsrs r2, r3, #5 803e1b6: 498d ldr r1, [pc, #564] ; (803e3ec ) 803e1b8: fba1 1202 umull r1, r2, r1, r2 803e1bc: 09d2 lsrs r2, r2, #7 803e1be: 498c ldr r1, [pc, #560] ; (803e3f0 ) 803e1c0: fb01 f202 mul.w r2, r1, r2 803e1c4: 1a9a subs r2, r3, r2 803e1c6: 4b8b ldr r3, [pc, #556] ; (803e3f4 ) 803e1c8: fba3 1302 umull r1, r3, r3, r2 803e1cc: 0b5b lsrs r3, r3, #13 803e1ce: f242 7110 movw r1, #10000 ; 0x2710 803e1d2: fb01 f303 mul.w r3, r1, r3 803e1d6: 1ad3 subs r3, r2, r3 803e1d8: 4a87 ldr r2, [pc, #540] ; (803e3f8 ) 803e1da: fba2 1203 umull r1, r2, r2, r3 803e1de: 0992 lsrs r2, r2, #6 803e1e0: f44f 717a mov.w r1, #1000 ; 0x3e8 803e1e4: fb01 f202 mul.w r2, r1, r2 803e1e8: 1a9a subs r2, r3, r2 803e1ea: 4b84 ldr r3, [pc, #528] ; (803e3fc ) 803e1ec: fba3 2302 umull r2, r3, r3, r2 803e1f0: 095b lsrs r3, r3, #5 803e1f2: b2db uxtb r3, r3 803e1f4: f887 306e strb.w r3, [r7, #110] ; 0x6e iks = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 803e1f8: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803e1fc: 0953 lsrs r3, r2, #5 803e1fe: 497b ldr r1, [pc, #492] ; (803e3ec ) 803e200: fba1 1303 umull r1, r3, r1, r3 803e204: 09db lsrs r3, r3, #7 803e206: 497a ldr r1, [pc, #488] ; (803e3f0 ) 803e208: fb01 f303 mul.w r3, r1, r3 803e20c: 1ad3 subs r3, r2, r3 803e20e: 4a79 ldr r2, [pc, #484] ; (803e3f4 ) 803e210: fba2 1203 umull r1, r2, r2, r3 803e214: 0b52 lsrs r2, r2, #13 803e216: f242 7110 movw r1, #10000 ; 0x2710 803e21a: fb01 f202 mul.w r2, r1, r2 803e21e: 1a9a subs r2, r3, r2 803e220: 4b75 ldr r3, [pc, #468] ; (803e3f8 ) 803e222: fba3 1302 umull r1, r3, r3, r2 803e226: 099b lsrs r3, r3, #6 803e228: f44f 717a mov.w r1, #1000 ; 0x3e8 803e22c: fb01 f303 mul.w r3, r1, r3 803e230: 1ad3 subs r3, r2, r3 803e232: 4a72 ldr r2, [pc, #456] ; (803e3fc ) 803e234: fba2 1203 umull r1, r2, r2, r3 803e238: 0952 lsrs r2, r2, #5 803e23a: 2164 movs r1, #100 ; 0x64 803e23c: fb01 f202 mul.w r2, r1, r2 803e240: 1a9a subs r2, r3, r2 803e242: 4b6f ldr r3, [pc, #444] ; (803e400 ) 803e244: fba3 2302 umull r2, r3, r3, r2 803e248: 08db lsrs r3, r3, #3 803e24a: b2db uxtb r3, r3 803e24c: f887 306d strb.w r3, [r7, #109] ; 0x6d ikt = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 803e250: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803e254: 0953 lsrs r3, r2, #5 803e256: 4965 ldr r1, [pc, #404] ; (803e3ec ) 803e258: fba1 1303 umull r1, r3, r1, r3 803e25c: 09db lsrs r3, r3, #7 803e25e: 4964 ldr r1, [pc, #400] ; (803e3f0 ) 803e260: fb01 f303 mul.w r3, r1, r3 803e264: 1ad3 subs r3, r2, r3 803e266: 4a63 ldr r2, [pc, #396] ; (803e3f4 ) 803e268: fba2 1203 umull r1, r2, r2, r3 803e26c: 0b52 lsrs r2, r2, #13 803e26e: f242 7110 movw r1, #10000 ; 0x2710 803e272: fb01 f202 mul.w r2, r1, r2 803e276: 1a9a subs r2, r3, r2 803e278: 4b5f ldr r3, [pc, #380] ; (803e3f8 ) 803e27a: fba3 1302 umull r1, r3, r3, r2 803e27e: 099b lsrs r3, r3, #6 803e280: f44f 717a mov.w r1, #1000 ; 0x3e8 803e284: fb01 f303 mul.w r3, r1, r3 803e288: 1ad3 subs r3, r2, r3 803e28a: 4a5c ldr r2, [pc, #368] ; (803e3fc ) 803e28c: fba2 1203 umull r1, r2, r2, r3 803e290: 0952 lsrs r2, r2, #5 803e292: 2164 movs r1, #100 ; 0x64 803e294: fb01 f202 mul.w r2, r1, r2 803e298: 1a9a subs r2, r3, r2 803e29a: 4b59 ldr r3, [pc, #356] ; (803e400 ) 803e29c: fba3 1302 umull r1, r3, r3, r2 803e2a0: 08d9 lsrs r1, r3, #3 803e2a2: 460b mov r3, r1 803e2a4: 009b lsls r3, r3, #2 803e2a6: 440b add r3, r1 803e2a8: 005b lsls r3, r3, #1 803e2aa: 1ad1 subs r1, r2, r3 803e2ac: b2cb uxtb r3, r1 803e2ae: f887 306c strb.w r3, [r7, #108] ; 0x6c switch(menupos) 803e2b2: 4b4b ldr r3, [pc, #300] ; (803e3e0 ) 803e2b4: 781b ldrb r3, [r3, #0] 803e2b6: b2db uxtb r3, r3 803e2b8: 3b07 subs r3, #7 803e2ba: 2b05 cmp r3, #5 803e2bc: d869 bhi.n 803e392 803e2be: a201 add r2, pc, #4 ; (adr r2, 803e2c4 ) 803e2c0: f852 f023 ldr.w pc, [r2, r3, lsl #2] 803e2c4: 0803e2dd .word 0x0803e2dd 803e2c8: 0803e2fd .word 0x0803e2fd 803e2cc: 0803e31f .word 0x0803e31f 803e2d0: 0803e33f .word 0x0803e33f 803e2d4: 0803e35b .word 0x0803e35b 803e2d8: 0803e377 .word 0x0803e377 if(k > 100000) k -= 100000; 803e2dc: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803e2e0: 4a43 ldr r2, [pc, #268] ; (803e3f0 ) 803e2e2: 4293 cmp r3, r2 803e2e4: d906 bls.n 803e2f4 803e2e6: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803e2ea: 4b46 ldr r3, [pc, #280] ; (803e404 ) 803e2ec: 4413 add r3, r2 803e2ee: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803e2f2: e04e b.n 803e392 else k = 0; 803e2f4: 2300 movs r3, #0 803e2f6: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803e2fa: e04a b.n 803e392 if(k > 10000) k -= 10000; 803e2fc: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803e300: f242 7210 movw r2, #10000 ; 0x2710 803e304: 4293 cmp r3, r2 803e306: d906 bls.n 803e316 803e308: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803e30c: 4b3e ldr r3, [pc, #248] ; (803e408 ) 803e30e: 4413 add r3, r2 803e310: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803e314: e03d b.n 803e392 else k = 0; 803e316: 2300 movs r3, #0 803e318: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803e31c: e039 b.n 803e392 if(k > 1000) k -= 1000; 803e31e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803e322: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 803e326: d906 bls.n 803e336 803e328: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803e32c: f5a3 737a sub.w r3, r3, #1000 ; 0x3e8 803e330: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803e334: e02d b.n 803e392 else k = 0; 803e336: 2300 movs r3, #0 803e338: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803e33c: e029 b.n 803e392 if(k > 100) k -= 100; 803e33e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803e342: 2b64 cmp r3, #100 ; 0x64 803e344: d905 bls.n 803e352 803e346: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803e34a: 3b64 subs r3, #100 ; 0x64 803e34c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803e350: e01f b.n 803e392 else k = 0; 803e352: 2300 movs r3, #0 803e354: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803e358: e01b b.n 803e392 if(k > 10) k -= 10; 803e35a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803e35e: 2b0a cmp r3, #10 803e360: d905 bls.n 803e36e 803e362: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803e366: 3b0a subs r3, #10 803e368: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803e36c: e011 b.n 803e392 else k = 0; 803e36e: 2300 movs r3, #0 803e370: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803e374: e00d b.n 803e392 if(k > 1) k -= 1; 803e376: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803e37a: 2b01 cmp r3, #1 803e37c: d905 bls.n 803e38a 803e37e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803e382: 3b01 subs r3, #1 803e384: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803e388: e002 b.n 803e390 else k = 0; 803e38a: 2300 movs r3, #0 803e38c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803e390: bf00 nop if(k == 0) k = 1; 803e392: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803e396: 2b00 cmp r3, #0 803e398: d102 bne.n 803e3a0 803e39a: 2301 movs r3, #1 803e39c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.D_INNER = (float32_t) k; 803e3a0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803e3a4: ee07 3a90 vmov s15, r3 803e3a8: eef8 7a67 vcvt.f32.u32 s15, s15 803e3ac: 4b0d ldr r3, [pc, #52] ; (803e3e4 ) 803e3ae: edc3 7a32 vstr s15, [r3, #200] ; 0xc8 pardata.D_INNER *= 0.001f; 803e3b2: 4b0c ldr r3, [pc, #48] ; (803e3e4 ) 803e3b4: edd3 7a32 vldr s15, [r3, #200] ; 0xc8 803e3b8: ed9f 7a14 vldr s14, [pc, #80] ; 803e40c 803e3bc: ee67 7a87 vmul.f32 s15, s15, s14 803e3c0: 4b08 ldr r3, [pc, #32] ; (803e3e4 ) 803e3c2: edc3 7a32 vstr s15, [r3, #200] ; 0xc8 pardata.D_INNER += 0.0005f; 803e3c6: 4b07 ldr r3, [pc, #28] ; (803e3e4 ) 803e3c8: edd3 7a32 vldr s15, [r3, #200] ; 0xc8 803e3cc: ed9f 7a10 vldr s14, [pc, #64] ; 803e410 803e3d0: ee77 7a87 vadd.f32 s15, s15, s14 803e3d4: 4b03 ldr r3, [pc, #12] ; (803e3e4 ) 803e3d6: edc3 7a32 vstr s15, [r3, #200] ; 0xc8 break; 803e3da: f005 bae7 b.w 80439ac 803e3de: bf00 nop 803e3e0: 20020070 .word 0x20020070 803e3e4: 20023e60 .word 0x20023e60 803e3e8: 447a0000 .word 0x447a0000 803e3ec: 0a7c5ac5 .word 0x0a7c5ac5 803e3f0: 000186a0 .word 0x000186a0 803e3f4: d1b71759 .word 0xd1b71759 803e3f8: 10624dd3 .word 0x10624dd3 803e3fc: 51eb851f .word 0x51eb851f 803e400: cccccccd .word 0xcccccccd 803e404: fffe7960 .word 0xfffe7960 803e408: ffffd8f0 .word 0xffffd8f0 803e40c: 3a83126f .word 0x3a83126f 803e410: 3a03126f .word 0x3a03126f if((menupos >= UdarRate_IET) && (menupos <= UdarRate_IEE)) 803e414: 4b98 ldr r3, [pc, #608] ; (803e678 ) 803e416: 781b ldrb r3, [r3, #0] 803e418: b2db uxtb r3, r3 803e41a: 2b02 cmp r3, #2 803e41c: f245 82c6 bls.w 80439ac 803e420: 4b95 ldr r3, [pc, #596] ; (803e678 ) 803e422: 781b ldrb r3, [r3, #0] 803e424: b2db uxtb r3, r3 803e426: 2b06 cmp r3, #6 803e428: f205 82c0 bhi.w 80439ac k = pardata.D_RATE; 803e42c: 4b93 ldr r3, [pc, #588] ; (803e67c ) 803e42e: f8d3 30d0 ldr.w r3, [r3, #208] ; 0xd0 803e432: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 iet = (uint8_t) (k / 1000); 803e436: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803e43a: 4a91 ldr r2, [pc, #580] ; (803e680 ) 803e43c: fba2 2303 umull r2, r3, r2, r3 803e440: 099b lsrs r3, r3, #6 803e442: b2db uxtb r3, r3 803e444: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 1000 / 100); 803e448: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803e44c: 4b8c ldr r3, [pc, #560] ; (803e680 ) 803e44e: fba3 1302 umull r1, r3, r3, r2 803e452: 099b lsrs r3, r3, #6 803e454: f44f 717a mov.w r1, #1000 ; 0x3e8 803e458: fb01 f303 mul.w r3, r1, r3 803e45c: 1ad3 subs r3, r2, r3 803e45e: 4a89 ldr r2, [pc, #548] ; (803e684 ) 803e460: fba2 2303 umull r2, r3, r2, r3 803e464: 095b lsrs r3, r3, #5 803e466: b2db uxtb r3, r3 803e468: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 1000 % 100 / 10); 803e46c: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803e470: 4b83 ldr r3, [pc, #524] ; (803e680 ) 803e472: fba3 1302 umull r1, r3, r3, r2 803e476: 099b lsrs r3, r3, #6 803e478: f44f 717a mov.w r1, #1000 ; 0x3e8 803e47c: fb01 f303 mul.w r3, r1, r3 803e480: 1ad3 subs r3, r2, r3 803e482: 4a80 ldr r2, [pc, #512] ; (803e684 ) 803e484: fba2 1203 umull r1, r2, r2, r3 803e488: 0952 lsrs r2, r2, #5 803e48a: 2164 movs r1, #100 ; 0x64 803e48c: fb01 f202 mul.w r2, r1, r2 803e490: 1a9a subs r2, r3, r2 803e492: 4b7d ldr r3, [pc, #500] ; (803e688 ) 803e494: fba3 2302 umull r2, r3, r3, r2 803e498: 08db lsrs r3, r3, #3 803e49a: b2db uxtb r3, r3 803e49c: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 1000 % 100 % 10); 803e4a0: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803e4a4: 4b76 ldr r3, [pc, #472] ; (803e680 ) 803e4a6: fba3 1302 umull r1, r3, r3, r2 803e4aa: 099b lsrs r3, r3, #6 803e4ac: f44f 717a mov.w r1, #1000 ; 0x3e8 803e4b0: fb01 f303 mul.w r3, r1, r3 803e4b4: 1ad3 subs r3, r2, r3 803e4b6: 4a73 ldr r2, [pc, #460] ; (803e684 ) 803e4b8: fba2 1203 umull r1, r2, r2, r3 803e4bc: 0952 lsrs r2, r2, #5 803e4be: 2164 movs r1, #100 ; 0x64 803e4c0: fb01 f202 mul.w r2, r1, r2 803e4c4: 1a9a subs r2, r3, r2 803e4c6: 4b70 ldr r3, [pc, #448] ; (803e688 ) 803e4c8: fba3 1302 umull r1, r3, r3, r2 803e4cc: 08d9 lsrs r1, r3, #3 803e4ce: 460b mov r3, r1 803e4d0: 009b lsls r3, r3, #2 803e4d2: 440b add r3, r1 803e4d4: 005b lsls r3, r3, #1 803e4d6: 1ad1 subs r1, r2, r3 803e4d8: b2cb uxtb r3, r1 803e4da: f887 306f strb.w r3, [r7, #111] ; 0x6f switch(menupos) 803e4de: 4b66 ldr r3, [pc, #408] ; (803e678 ) 803e4e0: 781b ldrb r3, [r3, #0] 803e4e2: b2db uxtb r3, r3 803e4e4: 3b03 subs r3, #3 803e4e6: 2b03 cmp r3, #3 803e4e8: d844 bhi.n 803e574 803e4ea: a201 add r2, pc, #4 ; (adr r2, 803e4f0 ) 803e4ec: f852 f023 ldr.w pc, [r2, r3, lsl #2] 803e4f0: 0803e501 .word 0x0803e501 803e4f4: 0803e521 .word 0x0803e521 803e4f8: 0803e53d .word 0x0803e53d 803e4fc: 0803e559 .word 0x0803e559 if(k > 1000) k -= 1000; 803e500: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803e504: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 803e508: d906 bls.n 803e518 803e50a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803e50e: f5a3 737a sub.w r3, r3, #1000 ; 0x3e8 803e512: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803e516: e02d b.n 803e574 else k = 0; 803e518: 2300 movs r3, #0 803e51a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803e51e: e029 b.n 803e574 if(k > 100) k -= 100; 803e520: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803e524: 2b64 cmp r3, #100 ; 0x64 803e526: d905 bls.n 803e534 803e528: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803e52c: 3b64 subs r3, #100 ; 0x64 803e52e: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803e532: e01f b.n 803e574 else k = 0; 803e534: 2300 movs r3, #0 803e536: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803e53a: e01b b.n 803e574 if(k > 10) k -= 10; 803e53c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803e540: 2b0a cmp r3, #10 803e542: d905 bls.n 803e550 803e544: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803e548: 3b0a subs r3, #10 803e54a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803e54e: e011 b.n 803e574 else k = 0; 803e550: 2300 movs r3, #0 803e552: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803e556: e00d b.n 803e574 if(k > 1) k -= 1; 803e558: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803e55c: 2b01 cmp r3, #1 803e55e: d905 bls.n 803e56c 803e560: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803e564: 3b01 subs r3, #1 803e566: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803e56a: e002 b.n 803e572 else k = 0; 803e56c: 2300 movs r3, #0 803e56e: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803e572: bf00 nop if(k == 0) k = 1; 803e574: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803e578: 2b00 cmp r3, #0 803e57a: d102 bne.n 803e582 803e57c: 2301 movs r3, #1 803e57e: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.D_RATE = k; 803e582: 4a3e ldr r2, [pc, #248] ; (803e67c ) 803e584: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803e588: f8c2 30d0 str.w r3, [r2, #208] ; 0xd0 break; 803e58c: f005 ba0e b.w 80439ac case PARAM_ROLL: focused = false; 803e590: 4b3e ldr r3, [pc, #248] ; (803e68c ) 803e592: 2200 movs r2, #0 803e594: 701a strb r2, [r3, #0] if(menupos == Ok) 803e596: 4b38 ldr r3, [pc, #224] ; (803e678 ) 803e598: 781b ldrb r3, [r3, #0] 803e59a: b2db uxtb r3, r3 803e59c: 2b00 cmp r3, #0 803e59e: d104 bne.n 803e5aa menupos = RollCount; 803e5a0: 4b35 ldr r3, [pc, #212] ; (803e678 ) 803e5a2: 2201 movs r2, #1 803e5a4: 701a strb r2, [r3, #0] break; } if(k == 0) k = 1; pardata.D_RATE = k; } break; 803e5a6: f005 ba04 b.w 80439b2 if(menupos == RollCount) 803e5aa: 4b33 ldr r3, [pc, #204] ; (803e678 ) 803e5ac: 781b ldrb r3, [r3, #0] 803e5ae: b2db uxtb r3, r3 803e5b0: 2b01 cmp r3, #1 803e5b2: d104 bne.n 803e5be menupos = D_Roll; 803e5b4: 4b30 ldr r3, [pc, #192] ; (803e678 ) 803e5b6: 2202 movs r2, #2 803e5b8: 701a strb r2, [r3, #0] break; 803e5ba: f005 b9fa b.w 80439b2 if(menupos == D_Roll) 803e5be: 4b2e ldr r3, [pc, #184] ; (803e678 ) 803e5c0: 781b ldrb r3, [r3, #0] 803e5c2: b2db uxtb r3, r3 803e5c4: 2b02 cmp r3, #2 803e5c6: d104 bne.n 803e5d2 menupos = D_Outer; 803e5c8: 4b2b ldr r3, [pc, #172] ; (803e678 ) 803e5ca: 2203 movs r2, #3 803e5cc: 701a strb r2, [r3, #0] break; 803e5ce: f005 b9f0 b.w 80439b2 if(menupos == D_Outer) 803e5d2: 4b29 ldr r3, [pc, #164] ; (803e678 ) 803e5d4: 781b ldrb r3, [r3, #0] 803e5d6: b2db uxtb r3, r3 803e5d8: 2b03 cmp r3, #3 803e5da: d104 bne.n 803e5e6 menupos = D_Inner; 803e5dc: 4b26 ldr r3, [pc, #152] ; (803e678 ) 803e5de: 2204 movs r2, #4 803e5e0: 701a strb r2, [r3, #0] break; 803e5e2: f005 b9e6 b.w 80439b2 if(menupos == D_Inner) 803e5e6: 4b24 ldr r3, [pc, #144] ; (803e678 ) 803e5e8: 781b ldrb r3, [r3, #0] 803e5ea: b2db uxtb r3, r3 803e5ec: 2b04 cmp r3, #4 803e5ee: d104 bne.n 803e5fa menupos = D_Angle; 803e5f0: 4b21 ldr r3, [pc, #132] ; (803e678 ) 803e5f2: 2205 movs r2, #5 803e5f4: 701a strb r2, [r3, #0] break; 803e5f6: f005 b9dc b.w 80439b2 if(menupos == D_Angle) 803e5fa: 4b1f ldr r3, [pc, #124] ; (803e678 ) 803e5fc: 781b ldrb r3, [r3, #0] 803e5fe: b2db uxtb r3, r3 803e600: 2b05 cmp r3, #5 803e602: d104 bne.n 803e60e menupos = RollAverage; 803e604: 4b1c ldr r3, [pc, #112] ; (803e678 ) 803e606: 2206 movs r2, #6 803e608: 701a strb r2, [r3, #0] break; 803e60a: f005 b9d2 b.w 80439b2 if(menupos == RollAverage) 803e60e: 4b1a ldr r3, [pc, #104] ; (803e678 ) 803e610: 781b ldrb r3, [r3, #0] 803e612: b2db uxtb r3, r3 803e614: 2b06 cmp r3, #6 803e616: d104 bne.n 803e622 menupos = RollAutoKu; 803e618: 4b17 ldr r3, [pc, #92] ; (803e678 ) 803e61a: 2207 movs r2, #7 803e61c: 701a strb r2, [r3, #0] break; 803e61e: f005 b9c8 b.w 80439b2 if(menupos == RollAutoKu) 803e622: 4b15 ldr r3, [pc, #84] ; (803e678 ) 803e624: 781b ldrb r3, [r3, #0] 803e626: b2db uxtb r3, r3 803e628: 2b07 cmp r3, #7 803e62a: d110 bne.n 803e64e if(pardata.OPTIONS & 0x4) 803e62c: 4b13 ldr r3, [pc, #76] ; (803e67c ) 803e62e: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 803e632: f003 0304 and.w r3, r3, #4 803e636: 2b00 cmp r3, #0 803e638: d004 beq.n 803e644 menupos = D_Rate; 803e63a: 4b0f ldr r3, [pc, #60] ; (803e678 ) 803e63c: 2209 movs r2, #9 803e63e: 701a strb r2, [r3, #0] break; 803e640: f005 b9b7 b.w 80439b2 else menupos = RollMax_ALL; 803e644: 4b0c ldr r3, [pc, #48] ; (803e678 ) 803e646: 2208 movs r2, #8 803e648: 701a strb r2, [r3, #0] break; 803e64a: f005 b9b2 b.w 80439b2 if(menupos == RollMax_ALL) 803e64e: 4b0a ldr r3, [pc, #40] ; (803e678 ) 803e650: 781b ldrb r3, [r3, #0] 803e652: b2db uxtb r3, r3 803e654: 2b08 cmp r3, #8 803e656: d104 bne.n 803e662 menupos = D_Rate; 803e658: 4b07 ldr r3, [pc, #28] ; (803e678 ) 803e65a: 2209 movs r2, #9 803e65c: 701a strb r2, [r3, #0] break; 803e65e: f005 b9a8 b.w 80439b2 if(menupos == D_Rate) 803e662: 4b05 ldr r3, [pc, #20] ; (803e678 ) 803e664: 781b ldrb r3, [r3, #0] 803e666: b2db uxtb r3, r3 803e668: 2b09 cmp r3, #9 803e66a: d111 bne.n 803e690 menupos = Ok; 803e66c: 4b02 ldr r3, [pc, #8] ; (803e678 ) 803e66e: 2200 movs r2, #0 803e670: 701a strb r2, [r3, #0] break; 803e672: f005 b99e b.w 80439b2 803e676: bf00 nop 803e678: 20020070 .word 0x20020070 803e67c: 20023e60 .word 0x20023e60 803e680: 10624dd3 .word 0x10624dd3 803e684: 51eb851f .word 0x51eb851f 803e688: cccccccd .word 0xcccccccd 803e68c: 20020f84 .word 0x20020f84 if((menupos >= RollMax_IDT) && (menupos <= RollMax_IKD)) 803e690: 4bb3 ldr r3, [pc, #716] ; (803e960 ) 803e692: 781b ldrb r3, [r3, #0] 803e694: b2db uxtb r3, r3 803e696: 2b25 cmp r3, #37 ; 0x25 803e698: f240 817a bls.w 803e990 803e69c: 4bb0 ldr r3, [pc, #704] ; (803e960 ) 803e69e: 781b ldrb r3, [r3, #0] 803e6a0: b2db uxtb r3, r3 803e6a2: 2b2b cmp r3, #43 ; 0x2b 803e6a4: f200 8174 bhi.w 803e990 k = (uint32_t) (pardata.MAX_VAL * 10.0f); 803e6a8: 4bae ldr r3, [pc, #696] ; (803e964 ) 803e6aa: edd3 7a06 vldr s15, [r3, #24] 803e6ae: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 803e6b2: ee67 7a87 vmul.f32 s15, s15, s14 803e6b6: eefc 7ae7 vcvt.u32.f32 s15, s15 803e6ba: ee17 3a90 vmov r3, s15 803e6be: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 803e6c2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803e6c6: 095b lsrs r3, r3, #5 803e6c8: 4aa7 ldr r2, [pc, #668] ; (803e968 ) 803e6ca: fba2 2303 umull r2, r3, r2, r3 803e6ce: 09db lsrs r3, r3, #7 803e6d0: b2db uxtb r3, r3 803e6d2: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 803e6d6: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803e6da: 0953 lsrs r3, r2, #5 803e6dc: 49a2 ldr r1, [pc, #648] ; (803e968 ) 803e6de: fba1 1303 umull r1, r3, r1, r3 803e6e2: 09db lsrs r3, r3, #7 803e6e4: 49a1 ldr r1, [pc, #644] ; (803e96c ) 803e6e6: fb01 f303 mul.w r3, r1, r3 803e6ea: 1ad3 subs r3, r2, r3 803e6ec: 4aa0 ldr r2, [pc, #640] ; (803e970 ) 803e6ee: fba2 2303 umull r2, r3, r2, r3 803e6f2: 0b5b lsrs r3, r3, #13 803e6f4: b2db uxtb r3, r3 803e6f6: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 803e6fa: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803e6fe: 0953 lsrs r3, r2, #5 803e700: 4999 ldr r1, [pc, #612] ; (803e968 ) 803e702: fba1 1303 umull r1, r3, r1, r3 803e706: 09db lsrs r3, r3, #7 803e708: 4998 ldr r1, [pc, #608] ; (803e96c ) 803e70a: fb01 f303 mul.w r3, r1, r3 803e70e: 1ad3 subs r3, r2, r3 803e710: 4a97 ldr r2, [pc, #604] ; (803e970 ) 803e712: fba2 1203 umull r1, r2, r2, r3 803e716: 0b52 lsrs r2, r2, #13 803e718: f242 7110 movw r1, #10000 ; 0x2710 803e71c: fb01 f202 mul.w r2, r1, r2 803e720: 1a9a subs r2, r3, r2 803e722: 4b94 ldr r3, [pc, #592] ; (803e974 ) 803e724: fba3 2302 umull r2, r3, r3, r2 803e728: 099b lsrs r3, r3, #6 803e72a: b2db uxtb r3, r3 803e72c: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 803e730: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803e734: 095a lsrs r2, r3, #5 803e736: 498c ldr r1, [pc, #560] ; (803e968 ) 803e738: fba1 1202 umull r1, r2, r1, r2 803e73c: 09d2 lsrs r2, r2, #7 803e73e: 498b ldr r1, [pc, #556] ; (803e96c ) 803e740: fb01 f202 mul.w r2, r1, r2 803e744: 1a9a subs r2, r3, r2 803e746: 4b8a ldr r3, [pc, #552] ; (803e970 ) 803e748: fba3 1302 umull r1, r3, r3, r2 803e74c: 0b5b lsrs r3, r3, #13 803e74e: f242 7110 movw r1, #10000 ; 0x2710 803e752: fb01 f303 mul.w r3, r1, r3 803e756: 1ad3 subs r3, r2, r3 803e758: 4a86 ldr r2, [pc, #536] ; (803e974 ) 803e75a: fba2 1203 umull r1, r2, r2, r3 803e75e: 0992 lsrs r2, r2, #6 803e760: f44f 717a mov.w r1, #1000 ; 0x3e8 803e764: fb01 f202 mul.w r2, r1, r2 803e768: 1a9a subs r2, r3, r2 803e76a: 4b83 ldr r3, [pc, #524] ; (803e978 ) 803e76c: fba3 2302 umull r2, r3, r3, r2 803e770: 095b lsrs r3, r3, #5 803e772: b2db uxtb r3, r3 803e774: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 803e778: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803e77c: 0953 lsrs r3, r2, #5 803e77e: 497a ldr r1, [pc, #488] ; (803e968 ) 803e780: fba1 1303 umull r1, r3, r1, r3 803e784: 09db lsrs r3, r3, #7 803e786: 4979 ldr r1, [pc, #484] ; (803e96c ) 803e788: fb01 f303 mul.w r3, r1, r3 803e78c: 1ad3 subs r3, r2, r3 803e78e: 4a78 ldr r2, [pc, #480] ; (803e970 ) 803e790: fba2 1203 umull r1, r2, r2, r3 803e794: 0b52 lsrs r2, r2, #13 803e796: f242 7110 movw r1, #10000 ; 0x2710 803e79a: fb01 f202 mul.w r2, r1, r2 803e79e: 1a9a subs r2, r3, r2 803e7a0: 4b74 ldr r3, [pc, #464] ; (803e974 ) 803e7a2: fba3 1302 umull r1, r3, r3, r2 803e7a6: 099b lsrs r3, r3, #6 803e7a8: f44f 717a mov.w r1, #1000 ; 0x3e8 803e7ac: fb01 f303 mul.w r3, r1, r3 803e7b0: 1ad3 subs r3, r2, r3 803e7b2: 4a71 ldr r2, [pc, #452] ; (803e978 ) 803e7b4: fba2 1203 umull r1, r2, r2, r3 803e7b8: 0952 lsrs r2, r2, #5 803e7ba: 2164 movs r1, #100 ; 0x64 803e7bc: fb01 f202 mul.w r2, r1, r2 803e7c0: 1a9a subs r2, r3, r2 803e7c2: 4b6e ldr r3, [pc, #440] ; (803e97c ) 803e7c4: fba3 2302 umull r2, r3, r3, r2 803e7c8: 08db lsrs r3, r3, #3 803e7ca: b2db uxtb r3, r3 803e7cc: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 803e7d0: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803e7d4: 0953 lsrs r3, r2, #5 803e7d6: 4964 ldr r1, [pc, #400] ; (803e968 ) 803e7d8: fba1 1303 umull r1, r3, r1, r3 803e7dc: 09db lsrs r3, r3, #7 803e7de: 4963 ldr r1, [pc, #396] ; (803e96c ) 803e7e0: fb01 f303 mul.w r3, r1, r3 803e7e4: 1ad3 subs r3, r2, r3 803e7e6: 4a62 ldr r2, [pc, #392] ; (803e970 ) 803e7e8: fba2 1203 umull r1, r2, r2, r3 803e7ec: 0b52 lsrs r2, r2, #13 803e7ee: f242 7110 movw r1, #10000 ; 0x2710 803e7f2: fb01 f202 mul.w r2, r1, r2 803e7f6: 1a9a subs r2, r3, r2 803e7f8: 4b5e ldr r3, [pc, #376] ; (803e974 ) 803e7fa: fba3 1302 umull r1, r3, r3, r2 803e7fe: 099b lsrs r3, r3, #6 803e800: f44f 717a mov.w r1, #1000 ; 0x3e8 803e804: fb01 f303 mul.w r3, r1, r3 803e808: 1ad3 subs r3, r2, r3 803e80a: 4a5b ldr r2, [pc, #364] ; (803e978 ) 803e80c: fba2 1203 umull r1, r2, r2, r3 803e810: 0952 lsrs r2, r2, #5 803e812: 2164 movs r1, #100 ; 0x64 803e814: fb01 f202 mul.w r2, r1, r2 803e818: 1a9a subs r2, r3, r2 803e81a: 4b58 ldr r3, [pc, #352] ; (803e97c ) 803e81c: fba3 1302 umull r1, r3, r3, r2 803e820: 08d9 lsrs r1, r3, #3 803e822: 460b mov r3, r1 803e824: 009b lsls r3, r3, #2 803e826: 440b add r3, r1 803e828: 005b lsls r3, r3, #1 803e82a: 1ad1 subs r1, r2, r3 803e82c: b2cb uxtb r3, r1 803e82e: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 803e832: 4b4b ldr r3, [pc, #300] ; (803e960 ) 803e834: 781b ldrb r3, [r3, #0] 803e836: b2db uxtb r3, r3 803e838: 3b26 subs r3, #38 ; 0x26 803e83a: 2b05 cmp r3, #5 803e83c: d869 bhi.n 803e912 803e83e: a201 add r2, pc, #4 ; (adr r2, 803e844 ) 803e840: f852 f023 ldr.w pc, [r2, r3, lsl #2] 803e844: 0803e85d .word 0x0803e85d 803e848: 0803e87d .word 0x0803e87d 803e84c: 0803e89f .word 0x0803e89f 803e850: 0803e8bf .word 0x0803e8bf 803e854: 0803e8db .word 0x0803e8db 803e858: 0803e8f7 .word 0x0803e8f7 if(k > 100000) k -= 100000; 803e85c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803e860: 4a42 ldr r2, [pc, #264] ; (803e96c ) 803e862: 4293 cmp r3, r2 803e864: d906 bls.n 803e874 803e866: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803e86a: 4b45 ldr r3, [pc, #276] ; (803e980 ) 803e86c: 4413 add r3, r2 803e86e: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803e872: e04e b.n 803e912 else k = 0; 803e874: 2300 movs r3, #0 803e876: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803e87a: e04a b.n 803e912 if(k > 10000) k -= 10000; 803e87c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803e880: f242 7210 movw r2, #10000 ; 0x2710 803e884: 4293 cmp r3, r2 803e886: d906 bls.n 803e896 803e888: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803e88c: 4b3d ldr r3, [pc, #244] ; (803e984 ) 803e88e: 4413 add r3, r2 803e890: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803e894: e03d b.n 803e912 else k = 0; 803e896: 2300 movs r3, #0 803e898: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803e89c: e039 b.n 803e912 if(k > 1000) k -= 1000; 803e89e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803e8a2: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 803e8a6: d906 bls.n 803e8b6 803e8a8: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803e8ac: f5a3 737a sub.w r3, r3, #1000 ; 0x3e8 803e8b0: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803e8b4: e02d b.n 803e912 else k = 0; 803e8b6: 2300 movs r3, #0 803e8b8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803e8bc: e029 b.n 803e912 if(k > 100) k -= 100; 803e8be: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803e8c2: 2b64 cmp r3, #100 ; 0x64 803e8c4: d905 bls.n 803e8d2 803e8c6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803e8ca: 3b64 subs r3, #100 ; 0x64 803e8cc: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803e8d0: e01f b.n 803e912 else k = 0; 803e8d2: 2300 movs r3, #0 803e8d4: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803e8d8: e01b b.n 803e912 if(k > 10) k -= 10; 803e8da: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803e8de: 2b0a cmp r3, #10 803e8e0: d905 bls.n 803e8ee 803e8e2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803e8e6: 3b0a subs r3, #10 803e8e8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803e8ec: e011 b.n 803e912 else k = 0; 803e8ee: 2300 movs r3, #0 803e8f0: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803e8f4: e00d b.n 803e912 if(k > 1) k -= 1; 803e8f6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803e8fa: 2b01 cmp r3, #1 803e8fc: d905 bls.n 803e90a 803e8fe: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803e902: 3b01 subs r3, #1 803e904: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803e908: e002 b.n 803e910 else k = 0; 803e90a: 2300 movs r3, #0 803e90c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803e910: bf00 nop if(k == 0) k = 1; 803e912: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803e916: 2b00 cmp r3, #0 803e918: d102 bne.n 803e920 803e91a: 2301 movs r3, #1 803e91c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.MAX_VAL = (float32_t) k; 803e920: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803e924: ee07 3a90 vmov s15, r3 803e928: eef8 7a67 vcvt.f32.u32 s15, s15 803e92c: 4b0d ldr r3, [pc, #52] ; (803e964 ) 803e92e: edc3 7a06 vstr s15, [r3, #24] pardata.MAX_VAL *= 0.1f; 803e932: 4b0c ldr r3, [pc, #48] ; (803e964 ) 803e934: edd3 7a06 vldr s15, [r3, #24] 803e938: ed9f 7a13 vldr s14, [pc, #76] ; 803e988 803e93c: ee67 7a87 vmul.f32 s15, s15, s14 803e940: 4b08 ldr r3, [pc, #32] ; (803e964 ) 803e942: edc3 7a06 vstr s15, [r3, #24] pardata.MAX_VAL += 0.05f; 803e946: 4b07 ldr r3, [pc, #28] ; (803e964 ) 803e948: edd3 7a06 vldr s15, [r3, #24] 803e94c: ed9f 7a0f vldr s14, [pc, #60] ; 803e98c 803e950: ee77 7a87 vadd.f32 s15, s15, s14 803e954: 4b03 ldr r3, [pc, #12] ; (803e964 ) 803e956: edc3 7a06 vstr s15, [r3, #24] 803e95a: f000 bed9 b.w 803f710 803e95e: bf00 nop 803e960: 20020070 .word 0x20020070 803e964: 20023e60 .word 0x20023e60 803e968: 0a7c5ac5 .word 0x0a7c5ac5 803e96c: 000186a0 .word 0x000186a0 803e970: d1b71759 .word 0xd1b71759 803e974: 10624dd3 .word 0x10624dd3 803e978: 51eb851f .word 0x51eb851f 803e97c: cccccccd .word 0xcccccccd 803e980: fffe7960 .word 0xfffe7960 803e984: ffffd8f0 .word 0xffffd8f0 803e988: 3dcccccd .word 0x3dcccccd 803e98c: 3d4ccccd .word 0x3d4ccccd if((menupos >= D_Roll_IES) && (menupos <= D_Roll_IKT)) 803e990: 4bb3 ldr r3, [pc, #716] ; (803ec60 ) 803e992: 781b ldrb r3, [r3, #0] 803e994: b2db uxtb r3, r3 803e996: 2b09 cmp r3, #9 803e998: f240 817c bls.w 803ec94 803e99c: 4bb0 ldr r3, [pc, #704] ; (803ec60 ) 803e99e: 781b ldrb r3, [r3, #0] 803e9a0: b2db uxtb r3, r3 803e9a2: 2b0f cmp r3, #15 803e9a4: f200 8176 bhi.w 803ec94 k = (uint32_t) (pardata.D_ROLL * 1000.0f); 803e9a8: 4bae ldr r3, [pc, #696] ; (803ec64 ) 803e9aa: edd3 7a30 vldr s15, [r3, #192] ; 0xc0 803e9ae: ed9f 7aae vldr s14, [pc, #696] ; 803ec68 803e9b2: ee67 7a87 vmul.f32 s15, s15, s14 803e9b6: eefc 7ae7 vcvt.u32.f32 s15, s15 803e9ba: ee17 3a90 vmov r3, s15 803e9be: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 ies = (uint8_t) (k / 100000); 803e9c2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803e9c6: 095b lsrs r3, r3, #5 803e9c8: 4aa8 ldr r2, [pc, #672] ; (803ec6c ) 803e9ca: fba2 2303 umull r2, r3, r2, r3 803e9ce: 09db lsrs r3, r3, #7 803e9d0: b2db uxtb r3, r3 803e9d2: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 / 10000); 803e9d6: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803e9da: 0953 lsrs r3, r2, #5 803e9dc: 49a3 ldr r1, [pc, #652] ; (803ec6c ) 803e9de: fba1 1303 umull r1, r3, r1, r3 803e9e2: 09db lsrs r3, r3, #7 803e9e4: 49a2 ldr r1, [pc, #648] ; (803ec70 ) 803e9e6: fb01 f303 mul.w r3, r1, r3 803e9ea: 1ad3 subs r3, r2, r3 803e9ec: 4aa1 ldr r2, [pc, #644] ; (803ec74 ) 803e9ee: fba2 2303 umull r2, r3, r2, r3 803e9f2: 0b5b lsrs r3, r3, #13 803e9f4: b2db uxtb r3, r3 803e9f6: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 / 1000); 803e9fa: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803e9fe: 0953 lsrs r3, r2, #5 803ea00: 499a ldr r1, [pc, #616] ; (803ec6c ) 803ea02: fba1 1303 umull r1, r3, r1, r3 803ea06: 09db lsrs r3, r3, #7 803ea08: 4999 ldr r1, [pc, #612] ; (803ec70 ) 803ea0a: fb01 f303 mul.w r3, r1, r3 803ea0e: 1ad3 subs r3, r2, r3 803ea10: 4a98 ldr r2, [pc, #608] ; (803ec74 ) 803ea12: fba2 1203 umull r1, r2, r2, r3 803ea16: 0b52 lsrs r2, r2, #13 803ea18: f242 7110 movw r1, #10000 ; 0x2710 803ea1c: fb01 f202 mul.w r2, r1, r2 803ea20: 1a9a subs r2, r3, r2 803ea22: 4b95 ldr r3, [pc, #596] ; (803ec78 ) 803ea24: fba3 2302 umull r2, r3, r3, r2 803ea28: 099b lsrs r3, r3, #6 803ea2a: b2db uxtb r3, r3 803ea2c: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 803ea30: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803ea34: 095a lsrs r2, r3, #5 803ea36: 498d ldr r1, [pc, #564] ; (803ec6c ) 803ea38: fba1 1202 umull r1, r2, r1, r2 803ea3c: 09d2 lsrs r2, r2, #7 803ea3e: 498c ldr r1, [pc, #560] ; (803ec70 ) 803ea40: fb01 f202 mul.w r2, r1, r2 803ea44: 1a9a subs r2, r3, r2 803ea46: 4b8b ldr r3, [pc, #556] ; (803ec74 ) 803ea48: fba3 1302 umull r1, r3, r3, r2 803ea4c: 0b5b lsrs r3, r3, #13 803ea4e: f242 7110 movw r1, #10000 ; 0x2710 803ea52: fb01 f303 mul.w r3, r1, r3 803ea56: 1ad3 subs r3, r2, r3 803ea58: 4a87 ldr r2, [pc, #540] ; (803ec78 ) 803ea5a: fba2 1203 umull r1, r2, r2, r3 803ea5e: 0992 lsrs r2, r2, #6 803ea60: f44f 717a mov.w r1, #1000 ; 0x3e8 803ea64: fb01 f202 mul.w r2, r1, r2 803ea68: 1a9a subs r2, r3, r2 803ea6a: 4b84 ldr r3, [pc, #528] ; (803ec7c ) 803ea6c: fba3 2302 umull r2, r3, r3, r2 803ea70: 095b lsrs r3, r3, #5 803ea72: b2db uxtb r3, r3 803ea74: f887 306e strb.w r3, [r7, #110] ; 0x6e iks = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 803ea78: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803ea7c: 0953 lsrs r3, r2, #5 803ea7e: 497b ldr r1, [pc, #492] ; (803ec6c ) 803ea80: fba1 1303 umull r1, r3, r1, r3 803ea84: 09db lsrs r3, r3, #7 803ea86: 497a ldr r1, [pc, #488] ; (803ec70 ) 803ea88: fb01 f303 mul.w r3, r1, r3 803ea8c: 1ad3 subs r3, r2, r3 803ea8e: 4a79 ldr r2, [pc, #484] ; (803ec74 ) 803ea90: fba2 1203 umull r1, r2, r2, r3 803ea94: 0b52 lsrs r2, r2, #13 803ea96: f242 7110 movw r1, #10000 ; 0x2710 803ea9a: fb01 f202 mul.w r2, r1, r2 803ea9e: 1a9a subs r2, r3, r2 803eaa0: 4b75 ldr r3, [pc, #468] ; (803ec78 ) 803eaa2: fba3 1302 umull r1, r3, r3, r2 803eaa6: 099b lsrs r3, r3, #6 803eaa8: f44f 717a mov.w r1, #1000 ; 0x3e8 803eaac: fb01 f303 mul.w r3, r1, r3 803eab0: 1ad3 subs r3, r2, r3 803eab2: 4a72 ldr r2, [pc, #456] ; (803ec7c ) 803eab4: fba2 1203 umull r1, r2, r2, r3 803eab8: 0952 lsrs r2, r2, #5 803eaba: 2164 movs r1, #100 ; 0x64 803eabc: fb01 f202 mul.w r2, r1, r2 803eac0: 1a9a subs r2, r3, r2 803eac2: 4b6f ldr r3, [pc, #444] ; (803ec80 ) 803eac4: fba3 2302 umull r2, r3, r3, r2 803eac8: 08db lsrs r3, r3, #3 803eaca: b2db uxtb r3, r3 803eacc: f887 306d strb.w r3, [r7, #109] ; 0x6d ikt = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 803ead0: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803ead4: 0953 lsrs r3, r2, #5 803ead6: 4965 ldr r1, [pc, #404] ; (803ec6c ) 803ead8: fba1 1303 umull r1, r3, r1, r3 803eadc: 09db lsrs r3, r3, #7 803eade: 4964 ldr r1, [pc, #400] ; (803ec70 ) 803eae0: fb01 f303 mul.w r3, r1, r3 803eae4: 1ad3 subs r3, r2, r3 803eae6: 4a63 ldr r2, [pc, #396] ; (803ec74 ) 803eae8: fba2 1203 umull r1, r2, r2, r3 803eaec: 0b52 lsrs r2, r2, #13 803eaee: f242 7110 movw r1, #10000 ; 0x2710 803eaf2: fb01 f202 mul.w r2, r1, r2 803eaf6: 1a9a subs r2, r3, r2 803eaf8: 4b5f ldr r3, [pc, #380] ; (803ec78 ) 803eafa: fba3 1302 umull r1, r3, r3, r2 803eafe: 099b lsrs r3, r3, #6 803eb00: f44f 717a mov.w r1, #1000 ; 0x3e8 803eb04: fb01 f303 mul.w r3, r1, r3 803eb08: 1ad3 subs r3, r2, r3 803eb0a: 4a5c ldr r2, [pc, #368] ; (803ec7c ) 803eb0c: fba2 1203 umull r1, r2, r2, r3 803eb10: 0952 lsrs r2, r2, #5 803eb12: 2164 movs r1, #100 ; 0x64 803eb14: fb01 f202 mul.w r2, r1, r2 803eb18: 1a9a subs r2, r3, r2 803eb1a: 4b59 ldr r3, [pc, #356] ; (803ec80 ) 803eb1c: fba3 1302 umull r1, r3, r3, r2 803eb20: 08d9 lsrs r1, r3, #3 803eb22: 460b mov r3, r1 803eb24: 009b lsls r3, r3, #2 803eb26: 440b add r3, r1 803eb28: 005b lsls r3, r3, #1 803eb2a: 1ad1 subs r1, r2, r3 803eb2c: b2cb uxtb r3, r1 803eb2e: f887 306c strb.w r3, [r7, #108] ; 0x6c switch(menupos) 803eb32: 4b4b ldr r3, [pc, #300] ; (803ec60 ) 803eb34: 781b ldrb r3, [r3, #0] 803eb36: b2db uxtb r3, r3 803eb38: 3b0a subs r3, #10 803eb3a: 2b05 cmp r3, #5 803eb3c: d869 bhi.n 803ec12 803eb3e: a201 add r2, pc, #4 ; (adr r2, 803eb44 ) 803eb40: f852 f023 ldr.w pc, [r2, r3, lsl #2] 803eb44: 0803eb5d .word 0x0803eb5d 803eb48: 0803eb7d .word 0x0803eb7d 803eb4c: 0803eb9f .word 0x0803eb9f 803eb50: 0803ebbf .word 0x0803ebbf 803eb54: 0803ebdb .word 0x0803ebdb 803eb58: 0803ebf7 .word 0x0803ebf7 if(k > 100000) k -= 100000; 803eb5c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803eb60: 4a43 ldr r2, [pc, #268] ; (803ec70 ) 803eb62: 4293 cmp r3, r2 803eb64: d906 bls.n 803eb74 803eb66: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803eb6a: 4b46 ldr r3, [pc, #280] ; (803ec84 ) 803eb6c: 4413 add r3, r2 803eb6e: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803eb72: e04e b.n 803ec12 else k = 0; 803eb74: 2300 movs r3, #0 803eb76: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803eb7a: e04a b.n 803ec12 if(k > 10000) k -= 10000; 803eb7c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803eb80: f242 7210 movw r2, #10000 ; 0x2710 803eb84: 4293 cmp r3, r2 803eb86: d906 bls.n 803eb96 803eb88: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803eb8c: 4b3e ldr r3, [pc, #248] ; (803ec88 ) 803eb8e: 4413 add r3, r2 803eb90: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803eb94: e03d b.n 803ec12 else k = 0; 803eb96: 2300 movs r3, #0 803eb98: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803eb9c: e039 b.n 803ec12 if(k > 1000) k -= 1000; 803eb9e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803eba2: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 803eba6: d906 bls.n 803ebb6 803eba8: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803ebac: f5a3 737a sub.w r3, r3, #1000 ; 0x3e8 803ebb0: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803ebb4: e02d b.n 803ec12 else k = 0; 803ebb6: 2300 movs r3, #0 803ebb8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803ebbc: e029 b.n 803ec12 if(k > 100) k -= 100; 803ebbe: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803ebc2: 2b64 cmp r3, #100 ; 0x64 803ebc4: d905 bls.n 803ebd2 803ebc6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803ebca: 3b64 subs r3, #100 ; 0x64 803ebcc: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803ebd0: e01f b.n 803ec12 else k = 0; 803ebd2: 2300 movs r3, #0 803ebd4: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803ebd8: e01b b.n 803ec12 if(k > 10) k -= 10; 803ebda: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803ebde: 2b0a cmp r3, #10 803ebe0: d905 bls.n 803ebee 803ebe2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803ebe6: 3b0a subs r3, #10 803ebe8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803ebec: e011 b.n 803ec12 else k = 0; 803ebee: 2300 movs r3, #0 803ebf0: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803ebf4: e00d b.n 803ec12 if(k > 1) k -= 1; 803ebf6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803ebfa: 2b01 cmp r3, #1 803ebfc: d905 bls.n 803ec0a 803ebfe: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803ec02: 3b01 subs r3, #1 803ec04: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803ec08: e002 b.n 803ec10 else k = 0; 803ec0a: 2300 movs r3, #0 803ec0c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803ec10: bf00 nop if(k == 0) k = 1; 803ec12: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803ec16: 2b00 cmp r3, #0 803ec18: d102 bne.n 803ec20 803ec1a: 2301 movs r3, #1 803ec1c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.D_ROLL = (float32_t) k; 803ec20: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803ec24: ee07 3a90 vmov s15, r3 803ec28: eef8 7a67 vcvt.f32.u32 s15, s15 803ec2c: 4b0d ldr r3, [pc, #52] ; (803ec64 ) 803ec2e: edc3 7a30 vstr s15, [r3, #192] ; 0xc0 pardata.D_ROLL *= 0.001f; 803ec32: 4b0c ldr r3, [pc, #48] ; (803ec64 ) 803ec34: edd3 7a30 vldr s15, [r3, #192] ; 0xc0 803ec38: ed9f 7a14 vldr s14, [pc, #80] ; 803ec8c 803ec3c: ee67 7a87 vmul.f32 s15, s15, s14 803ec40: 4b08 ldr r3, [pc, #32] ; (803ec64 ) 803ec42: edc3 7a30 vstr s15, [r3, #192] ; 0xc0 pardata.D_ROLL += 0.0005f; 803ec46: 4b07 ldr r3, [pc, #28] ; (803ec64 ) 803ec48: edd3 7a30 vldr s15, [r3, #192] ; 0xc0 803ec4c: ed9f 7a10 vldr s14, [pc, #64] ; 803ec90 803ec50: ee77 7a87 vadd.f32 s15, s15, s14 803ec54: 4b03 ldr r3, [pc, #12] ; (803ec64 ) 803ec56: edc3 7a30 vstr s15, [r3, #192] ; 0xc0 803ec5a: f000 bd59 b.w 803f710 803ec5e: bf00 nop 803ec60: 20020070 .word 0x20020070 803ec64: 20023e60 .word 0x20023e60 803ec68: 447a0000 .word 0x447a0000 803ec6c: 0a7c5ac5 .word 0x0a7c5ac5 803ec70: 000186a0 .word 0x000186a0 803ec74: d1b71759 .word 0xd1b71759 803ec78: 10624dd3 .word 0x10624dd3 803ec7c: 51eb851f .word 0x51eb851f 803ec80: cccccccd .word 0xcccccccd 803ec84: fffe7960 .word 0xfffe7960 803ec88: ffffd8f0 .word 0xffffd8f0 803ec8c: 3a83126f .word 0x3a83126f 803ec90: 3a03126f .word 0x3a03126f if((menupos >= D_Outer_IES) && (menupos <= D_Outer_IKT)) 803ec94: 4bb2 ldr r3, [pc, #712] ; (803ef60 ) 803ec96: 781b ldrb r3, [r3, #0] 803ec98: b2db uxtb r3, r3 803ec9a: 2b0f cmp r3, #15 803ec9c: f240 817a bls.w 803ef94 803eca0: 4baf ldr r3, [pc, #700] ; (803ef60 ) 803eca2: 781b ldrb r3, [r3, #0] 803eca4: b2db uxtb r3, r3 803eca6: 2b15 cmp r3, #21 803eca8: f200 8174 bhi.w 803ef94 k = (uint32_t) (pardata.D_OUTER * 1000.0f); 803ecac: 4bad ldr r3, [pc, #692] ; (803ef64 ) 803ecae: edd3 7a31 vldr s15, [r3, #196] ; 0xc4 803ecb2: ed9f 7aad vldr s14, [pc, #692] ; 803ef68 803ecb6: ee67 7a87 vmul.f32 s15, s15, s14 803ecba: eefc 7ae7 vcvt.u32.f32 s15, s15 803ecbe: ee17 3a90 vmov r3, s15 803ecc2: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 ies = (uint8_t) (k / 100000); 803ecc6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803ecca: 095b lsrs r3, r3, #5 803eccc: 4aa7 ldr r2, [pc, #668] ; (803ef6c ) 803ecce: fba2 2303 umull r2, r3, r2, r3 803ecd2: 09db lsrs r3, r3, #7 803ecd4: b2db uxtb r3, r3 803ecd6: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 / 10000); 803ecda: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803ecde: 0953 lsrs r3, r2, #5 803ece0: 49a2 ldr r1, [pc, #648] ; (803ef6c ) 803ece2: fba1 1303 umull r1, r3, r1, r3 803ece6: 09db lsrs r3, r3, #7 803ece8: 49a1 ldr r1, [pc, #644] ; (803ef70 ) 803ecea: fb01 f303 mul.w r3, r1, r3 803ecee: 1ad3 subs r3, r2, r3 803ecf0: 4aa0 ldr r2, [pc, #640] ; (803ef74 ) 803ecf2: fba2 2303 umull r2, r3, r2, r3 803ecf6: 0b5b lsrs r3, r3, #13 803ecf8: b2db uxtb r3, r3 803ecfa: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 / 1000); 803ecfe: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803ed02: 0953 lsrs r3, r2, #5 803ed04: 4999 ldr r1, [pc, #612] ; (803ef6c ) 803ed06: fba1 1303 umull r1, r3, r1, r3 803ed0a: 09db lsrs r3, r3, #7 803ed0c: 4998 ldr r1, [pc, #608] ; (803ef70 ) 803ed0e: fb01 f303 mul.w r3, r1, r3 803ed12: 1ad3 subs r3, r2, r3 803ed14: 4a97 ldr r2, [pc, #604] ; (803ef74 ) 803ed16: fba2 1203 umull r1, r2, r2, r3 803ed1a: 0b52 lsrs r2, r2, #13 803ed1c: f242 7110 movw r1, #10000 ; 0x2710 803ed20: fb01 f202 mul.w r2, r1, r2 803ed24: 1a9a subs r2, r3, r2 803ed26: 4b94 ldr r3, [pc, #592] ; (803ef78 ) 803ed28: fba3 2302 umull r2, r3, r3, r2 803ed2c: 099b lsrs r3, r3, #6 803ed2e: b2db uxtb r3, r3 803ed30: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 803ed34: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803ed38: 095a lsrs r2, r3, #5 803ed3a: 498c ldr r1, [pc, #560] ; (803ef6c ) 803ed3c: fba1 1202 umull r1, r2, r1, r2 803ed40: 09d2 lsrs r2, r2, #7 803ed42: 498b ldr r1, [pc, #556] ; (803ef70 ) 803ed44: fb01 f202 mul.w r2, r1, r2 803ed48: 1a9a subs r2, r3, r2 803ed4a: 4b8a ldr r3, [pc, #552] ; (803ef74 ) 803ed4c: fba3 1302 umull r1, r3, r3, r2 803ed50: 0b5b lsrs r3, r3, #13 803ed52: f242 7110 movw r1, #10000 ; 0x2710 803ed56: fb01 f303 mul.w r3, r1, r3 803ed5a: 1ad3 subs r3, r2, r3 803ed5c: 4a86 ldr r2, [pc, #536] ; (803ef78 ) 803ed5e: fba2 1203 umull r1, r2, r2, r3 803ed62: 0992 lsrs r2, r2, #6 803ed64: f44f 717a mov.w r1, #1000 ; 0x3e8 803ed68: fb01 f202 mul.w r2, r1, r2 803ed6c: 1a9a subs r2, r3, r2 803ed6e: 4b83 ldr r3, [pc, #524] ; (803ef7c ) 803ed70: fba3 2302 umull r2, r3, r3, r2 803ed74: 095b lsrs r3, r3, #5 803ed76: b2db uxtb r3, r3 803ed78: f887 306e strb.w r3, [r7, #110] ; 0x6e iks = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 803ed7c: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803ed80: 0953 lsrs r3, r2, #5 803ed82: 497a ldr r1, [pc, #488] ; (803ef6c ) 803ed84: fba1 1303 umull r1, r3, r1, r3 803ed88: 09db lsrs r3, r3, #7 803ed8a: 4979 ldr r1, [pc, #484] ; (803ef70 ) 803ed8c: fb01 f303 mul.w r3, r1, r3 803ed90: 1ad3 subs r3, r2, r3 803ed92: 4a78 ldr r2, [pc, #480] ; (803ef74 ) 803ed94: fba2 1203 umull r1, r2, r2, r3 803ed98: 0b52 lsrs r2, r2, #13 803ed9a: f242 7110 movw r1, #10000 ; 0x2710 803ed9e: fb01 f202 mul.w r2, r1, r2 803eda2: 1a9a subs r2, r3, r2 803eda4: 4b74 ldr r3, [pc, #464] ; (803ef78 ) 803eda6: fba3 1302 umull r1, r3, r3, r2 803edaa: 099b lsrs r3, r3, #6 803edac: f44f 717a mov.w r1, #1000 ; 0x3e8 803edb0: fb01 f303 mul.w r3, r1, r3 803edb4: 1ad3 subs r3, r2, r3 803edb6: 4a71 ldr r2, [pc, #452] ; (803ef7c ) 803edb8: fba2 1203 umull r1, r2, r2, r3 803edbc: 0952 lsrs r2, r2, #5 803edbe: 2164 movs r1, #100 ; 0x64 803edc0: fb01 f202 mul.w r2, r1, r2 803edc4: 1a9a subs r2, r3, r2 803edc6: 4b6e ldr r3, [pc, #440] ; (803ef80 ) 803edc8: fba3 2302 umull r2, r3, r3, r2 803edcc: 08db lsrs r3, r3, #3 803edce: b2db uxtb r3, r3 803edd0: f887 306d strb.w r3, [r7, #109] ; 0x6d ikt = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 803edd4: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803edd8: 0953 lsrs r3, r2, #5 803edda: 4964 ldr r1, [pc, #400] ; (803ef6c ) 803eddc: fba1 1303 umull r1, r3, r1, r3 803ede0: 09db lsrs r3, r3, #7 803ede2: 4963 ldr r1, [pc, #396] ; (803ef70 ) 803ede4: fb01 f303 mul.w r3, r1, r3 803ede8: 1ad3 subs r3, r2, r3 803edea: 4a62 ldr r2, [pc, #392] ; (803ef74 ) 803edec: fba2 1203 umull r1, r2, r2, r3 803edf0: 0b52 lsrs r2, r2, #13 803edf2: f242 7110 movw r1, #10000 ; 0x2710 803edf6: fb01 f202 mul.w r2, r1, r2 803edfa: 1a9a subs r2, r3, r2 803edfc: 4b5e ldr r3, [pc, #376] ; (803ef78 ) 803edfe: fba3 1302 umull r1, r3, r3, r2 803ee02: 099b lsrs r3, r3, #6 803ee04: f44f 717a mov.w r1, #1000 ; 0x3e8 803ee08: fb01 f303 mul.w r3, r1, r3 803ee0c: 1ad3 subs r3, r2, r3 803ee0e: 4a5b ldr r2, [pc, #364] ; (803ef7c ) 803ee10: fba2 1203 umull r1, r2, r2, r3 803ee14: 0952 lsrs r2, r2, #5 803ee16: 2164 movs r1, #100 ; 0x64 803ee18: fb01 f202 mul.w r2, r1, r2 803ee1c: 1a9a subs r2, r3, r2 803ee1e: 4b58 ldr r3, [pc, #352] ; (803ef80 ) 803ee20: fba3 1302 umull r1, r3, r3, r2 803ee24: 08d9 lsrs r1, r3, #3 803ee26: 460b mov r3, r1 803ee28: 009b lsls r3, r3, #2 803ee2a: 440b add r3, r1 803ee2c: 005b lsls r3, r3, #1 803ee2e: 1ad1 subs r1, r2, r3 803ee30: b2cb uxtb r3, r1 803ee32: f887 306c strb.w r3, [r7, #108] ; 0x6c switch(menupos) 803ee36: 4b4a ldr r3, [pc, #296] ; (803ef60 ) 803ee38: 781b ldrb r3, [r3, #0] 803ee3a: b2db uxtb r3, r3 803ee3c: 3b10 subs r3, #16 803ee3e: 2b05 cmp r3, #5 803ee40: d869 bhi.n 803ef16 803ee42: a201 add r2, pc, #4 ; (adr r2, 803ee48 ) 803ee44: f852 f023 ldr.w pc, [r2, r3, lsl #2] 803ee48: 0803ee61 .word 0x0803ee61 803ee4c: 0803ee81 .word 0x0803ee81 803ee50: 0803eea3 .word 0x0803eea3 803ee54: 0803eec3 .word 0x0803eec3 803ee58: 0803eedf .word 0x0803eedf 803ee5c: 0803eefb .word 0x0803eefb if(k > 100000) k -= 100000; 803ee60: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803ee64: 4a42 ldr r2, [pc, #264] ; (803ef70 ) 803ee66: 4293 cmp r3, r2 803ee68: d906 bls.n 803ee78 803ee6a: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803ee6e: 4b45 ldr r3, [pc, #276] ; (803ef84 ) 803ee70: 4413 add r3, r2 803ee72: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803ee76: e04e b.n 803ef16 else k = 0; 803ee78: 2300 movs r3, #0 803ee7a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803ee7e: e04a b.n 803ef16 if(k > 10000) k -= 10000; 803ee80: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803ee84: f242 7210 movw r2, #10000 ; 0x2710 803ee88: 4293 cmp r3, r2 803ee8a: d906 bls.n 803ee9a 803ee8c: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803ee90: 4b3d ldr r3, [pc, #244] ; (803ef88 ) 803ee92: 4413 add r3, r2 803ee94: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803ee98: e03d b.n 803ef16 else k = 0; 803ee9a: 2300 movs r3, #0 803ee9c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803eea0: e039 b.n 803ef16 if(k > 1000) k -= 1000; 803eea2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803eea6: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 803eeaa: d906 bls.n 803eeba 803eeac: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803eeb0: f5a3 737a sub.w r3, r3, #1000 ; 0x3e8 803eeb4: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803eeb8: e02d b.n 803ef16 else k = 0; 803eeba: 2300 movs r3, #0 803eebc: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803eec0: e029 b.n 803ef16 if(k > 100) k -= 100; 803eec2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803eec6: 2b64 cmp r3, #100 ; 0x64 803eec8: d905 bls.n 803eed6 803eeca: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803eece: 3b64 subs r3, #100 ; 0x64 803eed0: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803eed4: e01f b.n 803ef16 else k = 0; 803eed6: 2300 movs r3, #0 803eed8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803eedc: e01b b.n 803ef16 if(k > 10) k -= 10; 803eede: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803eee2: 2b0a cmp r3, #10 803eee4: d905 bls.n 803eef2 803eee6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803eeea: 3b0a subs r3, #10 803eeec: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803eef0: e011 b.n 803ef16 else k = 0; 803eef2: 2300 movs r3, #0 803eef4: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803eef8: e00d b.n 803ef16 if(k > 1) k -= 1; 803eefa: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803eefe: 2b01 cmp r3, #1 803ef00: d905 bls.n 803ef0e 803ef02: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803ef06: 3b01 subs r3, #1 803ef08: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803ef0c: e002 b.n 803ef14 else k = 0; 803ef0e: 2300 movs r3, #0 803ef10: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803ef14: bf00 nop if(k == 0) k = 1; 803ef16: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803ef1a: 2b00 cmp r3, #0 803ef1c: d102 bne.n 803ef24 803ef1e: 2301 movs r3, #1 803ef20: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.D_OUTER = (float32_t) k; 803ef24: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803ef28: ee07 3a90 vmov s15, r3 803ef2c: eef8 7a67 vcvt.f32.u32 s15, s15 803ef30: 4b0c ldr r3, [pc, #48] ; (803ef64 ) 803ef32: edc3 7a31 vstr s15, [r3, #196] ; 0xc4 pardata.D_OUTER *= 0.001f; 803ef36: 4b0b ldr r3, [pc, #44] ; (803ef64 ) 803ef38: edd3 7a31 vldr s15, [r3, #196] ; 0xc4 803ef3c: ed9f 7a13 vldr s14, [pc, #76] ; 803ef8c 803ef40: ee67 7a87 vmul.f32 s15, s15, s14 803ef44: 4b07 ldr r3, [pc, #28] ; (803ef64 ) 803ef46: edc3 7a31 vstr s15, [r3, #196] ; 0xc4 pardata.D_OUTER += 0.0005f; 803ef4a: 4b06 ldr r3, [pc, #24] ; (803ef64 ) 803ef4c: edd3 7a31 vldr s15, [r3, #196] ; 0xc4 803ef50: ed9f 7a0f vldr s14, [pc, #60] ; 803ef90 803ef54: ee77 7a87 vadd.f32 s15, s15, s14 803ef58: 4b02 ldr r3, [pc, #8] ; (803ef64 ) 803ef5a: edc3 7a31 vstr s15, [r3, #196] ; 0xc4 803ef5e: e3d7 b.n 803f710 803ef60: 20020070 .word 0x20020070 803ef64: 20023e60 .word 0x20023e60 803ef68: 447a0000 .word 0x447a0000 803ef6c: 0a7c5ac5 .word 0x0a7c5ac5 803ef70: 000186a0 .word 0x000186a0 803ef74: d1b71759 .word 0xd1b71759 803ef78: 10624dd3 .word 0x10624dd3 803ef7c: 51eb851f .word 0x51eb851f 803ef80: cccccccd .word 0xcccccccd 803ef84: fffe7960 .word 0xfffe7960 803ef88: ffffd8f0 .word 0xffffd8f0 803ef8c: 3a83126f .word 0x3a83126f 803ef90: 3a03126f .word 0x3a03126f if((menupos >= D_Inner_IES) && (menupos <= D_Inner_IKT)) 803ef94: 4bb2 ldr r3, [pc, #712] ; (803f260 ) 803ef96: 781b ldrb r3, [r3, #0] 803ef98: b2db uxtb r3, r3 803ef9a: 2b15 cmp r3, #21 803ef9c: f240 817a bls.w 803f294 803efa0: 4baf ldr r3, [pc, #700] ; (803f260 ) 803efa2: 781b ldrb r3, [r3, #0] 803efa4: b2db uxtb r3, r3 803efa6: 2b1b cmp r3, #27 803efa8: f200 8174 bhi.w 803f294 k = (uint32_t) (pardata.D_INNER * 1000.0f); 803efac: 4bad ldr r3, [pc, #692] ; (803f264 ) 803efae: edd3 7a32 vldr s15, [r3, #200] ; 0xc8 803efb2: ed9f 7aad vldr s14, [pc, #692] ; 803f268 803efb6: ee67 7a87 vmul.f32 s15, s15, s14 803efba: eefc 7ae7 vcvt.u32.f32 s15, s15 803efbe: ee17 3a90 vmov r3, s15 803efc2: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 ies = (uint8_t) (k / 100000); 803efc6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803efca: 095b lsrs r3, r3, #5 803efcc: 4aa7 ldr r2, [pc, #668] ; (803f26c ) 803efce: fba2 2303 umull r2, r3, r2, r3 803efd2: 09db lsrs r3, r3, #7 803efd4: b2db uxtb r3, r3 803efd6: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 / 10000); 803efda: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803efde: 0953 lsrs r3, r2, #5 803efe0: 49a2 ldr r1, [pc, #648] ; (803f26c ) 803efe2: fba1 1303 umull r1, r3, r1, r3 803efe6: 09db lsrs r3, r3, #7 803efe8: 49a1 ldr r1, [pc, #644] ; (803f270 ) 803efea: fb01 f303 mul.w r3, r1, r3 803efee: 1ad3 subs r3, r2, r3 803eff0: 4aa0 ldr r2, [pc, #640] ; (803f274 ) 803eff2: fba2 2303 umull r2, r3, r2, r3 803eff6: 0b5b lsrs r3, r3, #13 803eff8: b2db uxtb r3, r3 803effa: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 / 1000); 803effe: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803f002: 0953 lsrs r3, r2, #5 803f004: 4999 ldr r1, [pc, #612] ; (803f26c ) 803f006: fba1 1303 umull r1, r3, r1, r3 803f00a: 09db lsrs r3, r3, #7 803f00c: 4998 ldr r1, [pc, #608] ; (803f270 ) 803f00e: fb01 f303 mul.w r3, r1, r3 803f012: 1ad3 subs r3, r2, r3 803f014: 4a97 ldr r2, [pc, #604] ; (803f274 ) 803f016: fba2 1203 umull r1, r2, r2, r3 803f01a: 0b52 lsrs r2, r2, #13 803f01c: f242 7110 movw r1, #10000 ; 0x2710 803f020: fb01 f202 mul.w r2, r1, r2 803f024: 1a9a subs r2, r3, r2 803f026: 4b94 ldr r3, [pc, #592] ; (803f278 ) 803f028: fba3 2302 umull r2, r3, r3, r2 803f02c: 099b lsrs r3, r3, #6 803f02e: b2db uxtb r3, r3 803f030: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 803f034: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f038: 095a lsrs r2, r3, #5 803f03a: 498c ldr r1, [pc, #560] ; (803f26c ) 803f03c: fba1 1202 umull r1, r2, r1, r2 803f040: 09d2 lsrs r2, r2, #7 803f042: 498b ldr r1, [pc, #556] ; (803f270 ) 803f044: fb01 f202 mul.w r2, r1, r2 803f048: 1a9a subs r2, r3, r2 803f04a: 4b8a ldr r3, [pc, #552] ; (803f274 ) 803f04c: fba3 1302 umull r1, r3, r3, r2 803f050: 0b5b lsrs r3, r3, #13 803f052: f242 7110 movw r1, #10000 ; 0x2710 803f056: fb01 f303 mul.w r3, r1, r3 803f05a: 1ad3 subs r3, r2, r3 803f05c: 4a86 ldr r2, [pc, #536] ; (803f278 ) 803f05e: fba2 1203 umull r1, r2, r2, r3 803f062: 0992 lsrs r2, r2, #6 803f064: f44f 717a mov.w r1, #1000 ; 0x3e8 803f068: fb01 f202 mul.w r2, r1, r2 803f06c: 1a9a subs r2, r3, r2 803f06e: 4b83 ldr r3, [pc, #524] ; (803f27c ) 803f070: fba3 2302 umull r2, r3, r3, r2 803f074: 095b lsrs r3, r3, #5 803f076: b2db uxtb r3, r3 803f078: f887 306e strb.w r3, [r7, #110] ; 0x6e iks = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 803f07c: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803f080: 0953 lsrs r3, r2, #5 803f082: 497a ldr r1, [pc, #488] ; (803f26c ) 803f084: fba1 1303 umull r1, r3, r1, r3 803f088: 09db lsrs r3, r3, #7 803f08a: 4979 ldr r1, [pc, #484] ; (803f270 ) 803f08c: fb01 f303 mul.w r3, r1, r3 803f090: 1ad3 subs r3, r2, r3 803f092: 4a78 ldr r2, [pc, #480] ; (803f274 ) 803f094: fba2 1203 umull r1, r2, r2, r3 803f098: 0b52 lsrs r2, r2, #13 803f09a: f242 7110 movw r1, #10000 ; 0x2710 803f09e: fb01 f202 mul.w r2, r1, r2 803f0a2: 1a9a subs r2, r3, r2 803f0a4: 4b74 ldr r3, [pc, #464] ; (803f278 ) 803f0a6: fba3 1302 umull r1, r3, r3, r2 803f0aa: 099b lsrs r3, r3, #6 803f0ac: f44f 717a mov.w r1, #1000 ; 0x3e8 803f0b0: fb01 f303 mul.w r3, r1, r3 803f0b4: 1ad3 subs r3, r2, r3 803f0b6: 4a71 ldr r2, [pc, #452] ; (803f27c ) 803f0b8: fba2 1203 umull r1, r2, r2, r3 803f0bc: 0952 lsrs r2, r2, #5 803f0be: 2164 movs r1, #100 ; 0x64 803f0c0: fb01 f202 mul.w r2, r1, r2 803f0c4: 1a9a subs r2, r3, r2 803f0c6: 4b6e ldr r3, [pc, #440] ; (803f280 ) 803f0c8: fba3 2302 umull r2, r3, r3, r2 803f0cc: 08db lsrs r3, r3, #3 803f0ce: b2db uxtb r3, r3 803f0d0: f887 306d strb.w r3, [r7, #109] ; 0x6d ikt = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 803f0d4: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803f0d8: 0953 lsrs r3, r2, #5 803f0da: 4964 ldr r1, [pc, #400] ; (803f26c ) 803f0dc: fba1 1303 umull r1, r3, r1, r3 803f0e0: 09db lsrs r3, r3, #7 803f0e2: 4963 ldr r1, [pc, #396] ; (803f270 ) 803f0e4: fb01 f303 mul.w r3, r1, r3 803f0e8: 1ad3 subs r3, r2, r3 803f0ea: 4a62 ldr r2, [pc, #392] ; (803f274 ) 803f0ec: fba2 1203 umull r1, r2, r2, r3 803f0f0: 0b52 lsrs r2, r2, #13 803f0f2: f242 7110 movw r1, #10000 ; 0x2710 803f0f6: fb01 f202 mul.w r2, r1, r2 803f0fa: 1a9a subs r2, r3, r2 803f0fc: 4b5e ldr r3, [pc, #376] ; (803f278 ) 803f0fe: fba3 1302 umull r1, r3, r3, r2 803f102: 099b lsrs r3, r3, #6 803f104: f44f 717a mov.w r1, #1000 ; 0x3e8 803f108: fb01 f303 mul.w r3, r1, r3 803f10c: 1ad3 subs r3, r2, r3 803f10e: 4a5b ldr r2, [pc, #364] ; (803f27c ) 803f110: fba2 1203 umull r1, r2, r2, r3 803f114: 0952 lsrs r2, r2, #5 803f116: 2164 movs r1, #100 ; 0x64 803f118: fb01 f202 mul.w r2, r1, r2 803f11c: 1a9a subs r2, r3, r2 803f11e: 4b58 ldr r3, [pc, #352] ; (803f280 ) 803f120: fba3 1302 umull r1, r3, r3, r2 803f124: 08d9 lsrs r1, r3, #3 803f126: 460b mov r3, r1 803f128: 009b lsls r3, r3, #2 803f12a: 440b add r3, r1 803f12c: 005b lsls r3, r3, #1 803f12e: 1ad1 subs r1, r2, r3 803f130: b2cb uxtb r3, r1 803f132: f887 306c strb.w r3, [r7, #108] ; 0x6c switch(menupos) 803f136: 4b4a ldr r3, [pc, #296] ; (803f260 ) 803f138: 781b ldrb r3, [r3, #0] 803f13a: b2db uxtb r3, r3 803f13c: 3b16 subs r3, #22 803f13e: 2b05 cmp r3, #5 803f140: d869 bhi.n 803f216 803f142: a201 add r2, pc, #4 ; (adr r2, 803f148 ) 803f144: f852 f023 ldr.w pc, [r2, r3, lsl #2] 803f148: 0803f161 .word 0x0803f161 803f14c: 0803f181 .word 0x0803f181 803f150: 0803f1a3 .word 0x0803f1a3 803f154: 0803f1c3 .word 0x0803f1c3 803f158: 0803f1df .word 0x0803f1df 803f15c: 0803f1fb .word 0x0803f1fb if(k > 100000) k -= 100000; 803f160: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f164: 4a42 ldr r2, [pc, #264] ; (803f270 ) 803f166: 4293 cmp r3, r2 803f168: d906 bls.n 803f178 803f16a: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803f16e: 4b45 ldr r3, [pc, #276] ; (803f284 ) 803f170: 4413 add r3, r2 803f172: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803f176: e04e b.n 803f216 else k = 0; 803f178: 2300 movs r3, #0 803f17a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803f17e: e04a b.n 803f216 if(k > 10000) k -= 10000; 803f180: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f184: f242 7210 movw r2, #10000 ; 0x2710 803f188: 4293 cmp r3, r2 803f18a: d906 bls.n 803f19a 803f18c: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803f190: 4b3d ldr r3, [pc, #244] ; (803f288 ) 803f192: 4413 add r3, r2 803f194: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803f198: e03d b.n 803f216 else k = 0; 803f19a: 2300 movs r3, #0 803f19c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803f1a0: e039 b.n 803f216 if(k > 1000) k -= 1000; 803f1a2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f1a6: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 803f1aa: d906 bls.n 803f1ba 803f1ac: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f1b0: f5a3 737a sub.w r3, r3, #1000 ; 0x3e8 803f1b4: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803f1b8: e02d b.n 803f216 else k = 0; 803f1ba: 2300 movs r3, #0 803f1bc: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803f1c0: e029 b.n 803f216 if(k > 100) k -= 100; 803f1c2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f1c6: 2b64 cmp r3, #100 ; 0x64 803f1c8: d905 bls.n 803f1d6 803f1ca: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f1ce: 3b64 subs r3, #100 ; 0x64 803f1d0: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803f1d4: e01f b.n 803f216 else k = 0; 803f1d6: 2300 movs r3, #0 803f1d8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803f1dc: e01b b.n 803f216 if(k > 10) k -= 10; 803f1de: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f1e2: 2b0a cmp r3, #10 803f1e4: d905 bls.n 803f1f2 803f1e6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f1ea: 3b0a subs r3, #10 803f1ec: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803f1f0: e011 b.n 803f216 else k = 0; 803f1f2: 2300 movs r3, #0 803f1f4: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803f1f8: e00d b.n 803f216 if(k > 1) k -= 1; 803f1fa: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f1fe: 2b01 cmp r3, #1 803f200: d905 bls.n 803f20e 803f202: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f206: 3b01 subs r3, #1 803f208: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803f20c: e002 b.n 803f214 else k = 0; 803f20e: 2300 movs r3, #0 803f210: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803f214: bf00 nop if(k == 0) k = 1; 803f216: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f21a: 2b00 cmp r3, #0 803f21c: d102 bne.n 803f224 803f21e: 2301 movs r3, #1 803f220: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.D_INNER = (float32_t) k; 803f224: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f228: ee07 3a90 vmov s15, r3 803f22c: eef8 7a67 vcvt.f32.u32 s15, s15 803f230: 4b0c ldr r3, [pc, #48] ; (803f264 ) 803f232: edc3 7a32 vstr s15, [r3, #200] ; 0xc8 pardata.D_INNER *= 0.001f; 803f236: 4b0b ldr r3, [pc, #44] ; (803f264 ) 803f238: edd3 7a32 vldr s15, [r3, #200] ; 0xc8 803f23c: ed9f 7a13 vldr s14, [pc, #76] ; 803f28c 803f240: ee67 7a87 vmul.f32 s15, s15, s14 803f244: 4b07 ldr r3, [pc, #28] ; (803f264 ) 803f246: edc3 7a32 vstr s15, [r3, #200] ; 0xc8 pardata.D_INNER += 0.0005f; 803f24a: 4b06 ldr r3, [pc, #24] ; (803f264 ) 803f24c: edd3 7a32 vldr s15, [r3, #200] ; 0xc8 803f250: ed9f 7a0f vldr s14, [pc, #60] ; 803f290 803f254: ee77 7a87 vadd.f32 s15, s15, s14 803f258: 4b02 ldr r3, [pc, #8] ; (803f264 ) 803f25a: edc3 7a32 vstr s15, [r3, #200] ; 0xc8 803f25e: e257 b.n 803f710 803f260: 20020070 .word 0x20020070 803f264: 20023e60 .word 0x20023e60 803f268: 447a0000 .word 0x447a0000 803f26c: 0a7c5ac5 .word 0x0a7c5ac5 803f270: 000186a0 .word 0x000186a0 803f274: d1b71759 .word 0xd1b71759 803f278: 10624dd3 .word 0x10624dd3 803f27c: 51eb851f .word 0x51eb851f 803f280: cccccccd .word 0xcccccccd 803f284: fffe7960 .word 0xfffe7960 803f288: ffffd8f0 .word 0xffffd8f0 803f28c: 3a83126f .word 0x3a83126f 803f290: 3a03126f .word 0x3a03126f if((menupos >= D_Angle_IES) && (menupos <= D_Angle_IKT)) 803f294: 4bb2 ldr r3, [pc, #712] ; (803f560 ) 803f296: 781b ldrb r3, [r3, #0] 803f298: b2db uxtb r3, r3 803f29a: 2b1b cmp r3, #27 803f29c: f240 817a bls.w 803f594 803f2a0: 4baf ldr r3, [pc, #700] ; (803f560 ) 803f2a2: 781b ldrb r3, [r3, #0] 803f2a4: b2db uxtb r3, r3 803f2a6: 2b21 cmp r3, #33 ; 0x21 803f2a8: f200 8174 bhi.w 803f594 k = (uint32_t) (pardata.D_ANGLE * 1000.0f); 803f2ac: 4bad ldr r3, [pc, #692] ; (803f564 ) 803f2ae: edd3 7a33 vldr s15, [r3, #204] ; 0xcc 803f2b2: ed9f 7aad vldr s14, [pc, #692] ; 803f568 803f2b6: ee67 7a87 vmul.f32 s15, s15, s14 803f2ba: eefc 7ae7 vcvt.u32.f32 s15, s15 803f2be: ee17 3a90 vmov r3, s15 803f2c2: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 ies = (uint8_t) (k / 100000); 803f2c6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f2ca: 095b lsrs r3, r3, #5 803f2cc: 4aa7 ldr r2, [pc, #668] ; (803f56c ) 803f2ce: fba2 2303 umull r2, r3, r2, r3 803f2d2: 09db lsrs r3, r3, #7 803f2d4: b2db uxtb r3, r3 803f2d6: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 / 10000); 803f2da: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803f2de: 0953 lsrs r3, r2, #5 803f2e0: 49a2 ldr r1, [pc, #648] ; (803f56c ) 803f2e2: fba1 1303 umull r1, r3, r1, r3 803f2e6: 09db lsrs r3, r3, #7 803f2e8: 49a1 ldr r1, [pc, #644] ; (803f570 ) 803f2ea: fb01 f303 mul.w r3, r1, r3 803f2ee: 1ad3 subs r3, r2, r3 803f2f0: 4aa0 ldr r2, [pc, #640] ; (803f574 ) 803f2f2: fba2 2303 umull r2, r3, r2, r3 803f2f6: 0b5b lsrs r3, r3, #13 803f2f8: b2db uxtb r3, r3 803f2fa: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 / 1000); 803f2fe: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803f302: 0953 lsrs r3, r2, #5 803f304: 4999 ldr r1, [pc, #612] ; (803f56c ) 803f306: fba1 1303 umull r1, r3, r1, r3 803f30a: 09db lsrs r3, r3, #7 803f30c: 4998 ldr r1, [pc, #608] ; (803f570 ) 803f30e: fb01 f303 mul.w r3, r1, r3 803f312: 1ad3 subs r3, r2, r3 803f314: 4a97 ldr r2, [pc, #604] ; (803f574 ) 803f316: fba2 1203 umull r1, r2, r2, r3 803f31a: 0b52 lsrs r2, r2, #13 803f31c: f242 7110 movw r1, #10000 ; 0x2710 803f320: fb01 f202 mul.w r2, r1, r2 803f324: 1a9a subs r2, r3, r2 803f326: 4b94 ldr r3, [pc, #592] ; (803f578 ) 803f328: fba3 2302 umull r2, r3, r3, r2 803f32c: 099b lsrs r3, r3, #6 803f32e: b2db uxtb r3, r3 803f330: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 803f334: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f338: 095a lsrs r2, r3, #5 803f33a: 498c ldr r1, [pc, #560] ; (803f56c ) 803f33c: fba1 1202 umull r1, r2, r1, r2 803f340: 09d2 lsrs r2, r2, #7 803f342: 498b ldr r1, [pc, #556] ; (803f570 ) 803f344: fb01 f202 mul.w r2, r1, r2 803f348: 1a9a subs r2, r3, r2 803f34a: 4b8a ldr r3, [pc, #552] ; (803f574 ) 803f34c: fba3 1302 umull r1, r3, r3, r2 803f350: 0b5b lsrs r3, r3, #13 803f352: f242 7110 movw r1, #10000 ; 0x2710 803f356: fb01 f303 mul.w r3, r1, r3 803f35a: 1ad3 subs r3, r2, r3 803f35c: 4a86 ldr r2, [pc, #536] ; (803f578 ) 803f35e: fba2 1203 umull r1, r2, r2, r3 803f362: 0992 lsrs r2, r2, #6 803f364: f44f 717a mov.w r1, #1000 ; 0x3e8 803f368: fb01 f202 mul.w r2, r1, r2 803f36c: 1a9a subs r2, r3, r2 803f36e: 4b83 ldr r3, [pc, #524] ; (803f57c ) 803f370: fba3 2302 umull r2, r3, r3, r2 803f374: 095b lsrs r3, r3, #5 803f376: b2db uxtb r3, r3 803f378: f887 306e strb.w r3, [r7, #110] ; 0x6e iks = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 803f37c: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803f380: 0953 lsrs r3, r2, #5 803f382: 497a ldr r1, [pc, #488] ; (803f56c ) 803f384: fba1 1303 umull r1, r3, r1, r3 803f388: 09db lsrs r3, r3, #7 803f38a: 4979 ldr r1, [pc, #484] ; (803f570 ) 803f38c: fb01 f303 mul.w r3, r1, r3 803f390: 1ad3 subs r3, r2, r3 803f392: 4a78 ldr r2, [pc, #480] ; (803f574 ) 803f394: fba2 1203 umull r1, r2, r2, r3 803f398: 0b52 lsrs r2, r2, #13 803f39a: f242 7110 movw r1, #10000 ; 0x2710 803f39e: fb01 f202 mul.w r2, r1, r2 803f3a2: 1a9a subs r2, r3, r2 803f3a4: 4b74 ldr r3, [pc, #464] ; (803f578 ) 803f3a6: fba3 1302 umull r1, r3, r3, r2 803f3aa: 099b lsrs r3, r3, #6 803f3ac: f44f 717a mov.w r1, #1000 ; 0x3e8 803f3b0: fb01 f303 mul.w r3, r1, r3 803f3b4: 1ad3 subs r3, r2, r3 803f3b6: 4a71 ldr r2, [pc, #452] ; (803f57c ) 803f3b8: fba2 1203 umull r1, r2, r2, r3 803f3bc: 0952 lsrs r2, r2, #5 803f3be: 2164 movs r1, #100 ; 0x64 803f3c0: fb01 f202 mul.w r2, r1, r2 803f3c4: 1a9a subs r2, r3, r2 803f3c6: 4b6e ldr r3, [pc, #440] ; (803f580 ) 803f3c8: fba3 2302 umull r2, r3, r3, r2 803f3cc: 08db lsrs r3, r3, #3 803f3ce: b2db uxtb r3, r3 803f3d0: f887 306d strb.w r3, [r7, #109] ; 0x6d ikt = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 803f3d4: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803f3d8: 0953 lsrs r3, r2, #5 803f3da: 4964 ldr r1, [pc, #400] ; (803f56c ) 803f3dc: fba1 1303 umull r1, r3, r1, r3 803f3e0: 09db lsrs r3, r3, #7 803f3e2: 4963 ldr r1, [pc, #396] ; (803f570 ) 803f3e4: fb01 f303 mul.w r3, r1, r3 803f3e8: 1ad3 subs r3, r2, r3 803f3ea: 4a62 ldr r2, [pc, #392] ; (803f574 ) 803f3ec: fba2 1203 umull r1, r2, r2, r3 803f3f0: 0b52 lsrs r2, r2, #13 803f3f2: f242 7110 movw r1, #10000 ; 0x2710 803f3f6: fb01 f202 mul.w r2, r1, r2 803f3fa: 1a9a subs r2, r3, r2 803f3fc: 4b5e ldr r3, [pc, #376] ; (803f578 ) 803f3fe: fba3 1302 umull r1, r3, r3, r2 803f402: 099b lsrs r3, r3, #6 803f404: f44f 717a mov.w r1, #1000 ; 0x3e8 803f408: fb01 f303 mul.w r3, r1, r3 803f40c: 1ad3 subs r3, r2, r3 803f40e: 4a5b ldr r2, [pc, #364] ; (803f57c ) 803f410: fba2 1203 umull r1, r2, r2, r3 803f414: 0952 lsrs r2, r2, #5 803f416: 2164 movs r1, #100 ; 0x64 803f418: fb01 f202 mul.w r2, r1, r2 803f41c: 1a9a subs r2, r3, r2 803f41e: 4b58 ldr r3, [pc, #352] ; (803f580 ) 803f420: fba3 1302 umull r1, r3, r3, r2 803f424: 08d9 lsrs r1, r3, #3 803f426: 460b mov r3, r1 803f428: 009b lsls r3, r3, #2 803f42a: 440b add r3, r1 803f42c: 005b lsls r3, r3, #1 803f42e: 1ad1 subs r1, r2, r3 803f430: b2cb uxtb r3, r1 803f432: f887 306c strb.w r3, [r7, #108] ; 0x6c switch(menupos) 803f436: 4b4a ldr r3, [pc, #296] ; (803f560 ) 803f438: 781b ldrb r3, [r3, #0] 803f43a: b2db uxtb r3, r3 803f43c: 3b1c subs r3, #28 803f43e: 2b05 cmp r3, #5 803f440: d869 bhi.n 803f516 803f442: a201 add r2, pc, #4 ; (adr r2, 803f448 ) 803f444: f852 f023 ldr.w pc, [r2, r3, lsl #2] 803f448: 0803f461 .word 0x0803f461 803f44c: 0803f481 .word 0x0803f481 803f450: 0803f4a3 .word 0x0803f4a3 803f454: 0803f4c3 .word 0x0803f4c3 803f458: 0803f4df .word 0x0803f4df 803f45c: 0803f4fb .word 0x0803f4fb if(k > 100000) k -= 100000; 803f460: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f464: 4a42 ldr r2, [pc, #264] ; (803f570 ) 803f466: 4293 cmp r3, r2 803f468: d906 bls.n 803f478 803f46a: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803f46e: 4b45 ldr r3, [pc, #276] ; (803f584 ) 803f470: 4413 add r3, r2 803f472: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803f476: e04e b.n 803f516 else k = 0; 803f478: 2300 movs r3, #0 803f47a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803f47e: e04a b.n 803f516 if(k > 10000) k -= 10000; 803f480: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f484: f242 7210 movw r2, #10000 ; 0x2710 803f488: 4293 cmp r3, r2 803f48a: d906 bls.n 803f49a 803f48c: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803f490: 4b3d ldr r3, [pc, #244] ; (803f588 ) 803f492: 4413 add r3, r2 803f494: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803f498: e03d b.n 803f516 else k = 0; 803f49a: 2300 movs r3, #0 803f49c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803f4a0: e039 b.n 803f516 if(k > 1000) k -= 1000; 803f4a2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f4a6: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 803f4aa: d906 bls.n 803f4ba 803f4ac: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f4b0: f5a3 737a sub.w r3, r3, #1000 ; 0x3e8 803f4b4: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803f4b8: e02d b.n 803f516 else k = 0; 803f4ba: 2300 movs r3, #0 803f4bc: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803f4c0: e029 b.n 803f516 if(k > 100) k -= 100; 803f4c2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f4c6: 2b64 cmp r3, #100 ; 0x64 803f4c8: d905 bls.n 803f4d6 803f4ca: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f4ce: 3b64 subs r3, #100 ; 0x64 803f4d0: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803f4d4: e01f b.n 803f516 else k = 0; 803f4d6: 2300 movs r3, #0 803f4d8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803f4dc: e01b b.n 803f516 if(k > 10) k -= 10; 803f4de: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f4e2: 2b0a cmp r3, #10 803f4e4: d905 bls.n 803f4f2 803f4e6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f4ea: 3b0a subs r3, #10 803f4ec: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803f4f0: e011 b.n 803f516 else k = 0; 803f4f2: 2300 movs r3, #0 803f4f4: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803f4f8: e00d b.n 803f516 if(k > 1) k -= 1; 803f4fa: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f4fe: 2b01 cmp r3, #1 803f500: d905 bls.n 803f50e 803f502: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f506: 3b01 subs r3, #1 803f508: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803f50c: e002 b.n 803f514 else k = 0; 803f50e: 2300 movs r3, #0 803f510: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803f514: bf00 nop if(k == 0) k = 1; 803f516: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f51a: 2b00 cmp r3, #0 803f51c: d102 bne.n 803f524 803f51e: 2301 movs r3, #1 803f520: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.D_ANGLE = (float32_t) k; 803f524: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f528: ee07 3a90 vmov s15, r3 803f52c: eef8 7a67 vcvt.f32.u32 s15, s15 803f530: 4b0c ldr r3, [pc, #48] ; (803f564 ) 803f532: edc3 7a33 vstr s15, [r3, #204] ; 0xcc pardata.D_ANGLE *= 0.001f; 803f536: 4b0b ldr r3, [pc, #44] ; (803f564 ) 803f538: edd3 7a33 vldr s15, [r3, #204] ; 0xcc 803f53c: ed9f 7a13 vldr s14, [pc, #76] ; 803f58c 803f540: ee67 7a87 vmul.f32 s15, s15, s14 803f544: 4b07 ldr r3, [pc, #28] ; (803f564 ) 803f546: edc3 7a33 vstr s15, [r3, #204] ; 0xcc pardata.D_ANGLE += 0.0005f; 803f54a: 4b06 ldr r3, [pc, #24] ; (803f564 ) 803f54c: edd3 7a33 vldr s15, [r3, #204] ; 0xcc 803f550: ed9f 7a0f vldr s14, [pc, #60] ; 803f590 803f554: ee77 7a87 vadd.f32 s15, s15, s14 803f558: 4b02 ldr r3, [pc, #8] ; (803f564 ) 803f55a: edc3 7a33 vstr s15, [r3, #204] ; 0xcc 803f55e: e0d7 b.n 803f710 803f560: 20020070 .word 0x20020070 803f564: 20023e60 .word 0x20023e60 803f568: 447a0000 .word 0x447a0000 803f56c: 0a7c5ac5 .word 0x0a7c5ac5 803f570: 000186a0 .word 0x000186a0 803f574: d1b71759 .word 0xd1b71759 803f578: 10624dd3 .word 0x10624dd3 803f57c: 51eb851f .word 0x51eb851f 803f580: cccccccd .word 0xcccccccd 803f584: fffe7960 .word 0xfffe7960 803f588: ffffd8f0 .word 0xffffd8f0 803f58c: 3a83126f .word 0x3a83126f 803f590: 3a03126f .word 0x3a03126f if((menupos >= D_Rate_IET) && (menupos <= D_Rate_IEE)) 803f594: 4b9d ldr r3, [pc, #628] ; (803f80c ) 803f596: 781b ldrb r3, [r3, #0] 803f598: b2db uxtb r3, r3 803f59a: 2b21 cmp r3, #33 ; 0x21 803f59c: f244 8209 bls.w 80439b2 803f5a0: 4b9a ldr r3, [pc, #616] ; (803f80c ) 803f5a2: 781b ldrb r3, [r3, #0] 803f5a4: b2db uxtb r3, r3 803f5a6: 2b25 cmp r3, #37 ; 0x25 803f5a8: f204 8203 bhi.w 80439b2 k = pardata.D_RATE; 803f5ac: 4b98 ldr r3, [pc, #608] ; (803f810 ) 803f5ae: f8d3 30d0 ldr.w r3, [r3, #208] ; 0xd0 803f5b2: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 iet = (uint8_t) (k / 1000); 803f5b6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f5ba: 4a96 ldr r2, [pc, #600] ; (803f814 ) 803f5bc: fba2 2303 umull r2, r3, r2, r3 803f5c0: 099b lsrs r3, r3, #6 803f5c2: b2db uxtb r3, r3 803f5c4: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 1000 / 100); 803f5c8: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803f5cc: 4b91 ldr r3, [pc, #580] ; (803f814 ) 803f5ce: fba3 1302 umull r1, r3, r3, r2 803f5d2: 099b lsrs r3, r3, #6 803f5d4: f44f 717a mov.w r1, #1000 ; 0x3e8 803f5d8: fb01 f303 mul.w r3, r1, r3 803f5dc: 1ad3 subs r3, r2, r3 803f5de: 4a8e ldr r2, [pc, #568] ; (803f818 ) 803f5e0: fba2 2303 umull r2, r3, r2, r3 803f5e4: 095b lsrs r3, r3, #5 803f5e6: b2db uxtb r3, r3 803f5e8: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 1000 % 100 / 10); 803f5ec: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803f5f0: 4b88 ldr r3, [pc, #544] ; (803f814 ) 803f5f2: fba3 1302 umull r1, r3, r3, r2 803f5f6: 099b lsrs r3, r3, #6 803f5f8: f44f 717a mov.w r1, #1000 ; 0x3e8 803f5fc: fb01 f303 mul.w r3, r1, r3 803f600: 1ad3 subs r3, r2, r3 803f602: 4a85 ldr r2, [pc, #532] ; (803f818 ) 803f604: fba2 1203 umull r1, r2, r2, r3 803f608: 0952 lsrs r2, r2, #5 803f60a: 2164 movs r1, #100 ; 0x64 803f60c: fb01 f202 mul.w r2, r1, r2 803f610: 1a9a subs r2, r3, r2 803f612: 4b82 ldr r3, [pc, #520] ; (803f81c ) 803f614: fba3 2302 umull r2, r3, r3, r2 803f618: 08db lsrs r3, r3, #3 803f61a: b2db uxtb r3, r3 803f61c: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 1000 % 100 % 10); 803f620: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803f624: 4b7b ldr r3, [pc, #492] ; (803f814 ) 803f626: fba3 1302 umull r1, r3, r3, r2 803f62a: 099b lsrs r3, r3, #6 803f62c: f44f 717a mov.w r1, #1000 ; 0x3e8 803f630: fb01 f303 mul.w r3, r1, r3 803f634: 1ad3 subs r3, r2, r3 803f636: 4a78 ldr r2, [pc, #480] ; (803f818 ) 803f638: fba2 1203 umull r1, r2, r2, r3 803f63c: 0952 lsrs r2, r2, #5 803f63e: 2164 movs r1, #100 ; 0x64 803f640: fb01 f202 mul.w r2, r1, r2 803f644: 1a9a subs r2, r3, r2 803f646: 4b75 ldr r3, [pc, #468] ; (803f81c ) 803f648: fba3 1302 umull r1, r3, r3, r2 803f64c: 08d9 lsrs r1, r3, #3 803f64e: 460b mov r3, r1 803f650: 009b lsls r3, r3, #2 803f652: 440b add r3, r1 803f654: 005b lsls r3, r3, #1 803f656: 1ad1 subs r1, r2, r3 803f658: b2cb uxtb r3, r1 803f65a: f887 306f strb.w r3, [r7, #111] ; 0x6f switch(menupos) 803f65e: 4b6b ldr r3, [pc, #428] ; (803f80c ) 803f660: 781b ldrb r3, [r3, #0] 803f662: b2db uxtb r3, r3 803f664: 3b22 subs r3, #34 ; 0x22 803f666: 2b03 cmp r3, #3 803f668: d844 bhi.n 803f6f4 803f66a: a201 add r2, pc, #4 ; (adr r2, 803f670 ) 803f66c: f852 f023 ldr.w pc, [r2, r3, lsl #2] 803f670: 0803f681 .word 0x0803f681 803f674: 0803f6a1 .word 0x0803f6a1 803f678: 0803f6bd .word 0x0803f6bd 803f67c: 0803f6d9 .word 0x0803f6d9 if(k > 1000) k -= 1000; 803f680: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f684: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 803f688: d906 bls.n 803f698 803f68a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f68e: f5a3 737a sub.w r3, r3, #1000 ; 0x3e8 803f692: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803f696: e02d b.n 803f6f4 else k = 0; 803f698: 2300 movs r3, #0 803f69a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803f69e: e029 b.n 803f6f4 if(k > 100) k -= 100; 803f6a0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f6a4: 2b64 cmp r3, #100 ; 0x64 803f6a6: d905 bls.n 803f6b4 803f6a8: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f6ac: 3b64 subs r3, #100 ; 0x64 803f6ae: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803f6b2: e01f b.n 803f6f4 else k = 0; 803f6b4: 2300 movs r3, #0 803f6b6: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803f6ba: e01b b.n 803f6f4 if(k > 10) k -= 10; 803f6bc: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f6c0: 2b0a cmp r3, #10 803f6c2: d905 bls.n 803f6d0 803f6c4: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f6c8: 3b0a subs r3, #10 803f6ca: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803f6ce: e011 b.n 803f6f4 else k = 0; 803f6d0: 2300 movs r3, #0 803f6d2: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803f6d6: e00d b.n 803f6f4 if(k > 1) k -= 1; 803f6d8: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f6dc: 2b01 cmp r3, #1 803f6de: d905 bls.n 803f6ec 803f6e0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f6e4: 3b01 subs r3, #1 803f6e6: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803f6ea: e002 b.n 803f6f2 else k = 0; 803f6ec: 2300 movs r3, #0 803f6ee: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803f6f2: bf00 nop if(k == 0) k = 1; 803f6f4: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f6f8: 2b00 cmp r3, #0 803f6fa: d102 bne.n 803f702 803f6fc: 2301 movs r3, #1 803f6fe: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.D_RATE = k; 803f702: 4a43 ldr r2, [pc, #268] ; (803f810 ) 803f704: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f708: f8c2 30d0 str.w r3, [r2, #208] ; 0xd0 break; 803f70c: f004 b951 b.w 80439b2 803f710: f004 b94f b.w 80439b2 case PARAM_VIB: focused = false; 803f714: 4b42 ldr r3, [pc, #264] ; (803f820 ) 803f716: 2200 movs r2, #0 803f718: 701a strb r2, [r3, #0] if(menupos == Ok) 803f71a: 4b3c ldr r3, [pc, #240] ; (803f80c ) 803f71c: 781b ldrb r3, [r3, #0] 803f71e: b2db uxtb r3, r3 803f720: 2b00 cmp r3, #0 803f722: d104 bne.n 803f72e menupos = FilterHP; 803f724: 4b39 ldr r3, [pc, #228] ; (803f80c ) 803f726: 2217 movs r2, #23 803f728: 701a strb r2, [r3, #0] pardata.LP += 0.0001f; } } else menupos++; break; 803f72a: f004 b961 b.w 80439f0 if(menupos == FilterHP) 803f72e: 4b37 ldr r3, [pc, #220] ; (803f80c ) 803f730: 781b ldrb r3, [r3, #0] 803f732: b2db uxtb r3, r3 803f734: 2b17 cmp r3, #23 803f736: d104 bne.n 803f742 menupos = FilterLP; 803f738: 4b34 ldr r3, [pc, #208] ; (803f80c ) 803f73a: 2218 movs r2, #24 803f73c: 701a strb r2, [r3, #0] break; 803f73e: f004 b957 b.w 80439f0 if(menupos == FilterLP) 803f742: 4b32 ldr r3, [pc, #200] ; (803f80c ) 803f744: 781b ldrb r3, [r3, #0] 803f746: b2db uxtb r3, r3 803f748: 2b18 cmp r3, #24 803f74a: d104 bne.n 803f756 menupos = ValueA; 803f74c: 4b2f ldr r3, [pc, #188] ; (803f80c ) 803f74e: 2202 movs r2, #2 803f750: 701a strb r2, [r3, #0] break; 803f752: f004 b94d b.w 80439f0 if(menupos == ValueA) 803f756: 4b2d ldr r3, [pc, #180] ; (803f80c ) 803f758: 781b ldrb r3, [r3, #0] 803f75a: b2db uxtb r3, r3 803f75c: 2b02 cmp r3, #2 803f75e: d117 bne.n 803f790 if(pardata.HP >= 2.0f) 803f760: 4b2b ldr r3, [pc, #172] ; (803f810 ) 803f762: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 803f766: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 803f76a: eef4 7ac7 vcmpe.f32 s15, s14 803f76e: eef1 fa10 vmrs APSR_nzcv, fpscr 803f772: db08 blt.n 803f786 menupos++; 803f774: 4b25 ldr r3, [pc, #148] ; (803f80c ) 803f776: 781b ldrb r3, [r3, #0] 803f778: b2db uxtb r3, r3 803f77a: 3301 adds r3, #1 803f77c: b2da uxtb r2, r3 803f77e: 4b23 ldr r3, [pc, #140] ; (803f80c ) 803f780: 701a strb r2, [r3, #0] break; 803f782: f004 b935 b.w 80439f0 else menupos = Average; 803f786: 4b21 ldr r3, [pc, #132] ; (803f80c ) 803f788: 2205 movs r2, #5 803f78a: 701a strb r2, [r3, #0] break; 803f78c: f004 b930 b.w 80439f0 if(menupos == SaveToFile) 803f790: 4b1e ldr r3, [pc, #120] ; (803f80c ) 803f792: 781b ldrb r3, [r3, #0] 803f794: b2db uxtb r3, r3 803f796: 2b0a cmp r3, #10 803f798: d104 bne.n 803f7a4 menupos = Ok; 803f79a: 4b1c ldr r3, [pc, #112] ; (803f80c ) 803f79c: 2200 movs r2, #0 803f79e: 701a strb r2, [r3, #0] break; 803f7a0: f004 b926 b.w 80439f0 if(menupos == VibAutoKu) 803f7a4: 4b19 ldr r3, [pc, #100] ; (803f80c ) 803f7a6: 781b ldrb r3, [r3, #0] 803f7a8: b2db uxtb r3, r3 803f7aa: 2b08 cmp r3, #8 803f7ac: d110 bne.n 803f7d0 if(pardata.OPTIONS & 0x4) 803f7ae: 4b18 ldr r3, [pc, #96] ; (803f810 ) 803f7b0: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 803f7b4: f003 0304 and.w r3, r3, #4 803f7b8: 2b00 cmp r3, #0 803f7ba: d004 beq.n 803f7c6 menupos = SaveToFile; 803f7bc: 4b13 ldr r3, [pc, #76] ; (803f80c ) 803f7be: 220a movs r2, #10 803f7c0: 701a strb r2, [r3, #0] break; 803f7c2: f004 b915 b.w 80439f0 else menupos = VibMax_ALL; 803f7c6: 4b11 ldr r3, [pc, #68] ; (803f80c ) 803f7c8: 2209 movs r2, #9 803f7ca: 701a strb r2, [r3, #0] break; 803f7cc: f004 b910 b.w 80439f0 if(menupos == Mediana) 803f7d0: 4b0e ldr r3, [pc, #56] ; (803f80c ) 803f7d2: 781b ldrb r3, [r3, #0] 803f7d4: b2db uxtb r3, r3 803f7d6: 2b06 cmp r3, #6 803f7d8: d104 bne.n 803f7e4 menupos = ViewFreq; 803f7da: 4b0c ldr r3, [pc, #48] ; (803f80c ) 803f7dc: 2207 movs r2, #7 803f7de: 701a strb r2, [r3, #0] break; 803f7e0: f004 b906 b.w 80439f0 if(menupos == ViewFreq) 803f7e4: 4b09 ldr r3, [pc, #36] ; (803f80c ) 803f7e6: 781b ldrb r3, [r3, #0] 803f7e8: b2db uxtb r3, r3 803f7ea: 2b07 cmp r3, #7 803f7ec: d104 bne.n 803f7f8 menupos = VibAutoKu; 803f7ee: 4b07 ldr r3, [pc, #28] ; (803f80c ) 803f7f0: 2208 movs r2, #8 803f7f2: 701a strb r2, [r3, #0] break; 803f7f4: f004 b8fc b.w 80439f0 if(menupos == VibMax_ALL) 803f7f8: 4b04 ldr r3, [pc, #16] ; (803f80c ) 803f7fa: 781b ldrb r3, [r3, #0] 803f7fc: b2db uxtb r3, r3 803f7fe: 2b09 cmp r3, #9 803f800: d110 bne.n 803f824 menupos = SaveToFile; 803f802: 4b02 ldr r3, [pc, #8] ; (803f80c ) 803f804: 220a movs r2, #10 803f806: 701a strb r2, [r3, #0] break; 803f808: f004 b8f2 b.w 80439f0 803f80c: 20020070 .word 0x20020070 803f810: 20023e60 .word 0x20023e60 803f814: 10624dd3 .word 0x10624dd3 803f818: 51eb851f .word 0x51eb851f 803f81c: cccccccd .word 0xcccccccd 803f820: 20020f84 .word 0x20020f84 if((menupos >= VibMax_IDT) && (menupos <= VibMax_IKD)) 803f824: 4bb2 ldr r3, [pc, #712] ; (803faf0 ) 803f826: 781b ldrb r3, [r3, #0] 803f828: b2db uxtb r3, r3 803f82a: 2b0a cmp r3, #10 803f82c: f240 8178 bls.w 803fb20 803f830: 4baf ldr r3, [pc, #700] ; (803faf0 ) 803f832: 781b ldrb r3, [r3, #0] 803f834: b2db uxtb r3, r3 803f836: 2b10 cmp r3, #16 803f838: f200 8172 bhi.w 803fb20 k = (uint32_t) (pardata.MAX_VAL * 10.0f); 803f83c: 4bad ldr r3, [pc, #692] ; (803faf4 ) 803f83e: edd3 7a06 vldr s15, [r3, #24] 803f842: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 803f846: ee67 7a87 vmul.f32 s15, s15, s14 803f84a: eefc 7ae7 vcvt.u32.f32 s15, s15 803f84e: ee17 3a90 vmov r3, s15 803f852: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 803f856: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f85a: 095b lsrs r3, r3, #5 803f85c: 4aa6 ldr r2, [pc, #664] ; (803faf8 ) 803f85e: fba2 2303 umull r2, r3, r2, r3 803f862: 09db lsrs r3, r3, #7 803f864: b2db uxtb r3, r3 803f866: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 803f86a: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803f86e: 0953 lsrs r3, r2, #5 803f870: 49a1 ldr r1, [pc, #644] ; (803faf8 ) 803f872: fba1 1303 umull r1, r3, r1, r3 803f876: 09db lsrs r3, r3, #7 803f878: 49a0 ldr r1, [pc, #640] ; (803fafc ) 803f87a: fb01 f303 mul.w r3, r1, r3 803f87e: 1ad3 subs r3, r2, r3 803f880: 4a9f ldr r2, [pc, #636] ; (803fb00 ) 803f882: fba2 2303 umull r2, r3, r2, r3 803f886: 0b5b lsrs r3, r3, #13 803f888: b2db uxtb r3, r3 803f88a: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 803f88e: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803f892: 0953 lsrs r3, r2, #5 803f894: 4998 ldr r1, [pc, #608] ; (803faf8 ) 803f896: fba1 1303 umull r1, r3, r1, r3 803f89a: 09db lsrs r3, r3, #7 803f89c: 4997 ldr r1, [pc, #604] ; (803fafc ) 803f89e: fb01 f303 mul.w r3, r1, r3 803f8a2: 1ad3 subs r3, r2, r3 803f8a4: 4a96 ldr r2, [pc, #600] ; (803fb00 ) 803f8a6: fba2 1203 umull r1, r2, r2, r3 803f8aa: 0b52 lsrs r2, r2, #13 803f8ac: f242 7110 movw r1, #10000 ; 0x2710 803f8b0: fb01 f202 mul.w r2, r1, r2 803f8b4: 1a9a subs r2, r3, r2 803f8b6: 4b93 ldr r3, [pc, #588] ; (803fb04 ) 803f8b8: fba3 2302 umull r2, r3, r3, r2 803f8bc: 099b lsrs r3, r3, #6 803f8be: b2db uxtb r3, r3 803f8c0: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 803f8c4: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f8c8: 095a lsrs r2, r3, #5 803f8ca: 498b ldr r1, [pc, #556] ; (803faf8 ) 803f8cc: fba1 1202 umull r1, r2, r1, r2 803f8d0: 09d2 lsrs r2, r2, #7 803f8d2: 498a ldr r1, [pc, #552] ; (803fafc ) 803f8d4: fb01 f202 mul.w r2, r1, r2 803f8d8: 1a9a subs r2, r3, r2 803f8da: 4b89 ldr r3, [pc, #548] ; (803fb00 ) 803f8dc: fba3 1302 umull r1, r3, r3, r2 803f8e0: 0b5b lsrs r3, r3, #13 803f8e2: f242 7110 movw r1, #10000 ; 0x2710 803f8e6: fb01 f303 mul.w r3, r1, r3 803f8ea: 1ad3 subs r3, r2, r3 803f8ec: 4a85 ldr r2, [pc, #532] ; (803fb04 ) 803f8ee: fba2 1203 umull r1, r2, r2, r3 803f8f2: 0992 lsrs r2, r2, #6 803f8f4: f44f 717a mov.w r1, #1000 ; 0x3e8 803f8f8: fb01 f202 mul.w r2, r1, r2 803f8fc: 1a9a subs r2, r3, r2 803f8fe: 4b82 ldr r3, [pc, #520] ; (803fb08 ) 803f900: fba3 2302 umull r2, r3, r3, r2 803f904: 095b lsrs r3, r3, #5 803f906: b2db uxtb r3, r3 803f908: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 803f90c: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803f910: 0953 lsrs r3, r2, #5 803f912: 4979 ldr r1, [pc, #484] ; (803faf8 ) 803f914: fba1 1303 umull r1, r3, r1, r3 803f918: 09db lsrs r3, r3, #7 803f91a: 4978 ldr r1, [pc, #480] ; (803fafc ) 803f91c: fb01 f303 mul.w r3, r1, r3 803f920: 1ad3 subs r3, r2, r3 803f922: 4a77 ldr r2, [pc, #476] ; (803fb00 ) 803f924: fba2 1203 umull r1, r2, r2, r3 803f928: 0b52 lsrs r2, r2, #13 803f92a: f242 7110 movw r1, #10000 ; 0x2710 803f92e: fb01 f202 mul.w r2, r1, r2 803f932: 1a9a subs r2, r3, r2 803f934: 4b73 ldr r3, [pc, #460] ; (803fb04 ) 803f936: fba3 1302 umull r1, r3, r3, r2 803f93a: 099b lsrs r3, r3, #6 803f93c: f44f 717a mov.w r1, #1000 ; 0x3e8 803f940: fb01 f303 mul.w r3, r1, r3 803f944: 1ad3 subs r3, r2, r3 803f946: 4a70 ldr r2, [pc, #448] ; (803fb08 ) 803f948: fba2 1203 umull r1, r2, r2, r3 803f94c: 0952 lsrs r2, r2, #5 803f94e: 2164 movs r1, #100 ; 0x64 803f950: fb01 f202 mul.w r2, r1, r2 803f954: 1a9a subs r2, r3, r2 803f956: 4b6d ldr r3, [pc, #436] ; (803fb0c ) 803f958: fba3 2302 umull r2, r3, r3, r2 803f95c: 08db lsrs r3, r3, #3 803f95e: b2db uxtb r3, r3 803f960: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 803f964: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803f968: 0953 lsrs r3, r2, #5 803f96a: 4963 ldr r1, [pc, #396] ; (803faf8 ) 803f96c: fba1 1303 umull r1, r3, r1, r3 803f970: 09db lsrs r3, r3, #7 803f972: 4962 ldr r1, [pc, #392] ; (803fafc ) 803f974: fb01 f303 mul.w r3, r1, r3 803f978: 1ad3 subs r3, r2, r3 803f97a: 4a61 ldr r2, [pc, #388] ; (803fb00 ) 803f97c: fba2 1203 umull r1, r2, r2, r3 803f980: 0b52 lsrs r2, r2, #13 803f982: f242 7110 movw r1, #10000 ; 0x2710 803f986: fb01 f202 mul.w r2, r1, r2 803f98a: 1a9a subs r2, r3, r2 803f98c: 4b5d ldr r3, [pc, #372] ; (803fb04 ) 803f98e: fba3 1302 umull r1, r3, r3, r2 803f992: 099b lsrs r3, r3, #6 803f994: f44f 717a mov.w r1, #1000 ; 0x3e8 803f998: fb01 f303 mul.w r3, r1, r3 803f99c: 1ad3 subs r3, r2, r3 803f99e: 4a5a ldr r2, [pc, #360] ; (803fb08 ) 803f9a0: fba2 1203 umull r1, r2, r2, r3 803f9a4: 0952 lsrs r2, r2, #5 803f9a6: 2164 movs r1, #100 ; 0x64 803f9a8: fb01 f202 mul.w r2, r1, r2 803f9ac: 1a9a subs r2, r3, r2 803f9ae: 4b57 ldr r3, [pc, #348] ; (803fb0c ) 803f9b0: fba3 1302 umull r1, r3, r3, r2 803f9b4: 08d9 lsrs r1, r3, #3 803f9b6: 460b mov r3, r1 803f9b8: 009b lsls r3, r3, #2 803f9ba: 440b add r3, r1 803f9bc: 005b lsls r3, r3, #1 803f9be: 1ad1 subs r1, r2, r3 803f9c0: b2cb uxtb r3, r1 803f9c2: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 803f9c6: 4b4a ldr r3, [pc, #296] ; (803faf0 ) 803f9c8: 781b ldrb r3, [r3, #0] 803f9ca: b2db uxtb r3, r3 803f9cc: 3b0b subs r3, #11 803f9ce: 2b05 cmp r3, #5 803f9d0: d869 bhi.n 803faa6 803f9d2: a201 add r2, pc, #4 ; (adr r2, 803f9d8 ) 803f9d4: f852 f023 ldr.w pc, [r2, r3, lsl #2] 803f9d8: 0803f9f1 .word 0x0803f9f1 803f9dc: 0803fa11 .word 0x0803fa11 803f9e0: 0803fa33 .word 0x0803fa33 803f9e4: 0803fa53 .word 0x0803fa53 803f9e8: 0803fa6f .word 0x0803fa6f 803f9ec: 0803fa8b .word 0x0803fa8b if(k > 100000) k -= 100000; 803f9f0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f9f4: 4a41 ldr r2, [pc, #260] ; (803fafc ) 803f9f6: 4293 cmp r3, r2 803f9f8: d906 bls.n 803fa08 803f9fa: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803f9fe: 4b44 ldr r3, [pc, #272] ; (803fb10 ) 803fa00: 4413 add r3, r2 803fa02: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803fa06: e04e b.n 803faa6 else k = 0; 803fa08: 2300 movs r3, #0 803fa0a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803fa0e: e04a b.n 803faa6 if(k > 10000) k -= 10000; 803fa10: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803fa14: f242 7210 movw r2, #10000 ; 0x2710 803fa18: 4293 cmp r3, r2 803fa1a: d906 bls.n 803fa2a 803fa1c: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803fa20: 4b3c ldr r3, [pc, #240] ; (803fb14 ) 803fa22: 4413 add r3, r2 803fa24: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803fa28: e03d b.n 803faa6 else k = 0; 803fa2a: 2300 movs r3, #0 803fa2c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803fa30: e039 b.n 803faa6 if(k > 1000) k -= 1000; 803fa32: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803fa36: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 803fa3a: d906 bls.n 803fa4a 803fa3c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803fa40: f5a3 737a sub.w r3, r3, #1000 ; 0x3e8 803fa44: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803fa48: e02d b.n 803faa6 else k = 0; 803fa4a: 2300 movs r3, #0 803fa4c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803fa50: e029 b.n 803faa6 if(k > 100) k -= 100; 803fa52: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803fa56: 2b64 cmp r3, #100 ; 0x64 803fa58: d905 bls.n 803fa66 803fa5a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803fa5e: 3b64 subs r3, #100 ; 0x64 803fa60: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803fa64: e01f b.n 803faa6 else k = 0; 803fa66: 2300 movs r3, #0 803fa68: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803fa6c: e01b b.n 803faa6 if(k > 10) k -= 10; 803fa6e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803fa72: 2b0a cmp r3, #10 803fa74: d905 bls.n 803fa82 803fa76: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803fa7a: 3b0a subs r3, #10 803fa7c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803fa80: e011 b.n 803faa6 else k = 0; 803fa82: 2300 movs r3, #0 803fa84: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803fa88: e00d b.n 803faa6 if(k > 1) k -= 1; 803fa8a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803fa8e: 2b01 cmp r3, #1 803fa90: d905 bls.n 803fa9e 803fa92: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803fa96: 3b01 subs r3, #1 803fa98: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803fa9c: e002 b.n 803faa4 else k = 0; 803fa9e: 2300 movs r3, #0 803faa0: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803faa4: bf00 nop if(k == 0) k = 1; 803faa6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803faaa: 2b00 cmp r3, #0 803faac: d102 bne.n 803fab4 803faae: 2301 movs r3, #1 803fab0: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.MAX_VAL = (float32_t) k; 803fab4: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803fab8: ee07 3a90 vmov s15, r3 803fabc: eef8 7a67 vcvt.f32.u32 s15, s15 803fac0: 4b0c ldr r3, [pc, #48] ; (803faf4 ) 803fac2: edc3 7a06 vstr s15, [r3, #24] pardata.MAX_VAL *= 0.1f; 803fac6: 4b0b ldr r3, [pc, #44] ; (803faf4 ) 803fac8: edd3 7a06 vldr s15, [r3, #24] 803facc: ed9f 7a12 vldr s14, [pc, #72] ; 803fb18 803fad0: ee67 7a87 vmul.f32 s15, s15, s14 803fad4: 4b07 ldr r3, [pc, #28] ; (803faf4 ) 803fad6: edc3 7a06 vstr s15, [r3, #24] pardata.MAX_VAL += 0.05f; 803fada: 4b06 ldr r3, [pc, #24] ; (803faf4 ) 803fadc: edd3 7a06 vldr s15, [r3, #24] 803fae0: ed9f 7a0e vldr s14, [pc, #56] ; 803fb1c 803fae4: ee77 7a87 vadd.f32 s15, s15, s14 803fae8: 4b02 ldr r3, [pc, #8] ; (803faf4 ) 803faea: edc3 7a06 vstr s15, [r3, #24] 803faee: e394 b.n 804021a 803faf0: 20020070 .word 0x20020070 803faf4: 20023e60 .word 0x20023e60 803faf8: 0a7c5ac5 .word 0x0a7c5ac5 803fafc: 000186a0 .word 0x000186a0 803fb00: d1b71759 .word 0xd1b71759 803fb04: 10624dd3 .word 0x10624dd3 803fb08: 51eb851f .word 0x51eb851f 803fb0c: cccccccd .word 0xcccccccd 803fb10: fffe7960 .word 0xfffe7960 803fb14: ffffd8f0 .word 0xffffd8f0 803fb18: 3dcccccd .word 0x3dcccccd 803fb1c: 3d4ccccd .word 0x3d4ccccd if((menupos >= FilterHP_IDT) && (menupos <= FilterHP_IKD)) 803fb20: 4bcb ldr r3, [pc, #812] ; (803fe50 ) 803fb22: 781b ldrb r3, [r3, #0] 803fb24: b2db uxtb r3, r3 803fb26: 2b18 cmp r3, #24 803fb28: f240 81aa bls.w 803fe80 803fb2c: 4bc8 ldr r3, [pc, #800] ; (803fe50 ) 803fb2e: 781b ldrb r3, [r3, #0] 803fb30: b2db uxtb r3, r3 803fb32: 2b1e cmp r3, #30 803fb34: f200 81a4 bhi.w 803fe80 k = (uint32_t) (pardata.HP * 10.0f); 803fb38: 4bc6 ldr r3, [pc, #792] ; (803fe54 ) 803fb3a: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 803fb3e: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 803fb42: ee67 7a87 vmul.f32 s15, s15, s14 803fb46: eefc 7ae7 vcvt.u32.f32 s15, s15 803fb4a: ee17 3a90 vmov r3, s15 803fb4e: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 803fb52: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803fb56: 095b lsrs r3, r3, #5 803fb58: 4abf ldr r2, [pc, #764] ; (803fe58 ) 803fb5a: fba2 2303 umull r2, r3, r2, r3 803fb5e: 09db lsrs r3, r3, #7 803fb60: b2db uxtb r3, r3 803fb62: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 803fb66: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803fb6a: 0953 lsrs r3, r2, #5 803fb6c: 49ba ldr r1, [pc, #744] ; (803fe58 ) 803fb6e: fba1 1303 umull r1, r3, r1, r3 803fb72: 09db lsrs r3, r3, #7 803fb74: 49b9 ldr r1, [pc, #740] ; (803fe5c ) 803fb76: fb01 f303 mul.w r3, r1, r3 803fb7a: 1ad3 subs r3, r2, r3 803fb7c: 4ab8 ldr r2, [pc, #736] ; (803fe60 ) 803fb7e: fba2 2303 umull r2, r3, r2, r3 803fb82: 0b5b lsrs r3, r3, #13 803fb84: b2db uxtb r3, r3 803fb86: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 803fb8a: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803fb8e: 0953 lsrs r3, r2, #5 803fb90: 49b1 ldr r1, [pc, #708] ; (803fe58 ) 803fb92: fba1 1303 umull r1, r3, r1, r3 803fb96: 09db lsrs r3, r3, #7 803fb98: 49b0 ldr r1, [pc, #704] ; (803fe5c ) 803fb9a: fb01 f303 mul.w r3, r1, r3 803fb9e: 1ad3 subs r3, r2, r3 803fba0: 4aaf ldr r2, [pc, #700] ; (803fe60 ) 803fba2: fba2 1203 umull r1, r2, r2, r3 803fba6: 0b52 lsrs r2, r2, #13 803fba8: f242 7110 movw r1, #10000 ; 0x2710 803fbac: fb01 f202 mul.w r2, r1, r2 803fbb0: 1a9a subs r2, r3, r2 803fbb2: 4bac ldr r3, [pc, #688] ; (803fe64 ) 803fbb4: fba3 2302 umull r2, r3, r3, r2 803fbb8: 099b lsrs r3, r3, #6 803fbba: b2db uxtb r3, r3 803fbbc: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 803fbc0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803fbc4: 095a lsrs r2, r3, #5 803fbc6: 49a4 ldr r1, [pc, #656] ; (803fe58 ) 803fbc8: fba1 1202 umull r1, r2, r1, r2 803fbcc: 09d2 lsrs r2, r2, #7 803fbce: 49a3 ldr r1, [pc, #652] ; (803fe5c ) 803fbd0: fb01 f202 mul.w r2, r1, r2 803fbd4: 1a9a subs r2, r3, r2 803fbd6: 4ba2 ldr r3, [pc, #648] ; (803fe60 ) 803fbd8: fba3 1302 umull r1, r3, r3, r2 803fbdc: 0b5b lsrs r3, r3, #13 803fbde: f242 7110 movw r1, #10000 ; 0x2710 803fbe2: fb01 f303 mul.w r3, r1, r3 803fbe6: 1ad3 subs r3, r2, r3 803fbe8: 4a9e ldr r2, [pc, #632] ; (803fe64 ) 803fbea: fba2 1203 umull r1, r2, r2, r3 803fbee: 0992 lsrs r2, r2, #6 803fbf0: f44f 717a mov.w r1, #1000 ; 0x3e8 803fbf4: fb01 f202 mul.w r2, r1, r2 803fbf8: 1a9a subs r2, r3, r2 803fbfa: 4b9b ldr r3, [pc, #620] ; (803fe68 ) 803fbfc: fba3 2302 umull r2, r3, r3, r2 803fc00: 095b lsrs r3, r3, #5 803fc02: b2db uxtb r3, r3 803fc04: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 803fc08: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803fc0c: 0953 lsrs r3, r2, #5 803fc0e: 4992 ldr r1, [pc, #584] ; (803fe58 ) 803fc10: fba1 1303 umull r1, r3, r1, r3 803fc14: 09db lsrs r3, r3, #7 803fc16: 4991 ldr r1, [pc, #580] ; (803fe5c ) 803fc18: fb01 f303 mul.w r3, r1, r3 803fc1c: 1ad3 subs r3, r2, r3 803fc1e: 4a90 ldr r2, [pc, #576] ; (803fe60 ) 803fc20: fba2 1203 umull r1, r2, r2, r3 803fc24: 0b52 lsrs r2, r2, #13 803fc26: f242 7110 movw r1, #10000 ; 0x2710 803fc2a: fb01 f202 mul.w r2, r1, r2 803fc2e: 1a9a subs r2, r3, r2 803fc30: 4b8c ldr r3, [pc, #560] ; (803fe64 ) 803fc32: fba3 1302 umull r1, r3, r3, r2 803fc36: 099b lsrs r3, r3, #6 803fc38: f44f 717a mov.w r1, #1000 ; 0x3e8 803fc3c: fb01 f303 mul.w r3, r1, r3 803fc40: 1ad3 subs r3, r2, r3 803fc42: 4a89 ldr r2, [pc, #548] ; (803fe68 ) 803fc44: fba2 1203 umull r1, r2, r2, r3 803fc48: 0952 lsrs r2, r2, #5 803fc4a: 2164 movs r1, #100 ; 0x64 803fc4c: fb01 f202 mul.w r2, r1, r2 803fc50: 1a9a subs r2, r3, r2 803fc52: 4b86 ldr r3, [pc, #536] ; (803fe6c ) 803fc54: fba3 2302 umull r2, r3, r3, r2 803fc58: 08db lsrs r3, r3, #3 803fc5a: b2db uxtb r3, r3 803fc5c: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 803fc60: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803fc64: 0953 lsrs r3, r2, #5 803fc66: 497c ldr r1, [pc, #496] ; (803fe58 ) 803fc68: fba1 1303 umull r1, r3, r1, r3 803fc6c: 09db lsrs r3, r3, #7 803fc6e: 497b ldr r1, [pc, #492] ; (803fe5c ) 803fc70: fb01 f303 mul.w r3, r1, r3 803fc74: 1ad3 subs r3, r2, r3 803fc76: 4a7a ldr r2, [pc, #488] ; (803fe60 ) 803fc78: fba2 1203 umull r1, r2, r2, r3 803fc7c: 0b52 lsrs r2, r2, #13 803fc7e: f242 7110 movw r1, #10000 ; 0x2710 803fc82: fb01 f202 mul.w r2, r1, r2 803fc86: 1a9a subs r2, r3, r2 803fc88: 4b76 ldr r3, [pc, #472] ; (803fe64 ) 803fc8a: fba3 1302 umull r1, r3, r3, r2 803fc8e: 099b lsrs r3, r3, #6 803fc90: f44f 717a mov.w r1, #1000 ; 0x3e8 803fc94: fb01 f303 mul.w r3, r1, r3 803fc98: 1ad3 subs r3, r2, r3 803fc9a: 4a73 ldr r2, [pc, #460] ; (803fe68 ) 803fc9c: fba2 1203 umull r1, r2, r2, r3 803fca0: 0952 lsrs r2, r2, #5 803fca2: 2164 movs r1, #100 ; 0x64 803fca4: fb01 f202 mul.w r2, r1, r2 803fca8: 1a9a subs r2, r3, r2 803fcaa: 4b70 ldr r3, [pc, #448] ; (803fe6c ) 803fcac: fba3 1302 umull r1, r3, r3, r2 803fcb0: 08d9 lsrs r1, r3, #3 803fcb2: 460b mov r3, r1 803fcb4: 009b lsls r3, r3, #2 803fcb6: 440b add r3, r1 803fcb8: 005b lsls r3, r3, #1 803fcba: 1ad1 subs r1, r2, r3 803fcbc: b2cb uxtb r3, r1 803fcbe: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 803fcc2: 4b63 ldr r3, [pc, #396] ; (803fe50 ) 803fcc4: 781b ldrb r3, [r3, #0] 803fcc6: b2db uxtb r3, r3 803fcc8: 3b19 subs r3, #25 803fcca: 2b05 cmp r3, #5 803fccc: d869 bhi.n 803fda2 803fcce: a201 add r2, pc, #4 ; (adr r2, 803fcd4 ) 803fcd0: f852 f023 ldr.w pc, [r2, r3, lsl #2] 803fcd4: 0803fced .word 0x0803fced 803fcd8: 0803fd0d .word 0x0803fd0d 803fcdc: 0803fd2f .word 0x0803fd2f 803fce0: 0803fd4f .word 0x0803fd4f 803fce4: 0803fd6b .word 0x0803fd6b 803fce8: 0803fd87 .word 0x0803fd87 if(k > 100000) k -= 100000; 803fcec: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803fcf0: 4a5a ldr r2, [pc, #360] ; (803fe5c ) 803fcf2: 4293 cmp r3, r2 803fcf4: d906 bls.n 803fd04 803fcf6: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803fcfa: 4b5d ldr r3, [pc, #372] ; (803fe70 ) 803fcfc: 4413 add r3, r2 803fcfe: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803fd02: e04e b.n 803fda2 else k = 0; 803fd04: 2300 movs r3, #0 803fd06: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803fd0a: e04a b.n 803fda2 if(k > 10000) k -= 10000; 803fd0c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803fd10: f242 7210 movw r2, #10000 ; 0x2710 803fd14: 4293 cmp r3, r2 803fd16: d906 bls.n 803fd26 803fd18: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803fd1c: 4b55 ldr r3, [pc, #340] ; (803fe74 ) 803fd1e: 4413 add r3, r2 803fd20: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803fd24: e03d b.n 803fda2 else k = 0; 803fd26: 2300 movs r3, #0 803fd28: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803fd2c: e039 b.n 803fda2 if(k > 1000) k -= 1000; 803fd2e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803fd32: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 803fd36: d906 bls.n 803fd46 803fd38: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803fd3c: f5a3 737a sub.w r3, r3, #1000 ; 0x3e8 803fd40: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803fd44: e02d b.n 803fda2 else k = 0; 803fd46: 2300 movs r3, #0 803fd48: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803fd4c: e029 b.n 803fda2 if(k > 100) k -= 100; 803fd4e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803fd52: 2b64 cmp r3, #100 ; 0x64 803fd54: d905 bls.n 803fd62 803fd56: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803fd5a: 3b64 subs r3, #100 ; 0x64 803fd5c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803fd60: e01f b.n 803fda2 else k = 0; 803fd62: 2300 movs r3, #0 803fd64: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803fd68: e01b b.n 803fda2 if(k > 10) k -= 10; 803fd6a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803fd6e: 2b0a cmp r3, #10 803fd70: d905 bls.n 803fd7e 803fd72: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803fd76: 3b0a subs r3, #10 803fd78: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803fd7c: e011 b.n 803fda2 else k = 0; 803fd7e: 2300 movs r3, #0 803fd80: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803fd84: e00d b.n 803fda2 if(k > 1) k -= 1; 803fd86: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803fd8a: 2b01 cmp r3, #1 803fd8c: d905 bls.n 803fd9a 803fd8e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803fd92: 3b01 subs r3, #1 803fd94: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803fd98: e002 b.n 803fda0 else k = 0; 803fd9a: 2300 movs r3, #0 803fd9c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803fda0: bf00 nop fl = (float32_t) k; 803fda2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803fda6: ee07 3a90 vmov s15, r3 803fdaa: eef8 7a67 vcvt.f32.u32 s15, s15 803fdae: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl *= 0.1f; 803fdb2: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 803fdb6: ed9f 7a30 vldr s14, [pc, #192] ; 803fe78 803fdba: ee67 7a87 vmul.f32 s15, s15, s14 803fdbe: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl += 0.0001f; 803fdc2: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 803fdc6: ed9f 7a2d vldr s14, [pc, #180] ; 803fe7c 803fdca: ee77 7a87 vadd.f32 s15, s15, s14 803fdce: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 if(fl < 0.5f) 803fdd2: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 803fdd6: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 803fdda: eef4 7ac7 vcmpe.f32 s15, s14 803fdde: eef1 fa10 vmrs APSR_nzcv, fpscr 803fde2: d505 bpl.n 803fdf0 pardata.HP = 0.5f; 803fde4: 4b1b ldr r3, [pc, #108] ; (803fe54 ) 803fde6: f04f 527c mov.w r2, #1056964608 ; 0x3f000000 803fdea: f8c3 20d4 str.w r2, [r3, #212] ; 0xd4 if(fl < 0.5f) 803fdee: e214 b.n 804021a if(fl > pardata.LP) 803fdf0: 4b18 ldr r3, [pc, #96] ; (803fe54 ) 803fdf2: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 803fdf6: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 803fdfa: eeb4 7ae7 vcmpe.f32 s14, s15 803fdfe: eef1 fa10 vmrs APSR_nzcv, fpscr 803fe02: d506 bpl.n 803fe12 pardata.HP = pardata.LP; 803fe04: 4b13 ldr r3, [pc, #76] ; (803fe54 ) 803fe06: f8d3 30d8 ldr.w r3, [r3, #216] ; 0xd8 803fe0a: 4a12 ldr r2, [pc, #72] ; (803fe54 ) 803fe0c: f8c2 30d4 str.w r3, [r2, #212] ; 0xd4 if(fl < 0.5f) 803fe10: e203 b.n 804021a pardata.HP = (float32_t) k; 803fe12: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803fe16: ee07 3a90 vmov s15, r3 803fe1a: eef8 7a67 vcvt.f32.u32 s15, s15 803fe1e: 4b0d ldr r3, [pc, #52] ; (803fe54 ) 803fe20: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 pardata.HP *= 0.1f; 803fe24: 4b0b ldr r3, [pc, #44] ; (803fe54 ) 803fe26: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 803fe2a: ed9f 7a13 vldr s14, [pc, #76] ; 803fe78 803fe2e: ee67 7a87 vmul.f32 s15, s15, s14 803fe32: 4b08 ldr r3, [pc, #32] ; (803fe54 ) 803fe34: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 pardata.HP += 0.0001f; 803fe38: 4b06 ldr r3, [pc, #24] ; (803fe54 ) 803fe3a: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 803fe3e: ed9f 7a0f vldr s14, [pc, #60] ; 803fe7c 803fe42: ee77 7a87 vadd.f32 s15, s15, s14 803fe46: 4b03 ldr r3, [pc, #12] ; (803fe54 ) 803fe48: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 if(fl < 0.5f) 803fe4c: e1e5 b.n 804021a 803fe4e: bf00 nop 803fe50: 20020070 .word 0x20020070 803fe54: 20023e60 .word 0x20023e60 803fe58: 0a7c5ac5 .word 0x0a7c5ac5 803fe5c: 000186a0 .word 0x000186a0 803fe60: d1b71759 .word 0xd1b71759 803fe64: 10624dd3 .word 0x10624dd3 803fe68: 51eb851f .word 0x51eb851f 803fe6c: cccccccd .word 0xcccccccd 803fe70: fffe7960 .word 0xfffe7960 803fe74: ffffd8f0 .word 0xffffd8f0 803fe78: 3dcccccd .word 0x3dcccccd 803fe7c: 38d1b717 .word 0x38d1b717 if((menupos >= FilterLP_IDT) && (menupos <= FilterLP_IKD)) 803fe80: 4bd2 ldr r3, [pc, #840] ; (80401cc ) 803fe82: 781b ldrb r3, [r3, #0] 803fe84: b2db uxtb r3, r3 803fe86: 2b1e cmp r3, #30 803fe88: f240 81be bls.w 8040208 803fe8c: 4bcf ldr r3, [pc, #828] ; (80401cc ) 803fe8e: 781b ldrb r3, [r3, #0] 803fe90: b2db uxtb r3, r3 803fe92: 2b24 cmp r3, #36 ; 0x24 803fe94: f200 81b8 bhi.w 8040208 k = (uint32_t) (pardata.LP * 10.0f); 803fe98: 4bcd ldr r3, [pc, #820] ; (80401d0 ) 803fe9a: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 803fe9e: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 803fea2: ee67 7a87 vmul.f32 s15, s15, s14 803fea6: eefc 7ae7 vcvt.u32.f32 s15, s15 803feaa: ee17 3a90 vmov r3, s15 803feae: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 803feb2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803feb6: 095b lsrs r3, r3, #5 803feb8: 4ac6 ldr r2, [pc, #792] ; (80401d4 ) 803feba: fba2 2303 umull r2, r3, r2, r3 803febe: 09db lsrs r3, r3, #7 803fec0: b2db uxtb r3, r3 803fec2: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 803fec6: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803feca: 0953 lsrs r3, r2, #5 803fecc: 49c1 ldr r1, [pc, #772] ; (80401d4 ) 803fece: fba1 1303 umull r1, r3, r1, r3 803fed2: 09db lsrs r3, r3, #7 803fed4: 49c0 ldr r1, [pc, #768] ; (80401d8 ) 803fed6: fb01 f303 mul.w r3, r1, r3 803feda: 1ad3 subs r3, r2, r3 803fedc: 4abf ldr r2, [pc, #764] ; (80401dc ) 803fede: fba2 2303 umull r2, r3, r2, r3 803fee2: 0b5b lsrs r3, r3, #13 803fee4: b2db uxtb r3, r3 803fee6: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 803feea: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803feee: 0953 lsrs r3, r2, #5 803fef0: 49b8 ldr r1, [pc, #736] ; (80401d4 ) 803fef2: fba1 1303 umull r1, r3, r1, r3 803fef6: 09db lsrs r3, r3, #7 803fef8: 49b7 ldr r1, [pc, #732] ; (80401d8 ) 803fefa: fb01 f303 mul.w r3, r1, r3 803fefe: 1ad3 subs r3, r2, r3 803ff00: 4ab6 ldr r2, [pc, #728] ; (80401dc ) 803ff02: fba2 1203 umull r1, r2, r2, r3 803ff06: 0b52 lsrs r2, r2, #13 803ff08: f242 7110 movw r1, #10000 ; 0x2710 803ff0c: fb01 f202 mul.w r2, r1, r2 803ff10: 1a9a subs r2, r3, r2 803ff12: 4bb3 ldr r3, [pc, #716] ; (80401e0 ) 803ff14: fba3 2302 umull r2, r3, r3, r2 803ff18: 099b lsrs r3, r3, #6 803ff1a: b2db uxtb r3, r3 803ff1c: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 803ff20: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803ff24: 095a lsrs r2, r3, #5 803ff26: 49ab ldr r1, [pc, #684] ; (80401d4 ) 803ff28: fba1 1202 umull r1, r2, r1, r2 803ff2c: 09d2 lsrs r2, r2, #7 803ff2e: 49aa ldr r1, [pc, #680] ; (80401d8 ) 803ff30: fb01 f202 mul.w r2, r1, r2 803ff34: 1a9a subs r2, r3, r2 803ff36: 4ba9 ldr r3, [pc, #676] ; (80401dc ) 803ff38: fba3 1302 umull r1, r3, r3, r2 803ff3c: 0b5b lsrs r3, r3, #13 803ff3e: f242 7110 movw r1, #10000 ; 0x2710 803ff42: fb01 f303 mul.w r3, r1, r3 803ff46: 1ad3 subs r3, r2, r3 803ff48: 4aa5 ldr r2, [pc, #660] ; (80401e0 ) 803ff4a: fba2 1203 umull r1, r2, r2, r3 803ff4e: 0992 lsrs r2, r2, #6 803ff50: f44f 717a mov.w r1, #1000 ; 0x3e8 803ff54: fb01 f202 mul.w r2, r1, r2 803ff58: 1a9a subs r2, r3, r2 803ff5a: 4ba2 ldr r3, [pc, #648] ; (80401e4 ) 803ff5c: fba3 2302 umull r2, r3, r3, r2 803ff60: 095b lsrs r3, r3, #5 803ff62: b2db uxtb r3, r3 803ff64: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 803ff68: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803ff6c: 0953 lsrs r3, r2, #5 803ff6e: 4999 ldr r1, [pc, #612] ; (80401d4 ) 803ff70: fba1 1303 umull r1, r3, r1, r3 803ff74: 09db lsrs r3, r3, #7 803ff76: 4998 ldr r1, [pc, #608] ; (80401d8 ) 803ff78: fb01 f303 mul.w r3, r1, r3 803ff7c: 1ad3 subs r3, r2, r3 803ff7e: 4a97 ldr r2, [pc, #604] ; (80401dc ) 803ff80: fba2 1203 umull r1, r2, r2, r3 803ff84: 0b52 lsrs r2, r2, #13 803ff86: f242 7110 movw r1, #10000 ; 0x2710 803ff8a: fb01 f202 mul.w r2, r1, r2 803ff8e: 1a9a subs r2, r3, r2 803ff90: 4b93 ldr r3, [pc, #588] ; (80401e0 ) 803ff92: fba3 1302 umull r1, r3, r3, r2 803ff96: 099b lsrs r3, r3, #6 803ff98: f44f 717a mov.w r1, #1000 ; 0x3e8 803ff9c: fb01 f303 mul.w r3, r1, r3 803ffa0: 1ad3 subs r3, r2, r3 803ffa2: 4a90 ldr r2, [pc, #576] ; (80401e4 ) 803ffa4: fba2 1203 umull r1, r2, r2, r3 803ffa8: 0952 lsrs r2, r2, #5 803ffaa: 2164 movs r1, #100 ; 0x64 803ffac: fb01 f202 mul.w r2, r1, r2 803ffb0: 1a9a subs r2, r3, r2 803ffb2: 4b8d ldr r3, [pc, #564] ; (80401e8 ) 803ffb4: fba3 2302 umull r2, r3, r3, r2 803ffb8: 08db lsrs r3, r3, #3 803ffba: b2db uxtb r3, r3 803ffbc: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 803ffc0: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803ffc4: 0953 lsrs r3, r2, #5 803ffc6: 4983 ldr r1, [pc, #524] ; (80401d4 ) 803ffc8: fba1 1303 umull r1, r3, r1, r3 803ffcc: 09db lsrs r3, r3, #7 803ffce: 4982 ldr r1, [pc, #520] ; (80401d8 ) 803ffd0: fb01 f303 mul.w r3, r1, r3 803ffd4: 1ad3 subs r3, r2, r3 803ffd6: 4a81 ldr r2, [pc, #516] ; (80401dc ) 803ffd8: fba2 1203 umull r1, r2, r2, r3 803ffdc: 0b52 lsrs r2, r2, #13 803ffde: f242 7110 movw r1, #10000 ; 0x2710 803ffe2: fb01 f202 mul.w r2, r1, r2 803ffe6: 1a9a subs r2, r3, r2 803ffe8: 4b7d ldr r3, [pc, #500] ; (80401e0 ) 803ffea: fba3 1302 umull r1, r3, r3, r2 803ffee: 099b lsrs r3, r3, #6 803fff0: f44f 717a mov.w r1, #1000 ; 0x3e8 803fff4: fb01 f303 mul.w r3, r1, r3 803fff8: 1ad3 subs r3, r2, r3 803fffa: 4a7a ldr r2, [pc, #488] ; (80401e4 ) 803fffc: fba2 1203 umull r1, r2, r2, r3 8040000: 0952 lsrs r2, r2, #5 8040002: 2164 movs r1, #100 ; 0x64 8040004: fb01 f202 mul.w r2, r1, r2 8040008: 1a9a subs r2, r3, r2 804000a: 4b77 ldr r3, [pc, #476] ; (80401e8 ) 804000c: fba3 1302 umull r1, r3, r3, r2 8040010: 08d9 lsrs r1, r3, #3 8040012: 460b mov r3, r1 8040014: 009b lsls r3, r3, #2 8040016: 440b add r3, r1 8040018: 005b lsls r3, r3, #1 804001a: 1ad1 subs r1, r2, r3 804001c: b2cb uxtb r3, r1 804001e: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 8040022: 4b6a ldr r3, [pc, #424] ; (80401cc ) 8040024: 781b ldrb r3, [r3, #0] 8040026: b2db uxtb r3, r3 8040028: 3b1f subs r3, #31 804002a: 2b05 cmp r3, #5 804002c: d869 bhi.n 8040102 804002e: a201 add r2, pc, #4 ; (adr r2, 8040034 ) 8040030: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8040034: 0804004d .word 0x0804004d 8040038: 0804006d .word 0x0804006d 804003c: 0804008f .word 0x0804008f 8040040: 080400af .word 0x080400af 8040044: 080400cb .word 0x080400cb 8040048: 080400e7 .word 0x080400e7 if(k > 100000) k -= 100000; 804004c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040050: 4a61 ldr r2, [pc, #388] ; (80401d8 ) 8040052: 4293 cmp r3, r2 8040054: d906 bls.n 8040064 8040056: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 804005a: 4b64 ldr r3, [pc, #400] ; (80401ec ) 804005c: 4413 add r3, r2 804005e: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8040062: e04e b.n 8040102 else k = 0; 8040064: 2300 movs r3, #0 8040066: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 804006a: e04a b.n 8040102 if(k > 10000) k -= 10000; 804006c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040070: f242 7210 movw r2, #10000 ; 0x2710 8040074: 4293 cmp r3, r2 8040076: d906 bls.n 8040086 8040078: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 804007c: 4b5c ldr r3, [pc, #368] ; (80401f0 ) 804007e: 4413 add r3, r2 8040080: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8040084: e03d b.n 8040102 else k = 0; 8040086: 2300 movs r3, #0 8040088: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 804008c: e039 b.n 8040102 if(k > 1000) k -= 1000; 804008e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040092: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 8040096: d906 bls.n 80400a6 8040098: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804009c: f5a3 737a sub.w r3, r3, #1000 ; 0x3e8 80400a0: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80400a4: e02d b.n 8040102 else k = 0; 80400a6: 2300 movs r3, #0 80400a8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80400ac: e029 b.n 8040102 if(k > 100) k -= 100; 80400ae: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80400b2: 2b64 cmp r3, #100 ; 0x64 80400b4: d905 bls.n 80400c2 80400b6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80400ba: 3b64 subs r3, #100 ; 0x64 80400bc: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80400c0: e01f b.n 8040102 else k = 0; 80400c2: 2300 movs r3, #0 80400c4: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80400c8: e01b b.n 8040102 if(k > 10) k -= 10; 80400ca: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80400ce: 2b0a cmp r3, #10 80400d0: d905 bls.n 80400de 80400d2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80400d6: 3b0a subs r3, #10 80400d8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80400dc: e011 b.n 8040102 else k = 0; 80400de: 2300 movs r3, #0 80400e0: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80400e4: e00d b.n 8040102 if(k > 1) k -= 1; 80400e6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80400ea: 2b01 cmp r3, #1 80400ec: d905 bls.n 80400fa 80400ee: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80400f2: 3b01 subs r3, #1 80400f4: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80400f8: e002 b.n 8040100 else k = 0; 80400fa: 2300 movs r3, #0 80400fc: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8040100: bf00 nop fl = (float32_t) k; 8040102: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040106: ee07 3a90 vmov s15, r3 804010a: eef8 7a67 vcvt.f32.u32 s15, s15 804010e: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl *= 0.1f; 8040112: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8040116: ed9f 7a37 vldr s14, [pc, #220] ; 80401f4 804011a: ee67 7a87 vmul.f32 s15, s15, s14 804011e: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl += 0.0001f; 8040122: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8040126: ed9f 7a34 vldr s14, [pc, #208] ; 80401f8 804012a: ee77 7a87 vadd.f32 s15, s15, s14 804012e: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 if(fl < 10.0f) 8040132: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8040136: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 804013a: eef4 7ac7 vcmpe.f32 s15, s14 804013e: eef1 fa10 vmrs APSR_nzcv, fpscr 8040142: d504 bpl.n 804014e pardata.LP = 10.0f; 8040144: 4b22 ldr r3, [pc, #136] ; (80401d0 ) 8040146: 4a2d ldr r2, [pc, #180] ; (80401fc ) 8040148: f8c3 20d8 str.w r2, [r3, #216] ; 0xd8 if(fl < 10.0f) 804014c: e065 b.n 804021a if(pardata.LP < pardata.HP) 804014e: 4b20 ldr r3, [pc, #128] ; (80401d0 ) 8040150: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 8040154: 4b1e ldr r3, [pc, #120] ; (80401d0 ) 8040156: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 804015a: eeb4 7ae7 vcmpe.f32 s14, s15 804015e: eef1 fa10 vmrs APSR_nzcv, fpscr 8040162: d506 bpl.n 8040172 pardata.LP = pardata.HP; 8040164: 4b1a ldr r3, [pc, #104] ; (80401d0 ) 8040166: f8d3 30d4 ldr.w r3, [r3, #212] ; 0xd4 804016a: 4a19 ldr r2, [pc, #100] ; (80401d0 ) 804016c: f8c2 30d8 str.w r3, [r2, #216] ; 0xd8 if(fl < 10.0f) 8040170: e053 b.n 804021a if(fl > 12800.0f) 8040172: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8040176: ed9f 7a22 vldr s14, [pc, #136] ; 8040200 804017a: eef4 7ac7 vcmpe.f32 s15, s14 804017e: eef1 fa10 vmrs APSR_nzcv, fpscr 8040182: dd04 ble.n 804018e pardata.LP = 12800.0f; 8040184: 4b12 ldr r3, [pc, #72] ; (80401d0 ) 8040186: 4a1f ldr r2, [pc, #124] ; (8040204 ) 8040188: f8c3 20d8 str.w r2, [r3, #216] ; 0xd8 if(fl < 10.0f) 804018c: e045 b.n 804021a pardata.LP = (float32_t) k; 804018e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040192: ee07 3a90 vmov s15, r3 8040196: eef8 7a67 vcvt.f32.u32 s15, s15 804019a: 4b0d ldr r3, [pc, #52] ; (80401d0 ) 804019c: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 pardata.LP *= 0.1f; 80401a0: 4b0b ldr r3, [pc, #44] ; (80401d0 ) 80401a2: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 80401a6: ed9f 7a13 vldr s14, [pc, #76] ; 80401f4 80401aa: ee67 7a87 vmul.f32 s15, s15, s14 80401ae: 4b08 ldr r3, [pc, #32] ; (80401d0 ) 80401b0: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 pardata.LP += 0.0001f; 80401b4: 4b06 ldr r3, [pc, #24] ; (80401d0 ) 80401b6: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 80401ba: ed9f 7a0f vldr s14, [pc, #60] ; 80401f8 80401be: ee77 7a87 vadd.f32 s15, s15, s14 80401c2: 4b03 ldr r3, [pc, #12] ; (80401d0 ) 80401c4: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 if(fl < 10.0f) 80401c8: e027 b.n 804021a 80401ca: bf00 nop 80401cc: 20020070 .word 0x20020070 80401d0: 20023e60 .word 0x20023e60 80401d4: 0a7c5ac5 .word 0x0a7c5ac5 80401d8: 000186a0 .word 0x000186a0 80401dc: d1b71759 .word 0xd1b71759 80401e0: 10624dd3 .word 0x10624dd3 80401e4: 51eb851f .word 0x51eb851f 80401e8: cccccccd .word 0xcccccccd 80401ec: fffe7960 .word 0xfffe7960 80401f0: ffffd8f0 .word 0xffffd8f0 80401f4: 3dcccccd .word 0x3dcccccd 80401f8: 38d1b717 .word 0x38d1b717 80401fc: 41200000 .word 0x41200000 8040200: 46480000 .word 0x46480000 8040204: 46480000 .word 0x46480000 menupos++; 8040208: 4bc9 ldr r3, [pc, #804] ; (8040530 ) 804020a: 781b ldrb r3, [r3, #0] 804020c: b2db uxtb r3, r3 804020e: 3301 adds r3, #1 8040210: b2da uxtb r2, r3 8040212: 4bc7 ldr r3, [pc, #796] ; (8040530 ) 8040214: 701a strb r2, [r3, #0] break; 8040216: f003 bbeb b.w 80439f0 804021a: f003 bbe9 b.w 80439f0 case PARAM_SPEC: focused = false; 804021e: 4bc5 ldr r3, [pc, #788] ; (8040534 ) 8040220: 2200 movs r2, #0 8040222: 701a strb r2, [r3, #0] switch(pardata.OPTIONS & maskFFT) 8040224: 4bc4 ldr r3, [pc, #784] ; (8040538 ) 8040226: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 804022a: f003 0330 and.w r3, r3, #48 ; 0x30 804022e: 2b10 cmp r3, #16 8040230: d00d beq.n 804024e 8040232: 2b10 cmp r3, #16 8040234: d803 bhi.n 804023e 8040236: 2b00 cmp r3, #0 8040238: d009 beq.n 804024e pardata.LP += 0.0001f; } } break; } break; 804023a: f003 bbd9 b.w 80439f0 switch(pardata.OPTIONS & maskFFT) 804023e: 2b20 cmp r3, #32 8040240: f000 85f5 beq.w 8040e2e 8040244: 2b30 cmp r3, #48 ; 0x30 8040246: f000 85f2 beq.w 8040e2e break; 804024a: f003 bbd1 b.w 80439f0 if(menupos == Ok) 804024e: 4bb8 ldr r3, [pc, #736] ; (8040530 ) 8040250: 781b ldrb r3, [r3, #0] 8040252: b2db uxtb r3, r3 8040254: 2b00 cmp r3, #0 8040256: d104 bne.n 8040262 menupos = SpecType; 8040258: 4bb5 ldr r3, [pc, #724] ; (8040530 ) 804025a: 2201 movs r2, #1 804025c: 701a strb r2, [r3, #0] break; 804025e: f001 bb9c b.w 804199a if(menupos == SpecType) 8040262: 4bb3 ldr r3, [pc, #716] ; (8040530 ) 8040264: 781b ldrb r3, [r3, #0] 8040266: b2db uxtb r3, r3 8040268: 2b01 cmp r3, #1 804026a: d104 bne.n 8040276 menupos = SpecValue; 804026c: 4bb0 ldr r3, [pc, #704] ; (8040530 ) 804026e: 2202 movs r2, #2 8040270: 701a strb r2, [r3, #0] break; 8040272: f001 bb92 b.w 804199a if(menupos == SpecValue) 8040276: 4bae ldr r3, [pc, #696] ; (8040530 ) 8040278: 781b ldrb r3, [r3, #0] 804027a: b2db uxtb r3, r3 804027c: 2b02 cmp r3, #2 804027e: d104 bne.n 804028a menupos = FilterHP; 8040280: 4bab ldr r3, [pc, #684] ; (8040530 ) 8040282: 2217 movs r2, #23 8040284: 701a strb r2, [r3, #0] break; 8040286: f001 bb88 b.w 804199a if(menupos == FilterHP) 804028a: 4ba9 ldr r3, [pc, #676] ; (8040530 ) 804028c: 781b ldrb r3, [r3, #0] 804028e: b2db uxtb r3, r3 8040290: 2b17 cmp r3, #23 8040292: d104 bne.n 804029e menupos = FilterLP; 8040294: 4ba6 ldr r3, [pc, #664] ; (8040530 ) 8040296: 2218 movs r2, #24 8040298: 701a strb r2, [r3, #0] break; 804029a: f001 bb7e b.w 804199a if(menupos == FilterLP) 804029e: 4ba4 ldr r3, [pc, #656] ; (8040530 ) 80402a0: 781b ldrb r3, [r3, #0] 80402a2: b2db uxtb r3, r3 80402a4: 2b18 cmp r3, #24 80402a6: d104 bne.n 80402b2 menupos = SpecLines; 80402a8: 4ba1 ldr r3, [pc, #644] ; (8040530 ) 80402aa: 2204 movs r2, #4 80402ac: 701a strb r2, [r3, #0] break; 80402ae: f001 bb74 b.w 804199a if(menupos == SpecLines) 80402b2: 4b9f ldr r3, [pc, #636] ; (8040530 ) 80402b4: 781b ldrb r3, [r3, #0] 80402b6: b2db uxtb r3, r3 80402b8: 2b04 cmp r3, #4 80402ba: d104 bne.n 80402c6 menupos = LinLog; 80402bc: 4b9c ldr r3, [pc, #624] ; (8040530 ) 80402be: 2205 movs r2, #5 80402c0: 701a strb r2, [r3, #0] break; 80402c2: f001 bb6a b.w 804199a if(menupos == LinLog) 80402c6: 4b9a ldr r3, [pc, #616] ; (8040530 ) 80402c8: 781b ldrb r3, [r3, #0] 80402ca: b2db uxtb r3, r3 80402cc: 2b05 cmp r3, #5 80402ce: d104 bne.n 80402da menupos = SpecWin; 80402d0: 4b97 ldr r3, [pc, #604] ; (8040530 ) 80402d2: 2206 movs r2, #6 80402d4: 701a strb r2, [r3, #0] break; 80402d6: f001 bb60 b.w 804199a if(menupos == SpecWin) 80402da: 4b95 ldr r3, [pc, #596] ; (8040530 ) 80402dc: 781b ldrb r3, [r3, #0] 80402de: b2db uxtb r3, r3 80402e0: 2b06 cmp r3, #6 80402e2: d104 bne.n 80402ee menupos = SAverage; 80402e4: 4b92 ldr r3, [pc, #584] ; (8040530 ) 80402e6: 2207 movs r2, #7 80402e8: 701a strb r2, [r3, #0] break; 80402ea: f001 bb56 b.w 804199a if(menupos == SAverage) 80402ee: 4b90 ldr r3, [pc, #576] ; (8040530 ) 80402f0: 781b ldrb r3, [r3, #0] 80402f2: b2db uxtb r3, r3 80402f4: 2b07 cmp r3, #7 80402f6: d104 bne.n 8040302 menupos = VibAutoKu; 80402f8: 4b8d ldr r3, [pc, #564] ; (8040530 ) 80402fa: 2208 movs r2, #8 80402fc: 701a strb r2, [r3, #0] break; 80402fe: f001 bb4c b.w 804199a if(menupos == VibAutoKu) 8040302: 4b8b ldr r3, [pc, #556] ; (8040530 ) 8040304: 781b ldrb r3, [r3, #0] 8040306: b2db uxtb r3, r3 8040308: 2b08 cmp r3, #8 804030a: d110 bne.n 804032e if(pardata.OPTIONS & 0x4) 804030c: 4b8a ldr r3, [pc, #552] ; (8040538 ) 804030e: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8040312: f003 0304 and.w r3, r3, #4 8040316: 2b00 cmp r3, #0 8040318: d004 beq.n 8040324 menupos = Ok; 804031a: 4b85 ldr r3, [pc, #532] ; (8040530 ) 804031c: 2200 movs r2, #0 804031e: 701a strb r2, [r3, #0] break; 8040320: f001 bb3b b.w 804199a else menupos = VibMax_ALL; 8040324: 4b82 ldr r3, [pc, #520] ; (8040530 ) 8040326: 2209 movs r2, #9 8040328: 701a strb r2, [r3, #0] break; 804032a: f001 bb36 b.w 804199a if(menupos == VibMax_ALL) 804032e: 4b80 ldr r3, [pc, #512] ; (8040530 ) 8040330: 781b ldrb r3, [r3, #0] 8040332: b2db uxtb r3, r3 8040334: 2b09 cmp r3, #9 8040336: d104 bne.n 8040342 menupos = Ok; 8040338: 4b7d ldr r3, [pc, #500] ; (8040530 ) 804033a: 2200 movs r2, #0 804033c: 701a strb r2, [r3, #0] break; 804033e: f001 bb2c b.w 804199a if((menupos >= VibMax_IDT) && (menupos <= VibMax_IKD)) 8040342: 4b7b ldr r3, [pc, #492] ; (8040530 ) 8040344: 781b ldrb r3, [r3, #0] 8040346: b2db uxtb r3, r3 8040348: 2b0a cmp r3, #10 804034a: f240 8175 bls.w 8040638 804034e: 4b78 ldr r3, [pc, #480] ; (8040530 ) 8040350: 781b ldrb r3, [r3, #0] 8040352: b2db uxtb r3, r3 8040354: 2b10 cmp r3, #16 8040356: f200 816f bhi.w 8040638 k = (uint32_t) (pardata.MAX_VAL * 10.0f); 804035a: 4b77 ldr r3, [pc, #476] ; (8040538 ) 804035c: edd3 7a06 vldr s15, [r3, #24] 8040360: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 8040364: ee67 7a87 vmul.f32 s15, s15, s14 8040368: eefc 7ae7 vcvt.u32.f32 s15, s15 804036c: ee17 3a90 vmov r3, s15 8040370: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 8040374: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040378: 095b lsrs r3, r3, #5 804037a: 4a70 ldr r2, [pc, #448] ; (804053c ) 804037c: fba2 2303 umull r2, r3, r2, r3 8040380: 09db lsrs r3, r3, #7 8040382: b2db uxtb r3, r3 8040384: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 8040388: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 804038c: 0953 lsrs r3, r2, #5 804038e: 496b ldr r1, [pc, #428] ; (804053c ) 8040390: fba1 1303 umull r1, r3, r1, r3 8040394: 09db lsrs r3, r3, #7 8040396: 496a ldr r1, [pc, #424] ; (8040540 ) 8040398: fb01 f303 mul.w r3, r1, r3 804039c: 1ad3 subs r3, r2, r3 804039e: 4a69 ldr r2, [pc, #420] ; (8040544 ) 80403a0: fba2 2303 umull r2, r3, r2, r3 80403a4: 0b5b lsrs r3, r3, #13 80403a6: b2db uxtb r3, r3 80403a8: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 80403ac: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80403b0: 0953 lsrs r3, r2, #5 80403b2: 4962 ldr r1, [pc, #392] ; (804053c ) 80403b4: fba1 1303 umull r1, r3, r1, r3 80403b8: 09db lsrs r3, r3, #7 80403ba: 4961 ldr r1, [pc, #388] ; (8040540 ) 80403bc: fb01 f303 mul.w r3, r1, r3 80403c0: 1ad3 subs r3, r2, r3 80403c2: 4a60 ldr r2, [pc, #384] ; (8040544 ) 80403c4: fba2 1203 umull r1, r2, r2, r3 80403c8: 0b52 lsrs r2, r2, #13 80403ca: f242 7110 movw r1, #10000 ; 0x2710 80403ce: fb01 f202 mul.w r2, r1, r2 80403d2: 1a9a subs r2, r3, r2 80403d4: 4b5c ldr r3, [pc, #368] ; (8040548 ) 80403d6: fba3 2302 umull r2, r3, r3, r2 80403da: 099b lsrs r3, r3, #6 80403dc: b2db uxtb r3, r3 80403de: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 80403e2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80403e6: 095a lsrs r2, r3, #5 80403e8: 4954 ldr r1, [pc, #336] ; (804053c ) 80403ea: fba1 1202 umull r1, r2, r1, r2 80403ee: 09d2 lsrs r2, r2, #7 80403f0: 4953 ldr r1, [pc, #332] ; (8040540 ) 80403f2: fb01 f202 mul.w r2, r1, r2 80403f6: 1a9a subs r2, r3, r2 80403f8: 4b52 ldr r3, [pc, #328] ; (8040544 ) 80403fa: fba3 1302 umull r1, r3, r3, r2 80403fe: 0b5b lsrs r3, r3, #13 8040400: f242 7110 movw r1, #10000 ; 0x2710 8040404: fb01 f303 mul.w r3, r1, r3 8040408: 1ad3 subs r3, r2, r3 804040a: 4a4f ldr r2, [pc, #316] ; (8040548 ) 804040c: fba2 1203 umull r1, r2, r2, r3 8040410: 0992 lsrs r2, r2, #6 8040412: f44f 717a mov.w r1, #1000 ; 0x3e8 8040416: fb01 f202 mul.w r2, r1, r2 804041a: 1a9a subs r2, r3, r2 804041c: 4b4b ldr r3, [pc, #300] ; (804054c ) 804041e: fba3 2302 umull r2, r3, r3, r2 8040422: 095b lsrs r3, r3, #5 8040424: b2db uxtb r3, r3 8040426: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 804042a: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 804042e: 0953 lsrs r3, r2, #5 8040430: 4942 ldr r1, [pc, #264] ; (804053c ) 8040432: fba1 1303 umull r1, r3, r1, r3 8040436: 09db lsrs r3, r3, #7 8040438: 4941 ldr r1, [pc, #260] ; (8040540 ) 804043a: fb01 f303 mul.w r3, r1, r3 804043e: 1ad3 subs r3, r2, r3 8040440: 4a40 ldr r2, [pc, #256] ; (8040544 ) 8040442: fba2 1203 umull r1, r2, r2, r3 8040446: 0b52 lsrs r2, r2, #13 8040448: f242 7110 movw r1, #10000 ; 0x2710 804044c: fb01 f202 mul.w r2, r1, r2 8040450: 1a9a subs r2, r3, r2 8040452: 4b3d ldr r3, [pc, #244] ; (8040548 ) 8040454: fba3 1302 umull r1, r3, r3, r2 8040458: 099b lsrs r3, r3, #6 804045a: f44f 717a mov.w r1, #1000 ; 0x3e8 804045e: fb01 f303 mul.w r3, r1, r3 8040462: 1ad3 subs r3, r2, r3 8040464: 4a39 ldr r2, [pc, #228] ; (804054c ) 8040466: fba2 1203 umull r1, r2, r2, r3 804046a: 0952 lsrs r2, r2, #5 804046c: 2164 movs r1, #100 ; 0x64 804046e: fb01 f202 mul.w r2, r1, r2 8040472: 1a9a subs r2, r3, r2 8040474: 4b36 ldr r3, [pc, #216] ; (8040550 ) 8040476: fba3 2302 umull r2, r3, r3, r2 804047a: 08db lsrs r3, r3, #3 804047c: b2db uxtb r3, r3 804047e: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 8040482: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8040486: 0953 lsrs r3, r2, #5 8040488: 492c ldr r1, [pc, #176] ; (804053c ) 804048a: fba1 1303 umull r1, r3, r1, r3 804048e: 09db lsrs r3, r3, #7 8040490: 492b ldr r1, [pc, #172] ; (8040540 ) 8040492: fb01 f303 mul.w r3, r1, r3 8040496: 1ad3 subs r3, r2, r3 8040498: 4a2a ldr r2, [pc, #168] ; (8040544 ) 804049a: fba2 1203 umull r1, r2, r2, r3 804049e: 0b52 lsrs r2, r2, #13 80404a0: f242 7110 movw r1, #10000 ; 0x2710 80404a4: fb01 f202 mul.w r2, r1, r2 80404a8: 1a9a subs r2, r3, r2 80404aa: 4b27 ldr r3, [pc, #156] ; (8040548 ) 80404ac: fba3 1302 umull r1, r3, r3, r2 80404b0: 099b lsrs r3, r3, #6 80404b2: f44f 717a mov.w r1, #1000 ; 0x3e8 80404b6: fb01 f303 mul.w r3, r1, r3 80404ba: 1ad3 subs r3, r2, r3 80404bc: 4a23 ldr r2, [pc, #140] ; (804054c ) 80404be: fba2 1203 umull r1, r2, r2, r3 80404c2: 0952 lsrs r2, r2, #5 80404c4: 2164 movs r1, #100 ; 0x64 80404c6: fb01 f202 mul.w r2, r1, r2 80404ca: 1a9a subs r2, r3, r2 80404cc: 4b20 ldr r3, [pc, #128] ; (8040550 ) 80404ce: fba3 1302 umull r1, r3, r3, r2 80404d2: 08d9 lsrs r1, r3, #3 80404d4: 460b mov r3, r1 80404d6: 009b lsls r3, r3, #2 80404d8: 440b add r3, r1 80404da: 005b lsls r3, r3, #1 80404dc: 1ad1 subs r1, r2, r3 80404de: b2cb uxtb r3, r1 80404e0: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 80404e4: 4b12 ldr r3, [pc, #72] ; (8040530 ) 80404e6: 781b ldrb r3, [r3, #0] 80404e8: b2db uxtb r3, r3 80404ea: 3b0b subs r3, #11 80404ec: 2b05 cmp r3, #5 80404ee: d87e bhi.n 80405ee 80404f0: a201 add r2, pc, #4 ; (adr r2, 80404f8 ) 80404f2: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80404f6: bf00 nop 80404f8: 08040511 .word 0x08040511 80404fc: 08040559 .word 0x08040559 8040500: 0804057b .word 0x0804057b 8040504: 0804059b .word 0x0804059b 8040508: 080405b7 .word 0x080405b7 804050c: 080405d3 .word 0x080405d3 if(k > 100000) k -= 100000; 8040510: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040514: 4a0a ldr r2, [pc, #40] ; (8040540 ) 8040516: 4293 cmp r3, r2 8040518: d906 bls.n 8040528 804051a: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 804051e: 4b0d ldr r3, [pc, #52] ; (8040554 ) 8040520: 4413 add r3, r2 8040522: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8040526: e062 b.n 80405ee else k = 0; 8040528: 2300 movs r3, #0 804052a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 804052e: e05e b.n 80405ee 8040530: 20020070 .word 0x20020070 8040534: 20020f84 .word 0x20020f84 8040538: 20023e60 .word 0x20023e60 804053c: 0a7c5ac5 .word 0x0a7c5ac5 8040540: 000186a0 .word 0x000186a0 8040544: d1b71759 .word 0xd1b71759 8040548: 10624dd3 .word 0x10624dd3 804054c: 51eb851f .word 0x51eb851f 8040550: cccccccd .word 0xcccccccd 8040554: fffe7960 .word 0xfffe7960 if(k > 10000) k -= 10000; 8040558: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804055c: f242 7210 movw r2, #10000 ; 0x2710 8040560: 4293 cmp r3, r2 8040562: d906 bls.n 8040572 8040564: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8040568: 4bd3 ldr r3, [pc, #844] ; (80408b8 ) 804056a: 4413 add r3, r2 804056c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8040570: e03d b.n 80405ee else k = 0; 8040572: 2300 movs r3, #0 8040574: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8040578: e039 b.n 80405ee if(k > 1000) k -= 1000; 804057a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804057e: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 8040582: d906 bls.n 8040592 8040584: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040588: f5a3 737a sub.w r3, r3, #1000 ; 0x3e8 804058c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8040590: e02d b.n 80405ee else k = 0; 8040592: 2300 movs r3, #0 8040594: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8040598: e029 b.n 80405ee if(k > 100) k -= 100; 804059a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804059e: 2b64 cmp r3, #100 ; 0x64 80405a0: d905 bls.n 80405ae 80405a2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80405a6: 3b64 subs r3, #100 ; 0x64 80405a8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80405ac: e01f b.n 80405ee else k = 0; 80405ae: 2300 movs r3, #0 80405b0: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80405b4: e01b b.n 80405ee if(k > 10) k -= 10; 80405b6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80405ba: 2b0a cmp r3, #10 80405bc: d905 bls.n 80405ca 80405be: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80405c2: 3b0a subs r3, #10 80405c4: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80405c8: e011 b.n 80405ee else k = 0; 80405ca: 2300 movs r3, #0 80405cc: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80405d0: e00d b.n 80405ee if(k > 1) k -= 1; 80405d2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80405d6: 2b01 cmp r3, #1 80405d8: d905 bls.n 80405e6 80405da: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80405de: 3b01 subs r3, #1 80405e0: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80405e4: e002 b.n 80405ec else k = 0; 80405e6: 2300 movs r3, #0 80405e8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80405ec: bf00 nop if(k == 0) k = 1; 80405ee: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80405f2: 2b00 cmp r3, #0 80405f4: d102 bne.n 80405fc 80405f6: 2301 movs r3, #1 80405f8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.MAX_VAL = (float32_t) k; 80405fc: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040600: ee07 3a90 vmov s15, r3 8040604: eef8 7a67 vcvt.f32.u32 s15, s15 8040608: 4bac ldr r3, [pc, #688] ; (80408bc ) 804060a: edc3 7a06 vstr s15, [r3, #24] pardata.MAX_VAL *= 0.1f; 804060e: 4bab ldr r3, [pc, #684] ; (80408bc ) 8040610: edd3 7a06 vldr s15, [r3, #24] 8040614: ed9f 7ab3 vldr s14, [pc, #716] ; 80408e4 8040618: ee67 7a87 vmul.f32 s15, s15, s14 804061c: 4ba7 ldr r3, [pc, #668] ; (80408bc ) 804061e: edc3 7a06 vstr s15, [r3, #24] pardata.MAX_VAL += 0.05f; 8040622: 4ba6 ldr r3, [pc, #664] ; (80408bc ) 8040624: edd3 7a06 vldr s15, [r3, #24] 8040628: ed9f 7aa5 vldr s14, [pc, #660] ; 80408c0 804062c: ee77 7a87 vadd.f32 s15, s15, s14 8040630: 4ba2 ldr r3, [pc, #648] ; (80408bc ) 8040632: edc3 7a06 vstr s15, [r3, #24] 8040636: e3f8 b.n 8040e2a if((menupos >= FilterHP_IDT) && (menupos <= FilterHP_IKD)) 8040638: 4ba2 ldr r3, [pc, #648] ; (80408c4 ) 804063a: 781b ldrb r3, [r3, #0] 804063c: b2db uxtb r3, r3 804063e: 2b18 cmp r3, #24 8040640: f240 81f1 bls.w 8040a26 8040644: 4b9f ldr r3, [pc, #636] ; (80408c4 ) 8040646: 781b ldrb r3, [r3, #0] 8040648: b2db uxtb r3, r3 804064a: 2b1e cmp r3, #30 804064c: f200 81eb bhi.w 8040a26 k = (uint32_t) (pardata.HP * 10.0f); 8040650: 4b9a ldr r3, [pc, #616] ; (80408bc ) 8040652: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 8040656: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 804065a: ee67 7a87 vmul.f32 s15, s15, s14 804065e: eefc 7ae7 vcvt.u32.f32 s15, s15 8040662: ee17 3a90 vmov r3, s15 8040666: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 804066a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804066e: 095b lsrs r3, r3, #5 8040670: 4a95 ldr r2, [pc, #596] ; (80408c8 ) 8040672: fba2 2303 umull r2, r3, r2, r3 8040676: 09db lsrs r3, r3, #7 8040678: b2db uxtb r3, r3 804067a: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 804067e: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8040682: 0953 lsrs r3, r2, #5 8040684: 4990 ldr r1, [pc, #576] ; (80408c8 ) 8040686: fba1 1303 umull r1, r3, r1, r3 804068a: 09db lsrs r3, r3, #7 804068c: 498f ldr r1, [pc, #572] ; (80408cc ) 804068e: fb01 f303 mul.w r3, r1, r3 8040692: 1ad3 subs r3, r2, r3 8040694: 4a8e ldr r2, [pc, #568] ; (80408d0 ) 8040696: fba2 2303 umull r2, r3, r2, r3 804069a: 0b5b lsrs r3, r3, #13 804069c: b2db uxtb r3, r3 804069e: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 80406a2: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80406a6: 0953 lsrs r3, r2, #5 80406a8: 4987 ldr r1, [pc, #540] ; (80408c8 ) 80406aa: fba1 1303 umull r1, r3, r1, r3 80406ae: 09db lsrs r3, r3, #7 80406b0: 4986 ldr r1, [pc, #536] ; (80408cc ) 80406b2: fb01 f303 mul.w r3, r1, r3 80406b6: 1ad3 subs r3, r2, r3 80406b8: 4a85 ldr r2, [pc, #532] ; (80408d0 ) 80406ba: fba2 1203 umull r1, r2, r2, r3 80406be: 0b52 lsrs r2, r2, #13 80406c0: f242 7110 movw r1, #10000 ; 0x2710 80406c4: fb01 f202 mul.w r2, r1, r2 80406c8: 1a9a subs r2, r3, r2 80406ca: 4b82 ldr r3, [pc, #520] ; (80408d4 ) 80406cc: fba3 2302 umull r2, r3, r3, r2 80406d0: 099b lsrs r3, r3, #6 80406d2: b2db uxtb r3, r3 80406d4: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 80406d8: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80406dc: 095a lsrs r2, r3, #5 80406de: 497a ldr r1, [pc, #488] ; (80408c8 ) 80406e0: fba1 1202 umull r1, r2, r1, r2 80406e4: 09d2 lsrs r2, r2, #7 80406e6: 4979 ldr r1, [pc, #484] ; (80408cc ) 80406e8: fb01 f202 mul.w r2, r1, r2 80406ec: 1a9a subs r2, r3, r2 80406ee: 4b78 ldr r3, [pc, #480] ; (80408d0 ) 80406f0: fba3 1302 umull r1, r3, r3, r2 80406f4: 0b5b lsrs r3, r3, #13 80406f6: f242 7110 movw r1, #10000 ; 0x2710 80406fa: fb01 f303 mul.w r3, r1, r3 80406fe: 1ad3 subs r3, r2, r3 8040700: 4a74 ldr r2, [pc, #464] ; (80408d4 ) 8040702: fba2 1203 umull r1, r2, r2, r3 8040706: 0992 lsrs r2, r2, #6 8040708: f44f 717a mov.w r1, #1000 ; 0x3e8 804070c: fb01 f202 mul.w r2, r1, r2 8040710: 1a9a subs r2, r3, r2 8040712: 4b71 ldr r3, [pc, #452] ; (80408d8 ) 8040714: fba3 2302 umull r2, r3, r3, r2 8040718: 095b lsrs r3, r3, #5 804071a: b2db uxtb r3, r3 804071c: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 8040720: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8040724: 0953 lsrs r3, r2, #5 8040726: 4968 ldr r1, [pc, #416] ; (80408c8 ) 8040728: fba1 1303 umull r1, r3, r1, r3 804072c: 09db lsrs r3, r3, #7 804072e: 4967 ldr r1, [pc, #412] ; (80408cc ) 8040730: fb01 f303 mul.w r3, r1, r3 8040734: 1ad3 subs r3, r2, r3 8040736: 4a66 ldr r2, [pc, #408] ; (80408d0 ) 8040738: fba2 1203 umull r1, r2, r2, r3 804073c: 0b52 lsrs r2, r2, #13 804073e: f242 7110 movw r1, #10000 ; 0x2710 8040742: fb01 f202 mul.w r2, r1, r2 8040746: 1a9a subs r2, r3, r2 8040748: 4b62 ldr r3, [pc, #392] ; (80408d4 ) 804074a: fba3 1302 umull r1, r3, r3, r2 804074e: 099b lsrs r3, r3, #6 8040750: f44f 717a mov.w r1, #1000 ; 0x3e8 8040754: fb01 f303 mul.w r3, r1, r3 8040758: 1ad3 subs r3, r2, r3 804075a: 4a5f ldr r2, [pc, #380] ; (80408d8 ) 804075c: fba2 1203 umull r1, r2, r2, r3 8040760: 0952 lsrs r2, r2, #5 8040762: 2164 movs r1, #100 ; 0x64 8040764: fb01 f202 mul.w r2, r1, r2 8040768: 1a9a subs r2, r3, r2 804076a: 4b5c ldr r3, [pc, #368] ; (80408dc ) 804076c: fba3 2302 umull r2, r3, r3, r2 8040770: 08db lsrs r3, r3, #3 8040772: b2db uxtb r3, r3 8040774: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 8040778: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 804077c: 0953 lsrs r3, r2, #5 804077e: 4952 ldr r1, [pc, #328] ; (80408c8 ) 8040780: fba1 1303 umull r1, r3, r1, r3 8040784: 09db lsrs r3, r3, #7 8040786: 4951 ldr r1, [pc, #324] ; (80408cc ) 8040788: fb01 f303 mul.w r3, r1, r3 804078c: 1ad3 subs r3, r2, r3 804078e: 4a50 ldr r2, [pc, #320] ; (80408d0 ) 8040790: fba2 1203 umull r1, r2, r2, r3 8040794: 0b52 lsrs r2, r2, #13 8040796: f242 7110 movw r1, #10000 ; 0x2710 804079a: fb01 f202 mul.w r2, r1, r2 804079e: 1a9a subs r2, r3, r2 80407a0: 4b4c ldr r3, [pc, #304] ; (80408d4 ) 80407a2: fba3 1302 umull r1, r3, r3, r2 80407a6: 099b lsrs r3, r3, #6 80407a8: f44f 717a mov.w r1, #1000 ; 0x3e8 80407ac: fb01 f303 mul.w r3, r1, r3 80407b0: 1ad3 subs r3, r2, r3 80407b2: 4a49 ldr r2, [pc, #292] ; (80408d8 ) 80407b4: fba2 1203 umull r1, r2, r2, r3 80407b8: 0952 lsrs r2, r2, #5 80407ba: 2164 movs r1, #100 ; 0x64 80407bc: fb01 f202 mul.w r2, r1, r2 80407c0: 1a9a subs r2, r3, r2 80407c2: 4b46 ldr r3, [pc, #280] ; (80408dc ) 80407c4: fba3 1302 umull r1, r3, r3, r2 80407c8: 08d9 lsrs r1, r3, #3 80407ca: 460b mov r3, r1 80407cc: 009b lsls r3, r3, #2 80407ce: 440b add r3, r1 80407d0: 005b lsls r3, r3, #1 80407d2: 1ad1 subs r1, r2, r3 80407d4: b2cb uxtb r3, r1 80407d6: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 80407da: 4b3a ldr r3, [pc, #232] ; (80408c4 ) 80407dc: 781b ldrb r3, [r3, #0] 80407de: b2db uxtb r3, r3 80407e0: 3b19 subs r3, #25 80407e2: 2b05 cmp r3, #5 80407e4: f200 8086 bhi.w 80408f4 80407e8: a201 add r2, pc, #4 ; (adr r2, 80407f0 ) 80407ea: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80407ee: bf00 nop 80407f0: 08040809 .word 0x08040809 80407f4: 08040829 .word 0x08040829 80407f8: 0804084b .word 0x0804084b 80407fc: 0804086b .word 0x0804086b 8040800: 08040887 .word 0x08040887 8040804: 080408a3 .word 0x080408a3 if(k > 100000) k -= 100000; 8040808: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804080c: 4a2f ldr r2, [pc, #188] ; (80408cc ) 804080e: 4293 cmp r3, r2 8040810: d906 bls.n 8040820 8040812: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8040816: 4b32 ldr r3, [pc, #200] ; (80408e0 ) 8040818: 4413 add r3, r2 804081a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 804081e: e069 b.n 80408f4 else k = 0; 8040820: 2300 movs r3, #0 8040822: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8040826: e065 b.n 80408f4 if(k > 10000) k -= 10000; 8040828: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804082c: f242 7210 movw r2, #10000 ; 0x2710 8040830: 4293 cmp r3, r2 8040832: d906 bls.n 8040842 8040834: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8040838: 4b1f ldr r3, [pc, #124] ; (80408b8 ) 804083a: 4413 add r3, r2 804083c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8040840: e058 b.n 80408f4 else k = 0; 8040842: 2300 movs r3, #0 8040844: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8040848: e054 b.n 80408f4 if(k > 1000) k -= 1000; 804084a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804084e: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 8040852: d906 bls.n 8040862 8040854: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040858: f5a3 737a sub.w r3, r3, #1000 ; 0x3e8 804085c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8040860: e048 b.n 80408f4 else k = 0; 8040862: 2300 movs r3, #0 8040864: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8040868: e044 b.n 80408f4 if(k > 100) k -= 100; 804086a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804086e: 2b64 cmp r3, #100 ; 0x64 8040870: d905 bls.n 804087e 8040872: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040876: 3b64 subs r3, #100 ; 0x64 8040878: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 804087c: e03a b.n 80408f4 else k = 0; 804087e: 2300 movs r3, #0 8040880: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8040884: e036 b.n 80408f4 if(k > 10) k -= 10; 8040886: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804088a: 2b0a cmp r3, #10 804088c: d905 bls.n 804089a 804088e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040892: 3b0a subs r3, #10 8040894: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8040898: e02c b.n 80408f4 else k = 0; 804089a: 2300 movs r3, #0 804089c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80408a0: e028 b.n 80408f4 if(k > 1) k -= 1; 80408a2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80408a6: 2b01 cmp r3, #1 80408a8: d920 bls.n 80408ec 80408aa: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80408ae: 3b01 subs r3, #1 80408b0: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80408b4: e01d b.n 80408f2 80408b6: bf00 nop 80408b8: ffffd8f0 .word 0xffffd8f0 80408bc: 20023e60 .word 0x20023e60 80408c0: 3d4ccccd .word 0x3d4ccccd 80408c4: 20020070 .word 0x20020070 80408c8: 0a7c5ac5 .word 0x0a7c5ac5 80408cc: 000186a0 .word 0x000186a0 80408d0: d1b71759 .word 0xd1b71759 80408d4: 10624dd3 .word 0x10624dd3 80408d8: 51eb851f .word 0x51eb851f 80408dc: cccccccd .word 0xcccccccd 80408e0: fffe7960 .word 0xfffe7960 80408e4: 3dcccccd .word 0x3dcccccd 80408e8: 38d1b717 .word 0x38d1b717 else k = 0; 80408ec: 2300 movs r3, #0 80408ee: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80408f2: bf00 nop fl = (float32_t) k; 80408f4: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80408f8: ee07 3a90 vmov s15, r3 80408fc: eef8 7a67 vcvt.f32.u32 s15, s15 8040900: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl *= 0.1f; 8040904: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8040908: ed1f 7a0a vldr s14, [pc, #-40] ; 80408e4 804090c: ee67 7a87 vmul.f32 s15, s15, s14 8040910: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl += 0.0001f; 8040914: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8040918: ed1f 7a0d vldr s14, [pc, #-52] ; 80408e8 804091c: ee77 7a87 vadd.f32 s15, s15, s14 8040920: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 if(pardata.IPR == ACC) 8040924: 4bd1 ldr r3, [pc, #836] ; (8040c6c ) 8040926: 785b ldrb r3, [r3, #1] 8040928: b2db uxtb r3, r3 804092a: 2b00 cmp r3, #0 804092c: d13d bne.n 80409aa if(fl < 0.5f) 804092e: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8040932: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8040936: eef4 7ac7 vcmpe.f32 s15, s14 804093a: eef1 fa10 vmrs APSR_nzcv, fpscr 804093e: d505 bpl.n 804094c pardata.HP = 0.5f; 8040940: 4bca ldr r3, [pc, #808] ; (8040c6c ) 8040942: f04f 527c mov.w r2, #1056964608 ; 0x3f000000 8040946: f8c3 20d4 str.w r2, [r3, #212] ; 0xd4 if(pardata.IPR == ACC) 804094a: e26e b.n 8040e2a if(fl > pardata.LP) 804094c: 4bc7 ldr r3, [pc, #796] ; (8040c6c ) 804094e: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 8040952: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8040956: eeb4 7ae7 vcmpe.f32 s14, s15 804095a: eef1 fa10 vmrs APSR_nzcv, fpscr 804095e: d506 bpl.n 804096e pardata.HP = pardata.LP; 8040960: 4bc2 ldr r3, [pc, #776] ; (8040c6c ) 8040962: f8d3 30d8 ldr.w r3, [r3, #216] ; 0xd8 8040966: 4ac1 ldr r2, [pc, #772] ; (8040c6c ) 8040968: f8c2 30d4 str.w r3, [r2, #212] ; 0xd4 if(pardata.IPR == ACC) 804096c: e25d b.n 8040e2a pardata.HP = (float32_t) k; 804096e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040972: ee07 3a90 vmov s15, r3 8040976: eef8 7a67 vcvt.f32.u32 s15, s15 804097a: 4bbc ldr r3, [pc, #752] ; (8040c6c ) 804097c: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 pardata.HP *= 0.1f; 8040980: 4bba ldr r3, [pc, #744] ; (8040c6c ) 8040982: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 8040986: ed9f 7ac3 vldr s14, [pc, #780] ; 8040c94 804098a: ee67 7a87 vmul.f32 s15, s15, s14 804098e: 4bb7 ldr r3, [pc, #732] ; (8040c6c ) 8040990: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 pardata.HP += 0.0001f; 8040994: 4bb5 ldr r3, [pc, #724] ; (8040c6c ) 8040996: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 804099a: ed9f 7abf vldr s14, [pc, #764] ; 8040c98 804099e: ee77 7a87 vadd.f32 s15, s15, s14 80409a2: 4bb2 ldr r3, [pc, #712] ; (8040c6c ) 80409a4: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 if(pardata.IPR == ACC) 80409a8: e23f b.n 8040e2a if(fl < 2.0f) 80409aa: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 80409ae: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 80409b2: eef4 7ac7 vcmpe.f32 s15, s14 80409b6: eef1 fa10 vmrs APSR_nzcv, fpscr 80409ba: d505 bpl.n 80409c8 pardata.HP = 2.0f; 80409bc: 4bab ldr r3, [pc, #684] ; (8040c6c ) 80409be: f04f 4280 mov.w r2, #1073741824 ; 0x40000000 80409c2: f8c3 20d4 str.w r2, [r3, #212] ; 0xd4 if(pardata.IPR == ACC) 80409c6: e230 b.n 8040e2a if(fl > pardata.LP) 80409c8: 4ba8 ldr r3, [pc, #672] ; (8040c6c ) 80409ca: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 80409ce: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 80409d2: eeb4 7ae7 vcmpe.f32 s14, s15 80409d6: eef1 fa10 vmrs APSR_nzcv, fpscr 80409da: d506 bpl.n 80409ea pardata.HP = pardata.LP; 80409dc: 4ba3 ldr r3, [pc, #652] ; (8040c6c ) 80409de: f8d3 30d8 ldr.w r3, [r3, #216] ; 0xd8 80409e2: 4aa2 ldr r2, [pc, #648] ; (8040c6c ) 80409e4: f8c2 30d4 str.w r3, [r2, #212] ; 0xd4 if(pardata.IPR == ACC) 80409e8: e21f b.n 8040e2a pardata.HP = (float32_t) k; 80409ea: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80409ee: ee07 3a90 vmov s15, r3 80409f2: eef8 7a67 vcvt.f32.u32 s15, s15 80409f6: 4b9d ldr r3, [pc, #628] ; (8040c6c ) 80409f8: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 pardata.HP *= 0.1f; 80409fc: 4b9b ldr r3, [pc, #620] ; (8040c6c ) 80409fe: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 8040a02: ed9f 7aa4 vldr s14, [pc, #656] ; 8040c94 8040a06: ee67 7a87 vmul.f32 s15, s15, s14 8040a0a: 4b98 ldr r3, [pc, #608] ; (8040c6c ) 8040a0c: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 pardata.HP += 0.0001f; 8040a10: 4b96 ldr r3, [pc, #600] ; (8040c6c ) 8040a12: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 8040a16: ed9f 7aa0 vldr s14, [pc, #640] ; 8040c98 8040a1a: ee77 7a87 vadd.f32 s15, s15, s14 8040a1e: 4b93 ldr r3, [pc, #588] ; (8040c6c ) 8040a20: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 if(pardata.IPR == ACC) 8040a24: e201 b.n 8040e2a if((menupos >= FilterLP_IDT) && (menupos <= FilterLP_IKD)) 8040a26: 4b92 ldr r3, [pc, #584] ; (8040c70 ) 8040a28: 781b ldrb r3, [r3, #0] 8040a2a: b2db uxtb r3, r3 8040a2c: 2b1e cmp r3, #30 8040a2e: f240 87b4 bls.w 804199a 8040a32: 4b8f ldr r3, [pc, #572] ; (8040c70 ) 8040a34: 781b ldrb r3, [r3, #0] 8040a36: b2db uxtb r3, r3 8040a38: 2b24 cmp r3, #36 ; 0x24 8040a3a: f200 87ae bhi.w 804199a k = (uint32_t) (pardata.LP * 10.0f); 8040a3e: 4b8b ldr r3, [pc, #556] ; (8040c6c ) 8040a40: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 8040a44: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 8040a48: ee67 7a87 vmul.f32 s15, s15, s14 8040a4c: eefc 7ae7 vcvt.u32.f32 s15, s15 8040a50: ee17 3a90 vmov r3, s15 8040a54: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 8040a58: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040a5c: 095b lsrs r3, r3, #5 8040a5e: 4a85 ldr r2, [pc, #532] ; (8040c74 ) 8040a60: fba2 2303 umull r2, r3, r2, r3 8040a64: 09db lsrs r3, r3, #7 8040a66: b2db uxtb r3, r3 8040a68: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 8040a6c: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8040a70: 0953 lsrs r3, r2, #5 8040a72: 4980 ldr r1, [pc, #512] ; (8040c74 ) 8040a74: fba1 1303 umull r1, r3, r1, r3 8040a78: 09db lsrs r3, r3, #7 8040a7a: 497f ldr r1, [pc, #508] ; (8040c78 ) 8040a7c: fb01 f303 mul.w r3, r1, r3 8040a80: 1ad3 subs r3, r2, r3 8040a82: 4a7e ldr r2, [pc, #504] ; (8040c7c ) 8040a84: fba2 2303 umull r2, r3, r2, r3 8040a88: 0b5b lsrs r3, r3, #13 8040a8a: b2db uxtb r3, r3 8040a8c: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 8040a90: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8040a94: 0953 lsrs r3, r2, #5 8040a96: 4977 ldr r1, [pc, #476] ; (8040c74 ) 8040a98: fba1 1303 umull r1, r3, r1, r3 8040a9c: 09db lsrs r3, r3, #7 8040a9e: 4976 ldr r1, [pc, #472] ; (8040c78 ) 8040aa0: fb01 f303 mul.w r3, r1, r3 8040aa4: 1ad3 subs r3, r2, r3 8040aa6: 4a75 ldr r2, [pc, #468] ; (8040c7c ) 8040aa8: fba2 1203 umull r1, r2, r2, r3 8040aac: 0b52 lsrs r2, r2, #13 8040aae: f242 7110 movw r1, #10000 ; 0x2710 8040ab2: fb01 f202 mul.w r2, r1, r2 8040ab6: 1a9a subs r2, r3, r2 8040ab8: 4b71 ldr r3, [pc, #452] ; (8040c80 ) 8040aba: fba3 2302 umull r2, r3, r3, r2 8040abe: 099b lsrs r3, r3, #6 8040ac0: b2db uxtb r3, r3 8040ac2: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 8040ac6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040aca: 095a lsrs r2, r3, #5 8040acc: 4969 ldr r1, [pc, #420] ; (8040c74 ) 8040ace: fba1 1202 umull r1, r2, r1, r2 8040ad2: 09d2 lsrs r2, r2, #7 8040ad4: 4968 ldr r1, [pc, #416] ; (8040c78 ) 8040ad6: fb01 f202 mul.w r2, r1, r2 8040ada: 1a9a subs r2, r3, r2 8040adc: 4b67 ldr r3, [pc, #412] ; (8040c7c ) 8040ade: fba3 1302 umull r1, r3, r3, r2 8040ae2: 0b5b lsrs r3, r3, #13 8040ae4: f242 7110 movw r1, #10000 ; 0x2710 8040ae8: fb01 f303 mul.w r3, r1, r3 8040aec: 1ad3 subs r3, r2, r3 8040aee: 4a64 ldr r2, [pc, #400] ; (8040c80 ) 8040af0: fba2 1203 umull r1, r2, r2, r3 8040af4: 0992 lsrs r2, r2, #6 8040af6: f44f 717a mov.w r1, #1000 ; 0x3e8 8040afa: fb01 f202 mul.w r2, r1, r2 8040afe: 1a9a subs r2, r3, r2 8040b00: 4b60 ldr r3, [pc, #384] ; (8040c84 ) 8040b02: fba3 2302 umull r2, r3, r3, r2 8040b06: 095b lsrs r3, r3, #5 8040b08: b2db uxtb r3, r3 8040b0a: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 8040b0e: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8040b12: 0953 lsrs r3, r2, #5 8040b14: 4957 ldr r1, [pc, #348] ; (8040c74 ) 8040b16: fba1 1303 umull r1, r3, r1, r3 8040b1a: 09db lsrs r3, r3, #7 8040b1c: 4956 ldr r1, [pc, #344] ; (8040c78 ) 8040b1e: fb01 f303 mul.w r3, r1, r3 8040b22: 1ad3 subs r3, r2, r3 8040b24: 4a55 ldr r2, [pc, #340] ; (8040c7c ) 8040b26: fba2 1203 umull r1, r2, r2, r3 8040b2a: 0b52 lsrs r2, r2, #13 8040b2c: f242 7110 movw r1, #10000 ; 0x2710 8040b30: fb01 f202 mul.w r2, r1, r2 8040b34: 1a9a subs r2, r3, r2 8040b36: 4b52 ldr r3, [pc, #328] ; (8040c80 ) 8040b38: fba3 1302 umull r1, r3, r3, r2 8040b3c: 099b lsrs r3, r3, #6 8040b3e: f44f 717a mov.w r1, #1000 ; 0x3e8 8040b42: fb01 f303 mul.w r3, r1, r3 8040b46: 1ad3 subs r3, r2, r3 8040b48: 4a4e ldr r2, [pc, #312] ; (8040c84 ) 8040b4a: fba2 1203 umull r1, r2, r2, r3 8040b4e: 0952 lsrs r2, r2, #5 8040b50: 2164 movs r1, #100 ; 0x64 8040b52: fb01 f202 mul.w r2, r1, r2 8040b56: 1a9a subs r2, r3, r2 8040b58: 4b4b ldr r3, [pc, #300] ; (8040c88 ) 8040b5a: fba3 2302 umull r2, r3, r3, r2 8040b5e: 08db lsrs r3, r3, #3 8040b60: b2db uxtb r3, r3 8040b62: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 8040b66: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8040b6a: 0953 lsrs r3, r2, #5 8040b6c: 4941 ldr r1, [pc, #260] ; (8040c74 ) 8040b6e: fba1 1303 umull r1, r3, r1, r3 8040b72: 09db lsrs r3, r3, #7 8040b74: 4940 ldr r1, [pc, #256] ; (8040c78 ) 8040b76: fb01 f303 mul.w r3, r1, r3 8040b7a: 1ad3 subs r3, r2, r3 8040b7c: 4a3f ldr r2, [pc, #252] ; (8040c7c ) 8040b7e: fba2 1203 umull r1, r2, r2, r3 8040b82: 0b52 lsrs r2, r2, #13 8040b84: f242 7110 movw r1, #10000 ; 0x2710 8040b88: fb01 f202 mul.w r2, r1, r2 8040b8c: 1a9a subs r2, r3, r2 8040b8e: 4b3c ldr r3, [pc, #240] ; (8040c80 ) 8040b90: fba3 1302 umull r1, r3, r3, r2 8040b94: 099b lsrs r3, r3, #6 8040b96: f44f 717a mov.w r1, #1000 ; 0x3e8 8040b9a: fb01 f303 mul.w r3, r1, r3 8040b9e: 1ad3 subs r3, r2, r3 8040ba0: 4a38 ldr r2, [pc, #224] ; (8040c84 ) 8040ba2: fba2 1203 umull r1, r2, r2, r3 8040ba6: 0952 lsrs r2, r2, #5 8040ba8: 2164 movs r1, #100 ; 0x64 8040baa: fb01 f202 mul.w r2, r1, r2 8040bae: 1a9a subs r2, r3, r2 8040bb0: 4b35 ldr r3, [pc, #212] ; (8040c88 ) 8040bb2: fba3 1302 umull r1, r3, r3, r2 8040bb6: 08d9 lsrs r1, r3, #3 8040bb8: 460b mov r3, r1 8040bba: 009b lsls r3, r3, #2 8040bbc: 440b add r3, r1 8040bbe: 005b lsls r3, r3, #1 8040bc0: 1ad1 subs r1, r2, r3 8040bc2: b2cb uxtb r3, r1 8040bc4: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 8040bc8: 4b29 ldr r3, [pc, #164] ; (8040c70 ) 8040bca: 781b ldrb r3, [r3, #0] 8040bcc: b2db uxtb r3, r3 8040bce: 3b1f subs r3, #31 8040bd0: 2b05 cmp r3, #5 8040bd2: f200 8083 bhi.w 8040cdc 8040bd6: a201 add r2, pc, #4 ; (adr r2, 8040bdc ) 8040bd8: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8040bdc: 08040bf5 .word 0x08040bf5 8040be0: 08040c15 .word 0x08040c15 8040be4: 08040c37 .word 0x08040c37 8040be8: 08040c57 .word 0x08040c57 8040bec: 08040ca5 .word 0x08040ca5 8040bf0: 08040cc1 .word 0x08040cc1 if(k > 100000) k -= 100000; 8040bf4: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040bf8: 4a1f ldr r2, [pc, #124] ; (8040c78 ) 8040bfa: 4293 cmp r3, r2 8040bfc: d906 bls.n 8040c0c 8040bfe: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8040c02: 4b22 ldr r3, [pc, #136] ; (8040c8c ) 8040c04: 4413 add r3, r2 8040c06: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8040c0a: e067 b.n 8040cdc else k = 0; 8040c0c: 2300 movs r3, #0 8040c0e: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8040c12: e063 b.n 8040cdc if(k > 10000) k -= 10000; 8040c14: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040c18: f242 7210 movw r2, #10000 ; 0x2710 8040c1c: 4293 cmp r3, r2 8040c1e: d906 bls.n 8040c2e 8040c20: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8040c24: 4b1a ldr r3, [pc, #104] ; (8040c90 ) 8040c26: 4413 add r3, r2 8040c28: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8040c2c: e056 b.n 8040cdc else k = 0; 8040c2e: 2300 movs r3, #0 8040c30: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8040c34: e052 b.n 8040cdc if(k > 1000) k -= 1000; 8040c36: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040c3a: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 8040c3e: d906 bls.n 8040c4e 8040c40: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040c44: f5a3 737a sub.w r3, r3, #1000 ; 0x3e8 8040c48: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8040c4c: e046 b.n 8040cdc else k = 0; 8040c4e: 2300 movs r3, #0 8040c50: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8040c54: e042 b.n 8040cdc if(k > 100) k -= 100; 8040c56: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040c5a: 2b64 cmp r3, #100 ; 0x64 8040c5c: d91e bls.n 8040c9c 8040c5e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040c62: 3b64 subs r3, #100 ; 0x64 8040c64: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8040c68: e038 b.n 8040cdc 8040c6a: bf00 nop 8040c6c: 20023e60 .word 0x20023e60 8040c70: 20020070 .word 0x20020070 8040c74: 0a7c5ac5 .word 0x0a7c5ac5 8040c78: 000186a0 .word 0x000186a0 8040c7c: d1b71759 .word 0xd1b71759 8040c80: 10624dd3 .word 0x10624dd3 8040c84: 51eb851f .word 0x51eb851f 8040c88: cccccccd .word 0xcccccccd 8040c8c: fffe7960 .word 0xfffe7960 8040c90: ffffd8f0 .word 0xffffd8f0 8040c94: 3dcccccd .word 0x3dcccccd 8040c98: 38d1b717 .word 0x38d1b717 else k = 0; 8040c9c: 2300 movs r3, #0 8040c9e: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8040ca2: e01b b.n 8040cdc if(k > 10) k -= 10; 8040ca4: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040ca8: 2b0a cmp r3, #10 8040caa: d905 bls.n 8040cb8 8040cac: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040cb0: 3b0a subs r3, #10 8040cb2: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8040cb6: e011 b.n 8040cdc else k = 0; 8040cb8: 2300 movs r3, #0 8040cba: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8040cbe: e00d b.n 8040cdc if(k > 1) k -= 1; 8040cc0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040cc4: 2b01 cmp r3, #1 8040cc6: d905 bls.n 8040cd4 8040cc8: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040ccc: 3b01 subs r3, #1 8040cce: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8040cd2: e002 b.n 8040cda else k = 0; 8040cd4: 2300 movs r3, #0 8040cd6: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8040cda: bf00 nop fl = (float32_t) k; 8040cdc: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040ce0: ee07 3a90 vmov s15, r3 8040ce4: eef8 7a67 vcvt.f32.u32 s15, s15 8040ce8: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl *= 0.1f; 8040cec: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8040cf0: ed1f 7a18 vldr s14, [pc, #-96] ; 8040c94 8040cf4: ee67 7a87 vmul.f32 s15, s15, s14 8040cf8: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl += 0.0001f; 8040cfc: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8040d00: ed1f 7a1b vldr s14, [pc, #-108] ; 8040c98 8040d04: ee77 7a87 vadd.f32 s15, s15, s14 8040d08: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 if(fl < 10.0f) 8040d0c: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8040d10: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 8040d14: eef4 7ac7 vcmpe.f32 s15, s14 8040d18: eef1 fa10 vmrs APSR_nzcv, fpscr 8040d1c: d504 bpl.n 8040d28 pardata.LP = 10.0f; 8040d1e: 4b77 ldr r3, [pc, #476] ; (8040efc ) 8040d20: 4a77 ldr r2, [pc, #476] ; (8040f00 ) 8040d22: f8c3 20d8 str.w r2, [r3, #216] ; 0xd8 8040d26: e03c b.n 8040da2 if(pardata.LP < pardata.HP) 8040d28: 4b74 ldr r3, [pc, #464] ; (8040efc ) 8040d2a: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 8040d2e: 4b73 ldr r3, [pc, #460] ; (8040efc ) 8040d30: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 8040d34: eeb4 7ae7 vcmpe.f32 s14, s15 8040d38: eef1 fa10 vmrs APSR_nzcv, fpscr 8040d3c: d506 bpl.n 8040d4c pardata.LP = pardata.HP; 8040d3e: 4b6f ldr r3, [pc, #444] ; (8040efc ) 8040d40: f8d3 30d4 ldr.w r3, [r3, #212] ; 0xd4 8040d44: 4a6d ldr r2, [pc, #436] ; (8040efc ) 8040d46: f8c2 30d8 str.w r3, [r2, #216] ; 0xd8 8040d4a: e02a b.n 8040da2 if(fl > 12800.0f) 8040d4c: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8040d50: ed9f 7a6c vldr s14, [pc, #432] ; 8040f04 8040d54: eef4 7ac7 vcmpe.f32 s15, s14 8040d58: eef1 fa10 vmrs APSR_nzcv, fpscr 8040d5c: dd04 ble.n 8040d68 pardata.LP = 12800.0f; 8040d5e: 4b67 ldr r3, [pc, #412] ; (8040efc ) 8040d60: 4a69 ldr r2, [pc, #420] ; (8040f08 ) 8040d62: f8c3 20d8 str.w r2, [r3, #216] ; 0xd8 8040d66: e01c b.n 8040da2 pardata.LP = (float32_t) k; 8040d68: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040d6c: ee07 3a90 vmov s15, r3 8040d70: eef8 7a67 vcvt.f32.u32 s15, s15 8040d74: 4b61 ldr r3, [pc, #388] ; (8040efc ) 8040d76: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 pardata.LP *= 0.1f; 8040d7a: 4b60 ldr r3, [pc, #384] ; (8040efc ) 8040d7c: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 8040d80: ed9f 7a62 vldr s14, [pc, #392] ; 8040f0c 8040d84: ee67 7a87 vmul.f32 s15, s15, s14 8040d88: 4b5c ldr r3, [pc, #368] ; (8040efc ) 8040d8a: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 pardata.LP += 0.0001f; 8040d8e: 4b5b ldr r3, [pc, #364] ; (8040efc ) 8040d90: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 8040d94: ed9f 7a5e vldr s14, [pc, #376] ; 8040f10 8040d98: ee77 7a87 vadd.f32 s15, s15, s14 8040d9c: 4b57 ldr r3, [pc, #348] ; (8040efc ) 8040d9e: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 k = _64000Hz; 8040da2: 2309 movs r3, #9 8040da4: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 while(k > _125Hz) 8040da8: e039 b.n 8040e1e f = (float32_t) FS[k] / pardata.LP; 8040daa: 4a5a ldr r2, [pc, #360] ; (8040f14 ) 8040dac: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040db0: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8040db4: ee07 3a90 vmov s15, r3 8040db8: eef8 6a67 vcvt.f32.u32 s13, s15 8040dbc: 4b4f ldr r3, [pc, #316] ; (8040efc ) 8040dbe: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 8040dc2: eec6 7a87 vdiv.f32 s15, s13, s14 8040dc6: edc7 7a2d vstr s15, [r7, #180] ; 0xb4 f += 0.0001f; 8040dca: edd7 7a2d vldr s15, [r7, #180] ; 0xb4 8040dce: ed9f 7a50 vldr s14, [pc, #320] ; 8040f10 8040dd2: ee77 7a87 vadd.f32 s15, s15, s14 8040dd6: edc7 7a2d vstr s15, [r7, #180] ; 0xb4 if(f < 5.0f) 8040dda: edd7 7a2d vldr s15, [r7, #180] ; 0xb4 8040dde: eeb1 7a04 vmov.f32 s14, #20 ; 0x40a00000 5.0 8040de2: eef4 7ac7 vcmpe.f32 s15, s14 8040de6: eef1 fa10 vmrs APSR_nzcv, fpscr 8040dea: d507 bpl.n 8040dfc pardata.FRQ = k + 1; 8040dec: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040df0: b2db uxtb r3, r3 8040df2: 3301 adds r3, #1 8040df4: b2da uxtb r2, r3 8040df6: 4b41 ldr r3, [pc, #260] ; (8040efc ) 8040df8: 72da strb r2, [r3, #11] break; 8040dfa: e016 b.n 8040e2a if(k > 0) 8040dfc: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040e00: 2b00 cmp r3, #0 8040e02: d004 beq.n 8040e0e k--; 8040e04: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040e08: 3b01 subs r3, #1 8040e0a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 if(k == 0) 8040e0e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040e12: 2b00 cmp r3, #0 8040e14: d103 bne.n 8040e1e pardata.FRQ = _125Hz; 8040e16: 4b39 ldr r3, [pc, #228] ; (8040efc ) 8040e18: 2200 movs r2, #0 8040e1a: 72da strb r2, [r3, #11] break; 8040e1c: e005 b.n 8040e2a while(k > _125Hz) 8040e1e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040e22: 2b00 cmp r3, #0 8040e24: d1c1 bne.n 8040daa break; 8040e26: f000 bdb8 b.w 804199a 8040e2a: f000 bdb6 b.w 804199a if(menupos == Ok) 8040e2e: 4b3a ldr r3, [pc, #232] ; (8040f18 ) 8040e30: 781b ldrb r3, [r3, #0] 8040e32: b2db uxtb r3, r3 8040e34: 2b00 cmp r3, #0 8040e36: d104 bne.n 8040e42 menupos = SpecType; 8040e38: 4b37 ldr r3, [pc, #220] ; (8040f18 ) 8040e3a: 2201 movs r2, #1 8040e3c: 701a strb r2, [r3, #0] break; 8040e3e: f000 bdaf b.w 80419a0 if(menupos == SpecType) 8040e42: 4b35 ldr r3, [pc, #212] ; (8040f18 ) 8040e44: 781b ldrb r3, [r3, #0] 8040e46: b2db uxtb r3, r3 8040e48: 2b01 cmp r3, #1 8040e4a: d104 bne.n 8040e56 menupos = SpecValue; 8040e4c: 4b32 ldr r3, [pc, #200] ; (8040f18 ) 8040e4e: 2202 movs r2, #2 8040e50: 701a strb r2, [r3, #0] break; 8040e52: f000 bda5 b.w 80419a0 if(menupos == SpecValue) 8040e56: 4b30 ldr r3, [pc, #192] ; (8040f18 ) 8040e58: 781b ldrb r3, [r3, #0] 8040e5a: b2db uxtb r3, r3 8040e5c: 2b02 cmp r3, #2 8040e5e: d104 bne.n 8040e6a menupos = FilterHP; 8040e60: 4b2d ldr r3, [pc, #180] ; (8040f18 ) 8040e62: 2217 movs r2, #23 8040e64: 701a strb r2, [r3, #0] break; 8040e66: f000 bd9b b.w 80419a0 if(menupos == FilterHP) 8040e6a: 4b2b ldr r3, [pc, #172] ; (8040f18 ) 8040e6c: 781b ldrb r3, [r3, #0] 8040e6e: b2db uxtb r3, r3 8040e70: 2b17 cmp r3, #23 8040e72: d104 bne.n 8040e7e menupos = FilterLP; 8040e74: 4b28 ldr r3, [pc, #160] ; (8040f18 ) 8040e76: 2218 movs r2, #24 8040e78: 701a strb r2, [r3, #0] break; 8040e7a: f000 bd91 b.w 80419a0 if(menupos == FilterLP) 8040e7e: 4b26 ldr r3, [pc, #152] ; (8040f18 ) 8040e80: 781b ldrb r3, [r3, #0] 8040e82: b2db uxtb r3, r3 8040e84: 2b18 cmp r3, #24 8040e86: d104 bne.n 8040e92 menupos = LinLog; 8040e88: 4b23 ldr r3, [pc, #140] ; (8040f18 ) 8040e8a: 2205 movs r2, #5 8040e8c: 701a strb r2, [r3, #0] break; 8040e8e: f000 bd87 b.w 80419a0 if(menupos == LinLog) 8040e92: 4b21 ldr r3, [pc, #132] ; (8040f18 ) 8040e94: 781b ldrb r3, [r3, #0] 8040e96: b2db uxtb r3, r3 8040e98: 2b05 cmp r3, #5 8040e9a: d104 bne.n 8040ea6 menupos = SAverage; 8040e9c: 4b1e ldr r3, [pc, #120] ; (8040f18 ) 8040e9e: 2207 movs r2, #7 8040ea0: 701a strb r2, [r3, #0] break; 8040ea2: f000 bd7d b.w 80419a0 if(menupos == SAverage) 8040ea6: 4b1c ldr r3, [pc, #112] ; (8040f18 ) 8040ea8: 781b ldrb r3, [r3, #0] 8040eaa: b2db uxtb r3, r3 8040eac: 2b07 cmp r3, #7 8040eae: d104 bne.n 8040eba menupos = VibAutoKu; 8040eb0: 4b19 ldr r3, [pc, #100] ; (8040f18 ) 8040eb2: 2208 movs r2, #8 8040eb4: 701a strb r2, [r3, #0] break; 8040eb6: f000 bd73 b.w 80419a0 if(menupos == VibAutoKu) 8040eba: 4b17 ldr r3, [pc, #92] ; (8040f18 ) 8040ebc: 781b ldrb r3, [r3, #0] 8040ebe: b2db uxtb r3, r3 8040ec0: 2b08 cmp r3, #8 8040ec2: d110 bne.n 8040ee6 if(pardata.OPTIONS & 0x4) 8040ec4: 4b0d ldr r3, [pc, #52] ; (8040efc ) 8040ec6: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8040eca: f003 0304 and.w r3, r3, #4 8040ece: 2b00 cmp r3, #0 8040ed0: d004 beq.n 8040edc menupos = Ok; 8040ed2: 4b11 ldr r3, [pc, #68] ; (8040f18 ) 8040ed4: 2200 movs r2, #0 8040ed6: 701a strb r2, [r3, #0] break; 8040ed8: f000 bd62 b.w 80419a0 else menupos = VibMax_ALL; 8040edc: 4b0e ldr r3, [pc, #56] ; (8040f18 ) 8040ede: 2209 movs r2, #9 8040ee0: 701a strb r2, [r3, #0] break; 8040ee2: f000 bd5d b.w 80419a0 if(menupos == VibMax_ALL) 8040ee6: 4b0c ldr r3, [pc, #48] ; (8040f18 ) 8040ee8: 781b ldrb r3, [r3, #0] 8040eea: b2db uxtb r3, r3 8040eec: 2b09 cmp r3, #9 8040eee: d115 bne.n 8040f1c menupos = Ok; 8040ef0: 4b09 ldr r3, [pc, #36] ; (8040f18 ) 8040ef2: 2200 movs r2, #0 8040ef4: 701a strb r2, [r3, #0] break; 8040ef6: f000 bd53 b.w 80419a0 8040efa: bf00 nop 8040efc: 20023e60 .word 0x20023e60 8040f00: 41200000 .word 0x41200000 8040f04: 46480000 .word 0x46480000 8040f08: 46480000 .word 0x46480000 8040f0c: 3dcccccd .word 0x3dcccccd 8040f10: 38d1b717 .word 0x38d1b717 8040f14: 080ee890 .word 0x080ee890 8040f18: 20020070 .word 0x20020070 if((menupos >= VibMax_IDT) && (menupos <= VibMax_IKD)) 8040f1c: 4bb2 ldr r3, [pc, #712] ; (80411e8 ) 8040f1e: 781b ldrb r3, [r3, #0] 8040f20: b2db uxtb r3, r3 8040f22: 2b0a cmp r3, #10 8040f24: f240 8178 bls.w 8041218 8040f28: 4baf ldr r3, [pc, #700] ; (80411e8 ) 8040f2a: 781b ldrb r3, [r3, #0] 8040f2c: b2db uxtb r3, r3 8040f2e: 2b10 cmp r3, #16 8040f30: f200 8172 bhi.w 8041218 k = (uint32_t) (pardata.MAX_VAL * 10.0f); 8040f34: 4bad ldr r3, [pc, #692] ; (80411ec ) 8040f36: edd3 7a06 vldr s15, [r3, #24] 8040f3a: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 8040f3e: ee67 7a87 vmul.f32 s15, s15, s14 8040f42: eefc 7ae7 vcvt.u32.f32 s15, s15 8040f46: ee17 3a90 vmov r3, s15 8040f4a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 8040f4e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040f52: 095b lsrs r3, r3, #5 8040f54: 4aa6 ldr r2, [pc, #664] ; (80411f0 ) 8040f56: fba2 2303 umull r2, r3, r2, r3 8040f5a: 09db lsrs r3, r3, #7 8040f5c: b2db uxtb r3, r3 8040f5e: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 8040f62: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8040f66: 0953 lsrs r3, r2, #5 8040f68: 49a1 ldr r1, [pc, #644] ; (80411f0 ) 8040f6a: fba1 1303 umull r1, r3, r1, r3 8040f6e: 09db lsrs r3, r3, #7 8040f70: 49a0 ldr r1, [pc, #640] ; (80411f4 ) 8040f72: fb01 f303 mul.w r3, r1, r3 8040f76: 1ad3 subs r3, r2, r3 8040f78: 4a9f ldr r2, [pc, #636] ; (80411f8 ) 8040f7a: fba2 2303 umull r2, r3, r2, r3 8040f7e: 0b5b lsrs r3, r3, #13 8040f80: b2db uxtb r3, r3 8040f82: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 8040f86: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8040f8a: 0953 lsrs r3, r2, #5 8040f8c: 4998 ldr r1, [pc, #608] ; (80411f0 ) 8040f8e: fba1 1303 umull r1, r3, r1, r3 8040f92: 09db lsrs r3, r3, #7 8040f94: 4997 ldr r1, [pc, #604] ; (80411f4 ) 8040f96: fb01 f303 mul.w r3, r1, r3 8040f9a: 1ad3 subs r3, r2, r3 8040f9c: 4a96 ldr r2, [pc, #600] ; (80411f8 ) 8040f9e: fba2 1203 umull r1, r2, r2, r3 8040fa2: 0b52 lsrs r2, r2, #13 8040fa4: f242 7110 movw r1, #10000 ; 0x2710 8040fa8: fb01 f202 mul.w r2, r1, r2 8040fac: 1a9a subs r2, r3, r2 8040fae: 4b93 ldr r3, [pc, #588] ; (80411fc ) 8040fb0: fba3 2302 umull r2, r3, r3, r2 8040fb4: 099b lsrs r3, r3, #6 8040fb6: b2db uxtb r3, r3 8040fb8: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 8040fbc: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040fc0: 095a lsrs r2, r3, #5 8040fc2: 498b ldr r1, [pc, #556] ; (80411f0 ) 8040fc4: fba1 1202 umull r1, r2, r1, r2 8040fc8: 09d2 lsrs r2, r2, #7 8040fca: 498a ldr r1, [pc, #552] ; (80411f4 ) 8040fcc: fb01 f202 mul.w r2, r1, r2 8040fd0: 1a9a subs r2, r3, r2 8040fd2: 4b89 ldr r3, [pc, #548] ; (80411f8 ) 8040fd4: fba3 1302 umull r1, r3, r3, r2 8040fd8: 0b5b lsrs r3, r3, #13 8040fda: f242 7110 movw r1, #10000 ; 0x2710 8040fde: fb01 f303 mul.w r3, r1, r3 8040fe2: 1ad3 subs r3, r2, r3 8040fe4: 4a85 ldr r2, [pc, #532] ; (80411fc ) 8040fe6: fba2 1203 umull r1, r2, r2, r3 8040fea: 0992 lsrs r2, r2, #6 8040fec: f44f 717a mov.w r1, #1000 ; 0x3e8 8040ff0: fb01 f202 mul.w r2, r1, r2 8040ff4: 1a9a subs r2, r3, r2 8040ff6: 4b82 ldr r3, [pc, #520] ; (8041200 ) 8040ff8: fba3 2302 umull r2, r3, r3, r2 8040ffc: 095b lsrs r3, r3, #5 8040ffe: b2db uxtb r3, r3 8041000: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 8041004: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8041008: 0953 lsrs r3, r2, #5 804100a: 4979 ldr r1, [pc, #484] ; (80411f0 ) 804100c: fba1 1303 umull r1, r3, r1, r3 8041010: 09db lsrs r3, r3, #7 8041012: 4978 ldr r1, [pc, #480] ; (80411f4 ) 8041014: fb01 f303 mul.w r3, r1, r3 8041018: 1ad3 subs r3, r2, r3 804101a: 4a77 ldr r2, [pc, #476] ; (80411f8 ) 804101c: fba2 1203 umull r1, r2, r2, r3 8041020: 0b52 lsrs r2, r2, #13 8041022: f242 7110 movw r1, #10000 ; 0x2710 8041026: fb01 f202 mul.w r2, r1, r2 804102a: 1a9a subs r2, r3, r2 804102c: 4b73 ldr r3, [pc, #460] ; (80411fc ) 804102e: fba3 1302 umull r1, r3, r3, r2 8041032: 099b lsrs r3, r3, #6 8041034: f44f 717a mov.w r1, #1000 ; 0x3e8 8041038: fb01 f303 mul.w r3, r1, r3 804103c: 1ad3 subs r3, r2, r3 804103e: 4a70 ldr r2, [pc, #448] ; (8041200 ) 8041040: fba2 1203 umull r1, r2, r2, r3 8041044: 0952 lsrs r2, r2, #5 8041046: 2164 movs r1, #100 ; 0x64 8041048: fb01 f202 mul.w r2, r1, r2 804104c: 1a9a subs r2, r3, r2 804104e: 4b6d ldr r3, [pc, #436] ; (8041204 ) 8041050: fba3 2302 umull r2, r3, r3, r2 8041054: 08db lsrs r3, r3, #3 8041056: b2db uxtb r3, r3 8041058: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 804105c: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8041060: 0953 lsrs r3, r2, #5 8041062: 4963 ldr r1, [pc, #396] ; (80411f0 ) 8041064: fba1 1303 umull r1, r3, r1, r3 8041068: 09db lsrs r3, r3, #7 804106a: 4962 ldr r1, [pc, #392] ; (80411f4 ) 804106c: fb01 f303 mul.w r3, r1, r3 8041070: 1ad3 subs r3, r2, r3 8041072: 4a61 ldr r2, [pc, #388] ; (80411f8 ) 8041074: fba2 1203 umull r1, r2, r2, r3 8041078: 0b52 lsrs r2, r2, #13 804107a: f242 7110 movw r1, #10000 ; 0x2710 804107e: fb01 f202 mul.w r2, r1, r2 8041082: 1a9a subs r2, r3, r2 8041084: 4b5d ldr r3, [pc, #372] ; (80411fc ) 8041086: fba3 1302 umull r1, r3, r3, r2 804108a: 099b lsrs r3, r3, #6 804108c: f44f 717a mov.w r1, #1000 ; 0x3e8 8041090: fb01 f303 mul.w r3, r1, r3 8041094: 1ad3 subs r3, r2, r3 8041096: 4a5a ldr r2, [pc, #360] ; (8041200 ) 8041098: fba2 1203 umull r1, r2, r2, r3 804109c: 0952 lsrs r2, r2, #5 804109e: 2164 movs r1, #100 ; 0x64 80410a0: fb01 f202 mul.w r2, r1, r2 80410a4: 1a9a subs r2, r3, r2 80410a6: 4b57 ldr r3, [pc, #348] ; (8041204 ) 80410a8: fba3 1302 umull r1, r3, r3, r2 80410ac: 08d9 lsrs r1, r3, #3 80410ae: 460b mov r3, r1 80410b0: 009b lsls r3, r3, #2 80410b2: 440b add r3, r1 80410b4: 005b lsls r3, r3, #1 80410b6: 1ad1 subs r1, r2, r3 80410b8: b2cb uxtb r3, r1 80410ba: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 80410be: 4b4a ldr r3, [pc, #296] ; (80411e8 ) 80410c0: 781b ldrb r3, [r3, #0] 80410c2: b2db uxtb r3, r3 80410c4: 3b0b subs r3, #11 80410c6: 2b05 cmp r3, #5 80410c8: d869 bhi.n 804119e 80410ca: a201 add r2, pc, #4 ; (adr r2, 80410d0 ) 80410cc: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80410d0: 080410e9 .word 0x080410e9 80410d4: 08041109 .word 0x08041109 80410d8: 0804112b .word 0x0804112b 80410dc: 0804114b .word 0x0804114b 80410e0: 08041167 .word 0x08041167 80410e4: 08041183 .word 0x08041183 if(k > 100000) k -= 100000; 80410e8: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80410ec: 4a41 ldr r2, [pc, #260] ; (80411f4 ) 80410ee: 4293 cmp r3, r2 80410f0: d906 bls.n 8041100 80410f2: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80410f6: 4b44 ldr r3, [pc, #272] ; (8041208 ) 80410f8: 4413 add r3, r2 80410fa: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80410fe: e04e b.n 804119e else k = 0; 8041100: 2300 movs r3, #0 8041102: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041106: e04a b.n 804119e if(k > 10000) k -= 10000; 8041108: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804110c: f242 7210 movw r2, #10000 ; 0x2710 8041110: 4293 cmp r3, r2 8041112: d906 bls.n 8041122 8041114: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8041118: 4b3c ldr r3, [pc, #240] ; (804120c ) 804111a: 4413 add r3, r2 804111c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041120: e03d b.n 804119e else k = 0; 8041122: 2300 movs r3, #0 8041124: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041128: e039 b.n 804119e if(k > 1000) k -= 1000; 804112a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804112e: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 8041132: d906 bls.n 8041142 8041134: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041138: f5a3 737a sub.w r3, r3, #1000 ; 0x3e8 804113c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041140: e02d b.n 804119e else k = 0; 8041142: 2300 movs r3, #0 8041144: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041148: e029 b.n 804119e if(k > 100) k -= 100; 804114a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804114e: 2b64 cmp r3, #100 ; 0x64 8041150: d905 bls.n 804115e 8041152: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041156: 3b64 subs r3, #100 ; 0x64 8041158: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 804115c: e01f b.n 804119e else k = 0; 804115e: 2300 movs r3, #0 8041160: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041164: e01b b.n 804119e if(k > 10) k -= 10; 8041166: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804116a: 2b0a cmp r3, #10 804116c: d905 bls.n 804117a 804116e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041172: 3b0a subs r3, #10 8041174: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041178: e011 b.n 804119e else k = 0; 804117a: 2300 movs r3, #0 804117c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041180: e00d b.n 804119e if(k > 1) k -= 1; 8041182: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041186: 2b01 cmp r3, #1 8041188: d905 bls.n 8041196 804118a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804118e: 3b01 subs r3, #1 8041190: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041194: e002 b.n 804119c else k = 0; 8041196: 2300 movs r3, #0 8041198: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 804119c: bf00 nop if(k == 0) k = 1; 804119e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80411a2: 2b00 cmp r3, #0 80411a4: d102 bne.n 80411ac 80411a6: 2301 movs r3, #1 80411a8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.MAX_VAL = (float32_t) k; 80411ac: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80411b0: ee07 3a90 vmov s15, r3 80411b4: eef8 7a67 vcvt.f32.u32 s15, s15 80411b8: 4b0c ldr r3, [pc, #48] ; (80411ec ) 80411ba: edc3 7a06 vstr s15, [r3, #24] pardata.MAX_VAL *= 0.1f; 80411be: 4b0b ldr r3, [pc, #44] ; (80411ec ) 80411c0: edd3 7a06 vldr s15, [r3, #24] 80411c4: ed9f 7a12 vldr s14, [pc, #72] ; 8041210 80411c8: ee67 7a87 vmul.f32 s15, s15, s14 80411cc: 4b07 ldr r3, [pc, #28] ; (80411ec ) 80411ce: edc3 7a06 vstr s15, [r3, #24] pardata.MAX_VAL += 0.05f; 80411d2: 4b06 ldr r3, [pc, #24] ; (80411ec ) 80411d4: edd3 7a06 vldr s15, [r3, #24] 80411d8: ed9f 7a0e vldr s14, [pc, #56] ; 8041214 80411dc: ee77 7a87 vadd.f32 s15, s15, s14 80411e0: 4b02 ldr r3, [pc, #8] ; (80411ec ) 80411e2: edc3 7a06 vstr s15, [r3, #24] 80411e6: e3d7 b.n 8041998 80411e8: 20020070 .word 0x20020070 80411ec: 20023e60 .word 0x20023e60 80411f0: 0a7c5ac5 .word 0x0a7c5ac5 80411f4: 000186a0 .word 0x000186a0 80411f8: d1b71759 .word 0xd1b71759 80411fc: 10624dd3 .word 0x10624dd3 8041200: 51eb851f .word 0x51eb851f 8041204: cccccccd .word 0xcccccccd 8041208: fffe7960 .word 0xfffe7960 804120c: ffffd8f0 .word 0xffffd8f0 8041210: 3dcccccd .word 0x3dcccccd 8041214: 3d4ccccd .word 0x3d4ccccd if((menupos >= FilterHP_IDT) && (menupos <= FilterHP_IKD)) 8041218: 4bcd ldr r3, [pc, #820] ; (8041550 ) 804121a: 781b ldrb r3, [r3, #0] 804121c: b2db uxtb r3, r3 804121e: 2b18 cmp r3, #24 8041220: f240 81ec bls.w 80415fc 8041224: 4bca ldr r3, [pc, #808] ; (8041550 ) 8041226: 781b ldrb r3, [r3, #0] 8041228: b2db uxtb r3, r3 804122a: 2b1e cmp r3, #30 804122c: f200 81e6 bhi.w 80415fc k = (uint32_t) (pardata.HP * 10.0f); 8041230: 4bc8 ldr r3, [pc, #800] ; (8041554 ) 8041232: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 8041236: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 804123a: ee67 7a87 vmul.f32 s15, s15, s14 804123e: eefc 7ae7 vcvt.u32.f32 s15, s15 8041242: ee17 3a90 vmov r3, s15 8041246: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 804124a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804124e: 095b lsrs r3, r3, #5 8041250: 4ac1 ldr r2, [pc, #772] ; (8041558 ) 8041252: fba2 2303 umull r2, r3, r2, r3 8041256: 09db lsrs r3, r3, #7 8041258: b2db uxtb r3, r3 804125a: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 804125e: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8041262: 0953 lsrs r3, r2, #5 8041264: 49bc ldr r1, [pc, #752] ; (8041558 ) 8041266: fba1 1303 umull r1, r3, r1, r3 804126a: 09db lsrs r3, r3, #7 804126c: 49bb ldr r1, [pc, #748] ; (804155c ) 804126e: fb01 f303 mul.w r3, r1, r3 8041272: 1ad3 subs r3, r2, r3 8041274: 4aba ldr r2, [pc, #744] ; (8041560 ) 8041276: fba2 2303 umull r2, r3, r2, r3 804127a: 0b5b lsrs r3, r3, #13 804127c: b2db uxtb r3, r3 804127e: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 8041282: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8041286: 0953 lsrs r3, r2, #5 8041288: 49b3 ldr r1, [pc, #716] ; (8041558 ) 804128a: fba1 1303 umull r1, r3, r1, r3 804128e: 09db lsrs r3, r3, #7 8041290: 49b2 ldr r1, [pc, #712] ; (804155c ) 8041292: fb01 f303 mul.w r3, r1, r3 8041296: 1ad3 subs r3, r2, r3 8041298: 4ab1 ldr r2, [pc, #708] ; (8041560 ) 804129a: fba2 1203 umull r1, r2, r2, r3 804129e: 0b52 lsrs r2, r2, #13 80412a0: f242 7110 movw r1, #10000 ; 0x2710 80412a4: fb01 f202 mul.w r2, r1, r2 80412a8: 1a9a subs r2, r3, r2 80412aa: 4bae ldr r3, [pc, #696] ; (8041564 ) 80412ac: fba3 2302 umull r2, r3, r3, r2 80412b0: 099b lsrs r3, r3, #6 80412b2: b2db uxtb r3, r3 80412b4: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 80412b8: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80412bc: 095a lsrs r2, r3, #5 80412be: 49a6 ldr r1, [pc, #664] ; (8041558 ) 80412c0: fba1 1202 umull r1, r2, r1, r2 80412c4: 09d2 lsrs r2, r2, #7 80412c6: 49a5 ldr r1, [pc, #660] ; (804155c ) 80412c8: fb01 f202 mul.w r2, r1, r2 80412cc: 1a9a subs r2, r3, r2 80412ce: 4ba4 ldr r3, [pc, #656] ; (8041560 ) 80412d0: fba3 1302 umull r1, r3, r3, r2 80412d4: 0b5b lsrs r3, r3, #13 80412d6: f242 7110 movw r1, #10000 ; 0x2710 80412da: fb01 f303 mul.w r3, r1, r3 80412de: 1ad3 subs r3, r2, r3 80412e0: 4aa0 ldr r2, [pc, #640] ; (8041564 ) 80412e2: fba2 1203 umull r1, r2, r2, r3 80412e6: 0992 lsrs r2, r2, #6 80412e8: f44f 717a mov.w r1, #1000 ; 0x3e8 80412ec: fb01 f202 mul.w r2, r1, r2 80412f0: 1a9a subs r2, r3, r2 80412f2: 4b9d ldr r3, [pc, #628] ; (8041568 ) 80412f4: fba3 2302 umull r2, r3, r3, r2 80412f8: 095b lsrs r3, r3, #5 80412fa: b2db uxtb r3, r3 80412fc: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 8041300: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8041304: 0953 lsrs r3, r2, #5 8041306: 4994 ldr r1, [pc, #592] ; (8041558 ) 8041308: fba1 1303 umull r1, r3, r1, r3 804130c: 09db lsrs r3, r3, #7 804130e: 4993 ldr r1, [pc, #588] ; (804155c ) 8041310: fb01 f303 mul.w r3, r1, r3 8041314: 1ad3 subs r3, r2, r3 8041316: 4a92 ldr r2, [pc, #584] ; (8041560 ) 8041318: fba2 1203 umull r1, r2, r2, r3 804131c: 0b52 lsrs r2, r2, #13 804131e: f242 7110 movw r1, #10000 ; 0x2710 8041322: fb01 f202 mul.w r2, r1, r2 8041326: 1a9a subs r2, r3, r2 8041328: 4b8e ldr r3, [pc, #568] ; (8041564 ) 804132a: fba3 1302 umull r1, r3, r3, r2 804132e: 099b lsrs r3, r3, #6 8041330: f44f 717a mov.w r1, #1000 ; 0x3e8 8041334: fb01 f303 mul.w r3, r1, r3 8041338: 1ad3 subs r3, r2, r3 804133a: 4a8b ldr r2, [pc, #556] ; (8041568 ) 804133c: fba2 1203 umull r1, r2, r2, r3 8041340: 0952 lsrs r2, r2, #5 8041342: 2164 movs r1, #100 ; 0x64 8041344: fb01 f202 mul.w r2, r1, r2 8041348: 1a9a subs r2, r3, r2 804134a: 4b88 ldr r3, [pc, #544] ; (804156c ) 804134c: fba3 2302 umull r2, r3, r3, r2 8041350: 08db lsrs r3, r3, #3 8041352: b2db uxtb r3, r3 8041354: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 8041358: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 804135c: 0953 lsrs r3, r2, #5 804135e: 497e ldr r1, [pc, #504] ; (8041558 ) 8041360: fba1 1303 umull r1, r3, r1, r3 8041364: 09db lsrs r3, r3, #7 8041366: 497d ldr r1, [pc, #500] ; (804155c ) 8041368: fb01 f303 mul.w r3, r1, r3 804136c: 1ad3 subs r3, r2, r3 804136e: 4a7c ldr r2, [pc, #496] ; (8041560 ) 8041370: fba2 1203 umull r1, r2, r2, r3 8041374: 0b52 lsrs r2, r2, #13 8041376: f242 7110 movw r1, #10000 ; 0x2710 804137a: fb01 f202 mul.w r2, r1, r2 804137e: 1a9a subs r2, r3, r2 8041380: 4b78 ldr r3, [pc, #480] ; (8041564 ) 8041382: fba3 1302 umull r1, r3, r3, r2 8041386: 099b lsrs r3, r3, #6 8041388: f44f 717a mov.w r1, #1000 ; 0x3e8 804138c: fb01 f303 mul.w r3, r1, r3 8041390: 1ad3 subs r3, r2, r3 8041392: 4a75 ldr r2, [pc, #468] ; (8041568 ) 8041394: fba2 1203 umull r1, r2, r2, r3 8041398: 0952 lsrs r2, r2, #5 804139a: 2164 movs r1, #100 ; 0x64 804139c: fb01 f202 mul.w r2, r1, r2 80413a0: 1a9a subs r2, r3, r2 80413a2: 4b72 ldr r3, [pc, #456] ; (804156c ) 80413a4: fba3 1302 umull r1, r3, r3, r2 80413a8: 08d9 lsrs r1, r3, #3 80413aa: 460b mov r3, r1 80413ac: 009b lsls r3, r3, #2 80413ae: 440b add r3, r1 80413b0: 005b lsls r3, r3, #1 80413b2: 1ad1 subs r1, r2, r3 80413b4: b2cb uxtb r3, r1 80413b6: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 80413ba: 4b65 ldr r3, [pc, #404] ; (8041550 ) 80413bc: 781b ldrb r3, [r3, #0] 80413be: b2db uxtb r3, r3 80413c0: 3b19 subs r3, #25 80413c2: 2b05 cmp r3, #5 80413c4: d869 bhi.n 804149a 80413c6: a201 add r2, pc, #4 ; (adr r2, 80413cc ) 80413c8: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80413cc: 080413e5 .word 0x080413e5 80413d0: 08041405 .word 0x08041405 80413d4: 08041427 .word 0x08041427 80413d8: 08041447 .word 0x08041447 80413dc: 08041463 .word 0x08041463 80413e0: 0804147f .word 0x0804147f if(k > 100000) k -= 100000; 80413e4: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80413e8: 4a5c ldr r2, [pc, #368] ; (804155c ) 80413ea: 4293 cmp r3, r2 80413ec: d906 bls.n 80413fc 80413ee: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80413f2: 4b5f ldr r3, [pc, #380] ; (8041570 ) 80413f4: 4413 add r3, r2 80413f6: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80413fa: e04e b.n 804149a else k = 0; 80413fc: 2300 movs r3, #0 80413fe: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041402: e04a b.n 804149a if(k > 10000) k -= 10000; 8041404: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041408: f242 7210 movw r2, #10000 ; 0x2710 804140c: 4293 cmp r3, r2 804140e: d906 bls.n 804141e 8041410: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8041414: 4b57 ldr r3, [pc, #348] ; (8041574 ) 8041416: 4413 add r3, r2 8041418: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 804141c: e03d b.n 804149a else k = 0; 804141e: 2300 movs r3, #0 8041420: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041424: e039 b.n 804149a if(k > 1000) k -= 1000; 8041426: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804142a: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 804142e: d906 bls.n 804143e 8041430: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041434: f5a3 737a sub.w r3, r3, #1000 ; 0x3e8 8041438: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 804143c: e02d b.n 804149a else k = 0; 804143e: 2300 movs r3, #0 8041440: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041444: e029 b.n 804149a if(k > 100) k -= 100; 8041446: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804144a: 2b64 cmp r3, #100 ; 0x64 804144c: d905 bls.n 804145a 804144e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041452: 3b64 subs r3, #100 ; 0x64 8041454: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041458: e01f b.n 804149a else k = 0; 804145a: 2300 movs r3, #0 804145c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041460: e01b b.n 804149a if(k > 10) k -= 10; 8041462: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041466: 2b0a cmp r3, #10 8041468: d905 bls.n 8041476 804146a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804146e: 3b0a subs r3, #10 8041470: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041474: e011 b.n 804149a else k = 0; 8041476: 2300 movs r3, #0 8041478: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 804147c: e00d b.n 804149a if(k > 1) k -= 1; 804147e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041482: 2b01 cmp r3, #1 8041484: d905 bls.n 8041492 8041486: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804148a: 3b01 subs r3, #1 804148c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041490: e002 b.n 8041498 else k = 0; 8041492: 2300 movs r3, #0 8041494: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041498: bf00 nop fl = (float32_t) k; 804149a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804149e: ee07 3a90 vmov s15, r3 80414a2: eef8 7a67 vcvt.f32.u32 s15, s15 80414a6: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl *= 0.1f; 80414aa: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 80414ae: ed9f 7a32 vldr s14, [pc, #200] ; 8041578 80414b2: ee67 7a87 vmul.f32 s15, s15, s14 80414b6: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl += 0.0001f; 80414ba: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 80414be: ed9f 7a2f vldr s14, [pc, #188] ; 804157c 80414c2: ee77 7a87 vadd.f32 s15, s15, s14 80414c6: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 if(pardata.IPR == ACC) 80414ca: 4b22 ldr r3, [pc, #136] ; (8041554 ) 80414cc: 785b ldrb r3, [r3, #1] 80414ce: b2db uxtb r3, r3 80414d0: 2b00 cmp r3, #0 80414d2: d155 bne.n 8041580 if(fl < 0.5f) 80414d4: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 80414d8: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80414dc: eef4 7ac7 vcmpe.f32 s15, s14 80414e0: eef1 fa10 vmrs APSR_nzcv, fpscr 80414e4: d505 bpl.n 80414f2 pardata.HP = 0.5f; 80414e6: 4b1b ldr r3, [pc, #108] ; (8041554 ) 80414e8: f04f 527c mov.w r2, #1056964608 ; 0x3f000000 80414ec: f8c3 20d4 str.w r2, [r3, #212] ; 0xd4 if(pardata.IPR == ACC) 80414f0: e252 b.n 8041998 if(fl > pardata.LP) 80414f2: 4b18 ldr r3, [pc, #96] ; (8041554 ) 80414f4: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 80414f8: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 80414fc: eeb4 7ae7 vcmpe.f32 s14, s15 8041500: eef1 fa10 vmrs APSR_nzcv, fpscr 8041504: d506 bpl.n 8041514 pardata.HP = pardata.LP; 8041506: 4b13 ldr r3, [pc, #76] ; (8041554 ) 8041508: f8d3 30d8 ldr.w r3, [r3, #216] ; 0xd8 804150c: 4a11 ldr r2, [pc, #68] ; (8041554 ) 804150e: f8c2 30d4 str.w r3, [r2, #212] ; 0xd4 if(pardata.IPR == ACC) 8041512: e241 b.n 8041998 pardata.HP = (float32_t) k; 8041514: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041518: ee07 3a90 vmov s15, r3 804151c: eef8 7a67 vcvt.f32.u32 s15, s15 8041520: 4b0c ldr r3, [pc, #48] ; (8041554 ) 8041522: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 pardata.HP *= 0.1f; 8041526: 4b0b ldr r3, [pc, #44] ; (8041554 ) 8041528: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 804152c: ed9f 7a12 vldr s14, [pc, #72] ; 8041578 8041530: ee67 7a87 vmul.f32 s15, s15, s14 8041534: 4b07 ldr r3, [pc, #28] ; (8041554 ) 8041536: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 pardata.HP += 0.0001f; 804153a: 4b06 ldr r3, [pc, #24] ; (8041554 ) 804153c: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 8041540: ed9f 7a0e vldr s14, [pc, #56] ; 804157c 8041544: ee77 7a87 vadd.f32 s15, s15, s14 8041548: 4b02 ldr r3, [pc, #8] ; (8041554 ) 804154a: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 if(pardata.IPR == ACC) 804154e: e223 b.n 8041998 8041550: 20020070 .word 0x20020070 8041554: 20023e60 .word 0x20023e60 8041558: 0a7c5ac5 .word 0x0a7c5ac5 804155c: 000186a0 .word 0x000186a0 8041560: d1b71759 .word 0xd1b71759 8041564: 10624dd3 .word 0x10624dd3 8041568: 51eb851f .word 0x51eb851f 804156c: cccccccd .word 0xcccccccd 8041570: fffe7960 .word 0xfffe7960 8041574: ffffd8f0 .word 0xffffd8f0 8041578: 3dcccccd .word 0x3dcccccd 804157c: 38d1b717 .word 0x38d1b717 if(fl < 2.0f) 8041580: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8041584: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 8041588: eef4 7ac7 vcmpe.f32 s15, s14 804158c: eef1 fa10 vmrs APSR_nzcv, fpscr 8041590: d505 bpl.n 804159e pardata.HP = 2.0f; 8041592: 4bcc ldr r3, [pc, #816] ; (80418c4 ) 8041594: f04f 4280 mov.w r2, #1073741824 ; 0x40000000 8041598: f8c3 20d4 str.w r2, [r3, #212] ; 0xd4 if(pardata.IPR == ACC) 804159c: e1fc b.n 8041998 if(fl > pardata.LP) 804159e: 4bc9 ldr r3, [pc, #804] ; (80418c4 ) 80415a0: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 80415a4: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 80415a8: eeb4 7ae7 vcmpe.f32 s14, s15 80415ac: eef1 fa10 vmrs APSR_nzcv, fpscr 80415b0: d506 bpl.n 80415c0 pardata.HP = pardata.LP; 80415b2: 4bc4 ldr r3, [pc, #784] ; (80418c4 ) 80415b4: f8d3 30d8 ldr.w r3, [r3, #216] ; 0xd8 80415b8: 4ac2 ldr r2, [pc, #776] ; (80418c4 ) 80415ba: f8c2 30d4 str.w r3, [r2, #212] ; 0xd4 if(pardata.IPR == ACC) 80415be: e1eb b.n 8041998 pardata.HP = (float32_t) k; 80415c0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80415c4: ee07 3a90 vmov s15, r3 80415c8: eef8 7a67 vcvt.f32.u32 s15, s15 80415cc: 4bbd ldr r3, [pc, #756] ; (80418c4 ) 80415ce: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 pardata.HP *= 0.1f; 80415d2: 4bbc ldr r3, [pc, #752] ; (80418c4 ) 80415d4: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 80415d8: ed9f 7abb vldr s14, [pc, #748] ; 80418c8 80415dc: ee67 7a87 vmul.f32 s15, s15, s14 80415e0: 4bb8 ldr r3, [pc, #736] ; (80418c4 ) 80415e2: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 pardata.HP += 0.0001f; 80415e6: 4bb7 ldr r3, [pc, #732] ; (80418c4 ) 80415e8: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 80415ec: ed9f 7ab7 vldr s14, [pc, #732] ; 80418cc 80415f0: ee77 7a87 vadd.f32 s15, s15, s14 80415f4: 4bb3 ldr r3, [pc, #716] ; (80418c4 ) 80415f6: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 if(pardata.IPR == ACC) 80415fa: e1cd b.n 8041998 if((menupos >= FilterLP_IDT) && (menupos <= FilterLP_IKD)) 80415fc: 4bb4 ldr r3, [pc, #720] ; (80418d0 ) 80415fe: 781b ldrb r3, [r3, #0] 8041600: b2db uxtb r3, r3 8041602: 2b1e cmp r3, #30 8041604: f240 81cc bls.w 80419a0 8041608: 4bb1 ldr r3, [pc, #708] ; (80418d0 ) 804160a: 781b ldrb r3, [r3, #0] 804160c: b2db uxtb r3, r3 804160e: 2b24 cmp r3, #36 ; 0x24 8041610: f200 81c6 bhi.w 80419a0 k = (uint32_t) (pardata.LP * 10.0f); 8041614: 4bab ldr r3, [pc, #684] ; (80418c4 ) 8041616: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 804161a: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 804161e: ee67 7a87 vmul.f32 s15, s15, s14 8041622: eefc 7ae7 vcvt.u32.f32 s15, s15 8041626: ee17 3a90 vmov r3, s15 804162a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 804162e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041632: 095b lsrs r3, r3, #5 8041634: 4aa7 ldr r2, [pc, #668] ; (80418d4 ) 8041636: fba2 2303 umull r2, r3, r2, r3 804163a: 09db lsrs r3, r3, #7 804163c: b2db uxtb r3, r3 804163e: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 8041642: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8041646: 0953 lsrs r3, r2, #5 8041648: 49a2 ldr r1, [pc, #648] ; (80418d4 ) 804164a: fba1 1303 umull r1, r3, r1, r3 804164e: 09db lsrs r3, r3, #7 8041650: 49a1 ldr r1, [pc, #644] ; (80418d8 ) 8041652: fb01 f303 mul.w r3, r1, r3 8041656: 1ad3 subs r3, r2, r3 8041658: 4aa0 ldr r2, [pc, #640] ; (80418dc ) 804165a: fba2 2303 umull r2, r3, r2, r3 804165e: 0b5b lsrs r3, r3, #13 8041660: b2db uxtb r3, r3 8041662: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 8041666: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 804166a: 0953 lsrs r3, r2, #5 804166c: 4999 ldr r1, [pc, #612] ; (80418d4 ) 804166e: fba1 1303 umull r1, r3, r1, r3 8041672: 09db lsrs r3, r3, #7 8041674: 4998 ldr r1, [pc, #608] ; (80418d8 ) 8041676: fb01 f303 mul.w r3, r1, r3 804167a: 1ad3 subs r3, r2, r3 804167c: 4a97 ldr r2, [pc, #604] ; (80418dc ) 804167e: fba2 1203 umull r1, r2, r2, r3 8041682: 0b52 lsrs r2, r2, #13 8041684: f242 7110 movw r1, #10000 ; 0x2710 8041688: fb01 f202 mul.w r2, r1, r2 804168c: 1a9a subs r2, r3, r2 804168e: 4b94 ldr r3, [pc, #592] ; (80418e0 ) 8041690: fba3 2302 umull r2, r3, r3, r2 8041694: 099b lsrs r3, r3, #6 8041696: b2db uxtb r3, r3 8041698: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 804169c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80416a0: 095a lsrs r2, r3, #5 80416a2: 498c ldr r1, [pc, #560] ; (80418d4 ) 80416a4: fba1 1202 umull r1, r2, r1, r2 80416a8: 09d2 lsrs r2, r2, #7 80416aa: 498b ldr r1, [pc, #556] ; (80418d8 ) 80416ac: fb01 f202 mul.w r2, r1, r2 80416b0: 1a9a subs r2, r3, r2 80416b2: 4b8a ldr r3, [pc, #552] ; (80418dc ) 80416b4: fba3 1302 umull r1, r3, r3, r2 80416b8: 0b5b lsrs r3, r3, #13 80416ba: f242 7110 movw r1, #10000 ; 0x2710 80416be: fb01 f303 mul.w r3, r1, r3 80416c2: 1ad3 subs r3, r2, r3 80416c4: 4a86 ldr r2, [pc, #536] ; (80418e0 ) 80416c6: fba2 1203 umull r1, r2, r2, r3 80416ca: 0992 lsrs r2, r2, #6 80416cc: f44f 717a mov.w r1, #1000 ; 0x3e8 80416d0: fb01 f202 mul.w r2, r1, r2 80416d4: 1a9a subs r2, r3, r2 80416d6: 4b83 ldr r3, [pc, #524] ; (80418e4 ) 80416d8: fba3 2302 umull r2, r3, r3, r2 80416dc: 095b lsrs r3, r3, #5 80416de: b2db uxtb r3, r3 80416e0: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 80416e4: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80416e8: 0953 lsrs r3, r2, #5 80416ea: 497a ldr r1, [pc, #488] ; (80418d4 ) 80416ec: fba1 1303 umull r1, r3, r1, r3 80416f0: 09db lsrs r3, r3, #7 80416f2: 4979 ldr r1, [pc, #484] ; (80418d8 ) 80416f4: fb01 f303 mul.w r3, r1, r3 80416f8: 1ad3 subs r3, r2, r3 80416fa: 4a78 ldr r2, [pc, #480] ; (80418dc ) 80416fc: fba2 1203 umull r1, r2, r2, r3 8041700: 0b52 lsrs r2, r2, #13 8041702: f242 7110 movw r1, #10000 ; 0x2710 8041706: fb01 f202 mul.w r2, r1, r2 804170a: 1a9a subs r2, r3, r2 804170c: 4b74 ldr r3, [pc, #464] ; (80418e0 ) 804170e: fba3 1302 umull r1, r3, r3, r2 8041712: 099b lsrs r3, r3, #6 8041714: f44f 717a mov.w r1, #1000 ; 0x3e8 8041718: fb01 f303 mul.w r3, r1, r3 804171c: 1ad3 subs r3, r2, r3 804171e: 4a71 ldr r2, [pc, #452] ; (80418e4 ) 8041720: fba2 1203 umull r1, r2, r2, r3 8041724: 0952 lsrs r2, r2, #5 8041726: 2164 movs r1, #100 ; 0x64 8041728: fb01 f202 mul.w r2, r1, r2 804172c: 1a9a subs r2, r3, r2 804172e: 4b6e ldr r3, [pc, #440] ; (80418e8 ) 8041730: fba3 2302 umull r2, r3, r3, r2 8041734: 08db lsrs r3, r3, #3 8041736: b2db uxtb r3, r3 8041738: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 804173c: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8041740: 0953 lsrs r3, r2, #5 8041742: 4964 ldr r1, [pc, #400] ; (80418d4 ) 8041744: fba1 1303 umull r1, r3, r1, r3 8041748: 09db lsrs r3, r3, #7 804174a: 4963 ldr r1, [pc, #396] ; (80418d8 ) 804174c: fb01 f303 mul.w r3, r1, r3 8041750: 1ad3 subs r3, r2, r3 8041752: 4a62 ldr r2, [pc, #392] ; (80418dc ) 8041754: fba2 1203 umull r1, r2, r2, r3 8041758: 0b52 lsrs r2, r2, #13 804175a: f242 7110 movw r1, #10000 ; 0x2710 804175e: fb01 f202 mul.w r2, r1, r2 8041762: 1a9a subs r2, r3, r2 8041764: 4b5e ldr r3, [pc, #376] ; (80418e0 ) 8041766: fba3 1302 umull r1, r3, r3, r2 804176a: 099b lsrs r3, r3, #6 804176c: f44f 717a mov.w r1, #1000 ; 0x3e8 8041770: fb01 f303 mul.w r3, r1, r3 8041774: 1ad3 subs r3, r2, r3 8041776: 4a5b ldr r2, [pc, #364] ; (80418e4 ) 8041778: fba2 1203 umull r1, r2, r2, r3 804177c: 0952 lsrs r2, r2, #5 804177e: 2164 movs r1, #100 ; 0x64 8041780: fb01 f202 mul.w r2, r1, r2 8041784: 1a9a subs r2, r3, r2 8041786: 4b58 ldr r3, [pc, #352] ; (80418e8 ) 8041788: fba3 1302 umull r1, r3, r3, r2 804178c: 08d9 lsrs r1, r3, #3 804178e: 460b mov r3, r1 8041790: 009b lsls r3, r3, #2 8041792: 440b add r3, r1 8041794: 005b lsls r3, r3, #1 8041796: 1ad1 subs r1, r2, r3 8041798: b2cb uxtb r3, r1 804179a: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 804179e: 4b4c ldr r3, [pc, #304] ; (80418d0 ) 80417a0: 781b ldrb r3, [r3, #0] 80417a2: b2db uxtb r3, r3 80417a4: 3b1f subs r3, #31 80417a6: 2b05 cmp r3, #5 80417a8: d869 bhi.n 804187e 80417aa: a201 add r2, pc, #4 ; (adr r2, 80417b0 ) 80417ac: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80417b0: 080417c9 .word 0x080417c9 80417b4: 080417e9 .word 0x080417e9 80417b8: 0804180b .word 0x0804180b 80417bc: 0804182b .word 0x0804182b 80417c0: 08041847 .word 0x08041847 80417c4: 08041863 .word 0x08041863 if(k > 100000) k -= 100000; 80417c8: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80417cc: 4a42 ldr r2, [pc, #264] ; (80418d8 ) 80417ce: 4293 cmp r3, r2 80417d0: d906 bls.n 80417e0 80417d2: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80417d6: 4b45 ldr r3, [pc, #276] ; (80418ec ) 80417d8: 4413 add r3, r2 80417da: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80417de: e04e b.n 804187e else k = 0; 80417e0: 2300 movs r3, #0 80417e2: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80417e6: e04a b.n 804187e if(k > 10000) k -= 10000; 80417e8: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80417ec: f242 7210 movw r2, #10000 ; 0x2710 80417f0: 4293 cmp r3, r2 80417f2: d906 bls.n 8041802 80417f4: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80417f8: 4b3d ldr r3, [pc, #244] ; (80418f0 ) 80417fa: 4413 add r3, r2 80417fc: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041800: e03d b.n 804187e else k = 0; 8041802: 2300 movs r3, #0 8041804: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041808: e039 b.n 804187e if(k > 1000) k -= 1000; 804180a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804180e: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 8041812: d906 bls.n 8041822 8041814: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041818: f5a3 737a sub.w r3, r3, #1000 ; 0x3e8 804181c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041820: e02d b.n 804187e else k = 0; 8041822: 2300 movs r3, #0 8041824: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041828: e029 b.n 804187e if(k > 100) k -= 100; 804182a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804182e: 2b64 cmp r3, #100 ; 0x64 8041830: d905 bls.n 804183e 8041832: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041836: 3b64 subs r3, #100 ; 0x64 8041838: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 804183c: e01f b.n 804187e else k = 0; 804183e: 2300 movs r3, #0 8041840: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041844: e01b b.n 804187e if(k > 10) k -= 10; 8041846: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804184a: 2b0a cmp r3, #10 804184c: d905 bls.n 804185a 804184e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041852: 3b0a subs r3, #10 8041854: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041858: e011 b.n 804187e else k = 0; 804185a: 2300 movs r3, #0 804185c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041860: e00d b.n 804187e if(k > 1) k -= 1; 8041862: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041866: 2b01 cmp r3, #1 8041868: d905 bls.n 8041876 804186a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804186e: 3b01 subs r3, #1 8041870: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041874: e002 b.n 804187c else k = 0; 8041876: 2300 movs r3, #0 8041878: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 804187c: bf00 nop fl = (float32_t) k; 804187e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041882: ee07 3a90 vmov s15, r3 8041886: eef8 7a67 vcvt.f32.u32 s15, s15 804188a: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl *= 0.1f; 804188e: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8041892: ed9f 7a0d vldr s14, [pc, #52] ; 80418c8 8041896: ee67 7a87 vmul.f32 s15, s15, s14 804189a: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl += 0.0001f; 804189e: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 80418a2: ed9f 7a0a vldr s14, [pc, #40] ; 80418cc 80418a6: ee77 7a87 vadd.f32 s15, s15, s14 80418aa: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 if((pardata.OPTIONS & maskFFT) == okt) 80418ae: 4b05 ldr r3, [pc, #20] ; (80418c4 ) 80418b0: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80418b4: f003 0330 and.w r3, r3, #48 ; 0x30 80418b8: 2b20 cmp r3, #32 80418ba: d11d bne.n 80418f8 f = 12800.0f; 80418bc: 4b0d ldr r3, [pc, #52] ; (80418f4 ) 80418be: f8c7 30b4 str.w r3, [r7, #180] ; 0xb4 80418c2: e01c b.n 80418fe 80418c4: 20023e60 .word 0x20023e60 80418c8: 3dcccccd .word 0x3dcccccd 80418cc: 38d1b717 .word 0x38d1b717 80418d0: 20020070 .word 0x20020070 80418d4: 0a7c5ac5 .word 0x0a7c5ac5 80418d8: 000186a0 .word 0x000186a0 80418dc: d1b71759 .word 0xd1b71759 80418e0: 10624dd3 .word 0x10624dd3 80418e4: 51eb851f .word 0x51eb851f 80418e8: cccccccd .word 0xcccccccd 80418ec: fffe7960 .word 0xfffe7960 80418f0: ffffd8f0 .word 0xffffd8f0 80418f4: 46480000 .word 0x46480000 else f = 6400.0f; 80418f8: 4b6f ldr r3, [pc, #444] ; (8041ab8 ) 80418fa: f8c7 30b4 str.w r3, [r7, #180] ; 0xb4 if(fl < 10.0f) 80418fe: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8041902: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 8041906: eef4 7ac7 vcmpe.f32 s15, s14 804190a: eef1 fa10 vmrs APSR_nzcv, fpscr 804190e: d504 bpl.n 804191a pardata.LP = 10.0f; 8041910: 4b6a ldr r3, [pc, #424] ; (8041abc ) 8041912: 4a6b ldr r2, [pc, #428] ; (8041ac0 ) 8041914: f8c3 20d8 str.w r2, [r3, #216] ; 0xd8 break; 8041918: e042 b.n 80419a0 if(pardata.LP < pardata.HP) 804191a: 4b68 ldr r3, [pc, #416] ; (8041abc ) 804191c: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 8041920: 4b66 ldr r3, [pc, #408] ; (8041abc ) 8041922: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 8041926: eeb4 7ae7 vcmpe.f32 s14, s15 804192a: eef1 fa10 vmrs APSR_nzcv, fpscr 804192e: d506 bpl.n 804193e pardata.LP = pardata.HP; 8041930: 4b62 ldr r3, [pc, #392] ; (8041abc ) 8041932: f8d3 30d4 ldr.w r3, [r3, #212] ; 0xd4 8041936: 4a61 ldr r2, [pc, #388] ; (8041abc ) 8041938: f8c2 30d8 str.w r3, [r2, #216] ; 0xd8 break; 804193c: e030 b.n 80419a0 if(fl > f) 804193e: ed97 7a2a vldr s14, [r7, #168] ; 0xa8 8041942: edd7 7a2d vldr s15, [r7, #180] ; 0xb4 8041946: eeb4 7ae7 vcmpe.f32 s14, s15 804194a: eef1 fa10 vmrs APSR_nzcv, fpscr 804194e: dd05 ble.n 804195c pardata.LP = f; 8041950: 4a5a ldr r2, [pc, #360] ; (8041abc ) 8041952: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 8041956: f8c2 30d8 str.w r3, [r2, #216] ; 0xd8 break; 804195a: e021 b.n 80419a0 pardata.LP = (float32_t) k; 804195c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041960: ee07 3a90 vmov s15, r3 8041964: eef8 7a67 vcvt.f32.u32 s15, s15 8041968: 4b54 ldr r3, [pc, #336] ; (8041abc ) 804196a: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 pardata.LP *= 0.1f; 804196e: 4b53 ldr r3, [pc, #332] ; (8041abc ) 8041970: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 8041974: ed9f 7a53 vldr s14, [pc, #332] ; 8041ac4 8041978: ee67 7a87 vmul.f32 s15, s15, s14 804197c: 4b4f ldr r3, [pc, #316] ; (8041abc ) 804197e: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 pardata.LP += 0.0001f; 8041982: 4b4e ldr r3, [pc, #312] ; (8041abc ) 8041984: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 8041988: ed9f 7a4f vldr s14, [pc, #316] ; 8041ac8 804198c: ee77 7a87 vadd.f32 s15, s15, s14 8041990: 4b4a ldr r3, [pc, #296] ; (8041abc ) 8041992: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 break; 8041996: e003 b.n 80419a0 8041998: e002 b.n 80419a0 break; 804199a: bf00 nop 804199c: f002 b828 b.w 80439f0 break; 80419a0: bf00 nop break; 80419a2: f002 b825 b.w 80439f0 case PARAM_OSC: focused = false; 80419a6: 4b49 ldr r3, [pc, #292] ; (8041acc ) 80419a8: 2200 movs r2, #0 80419aa: 701a strb r2, [r3, #0] if(menupos == Ok) 80419ac: 4b48 ldr r3, [pc, #288] ; (8041ad0 ) 80419ae: 781b ldrb r3, [r3, #0] 80419b0: b2db uxtb r3, r3 80419b2: 2b00 cmp r3, #0 80419b4: d104 bne.n 80419c0 menupos = OscValue; 80419b6: 4b46 ldr r3, [pc, #280] ; (8041ad0 ) 80419b8: 2201 movs r2, #1 80419ba: 701a strb r2, [r3, #0] pardata.LP = (float32_t) k; pardata.LP *= 0.1f; pardata.LP += 0.0001f; } } break; 80419bc: f001 bffc b.w 80439b8 if(menupos == OscValue) 80419c0: 4b43 ldr r3, [pc, #268] ; (8041ad0 ) 80419c2: 781b ldrb r3, [r3, #0] 80419c4: b2db uxtb r3, r3 80419c6: 2b01 cmp r3, #1 80419c8: d104 bne.n 80419d4 menupos = FilterHP; 80419ca: 4b41 ldr r3, [pc, #260] ; (8041ad0 ) 80419cc: 2217 movs r2, #23 80419ce: 701a strb r2, [r3, #0] break; 80419d0: f001 bff2 b.w 80439b8 if(menupos == FilterHP) 80419d4: 4b3e ldr r3, [pc, #248] ; (8041ad0 ) 80419d6: 781b ldrb r3, [r3, #0] 80419d8: b2db uxtb r3, r3 80419da: 2b17 cmp r3, #23 80419dc: d104 bne.n 80419e8 menupos = FilterLP; 80419de: 4b3c ldr r3, [pc, #240] ; (8041ad0 ) 80419e0: 2218 movs r2, #24 80419e2: 701a strb r2, [r3, #0] break; 80419e4: f001 bfe8 b.w 80439b8 if(menupos == FilterLP) 80419e8: 4b39 ldr r3, [pc, #228] ; (8041ad0 ) 80419ea: 781b ldrb r3, [r3, #0] 80419ec: b2db uxtb r3, r3 80419ee: 2b18 cmp r3, #24 80419f0: d104 bne.n 80419fc menupos = OscRate; 80419f2: 4b37 ldr r3, [pc, #220] ; (8041ad0 ) 80419f4: 2203 movs r2, #3 80419f6: 701a strb r2, [r3, #0] break; 80419f8: f001 bfde b.w 80439b8 if(menupos == OscRate) 80419fc: 4b34 ldr r3, [pc, #208] ; (8041ad0 ) 80419fe: 781b ldrb r3, [r3, #0] 8041a00: b2db uxtb r3, r3 8041a02: 2b03 cmp r3, #3 8041a04: d104 bne.n 8041a10 menupos = OscLen; 8041a06: 4b32 ldr r3, [pc, #200] ; (8041ad0 ) 8041a08: 2204 movs r2, #4 8041a0a: 701a strb r2, [r3, #0] break; 8041a0c: f001 bfd4 b.w 80439b8 if(menupos == OscLen) 8041a10: 4b2f ldr r3, [pc, #188] ; (8041ad0 ) 8041a12: 781b ldrb r3, [r3, #0] 8041a14: b2db uxtb r3, r3 8041a16: 2b04 cmp r3, #4 8041a18: d104 bne.n 8041a24 menupos = OscAutoKu; 8041a1a: 4b2d ldr r3, [pc, #180] ; (8041ad0 ) 8041a1c: 2205 movs r2, #5 8041a1e: 701a strb r2, [r3, #0] break; 8041a20: f001 bfca b.w 80439b8 if(menupos == OscAutoKu) 8041a24: 4b2a ldr r3, [pc, #168] ; (8041ad0 ) 8041a26: 781b ldrb r3, [r3, #0] 8041a28: b2db uxtb r3, r3 8041a2a: 2b05 cmp r3, #5 8041a2c: d110 bne.n 8041a50 if(pardata.OPTIONS & 0x4) 8041a2e: 4b23 ldr r3, [pc, #140] ; (8041abc ) 8041a30: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8041a34: f003 0304 and.w r3, r3, #4 8041a38: 2b00 cmp r3, #0 8041a3a: d004 beq.n 8041a46 menupos = Ok; 8041a3c: 4b24 ldr r3, [pc, #144] ; (8041ad0 ) 8041a3e: 2200 movs r2, #0 8041a40: 701a strb r2, [r3, #0] break; 8041a42: f001 bfb9 b.w 80439b8 else menupos = OscMax_ALL; 8041a46: 4b22 ldr r3, [pc, #136] ; (8041ad0 ) 8041a48: 2206 movs r2, #6 8041a4a: 701a strb r2, [r3, #0] break; 8041a4c: f001 bfb4 b.w 80439b8 if(menupos == OscMax_ALL) 8041a50: 4b1f ldr r3, [pc, #124] ; (8041ad0 ) 8041a52: 781b ldrb r3, [r3, #0] 8041a54: b2db uxtb r3, r3 8041a56: 2b06 cmp r3, #6 8041a58: d10e bne.n 8041a78 if(pardata.IPR > ACC) 8041a5a: 4b18 ldr r3, [pc, #96] ; (8041abc ) 8041a5c: 785b ldrb r3, [r3, #1] 8041a5e: b2db uxtb r3, r3 8041a60: 2b00 cmp r3, #0 8041a62: d004 beq.n 8041a6e menupos = Ok; 8041a64: 4b1a ldr r3, [pc, #104] ; (8041ad0 ) 8041a66: 2200 movs r2, #0 8041a68: 701a strb r2, [r3, #0] break; 8041a6a: f001 bfa5 b.w 80439b8 else menupos = OscThr; 8041a6e: 4b18 ldr r3, [pc, #96] ; (8041ad0 ) 8041a70: 2207 movs r2, #7 8041a72: 701a strb r2, [r3, #0] break; 8041a74: f001 bfa0 b.w 80439b8 if(menupos == OscThr) 8041a78: 4b15 ldr r3, [pc, #84] ; (8041ad0 ) 8041a7a: 781b ldrb r3, [r3, #0] 8041a7c: b2db uxtb r3, r3 8041a7e: 2b07 cmp r3, #7 8041a80: d10f bne.n 8041aa2 if(pardata.THR & 0x80) 8041a82: 4b0e ldr r3, [pc, #56] ; (8041abc ) 8041a84: 7bdb ldrb r3, [r3, #15] 8041a86: b2db uxtb r3, r3 8041a88: b25b sxtb r3, r3 8041a8a: 2b00 cmp r3, #0 8041a8c: da04 bge.n 8041a98 menupos = OscThr_ALL; 8041a8e: 4b10 ldr r3, [pc, #64] ; (8041ad0 ) 8041a90: 2208 movs r2, #8 8041a92: 701a strb r2, [r3, #0] break; 8041a94: f001 bf90 b.w 80439b8 else menupos = Ok; 8041a98: 4b0d ldr r3, [pc, #52] ; (8041ad0 ) 8041a9a: 2200 movs r2, #0 8041a9c: 701a strb r2, [r3, #0] break; 8041a9e: f001 bf8b b.w 80439b8 if(menupos == OscThr_ALL) 8041aa2: 4b0b ldr r3, [pc, #44] ; (8041ad0 ) 8041aa4: 781b ldrb r3, [r3, #0] 8041aa6: b2db uxtb r3, r3 8041aa8: 2b08 cmp r3, #8 8041aaa: d113 bne.n 8041ad4 menupos = Ok; 8041aac: 4b08 ldr r3, [pc, #32] ; (8041ad0 ) 8041aae: 2200 movs r2, #0 8041ab0: 701a strb r2, [r3, #0] break; 8041ab2: f001 bf81 b.w 80439b8 8041ab6: bf00 nop 8041ab8: 45c80000 .word 0x45c80000 8041abc: 20023e60 .word 0x20023e60 8041ac0: 41200000 .word 0x41200000 8041ac4: 3dcccccd .word 0x3dcccccd 8041ac8: 38d1b717 .word 0x38d1b717 8041acc: 20020f84 .word 0x20020f84 8041ad0: 20020070 .word 0x20020070 if((menupos >= OscThr_IDT) && (menupos <= OscThr_IKD)) 8041ad4: 4bb3 ldr r3, [pc, #716] ; (8041da4 ) 8041ad6: 781b ldrb r3, [r3, #0] 8041ad8: b2db uxtb r3, r3 8041ada: 2b08 cmp r3, #8 8041adc: f240 817a bls.w 8041dd4 8041ae0: 4bb0 ldr r3, [pc, #704] ; (8041da4 ) 8041ae2: 781b ldrb r3, [r3, #0] 8041ae4: b2db uxtb r3, r3 8041ae6: 2b0e cmp r3, #14 8041ae8: f200 8174 bhi.w 8041dd4 k = (uint32_t) (pardata.THR_VAL * 10.0f); 8041aec: 4bae ldr r3, [pc, #696] ; (8041da8 ) 8041aee: edd3 7a05 vldr s15, [r3, #20] 8041af2: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 8041af6: ee67 7a87 vmul.f32 s15, s15, s14 8041afa: eefc 7ae7 vcvt.u32.f32 s15, s15 8041afe: ee17 3a90 vmov r3, s15 8041b02: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 8041b06: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041b0a: 095b lsrs r3, r3, #5 8041b0c: 4aa7 ldr r2, [pc, #668] ; (8041dac ) 8041b0e: fba2 2303 umull r2, r3, r2, r3 8041b12: 09db lsrs r3, r3, #7 8041b14: b2db uxtb r3, r3 8041b16: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 8041b1a: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8041b1e: 0953 lsrs r3, r2, #5 8041b20: 49a2 ldr r1, [pc, #648] ; (8041dac ) 8041b22: fba1 1303 umull r1, r3, r1, r3 8041b26: 09db lsrs r3, r3, #7 8041b28: 49a1 ldr r1, [pc, #644] ; (8041db0 ) 8041b2a: fb01 f303 mul.w r3, r1, r3 8041b2e: 1ad3 subs r3, r2, r3 8041b30: 4aa0 ldr r2, [pc, #640] ; (8041db4 ) 8041b32: fba2 2303 umull r2, r3, r2, r3 8041b36: 0b5b lsrs r3, r3, #13 8041b38: b2db uxtb r3, r3 8041b3a: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 8041b3e: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8041b42: 0953 lsrs r3, r2, #5 8041b44: 4999 ldr r1, [pc, #612] ; (8041dac ) 8041b46: fba1 1303 umull r1, r3, r1, r3 8041b4a: 09db lsrs r3, r3, #7 8041b4c: 4998 ldr r1, [pc, #608] ; (8041db0 ) 8041b4e: fb01 f303 mul.w r3, r1, r3 8041b52: 1ad3 subs r3, r2, r3 8041b54: 4a97 ldr r2, [pc, #604] ; (8041db4 ) 8041b56: fba2 1203 umull r1, r2, r2, r3 8041b5a: 0b52 lsrs r2, r2, #13 8041b5c: f242 7110 movw r1, #10000 ; 0x2710 8041b60: fb01 f202 mul.w r2, r1, r2 8041b64: 1a9a subs r2, r3, r2 8041b66: 4b94 ldr r3, [pc, #592] ; (8041db8 ) 8041b68: fba3 2302 umull r2, r3, r3, r2 8041b6c: 099b lsrs r3, r3, #6 8041b6e: b2db uxtb r3, r3 8041b70: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 8041b74: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041b78: 095a lsrs r2, r3, #5 8041b7a: 498c ldr r1, [pc, #560] ; (8041dac ) 8041b7c: fba1 1202 umull r1, r2, r1, r2 8041b80: 09d2 lsrs r2, r2, #7 8041b82: 498b ldr r1, [pc, #556] ; (8041db0 ) 8041b84: fb01 f202 mul.w r2, r1, r2 8041b88: 1a9a subs r2, r3, r2 8041b8a: 4b8a ldr r3, [pc, #552] ; (8041db4 ) 8041b8c: fba3 1302 umull r1, r3, r3, r2 8041b90: 0b5b lsrs r3, r3, #13 8041b92: f242 7110 movw r1, #10000 ; 0x2710 8041b96: fb01 f303 mul.w r3, r1, r3 8041b9a: 1ad3 subs r3, r2, r3 8041b9c: 4a86 ldr r2, [pc, #536] ; (8041db8 ) 8041b9e: fba2 1203 umull r1, r2, r2, r3 8041ba2: 0992 lsrs r2, r2, #6 8041ba4: f44f 717a mov.w r1, #1000 ; 0x3e8 8041ba8: fb01 f202 mul.w r2, r1, r2 8041bac: 1a9a subs r2, r3, r2 8041bae: 4b83 ldr r3, [pc, #524] ; (8041dbc ) 8041bb0: fba3 2302 umull r2, r3, r3, r2 8041bb4: 095b lsrs r3, r3, #5 8041bb6: b2db uxtb r3, r3 8041bb8: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 8041bbc: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8041bc0: 0953 lsrs r3, r2, #5 8041bc2: 497a ldr r1, [pc, #488] ; (8041dac ) 8041bc4: fba1 1303 umull r1, r3, r1, r3 8041bc8: 09db lsrs r3, r3, #7 8041bca: 4979 ldr r1, [pc, #484] ; (8041db0 ) 8041bcc: fb01 f303 mul.w r3, r1, r3 8041bd0: 1ad3 subs r3, r2, r3 8041bd2: 4a78 ldr r2, [pc, #480] ; (8041db4 ) 8041bd4: fba2 1203 umull r1, r2, r2, r3 8041bd8: 0b52 lsrs r2, r2, #13 8041bda: f242 7110 movw r1, #10000 ; 0x2710 8041bde: fb01 f202 mul.w r2, r1, r2 8041be2: 1a9a subs r2, r3, r2 8041be4: 4b74 ldr r3, [pc, #464] ; (8041db8 ) 8041be6: fba3 1302 umull r1, r3, r3, r2 8041bea: 099b lsrs r3, r3, #6 8041bec: f44f 717a mov.w r1, #1000 ; 0x3e8 8041bf0: fb01 f303 mul.w r3, r1, r3 8041bf4: 1ad3 subs r3, r2, r3 8041bf6: 4a71 ldr r2, [pc, #452] ; (8041dbc ) 8041bf8: fba2 1203 umull r1, r2, r2, r3 8041bfc: 0952 lsrs r2, r2, #5 8041bfe: 2164 movs r1, #100 ; 0x64 8041c00: fb01 f202 mul.w r2, r1, r2 8041c04: 1a9a subs r2, r3, r2 8041c06: 4b6e ldr r3, [pc, #440] ; (8041dc0 ) 8041c08: fba3 2302 umull r2, r3, r3, r2 8041c0c: 08db lsrs r3, r3, #3 8041c0e: b2db uxtb r3, r3 8041c10: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 8041c14: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8041c18: 0953 lsrs r3, r2, #5 8041c1a: 4964 ldr r1, [pc, #400] ; (8041dac ) 8041c1c: fba1 1303 umull r1, r3, r1, r3 8041c20: 09db lsrs r3, r3, #7 8041c22: 4963 ldr r1, [pc, #396] ; (8041db0 ) 8041c24: fb01 f303 mul.w r3, r1, r3 8041c28: 1ad3 subs r3, r2, r3 8041c2a: 4a62 ldr r2, [pc, #392] ; (8041db4 ) 8041c2c: fba2 1203 umull r1, r2, r2, r3 8041c30: 0b52 lsrs r2, r2, #13 8041c32: f242 7110 movw r1, #10000 ; 0x2710 8041c36: fb01 f202 mul.w r2, r1, r2 8041c3a: 1a9a subs r2, r3, r2 8041c3c: 4b5e ldr r3, [pc, #376] ; (8041db8 ) 8041c3e: fba3 1302 umull r1, r3, r3, r2 8041c42: 099b lsrs r3, r3, #6 8041c44: f44f 717a mov.w r1, #1000 ; 0x3e8 8041c48: fb01 f303 mul.w r3, r1, r3 8041c4c: 1ad3 subs r3, r2, r3 8041c4e: 4a5b ldr r2, [pc, #364] ; (8041dbc ) 8041c50: fba2 1203 umull r1, r2, r2, r3 8041c54: 0952 lsrs r2, r2, #5 8041c56: 2164 movs r1, #100 ; 0x64 8041c58: fb01 f202 mul.w r2, r1, r2 8041c5c: 1a9a subs r2, r3, r2 8041c5e: 4b58 ldr r3, [pc, #352] ; (8041dc0 ) 8041c60: fba3 1302 umull r1, r3, r3, r2 8041c64: 08d9 lsrs r1, r3, #3 8041c66: 460b mov r3, r1 8041c68: 009b lsls r3, r3, #2 8041c6a: 440b add r3, r1 8041c6c: 005b lsls r3, r3, #1 8041c6e: 1ad1 subs r1, r2, r3 8041c70: b2cb uxtb r3, r1 8041c72: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 8041c76: 4b4b ldr r3, [pc, #300] ; (8041da4 ) 8041c78: 781b ldrb r3, [r3, #0] 8041c7a: b2db uxtb r3, r3 8041c7c: 3b09 subs r3, #9 8041c7e: 2b05 cmp r3, #5 8041c80: d869 bhi.n 8041d56 8041c82: a201 add r2, pc, #4 ; (adr r2, 8041c88 ) 8041c84: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8041c88: 08041ca1 .word 0x08041ca1 8041c8c: 08041cc1 .word 0x08041cc1 8041c90: 08041ce3 .word 0x08041ce3 8041c94: 08041d03 .word 0x08041d03 8041c98: 08041d1f .word 0x08041d1f 8041c9c: 08041d3b .word 0x08041d3b if(k > 100000) k -= 100000; 8041ca0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041ca4: 4a42 ldr r2, [pc, #264] ; (8041db0 ) 8041ca6: 4293 cmp r3, r2 8041ca8: d906 bls.n 8041cb8 8041caa: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8041cae: 4b45 ldr r3, [pc, #276] ; (8041dc4 ) 8041cb0: 4413 add r3, r2 8041cb2: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041cb6: e04e b.n 8041d56 else k = 0; 8041cb8: 2300 movs r3, #0 8041cba: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041cbe: e04a b.n 8041d56 if(k > 10000) k -= 10000; 8041cc0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041cc4: f242 7210 movw r2, #10000 ; 0x2710 8041cc8: 4293 cmp r3, r2 8041cca: d906 bls.n 8041cda 8041ccc: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8041cd0: 4b3d ldr r3, [pc, #244] ; (8041dc8 ) 8041cd2: 4413 add r3, r2 8041cd4: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041cd8: e03d b.n 8041d56 else k = 0; 8041cda: 2300 movs r3, #0 8041cdc: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041ce0: e039 b.n 8041d56 if(k > 1000) k -= 1000; 8041ce2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041ce6: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 8041cea: d906 bls.n 8041cfa 8041cec: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041cf0: f5a3 737a sub.w r3, r3, #1000 ; 0x3e8 8041cf4: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041cf8: e02d b.n 8041d56 else k = 0; 8041cfa: 2300 movs r3, #0 8041cfc: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041d00: e029 b.n 8041d56 if(k > 100) k -= 100; 8041d02: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041d06: 2b64 cmp r3, #100 ; 0x64 8041d08: d905 bls.n 8041d16 8041d0a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041d0e: 3b64 subs r3, #100 ; 0x64 8041d10: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041d14: e01f b.n 8041d56 else k = 0; 8041d16: 2300 movs r3, #0 8041d18: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041d1c: e01b b.n 8041d56 if(k > 10) k -= 10; 8041d1e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041d22: 2b0a cmp r3, #10 8041d24: d905 bls.n 8041d32 8041d26: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041d2a: 3b0a subs r3, #10 8041d2c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041d30: e011 b.n 8041d56 else k = 0; 8041d32: 2300 movs r3, #0 8041d34: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041d38: e00d b.n 8041d56 if(k > 1) k -= 1; 8041d3a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041d3e: 2b01 cmp r3, #1 8041d40: d905 bls.n 8041d4e 8041d42: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041d46: 3b01 subs r3, #1 8041d48: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041d4c: e002 b.n 8041d54 else k = 0; 8041d4e: 2300 movs r3, #0 8041d50: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041d54: bf00 nop if(k == 0) k = 1; 8041d56: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041d5a: 2b00 cmp r3, #0 8041d5c: d102 bne.n 8041d64 8041d5e: 2301 movs r3, #1 8041d60: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.THR_VAL = (float32_t) k; 8041d64: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041d68: ee07 3a90 vmov s15, r3 8041d6c: eef8 7a67 vcvt.f32.u32 s15, s15 8041d70: 4b0d ldr r3, [pc, #52] ; (8041da8 ) 8041d72: edc3 7a05 vstr s15, [r3, #20] pardata.THR_VAL *= 0.1f; 8041d76: 4b0c ldr r3, [pc, #48] ; (8041da8 ) 8041d78: edd3 7a05 vldr s15, [r3, #20] 8041d7c: ed9f 7a13 vldr s14, [pc, #76] ; 8041dcc 8041d80: ee67 7a87 vmul.f32 s15, s15, s14 8041d84: 4b08 ldr r3, [pc, #32] ; (8041da8 ) 8041d86: edc3 7a05 vstr s15, [r3, #20] pardata.THR_VAL += 0.05f; 8041d8a: 4b07 ldr r3, [pc, #28] ; (8041da8 ) 8041d8c: edd3 7a05 vldr s15, [r3, #20] 8041d90: ed9f 7a0f vldr s14, [pc, #60] ; 8041dd0 8041d94: ee77 7a87 vadd.f32 s15, s15, s14 8041d98: 4b03 ldr r3, [pc, #12] ; (8041da8 ) 8041d9a: edc3 7a05 vstr s15, [r3, #20] 8041d9e: f000 bd6f b.w 8042880 8041da2: bf00 nop 8041da4: 20020070 .word 0x20020070 8041da8: 20023e60 .word 0x20023e60 8041dac: 0a7c5ac5 .word 0x0a7c5ac5 8041db0: 000186a0 .word 0x000186a0 8041db4: d1b71759 .word 0xd1b71759 8041db8: 10624dd3 .word 0x10624dd3 8041dbc: 51eb851f .word 0x51eb851f 8041dc0: cccccccd .word 0xcccccccd 8041dc4: fffe7960 .word 0xfffe7960 8041dc8: ffffd8f0 .word 0xffffd8f0 8041dcc: 3dcccccd .word 0x3dcccccd 8041dd0: 3d4ccccd .word 0x3d4ccccd if((menupos >= OscMax_IDT) && (menupos <= OscMax_IKD)) 8041dd4: 4bb2 ldr r3, [pc, #712] ; (80420a0 ) 8041dd6: 781b ldrb r3, [r3, #0] 8041dd8: b2db uxtb r3, r3 8041dda: 2b0e cmp r3, #14 8041ddc: f240 8178 bls.w 80420d0 8041de0: 4baf ldr r3, [pc, #700] ; (80420a0 ) 8041de2: 781b ldrb r3, [r3, #0] 8041de4: b2db uxtb r3, r3 8041de6: 2b14 cmp r3, #20 8041de8: f200 8172 bhi.w 80420d0 k = (uint32_t) (pardata.MAX_VAL * 10.0f); 8041dec: 4bad ldr r3, [pc, #692] ; (80420a4 ) 8041dee: edd3 7a06 vldr s15, [r3, #24] 8041df2: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 8041df6: ee67 7a87 vmul.f32 s15, s15, s14 8041dfa: eefc 7ae7 vcvt.u32.f32 s15, s15 8041dfe: ee17 3a90 vmov r3, s15 8041e02: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 8041e06: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041e0a: 095b lsrs r3, r3, #5 8041e0c: 4aa6 ldr r2, [pc, #664] ; (80420a8 ) 8041e0e: fba2 2303 umull r2, r3, r2, r3 8041e12: 09db lsrs r3, r3, #7 8041e14: b2db uxtb r3, r3 8041e16: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 8041e1a: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8041e1e: 0953 lsrs r3, r2, #5 8041e20: 49a1 ldr r1, [pc, #644] ; (80420a8 ) 8041e22: fba1 1303 umull r1, r3, r1, r3 8041e26: 09db lsrs r3, r3, #7 8041e28: 49a0 ldr r1, [pc, #640] ; (80420ac ) 8041e2a: fb01 f303 mul.w r3, r1, r3 8041e2e: 1ad3 subs r3, r2, r3 8041e30: 4a9f ldr r2, [pc, #636] ; (80420b0 ) 8041e32: fba2 2303 umull r2, r3, r2, r3 8041e36: 0b5b lsrs r3, r3, #13 8041e38: b2db uxtb r3, r3 8041e3a: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 8041e3e: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8041e42: 0953 lsrs r3, r2, #5 8041e44: 4998 ldr r1, [pc, #608] ; (80420a8 ) 8041e46: fba1 1303 umull r1, r3, r1, r3 8041e4a: 09db lsrs r3, r3, #7 8041e4c: 4997 ldr r1, [pc, #604] ; (80420ac ) 8041e4e: fb01 f303 mul.w r3, r1, r3 8041e52: 1ad3 subs r3, r2, r3 8041e54: 4a96 ldr r2, [pc, #600] ; (80420b0 ) 8041e56: fba2 1203 umull r1, r2, r2, r3 8041e5a: 0b52 lsrs r2, r2, #13 8041e5c: f242 7110 movw r1, #10000 ; 0x2710 8041e60: fb01 f202 mul.w r2, r1, r2 8041e64: 1a9a subs r2, r3, r2 8041e66: 4b93 ldr r3, [pc, #588] ; (80420b4 ) 8041e68: fba3 2302 umull r2, r3, r3, r2 8041e6c: 099b lsrs r3, r3, #6 8041e6e: b2db uxtb r3, r3 8041e70: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 8041e74: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041e78: 095a lsrs r2, r3, #5 8041e7a: 498b ldr r1, [pc, #556] ; (80420a8 ) 8041e7c: fba1 1202 umull r1, r2, r1, r2 8041e80: 09d2 lsrs r2, r2, #7 8041e82: 498a ldr r1, [pc, #552] ; (80420ac ) 8041e84: fb01 f202 mul.w r2, r1, r2 8041e88: 1a9a subs r2, r3, r2 8041e8a: 4b89 ldr r3, [pc, #548] ; (80420b0 ) 8041e8c: fba3 1302 umull r1, r3, r3, r2 8041e90: 0b5b lsrs r3, r3, #13 8041e92: f242 7110 movw r1, #10000 ; 0x2710 8041e96: fb01 f303 mul.w r3, r1, r3 8041e9a: 1ad3 subs r3, r2, r3 8041e9c: 4a85 ldr r2, [pc, #532] ; (80420b4 ) 8041e9e: fba2 1203 umull r1, r2, r2, r3 8041ea2: 0992 lsrs r2, r2, #6 8041ea4: f44f 717a mov.w r1, #1000 ; 0x3e8 8041ea8: fb01 f202 mul.w r2, r1, r2 8041eac: 1a9a subs r2, r3, r2 8041eae: 4b82 ldr r3, [pc, #520] ; (80420b8 ) 8041eb0: fba3 2302 umull r2, r3, r3, r2 8041eb4: 095b lsrs r3, r3, #5 8041eb6: b2db uxtb r3, r3 8041eb8: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 8041ebc: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8041ec0: 0953 lsrs r3, r2, #5 8041ec2: 4979 ldr r1, [pc, #484] ; (80420a8 ) 8041ec4: fba1 1303 umull r1, r3, r1, r3 8041ec8: 09db lsrs r3, r3, #7 8041eca: 4978 ldr r1, [pc, #480] ; (80420ac ) 8041ecc: fb01 f303 mul.w r3, r1, r3 8041ed0: 1ad3 subs r3, r2, r3 8041ed2: 4a77 ldr r2, [pc, #476] ; (80420b0 ) 8041ed4: fba2 1203 umull r1, r2, r2, r3 8041ed8: 0b52 lsrs r2, r2, #13 8041eda: f242 7110 movw r1, #10000 ; 0x2710 8041ede: fb01 f202 mul.w r2, r1, r2 8041ee2: 1a9a subs r2, r3, r2 8041ee4: 4b73 ldr r3, [pc, #460] ; (80420b4 ) 8041ee6: fba3 1302 umull r1, r3, r3, r2 8041eea: 099b lsrs r3, r3, #6 8041eec: f44f 717a mov.w r1, #1000 ; 0x3e8 8041ef0: fb01 f303 mul.w r3, r1, r3 8041ef4: 1ad3 subs r3, r2, r3 8041ef6: 4a70 ldr r2, [pc, #448] ; (80420b8 ) 8041ef8: fba2 1203 umull r1, r2, r2, r3 8041efc: 0952 lsrs r2, r2, #5 8041efe: 2164 movs r1, #100 ; 0x64 8041f00: fb01 f202 mul.w r2, r1, r2 8041f04: 1a9a subs r2, r3, r2 8041f06: 4b6d ldr r3, [pc, #436] ; (80420bc ) 8041f08: fba3 2302 umull r2, r3, r3, r2 8041f0c: 08db lsrs r3, r3, #3 8041f0e: b2db uxtb r3, r3 8041f10: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 8041f14: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8041f18: 0953 lsrs r3, r2, #5 8041f1a: 4963 ldr r1, [pc, #396] ; (80420a8 ) 8041f1c: fba1 1303 umull r1, r3, r1, r3 8041f20: 09db lsrs r3, r3, #7 8041f22: 4962 ldr r1, [pc, #392] ; (80420ac ) 8041f24: fb01 f303 mul.w r3, r1, r3 8041f28: 1ad3 subs r3, r2, r3 8041f2a: 4a61 ldr r2, [pc, #388] ; (80420b0 ) 8041f2c: fba2 1203 umull r1, r2, r2, r3 8041f30: 0b52 lsrs r2, r2, #13 8041f32: f242 7110 movw r1, #10000 ; 0x2710 8041f36: fb01 f202 mul.w r2, r1, r2 8041f3a: 1a9a subs r2, r3, r2 8041f3c: 4b5d ldr r3, [pc, #372] ; (80420b4 ) 8041f3e: fba3 1302 umull r1, r3, r3, r2 8041f42: 099b lsrs r3, r3, #6 8041f44: f44f 717a mov.w r1, #1000 ; 0x3e8 8041f48: fb01 f303 mul.w r3, r1, r3 8041f4c: 1ad3 subs r3, r2, r3 8041f4e: 4a5a ldr r2, [pc, #360] ; (80420b8 ) 8041f50: fba2 1203 umull r1, r2, r2, r3 8041f54: 0952 lsrs r2, r2, #5 8041f56: 2164 movs r1, #100 ; 0x64 8041f58: fb01 f202 mul.w r2, r1, r2 8041f5c: 1a9a subs r2, r3, r2 8041f5e: 4b57 ldr r3, [pc, #348] ; (80420bc ) 8041f60: fba3 1302 umull r1, r3, r3, r2 8041f64: 08d9 lsrs r1, r3, #3 8041f66: 460b mov r3, r1 8041f68: 009b lsls r3, r3, #2 8041f6a: 440b add r3, r1 8041f6c: 005b lsls r3, r3, #1 8041f6e: 1ad1 subs r1, r2, r3 8041f70: b2cb uxtb r3, r1 8041f72: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 8041f76: 4b4a ldr r3, [pc, #296] ; (80420a0 ) 8041f78: 781b ldrb r3, [r3, #0] 8041f7a: b2db uxtb r3, r3 8041f7c: 3b0f subs r3, #15 8041f7e: 2b05 cmp r3, #5 8041f80: d869 bhi.n 8042056 8041f82: a201 add r2, pc, #4 ; (adr r2, 8041f88 ) 8041f84: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8041f88: 08041fa1 .word 0x08041fa1 8041f8c: 08041fc1 .word 0x08041fc1 8041f90: 08041fe3 .word 0x08041fe3 8041f94: 08042003 .word 0x08042003 8041f98: 0804201f .word 0x0804201f 8041f9c: 0804203b .word 0x0804203b if(k > 100000) k -= 100000; 8041fa0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041fa4: 4a41 ldr r2, [pc, #260] ; (80420ac ) 8041fa6: 4293 cmp r3, r2 8041fa8: d906 bls.n 8041fb8 8041faa: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8041fae: 4b44 ldr r3, [pc, #272] ; (80420c0 ) 8041fb0: 4413 add r3, r2 8041fb2: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041fb6: e04e b.n 8042056 else k = 0; 8041fb8: 2300 movs r3, #0 8041fba: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041fbe: e04a b.n 8042056 if(k > 10000) k -= 10000; 8041fc0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041fc4: f242 7210 movw r2, #10000 ; 0x2710 8041fc8: 4293 cmp r3, r2 8041fca: d906 bls.n 8041fda 8041fcc: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8041fd0: 4b3c ldr r3, [pc, #240] ; (80420c4 ) 8041fd2: 4413 add r3, r2 8041fd4: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041fd8: e03d b.n 8042056 else k = 0; 8041fda: 2300 movs r3, #0 8041fdc: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041fe0: e039 b.n 8042056 if(k > 1000) k -= 1000; 8041fe2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041fe6: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 8041fea: d906 bls.n 8041ffa 8041fec: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041ff0: f5a3 737a sub.w r3, r3, #1000 ; 0x3e8 8041ff4: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041ff8: e02d b.n 8042056 else k = 0; 8041ffa: 2300 movs r3, #0 8041ffc: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8042000: e029 b.n 8042056 if(k > 100) k -= 100; 8042002: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042006: 2b64 cmp r3, #100 ; 0x64 8042008: d905 bls.n 8042016 804200a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804200e: 3b64 subs r3, #100 ; 0x64 8042010: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8042014: e01f b.n 8042056 else k = 0; 8042016: 2300 movs r3, #0 8042018: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 804201c: e01b b.n 8042056 if(k > 10) k -= 10; 804201e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042022: 2b0a cmp r3, #10 8042024: d905 bls.n 8042032 8042026: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804202a: 3b0a subs r3, #10 804202c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8042030: e011 b.n 8042056 else k = 0; 8042032: 2300 movs r3, #0 8042034: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8042038: e00d b.n 8042056 if(k > 1) k -= 1; 804203a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804203e: 2b01 cmp r3, #1 8042040: d905 bls.n 804204e 8042042: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042046: 3b01 subs r3, #1 8042048: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 804204c: e002 b.n 8042054 else k = 0; 804204e: 2300 movs r3, #0 8042050: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8042054: bf00 nop if(k == 0) k = 1; 8042056: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804205a: 2b00 cmp r3, #0 804205c: d102 bne.n 8042064 804205e: 2301 movs r3, #1 8042060: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.MAX_VAL = (float32_t) k; 8042064: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042068: ee07 3a90 vmov s15, r3 804206c: eef8 7a67 vcvt.f32.u32 s15, s15 8042070: 4b0c ldr r3, [pc, #48] ; (80420a4 ) 8042072: edc3 7a06 vstr s15, [r3, #24] pardata.MAX_VAL *= 0.1f; 8042076: 4b0b ldr r3, [pc, #44] ; (80420a4 ) 8042078: edd3 7a06 vldr s15, [r3, #24] 804207c: ed9f 7a12 vldr s14, [pc, #72] ; 80420c8 8042080: ee67 7a87 vmul.f32 s15, s15, s14 8042084: 4b07 ldr r3, [pc, #28] ; (80420a4 ) 8042086: edc3 7a06 vstr s15, [r3, #24] pardata.MAX_VAL += 0.05f; 804208a: 4b06 ldr r3, [pc, #24] ; (80420a4 ) 804208c: edd3 7a06 vldr s15, [r3, #24] 8042090: ed9f 7a0e vldr s14, [pc, #56] ; 80420cc 8042094: ee77 7a87 vadd.f32 s15, s15, s14 8042098: 4b02 ldr r3, [pc, #8] ; (80420a4 ) 804209a: edc3 7a06 vstr s15, [r3, #24] 804209e: e3ef b.n 8042880 80420a0: 20020070 .word 0x20020070 80420a4: 20023e60 .word 0x20023e60 80420a8: 0a7c5ac5 .word 0x0a7c5ac5 80420ac: 000186a0 .word 0x000186a0 80420b0: d1b71759 .word 0xd1b71759 80420b4: 10624dd3 .word 0x10624dd3 80420b8: 51eb851f .word 0x51eb851f 80420bc: cccccccd .word 0xcccccccd 80420c0: fffe7960 .word 0xfffe7960 80420c4: ffffd8f0 .word 0xffffd8f0 80420c8: 3dcccccd .word 0x3dcccccd 80420cc: 3d4ccccd .word 0x3d4ccccd if((menupos >= FilterHP_IDT) && (menupos <= FilterHP_IKD)) 80420d0: 4bcd ldr r3, [pc, #820] ; (8042408 ) 80420d2: 781b ldrb r3, [r3, #0] 80420d4: b2db uxtb r3, r3 80420d6: 2b18 cmp r3, #24 80420d8: f240 81ec bls.w 80424b4 80420dc: 4bca ldr r3, [pc, #808] ; (8042408 ) 80420de: 781b ldrb r3, [r3, #0] 80420e0: b2db uxtb r3, r3 80420e2: 2b1e cmp r3, #30 80420e4: f200 81e6 bhi.w 80424b4 k = (uint32_t) (pardata.HP * 10.0f); 80420e8: 4bc8 ldr r3, [pc, #800] ; (804240c ) 80420ea: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 80420ee: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80420f2: ee67 7a87 vmul.f32 s15, s15, s14 80420f6: eefc 7ae7 vcvt.u32.f32 s15, s15 80420fa: ee17 3a90 vmov r3, s15 80420fe: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 8042102: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042106: 095b lsrs r3, r3, #5 8042108: 4ac1 ldr r2, [pc, #772] ; (8042410 ) 804210a: fba2 2303 umull r2, r3, r2, r3 804210e: 09db lsrs r3, r3, #7 8042110: b2db uxtb r3, r3 8042112: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 8042116: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 804211a: 0953 lsrs r3, r2, #5 804211c: 49bc ldr r1, [pc, #752] ; (8042410 ) 804211e: fba1 1303 umull r1, r3, r1, r3 8042122: 09db lsrs r3, r3, #7 8042124: 49bb ldr r1, [pc, #748] ; (8042414 ) 8042126: fb01 f303 mul.w r3, r1, r3 804212a: 1ad3 subs r3, r2, r3 804212c: 4aba ldr r2, [pc, #744] ; (8042418 ) 804212e: fba2 2303 umull r2, r3, r2, r3 8042132: 0b5b lsrs r3, r3, #13 8042134: b2db uxtb r3, r3 8042136: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 804213a: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 804213e: 0953 lsrs r3, r2, #5 8042140: 49b3 ldr r1, [pc, #716] ; (8042410 ) 8042142: fba1 1303 umull r1, r3, r1, r3 8042146: 09db lsrs r3, r3, #7 8042148: 49b2 ldr r1, [pc, #712] ; (8042414 ) 804214a: fb01 f303 mul.w r3, r1, r3 804214e: 1ad3 subs r3, r2, r3 8042150: 4ab1 ldr r2, [pc, #708] ; (8042418 ) 8042152: fba2 1203 umull r1, r2, r2, r3 8042156: 0b52 lsrs r2, r2, #13 8042158: f242 7110 movw r1, #10000 ; 0x2710 804215c: fb01 f202 mul.w r2, r1, r2 8042160: 1a9a subs r2, r3, r2 8042162: 4bae ldr r3, [pc, #696] ; (804241c ) 8042164: fba3 2302 umull r2, r3, r3, r2 8042168: 099b lsrs r3, r3, #6 804216a: b2db uxtb r3, r3 804216c: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 8042170: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042174: 095a lsrs r2, r3, #5 8042176: 49a6 ldr r1, [pc, #664] ; (8042410 ) 8042178: fba1 1202 umull r1, r2, r1, r2 804217c: 09d2 lsrs r2, r2, #7 804217e: 49a5 ldr r1, [pc, #660] ; (8042414 ) 8042180: fb01 f202 mul.w r2, r1, r2 8042184: 1a9a subs r2, r3, r2 8042186: 4ba4 ldr r3, [pc, #656] ; (8042418 ) 8042188: fba3 1302 umull r1, r3, r3, r2 804218c: 0b5b lsrs r3, r3, #13 804218e: f242 7110 movw r1, #10000 ; 0x2710 8042192: fb01 f303 mul.w r3, r1, r3 8042196: 1ad3 subs r3, r2, r3 8042198: 4aa0 ldr r2, [pc, #640] ; (804241c ) 804219a: fba2 1203 umull r1, r2, r2, r3 804219e: 0992 lsrs r2, r2, #6 80421a0: f44f 717a mov.w r1, #1000 ; 0x3e8 80421a4: fb01 f202 mul.w r2, r1, r2 80421a8: 1a9a subs r2, r3, r2 80421aa: 4b9d ldr r3, [pc, #628] ; (8042420 ) 80421ac: fba3 2302 umull r2, r3, r3, r2 80421b0: 095b lsrs r3, r3, #5 80421b2: b2db uxtb r3, r3 80421b4: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 80421b8: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80421bc: 0953 lsrs r3, r2, #5 80421be: 4994 ldr r1, [pc, #592] ; (8042410 ) 80421c0: fba1 1303 umull r1, r3, r1, r3 80421c4: 09db lsrs r3, r3, #7 80421c6: 4993 ldr r1, [pc, #588] ; (8042414 ) 80421c8: fb01 f303 mul.w r3, r1, r3 80421cc: 1ad3 subs r3, r2, r3 80421ce: 4a92 ldr r2, [pc, #584] ; (8042418 ) 80421d0: fba2 1203 umull r1, r2, r2, r3 80421d4: 0b52 lsrs r2, r2, #13 80421d6: f242 7110 movw r1, #10000 ; 0x2710 80421da: fb01 f202 mul.w r2, r1, r2 80421de: 1a9a subs r2, r3, r2 80421e0: 4b8e ldr r3, [pc, #568] ; (804241c ) 80421e2: fba3 1302 umull r1, r3, r3, r2 80421e6: 099b lsrs r3, r3, #6 80421e8: f44f 717a mov.w r1, #1000 ; 0x3e8 80421ec: fb01 f303 mul.w r3, r1, r3 80421f0: 1ad3 subs r3, r2, r3 80421f2: 4a8b ldr r2, [pc, #556] ; (8042420 ) 80421f4: fba2 1203 umull r1, r2, r2, r3 80421f8: 0952 lsrs r2, r2, #5 80421fa: 2164 movs r1, #100 ; 0x64 80421fc: fb01 f202 mul.w r2, r1, r2 8042200: 1a9a subs r2, r3, r2 8042202: 4b88 ldr r3, [pc, #544] ; (8042424 ) 8042204: fba3 2302 umull r2, r3, r3, r2 8042208: 08db lsrs r3, r3, #3 804220a: b2db uxtb r3, r3 804220c: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 8042210: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8042214: 0953 lsrs r3, r2, #5 8042216: 497e ldr r1, [pc, #504] ; (8042410 ) 8042218: fba1 1303 umull r1, r3, r1, r3 804221c: 09db lsrs r3, r3, #7 804221e: 497d ldr r1, [pc, #500] ; (8042414 ) 8042220: fb01 f303 mul.w r3, r1, r3 8042224: 1ad3 subs r3, r2, r3 8042226: 4a7c ldr r2, [pc, #496] ; (8042418 ) 8042228: fba2 1203 umull r1, r2, r2, r3 804222c: 0b52 lsrs r2, r2, #13 804222e: f242 7110 movw r1, #10000 ; 0x2710 8042232: fb01 f202 mul.w r2, r1, r2 8042236: 1a9a subs r2, r3, r2 8042238: 4b78 ldr r3, [pc, #480] ; (804241c ) 804223a: fba3 1302 umull r1, r3, r3, r2 804223e: 099b lsrs r3, r3, #6 8042240: f44f 717a mov.w r1, #1000 ; 0x3e8 8042244: fb01 f303 mul.w r3, r1, r3 8042248: 1ad3 subs r3, r2, r3 804224a: 4a75 ldr r2, [pc, #468] ; (8042420 ) 804224c: fba2 1203 umull r1, r2, r2, r3 8042250: 0952 lsrs r2, r2, #5 8042252: 2164 movs r1, #100 ; 0x64 8042254: fb01 f202 mul.w r2, r1, r2 8042258: 1a9a subs r2, r3, r2 804225a: 4b72 ldr r3, [pc, #456] ; (8042424 ) 804225c: fba3 1302 umull r1, r3, r3, r2 8042260: 08d9 lsrs r1, r3, #3 8042262: 460b mov r3, r1 8042264: 009b lsls r3, r3, #2 8042266: 440b add r3, r1 8042268: 005b lsls r3, r3, #1 804226a: 1ad1 subs r1, r2, r3 804226c: b2cb uxtb r3, r1 804226e: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 8042272: 4b65 ldr r3, [pc, #404] ; (8042408 ) 8042274: 781b ldrb r3, [r3, #0] 8042276: b2db uxtb r3, r3 8042278: 3b19 subs r3, #25 804227a: 2b05 cmp r3, #5 804227c: d869 bhi.n 8042352 804227e: a201 add r2, pc, #4 ; (adr r2, 8042284 ) 8042280: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8042284: 0804229d .word 0x0804229d 8042288: 080422bd .word 0x080422bd 804228c: 080422df .word 0x080422df 8042290: 080422ff .word 0x080422ff 8042294: 0804231b .word 0x0804231b 8042298: 08042337 .word 0x08042337 if(k > 100000) k -= 100000; 804229c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80422a0: 4a5c ldr r2, [pc, #368] ; (8042414 ) 80422a2: 4293 cmp r3, r2 80422a4: d906 bls.n 80422b4 80422a6: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80422aa: 4b5f ldr r3, [pc, #380] ; (8042428 ) 80422ac: 4413 add r3, r2 80422ae: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80422b2: e04e b.n 8042352 else k = 0; 80422b4: 2300 movs r3, #0 80422b6: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80422ba: e04a b.n 8042352 if(k > 10000) k -= 10000; 80422bc: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80422c0: f242 7210 movw r2, #10000 ; 0x2710 80422c4: 4293 cmp r3, r2 80422c6: d906 bls.n 80422d6 80422c8: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80422cc: 4b57 ldr r3, [pc, #348] ; (804242c ) 80422ce: 4413 add r3, r2 80422d0: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80422d4: e03d b.n 8042352 else k = 0; 80422d6: 2300 movs r3, #0 80422d8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80422dc: e039 b.n 8042352 if(k > 1000) k -= 1000; 80422de: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80422e2: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 80422e6: d906 bls.n 80422f6 80422e8: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80422ec: f5a3 737a sub.w r3, r3, #1000 ; 0x3e8 80422f0: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80422f4: e02d b.n 8042352 else k = 0; 80422f6: 2300 movs r3, #0 80422f8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80422fc: e029 b.n 8042352 if(k > 100) k -= 100; 80422fe: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042302: 2b64 cmp r3, #100 ; 0x64 8042304: d905 bls.n 8042312 8042306: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804230a: 3b64 subs r3, #100 ; 0x64 804230c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8042310: e01f b.n 8042352 else k = 0; 8042312: 2300 movs r3, #0 8042314: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8042318: e01b b.n 8042352 if(k > 10) k -= 10; 804231a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804231e: 2b0a cmp r3, #10 8042320: d905 bls.n 804232e 8042322: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042326: 3b0a subs r3, #10 8042328: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 804232c: e011 b.n 8042352 else k = 0; 804232e: 2300 movs r3, #0 8042330: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8042334: e00d b.n 8042352 if(k > 1) k -= 1; 8042336: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804233a: 2b01 cmp r3, #1 804233c: d905 bls.n 804234a 804233e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042342: 3b01 subs r3, #1 8042344: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8042348: e002 b.n 8042350 else k = 0; 804234a: 2300 movs r3, #0 804234c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8042350: bf00 nop fl = (float32_t) k; 8042352: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042356: ee07 3a90 vmov s15, r3 804235a: eef8 7a67 vcvt.f32.u32 s15, s15 804235e: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl *= 0.1f; 8042362: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8042366: ed9f 7a32 vldr s14, [pc, #200] ; 8042430 804236a: ee67 7a87 vmul.f32 s15, s15, s14 804236e: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl += 0.0001f; 8042372: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8042376: ed9f 7a2f vldr s14, [pc, #188] ; 8042434 804237a: ee77 7a87 vadd.f32 s15, s15, s14 804237e: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 if(pardata.IPR == ACC) 8042382: 4b22 ldr r3, [pc, #136] ; (804240c ) 8042384: 785b ldrb r3, [r3, #1] 8042386: b2db uxtb r3, r3 8042388: 2b00 cmp r3, #0 804238a: d155 bne.n 8042438 if(fl < 0.5f) 804238c: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8042390: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8042394: eef4 7ac7 vcmpe.f32 s15, s14 8042398: eef1 fa10 vmrs APSR_nzcv, fpscr 804239c: d505 bpl.n 80423aa pardata.HP = 0.5f; 804239e: 4b1b ldr r3, [pc, #108] ; (804240c ) 80423a0: f04f 527c mov.w r2, #1056964608 ; 0x3f000000 80423a4: f8c3 20d4 str.w r2, [r3, #212] ; 0xd4 if(pardata.IPR == ACC) 80423a8: e26a b.n 8042880 if(fl > pardata.LP) 80423aa: 4b18 ldr r3, [pc, #96] ; (804240c ) 80423ac: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 80423b0: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 80423b4: eeb4 7ae7 vcmpe.f32 s14, s15 80423b8: eef1 fa10 vmrs APSR_nzcv, fpscr 80423bc: d506 bpl.n 80423cc pardata.HP = pardata.LP; 80423be: 4b13 ldr r3, [pc, #76] ; (804240c ) 80423c0: f8d3 30d8 ldr.w r3, [r3, #216] ; 0xd8 80423c4: 4a11 ldr r2, [pc, #68] ; (804240c ) 80423c6: f8c2 30d4 str.w r3, [r2, #212] ; 0xd4 if(pardata.IPR == ACC) 80423ca: e259 b.n 8042880 pardata.HP = (float32_t) k; 80423cc: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80423d0: ee07 3a90 vmov s15, r3 80423d4: eef8 7a67 vcvt.f32.u32 s15, s15 80423d8: 4b0c ldr r3, [pc, #48] ; (804240c ) 80423da: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 pardata.HP *= 0.1f; 80423de: 4b0b ldr r3, [pc, #44] ; (804240c ) 80423e0: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 80423e4: ed9f 7a12 vldr s14, [pc, #72] ; 8042430 80423e8: ee67 7a87 vmul.f32 s15, s15, s14 80423ec: 4b07 ldr r3, [pc, #28] ; (804240c ) 80423ee: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 pardata.HP += 0.0001f; 80423f2: 4b06 ldr r3, [pc, #24] ; (804240c ) 80423f4: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 80423f8: ed9f 7a0e vldr s14, [pc, #56] ; 8042434 80423fc: ee77 7a87 vadd.f32 s15, s15, s14 8042400: 4b02 ldr r3, [pc, #8] ; (804240c ) 8042402: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 if(pardata.IPR == ACC) 8042406: e23b b.n 8042880 8042408: 20020070 .word 0x20020070 804240c: 20023e60 .word 0x20023e60 8042410: 0a7c5ac5 .word 0x0a7c5ac5 8042414: 000186a0 .word 0x000186a0 8042418: d1b71759 .word 0xd1b71759 804241c: 10624dd3 .word 0x10624dd3 8042420: 51eb851f .word 0x51eb851f 8042424: cccccccd .word 0xcccccccd 8042428: fffe7960 .word 0xfffe7960 804242c: ffffd8f0 .word 0xffffd8f0 8042430: 3dcccccd .word 0x3dcccccd 8042434: 38d1b717 .word 0x38d1b717 if(fl < 2.0f) 8042438: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 804243c: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 8042440: eef4 7ac7 vcmpe.f32 s15, s14 8042444: eef1 fa10 vmrs APSR_nzcv, fpscr 8042448: d505 bpl.n 8042456 pardata.HP = 2.0f; 804244a: 4bce ldr r3, [pc, #824] ; (8042784 ) 804244c: f04f 4280 mov.w r2, #1073741824 ; 0x40000000 8042450: f8c3 20d4 str.w r2, [r3, #212] ; 0xd4 if(pardata.IPR == ACC) 8042454: e214 b.n 8042880 if(fl > pardata.LP) 8042456: 4bcb ldr r3, [pc, #812] ; (8042784 ) 8042458: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 804245c: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8042460: eeb4 7ae7 vcmpe.f32 s14, s15 8042464: eef1 fa10 vmrs APSR_nzcv, fpscr 8042468: d506 bpl.n 8042478 pardata.HP = pardata.LP; 804246a: 4bc6 ldr r3, [pc, #792] ; (8042784 ) 804246c: f8d3 30d8 ldr.w r3, [r3, #216] ; 0xd8 8042470: 4ac4 ldr r2, [pc, #784] ; (8042784 ) 8042472: f8c2 30d4 str.w r3, [r2, #212] ; 0xd4 if(pardata.IPR == ACC) 8042476: e203 b.n 8042880 pardata.HP = (float32_t) k; 8042478: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804247c: ee07 3a90 vmov s15, r3 8042480: eef8 7a67 vcvt.f32.u32 s15, s15 8042484: 4bbf ldr r3, [pc, #764] ; (8042784 ) 8042486: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 pardata.HP *= 0.1f; 804248a: 4bbe ldr r3, [pc, #760] ; (8042784 ) 804248c: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 8042490: ed9f 7abd vldr s14, [pc, #756] ; 8042788 8042494: ee67 7a87 vmul.f32 s15, s15, s14 8042498: 4bba ldr r3, [pc, #744] ; (8042784 ) 804249a: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 pardata.HP += 0.0001f; 804249e: 4bb9 ldr r3, [pc, #740] ; (8042784 ) 80424a0: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 80424a4: ed9f 7ab9 vldr s14, [pc, #740] ; 804278c 80424a8: ee77 7a87 vadd.f32 s15, s15, s14 80424ac: 4bb5 ldr r3, [pc, #724] ; (8042784 ) 80424ae: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 if(pardata.IPR == ACC) 80424b2: e1e5 b.n 8042880 if((menupos >= FilterLP_IDT) && (menupos <= FilterLP_IKD)) 80424b4: 4bb6 ldr r3, [pc, #728] ; (8042790 ) 80424b6: 781b ldrb r3, [r3, #0] 80424b8: b2db uxtb r3, r3 80424ba: 2b1e cmp r3, #30 80424bc: f241 827c bls.w 80439b8 80424c0: 4bb3 ldr r3, [pc, #716] ; (8042790 ) 80424c2: 781b ldrb r3, [r3, #0] 80424c4: b2db uxtb r3, r3 80424c6: 2b24 cmp r3, #36 ; 0x24 80424c8: f201 8276 bhi.w 80439b8 k = (uint32_t) (pardata.LP * 10.0f); 80424cc: 4bad ldr r3, [pc, #692] ; (8042784 ) 80424ce: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 80424d2: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80424d6: ee67 7a87 vmul.f32 s15, s15, s14 80424da: eefc 7ae7 vcvt.u32.f32 s15, s15 80424de: ee17 3a90 vmov r3, s15 80424e2: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 80424e6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80424ea: 095b lsrs r3, r3, #5 80424ec: 4aa9 ldr r2, [pc, #676] ; (8042794 ) 80424ee: fba2 2303 umull r2, r3, r2, r3 80424f2: 09db lsrs r3, r3, #7 80424f4: b2db uxtb r3, r3 80424f6: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 80424fa: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80424fe: 0953 lsrs r3, r2, #5 8042500: 49a4 ldr r1, [pc, #656] ; (8042794 ) 8042502: fba1 1303 umull r1, r3, r1, r3 8042506: 09db lsrs r3, r3, #7 8042508: 49a3 ldr r1, [pc, #652] ; (8042798 ) 804250a: fb01 f303 mul.w r3, r1, r3 804250e: 1ad3 subs r3, r2, r3 8042510: 4aa2 ldr r2, [pc, #648] ; (804279c ) 8042512: fba2 2303 umull r2, r3, r2, r3 8042516: 0b5b lsrs r3, r3, #13 8042518: b2db uxtb r3, r3 804251a: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 804251e: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8042522: 0953 lsrs r3, r2, #5 8042524: 499b ldr r1, [pc, #620] ; (8042794 ) 8042526: fba1 1303 umull r1, r3, r1, r3 804252a: 09db lsrs r3, r3, #7 804252c: 499a ldr r1, [pc, #616] ; (8042798 ) 804252e: fb01 f303 mul.w r3, r1, r3 8042532: 1ad3 subs r3, r2, r3 8042534: 4a99 ldr r2, [pc, #612] ; (804279c ) 8042536: fba2 1203 umull r1, r2, r2, r3 804253a: 0b52 lsrs r2, r2, #13 804253c: f242 7110 movw r1, #10000 ; 0x2710 8042540: fb01 f202 mul.w r2, r1, r2 8042544: 1a9a subs r2, r3, r2 8042546: 4b96 ldr r3, [pc, #600] ; (80427a0 ) 8042548: fba3 2302 umull r2, r3, r3, r2 804254c: 099b lsrs r3, r3, #6 804254e: b2db uxtb r3, r3 8042550: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 8042554: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042558: 095a lsrs r2, r3, #5 804255a: 498e ldr r1, [pc, #568] ; (8042794 ) 804255c: fba1 1202 umull r1, r2, r1, r2 8042560: 09d2 lsrs r2, r2, #7 8042562: 498d ldr r1, [pc, #564] ; (8042798 ) 8042564: fb01 f202 mul.w r2, r1, r2 8042568: 1a9a subs r2, r3, r2 804256a: 4b8c ldr r3, [pc, #560] ; (804279c ) 804256c: fba3 1302 umull r1, r3, r3, r2 8042570: 0b5b lsrs r3, r3, #13 8042572: f242 7110 movw r1, #10000 ; 0x2710 8042576: fb01 f303 mul.w r3, r1, r3 804257a: 1ad3 subs r3, r2, r3 804257c: 4a88 ldr r2, [pc, #544] ; (80427a0 ) 804257e: fba2 1203 umull r1, r2, r2, r3 8042582: 0992 lsrs r2, r2, #6 8042584: f44f 717a mov.w r1, #1000 ; 0x3e8 8042588: fb01 f202 mul.w r2, r1, r2 804258c: 1a9a subs r2, r3, r2 804258e: 4b85 ldr r3, [pc, #532] ; (80427a4 ) 8042590: fba3 2302 umull r2, r3, r3, r2 8042594: 095b lsrs r3, r3, #5 8042596: b2db uxtb r3, r3 8042598: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 804259c: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80425a0: 0953 lsrs r3, r2, #5 80425a2: 497c ldr r1, [pc, #496] ; (8042794 ) 80425a4: fba1 1303 umull r1, r3, r1, r3 80425a8: 09db lsrs r3, r3, #7 80425aa: 497b ldr r1, [pc, #492] ; (8042798 ) 80425ac: fb01 f303 mul.w r3, r1, r3 80425b0: 1ad3 subs r3, r2, r3 80425b2: 4a7a ldr r2, [pc, #488] ; (804279c ) 80425b4: fba2 1203 umull r1, r2, r2, r3 80425b8: 0b52 lsrs r2, r2, #13 80425ba: f242 7110 movw r1, #10000 ; 0x2710 80425be: fb01 f202 mul.w r2, r1, r2 80425c2: 1a9a subs r2, r3, r2 80425c4: 4b76 ldr r3, [pc, #472] ; (80427a0 ) 80425c6: fba3 1302 umull r1, r3, r3, r2 80425ca: 099b lsrs r3, r3, #6 80425cc: f44f 717a mov.w r1, #1000 ; 0x3e8 80425d0: fb01 f303 mul.w r3, r1, r3 80425d4: 1ad3 subs r3, r2, r3 80425d6: 4a73 ldr r2, [pc, #460] ; (80427a4 ) 80425d8: fba2 1203 umull r1, r2, r2, r3 80425dc: 0952 lsrs r2, r2, #5 80425de: 2164 movs r1, #100 ; 0x64 80425e0: fb01 f202 mul.w r2, r1, r2 80425e4: 1a9a subs r2, r3, r2 80425e6: 4b70 ldr r3, [pc, #448] ; (80427a8 ) 80425e8: fba3 2302 umull r2, r3, r3, r2 80425ec: 08db lsrs r3, r3, #3 80425ee: b2db uxtb r3, r3 80425f0: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 80425f4: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80425f8: 0953 lsrs r3, r2, #5 80425fa: 4966 ldr r1, [pc, #408] ; (8042794 ) 80425fc: fba1 1303 umull r1, r3, r1, r3 8042600: 09db lsrs r3, r3, #7 8042602: 4965 ldr r1, [pc, #404] ; (8042798 ) 8042604: fb01 f303 mul.w r3, r1, r3 8042608: 1ad3 subs r3, r2, r3 804260a: 4a64 ldr r2, [pc, #400] ; (804279c ) 804260c: fba2 1203 umull r1, r2, r2, r3 8042610: 0b52 lsrs r2, r2, #13 8042612: f242 7110 movw r1, #10000 ; 0x2710 8042616: fb01 f202 mul.w r2, r1, r2 804261a: 1a9a subs r2, r3, r2 804261c: 4b60 ldr r3, [pc, #384] ; (80427a0 ) 804261e: fba3 1302 umull r1, r3, r3, r2 8042622: 099b lsrs r3, r3, #6 8042624: f44f 717a mov.w r1, #1000 ; 0x3e8 8042628: fb01 f303 mul.w r3, r1, r3 804262c: 1ad3 subs r3, r2, r3 804262e: 4a5d ldr r2, [pc, #372] ; (80427a4 ) 8042630: fba2 1203 umull r1, r2, r2, r3 8042634: 0952 lsrs r2, r2, #5 8042636: 2164 movs r1, #100 ; 0x64 8042638: fb01 f202 mul.w r2, r1, r2 804263c: 1a9a subs r2, r3, r2 804263e: 4b5a ldr r3, [pc, #360] ; (80427a8 ) 8042640: fba3 1302 umull r1, r3, r3, r2 8042644: 08d9 lsrs r1, r3, #3 8042646: 460b mov r3, r1 8042648: 009b lsls r3, r3, #2 804264a: 440b add r3, r1 804264c: 005b lsls r3, r3, #1 804264e: 1ad1 subs r1, r2, r3 8042650: b2cb uxtb r3, r1 8042652: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 8042656: 4b4e ldr r3, [pc, #312] ; (8042790 ) 8042658: 781b ldrb r3, [r3, #0] 804265a: b2db uxtb r3, r3 804265c: 3b1f subs r3, #31 804265e: 2b05 cmp r3, #5 8042660: d869 bhi.n 8042736 8042662: a201 add r2, pc, #4 ; (adr r2, 8042668 ) 8042664: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8042668: 08042681 .word 0x08042681 804266c: 080426a1 .word 0x080426a1 8042670: 080426c3 .word 0x080426c3 8042674: 080426e3 .word 0x080426e3 8042678: 080426ff .word 0x080426ff 804267c: 0804271b .word 0x0804271b if(k > 100000) k -= 100000; 8042680: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042684: 4a44 ldr r2, [pc, #272] ; (8042798 ) 8042686: 4293 cmp r3, r2 8042688: d906 bls.n 8042698 804268a: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 804268e: 4b47 ldr r3, [pc, #284] ; (80427ac ) 8042690: 4413 add r3, r2 8042692: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8042696: e04e b.n 8042736 else k = 0; 8042698: 2300 movs r3, #0 804269a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 804269e: e04a b.n 8042736 if(k > 10000) k -= 10000; 80426a0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80426a4: f242 7210 movw r2, #10000 ; 0x2710 80426a8: 4293 cmp r3, r2 80426aa: d906 bls.n 80426ba 80426ac: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80426b0: 4b3f ldr r3, [pc, #252] ; (80427b0 ) 80426b2: 4413 add r3, r2 80426b4: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80426b8: e03d b.n 8042736 else k = 0; 80426ba: 2300 movs r3, #0 80426bc: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80426c0: e039 b.n 8042736 if(k > 1000) k -= 1000; 80426c2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80426c6: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 80426ca: d906 bls.n 80426da 80426cc: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80426d0: f5a3 737a sub.w r3, r3, #1000 ; 0x3e8 80426d4: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80426d8: e02d b.n 8042736 else k = 0; 80426da: 2300 movs r3, #0 80426dc: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80426e0: e029 b.n 8042736 if(k > 100) k -= 100; 80426e2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80426e6: 2b64 cmp r3, #100 ; 0x64 80426e8: d905 bls.n 80426f6 80426ea: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80426ee: 3b64 subs r3, #100 ; 0x64 80426f0: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80426f4: e01f b.n 8042736 else k = 0; 80426f6: 2300 movs r3, #0 80426f8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80426fc: e01b b.n 8042736 if(k > 10) k -= 10; 80426fe: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042702: 2b0a cmp r3, #10 8042704: d905 bls.n 8042712 8042706: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804270a: 3b0a subs r3, #10 804270c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8042710: e011 b.n 8042736 else k = 0; 8042712: 2300 movs r3, #0 8042714: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8042718: e00d b.n 8042736 if(k > 1) k -= 1; 804271a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804271e: 2b01 cmp r3, #1 8042720: d905 bls.n 804272e 8042722: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042726: 3b01 subs r3, #1 8042728: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 804272c: e002 b.n 8042734 else k = 0; 804272e: 2300 movs r3, #0 8042730: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8042734: bf00 nop fl = (float32_t) k; 8042736: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804273a: ee07 3a90 vmov s15, r3 804273e: eef8 7a67 vcvt.f32.u32 s15, s15 8042742: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl *= 0.1f; 8042746: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 804274a: ed9f 7a0f vldr s14, [pc, #60] ; 8042788 804274e: ee67 7a87 vmul.f32 s15, s15, s14 8042752: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl += 0.0001f; 8042756: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 804275a: ed9f 7a0c vldr s14, [pc, #48] ; 804278c 804275e: ee77 7a87 vadd.f32 s15, s15, s14 8042762: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 if(fl < 10.0f) 8042766: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 804276a: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 804276e: eef4 7ac7 vcmpe.f32 s15, s14 8042772: eef1 fa10 vmrs APSR_nzcv, fpscr 8042776: d51f bpl.n 80427b8 pardata.LP = 10.0f; 8042778: 4b02 ldr r3, [pc, #8] ; (8042784 ) 804277a: 4a0e ldr r2, [pc, #56] ; (80427b4 ) 804277c: f8c3 20d8 str.w r2, [r3, #216] ; 0xd8 break; 8042780: f001 b91a b.w 80439b8 8042784: 20023e60 .word 0x20023e60 8042788: 3dcccccd .word 0x3dcccccd 804278c: 38d1b717 .word 0x38d1b717 8042790: 20020070 .word 0x20020070 8042794: 0a7c5ac5 .word 0x0a7c5ac5 8042798: 000186a0 .word 0x000186a0 804279c: d1b71759 .word 0xd1b71759 80427a0: 10624dd3 .word 0x10624dd3 80427a4: 51eb851f .word 0x51eb851f 80427a8: cccccccd .word 0xcccccccd 80427ac: fffe7960 .word 0xfffe7960 80427b0: ffffd8f0 .word 0xffffd8f0 80427b4: 41200000 .word 0x41200000 if(pardata.LP < pardata.HP) 80427b8: 4bcf ldr r3, [pc, #828] ; (8042af8 ) 80427ba: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 80427be: 4bce ldr r3, [pc, #824] ; (8042af8 ) 80427c0: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 80427c4: eeb4 7ae7 vcmpe.f32 s14, s15 80427c8: eef1 fa10 vmrs APSR_nzcv, fpscr 80427cc: d507 bpl.n 80427de pardata.LP = pardata.HP; 80427ce: 4bca ldr r3, [pc, #808] ; (8042af8 ) 80427d0: f8d3 30d4 ldr.w r3, [r3, #212] ; 0xd4 80427d4: 4ac8 ldr r2, [pc, #800] ; (8042af8 ) 80427d6: f8c2 30d8 str.w r3, [r2, #216] ; 0xd8 break; 80427da: f001 b8ed b.w 80439b8 if(fl > (((float32_t) FS[pardata.FRQ] / 5.0f) + 0.00005f)) 80427de: 4bc6 ldr r3, [pc, #792] ; (8042af8 ) 80427e0: 7adb ldrb r3, [r3, #11] 80427e2: b2db uxtb r3, r3 80427e4: 461a mov r2, r3 80427e6: 4bc5 ldr r3, [pc, #788] ; (8042afc ) 80427e8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80427ec: ee07 3a90 vmov s15, r3 80427f0: eeb8 7a67 vcvt.f32.u32 s14, s15 80427f4: eef1 6a04 vmov.f32 s13, #20 ; 0x40a00000 5.0 80427f8: eec7 7a26 vdiv.f32 s15, s14, s13 80427fc: ed9f 7ac0 vldr s14, [pc, #768] ; 8042b00 8042800: ee37 7a87 vadd.f32 s14, s15, s14 8042804: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8042808: eeb4 7ae7 vcmpe.f32 s14, s15 804280c: eef1 fa10 vmrs APSR_nzcv, fpscr 8042810: d517 bpl.n 8042842 pardata.LP = (float32_t) (FS[pardata.FRQ] / 5) + 0.0001f; 8042812: 4bb9 ldr r3, [pc, #740] ; (8042af8 ) 8042814: 7adb ldrb r3, [r3, #11] 8042816: b2db uxtb r3, r3 8042818: 461a mov r2, r3 804281a: 4bb8 ldr r3, [pc, #736] ; (8042afc ) 804281c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8042820: 4ab8 ldr r2, [pc, #736] ; (8042b04 ) 8042822: fba2 2303 umull r2, r3, r2, r3 8042826: 089b lsrs r3, r3, #2 8042828: ee07 3a90 vmov s15, r3 804282c: eef8 7a67 vcvt.f32.u32 s15, s15 8042830: ed9f 7ab5 vldr s14, [pc, #724] ; 8042b08 8042834: ee77 7a87 vadd.f32 s15, s15, s14 8042838: 4baf ldr r3, [pc, #700] ; (8042af8 ) 804283a: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 break; 804283e: f001 b8bb b.w 80439b8 pardata.LP = (float32_t) k; 8042842: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042846: ee07 3a90 vmov s15, r3 804284a: eef8 7a67 vcvt.f32.u32 s15, s15 804284e: 4baa ldr r3, [pc, #680] ; (8042af8 ) 8042850: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 pardata.LP *= 0.1f; 8042854: 4ba8 ldr r3, [pc, #672] ; (8042af8 ) 8042856: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 804285a: ed9f 7aac vldr s14, [pc, #688] ; 8042b0c 804285e: ee67 7a87 vmul.f32 s15, s15, s14 8042862: 4ba5 ldr r3, [pc, #660] ; (8042af8 ) 8042864: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 pardata.LP += 0.0001f; 8042868: 4ba3 ldr r3, [pc, #652] ; (8042af8 ) 804286a: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 804286e: ed9f 7aa6 vldr s14, [pc, #664] ; 8042b08 8042872: ee77 7a87 vadd.f32 s15, s15, s14 8042876: 4ba0 ldr r3, [pc, #640] ; (8042af8 ) 8042878: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 break; 804287c: f001 b89c b.w 80439b8 8042880: f001 b89a b.w 80439b8 case ROUTE_MAP: // KEY_DN focused = false; 8042884: 4ba2 ldr r3, [pc, #648] ; (8042b10 ) 8042886: 2200 movs r2, #0 8042888: 701a strb r2, [r3, #0] if(menupos == RouteMax_ALL) 804288a: 4ba2 ldr r3, [pc, #648] ; (8042b14 ) 804288c: 781b ldrb r3, [r3, #0] 804288e: b2db uxtb r3, r3 8042890: 2b06 cmp r3, #6 8042892: d104 bne.n 804289e menupos = GoMeas; 8042894: 4b9f ldr r3, [pc, #636] ; (8042b14 ) 8042896: 2201 movs r2, #1 8042898: 701a strb r2, [r3, #0] if(k == 0) k = 1; pardata.MAX_VAL = (float32_t) k; pardata.MAX_VAL *= 0.1f; pardata.MAX_VAL += 0.05f; } break; 804289a: f001 b890 b.w 80439be if((menupos >= PrevPoint) && (menupos <= NextPoint)) 804289e: 4b9d ldr r3, [pc, #628] ; (8042b14 ) 80428a0: 781b ldrb r3, [r3, #0] 80428a2: 4b9c ldr r3, [pc, #624] ; (8042b14 ) 80428a4: 781b ldrb r3, [r3, #0] 80428a6: b2db uxtb r3, r3 80428a8: 2b02 cmp r3, #2 80428aa: d804 bhi.n 80428b6 menupos = RouteTacho; 80428ac: 4b99 ldr r3, [pc, #612] ; (8042b14 ) 80428ae: 2203 movs r2, #3 80428b0: 701a strb r2, [r3, #0] break; 80428b2: f001 b884 b.w 80439be if(menupos == RouteTacho) 80428b6: 4b97 ldr r3, [pc, #604] ; (8042b14 ) 80428b8: 781b ldrb r3, [r3, #0] 80428ba: b2db uxtb r3, r3 80428bc: 2b03 cmp r3, #3 80428be: d104 bne.n 80428ca menupos = RouteTime; 80428c0: 4b94 ldr r3, [pc, #592] ; (8042b14 ) 80428c2: 2204 movs r2, #4 80428c4: 701a strb r2, [r3, #0] break; 80428c6: f001 b87a b.w 80439be if(menupos == RouteTime) 80428ca: 4b92 ldr r3, [pc, #584] ; (8042b14 ) 80428cc: 781b ldrb r3, [r3, #0] 80428ce: b2db uxtb r3, r3 80428d0: 2b04 cmp r3, #4 80428d2: d104 bne.n 80428de menupos = RouteAutoKu; 80428d4: 4b8f ldr r3, [pc, #572] ; (8042b14 ) 80428d6: 2205 movs r2, #5 80428d8: 701a strb r2, [r3, #0] break; 80428da: f001 b870 b.w 80439be if(menupos == RouteAutoKu) 80428de: 4b8d ldr r3, [pc, #564] ; (8042b14 ) 80428e0: 781b ldrb r3, [r3, #0] 80428e2: b2db uxtb r3, r3 80428e4: 2b05 cmp r3, #5 80428e6: d110 bne.n 804290a if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 80428e8: 4b83 ldr r3, [pc, #524] ; (8042af8 ) 80428ea: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80428ee: f003 0304 and.w r3, r3, #4 80428f2: 2b00 cmp r3, #0 80428f4: d104 bne.n 8042900 menupos = RouteMax_ALL; 80428f6: 4b87 ldr r3, [pc, #540] ; (8042b14 ) 80428f8: 2206 movs r2, #6 80428fa: 701a strb r2, [r3, #0] break; 80428fc: f001 b85f b.w 80439be else menupos = GoMeas; 8042900: 4b84 ldr r3, [pc, #528] ; (8042b14 ) 8042902: 2201 movs r2, #1 8042904: 701a strb r2, [r3, #0] break; 8042906: f001 b85a b.w 80439be if((menupos >= RouteMax_IDT) && (menupos <= RouteMax_IKD)) 804290a: 4b82 ldr r3, [pc, #520] ; (8042b14 ) 804290c: 781b ldrb r3, [r3, #0] 804290e: b2db uxtb r3, r3 8042910: 2b06 cmp r3, #6 8042912: f241 8054 bls.w 80439be 8042916: 4b7f ldr r3, [pc, #508] ; (8042b14 ) 8042918: 781b ldrb r3, [r3, #0] 804291a: b2db uxtb r3, r3 804291c: 2b0c cmp r3, #12 804291e: f201 804e bhi.w 80439be k = (uint32_t) (pardata.MAX_VAL * 10.0f); 8042922: 4b75 ldr r3, [pc, #468] ; (8042af8 ) 8042924: edd3 7a06 vldr s15, [r3, #24] 8042928: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 804292c: ee67 7a87 vmul.f32 s15, s15, s14 8042930: eefc 7ae7 vcvt.u32.f32 s15, s15 8042934: ee17 3a90 vmov r3, s15 8042938: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 804293c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042940: 095b lsrs r3, r3, #5 8042942: 4a75 ldr r2, [pc, #468] ; (8042b18 ) 8042944: fba2 2303 umull r2, r3, r2, r3 8042948: 09db lsrs r3, r3, #7 804294a: b2db uxtb r3, r3 804294c: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 8042950: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8042954: 0953 lsrs r3, r2, #5 8042956: 4970 ldr r1, [pc, #448] ; (8042b18 ) 8042958: fba1 1303 umull r1, r3, r1, r3 804295c: 09db lsrs r3, r3, #7 804295e: 496f ldr r1, [pc, #444] ; (8042b1c ) 8042960: fb01 f303 mul.w r3, r1, r3 8042964: 1ad3 subs r3, r2, r3 8042966: 4a6e ldr r2, [pc, #440] ; (8042b20 ) 8042968: fba2 2303 umull r2, r3, r2, r3 804296c: 0b5b lsrs r3, r3, #13 804296e: b2db uxtb r3, r3 8042970: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 8042974: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8042978: 0953 lsrs r3, r2, #5 804297a: 4967 ldr r1, [pc, #412] ; (8042b18 ) 804297c: fba1 1303 umull r1, r3, r1, r3 8042980: 09db lsrs r3, r3, #7 8042982: 4966 ldr r1, [pc, #408] ; (8042b1c ) 8042984: fb01 f303 mul.w r3, r1, r3 8042988: 1ad3 subs r3, r2, r3 804298a: 4a65 ldr r2, [pc, #404] ; (8042b20 ) 804298c: fba2 1203 umull r1, r2, r2, r3 8042990: 0b52 lsrs r2, r2, #13 8042992: f242 7110 movw r1, #10000 ; 0x2710 8042996: fb01 f202 mul.w r2, r1, r2 804299a: 1a9a subs r2, r3, r2 804299c: 4b61 ldr r3, [pc, #388] ; (8042b24 ) 804299e: fba3 2302 umull r2, r3, r3, r2 80429a2: 099b lsrs r3, r3, #6 80429a4: b2db uxtb r3, r3 80429a6: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 80429aa: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80429ae: 095a lsrs r2, r3, #5 80429b0: 4959 ldr r1, [pc, #356] ; (8042b18 ) 80429b2: fba1 1202 umull r1, r2, r1, r2 80429b6: 09d2 lsrs r2, r2, #7 80429b8: 4958 ldr r1, [pc, #352] ; (8042b1c ) 80429ba: fb01 f202 mul.w r2, r1, r2 80429be: 1a9a subs r2, r3, r2 80429c0: 4b57 ldr r3, [pc, #348] ; (8042b20 ) 80429c2: fba3 1302 umull r1, r3, r3, r2 80429c6: 0b5b lsrs r3, r3, #13 80429c8: f242 7110 movw r1, #10000 ; 0x2710 80429cc: fb01 f303 mul.w r3, r1, r3 80429d0: 1ad3 subs r3, r2, r3 80429d2: 4a54 ldr r2, [pc, #336] ; (8042b24 ) 80429d4: fba2 1203 umull r1, r2, r2, r3 80429d8: 0992 lsrs r2, r2, #6 80429da: f44f 717a mov.w r1, #1000 ; 0x3e8 80429de: fb01 f202 mul.w r2, r1, r2 80429e2: 1a9a subs r2, r3, r2 80429e4: 4b50 ldr r3, [pc, #320] ; (8042b28 ) 80429e6: fba3 2302 umull r2, r3, r3, r2 80429ea: 095b lsrs r3, r3, #5 80429ec: b2db uxtb r3, r3 80429ee: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 80429f2: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80429f6: 0953 lsrs r3, r2, #5 80429f8: 4947 ldr r1, [pc, #284] ; (8042b18 ) 80429fa: fba1 1303 umull r1, r3, r1, r3 80429fe: 09db lsrs r3, r3, #7 8042a00: 4946 ldr r1, [pc, #280] ; (8042b1c ) 8042a02: fb01 f303 mul.w r3, r1, r3 8042a06: 1ad3 subs r3, r2, r3 8042a08: 4a45 ldr r2, [pc, #276] ; (8042b20 ) 8042a0a: fba2 1203 umull r1, r2, r2, r3 8042a0e: 0b52 lsrs r2, r2, #13 8042a10: f242 7110 movw r1, #10000 ; 0x2710 8042a14: fb01 f202 mul.w r2, r1, r2 8042a18: 1a9a subs r2, r3, r2 8042a1a: 4b42 ldr r3, [pc, #264] ; (8042b24 ) 8042a1c: fba3 1302 umull r1, r3, r3, r2 8042a20: 099b lsrs r3, r3, #6 8042a22: f44f 717a mov.w r1, #1000 ; 0x3e8 8042a26: fb01 f303 mul.w r3, r1, r3 8042a2a: 1ad3 subs r3, r2, r3 8042a2c: 4a3e ldr r2, [pc, #248] ; (8042b28 ) 8042a2e: fba2 1203 umull r1, r2, r2, r3 8042a32: 0952 lsrs r2, r2, #5 8042a34: 2164 movs r1, #100 ; 0x64 8042a36: fb01 f202 mul.w r2, r1, r2 8042a3a: 1a9a subs r2, r3, r2 8042a3c: 4b31 ldr r3, [pc, #196] ; (8042b04 ) 8042a3e: fba3 2302 umull r2, r3, r3, r2 8042a42: 08db lsrs r3, r3, #3 8042a44: b2db uxtb r3, r3 8042a46: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 8042a4a: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8042a4e: 0953 lsrs r3, r2, #5 8042a50: 4931 ldr r1, [pc, #196] ; (8042b18 ) 8042a52: fba1 1303 umull r1, r3, r1, r3 8042a56: 09db lsrs r3, r3, #7 8042a58: 4930 ldr r1, [pc, #192] ; (8042b1c ) 8042a5a: fb01 f303 mul.w r3, r1, r3 8042a5e: 1ad3 subs r3, r2, r3 8042a60: 4a2f ldr r2, [pc, #188] ; (8042b20 ) 8042a62: fba2 1203 umull r1, r2, r2, r3 8042a66: 0b52 lsrs r2, r2, #13 8042a68: f242 7110 movw r1, #10000 ; 0x2710 8042a6c: fb01 f202 mul.w r2, r1, r2 8042a70: 1a9a subs r2, r3, r2 8042a72: 4b2c ldr r3, [pc, #176] ; (8042b24 ) 8042a74: fba3 1302 umull r1, r3, r3, r2 8042a78: 099b lsrs r3, r3, #6 8042a7a: f44f 717a mov.w r1, #1000 ; 0x3e8 8042a7e: fb01 f303 mul.w r3, r1, r3 8042a82: 1ad3 subs r3, r2, r3 8042a84: 4a28 ldr r2, [pc, #160] ; (8042b28 ) 8042a86: fba2 1203 umull r1, r2, r2, r3 8042a8a: 0952 lsrs r2, r2, #5 8042a8c: 2164 movs r1, #100 ; 0x64 8042a8e: fb01 f202 mul.w r2, r1, r2 8042a92: 1a9a subs r2, r3, r2 8042a94: 4b1b ldr r3, [pc, #108] ; (8042b04 ) 8042a96: fba3 1302 umull r1, r3, r3, r2 8042a9a: 08d9 lsrs r1, r3, #3 8042a9c: 460b mov r3, r1 8042a9e: 009b lsls r3, r3, #2 8042aa0: 440b add r3, r1 8042aa2: 005b lsls r3, r3, #1 8042aa4: 1ad1 subs r1, r2, r3 8042aa6: b2cb uxtb r3, r1 8042aa8: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 8042aac: 4b19 ldr r3, [pc, #100] ; (8042b14 ) 8042aae: 781b ldrb r3, [r3, #0] 8042ab0: b2db uxtb r3, r3 8042ab2: 3b07 subs r3, #7 8042ab4: 2b05 cmp r3, #5 8042ab6: f200 8086 bhi.w 8042bc6 8042aba: a201 add r2, pc, #4 ; (adr r2, 8042ac0 ) 8042abc: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8042ac0: 08042ad9 .word 0x08042ad9 8042ac4: 08042b31 .word 0x08042b31 8042ac8: 08042b53 .word 0x08042b53 8042acc: 08042b73 .word 0x08042b73 8042ad0: 08042b8f .word 0x08042b8f 8042ad4: 08042bab .word 0x08042bab if(k > 100000) k -= 100000; 8042ad8: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042adc: 4a0f ldr r2, [pc, #60] ; (8042b1c ) 8042ade: 4293 cmp r3, r2 8042ae0: d906 bls.n 8042af0 8042ae2: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8042ae6: 4b11 ldr r3, [pc, #68] ; (8042b2c ) 8042ae8: 4413 add r3, r2 8042aea: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8042aee: e06a b.n 8042bc6 else k = 0; 8042af0: 2300 movs r3, #0 8042af2: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8042af6: e066 b.n 8042bc6 8042af8: 20023e60 .word 0x20023e60 8042afc: 080ee890 .word 0x080ee890 8042b00: 3851b717 .word 0x3851b717 8042b04: cccccccd .word 0xcccccccd 8042b08: 38d1b717 .word 0x38d1b717 8042b0c: 3dcccccd .word 0x3dcccccd 8042b10: 20020f84 .word 0x20020f84 8042b14: 20020070 .word 0x20020070 8042b18: 0a7c5ac5 .word 0x0a7c5ac5 8042b1c: 000186a0 .word 0x000186a0 8042b20: d1b71759 .word 0xd1b71759 8042b24: 10624dd3 .word 0x10624dd3 8042b28: 51eb851f .word 0x51eb851f 8042b2c: fffe7960 .word 0xfffe7960 if(k > 10000) k -= 10000; 8042b30: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042b34: f242 7210 movw r2, #10000 ; 0x2710 8042b38: 4293 cmp r3, r2 8042b3a: d906 bls.n 8042b4a 8042b3c: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8042b40: 4b69 ldr r3, [pc, #420] ; (8042ce8 ) 8042b42: 4413 add r3, r2 8042b44: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8042b48: e03d b.n 8042bc6 else k = 0; 8042b4a: 2300 movs r3, #0 8042b4c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8042b50: e039 b.n 8042bc6 if(k > 1000) k -= 1000; 8042b52: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042b56: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 8042b5a: d906 bls.n 8042b6a 8042b5c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042b60: f5a3 737a sub.w r3, r3, #1000 ; 0x3e8 8042b64: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8042b68: e02d b.n 8042bc6 else k = 0; 8042b6a: 2300 movs r3, #0 8042b6c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8042b70: e029 b.n 8042bc6 if(k > 100) k -= 100; 8042b72: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042b76: 2b64 cmp r3, #100 ; 0x64 8042b78: d905 bls.n 8042b86 8042b7a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042b7e: 3b64 subs r3, #100 ; 0x64 8042b80: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8042b84: e01f b.n 8042bc6 else k = 0; 8042b86: 2300 movs r3, #0 8042b88: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8042b8c: e01b b.n 8042bc6 if(k > 10) k -= 10; 8042b8e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042b92: 2b0a cmp r3, #10 8042b94: d905 bls.n 8042ba2 8042b96: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042b9a: 3b0a subs r3, #10 8042b9c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8042ba0: e011 b.n 8042bc6 else k = 0; 8042ba2: 2300 movs r3, #0 8042ba4: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8042ba8: e00d b.n 8042bc6 if(k > 1) k -= 1; 8042baa: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042bae: 2b01 cmp r3, #1 8042bb0: d905 bls.n 8042bbe 8042bb2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042bb6: 3b01 subs r3, #1 8042bb8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8042bbc: e002 b.n 8042bc4 else k = 0; 8042bbe: 2300 movs r3, #0 8042bc0: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8042bc4: bf00 nop if(k == 0) k = 1; 8042bc6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042bca: 2b00 cmp r3, #0 8042bcc: d102 bne.n 8042bd4 8042bce: 2301 movs r3, #1 8042bd0: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.MAX_VAL = (float32_t) k; 8042bd4: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042bd8: ee07 3a90 vmov s15, r3 8042bdc: eef8 7a67 vcvt.f32.u32 s15, s15 8042be0: 4b42 ldr r3, [pc, #264] ; (8042cec ) 8042be2: edc3 7a06 vstr s15, [r3, #24] pardata.MAX_VAL *= 0.1f; 8042be6: 4b41 ldr r3, [pc, #260] ; (8042cec ) 8042be8: edd3 7a06 vldr s15, [r3, #24] 8042bec: ed9f 7a40 vldr s14, [pc, #256] ; 8042cf0 8042bf0: ee67 7a87 vmul.f32 s15, s15, s14 8042bf4: 4b3d ldr r3, [pc, #244] ; (8042cec ) 8042bf6: edc3 7a06 vstr s15, [r3, #24] pardata.MAX_VAL += 0.05f; 8042bfa: 4b3c ldr r3, [pc, #240] ; (8042cec ) 8042bfc: edd3 7a06 vldr s15, [r3, #24] 8042c00: ed9f 7a3c vldr s14, [pc, #240] ; 8042cf4 8042c04: ee77 7a87 vadd.f32 s15, s15, s14 8042c08: 4b38 ldr r3, [pc, #224] ; (8042cec ) 8042c0a: edc3 7a06 vstr s15, [r3, #24] break; 8042c0e: f000 bed6 b.w 80439be case PARAM_WAVE: // KEY_DN focused = false; 8042c12: 4b39 ldr r3, [pc, #228] ; (8042cf8 ) 8042c14: 2200 movs r2, #0 8042c16: 701a strb r2, [r3, #0] if(menupos == Ok) 8042c18: 4b38 ldr r3, [pc, #224] ; (8042cfc ) 8042c1a: 781b ldrb r3, [r3, #0] 8042c1c: b2db uxtb r3, r3 8042c1e: 2b00 cmp r3, #0 8042c20: d104 bne.n 8042c2c { #ifndef USE_D101 menupos = WaveTacho; 8042c22: 4b36 ldr r3, [pc, #216] ; (8042cfc ) 8042c24: 2203 movs r2, #3 8042c26: 701a strb r2, [r3, #0] if(k == 0) k = 1; pardata.MAX_VAL = (float32_t) k; pardata.MAX_VAL *= 0.1f; pardata.MAX_VAL += 0.05f; } break; 8042c28: f000 becc b.w 80439c4 if(menupos == WaveTacho) 8042c2c: 4b33 ldr r3, [pc, #204] ; (8042cfc ) 8042c2e: 781b ldrb r3, [r3, #0] 8042c30: b2db uxtb r3, r3 8042c32: 2b03 cmp r3, #3 8042c34: d104 bne.n 8042c40 menupos = WaveName; 8042c36: 4b31 ldr r3, [pc, #196] ; (8042cfc ) 8042c38: 2204 movs r2, #4 8042c3a: 701a strb r2, [r3, #0] break; 8042c3c: f000 bec2 b.w 80439c4 if(menupos == WaveName) 8042c40: 4b2e ldr r3, [pc, #184] ; (8042cfc ) 8042c42: 781b ldrb r3, [r3, #0] 8042c44: b2db uxtb r3, r3 8042c46: 2b04 cmp r3, #4 8042c48: d104 bne.n 8042c54 menupos = WaveTime; 8042c4a: 4b2c ldr r3, [pc, #176] ; (8042cfc ) 8042c4c: 2205 movs r2, #5 8042c4e: 701a strb r2, [r3, #0] break; 8042c50: f000 beb8 b.w 80439c4 if(menupos == WaveTime) 8042c54: 4b29 ldr r3, [pc, #164] ; (8042cfc ) 8042c56: 781b ldrb r3, [r3, #0] 8042c58: b2db uxtb r3, r3 8042c5a: 2b05 cmp r3, #5 8042c5c: d104 bne.n 8042c68 menupos = WaveAutoKu; 8042c5e: 4b27 ldr r3, [pc, #156] ; (8042cfc ) 8042c60: 2206 movs r2, #6 8042c62: 701a strb r2, [r3, #0] break; 8042c64: f000 beae b.w 80439c4 if(menupos == WaveAutoKu) 8042c68: 4b24 ldr r3, [pc, #144] ; (8042cfc ) 8042c6a: 781b ldrb r3, [r3, #0] 8042c6c: b2db uxtb r3, r3 8042c6e: 2b06 cmp r3, #6 8042c70: d110 bne.n 8042c94 if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 8042c72: 4b1e ldr r3, [pc, #120] ; (8042cec ) 8042c74: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8042c78: f003 0304 and.w r3, r3, #4 8042c7c: 2b00 cmp r3, #0 8042c7e: d104 bne.n 8042c8a menupos = WaveMax_ALL; 8042c80: 4b1e ldr r3, [pc, #120] ; (8042cfc ) 8042c82: 2207 movs r2, #7 8042c84: 701a strb r2, [r3, #0] break; 8042c86: f000 be9d b.w 80439c4 else menupos = WaveThr; 8042c8a: 4b1c ldr r3, [pc, #112] ; (8042cfc ) 8042c8c: 2208 movs r2, #8 8042c8e: 701a strb r2, [r3, #0] break; 8042c90: f000 be98 b.w 80439c4 if(menupos == WaveMax_ALL) 8042c94: 4b19 ldr r3, [pc, #100] ; (8042cfc ) 8042c96: 781b ldrb r3, [r3, #0] 8042c98: b2db uxtb r3, r3 8042c9a: 2b07 cmp r3, #7 8042c9c: d104 bne.n 8042ca8 menupos = WaveThr; 8042c9e: 4b17 ldr r3, [pc, #92] ; (8042cfc ) 8042ca0: 2208 movs r2, #8 8042ca2: 701a strb r2, [r3, #0] break; 8042ca4: f000 be8e b.w 80439c4 if(menupos == WaveThr) 8042ca8: 4b14 ldr r3, [pc, #80] ; (8042cfc ) 8042caa: 781b ldrb r3, [r3, #0] 8042cac: b2db uxtb r3, r3 8042cae: 2b08 cmp r3, #8 8042cb0: d10f bne.n 8042cd2 if(pardata.THR & 0x80) 8042cb2: 4b0e ldr r3, [pc, #56] ; (8042cec ) 8042cb4: 7bdb ldrb r3, [r3, #15] 8042cb6: b2db uxtb r3, r3 8042cb8: b25b sxtb r3, r3 8042cba: 2b00 cmp r3, #0 8042cbc: da04 bge.n 8042cc8 menupos = WaveThr_ALL; 8042cbe: 4b0f ldr r3, [pc, #60] ; (8042cfc ) 8042cc0: 2209 movs r2, #9 8042cc2: 701a strb r2, [r3, #0] break; 8042cc4: f000 be7e b.w 80439c4 else menupos = Ok; 8042cc8: 4b0c ldr r3, [pc, #48] ; (8042cfc ) 8042cca: 2200 movs r2, #0 8042ccc: 701a strb r2, [r3, #0] break; 8042cce: f000 be79 b.w 80439c4 if(menupos == WaveThr_ALL) 8042cd2: 4b0a ldr r3, [pc, #40] ; (8042cfc ) 8042cd4: 781b ldrb r3, [r3, #0] 8042cd6: b2db uxtb r3, r3 8042cd8: 2b09 cmp r3, #9 8042cda: d111 bne.n 8042d00 menupos = Ok; 8042cdc: 4b07 ldr r3, [pc, #28] ; (8042cfc ) 8042cde: 2200 movs r2, #0 8042ce0: 701a strb r2, [r3, #0] break; 8042ce2: f000 be6f b.w 80439c4 8042ce6: bf00 nop 8042ce8: ffffd8f0 .word 0xffffd8f0 8042cec: 20023e60 .word 0x20023e60 8042cf0: 3dcccccd .word 0x3dcccccd 8042cf4: 3d4ccccd .word 0x3d4ccccd 8042cf8: 20020f84 .word 0x20020f84 8042cfc: 20020070 .word 0x20020070 if((menupos >= WaveThr_IDT) && (menupos <= WaveThr_IKD)) 8042d00: 4bb3 ldr r3, [pc, #716] ; (8042fd0 ) 8042d02: 781b ldrb r3, [r3, #0] 8042d04: b2db uxtb r3, r3 8042d06: 2b0f cmp r3, #15 8042d08: f240 817a bls.w 8043000 8042d0c: 4bb0 ldr r3, [pc, #704] ; (8042fd0 ) 8042d0e: 781b ldrb r3, [r3, #0] 8042d10: b2db uxtb r3, r3 8042d12: 2b15 cmp r3, #21 8042d14: f200 8174 bhi.w 8043000 k = (uint32_t) (pardata.THR_VAL * 10.0f); 8042d18: 4bae ldr r3, [pc, #696] ; (8042fd4 ) 8042d1a: edd3 7a05 vldr s15, [r3, #20] 8042d1e: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 8042d22: ee67 7a87 vmul.f32 s15, s15, s14 8042d26: eefc 7ae7 vcvt.u32.f32 s15, s15 8042d2a: ee17 3a90 vmov r3, s15 8042d2e: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 8042d32: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042d36: 095b lsrs r3, r3, #5 8042d38: 4aa7 ldr r2, [pc, #668] ; (8042fd8 ) 8042d3a: fba2 2303 umull r2, r3, r2, r3 8042d3e: 09db lsrs r3, r3, #7 8042d40: b2db uxtb r3, r3 8042d42: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 8042d46: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8042d4a: 0953 lsrs r3, r2, #5 8042d4c: 49a2 ldr r1, [pc, #648] ; (8042fd8 ) 8042d4e: fba1 1303 umull r1, r3, r1, r3 8042d52: 09db lsrs r3, r3, #7 8042d54: 49a1 ldr r1, [pc, #644] ; (8042fdc ) 8042d56: fb01 f303 mul.w r3, r1, r3 8042d5a: 1ad3 subs r3, r2, r3 8042d5c: 4aa0 ldr r2, [pc, #640] ; (8042fe0 ) 8042d5e: fba2 2303 umull r2, r3, r2, r3 8042d62: 0b5b lsrs r3, r3, #13 8042d64: b2db uxtb r3, r3 8042d66: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 8042d6a: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8042d6e: 0953 lsrs r3, r2, #5 8042d70: 4999 ldr r1, [pc, #612] ; (8042fd8 ) 8042d72: fba1 1303 umull r1, r3, r1, r3 8042d76: 09db lsrs r3, r3, #7 8042d78: 4998 ldr r1, [pc, #608] ; (8042fdc ) 8042d7a: fb01 f303 mul.w r3, r1, r3 8042d7e: 1ad3 subs r3, r2, r3 8042d80: 4a97 ldr r2, [pc, #604] ; (8042fe0 ) 8042d82: fba2 1203 umull r1, r2, r2, r3 8042d86: 0b52 lsrs r2, r2, #13 8042d88: f242 7110 movw r1, #10000 ; 0x2710 8042d8c: fb01 f202 mul.w r2, r1, r2 8042d90: 1a9a subs r2, r3, r2 8042d92: 4b94 ldr r3, [pc, #592] ; (8042fe4 ) 8042d94: fba3 2302 umull r2, r3, r3, r2 8042d98: 099b lsrs r3, r3, #6 8042d9a: b2db uxtb r3, r3 8042d9c: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 8042da0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042da4: 095a lsrs r2, r3, #5 8042da6: 498c ldr r1, [pc, #560] ; (8042fd8 ) 8042da8: fba1 1202 umull r1, r2, r1, r2 8042dac: 09d2 lsrs r2, r2, #7 8042dae: 498b ldr r1, [pc, #556] ; (8042fdc ) 8042db0: fb01 f202 mul.w r2, r1, r2 8042db4: 1a9a subs r2, r3, r2 8042db6: 4b8a ldr r3, [pc, #552] ; (8042fe0 ) 8042db8: fba3 1302 umull r1, r3, r3, r2 8042dbc: 0b5b lsrs r3, r3, #13 8042dbe: f242 7110 movw r1, #10000 ; 0x2710 8042dc2: fb01 f303 mul.w r3, r1, r3 8042dc6: 1ad3 subs r3, r2, r3 8042dc8: 4a86 ldr r2, [pc, #536] ; (8042fe4 ) 8042dca: fba2 1203 umull r1, r2, r2, r3 8042dce: 0992 lsrs r2, r2, #6 8042dd0: f44f 717a mov.w r1, #1000 ; 0x3e8 8042dd4: fb01 f202 mul.w r2, r1, r2 8042dd8: 1a9a subs r2, r3, r2 8042dda: 4b83 ldr r3, [pc, #524] ; (8042fe8 ) 8042ddc: fba3 2302 umull r2, r3, r3, r2 8042de0: 095b lsrs r3, r3, #5 8042de2: b2db uxtb r3, r3 8042de4: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 8042de8: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8042dec: 0953 lsrs r3, r2, #5 8042dee: 497a ldr r1, [pc, #488] ; (8042fd8 ) 8042df0: fba1 1303 umull r1, r3, r1, r3 8042df4: 09db lsrs r3, r3, #7 8042df6: 4979 ldr r1, [pc, #484] ; (8042fdc ) 8042df8: fb01 f303 mul.w r3, r1, r3 8042dfc: 1ad3 subs r3, r2, r3 8042dfe: 4a78 ldr r2, [pc, #480] ; (8042fe0 ) 8042e00: fba2 1203 umull r1, r2, r2, r3 8042e04: 0b52 lsrs r2, r2, #13 8042e06: f242 7110 movw r1, #10000 ; 0x2710 8042e0a: fb01 f202 mul.w r2, r1, r2 8042e0e: 1a9a subs r2, r3, r2 8042e10: 4b74 ldr r3, [pc, #464] ; (8042fe4 ) 8042e12: fba3 1302 umull r1, r3, r3, r2 8042e16: 099b lsrs r3, r3, #6 8042e18: f44f 717a mov.w r1, #1000 ; 0x3e8 8042e1c: fb01 f303 mul.w r3, r1, r3 8042e20: 1ad3 subs r3, r2, r3 8042e22: 4a71 ldr r2, [pc, #452] ; (8042fe8 ) 8042e24: fba2 1203 umull r1, r2, r2, r3 8042e28: 0952 lsrs r2, r2, #5 8042e2a: 2164 movs r1, #100 ; 0x64 8042e2c: fb01 f202 mul.w r2, r1, r2 8042e30: 1a9a subs r2, r3, r2 8042e32: 4b6e ldr r3, [pc, #440] ; (8042fec ) 8042e34: fba3 2302 umull r2, r3, r3, r2 8042e38: 08db lsrs r3, r3, #3 8042e3a: b2db uxtb r3, r3 8042e3c: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 8042e40: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8042e44: 0953 lsrs r3, r2, #5 8042e46: 4964 ldr r1, [pc, #400] ; (8042fd8 ) 8042e48: fba1 1303 umull r1, r3, r1, r3 8042e4c: 09db lsrs r3, r3, #7 8042e4e: 4963 ldr r1, [pc, #396] ; (8042fdc ) 8042e50: fb01 f303 mul.w r3, r1, r3 8042e54: 1ad3 subs r3, r2, r3 8042e56: 4a62 ldr r2, [pc, #392] ; (8042fe0 ) 8042e58: fba2 1203 umull r1, r2, r2, r3 8042e5c: 0b52 lsrs r2, r2, #13 8042e5e: f242 7110 movw r1, #10000 ; 0x2710 8042e62: fb01 f202 mul.w r2, r1, r2 8042e66: 1a9a subs r2, r3, r2 8042e68: 4b5e ldr r3, [pc, #376] ; (8042fe4 ) 8042e6a: fba3 1302 umull r1, r3, r3, r2 8042e6e: 099b lsrs r3, r3, #6 8042e70: f44f 717a mov.w r1, #1000 ; 0x3e8 8042e74: fb01 f303 mul.w r3, r1, r3 8042e78: 1ad3 subs r3, r2, r3 8042e7a: 4a5b ldr r2, [pc, #364] ; (8042fe8 ) 8042e7c: fba2 1203 umull r1, r2, r2, r3 8042e80: 0952 lsrs r2, r2, #5 8042e82: 2164 movs r1, #100 ; 0x64 8042e84: fb01 f202 mul.w r2, r1, r2 8042e88: 1a9a subs r2, r3, r2 8042e8a: 4b58 ldr r3, [pc, #352] ; (8042fec ) 8042e8c: fba3 1302 umull r1, r3, r3, r2 8042e90: 08d9 lsrs r1, r3, #3 8042e92: 460b mov r3, r1 8042e94: 009b lsls r3, r3, #2 8042e96: 440b add r3, r1 8042e98: 005b lsls r3, r3, #1 8042e9a: 1ad1 subs r1, r2, r3 8042e9c: b2cb uxtb r3, r1 8042e9e: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 8042ea2: 4b4b ldr r3, [pc, #300] ; (8042fd0 ) 8042ea4: 781b ldrb r3, [r3, #0] 8042ea6: b2db uxtb r3, r3 8042ea8: 3b10 subs r3, #16 8042eaa: 2b05 cmp r3, #5 8042eac: d869 bhi.n 8042f82 8042eae: a201 add r2, pc, #4 ; (adr r2, 8042eb4 ) 8042eb0: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8042eb4: 08042ecd .word 0x08042ecd 8042eb8: 08042eed .word 0x08042eed 8042ebc: 08042f0f .word 0x08042f0f 8042ec0: 08042f2f .word 0x08042f2f 8042ec4: 08042f4b .word 0x08042f4b 8042ec8: 08042f67 .word 0x08042f67 if(k > 100000) k -= 100000; 8042ecc: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042ed0: 4a42 ldr r2, [pc, #264] ; (8042fdc ) 8042ed2: 4293 cmp r3, r2 8042ed4: d906 bls.n 8042ee4 8042ed6: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8042eda: 4b45 ldr r3, [pc, #276] ; (8042ff0 ) 8042edc: 4413 add r3, r2 8042ede: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8042ee2: e04e b.n 8042f82 else k = 0; 8042ee4: 2300 movs r3, #0 8042ee6: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8042eea: e04a b.n 8042f82 if(k > 10000) k -= 10000; 8042eec: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042ef0: f242 7210 movw r2, #10000 ; 0x2710 8042ef4: 4293 cmp r3, r2 8042ef6: d906 bls.n 8042f06 8042ef8: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8042efc: 4b3d ldr r3, [pc, #244] ; (8042ff4 ) 8042efe: 4413 add r3, r2 8042f00: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8042f04: e03d b.n 8042f82 else k = 0; 8042f06: 2300 movs r3, #0 8042f08: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8042f0c: e039 b.n 8042f82 if(k > 1000) k -= 1000; 8042f0e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042f12: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 8042f16: d906 bls.n 8042f26 8042f18: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042f1c: f5a3 737a sub.w r3, r3, #1000 ; 0x3e8 8042f20: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8042f24: e02d b.n 8042f82 else k = 0; 8042f26: 2300 movs r3, #0 8042f28: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8042f2c: e029 b.n 8042f82 if(k > 100) k -= 100; 8042f2e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042f32: 2b64 cmp r3, #100 ; 0x64 8042f34: d905 bls.n 8042f42 8042f36: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042f3a: 3b64 subs r3, #100 ; 0x64 8042f3c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8042f40: e01f b.n 8042f82 else k = 0; 8042f42: 2300 movs r3, #0 8042f44: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8042f48: e01b b.n 8042f82 if(k > 10) k -= 10; 8042f4a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042f4e: 2b0a cmp r3, #10 8042f50: d905 bls.n 8042f5e 8042f52: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042f56: 3b0a subs r3, #10 8042f58: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8042f5c: e011 b.n 8042f82 else k = 0; 8042f5e: 2300 movs r3, #0 8042f60: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8042f64: e00d b.n 8042f82 if(k > 1) k -= 1; 8042f66: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042f6a: 2b01 cmp r3, #1 8042f6c: d905 bls.n 8042f7a 8042f6e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042f72: 3b01 subs r3, #1 8042f74: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8042f78: e002 b.n 8042f80 else k = 0; 8042f7a: 2300 movs r3, #0 8042f7c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8042f80: bf00 nop if(k == 0) k = 1; 8042f82: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042f86: 2b00 cmp r3, #0 8042f88: d102 bne.n 8042f90 8042f8a: 2301 movs r3, #1 8042f8c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.THR_VAL = (float32_t) k; 8042f90: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042f94: ee07 3a90 vmov s15, r3 8042f98: eef8 7a67 vcvt.f32.u32 s15, s15 8042f9c: 4b0d ldr r3, [pc, #52] ; (8042fd4 ) 8042f9e: edc3 7a05 vstr s15, [r3, #20] pardata.THR_VAL *= 0.1f; 8042fa2: 4b0c ldr r3, [pc, #48] ; (8042fd4 ) 8042fa4: edd3 7a05 vldr s15, [r3, #20] 8042fa8: ed9f 7a13 vldr s14, [pc, #76] ; 8042ff8 8042fac: ee67 7a87 vmul.f32 s15, s15, s14 8042fb0: 4b08 ldr r3, [pc, #32] ; (8042fd4 ) 8042fb2: edc3 7a05 vstr s15, [r3, #20] pardata.THR_VAL += 0.05f; 8042fb6: 4b07 ldr r3, [pc, #28] ; (8042fd4 ) 8042fb8: edd3 7a05 vldr s15, [r3, #20] 8042fbc: ed9f 7a0f vldr s14, [pc, #60] ; 8042ffc 8042fc0: ee77 7a87 vadd.f32 s15, s15, s14 8042fc4: 4b03 ldr r3, [pc, #12] ; (8042fd4 ) 8042fc6: edc3 7a05 vstr s15, [r3, #20] break; 8042fca: f000 bcfb b.w 80439c4 8042fce: bf00 nop 8042fd0: 20020070 .word 0x20020070 8042fd4: 20023e60 .word 0x20023e60 8042fd8: 0a7c5ac5 .word 0x0a7c5ac5 8042fdc: 000186a0 .word 0x000186a0 8042fe0: d1b71759 .word 0xd1b71759 8042fe4: 10624dd3 .word 0x10624dd3 8042fe8: 51eb851f .word 0x51eb851f 8042fec: cccccccd .word 0xcccccccd 8042ff0: fffe7960 .word 0xfffe7960 8042ff4: ffffd8f0 .word 0xffffd8f0 8042ff8: 3dcccccd .word 0x3dcccccd 8042ffc: 3d4ccccd .word 0x3d4ccccd if((menupos >= WaveMax_IDT) && (menupos <= WaveMax_IKD)) 8043000: 4bb2 ldr r3, [pc, #712] ; (80432cc ) 8043002: 781b ldrb r3, [r3, #0] 8043004: b2db uxtb r3, r3 8043006: 2b09 cmp r3, #9 8043008: f240 84dc bls.w 80439c4 804300c: 4baf ldr r3, [pc, #700] ; (80432cc ) 804300e: 781b ldrb r3, [r3, #0] 8043010: b2db uxtb r3, r3 8043012: 2b0f cmp r3, #15 8043014: f200 84d6 bhi.w 80439c4 k = (uint32_t) (pardata.MAX_VAL * 10.0f); 8043018: 4bad ldr r3, [pc, #692] ; (80432d0 ) 804301a: edd3 7a06 vldr s15, [r3, #24] 804301e: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 8043022: ee67 7a87 vmul.f32 s15, s15, s14 8043026: eefc 7ae7 vcvt.u32.f32 s15, s15 804302a: ee17 3a90 vmov r3, s15 804302e: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 8043032: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8043036: 095b lsrs r3, r3, #5 8043038: 4aa6 ldr r2, [pc, #664] ; (80432d4 ) 804303a: fba2 2303 umull r2, r3, r2, r3 804303e: 09db lsrs r3, r3, #7 8043040: b2db uxtb r3, r3 8043042: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 8043046: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 804304a: 0953 lsrs r3, r2, #5 804304c: 49a1 ldr r1, [pc, #644] ; (80432d4 ) 804304e: fba1 1303 umull r1, r3, r1, r3 8043052: 09db lsrs r3, r3, #7 8043054: 49a0 ldr r1, [pc, #640] ; (80432d8 ) 8043056: fb01 f303 mul.w r3, r1, r3 804305a: 1ad3 subs r3, r2, r3 804305c: 4a9f ldr r2, [pc, #636] ; (80432dc ) 804305e: fba2 2303 umull r2, r3, r2, r3 8043062: 0b5b lsrs r3, r3, #13 8043064: b2db uxtb r3, r3 8043066: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 804306a: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 804306e: 0953 lsrs r3, r2, #5 8043070: 4998 ldr r1, [pc, #608] ; (80432d4 ) 8043072: fba1 1303 umull r1, r3, r1, r3 8043076: 09db lsrs r3, r3, #7 8043078: 4997 ldr r1, [pc, #604] ; (80432d8 ) 804307a: fb01 f303 mul.w r3, r1, r3 804307e: 1ad3 subs r3, r2, r3 8043080: 4a96 ldr r2, [pc, #600] ; (80432dc ) 8043082: fba2 1203 umull r1, r2, r2, r3 8043086: 0b52 lsrs r2, r2, #13 8043088: f242 7110 movw r1, #10000 ; 0x2710 804308c: fb01 f202 mul.w r2, r1, r2 8043090: 1a9a subs r2, r3, r2 8043092: 4b93 ldr r3, [pc, #588] ; (80432e0 ) 8043094: fba3 2302 umull r2, r3, r3, r2 8043098: 099b lsrs r3, r3, #6 804309a: b2db uxtb r3, r3 804309c: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 80430a0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80430a4: 095a lsrs r2, r3, #5 80430a6: 498b ldr r1, [pc, #556] ; (80432d4 ) 80430a8: fba1 1202 umull r1, r2, r1, r2 80430ac: 09d2 lsrs r2, r2, #7 80430ae: 498a ldr r1, [pc, #552] ; (80432d8 ) 80430b0: fb01 f202 mul.w r2, r1, r2 80430b4: 1a9a subs r2, r3, r2 80430b6: 4b89 ldr r3, [pc, #548] ; (80432dc ) 80430b8: fba3 1302 umull r1, r3, r3, r2 80430bc: 0b5b lsrs r3, r3, #13 80430be: f242 7110 movw r1, #10000 ; 0x2710 80430c2: fb01 f303 mul.w r3, r1, r3 80430c6: 1ad3 subs r3, r2, r3 80430c8: 4a85 ldr r2, [pc, #532] ; (80432e0 ) 80430ca: fba2 1203 umull r1, r2, r2, r3 80430ce: 0992 lsrs r2, r2, #6 80430d0: f44f 717a mov.w r1, #1000 ; 0x3e8 80430d4: fb01 f202 mul.w r2, r1, r2 80430d8: 1a9a subs r2, r3, r2 80430da: 4b82 ldr r3, [pc, #520] ; (80432e4 ) 80430dc: fba3 2302 umull r2, r3, r3, r2 80430e0: 095b lsrs r3, r3, #5 80430e2: b2db uxtb r3, r3 80430e4: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 80430e8: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80430ec: 0953 lsrs r3, r2, #5 80430ee: 4979 ldr r1, [pc, #484] ; (80432d4 ) 80430f0: fba1 1303 umull r1, r3, r1, r3 80430f4: 09db lsrs r3, r3, #7 80430f6: 4978 ldr r1, [pc, #480] ; (80432d8 ) 80430f8: fb01 f303 mul.w r3, r1, r3 80430fc: 1ad3 subs r3, r2, r3 80430fe: 4a77 ldr r2, [pc, #476] ; (80432dc ) 8043100: fba2 1203 umull r1, r2, r2, r3 8043104: 0b52 lsrs r2, r2, #13 8043106: f242 7110 movw r1, #10000 ; 0x2710 804310a: fb01 f202 mul.w r2, r1, r2 804310e: 1a9a subs r2, r3, r2 8043110: 4b73 ldr r3, [pc, #460] ; (80432e0 ) 8043112: fba3 1302 umull r1, r3, r3, r2 8043116: 099b lsrs r3, r3, #6 8043118: f44f 717a mov.w r1, #1000 ; 0x3e8 804311c: fb01 f303 mul.w r3, r1, r3 8043120: 1ad3 subs r3, r2, r3 8043122: 4a70 ldr r2, [pc, #448] ; (80432e4 ) 8043124: fba2 1203 umull r1, r2, r2, r3 8043128: 0952 lsrs r2, r2, #5 804312a: 2164 movs r1, #100 ; 0x64 804312c: fb01 f202 mul.w r2, r1, r2 8043130: 1a9a subs r2, r3, r2 8043132: 4b6d ldr r3, [pc, #436] ; (80432e8 ) 8043134: fba3 2302 umull r2, r3, r3, r2 8043138: 08db lsrs r3, r3, #3 804313a: b2db uxtb r3, r3 804313c: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 8043140: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8043144: 0953 lsrs r3, r2, #5 8043146: 4963 ldr r1, [pc, #396] ; (80432d4 ) 8043148: fba1 1303 umull r1, r3, r1, r3 804314c: 09db lsrs r3, r3, #7 804314e: 4962 ldr r1, [pc, #392] ; (80432d8 ) 8043150: fb01 f303 mul.w r3, r1, r3 8043154: 1ad3 subs r3, r2, r3 8043156: 4a61 ldr r2, [pc, #388] ; (80432dc ) 8043158: fba2 1203 umull r1, r2, r2, r3 804315c: 0b52 lsrs r2, r2, #13 804315e: f242 7110 movw r1, #10000 ; 0x2710 8043162: fb01 f202 mul.w r2, r1, r2 8043166: 1a9a subs r2, r3, r2 8043168: 4b5d ldr r3, [pc, #372] ; (80432e0 ) 804316a: fba3 1302 umull r1, r3, r3, r2 804316e: 099b lsrs r3, r3, #6 8043170: f44f 717a mov.w r1, #1000 ; 0x3e8 8043174: fb01 f303 mul.w r3, r1, r3 8043178: 1ad3 subs r3, r2, r3 804317a: 4a5a ldr r2, [pc, #360] ; (80432e4 ) 804317c: fba2 1203 umull r1, r2, r2, r3 8043180: 0952 lsrs r2, r2, #5 8043182: 2164 movs r1, #100 ; 0x64 8043184: fb01 f202 mul.w r2, r1, r2 8043188: 1a9a subs r2, r3, r2 804318a: 4b57 ldr r3, [pc, #348] ; (80432e8 ) 804318c: fba3 1302 umull r1, r3, r3, r2 8043190: 08d9 lsrs r1, r3, #3 8043192: 460b mov r3, r1 8043194: 009b lsls r3, r3, #2 8043196: 440b add r3, r1 8043198: 005b lsls r3, r3, #1 804319a: 1ad1 subs r1, r2, r3 804319c: b2cb uxtb r3, r1 804319e: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 80431a2: 4b4a ldr r3, [pc, #296] ; (80432cc ) 80431a4: 781b ldrb r3, [r3, #0] 80431a6: b2db uxtb r3, r3 80431a8: 3b0a subs r3, #10 80431aa: 2b05 cmp r3, #5 80431ac: d869 bhi.n 8043282 80431ae: a201 add r2, pc, #4 ; (adr r2, 80431b4 ) 80431b0: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80431b4: 080431cd .word 0x080431cd 80431b8: 080431ed .word 0x080431ed 80431bc: 0804320f .word 0x0804320f 80431c0: 0804322f .word 0x0804322f 80431c4: 0804324b .word 0x0804324b 80431c8: 08043267 .word 0x08043267 if(k > 100000) k -= 100000; 80431cc: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80431d0: 4a41 ldr r2, [pc, #260] ; (80432d8 ) 80431d2: 4293 cmp r3, r2 80431d4: d906 bls.n 80431e4 80431d6: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80431da: 4b44 ldr r3, [pc, #272] ; (80432ec ) 80431dc: 4413 add r3, r2 80431de: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80431e2: e04e b.n 8043282 else k = 0; 80431e4: 2300 movs r3, #0 80431e6: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80431ea: e04a b.n 8043282 if(k > 10000) k -= 10000; 80431ec: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80431f0: f242 7210 movw r2, #10000 ; 0x2710 80431f4: 4293 cmp r3, r2 80431f6: d906 bls.n 8043206 80431f8: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80431fc: 4b3c ldr r3, [pc, #240] ; (80432f0 ) 80431fe: 4413 add r3, r2 8043200: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8043204: e03d b.n 8043282 else k = 0; 8043206: 2300 movs r3, #0 8043208: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 804320c: e039 b.n 8043282 if(k > 1000) k -= 1000; 804320e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8043212: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 8043216: d906 bls.n 8043226 8043218: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804321c: f5a3 737a sub.w r3, r3, #1000 ; 0x3e8 8043220: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8043224: e02d b.n 8043282 else k = 0; 8043226: 2300 movs r3, #0 8043228: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 804322c: e029 b.n 8043282 if(k > 100) k -= 100; 804322e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8043232: 2b64 cmp r3, #100 ; 0x64 8043234: d905 bls.n 8043242 8043236: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804323a: 3b64 subs r3, #100 ; 0x64 804323c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8043240: e01f b.n 8043282 else k = 0; 8043242: 2300 movs r3, #0 8043244: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8043248: e01b b.n 8043282 if(k > 10) k -= 10; 804324a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804324e: 2b0a cmp r3, #10 8043250: d905 bls.n 804325e 8043252: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8043256: 3b0a subs r3, #10 8043258: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 804325c: e011 b.n 8043282 else k = 0; 804325e: 2300 movs r3, #0 8043260: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8043264: e00d b.n 8043282 if(k > 1) k -= 1; 8043266: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804326a: 2b01 cmp r3, #1 804326c: d905 bls.n 804327a 804326e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8043272: 3b01 subs r3, #1 8043274: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8043278: e002 b.n 8043280 else k = 0; 804327a: 2300 movs r3, #0 804327c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8043280: bf00 nop if(k == 0) k = 1; 8043282: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8043286: 2b00 cmp r3, #0 8043288: d102 bne.n 8043290 804328a: 2301 movs r3, #1 804328c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.MAX_VAL = (float32_t) k; 8043290: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8043294: ee07 3a90 vmov s15, r3 8043298: eef8 7a67 vcvt.f32.u32 s15, s15 804329c: 4b0c ldr r3, [pc, #48] ; (80432d0 ) 804329e: edc3 7a06 vstr s15, [r3, #24] pardata.MAX_VAL *= 0.1f; 80432a2: 4b0b ldr r3, [pc, #44] ; (80432d0 ) 80432a4: edd3 7a06 vldr s15, [r3, #24] 80432a8: ed9f 7a12 vldr s14, [pc, #72] ; 80432f4 80432ac: ee67 7a87 vmul.f32 s15, s15, s14 80432b0: 4b07 ldr r3, [pc, #28] ; (80432d0 ) 80432b2: edc3 7a06 vstr s15, [r3, #24] pardata.MAX_VAL += 0.05f; 80432b6: 4b06 ldr r3, [pc, #24] ; (80432d0 ) 80432b8: edd3 7a06 vldr s15, [r3, #24] 80432bc: ed9f 7a0e vldr s14, [pc, #56] ; 80432f8 80432c0: ee77 7a87 vadd.f32 s15, s15, s14 80432c4: 4b02 ldr r3, [pc, #8] ; (80432d0 ) 80432c6: edc3 7a06 vstr s15, [r3, #24] break; 80432ca: e37b b.n 80439c4 80432cc: 20020070 .word 0x20020070 80432d0: 20023e60 .word 0x20023e60 80432d4: 0a7c5ac5 .word 0x0a7c5ac5 80432d8: 000186a0 .word 0x000186a0 80432dc: d1b71759 .word 0xd1b71759 80432e0: 10624dd3 .word 0x10624dd3 80432e4: 51eb851f .word 0x51eb851f 80432e8: cccccccd .word 0xcccccccd 80432ec: fffe7960 .word 0xfffe7960 80432f0: ffffd8f0 .word 0xffffd8f0 80432f4: 3dcccccd .word 0x3dcccccd 80432f8: 3d4ccccd .word 0x3d4ccccd case SETTINGS: if(menupos >= Ies) 80432fc: 4bcd ldr r3, [pc, #820] ; (8043634 ) 80432fe: 781b ldrb r3, [r3, #0] 8043300: b2db uxtb r3, r3 8043302: 2b0b cmp r3, #11 8043304: f240 815a bls.w 80435bc { k = (uint32_t) (pardata.IKK * 1000.0f); 8043308: 4bcb ldr r3, [pc, #812] ; (8043638 ) 804330a: edd3 7a04 vldr s15, [r3, #16] 804330e: ed9f 7acb vldr s14, [pc, #812] ; 804363c 8043312: ee67 7a87 vmul.f32 s15, s15, s14 8043316: eefc 7ae7 vcvt.u32.f32 s15, s15 804331a: ee17 3a90 vmov r3, s15 804331e: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 ies = (uint8_t) (k / 100000); 8043322: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8043326: 095b lsrs r3, r3, #5 8043328: 4ac5 ldr r2, [pc, #788] ; (8043640 ) 804332a: fba2 2303 umull r2, r3, r2, r3 804332e: 09db lsrs r3, r3, #7 8043330: b2db uxtb r3, r3 8043332: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 / 10000); 8043336: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 804333a: 0953 lsrs r3, r2, #5 804333c: 49c0 ldr r1, [pc, #768] ; (8043640 ) 804333e: fba1 1303 umull r1, r3, r1, r3 8043342: 09db lsrs r3, r3, #7 8043344: 49bf ldr r1, [pc, #764] ; (8043644 ) 8043346: fb01 f303 mul.w r3, r1, r3 804334a: 1ad3 subs r3, r2, r3 804334c: 4abe ldr r2, [pc, #760] ; (8043648 ) 804334e: fba2 2303 umull r2, r3, r2, r3 8043352: 0b5b lsrs r3, r3, #13 8043354: b2db uxtb r3, r3 8043356: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 / 1000); 804335a: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 804335e: 0953 lsrs r3, r2, #5 8043360: 49b7 ldr r1, [pc, #732] ; (8043640 ) 8043362: fba1 1303 umull r1, r3, r1, r3 8043366: 09db lsrs r3, r3, #7 8043368: 49b6 ldr r1, [pc, #728] ; (8043644 ) 804336a: fb01 f303 mul.w r3, r1, r3 804336e: 1ad3 subs r3, r2, r3 8043370: 4ab5 ldr r2, [pc, #724] ; (8043648 ) 8043372: fba2 1203 umull r1, r2, r2, r3 8043376: 0b52 lsrs r2, r2, #13 8043378: f242 7110 movw r1, #10000 ; 0x2710 804337c: fb01 f202 mul.w r2, r1, r2 8043380: 1a9a subs r2, r3, r2 8043382: 4bb2 ldr r3, [pc, #712] ; (804364c ) 8043384: fba3 2302 umull r2, r3, r3, r2 8043388: 099b lsrs r3, r3, #6 804338a: b2db uxtb r3, r3 804338c: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 8043390: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8043394: 095a lsrs r2, r3, #5 8043396: 49aa ldr r1, [pc, #680] ; (8043640 ) 8043398: fba1 1202 umull r1, r2, r1, r2 804339c: 09d2 lsrs r2, r2, #7 804339e: 49a9 ldr r1, [pc, #676] ; (8043644 ) 80433a0: fb01 f202 mul.w r2, r1, r2 80433a4: 1a9a subs r2, r3, r2 80433a6: 4ba8 ldr r3, [pc, #672] ; (8043648 ) 80433a8: fba3 1302 umull r1, r3, r3, r2 80433ac: 0b5b lsrs r3, r3, #13 80433ae: f242 7110 movw r1, #10000 ; 0x2710 80433b2: fb01 f303 mul.w r3, r1, r3 80433b6: 1ad3 subs r3, r2, r3 80433b8: 4aa4 ldr r2, [pc, #656] ; (804364c ) 80433ba: fba2 1203 umull r1, r2, r2, r3 80433be: 0992 lsrs r2, r2, #6 80433c0: f44f 717a mov.w r1, #1000 ; 0x3e8 80433c4: fb01 f202 mul.w r2, r1, r2 80433c8: 1a9a subs r2, r3, r2 80433ca: 4ba1 ldr r3, [pc, #644] ; (8043650 ) 80433cc: fba3 2302 umull r2, r3, r3, r2 80433d0: 095b lsrs r3, r3, #5 80433d2: b2db uxtb r3, r3 80433d4: f887 306e strb.w r3, [r7, #110] ; 0x6e iks = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 80433d8: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80433dc: 0953 lsrs r3, r2, #5 80433de: 4998 ldr r1, [pc, #608] ; (8043640 ) 80433e0: fba1 1303 umull r1, r3, r1, r3 80433e4: 09db lsrs r3, r3, #7 80433e6: 4997 ldr r1, [pc, #604] ; (8043644 ) 80433e8: fb01 f303 mul.w r3, r1, r3 80433ec: 1ad3 subs r3, r2, r3 80433ee: 4a96 ldr r2, [pc, #600] ; (8043648 ) 80433f0: fba2 1203 umull r1, r2, r2, r3 80433f4: 0b52 lsrs r2, r2, #13 80433f6: f242 7110 movw r1, #10000 ; 0x2710 80433fa: fb01 f202 mul.w r2, r1, r2 80433fe: 1a9a subs r2, r3, r2 8043400: 4b92 ldr r3, [pc, #584] ; (804364c ) 8043402: fba3 1302 umull r1, r3, r3, r2 8043406: 099b lsrs r3, r3, #6 8043408: f44f 717a mov.w r1, #1000 ; 0x3e8 804340c: fb01 f303 mul.w r3, r1, r3 8043410: 1ad3 subs r3, r2, r3 8043412: 4a8f ldr r2, [pc, #572] ; (8043650 ) 8043414: fba2 1203 umull r1, r2, r2, r3 8043418: 0952 lsrs r2, r2, #5 804341a: 2164 movs r1, #100 ; 0x64 804341c: fb01 f202 mul.w r2, r1, r2 8043420: 1a9a subs r2, r3, r2 8043422: 4b8c ldr r3, [pc, #560] ; (8043654 ) 8043424: fba3 2302 umull r2, r3, r3, r2 8043428: 08db lsrs r3, r3, #3 804342a: b2db uxtb r3, r3 804342c: f887 306d strb.w r3, [r7, #109] ; 0x6d ikt = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 8043430: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8043434: 0953 lsrs r3, r2, #5 8043436: 4982 ldr r1, [pc, #520] ; (8043640 ) 8043438: fba1 1303 umull r1, r3, r1, r3 804343c: 09db lsrs r3, r3, #7 804343e: 4981 ldr r1, [pc, #516] ; (8043644 ) 8043440: fb01 f303 mul.w r3, r1, r3 8043444: 1ad3 subs r3, r2, r3 8043446: 4a80 ldr r2, [pc, #512] ; (8043648 ) 8043448: fba2 1203 umull r1, r2, r2, r3 804344c: 0b52 lsrs r2, r2, #13 804344e: f242 7110 movw r1, #10000 ; 0x2710 8043452: fb01 f202 mul.w r2, r1, r2 8043456: 1a9a subs r2, r3, r2 8043458: 4b7c ldr r3, [pc, #496] ; (804364c ) 804345a: fba3 1302 umull r1, r3, r3, r2 804345e: 099b lsrs r3, r3, #6 8043460: f44f 717a mov.w r1, #1000 ; 0x3e8 8043464: fb01 f303 mul.w r3, r1, r3 8043468: 1ad3 subs r3, r2, r3 804346a: 4a79 ldr r2, [pc, #484] ; (8043650 ) 804346c: fba2 1203 umull r1, r2, r2, r3 8043470: 0952 lsrs r2, r2, #5 8043472: 2164 movs r1, #100 ; 0x64 8043474: fb01 f202 mul.w r2, r1, r2 8043478: 1a9a subs r2, r3, r2 804347a: 4b76 ldr r3, [pc, #472] ; (8043654 ) 804347c: fba3 1302 umull r1, r3, r3, r2 8043480: 08d9 lsrs r1, r3, #3 8043482: 460b mov r3, r1 8043484: 009b lsls r3, r3, #2 8043486: 440b add r3, r1 8043488: 005b lsls r3, r3, #1 804348a: 1ad1 subs r1, r2, r3 804348c: b2cb uxtb r3, r1 804348e: f887 306c strb.w r3, [r7, #108] ; 0x6c switch(menupos) 8043492: 4b68 ldr r3, [pc, #416] ; (8043634 ) 8043494: 781b ldrb r3, [r3, #0] 8043496: b2db uxtb r3, r3 8043498: 3b0c subs r3, #12 804349a: 2b05 cmp r3, #5 804349c: d869 bhi.n 8043572 804349e: a201 add r2, pc, #4 ; (adr r2, 80434a4 ) 80434a0: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80434a4: 080434bd .word 0x080434bd 80434a8: 080434dd .word 0x080434dd 80434ac: 080434ff .word 0x080434ff 80434b0: 0804351f .word 0x0804351f 80434b4: 0804353b .word 0x0804353b 80434b8: 08043557 .word 0x08043557 { case Ies: if(k > 100000) k -= 100000; 80434bc: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80434c0: 4a60 ldr r2, [pc, #384] ; (8043644 ) 80434c2: 4293 cmp r3, r2 80434c4: d906 bls.n 80434d4 80434c6: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80434ca: 4b63 ldr r3, [pc, #396] ; (8043658 ) 80434cc: 4413 add r3, r2 80434ce: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 else k = 0; break; 80434d2: e04e b.n 8043572 else k = 0; 80434d4: 2300 movs r3, #0 80434d6: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80434da: e04a b.n 8043572 case Ied: if(k > 10000) k -= 10000; 80434dc: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80434e0: f242 7210 movw r2, #10000 ; 0x2710 80434e4: 4293 cmp r3, r2 80434e6: d906 bls.n 80434f6 80434e8: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80434ec: 4b5b ldr r3, [pc, #364] ; (804365c ) 80434ee: 4413 add r3, r2 80434f0: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 else k = 0; break; 80434f4: e03d b.n 8043572 else k = 0; 80434f6: 2300 movs r3, #0 80434f8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80434fc: e039 b.n 8043572 case Iee: if(k > 1000) k -= 1000; 80434fe: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8043502: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 8043506: d906 bls.n 8043516 8043508: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804350c: f5a3 737a sub.w r3, r3, #1000 ; 0x3e8 8043510: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 else k = 0; break; 8043514: e02d b.n 8043572 else k = 0; 8043516: 2300 movs r3, #0 8043518: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 804351c: e029 b.n 8043572 case Ikd: if(k > 100) k -= 100; 804351e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8043522: 2b64 cmp r3, #100 ; 0x64 8043524: d905 bls.n 8043532 8043526: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804352a: 3b64 subs r3, #100 ; 0x64 804352c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 else k = 0; break; 8043530: e01f b.n 8043572 else k = 0; 8043532: 2300 movs r3, #0 8043534: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8043538: e01b b.n 8043572 case Iks: if(k > 10) k -= 10; 804353a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804353e: 2b0a cmp r3, #10 8043540: d905 bls.n 804354e 8043542: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8043546: 3b0a subs r3, #10 8043548: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 else k = 0; break; 804354c: e011 b.n 8043572 else k = 0; 804354e: 2300 movs r3, #0 8043550: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8043554: e00d b.n 8043572 case Ikt: if(k > 1) k -= 1; 8043556: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804355a: 2b01 cmp r3, #1 804355c: d905 bls.n 804356a 804355e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8043562: 3b01 subs r3, #1 8043564: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 else k = 0; break; 8043568: e002 b.n 8043570 else k = 0; 804356a: 2300 movs r3, #0 804356c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8043570: bf00 nop } if(k == 0) k = 1; 8043572: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8043576: 2b00 cmp r3, #0 8043578: d102 bne.n 8043580 804357a: 2301 movs r3, #1 804357c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.IKK = (float32_t) k; 8043580: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8043584: ee07 3a90 vmov s15, r3 8043588: eef8 7a67 vcvt.f32.u32 s15, s15 804358c: 4b2a ldr r3, [pc, #168] ; (8043638 ) 804358e: edc3 7a04 vstr s15, [r3, #16] pardata.IKK *= 0.001f; 8043592: 4b29 ldr r3, [pc, #164] ; (8043638 ) 8043594: edd3 7a04 vldr s15, [r3, #16] 8043598: ed9f 7a31 vldr s14, [pc, #196] ; 8043660 804359c: ee67 7a87 vmul.f32 s15, s15, s14 80435a0: 4b25 ldr r3, [pc, #148] ; (8043638 ) 80435a2: edc3 7a04 vstr s15, [r3, #16] pardata.IKK += 0.0005f; 80435a6: 4b24 ldr r3, [pc, #144] ; (8043638 ) 80435a8: edd3 7a04 vldr s15, [r3, #16] 80435ac: ed9f 7a2d vldr s14, [pc, #180] ; 8043664 80435b0: ee77 7a87 vadd.f32 s15, s15, s14 80435b4: 4b20 ldr r3, [pc, #128] ; (8043638 ) 80435b6: edc3 7a04 vstr s15, [r3, #16] if(menupos < FormatDisk) menupos++; else menupos = Type; #endif #endif } break; 80435ba: e219 b.n 80439f0 focused = false; 80435bc: 4b2a ldr r3, [pc, #168] ; (8043668 ) 80435be: 2200 movs r2, #0 80435c0: 701a strb r2, [r3, #0] if(menupos < FormatDisk) menupos++; 80435c2: 4b1c ldr r3, [pc, #112] ; (8043634 ) 80435c4: 781b ldrb r3, [r3, #0] 80435c6: b2db uxtb r3, r3 80435c8: 2b04 cmp r3, #4 80435ca: d807 bhi.n 80435dc 80435cc: 4b19 ldr r3, [pc, #100] ; (8043634 ) 80435ce: 781b ldrb r3, [r3, #0] 80435d0: b2db uxtb r3, r3 80435d2: 3301 adds r3, #1 80435d4: b2da uxtb r2, r3 80435d6: 4b17 ldr r3, [pc, #92] ; (8043634 ) 80435d8: 701a strb r2, [r3, #0] break; 80435da: e209 b.n 80439f0 else menupos = Type; 80435dc: 4b15 ldr r3, [pc, #84] ; (8043634 ) 80435de: 2201 movs r2, #1 80435e0: 701a strb r2, [r3, #0] break; 80435e2: e205 b.n 80439f0 case DATETIME: if(menupos > TimeAll) 80435e4: 4b13 ldr r3, [pc, #76] ; (8043634 ) 80435e6: 781b ldrb r3, [r3, #0] 80435e8: b2db uxtb r3, r3 80435ea: 2b02 cmp r3, #2 80435ec: d952 bls.n 8043694 { switch(menupos) 80435ee: 4b11 ldr r3, [pc, #68] ; (8043634 ) 80435f0: 781b ldrb r3, [r3, #0] 80435f2: b2db uxtb r3, r3 80435f4: 3b03 subs r3, #3 80435f6: 2b04 cmp r3, #4 80435f8: f200 81e7 bhi.w 80439ca 80435fc: a201 add r2, pc, #4 ; (adr r2, 8043604 ) 80435fe: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8043602: bf00 nop 8043604: 08043619 .word 0x08043619 8043608: 08043627 .word 0x08043627 804360c: 0804366d .word 0x0804366d 8043610: 0804367b .word 0x0804367b 8043614: 08043687 .word 0x08043687 { case DateD: ChangeDate(-1, 0, 0); break; 8043618: 2200 movs r2, #0 804361a: 2100 movs r1, #0 804361c: f04f 30ff mov.w r0, #4294967295 8043620: f024 f83c bl 806769c 8043624: e047 b.n 80436b6 case DateM: ChangeDate(0, -1, 0); break; 8043626: 2200 movs r2, #0 8043628: f04f 31ff mov.w r1, #4294967295 804362c: 2000 movs r0, #0 804362e: f024 f835 bl 806769c 8043632: e040 b.n 80436b6 8043634: 20020070 .word 0x20020070 8043638: 20023e60 .word 0x20023e60 804363c: 447a0000 .word 0x447a0000 8043640: 0a7c5ac5 .word 0x0a7c5ac5 8043644: 000186a0 .word 0x000186a0 8043648: d1b71759 .word 0xd1b71759 804364c: 10624dd3 .word 0x10624dd3 8043650: 51eb851f .word 0x51eb851f 8043654: cccccccd .word 0xcccccccd 8043658: fffe7960 .word 0xfffe7960 804365c: ffffd8f0 .word 0xffffd8f0 8043660: 3a83126f .word 0x3a83126f 8043664: 3a03126f .word 0x3a03126f 8043668: 20020f84 .word 0x20020f84 case DateY: ChangeDate(0, 0, -1); break; 804366c: f04f 32ff mov.w r2, #4294967295 8043670: 2100 movs r1, #0 8043672: 2000 movs r0, #0 8043674: f024 f812 bl 806769c 8043678: e01d b.n 80436b6 case TimeH: ChangeTime(-1, 0); break; 804367a: 2100 movs r1, #0 804367c: f04f 30ff mov.w r0, #4294967295 8043680: f023 ffa2 bl 80675c8 8043684: e017 b.n 80436b6 case TimeM: ChangeTime(0, -1); break; 8043686: f04f 31ff mov.w r1, #4294967295 804368a: 2000 movs r0, #0 804368c: f023 ff9c bl 80675c8 8043690: bf00 nop 8043692: e010 b.n 80436b6 } } else { if(menupos < TimeAll) menupos++; 8043694: 4b8e ldr r3, [pc, #568] ; (80438d0 ) 8043696: 781b ldrb r3, [r3, #0] 8043698: b2db uxtb r3, r3 804369a: 2b01 cmp r3, #1 804369c: d807 bhi.n 80436ae 804369e: 4b8c ldr r3, [pc, #560] ; (80438d0 ) 80436a0: 781b ldrb r3, [r3, #0] 80436a2: b2db uxtb r3, r3 80436a4: 3301 adds r3, #1 80436a6: b2da uxtb r2, r3 80436a8: 4b89 ldr r3, [pc, #548] ; (80438d0 ) 80436aa: 701a strb r2, [r3, #0] else menupos = DateAll; } break; 80436ac: e18d b.n 80439ca else menupos = DateAll; 80436ae: 4b88 ldr r3, [pc, #544] ; (80438d0 ) 80436b0: 2201 movs r2, #1 80436b2: 701a strb r2, [r3, #0] break; 80436b4: e189 b.n 80439ca 80436b6: e188 b.n 80439ca case CLEAN_FILES: if(menupos == FilesPTM) 80436b8: 4b85 ldr r3, [pc, #532] ; (80438d0 ) 80436ba: 781b ldrb r3, [r3, #0] 80436bc: b2db uxtb r3, r3 80436be: 2b02 cmp r3, #2 80436c0: f040 8186 bne.w 80439d0 { if((CursorIndex + 1) < VIEW_FILES) 80436c4: 4b83 ldr r3, [pc, #524] ; (80438d4 ) 80436c6: 681b ldr r3, [r3, #0] 80436c8: 3301 adds r3, #1 80436ca: 2b0b cmp r3, #11 80436cc: d80f bhi.n 80436ee { if((FirstFileIndex + CursorIndex + 1) < NumFilesPTM) { 80436ce: 4b82 ldr r3, [pc, #520] ; (80438d8 ) 80436d0: 681a ldr r2, [r3, #0] 80436d2: 4b80 ldr r3, [pc, #512] ; (80438d4 ) 80436d4: 681b ldr r3, [r3, #0] 80436d6: 4413 add r3, r2 80436d8: 1c5a adds r2, r3, #1 80436da: 4b80 ldr r3, [pc, #512] ; (80438dc ) 80436dc: 681b ldr r3, [r3, #0] 80436de: 429a cmp r2, r3 80436e0: d21a bcs.n 8043718 CursorIndex++; 80436e2: 4b7c ldr r3, [pc, #496] ; (80438d4 ) 80436e4: 681b ldr r3, [r3, #0] 80436e6: 3301 adds r3, #1 80436e8: 4a7a ldr r2, [pc, #488] ; (80438d4 ) 80436ea: 6013 str r3, [r2, #0] 80436ec: e014 b.n 8043718 } } else { if((FirstFileIndex + VIEW_FILES) < NumFilesPTM) 80436ee: 4b7a ldr r3, [pc, #488] ; (80438d8 ) 80436f0: 681b ldr r3, [r3, #0] 80436f2: f103 020c add.w r2, r3, #12 80436f6: 4b79 ldr r3, [pc, #484] ; (80438dc ) 80436f8: 681b ldr r3, [r3, #0] 80436fa: 429a cmp r2, r3 80436fc: d20c bcs.n 8043718 { FirstFileIndex++; 80436fe: 4b76 ldr r3, [pc, #472] ; (80438d8 ) 8043700: 681b ldr r3, [r3, #0] 8043702: 3301 adds r3, #1 8043704: 4a74 ldr r2, [pc, #464] ; (80438d8 ) 8043706: 6013 str r3, [r2, #0] result = ReadMyFilesPTM(FirstFileIndex); 8043708: 4b73 ldr r3, [pc, #460] ; (80438d8 ) 804370a: 681b ldr r3, [r3, #0] 804370c: 4618 mov r0, r3 804370e: f7e7 f9ef bl 802aaf0 8043712: 4603 mov r3, r0 8043714: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 { /* îøèáêà ÷òåíèÿ ñïèñêà ôàéëîâ*/ } } } RealFileIndex = FirstFileIndex + CursorIndex; 8043718: 4b6f ldr r3, [pc, #444] ; (80438d8 ) 804371a: 681a ldr r2, [r3, #0] 804371c: 4b6d ldr r3, [pc, #436] ; (80438d4 ) 804371e: 681b ldr r3, [r3, #0] 8043720: 4413 add r3, r2 8043722: 4a6f ldr r2, [pc, #444] ; (80438e0 ) 8043724: 6013 str r3, [r2, #0] } break; 8043726: e153 b.n 80439d0 case ARCHIVE: if(menupos < ArchiveWave) menupos++; 8043728: 4b69 ldr r3, [pc, #420] ; (80438d0 ) 804372a: 781b ldrb r3, [r3, #0] 804372c: b2db uxtb r3, r3 804372e: 2b01 cmp r3, #1 8043730: d807 bhi.n 8043742 8043732: 4b67 ldr r3, [pc, #412] ; (80438d0 ) 8043734: 781b ldrb r3, [r3, #0] 8043736: b2db uxtb r3, r3 8043738: 3301 adds r3, #1 804373a: b2da uxtb r2, r3 804373c: 4b64 ldr r3, [pc, #400] ; (80438d0 ) 804373e: 701a strb r2, [r3, #0] else menupos = Ok; break; 8043740: e156 b.n 80439f0 else menupos = Ok; 8043742: 4b63 ldr r3, [pc, #396] ; (80438d0 ) 8043744: 2200 movs r2, #0 8043746: 701a strb r2, [r3, #0] break; 8043748: e152 b.n 80439f0 case ARCHIVE_SPEC: if(menupos == FilesSPEC) 804374a: 4b61 ldr r3, [pc, #388] ; (80438d0 ) 804374c: 781b ldrb r3, [r3, #0] 804374e: b2db uxtb r3, r3 8043750: 2b02 cmp r3, #2 8043752: f040 8140 bne.w 80439d6 { if((CursorIndex + 1) < VIEW_FILES) 8043756: 4b5f ldr r3, [pc, #380] ; (80438d4 ) 8043758: 681b ldr r3, [r3, #0] 804375a: 3301 adds r3, #1 804375c: 2b0b cmp r3, #11 804375e: d80f bhi.n 8043780 { if((FirstFileIndex + CursorIndex + 1) < NumFilesSPEC) { 8043760: 4b5d ldr r3, [pc, #372] ; (80438d8 ) 8043762: 681a ldr r2, [r3, #0] 8043764: 4b5b ldr r3, [pc, #364] ; (80438d4 ) 8043766: 681b ldr r3, [r3, #0] 8043768: 4413 add r3, r2 804376a: 1c5a adds r2, r3, #1 804376c: 4b5d ldr r3, [pc, #372] ; (80438e4 ) 804376e: 681b ldr r3, [r3, #0] 8043770: 429a cmp r2, r3 8043772: d21a bcs.n 80437aa CursorIndex++; 8043774: 4b57 ldr r3, [pc, #348] ; (80438d4 ) 8043776: 681b ldr r3, [r3, #0] 8043778: 3301 adds r3, #1 804377a: 4a56 ldr r2, [pc, #344] ; (80438d4 ) 804377c: 6013 str r3, [r2, #0] 804377e: e014 b.n 80437aa } } else { if((FirstFileIndex + VIEW_FILES) < NumFilesSPEC) 8043780: 4b55 ldr r3, [pc, #340] ; (80438d8 ) 8043782: 681b ldr r3, [r3, #0] 8043784: f103 020c add.w r2, r3, #12 8043788: 4b56 ldr r3, [pc, #344] ; (80438e4 ) 804378a: 681b ldr r3, [r3, #0] 804378c: 429a cmp r2, r3 804378e: d20c bcs.n 80437aa { FirstFileIndex++; 8043790: 4b51 ldr r3, [pc, #324] ; (80438d8 ) 8043792: 681b ldr r3, [r3, #0] 8043794: 3301 adds r3, #1 8043796: 4a50 ldr r2, [pc, #320] ; (80438d8 ) 8043798: 6013 str r3, [r2, #0] result = ReadMyFilesSPEC(FirstFileIndex); 804379a: 4b4f ldr r3, [pc, #316] ; (80438d8 ) 804379c: 681b ldr r3, [r3, #0] 804379e: 4618 mov r0, r3 80437a0: f7e7 f9c0 bl 802ab24 80437a4: 4603 mov r3, r0 80437a6: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 } } RealFileIndex = FirstFileIndex + CursorIndex; 80437aa: 4b4b ldr r3, [pc, #300] ; (80438d8 ) 80437ac: 681a ldr r2, [r3, #0] 80437ae: 4b49 ldr r3, [pc, #292] ; (80438d4 ) 80437b0: 681b ldr r3, [r3, #0] 80437b2: 4413 add r3, r2 80437b4: 4a4a ldr r2, [pc, #296] ; (80438e0 ) 80437b6: 6013 str r3, [r2, #0] } break; 80437b8: e10d b.n 80439d6 case ARCHIVE_FRAN: if(menupos == FilesFRAN) 80437ba: 4b45 ldr r3, [pc, #276] ; (80438d0 ) 80437bc: 781b ldrb r3, [r3, #0] 80437be: b2db uxtb r3, r3 80437c0: 2b02 cmp r3, #2 80437c2: f040 810b bne.w 80439dc { if((CursorIndex + 1) < VIEW_FILES) 80437c6: 4b43 ldr r3, [pc, #268] ; (80438d4 ) 80437c8: 681b ldr r3, [r3, #0] 80437ca: 3301 adds r3, #1 80437cc: 2b0b cmp r3, #11 80437ce: d80f bhi.n 80437f0 { if((FirstFileIndex + CursorIndex + 1) < NumFilesFRAN) { 80437d0: 4b41 ldr r3, [pc, #260] ; (80438d8 ) 80437d2: 681a ldr r2, [r3, #0] 80437d4: 4b3f ldr r3, [pc, #252] ; (80438d4 ) 80437d6: 681b ldr r3, [r3, #0] 80437d8: 4413 add r3, r2 80437da: 1c5a adds r2, r3, #1 80437dc: 4b42 ldr r3, [pc, #264] ; (80438e8 ) 80437de: 681b ldr r3, [r3, #0] 80437e0: 429a cmp r2, r3 80437e2: d21a bcs.n 804381a CursorIndex++; 80437e4: 4b3b ldr r3, [pc, #236] ; (80438d4 ) 80437e6: 681b ldr r3, [r3, #0] 80437e8: 3301 adds r3, #1 80437ea: 4a3a ldr r2, [pc, #232] ; (80438d4 ) 80437ec: 6013 str r3, [r2, #0] 80437ee: e014 b.n 804381a } } else { if((FirstFileIndex + VIEW_FILES) < NumFilesFRAN) 80437f0: 4b39 ldr r3, [pc, #228] ; (80438d8 ) 80437f2: 681b ldr r3, [r3, #0] 80437f4: f103 020c add.w r2, r3, #12 80437f8: 4b3b ldr r3, [pc, #236] ; (80438e8 ) 80437fa: 681b ldr r3, [r3, #0] 80437fc: 429a cmp r2, r3 80437fe: d20c bcs.n 804381a { FirstFileIndex++; 8043800: 4b35 ldr r3, [pc, #212] ; (80438d8 ) 8043802: 681b ldr r3, [r3, #0] 8043804: 3301 adds r3, #1 8043806: 4a34 ldr r2, [pc, #208] ; (80438d8 ) 8043808: 6013 str r3, [r2, #0] result = ReadMyFilesFRAN(FirstFileIndex); 804380a: 4b33 ldr r3, [pc, #204] ; (80438d8 ) 804380c: 681b ldr r3, [r3, #0] 804380e: 4618 mov r0, r3 8043810: f7e7 f995 bl 802ab3e 8043814: 4603 mov r3, r0 8043816: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 } } RealFileIndex = FirstFileIndex + CursorIndex; 804381a: 4b2f ldr r3, [pc, #188] ; (80438d8 ) 804381c: 681a ldr r2, [r3, #0] 804381e: 4b2d ldr r3, [pc, #180] ; (80438d4 ) 8043820: 681b ldr r3, [r3, #0] 8043822: 4413 add r3, r2 8043824: 4a2e ldr r2, [pc, #184] ; (80438e0 ) 8043826: 6013 str r3, [r2, #0] } break; 8043828: e0d8 b.n 80439dc case ARCHIVE_WAVE: if(menupos == FilesGTR) 804382a: 4b29 ldr r3, [pc, #164] ; (80438d0 ) 804382c: 781b ldrb r3, [r3, #0] 804382e: b2db uxtb r3, r3 8043830: 2b02 cmp r3, #2 8043832: f040 80d6 bne.w 80439e2 { if((CursorIndex + 1) < VIEW_FILES) 8043836: 4b27 ldr r3, [pc, #156] ; (80438d4 ) 8043838: 681b ldr r3, [r3, #0] 804383a: 3301 adds r3, #1 804383c: 2b0b cmp r3, #11 804383e: d80f bhi.n 8043860 { if((FirstFileIndex + CursorIndex + 1) < NumFilesGTR) { 8043840: 4b25 ldr r3, [pc, #148] ; (80438d8 ) 8043842: 681a ldr r2, [r3, #0] 8043844: 4b23 ldr r3, [pc, #140] ; (80438d4 ) 8043846: 681b ldr r3, [r3, #0] 8043848: 4413 add r3, r2 804384a: 1c5a adds r2, r3, #1 804384c: 4b27 ldr r3, [pc, #156] ; (80438ec ) 804384e: 681b ldr r3, [r3, #0] 8043850: 429a cmp r2, r3 8043852: d21a bcs.n 804388a CursorIndex++; 8043854: 4b1f ldr r3, [pc, #124] ; (80438d4 ) 8043856: 681b ldr r3, [r3, #0] 8043858: 3301 adds r3, #1 804385a: 4a1e ldr r2, [pc, #120] ; (80438d4 ) 804385c: 6013 str r3, [r2, #0] 804385e: e014 b.n 804388a } } else { if((FirstFileIndex + VIEW_FILES) < NumFilesGTR) 8043860: 4b1d ldr r3, [pc, #116] ; (80438d8 ) 8043862: 681b ldr r3, [r3, #0] 8043864: f103 020c add.w r2, r3, #12 8043868: 4b20 ldr r3, [pc, #128] ; (80438ec ) 804386a: 681b ldr r3, [r3, #0] 804386c: 429a cmp r2, r3 804386e: d20c bcs.n 804388a { FirstFileIndex++; 8043870: 4b19 ldr r3, [pc, #100] ; (80438d8 ) 8043872: 681b ldr r3, [r3, #0] 8043874: 3301 adds r3, #1 8043876: 4a18 ldr r2, [pc, #96] ; (80438d8 ) 8043878: 6013 str r3, [r2, #0] result = ReadMyFilesGTR(FirstFileIndex); 804387a: 4b17 ldr r3, [pc, #92] ; (80438d8 ) 804387c: 681b ldr r3, [r3, #0] 804387e: 4618 mov r0, r3 8043880: f7e7 f96a bl 802ab58 8043884: 4603 mov r3, r0 8043886: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 } } RealFileIndex = FirstFileIndex + CursorIndex; 804388a: 4b13 ldr r3, [pc, #76] ; (80438d8 ) 804388c: 681a ldr r2, [r3, #0] 804388e: 4b11 ldr r3, [pc, #68] ; (80438d4 ) 8043890: 681b ldr r3, [r3, #0] 8043892: 4413 add r3, r2 8043894: 4a12 ldr r2, [pc, #72] ; (80438e0 ) 8043896: 6013 str r3, [r2, #0] } break; 8043898: e0a3 b.n 80439e2 case ROUTE: if(menupos == FilesCSV) 804389a: 4b0d ldr r3, [pc, #52] ; (80438d0 ) 804389c: 781b ldrb r3, [r3, #0] 804389e: b2db uxtb r3, r3 80438a0: 2b02 cmp r3, #2 80438a2: f040 80a1 bne.w 80439e8 { if((CursorIndex + 1) < VIEW_FILES) 80438a6: 4b0b ldr r3, [pc, #44] ; (80438d4 ) 80438a8: 681b ldr r3, [r3, #0] 80438aa: 3301 adds r3, #1 80438ac: 2b0b cmp r3, #11 80438ae: d821 bhi.n 80438f4 { if((FirstFileIndex + CursorIndex + 1) < NumFilesCSV) { 80438b0: 4b09 ldr r3, [pc, #36] ; (80438d8 ) 80438b2: 681a ldr r2, [r3, #0] 80438b4: 4b07 ldr r3, [pc, #28] ; (80438d4 ) 80438b6: 681b ldr r3, [r3, #0] 80438b8: 4413 add r3, r2 80438ba: 1c5a adds r2, r3, #1 80438bc: 4b0c ldr r3, [pc, #48] ; (80438f0 ) 80438be: 681b ldr r3, [r3, #0] 80438c0: 429a cmp r2, r3 80438c2: d22c bcs.n 804391e CursorIndex++; 80438c4: 4b03 ldr r3, [pc, #12] ; (80438d4 ) 80438c6: 681b ldr r3, [r3, #0] 80438c8: 3301 adds r3, #1 80438ca: 4a02 ldr r2, [pc, #8] ; (80438d4 ) 80438cc: 6013 str r3, [r2, #0] 80438ce: e026 b.n 804391e 80438d0: 20020070 .word 0x20020070 80438d4: 20020de0 .word 0x20020de0 80438d8: 20020de4 .word 0x20020de4 80438dc: 20020df4 .word 0x20020df4 80438e0: 20020de8 .word 0x20020de8 80438e4: 20020dfc .word 0x20020dfc 80438e8: 20020e00 .word 0x20020e00 80438ec: 20020e04 .word 0x20020e04 80438f0: 20020e08 .word 0x20020e08 } } else { if((FirstFileIndex + VIEW_FILES) < NumFilesCSV) 80438f4: 4bb7 ldr r3, [pc, #732] ; (8043bd4 ) 80438f6: 681b ldr r3, [r3, #0] 80438f8: f103 020c add.w r2, r3, #12 80438fc: 4bb6 ldr r3, [pc, #728] ; (8043bd8 ) 80438fe: 681b ldr r3, [r3, #0] 8043900: 429a cmp r2, r3 8043902: d20c bcs.n 804391e { FirstFileIndex++; 8043904: 4bb3 ldr r3, [pc, #716] ; (8043bd4 ) 8043906: 681b ldr r3, [r3, #0] 8043908: 3301 adds r3, #1 804390a: 4ab2 ldr r2, [pc, #712] ; (8043bd4 ) 804390c: 6013 str r3, [r2, #0] result = ReadMyFilesGTR(FirstFileIndex); 804390e: 4bb1 ldr r3, [pc, #708] ; (8043bd4 ) 8043910: 681b ldr r3, [r3, #0] 8043912: 4618 mov r0, r3 8043914: f7e7 f920 bl 802ab58 8043918: 4603 mov r3, r0 804391a: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 } } RealFileIndex = FirstFileIndex + CursorIndex; 804391e: 4bad ldr r3, [pc, #692] ; (8043bd4 ) 8043920: 681a ldr r2, [r3, #0] 8043922: 4bae ldr r3, [pc, #696] ; (8043bdc ) 8043924: 681b ldr r3, [r3, #0] 8043926: 4413 add r3, r2 8043928: 4aad ldr r2, [pc, #692] ; (8043be0 ) 804392a: 6013 str r3, [r2, #0] } break; 804392c: e05c b.n 80439e8 case CALIBR_00: if(Serial[menupos] > 0x30) 804392e: 4bad ldr r3, [pc, #692] ; (8043be4 ) 8043930: 781b ldrb r3, [r3, #0] 8043932: b2db uxtb r3, r3 8043934: 461a mov r2, r3 8043936: 4bac ldr r3, [pc, #688] ; (8043be8 ) 8043938: 5c9b ldrb r3, [r3, r2] 804393a: 2b30 cmp r3, #48 ; 0x30 804393c: d957 bls.n 80439ee Serial[menupos]--; 804393e: 4ba9 ldr r3, [pc, #676] ; (8043be4 ) 8043940: 781b ldrb r3, [r3, #0] 8043942: b2db uxtb r3, r3 8043944: 4aa8 ldr r2, [pc, #672] ; (8043be8 ) 8043946: 5cd2 ldrb r2, [r2, r3] 8043948: 3a01 subs r2, #1 804394a: b2d1 uxtb r1, r2 804394c: 4aa6 ldr r2, [pc, #664] ; (8043be8 ) 804394e: 54d1 strb r1, [r2, r3] break; 8043950: e04d b.n 80439ee break; 8043952: bf00 nop 8043954: f00f b9fc b.w 8052d50 break; 8043958: bf00 nop 804395a: f00f b9f9 b.w 8052d50 break; 804395e: bf00 nop 8043960: f00f b9f6 b.w 8052d50 break; 8043964: bf00 nop 8043966: f00f b9f3 b.w 8052d50 break; 804396a: bf00 nop 804396c: f00f b9f0 b.w 8052d50 break; 8043970: bf00 nop 8043972: f00f b9ed b.w 8052d50 break; 8043976: bf00 nop 8043978: f00f b9ea b.w 8052d50 break; 804397c: bf00 nop 804397e: f00f b9e7 b.w 8052d50 break; 8043982: bf00 nop 8043984: f00f b9e4 b.w 8052d50 break; 8043988: bf00 nop 804398a: f00f b9e1 b.w 8052d50 break; 804398e: bf00 nop 8043990: f00f b9de b.w 8052d50 break; 8043994: bf00 nop 8043996: f00f b9db b.w 8052d50 break; 804399a: bf00 nop 804399c: f00f b9d8 b.w 8052d50 break; 80439a0: bf00 nop 80439a2: f00f b9d5 b.w 8052d50 break; 80439a6: bf00 nop 80439a8: f00f b9d2 b.w 8052d50 break; 80439ac: bf00 nop 80439ae: f00f b9cf b.w 8052d50 break; 80439b2: bf00 nop 80439b4: f00f b9cc b.w 8052d50 break; 80439b8: bf00 nop 80439ba: f00f b9c9 b.w 8052d50 break; 80439be: bf00 nop 80439c0: f00f b9c6 b.w 8052d50 break; 80439c4: bf00 nop 80439c6: f00f b9c3 b.w 8052d50 break; 80439ca: bf00 nop 80439cc: f00f b9c0 b.w 8052d50 break; 80439d0: bf00 nop 80439d2: f00f b9bd b.w 8052d50 break; 80439d6: bf00 nop 80439d8: f00f b9ba b.w 8052d50 break; 80439dc: bf00 nop 80439de: f00f b9b7 b.w 8052d50 break; 80439e2: bf00 nop 80439e4: f00f b9b4 b.w 8052d50 break; 80439e8: bf00 nop 80439ea: f00f b9b1 b.w 8052d50 break; 80439ee: bf00 nop } break; 80439f0: f00f b9ae b.w 8052d50 case KEY_LT: //TODO KEY LEFT switch(menu) 80439f4: 4b7d ldr r3, [pc, #500] ; (8043bec ) 80439f6: 781b ldrb r3, [r3, #0] 80439f8: b2db uxtb r3, r3 80439fa: 2b47 cmp r3, #71 ; 0x47 80439fc: f20f 81aa bhi.w 8052d54 8043a00: a201 add r2, pc, #4 ; (adr r2, 8043a08 ) 8043a02: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8043a06: bf00 nop 8043a08: 08044321 .word 0x08044321 8043a0c: 08044785 .word 0x08044785 8043a10: 08046151 .word 0x08046151 8043a14: 0804497d .word 0x0804497d 8043a18: 08045cd5 .word 0x08045cd5 8043a1c: 08052d55 .word 0x08052d55 8043a20: 08044cab .word 0x08044cab 8043a24: 08044ed5 .word 0x08044ed5 8043a28: 080458e1 .word 0x080458e1 8043a2c: 08052d55 .word 0x08052d55 8043a30: 08045dbb .word 0x08045dbb 8043a34: 08052d55 .word 0x08052d55 8043a38: 08052d55 .word 0x08052d55 8043a3c: 08044a5d .word 0x08044a5d 8043a40: 080449c5 .word 0x080449c5 8043a44: 08043b29 .word 0x08043b29 8043a48: 08046151 .word 0x08046151 8043a4c: 08043bfd .word 0x08043bfd 8043a50: 08045edf .word 0x08045edf 8043a54: 08046095 .word 0x08046095 8043a58: 08046151 .word 0x08046151 8043a5c: 080448a1 .word 0x080448a1 8043a60: 080448d1 .word 0x080448d1 8043a64: 08044915 .word 0x08044915 8043a68: 08045fd9 .word 0x08045fd9 8043a6c: 0804602b .word 0x0804602b 8043a70: 08052d55 .word 0x08052d55 8043a74: 08052d55 .word 0x08052d55 8043a78: 08044511 .word 0x08044511 8043a7c: 0804437d .word 0x0804437d 8043a80: 0804470b .word 0x0804470b 8043a84: 08044321 .word 0x08044321 8043a88: 08044761 .word 0x08044761 8043a8c: 08044511 .word 0x08044511 8043a90: 080446bf .word 0x080446bf 8043a94: 080446e5 .word 0x080446e5 8043a98: 08044511 .word 0x08044511 8043a9c: 08046151 .word 0x08046151 8043aa0: 080442d5 .word 0x080442d5 8043aa4: 08052d55 .word 0x08052d55 8043aa8: 08044511 .word 0x08044511 8043aac: 080447d7 .word 0x080447d7 8043ab0: 08044815 .word 0x08044815 8043ab4: 08044853 .word 0x08044853 8043ab8: 08044853 .word 0x08044853 8043abc: 08044853 .word 0x08044853 8043ac0: 08052d55 .word 0x08052d55 8043ac4: 08044853 .word 0x08044853 8043ac8: 08044853 .word 0x08044853 8043acc: 08044853 .word 0x08044853 8043ad0: 08044853 .word 0x08044853 8043ad4: 08044853 .word 0x08044853 8043ad8: 080460f3 .word 0x080460f3 8043adc: 0804610d .word 0x0804610d 8043ae0: 0804610d .word 0x0804610d 8043ae4: 0804610d .word 0x0804610d 8043ae8: 0804610d .word 0x0804610d 8043aec: 0804610d .word 0x0804610d 8043af0: 0804610d .word 0x0804610d 8043af4: 0804610d .word 0x0804610d 8043af8: 0804610d .word 0x0804610d 8043afc: 0804610d .word 0x0804610d 8043b00: 08046127 .word 0x08046127 8043b04: 08046127 .word 0x08046127 8043b08: 08046127 .word 0x08046127 8043b0c: 08052d55 .word 0x08052d55 8043b10: 08052d55 .word 0x08052d55 8043b14: 08052d55 .word 0x08052d55 8043b18: 08052d55 .word 0x08052d55 8043b1c: 080442af .word 0x080442af 8043b20: 080442af .word 0x080442af 8043b24: 080442af .word 0x080442af { case PARAM_DIAGN: switch(menupos) 8043b28: 4b2e ldr r3, [pc, #184] ; (8043be4 ) 8043b2a: 781b ldrb r3, [r3, #0] 8043b2c: b2db uxtb r3, r3 8043b2e: 3b01 subs r3, #1 8043b30: 2b09 cmp r3, #9 8043b32: f202 8310 bhi.w 8046156 8043b36: a201 add r2, pc, #4 ; (adr r2, 8043b3c ) 8043b38: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8043b3c: 08043b65 .word 0x08043b65 8043b40: 08046157 .word 0x08046157 8043b44: 08046157 .word 0x08046157 8043b48: 08043bc1 .word 0x08043bc1 8043b4c: 08043b91 .word 0x08043b91 8043b50: 08043bb9 .word 0x08043bb9 8043b54: 08043bb1 .word 0x08043bb1 8043b58: 08043ba9 .word 0x08043ba9 8043b5c: 08043ba1 .word 0x08043ba1 8043b60: 08043b99 .word 0x08043b99 { case DiagAverage: if(focused) 8043b64: 4b22 ldr r3, [pc, #136] ; (8043bf0 ) 8043b66: 781b ldrb r3, [r3, #0] 8043b68: b2db uxtb r3, r3 8043b6a: 2b00 cmp r3, #0 8043b6c: d02e beq.n 8043bcc { if(pardata.AVG > AVG1) pardata.AVG--; 8043b6e: 4b21 ldr r3, [pc, #132] ; (8043bf4 ) 8043b70: 7b5b ldrb r3, [r3, #13] 8043b72: b2db uxtb r3, r3 8043b74: 2b00 cmp r3, #0 8043b76: d007 beq.n 8043b88 8043b78: 4b1e ldr r3, [pc, #120] ; (8043bf4 ) 8043b7a: 7b5b ldrb r3, [r3, #13] 8043b7c: b2db uxtb r3, r3 8043b7e: 3b01 subs r3, #1 8043b80: b2da uxtb r2, r3 8043b82: 4b1c ldr r3, [pc, #112] ; (8043bf4 ) 8043b84: 735a strb r2, [r3, #13] else pardata.AVG = AVG512; } break; 8043b86: e021 b.n 8043bcc else pardata.AVG = AVG512; 8043b88: 4b1a ldr r3, [pc, #104] ; (8043bf4 ) 8043b8a: 2209 movs r2, #9 8043b8c: 735a strb r2, [r3, #13] break; 8043b8e: e01d b.n 8043bcc case DiagMax_IDT: menupos = DiagMax_IKD; break; 8043b90: 4b14 ldr r3, [pc, #80] ; (8043be4 ) 8043b92: 220a movs r2, #10 8043b94: 701a strb r2, [r3, #0] 8043b96: e01a b.n 8043bce case DiagMax_IKD: menupos = DiagMax_IEE; break; 8043b98: 4b12 ldr r3, [pc, #72] ; (8043be4 ) 8043b9a: 2209 movs r2, #9 8043b9c: 701a strb r2, [r3, #0] 8043b9e: e016 b.n 8043bce case DiagMax_IEE: menupos = DiagMax_IED; break; 8043ba0: 4b10 ldr r3, [pc, #64] ; (8043be4 ) 8043ba2: 2208 movs r2, #8 8043ba4: 701a strb r2, [r3, #0] 8043ba6: e012 b.n 8043bce case DiagMax_IED: menupos = DiagMax_IES; break; 8043ba8: 4b0e ldr r3, [pc, #56] ; (8043be4 ) 8043baa: 2207 movs r2, #7 8043bac: 701a strb r2, [r3, #0] 8043bae: e00e b.n 8043bce case DiagMax_IES: menupos = DiagMax_IET; break; 8043bb0: 4b0c ldr r3, [pc, #48] ; (8043be4 ) 8043bb2: 2206 movs r2, #6 8043bb4: 701a strb r2, [r3, #0] 8043bb6: e00a b.n 8043bce case DiagMax_IET: menupos = DiagMax_IDT; break; 8043bb8: 4b0a ldr r3, [pc, #40] ; (8043be4 ) 8043bba: 2205 movs r2, #5 8043bbc: 701a strb r2, [r3, #0] 8043bbe: e006 b.n 8043bce case DiagSaveToFile: memset(DiagFileName, 0, sizeof(DiagFileName)); 8043bc0: 2221 movs r2, #33 ; 0x21 8043bc2: 2100 movs r1, #0 8043bc4: 480c ldr r0, [pc, #48] ; (8043bf8 ) 8043bc6: f089 fa3f bl 80cd048 break; 8043bca: e000 b.n 8043bce break; 8043bcc: bf00 nop } break; 8043bce: f002 bac2 b.w 8046156 8043bd2: bf00 nop 8043bd4: 20020de4 .word 0x20020de4 8043bd8: 20020e08 .word 0x20020e08 8043bdc: 20020de0 .word 0x20020de0 8043be0: 20020de8 .word 0x20020de8 8043be4: 20020070 .word 0x20020070 8043be8: 20026d04 .word 0x20026d04 8043bec: 20020f78 .word 0x20020f78 8043bf0: 20020f84 .word 0x20020f84 8043bf4: 20023e60 .word 0x20023e60 8043bf8: 20020e7c .word 0x20020e7c case PARAM_DIAGN_1: //case ROUTE_MAP break; case PARAM_DIAGN_2: switch(menupos) 8043bfc: 4b6f ldr r3, [pc, #444] ; (8043dbc ) 8043bfe: 781b ldrb r3, [r3, #0] 8043c00: b2db uxtb r3, r3 8043c02: 3b01 subs r3, #1 8043c04: 2b23 cmp r3, #35 ; 0x23 8043c06: f202 82a9 bhi.w 804615c 8043c0a: a201 add r2, pc, #4 ; (adr r2, 8043c10 ) 8043c0c: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8043c10: 08043ca1 .word 0x08043ca1 8043c14: 08043caf .word 0x08043caf 8043c18: 08043cf7 .word 0x08043cf7 8043c1c: 08043d05 .word 0x08043d05 8043c20: 08043d4b .word 0x08043d4b 8043c24: 0804615d .word 0x0804615d 8043c28: 08043d59 .word 0x08043d59 8043c2c: 08044075 .word 0x08044075 8043c30: 080441e3 .word 0x080441e3 8043c34: 080441e3 .word 0x080441e3 8043c38: 080441e3 .word 0x080441e3 8043c3c: 080441e3 .word 0x080441e3 8043c40: 080441eb .word 0x080441eb 8043c44: 08044213 .word 0x08044213 8043c48: 0804420b .word 0x0804420b 8043c4c: 08044203 .word 0x08044203 8043c50: 080441fb .word 0x080441fb 8043c54: 080441f3 .word 0x080441f3 8043c58: 0804421b .word 0x0804421b 8043c5c: 08044243 .word 0x08044243 8043c60: 0804423b .word 0x0804423b 8043c64: 08044233 .word 0x08044233 8043c68: 0804422b .word 0x0804422b 8043c6c: 08044223 .word 0x08044223 8043c70: 0804424b .word 0x0804424b 8043c74: 08044273 .word 0x08044273 8043c78: 0804426b .word 0x0804426b 8043c7c: 08044263 .word 0x08044263 8043c80: 0804425b .word 0x0804425b 8043c84: 08044253 .word 0x08044253 8043c88: 0804427b .word 0x0804427b 8043c8c: 080442a3 .word 0x080442a3 8043c90: 0804429b .word 0x0804429b 8043c94: 08044293 .word 0x08044293 8043c98: 0804428b .word 0x0804428b 8043c9c: 08044283 .word 0x08044283 { case DiagUs1: menupos = DiagUs3; 8043ca0: 4b46 ldr r3, [pc, #280] ; (8043dbc ) 8043ca2: 2205 movs r2, #5 8043ca4: 701a strb r2, [r3, #0] CURR_USL = Us3; 8043ca6: 4b46 ldr r3, [pc, #280] ; (8043dc0 ) 8043ca8: 2202 movs r2, #2 8043caa: 701a strb r2, [r3, #0] break; 8043cac: e2fd b.n 80442aa case DiagOp1: if(!focused) 8043cae: 4b45 ldr r3, [pc, #276] ; (8043dc4 ) 8043cb0: 781b ldrb r3, [r3, #0] 8043cb2: b2db uxtb r3, r3 8043cb4: f083 0301 eor.w r3, r3, #1 8043cb8: b2db uxtb r3, r3 8043cba: 2b00 cmp r3, #0 8043cbc: d006 beq.n 8043ccc { menupos = DiagUs1; 8043cbe: 4b3f ldr r3, [pc, #252] ; (8043dbc ) 8043cc0: 2201 movs r2, #1 8043cc2: 701a strb r2, [r3, #0] CURR_USL = Us1; 8043cc4: 4b3e ldr r3, [pc, #248] ; (8043dc0 ) 8043cc6: 2200 movs r2, #0 8043cc8: 701a strb r2, [r3, #0] } else { pardata.DIAGN_OPER[CURR_POINT][Us1] ^= 0x1; } break; 8043cca: e2ee b.n 80442aa pardata.DIAGN_OPER[CURR_POINT][Us1] ^= 0x1; 8043ccc: 4b3e ldr r3, [pc, #248] ; (8043dc8 ) 8043cce: 781b ldrb r3, [r3, #0] 8043cd0: b2db uxtb r3, r3 8043cd2: 4618 mov r0, r3 8043cd4: 4a3d ldr r2, [pc, #244] ; (8043dcc ) 8043cd6: 3386 adds r3, #134 ; 0x86 8043cd8: 009b lsls r3, r3, #2 8043cda: 4413 add r3, r2 8043cdc: 791b ldrb r3, [r3, #4] 8043cde: b2db uxtb r3, r3 8043ce0: f083 0301 eor.w r3, r3, #1 8043ce4: b2d9 uxtb r1, r3 8043ce6: 4a39 ldr r2, [pc, #228] ; (8043dcc ) 8043ce8: f100 0386 add.w r3, r0, #134 ; 0x86 8043cec: 009b lsls r3, r3, #2 8043cee: 4413 add r3, r2 8043cf0: 460a mov r2, r1 8043cf2: 711a strb r2, [r3, #4] break; 8043cf4: e2d9 b.n 80442aa case DiagUs2: menupos = DiagOp1; 8043cf6: 4b31 ldr r3, [pc, #196] ; (8043dbc ) 8043cf8: 2202 movs r2, #2 8043cfa: 701a strb r2, [r3, #0] CURR_USL = Us2; 8043cfc: 4b30 ldr r3, [pc, #192] ; (8043dc0 ) 8043cfe: 2201 movs r2, #1 8043d00: 701a strb r2, [r3, #0] break; 8043d02: e2d2 b.n 80442aa case DiagOp2: if(!focused) 8043d04: 4b2f ldr r3, [pc, #188] ; (8043dc4 ) 8043d06: 781b ldrb r3, [r3, #0] 8043d08: b2db uxtb r3, r3 8043d0a: f083 0301 eor.w r3, r3, #1 8043d0e: b2db uxtb r3, r3 8043d10: 2b00 cmp r3, #0 8043d12: d006 beq.n 8043d22 { menupos = DiagUs2; 8043d14: 4b29 ldr r3, [pc, #164] ; (8043dbc ) 8043d16: 2203 movs r2, #3 8043d18: 701a strb r2, [r3, #0] CURR_USL = Us2; 8043d1a: 4b29 ldr r3, [pc, #164] ; (8043dc0 ) 8043d1c: 2201 movs r2, #1 8043d1e: 701a strb r2, [r3, #0] } else { pardata.DIAGN_OPER[CURR_POINT][Us2] ^= 0x1; } break; 8043d20: e2c3 b.n 80442aa pardata.DIAGN_OPER[CURR_POINT][Us2] ^= 0x1; 8043d22: 4b29 ldr r3, [pc, #164] ; (8043dc8 ) 8043d24: 781b ldrb r3, [r3, #0] 8043d26: b2db uxtb r3, r3 8043d28: 4618 mov r0, r3 8043d2a: 4a28 ldr r2, [pc, #160] ; (8043dcc ) 8043d2c: 009b lsls r3, r3, #2 8043d2e: 4413 add r3, r2 8043d30: f893 321d ldrb.w r3, [r3, #541] ; 0x21d 8043d34: b2db uxtb r3, r3 8043d36: f083 0301 eor.w r3, r3, #1 8043d3a: b2d9 uxtb r1, r3 8043d3c: 4a23 ldr r2, [pc, #140] ; (8043dcc ) 8043d3e: 0083 lsls r3, r0, #2 8043d40: 4413 add r3, r2 8043d42: 460a mov r2, r1 8043d44: f883 221d strb.w r2, [r3, #541] ; 0x21d break; 8043d48: e2af b.n 80442aa case DiagUs3: menupos = DiagOp2; 8043d4a: 4b1c ldr r3, [pc, #112] ; (8043dbc ) 8043d4c: 2204 movs r2, #4 8043d4e: 701a strb r2, [r3, #0] CURR_USL = Us3; 8043d50: 4b1b ldr r3, [pc, #108] ; (8043dc0 ) 8043d52: 2202 movs r2, #2 8043d54: 701a strb r2, [r3, #0] break; 8043d56: e2a8 b.n 80442aa case DiagAVS: if(focused) 8043d58: 4b1a ldr r3, [pc, #104] ; (8043dc4 ) 8043d5a: 781b ldrb r3, [r3, #0] 8043d5c: b2db uxtb r3, r3 8043d5e: 2b00 cmp r3, #0 8043d60: f000 8184 beq.w 804406c { tmp8 = pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7; 8043d64: 4b18 ldr r3, [pc, #96] ; (8043dc8 ) 8043d66: 781b ldrb r3, [r3, #0] 8043d68: b2db uxtb r3, r3 8043d6a: 4618 mov r0, r3 8043d6c: 4b14 ldr r3, [pc, #80] ; (8043dc0 ) 8043d6e: 781b ldrb r3, [r3, #0] 8043d70: b2db uxtb r3, r3 8043d72: 4619 mov r1, r3 8043d74: 4a15 ldr r2, [pc, #84] ; (8043dcc ) 8043d76: 0083 lsls r3, r0, #2 8043d78: 4413 add r3, r2 8043d7a: 440b add r3, r1 8043d7c: f503 730f add.w r3, r3, #572 ; 0x23c 8043d80: 781b ldrb r3, [r3, #0] 8043d82: b2db uxtb r3, r3 8043d84: f003 0307 and.w r3, r3, #7 8043d88: f887 30b3 strb.w r3, [r7, #179] ; 0xb3 if(tmp8 == DIAGN_NO) tmp8 = DIAGN_DIS; 8043d8c: f897 30b3 ldrb.w r3, [r7, #179] ; 0xb3 8043d90: 2b00 cmp r3, #0 8043d92: d103 bne.n 8043d9c 8043d94: 2304 movs r3, #4 8043d96: f887 30b3 strb.w r3, [r7, #179] ; 0xb3 8043d9a: e020 b.n 8043dde else if(tmp8 == DIAGN_DIS) tmp8 = DIAGN_VEL; 8043d9c: f897 30b3 ldrb.w r3, [r7, #179] ; 0xb3 8043da0: 2b04 cmp r3, #4 8043da2: d103 bne.n 8043dac 8043da4: 2302 movs r3, #2 8043da6: f887 30b3 strb.w r3, [r7, #179] ; 0xb3 8043daa: e018 b.n 8043dde else if(tmp8 == DIAGN_VEL) tmp8 = DIAGN_ACC; 8043dac: f897 30b3 ldrb.w r3, [r7, #179] ; 0xb3 8043db0: 2b02 cmp r3, #2 8043db2: d10d bne.n 8043dd0 8043db4: 2301 movs r3, #1 8043db6: f887 30b3 strb.w r3, [r7, #179] ; 0xb3 8043dba: e010 b.n 8043dde 8043dbc: 20020070 .word 0x20020070 8043dc0: 20021013 .word 0x20021013 8043dc4: 20020f84 .word 0x20020f84 8043dc8: 20021011 .word 0x20021011 8043dcc: 20023e60 .word 0x20023e60 else if(tmp8 == DIAGN_ACC) tmp8 = DIAGN_NO; 8043dd0: f897 30b3 ldrb.w r3, [r7, #179] ; 0xb3 8043dd4: 2b01 cmp r3, #1 8043dd6: d102 bne.n 8043dde 8043dd8: 2300 movs r3, #0 8043dda: f887 30b3 strb.w r3, [r7, #179] ; 0xb3 pardata.DIAGN_MASK[CURR_POINT][CURR_USL] &= 0xf8; 8043dde: 4bc6 ldr r3, [pc, #792] ; (80440f8 ) 8043de0: 781b ldrb r3, [r3, #0] 8043de2: b2da uxtb r2, r3 8043de4: 4614 mov r4, r2 8043de6: 4bc5 ldr r3, [pc, #788] ; (80440fc ) 8043de8: 781b ldrb r3, [r3, #0] 8043dea: b2db uxtb r3, r3 8043dec: 4618 mov r0, r3 8043dee: 4615 mov r5, r2 8043df0: 4619 mov r1, r3 8043df2: 4ac3 ldr r2, [pc, #780] ; (8044100 ) 8043df4: 00ab lsls r3, r5, #2 8043df6: 4413 add r3, r2 8043df8: 440b add r3, r1 8043dfa: f503 730f add.w r3, r3, #572 ; 0x23c 8043dfe: 781b ldrb r3, [r3, #0] 8043e00: b2db uxtb r3, r3 8043e02: f023 0307 bic.w r3, r3, #7 8043e06: b2d9 uxtb r1, r3 8043e08: 4abd ldr r2, [pc, #756] ; (8044100 ) 8043e0a: 00a3 lsls r3, r4, #2 8043e0c: 4413 add r3, r2 8043e0e: 4403 add r3, r0 8043e10: f503 730f add.w r3, r3, #572 ; 0x23c 8043e14: 460a mov r2, r1 8043e16: 701a strb r2, [r3, #0] pardata.DIAGN_MASK[CURR_POINT][CURR_USL] |= tmp8; 8043e18: 4bb7 ldr r3, [pc, #732] ; (80440f8 ) 8043e1a: 781b ldrb r3, [r3, #0] 8043e1c: b2da uxtb r2, r3 8043e1e: 4614 mov r4, r2 8043e20: 4bb6 ldr r3, [pc, #728] ; (80440fc ) 8043e22: 781b ldrb r3, [r3, #0] 8043e24: b2db uxtb r3, r3 8043e26: 4618 mov r0, r3 8043e28: 4615 mov r5, r2 8043e2a: 4619 mov r1, r3 8043e2c: 4ab4 ldr r2, [pc, #720] ; (8044100 ) 8043e2e: 00ab lsls r3, r5, #2 8043e30: 4413 add r3, r2 8043e32: 440b add r3, r1 8043e34: f503 730f add.w r3, r3, #572 ; 0x23c 8043e38: 781b ldrb r3, [r3, #0] 8043e3a: b2da uxtb r2, r3 8043e3c: f897 30b3 ldrb.w r3, [r7, #179] ; 0xb3 8043e40: 4313 orrs r3, r2 8043e42: b2d9 uxtb r1, r3 8043e44: 4aae ldr r2, [pc, #696] ; (8044100 ) 8043e46: 00a3 lsls r3, r4, #2 8043e48: 4413 add r3, r2 8043e4a: 4403 add r3, r0 8043e4c: f503 730f add.w r3, r3, #572 ; 0x23c 8043e50: 460a mov r2, r1 8043e52: 701a strb r2, [r3, #0] if((pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7) > DIAGN_ACC) 8043e54: 4ba8 ldr r3, [pc, #672] ; (80440f8 ) 8043e56: 781b ldrb r3, [r3, #0] 8043e58: b2db uxtb r3, r3 8043e5a: 4618 mov r0, r3 8043e5c: 4ba7 ldr r3, [pc, #668] ; (80440fc ) 8043e5e: 781b ldrb r3, [r3, #0] 8043e60: b2db uxtb r3, r3 8043e62: 4619 mov r1, r3 8043e64: 4aa6 ldr r2, [pc, #664] ; (8044100 ) 8043e66: 0083 lsls r3, r0, #2 8043e68: 4413 add r3, r2 8043e6a: 440b add r3, r1 8043e6c: f503 730f add.w r3, r3, #572 ; 0x23c 8043e70: 781b ldrb r3, [r3, #0] 8043e72: b2db uxtb r3, r3 8043e74: f003 0307 and.w r3, r3, #7 8043e78: 2b01 cmp r3, #1 8043e7a: f340 8086 ble.w 8043f8a { if(pardata.DIAGN_HP[CURR_POINT][CURR_USL] < 2.0f) 8043e7e: 4b9e ldr r3, [pc, #632] ; (80440f8 ) 8043e80: 781b ldrb r3, [r3, #0] 8043e82: b2db uxtb r3, r3 8043e84: 4618 mov r0, r3 8043e86: 4b9d ldr r3, [pc, #628] ; (80440fc ) 8043e88: 781b ldrb r3, [r3, #0] 8043e8a: b2db uxtb r3, r3 8043e8c: 4619 mov r1, r3 8043e8e: 4a9c ldr r2, [pc, #624] ; (8044100 ) 8043e90: 0083 lsls r3, r0, #2 8043e92: 440b add r3, r1 8043e94: 3396 adds r3, #150 ; 0x96 8043e96: 009b lsls r3, r3, #2 8043e98: 4413 add r3, r2 8043e9a: 3304 adds r3, #4 8043e9c: edd3 7a00 vldr s15, [r3] 8043ea0: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 8043ea4: eef4 7ac7 vcmpe.f32 s15, s14 8043ea8: eef1 fa10 vmrs APSR_nzcv, fpscr 8043eac: d511 bpl.n 8043ed2 pardata.DIAGN_HP[CURR_POINT][CURR_USL] = 2.0f; 8043eae: 4b92 ldr r3, [pc, #584] ; (80440f8 ) 8043eb0: 781b ldrb r3, [r3, #0] 8043eb2: b2db uxtb r3, r3 8043eb4: 4618 mov r0, r3 8043eb6: 4b91 ldr r3, [pc, #580] ; (80440fc ) 8043eb8: 781b ldrb r3, [r3, #0] 8043eba: b2db uxtb r3, r3 8043ebc: 4619 mov r1, r3 8043ebe: 4a90 ldr r2, [pc, #576] ; (8044100 ) 8043ec0: 0083 lsls r3, r0, #2 8043ec2: 440b add r3, r1 8043ec4: 3396 adds r3, #150 ; 0x96 8043ec6: 009b lsls r3, r3, #2 8043ec8: 4413 add r3, r2 8043eca: 3304 adds r3, #4 8043ecc: f04f 4280 mov.w r2, #1073741824 ; 0x40000000 8043ed0: 601a str r2, [r3, #0] tmp8 = (pardata.DIAGN_MASK[CURR_POINT][CURR_USL] >> 3) & 0x1f; 8043ed2: 4b89 ldr r3, [pc, #548] ; (80440f8 ) 8043ed4: 781b ldrb r3, [r3, #0] 8043ed6: b2db uxtb r3, r3 8043ed8: 4618 mov r0, r3 8043eda: 4b88 ldr r3, [pc, #544] ; (80440fc ) 8043edc: 781b ldrb r3, [r3, #0] 8043ede: b2db uxtb r3, r3 8043ee0: 4619 mov r1, r3 8043ee2: 4a87 ldr r2, [pc, #540] ; (8044100 ) 8043ee4: 0083 lsls r3, r0, #2 8043ee6: 4413 add r3, r2 8043ee8: 440b add r3, r1 8043eea: f503 730f add.w r3, r3, #572 ; 0x23c 8043eee: 781b ldrb r3, [r3, #0] 8043ef0: b2db uxtb r3, r3 8043ef2: 08db lsrs r3, r3, #3 8043ef4: b2db uxtb r3, r3 8043ef6: f003 031f and.w r3, r3, #31 8043efa: f887 30b3 strb.w r3, [r7, #179] ; 0xb3 if(tmp8 == DIAGN_EXCESS) { 8043efe: f897 30b3 ldrb.w r3, [r7, #179] ; 0xb3 8043f02: 2b10 cmp r3, #16 8043f04: d102 bne.n 8043f0c tmp8 = DIAGN_PEAK; 8043f06: 2301 movs r3, #1 8043f08: f887 30b3 strb.w r3, [r7, #179] ; 0xb3 } pardata.DIAGN_MASK[CURR_POINT][CURR_USL] &= 0x7; 8043f0c: 4b7a ldr r3, [pc, #488] ; (80440f8 ) 8043f0e: 781b ldrb r3, [r3, #0] 8043f10: b2da uxtb r2, r3 8043f12: 4614 mov r4, r2 8043f14: 4b79 ldr r3, [pc, #484] ; (80440fc ) 8043f16: 781b ldrb r3, [r3, #0] 8043f18: b2db uxtb r3, r3 8043f1a: 4618 mov r0, r3 8043f1c: 4615 mov r5, r2 8043f1e: 4619 mov r1, r3 8043f20: 4a77 ldr r2, [pc, #476] ; (8044100 ) 8043f22: 00ab lsls r3, r5, #2 8043f24: 4413 add r3, r2 8043f26: 440b add r3, r1 8043f28: f503 730f add.w r3, r3, #572 ; 0x23c 8043f2c: 781b ldrb r3, [r3, #0] 8043f2e: b2db uxtb r3, r3 8043f30: f003 0307 and.w r3, r3, #7 8043f34: b2d9 uxtb r1, r3 8043f36: 4a72 ldr r2, [pc, #456] ; (8044100 ) 8043f38: 00a3 lsls r3, r4, #2 8043f3a: 4413 add r3, r2 8043f3c: 4403 add r3, r0 8043f3e: f503 730f add.w r3, r3, #572 ; 0x23c 8043f42: 460a mov r2, r1 8043f44: 701a strb r2, [r3, #0] pardata.DIAGN_MASK[CURR_POINT][CURR_USL] |= ((tmp8 << 3) & 0xf8); 8043f46: 4b6c ldr r3, [pc, #432] ; (80440f8 ) 8043f48: 781b ldrb r3, [r3, #0] 8043f4a: b2da uxtb r2, r3 8043f4c: 4614 mov r4, r2 8043f4e: 4b6b ldr r3, [pc, #428] ; (80440fc ) 8043f50: 781b ldrb r3, [r3, #0] 8043f52: b2db uxtb r3, r3 8043f54: 4618 mov r0, r3 8043f56: 4615 mov r5, r2 8043f58: 4619 mov r1, r3 8043f5a: 4a69 ldr r2, [pc, #420] ; (8044100 ) 8043f5c: 00ab lsls r3, r5, #2 8043f5e: 4413 add r3, r2 8043f60: 440b add r3, r1 8043f62: f503 730f add.w r3, r3, #572 ; 0x23c 8043f66: 781b ldrb r3, [r3, #0] 8043f68: b2db uxtb r3, r3 8043f6a: b25a sxtb r2, r3 8043f6c: f897 30b3 ldrb.w r3, [r7, #179] ; 0xb3 8043f70: 00db lsls r3, r3, #3 8043f72: b25b sxtb r3, r3 8043f74: 4313 orrs r3, r2 8043f76: b25b sxtb r3, r3 8043f78: b2d9 uxtb r1, r3 8043f7a: 4a61 ldr r2, [pc, #388] ; (8044100 ) 8043f7c: 00a3 lsls r3, r4, #2 8043f7e: 4413 add r3, r2 8043f80: 4403 add r3, r0 8043f82: f503 730f add.w r3, r3, #572 ; 0x23c 8043f86: 460a mov r2, r1 8043f88: 701a strb r2, [r3, #0] } if((((float64_t) FS[pardata.FRQ]) / ((float64_t) pardata.DIAGN_LP[CURR_POINT][CURR_USL]) + 0.00005f) < 5.0) 8043f8a: 4b5d ldr r3, [pc, #372] ; (8044100 ) 8043f8c: 7adb ldrb r3, [r3, #11] 8043f8e: b2db uxtb r3, r3 8043f90: 461a mov r2, r3 8043f92: 4b5c ldr r3, [pc, #368] ; (8044104 ) 8043f94: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8043f98: ee07 3a90 vmov s15, r3 8043f9c: eeb8 5b67 vcvt.f64.u32 d5, s15 8043fa0: 4b55 ldr r3, [pc, #340] ; (80440f8 ) 8043fa2: 781b ldrb r3, [r3, #0] 8043fa4: b2db uxtb r3, r3 8043fa6: 4618 mov r0, r3 8043fa8: 4b54 ldr r3, [pc, #336] ; (80440fc ) 8043faa: 781b ldrb r3, [r3, #0] 8043fac: b2db uxtb r3, r3 8043fae: 4619 mov r1, r3 8043fb0: 4a53 ldr r2, [pc, #332] ; (8044100 ) 8043fb2: 0083 lsls r3, r0, #2 8043fb4: 440b add r3, r1 8043fb6: 33b6 adds r3, #182 ; 0xb6 8043fb8: 009b lsls r3, r3, #2 8043fba: 4413 add r3, r2 8043fbc: 3304 adds r3, #4 8043fbe: edd3 7a00 vldr s15, [r3] 8043fc2: eeb7 6ae7 vcvt.f64.f32 d6, s15 8043fc6: ee85 7b06 vdiv.f64 d7, d5, d6 8043fca: ed9f 6b47 vldr d6, [pc, #284] ; 80440e8 8043fce: ee37 7b06 vadd.f64 d7, d7, d6 8043fd2: eeb1 6b04 vmov.f64 d6, #20 ; 0x40a00000 5.0 8043fd6: eeb4 7bc6 vcmpe.f64 d7, d6 8043fda: eef1 fa10 vmrs APSR_nzcv, fpscr 8043fde: d400 bmi.n 8043fe2 pardata.DIAGN_LP[CURR_POINT][CURR_USL] += 0.0001; } } else menupos = Ok; break; 8043fe0: e163 b.n 80442aa pardata.DIAGN_LP[CURR_POINT][CURR_USL] = (float32_t) (FS[pardata.FRQ] / 5); 8043fe2: 4b45 ldr r3, [pc, #276] ; (80440f8 ) 8043fe4: 781b ldrb r3, [r3, #0] 8043fe6: b2db uxtb r3, r3 8043fe8: 4618 mov r0, r3 8043fea: 4b44 ldr r3, [pc, #272] ; (80440fc ) 8043fec: 781b ldrb r3, [r3, #0] 8043fee: b2db uxtb r3, r3 8043ff0: 4619 mov r1, r3 8043ff2: 4b43 ldr r3, [pc, #268] ; (8044100 ) 8043ff4: 7adb ldrb r3, [r3, #11] 8043ff6: b2db uxtb r3, r3 8043ff8: 461a mov r2, r3 8043ffa: 4b42 ldr r3, [pc, #264] ; (8044104 ) 8043ffc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8044000: 4a41 ldr r2, [pc, #260] ; (8044108 ) 8044002: fba2 2303 umull r2, r3, r2, r3 8044006: 089b lsrs r3, r3, #2 8044008: ee07 3a90 vmov s15, r3 804400c: eef8 7a67 vcvt.f32.u32 s15, s15 8044010: 4a3b ldr r2, [pc, #236] ; (8044100 ) 8044012: 0083 lsls r3, r0, #2 8044014: 440b add r3, r1 8044016: 33b6 adds r3, #182 ; 0xb6 8044018: 009b lsls r3, r3, #2 804401a: 4413 add r3, r2 804401c: 3304 adds r3, #4 804401e: edc3 7a00 vstr s15, [r3] pardata.DIAGN_LP[CURR_POINT][CURR_USL] += 0.0001; 8044022: 4b35 ldr r3, [pc, #212] ; (80440f8 ) 8044024: 781b ldrb r3, [r3, #0] 8044026: b2da uxtb r2, r3 8044028: 4610 mov r0, r2 804402a: 4b34 ldr r3, [pc, #208] ; (80440fc ) 804402c: 781b ldrb r3, [r3, #0] 804402e: b2db uxtb r3, r3 8044030: 4619 mov r1, r3 8044032: 4615 mov r5, r2 8044034: 461c mov r4, r3 8044036: 4a32 ldr r2, [pc, #200] ; (8044100 ) 8044038: 00ab lsls r3, r5, #2 804403a: 4423 add r3, r4 804403c: 33b6 adds r3, #182 ; 0xb6 804403e: 009b lsls r3, r3, #2 8044040: 4413 add r3, r2 8044042: 3304 adds r3, #4 8044044: edd3 7a00 vldr s15, [r3] 8044048: eeb7 7ae7 vcvt.f64.f32 d7, s15 804404c: ed9f 6b28 vldr d6, [pc, #160] ; 80440f0 8044050: ee37 7b06 vadd.f64 d7, d7, d6 8044054: eef7 7bc7 vcvt.f32.f64 s15, d7 8044058: 4a29 ldr r2, [pc, #164] ; (8044100 ) 804405a: 0083 lsls r3, r0, #2 804405c: 440b add r3, r1 804405e: 33b6 adds r3, #182 ; 0xb6 8044060: 009b lsls r3, r3, #2 8044062: 4413 add r3, r2 8044064: 3304 adds r3, #4 8044066: edc3 7a00 vstr s15, [r3] break; 804406a: e11e b.n 80442aa menupos = Ok; 804406c: 4b27 ldr r3, [pc, #156] ; (804410c ) 804406e: 2200 movs r2, #0 8044070: 701a strb r2, [r3, #0] break; 8044072: e11a b.n 80442aa case DiagValue: if(focused) 8044074: 4b26 ldr r3, [pc, #152] ; (8044110 ) 8044076: 781b ldrb r3, [r3, #0] 8044078: b2db uxtb r3, r3 804407a: 2b00 cmp r3, #0 804407c: f000 80ad beq.w 80441da { tmp8 = (pardata.DIAGN_MASK[CURR_POINT][CURR_USL] >> 3) & 0x1f; 8044080: 4b1d ldr r3, [pc, #116] ; (80440f8 ) 8044082: 781b ldrb r3, [r3, #0] 8044084: b2db uxtb r3, r3 8044086: 4618 mov r0, r3 8044088: 4b1c ldr r3, [pc, #112] ; (80440fc ) 804408a: 781b ldrb r3, [r3, #0] 804408c: b2db uxtb r3, r3 804408e: 4619 mov r1, r3 8044090: 4a1b ldr r2, [pc, #108] ; (8044100 ) 8044092: 0083 lsls r3, r0, #2 8044094: 4413 add r3, r2 8044096: 440b add r3, r1 8044098: f503 730f add.w r3, r3, #572 ; 0x23c 804409c: 781b ldrb r3, [r3, #0] 804409e: b2db uxtb r3, r3 80440a0: 08db lsrs r3, r3, #3 80440a2: b2db uxtb r3, r3 80440a4: f003 031f and.w r3, r3, #31 80440a8: f887 30b3 strb.w r3, [r7, #179] ; 0xb3 if(tmp8 == DIAGN_PEAK) 80440ac: f897 30b3 ldrb.w r3, [r7, #179] ; 0xb3 80440b0: 2b01 cmp r3, #1 80440b2: d133 bne.n 804411c { if((pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7) == DIAGN_ACC) 80440b4: 4b10 ldr r3, [pc, #64] ; (80440f8 ) 80440b6: 781b ldrb r3, [r3, #0] 80440b8: b2db uxtb r3, r3 80440ba: 4618 mov r0, r3 80440bc: 4b0f ldr r3, [pc, #60] ; (80440fc ) 80440be: 781b ldrb r3, [r3, #0] 80440c0: b2db uxtb r3, r3 80440c2: 4619 mov r1, r3 80440c4: 4a0e ldr r2, [pc, #56] ; (8044100 ) 80440c6: 0083 lsls r3, r0, #2 80440c8: 4413 add r3, r2 80440ca: 440b add r3, r1 80440cc: f503 730f add.w r3, r3, #572 ; 0x23c 80440d0: 781b ldrb r3, [r3, #0] 80440d2: b2db uxtb r3, r3 80440d4: f003 0307 and.w r3, r3, #7 80440d8: 2b01 cmp r3, #1 80440da: d11b bne.n 8044114 tmp8 = DIAGN_EXCESS; 80440dc: 2310 movs r3, #16 80440de: f887 30b3 strb.w r3, [r7, #179] ; 0xb3 80440e2: e03a b.n 804415a 80440e4: f3af 8000 nop.w 80440e8: e0000000 .word 0xe0000000 80440ec: 3f0a36e2 .word 0x3f0a36e2 80440f0: eb1c432d .word 0xeb1c432d 80440f4: 3f1a36e2 .word 0x3f1a36e2 80440f8: 20021011 .word 0x20021011 80440fc: 20021013 .word 0x20021013 8044100: 20023e60 .word 0x20023e60 8044104: 080ee890 .word 0x080ee890 8044108: cccccccd .word 0xcccccccd 804410c: 20020070 .word 0x20020070 8044110: 20020f84 .word 0x20020f84 else tmp8 = DIAGN_PEAK_FACTOR; 8044114: 2308 movs r3, #8 8044116: f887 30b3 strb.w r3, [r7, #179] ; 0xb3 804411a: e01e b.n 804415a } else if(tmp8 == DIAGN_EXCESS) tmp8 = DIAGN_PEAK_FACTOR; 804411c: f897 30b3 ldrb.w r3, [r7, #179] ; 0xb3 8044120: 2b10 cmp r3, #16 8044122: d103 bne.n 804412c 8044124: 2308 movs r3, #8 8044126: f887 30b3 strb.w r3, [r7, #179] ; 0xb3 804412a: e016 b.n 804415a else if(tmp8 == DIAGN_PEAK_FACTOR) tmp8 = DIAGN_PEAK_TO_PEAK; 804412c: f897 30b3 ldrb.w r3, [r7, #179] ; 0xb3 8044130: 2b08 cmp r3, #8 8044132: d103 bne.n 804413c 8044134: 2304 movs r3, #4 8044136: f887 30b3 strb.w r3, [r7, #179] ; 0xb3 804413a: e00e b.n 804415a else if(tmp8 == DIAGN_PEAK_TO_PEAK) tmp8 = DIAGN_RMS; 804413c: f897 30b3 ldrb.w r3, [r7, #179] ; 0xb3 8044140: 2b04 cmp r3, #4 8044142: d103 bne.n 804414c 8044144: 2302 movs r3, #2 8044146: f887 30b3 strb.w r3, [r7, #179] ; 0xb3 804414a: e006 b.n 804415a else if(tmp8 == DIAGN_RMS) tmp8 = DIAGN_PEAK; 804414c: f897 30b3 ldrb.w r3, [r7, #179] ; 0xb3 8044150: 2b02 cmp r3, #2 8044152: d102 bne.n 804415a 8044154: 2301 movs r3, #1 8044156: f887 30b3 strb.w r3, [r7, #179] ; 0xb3 pardata.DIAGN_MASK[CURR_POINT][CURR_USL] &= 0x7; 804415a: 4b8c ldr r3, [pc, #560] ; (804438c ) 804415c: 781b ldrb r3, [r3, #0] 804415e: b2da uxtb r2, r3 8044160: 4614 mov r4, r2 8044162: 4b8b ldr r3, [pc, #556] ; (8044390 ) 8044164: 781b ldrb r3, [r3, #0] 8044166: b2db uxtb r3, r3 8044168: 4618 mov r0, r3 804416a: 4615 mov r5, r2 804416c: 4619 mov r1, r3 804416e: 4a89 ldr r2, [pc, #548] ; (8044394 ) 8044170: 00ab lsls r3, r5, #2 8044172: 4413 add r3, r2 8044174: 440b add r3, r1 8044176: f503 730f add.w r3, r3, #572 ; 0x23c 804417a: 781b ldrb r3, [r3, #0] 804417c: b2db uxtb r3, r3 804417e: f003 0307 and.w r3, r3, #7 8044182: b2d9 uxtb r1, r3 8044184: 4a83 ldr r2, [pc, #524] ; (8044394 ) 8044186: 00a3 lsls r3, r4, #2 8044188: 4413 add r3, r2 804418a: 4403 add r3, r0 804418c: f503 730f add.w r3, r3, #572 ; 0x23c 8044190: 460a mov r2, r1 8044192: 701a strb r2, [r3, #0] pardata.DIAGN_MASK[CURR_POINT][CURR_USL] |= ((tmp8 << 3) & 0xf8); 8044194: 4b7d ldr r3, [pc, #500] ; (804438c ) 8044196: 781b ldrb r3, [r3, #0] 8044198: b2da uxtb r2, r3 804419a: 4614 mov r4, r2 804419c: 4b7c ldr r3, [pc, #496] ; (8044390 ) 804419e: 781b ldrb r3, [r3, #0] 80441a0: b2db uxtb r3, r3 80441a2: 4618 mov r0, r3 80441a4: 4615 mov r5, r2 80441a6: 4619 mov r1, r3 80441a8: 4a7a ldr r2, [pc, #488] ; (8044394 ) 80441aa: 00ab lsls r3, r5, #2 80441ac: 4413 add r3, r2 80441ae: 440b add r3, r1 80441b0: f503 730f add.w r3, r3, #572 ; 0x23c 80441b4: 781b ldrb r3, [r3, #0] 80441b6: b2db uxtb r3, r3 80441b8: b25a sxtb r2, r3 80441ba: f897 30b3 ldrb.w r3, [r7, #179] ; 0xb3 80441be: 00db lsls r3, r3, #3 80441c0: b25b sxtb r3, r3 80441c2: 4313 orrs r3, r2 80441c4: b25b sxtb r3, r3 80441c6: b2d9 uxtb r1, r3 80441c8: 4a72 ldr r2, [pc, #456] ; (8044394 ) 80441ca: 00a3 lsls r3, r4, #2 80441cc: 4413 add r3, r2 80441ce: 4403 add r3, r0 80441d0: f503 730f add.w r3, r3, #572 ; 0x23c 80441d4: 460a mov r2, r1 80441d6: 701a strb r2, [r3, #0] } else menupos = Ok; break; 80441d8: e067 b.n 80442aa menupos = Ok; 80441da: 4b6f ldr r3, [pc, #444] ; (8044398 ) 80441dc: 2200 movs r2, #0 80441de: 701a strb r2, [r3, #0] break; 80441e0: e063 b.n 80442aa case DiagHP: case DiagLP: case Diag_W: case Diag_A: menupos = Ok; 80441e2: 4b6d ldr r3, [pc, #436] ; (8044398 ) 80441e4: 2200 movs r2, #0 80441e6: 701a strb r2, [r3, #0] break; 80441e8: e05f b.n 80442aa case DiagHP_IDT: menupos = DiagHP_IKD; break; 80441ea: 4b6b ldr r3, [pc, #428] ; (8044398 ) 80441ec: 2212 movs r2, #18 80441ee: 701a strb r2, [r3, #0] 80441f0: e05b b.n 80442aa case DiagHP_IKD: menupos = DiagHP_IEE; break; 80441f2: 4b69 ldr r3, [pc, #420] ; (8044398 ) 80441f4: 2211 movs r2, #17 80441f6: 701a strb r2, [r3, #0] 80441f8: e057 b.n 80442aa case DiagHP_IEE: menupos = DiagHP_IED; break; 80441fa: 4b67 ldr r3, [pc, #412] ; (8044398 ) 80441fc: 2210 movs r2, #16 80441fe: 701a strb r2, [r3, #0] 8044200: e053 b.n 80442aa case DiagHP_IED: menupos = DiagHP_IES; break; 8044202: 4b65 ldr r3, [pc, #404] ; (8044398 ) 8044204: 220f movs r2, #15 8044206: 701a strb r2, [r3, #0] 8044208: e04f b.n 80442aa case DiagHP_IES: menupos = DiagHP_IET; break; 804420a: 4b63 ldr r3, [pc, #396] ; (8044398 ) 804420c: 220e movs r2, #14 804420e: 701a strb r2, [r3, #0] 8044210: e04b b.n 80442aa case DiagHP_IET: menupos = DiagHP_IDT; break; 8044212: 4b61 ldr r3, [pc, #388] ; (8044398 ) 8044214: 220d movs r2, #13 8044216: 701a strb r2, [r3, #0] 8044218: e047 b.n 80442aa case DiagLP_IDT: menupos = DiagLP_IKD; break; 804421a: 4b5f ldr r3, [pc, #380] ; (8044398 ) 804421c: 2218 movs r2, #24 804421e: 701a strb r2, [r3, #0] 8044220: e043 b.n 80442aa case DiagLP_IKD: menupos = DiagLP_IEE; break; 8044222: 4b5d ldr r3, [pc, #372] ; (8044398 ) 8044224: 2217 movs r2, #23 8044226: 701a strb r2, [r3, #0] 8044228: e03f b.n 80442aa case DiagLP_IEE: menupos = DiagLP_IED; break; 804422a: 4b5b ldr r3, [pc, #364] ; (8044398 ) 804422c: 2216 movs r2, #22 804422e: 701a strb r2, [r3, #0] 8044230: e03b b.n 80442aa case DiagLP_IED: menupos = DiagLP_IES; break; 8044232: 4b59 ldr r3, [pc, #356] ; (8044398 ) 8044234: 2215 movs r2, #21 8044236: 701a strb r2, [r3, #0] 8044238: e037 b.n 80442aa case DiagLP_IES: menupos = DiagLP_IET; break; 804423a: 4b57 ldr r3, [pc, #348] ; (8044398 ) 804423c: 2214 movs r2, #20 804423e: 701a strb r2, [r3, #0] 8044240: e033 b.n 80442aa case DiagLP_IET: menupos = DiagLP_IDT; break; 8044242: 4b55 ldr r3, [pc, #340] ; (8044398 ) 8044244: 2213 movs r2, #19 8044246: 701a strb r2, [r3, #0] 8044248: e02f b.n 80442aa case DiagW_IDT: menupos = DiagW_IKD; break; 804424a: 4b53 ldr r3, [pc, #332] ; (8044398 ) 804424c: 221e movs r2, #30 804424e: 701a strb r2, [r3, #0] 8044250: e02b b.n 80442aa case DiagW_IKD: menupos = DiagW_IEE; break; 8044252: 4b51 ldr r3, [pc, #324] ; (8044398 ) 8044254: 221d movs r2, #29 8044256: 701a strb r2, [r3, #0] 8044258: e027 b.n 80442aa case DiagW_IEE: menupos = DiagW_IED; break; 804425a: 4b4f ldr r3, [pc, #316] ; (8044398 ) 804425c: 221c movs r2, #28 804425e: 701a strb r2, [r3, #0] 8044260: e023 b.n 80442aa case DiagW_IED: menupos = DiagW_IES; break; 8044262: 4b4d ldr r3, [pc, #308] ; (8044398 ) 8044264: 221b movs r2, #27 8044266: 701a strb r2, [r3, #0] 8044268: e01f b.n 80442aa case DiagW_IES: menupos = DiagW_IET; break; 804426a: 4b4b ldr r3, [pc, #300] ; (8044398 ) 804426c: 221a movs r2, #26 804426e: 701a strb r2, [r3, #0] 8044270: e01b b.n 80442aa case DiagW_IET: menupos = DiagW_IDT; break; 8044272: 4b49 ldr r3, [pc, #292] ; (8044398 ) 8044274: 2219 movs r2, #25 8044276: 701a strb r2, [r3, #0] 8044278: e017 b.n 80442aa case DiagA_IDT: menupos = DiagA_IKD; break; 804427a: 4b47 ldr r3, [pc, #284] ; (8044398 ) 804427c: 2224 movs r2, #36 ; 0x24 804427e: 701a strb r2, [r3, #0] 8044280: e013 b.n 80442aa case DiagA_IKD: menupos = DiagA_IEE; break; 8044282: 4b45 ldr r3, [pc, #276] ; (8044398 ) 8044284: 2223 movs r2, #35 ; 0x23 8044286: 701a strb r2, [r3, #0] 8044288: e00f b.n 80442aa case DiagA_IEE: menupos = DiagA_IED; break; 804428a: 4b43 ldr r3, [pc, #268] ; (8044398 ) 804428c: 2222 movs r2, #34 ; 0x22 804428e: 701a strb r2, [r3, #0] 8044290: e00b b.n 80442aa case DiagA_IED: menupos = DiagA_IES; break; 8044292: 4b41 ldr r3, [pc, #260] ; (8044398 ) 8044294: 2221 movs r2, #33 ; 0x21 8044296: 701a strb r2, [r3, #0] 8044298: e007 b.n 80442aa case DiagA_IES: menupos = DiagA_IET; break; 804429a: 4b3f ldr r3, [pc, #252] ; (8044398 ) 804429c: 2220 movs r2, #32 804429e: 701a strb r2, [r3, #0] 80442a0: e003 b.n 80442aa case DiagA_IET: menupos = DiagA_IDT; break; 80442a2: 4b3d ldr r3, [pc, #244] ; (8044398 ) 80442a4: 221f movs r2, #31 80442a6: 701a strb r2, [r3, #0] 80442a8: bf00 nop } break; 80442aa: f001 bf57 b.w 804615c case TREND_A: case TREND_V: case TREND_S: if(menupos > Trend_pk) menupos--; 80442ae: 4b3a ldr r3, [pc, #232] ; (8044398 ) 80442b0: 781b ldrb r3, [r3, #0] 80442b2: b2db uxtb r3, r3 80442b4: 2b00 cmp r3, #0 80442b6: d008 beq.n 80442ca 80442b8: 4b37 ldr r3, [pc, #220] ; (8044398 ) 80442ba: 781b ldrb r3, [r3, #0] 80442bc: b2db uxtb r3, r3 80442be: 3b01 subs r3, #1 80442c0: b2da uxtb r2, r3 80442c2: 4b35 ldr r3, [pc, #212] ; (8044398 ) 80442c4: 701a strb r2, [r3, #0] else menupos = Trend_excess; break; 80442c6: f001 bf8f b.w 80461e8 else menupos = Trend_excess; 80442ca: 4b33 ldr r3, [pc, #204] ; (8044398 ) 80442cc: 2204 movs r2, #4 80442ce: 701a strb r2, [r3, #0] break; 80442d0: f001 bf8a b.w 80461e8 case MAIN_UDAR: break; case MAIN_DIAGN: switch(menupos) 80442d4: 4b30 ldr r3, [pc, #192] ; (8044398 ) 80442d6: 781b ldrb r3, [r3, #0] 80442d8: b2db uxtb r3, r3 80442da: 2b04 cmp r3, #4 80442dc: f201 8741 bhi.w 8046162 80442e0: a201 add r2, pc, #4 ; (adr r2, 80442e8 ) 80442e2: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80442e6: bf00 nop 80442e8: 080442fd .word 0x080442fd 80442ec: 08046163 .word 0x08046163 80442f0: 08044305 .word 0x08044305 80442f4: 08044315 .word 0x08044315 80442f8: 0804430d .word 0x0804430d { case StartStop: menupos = Record; break; 80442fc: 4b26 ldr r3, [pc, #152] ; (8044398 ) 80442fe: 2202 movs r2, #2 8044300: 701a strb r2, [r3, #0] 8044302: e00b b.n 804431c case Record: menupos = MyMeasure; break; 8044304: 4b24 ldr r3, [pc, #144] ; (8044398 ) 8044306: 2204 movs r2, #4 8044308: 701a strb r2, [r3, #0] 804430a: e007 b.n 804431c case MyMeasure: menupos = MyPoint; break; 804430c: 4b22 ldr r3, [pc, #136] ; (8044398 ) 804430e: 2203 movs r2, #3 8044310: 701a strb r2, [r3, #0] 8044312: e003 b.n 804431c case MyPoint: menupos = StartStop; break; 8044314: 4b20 ldr r3, [pc, #128] ; (8044398 ) 8044316: 2200 movs r2, #0 8044318: 701a strb r2, [r3, #0] 804431a: bf00 nop } break; 804431c: f001 bf21 b.w 8046162 case MAIN: case MAIN_FRAN: switch(menupos) 8044320: 4b1d ldr r3, [pc, #116] ; (8044398 ) 8044322: 781b ldrb r3, [r3, #0] 8044324: b2db uxtb r3, r3 8044326: 2b06 cmp r3, #6 8044328: f201 871e bhi.w 8046168 804432c: a201 add r2, pc, #4 ; (adr r2, 8044334 ) 804432e: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8044332: bf00 nop 8044334: 08044351 .word 0x08044351 8044338: 08046169 .word 0x08046169 804433c: 08044359 .word 0x08044359 8044340: 08044369 .word 0x08044369 8044344: 08044361 .word 0x08044361 8044348: 08046169 .word 0x08046169 804434c: 08044371 .word 0x08044371 { case StartStop: menupos = Record; break; 8044350: 4b11 ldr r3, [pc, #68] ; (8044398 ) 8044352: 2202 movs r2, #2 8044354: 701a strb r2, [r3, #0] 8044356: e00f b.n 8044378 case Record: menupos = MyMeasure; break; 8044358: 4b0f ldr r3, [pc, #60] ; (8044398 ) 804435a: 2204 movs r2, #4 804435c: 701a strb r2, [r3, #0] 804435e: e00b b.n 8044378 case MyMeasure: menupos = MyPoint; break; 8044360: 4b0d ldr r3, [pc, #52] ; (8044398 ) 8044362: 2203 movs r2, #3 8044364: 701a strb r2, [r3, #0] 8044366: e007 b.n 8044378 case MyPoint: menupos = MyLinLog; break; 8044368: 4b0b ldr r3, [pc, #44] ; (8044398 ) 804436a: 2206 movs r2, #6 804436c: 701a strb r2, [r3, #0] 804436e: e003 b.n 8044378 case MyLinLog: menupos = StartStop; break; 8044370: 4b09 ldr r3, [pc, #36] ; (8044398 ) 8044372: 2200 movs r2, #0 8044374: 701a strb r2, [r3, #0] 8044376: bf00 nop } break; 8044378: f001 bef6 b.w 8046168 case MAIN_OSC: switch(menupos) 804437c: 4b06 ldr r3, [pc, #24] ; (8044398 ) 804437e: 781b ldrb r3, [r3, #0] 8044380: b2db uxtb r3, r3 8044382: 2b06 cmp r3, #6 8044384: d00a beq.n 804439c rX = X0 + k * multA_u16; CURSOR = (Mpos - X0) / multA_u16; } break; } break; 8044386: f001 bf2f b.w 80461e8 804438a: bf00 nop 804438c: 20021011 .word 0x20021011 8044390: 20021013 .word 0x20021013 8044394: 20023e60 .word 0x20023e60 8044398: 20020070 .word 0x20020070 lvl_0 = 0; 804439c: 2300 movs r3, #0 804439e: f8c7 30a0 str.w r3, [r7, #160] ; 0xa0 multA_u16 = Avg[0][5 * ViewLevel + pardata.LNE]; 80443a2: 4ba9 ldr r3, [pc, #676] ; (8044648 ) 80443a4: 781b ldrb r3, [r3, #0] 80443a6: b2db uxtb r3, r3 80443a8: 461a mov r2, r3 80443aa: 4613 mov r3, r2 80443ac: 009b lsls r3, r3, #2 80443ae: 4413 add r3, r2 80443b0: 4aa6 ldr r2, [pc, #664] ; (804464c ) 80443b2: 79d2 ldrb r2, [r2, #7] 80443b4: b2d2 uxtb r2, r2 80443b6: 4413 add r3, r2 80443b8: 4aa5 ldr r2, [pc, #660] ; (8044650 ) 80443ba: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 80443be: f8a7 309e strh.w r3, [r7, #158] ; 0x9e i = 1; 80443c2: 2301 movs r3, #1 80443c4: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 k = 256; 80443c8: f44f 7380 mov.w r3, #256 ; 0x100 80443cc: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 d = 192 * multA_u16; 80443d0: f8b7 209e ldrh.w r2, [r7, #158] ; 0x9e 80443d4: 4613 mov r3, r2 80443d6: 005b lsls r3, r3, #1 80443d8: 4413 add r3, r2 80443da: 019b lsls r3, r3, #6 80443dc: f8c7 30bc str.w r3, [r7, #188] ; 0xbc j = k * Avg[0][5 * lvl_0 + pardata.LNE] - Avg[0][5 * ViewLevel + pardata.LNE]; 80443e0: f8d7 20a0 ldr.w r2, [r7, #160] ; 0xa0 80443e4: 4613 mov r3, r2 80443e6: 009b lsls r3, r3, #2 80443e8: 4413 add r3, r2 80443ea: 4a98 ldr r2, [pc, #608] ; (804464c ) 80443ec: 79d2 ldrb r2, [r2, #7] 80443ee: b2d2 uxtb r2, r2 80443f0: 4413 add r3, r2 80443f2: 4a97 ldr r2, [pc, #604] ; (8044650 ) 80443f4: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 80443f8: 461a mov r2, r3 80443fa: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80443fe: fb03 f202 mul.w r2, r3, r2 8044402: 4b91 ldr r3, [pc, #580] ; (8044648 ) 8044404: 781b ldrb r3, [r3, #0] 8044406: b2db uxtb r3, r3 8044408: 4619 mov r1, r3 804440a: 460b mov r3, r1 804440c: 009b lsls r3, r3, #2 804440e: 440b add r3, r1 8044410: 498e ldr r1, [pc, #568] ; (804464c ) 8044412: 79c9 ldrb r1, [r1, #7] 8044414: b2c9 uxtb r1, r1 8044416: 440b add r3, r1 8044418: 498d ldr r1, [pc, #564] ; (8044650 ) 804441a: f831 3013 ldrh.w r3, [r1, r3, lsl #1] 804441e: 1ad3 subs r3, r2, r3 8044420: f8c7 3098 str.w r3, [r7, #152] ; 0x98 multB_u16 = i * multA_u16; 8044424: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 8044428: b29b uxth r3, r3 804442a: f8b7 209e ldrh.w r2, [r7, #158] ; 0x9e 804442e: fb12 f303 smulbb r3, r2, r3 8044432: f8a7 3096 strh.w r3, [r7, #150] ; 0x96 if(multB_u16 >= Mpos) 8044436: 4b87 ldr r3, [pc, #540] ; (8044654 ) 8044438: 881b ldrh r3, [r3, #0] 804443a: b29b uxth r3, r3 804443c: f8b7 2096 ldrh.w r2, [r7, #150] ; 0x96 8044440: 429a cmp r2, r3 8044442: d318 bcc.n 8044476 CURSOR = 0; 8044444: 4b84 ldr r3, [pc, #528] ; (8044658 ) 8044446: 2200 movs r2, #0 8044448: 601a str r2, [r3, #0] X0 = 0; 804444a: 4b84 ldr r3, [pc, #528] ; (804465c ) 804444c: 2200 movs r2, #0 804444e: 801a strh r2, [r3, #0] lX = X0; 8044450: 4b82 ldr r3, [pc, #520] ; (804465c ) 8044452: 881b ldrh r3, [r3, #0] 8044454: b29a uxth r2, r3 8044456: 4b82 ldr r3, [pc, #520] ; (8044660 ) 8044458: 801a strh r2, [r3, #0] rX = k * multA_u16; 804445a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804445e: b29b uxth r3, r3 8044460: f8b7 209e ldrh.w r2, [r7, #158] ; 0x9e 8044464: fb12 f303 smulbb r3, r2, r3 8044468: b29a uxth r2, r3 804446a: 4b7e ldr r3, [pc, #504] ; (8044664 ) 804446c: 801a strh r2, [r3, #0] Mpos = 0; 804446e: 4b79 ldr r3, [pc, #484] ; (8044654 ) 8044470: 2200 movs r2, #0 8044472: 801a strh r2, [r3, #0] break; 8044474: e049 b.n 804450a Mpos -= multB_u16; 8044476: 4b77 ldr r3, [pc, #476] ; (8044654 ) 8044478: 881b ldrh r3, [r3, #0] 804447a: b29a uxth r2, r3 804447c: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 8044480: 1ad3 subs r3, r2, r3 8044482: b29a uxth r2, r3 8044484: 4b73 ldr r3, [pc, #460] ; (8044654 ) 8044486: 801a strh r2, [r3, #0] if(X0 > Mpos) 8044488: 4b74 ldr r3, [pc, #464] ; (804465c ) 804448a: 881b ldrh r3, [r3, #0] 804448c: b29a uxth r2, r3 804448e: 4b71 ldr r3, [pc, #452] ; (8044654 ) 8044490: 881b ldrh r3, [r3, #0] 8044492: b29b uxth r3, r3 8044494: 429a cmp r2, r3 8044496: d915 bls.n 80444c4 if(Mpos >= d) 8044498: 4b6e ldr r3, [pc, #440] ; (8044654 ) 804449a: 881b ldrh r3, [r3, #0] 804449c: b29b uxth r3, r3 804449e: 461a mov r2, r3 80444a0: f8d7 30bc ldr.w r3, [r7, #188] ; 0xbc 80444a4: 429a cmp r2, r3 80444a6: d30a bcc.n 80444be X0 -= d; 80444a8: 4b6c ldr r3, [pc, #432] ; (804465c ) 80444aa: 881b ldrh r3, [r3, #0] 80444ac: b29a uxth r2, r3 80444ae: f8d7 30bc ldr.w r3, [r7, #188] ; 0xbc 80444b2: b29b uxth r3, r3 80444b4: 1ad3 subs r3, r2, r3 80444b6: b29a uxth r2, r3 80444b8: 4b68 ldr r3, [pc, #416] ; (804465c ) 80444ba: 801a strh r2, [r3, #0] 80444bc: e002 b.n 80444c4 else X0 = 0; 80444be: 4b67 ldr r3, [pc, #412] ; (804465c ) 80444c0: 2200 movs r2, #0 80444c2: 801a strh r2, [r3, #0] lX = X0; 80444c4: 4b65 ldr r3, [pc, #404] ; (804465c ) 80444c6: 881b ldrh r3, [r3, #0] 80444c8: b29a uxth r2, r3 80444ca: 4b65 ldr r3, [pc, #404] ; (8044660 ) 80444cc: 801a strh r2, [r3, #0] rX = X0 + k * multA_u16; 80444ce: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80444d2: b29b uxth r3, r3 80444d4: f8b7 209e ldrh.w r2, [r7, #158] ; 0x9e 80444d8: fb12 f303 smulbb r3, r2, r3 80444dc: b29a uxth r2, r3 80444de: 4b5f ldr r3, [pc, #380] ; (804465c ) 80444e0: 881b ldrh r3, [r3, #0] 80444e2: b29b uxth r3, r3 80444e4: 4413 add r3, r2 80444e6: b29a uxth r2, r3 80444e8: 4b5e ldr r3, [pc, #376] ; (8044664 ) 80444ea: 801a strh r2, [r3, #0] CURSOR = (Mpos - X0) / multA_u16; 80444ec: 4b59 ldr r3, [pc, #356] ; (8044654 ) 80444ee: 881b ldrh r3, [r3, #0] 80444f0: b29b uxth r3, r3 80444f2: 461a mov r2, r3 80444f4: 4b59 ldr r3, [pc, #356] ; (804465c ) 80444f6: 881b ldrh r3, [r3, #0] 80444f8: b29b uxth r3, r3 80444fa: 1ad2 subs r2, r2, r3 80444fc: f8b7 309e ldrh.w r3, [r7, #158] ; 0x9e 8044500: fb92 f3f3 sdiv r3, r2, r3 8044504: 461a mov r2, r3 8044506: 4b54 ldr r3, [pc, #336] ; (8044658 ) 8044508: 601a str r2, [r3, #0] break; 804450a: bf00 nop break; 804450c: f001 be6c b.w 80461e8 case MAIN_ROLL: case VIEW_PORTRET: case MAIN_SPEC: case MAIN_SPEC_OGIB: switch(menupos) 8044510: 4b55 ldr r3, [pc, #340] ; (8044668 ) 8044512: 781b ldrb r3, [r3, #0] 8044514: b2db uxtb r3, r3 8044516: 2b06 cmp r3, #6 8044518: d001 beq.n 804451e rX = X0 + k * multA_u16; CURSOR = (Mpos - X0) / multA_u16; } break; } break; 804451a: f001 be65 b.w 80461e8 lvl_0 = 0; 804451e: 2300 movs r3, #0 8044520: f8c7 30a0 str.w r3, [r7, #160] ; 0xa0 multA_u16 = Avg[1][5 * ViewLevel + pardata.LNE]; 8044524: 4b48 ldr r3, [pc, #288] ; (8044648 ) 8044526: 781b ldrb r3, [r3, #0] 8044528: b2db uxtb r3, r3 804452a: 461a mov r2, r3 804452c: 4613 mov r3, r2 804452e: 009b lsls r3, r3, #2 8044530: 4413 add r3, r2 8044532: 4a46 ldr r2, [pc, #280] ; (804464c ) 8044534: 79d2 ldrb r2, [r2, #7] 8044536: b2d2 uxtb r2, r2 8044538: 4413 add r3, r2 804453a: 4a45 ldr r2, [pc, #276] ; (8044650 ) 804453c: 3323 adds r3, #35 ; 0x23 804453e: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 8044542: f8a7 309e strh.w r3, [r7, #158] ; 0x9e i = 1; 8044546: 2301 movs r3, #1 8044548: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 k = 256; 804454c: f44f 7380 mov.w r3, #256 ; 0x100 8044550: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 d = 192 * multA_u16; 8044554: f8b7 209e ldrh.w r2, [r7, #158] ; 0x9e 8044558: 4613 mov r3, r2 804455a: 005b lsls r3, r3, #1 804455c: 4413 add r3, r2 804455e: 019b lsls r3, r3, #6 8044560: f8c7 30bc str.w r3, [r7, #188] ; 0xbc j = k * Avg[1][5 * lvl_0 + pardata.LNE] - Avg[1][5 * ViewLevel + pardata.LNE]; 8044564: f8d7 20a0 ldr.w r2, [r7, #160] ; 0xa0 8044568: 4613 mov r3, r2 804456a: 009b lsls r3, r3, #2 804456c: 4413 add r3, r2 804456e: 4a37 ldr r2, [pc, #220] ; (804464c ) 8044570: 79d2 ldrb r2, [r2, #7] 8044572: b2d2 uxtb r2, r2 8044574: 4413 add r3, r2 8044576: 4a36 ldr r2, [pc, #216] ; (8044650 ) 8044578: 3323 adds r3, #35 ; 0x23 804457a: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804457e: 461a mov r2, r3 8044580: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8044584: fb03 f202 mul.w r2, r3, r2 8044588: 4b2f ldr r3, [pc, #188] ; (8044648 ) 804458a: 781b ldrb r3, [r3, #0] 804458c: b2db uxtb r3, r3 804458e: 4619 mov r1, r3 8044590: 460b mov r3, r1 8044592: 009b lsls r3, r3, #2 8044594: 440b add r3, r1 8044596: 492d ldr r1, [pc, #180] ; (804464c ) 8044598: 79c9 ldrb r1, [r1, #7] 804459a: b2c9 uxtb r1, r1 804459c: 440b add r3, r1 804459e: 492c ldr r1, [pc, #176] ; (8044650 ) 80445a0: 3323 adds r3, #35 ; 0x23 80445a2: f831 3013 ldrh.w r3, [r1, r3, lsl #1] 80445a6: 1ad3 subs r3, r2, r3 80445a8: f8c7 3098 str.w r3, [r7, #152] ; 0x98 multB_u16 = i * multA_u16; 80445ac: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 80445b0: b29b uxth r3, r3 80445b2: f8b7 209e ldrh.w r2, [r7, #158] ; 0x9e 80445b6: fb12 f303 smulbb r3, r2, r3 80445ba: f8a7 3096 strh.w r3, [r7, #150] ; 0x96 if(multB_u16 >= Mpos) 80445be: 4b25 ldr r3, [pc, #148] ; (8044654 ) 80445c0: 881b ldrh r3, [r3, #0] 80445c2: b29b uxth r3, r3 80445c4: f8b7 2096 ldrh.w r2, [r7, #150] ; 0x96 80445c8: 429a cmp r2, r3 80445ca: d318 bcc.n 80445fe CURSOR = 0; 80445cc: 4b22 ldr r3, [pc, #136] ; (8044658 ) 80445ce: 2200 movs r2, #0 80445d0: 601a str r2, [r3, #0] X0 = 0; 80445d2: 4b22 ldr r3, [pc, #136] ; (804465c ) 80445d4: 2200 movs r2, #0 80445d6: 801a strh r2, [r3, #0] lX = X0; 80445d8: 4b20 ldr r3, [pc, #128] ; (804465c ) 80445da: 881b ldrh r3, [r3, #0] 80445dc: b29a uxth r2, r3 80445de: 4b20 ldr r3, [pc, #128] ; (8044660 ) 80445e0: 801a strh r2, [r3, #0] rX = k * multA_u16; 80445e2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80445e6: b29b uxth r3, r3 80445e8: f8b7 209e ldrh.w r2, [r7, #158] ; 0x9e 80445ec: fb12 f303 smulbb r3, r2, r3 80445f0: b29a uxth r2, r3 80445f2: 4b1c ldr r3, [pc, #112] ; (8044664 ) 80445f4: 801a strh r2, [r3, #0] Mpos = 0; 80445f6: 4b17 ldr r3, [pc, #92] ; (8044654 ) 80445f8: 2200 movs r2, #0 80445fa: 801a strh r2, [r3, #0] break; 80445fc: e05c b.n 80446b8 Mpos -= multB_u16; 80445fe: 4b15 ldr r3, [pc, #84] ; (8044654 ) 8044600: 881b ldrh r3, [r3, #0] 8044602: b29a uxth r2, r3 8044604: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 8044608: 1ad3 subs r3, r2, r3 804460a: b29a uxth r2, r3 804460c: 4b11 ldr r3, [pc, #68] ; (8044654 ) 804460e: 801a strh r2, [r3, #0] if(X0 > Mpos) 8044610: 4b12 ldr r3, [pc, #72] ; (804465c ) 8044612: 881b ldrh r3, [r3, #0] 8044614: b29a uxth r2, r3 8044616: 4b0f ldr r3, [pc, #60] ; (8044654 ) 8044618: 881b ldrh r3, [r3, #0] 804461a: b29b uxth r3, r3 804461c: 429a cmp r2, r3 804461e: d928 bls.n 8044672 if(Mpos >= d) 8044620: 4b0c ldr r3, [pc, #48] ; (8044654 ) 8044622: 881b ldrh r3, [r3, #0] 8044624: b29b uxth r3, r3 8044626: 461a mov r2, r3 8044628: f8d7 30bc ldr.w r3, [r7, #188] ; 0xbc 804462c: 429a cmp r2, r3 804462e: d31d bcc.n 804466c X0 -= d; 8044630: 4b0a ldr r3, [pc, #40] ; (804465c ) 8044632: 881b ldrh r3, [r3, #0] 8044634: b29a uxth r2, r3 8044636: f8d7 30bc ldr.w r3, [r7, #188] ; 0xbc 804463a: b29b uxth r3, r3 804463c: 1ad3 subs r3, r2, r3 804463e: b29a uxth r2, r3 8044640: 4b06 ldr r3, [pc, #24] ; (804465c ) 8044642: 801a strh r2, [r3, #0] 8044644: e015 b.n 8044672 8044646: bf00 nop 8044648: 20020f74 .word 0x20020f74 804464c: 20023e60 .word 0x20023e60 8044650: 080ee7f0 .word 0x080ee7f0 8044654: 20025d16 .word 0x20025d16 8044658: 2002006c .word 0x2002006c 804465c: 20025d1e .word 0x20025d1e 8044660: 20025d1a .word 0x20025d1a 8044664: 20025d20 .word 0x20025d20 8044668: 20020070 .word 0x20020070 else X0 = 0; 804466c: 4bae ldr r3, [pc, #696] ; (8044928 ) 804466e: 2200 movs r2, #0 8044670: 801a strh r2, [r3, #0] lX = X0; 8044672: 4bad ldr r3, [pc, #692] ; (8044928 ) 8044674: 881b ldrh r3, [r3, #0] 8044676: b29a uxth r2, r3 8044678: 4bac ldr r3, [pc, #688] ; (804492c ) 804467a: 801a strh r2, [r3, #0] rX = X0 + k * multA_u16; 804467c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8044680: b29b uxth r3, r3 8044682: f8b7 209e ldrh.w r2, [r7, #158] ; 0x9e 8044686: fb12 f303 smulbb r3, r2, r3 804468a: b29a uxth r2, r3 804468c: 4ba6 ldr r3, [pc, #664] ; (8044928 ) 804468e: 881b ldrh r3, [r3, #0] 8044690: b29b uxth r3, r3 8044692: 4413 add r3, r2 8044694: b29a uxth r2, r3 8044696: 4ba6 ldr r3, [pc, #664] ; (8044930 ) 8044698: 801a strh r2, [r3, #0] CURSOR = (Mpos - X0) / multA_u16; 804469a: 4ba6 ldr r3, [pc, #664] ; (8044934 ) 804469c: 881b ldrh r3, [r3, #0] 804469e: b29b uxth r3, r3 80446a0: 461a mov r2, r3 80446a2: 4ba1 ldr r3, [pc, #644] ; (8044928 ) 80446a4: 881b ldrh r3, [r3, #0] 80446a6: b29b uxth r3, r3 80446a8: 1ad2 subs r2, r2, r3 80446aa: f8b7 309e ldrh.w r3, [r7, #158] ; 0x9e 80446ae: fb92 f3f3 sdiv r3, r2, r3 80446b2: 461a mov r2, r3 80446b4: 4ba0 ldr r3, [pc, #640] ; (8044938 ) 80446b6: 601a str r2, [r3, #0] break; 80446b8: bf00 nop break; 80446ba: f001 bd95 b.w 80461e8 case MAIN_SPEC_OKT: switch(menupos) 80446be: 4b9f ldr r3, [pc, #636] ; (804493c ) 80446c0: 781b ldrb r3, [r3, #0] 80446c2: b2db uxtb r3, r3 80446c4: 2b06 cmp r3, #6 80446c6: d001 beq.n 80446cc case Cursor: if(CURSOR > 0) CURSOR--; break; } break; 80446c8: f001 bd8e b.w 80461e8 if(CURSOR > 0) 80446cc: 4b9a ldr r3, [pc, #616] ; (8044938 ) 80446ce: 681b ldr r3, [r3, #0] 80446d0: 2b00 cmp r3, #0 80446d2: d004 beq.n 80446de CURSOR--; 80446d4: 4b98 ldr r3, [pc, #608] ; (8044938 ) 80446d6: 681b ldr r3, [r3, #0] 80446d8: 3b01 subs r3, #1 80446da: 4a97 ldr r2, [pc, #604] ; (8044938 ) 80446dc: 6013 str r3, [r2, #0] break; 80446de: bf00 nop break; 80446e0: f001 bd82 b.w 80461e8 case MAIN_SPEC_THIRD: switch(menupos) 80446e4: 4b95 ldr r3, [pc, #596] ; (804493c ) 80446e6: 781b ldrb r3, [r3, #0] 80446e8: b2db uxtb r3, r3 80446ea: 2b06 cmp r3, #6 80446ec: d001 beq.n 80446f2 case Cursor: if(CURSOR > 0) CURSOR--; break; } break; 80446ee: f001 bd7b b.w 80461e8 if(CURSOR > 0) 80446f2: 4b91 ldr r3, [pc, #580] ; (8044938 ) 80446f4: 681b ldr r3, [r3, #0] 80446f6: 2b00 cmp r3, #0 80446f8: d004 beq.n 8044704 CURSOR--; 80446fa: 4b8f ldr r3, [pc, #572] ; (8044938 ) 80446fc: 681b ldr r3, [r3, #0] 80446fe: 3b01 subs r3, #1 8044700: 4a8d ldr r2, [pc, #564] ; (8044938 ) 8044702: 6013 str r3, [r2, #0] break; 8044704: bf00 nop break; 8044706: f001 bd6f b.w 80461e8 case MAIN_WAVE: switch(menupos) 804470a: 4b8c ldr r3, [pc, #560] ; (804493c ) 804470c: 781b ldrb r3, [r3, #0] 804470e: b2db uxtb r3, r3 8044710: 2b01 cmp r3, #1 8044712: d005 beq.n 8044720 8044714: 2b03 cmp r3, #3 8044716: d01d beq.n 8044754 8044718: 2b00 cmp r3, #0 804471a: d00e beq.n 804473a break; case ReadyRec: oldmenupos = ReadyRec; break; } break; 804471c: f001 bd64 b.w 80461e8 if(oldmenupos == StartStop) 8044720: 4b87 ldr r3, [pc, #540] ; (8044940 ) 8044722: 781b ldrb r3, [r3, #0] 8044724: b2db uxtb r3, r3 8044726: 2b00 cmp r3, #0 8044728: d103 bne.n 8044732 oldmenupos = StartStop; 804472a: 4b85 ldr r3, [pc, #532] ; (8044940 ) 804472c: 2200 movs r2, #0 804472e: 701a strb r2, [r3, #0] break; 8044730: e014 b.n 804475c oldmenupos = ReadyRec; 8044732: 4b83 ldr r3, [pc, #524] ; (8044940 ) 8044734: 2203 movs r2, #3 8044736: 701a strb r2, [r3, #0] break; 8044738: e010 b.n 804475c if(oldmenupos == StartStop) 804473a: 4b81 ldr r3, [pc, #516] ; (8044940 ) 804473c: 781b ldrb r3, [r3, #0] 804473e: b2db uxtb r3, r3 8044740: 2b00 cmp r3, #0 8044742: d103 bne.n 804474c oldmenupos = StartStop; 8044744: 4b7e ldr r3, [pc, #504] ; (8044940 ) 8044746: 2200 movs r2, #0 8044748: 701a strb r2, [r3, #0] break; 804474a: e007 b.n 804475c oldmenupos = ReadyRec; 804474c: 4b7c ldr r3, [pc, #496] ; (8044940 ) 804474e: 2203 movs r2, #3 8044750: 701a strb r2, [r3, #0] break; 8044752: e003 b.n 804475c oldmenupos = ReadyRec; 8044754: 4b7a ldr r3, [pc, #488] ; (8044940 ) 8044756: 2203 movs r2, #3 8044758: 701a strb r2, [r3, #0] break; 804475a: bf00 nop break; 804475c: f001 bd44 b.w 80461e8 case MAIN_SYGNAL: if(menupos == Cursor) 8044760: 4b76 ldr r3, [pc, #472] ; (804493c ) 8044762: 781b ldrb r3, [r3, #0] 8044764: b2db uxtb r3, r3 8044766: 2b06 cmp r3, #6 8044768: f041 8501 bne.w 804616e { if(CURSOR > 0) 804476c: 4b72 ldr r3, [pc, #456] ; (8044938 ) 804476e: 681b ldr r3, [r3, #0] 8044770: 2b00 cmp r3, #0 8044772: f001 84fc beq.w 804616e CURSOR--; 8044776: 4b70 ldr r3, [pc, #448] ; (8044938 ) 8044778: 681b ldr r3, [r3, #0] 804477a: 3b01 subs r3, #1 804477c: 4a6e ldr r2, [pc, #440] ; (8044938 ) 804477e: 6013 str r3, [r2, #0] } break; 8044780: f001 bcf5 b.w 804616e case OPTIONS: if(menupos == AskFormatNo) 8044784: 4b6d ldr r3, [pc, #436] ; (804493c ) 8044786: 781b ldrb r3, [r3, #0] 8044788: b2db uxtb r3, r3 804478a: 2b05 cmp r3, #5 804478c: d104 bne.n 8044798 menupos = AskFormatYes; 804478e: 4b6b ldr r3, [pc, #428] ; (804493c ) 8044790: 2206 movs r2, #6 8044792: 701a strb r2, [r3, #0] if(menupos == AskRouteNo) menupos = AskRouteYes; else if(menupos == AskRouteYes) menupos = AskRouteNo; break; 8044794: f001 bcee b.w 8046174 if(menupos == AskFormatYes) 8044798: 4b68 ldr r3, [pc, #416] ; (804493c ) 804479a: 781b ldrb r3, [r3, #0] 804479c: b2db uxtb r3, r3 804479e: 2b06 cmp r3, #6 80447a0: d104 bne.n 80447ac menupos = AskFormatNo; 80447a2: 4b66 ldr r3, [pc, #408] ; (804493c ) 80447a4: 2205 movs r2, #5 80447a6: 701a strb r2, [r3, #0] break; 80447a8: f001 bce4 b.w 8046174 if(menupos == AskRouteNo) 80447ac: 4b63 ldr r3, [pc, #396] ; (804493c ) 80447ae: 781b ldrb r3, [r3, #0] 80447b0: b2db uxtb r3, r3 80447b2: 2b09 cmp r3, #9 80447b4: d104 bne.n 80447c0 menupos = AskRouteYes; 80447b6: 4b61 ldr r3, [pc, #388] ; (804493c ) 80447b8: 220a movs r2, #10 80447ba: 701a strb r2, [r3, #0] break; 80447bc: f001 bcda b.w 8046174 if(menupos == AskRouteYes) 80447c0: 4b5e ldr r3, [pc, #376] ; (804493c ) 80447c2: 781b ldrb r3, [r3, #0] 80447c4: b2db uxtb r3, r3 80447c6: 2b0a cmp r3, #10 80447c8: f041 84d4 bne.w 8046174 menupos = AskRouteNo; 80447cc: 4b5b ldr r3, [pc, #364] ; (804493c ) 80447ce: 2209 movs r2, #9 80447d0: 701a strb r2, [r3, #0] break; 80447d2: f001 bccf b.w 8046174 case EXPLORER: if(menupos == UpNo) 80447d6: 4b59 ldr r3, [pc, #356] ; (804493c ) 80447d8: 781b ldrb r3, [r3, #0] 80447da: b2db uxtb r3, r3 80447dc: 2b06 cmp r3, #6 80447de: d104 bne.n 80447ea menupos = UpYes; 80447e0: 4b56 ldr r3, [pc, #344] ; (804493c ) 80447e2: 2207 movs r2, #7 80447e4: 701a strb r2, [r3, #0] else if(menupos == FilesPTM) { menupos = UpNo; } break; 80447e6: f001 bcc8 b.w 804617a if(menupos == UpYes) 80447ea: 4b54 ldr r3, [pc, #336] ; (804493c ) 80447ec: 781b ldrb r3, [r3, #0] 80447ee: b2db uxtb r3, r3 80447f0: 2b07 cmp r3, #7 80447f2: d104 bne.n 80447fe menupos = UpNo; 80447f4: 4b51 ldr r3, [pc, #324] ; (804493c ) 80447f6: 2206 movs r2, #6 80447f8: 701a strb r2, [r3, #0] break; 80447fa: f001 bcbe b.w 804617a if(menupos == FilesPTM) 80447fe: 4b4f ldr r3, [pc, #316] ; (804493c ) 8044800: 781b ldrb r3, [r3, #0] 8044802: b2db uxtb r3, r3 8044804: 2b02 cmp r3, #2 8044806: f041 84b8 bne.w 804617a menupos = UpNo; 804480a: 4b4c ldr r3, [pc, #304] ; (804493c ) 804480c: 2206 movs r2, #6 804480e: 701a strb r2, [r3, #0] break; 8044810: f001 bcb3 b.w 804617a case EXPLORER_DIAGN: if(menupos == UpNo) 8044814: 4b49 ldr r3, [pc, #292] ; (804493c ) 8044816: 781b ldrb r3, [r3, #0] 8044818: b2db uxtb r3, r3 804481a: 2b06 cmp r3, #6 804481c: d104 bne.n 8044828 menupos = UpYes; 804481e: 4b47 ldr r3, [pc, #284] ; (804493c ) 8044820: 2207 movs r2, #7 8044822: 701a strb r2, [r3, #0] else if(menupos == FilesDGN) { menupos = UpNo; } break; 8044824: f001 bcac b.w 8046180 if(menupos == UpYes) 8044828: 4b44 ldr r3, [pc, #272] ; (804493c ) 804482a: 781b ldrb r3, [r3, #0] 804482c: b2db uxtb r3, r3 804482e: 2b07 cmp r3, #7 8044830: d104 bne.n 804483c menupos = UpNo; 8044832: 4b42 ldr r3, [pc, #264] ; (804493c ) 8044834: 2206 movs r2, #6 8044836: 701a strb r2, [r3, #0] break; 8044838: f001 bca2 b.w 8046180 if(menupos == FilesDGN) 804483c: 4b3f ldr r3, [pc, #252] ; (804493c ) 804483e: 781b ldrb r3, [r3, #0] 8044840: b2db uxtb r3, r3 8044842: 2b02 cmp r3, #2 8044844: f041 849c bne.w 8046180 menupos = UpNo; 8044848: 4b3c ldr r3, [pc, #240] ; (804493c ) 804484a: 2206 movs r2, #6 804484c: 701a strb r2, [r3, #0] break; 804484e: f001 bc97 b.w 8046180 case INPUT_NAME_PTM: case INPUT_NAME_DGN: case INPUT_NAME_SPEC: case INPUT_NAME_GTR: case INPUT_NAME_FRN: if((menupos != _1) && (menupos != _Q) && (menupos != _A) && (menupos != _Z) && (menupos != _ENTER)) 8044852: 4b3a ldr r3, [pc, #232] ; (804493c ) 8044854: 781b ldrb r3, [r3, #0] 8044856: b2db uxtb r3, r3 8044858: 2b00 cmp r3, #0 804485a: f001 8494 beq.w 8046186 804485e: 4b37 ldr r3, [pc, #220] ; (804493c ) 8044860: 781b ldrb r3, [r3, #0] 8044862: b2db uxtb r3, r3 8044864: 2b0a cmp r3, #10 8044866: f001 848e beq.w 8046186 804486a: 4b34 ldr r3, [pc, #208] ; (804493c ) 804486c: 781b ldrb r3, [r3, #0] 804486e: b2db uxtb r3, r3 8044870: 2b14 cmp r3, #20 8044872: f001 8488 beq.w 8046186 8044876: 4b31 ldr r3, [pc, #196] ; (804493c ) 8044878: 781b ldrb r3, [r3, #0] 804487a: b2db uxtb r3, r3 804487c: 2b1e cmp r3, #30 804487e: f001 8482 beq.w 8046186 8044882: 4b2e ldr r3, [pc, #184] ; (804493c ) 8044884: 781b ldrb r3, [r3, #0] 8044886: b2db uxtb r3, r3 8044888: 2b26 cmp r3, #38 ; 0x26 804488a: f001 847c beq.w 8046186 menupos--; 804488e: 4b2b ldr r3, [pc, #172] ; (804493c ) 8044890: 781b ldrb r3, [r3, #0] 8044892: b2db uxtb r3, r3 8044894: 3b01 subs r3, #1 8044896: b2da uxtb r2, r3 8044898: 4b28 ldr r3, [pc, #160] ; (804493c ) 804489a: 701a strb r2, [r3, #0] break; 804489c: f001 bc73 b.w 8046186 case MEAS_MODE: //menupos = Ok; break; case ARCHIVE_SPEC: if(menupos == UpNo) 80448a0: 4b26 ldr r3, [pc, #152] ; (804493c ) 80448a2: 781b ldrb r3, [r3, #0] 80448a4: b2db uxtb r3, r3 80448a6: 2b06 cmp r3, #6 80448a8: d104 bne.n 80448b4 menupos = UpYes; 80448aa: 4b24 ldr r3, [pc, #144] ; (804493c ) 80448ac: 2207 movs r2, #7 80448ae: 701a strb r2, [r3, #0] else if(menupos == CleanUpResult) { } break; 80448b0: f001 bc9a b.w 80461e8 if(menupos == UpYes) 80448b4: 4b21 ldr r3, [pc, #132] ; (804493c ) 80448b6: 781b ldrb r3, [r3, #0] 80448b8: b2db uxtb r3, r3 80448ba: 2b07 cmp r3, #7 80448bc: d104 bne.n 80448c8 menupos = UpNo; 80448be: 4b1f ldr r3, [pc, #124] ; (804493c ) 80448c0: 2206 movs r2, #6 80448c2: 701a strb r2, [r3, #0] break; 80448c4: f001 bc90 b.w 80461e8 if(menupos == CleanUpResult) 80448c8: 4b1c ldr r3, [pc, #112] ; (804493c ) 80448ca: 781b ldrb r3, [r3, #0] break; 80448cc: f001 bc8c b.w 80461e8 case ARCHIVE_FRAN: if(menupos == UpNo) 80448d0: 4b1a ldr r3, [pc, #104] ; (804493c ) 80448d2: 781b ldrb r3, [r3, #0] 80448d4: b2db uxtb r3, r3 80448d6: 2b06 cmp r3, #6 80448d8: d104 bne.n 80448e4 menupos = UpYes; 80448da: 4b18 ldr r3, [pc, #96] ; (804493c ) 80448dc: 2207 movs r2, #7 80448de: 701a strb r2, [r3, #0] else { menu = ARCHIVE; menupos = ArchiveFran; } break; 80448e0: f001 bc54 b.w 804618c if(menupos == UpYes) 80448e4: 4b15 ldr r3, [pc, #84] ; (804493c ) 80448e6: 781b ldrb r3, [r3, #0] 80448e8: b2db uxtb r3, r3 80448ea: 2b07 cmp r3, #7 80448ec: d104 bne.n 80448f8 menupos = UpNo; 80448ee: 4b13 ldr r3, [pc, #76] ; (804493c ) 80448f0: 2206 movs r2, #6 80448f2: 701a strb r2, [r3, #0] break; 80448f4: f001 bc4a b.w 804618c if(menupos == CleanUpResult) 80448f8: 4b10 ldr r3, [pc, #64] ; (804493c ) 80448fa: 781b ldrb r3, [r3, #0] 80448fc: b2db uxtb r3, r3 80448fe: 2b0a cmp r3, #10 8044900: f001 8444 beq.w 804618c menu = ARCHIVE; 8044904: 4b0f ldr r3, [pc, #60] ; (8044944 ) 8044906: 2214 movs r2, #20 8044908: 701a strb r2, [r3, #0] menupos = ArchiveFran; 804490a: 4b0c ldr r3, [pc, #48] ; (804493c ) 804490c: 2201 movs r2, #1 804490e: 701a strb r2, [r3, #0] break; 8044910: f001 bc3c b.w 804618c case ARCHIVE_WAVE: if(menupos == UpNo) 8044914: 4b09 ldr r3, [pc, #36] ; (804493c ) 8044916: 781b ldrb r3, [r3, #0] 8044918: b2db uxtb r3, r3 804491a: 2b06 cmp r3, #6 804491c: d114 bne.n 8044948 menupos = UpYes; 804491e: 4b07 ldr r3, [pc, #28] ; (804493c ) 8044920: 2207 movs r2, #7 8044922: 701a strb r2, [r3, #0] else { /*menu = ARCHIVE; menupos = ArchiveWave;*/ } break; 8044924: f001 bc35 b.w 8046192 8044928: 20025d1e .word 0x20025d1e 804492c: 20025d1a .word 0x20025d1a 8044930: 20025d20 .word 0x20025d20 8044934: 20025d16 .word 0x20025d16 8044938: 2002006c .word 0x2002006c 804493c: 20020070 .word 0x20020070 8044940: 20020f7a .word 0x20020f7a 8044944: 20020f78 .word 0x20020f78 if(menupos == UpYes) 8044948: 4bb8 ldr r3, [pc, #736] ; (8044c2c ) 804494a: 781b ldrb r3, [r3, #0] 804494c: b2db uxtb r3, r3 804494e: 2b07 cmp r3, #7 8044950: d104 bne.n 804495c menupos = UpNo; 8044952: 4bb6 ldr r3, [pc, #728] ; (8044c2c ) 8044954: 2206 movs r2, #6 8044956: 701a strb r2, [r3, #0] break; 8044958: f001 bc1b b.w 8046192 if(menupos == FilesGTR) 804495c: 4bb3 ldr r3, [pc, #716] ; (8044c2c ) 804495e: 781b ldrb r3, [r3, #0] 8044960: b2db uxtb r3, r3 8044962: 2b02 cmp r3, #2 8044964: f041 8415 bne.w 8046192 if(NumFilesDelete != 0) { 8044968: 4bb1 ldr r3, [pc, #708] ; (8044c30 ) 804496a: 681b ldr r3, [r3, #0] 804496c: 2b00 cmp r3, #0 804496e: f001 8410 beq.w 8046192 menupos = UpNo; 8044972: 4bae ldr r3, [pc, #696] ; (8044c2c ) 8044974: 2206 movs r2, #6 8044976: 701a strb r2, [r3, #0] break; 8044978: f001 bc0b b.w 8046192 case ROUTE: if(menupos == UpNo) 804497c: 4bab ldr r3, [pc, #684] ; (8044c2c ) 804497e: 781b ldrb r3, [r3, #0] 8044980: b2db uxtb r3, r3 8044982: 2b06 cmp r3, #6 8044984: d104 bne.n 8044990 menupos = UpYes; 8044986: 4ba9 ldr r3, [pc, #676] ; (8044c2c ) 8044988: 2207 movs r2, #7 804498a: 701a strb r2, [r3, #0] } } else { } break; 804498c: f001 bc04 b.w 8046198 if(menupos == UpYes) 8044990: 4ba6 ldr r3, [pc, #664] ; (8044c2c ) 8044992: 781b ldrb r3, [r3, #0] 8044994: b2db uxtb r3, r3 8044996: 2b07 cmp r3, #7 8044998: d104 bne.n 80449a4 menupos = UpNo; 804499a: 4ba4 ldr r3, [pc, #656] ; (8044c2c ) 804499c: 2206 movs r2, #6 804499e: 701a strb r2, [r3, #0] break; 80449a0: f001 bbfa b.w 8046198 if(menupos == FilesCSV) 80449a4: 4ba1 ldr r3, [pc, #644] ; (8044c2c ) 80449a6: 781b ldrb r3, [r3, #0] 80449a8: b2db uxtb r3, r3 80449aa: 2b02 cmp r3, #2 80449ac: f041 83f4 bne.w 8046198 if(NumFilesDelete != 0) { 80449b0: 4b9f ldr r3, [pc, #636] ; (8044c30 ) 80449b2: 681b ldr r3, [r3, #0] 80449b4: 2b00 cmp r3, #0 80449b6: f001 83ef beq.w 8046198 menupos = UpNo; 80449ba: 4b9c ldr r3, [pc, #624] ; (8044c2c ) 80449bc: 2206 movs r2, #6 80449be: 701a strb r2, [r3, #0] break; 80449c0: f001 bbea b.w 8046198 case PARAM_UDAR: switch(menupos) 80449c4: 4b99 ldr r3, [pc, #612] ; (8044c2c ) 80449c6: 781b ldrb r3, [r3, #0] 80449c8: b2db uxtb r3, r3 80449ca: 3b03 subs r3, #3 80449cc: 2b09 cmp r3, #9 80449ce: d83f bhi.n 8044a50 80449d0: a201 add r2, pc, #4 ; (adr r2, 80449d8 ) 80449d2: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80449d6: bf00 nop 80449d8: 08044a01 .word 0x08044a01 80449dc: 08044a09 .word 0x08044a09 80449e0: 08044a11 .word 0x08044a11 80449e4: 08044a19 .word 0x08044a19 80449e8: 08044a21 .word 0x08044a21 80449ec: 08044a29 .word 0x08044a29 80449f0: 08044a31 .word 0x08044a31 80449f4: 08044a39 .word 0x08044a39 80449f8: 08044a41 .word 0x08044a41 80449fc: 08044a49 .word 0x08044a49 { case UdarRate_IET: menupos = UdarRate_IEE; break; 8044a00: 4b8a ldr r3, [pc, #552] ; (8044c2c ) 8044a02: 2206 movs r2, #6 8044a04: 701a strb r2, [r3, #0] 8044a06: e027 b.n 8044a58 case UdarRate_IES: menupos = UdarRate_IET; break; 8044a08: 4b88 ldr r3, [pc, #544] ; (8044c2c ) 8044a0a: 2203 movs r2, #3 8044a0c: 701a strb r2, [r3, #0] 8044a0e: e023 b.n 8044a58 case UdarRate_IED: menupos = UdarRate_IES; break; 8044a10: 4b86 ldr r3, [pc, #536] ; (8044c2c ) 8044a12: 2204 movs r2, #4 8044a14: 701a strb r2, [r3, #0] 8044a16: e01f b.n 8044a58 case UdarRate_IEE: menupos = UdarRate_IED; break; 8044a18: 4b84 ldr r3, [pc, #528] ; (8044c2c ) 8044a1a: 2205 movs r2, #5 8044a1c: 701a strb r2, [r3, #0] 8044a1e: e01b b.n 8044a58 case UdarInner_IES: menupos = UdarInner_IKT; break; 8044a20: 4b82 ldr r3, [pc, #520] ; (8044c2c ) 8044a22: 220c movs r2, #12 8044a24: 701a strb r2, [r3, #0] 8044a26: e017 b.n 8044a58 case UdarInner_IED: menupos = UdarInner_IES; break; 8044a28: 4b80 ldr r3, [pc, #512] ; (8044c2c ) 8044a2a: 2207 movs r2, #7 8044a2c: 701a strb r2, [r3, #0] 8044a2e: e013 b.n 8044a58 case UdarInner_IEE: menupos = UdarInner_IED; break; 8044a30: 4b7e ldr r3, [pc, #504] ; (8044c2c ) 8044a32: 2208 movs r2, #8 8044a34: 701a strb r2, [r3, #0] 8044a36: e00f b.n 8044a58 case UdarInner_IKD: menupos = UdarInner_IEE; break; 8044a38: 4b7c ldr r3, [pc, #496] ; (8044c2c ) 8044a3a: 2209 movs r2, #9 8044a3c: 701a strb r2, [r3, #0] 8044a3e: e00b b.n 8044a58 case UdarInner_IKS: menupos = UdarInner_IKD; break; 8044a40: 4b7a ldr r3, [pc, #488] ; (8044c2c ) 8044a42: 220a movs r2, #10 8044a44: 701a strb r2, [r3, #0] 8044a46: e007 b.n 8044a58 case UdarInner_IKT: menupos = UdarInner_IKS; break; 8044a48: 4b78 ldr r3, [pc, #480] ; (8044c2c ) 8044a4a: 220b movs r2, #11 8044a4c: 701a strb r2, [r3, #0] 8044a4e: e003 b.n 8044a58 default: menupos = Ok; 8044a50: 4b76 ldr r3, [pc, #472] ; (8044c2c ) 8044a52: 2200 movs r2, #0 8044a54: 701a strb r2, [r3, #0] break; 8044a56: bf00 nop } break; 8044a58: f001 bbc6 b.w 80461e8 case PARAM_ROLL: switch(menupos) 8044a5c: 4b73 ldr r3, [pc, #460] ; (8044c2c ) 8044a5e: 781b ldrb r3, [r3, #0] 8044a60: b2db uxtb r3, r3 8044a62: 3b01 subs r3, #1 8044a64: 2b2a cmp r3, #42 ; 0x2a 8044a66: f201 839a bhi.w 804619e 8044a6a: a201 add r2, pc, #4 ; (adr r2, 8044a70 ) 8044a6c: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8044a70: 08044c35 .word 0x08044c35 8044a74: 08044c9f .word 0x08044c9f 8044a78: 08044c9f .word 0x08044c9f 8044a7c: 08044c9f .word 0x08044c9f 8044a80: 08044c9f .word 0x08044c9f 8044a84: 08044c6b .word 0x08044c6b 8044a88: 08044c9f .word 0x08044c9f 8044a8c: 08044c9f .word 0x08044c9f 8044a90: 08044c9f .word 0x08044c9f 8044a94: 08044b3d .word 0x08044b3d 8044a98: 08044b45 .word 0x08044b45 8044a9c: 08044b4d .word 0x08044b4d 8044aa0: 08044b55 .word 0x08044b55 8044aa4: 08044b5d .word 0x08044b5d 8044aa8: 08044b65 .word 0x08044b65 8044aac: 08044b6d .word 0x08044b6d 8044ab0: 08044b75 .word 0x08044b75 8044ab4: 08044b7d .word 0x08044b7d 8044ab8: 08044b85 .word 0x08044b85 8044abc: 08044b8d .word 0x08044b8d 8044ac0: 08044b95 .word 0x08044b95 8044ac4: 08044b9d .word 0x08044b9d 8044ac8: 08044ba5 .word 0x08044ba5 8044acc: 08044bad .word 0x08044bad 8044ad0: 08044bb5 .word 0x08044bb5 8044ad4: 08044bbd .word 0x08044bbd 8044ad8: 08044bc5 .word 0x08044bc5 8044adc: 08044bcd .word 0x08044bcd 8044ae0: 08044bd5 .word 0x08044bd5 8044ae4: 08044bdd .word 0x08044bdd 8044ae8: 08044be5 .word 0x08044be5 8044aec: 08044bed .word 0x08044bed 8044af0: 08044bf5 .word 0x08044bf5 8044af4: 08044b1d .word 0x08044b1d 8044af8: 08044b25 .word 0x08044b25 8044afc: 08044b2d .word 0x08044b2d 8044b00: 08044b35 .word 0x08044b35 8044b04: 08044bfd .word 0x08044bfd 8044b08: 08044c25 .word 0x08044c25 8044b0c: 08044c1d .word 0x08044c1d 8044b10: 08044c15 .word 0x08044c15 8044b14: 08044c0d .word 0x08044c0d 8044b18: 08044c05 .word 0x08044c05 { case D_Rate_IET: menupos = D_Rate_IEE; break; 8044b1c: 4b43 ldr r3, [pc, #268] ; (8044c2c ) 8044b1e: 2225 movs r2, #37 ; 0x25 8044b20: 701a strb r2, [r3, #0] 8044b22: e0c0 b.n 8044ca6 case D_Rate_IES: menupos = D_Rate_IET; break; 8044b24: 4b41 ldr r3, [pc, #260] ; (8044c2c ) 8044b26: 2222 movs r2, #34 ; 0x22 8044b28: 701a strb r2, [r3, #0] 8044b2a: e0bc b.n 8044ca6 case D_Rate_IED: menupos = D_Rate_IES; break; 8044b2c: 4b3f ldr r3, [pc, #252] ; (8044c2c ) 8044b2e: 2223 movs r2, #35 ; 0x23 8044b30: 701a strb r2, [r3, #0] 8044b32: e0b8 b.n 8044ca6 case D_Rate_IEE: menupos = D_Rate_IED; break; 8044b34: 4b3d ldr r3, [pc, #244] ; (8044c2c ) 8044b36: 2224 movs r2, #36 ; 0x24 8044b38: 701a strb r2, [r3, #0] 8044b3a: e0b4 b.n 8044ca6 case D_Roll_IES: menupos = D_Roll_IKT; break; 8044b3c: 4b3b ldr r3, [pc, #236] ; (8044c2c ) 8044b3e: 220f movs r2, #15 8044b40: 701a strb r2, [r3, #0] 8044b42: e0b0 b.n 8044ca6 case D_Roll_IED: menupos = D_Roll_IES; break; 8044b44: 4b39 ldr r3, [pc, #228] ; (8044c2c ) 8044b46: 220a movs r2, #10 8044b48: 701a strb r2, [r3, #0] 8044b4a: e0ac b.n 8044ca6 case D_Roll_IEE: menupos = D_Roll_IED; break; 8044b4c: 4b37 ldr r3, [pc, #220] ; (8044c2c ) 8044b4e: 220b movs r2, #11 8044b50: 701a strb r2, [r3, #0] 8044b52: e0a8 b.n 8044ca6 case D_Roll_IKD: menupos = D_Roll_IEE; break; 8044b54: 4b35 ldr r3, [pc, #212] ; (8044c2c ) 8044b56: 220c movs r2, #12 8044b58: 701a strb r2, [r3, #0] 8044b5a: e0a4 b.n 8044ca6 case D_Roll_IKS: menupos = D_Roll_IKD; break; 8044b5c: 4b33 ldr r3, [pc, #204] ; (8044c2c ) 8044b5e: 220d movs r2, #13 8044b60: 701a strb r2, [r3, #0] 8044b62: e0a0 b.n 8044ca6 case D_Roll_IKT: menupos = D_Roll_IKS; break; 8044b64: 4b31 ldr r3, [pc, #196] ; (8044c2c ) 8044b66: 220e movs r2, #14 8044b68: 701a strb r2, [r3, #0] 8044b6a: e09c b.n 8044ca6 case D_Outer_IES: menupos = D_Outer_IKT; break; 8044b6c: 4b2f ldr r3, [pc, #188] ; (8044c2c ) 8044b6e: 2215 movs r2, #21 8044b70: 701a strb r2, [r3, #0] 8044b72: e098 b.n 8044ca6 case D_Outer_IED: menupos = D_Outer_IES; break; 8044b74: 4b2d ldr r3, [pc, #180] ; (8044c2c ) 8044b76: 2210 movs r2, #16 8044b78: 701a strb r2, [r3, #0] 8044b7a: e094 b.n 8044ca6 case D_Outer_IEE: menupos = D_Outer_IED; break; 8044b7c: 4b2b ldr r3, [pc, #172] ; (8044c2c ) 8044b7e: 2211 movs r2, #17 8044b80: 701a strb r2, [r3, #0] 8044b82: e090 b.n 8044ca6 case D_Outer_IKD: menupos = D_Outer_IEE; break; 8044b84: 4b29 ldr r3, [pc, #164] ; (8044c2c ) 8044b86: 2212 movs r2, #18 8044b88: 701a strb r2, [r3, #0] 8044b8a: e08c b.n 8044ca6 case D_Outer_IKS: menupos = D_Outer_IKD; break; 8044b8c: 4b27 ldr r3, [pc, #156] ; (8044c2c ) 8044b8e: 2213 movs r2, #19 8044b90: 701a strb r2, [r3, #0] 8044b92: e088 b.n 8044ca6 case D_Outer_IKT: menupos = D_Outer_IKS; break; 8044b94: 4b25 ldr r3, [pc, #148] ; (8044c2c ) 8044b96: 2214 movs r2, #20 8044b98: 701a strb r2, [r3, #0] 8044b9a: e084 b.n 8044ca6 case D_Inner_IES: menupos = D_Inner_IKT; break; 8044b9c: 4b23 ldr r3, [pc, #140] ; (8044c2c ) 8044b9e: 221b movs r2, #27 8044ba0: 701a strb r2, [r3, #0] 8044ba2: e080 b.n 8044ca6 case D_Inner_IED: menupos = D_Inner_IES; break; 8044ba4: 4b21 ldr r3, [pc, #132] ; (8044c2c ) 8044ba6: 2216 movs r2, #22 8044ba8: 701a strb r2, [r3, #0] 8044baa: e07c b.n 8044ca6 case D_Inner_IEE: menupos = D_Inner_IED; break; 8044bac: 4b1f ldr r3, [pc, #124] ; (8044c2c ) 8044bae: 2217 movs r2, #23 8044bb0: 701a strb r2, [r3, #0] 8044bb2: e078 b.n 8044ca6 case D_Inner_IKD: menupos = D_Inner_IEE; break; 8044bb4: 4b1d ldr r3, [pc, #116] ; (8044c2c ) 8044bb6: 2218 movs r2, #24 8044bb8: 701a strb r2, [r3, #0] 8044bba: e074 b.n 8044ca6 case D_Inner_IKS: menupos = D_Inner_IKD; break; 8044bbc: 4b1b ldr r3, [pc, #108] ; (8044c2c ) 8044bbe: 2219 movs r2, #25 8044bc0: 701a strb r2, [r3, #0] 8044bc2: e070 b.n 8044ca6 case D_Inner_IKT: menupos = D_Inner_IKS; break; 8044bc4: 4b19 ldr r3, [pc, #100] ; (8044c2c ) 8044bc6: 221a movs r2, #26 8044bc8: 701a strb r2, [r3, #0] 8044bca: e06c b.n 8044ca6 case D_Angle_IES: menupos = D_Angle_IKT; break; 8044bcc: 4b17 ldr r3, [pc, #92] ; (8044c2c ) 8044bce: 2221 movs r2, #33 ; 0x21 8044bd0: 701a strb r2, [r3, #0] 8044bd2: e068 b.n 8044ca6 case D_Angle_IED: menupos = D_Angle_IES; break; 8044bd4: 4b15 ldr r3, [pc, #84] ; (8044c2c ) 8044bd6: 221c movs r2, #28 8044bd8: 701a strb r2, [r3, #0] 8044bda: e064 b.n 8044ca6 case D_Angle_IEE: menupos = D_Angle_IED; break; 8044bdc: 4b13 ldr r3, [pc, #76] ; (8044c2c ) 8044bde: 221d movs r2, #29 8044be0: 701a strb r2, [r3, #0] 8044be2: e060 b.n 8044ca6 case D_Angle_IKD: menupos = D_Angle_IEE; break; 8044be4: 4b11 ldr r3, [pc, #68] ; (8044c2c ) 8044be6: 221e movs r2, #30 8044be8: 701a strb r2, [r3, #0] 8044bea: e05c b.n 8044ca6 case D_Angle_IKS: menupos = D_Angle_IKD; break; 8044bec: 4b0f ldr r3, [pc, #60] ; (8044c2c ) 8044bee: 221f movs r2, #31 8044bf0: 701a strb r2, [r3, #0] 8044bf2: e058 b.n 8044ca6 case D_Angle_IKT: menupos = D_Angle_IKS; break; 8044bf4: 4b0d ldr r3, [pc, #52] ; (8044c2c ) 8044bf6: 2220 movs r2, #32 8044bf8: 701a strb r2, [r3, #0] 8044bfa: e054 b.n 8044ca6 case RollMax_IDT: menupos = RollMax_IKD; break; 8044bfc: 4b0b ldr r3, [pc, #44] ; (8044c2c ) 8044bfe: 222b movs r2, #43 ; 0x2b 8044c00: 701a strb r2, [r3, #0] 8044c02: e050 b.n 8044ca6 case RollMax_IKD: menupos = RollMax_IEE; break; 8044c04: 4b09 ldr r3, [pc, #36] ; (8044c2c ) 8044c06: 222a movs r2, #42 ; 0x2a 8044c08: 701a strb r2, [r3, #0] 8044c0a: e04c b.n 8044ca6 case RollMax_IEE: menupos = RollMax_IED; break; 8044c0c: 4b07 ldr r3, [pc, #28] ; (8044c2c ) 8044c0e: 2229 movs r2, #41 ; 0x29 8044c10: 701a strb r2, [r3, #0] 8044c12: e048 b.n 8044ca6 case RollMax_IED: menupos = RollMax_IES; break; 8044c14: 4b05 ldr r3, [pc, #20] ; (8044c2c ) 8044c16: 2228 movs r2, #40 ; 0x28 8044c18: 701a strb r2, [r3, #0] 8044c1a: e044 b.n 8044ca6 case RollMax_IES: menupos = RollMax_IET; break; 8044c1c: 4b03 ldr r3, [pc, #12] ; (8044c2c ) 8044c1e: 2227 movs r2, #39 ; 0x27 8044c20: 701a strb r2, [r3, #0] 8044c22: e040 b.n 8044ca6 case RollMax_IET: menupos = RollMax_IDT; break; 8044c24: 4b01 ldr r3, [pc, #4] ; (8044c2c ) 8044c26: 2226 movs r2, #38 ; 0x26 8044c28: 701a strb r2, [r3, #0] 8044c2a: e03c b.n 8044ca6 8044c2c: 20020070 .word 0x20020070 8044c30: 20020e0c .word 0x20020e0c case RollCount: if(focused) 8044c34: 4ba3 ldr r3, [pc, #652] ; (8044ec4 ) 8044c36: 781b ldrb r3, [r3, #0] 8044c38: b2db uxtb r3, r3 8044c3a: 2b00 cmp r3, #0 8044c3c: d011 beq.n 8044c62 { if(pardata.ROLL_COUNT > 5) pardata.ROLL_COUNT--; 8044c3e: 4ba2 ldr r3, [pc, #648] ; (8044ec8 ) 8044c40: f8d3 30bc ldr.w r3, [r3, #188] ; 0xbc 8044c44: 2b05 cmp r3, #5 8044c46: d907 bls.n 8044c58 8044c48: 4b9f ldr r3, [pc, #636] ; (8044ec8 ) 8044c4a: f8d3 30bc ldr.w r3, [r3, #188] ; 0xbc 8044c4e: 3b01 subs r3, #1 8044c50: 4a9d ldr r2, [pc, #628] ; (8044ec8 ) 8044c52: f8c2 30bc str.w r3, [r2, #188] ; 0xbc else pardata.ROLL_COUNT = 99; } else menupos = Ok; break; 8044c56: e026 b.n 8044ca6 else pardata.ROLL_COUNT = 99; 8044c58: 4b9b ldr r3, [pc, #620] ; (8044ec8 ) 8044c5a: 2263 movs r2, #99 ; 0x63 8044c5c: f8c3 20bc str.w r2, [r3, #188] ; 0xbc break; 8044c60: e021 b.n 8044ca6 menupos = Ok; 8044c62: 4b9a ldr r3, [pc, #616] ; (8044ecc ) 8044c64: 2200 movs r2, #0 8044c66: 701a strb r2, [r3, #0] break; 8044c68: e01d b.n 8044ca6 case RollAverage: if(focused) 8044c6a: 4b96 ldr r3, [pc, #600] ; (8044ec4 ) 8044c6c: 781b ldrb r3, [r3, #0] 8044c6e: b2db uxtb r3, r3 8044c70: 2b00 cmp r3, #0 8044c72: d010 beq.n 8044c96 { if(pardata.AVG > AVG1) pardata.AVG--; 8044c74: 4b94 ldr r3, [pc, #592] ; (8044ec8 ) 8044c76: 7b5b ldrb r3, [r3, #13] 8044c78: b2db uxtb r3, r3 8044c7a: 2b00 cmp r3, #0 8044c7c: d007 beq.n 8044c8e 8044c7e: 4b92 ldr r3, [pc, #584] ; (8044ec8 ) 8044c80: 7b5b ldrb r3, [r3, #13] 8044c82: b2db uxtb r3, r3 8044c84: 3b01 subs r3, #1 8044c86: b2da uxtb r2, r3 8044c88: 4b8f ldr r3, [pc, #572] ; (8044ec8 ) 8044c8a: 735a strb r2, [r3, #13] else pardata.AVG = AVG512; } else menupos = Ok; break; 8044c8c: e00b b.n 8044ca6 else pardata.AVG = AVG512; 8044c8e: 4b8e ldr r3, [pc, #568] ; (8044ec8 ) 8044c90: 2209 movs r2, #9 8044c92: 735a strb r2, [r3, #13] break; 8044c94: e007 b.n 8044ca6 menupos = Ok; 8044c96: 4b8d ldr r3, [pc, #564] ; (8044ecc ) 8044c98: 2200 movs r2, #0 8044c9a: 701a strb r2, [r3, #0] break; 8044c9c: e003 b.n 8044ca6 case D_Inner: case D_Outer: case D_Angle: case RollAutoKu: case RollMax_ALL: menupos = Ok; 8044c9e: 4b8b ldr r3, [pc, #556] ; (8044ecc ) 8044ca0: 2200 movs r2, #0 8044ca2: 701a strb r2, [r3, #0] break; 8044ca4: bf00 nop } break; 8044ca6: f001 ba7a b.w 804619e case PARAM_VIB: switch(menupos) 8044caa: 4b88 ldr r3, [pc, #544] ; (8044ecc ) 8044cac: 781b ldrb r3, [r3, #0] 8044cae: b2db uxtb r3, r3 8044cb0: 3b02 subs r3, #2 8044cb2: 2b22 cmp r3, #34 ; 0x22 8044cb4: f201 8276 bhi.w 80461a4 8044cb8: a201 add r2, pc, #4 ; (adr r2, 8044cc0 ) 8044cba: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8044cbe: bf00 nop 8044cc0: 08044ddd .word 0x08044ddd 8044cc4: 08044e11 .word 0x08044e11 8044cc8: 08044e45 .word 0x08044e45 8044ccc: 08044e79 .word 0x08044e79 8044cd0: 08044eb9 .word 0x08044eb9 8044cd4: 08044eb9 .word 0x08044eb9 8044cd8: 08044eb9 .word 0x08044eb9 8044cdc: 08044eb9 .word 0x08044eb9 8044ce0: 08044ead .word 0x08044ead 8044ce4: 08044d4d .word 0x08044d4d 8044ce8: 08044d75 .word 0x08044d75 8044cec: 08044d6d .word 0x08044d6d 8044cf0: 08044d65 .word 0x08044d65 8044cf4: 08044d5d .word 0x08044d5d 8044cf8: 08044d55 .word 0x08044d55 8044cfc: 080461a5 .word 0x080461a5 8044d00: 080461a5 .word 0x080461a5 8044d04: 080461a5 .word 0x080461a5 8044d08: 080461a5 .word 0x080461a5 8044d0c: 080461a5 .word 0x080461a5 8044d10: 080461a5 .word 0x080461a5 8044d14: 08044eb9 .word 0x08044eb9 8044d18: 08044eb9 .word 0x08044eb9 8044d1c: 08044d7d .word 0x08044d7d 8044d20: 08044da5 .word 0x08044da5 8044d24: 08044d9d .word 0x08044d9d 8044d28: 08044d95 .word 0x08044d95 8044d2c: 08044d8d .word 0x08044d8d 8044d30: 08044d85 .word 0x08044d85 8044d34: 08044dad .word 0x08044dad 8044d38: 08044dd5 .word 0x08044dd5 8044d3c: 08044dcd .word 0x08044dcd 8044d40: 08044dc5 .word 0x08044dc5 8044d44: 08044dbd .word 0x08044dbd 8044d48: 08044db5 .word 0x08044db5 { case VibMax_IDT: menupos = VibMax_IKD; break; 8044d4c: 4b5f ldr r3, [pc, #380] ; (8044ecc ) 8044d4e: 2210 movs r2, #16 8044d50: 701a strb r2, [r3, #0] 8044d52: e0b5 b.n 8044ec0 case VibMax_IKD: menupos = VibMax_IEE; break; 8044d54: 4b5d ldr r3, [pc, #372] ; (8044ecc ) 8044d56: 220f movs r2, #15 8044d58: 701a strb r2, [r3, #0] 8044d5a: e0b1 b.n 8044ec0 case VibMax_IEE: menupos = VibMax_IED; break; 8044d5c: 4b5b ldr r3, [pc, #364] ; (8044ecc ) 8044d5e: 220e movs r2, #14 8044d60: 701a strb r2, [r3, #0] 8044d62: e0ad b.n 8044ec0 case VibMax_IED: menupos = VibMax_IES; break; 8044d64: 4b59 ldr r3, [pc, #356] ; (8044ecc ) 8044d66: 220d movs r2, #13 8044d68: 701a strb r2, [r3, #0] 8044d6a: e0a9 b.n 8044ec0 case VibMax_IES: menupos = VibMax_IET; break; 8044d6c: 4b57 ldr r3, [pc, #348] ; (8044ecc ) 8044d6e: 220c movs r2, #12 8044d70: 701a strb r2, [r3, #0] 8044d72: e0a5 b.n 8044ec0 case VibMax_IET: menupos = VibMax_IDT; break; 8044d74: 4b55 ldr r3, [pc, #340] ; (8044ecc ) 8044d76: 220b movs r2, #11 8044d78: 701a strb r2, [r3, #0] 8044d7a: e0a1 b.n 8044ec0 case FilterHP_IDT: menupos = FilterHP_IKD; break; 8044d7c: 4b53 ldr r3, [pc, #332] ; (8044ecc ) 8044d7e: 221e movs r2, #30 8044d80: 701a strb r2, [r3, #0] 8044d82: e09d b.n 8044ec0 case FilterHP_IKD: menupos = FilterHP_IEE; break; 8044d84: 4b51 ldr r3, [pc, #324] ; (8044ecc ) 8044d86: 221d movs r2, #29 8044d88: 701a strb r2, [r3, #0] 8044d8a: e099 b.n 8044ec0 case FilterHP_IEE: menupos = FilterHP_IED; break; 8044d8c: 4b4f ldr r3, [pc, #316] ; (8044ecc ) 8044d8e: 221c movs r2, #28 8044d90: 701a strb r2, [r3, #0] 8044d92: e095 b.n 8044ec0 case FilterHP_IED: menupos = FilterHP_IES; break; 8044d94: 4b4d ldr r3, [pc, #308] ; (8044ecc ) 8044d96: 221b movs r2, #27 8044d98: 701a strb r2, [r3, #0] 8044d9a: e091 b.n 8044ec0 case FilterHP_IES: menupos = FilterHP_IET; break; 8044d9c: 4b4b ldr r3, [pc, #300] ; (8044ecc ) 8044d9e: 221a movs r2, #26 8044da0: 701a strb r2, [r3, #0] 8044da2: e08d b.n 8044ec0 case FilterHP_IET: menupos = FilterHP_IDT; break; 8044da4: 4b49 ldr r3, [pc, #292] ; (8044ecc ) 8044da6: 2219 movs r2, #25 8044da8: 701a strb r2, [r3, #0] 8044daa: e089 b.n 8044ec0 case FilterLP_IDT: menupos = FilterLP_IKD; break; 8044dac: 4b47 ldr r3, [pc, #284] ; (8044ecc ) 8044dae: 2224 movs r2, #36 ; 0x24 8044db0: 701a strb r2, [r3, #0] 8044db2: e085 b.n 8044ec0 case FilterLP_IKD: menupos = FilterLP_IEE; break; 8044db4: 4b45 ldr r3, [pc, #276] ; (8044ecc ) 8044db6: 2223 movs r2, #35 ; 0x23 8044db8: 701a strb r2, [r3, #0] 8044dba: e081 b.n 8044ec0 case FilterLP_IEE: menupos = FilterLP_IED; break; 8044dbc: 4b43 ldr r3, [pc, #268] ; (8044ecc ) 8044dbe: 2222 movs r2, #34 ; 0x22 8044dc0: 701a strb r2, [r3, #0] 8044dc2: e07d b.n 8044ec0 case FilterLP_IED: menupos = FilterLP_IES; break; 8044dc4: 4b41 ldr r3, [pc, #260] ; (8044ecc ) 8044dc6: 2221 movs r2, #33 ; 0x21 8044dc8: 701a strb r2, [r3, #0] 8044dca: e079 b.n 8044ec0 case FilterLP_IES: menupos = FilterLP_IET; break; 8044dcc: 4b3f ldr r3, [pc, #252] ; (8044ecc ) 8044dce: 2220 movs r2, #32 8044dd0: 701a strb r2, [r3, #0] 8044dd2: e075 b.n 8044ec0 case FilterLP_IET: menupos = FilterLP_IDT; break; 8044dd4: 4b3d ldr r3, [pc, #244] ; (8044ecc ) 8044dd6: 221f movs r2, #31 8044dd8: 701a strb r2, [r3, #0] 8044dda: e071 b.n 8044ec0 case ValueA: if(focused) 8044ddc: 4b39 ldr r3, [pc, #228] ; (8044ec4 ) 8044dde: 781b ldrb r3, [r3, #0] 8044de0: b2db uxtb r3, r3 8044de2: 2b00 cmp r3, #0 8044de4: d010 beq.n 8044e08 { if(pardata.IVS[ACC] > PEAK) pardata.IVS[ACC]--; 8044de6: 4b38 ldr r3, [pc, #224] ; (8044ec8 ) 8044de8: 789b ldrb r3, [r3, #2] 8044dea: b2db uxtb r3, r3 8044dec: 2b00 cmp r3, #0 8044dee: d007 beq.n 8044e00 8044df0: 4b35 ldr r3, [pc, #212] ; (8044ec8 ) 8044df2: 789b ldrb r3, [r3, #2] 8044df4: b2db uxtb r3, r3 8044df6: 3b01 subs r3, #1 8044df8: b2da uxtb r2, r3 8044dfa: 4b33 ldr r3, [pc, #204] ; (8044ec8 ) 8044dfc: 709a strb r2, [r3, #2] else pardata.IVS[ACC] = EXCESS; } else menupos = Ok; break; 8044dfe: e05f b.n 8044ec0 else pardata.IVS[ACC] = EXCESS; 8044e00: 4b31 ldr r3, [pc, #196] ; (8044ec8 ) 8044e02: 2204 movs r2, #4 8044e04: 709a strb r2, [r3, #2] break; 8044e06: e05b b.n 8044ec0 menupos = Ok; 8044e08: 4b30 ldr r3, [pc, #192] ; (8044ecc ) 8044e0a: 2200 movs r2, #0 8044e0c: 701a strb r2, [r3, #0] break; 8044e0e: e057 b.n 8044ec0 case ValueV: if(focused) 8044e10: 4b2c ldr r3, [pc, #176] ; (8044ec4 ) 8044e12: 781b ldrb r3, [r3, #0] 8044e14: b2db uxtb r3, r3 8044e16: 2b00 cmp r3, #0 8044e18: d010 beq.n 8044e3c { if(pardata.IVS[VEL] > PEAK) pardata.IVS[VEL]--; 8044e1a: 4b2b ldr r3, [pc, #172] ; (8044ec8 ) 8044e1c: 78db ldrb r3, [r3, #3] 8044e1e: b2db uxtb r3, r3 8044e20: 2b00 cmp r3, #0 8044e22: d007 beq.n 8044e34 8044e24: 4b28 ldr r3, [pc, #160] ; (8044ec8 ) 8044e26: 78db ldrb r3, [r3, #3] 8044e28: b2db uxtb r3, r3 8044e2a: 3b01 subs r3, #1 8044e2c: b2da uxtb r2, r3 8044e2e: 4b26 ldr r3, [pc, #152] ; (8044ec8 ) 8044e30: 70da strb r2, [r3, #3] else pardata.IVS[VEL] = EXCESS; } else menupos = Ok; break; 8044e32: e045 b.n 8044ec0 else pardata.IVS[VEL] = EXCESS; 8044e34: 4b24 ldr r3, [pc, #144] ; (8044ec8 ) 8044e36: 2204 movs r2, #4 8044e38: 70da strb r2, [r3, #3] break; 8044e3a: e041 b.n 8044ec0 menupos = Ok; 8044e3c: 4b23 ldr r3, [pc, #140] ; (8044ecc ) 8044e3e: 2200 movs r2, #0 8044e40: 701a strb r2, [r3, #0] break; 8044e42: e03d b.n 8044ec0 case ValueS: if(focused) 8044e44: 4b1f ldr r3, [pc, #124] ; (8044ec4 ) 8044e46: 781b ldrb r3, [r3, #0] 8044e48: b2db uxtb r3, r3 8044e4a: 2b00 cmp r3, #0 8044e4c: d010 beq.n 8044e70 { if(pardata.IVS[DIS] > PEAK) pardata.IVS[DIS]--; 8044e4e: 4b1e ldr r3, [pc, #120] ; (8044ec8 ) 8044e50: 791b ldrb r3, [r3, #4] 8044e52: b2db uxtb r3, r3 8044e54: 2b00 cmp r3, #0 8044e56: d007 beq.n 8044e68 8044e58: 4b1b ldr r3, [pc, #108] ; (8044ec8 ) 8044e5a: 791b ldrb r3, [r3, #4] 8044e5c: b2db uxtb r3, r3 8044e5e: 3b01 subs r3, #1 8044e60: b2da uxtb r2, r3 8044e62: 4b19 ldr r3, [pc, #100] ; (8044ec8 ) 8044e64: 711a strb r2, [r3, #4] else pardata.IVS[DIS] = EXCESS; } else menupos = Ok; break; 8044e66: e02b b.n 8044ec0 else pardata.IVS[DIS] = EXCESS; 8044e68: 4b17 ldr r3, [pc, #92] ; (8044ec8 ) 8044e6a: 2204 movs r2, #4 8044e6c: 711a strb r2, [r3, #4] break; 8044e6e: e027 b.n 8044ec0 menupos = Ok; 8044e70: 4b16 ldr r3, [pc, #88] ; (8044ecc ) 8044e72: 2200 movs r2, #0 8044e74: 701a strb r2, [r3, #0] break; 8044e76: e023 b.n 8044ec0 case Average: if(focused) 8044e78: 4b12 ldr r3, [pc, #72] ; (8044ec4 ) 8044e7a: 781b ldrb r3, [r3, #0] 8044e7c: b2db uxtb r3, r3 8044e7e: 2b00 cmp r3, #0 8044e80: d010 beq.n 8044ea4 { if(pardata.AVG > AVG1) pardata.AVG--; 8044e82: 4b11 ldr r3, [pc, #68] ; (8044ec8 ) 8044e84: 7b5b ldrb r3, [r3, #13] 8044e86: b2db uxtb r3, r3 8044e88: 2b00 cmp r3, #0 8044e8a: d007 beq.n 8044e9c 8044e8c: 4b0e ldr r3, [pc, #56] ; (8044ec8 ) 8044e8e: 7b5b ldrb r3, [r3, #13] 8044e90: b2db uxtb r3, r3 8044e92: 3b01 subs r3, #1 8044e94: b2da uxtb r2, r3 8044e96: 4b0c ldr r3, [pc, #48] ; (8044ec8 ) 8044e98: 735a strb r2, [r3, #13] else pardata.AVG = AVG512; } else menupos = Ok; break; 8044e9a: e011 b.n 8044ec0 else pardata.AVG = AVG512; 8044e9c: 4b0a ldr r3, [pc, #40] ; (8044ec8 ) 8044e9e: 2209 movs r2, #9 8044ea0: 735a strb r2, [r3, #13] break; 8044ea2: e00d b.n 8044ec0 menupos = Ok; 8044ea4: 4b09 ldr r3, [pc, #36] ; (8044ecc ) 8044ea6: 2200 movs r2, #0 8044ea8: 701a strb r2, [r3, #0] break; 8044eaa: e009 b.n 8044ec0 case SaveToFile: memset(MeasFileName, 0, sizeof(MeasFileName)); 8044eac: 2221 movs r2, #33 ; 0x21 8044eae: 2100 movs r1, #0 8044eb0: 4807 ldr r0, [pc, #28] ; (8044ed0 ) 8044eb2: f088 f8c9 bl 80cd048 break; 8044eb6: e003 b.n 8044ec0 case ViewFreq: case VibAutoKu: case VibMax_ALL: case FilterHP: case FilterLP: menupos = Ok; 8044eb8: 4b04 ldr r3, [pc, #16] ; (8044ecc ) 8044eba: 2200 movs r2, #0 8044ebc: 701a strb r2, [r3, #0] break; 8044ebe: bf00 nop } break; 8044ec0: f001 b970 b.w 80461a4 8044ec4: 20020f84 .word 0x20020f84 8044ec8: 20023e60 .word 0x20023e60 8044ecc: 20020070 .word 0x20020070 8044ed0: 20020e58 .word 0x20020e58 case PARAM_SPEC: switch(menupos) 8044ed4: 4bc5 ldr r3, [pc, #788] ; (80451ec ) 8044ed6: 781b ldrb r3, [r3, #0] 8044ed8: b2db uxtb r3, r3 8044eda: 3b01 subs r3, #1 8044edc: 2b23 cmp r3, #35 ; 0x23 8044ede: f201 8164 bhi.w 80461aa 8044ee2: a201 add r2, pc, #4 ; (adr r2, 8044ee8 ) 8044ee4: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8044ee8: 08044f79 .word 0x08044f79 8044eec: 080454ed .word 0x080454ed 8044ef0: 080461ab .word 0x080461ab 8044ef4: 08045813 .word 0x08045813 8044ef8: 0804587b .word 0x0804587b 8044efc: 08045847 .word 0x08045847 8044f00: 080458a7 .word 0x080458a7 8044f04: 0804543f .word 0x0804543f 8044f08: 0804543f .word 0x0804543f 8044f0c: 080461ab .word 0x080461ab 8044f10: 08045447 .word 0x08045447 8044f14: 0804546f .word 0x0804546f 8044f18: 08045467 .word 0x08045467 8044f1c: 0804545f .word 0x0804545f 8044f20: 08045457 .word 0x08045457 8044f24: 0804544f .word 0x0804544f 8044f28: 080461ab .word 0x080461ab 8044f2c: 080461ab .word 0x080461ab 8044f30: 080461ab .word 0x080461ab 8044f34: 080461ab .word 0x080461ab 8044f38: 080461ab .word 0x080461ab 8044f3c: 080461ab .word 0x080461ab 8044f40: 080461ab .word 0x080461ab 8044f44: 080461ab .word 0x080461ab 8044f48: 08045477 .word 0x08045477 8044f4c: 0804549f .word 0x0804549f 8044f50: 08045497 .word 0x08045497 8044f54: 0804548f .word 0x0804548f 8044f58: 08045487 .word 0x08045487 8044f5c: 0804547f .word 0x0804547f 8044f60: 080454a7 .word 0x080454a7 8044f64: 080454cf .word 0x080454cf 8044f68: 080454c7 .word 0x080454c7 8044f6c: 080454bf .word 0x080454bf 8044f70: 080454b7 .word 0x080454b7 8044f74: 080454af .word 0x080454af { case SpecType: if(focused) 8044f78: 4b9d ldr r3, [pc, #628] ; (80451f0 ) 8044f7a: 781b ldrb r3, [r3, #0] 8044f7c: b2db uxtb r3, r3 8044f7e: 2b00 cmp r3, #0 8044f80: f000 8258 beq.w 8045434 { if((pardata.OPTIONS & maskFFT) == fft) 8044f84: 4b9b ldr r3, [pc, #620] ; (80451f4 ) 8044f86: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8044f8a: f003 0330 and.w r3, r3, #48 ; 0x30 8044f8e: 2b00 cmp r3, #0 8044f90: f040 809a bne.w 80450c8 { pardata.OPTIONS &= ~maskFFT; 8044f94: 4b97 ldr r3, [pc, #604] ; (80451f4 ) 8044f96: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8044f9a: f023 0330 bic.w r3, r3, #48 ; 0x30 8044f9e: 4a95 ldr r2, [pc, #596] ; (80451f4 ) 8044fa0: f8c2 3098 str.w r3, [r2, #152] ; 0x98 pardata.OPTIONS |= third; 8044fa4: 4b93 ldr r3, [pc, #588] ; (80451f4 ) 8044fa6: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8044faa: f043 0330 orr.w r3, r3, #48 ; 0x30 8044fae: 4a91 ldr r2, [pc, #580] ; (80451f4 ) 8044fb0: f8c2 3098 str.w r3, [r2, #152] ; 0x98 if(pardata.IVS[pardata.IPR] > RMS) 8044fb4: 4b8f ldr r3, [pc, #572] ; (80451f4 ) 8044fb6: 785b ldrb r3, [r3, #1] 8044fb8: b2db uxtb r3, r3 8044fba: 461a mov r2, r3 8044fbc: 4b8d ldr r3, [pc, #564] ; (80451f4 ) 8044fbe: 4413 add r3, r2 8044fc0: 789b ldrb r3, [r3, #2] 8044fc2: b2db uxtb r3, r3 8044fc4: 2b01 cmp r3, #1 8044fc6: d907 bls.n 8044fd8 pardata.IVS[pardata.IPR] = PEAK; 8044fc8: 4b8a ldr r3, [pc, #552] ; (80451f4 ) 8044fca: 785b ldrb r3, [r3, #1] 8044fcc: b2db uxtb r3, r3 8044fce: 461a mov r2, r3 8044fd0: 4b88 ldr r3, [pc, #544] ; (80451f4 ) 8044fd2: 4413 add r3, r2 8044fd4: 2200 movs r2, #0 8044fd6: 709a strb r2, [r3, #2] pardata.LNE = N3200; 8044fd8: 4b86 ldr r3, [pc, #536] ; (80451f4 ) 8044fda: 2203 movs r2, #3 8044fdc: 71da strb r2, [r3, #7] pardata.FRQ = _64000Hz; 8044fde: 4b85 ldr r3, [pc, #532] ; (80451f4 ) 8044fe0: 2209 movs r2, #9 8044fe2: 72da strb r2, [r3, #11] if((pardata.IPR > ACC) && (pardata.HP < 2.0f)) 8044fe4: 4b83 ldr r3, [pc, #524] ; (80451f4 ) 8044fe6: 785b ldrb r3, [r3, #1] 8044fe8: b2db uxtb r3, r3 8044fea: 2b00 cmp r3, #0 8044fec: d00e beq.n 804500c 8044fee: 4b81 ldr r3, [pc, #516] ; (80451f4 ) 8044ff0: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 8044ff4: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 8044ff8: eef4 7ac7 vcmpe.f32 s15, s14 8044ffc: eef1 fa10 vmrs APSR_nzcv, fpscr 8045000: d504 bpl.n 804500c pardata.HP = 2.0f; 8045002: 4b7c ldr r3, [pc, #496] ; (80451f4 ) 8045004: f04f 4280 mov.w r2, #1073741824 ; 0x40000000 8045008: f8c3 20d4 str.w r2, [r3, #212] ; 0xd4 if(pardata.HP > ((float32_t) FS[pardata.FRQ] / 10.0f)) 804500c: 4b79 ldr r3, [pc, #484] ; (80451f4 ) 804500e: ed93 7a35 vldr s14, [r3, #212] ; 0xd4 8045012: 4b78 ldr r3, [pc, #480] ; (80451f4 ) 8045014: 7adb ldrb r3, [r3, #11] 8045016: b2db uxtb r3, r3 8045018: 461a mov r2, r3 804501a: 4b77 ldr r3, [pc, #476] ; (80451f8 ) 804501c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8045020: ee07 3a90 vmov s15, r3 8045024: eef8 6a67 vcvt.f32.u32 s13, s15 8045028: eeb2 6a04 vmov.f32 s12, #36 ; 0x41200000 10.0 804502c: eec6 7a86 vdiv.f32 s15, s13, s12 8045030: eeb4 7ae7 vcmpe.f32 s14, s15 8045034: eef1 fa10 vmrs APSR_nzcv, fpscr 8045038: dd15 ble.n 8045066 pardata.HP = (float32_t) (FS[pardata.FRQ] / 10.0f) + 0.0001f; 804503a: 4b6e ldr r3, [pc, #440] ; (80451f4 ) 804503c: 7adb ldrb r3, [r3, #11] 804503e: b2db uxtb r3, r3 8045040: 461a mov r2, r3 8045042: 4b6d ldr r3, [pc, #436] ; (80451f8 ) 8045044: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8045048: ee07 3a90 vmov s15, r3 804504c: eeb8 7a67 vcvt.f32.u32 s14, s15 8045050: eef2 6a04 vmov.f32 s13, #36 ; 0x41200000 10.0 8045054: eec7 7a26 vdiv.f32 s15, s14, s13 8045058: ed9f 7a68 vldr s14, [pc, #416] ; 80451fc 804505c: ee77 7a87 vadd.f32 s15, s15, s14 8045060: 4b64 ldr r3, [pc, #400] ; (80451f4 ) 8045062: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 if(pardata.LP > ((float32_t) FS[pardata.FRQ] / 10.0f)) 8045066: 4b63 ldr r3, [pc, #396] ; (80451f4 ) 8045068: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 804506c: 4b61 ldr r3, [pc, #388] ; (80451f4 ) 804506e: 7adb ldrb r3, [r3, #11] 8045070: b2db uxtb r3, r3 8045072: 461a mov r2, r3 8045074: 4b60 ldr r3, [pc, #384] ; (80451f8 ) 8045076: f853 3022 ldr.w r3, [r3, r2, lsl #2] 804507a: ee07 3a90 vmov s15, r3 804507e: eef8 6a67 vcvt.f32.u32 s13, s15 8045082: eeb2 6a04 vmov.f32 s12, #36 ; 0x41200000 10.0 8045086: eec6 7a86 vdiv.f32 s15, s13, s12 804508a: eeb4 7ae7 vcmpe.f32 s14, s15 804508e: eef1 fa10 vmrs APSR_nzcv, fpscr 8045092: dc01 bgt.n 8045098 } } } else menupos = Ok; break; 8045094: f000 bc21 b.w 80458da pardata.LP = (float32_t) (FS[pardata.FRQ] / 10.0f) + 0.0001f; 8045098: 4b56 ldr r3, [pc, #344] ; (80451f4 ) 804509a: 7adb ldrb r3, [r3, #11] 804509c: b2db uxtb r3, r3 804509e: 461a mov r2, r3 80450a0: 4b55 ldr r3, [pc, #340] ; (80451f8 ) 80450a2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80450a6: ee07 3a90 vmov s15, r3 80450aa: eeb8 7a67 vcvt.f32.u32 s14, s15 80450ae: eef2 6a04 vmov.f32 s13, #36 ; 0x41200000 10.0 80450b2: eec7 7a26 vdiv.f32 s15, s14, s13 80450b6: ed9f 7a51 vldr s14, [pc, #324] ; 80451fc 80450ba: ee77 7a87 vadd.f32 s15, s15, s14 80450be: 4b4d ldr r3, [pc, #308] ; (80451f4 ) 80450c0: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 break; 80450c4: f000 bc09 b.w 80458da if((pardata.OPTIONS & maskFFT) == third) 80450c8: 4b4a ldr r3, [pc, #296] ; (80451f4 ) 80450ca: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80450ce: f003 0330 and.w r3, r3, #48 ; 0x30 80450d2: 2b30 cmp r3, #48 ; 0x30 80450d4: f040 80af bne.w 8045236 pardata.OPTIONS &= ~maskFFT; 80450d8: 4b46 ldr r3, [pc, #280] ; (80451f4 ) 80450da: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80450de: f023 0330 bic.w r3, r3, #48 ; 0x30 80450e2: 4a44 ldr r2, [pc, #272] ; (80451f4 ) 80450e4: f8c2 3098 str.w r3, [r2, #152] ; 0x98 pardata.OPTIONS |= okt; 80450e8: 4b42 ldr r3, [pc, #264] ; (80451f4 ) 80450ea: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80450ee: f043 0320 orr.w r3, r3, #32 80450f2: 4a40 ldr r2, [pc, #256] ; (80451f4 ) 80450f4: f8c2 3098 str.w r3, [r2, #152] ; 0x98 if(pardata.IVS[pardata.IPR] > RMS) 80450f8: 4b3e ldr r3, [pc, #248] ; (80451f4 ) 80450fa: 785b ldrb r3, [r3, #1] 80450fc: b2db uxtb r3, r3 80450fe: 461a mov r2, r3 8045100: 4b3c ldr r3, [pc, #240] ; (80451f4 ) 8045102: 4413 add r3, r2 8045104: 789b ldrb r3, [r3, #2] 8045106: b2db uxtb r3, r3 8045108: 2b01 cmp r3, #1 804510a: d907 bls.n 804511c pardata.IVS[pardata.IPR] = PEAK; 804510c: 4b39 ldr r3, [pc, #228] ; (80451f4 ) 804510e: 785b ldrb r3, [r3, #1] 8045110: b2db uxtb r3, r3 8045112: 461a mov r2, r3 8045114: 4b37 ldr r3, [pc, #220] ; (80451f4 ) 8045116: 4413 add r3, r2 8045118: 2200 movs r2, #0 804511a: 709a strb r2, [r3, #2] pardata.LNE = N3200; 804511c: 4b35 ldr r3, [pc, #212] ; (80451f4 ) 804511e: 2203 movs r2, #3 8045120: 71da strb r2, [r3, #7] pardata.FRQ = _64000Hz; 8045122: 4b34 ldr r3, [pc, #208] ; (80451f4 ) 8045124: 2209 movs r2, #9 8045126: 72da strb r2, [r3, #11] if((pardata.IPR > ACC) && (pardata.HP < 2.0f)) 8045128: 4b32 ldr r3, [pc, #200] ; (80451f4 ) 804512a: 785b ldrb r3, [r3, #1] 804512c: b2db uxtb r3, r3 804512e: 2b00 cmp r3, #0 8045130: d00e beq.n 8045150 8045132: 4b30 ldr r3, [pc, #192] ; (80451f4 ) 8045134: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 8045138: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 804513c: eef4 7ac7 vcmpe.f32 s15, s14 8045140: eef1 fa10 vmrs APSR_nzcv, fpscr 8045144: d504 bpl.n 8045150 pardata.HP = 2.0f; 8045146: 4b2b ldr r3, [pc, #172] ; (80451f4 ) 8045148: f04f 4280 mov.w r2, #1073741824 ; 0x40000000 804514c: f8c3 20d4 str.w r2, [r3, #212] ; 0xd4 if(pardata.HP > (((float32_t) FS[pardata.FRQ] / 5.0f) + 0.00005f)) 8045150: 4b28 ldr r3, [pc, #160] ; (80451f4 ) 8045152: ed93 7a35 vldr s14, [r3, #212] ; 0xd4 8045156: 4b27 ldr r3, [pc, #156] ; (80451f4 ) 8045158: 7adb ldrb r3, [r3, #11] 804515a: b2db uxtb r3, r3 804515c: 461a mov r2, r3 804515e: 4b26 ldr r3, [pc, #152] ; (80451f8 ) 8045160: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8045164: ee07 3a90 vmov s15, r3 8045168: eef8 6a67 vcvt.f32.u32 s13, s15 804516c: eeb1 6a04 vmov.f32 s12, #20 ; 0x40a00000 5.0 8045170: eec6 7a86 vdiv.f32 s15, s13, s12 8045174: eddf 6a22 vldr s13, [pc, #136] ; 8045200 8045178: ee77 7aa6 vadd.f32 s15, s15, s13 804517c: eeb4 7ae7 vcmpe.f32 s14, s15 8045180: eef1 fa10 vmrs APSR_nzcv, fpscr 8045184: dd15 ble.n 80451b2 pardata.HP = (float32_t) (FS[pardata.FRQ] / 5) + 0.0001f; 8045186: 4b1b ldr r3, [pc, #108] ; (80451f4 ) 8045188: 7adb ldrb r3, [r3, #11] 804518a: b2db uxtb r3, r3 804518c: 461a mov r2, r3 804518e: 4b1a ldr r3, [pc, #104] ; (80451f8 ) 8045190: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8045194: 4a1b ldr r2, [pc, #108] ; (8045204 ) 8045196: fba2 2303 umull r2, r3, r2, r3 804519a: 089b lsrs r3, r3, #2 804519c: ee07 3a90 vmov s15, r3 80451a0: eef8 7a67 vcvt.f32.u32 s15, s15 80451a4: ed9f 7a15 vldr s14, [pc, #84] ; 80451fc 80451a8: ee77 7a87 vadd.f32 s15, s15, s14 80451ac: 4b11 ldr r3, [pc, #68] ; (80451f4 ) 80451ae: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 if(pardata.LP > (((float32_t) FS[pardata.FRQ] / 5.0f) + 0.00005f)) 80451b2: 4b10 ldr r3, [pc, #64] ; (80451f4 ) 80451b4: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 80451b8: 4b0e ldr r3, [pc, #56] ; (80451f4 ) 80451ba: 7adb ldrb r3, [r3, #11] 80451bc: b2db uxtb r3, r3 80451be: 461a mov r2, r3 80451c0: 4b0d ldr r3, [pc, #52] ; (80451f8 ) 80451c2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80451c6: ee07 3a90 vmov s15, r3 80451ca: eef8 6a67 vcvt.f32.u32 s13, s15 80451ce: eeb1 6a04 vmov.f32 s12, #20 ; 0x40a00000 5.0 80451d2: eec6 7a86 vdiv.f32 s15, s13, s12 80451d6: eddf 6a0a vldr s13, [pc, #40] ; 8045200 80451da: ee77 7aa6 vadd.f32 s15, s15, s13 80451de: eeb4 7ae7 vcmpe.f32 s14, s15 80451e2: eef1 fa10 vmrs APSR_nzcv, fpscr 80451e6: dc0f bgt.n 8045208 break; 80451e8: e377 b.n 80458da 80451ea: bf00 nop 80451ec: 20020070 .word 0x20020070 80451f0: 20020f84 .word 0x20020f84 80451f4: 20023e60 .word 0x20023e60 80451f8: 080ee890 .word 0x080ee890 80451fc: 38d1b717 .word 0x38d1b717 8045200: 3851b717 .word 0x3851b717 8045204: cccccccd .word 0xcccccccd pardata.LP = (float32_t) (FS[pardata.FRQ] / 5) + 0.0001f; 8045208: 4bb3 ldr r3, [pc, #716] ; (80454d8 ) 804520a: 7adb ldrb r3, [r3, #11] 804520c: b2db uxtb r3, r3 804520e: 461a mov r2, r3 8045210: 4bb2 ldr r3, [pc, #712] ; (80454dc ) 8045212: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8045216: 4ab2 ldr r2, [pc, #712] ; (80454e0 ) 8045218: fba2 2303 umull r2, r3, r2, r3 804521c: 089b lsrs r3, r3, #2 804521e: ee07 3a90 vmov s15, r3 8045222: eef8 7a67 vcvt.f32.u32 s15, s15 8045226: ed9f 7aaf vldr s14, [pc, #700] ; 80454e4 804522a: ee77 7a87 vadd.f32 s15, s15, s14 804522e: 4baa ldr r3, [pc, #680] ; (80454d8 ) 8045230: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 break; 8045234: e351 b.n 80458da if((pardata.OPTIONS & maskFFT) == okt) 8045236: 4ba8 ldr r3, [pc, #672] ; (80454d8 ) 8045238: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 804523c: f003 0330 and.w r3, r3, #48 ; 0x30 8045240: 2b20 cmp r3, #32 8045242: d178 bne.n 8045336 pardata.OPTIONS &= ~maskFFT; 8045244: 4ba4 ldr r3, [pc, #656] ; (80454d8 ) 8045246: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 804524a: f023 0330 bic.w r3, r3, #48 ; 0x30 804524e: 4aa2 ldr r2, [pc, #648] ; (80454d8 ) 8045250: f8c2 3098 str.w r3, [r2, #152] ; 0x98 pardata.OPTIONS |= env; 8045254: 4ba0 ldr r3, [pc, #640] ; (80454d8 ) 8045256: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 804525a: f043 0310 orr.w r3, r3, #16 804525e: 4a9e ldr r2, [pc, #632] ; (80454d8 ) 8045260: f8c2 3098 str.w r3, [r2, #152] ; 0x98 if(pardata.IVS[pardata.IPR] > RMS) 8045264: 4b9c ldr r3, [pc, #624] ; (80454d8 ) 8045266: 785b ldrb r3, [r3, #1] 8045268: b2db uxtb r3, r3 804526a: 461a mov r2, r3 804526c: 4b9a ldr r3, [pc, #616] ; (80454d8 ) 804526e: 4413 add r3, r2 8045270: 789b ldrb r3, [r3, #2] 8045272: b2db uxtb r3, r3 8045274: 2b01 cmp r3, #1 8045276: d907 bls.n 8045288 pardata.IVS[pardata.IPR] = PEAK; 8045278: 4b97 ldr r3, [pc, #604] ; (80454d8 ) 804527a: 785b ldrb r3, [r3, #1] 804527c: b2db uxtb r3, r3 804527e: 461a mov r2, r3 8045280: 4b95 ldr r3, [pc, #596] ; (80454d8 ) 8045282: 4413 add r3, r2 8045284: 2200 movs r2, #0 8045286: 709a strb r2, [r3, #2] if((pardata.IPR > ACC) && (pardata.HP < 2.0f)) 8045288: 4b93 ldr r3, [pc, #588] ; (80454d8 ) 804528a: 785b ldrb r3, [r3, #1] 804528c: b2db uxtb r3, r3 804528e: 2b00 cmp r3, #0 8045290: d00e beq.n 80452b0 8045292: 4b91 ldr r3, [pc, #580] ; (80454d8 ) 8045294: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 8045298: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 804529c: eef4 7ac7 vcmpe.f32 s15, s14 80452a0: eef1 fa10 vmrs APSR_nzcv, fpscr 80452a4: d504 bpl.n 80452b0 pardata.HP = 2.0f; 80452a6: 4b8c ldr r3, [pc, #560] ; (80454d8 ) 80452a8: f04f 4280 mov.w r2, #1073741824 ; 0x40000000 80452ac: f8c3 20d4 str.w r2, [r3, #212] ; 0xd4 k = _64000Hz; 80452b0: 2309 movs r3, #9 80452b2: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 while(k > _125Hz) 80452b6: e039 b.n 804532c f = (float32_t) FS[k] / pardata.LP; 80452b8: 4a88 ldr r2, [pc, #544] ; (80454dc ) 80452ba: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80452be: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80452c2: ee07 3a90 vmov s15, r3 80452c6: eef8 6a67 vcvt.f32.u32 s13, s15 80452ca: 4b83 ldr r3, [pc, #524] ; (80454d8 ) 80452cc: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 80452d0: eec6 7a87 vdiv.f32 s15, s13, s14 80452d4: edc7 7a2d vstr s15, [r7, #180] ; 0xb4 f += 0.0001f; 80452d8: edd7 7a2d vldr s15, [r7, #180] ; 0xb4 80452dc: ed9f 7a81 vldr s14, [pc, #516] ; 80454e4 80452e0: ee77 7a87 vadd.f32 s15, s15, s14 80452e4: edc7 7a2d vstr s15, [r7, #180] ; 0xb4 if(f < 5.0f) 80452e8: edd7 7a2d vldr s15, [r7, #180] ; 0xb4 80452ec: eeb1 7a04 vmov.f32 s14, #20 ; 0x40a00000 5.0 80452f0: eef4 7ac7 vcmpe.f32 s15, s14 80452f4: eef1 fa10 vmrs APSR_nzcv, fpscr 80452f8: d507 bpl.n 804530a pardata.FRQ = k + 1; 80452fa: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80452fe: b2db uxtb r3, r3 8045300: 3301 adds r3, #1 8045302: b2da uxtb r2, r3 8045304: 4b74 ldr r3, [pc, #464] ; (80454d8 ) 8045306: 72da strb r2, [r3, #11] break; 8045308: e098 b.n 804543c if(k > 0) 804530a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804530e: 2b00 cmp r3, #0 8045310: d004 beq.n 804531c k--; 8045312: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8045316: 3b01 subs r3, #1 8045318: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 if(k == 0) 804531c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8045320: 2b00 cmp r3, #0 8045322: d103 bne.n 804532c pardata.FRQ = _125Hz; 8045324: 4b6c ldr r3, [pc, #432] ; (80454d8 ) 8045326: 2200 movs r2, #0 8045328: 72da strb r2, [r3, #11] break; 804532a: e087 b.n 804543c while(k > _125Hz) 804532c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8045330: 2b00 cmp r3, #0 8045332: d1c1 bne.n 80452b8 break; 8045334: e2d1 b.n 80458da if((pardata.OPTIONS & maskFFT) == env) 8045336: 4b68 ldr r3, [pc, #416] ; (80454d8 ) 8045338: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 804533c: f003 0330 and.w r3, r3, #48 ; 0x30 8045340: 2b10 cmp r3, #16 8045342: f040 82ca bne.w 80458da pardata.OPTIONS &= ~maskFFT; 8045346: 4b64 ldr r3, [pc, #400] ; (80454d8 ) 8045348: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 804534c: f023 0330 bic.w r3, r3, #48 ; 0x30 8045350: 4a61 ldr r2, [pc, #388] ; (80454d8 ) 8045352: f8c2 3098 str.w r3, [r2, #152] ; 0x98 pardata.OPTIONS |= fft; 8045356: 4b60 ldr r3, [pc, #384] ; (80454d8 ) 8045358: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 804535c: 4a5e ldr r2, [pc, #376] ; (80454d8 ) 804535e: f8c2 3098 str.w r3, [r2, #152] ; 0x98 if(pardata.IVS[pardata.IPR] > RMS) 8045362: 4b5d ldr r3, [pc, #372] ; (80454d8 ) 8045364: 785b ldrb r3, [r3, #1] 8045366: b2db uxtb r3, r3 8045368: 461a mov r2, r3 804536a: 4b5b ldr r3, [pc, #364] ; (80454d8 ) 804536c: 4413 add r3, r2 804536e: 789b ldrb r3, [r3, #2] 8045370: b2db uxtb r3, r3 8045372: 2b01 cmp r3, #1 8045374: d907 bls.n 8045386 pardata.IVS[pardata.IPR] = PEAK; 8045376: 4b58 ldr r3, [pc, #352] ; (80454d8 ) 8045378: 785b ldrb r3, [r3, #1] 804537a: b2db uxtb r3, r3 804537c: 461a mov r2, r3 804537e: 4b56 ldr r3, [pc, #344] ; (80454d8 ) 8045380: 4413 add r3, r2 8045382: 2200 movs r2, #0 8045384: 709a strb r2, [r3, #2] if((pardata.IPR > ACC) && (pardata.HP < 2.0f)) 8045386: 4b54 ldr r3, [pc, #336] ; (80454d8 ) 8045388: 785b ldrb r3, [r3, #1] 804538a: b2db uxtb r3, r3 804538c: 2b00 cmp r3, #0 804538e: d00e beq.n 80453ae 8045390: 4b51 ldr r3, [pc, #324] ; (80454d8 ) 8045392: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 8045396: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 804539a: eef4 7ac7 vcmpe.f32 s15, s14 804539e: eef1 fa10 vmrs APSR_nzcv, fpscr 80453a2: d504 bpl.n 80453ae pardata.HP = 2.0f; 80453a4: 4b4c ldr r3, [pc, #304] ; (80454d8 ) 80453a6: f04f 4280 mov.w r2, #1073741824 ; 0x40000000 80453aa: f8c3 20d4 str.w r2, [r3, #212] ; 0xd4 k = _64000Hz; 80453ae: 2309 movs r3, #9 80453b0: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 while(k > _125Hz) 80453b4: e039 b.n 804542a f = (float32_t) FS[k] / pardata.LP; 80453b6: 4a49 ldr r2, [pc, #292] ; (80454dc ) 80453b8: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80453bc: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80453c0: ee07 3a90 vmov s15, r3 80453c4: eef8 6a67 vcvt.f32.u32 s13, s15 80453c8: 4b43 ldr r3, [pc, #268] ; (80454d8 ) 80453ca: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 80453ce: eec6 7a87 vdiv.f32 s15, s13, s14 80453d2: edc7 7a2d vstr s15, [r7, #180] ; 0xb4 f += 0.0001f; 80453d6: edd7 7a2d vldr s15, [r7, #180] ; 0xb4 80453da: ed9f 7a42 vldr s14, [pc, #264] ; 80454e4 80453de: ee77 7a87 vadd.f32 s15, s15, s14 80453e2: edc7 7a2d vstr s15, [r7, #180] ; 0xb4 if(f < 5.0f) 80453e6: edd7 7a2d vldr s15, [r7, #180] ; 0xb4 80453ea: eeb1 7a04 vmov.f32 s14, #20 ; 0x40a00000 5.0 80453ee: eef4 7ac7 vcmpe.f32 s15, s14 80453f2: eef1 fa10 vmrs APSR_nzcv, fpscr 80453f6: d507 bpl.n 8045408 pardata.FRQ = k + 1; 80453f8: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80453fc: b2db uxtb r3, r3 80453fe: 3301 adds r3, #1 8045400: b2da uxtb r2, r3 8045402: 4b35 ldr r3, [pc, #212] ; (80454d8 ) 8045404: 72da strb r2, [r3, #11] break; 8045406: e019 b.n 804543c if(k > 0) 8045408: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804540c: 2b00 cmp r3, #0 804540e: d004 beq.n 804541a k--; 8045410: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8045414: 3b01 subs r3, #1 8045416: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 if(k == 0) 804541a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804541e: 2b00 cmp r3, #0 8045420: d103 bne.n 804542a pardata.FRQ = _125Hz; 8045422: 4b2d ldr r3, [pc, #180] ; (80454d8 ) 8045424: 2200 movs r2, #0 8045426: 72da strb r2, [r3, #11] break; 8045428: e008 b.n 804543c while(k > _125Hz) 804542a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804542e: 2b00 cmp r3, #0 8045430: d1c1 bne.n 80453b6 break; 8045432: e252 b.n 80458da menupos = Ok; 8045434: 4b2c ldr r3, [pc, #176] ; (80454e8 ) 8045436: 2200 movs r2, #0 8045438: 701a strb r2, [r3, #0] break; 804543a: e24e b.n 80458da 804543c: e24d b.n 80458da case VibMax_ALL: case VibAutoKu: menupos = Ok; 804543e: 4b2a ldr r3, [pc, #168] ; (80454e8 ) 8045440: 2200 movs r2, #0 8045442: 701a strb r2, [r3, #0] break; 8045444: e24a b.n 80458dc case VibMax_IDT: menupos = VibMax_IKD; break; 8045446: 4b28 ldr r3, [pc, #160] ; (80454e8 ) 8045448: 2210 movs r2, #16 804544a: 701a strb r2, [r3, #0] 804544c: e246 b.n 80458dc case VibMax_IKD: menupos = VibMax_IEE; break; 804544e: 4b26 ldr r3, [pc, #152] ; (80454e8 ) 8045450: 220f movs r2, #15 8045452: 701a strb r2, [r3, #0] 8045454: e242 b.n 80458dc case VibMax_IEE: menupos = VibMax_IED; break; 8045456: 4b24 ldr r3, [pc, #144] ; (80454e8 ) 8045458: 220e movs r2, #14 804545a: 701a strb r2, [r3, #0] 804545c: e23e b.n 80458dc case VibMax_IED: menupos = VibMax_IES; break; 804545e: 4b22 ldr r3, [pc, #136] ; (80454e8 ) 8045460: 220d movs r2, #13 8045462: 701a strb r2, [r3, #0] 8045464: e23a b.n 80458dc case VibMax_IES: menupos = VibMax_IET; break; 8045466: 4b20 ldr r3, [pc, #128] ; (80454e8 ) 8045468: 220c movs r2, #12 804546a: 701a strb r2, [r3, #0] 804546c: e236 b.n 80458dc case VibMax_IET: menupos = VibMax_IDT; break; 804546e: 4b1e ldr r3, [pc, #120] ; (80454e8 ) 8045470: 220b movs r2, #11 8045472: 701a strb r2, [r3, #0] 8045474: e232 b.n 80458dc case FilterHP_IDT: menupos = FilterHP_IKD; break; 8045476: 4b1c ldr r3, [pc, #112] ; (80454e8 ) 8045478: 221e movs r2, #30 804547a: 701a strb r2, [r3, #0] 804547c: e22e b.n 80458dc case FilterHP_IKD: menupos = FilterHP_IEE; break; 804547e: 4b1a ldr r3, [pc, #104] ; (80454e8 ) 8045480: 221d movs r2, #29 8045482: 701a strb r2, [r3, #0] 8045484: e22a b.n 80458dc case FilterHP_IEE: menupos = FilterHP_IED; break; 8045486: 4b18 ldr r3, [pc, #96] ; (80454e8 ) 8045488: 221c movs r2, #28 804548a: 701a strb r2, [r3, #0] 804548c: e226 b.n 80458dc case FilterHP_IED: menupos = FilterHP_IES; break; 804548e: 4b16 ldr r3, [pc, #88] ; (80454e8 ) 8045490: 221b movs r2, #27 8045492: 701a strb r2, [r3, #0] 8045494: e222 b.n 80458dc case FilterHP_IES: menupos = FilterHP_IET; break; 8045496: 4b14 ldr r3, [pc, #80] ; (80454e8 ) 8045498: 221a movs r2, #26 804549a: 701a strb r2, [r3, #0] 804549c: e21e b.n 80458dc case FilterHP_IET: menupos = FilterHP_IDT; break; 804549e: 4b12 ldr r3, [pc, #72] ; (80454e8 ) 80454a0: 2219 movs r2, #25 80454a2: 701a strb r2, [r3, #0] 80454a4: e21a b.n 80458dc case FilterLP_IDT: menupos = FilterLP_IKD; break; 80454a6: 4b10 ldr r3, [pc, #64] ; (80454e8 ) 80454a8: 2224 movs r2, #36 ; 0x24 80454aa: 701a strb r2, [r3, #0] 80454ac: e216 b.n 80458dc case FilterLP_IKD: menupos = FilterLP_IEE; break; 80454ae: 4b0e ldr r3, [pc, #56] ; (80454e8 ) 80454b0: 2223 movs r2, #35 ; 0x23 80454b2: 701a strb r2, [r3, #0] 80454b4: e212 b.n 80458dc case FilterLP_IEE: menupos = FilterLP_IED; break; 80454b6: 4b0c ldr r3, [pc, #48] ; (80454e8 ) 80454b8: 2222 movs r2, #34 ; 0x22 80454ba: 701a strb r2, [r3, #0] 80454bc: e20e b.n 80458dc case FilterLP_IED: menupos = FilterLP_IES; break; 80454be: 4b0a ldr r3, [pc, #40] ; (80454e8 ) 80454c0: 2221 movs r2, #33 ; 0x21 80454c2: 701a strb r2, [r3, #0] 80454c4: e20a b.n 80458dc case FilterLP_IES: menupos = FilterLP_IET; break; 80454c6: 4b08 ldr r3, [pc, #32] ; (80454e8 ) 80454c8: 2220 movs r2, #32 80454ca: 701a strb r2, [r3, #0] 80454cc: e206 b.n 80458dc case FilterLP_IET: menupos = FilterLP_IDT; break; 80454ce: 4b06 ldr r3, [pc, #24] ; (80454e8 ) 80454d0: 221f movs r2, #31 80454d2: 701a strb r2, [r3, #0] 80454d4: e202 b.n 80458dc 80454d6: bf00 nop 80454d8: 20023e60 .word 0x20023e60 80454dc: 080ee890 .word 0x080ee890 80454e0: cccccccd .word 0xcccccccd 80454e4: 38d1b717 .word 0x38d1b717 80454e8: 20020070 .word 0x20020070 case SpecValue: if(focused) 80454ec: 4bb5 ldr r3, [pc, #724] ; (80457c4 ) 80454ee: 781b ldrb r3, [r3, #0] 80454f0: b2db uxtb r3, r3 80454f2: 2b00 cmp r3, #0 80454f4: f000 8189 beq.w 804580a { if((pardata.IPR == ACC) && (pardata.IVS[pardata.IPR] == PEAK)) 80454f8: 4bb3 ldr r3, [pc, #716] ; (80457c8 ) 80454fa: 785b ldrb r3, [r3, #1] 80454fc: b2db uxtb r3, r3 80454fe: 2b00 cmp r3, #0 8045500: d115 bne.n 804552e 8045502: 4bb1 ldr r3, [pc, #708] ; (80457c8 ) 8045504: 785b ldrb r3, [r3, #1] 8045506: b2db uxtb r3, r3 8045508: 461a mov r2, r3 804550a: 4baf ldr r3, [pc, #700] ; (80457c8 ) 804550c: 4413 add r3, r2 804550e: 789b ldrb r3, [r3, #2] 8045510: b2db uxtb r3, r3 8045512: 2b00 cmp r3, #0 8045514: d10b bne.n 804552e { pardata.IPR = DIS; 8045516: 4bac ldr r3, [pc, #688] ; (80457c8 ) 8045518: 2202 movs r2, #2 804551a: 705a strb r2, [r3, #1] pardata.IVS[pardata.IPR] = RMS; 804551c: 4baa ldr r3, [pc, #680] ; (80457c8 ) 804551e: 785b ldrb r3, [r3, #1] 8045520: b2db uxtb r3, r3 8045522: 461a mov r2, r3 8045524: 4ba8 ldr r3, [pc, #672] ; (80457c8 ) 8045526: 4413 add r3, r2 8045528: 2201 movs r2, #1 804552a: 709a strb r2, [r3, #2] 804552c: e085 b.n 804563a } else if((pardata.IPR == ACC) && (pardata.IVS[pardata.IPR] == RMS)) 804552e: 4ba6 ldr r3, [pc, #664] ; (80457c8 ) 8045530: 785b ldrb r3, [r3, #1] 8045532: b2db uxtb r3, r3 8045534: 2b00 cmp r3, #0 8045536: d115 bne.n 8045564 8045538: 4ba3 ldr r3, [pc, #652] ; (80457c8 ) 804553a: 785b ldrb r3, [r3, #1] 804553c: b2db uxtb r3, r3 804553e: 461a mov r2, r3 8045540: 4ba1 ldr r3, [pc, #644] ; (80457c8 ) 8045542: 4413 add r3, r2 8045544: 789b ldrb r3, [r3, #2] 8045546: b2db uxtb r3, r3 8045548: 2b01 cmp r3, #1 804554a: d10b bne.n 8045564 { pardata.IPR = ACC; 804554c: 4b9e ldr r3, [pc, #632] ; (80457c8 ) 804554e: 2200 movs r2, #0 8045550: 705a strb r2, [r3, #1] pardata.IVS[pardata.IPR] = PEAK; 8045552: 4b9d ldr r3, [pc, #628] ; (80457c8 ) 8045554: 785b ldrb r3, [r3, #1] 8045556: b2db uxtb r3, r3 8045558: 461a mov r2, r3 804555a: 4b9b ldr r3, [pc, #620] ; (80457c8 ) 804555c: 4413 add r3, r2 804555e: 2200 movs r2, #0 8045560: 709a strb r2, [r3, #2] 8045562: e06a b.n 804563a } else if((pardata.IPR == VEL) && (pardata.IVS[pardata.IPR] == PEAK)) 8045564: 4b98 ldr r3, [pc, #608] ; (80457c8 ) 8045566: 785b ldrb r3, [r3, #1] 8045568: b2db uxtb r3, r3 804556a: 2b01 cmp r3, #1 804556c: d115 bne.n 804559a 804556e: 4b96 ldr r3, [pc, #600] ; (80457c8 ) 8045570: 785b ldrb r3, [r3, #1] 8045572: b2db uxtb r3, r3 8045574: 461a mov r2, r3 8045576: 4b94 ldr r3, [pc, #592] ; (80457c8 ) 8045578: 4413 add r3, r2 804557a: 789b ldrb r3, [r3, #2] 804557c: b2db uxtb r3, r3 804557e: 2b00 cmp r3, #0 8045580: d10b bne.n 804559a { pardata.IPR = ACC; 8045582: 4b91 ldr r3, [pc, #580] ; (80457c8 ) 8045584: 2200 movs r2, #0 8045586: 705a strb r2, [r3, #1] pardata.IVS[pardata.IPR] = RMS; 8045588: 4b8f ldr r3, [pc, #572] ; (80457c8 ) 804558a: 785b ldrb r3, [r3, #1] 804558c: b2db uxtb r3, r3 804558e: 461a mov r2, r3 8045590: 4b8d ldr r3, [pc, #564] ; (80457c8 ) 8045592: 4413 add r3, r2 8045594: 2201 movs r2, #1 8045596: 709a strb r2, [r3, #2] 8045598: e04f b.n 804563a } else if((pardata.IPR == VEL) && (pardata.IVS[pardata.IPR] == RMS)) 804559a: 4b8b ldr r3, [pc, #556] ; (80457c8 ) 804559c: 785b ldrb r3, [r3, #1] 804559e: b2db uxtb r3, r3 80455a0: 2b01 cmp r3, #1 80455a2: d115 bne.n 80455d0 80455a4: 4b88 ldr r3, [pc, #544] ; (80457c8 ) 80455a6: 785b ldrb r3, [r3, #1] 80455a8: b2db uxtb r3, r3 80455aa: 461a mov r2, r3 80455ac: 4b86 ldr r3, [pc, #536] ; (80457c8 ) 80455ae: 4413 add r3, r2 80455b0: 789b ldrb r3, [r3, #2] 80455b2: b2db uxtb r3, r3 80455b4: 2b01 cmp r3, #1 80455b6: d10b bne.n 80455d0 { pardata.IPR = VEL; 80455b8: 4b83 ldr r3, [pc, #524] ; (80457c8 ) 80455ba: 2201 movs r2, #1 80455bc: 705a strb r2, [r3, #1] pardata.IVS[pardata.IPR] = PEAK; 80455be: 4b82 ldr r3, [pc, #520] ; (80457c8 ) 80455c0: 785b ldrb r3, [r3, #1] 80455c2: b2db uxtb r3, r3 80455c4: 461a mov r2, r3 80455c6: 4b80 ldr r3, [pc, #512] ; (80457c8 ) 80455c8: 4413 add r3, r2 80455ca: 2200 movs r2, #0 80455cc: 709a strb r2, [r3, #2] 80455ce: e034 b.n 804563a } else if((pardata.IPR == DIS) && (pardata.IVS[pardata.IPR] == PEAK)) 80455d0: 4b7d ldr r3, [pc, #500] ; (80457c8 ) 80455d2: 785b ldrb r3, [r3, #1] 80455d4: b2db uxtb r3, r3 80455d6: 2b02 cmp r3, #2 80455d8: d115 bne.n 8045606 80455da: 4b7b ldr r3, [pc, #492] ; (80457c8 ) 80455dc: 785b ldrb r3, [r3, #1] 80455de: b2db uxtb r3, r3 80455e0: 461a mov r2, r3 80455e2: 4b79 ldr r3, [pc, #484] ; (80457c8 ) 80455e4: 4413 add r3, r2 80455e6: 789b ldrb r3, [r3, #2] 80455e8: b2db uxtb r3, r3 80455ea: 2b00 cmp r3, #0 80455ec: d10b bne.n 8045606 { pardata.IPR = VEL; 80455ee: 4b76 ldr r3, [pc, #472] ; (80457c8 ) 80455f0: 2201 movs r2, #1 80455f2: 705a strb r2, [r3, #1] pardata.IVS[pardata.IPR] = RMS; 80455f4: 4b74 ldr r3, [pc, #464] ; (80457c8 ) 80455f6: 785b ldrb r3, [r3, #1] 80455f8: b2db uxtb r3, r3 80455fa: 461a mov r2, r3 80455fc: 4b72 ldr r3, [pc, #456] ; (80457c8 ) 80455fe: 4413 add r3, r2 8045600: 2201 movs r2, #1 8045602: 709a strb r2, [r3, #2] 8045604: e019 b.n 804563a } else if((pardata.IPR == DIS) && (pardata.IVS[pardata.IPR] == RMS)) 8045606: 4b70 ldr r3, [pc, #448] ; (80457c8 ) 8045608: 785b ldrb r3, [r3, #1] 804560a: b2db uxtb r3, r3 804560c: 2b02 cmp r3, #2 804560e: d114 bne.n 804563a 8045610: 4b6d ldr r3, [pc, #436] ; (80457c8 ) 8045612: 785b ldrb r3, [r3, #1] 8045614: b2db uxtb r3, r3 8045616: 461a mov r2, r3 8045618: 4b6b ldr r3, [pc, #428] ; (80457c8 ) 804561a: 4413 add r3, r2 804561c: 789b ldrb r3, [r3, #2] 804561e: b2db uxtb r3, r3 8045620: 2b01 cmp r3, #1 8045622: d10a bne.n 804563a { pardata.IPR = DIS; 8045624: 4b68 ldr r3, [pc, #416] ; (80457c8 ) 8045626: 2202 movs r2, #2 8045628: 705a strb r2, [r3, #1] pardata.IVS[pardata.IPR] = PEAK; 804562a: 4b67 ldr r3, [pc, #412] ; (80457c8 ) 804562c: 785b ldrb r3, [r3, #1] 804562e: b2db uxtb r3, r3 8045630: 461a mov r2, r3 8045632: 4b65 ldr r3, [pc, #404] ; (80457c8 ) 8045634: 4413 add r3, r2 8045636: 2200 movs r2, #0 8045638: 709a strb r2, [r3, #2] } if(pardata.IPR > ACC) 804563a: 4b63 ldr r3, [pc, #396] ; (80457c8 ) 804563c: 785b ldrb r3, [r3, #1] 804563e: b2db uxtb r3, r3 8045640: 2b00 cmp r3, #0 8045642: d00e beq.n 8045662 { if(pardata.HP < 2.0f) 8045644: 4b60 ldr r3, [pc, #384] ; (80457c8 ) 8045646: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 804564a: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 804564e: eef4 7ac7 vcmpe.f32 s15, s14 8045652: eef1 fa10 vmrs APSR_nzcv, fpscr 8045656: d504 bpl.n 8045662 pardata.HP = 2.0f; 8045658: 4b5b ldr r3, [pc, #364] ; (80457c8 ) 804565a: f04f 4280 mov.w r2, #1073741824 ; 0x40000000 804565e: f8c3 20d4 str.w r2, [r3, #212] ; 0xd4 } if((pardata.OPTIONS & maskFFT) < third) 8045662: 4b59 ldr r3, [pc, #356] ; (80457c8 ) 8045664: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8045668: f003 0330 and.w r3, r3, #48 ; 0x30 804566c: 2b2f cmp r3, #47 ; 0x2f 804566e: d863 bhi.n 8045738 { if(pardata.HP > (((float32_t) FS[pardata.FRQ] / 5.0f) + 0.00005f)) 8045670: 4b55 ldr r3, [pc, #340] ; (80457c8 ) 8045672: ed93 7a35 vldr s14, [r3, #212] ; 0xd4 8045676: 4b54 ldr r3, [pc, #336] ; (80457c8 ) 8045678: 7adb ldrb r3, [r3, #11] 804567a: b2db uxtb r3, r3 804567c: 461a mov r2, r3 804567e: 4b53 ldr r3, [pc, #332] ; (80457cc ) 8045680: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8045684: ee07 3a90 vmov s15, r3 8045688: eef8 6a67 vcvt.f32.u32 s13, s15 804568c: eeb1 6a04 vmov.f32 s12, #20 ; 0x40a00000 5.0 8045690: eec6 7a86 vdiv.f32 s15, s13, s12 8045694: eddf 6a4e vldr s13, [pc, #312] ; 80457d0 8045698: ee77 7aa6 vadd.f32 s15, s15, s13 804569c: eeb4 7ae7 vcmpe.f32 s14, s15 80456a0: eef1 fa10 vmrs APSR_nzcv, fpscr 80456a4: dd15 ble.n 80456d2 pardata.HP = (float32_t) (FS[pardata.FRQ] / 5) + 0.0001f; 80456a6: 4b48 ldr r3, [pc, #288] ; (80457c8 ) 80456a8: 7adb ldrb r3, [r3, #11] 80456aa: b2db uxtb r3, r3 80456ac: 461a mov r2, r3 80456ae: 4b47 ldr r3, [pc, #284] ; (80457cc ) 80456b0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80456b4: 4a47 ldr r2, [pc, #284] ; (80457d4 ) 80456b6: fba2 2303 umull r2, r3, r2, r3 80456ba: 089b lsrs r3, r3, #2 80456bc: ee07 3a90 vmov s15, r3 80456c0: eef8 7a67 vcvt.f32.u32 s15, s15 80456c4: ed9f 7a44 vldr s14, [pc, #272] ; 80457d8 80456c8: ee77 7a87 vadd.f32 s15, s15, s14 80456cc: 4b3e ldr r3, [pc, #248] ; (80457c8 ) 80456ce: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 if(pardata.LP > (((float32_t) FS[pardata.FRQ] / 5.0f) + 0.00005f)) 80456d2: 4b3d ldr r3, [pc, #244] ; (80457c8 ) 80456d4: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 80456d8: 4b3b ldr r3, [pc, #236] ; (80457c8 ) 80456da: 7adb ldrb r3, [r3, #11] 80456dc: b2db uxtb r3, r3 80456de: 461a mov r2, r3 80456e0: 4b3a ldr r3, [pc, #232] ; (80457cc ) 80456e2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80456e6: ee07 3a90 vmov s15, r3 80456ea: eef8 6a67 vcvt.f32.u32 s13, s15 80456ee: eeb1 6a04 vmov.f32 s12, #20 ; 0x40a00000 5.0 80456f2: eec6 7a86 vdiv.f32 s15, s13, s12 80456f6: eddf 6a36 vldr s13, [pc, #216] ; 80457d0 80456fa: ee77 7aa6 vadd.f32 s15, s15, s13 80456fe: eeb4 7ae7 vcmpe.f32 s14, s15 8045702: eef1 fa10 vmrs APSR_nzcv, fpscr 8045706: dc00 bgt.n 804570a pardata.LP = (float32_t) (FS[pardata.FRQ] / 10.0f) + 0.0001f; } } else menupos = Ok; break; 8045708: e0e8 b.n 80458dc pardata.LP = (float32_t) (FS[pardata.FRQ] / 5) + 0.0001f; 804570a: 4b2f ldr r3, [pc, #188] ; (80457c8 ) 804570c: 7adb ldrb r3, [r3, #11] 804570e: b2db uxtb r3, r3 8045710: 461a mov r2, r3 8045712: 4b2e ldr r3, [pc, #184] ; (80457cc ) 8045714: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8045718: 4a2e ldr r2, [pc, #184] ; (80457d4 ) 804571a: fba2 2303 umull r2, r3, r2, r3 804571e: 089b lsrs r3, r3, #2 8045720: ee07 3a90 vmov s15, r3 8045724: eef8 7a67 vcvt.f32.u32 s15, s15 8045728: ed9f 7a2b vldr s14, [pc, #172] ; 80457d8 804572c: ee77 7a87 vadd.f32 s15, s15, s14 8045730: 4b25 ldr r3, [pc, #148] ; (80457c8 ) 8045732: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 break; 8045736: e0d1 b.n 80458dc if(pardata.HP > ((float32_t) FS[pardata.FRQ] / 10.0f)) 8045738: 4b23 ldr r3, [pc, #140] ; (80457c8 ) 804573a: ed93 7a35 vldr s14, [r3, #212] ; 0xd4 804573e: 4b22 ldr r3, [pc, #136] ; (80457c8 ) 8045740: 7adb ldrb r3, [r3, #11] 8045742: b2db uxtb r3, r3 8045744: 461a mov r2, r3 8045746: 4b21 ldr r3, [pc, #132] ; (80457cc ) 8045748: f853 3022 ldr.w r3, [r3, r2, lsl #2] 804574c: ee07 3a90 vmov s15, r3 8045750: eef8 6a67 vcvt.f32.u32 s13, s15 8045754: eeb2 6a04 vmov.f32 s12, #36 ; 0x41200000 10.0 8045758: eec6 7a86 vdiv.f32 s15, s13, s12 804575c: eeb4 7ae7 vcmpe.f32 s14, s15 8045760: eef1 fa10 vmrs APSR_nzcv, fpscr 8045764: dd15 ble.n 8045792 pardata.HP = (float32_t) (FS[pardata.FRQ] / 10.0f) + 0.0001f; 8045766: 4b18 ldr r3, [pc, #96] ; (80457c8 ) 8045768: 7adb ldrb r3, [r3, #11] 804576a: b2db uxtb r3, r3 804576c: 461a mov r2, r3 804576e: 4b17 ldr r3, [pc, #92] ; (80457cc ) 8045770: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8045774: ee07 3a90 vmov s15, r3 8045778: eeb8 7a67 vcvt.f32.u32 s14, s15 804577c: eef2 6a04 vmov.f32 s13, #36 ; 0x41200000 10.0 8045780: eec7 7a26 vdiv.f32 s15, s14, s13 8045784: ed9f 7a14 vldr s14, [pc, #80] ; 80457d8 8045788: ee77 7a87 vadd.f32 s15, s15, s14 804578c: 4b0e ldr r3, [pc, #56] ; (80457c8 ) 804578e: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 if(pardata.LP > ((float32_t) FS[pardata.FRQ] / 10.0f)) 8045792: 4b0d ldr r3, [pc, #52] ; (80457c8 ) 8045794: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 8045798: 4b0b ldr r3, [pc, #44] ; (80457c8 ) 804579a: 7adb ldrb r3, [r3, #11] 804579c: b2db uxtb r3, r3 804579e: 461a mov r2, r3 80457a0: 4b0a ldr r3, [pc, #40] ; (80457cc ) 80457a2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80457a6: ee07 3a90 vmov s15, r3 80457aa: eef8 6a67 vcvt.f32.u32 s13, s15 80457ae: eeb2 6a04 vmov.f32 s12, #36 ; 0x41200000 10.0 80457b2: eec6 7a86 vdiv.f32 s15, s13, s12 80457b6: eeb4 7ae7 vcmpe.f32 s14, s15 80457ba: eef1 fa10 vmrs APSR_nzcv, fpscr 80457be: dc0d bgt.n 80457dc break; 80457c0: e08c b.n 80458dc 80457c2: bf00 nop 80457c4: 20020f84 .word 0x20020f84 80457c8: 20023e60 .word 0x20023e60 80457cc: 080ee890 .word 0x080ee890 80457d0: 3851b717 .word 0x3851b717 80457d4: cccccccd .word 0xcccccccd 80457d8: 38d1b717 .word 0x38d1b717 pardata.LP = (float32_t) (FS[pardata.FRQ] / 10.0f) + 0.0001f; 80457dc: 4b87 ldr r3, [pc, #540] ; (80459fc ) 80457de: 7adb ldrb r3, [r3, #11] 80457e0: b2db uxtb r3, r3 80457e2: 461a mov r2, r3 80457e4: 4b86 ldr r3, [pc, #536] ; (8045a00 ) 80457e6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80457ea: ee07 3a90 vmov s15, r3 80457ee: eeb8 7a67 vcvt.f32.u32 s14, s15 80457f2: eef2 6a04 vmov.f32 s13, #36 ; 0x41200000 10.0 80457f6: eec7 7a26 vdiv.f32 s15, s14, s13 80457fa: ed9f 7a82 vldr s14, [pc, #520] ; 8045a04 80457fe: ee77 7a87 vadd.f32 s15, s15, s14 8045802: 4b7e ldr r3, [pc, #504] ; (80459fc ) 8045804: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 break; 8045808: e068 b.n 80458dc menupos = Ok; 804580a: 4b7f ldr r3, [pc, #508] ; (8045a08 ) 804580c: 2200 movs r2, #0 804580e: 701a strb r2, [r3, #0] break; 8045810: e064 b.n 80458dc case SpecLines: if(focused) 8045812: 4b7e ldr r3, [pc, #504] ; (8045a0c ) 8045814: 781b ldrb r3, [r3, #0] 8045816: b2db uxtb r3, r3 8045818: 2b00 cmp r3, #0 804581a: d010 beq.n 804583e { if(pardata.LNE < N3200) pardata.LNE++; 804581c: 4b77 ldr r3, [pc, #476] ; (80459fc ) 804581e: 79db ldrb r3, [r3, #7] 8045820: b2db uxtb r3, r3 8045822: 2b02 cmp r3, #2 8045824: d807 bhi.n 8045836 8045826: 4b75 ldr r3, [pc, #468] ; (80459fc ) 8045828: 79db ldrb r3, [r3, #7] 804582a: b2db uxtb r3, r3 804582c: 3301 adds r3, #1 804582e: b2da uxtb r2, r3 8045830: 4b72 ldr r3, [pc, #456] ; (80459fc ) 8045832: 71da strb r2, [r3, #7] else pardata.LNE = N400; } else menupos = Ok; break; 8045834: e052 b.n 80458dc else pardata.LNE = N400; 8045836: 4b71 ldr r3, [pc, #452] ; (80459fc ) 8045838: 2200 movs r2, #0 804583a: 71da strb r2, [r3, #7] break; 804583c: e04e b.n 80458dc menupos = Ok; 804583e: 4b72 ldr r3, [pc, #456] ; (8045a08 ) 8045840: 2200 movs r2, #0 8045842: 701a strb r2, [r3, #0] break; 8045844: e04a b.n 80458dc case SpecWin: if(focused) 8045846: 4b71 ldr r3, [pc, #452] ; (8045a0c ) 8045848: 781b ldrb r3, [r3, #0] 804584a: b2db uxtb r3, r3 804584c: 2b00 cmp r3, #0 804584e: d010 beq.n 8045872 { if(pardata.WIN > RECT) pardata.WIN--; 8045850: 4b6a ldr r3, [pc, #424] ; (80459fc ) 8045852: 7a5b ldrb r3, [r3, #9] 8045854: b2db uxtb r3, r3 8045856: 2b00 cmp r3, #0 8045858: d007 beq.n 804586a 804585a: 4b68 ldr r3, [pc, #416] ; (80459fc ) 804585c: 7a5b ldrb r3, [r3, #9] 804585e: b2db uxtb r3, r3 8045860: 3b01 subs r3, #1 8045862: b2da uxtb r2, r3 8045864: 4b65 ldr r3, [pc, #404] ; (80459fc ) 8045866: 725a strb r2, [r3, #9] else pardata.WIN = HANN; } else menupos = Ok; break; 8045868: e038 b.n 80458dc else pardata.WIN = HANN; 804586a: 4b64 ldr r3, [pc, #400] ; (80459fc ) 804586c: 2201 movs r2, #1 804586e: 725a strb r2, [r3, #9] break; 8045870: e034 b.n 80458dc menupos = Ok; 8045872: 4b65 ldr r3, [pc, #404] ; (8045a08 ) 8045874: 2200 movs r2, #0 8045876: 701a strb r2, [r3, #0] break; 8045878: e030 b.n 80458dc case LinLog: if(focused) 804587a: 4b64 ldr r3, [pc, #400] ; (8045a0c ) 804587c: 781b ldrb r3, [r3, #0] 804587e: b2db uxtb r3, r3 8045880: 2b00 cmp r3, #0 8045882: d00c beq.n 804589e { if(pardata.MSH == LOG) pardata.MSH = LIN; 8045884: 4b5d ldr r3, [pc, #372] ; (80459fc ) 8045886: 7a9b ldrb r3, [r3, #10] 8045888: b2db uxtb r3, r3 804588a: 2b01 cmp r3, #1 804588c: d103 bne.n 8045896 804588e: 4b5b ldr r3, [pc, #364] ; (80459fc ) 8045890: 2200 movs r2, #0 8045892: 729a strb r2, [r3, #10] else pardata.MSH = LOG; } else menupos = Ok; break; 8045894: e022 b.n 80458dc else pardata.MSH = LOG; 8045896: 4b59 ldr r3, [pc, #356] ; (80459fc ) 8045898: 2201 movs r2, #1 804589a: 729a strb r2, [r3, #10] break; 804589c: e01e b.n 80458dc menupos = Ok; 804589e: 4b5a ldr r3, [pc, #360] ; (8045a08 ) 80458a0: 2200 movs r2, #0 80458a2: 701a strb r2, [r3, #0] break; 80458a4: e01a b.n 80458dc case SAverage: if(focused) 80458a6: 4b59 ldr r3, [pc, #356] ; (8045a0c ) 80458a8: 781b ldrb r3, [r3, #0] 80458aa: b2db uxtb r3, r3 80458ac: 2b00 cmp r3, #0 80458ae: d010 beq.n 80458d2 { if(pardata.AVG > AVG1) pardata.AVG--; 80458b0: 4b52 ldr r3, [pc, #328] ; (80459fc ) 80458b2: 7b5b ldrb r3, [r3, #13] 80458b4: b2db uxtb r3, r3 80458b6: 2b00 cmp r3, #0 80458b8: d007 beq.n 80458ca 80458ba: 4b50 ldr r3, [pc, #320] ; (80459fc ) 80458bc: 7b5b ldrb r3, [r3, #13] 80458be: b2db uxtb r3, r3 80458c0: 3b01 subs r3, #1 80458c2: b2da uxtb r2, r3 80458c4: 4b4d ldr r3, [pc, #308] ; (80459fc ) 80458c6: 735a strb r2, [r3, #13] else pardata.AVG = AVG512; } else menupos = Ok; break; 80458c8: e008 b.n 80458dc else pardata.AVG = AVG512; 80458ca: 4b4c ldr r3, [pc, #304] ; (80459fc ) 80458cc: 2209 movs r2, #9 80458ce: 735a strb r2, [r3, #13] break; 80458d0: e004 b.n 80458dc menupos = Ok; 80458d2: 4b4d ldr r3, [pc, #308] ; (8045a08 ) 80458d4: 2200 movs r2, #0 80458d6: 701a strb r2, [r3, #0] break; 80458d8: e000 b.n 80458dc break; 80458da: bf00 nop } break; 80458dc: f000 bc65 b.w 80461aa case PARAM_OSC: switch(menupos) 80458e0: 4b49 ldr r3, [pc, #292] ; (8045a08 ) 80458e2: 781b ldrb r3, [r3, #0] 80458e4: b2db uxtb r3, r3 80458e6: 3b01 subs r3, #1 80458e8: 2b23 cmp r3, #35 ; 0x23 80458ea: f200 8461 bhi.w 80461b0 80458ee: a201 add r2, pc, #4 ; (adr r2, 80458f4 ) 80458f0: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80458f4: 08045985 .word 0x08045985 80458f8: 080461b1 .word 0x080461b1 80458fc: 08045b59 .word 0x08045b59 8045900: 08045c09 .word 0x08045c09 8045904: 08045c9d .word 0x08045c9d 8045908: 08045c9d .word 0x08045c9d 804590c: 08045c9d .word 0x08045c9d 8045910: 08045c9d .word 0x08045c9d 8045914: 08045c3d .word 0x08045c3d 8045918: 08045c45 .word 0x08045c45 804591c: 08045c4d .word 0x08045c4d 8045920: 08045c55 .word 0x08045c55 8045924: 08045c5d .word 0x08045c5d 8045928: 08045c65 .word 0x08045c65 804592c: 08045c6d .word 0x08045c6d 8045930: 08045c75 .word 0x08045c75 8045934: 08045c7d .word 0x08045c7d 8045938: 08045c85 .word 0x08045c85 804593c: 08045c8d .word 0x08045c8d 8045940: 08045c95 .word 0x08045c95 8045944: 080461b1 .word 0x080461b1 8045948: 080461b1 .word 0x080461b1 804594c: 08045c9d .word 0x08045c9d 8045950: 08045c9d .word 0x08045c9d 8045954: 08045af9 .word 0x08045af9 8045958: 08045b21 .word 0x08045b21 804595c: 08045b19 .word 0x08045b19 8045960: 08045b11 .word 0x08045b11 8045964: 08045b09 .word 0x08045b09 8045968: 08045b01 .word 0x08045b01 804596c: 08045b29 .word 0x08045b29 8045970: 08045b51 .word 0x08045b51 8045974: 08045b49 .word 0x08045b49 8045978: 08045b41 .word 0x08045b41 804597c: 08045b39 .word 0x08045b39 8045980: 08045b31 .word 0x08045b31 { case OscValue: if(focused) 8045984: 4b21 ldr r3, [pc, #132] ; (8045a0c ) 8045986: 781b ldrb r3, [r3, #0] 8045988: b2db uxtb r3, r3 804598a: 2b00 cmp r3, #0 804598c: f000 80b0 beq.w 8045af0 { if(pardata.IPR > ACC) pardata.IPR--; 8045990: 4b1a ldr r3, [pc, #104] ; (80459fc ) 8045992: 785b ldrb r3, [r3, #1] 8045994: b2db uxtb r3, r3 8045996: 2b00 cmp r3, #0 8045998: d007 beq.n 80459aa 804599a: 4b18 ldr r3, [pc, #96] ; (80459fc ) 804599c: 785b ldrb r3, [r3, #1] 804599e: b2db uxtb r3, r3 80459a0: 3b01 subs r3, #1 80459a2: b2da uxtb r2, r3 80459a4: 4b15 ldr r3, [pc, #84] ; (80459fc ) 80459a6: 705a strb r2, [r3, #1] 80459a8: e002 b.n 80459b0 else pardata.IPR = DIS; 80459aa: 4b14 ldr r3, [pc, #80] ; (80459fc ) 80459ac: 2202 movs r2, #2 80459ae: 705a strb r2, [r3, #1] if(pardata.IPR > ACC) 80459b0: 4b12 ldr r3, [pc, #72] ; (80459fc ) 80459b2: 785b ldrb r3, [r3, #1] 80459b4: b2db uxtb r3, r3 80459b6: 2b00 cmp r3, #0 80459b8: d02a beq.n 8045a10 { if(pardata.HP < 2.0f) 80459ba: 4b10 ldr r3, [pc, #64] ; (80459fc ) 80459bc: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 80459c0: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 80459c4: eef4 7ac7 vcmpe.f32 s15, s14 80459c8: eef1 fa10 vmrs APSR_nzcv, fpscr 80459cc: d504 bpl.n 80459d8 pardata.HP = 2.0f; 80459ce: 4b0b ldr r3, [pc, #44] ; (80459fc ) 80459d0: f04f 4280 mov.w r2, #1073741824 ; 0x40000000 80459d4: f8c3 20d4 str.w r2, [r3, #212] ; 0xd4 } while((((float64_t) FS[pardata.FRQ]) / ((float64_t) pardata.LP) + 0.0005f) < 5.0) 80459d8: e01a b.n 8045a10 { if(pardata.FRQ > _125Hz) 80459da: 4b08 ldr r3, [pc, #32] ; (80459fc ) 80459dc: 7adb ldrb r3, [r3, #11] 80459de: b2db uxtb r3, r3 80459e0: 2b00 cmp r3, #0 80459e2: d007 beq.n 80459f4 pardata.FRQ--; 80459e4: 4b05 ldr r3, [pc, #20] ; (80459fc ) 80459e6: 7adb ldrb r3, [r3, #11] 80459e8: b2db uxtb r3, r3 80459ea: 3b01 subs r3, #1 80459ec: b2da uxtb r2, r3 80459ee: 4b03 ldr r3, [pc, #12] ; (80459fc ) 80459f0: 72da strb r2, [r3, #11] 80459f2: e00d b.n 8045a10 else { pardata.FRQ = _64000Hz; 80459f4: 4b01 ldr r3, [pc, #4] ; (80459fc ) 80459f6: 2209 movs r2, #9 80459f8: 72da strb r2, [r3, #11] break; 80459fa: e026 b.n 8045a4a 80459fc: 20023e60 .word 0x20023e60 8045a00: 080ee890 .word 0x080ee890 8045a04: 38d1b717 .word 0x38d1b717 8045a08: 20020070 .word 0x20020070 8045a0c: 20020f84 .word 0x20020f84 while((((float64_t) FS[pardata.FRQ]) / ((float64_t) pardata.LP) + 0.0005f) < 5.0) 8045a10: 4bab ldr r3, [pc, #684] ; (8045cc0 ) 8045a12: 7adb ldrb r3, [r3, #11] 8045a14: b2db uxtb r3, r3 8045a16: 461a mov r2, r3 8045a18: 4baa ldr r3, [pc, #680] ; (8045cc4 ) 8045a1a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8045a1e: ee07 3a90 vmov s15, r3 8045a22: eeb8 5b67 vcvt.f64.u32 d5, s15 8045a26: 4ba6 ldr r3, [pc, #664] ; (8045cc0 ) 8045a28: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 8045a2c: eeb7 6ae7 vcvt.f64.f32 d6, s15 8045a30: ee85 7b06 vdiv.f64 d7, d5, d6 8045a34: ed9f 6b9c vldr d6, [pc, #624] ; 8045ca8 8045a38: ee37 7b06 vadd.f64 d7, d7, d6 8045a3c: eeb1 6b04 vmov.f64 d6, #20 ; 0x40a00000 5.0 8045a40: eeb4 7bc6 vcmpe.f64 d7, d6 8045a44: eef1 fa10 vmrs APSR_nzcv, fpscr 8045a48: d4c7 bmi.n 80459da } } if((((float64_t) FS[pardata.FRQ]) / ((float64_t) pardata.LP) + 0.00005f) < 5.0) 8045a4a: 4b9d ldr r3, [pc, #628] ; (8045cc0 ) 8045a4c: 7adb ldrb r3, [r3, #11] 8045a4e: b2db uxtb r3, r3 8045a50: 461a mov r2, r3 8045a52: 4b9c ldr r3, [pc, #624] ; (8045cc4 ) 8045a54: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8045a58: ee07 3a90 vmov s15, r3 8045a5c: eeb8 5b67 vcvt.f64.u32 d5, s15 8045a60: 4b97 ldr r3, [pc, #604] ; (8045cc0 ) 8045a62: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 8045a66: eeb7 6ae7 vcvt.f64.f32 d6, s15 8045a6a: ee85 7b06 vdiv.f64 d7, d5, d6 8045a6e: ed9f 6b90 vldr d6, [pc, #576] ; 8045cb0 8045a72: ee37 7b06 vadd.f64 d7, d7, d6 8045a76: eeb1 6b04 vmov.f64 d6, #20 ; 0x40a00000 5.0 8045a7a: eeb4 7bc6 vcmpe.f64 d7, d6 8045a7e: eef1 fa10 vmrs APSR_nzcv, fpscr 8045a82: d51f bpl.n 8045ac4 { pardata.LP = (float32_t) (FS[pardata.FRQ] / 5); 8045a84: 4b8e ldr r3, [pc, #568] ; (8045cc0 ) 8045a86: 7adb ldrb r3, [r3, #11] 8045a88: b2db uxtb r3, r3 8045a8a: 461a mov r2, r3 8045a8c: 4b8d ldr r3, [pc, #564] ; (8045cc4 ) 8045a8e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8045a92: 4a8d ldr r2, [pc, #564] ; (8045cc8 ) 8045a94: fba2 2303 umull r2, r3, r2, r3 8045a98: 089b lsrs r3, r3, #2 8045a9a: ee07 3a90 vmov s15, r3 8045a9e: eef8 7a67 vcvt.f32.u32 s15, s15 8045aa2: 4b87 ldr r3, [pc, #540] ; (8045cc0 ) 8045aa4: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 pardata.LP += 0.0001; 8045aa8: 4b85 ldr r3, [pc, #532] ; (8045cc0 ) 8045aaa: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 8045aae: eeb7 7ae7 vcvt.f64.f32 d7, s15 8045ab2: ed9f 6b81 vldr d6, [pc, #516] ; 8045cb8 8045ab6: ee37 7b06 vadd.f64 d7, d7, d6 8045aba: eef7 7bc7 vcvt.f32.f64 s15, d7 8045abe: 4b80 ldr r3, [pc, #512] ; (8045cc0 ) 8045ac0: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 } if((pardata.IPR > ACC) && (pardata.THR & 0x80)) 8045ac4: 4b7e ldr r3, [pc, #504] ; (8045cc0 ) 8045ac6: 785b ldrb r3, [r3, #1] 8045ac8: b2db uxtb r3, r3 8045aca: 2b00 cmp r3, #0 8045acc: f000 80ea beq.w 8045ca4 8045ad0: 4b7b ldr r3, [pc, #492] ; (8045cc0 ) 8045ad2: 7bdb ldrb r3, [r3, #15] 8045ad4: b2db uxtb r3, r3 8045ad6: b25b sxtb r3, r3 8045ad8: 2b00 cmp r3, #0 8045ada: f280 80e3 bge.w 8045ca4 pardata.THR &= 0x7f; 8045ade: 4b78 ldr r3, [pc, #480] ; (8045cc0 ) 8045ae0: 7bdb ldrb r3, [r3, #15] 8045ae2: b2db uxtb r3, r3 8045ae4: f003 037f and.w r3, r3, #127 ; 0x7f 8045ae8: b2da uxtb r2, r3 8045aea: 4b75 ldr r3, [pc, #468] ; (8045cc0 ) 8045aec: 73da strb r2, [r3, #15] } else menupos = Ok; break; 8045aee: e0d9 b.n 8045ca4 menupos = Ok; 8045af0: 4b76 ldr r3, [pc, #472] ; (8045ccc ) 8045af2: 2200 movs r2, #0 8045af4: 701a strb r2, [r3, #0] break; 8045af6: e0d5 b.n 8045ca4 case FilterHP_IDT: menupos = FilterHP_IKD; break; 8045af8: 4b74 ldr r3, [pc, #464] ; (8045ccc ) 8045afa: 221e movs r2, #30 8045afc: 701a strb r2, [r3, #0] 8045afe: e0d2 b.n 8045ca6 case FilterHP_IKD: menupos = FilterHP_IEE; break; 8045b00: 4b72 ldr r3, [pc, #456] ; (8045ccc ) 8045b02: 221d movs r2, #29 8045b04: 701a strb r2, [r3, #0] 8045b06: e0ce b.n 8045ca6 case FilterHP_IEE: menupos = FilterHP_IED; break; 8045b08: 4b70 ldr r3, [pc, #448] ; (8045ccc ) 8045b0a: 221c movs r2, #28 8045b0c: 701a strb r2, [r3, #0] 8045b0e: e0ca b.n 8045ca6 case FilterHP_IED: menupos = FilterHP_IES; break; 8045b10: 4b6e ldr r3, [pc, #440] ; (8045ccc ) 8045b12: 221b movs r2, #27 8045b14: 701a strb r2, [r3, #0] 8045b16: e0c6 b.n 8045ca6 case FilterHP_IES: menupos = FilterHP_IET; break; 8045b18: 4b6c ldr r3, [pc, #432] ; (8045ccc ) 8045b1a: 221a movs r2, #26 8045b1c: 701a strb r2, [r3, #0] 8045b1e: e0c2 b.n 8045ca6 case FilterHP_IET: menupos = FilterHP_IDT; break; 8045b20: 4b6a ldr r3, [pc, #424] ; (8045ccc ) 8045b22: 2219 movs r2, #25 8045b24: 701a strb r2, [r3, #0] 8045b26: e0be b.n 8045ca6 case FilterLP_IDT: menupos = FilterLP_IKD; break; 8045b28: 4b68 ldr r3, [pc, #416] ; (8045ccc ) 8045b2a: 2224 movs r2, #36 ; 0x24 8045b2c: 701a strb r2, [r3, #0] 8045b2e: e0ba b.n 8045ca6 case FilterLP_IKD: menupos = FilterLP_IEE; break; 8045b30: 4b66 ldr r3, [pc, #408] ; (8045ccc ) 8045b32: 2223 movs r2, #35 ; 0x23 8045b34: 701a strb r2, [r3, #0] 8045b36: e0b6 b.n 8045ca6 case FilterLP_IEE: menupos = FilterLP_IED; break; 8045b38: 4b64 ldr r3, [pc, #400] ; (8045ccc ) 8045b3a: 2222 movs r2, #34 ; 0x22 8045b3c: 701a strb r2, [r3, #0] 8045b3e: e0b2 b.n 8045ca6 case FilterLP_IED: menupos = FilterLP_IES; break; 8045b40: 4b62 ldr r3, [pc, #392] ; (8045ccc ) 8045b42: 2221 movs r2, #33 ; 0x21 8045b44: 701a strb r2, [r3, #0] 8045b46: e0ae b.n 8045ca6 case FilterLP_IES: menupos = FilterLP_IET; break; 8045b48: 4b60 ldr r3, [pc, #384] ; (8045ccc ) 8045b4a: 2220 movs r2, #32 8045b4c: 701a strb r2, [r3, #0] 8045b4e: e0aa b.n 8045ca6 case FilterLP_IET: menupos = FilterLP_IDT; break; 8045b50: 4b5e ldr r3, [pc, #376] ; (8045ccc ) 8045b52: 221f movs r2, #31 8045b54: 701a strb r2, [r3, #0] 8045b56: e0a6 b.n 8045ca6 case OscRate: if(focused) 8045b58: 4b5d ldr r3, [pc, #372] ; (8045cd0 ) 8045b5a: 781b ldrb r3, [r3, #0] 8045b5c: b2db uxtb r3, r3 8045b5e: 2b00 cmp r3, #0 8045b60: d04e beq.n 8045c00 { if(pardata.FRQ > _125Hz) pardata.FRQ--; 8045b62: 4b57 ldr r3, [pc, #348] ; (8045cc0 ) 8045b64: 7adb ldrb r3, [r3, #11] 8045b66: b2db uxtb r3, r3 8045b68: 2b00 cmp r3, #0 8045b6a: d007 beq.n 8045b7c 8045b6c: 4b54 ldr r3, [pc, #336] ; (8045cc0 ) 8045b6e: 7adb ldrb r3, [r3, #11] 8045b70: b2db uxtb r3, r3 8045b72: 3b01 subs r3, #1 8045b74: b2da uxtb r2, r3 8045b76: 4b52 ldr r3, [pc, #328] ; (8045cc0 ) 8045b78: 72da strb r2, [r3, #11] 8045b7a: e002 b.n 8045b82 else pardata.FRQ = _64000Hz; 8045b7c: 4b50 ldr r3, [pc, #320] ; (8045cc0 ) 8045b7e: 2209 movs r2, #9 8045b80: 72da strb r2, [r3, #11] pardata.FRQ = _64000Hz; break; } }*/ if((((float64_t) FS[pardata.FRQ]) / ((float64_t) pardata.LP) + 0.00005f) < 5.0) 8045b82: 4b4f ldr r3, [pc, #316] ; (8045cc0 ) 8045b84: 7adb ldrb r3, [r3, #11] 8045b86: b2db uxtb r3, r3 8045b88: 461a mov r2, r3 8045b8a: 4b4e ldr r3, [pc, #312] ; (8045cc4 ) 8045b8c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8045b90: ee07 3a90 vmov s15, r3 8045b94: eeb8 5b67 vcvt.f64.u32 d5, s15 8045b98: 4b49 ldr r3, [pc, #292] ; (8045cc0 ) 8045b9a: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 8045b9e: eeb7 6ae7 vcvt.f64.f32 d6, s15 8045ba2: ee85 7b06 vdiv.f64 d7, d5, d6 8045ba6: ed9f 6b42 vldr d6, [pc, #264] ; 8045cb0 8045baa: ee37 7b06 vadd.f64 d7, d7, d6 8045bae: eeb1 6b04 vmov.f64 d6, #20 ; 0x40a00000 5.0 8045bb2: eeb4 7bc6 vcmpe.f64 d7, d6 8045bb6: eef1 fa10 vmrs APSR_nzcv, fpscr 8045bba: d400 bmi.n 8045bbe } } else menupos = Ok; break; 8045bbc: e073 b.n 8045ca6 pardata.LP = (float32_t) (FS[pardata.FRQ] / 5); 8045bbe: 4b40 ldr r3, [pc, #256] ; (8045cc0 ) 8045bc0: 7adb ldrb r3, [r3, #11] 8045bc2: b2db uxtb r3, r3 8045bc4: 461a mov r2, r3 8045bc6: 4b3f ldr r3, [pc, #252] ; (8045cc4 ) 8045bc8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8045bcc: 4a3e ldr r2, [pc, #248] ; (8045cc8 ) 8045bce: fba2 2303 umull r2, r3, r2, r3 8045bd2: 089b lsrs r3, r3, #2 8045bd4: ee07 3a90 vmov s15, r3 8045bd8: eef8 7a67 vcvt.f32.u32 s15, s15 8045bdc: 4b38 ldr r3, [pc, #224] ; (8045cc0 ) 8045bde: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 pardata.LP += 0.0001; 8045be2: 4b37 ldr r3, [pc, #220] ; (8045cc0 ) 8045be4: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 8045be8: eeb7 7ae7 vcvt.f64.f32 d7, s15 8045bec: ed9f 6b32 vldr d6, [pc, #200] ; 8045cb8 8045bf0: ee37 7b06 vadd.f64 d7, d7, d6 8045bf4: eef7 7bc7 vcvt.f32.f64 s15, d7 8045bf8: 4b31 ldr r3, [pc, #196] ; (8045cc0 ) 8045bfa: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 break; 8045bfe: e052 b.n 8045ca6 menupos = Ok; 8045c00: 4b32 ldr r3, [pc, #200] ; (8045ccc ) 8045c02: 2200 movs r2, #0 8045c04: 701a strb r2, [r3, #0] break; 8045c06: e04e b.n 8045ca6 case OscLen: if(focused) 8045c08: 4b31 ldr r3, [pc, #196] ; (8045cd0 ) 8045c0a: 781b ldrb r3, [r3, #0] 8045c0c: b2db uxtb r3, r3 8045c0e: 2b00 cmp r3, #0 8045c10: d010 beq.n 8045c34 { if(pardata.LNE > N400) pardata.LNE--; 8045c12: 4b2b ldr r3, [pc, #172] ; (8045cc0 ) 8045c14: 79db ldrb r3, [r3, #7] 8045c16: b2db uxtb r3, r3 8045c18: 2b00 cmp r3, #0 8045c1a: d007 beq.n 8045c2c 8045c1c: 4b28 ldr r3, [pc, #160] ; (8045cc0 ) 8045c1e: 79db ldrb r3, [r3, #7] 8045c20: b2db uxtb r3, r3 8045c22: 3b01 subs r3, #1 8045c24: b2da uxtb r2, r3 8045c26: 4b26 ldr r3, [pc, #152] ; (8045cc0 ) 8045c28: 71da strb r2, [r3, #7] else pardata.LNE = N6400; } else menupos = Ok; break; 8045c2a: e03c b.n 8045ca6 else pardata.LNE = N6400; 8045c2c: 4b24 ldr r3, [pc, #144] ; (8045cc0 ) 8045c2e: 2204 movs r2, #4 8045c30: 71da strb r2, [r3, #7] break; 8045c32: e038 b.n 8045ca6 menupos = Ok; 8045c34: 4b25 ldr r3, [pc, #148] ; (8045ccc ) 8045c36: 2200 movs r2, #0 8045c38: 701a strb r2, [r3, #0] break; 8045c3a: e034 b.n 8045ca6 case OscThr_IDT: menupos = OscThr_IKD; 8045c3c: 4b23 ldr r3, [pc, #140] ; (8045ccc ) 8045c3e: 220e movs r2, #14 8045c40: 701a strb r2, [r3, #0] break; 8045c42: e030 b.n 8045ca6 case OscThr_IET: menupos = OscThr_IDT; 8045c44: 4b21 ldr r3, [pc, #132] ; (8045ccc ) 8045c46: 2209 movs r2, #9 8045c48: 701a strb r2, [r3, #0] break; 8045c4a: e02c b.n 8045ca6 case OscThr_IES: menupos = OscThr_IET; 8045c4c: 4b1f ldr r3, [pc, #124] ; (8045ccc ) 8045c4e: 220a movs r2, #10 8045c50: 701a strb r2, [r3, #0] break; 8045c52: e028 b.n 8045ca6 case OscThr_IED: menupos = OscThr_IES; 8045c54: 4b1d ldr r3, [pc, #116] ; (8045ccc ) 8045c56: 220b movs r2, #11 8045c58: 701a strb r2, [r3, #0] break; 8045c5a: e024 b.n 8045ca6 case OscThr_IEE: menupos = OscThr_IED; 8045c5c: 4b1b ldr r3, [pc, #108] ; (8045ccc ) 8045c5e: 220c movs r2, #12 8045c60: 701a strb r2, [r3, #0] break; 8045c62: e020 b.n 8045ca6 case OscThr_IKD: menupos = OscThr_IEE; 8045c64: 4b19 ldr r3, [pc, #100] ; (8045ccc ) 8045c66: 220d movs r2, #13 8045c68: 701a strb r2, [r3, #0] break; 8045c6a: e01c b.n 8045ca6 case OscMax_IDT: menupos = OscMax_IKD; 8045c6c: 4b17 ldr r3, [pc, #92] ; (8045ccc ) 8045c6e: 2214 movs r2, #20 8045c70: 701a strb r2, [r3, #0] break; 8045c72: e018 b.n 8045ca6 case OscMax_IET: menupos = OscMax_IDT; 8045c74: 4b15 ldr r3, [pc, #84] ; (8045ccc ) 8045c76: 220f movs r2, #15 8045c78: 701a strb r2, [r3, #0] break; 8045c7a: e014 b.n 8045ca6 case OscMax_IES: menupos = OscMax_IET; 8045c7c: 4b13 ldr r3, [pc, #76] ; (8045ccc ) 8045c7e: 2210 movs r2, #16 8045c80: 701a strb r2, [r3, #0] break; 8045c82: e010 b.n 8045ca6 case OscMax_IED: menupos = OscMax_IES; 8045c84: 4b11 ldr r3, [pc, #68] ; (8045ccc ) 8045c86: 2211 movs r2, #17 8045c88: 701a strb r2, [r3, #0] break; 8045c8a: e00c b.n 8045ca6 case OscMax_IEE: menupos = OscMax_IED; 8045c8c: 4b0f ldr r3, [pc, #60] ; (8045ccc ) 8045c8e: 2212 movs r2, #18 8045c90: 701a strb r2, [r3, #0] break; 8045c92: e008 b.n 8045ca6 case OscMax_IKD: menupos = OscMax_IEE; 8045c94: 4b0d ldr r3, [pc, #52] ; (8045ccc ) 8045c96: 2213 movs r2, #19 8045c98: 701a strb r2, [r3, #0] break; 8045c9a: e004 b.n 8045ca6 case OscThr: case OscThr_ALL: case OscMax_ALL: case FilterHP: case FilterLP: menupos = Ok; 8045c9c: 4b0b ldr r3, [pc, #44] ; (8045ccc ) 8045c9e: 2200 movs r2, #0 8045ca0: 701a strb r2, [r3, #0] break; 8045ca2: e000 b.n 8045ca6 break; 8045ca4: bf00 nop } break; 8045ca6: e283 b.n 80461b0 8045ca8: e0000000 .word 0xe0000000 8045cac: 3f40624d .word 0x3f40624d 8045cb0: e0000000 .word 0xe0000000 8045cb4: 3f0a36e2 .word 0x3f0a36e2 8045cb8: eb1c432d .word 0xeb1c432d 8045cbc: 3f1a36e2 .word 0x3f1a36e2 8045cc0: 20023e60 .word 0x20023e60 8045cc4: 080ee890 .word 0x080ee890 8045cc8: cccccccd .word 0xcccccccd 8045ccc: 20020070 .word 0x20020070 8045cd0: 20020f84 .word 0x20020f84 case ROUTE_MAP: //LT switch(menupos) 8045cd4: 4bb8 ldr r3, [pc, #736] ; (8045fb8 ) 8045cd6: 781b ldrb r3, [r3, #0] 8045cd8: b2db uxtb r3, r3 8045cda: 2b0e cmp r3, #14 8045cdc: f200 826b bhi.w 80461b6 8045ce0: a201 add r2, pc, #4 ; (adr r2, 8045ce8 ) 8045ce2: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8045ce6: bf00 nop 8045ce8: 08045da1 .word 0x08045da1 8045cec: 08045da9 .word 0x08045da9 8045cf0: 08045db1 .word 0x08045db1 8045cf4: 08045d99 .word 0x08045d99 8045cf8: 08045d25 .word 0x08045d25 8045cfc: 08045d99 .word 0x08045d99 8045d00: 08045d99 .word 0x08045d99 8045d04: 08045d69 .word 0x08045d69 8045d08: 08045d71 .word 0x08045d71 8045d0c: 08045d79 .word 0x08045d79 8045d10: 08045d81 .word 0x08045d81 8045d14: 08045d89 .word 0x08045d89 8045d18: 08045d91 .word 0x08045d91 8045d1c: 08045d59 .word 0x08045d59 8045d20: 08045d61 .word 0x08045d61 { case RouteTime: if(focused) 8045d24: 4ba5 ldr r3, [pc, #660] ; (8045fbc ) 8045d26: 781b ldrb r3, [r3, #0] 8045d28: b2db uxtb r3, r3 8045d2a: 2b00 cmp r3, #0 8045d2c: d010 beq.n 8045d50 { if(pardata.TME > CONTINUOUS) pardata.TME--; 8045d2e: 4ba4 ldr r3, [pc, #656] ; (8045fc0 ) 8045d30: 7b9b ldrb r3, [r3, #14] 8045d32: b2db uxtb r3, r3 8045d34: 2b00 cmp r3, #0 8045d36: d007 beq.n 8045d48 8045d38: 4ba1 ldr r3, [pc, #644] ; (8045fc0 ) 8045d3a: 7b9b ldrb r3, [r3, #14] 8045d3c: b2db uxtb r3, r3 8045d3e: 3b01 subs r3, #1 8045d40: b2da uxtb r2, r3 8045d42: 4b9f ldr r3, [pc, #636] ; (8045fc0 ) 8045d44: 739a strb r2, [r3, #14] else pardata.TME = HOUR2; } else menupos = GoMeas; break; 8045d46: e037 b.n 8045db8 else pardata.TME = HOUR2; 8045d48: 4b9d ldr r3, [pc, #628] ; (8045fc0 ) 8045d4a: 2209 movs r2, #9 8045d4c: 739a strb r2, [r3, #14] break; 8045d4e: e033 b.n 8045db8 menupos = GoMeas; 8045d50: 4b99 ldr r3, [pc, #612] ; (8045fb8 ) 8045d52: 2201 movs r2, #1 8045d54: 701a strb r2, [r3, #0] break; 8045d56: e02f b.n 8045db8 case RouteNullYes: menupos = RouteNullNo; 8045d58: 4b97 ldr r3, [pc, #604] ; (8045fb8 ) 8045d5a: 220e movs r2, #14 8045d5c: 701a strb r2, [r3, #0] break; 8045d5e: e02b b.n 8045db8 case RouteNullNo: menupos = RouteNullYes; 8045d60: 4b95 ldr r3, [pc, #596] ; (8045fb8 ) 8045d62: 220d movs r2, #13 8045d64: 701a strb r2, [r3, #0] break; 8045d66: e027 b.n 8045db8 case RouteMax_IDT: menupos = RouteMax_IKD; 8045d68: 4b93 ldr r3, [pc, #588] ; (8045fb8 ) 8045d6a: 220c movs r2, #12 8045d6c: 701a strb r2, [r3, #0] break; 8045d6e: e023 b.n 8045db8 case RouteMax_IET: menupos = RouteMax_IDT; 8045d70: 4b91 ldr r3, [pc, #580] ; (8045fb8 ) 8045d72: 2207 movs r2, #7 8045d74: 701a strb r2, [r3, #0] break; 8045d76: e01f b.n 8045db8 case RouteMax_IES: menupos = RouteMax_IET; 8045d78: 4b8f ldr r3, [pc, #572] ; (8045fb8 ) 8045d7a: 2208 movs r2, #8 8045d7c: 701a strb r2, [r3, #0] break; 8045d7e: e01b b.n 8045db8 case RouteMax_IED: menupos = RouteMax_IES; 8045d80: 4b8d ldr r3, [pc, #564] ; (8045fb8 ) 8045d82: 2209 movs r2, #9 8045d84: 701a strb r2, [r3, #0] break; 8045d86: e017 b.n 8045db8 case RouteMax_IEE: menupos = RouteMax_IED; 8045d88: 4b8b ldr r3, [pc, #556] ; (8045fb8 ) 8045d8a: 220a movs r2, #10 8045d8c: 701a strb r2, [r3, #0] break; 8045d8e: e013 b.n 8045db8 case RouteMax_IKD: menupos = RouteMax_IEE; 8045d90: 4b89 ldr r3, [pc, #548] ; (8045fb8 ) 8045d92: 220b movs r2, #11 8045d94: 701a strb r2, [r3, #0] break; 8045d96: e00f b.n 8045db8 case RouteTacho: case RouteAutoKu: case RouteMax_ALL: menupos = GoMeas; 8045d98: 4b87 ldr r3, [pc, #540] ; (8045fb8 ) 8045d9a: 2201 movs r2, #1 8045d9c: 701a strb r2, [r3, #0] break; 8045d9e: e00b b.n 8045db8 case PrevPoint: menupos = NextPoint; 8045da0: 4b85 ldr r3, [pc, #532] ; (8045fb8 ) 8045da2: 2202 movs r2, #2 8045da4: 701a strb r2, [r3, #0] break; 8045da6: e007 b.n 8045db8 case GoMeas: menupos = PrevPoint; 8045da8: 4b83 ldr r3, [pc, #524] ; (8045fb8 ) 8045daa: 2200 movs r2, #0 8045dac: 701a strb r2, [r3, #0] break; 8045dae: e003 b.n 8045db8 case NextPoint: menupos = GoMeas; 8045db0: 4b81 ldr r3, [pc, #516] ; (8045fb8 ) 8045db2: 2201 movs r2, #1 8045db4: 701a strb r2, [r3, #0] break; 8045db6: bf00 nop } break; 8045db8: e1fd b.n 80461b6 case PARAM_WAVE: //LT switch(menupos) 8045dba: 4b7f ldr r3, [pc, #508] ; (8045fb8 ) 8045dbc: 781b ldrb r3, [r3, #0] 8045dbe: b2db uxtb r3, r3 8045dc0: 3b01 subs r3, #1 8045dc2: 2b14 cmp r3, #20 8045dc4: f200 81fa bhi.w 80461bc 8045dc8: a201 add r2, pc, #4 ; (adr r2, 8045dd0 ) 8045dca: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8045dce: bf00 nop 8045dd0: 08045e25 .word 0x08045e25 8045dd4: 08045e2d .word 0x08045e2d 8045dd8: 08045ec9 .word 0x08045ec9 8045ddc: 08045ed1 .word 0x08045ed1 8045de0: 08045e35 .word 0x08045e35 8045de4: 08045ec9 .word 0x08045ec9 8045de8: 08045ec9 .word 0x08045ec9 8045dec: 08045ec9 .word 0x08045ec9 8045df0: 08045ec9 .word 0x08045ec9 8045df4: 08045e99 .word 0x08045e99 8045df8: 08045ea1 .word 0x08045ea1 8045dfc: 08045ea9 .word 0x08045ea9 8045e00: 08045eb1 .word 0x08045eb1 8045e04: 08045eb9 .word 0x08045eb9 8045e08: 08045ec1 .word 0x08045ec1 8045e0c: 08045e69 .word 0x08045e69 8045e10: 08045e71 .word 0x08045e71 8045e14: 08045e79 .word 0x08045e79 8045e18: 08045e81 .word 0x08045e81 8045e1c: 08045e89 .word 0x08045e89 8045e20: 08045e91 .word 0x08045e91 { case WaveBand: pardata.FRQ = _64000Hz; 8045e24: 4b66 ldr r3, [pc, #408] ; (8045fc0 ) 8045e26: 2209 movs r2, #9 8045e28: 72da strb r2, [r3, #11] break; 8045e2a: e057 b.n 8045edc case WaveFreq: pardata.FRQ = _64000Hz; 8045e2c: 4b64 ldr r3, [pc, #400] ; (8045fc0 ) 8045e2e: 2209 movs r2, #9 8045e30: 72da strb r2, [r3, #11] break; 8045e32: e053 b.n 8045edc case WaveTime: if(focused) 8045e34: 4b61 ldr r3, [pc, #388] ; (8045fbc ) 8045e36: 781b ldrb r3, [r3, #0] 8045e38: b2db uxtb r3, r3 8045e3a: 2b00 cmp r3, #0 8045e3c: d010 beq.n 8045e60 { if(pardata.TME > CONTINUOUS) pardata.TME--; 8045e3e: 4b60 ldr r3, [pc, #384] ; (8045fc0 ) 8045e40: 7b9b ldrb r3, [r3, #14] 8045e42: b2db uxtb r3, r3 8045e44: 2b00 cmp r3, #0 8045e46: d007 beq.n 8045e58 8045e48: 4b5d ldr r3, [pc, #372] ; (8045fc0 ) 8045e4a: 7b9b ldrb r3, [r3, #14] 8045e4c: b2db uxtb r3, r3 8045e4e: 3b01 subs r3, #1 8045e50: b2da uxtb r2, r3 8045e52: 4b5b ldr r3, [pc, #364] ; (8045fc0 ) 8045e54: 739a strb r2, [r3, #14] else pardata.TME = HOUR2; } else menupos = Ok; break; 8045e56: e041 b.n 8045edc else pardata.TME = HOUR2; 8045e58: 4b59 ldr r3, [pc, #356] ; (8045fc0 ) 8045e5a: 2209 movs r2, #9 8045e5c: 739a strb r2, [r3, #14] break; 8045e5e: e03d b.n 8045edc menupos = Ok; 8045e60: 4b55 ldr r3, [pc, #340] ; (8045fb8 ) 8045e62: 2200 movs r2, #0 8045e64: 701a strb r2, [r3, #0] break; 8045e66: e039 b.n 8045edc case WaveThr_IDT: menupos = WaveThr_IKD; 8045e68: 4b53 ldr r3, [pc, #332] ; (8045fb8 ) 8045e6a: 2215 movs r2, #21 8045e6c: 701a strb r2, [r3, #0] break; 8045e6e: e035 b.n 8045edc case WaveThr_IET: menupos = WaveThr_IDT; 8045e70: 4b51 ldr r3, [pc, #324] ; (8045fb8 ) 8045e72: 2210 movs r2, #16 8045e74: 701a strb r2, [r3, #0] break; 8045e76: e031 b.n 8045edc case WaveThr_IES: menupos = WaveThr_IET; 8045e78: 4b4f ldr r3, [pc, #316] ; (8045fb8 ) 8045e7a: 2211 movs r2, #17 8045e7c: 701a strb r2, [r3, #0] break; 8045e7e: e02d b.n 8045edc case WaveThr_IED: menupos = WaveThr_IES; 8045e80: 4b4d ldr r3, [pc, #308] ; (8045fb8 ) 8045e82: 2212 movs r2, #18 8045e84: 701a strb r2, [r3, #0] break; 8045e86: e029 b.n 8045edc case WaveThr_IEE: menupos = WaveThr_IED; 8045e88: 4b4b ldr r3, [pc, #300] ; (8045fb8 ) 8045e8a: 2213 movs r2, #19 8045e8c: 701a strb r2, [r3, #0] break; 8045e8e: e025 b.n 8045edc case WaveThr_IKD: menupos = WaveThr_IEE; 8045e90: 4b49 ldr r3, [pc, #292] ; (8045fb8 ) 8045e92: 2214 movs r2, #20 8045e94: 701a strb r2, [r3, #0] break; 8045e96: e021 b.n 8045edc case WaveMax_IDT: menupos = WaveMax_IKD; 8045e98: 4b47 ldr r3, [pc, #284] ; (8045fb8 ) 8045e9a: 220f movs r2, #15 8045e9c: 701a strb r2, [r3, #0] break; 8045e9e: e01d b.n 8045edc case WaveMax_IET: menupos = WaveMax_IDT; 8045ea0: 4b45 ldr r3, [pc, #276] ; (8045fb8 ) 8045ea2: 220a movs r2, #10 8045ea4: 701a strb r2, [r3, #0] break; 8045ea6: e019 b.n 8045edc case WaveMax_IES: menupos = WaveMax_IET; 8045ea8: 4b43 ldr r3, [pc, #268] ; (8045fb8 ) 8045eaa: 220b movs r2, #11 8045eac: 701a strb r2, [r3, #0] break; 8045eae: e015 b.n 8045edc case WaveMax_IED: menupos = WaveMax_IES; 8045eb0: 4b41 ldr r3, [pc, #260] ; (8045fb8 ) 8045eb2: 220c movs r2, #12 8045eb4: 701a strb r2, [r3, #0] break; 8045eb6: e011 b.n 8045edc case WaveMax_IEE: menupos = WaveMax_IED; 8045eb8: 4b3f ldr r3, [pc, #252] ; (8045fb8 ) 8045eba: 220d movs r2, #13 8045ebc: 701a strb r2, [r3, #0] break; 8045ebe: e00d b.n 8045edc case WaveMax_IKD: menupos = WaveMax_IEE; 8045ec0: 4b3d ldr r3, [pc, #244] ; (8045fb8 ) 8045ec2: 220e movs r2, #14 8045ec4: 701a strb r2, [r3, #0] break; 8045ec6: e009 b.n 8045edc case WaveThr: case WaveTacho: case WaveAutoKu: case WaveMax_ALL: case WaveThr_ALL: menupos = Ok; 8045ec8: 4b3b ldr r3, [pc, #236] ; (8045fb8 ) 8045eca: 2200 movs r2, #0 8045ecc: 701a strb r2, [r3, #0] break; 8045ece: e005 b.n 8045edc case WaveName: memset(WavFileName, 0, sizeof(WavFileName)); 8045ed0: 2221 movs r2, #33 ; 0x21 8045ed2: 2100 movs r1, #0 8045ed4: 483b ldr r0, [pc, #236] ; (8045fc4 ) 8045ed6: f087 f8b7 bl 80cd048 break; 8045eda: bf00 nop } break; 8045edc: e16e b.n 80461bc case SETTINGS: switch(menupos) 8045ede: 4b36 ldr r3, [pc, #216] ; (8045fb8 ) 8045ee0: 781b ldrb r3, [r3, #0] 8045ee2: b2db uxtb r3, r3 8045ee4: 3b01 subs r3, #1 8045ee6: 2b10 cmp r3, #16 8045ee8: f200 816b bhi.w 80461c2 8045eec: a201 add r2, pc, #4 ; (adr r2, 8045ef4 ) 8045eee: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8045ef2: bf00 nop 8045ef4: 08045f8d .word 0x08045f8d 8045ef8: 080461c3 .word 0x080461c3 8045efc: 08045f69 .word 0x08045f69 8045f00: 080461c3 .word 0x080461c3 8045f04: 080461c3 .word 0x080461c3 8045f08: 080461c3 .word 0x080461c3 8045f0c: 080461c3 .word 0x080461c3 8045f10: 08045fc9 .word 0x08045fc9 8045f14: 080461c3 .word 0x080461c3 8045f18: 080461c3 .word 0x080461c3 8045f1c: 080461c3 .word 0x080461c3 8045f20: 08045f39 .word 0x08045f39 8045f24: 08045f41 .word 0x08045f41 8045f28: 08045f49 .word 0x08045f49 8045f2c: 08045f51 .word 0x08045f51 8045f30: 08045f59 .word 0x08045f59 8045f34: 08045f61 .word 0x08045f61 { case Ies: menupos = Ikt; break; 8045f38: 4b1f ldr r3, [pc, #124] ; (8045fb8 ) 8045f3a: 2211 movs r2, #17 8045f3c: 701a strb r2, [r3, #0] 8045f3e: e04a b.n 8045fd6 case Ied: menupos = Ies; break; 8045f40: 4b1d ldr r3, [pc, #116] ; (8045fb8 ) 8045f42: 220c movs r2, #12 8045f44: 701a strb r2, [r3, #0] 8045f46: e046 b.n 8045fd6 case Iee: menupos = Ied; break; 8045f48: 4b1b ldr r3, [pc, #108] ; (8045fb8 ) 8045f4a: 220d movs r2, #13 8045f4c: 701a strb r2, [r3, #0] 8045f4e: e042 b.n 8045fd6 case Ikd: menupos = Iee; break; 8045f50: 4b19 ldr r3, [pc, #100] ; (8045fb8 ) 8045f52: 220e movs r2, #14 8045f54: 701a strb r2, [r3, #0] 8045f56: e03e b.n 8045fd6 case Iks: menupos = Ikd; break; 8045f58: 4b17 ldr r3, [pc, #92] ; (8045fb8 ) 8045f5a: 220f movs r2, #15 8045f5c: 701a strb r2, [r3, #0] 8045f5e: e03a b.n 8045fd6 case Ikt: menupos = Iks; break; 8045f60: 4b15 ldr r3, [pc, #84] ; (8045fb8 ) 8045f62: 2210 movs r2, #16 8045f64: 701a strb r2, [r3, #0] 8045f66: e036 b.n 8045fd6 case Lang: if(focused) 8045f68: 4b14 ldr r3, [pc, #80] ; (8045fbc ) 8045f6a: 781b ldrb r3, [r3, #0] 8045f6c: b2db uxtb r3, r3 8045f6e: 2b00 cmp r3, #0 8045f70: d02e beq.n 8045fd0 { if(pardata.LANG == ENG) 8045f72: 4b13 ldr r3, [pc, #76] ; (8045fc0 ) 8045f74: 7b1b ldrb r3, [r3, #12] 8045f76: b2db uxtb r3, r3 8045f78: 2b01 cmp r3, #1 8045f7a: d103 bne.n 8045f84 pardata.LANG = RUS; 8045f7c: 4b10 ldr r3, [pc, #64] ; (8045fc0 ) 8045f7e: 2200 movs r2, #0 8045f80: 731a strb r2, [r3, #12] else pardata.LANG = ENG; } break; 8045f82: e025 b.n 8045fd0 else pardata.LANG = ENG; 8045f84: 4b0e ldr r3, [pc, #56] ; (8045fc0 ) 8045f86: 2201 movs r2, #1 8045f88: 731a strb r2, [r3, #12] break; 8045f8a: e021 b.n 8045fd0 case Type: #if (!defined(USE_D101) && !defined(USE_D102)) if(focused) 8045f8c: 4b0b ldr r3, [pc, #44] ; (8045fbc ) 8045f8e: 781b ldrb r3, [r3, #0] 8045f90: b2db uxtb r3, r3 8045f92: 2b00 cmp r3, #0 8045f94: d01e beq.n 8045fd4 { if(pardata.IIN > CHARGE) pardata.IIN--; 8045f96: 4b0a ldr r3, [pc, #40] ; (8045fc0 ) 8045f98: 799b ldrb r3, [r3, #6] 8045f9a: b2db uxtb r3, r3 8045f9c: 2b00 cmp r3, #0 8045f9e: d007 beq.n 8045fb0 8045fa0: 4b07 ldr r3, [pc, #28] ; (8045fc0 ) 8045fa2: 799b ldrb r3, [r3, #6] 8045fa4: b2db uxtb r3, r3 8045fa6: 3b01 subs r3, #1 8045fa8: b2da uxtb r2, r3 8045faa: 4b05 ldr r3, [pc, #20] ; (8045fc0 ) 8045fac: 719a strb r2, [r3, #6] { if(pardata.IIN == VOLTS) pardata.IIN = ICP; else pardata.IIN = VOLTS; } #endif break; 8045fae: e011 b.n 8045fd4 else pardata.IIN = VOLTS; 8045fb0: 4b03 ldr r3, [pc, #12] ; (8045fc0 ) 8045fb2: 2202 movs r2, #2 8045fb4: 719a strb r2, [r3, #6] break; 8045fb6: e00d b.n 8045fd4 8045fb8: 20020070 .word 0x20020070 8045fbc: 20020f84 .word 0x20020f84 8045fc0: 20023e60 .word 0x20023e60 8045fc4: 20020e34 .word 0x20020e34 case FormatDiskYes: menupos = FormatDiskNo; 8045fc8: 4b88 ldr r3, [pc, #544] ; (80461ec ) 8045fca: 2207 movs r2, #7 8045fcc: 701a strb r2, [r3, #0] break; 8045fce: e002 b.n 8045fd6 break; 8045fd0: bf00 nop 8045fd2: e0f6 b.n 80461c2 break; 8045fd4: bf00 nop } break; 8045fd6: e0f4 b.n 80461c2 case DATETIME: switch(menupos) 8045fd8: 4b84 ldr r3, [pc, #528] ; (80461ec ) 8045fda: 781b ldrb r3, [r3, #0] 8045fdc: b2db uxtb r3, r3 8045fde: 3b03 subs r3, #3 8045fe0: 2b04 cmp r3, #4 8045fe2: f200 80f1 bhi.w 80461c8 8045fe6: a201 add r2, pc, #4 ; (adr r2, 8045fec ) 8045fe8: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8045fec: 08046001 .word 0x08046001 8045ff0: 08046009 .word 0x08046009 8045ff4: 08046011 .word 0x08046011 8045ff8: 08046019 .word 0x08046019 8045ffc: 08046021 .word 0x08046021 { case DateD: menupos = DateY; break; 8046000: 4b7a ldr r3, [pc, #488] ; (80461ec ) 8046002: 2205 movs r2, #5 8046004: 701a strb r2, [r3, #0] 8046006: e00f b.n 8046028 case DateM: menupos = DateD; break; 8046008: 4b78 ldr r3, [pc, #480] ; (80461ec ) 804600a: 2203 movs r2, #3 804600c: 701a strb r2, [r3, #0] 804600e: e00b b.n 8046028 case DateY: menupos = DateM; break; 8046010: 4b76 ldr r3, [pc, #472] ; (80461ec ) 8046012: 2204 movs r2, #4 8046014: 701a strb r2, [r3, #0] 8046016: e007 b.n 8046028 case TimeH: menupos = TimeM; break; 8046018: 4b74 ldr r3, [pc, #464] ; (80461ec ) 804601a: 2207 movs r2, #7 804601c: 701a strb r2, [r3, #0] 804601e: e003 b.n 8046028 case TimeM: menupos = TimeH; break; 8046020: 4b72 ldr r3, [pc, #456] ; (80461ec ) 8046022: 2206 movs r2, #6 8046024: 701a strb r2, [r3, #0] 8046026: bf00 nop } break; 8046028: e0ce b.n 80461c8 case CLEAN_FILES: switch(menupos) 804602a: 4b70 ldr r3, [pc, #448] ; (80461ec ) 804602c: 781b ldrb r3, [r3, #0] 804602e: b2db uxtb r3, r3 8046030: 3b01 subs r3, #1 8046032: 2b08 cmp r3, #8 8046034: f200 80cb bhi.w 80461ce 8046038: a201 add r2, pc, #4 ; (adr r2, 8046040 ) 804603a: f852 f023 ldr.w pc, [r2, r3, lsl #2] 804603e: bf00 nop 8046040: 08046065 .word 0x08046065 8046044: 08046065 .word 0x08046065 8046048: 080461cf .word 0x080461cf 804604c: 080461cf .word 0x080461cf 8046050: 080461cf .word 0x080461cf 8046054: 08046073 .word 0x08046073 8046058: 0804607b .word 0x0804607b 804605c: 08046083 .word 0x08046083 8046060: 0804608b .word 0x0804608b { case NoFilesPTM: case FilesPTM: menu = SETTINGS; 8046064: 4b62 ldr r3, [pc, #392] ; (80461f0 ) 8046066: 2212 movs r2, #18 8046068: 701a strb r2, [r3, #0] menupos = CleanFiles; 804606a: 4b60 ldr r3, [pc, #384] ; (80461ec ) 804606c: 220b movs r2, #11 804606e: 701a strb r2, [r3, #0] break; 8046070: e00f b.n 8046092 case UpNo: menupos = UpYes; 8046072: 4b5e ldr r3, [pc, #376] ; (80461ec ) 8046074: 2207 movs r2, #7 8046076: 701a strb r2, [r3, #0] break; 8046078: e00b b.n 8046092 case UpYes: menupos = UpNo; 804607a: 4b5c ldr r3, [pc, #368] ; (80461ec ) 804607c: 2206 movs r2, #6 804607e: 701a strb r2, [r3, #0] break; 8046080: e007 b.n 8046092 case AllNo: menupos = AllYes; 8046082: 4b5a ldr r3, [pc, #360] ; (80461ec ) 8046084: 2209 movs r2, #9 8046086: 701a strb r2, [r3, #0] break; 8046088: e003 b.n 8046092 case AllYes: menupos = AllNo; 804608a: 4b58 ldr r3, [pc, #352] ; (80461ec ) 804608c: 2208 movs r2, #8 804608e: 701a strb r2, [r3, #0] break; 8046090: bf00 nop } break; 8046092: e09c b.n 80461ce case ACCELEROMETER: switch(menupos) 8046094: 4b55 ldr r3, [pc, #340] ; (80461ec ) 8046096: 781b ldrb r3, [r3, #0] 8046098: b2db uxtb r3, r3 804609a: 3b0c subs r3, #12 804609c: 2b05 cmp r3, #5 804609e: f200 8099 bhi.w 80461d4 80460a2: a201 add r2, pc, #4 ; (adr r2, 80460a8 ) 80460a4: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80460a8: 080460c1 .word 0x080460c1 80460ac: 080460c9 .word 0x080460c9 80460b0: 080460d1 .word 0x080460d1 80460b4: 080460d9 .word 0x080460d9 80460b8: 080460e1 .word 0x080460e1 80460bc: 080460e9 .word 0x080460e9 { case Ies: menupos = Ikt; break; 80460c0: 4b4a ldr r3, [pc, #296] ; (80461ec ) 80460c2: 2211 movs r2, #17 80460c4: 701a strb r2, [r3, #0] 80460c6: e013 b.n 80460f0 case Ied: menupos = Ies; break; 80460c8: 4b48 ldr r3, [pc, #288] ; (80461ec ) 80460ca: 220c movs r2, #12 80460cc: 701a strb r2, [r3, #0] 80460ce: e00f b.n 80460f0 case Iee: menupos = Ied; break; 80460d0: 4b46 ldr r3, [pc, #280] ; (80461ec ) 80460d2: 220d movs r2, #13 80460d4: 701a strb r2, [r3, #0] 80460d6: e00b b.n 80460f0 case Ikd: menupos = Iee; break; 80460d8: 4b44 ldr r3, [pc, #272] ; (80461ec ) 80460da: 220e movs r2, #14 80460dc: 701a strb r2, [r3, #0] 80460de: e007 b.n 80460f0 case Iks: menupos = Ikd; break; 80460e0: 4b42 ldr r3, [pc, #264] ; (80461ec ) 80460e2: 220f movs r2, #15 80460e4: 701a strb r2, [r3, #0] 80460e6: e003 b.n 80460f0 case Ikt: menupos = Iks; break; 80460e8: 4b40 ldr r3, [pc, #256] ; (80461ec ) 80460ea: 2210 movs r2, #16 80460ec: 701a strb r2, [r3, #0] 80460ee: bf00 nop } break; 80460f0: e070 b.n 80461d4 case CALIBR_00: if(menupos > 0) 80460f2: 4b3e ldr r3, [pc, #248] ; (80461ec ) 80460f4: 781b ldrb r3, [r3, #0] 80460f6: b2db uxtb r3, r3 80460f8: 2b00 cmp r3, #0 80460fa: d06e beq.n 80461da menupos--; 80460fc: 4b3b ldr r3, [pc, #236] ; (80461ec ) 80460fe: 781b ldrb r3, [r3, #0] 8046100: b2db uxtb r3, r3 8046102: 3b01 subs r3, #1 8046104: b2da uxtb r2, r3 8046106: 4b39 ldr r3, [pc, #228] ; (80461ec ) 8046108: 701a strb r2, [r3, #0] break; 804610a: e066 b.n 80461da case CALIBR_4: case CALIBR_5: case CALIBR_6: case CALIBR_7: case CALIBR_8: if(menupos > 0) 804610c: 4b37 ldr r3, [pc, #220] ; (80461ec ) 804610e: 781b ldrb r3, [r3, #0] 8046110: b2db uxtb r3, r3 8046112: 2b00 cmp r3, #0 8046114: d064 beq.n 80461e0 menupos--; 8046116: 4b35 ldr r3, [pc, #212] ; (80461ec ) 8046118: 781b ldrb r3, [r3, #0] 804611a: b2db uxtb r3, r3 804611c: 3b01 subs r3, #1 804611e: b2da uxtb r2, r3 8046120: 4b32 ldr r3, [pc, #200] ; (80461ec ) 8046122: 701a strb r2, [r3, #0] break; 8046124: e05c b.n 80461e0 case CALIBR_9: case CALIBR_10: case CALIBR_11: if(menupos > 1) 8046126: 4b31 ldr r3, [pc, #196] ; (80461ec ) 8046128: 781b ldrb r3, [r3, #0] 804612a: b2db uxtb r3, r3 804612c: 2b01 cmp r3, #1 804612e: d902 bls.n 8046136 menupos = 1; 8046130: 4b2e ldr r3, [pc, #184] ; (80461ec ) 8046132: 2201 movs r2, #1 8046134: 701a strb r2, [r3, #0] if(menupos > 0) 8046136: 4b2d ldr r3, [pc, #180] ; (80461ec ) 8046138: 781b ldrb r3, [r3, #0] 804613a: b2db uxtb r3, r3 804613c: 2b00 cmp r3, #0 804613e: d052 beq.n 80461e6 menupos--; 8046140: 4b2a ldr r3, [pc, #168] ; (80461ec ) 8046142: 781b ldrb r3, [r3, #0] 8046144: b2db uxtb r3, r3 8046146: 3b01 subs r3, #1 8046148: b2da uxtb r2, r3 804614a: 4b28 ldr r3, [pc, #160] ; (80461ec ) 804614c: 701a strb r2, [r3, #0] break; 804614e: e04a b.n 80461e6 break; 8046150: bf00 nop 8046152: f00c bdff b.w 8052d54 break; 8046156: bf00 nop 8046158: f00c bdfc b.w 8052d54 break; 804615c: bf00 nop 804615e: f00c bdf9 b.w 8052d54 break; 8046162: bf00 nop 8046164: f00c bdf6 b.w 8052d54 break; 8046168: bf00 nop 804616a: f00c bdf3 b.w 8052d54 break; 804616e: bf00 nop 8046170: f00c bdf0 b.w 8052d54 break; 8046174: bf00 nop 8046176: f00c bded b.w 8052d54 break; 804617a: bf00 nop 804617c: f00c bdea b.w 8052d54 break; 8046180: bf00 nop 8046182: f00c bde7 b.w 8052d54 break; 8046186: bf00 nop 8046188: f00c bde4 b.w 8052d54 break; 804618c: bf00 nop 804618e: f00c bde1 b.w 8052d54 break; 8046192: bf00 nop 8046194: f00c bdde b.w 8052d54 break; 8046198: bf00 nop 804619a: f00c bddb b.w 8052d54 break; 804619e: bf00 nop 80461a0: f00c bdd8 b.w 8052d54 break; 80461a4: bf00 nop 80461a6: f00c bdd5 b.w 8052d54 break; 80461aa: bf00 nop 80461ac: f00c bdd2 b.w 8052d54 break; 80461b0: bf00 nop 80461b2: f00c bdcf b.w 8052d54 break; 80461b6: bf00 nop 80461b8: f00c bdcc b.w 8052d54 break; 80461bc: bf00 nop 80461be: f00c bdc9 b.w 8052d54 break; 80461c2: bf00 nop 80461c4: f00c bdc6 b.w 8052d54 break; 80461c8: bf00 nop 80461ca: f00c bdc3 b.w 8052d54 break; 80461ce: bf00 nop 80461d0: f00c bdc0 b.w 8052d54 break; 80461d4: bf00 nop 80461d6: f00c bdbd b.w 8052d54 break; 80461da: bf00 nop 80461dc: f00c bdba b.w 8052d54 break; 80461e0: bf00 nop 80461e2: f00c bdb7 b.w 8052d54 break; 80461e6: bf00 nop } break; 80461e8: f00c bdb4 b.w 8052d54 80461ec: 20020070 .word 0x20020070 80461f0: 20020f78 .word 0x20020f78 case KEY_RT:// TODO KEY RT switch(menu) 80461f4: 4bce ldr r3, [pc, #824] ; (8046530 ) 80461f6: 781b ldrb r3, [r3, #0] 80461f8: b2db uxtb r3, r3 80461fa: 2b47 cmp r3, #71 ; 0x47 80461fc: f20c 85ac bhi.w 8052d58 8046200: a201 add r2, pc, #4 ; (adr r2, 8046208 ) 8046202: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8046206: bf00 nop 8046208: 08046b01 .word 0x08046b01 804620c: 080471cd .word 0x080471cd 8046210: 08052d59 .word 0x08052d59 8046214: 0804754f .word 0x0804754f 8046218: 080489c1 .word 0x080489c1 804621c: 08052d59 .word 0x08052d59 8046220: 080479a7 .word 0x080479a7 8046224: 08047bcd .word 0x08047bcd 8046228: 080485ed .word 0x080485ed 804622c: 08052d59 .word 0x08052d59 8046230: 08048aa7 .word 0x08048aa7 8046234: 08052d59 .word 0x08052d59 8046238: 08052d59 .word 0x08052d59 804623c: 08047761 .word 0x08047761 8046240: 080476b5 .word 0x080476b5 8046244: 08046329 .word 0x08046329 8046248: 08048e4b .word 0x08048e4b 804624c: 080463d3 .word 0x080463d3 8046250: 08048bdd .word 0x08048bdd 8046254: 08048d8b .word 0x08048d8b 8046258: 08052d59 .word 0x08052d59 804625c: 0804733d .word 0x0804733d 8046260: 0804737b .word 0x0804737b 8046264: 080473b9 .word 0x080473b9 8046268: 08048cbd .word 0x08048cbd 804626c: 08048d0f .word 0x08048d0f 8046270: 08052d59 .word 0x08052d59 8046274: 08052d59 .word 0x08052d59 8046278: 08046da3 .word 0x08046da3 804627c: 08046b71 .word 0x08046b71 8046280: 08047141 .word 0x08047141 8046284: 08046b01 .word 0x08046b01 8046288: 08047197 .word 0x08047197 804628c: 08046da3 .word 0x08046da3 8046290: 08047035 .word 0x08047035 8046294: 080470a1 .word 0x080470a1 8046298: 08046da3 .word 0x08046da3 804629c: 08048e4b .word 0x08048e4b 80462a0: 08046ab5 .word 0x08046ab5 80462a4: 08052d59 .word 0x08052d59 80462a8: 08046da3 .word 0x08046da3 80462ac: 0804721f .word 0x0804721f 80462b0: 08047287 .word 0x08047287 80462b4: 080472ef .word 0x080472ef 80462b8: 080472ef .word 0x080472ef 80462bc: 080472ef .word 0x080472ef 80462c0: 08052d59 .word 0x08052d59 80462c4: 080472ef .word 0x080472ef 80462c8: 080472ef .word 0x080472ef 80462cc: 080472ef .word 0x080472ef 80462d0: 080472ef .word 0x080472ef 80462d4: 080472ef .word 0x080472ef 80462d8: 08048deb .word 0x08048deb 80462dc: 08048e07 .word 0x08048e07 80462e0: 08048e07 .word 0x08048e07 80462e4: 08048e07 .word 0x08048e07 80462e8: 08048e07 .word 0x08048e07 80462ec: 08048e07 .word 0x08048e07 80462f0: 08048e07 .word 0x08048e07 80462f4: 08048e07 .word 0x08048e07 80462f8: 08048e07 .word 0x08048e07 80462fc: 08048e07 .word 0x08048e07 8046300: 08048e21 .word 0x08048e21 8046304: 08048e21 .word 0x08048e21 8046308: 08048e21 .word 0x08048e21 804630c: 08052d59 .word 0x08052d59 8046310: 08052d59 .word 0x08052d59 8046314: 08052d59 .word 0x08052d59 8046318: 08052d59 .word 0x08052d59 804631c: 08046a8f .word 0x08046a8f 8046320: 08046a8f .word 0x08046a8f 8046324: 08046a8f .word 0x08046a8f { case PARAM_DIAGN: switch(menupos) 8046328: 4b82 ldr r3, [pc, #520] ; (8046534 ) 804632a: 781b ldrb r3, [r3, #0] 804632c: b2db uxtb r3, r3 804632e: 3b01 subs r3, #1 8046330: 2b09 cmp r3, #9 8046332: f202 858d bhi.w 8048e50 8046336: a201 add r2, pc, #4 ; (adr r2, 804633c ) 8046338: f852 f023 ldr.w pc, [r2, r3, lsl #2] 804633c: 08046365 .word 0x08046365 8046340: 08048e51 .word 0x08048e51 8046344: 08048e51 .word 0x08048e51 8046348: 080463c1 .word 0x080463c1 804634c: 080463b9 .word 0x080463b9 8046350: 080463b1 .word 0x080463b1 8046354: 080463a9 .word 0x080463a9 8046358: 080463a1 .word 0x080463a1 804635c: 08046399 .word 0x08046399 8046360: 08046391 .word 0x08046391 { case DiagAverage: if(focused) 8046364: 4b74 ldr r3, [pc, #464] ; (8046538 ) 8046366: 781b ldrb r3, [r3, #0] 8046368: b2db uxtb r3, r3 804636a: 2b00 cmp r3, #0 804636c: d02e beq.n 80463cc { if(pardata.AVG < AVG512) pardata.AVG++; 804636e: 4b73 ldr r3, [pc, #460] ; (804653c ) 8046370: 7b5b ldrb r3, [r3, #13] 8046372: b2db uxtb r3, r3 8046374: 2b08 cmp r3, #8 8046376: d807 bhi.n 8046388 8046378: 4b70 ldr r3, [pc, #448] ; (804653c ) 804637a: 7b5b ldrb r3, [r3, #13] 804637c: b2db uxtb r3, r3 804637e: 3301 adds r3, #1 8046380: b2da uxtb r2, r3 8046382: 4b6e ldr r3, [pc, #440] ; (804653c ) 8046384: 735a strb r2, [r3, #13] else pardata.AVG = AVG1; } break; 8046386: e021 b.n 80463cc else pardata.AVG = AVG1; 8046388: 4b6c ldr r3, [pc, #432] ; (804653c ) 804638a: 2200 movs r2, #0 804638c: 735a strb r2, [r3, #13] break; 804638e: e01d b.n 80463cc case DiagMax_IKD: menupos = DiagMax_IDT; break; 8046390: 4b68 ldr r3, [pc, #416] ; (8046534 ) 8046392: 2205 movs r2, #5 8046394: 701a strb r2, [r3, #0] 8046396: e01a b.n 80463ce case DiagMax_IEE: menupos = DiagMax_IKD; break; 8046398: 4b66 ldr r3, [pc, #408] ; (8046534 ) 804639a: 220a movs r2, #10 804639c: 701a strb r2, [r3, #0] 804639e: e016 b.n 80463ce case DiagMax_IED: menupos = DiagMax_IEE; break; 80463a0: 4b64 ldr r3, [pc, #400] ; (8046534 ) 80463a2: 2209 movs r2, #9 80463a4: 701a strb r2, [r3, #0] 80463a6: e012 b.n 80463ce case DiagMax_IES: menupos = DiagMax_IED; break; 80463a8: 4b62 ldr r3, [pc, #392] ; (8046534 ) 80463aa: 2208 movs r2, #8 80463ac: 701a strb r2, [r3, #0] 80463ae: e00e b.n 80463ce case DiagMax_IET: menupos = DiagMax_IES; break; 80463b0: 4b60 ldr r3, [pc, #384] ; (8046534 ) 80463b2: 2207 movs r2, #7 80463b4: 701a strb r2, [r3, #0] 80463b6: e00a b.n 80463ce case DiagMax_IDT: menupos = DiagMax_IET; break; 80463b8: 4b5e ldr r3, [pc, #376] ; (8046534 ) 80463ba: 2206 movs r2, #6 80463bc: 701a strb r2, [r3, #0] 80463be: e006 b.n 80463ce case DiagSaveToFile: memset(DiagFileName, 0, sizeof(DiagFileName)); 80463c0: 2221 movs r2, #33 ; 0x21 80463c2: 2100 movs r1, #0 80463c4: 485e ldr r0, [pc, #376] ; (8046540 ) 80463c6: f086 fe3f bl 80cd048 break; 80463ca: e000 b.n 80463ce break; 80463cc: bf00 nop } break; 80463ce: f002 bd3f b.w 8048e50 case PARAM_DIAGN_1: break; case PARAM_DIAGN_2: switch(menupos) 80463d2: 4b58 ldr r3, [pc, #352] ; (8046534 ) 80463d4: 781b ldrb r3, [r3, #0] 80463d6: b2db uxtb r3, r3 80463d8: 3b01 subs r3, #1 80463da: 2b23 cmp r3, #35 ; 0x23 80463dc: f202 853b bhi.w 8048e56 80463e0: a201 add r2, pc, #4 ; (adr r2, 80463e8 ) 80463e2: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80463e6: bf00 nop 80463e8: 08046479 .word 0x08046479 80463ec: 08046487 .word 0x08046487 80463f0: 080464cf .word 0x080464cf 80463f4: 080464dd .word 0x080464dd 80463f8: 08046523 .word 0x08046523 80463fc: 08048e57 .word 0x08048e57 8046400: 0804654d .word 0x0804654d 8046404: 08046885 .word 0x08046885 8046408: 080469c3 .word 0x080469c3 804640c: 080469c3 .word 0x080469c3 8046410: 080469c3 .word 0x080469c3 8046414: 080469c3 .word 0x080469c3 8046418: 080469f3 .word 0x080469f3 804641c: 080469eb .word 0x080469eb 8046420: 080469e3 .word 0x080469e3 8046424: 080469db .word 0x080469db 8046428: 080469d3 .word 0x080469d3 804642c: 080469cb .word 0x080469cb 8046430: 08046a23 .word 0x08046a23 8046434: 08046a1b .word 0x08046a1b 8046438: 08046a13 .word 0x08046a13 804643c: 08046a0b .word 0x08046a0b 8046440: 08046a03 .word 0x08046a03 8046444: 080469fb .word 0x080469fb 8046448: 08046a53 .word 0x08046a53 804644c: 08046a4b .word 0x08046a4b 8046450: 08046a43 .word 0x08046a43 8046454: 08046a3b .word 0x08046a3b 8046458: 08046a33 .word 0x08046a33 804645c: 08046a2b .word 0x08046a2b 8046460: 08046a83 .word 0x08046a83 8046464: 08046a7b .word 0x08046a7b 8046468: 08046a73 .word 0x08046a73 804646c: 08046a6b .word 0x08046a6b 8046470: 08046a63 .word 0x08046a63 8046474: 08046a5b .word 0x08046a5b { case DiagUs1: menupos = DiagOp1; 8046478: 4b2e ldr r3, [pc, #184] ; (8046534 ) 804647a: 2202 movs r2, #2 804647c: 701a strb r2, [r3, #0] CURR_USL = Us1; 804647e: 4b31 ldr r3, [pc, #196] ; (8046544 ) 8046480: 2200 movs r2, #0 8046482: 701a strb r2, [r3, #0] break; 8046484: e301 b.n 8046a8a case DiagOp1: if(!focused) 8046486: 4b2c ldr r3, [pc, #176] ; (8046538 ) 8046488: 781b ldrb r3, [r3, #0] 804648a: b2db uxtb r3, r3 804648c: f083 0301 eor.w r3, r3, #1 8046490: b2db uxtb r3, r3 8046492: 2b00 cmp r3, #0 8046494: d006 beq.n 80464a4 { menupos = DiagUs2; 8046496: 4b27 ldr r3, [pc, #156] ; (8046534 ) 8046498: 2203 movs r2, #3 804649a: 701a strb r2, [r3, #0] CURR_USL = Us2; 804649c: 4b29 ldr r3, [pc, #164] ; (8046544 ) 804649e: 2201 movs r2, #1 80464a0: 701a strb r2, [r3, #0] } else { pardata.DIAGN_OPER[CURR_POINT][Us1] ^= 0x1; } break; 80464a2: e2f2 b.n 8046a8a pardata.DIAGN_OPER[CURR_POINT][Us1] ^= 0x1; 80464a4: 4b28 ldr r3, [pc, #160] ; (8046548 ) 80464a6: 781b ldrb r3, [r3, #0] 80464a8: b2db uxtb r3, r3 80464aa: 4618 mov r0, r3 80464ac: 4a23 ldr r2, [pc, #140] ; (804653c ) 80464ae: 3386 adds r3, #134 ; 0x86 80464b0: 009b lsls r3, r3, #2 80464b2: 4413 add r3, r2 80464b4: 791b ldrb r3, [r3, #4] 80464b6: b2db uxtb r3, r3 80464b8: f083 0301 eor.w r3, r3, #1 80464bc: b2d9 uxtb r1, r3 80464be: 4a1f ldr r2, [pc, #124] ; (804653c ) 80464c0: f100 0386 add.w r3, r0, #134 ; 0x86 80464c4: 009b lsls r3, r3, #2 80464c6: 4413 add r3, r2 80464c8: 460a mov r2, r1 80464ca: 711a strb r2, [r3, #4] break; 80464cc: e2dd b.n 8046a8a case DiagUs2: menupos = DiagOp2; 80464ce: 4b19 ldr r3, [pc, #100] ; (8046534 ) 80464d0: 2204 movs r2, #4 80464d2: 701a strb r2, [r3, #0] CURR_USL = Us2; 80464d4: 4b1b ldr r3, [pc, #108] ; (8046544 ) 80464d6: 2201 movs r2, #1 80464d8: 701a strb r2, [r3, #0] break; 80464da: e2d6 b.n 8046a8a case DiagOp2: if(!focused) 80464dc: 4b16 ldr r3, [pc, #88] ; (8046538 ) 80464de: 781b ldrb r3, [r3, #0] 80464e0: b2db uxtb r3, r3 80464e2: f083 0301 eor.w r3, r3, #1 80464e6: b2db uxtb r3, r3 80464e8: 2b00 cmp r3, #0 80464ea: d006 beq.n 80464fa { menupos = DiagUs3; 80464ec: 4b11 ldr r3, [pc, #68] ; (8046534 ) 80464ee: 2205 movs r2, #5 80464f0: 701a strb r2, [r3, #0] CURR_USL = Us3; 80464f2: 4b14 ldr r3, [pc, #80] ; (8046544 ) 80464f4: 2202 movs r2, #2 80464f6: 701a strb r2, [r3, #0] } else { pardata.DIAGN_OPER[CURR_POINT][Us2] ^= 0x1; } break; 80464f8: e2c7 b.n 8046a8a pardata.DIAGN_OPER[CURR_POINT][Us2] ^= 0x1; 80464fa: 4b13 ldr r3, [pc, #76] ; (8046548 ) 80464fc: 781b ldrb r3, [r3, #0] 80464fe: b2db uxtb r3, r3 8046500: 4618 mov r0, r3 8046502: 4a0e ldr r2, [pc, #56] ; (804653c ) 8046504: 009b lsls r3, r3, #2 8046506: 4413 add r3, r2 8046508: f893 321d ldrb.w r3, [r3, #541] ; 0x21d 804650c: b2db uxtb r3, r3 804650e: f083 0301 eor.w r3, r3, #1 8046512: b2d9 uxtb r1, r3 8046514: 4a09 ldr r2, [pc, #36] ; (804653c ) 8046516: 0083 lsls r3, r0, #2 8046518: 4413 add r3, r2 804651a: 460a mov r2, r1 804651c: f883 221d strb.w r2, [r3, #541] ; 0x21d break; 8046520: e2b3 b.n 8046a8a case DiagUs3: menupos = DiagUs1; 8046522: 4b04 ldr r3, [pc, #16] ; (8046534 ) 8046524: 2201 movs r2, #1 8046526: 701a strb r2, [r3, #0] CURR_USL = Us1; 8046528: 4b06 ldr r3, [pc, #24] ; (8046544 ) 804652a: 2200 movs r2, #0 804652c: 701a strb r2, [r3, #0] break; 804652e: e2ac b.n 8046a8a 8046530: 20020f78 .word 0x20020f78 8046534: 20020070 .word 0x20020070 8046538: 20020f84 .word 0x20020f84 804653c: 20023e60 .word 0x20023e60 8046540: 20020e7c .word 0x20020e7c 8046544: 20021013 .word 0x20021013 8046548: 20021011 .word 0x20021011 case DiagAVS: if(focused) 804654c: 4bc6 ldr r3, [pc, #792] ; (8046868 ) 804654e: 781b ldrb r3, [r3, #0] 8046550: b2db uxtb r3, r3 8046552: 2b00 cmp r3, #0 8046554: f000 817a beq.w 804684c { tmp8 = pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7; 8046558: 4bc4 ldr r3, [pc, #784] ; (804686c ) 804655a: 781b ldrb r3, [r3, #0] 804655c: b2db uxtb r3, r3 804655e: 4618 mov r0, r3 8046560: 4bc3 ldr r3, [pc, #780] ; (8046870 ) 8046562: 781b ldrb r3, [r3, #0] 8046564: b2db uxtb r3, r3 8046566: 4619 mov r1, r3 8046568: 4ac2 ldr r2, [pc, #776] ; (8046874 ) 804656a: 0083 lsls r3, r0, #2 804656c: 4413 add r3, r2 804656e: 440b add r3, r1 8046570: f503 730f add.w r3, r3, #572 ; 0x23c 8046574: 781b ldrb r3, [r3, #0] 8046576: b2db uxtb r3, r3 8046578: f003 0307 and.w r3, r3, #7 804657c: f887 30b3 strb.w r3, [r7, #179] ; 0xb3 if(tmp8 == DIAGN_NO) tmp8 = DIAGN_ACC; 8046580: f897 30b3 ldrb.w r3, [r7, #179] ; 0xb3 8046584: 2b00 cmp r3, #0 8046586: d103 bne.n 8046590 8046588: 2301 movs r3, #1 804658a: f887 30b3 strb.w r3, [r7, #179] ; 0xb3 804658e: e016 b.n 80465be else if(tmp8 == DIAGN_ACC) tmp8 = DIAGN_VEL; 8046590: f897 30b3 ldrb.w r3, [r7, #179] ; 0xb3 8046594: 2b01 cmp r3, #1 8046596: d103 bne.n 80465a0 8046598: 2302 movs r3, #2 804659a: f887 30b3 strb.w r3, [r7, #179] ; 0xb3 804659e: e00e b.n 80465be else if(tmp8 == DIAGN_VEL) tmp8 = DIAGN_DIS; 80465a0: f897 30b3 ldrb.w r3, [r7, #179] ; 0xb3 80465a4: 2b02 cmp r3, #2 80465a6: d103 bne.n 80465b0 80465a8: 2304 movs r3, #4 80465aa: f887 30b3 strb.w r3, [r7, #179] ; 0xb3 80465ae: e006 b.n 80465be else if(tmp8 == DIAGN_DIS) tmp8 = DIAGN_NO; 80465b0: f897 30b3 ldrb.w r3, [r7, #179] ; 0xb3 80465b4: 2b04 cmp r3, #4 80465b6: d102 bne.n 80465be 80465b8: 2300 movs r3, #0 80465ba: f887 30b3 strb.w r3, [r7, #179] ; 0xb3 pardata.DIAGN_MASK[CURR_POINT][CURR_USL] &= 0xf8; 80465be: 4bab ldr r3, [pc, #684] ; (804686c ) 80465c0: 781b ldrb r3, [r3, #0] 80465c2: b2da uxtb r2, r3 80465c4: 4614 mov r4, r2 80465c6: 4baa ldr r3, [pc, #680] ; (8046870 ) 80465c8: 781b ldrb r3, [r3, #0] 80465ca: b2db uxtb r3, r3 80465cc: 4618 mov r0, r3 80465ce: 4615 mov r5, r2 80465d0: 4619 mov r1, r3 80465d2: 4aa8 ldr r2, [pc, #672] ; (8046874 ) 80465d4: 00ab lsls r3, r5, #2 80465d6: 4413 add r3, r2 80465d8: 440b add r3, r1 80465da: f503 730f add.w r3, r3, #572 ; 0x23c 80465de: 781b ldrb r3, [r3, #0] 80465e0: b2db uxtb r3, r3 80465e2: f023 0307 bic.w r3, r3, #7 80465e6: b2d9 uxtb r1, r3 80465e8: 4aa2 ldr r2, [pc, #648] ; (8046874 ) 80465ea: 00a3 lsls r3, r4, #2 80465ec: 4413 add r3, r2 80465ee: 4403 add r3, r0 80465f0: f503 730f add.w r3, r3, #572 ; 0x23c 80465f4: 460a mov r2, r1 80465f6: 701a strb r2, [r3, #0] pardata.DIAGN_MASK[CURR_POINT][CURR_USL] |= tmp8; 80465f8: 4b9c ldr r3, [pc, #624] ; (804686c ) 80465fa: 781b ldrb r3, [r3, #0] 80465fc: b2da uxtb r2, r3 80465fe: 4614 mov r4, r2 8046600: 4b9b ldr r3, [pc, #620] ; (8046870 ) 8046602: 781b ldrb r3, [r3, #0] 8046604: b2db uxtb r3, r3 8046606: 4618 mov r0, r3 8046608: 4615 mov r5, r2 804660a: 4619 mov r1, r3 804660c: 4a99 ldr r2, [pc, #612] ; (8046874 ) 804660e: 00ab lsls r3, r5, #2 8046610: 4413 add r3, r2 8046612: 440b add r3, r1 8046614: f503 730f add.w r3, r3, #572 ; 0x23c 8046618: 781b ldrb r3, [r3, #0] 804661a: b2da uxtb r2, r3 804661c: f897 30b3 ldrb.w r3, [r7, #179] ; 0xb3 8046620: 4313 orrs r3, r2 8046622: b2d9 uxtb r1, r3 8046624: 4a93 ldr r2, [pc, #588] ; (8046874 ) 8046626: 00a3 lsls r3, r4, #2 8046628: 4413 add r3, r2 804662a: 4403 add r3, r0 804662c: f503 730f add.w r3, r3, #572 ; 0x23c 8046630: 460a mov r2, r1 8046632: 701a strb r2, [r3, #0] if((pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7) > DIAGN_ACC) 8046634: 4b8d ldr r3, [pc, #564] ; (804686c ) 8046636: 781b ldrb r3, [r3, #0] 8046638: b2db uxtb r3, r3 804663a: 4618 mov r0, r3 804663c: 4b8c ldr r3, [pc, #560] ; (8046870 ) 804663e: 781b ldrb r3, [r3, #0] 8046640: b2db uxtb r3, r3 8046642: 4619 mov r1, r3 8046644: 4a8b ldr r2, [pc, #556] ; (8046874 ) 8046646: 0083 lsls r3, r0, #2 8046648: 4413 add r3, r2 804664a: 440b add r3, r1 804664c: f503 730f add.w r3, r3, #572 ; 0x23c 8046650: 781b ldrb r3, [r3, #0] 8046652: b2db uxtb r3, r3 8046654: f003 0307 and.w r3, r3, #7 8046658: 2b01 cmp r3, #1 804665a: f340 8086 ble.w 804676a { if(pardata.DIAGN_HP[CURR_POINT][CURR_USL] < 2.0f) 804665e: 4b83 ldr r3, [pc, #524] ; (804686c ) 8046660: 781b ldrb r3, [r3, #0] 8046662: b2db uxtb r3, r3 8046664: 4618 mov r0, r3 8046666: 4b82 ldr r3, [pc, #520] ; (8046870 ) 8046668: 781b ldrb r3, [r3, #0] 804666a: b2db uxtb r3, r3 804666c: 4619 mov r1, r3 804666e: 4a81 ldr r2, [pc, #516] ; (8046874 ) 8046670: 0083 lsls r3, r0, #2 8046672: 440b add r3, r1 8046674: 3396 adds r3, #150 ; 0x96 8046676: 009b lsls r3, r3, #2 8046678: 4413 add r3, r2 804667a: 3304 adds r3, #4 804667c: edd3 7a00 vldr s15, [r3] 8046680: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 8046684: eef4 7ac7 vcmpe.f32 s15, s14 8046688: eef1 fa10 vmrs APSR_nzcv, fpscr 804668c: d511 bpl.n 80466b2 pardata.DIAGN_HP[CURR_POINT][CURR_USL] = 2.0f; 804668e: 4b77 ldr r3, [pc, #476] ; (804686c ) 8046690: 781b ldrb r3, [r3, #0] 8046692: b2db uxtb r3, r3 8046694: 4618 mov r0, r3 8046696: 4b76 ldr r3, [pc, #472] ; (8046870 ) 8046698: 781b ldrb r3, [r3, #0] 804669a: b2db uxtb r3, r3 804669c: 4619 mov r1, r3 804669e: 4a75 ldr r2, [pc, #468] ; (8046874 ) 80466a0: 0083 lsls r3, r0, #2 80466a2: 440b add r3, r1 80466a4: 3396 adds r3, #150 ; 0x96 80466a6: 009b lsls r3, r3, #2 80466a8: 4413 add r3, r2 80466aa: 3304 adds r3, #4 80466ac: f04f 4280 mov.w r2, #1073741824 ; 0x40000000 80466b0: 601a str r2, [r3, #0] tmp8 = (pardata.DIAGN_MASK[CURR_POINT][CURR_USL] >> 3) & 0x1f; 80466b2: 4b6e ldr r3, [pc, #440] ; (804686c ) 80466b4: 781b ldrb r3, [r3, #0] 80466b6: b2db uxtb r3, r3 80466b8: 4618 mov r0, r3 80466ba: 4b6d ldr r3, [pc, #436] ; (8046870 ) 80466bc: 781b ldrb r3, [r3, #0] 80466be: b2db uxtb r3, r3 80466c0: 4619 mov r1, r3 80466c2: 4a6c ldr r2, [pc, #432] ; (8046874 ) 80466c4: 0083 lsls r3, r0, #2 80466c6: 4413 add r3, r2 80466c8: 440b add r3, r1 80466ca: f503 730f add.w r3, r3, #572 ; 0x23c 80466ce: 781b ldrb r3, [r3, #0] 80466d0: b2db uxtb r3, r3 80466d2: 08db lsrs r3, r3, #3 80466d4: b2db uxtb r3, r3 80466d6: f003 031f and.w r3, r3, #31 80466da: f887 30b3 strb.w r3, [r7, #179] ; 0xb3 if(tmp8 == DIAGN_EXCESS) { 80466de: f897 30b3 ldrb.w r3, [r7, #179] ; 0xb3 80466e2: 2b10 cmp r3, #16 80466e4: d102 bne.n 80466ec tmp8 = DIAGN_PEAK; 80466e6: 2301 movs r3, #1 80466e8: f887 30b3 strb.w r3, [r7, #179] ; 0xb3 } pardata.DIAGN_MASK[CURR_POINT][CURR_USL] &= 0x7; 80466ec: 4b5f ldr r3, [pc, #380] ; (804686c ) 80466ee: 781b ldrb r3, [r3, #0] 80466f0: b2da uxtb r2, r3 80466f2: 4614 mov r4, r2 80466f4: 4b5e ldr r3, [pc, #376] ; (8046870 ) 80466f6: 781b ldrb r3, [r3, #0] 80466f8: b2db uxtb r3, r3 80466fa: 4618 mov r0, r3 80466fc: 4615 mov r5, r2 80466fe: 4619 mov r1, r3 8046700: 4a5c ldr r2, [pc, #368] ; (8046874 ) 8046702: 00ab lsls r3, r5, #2 8046704: 4413 add r3, r2 8046706: 440b add r3, r1 8046708: f503 730f add.w r3, r3, #572 ; 0x23c 804670c: 781b ldrb r3, [r3, #0] 804670e: b2db uxtb r3, r3 8046710: f003 0307 and.w r3, r3, #7 8046714: b2d9 uxtb r1, r3 8046716: 4a57 ldr r2, [pc, #348] ; (8046874 ) 8046718: 00a3 lsls r3, r4, #2 804671a: 4413 add r3, r2 804671c: 4403 add r3, r0 804671e: f503 730f add.w r3, r3, #572 ; 0x23c 8046722: 460a mov r2, r1 8046724: 701a strb r2, [r3, #0] pardata.DIAGN_MASK[CURR_POINT][CURR_USL] |= ((tmp8 << 3) & 0xf8); 8046726: 4b51 ldr r3, [pc, #324] ; (804686c ) 8046728: 781b ldrb r3, [r3, #0] 804672a: b2da uxtb r2, r3 804672c: 4614 mov r4, r2 804672e: 4b50 ldr r3, [pc, #320] ; (8046870 ) 8046730: 781b ldrb r3, [r3, #0] 8046732: b2db uxtb r3, r3 8046734: 4618 mov r0, r3 8046736: 4615 mov r5, r2 8046738: 4619 mov r1, r3 804673a: 4a4e ldr r2, [pc, #312] ; (8046874 ) 804673c: 00ab lsls r3, r5, #2 804673e: 4413 add r3, r2 8046740: 440b add r3, r1 8046742: f503 730f add.w r3, r3, #572 ; 0x23c 8046746: 781b ldrb r3, [r3, #0] 8046748: b2db uxtb r3, r3 804674a: b25a sxtb r2, r3 804674c: f897 30b3 ldrb.w r3, [r7, #179] ; 0xb3 8046750: 00db lsls r3, r3, #3 8046752: b25b sxtb r3, r3 8046754: 4313 orrs r3, r2 8046756: b25b sxtb r3, r3 8046758: b2d9 uxtb r1, r3 804675a: 4a46 ldr r2, [pc, #280] ; (8046874 ) 804675c: 00a3 lsls r3, r4, #2 804675e: 4413 add r3, r2 8046760: 4403 add r3, r0 8046762: f503 730f add.w r3, r3, #572 ; 0x23c 8046766: 460a mov r2, r1 8046768: 701a strb r2, [r3, #0] } if((((float64_t) FS[pardata.FRQ]) / ((float64_t) pardata.DIAGN_LP[CURR_POINT][CURR_USL]) + 0.00005f) < 5.0) 804676a: 4b42 ldr r3, [pc, #264] ; (8046874 ) 804676c: 7adb ldrb r3, [r3, #11] 804676e: b2db uxtb r3, r3 8046770: 461a mov r2, r3 8046772: 4b41 ldr r3, [pc, #260] ; (8046878 ) 8046774: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8046778: ee07 3a90 vmov s15, r3 804677c: eeb8 5b67 vcvt.f64.u32 d5, s15 8046780: 4b3a ldr r3, [pc, #232] ; (804686c ) 8046782: 781b ldrb r3, [r3, #0] 8046784: b2db uxtb r3, r3 8046786: 4618 mov r0, r3 8046788: 4b39 ldr r3, [pc, #228] ; (8046870 ) 804678a: 781b ldrb r3, [r3, #0] 804678c: b2db uxtb r3, r3 804678e: 4619 mov r1, r3 8046790: 4a38 ldr r2, [pc, #224] ; (8046874 ) 8046792: 0083 lsls r3, r0, #2 8046794: 440b add r3, r1 8046796: 33b6 adds r3, #182 ; 0xb6 8046798: 009b lsls r3, r3, #2 804679a: 4413 add r3, r2 804679c: 3304 adds r3, #4 804679e: edd3 7a00 vldr s15, [r3] 80467a2: eeb7 6ae7 vcvt.f64.f32 d6, s15 80467a6: ee85 7b06 vdiv.f64 d7, d5, d6 80467aa: ed9f 6b2b vldr d6, [pc, #172] ; 8046858 80467ae: ee37 7b06 vadd.f64 d7, d7, d6 80467b2: eeb1 6b04 vmov.f64 d6, #20 ; 0x40a00000 5.0 80467b6: eeb4 7bc6 vcmpe.f64 d7, d6 80467ba: eef1 fa10 vmrs APSR_nzcv, fpscr 80467be: d400 bmi.n 80467c2 pardata.DIAGN_LP[CURR_POINT][CURR_USL] += 0.0001; } } else menupos = Ok; break; 80467c0: e163 b.n 8046a8a pardata.DIAGN_LP[CURR_POINT][CURR_USL] = (float32_t) (FS[pardata.FRQ] / 5); 80467c2: 4b2a ldr r3, [pc, #168] ; (804686c ) 80467c4: 781b ldrb r3, [r3, #0] 80467c6: b2db uxtb r3, r3 80467c8: 4618 mov r0, r3 80467ca: 4b29 ldr r3, [pc, #164] ; (8046870 ) 80467cc: 781b ldrb r3, [r3, #0] 80467ce: b2db uxtb r3, r3 80467d0: 4619 mov r1, r3 80467d2: 4b28 ldr r3, [pc, #160] ; (8046874 ) 80467d4: 7adb ldrb r3, [r3, #11] 80467d6: b2db uxtb r3, r3 80467d8: 461a mov r2, r3 80467da: 4b27 ldr r3, [pc, #156] ; (8046878 ) 80467dc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80467e0: 4a26 ldr r2, [pc, #152] ; (804687c ) 80467e2: fba2 2303 umull r2, r3, r2, r3 80467e6: 089b lsrs r3, r3, #2 80467e8: ee07 3a90 vmov s15, r3 80467ec: eef8 7a67 vcvt.f32.u32 s15, s15 80467f0: 4a20 ldr r2, [pc, #128] ; (8046874 ) 80467f2: 0083 lsls r3, r0, #2 80467f4: 440b add r3, r1 80467f6: 33b6 adds r3, #182 ; 0xb6 80467f8: 009b lsls r3, r3, #2 80467fa: 4413 add r3, r2 80467fc: 3304 adds r3, #4 80467fe: edc3 7a00 vstr s15, [r3] pardata.DIAGN_LP[CURR_POINT][CURR_USL] += 0.0001; 8046802: 4b1a ldr r3, [pc, #104] ; (804686c ) 8046804: 781b ldrb r3, [r3, #0] 8046806: b2da uxtb r2, r3 8046808: 4610 mov r0, r2 804680a: 4b19 ldr r3, [pc, #100] ; (8046870 ) 804680c: 781b ldrb r3, [r3, #0] 804680e: b2db uxtb r3, r3 8046810: 4619 mov r1, r3 8046812: 4615 mov r5, r2 8046814: 461c mov r4, r3 8046816: 4a17 ldr r2, [pc, #92] ; (8046874 ) 8046818: 00ab lsls r3, r5, #2 804681a: 4423 add r3, r4 804681c: 33b6 adds r3, #182 ; 0xb6 804681e: 009b lsls r3, r3, #2 8046820: 4413 add r3, r2 8046822: 3304 adds r3, #4 8046824: edd3 7a00 vldr s15, [r3] 8046828: eeb7 7ae7 vcvt.f64.f32 d7, s15 804682c: ed9f 6b0c vldr d6, [pc, #48] ; 8046860 8046830: ee37 7b06 vadd.f64 d7, d7, d6 8046834: eef7 7bc7 vcvt.f32.f64 s15, d7 8046838: 4a0e ldr r2, [pc, #56] ; (8046874 ) 804683a: 0083 lsls r3, r0, #2 804683c: 440b add r3, r1 804683e: 33b6 adds r3, #182 ; 0xb6 8046840: 009b lsls r3, r3, #2 8046842: 4413 add r3, r2 8046844: 3304 adds r3, #4 8046846: edc3 7a00 vstr s15, [r3] break; 804684a: e11e b.n 8046a8a menupos = Ok; 804684c: 4b0c ldr r3, [pc, #48] ; (8046880 ) 804684e: 2200 movs r2, #0 8046850: 701a strb r2, [r3, #0] break; 8046852: e11a b.n 8046a8a 8046854: f3af 8000 nop.w 8046858: e0000000 .word 0xe0000000 804685c: 3f0a36e2 .word 0x3f0a36e2 8046860: eb1c432d .word 0xeb1c432d 8046864: 3f1a36e2 .word 0x3f1a36e2 8046868: 20020f84 .word 0x20020f84 804686c: 20021011 .word 0x20021011 8046870: 20021013 .word 0x20021013 8046874: 20023e60 .word 0x20023e60 8046878: 080ee890 .word 0x080ee890 804687c: cccccccd .word 0xcccccccd 8046880: 20020070 .word 0x20020070 case DiagValue: if(focused) 8046884: 4bb5 ldr r3, [pc, #724] ; (8046b5c ) 8046886: 781b ldrb r3, [r3, #0] 8046888: b2db uxtb r3, r3 804688a: 2b00 cmp r3, #0 804688c: f000 8095 beq.w 80469ba { tmp8 = (pardata.DIAGN_MASK[CURR_POINT][CURR_USL] >> 3) & 0x1f; 8046890: 4bb3 ldr r3, [pc, #716] ; (8046b60 ) 8046892: 781b ldrb r3, [r3, #0] 8046894: b2db uxtb r3, r3 8046896: 4618 mov r0, r3 8046898: 4bb2 ldr r3, [pc, #712] ; (8046b64 ) 804689a: 781b ldrb r3, [r3, #0] 804689c: b2db uxtb r3, r3 804689e: 4619 mov r1, r3 80468a0: 4ab1 ldr r2, [pc, #708] ; (8046b68 ) 80468a2: 0083 lsls r3, r0, #2 80468a4: 4413 add r3, r2 80468a6: 440b add r3, r1 80468a8: f503 730f add.w r3, r3, #572 ; 0x23c 80468ac: 781b ldrb r3, [r3, #0] 80468ae: b2db uxtb r3, r3 80468b0: 08db lsrs r3, r3, #3 80468b2: b2db uxtb r3, r3 80468b4: f003 031f and.w r3, r3, #31 80468b8: f887 30b3 strb.w r3, [r7, #179] ; 0xb3 if(tmp8 == DIAGN_PEAK) tmp8 = DIAGN_RMS; 80468bc: f897 30b3 ldrb.w r3, [r7, #179] ; 0xb3 80468c0: 2b01 cmp r3, #1 80468c2: d103 bne.n 80468cc 80468c4: 2302 movs r3, #2 80468c6: f887 30b3 strb.w r3, [r7, #179] ; 0xb3 80468ca: e036 b.n 804693a else if(tmp8 == DIAGN_RMS) tmp8 = DIAGN_PEAK_TO_PEAK; 80468cc: f897 30b3 ldrb.w r3, [r7, #179] ; 0xb3 80468d0: 2b02 cmp r3, #2 80468d2: d103 bne.n 80468dc 80468d4: 2304 movs r3, #4 80468d6: f887 30b3 strb.w r3, [r7, #179] ; 0xb3 80468da: e02e b.n 804693a else if(tmp8 == DIAGN_PEAK_TO_PEAK) tmp8 = DIAGN_PEAK_FACTOR; 80468dc: f897 30b3 ldrb.w r3, [r7, #179] ; 0xb3 80468e0: 2b04 cmp r3, #4 80468e2: d103 bne.n 80468ec 80468e4: 2308 movs r3, #8 80468e6: f887 30b3 strb.w r3, [r7, #179] ; 0xb3 80468ea: e026 b.n 804693a else if(tmp8 == DIAGN_PEAK_FACTOR) 80468ec: f897 30b3 ldrb.w r3, [r7, #179] ; 0xb3 80468f0: 2b08 cmp r3, #8 80468f2: d11b bne.n 804692c { if((pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7) == DIAGN_ACC) 80468f4: 4b9a ldr r3, [pc, #616] ; (8046b60 ) 80468f6: 781b ldrb r3, [r3, #0] 80468f8: b2db uxtb r3, r3 80468fa: 4618 mov r0, r3 80468fc: 4b99 ldr r3, [pc, #612] ; (8046b64 ) 80468fe: 781b ldrb r3, [r3, #0] 8046900: b2db uxtb r3, r3 8046902: 4619 mov r1, r3 8046904: 4a98 ldr r2, [pc, #608] ; (8046b68 ) 8046906: 0083 lsls r3, r0, #2 8046908: 4413 add r3, r2 804690a: 440b add r3, r1 804690c: f503 730f add.w r3, r3, #572 ; 0x23c 8046910: 781b ldrb r3, [r3, #0] 8046912: b2db uxtb r3, r3 8046914: f003 0307 and.w r3, r3, #7 8046918: 2b01 cmp r3, #1 804691a: d103 bne.n 8046924 tmp8 = DIAGN_EXCESS; 804691c: 2310 movs r3, #16 804691e: f887 30b3 strb.w r3, [r7, #179] ; 0xb3 8046922: e00a b.n 804693a else tmp8 = DIAGN_PEAK; 8046924: 2301 movs r3, #1 8046926: f887 30b3 strb.w r3, [r7, #179] ; 0xb3 804692a: e006 b.n 804693a } else if(tmp8 == DIAGN_EXCESS) tmp8 = DIAGN_PEAK; 804692c: f897 30b3 ldrb.w r3, [r7, #179] ; 0xb3 8046930: 2b10 cmp r3, #16 8046932: d102 bne.n 804693a 8046934: 2301 movs r3, #1 8046936: f887 30b3 strb.w r3, [r7, #179] ; 0xb3 pardata.DIAGN_MASK[CURR_POINT][CURR_USL] &= 0x7; 804693a: 4b89 ldr r3, [pc, #548] ; (8046b60 ) 804693c: 781b ldrb r3, [r3, #0] 804693e: b2da uxtb r2, r3 8046940: 4614 mov r4, r2 8046942: 4b88 ldr r3, [pc, #544] ; (8046b64 ) 8046944: 781b ldrb r3, [r3, #0] 8046946: b2db uxtb r3, r3 8046948: 4618 mov r0, r3 804694a: 4615 mov r5, r2 804694c: 4619 mov r1, r3 804694e: 4a86 ldr r2, [pc, #536] ; (8046b68 ) 8046950: 00ab lsls r3, r5, #2 8046952: 4413 add r3, r2 8046954: 440b add r3, r1 8046956: f503 730f add.w r3, r3, #572 ; 0x23c 804695a: 781b ldrb r3, [r3, #0] 804695c: b2db uxtb r3, r3 804695e: f003 0307 and.w r3, r3, #7 8046962: b2d9 uxtb r1, r3 8046964: 4a80 ldr r2, [pc, #512] ; (8046b68 ) 8046966: 00a3 lsls r3, r4, #2 8046968: 4413 add r3, r2 804696a: 4403 add r3, r0 804696c: f503 730f add.w r3, r3, #572 ; 0x23c 8046970: 460a mov r2, r1 8046972: 701a strb r2, [r3, #0] pardata.DIAGN_MASK[CURR_POINT][CURR_USL] |= ((tmp8 << 3) & 0xf8); 8046974: 4b7a ldr r3, [pc, #488] ; (8046b60 ) 8046976: 781b ldrb r3, [r3, #0] 8046978: b2da uxtb r2, r3 804697a: 4614 mov r4, r2 804697c: 4b79 ldr r3, [pc, #484] ; (8046b64 ) 804697e: 781b ldrb r3, [r3, #0] 8046980: b2db uxtb r3, r3 8046982: 4618 mov r0, r3 8046984: 4615 mov r5, r2 8046986: 4619 mov r1, r3 8046988: 4a77 ldr r2, [pc, #476] ; (8046b68 ) 804698a: 00ab lsls r3, r5, #2 804698c: 4413 add r3, r2 804698e: 440b add r3, r1 8046990: f503 730f add.w r3, r3, #572 ; 0x23c 8046994: 781b ldrb r3, [r3, #0] 8046996: b2db uxtb r3, r3 8046998: b25a sxtb r2, r3 804699a: f897 30b3 ldrb.w r3, [r7, #179] ; 0xb3 804699e: 00db lsls r3, r3, #3 80469a0: b25b sxtb r3, r3 80469a2: 4313 orrs r3, r2 80469a4: b25b sxtb r3, r3 80469a6: b2d9 uxtb r1, r3 80469a8: 4a6f ldr r2, [pc, #444] ; (8046b68 ) 80469aa: 00a3 lsls r3, r4, #2 80469ac: 4413 add r3, r2 80469ae: 4403 add r3, r0 80469b0: f503 730f add.w r3, r3, #572 ; 0x23c 80469b4: 460a mov r2, r1 80469b6: 701a strb r2, [r3, #0] } else menupos = Ok; break; 80469b8: e067 b.n 8046a8a menupos = Ok; 80469ba: 4b6c ldr r3, [pc, #432] ; (8046b6c ) 80469bc: 2200 movs r2, #0 80469be: 701a strb r2, [r3, #0] break; 80469c0: e063 b.n 8046a8a case DiagHP: case DiagLP: case Diag_W: case Diag_A: menupos = Ok; 80469c2: 4b6a ldr r3, [pc, #424] ; (8046b6c ) 80469c4: 2200 movs r2, #0 80469c6: 701a strb r2, [r3, #0] break; 80469c8: e05f b.n 8046a8a case DiagHP_IKD: menupos = DiagHP_IDT; break; 80469ca: 4b68 ldr r3, [pc, #416] ; (8046b6c ) 80469cc: 220d movs r2, #13 80469ce: 701a strb r2, [r3, #0] 80469d0: e05b b.n 8046a8a case DiagHP_IEE: menupos = DiagHP_IKD; break; 80469d2: 4b66 ldr r3, [pc, #408] ; (8046b6c ) 80469d4: 2212 movs r2, #18 80469d6: 701a strb r2, [r3, #0] 80469d8: e057 b.n 8046a8a case DiagHP_IED: menupos = DiagHP_IEE; break; 80469da: 4b64 ldr r3, [pc, #400] ; (8046b6c ) 80469dc: 2211 movs r2, #17 80469de: 701a strb r2, [r3, #0] 80469e0: e053 b.n 8046a8a case DiagHP_IES: menupos = DiagHP_IED; break; 80469e2: 4b62 ldr r3, [pc, #392] ; (8046b6c ) 80469e4: 2210 movs r2, #16 80469e6: 701a strb r2, [r3, #0] 80469e8: e04f b.n 8046a8a case DiagHP_IET: menupos = DiagHP_IES; break; 80469ea: 4b60 ldr r3, [pc, #384] ; (8046b6c ) 80469ec: 220f movs r2, #15 80469ee: 701a strb r2, [r3, #0] 80469f0: e04b b.n 8046a8a case DiagHP_IDT: menupos = DiagHP_IET; break; 80469f2: 4b5e ldr r3, [pc, #376] ; (8046b6c ) 80469f4: 220e movs r2, #14 80469f6: 701a strb r2, [r3, #0] 80469f8: e047 b.n 8046a8a case DiagLP_IKD: menupos = DiagLP_IDT; break; 80469fa: 4b5c ldr r3, [pc, #368] ; (8046b6c ) 80469fc: 2213 movs r2, #19 80469fe: 701a strb r2, [r3, #0] 8046a00: e043 b.n 8046a8a case DiagLP_IEE: menupos = DiagLP_IKD; break; 8046a02: 4b5a ldr r3, [pc, #360] ; (8046b6c ) 8046a04: 2218 movs r2, #24 8046a06: 701a strb r2, [r3, #0] 8046a08: e03f b.n 8046a8a case DiagLP_IED: menupos = DiagLP_IEE; break; 8046a0a: 4b58 ldr r3, [pc, #352] ; (8046b6c ) 8046a0c: 2217 movs r2, #23 8046a0e: 701a strb r2, [r3, #0] 8046a10: e03b b.n 8046a8a case DiagLP_IES: menupos = DiagLP_IED; break; 8046a12: 4b56 ldr r3, [pc, #344] ; (8046b6c ) 8046a14: 2216 movs r2, #22 8046a16: 701a strb r2, [r3, #0] 8046a18: e037 b.n 8046a8a case DiagLP_IET: menupos = DiagLP_IES; break; 8046a1a: 4b54 ldr r3, [pc, #336] ; (8046b6c ) 8046a1c: 2215 movs r2, #21 8046a1e: 701a strb r2, [r3, #0] 8046a20: e033 b.n 8046a8a case DiagLP_IDT: menupos = DiagLP_IET; break; 8046a22: 4b52 ldr r3, [pc, #328] ; (8046b6c ) 8046a24: 2214 movs r2, #20 8046a26: 701a strb r2, [r3, #0] 8046a28: e02f b.n 8046a8a case DiagW_IKD: menupos = DiagW_IDT; break; 8046a2a: 4b50 ldr r3, [pc, #320] ; (8046b6c ) 8046a2c: 2219 movs r2, #25 8046a2e: 701a strb r2, [r3, #0] 8046a30: e02b b.n 8046a8a case DiagW_IEE: menupos = DiagW_IKD; break; 8046a32: 4b4e ldr r3, [pc, #312] ; (8046b6c ) 8046a34: 221e movs r2, #30 8046a36: 701a strb r2, [r3, #0] 8046a38: e027 b.n 8046a8a case DiagW_IED: menupos = DiagW_IEE; break; 8046a3a: 4b4c ldr r3, [pc, #304] ; (8046b6c ) 8046a3c: 221d movs r2, #29 8046a3e: 701a strb r2, [r3, #0] 8046a40: e023 b.n 8046a8a case DiagW_IES: menupos = DiagW_IED; break; 8046a42: 4b4a ldr r3, [pc, #296] ; (8046b6c ) 8046a44: 221c movs r2, #28 8046a46: 701a strb r2, [r3, #0] 8046a48: e01f b.n 8046a8a case DiagW_IET: menupos = DiagW_IES; break; 8046a4a: 4b48 ldr r3, [pc, #288] ; (8046b6c ) 8046a4c: 221b movs r2, #27 8046a4e: 701a strb r2, [r3, #0] 8046a50: e01b b.n 8046a8a case DiagW_IDT: menupos = DiagW_IET; break; 8046a52: 4b46 ldr r3, [pc, #280] ; (8046b6c ) 8046a54: 221a movs r2, #26 8046a56: 701a strb r2, [r3, #0] 8046a58: e017 b.n 8046a8a case DiagA_IKD: menupos = DiagA_IDT; break; 8046a5a: 4b44 ldr r3, [pc, #272] ; (8046b6c ) 8046a5c: 221f movs r2, #31 8046a5e: 701a strb r2, [r3, #0] 8046a60: e013 b.n 8046a8a case DiagA_IEE: menupos = DiagA_IKD; break; 8046a62: 4b42 ldr r3, [pc, #264] ; (8046b6c ) 8046a64: 2224 movs r2, #36 ; 0x24 8046a66: 701a strb r2, [r3, #0] 8046a68: e00f b.n 8046a8a case DiagA_IED: menupos = DiagA_IEE; break; 8046a6a: 4b40 ldr r3, [pc, #256] ; (8046b6c ) 8046a6c: 2223 movs r2, #35 ; 0x23 8046a6e: 701a strb r2, [r3, #0] 8046a70: e00b b.n 8046a8a case DiagA_IES: menupos = DiagA_IED; break; 8046a72: 4b3e ldr r3, [pc, #248] ; (8046b6c ) 8046a74: 2222 movs r2, #34 ; 0x22 8046a76: 701a strb r2, [r3, #0] 8046a78: e007 b.n 8046a8a case DiagA_IET: menupos = DiagA_IES; break; 8046a7a: 4b3c ldr r3, [pc, #240] ; (8046b6c ) 8046a7c: 2221 movs r2, #33 ; 0x21 8046a7e: 701a strb r2, [r3, #0] 8046a80: e003 b.n 8046a8a case DiagA_IDT: menupos = DiagA_IET; break; 8046a82: 4b3a ldr r3, [pc, #232] ; (8046b6c ) 8046a84: 2220 movs r2, #32 8046a86: 701a strb r2, [r3, #0] 8046a88: bf00 nop } break; 8046a8a: f002 b9e4 b.w 8048e56 case TREND_A: case TREND_V: case TREND_S: if(menupos < Trend_excess) menupos++; 8046a8e: 4b37 ldr r3, [pc, #220] ; (8046b6c ) 8046a90: 781b ldrb r3, [r3, #0] 8046a92: b2db uxtb r3, r3 8046a94: 2b03 cmp r3, #3 8046a96: d808 bhi.n 8046aaa 8046a98: 4b34 ldr r3, [pc, #208] ; (8046b6c ) 8046a9a: 781b ldrb r3, [r3, #0] 8046a9c: b2db uxtb r3, r3 8046a9e: 3301 adds r3, #1 8046aa0: b2da uxtb r2, r3 8046aa2: 4b32 ldr r3, [pc, #200] ; (8046b6c ) 8046aa4: 701a strb r2, [r3, #0] else menupos = Trend_pk; break; 8046aa6: f002 ba36 b.w 8048f16 else menupos = Trend_pk; 8046aaa: 4b30 ldr r3, [pc, #192] ; (8046b6c ) 8046aac: 2200 movs r2, #0 8046aae: 701a strb r2, [r3, #0] break; 8046ab0: f002 ba31 b.w 8048f16 case MAIN_UDAR: break; case MAIN_DIAGN: switch(menupos) 8046ab4: 4b2d ldr r3, [pc, #180] ; (8046b6c ) 8046ab6: 781b ldrb r3, [r3, #0] 8046ab8: b2db uxtb r3, r3 8046aba: 2b04 cmp r3, #4 8046abc: f202 81ce bhi.w 8048e5c 8046ac0: a201 add r2, pc, #4 ; (adr r2, 8046ac8 ) 8046ac2: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8046ac6: bf00 nop 8046ac8: 08046add .word 0x08046add 8046acc: 08048e5d .word 0x08048e5d 8046ad0: 08046af5 .word 0x08046af5 8046ad4: 08046ae5 .word 0x08046ae5 8046ad8: 08046aed .word 0x08046aed { case StartStop: menupos = MyPoint; break; 8046adc: 4b23 ldr r3, [pc, #140] ; (8046b6c ) 8046ade: 2203 movs r2, #3 8046ae0: 701a strb r2, [r3, #0] 8046ae2: e00b b.n 8046afc case MyPoint: menupos = MyMeasure; break; 8046ae4: 4b21 ldr r3, [pc, #132] ; (8046b6c ) 8046ae6: 2204 movs r2, #4 8046ae8: 701a strb r2, [r3, #0] 8046aea: e007 b.n 8046afc case MyMeasure: menupos = Record; break; 8046aec: 4b1f ldr r3, [pc, #124] ; (8046b6c ) 8046aee: 2202 movs r2, #2 8046af0: 701a strb r2, [r3, #0] 8046af2: e003 b.n 8046afc case Record: menupos = StartStop; break; 8046af4: 4b1d ldr r3, [pc, #116] ; (8046b6c ) 8046af6: 2200 movs r2, #0 8046af8: 701a strb r2, [r3, #0] 8046afa: bf00 nop } break; 8046afc: f002 b9ae b.w 8048e5c case MAIN: case MAIN_FRAN: switch(menupos) 8046b00: 4b1a ldr r3, [pc, #104] ; (8046b6c ) 8046b02: 781b ldrb r3, [r3, #0] 8046b04: b2db uxtb r3, r3 8046b06: 2b06 cmp r3, #6 8046b08: f202 81ab bhi.w 8048e62 8046b0c: a201 add r2, pc, #4 ; (adr r2, 8046b14 ) 8046b0e: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8046b12: bf00 nop 8046b14: 08046b31 .word 0x08046b31 8046b18: 08048e63 .word 0x08048e63 8046b1c: 08046b51 .word 0x08046b51 8046b20: 08046b41 .word 0x08046b41 8046b24: 08046b49 .word 0x08046b49 8046b28: 08048e63 .word 0x08048e63 8046b2c: 08046b39 .word 0x08046b39 { case StartStop: menupos = MyLinLog; break; 8046b30: 4b0e ldr r3, [pc, #56] ; (8046b6c ) 8046b32: 2206 movs r2, #6 8046b34: 701a strb r2, [r3, #0] 8046b36: e00f b.n 8046b58 case MyLinLog: menupos = MyPoint; break; 8046b38: 4b0c ldr r3, [pc, #48] ; (8046b6c ) 8046b3a: 2203 movs r2, #3 8046b3c: 701a strb r2, [r3, #0] 8046b3e: e00b b.n 8046b58 case MyPoint: menupos = MyMeasure; break; 8046b40: 4b0a ldr r3, [pc, #40] ; (8046b6c ) 8046b42: 2204 movs r2, #4 8046b44: 701a strb r2, [r3, #0] 8046b46: e007 b.n 8046b58 case MyMeasure: menupos = Record; break; 8046b48: 4b08 ldr r3, [pc, #32] ; (8046b6c ) 8046b4a: 2202 movs r2, #2 8046b4c: 701a strb r2, [r3, #0] 8046b4e: e003 b.n 8046b58 case Record: menupos = StartStop; break; 8046b50: 4b06 ldr r3, [pc, #24] ; (8046b6c ) 8046b52: 2200 movs r2, #0 8046b54: 701a strb r2, [r3, #0] 8046b56: bf00 nop } break; 8046b58: f002 b983 b.w 8048e62 8046b5c: 20020f84 .word 0x20020f84 8046b60: 20021011 .word 0x20021011 8046b64: 20021013 .word 0x20021013 8046b68: 20023e60 .word 0x20023e60 8046b6c: 20020070 .word 0x20020070 case MAIN_OSC: switch(menupos) 8046b70: 4ba8 ldr r3, [pc, #672] ; (8046e14 ) 8046b72: 781b ldrb r3, [r3, #0] 8046b74: b2db uxtb r3, r3 8046b76: 2b00 cmp r3, #0 8046b78: f2c2 8176 blt.w 8048e68 8046b7c: 2b05 cmp r3, #5 8046b7e: dd03 ble.n 8046b88 8046b80: 2b06 cmp r3, #6 8046b82: d01d beq.n 8046bc0 rX = X0 + k * multA_u16; CURSOR = (Mpos - X0) / multA_u16; } break; } break; 8046b84: f002 b970 b.w 8048e68 if((!FIRST) && (Stability > (Nr * 4))) 8046b88: 4ba3 ldr r3, [pc, #652] ; (8046e18 ) 8046b8a: 781b ldrb r3, [r3, #0] 8046b8c: b2db uxtb r3, r3 8046b8e: f083 0301 eor.w r3, r3, #1 8046b92: b2db uxtb r3, r3 8046b94: 2b00 cmp r3, #0 8046b96: f000 8101 beq.w 8046d9c 8046b9a: 4ba0 ldr r3, [pc, #640] ; (8046e1c ) 8046b9c: 881b ldrh r3, [r3, #0] 8046b9e: b29b uxth r3, r3 8046ba0: 009b lsls r3, r3, #2 8046ba2: 461a mov r2, r3 8046ba4: 4b9e ldr r3, [pc, #632] ; (8046e20 ) 8046ba6: 681b ldr r3, [r3, #0] 8046ba8: 429a cmp r2, r3 8046baa: f080 80f7 bcs.w 8046d9c lastmenupos = menupos; 8046bae: 4b99 ldr r3, [pc, #612] ; (8046e14 ) 8046bb0: 781b ldrb r3, [r3, #0] 8046bb2: b2da uxtb r2, r3 8046bb4: 4b9b ldr r3, [pc, #620] ; (8046e24 ) 8046bb6: 701a strb r2, [r3, #0] menupos = Cursor; 8046bb8: 4b96 ldr r3, [pc, #600] ; (8046e14 ) 8046bba: 2206 movs r2, #6 8046bbc: 701a strb r2, [r3, #0] break; 8046bbe: e0ed b.n 8046d9c lvl_0 = 0; 8046bc0: 2300 movs r3, #0 8046bc2: f8c7 30a0 str.w r3, [r7, #160] ; 0xa0 multA_u16 = Avg[0][5 * ViewLevel + pardata.LNE]; 8046bc6: 4b98 ldr r3, [pc, #608] ; (8046e28 ) 8046bc8: 781b ldrb r3, [r3, #0] 8046bca: b2db uxtb r3, r3 8046bcc: 461a mov r2, r3 8046bce: 4613 mov r3, r2 8046bd0: 009b lsls r3, r3, #2 8046bd2: 4413 add r3, r2 8046bd4: 4a95 ldr r2, [pc, #596] ; (8046e2c ) 8046bd6: 79d2 ldrb r2, [r2, #7] 8046bd8: b2d2 uxtb r2, r2 8046bda: 4413 add r3, r2 8046bdc: 4a94 ldr r2, [pc, #592] ; (8046e30 ) 8046bde: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 8046be2: f8a7 309e strh.w r3, [r7, #158] ; 0x9e i = 1; 8046be6: 2301 movs r3, #1 8046be8: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 k = 256; 8046bec: f44f 7380 mov.w r3, #256 ; 0x100 8046bf0: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 d = 224 * multA_u16; 8046bf4: f8b7 209e ldrh.w r2, [r7, #158] ; 0x9e 8046bf8: 4613 mov r3, r2 8046bfa: 00db lsls r3, r3, #3 8046bfc: 1a9b subs r3, r3, r2 8046bfe: 015b lsls r3, r3, #5 8046c00: f8c7 30bc str.w r3, [r7, #188] ; 0xbc j = k * Avg[0][5 * lvl_0 + pardata.LNE] - Avg[0][5 * ViewLevel + pardata.LNE]; 8046c04: f8d7 20a0 ldr.w r2, [r7, #160] ; 0xa0 8046c08: 4613 mov r3, r2 8046c0a: 009b lsls r3, r3, #2 8046c0c: 4413 add r3, r2 8046c0e: 4a87 ldr r2, [pc, #540] ; (8046e2c ) 8046c10: 79d2 ldrb r2, [r2, #7] 8046c12: b2d2 uxtb r2, r2 8046c14: 4413 add r3, r2 8046c16: 4a86 ldr r2, [pc, #536] ; (8046e30 ) 8046c18: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 8046c1c: 461a mov r2, r3 8046c1e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8046c22: fb03 f202 mul.w r2, r3, r2 8046c26: 4b80 ldr r3, [pc, #512] ; (8046e28 ) 8046c28: 781b ldrb r3, [r3, #0] 8046c2a: b2db uxtb r3, r3 8046c2c: 4619 mov r1, r3 8046c2e: 460b mov r3, r1 8046c30: 009b lsls r3, r3, #2 8046c32: 440b add r3, r1 8046c34: 497d ldr r1, [pc, #500] ; (8046e2c ) 8046c36: 79c9 ldrb r1, [r1, #7] 8046c38: b2c9 uxtb r1, r1 8046c3a: 440b add r3, r1 8046c3c: 497c ldr r1, [pc, #496] ; (8046e30 ) 8046c3e: f831 3013 ldrh.w r3, [r1, r3, lsl #1] 8046c42: 1ad3 subs r3, r2, r3 8046c44: f8c7 3098 str.w r3, [r7, #152] ; 0x98 multB_u16 = i * multA_u16; 8046c48: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 8046c4c: b29b uxth r3, r3 8046c4e: f8b7 209e ldrh.w r2, [r7, #158] ; 0x9e 8046c52: fb12 f303 smulbb r3, r2, r3 8046c56: f8a7 3096 strh.w r3, [r7, #150] ; 0x96 if((multB_u16 + Mpos) >= j) 8046c5a: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 8046c5e: 4a75 ldr r2, [pc, #468] ; (8046e34 ) 8046c60: 8812 ldrh r2, [r2, #0] 8046c62: b292 uxth r2, r2 8046c64: 4413 add r3, r2 8046c66: 461a mov r2, r3 8046c68: f8d7 3098 ldr.w r3, [r7, #152] ; 0x98 8046c6c: 429a cmp r2, r3 8046c6e: d332 bcc.n 8046cd6 rX = k * Avg[0][5 * lvl_0 + pardata.LNE]; 8046c70: f8d7 20a0 ldr.w r2, [r7, #160] ; 0xa0 8046c74: 4613 mov r3, r2 8046c76: 009b lsls r3, r3, #2 8046c78: 4413 add r3, r2 8046c7a: 4a6c ldr r2, [pc, #432] ; (8046e2c ) 8046c7c: 79d2 ldrb r2, [r2, #7] 8046c7e: b2d2 uxtb r2, r2 8046c80: 4413 add r3, r2 8046c82: 4a6b ldr r2, [pc, #428] ; (8046e30 ) 8046c84: f832 2013 ldrh.w r2, [r2, r3, lsl #1] 8046c88: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8046c8c: b29b uxth r3, r3 8046c8e: fb12 f303 smulbb r3, r2, r3 8046c92: b29a uxth r2, r3 8046c94: 4b68 ldr r3, [pc, #416] ; (8046e38 ) 8046c96: 801a strh r2, [r3, #0] X0 = rX - k * multA_u16; 8046c98: 4b67 ldr r3, [pc, #412] ; (8046e38 ) 8046c9a: 881b ldrh r3, [r3, #0] 8046c9c: b29a uxth r2, r3 8046c9e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8046ca2: b29b uxth r3, r3 8046ca4: f8b7 109e ldrh.w r1, [r7, #158] ; 0x9e 8046ca8: fb11 f303 smulbb r3, r1, r3 8046cac: b29b uxth r3, r3 8046cae: 1ad3 subs r3, r2, r3 8046cb0: b29a uxth r2, r3 8046cb2: 4b62 ldr r3, [pc, #392] ; (8046e3c ) 8046cb4: 801a strh r2, [r3, #0] lX = X0; 8046cb6: 4b61 ldr r3, [pc, #388] ; (8046e3c ) 8046cb8: 881b ldrh r3, [r3, #0] 8046cba: b29a uxth r2, r3 8046cbc: 4b60 ldr r3, [pc, #384] ; (8046e40 ) 8046cbe: 801a strh r2, [r3, #0] CURSOR = k - 1; 8046cc0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8046cc4: 3b01 subs r3, #1 8046cc6: 4a5f ldr r2, [pc, #380] ; (8046e44 ) 8046cc8: 6013 str r3, [r2, #0] Mpos = j; 8046cca: f8d7 3098 ldr.w r3, [r7, #152] ; 0x98 8046cce: b29a uxth r2, r3 8046cd0: 4b58 ldr r3, [pc, #352] ; (8046e34 ) 8046cd2: 801a strh r2, [r3, #0] break; 8046cd4: e063 b.n 8046d9e Mpos += multB_u16; 8046cd6: 4b57 ldr r3, [pc, #348] ; (8046e34 ) 8046cd8: 881b ldrh r3, [r3, #0] 8046cda: b29a uxth r2, r3 8046cdc: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 8046ce0: 4413 add r3, r2 8046ce2: b29a uxth r2, r3 8046ce4: 4b53 ldr r3, [pc, #332] ; (8046e34 ) 8046ce6: 801a strh r2, [r3, #0] if(Mpos >= rX) 8046ce8: 4b52 ldr r3, [pc, #328] ; (8046e34 ) 8046cea: 881b ldrh r3, [r3, #0] 8046cec: b29a uxth r2, r3 8046cee: 4b52 ldr r3, [pc, #328] ; (8046e38 ) 8046cf0: 881b ldrh r3, [r3, #0] 8046cf2: b29b uxth r3, r3 8046cf4: 429a cmp r2, r3 8046cf6: d32d bcc.n 8046d54 if((Mpos + d) <= j) 8046cf8: 4b4e ldr r3, [pc, #312] ; (8046e34 ) 8046cfa: 881b ldrh r3, [r3, #0] 8046cfc: b29b uxth r3, r3 8046cfe: 461a mov r2, r3 8046d00: f8d7 30bc ldr.w r3, [r7, #188] ; 0xbc 8046d04: 441a add r2, r3 8046d06: f8d7 3098 ldr.w r3, [r7, #152] ; 0x98 8046d0a: 429a cmp r2, r3 8046d0c: d80a bhi.n 8046d24 X0 += d; 8046d0e: f8d7 30bc ldr.w r3, [r7, #188] ; 0xbc 8046d12: b29a uxth r2, r3 8046d14: 4b49 ldr r3, [pc, #292] ; (8046e3c ) 8046d16: 881b ldrh r3, [r3, #0] 8046d18: b29b uxth r3, r3 8046d1a: 4413 add r3, r2 8046d1c: b29a uxth r2, r3 8046d1e: 4b47 ldr r3, [pc, #284] ; (8046e3c ) 8046d20: 801a strh r2, [r3, #0] 8046d22: e017 b.n 8046d54 X0 = k * (Avg[0][5 * lvl_0 + pardata.LNE] - multA_u16); 8046d24: f8d7 20a0 ldr.w r2, [r7, #160] ; 0xa0 8046d28: 4613 mov r3, r2 8046d2a: 009b lsls r3, r3, #2 8046d2c: 4413 add r3, r2 8046d2e: 4a3f ldr r2, [pc, #252] ; (8046e2c ) 8046d30: 79d2 ldrb r2, [r2, #7] 8046d32: b2d2 uxtb r2, r2 8046d34: 4413 add r3, r2 8046d36: 4a3e ldr r2, [pc, #248] ; (8046e30 ) 8046d38: f832 2013 ldrh.w r2, [r2, r3, lsl #1] 8046d3c: f8b7 309e ldrh.w r3, [r7, #158] ; 0x9e 8046d40: 1ad3 subs r3, r2, r3 8046d42: b29a uxth r2, r3 8046d44: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8046d48: b29b uxth r3, r3 8046d4a: fb12 f303 smulbb r3, r2, r3 8046d4e: b29a uxth r2, r3 8046d50: 4b3a ldr r3, [pc, #232] ; (8046e3c ) 8046d52: 801a strh r2, [r3, #0] lX = X0; 8046d54: 4b39 ldr r3, [pc, #228] ; (8046e3c ) 8046d56: 881b ldrh r3, [r3, #0] 8046d58: b29a uxth r2, r3 8046d5a: 4b39 ldr r3, [pc, #228] ; (8046e40 ) 8046d5c: 801a strh r2, [r3, #0] rX = X0 + k * multA_u16; 8046d5e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8046d62: b29b uxth r3, r3 8046d64: f8b7 209e ldrh.w r2, [r7, #158] ; 0x9e 8046d68: fb12 f303 smulbb r3, r2, r3 8046d6c: b29a uxth r2, r3 8046d6e: 4b33 ldr r3, [pc, #204] ; (8046e3c ) 8046d70: 881b ldrh r3, [r3, #0] 8046d72: b29b uxth r3, r3 8046d74: 4413 add r3, r2 8046d76: b29a uxth r2, r3 8046d78: 4b2f ldr r3, [pc, #188] ; (8046e38 ) 8046d7a: 801a strh r2, [r3, #0] CURSOR = (Mpos - X0) / multA_u16; 8046d7c: 4b2d ldr r3, [pc, #180] ; (8046e34 ) 8046d7e: 881b ldrh r3, [r3, #0] 8046d80: b29b uxth r3, r3 8046d82: 461a mov r2, r3 8046d84: 4b2d ldr r3, [pc, #180] ; (8046e3c ) 8046d86: 881b ldrh r3, [r3, #0] 8046d88: b29b uxth r3, r3 8046d8a: 1ad2 subs r2, r2, r3 8046d8c: f8b7 309e ldrh.w r3, [r7, #158] ; 0x9e 8046d90: fb92 f3f3 sdiv r3, r2, r3 8046d94: 461a mov r2, r3 8046d96: 4b2b ldr r3, [pc, #172] ; (8046e44 ) 8046d98: 601a str r2, [r3, #0] break; 8046d9a: e000 b.n 8046d9e break; 8046d9c: bf00 nop break; 8046d9e: f002 b863 b.w 8048e68 case VIEW_PORTRET: case MAIN_ROLL: case MAIN_SPEC: case MAIN_SPEC_OGIB: switch(menupos) 8046da2: 4b1c ldr r3, [pc, #112] ; (8046e14 ) 8046da4: 781b ldrb r3, [r3, #0] 8046da6: b2db uxtb r3, r3 8046da8: 2b09 cmp r3, #9 8046daa: f202 8060 bhi.w 8048e6e 8046dae: a201 add r2, pc, #4 ; (adr r2, 8046db4 ) 8046db0: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8046db4: 08046ddd .word 0x08046ddd 8046db8: 08046ddd .word 0x08046ddd 8046dbc: 08046ddd .word 0x08046ddd 8046dc0: 08046ddd .word 0x08046ddd 8046dc4: 08046ddd .word 0x08046ddd 8046dc8: 08046ddd .word 0x08046ddd 8046dcc: 08046e49 .word 0x08046e49 8046dd0: 08048e6f .word 0x08048e6f 8046dd4: 08046ddd .word 0x08046ddd 8046dd8: 08046ddd .word 0x08046ddd case ZoomOut: case ImageRight: case StartStop: case Results: case SaveSpec: if((!FIRST) && (Stability > (Nr * 4))) 8046ddc: 4b0e ldr r3, [pc, #56] ; (8046e18 ) 8046dde: 781b ldrb r3, [r3, #0] 8046de0: b2db uxtb r3, r3 8046de2: f083 0301 eor.w r3, r3, #1 8046de6: b2db uxtb r3, r3 8046de8: 2b00 cmp r3, #0 8046dea: f000 8120 beq.w 804702e 8046dee: 4b0b ldr r3, [pc, #44] ; (8046e1c ) 8046df0: 881b ldrh r3, [r3, #0] 8046df2: b29b uxth r3, r3 8046df4: 009b lsls r3, r3, #2 8046df6: 461a mov r2, r3 8046df8: 4b09 ldr r3, [pc, #36] ; (8046e20 ) 8046dfa: 681b ldr r3, [r3, #0] 8046dfc: 429a cmp r2, r3 8046dfe: f080 8116 bcs.w 804702e { lastmenupos = menupos; 8046e02: 4b04 ldr r3, [pc, #16] ; (8046e14 ) 8046e04: 781b ldrb r3, [r3, #0] 8046e06: b2da uxtb r2, r3 8046e08: 4b06 ldr r3, [pc, #24] ; (8046e24 ) 8046e0a: 701a strb r2, [r3, #0] menupos = Cursor; 8046e0c: 4b01 ldr r3, [pc, #4] ; (8046e14 ) 8046e0e: 2206 movs r2, #6 8046e10: 701a strb r2, [r3, #0] } break; 8046e12: e10c b.n 804702e 8046e14: 20020070 .word 0x20020070 8046e18: 20020db2 .word 0x20020db2 8046e1c: 20021d20 .word 0x20021d20 8046e20: 20020da8 .word 0x20020da8 8046e24: 20020071 .word 0x20020071 8046e28: 20020f74 .word 0x20020f74 8046e2c: 20023e60 .word 0x20023e60 8046e30: 080ee7f0 .word 0x080ee7f0 8046e34: 20025d16 .word 0x20025d16 8046e38: 20025d20 .word 0x20025d20 8046e3c: 20025d1e .word 0x20025d1e 8046e40: 20025d1a .word 0x20025d1a 8046e44: 2002006c .word 0x2002006c case Cursor: lvl_0 = 0; 8046e48: 2300 movs r3, #0 8046e4a: f8c7 30a0 str.w r3, [r7, #160] ; 0xa0 multA_u16 = Avg[1][5 * ViewLevel + pardata.LNE]; 8046e4e: 4baf ldr r3, [pc, #700] ; (804710c ) 8046e50: 781b ldrb r3, [r3, #0] 8046e52: b2db uxtb r3, r3 8046e54: 461a mov r2, r3 8046e56: 4613 mov r3, r2 8046e58: 009b lsls r3, r3, #2 8046e5a: 4413 add r3, r2 8046e5c: 4aac ldr r2, [pc, #688] ; (8047110 ) 8046e5e: 79d2 ldrb r2, [r2, #7] 8046e60: b2d2 uxtb r2, r2 8046e62: 4413 add r3, r2 8046e64: 4aab ldr r2, [pc, #684] ; (8047114 ) 8046e66: 3323 adds r3, #35 ; 0x23 8046e68: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 8046e6c: f8a7 309e strh.w r3, [r7, #158] ; 0x9e i = 1; 8046e70: 2301 movs r3, #1 8046e72: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 k = 256; 8046e76: f44f 7380 mov.w r3, #256 ; 0x100 8046e7a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 d = 224 * multA_u16; 8046e7e: f8b7 209e ldrh.w r2, [r7, #158] ; 0x9e 8046e82: 4613 mov r3, r2 8046e84: 00db lsls r3, r3, #3 8046e86: 1a9b subs r3, r3, r2 8046e88: 015b lsls r3, r3, #5 8046e8a: f8c7 30bc str.w r3, [r7, #188] ; 0xbc j = k * Avg[1][5 * lvl_0 + pardata.LNE] - Avg[1][5 * ViewLevel + pardata.LNE]; 8046e8e: f8d7 20a0 ldr.w r2, [r7, #160] ; 0xa0 8046e92: 4613 mov r3, r2 8046e94: 009b lsls r3, r3, #2 8046e96: 4413 add r3, r2 8046e98: 4a9d ldr r2, [pc, #628] ; (8047110 ) 8046e9a: 79d2 ldrb r2, [r2, #7] 8046e9c: b2d2 uxtb r2, r2 8046e9e: 4413 add r3, r2 8046ea0: 4a9c ldr r2, [pc, #624] ; (8047114 ) 8046ea2: 3323 adds r3, #35 ; 0x23 8046ea4: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 8046ea8: 461a mov r2, r3 8046eaa: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8046eae: fb03 f202 mul.w r2, r3, r2 8046eb2: 4b96 ldr r3, [pc, #600] ; (804710c ) 8046eb4: 781b ldrb r3, [r3, #0] 8046eb6: b2db uxtb r3, r3 8046eb8: 4619 mov r1, r3 8046eba: 460b mov r3, r1 8046ebc: 009b lsls r3, r3, #2 8046ebe: 440b add r3, r1 8046ec0: 4993 ldr r1, [pc, #588] ; (8047110 ) 8046ec2: 79c9 ldrb r1, [r1, #7] 8046ec4: b2c9 uxtb r1, r1 8046ec6: 440b add r3, r1 8046ec8: 4992 ldr r1, [pc, #584] ; (8047114 ) 8046eca: 3323 adds r3, #35 ; 0x23 8046ecc: f831 3013 ldrh.w r3, [r1, r3, lsl #1] 8046ed0: 1ad3 subs r3, r2, r3 8046ed2: f8c7 3098 str.w r3, [r7, #152] ; 0x98 multB_u16 = i * multA_u16; 8046ed6: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 8046eda: b29b uxth r3, r3 8046edc: f8b7 209e ldrh.w r2, [r7, #158] ; 0x9e 8046ee0: fb12 f303 smulbb r3, r2, r3 8046ee4: f8a7 3096 strh.w r3, [r7, #150] ; 0x96 if((multB_u16 + Mpos) >= j) 8046ee8: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 8046eec: 4a8a ldr r2, [pc, #552] ; (8047118 ) 8046eee: 8812 ldrh r2, [r2, #0] 8046ef0: b292 uxth r2, r2 8046ef2: 4413 add r3, r2 8046ef4: 461a mov r2, r3 8046ef6: f8d7 3098 ldr.w r3, [r7, #152] ; 0x98 8046efa: 429a cmp r2, r3 8046efc: d333 bcc.n 8046f66 { rX = k * Avg[1][5 * lvl_0 + pardata.LNE]; 8046efe: f8d7 20a0 ldr.w r2, [r7, #160] ; 0xa0 8046f02: 4613 mov r3, r2 8046f04: 009b lsls r3, r3, #2 8046f06: 4413 add r3, r2 8046f08: 4a81 ldr r2, [pc, #516] ; (8047110 ) 8046f0a: 79d2 ldrb r2, [r2, #7] 8046f0c: b2d2 uxtb r2, r2 8046f0e: 4413 add r3, r2 8046f10: 4a80 ldr r2, [pc, #512] ; (8047114 ) 8046f12: 3323 adds r3, #35 ; 0x23 8046f14: f832 2013 ldrh.w r2, [r2, r3, lsl #1] 8046f18: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8046f1c: b29b uxth r3, r3 8046f1e: fb12 f303 smulbb r3, r2, r3 8046f22: b29a uxth r2, r3 8046f24: 4b7d ldr r3, [pc, #500] ; (804711c ) 8046f26: 801a strh r2, [r3, #0] X0 = rX - k * multA_u16; 8046f28: 4b7c ldr r3, [pc, #496] ; (804711c ) 8046f2a: 881b ldrh r3, [r3, #0] 8046f2c: b29a uxth r2, r3 8046f2e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8046f32: b29b uxth r3, r3 8046f34: f8b7 109e ldrh.w r1, [r7, #158] ; 0x9e 8046f38: fb11 f303 smulbb r3, r1, r3 8046f3c: b29b uxth r3, r3 8046f3e: 1ad3 subs r3, r2, r3 8046f40: b29a uxth r2, r3 8046f42: 4b77 ldr r3, [pc, #476] ; (8047120 ) 8046f44: 801a strh r2, [r3, #0] lX = X0; 8046f46: 4b76 ldr r3, [pc, #472] ; (8047120 ) 8046f48: 881b ldrh r3, [r3, #0] 8046f4a: b29a uxth r2, r3 8046f4c: 4b75 ldr r3, [pc, #468] ; (8047124 ) 8046f4e: 801a strh r2, [r3, #0] CURSOR = k - 1; 8046f50: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8046f54: 3b01 subs r3, #1 8046f56: 4a74 ldr r2, [pc, #464] ; (8047128 ) 8046f58: 6013 str r3, [r2, #0] Mpos = j; 8046f5a: f8d7 3098 ldr.w r3, [r7, #152] ; 0x98 8046f5e: b29a uxth r2, r3 8046f60: 4b6d ldr r3, [pc, #436] ; (8047118 ) 8046f62: 801a strh r2, [r3, #0] } lX = X0; rX = X0 + k * multA_u16; CURSOR = (Mpos - X0) / multA_u16; } break; 8046f64: e064 b.n 8047030 Mpos += multB_u16; 8046f66: 4b6c ldr r3, [pc, #432] ; (8047118 ) 8046f68: 881b ldrh r3, [r3, #0] 8046f6a: b29a uxth r2, r3 8046f6c: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 8046f70: 4413 add r3, r2 8046f72: b29a uxth r2, r3 8046f74: 4b68 ldr r3, [pc, #416] ; (8047118 ) 8046f76: 801a strh r2, [r3, #0] if(Mpos >= rX) 8046f78: 4b67 ldr r3, [pc, #412] ; (8047118 ) 8046f7a: 881b ldrh r3, [r3, #0] 8046f7c: b29a uxth r2, r3 8046f7e: 4b67 ldr r3, [pc, #412] ; (804711c ) 8046f80: 881b ldrh r3, [r3, #0] 8046f82: b29b uxth r3, r3 8046f84: 429a cmp r2, r3 8046f86: d32e bcc.n 8046fe6 if((Mpos + d) <= j) 8046f88: 4b63 ldr r3, [pc, #396] ; (8047118 ) 8046f8a: 881b ldrh r3, [r3, #0] 8046f8c: b29b uxth r3, r3 8046f8e: 461a mov r2, r3 8046f90: f8d7 30bc ldr.w r3, [r7, #188] ; 0xbc 8046f94: 441a add r2, r3 8046f96: f8d7 3098 ldr.w r3, [r7, #152] ; 0x98 8046f9a: 429a cmp r2, r3 8046f9c: d80a bhi.n 8046fb4 X0 += d; 8046f9e: f8d7 30bc ldr.w r3, [r7, #188] ; 0xbc 8046fa2: b29a uxth r2, r3 8046fa4: 4b5e ldr r3, [pc, #376] ; (8047120 ) 8046fa6: 881b ldrh r3, [r3, #0] 8046fa8: b29b uxth r3, r3 8046faa: 4413 add r3, r2 8046fac: b29a uxth r2, r3 8046fae: 4b5c ldr r3, [pc, #368] ; (8047120 ) 8046fb0: 801a strh r2, [r3, #0] 8046fb2: e018 b.n 8046fe6 else X0 = k * (Avg[1][5 * lvl_0 + pardata.LNE] - multA_u16); 8046fb4: f8d7 20a0 ldr.w r2, [r7, #160] ; 0xa0 8046fb8: 4613 mov r3, r2 8046fba: 009b lsls r3, r3, #2 8046fbc: 4413 add r3, r2 8046fbe: 4a54 ldr r2, [pc, #336] ; (8047110 ) 8046fc0: 79d2 ldrb r2, [r2, #7] 8046fc2: b2d2 uxtb r2, r2 8046fc4: 4413 add r3, r2 8046fc6: 4a53 ldr r2, [pc, #332] ; (8047114 ) 8046fc8: 3323 adds r3, #35 ; 0x23 8046fca: f832 2013 ldrh.w r2, [r2, r3, lsl #1] 8046fce: f8b7 309e ldrh.w r3, [r7, #158] ; 0x9e 8046fd2: 1ad3 subs r3, r2, r3 8046fd4: b29a uxth r2, r3 8046fd6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8046fda: b29b uxth r3, r3 8046fdc: fb12 f303 smulbb r3, r2, r3 8046fe0: b29a uxth r2, r3 8046fe2: 4b4f ldr r3, [pc, #316] ; (8047120 ) 8046fe4: 801a strh r2, [r3, #0] lX = X0; 8046fe6: 4b4e ldr r3, [pc, #312] ; (8047120 ) 8046fe8: 881b ldrh r3, [r3, #0] 8046fea: b29a uxth r2, r3 8046fec: 4b4d ldr r3, [pc, #308] ; (8047124 ) 8046fee: 801a strh r2, [r3, #0] rX = X0 + k * multA_u16; 8046ff0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8046ff4: b29b uxth r3, r3 8046ff6: f8b7 209e ldrh.w r2, [r7, #158] ; 0x9e 8046ffa: fb12 f303 smulbb r3, r2, r3 8046ffe: b29a uxth r2, r3 8047000: 4b47 ldr r3, [pc, #284] ; (8047120 ) 8047002: 881b ldrh r3, [r3, #0] 8047004: b29b uxth r3, r3 8047006: 4413 add r3, r2 8047008: b29a uxth r2, r3 804700a: 4b44 ldr r3, [pc, #272] ; (804711c ) 804700c: 801a strh r2, [r3, #0] CURSOR = (Mpos - X0) / multA_u16; 804700e: 4b42 ldr r3, [pc, #264] ; (8047118 ) 8047010: 881b ldrh r3, [r3, #0] 8047012: b29b uxth r3, r3 8047014: 461a mov r2, r3 8047016: 4b42 ldr r3, [pc, #264] ; (8047120 ) 8047018: 881b ldrh r3, [r3, #0] 804701a: b29b uxth r3, r3 804701c: 1ad2 subs r2, r2, r3 804701e: f8b7 309e ldrh.w r3, [r7, #158] ; 0x9e 8047022: fb92 f3f3 sdiv r3, r2, r3 8047026: 461a mov r2, r3 8047028: 4b3f ldr r3, [pc, #252] ; (8047128 ) 804702a: 601a str r2, [r3, #0] break; 804702c: e000 b.n 8047030 break; 804702e: bf00 nop } break; 8047030: f001 bf1d b.w 8048e6e case MAIN_SPEC_OKT: switch(menupos) 8047034: 4b3d ldr r3, [pc, #244] ; (804712c ) 8047036: 781b ldrb r3, [r3, #0] 8047038: b2db uxtb r3, r3 804703a: 2b00 cmp r3, #0 804703c: f2c1 871a blt.w 8048e74 8047040: 2b05 cmp r3, #5 8047042: dd03 ble.n 804704c 8047044: 2b06 cmp r3, #6 8047046: d01b beq.n 8047080 case Cursor: if(CURSOR < 13) CURSOR++; break; } break; 8047048: f001 bf14 b.w 8048e74 if((!FIRST) && (Stability > (Nr * 4))) 804704c: 4b38 ldr r3, [pc, #224] ; (8047130 ) 804704e: 781b ldrb r3, [r3, #0] 8047050: b2db uxtb r3, r3 8047052: f083 0301 eor.w r3, r3, #1 8047056: b2db uxtb r3, r3 8047058: 2b00 cmp r3, #0 804705a: d01b beq.n 8047094 804705c: 4b35 ldr r3, [pc, #212] ; (8047134 ) 804705e: 881b ldrh r3, [r3, #0] 8047060: b29b uxth r3, r3 8047062: 009b lsls r3, r3, #2 8047064: 461a mov r2, r3 8047066: 4b34 ldr r3, [pc, #208] ; (8047138 ) 8047068: 681b ldr r3, [r3, #0] 804706a: 429a cmp r2, r3 804706c: d212 bcs.n 8047094 lastmenupos = menupos; 804706e: 4b2f ldr r3, [pc, #188] ; (804712c ) 8047070: 781b ldrb r3, [r3, #0] 8047072: b2da uxtb r2, r3 8047074: 4b31 ldr r3, [pc, #196] ; (804713c ) 8047076: 701a strb r2, [r3, #0] menupos = Cursor; 8047078: 4b2c ldr r3, [pc, #176] ; (804712c ) 804707a: 2206 movs r2, #6 804707c: 701a strb r2, [r3, #0] break; 804707e: e009 b.n 8047094 if(CURSOR < 13) 8047080: 4b29 ldr r3, [pc, #164] ; (8047128 ) 8047082: 681b ldr r3, [r3, #0] 8047084: 2b0c cmp r3, #12 8047086: d808 bhi.n 804709a CURSOR++; 8047088: 4b27 ldr r3, [pc, #156] ; (8047128 ) 804708a: 681b ldr r3, [r3, #0] 804708c: 3301 adds r3, #1 804708e: 4a26 ldr r2, [pc, #152] ; (8047128 ) 8047090: 6013 str r3, [r2, #0] break; 8047092: e002 b.n 804709a break; 8047094: bf00 nop 8047096: f001 beed b.w 8048e74 break; 804709a: bf00 nop break; 804709c: f001 beea b.w 8048e74 case MAIN_SPEC_THIRD: switch(menupos) 80470a0: 4b22 ldr r3, [pc, #136] ; (804712c ) 80470a2: 781b ldrb r3, [r3, #0] 80470a4: b2db uxtb r3, r3 80470a6: 2b00 cmp r3, #0 80470a8: f2c1 86e7 blt.w 8048e7a 80470ac: 2b05 cmp r3, #5 80470ae: dd03 ble.n 80470b8 80470b0: 2b06 cmp r3, #6 80470b2: d01b beq.n 80470ec case Cursor: if(CURSOR < 38) CURSOR++; break; } break; 80470b4: f001 bee1 b.w 8048e7a if((!FIRST) && (Stability > (Nr * 4))) 80470b8: 4b1d ldr r3, [pc, #116] ; (8047130 ) 80470ba: 781b ldrb r3, [r3, #0] 80470bc: b2db uxtb r3, r3 80470be: f083 0301 eor.w r3, r3, #1 80470c2: b2db uxtb r3, r3 80470c4: 2b00 cmp r3, #0 80470c6: d01b beq.n 8047100 80470c8: 4b1a ldr r3, [pc, #104] ; (8047134 ) 80470ca: 881b ldrh r3, [r3, #0] 80470cc: b29b uxth r3, r3 80470ce: 009b lsls r3, r3, #2 80470d0: 461a mov r2, r3 80470d2: 4b19 ldr r3, [pc, #100] ; (8047138 ) 80470d4: 681b ldr r3, [r3, #0] 80470d6: 429a cmp r2, r3 80470d8: d212 bcs.n 8047100 lastmenupos = menupos; 80470da: 4b14 ldr r3, [pc, #80] ; (804712c ) 80470dc: 781b ldrb r3, [r3, #0] 80470de: b2da uxtb r2, r3 80470e0: 4b16 ldr r3, [pc, #88] ; (804713c ) 80470e2: 701a strb r2, [r3, #0] menupos = Cursor; 80470e4: 4b11 ldr r3, [pc, #68] ; (804712c ) 80470e6: 2206 movs r2, #6 80470e8: 701a strb r2, [r3, #0] break; 80470ea: e009 b.n 8047100 if(CURSOR < 38) 80470ec: 4b0e ldr r3, [pc, #56] ; (8047128 ) 80470ee: 681b ldr r3, [r3, #0] 80470f0: 2b25 cmp r3, #37 ; 0x25 80470f2: d808 bhi.n 8047106 CURSOR++; 80470f4: 4b0c ldr r3, [pc, #48] ; (8047128 ) 80470f6: 681b ldr r3, [r3, #0] 80470f8: 3301 adds r3, #1 80470fa: 4a0b ldr r2, [pc, #44] ; (8047128 ) 80470fc: 6013 str r3, [r2, #0] break; 80470fe: e002 b.n 8047106 break; 8047100: bf00 nop 8047102: f001 beba b.w 8048e7a break; 8047106: bf00 nop break; 8047108: f001 beb7 b.w 8048e7a 804710c: 20020f74 .word 0x20020f74 8047110: 20023e60 .word 0x20023e60 8047114: 080ee7f0 .word 0x080ee7f0 8047118: 20025d16 .word 0x20025d16 804711c: 20025d20 .word 0x20025d20 8047120: 20025d1e .word 0x20025d1e 8047124: 20025d1a .word 0x20025d1a 8047128: 2002006c .word 0x2002006c 804712c: 20020070 .word 0x20020070 8047130: 20020db2 .word 0x20020db2 8047134: 20021d20 .word 0x20021d20 8047138: 20020da8 .word 0x20020da8 804713c: 20020071 .word 0x20020071 case MAIN_WAVE: switch(menupos) 8047140: 4bac ldr r3, [pc, #688] ; (80473f4 ) 8047142: 781b ldrb r3, [r3, #0] 8047144: b2db uxtb r3, r3 8047146: 2b01 cmp r3, #1 8047148: d005 beq.n 8047156 804714a: 2b03 cmp r3, #3 804714c: d01d beq.n 804718a 804714e: 2b00 cmp r3, #0 8047150: d00e beq.n 8047170 break; case ReadyRec: oldmenupos = ReadyRec; break; } break; 8047152: f001 bee0 b.w 8048f16 if(oldmenupos == StartStop) 8047156: 4ba8 ldr r3, [pc, #672] ; (80473f8 ) 8047158: 781b ldrb r3, [r3, #0] 804715a: b2db uxtb r3, r3 804715c: 2b00 cmp r3, #0 804715e: d103 bne.n 8047168 oldmenupos = StartStop; 8047160: 4ba5 ldr r3, [pc, #660] ; (80473f8 ) 8047162: 2200 movs r2, #0 8047164: 701a strb r2, [r3, #0] break; 8047166: e014 b.n 8047192 else oldmenupos = ReadyRec; 8047168: 4ba3 ldr r3, [pc, #652] ; (80473f8 ) 804716a: 2203 movs r2, #3 804716c: 701a strb r2, [r3, #0] break; 804716e: e010 b.n 8047192 if(oldmenupos == StartStop) 8047170: 4ba1 ldr r3, [pc, #644] ; (80473f8 ) 8047172: 781b ldrb r3, [r3, #0] 8047174: b2db uxtb r3, r3 8047176: 2b00 cmp r3, #0 8047178: d103 bne.n 8047182 oldmenupos = StartStop; 804717a: 4b9f ldr r3, [pc, #636] ; (80473f8 ) 804717c: 2200 movs r2, #0 804717e: 701a strb r2, [r3, #0] break; 8047180: e007 b.n 8047192 else oldmenupos = ReadyRec; 8047182: 4b9d ldr r3, [pc, #628] ; (80473f8 ) 8047184: 2203 movs r2, #3 8047186: 701a strb r2, [r3, #0] break; 8047188: e003 b.n 8047192 oldmenupos = ReadyRec; 804718a: 4b9b ldr r3, [pc, #620] ; (80473f8 ) 804718c: 2203 movs r2, #3 804718e: 701a strb r2, [r3, #0] break; 8047190: bf00 nop break; 8047192: f001 bec0 b.w 8048f16 case MAIN_SYGNAL: if(menupos == Cursor) 8047196: 4b97 ldr r3, [pc, #604] ; (80473f4 ) 8047198: 781b ldrb r3, [r3, #0] 804719a: b2db uxtb r3, r3 804719c: 2b06 cmp r3, #6 804719e: d10b bne.n 80471b8 { if(CURSOR < 255) 80471a0: 4b96 ldr r3, [pc, #600] ; (80473fc ) 80471a2: 681b ldr r3, [r3, #0] 80471a4: 2bfe cmp r3, #254 ; 0xfe 80471a6: f201 866b bhi.w 8048e80 CURSOR++; 80471aa: 4b94 ldr r3, [pc, #592] ; (80473fc ) 80471ac: 681b ldr r3, [r3, #0] 80471ae: 3301 adds r3, #1 80471b0: 4a92 ldr r2, [pc, #584] ; (80473fc ) 80471b2: 6013 str r3, [r2, #0] else { lastmenupos = menupos; menupos = Cursor; } break; 80471b4: f001 be64 b.w 8048e80 lastmenupos = menupos; 80471b8: 4b8e ldr r3, [pc, #568] ; (80473f4 ) 80471ba: 781b ldrb r3, [r3, #0] 80471bc: b2da uxtb r2, r3 80471be: 4b90 ldr r3, [pc, #576] ; (8047400 ) 80471c0: 701a strb r2, [r3, #0] menupos = Cursor; 80471c2: 4b8c ldr r3, [pc, #560] ; (80473f4 ) 80471c4: 2206 movs r2, #6 80471c6: 701a strb r2, [r3, #0] break; 80471c8: f001 be5a b.w 8048e80 case OPTIONS: if(menupos == AskFormatNo) 80471cc: 4b89 ldr r3, [pc, #548] ; (80473f4 ) 80471ce: 781b ldrb r3, [r3, #0] 80471d0: b2db uxtb r3, r3 80471d2: 2b05 cmp r3, #5 80471d4: d104 bne.n 80471e0 menupos = AskFormatYes; 80471d6: 4b87 ldr r3, [pc, #540] ; (80473f4 ) 80471d8: 2206 movs r2, #6 80471da: 701a strb r2, [r3, #0] if(menupos == AskRouteNo) menupos = AskRouteYes; else if(menupos == AskRouteYes) menupos = AskRouteNo; break; 80471dc: f001 be53 b.w 8048e86 if(menupos == AskFormatYes) 80471e0: 4b84 ldr r3, [pc, #528] ; (80473f4 ) 80471e2: 781b ldrb r3, [r3, #0] 80471e4: b2db uxtb r3, r3 80471e6: 2b06 cmp r3, #6 80471e8: d104 bne.n 80471f4 menupos = AskFormatNo; 80471ea: 4b82 ldr r3, [pc, #520] ; (80473f4 ) 80471ec: 2205 movs r2, #5 80471ee: 701a strb r2, [r3, #0] break; 80471f0: f001 be49 b.w 8048e86 if(menupos == AskRouteNo) 80471f4: 4b7f ldr r3, [pc, #508] ; (80473f4 ) 80471f6: 781b ldrb r3, [r3, #0] 80471f8: b2db uxtb r3, r3 80471fa: 2b09 cmp r3, #9 80471fc: d104 bne.n 8047208 menupos = AskRouteYes; 80471fe: 4b7d ldr r3, [pc, #500] ; (80473f4 ) 8047200: 220a movs r2, #10 8047202: 701a strb r2, [r3, #0] break; 8047204: f001 be3f b.w 8048e86 if(menupos == AskRouteYes) 8047208: 4b7a ldr r3, [pc, #488] ; (80473f4 ) 804720a: 781b ldrb r3, [r3, #0] 804720c: b2db uxtb r3, r3 804720e: 2b0a cmp r3, #10 8047210: f041 8639 bne.w 8048e86 menupos = AskRouteNo; 8047214: 4b77 ldr r3, [pc, #476] ; (80473f4 ) 8047216: 2209 movs r2, #9 8047218: 701a strb r2, [r3, #0] break; 804721a: f001 be34 b.w 8048e86 case EXPLORER: if((menupos == FilesPTM) || (menupos == NoFilesPTM)) 804721e: 4b75 ldr r3, [pc, #468] ; (80473f4 ) 8047220: 781b ldrb r3, [r3, #0] 8047222: b2db uxtb r3, r3 8047224: 2b02 cmp r3, #2 8047226: d004 beq.n 8047232 8047228: 4b72 ldr r3, [pc, #456] ; (80473f4 ) 804722a: 781b ldrb r3, [r3, #0] 804722c: b2db uxtb r3, r3 804722e: 2b01 cmp r3, #1 8047230: d114 bne.n 804725c { memset(TEMP_MeasFileName, 0, sizeof(TEMP_MeasFileName)); 8047232: 2221 movs r2, #33 ; 0x21 8047234: 2100 movs r1, #0 8047236: 4873 ldr r0, [pc, #460] ; (8047404 ) 8047238: f085 ff06 bl 80cd048 MeasFileNameLen = 0; 804723c: 4b72 ldr r3, [pc, #456] ; (8047408 ) 804723e: 2200 movs r2, #0 8047240: 601a str r2, [r3, #0] lastmenupos = menupos; 8047242: 4b6c ldr r3, [pc, #432] ; (80473f4 ) 8047244: 781b ldrb r3, [r3, #0] 8047246: b2da uxtb r2, r3 8047248: 4b6d ldr r3, [pc, #436] ; (8047400 ) 804724a: 701a strb r2, [r3, #0] menu = INPUT_NAME_PTM; 804724c: 4b6f ldr r3, [pc, #444] ; (804740c ) 804724e: 222b movs r2, #43 ; 0x2b 8047250: 701a strb r2, [r3, #0] menupos = _CANCEL; 8047252: 4b68 ldr r3, [pc, #416] ; (80473f4 ) 8047254: 2227 movs r2, #39 ; 0x27 8047256: 701a strb r2, [r3, #0] if(menupos == UpYes) menupos = UpNo; else if(menupos == UpNo) menupos = UpYes; break; 8047258: f001 be18 b.w 8048e8c if(menupos == UpYes) 804725c: 4b65 ldr r3, [pc, #404] ; (80473f4 ) 804725e: 781b ldrb r3, [r3, #0] 8047260: b2db uxtb r3, r3 8047262: 2b07 cmp r3, #7 8047264: d104 bne.n 8047270 menupos = UpNo; 8047266: 4b63 ldr r3, [pc, #396] ; (80473f4 ) 8047268: 2206 movs r2, #6 804726a: 701a strb r2, [r3, #0] break; 804726c: f001 be0e b.w 8048e8c if(menupos == UpNo) 8047270: 4b60 ldr r3, [pc, #384] ; (80473f4 ) 8047272: 781b ldrb r3, [r3, #0] 8047274: b2db uxtb r3, r3 8047276: 2b06 cmp r3, #6 8047278: f041 8608 bne.w 8048e8c menupos = UpYes; 804727c: 4b5d ldr r3, [pc, #372] ; (80473f4 ) 804727e: 2207 movs r2, #7 8047280: 701a strb r2, [r3, #0] break; 8047282: f001 be03 b.w 8048e8c case EXPLORER_DIAGN: if((menupos == FilesDGN) || (menupos == NoFilesDGN)) 8047286: 4b5b ldr r3, [pc, #364] ; (80473f4 ) 8047288: 781b ldrb r3, [r3, #0] 804728a: b2db uxtb r3, r3 804728c: 2b02 cmp r3, #2 804728e: d004 beq.n 804729a 8047290: 4b58 ldr r3, [pc, #352] ; (80473f4 ) 8047292: 781b ldrb r3, [r3, #0] 8047294: b2db uxtb r3, r3 8047296: 2b01 cmp r3, #1 8047298: d114 bne.n 80472c4 { memset(TEMP_DiagFileName, 0, sizeof(TEMP_DiagFileName)); 804729a: 2221 movs r2, #33 ; 0x21 804729c: 2100 movs r1, #0 804729e: 485c ldr r0, [pc, #368] ; (8047410 ) 80472a0: f085 fed2 bl 80cd048 DiagFileNameLen = 0; 80472a4: 4b5b ldr r3, [pc, #364] ; (8047414 ) 80472a6: 2200 movs r2, #0 80472a8: 601a str r2, [r3, #0] lastmenupos = menupos; 80472aa: 4b52 ldr r3, [pc, #328] ; (80473f4 ) 80472ac: 781b ldrb r3, [r3, #0] 80472ae: b2da uxtb r2, r3 80472b0: 4b53 ldr r3, [pc, #332] ; (8047400 ) 80472b2: 701a strb r2, [r3, #0] menu = INPUT_NAME_DGN; 80472b4: 4b55 ldr r3, [pc, #340] ; (804740c ) 80472b6: 222c movs r2, #44 ; 0x2c 80472b8: 701a strb r2, [r3, #0] menupos = _CANCEL; 80472ba: 4b4e ldr r3, [pc, #312] ; (80473f4 ) 80472bc: 2227 movs r2, #39 ; 0x27 80472be: 701a strb r2, [r3, #0] if(menupos == UpYes) menupos = UpNo; else if(menupos == UpNo) menupos = UpYes; break; 80472c0: f001 bde7 b.w 8048e92 if(menupos == UpYes) 80472c4: 4b4b ldr r3, [pc, #300] ; (80473f4 ) 80472c6: 781b ldrb r3, [r3, #0] 80472c8: b2db uxtb r3, r3 80472ca: 2b07 cmp r3, #7 80472cc: d104 bne.n 80472d8 menupos = UpNo; 80472ce: 4b49 ldr r3, [pc, #292] ; (80473f4 ) 80472d0: 2206 movs r2, #6 80472d2: 701a strb r2, [r3, #0] break; 80472d4: f001 bddd b.w 8048e92 if(menupos == UpNo) 80472d8: 4b46 ldr r3, [pc, #280] ; (80473f4 ) 80472da: 781b ldrb r3, [r3, #0] 80472dc: b2db uxtb r3, r3 80472de: 2b06 cmp r3, #6 80472e0: f041 85d7 bne.w 8048e92 menupos = UpYes; 80472e4: 4b43 ldr r3, [pc, #268] ; (80473f4 ) 80472e6: 2207 movs r2, #7 80472e8: 701a strb r2, [r3, #0] break; 80472ea: f001 bdd2 b.w 8048e92 case INPUT_NAME_DGN: case INPUT_NAME_PTM: case INPUT_NAME_SPEC: case INPUT_NAME_GTR: case INPUT_NAME_FRN: if((menupos != _0) && (menupos != _P) && (menupos != _BCKSPC) && (menupos != _M) && (menupos != _CANCEL)) 80472ee: 4b41 ldr r3, [pc, #260] ; (80473f4 ) 80472f0: 781b ldrb r3, [r3, #0] 80472f2: b2db uxtb r3, r3 80472f4: 2b09 cmp r3, #9 80472f6: f001 85cf beq.w 8048e98 80472fa: 4b3e ldr r3, [pc, #248] ; (80473f4 ) 80472fc: 781b ldrb r3, [r3, #0] 80472fe: b2db uxtb r3, r3 8047300: 2b13 cmp r3, #19 8047302: f001 85c9 beq.w 8048e98 8047306: 4b3b ldr r3, [pc, #236] ; (80473f4 ) 8047308: 781b ldrb r3, [r3, #0] 804730a: b2db uxtb r3, r3 804730c: 2b1d cmp r3, #29 804730e: f001 85c3 beq.w 8048e98 8047312: 4b38 ldr r3, [pc, #224] ; (80473f4 ) 8047314: 781b ldrb r3, [r3, #0] 8047316: b2db uxtb r3, r3 8047318: 2b25 cmp r3, #37 ; 0x25 804731a: f001 85bd beq.w 8048e98 804731e: 4b35 ldr r3, [pc, #212] ; (80473f4 ) 8047320: 781b ldrb r3, [r3, #0] 8047322: b2db uxtb r3, r3 8047324: 2b27 cmp r3, #39 ; 0x27 8047326: f001 85b7 beq.w 8048e98 menupos++; 804732a: 4b32 ldr r3, [pc, #200] ; (80473f4 ) 804732c: 781b ldrb r3, [r3, #0] 804732e: b2db uxtb r3, r3 8047330: 3301 adds r3, #1 8047332: b2da uxtb r2, r3 8047334: 4b2f ldr r3, [pc, #188] ; (80473f4 ) 8047336: 701a strb r2, [r3, #0] break; 8047338: f001 bdae b.w 8048e98 case ARCHIVE_SPEC: if(menupos == FilesSPEC) 804733c: 4b2d ldr r3, [pc, #180] ; (80473f4 ) 804733e: 781b ldrb r3, [r3, #0] 8047340: b2db uxtb r3, r3 8047342: 2b02 cmp r3, #2 8047344: d104 bne.n 8047350 menupos = UpNo; 8047346: 4b2b ldr r3, [pc, #172] ; (80473f4 ) 8047348: 2206 movs r2, #6 804734a: 701a strb r2, [r3, #0] if(menupos == UpNo) menupos = UpYes; else if(menupos == UpYes) menupos = UpNo; break; 804734c: f001 bda7 b.w 8048e9e if(menupos == UpNo) 8047350: 4b28 ldr r3, [pc, #160] ; (80473f4 ) 8047352: 781b ldrb r3, [r3, #0] 8047354: b2db uxtb r3, r3 8047356: 2b06 cmp r3, #6 8047358: d104 bne.n 8047364 menupos = UpYes; 804735a: 4b26 ldr r3, [pc, #152] ; (80473f4 ) 804735c: 2207 movs r2, #7 804735e: 701a strb r2, [r3, #0] break; 8047360: f001 bd9d b.w 8048e9e if(menupos == UpYes) 8047364: 4b23 ldr r3, [pc, #140] ; (80473f4 ) 8047366: 781b ldrb r3, [r3, #0] 8047368: b2db uxtb r3, r3 804736a: 2b07 cmp r3, #7 804736c: f041 8597 bne.w 8048e9e menupos = UpNo; 8047370: 4b20 ldr r3, [pc, #128] ; (80473f4 ) 8047372: 2206 movs r2, #6 8047374: 701a strb r2, [r3, #0] break; 8047376: f001 bd92 b.w 8048e9e case ARCHIVE_FRAN: if(menupos == FilesFRAN) 804737a: 4b1e ldr r3, [pc, #120] ; (80473f4 ) 804737c: 781b ldrb r3, [r3, #0] 804737e: b2db uxtb r3, r3 8047380: 2b02 cmp r3, #2 8047382: d104 bne.n 804738e menupos = UpNo; 8047384: 4b1b ldr r3, [pc, #108] ; (80473f4 ) 8047386: 2206 movs r2, #6 8047388: 701a strb r2, [r3, #0] if(menupos == UpNo) menupos = UpYes; else if(menupos == UpYes) menupos = UpNo; break; 804738a: f001 bd8b b.w 8048ea4 if(menupos == UpNo) 804738e: 4b19 ldr r3, [pc, #100] ; (80473f4 ) 8047390: 781b ldrb r3, [r3, #0] 8047392: b2db uxtb r3, r3 8047394: 2b06 cmp r3, #6 8047396: d104 bne.n 80473a2 menupos = UpYes; 8047398: 4b16 ldr r3, [pc, #88] ; (80473f4 ) 804739a: 2207 movs r2, #7 804739c: 701a strb r2, [r3, #0] break; 804739e: f001 bd81 b.w 8048ea4 if(menupos == UpYes) 80473a2: 4b14 ldr r3, [pc, #80] ; (80473f4 ) 80473a4: 781b ldrb r3, [r3, #0] 80473a6: b2db uxtb r3, r3 80473a8: 2b07 cmp r3, #7 80473aa: f041 857b bne.w 8048ea4 menupos = UpNo; 80473ae: 4b11 ldr r3, [pc, #68] ; (80473f4 ) 80473b0: 2206 movs r2, #6 80473b2: 701a strb r2, [r3, #0] break; 80473b4: f001 bd76 b.w 8048ea4 case ARCHIVE_WAVE: if(menupos == FilesGTR) 80473b8: 4b0e ldr r3, [pc, #56] ; (80473f4 ) 80473ba: 781b ldrb r3, [r3, #0] 80473bc: b2db uxtb r3, r3 80473be: 2b02 cmp r3, #2 80473c0: f040 80b0 bne.w 8047524 { if(ExplorerFiles[CursorIndex].fname[0] != 0) 80473c4: 4b14 ldr r3, [pc, #80] ; (8047418 ) 80473c6: 681a ldr r2, [r3, #0] 80473c8: 4914 ldr r1, [pc, #80] ; (804741c ) 80473ca: 4613 mov r3, r2 80473cc: 00db lsls r3, r3, #3 80473ce: 1a9b subs r3, r3, r2 80473d0: 00db lsls r3, r3, #3 80473d2: 440b add r3, r1 80473d4: 330c adds r3, #12 80473d6: 781b ldrb r3, [r3, #0] 80473d8: 2b00 cmp r3, #0 80473da: f001 8566 beq.w 8048eaa { d = cbChecked; 80473de: 2301 movs r3, #1 80473e0: f8c7 30bc str.w r3, [r7, #188] ; 0xbc if(NumFilesDelete != 0) 80473e4: 4b0e ldr r3, [pc, #56] ; (8047420 ) 80473e6: 681b ldr r3, [r3, #0] 80473e8: 2b00 cmp r3, #0 80473ea: d055 beq.n 8047498 { for(i = 0; i < MAX_CHECKED_FILES; i++) 80473ec: 2300 movs r3, #0 80473ee: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 80473f2: e04c b.n 804748e 80473f4: 20020070 .word 0x20020070 80473f8: 20020f7a .word 0x20020f7a 80473fc: 2002006c .word 0x2002006c 8047400: 20020071 .word 0x20020071 8047404: 20025c80 .word 0x20025c80 8047408: 20020eec .word 0x20020eec 804740c: 20020f78 .word 0x20020f78 8047410: 20025cc8 .word 0x20025cc8 8047414: 20020ef0 .word 0x20020ef0 8047418: 20020de0 .word 0x20020de0 804741c: 20022350 .word 0x20022350 8047420: 20020e0c .word 0x20020e0c { if(strcmp(ExplorerFiles[CursorIndex].fname, &StrRAM(i, 0)) == 0) 8047424: 4bc6 ldr r3, [pc, #792] ; (8047740 ) 8047426: 681a ldr r2, [r3, #0] 8047428: 4613 mov r3, r2 804742a: 00db lsls r3, r3, #3 804742c: 1a9b subs r3, r3, r2 804742e: 00db lsls r3, r3, #3 8047430: 3308 adds r3, #8 8047432: 4ac4 ldr r2, [pc, #784] ; (8047744 ) 8047434: 4413 add r3, r2 8047436: 1d18 adds r0, r3, #4 8047438: f8d7 20c0 ldr.w r2, [r7, #192] ; 0xc0 804743c: 4613 mov r3, r2 804743e: 009b lsls r3, r3, #2 8047440: 4413 add r3, r2 8047442: 00db lsls r3, r3, #3 8047444: 461a mov r2, r3 8047446: 4bc0 ldr r3, [pc, #768] ; (8047748 ) 8047448: 4413 add r3, r2 804744a: 4619 mov r1, r3 804744c: f7d8 ff58 bl 8020300 8047450: 4603 mov r3, r0 8047452: 2b00 cmp r3, #0 8047454: d116 bne.n 8047484 { memset(&StrRAM(i, 0), 0, 40); 8047456: f8d7 20c0 ldr.w r2, [r7, #192] ; 0xc0 804745a: 4613 mov r3, r2 804745c: 009b lsls r3, r3, #2 804745e: 4413 add r3, r2 8047460: 00db lsls r3, r3, #3 8047462: 461a mov r2, r3 8047464: 4bb8 ldr r3, [pc, #736] ; (8047748 ) 8047466: 4413 add r3, r2 8047468: 2228 movs r2, #40 ; 0x28 804746a: 2100 movs r1, #0 804746c: 4618 mov r0, r3 804746e: f085 fdeb bl 80cd048 d = cbUnchecked; // Èìÿ ôàéëà èñêëþ÷èëè èç ñïèñêà óäàëÿåìûõ ôàéëîâ 8047472: 2300 movs r3, #0 8047474: f8c7 30bc str.w r3, [r7, #188] ; 0xbc NumFilesDelete--; 8047478: 4bb4 ldr r3, [pc, #720] ; (804774c ) 804747a: 681b ldr r3, [r3, #0] 804747c: 3b01 subs r3, #1 804747e: 4ab3 ldr r2, [pc, #716] ; (804774c ) 8047480: 6013 str r3, [r2, #0] break; 8047482: e009 b.n 8047498 for(i = 0; i < MAX_CHECKED_FILES; i++) 8047484: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 8047488: 3301 adds r3, #1 804748a: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 804748e: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 8047492: f5b3 7f00 cmp.w r3, #512 ; 0x200 8047496: d3c5 bcc.n 8047424 } } } if(d == cbChecked) // Åñëè èìÿ ôàéëà âêëþ÷èëè â ñïèñîê óäàëÿåìûõ ôàéëîâ 8047498: f8d7 30bc ldr.w r3, [r7, #188] ; 0xbc 804749c: 2b01 cmp r3, #1 804749e: f041 8504 bne.w 8048eaa { // Èùåì ïåðâóþ ñâîáîäíóþ ÿ÷åéêó â áóôåðå if(NumFilesDelete < MAX_CHECKED_FILES) 80474a2: 4baa ldr r3, [pc, #680] ; (804774c ) 80474a4: 681b ldr r3, [r3, #0] 80474a6: f5b3 7f00 cmp.w r3, #512 ; 0x200 80474aa: f081 84fe bcs.w 8048eaa { for(i = 0; i < MAX_CHECKED_FILES; i++) 80474ae: 2300 movs r3, #0 80474b0: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 80474b4: e02f b.n 8047516 { if(StrRAM(i, 0) == 0) 80474b6: f8d7 20c0 ldr.w r2, [r7, #192] ; 0xc0 80474ba: 4613 mov r3, r2 80474bc: 009b lsls r3, r3, #2 80474be: 4413 add r3, r2 80474c0: 00db lsls r3, r3, #3 80474c2: 461a mov r2, r3 80474c4: 4ba0 ldr r3, [pc, #640] ; (8047748 ) 80474c6: 4413 add r3, r2 80474c8: 781b ldrb r3, [r3, #0] 80474ca: 2b00 cmp r3, #0 80474cc: d11e bne.n 804750c { strcpy(&StrRAM(i, 0), ExplorerFiles[CursorIndex].fname); 80474ce: f8d7 20c0 ldr.w r2, [r7, #192] ; 0xc0 80474d2: 4613 mov r3, r2 80474d4: 009b lsls r3, r3, #2 80474d6: 4413 add r3, r2 80474d8: 00db lsls r3, r3, #3 80474da: 461a mov r2, r3 80474dc: 4b9a ldr r3, [pc, #616] ; (8047748 ) 80474de: 4413 add r3, r2 80474e0: 4618 mov r0, r3 80474e2: 4b97 ldr r3, [pc, #604] ; (8047740 ) 80474e4: 681a ldr r2, [r3, #0] 80474e6: 4613 mov r3, r2 80474e8: 00db lsls r3, r3, #3 80474ea: 1a9b subs r3, r3, r2 80474ec: 00db lsls r3, r3, #3 80474ee: 3308 adds r3, #8 80474f0: 4a94 ldr r2, [pc, #592] ; (8047744 ) 80474f2: 4413 add r3, r2 80474f4: 3304 adds r3, #4 80474f6: 4619 mov r1, r3 80474f8: f085 fec3 bl 80cd282 NumFilesDelete++; 80474fc: 4b93 ldr r3, [pc, #588] ; (804774c ) 80474fe: 681b ldr r3, [r3, #0] 8047500: 3301 adds r3, #1 8047502: 4a92 ldr r2, [pc, #584] ; (804774c ) 8047504: 6013 str r3, [r2, #0] break; 8047506: bf00 nop if(menupos == UpNo) menupos = UpYes; else if(menupos == UpYes) menupos = UpNo; break; 8047508: f001 bccf b.w 8048eaa for(i = 0; i < MAX_CHECKED_FILES; i++) 804750c: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 8047510: 3301 adds r3, #1 8047512: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 8047516: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 804751a: f5b3 7f00 cmp.w r3, #512 ; 0x200 804751e: d3ca bcc.n 80474b6 break; 8047520: f001 bcc3 b.w 8048eaa if(menupos == UpNo) 8047524: 4b8a ldr r3, [pc, #552] ; (8047750 ) 8047526: 781b ldrb r3, [r3, #0] 8047528: b2db uxtb r3, r3 804752a: 2b06 cmp r3, #6 804752c: d104 bne.n 8047538 menupos = UpYes; 804752e: 4b88 ldr r3, [pc, #544] ; (8047750 ) 8047530: 2207 movs r2, #7 8047532: 701a strb r2, [r3, #0] break; 8047534: f001 bcb9 b.w 8048eaa if(menupos == UpYes) 8047538: 4b85 ldr r3, [pc, #532] ; (8047750 ) 804753a: 781b ldrb r3, [r3, #0] 804753c: b2db uxtb r3, r3 804753e: 2b07 cmp r3, #7 8047540: f041 84b3 bne.w 8048eaa menupos = UpNo; 8047544: 4b82 ldr r3, [pc, #520] ; (8047750 ) 8047546: 2206 movs r2, #6 8047548: 701a strb r2, [r3, #0] break; 804754a: f001 bcae b.w 8048eaa case ROUTE: if(menupos == FilesCSV) 804754e: 4b80 ldr r3, [pc, #512] ; (8047750 ) 8047550: 781b ldrb r3, [r3, #0] 8047552: b2db uxtb r3, r3 8047554: 2b02 cmp r3, #2 8047556: f040 8098 bne.w 804768a { if(ExplorerFiles[CursorIndex].fname[0] != 0) 804755a: 4b79 ldr r3, [pc, #484] ; (8047740 ) 804755c: 681a ldr r2, [r3, #0] 804755e: 4979 ldr r1, [pc, #484] ; (8047744 ) 8047560: 4613 mov r3, r2 8047562: 00db lsls r3, r3, #3 8047564: 1a9b subs r3, r3, r2 8047566: 00db lsls r3, r3, #3 8047568: 440b add r3, r1 804756a: 330c adds r3, #12 804756c: 781b ldrb r3, [r3, #0] 804756e: 2b00 cmp r3, #0 8047570: f001 849e beq.w 8048eb0 { d = cbChecked; 8047574: 2301 movs r3, #1 8047576: f8c7 30bc str.w r3, [r7, #188] ; 0xbc if(NumFilesDelete != 0) 804757a: 4b74 ldr r3, [pc, #464] ; (804774c ) 804757c: 681b ldr r3, [r3, #0] 804757e: 2b00 cmp r3, #0 8047580: d03d beq.n 80475fe { for(i = 0; i < MAX_CHECKED_FILES; i++) 8047582: 2300 movs r3, #0 8047584: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 8047588: e034 b.n 80475f4 { if(strcmp(ExplorerFiles[CursorIndex].fname, &StrRAM(i, 0)) == 0) 804758a: 4b6d ldr r3, [pc, #436] ; (8047740 ) 804758c: 681a ldr r2, [r3, #0] 804758e: 4613 mov r3, r2 8047590: 00db lsls r3, r3, #3 8047592: 1a9b subs r3, r3, r2 8047594: 00db lsls r3, r3, #3 8047596: 3308 adds r3, #8 8047598: 4a6a ldr r2, [pc, #424] ; (8047744 ) 804759a: 4413 add r3, r2 804759c: 1d18 adds r0, r3, #4 804759e: f8d7 20c0 ldr.w r2, [r7, #192] ; 0xc0 80475a2: 4613 mov r3, r2 80475a4: 009b lsls r3, r3, #2 80475a6: 4413 add r3, r2 80475a8: 00db lsls r3, r3, #3 80475aa: 461a mov r2, r3 80475ac: 4b66 ldr r3, [pc, #408] ; (8047748 ) 80475ae: 4413 add r3, r2 80475b0: 4619 mov r1, r3 80475b2: f7d8 fea5 bl 8020300 80475b6: 4603 mov r3, r0 80475b8: 2b00 cmp r3, #0 80475ba: d116 bne.n 80475ea { memset(&StrRAM(i, 0), 0, 40); 80475bc: f8d7 20c0 ldr.w r2, [r7, #192] ; 0xc0 80475c0: 4613 mov r3, r2 80475c2: 009b lsls r3, r3, #2 80475c4: 4413 add r3, r2 80475c6: 00db lsls r3, r3, #3 80475c8: 461a mov r2, r3 80475ca: 4b5f ldr r3, [pc, #380] ; (8047748 ) 80475cc: 4413 add r3, r2 80475ce: 2228 movs r2, #40 ; 0x28 80475d0: 2100 movs r1, #0 80475d2: 4618 mov r0, r3 80475d4: f085 fd38 bl 80cd048 d = cbUnchecked; // Èìÿ ôàéëà èñêëþ÷èëè èç ñïèñêà óäàëÿåìûõ ôàéëîâ 80475d8: 2300 movs r3, #0 80475da: f8c7 30bc str.w r3, [r7, #188] ; 0xbc NumFilesDelete--; 80475de: 4b5b ldr r3, [pc, #364] ; (804774c ) 80475e0: 681b ldr r3, [r3, #0] 80475e2: 3b01 subs r3, #1 80475e4: 4a59 ldr r2, [pc, #356] ; (804774c ) 80475e6: 6013 str r3, [r2, #0] break; 80475e8: e009 b.n 80475fe for(i = 0; i < MAX_CHECKED_FILES; i++) 80475ea: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 80475ee: 3301 adds r3, #1 80475f0: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 80475f4: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 80475f8: f5b3 7f00 cmp.w r3, #512 ; 0x200 80475fc: d3c5 bcc.n 804758a } } } if(d == cbChecked) // Åñëè èìÿ ôàéëà âêëþ÷èëè â ñïèñîê óäàëÿåìûõ ôàéëîâ 80475fe: f8d7 30bc ldr.w r3, [r7, #188] ; 0xbc 8047602: 2b01 cmp r3, #1 8047604: f041 8454 bne.w 8048eb0 { // Èùåì ïåðâóþ ñâîáîäíóþ ÿ÷åéêó â áóôåðå if(NumFilesDelete < MAX_CHECKED_FILES) 8047608: 4b50 ldr r3, [pc, #320] ; (804774c ) 804760a: 681b ldr r3, [r3, #0] 804760c: f5b3 7f00 cmp.w r3, #512 ; 0x200 8047610: f081 844e bcs.w 8048eb0 { for(i = 0; i < MAX_CHECKED_FILES; i++) 8047614: 2300 movs r3, #0 8047616: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 804761a: e02f b.n 804767c { if(StrRAM(i, 0) == 0) 804761c: f8d7 20c0 ldr.w r2, [r7, #192] ; 0xc0 8047620: 4613 mov r3, r2 8047622: 009b lsls r3, r3, #2 8047624: 4413 add r3, r2 8047626: 00db lsls r3, r3, #3 8047628: 461a mov r2, r3 804762a: 4b47 ldr r3, [pc, #284] ; (8047748 ) 804762c: 4413 add r3, r2 804762e: 781b ldrb r3, [r3, #0] 8047630: 2b00 cmp r3, #0 8047632: d11e bne.n 8047672 { strcpy(&StrRAM(i, 0), ExplorerFiles[CursorIndex].fname); 8047634: f8d7 20c0 ldr.w r2, [r7, #192] ; 0xc0 8047638: 4613 mov r3, r2 804763a: 009b lsls r3, r3, #2 804763c: 4413 add r3, r2 804763e: 00db lsls r3, r3, #3 8047640: 461a mov r2, r3 8047642: 4b41 ldr r3, [pc, #260] ; (8047748 ) 8047644: 4413 add r3, r2 8047646: 4618 mov r0, r3 8047648: 4b3d ldr r3, [pc, #244] ; (8047740 ) 804764a: 681a ldr r2, [r3, #0] 804764c: 4613 mov r3, r2 804764e: 00db lsls r3, r3, #3 8047650: 1a9b subs r3, r3, r2 8047652: 00db lsls r3, r3, #3 8047654: 3308 adds r3, #8 8047656: 4a3b ldr r2, [pc, #236] ; (8047744 ) 8047658: 4413 add r3, r2 804765a: 3304 adds r3, #4 804765c: 4619 mov r1, r3 804765e: f085 fe10 bl 80cd282 NumFilesDelete++; 8047662: 4b3a ldr r3, [pc, #232] ; (804774c ) 8047664: 681b ldr r3, [r3, #0] 8047666: 3301 adds r3, #1 8047668: 4a38 ldr r2, [pc, #224] ; (804774c ) 804766a: 6013 str r3, [r2, #0] break; 804766c: bf00 nop if(menupos == UpNo) menupos = UpYes; else if(menupos == UpYes) menupos = UpNo; break; 804766e: f001 bc1f b.w 8048eb0 for(i = 0; i < MAX_CHECKED_FILES; i++) 8047672: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 8047676: 3301 adds r3, #1 8047678: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 804767c: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 8047680: f5b3 7f00 cmp.w r3, #512 ; 0x200 8047684: d3ca bcc.n 804761c break; 8047686: f001 bc13 b.w 8048eb0 if(menupos == UpNo) 804768a: 4b31 ldr r3, [pc, #196] ; (8047750 ) 804768c: 781b ldrb r3, [r3, #0] 804768e: b2db uxtb r3, r3 8047690: 2b06 cmp r3, #6 8047692: d104 bne.n 804769e menupos = UpYes; 8047694: 4b2e ldr r3, [pc, #184] ; (8047750 ) 8047696: 2207 movs r2, #7 8047698: 701a strb r2, [r3, #0] break; 804769a: f001 bc09 b.w 8048eb0 if(menupos == UpYes) 804769e: 4b2c ldr r3, [pc, #176] ; (8047750 ) 80476a0: 781b ldrb r3, [r3, #0] 80476a2: b2db uxtb r3, r3 80476a4: 2b07 cmp r3, #7 80476a6: f041 8403 bne.w 8048eb0 menupos = UpNo; 80476aa: 4b29 ldr r3, [pc, #164] ; (8047750 ) 80476ac: 2206 movs r2, #6 80476ae: 701a strb r2, [r3, #0] break; 80476b0: f001 bbfe b.w 8048eb0 case PARAM_UDAR: switch(menupos) 80476b4: 4b26 ldr r3, [pc, #152] ; (8047750 ) 80476b6: 781b ldrb r3, [r3, #0] 80476b8: b2db uxtb r3, r3 80476ba: 3b03 subs r3, #3 80476bc: 2b09 cmp r3, #9 80476be: d849 bhi.n 8047754 80476c0: a201 add r2, pc, #4 ; (adr r2, 80476c8 ) 80476c2: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80476c6: bf00 nop 80476c8: 080476f1 .word 0x080476f1 80476cc: 080476f9 .word 0x080476f9 80476d0: 08047701 .word 0x08047701 80476d4: 08047709 .word 0x08047709 80476d8: 08047711 .word 0x08047711 80476dc: 08047719 .word 0x08047719 80476e0: 08047721 .word 0x08047721 80476e4: 08047729 .word 0x08047729 80476e8: 08047731 .word 0x08047731 80476ec: 08047739 .word 0x08047739 { case UdarRate_IET: menupos = UdarRate_IES; break; 80476f0: 4b17 ldr r3, [pc, #92] ; (8047750 ) 80476f2: 2204 movs r2, #4 80476f4: 701a strb r2, [r3, #0] 80476f6: e031 b.n 804775c case UdarRate_IES: menupos = UdarRate_IED; break; 80476f8: 4b15 ldr r3, [pc, #84] ; (8047750 ) 80476fa: 2205 movs r2, #5 80476fc: 701a strb r2, [r3, #0] 80476fe: e02d b.n 804775c case UdarRate_IED: menupos = UdarRate_IEE; break; 8047700: 4b13 ldr r3, [pc, #76] ; (8047750 ) 8047702: 2206 movs r2, #6 8047704: 701a strb r2, [r3, #0] 8047706: e029 b.n 804775c case UdarRate_IEE: menupos = UdarRate_IET; break; 8047708: 4b11 ldr r3, [pc, #68] ; (8047750 ) 804770a: 2203 movs r2, #3 804770c: 701a strb r2, [r3, #0] 804770e: e025 b.n 804775c case UdarInner_IES: menupos = UdarInner_IED; break; 8047710: 4b0f ldr r3, [pc, #60] ; (8047750 ) 8047712: 2208 movs r2, #8 8047714: 701a strb r2, [r3, #0] 8047716: e021 b.n 804775c case UdarInner_IED: menupos = UdarInner_IEE; break; 8047718: 4b0d ldr r3, [pc, #52] ; (8047750 ) 804771a: 2209 movs r2, #9 804771c: 701a strb r2, [r3, #0] 804771e: e01d b.n 804775c case UdarInner_IEE: menupos = UdarInner_IKD; break; 8047720: 4b0b ldr r3, [pc, #44] ; (8047750 ) 8047722: 220a movs r2, #10 8047724: 701a strb r2, [r3, #0] 8047726: e019 b.n 804775c case UdarInner_IKD: menupos = UdarInner_IKS; break; 8047728: 4b09 ldr r3, [pc, #36] ; (8047750 ) 804772a: 220b movs r2, #11 804772c: 701a strb r2, [r3, #0] 804772e: e015 b.n 804775c case UdarInner_IKS: menupos = UdarInner_IKT; break; 8047730: 4b07 ldr r3, [pc, #28] ; (8047750 ) 8047732: 220c movs r2, #12 8047734: 701a strb r2, [r3, #0] 8047736: e011 b.n 804775c case UdarInner_IKT: menupos = UdarInner_IES; break; 8047738: 4b05 ldr r3, [pc, #20] ; (8047750 ) 804773a: 2207 movs r2, #7 804773c: 701a strb r2, [r3, #0] 804773e: e00d b.n 804775c 8047740: 20020de0 .word 0x20020de0 8047744: 20022350 .word 0x20022350 8047748: 6404b000 .word 0x6404b000 804774c: 20020e0c .word 0x20020e0c 8047750: 20020070 .word 0x20020070 default: menupos = Ok; 8047754: 4bc2 ldr r3, [pc, #776] ; (8047a60 ) 8047756: 2200 movs r2, #0 8047758: 701a strb r2, [r3, #0] break; 804775a: bf00 nop } break; 804775c: f001 bbdb b.w 8048f16 case PARAM_ROLL: switch(menupos) 8047760: 4bbf ldr r3, [pc, #764] ; (8047a60 ) 8047762: 781b ldrb r3, [r3, #0] 8047764: b2db uxtb r3, r3 8047766: 3b01 subs r3, #1 8047768: 2b2a cmp r3, #42 ; 0x2a 804776a: f201 83a4 bhi.w 8048eb6 804776e: a201 add r2, pc, #4 ; (adr r2, 8047774 ) 8047770: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8047774: 08047931 .word 0x08047931 8047778: 0804799b .word 0x0804799b 804777c: 0804799b .word 0x0804799b 8047780: 0804799b .word 0x0804799b 8047784: 0804799b .word 0x0804799b 8047788: 08047967 .word 0x08047967 804778c: 0804799b .word 0x0804799b 8047790: 0804799b .word 0x0804799b 8047794: 0804799b .word 0x0804799b 8047798: 08047841 .word 0x08047841 804779c: 08047849 .word 0x08047849 80477a0: 08047851 .word 0x08047851 80477a4: 08047859 .word 0x08047859 80477a8: 08047861 .word 0x08047861 80477ac: 08047869 .word 0x08047869 80477b0: 08047871 .word 0x08047871 80477b4: 08047879 .word 0x08047879 80477b8: 08047881 .word 0x08047881 80477bc: 08047889 .word 0x08047889 80477c0: 08047891 .word 0x08047891 80477c4: 08047899 .word 0x08047899 80477c8: 080478a1 .word 0x080478a1 80477cc: 080478a9 .word 0x080478a9 80477d0: 080478b1 .word 0x080478b1 80477d4: 080478b9 .word 0x080478b9 80477d8: 080478c1 .word 0x080478c1 80477dc: 080478c9 .word 0x080478c9 80477e0: 080478d1 .word 0x080478d1 80477e4: 080478d9 .word 0x080478d9 80477e8: 080478e1 .word 0x080478e1 80477ec: 080478e9 .word 0x080478e9 80477f0: 080478f1 .word 0x080478f1 80477f4: 080478f9 .word 0x080478f9 80477f8: 08047821 .word 0x08047821 80477fc: 08047829 .word 0x08047829 8047800: 08047831 .word 0x08047831 8047804: 08047839 .word 0x08047839 8047808: 08047901 .word 0x08047901 804780c: 08047909 .word 0x08047909 8047810: 08047911 .word 0x08047911 8047814: 08047919 .word 0x08047919 8047818: 08047921 .word 0x08047921 804781c: 08047929 .word 0x08047929 { case D_Rate_IET: menupos = D_Rate_IES; break; 8047820: 4b8f ldr r3, [pc, #572] ; (8047a60 ) 8047822: 2223 movs r2, #35 ; 0x23 8047824: 701a strb r2, [r3, #0] 8047826: e0bc b.n 80479a2 case D_Rate_IES: menupos = D_Rate_IED; break; 8047828: 4b8d ldr r3, [pc, #564] ; (8047a60 ) 804782a: 2224 movs r2, #36 ; 0x24 804782c: 701a strb r2, [r3, #0] 804782e: e0b8 b.n 80479a2 case D_Rate_IED: menupos = D_Rate_IEE; break; 8047830: 4b8b ldr r3, [pc, #556] ; (8047a60 ) 8047832: 2225 movs r2, #37 ; 0x25 8047834: 701a strb r2, [r3, #0] 8047836: e0b4 b.n 80479a2 case D_Rate_IEE: menupos = D_Rate_IET; break; 8047838: 4b89 ldr r3, [pc, #548] ; (8047a60 ) 804783a: 2222 movs r2, #34 ; 0x22 804783c: 701a strb r2, [r3, #0] 804783e: e0b0 b.n 80479a2 case D_Roll_IES: menupos = D_Roll_IED; break; 8047840: 4b87 ldr r3, [pc, #540] ; (8047a60 ) 8047842: 220b movs r2, #11 8047844: 701a strb r2, [r3, #0] 8047846: e0ac b.n 80479a2 case D_Roll_IED: menupos = D_Roll_IEE; break; 8047848: 4b85 ldr r3, [pc, #532] ; (8047a60 ) 804784a: 220c movs r2, #12 804784c: 701a strb r2, [r3, #0] 804784e: e0a8 b.n 80479a2 case D_Roll_IEE: menupos = D_Roll_IKD; break; 8047850: 4b83 ldr r3, [pc, #524] ; (8047a60 ) 8047852: 220d movs r2, #13 8047854: 701a strb r2, [r3, #0] 8047856: e0a4 b.n 80479a2 case D_Roll_IKD: menupos = D_Roll_IKS; break; 8047858: 4b81 ldr r3, [pc, #516] ; (8047a60 ) 804785a: 220e movs r2, #14 804785c: 701a strb r2, [r3, #0] 804785e: e0a0 b.n 80479a2 case D_Roll_IKS: menupos = D_Roll_IKT; break; 8047860: 4b7f ldr r3, [pc, #508] ; (8047a60 ) 8047862: 220f movs r2, #15 8047864: 701a strb r2, [r3, #0] 8047866: e09c b.n 80479a2 case D_Roll_IKT: menupos = D_Roll_IES; break; 8047868: 4b7d ldr r3, [pc, #500] ; (8047a60 ) 804786a: 220a movs r2, #10 804786c: 701a strb r2, [r3, #0] 804786e: e098 b.n 80479a2 case D_Outer_IES: menupos = D_Outer_IED; break; 8047870: 4b7b ldr r3, [pc, #492] ; (8047a60 ) 8047872: 2211 movs r2, #17 8047874: 701a strb r2, [r3, #0] 8047876: e094 b.n 80479a2 case D_Outer_IED: menupos = D_Outer_IEE; break; 8047878: 4b79 ldr r3, [pc, #484] ; (8047a60 ) 804787a: 2212 movs r2, #18 804787c: 701a strb r2, [r3, #0] 804787e: e090 b.n 80479a2 case D_Outer_IEE: menupos = D_Outer_IKD; break; 8047880: 4b77 ldr r3, [pc, #476] ; (8047a60 ) 8047882: 2213 movs r2, #19 8047884: 701a strb r2, [r3, #0] 8047886: e08c b.n 80479a2 case D_Outer_IKD: menupos = D_Outer_IKS; break; 8047888: 4b75 ldr r3, [pc, #468] ; (8047a60 ) 804788a: 2214 movs r2, #20 804788c: 701a strb r2, [r3, #0] 804788e: e088 b.n 80479a2 case D_Outer_IKS: menupos = D_Outer_IKT; break; 8047890: 4b73 ldr r3, [pc, #460] ; (8047a60 ) 8047892: 2215 movs r2, #21 8047894: 701a strb r2, [r3, #0] 8047896: e084 b.n 80479a2 case D_Outer_IKT: menupos = D_Outer_IES; break; 8047898: 4b71 ldr r3, [pc, #452] ; (8047a60 ) 804789a: 2210 movs r2, #16 804789c: 701a strb r2, [r3, #0] 804789e: e080 b.n 80479a2 case D_Inner_IES: menupos = D_Inner_IED; break; 80478a0: 4b6f ldr r3, [pc, #444] ; (8047a60 ) 80478a2: 2217 movs r2, #23 80478a4: 701a strb r2, [r3, #0] 80478a6: e07c b.n 80479a2 case D_Inner_IED: menupos = D_Inner_IEE; break; 80478a8: 4b6d ldr r3, [pc, #436] ; (8047a60 ) 80478aa: 2218 movs r2, #24 80478ac: 701a strb r2, [r3, #0] 80478ae: e078 b.n 80479a2 case D_Inner_IEE: menupos = D_Inner_IKD; break; 80478b0: 4b6b ldr r3, [pc, #428] ; (8047a60 ) 80478b2: 2219 movs r2, #25 80478b4: 701a strb r2, [r3, #0] 80478b6: e074 b.n 80479a2 case D_Inner_IKD: menupos = D_Inner_IKS; break; 80478b8: 4b69 ldr r3, [pc, #420] ; (8047a60 ) 80478ba: 221a movs r2, #26 80478bc: 701a strb r2, [r3, #0] 80478be: e070 b.n 80479a2 case D_Inner_IKS: menupos = D_Inner_IKT; break; 80478c0: 4b67 ldr r3, [pc, #412] ; (8047a60 ) 80478c2: 221b movs r2, #27 80478c4: 701a strb r2, [r3, #0] 80478c6: e06c b.n 80479a2 case D_Inner_IKT: menupos = D_Inner_IES; break; 80478c8: 4b65 ldr r3, [pc, #404] ; (8047a60 ) 80478ca: 2216 movs r2, #22 80478cc: 701a strb r2, [r3, #0] 80478ce: e068 b.n 80479a2 case D_Angle_IES: menupos = D_Angle_IED; break; 80478d0: 4b63 ldr r3, [pc, #396] ; (8047a60 ) 80478d2: 221d movs r2, #29 80478d4: 701a strb r2, [r3, #0] 80478d6: e064 b.n 80479a2 case D_Angle_IED: menupos = D_Angle_IEE; break; 80478d8: 4b61 ldr r3, [pc, #388] ; (8047a60 ) 80478da: 221e movs r2, #30 80478dc: 701a strb r2, [r3, #0] 80478de: e060 b.n 80479a2 case D_Angle_IEE: menupos = D_Angle_IKD; break; 80478e0: 4b5f ldr r3, [pc, #380] ; (8047a60 ) 80478e2: 221f movs r2, #31 80478e4: 701a strb r2, [r3, #0] 80478e6: e05c b.n 80479a2 case D_Angle_IKD: menupos = D_Angle_IKS; break; 80478e8: 4b5d ldr r3, [pc, #372] ; (8047a60 ) 80478ea: 2220 movs r2, #32 80478ec: 701a strb r2, [r3, #0] 80478ee: e058 b.n 80479a2 case D_Angle_IKS: menupos = D_Angle_IKT; break; 80478f0: 4b5b ldr r3, [pc, #364] ; (8047a60 ) 80478f2: 2221 movs r2, #33 ; 0x21 80478f4: 701a strb r2, [r3, #0] 80478f6: e054 b.n 80479a2 case D_Angle_IKT: menupos = D_Angle_IES; break; 80478f8: 4b59 ldr r3, [pc, #356] ; (8047a60 ) 80478fa: 221c movs r2, #28 80478fc: 701a strb r2, [r3, #0] 80478fe: e050 b.n 80479a2 case RollMax_IDT: menupos = RollMax_IET; break; 8047900: 4b57 ldr r3, [pc, #348] ; (8047a60 ) 8047902: 2227 movs r2, #39 ; 0x27 8047904: 701a strb r2, [r3, #0] 8047906: e04c b.n 80479a2 case RollMax_IET: menupos = RollMax_IES; break; 8047908: 4b55 ldr r3, [pc, #340] ; (8047a60 ) 804790a: 2228 movs r2, #40 ; 0x28 804790c: 701a strb r2, [r3, #0] 804790e: e048 b.n 80479a2 case RollMax_IES: menupos = RollMax_IED; break; 8047910: 4b53 ldr r3, [pc, #332] ; (8047a60 ) 8047912: 2229 movs r2, #41 ; 0x29 8047914: 701a strb r2, [r3, #0] 8047916: e044 b.n 80479a2 case RollMax_IED: menupos = RollMax_IEE; break; 8047918: 4b51 ldr r3, [pc, #324] ; (8047a60 ) 804791a: 222a movs r2, #42 ; 0x2a 804791c: 701a strb r2, [r3, #0] 804791e: e040 b.n 80479a2 case RollMax_IEE: menupos = RollMax_IKD; break; 8047920: 4b4f ldr r3, [pc, #316] ; (8047a60 ) 8047922: 222b movs r2, #43 ; 0x2b 8047924: 701a strb r2, [r3, #0] 8047926: e03c b.n 80479a2 case RollMax_IKD: menupos = RollMax_IDT; break; 8047928: 4b4d ldr r3, [pc, #308] ; (8047a60 ) 804792a: 2226 movs r2, #38 ; 0x26 804792c: 701a strb r2, [r3, #0] 804792e: e038 b.n 80479a2 case RollCount: if(focused) 8047930: 4b4c ldr r3, [pc, #304] ; (8047a64 ) 8047932: 781b ldrb r3, [r3, #0] 8047934: b2db uxtb r3, r3 8047936: 2b00 cmp r3, #0 8047938: d011 beq.n 804795e { if(pardata.ROLL_COUNT < 99) pardata.ROLL_COUNT++; 804793a: 4b4b ldr r3, [pc, #300] ; (8047a68 ) 804793c: f8d3 30bc ldr.w r3, [r3, #188] ; 0xbc 8047940: 2b62 cmp r3, #98 ; 0x62 8047942: d807 bhi.n 8047954 8047944: 4b48 ldr r3, [pc, #288] ; (8047a68 ) 8047946: f8d3 30bc ldr.w r3, [r3, #188] ; 0xbc 804794a: 3301 adds r3, #1 804794c: 4a46 ldr r2, [pc, #280] ; (8047a68 ) 804794e: f8c2 30bc str.w r3, [r2, #188] ; 0xbc else pardata.ROLL_COUNT = 5; } else menupos = Ok; break; 8047952: e026 b.n 80479a2 else pardata.ROLL_COUNT = 5; 8047954: 4b44 ldr r3, [pc, #272] ; (8047a68 ) 8047956: 2205 movs r2, #5 8047958: f8c3 20bc str.w r2, [r3, #188] ; 0xbc break; 804795c: e021 b.n 80479a2 menupos = Ok; 804795e: 4b40 ldr r3, [pc, #256] ; (8047a60 ) 8047960: 2200 movs r2, #0 8047962: 701a strb r2, [r3, #0] break; 8047964: e01d b.n 80479a2 case RollAverage: if(focused) 8047966: 4b3f ldr r3, [pc, #252] ; (8047a64 ) 8047968: 781b ldrb r3, [r3, #0] 804796a: b2db uxtb r3, r3 804796c: 2b00 cmp r3, #0 804796e: d010 beq.n 8047992 { if(pardata.AVG < AVG512) pardata.AVG++; 8047970: 4b3d ldr r3, [pc, #244] ; (8047a68 ) 8047972: 7b5b ldrb r3, [r3, #13] 8047974: b2db uxtb r3, r3 8047976: 2b08 cmp r3, #8 8047978: d807 bhi.n 804798a 804797a: 4b3b ldr r3, [pc, #236] ; (8047a68 ) 804797c: 7b5b ldrb r3, [r3, #13] 804797e: b2db uxtb r3, r3 8047980: 3301 adds r3, #1 8047982: b2da uxtb r2, r3 8047984: 4b38 ldr r3, [pc, #224] ; (8047a68 ) 8047986: 735a strb r2, [r3, #13] else pardata.AVG = AVG1; } else menupos = Ok; break; 8047988: e00b b.n 80479a2 else pardata.AVG = AVG1; 804798a: 4b37 ldr r3, [pc, #220] ; (8047a68 ) 804798c: 2200 movs r2, #0 804798e: 735a strb r2, [r3, #13] break; 8047990: e007 b.n 80479a2 menupos = Ok; 8047992: 4b33 ldr r3, [pc, #204] ; (8047a60 ) 8047994: 2200 movs r2, #0 8047996: 701a strb r2, [r3, #0] break; 8047998: e003 b.n 80479a2 case D_Inner: case D_Outer: case D_Angle: case RollAutoKu: case RollMax_ALL: menupos = Ok; 804799a: 4b31 ldr r3, [pc, #196] ; (8047a60 ) 804799c: 2200 movs r2, #0 804799e: 701a strb r2, [r3, #0] break; 80479a0: bf00 nop } break; 80479a2: f001 ba88 b.w 8048eb6 case PARAM_VIB: switch(menupos) 80479a6: 4b2e ldr r3, [pc, #184] ; (8047a60 ) 80479a8: 781b ldrb r3, [r3, #0] 80479aa: b2db uxtb r3, r3 80479ac: 3b02 subs r3, #2 80479ae: 2b22 cmp r3, #34 ; 0x22 80479b0: f201 8284 bhi.w 8048ebc 80479b4: a201 add r2, pc, #4 ; (adr r2, 80479bc ) 80479b6: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80479ba: bf00 nop 80479bc: 08047ae5 .word 0x08047ae5 80479c0: 08047b19 .word 0x08047b19 80479c4: 08047b4d .word 0x08047b4d 80479c8: 08047b8d .word 0x08047b8d 80479cc: 08047bc1 .word 0x08047bc1 80479d0: 08047bc1 .word 0x08047bc1 80479d4: 08047bc1 .word 0x08047bc1 80479d8: 08047bc1 .word 0x08047bc1 80479dc: 08047b81 .word 0x08047b81 80479e0: 08047a49 .word 0x08047a49 80479e4: 08047a51 .word 0x08047a51 80479e8: 08047a59 .word 0x08047a59 80479ec: 08047a6d .word 0x08047a6d 80479f0: 08047a75 .word 0x08047a75 80479f4: 08047a7d .word 0x08047a7d 80479f8: 08048ebd .word 0x08048ebd 80479fc: 08048ebd .word 0x08048ebd 8047a00: 08048ebd .word 0x08048ebd 8047a04: 08048ebd .word 0x08048ebd 8047a08: 08048ebd .word 0x08048ebd 8047a0c: 08048ebd .word 0x08048ebd 8047a10: 08047bc1 .word 0x08047bc1 8047a14: 08047bc1 .word 0x08047bc1 8047a18: 08047a85 .word 0x08047a85 8047a1c: 08047a8d .word 0x08047a8d 8047a20: 08047a95 .word 0x08047a95 8047a24: 08047a9d .word 0x08047a9d 8047a28: 08047aa5 .word 0x08047aa5 8047a2c: 08047aad .word 0x08047aad 8047a30: 08047ab5 .word 0x08047ab5 8047a34: 08047abd .word 0x08047abd 8047a38: 08047ac5 .word 0x08047ac5 8047a3c: 08047acd .word 0x08047acd 8047a40: 08047ad5 .word 0x08047ad5 8047a44: 08047add .word 0x08047add { case VibMax_IDT: menupos = VibMax_IET; break; 8047a48: 4b05 ldr r3, [pc, #20] ; (8047a60 ) 8047a4a: 220c movs r2, #12 8047a4c: 701a strb r2, [r3, #0] 8047a4e: e0bb b.n 8047bc8 case VibMax_IET: menupos = VibMax_IES; break; 8047a50: 4b03 ldr r3, [pc, #12] ; (8047a60 ) 8047a52: 220d movs r2, #13 8047a54: 701a strb r2, [r3, #0] 8047a56: e0b7 b.n 8047bc8 case VibMax_IES: menupos = VibMax_IED; break; 8047a58: 4b01 ldr r3, [pc, #4] ; (8047a60 ) 8047a5a: 220e movs r2, #14 8047a5c: 701a strb r2, [r3, #0] 8047a5e: e0b3 b.n 8047bc8 8047a60: 20020070 .word 0x20020070 8047a64: 20020f84 .word 0x20020f84 8047a68: 20023e60 .word 0x20023e60 case VibMax_IED: menupos = VibMax_IEE; break; 8047a6c: 4bbb ldr r3, [pc, #748] ; (8047d5c ) 8047a6e: 220f movs r2, #15 8047a70: 701a strb r2, [r3, #0] 8047a72: e0a9 b.n 8047bc8 case VibMax_IEE: menupos = VibMax_IKD; break; 8047a74: 4bb9 ldr r3, [pc, #740] ; (8047d5c ) 8047a76: 2210 movs r2, #16 8047a78: 701a strb r2, [r3, #0] 8047a7a: e0a5 b.n 8047bc8 case VibMax_IKD: menupos = VibMax_IDT; break; 8047a7c: 4bb7 ldr r3, [pc, #732] ; (8047d5c ) 8047a7e: 220b movs r2, #11 8047a80: 701a strb r2, [r3, #0] 8047a82: e0a1 b.n 8047bc8 case FilterHP_IDT: menupos = FilterHP_IET; break; 8047a84: 4bb5 ldr r3, [pc, #724] ; (8047d5c ) 8047a86: 221a movs r2, #26 8047a88: 701a strb r2, [r3, #0] 8047a8a: e09d b.n 8047bc8 case FilterHP_IET: menupos = FilterHP_IES; break; 8047a8c: 4bb3 ldr r3, [pc, #716] ; (8047d5c ) 8047a8e: 221b movs r2, #27 8047a90: 701a strb r2, [r3, #0] 8047a92: e099 b.n 8047bc8 case FilterHP_IES: menupos = FilterHP_IED; break; 8047a94: 4bb1 ldr r3, [pc, #708] ; (8047d5c ) 8047a96: 221c movs r2, #28 8047a98: 701a strb r2, [r3, #0] 8047a9a: e095 b.n 8047bc8 case FilterHP_IED: menupos = FilterHP_IEE; break; 8047a9c: 4baf ldr r3, [pc, #700] ; (8047d5c ) 8047a9e: 221d movs r2, #29 8047aa0: 701a strb r2, [r3, #0] 8047aa2: e091 b.n 8047bc8 case FilterHP_IEE: menupos = FilterHP_IKD; break; 8047aa4: 4bad ldr r3, [pc, #692] ; (8047d5c ) 8047aa6: 221e movs r2, #30 8047aa8: 701a strb r2, [r3, #0] 8047aaa: e08d b.n 8047bc8 case FilterHP_IKD: menupos = FilterHP_IDT; break; 8047aac: 4bab ldr r3, [pc, #684] ; (8047d5c ) 8047aae: 2219 movs r2, #25 8047ab0: 701a strb r2, [r3, #0] 8047ab2: e089 b.n 8047bc8 case FilterLP_IDT: menupos = FilterLP_IET; break; 8047ab4: 4ba9 ldr r3, [pc, #676] ; (8047d5c ) 8047ab6: 2220 movs r2, #32 8047ab8: 701a strb r2, [r3, #0] 8047aba: e085 b.n 8047bc8 case FilterLP_IET: menupos = FilterLP_IES; break; 8047abc: 4ba7 ldr r3, [pc, #668] ; (8047d5c ) 8047abe: 2221 movs r2, #33 ; 0x21 8047ac0: 701a strb r2, [r3, #0] 8047ac2: e081 b.n 8047bc8 case FilterLP_IES: menupos = FilterLP_IED; break; 8047ac4: 4ba5 ldr r3, [pc, #660] ; (8047d5c ) 8047ac6: 2222 movs r2, #34 ; 0x22 8047ac8: 701a strb r2, [r3, #0] 8047aca: e07d b.n 8047bc8 case FilterLP_IED: menupos = FilterLP_IEE; break; 8047acc: 4ba3 ldr r3, [pc, #652] ; (8047d5c ) 8047ace: 2223 movs r2, #35 ; 0x23 8047ad0: 701a strb r2, [r3, #0] 8047ad2: e079 b.n 8047bc8 case FilterLP_IEE: menupos = FilterLP_IKD; break; 8047ad4: 4ba1 ldr r3, [pc, #644] ; (8047d5c ) 8047ad6: 2224 movs r2, #36 ; 0x24 8047ad8: 701a strb r2, [r3, #0] 8047ada: e075 b.n 8047bc8 case FilterLP_IKD: menupos = FilterLP_IDT; break; 8047adc: 4b9f ldr r3, [pc, #636] ; (8047d5c ) 8047ade: 221f movs r2, #31 8047ae0: 701a strb r2, [r3, #0] 8047ae2: e071 b.n 8047bc8 case ValueA: if(focused) 8047ae4: 4b9e ldr r3, [pc, #632] ; (8047d60 ) 8047ae6: 781b ldrb r3, [r3, #0] 8047ae8: b2db uxtb r3, r3 8047aea: 2b00 cmp r3, #0 8047aec: d010 beq.n 8047b10 { if(pardata.IVS[ACC] < EXCESS) pardata.IVS[ACC]++; 8047aee: 4b9d ldr r3, [pc, #628] ; (8047d64 ) 8047af0: 789b ldrb r3, [r3, #2] 8047af2: b2db uxtb r3, r3 8047af4: 2b03 cmp r3, #3 8047af6: d807 bhi.n 8047b08 8047af8: 4b9a ldr r3, [pc, #616] ; (8047d64 ) 8047afa: 789b ldrb r3, [r3, #2] 8047afc: b2db uxtb r3, r3 8047afe: 3301 adds r3, #1 8047b00: b2da uxtb r2, r3 8047b02: 4b98 ldr r3, [pc, #608] ; (8047d64 ) 8047b04: 709a strb r2, [r3, #2] else pardata.IVS[ACC] = PEAK; } else menupos = Ok; break; 8047b06: e05f b.n 8047bc8 else pardata.IVS[ACC] = PEAK; 8047b08: 4b96 ldr r3, [pc, #600] ; (8047d64 ) 8047b0a: 2200 movs r2, #0 8047b0c: 709a strb r2, [r3, #2] break; 8047b0e: e05b b.n 8047bc8 menupos = Ok; 8047b10: 4b92 ldr r3, [pc, #584] ; (8047d5c ) 8047b12: 2200 movs r2, #0 8047b14: 701a strb r2, [r3, #0] break; 8047b16: e057 b.n 8047bc8 case ValueV: if(focused) 8047b18: 4b91 ldr r3, [pc, #580] ; (8047d60 ) 8047b1a: 781b ldrb r3, [r3, #0] 8047b1c: b2db uxtb r3, r3 8047b1e: 2b00 cmp r3, #0 8047b20: d010 beq.n 8047b44 { if(pardata.IVS[VEL] < EXCESS) pardata.IVS[VEL]++; 8047b22: 4b90 ldr r3, [pc, #576] ; (8047d64 ) 8047b24: 78db ldrb r3, [r3, #3] 8047b26: b2db uxtb r3, r3 8047b28: 2b03 cmp r3, #3 8047b2a: d807 bhi.n 8047b3c 8047b2c: 4b8d ldr r3, [pc, #564] ; (8047d64 ) 8047b2e: 78db ldrb r3, [r3, #3] 8047b30: b2db uxtb r3, r3 8047b32: 3301 adds r3, #1 8047b34: b2da uxtb r2, r3 8047b36: 4b8b ldr r3, [pc, #556] ; (8047d64 ) 8047b38: 70da strb r2, [r3, #3] else pardata.IVS[VEL] = PEAK; } else menupos = Ok; break; 8047b3a: e045 b.n 8047bc8 else pardata.IVS[VEL] = PEAK; 8047b3c: 4b89 ldr r3, [pc, #548] ; (8047d64 ) 8047b3e: 2200 movs r2, #0 8047b40: 70da strb r2, [r3, #3] break; 8047b42: e041 b.n 8047bc8 menupos = Ok; 8047b44: 4b85 ldr r3, [pc, #532] ; (8047d5c ) 8047b46: 2200 movs r2, #0 8047b48: 701a strb r2, [r3, #0] break; 8047b4a: e03d b.n 8047bc8 case ValueS: if(focused) 8047b4c: 4b84 ldr r3, [pc, #528] ; (8047d60 ) 8047b4e: 781b ldrb r3, [r3, #0] 8047b50: b2db uxtb r3, r3 8047b52: 2b00 cmp r3, #0 8047b54: d010 beq.n 8047b78 { if(pardata.IVS[DIS] < EXCESS) pardata.IVS[DIS]++; 8047b56: 4b83 ldr r3, [pc, #524] ; (8047d64 ) 8047b58: 791b ldrb r3, [r3, #4] 8047b5a: b2db uxtb r3, r3 8047b5c: 2b03 cmp r3, #3 8047b5e: d807 bhi.n 8047b70 8047b60: 4b80 ldr r3, [pc, #512] ; (8047d64 ) 8047b62: 791b ldrb r3, [r3, #4] 8047b64: b2db uxtb r3, r3 8047b66: 3301 adds r3, #1 8047b68: b2da uxtb r2, r3 8047b6a: 4b7e ldr r3, [pc, #504] ; (8047d64 ) 8047b6c: 711a strb r2, [r3, #4] else pardata.IVS[DIS] = PEAK; } else menupos = Ok; break; 8047b6e: e02b b.n 8047bc8 else pardata.IVS[DIS] = PEAK; 8047b70: 4b7c ldr r3, [pc, #496] ; (8047d64 ) 8047b72: 2200 movs r2, #0 8047b74: 711a strb r2, [r3, #4] break; 8047b76: e027 b.n 8047bc8 menupos = Ok; 8047b78: 4b78 ldr r3, [pc, #480] ; (8047d5c ) 8047b7a: 2200 movs r2, #0 8047b7c: 701a strb r2, [r3, #0] break; 8047b7e: e023 b.n 8047bc8 case SaveToFile: memset(MeasFileName, 0, sizeof(MeasFileName)); 8047b80: 2221 movs r2, #33 ; 0x21 8047b82: 2100 movs r1, #0 8047b84: 4878 ldr r0, [pc, #480] ; (8047d68 ) 8047b86: f085 fa5f bl 80cd048 break; 8047b8a: e01d b.n 8047bc8 case Average: if(focused) 8047b8c: 4b74 ldr r3, [pc, #464] ; (8047d60 ) 8047b8e: 781b ldrb r3, [r3, #0] 8047b90: b2db uxtb r3, r3 8047b92: 2b00 cmp r3, #0 8047b94: d010 beq.n 8047bb8 { if(pardata.AVG < AVG512) pardata.AVG++; 8047b96: 4b73 ldr r3, [pc, #460] ; (8047d64 ) 8047b98: 7b5b ldrb r3, [r3, #13] 8047b9a: b2db uxtb r3, r3 8047b9c: 2b08 cmp r3, #8 8047b9e: d807 bhi.n 8047bb0 8047ba0: 4b70 ldr r3, [pc, #448] ; (8047d64 ) 8047ba2: 7b5b ldrb r3, [r3, #13] 8047ba4: b2db uxtb r3, r3 8047ba6: 3301 adds r3, #1 8047ba8: b2da uxtb r2, r3 8047baa: 4b6e ldr r3, [pc, #440] ; (8047d64 ) 8047bac: 735a strb r2, [r3, #13] else pardata.AVG = AVG1; } else menupos = Ok; break; 8047bae: e00b b.n 8047bc8 else pardata.AVG = AVG1; 8047bb0: 4b6c ldr r3, [pc, #432] ; (8047d64 ) 8047bb2: 2200 movs r2, #0 8047bb4: 735a strb r2, [r3, #13] break; 8047bb6: e007 b.n 8047bc8 menupos = Ok; 8047bb8: 4b68 ldr r3, [pc, #416] ; (8047d5c ) 8047bba: 2200 movs r2, #0 8047bbc: 701a strb r2, [r3, #0] break; 8047bbe: e003 b.n 8047bc8 case FilterLP: case ViewFreq: case VibAutoKu: case Mediana: case VibMax_ALL: menupos = Ok; 8047bc0: 4b66 ldr r3, [pc, #408] ; (8047d5c ) 8047bc2: 2200 movs r2, #0 8047bc4: 701a strb r2, [r3, #0] break; 8047bc6: bf00 nop } break; 8047bc8: f001 b978 b.w 8048ebc case PARAM_SPEC: switch(menupos) 8047bcc: 4b63 ldr r3, [pc, #396] ; (8047d5c ) 8047bce: 781b ldrb r3, [r3, #0] 8047bd0: b2db uxtb r3, r3 8047bd2: 3b01 subs r3, #1 8047bd4: 2b23 cmp r3, #35 ; 0x23 8047bd6: f201 8174 bhi.w 8048ec2 8047bda: a201 add r2, pc, #4 ; (adr r2, 8047be0 ) 8047bdc: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8047be0: 08047c7b .word 0x08047c7b 8047be4: 080481e1 .word 0x080481e1 8047be8: 08048ec3 .word 0x08048ec3 8047bec: 08048503 .word 0x08048503 8047bf0: 0804856b .word 0x0804856b 8047bf4: 08048537 .word 0x08048537 8047bf8: 08048597 .word 0x08048597 8047bfc: 08047c71 .word 0x08047c71 8047c00: 08047c71 .word 0x08047c71 8047c04: 08048ec3 .word 0x08048ec3 8047c08: 08048151 .word 0x08048151 8047c0c: 08048159 .word 0x08048159 8047c10: 08048161 .word 0x08048161 8047c14: 08048169 .word 0x08048169 8047c18: 08048171 .word 0x08048171 8047c1c: 08048179 .word 0x08048179 8047c20: 08048ec3 .word 0x08048ec3 8047c24: 08048ec3 .word 0x08048ec3 8047c28: 08048ec3 .word 0x08048ec3 8047c2c: 08048ec3 .word 0x08048ec3 8047c30: 08048ec3 .word 0x08048ec3 8047c34: 08048ec3 .word 0x08048ec3 8047c38: 08047c71 .word 0x08047c71 8047c3c: 08047c71 .word 0x08047c71 8047c40: 08048181 .word 0x08048181 8047c44: 08048189 .word 0x08048189 8047c48: 08048191 .word 0x08048191 8047c4c: 08048199 .word 0x08048199 8047c50: 080481a1 .word 0x080481a1 8047c54: 080481a9 .word 0x080481a9 8047c58: 080481b1 .word 0x080481b1 8047c5c: 080481b9 .word 0x080481b9 8047c60: 080481c1 .word 0x080481c1 8047c64: 080481c9 .word 0x080481c9 8047c68: 080481d1 .word 0x080481d1 8047c6c: 080481d9 .word 0x080481d9 { case VibMax_ALL: case VibAutoKu: case FilterHP: case FilterLP: menupos = Ok; 8047c70: 4b3a ldr r3, [pc, #232] ; (8047d5c ) 8047c72: 2200 movs r2, #0 8047c74: 701a strb r2, [r3, #0] break; 8047c76: f000 bca9 b.w 80485cc case SpecType: if(focused) 8047c7a: 4b39 ldr r3, [pc, #228] ; (8047d60 ) 8047c7c: 781b ldrb r3, [r3, #0] 8047c7e: b2db uxtb r3, r3 8047c80: 2b00 cmp r3, #0 8047c82: f000 8260 beq.w 8048146 { if((pardata.OPTIONS & maskFFT) == fft) 8047c86: 4b37 ldr r3, [pc, #220] ; (8047d64 ) 8047c88: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8047c8c: f003 0330 and.w r3, r3, #48 ; 0x30 8047c90: 2b00 cmp r3, #0 8047c92: f040 8086 bne.w 8047da2 { pardata.OPTIONS &= ~maskFFT; 8047c96: 4b33 ldr r3, [pc, #204] ; (8047d64 ) 8047c98: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8047c9c: f023 0330 bic.w r3, r3, #48 ; 0x30 8047ca0: 4a30 ldr r2, [pc, #192] ; (8047d64 ) 8047ca2: f8c2 3098 str.w r3, [r2, #152] ; 0x98 pardata.OPTIONS |= env; 8047ca6: 4b2f ldr r3, [pc, #188] ; (8047d64 ) 8047ca8: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8047cac: f043 0310 orr.w r3, r3, #16 8047cb0: 4a2c ldr r2, [pc, #176] ; (8047d64 ) 8047cb2: f8c2 3098 str.w r3, [r2, #152] ; 0x98 if(pardata.IVS[pardata.IPR] > RMS) 8047cb6: 4b2b ldr r3, [pc, #172] ; (8047d64 ) 8047cb8: 785b ldrb r3, [r3, #1] 8047cba: b2db uxtb r3, r3 8047cbc: 461a mov r2, r3 8047cbe: 4b29 ldr r3, [pc, #164] ; (8047d64 ) 8047cc0: 4413 add r3, r2 8047cc2: 789b ldrb r3, [r3, #2] 8047cc4: b2db uxtb r3, r3 8047cc6: 2b01 cmp r3, #1 8047cc8: d907 bls.n 8047cda pardata.IVS[pardata.IPR] = PEAK; 8047cca: 4b26 ldr r3, [pc, #152] ; (8047d64 ) 8047ccc: 785b ldrb r3, [r3, #1] 8047cce: b2db uxtb r3, r3 8047cd0: 461a mov r2, r3 8047cd2: 4b24 ldr r3, [pc, #144] ; (8047d64 ) 8047cd4: 4413 add r3, r2 8047cd6: 2200 movs r2, #0 8047cd8: 709a strb r2, [r3, #2] if((pardata.IPR > ACC) && (pardata.HP < 2.0f)) 8047cda: 4b22 ldr r3, [pc, #136] ; (8047d64 ) 8047cdc: 785b ldrb r3, [r3, #1] 8047cde: b2db uxtb r3, r3 8047ce0: 2b00 cmp r3, #0 8047ce2: d00e beq.n 8047d02 8047ce4: 4b1f ldr r3, [pc, #124] ; (8047d64 ) 8047ce6: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 8047cea: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 8047cee: eef4 7ac7 vcmpe.f32 s15, s14 8047cf2: eef1 fa10 vmrs APSR_nzcv, fpscr 8047cf6: d504 bpl.n 8047d02 pardata.HP = 2.0f; 8047cf8: 4b1a ldr r3, [pc, #104] ; (8047d64 ) 8047cfa: f04f 4280 mov.w r2, #1073741824 ; 0x40000000 8047cfe: f8c3 20d4 str.w r2, [r3, #212] ; 0xd4 k = _64000Hz; 8047d02: 2309 movs r3, #9 8047d04: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 while(k > _125Hz) 8047d08: e045 b.n 8047d96 { f = (float32_t) FS[k] / pardata.LP; 8047d0a: 4a18 ldr r2, [pc, #96] ; (8047d6c ) 8047d0c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8047d10: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8047d14: ee07 3a90 vmov s15, r3 8047d18: eef8 6a67 vcvt.f32.u32 s13, s15 8047d1c: 4b11 ldr r3, [pc, #68] ; (8047d64 ) 8047d1e: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 8047d22: eec6 7a87 vdiv.f32 s15, s13, s14 8047d26: edc7 7a2d vstr s15, [r7, #180] ; 0xb4 f += 0.0001f; 8047d2a: edd7 7a2d vldr s15, [r7, #180] ; 0xb4 8047d2e: ed9f 7a10 vldr s14, [pc, #64] ; 8047d70 8047d32: ee77 7a87 vadd.f32 s15, s15, s14 8047d36: edc7 7a2d vstr s15, [r7, #180] ; 0xb4 if(f < 5.0f) 8047d3a: edd7 7a2d vldr s15, [r7, #180] ; 0xb4 8047d3e: eeb1 7a04 vmov.f32 s14, #20 ; 0x40a00000 5.0 8047d42: eef4 7ac7 vcmpe.f32 s15, s14 8047d46: eef1 fa10 vmrs APSR_nzcv, fpscr 8047d4a: d513 bpl.n 8047d74 { pardata.FRQ = k + 1; 8047d4c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8047d50: b2db uxtb r3, r3 8047d52: 3301 adds r3, #1 8047d54: b2da uxtb r2, r3 8047d56: 4b03 ldr r3, [pc, #12] ; (8047d64 ) 8047d58: 72da strb r2, [r3, #11] break; 8047d5a: e1f8 b.n 804814e 8047d5c: 20020070 .word 0x20020070 8047d60: 20020f84 .word 0x20020f84 8047d64: 20023e60 .word 0x20023e60 8047d68: 20020e58 .word 0x20020e58 8047d6c: 080ee890 .word 0x080ee890 8047d70: 38d1b717 .word 0x38d1b717 } else { if(k > 0) 8047d74: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8047d78: 2b00 cmp r3, #0 8047d7a: d004 beq.n 8047d86 k--; 8047d7c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8047d80: 3b01 subs r3, #1 8047d82: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 if(k == 0) 8047d86: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8047d8a: 2b00 cmp r3, #0 8047d8c: d103 bne.n 8047d96 { pardata.FRQ = _125Hz; 8047d8e: 4ba9 ldr r3, [pc, #676] ; (8048034 ) 8047d90: 2200 movs r2, #0 8047d92: 72da strb r2, [r3, #11] break; 8047d94: e1db b.n 804814e while(k > _125Hz) 8047d96: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8047d9a: 2b00 cmp r3, #0 8047d9c: d1b5 bne.n 8047d0a } } } else menupos = Ok; break; 8047d9e: f000 bc14 b.w 80485ca if((pardata.OPTIONS & maskFFT) == env) 8047da2: 4ba4 ldr r3, [pc, #656] ; (8048034 ) 8047da4: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8047da8: f003 0330 and.w r3, r3, #48 ; 0x30 8047dac: 2b10 cmp r3, #16 8047dae: f040 80a0 bne.w 8047ef2 pardata.OPTIONS &= ~maskFFT; 8047db2: 4ba0 ldr r3, [pc, #640] ; (8048034 ) 8047db4: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8047db8: f023 0330 bic.w r3, r3, #48 ; 0x30 8047dbc: 4a9d ldr r2, [pc, #628] ; (8048034 ) 8047dbe: f8c2 3098 str.w r3, [r2, #152] ; 0x98 pardata.OPTIONS |= okt; 8047dc2: 4b9c ldr r3, [pc, #624] ; (8048034 ) 8047dc4: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8047dc8: f043 0320 orr.w r3, r3, #32 8047dcc: 4a99 ldr r2, [pc, #612] ; (8048034 ) 8047dce: f8c2 3098 str.w r3, [r2, #152] ; 0x98 if(pardata.IVS[pardata.IPR] > RMS) 8047dd2: 4b98 ldr r3, [pc, #608] ; (8048034 ) 8047dd4: 785b ldrb r3, [r3, #1] 8047dd6: b2db uxtb r3, r3 8047dd8: 461a mov r2, r3 8047dda: 4b96 ldr r3, [pc, #600] ; (8048034 ) 8047ddc: 4413 add r3, r2 8047dde: 789b ldrb r3, [r3, #2] 8047de0: b2db uxtb r3, r3 8047de2: 2b01 cmp r3, #1 8047de4: d907 bls.n 8047df6 pardata.IVS[pardata.IPR] = PEAK; 8047de6: 4b93 ldr r3, [pc, #588] ; (8048034 ) 8047de8: 785b ldrb r3, [r3, #1] 8047dea: b2db uxtb r3, r3 8047dec: 461a mov r2, r3 8047dee: 4b91 ldr r3, [pc, #580] ; (8048034 ) 8047df0: 4413 add r3, r2 8047df2: 2200 movs r2, #0 8047df4: 709a strb r2, [r3, #2] pardata.LNE = N3200; 8047df6: 4b8f ldr r3, [pc, #572] ; (8048034 ) 8047df8: 2203 movs r2, #3 8047dfa: 71da strb r2, [r3, #7] pardata.FRQ = _64000Hz; 8047dfc: 4b8d ldr r3, [pc, #564] ; (8048034 ) 8047dfe: 2209 movs r2, #9 8047e00: 72da strb r2, [r3, #11] if((pardata.IPR > ACC) && (pardata.HP < 2.0f)) 8047e02: 4b8c ldr r3, [pc, #560] ; (8048034 ) 8047e04: 785b ldrb r3, [r3, #1] 8047e06: b2db uxtb r3, r3 8047e08: 2b00 cmp r3, #0 8047e0a: d00e beq.n 8047e2a 8047e0c: 4b89 ldr r3, [pc, #548] ; (8048034 ) 8047e0e: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 8047e12: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 8047e16: eef4 7ac7 vcmpe.f32 s15, s14 8047e1a: eef1 fa10 vmrs APSR_nzcv, fpscr 8047e1e: d504 bpl.n 8047e2a pardata.HP = 2.0f; 8047e20: 4b84 ldr r3, [pc, #528] ; (8048034 ) 8047e22: f04f 4280 mov.w r2, #1073741824 ; 0x40000000 8047e26: f8c3 20d4 str.w r2, [r3, #212] ; 0xd4 if(pardata.HP > (((float32_t) FS[pardata.FRQ] / 5.0f) + 0.00005f)) 8047e2a: 4b82 ldr r3, [pc, #520] ; (8048034 ) 8047e2c: ed93 7a35 vldr s14, [r3, #212] ; 0xd4 8047e30: 4b80 ldr r3, [pc, #512] ; (8048034 ) 8047e32: 7adb ldrb r3, [r3, #11] 8047e34: b2db uxtb r3, r3 8047e36: 461a mov r2, r3 8047e38: 4b7f ldr r3, [pc, #508] ; (8048038 ) 8047e3a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8047e3e: ee07 3a90 vmov s15, r3 8047e42: eef8 6a67 vcvt.f32.u32 s13, s15 8047e46: eeb1 6a04 vmov.f32 s12, #20 ; 0x40a00000 5.0 8047e4a: eec6 7a86 vdiv.f32 s15, s13, s12 8047e4e: eddf 6a7b vldr s13, [pc, #492] ; 804803c 8047e52: ee77 7aa6 vadd.f32 s15, s15, s13 8047e56: eeb4 7ae7 vcmpe.f32 s14, s15 8047e5a: eef1 fa10 vmrs APSR_nzcv, fpscr 8047e5e: dd15 ble.n 8047e8c pardata.HP = (float32_t) (FS[pardata.FRQ] / 5) + 0.0001f; 8047e60: 4b74 ldr r3, [pc, #464] ; (8048034 ) 8047e62: 7adb ldrb r3, [r3, #11] 8047e64: b2db uxtb r3, r3 8047e66: 461a mov r2, r3 8047e68: 4b73 ldr r3, [pc, #460] ; (8048038 ) 8047e6a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8047e6e: 4a74 ldr r2, [pc, #464] ; (8048040 ) 8047e70: fba2 2303 umull r2, r3, r2, r3 8047e74: 089b lsrs r3, r3, #2 8047e76: ee07 3a90 vmov s15, r3 8047e7a: eef8 7a67 vcvt.f32.u32 s15, s15 8047e7e: ed9f 7a71 vldr s14, [pc, #452] ; 8048044 8047e82: ee77 7a87 vadd.f32 s15, s15, s14 8047e86: 4b6b ldr r3, [pc, #428] ; (8048034 ) 8047e88: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 if(pardata.LP > (((float32_t) FS[pardata.FRQ] / 5.0f) + 0.00005f)) 8047e8c: 4b69 ldr r3, [pc, #420] ; (8048034 ) 8047e8e: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 8047e92: 4b68 ldr r3, [pc, #416] ; (8048034 ) 8047e94: 7adb ldrb r3, [r3, #11] 8047e96: b2db uxtb r3, r3 8047e98: 461a mov r2, r3 8047e9a: 4b67 ldr r3, [pc, #412] ; (8048038 ) 8047e9c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8047ea0: ee07 3a90 vmov s15, r3 8047ea4: eef8 6a67 vcvt.f32.u32 s13, s15 8047ea8: eeb1 6a04 vmov.f32 s12, #20 ; 0x40a00000 5.0 8047eac: eec6 7a86 vdiv.f32 s15, s13, s12 8047eb0: eddf 6a62 vldr s13, [pc, #392] ; 804803c 8047eb4: ee77 7aa6 vadd.f32 s15, s15, s13 8047eb8: eeb4 7ae7 vcmpe.f32 s14, s15 8047ebc: eef1 fa10 vmrs APSR_nzcv, fpscr 8047ec0: dc00 bgt.n 8047ec4 break; 8047ec2: e382 b.n 80485ca pardata.LP = (float32_t) (FS[pardata.FRQ] / 5) + 0.0001f; 8047ec4: 4b5b ldr r3, [pc, #364] ; (8048034 ) 8047ec6: 7adb ldrb r3, [r3, #11] 8047ec8: b2db uxtb r3, r3 8047eca: 461a mov r2, r3 8047ecc: 4b5a ldr r3, [pc, #360] ; (8048038 ) 8047ece: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8047ed2: 4a5b ldr r2, [pc, #364] ; (8048040 ) 8047ed4: fba2 2303 umull r2, r3, r2, r3 8047ed8: 089b lsrs r3, r3, #2 8047eda: ee07 3a90 vmov s15, r3 8047ede: eef8 7a67 vcvt.f32.u32 s15, s15 8047ee2: ed9f 7a58 vldr s14, [pc, #352] ; 8048044 8047ee6: ee77 7a87 vadd.f32 s15, s15, s14 8047eea: 4b52 ldr r3, [pc, #328] ; (8048034 ) 8047eec: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 break; 8047ef0: e36b b.n 80485ca if((pardata.OPTIONS & maskFFT) == okt) 8047ef2: 4b50 ldr r3, [pc, #320] ; (8048034 ) 8047ef4: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8047ef8: f003 0330 and.w r3, r3, #48 ; 0x30 8047efc: 2b20 cmp r3, #32 8047efe: f040 80a3 bne.w 8048048 pardata.OPTIONS &= ~maskFFT; 8047f02: 4b4c ldr r3, [pc, #304] ; (8048034 ) 8047f04: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8047f08: f023 0330 bic.w r3, r3, #48 ; 0x30 8047f0c: 4a49 ldr r2, [pc, #292] ; (8048034 ) 8047f0e: f8c2 3098 str.w r3, [r2, #152] ; 0x98 pardata.OPTIONS |= third; 8047f12: 4b48 ldr r3, [pc, #288] ; (8048034 ) 8047f14: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8047f18: f043 0330 orr.w r3, r3, #48 ; 0x30 8047f1c: 4a45 ldr r2, [pc, #276] ; (8048034 ) 8047f1e: f8c2 3098 str.w r3, [r2, #152] ; 0x98 if(pardata.IVS[pardata.IPR] > RMS) 8047f22: 4b44 ldr r3, [pc, #272] ; (8048034 ) 8047f24: 785b ldrb r3, [r3, #1] 8047f26: b2db uxtb r3, r3 8047f28: 461a mov r2, r3 8047f2a: 4b42 ldr r3, [pc, #264] ; (8048034 ) 8047f2c: 4413 add r3, r2 8047f2e: 789b ldrb r3, [r3, #2] 8047f30: b2db uxtb r3, r3 8047f32: 2b01 cmp r3, #1 8047f34: d907 bls.n 8047f46 pardata.IVS[pardata.IPR] = PEAK; 8047f36: 4b3f ldr r3, [pc, #252] ; (8048034 ) 8047f38: 785b ldrb r3, [r3, #1] 8047f3a: b2db uxtb r3, r3 8047f3c: 461a mov r2, r3 8047f3e: 4b3d ldr r3, [pc, #244] ; (8048034 ) 8047f40: 4413 add r3, r2 8047f42: 2200 movs r2, #0 8047f44: 709a strb r2, [r3, #2] pardata.LNE = N3200; 8047f46: 4b3b ldr r3, [pc, #236] ; (8048034 ) 8047f48: 2203 movs r2, #3 8047f4a: 71da strb r2, [r3, #7] pardata.FRQ = _64000Hz; 8047f4c: 4b39 ldr r3, [pc, #228] ; (8048034 ) 8047f4e: 2209 movs r2, #9 8047f50: 72da strb r2, [r3, #11] if((pardata.IPR > ACC) && (pardata.HP < 2.0f)) 8047f52: 4b38 ldr r3, [pc, #224] ; (8048034 ) 8047f54: 785b ldrb r3, [r3, #1] 8047f56: b2db uxtb r3, r3 8047f58: 2b00 cmp r3, #0 8047f5a: d00e beq.n 8047f7a 8047f5c: 4b35 ldr r3, [pc, #212] ; (8048034 ) 8047f5e: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 8047f62: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 8047f66: eef4 7ac7 vcmpe.f32 s15, s14 8047f6a: eef1 fa10 vmrs APSR_nzcv, fpscr 8047f6e: d504 bpl.n 8047f7a pardata.HP = 2.0f; 8047f70: 4b30 ldr r3, [pc, #192] ; (8048034 ) 8047f72: f04f 4280 mov.w r2, #1073741824 ; 0x40000000 8047f76: f8c3 20d4 str.w r2, [r3, #212] ; 0xd4 if(pardata.HP > ((float32_t) FS[pardata.FRQ] / 10.0f)) 8047f7a: 4b2e ldr r3, [pc, #184] ; (8048034 ) 8047f7c: ed93 7a35 vldr s14, [r3, #212] ; 0xd4 8047f80: 4b2c ldr r3, [pc, #176] ; (8048034 ) 8047f82: 7adb ldrb r3, [r3, #11] 8047f84: b2db uxtb r3, r3 8047f86: 461a mov r2, r3 8047f88: 4b2b ldr r3, [pc, #172] ; (8048038 ) 8047f8a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8047f8e: ee07 3a90 vmov s15, r3 8047f92: eef8 6a67 vcvt.f32.u32 s13, s15 8047f96: eeb2 6a04 vmov.f32 s12, #36 ; 0x41200000 10.0 8047f9a: eec6 7a86 vdiv.f32 s15, s13, s12 8047f9e: eeb4 7ae7 vcmpe.f32 s14, s15 8047fa2: eef1 fa10 vmrs APSR_nzcv, fpscr 8047fa6: dd15 ble.n 8047fd4 pardata.HP = (float32_t) (FS[pardata.FRQ] / 10.0f) + 0.0001f; 8047fa8: 4b22 ldr r3, [pc, #136] ; (8048034 ) 8047faa: 7adb ldrb r3, [r3, #11] 8047fac: b2db uxtb r3, r3 8047fae: 461a mov r2, r3 8047fb0: 4b21 ldr r3, [pc, #132] ; (8048038 ) 8047fb2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8047fb6: ee07 3a90 vmov s15, r3 8047fba: eeb8 7a67 vcvt.f32.u32 s14, s15 8047fbe: eef2 6a04 vmov.f32 s13, #36 ; 0x41200000 10.0 8047fc2: eec7 7a26 vdiv.f32 s15, s14, s13 8047fc6: ed9f 7a1f vldr s14, [pc, #124] ; 8048044 8047fca: ee77 7a87 vadd.f32 s15, s15, s14 8047fce: 4b19 ldr r3, [pc, #100] ; (8048034 ) 8047fd0: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 if(pardata.LP > ((float32_t) FS[pardata.FRQ] / 10.0f)) 8047fd4: 4b17 ldr r3, [pc, #92] ; (8048034 ) 8047fd6: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 8047fda: 4b16 ldr r3, [pc, #88] ; (8048034 ) 8047fdc: 7adb ldrb r3, [r3, #11] 8047fde: b2db uxtb r3, r3 8047fe0: 461a mov r2, r3 8047fe2: 4b15 ldr r3, [pc, #84] ; (8048038 ) 8047fe4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8047fe8: ee07 3a90 vmov s15, r3 8047fec: eef8 6a67 vcvt.f32.u32 s13, s15 8047ff0: eeb2 6a04 vmov.f32 s12, #36 ; 0x41200000 10.0 8047ff4: eec6 7a86 vdiv.f32 s15, s13, s12 8047ff8: eeb4 7ae7 vcmpe.f32 s14, s15 8047ffc: eef1 fa10 vmrs APSR_nzcv, fpscr 8048000: dc00 bgt.n 8048004 break; 8048002: e2e2 b.n 80485ca pardata.LP = (float32_t) (FS[pardata.FRQ] / 10.0f) + 0.0001f; 8048004: 4b0b ldr r3, [pc, #44] ; (8048034 ) 8048006: 7adb ldrb r3, [r3, #11] 8048008: b2db uxtb r3, r3 804800a: 461a mov r2, r3 804800c: 4b0a ldr r3, [pc, #40] ; (8048038 ) 804800e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8048012: ee07 3a90 vmov s15, r3 8048016: eeb8 7a67 vcvt.f32.u32 s14, s15 804801a: eef2 6a04 vmov.f32 s13, #36 ; 0x41200000 10.0 804801e: eec7 7a26 vdiv.f32 s15, s14, s13 8048022: ed9f 7a08 vldr s14, [pc, #32] ; 8048044 8048026: ee77 7a87 vadd.f32 s15, s15, s14 804802a: 4b02 ldr r3, [pc, #8] ; (8048034 ) 804802c: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 break; 8048030: e2cb b.n 80485ca 8048032: bf00 nop 8048034: 20023e60 .word 0x20023e60 8048038: 080ee890 .word 0x080ee890 804803c: 3851b717 .word 0x3851b717 8048040: cccccccd .word 0xcccccccd 8048044: 38d1b717 .word 0x38d1b717 if((pardata.OPTIONS & maskFFT) == third) 8048048: 4bac ldr r3, [pc, #688] ; (80482fc ) 804804a: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 804804e: f003 0330 and.w r3, r3, #48 ; 0x30 8048052: 2b30 cmp r3, #48 ; 0x30 8048054: f040 82b9 bne.w 80485ca pardata.OPTIONS &= ~maskFFT; 8048058: 4ba8 ldr r3, [pc, #672] ; (80482fc ) 804805a: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 804805e: f023 0330 bic.w r3, r3, #48 ; 0x30 8048062: 4aa6 ldr r2, [pc, #664] ; (80482fc ) 8048064: f8c2 3098 str.w r3, [r2, #152] ; 0x98 pardata.OPTIONS |= fft; 8048068: 4ba4 ldr r3, [pc, #656] ; (80482fc ) 804806a: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 804806e: 4aa3 ldr r2, [pc, #652] ; (80482fc ) 8048070: f8c2 3098 str.w r3, [r2, #152] ; 0x98 if(pardata.IVS[pardata.IPR] > RMS) 8048074: 4ba1 ldr r3, [pc, #644] ; (80482fc ) 8048076: 785b ldrb r3, [r3, #1] 8048078: b2db uxtb r3, r3 804807a: 461a mov r2, r3 804807c: 4b9f ldr r3, [pc, #636] ; (80482fc ) 804807e: 4413 add r3, r2 8048080: 789b ldrb r3, [r3, #2] 8048082: b2db uxtb r3, r3 8048084: 2b01 cmp r3, #1 8048086: d907 bls.n 8048098 pardata.IVS[pardata.IPR] = PEAK; 8048088: 4b9c ldr r3, [pc, #624] ; (80482fc ) 804808a: 785b ldrb r3, [r3, #1] 804808c: b2db uxtb r3, r3 804808e: 461a mov r2, r3 8048090: 4b9a ldr r3, [pc, #616] ; (80482fc ) 8048092: 4413 add r3, r2 8048094: 2200 movs r2, #0 8048096: 709a strb r2, [r3, #2] if((pardata.IPR > ACC) && (pardata.HP < 2.0f)) 8048098: 4b98 ldr r3, [pc, #608] ; (80482fc ) 804809a: 785b ldrb r3, [r3, #1] 804809c: b2db uxtb r3, r3 804809e: 2b00 cmp r3, #0 80480a0: d00e beq.n 80480c0 80480a2: 4b96 ldr r3, [pc, #600] ; (80482fc ) 80480a4: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 80480a8: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 80480ac: eef4 7ac7 vcmpe.f32 s15, s14 80480b0: eef1 fa10 vmrs APSR_nzcv, fpscr 80480b4: d504 bpl.n 80480c0 pardata.HP = 2.0f; 80480b6: 4b91 ldr r3, [pc, #580] ; (80482fc ) 80480b8: f04f 4280 mov.w r2, #1073741824 ; 0x40000000 80480bc: f8c3 20d4 str.w r2, [r3, #212] ; 0xd4 k = _64000Hz; 80480c0: 2309 movs r3, #9 80480c2: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 while(k > _125Hz) 80480c6: e039 b.n 804813c f = (float32_t) FS[k] / pardata.LP; 80480c8: 4a8d ldr r2, [pc, #564] ; (8048300 ) 80480ca: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80480ce: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80480d2: ee07 3a90 vmov s15, r3 80480d6: eef8 6a67 vcvt.f32.u32 s13, s15 80480da: 4b88 ldr r3, [pc, #544] ; (80482fc ) 80480dc: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 80480e0: eec6 7a87 vdiv.f32 s15, s13, s14 80480e4: edc7 7a2d vstr s15, [r7, #180] ; 0xb4 f += 0.0001f; 80480e8: edd7 7a2d vldr s15, [r7, #180] ; 0xb4 80480ec: ed9f 7a85 vldr s14, [pc, #532] ; 8048304 80480f0: ee77 7a87 vadd.f32 s15, s15, s14 80480f4: edc7 7a2d vstr s15, [r7, #180] ; 0xb4 if(f < 5.0f) 80480f8: edd7 7a2d vldr s15, [r7, #180] ; 0xb4 80480fc: eeb1 7a04 vmov.f32 s14, #20 ; 0x40a00000 5.0 8048100: eef4 7ac7 vcmpe.f32 s15, s14 8048104: eef1 fa10 vmrs APSR_nzcv, fpscr 8048108: d507 bpl.n 804811a pardata.FRQ = k + 1; 804810a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804810e: b2db uxtb r3, r3 8048110: 3301 adds r3, #1 8048112: b2da uxtb r2, r3 8048114: 4b79 ldr r3, [pc, #484] ; (80482fc ) 8048116: 72da strb r2, [r3, #11] break; 8048118: e019 b.n 804814e if(k > 0) 804811a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804811e: 2b00 cmp r3, #0 8048120: d004 beq.n 804812c k--; 8048122: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8048126: 3b01 subs r3, #1 8048128: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 if(k == 0) 804812c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8048130: 2b00 cmp r3, #0 8048132: d103 bne.n 804813c pardata.FRQ = _125Hz; 8048134: 4b71 ldr r3, [pc, #452] ; (80482fc ) 8048136: 2200 movs r2, #0 8048138: 72da strb r2, [r3, #11] break; 804813a: e008 b.n 804814e while(k > _125Hz) 804813c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8048140: 2b00 cmp r3, #0 8048142: d1c1 bne.n 80480c8 break; 8048144: e241 b.n 80485ca menupos = Ok; 8048146: 4b70 ldr r3, [pc, #448] ; (8048308 ) 8048148: 2200 movs r2, #0 804814a: 701a strb r2, [r3, #0] break; 804814c: e23d b.n 80485ca 804814e: e23c b.n 80485ca case VibMax_IDT: menupos = VibMax_IET; break; 8048150: 4b6d ldr r3, [pc, #436] ; (8048308 ) 8048152: 220c movs r2, #12 8048154: 701a strb r2, [r3, #0] 8048156: e239 b.n 80485cc case VibMax_IET: menupos = VibMax_IES; break; 8048158: 4b6b ldr r3, [pc, #428] ; (8048308 ) 804815a: 220d movs r2, #13 804815c: 701a strb r2, [r3, #0] 804815e: e235 b.n 80485cc case VibMax_IES: menupos = VibMax_IED; break; 8048160: 4b69 ldr r3, [pc, #420] ; (8048308 ) 8048162: 220e movs r2, #14 8048164: 701a strb r2, [r3, #0] 8048166: e231 b.n 80485cc case VibMax_IED: menupos = VibMax_IEE; break; 8048168: 4b67 ldr r3, [pc, #412] ; (8048308 ) 804816a: 220f movs r2, #15 804816c: 701a strb r2, [r3, #0] 804816e: e22d b.n 80485cc case VibMax_IEE: menupos = VibMax_IKD; break; 8048170: 4b65 ldr r3, [pc, #404] ; (8048308 ) 8048172: 2210 movs r2, #16 8048174: 701a strb r2, [r3, #0] 8048176: e229 b.n 80485cc case VibMax_IKD: menupos = VibMax_IDT; break; 8048178: 4b63 ldr r3, [pc, #396] ; (8048308 ) 804817a: 220b movs r2, #11 804817c: 701a strb r2, [r3, #0] 804817e: e225 b.n 80485cc case FilterHP_IDT: menupos = FilterHP_IET; break; 8048180: 4b61 ldr r3, [pc, #388] ; (8048308 ) 8048182: 221a movs r2, #26 8048184: 701a strb r2, [r3, #0] 8048186: e221 b.n 80485cc case FilterHP_IET: menupos = FilterHP_IES; break; 8048188: 4b5f ldr r3, [pc, #380] ; (8048308 ) 804818a: 221b movs r2, #27 804818c: 701a strb r2, [r3, #0] 804818e: e21d b.n 80485cc case FilterHP_IES: menupos = FilterHP_IED; break; 8048190: 4b5d ldr r3, [pc, #372] ; (8048308 ) 8048192: 221c movs r2, #28 8048194: 701a strb r2, [r3, #0] 8048196: e219 b.n 80485cc case FilterHP_IED: menupos = FilterHP_IEE; break; 8048198: 4b5b ldr r3, [pc, #364] ; (8048308 ) 804819a: 221d movs r2, #29 804819c: 701a strb r2, [r3, #0] 804819e: e215 b.n 80485cc case FilterHP_IEE: menupos = FilterHP_IKD; break; 80481a0: 4b59 ldr r3, [pc, #356] ; (8048308 ) 80481a2: 221e movs r2, #30 80481a4: 701a strb r2, [r3, #0] 80481a6: e211 b.n 80485cc case FilterHP_IKD: menupos = FilterHP_IDT; break; 80481a8: 4b57 ldr r3, [pc, #348] ; (8048308 ) 80481aa: 2219 movs r2, #25 80481ac: 701a strb r2, [r3, #0] 80481ae: e20d b.n 80485cc case FilterLP_IDT: menupos = FilterLP_IET; break; 80481b0: 4b55 ldr r3, [pc, #340] ; (8048308 ) 80481b2: 2220 movs r2, #32 80481b4: 701a strb r2, [r3, #0] 80481b6: e209 b.n 80485cc case FilterLP_IET: menupos = FilterLP_IES; break; 80481b8: 4b53 ldr r3, [pc, #332] ; (8048308 ) 80481ba: 2221 movs r2, #33 ; 0x21 80481bc: 701a strb r2, [r3, #0] 80481be: e205 b.n 80485cc case FilterLP_IES: menupos = FilterLP_IED; break; 80481c0: 4b51 ldr r3, [pc, #324] ; (8048308 ) 80481c2: 2222 movs r2, #34 ; 0x22 80481c4: 701a strb r2, [r3, #0] 80481c6: e201 b.n 80485cc case FilterLP_IED: menupos = FilterLP_IEE; break; 80481c8: 4b4f ldr r3, [pc, #316] ; (8048308 ) 80481ca: 2223 movs r2, #35 ; 0x23 80481cc: 701a strb r2, [r3, #0] 80481ce: e1fd b.n 80485cc case FilterLP_IEE: menupos = FilterLP_IKD; break; 80481d0: 4b4d ldr r3, [pc, #308] ; (8048308 ) 80481d2: 2224 movs r2, #36 ; 0x24 80481d4: 701a strb r2, [r3, #0] 80481d6: e1f9 b.n 80485cc case FilterLP_IKD: menupos = FilterLP_IDT; break; 80481d8: 4b4b ldr r3, [pc, #300] ; (8048308 ) 80481da: 221f movs r2, #31 80481dc: 701a strb r2, [r3, #0] 80481de: e1f5 b.n 80485cc case SpecValue: if(focused) 80481e0: 4b4a ldr r3, [pc, #296] ; (804830c ) 80481e2: 781b ldrb r3, [r3, #0] 80481e4: b2db uxtb r3, r3 80481e6: 2b00 cmp r3, #0 80481e8: f000 8187 beq.w 80484fa { if((pardata.IPR == ACC) && (pardata.IVS[pardata.IPR] == PEAK)) 80481ec: 4b43 ldr r3, [pc, #268] ; (80482fc ) 80481ee: 785b ldrb r3, [r3, #1] 80481f0: b2db uxtb r3, r3 80481f2: 2b00 cmp r3, #0 80481f4: d115 bne.n 8048222 80481f6: 4b41 ldr r3, [pc, #260] ; (80482fc ) 80481f8: 785b ldrb r3, [r3, #1] 80481fa: b2db uxtb r3, r3 80481fc: 461a mov r2, r3 80481fe: 4b3f ldr r3, [pc, #252] ; (80482fc ) 8048200: 4413 add r3, r2 8048202: 789b ldrb r3, [r3, #2] 8048204: b2db uxtb r3, r3 8048206: 2b00 cmp r3, #0 8048208: d10b bne.n 8048222 { pardata.IPR = ACC; 804820a: 4b3c ldr r3, [pc, #240] ; (80482fc ) 804820c: 2200 movs r2, #0 804820e: 705a strb r2, [r3, #1] pardata.IVS[pardata.IPR] = RMS; 8048210: 4b3a ldr r3, [pc, #232] ; (80482fc ) 8048212: 785b ldrb r3, [r3, #1] 8048214: b2db uxtb r3, r3 8048216: 461a mov r2, r3 8048218: 4b38 ldr r3, [pc, #224] ; (80482fc ) 804821a: 4413 add r3, r2 804821c: 2201 movs r2, #1 804821e: 709a strb r2, [r3, #2] 8048220: e090 b.n 8048344 } else if((pardata.IPR == ACC) && (pardata.IVS[pardata.IPR] == RMS)) 8048222: 4b36 ldr r3, [pc, #216] ; (80482fc ) 8048224: 785b ldrb r3, [r3, #1] 8048226: b2db uxtb r3, r3 8048228: 2b00 cmp r3, #0 804822a: d115 bne.n 8048258 804822c: 4b33 ldr r3, [pc, #204] ; (80482fc ) 804822e: 785b ldrb r3, [r3, #1] 8048230: b2db uxtb r3, r3 8048232: 461a mov r2, r3 8048234: 4b31 ldr r3, [pc, #196] ; (80482fc ) 8048236: 4413 add r3, r2 8048238: 789b ldrb r3, [r3, #2] 804823a: b2db uxtb r3, r3 804823c: 2b01 cmp r3, #1 804823e: d10b bne.n 8048258 { pardata.IPR = VEL; 8048240: 4b2e ldr r3, [pc, #184] ; (80482fc ) 8048242: 2201 movs r2, #1 8048244: 705a strb r2, [r3, #1] pardata.IVS[pardata.IPR] = PEAK; 8048246: 4b2d ldr r3, [pc, #180] ; (80482fc ) 8048248: 785b ldrb r3, [r3, #1] 804824a: b2db uxtb r3, r3 804824c: 461a mov r2, r3 804824e: 4b2b ldr r3, [pc, #172] ; (80482fc ) 8048250: 4413 add r3, r2 8048252: 2200 movs r2, #0 8048254: 709a strb r2, [r3, #2] 8048256: e075 b.n 8048344 } else if((pardata.IPR == VEL) && (pardata.IVS[pardata.IPR] == PEAK)) 8048258: 4b28 ldr r3, [pc, #160] ; (80482fc ) 804825a: 785b ldrb r3, [r3, #1] 804825c: b2db uxtb r3, r3 804825e: 2b01 cmp r3, #1 8048260: d115 bne.n 804828e 8048262: 4b26 ldr r3, [pc, #152] ; (80482fc ) 8048264: 785b ldrb r3, [r3, #1] 8048266: b2db uxtb r3, r3 8048268: 461a mov r2, r3 804826a: 4b24 ldr r3, [pc, #144] ; (80482fc ) 804826c: 4413 add r3, r2 804826e: 789b ldrb r3, [r3, #2] 8048270: b2db uxtb r3, r3 8048272: 2b00 cmp r3, #0 8048274: d10b bne.n 804828e { pardata.IPR = VEL; 8048276: 4b21 ldr r3, [pc, #132] ; (80482fc ) 8048278: 2201 movs r2, #1 804827a: 705a strb r2, [r3, #1] pardata.IVS[pardata.IPR] = RMS; 804827c: 4b1f ldr r3, [pc, #124] ; (80482fc ) 804827e: 785b ldrb r3, [r3, #1] 8048280: b2db uxtb r3, r3 8048282: 461a mov r2, r3 8048284: 4b1d ldr r3, [pc, #116] ; (80482fc ) 8048286: 4413 add r3, r2 8048288: 2201 movs r2, #1 804828a: 709a strb r2, [r3, #2] 804828c: e05a b.n 8048344 } else if((pardata.IPR == VEL) && (pardata.IVS[pardata.IPR] == RMS)) 804828e: 4b1b ldr r3, [pc, #108] ; (80482fc ) 8048290: 785b ldrb r3, [r3, #1] 8048292: b2db uxtb r3, r3 8048294: 2b01 cmp r3, #1 8048296: d115 bne.n 80482c4 8048298: 4b18 ldr r3, [pc, #96] ; (80482fc ) 804829a: 785b ldrb r3, [r3, #1] 804829c: b2db uxtb r3, r3 804829e: 461a mov r2, r3 80482a0: 4b16 ldr r3, [pc, #88] ; (80482fc ) 80482a2: 4413 add r3, r2 80482a4: 789b ldrb r3, [r3, #2] 80482a6: b2db uxtb r3, r3 80482a8: 2b01 cmp r3, #1 80482aa: d10b bne.n 80482c4 { pardata.IPR = DIS; 80482ac: 4b13 ldr r3, [pc, #76] ; (80482fc ) 80482ae: 2202 movs r2, #2 80482b0: 705a strb r2, [r3, #1] pardata.IVS[pardata.IPR] = PEAK; 80482b2: 4b12 ldr r3, [pc, #72] ; (80482fc ) 80482b4: 785b ldrb r3, [r3, #1] 80482b6: b2db uxtb r3, r3 80482b8: 461a mov r2, r3 80482ba: 4b10 ldr r3, [pc, #64] ; (80482fc ) 80482bc: 4413 add r3, r2 80482be: 2200 movs r2, #0 80482c0: 709a strb r2, [r3, #2] 80482c2: e03f b.n 8048344 } else if((pardata.IPR == DIS) && (pardata.IVS[pardata.IPR] == PEAK)) 80482c4: 4b0d ldr r3, [pc, #52] ; (80482fc ) 80482c6: 785b ldrb r3, [r3, #1] 80482c8: b2db uxtb r3, r3 80482ca: 2b02 cmp r3, #2 80482cc: d120 bne.n 8048310 80482ce: 4b0b ldr r3, [pc, #44] ; (80482fc ) 80482d0: 785b ldrb r3, [r3, #1] 80482d2: b2db uxtb r3, r3 80482d4: 461a mov r2, r3 80482d6: 4b09 ldr r3, [pc, #36] ; (80482fc ) 80482d8: 4413 add r3, r2 80482da: 789b ldrb r3, [r3, #2] 80482dc: b2db uxtb r3, r3 80482de: 2b00 cmp r3, #0 80482e0: d116 bne.n 8048310 { pardata.IPR = DIS; 80482e2: 4b06 ldr r3, [pc, #24] ; (80482fc ) 80482e4: 2202 movs r2, #2 80482e6: 705a strb r2, [r3, #1] pardata.IVS[pardata.IPR] = RMS; 80482e8: 4b04 ldr r3, [pc, #16] ; (80482fc ) 80482ea: 785b ldrb r3, [r3, #1] 80482ec: b2db uxtb r3, r3 80482ee: 461a mov r2, r3 80482f0: 4b02 ldr r3, [pc, #8] ; (80482fc ) 80482f2: 4413 add r3, r2 80482f4: 2201 movs r2, #1 80482f6: 709a strb r2, [r3, #2] 80482f8: e024 b.n 8048344 80482fa: bf00 nop 80482fc: 20023e60 .word 0x20023e60 8048300: 080ee890 .word 0x080ee890 8048304: 38d1b717 .word 0x38d1b717 8048308: 20020070 .word 0x20020070 804830c: 20020f84 .word 0x20020f84 } else if((pardata.IPR == DIS) && (pardata.IVS[pardata.IPR] == RMS)) 8048310: 4baf ldr r3, [pc, #700] ; (80485d0 ) 8048312: 785b ldrb r3, [r3, #1] 8048314: b2db uxtb r3, r3 8048316: 2b02 cmp r3, #2 8048318: d114 bne.n 8048344 804831a: 4bad ldr r3, [pc, #692] ; (80485d0 ) 804831c: 785b ldrb r3, [r3, #1] 804831e: b2db uxtb r3, r3 8048320: 461a mov r2, r3 8048322: 4bab ldr r3, [pc, #684] ; (80485d0 ) 8048324: 4413 add r3, r2 8048326: 789b ldrb r3, [r3, #2] 8048328: b2db uxtb r3, r3 804832a: 2b01 cmp r3, #1 804832c: d10a bne.n 8048344 { pardata.IPR = ACC; 804832e: 4ba8 ldr r3, [pc, #672] ; (80485d0 ) 8048330: 2200 movs r2, #0 8048332: 705a strb r2, [r3, #1] pardata.IVS[pardata.IPR] = PEAK; 8048334: 4ba6 ldr r3, [pc, #664] ; (80485d0 ) 8048336: 785b ldrb r3, [r3, #1] 8048338: b2db uxtb r3, r3 804833a: 461a mov r2, r3 804833c: 4ba4 ldr r3, [pc, #656] ; (80485d0 ) 804833e: 4413 add r3, r2 8048340: 2200 movs r2, #0 8048342: 709a strb r2, [r3, #2] } if(pardata.IPR > ACC) 8048344: 4ba2 ldr r3, [pc, #648] ; (80485d0 ) 8048346: 785b ldrb r3, [r3, #1] 8048348: b2db uxtb r3, r3 804834a: 2b00 cmp r3, #0 804834c: d00e beq.n 804836c { if(pardata.HP < 2.0f) 804834e: 4ba0 ldr r3, [pc, #640] ; (80485d0 ) 8048350: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 8048354: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 8048358: eef4 7ac7 vcmpe.f32 s15, s14 804835c: eef1 fa10 vmrs APSR_nzcv, fpscr 8048360: d504 bpl.n 804836c pardata.HP = 2.0f; 8048362: 4b9b ldr r3, [pc, #620] ; (80485d0 ) 8048364: f04f 4280 mov.w r2, #1073741824 ; 0x40000000 8048368: f8c3 20d4 str.w r2, [r3, #212] ; 0xd4 } if((pardata.OPTIONS & maskFFT) < third) 804836c: 4b98 ldr r3, [pc, #608] ; (80485d0 ) 804836e: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8048372: f003 0330 and.w r3, r3, #48 ; 0x30 8048376: 2b2f cmp r3, #47 ; 0x2f 8048378: d863 bhi.n 8048442 { if(pardata.HP > (((float32_t) FS[pardata.FRQ] / 5.0f) + 0.00005f)) 804837a: 4b95 ldr r3, [pc, #596] ; (80485d0 ) 804837c: ed93 7a35 vldr s14, [r3, #212] ; 0xd4 8048380: 4b93 ldr r3, [pc, #588] ; (80485d0 ) 8048382: 7adb ldrb r3, [r3, #11] 8048384: b2db uxtb r3, r3 8048386: 461a mov r2, r3 8048388: 4b92 ldr r3, [pc, #584] ; (80485d4 ) 804838a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 804838e: ee07 3a90 vmov s15, r3 8048392: eef8 6a67 vcvt.f32.u32 s13, s15 8048396: eeb1 6a04 vmov.f32 s12, #20 ; 0x40a00000 5.0 804839a: eec6 7a86 vdiv.f32 s15, s13, s12 804839e: eddf 6a8e vldr s13, [pc, #568] ; 80485d8 80483a2: ee77 7aa6 vadd.f32 s15, s15, s13 80483a6: eeb4 7ae7 vcmpe.f32 s14, s15 80483aa: eef1 fa10 vmrs APSR_nzcv, fpscr 80483ae: dd15 ble.n 80483dc pardata.HP = (float32_t) (FS[pardata.FRQ] / 5) + 0.0001f; 80483b0: 4b87 ldr r3, [pc, #540] ; (80485d0 ) 80483b2: 7adb ldrb r3, [r3, #11] 80483b4: b2db uxtb r3, r3 80483b6: 461a mov r2, r3 80483b8: 4b86 ldr r3, [pc, #536] ; (80485d4 ) 80483ba: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80483be: 4a87 ldr r2, [pc, #540] ; (80485dc ) 80483c0: fba2 2303 umull r2, r3, r2, r3 80483c4: 089b lsrs r3, r3, #2 80483c6: ee07 3a90 vmov s15, r3 80483ca: eef8 7a67 vcvt.f32.u32 s15, s15 80483ce: ed9f 7a84 vldr s14, [pc, #528] ; 80485e0 80483d2: ee77 7a87 vadd.f32 s15, s15, s14 80483d6: 4b7e ldr r3, [pc, #504] ; (80485d0 ) 80483d8: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 if(pardata.LP > (((float32_t) FS[pardata.FRQ] / 5.0f) + 0.00005f)) 80483dc: 4b7c ldr r3, [pc, #496] ; (80485d0 ) 80483de: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 80483e2: 4b7b ldr r3, [pc, #492] ; (80485d0 ) 80483e4: 7adb ldrb r3, [r3, #11] 80483e6: b2db uxtb r3, r3 80483e8: 461a mov r2, r3 80483ea: 4b7a ldr r3, [pc, #488] ; (80485d4 ) 80483ec: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80483f0: ee07 3a90 vmov s15, r3 80483f4: eef8 6a67 vcvt.f32.u32 s13, s15 80483f8: eeb1 6a04 vmov.f32 s12, #20 ; 0x40a00000 5.0 80483fc: eec6 7a86 vdiv.f32 s15, s13, s12 8048400: eddf 6a75 vldr s13, [pc, #468] ; 80485d8 8048404: ee77 7aa6 vadd.f32 s15, s15, s13 8048408: eeb4 7ae7 vcmpe.f32 s14, s15 804840c: eef1 fa10 vmrs APSR_nzcv, fpscr 8048410: dc00 bgt.n 8048414 pardata.LP = (float32_t) (FS[pardata.FRQ] / 10.0f) + 0.0001f; } } else menupos = Ok; break; 8048412: e0db b.n 80485cc pardata.LP = (float32_t) (FS[pardata.FRQ] / 5) + 0.0001f; 8048414: 4b6e ldr r3, [pc, #440] ; (80485d0 ) 8048416: 7adb ldrb r3, [r3, #11] 8048418: b2db uxtb r3, r3 804841a: 461a mov r2, r3 804841c: 4b6d ldr r3, [pc, #436] ; (80485d4 ) 804841e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8048422: 4a6e ldr r2, [pc, #440] ; (80485dc ) 8048424: fba2 2303 umull r2, r3, r2, r3 8048428: 089b lsrs r3, r3, #2 804842a: ee07 3a90 vmov s15, r3 804842e: eef8 7a67 vcvt.f32.u32 s15, s15 8048432: ed9f 7a6b vldr s14, [pc, #428] ; 80485e0 8048436: ee77 7a87 vadd.f32 s15, s15, s14 804843a: 4b65 ldr r3, [pc, #404] ; (80485d0 ) 804843c: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 break; 8048440: e0c4 b.n 80485cc if(pardata.HP > ((float32_t) FS[pardata.FRQ] / 10.0f)) 8048442: 4b63 ldr r3, [pc, #396] ; (80485d0 ) 8048444: ed93 7a35 vldr s14, [r3, #212] ; 0xd4 8048448: 4b61 ldr r3, [pc, #388] ; (80485d0 ) 804844a: 7adb ldrb r3, [r3, #11] 804844c: b2db uxtb r3, r3 804844e: 461a mov r2, r3 8048450: 4b60 ldr r3, [pc, #384] ; (80485d4 ) 8048452: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8048456: ee07 3a90 vmov s15, r3 804845a: eef8 6a67 vcvt.f32.u32 s13, s15 804845e: eeb2 6a04 vmov.f32 s12, #36 ; 0x41200000 10.0 8048462: eec6 7a86 vdiv.f32 s15, s13, s12 8048466: eeb4 7ae7 vcmpe.f32 s14, s15 804846a: eef1 fa10 vmrs APSR_nzcv, fpscr 804846e: dd15 ble.n 804849c pardata.HP = (float32_t) (FS[pardata.FRQ] / 10.0f) + 0.0001f; 8048470: 4b57 ldr r3, [pc, #348] ; (80485d0 ) 8048472: 7adb ldrb r3, [r3, #11] 8048474: b2db uxtb r3, r3 8048476: 461a mov r2, r3 8048478: 4b56 ldr r3, [pc, #344] ; (80485d4 ) 804847a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 804847e: ee07 3a90 vmov s15, r3 8048482: eeb8 7a67 vcvt.f32.u32 s14, s15 8048486: eef2 6a04 vmov.f32 s13, #36 ; 0x41200000 10.0 804848a: eec7 7a26 vdiv.f32 s15, s14, s13 804848e: ed9f 7a54 vldr s14, [pc, #336] ; 80485e0 8048492: ee77 7a87 vadd.f32 s15, s15, s14 8048496: 4b4e ldr r3, [pc, #312] ; (80485d0 ) 8048498: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 if(pardata.LP > ((float32_t) FS[pardata.FRQ] / 10.0f)) 804849c: 4b4c ldr r3, [pc, #304] ; (80485d0 ) 804849e: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 80484a2: 4b4b ldr r3, [pc, #300] ; (80485d0 ) 80484a4: 7adb ldrb r3, [r3, #11] 80484a6: b2db uxtb r3, r3 80484a8: 461a mov r2, r3 80484aa: 4b4a ldr r3, [pc, #296] ; (80485d4 ) 80484ac: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80484b0: ee07 3a90 vmov s15, r3 80484b4: eef8 6a67 vcvt.f32.u32 s13, s15 80484b8: eeb2 6a04 vmov.f32 s12, #36 ; 0x41200000 10.0 80484bc: eec6 7a86 vdiv.f32 s15, s13, s12 80484c0: eeb4 7ae7 vcmpe.f32 s14, s15 80484c4: eef1 fa10 vmrs APSR_nzcv, fpscr 80484c8: dc00 bgt.n 80484cc break; 80484ca: e07f b.n 80485cc pardata.LP = (float32_t) (FS[pardata.FRQ] / 10.0f) + 0.0001f; 80484cc: 4b40 ldr r3, [pc, #256] ; (80485d0 ) 80484ce: 7adb ldrb r3, [r3, #11] 80484d0: b2db uxtb r3, r3 80484d2: 461a mov r2, r3 80484d4: 4b3f ldr r3, [pc, #252] ; (80485d4 ) 80484d6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80484da: ee07 3a90 vmov s15, r3 80484de: eeb8 7a67 vcvt.f32.u32 s14, s15 80484e2: eef2 6a04 vmov.f32 s13, #36 ; 0x41200000 10.0 80484e6: eec7 7a26 vdiv.f32 s15, s14, s13 80484ea: ed9f 7a3d vldr s14, [pc, #244] ; 80485e0 80484ee: ee77 7a87 vadd.f32 s15, s15, s14 80484f2: 4b37 ldr r3, [pc, #220] ; (80485d0 ) 80484f4: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 break; 80484f8: e068 b.n 80485cc menupos = Ok; 80484fa: 4b3a ldr r3, [pc, #232] ; (80485e4 ) 80484fc: 2200 movs r2, #0 80484fe: 701a strb r2, [r3, #0] break; 8048500: e064 b.n 80485cc case SpecLines: if(focused) 8048502: 4b39 ldr r3, [pc, #228] ; (80485e8 ) 8048504: 781b ldrb r3, [r3, #0] 8048506: b2db uxtb r3, r3 8048508: 2b00 cmp r3, #0 804850a: d010 beq.n 804852e { if(pardata.LNE > N400) pardata.LNE--; 804850c: 4b30 ldr r3, [pc, #192] ; (80485d0 ) 804850e: 79db ldrb r3, [r3, #7] 8048510: b2db uxtb r3, r3 8048512: 2b00 cmp r3, #0 8048514: d007 beq.n 8048526 8048516: 4b2e ldr r3, [pc, #184] ; (80485d0 ) 8048518: 79db ldrb r3, [r3, #7] 804851a: b2db uxtb r3, r3 804851c: 3b01 subs r3, #1 804851e: b2da uxtb r2, r3 8048520: 4b2b ldr r3, [pc, #172] ; (80485d0 ) 8048522: 71da strb r2, [r3, #7] else pardata.LNE = N3200; } else menupos = Ok; break; 8048524: e052 b.n 80485cc else pardata.LNE = N3200; 8048526: 4b2a ldr r3, [pc, #168] ; (80485d0 ) 8048528: 2203 movs r2, #3 804852a: 71da strb r2, [r3, #7] break; 804852c: e04e b.n 80485cc menupos = Ok; 804852e: 4b2d ldr r3, [pc, #180] ; (80485e4 ) 8048530: 2200 movs r2, #0 8048532: 701a strb r2, [r3, #0] break; 8048534: e04a b.n 80485cc case SpecWin: if(focused) 8048536: 4b2c ldr r3, [pc, #176] ; (80485e8 ) 8048538: 781b ldrb r3, [r3, #0] 804853a: b2db uxtb r3, r3 804853c: 2b00 cmp r3, #0 804853e: d010 beq.n 8048562 { if(pardata.WIN < HANN) pardata.WIN++; 8048540: 4b23 ldr r3, [pc, #140] ; (80485d0 ) 8048542: 7a5b ldrb r3, [r3, #9] 8048544: b2db uxtb r3, r3 8048546: 2b00 cmp r3, #0 8048548: d107 bne.n 804855a 804854a: 4b21 ldr r3, [pc, #132] ; (80485d0 ) 804854c: 7a5b ldrb r3, [r3, #9] 804854e: b2db uxtb r3, r3 8048550: 3301 adds r3, #1 8048552: b2da uxtb r2, r3 8048554: 4b1e ldr r3, [pc, #120] ; (80485d0 ) 8048556: 725a strb r2, [r3, #9] else pardata.WIN = RECT; } else menupos = Ok; break; 8048558: e038 b.n 80485cc else pardata.WIN = RECT; 804855a: 4b1d ldr r3, [pc, #116] ; (80485d0 ) 804855c: 2200 movs r2, #0 804855e: 725a strb r2, [r3, #9] break; 8048560: e034 b.n 80485cc menupos = Ok; 8048562: 4b20 ldr r3, [pc, #128] ; (80485e4 ) 8048564: 2200 movs r2, #0 8048566: 701a strb r2, [r3, #0] break; 8048568: e030 b.n 80485cc case LinLog: if(focused) 804856a: 4b1f ldr r3, [pc, #124] ; (80485e8 ) 804856c: 781b ldrb r3, [r3, #0] 804856e: b2db uxtb r3, r3 8048570: 2b00 cmp r3, #0 8048572: d00c beq.n 804858e { if(pardata.MSH == LOG) pardata.MSH = LIN; 8048574: 4b16 ldr r3, [pc, #88] ; (80485d0 ) 8048576: 7a9b ldrb r3, [r3, #10] 8048578: b2db uxtb r3, r3 804857a: 2b01 cmp r3, #1 804857c: d103 bne.n 8048586 804857e: 4b14 ldr r3, [pc, #80] ; (80485d0 ) 8048580: 2200 movs r2, #0 8048582: 729a strb r2, [r3, #10] else pardata.MSH = LOG; } else menupos = Ok; break; 8048584: e022 b.n 80485cc else pardata.MSH = LOG; 8048586: 4b12 ldr r3, [pc, #72] ; (80485d0 ) 8048588: 2201 movs r2, #1 804858a: 729a strb r2, [r3, #10] break; 804858c: e01e b.n 80485cc menupos = Ok; 804858e: 4b15 ldr r3, [pc, #84] ; (80485e4 ) 8048590: 2200 movs r2, #0 8048592: 701a strb r2, [r3, #0] break; 8048594: e01a b.n 80485cc case SAverage: if(focused) 8048596: 4b14 ldr r3, [pc, #80] ; (80485e8 ) 8048598: 781b ldrb r3, [r3, #0] 804859a: b2db uxtb r3, r3 804859c: 2b00 cmp r3, #0 804859e: d010 beq.n 80485c2 { if(pardata.AVG < AVG512) pardata.AVG++; 80485a0: 4b0b ldr r3, [pc, #44] ; (80485d0 ) 80485a2: 7b5b ldrb r3, [r3, #13] 80485a4: b2db uxtb r3, r3 80485a6: 2b08 cmp r3, #8 80485a8: d807 bhi.n 80485ba 80485aa: 4b09 ldr r3, [pc, #36] ; (80485d0 ) 80485ac: 7b5b ldrb r3, [r3, #13] 80485ae: b2db uxtb r3, r3 80485b0: 3301 adds r3, #1 80485b2: b2da uxtb r2, r3 80485b4: 4b06 ldr r3, [pc, #24] ; (80485d0 ) 80485b6: 735a strb r2, [r3, #13] else pardata.AVG = AVG1; } else menupos = Ok; break; 80485b8: e008 b.n 80485cc else pardata.AVG = AVG1; 80485ba: 4b05 ldr r3, [pc, #20] ; (80485d0 ) 80485bc: 2200 movs r2, #0 80485be: 735a strb r2, [r3, #13] break; 80485c0: e004 b.n 80485cc menupos = Ok; 80485c2: 4b08 ldr r3, [pc, #32] ; (80485e4 ) 80485c4: 2200 movs r2, #0 80485c6: 701a strb r2, [r3, #0] break; 80485c8: e000 b.n 80485cc break; 80485ca: bf00 nop } break; 80485cc: f000 bc79 b.w 8048ec2 80485d0: 20023e60 .word 0x20023e60 80485d4: 080ee890 .word 0x080ee890 80485d8: 3851b717 .word 0x3851b717 80485dc: cccccccd .word 0xcccccccd 80485e0: 38d1b717 .word 0x38d1b717 80485e4: 20020070 .word 0x20020070 80485e8: 20020f84 .word 0x20020f84 case PARAM_OSC: switch(menupos) 80485ec: 4bc4 ldr r3, [pc, #784] ; (8048900 ) 80485ee: 781b ldrb r3, [r3, #0] 80485f0: b2db uxtb r3, r3 80485f2: 3b01 subs r3, #1 80485f4: 2b23 cmp r3, #35 ; 0x23 80485f6: f200 8467 bhi.w 8048ec8 80485fa: a201 add r2, pc, #4 ; (adr r2, 8048600 ) 80485fc: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8048600: 08048691 .word 0x08048691 8048604: 08048ec9 .word 0x08048ec9 8048608: 080487eb .word 0x080487eb 804860c: 0804889b .word 0x0804889b 8048610: 080489b5 .word 0x080489b5 8048614: 080489b5 .word 0x080489b5 8048618: 080489b5 .word 0x080489b5 804861c: 080489b5 .word 0x080489b5 8048620: 08048955 .word 0x08048955 8048624: 0804895d .word 0x0804895d 8048628: 08048965 .word 0x08048965 804862c: 0804896d .word 0x0804896d 8048630: 08048975 .word 0x08048975 8048634: 0804897d .word 0x0804897d 8048638: 08048985 .word 0x08048985 804863c: 0804898d .word 0x0804898d 8048640: 08048995 .word 0x08048995 8048644: 0804899d .word 0x0804899d 8048648: 080489a5 .word 0x080489a5 804864c: 080489ad .word 0x080489ad 8048650: 08048ec9 .word 0x08048ec9 8048654: 08048ec9 .word 0x08048ec9 8048658: 080489b5 .word 0x080489b5 804865c: 080489b5 .word 0x080489b5 8048660: 080488cf .word 0x080488cf 8048664: 080488d7 .word 0x080488d7 8048668: 080488df .word 0x080488df 804866c: 080488e7 .word 0x080488e7 8048670: 08048915 .word 0x08048915 8048674: 0804891d .word 0x0804891d 8048678: 08048925 .word 0x08048925 804867c: 0804892d .word 0x0804892d 8048680: 08048935 .word 0x08048935 8048684: 0804893d .word 0x0804893d 8048688: 08048945 .word 0x08048945 804868c: 0804894d .word 0x0804894d { case OscValue: if(focused) 8048690: 4b9c ldr r3, [pc, #624] ; (8048904 ) 8048692: 781b ldrb r3, [r3, #0] 8048694: b2db uxtb r3, r3 8048696: 2b00 cmp r3, #0 8048698: f000 80a3 beq.w 80487e2 { if(pardata.IPR < DIS) pardata.IPR++; 804869c: 4b9a ldr r3, [pc, #616] ; (8048908 ) 804869e: 785b ldrb r3, [r3, #1] 80486a0: b2db uxtb r3, r3 80486a2: 2b01 cmp r3, #1 80486a4: d807 bhi.n 80486b6 80486a6: 4b98 ldr r3, [pc, #608] ; (8048908 ) 80486a8: 785b ldrb r3, [r3, #1] 80486aa: b2db uxtb r3, r3 80486ac: 3301 adds r3, #1 80486ae: b2da uxtb r2, r3 80486b0: 4b95 ldr r3, [pc, #596] ; (8048908 ) 80486b2: 705a strb r2, [r3, #1] 80486b4: e002 b.n 80486bc else pardata.IPR = ACC; 80486b6: 4b94 ldr r3, [pc, #592] ; (8048908 ) 80486b8: 2200 movs r2, #0 80486ba: 705a strb r2, [r3, #1] if(pardata.IPR > ACC) 80486bc: 4b92 ldr r3, [pc, #584] ; (8048908 ) 80486be: 785b ldrb r3, [r3, #1] 80486c0: b2db uxtb r3, r3 80486c2: 2b00 cmp r3, #0 80486c4: d01b beq.n 80486fe { if(pardata.HP < 2.0f) 80486c6: 4b90 ldr r3, [pc, #576] ; (8048908 ) 80486c8: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 80486cc: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 80486d0: eef4 7ac7 vcmpe.f32 s15, s14 80486d4: eef1 fa10 vmrs APSR_nzcv, fpscr 80486d8: d504 bpl.n 80486e4 pardata.HP = 2.0f; 80486da: 4b8b ldr r3, [pc, #556] ; (8048908 ) 80486dc: f04f 4280 mov.w r2, #1073741824 ; 0x40000000 80486e0: f8c3 20d4 str.w r2, [r3, #212] ; 0xd4 } while((((float64_t) FS[pardata.FRQ]) / ((float64_t) pardata.LP) + 0.00005f) < 5.0) 80486e4: e00b b.n 80486fe { if(pardata.FRQ < _64000Hz) 80486e6: 4b88 ldr r3, [pc, #544] ; (8048908 ) 80486e8: 7adb ldrb r3, [r3, #11] 80486ea: b2db uxtb r3, r3 80486ec: 2b08 cmp r3, #8 80486ee: d824 bhi.n 804873a pardata.FRQ++; 80486f0: 4b85 ldr r3, [pc, #532] ; (8048908 ) 80486f2: 7adb ldrb r3, [r3, #11] 80486f4: b2db uxtb r3, r3 80486f6: 3301 adds r3, #1 80486f8: b2da uxtb r2, r3 80486fa: 4b83 ldr r3, [pc, #524] ; (8048908 ) 80486fc: 72da strb r2, [r3, #11] while((((float64_t) FS[pardata.FRQ]) / ((float64_t) pardata.LP) + 0.00005f) < 5.0) 80486fe: 4b82 ldr r3, [pc, #520] ; (8048908 ) 8048700: 7adb ldrb r3, [r3, #11] 8048702: b2db uxtb r3, r3 8048704: 461a mov r2, r3 8048706: 4b81 ldr r3, [pc, #516] ; (804890c ) 8048708: f853 3022 ldr.w r3, [r3, r2, lsl #2] 804870c: ee07 3a90 vmov s15, r3 8048710: eeb8 5b67 vcvt.f64.u32 d5, s15 8048714: 4b7c ldr r3, [pc, #496] ; (8048908 ) 8048716: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 804871a: eeb7 6ae7 vcvt.f64.f32 d6, s15 804871e: ee85 7b06 vdiv.f64 d7, d5, d6 8048722: ed9f 6b73 vldr d6, [pc, #460] ; 80488f0 8048726: ee37 7b06 vadd.f64 d7, d7, d6 804872a: eeb1 6b04 vmov.f64 d6, #20 ; 0x40a00000 5.0 804872e: eeb4 7bc6 vcmpe.f64 d7, d6 8048732: eef1 fa10 vmrs APSR_nzcv, fpscr 8048736: d4d6 bmi.n 80486e6 8048738: e000 b.n 804873c else break; 804873a: bf00 nop } if((((float64_t) FS[pardata.FRQ]) / ((float64_t) pardata.LP) + 0.00005f) < 5.0) 804873c: 4b72 ldr r3, [pc, #456] ; (8048908 ) 804873e: 7adb ldrb r3, [r3, #11] 8048740: b2db uxtb r3, r3 8048742: 461a mov r2, r3 8048744: 4b71 ldr r3, [pc, #452] ; (804890c ) 8048746: f853 3022 ldr.w r3, [r3, r2, lsl #2] 804874a: ee07 3a90 vmov s15, r3 804874e: eeb8 5b67 vcvt.f64.u32 d5, s15 8048752: 4b6d ldr r3, [pc, #436] ; (8048908 ) 8048754: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 8048758: eeb7 6ae7 vcvt.f64.f32 d6, s15 804875c: ee85 7b06 vdiv.f64 d7, d5, d6 8048760: ed9f 6b63 vldr d6, [pc, #396] ; 80488f0 8048764: ee37 7b06 vadd.f64 d7, d7, d6 8048768: eeb1 6b04 vmov.f64 d6, #20 ; 0x40a00000 5.0 804876c: eeb4 7bc6 vcmpe.f64 d7, d6 8048770: eef1 fa10 vmrs APSR_nzcv, fpscr 8048774: d51f bpl.n 80487b6 { pardata.LP = (float32_t) (FS[pardata.FRQ] / 5); 8048776: 4b64 ldr r3, [pc, #400] ; (8048908 ) 8048778: 7adb ldrb r3, [r3, #11] 804877a: b2db uxtb r3, r3 804877c: 461a mov r2, r3 804877e: 4b63 ldr r3, [pc, #396] ; (804890c ) 8048780: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8048784: 4a62 ldr r2, [pc, #392] ; (8048910 ) 8048786: fba2 2303 umull r2, r3, r2, r3 804878a: 089b lsrs r3, r3, #2 804878c: ee07 3a90 vmov s15, r3 8048790: eef8 7a67 vcvt.f32.u32 s15, s15 8048794: 4b5c ldr r3, [pc, #368] ; (8048908 ) 8048796: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 pardata.LP += 0.0001; 804879a: 4b5b ldr r3, [pc, #364] ; (8048908 ) 804879c: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 80487a0: eeb7 7ae7 vcvt.f64.f32 d7, s15 80487a4: ed9f 6b54 vldr d6, [pc, #336] ; 80488f8 80487a8: ee37 7b06 vadd.f64 d7, d7, d6 80487ac: eef7 7bc7 vcvt.f32.f64 s15, d7 80487b0: 4b55 ldr r3, [pc, #340] ; (8048908 ) 80487b2: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 } if((pardata.IPR > ACC) && (pardata.THR & 0x80)) 80487b6: 4b54 ldr r3, [pc, #336] ; (8048908 ) 80487b8: 785b ldrb r3, [r3, #1] 80487ba: b2db uxtb r3, r3 80487bc: 2b00 cmp r3, #0 80487be: f000 80fd beq.w 80489bc 80487c2: 4b51 ldr r3, [pc, #324] ; (8048908 ) 80487c4: 7bdb ldrb r3, [r3, #15] 80487c6: b2db uxtb r3, r3 80487c8: b25b sxtb r3, r3 80487ca: 2b00 cmp r3, #0 80487cc: f280 80f6 bge.w 80489bc pardata.THR &= 0x7f; 80487d0: 4b4d ldr r3, [pc, #308] ; (8048908 ) 80487d2: 7bdb ldrb r3, [r3, #15] 80487d4: b2db uxtb r3, r3 80487d6: f003 037f and.w r3, r3, #127 ; 0x7f 80487da: b2da uxtb r2, r3 80487dc: 4b4a ldr r3, [pc, #296] ; (8048908 ) 80487de: 73da strb r2, [r3, #15] } else menupos = Ok; break; 80487e0: e0ec b.n 80489bc menupos = Ok; 80487e2: 4b47 ldr r3, [pc, #284] ; (8048900 ) 80487e4: 2200 movs r2, #0 80487e6: 701a strb r2, [r3, #0] break; 80487e8: e0e8 b.n 80489bc case OscRate: if(focused) 80487ea: 4b46 ldr r3, [pc, #280] ; (8048904 ) 80487ec: 781b ldrb r3, [r3, #0] 80487ee: b2db uxtb r3, r3 80487f0: 2b00 cmp r3, #0 80487f2: d04e beq.n 8048892 { if(pardata.FRQ < _64000Hz) pardata.FRQ++; 80487f4: 4b44 ldr r3, [pc, #272] ; (8048908 ) 80487f6: 7adb ldrb r3, [r3, #11] 80487f8: b2db uxtb r3, r3 80487fa: 2b08 cmp r3, #8 80487fc: d807 bhi.n 804880e 80487fe: 4b42 ldr r3, [pc, #264] ; (8048908 ) 8048800: 7adb ldrb r3, [r3, #11] 8048802: b2db uxtb r3, r3 8048804: 3301 adds r3, #1 8048806: b2da uxtb r2, r3 8048808: 4b3f ldr r3, [pc, #252] ; (8048908 ) 804880a: 72da strb r2, [r3, #11] 804880c: e002 b.n 8048814 else pardata.FRQ = _125Hz; 804880e: 4b3e ldr r3, [pc, #248] ; (8048908 ) 8048810: 2200 movs r2, #0 8048812: 72da strb r2, [r3, #11] if(pardata.FRQ < _64000Hz) pardata.FRQ++; else break; }*/ if((((float64_t) FS[pardata.FRQ]) / ((float64_t) pardata.LP) + 0.00005f) < 5.0) 8048814: 4b3c ldr r3, [pc, #240] ; (8048908 ) 8048816: 7adb ldrb r3, [r3, #11] 8048818: b2db uxtb r3, r3 804881a: 461a mov r2, r3 804881c: 4b3b ldr r3, [pc, #236] ; (804890c ) 804881e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8048822: ee07 3a90 vmov s15, r3 8048826: eeb8 5b67 vcvt.f64.u32 d5, s15 804882a: 4b37 ldr r3, [pc, #220] ; (8048908 ) 804882c: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 8048830: eeb7 6ae7 vcvt.f64.f32 d6, s15 8048834: ee85 7b06 vdiv.f64 d7, d5, d6 8048838: ed9f 6b2d vldr d6, [pc, #180] ; 80488f0 804883c: ee37 7b06 vadd.f64 d7, d7, d6 8048840: eeb1 6b04 vmov.f64 d6, #20 ; 0x40a00000 5.0 8048844: eeb4 7bc6 vcmpe.f64 d7, d6 8048848: eef1 fa10 vmrs APSR_nzcv, fpscr 804884c: d400 bmi.n 8048850 } } else menupos = Ok; break; 804884e: e0b6 b.n 80489be pardata.LP = (float32_t) (FS[pardata.FRQ] / 5); 8048850: 4b2d ldr r3, [pc, #180] ; (8048908 ) 8048852: 7adb ldrb r3, [r3, #11] 8048854: b2db uxtb r3, r3 8048856: 461a mov r2, r3 8048858: 4b2c ldr r3, [pc, #176] ; (804890c ) 804885a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 804885e: 4a2c ldr r2, [pc, #176] ; (8048910 ) 8048860: fba2 2303 umull r2, r3, r2, r3 8048864: 089b lsrs r3, r3, #2 8048866: ee07 3a90 vmov s15, r3 804886a: eef8 7a67 vcvt.f32.u32 s15, s15 804886e: 4b26 ldr r3, [pc, #152] ; (8048908 ) 8048870: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 pardata.LP += 0.0001; 8048874: 4b24 ldr r3, [pc, #144] ; (8048908 ) 8048876: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 804887a: eeb7 7ae7 vcvt.f64.f32 d7, s15 804887e: ed9f 6b1e vldr d6, [pc, #120] ; 80488f8 8048882: ee37 7b06 vadd.f64 d7, d7, d6 8048886: eef7 7bc7 vcvt.f32.f64 s15, d7 804888a: 4b1f ldr r3, [pc, #124] ; (8048908 ) 804888c: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 break; 8048890: e095 b.n 80489be menupos = Ok; 8048892: 4b1b ldr r3, [pc, #108] ; (8048900 ) 8048894: 2200 movs r2, #0 8048896: 701a strb r2, [r3, #0] break; 8048898: e091 b.n 80489be case OscLen: if(focused) 804889a: 4b1a ldr r3, [pc, #104] ; (8048904 ) 804889c: 781b ldrb r3, [r3, #0] 804889e: b2db uxtb r3, r3 80488a0: 2b00 cmp r3, #0 80488a2: d010 beq.n 80488c6 { if(pardata.LNE < N6400) pardata.LNE++; 80488a4: 4b18 ldr r3, [pc, #96] ; (8048908 ) 80488a6: 79db ldrb r3, [r3, #7] 80488a8: b2db uxtb r3, r3 80488aa: 2b03 cmp r3, #3 80488ac: d807 bhi.n 80488be 80488ae: 4b16 ldr r3, [pc, #88] ; (8048908 ) 80488b0: 79db ldrb r3, [r3, #7] 80488b2: b2db uxtb r3, r3 80488b4: 3301 adds r3, #1 80488b6: b2da uxtb r2, r3 80488b8: 4b13 ldr r3, [pc, #76] ; (8048908 ) 80488ba: 71da strb r2, [r3, #7] else pardata.LNE = N400; } else menupos = Ok; break; 80488bc: e07f b.n 80489be else pardata.LNE = N400; 80488be: 4b12 ldr r3, [pc, #72] ; (8048908 ) 80488c0: 2200 movs r2, #0 80488c2: 71da strb r2, [r3, #7] break; 80488c4: e07b b.n 80489be menupos = Ok; 80488c6: 4b0e ldr r3, [pc, #56] ; (8048900 ) 80488c8: 2200 movs r2, #0 80488ca: 701a strb r2, [r3, #0] break; 80488cc: e077 b.n 80489be case FilterHP_IDT: menupos = FilterHP_IET; break; 80488ce: 4b0c ldr r3, [pc, #48] ; (8048900 ) 80488d0: 221a movs r2, #26 80488d2: 701a strb r2, [r3, #0] 80488d4: e073 b.n 80489be case FilterHP_IET: menupos = FilterHP_IES; break; 80488d6: 4b0a ldr r3, [pc, #40] ; (8048900 ) 80488d8: 221b movs r2, #27 80488da: 701a strb r2, [r3, #0] 80488dc: e06f b.n 80489be case FilterHP_IES: menupos = FilterHP_IED; break; 80488de: 4b08 ldr r3, [pc, #32] ; (8048900 ) 80488e0: 221c movs r2, #28 80488e2: 701a strb r2, [r3, #0] 80488e4: e06b b.n 80489be case FilterHP_IED: menupos = FilterHP_IEE; break; 80488e6: 4b06 ldr r3, [pc, #24] ; (8048900 ) 80488e8: 221d movs r2, #29 80488ea: 701a strb r2, [r3, #0] 80488ec: e067 b.n 80489be 80488ee: bf00 nop 80488f0: e0000000 .word 0xe0000000 80488f4: 3f0a36e2 .word 0x3f0a36e2 80488f8: eb1c432d .word 0xeb1c432d 80488fc: 3f1a36e2 .word 0x3f1a36e2 8048900: 20020070 .word 0x20020070 8048904: 20020f84 .word 0x20020f84 8048908: 20023e60 .word 0x20023e60 804890c: 080ee890 .word 0x080ee890 8048910: cccccccd .word 0xcccccccd case FilterHP_IEE: menupos = FilterHP_IKD; break; 8048914: 4bad ldr r3, [pc, #692] ; (8048bcc ) 8048916: 221e movs r2, #30 8048918: 701a strb r2, [r3, #0] 804891a: e050 b.n 80489be case FilterHP_IKD: menupos = FilterHP_IDT; break; 804891c: 4bab ldr r3, [pc, #684] ; (8048bcc ) 804891e: 2219 movs r2, #25 8048920: 701a strb r2, [r3, #0] 8048922: e04c b.n 80489be case FilterLP_IDT: menupos = FilterLP_IET; break; 8048924: 4ba9 ldr r3, [pc, #676] ; (8048bcc ) 8048926: 2220 movs r2, #32 8048928: 701a strb r2, [r3, #0] 804892a: e048 b.n 80489be case FilterLP_IET: menupos = FilterLP_IES; break; 804892c: 4ba7 ldr r3, [pc, #668] ; (8048bcc ) 804892e: 2221 movs r2, #33 ; 0x21 8048930: 701a strb r2, [r3, #0] 8048932: e044 b.n 80489be case FilterLP_IES: menupos = FilterLP_IED; break; 8048934: 4ba5 ldr r3, [pc, #660] ; (8048bcc ) 8048936: 2222 movs r2, #34 ; 0x22 8048938: 701a strb r2, [r3, #0] 804893a: e040 b.n 80489be case FilterLP_IED: menupos = FilterLP_IEE; break; 804893c: 4ba3 ldr r3, [pc, #652] ; (8048bcc ) 804893e: 2223 movs r2, #35 ; 0x23 8048940: 701a strb r2, [r3, #0] 8048942: e03c b.n 80489be case FilterLP_IEE: menupos = FilterLP_IKD; break; 8048944: 4ba1 ldr r3, [pc, #644] ; (8048bcc ) 8048946: 2224 movs r2, #36 ; 0x24 8048948: 701a strb r2, [r3, #0] 804894a: e038 b.n 80489be case FilterLP_IKD: menupos = FilterLP_IDT; break; 804894c: 4b9f ldr r3, [pc, #636] ; (8048bcc ) 804894e: 221f movs r2, #31 8048950: 701a strb r2, [r3, #0] 8048952: e034 b.n 80489be case OscThr_IDT: menupos = OscThr_IET; 8048954: 4b9d ldr r3, [pc, #628] ; (8048bcc ) 8048956: 220a movs r2, #10 8048958: 701a strb r2, [r3, #0] break; 804895a: e030 b.n 80489be case OscThr_IET: menupos = OscThr_IES; 804895c: 4b9b ldr r3, [pc, #620] ; (8048bcc ) 804895e: 220b movs r2, #11 8048960: 701a strb r2, [r3, #0] break; 8048962: e02c b.n 80489be case OscThr_IES: menupos = OscThr_IED; 8048964: 4b99 ldr r3, [pc, #612] ; (8048bcc ) 8048966: 220c movs r2, #12 8048968: 701a strb r2, [r3, #0] break; 804896a: e028 b.n 80489be case OscThr_IED: menupos = OscThr_IEE; 804896c: 4b97 ldr r3, [pc, #604] ; (8048bcc ) 804896e: 220d movs r2, #13 8048970: 701a strb r2, [r3, #0] break; 8048972: e024 b.n 80489be case OscThr_IEE: menupos = OscThr_IKD; 8048974: 4b95 ldr r3, [pc, #596] ; (8048bcc ) 8048976: 220e movs r2, #14 8048978: 701a strb r2, [r3, #0] break; 804897a: e020 b.n 80489be case OscThr_IKD: menupos = OscThr_IDT; 804897c: 4b93 ldr r3, [pc, #588] ; (8048bcc ) 804897e: 2209 movs r2, #9 8048980: 701a strb r2, [r3, #0] break; 8048982: e01c b.n 80489be case OscMax_IDT: menupos = OscMax_IET; 8048984: 4b91 ldr r3, [pc, #580] ; (8048bcc ) 8048986: 2210 movs r2, #16 8048988: 701a strb r2, [r3, #0] break; 804898a: e018 b.n 80489be case OscMax_IET: menupos = OscMax_IES; 804898c: 4b8f ldr r3, [pc, #572] ; (8048bcc ) 804898e: 2211 movs r2, #17 8048990: 701a strb r2, [r3, #0] break; 8048992: e014 b.n 80489be case OscMax_IES: menupos = OscMax_IED; 8048994: 4b8d ldr r3, [pc, #564] ; (8048bcc ) 8048996: 2212 movs r2, #18 8048998: 701a strb r2, [r3, #0] break; 804899a: e010 b.n 80489be case OscMax_IED: menupos = OscMax_IEE; 804899c: 4b8b ldr r3, [pc, #556] ; (8048bcc ) 804899e: 2213 movs r2, #19 80489a0: 701a strb r2, [r3, #0] break; 80489a2: e00c b.n 80489be case OscMax_IEE: menupos = OscMax_IKD; 80489a4: 4b89 ldr r3, [pc, #548] ; (8048bcc ) 80489a6: 2214 movs r2, #20 80489a8: 701a strb r2, [r3, #0] break; 80489aa: e008 b.n 80489be case OscMax_IKD: menupos = OscMax_IDT; 80489ac: 4b87 ldr r3, [pc, #540] ; (8048bcc ) 80489ae: 220f movs r2, #15 80489b0: 701a strb r2, [r3, #0] break; 80489b2: e004 b.n 80489be case OscThr: case OscMax_ALL: case OscThr_ALL: case FilterHP: case FilterLP: menupos = Ok; 80489b4: 4b85 ldr r3, [pc, #532] ; (8048bcc ) 80489b6: 2200 movs r2, #0 80489b8: 701a strb r2, [r3, #0] break; 80489ba: e000 b.n 80489be break; 80489bc: bf00 nop } break; 80489be: e283 b.n 8048ec8 case ROUTE_MAP: //RT switch(menupos) 80489c0: 4b82 ldr r3, [pc, #520] ; (8048bcc ) 80489c2: 781b ldrb r3, [r3, #0] 80489c4: b2db uxtb r3, r3 80489c6: 2b0e cmp r3, #14 80489c8: f200 8281 bhi.w 8048ece 80489cc: a201 add r2, pc, #4 ; (adr r2, 80489d4 ) 80489ce: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80489d2: bf00 nop 80489d4: 08048a8d .word 0x08048a8d 80489d8: 08048a95 .word 0x08048a95 80489dc: 08048a9d .word 0x08048a9d 80489e0: 08048a85 .word 0x08048a85 80489e4: 08048a11 .word 0x08048a11 80489e8: 08048a85 .word 0x08048a85 80489ec: 08048a85 .word 0x08048a85 80489f0: 08048a55 .word 0x08048a55 80489f4: 08048a5d .word 0x08048a5d 80489f8: 08048a65 .word 0x08048a65 80489fc: 08048a6d .word 0x08048a6d 8048a00: 08048a75 .word 0x08048a75 8048a04: 08048a7d .word 0x08048a7d 8048a08: 08048a45 .word 0x08048a45 8048a0c: 08048a4d .word 0x08048a4d { case RouteTime: if(focused) 8048a10: 4b6f ldr r3, [pc, #444] ; (8048bd0 ) 8048a12: 781b ldrb r3, [r3, #0] 8048a14: b2db uxtb r3, r3 8048a16: 2b00 cmp r3, #0 8048a18: d010 beq.n 8048a3c { if(pardata.TME < HOUR2) pardata.TME++; 8048a1a: 4b6e ldr r3, [pc, #440] ; (8048bd4 ) 8048a1c: 7b9b ldrb r3, [r3, #14] 8048a1e: b2db uxtb r3, r3 8048a20: 2b08 cmp r3, #8 8048a22: d807 bhi.n 8048a34 8048a24: 4b6b ldr r3, [pc, #428] ; (8048bd4 ) 8048a26: 7b9b ldrb r3, [r3, #14] 8048a28: b2db uxtb r3, r3 8048a2a: 3301 adds r3, #1 8048a2c: b2da uxtb r2, r3 8048a2e: 4b69 ldr r3, [pc, #420] ; (8048bd4 ) 8048a30: 739a strb r2, [r3, #14] else pardata.TME = CONTINUOUS; } else menupos = GoMeas; break; 8048a32: e037 b.n 8048aa4 else pardata.TME = CONTINUOUS; 8048a34: 4b67 ldr r3, [pc, #412] ; (8048bd4 ) 8048a36: 2200 movs r2, #0 8048a38: 739a strb r2, [r3, #14] break; 8048a3a: e033 b.n 8048aa4 menupos = GoMeas; 8048a3c: 4b63 ldr r3, [pc, #396] ; (8048bcc ) 8048a3e: 2201 movs r2, #1 8048a40: 701a strb r2, [r3, #0] break; 8048a42: e02f b.n 8048aa4 case RouteNullYes: menupos = RouteNullNo; 8048a44: 4b61 ldr r3, [pc, #388] ; (8048bcc ) 8048a46: 220e movs r2, #14 8048a48: 701a strb r2, [r3, #0] break; 8048a4a: e02b b.n 8048aa4 case RouteNullNo: menupos = RouteNullYes; 8048a4c: 4b5f ldr r3, [pc, #380] ; (8048bcc ) 8048a4e: 220d movs r2, #13 8048a50: 701a strb r2, [r3, #0] break; 8048a52: e027 b.n 8048aa4 case RouteMax_IDT: menupos = RouteMax_IET; 8048a54: 4b5d ldr r3, [pc, #372] ; (8048bcc ) 8048a56: 2208 movs r2, #8 8048a58: 701a strb r2, [r3, #0] break; 8048a5a: e023 b.n 8048aa4 case RouteMax_IET: menupos = RouteMax_IES; 8048a5c: 4b5b ldr r3, [pc, #364] ; (8048bcc ) 8048a5e: 2209 movs r2, #9 8048a60: 701a strb r2, [r3, #0] break; 8048a62: e01f b.n 8048aa4 case RouteMax_IES: menupos = RouteMax_IED; 8048a64: 4b59 ldr r3, [pc, #356] ; (8048bcc ) 8048a66: 220a movs r2, #10 8048a68: 701a strb r2, [r3, #0] break; 8048a6a: e01b b.n 8048aa4 case RouteMax_IED: menupos = RouteMax_IEE; 8048a6c: 4b57 ldr r3, [pc, #348] ; (8048bcc ) 8048a6e: 220b movs r2, #11 8048a70: 701a strb r2, [r3, #0] break; 8048a72: e017 b.n 8048aa4 case RouteMax_IEE: menupos = RouteMax_IKD; 8048a74: 4b55 ldr r3, [pc, #340] ; (8048bcc ) 8048a76: 220c movs r2, #12 8048a78: 701a strb r2, [r3, #0] break; 8048a7a: e013 b.n 8048aa4 case RouteMax_IKD: menupos = RouteMax_IDT; 8048a7c: 4b53 ldr r3, [pc, #332] ; (8048bcc ) 8048a7e: 2207 movs r2, #7 8048a80: 701a strb r2, [r3, #0] break; 8048a82: e00f b.n 8048aa4 case RouteAutoKu: case RouteMax_ALL: case RouteTacho: menupos = GoMeas; 8048a84: 4b51 ldr r3, [pc, #324] ; (8048bcc ) 8048a86: 2201 movs r2, #1 8048a88: 701a strb r2, [r3, #0] break; 8048a8a: e00b b.n 8048aa4 case PrevPoint: menupos = GoMeas; 8048a8c: 4b4f ldr r3, [pc, #316] ; (8048bcc ) 8048a8e: 2201 movs r2, #1 8048a90: 701a strb r2, [r3, #0] break; 8048a92: e007 b.n 8048aa4 case GoMeas: menupos = NextPoint; 8048a94: 4b4d ldr r3, [pc, #308] ; (8048bcc ) 8048a96: 2202 movs r2, #2 8048a98: 701a strb r2, [r3, #0] break; 8048a9a: e003 b.n 8048aa4 case NextPoint: menupos = PrevPoint; 8048a9c: 4b4b ldr r3, [pc, #300] ; (8048bcc ) 8048a9e: 2200 movs r2, #0 8048aa0: 701a strb r2, [r3, #0] break; 8048aa2: bf00 nop } break; 8048aa4: e213 b.n 8048ece case PARAM_WAVE: //RT switch(menupos) 8048aa6: 4b49 ldr r3, [pc, #292] ; (8048bcc ) 8048aa8: 781b ldrb r3, [r3, #0] 8048aaa: b2db uxtb r3, r3 8048aac: 3b01 subs r3, #1 8048aae: 2b14 cmp r3, #20 8048ab0: f200 8210 bhi.w 8048ed4 8048ab4: a201 add r2, pc, #4 ; (adr r2, 8048abc ) 8048ab6: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8048aba: bf00 nop 8048abc: 08048b11 .word 0x08048b11 8048ac0: 08048b19 .word 0x08048b19 8048ac4: 08048bb5 .word 0x08048bb5 8048ac8: 08048bbd .word 0x08048bbd 8048acc: 08048b21 .word 0x08048b21 8048ad0: 08048bb5 .word 0x08048bb5 8048ad4: 08048bb5 .word 0x08048bb5 8048ad8: 08048bb5 .word 0x08048bb5 8048adc: 08048bb5 .word 0x08048bb5 8048ae0: 08048b85 .word 0x08048b85 8048ae4: 08048b8d .word 0x08048b8d 8048ae8: 08048b95 .word 0x08048b95 8048aec: 08048b9d .word 0x08048b9d 8048af0: 08048ba5 .word 0x08048ba5 8048af4: 08048bad .word 0x08048bad 8048af8: 08048b55 .word 0x08048b55 8048afc: 08048b5d .word 0x08048b5d 8048b00: 08048b65 .word 0x08048b65 8048b04: 08048b6d .word 0x08048b6d 8048b08: 08048b75 .word 0x08048b75 8048b0c: 08048b7d .word 0x08048b7d { case WaveBand: pardata.FRQ = _64000Hz; 8048b10: 4b30 ldr r3, [pc, #192] ; (8048bd4 ) 8048b12: 2209 movs r2, #9 8048b14: 72da strb r2, [r3, #11] break; 8048b16: e057 b.n 8048bc8 case WaveFreq: pardata.FRQ = _64000Hz; 8048b18: 4b2e ldr r3, [pc, #184] ; (8048bd4 ) 8048b1a: 2209 movs r2, #9 8048b1c: 72da strb r2, [r3, #11] break; 8048b1e: e053 b.n 8048bc8 case WaveTime: if(focused) 8048b20: 4b2b ldr r3, [pc, #172] ; (8048bd0 ) 8048b22: 781b ldrb r3, [r3, #0] 8048b24: b2db uxtb r3, r3 8048b26: 2b00 cmp r3, #0 8048b28: d010 beq.n 8048b4c { if(pardata.TME < HOUR2) pardata.TME++; 8048b2a: 4b2a ldr r3, [pc, #168] ; (8048bd4 ) 8048b2c: 7b9b ldrb r3, [r3, #14] 8048b2e: b2db uxtb r3, r3 8048b30: 2b08 cmp r3, #8 8048b32: d807 bhi.n 8048b44 8048b34: 4b27 ldr r3, [pc, #156] ; (8048bd4 ) 8048b36: 7b9b ldrb r3, [r3, #14] 8048b38: b2db uxtb r3, r3 8048b3a: 3301 adds r3, #1 8048b3c: b2da uxtb r2, r3 8048b3e: 4b25 ldr r3, [pc, #148] ; (8048bd4 ) 8048b40: 739a strb r2, [r3, #14] else pardata.TME = CONTINUOUS; } else menupos = Ok; break; 8048b42: e041 b.n 8048bc8 else pardata.TME = CONTINUOUS; 8048b44: 4b23 ldr r3, [pc, #140] ; (8048bd4 ) 8048b46: 2200 movs r2, #0 8048b48: 739a strb r2, [r3, #14] break; 8048b4a: e03d b.n 8048bc8 menupos = Ok; 8048b4c: 4b1f ldr r3, [pc, #124] ; (8048bcc ) 8048b4e: 2200 movs r2, #0 8048b50: 701a strb r2, [r3, #0] break; 8048b52: e039 b.n 8048bc8 case WaveThr_IDT: menupos = WaveThr_IET; 8048b54: 4b1d ldr r3, [pc, #116] ; (8048bcc ) 8048b56: 2211 movs r2, #17 8048b58: 701a strb r2, [r3, #0] break; 8048b5a: e035 b.n 8048bc8 case WaveThr_IET: menupos = WaveThr_IES; 8048b5c: 4b1b ldr r3, [pc, #108] ; (8048bcc ) 8048b5e: 2212 movs r2, #18 8048b60: 701a strb r2, [r3, #0] break; 8048b62: e031 b.n 8048bc8 case WaveThr_IES: menupos = WaveThr_IED; 8048b64: 4b19 ldr r3, [pc, #100] ; (8048bcc ) 8048b66: 2213 movs r2, #19 8048b68: 701a strb r2, [r3, #0] break; 8048b6a: e02d b.n 8048bc8 case WaveThr_IED: menupos = WaveThr_IEE; 8048b6c: 4b17 ldr r3, [pc, #92] ; (8048bcc ) 8048b6e: 2214 movs r2, #20 8048b70: 701a strb r2, [r3, #0] break; 8048b72: e029 b.n 8048bc8 case WaveThr_IEE: menupos = WaveThr_IKD; 8048b74: 4b15 ldr r3, [pc, #84] ; (8048bcc ) 8048b76: 2215 movs r2, #21 8048b78: 701a strb r2, [r3, #0] break; 8048b7a: e025 b.n 8048bc8 case WaveThr_IKD: menupos = WaveThr_IDT; 8048b7c: 4b13 ldr r3, [pc, #76] ; (8048bcc ) 8048b7e: 2210 movs r2, #16 8048b80: 701a strb r2, [r3, #0] break; 8048b82: e021 b.n 8048bc8 case WaveMax_IDT: menupos = WaveMax_IET; 8048b84: 4b11 ldr r3, [pc, #68] ; (8048bcc ) 8048b86: 220b movs r2, #11 8048b88: 701a strb r2, [r3, #0] break; 8048b8a: e01d b.n 8048bc8 case WaveMax_IET: menupos = WaveMax_IES; 8048b8c: 4b0f ldr r3, [pc, #60] ; (8048bcc ) 8048b8e: 220c movs r2, #12 8048b90: 701a strb r2, [r3, #0] break; 8048b92: e019 b.n 8048bc8 case WaveMax_IES: menupos = WaveMax_IED; 8048b94: 4b0d ldr r3, [pc, #52] ; (8048bcc ) 8048b96: 220d movs r2, #13 8048b98: 701a strb r2, [r3, #0] break; 8048b9a: e015 b.n 8048bc8 case WaveMax_IED: menupos = WaveMax_IEE; 8048b9c: 4b0b ldr r3, [pc, #44] ; (8048bcc ) 8048b9e: 220e movs r2, #14 8048ba0: 701a strb r2, [r3, #0] break; 8048ba2: e011 b.n 8048bc8 case WaveMax_IEE: menupos = WaveMax_IKD; 8048ba4: 4b09 ldr r3, [pc, #36] ; (8048bcc ) 8048ba6: 220f movs r2, #15 8048ba8: 701a strb r2, [r3, #0] break; 8048baa: e00d b.n 8048bc8 case WaveMax_IKD: menupos = WaveMax_IDT; 8048bac: 4b07 ldr r3, [pc, #28] ; (8048bcc ) 8048bae: 220a movs r2, #10 8048bb0: 701a strb r2, [r3, #0] break; 8048bb2: e009 b.n 8048bc8 case WaveThr: case WaveThr_ALL: case WaveAutoKu: case WaveMax_ALL: case WaveTacho: menupos = Ok; 8048bb4: 4b05 ldr r3, [pc, #20] ; (8048bcc ) 8048bb6: 2200 movs r2, #0 8048bb8: 701a strb r2, [r3, #0] break; 8048bba: e005 b.n 8048bc8 case WaveName: memset(WavFileName, 0, sizeof(WavFileName)); 8048bbc: 2221 movs r2, #33 ; 0x21 8048bbe: 2100 movs r1, #0 8048bc0: 4805 ldr r0, [pc, #20] ; (8048bd8 ) 8048bc2: f084 fa41 bl 80cd048 break; 8048bc6: bf00 nop } break; 8048bc8: e184 b.n 8048ed4 8048bca: bf00 nop 8048bcc: 20020070 .word 0x20020070 8048bd0: 20020f84 .word 0x20020f84 8048bd4: 20023e60 .word 0x20023e60 8048bd8: 20020e34 .word 0x20020e34 case SETTINGS: switch(menupos) 8048bdc: 4bbf ldr r3, [pc, #764] ; (8048edc ) 8048bde: 781b ldrb r3, [r3, #0] 8048be0: b2db uxtb r3, r3 8048be2: 3b01 subs r3, #1 8048be4: 2b10 cmp r3, #16 8048be6: f200 8183 bhi.w 8048ef0 8048bea: a201 add r2, pc, #4 ; (adr r2, 8048bf0 ) 8048bec: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8048bf0: 08048c81 .word 0x08048c81 8048bf4: 08048ef1 .word 0x08048ef1 8048bf8: 08048c65 .word 0x08048c65 8048bfc: 08048ef1 .word 0x08048ef1 8048c00: 08048ef1 .word 0x08048ef1 8048c04: 08048ef1 .word 0x08048ef1 8048c08: 08048cad .word 0x08048cad 8048c0c: 08048ef1 .word 0x08048ef1 8048c10: 08048ef1 .word 0x08048ef1 8048c14: 08048ef1 .word 0x08048ef1 8048c18: 08048ef1 .word 0x08048ef1 8048c1c: 08048c35 .word 0x08048c35 8048c20: 08048c3d .word 0x08048c3d 8048c24: 08048c45 .word 0x08048c45 8048c28: 08048c4d .word 0x08048c4d 8048c2c: 08048c55 .word 0x08048c55 8048c30: 08048c5d .word 0x08048c5d { case Ies: menupos = Ied; break; 8048c34: 4ba9 ldr r3, [pc, #676] ; (8048edc ) 8048c36: 220d movs r2, #13 8048c38: 701a strb r2, [r3, #0] 8048c3a: e03e b.n 8048cba case Ied: menupos = Iee; break; 8048c3c: 4ba7 ldr r3, [pc, #668] ; (8048edc ) 8048c3e: 220e movs r2, #14 8048c40: 701a strb r2, [r3, #0] 8048c42: e03a b.n 8048cba case Iee: menupos = Ikd; break; 8048c44: 4ba5 ldr r3, [pc, #660] ; (8048edc ) 8048c46: 220f movs r2, #15 8048c48: 701a strb r2, [r3, #0] 8048c4a: e036 b.n 8048cba case Ikd: menupos = Iks; break; 8048c4c: 4ba3 ldr r3, [pc, #652] ; (8048edc ) 8048c4e: 2210 movs r2, #16 8048c50: 701a strb r2, [r3, #0] 8048c52: e032 b.n 8048cba case Iks: menupos = Ikt; break; 8048c54: 4ba1 ldr r3, [pc, #644] ; (8048edc ) 8048c56: 2211 movs r2, #17 8048c58: 701a strb r2, [r3, #0] 8048c5a: e02e b.n 8048cba case Ikt: menupos = Ies; break; 8048c5c: 4b9f ldr r3, [pc, #636] ; (8048edc ) 8048c5e: 220c movs r2, #12 8048c60: 701a strb r2, [r3, #0] 8048c62: e02a b.n 8048cba case Lang: if(focused) 8048c64: 4b9e ldr r3, [pc, #632] ; (8048ee0 ) 8048c66: 781b ldrb r3, [r3, #0] 8048c68: b2db uxtb r3, r3 8048c6a: 2b00 cmp r3, #0 8048c6c: d022 beq.n 8048cb4 { pardata.LANG ^= 1; 8048c6e: 4b9d ldr r3, [pc, #628] ; (8048ee4 ) 8048c70: 7b1b ldrb r3, [r3, #12] 8048c72: b2db uxtb r3, r3 8048c74: f083 0301 eor.w r3, r3, #1 8048c78: b2da uxtb r2, r3 8048c7a: 4b9a ldr r3, [pc, #616] ; (8048ee4 ) 8048c7c: 731a strb r2, [r3, #12] } break; 8048c7e: e019 b.n 8048cb4 case Type: #if (!defined(USE_D101) && !defined(USE_D102)) if(focused) 8048c80: 4b97 ldr r3, [pc, #604] ; (8048ee0 ) 8048c82: 781b ldrb r3, [r3, #0] 8048c84: b2db uxtb r3, r3 8048c86: 2b00 cmp r3, #0 8048c88: d016 beq.n 8048cb8 { if(pardata.IIN < VOLTS) pardata.IIN++; 8048c8a: 4b96 ldr r3, [pc, #600] ; (8048ee4 ) 8048c8c: 799b ldrb r3, [r3, #6] 8048c8e: b2db uxtb r3, r3 8048c90: 2b01 cmp r3, #1 8048c92: d807 bhi.n 8048ca4 8048c94: 4b93 ldr r3, [pc, #588] ; (8048ee4 ) 8048c96: 799b ldrb r3, [r3, #6] 8048c98: b2db uxtb r3, r3 8048c9a: 3301 adds r3, #1 8048c9c: b2da uxtb r2, r3 8048c9e: 4b91 ldr r3, [pc, #580] ; (8048ee4 ) 8048ca0: 719a strb r2, [r3, #6] { if(pardata.IIN == VOLTS) pardata.IIN = ICP; else pardata.IIN = VOLTS; } #endif break; 8048ca2: e009 b.n 8048cb8 else pardata.IIN = CHARGE; 8048ca4: 4b8f ldr r3, [pc, #572] ; (8048ee4 ) 8048ca6: 2200 movs r2, #0 8048ca8: 719a strb r2, [r3, #6] break; 8048caa: e005 b.n 8048cb8 case FormatDiskNo: menupos = FormatDiskYes; 8048cac: 4b8b ldr r3, [pc, #556] ; (8048edc ) 8048cae: 2208 movs r2, #8 8048cb0: 701a strb r2, [r3, #0] break; 8048cb2: e002 b.n 8048cba break; 8048cb4: bf00 nop 8048cb6: e11b b.n 8048ef0 break; 8048cb8: bf00 nop } break; 8048cba: e119 b.n 8048ef0 case DATETIME: switch(menupos) 8048cbc: 4b87 ldr r3, [pc, #540] ; (8048edc ) 8048cbe: 781b ldrb r3, [r3, #0] 8048cc0: b2db uxtb r3, r3 8048cc2: 3b03 subs r3, #3 8048cc4: 2b04 cmp r3, #4 8048cc6: f200 8116 bhi.w 8048ef6 8048cca: a201 add r2, pc, #4 ; (adr r2, 8048cd0 ) 8048ccc: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8048cd0: 08048ce5 .word 0x08048ce5 8048cd4: 08048ced .word 0x08048ced 8048cd8: 08048cf5 .word 0x08048cf5 8048cdc: 08048cfd .word 0x08048cfd 8048ce0: 08048d05 .word 0x08048d05 { case DateD: menupos = DateM; break; 8048ce4: 4b7d ldr r3, [pc, #500] ; (8048edc ) 8048ce6: 2204 movs r2, #4 8048ce8: 701a strb r2, [r3, #0] 8048cea: e00f b.n 8048d0c case DateM: menupos = DateY; break; 8048cec: 4b7b ldr r3, [pc, #492] ; (8048edc ) 8048cee: 2205 movs r2, #5 8048cf0: 701a strb r2, [r3, #0] 8048cf2: e00b b.n 8048d0c case DateY: menupos = DateD; break; 8048cf4: 4b79 ldr r3, [pc, #484] ; (8048edc ) 8048cf6: 2203 movs r2, #3 8048cf8: 701a strb r2, [r3, #0] 8048cfa: e007 b.n 8048d0c case TimeH: menupos = TimeM; break; 8048cfc: 4b77 ldr r3, [pc, #476] ; (8048edc ) 8048cfe: 2207 movs r2, #7 8048d00: 701a strb r2, [r3, #0] 8048d02: e003 b.n 8048d0c case TimeM: menupos = TimeH; break; 8048d04: 4b75 ldr r3, [pc, #468] ; (8048edc ) 8048d06: 2206 movs r2, #6 8048d08: 701a strb r2, [r3, #0] 8048d0a: bf00 nop } break; 8048d0c: e0f3 b.n 8048ef6 case CLEAN_FILES: switch(menupos) 8048d0e: 4b73 ldr r3, [pc, #460] ; (8048edc ) 8048d10: 781b ldrb r3, [r3, #0] 8048d12: b2db uxtb r3, r3 8048d14: 3b01 subs r3, #1 8048d16: 2b08 cmp r3, #8 8048d18: f200 80f0 bhi.w 8048efc 8048d1c: a201 add r2, pc, #4 ; (adr r2, 8048d24 ) 8048d1e: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8048d22: bf00 nop 8048d24: 08048d49 .word 0x08048d49 8048d28: 08048d57 .word 0x08048d57 8048d2c: 08048efd .word 0x08048efd 8048d30: 08048efd .word 0x08048efd 8048d34: 08048efd .word 0x08048efd 8048d38: 08048d67 .word 0x08048d67 8048d3c: 08048d77 .word 0x08048d77 8048d40: 08048d6f .word 0x08048d6f 8048d44: 08048d7f .word 0x08048d7f { case NoFilesPTM: menu = SETTINGS; 8048d48: 4b67 ldr r3, [pc, #412] ; (8048ee8 ) 8048d4a: 2212 movs r2, #18 8048d4c: 701a strb r2, [r3, #0] menupos = CleanFiles; 8048d4e: 4b63 ldr r3, [pc, #396] ; (8048edc ) 8048d50: 220b movs r2, #11 8048d52: 701a strb r2, [r3, #0] break; 8048d54: e018 b.n 8048d88 case FilesPTM: /*Óäàëÿåì ñïèñîê ôàéëîâ â îñíîâíîì öèêëå ïðîãðàììû, åñëè îí åñòü */ if(NumFilesDelete != 0) { 8048d56: 4b65 ldr r3, [pc, #404] ; (8048eec ) 8048d58: 681b ldr r3, [r3, #0] 8048d5a: 2b00 cmp r3, #0 8048d5c: d013 beq.n 8048d86 menupos = UpNo; 8048d5e: 4b5f ldr r3, [pc, #380] ; (8048edc ) 8048d60: 2206 movs r2, #6 8048d62: 701a strb r2, [r3, #0] } break; 8048d64: e00f b.n 8048d86 case UpNo: menupos = UpYes; 8048d66: 4b5d ldr r3, [pc, #372] ; (8048edc ) 8048d68: 2207 movs r2, #7 8048d6a: 701a strb r2, [r3, #0] break; 8048d6c: e00c b.n 8048d88 case AllNo: menupos = AllYes; 8048d6e: 4b5b ldr r3, [pc, #364] ; (8048edc ) 8048d70: 2209 movs r2, #9 8048d72: 701a strb r2, [r3, #0] break; 8048d74: e008 b.n 8048d88 case UpYes: menupos = UpNo; 8048d76: 4b59 ldr r3, [pc, #356] ; (8048edc ) 8048d78: 2206 movs r2, #6 8048d7a: 701a strb r2, [r3, #0] break; 8048d7c: e004 b.n 8048d88 case AllYes: menupos = AllNo; 8048d7e: 4b57 ldr r3, [pc, #348] ; (8048edc ) 8048d80: 2208 movs r2, #8 8048d82: 701a strb r2, [r3, #0] break; 8048d84: e000 b.n 8048d88 break; 8048d86: bf00 nop } break; 8048d88: e0b8 b.n 8048efc case ACCELEROMETER: switch(menupos) 8048d8a: 4b54 ldr r3, [pc, #336] ; (8048edc ) 8048d8c: 781b ldrb r3, [r3, #0] 8048d8e: b2db uxtb r3, r3 8048d90: 3b0c subs r3, #12 8048d92: 2b05 cmp r3, #5 8048d94: f200 80b5 bhi.w 8048f02 8048d98: a201 add r2, pc, #4 ; (adr r2, 8048da0 ) 8048d9a: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8048d9e: bf00 nop 8048da0: 08048db9 .word 0x08048db9 8048da4: 08048dc1 .word 0x08048dc1 8048da8: 08048dc9 .word 0x08048dc9 8048dac: 08048dd1 .word 0x08048dd1 8048db0: 08048dd9 .word 0x08048dd9 8048db4: 08048de1 .word 0x08048de1 { case Ies: menupos = Ied; break; 8048db8: 4b48 ldr r3, [pc, #288] ; (8048edc ) 8048dba: 220d movs r2, #13 8048dbc: 701a strb r2, [r3, #0] 8048dbe: e013 b.n 8048de8 case Ied: menupos = Iee; break; 8048dc0: 4b46 ldr r3, [pc, #280] ; (8048edc ) 8048dc2: 220e movs r2, #14 8048dc4: 701a strb r2, [r3, #0] 8048dc6: e00f b.n 8048de8 case Iee: menupos = Ikd; break; 8048dc8: 4b44 ldr r3, [pc, #272] ; (8048edc ) 8048dca: 220f movs r2, #15 8048dcc: 701a strb r2, [r3, #0] 8048dce: e00b b.n 8048de8 case Ikd: menupos = Iks; break; 8048dd0: 4b42 ldr r3, [pc, #264] ; (8048edc ) 8048dd2: 2210 movs r2, #16 8048dd4: 701a strb r2, [r3, #0] 8048dd6: e007 b.n 8048de8 case Iks: menupos = Ikt; break; 8048dd8: 4b40 ldr r3, [pc, #256] ; (8048edc ) 8048dda: 2211 movs r2, #17 8048ddc: 701a strb r2, [r3, #0] 8048dde: e003 b.n 8048de8 case Ikt: menupos = Ies; break; 8048de0: 4b3e ldr r3, [pc, #248] ; (8048edc ) 8048de2: 220c movs r2, #12 8048de4: 701a strb r2, [r3, #0] 8048de6: bf00 nop } break; 8048de8: e08b b.n 8048f02 case CALIBR_00: if(menupos < 4) 8048dea: 4b3c ldr r3, [pc, #240] ; (8048edc ) 8048dec: 781b ldrb r3, [r3, #0] 8048dee: b2db uxtb r3, r3 8048df0: 2b03 cmp r3, #3 8048df2: f200 8089 bhi.w 8048f08 menupos++; 8048df6: 4b39 ldr r3, [pc, #228] ; (8048edc ) 8048df8: 781b ldrb r3, [r3, #0] 8048dfa: b2db uxtb r3, r3 8048dfc: 3301 adds r3, #1 8048dfe: b2da uxtb r2, r3 8048e00: 4b36 ldr r3, [pc, #216] ; (8048edc ) 8048e02: 701a strb r2, [r3, #0] break; 8048e04: e080 b.n 8048f08 case CALIBR_4: case CALIBR_5: case CALIBR_6: case CALIBR_7: case CALIBR_8: if(menupos < 2) 8048e06: 4b35 ldr r3, [pc, #212] ; (8048edc ) 8048e08: 781b ldrb r3, [r3, #0] 8048e0a: b2db uxtb r3, r3 8048e0c: 2b01 cmp r3, #1 8048e0e: d87e bhi.n 8048f0e menupos++; 8048e10: 4b32 ldr r3, [pc, #200] ; (8048edc ) 8048e12: 781b ldrb r3, [r3, #0] 8048e14: b2db uxtb r3, r3 8048e16: 3301 adds r3, #1 8048e18: b2da uxtb r2, r3 8048e1a: 4b30 ldr r3, [pc, #192] ; (8048edc ) 8048e1c: 701a strb r2, [r3, #0] break; 8048e1e: e076 b.n 8048f0e case CALIBR_9: case CALIBR_10: case CALIBR_11: if(menupos > 1) 8048e20: 4b2e ldr r3, [pc, #184] ; (8048edc ) 8048e22: 781b ldrb r3, [r3, #0] 8048e24: b2db uxtb r3, r3 8048e26: 2b01 cmp r3, #1 8048e28: d902 bls.n 8048e30 menupos = 1; 8048e2a: 4b2c ldr r3, [pc, #176] ; (8048edc ) 8048e2c: 2201 movs r2, #1 8048e2e: 701a strb r2, [r3, #0] if(menupos == 0) 8048e30: 4b2a ldr r3, [pc, #168] ; (8048edc ) 8048e32: 781b ldrb r3, [r3, #0] 8048e34: b2db uxtb r3, r3 8048e36: 2b00 cmp r3, #0 8048e38: d16c bne.n 8048f14 menupos++; 8048e3a: 4b28 ldr r3, [pc, #160] ; (8048edc ) 8048e3c: 781b ldrb r3, [r3, #0] 8048e3e: b2db uxtb r3, r3 8048e40: 3301 adds r3, #1 8048e42: b2da uxtb r2, r3 8048e44: 4b25 ldr r3, [pc, #148] ; (8048edc ) 8048e46: 701a strb r2, [r3, #0] break; 8048e48: e064 b.n 8048f14 break; 8048e4a: bf00 nop 8048e4c: f009 bf84 b.w 8052d58 break; 8048e50: bf00 nop 8048e52: f009 bf81 b.w 8052d58 break; 8048e56: bf00 nop 8048e58: f009 bf7e b.w 8052d58 break; 8048e5c: bf00 nop 8048e5e: f009 bf7b b.w 8052d58 break; 8048e62: bf00 nop 8048e64: f009 bf78 b.w 8052d58 break; 8048e68: bf00 nop 8048e6a: f009 bf75 b.w 8052d58 break; 8048e6e: bf00 nop 8048e70: f009 bf72 b.w 8052d58 break; 8048e74: bf00 nop 8048e76: f009 bf6f b.w 8052d58 break; 8048e7a: bf00 nop 8048e7c: f009 bf6c b.w 8052d58 break; 8048e80: bf00 nop 8048e82: f009 bf69 b.w 8052d58 break; 8048e86: bf00 nop 8048e88: f009 bf66 b.w 8052d58 break; 8048e8c: bf00 nop 8048e8e: f009 bf63 b.w 8052d58 break; 8048e92: bf00 nop 8048e94: f009 bf60 b.w 8052d58 break; 8048e98: bf00 nop 8048e9a: f009 bf5d b.w 8052d58 break; 8048e9e: bf00 nop 8048ea0: f009 bf5a b.w 8052d58 break; 8048ea4: bf00 nop 8048ea6: f009 bf57 b.w 8052d58 break; 8048eaa: bf00 nop 8048eac: f009 bf54 b.w 8052d58 break; 8048eb0: bf00 nop 8048eb2: f009 bf51 b.w 8052d58 break; 8048eb6: bf00 nop 8048eb8: f009 bf4e b.w 8052d58 break; 8048ebc: bf00 nop 8048ebe: f009 bf4b b.w 8052d58 break; 8048ec2: bf00 nop 8048ec4: f009 bf48 b.w 8052d58 break; 8048ec8: bf00 nop 8048eca: f009 bf45 b.w 8052d58 break; 8048ece: bf00 nop 8048ed0: f009 bf42 b.w 8052d58 break; 8048ed4: bf00 nop 8048ed6: f009 bf3f b.w 8052d58 8048eda: bf00 nop 8048edc: 20020070 .word 0x20020070 8048ee0: 20020f84 .word 0x20020f84 8048ee4: 20023e60 .word 0x20023e60 8048ee8: 20020f78 .word 0x20020f78 8048eec: 20020e0c .word 0x20020e0c break; 8048ef0: bf00 nop 8048ef2: f009 bf31 b.w 8052d58 break; 8048ef6: bf00 nop 8048ef8: f009 bf2e b.w 8052d58 break; 8048efc: bf00 nop 8048efe: f009 bf2b b.w 8052d58 break; 8048f02: bf00 nop 8048f04: f009 bf28 b.w 8052d58 break; 8048f08: bf00 nop 8048f0a: f009 bf25 b.w 8052d58 break; 8048f0e: bf00 nop 8048f10: f009 bf22 b.w 8052d58 break; 8048f14: bf00 nop } break; 8048f16: f009 bf1f b.w 8052d58 case KEY_TMP: // TODO KEY TMP switch(menu) 8048f1a: 4bc1 ldr r3, [pc, #772] ; (8049220 ) 8048f1c: 781b ldrb r3, [r3, #0] 8048f1e: b2db uxtb r3, r3 8048f20: 2b47 cmp r3, #71 ; 0x47 8048f22: f209 871b bhi.w 8052d5c 8048f26: a201 add r2, pc, #4 ; (adr r2, 8048f2c ) 8048f28: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8048f2c: 080490a5 .word 0x080490a5 8048f30: 08052d5d .word 0x08052d5d 8048f34: 080493f5 .word 0x080493f5 8048f38: 08049429 .word 0x08049429 8048f3c: 0804945f .word 0x0804945f 8048f40: 08052d5d .word 0x08052d5d 8048f44: 08049369 .word 0x08049369 8048f48: 08049391 .word 0x08049391 8048f4c: 0804937d .word 0x0804937d 8048f50: 08052d5d .word 0x08052d5d 8048f54: 080493a5 .word 0x080493a5 8048f58: 08052d5d .word 0x08052d5d 8048f5c: 08052d5d .word 0x08052d5d 8048f60: 080493b9 .word 0x080493b9 8048f64: 080493cd .word 0x080493cd 8048f68: 080493e1 .word 0x080493e1 8048f6c: 08049355 .word 0x08049355 8048f70: 0804933d .word 0x0804933d 8048f74: 080495c7 .word 0x080495c7 8048f78: 08052d5d .word 0x08052d5d 8048f7c: 08052d5d .word 0x08052d5d 8048f80: 08052d5d .word 0x08052d5d 8048f84: 08052d5d .word 0x08052d5d 8048f88: 08049409 .word 0x08049409 8048f8c: 080495db .word 0x080495db 8048f90: 08052d5d .word 0x08052d5d 8048f94: 08052d5d .word 0x08052d5d 8048f98: 08052d5d .word 0x08052d5d 8048f9c: 080490f1 .word 0x080490f1 8048fa0: 080490bd .word 0x080490bd 8048fa4: 08049291 .word 0x08049291 8048fa8: 080490a5 .word 0x080490a5 8048fac: 08049159 .word 0x08049159 8048fb0: 08049183 .word 0x08049183 8048fb4: 080491b7 .word 0x080491b7 8048fb8: 0804925d .word 0x0804925d 8048fbc: 08049125 .word 0x08049125 8048fc0: 080491eb .word 0x080491eb 8048fc4: 08049245 .word 0x08049245 8048fc8: 08049075 .word 0x08049075 8048fcc: 0804904d .word 0x0804904d 8048fd0: 080492e9 .word 0x080492e9 8048fd4: 08049313 .word 0x08049313 8048fd8: 08049625 .word 0x08049625 8048fdc: 0804966f .word 0x0804966f 8048fe0: 08052d5d .word 0x08052d5d 8048fe4: 08052d5d .word 0x08052d5d 8048fe8: 08049613 .word 0x08049613 8048fec: 08049649 .word 0x08049649 8048ff0: 08052d5d .word 0x08052d5d 8048ff4: 08052d5d .word 0x08052d5d 8048ff8: 080495ef .word 0x080495ef 8048ffc: 08052d5d .word 0x08052d5d 8049000: 08052d5d .word 0x08052d5d 8049004: 08052d5d .word 0x08052d5d 8049008: 08052d5d .word 0x08052d5d 804900c: 08052d5d .word 0x08052d5d 8049010: 08052d5d .word 0x08052d5d 8049014: 08052d5d .word 0x08052d5d 8049018: 08052d5d .word 0x08052d5d 804901c: 08052d5d .word 0x08052d5d 8049020: 08052d5d .word 0x08052d5d 8049024: 08052d5d .word 0x08052d5d 8049028: 08052d5d .word 0x08052d5d 804902c: 08052d5d .word 0x08052d5d 8049030: 08052d5d .word 0x08052d5d 8049034: 08052d5d .word 0x08052d5d 8049038: 08052d5d .word 0x08052d5d 804903c: 08052d5d .word 0x08052d5d 8049040: 08049083 .word 0x08049083 8049044: 08049083 .word 0x08049083 8049048: 08049083 .word 0x08049083 { case VIEW_PORTRET: if(menupos == Cursor) 804904c: 4b75 ldr r3, [pc, #468] ; (8049224 ) 804904e: 781b ldrb r3, [r3, #0] 8049050: b2db uxtb r3, r3 8049052: 2b06 cmp r3, #6 8049054: d105 bne.n 8049062 menupos = lastmenupos; 8049056: 4b74 ldr r3, [pc, #464] ; (8049228 ) 8049058: 781b ldrb r3, [r3, #0] 804905a: b2da uxtb r2, r3 804905c: 4b71 ldr r3, [pc, #452] ; (8049224 ) 804905e: 701a strb r2, [r3, #0] else { menu = ROLL_RESULTS; menupos = DefectType; } break; 8049060: e321 b.n 80496a6 menu = ROLL_RESULTS; 8049062: 4b6f ldr r3, [pc, #444] ; (8049220 ) 8049064: 2227 movs r2, #39 ; 0x27 8049066: 701a strb r2, [r3, #0] menupos = DefectType; 8049068: 4b70 ldr r3, [pc, #448] ; (804922c ) 804906a: 781b ldrb r3, [r3, #0] 804906c: b2da uxtb r2, r3 804906e: 4b6d ldr r3, [pc, #436] ; (8049224 ) 8049070: 701a strb r2, [r3, #0] break; 8049072: e318 b.n 80496a6 case ROLL_RESULTS: menu = MAIN_ROLL; 8049074: 4b6a ldr r3, [pc, #424] ; (8049220 ) 8049076: 2224 movs r2, #36 ; 0x24 8049078: 701a strb r2, [r3, #0] menupos = Results; 804907a: 4b6a ldr r3, [pc, #424] ; (8049224 ) 804907c: 2208 movs r2, #8 804907e: 701a strb r2, [r3, #0] break; 8049080: e311 b.n 80496a6 case TREND_A: case TREND_V: case TREND_S: menu = lastmenu; 8049082: 4b6b ldr r3, [pc, #428] ; (8049230 ) 8049084: 781b ldrb r3, [r3, #0] 8049086: b2da uxtb r2, r3 8049088: 4b65 ldr r3, [pc, #404] ; (8049220 ) 804908a: 701a strb r2, [r3, #0] menupos = lastmenupos; 804908c: 4b66 ldr r3, [pc, #408] ; (8049228 ) 804908e: 781b ldrb r3, [r3, #0] 8049090: b2da uxtb r2, r3 8049092: 4b64 ldr r3, [pc, #400] ; (8049224 ) 8049094: 701a strb r2, [r3, #0] Threshold = false; 8049096: 4b67 ldr r3, [pc, #412] ; (8049234 ) 8049098: 2200 movs r2, #0 804909a: 701a strb r2, [r3, #0] FIRST = true; 804909c: 4b66 ldr r3, [pc, #408] ; (8049238 ) 804909e: 2201 movs r2, #1 80490a0: 701a strb r2, [r3, #0] break; 80490a2: e300 b.n 80496a6 case MAIN: case MAIN_FRAN: focused = false; 80490a4: 4b65 ldr r3, [pc, #404] ; (804923c ) 80490a6: 2200 movs r2, #0 80490a8: 701a strb r2, [r3, #0] StopMeas(); 80490aa: f7da fb77 bl 802379c menu = PARAM_VIB; 80490ae: 4b5c ldr r3, [pc, #368] ; (8049220 ) 80490b0: 2206 movs r2, #6 80490b2: 701a strb r2, [r3, #0] menupos = Ok; 80490b4: 4b5b ldr r3, [pc, #364] ; (8049224 ) 80490b6: 2200 movs r2, #0 80490b8: 701a strb r2, [r3, #0] break; 80490ba: e2f4 b.n 80496a6 case MAIN_OSC: focused = false; 80490bc: 4b5f ldr r3, [pc, #380] ; (804923c ) 80490be: 2200 movs r2, #0 80490c0: 701a strb r2, [r3, #0] if(menupos == Cursor) 80490c2: 4b58 ldr r3, [pc, #352] ; (8049224 ) 80490c4: 781b ldrb r3, [r3, #0] 80490c6: b2db uxtb r3, r3 80490c8: 2b06 cmp r3, #6 80490ca: d105 bne.n 80490d8 menupos = lastmenupos; 80490cc: 4b56 ldr r3, [pc, #344] ; (8049228 ) 80490ce: 781b ldrb r3, [r3, #0] 80490d0: b2da uxtb r2, r3 80490d2: 4b54 ldr r3, [pc, #336] ; (8049224 ) 80490d4: 701a strb r2, [r3, #0] StopMeas(); menu = PARAM_OSC; menupos = Ok; READY_TO_SEE = false; } break; 80490d6: e2e6 b.n 80496a6 StopMeas(); 80490d8: f7da fb60 bl 802379c menu = PARAM_OSC; 80490dc: 4b50 ldr r3, [pc, #320] ; (8049220 ) 80490de: 2208 movs r2, #8 80490e0: 701a strb r2, [r3, #0] menupos = Ok; 80490e2: 4b50 ldr r3, [pc, #320] ; (8049224 ) 80490e4: 2200 movs r2, #0 80490e6: 701a strb r2, [r3, #0] READY_TO_SEE = false; 80490e8: 4b55 ldr r3, [pc, #340] ; (8049240 ) 80490ea: 2200 movs r2, #0 80490ec: 701a strb r2, [r3, #0] break; 80490ee: e2da b.n 80496a6 case MAIN_SPEC: focused = false; 80490f0: 4b52 ldr r3, [pc, #328] ; (804923c ) 80490f2: 2200 movs r2, #0 80490f4: 701a strb r2, [r3, #0] if(menupos == Cursor) 80490f6: 4b4b ldr r3, [pc, #300] ; (8049224 ) 80490f8: 781b ldrb r3, [r3, #0] 80490fa: b2db uxtb r3, r3 80490fc: 2b06 cmp r3, #6 80490fe: d105 bne.n 804910c menupos = lastmenupos; 8049100: 4b49 ldr r3, [pc, #292] ; (8049228 ) 8049102: 781b ldrb r3, [r3, #0] 8049104: b2da uxtb r2, r3 8049106: 4b47 ldr r3, [pc, #284] ; (8049224 ) 8049108: 701a strb r2, [r3, #0] StopMeas(); menu = PARAM_SPEC; menupos = Ok; READY_TO_SEE = false; } break; 804910a: e2cc b.n 80496a6 StopMeas(); 804910c: f7da fb46 bl 802379c menu = PARAM_SPEC; 8049110: 4b43 ldr r3, [pc, #268] ; (8049220 ) 8049112: 2207 movs r2, #7 8049114: 701a strb r2, [r3, #0] menupos = Ok; 8049116: 4b43 ldr r3, [pc, #268] ; (8049224 ) 8049118: 2200 movs r2, #0 804911a: 701a strb r2, [r3, #0] READY_TO_SEE = false; 804911c: 4b48 ldr r3, [pc, #288] ; (8049240 ) 804911e: 2200 movs r2, #0 8049120: 701a strb r2, [r3, #0] break; 8049122: e2c0 b.n 80496a6 case MAIN_ROLL: focused = false; 8049124: 4b45 ldr r3, [pc, #276] ; (804923c ) 8049126: 2200 movs r2, #0 8049128: 701a strb r2, [r3, #0] if(menupos == Cursor) 804912a: 4b3e ldr r3, [pc, #248] ; (8049224 ) 804912c: 781b ldrb r3, [r3, #0] 804912e: b2db uxtb r3, r3 8049130: 2b06 cmp r3, #6 8049132: d105 bne.n 8049140 menupos = lastmenupos; 8049134: 4b3c ldr r3, [pc, #240] ; (8049228 ) 8049136: 781b ldrb r3, [r3, #0] 8049138: b2da uxtb r2, r3 804913a: 4b3a ldr r3, [pc, #232] ; (8049224 ) 804913c: 701a strb r2, [r3, #0] StopMeas(); menu = PARAM_ROLL; menupos = Ok; READY_TO_SEE = false; } break; 804913e: e2b2 b.n 80496a6 StopMeas(); 8049140: f7da fb2c bl 802379c menu = PARAM_ROLL; 8049144: 4b36 ldr r3, [pc, #216] ; (8049220 ) 8049146: 220d movs r2, #13 8049148: 701a strb r2, [r3, #0] menupos = Ok; 804914a: 4b36 ldr r3, [pc, #216] ; (8049224 ) 804914c: 2200 movs r2, #0 804914e: 701a strb r2, [r3, #0] READY_TO_SEE = false; 8049150: 4b3b ldr r3, [pc, #236] ; (8049240 ) 8049152: 2200 movs r2, #0 8049154: 701a strb r2, [r3, #0] break; 8049156: e2a6 b.n 80496a6 case MAIN_SYGNAL: focused = false; 8049158: 4b38 ldr r3, [pc, #224] ; (804923c ) 804915a: 2200 movs r2, #0 804915c: 701a strb r2, [r3, #0] if(menupos == Cursor) 804915e: 4b31 ldr r3, [pc, #196] ; (8049224 ) 8049160: 781b ldrb r3, [r3, #0] 8049162: b2db uxtb r3, r3 8049164: 2b06 cmp r3, #6 8049166: d105 bne.n 8049174 menupos = lastmenupos; 8049168: 4b2f ldr r3, [pc, #188] ; (8049228 ) 804916a: 781b ldrb r3, [r3, #0] 804916c: b2da uxtb r2, r3 804916e: 4b2d ldr r3, [pc, #180] ; (8049224 ) 8049170: 701a strb r2, [r3, #0] else { menu = ARCHIVE_WAVE; menupos = FilesGTR; } break; 8049172: e298 b.n 80496a6 menu = ARCHIVE_WAVE; 8049174: 4b2a ldr r3, [pc, #168] ; (8049220 ) 8049176: 2217 movs r2, #23 8049178: 701a strb r2, [r3, #0] menupos = FilesGTR; 804917a: 4b2a ldr r3, [pc, #168] ; (8049224 ) 804917c: 2202 movs r2, #2 804917e: 701a strb r2, [r3, #0] break; 8049180: e291 b.n 80496a6 case MAIN_SPEC_OGIB: focused = false; 8049182: 4b2e ldr r3, [pc, #184] ; (804923c ) 8049184: 2200 movs r2, #0 8049186: 701a strb r2, [r3, #0] if(menupos == Cursor) 8049188: 4b26 ldr r3, [pc, #152] ; (8049224 ) 804918a: 781b ldrb r3, [r3, #0] 804918c: b2db uxtb r3, r3 804918e: 2b06 cmp r3, #6 8049190: d105 bne.n 804919e menupos = lastmenupos; 8049192: 4b25 ldr r3, [pc, #148] ; (8049228 ) 8049194: 781b ldrb r3, [r3, #0] 8049196: b2da uxtb r2, r3 8049198: 4b22 ldr r3, [pc, #136] ; (8049224 ) 804919a: 701a strb r2, [r3, #0] StopMeas(); menu = PARAM_SPEC; menupos = Ok; READY_TO_SEE = false; } break; 804919c: e283 b.n 80496a6 StopMeas(); 804919e: f7da fafd bl 802379c menu = PARAM_SPEC; 80491a2: 4b1f ldr r3, [pc, #124] ; (8049220 ) 80491a4: 2207 movs r2, #7 80491a6: 701a strb r2, [r3, #0] menupos = Ok; 80491a8: 4b1e ldr r3, [pc, #120] ; (8049224 ) 80491aa: 2200 movs r2, #0 80491ac: 701a strb r2, [r3, #0] READY_TO_SEE = false; 80491ae: 4b24 ldr r3, [pc, #144] ; (8049240 ) 80491b0: 2200 movs r2, #0 80491b2: 701a strb r2, [r3, #0] break; 80491b4: e277 b.n 80496a6 case MAIN_SPEC_OKT: focused = false; 80491b6: 4b21 ldr r3, [pc, #132] ; (804923c ) 80491b8: 2200 movs r2, #0 80491ba: 701a strb r2, [r3, #0] if(menupos == Cursor) 80491bc: 4b19 ldr r3, [pc, #100] ; (8049224 ) 80491be: 781b ldrb r3, [r3, #0] 80491c0: b2db uxtb r3, r3 80491c2: 2b06 cmp r3, #6 80491c4: d105 bne.n 80491d2 menupos = lastmenupos; 80491c6: 4b18 ldr r3, [pc, #96] ; (8049228 ) 80491c8: 781b ldrb r3, [r3, #0] 80491ca: b2da uxtb r2, r3 80491cc: 4b15 ldr r3, [pc, #84] ; (8049224 ) 80491ce: 701a strb r2, [r3, #0] StopMeas(); menu = PARAM_SPEC; menupos = Ok; READY_TO_SEE = false; } break; 80491d0: e269 b.n 80496a6 StopMeas(); 80491d2: f7da fae3 bl 802379c menu = PARAM_SPEC; 80491d6: 4b12 ldr r3, [pc, #72] ; (8049220 ) 80491d8: 2207 movs r2, #7 80491da: 701a strb r2, [r3, #0] menupos = Ok; 80491dc: 4b11 ldr r3, [pc, #68] ; (8049224 ) 80491de: 2200 movs r2, #0 80491e0: 701a strb r2, [r3, #0] READY_TO_SEE = false; 80491e2: 4b17 ldr r3, [pc, #92] ; (8049240 ) 80491e4: 2200 movs r2, #0 80491e6: 701a strb r2, [r3, #0] break; 80491e8: e25d b.n 80496a6 case MAIN_UDAR: focused = false; 80491ea: 4b14 ldr r3, [pc, #80] ; (804923c ) 80491ec: 2200 movs r2, #0 80491ee: 701a strb r2, [r3, #0] if(menupos == Cursor) 80491f0: 4b0c ldr r3, [pc, #48] ; (8049224 ) 80491f2: 781b ldrb r3, [r3, #0] 80491f4: b2db uxtb r3, r3 80491f6: 2b06 cmp r3, #6 80491f8: d105 bne.n 8049206 menupos = lastmenupos; 80491fa: 4b0b ldr r3, [pc, #44] ; (8049228 ) 80491fc: 781b ldrb r3, [r3, #0] 80491fe: b2da uxtb r2, r3 8049200: 4b08 ldr r3, [pc, #32] ; (8049224 ) 8049202: 701a strb r2, [r3, #0] StopMeas(); menu = PARAM_UDAR; menupos = Ok; READY_TO_SEE = false; } break; 8049204: e24f b.n 80496a6 StopMeas(); 8049206: f7da fac9 bl 802379c menu = PARAM_UDAR; 804920a: 4b05 ldr r3, [pc, #20] ; (8049220 ) 804920c: 220e movs r2, #14 804920e: 701a strb r2, [r3, #0] menupos = Ok; 8049210: 4b04 ldr r3, [pc, #16] ; (8049224 ) 8049212: 2200 movs r2, #0 8049214: 701a strb r2, [r3, #0] READY_TO_SEE = false; 8049216: 4b0a ldr r3, [pc, #40] ; (8049240 ) 8049218: 2200 movs r2, #0 804921a: 701a strb r2, [r3, #0] break; 804921c: e243 b.n 80496a6 804921e: bf00 nop 8049220: 20020f78 .word 0x20020f78 8049224: 20020070 .word 0x20020070 8049228: 20020071 .word 0x20020071 804922c: 20021520 .word 0x20021520 8049230: 20020f79 .word 0x20020f79 8049234: 20020db1 .word 0x20020db1 8049238: 20020db2 .word 0x20020db2 804923c: 20020f84 .word 0x20020f84 8049240: 20020d8e .word 0x20020d8e case MAIN_DIAGN: focused = false; 8049244: 4bad ldr r3, [pc, #692] ; (80494fc ) 8049246: 2200 movs r2, #0 8049248: 701a strb r2, [r3, #0] StopMeas(); 804924a: f7da faa7 bl 802379c menu = PARAM_DIAGN_2; 804924e: 4bac ldr r3, [pc, #688] ; (8049500 ) 8049250: 2211 movs r2, #17 8049252: 701a strb r2, [r3, #0] menupos = Ok; 8049254: 4bab ldr r3, [pc, #684] ; (8049504 ) 8049256: 2200 movs r2, #0 8049258: 701a strb r2, [r3, #0] break; 804925a: e224 b.n 80496a6 case MAIN_SPEC_THIRD: focused = false; 804925c: 4ba7 ldr r3, [pc, #668] ; (80494fc ) 804925e: 2200 movs r2, #0 8049260: 701a strb r2, [r3, #0] if(menupos == Cursor) 8049262: 4ba8 ldr r3, [pc, #672] ; (8049504 ) 8049264: 781b ldrb r3, [r3, #0] 8049266: b2db uxtb r3, r3 8049268: 2b06 cmp r3, #6 804926a: d105 bne.n 8049278 menupos = lastmenupos; 804926c: 4ba6 ldr r3, [pc, #664] ; (8049508 ) 804926e: 781b ldrb r3, [r3, #0] 8049270: b2da uxtb r2, r3 8049272: 4ba4 ldr r3, [pc, #656] ; (8049504 ) 8049274: 701a strb r2, [r3, #0] StopMeas(); menu = PARAM_SPEC; menupos = Ok; READY_TO_SEE = false; } break; 8049276: e216 b.n 80496a6 StopMeas(); 8049278: f7da fa90 bl 802379c menu = PARAM_SPEC; 804927c: 4ba0 ldr r3, [pc, #640] ; (8049500 ) 804927e: 2207 movs r2, #7 8049280: 701a strb r2, [r3, #0] menupos = Ok; 8049282: 4ba0 ldr r3, [pc, #640] ; (8049504 ) 8049284: 2200 movs r2, #0 8049286: 701a strb r2, [r3, #0] READY_TO_SEE = false; 8049288: 4ba0 ldr r3, [pc, #640] ; (804950c ) 804928a: 2200 movs r2, #0 804928c: 701a strb r2, [r3, #0] break; 804928e: e20a b.n 80496a6 case MAIN_WAVE: focused = false; 8049290: 4b9a ldr r3, [pc, #616] ; (80494fc ) 8049292: 2200 movs r2, #0 8049294: 701a strb r2, [r3, #0] StopMeas(); 8049296: f7da fa81 bl 802379c if(IS_ROUTE == false) 804929a: 4b9d ldr r3, [pc, #628] ; (8049510 ) 804929c: 781b ldrb r3, [r3, #0] 804929e: b2db uxtb r3, r3 80492a0: f083 0301 eor.w r3, r3, #1 80492a4: b2db uxtb r3, r3 80492a6: 2b00 cmp r3, #0 80492a8: d009 beq.n 80492be { menu = PARAM_WAVE; 80492aa: 4b95 ldr r3, [pc, #596] ; (8049500 ) 80492ac: 220a movs r2, #10 80492ae: 701a strb r2, [r3, #0] menupos = Ok; 80492b0: 4b94 ldr r3, [pc, #592] ; (8049504 ) 80492b2: 2200 movs r2, #0 80492b4: 701a strb r2, [r3, #0] pardata.IVS[ACC] = PEAK; 80492b6: 4b97 ldr r3, [pc, #604] ; (8049514 ) 80492b8: 2200 movs r2, #0 80492ba: 709a strb r2, [r3, #2] }*/ if(RouteMeas(RouteIndex) == 0) menupos = GoMeas; else menupos = NextPoint; } break; 80492bc: e1f3 b.n 80496a6 IS_ROUTE = false; 80492be: 4b94 ldr r3, [pc, #592] ; (8049510 ) 80492c0: 2200 movs r2, #0 80492c2: 701a strb r2, [r3, #0] menu = ROUTE_MAP; 80492c4: 4b8e ldr r3, [pc, #568] ; (8049500 ) 80492c6: 2204 movs r2, #4 80492c8: 701a strb r2, [r3, #0] if(RouteMeas(RouteIndex) == 0) 80492ca: 4b93 ldr r3, [pc, #588] ; (8049518 ) 80492cc: 681a ldr r2, [r3, #0] 80492ce: 4b93 ldr r3, [pc, #588] ; (804951c ) 80492d0: 4413 add r3, r2 80492d2: 781b ldrb r3, [r3, #0] 80492d4: 2b00 cmp r3, #0 80492d6: d103 bne.n 80492e0 menupos = GoMeas; 80492d8: 4b8a ldr r3, [pc, #552] ; (8049504 ) 80492da: 2201 movs r2, #1 80492dc: 701a strb r2, [r3, #0] break; 80492de: e1e2 b.n 80496a6 else menupos = NextPoint; 80492e0: 4b88 ldr r3, [pc, #544] ; (8049504 ) 80492e2: 2202 movs r2, #2 80492e4: 701a strb r2, [r3, #0] break; 80492e6: e1de b.n 80496a6 case EXPLORER: focused = false; 80492e8: 4b84 ldr r3, [pc, #528] ; (80494fc ) 80492ea: 2200 movs r2, #0 80492ec: 701a strb r2, [r3, #0] if(NeedClean == 0) 80492ee: 4b8c ldr r3, [pc, #560] ; (8049520 ) 80492f0: 781b ldrb r3, [r3, #0] 80492f2: b2db uxtb r3, r3 80492f4: 2b00 cmp r3, #0 80492f6: f040 81cc bne.w 8049692 { memset(MeasFileName, 0, sizeof(MeasFileName));//TODO 80492fa: 2221 movs r2, #33 ; 0x21 80492fc: 2100 movs r1, #0 80492fe: 4889 ldr r0, [pc, #548] ; (8049524 ) 8049300: f083 fea2 bl 80cd048 menu = PARAM_VIB; 8049304: 4b7e ldr r3, [pc, #504] ; (8049500 ) 8049306: 2206 movs r2, #6 8049308: 701a strb r2, [r3, #0] menupos = SaveToFile; 804930a: 4b7e ldr r3, [pc, #504] ; (8049504 ) 804930c: 220a movs r2, #10 804930e: 701a strb r2, [r3, #0] } break; 8049310: e1bf b.n 8049692 case EXPLORER_DIAGN: focused = false; 8049312: 4b7a ldr r3, [pc, #488] ; (80494fc ) 8049314: 2200 movs r2, #0 8049316: 701a strb r2, [r3, #0] if(NeedClean == 0) 8049318: 4b81 ldr r3, [pc, #516] ; (8049520 ) 804931a: 781b ldrb r3, [r3, #0] 804931c: b2db uxtb r3, r3 804931e: 2b00 cmp r3, #0 8049320: f040 81ba bne.w 8049698 { memset(DiagFileName, 0, sizeof(DiagFileName));//TODO 8049324: 2221 movs r2, #33 ; 0x21 8049326: 2100 movs r1, #0 8049328: 487f ldr r0, [pc, #508] ; (8049528 ) 804932a: f083 fe8d bl 80cd048 menu = PARAM_DIAGN; 804932e: 4b74 ldr r3, [pc, #464] ; (8049500 ) 8049330: 220f movs r2, #15 8049332: 701a strb r2, [r3, #0] menupos = DiagSaveToFile; 8049334: 4b73 ldr r3, [pc, #460] ; (8049504 ) 8049336: 2204 movs r2, #4 8049338: 701a strb r2, [r3, #0] } break; 804933a: e1ad b.n 8049698 focused = false; menu = SETTINGS; menupos = Accel; break;*/ case PARAM_DIAGN_2: focused = false; 804933c: 4b6f ldr r3, [pc, #444] ; (80494fc ) 804933e: 2200 movs r2, #0 8049340: 701a strb r2, [r3, #0] menu = PARAM_DIAGN_1; 8049342: 4b6f ldr r3, [pc, #444] ; (8049500 ) 8049344: 2210 movs r2, #16 8049346: 701a strb r2, [r3, #0] menupos = CURR_POINT; 8049348: 4b78 ldr r3, [pc, #480] ; (804952c ) 804934a: 781b ldrb r3, [r3, #0] 804934c: b2da uxtb r2, r3 804934e: 4b6d ldr r3, [pc, #436] ; (8049504 ) 8049350: 701a strb r2, [r3, #0] break; 8049352: e1a8 b.n 80496a6 case PARAM_DIAGN_1: focused = false; 8049354: 4b69 ldr r3, [pc, #420] ; (80494fc ) 8049356: 2200 movs r2, #0 8049358: 701a strb r2, [r3, #0] menu = PARAM_DIAGN; 804935a: 4b69 ldr r3, [pc, #420] ; (8049500 ) 804935c: 220f movs r2, #15 804935e: 701a strb r2, [r3, #0] menupos = DiagUs; 8049360: 4b68 ldr r3, [pc, #416] ; (8049504 ) 8049362: 2200 movs r2, #0 8049364: 701a strb r2, [r3, #0] break; 8049366: e19e b.n 80496a6 case PARAM_VIB: focused = false; 8049368: 4b64 ldr r3, [pc, #400] ; (80494fc ) 804936a: 2200 movs r2, #0 804936c: 701a strb r2, [r3, #0] menu = MEAS_MODE; 804936e: 4b64 ldr r3, [pc, #400] ; (8049500 ) 8049370: 2202 movs r2, #2 8049372: 701a strb r2, [r3, #0] menupos = Vibrometer; 8049374: 4b63 ldr r3, [pc, #396] ; (8049504 ) 8049376: 2201 movs r2, #1 8049378: 701a strb r2, [r3, #0] break; 804937a: e194 b.n 80496a6 case PARAM_OSC: focused = false; 804937c: 4b5f ldr r3, [pc, #380] ; (80494fc ) 804937e: 2200 movs r2, #0 8049380: 701a strb r2, [r3, #0] menu = MEAS_MODE; 8049382: 4b5f ldr r3, [pc, #380] ; (8049500 ) 8049384: 2202 movs r2, #2 8049386: 701a strb r2, [r3, #0] menupos = Osc; 8049388: 4b5e ldr r3, [pc, #376] ; (8049504 ) 804938a: 2202 movs r2, #2 804938c: 701a strb r2, [r3, #0] break; 804938e: e18a b.n 80496a6 case PARAM_SPEC: focused = false; 8049390: 4b5a ldr r3, [pc, #360] ; (80494fc ) 8049392: 2200 movs r2, #0 8049394: 701a strb r2, [r3, #0] menu = MEAS_MODE; 8049396: 4b5a ldr r3, [pc, #360] ; (8049500 ) 8049398: 2202 movs r2, #2 804939a: 701a strb r2, [r3, #0] menupos = FFT; 804939c: 4b59 ldr r3, [pc, #356] ; (8049504 ) 804939e: 2203 movs r2, #3 80493a0: 701a strb r2, [r3, #0] break; 80493a2: e180 b.n 80496a6 case PARAM_WAVE: focused = false; 80493a4: 4b55 ldr r3, [pc, #340] ; (80494fc ) 80493a6: 2200 movs r2, #0 80493a8: 701a strb r2, [r3, #0] menu = MEAS_MODE; 80493aa: 4b55 ldr r3, [pc, #340] ; (8049500 ) 80493ac: 2202 movs r2, #2 80493ae: 701a strb r2, [r3, #0] menupos = Wave; 80493b0: 4b54 ldr r3, [pc, #336] ; (8049504 ) 80493b2: 2204 movs r2, #4 80493b4: 701a strb r2, [r3, #0] break; 80493b6: e176 b.n 80496a6 case PARAM_ROLL: focused = false; 80493b8: 4b50 ldr r3, [pc, #320] ; (80494fc ) 80493ba: 2200 movs r2, #0 80493bc: 701a strb r2, [r3, #0] menu = MEAS_MODE; 80493be: 4b50 ldr r3, [pc, #320] ; (8049500 ) 80493c0: 2202 movs r2, #2 80493c2: 701a strb r2, [r3, #0] menupos = Roll; 80493c4: 4b4f ldr r3, [pc, #316] ; (8049504 ) 80493c6: 2206 movs r2, #6 80493c8: 701a strb r2, [r3, #0] break; 80493ca: e16c b.n 80496a6 case PARAM_UDAR: focused = false; 80493cc: 4b4b ldr r3, [pc, #300] ; (80494fc ) 80493ce: 2200 movs r2, #0 80493d0: 701a strb r2, [r3, #0] menu = MEAS_MODE; 80493d2: 4b4b ldr r3, [pc, #300] ; (8049500 ) 80493d4: 2202 movs r2, #2 80493d6: 701a strb r2, [r3, #0] menupos = Udar; 80493d8: 4b4a ldr r3, [pc, #296] ; (8049504 ) 80493da: 2207 movs r2, #7 80493dc: 701a strb r2, [r3, #0] break; 80493de: e162 b.n 80496a6 case PARAM_DIAGN: focused = false; 80493e0: 4b46 ldr r3, [pc, #280] ; (80494fc ) 80493e2: 2200 movs r2, #0 80493e4: 701a strb r2, [r3, #0] menu = MEAS_MODE; 80493e6: 4b46 ldr r3, [pc, #280] ; (8049500 ) 80493e8: 2202 movs r2, #2 80493ea: 701a strb r2, [r3, #0] menupos = Diagn; 80493ec: 4b45 ldr r3, [pc, #276] ; (8049504 ) 80493ee: 2205 movs r2, #5 80493f0: 701a strb r2, [r3, #0] break; 80493f2: e158 b.n 80496a6 case MEAS_MODE: focused = false; 80493f4: 4b41 ldr r3, [pc, #260] ; (80494fc ) 80493f6: 2200 movs r2, #0 80493f8: 701a strb r2, [r3, #0] menu = OPTIONS; 80493fa: 4b41 ldr r3, [pc, #260] ; (8049500 ) 80493fc: 2201 movs r2, #1 80493fe: 701a strb r2, [r3, #0] menupos = Mode; 8049400: 4b40 ldr r3, [pc, #256] ; (8049504 ) 8049402: 2201 movs r2, #1 8049404: 701a strb r2, [r3, #0] break; 8049406: e14e b.n 80496a6 case ARCHIVE_WAVE: focused = false; 8049408: 4b3c ldr r3, [pc, #240] ; (80494fc ) 804940a: 2200 movs r2, #0 804940c: 701a strb r2, [r3, #0] if(NeedClean == 0) 804940e: 4b44 ldr r3, [pc, #272] ; (8049520 ) 8049410: 781b ldrb r3, [r3, #0] 8049412: b2db uxtb r3, r3 8049414: 2b00 cmp r3, #0 8049416: f040 8142 bne.w 804969e { menu = OPTIONS; 804941a: 4b39 ldr r3, [pc, #228] ; (8049500 ) 804941c: 2201 movs r2, #1 804941e: 701a strb r2, [r3, #0] menupos = PlayFiles; 8049420: 4b38 ldr r3, [pc, #224] ; (8049504 ) 8049422: 2203 movs r2, #3 8049424: 701a strb r2, [r3, #0] } break; 8049426: e13a b.n 804969e case ROUTE: focused = false; 8049428: 4b34 ldr r3, [pc, #208] ; (80494fc ) 804942a: 2200 movs r2, #0 804942c: 701a strb r2, [r3, #0] if(NeedClean == 0) 804942e: 4b3c ldr r3, [pc, #240] ; (8049520 ) 8049430: 781b ldrb r3, [r3, #0] 8049432: b2db uxtb r3, r3 8049434: 2b00 cmp r3, #0 8049436: f040 8135 bne.w 80496a4 { RouteIndex = MaxRouteIndex = 0; 804943a: 2300 movs r3, #0 804943c: 4a3c ldr r2, [pc, #240] ; (8049530 ) 804943e: 6013 str r3, [r2, #0] 8049440: 4a35 ldr r2, [pc, #212] ; (8049518 ) 8049442: 6013 str r3, [r2, #0] memset((void *) &RouteMeas(0), 0, 65536u); 8049444: f44f 3280 mov.w r2, #65536 ; 0x10000 8049448: 2100 movs r1, #0 804944a: 4834 ldr r0, [pc, #208] ; (804951c ) 804944c: f083 fdfc bl 80cd048 menu = OPTIONS; 8049450: 4b2b ldr r3, [pc, #172] ; (8049500 ) 8049452: 2201 movs r2, #1 8049454: 701a strb r2, [r3, #0] menupos = Route; 8049456: 4b2b ldr r3, [pc, #172] ; (8049504 ) 8049458: 2204 movs r2, #4 804945a: 701a strb r2, [r3, #0] } break; 804945c: e122 b.n 80496a4 case ROUTE_MAP: focused = false; 804945e: 4b27 ldr r3, [pc, #156] ; (80494fc ) 8049460: 2200 movs r2, #0 8049462: 701a strb r2, [r3, #0] menu = ROUTE; 8049464: 4b26 ldr r3, [pc, #152] ; (8049500 ) 8049466: 2203 movs r2, #3 8049468: 701a strb r2, [r3, #0] menupos = FilesCSV; 804946a: 4b26 ldr r3, [pc, #152] ; (8049504 ) 804946c: 2202 movs r2, #2 804946e: 701a strb r2, [r3, #0] memcpy((void *) &pardata, (void *) &pardata_old, sizeof(pardata)); 8049470: 4a28 ldr r2, [pc, #160] ; (8049514 ) 8049472: 4b30 ldr r3, [pc, #192] ; (8049534 ) 8049474: 4610 mov r0, r2 8049476: 4619 mov r1, r3 8049478: f44f 6396 mov.w r3, #1200 ; 0x4b0 804947c: 461a mov r2, r3 804947e: f083 fdd8 bl 80cd032 RouteIndex = 0; 8049482: 4b25 ldr r3, [pc, #148] ; (8049518 ) 8049484: 2200 movs r2, #0 8049486: 601a str r2, [r3, #0] for(i = 0; i < MaxRouteIndex; i++) 8049488: 2300 movs r3, #0 804948a: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 804948e: e058 b.n 8049542 { if(RouteMeas(i) != 0) 8049490: f8d7 20c0 ldr.w r2, [r7, #192] ; 0xc0 8049494: 4b21 ldr r3, [pc, #132] ; (804951c ) 8049496: 4413 add r3, r2 8049498: 781b ldrb r3, [r3, #0] 804949a: 2b00 cmp r3, #0 804949c: d04c beq.n 8049538 { RouteIndex = i + 1; 804949e: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 80494a2: 3301 adds r3, #1 80494a4: 4a1c ldr r2, [pc, #112] ; (8049518 ) 80494a6: 6013 str r3, [r2, #0] if(RouteIndex == MaxRouteIndex) 80494a8: 4b1b ldr r3, [pc, #108] ; (8049518 ) 80494aa: 681a ldr r2, [r3, #0] 80494ac: 4b20 ldr r3, [pc, #128] ; (8049530 ) 80494ae: 681b ldr r3, [r3, #0] 80494b0: 429a cmp r2, r3 80494b2: d141 bne.n 8049538 { for(l = 0; l < MaxRouteIndex; l++) 80494b4: 2300 movs r3, #0 80494b6: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 80494ba: e00f b.n 80494dc { if(RouteMeas(l) == 0) { 80494bc: f8d7 20b8 ldr.w r2, [r7, #184] ; 0xb8 80494c0: 4b16 ldr r3, [pc, #88] ; (804951c ) 80494c2: 4413 add r3, r2 80494c4: 781b ldrb r3, [r3, #0] 80494c6: 2b00 cmp r3, #0 80494c8: d103 bne.n 80494d2 RouteIndex = l; 80494ca: 4a13 ldr r2, [pc, #76] ; (8049518 ) 80494cc: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 80494d0: 6013 str r3, [r2, #0] for(l = 0; l < MaxRouteIndex; l++) 80494d2: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 80494d6: 3301 adds r3, #1 80494d8: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 80494dc: 4b14 ldr r3, [pc, #80] ; (8049530 ) 80494de: 681b ldr r3, [r3, #0] 80494e0: f8d7 20b8 ldr.w r2, [r7, #184] ; 0xb8 80494e4: 429a cmp r2, r3 80494e6: d3e9 bcc.n 80494bc } } if(RouteIndex == MaxRouteIndex) 80494e8: 4b0b ldr r3, [pc, #44] ; (8049518 ) 80494ea: 681a ldr r2, [r3, #0] 80494ec: 4b10 ldr r3, [pc, #64] ; (8049530 ) 80494ee: 681b ldr r3, [r3, #0] 80494f0: 429a cmp r2, r3 80494f2: d121 bne.n 8049538 { RouteIndex = 0; 80494f4: 4b08 ldr r3, [pc, #32] ; (8049518 ) 80494f6: 2200 movs r2, #0 80494f8: 601a str r2, [r3, #0] break; 80494fa: e028 b.n 804954e 80494fc: 20020f84 .word 0x20020f84 8049500: 20020f78 .word 0x20020f78 8049504: 20020070 .word 0x20020070 8049508: 20020071 .word 0x20020071 804950c: 20020d8e .word 0x20020d8e 8049510: 20020db3 .word 0x20020db3 8049514: 20023e60 .word 0x20023e60 8049518: 20020f6c .word 0x20020f6c 804951c: 64100000 .word 0x64100000 8049520: 20020ddc .word 0x20020ddc 8049524: 20020e58 .word 0x20020e58 8049528: 20020e7c .word 0x20020e7c 804952c: 20021011 .word 0x20021011 8049530: 20020f70 .word 0x20020f70 8049534: 2002437c .word 0x2002437c for(i = 0; i < MaxRouteIndex; i++) 8049538: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 804953c: 3301 adds r3, #1 804953e: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 8049542: 4bc2 ldr r3, [pc, #776] ; (804984c ) 8049544: 681b ldr r3, [r3, #0] 8049546: f8d7 20c0 ldr.w r2, [r7, #192] ; 0xc0 804954a: 429a cmp r2, r3 804954c: d3a0 bcc.n 8049490 } } } } pardata.ROUTE_POINT = RouteIndex; 804954e: 4bc0 ldr r3, [pc, #768] ; (8049850 ) 8049550: 681b ldr r3, [r3, #0] 8049552: 4ac0 ldr r2, [pc, #768] ; (8049854 ) 8049554: f8c2 34ac str.w r3, [r2, #1196] ; 0x4ac if(pardata.ROUTE_POINT >= MaxRouteIndex) { 8049558: 4bbe ldr r3, [pc, #760] ; (8049854 ) 804955a: f8d3 24ac ldr.w r2, [r3, #1196] ; 0x4ac 804955e: 4bbb ldr r3, [pc, #748] ; (804984c ) 8049560: 681b ldr r3, [r3, #0] 8049562: 429a cmp r2, r3 8049564: d303 bcc.n 804956e pardata.ROUTE_POINT = 0; 8049566: 4bbb ldr r3, [pc, #748] ; (8049854 ) 8049568: 2200 movs r2, #0 804956a: f8c3 24ac str.w r2, [r3, #1196] ; 0x4ac } memcpy(RouteFileName, RouteName, 40); 804956e: 4aba ldr r2, [pc, #744] ; (8049858 ) 8049570: 4bba ldr r3, [pc, #744] ; (804985c ) 8049572: 4610 mov r0, r2 8049574: f103 0420 add.w r4, r3, #32 8049578: 4602 mov r2, r0 804957a: 4619 mov r1, r3 804957c: f8d1 e000 ldr.w lr, [r1] 8049580: 684e ldr r6, [r1, #4] 8049582: 688d ldr r5, [r1, #8] 8049584: 68c9 ldr r1, [r1, #12] 8049586: f8c2 e000 str.w lr, [r2] 804958a: 6056 str r6, [r2, #4] 804958c: 6095 str r5, [r2, #8] 804958e: 60d1 str r1, [r2, #12] 8049590: 3310 adds r3, #16 8049592: 3010 adds r0, #16 8049594: 42a3 cmp r3, r4 8049596: d1ef bne.n 8049578 8049598: 4602 mov r2, r0 804959a: 6819 ldr r1, [r3, #0] 804959c: 685b ldr r3, [r3, #4] 804959e: 6011 str r1, [r2, #0] 80495a0: 6053 str r3, [r2, #4] wrPar(); 80495a2: f7e4 fe71 bl 802e288 RoutePointID = 0xffffffff; 80495a6: 4bae ldr r3, [pc, #696] ; (8049860 ) 80495a8: f04f 32ff mov.w r2, #4294967295 80495ac: 601a str r2, [r3, #0] RouteIndex = MaxRouteIndex = 0; 80495ae: 2300 movs r3, #0 80495b0: 4aa6 ldr r2, [pc, #664] ; (804984c ) 80495b2: 6013 str r3, [r2, #0] 80495b4: 4aa6 ldr r2, [pc, #664] ; (8049850 ) 80495b6: 6013 str r3, [r2, #0] memset((void *) &RouteMeas(0), 0, 65536u); 80495b8: f44f 3280 mov.w r2, #65536 ; 0x10000 80495bc: 2100 movs r1, #0 80495be: 48a9 ldr r0, [pc, #676] ; (8049864 ) 80495c0: f083 fd42 bl 80cd048 break; 80495c4: e06f b.n 80496a6 case SETTINGS: focused = false; 80495c6: 4ba8 ldr r3, [pc, #672] ; (8049868 ) 80495c8: 2200 movs r2, #0 80495ca: 701a strb r2, [r3, #0] menu = OPTIONS; 80495cc: 4ba7 ldr r3, [pc, #668] ; (804986c ) 80495ce: 2201 movs r2, #1 80495d0: 701a strb r2, [r3, #0] menupos = Settings; 80495d2: 4ba7 ldr r3, [pc, #668] ; (8049870 ) 80495d4: 2202 movs r2, #2 80495d6: 701a strb r2, [r3, #0] break; 80495d8: e065 b.n 80496a6 case DATETIME: focused = false; 80495da: 4ba3 ldr r3, [pc, #652] ; (8049868 ) 80495dc: 2200 movs r2, #0 80495de: 701a strb r2, [r3, #0] menu = SETTINGS; 80495e0: 4ba2 ldr r3, [pc, #648] ; (804986c ) 80495e2: 2212 movs r2, #18 80495e4: 701a strb r2, [r3, #0] menupos = DateTime; 80495e6: 4ba2 ldr r3, [pc, #648] ; (8049870 ) 80495e8: 2204 movs r2, #4 80495ea: 701a strb r2, [r3, #0] break; 80495ec: e05b b.n 80496a6 case INPUT_NAME: focused = false; 80495ee: 4b9e ldr r3, [pc, #632] ; (8049868 ) 80495f0: 2200 movs r2, #0 80495f2: 701a strb r2, [r3, #0] NameLen = strlen(Name); 80495f4: 489f ldr r0, [pc, #636] ; (8049874 ) 80495f6: f7d6 fe8d bl 8020314 80495fa: 4602 mov r2, r0 80495fc: 4b9e ldr r3, [pc, #632] ; (8049878 ) 80495fe: 601a str r2, [r3, #0] menu = PARAM_DIAGN_2; 8049600: 4b9a ldr r3, [pc, #616] ; (804986c ) 8049602: 2211 movs r2, #17 8049604: 701a strb r2, [r3, #0] menupos = lastmenupos; 8049606: 4b9d ldr r3, [pc, #628] ; (804987c ) 8049608: 781b ldrb r3, [r3, #0] 804960a: b2da uxtb r2, r3 804960c: 4b98 ldr r3, [pc, #608] ; (8049870 ) 804960e: 701a strb r2, [r3, #0] break; 8049610: e049 b.n 80496a6 case INPUT_NAME_SPEC: menu = lastmenu; 8049612: 4b9b ldr r3, [pc, #620] ; (8049880 ) 8049614: 781b ldrb r3, [r3, #0] 8049616: b2da uxtb r2, r3 8049618: 4b94 ldr r3, [pc, #592] ; (804986c ) 804961a: 701a strb r2, [r3, #0] menupos = SaveSpec; 804961c: 4b94 ldr r3, [pc, #592] ; (8049870 ) 804961e: 2209 movs r2, #9 8049620: 701a strb r2, [r3, #0] break; 8049622: e040 b.n 80496a6 case INPUT_NAME_PTM: focused = false; 8049624: 4b90 ldr r3, [pc, #576] ; (8049868 ) 8049626: 2200 movs r2, #0 8049628: 701a strb r2, [r3, #0] MeasFileNameLen = strlen(MeasFileName); 804962a: 4896 ldr r0, [pc, #600] ; (8049884 ) 804962c: f7d6 fe72 bl 8020314 8049630: 4602 mov r2, r0 8049632: 4b95 ldr r3, [pc, #596] ; (8049888 ) 8049634: 601a str r2, [r3, #0] menu = EXPLORER; 8049636: 4b8d ldr r3, [pc, #564] ; (804986c ) 8049638: 2229 movs r2, #41 ; 0x29 804963a: 701a strb r2, [r3, #0] menupos = lastmenupos; 804963c: 4b8f ldr r3, [pc, #572] ; (804987c ) 804963e: 781b ldrb r3, [r3, #0] 8049640: b2da uxtb r2, r3 8049642: 4b8b ldr r3, [pc, #556] ; (8049870 ) 8049644: 701a strb r2, [r3, #0] break; 8049646: e02e b.n 80496a6 case INPUT_NAME_GTR: focused = false; 8049648: 4b87 ldr r3, [pc, #540] ; (8049868 ) 804964a: 2200 movs r2, #0 804964c: 701a strb r2, [r3, #0] WavFileNameLen = strlen(WavFileName); 804964e: 488f ldr r0, [pc, #572] ; (804988c ) 8049650: f7d6 fe60 bl 8020314 8049654: 4602 mov r2, r0 8049656: 4b8e ldr r3, [pc, #568] ; (8049890 ) 8049658: 601a str r2, [r3, #0] menu = PARAM_WAVE; 804965a: 4b84 ldr r3, [pc, #528] ; (804986c ) 804965c: 220a movs r2, #10 804965e: 701a strb r2, [r3, #0] menupos = WaveName; 8049660: 4b83 ldr r3, [pc, #524] ; (8049870 ) 8049662: 2204 movs r2, #4 8049664: 701a strb r2, [r3, #0] pardata.IVS[ACC] = PEAK; 8049666: 4b7b ldr r3, [pc, #492] ; (8049854 ) 8049668: 2200 movs r2, #0 804966a: 709a strb r2, [r3, #2] break; 804966c: e01b b.n 80496a6 case INPUT_NAME_DGN: focused = false; 804966e: 4b7e ldr r3, [pc, #504] ; (8049868 ) 8049670: 2200 movs r2, #0 8049672: 701a strb r2, [r3, #0] DiagFileNameLen = strlen(DiagFileName); 8049674: 4887 ldr r0, [pc, #540] ; (8049894 ) 8049676: f7d6 fe4d bl 8020314 804967a: 4602 mov r2, r0 804967c: 4b86 ldr r3, [pc, #536] ; (8049898 ) 804967e: 601a str r2, [r3, #0] menu = EXPLORER_DIAGN; 8049680: 4b7a ldr r3, [pc, #488] ; (804986c ) 8049682: 222a movs r2, #42 ; 0x2a 8049684: 701a strb r2, [r3, #0] menupos = lastmenupos; 8049686: 4b7d ldr r3, [pc, #500] ; (804987c ) 8049688: 781b ldrb r3, [r3, #0] 804968a: b2da uxtb r2, r3 804968c: 4b78 ldr r3, [pc, #480] ; (8049870 ) 804968e: 701a strb r2, [r3, #0] break; 8049690: e009 b.n 80496a6 break; 8049692: bf00 nop 8049694: f009 bb62 b.w 8052d5c break; 8049698: bf00 nop 804969a: f009 bb5f b.w 8052d5c break; 804969e: bf00 nop 80496a0: f009 bb5c b.w 8052d5c break; 80496a4: bf00 nop } break; 80496a6: f009 bb59 b.w 8052d5c case KEY_OK: // TODO KEY OK switch(menu) 80496aa: 4b70 ldr r3, [pc, #448] ; (804986c ) 80496ac: 781b ldrb r3, [r3, #0] 80496ae: b2db uxtb r3, r3 80496b0: 2b47 cmp r3, #71 ; 0x47 80496b2: f209 8355 bhi.w 8052d60 80496b6: a201 add r2, pc, #4 ; (adr r2, 80496bc ) 80496b8: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80496bc: 0804a47d .word 0x0804a47d 80496c0: 0804fbe5 .word 0x0804fbe5 80496c4: 0805089d .word 0x0805089d 80496c8: 08050181 .word 0x08050181 80496cc: 080503cf .word 0x080503cf 80496d0: 08052d61 .word 0x08052d61 80496d4: 080515a1 .word 0x080515a1 80496d8: 080518a9 .word 0x080518a9 80496dc: 08051b35 .word 0x08051b35 80496e0: 08052d61 .word 0x08052d61 80496e4: 08051d67 .word 0x08051d67 80496e8: 08052d61 .word 0x08052d61 80496ec: 08052d61 .word 0x08052d61 80496f0: 08051355 .word 0x08051355 80496f4: 080512a9 .word 0x080512a9 80496f8: 08050f63 .word 0x08050f63 80496fc: 0805111d .word 0x0805111d 8049700: 0805113d .word 0x0805113d 8049704: 08051fe1 .word 0x08051fe1 8049708: 08052d61 .word 0x08052d61 804970c: 08052771 .word 0x08052771 8049710: 08052965 .word 0x08052965 8049714: 08052ca9 .word 0x08052ca9 8049718: 08052aed .word 0x08052aed 804971c: 080523d1 .word 0x080523d1 8049720: 08052139 .word 0x08052139 8049724: 08052d61 .word 0x08052d61 8049728: 08052d61 .word 0x08052d61 804972c: 0804bc63 .word 0x0804bc63 8049730: 0804a881 .word 0x0804a881 8049734: 0804dd1d .word 0x0804dd1d 8049738: 0804a47d .word 0x0804a47d 804973c: 0804e1a7 .word 0x0804e1a7 8049740: 0804c7c1 .word 0x0804c7c1 8049744: 0804d2f5 .word 0x0804d2f5 8049748: 0804d809 .word 0x0804d809 804974c: 0804b59b .word 0x0804b59b 8049750: 08049db5 .word 0x08049db5 8049754: 080497dd .word 0x080497dd 8049758: 0804af51 .word 0x0804af51 804975c: 0804af75 .word 0x0804af75 8049760: 0804e56d .word 0x0804e56d 8049764: 0804e6e3 .word 0x0804e6e3 8049768: 0804f125 .word 0x0804f125 804976c: 0804f4b3 .word 0x0804f4b3 8049770: 0804fa31 .word 0x0804fa31 8049774: 08052d61 .word 0x08052d61 8049778: 0804f6d9 .word 0x0804f6d9 804977c: 0804f8ad .word 0x0804f8ad 8049780: 0804edbd .word 0x0804edbd 8049784: 0804e895 .word 0x0804e895 8049788: 0804f311 .word 0x0804f311 804978c: 0805249b .word 0x0805249b 8049790: 08052425 .word 0x08052425 8049794: 080524b7 .word 0x080524b7 8049798: 080524b7 .word 0x080524b7 804979c: 080524b7 .word 0x080524b7 80497a0: 080524b7 .word 0x080524b7 80497a4: 080524b7 .word 0x080524b7 80497a8: 080524b7 .word 0x080524b7 80497ac: 080524b7 .word 0x080524b7 80497b0: 080524b7 .word 0x080524b7 80497b4: 08052533 .word 0x08052533 80497b8: 08052575 .word 0x08052575 80497bc: 080525b3 .word 0x080525b3 80497c0: 0805274d .word 0x0805274d 80497c4: 08052d61 .word 0x08052d61 80497c8: 08052d61 .word 0x08052d61 80497cc: 08052d61 .word 0x08052d61 80497d0: 0804a459 .word 0x0804a459 80497d4: 0804a459 .word 0x0804a459 80497d8: 0804a459 .word 0x0804a459 { case MAIN_DIAGN: switch(menupos) 80497dc: 4b24 ldr r3, [pc, #144] ; (8049870 ) 80497de: 781b ldrb r3, [r3, #0] 80497e0: b2db uxtb r3, r3 80497e2: 2b04 cmp r3, #4 80497e4: f209 8262 bhi.w 8052cac 80497e8: a201 add r2, pc, #4 ; (adr r2, 80497f0 ) 80497ea: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80497ee: bf00 nop 80497f0: 08049817 .word 0x08049817 80497f4: 08049805 .word 0x08049805 80497f8: 080498ad .word 0x080498ad 80497fc: 08049da9 .word 0x08049da9 8049800: 08049da9 .word 0x08049da9 { case BackMenu: StopMeas(); 8049804: f7d9 ffca bl 802379c menu = PARAM_DIAGN_2; 8049808: 4b18 ldr r3, [pc, #96] ; (804986c ) 804980a: 2211 movs r2, #17 804980c: 701a strb r2, [r3, #0] menupos = Ok; 804980e: 4b18 ldr r3, [pc, #96] ; (8049870 ) 8049810: 2200 movs r2, #0 8049812: 701a strb r2, [r3, #0] break; 8049814: e2cc b.n 8049db0 case StartStop: if(!measuring) 8049816: 4b21 ldr r3, [pc, #132] ; (804989c ) 8049818: 781b ldrb r3, [r3, #0] 804981a: b2db uxtb r3, r3 804981c: f083 0301 eor.w r3, r3, #1 8049820: b2db uxtb r3, r3 8049822: 2b00 cmp r3, #0 8049824: d00a beq.n 804983c { initAmplif(); 8049826: f7d8 f935 bl 8021a94 StartMeas(); 804982a: f7d9 fc07 bl 802303c FIRST = true; 804982e: 4b1c ldr r3, [pc, #112] ; (80498a0 ) 8049830: 2201 movs r2, #1 8049832: 701a strb r2, [r3, #0] DrawSavedData = false; 8049834: 4b1b ldr r3, [pc, #108] ; (80498a4 ) 8049836: 2200 movs r2, #0 8049838: 701a strb r2, [r3, #0] else { StopMeas(); oldmenupos = menupos; } break; 804983a: e2b9 b.n 8049db0 StopMeas(); 804983c: f7d9 ffae bl 802379c oldmenupos = menupos; 8049840: 4b0b ldr r3, [pc, #44] ; (8049870 ) 8049842: 781b ldrb r3, [r3, #0] 8049844: b2da uxtb r2, r3 8049846: 4b18 ldr r3, [pc, #96] ; (80498a8 ) 8049848: 701a strb r2, [r3, #0] break; 804984a: e2b1 b.n 8049db0 804984c: 20020f70 .word 0x20020f70 8049850: 20020f6c .word 0x20020f6c 8049854: 20023e60 .word 0x20023e60 8049858: 20020ea0 .word 0x20020ea0 804985c: 20022628 .word 0x20022628 8049860: 20020034 .word 0x20020034 8049864: 64100000 .word 0x64100000 8049868: 20020f84 .word 0x20020f84 804986c: 20020f78 .word 0x20020f78 8049870: 20020070 .word 0x20020070 8049874: 20020ec4 .word 0x20020ec4 8049878: 20020ef4 .word 0x20020ef4 804987c: 20020071 .word 0x20020071 8049880: 20020f79 .word 0x20020f79 8049884: 20020e58 .word 0x20020e58 8049888: 20020eec .word 0x20020eec 804988c: 20020e34 .word 0x20020e34 8049890: 20020ee8 .word 0x20020ee8 8049894: 20020e7c .word 0x20020e7c 8049898: 20020ef0 .word 0x20020ef0 804989c: 20020daf .word 0x20020daf 80498a0: 20020db2 .word 0x20020db2 80498a4: 20020dca .word 0x20020dca 80498a8: 20020f7a .word 0x20020f7a case Record: if(CardState == MSD_READY) 80498ac: 4bae ldr r3, [pc, #696] ; (8049b68 ) 80498ae: 781b ldrb r3, [r3, #0] 80498b0: b2db uxtb r3, r3 80498b2: 2b03 cmp r3, #3 80498b4: f040 826d bne.w 8049d92 { if((!measuring) && (!AddToFile) && (!FIRST)) 80498b8: 4bac ldr r3, [pc, #688] ; (8049b6c ) 80498ba: 781b ldrb r3, [r3, #0] 80498bc: b2db uxtb r3, r3 80498be: f083 0301 eor.w r3, r3, #1 80498c2: b2db uxtb r3, r3 80498c4: 2b00 cmp r3, #0 80498c6: f000 8272 beq.w 8049dae 80498ca: 4ba9 ldr r3, [pc, #676] ; (8049b70 ) 80498cc: 781b ldrb r3, [r3, #0] 80498ce: b2db uxtb r3, r3 80498d0: f083 0301 eor.w r3, r3, #1 80498d4: b2db uxtb r3, r3 80498d6: 2b00 cmp r3, #0 80498d8: f000 8269 beq.w 8049dae 80498dc: 4ba5 ldr r3, [pc, #660] ; (8049b74 ) 80498de: 781b ldrb r3, [r3, #0] 80498e0: b2db uxtb r3, r3 80498e2: f083 0301 eor.w r3, r3, #1 80498e6: b2db uxtb r3, r3 80498e8: 2b00 cmp r3, #0 80498ea: f000 8260 beq.w 8049dae { if(NEWFILE) 80498ee: 4ba2 ldr r3, [pc, #648] ; (8049b78 ) 80498f0: 781b ldrb r3, [r3, #0] 80498f2: b2db uxtb r3, r3 80498f4: 2b00 cmp r3, #0 80498f6: d02b beq.n 8049950 { memcpy(TEMP_Comment, Comment, sizeof(Comment)); 80498f8: 4aa0 ldr r2, [pc, #640] ; (8049b7c ) 80498fa: 4ba1 ldr r3, [pc, #644] ; (8049b80 ) 80498fc: 4610 mov r0, r2 80498fe: f103 0420 add.w r4, r3, #32 8049902: 4602 mov r2, r0 8049904: 4619 mov r1, r3 8049906: f8d1 e000 ldr.w lr, [r1] 804990a: 684e ldr r6, [r1, #4] 804990c: 688d ldr r5, [r1, #8] 804990e: 68c9 ldr r1, [r1, #12] 8049910: f8c2 e000 str.w lr, [r2] 8049914: 6056 str r6, [r2, #4] 8049916: 6095 str r5, [r2, #8] 8049918: 60d1 str r1, [r2, #12] 804991a: 3310 adds r3, #16 804991c: 3010 adds r0, #16 804991e: 42a3 cmp r3, r4 8049920: d1ef bne.n 8049902 8049922: 4602 mov r2, r0 8049924: 6819 ldr r1, [r3, #0] 8049926: 685b ldr r3, [r3, #4] 8049928: 6011 str r1, [r2, #0] 804992a: 6053 str r3, [r2, #4] CommentLen = strlen(TEMP_Comment); 804992c: 4893 ldr r0, [pc, #588] ; (8049b7c ) 804992e: f7d6 fcf1 bl 8020314 8049932: 4602 mov r2, r0 8049934: 4b93 ldr r3, [pc, #588] ; (8049b84 ) 8049936: 601a str r2, [r3, #0] lastmenu = menu; 8049938: 4b93 ldr r3, [pc, #588] ; (8049b88 ) 804993a: 781b ldrb r3, [r3, #0] 804993c: b2da uxtb r2, r3 804993e: 4b93 ldr r3, [pc, #588] ; (8049b8c ) 8049940: 701a strb r2, [r3, #0] menu = INPUT_COMMENT_DIAGN; 8049942: 4b91 ldr r3, [pc, #580] ; (8049b88 ) 8049944: 2232 movs r2, #50 ; 0x32 8049946: 701a strb r2, [r3, #0] menupos = _ENTER; 8049948: 4b91 ldr r3, [pc, #580] ; (8049b90 ) 804994a: 2226 movs r2, #38 ; 0x26 804994c: 701a strb r2, [r3, #0] { STATUS = AP_NO_CARD; timerStatus = sec2; DrawStatus = true; } break; 804994e: e22e b.n 8049dae DiagnFileData.d_Op1_ipr = pardata.DIAGN_MASK[CURR_POINT][Us1] & 0x7; 8049950: 4b90 ldr r3, [pc, #576] ; (8049b94 ) 8049952: 781b ldrb r3, [r3, #0] 8049954: b2db uxtb r3, r3 8049956: 4a90 ldr r2, [pc, #576] ; (8049b98 ) 8049958: 338e adds r3, #142 ; 0x8e 804995a: 009b lsls r3, r3, #2 804995c: 4413 add r3, r2 804995e: 791b ldrb r3, [r3, #4] 8049960: b2db uxtb r3, r3 8049962: f003 0307 and.w r3, r3, #7 8049966: b2da uxtb r2, r3 8049968: 4b8c ldr r3, [pc, #560] ; (8049b9c ) 804996a: f883 2028 strb.w r2, [r3, #40] ; 0x28 DiagnFileData.d_Op2_ipr = pardata.DIAGN_MASK[CURR_POINT][Us2] & 0x7; 804996e: 4b89 ldr r3, [pc, #548] ; (8049b94 ) 8049970: 781b ldrb r3, [r3, #0] 8049972: b2db uxtb r3, r3 8049974: 4a88 ldr r2, [pc, #544] ; (8049b98 ) 8049976: 009b lsls r3, r3, #2 8049978: 4413 add r3, r2 804997a: f893 323d ldrb.w r3, [r3, #573] ; 0x23d 804997e: b2db uxtb r3, r3 8049980: f003 0307 and.w r3, r3, #7 8049984: b2da uxtb r2, r3 8049986: 4b85 ldr r3, [pc, #532] ; (8049b9c ) 8049988: f883 2029 strb.w r2, [r3, #41] ; 0x29 DiagnFileData.d_Op3_ipr = pardata.DIAGN_MASK[CURR_POINT][Us3] & 0x7; 804998c: 4b81 ldr r3, [pc, #516] ; (8049b94 ) 804998e: 781b ldrb r3, [r3, #0] 8049990: b2db uxtb r3, r3 8049992: 4a81 ldr r2, [pc, #516] ; (8049b98 ) 8049994: 009b lsls r3, r3, #2 8049996: 4413 add r3, r2 8049998: f893 323e ldrb.w r3, [r3, #574] ; 0x23e 804999c: b2db uxtb r3, r3 804999e: f003 0307 and.w r3, r3, #7 80499a2: b2da uxtb r2, r3 80499a4: 4b7d ldr r3, [pc, #500] ; (8049b9c ) 80499a6: f883 202a strb.w r2, [r3, #42] ; 0x2a switch((pardata.DIAGN_MASK[CURR_POINT][Us1] >> 3) & 0x1f) 80499aa: 4b7a ldr r3, [pc, #488] ; (8049b94 ) 80499ac: 781b ldrb r3, [r3, #0] 80499ae: b2db uxtb r3, r3 80499b0: 4a79 ldr r2, [pc, #484] ; (8049b98 ) 80499b2: 338e adds r3, #142 ; 0x8e 80499b4: 009b lsls r3, r3, #2 80499b6: 4413 add r3, r2 80499b8: 791b ldrb r3, [r3, #4] 80499ba: b2db uxtb r3, r3 80499bc: 08db lsrs r3, r3, #3 80499be: b2db uxtb r3, r3 80499c0: f003 031f and.w r3, r3, #31 80499c4: 3b01 subs r3, #1 80499c6: 2b0f cmp r3, #15 80499c8: d83b bhi.n 8049a42 80499ca: a201 add r2, pc, #4 ; (adr r2, 80499d0 ) 80499cc: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80499d0: 08049a11 .word 0x08049a11 80499d4: 08049a1b .word 0x08049a1b 80499d8: 08049a43 .word 0x08049a43 80499dc: 08049a25 .word 0x08049a25 80499e0: 08049a43 .word 0x08049a43 80499e4: 08049a43 .word 0x08049a43 80499e8: 08049a43 .word 0x08049a43 80499ec: 08049a2f .word 0x08049a2f 80499f0: 08049a43 .word 0x08049a43 80499f4: 08049a43 .word 0x08049a43 80499f8: 08049a43 .word 0x08049a43 80499fc: 08049a43 .word 0x08049a43 8049a00: 08049a43 .word 0x08049a43 8049a04: 08049a43 .word 0x08049a43 8049a08: 08049a43 .word 0x08049a43 8049a0c: 08049a39 .word 0x08049a39 case DIAGN_PEAK: DiagnFileData.d_Op1_ivs = 'P'; break; 8049a10: 4b62 ldr r3, [pc, #392] ; (8049b9c ) 8049a12: 2250 movs r2, #80 ; 0x50 8049a14: f883 202b strb.w r2, [r3, #43] ; 0x2b 8049a18: e013 b.n 8049a42 case DIAGN_RMS: DiagnFileData.d_Op1_ivs = 'S'; break; 8049a1a: 4b60 ldr r3, [pc, #384] ; (8049b9c ) 8049a1c: 2253 movs r2, #83 ; 0x53 8049a1e: f883 202b strb.w r2, [r3, #43] ; 0x2b 8049a22: e00e b.n 8049a42 case DIAGN_PEAK_TO_PEAK: DiagnFileData.d_Op1_ivs = 'R'; break; 8049a24: 4b5d ldr r3, [pc, #372] ; (8049b9c ) 8049a26: 2252 movs r2, #82 ; 0x52 8049a28: f883 202b strb.w r2, [r3, #43] ; 0x2b 8049a2c: e009 b.n 8049a42 case DIAGN_PEAK_FACTOR: DiagnFileData.d_Op1_ivs = 'F'; break; 8049a2e: 4b5b ldr r3, [pc, #364] ; (8049b9c ) 8049a30: 2246 movs r2, #70 ; 0x46 8049a32: f883 202b strb.w r2, [r3, #43] ; 0x2b 8049a36: e004 b.n 8049a42 case DIAGN_EXCESS: DiagnFileData.d_Op1_ivs = 'E'; break; 8049a38: 4b58 ldr r3, [pc, #352] ; (8049b9c ) 8049a3a: 2245 movs r2, #69 ; 0x45 8049a3c: f883 202b strb.w r2, [r3, #43] ; 0x2b 8049a40: bf00 nop switch((pardata.DIAGN_MASK[CURR_POINT][Us2] >> 3) & 0x1f) 8049a42: 4b54 ldr r3, [pc, #336] ; (8049b94 ) 8049a44: 781b ldrb r3, [r3, #0] 8049a46: b2db uxtb r3, r3 8049a48: 4a53 ldr r2, [pc, #332] ; (8049b98 ) 8049a4a: 009b lsls r3, r3, #2 8049a4c: 4413 add r3, r2 8049a4e: f893 323d ldrb.w r3, [r3, #573] ; 0x23d 8049a52: b2db uxtb r3, r3 8049a54: 08db lsrs r3, r3, #3 8049a56: b2db uxtb r3, r3 8049a58: f003 031f and.w r3, r3, #31 8049a5c: 3b01 subs r3, #1 8049a5e: 2b0f cmp r3, #15 8049a60: d83b bhi.n 8049ada 8049a62: a201 add r2, pc, #4 ; (adr r2, 8049a68 ) 8049a64: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8049a68: 08049aa9 .word 0x08049aa9 8049a6c: 08049ab3 .word 0x08049ab3 8049a70: 08049adb .word 0x08049adb 8049a74: 08049abd .word 0x08049abd 8049a78: 08049adb .word 0x08049adb 8049a7c: 08049adb .word 0x08049adb 8049a80: 08049adb .word 0x08049adb 8049a84: 08049ac7 .word 0x08049ac7 8049a88: 08049adb .word 0x08049adb 8049a8c: 08049adb .word 0x08049adb 8049a90: 08049adb .word 0x08049adb 8049a94: 08049adb .word 0x08049adb 8049a98: 08049adb .word 0x08049adb 8049a9c: 08049adb .word 0x08049adb 8049aa0: 08049adb .word 0x08049adb 8049aa4: 08049ad1 .word 0x08049ad1 case DIAGN_PEAK: DiagnFileData.d_Op2_ivs = 'P'; break; 8049aa8: 4b3c ldr r3, [pc, #240] ; (8049b9c ) 8049aaa: 2250 movs r2, #80 ; 0x50 8049aac: f883 202c strb.w r2, [r3, #44] ; 0x2c 8049ab0: e013 b.n 8049ada case DIAGN_RMS: DiagnFileData.d_Op2_ivs = 'S'; break; 8049ab2: 4b3a ldr r3, [pc, #232] ; (8049b9c ) 8049ab4: 2253 movs r2, #83 ; 0x53 8049ab6: f883 202c strb.w r2, [r3, #44] ; 0x2c 8049aba: e00e b.n 8049ada case DIAGN_PEAK_TO_PEAK: DiagnFileData.d_Op2_ivs = 'R'; break; 8049abc: 4b37 ldr r3, [pc, #220] ; (8049b9c ) 8049abe: 2252 movs r2, #82 ; 0x52 8049ac0: f883 202c strb.w r2, [r3, #44] ; 0x2c 8049ac4: e009 b.n 8049ada case DIAGN_PEAK_FACTOR: DiagnFileData.d_Op2_ivs = 'F'; break; 8049ac6: 4b35 ldr r3, [pc, #212] ; (8049b9c ) 8049ac8: 2246 movs r2, #70 ; 0x46 8049aca: f883 202c strb.w r2, [r3, #44] ; 0x2c 8049ace: e004 b.n 8049ada case DIAGN_EXCESS: DiagnFileData.d_Op2_ivs = 'E'; break; 8049ad0: 4b32 ldr r3, [pc, #200] ; (8049b9c ) 8049ad2: 2245 movs r2, #69 ; 0x45 8049ad4: f883 202c strb.w r2, [r3, #44] ; 0x2c 8049ad8: bf00 nop switch((pardata.DIAGN_MASK[CURR_POINT][Us3] >> 3) & 0x1f) 8049ada: 4b2e ldr r3, [pc, #184] ; (8049b94 ) 8049adc: 781b ldrb r3, [r3, #0] 8049ade: b2db uxtb r3, r3 8049ae0: 4a2d ldr r2, [pc, #180] ; (8049b98 ) 8049ae2: 009b lsls r3, r3, #2 8049ae4: 4413 add r3, r2 8049ae6: f893 323e ldrb.w r3, [r3, #574] ; 0x23e 8049aea: b2db uxtb r3, r3 8049aec: 08db lsrs r3, r3, #3 8049aee: b2db uxtb r3, r3 8049af0: f003 031f and.w r3, r3, #31 8049af4: 3b01 subs r3, #1 8049af6: 2b0f cmp r3, #15 8049af8: d857 bhi.n 8049baa 8049afa: a201 add r2, pc, #4 ; (adr r2, 8049b00 ) 8049afc: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8049b00: 08049b41 .word 0x08049b41 8049b04: 08049b4b .word 0x08049b4b 8049b08: 08049bab .word 0x08049bab 8049b0c: 08049b55 .word 0x08049b55 8049b10: 08049bab .word 0x08049bab 8049b14: 08049bab .word 0x08049bab 8049b18: 08049bab .word 0x08049bab 8049b1c: 08049b5f .word 0x08049b5f 8049b20: 08049bab .word 0x08049bab 8049b24: 08049bab .word 0x08049bab 8049b28: 08049bab .word 0x08049bab 8049b2c: 08049bab .word 0x08049bab 8049b30: 08049bab .word 0x08049bab 8049b34: 08049bab .word 0x08049bab 8049b38: 08049bab .word 0x08049bab 8049b3c: 08049ba1 .word 0x08049ba1 case DIAGN_PEAK: DiagnFileData.d_Op3_ivs = 'P'; break; 8049b40: 4b16 ldr r3, [pc, #88] ; (8049b9c ) 8049b42: 2250 movs r2, #80 ; 0x50 8049b44: f883 202d strb.w r2, [r3, #45] ; 0x2d 8049b48: e02f b.n 8049baa case DIAGN_RMS: DiagnFileData.d_Op3_ivs = 'S'; break; 8049b4a: 4b14 ldr r3, [pc, #80] ; (8049b9c ) 8049b4c: 2253 movs r2, #83 ; 0x53 8049b4e: f883 202d strb.w r2, [r3, #45] ; 0x2d 8049b52: e02a b.n 8049baa case DIAGN_PEAK_TO_PEAK: DiagnFileData.d_Op3_ivs = 'R'; break; 8049b54: 4b11 ldr r3, [pc, #68] ; (8049b9c ) 8049b56: 2252 movs r2, #82 ; 0x52 8049b58: f883 202d strb.w r2, [r3, #45] ; 0x2d 8049b5c: e025 b.n 8049baa case DIAGN_PEAK_FACTOR: DiagnFileData.d_Op3_ivs = 'F'; break; 8049b5e: 4b0f ldr r3, [pc, #60] ; (8049b9c ) 8049b60: 2246 movs r2, #70 ; 0x46 8049b62: f883 202d strb.w r2, [r3, #45] ; 0x2d 8049b66: e020 b.n 8049baa 8049b68: 2002164c .word 0x2002164c 8049b6c: 20020daf .word 0x20020daf 8049b70: 20020dc8 .word 0x20020dc8 8049b74: 20020db2 .word 0x20020db2 8049b78: 20020e14 .word 0x20020e14 8049b7c: 20025c40 .word 0x20025c40 8049b80: 20022650 .word 0x20022650 8049b84: 20020e18 .word 0x20020e18 8049b88: 20020f78 .word 0x20020f78 8049b8c: 20020f79 .word 0x20020f79 8049b90: 20020070 .word 0x20020070 8049b94: 20021011 .word 0x20021011 8049b98: 20023e60 .word 0x20023e60 8049b9c: 200225f4 .word 0x200225f4 case DIAGN_EXCESS: DiagnFileData.d_Op3_ivs = 'E'; break; 8049ba0: 4ba9 ldr r3, [pc, #676] ; (8049e48 ) 8049ba2: 2245 movs r2, #69 ; 0x45 8049ba4: f883 202d strb.w r2, [r3, #45] ; 0x2d 8049ba8: bf00 nop DiagnFileData.Op_1.fl = operand[Us1]; 8049baa: 4ba8 ldr r3, [pc, #672] ; (8049e4c ) 8049bac: 681b ldr r3, [r3, #0] 8049bae: 4aa6 ldr r2, [pc, #664] ; (8049e48 ) 8049bb0: 6013 str r3, [r2, #0] DiagnFileData.Op_2.fl = operand[Us2]; 8049bb2: 4ba6 ldr r3, [pc, #664] ; (8049e4c ) 8049bb4: 685b ldr r3, [r3, #4] 8049bb6: 4aa4 ldr r2, [pc, #656] ; (8049e48 ) 8049bb8: 6053 str r3, [r2, #4] DiagnFileData.Op_3.fl = operand[Us3]; 8049bba: 4ba4 ldr r3, [pc, #656] ; (8049e4c ) 8049bbc: 689b ldr r3, [r3, #8] 8049bbe: 4aa2 ldr r2, [pc, #648] ; (8049e48 ) 8049bc0: 6093 str r3, [r2, #8] DiagnFileData.d_Time = RTC_TimeStruct; 8049bc2: 4ba1 ldr r3, [pc, #644] ; (8049e48 ) 8049bc4: 4aa2 ldr r2, [pc, #648] ; (8049e50 ) 8049bc6: f103 040c add.w r4, r3, #12 8049bca: 4615 mov r5, r2 8049bcc: cd0f ldmia r5!, {r0, r1, r2, r3} 8049bce: c40f stmia r4!, {r0, r1, r2, r3} 8049bd0: e895 0003 ldmia.w r5, {r0, r1} 8049bd4: e884 0003 stmia.w r4, {r0, r1} DiagnFileData.d_Date = RTC_DateStruct; 8049bd8: 4b9b ldr r3, [pc, #620] ; (8049e48 ) 8049bda: 4a9e ldr r2, [pc, #632] ; (8049e54 ) 8049bdc: 3324 adds r3, #36 ; 0x24 8049bde: 6810 ldr r0, [r2, #0] 8049be0: 6018 str r0, [r3, #0] if(ALARM) DiagnFileData.d_Alarm = 1; 8049be2: 4b9d ldr r3, [pc, #628] ; (8049e58 ) 8049be4: 781b ldrb r3, [r3, #0] 8049be6: b2db uxtb r3, r3 8049be8: 2b00 cmp r3, #0 8049bea: d004 beq.n 8049bf6 8049bec: 4b96 ldr r3, [pc, #600] ; (8049e48 ) 8049bee: 2201 movs r2, #1 8049bf0: f883 2032 strb.w r2, [r3, #50] ; 0x32 8049bf4: e003 b.n 8049bfe else DiagnFileData.d_Alarm = 0; 8049bf6: 4b94 ldr r3, [pc, #592] ; (8049e48 ) 8049bf8: 2200 movs r2, #0 8049bfa: f883 2032 strb.w r2, [r3, #50] ; 0x32 if(WARNING) DiagnFileData.d_Warning = 1; 8049bfe: 4b97 ldr r3, [pc, #604] ; (8049e5c ) 8049c00: 781b ldrb r3, [r3, #0] 8049c02: b2db uxtb r3, r3 8049c04: 2b00 cmp r3, #0 8049c06: d004 beq.n 8049c12 8049c08: 4b8f ldr r3, [pc, #572] ; (8049e48 ) 8049c0a: 2201 movs r2, #1 8049c0c: f883 2031 strb.w r2, [r3, #49] ; 0x31 8049c10: e003 b.n 8049c1a else DiagnFileData.d_Warning = 0; 8049c12: 4b8d ldr r3, [pc, #564] ; (8049e48 ) 8049c14: 2200 movs r2, #0 8049c16: f883 2031 strb.w r2, [r3, #49] ; 0x31 if(operand[Us1] < pardata.DIAGN_A[CURR_POINT][Us1]) 8049c1a: 4b8c ldr r3, [pc, #560] ; (8049e4c ) 8049c1c: ed93 7a00 vldr s14, [r3] 8049c20: 4b8f ldr r3, [pc, #572] ; (8049e60 ) 8049c22: 781b ldrb r3, [r3, #0] 8049c24: b2db uxtb r3, r3 8049c26: 4a8f ldr r2, [pc, #572] ; (8049e64 ) 8049c28: 011b lsls r3, r3, #4 8049c2a: 4413 add r3, r2 8049c2c: f503 7377 add.w r3, r3, #988 ; 0x3dc 8049c30: edd3 7a00 vldr s15, [r3] 8049c34: eeb4 7ae7 vcmpe.f32 s14, s15 8049c38: eef1 fa10 vmrs APSR_nzcv, fpscr 8049c3c: d51b bpl.n 8049c76 if(operand[Us1] < pardata.DIAGN_W[CURR_POINT][Us1]) 8049c3e: 4b83 ldr r3, [pc, #524] ; (8049e4c ) 8049c40: ed93 7a00 vldr s14, [r3] 8049c44: 4b86 ldr r3, [pc, #536] ; (8049e60 ) 8049c46: 781b ldrb r3, [r3, #0] 8049c48: b2db uxtb r3, r3 8049c4a: 4a86 ldr r2, [pc, #536] ; (8049e64 ) 8049c4c: 011b lsls r3, r3, #4 8049c4e: 4413 add r3, r2 8049c50: f503 7357 add.w r3, r3, #860 ; 0x35c 8049c54: edd3 7a00 vldr s15, [r3] 8049c58: eeb4 7ae7 vcmpe.f32 s14, s15 8049c5c: eef1 fa10 vmrs APSR_nzcv, fpscr 8049c60: d504 bpl.n 8049c6c DiagnFileData.d_Op1_Color = 0; 8049c62: 4b79 ldr r3, [pc, #484] ; (8049e48 ) 8049c64: 2200 movs r2, #0 8049c66: f883 202e strb.w r2, [r3, #46] ; 0x2e 8049c6a: e008 b.n 8049c7e else DiagnFileData.d_Op1_Color = 1; 8049c6c: 4b76 ldr r3, [pc, #472] ; (8049e48 ) 8049c6e: 2201 movs r2, #1 8049c70: f883 202e strb.w r2, [r3, #46] ; 0x2e 8049c74: e003 b.n 8049c7e DiagnFileData.d_Op1_Color = 2; 8049c76: 4b74 ldr r3, [pc, #464] ; (8049e48 ) 8049c78: 2202 movs r2, #2 8049c7a: f883 202e strb.w r2, [r3, #46] ; 0x2e if(operand[Us2] < pardata.DIAGN_A[CURR_POINT][Us2]) 8049c7e: 4b73 ldr r3, [pc, #460] ; (8049e4c ) 8049c80: ed93 7a01 vldr s14, [r3, #4] 8049c84: 4b76 ldr r3, [pc, #472] ; (8049e60 ) 8049c86: 781b ldrb r3, [r3, #0] 8049c88: b2db uxtb r3, r3 8049c8a: 4a76 ldr r2, [pc, #472] ; (8049e64 ) 8049c8c: 011b lsls r3, r3, #4 8049c8e: 4413 add r3, r2 8049c90: f503 7378 add.w r3, r3, #992 ; 0x3e0 8049c94: edd3 7a00 vldr s15, [r3] 8049c98: eeb4 7ae7 vcmpe.f32 s14, s15 8049c9c: eef1 fa10 vmrs APSR_nzcv, fpscr 8049ca0: d51b bpl.n 8049cda if(operand[Us2] < pardata.DIAGN_W[CURR_POINT][Us2]) 8049ca2: 4b6a ldr r3, [pc, #424] ; (8049e4c ) 8049ca4: ed93 7a01 vldr s14, [r3, #4] 8049ca8: 4b6d ldr r3, [pc, #436] ; (8049e60 ) 8049caa: 781b ldrb r3, [r3, #0] 8049cac: b2db uxtb r3, r3 8049cae: 4a6d ldr r2, [pc, #436] ; (8049e64 ) 8049cb0: 011b lsls r3, r3, #4 8049cb2: 4413 add r3, r2 8049cb4: f503 7358 add.w r3, r3, #864 ; 0x360 8049cb8: edd3 7a00 vldr s15, [r3] 8049cbc: eeb4 7ae7 vcmpe.f32 s14, s15 8049cc0: eef1 fa10 vmrs APSR_nzcv, fpscr 8049cc4: d504 bpl.n 8049cd0 DiagnFileData.d_Op2_Color = 0; 8049cc6: 4b60 ldr r3, [pc, #384] ; (8049e48 ) 8049cc8: 2200 movs r2, #0 8049cca: f883 202f strb.w r2, [r3, #47] ; 0x2f 8049cce: e008 b.n 8049ce2 else DiagnFileData.d_Op2_Color = 1; 8049cd0: 4b5d ldr r3, [pc, #372] ; (8049e48 ) 8049cd2: 2201 movs r2, #1 8049cd4: f883 202f strb.w r2, [r3, #47] ; 0x2f 8049cd8: e003 b.n 8049ce2 DiagnFileData.d_Op2_Color = 2; 8049cda: 4b5b ldr r3, [pc, #364] ; (8049e48 ) 8049cdc: 2202 movs r2, #2 8049cde: f883 202f strb.w r2, [r3, #47] ; 0x2f if(operand[Us3] < pardata.DIAGN_A[CURR_POINT][Us3]) 8049ce2: 4b5a ldr r3, [pc, #360] ; (8049e4c ) 8049ce4: ed93 7a02 vldr s14, [r3, #8] 8049ce8: 4b5d ldr r3, [pc, #372] ; (8049e60 ) 8049cea: 781b ldrb r3, [r3, #0] 8049cec: b2db uxtb r3, r3 8049cee: 4a5d ldr r2, [pc, #372] ; (8049e64 ) 8049cf0: 333e adds r3, #62 ; 0x3e 8049cf2: 011b lsls r3, r3, #4 8049cf4: 4413 add r3, r2 8049cf6: 3304 adds r3, #4 8049cf8: edd3 7a00 vldr s15, [r3] 8049cfc: eeb4 7ae7 vcmpe.f32 s14, s15 8049d00: eef1 fa10 vmrs APSR_nzcv, fpscr 8049d04: d51b bpl.n 8049d3e if(operand[Us3] < pardata.DIAGN_W[CURR_POINT][Us3]) 8049d06: 4b51 ldr r3, [pc, #324] ; (8049e4c ) 8049d08: ed93 7a02 vldr s14, [r3, #8] 8049d0c: 4b54 ldr r3, [pc, #336] ; (8049e60 ) 8049d0e: 781b ldrb r3, [r3, #0] 8049d10: b2db uxtb r3, r3 8049d12: 4a54 ldr r2, [pc, #336] ; (8049e64 ) 8049d14: 3336 adds r3, #54 ; 0x36 8049d16: 011b lsls r3, r3, #4 8049d18: 4413 add r3, r2 8049d1a: 3304 adds r3, #4 8049d1c: edd3 7a00 vldr s15, [r3] 8049d20: eeb4 7ae7 vcmpe.f32 s14, s15 8049d24: eef1 fa10 vmrs APSR_nzcv, fpscr 8049d28: d504 bpl.n 8049d34 DiagnFileData.d_Op3_Color = 0; 8049d2a: 4b47 ldr r3, [pc, #284] ; (8049e48 ) 8049d2c: 2200 movs r2, #0 8049d2e: f883 2030 strb.w r2, [r3, #48] ; 0x30 8049d32: e008 b.n 8049d46 else DiagnFileData.d_Op3_Color = 1; 8049d34: 4b44 ldr r3, [pc, #272] ; (8049e48 ) 8049d36: 2201 movs r2, #1 8049d38: f883 2030 strb.w r2, [r3, #48] ; 0x30 8049d3c: e003 b.n 8049d46 DiagnFileData.d_Op3_Color = 2; 8049d3e: 4b42 ldr r3, [pc, #264] ; (8049e48 ) 8049d40: 2202 movs r2, #2 8049d42: f883 2030 strb.w r2, [r3, #48] ; 0x30 AddToFile = true; 8049d46: 4b48 ldr r3, [pc, #288] ; (8049e68 ) 8049d48: 2201 movs r2, #1 8049d4a: 701a strb r2, [r3, #0] result = WriteFileDGN(DiagFileName); 8049d4c: 4847 ldr r0, [pc, #284] ; (8049e6c ) 8049d4e: f7df ffa1 bl 8029c94 8049d52: 4603 mov r3, r0 8049d54: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 8049d58: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 8049d5c: 2b00 cmp r3, #0 8049d5e: d10a bne.n 8049d76 STATUS = AP_SAVING_SUCCESS; 8049d60: 4b43 ldr r3, [pc, #268] ; (8049e70 ) 8049d62: 2207 movs r2, #7 8049d64: 601a str r2, [r3, #0] timerStatus = sec2; 8049d66: 4b43 ldr r3, [pc, #268] ; (8049e74 ) 8049d68: f44f 5280 mov.w r2, #4096 ; 0x1000 8049d6c: 801a strh r2, [r3, #0] DrawStatus = true; 8049d6e: 4b42 ldr r3, [pc, #264] ; (8049e78 ) 8049d70: 2201 movs r2, #1 8049d72: 701a strb r2, [r3, #0] 8049d74: e009 b.n 8049d8a STATUS = AP_SAVING_ERROR; 8049d76: 4b3e ldr r3, [pc, #248] ; (8049e70 ) 8049d78: 2208 movs r2, #8 8049d7a: 601a str r2, [r3, #0] timerStatus = sec2; 8049d7c: 4b3d ldr r3, [pc, #244] ; (8049e74 ) 8049d7e: f44f 5280 mov.w r2, #4096 ; 0x1000 8049d82: 801a strh r2, [r3, #0] DrawStatus = true; 8049d84: 4b3c ldr r3, [pc, #240] ; (8049e78 ) 8049d86: 2201 movs r2, #1 8049d88: 701a strb r2, [r3, #0] AddToFile = false; 8049d8a: 4b37 ldr r3, [pc, #220] ; (8049e68 ) 8049d8c: 2200 movs r2, #0 8049d8e: 701a strb r2, [r3, #0] break; 8049d90: e00d b.n 8049dae STATUS = AP_NO_CARD; 8049d92: 4b37 ldr r3, [pc, #220] ; (8049e70 ) 8049d94: 2211 movs r2, #17 8049d96: 601a str r2, [r3, #0] timerStatus = sec2; 8049d98: 4b36 ldr r3, [pc, #216] ; (8049e74 ) 8049d9a: f44f 5280 mov.w r2, #4096 ; 0x1000 8049d9e: 801a strh r2, [r3, #0] DrawStatus = true; 8049da0: 4b35 ldr r3, [pc, #212] ; (8049e78 ) 8049da2: 2201 movs r2, #1 8049da4: 701a strb r2, [r3, #0] break; 8049da6: e002 b.n 8049dae timerStatus = sec2; DrawStatus = true; } } }*/ break; 8049da8: bf00 nop 8049daa: f008 bf7f b.w 8052cac break; 8049dae: bf00 nop } break; 8049db0: f008 bf7c b.w 8052cac case MAIN_UDAR: switch(menupos) 8049db4: 4b31 ldr r3, [pc, #196] ; (8049e7c ) 8049db6: 781b ldrb r3, [r3, #0] 8049db8: b2db uxtb r3, r3 8049dba: 2b06 cmp r3, #6 8049dbc: f208 8778 bhi.w 8052cb0 8049dc0: a201 add r2, pc, #4 ; (adr r2, 8049dc8 ) 8049dc2: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8049dc6: bf00 nop 8049dc8: 0804a409 .word 0x0804a409 8049dcc: 08052cb1 .word 0x08052cb1 8049dd0: 08049de5 .word 0x08049de5 8049dd4: 08049fa7 .word 0x08049fa7 8049dd8: 0804a1e1 .word 0x0804a1e1 8049ddc: 08049ed9 .word 0x08049ed9 8049de0: 0804a43f .word 0x0804a43f { case ImageLeft: if(lX) 8049de4: 4b26 ldr r3, [pc, #152] ; (8049e80 ) 8049de6: 881b ldrh r3, [r3, #0] 8049de8: b29b uxth r3, r3 8049dea: 2b00 cmp r3, #0 8049dec: f000 832b beq.w 804a446 { multA_u16 = Avg[1][5 * ViewLevel + pardata.LNE]; 8049df0: 4b24 ldr r3, [pc, #144] ; (8049e84 ) 8049df2: 781b ldrb r3, [r3, #0] 8049df4: b2db uxtb r3, r3 8049df6: 461a mov r2, r3 8049df8: 4613 mov r3, r2 8049dfa: 009b lsls r3, r3, #2 8049dfc: 4413 add r3, r2 8049dfe: 4a19 ldr r2, [pc, #100] ; (8049e64 ) 8049e00: 79d2 ldrb r2, [r2, #7] 8049e02: b2d2 uxtb r2, r2 8049e04: 4413 add r3, r2 8049e06: 4a20 ldr r2, [pc, #128] ; (8049e88 ) 8049e08: 3323 adds r3, #35 ; 0x23 8049e0a: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 8049e0e: f8a7 309e strh.w r3, [r7, #158] ; 0x9e multB_u16 = 256 * multA_u16; 8049e12: f8b7 309e ldrh.w r3, [r7, #158] ; 0x9e 8049e16: 021b lsls r3, r3, #8 8049e18: f8a7 3096 strh.w r3, [r7, #150] ; 0x96 if(lX >= (multB_u16 >> 1)) 8049e1c: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 8049e20: 085b lsrs r3, r3, #1 8049e22: b29a uxth r2, r3 8049e24: 4b16 ldr r3, [pc, #88] ; (8049e80 ) 8049e26: 881b ldrh r3, [r3, #0] 8049e28: b29b uxth r3, r3 8049e2a: 429a cmp r2, r3 8049e2c: d830 bhi.n 8049e90 X0 -= (multB_u16 >> 1); 8049e2e: 4b17 ldr r3, [pc, #92] ; (8049e8c ) 8049e30: 881b ldrh r3, [r3, #0] 8049e32: b29a uxth r2, r3 8049e34: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 8049e38: 085b lsrs r3, r3, #1 8049e3a: b29b uxth r3, r3 8049e3c: 1ad3 subs r3, r2, r3 8049e3e: b29a uxth r2, r3 8049e40: 4b12 ldr r3, [pc, #72] ; (8049e8c ) 8049e42: 801a strh r2, [r3, #0] 8049e44: e027 b.n 8049e96 8049e46: bf00 nop 8049e48: 200225f4 .word 0x200225f4 8049e4c: 200268d8 .word 0x200268d8 8049e50: 20025c68 .word 0x20025c68 8049e54: 20025cec .word 0x20025cec 8049e58: 20021015 .word 0x20021015 8049e5c: 20021014 .word 0x20021014 8049e60: 20021011 .word 0x20021011 8049e64: 20023e60 .word 0x20023e60 8049e68: 20020dc8 .word 0x20020dc8 8049e6c: 20020e7c .word 0x20020e7c 8049e70: 20020dcc .word 0x20020dcc 8049e74: 2002168c .word 0x2002168c 8049e78: 20020dd2 .word 0x20020dd2 8049e7c: 20020070 .word 0x20020070 8049e80: 20025d1a .word 0x20025d1a 8049e84: 20020f74 .word 0x20020f74 8049e88: 080ee7f0 .word 0x080ee7f0 8049e8c: 20025d1e .word 0x20025d1e else X0 = 0; 8049e90: 4ba2 ldr r3, [pc, #648] ; (804a11c ) 8049e92: 2200 movs r2, #0 8049e94: 801a strh r2, [r3, #0] lX = X0; 8049e96: 4ba1 ldr r3, [pc, #644] ; (804a11c ) 8049e98: 881b ldrh r3, [r3, #0] 8049e9a: b29a uxth r2, r3 8049e9c: 4ba0 ldr r3, [pc, #640] ; (804a120 ) 8049e9e: 801a strh r2, [r3, #0] rX = lX + multB_u16; 8049ea0: 4b9f ldr r3, [pc, #636] ; (804a120 ) 8049ea2: 881b ldrh r3, [r3, #0] 8049ea4: b29a uxth r2, r3 8049ea6: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 8049eaa: 4413 add r3, r2 8049eac: b29a uxth r2, r3 8049eae: 4b9d ldr r3, [pc, #628] ; (804a124 ) 8049eb0: 801a strh r2, [r3, #0] Mpos = X0 + CURSOR * multA_u16; 8049eb2: 4b9d ldr r3, [pc, #628] ; (804a128 ) 8049eb4: 681b ldr r3, [r3, #0] 8049eb6: b29b uxth r3, r3 8049eb8: f8b7 209e ldrh.w r2, [r7, #158] ; 0x9e 8049ebc: fb12 f303 smulbb r3, r2, r3 8049ec0: b29a uxth r2, r3 8049ec2: 4b96 ldr r3, [pc, #600] ; (804a11c ) 8049ec4: 881b ldrh r3, [r3, #0] 8049ec6: b29b uxth r3, r3 8049ec8: 4413 add r3, r2 8049eca: b29a uxth r2, r3 8049ecc: 4b97 ldr r3, [pc, #604] ; (804a12c ) 8049ece: 801a strh r2, [r3, #0] AUTOZOOM = true; 8049ed0: 4b97 ldr r3, [pc, #604] ; (804a130 ) 8049ed2: 2201 movs r2, #1 8049ed4: 701a strb r2, [r3, #0] } break; 8049ed6: e2b6 b.n 804a446 case ImageRight: multA_u16 = Avg[1][5 * ViewLevel + pardata.LNE]; 8049ed8: 4b96 ldr r3, [pc, #600] ; (804a134 ) 8049eda: 781b ldrb r3, [r3, #0] 8049edc: b2db uxtb r3, r3 8049ede: 461a mov r2, r3 8049ee0: 4613 mov r3, r2 8049ee2: 009b lsls r3, r3, #2 8049ee4: 4413 add r3, r2 8049ee6: 4a94 ldr r2, [pc, #592] ; (804a138 ) 8049ee8: 79d2 ldrb r2, [r2, #7] 8049eea: b2d2 uxtb r2, r2 8049eec: 4413 add r3, r2 8049eee: 4a93 ldr r2, [pc, #588] ; (804a13c ) 8049ef0: 3323 adds r3, #35 ; 0x23 8049ef2: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 8049ef6: f8a7 309e strh.w r3, [r7, #158] ; 0x9e multB_u16 = 256 * multA_u16; 8049efa: f8b7 309e ldrh.w r3, [r7, #158] ; 0x9e 8049efe: 021b lsls r3, r3, #8 8049f00: f8a7 3096 strh.w r3, [r7, #150] ; 0x96 k = (NS[pardata.LNE] >> 1); 8049f04: 4b8c ldr r3, [pc, #560] ; (804a138 ) 8049f06: 79db ldrb r3, [r3, #7] 8049f08: b2db uxtb r3, r3 8049f0a: 461a mov r2, r3 8049f0c: 4b8c ldr r3, [pc, #560] ; (804a140 ) 8049f0e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8049f12: 085b lsrs r3, r3, #1 8049f14: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 i = (uint32_t) rX + (uint32_t) (multB_u16 >> 1); 8049f18: 4b82 ldr r3, [pc, #520] ; (804a124 ) 8049f1a: 881b ldrh r3, [r3, #0] 8049f1c: b29b uxth r3, r3 8049f1e: 461a mov r2, r3 8049f20: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 8049f24: 085b lsrs r3, r3, #1 8049f26: b29b uxth r3, r3 8049f28: 4413 add r3, r2 8049f2a: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 if(i <= k) 8049f2e: f8d7 20c0 ldr.w r2, [r7, #192] ; 0xc0 8049f32: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8049f36: 429a cmp r2, r3 8049f38: d80b bhi.n 8049f52 X0 += (multB_u16 >> 1); 8049f3a: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 8049f3e: 085b lsrs r3, r3, #1 8049f40: b29a uxth r2, r3 8049f42: 4b76 ldr r3, [pc, #472] ; (804a11c ) 8049f44: 881b ldrh r3, [r3, #0] 8049f46: b29b uxth r3, r3 8049f48: 4413 add r3, r2 8049f4a: b29a uxth r2, r3 8049f4c: 4b73 ldr r3, [pc, #460] ; (804a11c ) 8049f4e: 801a strh r2, [r3, #0] 8049f50: e008 b.n 8049f64 else X0 = (uint16_t) (k - multB_u16); 8049f52: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8049f56: b29a uxth r2, r3 8049f58: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 8049f5c: 1ad3 subs r3, r2, r3 8049f5e: b29a uxth r2, r3 8049f60: 4b6e ldr r3, [pc, #440] ; (804a11c ) 8049f62: 801a strh r2, [r3, #0] lX = X0; 8049f64: 4b6d ldr r3, [pc, #436] ; (804a11c ) 8049f66: 881b ldrh r3, [r3, #0] 8049f68: b29a uxth r2, r3 8049f6a: 4b6d ldr r3, [pc, #436] ; (804a120 ) 8049f6c: 801a strh r2, [r3, #0] rX = lX + multB_u16; 8049f6e: 4b6c ldr r3, [pc, #432] ; (804a120 ) 8049f70: 881b ldrh r3, [r3, #0] 8049f72: b29a uxth r2, r3 8049f74: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 8049f78: 4413 add r3, r2 8049f7a: b29a uxth r2, r3 8049f7c: 4b69 ldr r3, [pc, #420] ; (804a124 ) 8049f7e: 801a strh r2, [r3, #0] Mpos = X0 + CURSOR * multA_u16; 8049f80: 4b69 ldr r3, [pc, #420] ; (804a128 ) 8049f82: 681b ldr r3, [r3, #0] 8049f84: b29b uxth r3, r3 8049f86: f8b7 209e ldrh.w r2, [r7, #158] ; 0x9e 8049f8a: fb12 f303 smulbb r3, r2, r3 8049f8e: b29a uxth r2, r3 8049f90: 4b62 ldr r3, [pc, #392] ; (804a11c ) 8049f92: 881b ldrh r3, [r3, #0] 8049f94: b29b uxth r3, r3 8049f96: 4413 add r3, r2 8049f98: b29a uxth r2, r3 8049f9a: 4b64 ldr r3, [pc, #400] ; (804a12c ) 8049f9c: 801a strh r2, [r3, #0] AUTOZOOM = true; 8049f9e: 4b64 ldr r3, [pc, #400] ; (804a130 ) 8049fa0: 2201 movs r2, #1 8049fa2: 701a strb r2, [r3, #0] break; 8049fa4: e256 b.n 804a454 case ZoomIn: lvl_0 = 0; 8049fa6: 2300 movs r3, #0 8049fa8: f8c7 30a0 str.w r3, [r7, #160] ; 0xa0 dX = Avg[1][5 * ViewLevel + pardata.LNE]; 8049fac: 4b61 ldr r3, [pc, #388] ; (804a134 ) 8049fae: 781b ldrb r3, [r3, #0] 8049fb0: b2db uxtb r3, r3 8049fb2: 461a mov r2, r3 8049fb4: 4613 mov r3, r2 8049fb6: 009b lsls r3, r3, #2 8049fb8: 4413 add r3, r2 8049fba: 4a5f ldr r2, [pc, #380] ; (804a138 ) 8049fbc: 79d2 ldrb r2, [r2, #7] 8049fbe: b2d2 uxtb r2, r2 8049fc0: 4413 add r3, r2 8049fc2: 4a5e ldr r2, [pc, #376] ; (804a13c ) 8049fc4: 3323 adds r3, #35 ; 0x23 8049fc6: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 8049fca: f8a7 3094 strh.w r3, [r7, #148] ; 0x94 MaxLevel = 4; 8049fce: 2304 movs r3, #4 8049fd0: f8a7 3092 strh.w r3, [r7, #146] ; 0x92 //*************************************************************// if((ViewLevel < MaxLevel) && (dX > 1)) 8049fd4: 4b57 ldr r3, [pc, #348] ; (804a134 ) 8049fd6: 781b ldrb r3, [r3, #0] 8049fd8: b2db uxtb r3, r3 8049fda: b29b uxth r3, r3 8049fdc: f8b7 2092 ldrh.w r2, [r7, #146] ; 0x92 8049fe0: 429a cmp r2, r3 8049fe2: f240 8233 bls.w 804a44c 8049fe6: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 8049fea: 2b01 cmp r3, #1 8049fec: f240 822e bls.w 804a44c { ViewLevel++; 8049ff0: 4b50 ldr r3, [pc, #320] ; (804a134 ) 8049ff2: 781b ldrb r3, [r3, #0] 8049ff4: b2db uxtb r3, r3 8049ff6: 3301 adds r3, #1 8049ff8: b2da uxtb r2, r3 8049ffa: 4b4e ldr r3, [pc, #312] ; (804a134 ) 8049ffc: 701a strb r2, [r3, #0] dX = Avg[1][5 * ViewLevel + pardata.LNE]; 8049ffe: 4b4d ldr r3, [pc, #308] ; (804a134 ) 804a000: 781b ldrb r3, [r3, #0] 804a002: b2db uxtb r3, r3 804a004: 461a mov r2, r3 804a006: 4613 mov r3, r2 804a008: 009b lsls r3, r3, #2 804a00a: 4413 add r3, r2 804a00c: 4a4a ldr r2, [pc, #296] ; (804a138 ) 804a00e: 79d2 ldrb r2, [r2, #7] 804a010: b2d2 uxtb r2, r2 804a012: 4413 add r3, r2 804a014: 4a49 ldr r2, [pc, #292] ; (804a13c ) 804a016: 3323 adds r3, #35 ; 0x23 804a018: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804a01c: f8a7 3094 strh.w r3, [r7, #148] ; 0x94 X0 = Mpos - CURSOR * dX; 804a020: 4b42 ldr r3, [pc, #264] ; (804a12c ) 804a022: 881b ldrh r3, [r3, #0] 804a024: b29a uxth r2, r3 804a026: 4b40 ldr r3, [pc, #256] ; (804a128 ) 804a028: 681b ldr r3, [r3, #0] 804a02a: b29b uxth r3, r3 804a02c: f8b7 1094 ldrh.w r1, [r7, #148] ; 0x94 804a030: fb11 f303 smulbb r3, r1, r3 804a034: b29b uxth r3, r3 804a036: 1ad3 subs r3, r2, r3 804a038: b29a uxth r2, r3 804a03a: 4b38 ldr r3, [pc, #224] ; (804a11c ) 804a03c: 801a strh r2, [r3, #0] lX = X0; 804a03e: 4b37 ldr r3, [pc, #220] ; (804a11c ) 804a040: 881b ldrh r3, [r3, #0] 804a042: b29a uxth r2, r3 804a044: 4b36 ldr r3, [pc, #216] ; (804a120 ) 804a046: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 804a048: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804a04c: 021b lsls r3, r3, #8 804a04e: b29a uxth r2, r3 804a050: 4b33 ldr r3, [pc, #204] ; (804a120 ) 804a052: 881b ldrh r3, [r3, #0] 804a054: b29b uxth r3, r3 804a056: 4413 add r3, r2 804a058: b29a uxth r2, r3 804a05a: 4b32 ldr r3, [pc, #200] ; (804a124 ) 804a05c: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 804a05e: 4b39 ldr r3, [pc, #228] ; (804a144 ) 804a060: 881b ldrh r3, [r3, #0] 804a062: b29b uxth r3, r3 804a064: 461a mov r2, r3 804a066: 4b2e ldr r3, [pc, #184] ; (804a120 ) 804a068: 881b ldrh r3, [r3, #0] 804a06a: b29b uxth r3, r3 804a06c: 1ad2 subs r2, r2, r3 804a06e: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804a072: fb92 f3f3 sdiv r3, r2, r3 804a076: 461a mov r2, r3 804a078: 4b2b ldr r3, [pc, #172] ; (804a128 ) 804a07a: 601a str r2, [r3, #0] Mpos = lX + CURSOR * dX; 804a07c: 4b2a ldr r3, [pc, #168] ; (804a128 ) 804a07e: 681b ldr r3, [r3, #0] 804a080: b29b uxth r3, r3 804a082: f8b7 2094 ldrh.w r2, [r7, #148] ; 0x94 804a086: fb12 f303 smulbb r3, r2, r3 804a08a: b29a uxth r2, r3 804a08c: 4b24 ldr r3, [pc, #144] ; (804a120 ) 804a08e: 881b ldrh r3, [r3, #0] 804a090: b29b uxth r3, r3 804a092: 4413 add r3, r2 804a094: b29a uxth r2, r3 804a096: 4b25 ldr r3, [pc, #148] ; (804a12c ) 804a098: 801a strh r2, [r3, #0] if((CURSOR < (256 >> 1)) && (X0 >= dX)) 804a09a: 4b23 ldr r3, [pc, #140] ; (804a128 ) 804a09c: 681b ldr r3, [r3, #0] 804a09e: 2b7f cmp r3, #127 ; 0x7f 804a0a0: d852 bhi.n 804a148 804a0a2: 4b1e ldr r3, [pc, #120] ; (804a11c ) 804a0a4: 881b ldrh r3, [r3, #0] 804a0a6: b29b uxth r3, r3 804a0a8: f8b7 2094 ldrh.w r2, [r7, #148] ; 0x94 804a0ac: 429a cmp r2, r3 804a0ae: d84b bhi.n 804a148 { if(lX >= dX) 804a0b0: 4b1b ldr r3, [pc, #108] ; (804a120 ) 804a0b2: 881b ldrh r3, [r3, #0] 804a0b4: b29b uxth r3, r3 804a0b6: f8b7 2094 ldrh.w r2, [r7, #148] ; 0x94 804a0ba: 429a cmp r2, r3 804a0bc: f200 808c bhi.w 804a1d8 { CURSOR++; 804a0c0: 4b19 ldr r3, [pc, #100] ; (804a128 ) 804a0c2: 681b ldr r3, [r3, #0] 804a0c4: 3301 adds r3, #1 804a0c6: 4a18 ldr r2, [pc, #96] ; (804a128 ) 804a0c8: 6013 str r3, [r2, #0] X0 -= dX; 804a0ca: 4b14 ldr r3, [pc, #80] ; (804a11c ) 804a0cc: 881b ldrh r3, [r3, #0] 804a0ce: b29a uxth r2, r3 804a0d0: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804a0d4: 1ad3 subs r3, r2, r3 804a0d6: b29a uxth r2, r3 804a0d8: 4b10 ldr r3, [pc, #64] ; (804a11c ) 804a0da: 801a strh r2, [r3, #0] lX = X0; 804a0dc: 4b0f ldr r3, [pc, #60] ; (804a11c ) 804a0de: 881b ldrh r3, [r3, #0] 804a0e0: b29a uxth r2, r3 804a0e2: 4b0f ldr r3, [pc, #60] ; (804a120 ) 804a0e4: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 804a0e6: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804a0ea: 021b lsls r3, r3, #8 804a0ec: b29a uxth r2, r3 804a0ee: 4b0c ldr r3, [pc, #48] ; (804a120 ) 804a0f0: 881b ldrh r3, [r3, #0] 804a0f2: b29b uxth r3, r3 804a0f4: 4413 add r3, r2 804a0f6: b29a uxth r2, r3 804a0f8: 4b0a ldr r3, [pc, #40] ; (804a124 ) 804a0fa: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 804a0fc: 4b11 ldr r3, [pc, #68] ; (804a144 ) 804a0fe: 881b ldrh r3, [r3, #0] 804a100: b29b uxth r3, r3 804a102: 461a mov r2, r3 804a104: 4b06 ldr r3, [pc, #24] ; (804a120 ) 804a106: 881b ldrh r3, [r3, #0] 804a108: b29b uxth r3, r3 804a10a: 1ad2 subs r2, r2, r3 804a10c: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804a110: fb92 f3f3 sdiv r3, r2, r3 804a114: 461a mov r2, r3 804a116: 4b04 ldr r3, [pc, #16] ; (804a128 ) 804a118: 601a str r2, [r3, #0] if(lX >= dX) 804a11a: e05d b.n 804a1d8 804a11c: 20025d1e .word 0x20025d1e 804a120: 20025d1a .word 0x20025d1a 804a124: 20025d20 .word 0x20025d20 804a128: 2002006c .word 0x2002006c 804a12c: 20025d16 .word 0x20025d16 804a130: 2002098c .word 0x2002098c 804a134: 20020f74 .word 0x20020f74 804a138: 20023e60 .word 0x20023e60 804a13c: 080ee7f0 .word 0x080ee7f0 804a140: 080ee87c .word 0x080ee87c 804a144: 20025d1c .word 0x20025d1c } } else if(CURSOR > (256 >> 1)) 804a148: 4ba5 ldr r3, [pc, #660] ; (804a3e0 ) 804a14a: 681b ldr r3, [r3, #0] 804a14c: 2b80 cmp r3, #128 ; 0x80 804a14e: d943 bls.n 804a1d8 { if((rX + dX) <= (256 * Avg[1][5 * lvl_0 + pardata.LNE])) 804a150: 4ba4 ldr r3, [pc, #656] ; (804a3e4 ) 804a152: 881b ldrh r3, [r3, #0] 804a154: b29b uxth r3, r3 804a156: 461a mov r2, r3 804a158: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804a15c: 18d1 adds r1, r2, r3 804a15e: f8d7 20a0 ldr.w r2, [r7, #160] ; 0xa0 804a162: 4613 mov r3, r2 804a164: 009b lsls r3, r3, #2 804a166: 4413 add r3, r2 804a168: 4a9f ldr r2, [pc, #636] ; (804a3e8 ) 804a16a: 79d2 ldrb r2, [r2, #7] 804a16c: b2d2 uxtb r2, r2 804a16e: 4413 add r3, r2 804a170: 4a9e ldr r2, [pc, #632] ; (804a3ec ) 804a172: 3323 adds r3, #35 ; 0x23 804a174: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804a178: 021b lsls r3, r3, #8 804a17a: 4299 cmp r1, r3 804a17c: dc2c bgt.n 804a1d8 { CURSOR--; 804a17e: 4b98 ldr r3, [pc, #608] ; (804a3e0 ) 804a180: 681b ldr r3, [r3, #0] 804a182: 3b01 subs r3, #1 804a184: 4a96 ldr r2, [pc, #600] ; (804a3e0 ) 804a186: 6013 str r3, [r2, #0] X0 += dX; 804a188: 4b99 ldr r3, [pc, #612] ; (804a3f0 ) 804a18a: 881b ldrh r3, [r3, #0] 804a18c: b29a uxth r2, r3 804a18e: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804a192: 4413 add r3, r2 804a194: b29a uxth r2, r3 804a196: 4b96 ldr r3, [pc, #600] ; (804a3f0 ) 804a198: 801a strh r2, [r3, #0] lX = X0; 804a19a: 4b95 ldr r3, [pc, #596] ; (804a3f0 ) 804a19c: 881b ldrh r3, [r3, #0] 804a19e: b29a uxth r2, r3 804a1a0: 4b94 ldr r3, [pc, #592] ; (804a3f4 ) 804a1a2: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 804a1a4: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804a1a8: 021b lsls r3, r3, #8 804a1aa: b29a uxth r2, r3 804a1ac: 4b91 ldr r3, [pc, #580] ; (804a3f4 ) 804a1ae: 881b ldrh r3, [r3, #0] 804a1b0: b29b uxth r3, r3 804a1b2: 4413 add r3, r2 804a1b4: b29a uxth r2, r3 804a1b6: 4b8b ldr r3, [pc, #556] ; (804a3e4 ) 804a1b8: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 804a1ba: 4b8f ldr r3, [pc, #572] ; (804a3f8 ) 804a1bc: 881b ldrh r3, [r3, #0] 804a1be: b29b uxth r3, r3 804a1c0: 461a mov r2, r3 804a1c2: 4b8c ldr r3, [pc, #560] ; (804a3f4 ) 804a1c4: 881b ldrh r3, [r3, #0] 804a1c6: b29b uxth r3, r3 804a1c8: 1ad2 subs r2, r2, r3 804a1ca: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804a1ce: fb92 f3f3 sdiv r3, r2, r3 804a1d2: 461a mov r2, r3 804a1d4: 4b82 ldr r3, [pc, #520] ; (804a3e0 ) 804a1d6: 601a str r2, [r3, #0] } } AUTOZOOM = true; 804a1d8: 4b88 ldr r3, [pc, #544] ; (804a3fc ) 804a1da: 2201 movs r2, #1 804a1dc: 701a strb r2, [r3, #0] } break; 804a1de: e135 b.n 804a44c case ZoomOut: lvl_0 = 0; 804a1e0: 2300 movs r3, #0 804a1e2: f8c7 30a0 str.w r3, [r7, #160] ; 0xa0 MaxLevel = 4; 804a1e6: 2304 movs r3, #4 804a1e8: f8a7 3092 strh.w r3, [r7, #146] ; 0x92 dXold = Avg[1][5 * ViewLevel + pardata.LNE]; 804a1ec: 4b84 ldr r3, [pc, #528] ; (804a400 ) 804a1ee: 781b ldrb r3, [r3, #0] 804a1f0: b2db uxtb r3, r3 804a1f2: 461a mov r2, r3 804a1f4: 4613 mov r3, r2 804a1f6: 009b lsls r3, r3, #2 804a1f8: 4413 add r3, r2 804a1fa: 4a7b ldr r2, [pc, #492] ; (804a3e8 ) 804a1fc: 79d2 ldrb r2, [r2, #7] 804a1fe: b2d2 uxtb r2, r2 804a200: 4413 add r3, r2 804a202: 4a7a ldr r2, [pc, #488] ; (804a3ec ) 804a204: 3323 adds r3, #35 ; 0x23 804a206: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804a20a: f8a7 3090 strh.w r3, [r7, #144] ; 0x90 if(ViewLevel) 804a20e: 4b7c ldr r3, [pc, #496] ; (804a400 ) 804a210: 781b ldrb r3, [r3, #0] 804a212: b2db uxtb r3, r3 804a214: 2b00 cmp r3, #0 804a216: f000 811c beq.w 804a452 { ViewLevel--; 804a21a: 4b79 ldr r3, [pc, #484] ; (804a400 ) 804a21c: 781b ldrb r3, [r3, #0] 804a21e: b2db uxtb r3, r3 804a220: 3b01 subs r3, #1 804a222: b2da uxtb r2, r3 804a224: 4b76 ldr r3, [pc, #472] ; (804a400 ) 804a226: 701a strb r2, [r3, #0] dX = Avg[1][5 * ViewLevel + pardata.LNE]; 804a228: 4b75 ldr r3, [pc, #468] ; (804a400 ) 804a22a: 781b ldrb r3, [r3, #0] 804a22c: b2db uxtb r3, r3 804a22e: 461a mov r2, r3 804a230: 4613 mov r3, r2 804a232: 009b lsls r3, r3, #2 804a234: 4413 add r3, r2 804a236: 4a6c ldr r2, [pc, #432] ; (804a3e8 ) 804a238: 79d2 ldrb r2, [r2, #7] 804a23a: b2d2 uxtb r2, r2 804a23c: 4413 add r3, r2 804a23e: 4a6b ldr r2, [pc, #428] ; (804a3ec ) 804a240: 3323 adds r3, #35 ; 0x23 804a242: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804a246: f8a7 3094 strh.w r3, [r7, #148] ; 0x94 if(ViewLevel == 0) 804a24a: 4b6d ldr r3, [pc, #436] ; (804a400 ) 804a24c: 781b ldrb r3, [r3, #0] 804a24e: b2db uxtb r3, r3 804a250: 2b00 cmp r3, #0 804a252: d130 bne.n 804a2b6 { X0 = lX = 0; 804a254: 2100 movs r1, #0 804a256: 4b67 ldr r3, [pc, #412] ; (804a3f4 ) 804a258: 460a mov r2, r1 804a25a: 801a strh r2, [r3, #0] 804a25c: 4b64 ldr r3, [pc, #400] ; (804a3f0 ) 804a25e: 460a mov r2, r1 804a260: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 804a262: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804a266: 021b lsls r3, r3, #8 804a268: b29a uxth r2, r3 804a26a: 4b62 ldr r3, [pc, #392] ; (804a3f4 ) 804a26c: 881b ldrh r3, [r3, #0] 804a26e: b29b uxth r3, r3 804a270: 4413 add r3, r2 804a272: b29a uxth r2, r3 804a274: 4b5b ldr r3, [pc, #364] ; (804a3e4 ) 804a276: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 804a278: 4b5f ldr r3, [pc, #380] ; (804a3f8 ) 804a27a: 881b ldrh r3, [r3, #0] 804a27c: b29b uxth r3, r3 804a27e: 461a mov r2, r3 804a280: 4b5c ldr r3, [pc, #368] ; (804a3f4 ) 804a282: 881b ldrh r3, [r3, #0] 804a284: b29b uxth r3, r3 804a286: 1ad2 subs r2, r2, r3 804a288: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804a28c: fb92 f3f3 sdiv r3, r2, r3 804a290: 461a mov r2, r3 804a292: 4b53 ldr r3, [pc, #332] ; (804a3e0 ) 804a294: 601a str r2, [r3, #0] Mpos = X0 + CURSOR * dX; 804a296: 4b52 ldr r3, [pc, #328] ; (804a3e0 ) 804a298: 681b ldr r3, [r3, #0] 804a29a: b29b uxth r3, r3 804a29c: f8b7 2094 ldrh.w r2, [r7, #148] ; 0x94 804a2a0: fb12 f303 smulbb r3, r2, r3 804a2a4: b29a uxth r2, r3 804a2a6: 4b52 ldr r3, [pc, #328] ; (804a3f0 ) 804a2a8: 881b ldrh r3, [r3, #0] 804a2aa: b29b uxth r3, r3 804a2ac: 4413 add r3, r2 804a2ae: b29a uxth r2, r3 804a2b0: 4b54 ldr r3, [pc, #336] ; (804a404 ) 804a2b2: 801a strh r2, [r3, #0] 804a2b4: e090 b.n 804a3d8 } else { if(CURSOR * dX > Mpos) 804a2b6: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804a2ba: 4a49 ldr r2, [pc, #292] ; (804a3e0 ) 804a2bc: 6812 ldr r2, [r2, #0] 804a2be: fb02 f303 mul.w r3, r2, r3 804a2c2: 4a50 ldr r2, [pc, #320] ; (804a404 ) 804a2c4: 8812 ldrh r2, [r2, #0] 804a2c6: b292 uxth r2, r2 804a2c8: 4293 cmp r3, r2 804a2ca: d91f bls.n 804a30c { while(CURSOR * dX > Mpos) 804a2cc: e004 b.n 804a2d8 CURSOR--; 804a2ce: 4b44 ldr r3, [pc, #272] ; (804a3e0 ) 804a2d0: 681b ldr r3, [r3, #0] 804a2d2: 3b01 subs r3, #1 804a2d4: 4a42 ldr r2, [pc, #264] ; (804a3e0 ) 804a2d6: 6013 str r3, [r2, #0] while(CURSOR * dX > Mpos) 804a2d8: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804a2dc: 4a40 ldr r2, [pc, #256] ; (804a3e0 ) 804a2de: 6812 ldr r2, [r2, #0] 804a2e0: fb02 f303 mul.w r3, r2, r3 804a2e4: 4a47 ldr r2, [pc, #284] ; (804a404 ) 804a2e6: 8812 ldrh r2, [r2, #0] 804a2e8: b292 uxth r2, r2 804a2ea: 4293 cmp r3, r2 804a2ec: d8ef bhi.n 804a2ce Mpos = X0 + CURSOR * dX; 804a2ee: 4b3c ldr r3, [pc, #240] ; (804a3e0 ) 804a2f0: 681b ldr r3, [r3, #0] 804a2f2: b29b uxth r3, r3 804a2f4: f8b7 2094 ldrh.w r2, [r7, #148] ; 0x94 804a2f8: fb12 f303 smulbb r3, r2, r3 804a2fc: b29a uxth r2, r3 804a2fe: 4b3c ldr r3, [pc, #240] ; (804a3f0 ) 804a300: 881b ldrh r3, [r3, #0] 804a302: b29b uxth r3, r3 804a304: 4413 add r3, r2 804a306: b29a uxth r2, r3 804a308: 4b3e ldr r3, [pc, #248] ; (804a404 ) 804a30a: 801a strh r2, [r3, #0] } i = Mpos - CURSOR * dX; 804a30c: 4b3d ldr r3, [pc, #244] ; (804a404 ) 804a30e: 881b ldrh r3, [r3, #0] 804a310: b29b uxth r3, r3 804a312: 4619 mov r1, r3 804a314: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804a318: 4a31 ldr r2, [pc, #196] ; (804a3e0 ) 804a31a: 6812 ldr r2, [r2, #0] 804a31c: fb02 f303 mul.w r3, r2, r3 804a320: 1acb subs r3, r1, r3 804a322: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 j = 256 * dX; 804a326: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804a32a: 021b lsls r3, r3, #8 804a32c: f8c7 3098 str.w r3, [r7, #152] ; 0x98 k = 256 * Avg[1][5 * lvl_0 + pardata.LNE]; // 3200 804a330: f8d7 20a0 ldr.w r2, [r7, #160] ; 0xa0 804a334: 4613 mov r3, r2 804a336: 009b lsls r3, r3, #2 804a338: 4413 add r3, r2 804a33a: 4a2b ldr r2, [pc, #172] ; (804a3e8 ) 804a33c: 79d2 ldrb r2, [r2, #7] 804a33e: b2d2 uxtb r2, r2 804a340: 4413 add r3, r2 804a342: 4a2a ldr r2, [pc, #168] ; (804a3ec ) 804a344: 3323 adds r3, #35 ; 0x23 804a346: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804a34a: 021b lsls r3, r3, #8 804a34c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 while(i + j > k) { 804a350: e006 b.n 804a360 i -= dXold; 804a352: f8b7 3090 ldrh.w r3, [r7, #144] ; 0x90 804a356: f8d7 20c0 ldr.w r2, [r7, #192] ; 0xc0 804a35a: 1ad3 subs r3, r2, r3 804a35c: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 while(i + j > k) { 804a360: f8d7 20c0 ldr.w r2, [r7, #192] ; 0xc0 804a364: f8d7 3098 ldr.w r3, [r7, #152] ; 0x98 804a368: 441a add r2, r3 804a36a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804a36e: 429a cmp r2, r3 804a370: d8ef bhi.n 804a352 } X0 = (uint16_t) i; 804a372: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 804a376: b29a uxth r2, r3 804a378: 4b1d ldr r3, [pc, #116] ; (804a3f0 ) 804a37a: 801a strh r2, [r3, #0] lX = X0; 804a37c: 4b1c ldr r3, [pc, #112] ; (804a3f0 ) 804a37e: 881b ldrh r3, [r3, #0] 804a380: b29a uxth r2, r3 804a382: 4b1c ldr r3, [pc, #112] ; (804a3f4 ) 804a384: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 804a386: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804a38a: 021b lsls r3, r3, #8 804a38c: b29a uxth r2, r3 804a38e: 4b19 ldr r3, [pc, #100] ; (804a3f4 ) 804a390: 881b ldrh r3, [r3, #0] 804a392: b29b uxth r3, r3 804a394: 4413 add r3, r2 804a396: b29a uxth r2, r3 804a398: 4b12 ldr r3, [pc, #72] ; (804a3e4 ) 804a39a: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 804a39c: 4b16 ldr r3, [pc, #88] ; (804a3f8 ) 804a39e: 881b ldrh r3, [r3, #0] 804a3a0: b29b uxth r3, r3 804a3a2: 461a mov r2, r3 804a3a4: 4b13 ldr r3, [pc, #76] ; (804a3f4 ) 804a3a6: 881b ldrh r3, [r3, #0] 804a3a8: b29b uxth r3, r3 804a3aa: 1ad2 subs r2, r2, r3 804a3ac: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804a3b0: fb92 f3f3 sdiv r3, r2, r3 804a3b4: 461a mov r2, r3 804a3b6: 4b0a ldr r3, [pc, #40] ; (804a3e0 ) 804a3b8: 601a str r2, [r3, #0] Mpos = X0 + CURSOR * dX; 804a3ba: 4b09 ldr r3, [pc, #36] ; (804a3e0 ) 804a3bc: 681b ldr r3, [r3, #0] 804a3be: b29b uxth r3, r3 804a3c0: f8b7 2094 ldrh.w r2, [r7, #148] ; 0x94 804a3c4: fb12 f303 smulbb r3, r2, r3 804a3c8: b29a uxth r2, r3 804a3ca: 4b09 ldr r3, [pc, #36] ; (804a3f0 ) 804a3cc: 881b ldrh r3, [r3, #0] 804a3ce: b29b uxth r3, r3 804a3d0: 4413 add r3, r2 804a3d2: b29a uxth r2, r3 804a3d4: 4b0b ldr r3, [pc, #44] ; (804a404 ) 804a3d6: 801a strh r2, [r3, #0] } AUTOZOOM = true; 804a3d8: 4b08 ldr r3, [pc, #32] ; (804a3fc ) 804a3da: 2201 movs r2, #1 804a3dc: 701a strb r2, [r3, #0] } break; 804a3de: e038 b.n 804a452 804a3e0: 2002006c .word 0x2002006c 804a3e4: 20025d20 .word 0x20025d20 804a3e8: 20023e60 .word 0x20023e60 804a3ec: 080ee7f0 .word 0x080ee7f0 804a3f0: 20025d1e .word 0x20025d1e 804a3f4: 20025d1a .word 0x20025d1a 804a3f8: 20025d1c .word 0x20025d1c 804a3fc: 2002098c .word 0x2002098c 804a400: 20020f74 .word 0x20020f74 804a404: 20025d16 .word 0x20025d16 case StartStop: if(!measuring) 804a408: 4ba8 ldr r3, [pc, #672] ; (804a6ac ) 804a40a: 781b ldrb r3, [r3, #0] 804a40c: b2db uxtb r3, r3 804a40e: f083 0301 eor.w r3, r3, #1 804a412: b2db uxtb r3, r3 804a414: 2b00 cmp r3, #0 804a416: d00a beq.n 804a42e { initAmplif(); 804a418: f7d7 fb3c bl 8021a94 StartMeas(); 804a41c: f7d8 fe0e bl 802303c FIRST = true; 804a420: 4ba3 ldr r3, [pc, #652] ; (804a6b0 ) 804a422: 2201 movs r2, #1 804a424: 701a strb r2, [r3, #0] DrawSavedData = false; 804a426: 4ba3 ldr r3, [pc, #652] ; (804a6b4 ) 804a428: 2200 movs r2, #0 804a42a: 701a strb r2, [r3, #0] else { StopMeas(); oldmenupos = menupos; } break; 804a42c: e012 b.n 804a454 StopMeas(); 804a42e: f7d9 f9b5 bl 802379c oldmenupos = menupos; 804a432: 4ba1 ldr r3, [pc, #644] ; (804a6b8 ) 804a434: 781b ldrb r3, [r3, #0] 804a436: b2da uxtb r2, r3 804a438: 4ba0 ldr r3, [pc, #640] ; (804a6bc ) 804a43a: 701a strb r2, [r3, #0] break; 804a43c: e00a b.n 804a454 case Cursor: AUTOZOOM = true; 804a43e: 4ba0 ldr r3, [pc, #640] ; (804a6c0 ) 804a440: 2201 movs r2, #1 804a442: 701a strb r2, [r3, #0] break; 804a444: e006 b.n 804a454 break; 804a446: bf00 nop 804a448: f008 bc32 b.w 8052cb0 break; 804a44c: bf00 nop 804a44e: f008 bc2f b.w 8052cb0 break; 804a452: bf00 nop } break; 804a454: f008 bc2c b.w 8052cb0 case TREND_A: case TREND_V: case TREND_S: menu = lastmenu; 804a458: 4b9a ldr r3, [pc, #616] ; (804a6c4 ) 804a45a: 781b ldrb r3, [r3, #0] 804a45c: b2da uxtb r2, r3 804a45e: 4b9a ldr r3, [pc, #616] ; (804a6c8 ) 804a460: 701a strb r2, [r3, #0] menupos = lastmenupos; 804a462: 4b9a ldr r3, [pc, #616] ; (804a6cc ) 804a464: 781b ldrb r3, [r3, #0] 804a466: b2da uxtb r2, r3 804a468: 4b93 ldr r3, [pc, #588] ; (804a6b8 ) 804a46a: 701a strb r2, [r3, #0] Threshold = false; 804a46c: 4b98 ldr r3, [pc, #608] ; (804a6d0 ) 804a46e: 2200 movs r2, #0 804a470: 701a strb r2, [r3, #0] FIRST = true; 804a472: 4b8f ldr r3, [pc, #572] ; (804a6b0 ) 804a474: 2201 movs r2, #1 804a476: 701a strb r2, [r3, #0] break; 804a478: f008 bc65 b.w 8052d46 case MAIN: case MAIN_FRAN: switch(menupos) 804a47c: 4b8e ldr r3, [pc, #568] ; (804a6b8 ) 804a47e: 781b ldrb r3, [r3, #0] 804a480: b2db uxtb r3, r3 804a482: 2b06 cmp r3, #6 804a484: f208 8416 bhi.w 8052cb4 804a488: a201 add r2, pc, #4 ; (adr r2, 804a490 ) 804a48a: f852 f023 ldr.w pc, [r2, r3, lsl #2] 804a48e: bf00 nop 804a490: 0804a4bf .word 0x0804a4bf 804a494: 0804a4ad .word 0x0804a4ad 804a498: 0804a4f5 .word 0x0804a4f5 804a49c: 0804a7f5 .word 0x0804a7f5 804a4a0: 0804a7f5 .word 0x0804a7f5 804a4a4: 08052cb5 .word 0x08052cb5 804a4a8: 0804a7db .word 0x0804a7db { case BackMenu: StopMeas(); 804a4ac: f7d9 f976 bl 802379c menu = PARAM_VIB; 804a4b0: 4b85 ldr r3, [pc, #532] ; (804a6c8 ) 804a4b2: 2206 movs r2, #6 804a4b4: 701a strb r2, [r3, #0] menupos = Ok; 804a4b6: 4b80 ldr r3, [pc, #512] ; (804a6b8 ) 804a4b8: 2200 movs r2, #0 804a4ba: 701a strb r2, [r3, #0] break; 804a4bc: e1de b.n 804a87c case StartStop: if(!measuring) 804a4be: 4b7b ldr r3, [pc, #492] ; (804a6ac ) 804a4c0: 781b ldrb r3, [r3, #0] 804a4c2: b2db uxtb r3, r3 804a4c4: f083 0301 eor.w r3, r3, #1 804a4c8: b2db uxtb r3, r3 804a4ca: 2b00 cmp r3, #0 804a4cc: d00a beq.n 804a4e4 { initAmplif(); 804a4ce: f7d7 fae1 bl 8021a94 StartMeas(); 804a4d2: f7d8 fdb3 bl 802303c FIRST = true; 804a4d6: 4b76 ldr r3, [pc, #472] ; (804a6b0 ) 804a4d8: 2201 movs r2, #1 804a4da: 701a strb r2, [r3, #0] DrawSavedData = false; 804a4dc: 4b75 ldr r3, [pc, #468] ; (804a6b4 ) 804a4de: 2200 movs r2, #0 804a4e0: 701a strb r2, [r3, #0] else { StopMeas(); oldmenupos = menupos; } break; 804a4e2: e1cb b.n 804a87c StopMeas(); 804a4e4: f7d9 f95a bl 802379c oldmenupos = menupos; 804a4e8: 4b73 ldr r3, [pc, #460] ; (804a6b8 ) 804a4ea: 781b ldrb r3, [r3, #0] 804a4ec: b2da uxtb r2, r3 804a4ee: 4b73 ldr r3, [pc, #460] ; (804a6bc ) 804a4f0: 701a strb r2, [r3, #0] break; 804a4f2: e1c3 b.n 804a87c case Record: if(CardState == MSD_READY) 804a4f4: 4b77 ldr r3, [pc, #476] ; (804a6d4 ) 804a4f6: 781b ldrb r3, [r3, #0] 804a4f8: b2db uxtb r3, r3 804a4fa: 2b03 cmp r3, #3 804a4fc: f040 8162 bne.w 804a7c4 { if((!measuring) && (!AddToFile) && (!FIRST)) 804a500: 4b6a ldr r3, [pc, #424] ; (804a6ac ) 804a502: 781b ldrb r3, [r3, #0] 804a504: b2db uxtb r3, r3 804a506: f083 0301 eor.w r3, r3, #1 804a50a: b2db uxtb r3, r3 804a50c: 2b00 cmp r3, #0 804a50e: f000 81b1 beq.w 804a874 804a512: 4b71 ldr r3, [pc, #452] ; (804a6d8 ) 804a514: 781b ldrb r3, [r3, #0] 804a516: b2db uxtb r3, r3 804a518: f083 0301 eor.w r3, r3, #1 804a51c: b2db uxtb r3, r3 804a51e: 2b00 cmp r3, #0 804a520: f000 81a8 beq.w 804a874 804a524: 4b62 ldr r3, [pc, #392] ; (804a6b0 ) 804a526: 781b ldrb r3, [r3, #0] 804a528: b2db uxtb r3, r3 804a52a: f083 0301 eor.w r3, r3, #1 804a52e: b2db uxtb r3, r3 804a530: 2b00 cmp r3, #0 804a532: f000 819f beq.w 804a874 { if(NEWFILE) 804a536: 4b69 ldr r3, [pc, #420] ; (804a6dc ) 804a538: 781b ldrb r3, [r3, #0] 804a53a: b2db uxtb r3, r3 804a53c: 2b00 cmp r3, #0 804a53e: d02b beq.n 804a598 { memcpy(TEMP_Comment, Comment, sizeof(Comment)); 804a540: 4a67 ldr r2, [pc, #412] ; (804a6e0 ) 804a542: 4b68 ldr r3, [pc, #416] ; (804a6e4 ) 804a544: 4610 mov r0, r2 804a546: f103 0420 add.w r4, r3, #32 804a54a: 4602 mov r2, r0 804a54c: 4619 mov r1, r3 804a54e: f8d1 e000 ldr.w lr, [r1] 804a552: 684e ldr r6, [r1, #4] 804a554: 688d ldr r5, [r1, #8] 804a556: 68c9 ldr r1, [r1, #12] 804a558: f8c2 e000 str.w lr, [r2] 804a55c: 6056 str r6, [r2, #4] 804a55e: 6095 str r5, [r2, #8] 804a560: 60d1 str r1, [r2, #12] 804a562: 3310 adds r3, #16 804a564: 3010 adds r0, #16 804a566: 42a3 cmp r3, r4 804a568: d1ef bne.n 804a54a 804a56a: 4602 mov r2, r0 804a56c: 6819 ldr r1, [r3, #0] 804a56e: 685b ldr r3, [r3, #4] 804a570: 6011 str r1, [r2, #0] 804a572: 6053 str r3, [r2, #4] CommentLen = strlen(TEMP_Comment); 804a574: 485a ldr r0, [pc, #360] ; (804a6e0 ) 804a576: f7d5 fecd bl 8020314 804a57a: 4602 mov r2, r0 804a57c: 4b5a ldr r3, [pc, #360] ; (804a6e8 ) 804a57e: 601a str r2, [r3, #0] lastmenu = menu; 804a580: 4b51 ldr r3, [pc, #324] ; (804a6c8 ) 804a582: 781b ldrb r3, [r3, #0] 804a584: b2da uxtb r2, r3 804a586: 4b4f ldr r3, [pc, #316] ; (804a6c4 ) 804a588: 701a strb r2, [r3, #0] menu = INPUT_COMMENT; 804a58a: 4b4f ldr r3, [pc, #316] ; (804a6c8 ) 804a58c: 2231 movs r2, #49 ; 0x31 804a58e: 701a strb r2, [r3, #0] menupos = _ENTER; 804a590: 4b49 ldr r3, [pc, #292] ; (804a6b8 ) 804a592: 2226 movs r2, #38 ; 0x26 804a594: 701a strb r2, [r3, #0] { STATUS = AP_NO_CARD; timerStatus = sec2; DrawStatus = true; } break; 804a596: e16d b.n 804a874 if(pardata.IVS[ACC] == PEAK) 804a598: 4b54 ldr r3, [pc, #336] ; (804a6ec ) 804a59a: 789b ldrb r3, [r3, #2] 804a59c: b2db uxtb r3, r3 804a59e: 2b00 cmp r3, #0 804a5a0: d104 bne.n 804a5ac FileData.Aivs = 'P'; 804a5a2: 4b53 ldr r3, [pc, #332] ; (804a6f0 ) 804a5a4: 2250 movs r2, #80 ; 0x50 804a5a6: f883 202c strb.w r2, [r3, #44] ; 0x2c 804a5aa: e026 b.n 804a5fa else if(pardata.IVS[ACC] == RMS) 804a5ac: 4b4f ldr r3, [pc, #316] ; (804a6ec ) 804a5ae: 789b ldrb r3, [r3, #2] 804a5b0: b2db uxtb r3, r3 804a5b2: 2b01 cmp r3, #1 804a5b4: d104 bne.n 804a5c0 FileData.Aivs = 'S'; 804a5b6: 4b4e ldr r3, [pc, #312] ; (804a6f0 ) 804a5b8: 2253 movs r2, #83 ; 0x53 804a5ba: f883 202c strb.w r2, [r3, #44] ; 0x2c 804a5be: e01c b.n 804a5fa else if(pardata.IVS[ACC] == PEAK_TO_PEAK) 804a5c0: 4b4a ldr r3, [pc, #296] ; (804a6ec ) 804a5c2: 789b ldrb r3, [r3, #2] 804a5c4: b2db uxtb r3, r3 804a5c6: 2b02 cmp r3, #2 804a5c8: d104 bne.n 804a5d4 FileData.Aivs = 'R'; 804a5ca: 4b49 ldr r3, [pc, #292] ; (804a6f0 ) 804a5cc: 2252 movs r2, #82 ; 0x52 804a5ce: f883 202c strb.w r2, [r3, #44] ; 0x2c 804a5d2: e012 b.n 804a5fa else if(pardata.IVS[ACC] == PEAK_FACTOR) 804a5d4: 4b45 ldr r3, [pc, #276] ; (804a6ec ) 804a5d6: 789b ldrb r3, [r3, #2] 804a5d8: b2db uxtb r3, r3 804a5da: 2b03 cmp r3, #3 804a5dc: d104 bne.n 804a5e8 FileData.Aivs = 'F'; 804a5de: 4b44 ldr r3, [pc, #272] ; (804a6f0 ) 804a5e0: 2246 movs r2, #70 ; 0x46 804a5e2: f883 202c strb.w r2, [r3, #44] ; 0x2c 804a5e6: e008 b.n 804a5fa else if(pardata.IVS[ACC] == EXCESS) 804a5e8: 4b40 ldr r3, [pc, #256] ; (804a6ec ) 804a5ea: 789b ldrb r3, [r3, #2] 804a5ec: b2db uxtb r3, r3 804a5ee: 2b04 cmp r3, #4 804a5f0: d103 bne.n 804a5fa FileData.Aivs = 'E'; 804a5f2: 4b3f ldr r3, [pc, #252] ; (804a6f0 ) 804a5f4: 2245 movs r2, #69 ; 0x45 804a5f6: f883 202c strb.w r2, [r3, #44] ; 0x2c if(pardata.IVS[VEL] == PEAK) 804a5fa: 4b3c ldr r3, [pc, #240] ; (804a6ec ) 804a5fc: 78db ldrb r3, [r3, #3] 804a5fe: b2db uxtb r3, r3 804a600: 2b00 cmp r3, #0 804a602: d104 bne.n 804a60e FileData.Vivs = 'P'; 804a604: 4b3a ldr r3, [pc, #232] ; (804a6f0 ) 804a606: 2250 movs r2, #80 ; 0x50 804a608: f883 202d strb.w r2, [r3, #45] ; 0x2d 804a60c: e026 b.n 804a65c else if(pardata.IVS[VEL] == RMS) 804a60e: 4b37 ldr r3, [pc, #220] ; (804a6ec ) 804a610: 78db ldrb r3, [r3, #3] 804a612: b2db uxtb r3, r3 804a614: 2b01 cmp r3, #1 804a616: d104 bne.n 804a622 FileData.Vivs = 'S'; 804a618: 4b35 ldr r3, [pc, #212] ; (804a6f0 ) 804a61a: 2253 movs r2, #83 ; 0x53 804a61c: f883 202d strb.w r2, [r3, #45] ; 0x2d 804a620: e01c b.n 804a65c else if(pardata.IVS[VEL] == PEAK_TO_PEAK) 804a622: 4b32 ldr r3, [pc, #200] ; (804a6ec ) 804a624: 78db ldrb r3, [r3, #3] 804a626: b2db uxtb r3, r3 804a628: 2b02 cmp r3, #2 804a62a: d104 bne.n 804a636 FileData.Vivs = 'R'; 804a62c: 4b30 ldr r3, [pc, #192] ; (804a6f0 ) 804a62e: 2252 movs r2, #82 ; 0x52 804a630: f883 202d strb.w r2, [r3, #45] ; 0x2d 804a634: e012 b.n 804a65c else if(pardata.IVS[VEL] == PEAK_FACTOR) 804a636: 4b2d ldr r3, [pc, #180] ; (804a6ec ) 804a638: 78db ldrb r3, [r3, #3] 804a63a: b2db uxtb r3, r3 804a63c: 2b03 cmp r3, #3 804a63e: d104 bne.n 804a64a FileData.Vivs = 'F'; 804a640: 4b2b ldr r3, [pc, #172] ; (804a6f0 ) 804a642: 2246 movs r2, #70 ; 0x46 804a644: f883 202d strb.w r2, [r3, #45] ; 0x2d 804a648: e008 b.n 804a65c else if(pardata.IVS[VEL] == EXCESS) 804a64a: 4b28 ldr r3, [pc, #160] ; (804a6ec ) 804a64c: 78db ldrb r3, [r3, #3] 804a64e: b2db uxtb r3, r3 804a650: 2b04 cmp r3, #4 804a652: d103 bne.n 804a65c FileData.Vivs = 'E'; 804a654: 4b26 ldr r3, [pc, #152] ; (804a6f0 ) 804a656: 2245 movs r2, #69 ; 0x45 804a658: f883 202d strb.w r2, [r3, #45] ; 0x2d if(pardata.IVS[DIS] == PEAK) 804a65c: 4b23 ldr r3, [pc, #140] ; (804a6ec ) 804a65e: 791b ldrb r3, [r3, #4] 804a660: b2db uxtb r3, r3 804a662: 2b00 cmp r3, #0 804a664: d104 bne.n 804a670 FileData.Sivs = 'P'; 804a666: 4b22 ldr r3, [pc, #136] ; (804a6f0 ) 804a668: 2250 movs r2, #80 ; 0x50 804a66a: f883 202e strb.w r2, [r3, #46] ; 0x2e 804a66e: e04a b.n 804a706 else if(pardata.IVS[DIS] == RMS) 804a670: 4b1e ldr r3, [pc, #120] ; (804a6ec ) 804a672: 791b ldrb r3, [r3, #4] 804a674: b2db uxtb r3, r3 804a676: 2b01 cmp r3, #1 804a678: d104 bne.n 804a684 FileData.Sivs = 'S'; 804a67a: 4b1d ldr r3, [pc, #116] ; (804a6f0 ) 804a67c: 2253 movs r2, #83 ; 0x53 804a67e: f883 202e strb.w r2, [r3, #46] ; 0x2e 804a682: e040 b.n 804a706 else if(pardata.IVS[DIS] == PEAK_TO_PEAK) 804a684: 4b19 ldr r3, [pc, #100] ; (804a6ec ) 804a686: 791b ldrb r3, [r3, #4] 804a688: b2db uxtb r3, r3 804a68a: 2b02 cmp r3, #2 804a68c: d104 bne.n 804a698 FileData.Sivs = 'R'; 804a68e: 4b18 ldr r3, [pc, #96] ; (804a6f0 ) 804a690: 2252 movs r2, #82 ; 0x52 804a692: f883 202e strb.w r2, [r3, #46] ; 0x2e 804a696: e036 b.n 804a706 else if(pardata.IVS[DIS] == PEAK_FACTOR) 804a698: 4b14 ldr r3, [pc, #80] ; (804a6ec ) 804a69a: 791b ldrb r3, [r3, #4] 804a69c: b2db uxtb r3, r3 804a69e: 2b03 cmp r3, #3 804a6a0: d128 bne.n 804a6f4 FileData.Sivs = 'F'; 804a6a2: 4b13 ldr r3, [pc, #76] ; (804a6f0 ) 804a6a4: 2246 movs r2, #70 ; 0x46 804a6a6: f883 202e strb.w r2, [r3, #46] ; 0x2e 804a6aa: e02c b.n 804a706 804a6ac: 20020daf .word 0x20020daf 804a6b0: 20020db2 .word 0x20020db2 804a6b4: 20020dca .word 0x20020dca 804a6b8: 20020070 .word 0x20020070 804a6bc: 20020f7a .word 0x20020f7a 804a6c0: 2002098c .word 0x2002098c 804a6c4: 20020f79 .word 0x20020f79 804a6c8: 20020f78 .word 0x20020f78 804a6cc: 20020071 .word 0x20020071 804a6d0: 20020db1 .word 0x20020db1 804a6d4: 2002164c .word 0x2002164c 804a6d8: 20020dc8 .word 0x20020dc8 804a6dc: 20020e14 .word 0x20020e14 804a6e0: 20025c40 .word 0x20025c40 804a6e4: 20022650 .word 0x20022650 804a6e8: 20020e18 .word 0x20020e18 804a6ec: 20023e60 .word 0x20023e60 804a6f0: 20022984 .word 0x20022984 else if(pardata.IVS[DIS] == EXCESS) 804a6f4: 4b9a ldr r3, [pc, #616] ; (804a960 ) 804a6f6: 791b ldrb r3, [r3, #4] 804a6f8: b2db uxtb r3, r3 804a6fa: 2b04 cmp r3, #4 804a6fc: d103 bne.n 804a706 FileData.Sivs = 'E'; 804a6fe: 4b99 ldr r3, [pc, #612] ; (804a964 ) 804a700: 2245 movs r2, #69 ; 0x45 804a702: f883 202e strb.w r2, [r3, #46] ; 0x2e FileData.Aval.fl = skz[ACC]; 804a706: 4b98 ldr r3, [pc, #608] ; (804a968 ) 804a708: 681b ldr r3, [r3, #0] 804a70a: 4a96 ldr r2, [pc, #600] ; (804a964 ) 804a70c: 6013 str r3, [r2, #0] if(pardata.HP < 2.0f) 804a70e: 4b94 ldr r3, [pc, #592] ; (804a960 ) 804a710: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 804a714: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 804a718: eef4 7ac7 vcmpe.f32 s15, s14 804a71c: eef1 fa10 vmrs APSR_nzcv, fpscr 804a720: d505 bpl.n 804a72e skz[VEL] = -1.0f; 804a722: 4b91 ldr r3, [pc, #580] ; (804a968 ) 804a724: 4a91 ldr r2, [pc, #580] ; (804a96c ) 804a726: 605a str r2, [r3, #4] skz[DIS] = -1.0f; 804a728: 4b8f ldr r3, [pc, #572] ; (804a968 ) 804a72a: 4a90 ldr r2, [pc, #576] ; (804a96c ) 804a72c: 609a str r2, [r3, #8] FileData.Vval.fl = skz[VEL]; 804a72e: 4b8e ldr r3, [pc, #568] ; (804a968 ) 804a730: 685b ldr r3, [r3, #4] 804a732: 4a8c ldr r2, [pc, #560] ; (804a964 ) 804a734: 6053 str r3, [r2, #4] FileData.Sval.fl = skz[DIS]; 804a736: 4b8c ldr r3, [pc, #560] ; (804a968 ) 804a738: 689b ldr r3, [r3, #8] 804a73a: 4a8a ldr r2, [pc, #552] ; (804a964 ) 804a73c: 6093 str r3, [r2, #8] if(menu == MAIN) 804a73e: 4b8c ldr r3, [pc, #560] ; (804a970 ) 804a740: 781b ldrb r3, [r3, #0] 804a742: b2db uxtb r3, r3 804a744: 2b00 cmp r3, #0 804a746: d103 bne.n 804a750 FileData.Fval.fl = -1.0f; 804a748: 4b86 ldr r3, [pc, #536] ; (804a964 ) 804a74a: 4a88 ldr r2, [pc, #544] ; (804a96c ) 804a74c: 60da str r2, [r3, #12] 804a74e: e003 b.n 804a758 else FileData.Fval.fl = FreqFran; 804a750: 4b88 ldr r3, [pc, #544] ; (804a974 ) 804a752: 681b ldr r3, [r3, #0] 804a754: 4a83 ldr r2, [pc, #524] ; (804a964 ) 804a756: 60d3 str r3, [r2, #12] FileData.Time = RTC_TimeStruct; 804a758: 4b82 ldr r3, [pc, #520] ; (804a964 ) 804a75a: 4a87 ldr r2, [pc, #540] ; (804a978 ) 804a75c: f103 0410 add.w r4, r3, #16 804a760: 4615 mov r5, r2 804a762: cd0f ldmia r5!, {r0, r1, r2, r3} 804a764: c40f stmia r4!, {r0, r1, r2, r3} 804a766: e895 0003 ldmia.w r5, {r0, r1} 804a76a: e884 0003 stmia.w r4, {r0, r1} FileData.Date = RTC_DateStruct; 804a76e: 4b7d ldr r3, [pc, #500] ; (804a964 ) 804a770: 4a82 ldr r2, [pc, #520] ; (804a97c ) 804a772: 3328 adds r3, #40 ; 0x28 804a774: 6810 ldr r0, [r2, #0] 804a776: 6018 str r0, [r3, #0] AddToFile = true; 804a778: 4b81 ldr r3, [pc, #516] ; (804a980 ) 804a77a: 2201 movs r2, #1 804a77c: 701a strb r2, [r3, #0] result = WriteFilePTM(MeasFileName); 804a77e: 4881 ldr r0, [pc, #516] ; (804a984 ) 804a780: f7de fd2e bl 80291e0 804a784: 4603 mov r3, r0 804a786: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 804a78a: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 804a78e: 2b00 cmp r3, #0 804a790: d10a bne.n 804a7a8 STATUS = AP_SAVING_SUCCESS; 804a792: 4b7d ldr r3, [pc, #500] ; (804a988 ) 804a794: 2207 movs r2, #7 804a796: 601a str r2, [r3, #0] timerStatus = sec2; 804a798: 4b7c ldr r3, [pc, #496] ; (804a98c ) 804a79a: f44f 5280 mov.w r2, #4096 ; 0x1000 804a79e: 801a strh r2, [r3, #0] DrawStatus = true; 804a7a0: 4b7b ldr r3, [pc, #492] ; (804a990 ) 804a7a2: 2201 movs r2, #1 804a7a4: 701a strb r2, [r3, #0] 804a7a6: e009 b.n 804a7bc STATUS = AP_SAVING_ERROR; 804a7a8: 4b77 ldr r3, [pc, #476] ; (804a988 ) 804a7aa: 2208 movs r2, #8 804a7ac: 601a str r2, [r3, #0] timerStatus = sec2; 804a7ae: 4b77 ldr r3, [pc, #476] ; (804a98c ) 804a7b0: f44f 5280 mov.w r2, #4096 ; 0x1000 804a7b4: 801a strh r2, [r3, #0] DrawStatus = true; 804a7b6: 4b76 ldr r3, [pc, #472] ; (804a990 ) 804a7b8: 2201 movs r2, #1 804a7ba: 701a strb r2, [r3, #0] AddToFile = false; 804a7bc: 4b70 ldr r3, [pc, #448] ; (804a980 ) 804a7be: 2200 movs r2, #0 804a7c0: 701a strb r2, [r3, #0] break; 804a7c2: e057 b.n 804a874 STATUS = AP_NO_CARD; 804a7c4: 4b70 ldr r3, [pc, #448] ; (804a988 ) 804a7c6: 2211 movs r2, #17 804a7c8: 601a str r2, [r3, #0] timerStatus = sec2; 804a7ca: 4b70 ldr r3, [pc, #448] ; (804a98c ) 804a7cc: f44f 5280 mov.w r2, #4096 ; 0x1000 804a7d0: 801a strh r2, [r3, #0] DrawStatus = true; 804a7d2: 4b6f ldr r3, [pc, #444] ; (804a990 ) 804a7d4: 2201 movs r2, #1 804a7d6: 701a strb r2, [r3, #0] break; 804a7d8: e04c b.n 804a874 case MyLinLog: if(SeeLog) 804a7da: 4b6e ldr r3, [pc, #440] ; (804a994 ) 804a7dc: 781b ldrb r3, [r3, #0] 804a7de: b2db uxtb r3, r3 804a7e0: 2b00 cmp r3, #0 804a7e2: d003 beq.n 804a7ec SeeLog = false; 804a7e4: 4b6b ldr r3, [pc, #428] ; (804a994 ) 804a7e6: 2200 movs r2, #0 804a7e8: 701a strb r2, [r3, #0] else SeeLog = true; break; 804a7ea: e047 b.n 804a87c else SeeLog = true; 804a7ec: 4b69 ldr r3, [pc, #420] ; (804a994 ) 804a7ee: 2201 movs r2, #1 804a7f0: 701a strb r2, [r3, #0] break; 804a7f2: e043 b.n 804a87c case MyPoint: case MyMeasure: if(!ReadFromFile) 804a7f4: 4b68 ldr r3, [pc, #416] ; (804a998 ) 804a7f6: 781b ldrb r3, [r3, #0] 804a7f8: b2db uxtb r3, r3 804a7fa: f083 0301 eor.w r3, r3, #1 804a7fe: b2db uxtb r3, r3 804a800: 2b00 cmp r3, #0 804a802: d03a beq.n 804a87a { if((CardState == MSD_READY) && (strlen(MeasFileName))) 804a804: 4b65 ldr r3, [pc, #404] ; (804a99c ) 804a806: 781b ldrb r3, [r3, #0] 804a808: b2db uxtb r3, r3 804a80a: 2b03 cmp r3, #3 804a80c: d135 bne.n 804a87a 804a80e: 4b5d ldr r3, [pc, #372] ; (804a984 ) 804a810: 781b ldrb r3, [r3, #0] 804a812: 2b00 cmp r3, #0 804a814: d031 beq.n 804a87a { if(measuring) 804a816: 4b62 ldr r3, [pc, #392] ; (804a9a0 ) 804a818: 781b ldrb r3, [r3, #0] 804a81a: b2db uxtb r3, r3 804a81c: 2b00 cmp r3, #0 804a81e: d001 beq.n 804a824 StopMeas(); 804a820: f7d8 ffbc bl 802379c result = ReadTrendPTM(MeasFileName); 804a824: 4857 ldr r0, [pc, #348] ; (804a984 ) 804a826: f7dc f98f bl 8026b48 804a82a: 4603 mov r3, r0 804a82c: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 804a830: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 804a834: 2b00 cmp r3, #0 804a836: d112 bne.n 804a85e { lastmenu = menu; 804a838: 4b4d ldr r3, [pc, #308] ; (804a970 ) 804a83a: 781b ldrb r3, [r3, #0] 804a83c: b2da uxtb r2, r3 804a83e: 4b59 ldr r3, [pc, #356] ; (804a9a4 ) 804a840: 701a strb r2, [r3, #0] menu = TREND_A; 804a842: 4b4b ldr r3, [pc, #300] ; (804a970 ) 804a844: 2245 movs r2, #69 ; 0x45 804a846: 701a strb r2, [r3, #0] lastmenupos = menupos; 804a848: 4b57 ldr r3, [pc, #348] ; (804a9a8 ) 804a84a: 781b ldrb r3, [r3, #0] 804a84c: b2da uxtb r2, r3 804a84e: 4b57 ldr r3, [pc, #348] ; (804a9ac ) 804a850: 701a strb r2, [r3, #0] menupos = pardata.IVS[ACC]; 804a852: 4b43 ldr r3, [pc, #268] ; (804a960 ) 804a854: 789b ldrb r3, [r3, #2] 804a856: b2da uxtb r2, r3 804a858: 4b53 ldr r3, [pc, #332] ; (804a9a8 ) 804a85a: 701a strb r2, [r3, #0] timerStatus = sec2; DrawStatus = true; } } } break; 804a85c: e00d b.n 804a87a STATUS = AP_INVALID_FILE; 804a85e: 4b4a ldr r3, [pc, #296] ; (804a988 ) 804a860: 2202 movs r2, #2 804a862: 601a str r2, [r3, #0] timerStatus = sec2; 804a864: 4b49 ldr r3, [pc, #292] ; (804a98c ) 804a866: f44f 5280 mov.w r2, #4096 ; 0x1000 804a86a: 801a strh r2, [r3, #0] DrawStatus = true; 804a86c: 4b48 ldr r3, [pc, #288] ; (804a990 ) 804a86e: 2201 movs r2, #1 804a870: 701a strb r2, [r3, #0] break; 804a872: e002 b.n 804a87a break; 804a874: bf00 nop 804a876: f008 ba1d b.w 8052cb4 break; 804a87a: bf00 nop } break; 804a87c: f008 ba1a b.w 8052cb4 case MAIN_OSC: switch(menupos) 804a880: 4b49 ldr r3, [pc, #292] ; (804a9a8 ) 804a882: 781b ldrb r3, [r3, #0] 804a884: b2db uxtb r3, r3 804a886: 2b06 cmp r3, #6 804a888: f208 8216 bhi.w 8052cb8 804a88c: a201 add r2, pc, #4 ; (adr r2, 804a894 ) 804a88e: f852 f023 ldr.w pc, [r2, r3, lsl #2] 804a892: bf00 nop 804a894: 0804a8c3 .word 0x0804a8c3 804a898: 0804a8b1 .word 0x0804a8b1 804a89c: 0804a8ff .word 0x0804a8ff 804a8a0: 0804aadf .word 0x0804aadf 804a8a4: 0804ad13 .word 0x0804ad13 804a8a8: 0804aa15 .word 0x0804aa15 804a8ac: 0804af0d .word 0x0804af0d { case BackMenu: StopMeas(); 804a8b0: f7d8 ff74 bl 802379c menu = PARAM_OSC; 804a8b4: 4b2e ldr r3, [pc, #184] ; (804a970 ) 804a8b6: 2208 movs r2, #8 804a8b8: 701a strb r2, [r3, #0] menupos = Ok; 804a8ba: 4b3b ldr r3, [pc, #236] ; (804a9a8 ) 804a8bc: 2200 movs r2, #0 804a8be: 701a strb r2, [r3, #0] break; 804a8c0: e32f b.n 804af22 case StartStop: if(!measuring) 804a8c2: 4b37 ldr r3, [pc, #220] ; (804a9a0 ) 804a8c4: 781b ldrb r3, [r3, #0] 804a8c6: b2db uxtb r3, r3 804a8c8: f083 0301 eor.w r3, r3, #1 804a8cc: b2db uxtb r3, r3 804a8ce: 2b00 cmp r3, #0 804a8d0: d00a beq.n 804a8e8 { AUTOZOOM = true; 804a8d2: 4b37 ldr r3, [pc, #220] ; (804a9b0 ) 804a8d4: 2201 movs r2, #1 804a8d6: 701a strb r2, [r3, #0] FIRST = true; 804a8d8: 4b36 ldr r3, [pc, #216] ; (804a9b4 ) 804a8da: 2201 movs r2, #1 804a8dc: 701a strb r2, [r3, #0] initAmplif(); 804a8de: f7d7 f8d9 bl 8021a94 StartMeas(); 804a8e2: f7d8 fbab bl 802303c { StopMeas(); AUTOZOOM = true; oldmenupos = menupos; } break; 804a8e6: e31c b.n 804af22 StopMeas(); 804a8e8: f7d8 ff58 bl 802379c AUTOZOOM = true; 804a8ec: 4b30 ldr r3, [pc, #192] ; (804a9b0 ) 804a8ee: 2201 movs r2, #1 804a8f0: 701a strb r2, [r3, #0] oldmenupos = menupos; 804a8f2: 4b2d ldr r3, [pc, #180] ; (804a9a8 ) 804a8f4: 781b ldrb r3, [r3, #0] 804a8f6: b2da uxtb r2, r3 804a8f8: 4b2f ldr r3, [pc, #188] ; (804a9b8 ) 804a8fa: 701a strb r2, [r3, #0] break; 804a8fc: e311 b.n 804af22 case ImageLeft: if(lX) 804a8fe: 4b2f ldr r3, [pc, #188] ; (804a9bc ) 804a900: 881b ldrh r3, [r3, #0] 804a902: b29b uxth r3, r3 804a904: 2b00 cmp r3, #0 804a906: f000 8305 beq.w 804af14 { multA_u16 = Avg[0][5 * ViewLevel + pardata.LNE]; 804a90a: 4b2d ldr r3, [pc, #180] ; (804a9c0 ) 804a90c: 781b ldrb r3, [r3, #0] 804a90e: b2db uxtb r3, r3 804a910: 461a mov r2, r3 804a912: 4613 mov r3, r2 804a914: 009b lsls r3, r3, #2 804a916: 4413 add r3, r2 804a918: 4a11 ldr r2, [pc, #68] ; (804a960 ) 804a91a: 79d2 ldrb r2, [r2, #7] 804a91c: b2d2 uxtb r2, r2 804a91e: 4413 add r3, r2 804a920: 4a28 ldr r2, [pc, #160] ; (804a9c4 ) 804a922: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804a926: f8a7 309e strh.w r3, [r7, #158] ; 0x9e multB_u16 = 256 * multA_u16; 804a92a: f8b7 309e ldrh.w r3, [r7, #158] ; 0x9e 804a92e: 021b lsls r3, r3, #8 804a930: f8a7 3096 strh.w r3, [r7, #150] ; 0x96 if(lX >= (multB_u16 >> 1)) 804a934: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804a938: 085b lsrs r3, r3, #1 804a93a: b29a uxth r2, r3 804a93c: 4b1f ldr r3, [pc, #124] ; (804a9bc ) 804a93e: 881b ldrh r3, [r3, #0] 804a940: b29b uxth r3, r3 804a942: 429a cmp r2, r3 804a944: d842 bhi.n 804a9cc X0 -= (multB_u16 >> 1); 804a946: 4b20 ldr r3, [pc, #128] ; (804a9c8 ) 804a948: 881b ldrh r3, [r3, #0] 804a94a: b29a uxth r2, r3 804a94c: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804a950: 085b lsrs r3, r3, #1 804a952: b29b uxth r3, r3 804a954: 1ad3 subs r3, r2, r3 804a956: b29a uxth r2, r3 804a958: 4b1b ldr r3, [pc, #108] ; (804a9c8 ) 804a95a: 801a strh r2, [r3, #0] 804a95c: e039 b.n 804a9d2 804a95e: bf00 nop 804a960: 20023e60 .word 0x20023e60 804a964: 20022984 .word 0x20022984 804a968: 20021540 .word 0x20021540 804a96c: bf800000 .word 0xbf800000 804a970: 20020f78 .word 0x20020f78 804a974: 20021564 .word 0x20021564 804a978: 20025c68 .word 0x20025c68 804a97c: 20025cec .word 0x20025cec 804a980: 20020dc8 .word 0x20020dc8 804a984: 20020e58 .word 0x20020e58 804a988: 20020dcc .word 0x20020dcc 804a98c: 2002168c .word 0x2002168c 804a990: 20020dd2 .word 0x20020dd2 804a994: 20020f77 .word 0x20020f77 804a998: 20020dc9 .word 0x20020dc9 804a99c: 2002164c .word 0x2002164c 804a9a0: 20020daf .word 0x20020daf 804a9a4: 20020f79 .word 0x20020f79 804a9a8: 20020070 .word 0x20020070 804a9ac: 20020071 .word 0x20020071 804a9b0: 2002098c .word 0x2002098c 804a9b4: 20020db2 .word 0x20020db2 804a9b8: 20020f7a .word 0x20020f7a 804a9bc: 20025d1a .word 0x20025d1a 804a9c0: 20020f74 .word 0x20020f74 804a9c4: 080ee7f0 .word 0x080ee7f0 804a9c8: 20025d1e .word 0x20025d1e else X0 = 0; 804a9cc: 4ba0 ldr r3, [pc, #640] ; (804ac50 ) 804a9ce: 2200 movs r2, #0 804a9d0: 801a strh r2, [r3, #0] lX = X0; 804a9d2: 4b9f ldr r3, [pc, #636] ; (804ac50 ) 804a9d4: 881b ldrh r3, [r3, #0] 804a9d6: b29a uxth r2, r3 804a9d8: 4b9e ldr r3, [pc, #632] ; (804ac54 ) 804a9da: 801a strh r2, [r3, #0] rX = lX + multB_u16; 804a9dc: 4b9d ldr r3, [pc, #628] ; (804ac54 ) 804a9de: 881b ldrh r3, [r3, #0] 804a9e0: b29a uxth r2, r3 804a9e2: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804a9e6: 4413 add r3, r2 804a9e8: b29a uxth r2, r3 804a9ea: 4b9b ldr r3, [pc, #620] ; (804ac58 ) 804a9ec: 801a strh r2, [r3, #0] Mpos = X0 + CURSOR * multA_u16; 804a9ee: 4b9b ldr r3, [pc, #620] ; (804ac5c ) 804a9f0: 681b ldr r3, [r3, #0] 804a9f2: b29b uxth r3, r3 804a9f4: f8b7 209e ldrh.w r2, [r7, #158] ; 0x9e 804a9f8: fb12 f303 smulbb r3, r2, r3 804a9fc: b29a uxth r2, r3 804a9fe: 4b94 ldr r3, [pc, #592] ; (804ac50 ) 804aa00: 881b ldrh r3, [r3, #0] 804aa02: b29b uxth r3, r3 804aa04: 4413 add r3, r2 804aa06: b29a uxth r2, r3 804aa08: 4b95 ldr r3, [pc, #596] ; (804ac60 ) 804aa0a: 801a strh r2, [r3, #0] AUTOZOOM = true; 804aa0c: 4b95 ldr r3, [pc, #596] ; (804ac64 ) 804aa0e: 2201 movs r2, #1 804aa10: 701a strb r2, [r3, #0] } break; 804aa12: e27f b.n 804af14 case ImageRight: multA_u16 = Avg[0][5 * ViewLevel + pardata.LNE]; 804aa14: 4b94 ldr r3, [pc, #592] ; (804ac68 ) 804aa16: 781b ldrb r3, [r3, #0] 804aa18: b2db uxtb r3, r3 804aa1a: 461a mov r2, r3 804aa1c: 4613 mov r3, r2 804aa1e: 009b lsls r3, r3, #2 804aa20: 4413 add r3, r2 804aa22: 4a92 ldr r2, [pc, #584] ; (804ac6c ) 804aa24: 79d2 ldrb r2, [r2, #7] 804aa26: b2d2 uxtb r2, r2 804aa28: 4413 add r3, r2 804aa2a: 4a91 ldr r2, [pc, #580] ; (804ac70 ) 804aa2c: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804aa30: f8a7 309e strh.w r3, [r7, #158] ; 0x9e multB_u16 = 256 * multA_u16; 804aa34: f8b7 309e ldrh.w r3, [r7, #158] ; 0x9e 804aa38: 021b lsls r3, r3, #8 804aa3a: f8a7 3096 strh.w r3, [r7, #150] ; 0x96 k = NS[pardata.LNE]; 804aa3e: 4b8b ldr r3, [pc, #556] ; (804ac6c ) 804aa40: 79db ldrb r3, [r3, #7] 804aa42: b2db uxtb r3, r3 804aa44: 461a mov r2, r3 804aa46: 4b8b ldr r3, [pc, #556] ; (804ac74 ) 804aa48: f853 3022 ldr.w r3, [r3, r2, lsl #2] 804aa4c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 i = (uint32_t) rX + (uint32_t) (multB_u16 >> 1); 804aa50: 4b81 ldr r3, [pc, #516] ; (804ac58 ) 804aa52: 881b ldrh r3, [r3, #0] 804aa54: b29b uxth r3, r3 804aa56: 461a mov r2, r3 804aa58: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804aa5c: 085b lsrs r3, r3, #1 804aa5e: b29b uxth r3, r3 804aa60: 4413 add r3, r2 804aa62: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 if(i <= k) 804aa66: f8d7 20c0 ldr.w r2, [r7, #192] ; 0xc0 804aa6a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804aa6e: 429a cmp r2, r3 804aa70: d80b bhi.n 804aa8a X0 += (multB_u16 >> 1); 804aa72: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804aa76: 085b lsrs r3, r3, #1 804aa78: b29a uxth r2, r3 804aa7a: 4b75 ldr r3, [pc, #468] ; (804ac50 ) 804aa7c: 881b ldrh r3, [r3, #0] 804aa7e: b29b uxth r3, r3 804aa80: 4413 add r3, r2 804aa82: b29a uxth r2, r3 804aa84: 4b72 ldr r3, [pc, #456] ; (804ac50 ) 804aa86: 801a strh r2, [r3, #0] 804aa88: e008 b.n 804aa9c else X0 = (uint16_t) (k - multB_u16); 804aa8a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804aa8e: b29a uxth r2, r3 804aa90: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804aa94: 1ad3 subs r3, r2, r3 804aa96: b29a uxth r2, r3 804aa98: 4b6d ldr r3, [pc, #436] ; (804ac50 ) 804aa9a: 801a strh r2, [r3, #0] lX = X0; 804aa9c: 4b6c ldr r3, [pc, #432] ; (804ac50 ) 804aa9e: 881b ldrh r3, [r3, #0] 804aaa0: b29a uxth r2, r3 804aaa2: 4b6c ldr r3, [pc, #432] ; (804ac54 ) 804aaa4: 801a strh r2, [r3, #0] rX = lX + multB_u16; 804aaa6: 4b6b ldr r3, [pc, #428] ; (804ac54 ) 804aaa8: 881b ldrh r3, [r3, #0] 804aaaa: b29a uxth r2, r3 804aaac: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804aab0: 4413 add r3, r2 804aab2: b29a uxth r2, r3 804aab4: 4b68 ldr r3, [pc, #416] ; (804ac58 ) 804aab6: 801a strh r2, [r3, #0] Mpos = X0 + CURSOR * multA_u16; 804aab8: 4b68 ldr r3, [pc, #416] ; (804ac5c ) 804aaba: 681b ldr r3, [r3, #0] 804aabc: b29b uxth r3, r3 804aabe: f8b7 209e ldrh.w r2, [r7, #158] ; 0x9e 804aac2: fb12 f303 smulbb r3, r2, r3 804aac6: b29a uxth r2, r3 804aac8: 4b61 ldr r3, [pc, #388] ; (804ac50 ) 804aaca: 881b ldrh r3, [r3, #0] 804aacc: b29b uxth r3, r3 804aace: 4413 add r3, r2 804aad0: b29a uxth r2, r3 804aad2: 4b63 ldr r3, [pc, #396] ; (804ac60 ) 804aad4: 801a strh r2, [r3, #0] AUTOZOOM = true; 804aad6: 4b63 ldr r3, [pc, #396] ; (804ac64 ) 804aad8: 2201 movs r2, #1 804aada: 701a strb r2, [r3, #0] break; 804aadc: e221 b.n 804af22 case ZoomIn: lvl_0 = 0; 804aade: 2300 movs r3, #0 804aae0: f8c7 30a0 str.w r3, [r7, #160] ; 0xa0 dX = Avg[0][5 * ViewLevel + pardata.LNE]; 804aae4: 4b60 ldr r3, [pc, #384] ; (804ac68 ) 804aae6: 781b ldrb r3, [r3, #0] 804aae8: b2db uxtb r3, r3 804aaea: 461a mov r2, r3 804aaec: 4613 mov r3, r2 804aaee: 009b lsls r3, r3, #2 804aaf0: 4413 add r3, r2 804aaf2: 4a5e ldr r2, [pc, #376] ; (804ac6c ) 804aaf4: 79d2 ldrb r2, [r2, #7] 804aaf6: b2d2 uxtb r2, r2 804aaf8: 4413 add r3, r2 804aafa: 4a5d ldr r2, [pc, #372] ; (804ac70 ) 804aafc: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804ab00: f8a7 3094 strh.w r3, [r7, #148] ; 0x94 MaxLevel = 6; 804ab04: 2306 movs r3, #6 804ab06: f8a7 3092 strh.w r3, [r7, #146] ; 0x92 //*************************************************************// if((ViewLevel < MaxLevel) && (dX > 1)) 804ab0a: 4b57 ldr r3, [pc, #348] ; (804ac68 ) 804ab0c: 781b ldrb r3, [r3, #0] 804ab0e: b2db uxtb r3, r3 804ab10: b29b uxth r3, r3 804ab12: f8b7 2092 ldrh.w r2, [r7, #146] ; 0x92 804ab16: 429a cmp r2, r3 804ab18: f240 81ff bls.w 804af1a 804ab1c: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804ab20: 2b01 cmp r3, #1 804ab22: f240 81fa bls.w 804af1a { ViewLevel++; 804ab26: 4b50 ldr r3, [pc, #320] ; (804ac68 ) 804ab28: 781b ldrb r3, [r3, #0] 804ab2a: b2db uxtb r3, r3 804ab2c: 3301 adds r3, #1 804ab2e: b2da uxtb r2, r3 804ab30: 4b4d ldr r3, [pc, #308] ; (804ac68 ) 804ab32: 701a strb r2, [r3, #0] dX = Avg[0][5 * ViewLevel + pardata.LNE]; 804ab34: 4b4c ldr r3, [pc, #304] ; (804ac68 ) 804ab36: 781b ldrb r3, [r3, #0] 804ab38: b2db uxtb r3, r3 804ab3a: 461a mov r2, r3 804ab3c: 4613 mov r3, r2 804ab3e: 009b lsls r3, r3, #2 804ab40: 4413 add r3, r2 804ab42: 4a4a ldr r2, [pc, #296] ; (804ac6c ) 804ab44: 79d2 ldrb r2, [r2, #7] 804ab46: b2d2 uxtb r2, r2 804ab48: 4413 add r3, r2 804ab4a: 4a49 ldr r2, [pc, #292] ; (804ac70 ) 804ab4c: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804ab50: f8a7 3094 strh.w r3, [r7, #148] ; 0x94 X0 = Mpos - CURSOR * dX; 804ab54: 4b42 ldr r3, [pc, #264] ; (804ac60 ) 804ab56: 881b ldrh r3, [r3, #0] 804ab58: b29a uxth r2, r3 804ab5a: 4b40 ldr r3, [pc, #256] ; (804ac5c ) 804ab5c: 681b ldr r3, [r3, #0] 804ab5e: b29b uxth r3, r3 804ab60: f8b7 1094 ldrh.w r1, [r7, #148] ; 0x94 804ab64: fb11 f303 smulbb r3, r1, r3 804ab68: b29b uxth r3, r3 804ab6a: 1ad3 subs r3, r2, r3 804ab6c: b29a uxth r2, r3 804ab6e: 4b38 ldr r3, [pc, #224] ; (804ac50 ) 804ab70: 801a strh r2, [r3, #0] lX = X0; 804ab72: 4b37 ldr r3, [pc, #220] ; (804ac50 ) 804ab74: 881b ldrh r3, [r3, #0] 804ab76: b29a uxth r2, r3 804ab78: 4b36 ldr r3, [pc, #216] ; (804ac54 ) 804ab7a: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 804ab7c: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804ab80: 021b lsls r3, r3, #8 804ab82: b29a uxth r2, r3 804ab84: 4b33 ldr r3, [pc, #204] ; (804ac54 ) 804ab86: 881b ldrh r3, [r3, #0] 804ab88: b29b uxth r3, r3 804ab8a: 4413 add r3, r2 804ab8c: b29a uxth r2, r3 804ab8e: 4b32 ldr r3, [pc, #200] ; (804ac58 ) 804ab90: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 804ab92: 4b39 ldr r3, [pc, #228] ; (804ac78 ) 804ab94: 881b ldrh r3, [r3, #0] 804ab96: b29b uxth r3, r3 804ab98: 461a mov r2, r3 804ab9a: 4b2e ldr r3, [pc, #184] ; (804ac54 ) 804ab9c: 881b ldrh r3, [r3, #0] 804ab9e: b29b uxth r3, r3 804aba0: 1ad2 subs r2, r2, r3 804aba2: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804aba6: fb92 f3f3 sdiv r3, r2, r3 804abaa: 461a mov r2, r3 804abac: 4b2b ldr r3, [pc, #172] ; (804ac5c ) 804abae: 601a str r2, [r3, #0] Mpos = lX + CURSOR * dX; 804abb0: 4b2a ldr r3, [pc, #168] ; (804ac5c ) 804abb2: 681b ldr r3, [r3, #0] 804abb4: b29b uxth r3, r3 804abb6: f8b7 2094 ldrh.w r2, [r7, #148] ; 0x94 804abba: fb12 f303 smulbb r3, r2, r3 804abbe: b29a uxth r2, r3 804abc0: 4b24 ldr r3, [pc, #144] ; (804ac54 ) 804abc2: 881b ldrh r3, [r3, #0] 804abc4: b29b uxth r3, r3 804abc6: 4413 add r3, r2 804abc8: b29a uxth r2, r3 804abca: 4b25 ldr r3, [pc, #148] ; (804ac60 ) 804abcc: 801a strh r2, [r3, #0] if((CURSOR < 128) && (X0 >= dX)) 804abce: 4b23 ldr r3, [pc, #140] ; (804ac5c ) 804abd0: 681b ldr r3, [r3, #0] 804abd2: 2b7f cmp r3, #127 ; 0x7f 804abd4: d852 bhi.n 804ac7c 804abd6: 4b1e ldr r3, [pc, #120] ; (804ac50 ) 804abd8: 881b ldrh r3, [r3, #0] 804abda: b29b uxth r3, r3 804abdc: f8b7 2094 ldrh.w r2, [r7, #148] ; 0x94 804abe0: 429a cmp r2, r3 804abe2: d84b bhi.n 804ac7c { if(lX >= dX) 804abe4: 4b1b ldr r3, [pc, #108] ; (804ac54 ) 804abe6: 881b ldrh r3, [r3, #0] 804abe8: b29b uxth r3, r3 804abea: f8b7 2094 ldrh.w r2, [r7, #148] ; 0x94 804abee: 429a cmp r2, r3 804abf0: f200 808b bhi.w 804ad0a { CURSOR++; 804abf4: 4b19 ldr r3, [pc, #100] ; (804ac5c ) 804abf6: 681b ldr r3, [r3, #0] 804abf8: 3301 adds r3, #1 804abfa: 4a18 ldr r2, [pc, #96] ; (804ac5c ) 804abfc: 6013 str r3, [r2, #0] X0 -= dX; 804abfe: 4b14 ldr r3, [pc, #80] ; (804ac50 ) 804ac00: 881b ldrh r3, [r3, #0] 804ac02: b29a uxth r2, r3 804ac04: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804ac08: 1ad3 subs r3, r2, r3 804ac0a: b29a uxth r2, r3 804ac0c: 4b10 ldr r3, [pc, #64] ; (804ac50 ) 804ac0e: 801a strh r2, [r3, #0] lX = X0; 804ac10: 4b0f ldr r3, [pc, #60] ; (804ac50 ) 804ac12: 881b ldrh r3, [r3, #0] 804ac14: b29a uxth r2, r3 804ac16: 4b0f ldr r3, [pc, #60] ; (804ac54 ) 804ac18: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 804ac1a: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804ac1e: 021b lsls r3, r3, #8 804ac20: b29a uxth r2, r3 804ac22: 4b0c ldr r3, [pc, #48] ; (804ac54 ) 804ac24: 881b ldrh r3, [r3, #0] 804ac26: b29b uxth r3, r3 804ac28: 4413 add r3, r2 804ac2a: b29a uxth r2, r3 804ac2c: 4b0a ldr r3, [pc, #40] ; (804ac58 ) 804ac2e: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 804ac30: 4b11 ldr r3, [pc, #68] ; (804ac78 ) 804ac32: 881b ldrh r3, [r3, #0] 804ac34: b29b uxth r3, r3 804ac36: 461a mov r2, r3 804ac38: 4b06 ldr r3, [pc, #24] ; (804ac54 ) 804ac3a: 881b ldrh r3, [r3, #0] 804ac3c: b29b uxth r3, r3 804ac3e: 1ad2 subs r2, r2, r3 804ac40: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804ac44: fb92 f3f3 sdiv r3, r2, r3 804ac48: 461a mov r2, r3 804ac4a: 4b04 ldr r3, [pc, #16] ; (804ac5c ) 804ac4c: 601a str r2, [r3, #0] if(lX >= dX) 804ac4e: e05c b.n 804ad0a 804ac50: 20025d1e .word 0x20025d1e 804ac54: 20025d1a .word 0x20025d1a 804ac58: 20025d20 .word 0x20025d20 804ac5c: 2002006c .word 0x2002006c 804ac60: 20025d16 .word 0x20025d16 804ac64: 2002098c .word 0x2002098c 804ac68: 20020f74 .word 0x20020f74 804ac6c: 20023e60 .word 0x20023e60 804ac70: 080ee7f0 .word 0x080ee7f0 804ac74: 080ee87c .word 0x080ee87c 804ac78: 20025d1c .word 0x20025d1c } } else if(CURSOR > 128) 804ac7c: 4baa ldr r3, [pc, #680] ; (804af28 ) 804ac7e: 681b ldr r3, [r3, #0] 804ac80: 2b80 cmp r3, #128 ; 0x80 804ac82: d942 bls.n 804ad0a { if((rX + dX) <= (256 * Avg[0][5 * lvl_0 + pardata.LNE])) 804ac84: 4ba9 ldr r3, [pc, #676] ; (804af2c ) 804ac86: 881b ldrh r3, [r3, #0] 804ac88: b29b uxth r3, r3 804ac8a: 461a mov r2, r3 804ac8c: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804ac90: 18d1 adds r1, r2, r3 804ac92: f8d7 20a0 ldr.w r2, [r7, #160] ; 0xa0 804ac96: 4613 mov r3, r2 804ac98: 009b lsls r3, r3, #2 804ac9a: 4413 add r3, r2 804ac9c: 4aa4 ldr r2, [pc, #656] ; (804af30 ) 804ac9e: 79d2 ldrb r2, [r2, #7] 804aca0: b2d2 uxtb r2, r2 804aca2: 4413 add r3, r2 804aca4: 4aa3 ldr r2, [pc, #652] ; (804af34 ) 804aca6: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804acaa: 021b lsls r3, r3, #8 804acac: 4299 cmp r1, r3 804acae: dc2c bgt.n 804ad0a { CURSOR--; 804acb0: 4b9d ldr r3, [pc, #628] ; (804af28 ) 804acb2: 681b ldr r3, [r3, #0] 804acb4: 3b01 subs r3, #1 804acb6: 4a9c ldr r2, [pc, #624] ; (804af28 ) 804acb8: 6013 str r3, [r2, #0] X0 += dX; 804acba: 4b9f ldr r3, [pc, #636] ; (804af38 ) 804acbc: 881b ldrh r3, [r3, #0] 804acbe: b29a uxth r2, r3 804acc0: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804acc4: 4413 add r3, r2 804acc6: b29a uxth r2, r3 804acc8: 4b9b ldr r3, [pc, #620] ; (804af38 ) 804acca: 801a strh r2, [r3, #0] lX = X0; 804accc: 4b9a ldr r3, [pc, #616] ; (804af38 ) 804acce: 881b ldrh r3, [r3, #0] 804acd0: b29a uxth r2, r3 804acd2: 4b9a ldr r3, [pc, #616] ; (804af3c ) 804acd4: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 804acd6: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804acda: 021b lsls r3, r3, #8 804acdc: b29a uxth r2, r3 804acde: 4b97 ldr r3, [pc, #604] ; (804af3c ) 804ace0: 881b ldrh r3, [r3, #0] 804ace2: b29b uxth r3, r3 804ace4: 4413 add r3, r2 804ace6: b29a uxth r2, r3 804ace8: 4b90 ldr r3, [pc, #576] ; (804af2c ) 804acea: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 804acec: 4b94 ldr r3, [pc, #592] ; (804af40 ) 804acee: 881b ldrh r3, [r3, #0] 804acf0: b29b uxth r3, r3 804acf2: 461a mov r2, r3 804acf4: 4b91 ldr r3, [pc, #580] ; (804af3c ) 804acf6: 881b ldrh r3, [r3, #0] 804acf8: b29b uxth r3, r3 804acfa: 1ad2 subs r2, r2, r3 804acfc: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804ad00: fb92 f3f3 sdiv r3, r2, r3 804ad04: 461a mov r2, r3 804ad06: 4b88 ldr r3, [pc, #544] ; (804af28 ) 804ad08: 601a str r2, [r3, #0] } } AUTOZOOM = true; 804ad0a: 4b8e ldr r3, [pc, #568] ; (804af44 ) 804ad0c: 2201 movs r2, #1 804ad0e: 701a strb r2, [r3, #0] } break; 804ad10: e103 b.n 804af1a case ZoomOut: lvl_0 = 0; 804ad12: 2300 movs r3, #0 804ad14: f8c7 30a0 str.w r3, [r7, #160] ; 0xa0 MaxLevel = 6; 804ad18: 2306 movs r3, #6 804ad1a: f8a7 3092 strh.w r3, [r7, #146] ; 0x92 dXold = Avg[0][5 * ViewLevel + pardata.LNE]; 804ad1e: 4b8a ldr r3, [pc, #552] ; (804af48 ) 804ad20: 781b ldrb r3, [r3, #0] 804ad22: b2db uxtb r3, r3 804ad24: 461a mov r2, r3 804ad26: 4613 mov r3, r2 804ad28: 009b lsls r3, r3, #2 804ad2a: 4413 add r3, r2 804ad2c: 4a80 ldr r2, [pc, #512] ; (804af30 ) 804ad2e: 79d2 ldrb r2, [r2, #7] 804ad30: b2d2 uxtb r2, r2 804ad32: 4413 add r3, r2 804ad34: 4a7f ldr r2, [pc, #508] ; (804af34 ) 804ad36: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804ad3a: f8a7 3090 strh.w r3, [r7, #144] ; 0x90 if(ViewLevel) 804ad3e: 4b82 ldr r3, [pc, #520] ; (804af48 ) 804ad40: 781b ldrb r3, [r3, #0] 804ad42: b2db uxtb r3, r3 804ad44: 2b00 cmp r3, #0 804ad46: f000 80eb beq.w 804af20 { ViewLevel--; 804ad4a: 4b7f ldr r3, [pc, #508] ; (804af48 ) 804ad4c: 781b ldrb r3, [r3, #0] 804ad4e: b2db uxtb r3, r3 804ad50: 3b01 subs r3, #1 804ad52: b2da uxtb r2, r3 804ad54: 4b7c ldr r3, [pc, #496] ; (804af48 ) 804ad56: 701a strb r2, [r3, #0] dX = Avg[0][5 * ViewLevel + pardata.LNE]; 804ad58: 4b7b ldr r3, [pc, #492] ; (804af48 ) 804ad5a: 781b ldrb r3, [r3, #0] 804ad5c: b2db uxtb r3, r3 804ad5e: 461a mov r2, r3 804ad60: 4613 mov r3, r2 804ad62: 009b lsls r3, r3, #2 804ad64: 4413 add r3, r2 804ad66: 4a72 ldr r2, [pc, #456] ; (804af30 ) 804ad68: 79d2 ldrb r2, [r2, #7] 804ad6a: b2d2 uxtb r2, r2 804ad6c: 4413 add r3, r2 804ad6e: 4a71 ldr r2, [pc, #452] ; (804af34 ) 804ad70: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804ad74: f8a7 3094 strh.w r3, [r7, #148] ; 0x94 if(ViewLevel == 0) 804ad78: 4b73 ldr r3, [pc, #460] ; (804af48 ) 804ad7a: 781b ldrb r3, [r3, #0] 804ad7c: b2db uxtb r3, r3 804ad7e: 2b00 cmp r3, #0 804ad80: d130 bne.n 804ade4 { X0 = lX = 0; 804ad82: 2100 movs r1, #0 804ad84: 4b6d ldr r3, [pc, #436] ; (804af3c ) 804ad86: 460a mov r2, r1 804ad88: 801a strh r2, [r3, #0] 804ad8a: 4b6b ldr r3, [pc, #428] ; (804af38 ) 804ad8c: 460a mov r2, r1 804ad8e: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 804ad90: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804ad94: 021b lsls r3, r3, #8 804ad96: b29a uxth r2, r3 804ad98: 4b68 ldr r3, [pc, #416] ; (804af3c ) 804ad9a: 881b ldrh r3, [r3, #0] 804ad9c: b29b uxth r3, r3 804ad9e: 4413 add r3, r2 804ada0: b29a uxth r2, r3 804ada2: 4b62 ldr r3, [pc, #392] ; (804af2c ) 804ada4: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 804ada6: 4b66 ldr r3, [pc, #408] ; (804af40 ) 804ada8: 881b ldrh r3, [r3, #0] 804adaa: b29b uxth r3, r3 804adac: 461a mov r2, r3 804adae: 4b63 ldr r3, [pc, #396] ; (804af3c ) 804adb0: 881b ldrh r3, [r3, #0] 804adb2: b29b uxth r3, r3 804adb4: 1ad2 subs r2, r2, r3 804adb6: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804adba: fb92 f3f3 sdiv r3, r2, r3 804adbe: 461a mov r2, r3 804adc0: 4b59 ldr r3, [pc, #356] ; (804af28 ) 804adc2: 601a str r2, [r3, #0] Mpos = X0 + CURSOR * dX; 804adc4: 4b58 ldr r3, [pc, #352] ; (804af28 ) 804adc6: 681b ldr r3, [r3, #0] 804adc8: b29b uxth r3, r3 804adca: f8b7 2094 ldrh.w r2, [r7, #148] ; 0x94 804adce: fb12 f303 smulbb r3, r2, r3 804add2: b29a uxth r2, r3 804add4: 4b58 ldr r3, [pc, #352] ; (804af38 ) 804add6: 881b ldrh r3, [r3, #0] 804add8: b29b uxth r3, r3 804adda: 4413 add r3, r2 804addc: b29a uxth r2, r3 804adde: 4b5b ldr r3, [pc, #364] ; (804af4c ) 804ade0: 801a strh r2, [r3, #0] 804ade2: e08f b.n 804af04 } else { if(CURSOR * dX > Mpos) 804ade4: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804ade8: 4a4f ldr r2, [pc, #316] ; (804af28 ) 804adea: 6812 ldr r2, [r2, #0] 804adec: fb02 f303 mul.w r3, r2, r3 804adf0: 4a56 ldr r2, [pc, #344] ; (804af4c ) 804adf2: 8812 ldrh r2, [r2, #0] 804adf4: b292 uxth r2, r2 804adf6: 4293 cmp r3, r2 804adf8: d91f bls.n 804ae3a { while(CURSOR * dX > Mpos) 804adfa: e004 b.n 804ae06 CURSOR--; 804adfc: 4b4a ldr r3, [pc, #296] ; (804af28 ) 804adfe: 681b ldr r3, [r3, #0] 804ae00: 3b01 subs r3, #1 804ae02: 4a49 ldr r2, [pc, #292] ; (804af28 ) 804ae04: 6013 str r3, [r2, #0] while(CURSOR * dX > Mpos) 804ae06: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804ae0a: 4a47 ldr r2, [pc, #284] ; (804af28 ) 804ae0c: 6812 ldr r2, [r2, #0] 804ae0e: fb02 f303 mul.w r3, r2, r3 804ae12: 4a4e ldr r2, [pc, #312] ; (804af4c ) 804ae14: 8812 ldrh r2, [r2, #0] 804ae16: b292 uxth r2, r2 804ae18: 4293 cmp r3, r2 804ae1a: d8ef bhi.n 804adfc Mpos = X0 + CURSOR * dX; 804ae1c: 4b42 ldr r3, [pc, #264] ; (804af28 ) 804ae1e: 681b ldr r3, [r3, #0] 804ae20: b29b uxth r3, r3 804ae22: f8b7 2094 ldrh.w r2, [r7, #148] ; 0x94 804ae26: fb12 f303 smulbb r3, r2, r3 804ae2a: b29a uxth r2, r3 804ae2c: 4b42 ldr r3, [pc, #264] ; (804af38 ) 804ae2e: 881b ldrh r3, [r3, #0] 804ae30: b29b uxth r3, r3 804ae32: 4413 add r3, r2 804ae34: b29a uxth r2, r3 804ae36: 4b45 ldr r3, [pc, #276] ; (804af4c ) 804ae38: 801a strh r2, [r3, #0] } i = Mpos - CURSOR * dX; 804ae3a: 4b44 ldr r3, [pc, #272] ; (804af4c ) 804ae3c: 881b ldrh r3, [r3, #0] 804ae3e: b29b uxth r3, r3 804ae40: 4619 mov r1, r3 804ae42: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804ae46: 4a38 ldr r2, [pc, #224] ; (804af28 ) 804ae48: 6812 ldr r2, [r2, #0] 804ae4a: fb02 f303 mul.w r3, r2, r3 804ae4e: 1acb subs r3, r1, r3 804ae50: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 j = 256 * dX; 804ae54: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804ae58: 021b lsls r3, r3, #8 804ae5a: f8c7 3098 str.w r3, [r7, #152] ; 0x98 k = 256 * Avg[0][5 * lvl_0 + pardata.LNE]; // 3200 804ae5e: f8d7 20a0 ldr.w r2, [r7, #160] ; 0xa0 804ae62: 4613 mov r3, r2 804ae64: 009b lsls r3, r3, #2 804ae66: 4413 add r3, r2 804ae68: 4a31 ldr r2, [pc, #196] ; (804af30 ) 804ae6a: 79d2 ldrb r2, [r2, #7] 804ae6c: b2d2 uxtb r2, r2 804ae6e: 4413 add r3, r2 804ae70: 4a30 ldr r2, [pc, #192] ; (804af34 ) 804ae72: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804ae76: 021b lsls r3, r3, #8 804ae78: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 while(i + j > k) { 804ae7c: e006 b.n 804ae8c i -= dXold; 804ae7e: f8b7 3090 ldrh.w r3, [r7, #144] ; 0x90 804ae82: f8d7 20c0 ldr.w r2, [r7, #192] ; 0xc0 804ae86: 1ad3 subs r3, r2, r3 804ae88: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 while(i + j > k) { 804ae8c: f8d7 20c0 ldr.w r2, [r7, #192] ; 0xc0 804ae90: f8d7 3098 ldr.w r3, [r7, #152] ; 0x98 804ae94: 441a add r2, r3 804ae96: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804ae9a: 429a cmp r2, r3 804ae9c: d8ef bhi.n 804ae7e } X0 = (uint16_t) i; 804ae9e: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 804aea2: b29a uxth r2, r3 804aea4: 4b24 ldr r3, [pc, #144] ; (804af38 ) 804aea6: 801a strh r2, [r3, #0] lX = X0; 804aea8: 4b23 ldr r3, [pc, #140] ; (804af38 ) 804aeaa: 881b ldrh r3, [r3, #0] 804aeac: b29a uxth r2, r3 804aeae: 4b23 ldr r3, [pc, #140] ; (804af3c ) 804aeb0: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 804aeb2: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804aeb6: 021b lsls r3, r3, #8 804aeb8: b29a uxth r2, r3 804aeba: 4b20 ldr r3, [pc, #128] ; (804af3c ) 804aebc: 881b ldrh r3, [r3, #0] 804aebe: b29b uxth r3, r3 804aec0: 4413 add r3, r2 804aec2: b29a uxth r2, r3 804aec4: 4b19 ldr r3, [pc, #100] ; (804af2c ) 804aec6: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 804aec8: 4b1d ldr r3, [pc, #116] ; (804af40 ) 804aeca: 881b ldrh r3, [r3, #0] 804aecc: b29b uxth r3, r3 804aece: 461a mov r2, r3 804aed0: 4b1a ldr r3, [pc, #104] ; (804af3c ) 804aed2: 881b ldrh r3, [r3, #0] 804aed4: b29b uxth r3, r3 804aed6: 1ad2 subs r2, r2, r3 804aed8: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804aedc: fb92 f3f3 sdiv r3, r2, r3 804aee0: 461a mov r2, r3 804aee2: 4b11 ldr r3, [pc, #68] ; (804af28 ) 804aee4: 601a str r2, [r3, #0] Mpos = X0 + CURSOR * dX; 804aee6: 4b10 ldr r3, [pc, #64] ; (804af28 ) 804aee8: 681b ldr r3, [r3, #0] 804aeea: b29b uxth r3, r3 804aeec: f8b7 2094 ldrh.w r2, [r7, #148] ; 0x94 804aef0: fb12 f303 smulbb r3, r2, r3 804aef4: b29a uxth r2, r3 804aef6: 4b10 ldr r3, [pc, #64] ; (804af38 ) 804aef8: 881b ldrh r3, [r3, #0] 804aefa: b29b uxth r3, r3 804aefc: 4413 add r3, r2 804aefe: b29a uxth r2, r3 804af00: 4b12 ldr r3, [pc, #72] ; (804af4c ) 804af02: 801a strh r2, [r3, #0] } AUTOZOOM = true; 804af04: 4b0f ldr r3, [pc, #60] ; (804af44 ) 804af06: 2201 movs r2, #1 804af08: 701a strb r2, [r3, #0] } break; 804af0a: e009 b.n 804af20 case Cursor: AUTOZOOM = true; 804af0c: 4b0d ldr r3, [pc, #52] ; (804af44 ) 804af0e: 2201 movs r2, #1 804af10: 701a strb r2, [r3, #0] break; 804af12: e006 b.n 804af22 break; 804af14: bf00 nop 804af16: f007 becf b.w 8052cb8 break; 804af1a: bf00 nop 804af1c: f007 becc b.w 8052cb8 break; 804af20: bf00 nop } break; 804af22: f007 bec9 b.w 8052cb8 804af26: bf00 nop 804af28: 2002006c .word 0x2002006c 804af2c: 20025d20 .word 0x20025d20 804af30: 20023e60 .word 0x20023e60 804af34: 080ee7f0 .word 0x080ee7f0 804af38: 20025d1e .word 0x20025d1e 804af3c: 20025d1a .word 0x20025d1a 804af40: 20025d1c .word 0x20025d1c 804af44: 2002098c .word 0x2002098c 804af48: 20020f74 .word 0x20020f74 804af4c: 20025d16 .word 0x20025d16 case ROLL_RESULTS: DefectType = menupos; 804af50: 4b70 ldr r3, [pc, #448] ; (804b114 ) 804af52: 781b ldrb r3, [r3, #0] 804af54: b2da uxtb r2, r3 804af56: 4b70 ldr r3, [pc, #448] ; (804b118 ) 804af58: 701a strb r2, [r3, #0] RefreshGraf(); 804af5a: f007 ff17 bl 8052d8c menu = VIEW_PORTRET; 804af5e: 4b6f ldr r3, [pc, #444] ; (804b11c ) 804af60: 2228 movs r2, #40 ; 0x28 804af62: 701a strb r2, [r3, #0] menupos = Cursor; 804af64: 4b6b ldr r3, [pc, #428] ; (804b114 ) 804af66: 2206 movs r2, #6 804af68: 701a strb r2, [r3, #0] lastmenupos = ZoomIn; 804af6a: 4b6d ldr r3, [pc, #436] ; (804b120 ) 804af6c: 2203 movs r2, #3 804af6e: 701a strb r2, [r3, #0] break; 804af70: f007 bee9 b.w 8052d46 case VIEW_PORTRET: switch(menupos) 804af74: 4b67 ldr r3, [pc, #412] ; (804b114 ) 804af76: 781b ldrb r3, [r3, #0] 804af78: b2db uxtb r3, r3 804af7a: 3b02 subs r3, #2 804af7c: 2b04 cmp r3, #4 804af7e: f207 869d bhi.w 8052cbc 804af82: a201 add r2, pc, #4 ; (adr r2, 804af88 ) 804af84: f852 f023 ldr.w pc, [r2, r3, lsl #2] 804af88: 0804af9d .word 0x0804af9d 804af8c: 0804b14d .word 0x0804b14d 804af90: 0804b381 .word 0x0804b381 804af94: 0804b047 .word 0x0804b047 804af98: 0804b581 .word 0x0804b581 { case ImageLeft: if(lX) 804af9c: 4b61 ldr r3, [pc, #388] ; (804b124 ) 804af9e: 881b ldrh r3, [r3, #0] 804afa0: b29b uxth r3, r3 804afa2: 2b00 cmp r3, #0 804afa4: f000 82f0 beq.w 804b588 { multA_u16 = Avg[1][5 * ViewLevel + pardata.LNE]; 804afa8: 4b5f ldr r3, [pc, #380] ; (804b128 ) 804afaa: 781b ldrb r3, [r3, #0] 804afac: b2db uxtb r3, r3 804afae: 461a mov r2, r3 804afb0: 4613 mov r3, r2 804afb2: 009b lsls r3, r3, #2 804afb4: 4413 add r3, r2 804afb6: 4a5d ldr r2, [pc, #372] ; (804b12c ) 804afb8: 79d2 ldrb r2, [r2, #7] 804afba: b2d2 uxtb r2, r2 804afbc: 4413 add r3, r2 804afbe: 4a5c ldr r2, [pc, #368] ; (804b130 ) 804afc0: 3323 adds r3, #35 ; 0x23 804afc2: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804afc6: f8a7 309e strh.w r3, [r7, #158] ; 0x9e multB_u16 = 256 * multA_u16; 804afca: f8b7 309e ldrh.w r3, [r7, #158] ; 0x9e 804afce: 021b lsls r3, r3, #8 804afd0: f8a7 3096 strh.w r3, [r7, #150] ; 0x96 if(lX >= (multB_u16 >> 1)) 804afd4: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804afd8: 085b lsrs r3, r3, #1 804afda: b29a uxth r2, r3 804afdc: 4b51 ldr r3, [pc, #324] ; (804b124 ) 804afde: 881b ldrh r3, [r3, #0] 804afe0: b29b uxth r3, r3 804afe2: 429a cmp r2, r3 804afe4: d80b bhi.n 804affe X0 -= (multB_u16 >> 1); 804afe6: 4b53 ldr r3, [pc, #332] ; (804b134 ) 804afe8: 881b ldrh r3, [r3, #0] 804afea: b29a uxth r2, r3 804afec: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804aff0: 085b lsrs r3, r3, #1 804aff2: b29b uxth r3, r3 804aff4: 1ad3 subs r3, r2, r3 804aff6: b29a uxth r2, r3 804aff8: 4b4e ldr r3, [pc, #312] ; (804b134 ) 804affa: 801a strh r2, [r3, #0] 804affc: e002 b.n 804b004 else X0 = 0; 804affe: 4b4d ldr r3, [pc, #308] ; (804b134 ) 804b000: 2200 movs r2, #0 804b002: 801a strh r2, [r3, #0] lX = X0; 804b004: 4b4b ldr r3, [pc, #300] ; (804b134 ) 804b006: 881b ldrh r3, [r3, #0] 804b008: b29a uxth r2, r3 804b00a: 4b46 ldr r3, [pc, #280] ; (804b124 ) 804b00c: 801a strh r2, [r3, #0] rX = lX + multB_u16; 804b00e: 4b45 ldr r3, [pc, #276] ; (804b124 ) 804b010: 881b ldrh r3, [r3, #0] 804b012: b29a uxth r2, r3 804b014: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804b018: 4413 add r3, r2 804b01a: b29a uxth r2, r3 804b01c: 4b46 ldr r3, [pc, #280] ; (804b138 ) 804b01e: 801a strh r2, [r3, #0] Mpos = X0 + CURSOR * multA_u16; 804b020: 4b46 ldr r3, [pc, #280] ; (804b13c ) 804b022: 681b ldr r3, [r3, #0] 804b024: b29b uxth r3, r3 804b026: f8b7 209e ldrh.w r2, [r7, #158] ; 0x9e 804b02a: fb12 f303 smulbb r3, r2, r3 804b02e: b29a uxth r2, r3 804b030: 4b40 ldr r3, [pc, #256] ; (804b134 ) 804b032: 881b ldrh r3, [r3, #0] 804b034: b29b uxth r3, r3 804b036: 4413 add r3, r2 804b038: b29a uxth r2, r3 804b03a: 4b41 ldr r3, [pc, #260] ; (804b140 ) 804b03c: 801a strh r2, [r3, #0] AUTOZOOM = true; 804b03e: 4b41 ldr r3, [pc, #260] ; (804b144 ) 804b040: 2201 movs r2, #1 804b042: 701a strb r2, [r3, #0] } break; 804b044: e2a0 b.n 804b588 case ImageRight: multA_u16 = Avg[1][5 * ViewLevel + pardata.LNE]; 804b046: 4b38 ldr r3, [pc, #224] ; (804b128 ) 804b048: 781b ldrb r3, [r3, #0] 804b04a: b2db uxtb r3, r3 804b04c: 461a mov r2, r3 804b04e: 4613 mov r3, r2 804b050: 009b lsls r3, r3, #2 804b052: 4413 add r3, r2 804b054: 4a35 ldr r2, [pc, #212] ; (804b12c ) 804b056: 79d2 ldrb r2, [r2, #7] 804b058: b2d2 uxtb r2, r2 804b05a: 4413 add r3, r2 804b05c: 4a34 ldr r2, [pc, #208] ; (804b130 ) 804b05e: 3323 adds r3, #35 ; 0x23 804b060: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804b064: f8a7 309e strh.w r3, [r7, #158] ; 0x9e multB_u16 = 256 * multA_u16; 804b068: f8b7 309e ldrh.w r3, [r7, #158] ; 0x9e 804b06c: 021b lsls r3, r3, #8 804b06e: f8a7 3096 strh.w r3, [r7, #150] ; 0x96 k = (NS[pardata.LNE] >> 1); 804b072: 4b2e ldr r3, [pc, #184] ; (804b12c ) 804b074: 79db ldrb r3, [r3, #7] 804b076: b2db uxtb r3, r3 804b078: 461a mov r2, r3 804b07a: 4b33 ldr r3, [pc, #204] ; (804b148 ) 804b07c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 804b080: 085b lsrs r3, r3, #1 804b082: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 i = (uint32_t) rX + (uint32_t) (multB_u16 >> 1); 804b086: 4b2c ldr r3, [pc, #176] ; (804b138 ) 804b088: 881b ldrh r3, [r3, #0] 804b08a: b29b uxth r3, r3 804b08c: 461a mov r2, r3 804b08e: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804b092: 085b lsrs r3, r3, #1 804b094: b29b uxth r3, r3 804b096: 4413 add r3, r2 804b098: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 if(i <= k) 804b09c: f8d7 20c0 ldr.w r2, [r7, #192] ; 0xc0 804b0a0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804b0a4: 429a cmp r2, r3 804b0a6: d80b bhi.n 804b0c0 X0 += (multB_u16 >> 1); 804b0a8: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804b0ac: 085b lsrs r3, r3, #1 804b0ae: b29a uxth r2, r3 804b0b0: 4b20 ldr r3, [pc, #128] ; (804b134 ) 804b0b2: 881b ldrh r3, [r3, #0] 804b0b4: b29b uxth r3, r3 804b0b6: 4413 add r3, r2 804b0b8: b29a uxth r2, r3 804b0ba: 4b1e ldr r3, [pc, #120] ; (804b134 ) 804b0bc: 801a strh r2, [r3, #0] 804b0be: e008 b.n 804b0d2 else X0 = (uint16_t) (k - multB_u16); 804b0c0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804b0c4: b29a uxth r2, r3 804b0c6: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804b0ca: 1ad3 subs r3, r2, r3 804b0cc: b29a uxth r2, r3 804b0ce: 4b19 ldr r3, [pc, #100] ; (804b134 ) 804b0d0: 801a strh r2, [r3, #0] lX = X0; 804b0d2: 4b18 ldr r3, [pc, #96] ; (804b134 ) 804b0d4: 881b ldrh r3, [r3, #0] 804b0d6: b29a uxth r2, r3 804b0d8: 4b12 ldr r3, [pc, #72] ; (804b124 ) 804b0da: 801a strh r2, [r3, #0] rX = lX + multB_u16; 804b0dc: 4b11 ldr r3, [pc, #68] ; (804b124 ) 804b0de: 881b ldrh r3, [r3, #0] 804b0e0: b29a uxth r2, r3 804b0e2: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804b0e6: 4413 add r3, r2 804b0e8: b29a uxth r2, r3 804b0ea: 4b13 ldr r3, [pc, #76] ; (804b138 ) 804b0ec: 801a strh r2, [r3, #0] Mpos = X0 + CURSOR * multA_u16; 804b0ee: 4b13 ldr r3, [pc, #76] ; (804b13c ) 804b0f0: 681b ldr r3, [r3, #0] 804b0f2: b29b uxth r3, r3 804b0f4: f8b7 209e ldrh.w r2, [r7, #158] ; 0x9e 804b0f8: fb12 f303 smulbb r3, r2, r3 804b0fc: b29a uxth r2, r3 804b0fe: 4b0d ldr r3, [pc, #52] ; (804b134 ) 804b100: 881b ldrh r3, [r3, #0] 804b102: b29b uxth r3, r3 804b104: 4413 add r3, r2 804b106: b29a uxth r2, r3 804b108: 4b0d ldr r3, [pc, #52] ; (804b140 ) 804b10a: 801a strh r2, [r3, #0] AUTOZOOM = true; 804b10c: 4b0d ldr r3, [pc, #52] ; (804b144 ) 804b10e: 2201 movs r2, #1 804b110: 701a strb r2, [r3, #0] break; 804b112: e240 b.n 804b596 804b114: 20020070 .word 0x20020070 804b118: 20021520 .word 0x20021520 804b11c: 20020f78 .word 0x20020f78 804b120: 20020071 .word 0x20020071 804b124: 20025d1a .word 0x20025d1a 804b128: 20020f74 .word 0x20020f74 804b12c: 20023e60 .word 0x20023e60 804b130: 080ee7f0 .word 0x080ee7f0 804b134: 20025d1e .word 0x20025d1e 804b138: 20025d20 .word 0x20025d20 804b13c: 2002006c .word 0x2002006c 804b140: 20025d16 .word 0x20025d16 804b144: 2002098c .word 0x2002098c 804b148: 080ee87c .word 0x080ee87c case ZoomIn: lvl_0 = 0; 804b14c: 2300 movs r3, #0 804b14e: f8c7 30a0 str.w r3, [r7, #160] ; 0xa0 dX = Avg[1][5 * ViewLevel + pardata.LNE]; 804b152: 4b81 ldr r3, [pc, #516] ; (804b358 ) 804b154: 781b ldrb r3, [r3, #0] 804b156: b2db uxtb r3, r3 804b158: 461a mov r2, r3 804b15a: 4613 mov r3, r2 804b15c: 009b lsls r3, r3, #2 804b15e: 4413 add r3, r2 804b160: 4a7e ldr r2, [pc, #504] ; (804b35c ) 804b162: 79d2 ldrb r2, [r2, #7] 804b164: b2d2 uxtb r2, r2 804b166: 4413 add r3, r2 804b168: 4a7d ldr r2, [pc, #500] ; (804b360 ) 804b16a: 3323 adds r3, #35 ; 0x23 804b16c: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804b170: f8a7 3094 strh.w r3, [r7, #148] ; 0x94 MaxLevel = 4; 804b174: 2304 movs r3, #4 804b176: f8a7 3092 strh.w r3, [r7, #146] ; 0x92 //*************************************************************// if((ViewLevel < MaxLevel) && (dX > 1)) 804b17a: 4b77 ldr r3, [pc, #476] ; (804b358 ) 804b17c: 781b ldrb r3, [r3, #0] 804b17e: b2db uxtb r3, r3 804b180: b29b uxth r3, r3 804b182: f8b7 2092 ldrh.w r2, [r7, #146] ; 0x92 804b186: 429a cmp r2, r3 804b188: f240 8201 bls.w 804b58e 804b18c: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804b190: 2b01 cmp r3, #1 804b192: f240 81fc bls.w 804b58e { ViewLevel++; 804b196: 4b70 ldr r3, [pc, #448] ; (804b358 ) 804b198: 781b ldrb r3, [r3, #0] 804b19a: b2db uxtb r3, r3 804b19c: 3301 adds r3, #1 804b19e: b2da uxtb r2, r3 804b1a0: 4b6d ldr r3, [pc, #436] ; (804b358 ) 804b1a2: 701a strb r2, [r3, #0] dX = Avg[1][5 * ViewLevel + pardata.LNE]; 804b1a4: 4b6c ldr r3, [pc, #432] ; (804b358 ) 804b1a6: 781b ldrb r3, [r3, #0] 804b1a8: b2db uxtb r3, r3 804b1aa: 461a mov r2, r3 804b1ac: 4613 mov r3, r2 804b1ae: 009b lsls r3, r3, #2 804b1b0: 4413 add r3, r2 804b1b2: 4a6a ldr r2, [pc, #424] ; (804b35c ) 804b1b4: 79d2 ldrb r2, [r2, #7] 804b1b6: b2d2 uxtb r2, r2 804b1b8: 4413 add r3, r2 804b1ba: 4a69 ldr r2, [pc, #420] ; (804b360 ) 804b1bc: 3323 adds r3, #35 ; 0x23 804b1be: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804b1c2: f8a7 3094 strh.w r3, [r7, #148] ; 0x94 X0 = Mpos - CURSOR * dX; 804b1c6: 4b67 ldr r3, [pc, #412] ; (804b364 ) 804b1c8: 881b ldrh r3, [r3, #0] 804b1ca: b29a uxth r2, r3 804b1cc: 4b66 ldr r3, [pc, #408] ; (804b368 ) 804b1ce: 681b ldr r3, [r3, #0] 804b1d0: b29b uxth r3, r3 804b1d2: f8b7 1094 ldrh.w r1, [r7, #148] ; 0x94 804b1d6: fb11 f303 smulbb r3, r1, r3 804b1da: b29b uxth r3, r3 804b1dc: 1ad3 subs r3, r2, r3 804b1de: b29a uxth r2, r3 804b1e0: 4b62 ldr r3, [pc, #392] ; (804b36c ) 804b1e2: 801a strh r2, [r3, #0] lX = X0; 804b1e4: 4b61 ldr r3, [pc, #388] ; (804b36c ) 804b1e6: 881b ldrh r3, [r3, #0] 804b1e8: b29a uxth r2, r3 804b1ea: 4b61 ldr r3, [pc, #388] ; (804b370 ) 804b1ec: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 804b1ee: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804b1f2: 021b lsls r3, r3, #8 804b1f4: b29a uxth r2, r3 804b1f6: 4b5e ldr r3, [pc, #376] ; (804b370 ) 804b1f8: 881b ldrh r3, [r3, #0] 804b1fa: b29b uxth r3, r3 804b1fc: 4413 add r3, r2 804b1fe: b29a uxth r2, r3 804b200: 4b5c ldr r3, [pc, #368] ; (804b374 ) 804b202: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 804b204: 4b5c ldr r3, [pc, #368] ; (804b378 ) 804b206: 881b ldrh r3, [r3, #0] 804b208: b29b uxth r3, r3 804b20a: 461a mov r2, r3 804b20c: 4b58 ldr r3, [pc, #352] ; (804b370 ) 804b20e: 881b ldrh r3, [r3, #0] 804b210: b29b uxth r3, r3 804b212: 1ad2 subs r2, r2, r3 804b214: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804b218: fb92 f3f3 sdiv r3, r2, r3 804b21c: 461a mov r2, r3 804b21e: 4b52 ldr r3, [pc, #328] ; (804b368 ) 804b220: 601a str r2, [r3, #0] Mpos = lX + CURSOR * dX; 804b222: 4b51 ldr r3, [pc, #324] ; (804b368 ) 804b224: 681b ldr r3, [r3, #0] 804b226: b29b uxth r3, r3 804b228: f8b7 2094 ldrh.w r2, [r7, #148] ; 0x94 804b22c: fb12 f303 smulbb r3, r2, r3 804b230: b29a uxth r2, r3 804b232: 4b4f ldr r3, [pc, #316] ; (804b370 ) 804b234: 881b ldrh r3, [r3, #0] 804b236: b29b uxth r3, r3 804b238: 4413 add r3, r2 804b23a: b29a uxth r2, r3 804b23c: 4b49 ldr r3, [pc, #292] ; (804b364 ) 804b23e: 801a strh r2, [r3, #0] if((CURSOR < (256 >> 1)) && (X0 >= dX)) 804b240: 4b49 ldr r3, [pc, #292] ; (804b368 ) 804b242: 681b ldr r3, [r3, #0] 804b244: 2b7f cmp r3, #127 ; 0x7f 804b246: d83b bhi.n 804b2c0 804b248: 4b48 ldr r3, [pc, #288] ; (804b36c ) 804b24a: 881b ldrh r3, [r3, #0] 804b24c: b29b uxth r3, r3 804b24e: f8b7 2094 ldrh.w r2, [r7, #148] ; 0x94 804b252: 429a cmp r2, r3 804b254: d834 bhi.n 804b2c0 { if(lX >= dX) 804b256: 4b46 ldr r3, [pc, #280] ; (804b370 ) 804b258: 881b ldrh r3, [r3, #0] 804b25a: b29b uxth r3, r3 804b25c: f8b7 2094 ldrh.w r2, [r7, #148] ; 0x94 804b260: 429a cmp r2, r3 804b262: d875 bhi.n 804b350 { CURSOR++; 804b264: 4b40 ldr r3, [pc, #256] ; (804b368 ) 804b266: 681b ldr r3, [r3, #0] 804b268: 3301 adds r3, #1 804b26a: 4a3f ldr r2, [pc, #252] ; (804b368 ) 804b26c: 6013 str r3, [r2, #0] X0 -= dX; 804b26e: 4b3f ldr r3, [pc, #252] ; (804b36c ) 804b270: 881b ldrh r3, [r3, #0] 804b272: b29a uxth r2, r3 804b274: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804b278: 1ad3 subs r3, r2, r3 804b27a: b29a uxth r2, r3 804b27c: 4b3b ldr r3, [pc, #236] ; (804b36c ) 804b27e: 801a strh r2, [r3, #0] lX = X0; 804b280: 4b3a ldr r3, [pc, #232] ; (804b36c ) 804b282: 881b ldrh r3, [r3, #0] 804b284: b29a uxth r2, r3 804b286: 4b3a ldr r3, [pc, #232] ; (804b370 ) 804b288: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 804b28a: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804b28e: 021b lsls r3, r3, #8 804b290: b29a uxth r2, r3 804b292: 4b37 ldr r3, [pc, #220] ; (804b370 ) 804b294: 881b ldrh r3, [r3, #0] 804b296: b29b uxth r3, r3 804b298: 4413 add r3, r2 804b29a: b29a uxth r2, r3 804b29c: 4b35 ldr r3, [pc, #212] ; (804b374 ) 804b29e: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 804b2a0: 4b35 ldr r3, [pc, #212] ; (804b378 ) 804b2a2: 881b ldrh r3, [r3, #0] 804b2a4: b29b uxth r3, r3 804b2a6: 461a mov r2, r3 804b2a8: 4b31 ldr r3, [pc, #196] ; (804b370 ) 804b2aa: 881b ldrh r3, [r3, #0] 804b2ac: b29b uxth r3, r3 804b2ae: 1ad2 subs r2, r2, r3 804b2b0: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804b2b4: fb92 f3f3 sdiv r3, r2, r3 804b2b8: 461a mov r2, r3 804b2ba: 4b2b ldr r3, [pc, #172] ; (804b368 ) 804b2bc: 601a str r2, [r3, #0] if(lX >= dX) 804b2be: e047 b.n 804b350 } } else if(CURSOR > (256 >> 1)) 804b2c0: 4b29 ldr r3, [pc, #164] ; (804b368 ) 804b2c2: 681b ldr r3, [r3, #0] 804b2c4: 2b80 cmp r3, #128 ; 0x80 804b2c6: d943 bls.n 804b350 { if((rX + dX) <= (256 * Avg[1][5 * lvl_0 + pardata.LNE])) 804b2c8: 4b2a ldr r3, [pc, #168] ; (804b374 ) 804b2ca: 881b ldrh r3, [r3, #0] 804b2cc: b29b uxth r3, r3 804b2ce: 461a mov r2, r3 804b2d0: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804b2d4: 18d1 adds r1, r2, r3 804b2d6: f8d7 20a0 ldr.w r2, [r7, #160] ; 0xa0 804b2da: 4613 mov r3, r2 804b2dc: 009b lsls r3, r3, #2 804b2de: 4413 add r3, r2 804b2e0: 4a1e ldr r2, [pc, #120] ; (804b35c ) 804b2e2: 79d2 ldrb r2, [r2, #7] 804b2e4: b2d2 uxtb r2, r2 804b2e6: 4413 add r3, r2 804b2e8: 4a1d ldr r2, [pc, #116] ; (804b360 ) 804b2ea: 3323 adds r3, #35 ; 0x23 804b2ec: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804b2f0: 021b lsls r3, r3, #8 804b2f2: 4299 cmp r1, r3 804b2f4: dc2c bgt.n 804b350 { CURSOR--; 804b2f6: 4b1c ldr r3, [pc, #112] ; (804b368 ) 804b2f8: 681b ldr r3, [r3, #0] 804b2fa: 3b01 subs r3, #1 804b2fc: 4a1a ldr r2, [pc, #104] ; (804b368 ) 804b2fe: 6013 str r3, [r2, #0] X0 += dX; 804b300: 4b1a ldr r3, [pc, #104] ; (804b36c ) 804b302: 881b ldrh r3, [r3, #0] 804b304: b29a uxth r2, r3 804b306: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804b30a: 4413 add r3, r2 804b30c: b29a uxth r2, r3 804b30e: 4b17 ldr r3, [pc, #92] ; (804b36c ) 804b310: 801a strh r2, [r3, #0] lX = X0; 804b312: 4b16 ldr r3, [pc, #88] ; (804b36c ) 804b314: 881b ldrh r3, [r3, #0] 804b316: b29a uxth r2, r3 804b318: 4b15 ldr r3, [pc, #84] ; (804b370 ) 804b31a: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 804b31c: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804b320: 021b lsls r3, r3, #8 804b322: b29a uxth r2, r3 804b324: 4b12 ldr r3, [pc, #72] ; (804b370 ) 804b326: 881b ldrh r3, [r3, #0] 804b328: b29b uxth r3, r3 804b32a: 4413 add r3, r2 804b32c: b29a uxth r2, r3 804b32e: 4b11 ldr r3, [pc, #68] ; (804b374 ) 804b330: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 804b332: 4b11 ldr r3, [pc, #68] ; (804b378 ) 804b334: 881b ldrh r3, [r3, #0] 804b336: b29b uxth r3, r3 804b338: 461a mov r2, r3 804b33a: 4b0d ldr r3, [pc, #52] ; (804b370 ) 804b33c: 881b ldrh r3, [r3, #0] 804b33e: b29b uxth r3, r3 804b340: 1ad2 subs r2, r2, r3 804b342: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804b346: fb92 f3f3 sdiv r3, r2, r3 804b34a: 461a mov r2, r3 804b34c: 4b06 ldr r3, [pc, #24] ; (804b368 ) 804b34e: 601a str r2, [r3, #0] } } AUTOZOOM = true; 804b350: 4b0a ldr r3, [pc, #40] ; (804b37c ) 804b352: 2201 movs r2, #1 804b354: 701a strb r2, [r3, #0] } break; 804b356: e11a b.n 804b58e 804b358: 20020f74 .word 0x20020f74 804b35c: 20023e60 .word 0x20023e60 804b360: 080ee7f0 .word 0x080ee7f0 804b364: 20025d16 .word 0x20025d16 804b368: 2002006c .word 0x2002006c 804b36c: 20025d1e .word 0x20025d1e 804b370: 20025d1a .word 0x20025d1a 804b374: 20025d20 .word 0x20025d20 804b378: 20025d1c .word 0x20025d1c 804b37c: 2002098c .word 0x2002098c case ZoomOut: lvl_0 = 0; 804b380: 2300 movs r3, #0 804b382: f8c7 30a0 str.w r3, [r7, #160] ; 0xa0 MaxLevel = 4; 804b386: 2304 movs r3, #4 804b388: f8a7 3092 strh.w r3, [r7, #146] ; 0x92 dXold = Avg[1][5 * ViewLevel + pardata.LNE]; 804b38c: 4ba4 ldr r3, [pc, #656] ; (804b620 ) 804b38e: 781b ldrb r3, [r3, #0] 804b390: b2db uxtb r3, r3 804b392: 461a mov r2, r3 804b394: 4613 mov r3, r2 804b396: 009b lsls r3, r3, #2 804b398: 4413 add r3, r2 804b39a: 4aa2 ldr r2, [pc, #648] ; (804b624 ) 804b39c: 79d2 ldrb r2, [r2, #7] 804b39e: b2d2 uxtb r2, r2 804b3a0: 4413 add r3, r2 804b3a2: 4aa1 ldr r2, [pc, #644] ; (804b628 ) 804b3a4: 3323 adds r3, #35 ; 0x23 804b3a6: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804b3aa: f8a7 3090 strh.w r3, [r7, #144] ; 0x90 if(ViewLevel) 804b3ae: 4b9c ldr r3, [pc, #624] ; (804b620 ) 804b3b0: 781b ldrb r3, [r3, #0] 804b3b2: b2db uxtb r3, r3 804b3b4: 2b00 cmp r3, #0 804b3b6: f000 80ed beq.w 804b594 { ViewLevel--; 804b3ba: 4b99 ldr r3, [pc, #612] ; (804b620 ) 804b3bc: 781b ldrb r3, [r3, #0] 804b3be: b2db uxtb r3, r3 804b3c0: 3b01 subs r3, #1 804b3c2: b2da uxtb r2, r3 804b3c4: 4b96 ldr r3, [pc, #600] ; (804b620 ) 804b3c6: 701a strb r2, [r3, #0] dX = Avg[1][5 * ViewLevel + pardata.LNE]; 804b3c8: 4b95 ldr r3, [pc, #596] ; (804b620 ) 804b3ca: 781b ldrb r3, [r3, #0] 804b3cc: b2db uxtb r3, r3 804b3ce: 461a mov r2, r3 804b3d0: 4613 mov r3, r2 804b3d2: 009b lsls r3, r3, #2 804b3d4: 4413 add r3, r2 804b3d6: 4a93 ldr r2, [pc, #588] ; (804b624 ) 804b3d8: 79d2 ldrb r2, [r2, #7] 804b3da: b2d2 uxtb r2, r2 804b3dc: 4413 add r3, r2 804b3de: 4a92 ldr r2, [pc, #584] ; (804b628 ) 804b3e0: 3323 adds r3, #35 ; 0x23 804b3e2: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804b3e6: f8a7 3094 strh.w r3, [r7, #148] ; 0x94 if(ViewLevel == 0) 804b3ea: 4b8d ldr r3, [pc, #564] ; (804b620 ) 804b3ec: 781b ldrb r3, [r3, #0] 804b3ee: b2db uxtb r3, r3 804b3f0: 2b00 cmp r3, #0 804b3f2: d130 bne.n 804b456 { X0 = lX = 0; 804b3f4: 2100 movs r1, #0 804b3f6: 4b8d ldr r3, [pc, #564] ; (804b62c ) 804b3f8: 460a mov r2, r1 804b3fa: 801a strh r2, [r3, #0] 804b3fc: 4b8c ldr r3, [pc, #560] ; (804b630 ) 804b3fe: 460a mov r2, r1 804b400: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 804b402: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804b406: 021b lsls r3, r3, #8 804b408: b29a uxth r2, r3 804b40a: 4b88 ldr r3, [pc, #544] ; (804b62c ) 804b40c: 881b ldrh r3, [r3, #0] 804b40e: b29b uxth r3, r3 804b410: 4413 add r3, r2 804b412: b29a uxth r2, r3 804b414: 4b87 ldr r3, [pc, #540] ; (804b634 ) 804b416: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 804b418: 4b87 ldr r3, [pc, #540] ; (804b638 ) 804b41a: 881b ldrh r3, [r3, #0] 804b41c: b29b uxth r3, r3 804b41e: 461a mov r2, r3 804b420: 4b82 ldr r3, [pc, #520] ; (804b62c ) 804b422: 881b ldrh r3, [r3, #0] 804b424: b29b uxth r3, r3 804b426: 1ad2 subs r2, r2, r3 804b428: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804b42c: fb92 f3f3 sdiv r3, r2, r3 804b430: 461a mov r2, r3 804b432: 4b82 ldr r3, [pc, #520] ; (804b63c ) 804b434: 601a str r2, [r3, #0] Mpos = X0 + CURSOR * dX; 804b436: 4b81 ldr r3, [pc, #516] ; (804b63c ) 804b438: 681b ldr r3, [r3, #0] 804b43a: b29b uxth r3, r3 804b43c: f8b7 2094 ldrh.w r2, [r7, #148] ; 0x94 804b440: fb12 f303 smulbb r3, r2, r3 804b444: b29a uxth r2, r3 804b446: 4b7a ldr r3, [pc, #488] ; (804b630 ) 804b448: 881b ldrh r3, [r3, #0] 804b44a: b29b uxth r3, r3 804b44c: 4413 add r3, r2 804b44e: b29a uxth r2, r3 804b450: 4b7b ldr r3, [pc, #492] ; (804b640 ) 804b452: 801a strh r2, [r3, #0] 804b454: e090 b.n 804b578 } else { if(CURSOR * dX > Mpos) 804b456: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804b45a: 4a78 ldr r2, [pc, #480] ; (804b63c ) 804b45c: 6812 ldr r2, [r2, #0] 804b45e: fb02 f303 mul.w r3, r2, r3 804b462: 4a77 ldr r2, [pc, #476] ; (804b640 ) 804b464: 8812 ldrh r2, [r2, #0] 804b466: b292 uxth r2, r2 804b468: 4293 cmp r3, r2 804b46a: d91f bls.n 804b4ac { while(CURSOR * dX > Mpos) 804b46c: e004 b.n 804b478 CURSOR--; 804b46e: 4b73 ldr r3, [pc, #460] ; (804b63c ) 804b470: 681b ldr r3, [r3, #0] 804b472: 3b01 subs r3, #1 804b474: 4a71 ldr r2, [pc, #452] ; (804b63c ) 804b476: 6013 str r3, [r2, #0] while(CURSOR * dX > Mpos) 804b478: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804b47c: 4a6f ldr r2, [pc, #444] ; (804b63c ) 804b47e: 6812 ldr r2, [r2, #0] 804b480: fb02 f303 mul.w r3, r2, r3 804b484: 4a6e ldr r2, [pc, #440] ; (804b640 ) 804b486: 8812 ldrh r2, [r2, #0] 804b488: b292 uxth r2, r2 804b48a: 4293 cmp r3, r2 804b48c: d8ef bhi.n 804b46e Mpos = X0 + CURSOR * dX; 804b48e: 4b6b ldr r3, [pc, #428] ; (804b63c ) 804b490: 681b ldr r3, [r3, #0] 804b492: b29b uxth r3, r3 804b494: f8b7 2094 ldrh.w r2, [r7, #148] ; 0x94 804b498: fb12 f303 smulbb r3, r2, r3 804b49c: b29a uxth r2, r3 804b49e: 4b64 ldr r3, [pc, #400] ; (804b630 ) 804b4a0: 881b ldrh r3, [r3, #0] 804b4a2: b29b uxth r3, r3 804b4a4: 4413 add r3, r2 804b4a6: b29a uxth r2, r3 804b4a8: 4b65 ldr r3, [pc, #404] ; (804b640 ) 804b4aa: 801a strh r2, [r3, #0] } i = Mpos - CURSOR * dX; 804b4ac: 4b64 ldr r3, [pc, #400] ; (804b640 ) 804b4ae: 881b ldrh r3, [r3, #0] 804b4b0: b29b uxth r3, r3 804b4b2: 4619 mov r1, r3 804b4b4: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804b4b8: 4a60 ldr r2, [pc, #384] ; (804b63c ) 804b4ba: 6812 ldr r2, [r2, #0] 804b4bc: fb02 f303 mul.w r3, r2, r3 804b4c0: 1acb subs r3, r1, r3 804b4c2: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 j = 256 * dX; 804b4c6: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804b4ca: 021b lsls r3, r3, #8 804b4cc: f8c7 3098 str.w r3, [r7, #152] ; 0x98 k = 256 * Avg[1][5 * lvl_0 + pardata.LNE]; // 3200 804b4d0: f8d7 20a0 ldr.w r2, [r7, #160] ; 0xa0 804b4d4: 4613 mov r3, r2 804b4d6: 009b lsls r3, r3, #2 804b4d8: 4413 add r3, r2 804b4da: 4a52 ldr r2, [pc, #328] ; (804b624 ) 804b4dc: 79d2 ldrb r2, [r2, #7] 804b4de: b2d2 uxtb r2, r2 804b4e0: 4413 add r3, r2 804b4e2: 4a51 ldr r2, [pc, #324] ; (804b628 ) 804b4e4: 3323 adds r3, #35 ; 0x23 804b4e6: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804b4ea: 021b lsls r3, r3, #8 804b4ec: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 while(i + j > k) { 804b4f0: e006 b.n 804b500 i -= dXold; 804b4f2: f8b7 3090 ldrh.w r3, [r7, #144] ; 0x90 804b4f6: f8d7 20c0 ldr.w r2, [r7, #192] ; 0xc0 804b4fa: 1ad3 subs r3, r2, r3 804b4fc: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 while(i + j > k) { 804b500: f8d7 20c0 ldr.w r2, [r7, #192] ; 0xc0 804b504: f8d7 3098 ldr.w r3, [r7, #152] ; 0x98 804b508: 441a add r2, r3 804b50a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804b50e: 429a cmp r2, r3 804b510: d8ef bhi.n 804b4f2 } X0 = (uint16_t) i; 804b512: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 804b516: b29a uxth r2, r3 804b518: 4b45 ldr r3, [pc, #276] ; (804b630 ) 804b51a: 801a strh r2, [r3, #0] lX = X0; 804b51c: 4b44 ldr r3, [pc, #272] ; (804b630 ) 804b51e: 881b ldrh r3, [r3, #0] 804b520: b29a uxth r2, r3 804b522: 4b42 ldr r3, [pc, #264] ; (804b62c ) 804b524: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 804b526: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804b52a: 021b lsls r3, r3, #8 804b52c: b29a uxth r2, r3 804b52e: 4b3f ldr r3, [pc, #252] ; (804b62c ) 804b530: 881b ldrh r3, [r3, #0] 804b532: b29b uxth r3, r3 804b534: 4413 add r3, r2 804b536: b29a uxth r2, r3 804b538: 4b3e ldr r3, [pc, #248] ; (804b634 ) 804b53a: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 804b53c: 4b3e ldr r3, [pc, #248] ; (804b638 ) 804b53e: 881b ldrh r3, [r3, #0] 804b540: b29b uxth r3, r3 804b542: 461a mov r2, r3 804b544: 4b39 ldr r3, [pc, #228] ; (804b62c ) 804b546: 881b ldrh r3, [r3, #0] 804b548: b29b uxth r3, r3 804b54a: 1ad2 subs r2, r2, r3 804b54c: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804b550: fb92 f3f3 sdiv r3, r2, r3 804b554: 461a mov r2, r3 804b556: 4b39 ldr r3, [pc, #228] ; (804b63c ) 804b558: 601a str r2, [r3, #0] Mpos = X0 + CURSOR * dX; 804b55a: 4b38 ldr r3, [pc, #224] ; (804b63c ) 804b55c: 681b ldr r3, [r3, #0] 804b55e: b29b uxth r3, r3 804b560: f8b7 2094 ldrh.w r2, [r7, #148] ; 0x94 804b564: fb12 f303 smulbb r3, r2, r3 804b568: b29a uxth r2, r3 804b56a: 4b31 ldr r3, [pc, #196] ; (804b630 ) 804b56c: 881b ldrh r3, [r3, #0] 804b56e: b29b uxth r3, r3 804b570: 4413 add r3, r2 804b572: b29a uxth r2, r3 804b574: 4b32 ldr r3, [pc, #200] ; (804b640 ) 804b576: 801a strh r2, [r3, #0] } AUTOZOOM = true; 804b578: 4b32 ldr r3, [pc, #200] ; (804b644 ) 804b57a: 2201 movs r2, #1 804b57c: 701a strb r2, [r3, #0] } break; 804b57e: e009 b.n 804b594 case Cursor: AUTOZOOM = true; 804b580: 4b30 ldr r3, [pc, #192] ; (804b644 ) 804b582: 2201 movs r2, #1 804b584: 701a strb r2, [r3, #0] break; 804b586: e006 b.n 804b596 break; 804b588: bf00 nop 804b58a: f007 bb97 b.w 8052cbc break; 804b58e: bf00 nop 804b590: f007 bb94 b.w 8052cbc break; 804b594: bf00 nop } break; 804b596: f007 bb91 b.w 8052cbc case MAIN_ROLL: switch(menupos) 804b59a: 4b2b ldr r3, [pc, #172] ; (804b648 ) 804b59c: 781b ldrb r3, [r3, #0] 804b59e: b2db uxtb r3, r3 804b5a0: 2b08 cmp r3, #8 804b5a2: f207 838d bhi.w 8052cc0 804b5a6: a201 add r2, pc, #4 ; (adr r2, 804b5ac ) 804b5a8: f852 f023 ldr.w pc, [r2, r3, lsl #2] 804b5ac: 0804b5d1 .word 0x0804b5d1 804b5b0: 08052cc1 .word 0x08052cc1 804b5b4: 0804b65d .word 0x0804b65d 804b5b8: 0804b7fd .word 0x0804b7fd 804b5bc: 0804ba31 .word 0x0804ba31 804b5c0: 0804b707 .word 0x0804b707 804b5c4: 0804bc31 .word 0x0804bc31 804b5c8: 08052cc1 .word 0x08052cc1 804b5cc: 0804bc39 .word 0x0804bc39 { case StartStop: if(!measuring) 804b5d0: 4b1e ldr r3, [pc, #120] ; (804b64c ) 804b5d2: 781b ldrb r3, [r3, #0] 804b5d4: b2db uxtb r3, r3 804b5d6: f083 0301 eor.w r3, r3, #1 804b5da: b2db uxtb r3, r3 804b5dc: 2b00 cmp r3, #0 804b5de: d014 beq.n 804b60a { AUTOZOOM = true; 804b5e0: 4b18 ldr r3, [pc, #96] ; (804b644 ) 804b5e2: 2201 movs r2, #1 804b5e4: 701a strb r2, [r3, #0] FIRST = true; 804b5e6: 4b1a ldr r3, [pc, #104] ; (804b650 ) 804b5e8: 2201 movs r2, #1 804b5ea: 701a strb r2, [r3, #0] if(FirstStart) 804b5ec: 4b19 ldr r3, [pc, #100] ; (804b654 ) 804b5ee: 781b ldrb r3, [r3, #0] 804b5f0: b2db uxtb r3, r3 804b5f2: 2b00 cmp r3, #0 804b5f4: d004 beq.n 804b600 { FirstStart = false; 804b5f6: 4b17 ldr r3, [pc, #92] ; (804b654 ) 804b5f8: 2200 movs r2, #0 804b5fa: 701a strb r2, [r3, #0] initAmplif(); 804b5fc: f7d6 fa4a bl 8021a94 } RefreshGraf(); 804b600: f007 fbc4 bl 8052d8c StartMeas(); 804b604: f7d7 fd1a bl 802303c { StopMeas(); AUTOZOOM = true; oldmenupos = menupos; } break; 804b608: e329 b.n 804bc5e StopMeas(); 804b60a: f7d8 f8c7 bl 802379c AUTOZOOM = true; 804b60e: 4b0d ldr r3, [pc, #52] ; (804b644 ) 804b610: 2201 movs r2, #1 804b612: 701a strb r2, [r3, #0] oldmenupos = menupos; 804b614: 4b0c ldr r3, [pc, #48] ; (804b648 ) 804b616: 781b ldrb r3, [r3, #0] 804b618: b2da uxtb r2, r3 804b61a: 4b0f ldr r3, [pc, #60] ; (804b658 ) 804b61c: 701a strb r2, [r3, #0] break; 804b61e: e31e b.n 804bc5e 804b620: 20020f74 .word 0x20020f74 804b624: 20023e60 .word 0x20023e60 804b628: 080ee7f0 .word 0x080ee7f0 804b62c: 20025d1a .word 0x20025d1a 804b630: 20025d1e .word 0x20025d1e 804b634: 20025d20 .word 0x20025d20 804b638: 20025d1c .word 0x20025d1c 804b63c: 2002006c .word 0x2002006c 804b640: 20025d16 .word 0x20025d16 804b644: 2002098c .word 0x2002098c 804b648: 20020070 .word 0x20020070 804b64c: 20020daf .word 0x20020daf 804b650: 20020db2 .word 0x20020db2 804b654: 20020068 .word 0x20020068 804b658: 20020f7a .word 0x20020f7a case ImageLeft: if(lX) 804b65c: 4b5d ldr r3, [pc, #372] ; (804b7d4 ) 804b65e: 881b ldrh r3, [r3, #0] 804b660: b29b uxth r3, r3 804b662: 2b00 cmp r3, #0 804b664: f000 82f4 beq.w 804bc50 { multA_u16 = Avg[1][5 * ViewLevel + pardata.LNE]; 804b668: 4b5b ldr r3, [pc, #364] ; (804b7d8 ) 804b66a: 781b ldrb r3, [r3, #0] 804b66c: b2db uxtb r3, r3 804b66e: 461a mov r2, r3 804b670: 4613 mov r3, r2 804b672: 009b lsls r3, r3, #2 804b674: 4413 add r3, r2 804b676: 4a59 ldr r2, [pc, #356] ; (804b7dc ) 804b678: 79d2 ldrb r2, [r2, #7] 804b67a: b2d2 uxtb r2, r2 804b67c: 4413 add r3, r2 804b67e: 4a58 ldr r2, [pc, #352] ; (804b7e0 ) 804b680: 3323 adds r3, #35 ; 0x23 804b682: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804b686: f8a7 309e strh.w r3, [r7, #158] ; 0x9e multB_u16 = 256 * multA_u16; 804b68a: f8b7 309e ldrh.w r3, [r7, #158] ; 0x9e 804b68e: 021b lsls r3, r3, #8 804b690: f8a7 3096 strh.w r3, [r7, #150] ; 0x96 if(lX >= (multB_u16 >> 1)) 804b694: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804b698: 085b lsrs r3, r3, #1 804b69a: b29a uxth r2, r3 804b69c: 4b4d ldr r3, [pc, #308] ; (804b7d4 ) 804b69e: 881b ldrh r3, [r3, #0] 804b6a0: b29b uxth r3, r3 804b6a2: 429a cmp r2, r3 804b6a4: d80b bhi.n 804b6be X0 -= (multB_u16 >> 1); 804b6a6: 4b4f ldr r3, [pc, #316] ; (804b7e4 ) 804b6a8: 881b ldrh r3, [r3, #0] 804b6aa: b29a uxth r2, r3 804b6ac: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804b6b0: 085b lsrs r3, r3, #1 804b6b2: b29b uxth r3, r3 804b6b4: 1ad3 subs r3, r2, r3 804b6b6: b29a uxth r2, r3 804b6b8: 4b4a ldr r3, [pc, #296] ; (804b7e4 ) 804b6ba: 801a strh r2, [r3, #0] 804b6bc: e002 b.n 804b6c4 else X0 = 0; 804b6be: 4b49 ldr r3, [pc, #292] ; (804b7e4 ) 804b6c0: 2200 movs r2, #0 804b6c2: 801a strh r2, [r3, #0] lX = X0; 804b6c4: 4b47 ldr r3, [pc, #284] ; (804b7e4 ) 804b6c6: 881b ldrh r3, [r3, #0] 804b6c8: b29a uxth r2, r3 804b6ca: 4b42 ldr r3, [pc, #264] ; (804b7d4 ) 804b6cc: 801a strh r2, [r3, #0] rX = lX + multB_u16; 804b6ce: 4b41 ldr r3, [pc, #260] ; (804b7d4 ) 804b6d0: 881b ldrh r3, [r3, #0] 804b6d2: b29a uxth r2, r3 804b6d4: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804b6d8: 4413 add r3, r2 804b6da: b29a uxth r2, r3 804b6dc: 4b42 ldr r3, [pc, #264] ; (804b7e8 ) 804b6de: 801a strh r2, [r3, #0] Mpos = X0 + CURSOR * multA_u16; 804b6e0: 4b42 ldr r3, [pc, #264] ; (804b7ec ) 804b6e2: 681b ldr r3, [r3, #0] 804b6e4: b29b uxth r3, r3 804b6e6: f8b7 209e ldrh.w r2, [r7, #158] ; 0x9e 804b6ea: fb12 f303 smulbb r3, r2, r3 804b6ee: b29a uxth r2, r3 804b6f0: 4b3c ldr r3, [pc, #240] ; (804b7e4 ) 804b6f2: 881b ldrh r3, [r3, #0] 804b6f4: b29b uxth r3, r3 804b6f6: 4413 add r3, r2 804b6f8: b29a uxth r2, r3 804b6fa: 4b3d ldr r3, [pc, #244] ; (804b7f0 ) 804b6fc: 801a strh r2, [r3, #0] AUTOZOOM = true; 804b6fe: 4b3d ldr r3, [pc, #244] ; (804b7f4 ) 804b700: 2201 movs r2, #1 804b702: 701a strb r2, [r3, #0] } break; 804b704: e2a4 b.n 804bc50 case ImageRight: multA_u16 = Avg[1][5 * ViewLevel + pardata.LNE]; 804b706: 4b34 ldr r3, [pc, #208] ; (804b7d8 ) 804b708: 781b ldrb r3, [r3, #0] 804b70a: b2db uxtb r3, r3 804b70c: 461a mov r2, r3 804b70e: 4613 mov r3, r2 804b710: 009b lsls r3, r3, #2 804b712: 4413 add r3, r2 804b714: 4a31 ldr r2, [pc, #196] ; (804b7dc ) 804b716: 79d2 ldrb r2, [r2, #7] 804b718: b2d2 uxtb r2, r2 804b71a: 4413 add r3, r2 804b71c: 4a30 ldr r2, [pc, #192] ; (804b7e0 ) 804b71e: 3323 adds r3, #35 ; 0x23 804b720: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804b724: f8a7 309e strh.w r3, [r7, #158] ; 0x9e multB_u16 = 256 * multA_u16; 804b728: f8b7 309e ldrh.w r3, [r7, #158] ; 0x9e 804b72c: 021b lsls r3, r3, #8 804b72e: f8a7 3096 strh.w r3, [r7, #150] ; 0x96 k = (NS[pardata.LNE] >> 1); 804b732: 4b2a ldr r3, [pc, #168] ; (804b7dc ) 804b734: 79db ldrb r3, [r3, #7] 804b736: b2db uxtb r3, r3 804b738: 461a mov r2, r3 804b73a: 4b2f ldr r3, [pc, #188] ; (804b7f8 ) 804b73c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 804b740: 085b lsrs r3, r3, #1 804b742: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 i = (uint32_t) rX + (uint32_t) (multB_u16 >> 1); 804b746: 4b28 ldr r3, [pc, #160] ; (804b7e8 ) 804b748: 881b ldrh r3, [r3, #0] 804b74a: b29b uxth r3, r3 804b74c: 461a mov r2, r3 804b74e: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804b752: 085b lsrs r3, r3, #1 804b754: b29b uxth r3, r3 804b756: 4413 add r3, r2 804b758: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 if(i <= k) 804b75c: f8d7 20c0 ldr.w r2, [r7, #192] ; 0xc0 804b760: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804b764: 429a cmp r2, r3 804b766: d80b bhi.n 804b780 X0 += (multB_u16 >> 1); 804b768: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804b76c: 085b lsrs r3, r3, #1 804b76e: b29a uxth r2, r3 804b770: 4b1c ldr r3, [pc, #112] ; (804b7e4 ) 804b772: 881b ldrh r3, [r3, #0] 804b774: b29b uxth r3, r3 804b776: 4413 add r3, r2 804b778: b29a uxth r2, r3 804b77a: 4b1a ldr r3, [pc, #104] ; (804b7e4 ) 804b77c: 801a strh r2, [r3, #0] 804b77e: e008 b.n 804b792 else X0 = (uint16_t) (k - multB_u16); 804b780: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804b784: b29a uxth r2, r3 804b786: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804b78a: 1ad3 subs r3, r2, r3 804b78c: b29a uxth r2, r3 804b78e: 4b15 ldr r3, [pc, #84] ; (804b7e4 ) 804b790: 801a strh r2, [r3, #0] lX = X0; 804b792: 4b14 ldr r3, [pc, #80] ; (804b7e4 ) 804b794: 881b ldrh r3, [r3, #0] 804b796: b29a uxth r2, r3 804b798: 4b0e ldr r3, [pc, #56] ; (804b7d4 ) 804b79a: 801a strh r2, [r3, #0] rX = lX + multB_u16; 804b79c: 4b0d ldr r3, [pc, #52] ; (804b7d4 ) 804b79e: 881b ldrh r3, [r3, #0] 804b7a0: b29a uxth r2, r3 804b7a2: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804b7a6: 4413 add r3, r2 804b7a8: b29a uxth r2, r3 804b7aa: 4b0f ldr r3, [pc, #60] ; (804b7e8 ) 804b7ac: 801a strh r2, [r3, #0] Mpos = X0 + CURSOR * multA_u16; 804b7ae: 4b0f ldr r3, [pc, #60] ; (804b7ec ) 804b7b0: 681b ldr r3, [r3, #0] 804b7b2: b29b uxth r3, r3 804b7b4: f8b7 209e ldrh.w r2, [r7, #158] ; 0x9e 804b7b8: fb12 f303 smulbb r3, r2, r3 804b7bc: b29a uxth r2, r3 804b7be: 4b09 ldr r3, [pc, #36] ; (804b7e4 ) 804b7c0: 881b ldrh r3, [r3, #0] 804b7c2: b29b uxth r3, r3 804b7c4: 4413 add r3, r2 804b7c6: b29a uxth r2, r3 804b7c8: 4b09 ldr r3, [pc, #36] ; (804b7f0 ) 804b7ca: 801a strh r2, [r3, #0] AUTOZOOM = true; 804b7cc: 4b09 ldr r3, [pc, #36] ; (804b7f4 ) 804b7ce: 2201 movs r2, #1 804b7d0: 701a strb r2, [r3, #0] break; 804b7d2: e244 b.n 804bc5e 804b7d4: 20025d1a .word 0x20025d1a 804b7d8: 20020f74 .word 0x20020f74 804b7dc: 20023e60 .word 0x20023e60 804b7e0: 080ee7f0 .word 0x080ee7f0 804b7e4: 20025d1e .word 0x20025d1e 804b7e8: 20025d20 .word 0x20025d20 804b7ec: 2002006c .word 0x2002006c 804b7f0: 20025d16 .word 0x20025d16 804b7f4: 2002098c .word 0x2002098c 804b7f8: 080ee87c .word 0x080ee87c case ZoomIn: lvl_0 = 0; 804b7fc: 2300 movs r3, #0 804b7fe: f8c7 30a0 str.w r3, [r7, #160] ; 0xa0 dX = Avg[1][5 * ViewLevel + pardata.LNE]; 804b802: 4b81 ldr r3, [pc, #516] ; (804ba08 ) 804b804: 781b ldrb r3, [r3, #0] 804b806: b2db uxtb r3, r3 804b808: 461a mov r2, r3 804b80a: 4613 mov r3, r2 804b80c: 009b lsls r3, r3, #2 804b80e: 4413 add r3, r2 804b810: 4a7e ldr r2, [pc, #504] ; (804ba0c ) 804b812: 79d2 ldrb r2, [r2, #7] 804b814: b2d2 uxtb r2, r2 804b816: 4413 add r3, r2 804b818: 4a7d ldr r2, [pc, #500] ; (804ba10 ) 804b81a: 3323 adds r3, #35 ; 0x23 804b81c: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804b820: f8a7 3094 strh.w r3, [r7, #148] ; 0x94 MaxLevel = 4; 804b824: 2304 movs r3, #4 804b826: f8a7 3092 strh.w r3, [r7, #146] ; 0x92 //*************************************************************// if((ViewLevel < MaxLevel) && (dX > 1)) 804b82a: 4b77 ldr r3, [pc, #476] ; (804ba08 ) 804b82c: 781b ldrb r3, [r3, #0] 804b82e: b2db uxtb r3, r3 804b830: b29b uxth r3, r3 804b832: f8b7 2092 ldrh.w r2, [r7, #146] ; 0x92 804b836: 429a cmp r2, r3 804b838: f240 820d bls.w 804bc56 804b83c: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804b840: 2b01 cmp r3, #1 804b842: f240 8208 bls.w 804bc56 { ViewLevel++; 804b846: 4b70 ldr r3, [pc, #448] ; (804ba08 ) 804b848: 781b ldrb r3, [r3, #0] 804b84a: b2db uxtb r3, r3 804b84c: 3301 adds r3, #1 804b84e: b2da uxtb r2, r3 804b850: 4b6d ldr r3, [pc, #436] ; (804ba08 ) 804b852: 701a strb r2, [r3, #0] dX = Avg[1][5 * ViewLevel + pardata.LNE]; 804b854: 4b6c ldr r3, [pc, #432] ; (804ba08 ) 804b856: 781b ldrb r3, [r3, #0] 804b858: b2db uxtb r3, r3 804b85a: 461a mov r2, r3 804b85c: 4613 mov r3, r2 804b85e: 009b lsls r3, r3, #2 804b860: 4413 add r3, r2 804b862: 4a6a ldr r2, [pc, #424] ; (804ba0c ) 804b864: 79d2 ldrb r2, [r2, #7] 804b866: b2d2 uxtb r2, r2 804b868: 4413 add r3, r2 804b86a: 4a69 ldr r2, [pc, #420] ; (804ba10 ) 804b86c: 3323 adds r3, #35 ; 0x23 804b86e: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804b872: f8a7 3094 strh.w r3, [r7, #148] ; 0x94 X0 = Mpos - CURSOR * dX; 804b876: 4b67 ldr r3, [pc, #412] ; (804ba14 ) 804b878: 881b ldrh r3, [r3, #0] 804b87a: b29a uxth r2, r3 804b87c: 4b66 ldr r3, [pc, #408] ; (804ba18 ) 804b87e: 681b ldr r3, [r3, #0] 804b880: b29b uxth r3, r3 804b882: f8b7 1094 ldrh.w r1, [r7, #148] ; 0x94 804b886: fb11 f303 smulbb r3, r1, r3 804b88a: b29b uxth r3, r3 804b88c: 1ad3 subs r3, r2, r3 804b88e: b29a uxth r2, r3 804b890: 4b62 ldr r3, [pc, #392] ; (804ba1c ) 804b892: 801a strh r2, [r3, #0] lX = X0; 804b894: 4b61 ldr r3, [pc, #388] ; (804ba1c ) 804b896: 881b ldrh r3, [r3, #0] 804b898: b29a uxth r2, r3 804b89a: 4b61 ldr r3, [pc, #388] ; (804ba20 ) 804b89c: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 804b89e: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804b8a2: 021b lsls r3, r3, #8 804b8a4: b29a uxth r2, r3 804b8a6: 4b5e ldr r3, [pc, #376] ; (804ba20 ) 804b8a8: 881b ldrh r3, [r3, #0] 804b8aa: b29b uxth r3, r3 804b8ac: 4413 add r3, r2 804b8ae: b29a uxth r2, r3 804b8b0: 4b5c ldr r3, [pc, #368] ; (804ba24 ) 804b8b2: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 804b8b4: 4b5c ldr r3, [pc, #368] ; (804ba28 ) 804b8b6: 881b ldrh r3, [r3, #0] 804b8b8: b29b uxth r3, r3 804b8ba: 461a mov r2, r3 804b8bc: 4b58 ldr r3, [pc, #352] ; (804ba20 ) 804b8be: 881b ldrh r3, [r3, #0] 804b8c0: b29b uxth r3, r3 804b8c2: 1ad2 subs r2, r2, r3 804b8c4: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804b8c8: fb92 f3f3 sdiv r3, r2, r3 804b8cc: 461a mov r2, r3 804b8ce: 4b52 ldr r3, [pc, #328] ; (804ba18 ) 804b8d0: 601a str r2, [r3, #0] Mpos = lX + CURSOR * dX; 804b8d2: 4b51 ldr r3, [pc, #324] ; (804ba18 ) 804b8d4: 681b ldr r3, [r3, #0] 804b8d6: b29b uxth r3, r3 804b8d8: f8b7 2094 ldrh.w r2, [r7, #148] ; 0x94 804b8dc: fb12 f303 smulbb r3, r2, r3 804b8e0: b29a uxth r2, r3 804b8e2: 4b4f ldr r3, [pc, #316] ; (804ba20 ) 804b8e4: 881b ldrh r3, [r3, #0] 804b8e6: b29b uxth r3, r3 804b8e8: 4413 add r3, r2 804b8ea: b29a uxth r2, r3 804b8ec: 4b49 ldr r3, [pc, #292] ; (804ba14 ) 804b8ee: 801a strh r2, [r3, #0] if((CURSOR < (256 >> 1)) && (X0 >= dX)) 804b8f0: 4b49 ldr r3, [pc, #292] ; (804ba18 ) 804b8f2: 681b ldr r3, [r3, #0] 804b8f4: 2b7f cmp r3, #127 ; 0x7f 804b8f6: d83b bhi.n 804b970 804b8f8: 4b48 ldr r3, [pc, #288] ; (804ba1c ) 804b8fa: 881b ldrh r3, [r3, #0] 804b8fc: b29b uxth r3, r3 804b8fe: f8b7 2094 ldrh.w r2, [r7, #148] ; 0x94 804b902: 429a cmp r2, r3 804b904: d834 bhi.n 804b970 { if(lX >= dX) 804b906: 4b46 ldr r3, [pc, #280] ; (804ba20 ) 804b908: 881b ldrh r3, [r3, #0] 804b90a: b29b uxth r3, r3 804b90c: f8b7 2094 ldrh.w r2, [r7, #148] ; 0x94 804b910: 429a cmp r2, r3 804b912: d875 bhi.n 804ba00 { CURSOR++; 804b914: 4b40 ldr r3, [pc, #256] ; (804ba18 ) 804b916: 681b ldr r3, [r3, #0] 804b918: 3301 adds r3, #1 804b91a: 4a3f ldr r2, [pc, #252] ; (804ba18 ) 804b91c: 6013 str r3, [r2, #0] X0 -= dX; 804b91e: 4b3f ldr r3, [pc, #252] ; (804ba1c ) 804b920: 881b ldrh r3, [r3, #0] 804b922: b29a uxth r2, r3 804b924: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804b928: 1ad3 subs r3, r2, r3 804b92a: b29a uxth r2, r3 804b92c: 4b3b ldr r3, [pc, #236] ; (804ba1c ) 804b92e: 801a strh r2, [r3, #0] lX = X0; 804b930: 4b3a ldr r3, [pc, #232] ; (804ba1c ) 804b932: 881b ldrh r3, [r3, #0] 804b934: b29a uxth r2, r3 804b936: 4b3a ldr r3, [pc, #232] ; (804ba20 ) 804b938: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 804b93a: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804b93e: 021b lsls r3, r3, #8 804b940: b29a uxth r2, r3 804b942: 4b37 ldr r3, [pc, #220] ; (804ba20 ) 804b944: 881b ldrh r3, [r3, #0] 804b946: b29b uxth r3, r3 804b948: 4413 add r3, r2 804b94a: b29a uxth r2, r3 804b94c: 4b35 ldr r3, [pc, #212] ; (804ba24 ) 804b94e: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 804b950: 4b35 ldr r3, [pc, #212] ; (804ba28 ) 804b952: 881b ldrh r3, [r3, #0] 804b954: b29b uxth r3, r3 804b956: 461a mov r2, r3 804b958: 4b31 ldr r3, [pc, #196] ; (804ba20 ) 804b95a: 881b ldrh r3, [r3, #0] 804b95c: b29b uxth r3, r3 804b95e: 1ad2 subs r2, r2, r3 804b960: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804b964: fb92 f3f3 sdiv r3, r2, r3 804b968: 461a mov r2, r3 804b96a: 4b2b ldr r3, [pc, #172] ; (804ba18 ) 804b96c: 601a str r2, [r3, #0] if(lX >= dX) 804b96e: e047 b.n 804ba00 } } else if(CURSOR > (256 >> 1)) 804b970: 4b29 ldr r3, [pc, #164] ; (804ba18 ) 804b972: 681b ldr r3, [r3, #0] 804b974: 2b80 cmp r3, #128 ; 0x80 804b976: d943 bls.n 804ba00 { if((rX + dX) <= (256 * Avg[1][5 * lvl_0 + pardata.LNE])) 804b978: 4b2a ldr r3, [pc, #168] ; (804ba24 ) 804b97a: 881b ldrh r3, [r3, #0] 804b97c: b29b uxth r3, r3 804b97e: 461a mov r2, r3 804b980: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804b984: 18d1 adds r1, r2, r3 804b986: f8d7 20a0 ldr.w r2, [r7, #160] ; 0xa0 804b98a: 4613 mov r3, r2 804b98c: 009b lsls r3, r3, #2 804b98e: 4413 add r3, r2 804b990: 4a1e ldr r2, [pc, #120] ; (804ba0c ) 804b992: 79d2 ldrb r2, [r2, #7] 804b994: b2d2 uxtb r2, r2 804b996: 4413 add r3, r2 804b998: 4a1d ldr r2, [pc, #116] ; (804ba10 ) 804b99a: 3323 adds r3, #35 ; 0x23 804b99c: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804b9a0: 021b lsls r3, r3, #8 804b9a2: 4299 cmp r1, r3 804b9a4: dc2c bgt.n 804ba00 { CURSOR--; 804b9a6: 4b1c ldr r3, [pc, #112] ; (804ba18 ) 804b9a8: 681b ldr r3, [r3, #0] 804b9aa: 3b01 subs r3, #1 804b9ac: 4a1a ldr r2, [pc, #104] ; (804ba18 ) 804b9ae: 6013 str r3, [r2, #0] X0 += dX; 804b9b0: 4b1a ldr r3, [pc, #104] ; (804ba1c ) 804b9b2: 881b ldrh r3, [r3, #0] 804b9b4: b29a uxth r2, r3 804b9b6: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804b9ba: 4413 add r3, r2 804b9bc: b29a uxth r2, r3 804b9be: 4b17 ldr r3, [pc, #92] ; (804ba1c ) 804b9c0: 801a strh r2, [r3, #0] lX = X0; 804b9c2: 4b16 ldr r3, [pc, #88] ; (804ba1c ) 804b9c4: 881b ldrh r3, [r3, #0] 804b9c6: b29a uxth r2, r3 804b9c8: 4b15 ldr r3, [pc, #84] ; (804ba20 ) 804b9ca: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 804b9cc: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804b9d0: 021b lsls r3, r3, #8 804b9d2: b29a uxth r2, r3 804b9d4: 4b12 ldr r3, [pc, #72] ; (804ba20 ) 804b9d6: 881b ldrh r3, [r3, #0] 804b9d8: b29b uxth r3, r3 804b9da: 4413 add r3, r2 804b9dc: b29a uxth r2, r3 804b9de: 4b11 ldr r3, [pc, #68] ; (804ba24 ) 804b9e0: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 804b9e2: 4b11 ldr r3, [pc, #68] ; (804ba28 ) 804b9e4: 881b ldrh r3, [r3, #0] 804b9e6: b29b uxth r3, r3 804b9e8: 461a mov r2, r3 804b9ea: 4b0d ldr r3, [pc, #52] ; (804ba20 ) 804b9ec: 881b ldrh r3, [r3, #0] 804b9ee: b29b uxth r3, r3 804b9f0: 1ad2 subs r2, r2, r3 804b9f2: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804b9f6: fb92 f3f3 sdiv r3, r2, r3 804b9fa: 461a mov r2, r3 804b9fc: 4b06 ldr r3, [pc, #24] ; (804ba18 ) 804b9fe: 601a str r2, [r3, #0] } } AUTOZOOM = true; 804ba00: 4b0a ldr r3, [pc, #40] ; (804ba2c ) 804ba02: 2201 movs r2, #1 804ba04: 701a strb r2, [r3, #0] } break; 804ba06: e126 b.n 804bc56 804ba08: 20020f74 .word 0x20020f74 804ba0c: 20023e60 .word 0x20023e60 804ba10: 080ee7f0 .word 0x080ee7f0 804ba14: 20025d16 .word 0x20025d16 804ba18: 2002006c .word 0x2002006c 804ba1c: 20025d1e .word 0x20025d1e 804ba20: 20025d1a .word 0x20025d1a 804ba24: 20025d20 .word 0x20025d20 804ba28: 20025d1c .word 0x20025d1c 804ba2c: 2002098c .word 0x2002098c case ZoomOut: lvl_0 = 0; 804ba30: 2300 movs r3, #0 804ba32: f8c7 30a0 str.w r3, [r7, #160] ; 0xa0 MaxLevel = 4; 804ba36: 2304 movs r3, #4 804ba38: f8a7 3092 strh.w r3, [r7, #146] ; 0x92 dXold = Avg[1][5 * ViewLevel + pardata.LNE]; 804ba3c: 4bac ldr r3, [pc, #688] ; (804bcf0 ) 804ba3e: 781b ldrb r3, [r3, #0] 804ba40: b2db uxtb r3, r3 804ba42: 461a mov r2, r3 804ba44: 4613 mov r3, r2 804ba46: 009b lsls r3, r3, #2 804ba48: 4413 add r3, r2 804ba4a: 4aaa ldr r2, [pc, #680] ; (804bcf4 ) 804ba4c: 79d2 ldrb r2, [r2, #7] 804ba4e: b2d2 uxtb r2, r2 804ba50: 4413 add r3, r2 804ba52: 4aa9 ldr r2, [pc, #676] ; (804bcf8 ) 804ba54: 3323 adds r3, #35 ; 0x23 804ba56: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804ba5a: f8a7 3090 strh.w r3, [r7, #144] ; 0x90 if(ViewLevel) 804ba5e: 4ba4 ldr r3, [pc, #656] ; (804bcf0 ) 804ba60: 781b ldrb r3, [r3, #0] 804ba62: b2db uxtb r3, r3 804ba64: 2b00 cmp r3, #0 804ba66: f000 80f9 beq.w 804bc5c { ViewLevel--; 804ba6a: 4ba1 ldr r3, [pc, #644] ; (804bcf0 ) 804ba6c: 781b ldrb r3, [r3, #0] 804ba6e: b2db uxtb r3, r3 804ba70: 3b01 subs r3, #1 804ba72: b2da uxtb r2, r3 804ba74: 4b9e ldr r3, [pc, #632] ; (804bcf0 ) 804ba76: 701a strb r2, [r3, #0] dX = Avg[1][5 * ViewLevel + pardata.LNE]; 804ba78: 4b9d ldr r3, [pc, #628] ; (804bcf0 ) 804ba7a: 781b ldrb r3, [r3, #0] 804ba7c: b2db uxtb r3, r3 804ba7e: 461a mov r2, r3 804ba80: 4613 mov r3, r2 804ba82: 009b lsls r3, r3, #2 804ba84: 4413 add r3, r2 804ba86: 4a9b ldr r2, [pc, #620] ; (804bcf4 ) 804ba88: 79d2 ldrb r2, [r2, #7] 804ba8a: b2d2 uxtb r2, r2 804ba8c: 4413 add r3, r2 804ba8e: 4a9a ldr r2, [pc, #616] ; (804bcf8 ) 804ba90: 3323 adds r3, #35 ; 0x23 804ba92: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804ba96: f8a7 3094 strh.w r3, [r7, #148] ; 0x94 if(ViewLevel == 0) 804ba9a: 4b95 ldr r3, [pc, #596] ; (804bcf0 ) 804ba9c: 781b ldrb r3, [r3, #0] 804ba9e: b2db uxtb r3, r3 804baa0: 2b00 cmp r3, #0 804baa2: d130 bne.n 804bb06 { X0 = lX = 0; 804baa4: 2100 movs r1, #0 804baa6: 4b95 ldr r3, [pc, #596] ; (804bcfc ) 804baa8: 460a mov r2, r1 804baaa: 801a strh r2, [r3, #0] 804baac: 4b94 ldr r3, [pc, #592] ; (804bd00 ) 804baae: 460a mov r2, r1 804bab0: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 804bab2: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804bab6: 021b lsls r3, r3, #8 804bab8: b29a uxth r2, r3 804baba: 4b90 ldr r3, [pc, #576] ; (804bcfc ) 804babc: 881b ldrh r3, [r3, #0] 804babe: b29b uxth r3, r3 804bac0: 4413 add r3, r2 804bac2: b29a uxth r2, r3 804bac4: 4b8f ldr r3, [pc, #572] ; (804bd04 ) 804bac6: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 804bac8: 4b8f ldr r3, [pc, #572] ; (804bd08 ) 804baca: 881b ldrh r3, [r3, #0] 804bacc: b29b uxth r3, r3 804bace: 461a mov r2, r3 804bad0: 4b8a ldr r3, [pc, #552] ; (804bcfc ) 804bad2: 881b ldrh r3, [r3, #0] 804bad4: b29b uxth r3, r3 804bad6: 1ad2 subs r2, r2, r3 804bad8: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804badc: fb92 f3f3 sdiv r3, r2, r3 804bae0: 461a mov r2, r3 804bae2: 4b8a ldr r3, [pc, #552] ; (804bd0c ) 804bae4: 601a str r2, [r3, #0] Mpos = X0 + CURSOR * dX; 804bae6: 4b89 ldr r3, [pc, #548] ; (804bd0c ) 804bae8: 681b ldr r3, [r3, #0] 804baea: b29b uxth r3, r3 804baec: f8b7 2094 ldrh.w r2, [r7, #148] ; 0x94 804baf0: fb12 f303 smulbb r3, r2, r3 804baf4: b29a uxth r2, r3 804baf6: 4b82 ldr r3, [pc, #520] ; (804bd00 ) 804baf8: 881b ldrh r3, [r3, #0] 804bafa: b29b uxth r3, r3 804bafc: 4413 add r3, r2 804bafe: b29a uxth r2, r3 804bb00: 4b83 ldr r3, [pc, #524] ; (804bd10 ) 804bb02: 801a strh r2, [r3, #0] 804bb04: e090 b.n 804bc28 } else { if(CURSOR * dX > Mpos) 804bb06: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804bb0a: 4a80 ldr r2, [pc, #512] ; (804bd0c ) 804bb0c: 6812 ldr r2, [r2, #0] 804bb0e: fb02 f303 mul.w r3, r2, r3 804bb12: 4a7f ldr r2, [pc, #508] ; (804bd10 ) 804bb14: 8812 ldrh r2, [r2, #0] 804bb16: b292 uxth r2, r2 804bb18: 4293 cmp r3, r2 804bb1a: d91f bls.n 804bb5c { while(CURSOR * dX > Mpos) 804bb1c: e004 b.n 804bb28 CURSOR--; 804bb1e: 4b7b ldr r3, [pc, #492] ; (804bd0c ) 804bb20: 681b ldr r3, [r3, #0] 804bb22: 3b01 subs r3, #1 804bb24: 4a79 ldr r2, [pc, #484] ; (804bd0c ) 804bb26: 6013 str r3, [r2, #0] while(CURSOR * dX > Mpos) 804bb28: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804bb2c: 4a77 ldr r2, [pc, #476] ; (804bd0c ) 804bb2e: 6812 ldr r2, [r2, #0] 804bb30: fb02 f303 mul.w r3, r2, r3 804bb34: 4a76 ldr r2, [pc, #472] ; (804bd10 ) 804bb36: 8812 ldrh r2, [r2, #0] 804bb38: b292 uxth r2, r2 804bb3a: 4293 cmp r3, r2 804bb3c: d8ef bhi.n 804bb1e Mpos = X0 + CURSOR * dX; 804bb3e: 4b73 ldr r3, [pc, #460] ; (804bd0c ) 804bb40: 681b ldr r3, [r3, #0] 804bb42: b29b uxth r3, r3 804bb44: f8b7 2094 ldrh.w r2, [r7, #148] ; 0x94 804bb48: fb12 f303 smulbb r3, r2, r3 804bb4c: b29a uxth r2, r3 804bb4e: 4b6c ldr r3, [pc, #432] ; (804bd00 ) 804bb50: 881b ldrh r3, [r3, #0] 804bb52: b29b uxth r3, r3 804bb54: 4413 add r3, r2 804bb56: b29a uxth r2, r3 804bb58: 4b6d ldr r3, [pc, #436] ; (804bd10 ) 804bb5a: 801a strh r2, [r3, #0] } i = Mpos - CURSOR * dX; 804bb5c: 4b6c ldr r3, [pc, #432] ; (804bd10 ) 804bb5e: 881b ldrh r3, [r3, #0] 804bb60: b29b uxth r3, r3 804bb62: 4619 mov r1, r3 804bb64: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804bb68: 4a68 ldr r2, [pc, #416] ; (804bd0c ) 804bb6a: 6812 ldr r2, [r2, #0] 804bb6c: fb02 f303 mul.w r3, r2, r3 804bb70: 1acb subs r3, r1, r3 804bb72: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 j = 256 * dX; 804bb76: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804bb7a: 021b lsls r3, r3, #8 804bb7c: f8c7 3098 str.w r3, [r7, #152] ; 0x98 k = 256 * Avg[1][5 * lvl_0 + pardata.LNE]; // 3200 804bb80: f8d7 20a0 ldr.w r2, [r7, #160] ; 0xa0 804bb84: 4613 mov r3, r2 804bb86: 009b lsls r3, r3, #2 804bb88: 4413 add r3, r2 804bb8a: 4a5a ldr r2, [pc, #360] ; (804bcf4 ) 804bb8c: 79d2 ldrb r2, [r2, #7] 804bb8e: b2d2 uxtb r2, r2 804bb90: 4413 add r3, r2 804bb92: 4a59 ldr r2, [pc, #356] ; (804bcf8 ) 804bb94: 3323 adds r3, #35 ; 0x23 804bb96: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804bb9a: 021b lsls r3, r3, #8 804bb9c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 while(i + j > k) { 804bba0: e006 b.n 804bbb0 i -= dXold; 804bba2: f8b7 3090 ldrh.w r3, [r7, #144] ; 0x90 804bba6: f8d7 20c0 ldr.w r2, [r7, #192] ; 0xc0 804bbaa: 1ad3 subs r3, r2, r3 804bbac: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 while(i + j > k) { 804bbb0: f8d7 20c0 ldr.w r2, [r7, #192] ; 0xc0 804bbb4: f8d7 3098 ldr.w r3, [r7, #152] ; 0x98 804bbb8: 441a add r2, r3 804bbba: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804bbbe: 429a cmp r2, r3 804bbc0: d8ef bhi.n 804bba2 } X0 = (uint16_t) i; 804bbc2: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 804bbc6: b29a uxth r2, r3 804bbc8: 4b4d ldr r3, [pc, #308] ; (804bd00 ) 804bbca: 801a strh r2, [r3, #0] lX = X0; 804bbcc: 4b4c ldr r3, [pc, #304] ; (804bd00 ) 804bbce: 881b ldrh r3, [r3, #0] 804bbd0: b29a uxth r2, r3 804bbd2: 4b4a ldr r3, [pc, #296] ; (804bcfc ) 804bbd4: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 804bbd6: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804bbda: 021b lsls r3, r3, #8 804bbdc: b29a uxth r2, r3 804bbde: 4b47 ldr r3, [pc, #284] ; (804bcfc ) 804bbe0: 881b ldrh r3, [r3, #0] 804bbe2: b29b uxth r3, r3 804bbe4: 4413 add r3, r2 804bbe6: b29a uxth r2, r3 804bbe8: 4b46 ldr r3, [pc, #280] ; (804bd04 ) 804bbea: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 804bbec: 4b46 ldr r3, [pc, #280] ; (804bd08 ) 804bbee: 881b ldrh r3, [r3, #0] 804bbf0: b29b uxth r3, r3 804bbf2: 461a mov r2, r3 804bbf4: 4b41 ldr r3, [pc, #260] ; (804bcfc ) 804bbf6: 881b ldrh r3, [r3, #0] 804bbf8: b29b uxth r3, r3 804bbfa: 1ad2 subs r2, r2, r3 804bbfc: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804bc00: fb92 f3f3 sdiv r3, r2, r3 804bc04: 461a mov r2, r3 804bc06: 4b41 ldr r3, [pc, #260] ; (804bd0c ) 804bc08: 601a str r2, [r3, #0] Mpos = X0 + CURSOR * dX; 804bc0a: 4b40 ldr r3, [pc, #256] ; (804bd0c ) 804bc0c: 681b ldr r3, [r3, #0] 804bc0e: b29b uxth r3, r3 804bc10: f8b7 2094 ldrh.w r2, [r7, #148] ; 0x94 804bc14: fb12 f303 smulbb r3, r2, r3 804bc18: b29a uxth r2, r3 804bc1a: 4b39 ldr r3, [pc, #228] ; (804bd00 ) 804bc1c: 881b ldrh r3, [r3, #0] 804bc1e: b29b uxth r3, r3 804bc20: 4413 add r3, r2 804bc22: b29a uxth r2, r3 804bc24: 4b3a ldr r3, [pc, #232] ; (804bd10 ) 804bc26: 801a strh r2, [r3, #0] } AUTOZOOM = true; 804bc28: 4b3a ldr r3, [pc, #232] ; (804bd14 ) 804bc2a: 2201 movs r2, #1 804bc2c: 701a strb r2, [r3, #0] } break; 804bc2e: e015 b.n 804bc5c case Cursor: AUTOZOOM = true; 804bc30: 4b38 ldr r3, [pc, #224] ; (804bd14 ) 804bc32: 2201 movs r2, #1 804bc34: 701a strb r2, [r3, #0] break; 804bc36: e012 b.n 804bc5e case Results: menu = ROLL_RESULTS; 804bc38: 4b37 ldr r3, [pc, #220] ; (804bd18 ) 804bc3a: 2227 movs r2, #39 ; 0x27 804bc3c: 701a strb r2, [r3, #0] lastmenupos = menupos; 804bc3e: 4b37 ldr r3, [pc, #220] ; (804bd1c ) 804bc40: 781b ldrb r3, [r3, #0] 804bc42: b2da uxtb r2, r3 804bc44: 4b36 ldr r3, [pc, #216] ; (804bd20 ) 804bc46: 701a strb r2, [r3, #0] menupos = 0; 804bc48: 4b34 ldr r3, [pc, #208] ; (804bd1c ) 804bc4a: 2200 movs r2, #0 804bc4c: 701a strb r2, [r3, #0] break; 804bc4e: e006 b.n 804bc5e break; 804bc50: bf00 nop 804bc52: f007 b835 b.w 8052cc0 break; 804bc56: bf00 nop 804bc58: f007 b832 b.w 8052cc0 break; 804bc5c: bf00 nop } break; 804bc5e: f007 b82f b.w 8052cc0 case MAIN_SPEC: switch(menupos) 804bc62: 4b2e ldr r3, [pc, #184] ; (804bd1c ) 804bc64: 781b ldrb r3, [r3, #0] 804bc66: b2db uxtb r3, r3 804bc68: 2b09 cmp r3, #9 804bc6a: f207 802b bhi.w 8052cc4 804bc6e: a201 add r2, pc, #4 ; (adr r2, 804bc74 ) 804bc70: f852 f023 ldr.w pc, [r2, r3, lsl #2] 804bc74: 0804bcb1 .word 0x0804bcb1 804bc78: 0804bc9d .word 0x0804bc9d 804bc7c: 0804bd31 .word 0x0804bd31 804bc80: 0804bed5 .word 0x0804bed5 804bc84: 0804c109 .word 0x0804c109 804bc88: 0804bddd .word 0x0804bddd 804bc8c: 0804c309 .word 0x0804c309 804bc90: 08052cc5 .word 0x08052cc5 804bc94: 08052cc5 .word 0x08052cc5 804bc98: 0804c311 .word 0x0804c311 { case BackMenu: StopMeas(); 804bc9c: f7d7 fd7e bl 802379c menu = PARAM_SPEC; 804bca0: 4b1d ldr r3, [pc, #116] ; (804bd18 ) 804bca2: 2207 movs r2, #7 804bca4: 701a strb r2, [r3, #0] menupos = Ok; 804bca6: 4b1d ldr r3, [pc, #116] ; (804bd1c ) 804bca8: 2200 movs r2, #0 804bcaa: 701a strb r2, [r3, #0] break; 804bcac: f000 bd86 b.w 804c7bc case StartStop: if(!measuring) 804bcb0: 4b1c ldr r3, [pc, #112] ; (804bd24 ) 804bcb2: 781b ldrb r3, [r3, #0] 804bcb4: b2db uxtb r3, r3 804bcb6: f083 0301 eor.w r3, r3, #1 804bcba: b2db uxtb r3, r3 804bcbc: 2b00 cmp r3, #0 804bcbe: d00b beq.n 804bcd8 { AUTOZOOM = true; 804bcc0: 4b14 ldr r3, [pc, #80] ; (804bd14 ) 804bcc2: 2201 movs r2, #1 804bcc4: 701a strb r2, [r3, #0] FIRST = true; 804bcc6: 4b18 ldr r3, [pc, #96] ; (804bd28 ) 804bcc8: 2201 movs r2, #1 804bcca: 701a strb r2, [r3, #0] initAmplif(); 804bccc: f7d5 fee2 bl 8021a94 StartMeas(); 804bcd0: f7d7 f9b4 bl 802303c { StopMeas(); AUTOZOOM = true; oldmenupos = menupos; } break; 804bcd4: f000 bd72 b.w 804c7bc StopMeas(); 804bcd8: f7d7 fd60 bl 802379c AUTOZOOM = true; 804bcdc: 4b0d ldr r3, [pc, #52] ; (804bd14 ) 804bcde: 2201 movs r2, #1 804bce0: 701a strb r2, [r3, #0] oldmenupos = menupos; 804bce2: 4b0e ldr r3, [pc, #56] ; (804bd1c ) 804bce4: 781b ldrb r3, [r3, #0] 804bce6: b2da uxtb r2, r3 804bce8: 4b10 ldr r3, [pc, #64] ; (804bd2c ) 804bcea: 701a strb r2, [r3, #0] break; 804bcec: f000 bd66 b.w 804c7bc 804bcf0: 20020f74 .word 0x20020f74 804bcf4: 20023e60 .word 0x20023e60 804bcf8: 080ee7f0 .word 0x080ee7f0 804bcfc: 20025d1a .word 0x20025d1a 804bd00: 20025d1e .word 0x20025d1e 804bd04: 20025d20 .word 0x20025d20 804bd08: 20025d1c .word 0x20025d1c 804bd0c: 2002006c .word 0x2002006c 804bd10: 20025d16 .word 0x20025d16 804bd14: 2002098c .word 0x2002098c 804bd18: 20020f78 .word 0x20020f78 804bd1c: 20020070 .word 0x20020070 804bd20: 20020071 .word 0x20020071 804bd24: 20020daf .word 0x20020daf 804bd28: 20020db2 .word 0x20020db2 804bd2c: 20020f7a .word 0x20020f7a case ImageLeft: if(lX) 804bd30: 4b5e ldr r3, [pc, #376] ; (804beac ) 804bd32: 881b ldrh r3, [r3, #0] 804bd34: b29b uxth r3, r3 804bd36: 2b00 cmp r3, #0 804bd38: f000 8536 beq.w 804c7a8 { multA_u16 = Avg[1][5 * ViewLevel + pardata.LNE]; 804bd3c: 4b5c ldr r3, [pc, #368] ; (804beb0 ) 804bd3e: 781b ldrb r3, [r3, #0] 804bd40: b2db uxtb r3, r3 804bd42: 461a mov r2, r3 804bd44: 4613 mov r3, r2 804bd46: 009b lsls r3, r3, #2 804bd48: 4413 add r3, r2 804bd4a: 4a5a ldr r2, [pc, #360] ; (804beb4 ) 804bd4c: 79d2 ldrb r2, [r2, #7] 804bd4e: b2d2 uxtb r2, r2 804bd50: 4413 add r3, r2 804bd52: 4a59 ldr r2, [pc, #356] ; (804beb8 ) 804bd54: 3323 adds r3, #35 ; 0x23 804bd56: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804bd5a: f8a7 309e strh.w r3, [r7, #158] ; 0x9e multB_u16 = 256 * multA_u16; 804bd5e: f8b7 309e ldrh.w r3, [r7, #158] ; 0x9e 804bd62: 021b lsls r3, r3, #8 804bd64: f8a7 3096 strh.w r3, [r7, #150] ; 0x96 if(lX >= (multB_u16 >> 1)) 804bd68: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804bd6c: 085b lsrs r3, r3, #1 804bd6e: b29a uxth r2, r3 804bd70: 4b4e ldr r3, [pc, #312] ; (804beac ) 804bd72: 881b ldrh r3, [r3, #0] 804bd74: b29b uxth r3, r3 804bd76: 429a cmp r2, r3 804bd78: d80b bhi.n 804bd92 X0 -= (multB_u16 >> 1); 804bd7a: 4b50 ldr r3, [pc, #320] ; (804bebc ) 804bd7c: 881b ldrh r3, [r3, #0] 804bd7e: b29a uxth r2, r3 804bd80: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804bd84: 085b lsrs r3, r3, #1 804bd86: b29b uxth r3, r3 804bd88: 1ad3 subs r3, r2, r3 804bd8a: b29a uxth r2, r3 804bd8c: 4b4b ldr r3, [pc, #300] ; (804bebc ) 804bd8e: 801a strh r2, [r3, #0] 804bd90: e002 b.n 804bd98 else X0 = 0; 804bd92: 4b4a ldr r3, [pc, #296] ; (804bebc ) 804bd94: 2200 movs r2, #0 804bd96: 801a strh r2, [r3, #0] lX = X0; 804bd98: 4b48 ldr r3, [pc, #288] ; (804bebc ) 804bd9a: 881b ldrh r3, [r3, #0] 804bd9c: b29a uxth r2, r3 804bd9e: 4b43 ldr r3, [pc, #268] ; (804beac ) 804bda0: 801a strh r2, [r3, #0] rX = lX + multB_u16; 804bda2: 4b42 ldr r3, [pc, #264] ; (804beac ) 804bda4: 881b ldrh r3, [r3, #0] 804bda6: b29a uxth r2, r3 804bda8: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804bdac: 4413 add r3, r2 804bdae: b29a uxth r2, r3 804bdb0: 4b43 ldr r3, [pc, #268] ; (804bec0 ) 804bdb2: 801a strh r2, [r3, #0] Mpos = X0 + CURSOR * multA_u16; 804bdb4: 4b43 ldr r3, [pc, #268] ; (804bec4 ) 804bdb6: 681b ldr r3, [r3, #0] 804bdb8: b29b uxth r3, r3 804bdba: f8b7 209e ldrh.w r2, [r7, #158] ; 0x9e 804bdbe: fb12 f303 smulbb r3, r2, r3 804bdc2: b29a uxth r2, r3 804bdc4: 4b3d ldr r3, [pc, #244] ; (804bebc ) 804bdc6: 881b ldrh r3, [r3, #0] 804bdc8: b29b uxth r3, r3 804bdca: 4413 add r3, r2 804bdcc: b29a uxth r2, r3 804bdce: 4b3e ldr r3, [pc, #248] ; (804bec8 ) 804bdd0: 801a strh r2, [r3, #0] AUTOZOOM = true; 804bdd2: 4b3e ldr r3, [pc, #248] ; (804becc ) 804bdd4: 2201 movs r2, #1 804bdd6: 701a strb r2, [r3, #0] } break; 804bdd8: f000 bce6 b.w 804c7a8 case ImageRight: multA_u16 = Avg[1][5 * ViewLevel + pardata.LNE]; 804bddc: 4b34 ldr r3, [pc, #208] ; (804beb0 ) 804bdde: 781b ldrb r3, [r3, #0] 804bde0: b2db uxtb r3, r3 804bde2: 461a mov r2, r3 804bde4: 4613 mov r3, r2 804bde6: 009b lsls r3, r3, #2 804bde8: 4413 add r3, r2 804bdea: 4a32 ldr r2, [pc, #200] ; (804beb4 ) 804bdec: 79d2 ldrb r2, [r2, #7] 804bdee: b2d2 uxtb r2, r2 804bdf0: 4413 add r3, r2 804bdf2: 4a31 ldr r2, [pc, #196] ; (804beb8 ) 804bdf4: 3323 adds r3, #35 ; 0x23 804bdf6: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804bdfa: f8a7 309e strh.w r3, [r7, #158] ; 0x9e multB_u16 = 256 * multA_u16; 804bdfe: f8b7 309e ldrh.w r3, [r7, #158] ; 0x9e 804be02: 021b lsls r3, r3, #8 804be04: f8a7 3096 strh.w r3, [r7, #150] ; 0x96 k = (NS[pardata.LNE] >> 1); 804be08: 4b2a ldr r3, [pc, #168] ; (804beb4 ) 804be0a: 79db ldrb r3, [r3, #7] 804be0c: b2db uxtb r3, r3 804be0e: 461a mov r2, r3 804be10: 4b2f ldr r3, [pc, #188] ; (804bed0 ) 804be12: f853 3022 ldr.w r3, [r3, r2, lsl #2] 804be16: 085b lsrs r3, r3, #1 804be18: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 i = (uint32_t) rX + (uint32_t) (multB_u16 >> 1); 804be1c: 4b28 ldr r3, [pc, #160] ; (804bec0 ) 804be1e: 881b ldrh r3, [r3, #0] 804be20: b29b uxth r3, r3 804be22: 461a mov r2, r3 804be24: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804be28: 085b lsrs r3, r3, #1 804be2a: b29b uxth r3, r3 804be2c: 4413 add r3, r2 804be2e: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 if(i <= k) 804be32: f8d7 20c0 ldr.w r2, [r7, #192] ; 0xc0 804be36: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804be3a: 429a cmp r2, r3 804be3c: d80b bhi.n 804be56 X0 += (multB_u16 >> 1); 804be3e: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804be42: 085b lsrs r3, r3, #1 804be44: b29a uxth r2, r3 804be46: 4b1d ldr r3, [pc, #116] ; (804bebc ) 804be48: 881b ldrh r3, [r3, #0] 804be4a: b29b uxth r3, r3 804be4c: 4413 add r3, r2 804be4e: b29a uxth r2, r3 804be50: 4b1a ldr r3, [pc, #104] ; (804bebc ) 804be52: 801a strh r2, [r3, #0] 804be54: e008 b.n 804be68 else X0 = (uint16_t) (k - multB_u16); 804be56: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804be5a: b29a uxth r2, r3 804be5c: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804be60: 1ad3 subs r3, r2, r3 804be62: b29a uxth r2, r3 804be64: 4b15 ldr r3, [pc, #84] ; (804bebc ) 804be66: 801a strh r2, [r3, #0] lX = X0; 804be68: 4b14 ldr r3, [pc, #80] ; (804bebc ) 804be6a: 881b ldrh r3, [r3, #0] 804be6c: b29a uxth r2, r3 804be6e: 4b0f ldr r3, [pc, #60] ; (804beac ) 804be70: 801a strh r2, [r3, #0] rX = lX + multB_u16; 804be72: 4b0e ldr r3, [pc, #56] ; (804beac ) 804be74: 881b ldrh r3, [r3, #0] 804be76: b29a uxth r2, r3 804be78: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804be7c: 4413 add r3, r2 804be7e: b29a uxth r2, r3 804be80: 4b0f ldr r3, [pc, #60] ; (804bec0 ) 804be82: 801a strh r2, [r3, #0] Mpos = X0 + CURSOR * multA_u16; 804be84: 4b0f ldr r3, [pc, #60] ; (804bec4 ) 804be86: 681b ldr r3, [r3, #0] 804be88: b29b uxth r3, r3 804be8a: f8b7 209e ldrh.w r2, [r7, #158] ; 0x9e 804be8e: fb12 f303 smulbb r3, r2, r3 804be92: b29a uxth r2, r3 804be94: 4b09 ldr r3, [pc, #36] ; (804bebc ) 804be96: 881b ldrh r3, [r3, #0] 804be98: b29b uxth r3, r3 804be9a: 4413 add r3, r2 804be9c: b29a uxth r2, r3 804be9e: 4b0a ldr r3, [pc, #40] ; (804bec8 ) 804bea0: 801a strh r2, [r3, #0] AUTOZOOM = true; 804bea2: 4b0a ldr r3, [pc, #40] ; (804becc ) 804bea4: 2201 movs r2, #1 804bea6: 701a strb r2, [r3, #0] break; 804bea8: f000 bc88 b.w 804c7bc 804beac: 20025d1a .word 0x20025d1a 804beb0: 20020f74 .word 0x20020f74 804beb4: 20023e60 .word 0x20023e60 804beb8: 080ee7f0 .word 0x080ee7f0 804bebc: 20025d1e .word 0x20025d1e 804bec0: 20025d20 .word 0x20025d20 804bec4: 2002006c .word 0x2002006c 804bec8: 20025d16 .word 0x20025d16 804becc: 2002098c .word 0x2002098c 804bed0: 080ee87c .word 0x080ee87c case ZoomIn: lvl_0 = 0; 804bed4: 2300 movs r3, #0 804bed6: f8c7 30a0 str.w r3, [r7, #160] ; 0xa0 dX = Avg[1][5 * ViewLevel + pardata.LNE]; 804beda: 4b81 ldr r3, [pc, #516] ; (804c0e0 ) 804bedc: 781b ldrb r3, [r3, #0] 804bede: b2db uxtb r3, r3 804bee0: 461a mov r2, r3 804bee2: 4613 mov r3, r2 804bee4: 009b lsls r3, r3, #2 804bee6: 4413 add r3, r2 804bee8: 4a7e ldr r2, [pc, #504] ; (804c0e4 ) 804beea: 79d2 ldrb r2, [r2, #7] 804beec: b2d2 uxtb r2, r2 804beee: 4413 add r3, r2 804bef0: 4a7d ldr r2, [pc, #500] ; (804c0e8 ) 804bef2: 3323 adds r3, #35 ; 0x23 804bef4: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804bef8: f8a7 3094 strh.w r3, [r7, #148] ; 0x94 MaxLevel = 4; 804befc: 2304 movs r3, #4 804befe: f8a7 3092 strh.w r3, [r7, #146] ; 0x92 //*************************************************************// if((ViewLevel < MaxLevel) && (dX > 1)) 804bf02: 4b77 ldr r3, [pc, #476] ; (804c0e0 ) 804bf04: 781b ldrb r3, [r3, #0] 804bf06: b2db uxtb r3, r3 804bf08: b29b uxth r3, r3 804bf0a: f8b7 2092 ldrh.w r2, [r7, #146] ; 0x92 804bf0e: 429a cmp r2, r3 804bf10: f240 844d bls.w 804c7ae 804bf14: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804bf18: 2b01 cmp r3, #1 804bf1a: f240 8448 bls.w 804c7ae { ViewLevel++; 804bf1e: 4b70 ldr r3, [pc, #448] ; (804c0e0 ) 804bf20: 781b ldrb r3, [r3, #0] 804bf22: b2db uxtb r3, r3 804bf24: 3301 adds r3, #1 804bf26: b2da uxtb r2, r3 804bf28: 4b6d ldr r3, [pc, #436] ; (804c0e0 ) 804bf2a: 701a strb r2, [r3, #0] dX = Avg[1][5 * ViewLevel + pardata.LNE]; 804bf2c: 4b6c ldr r3, [pc, #432] ; (804c0e0 ) 804bf2e: 781b ldrb r3, [r3, #0] 804bf30: b2db uxtb r3, r3 804bf32: 461a mov r2, r3 804bf34: 4613 mov r3, r2 804bf36: 009b lsls r3, r3, #2 804bf38: 4413 add r3, r2 804bf3a: 4a6a ldr r2, [pc, #424] ; (804c0e4 ) 804bf3c: 79d2 ldrb r2, [r2, #7] 804bf3e: b2d2 uxtb r2, r2 804bf40: 4413 add r3, r2 804bf42: 4a69 ldr r2, [pc, #420] ; (804c0e8 ) 804bf44: 3323 adds r3, #35 ; 0x23 804bf46: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804bf4a: f8a7 3094 strh.w r3, [r7, #148] ; 0x94 X0 = Mpos - CURSOR * dX; 804bf4e: 4b67 ldr r3, [pc, #412] ; (804c0ec ) 804bf50: 881b ldrh r3, [r3, #0] 804bf52: b29a uxth r2, r3 804bf54: 4b66 ldr r3, [pc, #408] ; (804c0f0 ) 804bf56: 681b ldr r3, [r3, #0] 804bf58: b29b uxth r3, r3 804bf5a: f8b7 1094 ldrh.w r1, [r7, #148] ; 0x94 804bf5e: fb11 f303 smulbb r3, r1, r3 804bf62: b29b uxth r3, r3 804bf64: 1ad3 subs r3, r2, r3 804bf66: b29a uxth r2, r3 804bf68: 4b62 ldr r3, [pc, #392] ; (804c0f4 ) 804bf6a: 801a strh r2, [r3, #0] lX = X0; 804bf6c: 4b61 ldr r3, [pc, #388] ; (804c0f4 ) 804bf6e: 881b ldrh r3, [r3, #0] 804bf70: b29a uxth r2, r3 804bf72: 4b61 ldr r3, [pc, #388] ; (804c0f8 ) 804bf74: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 804bf76: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804bf7a: 021b lsls r3, r3, #8 804bf7c: b29a uxth r2, r3 804bf7e: 4b5e ldr r3, [pc, #376] ; (804c0f8 ) 804bf80: 881b ldrh r3, [r3, #0] 804bf82: b29b uxth r3, r3 804bf84: 4413 add r3, r2 804bf86: b29a uxth r2, r3 804bf88: 4b5c ldr r3, [pc, #368] ; (804c0fc ) 804bf8a: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 804bf8c: 4b5c ldr r3, [pc, #368] ; (804c100 ) 804bf8e: 881b ldrh r3, [r3, #0] 804bf90: b29b uxth r3, r3 804bf92: 461a mov r2, r3 804bf94: 4b58 ldr r3, [pc, #352] ; (804c0f8 ) 804bf96: 881b ldrh r3, [r3, #0] 804bf98: b29b uxth r3, r3 804bf9a: 1ad2 subs r2, r2, r3 804bf9c: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804bfa0: fb92 f3f3 sdiv r3, r2, r3 804bfa4: 461a mov r2, r3 804bfa6: 4b52 ldr r3, [pc, #328] ; (804c0f0 ) 804bfa8: 601a str r2, [r3, #0] Mpos = lX + CURSOR * dX; 804bfaa: 4b51 ldr r3, [pc, #324] ; (804c0f0 ) 804bfac: 681b ldr r3, [r3, #0] 804bfae: b29b uxth r3, r3 804bfb0: f8b7 2094 ldrh.w r2, [r7, #148] ; 0x94 804bfb4: fb12 f303 smulbb r3, r2, r3 804bfb8: b29a uxth r2, r3 804bfba: 4b4f ldr r3, [pc, #316] ; (804c0f8 ) 804bfbc: 881b ldrh r3, [r3, #0] 804bfbe: b29b uxth r3, r3 804bfc0: 4413 add r3, r2 804bfc2: b29a uxth r2, r3 804bfc4: 4b49 ldr r3, [pc, #292] ; (804c0ec ) 804bfc6: 801a strh r2, [r3, #0] if((CURSOR < (256 >> 1)) && (X0 >= dX)) 804bfc8: 4b49 ldr r3, [pc, #292] ; (804c0f0 ) 804bfca: 681b ldr r3, [r3, #0] 804bfcc: 2b7f cmp r3, #127 ; 0x7f 804bfce: d83b bhi.n 804c048 804bfd0: 4b48 ldr r3, [pc, #288] ; (804c0f4 ) 804bfd2: 881b ldrh r3, [r3, #0] 804bfd4: b29b uxth r3, r3 804bfd6: f8b7 2094 ldrh.w r2, [r7, #148] ; 0x94 804bfda: 429a cmp r2, r3 804bfdc: d834 bhi.n 804c048 { if(lX >= dX) 804bfde: 4b46 ldr r3, [pc, #280] ; (804c0f8 ) 804bfe0: 881b ldrh r3, [r3, #0] 804bfe2: b29b uxth r3, r3 804bfe4: f8b7 2094 ldrh.w r2, [r7, #148] ; 0x94 804bfe8: 429a cmp r2, r3 804bfea: d875 bhi.n 804c0d8 { CURSOR++; 804bfec: 4b40 ldr r3, [pc, #256] ; (804c0f0 ) 804bfee: 681b ldr r3, [r3, #0] 804bff0: 3301 adds r3, #1 804bff2: 4a3f ldr r2, [pc, #252] ; (804c0f0 ) 804bff4: 6013 str r3, [r2, #0] X0 -= dX; 804bff6: 4b3f ldr r3, [pc, #252] ; (804c0f4 ) 804bff8: 881b ldrh r3, [r3, #0] 804bffa: b29a uxth r2, r3 804bffc: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804c000: 1ad3 subs r3, r2, r3 804c002: b29a uxth r2, r3 804c004: 4b3b ldr r3, [pc, #236] ; (804c0f4 ) 804c006: 801a strh r2, [r3, #0] lX = X0; 804c008: 4b3a ldr r3, [pc, #232] ; (804c0f4 ) 804c00a: 881b ldrh r3, [r3, #0] 804c00c: b29a uxth r2, r3 804c00e: 4b3a ldr r3, [pc, #232] ; (804c0f8 ) 804c010: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 804c012: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804c016: 021b lsls r3, r3, #8 804c018: b29a uxth r2, r3 804c01a: 4b37 ldr r3, [pc, #220] ; (804c0f8 ) 804c01c: 881b ldrh r3, [r3, #0] 804c01e: b29b uxth r3, r3 804c020: 4413 add r3, r2 804c022: b29a uxth r2, r3 804c024: 4b35 ldr r3, [pc, #212] ; (804c0fc ) 804c026: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 804c028: 4b35 ldr r3, [pc, #212] ; (804c100 ) 804c02a: 881b ldrh r3, [r3, #0] 804c02c: b29b uxth r3, r3 804c02e: 461a mov r2, r3 804c030: 4b31 ldr r3, [pc, #196] ; (804c0f8 ) 804c032: 881b ldrh r3, [r3, #0] 804c034: b29b uxth r3, r3 804c036: 1ad2 subs r2, r2, r3 804c038: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804c03c: fb92 f3f3 sdiv r3, r2, r3 804c040: 461a mov r2, r3 804c042: 4b2b ldr r3, [pc, #172] ; (804c0f0 ) 804c044: 601a str r2, [r3, #0] if(lX >= dX) 804c046: e047 b.n 804c0d8 } } else if(CURSOR > (256 >> 1)) 804c048: 4b29 ldr r3, [pc, #164] ; (804c0f0 ) 804c04a: 681b ldr r3, [r3, #0] 804c04c: 2b80 cmp r3, #128 ; 0x80 804c04e: d943 bls.n 804c0d8 { if((rX + dX) <= (256 * Avg[1][5 * lvl_0 + pardata.LNE])) 804c050: 4b2a ldr r3, [pc, #168] ; (804c0fc ) 804c052: 881b ldrh r3, [r3, #0] 804c054: b29b uxth r3, r3 804c056: 461a mov r2, r3 804c058: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804c05c: 18d1 adds r1, r2, r3 804c05e: f8d7 20a0 ldr.w r2, [r7, #160] ; 0xa0 804c062: 4613 mov r3, r2 804c064: 009b lsls r3, r3, #2 804c066: 4413 add r3, r2 804c068: 4a1e ldr r2, [pc, #120] ; (804c0e4 ) 804c06a: 79d2 ldrb r2, [r2, #7] 804c06c: b2d2 uxtb r2, r2 804c06e: 4413 add r3, r2 804c070: 4a1d ldr r2, [pc, #116] ; (804c0e8 ) 804c072: 3323 adds r3, #35 ; 0x23 804c074: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804c078: 021b lsls r3, r3, #8 804c07a: 4299 cmp r1, r3 804c07c: dc2c bgt.n 804c0d8 { CURSOR--; 804c07e: 4b1c ldr r3, [pc, #112] ; (804c0f0 ) 804c080: 681b ldr r3, [r3, #0] 804c082: 3b01 subs r3, #1 804c084: 4a1a ldr r2, [pc, #104] ; (804c0f0 ) 804c086: 6013 str r3, [r2, #0] X0 += dX; 804c088: 4b1a ldr r3, [pc, #104] ; (804c0f4 ) 804c08a: 881b ldrh r3, [r3, #0] 804c08c: b29a uxth r2, r3 804c08e: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804c092: 4413 add r3, r2 804c094: b29a uxth r2, r3 804c096: 4b17 ldr r3, [pc, #92] ; (804c0f4 ) 804c098: 801a strh r2, [r3, #0] lX = X0; 804c09a: 4b16 ldr r3, [pc, #88] ; (804c0f4 ) 804c09c: 881b ldrh r3, [r3, #0] 804c09e: b29a uxth r2, r3 804c0a0: 4b15 ldr r3, [pc, #84] ; (804c0f8 ) 804c0a2: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 804c0a4: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804c0a8: 021b lsls r3, r3, #8 804c0aa: b29a uxth r2, r3 804c0ac: 4b12 ldr r3, [pc, #72] ; (804c0f8 ) 804c0ae: 881b ldrh r3, [r3, #0] 804c0b0: b29b uxth r3, r3 804c0b2: 4413 add r3, r2 804c0b4: b29a uxth r2, r3 804c0b6: 4b11 ldr r3, [pc, #68] ; (804c0fc ) 804c0b8: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 804c0ba: 4b11 ldr r3, [pc, #68] ; (804c100 ) 804c0bc: 881b ldrh r3, [r3, #0] 804c0be: b29b uxth r3, r3 804c0c0: 461a mov r2, r3 804c0c2: 4b0d ldr r3, [pc, #52] ; (804c0f8 ) 804c0c4: 881b ldrh r3, [r3, #0] 804c0c6: b29b uxth r3, r3 804c0c8: 1ad2 subs r2, r2, r3 804c0ca: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804c0ce: fb92 f3f3 sdiv r3, r2, r3 804c0d2: 461a mov r2, r3 804c0d4: 4b06 ldr r3, [pc, #24] ; (804c0f0 ) 804c0d6: 601a str r2, [r3, #0] } } AUTOZOOM = true; 804c0d8: 4b0a ldr r3, [pc, #40] ; (804c104 ) 804c0da: 2201 movs r2, #1 804c0dc: 701a strb r2, [r3, #0] } break; 804c0de: e366 b.n 804c7ae 804c0e0: 20020f74 .word 0x20020f74 804c0e4: 20023e60 .word 0x20023e60 804c0e8: 080ee7f0 .word 0x080ee7f0 804c0ec: 20025d16 .word 0x20025d16 804c0f0: 2002006c .word 0x2002006c 804c0f4: 20025d1e .word 0x20025d1e 804c0f8: 20025d1a .word 0x20025d1a 804c0fc: 20025d20 .word 0x20025d20 804c100: 20025d1c .word 0x20025d1c 804c104: 2002098c .word 0x2002098c case ZoomOut: lvl_0 = 0; 804c108: 2300 movs r3, #0 804c10a: f8c7 30a0 str.w r3, [r7, #160] ; 0xa0 MaxLevel = 4; 804c10e: 2304 movs r3, #4 804c110: f8a7 3092 strh.w r3, [r7, #146] ; 0x92 dXold = Avg[1][5 * ViewLevel + pardata.LNE]; 804c114: 4ba5 ldr r3, [pc, #660] ; (804c3ac ) 804c116: 781b ldrb r3, [r3, #0] 804c118: b2db uxtb r3, r3 804c11a: 461a mov r2, r3 804c11c: 4613 mov r3, r2 804c11e: 009b lsls r3, r3, #2 804c120: 4413 add r3, r2 804c122: 4aa3 ldr r2, [pc, #652] ; (804c3b0 ) 804c124: 79d2 ldrb r2, [r2, #7] 804c126: b2d2 uxtb r2, r2 804c128: 4413 add r3, r2 804c12a: 4aa2 ldr r2, [pc, #648] ; (804c3b4 ) 804c12c: 3323 adds r3, #35 ; 0x23 804c12e: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804c132: f8a7 3090 strh.w r3, [r7, #144] ; 0x90 if(ViewLevel) 804c136: 4b9d ldr r3, [pc, #628] ; (804c3ac ) 804c138: 781b ldrb r3, [r3, #0] 804c13a: b2db uxtb r3, r3 804c13c: 2b00 cmp r3, #0 804c13e: f000 8339 beq.w 804c7b4 { ViewLevel--; 804c142: 4b9a ldr r3, [pc, #616] ; (804c3ac ) 804c144: 781b ldrb r3, [r3, #0] 804c146: b2db uxtb r3, r3 804c148: 3b01 subs r3, #1 804c14a: b2da uxtb r2, r3 804c14c: 4b97 ldr r3, [pc, #604] ; (804c3ac ) 804c14e: 701a strb r2, [r3, #0] dX = Avg[1][5 * ViewLevel + pardata.LNE]; 804c150: 4b96 ldr r3, [pc, #600] ; (804c3ac ) 804c152: 781b ldrb r3, [r3, #0] 804c154: b2db uxtb r3, r3 804c156: 461a mov r2, r3 804c158: 4613 mov r3, r2 804c15a: 009b lsls r3, r3, #2 804c15c: 4413 add r3, r2 804c15e: 4a94 ldr r2, [pc, #592] ; (804c3b0 ) 804c160: 79d2 ldrb r2, [r2, #7] 804c162: b2d2 uxtb r2, r2 804c164: 4413 add r3, r2 804c166: 4a93 ldr r2, [pc, #588] ; (804c3b4 ) 804c168: 3323 adds r3, #35 ; 0x23 804c16a: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804c16e: f8a7 3094 strh.w r3, [r7, #148] ; 0x94 if(ViewLevel == 0) 804c172: 4b8e ldr r3, [pc, #568] ; (804c3ac ) 804c174: 781b ldrb r3, [r3, #0] 804c176: b2db uxtb r3, r3 804c178: 2b00 cmp r3, #0 804c17a: d130 bne.n 804c1de { X0 = lX = 0; 804c17c: 2100 movs r1, #0 804c17e: 4b8e ldr r3, [pc, #568] ; (804c3b8 ) 804c180: 460a mov r2, r1 804c182: 801a strh r2, [r3, #0] 804c184: 4b8d ldr r3, [pc, #564] ; (804c3bc ) 804c186: 460a mov r2, r1 804c188: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 804c18a: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804c18e: 021b lsls r3, r3, #8 804c190: b29a uxth r2, r3 804c192: 4b89 ldr r3, [pc, #548] ; (804c3b8 ) 804c194: 881b ldrh r3, [r3, #0] 804c196: b29b uxth r3, r3 804c198: 4413 add r3, r2 804c19a: b29a uxth r2, r3 804c19c: 4b88 ldr r3, [pc, #544] ; (804c3c0 ) 804c19e: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 804c1a0: 4b88 ldr r3, [pc, #544] ; (804c3c4 ) 804c1a2: 881b ldrh r3, [r3, #0] 804c1a4: b29b uxth r3, r3 804c1a6: 461a mov r2, r3 804c1a8: 4b83 ldr r3, [pc, #524] ; (804c3b8 ) 804c1aa: 881b ldrh r3, [r3, #0] 804c1ac: b29b uxth r3, r3 804c1ae: 1ad2 subs r2, r2, r3 804c1b0: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804c1b4: fb92 f3f3 sdiv r3, r2, r3 804c1b8: 461a mov r2, r3 804c1ba: 4b83 ldr r3, [pc, #524] ; (804c3c8 ) 804c1bc: 601a str r2, [r3, #0] Mpos = X0 + CURSOR * dX; 804c1be: 4b82 ldr r3, [pc, #520] ; (804c3c8 ) 804c1c0: 681b ldr r3, [r3, #0] 804c1c2: b29b uxth r3, r3 804c1c4: f8b7 2094 ldrh.w r2, [r7, #148] ; 0x94 804c1c8: fb12 f303 smulbb r3, r2, r3 804c1cc: b29a uxth r2, r3 804c1ce: 4b7b ldr r3, [pc, #492] ; (804c3bc ) 804c1d0: 881b ldrh r3, [r3, #0] 804c1d2: b29b uxth r3, r3 804c1d4: 4413 add r3, r2 804c1d6: b29a uxth r2, r3 804c1d8: 4b7c ldr r3, [pc, #496] ; (804c3cc ) 804c1da: 801a strh r2, [r3, #0] 804c1dc: e090 b.n 804c300 } else { if(CURSOR * dX > Mpos) 804c1de: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804c1e2: 4a79 ldr r2, [pc, #484] ; (804c3c8 ) 804c1e4: 6812 ldr r2, [r2, #0] 804c1e6: fb02 f303 mul.w r3, r2, r3 804c1ea: 4a78 ldr r2, [pc, #480] ; (804c3cc ) 804c1ec: 8812 ldrh r2, [r2, #0] 804c1ee: b292 uxth r2, r2 804c1f0: 4293 cmp r3, r2 804c1f2: d91f bls.n 804c234 { while(CURSOR * dX > Mpos) 804c1f4: e004 b.n 804c200 CURSOR--; 804c1f6: 4b74 ldr r3, [pc, #464] ; (804c3c8 ) 804c1f8: 681b ldr r3, [r3, #0] 804c1fa: 3b01 subs r3, #1 804c1fc: 4a72 ldr r2, [pc, #456] ; (804c3c8 ) 804c1fe: 6013 str r3, [r2, #0] while(CURSOR * dX > Mpos) 804c200: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804c204: 4a70 ldr r2, [pc, #448] ; (804c3c8 ) 804c206: 6812 ldr r2, [r2, #0] 804c208: fb02 f303 mul.w r3, r2, r3 804c20c: 4a6f ldr r2, [pc, #444] ; (804c3cc ) 804c20e: 8812 ldrh r2, [r2, #0] 804c210: b292 uxth r2, r2 804c212: 4293 cmp r3, r2 804c214: d8ef bhi.n 804c1f6 Mpos = X0 + CURSOR * dX; 804c216: 4b6c ldr r3, [pc, #432] ; (804c3c8 ) 804c218: 681b ldr r3, [r3, #0] 804c21a: b29b uxth r3, r3 804c21c: f8b7 2094 ldrh.w r2, [r7, #148] ; 0x94 804c220: fb12 f303 smulbb r3, r2, r3 804c224: b29a uxth r2, r3 804c226: 4b65 ldr r3, [pc, #404] ; (804c3bc ) 804c228: 881b ldrh r3, [r3, #0] 804c22a: b29b uxth r3, r3 804c22c: 4413 add r3, r2 804c22e: b29a uxth r2, r3 804c230: 4b66 ldr r3, [pc, #408] ; (804c3cc ) 804c232: 801a strh r2, [r3, #0] } i = Mpos - CURSOR * dX; 804c234: 4b65 ldr r3, [pc, #404] ; (804c3cc ) 804c236: 881b ldrh r3, [r3, #0] 804c238: b29b uxth r3, r3 804c23a: 4619 mov r1, r3 804c23c: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804c240: 4a61 ldr r2, [pc, #388] ; (804c3c8 ) 804c242: 6812 ldr r2, [r2, #0] 804c244: fb02 f303 mul.w r3, r2, r3 804c248: 1acb subs r3, r1, r3 804c24a: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 j = 256 * dX; 804c24e: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804c252: 021b lsls r3, r3, #8 804c254: f8c7 3098 str.w r3, [r7, #152] ; 0x98 k = 256 * Avg[1][5 * lvl_0 + pardata.LNE]; // 3200 804c258: f8d7 20a0 ldr.w r2, [r7, #160] ; 0xa0 804c25c: 4613 mov r3, r2 804c25e: 009b lsls r3, r3, #2 804c260: 4413 add r3, r2 804c262: 4a53 ldr r2, [pc, #332] ; (804c3b0 ) 804c264: 79d2 ldrb r2, [r2, #7] 804c266: b2d2 uxtb r2, r2 804c268: 4413 add r3, r2 804c26a: 4a52 ldr r2, [pc, #328] ; (804c3b4 ) 804c26c: 3323 adds r3, #35 ; 0x23 804c26e: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804c272: 021b lsls r3, r3, #8 804c274: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 while(i + j > k) { 804c278: e006 b.n 804c288 i -= dXold; 804c27a: f8b7 3090 ldrh.w r3, [r7, #144] ; 0x90 804c27e: f8d7 20c0 ldr.w r2, [r7, #192] ; 0xc0 804c282: 1ad3 subs r3, r2, r3 804c284: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 while(i + j > k) { 804c288: f8d7 20c0 ldr.w r2, [r7, #192] ; 0xc0 804c28c: f8d7 3098 ldr.w r3, [r7, #152] ; 0x98 804c290: 441a add r2, r3 804c292: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804c296: 429a cmp r2, r3 804c298: d8ef bhi.n 804c27a } X0 = (uint16_t) i; 804c29a: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 804c29e: b29a uxth r2, r3 804c2a0: 4b46 ldr r3, [pc, #280] ; (804c3bc ) 804c2a2: 801a strh r2, [r3, #0] lX = X0; 804c2a4: 4b45 ldr r3, [pc, #276] ; (804c3bc ) 804c2a6: 881b ldrh r3, [r3, #0] 804c2a8: b29a uxth r2, r3 804c2aa: 4b43 ldr r3, [pc, #268] ; (804c3b8 ) 804c2ac: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 804c2ae: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804c2b2: 021b lsls r3, r3, #8 804c2b4: b29a uxth r2, r3 804c2b6: 4b40 ldr r3, [pc, #256] ; (804c3b8 ) 804c2b8: 881b ldrh r3, [r3, #0] 804c2ba: b29b uxth r3, r3 804c2bc: 4413 add r3, r2 804c2be: b29a uxth r2, r3 804c2c0: 4b3f ldr r3, [pc, #252] ; (804c3c0 ) 804c2c2: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 804c2c4: 4b3f ldr r3, [pc, #252] ; (804c3c4 ) 804c2c6: 881b ldrh r3, [r3, #0] 804c2c8: b29b uxth r3, r3 804c2ca: 461a mov r2, r3 804c2cc: 4b3a ldr r3, [pc, #232] ; (804c3b8 ) 804c2ce: 881b ldrh r3, [r3, #0] 804c2d0: b29b uxth r3, r3 804c2d2: 1ad2 subs r2, r2, r3 804c2d4: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804c2d8: fb92 f3f3 sdiv r3, r2, r3 804c2dc: 461a mov r2, r3 804c2de: 4b3a ldr r3, [pc, #232] ; (804c3c8 ) 804c2e0: 601a str r2, [r3, #0] Mpos = X0 + CURSOR * dX; 804c2e2: 4b39 ldr r3, [pc, #228] ; (804c3c8 ) 804c2e4: 681b ldr r3, [r3, #0] 804c2e6: b29b uxth r3, r3 804c2e8: f8b7 2094 ldrh.w r2, [r7, #148] ; 0x94 804c2ec: fb12 f303 smulbb r3, r2, r3 804c2f0: b29a uxth r2, r3 804c2f2: 4b32 ldr r3, [pc, #200] ; (804c3bc ) 804c2f4: 881b ldrh r3, [r3, #0] 804c2f6: b29b uxth r3, r3 804c2f8: 4413 add r3, r2 804c2fa: b29a uxth r2, r3 804c2fc: 4b33 ldr r3, [pc, #204] ; (804c3cc ) 804c2fe: 801a strh r2, [r3, #0] } AUTOZOOM = true; 804c300: 4b33 ldr r3, [pc, #204] ; (804c3d0 ) 804c302: 2201 movs r2, #1 804c304: 701a strb r2, [r3, #0] } break; 804c306: e255 b.n 804c7b4 case Cursor: AUTOZOOM = true; 804c308: 4b31 ldr r3, [pc, #196] ; (804c3d0 ) 804c30a: 2201 movs r2, #1 804c30c: 701a strb r2, [r3, #0] break; 804c30e: e255 b.n 804c7bc case SaveSpec: if(CardState == MSD_READY) 804c310: 4b30 ldr r3, [pc, #192] ; (804c3d4 ) 804c312: 781b ldrb r3, [r3, #0] 804c314: b2db uxtb r3, r3 804c316: 2b03 cmp r3, #3 804c318: f040 8221 bne.w 804c75e { if(!measuring) 804c31c: 4b2e ldr r3, [pc, #184] ; (804c3d8 ) 804c31e: 781b ldrb r3, [r3, #0] 804c320: b2db uxtb r3, r3 804c322: f083 0301 eor.w r3, r3, #1 804c326: b2db uxtb r3, r3 804c328: 2b00 cmp r3, #0 804c32a: f000 8246 beq.w 804c7ba { HAL_RTC_GetTime(&hrtc, &RTC_TimeStruct, RTC_FORMAT_BIN); 804c32e: 2200 movs r2, #0 804c330: 492a ldr r1, [pc, #168] ; (804c3dc ) 804c332: 482b ldr r0, [pc, #172] ; (804c3e0 ) 804c334: f06c fc58 bl 80b8be8 HAL_RTC_GetDate(&hrtc, &RTC_DateStruct, RTC_FORMAT_BIN); 804c338: 2200 movs r2, #0 804c33a: 492a ldr r1, [pc, #168] ; (804c3e4 ) 804c33c: 4828 ldr r0, [pc, #160] ; (804c3e0 ) 804c33e: f06c fd59 bl 80b8df4 Day = RTC_DateStruct.Date; 804c342: 4b28 ldr r3, [pc, #160] ; (804c3e4 ) 804c344: 789b ldrb r3, [r3, #2] 804c346: f8c7 308c str.w r3, [r7, #140] ; 0x8c Month = RTC_DateStruct.Month; 804c34a: 4b26 ldr r3, [pc, #152] ; (804c3e4 ) 804c34c: 785b ldrb r3, [r3, #1] 804c34e: f8c7 3088 str.w r3, [r7, #136] ; 0x88 Year = RTC_DateStruct.Year + 2000; 804c352: 4b24 ldr r3, [pc, #144] ; (804c3e4 ) 804c354: 78db ldrb r3, [r3, #3] 804c356: f503 63fa add.w r3, r3, #2000 ; 0x7d0 804c35a: f8c7 3084 str.w r3, [r7, #132] ; 0x84 Hour = RTC_TimeStruct.Hours; 804c35e: 4b1f ldr r3, [pc, #124] ; (804c3dc ) 804c360: 781b ldrb r3, [r3, #0] 804c362: f8c7 3080 str.w r3, [r7, #128] ; 0x80 Min = RTC_TimeStruct.Minutes; 804c366: 4b1d ldr r3, [pc, #116] ; (804c3dc ) 804c368: 785b ldrb r3, [r3, #1] 804c36a: 67fb str r3, [r7, #124] ; 0x7c Sec = RTC_TimeStruct.Seconds; 804c36c: 4b1b ldr r3, [pc, #108] ; (804c3dc ) 804c36e: 789b ldrb r3, [r3, #2] 804c370: 67bb str r3, [r7, #120] ; 0x78 memset(TEMP_MeasFileName, 0, sizeof(TEMP_MeasFileName)); 804c372: 2221 movs r2, #33 ; 0x21 804c374: 2100 movs r1, #0 804c376: 481c ldr r0, [pc, #112] ; (804c3e8 ) 804c378: f080 fe66 bl 80cd048 strcpy(TEMP_MeasFileName,"FFT_"); 804c37c: 4b1a ldr r3, [pc, #104] ; (804c3e8 ) 804c37e: 4a1b ldr r2, [pc, #108] ; (804c3ec ) 804c380: 6810 ldr r0, [r2, #0] 804c382: 6018 str r0, [r3, #0] 804c384: 7912 ldrb r2, [r2, #4] 804c386: 711a strb r2, [r3, #4] if(pardata.IPR == ACC) strcat(TEMP_MeasFileName, "A"); 804c388: 4b09 ldr r3, [pc, #36] ; (804c3b0 ) 804c38a: 785b ldrb r3, [r3, #1] 804c38c: b2db uxtb r3, r3 804c38e: 2b00 cmp r3, #0 804c390: d130 bne.n 804c3f4 804c392: 4815 ldr r0, [pc, #84] ; (804c3e8 ) 804c394: f7d3 ffbe bl 8020314 804c398: 4603 mov r3, r0 804c39a: 461a mov r2, r3 804c39c: 4b12 ldr r3, [pc, #72] ; (804c3e8 ) 804c39e: 4413 add r3, r2 804c3a0: 4913 ldr r1, [pc, #76] ; (804c3f0 ) 804c3a2: 461a mov r2, r3 804c3a4: 460b mov r3, r1 804c3a6: 881b ldrh r3, [r3, #0] 804c3a8: 8013 strh r3, [r2, #0] 804c3aa: e046 b.n 804c43a 804c3ac: 20020f74 .word 0x20020f74 804c3b0: 20023e60 .word 0x20023e60 804c3b4: 080ee7f0 .word 0x080ee7f0 804c3b8: 20025d1a .word 0x20025d1a 804c3bc: 20025d1e .word 0x20025d1e 804c3c0: 20025d20 .word 0x20025d20 804c3c4: 20025d1c .word 0x20025d1c 804c3c8: 2002006c .word 0x2002006c 804c3cc: 20025d16 .word 0x20025d16 804c3d0: 2002098c .word 0x2002098c 804c3d4: 2002164c .word 0x2002164c 804c3d8: 20020daf .word 0x20020daf 804c3dc: 20025c68 .word 0x20025c68 804c3e0: 20068598 .word 0x20068598 804c3e4: 20025cec .word 0x20025cec 804c3e8: 20025c80 .word 0x20025c80 804c3ec: 080ce62c .word 0x080ce62c 804c3f0: 080ce634 .word 0x080ce634 else if(pardata.IPR == VEL) strcat(TEMP_MeasFileName, "V"); 804c3f4: 4b28 ldr r3, [pc, #160] ; (804c498 ) 804c3f6: 785b ldrb r3, [r3, #1] 804c3f8: b2db uxtb r3, r3 804c3fa: 2b01 cmp r3, #1 804c3fc: d10c bne.n 804c418 804c3fe: 4827 ldr r0, [pc, #156] ; (804c49c ) 804c400: f7d3 ff88 bl 8020314 804c404: 4603 mov r3, r0 804c406: 461a mov r2, r3 804c408: 4b24 ldr r3, [pc, #144] ; (804c49c ) 804c40a: 4413 add r3, r2 804c40c: 4924 ldr r1, [pc, #144] ; (804c4a0 ) 804c40e: 461a mov r2, r3 804c410: 460b mov r3, r1 804c412: 881b ldrh r3, [r3, #0] 804c414: 8013 strh r3, [r2, #0] 804c416: e010 b.n 804c43a else if(pardata.IPR == DIS) strcat(TEMP_MeasFileName, "S"); 804c418: 4b1f ldr r3, [pc, #124] ; (804c498 ) 804c41a: 785b ldrb r3, [r3, #1] 804c41c: b2db uxtb r3, r3 804c41e: 2b02 cmp r3, #2 804c420: d10b bne.n 804c43a 804c422: 481e ldr r0, [pc, #120] ; (804c49c ) 804c424: f7d3 ff76 bl 8020314 804c428: 4603 mov r3, r0 804c42a: 461a mov r2, r3 804c42c: 4b1b ldr r3, [pc, #108] ; (804c49c ) 804c42e: 4413 add r3, r2 804c430: 491c ldr r1, [pc, #112] ; (804c4a4 ) 804c432: 461a mov r2, r3 804c434: 460b mov r3, r1 804c436: 881b ldrh r3, [r3, #0] 804c438: 8013 strh r3, [r2, #0] if(pardata.IVS[pardata.IPR] == PEAK) strcat(TEMP_MeasFileName, "_PK_"); 804c43a: 4b17 ldr r3, [pc, #92] ; (804c498 ) 804c43c: 785b ldrb r3, [r3, #1] 804c43e: b2db uxtb r3, r3 804c440: 461a mov r2, r3 804c442: 4b15 ldr r3, [pc, #84] ; (804c498 ) 804c444: 4413 add r3, r2 804c446: 789b ldrb r3, [r3, #2] 804c448: b2db uxtb r3, r3 804c44a: 2b00 cmp r3, #0 804c44c: d10c bne.n 804c468 804c44e: 4813 ldr r0, [pc, #76] ; (804c49c ) 804c450: f7d3 ff60 bl 8020314 804c454: 4603 mov r3, r0 804c456: 461a mov r2, r3 804c458: 4b10 ldr r3, [pc, #64] ; (804c49c ) 804c45a: 4413 add r3, r2 804c45c: 4a12 ldr r2, [pc, #72] ; (804c4a8 ) 804c45e: 6810 ldr r0, [r2, #0] 804c460: 6018 str r0, [r3, #0] 804c462: 7912 ldrb r2, [r2, #4] 804c464: 711a strb r2, [r3, #4] 804c466: e03b b.n 804c4e0 else if(pardata.IVS[pardata.IPR] == RMS) strcat(TEMP_MeasFileName, "_RMS_"); 804c468: 4b0b ldr r3, [pc, #44] ; (804c498 ) 804c46a: 785b ldrb r3, [r3, #1] 804c46c: b2db uxtb r3, r3 804c46e: 461a mov r2, r3 804c470: 4b09 ldr r3, [pc, #36] ; (804c498 ) 804c472: 4413 add r3, r2 804c474: 789b ldrb r3, [r3, #2] 804c476: b2db uxtb r3, r3 804c478: 2b01 cmp r3, #1 804c47a: d119 bne.n 804c4b0 804c47c: 4807 ldr r0, [pc, #28] ; (804c49c ) 804c47e: f7d3 ff49 bl 8020314 804c482: 4603 mov r3, r0 804c484: 461a mov r2, r3 804c486: 4b05 ldr r3, [pc, #20] ; (804c49c ) 804c488: 4413 add r3, r2 804c48a: 4a08 ldr r2, [pc, #32] ; (804c4ac ) 804c48c: 6810 ldr r0, [r2, #0] 804c48e: 6018 str r0, [r3, #0] 804c490: 8892 ldrh r2, [r2, #4] 804c492: 809a strh r2, [r3, #4] 804c494: e024 b.n 804c4e0 804c496: bf00 nop 804c498: 20023e60 .word 0x20023e60 804c49c: 20025c80 .word 0x20025c80 804c4a0: 080ce638 .word 0x080ce638 804c4a4: 080ce63c .word 0x080ce63c 804c4a8: 080ce640 .word 0x080ce640 804c4ac: 080ce648 .word 0x080ce648 else if(pardata.IVS[pardata.IPR] == PEAK_TO_PEAK) strcat(TEMP_MeasFileName, "_PKPK_"); 804c4b0: 4bb0 ldr r3, [pc, #704] ; (804c774 ) 804c4b2: 785b ldrb r3, [r3, #1] 804c4b4: b2db uxtb r3, r3 804c4b6: 461a mov r2, r3 804c4b8: 4bae ldr r3, [pc, #696] ; (804c774 ) 804c4ba: 4413 add r3, r2 804c4bc: 789b ldrb r3, [r3, #2] 804c4be: b2db uxtb r3, r3 804c4c0: 2b02 cmp r3, #2 804c4c2: d10d bne.n 804c4e0 804c4c4: 48ac ldr r0, [pc, #688] ; (804c778 ) 804c4c6: f7d3 ff25 bl 8020314 804c4ca: 4603 mov r3, r0 804c4cc: 461a mov r2, r3 804c4ce: 4baa ldr r3, [pc, #680] ; (804c778 ) 804c4d0: 4413 add r3, r2 804c4d2: 4aaa ldr r2, [pc, #680] ; (804c77c ) 804c4d4: 6810 ldr r0, [r2, #0] 804c4d6: 6018 str r0, [r3, #0] 804c4d8: 8891 ldrh r1, [r2, #4] 804c4da: 7992 ldrb r2, [r2, #6] 804c4dc: 8099 strh r1, [r3, #4] 804c4de: 719a strb r2, [r3, #6] MeasFileNameLen = strlen(TEMP_MeasFileName); 804c4e0: 48a5 ldr r0, [pc, #660] ; (804c778 ) 804c4e2: f7d3 ff17 bl 8020314 804c4e6: 4602 mov r2, r0 804c4e8: 4ba5 ldr r3, [pc, #660] ; (804c780 ) 804c4ea: 601a str r2, [r3, #0] TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Year / 1000) + 48); 804c4ec: 4ba4 ldr r3, [pc, #656] ; (804c780 ) 804c4ee: 681b ldr r3, [r3, #0] 804c4f0: 1c5a adds r2, r3, #1 804c4f2: 49a3 ldr r1, [pc, #652] ; (804c780 ) 804c4f4: 600a str r2, [r1, #0] 804c4f6: f8d7 2084 ldr.w r2, [r7, #132] ; 0x84 804c4fa: 49a2 ldr r1, [pc, #648] ; (804c784 ) 804c4fc: fba1 1202 umull r1, r2, r1, r2 804c500: 0992 lsrs r2, r2, #6 804c502: b2d2 uxtb r2, r2 804c504: 3230 adds r2, #48 ; 0x30 804c506: b2d1 uxtb r1, r2 804c508: 4a9b ldr r2, [pc, #620] ; (804c778 ) 804c50a: 54d1 strb r1, [r2, r3] TEMP_MeasFileName[MeasFileNameLen++] = (char) (((Year % 1000) / 100) + 48); 804c50c: 4b9c ldr r3, [pc, #624] ; (804c780 ) 804c50e: 681a ldr r2, [r3, #0] 804c510: 1c53 adds r3, r2, #1 804c512: 499b ldr r1, [pc, #620] ; (804c780 ) 804c514: 600b str r3, [r1, #0] 804c516: f8d7 1084 ldr.w r1, [r7, #132] ; 0x84 804c51a: 4b9a ldr r3, [pc, #616] ; (804c784 ) 804c51c: fba3 0301 umull r0, r3, r3, r1 804c520: 099b lsrs r3, r3, #6 804c522: f44f 707a mov.w r0, #1000 ; 0x3e8 804c526: fb00 f303 mul.w r3, r0, r3 804c52a: 1acb subs r3, r1, r3 804c52c: 4996 ldr r1, [pc, #600] ; (804c788 ) 804c52e: fba1 1303 umull r1, r3, r1, r3 804c532: 095b lsrs r3, r3, #5 804c534: b2db uxtb r3, r3 804c536: 3330 adds r3, #48 ; 0x30 804c538: b2d9 uxtb r1, r3 804c53a: 4b8f ldr r3, [pc, #572] ; (804c778 ) 804c53c: 5499 strb r1, [r3, r2] TEMP_MeasFileName[MeasFileNameLen++] = (char) ((((Year % 1000) % 100) / 10) + 48); 804c53e: 4b90 ldr r3, [pc, #576] ; (804c780 ) 804c540: 6819 ldr r1, [r3, #0] 804c542: 1c4b adds r3, r1, #1 804c544: 4a8e ldr r2, [pc, #568] ; (804c780 ) 804c546: 6013 str r3, [r2, #0] 804c548: f8d7 2084 ldr.w r2, [r7, #132] ; 0x84 804c54c: 4b8d ldr r3, [pc, #564] ; (804c784 ) 804c54e: fba3 0302 umull r0, r3, r3, r2 804c552: 099b lsrs r3, r3, #6 804c554: f44f 707a mov.w r0, #1000 ; 0x3e8 804c558: fb00 f303 mul.w r3, r0, r3 804c55c: 1ad3 subs r3, r2, r3 804c55e: 4a8a ldr r2, [pc, #552] ; (804c788 ) 804c560: fba2 0203 umull r0, r2, r2, r3 804c564: 0952 lsrs r2, r2, #5 804c566: 2064 movs r0, #100 ; 0x64 804c568: fb00 f202 mul.w r2, r0, r2 804c56c: 1a9a subs r2, r3, r2 804c56e: 4b87 ldr r3, [pc, #540] ; (804c78c ) 804c570: fba3 2302 umull r2, r3, r3, r2 804c574: 08db lsrs r3, r3, #3 804c576: b2db uxtb r3, r3 804c578: 3330 adds r3, #48 ; 0x30 804c57a: b2da uxtb r2, r3 804c57c: 4b7e ldr r3, [pc, #504] ; (804c778 ) 804c57e: 545a strb r2, [r3, r1] TEMP_MeasFileName[MeasFileNameLen++] = (char) ((((Year % 1000) % 100) % 10) + 48); 804c580: 4b7f ldr r3, [pc, #508] ; (804c780 ) 804c582: 6818 ldr r0, [r3, #0] 804c584: 1c43 adds r3, r0, #1 804c586: 4a7e ldr r2, [pc, #504] ; (804c780 ) 804c588: 6013 str r3, [r2, #0] 804c58a: f8d7 2084 ldr.w r2, [r7, #132] ; 0x84 804c58e: 4b7d ldr r3, [pc, #500] ; (804c784 ) 804c590: fba3 1302 umull r1, r3, r3, r2 804c594: 099b lsrs r3, r3, #6 804c596: f44f 717a mov.w r1, #1000 ; 0x3e8 804c59a: fb01 f303 mul.w r3, r1, r3 804c59e: 1ad3 subs r3, r2, r3 804c5a0: 4a79 ldr r2, [pc, #484] ; (804c788 ) 804c5a2: fba2 1203 umull r1, r2, r2, r3 804c5a6: 0952 lsrs r2, r2, #5 804c5a8: 2164 movs r1, #100 ; 0x64 804c5aa: fb01 f202 mul.w r2, r1, r2 804c5ae: 1a9a subs r2, r3, r2 804c5b0: 4b76 ldr r3, [pc, #472] ; (804c78c ) 804c5b2: fba3 1302 umull r1, r3, r3, r2 804c5b6: 08d9 lsrs r1, r3, #3 804c5b8: 460b mov r3, r1 804c5ba: 009b lsls r3, r3, #2 804c5bc: 440b add r3, r1 804c5be: 005b lsls r3, r3, #1 804c5c0: 1ad1 subs r1, r2, r3 804c5c2: b2cb uxtb r3, r1 804c5c4: 3330 adds r3, #48 ; 0x30 804c5c6: b2da uxtb r2, r3 804c5c8: 4b6b ldr r3, [pc, #428] ; (804c778 ) 804c5ca: 541a strb r2, [r3, r0] //fn[l++] = '_'; TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Month / 10) + 48); 804c5cc: 4b6c ldr r3, [pc, #432] ; (804c780 ) 804c5ce: 681b ldr r3, [r3, #0] 804c5d0: 1c5a adds r2, r3, #1 804c5d2: 496b ldr r1, [pc, #428] ; (804c780 ) 804c5d4: 600a str r2, [r1, #0] 804c5d6: f8d7 2088 ldr.w r2, [r7, #136] ; 0x88 804c5da: 496c ldr r1, [pc, #432] ; (804c78c ) 804c5dc: fba1 1202 umull r1, r2, r1, r2 804c5e0: 08d2 lsrs r2, r2, #3 804c5e2: b2d2 uxtb r2, r2 804c5e4: 3230 adds r2, #48 ; 0x30 804c5e6: b2d1 uxtb r1, r2 804c5e8: 4a63 ldr r2, [pc, #396] ; (804c778 ) 804c5ea: 54d1 strb r1, [r2, r3] TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Month % 10) + 48); 804c5ec: 4b64 ldr r3, [pc, #400] ; (804c780 ) 804c5ee: 6819 ldr r1, [r3, #0] 804c5f0: 1c4b adds r3, r1, #1 804c5f2: 4a63 ldr r2, [pc, #396] ; (804c780 ) 804c5f4: 6013 str r3, [r2, #0] 804c5f6: f8d7 0088 ldr.w r0, [r7, #136] ; 0x88 804c5fa: 4b64 ldr r3, [pc, #400] ; (804c78c ) 804c5fc: fba3 2300 umull r2, r3, r3, r0 804c600: 08da lsrs r2, r3, #3 804c602: 4613 mov r3, r2 804c604: 009b lsls r3, r3, #2 804c606: 4413 add r3, r2 804c608: 005b lsls r3, r3, #1 804c60a: 1ac2 subs r2, r0, r3 804c60c: b2d3 uxtb r3, r2 804c60e: 3330 adds r3, #48 ; 0x30 804c610: b2da uxtb r2, r3 804c612: 4b59 ldr r3, [pc, #356] ; (804c778 ) 804c614: 545a strb r2, [r3, r1] //fn[l++] = '_'; TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Day / 10) + 48); 804c616: 4b5a ldr r3, [pc, #360] ; (804c780 ) 804c618: 681b ldr r3, [r3, #0] 804c61a: 1c5a adds r2, r3, #1 804c61c: 4958 ldr r1, [pc, #352] ; (804c780 ) 804c61e: 600a str r2, [r1, #0] 804c620: f8d7 208c ldr.w r2, [r7, #140] ; 0x8c 804c624: 4959 ldr r1, [pc, #356] ; (804c78c ) 804c626: fba1 1202 umull r1, r2, r1, r2 804c62a: 08d2 lsrs r2, r2, #3 804c62c: b2d2 uxtb r2, r2 804c62e: 3230 adds r2, #48 ; 0x30 804c630: b2d1 uxtb r1, r2 804c632: 4a51 ldr r2, [pc, #324] ; (804c778 ) 804c634: 54d1 strb r1, [r2, r3] TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Day % 10) + 48); 804c636: 4b52 ldr r3, [pc, #328] ; (804c780 ) 804c638: 6819 ldr r1, [r3, #0] 804c63a: 1c4b adds r3, r1, #1 804c63c: 4a50 ldr r2, [pc, #320] ; (804c780 ) 804c63e: 6013 str r3, [r2, #0] 804c640: f8d7 008c ldr.w r0, [r7, #140] ; 0x8c 804c644: 4b51 ldr r3, [pc, #324] ; (804c78c ) 804c646: fba3 2300 umull r2, r3, r3, r0 804c64a: 08da lsrs r2, r3, #3 804c64c: 4613 mov r3, r2 804c64e: 009b lsls r3, r3, #2 804c650: 4413 add r3, r2 804c652: 005b lsls r3, r3, #1 804c654: 1ac2 subs r2, r0, r3 804c656: b2d3 uxtb r3, r2 804c658: 3330 adds r3, #48 ; 0x30 804c65a: b2da uxtb r2, r3 804c65c: 4b46 ldr r3, [pc, #280] ; (804c778 ) 804c65e: 545a strb r2, [r3, r1] TEMP_MeasFileName[MeasFileNameLen++] = '_'; 804c660: 4b47 ldr r3, [pc, #284] ; (804c780 ) 804c662: 681b ldr r3, [r3, #0] 804c664: 1c5a adds r2, r3, #1 804c666: 4946 ldr r1, [pc, #280] ; (804c780 ) 804c668: 600a str r2, [r1, #0] 804c66a: 4a43 ldr r2, [pc, #268] ; (804c778 ) 804c66c: 215f movs r1, #95 ; 0x5f 804c66e: 54d1 strb r1, [r2, r3] TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Hour / 10) + 48); 804c670: 4b43 ldr r3, [pc, #268] ; (804c780 ) 804c672: 681b ldr r3, [r3, #0] 804c674: 1c5a adds r2, r3, #1 804c676: 4942 ldr r1, [pc, #264] ; (804c780 ) 804c678: 600a str r2, [r1, #0] 804c67a: f8d7 2080 ldr.w r2, [r7, #128] ; 0x80 804c67e: 4943 ldr r1, [pc, #268] ; (804c78c ) 804c680: fba1 1202 umull r1, r2, r1, r2 804c684: 08d2 lsrs r2, r2, #3 804c686: b2d2 uxtb r2, r2 804c688: 3230 adds r2, #48 ; 0x30 804c68a: b2d1 uxtb r1, r2 804c68c: 4a3a ldr r2, [pc, #232] ; (804c778 ) 804c68e: 54d1 strb r1, [r2, r3] TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Hour % 10) + 48); 804c690: 4b3b ldr r3, [pc, #236] ; (804c780 ) 804c692: 6819 ldr r1, [r3, #0] 804c694: 1c4b adds r3, r1, #1 804c696: 4a3a ldr r2, [pc, #232] ; (804c780 ) 804c698: 6013 str r3, [r2, #0] 804c69a: f8d7 0080 ldr.w r0, [r7, #128] ; 0x80 804c69e: 4b3b ldr r3, [pc, #236] ; (804c78c ) 804c6a0: fba3 2300 umull r2, r3, r3, r0 804c6a4: 08da lsrs r2, r3, #3 804c6a6: 4613 mov r3, r2 804c6a8: 009b lsls r3, r3, #2 804c6aa: 4413 add r3, r2 804c6ac: 005b lsls r3, r3, #1 804c6ae: 1ac2 subs r2, r0, r3 804c6b0: b2d3 uxtb r3, r2 804c6b2: 3330 adds r3, #48 ; 0x30 804c6b4: b2da uxtb r2, r3 804c6b6: 4b30 ldr r3, [pc, #192] ; (804c778 ) 804c6b8: 545a strb r2, [r3, r1] //fn[l++] = '_'; TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Min / 10) + 48); 804c6ba: 4b31 ldr r3, [pc, #196] ; (804c780 ) 804c6bc: 681b ldr r3, [r3, #0] 804c6be: 1c5a adds r2, r3, #1 804c6c0: 492f ldr r1, [pc, #188] ; (804c780 ) 804c6c2: 600a str r2, [r1, #0] 804c6c4: 6ffa ldr r2, [r7, #124] ; 0x7c 804c6c6: 4931 ldr r1, [pc, #196] ; (804c78c ) 804c6c8: fba1 1202 umull r1, r2, r1, r2 804c6cc: 08d2 lsrs r2, r2, #3 804c6ce: b2d2 uxtb r2, r2 804c6d0: 3230 adds r2, #48 ; 0x30 804c6d2: b2d1 uxtb r1, r2 804c6d4: 4a28 ldr r2, [pc, #160] ; (804c778 ) 804c6d6: 54d1 strb r1, [r2, r3] TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Min % 10) + 48); 804c6d8: 4b29 ldr r3, [pc, #164] ; (804c780 ) 804c6da: 6819 ldr r1, [r3, #0] 804c6dc: 1c4b adds r3, r1, #1 804c6de: 4a28 ldr r2, [pc, #160] ; (804c780 ) 804c6e0: 6013 str r3, [r2, #0] 804c6e2: 6ff8 ldr r0, [r7, #124] ; 0x7c 804c6e4: 4b29 ldr r3, [pc, #164] ; (804c78c ) 804c6e6: fba3 2300 umull r2, r3, r3, r0 804c6ea: 08da lsrs r2, r3, #3 804c6ec: 4613 mov r3, r2 804c6ee: 009b lsls r3, r3, #2 804c6f0: 4413 add r3, r2 804c6f2: 005b lsls r3, r3, #1 804c6f4: 1ac2 subs r2, r0, r3 804c6f6: b2d3 uxtb r3, r2 804c6f8: 3330 adds r3, #48 ; 0x30 804c6fa: b2da uxtb r2, r3 804c6fc: 4b1e ldr r3, [pc, #120] ; (804c778 ) 804c6fe: 545a strb r2, [r3, r1] //fn[l++] = '_'; TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Sec / 10) + 48); 804c700: 4b1f ldr r3, [pc, #124] ; (804c780 ) 804c702: 681b ldr r3, [r3, #0] 804c704: 1c5a adds r2, r3, #1 804c706: 491e ldr r1, [pc, #120] ; (804c780 ) 804c708: 600a str r2, [r1, #0] 804c70a: 6fba ldr r2, [r7, #120] ; 0x78 804c70c: 491f ldr r1, [pc, #124] ; (804c78c ) 804c70e: fba1 1202 umull r1, r2, r1, r2 804c712: 08d2 lsrs r2, r2, #3 804c714: b2d2 uxtb r2, r2 804c716: 3230 adds r2, #48 ; 0x30 804c718: b2d1 uxtb r1, r2 804c71a: 4a17 ldr r2, [pc, #92] ; (804c778 ) 804c71c: 54d1 strb r1, [r2, r3] TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Sec % 10) + 48); 804c71e: 4b18 ldr r3, [pc, #96] ; (804c780 ) 804c720: 6819 ldr r1, [r3, #0] 804c722: 1c4b adds r3, r1, #1 804c724: 4a16 ldr r2, [pc, #88] ; (804c780 ) 804c726: 6013 str r3, [r2, #0] 804c728: 6fb8 ldr r0, [r7, #120] ; 0x78 804c72a: 4b18 ldr r3, [pc, #96] ; (804c78c ) 804c72c: fba3 2300 umull r2, r3, r3, r0 804c730: 08da lsrs r2, r3, #3 804c732: 4613 mov r3, r2 804c734: 009b lsls r3, r3, #2 804c736: 4413 add r3, r2 804c738: 005b lsls r3, r3, #1 804c73a: 1ac2 subs r2, r0, r3 804c73c: b2d3 uxtb r3, r2 804c73e: 3330 adds r3, #48 ; 0x30 804c740: b2da uxtb r2, r3 804c742: 4b0d ldr r3, [pc, #52] ; (804c778 ) 804c744: 545a strb r2, [r3, r1] lastmenu = menu; 804c746: 4b12 ldr r3, [pc, #72] ; (804c790 ) 804c748: 781b ldrb r3, [r3, #0] 804c74a: b2da uxtb r2, r3 804c74c: 4b11 ldr r3, [pc, #68] ; (804c794 ) 804c74e: 701a strb r2, [r3, #0] menu = INPUT_NAME_SPEC; 804c750: 4b0f ldr r3, [pc, #60] ; (804c790 ) 804c752: 222f movs r2, #47 ; 0x2f 804c754: 701a strb r2, [r3, #0] menupos = _ENTER; 804c756: 4b10 ldr r3, [pc, #64] ; (804c798 ) 804c758: 2226 movs r2, #38 ; 0x26 804c75a: 701a strb r2, [r3, #0] { STATUS = AP_NO_CARD; timerStatus = sec2; DrawStatus = true; } break; 804c75c: e02d b.n 804c7ba STATUS = AP_NO_CARD; 804c75e: 4b0f ldr r3, [pc, #60] ; (804c79c ) 804c760: 2211 movs r2, #17 804c762: 601a str r2, [r3, #0] timerStatus = sec2; 804c764: 4b0e ldr r3, [pc, #56] ; (804c7a0 ) 804c766: f44f 5280 mov.w r2, #4096 ; 0x1000 804c76a: 801a strh r2, [r3, #0] DrawStatus = true; 804c76c: 4b0d ldr r3, [pc, #52] ; (804c7a4 ) 804c76e: 2201 movs r2, #1 804c770: 701a strb r2, [r3, #0] break; 804c772: e022 b.n 804c7ba 804c774: 20023e60 .word 0x20023e60 804c778: 20025c80 .word 0x20025c80 804c77c: 080ce650 .word 0x080ce650 804c780: 20020eec .word 0x20020eec 804c784: 10624dd3 .word 0x10624dd3 804c788: 51eb851f .word 0x51eb851f 804c78c: cccccccd .word 0xcccccccd 804c790: 20020f78 .word 0x20020f78 804c794: 20020f79 .word 0x20020f79 804c798: 20020070 .word 0x20020070 804c79c: 20020dcc .word 0x20020dcc 804c7a0: 2002168c .word 0x2002168c 804c7a4: 20020dd2 .word 0x20020dd2 break; 804c7a8: bf00 nop 804c7aa: f006 ba8b b.w 8052cc4 break; 804c7ae: bf00 nop 804c7b0: f006 ba88 b.w 8052cc4 break; 804c7b4: bf00 nop 804c7b6: f006 ba85 b.w 8052cc4 break; 804c7ba: bf00 nop } break; 804c7bc: f006 ba82 b.w 8052cc4 case MAIN_SPEC_OGIB: switch(menupos) 804c7c0: 4b82 ldr r3, [pc, #520] ; (804c9cc ) 804c7c2: 781b ldrb r3, [r3, #0] 804c7c4: b2db uxtb r3, r3 804c7c6: 2b09 cmp r3, #9 804c7c8: f206 827e bhi.w 8052cc8 804c7cc: a201 add r2, pc, #4 ; (adr r2, 804c7d4 ) 804c7ce: f852 f023 ldr.w pc, [r2, r3, lsl #2] 804c7d2: bf00 nop 804c7d4: 0804c811 .word 0x0804c811 804c7d8: 0804c7fd .word 0x0804c7fd 804c7dc: 0804c851 .word 0x0804c851 804c7e0: 0804ca09 .word 0x0804ca09 804c7e4: 0804cc3d .word 0x0804cc3d 804c7e8: 0804c8fd .word 0x0804c8fd 804c7ec: 0804ce3d .word 0x0804ce3d 804c7f0: 08052cc9 .word 0x08052cc9 804c7f4: 08052cc9 .word 0x08052cc9 804c7f8: 0804ce45 .word 0x0804ce45 { case BackMenu: StopMeas(); 804c7fc: f7d6 ffce bl 802379c menu = PARAM_SPEC; 804c800: 4b73 ldr r3, [pc, #460] ; (804c9d0 ) 804c802: 2207 movs r2, #7 804c804: 701a strb r2, [r3, #0] menupos = Ok; 804c806: 4b71 ldr r3, [pc, #452] ; (804c9cc ) 804c808: 2200 movs r2, #0 804c80a: 701a strb r2, [r3, #0] break; 804c80c: f000 bd70 b.w 804d2f0 case StartStop: if(!measuring) 804c810: 4b70 ldr r3, [pc, #448] ; (804c9d4 ) 804c812: 781b ldrb r3, [r3, #0] 804c814: b2db uxtb r3, r3 804c816: f083 0301 eor.w r3, r3, #1 804c81a: b2db uxtb r3, r3 804c81c: 2b00 cmp r3, #0 804c81e: d00b beq.n 804c838 { AUTOZOOM = true; 804c820: 4b6d ldr r3, [pc, #436] ; (804c9d8 ) 804c822: 2201 movs r2, #1 804c824: 701a strb r2, [r3, #0] FIRST = true; 804c826: 4b6d ldr r3, [pc, #436] ; (804c9dc ) 804c828: 2201 movs r2, #1 804c82a: 701a strb r2, [r3, #0] initAmplif(); 804c82c: f7d5 f932 bl 8021a94 StartMeas(); 804c830: f7d6 fc04 bl 802303c { StopMeas(); AUTOZOOM = true; oldmenupos = menupos; } break; 804c834: f000 bd5c b.w 804d2f0 StopMeas(); 804c838: f7d6 ffb0 bl 802379c AUTOZOOM = true; 804c83c: 4b66 ldr r3, [pc, #408] ; (804c9d8 ) 804c83e: 2201 movs r2, #1 804c840: 701a strb r2, [r3, #0] oldmenupos = menupos; 804c842: 4b62 ldr r3, [pc, #392] ; (804c9cc ) 804c844: 781b ldrb r3, [r3, #0] 804c846: b2da uxtb r2, r3 804c848: 4b65 ldr r3, [pc, #404] ; (804c9e0 ) 804c84a: 701a strb r2, [r3, #0] break; 804c84c: f000 bd50 b.w 804d2f0 case ImageLeft: if(lX) 804c850: 4b64 ldr r3, [pc, #400] ; (804c9e4 ) 804c852: 881b ldrh r3, [r3, #0] 804c854: b29b uxth r3, r3 804c856: 2b00 cmp r3, #0 804c858: f000 8540 beq.w 804d2dc { multA_u16 = Avg[1][5 * ViewLevel + pardata.LNE]; 804c85c: 4b62 ldr r3, [pc, #392] ; (804c9e8 ) 804c85e: 781b ldrb r3, [r3, #0] 804c860: b2db uxtb r3, r3 804c862: 461a mov r2, r3 804c864: 4613 mov r3, r2 804c866: 009b lsls r3, r3, #2 804c868: 4413 add r3, r2 804c86a: 4a60 ldr r2, [pc, #384] ; (804c9ec ) 804c86c: 79d2 ldrb r2, [r2, #7] 804c86e: b2d2 uxtb r2, r2 804c870: 4413 add r3, r2 804c872: 4a5f ldr r2, [pc, #380] ; (804c9f0 ) 804c874: 3323 adds r3, #35 ; 0x23 804c876: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804c87a: f8a7 309e strh.w r3, [r7, #158] ; 0x9e multB_u16 = 256 * multA_u16; 804c87e: f8b7 309e ldrh.w r3, [r7, #158] ; 0x9e 804c882: 021b lsls r3, r3, #8 804c884: f8a7 3096 strh.w r3, [r7, #150] ; 0x96 if(lX >= (multB_u16 >> 1)) 804c888: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804c88c: 085b lsrs r3, r3, #1 804c88e: b29a uxth r2, r3 804c890: 4b54 ldr r3, [pc, #336] ; (804c9e4 ) 804c892: 881b ldrh r3, [r3, #0] 804c894: b29b uxth r3, r3 804c896: 429a cmp r2, r3 804c898: d80b bhi.n 804c8b2 X0 -= (multB_u16 >> 1); 804c89a: 4b56 ldr r3, [pc, #344] ; (804c9f4 ) 804c89c: 881b ldrh r3, [r3, #0] 804c89e: b29a uxth r2, r3 804c8a0: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804c8a4: 085b lsrs r3, r3, #1 804c8a6: b29b uxth r3, r3 804c8a8: 1ad3 subs r3, r2, r3 804c8aa: b29a uxth r2, r3 804c8ac: 4b51 ldr r3, [pc, #324] ; (804c9f4 ) 804c8ae: 801a strh r2, [r3, #0] 804c8b0: e002 b.n 804c8b8 else X0 = 0; 804c8b2: 4b50 ldr r3, [pc, #320] ; (804c9f4 ) 804c8b4: 2200 movs r2, #0 804c8b6: 801a strh r2, [r3, #0] lX = X0; 804c8b8: 4b4e ldr r3, [pc, #312] ; (804c9f4 ) 804c8ba: 881b ldrh r3, [r3, #0] 804c8bc: b29a uxth r2, r3 804c8be: 4b49 ldr r3, [pc, #292] ; (804c9e4 ) 804c8c0: 801a strh r2, [r3, #0] rX = lX + multB_u16; 804c8c2: 4b48 ldr r3, [pc, #288] ; (804c9e4 ) 804c8c4: 881b ldrh r3, [r3, #0] 804c8c6: b29a uxth r2, r3 804c8c8: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804c8cc: 4413 add r3, r2 804c8ce: b29a uxth r2, r3 804c8d0: 4b49 ldr r3, [pc, #292] ; (804c9f8 ) 804c8d2: 801a strh r2, [r3, #0] Mpos = X0 + CURSOR * multA_u16; 804c8d4: 4b49 ldr r3, [pc, #292] ; (804c9fc ) 804c8d6: 681b ldr r3, [r3, #0] 804c8d8: b29b uxth r3, r3 804c8da: f8b7 209e ldrh.w r2, [r7, #158] ; 0x9e 804c8de: fb12 f303 smulbb r3, r2, r3 804c8e2: b29a uxth r2, r3 804c8e4: 4b43 ldr r3, [pc, #268] ; (804c9f4 ) 804c8e6: 881b ldrh r3, [r3, #0] 804c8e8: b29b uxth r3, r3 804c8ea: 4413 add r3, r2 804c8ec: b29a uxth r2, r3 804c8ee: 4b44 ldr r3, [pc, #272] ; (804ca00 ) 804c8f0: 801a strh r2, [r3, #0] AUTOZOOM = true; 804c8f2: 4b39 ldr r3, [pc, #228] ; (804c9d8 ) 804c8f4: 2201 movs r2, #1 804c8f6: 701a strb r2, [r3, #0] } break; 804c8f8: f000 bcf0 b.w 804d2dc case ImageRight: multA_u16 = Avg[1][5 * ViewLevel + pardata.LNE]; 804c8fc: 4b3a ldr r3, [pc, #232] ; (804c9e8 ) 804c8fe: 781b ldrb r3, [r3, #0] 804c900: b2db uxtb r3, r3 804c902: 461a mov r2, r3 804c904: 4613 mov r3, r2 804c906: 009b lsls r3, r3, #2 804c908: 4413 add r3, r2 804c90a: 4a38 ldr r2, [pc, #224] ; (804c9ec ) 804c90c: 79d2 ldrb r2, [r2, #7] 804c90e: b2d2 uxtb r2, r2 804c910: 4413 add r3, r2 804c912: 4a37 ldr r2, [pc, #220] ; (804c9f0 ) 804c914: 3323 adds r3, #35 ; 0x23 804c916: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804c91a: f8a7 309e strh.w r3, [r7, #158] ; 0x9e multB_u16 = 256 * multA_u16; 804c91e: f8b7 309e ldrh.w r3, [r7, #158] ; 0x9e 804c922: 021b lsls r3, r3, #8 804c924: f8a7 3096 strh.w r3, [r7, #150] ; 0x96 k = (NS[pardata.LNE] >> 1); 804c928: 4b30 ldr r3, [pc, #192] ; (804c9ec ) 804c92a: 79db ldrb r3, [r3, #7] 804c92c: b2db uxtb r3, r3 804c92e: 461a mov r2, r3 804c930: 4b34 ldr r3, [pc, #208] ; (804ca04 ) 804c932: f853 3022 ldr.w r3, [r3, r2, lsl #2] 804c936: 085b lsrs r3, r3, #1 804c938: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 i = (uint32_t) rX + (uint32_t) (multB_u16 >> 1); 804c93c: 4b2e ldr r3, [pc, #184] ; (804c9f8 ) 804c93e: 881b ldrh r3, [r3, #0] 804c940: b29b uxth r3, r3 804c942: 461a mov r2, r3 804c944: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804c948: 085b lsrs r3, r3, #1 804c94a: b29b uxth r3, r3 804c94c: 4413 add r3, r2 804c94e: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 if(i <= k) 804c952: f8d7 20c0 ldr.w r2, [r7, #192] ; 0xc0 804c956: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804c95a: 429a cmp r2, r3 804c95c: d80b bhi.n 804c976 X0 += (multB_u16 >> 1); 804c95e: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804c962: 085b lsrs r3, r3, #1 804c964: b29a uxth r2, r3 804c966: 4b23 ldr r3, [pc, #140] ; (804c9f4 ) 804c968: 881b ldrh r3, [r3, #0] 804c96a: b29b uxth r3, r3 804c96c: 4413 add r3, r2 804c96e: b29a uxth r2, r3 804c970: 4b20 ldr r3, [pc, #128] ; (804c9f4 ) 804c972: 801a strh r2, [r3, #0] 804c974: e008 b.n 804c988 else X0 = (uint16_t) (k - multB_u16); 804c976: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804c97a: b29a uxth r2, r3 804c97c: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804c980: 1ad3 subs r3, r2, r3 804c982: b29a uxth r2, r3 804c984: 4b1b ldr r3, [pc, #108] ; (804c9f4 ) 804c986: 801a strh r2, [r3, #0] lX = X0; 804c988: 4b1a ldr r3, [pc, #104] ; (804c9f4 ) 804c98a: 881b ldrh r3, [r3, #0] 804c98c: b29a uxth r2, r3 804c98e: 4b15 ldr r3, [pc, #84] ; (804c9e4 ) 804c990: 801a strh r2, [r3, #0] rX = lX + multB_u16; 804c992: 4b14 ldr r3, [pc, #80] ; (804c9e4 ) 804c994: 881b ldrh r3, [r3, #0] 804c996: b29a uxth r2, r3 804c998: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804c99c: 4413 add r3, r2 804c99e: b29a uxth r2, r3 804c9a0: 4b15 ldr r3, [pc, #84] ; (804c9f8 ) 804c9a2: 801a strh r2, [r3, #0] Mpos = X0 + CURSOR * multA_u16; 804c9a4: 4b15 ldr r3, [pc, #84] ; (804c9fc ) 804c9a6: 681b ldr r3, [r3, #0] 804c9a8: b29b uxth r3, r3 804c9aa: f8b7 209e ldrh.w r2, [r7, #158] ; 0x9e 804c9ae: fb12 f303 smulbb r3, r2, r3 804c9b2: b29a uxth r2, r3 804c9b4: 4b0f ldr r3, [pc, #60] ; (804c9f4 ) 804c9b6: 881b ldrh r3, [r3, #0] 804c9b8: b29b uxth r3, r3 804c9ba: 4413 add r3, r2 804c9bc: b29a uxth r2, r3 804c9be: 4b10 ldr r3, [pc, #64] ; (804ca00 ) 804c9c0: 801a strh r2, [r3, #0] AUTOZOOM = true; 804c9c2: 4b05 ldr r3, [pc, #20] ; (804c9d8 ) 804c9c4: 2201 movs r2, #1 804c9c6: 701a strb r2, [r3, #0] break; 804c9c8: f000 bc92 b.w 804d2f0 804c9cc: 20020070 .word 0x20020070 804c9d0: 20020f78 .word 0x20020f78 804c9d4: 20020daf .word 0x20020daf 804c9d8: 2002098c .word 0x2002098c 804c9dc: 20020db2 .word 0x20020db2 804c9e0: 20020f7a .word 0x20020f7a 804c9e4: 20025d1a .word 0x20025d1a 804c9e8: 20020f74 .word 0x20020f74 804c9ec: 20023e60 .word 0x20023e60 804c9f0: 080ee7f0 .word 0x080ee7f0 804c9f4: 20025d1e .word 0x20025d1e 804c9f8: 20025d20 .word 0x20025d20 804c9fc: 2002006c .word 0x2002006c 804ca00: 20025d16 .word 0x20025d16 804ca04: 080ee87c .word 0x080ee87c case ZoomIn: lvl_0 = 0; 804ca08: 2300 movs r3, #0 804ca0a: f8c7 30a0 str.w r3, [r7, #160] ; 0xa0 dX = Avg[1][5 * ViewLevel + pardata.LNE]; 804ca0e: 4b81 ldr r3, [pc, #516] ; (804cc14 ) 804ca10: 781b ldrb r3, [r3, #0] 804ca12: b2db uxtb r3, r3 804ca14: 461a mov r2, r3 804ca16: 4613 mov r3, r2 804ca18: 009b lsls r3, r3, #2 804ca1a: 4413 add r3, r2 804ca1c: 4a7e ldr r2, [pc, #504] ; (804cc18 ) 804ca1e: 79d2 ldrb r2, [r2, #7] 804ca20: b2d2 uxtb r2, r2 804ca22: 4413 add r3, r2 804ca24: 4a7d ldr r2, [pc, #500] ; (804cc1c ) 804ca26: 3323 adds r3, #35 ; 0x23 804ca28: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804ca2c: f8a7 3094 strh.w r3, [r7, #148] ; 0x94 MaxLevel = 4; 804ca30: 2304 movs r3, #4 804ca32: f8a7 3092 strh.w r3, [r7, #146] ; 0x92 //*************************************************************// if((ViewLevel < MaxLevel) && (dX > 1)) 804ca36: 4b77 ldr r3, [pc, #476] ; (804cc14 ) 804ca38: 781b ldrb r3, [r3, #0] 804ca3a: b2db uxtb r3, r3 804ca3c: b29b uxth r3, r3 804ca3e: f8b7 2092 ldrh.w r2, [r7, #146] ; 0x92 804ca42: 429a cmp r2, r3 804ca44: f240 844d bls.w 804d2e2 804ca48: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804ca4c: 2b01 cmp r3, #1 804ca4e: f240 8448 bls.w 804d2e2 { ViewLevel++; 804ca52: 4b70 ldr r3, [pc, #448] ; (804cc14 ) 804ca54: 781b ldrb r3, [r3, #0] 804ca56: b2db uxtb r3, r3 804ca58: 3301 adds r3, #1 804ca5a: b2da uxtb r2, r3 804ca5c: 4b6d ldr r3, [pc, #436] ; (804cc14 ) 804ca5e: 701a strb r2, [r3, #0] dX = Avg[1][5 * ViewLevel + pardata.LNE]; 804ca60: 4b6c ldr r3, [pc, #432] ; (804cc14 ) 804ca62: 781b ldrb r3, [r3, #0] 804ca64: b2db uxtb r3, r3 804ca66: 461a mov r2, r3 804ca68: 4613 mov r3, r2 804ca6a: 009b lsls r3, r3, #2 804ca6c: 4413 add r3, r2 804ca6e: 4a6a ldr r2, [pc, #424] ; (804cc18 ) 804ca70: 79d2 ldrb r2, [r2, #7] 804ca72: b2d2 uxtb r2, r2 804ca74: 4413 add r3, r2 804ca76: 4a69 ldr r2, [pc, #420] ; (804cc1c ) 804ca78: 3323 adds r3, #35 ; 0x23 804ca7a: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804ca7e: f8a7 3094 strh.w r3, [r7, #148] ; 0x94 X0 = Mpos - CURSOR * dX; 804ca82: 4b67 ldr r3, [pc, #412] ; (804cc20 ) 804ca84: 881b ldrh r3, [r3, #0] 804ca86: b29a uxth r2, r3 804ca88: 4b66 ldr r3, [pc, #408] ; (804cc24 ) 804ca8a: 681b ldr r3, [r3, #0] 804ca8c: b29b uxth r3, r3 804ca8e: f8b7 1094 ldrh.w r1, [r7, #148] ; 0x94 804ca92: fb11 f303 smulbb r3, r1, r3 804ca96: b29b uxth r3, r3 804ca98: 1ad3 subs r3, r2, r3 804ca9a: b29a uxth r2, r3 804ca9c: 4b62 ldr r3, [pc, #392] ; (804cc28 ) 804ca9e: 801a strh r2, [r3, #0] lX = X0; 804caa0: 4b61 ldr r3, [pc, #388] ; (804cc28 ) 804caa2: 881b ldrh r3, [r3, #0] 804caa4: b29a uxth r2, r3 804caa6: 4b61 ldr r3, [pc, #388] ; (804cc2c ) 804caa8: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 804caaa: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804caae: 021b lsls r3, r3, #8 804cab0: b29a uxth r2, r3 804cab2: 4b5e ldr r3, [pc, #376] ; (804cc2c ) 804cab4: 881b ldrh r3, [r3, #0] 804cab6: b29b uxth r3, r3 804cab8: 4413 add r3, r2 804caba: b29a uxth r2, r3 804cabc: 4b5c ldr r3, [pc, #368] ; (804cc30 ) 804cabe: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 804cac0: 4b5c ldr r3, [pc, #368] ; (804cc34 ) 804cac2: 881b ldrh r3, [r3, #0] 804cac4: b29b uxth r3, r3 804cac6: 461a mov r2, r3 804cac8: 4b58 ldr r3, [pc, #352] ; (804cc2c ) 804caca: 881b ldrh r3, [r3, #0] 804cacc: b29b uxth r3, r3 804cace: 1ad2 subs r2, r2, r3 804cad0: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804cad4: fb92 f3f3 sdiv r3, r2, r3 804cad8: 461a mov r2, r3 804cada: 4b52 ldr r3, [pc, #328] ; (804cc24 ) 804cadc: 601a str r2, [r3, #0] Mpos = lX + CURSOR * dX; 804cade: 4b51 ldr r3, [pc, #324] ; (804cc24 ) 804cae0: 681b ldr r3, [r3, #0] 804cae2: b29b uxth r3, r3 804cae4: f8b7 2094 ldrh.w r2, [r7, #148] ; 0x94 804cae8: fb12 f303 smulbb r3, r2, r3 804caec: b29a uxth r2, r3 804caee: 4b4f ldr r3, [pc, #316] ; (804cc2c ) 804caf0: 881b ldrh r3, [r3, #0] 804caf2: b29b uxth r3, r3 804caf4: 4413 add r3, r2 804caf6: b29a uxth r2, r3 804caf8: 4b49 ldr r3, [pc, #292] ; (804cc20 ) 804cafa: 801a strh r2, [r3, #0] if((CURSOR < (256 >> 1)) && (X0 >= dX)) 804cafc: 4b49 ldr r3, [pc, #292] ; (804cc24 ) 804cafe: 681b ldr r3, [r3, #0] 804cb00: 2b7f cmp r3, #127 ; 0x7f 804cb02: d83b bhi.n 804cb7c 804cb04: 4b48 ldr r3, [pc, #288] ; (804cc28 ) 804cb06: 881b ldrh r3, [r3, #0] 804cb08: b29b uxth r3, r3 804cb0a: f8b7 2094 ldrh.w r2, [r7, #148] ; 0x94 804cb0e: 429a cmp r2, r3 804cb10: d834 bhi.n 804cb7c { if(lX >= dX) 804cb12: 4b46 ldr r3, [pc, #280] ; (804cc2c ) 804cb14: 881b ldrh r3, [r3, #0] 804cb16: b29b uxth r3, r3 804cb18: f8b7 2094 ldrh.w r2, [r7, #148] ; 0x94 804cb1c: 429a cmp r2, r3 804cb1e: d875 bhi.n 804cc0c { CURSOR++; 804cb20: 4b40 ldr r3, [pc, #256] ; (804cc24 ) 804cb22: 681b ldr r3, [r3, #0] 804cb24: 3301 adds r3, #1 804cb26: 4a3f ldr r2, [pc, #252] ; (804cc24 ) 804cb28: 6013 str r3, [r2, #0] X0 -= dX; 804cb2a: 4b3f ldr r3, [pc, #252] ; (804cc28 ) 804cb2c: 881b ldrh r3, [r3, #0] 804cb2e: b29a uxth r2, r3 804cb30: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804cb34: 1ad3 subs r3, r2, r3 804cb36: b29a uxth r2, r3 804cb38: 4b3b ldr r3, [pc, #236] ; (804cc28 ) 804cb3a: 801a strh r2, [r3, #0] lX = X0; 804cb3c: 4b3a ldr r3, [pc, #232] ; (804cc28 ) 804cb3e: 881b ldrh r3, [r3, #0] 804cb40: b29a uxth r2, r3 804cb42: 4b3a ldr r3, [pc, #232] ; (804cc2c ) 804cb44: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 804cb46: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804cb4a: 021b lsls r3, r3, #8 804cb4c: b29a uxth r2, r3 804cb4e: 4b37 ldr r3, [pc, #220] ; (804cc2c ) 804cb50: 881b ldrh r3, [r3, #0] 804cb52: b29b uxth r3, r3 804cb54: 4413 add r3, r2 804cb56: b29a uxth r2, r3 804cb58: 4b35 ldr r3, [pc, #212] ; (804cc30 ) 804cb5a: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 804cb5c: 4b35 ldr r3, [pc, #212] ; (804cc34 ) 804cb5e: 881b ldrh r3, [r3, #0] 804cb60: b29b uxth r3, r3 804cb62: 461a mov r2, r3 804cb64: 4b31 ldr r3, [pc, #196] ; (804cc2c ) 804cb66: 881b ldrh r3, [r3, #0] 804cb68: b29b uxth r3, r3 804cb6a: 1ad2 subs r2, r2, r3 804cb6c: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804cb70: fb92 f3f3 sdiv r3, r2, r3 804cb74: 461a mov r2, r3 804cb76: 4b2b ldr r3, [pc, #172] ; (804cc24 ) 804cb78: 601a str r2, [r3, #0] if(lX >= dX) 804cb7a: e047 b.n 804cc0c } } else if(CURSOR > (256 >> 1)) 804cb7c: 4b29 ldr r3, [pc, #164] ; (804cc24 ) 804cb7e: 681b ldr r3, [r3, #0] 804cb80: 2b80 cmp r3, #128 ; 0x80 804cb82: d943 bls.n 804cc0c { if((rX + dX) <= (256 * Avg[1][5 * lvl_0 + pardata.LNE])) 804cb84: 4b2a ldr r3, [pc, #168] ; (804cc30 ) 804cb86: 881b ldrh r3, [r3, #0] 804cb88: b29b uxth r3, r3 804cb8a: 461a mov r2, r3 804cb8c: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804cb90: 18d1 adds r1, r2, r3 804cb92: f8d7 20a0 ldr.w r2, [r7, #160] ; 0xa0 804cb96: 4613 mov r3, r2 804cb98: 009b lsls r3, r3, #2 804cb9a: 4413 add r3, r2 804cb9c: 4a1e ldr r2, [pc, #120] ; (804cc18 ) 804cb9e: 79d2 ldrb r2, [r2, #7] 804cba0: b2d2 uxtb r2, r2 804cba2: 4413 add r3, r2 804cba4: 4a1d ldr r2, [pc, #116] ; (804cc1c ) 804cba6: 3323 adds r3, #35 ; 0x23 804cba8: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804cbac: 021b lsls r3, r3, #8 804cbae: 4299 cmp r1, r3 804cbb0: dc2c bgt.n 804cc0c { CURSOR--; 804cbb2: 4b1c ldr r3, [pc, #112] ; (804cc24 ) 804cbb4: 681b ldr r3, [r3, #0] 804cbb6: 3b01 subs r3, #1 804cbb8: 4a1a ldr r2, [pc, #104] ; (804cc24 ) 804cbba: 6013 str r3, [r2, #0] X0 += dX; 804cbbc: 4b1a ldr r3, [pc, #104] ; (804cc28 ) 804cbbe: 881b ldrh r3, [r3, #0] 804cbc0: b29a uxth r2, r3 804cbc2: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804cbc6: 4413 add r3, r2 804cbc8: b29a uxth r2, r3 804cbca: 4b17 ldr r3, [pc, #92] ; (804cc28 ) 804cbcc: 801a strh r2, [r3, #0] lX = X0; 804cbce: 4b16 ldr r3, [pc, #88] ; (804cc28 ) 804cbd0: 881b ldrh r3, [r3, #0] 804cbd2: b29a uxth r2, r3 804cbd4: 4b15 ldr r3, [pc, #84] ; (804cc2c ) 804cbd6: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 804cbd8: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804cbdc: 021b lsls r3, r3, #8 804cbde: b29a uxth r2, r3 804cbe0: 4b12 ldr r3, [pc, #72] ; (804cc2c ) 804cbe2: 881b ldrh r3, [r3, #0] 804cbe4: b29b uxth r3, r3 804cbe6: 4413 add r3, r2 804cbe8: b29a uxth r2, r3 804cbea: 4b11 ldr r3, [pc, #68] ; (804cc30 ) 804cbec: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 804cbee: 4b11 ldr r3, [pc, #68] ; (804cc34 ) 804cbf0: 881b ldrh r3, [r3, #0] 804cbf2: b29b uxth r3, r3 804cbf4: 461a mov r2, r3 804cbf6: 4b0d ldr r3, [pc, #52] ; (804cc2c ) 804cbf8: 881b ldrh r3, [r3, #0] 804cbfa: b29b uxth r3, r3 804cbfc: 1ad2 subs r2, r2, r3 804cbfe: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804cc02: fb92 f3f3 sdiv r3, r2, r3 804cc06: 461a mov r2, r3 804cc08: 4b06 ldr r3, [pc, #24] ; (804cc24 ) 804cc0a: 601a str r2, [r3, #0] } } AUTOZOOM = true; 804cc0c: 4b0a ldr r3, [pc, #40] ; (804cc38 ) 804cc0e: 2201 movs r2, #1 804cc10: 701a strb r2, [r3, #0] } break; 804cc12: e366 b.n 804d2e2 804cc14: 20020f74 .word 0x20020f74 804cc18: 20023e60 .word 0x20023e60 804cc1c: 080ee7f0 .word 0x080ee7f0 804cc20: 20025d16 .word 0x20025d16 804cc24: 2002006c .word 0x2002006c 804cc28: 20025d1e .word 0x20025d1e 804cc2c: 20025d1a .word 0x20025d1a 804cc30: 20025d20 .word 0x20025d20 804cc34: 20025d1c .word 0x20025d1c 804cc38: 2002098c .word 0x2002098c case ZoomOut: lvl_0 = 0; 804cc3c: 2300 movs r3, #0 804cc3e: f8c7 30a0 str.w r3, [r7, #160] ; 0xa0 MaxLevel = 4; 804cc42: 2304 movs r3, #4 804cc44: f8a7 3092 strh.w r3, [r7, #146] ; 0x92 dXold = Avg[1][5 * ViewLevel + pardata.LNE]; 804cc48: 4ba5 ldr r3, [pc, #660] ; (804cee0 ) 804cc4a: 781b ldrb r3, [r3, #0] 804cc4c: b2db uxtb r3, r3 804cc4e: 461a mov r2, r3 804cc50: 4613 mov r3, r2 804cc52: 009b lsls r3, r3, #2 804cc54: 4413 add r3, r2 804cc56: 4aa3 ldr r2, [pc, #652] ; (804cee4 ) 804cc58: 79d2 ldrb r2, [r2, #7] 804cc5a: b2d2 uxtb r2, r2 804cc5c: 4413 add r3, r2 804cc5e: 4aa2 ldr r2, [pc, #648] ; (804cee8 ) 804cc60: 3323 adds r3, #35 ; 0x23 804cc62: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804cc66: f8a7 3090 strh.w r3, [r7, #144] ; 0x90 if(ViewLevel) 804cc6a: 4b9d ldr r3, [pc, #628] ; (804cee0 ) 804cc6c: 781b ldrb r3, [r3, #0] 804cc6e: b2db uxtb r3, r3 804cc70: 2b00 cmp r3, #0 804cc72: f000 8339 beq.w 804d2e8 { ViewLevel--; 804cc76: 4b9a ldr r3, [pc, #616] ; (804cee0 ) 804cc78: 781b ldrb r3, [r3, #0] 804cc7a: b2db uxtb r3, r3 804cc7c: 3b01 subs r3, #1 804cc7e: b2da uxtb r2, r3 804cc80: 4b97 ldr r3, [pc, #604] ; (804cee0 ) 804cc82: 701a strb r2, [r3, #0] dX = Avg[1][5 * ViewLevel + pardata.LNE]; 804cc84: 4b96 ldr r3, [pc, #600] ; (804cee0 ) 804cc86: 781b ldrb r3, [r3, #0] 804cc88: b2db uxtb r3, r3 804cc8a: 461a mov r2, r3 804cc8c: 4613 mov r3, r2 804cc8e: 009b lsls r3, r3, #2 804cc90: 4413 add r3, r2 804cc92: 4a94 ldr r2, [pc, #592] ; (804cee4 ) 804cc94: 79d2 ldrb r2, [r2, #7] 804cc96: b2d2 uxtb r2, r2 804cc98: 4413 add r3, r2 804cc9a: 4a93 ldr r2, [pc, #588] ; (804cee8 ) 804cc9c: 3323 adds r3, #35 ; 0x23 804cc9e: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804cca2: f8a7 3094 strh.w r3, [r7, #148] ; 0x94 if(ViewLevel == 0) 804cca6: 4b8e ldr r3, [pc, #568] ; (804cee0 ) 804cca8: 781b ldrb r3, [r3, #0] 804ccaa: b2db uxtb r3, r3 804ccac: 2b00 cmp r3, #0 804ccae: d130 bne.n 804cd12 { X0 = lX = 0; 804ccb0: 2100 movs r1, #0 804ccb2: 4b8e ldr r3, [pc, #568] ; (804ceec ) 804ccb4: 460a mov r2, r1 804ccb6: 801a strh r2, [r3, #0] 804ccb8: 4b8d ldr r3, [pc, #564] ; (804cef0 ) 804ccba: 460a mov r2, r1 804ccbc: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 804ccbe: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804ccc2: 021b lsls r3, r3, #8 804ccc4: b29a uxth r2, r3 804ccc6: 4b89 ldr r3, [pc, #548] ; (804ceec ) 804ccc8: 881b ldrh r3, [r3, #0] 804ccca: b29b uxth r3, r3 804cccc: 4413 add r3, r2 804ccce: b29a uxth r2, r3 804ccd0: 4b88 ldr r3, [pc, #544] ; (804cef4 ) 804ccd2: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 804ccd4: 4b88 ldr r3, [pc, #544] ; (804cef8 ) 804ccd6: 881b ldrh r3, [r3, #0] 804ccd8: b29b uxth r3, r3 804ccda: 461a mov r2, r3 804ccdc: 4b83 ldr r3, [pc, #524] ; (804ceec ) 804ccde: 881b ldrh r3, [r3, #0] 804cce0: b29b uxth r3, r3 804cce2: 1ad2 subs r2, r2, r3 804cce4: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804cce8: fb92 f3f3 sdiv r3, r2, r3 804ccec: 461a mov r2, r3 804ccee: 4b83 ldr r3, [pc, #524] ; (804cefc ) 804ccf0: 601a str r2, [r3, #0] Mpos = X0 + CURSOR * dX; 804ccf2: 4b82 ldr r3, [pc, #520] ; (804cefc ) 804ccf4: 681b ldr r3, [r3, #0] 804ccf6: b29b uxth r3, r3 804ccf8: f8b7 2094 ldrh.w r2, [r7, #148] ; 0x94 804ccfc: fb12 f303 smulbb r3, r2, r3 804cd00: b29a uxth r2, r3 804cd02: 4b7b ldr r3, [pc, #492] ; (804cef0 ) 804cd04: 881b ldrh r3, [r3, #0] 804cd06: b29b uxth r3, r3 804cd08: 4413 add r3, r2 804cd0a: b29a uxth r2, r3 804cd0c: 4b7c ldr r3, [pc, #496] ; (804cf00 ) 804cd0e: 801a strh r2, [r3, #0] 804cd10: e090 b.n 804ce34 } else { if(CURSOR * dX > Mpos) 804cd12: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804cd16: 4a79 ldr r2, [pc, #484] ; (804cefc ) 804cd18: 6812 ldr r2, [r2, #0] 804cd1a: fb02 f303 mul.w r3, r2, r3 804cd1e: 4a78 ldr r2, [pc, #480] ; (804cf00 ) 804cd20: 8812 ldrh r2, [r2, #0] 804cd22: b292 uxth r2, r2 804cd24: 4293 cmp r3, r2 804cd26: d91f bls.n 804cd68 { while(CURSOR * dX > Mpos) 804cd28: e004 b.n 804cd34 CURSOR--; 804cd2a: 4b74 ldr r3, [pc, #464] ; (804cefc ) 804cd2c: 681b ldr r3, [r3, #0] 804cd2e: 3b01 subs r3, #1 804cd30: 4a72 ldr r2, [pc, #456] ; (804cefc ) 804cd32: 6013 str r3, [r2, #0] while(CURSOR * dX > Mpos) 804cd34: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804cd38: 4a70 ldr r2, [pc, #448] ; (804cefc ) 804cd3a: 6812 ldr r2, [r2, #0] 804cd3c: fb02 f303 mul.w r3, r2, r3 804cd40: 4a6f ldr r2, [pc, #444] ; (804cf00 ) 804cd42: 8812 ldrh r2, [r2, #0] 804cd44: b292 uxth r2, r2 804cd46: 4293 cmp r3, r2 804cd48: d8ef bhi.n 804cd2a Mpos = X0 + CURSOR * dX; 804cd4a: 4b6c ldr r3, [pc, #432] ; (804cefc ) 804cd4c: 681b ldr r3, [r3, #0] 804cd4e: b29b uxth r3, r3 804cd50: f8b7 2094 ldrh.w r2, [r7, #148] ; 0x94 804cd54: fb12 f303 smulbb r3, r2, r3 804cd58: b29a uxth r2, r3 804cd5a: 4b65 ldr r3, [pc, #404] ; (804cef0 ) 804cd5c: 881b ldrh r3, [r3, #0] 804cd5e: b29b uxth r3, r3 804cd60: 4413 add r3, r2 804cd62: b29a uxth r2, r3 804cd64: 4b66 ldr r3, [pc, #408] ; (804cf00 ) 804cd66: 801a strh r2, [r3, #0] } i = Mpos - CURSOR * dX; 804cd68: 4b65 ldr r3, [pc, #404] ; (804cf00 ) 804cd6a: 881b ldrh r3, [r3, #0] 804cd6c: b29b uxth r3, r3 804cd6e: 4619 mov r1, r3 804cd70: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804cd74: 4a61 ldr r2, [pc, #388] ; (804cefc ) 804cd76: 6812 ldr r2, [r2, #0] 804cd78: fb02 f303 mul.w r3, r2, r3 804cd7c: 1acb subs r3, r1, r3 804cd7e: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 j = 256 * dX; 804cd82: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804cd86: 021b lsls r3, r3, #8 804cd88: f8c7 3098 str.w r3, [r7, #152] ; 0x98 k = 256 * Avg[1][5 * lvl_0 + pardata.LNE]; // 3200 804cd8c: f8d7 20a0 ldr.w r2, [r7, #160] ; 0xa0 804cd90: 4613 mov r3, r2 804cd92: 009b lsls r3, r3, #2 804cd94: 4413 add r3, r2 804cd96: 4a53 ldr r2, [pc, #332] ; (804cee4 ) 804cd98: 79d2 ldrb r2, [r2, #7] 804cd9a: b2d2 uxtb r2, r2 804cd9c: 4413 add r3, r2 804cd9e: 4a52 ldr r2, [pc, #328] ; (804cee8 ) 804cda0: 3323 adds r3, #35 ; 0x23 804cda2: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804cda6: 021b lsls r3, r3, #8 804cda8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 while(i + j > k) { 804cdac: e006 b.n 804cdbc i -= dXold; 804cdae: f8b7 3090 ldrh.w r3, [r7, #144] ; 0x90 804cdb2: f8d7 20c0 ldr.w r2, [r7, #192] ; 0xc0 804cdb6: 1ad3 subs r3, r2, r3 804cdb8: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 while(i + j > k) { 804cdbc: f8d7 20c0 ldr.w r2, [r7, #192] ; 0xc0 804cdc0: f8d7 3098 ldr.w r3, [r7, #152] ; 0x98 804cdc4: 441a add r2, r3 804cdc6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804cdca: 429a cmp r2, r3 804cdcc: d8ef bhi.n 804cdae } X0 = (uint16_t) i; 804cdce: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 804cdd2: b29a uxth r2, r3 804cdd4: 4b46 ldr r3, [pc, #280] ; (804cef0 ) 804cdd6: 801a strh r2, [r3, #0] lX = X0; 804cdd8: 4b45 ldr r3, [pc, #276] ; (804cef0 ) 804cdda: 881b ldrh r3, [r3, #0] 804cddc: b29a uxth r2, r3 804cdde: 4b43 ldr r3, [pc, #268] ; (804ceec ) 804cde0: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 804cde2: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804cde6: 021b lsls r3, r3, #8 804cde8: b29a uxth r2, r3 804cdea: 4b40 ldr r3, [pc, #256] ; (804ceec ) 804cdec: 881b ldrh r3, [r3, #0] 804cdee: b29b uxth r3, r3 804cdf0: 4413 add r3, r2 804cdf2: b29a uxth r2, r3 804cdf4: 4b3f ldr r3, [pc, #252] ; (804cef4 ) 804cdf6: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 804cdf8: 4b3f ldr r3, [pc, #252] ; (804cef8 ) 804cdfa: 881b ldrh r3, [r3, #0] 804cdfc: b29b uxth r3, r3 804cdfe: 461a mov r2, r3 804ce00: 4b3a ldr r3, [pc, #232] ; (804ceec ) 804ce02: 881b ldrh r3, [r3, #0] 804ce04: b29b uxth r3, r3 804ce06: 1ad2 subs r2, r2, r3 804ce08: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804ce0c: fb92 f3f3 sdiv r3, r2, r3 804ce10: 461a mov r2, r3 804ce12: 4b3a ldr r3, [pc, #232] ; (804cefc ) 804ce14: 601a str r2, [r3, #0] Mpos = X0 + CURSOR * dX; 804ce16: 4b39 ldr r3, [pc, #228] ; (804cefc ) 804ce18: 681b ldr r3, [r3, #0] 804ce1a: b29b uxth r3, r3 804ce1c: f8b7 2094 ldrh.w r2, [r7, #148] ; 0x94 804ce20: fb12 f303 smulbb r3, r2, r3 804ce24: b29a uxth r2, r3 804ce26: 4b32 ldr r3, [pc, #200] ; (804cef0 ) 804ce28: 881b ldrh r3, [r3, #0] 804ce2a: b29b uxth r3, r3 804ce2c: 4413 add r3, r2 804ce2e: b29a uxth r2, r3 804ce30: 4b33 ldr r3, [pc, #204] ; (804cf00 ) 804ce32: 801a strh r2, [r3, #0] } AUTOZOOM = true; 804ce34: 4b33 ldr r3, [pc, #204] ; (804cf04 ) 804ce36: 2201 movs r2, #1 804ce38: 701a strb r2, [r3, #0] } break; 804ce3a: e255 b.n 804d2e8 case Cursor: AUTOZOOM = true; 804ce3c: 4b31 ldr r3, [pc, #196] ; (804cf04 ) 804ce3e: 2201 movs r2, #1 804ce40: 701a strb r2, [r3, #0] break; 804ce42: e255 b.n 804d2f0 case SaveSpec: if(CardState == MSD_READY) 804ce44: 4b30 ldr r3, [pc, #192] ; (804cf08 ) 804ce46: 781b ldrb r3, [r3, #0] 804ce48: b2db uxtb r3, r3 804ce4a: 2b03 cmp r3, #3 804ce4c: f040 8221 bne.w 804d292 { if(!measuring) 804ce50: 4b2e ldr r3, [pc, #184] ; (804cf0c ) 804ce52: 781b ldrb r3, [r3, #0] 804ce54: b2db uxtb r3, r3 804ce56: f083 0301 eor.w r3, r3, #1 804ce5a: b2db uxtb r3, r3 804ce5c: 2b00 cmp r3, #0 804ce5e: f000 8246 beq.w 804d2ee { HAL_RTC_GetTime(&hrtc, &RTC_TimeStruct, RTC_FORMAT_BIN); 804ce62: 2200 movs r2, #0 804ce64: 492a ldr r1, [pc, #168] ; (804cf10 ) 804ce66: 482b ldr r0, [pc, #172] ; (804cf14 ) 804ce68: f06b febe bl 80b8be8 HAL_RTC_GetDate(&hrtc, &RTC_DateStruct, RTC_FORMAT_BIN); 804ce6c: 2200 movs r2, #0 804ce6e: 492a ldr r1, [pc, #168] ; (804cf18 ) 804ce70: 4828 ldr r0, [pc, #160] ; (804cf14 ) 804ce72: f06b ffbf bl 80b8df4 Day = RTC_DateStruct.Date; 804ce76: 4b28 ldr r3, [pc, #160] ; (804cf18 ) 804ce78: 789b ldrb r3, [r3, #2] 804ce7a: f8c7 308c str.w r3, [r7, #140] ; 0x8c Month = RTC_DateStruct.Month; 804ce7e: 4b26 ldr r3, [pc, #152] ; (804cf18 ) 804ce80: 785b ldrb r3, [r3, #1] 804ce82: f8c7 3088 str.w r3, [r7, #136] ; 0x88 Year = RTC_DateStruct.Year + 2000; 804ce86: 4b24 ldr r3, [pc, #144] ; (804cf18 ) 804ce88: 78db ldrb r3, [r3, #3] 804ce8a: f503 63fa add.w r3, r3, #2000 ; 0x7d0 804ce8e: f8c7 3084 str.w r3, [r7, #132] ; 0x84 Hour = RTC_TimeStruct.Hours; 804ce92: 4b1f ldr r3, [pc, #124] ; (804cf10 ) 804ce94: 781b ldrb r3, [r3, #0] 804ce96: f8c7 3080 str.w r3, [r7, #128] ; 0x80 Min = RTC_TimeStruct.Minutes; 804ce9a: 4b1d ldr r3, [pc, #116] ; (804cf10 ) 804ce9c: 785b ldrb r3, [r3, #1] 804ce9e: 67fb str r3, [r7, #124] ; 0x7c Sec = RTC_TimeStruct.Seconds; 804cea0: 4b1b ldr r3, [pc, #108] ; (804cf10 ) 804cea2: 789b ldrb r3, [r3, #2] 804cea4: 67bb str r3, [r7, #120] ; 0x78 memset(TEMP_MeasFileName, 0, sizeof(TEMP_MeasFileName)); 804cea6: 2221 movs r2, #33 ; 0x21 804cea8: 2100 movs r1, #0 804ceaa: 481c ldr r0, [pc, #112] ; (804cf1c ) 804ceac: f080 f8cc bl 80cd048 strcpy(TEMP_MeasFileName,"ENV_"); 804ceb0: 4b1a ldr r3, [pc, #104] ; (804cf1c ) 804ceb2: 4a1b ldr r2, [pc, #108] ; (804cf20 ) 804ceb4: 6810 ldr r0, [r2, #0] 804ceb6: 6018 str r0, [r3, #0] 804ceb8: 7912 ldrb r2, [r2, #4] 804ceba: 711a strb r2, [r3, #4] if(pardata.IPR == ACC) strcat(TEMP_MeasFileName, "A"); 804cebc: 4b09 ldr r3, [pc, #36] ; (804cee4 ) 804cebe: 785b ldrb r3, [r3, #1] 804cec0: b2db uxtb r3, r3 804cec2: 2b00 cmp r3, #0 804cec4: d130 bne.n 804cf28 804cec6: 4815 ldr r0, [pc, #84] ; (804cf1c ) 804cec8: f7d3 fa24 bl 8020314 804cecc: 4603 mov r3, r0 804cece: 461a mov r2, r3 804ced0: 4b12 ldr r3, [pc, #72] ; (804cf1c ) 804ced2: 4413 add r3, r2 804ced4: 4913 ldr r1, [pc, #76] ; (804cf24 ) 804ced6: 461a mov r2, r3 804ced8: 460b mov r3, r1 804ceda: 881b ldrh r3, [r3, #0] 804cedc: 8013 strh r3, [r2, #0] 804cede: e046 b.n 804cf6e 804cee0: 20020f74 .word 0x20020f74 804cee4: 20023e60 .word 0x20023e60 804cee8: 080ee7f0 .word 0x080ee7f0 804ceec: 20025d1a .word 0x20025d1a 804cef0: 20025d1e .word 0x20025d1e 804cef4: 20025d20 .word 0x20025d20 804cef8: 20025d1c .word 0x20025d1c 804cefc: 2002006c .word 0x2002006c 804cf00: 20025d16 .word 0x20025d16 804cf04: 2002098c .word 0x2002098c 804cf08: 2002164c .word 0x2002164c 804cf0c: 20020daf .word 0x20020daf 804cf10: 20025c68 .word 0x20025c68 804cf14: 20068598 .word 0x20068598 804cf18: 20025cec .word 0x20025cec 804cf1c: 20025c80 .word 0x20025c80 804cf20: 080ce658 .word 0x080ce658 804cf24: 080ce634 .word 0x080ce634 else if(pardata.IPR == VEL) strcat(TEMP_MeasFileName, "V"); 804cf28: 4b28 ldr r3, [pc, #160] ; (804cfcc ) 804cf2a: 785b ldrb r3, [r3, #1] 804cf2c: b2db uxtb r3, r3 804cf2e: 2b01 cmp r3, #1 804cf30: d10c bne.n 804cf4c 804cf32: 4827 ldr r0, [pc, #156] ; (804cfd0 ) 804cf34: f7d3 f9ee bl 8020314 804cf38: 4603 mov r3, r0 804cf3a: 461a mov r2, r3 804cf3c: 4b24 ldr r3, [pc, #144] ; (804cfd0 ) 804cf3e: 4413 add r3, r2 804cf40: 4924 ldr r1, [pc, #144] ; (804cfd4 ) 804cf42: 461a mov r2, r3 804cf44: 460b mov r3, r1 804cf46: 881b ldrh r3, [r3, #0] 804cf48: 8013 strh r3, [r2, #0] 804cf4a: e010 b.n 804cf6e else if(pardata.IPR == DIS) strcat(TEMP_MeasFileName, "S"); 804cf4c: 4b1f ldr r3, [pc, #124] ; (804cfcc ) 804cf4e: 785b ldrb r3, [r3, #1] 804cf50: b2db uxtb r3, r3 804cf52: 2b02 cmp r3, #2 804cf54: d10b bne.n 804cf6e 804cf56: 481e ldr r0, [pc, #120] ; (804cfd0 ) 804cf58: f7d3 f9dc bl 8020314 804cf5c: 4603 mov r3, r0 804cf5e: 461a mov r2, r3 804cf60: 4b1b ldr r3, [pc, #108] ; (804cfd0 ) 804cf62: 4413 add r3, r2 804cf64: 491c ldr r1, [pc, #112] ; (804cfd8 ) 804cf66: 461a mov r2, r3 804cf68: 460b mov r3, r1 804cf6a: 881b ldrh r3, [r3, #0] 804cf6c: 8013 strh r3, [r2, #0] if(pardata.IVS[pardata.IPR] == PEAK) strcat(TEMP_MeasFileName, "_PK_"); 804cf6e: 4b17 ldr r3, [pc, #92] ; (804cfcc ) 804cf70: 785b ldrb r3, [r3, #1] 804cf72: b2db uxtb r3, r3 804cf74: 461a mov r2, r3 804cf76: 4b15 ldr r3, [pc, #84] ; (804cfcc ) 804cf78: 4413 add r3, r2 804cf7a: 789b ldrb r3, [r3, #2] 804cf7c: b2db uxtb r3, r3 804cf7e: 2b00 cmp r3, #0 804cf80: d10c bne.n 804cf9c 804cf82: 4813 ldr r0, [pc, #76] ; (804cfd0 ) 804cf84: f7d3 f9c6 bl 8020314 804cf88: 4603 mov r3, r0 804cf8a: 461a mov r2, r3 804cf8c: 4b10 ldr r3, [pc, #64] ; (804cfd0 ) 804cf8e: 4413 add r3, r2 804cf90: 4a12 ldr r2, [pc, #72] ; (804cfdc ) 804cf92: 6810 ldr r0, [r2, #0] 804cf94: 6018 str r0, [r3, #0] 804cf96: 7912 ldrb r2, [r2, #4] 804cf98: 711a strb r2, [r3, #4] 804cf9a: e03b b.n 804d014 else if(pardata.IVS[pardata.IPR] == RMS) strcat(TEMP_MeasFileName, "_RMS_"); 804cf9c: 4b0b ldr r3, [pc, #44] ; (804cfcc ) 804cf9e: 785b ldrb r3, [r3, #1] 804cfa0: b2db uxtb r3, r3 804cfa2: 461a mov r2, r3 804cfa4: 4b09 ldr r3, [pc, #36] ; (804cfcc ) 804cfa6: 4413 add r3, r2 804cfa8: 789b ldrb r3, [r3, #2] 804cfaa: b2db uxtb r3, r3 804cfac: 2b01 cmp r3, #1 804cfae: d119 bne.n 804cfe4 804cfb0: 4807 ldr r0, [pc, #28] ; (804cfd0 ) 804cfb2: f7d3 f9af bl 8020314 804cfb6: 4603 mov r3, r0 804cfb8: 461a mov r2, r3 804cfba: 4b05 ldr r3, [pc, #20] ; (804cfd0 ) 804cfbc: 4413 add r3, r2 804cfbe: 4a08 ldr r2, [pc, #32] ; (804cfe0 ) 804cfc0: 6810 ldr r0, [r2, #0] 804cfc2: 6018 str r0, [r3, #0] 804cfc4: 8892 ldrh r2, [r2, #4] 804cfc6: 809a strh r2, [r3, #4] 804cfc8: e024 b.n 804d014 804cfca: bf00 nop 804cfcc: 20023e60 .word 0x20023e60 804cfd0: 20025c80 .word 0x20025c80 804cfd4: 080ce638 .word 0x080ce638 804cfd8: 080ce63c .word 0x080ce63c 804cfdc: 080ce640 .word 0x080ce640 804cfe0: 080ce648 .word 0x080ce648 else if(pardata.IVS[pardata.IPR] == PEAK_TO_PEAK) strcat(TEMP_MeasFileName, "_PKPK_"); 804cfe4: 4bb0 ldr r3, [pc, #704] ; (804d2a8 ) 804cfe6: 785b ldrb r3, [r3, #1] 804cfe8: b2db uxtb r3, r3 804cfea: 461a mov r2, r3 804cfec: 4bae ldr r3, [pc, #696] ; (804d2a8 ) 804cfee: 4413 add r3, r2 804cff0: 789b ldrb r3, [r3, #2] 804cff2: b2db uxtb r3, r3 804cff4: 2b02 cmp r3, #2 804cff6: d10d bne.n 804d014 804cff8: 48ac ldr r0, [pc, #688] ; (804d2ac ) 804cffa: f7d3 f98b bl 8020314 804cffe: 4603 mov r3, r0 804d000: 461a mov r2, r3 804d002: 4baa ldr r3, [pc, #680] ; (804d2ac ) 804d004: 4413 add r3, r2 804d006: 4aaa ldr r2, [pc, #680] ; (804d2b0 ) 804d008: 6810 ldr r0, [r2, #0] 804d00a: 6018 str r0, [r3, #0] 804d00c: 8891 ldrh r1, [r2, #4] 804d00e: 7992 ldrb r2, [r2, #6] 804d010: 8099 strh r1, [r3, #4] 804d012: 719a strb r2, [r3, #6] MeasFileNameLen = strlen(TEMP_MeasFileName); 804d014: 48a5 ldr r0, [pc, #660] ; (804d2ac ) 804d016: f7d3 f97d bl 8020314 804d01a: 4602 mov r2, r0 804d01c: 4ba5 ldr r3, [pc, #660] ; (804d2b4 ) 804d01e: 601a str r2, [r3, #0] TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Year / 1000) + 48); 804d020: 4ba4 ldr r3, [pc, #656] ; (804d2b4 ) 804d022: 681b ldr r3, [r3, #0] 804d024: 1c5a adds r2, r3, #1 804d026: 49a3 ldr r1, [pc, #652] ; (804d2b4 ) 804d028: 600a str r2, [r1, #0] 804d02a: f8d7 2084 ldr.w r2, [r7, #132] ; 0x84 804d02e: 49a2 ldr r1, [pc, #648] ; (804d2b8 ) 804d030: fba1 1202 umull r1, r2, r1, r2 804d034: 0992 lsrs r2, r2, #6 804d036: b2d2 uxtb r2, r2 804d038: 3230 adds r2, #48 ; 0x30 804d03a: b2d1 uxtb r1, r2 804d03c: 4a9b ldr r2, [pc, #620] ; (804d2ac ) 804d03e: 54d1 strb r1, [r2, r3] TEMP_MeasFileName[MeasFileNameLen++] = (char) (((Year % 1000) / 100) + 48); 804d040: 4b9c ldr r3, [pc, #624] ; (804d2b4 ) 804d042: 681a ldr r2, [r3, #0] 804d044: 1c53 adds r3, r2, #1 804d046: 499b ldr r1, [pc, #620] ; (804d2b4 ) 804d048: 600b str r3, [r1, #0] 804d04a: f8d7 1084 ldr.w r1, [r7, #132] ; 0x84 804d04e: 4b9a ldr r3, [pc, #616] ; (804d2b8 ) 804d050: fba3 0301 umull r0, r3, r3, r1 804d054: 099b lsrs r3, r3, #6 804d056: f44f 707a mov.w r0, #1000 ; 0x3e8 804d05a: fb00 f303 mul.w r3, r0, r3 804d05e: 1acb subs r3, r1, r3 804d060: 4996 ldr r1, [pc, #600] ; (804d2bc ) 804d062: fba1 1303 umull r1, r3, r1, r3 804d066: 095b lsrs r3, r3, #5 804d068: b2db uxtb r3, r3 804d06a: 3330 adds r3, #48 ; 0x30 804d06c: b2d9 uxtb r1, r3 804d06e: 4b8f ldr r3, [pc, #572] ; (804d2ac ) 804d070: 5499 strb r1, [r3, r2] TEMP_MeasFileName[MeasFileNameLen++] = (char) ((((Year % 1000) % 100) / 10) + 48); 804d072: 4b90 ldr r3, [pc, #576] ; (804d2b4 ) 804d074: 6819 ldr r1, [r3, #0] 804d076: 1c4b adds r3, r1, #1 804d078: 4a8e ldr r2, [pc, #568] ; (804d2b4 ) 804d07a: 6013 str r3, [r2, #0] 804d07c: f8d7 2084 ldr.w r2, [r7, #132] ; 0x84 804d080: 4b8d ldr r3, [pc, #564] ; (804d2b8 ) 804d082: fba3 0302 umull r0, r3, r3, r2 804d086: 099b lsrs r3, r3, #6 804d088: f44f 707a mov.w r0, #1000 ; 0x3e8 804d08c: fb00 f303 mul.w r3, r0, r3 804d090: 1ad3 subs r3, r2, r3 804d092: 4a8a ldr r2, [pc, #552] ; (804d2bc ) 804d094: fba2 0203 umull r0, r2, r2, r3 804d098: 0952 lsrs r2, r2, #5 804d09a: 2064 movs r0, #100 ; 0x64 804d09c: fb00 f202 mul.w r2, r0, r2 804d0a0: 1a9a subs r2, r3, r2 804d0a2: 4b87 ldr r3, [pc, #540] ; (804d2c0 ) 804d0a4: fba3 2302 umull r2, r3, r3, r2 804d0a8: 08db lsrs r3, r3, #3 804d0aa: b2db uxtb r3, r3 804d0ac: 3330 adds r3, #48 ; 0x30 804d0ae: b2da uxtb r2, r3 804d0b0: 4b7e ldr r3, [pc, #504] ; (804d2ac ) 804d0b2: 545a strb r2, [r3, r1] TEMP_MeasFileName[MeasFileNameLen++] = (char) ((((Year % 1000) % 100) % 10) + 48); 804d0b4: 4b7f ldr r3, [pc, #508] ; (804d2b4 ) 804d0b6: 6818 ldr r0, [r3, #0] 804d0b8: 1c43 adds r3, r0, #1 804d0ba: 4a7e ldr r2, [pc, #504] ; (804d2b4 ) 804d0bc: 6013 str r3, [r2, #0] 804d0be: f8d7 2084 ldr.w r2, [r7, #132] ; 0x84 804d0c2: 4b7d ldr r3, [pc, #500] ; (804d2b8 ) 804d0c4: fba3 1302 umull r1, r3, r3, r2 804d0c8: 099b lsrs r3, r3, #6 804d0ca: f44f 717a mov.w r1, #1000 ; 0x3e8 804d0ce: fb01 f303 mul.w r3, r1, r3 804d0d2: 1ad3 subs r3, r2, r3 804d0d4: 4a79 ldr r2, [pc, #484] ; (804d2bc ) 804d0d6: fba2 1203 umull r1, r2, r2, r3 804d0da: 0952 lsrs r2, r2, #5 804d0dc: 2164 movs r1, #100 ; 0x64 804d0de: fb01 f202 mul.w r2, r1, r2 804d0e2: 1a9a subs r2, r3, r2 804d0e4: 4b76 ldr r3, [pc, #472] ; (804d2c0 ) 804d0e6: fba3 1302 umull r1, r3, r3, r2 804d0ea: 08d9 lsrs r1, r3, #3 804d0ec: 460b mov r3, r1 804d0ee: 009b lsls r3, r3, #2 804d0f0: 440b add r3, r1 804d0f2: 005b lsls r3, r3, #1 804d0f4: 1ad1 subs r1, r2, r3 804d0f6: b2cb uxtb r3, r1 804d0f8: 3330 adds r3, #48 ; 0x30 804d0fa: b2da uxtb r2, r3 804d0fc: 4b6b ldr r3, [pc, #428] ; (804d2ac ) 804d0fe: 541a strb r2, [r3, r0] //fn[l++] = '_'; TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Month / 10) + 48); 804d100: 4b6c ldr r3, [pc, #432] ; (804d2b4 ) 804d102: 681b ldr r3, [r3, #0] 804d104: 1c5a adds r2, r3, #1 804d106: 496b ldr r1, [pc, #428] ; (804d2b4 ) 804d108: 600a str r2, [r1, #0] 804d10a: f8d7 2088 ldr.w r2, [r7, #136] ; 0x88 804d10e: 496c ldr r1, [pc, #432] ; (804d2c0 ) 804d110: fba1 1202 umull r1, r2, r1, r2 804d114: 08d2 lsrs r2, r2, #3 804d116: b2d2 uxtb r2, r2 804d118: 3230 adds r2, #48 ; 0x30 804d11a: b2d1 uxtb r1, r2 804d11c: 4a63 ldr r2, [pc, #396] ; (804d2ac ) 804d11e: 54d1 strb r1, [r2, r3] TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Month % 10) + 48); 804d120: 4b64 ldr r3, [pc, #400] ; (804d2b4 ) 804d122: 6819 ldr r1, [r3, #0] 804d124: 1c4b adds r3, r1, #1 804d126: 4a63 ldr r2, [pc, #396] ; (804d2b4 ) 804d128: 6013 str r3, [r2, #0] 804d12a: f8d7 0088 ldr.w r0, [r7, #136] ; 0x88 804d12e: 4b64 ldr r3, [pc, #400] ; (804d2c0 ) 804d130: fba3 2300 umull r2, r3, r3, r0 804d134: 08da lsrs r2, r3, #3 804d136: 4613 mov r3, r2 804d138: 009b lsls r3, r3, #2 804d13a: 4413 add r3, r2 804d13c: 005b lsls r3, r3, #1 804d13e: 1ac2 subs r2, r0, r3 804d140: b2d3 uxtb r3, r2 804d142: 3330 adds r3, #48 ; 0x30 804d144: b2da uxtb r2, r3 804d146: 4b59 ldr r3, [pc, #356] ; (804d2ac ) 804d148: 545a strb r2, [r3, r1] //fn[l++] = '_'; TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Day / 10) + 48); 804d14a: 4b5a ldr r3, [pc, #360] ; (804d2b4 ) 804d14c: 681b ldr r3, [r3, #0] 804d14e: 1c5a adds r2, r3, #1 804d150: 4958 ldr r1, [pc, #352] ; (804d2b4 ) 804d152: 600a str r2, [r1, #0] 804d154: f8d7 208c ldr.w r2, [r7, #140] ; 0x8c 804d158: 4959 ldr r1, [pc, #356] ; (804d2c0 ) 804d15a: fba1 1202 umull r1, r2, r1, r2 804d15e: 08d2 lsrs r2, r2, #3 804d160: b2d2 uxtb r2, r2 804d162: 3230 adds r2, #48 ; 0x30 804d164: b2d1 uxtb r1, r2 804d166: 4a51 ldr r2, [pc, #324] ; (804d2ac ) 804d168: 54d1 strb r1, [r2, r3] TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Day % 10) + 48); 804d16a: 4b52 ldr r3, [pc, #328] ; (804d2b4 ) 804d16c: 6819 ldr r1, [r3, #0] 804d16e: 1c4b adds r3, r1, #1 804d170: 4a50 ldr r2, [pc, #320] ; (804d2b4 ) 804d172: 6013 str r3, [r2, #0] 804d174: f8d7 008c ldr.w r0, [r7, #140] ; 0x8c 804d178: 4b51 ldr r3, [pc, #324] ; (804d2c0 ) 804d17a: fba3 2300 umull r2, r3, r3, r0 804d17e: 08da lsrs r2, r3, #3 804d180: 4613 mov r3, r2 804d182: 009b lsls r3, r3, #2 804d184: 4413 add r3, r2 804d186: 005b lsls r3, r3, #1 804d188: 1ac2 subs r2, r0, r3 804d18a: b2d3 uxtb r3, r2 804d18c: 3330 adds r3, #48 ; 0x30 804d18e: b2da uxtb r2, r3 804d190: 4b46 ldr r3, [pc, #280] ; (804d2ac ) 804d192: 545a strb r2, [r3, r1] TEMP_MeasFileName[MeasFileNameLen++] = '_'; 804d194: 4b47 ldr r3, [pc, #284] ; (804d2b4 ) 804d196: 681b ldr r3, [r3, #0] 804d198: 1c5a adds r2, r3, #1 804d19a: 4946 ldr r1, [pc, #280] ; (804d2b4 ) 804d19c: 600a str r2, [r1, #0] 804d19e: 4a43 ldr r2, [pc, #268] ; (804d2ac ) 804d1a0: 215f movs r1, #95 ; 0x5f 804d1a2: 54d1 strb r1, [r2, r3] TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Hour / 10) + 48); 804d1a4: 4b43 ldr r3, [pc, #268] ; (804d2b4 ) 804d1a6: 681b ldr r3, [r3, #0] 804d1a8: 1c5a adds r2, r3, #1 804d1aa: 4942 ldr r1, [pc, #264] ; (804d2b4 ) 804d1ac: 600a str r2, [r1, #0] 804d1ae: f8d7 2080 ldr.w r2, [r7, #128] ; 0x80 804d1b2: 4943 ldr r1, [pc, #268] ; (804d2c0 ) 804d1b4: fba1 1202 umull r1, r2, r1, r2 804d1b8: 08d2 lsrs r2, r2, #3 804d1ba: b2d2 uxtb r2, r2 804d1bc: 3230 adds r2, #48 ; 0x30 804d1be: b2d1 uxtb r1, r2 804d1c0: 4a3a ldr r2, [pc, #232] ; (804d2ac ) 804d1c2: 54d1 strb r1, [r2, r3] TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Hour % 10) + 48); 804d1c4: 4b3b ldr r3, [pc, #236] ; (804d2b4 ) 804d1c6: 6819 ldr r1, [r3, #0] 804d1c8: 1c4b adds r3, r1, #1 804d1ca: 4a3a ldr r2, [pc, #232] ; (804d2b4 ) 804d1cc: 6013 str r3, [r2, #0] 804d1ce: f8d7 0080 ldr.w r0, [r7, #128] ; 0x80 804d1d2: 4b3b ldr r3, [pc, #236] ; (804d2c0 ) 804d1d4: fba3 2300 umull r2, r3, r3, r0 804d1d8: 08da lsrs r2, r3, #3 804d1da: 4613 mov r3, r2 804d1dc: 009b lsls r3, r3, #2 804d1de: 4413 add r3, r2 804d1e0: 005b lsls r3, r3, #1 804d1e2: 1ac2 subs r2, r0, r3 804d1e4: b2d3 uxtb r3, r2 804d1e6: 3330 adds r3, #48 ; 0x30 804d1e8: b2da uxtb r2, r3 804d1ea: 4b30 ldr r3, [pc, #192] ; (804d2ac ) 804d1ec: 545a strb r2, [r3, r1] //fn[l++] = '_'; TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Min / 10) + 48); 804d1ee: 4b31 ldr r3, [pc, #196] ; (804d2b4 ) 804d1f0: 681b ldr r3, [r3, #0] 804d1f2: 1c5a adds r2, r3, #1 804d1f4: 492f ldr r1, [pc, #188] ; (804d2b4 ) 804d1f6: 600a str r2, [r1, #0] 804d1f8: 6ffa ldr r2, [r7, #124] ; 0x7c 804d1fa: 4931 ldr r1, [pc, #196] ; (804d2c0 ) 804d1fc: fba1 1202 umull r1, r2, r1, r2 804d200: 08d2 lsrs r2, r2, #3 804d202: b2d2 uxtb r2, r2 804d204: 3230 adds r2, #48 ; 0x30 804d206: b2d1 uxtb r1, r2 804d208: 4a28 ldr r2, [pc, #160] ; (804d2ac ) 804d20a: 54d1 strb r1, [r2, r3] TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Min % 10) + 48); 804d20c: 4b29 ldr r3, [pc, #164] ; (804d2b4 ) 804d20e: 6819 ldr r1, [r3, #0] 804d210: 1c4b adds r3, r1, #1 804d212: 4a28 ldr r2, [pc, #160] ; (804d2b4 ) 804d214: 6013 str r3, [r2, #0] 804d216: 6ff8 ldr r0, [r7, #124] ; 0x7c 804d218: 4b29 ldr r3, [pc, #164] ; (804d2c0 ) 804d21a: fba3 2300 umull r2, r3, r3, r0 804d21e: 08da lsrs r2, r3, #3 804d220: 4613 mov r3, r2 804d222: 009b lsls r3, r3, #2 804d224: 4413 add r3, r2 804d226: 005b lsls r3, r3, #1 804d228: 1ac2 subs r2, r0, r3 804d22a: b2d3 uxtb r3, r2 804d22c: 3330 adds r3, #48 ; 0x30 804d22e: b2da uxtb r2, r3 804d230: 4b1e ldr r3, [pc, #120] ; (804d2ac ) 804d232: 545a strb r2, [r3, r1] //fn[l++] = '_'; TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Sec / 10) + 48); 804d234: 4b1f ldr r3, [pc, #124] ; (804d2b4 ) 804d236: 681b ldr r3, [r3, #0] 804d238: 1c5a adds r2, r3, #1 804d23a: 491e ldr r1, [pc, #120] ; (804d2b4 ) 804d23c: 600a str r2, [r1, #0] 804d23e: 6fba ldr r2, [r7, #120] ; 0x78 804d240: 491f ldr r1, [pc, #124] ; (804d2c0 ) 804d242: fba1 1202 umull r1, r2, r1, r2 804d246: 08d2 lsrs r2, r2, #3 804d248: b2d2 uxtb r2, r2 804d24a: 3230 adds r2, #48 ; 0x30 804d24c: b2d1 uxtb r1, r2 804d24e: 4a17 ldr r2, [pc, #92] ; (804d2ac ) 804d250: 54d1 strb r1, [r2, r3] TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Sec % 10) + 48); 804d252: 4b18 ldr r3, [pc, #96] ; (804d2b4 ) 804d254: 6819 ldr r1, [r3, #0] 804d256: 1c4b adds r3, r1, #1 804d258: 4a16 ldr r2, [pc, #88] ; (804d2b4 ) 804d25a: 6013 str r3, [r2, #0] 804d25c: 6fb8 ldr r0, [r7, #120] ; 0x78 804d25e: 4b18 ldr r3, [pc, #96] ; (804d2c0 ) 804d260: fba3 2300 umull r2, r3, r3, r0 804d264: 08da lsrs r2, r3, #3 804d266: 4613 mov r3, r2 804d268: 009b lsls r3, r3, #2 804d26a: 4413 add r3, r2 804d26c: 005b lsls r3, r3, #1 804d26e: 1ac2 subs r2, r0, r3 804d270: b2d3 uxtb r3, r2 804d272: 3330 adds r3, #48 ; 0x30 804d274: b2da uxtb r2, r3 804d276: 4b0d ldr r3, [pc, #52] ; (804d2ac ) 804d278: 545a strb r2, [r3, r1] lastmenu = menu; 804d27a: 4b12 ldr r3, [pc, #72] ; (804d2c4 ) 804d27c: 781b ldrb r3, [r3, #0] 804d27e: b2da uxtb r2, r3 804d280: 4b11 ldr r3, [pc, #68] ; (804d2c8 ) 804d282: 701a strb r2, [r3, #0] menu = INPUT_NAME_SPEC; 804d284: 4b0f ldr r3, [pc, #60] ; (804d2c4 ) 804d286: 222f movs r2, #47 ; 0x2f 804d288: 701a strb r2, [r3, #0] menupos = _ENTER; 804d28a: 4b10 ldr r3, [pc, #64] ; (804d2cc ) 804d28c: 2226 movs r2, #38 ; 0x26 804d28e: 701a strb r2, [r3, #0] { STATUS = AP_NO_CARD; timerStatus = sec2; DrawStatus = true; } break; 804d290: e02d b.n 804d2ee STATUS = AP_NO_CARD; 804d292: 4b0f ldr r3, [pc, #60] ; (804d2d0 ) 804d294: 2211 movs r2, #17 804d296: 601a str r2, [r3, #0] timerStatus = sec2; 804d298: 4b0e ldr r3, [pc, #56] ; (804d2d4 ) 804d29a: f44f 5280 mov.w r2, #4096 ; 0x1000 804d29e: 801a strh r2, [r3, #0] DrawStatus = true; 804d2a0: 4b0d ldr r3, [pc, #52] ; (804d2d8 ) 804d2a2: 2201 movs r2, #1 804d2a4: 701a strb r2, [r3, #0] break; 804d2a6: e022 b.n 804d2ee 804d2a8: 20023e60 .word 0x20023e60 804d2ac: 20025c80 .word 0x20025c80 804d2b0: 080ce650 .word 0x080ce650 804d2b4: 20020eec .word 0x20020eec 804d2b8: 10624dd3 .word 0x10624dd3 804d2bc: 51eb851f .word 0x51eb851f 804d2c0: cccccccd .word 0xcccccccd 804d2c4: 20020f78 .word 0x20020f78 804d2c8: 20020f79 .word 0x20020f79 804d2cc: 20020070 .word 0x20020070 804d2d0: 20020dcc .word 0x20020dcc 804d2d4: 2002168c .word 0x2002168c 804d2d8: 20020dd2 .word 0x20020dd2 break; 804d2dc: bf00 nop 804d2de: f005 bcf3 b.w 8052cc8 break; 804d2e2: bf00 nop 804d2e4: f005 bcf0 b.w 8052cc8 break; 804d2e8: bf00 nop 804d2ea: f005 bced b.w 8052cc8 break; 804d2ee: bf00 nop } break; 804d2f0: f005 bcea b.w 8052cc8 case MAIN_SPEC_OKT: switch(menupos) 804d2f4: 4b73 ldr r3, [pc, #460] ; (804d4c4 ) 804d2f6: 781b ldrb r3, [r3, #0] 804d2f8: b2db uxtb r3, r3 804d2fa: 2b09 cmp r3, #9 804d2fc: f205 84e6 bhi.w 8052ccc 804d300: a201 add r2, pc, #4 ; (adr r2, 804d308 ) 804d302: f852 f023 ldr.w pc, [r2, r3, lsl #2] 804d306: bf00 nop 804d308: 0804d343 .word 0x0804d343 804d30c: 0804d331 .word 0x0804d331 804d310: 0804d37f .word 0x0804d37f 804d314: 0804d37f .word 0x0804d37f 804d318: 0804d37f .word 0x0804d37f 804d31c: 0804d37f .word 0x0804d37f 804d320: 0804d37f .word 0x0804d37f 804d324: 08052ccd .word 0x08052ccd 804d328: 08052ccd .word 0x08052ccd 804d32c: 0804d387 .word 0x0804d387 { case BackMenu: StopMeas(); 804d330: f7d6 fa34 bl 802379c menu = PARAM_SPEC; 804d334: 4b64 ldr r3, [pc, #400] ; (804d4c8 ) 804d336: 2207 movs r2, #7 804d338: 701a strb r2, [r3, #0] menupos = Ok; 804d33a: 4b62 ldr r3, [pc, #392] ; (804d4c4 ) 804d33c: 2200 movs r2, #0 804d33e: 701a strb r2, [r3, #0] break; 804d340: e246 b.n 804d7d0 case StartStop: if(!measuring) 804d342: 4b62 ldr r3, [pc, #392] ; (804d4cc ) 804d344: 781b ldrb r3, [r3, #0] 804d346: b2db uxtb r3, r3 804d348: f083 0301 eor.w r3, r3, #1 804d34c: b2db uxtb r3, r3 804d34e: 2b00 cmp r3, #0 804d350: d00a beq.n 804d368 { AUTOZOOM = true; 804d352: 4b5f ldr r3, [pc, #380] ; (804d4d0 ) 804d354: 2201 movs r2, #1 804d356: 701a strb r2, [r3, #0] FIRST = true; 804d358: 4b5e ldr r3, [pc, #376] ; (804d4d4 ) 804d35a: 2201 movs r2, #1 804d35c: 701a strb r2, [r3, #0] initAmplif(); 804d35e: f7d4 fb99 bl 8021a94 StartMeas(); 804d362: f7d5 fe6b bl 802303c { StopMeas(); AUTOZOOM = true; oldmenupos = menupos; } break; 804d366: e233 b.n 804d7d0 StopMeas(); 804d368: f7d6 fa18 bl 802379c AUTOZOOM = true; 804d36c: 4b58 ldr r3, [pc, #352] ; (804d4d0 ) 804d36e: 2201 movs r2, #1 804d370: 701a strb r2, [r3, #0] oldmenupos = menupos; 804d372: 4b54 ldr r3, [pc, #336] ; (804d4c4 ) 804d374: 781b ldrb r3, [r3, #0] 804d376: b2da uxtb r2, r3 804d378: 4b57 ldr r3, [pc, #348] ; (804d4d8 ) 804d37a: 701a strb r2, [r3, #0] break; 804d37c: e228 b.n 804d7d0 case ImageLeft: case ImageRight: case ZoomIn: case ZoomOut: case Cursor: AUTOZOOM = true; 804d37e: 4b54 ldr r3, [pc, #336] ; (804d4d0 ) 804d380: 2201 movs r2, #1 804d382: 701a strb r2, [r3, #0] break; 804d384: e224 b.n 804d7d0 case SaveSpec: if(CardState == MSD_READY) 804d386: 4b55 ldr r3, [pc, #340] ; (804d4dc ) 804d388: 781b ldrb r3, [r3, #0] 804d38a: b2db uxtb r3, r3 804d38c: 2b03 cmp r3, #3 804d38e: f040 8214 bne.w 804d7ba { if(!measuring) 804d392: 4b4e ldr r3, [pc, #312] ; (804d4cc ) 804d394: 781b ldrb r3, [r3, #0] 804d396: b2db uxtb r3, r3 804d398: f083 0301 eor.w r3, r3, #1 804d39c: b2db uxtb r3, r3 804d39e: 2b00 cmp r3, #0 804d3a0: f000 8215 beq.w 804d7ce { HAL_RTC_GetTime(&hrtc, &RTC_TimeStruct, RTC_FORMAT_BIN); 804d3a4: 2200 movs r2, #0 804d3a6: 494e ldr r1, [pc, #312] ; (804d4e0 ) 804d3a8: 484e ldr r0, [pc, #312] ; (804d4e4 ) 804d3aa: f06b fc1d bl 80b8be8 HAL_RTC_GetDate(&hrtc, &RTC_DateStruct, RTC_FORMAT_BIN); 804d3ae: 2200 movs r2, #0 804d3b0: 494d ldr r1, [pc, #308] ; (804d4e8 ) 804d3b2: 484c ldr r0, [pc, #304] ; (804d4e4 ) 804d3b4: f06b fd1e bl 80b8df4 Day = RTC_DateStruct.Date; 804d3b8: 4b4b ldr r3, [pc, #300] ; (804d4e8 ) 804d3ba: 789b ldrb r3, [r3, #2] 804d3bc: f8c7 308c str.w r3, [r7, #140] ; 0x8c Month = RTC_DateStruct.Month; 804d3c0: 4b49 ldr r3, [pc, #292] ; (804d4e8 ) 804d3c2: 785b ldrb r3, [r3, #1] 804d3c4: f8c7 3088 str.w r3, [r7, #136] ; 0x88 Year = RTC_DateStruct.Year + 2000; 804d3c8: 4b47 ldr r3, [pc, #284] ; (804d4e8 ) 804d3ca: 78db ldrb r3, [r3, #3] 804d3cc: f503 63fa add.w r3, r3, #2000 ; 0x7d0 804d3d0: f8c7 3084 str.w r3, [r7, #132] ; 0x84 Hour = RTC_TimeStruct.Hours; 804d3d4: 4b42 ldr r3, [pc, #264] ; (804d4e0 ) 804d3d6: 781b ldrb r3, [r3, #0] 804d3d8: f8c7 3080 str.w r3, [r7, #128] ; 0x80 Min = RTC_TimeStruct.Minutes; 804d3dc: 4b40 ldr r3, [pc, #256] ; (804d4e0 ) 804d3de: 785b ldrb r3, [r3, #1] 804d3e0: 67fb str r3, [r7, #124] ; 0x7c Sec = RTC_TimeStruct.Seconds; 804d3e2: 4b3f ldr r3, [pc, #252] ; (804d4e0 ) 804d3e4: 789b ldrb r3, [r3, #2] 804d3e6: 67bb str r3, [r7, #120] ; 0x78 memset(TEMP_MeasFileName, 0, sizeof(TEMP_MeasFileName)); 804d3e8: 2221 movs r2, #33 ; 0x21 804d3ea: 2100 movs r1, #0 804d3ec: 483f ldr r0, [pc, #252] ; (804d4ec ) 804d3ee: f07f fe2b bl 80cd048 strcpy(TEMP_MeasFileName,"1_1_"); 804d3f2: 4b3e ldr r3, [pc, #248] ; (804d4ec ) 804d3f4: 4a3e ldr r2, [pc, #248] ; (804d4f0 ) 804d3f6: 6810 ldr r0, [r2, #0] 804d3f8: 6018 str r0, [r3, #0] 804d3fa: 7912 ldrb r2, [r2, #4] 804d3fc: 711a strb r2, [r3, #4] if(pardata.IPR == ACC) strcat(TEMP_MeasFileName, "A"); 804d3fe: 4b3d ldr r3, [pc, #244] ; (804d4f4 ) 804d400: 785b ldrb r3, [r3, #1] 804d402: b2db uxtb r3, r3 804d404: 2b00 cmp r3, #0 804d406: d10c bne.n 804d422 804d408: 4838 ldr r0, [pc, #224] ; (804d4ec ) 804d40a: f7d2 ff83 bl 8020314 804d40e: 4603 mov r3, r0 804d410: 461a mov r2, r3 804d412: 4b36 ldr r3, [pc, #216] ; (804d4ec ) 804d414: 4413 add r3, r2 804d416: 4938 ldr r1, [pc, #224] ; (804d4f8 ) 804d418: 461a mov r2, r3 804d41a: 460b mov r3, r1 804d41c: 881b ldrh r3, [r3, #0] 804d41e: 8013 strh r3, [r2, #0] 804d420: e022 b.n 804d468 else if(pardata.IPR == VEL) strcat(TEMP_MeasFileName, "V"); 804d422: 4b34 ldr r3, [pc, #208] ; (804d4f4 ) 804d424: 785b ldrb r3, [r3, #1] 804d426: b2db uxtb r3, r3 804d428: 2b01 cmp r3, #1 804d42a: d10c bne.n 804d446 804d42c: 482f ldr r0, [pc, #188] ; (804d4ec ) 804d42e: f7d2 ff71 bl 8020314 804d432: 4603 mov r3, r0 804d434: 461a mov r2, r3 804d436: 4b2d ldr r3, [pc, #180] ; (804d4ec ) 804d438: 4413 add r3, r2 804d43a: 4930 ldr r1, [pc, #192] ; (804d4fc ) 804d43c: 461a mov r2, r3 804d43e: 460b mov r3, r1 804d440: 881b ldrh r3, [r3, #0] 804d442: 8013 strh r3, [r2, #0] 804d444: e010 b.n 804d468 else if(pardata.IPR == DIS) strcat(TEMP_MeasFileName, "S"); 804d446: 4b2b ldr r3, [pc, #172] ; (804d4f4 ) 804d448: 785b ldrb r3, [r3, #1] 804d44a: b2db uxtb r3, r3 804d44c: 2b02 cmp r3, #2 804d44e: d10b bne.n 804d468 804d450: 4826 ldr r0, [pc, #152] ; (804d4ec ) 804d452: f7d2 ff5f bl 8020314 804d456: 4603 mov r3, r0 804d458: 461a mov r2, r3 804d45a: 4b24 ldr r3, [pc, #144] ; (804d4ec ) 804d45c: 4413 add r3, r2 804d45e: 4928 ldr r1, [pc, #160] ; (804d500 ) 804d460: 461a mov r2, r3 804d462: 460b mov r3, r1 804d464: 881b ldrh r3, [r3, #0] 804d466: 8013 strh r3, [r2, #0] if(pardata.IVS[pardata.IPR] == PEAK) strcat(TEMP_MeasFileName, "_PK_"); 804d468: 4b22 ldr r3, [pc, #136] ; (804d4f4 ) 804d46a: 785b ldrb r3, [r3, #1] 804d46c: b2db uxtb r3, r3 804d46e: 461a mov r2, r3 804d470: 4b20 ldr r3, [pc, #128] ; (804d4f4 ) 804d472: 4413 add r3, r2 804d474: 789b ldrb r3, [r3, #2] 804d476: b2db uxtb r3, r3 804d478: 2b00 cmp r3, #0 804d47a: d10c bne.n 804d496 804d47c: 481b ldr r0, [pc, #108] ; (804d4ec ) 804d47e: f7d2 ff49 bl 8020314 804d482: 4603 mov r3, r0 804d484: 461a mov r2, r3 804d486: 4b19 ldr r3, [pc, #100] ; (804d4ec ) 804d488: 4413 add r3, r2 804d48a: 4a1e ldr r2, [pc, #120] ; (804d504 ) 804d48c: 6810 ldr r0, [r2, #0] 804d48e: 6018 str r0, [r3, #0] 804d490: 7912 ldrb r2, [r2, #4] 804d492: 711a strb r2, [r3, #4] 804d494: e052 b.n 804d53c else if(pardata.IVS[pardata.IPR] == RMS) strcat(TEMP_MeasFileName, "_RMS_"); 804d496: 4b17 ldr r3, [pc, #92] ; (804d4f4 ) 804d498: 785b ldrb r3, [r3, #1] 804d49a: b2db uxtb r3, r3 804d49c: 461a mov r2, r3 804d49e: 4b15 ldr r3, [pc, #84] ; (804d4f4 ) 804d4a0: 4413 add r3, r2 804d4a2: 789b ldrb r3, [r3, #2] 804d4a4: b2db uxtb r3, r3 804d4a6: 2b01 cmp r3, #1 804d4a8: d130 bne.n 804d50c 804d4aa: 4810 ldr r0, [pc, #64] ; (804d4ec ) 804d4ac: f7d2 ff32 bl 8020314 804d4b0: 4603 mov r3, r0 804d4b2: 461a mov r2, r3 804d4b4: 4b0d ldr r3, [pc, #52] ; (804d4ec ) 804d4b6: 4413 add r3, r2 804d4b8: 4a13 ldr r2, [pc, #76] ; (804d508 ) 804d4ba: 6810 ldr r0, [r2, #0] 804d4bc: 6018 str r0, [r3, #0] 804d4be: 8892 ldrh r2, [r2, #4] 804d4c0: 809a strh r2, [r3, #4] 804d4c2: e03b b.n 804d53c 804d4c4: 20020070 .word 0x20020070 804d4c8: 20020f78 .word 0x20020f78 804d4cc: 20020daf .word 0x20020daf 804d4d0: 2002098c .word 0x2002098c 804d4d4: 20020db2 .word 0x20020db2 804d4d8: 20020f7a .word 0x20020f7a 804d4dc: 2002164c .word 0x2002164c 804d4e0: 20025c68 .word 0x20025c68 804d4e4: 20068598 .word 0x20068598 804d4e8: 20025cec .word 0x20025cec 804d4ec: 20025c80 .word 0x20025c80 804d4f0: 080ce660 .word 0x080ce660 804d4f4: 20023e60 .word 0x20023e60 804d4f8: 080ce634 .word 0x080ce634 804d4fc: 080ce638 .word 0x080ce638 804d500: 080ce63c .word 0x080ce63c 804d504: 080ce640 .word 0x080ce640 804d508: 080ce648 .word 0x080ce648 else if(pardata.IVS[pardata.IPR] == PEAK_TO_PEAK) strcat(TEMP_MeasFileName, "_PKPK_"); 804d50c: 4bb1 ldr r3, [pc, #708] ; (804d7d4 ) 804d50e: 785b ldrb r3, [r3, #1] 804d510: b2db uxtb r3, r3 804d512: 461a mov r2, r3 804d514: 4baf ldr r3, [pc, #700] ; (804d7d4 ) 804d516: 4413 add r3, r2 804d518: 789b ldrb r3, [r3, #2] 804d51a: b2db uxtb r3, r3 804d51c: 2b02 cmp r3, #2 804d51e: d10d bne.n 804d53c 804d520: 48ad ldr r0, [pc, #692] ; (804d7d8 ) 804d522: f7d2 fef7 bl 8020314 804d526: 4603 mov r3, r0 804d528: 461a mov r2, r3 804d52a: 4bab ldr r3, [pc, #684] ; (804d7d8 ) 804d52c: 4413 add r3, r2 804d52e: 4aab ldr r2, [pc, #684] ; (804d7dc ) 804d530: 6810 ldr r0, [r2, #0] 804d532: 6018 str r0, [r3, #0] 804d534: 8891 ldrh r1, [r2, #4] 804d536: 7992 ldrb r2, [r2, #6] 804d538: 8099 strh r1, [r3, #4] 804d53a: 719a strb r2, [r3, #6] MeasFileNameLen = strlen(TEMP_MeasFileName); 804d53c: 48a6 ldr r0, [pc, #664] ; (804d7d8 ) 804d53e: f7d2 fee9 bl 8020314 804d542: 4602 mov r2, r0 804d544: 4ba6 ldr r3, [pc, #664] ; (804d7e0 ) 804d546: 601a str r2, [r3, #0] TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Year / 1000) + 48); 804d548: 4ba5 ldr r3, [pc, #660] ; (804d7e0 ) 804d54a: 681b ldr r3, [r3, #0] 804d54c: 1c5a adds r2, r3, #1 804d54e: 49a4 ldr r1, [pc, #656] ; (804d7e0 ) 804d550: 600a str r2, [r1, #0] 804d552: f8d7 2084 ldr.w r2, [r7, #132] ; 0x84 804d556: 49a3 ldr r1, [pc, #652] ; (804d7e4 ) 804d558: fba1 1202 umull r1, r2, r1, r2 804d55c: 0992 lsrs r2, r2, #6 804d55e: b2d2 uxtb r2, r2 804d560: 3230 adds r2, #48 ; 0x30 804d562: b2d1 uxtb r1, r2 804d564: 4a9c ldr r2, [pc, #624] ; (804d7d8 ) 804d566: 54d1 strb r1, [r2, r3] TEMP_MeasFileName[MeasFileNameLen++] = (char) (((Year % 1000) / 100) + 48); 804d568: 4b9d ldr r3, [pc, #628] ; (804d7e0 ) 804d56a: 681a ldr r2, [r3, #0] 804d56c: 1c53 adds r3, r2, #1 804d56e: 499c ldr r1, [pc, #624] ; (804d7e0 ) 804d570: 600b str r3, [r1, #0] 804d572: f8d7 1084 ldr.w r1, [r7, #132] ; 0x84 804d576: 4b9b ldr r3, [pc, #620] ; (804d7e4 ) 804d578: fba3 0301 umull r0, r3, r3, r1 804d57c: 099b lsrs r3, r3, #6 804d57e: f44f 707a mov.w r0, #1000 ; 0x3e8 804d582: fb00 f303 mul.w r3, r0, r3 804d586: 1acb subs r3, r1, r3 804d588: 4997 ldr r1, [pc, #604] ; (804d7e8 ) 804d58a: fba1 1303 umull r1, r3, r1, r3 804d58e: 095b lsrs r3, r3, #5 804d590: b2db uxtb r3, r3 804d592: 3330 adds r3, #48 ; 0x30 804d594: b2d9 uxtb r1, r3 804d596: 4b90 ldr r3, [pc, #576] ; (804d7d8 ) 804d598: 5499 strb r1, [r3, r2] TEMP_MeasFileName[MeasFileNameLen++] = (char) ((((Year % 1000) % 100) / 10) + 48); 804d59a: 4b91 ldr r3, [pc, #580] ; (804d7e0 ) 804d59c: 6819 ldr r1, [r3, #0] 804d59e: 1c4b adds r3, r1, #1 804d5a0: 4a8f ldr r2, [pc, #572] ; (804d7e0 ) 804d5a2: 6013 str r3, [r2, #0] 804d5a4: f8d7 2084 ldr.w r2, [r7, #132] ; 0x84 804d5a8: 4b8e ldr r3, [pc, #568] ; (804d7e4 ) 804d5aa: fba3 0302 umull r0, r3, r3, r2 804d5ae: 099b lsrs r3, r3, #6 804d5b0: f44f 707a mov.w r0, #1000 ; 0x3e8 804d5b4: fb00 f303 mul.w r3, r0, r3 804d5b8: 1ad3 subs r3, r2, r3 804d5ba: 4a8b ldr r2, [pc, #556] ; (804d7e8 ) 804d5bc: fba2 0203 umull r0, r2, r2, r3 804d5c0: 0952 lsrs r2, r2, #5 804d5c2: 2064 movs r0, #100 ; 0x64 804d5c4: fb00 f202 mul.w r2, r0, r2 804d5c8: 1a9a subs r2, r3, r2 804d5ca: 4b88 ldr r3, [pc, #544] ; (804d7ec ) 804d5cc: fba3 2302 umull r2, r3, r3, r2 804d5d0: 08db lsrs r3, r3, #3 804d5d2: b2db uxtb r3, r3 804d5d4: 3330 adds r3, #48 ; 0x30 804d5d6: b2da uxtb r2, r3 804d5d8: 4b7f ldr r3, [pc, #508] ; (804d7d8 ) 804d5da: 545a strb r2, [r3, r1] TEMP_MeasFileName[MeasFileNameLen++] = (char) ((((Year % 1000) % 100) % 10) + 48); 804d5dc: 4b80 ldr r3, [pc, #512] ; (804d7e0 ) 804d5de: 6818 ldr r0, [r3, #0] 804d5e0: 1c43 adds r3, r0, #1 804d5e2: 4a7f ldr r2, [pc, #508] ; (804d7e0 ) 804d5e4: 6013 str r3, [r2, #0] 804d5e6: f8d7 2084 ldr.w r2, [r7, #132] ; 0x84 804d5ea: 4b7e ldr r3, [pc, #504] ; (804d7e4 ) 804d5ec: fba3 1302 umull r1, r3, r3, r2 804d5f0: 099b lsrs r3, r3, #6 804d5f2: f44f 717a mov.w r1, #1000 ; 0x3e8 804d5f6: fb01 f303 mul.w r3, r1, r3 804d5fa: 1ad3 subs r3, r2, r3 804d5fc: 4a7a ldr r2, [pc, #488] ; (804d7e8 ) 804d5fe: fba2 1203 umull r1, r2, r2, r3 804d602: 0952 lsrs r2, r2, #5 804d604: 2164 movs r1, #100 ; 0x64 804d606: fb01 f202 mul.w r2, r1, r2 804d60a: 1a9a subs r2, r3, r2 804d60c: 4b77 ldr r3, [pc, #476] ; (804d7ec ) 804d60e: fba3 1302 umull r1, r3, r3, r2 804d612: 08d9 lsrs r1, r3, #3 804d614: 460b mov r3, r1 804d616: 009b lsls r3, r3, #2 804d618: 440b add r3, r1 804d61a: 005b lsls r3, r3, #1 804d61c: 1ad1 subs r1, r2, r3 804d61e: b2cb uxtb r3, r1 804d620: 3330 adds r3, #48 ; 0x30 804d622: b2da uxtb r2, r3 804d624: 4b6c ldr r3, [pc, #432] ; (804d7d8 ) 804d626: 541a strb r2, [r3, r0] //fn[l++] = '_'; TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Month / 10) + 48); 804d628: 4b6d ldr r3, [pc, #436] ; (804d7e0 ) 804d62a: 681b ldr r3, [r3, #0] 804d62c: 1c5a adds r2, r3, #1 804d62e: 496c ldr r1, [pc, #432] ; (804d7e0 ) 804d630: 600a str r2, [r1, #0] 804d632: f8d7 2088 ldr.w r2, [r7, #136] ; 0x88 804d636: 496d ldr r1, [pc, #436] ; (804d7ec ) 804d638: fba1 1202 umull r1, r2, r1, r2 804d63c: 08d2 lsrs r2, r2, #3 804d63e: b2d2 uxtb r2, r2 804d640: 3230 adds r2, #48 ; 0x30 804d642: b2d1 uxtb r1, r2 804d644: 4a64 ldr r2, [pc, #400] ; (804d7d8 ) 804d646: 54d1 strb r1, [r2, r3] TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Month % 10) + 48); 804d648: 4b65 ldr r3, [pc, #404] ; (804d7e0 ) 804d64a: 6819 ldr r1, [r3, #0] 804d64c: 1c4b adds r3, r1, #1 804d64e: 4a64 ldr r2, [pc, #400] ; (804d7e0 ) 804d650: 6013 str r3, [r2, #0] 804d652: f8d7 0088 ldr.w r0, [r7, #136] ; 0x88 804d656: 4b65 ldr r3, [pc, #404] ; (804d7ec ) 804d658: fba3 2300 umull r2, r3, r3, r0 804d65c: 08da lsrs r2, r3, #3 804d65e: 4613 mov r3, r2 804d660: 009b lsls r3, r3, #2 804d662: 4413 add r3, r2 804d664: 005b lsls r3, r3, #1 804d666: 1ac2 subs r2, r0, r3 804d668: b2d3 uxtb r3, r2 804d66a: 3330 adds r3, #48 ; 0x30 804d66c: b2da uxtb r2, r3 804d66e: 4b5a ldr r3, [pc, #360] ; (804d7d8 ) 804d670: 545a strb r2, [r3, r1] //fn[l++] = '_'; TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Day / 10) + 48); 804d672: 4b5b ldr r3, [pc, #364] ; (804d7e0 ) 804d674: 681b ldr r3, [r3, #0] 804d676: 1c5a adds r2, r3, #1 804d678: 4959 ldr r1, [pc, #356] ; (804d7e0 ) 804d67a: 600a str r2, [r1, #0] 804d67c: f8d7 208c ldr.w r2, [r7, #140] ; 0x8c 804d680: 495a ldr r1, [pc, #360] ; (804d7ec ) 804d682: fba1 1202 umull r1, r2, r1, r2 804d686: 08d2 lsrs r2, r2, #3 804d688: b2d2 uxtb r2, r2 804d68a: 3230 adds r2, #48 ; 0x30 804d68c: b2d1 uxtb r1, r2 804d68e: 4a52 ldr r2, [pc, #328] ; (804d7d8 ) 804d690: 54d1 strb r1, [r2, r3] TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Day % 10) + 48); 804d692: 4b53 ldr r3, [pc, #332] ; (804d7e0 ) 804d694: 6819 ldr r1, [r3, #0] 804d696: 1c4b adds r3, r1, #1 804d698: 4a51 ldr r2, [pc, #324] ; (804d7e0 ) 804d69a: 6013 str r3, [r2, #0] 804d69c: f8d7 008c ldr.w r0, [r7, #140] ; 0x8c 804d6a0: 4b52 ldr r3, [pc, #328] ; (804d7ec ) 804d6a2: fba3 2300 umull r2, r3, r3, r0 804d6a6: 08da lsrs r2, r3, #3 804d6a8: 4613 mov r3, r2 804d6aa: 009b lsls r3, r3, #2 804d6ac: 4413 add r3, r2 804d6ae: 005b lsls r3, r3, #1 804d6b0: 1ac2 subs r2, r0, r3 804d6b2: b2d3 uxtb r3, r2 804d6b4: 3330 adds r3, #48 ; 0x30 804d6b6: b2da uxtb r2, r3 804d6b8: 4b47 ldr r3, [pc, #284] ; (804d7d8 ) 804d6ba: 545a strb r2, [r3, r1] TEMP_MeasFileName[MeasFileNameLen++] = '_'; 804d6bc: 4b48 ldr r3, [pc, #288] ; (804d7e0 ) 804d6be: 681b ldr r3, [r3, #0] 804d6c0: 1c5a adds r2, r3, #1 804d6c2: 4947 ldr r1, [pc, #284] ; (804d7e0 ) 804d6c4: 600a str r2, [r1, #0] 804d6c6: 4a44 ldr r2, [pc, #272] ; (804d7d8 ) 804d6c8: 215f movs r1, #95 ; 0x5f 804d6ca: 54d1 strb r1, [r2, r3] TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Hour / 10) + 48); 804d6cc: 4b44 ldr r3, [pc, #272] ; (804d7e0 ) 804d6ce: 681b ldr r3, [r3, #0] 804d6d0: 1c5a adds r2, r3, #1 804d6d2: 4943 ldr r1, [pc, #268] ; (804d7e0 ) 804d6d4: 600a str r2, [r1, #0] 804d6d6: f8d7 2080 ldr.w r2, [r7, #128] ; 0x80 804d6da: 4944 ldr r1, [pc, #272] ; (804d7ec ) 804d6dc: fba1 1202 umull r1, r2, r1, r2 804d6e0: 08d2 lsrs r2, r2, #3 804d6e2: b2d2 uxtb r2, r2 804d6e4: 3230 adds r2, #48 ; 0x30 804d6e6: b2d1 uxtb r1, r2 804d6e8: 4a3b ldr r2, [pc, #236] ; (804d7d8 ) 804d6ea: 54d1 strb r1, [r2, r3] TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Hour % 10) + 48); 804d6ec: 4b3c ldr r3, [pc, #240] ; (804d7e0 ) 804d6ee: 6819 ldr r1, [r3, #0] 804d6f0: 1c4b adds r3, r1, #1 804d6f2: 4a3b ldr r2, [pc, #236] ; (804d7e0 ) 804d6f4: 6013 str r3, [r2, #0] 804d6f6: f8d7 0080 ldr.w r0, [r7, #128] ; 0x80 804d6fa: 4b3c ldr r3, [pc, #240] ; (804d7ec ) 804d6fc: fba3 2300 umull r2, r3, r3, r0 804d700: 08da lsrs r2, r3, #3 804d702: 4613 mov r3, r2 804d704: 009b lsls r3, r3, #2 804d706: 4413 add r3, r2 804d708: 005b lsls r3, r3, #1 804d70a: 1ac2 subs r2, r0, r3 804d70c: b2d3 uxtb r3, r2 804d70e: 3330 adds r3, #48 ; 0x30 804d710: b2da uxtb r2, r3 804d712: 4b31 ldr r3, [pc, #196] ; (804d7d8 ) 804d714: 545a strb r2, [r3, r1] //fn[l++] = '_'; TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Min / 10) + 48); 804d716: 4b32 ldr r3, [pc, #200] ; (804d7e0 ) 804d718: 681b ldr r3, [r3, #0] 804d71a: 1c5a adds r2, r3, #1 804d71c: 4930 ldr r1, [pc, #192] ; (804d7e0 ) 804d71e: 600a str r2, [r1, #0] 804d720: 6ffa ldr r2, [r7, #124] ; 0x7c 804d722: 4932 ldr r1, [pc, #200] ; (804d7ec ) 804d724: fba1 1202 umull r1, r2, r1, r2 804d728: 08d2 lsrs r2, r2, #3 804d72a: b2d2 uxtb r2, r2 804d72c: 3230 adds r2, #48 ; 0x30 804d72e: b2d1 uxtb r1, r2 804d730: 4a29 ldr r2, [pc, #164] ; (804d7d8 ) 804d732: 54d1 strb r1, [r2, r3] TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Min % 10) + 48); 804d734: 4b2a ldr r3, [pc, #168] ; (804d7e0 ) 804d736: 6819 ldr r1, [r3, #0] 804d738: 1c4b adds r3, r1, #1 804d73a: 4a29 ldr r2, [pc, #164] ; (804d7e0 ) 804d73c: 6013 str r3, [r2, #0] 804d73e: 6ff8 ldr r0, [r7, #124] ; 0x7c 804d740: 4b2a ldr r3, [pc, #168] ; (804d7ec ) 804d742: fba3 2300 umull r2, r3, r3, r0 804d746: 08da lsrs r2, r3, #3 804d748: 4613 mov r3, r2 804d74a: 009b lsls r3, r3, #2 804d74c: 4413 add r3, r2 804d74e: 005b lsls r3, r3, #1 804d750: 1ac2 subs r2, r0, r3 804d752: b2d3 uxtb r3, r2 804d754: 3330 adds r3, #48 ; 0x30 804d756: b2da uxtb r2, r3 804d758: 4b1f ldr r3, [pc, #124] ; (804d7d8 ) 804d75a: 545a strb r2, [r3, r1] //fn[l++] = '_'; TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Sec / 10) + 48); 804d75c: 4b20 ldr r3, [pc, #128] ; (804d7e0 ) 804d75e: 681b ldr r3, [r3, #0] 804d760: 1c5a adds r2, r3, #1 804d762: 491f ldr r1, [pc, #124] ; (804d7e0 ) 804d764: 600a str r2, [r1, #0] 804d766: 6fba ldr r2, [r7, #120] ; 0x78 804d768: 4920 ldr r1, [pc, #128] ; (804d7ec ) 804d76a: fba1 1202 umull r1, r2, r1, r2 804d76e: 08d2 lsrs r2, r2, #3 804d770: b2d2 uxtb r2, r2 804d772: 3230 adds r2, #48 ; 0x30 804d774: b2d1 uxtb r1, r2 804d776: 4a18 ldr r2, [pc, #96] ; (804d7d8 ) 804d778: 54d1 strb r1, [r2, r3] TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Sec % 10) + 48); 804d77a: 4b19 ldr r3, [pc, #100] ; (804d7e0 ) 804d77c: 6819 ldr r1, [r3, #0] 804d77e: 1c4b adds r3, r1, #1 804d780: 4a17 ldr r2, [pc, #92] ; (804d7e0 ) 804d782: 6013 str r3, [r2, #0] 804d784: 6fb8 ldr r0, [r7, #120] ; 0x78 804d786: 4b19 ldr r3, [pc, #100] ; (804d7ec ) 804d788: fba3 2300 umull r2, r3, r3, r0 804d78c: 08da lsrs r2, r3, #3 804d78e: 4613 mov r3, r2 804d790: 009b lsls r3, r3, #2 804d792: 4413 add r3, r2 804d794: 005b lsls r3, r3, #1 804d796: 1ac2 subs r2, r0, r3 804d798: b2d3 uxtb r3, r2 804d79a: 3330 adds r3, #48 ; 0x30 804d79c: b2da uxtb r2, r3 804d79e: 4b0e ldr r3, [pc, #56] ; (804d7d8 ) 804d7a0: 545a strb r2, [r3, r1] lastmenu = menu; 804d7a2: 4b13 ldr r3, [pc, #76] ; (804d7f0 ) 804d7a4: 781b ldrb r3, [r3, #0] 804d7a6: b2da uxtb r2, r3 804d7a8: 4b12 ldr r3, [pc, #72] ; (804d7f4 ) 804d7aa: 701a strb r2, [r3, #0] menu = INPUT_NAME_SPEC; 804d7ac: 4b10 ldr r3, [pc, #64] ; (804d7f0 ) 804d7ae: 222f movs r2, #47 ; 0x2f 804d7b0: 701a strb r2, [r3, #0] menupos = _ENTER; 804d7b2: 4b11 ldr r3, [pc, #68] ; (804d7f8 ) 804d7b4: 2226 movs r2, #38 ; 0x26 804d7b6: 701a strb r2, [r3, #0] { STATUS = AP_NO_CARD; timerStatus = sec2; DrawStatus = true; } break; 804d7b8: e009 b.n 804d7ce STATUS = AP_NO_CARD; 804d7ba: 4b10 ldr r3, [pc, #64] ; (804d7fc ) 804d7bc: 2211 movs r2, #17 804d7be: 601a str r2, [r3, #0] timerStatus = sec2; 804d7c0: 4b0f ldr r3, [pc, #60] ; (804d800 ) 804d7c2: f44f 5280 mov.w r2, #4096 ; 0x1000 804d7c6: 801a strh r2, [r3, #0] DrawStatus = true; 804d7c8: 4b0e ldr r3, [pc, #56] ; (804d804 ) 804d7ca: 2201 movs r2, #1 804d7cc: 701a strb r2, [r3, #0] break; 804d7ce: bf00 nop } break; 804d7d0: f005 ba7c b.w 8052ccc 804d7d4: 20023e60 .word 0x20023e60 804d7d8: 20025c80 .word 0x20025c80 804d7dc: 080ce650 .word 0x080ce650 804d7e0: 20020eec .word 0x20020eec 804d7e4: 10624dd3 .word 0x10624dd3 804d7e8: 51eb851f .word 0x51eb851f 804d7ec: cccccccd .word 0xcccccccd 804d7f0: 20020f78 .word 0x20020f78 804d7f4: 20020f79 .word 0x20020f79 804d7f8: 20020070 .word 0x20020070 804d7fc: 20020dcc .word 0x20020dcc 804d800: 2002168c .word 0x2002168c 804d804: 20020dd2 .word 0x20020dd2 case MAIN_SPEC_THIRD: switch(menupos) 804d808: 4b73 ldr r3, [pc, #460] ; (804d9d8 ) 804d80a: 781b ldrb r3, [r3, #0] 804d80c: b2db uxtb r3, r3 804d80e: 2b09 cmp r3, #9 804d810: f205 825e bhi.w 8052cd0 804d814: a201 add r2, pc, #4 ; (adr r2, 804d81c ) 804d816: f852 f023 ldr.w pc, [r2, r3, lsl #2] 804d81a: bf00 nop 804d81c: 0804d857 .word 0x0804d857 804d820: 0804d845 .word 0x0804d845 804d824: 0804d893 .word 0x0804d893 804d828: 0804d893 .word 0x0804d893 804d82c: 0804d893 .word 0x0804d893 804d830: 0804d893 .word 0x0804d893 804d834: 0804d893 .word 0x0804d893 804d838: 08052cd1 .word 0x08052cd1 804d83c: 08052cd1 .word 0x08052cd1 804d840: 0804d89b .word 0x0804d89b { case BackMenu: StopMeas(); 804d844: f7d5 ffaa bl 802379c menu = PARAM_SPEC; 804d848: 4b64 ldr r3, [pc, #400] ; (804d9dc ) 804d84a: 2207 movs r2, #7 804d84c: 701a strb r2, [r3, #0] menupos = Ok; 804d84e: 4b62 ldr r3, [pc, #392] ; (804d9d8 ) 804d850: 2200 movs r2, #0 804d852: 701a strb r2, [r3, #0] break; 804d854: e246 b.n 804dce4 case StartStop: if(!measuring) 804d856: 4b62 ldr r3, [pc, #392] ; (804d9e0 ) 804d858: 781b ldrb r3, [r3, #0] 804d85a: b2db uxtb r3, r3 804d85c: f083 0301 eor.w r3, r3, #1 804d860: b2db uxtb r3, r3 804d862: 2b00 cmp r3, #0 804d864: d00a beq.n 804d87c { AUTOZOOM = true; 804d866: 4b5f ldr r3, [pc, #380] ; (804d9e4 ) 804d868: 2201 movs r2, #1 804d86a: 701a strb r2, [r3, #0] FIRST = true; 804d86c: 4b5e ldr r3, [pc, #376] ; (804d9e8 ) 804d86e: 2201 movs r2, #1 804d870: 701a strb r2, [r3, #0] initAmplif(); 804d872: f7d4 f90f bl 8021a94 StartMeas(); 804d876: f7d5 fbe1 bl 802303c { StopMeas(); AUTOZOOM = true; oldmenupos = menupos; } break; 804d87a: e233 b.n 804dce4 StopMeas(); 804d87c: f7d5 ff8e bl 802379c AUTOZOOM = true; 804d880: 4b58 ldr r3, [pc, #352] ; (804d9e4 ) 804d882: 2201 movs r2, #1 804d884: 701a strb r2, [r3, #0] oldmenupos = menupos; 804d886: 4b54 ldr r3, [pc, #336] ; (804d9d8 ) 804d888: 781b ldrb r3, [r3, #0] 804d88a: b2da uxtb r2, r3 804d88c: 4b57 ldr r3, [pc, #348] ; (804d9ec ) 804d88e: 701a strb r2, [r3, #0] break; 804d890: e228 b.n 804dce4 case ImageLeft: case ImageRight: case ZoomIn: case ZoomOut: case Cursor: AUTOZOOM = true; 804d892: 4b54 ldr r3, [pc, #336] ; (804d9e4 ) 804d894: 2201 movs r2, #1 804d896: 701a strb r2, [r3, #0] break; 804d898: e224 b.n 804dce4 case SaveSpec: if(CardState == MSD_READY) 804d89a: 4b55 ldr r3, [pc, #340] ; (804d9f0 ) 804d89c: 781b ldrb r3, [r3, #0] 804d89e: b2db uxtb r3, r3 804d8a0: 2b03 cmp r3, #3 804d8a2: f040 8214 bne.w 804dcce { if(!measuring) 804d8a6: 4b4e ldr r3, [pc, #312] ; (804d9e0 ) 804d8a8: 781b ldrb r3, [r3, #0] 804d8aa: b2db uxtb r3, r3 804d8ac: f083 0301 eor.w r3, r3, #1 804d8b0: b2db uxtb r3, r3 804d8b2: 2b00 cmp r3, #0 804d8b4: f000 8215 beq.w 804dce2 { HAL_RTC_GetTime(&hrtc, &RTC_TimeStruct, RTC_FORMAT_BIN); 804d8b8: 2200 movs r2, #0 804d8ba: 494e ldr r1, [pc, #312] ; (804d9f4 ) 804d8bc: 484e ldr r0, [pc, #312] ; (804d9f8 ) 804d8be: f06b f993 bl 80b8be8 HAL_RTC_GetDate(&hrtc, &RTC_DateStruct, RTC_FORMAT_BIN); 804d8c2: 2200 movs r2, #0 804d8c4: 494d ldr r1, [pc, #308] ; (804d9fc ) 804d8c6: 484c ldr r0, [pc, #304] ; (804d9f8 ) 804d8c8: f06b fa94 bl 80b8df4 Day = RTC_DateStruct.Date; 804d8cc: 4b4b ldr r3, [pc, #300] ; (804d9fc ) 804d8ce: 789b ldrb r3, [r3, #2] 804d8d0: f8c7 308c str.w r3, [r7, #140] ; 0x8c Month = RTC_DateStruct.Month; 804d8d4: 4b49 ldr r3, [pc, #292] ; (804d9fc ) 804d8d6: 785b ldrb r3, [r3, #1] 804d8d8: f8c7 3088 str.w r3, [r7, #136] ; 0x88 Year = RTC_DateStruct.Year + 2000; 804d8dc: 4b47 ldr r3, [pc, #284] ; (804d9fc ) 804d8de: 78db ldrb r3, [r3, #3] 804d8e0: f503 63fa add.w r3, r3, #2000 ; 0x7d0 804d8e4: f8c7 3084 str.w r3, [r7, #132] ; 0x84 Hour = RTC_TimeStruct.Hours; 804d8e8: 4b42 ldr r3, [pc, #264] ; (804d9f4 ) 804d8ea: 781b ldrb r3, [r3, #0] 804d8ec: f8c7 3080 str.w r3, [r7, #128] ; 0x80 Min = RTC_TimeStruct.Minutes; 804d8f0: 4b40 ldr r3, [pc, #256] ; (804d9f4 ) 804d8f2: 785b ldrb r3, [r3, #1] 804d8f4: 67fb str r3, [r7, #124] ; 0x7c Sec = RTC_TimeStruct.Seconds; 804d8f6: 4b3f ldr r3, [pc, #252] ; (804d9f4 ) 804d8f8: 789b ldrb r3, [r3, #2] 804d8fa: 67bb str r3, [r7, #120] ; 0x78 memset(TEMP_MeasFileName, 0, sizeof(TEMP_MeasFileName)); 804d8fc: 2221 movs r2, #33 ; 0x21 804d8fe: 2100 movs r1, #0 804d900: 483f ldr r0, [pc, #252] ; (804da00 ) 804d902: f07f fba1 bl 80cd048 strcpy(TEMP_MeasFileName,"1_3_"); 804d906: 4b3e ldr r3, [pc, #248] ; (804da00 ) 804d908: 4a3e ldr r2, [pc, #248] ; (804da04 ) 804d90a: 6810 ldr r0, [r2, #0] 804d90c: 6018 str r0, [r3, #0] 804d90e: 7912 ldrb r2, [r2, #4] 804d910: 711a strb r2, [r3, #4] if(pardata.IPR == ACC) strcat(TEMP_MeasFileName, "A"); 804d912: 4b3d ldr r3, [pc, #244] ; (804da08 ) 804d914: 785b ldrb r3, [r3, #1] 804d916: b2db uxtb r3, r3 804d918: 2b00 cmp r3, #0 804d91a: d10c bne.n 804d936 804d91c: 4838 ldr r0, [pc, #224] ; (804da00 ) 804d91e: f7d2 fcf9 bl 8020314 804d922: 4603 mov r3, r0 804d924: 461a mov r2, r3 804d926: 4b36 ldr r3, [pc, #216] ; (804da00 ) 804d928: 4413 add r3, r2 804d92a: 4938 ldr r1, [pc, #224] ; (804da0c ) 804d92c: 461a mov r2, r3 804d92e: 460b mov r3, r1 804d930: 881b ldrh r3, [r3, #0] 804d932: 8013 strh r3, [r2, #0] 804d934: e022 b.n 804d97c else if(pardata.IPR == VEL) strcat(TEMP_MeasFileName, "V"); 804d936: 4b34 ldr r3, [pc, #208] ; (804da08 ) 804d938: 785b ldrb r3, [r3, #1] 804d93a: b2db uxtb r3, r3 804d93c: 2b01 cmp r3, #1 804d93e: d10c bne.n 804d95a 804d940: 482f ldr r0, [pc, #188] ; (804da00 ) 804d942: f7d2 fce7 bl 8020314 804d946: 4603 mov r3, r0 804d948: 461a mov r2, r3 804d94a: 4b2d ldr r3, [pc, #180] ; (804da00 ) 804d94c: 4413 add r3, r2 804d94e: 4930 ldr r1, [pc, #192] ; (804da10 ) 804d950: 461a mov r2, r3 804d952: 460b mov r3, r1 804d954: 881b ldrh r3, [r3, #0] 804d956: 8013 strh r3, [r2, #0] 804d958: e010 b.n 804d97c else if(pardata.IPR == DIS) strcat(TEMP_MeasFileName, "S"); 804d95a: 4b2b ldr r3, [pc, #172] ; (804da08 ) 804d95c: 785b ldrb r3, [r3, #1] 804d95e: b2db uxtb r3, r3 804d960: 2b02 cmp r3, #2 804d962: d10b bne.n 804d97c 804d964: 4826 ldr r0, [pc, #152] ; (804da00 ) 804d966: f7d2 fcd5 bl 8020314 804d96a: 4603 mov r3, r0 804d96c: 461a mov r2, r3 804d96e: 4b24 ldr r3, [pc, #144] ; (804da00 ) 804d970: 4413 add r3, r2 804d972: 4928 ldr r1, [pc, #160] ; (804da14 ) 804d974: 461a mov r2, r3 804d976: 460b mov r3, r1 804d978: 881b ldrh r3, [r3, #0] 804d97a: 8013 strh r3, [r2, #0] if(pardata.IVS[pardata.IPR] == PEAK) strcat(TEMP_MeasFileName, "_PK_"); 804d97c: 4b22 ldr r3, [pc, #136] ; (804da08 ) 804d97e: 785b ldrb r3, [r3, #1] 804d980: b2db uxtb r3, r3 804d982: 461a mov r2, r3 804d984: 4b20 ldr r3, [pc, #128] ; (804da08 ) 804d986: 4413 add r3, r2 804d988: 789b ldrb r3, [r3, #2] 804d98a: b2db uxtb r3, r3 804d98c: 2b00 cmp r3, #0 804d98e: d10c bne.n 804d9aa 804d990: 481b ldr r0, [pc, #108] ; (804da00 ) 804d992: f7d2 fcbf bl 8020314 804d996: 4603 mov r3, r0 804d998: 461a mov r2, r3 804d99a: 4b19 ldr r3, [pc, #100] ; (804da00 ) 804d99c: 4413 add r3, r2 804d99e: 4a1e ldr r2, [pc, #120] ; (804da18 ) 804d9a0: 6810 ldr r0, [r2, #0] 804d9a2: 6018 str r0, [r3, #0] 804d9a4: 7912 ldrb r2, [r2, #4] 804d9a6: 711a strb r2, [r3, #4] 804d9a8: e052 b.n 804da50 else if(pardata.IVS[pardata.IPR] == RMS) strcat(TEMP_MeasFileName, "_RMS_"); 804d9aa: 4b17 ldr r3, [pc, #92] ; (804da08 ) 804d9ac: 785b ldrb r3, [r3, #1] 804d9ae: b2db uxtb r3, r3 804d9b0: 461a mov r2, r3 804d9b2: 4b15 ldr r3, [pc, #84] ; (804da08 ) 804d9b4: 4413 add r3, r2 804d9b6: 789b ldrb r3, [r3, #2] 804d9b8: b2db uxtb r3, r3 804d9ba: 2b01 cmp r3, #1 804d9bc: d130 bne.n 804da20 804d9be: 4810 ldr r0, [pc, #64] ; (804da00 ) 804d9c0: f7d2 fca8 bl 8020314 804d9c4: 4603 mov r3, r0 804d9c6: 461a mov r2, r3 804d9c8: 4b0d ldr r3, [pc, #52] ; (804da00 ) 804d9ca: 4413 add r3, r2 804d9cc: 4a13 ldr r2, [pc, #76] ; (804da1c ) 804d9ce: 6810 ldr r0, [r2, #0] 804d9d0: 6018 str r0, [r3, #0] 804d9d2: 8892 ldrh r2, [r2, #4] 804d9d4: 809a strh r2, [r3, #4] 804d9d6: e03b b.n 804da50 804d9d8: 20020070 .word 0x20020070 804d9dc: 20020f78 .word 0x20020f78 804d9e0: 20020daf .word 0x20020daf 804d9e4: 2002098c .word 0x2002098c 804d9e8: 20020db2 .word 0x20020db2 804d9ec: 20020f7a .word 0x20020f7a 804d9f0: 2002164c .word 0x2002164c 804d9f4: 20025c68 .word 0x20025c68 804d9f8: 20068598 .word 0x20068598 804d9fc: 20025cec .word 0x20025cec 804da00: 20025c80 .word 0x20025c80 804da04: 080ce668 .word 0x080ce668 804da08: 20023e60 .word 0x20023e60 804da0c: 080ce634 .word 0x080ce634 804da10: 080ce638 .word 0x080ce638 804da14: 080ce63c .word 0x080ce63c 804da18: 080ce640 .word 0x080ce640 804da1c: 080ce648 .word 0x080ce648 else if(pardata.IVS[pardata.IPR] == PEAK_TO_PEAK) strcat(TEMP_MeasFileName, "_PKPK_"); 804da20: 4bb1 ldr r3, [pc, #708] ; (804dce8 ) 804da22: 785b ldrb r3, [r3, #1] 804da24: b2db uxtb r3, r3 804da26: 461a mov r2, r3 804da28: 4baf ldr r3, [pc, #700] ; (804dce8 ) 804da2a: 4413 add r3, r2 804da2c: 789b ldrb r3, [r3, #2] 804da2e: b2db uxtb r3, r3 804da30: 2b02 cmp r3, #2 804da32: d10d bne.n 804da50 804da34: 48ad ldr r0, [pc, #692] ; (804dcec ) 804da36: f7d2 fc6d bl 8020314 804da3a: 4603 mov r3, r0 804da3c: 461a mov r2, r3 804da3e: 4bab ldr r3, [pc, #684] ; (804dcec ) 804da40: 4413 add r3, r2 804da42: 4aab ldr r2, [pc, #684] ; (804dcf0 ) 804da44: 6810 ldr r0, [r2, #0] 804da46: 6018 str r0, [r3, #0] 804da48: 8891 ldrh r1, [r2, #4] 804da4a: 7992 ldrb r2, [r2, #6] 804da4c: 8099 strh r1, [r3, #4] 804da4e: 719a strb r2, [r3, #6] MeasFileNameLen = strlen(TEMP_MeasFileName); 804da50: 48a6 ldr r0, [pc, #664] ; (804dcec ) 804da52: f7d2 fc5f bl 8020314 804da56: 4602 mov r2, r0 804da58: 4ba6 ldr r3, [pc, #664] ; (804dcf4 ) 804da5a: 601a str r2, [r3, #0] TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Year / 1000) + 48); 804da5c: 4ba5 ldr r3, [pc, #660] ; (804dcf4 ) 804da5e: 681b ldr r3, [r3, #0] 804da60: 1c5a adds r2, r3, #1 804da62: 49a4 ldr r1, [pc, #656] ; (804dcf4 ) 804da64: 600a str r2, [r1, #0] 804da66: f8d7 2084 ldr.w r2, [r7, #132] ; 0x84 804da6a: 49a3 ldr r1, [pc, #652] ; (804dcf8 ) 804da6c: fba1 1202 umull r1, r2, r1, r2 804da70: 0992 lsrs r2, r2, #6 804da72: b2d2 uxtb r2, r2 804da74: 3230 adds r2, #48 ; 0x30 804da76: b2d1 uxtb r1, r2 804da78: 4a9c ldr r2, [pc, #624] ; (804dcec ) 804da7a: 54d1 strb r1, [r2, r3] TEMP_MeasFileName[MeasFileNameLen++] = (char) (((Year % 1000) / 100) + 48); 804da7c: 4b9d ldr r3, [pc, #628] ; (804dcf4 ) 804da7e: 681a ldr r2, [r3, #0] 804da80: 1c53 adds r3, r2, #1 804da82: 499c ldr r1, [pc, #624] ; (804dcf4 ) 804da84: 600b str r3, [r1, #0] 804da86: f8d7 1084 ldr.w r1, [r7, #132] ; 0x84 804da8a: 4b9b ldr r3, [pc, #620] ; (804dcf8 ) 804da8c: fba3 0301 umull r0, r3, r3, r1 804da90: 099b lsrs r3, r3, #6 804da92: f44f 707a mov.w r0, #1000 ; 0x3e8 804da96: fb00 f303 mul.w r3, r0, r3 804da9a: 1acb subs r3, r1, r3 804da9c: 4997 ldr r1, [pc, #604] ; (804dcfc ) 804da9e: fba1 1303 umull r1, r3, r1, r3 804daa2: 095b lsrs r3, r3, #5 804daa4: b2db uxtb r3, r3 804daa6: 3330 adds r3, #48 ; 0x30 804daa8: b2d9 uxtb r1, r3 804daaa: 4b90 ldr r3, [pc, #576] ; (804dcec ) 804daac: 5499 strb r1, [r3, r2] TEMP_MeasFileName[MeasFileNameLen++] = (char) ((((Year % 1000) % 100) / 10) + 48); 804daae: 4b91 ldr r3, [pc, #580] ; (804dcf4 ) 804dab0: 6819 ldr r1, [r3, #0] 804dab2: 1c4b adds r3, r1, #1 804dab4: 4a8f ldr r2, [pc, #572] ; (804dcf4 ) 804dab6: 6013 str r3, [r2, #0] 804dab8: f8d7 2084 ldr.w r2, [r7, #132] ; 0x84 804dabc: 4b8e ldr r3, [pc, #568] ; (804dcf8 ) 804dabe: fba3 0302 umull r0, r3, r3, r2 804dac2: 099b lsrs r3, r3, #6 804dac4: f44f 707a mov.w r0, #1000 ; 0x3e8 804dac8: fb00 f303 mul.w r3, r0, r3 804dacc: 1ad3 subs r3, r2, r3 804dace: 4a8b ldr r2, [pc, #556] ; (804dcfc ) 804dad0: fba2 0203 umull r0, r2, r2, r3 804dad4: 0952 lsrs r2, r2, #5 804dad6: 2064 movs r0, #100 ; 0x64 804dad8: fb00 f202 mul.w r2, r0, r2 804dadc: 1a9a subs r2, r3, r2 804dade: 4b88 ldr r3, [pc, #544] ; (804dd00 ) 804dae0: fba3 2302 umull r2, r3, r3, r2 804dae4: 08db lsrs r3, r3, #3 804dae6: b2db uxtb r3, r3 804dae8: 3330 adds r3, #48 ; 0x30 804daea: b2da uxtb r2, r3 804daec: 4b7f ldr r3, [pc, #508] ; (804dcec ) 804daee: 545a strb r2, [r3, r1] TEMP_MeasFileName[MeasFileNameLen++] = (char) ((((Year % 1000) % 100) % 10) + 48); 804daf0: 4b80 ldr r3, [pc, #512] ; (804dcf4 ) 804daf2: 6818 ldr r0, [r3, #0] 804daf4: 1c43 adds r3, r0, #1 804daf6: 4a7f ldr r2, [pc, #508] ; (804dcf4 ) 804daf8: 6013 str r3, [r2, #0] 804dafa: f8d7 2084 ldr.w r2, [r7, #132] ; 0x84 804dafe: 4b7e ldr r3, [pc, #504] ; (804dcf8 ) 804db00: fba3 1302 umull r1, r3, r3, r2 804db04: 099b lsrs r3, r3, #6 804db06: f44f 717a mov.w r1, #1000 ; 0x3e8 804db0a: fb01 f303 mul.w r3, r1, r3 804db0e: 1ad3 subs r3, r2, r3 804db10: 4a7a ldr r2, [pc, #488] ; (804dcfc ) 804db12: fba2 1203 umull r1, r2, r2, r3 804db16: 0952 lsrs r2, r2, #5 804db18: 2164 movs r1, #100 ; 0x64 804db1a: fb01 f202 mul.w r2, r1, r2 804db1e: 1a9a subs r2, r3, r2 804db20: 4b77 ldr r3, [pc, #476] ; (804dd00 ) 804db22: fba3 1302 umull r1, r3, r3, r2 804db26: 08d9 lsrs r1, r3, #3 804db28: 460b mov r3, r1 804db2a: 009b lsls r3, r3, #2 804db2c: 440b add r3, r1 804db2e: 005b lsls r3, r3, #1 804db30: 1ad1 subs r1, r2, r3 804db32: b2cb uxtb r3, r1 804db34: 3330 adds r3, #48 ; 0x30 804db36: b2da uxtb r2, r3 804db38: 4b6c ldr r3, [pc, #432] ; (804dcec ) 804db3a: 541a strb r2, [r3, r0] //fn[l++] = '_'; TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Month / 10) + 48); 804db3c: 4b6d ldr r3, [pc, #436] ; (804dcf4 ) 804db3e: 681b ldr r3, [r3, #0] 804db40: 1c5a adds r2, r3, #1 804db42: 496c ldr r1, [pc, #432] ; (804dcf4 ) 804db44: 600a str r2, [r1, #0] 804db46: f8d7 2088 ldr.w r2, [r7, #136] ; 0x88 804db4a: 496d ldr r1, [pc, #436] ; (804dd00 ) 804db4c: fba1 1202 umull r1, r2, r1, r2 804db50: 08d2 lsrs r2, r2, #3 804db52: b2d2 uxtb r2, r2 804db54: 3230 adds r2, #48 ; 0x30 804db56: b2d1 uxtb r1, r2 804db58: 4a64 ldr r2, [pc, #400] ; (804dcec ) 804db5a: 54d1 strb r1, [r2, r3] TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Month % 10) + 48); 804db5c: 4b65 ldr r3, [pc, #404] ; (804dcf4 ) 804db5e: 6819 ldr r1, [r3, #0] 804db60: 1c4b adds r3, r1, #1 804db62: 4a64 ldr r2, [pc, #400] ; (804dcf4 ) 804db64: 6013 str r3, [r2, #0] 804db66: f8d7 0088 ldr.w r0, [r7, #136] ; 0x88 804db6a: 4b65 ldr r3, [pc, #404] ; (804dd00 ) 804db6c: fba3 2300 umull r2, r3, r3, r0 804db70: 08da lsrs r2, r3, #3 804db72: 4613 mov r3, r2 804db74: 009b lsls r3, r3, #2 804db76: 4413 add r3, r2 804db78: 005b lsls r3, r3, #1 804db7a: 1ac2 subs r2, r0, r3 804db7c: b2d3 uxtb r3, r2 804db7e: 3330 adds r3, #48 ; 0x30 804db80: b2da uxtb r2, r3 804db82: 4b5a ldr r3, [pc, #360] ; (804dcec ) 804db84: 545a strb r2, [r3, r1] //fn[l++] = '_'; TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Day / 10) + 48); 804db86: 4b5b ldr r3, [pc, #364] ; (804dcf4 ) 804db88: 681b ldr r3, [r3, #0] 804db8a: 1c5a adds r2, r3, #1 804db8c: 4959 ldr r1, [pc, #356] ; (804dcf4 ) 804db8e: 600a str r2, [r1, #0] 804db90: f8d7 208c ldr.w r2, [r7, #140] ; 0x8c 804db94: 495a ldr r1, [pc, #360] ; (804dd00 ) 804db96: fba1 1202 umull r1, r2, r1, r2 804db9a: 08d2 lsrs r2, r2, #3 804db9c: b2d2 uxtb r2, r2 804db9e: 3230 adds r2, #48 ; 0x30 804dba0: b2d1 uxtb r1, r2 804dba2: 4a52 ldr r2, [pc, #328] ; (804dcec ) 804dba4: 54d1 strb r1, [r2, r3] TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Day % 10) + 48); 804dba6: 4b53 ldr r3, [pc, #332] ; (804dcf4 ) 804dba8: 6819 ldr r1, [r3, #0] 804dbaa: 1c4b adds r3, r1, #1 804dbac: 4a51 ldr r2, [pc, #324] ; (804dcf4 ) 804dbae: 6013 str r3, [r2, #0] 804dbb0: f8d7 008c ldr.w r0, [r7, #140] ; 0x8c 804dbb4: 4b52 ldr r3, [pc, #328] ; (804dd00 ) 804dbb6: fba3 2300 umull r2, r3, r3, r0 804dbba: 08da lsrs r2, r3, #3 804dbbc: 4613 mov r3, r2 804dbbe: 009b lsls r3, r3, #2 804dbc0: 4413 add r3, r2 804dbc2: 005b lsls r3, r3, #1 804dbc4: 1ac2 subs r2, r0, r3 804dbc6: b2d3 uxtb r3, r2 804dbc8: 3330 adds r3, #48 ; 0x30 804dbca: b2da uxtb r2, r3 804dbcc: 4b47 ldr r3, [pc, #284] ; (804dcec ) 804dbce: 545a strb r2, [r3, r1] TEMP_MeasFileName[MeasFileNameLen++] = '_'; 804dbd0: 4b48 ldr r3, [pc, #288] ; (804dcf4 ) 804dbd2: 681b ldr r3, [r3, #0] 804dbd4: 1c5a adds r2, r3, #1 804dbd6: 4947 ldr r1, [pc, #284] ; (804dcf4 ) 804dbd8: 600a str r2, [r1, #0] 804dbda: 4a44 ldr r2, [pc, #272] ; (804dcec ) 804dbdc: 215f movs r1, #95 ; 0x5f 804dbde: 54d1 strb r1, [r2, r3] TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Hour / 10) + 48); 804dbe0: 4b44 ldr r3, [pc, #272] ; (804dcf4 ) 804dbe2: 681b ldr r3, [r3, #0] 804dbe4: 1c5a adds r2, r3, #1 804dbe6: 4943 ldr r1, [pc, #268] ; (804dcf4 ) 804dbe8: 600a str r2, [r1, #0] 804dbea: f8d7 2080 ldr.w r2, [r7, #128] ; 0x80 804dbee: 4944 ldr r1, [pc, #272] ; (804dd00 ) 804dbf0: fba1 1202 umull r1, r2, r1, r2 804dbf4: 08d2 lsrs r2, r2, #3 804dbf6: b2d2 uxtb r2, r2 804dbf8: 3230 adds r2, #48 ; 0x30 804dbfa: b2d1 uxtb r1, r2 804dbfc: 4a3b ldr r2, [pc, #236] ; (804dcec ) 804dbfe: 54d1 strb r1, [r2, r3] TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Hour % 10) + 48); 804dc00: 4b3c ldr r3, [pc, #240] ; (804dcf4 ) 804dc02: 6819 ldr r1, [r3, #0] 804dc04: 1c4b adds r3, r1, #1 804dc06: 4a3b ldr r2, [pc, #236] ; (804dcf4 ) 804dc08: 6013 str r3, [r2, #0] 804dc0a: f8d7 0080 ldr.w r0, [r7, #128] ; 0x80 804dc0e: 4b3c ldr r3, [pc, #240] ; (804dd00 ) 804dc10: fba3 2300 umull r2, r3, r3, r0 804dc14: 08da lsrs r2, r3, #3 804dc16: 4613 mov r3, r2 804dc18: 009b lsls r3, r3, #2 804dc1a: 4413 add r3, r2 804dc1c: 005b lsls r3, r3, #1 804dc1e: 1ac2 subs r2, r0, r3 804dc20: b2d3 uxtb r3, r2 804dc22: 3330 adds r3, #48 ; 0x30 804dc24: b2da uxtb r2, r3 804dc26: 4b31 ldr r3, [pc, #196] ; (804dcec ) 804dc28: 545a strb r2, [r3, r1] //fn[l++] = '_'; TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Min / 10) + 48); 804dc2a: 4b32 ldr r3, [pc, #200] ; (804dcf4 ) 804dc2c: 681b ldr r3, [r3, #0] 804dc2e: 1c5a adds r2, r3, #1 804dc30: 4930 ldr r1, [pc, #192] ; (804dcf4 ) 804dc32: 600a str r2, [r1, #0] 804dc34: 6ffa ldr r2, [r7, #124] ; 0x7c 804dc36: 4932 ldr r1, [pc, #200] ; (804dd00 ) 804dc38: fba1 1202 umull r1, r2, r1, r2 804dc3c: 08d2 lsrs r2, r2, #3 804dc3e: b2d2 uxtb r2, r2 804dc40: 3230 adds r2, #48 ; 0x30 804dc42: b2d1 uxtb r1, r2 804dc44: 4a29 ldr r2, [pc, #164] ; (804dcec ) 804dc46: 54d1 strb r1, [r2, r3] TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Min % 10) + 48); 804dc48: 4b2a ldr r3, [pc, #168] ; (804dcf4 ) 804dc4a: 6819 ldr r1, [r3, #0] 804dc4c: 1c4b adds r3, r1, #1 804dc4e: 4a29 ldr r2, [pc, #164] ; (804dcf4 ) 804dc50: 6013 str r3, [r2, #0] 804dc52: 6ff8 ldr r0, [r7, #124] ; 0x7c 804dc54: 4b2a ldr r3, [pc, #168] ; (804dd00 ) 804dc56: fba3 2300 umull r2, r3, r3, r0 804dc5a: 08da lsrs r2, r3, #3 804dc5c: 4613 mov r3, r2 804dc5e: 009b lsls r3, r3, #2 804dc60: 4413 add r3, r2 804dc62: 005b lsls r3, r3, #1 804dc64: 1ac2 subs r2, r0, r3 804dc66: b2d3 uxtb r3, r2 804dc68: 3330 adds r3, #48 ; 0x30 804dc6a: b2da uxtb r2, r3 804dc6c: 4b1f ldr r3, [pc, #124] ; (804dcec ) 804dc6e: 545a strb r2, [r3, r1] //fn[l++] = '_'; TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Sec / 10) + 48); 804dc70: 4b20 ldr r3, [pc, #128] ; (804dcf4 ) 804dc72: 681b ldr r3, [r3, #0] 804dc74: 1c5a adds r2, r3, #1 804dc76: 491f ldr r1, [pc, #124] ; (804dcf4 ) 804dc78: 600a str r2, [r1, #0] 804dc7a: 6fba ldr r2, [r7, #120] ; 0x78 804dc7c: 4920 ldr r1, [pc, #128] ; (804dd00 ) 804dc7e: fba1 1202 umull r1, r2, r1, r2 804dc82: 08d2 lsrs r2, r2, #3 804dc84: b2d2 uxtb r2, r2 804dc86: 3230 adds r2, #48 ; 0x30 804dc88: b2d1 uxtb r1, r2 804dc8a: 4a18 ldr r2, [pc, #96] ; (804dcec ) 804dc8c: 54d1 strb r1, [r2, r3] TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Sec % 10) + 48); 804dc8e: 4b19 ldr r3, [pc, #100] ; (804dcf4 ) 804dc90: 6819 ldr r1, [r3, #0] 804dc92: 1c4b adds r3, r1, #1 804dc94: 4a17 ldr r2, [pc, #92] ; (804dcf4 ) 804dc96: 6013 str r3, [r2, #0] 804dc98: 6fb8 ldr r0, [r7, #120] ; 0x78 804dc9a: 4b19 ldr r3, [pc, #100] ; (804dd00 ) 804dc9c: fba3 2300 umull r2, r3, r3, r0 804dca0: 08da lsrs r2, r3, #3 804dca2: 4613 mov r3, r2 804dca4: 009b lsls r3, r3, #2 804dca6: 4413 add r3, r2 804dca8: 005b lsls r3, r3, #1 804dcaa: 1ac2 subs r2, r0, r3 804dcac: b2d3 uxtb r3, r2 804dcae: 3330 adds r3, #48 ; 0x30 804dcb0: b2da uxtb r2, r3 804dcb2: 4b0e ldr r3, [pc, #56] ; (804dcec ) 804dcb4: 545a strb r2, [r3, r1] lastmenu = menu; 804dcb6: 4b13 ldr r3, [pc, #76] ; (804dd04 ) 804dcb8: 781b ldrb r3, [r3, #0] 804dcba: b2da uxtb r2, r3 804dcbc: 4b12 ldr r3, [pc, #72] ; (804dd08 ) 804dcbe: 701a strb r2, [r3, #0] menu = INPUT_NAME_SPEC; 804dcc0: 4b10 ldr r3, [pc, #64] ; (804dd04 ) 804dcc2: 222f movs r2, #47 ; 0x2f 804dcc4: 701a strb r2, [r3, #0] menupos = _ENTER; 804dcc6: 4b11 ldr r3, [pc, #68] ; (804dd0c ) 804dcc8: 2226 movs r2, #38 ; 0x26 804dcca: 701a strb r2, [r3, #0] { STATUS = AP_NO_CARD; timerStatus = sec2; DrawStatus = true; } break; 804dccc: e009 b.n 804dce2 STATUS = AP_NO_CARD; 804dcce: 4b10 ldr r3, [pc, #64] ; (804dd10 ) 804dcd0: 2211 movs r2, #17 804dcd2: 601a str r2, [r3, #0] timerStatus = sec2; 804dcd4: 4b0f ldr r3, [pc, #60] ; (804dd14 ) 804dcd6: f44f 5280 mov.w r2, #4096 ; 0x1000 804dcda: 801a strh r2, [r3, #0] DrawStatus = true; 804dcdc: 4b0e ldr r3, [pc, #56] ; (804dd18 ) 804dcde: 2201 movs r2, #1 804dce0: 701a strb r2, [r3, #0] break; 804dce2: bf00 nop } break; 804dce4: f004 bff4 b.w 8052cd0 804dce8: 20023e60 .word 0x20023e60 804dcec: 20025c80 .word 0x20025c80 804dcf0: 080ce650 .word 0x080ce650 804dcf4: 20020eec .word 0x20020eec 804dcf8: 10624dd3 .word 0x10624dd3 804dcfc: 51eb851f .word 0x51eb851f 804dd00: cccccccd .word 0xcccccccd 804dd04: 20020f78 .word 0x20020f78 804dd08: 20020f79 .word 0x20020f79 804dd0c: 20020070 .word 0x20020070 804dd10: 20020dcc .word 0x20020dcc 804dd14: 2002168c .word 0x2002168c 804dd18: 20020dd2 .word 0x20020dd2 case MAIN_WAVE: // KEY_OK switch(menupos) 804dd1c: 4baf ldr r3, [pc, #700] ; (804dfdc ) 804dd1e: 781b ldrb r3, [r3, #0] 804dd20: b2db uxtb r3, r3 804dd22: 2b03 cmp r3, #3 804dd24: f204 87d6 bhi.w 8052cd4 804dd28: a201 add r2, pc, #4 ; (adr r2, 804dd30 ) 804dd2a: f852 f023 ldr.w pc, [r2, r3, lsl #2] 804dd2e: bf00 nop 804dd30: 0804dd59 .word 0x0804dd59 804dd34: 0804dd41 .word 0x0804dd41 804dd38: 0804e075 .word 0x0804e075 804dd3c: 0804e081 .word 0x0804e081 { case BackMenu: StopMeas(); 804dd40: f7d5 fd2c bl 802379c menu = PARAM_WAVE; 804dd44: 4ba6 ldr r3, [pc, #664] ; (804dfe0 ) 804dd46: 220a movs r2, #10 804dd48: 701a strb r2, [r3, #0] menupos = Ok; 804dd4a: 4ba4 ldr r3, [pc, #656] ; (804dfdc ) 804dd4c: 2200 movs r2, #0 804dd4e: 701a strb r2, [r3, #0] pardata.IVS[ACC] = PEAK; 804dd50: 4ba4 ldr r3, [pc, #656] ; (804dfe4 ) 804dd52: 2200 movs r2, #0 804dd54: 709a strb r2, [r3, #2] break; 804dd56: e224 b.n 804e1a2 case StartStop: if(CardState == MSD_READY) 804dd58: 4ba3 ldr r3, [pc, #652] ; (804dfe8 ) 804dd5a: 781b ldrb r3, [r3, #0] 804dd5c: b2db uxtb r3, r3 804dd5e: 2b03 cmp r3, #3 804dd60: f040 817d bne.w 804e05e { if(Threshold == false) 804dd64: 4ba1 ldr r3, [pc, #644] ; (804dfec ) 804dd66: 781b ldrb r3, [r3, #0] 804dd68: b2db uxtb r3, r3 804dd6a: f083 0301 eor.w r3, r3, #1 804dd6e: b2db uxtb r3, r3 804dd70: 2b00 cmp r3, #0 804dd72: f000 80b7 beq.w 804dee4 { initAmplif(); 804dd76: f7d3 fe8d bl 8021a94 StartMeas(); 804dd7a: f7d5 f95f bl 802303c if(pardata.OPTIONS & BIT7) 804dd7e: 4b99 ldr r3, [pc, #612] ; (804dfe4 ) 804dd80: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 804dd84: f003 0380 and.w r3, r3, #128 ; 0x80 804dd88: 2b00 cmp r3, #0 804dd8a: d006 beq.n 804dd9a { menupos = CalculatingFreq; 804dd8c: 4b93 ldr r3, [pc, #588] ; (804dfdc ) 804dd8e: 2204 movs r2, #4 804dd90: 701a strb r2, [r3, #0] CALC_FREQ = 1; 804dd92: 4b97 ldr r3, [pc, #604] ; (804dff0 ) 804dd94: 2201 movs r2, #1 804dd96: 701a strb r2, [r3, #0] { timerStatus = sec2; DrawStatus = true; STATUS = AP_NO_CARD; } break; 804dd98: e203 b.n 804e1a2 if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 804dd9a: 4b92 ldr r3, [pc, #584] ; (804dfe4 ) 804dd9c: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 804dda0: f003 0304 and.w r3, r3, #4 804dda4: 2b00 cmp r3, #0 804dda6: f040 8099 bne.w 804dedc MultRec = _b24V * CorrKk[ACC] * 2; 804ddaa: 4b92 ldr r3, [pc, #584] ; (804dff4 ) 804ddac: edd3 7a00 vldr s15, [r3] 804ddb0: ed9f 7a91 vldr s14, [pc, #580] ; 804dff8 804ddb4: ee67 7a87 vmul.f32 s15, s15, s14 804ddb8: ee77 7aa7 vadd.f32 s15, s15, s15 804ddbc: 4b8f ldr r3, [pc, #572] ; (804dffc ) 804ddbe: edc3 7a00 vstr s15, [r3] menupos = ReadyRec; 804ddc2: 4b86 ldr r3, [pc, #536] ; (804dfdc ) 804ddc4: 2203 movs r2, #3 804ddc6: 701a strb r2, [r3, #0] Recording = false; 804ddc8: 4b8d ldr r3, [pc, #564] ; (804e000 ) 804ddca: 2200 movs r2, #0 804ddcc: 701a strb r2, [r3, #0] RepeatKm = false; 804ddce: 4b8d ldr r3, [pc, #564] ; (804e004 ) 804ddd0: 2200 movs r2, #0 804ddd2: 701a strb r2, [r3, #0] FirstTime = false; 804ddd4: 4b8c ldr r3, [pc, #560] ; (804e008 ) 804ddd6: 2200 movs r2, #0 804ddd8: 701a strb r2, [r3, #0] if(CardState == MSD_READY) 804ddda: 4b83 ldr r3, [pc, #524] ; (804dfe8 ) 804dddc: 781b ldrb r3, [r3, #0] 804ddde: b2db uxtb r3, r3 804dde0: 2b03 cmp r3, #3 804dde2: d16d bne.n 804dec0 WavFileNameLen = strlen(WavFileName); 804dde4: 4889 ldr r0, [pc, #548] ; (804e00c ) 804dde6: f7d2 fa95 bl 8020314 804ddea: 4602 mov r2, r0 804ddec: 4b88 ldr r3, [pc, #544] ; (804e010 ) 804ddee: 601a str r2, [r3, #0] if((WavFileName[WavFileNameLen - 4] != '.') && (WavFileNameLen >= 4)) 804ddf0: 4b87 ldr r3, [pc, #540] ; (804e010 ) 804ddf2: 681b ldr r3, [r3, #0] 804ddf4: 3b04 subs r3, #4 804ddf6: 4a85 ldr r2, [pc, #532] ; (804e00c ) 804ddf8: 5cd3 ldrb r3, [r2, r3] 804ddfa: 2b2e cmp r3, #46 ; 0x2e 804ddfc: d01a beq.n 804de34 804ddfe: 4b84 ldr r3, [pc, #528] ; (804e010 ) 804de00: 681b ldr r3, [r3, #0] 804de02: 2b03 cmp r3, #3 804de04: d916 bls.n 804de34 WavFileName[WavFileNameLen - 3] = 'G'; 804de06: 4b82 ldr r3, [pc, #520] ; (804e010 ) 804de08: 681b ldr r3, [r3, #0] 804de0a: 3b03 subs r3, #3 804de0c: 4a7f ldr r2, [pc, #508] ; (804e00c ) 804de0e: 2147 movs r1, #71 ; 0x47 804de10: 54d1 strb r1, [r2, r3] WavFileName[WavFileNameLen - 2] = 'T'; 804de12: 4b7f ldr r3, [pc, #508] ; (804e010 ) 804de14: 681b ldr r3, [r3, #0] 804de16: 3b02 subs r3, #2 804de18: 4a7c ldr r2, [pc, #496] ; (804e00c ) 804de1a: 2154 movs r1, #84 ; 0x54 804de1c: 54d1 strb r1, [r2, r3] WavFileName[WavFileNameLen - 1] = 'R'; 804de1e: 4b7c ldr r3, [pc, #496] ; (804e010 ) 804de20: 681b ldr r3, [r3, #0] 804de22: 3b01 subs r3, #1 804de24: 4a79 ldr r2, [pc, #484] ; (804e00c ) 804de26: 2152 movs r1, #82 ; 0x52 804de28: 54d1 strb r1, [r2, r3] WavFileName[WavFileNameLen] = '\0'; 804de2a: 4b79 ldr r3, [pc, #484] ; (804e010 ) 804de2c: 681b ldr r3, [r3, #0] 804de2e: 4a77 ldr r2, [pc, #476] ; (804e00c ) 804de30: 2100 movs r1, #0 804de32: 54d1 strb r1, [r2, r3] result = CreateFileGTR(WavFileName); 804de34: 4875 ldr r0, [pc, #468] ; (804e00c ) 804de36: f7d6 f9a3 bl 8024180 804de3a: 4603 mov r3, r0 804de3c: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 804de40: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 804de44: 2b00 cmp r3, #0 804de46: d105 bne.n 804de54 STATUS = AP_OK; 804de48: 4b72 ldr r3, [pc, #456] ; (804e014 ) 804de4a: 2200 movs r2, #0 804de4c: 601a str r2, [r3, #0] StartRecording(); 804de4e: f7d5 fc15 bl 802367c break; 804de52: e1a6 b.n 804e1a2 Recording = false; 804de54: 4b6a ldr r3, [pc, #424] ; (804e000 ) 804de56: 2200 movs r2, #0 804de58: 701a strb r2, [r3, #0] StopMeas(); //// ADDED 804de5a: f7d5 fc9f bl 802379c menupos = StartStop; //// ADDED 804de5e: 4b5f ldr r3, [pc, #380] ; (804dfdc ) 804de60: 2200 movs r2, #0 804de62: 701a strb r2, [r3, #0] switch(result) 804de64: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 804de68: 3b03 subs r3, #3 804de6a: 2b06 cmp r3, #6 804de6c: d81c bhi.n 804dea8 804de6e: a201 add r2, pc, #4 ; (adr r2, 804de74 ) 804de70: f852 f023 ldr.w pc, [r2, r3, lsl #2] 804de74: 0804de91 .word 0x0804de91 804de78: 0804de99 .word 0x0804de99 804de7c: 0804dea9 .word 0x0804dea9 804de80: 0804dea9 .word 0x0804dea9 804de84: 0804dea9 .word 0x0804dea9 804de88: 0804dea1 .word 0x0804dea1 804de8c: 0804de99 .word 0x0804de99 STATUS = AP_NO_CARD; 804de90: 4b60 ldr r3, [pc, #384] ; (804e014 ) 804de92: 2211 movs r2, #17 804de94: 601a str r2, [r3, #0] break; 804de96: e00b b.n 804deb0 STATUS = AP_INVALID_FILE; 804de98: 4b5e ldr r3, [pc, #376] ; (804e014 ) 804de9a: 2202 movs r2, #2 804de9c: 601a str r2, [r3, #0] break; 804de9e: e007 b.n 804deb0 STATUS = AP_FILE_EXIST; 804dea0: 4b5c ldr r3, [pc, #368] ; (804e014 ) 804dea2: 2206 movs r2, #6 804dea4: 601a str r2, [r3, #0] break; 804dea6: e003 b.n 804deb0 STATUS = AP_DISK_ERROR; 804dea8: 4b5a ldr r3, [pc, #360] ; (804e014 ) 804deaa: 220b movs r2, #11 804deac: 601a str r2, [r3, #0] break; 804deae: bf00 nop timerStatus = sec2; 804deb0: 4b59 ldr r3, [pc, #356] ; (804e018 ) 804deb2: f44f 5280 mov.w r2, #4096 ; 0x1000 804deb6: 801a strh r2, [r3, #0] DrawStatus = true; 804deb8: 4b58 ldr r3, [pc, #352] ; (804e01c ) 804deba: 2201 movs r2, #1 804debc: 701a strb r2, [r3, #0] break; 804debe: e170 b.n 804e1a2 Recording = false; 804dec0: 4b4f ldr r3, [pc, #316] ; (804e000 ) 804dec2: 2200 movs r2, #0 804dec4: 701a strb r2, [r3, #0] timerStatus = sec2; 804dec6: 4b54 ldr r3, [pc, #336] ; (804e018 ) 804dec8: f44f 5280 mov.w r2, #4096 ; 0x1000 804decc: 801a strh r2, [r3, #0] DrawStatus = true; 804dece: 4b53 ldr r3, [pc, #332] ; (804e01c ) 804ded0: 2201 movs r2, #1 804ded2: 701a strb r2, [r3, #0] STATUS = AP_NO_CARD; 804ded4: 4b4f ldr r3, [pc, #316] ; (804e014 ) 804ded6: 2211 movs r2, #17 804ded8: 601a str r2, [r3, #0] break; 804deda: e162 b.n 804e1a2 menupos = GainSelecting; 804dedc: 4b3f ldr r3, [pc, #252] ; (804dfdc ) 804dede: 2202 movs r2, #2 804dee0: 701a strb r2, [r3, #0] break; 804dee2: e15e b.n 804e1a2 if(measuring == false) 804dee4: 4b4e ldr r3, [pc, #312] ; (804e020 ) 804dee6: 781b ldrb r3, [r3, #0] 804dee8: b2db uxtb r3, r3 804deea: f083 0301 eor.w r3, r3, #1 804deee: b2db uxtb r3, r3 804def0: 2b00 cmp r3, #0 804def2: f000 80a5 beq.w 804e040 menupos = StartStop; 804def6: 4b39 ldr r3, [pc, #228] ; (804dfdc ) 804def8: 2200 movs r2, #0 804defa: 701a strb r2, [r3, #0] if(CardState == MSD_READY) 804defc: 4b3a ldr r3, [pc, #232] ; (804dfe8 ) 804defe: 781b ldrb r3, [r3, #0] 804df00: b2db uxtb r3, r3 804df02: 2b03 cmp r3, #3 804df04: f040 808e bne.w 804e024 WavFileNameLen = strlen(WavFileName); 804df08: 4840 ldr r0, [pc, #256] ; (804e00c ) 804df0a: f7d2 fa03 bl 8020314 804df0e: 4602 mov r2, r0 804df10: 4b3f ldr r3, [pc, #252] ; (804e010 ) 804df12: 601a str r2, [r3, #0] if((WavFileName[WavFileNameLen - 4] != '.') && (WavFileNameLen >= 4)) 804df14: 4b3e ldr r3, [pc, #248] ; (804e010 ) 804df16: 681b ldr r3, [r3, #0] 804df18: 3b04 subs r3, #4 804df1a: 4a3c ldr r2, [pc, #240] ; (804e00c ) 804df1c: 5cd3 ldrb r3, [r2, r3] 804df1e: 2b2e cmp r3, #46 ; 0x2e 804df20: d01a beq.n 804df58 804df22: 4b3b ldr r3, [pc, #236] ; (804e010 ) 804df24: 681b ldr r3, [r3, #0] 804df26: 2b03 cmp r3, #3 804df28: d916 bls.n 804df58 WavFileName[WavFileNameLen - 3] = 'G'; 804df2a: 4b39 ldr r3, [pc, #228] ; (804e010 ) 804df2c: 681b ldr r3, [r3, #0] 804df2e: 3b03 subs r3, #3 804df30: 4a36 ldr r2, [pc, #216] ; (804e00c ) 804df32: 2147 movs r1, #71 ; 0x47 804df34: 54d1 strb r1, [r2, r3] WavFileName[WavFileNameLen - 2] = 'T'; 804df36: 4b36 ldr r3, [pc, #216] ; (804e010 ) 804df38: 681b ldr r3, [r3, #0] 804df3a: 3b02 subs r3, #2 804df3c: 4a33 ldr r2, [pc, #204] ; (804e00c ) 804df3e: 2154 movs r1, #84 ; 0x54 804df40: 54d1 strb r1, [r2, r3] WavFileName[WavFileNameLen - 1] = 'R'; 804df42: 4b33 ldr r3, [pc, #204] ; (804e010 ) 804df44: 681b ldr r3, [r3, #0] 804df46: 3b01 subs r3, #1 804df48: 4a30 ldr r2, [pc, #192] ; (804e00c ) 804df4a: 2152 movs r1, #82 ; 0x52 804df4c: 54d1 strb r1, [r2, r3] WavFileName[WavFileNameLen] = '\0'; 804df4e: 4b30 ldr r3, [pc, #192] ; (804e010 ) 804df50: 681b ldr r3, [r3, #0] 804df52: 4a2e ldr r2, [pc, #184] ; (804e00c ) 804df54: 2100 movs r1, #0 804df56: 54d1 strb r1, [r2, r3] result = CreateFileGTR(WavFileName); 804df58: 482c ldr r0, [pc, #176] ; (804e00c ) 804df5a: f7d6 f911 bl 8024180 804df5e: 4603 mov r3, r0 804df60: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 804df64: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 804df68: 2b00 cmp r3, #0 804df6a: d105 bne.n 804df78 STATUS = AP_OK; 804df6c: 4b29 ldr r3, [pc, #164] ; (804e014 ) 804df6e: 2200 movs r2, #0 804df70: 601a str r2, [r3, #0] StartMeas(); 804df72: f7d5 f863 bl 802303c break; 804df76: e114 b.n 804e1a2 Recording = false; 804df78: 4b21 ldr r3, [pc, #132] ; (804e000 ) 804df7a: 2200 movs r2, #0 804df7c: 701a strb r2, [r3, #0] switch(result) 804df7e: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 804df82: 3b03 subs r3, #3 804df84: 2b06 cmp r3, #6 804df86: d81d bhi.n 804dfc4 804df88: a201 add r2, pc, #4 ; (adr r2, 804df90 ) 804df8a: f852 f023 ldr.w pc, [r2, r3, lsl #2] 804df8e: bf00 nop 804df90: 0804dfad .word 0x0804dfad 804df94: 0804dfb5 .word 0x0804dfb5 804df98: 0804dfc5 .word 0x0804dfc5 804df9c: 0804dfc5 .word 0x0804dfc5 804dfa0: 0804dfc5 .word 0x0804dfc5 804dfa4: 0804dfbd .word 0x0804dfbd 804dfa8: 0804dfb5 .word 0x0804dfb5 STATUS = AP_NO_CARD; 804dfac: 4b19 ldr r3, [pc, #100] ; (804e014 ) 804dfae: 2211 movs r2, #17 804dfb0: 601a str r2, [r3, #0] break; 804dfb2: e00b b.n 804dfcc STATUS = AP_INVALID_FILE; 804dfb4: 4b17 ldr r3, [pc, #92] ; (804e014 ) 804dfb6: 2202 movs r2, #2 804dfb8: 601a str r2, [r3, #0] break; 804dfba: e007 b.n 804dfcc STATUS = AP_FILE_EXIST; 804dfbc: 4b15 ldr r3, [pc, #84] ; (804e014 ) 804dfbe: 2206 movs r2, #6 804dfc0: 601a str r2, [r3, #0] break; 804dfc2: e003 b.n 804dfcc STATUS = AP_DISK_ERROR; 804dfc4: 4b13 ldr r3, [pc, #76] ; (804e014 ) 804dfc6: 220b movs r2, #11 804dfc8: 601a str r2, [r3, #0] break; 804dfca: bf00 nop timerStatus = sec2; 804dfcc: 4b12 ldr r3, [pc, #72] ; (804e018 ) 804dfce: f44f 5280 mov.w r2, #4096 ; 0x1000 804dfd2: 801a strh r2, [r3, #0] DrawStatus = true; 804dfd4: 4b11 ldr r3, [pc, #68] ; (804e01c ) 804dfd6: 2201 movs r2, #1 804dfd8: 701a strb r2, [r3, #0] break; 804dfda: e0e2 b.n 804e1a2 804dfdc: 20020070 .word 0x20020070 804dfe0: 20020f78 .word 0x20020f78 804dfe4: 20023e60 .word 0x20023e60 804dfe8: 2002164c .word 0x2002164c 804dfec: 20020db1 .word 0x20020db1 804dff0: 20021010 .word 0x20021010 804dff4: 20020080 .word 0x20020080 804dff8: 2f449ba8 .word 0x2f449ba8 804dffc: 200261c8 .word 0x200261c8 804e000: 20020db0 .word 0x20020db0 804e004: 20020dac .word 0x20020dac 804e008: 20020dae .word 0x20020dae 804e00c: 20020e34 .word 0x20020e34 804e010: 20020ee8 .word 0x20020ee8 804e014: 20020dcc .word 0x20020dcc 804e018: 2002168c .word 0x2002168c 804e01c: 20020dd2 .word 0x20020dd2 804e020: 20020daf .word 0x20020daf Recording = false; 804e024: 4b95 ldr r3, [pc, #596] ; (804e27c ) 804e026: 2200 movs r2, #0 804e028: 701a strb r2, [r3, #0] timerStatus = sec2; 804e02a: 4b95 ldr r3, [pc, #596] ; (804e280 ) 804e02c: f44f 5280 mov.w r2, #4096 ; 0x1000 804e030: 801a strh r2, [r3, #0] DrawStatus = true; 804e032: 4b94 ldr r3, [pc, #592] ; (804e284 ) 804e034: 2201 movs r2, #1 804e036: 701a strb r2, [r3, #0] STATUS = AP_NO_CARD; 804e038: 4b93 ldr r3, [pc, #588] ; (804e288 ) 804e03a: 2211 movs r2, #17 804e03c: 601a str r2, [r3, #0] break; 804e03e: e0b0 b.n 804e1a2 if(Recording == true) 804e040: 4b8e ldr r3, [pc, #568] ; (804e27c ) 804e042: 781b ldrb r3, [r3, #0] 804e044: b2db uxtb r3, r3 804e046: 2b00 cmp r3, #0 804e048: d006 beq.n 804e058 NeedSTOP = true; 804e04a: 4b90 ldr r3, [pc, #576] ; (804e28c ) 804e04c: 2201 movs r2, #1 804e04e: 701a strb r2, [r3, #0] menupos = StartStop; 804e050: 4b8f ldr r3, [pc, #572] ; (804e290 ) 804e052: 2200 movs r2, #0 804e054: 701a strb r2, [r3, #0] break; 804e056: e0a4 b.n 804e1a2 StopMeas(); 804e058: f7d5 fba0 bl 802379c break; 804e05c: e0a1 b.n 804e1a2 timerStatus = sec2; 804e05e: 4b88 ldr r3, [pc, #544] ; (804e280 ) 804e060: f44f 5280 mov.w r2, #4096 ; 0x1000 804e064: 801a strh r2, [r3, #0] DrawStatus = true; 804e066: 4b87 ldr r3, [pc, #540] ; (804e284 ) 804e068: 2201 movs r2, #1 804e06a: 701a strb r2, [r3, #0] STATUS = AP_NO_CARD; 804e06c: 4b86 ldr r3, [pc, #536] ; (804e288 ) 804e06e: 2211 movs r2, #17 804e070: 601a str r2, [r3, #0] break; 804e072: e096 b.n 804e1a2 case GainSelecting: StopMeas(); 804e074: f7d5 fb92 bl 802379c menupos = StartStop; 804e078: 4b85 ldr r3, [pc, #532] ; (804e290 ) 804e07a: 2200 movs r2, #0 804e07c: 701a strb r2, [r3, #0] break; 804e07e: e090 b.n 804e1a2 case ReadyRec: if(!Recording) 804e080: 4b7e ldr r3, [pc, #504] ; (804e27c ) 804e082: 781b ldrb r3, [r3, #0] 804e084: b2db uxtb r3, r3 804e086: f083 0301 eor.w r3, r3, #1 804e08a: b2db uxtb r3, r3 804e08c: 2b00 cmp r3, #0 804e08e: f000 8081 beq.w 804e194 { if(CardState == MSD_READY) 804e092: 4b80 ldr r3, [pc, #512] ; (804e294 ) 804e094: 781b ldrb r3, [r3, #0] 804e096: b2db uxtb r3, r3 804e098: 2b03 cmp r3, #3 804e09a: d16d bne.n 804e178 { WavFileNameLen = strlen(WavFileName); 804e09c: 487e ldr r0, [pc, #504] ; (804e298 ) 804e09e: f7d2 f939 bl 8020314 804e0a2: 4602 mov r2, r0 804e0a4: 4b7d ldr r3, [pc, #500] ; (804e29c ) 804e0a6: 601a str r2, [r3, #0] if((WavFileName[WavFileNameLen - 4] != '.') && (WavFileNameLen >= 4)) 804e0a8: 4b7c ldr r3, [pc, #496] ; (804e29c ) 804e0aa: 681b ldr r3, [r3, #0] 804e0ac: 3b04 subs r3, #4 804e0ae: 4a7a ldr r2, [pc, #488] ; (804e298 ) 804e0b0: 5cd3 ldrb r3, [r2, r3] 804e0b2: 2b2e cmp r3, #46 ; 0x2e 804e0b4: d01a beq.n 804e0ec 804e0b6: 4b79 ldr r3, [pc, #484] ; (804e29c ) 804e0b8: 681b ldr r3, [r3, #0] 804e0ba: 2b03 cmp r3, #3 804e0bc: d916 bls.n 804e0ec { WavFileName[WavFileNameLen - 3] = 'G'; 804e0be: 4b77 ldr r3, [pc, #476] ; (804e29c ) 804e0c0: 681b ldr r3, [r3, #0] 804e0c2: 3b03 subs r3, #3 804e0c4: 4a74 ldr r2, [pc, #464] ; (804e298 ) 804e0c6: 2147 movs r1, #71 ; 0x47 804e0c8: 54d1 strb r1, [r2, r3] WavFileName[WavFileNameLen - 2] = 'T'; 804e0ca: 4b74 ldr r3, [pc, #464] ; (804e29c ) 804e0cc: 681b ldr r3, [r3, #0] 804e0ce: 3b02 subs r3, #2 804e0d0: 4a71 ldr r2, [pc, #452] ; (804e298 ) 804e0d2: 2154 movs r1, #84 ; 0x54 804e0d4: 54d1 strb r1, [r2, r3] WavFileName[WavFileNameLen - 1] = 'R'; 804e0d6: 4b71 ldr r3, [pc, #452] ; (804e29c ) 804e0d8: 681b ldr r3, [r3, #0] 804e0da: 3b01 subs r3, #1 804e0dc: 4a6e ldr r2, [pc, #440] ; (804e298 ) 804e0de: 2152 movs r1, #82 ; 0x52 804e0e0: 54d1 strb r1, [r2, r3] WavFileName[WavFileNameLen] = '\0'; 804e0e2: 4b6e ldr r3, [pc, #440] ; (804e29c ) 804e0e4: 681b ldr r3, [r3, #0] 804e0e6: 4a6c ldr r2, [pc, #432] ; (804e298 ) 804e0e8: 2100 movs r1, #0 804e0ea: 54d1 strb r1, [r2, r3] } result = CreateFileGTR(WavFileName); 804e0ec: 486a ldr r0, [pc, #424] ; (804e298 ) 804e0ee: f7d6 f847 bl 8024180 804e0f2: 4603 mov r3, r0 804e0f4: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 804e0f8: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 804e0fc: 2b00 cmp r3, #0 804e0fe: d105 bne.n 804e10c { STATUS = AP_OK; 804e100: 4b61 ldr r3, [pc, #388] ; (804e288 ) 804e102: 2200 movs r2, #0 804e104: 601a str r2, [r3, #0] StartRecording(); 804e106: f7d5 fab9 bl 802367c else { NeedSTOP = true; menupos = StartStop; } break; 804e10a: e049 b.n 804e1a0 Recording = false; 804e10c: 4b5b ldr r3, [pc, #364] ; (804e27c ) 804e10e: 2200 movs r2, #0 804e110: 701a strb r2, [r3, #0] StopMeas(); //// ADDED 804e112: f7d5 fb43 bl 802379c menupos = StartStop; //// ADDED 804e116: 4b5e ldr r3, [pc, #376] ; (804e290 ) 804e118: 2200 movs r2, #0 804e11a: 701a strb r2, [r3, #0] switch(result) 804e11c: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 804e120: 3b03 subs r3, #3 804e122: 2b06 cmp r3, #6 804e124: d81c bhi.n 804e160 804e126: a201 add r2, pc, #4 ; (adr r2, 804e12c ) 804e128: f852 f023 ldr.w pc, [r2, r3, lsl #2] 804e12c: 0804e149 .word 0x0804e149 804e130: 0804e151 .word 0x0804e151 804e134: 0804e161 .word 0x0804e161 804e138: 0804e161 .word 0x0804e161 804e13c: 0804e161 .word 0x0804e161 804e140: 0804e159 .word 0x0804e159 804e144: 0804e151 .word 0x0804e151 STATUS = AP_NO_CARD; 804e148: 4b4f ldr r3, [pc, #316] ; (804e288 ) 804e14a: 2211 movs r2, #17 804e14c: 601a str r2, [r3, #0] break; 804e14e: e00b b.n 804e168 STATUS = AP_INVALID_FILE; 804e150: 4b4d ldr r3, [pc, #308] ; (804e288 ) 804e152: 2202 movs r2, #2 804e154: 601a str r2, [r3, #0] break; 804e156: e007 b.n 804e168 STATUS = AP_FILE_EXIST; 804e158: 4b4b ldr r3, [pc, #300] ; (804e288 ) 804e15a: 2206 movs r2, #6 804e15c: 601a str r2, [r3, #0] break; 804e15e: e003 b.n 804e168 STATUS = AP_DISK_ERROR; 804e160: 4b49 ldr r3, [pc, #292] ; (804e288 ) 804e162: 220b movs r2, #11 804e164: 601a str r2, [r3, #0] break; 804e166: bf00 nop timerStatus = sec2; 804e168: 4b45 ldr r3, [pc, #276] ; (804e280 ) 804e16a: f44f 5280 mov.w r2, #4096 ; 0x1000 804e16e: 801a strh r2, [r3, #0] DrawStatus = true; 804e170: 4b44 ldr r3, [pc, #272] ; (804e284 ) 804e172: 2201 movs r2, #1 804e174: 701a strb r2, [r3, #0] break; 804e176: e013 b.n 804e1a0 Recording = false; 804e178: 4b40 ldr r3, [pc, #256] ; (804e27c ) 804e17a: 2200 movs r2, #0 804e17c: 701a strb r2, [r3, #0] timerStatus = sec2; 804e17e: 4b40 ldr r3, [pc, #256] ; (804e280 ) 804e180: f44f 5280 mov.w r2, #4096 ; 0x1000 804e184: 801a strh r2, [r3, #0] DrawStatus = true; 804e186: 4b3f ldr r3, [pc, #252] ; (804e284 ) 804e188: 2201 movs r2, #1 804e18a: 701a strb r2, [r3, #0] STATUS = AP_NO_CARD; 804e18c: 4b3e ldr r3, [pc, #248] ; (804e288 ) 804e18e: 2211 movs r2, #17 804e190: 601a str r2, [r3, #0] break; 804e192: e005 b.n 804e1a0 NeedSTOP = true; 804e194: 4b3d ldr r3, [pc, #244] ; (804e28c ) 804e196: 2201 movs r2, #1 804e198: 701a strb r2, [r3, #0] menupos = StartStop; 804e19a: 4b3d ldr r3, [pc, #244] ; (804e290 ) 804e19c: 2200 movs r2, #0 804e19e: 701a strb r2, [r3, #0] break; 804e1a0: bf00 nop } break; 804e1a2: f004 bd97 b.w 8052cd4 case MAIN_SYGNAL: //TODO switch(menupos) 804e1a6: 4b3a ldr r3, [pc, #232] ; (804e290 ) 804e1a8: 781b ldrb r3, [r3, #0] 804e1aa: b2db uxtb r3, r3 804e1ac: 2b07 cmp r3, #7 804e1ae: f204 8593 bhi.w 8052cd8 804e1b2: a201 add r2, pc, #4 ; (adr r2, 804e1b8 ) 804e1b4: f852 f023 ldr.w pc, [r2, r3, lsl #2] 804e1b8: 0804e41f .word 0x0804e41f 804e1bc: 0804e1d9 .word 0x0804e1d9 804e1c0: 0804e1e7 .word 0x0804e1e7 804e1c4: 0804e2b1 .word 0x0804e2b1 804e1c8: 0804e371 .word 0x0804e371 804e1cc: 0804e23b .word 0x0804e23b 804e1d0: 0804e513 .word 0x0804e513 804e1d4: 0804e465 .word 0x0804e465 { case BackMenu: menu = ARCHIVE_WAVE; 804e1d8: 4b31 ldr r3, [pc, #196] ; (804e2a0 ) 804e1da: 2217 movs r2, #23 804e1dc: 701a strb r2, [r3, #0] menupos = FilesGTR; 804e1de: 4b2c ldr r3, [pc, #176] ; (804e290 ) 804e1e0: 2202 movs r2, #2 804e1e2: 701a strb r2, [r3, #0] break; 804e1e4: e1a6 b.n 804e534 case ImageLeft: if((!FIRST) && (PlayingState.State != PLAYING)) 804e1e6: 4b2f ldr r3, [pc, #188] ; (804e2a4 ) 804e1e8: 781b ldrb r3, [r3, #0] 804e1ea: b2db uxtb r3, r3 804e1ec: f083 0301 eor.w r3, r3, #1 804e1f0: b2db uxtb r3, r3 804e1f2: 2b00 cmp r3, #0 804e1f4: f000 8191 beq.w 804e51a 804e1f8: 4b2b ldr r3, [pc, #172] ; (804e2a8 ) 804e1fa: 6a5b ldr r3, [r3, #36] ; 0x24 804e1fc: 2b01 cmp r3, #1 804e1fe: f000 818c beq.w 804e51a { if(PlayingState.CurrentFrame > 0) 804e202: 4b29 ldr r3, [pc, #164] ; (804e2a8 ) 804e204: 681b ldr r3, [r3, #0] 804e206: 2b00 cmp r3, #0 804e208: f000 8187 beq.w 804e51a { if(PlayingState.CurrentFrame == PlayingState.NumFrames) PlayingState.CurrentFrame -= 2; 804e20c: 4b26 ldr r3, [pc, #152] ; (804e2a8 ) 804e20e: 681a ldr r2, [r3, #0] 804e210: 4b25 ldr r3, [pc, #148] ; (804e2a8 ) 804e212: 685b ldr r3, [r3, #4] 804e214: 429a cmp r2, r3 804e216: d105 bne.n 804e224 804e218: 4b23 ldr r3, [pc, #140] ; (804e2a8 ) 804e21a: 681b ldr r3, [r3, #0] 804e21c: 3b02 subs r3, #2 804e21e: 4a22 ldr r2, [pc, #136] ; (804e2a8 ) 804e220: 6013 str r3, [r2, #0] 804e222: e004 b.n 804e22e else PlayingState.CurrentFrame--; 804e224: 4b20 ldr r3, [pc, #128] ; (804e2a8 ) 804e226: 681b ldr r3, [r3, #0] 804e228: 3b01 subs r3, #1 804e22a: 4a1f ldr r2, [pc, #124] ; (804e2a8 ) 804e22c: 6013 str r3, [r2, #0] if(FR_OK == RewindFileGTR()) 804e22e: f7da fd15 bl 8028c5c { //PlayingState.State = PLAYING; //FIRST = false; } AUTOZOOM = true; 804e232: 4b1e ldr r3, [pc, #120] ; (804e2ac ) 804e234: 2201 movs r2, #1 804e236: 701a strb r2, [r3, #0] } } break; 804e238: e16f b.n 804e51a case ImageRight: if((!FIRST) && (PlayingState.State != PLAYING)) 804e23a: 4b1a ldr r3, [pc, #104] ; (804e2a4 ) 804e23c: 781b ldrb r3, [r3, #0] 804e23e: b2db uxtb r3, r3 804e240: f083 0301 eor.w r3, r3, #1 804e244: b2db uxtb r3, r3 804e246: 2b00 cmp r3, #0 804e248: f000 816a beq.w 804e520 804e24c: 4b16 ldr r3, [pc, #88] ; (804e2a8 ) 804e24e: 6a5b ldr r3, [r3, #36] ; 0x24 804e250: 2b01 cmp r3, #1 804e252: f000 8165 beq.w 804e520 { if((PlayingState.CurrentFrame + 1) < PlayingState.NumFrames) 804e256: 4b14 ldr r3, [pc, #80] ; (804e2a8 ) 804e258: 681b ldr r3, [r3, #0] 804e25a: 1c5a adds r2, r3, #1 804e25c: 4b12 ldr r3, [pc, #72] ; (804e2a8 ) 804e25e: 685b ldr r3, [r3, #4] 804e260: 429a cmp r2, r3 804e262: f080 815d bcs.w 804e520 { PlayingState.CurrentFrame++; 804e266: 4b10 ldr r3, [pc, #64] ; (804e2a8 ) 804e268: 681b ldr r3, [r3, #0] 804e26a: 3301 adds r3, #1 804e26c: 4a0e ldr r2, [pc, #56] ; (804e2a8 ) 804e26e: 6013 str r3, [r2, #0] if(FR_OK == RewindFileGTR()) 804e270: f7da fcf4 bl 8028c5c { //PlayingState.State = PLAYING; //FIRST = false; } AUTOZOOM = true; 804e274: 4b0d ldr r3, [pc, #52] ; (804e2ac ) 804e276: 2201 movs r2, #1 804e278: 701a strb r2, [r3, #0] } } break; 804e27a: e151 b.n 804e520 804e27c: 20020db0 .word 0x20020db0 804e280: 2002168c .word 0x2002168c 804e284: 20020dd2 .word 0x20020dd2 804e288: 20020dcc .word 0x20020dcc 804e28c: 20020f7e .word 0x20020f7e 804e290: 20020070 .word 0x20020070 804e294: 2002164c .word 0x2002164c 804e298: 20020e34 .word 0x20020e34 804e29c: 20020ee8 .word 0x20020ee8 804e2a0: 20020f78 .word 0x20020f78 804e2a4: 20020db2 .word 0x20020db2 804e2a8: 200228d8 .word 0x200228d8 804e2ac: 2002098c .word 0x2002098c case ZoomIn: if(!FIRST) 804e2b0: 4ba1 ldr r3, [pc, #644] ; (804e538 ) 804e2b2: 781b ldrb r3, [r3, #0] 804e2b4: b2db uxtb r3, r3 804e2b6: f083 0301 eor.w r3, r3, #1 804e2ba: b2db uxtb r3, r3 804e2bc: 2b00 cmp r3, #0 804e2be: f000 8132 beq.w 804e526 { if((ViewLevel < 4) && (PlayingState.FrameSize > 256)) 804e2c2: 4b9e ldr r3, [pc, #632] ; (804e53c ) 804e2c4: 781b ldrb r3, [r3, #0] 804e2c6: b2db uxtb r3, r3 804e2c8: 2b03 cmp r3, #3 804e2ca: f200 812c bhi.w 804e526 804e2ce: 4b9c ldr r3, [pc, #624] ; (804e540 ) 804e2d0: 689b ldr r3, [r3, #8] 804e2d2: f5b3 7f80 cmp.w r3, #256 ; 0x100 804e2d6: f240 8126 bls.w 804e526 { ViewLevel++; 804e2da: 4b98 ldr r3, [pc, #608] ; (804e53c ) 804e2dc: 781b ldrb r3, [r3, #0] 804e2de: b2db uxtb r3, r3 804e2e0: 3301 adds r3, #1 804e2e2: b2da uxtb r2, r3 804e2e4: 4b95 ldr r3, [pc, #596] ; (804e53c ) 804e2e6: 701a strb r2, [r3, #0] PlayingState.FrameSize >>= 1; 804e2e8: 4b95 ldr r3, [pc, #596] ; (804e540 ) 804e2ea: 689b ldr r3, [r3, #8] 804e2ec: 085b lsrs r3, r3, #1 804e2ee: 4a94 ldr r2, [pc, #592] ; (804e540 ) 804e2f0: 6093 str r3, [r2, #8] PlayingState.NumFrames = (PlayingState.CountBytes >> 2) / PlayingState.FrameSize; 804e2f2: 4b93 ldr r3, [pc, #588] ; (804e540 ) 804e2f4: e9d3 3404 ldrd r3, r4, [r3, #16] 804e2f8: ea4f 0a93 mov.w sl, r3, lsr #2 804e2fc: ea4a 7a84 orr.w sl, sl, r4, lsl #30 804e300: ea4f 0b94 mov.w fp, r4, lsr #2 804e304: 4b8e ldr r3, [pc, #568] ; (804e540 ) 804e306: 689b ldr r3, [r3, #8] 804e308: f04f 0400 mov.w r4, #0 804e30c: 461a mov r2, r3 804e30e: 4623 mov r3, r4 804e310: 4650 mov r0, sl 804e312: 4659 mov r1, fp 804e314: f7d2 f96a bl 80205ec <__aeabi_uldivmod> 804e318: 4603 mov r3, r0 804e31a: 460c mov r4, r1 804e31c: 461a mov r2, r3 804e31e: 4b88 ldr r3, [pc, #544] ; (804e540 ) 804e320: 605a str r2, [r3, #4] if((PlayingState.CountBytes >> 2) % PlayingState.FrameSize) 804e322: 4b87 ldr r3, [pc, #540] ; (804e540 ) 804e324: e9d3 3404 ldrd r3, r4, [r3, #16] 804e328: ea4f 0893 mov.w r8, r3, lsr #2 804e32c: ea48 7884 orr.w r8, r8, r4, lsl #30 804e330: ea4f 0994 mov.w r9, r4, lsr #2 804e334: 4b82 ldr r3, [pc, #520] ; (804e540 ) 804e336: 689b ldr r3, [r3, #8] 804e338: f04f 0400 mov.w r4, #0 804e33c: 461a mov r2, r3 804e33e: 4623 mov r3, r4 804e340: 4640 mov r0, r8 804e342: 4649 mov r1, r9 804e344: f7d2 f952 bl 80205ec <__aeabi_uldivmod> 804e348: 461c mov r4, r3 804e34a: 4613 mov r3, r2 804e34c: 4323 orrs r3, r4 804e34e: d004 beq.n 804e35a PlayingState.NumFrames += 1; 804e350: 4b7b ldr r3, [pc, #492] ; (804e540 ) 804e352: 685b ldr r3, [r3, #4] 804e354: 3301 adds r3, #1 804e356: 4a7a ldr r2, [pc, #488] ; (804e540 ) 804e358: 6053 str r3, [r2, #4] PlayingState.CurrentFrame <<= 1; 804e35a: 4b79 ldr r3, [pc, #484] ; (804e540 ) 804e35c: 681b ldr r3, [r3, #0] 804e35e: 005b lsls r3, r3, #1 804e360: 4a77 ldr r2, [pc, #476] ; (804e540 ) 804e362: 6013 str r3, [r2, #0] if(FR_OK == RewindFileGTR()) 804e364: f7da fc7a bl 8028c5c { } AUTOZOOM = true; 804e368: 4b76 ldr r3, [pc, #472] ; (804e544 ) 804e36a: 2201 movs r2, #1 804e36c: 701a strb r2, [r3, #0] } } break; 804e36e: e0da b.n 804e526 case ZoomOut: if(!FIRST) 804e370: 4b71 ldr r3, [pc, #452] ; (804e538 ) 804e372: 781b ldrb r3, [r3, #0] 804e374: b2db uxtb r3, r3 804e376: f083 0301 eor.w r3, r3, #1 804e37a: b2db uxtb r3, r3 804e37c: 2b00 cmp r3, #0 804e37e: f000 80d5 beq.w 804e52c { if((ViewLevel > 0) && (PlayingState.FrameSize < 4096)) 804e382: 4b6e ldr r3, [pc, #440] ; (804e53c ) 804e384: 781b ldrb r3, [r3, #0] 804e386: b2db uxtb r3, r3 804e388: 2b00 cmp r3, #0 804e38a: f000 80cf beq.w 804e52c 804e38e: 4b6c ldr r3, [pc, #432] ; (804e540 ) 804e390: 689b ldr r3, [r3, #8] 804e392: f5b3 5f80 cmp.w r3, #4096 ; 0x1000 804e396: f080 80c9 bcs.w 804e52c { ViewLevel--; 804e39a: 4b68 ldr r3, [pc, #416] ; (804e53c ) 804e39c: 781b ldrb r3, [r3, #0] 804e39e: b2db uxtb r3, r3 804e3a0: 3b01 subs r3, #1 804e3a2: b2da uxtb r2, r3 804e3a4: 4b65 ldr r3, [pc, #404] ; (804e53c ) 804e3a6: 701a strb r2, [r3, #0] PlayingState.FrameSize <<= 1; 804e3a8: 4b65 ldr r3, [pc, #404] ; (804e540 ) 804e3aa: 689b ldr r3, [r3, #8] 804e3ac: 005b lsls r3, r3, #1 804e3ae: 4a64 ldr r2, [pc, #400] ; (804e540 ) 804e3b0: 6093 str r3, [r2, #8] PlayingState.NumFrames = (PlayingState.CountBytes >> 2) / PlayingState.FrameSize; 804e3b2: 4b63 ldr r3, [pc, #396] ; (804e540 ) 804e3b4: e9d3 2304 ldrd r2, r3, [r3, #16] 804e3b8: 0890 lsrs r0, r2, #2 804e3ba: ea40 7083 orr.w r0, r0, r3, lsl #30 804e3be: 0899 lsrs r1, r3, #2 804e3c0: 4b5f ldr r3, [pc, #380] ; (804e540 ) 804e3c2: 689b ldr r3, [r3, #8] 804e3c4: 461a mov r2, r3 804e3c6: f04f 0300 mov.w r3, #0 804e3ca: f7d2 f90f bl 80205ec <__aeabi_uldivmod> 804e3ce: 4602 mov r2, r0 804e3d0: 460b mov r3, r1 804e3d2: 4b5b ldr r3, [pc, #364] ; (804e540 ) 804e3d4: 605a str r2, [r3, #4] if((PlayingState.CountBytes >> 2) % PlayingState.FrameSize) 804e3d6: 4b5a ldr r3, [pc, #360] ; (804e540 ) 804e3d8: e9d3 2304 ldrd r2, r3, [r3, #16] 804e3dc: 0894 lsrs r4, r2, #2 804e3de: ea44 7483 orr.w r4, r4, r3, lsl #30 804e3e2: 089d lsrs r5, r3, #2 804e3e4: 4b56 ldr r3, [pc, #344] ; (804e540 ) 804e3e6: 689b ldr r3, [r3, #8] 804e3e8: 461a mov r2, r3 804e3ea: f04f 0300 mov.w r3, #0 804e3ee: 4620 mov r0, r4 804e3f0: 4629 mov r1, r5 804e3f2: f7d2 f8fb bl 80205ec <__aeabi_uldivmod> 804e3f6: 461c mov r4, r3 804e3f8: 4613 mov r3, r2 804e3fa: 4323 orrs r3, r4 804e3fc: d004 beq.n 804e408 PlayingState.NumFrames += 1; 804e3fe: 4b50 ldr r3, [pc, #320] ; (804e540 ) 804e400: 685b ldr r3, [r3, #4] 804e402: 3301 adds r3, #1 804e404: 4a4e ldr r2, [pc, #312] ; (804e540 ) 804e406: 6053 str r3, [r2, #4] PlayingState.CurrentFrame >>= 1; 804e408: 4b4d ldr r3, [pc, #308] ; (804e540 ) 804e40a: 681b ldr r3, [r3, #0] 804e40c: 085b lsrs r3, r3, #1 804e40e: 4a4c ldr r2, [pc, #304] ; (804e540 ) 804e410: 6013 str r3, [r2, #0] if(FR_OK == RewindFileGTR()) 804e412: f7da fc23 bl 8028c5c { } AUTOZOOM = true; 804e416: 4b4b ldr r3, [pc, #300] ; (804e544 ) 804e418: 2201 movs r2, #1 804e41a: 701a strb r2, [r3, #0] } } break; 804e41c: e086 b.n 804e52c case StartStop: if(PlayingState.State == STOPPED) 804e41e: 4b48 ldr r3, [pc, #288] ; (804e540 ) 804e420: 6a5b ldr r3, [r3, #36] ; 0x24 804e422: 2b00 cmp r3, #0 804e424: d10e bne.n 804e444 { PlayingState.CurrentFrame = 0; 804e426: 4b46 ldr r3, [pc, #280] ; (804e540 ) 804e428: 2200 movs r2, #0 804e42a: 601a str r2, [r3, #0] if(FR_OK == RewindFileGTR()) 804e42c: f7da fc16 bl 8028c5c 804e430: 4603 mov r3, r0 804e432: 2b00 cmp r3, #0 804e434: d17d bne.n 804e532 { PlayingState.State = PLAYING; 804e436: 4b42 ldr r3, [pc, #264] ; (804e540 ) 804e438: 2201 movs r2, #1 804e43a: 625a str r2, [r3, #36] ; 0x24 FIRST = false; 804e43c: 4b3e ldr r3, [pc, #248] ; (804e538 ) 804e43e: 2200 movs r2, #0 804e440: 701a strb r2, [r3, #0] if(PlayingState.State == PLAYING) PlayingState.State = PAUSED; else if(PlayingState.State == PAUSED) PlayingState.State = PLAYING; break; 804e442: e076 b.n 804e532 if(PlayingState.State == PLAYING) 804e444: 4b3e ldr r3, [pc, #248] ; (804e540 ) 804e446: 6a5b ldr r3, [r3, #36] ; 0x24 804e448: 2b01 cmp r3, #1 804e44a: d103 bne.n 804e454 PlayingState.State = PAUSED; 804e44c: 4b3c ldr r3, [pc, #240] ; (804e540 ) 804e44e: 2202 movs r2, #2 804e450: 625a str r2, [r3, #36] ; 0x24 break; 804e452: e06e b.n 804e532 if(PlayingState.State == PAUSED) 804e454: 4b3a ldr r3, [pc, #232] ; (804e540 ) 804e456: 6a5b ldr r3, [r3, #36] ; 0x24 804e458: 2b02 cmp r3, #2 804e45a: d16a bne.n 804e532 PlayingState.State = PLAYING; 804e45c: 4b38 ldr r3, [pc, #224] ; (804e540 ) 804e45e: 2201 movs r2, #1 804e460: 625a str r2, [r3, #36] ; 0x24 break; 804e462: e066 b.n 804e532 case Stop: if((PlayingState.State == PLAYING) || (PlayingState.State == PAUSED)) { 804e464: 4b36 ldr r3, [pc, #216] ; (804e540 ) 804e466: 6a5b ldr r3, [r3, #36] ; 0x24 804e468: 2b01 cmp r3, #1 804e46a: d003 beq.n 804e474 804e46c: 4b34 ldr r3, [pc, #208] ; (804e540 ) 804e46e: 6a5b ldr r3, [r3, #36] ; 0x24 804e470: 2b02 cmp r3, #2 804e472: d102 bne.n 804e47a PlayingState.State = STOPPED; 804e474: 4b32 ldr r3, [pc, #200] ; (804e540 ) 804e476: 2200 movs r2, #0 804e478: 625a str r2, [r3, #36] ; 0x24 } memset(FileName, 0, sizeof(FileName)); 804e47a: 2228 movs r2, #40 ; 0x28 804e47c: 2100 movs r1, #0 804e47e: 4832 ldr r0, [pc, #200] ; (804e548 ) 804e480: f07e fde2 bl 80cd048 strcpy(FileName, (char *) ExplorerFiles[CursorIndex].fname); 804e484: 4b31 ldr r3, [pc, #196] ; (804e54c ) 804e486: 681a ldr r2, [r3, #0] 804e488: 4613 mov r3, r2 804e48a: 00db lsls r3, r3, #3 804e48c: 1a9b subs r3, r3, r2 804e48e: 00db lsls r3, r3, #3 804e490: 3308 adds r3, #8 804e492: 4a2f ldr r2, [pc, #188] ; (804e550 ) 804e494: 4413 add r3, r2 804e496: 3304 adds r3, #4 804e498: 4619 mov r1, r3 804e49a: 482b ldr r0, [pc, #172] ; (804e548 ) 804e49c: f07e fef1 bl 80cd282 result = OpenFileGTR(FileName); 804e4a0: 4829 ldr r0, [pc, #164] ; (804e548 ) 804e4a2: f7d9 fb0f bl 8027ac4 804e4a6: 4603 mov r3, r0 804e4a8: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 804e4ac: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 804e4b0: 2b00 cmp r3, #0 804e4b2: d114 bne.n 804e4de { SeekFileGTR(); 804e4b4: f7da fd34 bl 8028f20 ViewLevel = 0; 804e4b8: 4b20 ldr r3, [pc, #128] ; (804e53c ) 804e4ba: 2200 movs r2, #0 804e4bc: 701a strb r2, [r3, #0] AUTOZOOM = true; 804e4be: 4b21 ldr r3, [pc, #132] ; (804e544 ) 804e4c0: 2201 movs r2, #1 804e4c2: 701a strb r2, [r3, #0] menu = MAIN_SYGNAL; 804e4c4: 4b23 ldr r3, [pc, #140] ; (804e554 ) 804e4c6: 2220 movs r2, #32 804e4c8: 701a strb r2, [r3, #0] menupos = StartStop; 804e4ca: 4b23 ldr r3, [pc, #140] ; (804e558 ) 804e4cc: 2200 movs r2, #0 804e4ce: 701a strb r2, [r3, #0] HISTORY = true; 804e4d0: 4b22 ldr r3, [pc, #136] ; (804e55c ) 804e4d2: 2201 movs r2, #1 804e4d4: 701a strb r2, [r3, #0] FIRST = false; 804e4d6: 4b18 ldr r3, [pc, #96] ; (804e538 ) 804e4d8: 2200 movs r2, #0 804e4da: 701a strb r2, [r3, #0] { STATUS = AP_INVALID_FILE; timerStatus = sec2; DrawStatus = true; } break; 804e4dc: e02a b.n 804e534 if(result == FR_NOT_READY) 804e4de: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 804e4e2: 2b03 cmp r3, #3 804e4e4: d10a bne.n 804e4fc STATUS = AP_NO_CARD; 804e4e6: 4b1e ldr r3, [pc, #120] ; (804e560 ) 804e4e8: 2211 movs r2, #17 804e4ea: 601a str r2, [r3, #0] timerStatus = sec2; 804e4ec: 4b1d ldr r3, [pc, #116] ; (804e564 ) 804e4ee: f44f 5280 mov.w r2, #4096 ; 0x1000 804e4f2: 801a strh r2, [r3, #0] DrawStatus = true; 804e4f4: 4b1c ldr r3, [pc, #112] ; (804e568 ) 804e4f6: 2201 movs r2, #1 804e4f8: 701a strb r2, [r3, #0] break; 804e4fa: e01b b.n 804e534 STATUS = AP_INVALID_FILE; 804e4fc: 4b18 ldr r3, [pc, #96] ; (804e560 ) 804e4fe: 2202 movs r2, #2 804e500: 601a str r2, [r3, #0] timerStatus = sec2; 804e502: 4b18 ldr r3, [pc, #96] ; (804e564 ) 804e504: f44f 5280 mov.w r2, #4096 ; 0x1000 804e508: 801a strh r2, [r3, #0] DrawStatus = true; 804e50a: 4b17 ldr r3, [pc, #92] ; (804e568 ) 804e50c: 2201 movs r2, #1 804e50e: 701a strb r2, [r3, #0] break; 804e510: e010 b.n 804e534 case Cursor: AUTOZOOM = true; 804e512: 4b0c ldr r3, [pc, #48] ; (804e544 ) 804e514: 2201 movs r2, #1 804e516: 701a strb r2, [r3, #0] break; 804e518: e00c b.n 804e534 break; 804e51a: bf00 nop 804e51c: f004 bbdc b.w 8052cd8 break; 804e520: bf00 nop 804e522: f004 bbd9 b.w 8052cd8 break; 804e526: bf00 nop 804e528: f004 bbd6 b.w 8052cd8 break; 804e52c: bf00 nop 804e52e: f004 bbd3 b.w 8052cd8 break; 804e532: bf00 nop } break; 804e534: f004 bbd0 b.w 8052cd8 804e538: 20020db2 .word 0x20020db2 804e53c: 20020f74 .word 0x20020f74 804e540: 200228d8 .word 0x200228d8 804e544: 2002098c .word 0x2002098c 804e548: 20022bb8 .word 0x20022bb8 804e54c: 20020de0 .word 0x20020de0 804e550: 20022350 .word 0x20022350 804e554: 20020f78 .word 0x20020f78 804e558: 20020070 .word 0x20020070 804e55c: 20020f76 .word 0x20020f76 804e560: 20020dcc .word 0x20020dcc 804e564: 2002168c .word 0x2002168c 804e568: 20020dd2 .word 0x20020dd2 case EXPLORER: //TODO if(menupos == FilesPTM) 804e56c: 4bba ldr r3, [pc, #744] ; (804e858 ) 804e56e: 781b ldrb r3, [r3, #0] 804e570: b2db uxtb r3, r3 804e572: 2b02 cmp r3, #2 804e574: d12e bne.n 804e5d4 { if(strcmp(MeasFileName, (char *) ExplorerFiles[CursorIndex].fname) != 0) 804e576: 4bb9 ldr r3, [pc, #740] ; (804e85c ) 804e578: 681a ldr r2, [r3, #0] 804e57a: 4613 mov r3, r2 804e57c: 00db lsls r3, r3, #3 804e57e: 1a9b subs r3, r3, r2 804e580: 00db lsls r3, r3, #3 804e582: 3308 adds r3, #8 804e584: 4ab6 ldr r2, [pc, #728] ; (804e860 ) 804e586: 4413 add r3, r2 804e588: 3304 adds r3, #4 804e58a: 4619 mov r1, r3 804e58c: 48b5 ldr r0, [pc, #724] ; (804e864 ) 804e58e: f7d1 feb7 bl 8020300 804e592: 4603 mov r3, r0 804e594: 2b00 cmp r3, #0 804e596: d002 beq.n 804e59e DrawSavedData = false; 804e598: 4bb3 ldr r3, [pc, #716] ; (804e868 ) 804e59a: 2200 movs r2, #0 804e59c: 701a strb r2, [r3, #0] memset(MeasFileName, 0, sizeof(MeasFileName)); 804e59e: 2221 movs r2, #33 ; 0x21 804e5a0: 2100 movs r1, #0 804e5a2: 48b0 ldr r0, [pc, #704] ; (804e864 ) 804e5a4: f07e fd50 bl 80cd048 strcpy(MeasFileName, (char *) ExplorerFiles[CursorIndex].fname); 804e5a8: 4bac ldr r3, [pc, #688] ; (804e85c ) 804e5aa: 681a ldr r2, [r3, #0] 804e5ac: 4613 mov r3, r2 804e5ae: 00db lsls r3, r3, #3 804e5b0: 1a9b subs r3, r3, r2 804e5b2: 00db lsls r3, r3, #3 804e5b4: 3308 adds r3, #8 804e5b6: 4aaa ldr r2, [pc, #680] ; (804e860 ) 804e5b8: 4413 add r3, r2 804e5ba: 3304 adds r3, #4 804e5bc: 4619 mov r1, r3 804e5be: 48a9 ldr r0, [pc, #676] ; (804e864 ) 804e5c0: f07e fe5f bl 80cd282 menu = PARAM_VIB; 804e5c4: 4ba9 ldr r3, [pc, #676] ; (804e86c ) 804e5c6: 2206 movs r2, #6 804e5c8: 701a strb r2, [r3, #0] menupos = SaveToFile; 804e5ca: 4ba3 ldr r3, [pc, #652] ; (804e858 ) 804e5cc: 220a movs r2, #10 804e5ce: 701a strb r2, [r3, #0] MeasFileName[0] = '\0'; } else MeasFileName[0] = '\0'; } break; 804e5d0: f004 bb84 b.w 8052cdc if(menupos == UpNo) 804e5d4: 4ba0 ldr r3, [pc, #640] ; (804e858 ) 804e5d6: 781b ldrb r3, [r3, #0] 804e5d8: b2db uxtb r3, r3 804e5da: 2b06 cmp r3, #6 804e5dc: d104 bne.n 804e5e8 menupos = FilesPTM; 804e5de: 4b9e ldr r3, [pc, #632] ; (804e858 ) 804e5e0: 2202 movs r2, #2 804e5e2: 701a strb r2, [r3, #0] break; 804e5e4: f004 bb7a b.w 8052cdc if(menupos == UpYes) 804e5e8: 4b9b ldr r3, [pc, #620] ; (804e858 ) 804e5ea: 781b ldrb r3, [r3, #0] 804e5ec: b2db uxtb r3, r3 804e5ee: 2b07 cmp r3, #7 804e5f0: d125 bne.n 804e63e STATUS = AP_OK; 804e5f2: 4b9f ldr r3, [pc, #636] ; (804e870 ) 804e5f4: 2200 movs r2, #0 804e5f6: 601a str r2, [r3, #0] CleanStatus = AP_OK; 804e5f8: 4b9e ldr r3, [pc, #632] ; (804e874 ) 804e5fa: 2200 movs r2, #0 804e5fc: 701a strb r2, [r3, #0] result = DeleteFilePTM((char *) ExplorerFiles[CursorIndex].fname); 804e5fe: 4b97 ldr r3, [pc, #604] ; (804e85c ) 804e600: 681a ldr r2, [r3, #0] 804e602: 4613 mov r3, r2 804e604: 00db lsls r3, r3, #3 804e606: 1a9b subs r3, r3, r2 804e608: 00db lsls r3, r3, #3 804e60a: 3308 adds r3, #8 804e60c: 4a94 ldr r2, [pc, #592] ; (804e860 ) 804e60e: 4413 add r3, r2 804e610: 3304 adds r3, #4 804e612: 4618 mov r0, r3 804e614: f7dc fbb0 bl 802ad78 804e618: 4603 mov r3, r0 804e61a: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 804e61e: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 804e622: 2b00 cmp r3, #0 804e624: d103 bne.n 804e62e CleanStatus = AP_OK; 804e626: 4b93 ldr r3, [pc, #588] ; (804e874 ) 804e628: 2200 movs r2, #0 804e62a: 701a strb r2, [r3, #0] 804e62c: e002 b.n 804e634 else CleanStatus = AP_FAIL; 804e62e: 4b91 ldr r3, [pc, #580] ; (804e874 ) 804e630: 2201 movs r2, #1 804e632: 701a strb r2, [r3, #0] menupos = CleanUpResult; 804e634: 4b88 ldr r3, [pc, #544] ; (804e858 ) 804e636: 220a movs r2, #10 804e638: 701a strb r2, [r3, #0] break; 804e63a: f004 bb4f b.w 8052cdc if(menupos == CleanUpResult) 804e63e: 4b86 ldr r3, [pc, #536] ; (804e858 ) 804e640: 781b ldrb r3, [r3, #0] 804e642: b2db uxtb r3, r3 804e644: 2b0a cmp r3, #10 804e646: f044 8349 bne.w 8052cdc result = FR_NOT_READY; 804e64a: 2303 movs r3, #3 804e64c: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(CardState == MSD_READY) 804e650: 4b89 ldr r3, [pc, #548] ; (804e878 ) 804e652: 781b ldrb r3, [r3, #0] 804e654: b2db uxtb r3, r3 804e656: 2b03 cmp r3, #3 804e658: d13e bne.n 804e6d8 CursorIndex = 0; 804e65a: 4b80 ldr r3, [pc, #512] ; (804e85c ) 804e65c: 2200 movs r2, #0 804e65e: 601a str r2, [r3, #0] FirstFileIndex = 0; 804e660: 4b86 ldr r3, [pc, #536] ; (804e87c ) 804e662: 2200 movs r2, #0 804e664: 601a str r2, [r3, #0] RealFileIndex = 0; 804e666: 4b86 ldr r3, [pc, #536] ; (804e880 ) 804e668: 2200 movs r2, #0 804e66a: 601a str r2, [r3, #0] result = ReadNumFilesPTM((uint32_t *) &NumFilesPTM); 804e66c: 4885 ldr r0, [pc, #532] ; (804e884 ) 804e66e: f7dc f973 bl 802a958 804e672: 4603 mov r3, r0 804e674: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 804e678: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 804e67c: 2b00 cmp r3, #0 804e67e: d126 bne.n 804e6ce result = ReadMyFilesPTM(FirstFileIndex); 804e680: 4b7e ldr r3, [pc, #504] ; (804e87c ) 804e682: 681b ldr r3, [r3, #0] 804e684: 4618 mov r0, r3 804e686: f7dc fa33 bl 802aaf0 804e68a: 4603 mov r3, r0 804e68c: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 804e690: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 804e694: 2b00 cmp r3, #0 804e696: d115 bne.n 804e6c4 menu = EXPLORER; 804e698: 4b74 ldr r3, [pc, #464] ; (804e86c ) 804e69a: 2229 movs r2, #41 ; 0x29 804e69c: 701a strb r2, [r3, #0] lastmenupos = menupos; 804e69e: 4b6e ldr r3, [pc, #440] ; (804e858 ) 804e6a0: 781b ldrb r3, [r3, #0] 804e6a2: b2da uxtb r2, r3 804e6a4: 4b78 ldr r3, [pc, #480] ; (804e888 ) 804e6a6: 701a strb r2, [r3, #0] if(NumFilesPTM) 804e6a8: 4b76 ldr r3, [pc, #472] ; (804e884 ) 804e6aa: 681b ldr r3, [r3, #0] 804e6ac: 2b00 cmp r3, #0 804e6ae: d004 beq.n 804e6ba menupos = FilesPTM; 804e6b0: 4b69 ldr r3, [pc, #420] ; (804e858 ) 804e6b2: 2202 movs r2, #2 804e6b4: 701a strb r2, [r3, #0] break; 804e6b6: f004 bb11 b.w 8052cdc else menupos = NoFilesPTM; 804e6ba: 4b67 ldr r3, [pc, #412] ; (804e858 ) 804e6bc: 2201 movs r2, #1 804e6be: 701a strb r2, [r3, #0] break; 804e6c0: f004 bb0c b.w 8052cdc MeasFileName[0] = '\0'; 804e6c4: 4b67 ldr r3, [pc, #412] ; (804e864 ) 804e6c6: 2200 movs r2, #0 804e6c8: 701a strb r2, [r3, #0] break; 804e6ca: f004 bb07 b.w 8052cdc MeasFileName[0] = '\0'; 804e6ce: 4b65 ldr r3, [pc, #404] ; (804e864 ) 804e6d0: 2200 movs r2, #0 804e6d2: 701a strb r2, [r3, #0] break; 804e6d4: f004 bb02 b.w 8052cdc MeasFileName[0] = '\0'; 804e6d8: 4b62 ldr r3, [pc, #392] ; (804e864 ) 804e6da: 2200 movs r2, #0 804e6dc: 701a strb r2, [r3, #0] break; 804e6de: f004 bafd b.w 8052cdc case EXPLORER_DIAGN: //TODO if(menupos == FilesDGN) 804e6e2: 4b5d ldr r3, [pc, #372] ; (804e858 ) 804e6e4: 781b ldrb r3, [r3, #0] 804e6e6: b2db uxtb r3, r3 804e6e8: 2b02 cmp r3, #2 804e6ea: d12e bne.n 804e74a { if(strcmp(DiagFileName, (char *) ExplorerFiles[CursorIndex].fname) != 0) 804e6ec: 4b5b ldr r3, [pc, #364] ; (804e85c ) 804e6ee: 681a ldr r2, [r3, #0] 804e6f0: 4613 mov r3, r2 804e6f2: 00db lsls r3, r3, #3 804e6f4: 1a9b subs r3, r3, r2 804e6f6: 00db lsls r3, r3, #3 804e6f8: 3308 adds r3, #8 804e6fa: 4a59 ldr r2, [pc, #356] ; (804e860 ) 804e6fc: 4413 add r3, r2 804e6fe: 3304 adds r3, #4 804e700: 4619 mov r1, r3 804e702: 4862 ldr r0, [pc, #392] ; (804e88c ) 804e704: f7d1 fdfc bl 8020300 804e708: 4603 mov r3, r0 804e70a: 2b00 cmp r3, #0 804e70c: d002 beq.n 804e714 DrawSavedData = false; 804e70e: 4b56 ldr r3, [pc, #344] ; (804e868 ) 804e710: 2200 movs r2, #0 804e712: 701a strb r2, [r3, #0] memset(DiagFileName, 0, sizeof(DiagFileName)); 804e714: 2221 movs r2, #33 ; 0x21 804e716: 2100 movs r1, #0 804e718: 485c ldr r0, [pc, #368] ; (804e88c ) 804e71a: f07e fc95 bl 80cd048 strcpy(DiagFileName, (char *) ExplorerFiles[CursorIndex].fname); 804e71e: 4b4f ldr r3, [pc, #316] ; (804e85c ) 804e720: 681a ldr r2, [r3, #0] 804e722: 4613 mov r3, r2 804e724: 00db lsls r3, r3, #3 804e726: 1a9b subs r3, r3, r2 804e728: 00db lsls r3, r3, #3 804e72a: 3308 adds r3, #8 804e72c: 4a4c ldr r2, [pc, #304] ; (804e860 ) 804e72e: 4413 add r3, r2 804e730: 3304 adds r3, #4 804e732: 4619 mov r1, r3 804e734: 4855 ldr r0, [pc, #340] ; (804e88c ) 804e736: f07e fda4 bl 80cd282 menu = PARAM_DIAGN; 804e73a: 4b4c ldr r3, [pc, #304] ; (804e86c ) 804e73c: 220f movs r2, #15 804e73e: 701a strb r2, [r3, #0] menupos = DiagSaveToFile; 804e740: 4b45 ldr r3, [pc, #276] ; (804e858 ) 804e742: 2204 movs r2, #4 804e744: 701a strb r2, [r3, #0] DiagFileName[0] = '\0'; } else DiagFileName[0] = '\0'; } break; 804e746: f004 bacb b.w 8052ce0 if(menupos == UpNo) 804e74a: 4b43 ldr r3, [pc, #268] ; (804e858 ) 804e74c: 781b ldrb r3, [r3, #0] 804e74e: b2db uxtb r3, r3 804e750: 2b06 cmp r3, #6 804e752: d104 bne.n 804e75e menupos = FilesDGN; 804e754: 4b40 ldr r3, [pc, #256] ; (804e858 ) 804e756: 2202 movs r2, #2 804e758: 701a strb r2, [r3, #0] break; 804e75a: f004 bac1 b.w 8052ce0 if(menupos == UpYes) 804e75e: 4b3e ldr r3, [pc, #248] ; (804e858 ) 804e760: 781b ldrb r3, [r3, #0] 804e762: b2db uxtb r3, r3 804e764: 2b07 cmp r3, #7 804e766: d125 bne.n 804e7b4 STATUS = AP_OK; 804e768: 4b41 ldr r3, [pc, #260] ; (804e870 ) 804e76a: 2200 movs r2, #0 804e76c: 601a str r2, [r3, #0] CleanStatus = AP_OK; 804e76e: 4b41 ldr r3, [pc, #260] ; (804e874 ) 804e770: 2200 movs r2, #0 804e772: 701a strb r2, [r3, #0] result = DeleteFileDGN((char *) ExplorerFiles[CursorIndex].fname); 804e774: 4b39 ldr r3, [pc, #228] ; (804e85c ) 804e776: 681a ldr r2, [r3, #0] 804e778: 4613 mov r3, r2 804e77a: 00db lsls r3, r3, #3 804e77c: 1a9b subs r3, r3, r2 804e77e: 00db lsls r3, r3, #3 804e780: 3308 adds r3, #8 804e782: 4a37 ldr r2, [pc, #220] ; (804e860 ) 804e784: 4413 add r3, r2 804e786: 3304 adds r3, #4 804e788: 4618 mov r0, r3 804e78a: f7dc fb5d bl 802ae48 804e78e: 4603 mov r3, r0 804e790: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 804e794: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 804e798: 2b00 cmp r3, #0 804e79a: d103 bne.n 804e7a4 CleanStatus = AP_OK; 804e79c: 4b35 ldr r3, [pc, #212] ; (804e874 ) 804e79e: 2200 movs r2, #0 804e7a0: 701a strb r2, [r3, #0] 804e7a2: e002 b.n 804e7aa else CleanStatus = AP_FAIL; 804e7a4: 4b33 ldr r3, [pc, #204] ; (804e874 ) 804e7a6: 2201 movs r2, #1 804e7a8: 701a strb r2, [r3, #0] menupos = CleanUpResult; 804e7aa: 4b2b ldr r3, [pc, #172] ; (804e858 ) 804e7ac: 220a movs r2, #10 804e7ae: 701a strb r2, [r3, #0] break; 804e7b0: f004 ba96 b.w 8052ce0 if(menupos == CleanUpResult) 804e7b4: 4b28 ldr r3, [pc, #160] ; (804e858 ) 804e7b6: 781b ldrb r3, [r3, #0] 804e7b8: b2db uxtb r3, r3 804e7ba: 2b0a cmp r3, #10 804e7bc: f044 8290 bne.w 8052ce0 result = FR_NOT_READY; 804e7c0: 2303 movs r3, #3 804e7c2: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(CardState == MSD_READY) 804e7c6: 4b2c ldr r3, [pc, #176] ; (804e878 ) 804e7c8: 781b ldrb r3, [r3, #0] 804e7ca: b2db uxtb r3, r3 804e7cc: 2b03 cmp r3, #3 804e7ce: d13e bne.n 804e84e CursorIndex = 0; 804e7d0: 4b22 ldr r3, [pc, #136] ; (804e85c ) 804e7d2: 2200 movs r2, #0 804e7d4: 601a str r2, [r3, #0] FirstFileIndex = 0; 804e7d6: 4b29 ldr r3, [pc, #164] ; (804e87c ) 804e7d8: 2200 movs r2, #0 804e7da: 601a str r2, [r3, #0] RealFileIndex = 0; 804e7dc: 4b28 ldr r3, [pc, #160] ; (804e880 ) 804e7de: 2200 movs r2, #0 804e7e0: 601a str r2, [r3, #0] result = ReadNumFilesDGN((uint32_t *) &NumFilesDGN); 804e7e2: 482b ldr r0, [pc, #172] ; (804e890 ) 804e7e4: f7dc f8ce bl 802a984 804e7e8: 4603 mov r3, r0 804e7ea: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 804e7ee: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 804e7f2: 2b00 cmp r3, #0 804e7f4: d126 bne.n 804e844 result = ReadMyFilesDGN(FirstFileIndex); 804e7f6: 4b21 ldr r3, [pc, #132] ; (804e87c ) 804e7f8: 681b ldr r3, [r3, #0] 804e7fa: 4618 mov r0, r3 804e7fc: f7dc f985 bl 802ab0a 804e800: 4603 mov r3, r0 804e802: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 804e806: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 804e80a: 2b00 cmp r3, #0 804e80c: d115 bne.n 804e83a menu = EXPLORER_DIAGN; 804e80e: 4b17 ldr r3, [pc, #92] ; (804e86c ) 804e810: 222a movs r2, #42 ; 0x2a 804e812: 701a strb r2, [r3, #0] lastmenupos = menupos; 804e814: 4b10 ldr r3, [pc, #64] ; (804e858 ) 804e816: 781b ldrb r3, [r3, #0] 804e818: b2da uxtb r2, r3 804e81a: 4b1b ldr r3, [pc, #108] ; (804e888 ) 804e81c: 701a strb r2, [r3, #0] if(NumFilesDGN) 804e81e: 4b1c ldr r3, [pc, #112] ; (804e890 ) 804e820: 681b ldr r3, [r3, #0] 804e822: 2b00 cmp r3, #0 804e824: d004 beq.n 804e830 menupos = FilesDGN; 804e826: 4b0c ldr r3, [pc, #48] ; (804e858 ) 804e828: 2202 movs r2, #2 804e82a: 701a strb r2, [r3, #0] break; 804e82c: f004 ba58 b.w 8052ce0 else menupos = NoFilesDGN; 804e830: 4b09 ldr r3, [pc, #36] ; (804e858 ) 804e832: 2201 movs r2, #1 804e834: 701a strb r2, [r3, #0] break; 804e836: f004 ba53 b.w 8052ce0 DiagFileName[0] = '\0'; 804e83a: 4b14 ldr r3, [pc, #80] ; (804e88c ) 804e83c: 2200 movs r2, #0 804e83e: 701a strb r2, [r3, #0] break; 804e840: f004 ba4e b.w 8052ce0 DiagFileName[0] = '\0'; 804e844: 4b11 ldr r3, [pc, #68] ; (804e88c ) 804e846: 2200 movs r2, #0 804e848: 701a strb r2, [r3, #0] break; 804e84a: f004 ba49 b.w 8052ce0 DiagFileName[0] = '\0'; 804e84e: 4b0f ldr r3, [pc, #60] ; (804e88c ) 804e850: 2200 movs r2, #0 804e852: 701a strb r2, [r3, #0] break; 804e854: f004 ba44 b.w 8052ce0 804e858: 20020070 .word 0x20020070 804e85c: 20020de0 .word 0x20020de0 804e860: 20022350 .word 0x20022350 804e864: 20020e58 .word 0x20020e58 804e868: 20020dca .word 0x20020dca 804e86c: 20020f78 .word 0x20020f78 804e870: 20020dcc .word 0x20020dcc 804e874: 20020dd0 .word 0x20020dd0 804e878: 2002164c .word 0x2002164c 804e87c: 20020de4 .word 0x20020de4 804e880: 20020de8 .word 0x20020de8 804e884: 20020df4 .word 0x20020df4 804e888: 20020071 .word 0x20020071 804e88c: 20020e7c .word 0x20020e7c 804e890: 20020df8 .word 0x20020df8 case INPUT_COMMENT_DIAGN: //TODO if(menupos == _ENTER) 804e894: 4bb6 ldr r3, [pc, #728] ; (804eb70 ) 804e896: 781b ldrb r3, [r3, #0] 804e898: b2db uxtb r3, r3 804e89a: 2b26 cmp r3, #38 ; 0x26 804e89c: f040 8249 bne.w 804ed32 { menu = lastmenu; 804e8a0: 4bb4 ldr r3, [pc, #720] ; (804eb74 ) 804e8a2: 781b ldrb r3, [r3, #0] 804e8a4: b2da uxtb r2, r3 804e8a6: 4bb4 ldr r3, [pc, #720] ; (804eb78 ) 804e8a8: 701a strb r2, [r3, #0] menupos = Record; 804e8aa: 4bb1 ldr r3, [pc, #708] ; (804eb70 ) 804e8ac: 2202 movs r2, #2 804e8ae: 701a strb r2, [r3, #0] memcpy(Comment, TEMP_Comment, sizeof(Comment)); 804e8b0: 4ab2 ldr r2, [pc, #712] ; (804eb7c ) 804e8b2: 4bb3 ldr r3, [pc, #716] ; (804eb80 ) 804e8b4: 4610 mov r0, r2 804e8b6: f103 0420 add.w r4, r3, #32 804e8ba: 4602 mov r2, r0 804e8bc: 4619 mov r1, r3 804e8be: f8d1 e000 ldr.w lr, [r1] 804e8c2: 684e ldr r6, [r1, #4] 804e8c4: 688d ldr r5, [r1, #8] 804e8c6: 68c9 ldr r1, [r1, #12] 804e8c8: f8c2 e000 str.w lr, [r2] 804e8cc: 6056 str r6, [r2, #4] 804e8ce: 6095 str r5, [r2, #8] 804e8d0: 60d1 str r1, [r2, #12] 804e8d2: 3310 adds r3, #16 804e8d4: 3010 adds r0, #16 804e8d6: 42a3 cmp r3, r4 804e8d8: d1ef bne.n 804e8ba 804e8da: 4602 mov r2, r0 804e8dc: 6819 ldr r1, [r3, #0] 804e8de: 685b ldr r3, [r3, #4] 804e8e0: 6011 str r1, [r2, #0] 804e8e2: 6053 str r3, [r2, #4] DiagnFileData.d_Op1_ipr = pardata.DIAGN_MASK[CURR_POINT][Us1] & 0x7; 804e8e4: 4ba7 ldr r3, [pc, #668] ; (804eb84 ) 804e8e6: 781b ldrb r3, [r3, #0] 804e8e8: b2db uxtb r3, r3 804e8ea: 4aa7 ldr r2, [pc, #668] ; (804eb88 ) 804e8ec: 338e adds r3, #142 ; 0x8e 804e8ee: 009b lsls r3, r3, #2 804e8f0: 4413 add r3, r2 804e8f2: 791b ldrb r3, [r3, #4] 804e8f4: b2db uxtb r3, r3 804e8f6: f003 0307 and.w r3, r3, #7 804e8fa: b2da uxtb r2, r3 804e8fc: 4ba3 ldr r3, [pc, #652] ; (804eb8c ) 804e8fe: f883 2028 strb.w r2, [r3, #40] ; 0x28 DiagnFileData.d_Op2_ipr = pardata.DIAGN_MASK[CURR_POINT][Us2] & 0x7; 804e902: 4ba0 ldr r3, [pc, #640] ; (804eb84 ) 804e904: 781b ldrb r3, [r3, #0] 804e906: b2db uxtb r3, r3 804e908: 4a9f ldr r2, [pc, #636] ; (804eb88 ) 804e90a: 009b lsls r3, r3, #2 804e90c: 4413 add r3, r2 804e90e: f893 323d ldrb.w r3, [r3, #573] ; 0x23d 804e912: b2db uxtb r3, r3 804e914: f003 0307 and.w r3, r3, #7 804e918: b2da uxtb r2, r3 804e91a: 4b9c ldr r3, [pc, #624] ; (804eb8c ) 804e91c: f883 2029 strb.w r2, [r3, #41] ; 0x29 DiagnFileData.d_Op3_ipr = pardata.DIAGN_MASK[CURR_POINT][Us3] & 0x7; 804e920: 4b98 ldr r3, [pc, #608] ; (804eb84 ) 804e922: 781b ldrb r3, [r3, #0] 804e924: b2db uxtb r3, r3 804e926: 4a98 ldr r2, [pc, #608] ; (804eb88 ) 804e928: 009b lsls r3, r3, #2 804e92a: 4413 add r3, r2 804e92c: f893 323e ldrb.w r3, [r3, #574] ; 0x23e 804e930: b2db uxtb r3, r3 804e932: f003 0307 and.w r3, r3, #7 804e936: b2da uxtb r2, r3 804e938: 4b94 ldr r3, [pc, #592] ; (804eb8c ) 804e93a: f883 202a strb.w r2, [r3, #42] ; 0x2a switch((pardata.DIAGN_MASK[CURR_POINT][Us1] >> 3) & 0x1f) 804e93e: 4b91 ldr r3, [pc, #580] ; (804eb84 ) 804e940: 781b ldrb r3, [r3, #0] 804e942: b2db uxtb r3, r3 804e944: 4a90 ldr r2, [pc, #576] ; (804eb88 ) 804e946: 338e adds r3, #142 ; 0x8e 804e948: 009b lsls r3, r3, #2 804e94a: 4413 add r3, r2 804e94c: 791b ldrb r3, [r3, #4] 804e94e: b2db uxtb r3, r3 804e950: 08db lsrs r3, r3, #3 804e952: b2db uxtb r3, r3 804e954: f003 031f and.w r3, r3, #31 804e958: 3b01 subs r3, #1 804e95a: 2b0f cmp r3, #15 804e95c: d83b bhi.n 804e9d6 804e95e: a201 add r2, pc, #4 ; (adr r2, 804e964 ) 804e960: f852 f023 ldr.w pc, [r2, r3, lsl #2] 804e964: 0804e9a5 .word 0x0804e9a5 804e968: 0804e9af .word 0x0804e9af 804e96c: 0804e9d7 .word 0x0804e9d7 804e970: 0804e9b9 .word 0x0804e9b9 804e974: 0804e9d7 .word 0x0804e9d7 804e978: 0804e9d7 .word 0x0804e9d7 804e97c: 0804e9d7 .word 0x0804e9d7 804e980: 0804e9c3 .word 0x0804e9c3 804e984: 0804e9d7 .word 0x0804e9d7 804e988: 0804e9d7 .word 0x0804e9d7 804e98c: 0804e9d7 .word 0x0804e9d7 804e990: 0804e9d7 .word 0x0804e9d7 804e994: 0804e9d7 .word 0x0804e9d7 804e998: 0804e9d7 .word 0x0804e9d7 804e99c: 0804e9d7 .word 0x0804e9d7 804e9a0: 0804e9cd .word 0x0804e9cd { case DIAGN_PEAK: DiagnFileData.d_Op1_ivs = 'P'; break; 804e9a4: 4b79 ldr r3, [pc, #484] ; (804eb8c ) 804e9a6: 2250 movs r2, #80 ; 0x50 804e9a8: f883 202b strb.w r2, [r3, #43] ; 0x2b 804e9ac: e013 b.n 804e9d6 case DIAGN_RMS: DiagnFileData.d_Op1_ivs = 'S'; break; 804e9ae: 4b77 ldr r3, [pc, #476] ; (804eb8c ) 804e9b0: 2253 movs r2, #83 ; 0x53 804e9b2: f883 202b strb.w r2, [r3, #43] ; 0x2b 804e9b6: e00e b.n 804e9d6 case DIAGN_PEAK_TO_PEAK: DiagnFileData.d_Op1_ivs = 'R'; break; 804e9b8: 4b74 ldr r3, [pc, #464] ; (804eb8c ) 804e9ba: 2252 movs r2, #82 ; 0x52 804e9bc: f883 202b strb.w r2, [r3, #43] ; 0x2b 804e9c0: e009 b.n 804e9d6 case DIAGN_PEAK_FACTOR: DiagnFileData.d_Op1_ivs = 'F'; break; 804e9c2: 4b72 ldr r3, [pc, #456] ; (804eb8c ) 804e9c4: 2246 movs r2, #70 ; 0x46 804e9c6: f883 202b strb.w r2, [r3, #43] ; 0x2b 804e9ca: e004 b.n 804e9d6 case DIAGN_EXCESS: DiagnFileData.d_Op1_ivs = 'E'; break; 804e9cc: 4b6f ldr r3, [pc, #444] ; (804eb8c ) 804e9ce: 2245 movs r2, #69 ; 0x45 804e9d0: f883 202b strb.w r2, [r3, #43] ; 0x2b 804e9d4: bf00 nop } switch((pardata.DIAGN_MASK[CURR_POINT][Us2] >> 3) & 0x1f) 804e9d6: 4b6b ldr r3, [pc, #428] ; (804eb84 ) 804e9d8: 781b ldrb r3, [r3, #0] 804e9da: b2db uxtb r3, r3 804e9dc: 4a6a ldr r2, [pc, #424] ; (804eb88 ) 804e9de: 009b lsls r3, r3, #2 804e9e0: 4413 add r3, r2 804e9e2: f893 323d ldrb.w r3, [r3, #573] ; 0x23d 804e9e6: b2db uxtb r3, r3 804e9e8: 08db lsrs r3, r3, #3 804e9ea: b2db uxtb r3, r3 804e9ec: f003 031f and.w r3, r3, #31 804e9f0: 3b01 subs r3, #1 804e9f2: 2b0f cmp r3, #15 804e9f4: d83b bhi.n 804ea6e 804e9f6: a201 add r2, pc, #4 ; (adr r2, 804e9fc ) 804e9f8: f852 f023 ldr.w pc, [r2, r3, lsl #2] 804e9fc: 0804ea3d .word 0x0804ea3d 804ea00: 0804ea47 .word 0x0804ea47 804ea04: 0804ea6f .word 0x0804ea6f 804ea08: 0804ea51 .word 0x0804ea51 804ea0c: 0804ea6f .word 0x0804ea6f 804ea10: 0804ea6f .word 0x0804ea6f 804ea14: 0804ea6f .word 0x0804ea6f 804ea18: 0804ea5b .word 0x0804ea5b 804ea1c: 0804ea6f .word 0x0804ea6f 804ea20: 0804ea6f .word 0x0804ea6f 804ea24: 0804ea6f .word 0x0804ea6f 804ea28: 0804ea6f .word 0x0804ea6f 804ea2c: 0804ea6f .word 0x0804ea6f 804ea30: 0804ea6f .word 0x0804ea6f 804ea34: 0804ea6f .word 0x0804ea6f 804ea38: 0804ea65 .word 0x0804ea65 { case DIAGN_PEAK: DiagnFileData.d_Op2_ivs = 'P'; break; 804ea3c: 4b53 ldr r3, [pc, #332] ; (804eb8c ) 804ea3e: 2250 movs r2, #80 ; 0x50 804ea40: f883 202c strb.w r2, [r3, #44] ; 0x2c 804ea44: e013 b.n 804ea6e case DIAGN_RMS: DiagnFileData.d_Op2_ivs = 'S'; break; 804ea46: 4b51 ldr r3, [pc, #324] ; (804eb8c ) 804ea48: 2253 movs r2, #83 ; 0x53 804ea4a: f883 202c strb.w r2, [r3, #44] ; 0x2c 804ea4e: e00e b.n 804ea6e case DIAGN_PEAK_TO_PEAK: DiagnFileData.d_Op2_ivs = 'R'; break; 804ea50: 4b4e ldr r3, [pc, #312] ; (804eb8c ) 804ea52: 2252 movs r2, #82 ; 0x52 804ea54: f883 202c strb.w r2, [r3, #44] ; 0x2c 804ea58: e009 b.n 804ea6e case DIAGN_PEAK_FACTOR: DiagnFileData.d_Op2_ivs = 'F'; break; 804ea5a: 4b4c ldr r3, [pc, #304] ; (804eb8c ) 804ea5c: 2246 movs r2, #70 ; 0x46 804ea5e: f883 202c strb.w r2, [r3, #44] ; 0x2c 804ea62: e004 b.n 804ea6e case DIAGN_EXCESS: DiagnFileData.d_Op2_ivs = 'E'; break; 804ea64: 4b49 ldr r3, [pc, #292] ; (804eb8c ) 804ea66: 2245 movs r2, #69 ; 0x45 804ea68: f883 202c strb.w r2, [r3, #44] ; 0x2c 804ea6c: bf00 nop } switch((pardata.DIAGN_MASK[CURR_POINT][Us3] >> 3) & 0x1f) 804ea6e: 4b45 ldr r3, [pc, #276] ; (804eb84 ) 804ea70: 781b ldrb r3, [r3, #0] 804ea72: b2db uxtb r3, r3 804ea74: 4a44 ldr r2, [pc, #272] ; (804eb88 ) 804ea76: 009b lsls r3, r3, #2 804ea78: 4413 add r3, r2 804ea7a: f893 323e ldrb.w r3, [r3, #574] ; 0x23e 804ea7e: b2db uxtb r3, r3 804ea80: 08db lsrs r3, r3, #3 804ea82: b2db uxtb r3, r3 804ea84: f003 031f and.w r3, r3, #31 804ea88: 3b01 subs r3, #1 804ea8a: 2b0f cmp r3, #15 804ea8c: d83b bhi.n 804eb06 804ea8e: a201 add r2, pc, #4 ; (adr r2, 804ea94 ) 804ea90: f852 f023 ldr.w pc, [r2, r3, lsl #2] 804ea94: 0804ead5 .word 0x0804ead5 804ea98: 0804eadf .word 0x0804eadf 804ea9c: 0804eb07 .word 0x0804eb07 804eaa0: 0804eae9 .word 0x0804eae9 804eaa4: 0804eb07 .word 0x0804eb07 804eaa8: 0804eb07 .word 0x0804eb07 804eaac: 0804eb07 .word 0x0804eb07 804eab0: 0804eaf3 .word 0x0804eaf3 804eab4: 0804eb07 .word 0x0804eb07 804eab8: 0804eb07 .word 0x0804eb07 804eabc: 0804eb07 .word 0x0804eb07 804eac0: 0804eb07 .word 0x0804eb07 804eac4: 0804eb07 .word 0x0804eb07 804eac8: 0804eb07 .word 0x0804eb07 804eacc: 0804eb07 .word 0x0804eb07 804ead0: 0804eafd .word 0x0804eafd { case DIAGN_PEAK: DiagnFileData.d_Op3_ivs = 'P'; break; 804ead4: 4b2d ldr r3, [pc, #180] ; (804eb8c ) 804ead6: 2250 movs r2, #80 ; 0x50 804ead8: f883 202d strb.w r2, [r3, #45] ; 0x2d 804eadc: e013 b.n 804eb06 case DIAGN_RMS: DiagnFileData.d_Op3_ivs = 'S'; break; 804eade: 4b2b ldr r3, [pc, #172] ; (804eb8c ) 804eae0: 2253 movs r2, #83 ; 0x53 804eae2: f883 202d strb.w r2, [r3, #45] ; 0x2d 804eae6: e00e b.n 804eb06 case DIAGN_PEAK_TO_PEAK: DiagnFileData.d_Op3_ivs = 'R'; break; 804eae8: 4b28 ldr r3, [pc, #160] ; (804eb8c ) 804eaea: 2252 movs r2, #82 ; 0x52 804eaec: f883 202d strb.w r2, [r3, #45] ; 0x2d 804eaf0: e009 b.n 804eb06 case DIAGN_PEAK_FACTOR: DiagnFileData.d_Op3_ivs = 'F'; break; 804eaf2: 4b26 ldr r3, [pc, #152] ; (804eb8c ) 804eaf4: 2246 movs r2, #70 ; 0x46 804eaf6: f883 202d strb.w r2, [r3, #45] ; 0x2d 804eafa: e004 b.n 804eb06 case DIAGN_EXCESS: DiagnFileData.d_Op3_ivs = 'E'; break; 804eafc: 4b23 ldr r3, [pc, #140] ; (804eb8c ) 804eafe: 2245 movs r2, #69 ; 0x45 804eb00: f883 202d strb.w r2, [r3, #45] ; 0x2d 804eb04: bf00 nop } DiagnFileData.Op_1.fl = operand[Us1]; 804eb06: 4b22 ldr r3, [pc, #136] ; (804eb90 ) 804eb08: 681b ldr r3, [r3, #0] 804eb0a: 4a20 ldr r2, [pc, #128] ; (804eb8c ) 804eb0c: 6013 str r3, [r2, #0] DiagnFileData.Op_2.fl = operand[Us2]; 804eb0e: 4b20 ldr r3, [pc, #128] ; (804eb90 ) 804eb10: 685b ldr r3, [r3, #4] 804eb12: 4a1e ldr r2, [pc, #120] ; (804eb8c ) 804eb14: 6053 str r3, [r2, #4] DiagnFileData.Op_3.fl = operand[Us3]; 804eb16: 4b1e ldr r3, [pc, #120] ; (804eb90 ) 804eb18: 689b ldr r3, [r3, #8] 804eb1a: 4a1c ldr r2, [pc, #112] ; (804eb8c ) 804eb1c: 6093 str r3, [r2, #8] DiagnFileData.d_Time = RTC_TimeStruct; 804eb1e: 4b1b ldr r3, [pc, #108] ; (804eb8c ) 804eb20: 4a1c ldr r2, [pc, #112] ; (804eb94 ) 804eb22: f103 040c add.w r4, r3, #12 804eb26: 4615 mov r5, r2 804eb28: cd0f ldmia r5!, {r0, r1, r2, r3} 804eb2a: c40f stmia r4!, {r0, r1, r2, r3} 804eb2c: e895 0003 ldmia.w r5, {r0, r1} 804eb30: e884 0003 stmia.w r4, {r0, r1} DiagnFileData.d_Date = RTC_DateStruct; 804eb34: 4b15 ldr r3, [pc, #84] ; (804eb8c ) 804eb36: 4a18 ldr r2, [pc, #96] ; (804eb98 ) 804eb38: 3324 adds r3, #36 ; 0x24 804eb3a: 6810 ldr r0, [r2, #0] 804eb3c: 6018 str r0, [r3, #0] if(ALARM) DiagnFileData.d_Alarm = 1; 804eb3e: 4b17 ldr r3, [pc, #92] ; (804eb9c ) 804eb40: 781b ldrb r3, [r3, #0] 804eb42: b2db uxtb r3, r3 804eb44: 2b00 cmp r3, #0 804eb46: d004 beq.n 804eb52 804eb48: 4b10 ldr r3, [pc, #64] ; (804eb8c ) 804eb4a: 2201 movs r2, #1 804eb4c: f883 2032 strb.w r2, [r3, #50] ; 0x32 804eb50: e003 b.n 804eb5a else DiagnFileData.d_Alarm = 0; 804eb52: 4b0e ldr r3, [pc, #56] ; (804eb8c ) 804eb54: 2200 movs r2, #0 804eb56: f883 2032 strb.w r2, [r3, #50] ; 0x32 if(WARNING) DiagnFileData.d_Warning = 1; 804eb5a: 4b11 ldr r3, [pc, #68] ; (804eba0 ) 804eb5c: 781b ldrb r3, [r3, #0] 804eb5e: b2db uxtb r3, r3 804eb60: 2b00 cmp r3, #0 804eb62: d01f beq.n 804eba4 804eb64: 4b09 ldr r3, [pc, #36] ; (804eb8c ) 804eb66: 2201 movs r2, #1 804eb68: f883 2031 strb.w r2, [r3, #49] ; 0x31 804eb6c: e01e b.n 804ebac 804eb6e: bf00 nop 804eb70: 20020070 .word 0x20020070 804eb74: 20020f79 .word 0x20020f79 804eb78: 20020f78 .word 0x20020f78 804eb7c: 20022650 .word 0x20022650 804eb80: 20025c40 .word 0x20025c40 804eb84: 20021011 .word 0x20021011 804eb88: 20023e60 .word 0x20023e60 804eb8c: 200225f4 .word 0x200225f4 804eb90: 200268d8 .word 0x200268d8 804eb94: 20025c68 .word 0x20025c68 804eb98: 20025cec .word 0x20025cec 804eb9c: 20021015 .word 0x20021015 804eba0: 20021014 .word 0x20021014 else DiagnFileData.d_Warning = 0; 804eba4: 4bb7 ldr r3, [pc, #732] ; (804ee84 ) 804eba6: 2200 movs r2, #0 804eba8: f883 2031 strb.w r2, [r3, #49] ; 0x31 // if(operand[Us1] < pardata.DIAGN_A[CURR_POINT][Us1]) 804ebac: 4bb6 ldr r3, [pc, #728] ; (804ee88 ) 804ebae: ed93 7a00 vldr s14, [r3] 804ebb2: 4bb6 ldr r3, [pc, #728] ; (804ee8c ) 804ebb4: 781b ldrb r3, [r3, #0] 804ebb6: b2db uxtb r3, r3 804ebb8: 4ab5 ldr r2, [pc, #724] ; (804ee90 ) 804ebba: 011b lsls r3, r3, #4 804ebbc: 4413 add r3, r2 804ebbe: f503 7377 add.w r3, r3, #988 ; 0x3dc 804ebc2: edd3 7a00 vldr s15, [r3] 804ebc6: eeb4 7ae7 vcmpe.f32 s14, s15 804ebca: eef1 fa10 vmrs APSR_nzcv, fpscr 804ebce: d51b bpl.n 804ec08 { if(operand[Us1] < pardata.DIAGN_W[CURR_POINT][Us1]) 804ebd0: 4bad ldr r3, [pc, #692] ; (804ee88 ) 804ebd2: ed93 7a00 vldr s14, [r3] 804ebd6: 4bad ldr r3, [pc, #692] ; (804ee8c ) 804ebd8: 781b ldrb r3, [r3, #0] 804ebda: b2db uxtb r3, r3 804ebdc: 4aac ldr r2, [pc, #688] ; (804ee90 ) 804ebde: 011b lsls r3, r3, #4 804ebe0: 4413 add r3, r2 804ebe2: f503 7357 add.w r3, r3, #860 ; 0x35c 804ebe6: edd3 7a00 vldr s15, [r3] 804ebea: eeb4 7ae7 vcmpe.f32 s14, s15 804ebee: eef1 fa10 vmrs APSR_nzcv, fpscr 804ebf2: d504 bpl.n 804ebfe DiagnFileData.d_Op1_Color = 0; 804ebf4: 4ba3 ldr r3, [pc, #652] ; (804ee84 ) 804ebf6: 2200 movs r2, #0 804ebf8: f883 202e strb.w r2, [r3, #46] ; 0x2e 804ebfc: e008 b.n 804ec10 else DiagnFileData.d_Op1_Color = 1; 804ebfe: 4ba1 ldr r3, [pc, #644] ; (804ee84 ) 804ec00: 2201 movs r2, #1 804ec02: f883 202e strb.w r2, [r3, #46] ; 0x2e 804ec06: e003 b.n 804ec10 } else DiagnFileData.d_Op1_Color = 2; 804ec08: 4b9e ldr r3, [pc, #632] ; (804ee84 ) 804ec0a: 2202 movs r2, #2 804ec0c: f883 202e strb.w r2, [r3, #46] ; 0x2e // if(operand[Us2] < pardata.DIAGN_A[CURR_POINT][Us2]) 804ec10: 4b9d ldr r3, [pc, #628] ; (804ee88 ) 804ec12: ed93 7a01 vldr s14, [r3, #4] 804ec16: 4b9d ldr r3, [pc, #628] ; (804ee8c ) 804ec18: 781b ldrb r3, [r3, #0] 804ec1a: b2db uxtb r3, r3 804ec1c: 4a9c ldr r2, [pc, #624] ; (804ee90 ) 804ec1e: 011b lsls r3, r3, #4 804ec20: 4413 add r3, r2 804ec22: f503 7378 add.w r3, r3, #992 ; 0x3e0 804ec26: edd3 7a00 vldr s15, [r3] 804ec2a: eeb4 7ae7 vcmpe.f32 s14, s15 804ec2e: eef1 fa10 vmrs APSR_nzcv, fpscr 804ec32: d51b bpl.n 804ec6c { if(operand[Us2] < pardata.DIAGN_W[CURR_POINT][Us2]) 804ec34: 4b94 ldr r3, [pc, #592] ; (804ee88 ) 804ec36: ed93 7a01 vldr s14, [r3, #4] 804ec3a: 4b94 ldr r3, [pc, #592] ; (804ee8c ) 804ec3c: 781b ldrb r3, [r3, #0] 804ec3e: b2db uxtb r3, r3 804ec40: 4a93 ldr r2, [pc, #588] ; (804ee90 ) 804ec42: 011b lsls r3, r3, #4 804ec44: 4413 add r3, r2 804ec46: f503 7358 add.w r3, r3, #864 ; 0x360 804ec4a: edd3 7a00 vldr s15, [r3] 804ec4e: eeb4 7ae7 vcmpe.f32 s14, s15 804ec52: eef1 fa10 vmrs APSR_nzcv, fpscr 804ec56: d504 bpl.n 804ec62 DiagnFileData.d_Op2_Color = 0; 804ec58: 4b8a ldr r3, [pc, #552] ; (804ee84 ) 804ec5a: 2200 movs r2, #0 804ec5c: f883 202f strb.w r2, [r3, #47] ; 0x2f 804ec60: e008 b.n 804ec74 else DiagnFileData.d_Op2_Color = 1; 804ec62: 4b88 ldr r3, [pc, #544] ; (804ee84 ) 804ec64: 2201 movs r2, #1 804ec66: f883 202f strb.w r2, [r3, #47] ; 0x2f 804ec6a: e003 b.n 804ec74 } else DiagnFileData.d_Op2_Color = 2; 804ec6c: 4b85 ldr r3, [pc, #532] ; (804ee84 ) 804ec6e: 2202 movs r2, #2 804ec70: f883 202f strb.w r2, [r3, #47] ; 0x2f // if(operand[Us3] < pardata.DIAGN_A[CURR_POINT][Us3]) 804ec74: 4b84 ldr r3, [pc, #528] ; (804ee88 ) 804ec76: ed93 7a02 vldr s14, [r3, #8] 804ec7a: 4b84 ldr r3, [pc, #528] ; (804ee8c ) 804ec7c: 781b ldrb r3, [r3, #0] 804ec7e: b2db uxtb r3, r3 804ec80: 4a83 ldr r2, [pc, #524] ; (804ee90 ) 804ec82: 333e adds r3, #62 ; 0x3e 804ec84: 011b lsls r3, r3, #4 804ec86: 4413 add r3, r2 804ec88: 3304 adds r3, #4 804ec8a: edd3 7a00 vldr s15, [r3] 804ec8e: eeb4 7ae7 vcmpe.f32 s14, s15 804ec92: eef1 fa10 vmrs APSR_nzcv, fpscr 804ec96: d51b bpl.n 804ecd0 { if(operand[Us3] < pardata.DIAGN_W[CURR_POINT][Us3]) 804ec98: 4b7b ldr r3, [pc, #492] ; (804ee88 ) 804ec9a: ed93 7a02 vldr s14, [r3, #8] 804ec9e: 4b7b ldr r3, [pc, #492] ; (804ee8c ) 804eca0: 781b ldrb r3, [r3, #0] 804eca2: b2db uxtb r3, r3 804eca4: 4a7a ldr r2, [pc, #488] ; (804ee90 ) 804eca6: 3336 adds r3, #54 ; 0x36 804eca8: 011b lsls r3, r3, #4 804ecaa: 4413 add r3, r2 804ecac: 3304 adds r3, #4 804ecae: edd3 7a00 vldr s15, [r3] 804ecb2: eeb4 7ae7 vcmpe.f32 s14, s15 804ecb6: eef1 fa10 vmrs APSR_nzcv, fpscr 804ecba: d504 bpl.n 804ecc6 DiagnFileData.d_Op3_Color = 0; 804ecbc: 4b71 ldr r3, [pc, #452] ; (804ee84 ) 804ecbe: 2200 movs r2, #0 804ecc0: f883 2030 strb.w r2, [r3, #48] ; 0x30 804ecc4: e008 b.n 804ecd8 else DiagnFileData.d_Op3_Color = 1; 804ecc6: 4b6f ldr r3, [pc, #444] ; (804ee84 ) 804ecc8: 2201 movs r2, #1 804ecca: f883 2030 strb.w r2, [r3, #48] ; 0x30 804ecce: e003 b.n 804ecd8 } else DiagnFileData.d_Op3_Color = 2; 804ecd0: 4b6c ldr r3, [pc, #432] ; (804ee84 ) 804ecd2: 2202 movs r2, #2 804ecd4: f883 2030 strb.w r2, [r3, #48] ; 0x30 AddToFile = true; 804ecd8: 4b6e ldr r3, [pc, #440] ; (804ee94 ) 804ecda: 2201 movs r2, #1 804ecdc: 701a strb r2, [r3, #0] //************************************************************************************ result = WriteFileDGN(DiagFileName); 804ecde: 486e ldr r0, [pc, #440] ; (804ee98 ) 804ece0: f7da ffd8 bl 8029c94 804ece4: 4603 mov r3, r0 804ece6: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 804ecea: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 804ecee: 2b00 cmp r3, #0 804ecf0: d110 bne.n 804ed14 { STATUS = AP_SAVING_SUCCESS; 804ecf2: 4b6a ldr r3, [pc, #424] ; (804ee9c ) 804ecf4: 2207 movs r2, #7 804ecf6: 601a str r2, [r3, #0] timerStatus = sec2; 804ecf8: 4b69 ldr r3, [pc, #420] ; (804eea0 ) 804ecfa: f44f 5280 mov.w r2, #4096 ; 0x1000 804ecfe: 801a strh r2, [r3, #0] DrawStatus = true; 804ed00: 4b68 ldr r3, [pc, #416] ; (804eea4 ) 804ed02: 2201 movs r2, #1 804ed04: 701a strb r2, [r3, #0] Threshold = false; 804ed06: 4b68 ldr r3, [pc, #416] ; (804eea8 ) 804ed08: 2200 movs r2, #0 804ed0a: 701a strb r2, [r3, #0] FIRST = true; 804ed0c: 4b67 ldr r3, [pc, #412] ; (804eeac ) 804ed0e: 2201 movs r2, #1 804ed10: 701a strb r2, [r3, #0] 804ed12: e009 b.n 804ed28 } else { STATUS = AP_SAVING_ERROR; 804ed14: 4b61 ldr r3, [pc, #388] ; (804ee9c ) 804ed16: 2208 movs r2, #8 804ed18: 601a str r2, [r3, #0] timerStatus = sec2; 804ed1a: 4b61 ldr r3, [pc, #388] ; (804eea0 ) 804ed1c: f44f 5280 mov.w r2, #4096 ; 0x1000 804ed20: 801a strh r2, [r3, #0] DrawStatus = true; 804ed22: 4b60 ldr r3, [pc, #384] ; (804eea4 ) 804ed24: 2201 movs r2, #1 804ed26: 701a strb r2, [r3, #0] } AddToFile = false; 804ed28: 4b5a ldr r3, [pc, #360] ; (804ee94 ) 804ed2a: 2200 movs r2, #0 804ed2c: 701a strb r2, [r3, #0] { TEMP_Comment[CommentLen] = CHARS_ENG[menupos]; CommentLen++; } } break; 804ed2e: f003 bfd9 b.w 8052ce4 if(menupos == _BCKSPC) 804ed32: 4b5f ldr r3, [pc, #380] ; (804eeb0 ) 804ed34: 781b ldrb r3, [r3, #0] 804ed36: b2db uxtb r3, r3 804ed38: 2b1d cmp r3, #29 804ed3a: d116 bne.n 804ed6a CommentLen = strlen(TEMP_Comment); 804ed3c: 485d ldr r0, [pc, #372] ; (804eeb4 ) 804ed3e: f7d1 fae9 bl 8020314 804ed42: 4602 mov r2, r0 804ed44: 4b5c ldr r3, [pc, #368] ; (804eeb8 ) 804ed46: 601a str r2, [r3, #0] if(CommentLen) 804ed48: 4b5b ldr r3, [pc, #364] ; (804eeb8 ) 804ed4a: 681b ldr r3, [r3, #0] 804ed4c: 2b00 cmp r3, #0 804ed4e: f003 87c9 beq.w 8052ce4 CommentLen--; 804ed52: 4b59 ldr r3, [pc, #356] ; (804eeb8 ) 804ed54: 681b ldr r3, [r3, #0] 804ed56: 3b01 subs r3, #1 804ed58: 4a57 ldr r2, [pc, #348] ; (804eeb8 ) 804ed5a: 6013 str r3, [r2, #0] TEMP_Comment[CommentLen] = 0; 804ed5c: 4b56 ldr r3, [pc, #344] ; (804eeb8 ) 804ed5e: 681b ldr r3, [r3, #0] 804ed60: 4a54 ldr r2, [pc, #336] ; (804eeb4 ) 804ed62: 2100 movs r1, #0 804ed64: 54d1 strb r1, [r2, r3] break; 804ed66: f003 bfbd b.w 8052ce4 if(menupos == _CANCEL) 804ed6a: 4b51 ldr r3, [pc, #324] ; (804eeb0 ) 804ed6c: 781b ldrb r3, [r3, #0] 804ed6e: b2db uxtb r3, r3 804ed70: 2b27 cmp r3, #39 ; 0x27 804ed72: d107 bne.n 804ed84 menu = MAIN; 804ed74: 4b51 ldr r3, [pc, #324] ; (804eebc ) 804ed76: 2200 movs r2, #0 804ed78: 701a strb r2, [r3, #0] menupos = Record; 804ed7a: 4b4d ldr r3, [pc, #308] ; (804eeb0 ) 804ed7c: 2202 movs r2, #2 804ed7e: 701a strb r2, [r3, #0] break; 804ed80: f003 bfb0 b.w 8052ce4 CommentLen = strlen(TEMP_Comment); 804ed84: 484b ldr r0, [pc, #300] ; (804eeb4 ) 804ed86: f7d1 fac5 bl 8020314 804ed8a: 4602 mov r2, r0 804ed8c: 4b4a ldr r3, [pc, #296] ; (804eeb8 ) 804ed8e: 601a str r2, [r3, #0] if(CommentLen < 25) 804ed90: 4b49 ldr r3, [pc, #292] ; (804eeb8 ) 804ed92: 681b ldr r3, [r3, #0] 804ed94: 2b18 cmp r3, #24 804ed96: f203 87a5 bhi.w 8052ce4 TEMP_Comment[CommentLen] = CHARS_ENG[menupos]; 804ed9a: 4b47 ldr r3, [pc, #284] ; (804eeb8 ) 804ed9c: 681b ldr r3, [r3, #0] 804ed9e: 4a44 ldr r2, [pc, #272] ; (804eeb0 ) 804eda0: 7812 ldrb r2, [r2, #0] 804eda2: b2d2 uxtb r2, r2 804eda4: 4611 mov r1, r2 804eda6: 4a46 ldr r2, [pc, #280] ; (804eec0 ) 804eda8: 5c51 ldrb r1, [r2, r1] 804edaa: 4a42 ldr r2, [pc, #264] ; (804eeb4 ) 804edac: 54d1 strb r1, [r2, r3] CommentLen++; 804edae: 4b42 ldr r3, [pc, #264] ; (804eeb8 ) 804edb0: 681b ldr r3, [r3, #0] 804edb2: 3301 adds r3, #1 804edb4: 4a40 ldr r2, [pc, #256] ; (804eeb8 ) 804edb6: 6013 str r3, [r2, #0] break; 804edb8: f003 bf94 b.w 8052ce4 case INPUT_COMMENT: //TODO if(menupos == _ENTER) 804edbc: 4b3c ldr r3, [pc, #240] ; (804eeb0 ) 804edbe: 781b ldrb r3, [r3, #0] 804edc0: b2db uxtb r3, r3 804edc2: 2b26 cmp r3, #38 ; 0x26 804edc4: f040 8142 bne.w 804f04c { menu = lastmenu; 804edc8: 4b3e ldr r3, [pc, #248] ; (804eec4 ) 804edca: 781b ldrb r3, [r3, #0] 804edcc: b2da uxtb r2, r3 804edce: 4b3b ldr r3, [pc, #236] ; (804eebc ) 804edd0: 701a strb r2, [r3, #0] menupos = Record; 804edd2: 4b37 ldr r3, [pc, #220] ; (804eeb0 ) 804edd4: 2202 movs r2, #2 804edd6: 701a strb r2, [r3, #0] memcpy(Comment, TEMP_Comment, sizeof(Comment)); 804edd8: 4a3b ldr r2, [pc, #236] ; (804eec8 ) 804edda: 4b36 ldr r3, [pc, #216] ; (804eeb4 ) 804eddc: 4610 mov r0, r2 804edde: f103 0420 add.w r4, r3, #32 804ede2: 4602 mov r2, r0 804ede4: 4619 mov r1, r3 804ede6: f8d1 e000 ldr.w lr, [r1] 804edea: 684e ldr r6, [r1, #4] 804edec: 688d ldr r5, [r1, #8] 804edee: 68c9 ldr r1, [r1, #12] 804edf0: f8c2 e000 str.w lr, [r2] 804edf4: 6056 str r6, [r2, #4] 804edf6: 6095 str r5, [r2, #8] 804edf8: 60d1 str r1, [r2, #12] 804edfa: 3310 adds r3, #16 804edfc: 3010 adds r0, #16 804edfe: 42a3 cmp r3, r4 804ee00: d1ef bne.n 804ede2 804ee02: 4602 mov r2, r0 804ee04: 6819 ldr r1, [r3, #0] 804ee06: 685b ldr r3, [r3, #4] 804ee08: 6011 str r1, [r2, #0] 804ee0a: 6053 str r3, [r2, #4] if(pardata.IVS[ACC] == PEAK) 804ee0c: 4b20 ldr r3, [pc, #128] ; (804ee90 ) 804ee0e: 789b ldrb r3, [r3, #2] 804ee10: b2db uxtb r3, r3 804ee12: 2b00 cmp r3, #0 804ee14: d104 bne.n 804ee20 FileData.Aivs = 'P'; 804ee16: 4b2d ldr r3, [pc, #180] ; (804eecc ) 804ee18: 2250 movs r2, #80 ; 0x50 804ee1a: f883 202c strb.w r2, [r3, #44] ; 0x2c 804ee1e: e026 b.n 804ee6e else if(pardata.IVS[ACC] == RMS) 804ee20: 4b1b ldr r3, [pc, #108] ; (804ee90 ) 804ee22: 789b ldrb r3, [r3, #2] 804ee24: b2db uxtb r3, r3 804ee26: 2b01 cmp r3, #1 804ee28: d104 bne.n 804ee34 FileData.Aivs = 'S'; 804ee2a: 4b28 ldr r3, [pc, #160] ; (804eecc ) 804ee2c: 2253 movs r2, #83 ; 0x53 804ee2e: f883 202c strb.w r2, [r3, #44] ; 0x2c 804ee32: e01c b.n 804ee6e else if(pardata.IVS[ACC] == PEAK_TO_PEAK) 804ee34: 4b16 ldr r3, [pc, #88] ; (804ee90 ) 804ee36: 789b ldrb r3, [r3, #2] 804ee38: b2db uxtb r3, r3 804ee3a: 2b02 cmp r3, #2 804ee3c: d104 bne.n 804ee48 FileData.Aivs = 'R'; 804ee3e: 4b23 ldr r3, [pc, #140] ; (804eecc ) 804ee40: 2252 movs r2, #82 ; 0x52 804ee42: f883 202c strb.w r2, [r3, #44] ; 0x2c 804ee46: e012 b.n 804ee6e else if(pardata.IVS[ACC] == PEAK_FACTOR) 804ee48: 4b11 ldr r3, [pc, #68] ; (804ee90 ) 804ee4a: 789b ldrb r3, [r3, #2] 804ee4c: b2db uxtb r3, r3 804ee4e: 2b03 cmp r3, #3 804ee50: d104 bne.n 804ee5c FileData.Aivs = 'F'; 804ee52: 4b1e ldr r3, [pc, #120] ; (804eecc ) 804ee54: 2246 movs r2, #70 ; 0x46 804ee56: f883 202c strb.w r2, [r3, #44] ; 0x2c 804ee5a: e008 b.n 804ee6e else if(pardata.IVS[ACC] == EXCESS) 804ee5c: 4b0c ldr r3, [pc, #48] ; (804ee90 ) 804ee5e: 789b ldrb r3, [r3, #2] 804ee60: b2db uxtb r3, r3 804ee62: 2b04 cmp r3, #4 804ee64: d103 bne.n 804ee6e FileData.Aivs = 'E'; 804ee66: 4b19 ldr r3, [pc, #100] ; (804eecc ) 804ee68: 2245 movs r2, #69 ; 0x45 804ee6a: f883 202c strb.w r2, [r3, #44] ; 0x2c if(pardata.IVS[VEL] == PEAK) 804ee6e: 4b08 ldr r3, [pc, #32] ; (804ee90 ) 804ee70: 78db ldrb r3, [r3, #3] 804ee72: b2db uxtb r3, r3 804ee74: 2b00 cmp r3, #0 804ee76: d12b bne.n 804eed0 FileData.Vivs = 'P'; 804ee78: 4b14 ldr r3, [pc, #80] ; (804eecc ) 804ee7a: 2250 movs r2, #80 ; 0x50 804ee7c: f883 202d strb.w r2, [r3, #45] ; 0x2d 804ee80: e04d b.n 804ef1e 804ee82: bf00 nop 804ee84: 200225f4 .word 0x200225f4 804ee88: 200268d8 .word 0x200268d8 804ee8c: 20021011 .word 0x20021011 804ee90: 20023e60 .word 0x20023e60 804ee94: 20020dc8 .word 0x20020dc8 804ee98: 20020e7c .word 0x20020e7c 804ee9c: 20020dcc .word 0x20020dcc 804eea0: 2002168c .word 0x2002168c 804eea4: 20020dd2 .word 0x20020dd2 804eea8: 20020db1 .word 0x20020db1 804eeac: 20020db2 .word 0x20020db2 804eeb0: 20020070 .word 0x20020070 804eeb4: 20025c40 .word 0x20025c40 804eeb8: 20020e18 .word 0x20020e18 804eebc: 20020f78 .word 0x20020f78 804eec0: 080ee790 .word 0x080ee790 804eec4: 20020f79 .word 0x20020f79 804eec8: 20022650 .word 0x20022650 804eecc: 20022984 .word 0x20022984 else if(pardata.IVS[VEL] == RMS) 804eed0: 4b81 ldr r3, [pc, #516] ; (804f0d8 ) 804eed2: 78db ldrb r3, [r3, #3] 804eed4: b2db uxtb r3, r3 804eed6: 2b01 cmp r3, #1 804eed8: d104 bne.n 804eee4 FileData.Vivs = 'S'; 804eeda: 4b80 ldr r3, [pc, #512] ; (804f0dc ) 804eedc: 2253 movs r2, #83 ; 0x53 804eede: f883 202d strb.w r2, [r3, #45] ; 0x2d 804eee2: e01c b.n 804ef1e else if(pardata.IVS[VEL] == PEAK_TO_PEAK) 804eee4: 4b7c ldr r3, [pc, #496] ; (804f0d8 ) 804eee6: 78db ldrb r3, [r3, #3] 804eee8: b2db uxtb r3, r3 804eeea: 2b02 cmp r3, #2 804eeec: d104 bne.n 804eef8 FileData.Vivs = 'R'; 804eeee: 4b7b ldr r3, [pc, #492] ; (804f0dc ) 804eef0: 2252 movs r2, #82 ; 0x52 804eef2: f883 202d strb.w r2, [r3, #45] ; 0x2d 804eef6: e012 b.n 804ef1e else if(pardata.IVS[VEL] == PEAK_FACTOR) 804eef8: 4b77 ldr r3, [pc, #476] ; (804f0d8 ) 804eefa: 78db ldrb r3, [r3, #3] 804eefc: b2db uxtb r3, r3 804eefe: 2b03 cmp r3, #3 804ef00: d104 bne.n 804ef0c FileData.Vivs = 'F'; 804ef02: 4b76 ldr r3, [pc, #472] ; (804f0dc ) 804ef04: 2246 movs r2, #70 ; 0x46 804ef06: f883 202d strb.w r2, [r3, #45] ; 0x2d 804ef0a: e008 b.n 804ef1e else if(pardata.IVS[VEL] == EXCESS) 804ef0c: 4b72 ldr r3, [pc, #456] ; (804f0d8 ) 804ef0e: 78db ldrb r3, [r3, #3] 804ef10: b2db uxtb r3, r3 804ef12: 2b04 cmp r3, #4 804ef14: d103 bne.n 804ef1e FileData.Vivs = 'E'; 804ef16: 4b71 ldr r3, [pc, #452] ; (804f0dc ) 804ef18: 2245 movs r2, #69 ; 0x45 804ef1a: f883 202d strb.w r2, [r3, #45] ; 0x2d if(pardata.IVS[DIS] == PEAK) 804ef1e: 4b6e ldr r3, [pc, #440] ; (804f0d8 ) 804ef20: 791b ldrb r3, [r3, #4] 804ef22: b2db uxtb r3, r3 804ef24: 2b00 cmp r3, #0 804ef26: d104 bne.n 804ef32 FileData.Sivs = 'P'; 804ef28: 4b6c ldr r3, [pc, #432] ; (804f0dc ) 804ef2a: 2250 movs r2, #80 ; 0x50 804ef2c: f883 202e strb.w r2, [r3, #46] ; 0x2e 804ef30: e026 b.n 804ef80 else if(pardata.IVS[DIS] == RMS) 804ef32: 4b69 ldr r3, [pc, #420] ; (804f0d8 ) 804ef34: 791b ldrb r3, [r3, #4] 804ef36: b2db uxtb r3, r3 804ef38: 2b01 cmp r3, #1 804ef3a: d104 bne.n 804ef46 FileData.Sivs = 'S'; 804ef3c: 4b67 ldr r3, [pc, #412] ; (804f0dc ) 804ef3e: 2253 movs r2, #83 ; 0x53 804ef40: f883 202e strb.w r2, [r3, #46] ; 0x2e 804ef44: e01c b.n 804ef80 else if(pardata.IVS[DIS] == PEAK_TO_PEAK) 804ef46: 4b64 ldr r3, [pc, #400] ; (804f0d8 ) 804ef48: 791b ldrb r3, [r3, #4] 804ef4a: b2db uxtb r3, r3 804ef4c: 2b02 cmp r3, #2 804ef4e: d104 bne.n 804ef5a FileData.Sivs = 'R'; 804ef50: 4b62 ldr r3, [pc, #392] ; (804f0dc ) 804ef52: 2252 movs r2, #82 ; 0x52 804ef54: f883 202e strb.w r2, [r3, #46] ; 0x2e 804ef58: e012 b.n 804ef80 else if(pardata.IVS[DIS] == PEAK_FACTOR) 804ef5a: 4b5f ldr r3, [pc, #380] ; (804f0d8 ) 804ef5c: 791b ldrb r3, [r3, #4] 804ef5e: b2db uxtb r3, r3 804ef60: 2b03 cmp r3, #3 804ef62: d104 bne.n 804ef6e FileData.Sivs = 'F'; 804ef64: 4b5d ldr r3, [pc, #372] ; (804f0dc ) 804ef66: 2246 movs r2, #70 ; 0x46 804ef68: f883 202e strb.w r2, [r3, #46] ; 0x2e 804ef6c: e008 b.n 804ef80 else if(pardata.IVS[DIS] == EXCESS) 804ef6e: 4b5a ldr r3, [pc, #360] ; (804f0d8 ) 804ef70: 791b ldrb r3, [r3, #4] 804ef72: b2db uxtb r3, r3 804ef74: 2b04 cmp r3, #4 804ef76: d103 bne.n 804ef80 FileData.Sivs = 'E'; 804ef78: 4b58 ldr r3, [pc, #352] ; (804f0dc ) 804ef7a: 2245 movs r2, #69 ; 0x45 804ef7c: f883 202e strb.w r2, [r3, #46] ; 0x2e FileData.Aval.fl = skz[ACC]; 804ef80: 4b57 ldr r3, [pc, #348] ; (804f0e0 ) 804ef82: 681b ldr r3, [r3, #0] 804ef84: 4a55 ldr r2, [pc, #340] ; (804f0dc ) 804ef86: 6013 str r3, [r2, #0] if(pardata.HP < 2.0f) 804ef88: 4b53 ldr r3, [pc, #332] ; (804f0d8 ) 804ef8a: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 804ef8e: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 804ef92: eef4 7ac7 vcmpe.f32 s15, s14 804ef96: eef1 fa10 vmrs APSR_nzcv, fpscr 804ef9a: d505 bpl.n 804efa8 { skz[VEL] = -1.0f; 804ef9c: 4b50 ldr r3, [pc, #320] ; (804f0e0 ) 804ef9e: 4a51 ldr r2, [pc, #324] ; (804f0e4 ) 804efa0: 605a str r2, [r3, #4] skz[DIS] = -1.0f; 804efa2: 4b4f ldr r3, [pc, #316] ; (804f0e0 ) 804efa4: 4a4f ldr r2, [pc, #316] ; (804f0e4 ) 804efa6: 609a str r2, [r3, #8] } FileData.Vval.fl = skz[VEL]; 804efa8: 4b4d ldr r3, [pc, #308] ; (804f0e0 ) 804efaa: 685b ldr r3, [r3, #4] 804efac: 4a4b ldr r2, [pc, #300] ; (804f0dc ) 804efae: 6053 str r3, [r2, #4] FileData.Sval.fl = skz[DIS]; 804efb0: 4b4b ldr r3, [pc, #300] ; (804f0e0 ) 804efb2: 689b ldr r3, [r3, #8] 804efb4: 4a49 ldr r2, [pc, #292] ; (804f0dc ) 804efb6: 6093 str r3, [r2, #8] if(menu == MAIN) 804efb8: 4b4b ldr r3, [pc, #300] ; (804f0e8 ) 804efba: 781b ldrb r3, [r3, #0] 804efbc: b2db uxtb r3, r3 804efbe: 2b00 cmp r3, #0 804efc0: d103 bne.n 804efca FileData.Fval.fl = -1.0f; 804efc2: 4b46 ldr r3, [pc, #280] ; (804f0dc ) 804efc4: 4a47 ldr r2, [pc, #284] ; (804f0e4 ) 804efc6: 60da str r2, [r3, #12] 804efc8: e003 b.n 804efd2 else FileData.Fval.fl = FreqFran; 804efca: 4b48 ldr r3, [pc, #288] ; (804f0ec ) 804efcc: 681b ldr r3, [r3, #0] 804efce: 4a43 ldr r2, [pc, #268] ; (804f0dc ) 804efd0: 60d3 str r3, [r2, #12] FileData.Time = RTC_TimeStruct; 804efd2: 4b42 ldr r3, [pc, #264] ; (804f0dc ) 804efd4: 4a46 ldr r2, [pc, #280] ; (804f0f0 ) 804efd6: f103 0410 add.w r4, r3, #16 804efda: 4615 mov r5, r2 804efdc: cd0f ldmia r5!, {r0, r1, r2, r3} 804efde: c40f stmia r4!, {r0, r1, r2, r3} 804efe0: e895 0003 ldmia.w r5, {r0, r1} 804efe4: e884 0003 stmia.w r4, {r0, r1} FileData.Date = RTC_DateStruct; 804efe8: 4b3c ldr r3, [pc, #240] ; (804f0dc ) 804efea: 4a42 ldr r2, [pc, #264] ; (804f0f4 ) 804efec: 3328 adds r3, #40 ; 0x28 804efee: 6810 ldr r0, [r2, #0] 804eff0: 6018 str r0, [r3, #0] AddToFile = true; 804eff2: 4b41 ldr r3, [pc, #260] ; (804f0f8 ) 804eff4: 2201 movs r2, #1 804eff6: 701a strb r2, [r3, #0] //************************************************************************************ result = WriteFilePTM(MeasFileName); 804eff8: 4840 ldr r0, [pc, #256] ; (804f0fc ) 804effa: f7da f8f1 bl 80291e0 804effe: 4603 mov r3, r0 804f000: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 804f004: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 804f008: 2b00 cmp r3, #0 804f00a: d110 bne.n 804f02e { STATUS = AP_SAVING_SUCCESS; 804f00c: 4b3c ldr r3, [pc, #240] ; (804f100 ) 804f00e: 2207 movs r2, #7 804f010: 601a str r2, [r3, #0] timerStatus = sec2; 804f012: 4b3c ldr r3, [pc, #240] ; (804f104 ) 804f014: f44f 5280 mov.w r2, #4096 ; 0x1000 804f018: 801a strh r2, [r3, #0] DrawStatus = true; 804f01a: 4b3b ldr r3, [pc, #236] ; (804f108 ) 804f01c: 2201 movs r2, #1 804f01e: 701a strb r2, [r3, #0] Threshold = false; 804f020: 4b3a ldr r3, [pc, #232] ; (804f10c ) 804f022: 2200 movs r2, #0 804f024: 701a strb r2, [r3, #0] FIRST = true; 804f026: 4b3a ldr r3, [pc, #232] ; (804f110 ) 804f028: 2201 movs r2, #1 804f02a: 701a strb r2, [r3, #0] 804f02c: e009 b.n 804f042 } else { STATUS = AP_SAVING_ERROR; 804f02e: 4b34 ldr r3, [pc, #208] ; (804f100 ) 804f030: 2208 movs r2, #8 804f032: 601a str r2, [r3, #0] timerStatus = sec2; 804f034: 4b33 ldr r3, [pc, #204] ; (804f104 ) 804f036: f44f 5280 mov.w r2, #4096 ; 0x1000 804f03a: 801a strh r2, [r3, #0] DrawStatus = true; 804f03c: 4b32 ldr r3, [pc, #200] ; (804f108 ) 804f03e: 2201 movs r2, #1 804f040: 701a strb r2, [r3, #0] } AddToFile = false; 804f042: 4b2d ldr r3, [pc, #180] ; (804f0f8 ) 804f044: 2200 movs r2, #0 804f046: 701a strb r2, [r3, #0] { TEMP_Comment[CommentLen] = CHARS_ENG[menupos]; CommentLen++; } } break; 804f048: f003 be4e b.w 8052ce8 if(menupos == _BCKSPC) 804f04c: 4b31 ldr r3, [pc, #196] ; (804f114 ) 804f04e: 781b ldrb r3, [r3, #0] 804f050: b2db uxtb r3, r3 804f052: 2b1d cmp r3, #29 804f054: d116 bne.n 804f084 CommentLen = strlen(TEMP_Comment); 804f056: 4830 ldr r0, [pc, #192] ; (804f118 ) 804f058: f7d1 f95c bl 8020314 804f05c: 4602 mov r2, r0 804f05e: 4b2f ldr r3, [pc, #188] ; (804f11c ) 804f060: 601a str r2, [r3, #0] if(CommentLen) 804f062: 4b2e ldr r3, [pc, #184] ; (804f11c ) 804f064: 681b ldr r3, [r3, #0] 804f066: 2b00 cmp r3, #0 804f068: f003 863e beq.w 8052ce8 CommentLen--; 804f06c: 4b2b ldr r3, [pc, #172] ; (804f11c ) 804f06e: 681b ldr r3, [r3, #0] 804f070: 3b01 subs r3, #1 804f072: 4a2a ldr r2, [pc, #168] ; (804f11c ) 804f074: 6013 str r3, [r2, #0] TEMP_Comment[CommentLen] = 0; 804f076: 4b29 ldr r3, [pc, #164] ; (804f11c ) 804f078: 681b ldr r3, [r3, #0] 804f07a: 4a27 ldr r2, [pc, #156] ; (804f118 ) 804f07c: 2100 movs r1, #0 804f07e: 54d1 strb r1, [r2, r3] break; 804f080: f003 be32 b.w 8052ce8 if(menupos == _CANCEL) 804f084: 4b23 ldr r3, [pc, #140] ; (804f114 ) 804f086: 781b ldrb r3, [r3, #0] 804f088: b2db uxtb r3, r3 804f08a: 2b27 cmp r3, #39 ; 0x27 804f08c: d107 bne.n 804f09e menu = MAIN; 804f08e: 4b16 ldr r3, [pc, #88] ; (804f0e8 ) 804f090: 2200 movs r2, #0 804f092: 701a strb r2, [r3, #0] menupos = Record; 804f094: 4b1f ldr r3, [pc, #124] ; (804f114 ) 804f096: 2202 movs r2, #2 804f098: 701a strb r2, [r3, #0] break; 804f09a: f003 be25 b.w 8052ce8 CommentLen = strlen(TEMP_Comment); 804f09e: 481e ldr r0, [pc, #120] ; (804f118 ) 804f0a0: f7d1 f938 bl 8020314 804f0a4: 4602 mov r2, r0 804f0a6: 4b1d ldr r3, [pc, #116] ; (804f11c ) 804f0a8: 601a str r2, [r3, #0] if(CommentLen < 25) 804f0aa: 4b1c ldr r3, [pc, #112] ; (804f11c ) 804f0ac: 681b ldr r3, [r3, #0] 804f0ae: 2b18 cmp r3, #24 804f0b0: f203 861a bhi.w 8052ce8 TEMP_Comment[CommentLen] = CHARS_ENG[menupos]; 804f0b4: 4b19 ldr r3, [pc, #100] ; (804f11c ) 804f0b6: 681b ldr r3, [r3, #0] 804f0b8: 4a16 ldr r2, [pc, #88] ; (804f114 ) 804f0ba: 7812 ldrb r2, [r2, #0] 804f0bc: b2d2 uxtb r2, r2 804f0be: 4611 mov r1, r2 804f0c0: 4a17 ldr r2, [pc, #92] ; (804f120 ) 804f0c2: 5c51 ldrb r1, [r2, r1] 804f0c4: 4a14 ldr r2, [pc, #80] ; (804f118 ) 804f0c6: 54d1 strb r1, [r2, r3] CommentLen++; 804f0c8: 4b14 ldr r3, [pc, #80] ; (804f11c ) 804f0ca: 681b ldr r3, [r3, #0] 804f0cc: 3301 adds r3, #1 804f0ce: 4a13 ldr r2, [pc, #76] ; (804f11c ) 804f0d0: 6013 str r3, [r2, #0] break; 804f0d2: f003 be09 b.w 8052ce8 804f0d6: bf00 nop 804f0d8: 20023e60 .word 0x20023e60 804f0dc: 20022984 .word 0x20022984 804f0e0: 20021540 .word 0x20021540 804f0e4: bf800000 .word 0xbf800000 804f0e8: 20020f78 .word 0x20020f78 804f0ec: 20021564 .word 0x20021564 804f0f0: 20025c68 .word 0x20025c68 804f0f4: 20025cec .word 0x20025cec 804f0f8: 20020dc8 .word 0x20020dc8 804f0fc: 20020e58 .word 0x20020e58 804f100: 20020dcc .word 0x20020dcc 804f104: 2002168c .word 0x2002168c 804f108: 20020dd2 .word 0x20020dd2 804f10c: 20020db1 .word 0x20020db1 804f110: 20020db2 .word 0x20020db2 804f114: 20020070 .word 0x20020070 804f118: 20025c40 .word 0x20025c40 804f11c: 20020e18 .word 0x20020e18 804f120: 080ee790 .word 0x080ee790 case INPUT_NAME_PTM: if(menupos == _ENTER) 804f124: 4bbb ldr r3, [pc, #748] ; (804f414 ) 804f126: 781b ldrb r3, [r3, #0] 804f128: b2db uxtb r3, r3 804f12a: 2b26 cmp r3, #38 ; 0x26 804f12c: f040 80a3 bne.w 804f276 { MeasFileNameLen = strlen(TEMP_MeasFileName); 804f130: 48b9 ldr r0, [pc, #740] ; (804f418 ) 804f132: f7d1 f8ef bl 8020314 804f136: 4602 mov r2, r0 804f138: 4bb8 ldr r3, [pc, #736] ; (804f41c ) 804f13a: 601a str r2, [r3, #0] if(MeasFileNameLen > 0) 804f13c: 4bb7 ldr r3, [pc, #732] ; (804f41c ) 804f13e: 681b ldr r3, [r3, #0] 804f140: 2b00 cmp r3, #0 804f142: f003 85d3 beq.w 8052cec { strcpy(string, TEMP_MeasFileName); 804f146: f107 0344 add.w r3, r7, #68 ; 0x44 804f14a: 49b3 ldr r1, [pc, #716] ; (804f418 ) 804f14c: 4618 mov r0, r3 804f14e: f07e f898 bl 80cd282 string[MeasFileNameLen] = '.'; 804f152: 4bb2 ldr r3, [pc, #712] ; (804f41c ) 804f154: 681b ldr r3, [r3, #0] 804f156: f107 02c8 add.w r2, r7, #200 ; 0xc8 804f15a: 4413 add r3, r2 804f15c: 222e movs r2, #46 ; 0x2e 804f15e: f803 2c84 strb.w r2, [r3, #-132] string[MeasFileNameLen + 1] = 'P'; 804f162: 4bae ldr r3, [pc, #696] ; (804f41c ) 804f164: 681b ldr r3, [r3, #0] 804f166: 3301 adds r3, #1 804f168: f107 02c8 add.w r2, r7, #200 ; 0xc8 804f16c: 4413 add r3, r2 804f16e: 2250 movs r2, #80 ; 0x50 804f170: f803 2c84 strb.w r2, [r3, #-132] string[MeasFileNameLen + 2] = 'T'; 804f174: 4ba9 ldr r3, [pc, #676] ; (804f41c ) 804f176: 681b ldr r3, [r3, #0] 804f178: 3302 adds r3, #2 804f17a: f107 02c8 add.w r2, r7, #200 ; 0xc8 804f17e: 4413 add r3, r2 804f180: 2254 movs r2, #84 ; 0x54 804f182: f803 2c84 strb.w r2, [r3, #-132] string[MeasFileNameLen + 3] = 'M'; 804f186: 4ba5 ldr r3, [pc, #660] ; (804f41c ) 804f188: 681b ldr r3, [r3, #0] 804f18a: 3303 adds r3, #3 804f18c: f107 02c8 add.w r2, r7, #200 ; 0xc8 804f190: 4413 add r3, r2 804f192: 224d movs r2, #77 ; 0x4d 804f194: f803 2c84 strb.w r2, [r3, #-132] string[MeasFileNameLen + 4] = '\0'; 804f198: 4ba0 ldr r3, [pc, #640] ; (804f41c ) 804f19a: 681b ldr r3, [r3, #0] 804f19c: 3304 adds r3, #4 804f19e: f107 02c8 add.w r2, r7, #200 ; 0xc8 804f1a2: 4413 add r3, r2 804f1a4: 2200 movs r2, #0 804f1a6: f803 2c84 strb.w r2, [r3, #-132] result = CheckExistPTM(string); 804f1aa: f107 0344 add.w r3, r7, #68 ; 0x44 804f1ae: 4618 mov r0, r3 804f1b0: f7db fcec bl 802ab8c 804f1b4: 4603 mov r3, r0 804f1b6: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_NO_FILE) 804f1ba: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 804f1be: 2b04 cmp r3, #4 804f1c0: d137 bne.n 804f232 { result = CreateFilePTM(string); 804f1c2: f107 0344 add.w r3, r7, #68 ; 0x44 804f1c6: 4618 mov r0, r3 804f1c8: f7d5 ff5c bl 8025084 804f1cc: 4603 mov r3, r0 804f1ce: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 804f1d2: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 804f1d6: 2b00 cmp r3, #0 804f1d8: d119 bne.n 804f20e { if(strcmp(MeasFileName, string) != 0) 804f1da: f107 0344 add.w r3, r7, #68 ; 0x44 804f1de: 4619 mov r1, r3 804f1e0: 488f ldr r0, [pc, #572] ; (804f420 ) 804f1e2: f7d1 f88d bl 8020300 804f1e6: 4603 mov r3, r0 804f1e8: 2b00 cmp r3, #0 804f1ea: d002 beq.n 804f1f2 DrawSavedData = false; 804f1ec: 4b8d ldr r3, [pc, #564] ; (804f424 ) 804f1ee: 2200 movs r2, #0 804f1f0: 701a strb r2, [r3, #0] strcpy(MeasFileName, string); 804f1f2: f107 0344 add.w r3, r7, #68 ; 0x44 804f1f6: 4619 mov r1, r3 804f1f8: 4889 ldr r0, [pc, #548] ; (804f420 ) 804f1fa: f07e f842 bl 80cd282 menu = PARAM_VIB; 804f1fe: 4b8a ldr r3, [pc, #552] ; (804f428 ) 804f200: 2206 movs r2, #6 804f202: 701a strb r2, [r3, #0] menupos = SaveToFile; 804f204: 4b83 ldr r3, [pc, #524] ; (804f414 ) 804f206: 220a movs r2, #10 804f208: 701a strb r2, [r3, #0] { TEMP_MeasFileName[MeasFileNameLen] = CHARS_ENG[menupos]; MeasFileNameLen++; } } break; 804f20a: f003 bd6f b.w 8052cec timerStatus = sec2; 804f20e: 4b87 ldr r3, [pc, #540] ; (804f42c ) 804f210: f44f 5280 mov.w r2, #4096 ; 0x1000 804f214: 801a strh r2, [r3, #0] DrawStatus = true; 804f216: 4b86 ldr r3, [pc, #536] ; (804f430 ) 804f218: 2201 movs r2, #1 804f21a: 701a strb r2, [r3, #0] STATUS = AP_DISK_ERROR; 804f21c: 4b85 ldr r3, [pc, #532] ; (804f434 ) 804f21e: 220b movs r2, #11 804f220: 601a str r2, [r3, #0] menu = PARAM_VIB; 804f222: 4b81 ldr r3, [pc, #516] ; (804f428 ) 804f224: 2206 movs r2, #6 804f226: 701a strb r2, [r3, #0] menupos = SaveToFile; 804f228: 4b7a ldr r3, [pc, #488] ; (804f414 ) 804f22a: 220a movs r2, #10 804f22c: 701a strb r2, [r3, #0] break; 804f22e: f003 bd5d b.w 8052cec if(result == FR_EXIST) 804f232: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 804f236: 2b08 cmp r3, #8 804f238: d10b bne.n 804f252 timerStatus = sec2; 804f23a: 4b7c ldr r3, [pc, #496] ; (804f42c ) 804f23c: f44f 5280 mov.w r2, #4096 ; 0x1000 804f240: 801a strh r2, [r3, #0] DrawStatus = true; 804f242: 4b7b ldr r3, [pc, #492] ; (804f430 ) 804f244: 2201 movs r2, #1 804f246: 701a strb r2, [r3, #0] STATUS = AP_FILE_EXIST; 804f248: 4b7a ldr r3, [pc, #488] ; (804f434 ) 804f24a: 2206 movs r2, #6 804f24c: 601a str r2, [r3, #0] break; 804f24e: f003 bd4d b.w 8052cec timerStatus = sec2; 804f252: 4b76 ldr r3, [pc, #472] ; (804f42c ) 804f254: f44f 5280 mov.w r2, #4096 ; 0x1000 804f258: 801a strh r2, [r3, #0] DrawStatus = true; 804f25a: 4b75 ldr r3, [pc, #468] ; (804f430 ) 804f25c: 2201 movs r2, #1 804f25e: 701a strb r2, [r3, #0] STATUS = AP_DISK_ERROR; 804f260: 4b74 ldr r3, [pc, #464] ; (804f434 ) 804f262: 220b movs r2, #11 804f264: 601a str r2, [r3, #0] menu = PARAM_VIB; 804f266: 4b70 ldr r3, [pc, #448] ; (804f428 ) 804f268: 2206 movs r2, #6 804f26a: 701a strb r2, [r3, #0] menupos = SaveToFile; 804f26c: 4b69 ldr r3, [pc, #420] ; (804f414 ) 804f26e: 220a movs r2, #10 804f270: 701a strb r2, [r3, #0] break; 804f272: f003 bd3b b.w 8052cec if(menupos == _BCKSPC) 804f276: 4b67 ldr r3, [pc, #412] ; (804f414 ) 804f278: 781b ldrb r3, [r3, #0] 804f27a: b2db uxtb r3, r3 804f27c: 2b1d cmp r3, #29 804f27e: d116 bne.n 804f2ae MeasFileNameLen = strlen(TEMP_MeasFileName); 804f280: 4865 ldr r0, [pc, #404] ; (804f418 ) 804f282: f7d1 f847 bl 8020314 804f286: 4602 mov r2, r0 804f288: 4b64 ldr r3, [pc, #400] ; (804f41c ) 804f28a: 601a str r2, [r3, #0] if(MeasFileNameLen) 804f28c: 4b63 ldr r3, [pc, #396] ; (804f41c ) 804f28e: 681b ldr r3, [r3, #0] 804f290: 2b00 cmp r3, #0 804f292: f003 852b beq.w 8052cec MeasFileNameLen--; 804f296: 4b61 ldr r3, [pc, #388] ; (804f41c ) 804f298: 681b ldr r3, [r3, #0] 804f29a: 3b01 subs r3, #1 804f29c: 4a5f ldr r2, [pc, #380] ; (804f41c ) 804f29e: 6013 str r3, [r2, #0] TEMP_MeasFileName[MeasFileNameLen] = 0; 804f2a0: 4b5e ldr r3, [pc, #376] ; (804f41c ) 804f2a2: 681b ldr r3, [r3, #0] 804f2a4: 4a5c ldr r2, [pc, #368] ; (804f418 ) 804f2a6: 2100 movs r1, #0 804f2a8: 54d1 strb r1, [r2, r3] break; 804f2aa: f003 bd1f b.w 8052cec if(menupos == _CANCEL) 804f2ae: 4b59 ldr r3, [pc, #356] ; (804f414 ) 804f2b0: 781b ldrb r3, [r3, #0] 804f2b2: b2db uxtb r3, r3 804f2b4: 2b27 cmp r3, #39 ; 0x27 804f2b6: d10f bne.n 804f2d8 MeasFileNameLen = strlen(MeasFileName); 804f2b8: 4859 ldr r0, [pc, #356] ; (804f420 ) 804f2ba: f7d1 f82b bl 8020314 804f2be: 4602 mov r2, r0 804f2c0: 4b56 ldr r3, [pc, #344] ; (804f41c ) 804f2c2: 601a str r2, [r3, #0] menu = EXPLORER; 804f2c4: 4b58 ldr r3, [pc, #352] ; (804f428 ) 804f2c6: 2229 movs r2, #41 ; 0x29 804f2c8: 701a strb r2, [r3, #0] menupos = lastmenupos; 804f2ca: 4b5b ldr r3, [pc, #364] ; (804f438 ) 804f2cc: 781b ldrb r3, [r3, #0] 804f2ce: b2da uxtb r2, r3 804f2d0: 4b50 ldr r3, [pc, #320] ; (804f414 ) 804f2d2: 701a strb r2, [r3, #0] break; 804f2d4: f003 bd0a b.w 8052cec MeasFileNameLen = strlen(TEMP_MeasFileName); 804f2d8: 484f ldr r0, [pc, #316] ; (804f418 ) 804f2da: f7d1 f81b bl 8020314 804f2de: 4602 mov r2, r0 804f2e0: 4b4e ldr r3, [pc, #312] ; (804f41c ) 804f2e2: 601a str r2, [r3, #0] if(MeasFileNameLen < MAX_NAME) 804f2e4: 4b4d ldr r3, [pc, #308] ; (804f41c ) 804f2e6: 681b ldr r3, [r3, #0] 804f2e8: 2b18 cmp r3, #24 804f2ea: f203 84ff bhi.w 8052cec TEMP_MeasFileName[MeasFileNameLen] = CHARS_ENG[menupos]; 804f2ee: 4b4b ldr r3, [pc, #300] ; (804f41c ) 804f2f0: 681b ldr r3, [r3, #0] 804f2f2: 4a48 ldr r2, [pc, #288] ; (804f414 ) 804f2f4: 7812 ldrb r2, [r2, #0] 804f2f6: b2d2 uxtb r2, r2 804f2f8: 4611 mov r1, r2 804f2fa: 4a50 ldr r2, [pc, #320] ; (804f43c ) 804f2fc: 5c51 ldrb r1, [r2, r1] 804f2fe: 4a46 ldr r2, [pc, #280] ; (804f418 ) 804f300: 54d1 strb r1, [r2, r3] MeasFileNameLen++; 804f302: 4b46 ldr r3, [pc, #280] ; (804f41c ) 804f304: 681b ldr r3, [r3, #0] 804f306: 3301 adds r3, #1 804f308: 4a44 ldr r2, [pc, #272] ; (804f41c ) 804f30a: 6013 str r3, [r2, #0] break; 804f30c: f003 bcee b.w 8052cec case INPUT_NAME: if(menupos == _ENTER) 804f310: 4b40 ldr r3, [pc, #256] ; (804f414 ) 804f312: 781b ldrb r3, [r3, #0] 804f314: b2db uxtb r3, r3 804f316: 2b26 cmp r3, #38 ; 0x26 804f318: d160 bne.n 804f3dc { NameLen = strlen(TEMP_Name); 804f31a: 4849 ldr r0, [pc, #292] ; (804f440 ) 804f31c: f7d0 fffa bl 8020314 804f320: 4602 mov r2, r0 804f322: 4b48 ldr r3, [pc, #288] ; (804f444 ) 804f324: 601a str r2, [r3, #0] if(NameLen > 0) 804f326: 4b47 ldr r3, [pc, #284] ; (804f444 ) 804f328: 681b ldr r3, [r3, #0] 804f32a: 2b00 cmp r3, #0 804f32c: f003 84e0 beq.w 8052cf0 { strcpy(string, TEMP_Name); 804f330: f107 0344 add.w r3, r7, #68 ; 0x44 804f334: 4942 ldr r1, [pc, #264] ; (804f440 ) 804f336: 4618 mov r0, r3 804f338: f07d ffa3 bl 80cd282 for(i = 0; i < 8; i++) 804f33c: 2300 movs r3, #0 804f33e: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 804f342: e01b b.n 804f37c { k = strcmp(string, (void *) &pardata.DIAGN_NAME[i][0]); 804f344: f8d7 20c0 ldr.w r2, [r7, #192] ; 0xc0 804f348: 4613 mov r3, r2 804f34a: 009b lsls r3, r3, #2 804f34c: 4413 add r3, r2 804f34e: 00db lsls r3, r3, #3 804f350: 33d8 adds r3, #216 ; 0xd8 804f352: 4a3d ldr r2, [pc, #244] ; (804f448 ) 804f354: 4413 add r3, r2 804f356: 1d1a adds r2, r3, #4 804f358: f107 0344 add.w r3, r7, #68 ; 0x44 804f35c: 4611 mov r1, r2 804f35e: 4618 mov r0, r3 804f360: f7d0 ffce bl 8020300 804f364: 4603 mov r3, r0 804f366: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 if(!k) 804f36a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804f36e: 2b00 cmp r3, #0 804f370: d009 beq.n 804f386 for(i = 0; i < 8; i++) 804f372: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 804f376: 3301 adds r3, #1 804f378: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 804f37c: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 804f380: 2b07 cmp r3, #7 804f382: d9df bls.n 804f344 804f384: e000 b.n 804f388 break; 804f386: bf00 nop } if(k) 804f388: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804f38c: 2b00 cmp r3, #0 804f38e: d019 beq.n 804f3c4 { strcpy((void *) &pardata.DIAGN_NAME[CURR_POINT][0], string); 804f390: 4b2e ldr r3, [pc, #184] ; (804f44c ) 804f392: 781b ldrb r3, [r3, #0] 804f394: b2db uxtb r3, r3 804f396: 461a mov r2, r3 804f398: 4613 mov r3, r2 804f39a: 009b lsls r3, r3, #2 804f39c: 4413 add r3, r2 804f39e: 00db lsls r3, r3, #3 804f3a0: 33d8 adds r3, #216 ; 0xd8 804f3a2: 4a29 ldr r2, [pc, #164] ; (804f448 ) 804f3a4: 4413 add r3, r2 804f3a6: 3304 adds r3, #4 804f3a8: f107 0244 add.w r2, r7, #68 ; 0x44 804f3ac: 4611 mov r1, r2 804f3ae: 4618 mov r0, r3 804f3b0: f07d ff67 bl 80cd282 menu = PARAM_DIAGN_2; 804f3b4: 4b1c ldr r3, [pc, #112] ; (804f428 ) 804f3b6: 2211 movs r2, #17 804f3b8: 701a strb r2, [r3, #0] menupos = DiagName; 804f3ba: 4b16 ldr r3, [pc, #88] ; (804f414 ) 804f3bc: 2206 movs r2, #6 804f3be: 701a strb r2, [r3, #0] { TEMP_Name[NameLen] = CHARS_ENG[menupos]; NameLen++; } } break; 804f3c0: f003 bc96 b.w 8052cf0 timerStatus = sec2; 804f3c4: 4b19 ldr r3, [pc, #100] ; (804f42c ) 804f3c6: f44f 5280 mov.w r2, #4096 ; 0x1000 804f3ca: 801a strh r2, [r3, #0] DrawStatus = true; 804f3cc: 4b18 ldr r3, [pc, #96] ; (804f430 ) 804f3ce: 2201 movs r2, #1 804f3d0: 701a strb r2, [r3, #0] STATUS = AP_FILE_EXIST; 804f3d2: 4b18 ldr r3, [pc, #96] ; (804f434 ) 804f3d4: 2206 movs r2, #6 804f3d6: 601a str r2, [r3, #0] break; 804f3d8: f003 bc8a b.w 8052cf0 if(menupos == _BCKSPC) 804f3dc: 4b0d ldr r3, [pc, #52] ; (804f414 ) 804f3de: 781b ldrb r3, [r3, #0] 804f3e0: b2db uxtb r3, r3 804f3e2: 2b1d cmp r3, #29 804f3e4: d134 bne.n 804f450 NameLen = strlen(TEMP_Name); 804f3e6: 4816 ldr r0, [pc, #88] ; (804f440 ) 804f3e8: f7d0 ff94 bl 8020314 804f3ec: 4602 mov r2, r0 804f3ee: 4b15 ldr r3, [pc, #84] ; (804f444 ) 804f3f0: 601a str r2, [r3, #0] if(NameLen) 804f3f2: 4b14 ldr r3, [pc, #80] ; (804f444 ) 804f3f4: 681b ldr r3, [r3, #0] 804f3f6: 2b00 cmp r3, #0 804f3f8: f003 847a beq.w 8052cf0 NameLen--; 804f3fc: 4b11 ldr r3, [pc, #68] ; (804f444 ) 804f3fe: 681b ldr r3, [r3, #0] 804f400: 3b01 subs r3, #1 804f402: 4a10 ldr r2, [pc, #64] ; (804f444 ) 804f404: 6013 str r3, [r2, #0] TEMP_Name[NameLen] = 0; 804f406: 4b0f ldr r3, [pc, #60] ; (804f444 ) 804f408: 681b ldr r3, [r3, #0] 804f40a: 4a0d ldr r2, [pc, #52] ; (804f440 ) 804f40c: 2100 movs r1, #0 804f40e: 54d1 strb r1, [r2, r3] break; 804f410: f003 bc6e b.w 8052cf0 804f414: 20020070 .word 0x20020070 804f418: 20025c80 .word 0x20025c80 804f41c: 20020eec .word 0x20020eec 804f420: 20020e58 .word 0x20020e58 804f424: 20020dca .word 0x20020dca 804f428: 20020f78 .word 0x20020f78 804f42c: 2002168c .word 0x2002168c 804f430: 20020dd2 .word 0x20020dd2 804f434: 20020dcc .word 0x20020dcc 804f438: 20020071 .word 0x20020071 804f43c: 080ee790 .word 0x080ee790 804f440: 20025cf4 .word 0x20025cf4 804f444: 20020ef4 .word 0x20020ef4 804f448: 20023e60 .word 0x20023e60 804f44c: 20021011 .word 0x20021011 if(menupos == _CANCEL) 804f450: 4b93 ldr r3, [pc, #588] ; (804f6a0 ) 804f452: 781b ldrb r3, [r3, #0] 804f454: b2db uxtb r3, r3 804f456: 2b27 cmp r3, #39 ; 0x27 804f458: d10f bne.n 804f47a NameLen = strlen(Name); 804f45a: 4892 ldr r0, [pc, #584] ; (804f6a4 ) 804f45c: f7d0 ff5a bl 8020314 804f460: 4602 mov r2, r0 804f462: 4b91 ldr r3, [pc, #580] ; (804f6a8 ) 804f464: 601a str r2, [r3, #0] menu = PARAM_DIAGN_2; 804f466: 4b91 ldr r3, [pc, #580] ; (804f6ac ) 804f468: 2211 movs r2, #17 804f46a: 701a strb r2, [r3, #0] menupos = lastmenupos; 804f46c: 4b90 ldr r3, [pc, #576] ; (804f6b0 ) 804f46e: 781b ldrb r3, [r3, #0] 804f470: b2da uxtb r2, r3 804f472: 4b8b ldr r3, [pc, #556] ; (804f6a0 ) 804f474: 701a strb r2, [r3, #0] break; 804f476: f003 bc3b b.w 8052cf0 NameLen = strlen(TEMP_Name); 804f47a: 488e ldr r0, [pc, #568] ; (804f6b4 ) 804f47c: f7d0 ff4a bl 8020314 804f480: 4602 mov r2, r0 804f482: 4b89 ldr r3, [pc, #548] ; (804f6a8 ) 804f484: 601a str r2, [r3, #0] if(NameLen < MAX_NAME) 804f486: 4b88 ldr r3, [pc, #544] ; (804f6a8 ) 804f488: 681b ldr r3, [r3, #0] 804f48a: 2b18 cmp r3, #24 804f48c: f203 8430 bhi.w 8052cf0 TEMP_Name[NameLen] = CHARS_ENG[menupos]; 804f490: 4b85 ldr r3, [pc, #532] ; (804f6a8 ) 804f492: 681b ldr r3, [r3, #0] 804f494: 4a82 ldr r2, [pc, #520] ; (804f6a0 ) 804f496: 7812 ldrb r2, [r2, #0] 804f498: b2d2 uxtb r2, r2 804f49a: 4611 mov r1, r2 804f49c: 4a86 ldr r2, [pc, #536] ; (804f6b8 ) 804f49e: 5c51 ldrb r1, [r2, r1] 804f4a0: 4a84 ldr r2, [pc, #528] ; (804f6b4 ) 804f4a2: 54d1 strb r1, [r2, r3] NameLen++; 804f4a4: 4b80 ldr r3, [pc, #512] ; (804f6a8 ) 804f4a6: 681b ldr r3, [r3, #0] 804f4a8: 3301 adds r3, #1 804f4aa: 4a7f ldr r2, [pc, #508] ; (804f6a8 ) 804f4ac: 6013 str r3, [r2, #0] break; 804f4ae: f003 bc1f b.w 8052cf0 case INPUT_NAME_DGN: if(menupos == _ENTER) 804f4b2: 4b7b ldr r3, [pc, #492] ; (804f6a0 ) 804f4b4: 781b ldrb r3, [r3, #0] 804f4b6: b2db uxtb r3, r3 804f4b8: 2b26 cmp r3, #38 ; 0x26 804f4ba: f040 80a3 bne.w 804f604 { DiagFileNameLen = strlen(TEMP_DiagFileName); 804f4be: 487f ldr r0, [pc, #508] ; (804f6bc ) 804f4c0: f7d0 ff28 bl 8020314 804f4c4: 4602 mov r2, r0 804f4c6: 4b7e ldr r3, [pc, #504] ; (804f6c0 ) 804f4c8: 601a str r2, [r3, #0] if(DiagFileNameLen > 0) 804f4ca: 4b7d ldr r3, [pc, #500] ; (804f6c0 ) 804f4cc: 681b ldr r3, [r3, #0] 804f4ce: 2b00 cmp r3, #0 804f4d0: f003 8410 beq.w 8052cf4 { strcpy(string, TEMP_DiagFileName); 804f4d4: f107 0344 add.w r3, r7, #68 ; 0x44 804f4d8: 4978 ldr r1, [pc, #480] ; (804f6bc ) 804f4da: 4618 mov r0, r3 804f4dc: f07d fed1 bl 80cd282 string[DiagFileNameLen] = '.'; 804f4e0: 4b77 ldr r3, [pc, #476] ; (804f6c0 ) 804f4e2: 681b ldr r3, [r3, #0] 804f4e4: f107 02c8 add.w r2, r7, #200 ; 0xc8 804f4e8: 4413 add r3, r2 804f4ea: 222e movs r2, #46 ; 0x2e 804f4ec: f803 2c84 strb.w r2, [r3, #-132] string[DiagFileNameLen + 1] = 'D'; 804f4f0: 4b73 ldr r3, [pc, #460] ; (804f6c0 ) 804f4f2: 681b ldr r3, [r3, #0] 804f4f4: 3301 adds r3, #1 804f4f6: f107 02c8 add.w r2, r7, #200 ; 0xc8 804f4fa: 4413 add r3, r2 804f4fc: 2244 movs r2, #68 ; 0x44 804f4fe: f803 2c84 strb.w r2, [r3, #-132] string[DiagFileNameLen + 2] = 'G'; 804f502: 4b6f ldr r3, [pc, #444] ; (804f6c0 ) 804f504: 681b ldr r3, [r3, #0] 804f506: 3302 adds r3, #2 804f508: f107 02c8 add.w r2, r7, #200 ; 0xc8 804f50c: 4413 add r3, r2 804f50e: 2247 movs r2, #71 ; 0x47 804f510: f803 2c84 strb.w r2, [r3, #-132] string[DiagFileNameLen + 3] = 'N'; 804f514: 4b6a ldr r3, [pc, #424] ; (804f6c0 ) 804f516: 681b ldr r3, [r3, #0] 804f518: 3303 adds r3, #3 804f51a: f107 02c8 add.w r2, r7, #200 ; 0xc8 804f51e: 4413 add r3, r2 804f520: 224e movs r2, #78 ; 0x4e 804f522: f803 2c84 strb.w r2, [r3, #-132] string[DiagFileNameLen + 4] = '\0'; 804f526: 4b66 ldr r3, [pc, #408] ; (804f6c0 ) 804f528: 681b ldr r3, [r3, #0] 804f52a: 3304 adds r3, #4 804f52c: f107 02c8 add.w r2, r7, #200 ; 0xc8 804f530: 4413 add r3, r2 804f532: 2200 movs r2, #0 804f534: f803 2c84 strb.w r2, [r3, #-132] result = CheckExistDGN(string); 804f538: f107 0344 add.w r3, r7, #68 ; 0x44 804f53c: 4618 mov r0, r3 804f53e: f7db fb75 bl 802ac2c 804f542: 4603 mov r3, r0 804f544: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_NO_FILE) 804f548: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 804f54c: 2b04 cmp r3, #4 804f54e: d137 bne.n 804f5c0 { result = CreateFileDGN(string); 804f550: f107 0344 add.w r3, r7, #68 ; 0x44 804f554: 4618 mov r0, r3 804f556: f7d5 fe31 bl 80251bc 804f55a: 4603 mov r3, r0 804f55c: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 804f560: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 804f564: 2b00 cmp r3, #0 804f566: d119 bne.n 804f59c { if(strcmp(DiagFileName, string) != 0) 804f568: f107 0344 add.w r3, r7, #68 ; 0x44 804f56c: 4619 mov r1, r3 804f56e: 4855 ldr r0, [pc, #340] ; (804f6c4 ) 804f570: f7d0 fec6 bl 8020300 804f574: 4603 mov r3, r0 804f576: 2b00 cmp r3, #0 804f578: d002 beq.n 804f580 DrawSavedData = false; 804f57a: 4b53 ldr r3, [pc, #332] ; (804f6c8 ) 804f57c: 2200 movs r2, #0 804f57e: 701a strb r2, [r3, #0] strcpy(DiagFileName, string); 804f580: f107 0344 add.w r3, r7, #68 ; 0x44 804f584: 4619 mov r1, r3 804f586: 484f ldr r0, [pc, #316] ; (804f6c4 ) 804f588: f07d fe7b bl 80cd282 menu = PARAM_DIAGN; 804f58c: 4b47 ldr r3, [pc, #284] ; (804f6ac ) 804f58e: 220f movs r2, #15 804f590: 701a strb r2, [r3, #0] menupos = DiagSaveToFile; 804f592: 4b43 ldr r3, [pc, #268] ; (804f6a0 ) 804f594: 2204 movs r2, #4 804f596: 701a strb r2, [r3, #0] { TEMP_DiagFileName[DiagFileNameLen] = CHARS_ENG[menupos]; DiagFileNameLen++; } } break; 804f598: f003 bbac b.w 8052cf4 timerStatus = sec2; 804f59c: 4b4b ldr r3, [pc, #300] ; (804f6cc ) 804f59e: f44f 5280 mov.w r2, #4096 ; 0x1000 804f5a2: 801a strh r2, [r3, #0] DrawStatus = true; 804f5a4: 4b4a ldr r3, [pc, #296] ; (804f6d0 ) 804f5a6: 2201 movs r2, #1 804f5a8: 701a strb r2, [r3, #0] STATUS = AP_DISK_ERROR; 804f5aa: 4b4a ldr r3, [pc, #296] ; (804f6d4 ) 804f5ac: 220b movs r2, #11 804f5ae: 601a str r2, [r3, #0] menu = PARAM_DIAGN; 804f5b0: 4b3e ldr r3, [pc, #248] ; (804f6ac ) 804f5b2: 220f movs r2, #15 804f5b4: 701a strb r2, [r3, #0] menupos = DiagSaveToFile; 804f5b6: 4b3a ldr r3, [pc, #232] ; (804f6a0 ) 804f5b8: 2204 movs r2, #4 804f5ba: 701a strb r2, [r3, #0] break; 804f5bc: f003 bb9a b.w 8052cf4 if(result == FR_EXIST) 804f5c0: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 804f5c4: 2b08 cmp r3, #8 804f5c6: d10b bne.n 804f5e0 timerStatus = sec2; 804f5c8: 4b40 ldr r3, [pc, #256] ; (804f6cc ) 804f5ca: f44f 5280 mov.w r2, #4096 ; 0x1000 804f5ce: 801a strh r2, [r3, #0] DrawStatus = true; 804f5d0: 4b3f ldr r3, [pc, #252] ; (804f6d0 ) 804f5d2: 2201 movs r2, #1 804f5d4: 701a strb r2, [r3, #0] STATUS = AP_FILE_EXIST; 804f5d6: 4b3f ldr r3, [pc, #252] ; (804f6d4 ) 804f5d8: 2206 movs r2, #6 804f5da: 601a str r2, [r3, #0] break; 804f5dc: f003 bb8a b.w 8052cf4 timerStatus = sec2; 804f5e0: 4b3a ldr r3, [pc, #232] ; (804f6cc ) 804f5e2: f44f 5280 mov.w r2, #4096 ; 0x1000 804f5e6: 801a strh r2, [r3, #0] DrawStatus = true; 804f5e8: 4b39 ldr r3, [pc, #228] ; (804f6d0 ) 804f5ea: 2201 movs r2, #1 804f5ec: 701a strb r2, [r3, #0] STATUS = AP_DISK_ERROR; 804f5ee: 4b39 ldr r3, [pc, #228] ; (804f6d4 ) 804f5f0: 220b movs r2, #11 804f5f2: 601a str r2, [r3, #0] menu = PARAM_DIAGN; 804f5f4: 4b2d ldr r3, [pc, #180] ; (804f6ac ) 804f5f6: 220f movs r2, #15 804f5f8: 701a strb r2, [r3, #0] menupos = DiagSaveToFile; 804f5fa: 4b29 ldr r3, [pc, #164] ; (804f6a0 ) 804f5fc: 2204 movs r2, #4 804f5fe: 701a strb r2, [r3, #0] break; 804f600: f003 bb78 b.w 8052cf4 if(menupos == _BCKSPC) 804f604: 4b26 ldr r3, [pc, #152] ; (804f6a0 ) 804f606: 781b ldrb r3, [r3, #0] 804f608: b2db uxtb r3, r3 804f60a: 2b1d cmp r3, #29 804f60c: d116 bne.n 804f63c DiagFileNameLen = strlen(TEMP_DiagFileName); 804f60e: 482b ldr r0, [pc, #172] ; (804f6bc ) 804f610: f7d0 fe80 bl 8020314 804f614: 4602 mov r2, r0 804f616: 4b2a ldr r3, [pc, #168] ; (804f6c0 ) 804f618: 601a str r2, [r3, #0] if(DiagFileNameLen) 804f61a: 4b29 ldr r3, [pc, #164] ; (804f6c0 ) 804f61c: 681b ldr r3, [r3, #0] 804f61e: 2b00 cmp r3, #0 804f620: f003 8368 beq.w 8052cf4 DiagFileNameLen--; 804f624: 4b26 ldr r3, [pc, #152] ; (804f6c0 ) 804f626: 681b ldr r3, [r3, #0] 804f628: 3b01 subs r3, #1 804f62a: 4a25 ldr r2, [pc, #148] ; (804f6c0 ) 804f62c: 6013 str r3, [r2, #0] TEMP_DiagFileName[DiagFileNameLen] = 0; 804f62e: 4b24 ldr r3, [pc, #144] ; (804f6c0 ) 804f630: 681b ldr r3, [r3, #0] 804f632: 4a22 ldr r2, [pc, #136] ; (804f6bc ) 804f634: 2100 movs r1, #0 804f636: 54d1 strb r1, [r2, r3] break; 804f638: f003 bb5c b.w 8052cf4 if(menupos == _CANCEL) 804f63c: 4b18 ldr r3, [pc, #96] ; (804f6a0 ) 804f63e: 781b ldrb r3, [r3, #0] 804f640: b2db uxtb r3, r3 804f642: 2b27 cmp r3, #39 ; 0x27 804f644: d10f bne.n 804f666 DiagFileNameLen = strlen(DiagFileName); 804f646: 481f ldr r0, [pc, #124] ; (804f6c4 ) 804f648: f7d0 fe64 bl 8020314 804f64c: 4602 mov r2, r0 804f64e: 4b1c ldr r3, [pc, #112] ; (804f6c0 ) 804f650: 601a str r2, [r3, #0] menu = EXPLORER_DIAGN; 804f652: 4b16 ldr r3, [pc, #88] ; (804f6ac ) 804f654: 222a movs r2, #42 ; 0x2a 804f656: 701a strb r2, [r3, #0] menupos = lastmenupos; 804f658: 4b15 ldr r3, [pc, #84] ; (804f6b0 ) 804f65a: 781b ldrb r3, [r3, #0] 804f65c: b2da uxtb r2, r3 804f65e: 4b10 ldr r3, [pc, #64] ; (804f6a0 ) 804f660: 701a strb r2, [r3, #0] break; 804f662: f003 bb47 b.w 8052cf4 DiagFileNameLen = strlen(TEMP_DiagFileName); 804f666: 4815 ldr r0, [pc, #84] ; (804f6bc ) 804f668: f7d0 fe54 bl 8020314 804f66c: 4602 mov r2, r0 804f66e: 4b14 ldr r3, [pc, #80] ; (804f6c0 ) 804f670: 601a str r2, [r3, #0] if(DiagFileNameLen < MAX_NAME) 804f672: 4b13 ldr r3, [pc, #76] ; (804f6c0 ) 804f674: 681b ldr r3, [r3, #0] 804f676: 2b18 cmp r3, #24 804f678: f203 833c bhi.w 8052cf4 TEMP_DiagFileName[DiagFileNameLen] = CHARS_ENG[menupos]; 804f67c: 4b10 ldr r3, [pc, #64] ; (804f6c0 ) 804f67e: 681b ldr r3, [r3, #0] 804f680: 4a07 ldr r2, [pc, #28] ; (804f6a0 ) 804f682: 7812 ldrb r2, [r2, #0] 804f684: b2d2 uxtb r2, r2 804f686: 4611 mov r1, r2 804f688: 4a0b ldr r2, [pc, #44] ; (804f6b8 ) 804f68a: 5c51 ldrb r1, [r2, r1] 804f68c: 4a0b ldr r2, [pc, #44] ; (804f6bc ) 804f68e: 54d1 strb r1, [r2, r3] DiagFileNameLen++; 804f690: 4b0b ldr r3, [pc, #44] ; (804f6c0 ) 804f692: 681b ldr r3, [r3, #0] 804f694: 3301 adds r3, #1 804f696: 4a0a ldr r2, [pc, #40] ; (804f6c0 ) 804f698: 6013 str r3, [r2, #0] break; 804f69a: f003 bb2b b.w 8052cf4 804f69e: bf00 nop 804f6a0: 20020070 .word 0x20020070 804f6a4: 20020ec4 .word 0x20020ec4 804f6a8: 20020ef4 .word 0x20020ef4 804f6ac: 20020f78 .word 0x20020f78 804f6b0: 20020071 .word 0x20020071 804f6b4: 20025cf4 .word 0x20025cf4 804f6b8: 080ee790 .word 0x080ee790 804f6bc: 20025cc8 .word 0x20025cc8 804f6c0: 20020ef0 .word 0x20020ef0 804f6c4: 20020e7c .word 0x20020e7c 804f6c8: 20020dca .word 0x20020dca 804f6cc: 2002168c .word 0x2002168c 804f6d0: 20020dd2 .word 0x20020dd2 804f6d4: 20020dcc .word 0x20020dcc case INPUT_NAME_SPEC: if(menupos == _ENTER) 804f6d8: 4bae ldr r3, [pc, #696] ; (804f994 ) 804f6da: 781b ldrb r3, [r3, #0] 804f6dc: b2db uxtb r3, r3 804f6de: 2b26 cmp r3, #38 ; 0x26 804f6e0: f040 8097 bne.w 804f812 { MeasFileNameLen = strlen(TEMP_MeasFileName); 804f6e4: 48ac ldr r0, [pc, #688] ; (804f998 ) 804f6e6: f7d0 fe15 bl 8020314 804f6ea: 4602 mov r2, r0 804f6ec: 4bab ldr r3, [pc, #684] ; (804f99c ) 804f6ee: 601a str r2, [r3, #0] if(MeasFileNameLen > 0) 804f6f0: 4baa ldr r3, [pc, #680] ; (804f99c ) 804f6f2: 681b ldr r3, [r3, #0] 804f6f4: 2b00 cmp r3, #0 804f6f6: f003 82ff beq.w 8052cf8 { strcpy(string, TEMP_MeasFileName); 804f6fa: f107 0344 add.w r3, r7, #68 ; 0x44 804f6fe: 49a6 ldr r1, [pc, #664] ; (804f998 ) 804f700: 4618 mov r0, r3 804f702: f07d fdbe bl 80cd282 string[MeasFileNameLen] = '.'; 804f706: 4ba5 ldr r3, [pc, #660] ; (804f99c ) 804f708: 681b ldr r3, [r3, #0] 804f70a: f107 02c8 add.w r2, r7, #200 ; 0xc8 804f70e: 4413 add r3, r2 804f710: 222e movs r2, #46 ; 0x2e 804f712: f803 2c84 strb.w r2, [r3, #-132] string[MeasFileNameLen + 1] = 'C'; 804f716: 4ba1 ldr r3, [pc, #644] ; (804f99c ) 804f718: 681b ldr r3, [r3, #0] 804f71a: 3301 adds r3, #1 804f71c: f107 02c8 add.w r2, r7, #200 ; 0xc8 804f720: 4413 add r3, r2 804f722: 2243 movs r2, #67 ; 0x43 804f724: f803 2c84 strb.w r2, [r3, #-132] string[MeasFileNameLen + 2] = 'S'; 804f728: 4b9c ldr r3, [pc, #624] ; (804f99c ) 804f72a: 681b ldr r3, [r3, #0] 804f72c: 3302 adds r3, #2 804f72e: f107 02c8 add.w r2, r7, #200 ; 0xc8 804f732: 4413 add r3, r2 804f734: 2253 movs r2, #83 ; 0x53 804f736: f803 2c84 strb.w r2, [r3, #-132] string[MeasFileNameLen + 3] = 'V'; 804f73a: 4b98 ldr r3, [pc, #608] ; (804f99c ) 804f73c: 681b ldr r3, [r3, #0] 804f73e: 3303 adds r3, #3 804f740: f107 02c8 add.w r2, r7, #200 ; 0xc8 804f744: 4413 add r3, r2 804f746: 2256 movs r2, #86 ; 0x56 804f748: f803 2c84 strb.w r2, [r3, #-132] string[MeasFileNameLen + 4] = '\0'; 804f74c: 4b93 ldr r3, [pc, #588] ; (804f99c ) 804f74e: 681b ldr r3, [r3, #0] 804f750: 3304 adds r3, #4 804f752: f107 02c8 add.w r2, r7, #200 ; 0xc8 804f756: 4413 add r3, r2 804f758: 2200 movs r2, #0 804f75a: f803 2c84 strb.w r2, [r3, #-132] result = CheckExistSPEC(string); 804f75e: f107 0344 add.w r3, r7, #68 ; 0x44 804f762: 4618 mov r0, r3 804f764: f7db fab2 bl 802accc 804f768: 4603 mov r3, r0 804f76a: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_NO_FILE) 804f76e: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 804f772: 2b04 cmp r3, #4 804f774: d129 bne.n 804f7ca { result = CreateFileSPEC(string); 804f776: f107 0344 add.w r3, r7, #68 ; 0x44 804f77a: 4618 mov r0, r3 804f77c: f7d5 fdba bl 80252f4 804f780: 4603 mov r3, r0 804f782: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 804f786: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 804f78a: 2b00 cmp r3, #0 804f78c: d109 bne.n 804f7a2 { menu = lastmenu; 804f78e: 4b84 ldr r3, [pc, #528] ; (804f9a0 ) 804f790: 781b ldrb r3, [r3, #0] 804f792: b2da uxtb r2, r3 804f794: 4b83 ldr r3, [pc, #524] ; (804f9a4 ) 804f796: 701a strb r2, [r3, #0] menupos = SaveSpec; 804f798: 4b7e ldr r3, [pc, #504] ; (804f994 ) 804f79a: 2209 movs r2, #9 804f79c: 701a strb r2, [r3, #0] { TEMP_MeasFileName[MeasFileNameLen] = CHARS_ENG[menupos]; MeasFileNameLen++; } } break; 804f79e: f003 baab b.w 8052cf8 timerStatus = sec2; 804f7a2: 4b81 ldr r3, [pc, #516] ; (804f9a8 ) 804f7a4: f44f 5280 mov.w r2, #4096 ; 0x1000 804f7a8: 801a strh r2, [r3, #0] DrawStatus = true; 804f7aa: 4b80 ldr r3, [pc, #512] ; (804f9ac ) 804f7ac: 2201 movs r2, #1 804f7ae: 701a strb r2, [r3, #0] STATUS = AP_DISK_ERROR; 804f7b0: 4b7f ldr r3, [pc, #508] ; (804f9b0 ) 804f7b2: 220b movs r2, #11 804f7b4: 601a str r2, [r3, #0] menu = lastmenu; 804f7b6: 4b7a ldr r3, [pc, #488] ; (804f9a0 ) 804f7b8: 781b ldrb r3, [r3, #0] 804f7ba: b2da uxtb r2, r3 804f7bc: 4b79 ldr r3, [pc, #484] ; (804f9a4 ) 804f7be: 701a strb r2, [r3, #0] menupos = SaveSpec; 804f7c0: 4b74 ldr r3, [pc, #464] ; (804f994 ) 804f7c2: 2209 movs r2, #9 804f7c4: 701a strb r2, [r3, #0] break; 804f7c6: f003 ba97 b.w 8052cf8 if(result == FR_EXIST) 804f7ca: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 804f7ce: 2b08 cmp r3, #8 804f7d0: d10b bne.n 804f7ea timerStatus = sec2; 804f7d2: 4b75 ldr r3, [pc, #468] ; (804f9a8 ) 804f7d4: f44f 5280 mov.w r2, #4096 ; 0x1000 804f7d8: 801a strh r2, [r3, #0] DrawStatus = true; 804f7da: 4b74 ldr r3, [pc, #464] ; (804f9ac ) 804f7dc: 2201 movs r2, #1 804f7de: 701a strb r2, [r3, #0] STATUS = AP_FILE_EXIST; 804f7e0: 4b73 ldr r3, [pc, #460] ; (804f9b0 ) 804f7e2: 2206 movs r2, #6 804f7e4: 601a str r2, [r3, #0] break; 804f7e6: f003 ba87 b.w 8052cf8 timerStatus = sec2; 804f7ea: 4b6f ldr r3, [pc, #444] ; (804f9a8 ) 804f7ec: f44f 5280 mov.w r2, #4096 ; 0x1000 804f7f0: 801a strh r2, [r3, #0] DrawStatus = true; 804f7f2: 4b6e ldr r3, [pc, #440] ; (804f9ac ) 804f7f4: 2201 movs r2, #1 804f7f6: 701a strb r2, [r3, #0] STATUS = AP_DISK_ERROR; 804f7f8: 4b6d ldr r3, [pc, #436] ; (804f9b0 ) 804f7fa: 220b movs r2, #11 804f7fc: 601a str r2, [r3, #0] menu = lastmenu; 804f7fe: 4b68 ldr r3, [pc, #416] ; (804f9a0 ) 804f800: 781b ldrb r3, [r3, #0] 804f802: b2da uxtb r2, r3 804f804: 4b67 ldr r3, [pc, #412] ; (804f9a4 ) 804f806: 701a strb r2, [r3, #0] menupos = SaveSpec; 804f808: 4b62 ldr r3, [pc, #392] ; (804f994 ) 804f80a: 2209 movs r2, #9 804f80c: 701a strb r2, [r3, #0] break; 804f80e: f003 ba73 b.w 8052cf8 if(menupos == _BCKSPC) 804f812: 4b60 ldr r3, [pc, #384] ; (804f994 ) 804f814: 781b ldrb r3, [r3, #0] 804f816: b2db uxtb r3, r3 804f818: 2b1d cmp r3, #29 804f81a: d116 bne.n 804f84a MeasFileNameLen = strlen(TEMP_MeasFileName); 804f81c: 485e ldr r0, [pc, #376] ; (804f998 ) 804f81e: f7d0 fd79 bl 8020314 804f822: 4602 mov r2, r0 804f824: 4b5d ldr r3, [pc, #372] ; (804f99c ) 804f826: 601a str r2, [r3, #0] if(MeasFileNameLen) 804f828: 4b5c ldr r3, [pc, #368] ; (804f99c ) 804f82a: 681b ldr r3, [r3, #0] 804f82c: 2b00 cmp r3, #0 804f82e: f003 8263 beq.w 8052cf8 MeasFileNameLen--; 804f832: 4b5a ldr r3, [pc, #360] ; (804f99c ) 804f834: 681b ldr r3, [r3, #0] 804f836: 3b01 subs r3, #1 804f838: 4a58 ldr r2, [pc, #352] ; (804f99c ) 804f83a: 6013 str r3, [r2, #0] TEMP_MeasFileName[MeasFileNameLen] = 0; 804f83c: 4b57 ldr r3, [pc, #348] ; (804f99c ) 804f83e: 681b ldr r3, [r3, #0] 804f840: 4a55 ldr r2, [pc, #340] ; (804f998 ) 804f842: 2100 movs r1, #0 804f844: 54d1 strb r1, [r2, r3] break; 804f846: f003 ba57 b.w 8052cf8 if(menupos == _CANCEL) 804f84a: 4b52 ldr r3, [pc, #328] ; (804f994 ) 804f84c: 781b ldrb r3, [r3, #0] 804f84e: b2db uxtb r3, r3 804f850: 2b27 cmp r3, #39 ; 0x27 804f852: d10f bne.n 804f874 MeasFileNameLen = strlen(MeasFileName); 804f854: 4857 ldr r0, [pc, #348] ; (804f9b4 ) 804f856: f7d0 fd5d bl 8020314 804f85a: 4602 mov r2, r0 804f85c: 4b4f ldr r3, [pc, #316] ; (804f99c ) 804f85e: 601a str r2, [r3, #0] menu = lastmenu; 804f860: 4b4f ldr r3, [pc, #316] ; (804f9a0 ) 804f862: 781b ldrb r3, [r3, #0] 804f864: b2da uxtb r2, r3 804f866: 4b4f ldr r3, [pc, #316] ; (804f9a4 ) 804f868: 701a strb r2, [r3, #0] menupos = SaveSpec; 804f86a: 4b4a ldr r3, [pc, #296] ; (804f994 ) 804f86c: 2209 movs r2, #9 804f86e: 701a strb r2, [r3, #0] break; 804f870: f003 ba42 b.w 8052cf8 MeasFileNameLen = strlen(TEMP_MeasFileName); 804f874: 4848 ldr r0, [pc, #288] ; (804f998 ) 804f876: f7d0 fd4d bl 8020314 804f87a: 4602 mov r2, r0 804f87c: 4b47 ldr r3, [pc, #284] ; (804f99c ) 804f87e: 601a str r2, [r3, #0] if(MeasFileNameLen < MAX_NAME) 804f880: 4b46 ldr r3, [pc, #280] ; (804f99c ) 804f882: 681b ldr r3, [r3, #0] 804f884: 2b18 cmp r3, #24 804f886: f203 8237 bhi.w 8052cf8 TEMP_MeasFileName[MeasFileNameLen] = CHARS_ENG[menupos]; 804f88a: 4b44 ldr r3, [pc, #272] ; (804f99c ) 804f88c: 681b ldr r3, [r3, #0] 804f88e: 4a41 ldr r2, [pc, #260] ; (804f994 ) 804f890: 7812 ldrb r2, [r2, #0] 804f892: b2d2 uxtb r2, r2 804f894: 4611 mov r1, r2 804f896: 4a48 ldr r2, [pc, #288] ; (804f9b8 ) 804f898: 5c51 ldrb r1, [r2, r1] 804f89a: 4a3f ldr r2, [pc, #252] ; (804f998 ) 804f89c: 54d1 strb r1, [r2, r3] MeasFileNameLen++; 804f89e: 4b3f ldr r3, [pc, #252] ; (804f99c ) 804f8a0: 681b ldr r3, [r3, #0] 804f8a2: 3301 adds r3, #1 804f8a4: 4a3d ldr r2, [pc, #244] ; (804f99c ) 804f8a6: 6013 str r3, [r2, #0] break; 804f8a8: f003 ba26 b.w 8052cf8 case INPUT_NAME_GTR: if(menupos == _ENTER) 804f8ac: 4b39 ldr r3, [pc, #228] ; (804f994 ) 804f8ae: 781b ldrb r3, [r3, #0] 804f8b0: b2db uxtb r3, r3 804f8b2: 2b26 cmp r3, #38 ; 0x26 804f8b4: d152 bne.n 804f95c { WavFileNameLen = strlen(TEMP_WavFileName); 804f8b6: 4841 ldr r0, [pc, #260] ; (804f9bc ) 804f8b8: f7d0 fd2c bl 8020314 804f8bc: 4602 mov r2, r0 804f8be: 4b40 ldr r3, [pc, #256] ; (804f9c0 ) 804f8c0: 601a str r2, [r3, #0] if(WavFileNameLen > 0) 804f8c2: 4b3f ldr r3, [pc, #252] ; (804f9c0 ) 804f8c4: 681b ldr r3, [r3, #0] 804f8c6: 2b00 cmp r3, #0 804f8c8: f003 8218 beq.w 8052cfc { strcpy(string, TEMP_WavFileName); 804f8cc: f107 0344 add.w r3, r7, #68 ; 0x44 804f8d0: 493a ldr r1, [pc, #232] ; (804f9bc ) 804f8d2: 4618 mov r0, r3 804f8d4: f07d fcd5 bl 80cd282 string[WavFileNameLen] = '.'; 804f8d8: 4b39 ldr r3, [pc, #228] ; (804f9c0 ) 804f8da: 681b ldr r3, [r3, #0] 804f8dc: f107 02c8 add.w r2, r7, #200 ; 0xc8 804f8e0: 4413 add r3, r2 804f8e2: 222e movs r2, #46 ; 0x2e 804f8e4: f803 2c84 strb.w r2, [r3, #-132] string[WavFileNameLen + 1] = 'G'; 804f8e8: 4b35 ldr r3, [pc, #212] ; (804f9c0 ) 804f8ea: 681b ldr r3, [r3, #0] 804f8ec: 3301 adds r3, #1 804f8ee: f107 02c8 add.w r2, r7, #200 ; 0xc8 804f8f2: 4413 add r3, r2 804f8f4: 2247 movs r2, #71 ; 0x47 804f8f6: f803 2c84 strb.w r2, [r3, #-132] string[WavFileNameLen + 2] = 'T'; 804f8fa: 4b31 ldr r3, [pc, #196] ; (804f9c0 ) 804f8fc: 681b ldr r3, [r3, #0] 804f8fe: 3302 adds r3, #2 804f900: f107 02c8 add.w r2, r7, #200 ; 0xc8 804f904: 4413 add r3, r2 804f906: 2254 movs r2, #84 ; 0x54 804f908: f803 2c84 strb.w r2, [r3, #-132] string[WavFileNameLen + 3] = 'R'; 804f90c: 4b2c ldr r3, [pc, #176] ; (804f9c0 ) 804f90e: 681b ldr r3, [r3, #0] 804f910: 3303 adds r3, #3 804f912: f107 02c8 add.w r2, r7, #200 ; 0xc8 804f916: 4413 add r3, r2 804f918: 2252 movs r2, #82 ; 0x52 804f91a: f803 2c84 strb.w r2, [r3, #-132] string[WavFileNameLen + 4] = '\0'; 804f91e: 4b28 ldr r3, [pc, #160] ; (804f9c0 ) 804f920: 681b ldr r3, [r3, #0] 804f922: 3304 adds r3, #4 804f924: f107 02c8 add.w r2, r7, #200 ; 0xc8 804f928: 4413 add r3, r2 804f92a: 2200 movs r2, #0 804f92c: f803 2c84 strb.w r2, [r3, #-132] memset(WavFileName, 0, sizeof(WavFileName)); 804f930: 2221 movs r2, #33 ; 0x21 804f932: 2100 movs r1, #0 804f934: 4823 ldr r0, [pc, #140] ; (804f9c4 ) 804f936: f07d fb87 bl 80cd048 strcpy(WavFileName, string); 804f93a: f107 0344 add.w r3, r7, #68 ; 0x44 804f93e: 4619 mov r1, r3 804f940: 4820 ldr r0, [pc, #128] ; (804f9c4 ) 804f942: f07d fc9e bl 80cd282 menu = PARAM_WAVE; 804f946: 4b17 ldr r3, [pc, #92] ; (804f9a4 ) 804f948: 220a movs r2, #10 804f94a: 701a strb r2, [r3, #0] menupos = WaveName; 804f94c: 4b11 ldr r3, [pc, #68] ; (804f994 ) 804f94e: 2204 movs r2, #4 804f950: 701a strb r2, [r3, #0] pardata.IVS[ACC] = PEAK; 804f952: 4b1d ldr r3, [pc, #116] ; (804f9c8 ) 804f954: 2200 movs r2, #0 804f956: 709a strb r2, [r3, #2] { TEMP_WavFileName[WavFileNameLen] = CHARS_ENG[menupos]; WavFileNameLen++; } } break; 804f958: f003 b9d0 b.w 8052cfc if(menupos == _BCKSPC) 804f95c: 4b0d ldr r3, [pc, #52] ; (804f994 ) 804f95e: 781b ldrb r3, [r3, #0] 804f960: b2db uxtb r3, r3 804f962: 2b1d cmp r3, #29 804f964: d132 bne.n 804f9cc WavFileNameLen = strlen(TEMP_WavFileName); 804f966: 4815 ldr r0, [pc, #84] ; (804f9bc ) 804f968: f7d0 fcd4 bl 8020314 804f96c: 4602 mov r2, r0 804f96e: 4b14 ldr r3, [pc, #80] ; (804f9c0 ) 804f970: 601a str r2, [r3, #0] if(WavFileNameLen) 804f972: 4b13 ldr r3, [pc, #76] ; (804f9c0 ) 804f974: 681b ldr r3, [r3, #0] 804f976: 2b00 cmp r3, #0 804f978: f003 81c0 beq.w 8052cfc WavFileNameLen--; 804f97c: 4b10 ldr r3, [pc, #64] ; (804f9c0 ) 804f97e: 681b ldr r3, [r3, #0] 804f980: 3b01 subs r3, #1 804f982: 4a0f ldr r2, [pc, #60] ; (804f9c0 ) 804f984: 6013 str r3, [r2, #0] TEMP_WavFileName[WavFileNameLen] = 0; 804f986: 4b0e ldr r3, [pc, #56] ; (804f9c0 ) 804f988: 681b ldr r3, [r3, #0] 804f98a: 4a0c ldr r2, [pc, #48] ; (804f9bc ) 804f98c: 2100 movs r1, #0 804f98e: 54d1 strb r1, [r2, r3] break; 804f990: f003 b9b4 b.w 8052cfc 804f994: 20020070 .word 0x20020070 804f998: 20025c80 .word 0x20025c80 804f99c: 20020eec .word 0x20020eec 804f9a0: 20020f79 .word 0x20020f79 804f9a4: 20020f78 .word 0x20020f78 804f9a8: 2002168c .word 0x2002168c 804f9ac: 20020dd2 .word 0x20020dd2 804f9b0: 20020dcc .word 0x20020dcc 804f9b4: 20020e58 .word 0x20020e58 804f9b8: 080ee790 .word 0x080ee790 804f9bc: 20025ca4 .word 0x20025ca4 804f9c0: 20020ee8 .word 0x20020ee8 804f9c4: 20020e34 .word 0x20020e34 804f9c8: 20023e60 .word 0x20023e60 if(menupos == _CANCEL) 804f9cc: 4bb1 ldr r3, [pc, #708] ; (804fc94 ) 804f9ce: 781b ldrb r3, [r3, #0] 804f9d0: b2db uxtb r3, r3 804f9d2: 2b27 cmp r3, #39 ; 0x27 804f9d4: d110 bne.n 804f9f8 WavFileNameLen = strlen(WavFileName); 804f9d6: 48b0 ldr r0, [pc, #704] ; (804fc98 ) 804f9d8: f7d0 fc9c bl 8020314 804f9dc: 4602 mov r2, r0 804f9de: 4baf ldr r3, [pc, #700] ; (804fc9c ) 804f9e0: 601a str r2, [r3, #0] menu = PARAM_WAVE; 804f9e2: 4baf ldr r3, [pc, #700] ; (804fca0 ) 804f9e4: 220a movs r2, #10 804f9e6: 701a strb r2, [r3, #0] menupos = WaveName; 804f9e8: 4baa ldr r3, [pc, #680] ; (804fc94 ) 804f9ea: 2204 movs r2, #4 804f9ec: 701a strb r2, [r3, #0] pardata.IVS[ACC] = PEAK; 804f9ee: 4bad ldr r3, [pc, #692] ; (804fca4 ) 804f9f0: 2200 movs r2, #0 804f9f2: 709a strb r2, [r3, #2] break; 804f9f4: f003 b982 b.w 8052cfc WavFileNameLen = strlen(TEMP_WavFileName); 804f9f8: 48ab ldr r0, [pc, #684] ; (804fca8 ) 804f9fa: f7d0 fc8b bl 8020314 804f9fe: 4602 mov r2, r0 804fa00: 4ba6 ldr r3, [pc, #664] ; (804fc9c ) 804fa02: 601a str r2, [r3, #0] if(WavFileNameLen < MAX_NAME) 804fa04: 4ba5 ldr r3, [pc, #660] ; (804fc9c ) 804fa06: 681b ldr r3, [r3, #0] 804fa08: 2b18 cmp r3, #24 804fa0a: f203 8177 bhi.w 8052cfc TEMP_WavFileName[WavFileNameLen] = CHARS_ENG[menupos]; 804fa0e: 4ba3 ldr r3, [pc, #652] ; (804fc9c ) 804fa10: 681b ldr r3, [r3, #0] 804fa12: 4aa0 ldr r2, [pc, #640] ; (804fc94 ) 804fa14: 7812 ldrb r2, [r2, #0] 804fa16: b2d2 uxtb r2, r2 804fa18: 4611 mov r1, r2 804fa1a: 4aa4 ldr r2, [pc, #656] ; (804fcac ) 804fa1c: 5c51 ldrb r1, [r2, r1] 804fa1e: 4aa2 ldr r2, [pc, #648] ; (804fca8 ) 804fa20: 54d1 strb r1, [r2, r3] WavFileNameLen++; 804fa22: 4b9e ldr r3, [pc, #632] ; (804fc9c ) 804fa24: 681b ldr r3, [r3, #0] 804fa26: 3301 adds r3, #1 804fa28: 4a9c ldr r2, [pc, #624] ; (804fc9c ) 804fa2a: 6013 str r3, [r2, #0] break; 804fa2c: f003 b966 b.w 8052cfc case INPUT_NAME_FRN: if(menupos == _ENTER) 804fa30: 4b98 ldr r3, [pc, #608] ; (804fc94 ) 804fa32: 781b ldrb r3, [r3, #0] 804fa34: b2db uxtb r3, r3 804fa36: 2b26 cmp r3, #38 ; 0x26 804fa38: f040 8085 bne.w 804fb46 { MeasFileNameLen = strlen(TEMP_MeasFileName); 804fa3c: 489c ldr r0, [pc, #624] ; (804fcb0 ) 804fa3e: f7d0 fc69 bl 8020314 804fa42: 4602 mov r2, r0 804fa44: 4b9b ldr r3, [pc, #620] ; (804fcb4 ) 804fa46: 601a str r2, [r3, #0] if(MeasFileNameLen > 0) 804fa48: 4b9a ldr r3, [pc, #616] ; (804fcb4 ) 804fa4a: 681b ldr r3, [r3, #0] 804fa4c: 2b00 cmp r3, #0 804fa4e: f003 8157 beq.w 8052d00 { strcpy(string, TEMP_MeasFileName); 804fa52: f107 0344 add.w r3, r7, #68 ; 0x44 804fa56: 4996 ldr r1, [pc, #600] ; (804fcb0 ) 804fa58: 4618 mov r0, r3 804fa5a: f07d fc12 bl 80cd282 string[MeasFileNameLen] = '.'; 804fa5e: 4b95 ldr r3, [pc, #596] ; (804fcb4 ) 804fa60: 681b ldr r3, [r3, #0] 804fa62: f107 02c8 add.w r2, r7, #200 ; 0xc8 804fa66: 4413 add r3, r2 804fa68: 222e movs r2, #46 ; 0x2e 804fa6a: f803 2c84 strb.w r2, [r3, #-132] string[MeasFileNameLen + 1] = 'F'; 804fa6e: 4b91 ldr r3, [pc, #580] ; (804fcb4 ) 804fa70: 681b ldr r3, [r3, #0] 804fa72: 3301 adds r3, #1 804fa74: f107 02c8 add.w r2, r7, #200 ; 0xc8 804fa78: 4413 add r3, r2 804fa7a: 2246 movs r2, #70 ; 0x46 804fa7c: f803 2c84 strb.w r2, [r3, #-132] string[MeasFileNameLen + 2] = 'R'; 804fa80: 4b8c ldr r3, [pc, #560] ; (804fcb4 ) 804fa82: 681b ldr r3, [r3, #0] 804fa84: 3302 adds r3, #2 804fa86: f107 02c8 add.w r2, r7, #200 ; 0xc8 804fa8a: 4413 add r3, r2 804fa8c: 2252 movs r2, #82 ; 0x52 804fa8e: f803 2c84 strb.w r2, [r3, #-132] string[MeasFileNameLen + 3] = 'N'; 804fa92: 4b88 ldr r3, [pc, #544] ; (804fcb4 ) 804fa94: 681b ldr r3, [r3, #0] 804fa96: 3303 adds r3, #3 804fa98: f107 02c8 add.w r2, r7, #200 ; 0xc8 804fa9c: 4413 add r3, r2 804fa9e: 224e movs r2, #78 ; 0x4e 804faa0: f803 2c84 strb.w r2, [r3, #-132] string[MeasFileNameLen + 4] = '\0'; 804faa4: 4b83 ldr r3, [pc, #524] ; (804fcb4 ) 804faa6: 681b ldr r3, [r3, #0] 804faa8: 3304 adds r3, #4 804faaa: f107 02c8 add.w r2, r7, #200 ; 0xc8 804faae: 4413 add r3, r2 804fab0: 2200 movs r2, #0 804fab2: f803 2c84 strb.w r2, [r3, #-132] result = CreateFileFRN(string); 804fab6: f107 0344 add.w r3, r7, #68 ; 0x44 804faba: 4618 mov r0, r3 804fabc: f7d5 ff58 bl 8025970 804fac0: 4603 mov r3, r0 804fac2: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 804fac6: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 804faca: 2b00 cmp r3, #0 804facc: d115 bne.n 804fafa { STATUS = AP_SAVING_SUCCESS; 804face: 4b7a ldr r3, [pc, #488] ; (804fcb8 ) 804fad0: 2207 movs r2, #7 804fad2: 601a str r2, [r3, #0] timerStatus = sec2; 804fad4: 4b79 ldr r3, [pc, #484] ; (804fcbc ) 804fad6: f44f 5280 mov.w r2, #4096 ; 0x1000 804fada: 801a strh r2, [r3, #0] DrawStatus = true; 804fadc: 4b78 ldr r3, [pc, #480] ; (804fcc0 ) 804fade: 2201 movs r2, #1 804fae0: 701a strb r2, [r3, #0] menu = lastmenu; 804fae2: 4b78 ldr r3, [pc, #480] ; (804fcc4 ) 804fae4: 781b ldrb r3, [r3, #0] 804fae6: b2da uxtb r2, r3 804fae8: 4b6d ldr r3, [pc, #436] ; (804fca0 ) 804faea: 701a strb r2, [r3, #0] menupos = lastmenupos; 804faec: 4b76 ldr r3, [pc, #472] ; (804fcc8 ) 804faee: 781b ldrb r3, [r3, #0] 804faf0: b2da uxtb r2, r3 804faf2: 4b68 ldr r3, [pc, #416] ; (804fc94 ) 804faf4: 701a strb r2, [r3, #0] { TEMP_MeasFileName[MeasFileNameLen] = CHARS_ENG[menupos]; MeasFileNameLen++; } } break; 804faf6: f003 b903 b.w 8052d00 if(result == FR_EXIST) 804fafa: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 804fafe: 2b08 cmp r3, #8 804fb00: d10b bne.n 804fb1a timerStatus = sec2; 804fb02: 4b6e ldr r3, [pc, #440] ; (804fcbc ) 804fb04: f44f 5280 mov.w r2, #4096 ; 0x1000 804fb08: 801a strh r2, [r3, #0] DrawStatus = true; 804fb0a: 4b6d ldr r3, [pc, #436] ; (804fcc0 ) 804fb0c: 2201 movs r2, #1 804fb0e: 701a strb r2, [r3, #0] STATUS = AP_FILE_EXIST; 804fb10: 4b69 ldr r3, [pc, #420] ; (804fcb8 ) 804fb12: 2206 movs r2, #6 804fb14: 601a str r2, [r3, #0] break; 804fb16: f003 b8f3 b.w 8052d00 timerStatus = sec2; 804fb1a: 4b68 ldr r3, [pc, #416] ; (804fcbc ) 804fb1c: f44f 5280 mov.w r2, #4096 ; 0x1000 804fb20: 801a strh r2, [r3, #0] DrawStatus = true; 804fb22: 4b67 ldr r3, [pc, #412] ; (804fcc0 ) 804fb24: 2201 movs r2, #1 804fb26: 701a strb r2, [r3, #0] STATUS = AP_DISK_ERROR; 804fb28: 4b63 ldr r3, [pc, #396] ; (804fcb8 ) 804fb2a: 220b movs r2, #11 804fb2c: 601a str r2, [r3, #0] menu = lastmenu; 804fb2e: 4b65 ldr r3, [pc, #404] ; (804fcc4 ) 804fb30: 781b ldrb r3, [r3, #0] 804fb32: b2da uxtb r2, r3 804fb34: 4b5a ldr r3, [pc, #360] ; (804fca0 ) 804fb36: 701a strb r2, [r3, #0] menupos = lastmenupos; 804fb38: 4b63 ldr r3, [pc, #396] ; (804fcc8 ) 804fb3a: 781b ldrb r3, [r3, #0] 804fb3c: b2da uxtb r2, r3 804fb3e: 4b55 ldr r3, [pc, #340] ; (804fc94 ) 804fb40: 701a strb r2, [r3, #0] break; 804fb42: f003 b8dd b.w 8052d00 if(menupos == _BCKSPC) 804fb46: 4b53 ldr r3, [pc, #332] ; (804fc94 ) 804fb48: 781b ldrb r3, [r3, #0] 804fb4a: b2db uxtb r3, r3 804fb4c: 2b1d cmp r3, #29 804fb4e: d116 bne.n 804fb7e MeasFileNameLen = strlen(TEMP_MeasFileName); 804fb50: 4857 ldr r0, [pc, #348] ; (804fcb0 ) 804fb52: f7d0 fbdf bl 8020314 804fb56: 4602 mov r2, r0 804fb58: 4b56 ldr r3, [pc, #344] ; (804fcb4 ) 804fb5a: 601a str r2, [r3, #0] if(MeasFileNameLen) 804fb5c: 4b55 ldr r3, [pc, #340] ; (804fcb4 ) 804fb5e: 681b ldr r3, [r3, #0] 804fb60: 2b00 cmp r3, #0 804fb62: f003 80cd beq.w 8052d00 MeasFileNameLen--; 804fb66: 4b53 ldr r3, [pc, #332] ; (804fcb4 ) 804fb68: 681b ldr r3, [r3, #0] 804fb6a: 3b01 subs r3, #1 804fb6c: 4a51 ldr r2, [pc, #324] ; (804fcb4 ) 804fb6e: 6013 str r3, [r2, #0] TEMP_MeasFileName[MeasFileNameLen] = 0; 804fb70: 4b50 ldr r3, [pc, #320] ; (804fcb4 ) 804fb72: 681b ldr r3, [r3, #0] 804fb74: 4a4e ldr r2, [pc, #312] ; (804fcb0 ) 804fb76: 2100 movs r1, #0 804fb78: 54d1 strb r1, [r2, r3] break; 804fb7a: f003 b8c1 b.w 8052d00 if(menupos == _CANCEL) 804fb7e: 4b45 ldr r3, [pc, #276] ; (804fc94 ) 804fb80: 781b ldrb r3, [r3, #0] 804fb82: b2db uxtb r3, r3 804fb84: 2b27 cmp r3, #39 ; 0x27 804fb86: d111 bne.n 804fbac MeasFileNameLen = strlen(MeasFileName); 804fb88: 4850 ldr r0, [pc, #320] ; (804fccc ) 804fb8a: f7d0 fbc3 bl 8020314 804fb8e: 4602 mov r2, r0 804fb90: 4b48 ldr r3, [pc, #288] ; (804fcb4 ) 804fb92: 601a str r2, [r3, #0] menu = lastmenu; 804fb94: 4b4b ldr r3, [pc, #300] ; (804fcc4 ) 804fb96: 781b ldrb r3, [r3, #0] 804fb98: b2da uxtb r2, r3 804fb9a: 4b41 ldr r3, [pc, #260] ; (804fca0 ) 804fb9c: 701a strb r2, [r3, #0] menupos = lastmenupos; 804fb9e: 4b4a ldr r3, [pc, #296] ; (804fcc8 ) 804fba0: 781b ldrb r3, [r3, #0] 804fba2: b2da uxtb r2, r3 804fba4: 4b3b ldr r3, [pc, #236] ; (804fc94 ) 804fba6: 701a strb r2, [r3, #0] break; 804fba8: f003 b8aa b.w 8052d00 MeasFileNameLen = strlen(TEMP_MeasFileName); 804fbac: 4840 ldr r0, [pc, #256] ; (804fcb0 ) 804fbae: f7d0 fbb1 bl 8020314 804fbb2: 4602 mov r2, r0 804fbb4: 4b3f ldr r3, [pc, #252] ; (804fcb4 ) 804fbb6: 601a str r2, [r3, #0] if(MeasFileNameLen < MAX_NAME) 804fbb8: 4b3e ldr r3, [pc, #248] ; (804fcb4 ) 804fbba: 681b ldr r3, [r3, #0] 804fbbc: 2b18 cmp r3, #24 804fbbe: f203 809f bhi.w 8052d00 TEMP_MeasFileName[MeasFileNameLen] = CHARS_ENG[menupos]; 804fbc2: 4b3c ldr r3, [pc, #240] ; (804fcb4 ) 804fbc4: 681b ldr r3, [r3, #0] 804fbc6: 4a33 ldr r2, [pc, #204] ; (804fc94 ) 804fbc8: 7812 ldrb r2, [r2, #0] 804fbca: b2d2 uxtb r2, r2 804fbcc: 4611 mov r1, r2 804fbce: 4a37 ldr r2, [pc, #220] ; (804fcac ) 804fbd0: 5c51 ldrb r1, [r2, r1] 804fbd2: 4a37 ldr r2, [pc, #220] ; (804fcb0 ) 804fbd4: 54d1 strb r1, [r2, r3] MeasFileNameLen++; 804fbd6: 4b37 ldr r3, [pc, #220] ; (804fcb4 ) 804fbd8: 681b ldr r3, [r3, #0] 804fbda: 3301 adds r3, #1 804fbdc: 4a35 ldr r2, [pc, #212] ; (804fcb4 ) 804fbde: 6013 str r3, [r2, #0] break; 804fbe0: f003 b88e b.w 8052d00 case OPTIONS: focused = false; 804fbe4: 4b3a ldr r3, [pc, #232] ; (804fcd0 ) 804fbe6: 2200 movs r2, #0 804fbe8: 701a strb r2, [r3, #0] switch(menupos) 804fbea: 4b2a ldr r3, [pc, #168] ; (804fc94 ) 804fbec: 781b ldrb r3, [r3, #0] 804fbee: b2db uxtb r3, r3 804fbf0: 3b01 subs r3, #1 804fbf2: 2b09 cmp r3, #9 804fbf4: f203 8086 bhi.w 8052d04 804fbf8: a201 add r2, pc, #4 ; (adr r2, 804fc00 ) 804fbfa: f852 f023 ldr.w pc, [r2, r3, lsl #2] 804fbfe: bf00 nop 804fc00: 0804fc29 .word 0x0804fc29 804fc04: 0804fd35 .word 0x0804fd35 804fc08: 0804fd4d .word 0x0804fd4d 804fc0c: 0804fe1b .word 0x0804fe1b 804fc10: 0805013f .word 0x0805013f 804fc14: 08050147 .word 0x08050147 804fc18: 08052d05 .word 0x08052d05 804fc1c: 08050161 .word 0x08050161 804fc20: 0804ff05 .word 0x0804ff05 804fc24: 0804ff65 .word 0x0804ff65 { case Mode: menu = MEAS_MODE; 804fc28: 4b1d ldr r3, [pc, #116] ; (804fca0 ) 804fc2a: 2202 movs r2, #2 804fc2c: 701a strb r2, [r3, #0] lastmenupos = menupos; 804fc2e: 4b19 ldr r3, [pc, #100] ; (804fc94 ) 804fc30: 781b ldrb r3, [r3, #0] 804fc32: b2da uxtb r2, r3 804fc34: 4b24 ldr r3, [pc, #144] ; (804fcc8 ) 804fc36: 701a strb r2, [r3, #0] if(pardata.SYG == VIB) 804fc38: 4b1a ldr r3, [pc, #104] ; (804fca4 ) 804fc3a: 781b ldrb r3, [r3, #0] 804fc3c: b2db uxtb r3, r3 804fc3e: 2b00 cmp r3, #0 804fc40: d103 bne.n 804fc4a menupos = Vibrometer; 804fc42: 4b14 ldr r3, [pc, #80] ; (804fc94 ) 804fc44: 2201 movs r2, #1 804fc46: 701a strb r2, [r3, #0] 804fc48: e061 b.n 804fd0e else if(pardata.SYG == SPEC) 804fc4a: 4b16 ldr r3, [pc, #88] ; (804fca4 ) 804fc4c: 781b ldrb r3, [r3, #0] 804fc4e: b2db uxtb r3, r3 804fc50: 2b01 cmp r3, #1 804fc52: d103 bne.n 804fc5c menupos = FFT; 804fc54: 4b0f ldr r3, [pc, #60] ; (804fc94 ) 804fc56: 2203 movs r2, #3 804fc58: 701a strb r2, [r3, #0] 804fc5a: e058 b.n 804fd0e else if(pardata.SYG == OSC) 804fc5c: 4b11 ldr r3, [pc, #68] ; (804fca4 ) 804fc5e: 781b ldrb r3, [r3, #0] 804fc60: b2db uxtb r3, r3 804fc62: 2b02 cmp r3, #2 804fc64: d103 bne.n 804fc6e menupos = Osc; 804fc66: 4b0b ldr r3, [pc, #44] ; (804fc94 ) 804fc68: 2202 movs r2, #2 804fc6a: 701a strb r2, [r3, #0] 804fc6c: e04f b.n 804fd0e else if(pardata.SYG == WAVE) 804fc6e: 4b0d ldr r3, [pc, #52] ; (804fca4 ) 804fc70: 781b ldrb r3, [r3, #0] 804fc72: b2db uxtb r3, r3 804fc74: 2b04 cmp r3, #4 804fc76: d103 bne.n 804fc80 menupos = Wave; 804fc78: 4b06 ldr r3, [pc, #24] ; (804fc94 ) 804fc7a: 2204 movs r2, #4 804fc7c: 701a strb r2, [r3, #0] 804fc7e: e046 b.n 804fd0e else if(pardata.SYG == SPEC_OGIB) 804fc80: 4b08 ldr r3, [pc, #32] ; (804fca4 ) 804fc82: 781b ldrb r3, [r3, #0] 804fc84: b2db uxtb r3, r3 804fc86: 2b05 cmp r3, #5 804fc88: d124 bne.n 804fcd4 menupos = FFT_Ogib; 804fc8a: 4b02 ldr r3, [pc, #8] ; (804fc94 ) 804fc8c: 2209 movs r2, #9 804fc8e: 701a strb r2, [r3, #0] 804fc90: e03d b.n 804fd0e 804fc92: bf00 nop 804fc94: 20020070 .word 0x20020070 804fc98: 20020e34 .word 0x20020e34 804fc9c: 20020ee8 .word 0x20020ee8 804fca0: 20020f78 .word 0x20020f78 804fca4: 20023e60 .word 0x20023e60 804fca8: 20025ca4 .word 0x20025ca4 804fcac: 080ee790 .word 0x080ee790 804fcb0: 20025c80 .word 0x20025c80 804fcb4: 20020eec .word 0x20020eec 804fcb8: 20020dcc .word 0x20020dcc 804fcbc: 2002168c .word 0x2002168c 804fcc0: 20020dd2 .word 0x20020dd2 804fcc4: 20020f79 .word 0x20020f79 804fcc8: 20020071 .word 0x20020071 804fccc: 20020e58 .word 0x20020e58 804fcd0: 20020f84 .word 0x20020f84 else if(pardata.SYG == ROLL) 804fcd4: 4b93 ldr r3, [pc, #588] ; (804ff24 ) 804fcd6: 781b ldrb r3, [r3, #0] 804fcd8: b2db uxtb r3, r3 804fcda: 2b08 cmp r3, #8 804fcdc: d103 bne.n 804fce6 { #ifdef USE_ROLL menupos = Roll; 804fcde: 4b92 ldr r3, [pc, #584] ; (804ff28 ) 804fce0: 2206 movs r2, #6 804fce2: 701a strb r2, [r3, #0] 804fce4: e013 b.n 804fd0e pardata.SYG = VIB; menupos = Vibrometer; #endif } else if(pardata.SYG == UDAR) 804fce6: 4b8f ldr r3, [pc, #572] ; (804ff24 ) 804fce8: 781b ldrb r3, [r3, #0] 804fcea: b2db uxtb r3, r3 804fcec: 2b09 cmp r3, #9 804fcee: d103 bne.n 804fcf8 { #ifdef USE_UDAR menupos = Udar; 804fcf0: 4b8d ldr r3, [pc, #564] ; (804ff28 ) 804fcf2: 2207 movs r2, #7 804fcf4: 701a strb r2, [r3, #0] 804fcf6: e00a b.n 804fd0e pardata.SYG = VIB; menupos = Vibrometer; #endif } else if(pardata.SYG == DIAGN) 804fcf8: 4b8a ldr r3, [pc, #552] ; (804ff24 ) 804fcfa: 781b ldrb r3, [r3, #0] 804fcfc: b2db uxtb r3, r3 804fcfe: 2b0a cmp r3, #10 804fd00: d105 bne.n 804fd0e { #ifdef USE_DIAGN menupos = Diagn; #else pardata.SYG = VIB; 804fd02: 4b88 ldr r3, [pc, #544] ; (804ff24 ) 804fd04: 2200 movs r2, #0 804fd06: 701a strb r2, [r3, #0] menupos = Vibrometer; 804fd08: 4b87 ldr r3, [pc, #540] ; (804ff28 ) 804fd0a: 2201 movs r2, #1 804fd0c: 701a strb r2, [r3, #0] #endif } /////////////////////////////// if((pardata.IIN == VOLTS) && (pardata.SYG > FFT)) 804fd0e: 4b85 ldr r3, [pc, #532] ; (804ff24 ) 804fd10: 799b ldrb r3, [r3, #6] 804fd12: b2db uxtb r3, r3 804fd14: 2b02 cmp r3, #2 804fd16: f040 8227 bne.w 8050168 804fd1a: 4b82 ldr r3, [pc, #520] ; (804ff24 ) 804fd1c: 781b ldrb r3, [r3, #0] 804fd1e: b2db uxtb r3, r3 804fd20: 2b03 cmp r3, #3 804fd22: f240 8221 bls.w 8050168 { pardata.SYG = VIB; 804fd26: 4b7f ldr r3, [pc, #508] ; (804ff24 ) 804fd28: 2200 movs r2, #0 804fd2a: 701a strb r2, [r3, #0] menupos = Vibrometer; 804fd2c: 4b7e ldr r3, [pc, #504] ; (804ff28 ) 804fd2e: 2201 movs r2, #1 804fd30: 701a strb r2, [r3, #0] } break; 804fd32: e219 b.n 8050168 case Settings: menu = SETTINGS; 804fd34: 4b7d ldr r3, [pc, #500] ; (804ff2c ) 804fd36: 2212 movs r2, #18 804fd38: 701a strb r2, [r3, #0] lastmenupos = menupos; 804fd3a: 4b7b ldr r3, [pc, #492] ; (804ff28 ) 804fd3c: 781b ldrb r3, [r3, #0] 804fd3e: b2da uxtb r2, r3 804fd40: 4b7b ldr r3, [pc, #492] ; (804ff30 ) 804fd42: 701a strb r2, [r3, #0] #if (!defined(USE_D101) && !defined(USE_D102)) menupos = Type; 804fd44: 4b78 ldr r3, [pc, #480] ; (804ff28 ) 804fd46: 2201 movs r2, #1 804fd48: 701a strb r2, [r3, #0] #else menupos = Sens; #endif break; 804fd4a: e217 b.n 805017c case PlayFiles: result = FR_NOT_READY; 804fd4c: 2303 movs r3, #3 804fd4e: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(CardState == MSD_READY) 804fd52: 4b78 ldr r3, [pc, #480] ; (804ff34 ) 804fd54: 781b ldrb r3, [r3, #0] 804fd56: b2db uxtb r3, r3 804fd58: 2b03 cmp r3, #3 804fd5a: d13d bne.n 804fdd8 { CursorIndex = 0; 804fd5c: 4b76 ldr r3, [pc, #472] ; (804ff38 ) 804fd5e: 2200 movs r2, #0 804fd60: 601a str r2, [r3, #0] FirstFileIndex = 0; 804fd62: 4b76 ldr r3, [pc, #472] ; (804ff3c ) 804fd64: 2200 movs r2, #0 804fd66: 601a str r2, [r3, #0] RealFileIndex = 0; 804fd68: 4b75 ldr r3, [pc, #468] ; (804ff40 ) 804fd6a: 2200 movs r2, #0 804fd6c: 601a str r2, [r3, #0] result = ReadNumFilesGTR((uint32_t *) &NumFilesGTR); 804fd6e: 4875 ldr r0, [pc, #468] ; (804ff44 ) 804fd70: f7da fe4a bl 802aa08 804fd74: 4603 mov r3, r0 804fd76: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 804fd7a: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 804fd7e: 2b00 cmp r3, #0 804fd80: f040 81f5 bne.w 805016e { result = ReadMyFilesGTR(FirstFileIndex); 804fd84: 4b6d ldr r3, [pc, #436] ; (804ff3c ) 804fd86: 681b ldr r3, [r3, #0] 804fd88: 4618 mov r0, r3 804fd8a: f7da fee5 bl 802ab58 804fd8e: 4603 mov r3, r0 804fd90: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 804fd94: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 804fd98: 2b00 cmp r3, #0 804fd9a: f040 81e8 bne.w 805016e { NumFilesDelete = 0; 804fd9e: 4b6a ldr r3, [pc, #424] ; (804ff48 ) 804fda0: 2200 movs r2, #0 804fda2: 601a str r2, [r3, #0] memset(pStrRAM, 0, 40u * MAX_CHECKED_FILES); 804fda4: f44f 42a0 mov.w r2, #20480 ; 0x5000 804fda8: 2100 movs r1, #0 804fdaa: 4868 ldr r0, [pc, #416] ; (804ff4c ) 804fdac: f07d f94c bl 80cd048 menu = ARCHIVE_WAVE; 804fdb0: 4b5e ldr r3, [pc, #376] ; (804ff2c ) 804fdb2: 2217 movs r2, #23 804fdb4: 701a strb r2, [r3, #0] lastmenupos = menupos; 804fdb6: 4b5c ldr r3, [pc, #368] ; (804ff28 ) 804fdb8: 781b ldrb r3, [r3, #0] 804fdba: b2da uxtb r2, r3 804fdbc: 4b5c ldr r3, [pc, #368] ; (804ff30 ) 804fdbe: 701a strb r2, [r3, #0] if(NumFilesGTR) menupos = FilesGTR; 804fdc0: 4b60 ldr r3, [pc, #384] ; (804ff44 ) 804fdc2: 681b ldr r3, [r3, #0] 804fdc4: 2b00 cmp r3, #0 804fdc6: d003 beq.n 804fdd0 804fdc8: 4b57 ldr r3, [pc, #348] ; (804ff28 ) 804fdca: 2202 movs r2, #2 804fdcc: 701a strb r2, [r3, #0] { STATUS = AP_NO_CARD; timerStatus = sec2; DrawStatus = true; } break; 804fdce: e1ce b.n 805016e else menupos = NoFilesGTR; 804fdd0: 4b55 ldr r3, [pc, #340] ; (804ff28 ) 804fdd2: 2201 movs r2, #1 804fdd4: 701a strb r2, [r3, #0] break; 804fdd6: e1ca b.n 805016e if(CardState == MSD_PRESENT) 804fdd8: 4b56 ldr r3, [pc, #344] ; (804ff34 ) 804fdda: 781b ldrb r3, [r3, #0] 804fddc: b2db uxtb r3, r3 804fdde: 2b01 cmp r3, #1 804fde0: d10a bne.n 804fdf8 STATUS = AP_DISK_ERROR; 804fde2: 4b5b ldr r3, [pc, #364] ; (804ff50 ) 804fde4: 220b movs r2, #11 804fde6: 601a str r2, [r3, #0] timerStatus = sec2; 804fde8: 4b5a ldr r3, [pc, #360] ; (804ff54 ) 804fdea: f44f 5280 mov.w r2, #4096 ; 0x1000 804fdee: 801a strh r2, [r3, #0] DrawStatus = true; 804fdf0: 4b59 ldr r3, [pc, #356] ; (804ff58 ) 804fdf2: 2201 movs r2, #1 804fdf4: 701a strb r2, [r3, #0] break; 804fdf6: e1ba b.n 805016e if(CardState == MSD_NOCARD) 804fdf8: 4b4e ldr r3, [pc, #312] ; (804ff34 ) 804fdfa: 781b ldrb r3, [r3, #0] 804fdfc: b2db uxtb r3, r3 804fdfe: 2b00 cmp r3, #0 804fe00: f040 81b5 bne.w 805016e STATUS = AP_NO_CARD; 804fe04: 4b52 ldr r3, [pc, #328] ; (804ff50 ) 804fe06: 2211 movs r2, #17 804fe08: 601a str r2, [r3, #0] timerStatus = sec2; 804fe0a: 4b52 ldr r3, [pc, #328] ; (804ff54 ) 804fe0c: f44f 5280 mov.w r2, #4096 ; 0x1000 804fe10: 801a strh r2, [r3, #0] DrawStatus = true; 804fe12: 4b51 ldr r3, [pc, #324] ; (804ff58 ) 804fe14: 2201 movs r2, #1 804fe16: 701a strb r2, [r3, #0] break; 804fe18: e1a9 b.n 805016e case Route: result = FR_NOT_READY; 804fe1a: 2303 movs r3, #3 804fe1c: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(CardState == MSD_READY) 804fe20: 4b44 ldr r3, [pc, #272] ; (804ff34 ) 804fe22: 781b ldrb r3, [r3, #0] 804fe24: b2db uxtb r3, r3 804fe26: 2b03 cmp r3, #3 804fe28: d14b bne.n 804fec2 { CursorIndex = 0; 804fe2a: 4b43 ldr r3, [pc, #268] ; (804ff38 ) 804fe2c: 2200 movs r2, #0 804fe2e: 601a str r2, [r3, #0] FirstFileIndex = 0; 804fe30: 4b42 ldr r3, [pc, #264] ; (804ff3c ) 804fe32: 2200 movs r2, #0 804fe34: 601a str r2, [r3, #0] RealFileIndex = 0; 804fe36: 4b42 ldr r3, [pc, #264] ; (804ff40 ) 804fe38: 2200 movs r2, #0 804fe3a: 601a str r2, [r3, #0] result = ReadNumFilesCSV((uint32_t *) &NumFilesCSV); 804fe3c: 4847 ldr r0, [pc, #284] ; (804ff5c ) 804fe3e: f7da fdf9 bl 802aa34 804fe42: 4603 mov r3, r0 804fe44: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 804fe48: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 804fe4c: 2b00 cmp r3, #0 804fe4e: f040 8191 bne.w 8050174 { result = ReadMyFilesCSV(FirstFileIndex); 804fe52: 4b3a ldr r3, [pc, #232] ; (804ff3c ) 804fe54: 681b ldr r3, [r3, #0] 804fe56: 4618 mov r0, r3 804fe58: f7da fe8b bl 802ab72 804fe5c: 4603 mov r3, r0 804fe5e: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 804fe62: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 804fe66: 2b00 cmp r3, #0 804fe68: f040 8184 bne.w 8050174 { NumFilesDelete = 0; 804fe6c: 4b36 ldr r3, [pc, #216] ; (804ff48 ) 804fe6e: 2200 movs r2, #0 804fe70: 601a str r2, [r3, #0] memset(pStrRAM, 0, 40u * MAX_CHECKED_FILES); 804fe72: f44f 42a0 mov.w r2, #20480 ; 0x5000 804fe76: 2100 movs r1, #0 804fe78: 4834 ldr r0, [pc, #208] ; (804ff4c ) 804fe7a: f07d f8e5 bl 80cd048 lastmenupos = menupos; 804fe7e: 4b2a ldr r3, [pc, #168] ; (804ff28 ) 804fe80: 781b ldrb r3, [r3, #0] 804fe82: b2da uxtb r2, r3 804fe84: 4b2a ldr r3, [pc, #168] ; (804ff30 ) 804fe86: 701a strb r2, [r3, #0] if((RouteFileName[0]) && (pardata.ROUTE_POINT != 0xffffffff)) 804fe88: 4b35 ldr r3, [pc, #212] ; (804ff60 ) 804fe8a: 781b ldrb r3, [r3, #0] 804fe8c: 2b00 cmp r3, #0 804fe8e: d009 beq.n 804fea4 804fe90: 4b24 ldr r3, [pc, #144] ; (804ff24 ) 804fe92: f8d3 34ac ldr.w r3, [r3, #1196] ; 0x4ac 804fe96: f1b3 3fff cmp.w r3, #4294967295 804fe9a: d003 beq.n 804fea4 { menupos = AskRouteYes; 804fe9c: 4b22 ldr r3, [pc, #136] ; (804ff28 ) 804fe9e: 220a movs r2, #10 804fea0: 701a strb r2, [r3, #0] { STATUS = AP_NO_CARD; timerStatus = sec2; DrawStatus = true; } break; 804fea2: e167 b.n 8050174 menu = ROUTE; 804fea4: 4b21 ldr r3, [pc, #132] ; (804ff2c ) 804fea6: 2203 movs r2, #3 804fea8: 701a strb r2, [r3, #0] if(NumFilesCSV) menupos = FilesCSV; 804feaa: 4b2c ldr r3, [pc, #176] ; (804ff5c ) 804feac: 681b ldr r3, [r3, #0] 804feae: 2b00 cmp r3, #0 804feb0: d003 beq.n 804feba 804feb2: 4b1d ldr r3, [pc, #116] ; (804ff28 ) 804feb4: 2202 movs r2, #2 804feb6: 701a strb r2, [r3, #0] break; 804feb8: e15c b.n 8050174 else menupos = NoFilesCSV; 804feba: 4b1b ldr r3, [pc, #108] ; (804ff28 ) 804febc: 2201 movs r2, #1 804febe: 701a strb r2, [r3, #0] break; 804fec0: e158 b.n 8050174 if(CardState == MSD_PRESENT) 804fec2: 4b1c ldr r3, [pc, #112] ; (804ff34 ) 804fec4: 781b ldrb r3, [r3, #0] 804fec6: b2db uxtb r3, r3 804fec8: 2b01 cmp r3, #1 804feca: d10a bne.n 804fee2 STATUS = AP_DISK_ERROR; 804fecc: 4b20 ldr r3, [pc, #128] ; (804ff50 ) 804fece: 220b movs r2, #11 804fed0: 601a str r2, [r3, #0] timerStatus = sec2; 804fed2: 4b20 ldr r3, [pc, #128] ; (804ff54 ) 804fed4: f44f 5280 mov.w r2, #4096 ; 0x1000 804fed8: 801a strh r2, [r3, #0] DrawStatus = true; 804feda: 4b1f ldr r3, [pc, #124] ; (804ff58 ) 804fedc: 2201 movs r2, #1 804fede: 701a strb r2, [r3, #0] break; 804fee0: e148 b.n 8050174 if(CardState == MSD_NOCARD) 804fee2: 4b14 ldr r3, [pc, #80] ; (804ff34 ) 804fee4: 781b ldrb r3, [r3, #0] 804fee6: b2db uxtb r3, r3 804fee8: 2b00 cmp r3, #0 804feea: f040 8143 bne.w 8050174 STATUS = AP_NO_CARD; 804feee: 4b18 ldr r3, [pc, #96] ; (804ff50 ) 804fef0: 2211 movs r2, #17 804fef2: 601a str r2, [r3, #0] timerStatus = sec2; 804fef4: 4b17 ldr r3, [pc, #92] ; (804ff54 ) 804fef6: f44f 5280 mov.w r2, #4096 ; 0x1000 804fefa: 801a strh r2, [r3, #0] DrawStatus = true; 804fefc: 4b16 ldr r3, [pc, #88] ; (804ff58 ) 804fefe: 2201 movs r2, #1 804ff00: 701a strb r2, [r3, #0] break; 804ff02: e137 b.n 8050174 case AskRouteNo: menu = ROUTE; 804ff04: 4b09 ldr r3, [pc, #36] ; (804ff2c ) 804ff06: 2203 movs r2, #3 804ff08: 701a strb r2, [r3, #0] if(NumFilesCSV) menupos = FilesCSV; 804ff0a: 4b14 ldr r3, [pc, #80] ; (804ff5c ) 804ff0c: 681b ldr r3, [r3, #0] 804ff0e: 2b00 cmp r3, #0 804ff10: d003 beq.n 804ff1a 804ff12: 4b05 ldr r3, [pc, #20] ; (804ff28 ) 804ff14: 2202 movs r2, #2 804ff16: 701a strb r2, [r3, #0] else menupos = NoFilesCSV; break; 804ff18: e130 b.n 805017c else menupos = NoFilesCSV; 804ff1a: 4b03 ldr r3, [pc, #12] ; (804ff28 ) 804ff1c: 2201 movs r2, #1 804ff1e: 701a strb r2, [r3, #0] break; 804ff20: e12c b.n 805017c 804ff22: bf00 nop 804ff24: 20023e60 .word 0x20023e60 804ff28: 20020070 .word 0x20020070 804ff2c: 20020f78 .word 0x20020f78 804ff30: 20020071 .word 0x20020071 804ff34: 2002164c .word 0x2002164c 804ff38: 20020de0 .word 0x20020de0 804ff3c: 20020de4 .word 0x20020de4 804ff40: 20020de8 .word 0x20020de8 804ff44: 20020e04 .word 0x20020e04 804ff48: 20020e0c .word 0x20020e0c 804ff4c: 6404b000 .word 0x6404b000 804ff50: 20020dcc .word 0x20020dcc 804ff54: 2002168c .word 0x2002168c 804ff58: 20020dd2 .word 0x20020dd2 804ff5c: 20020e08 .word 0x20020e08 804ff60: 20020ea0 .word 0x20020ea0 case AskRouteYes: memset(RouteName, 0, sizeof(RouteName)); 804ff64: 2228 movs r2, #40 ; 0x28 804ff66: 2100 movs r1, #0 804ff68: 4895 ldr r0, [pc, #596] ; (80501c0 ) 804ff6a: f07d f86d bl 80cd048 strcpy(RouteName, RouteFileName); 804ff6e: 4995 ldr r1, [pc, #596] ; (80501c4 ) 804ff70: 4893 ldr r0, [pc, #588] ; (80501c0 ) 804ff72: f07d f986 bl 80cd282 memset((void *) &RouteMeas(0), 0, 65536); 804ff76: f44f 3280 mov.w r2, #65536 ; 0x10000 804ff7a: 2100 movs r1, #0 804ff7c: 4892 ldr r0, [pc, #584] ; (80501c8 ) 804ff7e: f07d f863 bl 80cd048 RoutePointID = 0xffffffff; 804ff82: 4b92 ldr r3, [pc, #584] ; (80501cc ) 804ff84: f04f 32ff mov.w r2, #4294967295 804ff88: 601a str r2, [r3, #0] // ÷èòàåì êîë-âî èçìåðåíèé â ìàðøðóòå result = OpenFileCSV(RouteName); //êîë-âî òî÷åê â ìàðøðóòå 804ff8a: 488d ldr r0, [pc, #564] ; (80501c0 ) 804ff8c: f7d8 f8aa bl 80280e4 804ff90: 4603 mov r3, r0 804ff92: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 804ff96: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 804ff9a: 2b00 cmp r3, #0 804ff9c: f040 8085 bne.w 80500aa { result = ReadFileCSV_TMP(RouteName); //ôàéë ñ òàáëèöåé èçìåðåííûõ òî÷åê òåêóùåãî ìàðøðóòà è òåêóùåé òî÷êè 804ffa0: 4887 ldr r0, [pc, #540] ; (80501c0 ) 804ffa2: f7d8 f9fd bl 80283a0 804ffa6: 4603 mov r3, r0 804ffa8: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 804ffac: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 804ffb0: 2b00 cmp r3, #0 804ffb2: d157 bne.n 8050064 { RouteIndex = pardata.ROUTE_POINT; ///////////////////////////////// 804ffb4: 4b86 ldr r3, [pc, #536] ; (80501d0 ) 804ffb6: f8d3 34ac ldr.w r3, [r3, #1196] ; 0x4ac 804ffba: 4a86 ldr r2, [pc, #536] ; (80501d4 ) 804ffbc: 6013 str r3, [r2, #0] result = GetRoutePath(RouteIndex, RouteName); 804ffbe: 4b85 ldr r3, [pc, #532] ; (80501d4 ) 804ffc0: 681b ldr r3, [r3, #0] 804ffc2: 497f ldr r1, [pc, #508] ; (80501c0 ) 804ffc4: 4618 mov r0, r3 804ffc6: f7d8 fcc3 bl 8028950 804ffca: 4603 mov r3, r0 804ffcc: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 804ffd0: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 804ffd4: 2b00 cmp r3, #0 804ffd6: d122 bne.n 805001e { if(RoutePath[0]) 804ffd8: 4b7f ldr r3, [pc, #508] ; (80501d8 ) 804ffda: 781b ldrb r3, [r3, #0] 804ffdc: 2b00 cmp r3, #0 804ffde: f000 80cc beq.w 805017a { memcpy((void *) &pardata_old, (void *) &pardata, sizeof(pardata)); 804ffe2: 4a7e ldr r2, [pc, #504] ; (80501dc ) 804ffe4: 4b7a ldr r3, [pc, #488] ; (80501d0 ) 804ffe6: 4610 mov r0, r2 804ffe8: 4619 mov r1, r3 804ffea: f44f 6396 mov.w r3, #1200 ; 0x4b0 804ffee: 461a mov r2, r3 804fff0: f07d f81f bl 80cd032 pardata.SYG = WAVE; 804fff4: 4b76 ldr r3, [pc, #472] ; (80501d0 ) 804fff6: 2204 movs r2, #4 804fff8: 701a strb r2, [r3, #0] pardata.IVS[ACC] = PEAK; 804fffa: 4b75 ldr r3, [pc, #468] ; (80501d0 ) 804fffc: 2200 movs r2, #0 804fffe: 709a strb r2, [r3, #2] pardata.THR &= ~BIT7; 8050000: 4b73 ldr r3, [pc, #460] ; (80501d0 ) 8050002: 7bdb ldrb r3, [r3, #15] 8050004: b2db uxtb r3, r3 8050006: f003 037f and.w r3, r3, #127 ; 0x7f 805000a: b2da uxtb r2, r3 805000c: 4b70 ldr r3, [pc, #448] ; (80501d0 ) 805000e: 73da strb r2, [r3, #15] menu = ROUTE_MAP; 8050010: 4b73 ldr r3, [pc, #460] ; (80501e0 ) 8050012: 2204 movs r2, #4 8050014: 701a strb r2, [r3, #0] menupos = GoMeas; 8050016: 4b73 ldr r3, [pc, #460] ; (80501e4 ) 8050018: 2201 movs r2, #1 805001a: 701a strb r2, [r3, #0] menu = ROUTE; if(NumFilesCSV) menupos = FilesCSV; else menupos = NoFilesCSV; } break; 805001c: e0ad b.n 805017a STATUS = AP_INVALID_FILE; 805001e: 4b72 ldr r3, [pc, #456] ; (80501e8 ) 8050020: 2202 movs r2, #2 8050022: 601a str r2, [r3, #0] timerStatus = sec2; 8050024: 4b71 ldr r3, [pc, #452] ; (80501ec ) 8050026: f44f 5280 mov.w r2, #4096 ; 0x1000 805002a: 801a strh r2, [r3, #0] DrawStatus = true; 805002c: 4b70 ldr r3, [pc, #448] ; (80501f0 ) 805002e: 2201 movs r2, #1 8050030: 701a strb r2, [r3, #0] memset((void *) &pardata.ROUTE_NAME, 0, 40u); 8050032: 2228 movs r2, #40 ; 0x28 8050034: 2100 movs r1, #0 8050036: 486f ldr r0, [pc, #444] ; (80501f4 ) 8050038: f07d f806 bl 80cd048 pardata.ROUTE_POINT = 0xffffffff; 805003c: 4b64 ldr r3, [pc, #400] ; (80501d0 ) 805003e: f04f 32ff mov.w r2, #4294967295 8050042: f8c3 24ac str.w r2, [r3, #1196] ; 0x4ac menu = ROUTE; 8050046: 4b66 ldr r3, [pc, #408] ; (80501e0 ) 8050048: 2203 movs r2, #3 805004a: 701a strb r2, [r3, #0] if(NumFilesCSV) menupos = FilesCSV; 805004c: 4b6a ldr r3, [pc, #424] ; (80501f8 ) 805004e: 681b ldr r3, [r3, #0] 8050050: 2b00 cmp r3, #0 8050052: d003 beq.n 805005c 8050054: 4b63 ldr r3, [pc, #396] ; (80501e4 ) 8050056: 2202 movs r2, #2 8050058: 701a strb r2, [r3, #0] break; 805005a: e08e b.n 805017a else menupos = NoFilesCSV; 805005c: 4b61 ldr r3, [pc, #388] ; (80501e4 ) 805005e: 2201 movs r2, #1 8050060: 701a strb r2, [r3, #0] break; 8050062: e08a b.n 805017a STATUS = AP_INVALID_FILE; 8050064: 4b60 ldr r3, [pc, #384] ; (80501e8 ) 8050066: 2202 movs r2, #2 8050068: 601a str r2, [r3, #0] timerStatus = sec2; 805006a: 4b60 ldr r3, [pc, #384] ; (80501ec ) 805006c: f44f 5280 mov.w r2, #4096 ; 0x1000 8050070: 801a strh r2, [r3, #0] DrawStatus = true; 8050072: 4b5f ldr r3, [pc, #380] ; (80501f0 ) 8050074: 2201 movs r2, #1 8050076: 701a strb r2, [r3, #0] memset((void *) &pardata.ROUTE_NAME, 0, 40u); 8050078: 2228 movs r2, #40 ; 0x28 805007a: 2100 movs r1, #0 805007c: 485d ldr r0, [pc, #372] ; (80501f4 ) 805007e: f07c ffe3 bl 80cd048 pardata.ROUTE_POINT = 0xffffffff; 8050082: 4b53 ldr r3, [pc, #332] ; (80501d0 ) 8050084: f04f 32ff mov.w r2, #4294967295 8050088: f8c3 24ac str.w r2, [r3, #1196] ; 0x4ac menu = ROUTE; 805008c: 4b54 ldr r3, [pc, #336] ; (80501e0 ) 805008e: 2203 movs r2, #3 8050090: 701a strb r2, [r3, #0] if(NumFilesCSV) menupos = FilesCSV; 8050092: 4b59 ldr r3, [pc, #356] ; (80501f8 ) 8050094: 681b ldr r3, [r3, #0] 8050096: 2b00 cmp r3, #0 8050098: d003 beq.n 80500a2 805009a: 4b52 ldr r3, [pc, #328] ; (80501e4 ) 805009c: 2202 movs r2, #2 805009e: 701a strb r2, [r3, #0] break; 80500a0: e06b b.n 805017a else menupos = NoFilesCSV; 80500a2: 4b50 ldr r3, [pc, #320] ; (80501e4 ) 80500a4: 2201 movs r2, #1 80500a6: 701a strb r2, [r3, #0] break; 80500a8: e067 b.n 805017a if(result == FR_NOT_READY) 80500aa: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 80500ae: 2b03 cmp r3, #3 80500b0: d122 bne.n 80500f8 STATUS = AP_NO_CARD; 80500b2: 4b4d ldr r3, [pc, #308] ; (80501e8 ) 80500b4: 2211 movs r2, #17 80500b6: 601a str r2, [r3, #0] timerStatus = sec2; 80500b8: 4b4c ldr r3, [pc, #304] ; (80501ec ) 80500ba: f44f 5280 mov.w r2, #4096 ; 0x1000 80500be: 801a strh r2, [r3, #0] DrawStatus = true; 80500c0: 4b4b ldr r3, [pc, #300] ; (80501f0 ) 80500c2: 2201 movs r2, #1 80500c4: 701a strb r2, [r3, #0] memset((void *) &pardata.ROUTE_NAME, 0, 40u); 80500c6: 2228 movs r2, #40 ; 0x28 80500c8: 2100 movs r1, #0 80500ca: 484a ldr r0, [pc, #296] ; (80501f4 ) 80500cc: f07c ffbc bl 80cd048 pardata.ROUTE_POINT = 0xffffffff; 80500d0: 4b3f ldr r3, [pc, #252] ; (80501d0 ) 80500d2: f04f 32ff mov.w r2, #4294967295 80500d6: f8c3 24ac str.w r2, [r3, #1196] ; 0x4ac menu = ROUTE; 80500da: 4b41 ldr r3, [pc, #260] ; (80501e0 ) 80500dc: 2203 movs r2, #3 80500de: 701a strb r2, [r3, #0] if(NumFilesCSV) menupos = FilesCSV; 80500e0: 4b45 ldr r3, [pc, #276] ; (80501f8 ) 80500e2: 681b ldr r3, [r3, #0] 80500e4: 2b00 cmp r3, #0 80500e6: d003 beq.n 80500f0 80500e8: 4b3e ldr r3, [pc, #248] ; (80501e4 ) 80500ea: 2202 movs r2, #2 80500ec: 701a strb r2, [r3, #0] break; 80500ee: e044 b.n 805017a else menupos = NoFilesCSV; 80500f0: 4b3c ldr r3, [pc, #240] ; (80501e4 ) 80500f2: 2201 movs r2, #1 80500f4: 701a strb r2, [r3, #0] break; 80500f6: e040 b.n 805017a STATUS = AP_INVALID_FILE; 80500f8: 4b3b ldr r3, [pc, #236] ; (80501e8 ) 80500fa: 2202 movs r2, #2 80500fc: 601a str r2, [r3, #0] timerStatus = sec2; 80500fe: 4b3b ldr r3, [pc, #236] ; (80501ec ) 8050100: f44f 5280 mov.w r2, #4096 ; 0x1000 8050104: 801a strh r2, [r3, #0] DrawStatus = true; 8050106: 4b3a ldr r3, [pc, #232] ; (80501f0 ) 8050108: 2201 movs r2, #1 805010a: 701a strb r2, [r3, #0] memset((void *) &pardata.ROUTE_NAME, 0, 40u); 805010c: 2228 movs r2, #40 ; 0x28 805010e: 2100 movs r1, #0 8050110: 4838 ldr r0, [pc, #224] ; (80501f4 ) 8050112: f07c ff99 bl 80cd048 pardata.ROUTE_POINT = 0xffffffff; 8050116: 4b2e ldr r3, [pc, #184] ; (80501d0 ) 8050118: f04f 32ff mov.w r2, #4294967295 805011c: f8c3 24ac str.w r2, [r3, #1196] ; 0x4ac menu = ROUTE; 8050120: 4b2f ldr r3, [pc, #188] ; (80501e0 ) 8050122: 2203 movs r2, #3 8050124: 701a strb r2, [r3, #0] if(NumFilesCSV) menupos = FilesCSV; 8050126: 4b34 ldr r3, [pc, #208] ; (80501f8 ) 8050128: 681b ldr r3, [r3, #0] 805012a: 2b00 cmp r3, #0 805012c: d003 beq.n 8050136 805012e: 4b2d ldr r3, [pc, #180] ; (80501e4 ) 8050130: 2202 movs r2, #2 8050132: 701a strb r2, [r3, #0] break; 8050134: e021 b.n 805017a else menupos = NoFilesCSV; 8050136: 4b2b ldr r3, [pc, #172] ; (80501e4 ) 8050138: 2201 movs r2, #1 805013a: 701a strb r2, [r3, #0] break; 805013c: e01d b.n 805017a case AskFormatNo: menupos = Mode; 805013e: 4b29 ldr r3, [pc, #164] ; (80501e4 ) 8050140: 2201 movs r2, #1 8050142: 701a strb r2, [r3, #0] break; 8050144: e01a b.n 805017c case AskFormatYes: STATUS = AP_OK; 8050146: 4b28 ldr r3, [pc, #160] ; (80501e8 ) 8050148: 2200 movs r2, #0 805014a: 601a str r2, [r3, #0] NeedFormat = 1; 805014c: 4b2b ldr r3, [pc, #172] ; (80501fc ) 805014e: 2201 movs r2, #1 8050150: 701a strb r2, [r3, #0] FormatStatus = AP_OK; 8050152: 4b2b ldr r3, [pc, #172] ; (8050200 ) 8050154: 2200 movs r2, #0 8050156: 701a strb r2, [r3, #0] menupos = AskFormatResult; 8050158: 4b22 ldr r3, [pc, #136] ; (80501e4 ) 805015a: 2208 movs r2, #8 805015c: 701a strb r2, [r3, #0] break; 805015e: e00d b.n 805017c case AskFormatResult: menupos = Mode; 8050160: 4b20 ldr r3, [pc, #128] ; (80501e4 ) 8050162: 2201 movs r2, #1 8050164: 701a strb r2, [r3, #0] break; 8050166: e009 b.n 805017c break; 8050168: bf00 nop 805016a: f002 bdcb b.w 8052d04 break; 805016e: bf00 nop 8050170: f002 bdc8 b.w 8052d04 break; 8050174: bf00 nop 8050176: f002 bdc5 b.w 8052d04 break; 805017a: bf00 nop } break; 805017c: f002 bdc2 b.w 8052d04 case ROUTE: //ok HISTORY = false; 8050180: 4b20 ldr r3, [pc, #128] ; (8050204 ) 8050182: 2200 movs r2, #0 8050184: 701a strb r2, [r3, #0] switch(menupos) 8050186: 4b17 ldr r3, [pc, #92] ; (80501e4 ) 8050188: 781b ldrb r3, [r3, #0] 805018a: b2db uxtb r3, r3 805018c: 3b02 subs r3, #2 805018e: 2b08 cmp r3, #8 8050190: f202 85ba bhi.w 8052d08 8050194: a201 add r2, pc, #4 ; (adr r2, 805019c ) 8050196: f852 f023 ldr.w pc, [r2, r3, lsl #2] 805019a: bf00 nop 805019c: 08050209 .word 0x08050209 80501a0: 08052d09 .word 0x08052d09 80501a4: 08052d09 .word 0x08052d09 80501a8: 08052d09 .word 0x08052d09 80501ac: 0805032b .word 0x0805032b 80501b0: 08050333 .word 0x08050333 80501b4: 08052d09 .word 0x08052d09 80501b8: 08052d09 .word 0x08052d09 80501bc: 0805034d .word 0x0805034d 80501c0: 20022628 .word 0x20022628 80501c4: 20020ea0 .word 0x20020ea0 80501c8: 64100000 .word 0x64100000 80501cc: 20020034 .word 0x20020034 80501d0: 20023e60 .word 0x20023e60 80501d4: 20020f6c .word 0x20020f6c 80501d8: 20022be0 .word 0x20022be0 80501dc: 2002437c .word 0x2002437c 80501e0: 20020f78 .word 0x20020f78 80501e4: 20020070 .word 0x20020070 80501e8: 20020dcc .word 0x20020dcc 80501ec: 2002168c .word 0x2002168c 80501f0: 20020dd2 .word 0x20020dd2 80501f4: 200242e4 .word 0x200242e4 80501f8: 20020e08 .word 0x20020e08 80501fc: 20020ddd .word 0x20020ddd 8050200: 20020dd1 .word 0x20020dd1 8050204: 20020f76 .word 0x20020f76 { case FilesCSV: memset(RouteName, 0, sizeof(RouteName)); 8050208: 2228 movs r2, #40 ; 0x28 805020a: 2100 movs r1, #0 805020c: 48a1 ldr r0, [pc, #644] ; (8050494 ) 805020e: f07c ff1b bl 80cd048 strcpy(RouteName, (char *) ExplorerFiles[CursorIndex].fname); 8050212: 4ba1 ldr r3, [pc, #644] ; (8050498 ) 8050214: 681a ldr r2, [r3, #0] 8050216: 4613 mov r3, r2 8050218: 00db lsls r3, r3, #3 805021a: 1a9b subs r3, r3, r2 805021c: 00db lsls r3, r3, #3 805021e: 3308 adds r3, #8 8050220: 4a9e ldr r2, [pc, #632] ; (805049c ) 8050222: 4413 add r3, r2 8050224: 3304 adds r3, #4 8050226: 4619 mov r1, r3 8050228: 489a ldr r0, [pc, #616] ; (8050494 ) 805022a: f07d f82a bl 80cd282 memset((void *) &RouteMeas(0), 0, 65536); 805022e: f44f 3280 mov.w r2, #65536 ; 0x10000 8050232: 2100 movs r1, #0 8050234: 489a ldr r0, [pc, #616] ; (80504a0 ) 8050236: f07c ff07 bl 80cd048 RoutePointID = 0xffffffff; 805023a: 4b9a ldr r3, [pc, #616] ; (80504a4 ) 805023c: f04f 32ff mov.w r2, #4294967295 8050240: 601a str r2, [r3, #0] // ÷èòàåì êîë-âî èçìåðåíèé â ìàðøðóòå result = OpenFileCSV(RouteName); //êîë-âî òî÷åê â ìàðøðóòå 8050242: 4894 ldr r0, [pc, #592] ; (8050494 ) 8050244: f7d7 ff4e bl 80280e4 8050248: 4603 mov r3, r0 805024a: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 805024e: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 8050252: 2b00 cmp r3, #0 8050254: d14f bne.n 80502f6 { result = ReadFileCSV_TMP(RouteName); //ôàéë ñ òàáëèöåé èçìåðåííûõ òî÷åê òåêóùåãî ìàðøðóòà è òåêóùåé òî÷êè 8050256: 488f ldr r0, [pc, #572] ; (8050494 ) 8050258: f7d8 f8a2 bl 80283a0 805025c: 4603 mov r3, r0 805025e: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 8050262: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 8050266: 2b00 cmp r3, #0 8050268: d13a bne.n 80502e0 { result = GetRoutePath(RouteIndex, RouteName); 805026a: 4b8f ldr r3, [pc, #572] ; (80504a8 ) 805026c: 681b ldr r3, [r3, #0] 805026e: 4989 ldr r1, [pc, #548] ; (8050494 ) 8050270: 4618 mov r0, r3 8050272: f7d8 fb6d bl 8028950 8050276: 4603 mov r3, r0 8050278: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 805027c: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 8050280: 2b00 cmp r3, #0 8050282: d122 bne.n 80502ca { if(RoutePath[0]) 8050284: 4b89 ldr r3, [pc, #548] ; (80504ac ) 8050286: 781b ldrb r3, [r3, #0] 8050288: 2b00 cmp r3, #0 805028a: f000 809a beq.w 80503c2 { memcpy((void *) &pardata_old, (void *) &pardata, sizeof(pardata)); 805028e: 4a88 ldr r2, [pc, #544] ; (80504b0 ) 8050290: 4b88 ldr r3, [pc, #544] ; (80504b4 ) 8050292: 4610 mov r0, r2 8050294: 4619 mov r1, r3 8050296: f44f 6396 mov.w r3, #1200 ; 0x4b0 805029a: 461a mov r2, r3 805029c: f07c fec9 bl 80cd032 pardata.SYG = WAVE; 80502a0: 4b84 ldr r3, [pc, #528] ; (80504b4 ) 80502a2: 2204 movs r2, #4 80502a4: 701a strb r2, [r3, #0] pardata.IVS[ACC] = PEAK; 80502a6: 4b83 ldr r3, [pc, #524] ; (80504b4 ) 80502a8: 2200 movs r2, #0 80502aa: 709a strb r2, [r3, #2] pardata.THR &= ~BIT7; 80502ac: 4b81 ldr r3, [pc, #516] ; (80504b4 ) 80502ae: 7bdb ldrb r3, [r3, #15] 80502b0: b2db uxtb r3, r3 80502b2: f003 037f and.w r3, r3, #127 ; 0x7f 80502b6: b2da uxtb r2, r3 80502b8: 4b7e ldr r3, [pc, #504] ; (80504b4 ) 80502ba: 73da strb r2, [r3, #15] menu = ROUTE_MAP; 80502bc: 4b7e ldr r3, [pc, #504] ; (80504b8 ) 80502be: 2204 movs r2, #4 80502c0: 701a strb r2, [r3, #0] menupos = GoMeas; 80502c2: 4b7e ldr r3, [pc, #504] ; (80504bc ) 80502c4: 2201 movs r2, #1 80502c6: 701a strb r2, [r3, #0] { STATUS = AP_INVALID_FILE; timerStatus = sec2; DrawStatus = true; } break; 80502c8: e07b b.n 80503c2 STATUS = AP_INVALID_FILE; 80502ca: 4b7d ldr r3, [pc, #500] ; (80504c0 ) 80502cc: 2202 movs r2, #2 80502ce: 601a str r2, [r3, #0] timerStatus = sec2; 80502d0: 4b7c ldr r3, [pc, #496] ; (80504c4 ) 80502d2: f44f 5280 mov.w r2, #4096 ; 0x1000 80502d6: 801a strh r2, [r3, #0] DrawStatus = true; 80502d8: 4b7b ldr r3, [pc, #492] ; (80504c8 ) 80502da: 2201 movs r2, #1 80502dc: 701a strb r2, [r3, #0] break; 80502de: e070 b.n 80503c2 STATUS = AP_INVALID_FILE; 80502e0: 4b77 ldr r3, [pc, #476] ; (80504c0 ) 80502e2: 2202 movs r2, #2 80502e4: 601a str r2, [r3, #0] timerStatus = sec2; 80502e6: 4b77 ldr r3, [pc, #476] ; (80504c4 ) 80502e8: f44f 5280 mov.w r2, #4096 ; 0x1000 80502ec: 801a strh r2, [r3, #0] DrawStatus = true; 80502ee: 4b76 ldr r3, [pc, #472] ; (80504c8 ) 80502f0: 2201 movs r2, #1 80502f2: 701a strb r2, [r3, #0] break; 80502f4: e065 b.n 80503c2 if(result == FR_NOT_READY) 80502f6: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 80502fa: 2b03 cmp r3, #3 80502fc: d10a bne.n 8050314 STATUS = AP_NO_CARD; 80502fe: 4b70 ldr r3, [pc, #448] ; (80504c0 ) 8050300: 2211 movs r2, #17 8050302: 601a str r2, [r3, #0] timerStatus = sec2; 8050304: 4b6f ldr r3, [pc, #444] ; (80504c4 ) 8050306: f44f 5280 mov.w r2, #4096 ; 0x1000 805030a: 801a strh r2, [r3, #0] DrawStatus = true; 805030c: 4b6e ldr r3, [pc, #440] ; (80504c8 ) 805030e: 2201 movs r2, #1 8050310: 701a strb r2, [r3, #0] break; 8050312: e056 b.n 80503c2 STATUS = AP_INVALID_FILE; 8050314: 4b6a ldr r3, [pc, #424] ; (80504c0 ) 8050316: 2202 movs r2, #2 8050318: 601a str r2, [r3, #0] timerStatus = sec2; 805031a: 4b6a ldr r3, [pc, #424] ; (80504c4 ) 805031c: f44f 5280 mov.w r2, #4096 ; 0x1000 8050320: 801a strh r2, [r3, #0] DrawStatus = true; 8050322: 4b69 ldr r3, [pc, #420] ; (80504c8 ) 8050324: 2201 movs r2, #1 8050326: 701a strb r2, [r3, #0] break; 8050328: e04b b.n 80503c2 case UpNo: menupos = FilesCSV; 805032a: 4b64 ldr r3, [pc, #400] ; (80504bc ) 805032c: 2202 movs r2, #2 805032e: 701a strb r2, [r3, #0] break; 8050330: e04b b.n 80503ca case UpYes: STATUS = AP_OK; 8050332: 4b63 ldr r3, [pc, #396] ; (80504c0 ) 8050334: 2200 movs r2, #0 8050336: 601a str r2, [r3, #0] CleanStatus = AP_OK; 8050338: 4b64 ldr r3, [pc, #400] ; (80504cc ) 805033a: 2200 movs r2, #0 805033c: 701a strb r2, [r3, #0] NeedClean = 3; 805033e: 4b64 ldr r3, [pc, #400] ; (80504d0 ) 8050340: 2203 movs r2, #3 8050342: 701a strb r2, [r3, #0] menupos = CleanUpResult; 8050344: 4b5d ldr r3, [pc, #372] ; (80504bc ) 8050346: 220a movs r2, #10 8050348: 701a strb r2, [r3, #0] break; 805034a: e03e b.n 80503ca case CleanUpResult: if(NeedClean == 0) 805034c: 4b60 ldr r3, [pc, #384] ; (80504d0 ) 805034e: 781b ldrb r3, [r3, #0] 8050350: b2db uxtb r3, r3 8050352: 2b00 cmp r3, #0 8050354: d138 bne.n 80503c8 { result = FR_NOT_READY; 8050356: 2303 movs r3, #3 8050358: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(CardState == MSD_READY) 805035c: 4b5d ldr r3, [pc, #372] ; (80504d4 ) 805035e: 781b ldrb r3, [r3, #0] 8050360: b2db uxtb r3, r3 8050362: 2b03 cmp r3, #3 8050364: d130 bne.n 80503c8 { CursorIndex = 0; 8050366: 4b4c ldr r3, [pc, #304] ; (8050498 ) 8050368: 2200 movs r2, #0 805036a: 601a str r2, [r3, #0] FirstFileIndex = 0; 805036c: 4b5a ldr r3, [pc, #360] ; (80504d8 ) 805036e: 2200 movs r2, #0 8050370: 601a str r2, [r3, #0] RealFileIndex = 0; 8050372: 4b5a ldr r3, [pc, #360] ; (80504dc ) 8050374: 2200 movs r2, #0 8050376: 601a str r2, [r3, #0] result = ReadNumFilesCSV((uint32_t *) &NumFilesCSV); 8050378: 4859 ldr r0, [pc, #356] ; (80504e0 ) 805037a: f7da fb5b bl 802aa34 805037e: 4603 mov r3, r0 8050380: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 8050384: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 8050388: 2b00 cmp r3, #0 805038a: d11d bne.n 80503c8 { result = ReadMyFilesCSV(FirstFileIndex); 805038c: 4b52 ldr r3, [pc, #328] ; (80504d8 ) 805038e: 681b ldr r3, [r3, #0] 8050390: 4618 mov r0, r3 8050392: f7da fbee bl 802ab72 8050396: 4603 mov r3, r0 8050398: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 805039c: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 80503a0: 2b00 cmp r3, #0 80503a2: d111 bne.n 80503c8 { menu = ROUTE; 80503a4: 4b44 ldr r3, [pc, #272] ; (80504b8 ) 80503a6: 2203 movs r2, #3 80503a8: 701a strb r2, [r3, #0] if(NumFilesCSV) menupos = FilesCSV; 80503aa: 4b4d ldr r3, [pc, #308] ; (80504e0 ) 80503ac: 681b ldr r3, [r3, #0] 80503ae: 2b00 cmp r3, #0 80503b0: d003 beq.n 80503ba 80503b2: 4b42 ldr r3, [pc, #264] ; (80504bc ) 80503b4: 2202 movs r2, #2 80503b6: 701a strb r2, [r3, #0] else menupos = NoFilesCSV; } } } } break; 80503b8: e006 b.n 80503c8 else menupos = NoFilesCSV; 80503ba: 4b40 ldr r3, [pc, #256] ; (80504bc ) 80503bc: 2201 movs r2, #1 80503be: 701a strb r2, [r3, #0] break; 80503c0: e002 b.n 80503c8 break; 80503c2: bf00 nop 80503c4: f002 bca0 b.w 8052d08 break; 80503c8: bf00 nop } break; 80503ca: f002 bc9d b.w 8052d08 case ROUTE_MAP: //OK switch(menupos) 80503ce: 4b3b ldr r3, [pc, #236] ; (80504bc ) 80503d0: 781b ldrb r3, [r3, #0] 80503d2: b2db uxtb r3, r3 80503d4: 2b0e cmp r3, #14 80503d6: f202 8499 bhi.w 8052d0c 80503da: a201 add r2, pc, #4 ; (adr r2, 80503e0 ) 80503dc: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80503e0: 0805041d .word 0x0805041d 80503e4: 08050861 .word 0x08050861 80503e8: 08050553 .word 0x08050553 80503ec: 080507bd .word 0x080507bd 80503f0: 080507ef .word 0x080507ef 80503f4: 0805080f .word 0x0805080f 80503f8: 08050851 .word 0x08050851 80503fc: 08050859 .word 0x08050859 8050400: 08050859 .word 0x08050859 8050404: 08050859 .word 0x08050859 8050408: 08050859 .word 0x08050859 805040c: 08050859 .word 0x08050859 8050410: 08050859 .word 0x08050859 8050414: 0805064d .word 0x0805064d 8050418: 080505d7 .word 0x080505d7 { case PrevPoint: if(RouteIndex > 0) 805041c: 4b22 ldr r3, [pc, #136] ; (80504a8 ) 805041e: 681b ldr r3, [r3, #0] 8050420: 2b00 cmp r3, #0 8050422: d05f beq.n 80504e4 { oldIndex = RouteIndex; 8050424: 4b20 ldr r3, [pc, #128] ; (80504a8 ) 8050426: 681b ldr r3, [r3, #0] 8050428: 677b str r3, [r7, #116] ; 0x74 RouteIndex--; 805042a: 4b1f ldr r3, [pc, #124] ; (80504a8 ) 805042c: 681b ldr r3, [r3, #0] 805042e: 3b01 subs r3, #1 8050430: 4a1d ldr r2, [pc, #116] ; (80504a8 ) 8050432: 6013 str r3, [r2, #0] result = GetRoutePath(RouteIndex, RouteName); 8050434: 4b1c ldr r3, [pc, #112] ; (80504a8 ) 8050436: 681b ldr r3, [r3, #0] 8050438: 4916 ldr r1, [pc, #88] ; (8050494 ) 805043a: 4618 mov r0, r3 805043c: f7d8 fa88 bl 8028950 8050440: 4603 mov r3, r0 8050442: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 8050446: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 805044a: 2b00 cmp r3, #0 805044c: d113 bne.n 8050476 { if(RoutePath[0]) 805044e: 4b17 ldr r3, [pc, #92] ; (80504ac ) 8050450: 781b ldrb r3, [r3, #0] 8050452: 2b00 cmp r3, #0 8050454: f000 8216 beq.w 8050884 { pardata.SYG = WAVE; 8050458: 4b16 ldr r3, [pc, #88] ; (80504b4 ) 805045a: 2204 movs r2, #4 805045c: 701a strb r2, [r3, #0] pardata.IVS[ACC] = PEAK; 805045e: 4b15 ldr r3, [pc, #84] ; (80504b4 ) 8050460: 2200 movs r2, #0 8050462: 709a strb r2, [r3, #2] pardata.THR &= ~BIT7; 8050464: 4b13 ldr r3, [pc, #76] ; (80504b4 ) 8050466: 7bdb ldrb r3, [r3, #15] 8050468: b2db uxtb r3, r3 805046a: f003 037f and.w r3, r3, #127 ; 0x7f 805046e: b2da uxtb r2, r3 8050470: 4b10 ldr r3, [pc, #64] ; (80504b4 ) 8050472: 73da strb r2, [r3, #15] STATUS = AP_INVALID_FILE; timerStatus = sec2; DrawStatus = true; } } break; 8050474: e206 b.n 8050884 RouteIndex = oldIndex; 8050476: 4a0c ldr r2, [pc, #48] ; (80504a8 ) 8050478: 6f7b ldr r3, [r7, #116] ; 0x74 805047a: 6013 str r3, [r2, #0] STATUS = AP_INVALID_FILE; 805047c: 4b10 ldr r3, [pc, #64] ; (80504c0 ) 805047e: 2202 movs r2, #2 8050480: 601a str r2, [r3, #0] timerStatus = sec2; 8050482: 4b10 ldr r3, [pc, #64] ; (80504c4 ) 8050484: f44f 5280 mov.w r2, #4096 ; 0x1000 8050488: 801a strh r2, [r3, #0] DrawStatus = true; 805048a: 4b0f ldr r3, [pc, #60] ; (80504c8 ) 805048c: 2201 movs r2, #1 805048e: 701a strb r2, [r3, #0] break; 8050490: e1f8 b.n 8050884 8050492: bf00 nop 8050494: 20022628 .word 0x20022628 8050498: 20020de0 .word 0x20020de0 805049c: 20022350 .word 0x20022350 80504a0: 64100000 .word 0x64100000 80504a4: 20020034 .word 0x20020034 80504a8: 20020f6c .word 0x20020f6c 80504ac: 20022be0 .word 0x20022be0 80504b0: 2002437c .word 0x2002437c 80504b4: 20023e60 .word 0x20023e60 80504b8: 20020f78 .word 0x20020f78 80504bc: 20020070 .word 0x20020070 80504c0: 20020dcc .word 0x20020dcc 80504c4: 2002168c .word 0x2002168c 80504c8: 20020dd2 .word 0x20020dd2 80504cc: 20020dd0 .word 0x20020dd0 80504d0: 20020ddc .word 0x20020ddc 80504d4: 2002164c .word 0x2002164c 80504d8: 20020de4 .word 0x20020de4 80504dc: 20020de8 .word 0x20020de8 80504e0: 20020e08 .word 0x20020e08 oldIndex = RouteIndex; 80504e4: 4ba9 ldr r3, [pc, #676] ; (805078c ) 80504e6: 681b ldr r3, [r3, #0] 80504e8: 677b str r3, [r7, #116] ; 0x74 RouteIndex = MaxRouteIndex - 1; 80504ea: 4ba9 ldr r3, [pc, #676] ; (8050790 ) 80504ec: 681b ldr r3, [r3, #0] 80504ee: 3b01 subs r3, #1 80504f0: 4aa6 ldr r2, [pc, #664] ; (805078c ) 80504f2: 6013 str r3, [r2, #0] result = GetRoutePath(RouteIndex, RouteName); 80504f4: 4ba5 ldr r3, [pc, #660] ; (805078c ) 80504f6: 681b ldr r3, [r3, #0] 80504f8: 49a6 ldr r1, [pc, #664] ; (8050794 ) 80504fa: 4618 mov r0, r3 80504fc: f7d8 fa28 bl 8028950 8050500: 4603 mov r3, r0 8050502: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 8050506: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 805050a: 2b00 cmp r3, #0 805050c: d113 bne.n 8050536 if(RoutePath[0]) 805050e: 4ba2 ldr r3, [pc, #648] ; (8050798 ) 8050510: 781b ldrb r3, [r3, #0] 8050512: 2b00 cmp r3, #0 8050514: f000 81b6 beq.w 8050884 pardata.SYG = WAVE; 8050518: 4ba0 ldr r3, [pc, #640] ; (805079c ) 805051a: 2204 movs r2, #4 805051c: 701a strb r2, [r3, #0] pardata.IVS[ACC] = PEAK; 805051e: 4b9f ldr r3, [pc, #636] ; (805079c ) 8050520: 2200 movs r2, #0 8050522: 709a strb r2, [r3, #2] pardata.THR &= ~BIT7; 8050524: 4b9d ldr r3, [pc, #628] ; (805079c ) 8050526: 7bdb ldrb r3, [r3, #15] 8050528: b2db uxtb r3, r3 805052a: f003 037f and.w r3, r3, #127 ; 0x7f 805052e: b2da uxtb r2, r3 8050530: 4b9a ldr r3, [pc, #616] ; (805079c ) 8050532: 73da strb r2, [r3, #15] break; 8050534: e1a6 b.n 8050884 RouteIndex = oldIndex; 8050536: 4a95 ldr r2, [pc, #596] ; (805078c ) 8050538: 6f7b ldr r3, [r7, #116] ; 0x74 805053a: 6013 str r3, [r2, #0] STATUS = AP_INVALID_FILE; 805053c: 4b98 ldr r3, [pc, #608] ; (80507a0 ) 805053e: 2202 movs r2, #2 8050540: 601a str r2, [r3, #0] timerStatus = sec2; 8050542: 4b98 ldr r3, [pc, #608] ; (80507a4 ) 8050544: f44f 5280 mov.w r2, #4096 ; 0x1000 8050548: 801a strh r2, [r3, #0] DrawStatus = true; 805054a: 4b97 ldr r3, [pc, #604] ; (80507a8 ) 805054c: 2201 movs r2, #1 805054e: 701a strb r2, [r3, #0] break; 8050550: e198 b.n 8050884 case NextPoint: if((RouteIndex + 1) < MaxRouteIndex) 8050552: 4b8e ldr r3, [pc, #568] ; (805078c ) 8050554: 681b ldr r3, [r3, #0] 8050556: 1c5a adds r2, r3, #1 8050558: 4b8d ldr r3, [pc, #564] ; (8050790 ) 805055a: 681b ldr r3, [r3, #0] 805055c: 429a cmp r2, r3 805055e: d236 bcs.n 80505ce { oldIndex = RouteIndex; 8050560: 4b8a ldr r3, [pc, #552] ; (805078c ) 8050562: 681b ldr r3, [r3, #0] 8050564: 677b str r3, [r7, #116] ; 0x74 RouteIndex++; 8050566: 4b89 ldr r3, [pc, #548] ; (805078c ) 8050568: 681b ldr r3, [r3, #0] 805056a: 3301 adds r3, #1 805056c: 4a87 ldr r2, [pc, #540] ; (805078c ) 805056e: 6013 str r3, [r2, #0] result = GetRoutePath(RouteIndex, RouteName); 8050570: 4b86 ldr r3, [pc, #536] ; (805078c ) 8050572: 681b ldr r3, [r3, #0] 8050574: 4987 ldr r1, [pc, #540] ; (8050794 ) 8050576: 4618 mov r0, r3 8050578: f7d8 f9ea bl 8028950 805057c: 4603 mov r3, r0 805057e: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 8050582: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 8050586: 2b00 cmp r3, #0 8050588: d113 bne.n 80505b2 { if(RoutePath[0]) 805058a: 4b83 ldr r3, [pc, #524] ; (8050798 ) 805058c: 781b ldrb r3, [r3, #0] 805058e: 2b00 cmp r3, #0 8050590: f000 817b beq.w 805088a { pardata.SYG = WAVE; 8050594: 4b81 ldr r3, [pc, #516] ; (805079c ) 8050596: 2204 movs r2, #4 8050598: 701a strb r2, [r3, #0] pardata.IVS[ACC] = PEAK; 805059a: 4b80 ldr r3, [pc, #512] ; (805079c ) 805059c: 2200 movs r2, #0 805059e: 709a strb r2, [r3, #2] pardata.THR &= ~BIT7; 80505a0: 4b7e ldr r3, [pc, #504] ; (805079c ) 80505a2: 7bdb ldrb r3, [r3, #15] 80505a4: b2db uxtb r3, r3 80505a6: f003 037f and.w r3, r3, #127 ; 0x7f 80505aa: b2da uxtb r2, r3 80505ac: 4b7b ldr r3, [pc, #492] ; (805079c ) 80505ae: 73da strb r2, [r3, #15] STATUS = AP_INVALID_FILE; timerStatus = sec2; DrawStatus = true; }*/ } break; 80505b0: e16b b.n 805088a RouteIndex = oldIndex; 80505b2: 4a76 ldr r2, [pc, #472] ; (805078c ) 80505b4: 6f7b ldr r3, [r7, #116] ; 0x74 80505b6: 6013 str r3, [r2, #0] STATUS = AP_INVALID_FILE; 80505b8: 4b79 ldr r3, [pc, #484] ; (80507a0 ) 80505ba: 2202 movs r2, #2 80505bc: 601a str r2, [r3, #0] timerStatus = sec2; 80505be: 4b79 ldr r3, [pc, #484] ; (80507a4 ) 80505c0: f44f 5280 mov.w r2, #4096 ; 0x1000 80505c4: 801a strh r2, [r3, #0] DrawStatus = true; 80505c6: 4b78 ldr r3, [pc, #480] ; (80507a8 ) 80505c8: 2201 movs r2, #1 80505ca: 701a strb r2, [r3, #0] break; 80505cc: e15d b.n 805088a menupos = RouteNullNo; 80505ce: 4b77 ldr r3, [pc, #476] ; (80507ac ) 80505d0: 220e movs r2, #14 80505d2: 701a strb r2, [r3, #0] break; 80505d4: e159 b.n 805088a case RouteNullNo: menupos = NextPoint; 80505d6: 4b75 ldr r3, [pc, #468] ; (80507ac ) 80505d8: 2202 movs r2, #2 80505da: 701a strb r2, [r3, #0] oldIndex = RouteIndex; 80505dc: 4b6b ldr r3, [pc, #428] ; (805078c ) 80505de: 681b ldr r3, [r3, #0] 80505e0: 677b str r3, [r7, #116] ; 0x74 RouteIndex = 0; 80505e2: 4b6a ldr r3, [pc, #424] ; (805078c ) 80505e4: 2200 movs r2, #0 80505e6: 601a str r2, [r3, #0] result = GetRoutePath(RouteIndex, RouteName); 80505e8: 4b68 ldr r3, [pc, #416] ; (805078c ) 80505ea: 681b ldr r3, [r3, #0] 80505ec: 4969 ldr r1, [pc, #420] ; (8050794 ) 80505ee: 4618 mov r0, r3 80505f0: f7d8 f9ae bl 8028950 80505f4: 4603 mov r3, r0 80505f6: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 80505fa: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 80505fe: 2b00 cmp r3, #0 8050600: d113 bne.n 805062a { if(RoutePath[0]) 8050602: 4b65 ldr r3, [pc, #404] ; (8050798 ) 8050604: 781b ldrb r3, [r3, #0] 8050606: 2b00 cmp r3, #0 8050608: f000 8142 beq.w 8050890 { pardata.SYG = WAVE; 805060c: 4b63 ldr r3, [pc, #396] ; (805079c ) 805060e: 2204 movs r2, #4 8050610: 701a strb r2, [r3, #0] pardata.IVS[ACC] = PEAK; 8050612: 4b62 ldr r3, [pc, #392] ; (805079c ) 8050614: 2200 movs r2, #0 8050616: 709a strb r2, [r3, #2] pardata.THR &= ~BIT7; 8050618: 4b60 ldr r3, [pc, #384] ; (805079c ) 805061a: 7bdb ldrb r3, [r3, #15] 805061c: b2db uxtb r3, r3 805061e: f003 037f and.w r3, r3, #127 ; 0x7f 8050622: b2da uxtb r2, r3 8050624: 4b5d ldr r3, [pc, #372] ; (805079c ) 8050626: 73da strb r2, [r3, #15] STATUS = AP_INVALID_FILE; timerStatus = sec2; DrawStatus = true; } break; 8050628: e132 b.n 8050890 RouteIndex = oldIndex; 805062a: 4a58 ldr r2, [pc, #352] ; (805078c ) 805062c: 6f7b ldr r3, [r7, #116] ; 0x74 805062e: 6013 str r3, [r2, #0] menupos = NextPoint; 8050630: 4b5e ldr r3, [pc, #376] ; (80507ac ) 8050632: 2202 movs r2, #2 8050634: 701a strb r2, [r3, #0] STATUS = AP_INVALID_FILE; 8050636: 4b5a ldr r3, [pc, #360] ; (80507a0 ) 8050638: 2202 movs r2, #2 805063a: 601a str r2, [r3, #0] timerStatus = sec2; 805063c: 4b59 ldr r3, [pc, #356] ; (80507a4 ) 805063e: f44f 5280 mov.w r2, #4096 ; 0x1000 8050642: 801a strh r2, [r3, #0] DrawStatus = true; 8050644: 4b58 ldr r3, [pc, #352] ; (80507a8 ) 8050646: 2201 movs r2, #1 8050648: 701a strb r2, [r3, #0] break; 805064a: e121 b.n 8050890 case RouteNullYes: result = ReadFileCSV_TMP(RouteName); 805064c: 4851 ldr r0, [pc, #324] ; (8050794 ) 805064e: f7d7 fea7 bl 80283a0 8050652: 4603 mov r3, r0 8050654: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 8050658: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 805065c: 2b00 cmp r3, #0 805065e: f040 808a bne.w 8050776 { memset((void *) &RouteMeas(0), 0, 65536); 8050662: f44f 3280 mov.w r2, #65536 ; 0x10000 8050666: 2100 movs r1, #0 8050668: 4851 ldr r0, [pc, #324] ; (80507b0 ) 805066a: f07c fced bl 80cd048 result = WriteFileCSV_TMP(RouteName); 805066e: 4849 ldr r0, [pc, #292] ; (8050794 ) 8050670: f7d8 f85e bl 8028730 8050674: 4603 mov r3, r0 8050676: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 805067a: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 805067e: 2b00 cmp r3, #0 8050680: d16e bne.n 8050760 { RoutePointID = 0xffffffff; 8050682: 4b4c ldr r3, [pc, #304] ; (80507b4 ) 8050684: f04f 32ff mov.w r2, #4294967295 8050688: 601a str r2, [r3, #0] // ÷èòàåì êîë-âî èçìåðåíèé â ìàðøðóòå result = OpenFileCSV(RouteName); //êîë-âî òî÷åê â ìàðøðóòå 805068a: 4842 ldr r0, [pc, #264] ; (8050794 ) 805068c: f7d7 fd2a bl 80280e4 8050690: 4603 mov r3, r0 8050692: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 8050696: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 805069a: 2b00 cmp r3, #0 805069c: d146 bne.n 805072c { result = ReadFileCSV_TMP(RouteName); //ôàéë ñ òàáëèöåé èçìåðåííûõ òî÷åê òåêóùåãî ìàðøðóòà è òåêóùåé òî÷êè 805069e: 483d ldr r0, [pc, #244] ; (8050794 ) 80506a0: f7d7 fe7e bl 80283a0 80506a4: 4603 mov r3, r0 80506a6: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 80506aa: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 80506ae: 2b00 cmp r3, #0 80506b0: d131 bne.n 8050716 { result = GetRoutePath(RouteIndex, RouteName); 80506b2: 4b36 ldr r3, [pc, #216] ; (805078c ) 80506b4: 681b ldr r3, [r3, #0] 80506b6: 4937 ldr r1, [pc, #220] ; (8050794 ) 80506b8: 4618 mov r0, r3 80506ba: f7d8 f949 bl 8028950 80506be: 4603 mov r3, r0 80506c0: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 80506c4: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 80506c8: 2b00 cmp r3, #0 80506ca: d119 bne.n 8050700 { if(RoutePath[0]) 80506cc: 4b32 ldr r3, [pc, #200] ; (8050798 ) 80506ce: 781b ldrb r3, [r3, #0] 80506d0: 2b00 cmp r3, #0 80506d2: f000 80e0 beq.w 8050896 { pardata.SYG = WAVE; 80506d6: 4b31 ldr r3, [pc, #196] ; (805079c ) 80506d8: 2204 movs r2, #4 80506da: 701a strb r2, [r3, #0] pardata.IVS[ACC] = PEAK; 80506dc: 4b2f ldr r3, [pc, #188] ; (805079c ) 80506de: 2200 movs r2, #0 80506e0: 709a strb r2, [r3, #2] pardata.THR &= ~BIT7; 80506e2: 4b2e ldr r3, [pc, #184] ; (805079c ) 80506e4: 7bdb ldrb r3, [r3, #15] 80506e6: b2db uxtb r3, r3 80506e8: f003 037f and.w r3, r3, #127 ; 0x7f 80506ec: b2da uxtb r2, r3 80506ee: 4b2b ldr r3, [pc, #172] ; (805079c ) 80506f0: 73da strb r2, [r3, #15] menu = ROUTE_MAP; 80506f2: 4b31 ldr r3, [pc, #196] ; (80507b8 ) 80506f4: 2204 movs r2, #4 80506f6: 701a strb r2, [r3, #0] menupos = GoMeas; 80506f8: 4b2c ldr r3, [pc, #176] ; (80507ac ) 80506fa: 2201 movs r2, #1 80506fc: 701a strb r2, [r3, #0] } break; 80506fe: e0ca b.n 8050896 STATUS = AP_INVALID_FILE; 8050700: 4b27 ldr r3, [pc, #156] ; (80507a0 ) 8050702: 2202 movs r2, #2 8050704: 601a str r2, [r3, #0] timerStatus = sec2; 8050706: 4b27 ldr r3, [pc, #156] ; (80507a4 ) 8050708: f44f 5280 mov.w r2, #4096 ; 0x1000 805070c: 801a strh r2, [r3, #0] DrawStatus = true; 805070e: 4b26 ldr r3, [pc, #152] ; (80507a8 ) 8050710: 2201 movs r2, #1 8050712: 701a strb r2, [r3, #0] break; 8050714: e0bf b.n 8050896 STATUS = AP_INVALID_FILE; 8050716: 4b22 ldr r3, [pc, #136] ; (80507a0 ) 8050718: 2202 movs r2, #2 805071a: 601a str r2, [r3, #0] timerStatus = sec2; 805071c: 4b21 ldr r3, [pc, #132] ; (80507a4 ) 805071e: f44f 5280 mov.w r2, #4096 ; 0x1000 8050722: 801a strh r2, [r3, #0] DrawStatus = true; 8050724: 4b20 ldr r3, [pc, #128] ; (80507a8 ) 8050726: 2201 movs r2, #1 8050728: 701a strb r2, [r3, #0] break; 805072a: e0b4 b.n 8050896 if(result == FR_NOT_READY) 805072c: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 8050730: 2b03 cmp r3, #3 8050732: d10a bne.n 805074a STATUS = AP_NO_CARD; 8050734: 4b1a ldr r3, [pc, #104] ; (80507a0 ) 8050736: 2211 movs r2, #17 8050738: 601a str r2, [r3, #0] timerStatus = sec2; 805073a: 4b1a ldr r3, [pc, #104] ; (80507a4 ) 805073c: f44f 5280 mov.w r2, #4096 ; 0x1000 8050740: 801a strh r2, [r3, #0] DrawStatus = true; 8050742: 4b19 ldr r3, [pc, #100] ; (80507a8 ) 8050744: 2201 movs r2, #1 8050746: 701a strb r2, [r3, #0] break; 8050748: e0a5 b.n 8050896 STATUS = AP_INVALID_FILE; 805074a: 4b15 ldr r3, [pc, #84] ; (80507a0 ) 805074c: 2202 movs r2, #2 805074e: 601a str r2, [r3, #0] timerStatus = sec2; 8050750: 4b14 ldr r3, [pc, #80] ; (80507a4 ) 8050752: f44f 5280 mov.w r2, #4096 ; 0x1000 8050756: 801a strh r2, [r3, #0] DrawStatus = true; 8050758: 4b13 ldr r3, [pc, #76] ; (80507a8 ) 805075a: 2201 movs r2, #1 805075c: 701a strb r2, [r3, #0] break; 805075e: e09a b.n 8050896 STATUS = AP_INVALID_FILE; 8050760: 4b0f ldr r3, [pc, #60] ; (80507a0 ) 8050762: 2202 movs r2, #2 8050764: 601a str r2, [r3, #0] timerStatus = sec2; 8050766: 4b0f ldr r3, [pc, #60] ; (80507a4 ) 8050768: f44f 5280 mov.w r2, #4096 ; 0x1000 805076c: 801a strh r2, [r3, #0] DrawStatus = true; 805076e: 4b0e ldr r3, [pc, #56] ; (80507a8 ) 8050770: 2201 movs r2, #1 8050772: 701a strb r2, [r3, #0] break; 8050774: e08f b.n 8050896 STATUS = AP_INVALID_FILE; 8050776: 4b0a ldr r3, [pc, #40] ; (80507a0 ) 8050778: 2202 movs r2, #2 805077a: 601a str r2, [r3, #0] timerStatus = sec2; 805077c: 4b09 ldr r3, [pc, #36] ; (80507a4 ) 805077e: f44f 5280 mov.w r2, #4096 ; 0x1000 8050782: 801a strh r2, [r3, #0] DrawStatus = true; 8050784: 4b08 ldr r3, [pc, #32] ; (80507a8 ) 8050786: 2201 movs r2, #1 8050788: 701a strb r2, [r3, #0] break; 805078a: e084 b.n 8050896 805078c: 20020f6c .word 0x20020f6c 8050790: 20020f70 .word 0x20020f70 8050794: 20022628 .word 0x20022628 8050798: 20022be0 .word 0x20022be0 805079c: 20023e60 .word 0x20023e60 80507a0: 20020dcc .word 0x20020dcc 80507a4: 2002168c .word 0x2002168c 80507a8: 20020dd2 .word 0x20020dd2 80507ac: 20020070 .word 0x20020070 80507b0: 64100000 .word 0x64100000 80507b4: 20020034 .word 0x20020034 80507b8: 20020f78 .word 0x20020f78 case RouteTacho: if(pardata.OPTIONS & BIT7) 80507bc: 4bb1 ldr r3, [pc, #708] ; (8050a84 ) 80507be: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80507c2: f003 0380 and.w r3, r3, #128 ; 0x80 80507c6: 2b00 cmp r3, #0 80507c8: d008 beq.n 80507dc pardata.OPTIONS &= ~BIT7; 80507ca: 4bae ldr r3, [pc, #696] ; (8050a84 ) 80507cc: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80507d0: f023 0380 bic.w r3, r3, #128 ; 0x80 80507d4: 4aab ldr r2, [pc, #684] ; (8050a84 ) 80507d6: f8c2 3098 str.w r3, [r2, #152] ; 0x98 else pardata.OPTIONS |= BIT7; break; 80507da: e05d b.n 8050898 else pardata.OPTIONS |= BIT7; 80507dc: 4ba9 ldr r3, [pc, #676] ; (8050a84 ) 80507de: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80507e2: f043 0380 orr.w r3, r3, #128 ; 0x80 80507e6: 4aa7 ldr r2, [pc, #668] ; (8050a84 ) 80507e8: f8c2 3098 str.w r3, [r2, #152] ; 0x98 break; 80507ec: e054 b.n 8050898 case RouteTime: if(!focused) 80507ee: 4ba6 ldr r3, [pc, #664] ; (8050a88 ) 80507f0: 781b ldrb r3, [r3, #0] 80507f2: b2db uxtb r3, r3 80507f4: f083 0301 eor.w r3, r3, #1 80507f8: b2db uxtb r3, r3 80507fa: 2b00 cmp r3, #0 80507fc: d003 beq.n 8050806 focused = true; 80507fe: 4ba2 ldr r3, [pc, #648] ; (8050a88 ) 8050800: 2201 movs r2, #1 8050802: 701a strb r2, [r3, #0] else focused = false; break; 8050804: e048 b.n 8050898 else focused = false; 8050806: 4ba0 ldr r3, [pc, #640] ; (8050a88 ) 8050808: 2200 movs r2, #0 805080a: 701a strb r2, [r3, #0] break; 805080c: e044 b.n 8050898 case RouteAutoKu: if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 805080e: 4b9d ldr r3, [pc, #628] ; (8050a84 ) 8050810: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8050814: f003 0304 and.w r3, r3, #4 8050818: 2b00 cmp r3, #0 805081a: d110 bne.n 805083e { pardata.OPTIONS |= 0x4; 805081c: 4b99 ldr r3, [pc, #612] ; (8050a84 ) 805081e: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8050822: f043 0304 orr.w r3, r3, #4 8050826: 4a97 ldr r2, [pc, #604] ; (8050a84 ) 8050828: f8c2 3098 str.w r3, [r2, #152] ; 0x98 pardata.THR &= 0x7f; 805082c: 4b95 ldr r3, [pc, #596] ; (8050a84 ) 805082e: 7bdb ldrb r3, [r3, #15] 8050830: b2db uxtb r3, r3 8050832: f003 037f and.w r3, r3, #127 ; 0x7f 8050836: b2da uxtb r2, r3 8050838: 4b92 ldr r3, [pc, #584] ; (8050a84 ) 805083a: 73da strb r2, [r3, #15] } else pardata.OPTIONS &= ~0x4; break; 805083c: e02c b.n 8050898 pardata.OPTIONS &= ~0x4; 805083e: 4b91 ldr r3, [pc, #580] ; (8050a84 ) 8050840: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8050844: f023 0304 bic.w r3, r3, #4 8050848: 4a8e ldr r2, [pc, #568] ; (8050a84 ) 805084a: f8c2 3098 str.w r3, [r2, #152] ; 0x98 break; 805084e: e023 b.n 8050898 case RouteMax_ALL: menupos = RouteMax_IET; 8050850: 4b8e ldr r3, [pc, #568] ; (8050a8c ) 8050852: 2208 movs r2, #8 8050854: 701a strb r2, [r3, #0] break; 8050856: e01f b.n 8050898 case RouteMax_IET: case RouteMax_IES: case RouteMax_IED: case RouteMax_IEE: case RouteMax_IKD: menupos = RouteMax_ALL; 8050858: 4b8c ldr r3, [pc, #560] ; (8050a8c ) 805085a: 2206 movs r2, #6 805085c: 701a strb r2, [r3, #0] break; 805085e: e01b b.n 8050898 case GoMeas: menu = MAIN_WAVE; 8050860: 4b8b ldr r3, [pc, #556] ; (8050a90 ) 8050862: 221e movs r2, #30 8050864: 701a strb r2, [r3, #0] menupos = StartStop; 8050866: 4b89 ldr r3, [pc, #548] ; (8050a8c ) 8050868: 2200 movs r2, #0 805086a: 701a strb r2, [r3, #0] //MEASURED = false; Threshold = false; 805086c: 4b89 ldr r3, [pc, #548] ; (8050a94 ) 805086e: 2200 movs r2, #0 8050870: 701a strb r2, [r3, #0] IS_ROUTE = true; 8050872: 4b89 ldr r3, [pc, #548] ; (8050a98 ) 8050874: 2201 movs r2, #1 8050876: 701a strb r2, [r3, #0] initAmplif(); 8050878: f7d1 f90c bl 8021a94 FIRST = true; 805087c: 4b87 ldr r3, [pc, #540] ; (8050a9c ) 805087e: 2201 movs r2, #1 8050880: 701a strb r2, [r3, #0] break; 8050882: e009 b.n 8050898 break; 8050884: bf00 nop 8050886: f002 ba41 b.w 8052d0c break; 805088a: bf00 nop 805088c: f002 ba3e b.w 8052d0c break; 8050890: bf00 nop 8050892: f002 ba3b b.w 8052d0c break; 8050896: bf00 nop } break; 8050898: f002 ba38 b.w 8052d0c case MEAS_MODE: //OK focused = false; 805089c: 4b7a ldr r3, [pc, #488] ; (8050a88 ) 805089e: 2200 movs r2, #0 80508a0: 701a strb r2, [r3, #0] switch(menupos) 80508a2: 4b7a ldr r3, [pc, #488] ; (8050a8c ) 80508a4: 781b ldrb r3, [r3, #0] 80508a6: b2db uxtb r3, r3 80508a8: 3b01 subs r3, #1 80508aa: 2b09 cmp r3, #9 80508ac: f202 8230 bhi.w 8052d10 80508b0: a201 add r2, pc, #4 ; (adr r2, 80508b8 ) 80508b2: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80508b6: bf00 nop 80508b8: 080508fb .word 0x080508fb 80508bc: 08050db5 .word 0x08050db5 80508c0: 08050915 .word 0x08050915 80508c4: 08050edb .word 0x08050edb 80508c8: 080508e1 .word 0x080508e1 80508cc: 08050f0b .word 0x08050f0b 80508d0: 08050f43 .word 0x08050f43 80508d4: 08052d11 .word 0x08052d11 80508d8: 08052d11 .word 0x08052d11 80508dc: 08050ec7 .word 0x08050ec7 { case Diagn: focused = false; 80508e0: 4b69 ldr r3, [pc, #420] ; (8050a88 ) 80508e2: 2200 movs r2, #0 80508e4: 701a strb r2, [r3, #0] pardata.SYG = DIAGN; 80508e6: 4b67 ldr r3, [pc, #412] ; (8050a84 ) 80508e8: 220a movs r2, #10 80508ea: 701a strb r2, [r3, #0] menu = PARAM_DIAGN; 80508ec: 4b68 ldr r3, [pc, #416] ; (8050a90 ) 80508ee: 220f movs r2, #15 80508f0: 701a strb r2, [r3, #0] menupos = DiagUs; 80508f2: 4b66 ldr r3, [pc, #408] ; (8050a8c ) 80508f4: 2200 movs r2, #0 80508f6: 701a strb r2, [r3, #0] break; 80508f8: e331 b.n 8050f5e case Vibrometer: focused = false; 80508fa: 4b63 ldr r3, [pc, #396] ; (8050a88 ) 80508fc: 2200 movs r2, #0 80508fe: 701a strb r2, [r3, #0] pardata.SYG = VIB; 8050900: 4b60 ldr r3, [pc, #384] ; (8050a84 ) 8050902: 2200 movs r2, #0 8050904: 701a strb r2, [r3, #0] menu = PARAM_VIB; 8050906: 4b62 ldr r3, [pc, #392] ; (8050a90 ) 8050908: 2206 movs r2, #6 805090a: 701a strb r2, [r3, #0] menupos = Ok; 805090c: 4b5f ldr r3, [pc, #380] ; (8050a8c ) 805090e: 2200 movs r2, #0 8050910: 701a strb r2, [r3, #0] break; 8050912: e324 b.n 8050f5e case FFT: focused = false; 8050914: 4b5c ldr r3, [pc, #368] ; (8050a88 ) 8050916: 2200 movs r2, #0 8050918: 701a strb r2, [r3, #0] if(pardata.LNE > N3200) 805091a: 4b5a ldr r3, [pc, #360] ; (8050a84 ) 805091c: 79db ldrb r3, [r3, #7] 805091e: b2db uxtb r3, r3 8050920: 2b03 cmp r3, #3 8050922: d902 bls.n 805092a pardata.LNE = N3200; 8050924: 4b57 ldr r3, [pc, #348] ; (8050a84 ) 8050926: 2203 movs r2, #3 8050928: 71da strb r2, [r3, #7] if(pardata.IVS[pardata.IPR] > RMS) 805092a: 4b56 ldr r3, [pc, #344] ; (8050a84 ) 805092c: 785b ldrb r3, [r3, #1] 805092e: b2db uxtb r3, r3 8050930: 461a mov r2, r3 8050932: 4b54 ldr r3, [pc, #336] ; (8050a84 ) 8050934: 4413 add r3, r2 8050936: 789b ldrb r3, [r3, #2] 8050938: b2db uxtb r3, r3 805093a: 2b01 cmp r3, #1 805093c: d907 bls.n 805094e pardata.IVS[pardata.IPR] = PEAK; 805093e: 4b51 ldr r3, [pc, #324] ; (8050a84 ) 8050940: 785b ldrb r3, [r3, #1] 8050942: b2db uxtb r3, r3 8050944: 461a mov r2, r3 8050946: 4b4f ldr r3, [pc, #316] ; (8050a84 ) 8050948: 4413 add r3, r2 805094a: 2200 movs r2, #0 805094c: 709a strb r2, [r3, #2] if((pardata.OPTIONS & maskFFT) == okt) 805094e: 4b4d ldr r3, [pc, #308] ; (8050a84 ) 8050950: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8050954: f003 0330 and.w r3, r3, #48 ; 0x30 8050958: 2b20 cmp r3, #32 805095a: f040 80a9 bne.w 8050ab0 { pardata.SYG = SPEC_OKT; 805095e: 4b49 ldr r3, [pc, #292] ; (8050a84 ) 8050960: 2206 movs r2, #6 8050962: 701a strb r2, [r3, #0] if(pardata.IVS[pardata.IPR] > RMS) 8050964: 4b47 ldr r3, [pc, #284] ; (8050a84 ) 8050966: 785b ldrb r3, [r3, #1] 8050968: b2db uxtb r3, r3 805096a: 461a mov r2, r3 805096c: 4b45 ldr r3, [pc, #276] ; (8050a84 ) 805096e: 4413 add r3, r2 8050970: 789b ldrb r3, [r3, #2] 8050972: b2db uxtb r3, r3 8050974: 2b01 cmp r3, #1 8050976: d907 bls.n 8050988 pardata.IVS[pardata.IPR] = PEAK; 8050978: 4b42 ldr r3, [pc, #264] ; (8050a84 ) 805097a: 785b ldrb r3, [r3, #1] 805097c: b2db uxtb r3, r3 805097e: 461a mov r2, r3 8050980: 4b40 ldr r3, [pc, #256] ; (8050a84 ) 8050982: 4413 add r3, r2 8050984: 2200 movs r2, #0 8050986: 709a strb r2, [r3, #2] pardata.LNE = N3200; 8050988: 4b3e ldr r3, [pc, #248] ; (8050a84 ) 805098a: 2203 movs r2, #3 805098c: 71da strb r2, [r3, #7] pardata.FRQ = _64000Hz; 805098e: 4b3d ldr r3, [pc, #244] ; (8050a84 ) 8050990: 2209 movs r2, #9 8050992: 72da strb r2, [r3, #11] if((pardata.IPR > ACC) && (pardata.HP < 2.0f)) 8050994: 4b3b ldr r3, [pc, #236] ; (8050a84 ) 8050996: 785b ldrb r3, [r3, #1] 8050998: b2db uxtb r3, r3 805099a: 2b00 cmp r3, #0 805099c: d00e beq.n 80509bc 805099e: 4b39 ldr r3, [pc, #228] ; (8050a84 ) 80509a0: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 80509a4: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 80509a8: eef4 7ac7 vcmpe.f32 s15, s14 80509ac: eef1 fa10 vmrs APSR_nzcv, fpscr 80509b0: d504 bpl.n 80509bc pardata.HP = 2.0f; 80509b2: 4b34 ldr r3, [pc, #208] ; (8050a84 ) 80509b4: f04f 4280 mov.w r2, #1073741824 ; 0x40000000 80509b8: f8c3 20d4 str.w r2, [r3, #212] ; 0xd4 if(pardata.HP > (((float32_t) FS[pardata.FRQ] / 5.0f) + 0.00005f)) 80509bc: 4b31 ldr r3, [pc, #196] ; (8050a84 ) 80509be: ed93 7a35 vldr s14, [r3, #212] ; 0xd4 80509c2: 4b30 ldr r3, [pc, #192] ; (8050a84 ) 80509c4: 7adb ldrb r3, [r3, #11] 80509c6: b2db uxtb r3, r3 80509c8: 461a mov r2, r3 80509ca: 4b35 ldr r3, [pc, #212] ; (8050aa0 ) 80509cc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80509d0: ee07 3a90 vmov s15, r3 80509d4: eef8 6a67 vcvt.f32.u32 s13, s15 80509d8: eeb1 6a04 vmov.f32 s12, #20 ; 0x40a00000 5.0 80509dc: eec6 7a86 vdiv.f32 s15, s13, s12 80509e0: eddf 6a30 vldr s13, [pc, #192] ; 8050aa4 80509e4: ee77 7aa6 vadd.f32 s15, s15, s13 80509e8: eeb4 7ae7 vcmpe.f32 s14, s15 80509ec: eef1 fa10 vmrs APSR_nzcv, fpscr 80509f0: dd15 ble.n 8050a1e pardata.HP = (float32_t) (FS[pardata.FRQ] / 5) + 0.0001f; 80509f2: 4b24 ldr r3, [pc, #144] ; (8050a84 ) 80509f4: 7adb ldrb r3, [r3, #11] 80509f6: b2db uxtb r3, r3 80509f8: 461a mov r2, r3 80509fa: 4b29 ldr r3, [pc, #164] ; (8050aa0 ) 80509fc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8050a00: 4a29 ldr r2, [pc, #164] ; (8050aa8 ) 8050a02: fba2 2303 umull r2, r3, r2, r3 8050a06: 089b lsrs r3, r3, #2 8050a08: ee07 3a90 vmov s15, r3 8050a0c: eef8 7a67 vcvt.f32.u32 s15, s15 8050a10: ed9f 7a26 vldr s14, [pc, #152] ; 8050aac 8050a14: ee77 7a87 vadd.f32 s15, s15, s14 8050a18: 4b1a ldr r3, [pc, #104] ; (8050a84 ) 8050a1a: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 if(pardata.LP > (((float32_t) FS[pardata.FRQ] / 5.0f) + 0.00005f)) 8050a1e: 4b19 ldr r3, [pc, #100] ; (8050a84 ) 8050a20: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 8050a24: 4b17 ldr r3, [pc, #92] ; (8050a84 ) 8050a26: 7adb ldrb r3, [r3, #11] 8050a28: b2db uxtb r3, r3 8050a2a: 461a mov r2, r3 8050a2c: 4b1c ldr r3, [pc, #112] ; (8050aa0 ) 8050a2e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8050a32: ee07 3a90 vmov s15, r3 8050a36: eef8 6a67 vcvt.f32.u32 s13, s15 8050a3a: eeb1 6a04 vmov.f32 s12, #20 ; 0x40a00000 5.0 8050a3e: eec6 7a86 vdiv.f32 s15, s13, s12 8050a42: eddf 6a18 vldr s13, [pc, #96] ; 8050aa4 8050a46: ee77 7aa6 vadd.f32 s15, s15, s13 8050a4a: eeb4 7ae7 vcmpe.f32 s14, s15 8050a4e: eef1 fa10 vmrs APSR_nzcv, fpscr 8050a52: f340 819e ble.w 8050d92 pardata.LP = (float32_t) (FS[pardata.FRQ] / 5) + 0.0001f; 8050a56: 4b0b ldr r3, [pc, #44] ; (8050a84 ) 8050a58: 7adb ldrb r3, [r3, #11] 8050a5a: b2db uxtb r3, r3 8050a5c: 461a mov r2, r3 8050a5e: 4b10 ldr r3, [pc, #64] ; (8050aa0 ) 8050a60: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8050a64: 4a10 ldr r2, [pc, #64] ; (8050aa8 ) 8050a66: fba2 2303 umull r2, r3, r2, r3 8050a6a: 089b lsrs r3, r3, #2 8050a6c: ee07 3a90 vmov s15, r3 8050a70: eef8 7a67 vcvt.f32.u32 s15, s15 8050a74: ed9f 7a0d vldr s14, [pc, #52] ; 8050aac 8050a78: ee77 7a87 vadd.f32 s15, s15, s14 8050a7c: 4b01 ldr r3, [pc, #4] ; (8050a84 ) 8050a7e: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 8050a82: e186 b.n 8050d92 8050a84: 20023e60 .word 0x20023e60 8050a88: 20020f84 .word 0x20020f84 8050a8c: 20020070 .word 0x20020070 8050a90: 20020f78 .word 0x20020f78 8050a94: 20020db1 .word 0x20020db1 8050a98: 20020db3 .word 0x20020db3 8050a9c: 20020db2 .word 0x20020db2 8050aa0: 080ee890 .word 0x080ee890 8050aa4: 3851b717 .word 0x3851b717 8050aa8: cccccccd .word 0xcccccccd 8050aac: 38d1b717 .word 0x38d1b717 } else if((pardata.OPTIONS & maskFFT) == third) 8050ab0: 4bbb ldr r3, [pc, #748] ; (8050da0 ) 8050ab2: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8050ab6: f003 0330 and.w r3, r3, #48 ; 0x30 8050aba: 2b30 cmp r3, #48 ; 0x30 8050abc: f040 808b bne.w 8050bd6 { pardata.SYG = SPEC_THIRD; 8050ac0: 4bb7 ldr r3, [pc, #732] ; (8050da0 ) 8050ac2: 2207 movs r2, #7 8050ac4: 701a strb r2, [r3, #0] if(pardata.IVS[pardata.IPR] > RMS) 8050ac6: 4bb6 ldr r3, [pc, #728] ; (8050da0 ) 8050ac8: 785b ldrb r3, [r3, #1] 8050aca: b2db uxtb r3, r3 8050acc: 461a mov r2, r3 8050ace: 4bb4 ldr r3, [pc, #720] ; (8050da0 ) 8050ad0: 4413 add r3, r2 8050ad2: 789b ldrb r3, [r3, #2] 8050ad4: b2db uxtb r3, r3 8050ad6: 2b01 cmp r3, #1 8050ad8: d907 bls.n 8050aea pardata.IVS[pardata.IPR] = PEAK; 8050ada: 4bb1 ldr r3, [pc, #708] ; (8050da0 ) 8050adc: 785b ldrb r3, [r3, #1] 8050ade: b2db uxtb r3, r3 8050ae0: 461a mov r2, r3 8050ae2: 4baf ldr r3, [pc, #700] ; (8050da0 ) 8050ae4: 4413 add r3, r2 8050ae6: 2200 movs r2, #0 8050ae8: 709a strb r2, [r3, #2] pardata.LNE = N3200; 8050aea: 4bad ldr r3, [pc, #692] ; (8050da0 ) 8050aec: 2203 movs r2, #3 8050aee: 71da strb r2, [r3, #7] pardata.FRQ = _64000Hz; 8050af0: 4bab ldr r3, [pc, #684] ; (8050da0 ) 8050af2: 2209 movs r2, #9 8050af4: 72da strb r2, [r3, #11] if((pardata.IPR > ACC) && (pardata.HP < 2.0f)) 8050af6: 4baa ldr r3, [pc, #680] ; (8050da0 ) 8050af8: 785b ldrb r3, [r3, #1] 8050afa: b2db uxtb r3, r3 8050afc: 2b00 cmp r3, #0 8050afe: d00e beq.n 8050b1e 8050b00: 4ba7 ldr r3, [pc, #668] ; (8050da0 ) 8050b02: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 8050b06: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 8050b0a: eef4 7ac7 vcmpe.f32 s15, s14 8050b0e: eef1 fa10 vmrs APSR_nzcv, fpscr 8050b12: d504 bpl.n 8050b1e pardata.HP = 2.0f; 8050b14: 4ba2 ldr r3, [pc, #648] ; (8050da0 ) 8050b16: f04f 4280 mov.w r2, #1073741824 ; 0x40000000 8050b1a: f8c3 20d4 str.w r2, [r3, #212] ; 0xd4 if(pardata.HP > ((float32_t) FS[pardata.FRQ] / 10.0f)) 8050b1e: 4ba0 ldr r3, [pc, #640] ; (8050da0 ) 8050b20: ed93 7a35 vldr s14, [r3, #212] ; 0xd4 8050b24: 4b9e ldr r3, [pc, #632] ; (8050da0 ) 8050b26: 7adb ldrb r3, [r3, #11] 8050b28: b2db uxtb r3, r3 8050b2a: 461a mov r2, r3 8050b2c: 4b9d ldr r3, [pc, #628] ; (8050da4 ) 8050b2e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8050b32: ee07 3a90 vmov s15, r3 8050b36: eef8 6a67 vcvt.f32.u32 s13, s15 8050b3a: eeb2 6a04 vmov.f32 s12, #36 ; 0x41200000 10.0 8050b3e: eec6 7a86 vdiv.f32 s15, s13, s12 8050b42: eeb4 7ae7 vcmpe.f32 s14, s15 8050b46: eef1 fa10 vmrs APSR_nzcv, fpscr 8050b4a: dd15 ble.n 8050b78 pardata.HP = (float32_t) (FS[pardata.FRQ] / 10.0f) + 0.0001f; 8050b4c: 4b94 ldr r3, [pc, #592] ; (8050da0 ) 8050b4e: 7adb ldrb r3, [r3, #11] 8050b50: b2db uxtb r3, r3 8050b52: 461a mov r2, r3 8050b54: 4b93 ldr r3, [pc, #588] ; (8050da4 ) 8050b56: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8050b5a: ee07 3a90 vmov s15, r3 8050b5e: eeb8 7a67 vcvt.f32.u32 s14, s15 8050b62: eef2 6a04 vmov.f32 s13, #36 ; 0x41200000 10.0 8050b66: eec7 7a26 vdiv.f32 s15, s14, s13 8050b6a: ed9f 7a8f vldr s14, [pc, #572] ; 8050da8 8050b6e: ee77 7a87 vadd.f32 s15, s15, s14 8050b72: 4b8b ldr r3, [pc, #556] ; (8050da0 ) 8050b74: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 if(pardata.LP > ((float32_t) FS[pardata.FRQ] / 10.0f)) 8050b78: 4b89 ldr r3, [pc, #548] ; (8050da0 ) 8050b7a: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 8050b7e: 4b88 ldr r3, [pc, #544] ; (8050da0 ) 8050b80: 7adb ldrb r3, [r3, #11] 8050b82: b2db uxtb r3, r3 8050b84: 461a mov r2, r3 8050b86: 4b87 ldr r3, [pc, #540] ; (8050da4 ) 8050b88: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8050b8c: ee07 3a90 vmov s15, r3 8050b90: eef8 6a67 vcvt.f32.u32 s13, s15 8050b94: eeb2 6a04 vmov.f32 s12, #36 ; 0x41200000 10.0 8050b98: eec6 7a86 vdiv.f32 s15, s13, s12 8050b9c: eeb4 7ae7 vcmpe.f32 s14, s15 8050ba0: eef1 fa10 vmrs APSR_nzcv, fpscr 8050ba4: f340 80f5 ble.w 8050d92 pardata.LP = (float32_t) (FS[pardata.FRQ] / 10.0f) + 0.0001f; 8050ba8: 4b7d ldr r3, [pc, #500] ; (8050da0 ) 8050baa: 7adb ldrb r3, [r3, #11] 8050bac: b2db uxtb r3, r3 8050bae: 461a mov r2, r3 8050bb0: 4b7c ldr r3, [pc, #496] ; (8050da4 ) 8050bb2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8050bb6: ee07 3a90 vmov s15, r3 8050bba: eeb8 7a67 vcvt.f32.u32 s14, s15 8050bbe: eef2 6a04 vmov.f32 s13, #36 ; 0x41200000 10.0 8050bc2: eec7 7a26 vdiv.f32 s15, s14, s13 8050bc6: ed9f 7a78 vldr s14, [pc, #480] ; 8050da8 8050bca: ee77 7a87 vadd.f32 s15, s15, s14 8050bce: 4b74 ldr r3, [pc, #464] ; (8050da0 ) 8050bd0: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 8050bd4: e0dd b.n 8050d92 } else if((pardata.OPTIONS & maskFFT) == env) 8050bd6: 4b72 ldr r3, [pc, #456] ; (8050da0 ) 8050bd8: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8050bdc: f003 0330 and.w r3, r3, #48 ; 0x30 8050be0: 2b10 cmp r3, #16 8050be2: d16b bne.n 8050cbc { pardata.SYG = SPEC_OGIB; 8050be4: 4b6e ldr r3, [pc, #440] ; (8050da0 ) 8050be6: 2205 movs r2, #5 8050be8: 701a strb r2, [r3, #0] if(pardata.IVS[pardata.IPR] > RMS) 8050bea: 4b6d ldr r3, [pc, #436] ; (8050da0 ) 8050bec: 785b ldrb r3, [r3, #1] 8050bee: b2db uxtb r3, r3 8050bf0: 461a mov r2, r3 8050bf2: 4b6b ldr r3, [pc, #428] ; (8050da0 ) 8050bf4: 4413 add r3, r2 8050bf6: 789b ldrb r3, [r3, #2] 8050bf8: b2db uxtb r3, r3 8050bfa: 2b01 cmp r3, #1 8050bfc: d907 bls.n 8050c0e pardata.IVS[pardata.IPR] = PEAK; 8050bfe: 4b68 ldr r3, [pc, #416] ; (8050da0 ) 8050c00: 785b ldrb r3, [r3, #1] 8050c02: b2db uxtb r3, r3 8050c04: 461a mov r2, r3 8050c06: 4b66 ldr r3, [pc, #408] ; (8050da0 ) 8050c08: 4413 add r3, r2 8050c0a: 2200 movs r2, #0 8050c0c: 709a strb r2, [r3, #2] if((pardata.IPR > ACC) && (pardata.HP < 2.0f)) 8050c0e: 4b64 ldr r3, [pc, #400] ; (8050da0 ) 8050c10: 785b ldrb r3, [r3, #1] 8050c12: b2db uxtb r3, r3 8050c14: 2b00 cmp r3, #0 8050c16: d00e beq.n 8050c36 8050c18: 4b61 ldr r3, [pc, #388] ; (8050da0 ) 8050c1a: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 8050c1e: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 8050c22: eef4 7ac7 vcmpe.f32 s15, s14 8050c26: eef1 fa10 vmrs APSR_nzcv, fpscr 8050c2a: d504 bpl.n 8050c36 pardata.HP = 2.0f; 8050c2c: 4b5c ldr r3, [pc, #368] ; (8050da0 ) 8050c2e: f04f 4280 mov.w r2, #1073741824 ; 0x40000000 8050c32: f8c3 20d4 str.w r2, [r3, #212] ; 0xd4 k = _64000Hz; 8050c36: 2309 movs r3, #9 8050c38: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 while(k > _125Hz) 8050c3c: e039 b.n 8050cb2 { f = (float32_t) FS[k] / pardata.LP; 8050c3e: 4a59 ldr r2, [pc, #356] ; (8050da4 ) 8050c40: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8050c44: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8050c48: ee07 3a90 vmov s15, r3 8050c4c: eef8 6a67 vcvt.f32.u32 s13, s15 8050c50: 4b53 ldr r3, [pc, #332] ; (8050da0 ) 8050c52: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 8050c56: eec6 7a87 vdiv.f32 s15, s13, s14 8050c5a: edc7 7a2d vstr s15, [r7, #180] ; 0xb4 f += 0.0001f; 8050c5e: edd7 7a2d vldr s15, [r7, #180] ; 0xb4 8050c62: ed9f 7a51 vldr s14, [pc, #324] ; 8050da8 8050c66: ee77 7a87 vadd.f32 s15, s15, s14 8050c6a: edc7 7a2d vstr s15, [r7, #180] ; 0xb4 if(f < 5.0f) 8050c6e: edd7 7a2d vldr s15, [r7, #180] ; 0xb4 8050c72: eeb1 7a04 vmov.f32 s14, #20 ; 0x40a00000 5.0 8050c76: eef4 7ac7 vcmpe.f32 s15, s14 8050c7a: eef1 fa10 vmrs APSR_nzcv, fpscr 8050c7e: d507 bpl.n 8050c90 { pardata.FRQ = k + 1; 8050c80: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8050c84: b2db uxtb r3, r3 8050c86: 3301 adds r3, #1 8050c88: b2da uxtb r2, r3 8050c8a: 4b45 ldr r3, [pc, #276] ; (8050da0 ) 8050c8c: 72da strb r2, [r3, #11] break; 8050c8e: e080 b.n 8050d92 } else { if(k > 0) 8050c90: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8050c94: 2b00 cmp r3, #0 8050c96: d004 beq.n 8050ca2 k--; 8050c98: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8050c9c: 3b01 subs r3, #1 8050c9e: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 if(k == 0) 8050ca2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8050ca6: 2b00 cmp r3, #0 8050ca8: d103 bne.n 8050cb2 { pardata.FRQ = _125Hz; 8050caa: 4b3d ldr r3, [pc, #244] ; (8050da0 ) 8050cac: 2200 movs r2, #0 8050cae: 72da strb r2, [r3, #11] break; 8050cb0: e06f b.n 8050d92 while(k > _125Hz) 8050cb2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8050cb6: 2b00 cmp r3, #0 8050cb8: d1c1 bne.n 8050c3e 8050cba: e06a b.n 8050d92 } } } else { pardata.SYG = SPEC; 8050cbc: 4b38 ldr r3, [pc, #224] ; (8050da0 ) 8050cbe: 2201 movs r2, #1 8050cc0: 701a strb r2, [r3, #0] if(pardata.IVS[pardata.IPR] > RMS) 8050cc2: 4b37 ldr r3, [pc, #220] ; (8050da0 ) 8050cc4: 785b ldrb r3, [r3, #1] 8050cc6: b2db uxtb r3, r3 8050cc8: 461a mov r2, r3 8050cca: 4b35 ldr r3, [pc, #212] ; (8050da0 ) 8050ccc: 4413 add r3, r2 8050cce: 789b ldrb r3, [r3, #2] 8050cd0: b2db uxtb r3, r3 8050cd2: 2b01 cmp r3, #1 8050cd4: d907 bls.n 8050ce6 pardata.IVS[pardata.IPR] = PEAK; 8050cd6: 4b32 ldr r3, [pc, #200] ; (8050da0 ) 8050cd8: 785b ldrb r3, [r3, #1] 8050cda: b2db uxtb r3, r3 8050cdc: 461a mov r2, r3 8050cde: 4b30 ldr r3, [pc, #192] ; (8050da0 ) 8050ce0: 4413 add r3, r2 8050ce2: 2200 movs r2, #0 8050ce4: 709a strb r2, [r3, #2] if((pardata.IPR > ACC) && (pardata.HP < 2.0f)) 8050ce6: 4b2e ldr r3, [pc, #184] ; (8050da0 ) 8050ce8: 785b ldrb r3, [r3, #1] 8050cea: b2db uxtb r3, r3 8050cec: 2b00 cmp r3, #0 8050cee: d00e beq.n 8050d0e 8050cf0: 4b2b ldr r3, [pc, #172] ; (8050da0 ) 8050cf2: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 8050cf6: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 8050cfa: eef4 7ac7 vcmpe.f32 s15, s14 8050cfe: eef1 fa10 vmrs APSR_nzcv, fpscr 8050d02: d504 bpl.n 8050d0e pardata.HP = 2.0f; 8050d04: 4b26 ldr r3, [pc, #152] ; (8050da0 ) 8050d06: f04f 4280 mov.w r2, #1073741824 ; 0x40000000 8050d0a: f8c3 20d4 str.w r2, [r3, #212] ; 0xd4 k = _64000Hz; 8050d0e: 2309 movs r3, #9 8050d10: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 while(k > _125Hz) 8050d14: e039 b.n 8050d8a { f = (float32_t) FS[k] / pardata.LP; 8050d16: 4a23 ldr r2, [pc, #140] ; (8050da4 ) 8050d18: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8050d1c: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8050d20: ee07 3a90 vmov s15, r3 8050d24: eef8 6a67 vcvt.f32.u32 s13, s15 8050d28: 4b1d ldr r3, [pc, #116] ; (8050da0 ) 8050d2a: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 8050d2e: eec6 7a87 vdiv.f32 s15, s13, s14 8050d32: edc7 7a2d vstr s15, [r7, #180] ; 0xb4 f += 0.0001f; 8050d36: edd7 7a2d vldr s15, [r7, #180] ; 0xb4 8050d3a: ed9f 7a1b vldr s14, [pc, #108] ; 8050da8 8050d3e: ee77 7a87 vadd.f32 s15, s15, s14 8050d42: edc7 7a2d vstr s15, [r7, #180] ; 0xb4 if(f < 5.0f) 8050d46: edd7 7a2d vldr s15, [r7, #180] ; 0xb4 8050d4a: eeb1 7a04 vmov.f32 s14, #20 ; 0x40a00000 5.0 8050d4e: eef4 7ac7 vcmpe.f32 s15, s14 8050d52: eef1 fa10 vmrs APSR_nzcv, fpscr 8050d56: d507 bpl.n 8050d68 { pardata.FRQ = k + 1; 8050d58: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8050d5c: b2db uxtb r3, r3 8050d5e: 3301 adds r3, #1 8050d60: b2da uxtb r2, r3 8050d62: 4b0f ldr r3, [pc, #60] ; (8050da0 ) 8050d64: 72da strb r2, [r3, #11] break; 8050d66: e014 b.n 8050d92 } else { if(k > 0) 8050d68: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8050d6c: 2b00 cmp r3, #0 8050d6e: d004 beq.n 8050d7a k--; 8050d70: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8050d74: 3b01 subs r3, #1 8050d76: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 if(k == 0) 8050d7a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8050d7e: 2b00 cmp r3, #0 8050d80: d103 bne.n 8050d8a { pardata.FRQ = _125Hz; 8050d82: 4b07 ldr r3, [pc, #28] ; (8050da0 ) 8050d84: 2200 movs r2, #0 8050d86: 72da strb r2, [r3, #11] break; 8050d88: e003 b.n 8050d92 while(k > _125Hz) 8050d8a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8050d8e: 2b00 cmp r3, #0 8050d90: d1c1 bne.n 8050d16 } } } menu = PARAM_SPEC; 8050d92: 4b06 ldr r3, [pc, #24] ; (8050dac ) 8050d94: 2207 movs r2, #7 8050d96: 701a strb r2, [r3, #0] menupos = Ok; 8050d98: 4b05 ldr r3, [pc, #20] ; (8050db0 ) 8050d9a: 2200 movs r2, #0 8050d9c: 701a strb r2, [r3, #0] break; 8050d9e: e0de b.n 8050f5e 8050da0: 20023e60 .word 0x20023e60 8050da4: 080ee890 .word 0x080ee890 8050da8: 38d1b717 .word 0x38d1b717 8050dac: 20020f78 .word 0x20020f78 8050db0: 20020070 .word 0x20020070 case Osc: focused = false; 8050db4: 4bbe ldr r3, [pc, #760] ; (80510b0 ) 8050db6: 2200 movs r2, #0 8050db8: 701a strb r2, [r3, #0] pardata.SYG = OSC; 8050dba: 4bbe ldr r3, [pc, #760] ; (80510b4 ) 8050dbc: 2202 movs r2, #2 8050dbe: 701a strb r2, [r3, #0] menu = PARAM_OSC; 8050dc0: 4bbd ldr r3, [pc, #756] ; (80510b8 ) 8050dc2: 2208 movs r2, #8 8050dc4: 701a strb r2, [r3, #0] menupos = Ok; 8050dc6: 4bbd ldr r3, [pc, #756] ; (80510bc ) 8050dc8: 2200 movs r2, #0 8050dca: 701a strb r2, [r3, #0] if(pardata.IPR > ACC) 8050dcc: 4bb9 ldr r3, [pc, #740] ; (80510b4 ) 8050dce: 785b ldrb r3, [r3, #1] 8050dd0: b2db uxtb r3, r3 8050dd2: 2b00 cmp r3, #0 8050dd4: d00e beq.n 8050df4 { if(pardata.HP < 2.0f) 8050dd6: 4bb7 ldr r3, [pc, #732] ; (80510b4 ) 8050dd8: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 8050ddc: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 8050de0: eef4 7ac7 vcmpe.f32 s15, s14 8050de4: eef1 fa10 vmrs APSR_nzcv, fpscr 8050de8: d504 bpl.n 8050df4 pardata.HP = 2.0f; 8050dea: 4bb2 ldr r3, [pc, #712] ; (80510b4 ) 8050dec: f04f 4280 mov.w r2, #1073741824 ; 0x40000000 8050df0: f8c3 20d4 str.w r2, [r3, #212] ; 0xd4 } if((((float64_t) FS[pardata.FRQ]) / ((float64_t) pardata.LP) + 0.00005f) < 5.0) 8050df4: 4baf ldr r3, [pc, #700] ; (80510b4 ) 8050df6: 7adb ldrb r3, [r3, #11] 8050df8: b2db uxtb r3, r3 8050dfa: 461a mov r2, r3 8050dfc: 4bb0 ldr r3, [pc, #704] ; (80510c0 ) 8050dfe: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8050e02: ee07 3a90 vmov s15, r3 8050e06: eeb8 5b67 vcvt.f64.u32 d5, s15 8050e0a: 4baa ldr r3, [pc, #680] ; (80510b4 ) 8050e0c: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 8050e10: eeb7 6ae7 vcvt.f64.f32 d6, s15 8050e14: ee85 7b06 vdiv.f64 d7, d5, d6 8050e18: ed9f 6ba1 vldr d6, [pc, #644] ; 80510a0 8050e1c: ee37 7b06 vadd.f64 d7, d7, d6 8050e20: eeb1 6b04 vmov.f64 d6, #20 ; 0x40a00000 5.0 8050e24: eeb4 7bc6 vcmpe.f64 d7, d6 8050e28: eef1 fa10 vmrs APSR_nzcv, fpscr 8050e2c: d50c bpl.n 8050e48 { while(pardata.FRQ < _64000Hz) 8050e2e: e006 b.n 8050e3e pardata.FRQ++; 8050e30: 4ba0 ldr r3, [pc, #640] ; (80510b4 ) 8050e32: 7adb ldrb r3, [r3, #11] 8050e34: b2db uxtb r3, r3 8050e36: 3301 adds r3, #1 8050e38: b2da uxtb r2, r3 8050e3a: 4b9e ldr r3, [pc, #632] ; (80510b4 ) 8050e3c: 72da strb r2, [r3, #11] while(pardata.FRQ < _64000Hz) 8050e3e: 4b9d ldr r3, [pc, #628] ; (80510b4 ) 8050e40: 7adb ldrb r3, [r3, #11] 8050e42: b2db uxtb r3, r3 8050e44: 2b08 cmp r3, #8 8050e46: d9f3 bls.n 8050e30 } if((((float64_t) FS[pardata.FRQ]) / ((float64_t) pardata.LP) + 0.00005f) < 5.0) 8050e48: 4b9a ldr r3, [pc, #616] ; (80510b4 ) 8050e4a: 7adb ldrb r3, [r3, #11] 8050e4c: b2db uxtb r3, r3 8050e4e: 461a mov r2, r3 8050e50: 4b9b ldr r3, [pc, #620] ; (80510c0 ) 8050e52: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8050e56: ee07 3a90 vmov s15, r3 8050e5a: eeb8 5b67 vcvt.f64.u32 d5, s15 8050e5e: 4b95 ldr r3, [pc, #596] ; (80510b4 ) 8050e60: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 8050e64: eeb7 6ae7 vcvt.f64.f32 d6, s15 8050e68: ee85 7b06 vdiv.f64 d7, d5, d6 8050e6c: ed9f 6b8c vldr d6, [pc, #560] ; 80510a0 8050e70: ee37 7b06 vadd.f64 d7, d7, d6 8050e74: eeb1 6b04 vmov.f64 d6, #20 ; 0x40a00000 5.0 8050e78: eeb4 7bc6 vcmpe.f64 d7, d6 8050e7c: eef1 fa10 vmrs APSR_nzcv, fpscr 8050e80: d400 bmi.n 8050e84 { pardata.LP = (float32_t) (FS[pardata.FRQ] / 5); pardata.LP += 0.0001; } break; 8050e82: e06c b.n 8050f5e pardata.LP = (float32_t) (FS[pardata.FRQ] / 5); 8050e84: 4b8b ldr r3, [pc, #556] ; (80510b4 ) 8050e86: 7adb ldrb r3, [r3, #11] 8050e88: b2db uxtb r3, r3 8050e8a: 461a mov r2, r3 8050e8c: 4b8c ldr r3, [pc, #560] ; (80510c0 ) 8050e8e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8050e92: 4a8c ldr r2, [pc, #560] ; (80510c4 ) 8050e94: fba2 2303 umull r2, r3, r2, r3 8050e98: 089b lsrs r3, r3, #2 8050e9a: ee07 3a90 vmov s15, r3 8050e9e: eef8 7a67 vcvt.f32.u32 s15, s15 8050ea2: 4b84 ldr r3, [pc, #528] ; (80510b4 ) 8050ea4: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 pardata.LP += 0.0001; 8050ea8: 4b82 ldr r3, [pc, #520] ; (80510b4 ) 8050eaa: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 8050eae: eeb7 7ae7 vcvt.f64.f32 d7, s15 8050eb2: ed9f 6b7d vldr d6, [pc, #500] ; 80510a8 8050eb6: ee37 7b06 vadd.f64 d7, d7, d6 8050eba: eef7 7bc7 vcvt.f32.f64 s15, d7 8050ebe: 4b7d ldr r3, [pc, #500] ; (80510b4 ) 8050ec0: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 break; 8050ec4: e04b b.n 8050f5e case Fran: pardata.SYG = FRAN; 8050ec6: 4b7b ldr r3, [pc, #492] ; (80510b4 ) 8050ec8: 2203 movs r2, #3 8050eca: 701a strb r2, [r3, #0] menu = PARAM_FRAN; 8050ecc: 4b7a ldr r3, [pc, #488] ; (80510b8 ) 8050ece: 2209 movs r2, #9 8050ed0: 701a strb r2, [r3, #0] menupos = Ok; 8050ed2: 4b7a ldr r3, [pc, #488] ; (80510bc ) 8050ed4: 2200 movs r2, #0 8050ed6: 701a strb r2, [r3, #0] break; 8050ed8: e041 b.n 8050f5e case Wave: focused = false; 8050eda: 4b75 ldr r3, [pc, #468] ; (80510b0 ) 8050edc: 2200 movs r2, #0 8050ede: 701a strb r2, [r3, #0] pardata.FRQ = _64000Hz; 8050ee0: 4b74 ldr r3, [pc, #464] ; (80510b4 ) 8050ee2: 2209 movs r2, #9 8050ee4: 72da strb r2, [r3, #11] pardata.SYG = WAVE; 8050ee6: 4b73 ldr r3, [pc, #460] ; (80510b4 ) 8050ee8: 2204 movs r2, #4 8050eea: 701a strb r2, [r3, #0] menu = PARAM_WAVE; 8050eec: 4b72 ldr r3, [pc, #456] ; (80510b8 ) 8050eee: 220a movs r2, #10 8050ef0: 701a strb r2, [r3, #0] menupos = Ok; 8050ef2: 4b72 ldr r3, [pc, #456] ; (80510bc ) 8050ef4: 2200 movs r2, #0 8050ef6: 701a strb r2, [r3, #0] if(pardata.IVS[ACC] >= PEAK_TO_PEAK) 8050ef8: 4b6e ldr r3, [pc, #440] ; (80510b4 ) 8050efa: 789b ldrb r3, [r3, #2] 8050efc: b2db uxtb r3, r3 8050efe: 2b01 cmp r3, #1 8050f00: d92c bls.n 8050f5c pardata.IVS[ACC] = PEAK; 8050f02: 4b6c ldr r3, [pc, #432] ; (80510b4 ) 8050f04: 2200 movs r2, #0 8050f06: 709a strb r2, [r3, #2] break; 8050f08: e028 b.n 8050f5c case Roll: focused = false; 8050f0a: 4b69 ldr r3, [pc, #420] ; (80510b0 ) 8050f0c: 2200 movs r2, #0 8050f0e: 701a strb r2, [r3, #0] pardata.FRQ = _4000Hz; 8050f10: 4b68 ldr r3, [pc, #416] ; (80510b4 ) 8050f12: 2205 movs r2, #5 8050f14: 72da strb r2, [r3, #11] pardata.SYG = ROLL; 8050f16: 4b67 ldr r3, [pc, #412] ; (80510b4 ) 8050f18: 2208 movs r2, #8 8050f1a: 701a strb r2, [r3, #0] pardata.HP = 0.5f; 8050f1c: 4b65 ldr r3, [pc, #404] ; (80510b4 ) 8050f1e: f04f 527c mov.w r2, #1056964608 ; 0x3f000000 8050f22: f8c3 20d4 str.w r2, [r3, #212] ; 0xd4 pardata.LP = 800.0f; 8050f26: 4b63 ldr r3, [pc, #396] ; (80510b4 ) 8050f28: 4a67 ldr r2, [pc, #412] ; (80510c8 ) 8050f2a: f8c3 20d8 str.w r2, [r3, #216] ; 0xd8 menu = PARAM_ROLL; 8050f2e: 4b62 ldr r3, [pc, #392] ; (80510b8 ) 8050f30: 220d movs r2, #13 8050f32: 701a strb r2, [r3, #0] menupos = Ok; 8050f34: 4b61 ldr r3, [pc, #388] ; (80510bc ) 8050f36: 2200 movs r2, #0 8050f38: 701a strb r2, [r3, #0] pardata.IVS[ACC] = PEAK; 8050f3a: 4b5e ldr r3, [pc, #376] ; (80510b4 ) 8050f3c: 2200 movs r2, #0 8050f3e: 709a strb r2, [r3, #2] break; 8050f40: e00d b.n 8050f5e case Udar: focused = false; 8050f42: 4b5b ldr r3, [pc, #364] ; (80510b0 ) 8050f44: 2200 movs r2, #0 8050f46: 701a strb r2, [r3, #0] pardata.SYG = UDAR; 8050f48: 4b5a ldr r3, [pc, #360] ; (80510b4 ) 8050f4a: 2209 movs r2, #9 8050f4c: 701a strb r2, [r3, #0] menu = PARAM_UDAR; 8050f4e: 4b5a ldr r3, [pc, #360] ; (80510b8 ) 8050f50: 220e movs r2, #14 8050f52: 701a strb r2, [r3, #0] menupos = Ok; 8050f54: 4b59 ldr r3, [pc, #356] ; (80510bc ) 8050f56: 2200 movs r2, #0 8050f58: 701a strb r2, [r3, #0] break; 8050f5a: e000 b.n 8050f5e break; 8050f5c: bf00 nop } break; 8050f5e: f001 bed7 b.w 8052d10 case PARAM_DIAGN: if(menupos == DiagAverage) 8050f62: 4b56 ldr r3, [pc, #344] ; (80510bc ) 8050f64: 781b ldrb r3, [r3, #0] 8050f66: b2db uxtb r3, r3 8050f68: 2b01 cmp r3, #1 8050f6a: d111 bne.n 8050f90 { if(!focused) 8050f6c: 4b50 ldr r3, [pc, #320] ; (80510b0 ) 8050f6e: 781b ldrb r3, [r3, #0] 8050f70: b2db uxtb r3, r3 8050f72: f083 0301 eor.w r3, r3, #1 8050f76: b2db uxtb r3, r3 8050f78: 2b00 cmp r3, #0 8050f7a: d004 beq.n 8050f86 focused = true; 8050f7c: 4b4c ldr r3, [pc, #304] ; (80510b0 ) 8050f7e: 2201 movs r2, #1 8050f80: 701a strb r2, [r3, #0] { menu = PARAM_DIAGN_1; lastmenupos = menupos; menupos = CURR_POINT; } break; 8050f82: f001 bec7 b.w 8052d14 else focused = false; 8050f86: 4b4a ldr r3, [pc, #296] ; (80510b0 ) 8050f88: 2200 movs r2, #0 8050f8a: 701a strb r2, [r3, #0] break; 8050f8c: f001 bec2 b.w 8052d14 if(menupos == DiagMax_ALL) 8050f90: 4b4a ldr r3, [pc, #296] ; (80510bc ) 8050f92: 781b ldrb r3, [r3, #0] 8050f94: b2db uxtb r3, r3 8050f96: 2b03 cmp r3, #3 8050f98: d104 bne.n 8050fa4 menupos = DiagMax_IET; 8050f9a: 4b48 ldr r3, [pc, #288] ; (80510bc ) 8050f9c: 2206 movs r2, #6 8050f9e: 701a strb r2, [r3, #0] break; 8050fa0: f001 beb8 b.w 8052d14 if((menupos >= DiagMax_IDT) && (menupos <= DiagMax_IKD)) 8050fa4: 4b45 ldr r3, [pc, #276] ; (80510bc ) 8050fa6: 781b ldrb r3, [r3, #0] 8050fa8: b2db uxtb r3, r3 8050faa: 2b04 cmp r3, #4 8050fac: d909 bls.n 8050fc2 8050fae: 4b43 ldr r3, [pc, #268] ; (80510bc ) 8050fb0: 781b ldrb r3, [r3, #0] 8050fb2: b2db uxtb r3, r3 8050fb4: 2b0a cmp r3, #10 8050fb6: d804 bhi.n 8050fc2 menupos = DiagMax_ALL; 8050fb8: 4b40 ldr r3, [pc, #256] ; (80510bc ) 8050fba: 2203 movs r2, #3 8050fbc: 701a strb r2, [r3, #0] break; 8050fbe: f001 bea9 b.w 8052d14 if(menupos == DiagAutoKu) 8050fc2: 4b3e ldr r3, [pc, #248] ; (80510bc ) 8050fc4: 781b ldrb r3, [r3, #0] 8050fc6: b2db uxtb r3, r3 8050fc8: 2b02 cmp r3, #2 8050fca: d11a bne.n 8051002 if(pardata.OPTIONS & 0x4) 8050fcc: 4b39 ldr r3, [pc, #228] ; (80510b4 ) 8050fce: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8050fd2: f003 0304 and.w r3, r3, #4 8050fd6: 2b00 cmp r3, #0 8050fd8: d009 beq.n 8050fee pardata.OPTIONS &= ~0x4; 8050fda: 4b36 ldr r3, [pc, #216] ; (80510b4 ) 8050fdc: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8050fe0: f023 0304 bic.w r3, r3, #4 8050fe4: 4a33 ldr r2, [pc, #204] ; (80510b4 ) 8050fe6: f8c2 3098 str.w r3, [r2, #152] ; 0x98 break; 8050fea: f001 be93 b.w 8052d14 else pardata.OPTIONS |= 0x4; 8050fee: 4b31 ldr r3, [pc, #196] ; (80510b4 ) 8050ff0: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8050ff4: f043 0304 orr.w r3, r3, #4 8050ff8: 4a2e ldr r2, [pc, #184] ; (80510b4 ) 8050ffa: f8c2 3098 str.w r3, [r2, #152] ; 0x98 break; 8050ffe: f001 be89 b.w 8052d14 if(menupos == DiagSaveToFile) //TODO 8051002: 4b2e ldr r3, [pc, #184] ; (80510bc ) 8051004: 781b ldrb r3, [r3, #0] 8051006: b2db uxtb r3, r3 8051008: 2b04 cmp r3, #4 805100a: d172 bne.n 80510f2 result = FR_NOT_READY; 805100c: 2303 movs r3, #3 805100e: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(CardState == MSD_READY) 8051012: 4b2e ldr r3, [pc, #184] ; (80510cc ) 8051014: 781b ldrb r3, [r3, #0] 8051016: b2db uxtb r3, r3 8051018: 2b03 cmp r3, #3 805101a: d165 bne.n 80510e8 CursorIndex = 0; 805101c: 4b2c ldr r3, [pc, #176] ; (80510d0 ) 805101e: 2200 movs r2, #0 8051020: 601a str r2, [r3, #0] FirstFileIndex = 0; 8051022: 4b2c ldr r3, [pc, #176] ; (80510d4 ) 8051024: 2200 movs r2, #0 8051026: 601a str r2, [r3, #0] RealFileIndex = 0; 8051028: 4b2b ldr r3, [pc, #172] ; (80510d8 ) 805102a: 2200 movs r2, #0 805102c: 601a str r2, [r3, #0] result = ReadNumFilesDGN((uint32_t *) &NumFilesDGN); 805102e: 482b ldr r0, [pc, #172] ; (80510dc ) 8051030: f7d9 fca8 bl 802a984 8051034: 4603 mov r3, r0 8051036: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 805103a: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 805103e: 2b00 cmp r3, #0 8051040: d126 bne.n 8051090 result = ReadMyFilesDGN(FirstFileIndex); 8051042: 4b24 ldr r3, [pc, #144] ; (80510d4 ) 8051044: 681b ldr r3, [r3, #0] 8051046: 4618 mov r0, r3 8051048: f7d9 fd5f bl 802ab0a 805104c: 4603 mov r3, r0 805104e: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 8051052: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 8051056: 2b00 cmp r3, #0 8051058: d115 bne.n 8051086 menu = EXPLORER_DIAGN; 805105a: 4b17 ldr r3, [pc, #92] ; (80510b8 ) 805105c: 222a movs r2, #42 ; 0x2a 805105e: 701a strb r2, [r3, #0] lastmenupos = menupos; 8051060: 4b16 ldr r3, [pc, #88] ; (80510bc ) 8051062: 781b ldrb r3, [r3, #0] 8051064: b2da uxtb r2, r3 8051066: 4b1e ldr r3, [pc, #120] ; (80510e0 ) 8051068: 701a strb r2, [r3, #0] if(NumFilesDGN) 805106a: 4b1c ldr r3, [pc, #112] ; (80510dc ) 805106c: 681b ldr r3, [r3, #0] 805106e: 2b00 cmp r3, #0 8051070: d004 beq.n 805107c menupos = FilesDGN; 8051072: 4b12 ldr r3, [pc, #72] ; (80510bc ) 8051074: 2202 movs r2, #2 8051076: 701a strb r2, [r3, #0] break; 8051078: f001 be4c b.w 8052d14 else menupos = NoFilesDGN; 805107c: 4b0f ldr r3, [pc, #60] ; (80510bc ) 805107e: 2201 movs r2, #1 8051080: 701a strb r2, [r3, #0] break; 8051082: f001 be47 b.w 8052d14 DiagFileName[0] = '\0'; 8051086: 4b17 ldr r3, [pc, #92] ; (80510e4 ) 8051088: 2200 movs r2, #0 805108a: 701a strb r2, [r3, #0] break; 805108c: f001 be42 b.w 8052d14 DiagFileName[0] = '\0'; 8051090: 4b14 ldr r3, [pc, #80] ; (80510e4 ) 8051092: 2200 movs r2, #0 8051094: 701a strb r2, [r3, #0] break; 8051096: f001 be3d b.w 8052d14 805109a: bf00 nop 805109c: f3af 8000 nop.w 80510a0: e0000000 .word 0xe0000000 80510a4: 3f0a36e2 .word 0x3f0a36e2 80510a8: eb1c432d .word 0xeb1c432d 80510ac: 3f1a36e2 .word 0x3f1a36e2 80510b0: 20020f84 .word 0x20020f84 80510b4: 20023e60 .word 0x20023e60 80510b8: 20020f78 .word 0x20020f78 80510bc: 20020070 .word 0x20020070 80510c0: 080ee890 .word 0x080ee890 80510c4: cccccccd .word 0xcccccccd 80510c8: 44480000 .word 0x44480000 80510cc: 2002164c .word 0x2002164c 80510d0: 20020de0 .word 0x20020de0 80510d4: 20020de4 .word 0x20020de4 80510d8: 20020de8 .word 0x20020de8 80510dc: 20020df8 .word 0x20020df8 80510e0: 20020071 .word 0x20020071 80510e4: 20020e7c .word 0x20020e7c DiagFileName[0] = '\0'; 80510e8: 4bb1 ldr r3, [pc, #708] ; (80513b0 ) 80510ea: 2200 movs r2, #0 80510ec: 701a strb r2, [r3, #0] break; 80510ee: f001 be11 b.w 8052d14 if(menupos == DiagUs) 80510f2: 4bb0 ldr r3, [pc, #704] ; (80513b4 ) 80510f4: 781b ldrb r3, [r3, #0] 80510f6: b2db uxtb r3, r3 80510f8: 2b00 cmp r3, #0 80510fa: f041 860b bne.w 8052d14 menu = PARAM_DIAGN_1; 80510fe: 4bae ldr r3, [pc, #696] ; (80513b8 ) 8051100: 2210 movs r2, #16 8051102: 701a strb r2, [r3, #0] lastmenupos = menupos; 8051104: 4bab ldr r3, [pc, #684] ; (80513b4 ) 8051106: 781b ldrb r3, [r3, #0] 8051108: b2da uxtb r2, r3 805110a: 4bac ldr r3, [pc, #688] ; (80513bc ) 805110c: 701a strb r2, [r3, #0] menupos = CURR_POINT; 805110e: 4bac ldr r3, [pc, #688] ; (80513c0 ) 8051110: 781b ldrb r3, [r3, #0] 8051112: b2da uxtb r2, r3 8051114: 4ba7 ldr r3, [pc, #668] ; (80513b4 ) 8051116: 701a strb r2, [r3, #0] break; 8051118: f001 bdfc b.w 8052d14 case PARAM_DIAGN_1: menu = PARAM_DIAGN_2; 805111c: 4ba6 ldr r3, [pc, #664] ; (80513b8 ) 805111e: 2211 movs r2, #17 8051120: 701a strb r2, [r3, #0] CURR_POINT = menupos; 8051122: 4ba4 ldr r3, [pc, #656] ; (80513b4 ) 8051124: 781b ldrb r3, [r3, #0] 8051126: b2da uxtb r2, r3 8051128: 4ba5 ldr r3, [pc, #660] ; (80513c0 ) 805112a: 701a strb r2, [r3, #0] CURR_USL = Us1; 805112c: 4ba5 ldr r3, [pc, #660] ; (80513c4 ) 805112e: 2200 movs r2, #0 8051130: 701a strb r2, [r3, #0] menupos = Ok; 8051132: 4ba0 ldr r3, [pc, #640] ; (80513b4 ) 8051134: 2200 movs r2, #0 8051136: 701a strb r2, [r3, #0] break; 8051138: f001 be05 b.w 8052d46 case PARAM_DIAGN_2: if((menupos >= DiagHP_IDT) && (menupos <= DiagHP_IKD)) { 805113c: 4b9d ldr r3, [pc, #628] ; (80513b4 ) 805113e: 781b ldrb r3, [r3, #0] 8051140: b2db uxtb r3, r3 8051142: 2b0c cmp r3, #12 8051144: d908 bls.n 8051158 8051146: 4b9b ldr r3, [pc, #620] ; (80513b4 ) 8051148: 781b ldrb r3, [r3, #0] 805114a: b2db uxtb r3, r3 805114c: 2b12 cmp r3, #18 805114e: d803 bhi.n 8051158 menupos = DiagHP; 8051150: 4b98 ldr r3, [pc, #608] ; (80513b4 ) 8051152: 2209 movs r2, #9 8051154: 701a strb r2, [r3, #0] 8051156: e0a5 b.n 80512a4 } else if((menupos >= DiagLP_IDT) && (menupos <= DiagLP_IKD)) { 8051158: 4b96 ldr r3, [pc, #600] ; (80513b4 ) 805115a: 781b ldrb r3, [r3, #0] 805115c: b2db uxtb r3, r3 805115e: 2b12 cmp r3, #18 8051160: d908 bls.n 8051174 8051162: 4b94 ldr r3, [pc, #592] ; (80513b4 ) 8051164: 781b ldrb r3, [r3, #0] 8051166: b2db uxtb r3, r3 8051168: 2b18 cmp r3, #24 805116a: d803 bhi.n 8051174 menupos = DiagLP; 805116c: 4b91 ldr r3, [pc, #580] ; (80513b4 ) 805116e: 220a movs r2, #10 8051170: 701a strb r2, [r3, #0] 8051172: e097 b.n 80512a4 } else if((menupos >= DiagW_IDT) && (menupos <= DiagW_IKD)) { 8051174: 4b8f ldr r3, [pc, #572] ; (80513b4 ) 8051176: 781b ldrb r3, [r3, #0] 8051178: b2db uxtb r3, r3 805117a: 2b18 cmp r3, #24 805117c: d908 bls.n 8051190 805117e: 4b8d ldr r3, [pc, #564] ; (80513b4 ) 8051180: 781b ldrb r3, [r3, #0] 8051182: b2db uxtb r3, r3 8051184: 2b1e cmp r3, #30 8051186: d803 bhi.n 8051190 menupos = Diag_W; 8051188: 4b8a ldr r3, [pc, #552] ; (80513b4 ) 805118a: 220b movs r2, #11 805118c: 701a strb r2, [r3, #0] 805118e: e089 b.n 80512a4 } else if((menupos >= DiagA_IDT) && (menupos <= DiagA_IKD)) { 8051190: 4b88 ldr r3, [pc, #544] ; (80513b4 ) 8051192: 781b ldrb r3, [r3, #0] 8051194: b2db uxtb r3, r3 8051196: 2b1e cmp r3, #30 8051198: d908 bls.n 80511ac 805119a: 4b86 ldr r3, [pc, #536] ; (80513b4 ) 805119c: 781b ldrb r3, [r3, #0] 805119e: b2db uxtb r3, r3 80511a0: 2b24 cmp r3, #36 ; 0x24 80511a2: d803 bhi.n 80511ac menupos = Diag_A; 80511a4: 4b83 ldr r3, [pc, #524] ; (80513b4 ) 80511a6: 220c movs r2, #12 80511a8: 701a strb r2, [r3, #0] 80511aa: e07b b.n 80512a4 } else { switch(menupos) 80511ac: 4b81 ldr r3, [pc, #516] ; (80513b4 ) 80511ae: 781b ldrb r3, [r3, #0] 80511b0: b2db uxtb r3, r3 80511b2: 2b0c cmp r3, #12 80511b4: f201 85b0 bhi.w 8052d18 80511b8: a201 add r2, pc, #4 ; (adr r2, 80511c0 ) 80511ba: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80511be: bf00 nop 80511c0: 0805125d .word 0x0805125d 80511c4: 08052d19 .word 0x08052d19 80511c8: 0805123d .word 0x0805123d 80511cc: 08052d19 .word 0x08052d19 80511d0: 0805123d .word 0x0805123d 80511d4: 08052d19 .word 0x08052d19 80511d8: 08051215 .word 0x08051215 80511dc: 0805123d .word 0x0805123d 80511e0: 0805123d .word 0x0805123d 80511e4: 080511f5 .word 0x080511f5 80511e8: 080511fd .word 0x080511fd 80511ec: 08051205 .word 0x08051205 80511f0: 0805120d .word 0x0805120d { case DiagHP: menupos = DiagHP_IET; 80511f4: 4b6f ldr r3, [pc, #444] ; (80513b4 ) 80511f6: 220e movs r2, #14 80511f8: 701a strb r2, [r3, #0] break; 80511fa: e053 b.n 80512a4 case DiagLP: menupos = DiagLP_IET; 80511fc: 4b6d ldr r3, [pc, #436] ; (80513b4 ) 80511fe: 2214 movs r2, #20 8051200: 701a strb r2, [r3, #0] break; 8051202: e04f b.n 80512a4 case Diag_W: menupos = DiagW_IET; 8051204: 4b6b ldr r3, [pc, #428] ; (80513b4 ) 8051206: 221a movs r2, #26 8051208: 701a strb r2, [r3, #0] break; 805120a: e04b b.n 80512a4 case Diag_A: menupos = DiagA_IET; 805120c: 4b69 ldr r3, [pc, #420] ; (80513b4 ) 805120e: 2220 movs r2, #32 8051210: 701a strb r2, [r3, #0] break; 8051212: e047 b.n 80512a4 case DiagName: //todo memset(TEMP_Name, 0, sizeof(TEMP_Name)); 8051214: 2221 movs r2, #33 ; 0x21 8051216: 2100 movs r1, #0 8051218: 486b ldr r0, [pc, #428] ; (80513c8 ) 805121a: f07b ff15 bl 80cd048 NameLen = 0; 805121e: 4b6b ldr r3, [pc, #428] ; (80513cc ) 8051220: 2200 movs r2, #0 8051222: 601a str r2, [r3, #0] lastmenupos = menupos; 8051224: 4b63 ldr r3, [pc, #396] ; (80513b4 ) 8051226: 781b ldrb r3, [r3, #0] 8051228: b2da uxtb r2, r3 805122a: 4b64 ldr r3, [pc, #400] ; (80513bc ) 805122c: 701a strb r2, [r3, #0] menu = INPUT_NAME; 805122e: 4b62 ldr r3, [pc, #392] ; (80513b8 ) 8051230: 2233 movs r2, #51 ; 0x33 8051232: 701a strb r2, [r3, #0] menupos = _CANCEL; 8051234: 4b5f ldr r3, [pc, #380] ; (80513b4 ) 8051236: 2227 movs r2, #39 ; 0x27 8051238: 701a strb r2, [r3, #0] break; 805123a: e033 b.n 80512a4 case DiagOp1: case DiagOp2: case DiagAVS: case DiagValue: if(!focused) 805123c: 4b64 ldr r3, [pc, #400] ; (80513d0 ) 805123e: 781b ldrb r3, [r3, #0] 8051240: b2db uxtb r3, r3 8051242: f083 0301 eor.w r3, r3, #1 8051246: b2db uxtb r3, r3 8051248: 2b00 cmp r3, #0 805124a: d003 beq.n 8051254 focused = true; 805124c: 4b60 ldr r3, [pc, #384] ; (80513d0 ) 805124e: 2201 movs r2, #1 8051250: 701a strb r2, [r3, #0] else focused = false; break; 8051252: e027 b.n 80512a4 else focused = false; 8051254: 4b5e ldr r3, [pc, #376] ; (80513d0 ) 8051256: 2200 movs r2, #0 8051258: 701a strb r2, [r3, #0] break; 805125a: e023 b.n 80512a4 case Ok: arm_fill_f32(0.0f, operand, 4); 805125c: 2104 movs r1, #4 805125e: 485d ldr r0, [pc, #372] ; (80513d4 ) 8051260: ed9f 0a5d vldr s0, [pc, #372] ; 80513d8 8051264: f078 fd4e bl 80c9d04 result = GetPointAndIndexDGN(DiagFileName); 8051268: 4851 ldr r0, [pc, #324] ; (80513b0 ) 805126a: f7d4 fd57 bl 8025d1c 805126e: 4603 mov r3, r0 8051270: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result != FR_OK) { 8051274: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 8051278: 2b00 cmp r3, #0 805127a: d002 beq.n 8051282 MeasFileName[0] = '\0'; 805127c: 4b57 ldr r3, [pc, #348] ; (80513dc ) 805127e: 2200 movs r2, #0 8051280: 701a strb r2, [r3, #0] } menu = MAIN_DIAGN; 8051282: 4b4d ldr r3, [pc, #308] ; (80513b8 ) 8051284: 2226 movs r2, #38 ; 0x26 8051286: 701a strb r2, [r3, #0] lastmenupos = menupos; 8051288: 4b4a ldr r3, [pc, #296] ; (80513b4 ) 805128a: 781b ldrb r3, [r3, #0] 805128c: b2da uxtb r2, r3 805128e: 4b4b ldr r3, [pc, #300] ; (80513bc ) 8051290: 701a strb r2, [r3, #0] menupos = StartStop; 8051292: 4b48 ldr r3, [pc, #288] ; (80513b4 ) 8051294: 2200 movs r2, #0 8051296: 701a strb r2, [r3, #0] initAmplif(); 8051298: f7d0 fbfc bl 8021a94 FIRST = true; 805129c: 4b50 ldr r3, [pc, #320] ; (80513e0 ) 805129e: 2201 movs r2, #1 80512a0: 701a strb r2, [r3, #0] break; 80512a2: bf00 nop } } break; 80512a4: f001 bd38 b.w 8052d18 case PARAM_UDAR: if(menupos == UdarInner) 80512a8: 4b42 ldr r3, [pc, #264] ; (80513b4 ) 80512aa: 781b ldrb r3, [r3, #0] 80512ac: b2db uxtb r3, r3 80512ae: 2b02 cmp r3, #2 80512b0: d104 bne.n 80512bc menupos = UdarInner_IES; 80512b2: 4b40 ldr r3, [pc, #256] ; (80513b4 ) 80512b4: 2207 movs r2, #7 80512b6: 701a strb r2, [r3, #0] FIRST = true; FirstStart = true; SeeResults = false; } break; 80512b8: f001 bd30 b.w 8052d1c if((menupos >= UdarInner_IES) && (menupos <= UdarInner_IKT)) 80512bc: 4b3d ldr r3, [pc, #244] ; (80513b4 ) 80512be: 781b ldrb r3, [r3, #0] 80512c0: b2db uxtb r3, r3 80512c2: 2b06 cmp r3, #6 80512c4: d908 bls.n 80512d8 80512c6: 4b3b ldr r3, [pc, #236] ; (80513b4 ) 80512c8: 781b ldrb r3, [r3, #0] 80512ca: b2db uxtb r3, r3 80512cc: 2b0c cmp r3, #12 80512ce: d803 bhi.n 80512d8 menupos = UdarInner; 80512d0: 4b38 ldr r3, [pc, #224] ; (80513b4 ) 80512d2: 2202 movs r2, #2 80512d4: 701a strb r2, [r3, #0] 80512d6: e03b b.n 8051350 if(menupos == UdarRate) 80512d8: 4b36 ldr r3, [pc, #216] ; (80513b4 ) 80512da: 781b ldrb r3, [r3, #0] 80512dc: b2db uxtb r3, r3 80512de: 2b01 cmp r3, #1 80512e0: d104 bne.n 80512ec menupos = UdarRate_IEE; 80512e2: 4b34 ldr r3, [pc, #208] ; (80513b4 ) 80512e4: 2206 movs r2, #6 80512e6: 701a strb r2, [r3, #0] break; 80512e8: f001 bd18 b.w 8052d1c if((menupos >= UdarRate_IET) && (menupos <= UdarRate_IEE)) 80512ec: 4b31 ldr r3, [pc, #196] ; (80513b4 ) 80512ee: 781b ldrb r3, [r3, #0] 80512f0: b2db uxtb r3, r3 80512f2: 2b02 cmp r3, #2 80512f4: d908 bls.n 8051308 80512f6: 4b2f ldr r3, [pc, #188] ; (80513b4 ) 80512f8: 781b ldrb r3, [r3, #0] 80512fa: b2db uxtb r3, r3 80512fc: 2b06 cmp r3, #6 80512fe: d803 bhi.n 8051308 menupos = UdarRate; 8051300: 4b2c ldr r3, [pc, #176] ; (80513b4 ) 8051302: 2201 movs r2, #1 8051304: 701a strb r2, [r3, #0] 8051306: e023 b.n 8051350 if(menupos == Ok) 8051308: 4b2a ldr r3, [pc, #168] ; (80513b4 ) 805130a: 781b ldrb r3, [r3, #0] 805130c: b2db uxtb r3, r3 805130e: 2b00 cmp r3, #0 8051310: f041 8504 bne.w 8052d1c menu = MAIN_UDAR; 8051314: 4b28 ldr r3, [pc, #160] ; (80513b8 ) 8051316: 2225 movs r2, #37 ; 0x25 8051318: 701a strb r2, [r3, #0] lastmenupos = menupos; 805131a: 4b26 ldr r3, [pc, #152] ; (80513b4 ) 805131c: 781b ldrb r3, [r3, #0] 805131e: b2da uxtb r2, r3 8051320: 4b26 ldr r3, [pc, #152] ; (80513bc ) 8051322: 701a strb r2, [r3, #0] menupos = StartStop; 8051324: 4b23 ldr r3, [pc, #140] ; (80513b4 ) 8051326: 2200 movs r2, #0 8051328: 701a strb r2, [r3, #0] pardata.SYG = UDAR; 805132a: 4b2e ldr r3, [pc, #184] ; (80513e4 ) 805132c: 2209 movs r2, #9 805132e: 701a strb r2, [r3, #0] Threshold = false; 8051330: 4b2d ldr r3, [pc, #180] ; (80513e8 ) 8051332: 2200 movs r2, #0 8051334: 701a strb r2, [r3, #0] initAmplif(); 8051336: f7d0 fbad bl 8021a94 FIRST = true; 805133a: 4b29 ldr r3, [pc, #164] ; (80513e0 ) 805133c: 2201 movs r2, #1 805133e: 701a strb r2, [r3, #0] FirstStart = true; 8051340: 4b2a ldr r3, [pc, #168] ; (80513ec ) 8051342: 2201 movs r2, #1 8051344: 701a strb r2, [r3, #0] SeeResults = false; 8051346: 4b2a ldr r3, [pc, #168] ; (80513f0 ) 8051348: 2200 movs r2, #0 805134a: 701a strb r2, [r3, #0] break; 805134c: f001 bce6 b.w 8052d1c 8051350: f001 bce4 b.w 8052d1c case PARAM_ROLL: if(menupos == RollCount) 8051354: 4b17 ldr r3, [pc, #92] ; (80513b4 ) 8051356: 781b ldrb r3, [r3, #0] 8051358: b2db uxtb r3, r3 805135a: 2b01 cmp r3, #1 805135c: d111 bne.n 8051382 { if(!focused) 805135e: 4b1c ldr r3, [pc, #112] ; (80513d0 ) 8051360: 781b ldrb r3, [r3, #0] 8051362: b2db uxtb r3, r3 8051364: f083 0301 eor.w r3, r3, #1 8051368: b2db uxtb r3, r3 805136a: 2b00 cmp r3, #0 805136c: d004 beq.n 8051378 focused = true; 805136e: 4b18 ldr r3, [pc, #96] ; (80513d0 ) 8051370: 2201 movs r2, #1 8051372: 701a strb r2, [r3, #0] FIRST = true; FirstStart = true; SeeResults = false; } break; 8051374: f001 bcd4 b.w 8052d20 else focused = false; 8051378: 4b15 ldr r3, [pc, #84] ; (80513d0 ) 805137a: 2200 movs r2, #0 805137c: 701a strb r2, [r3, #0] break; 805137e: f001 bccf b.w 8052d20 if(menupos == RollAverage) 8051382: 4b0c ldr r3, [pc, #48] ; (80513b4 ) 8051384: 781b ldrb r3, [r3, #0] 8051386: b2db uxtb r3, r3 8051388: 2b06 cmp r3, #6 805138a: d133 bne.n 80513f4 if(!focused) 805138c: 4b10 ldr r3, [pc, #64] ; (80513d0 ) 805138e: 781b ldrb r3, [r3, #0] 8051390: b2db uxtb r3, r3 8051392: f083 0301 eor.w r3, r3, #1 8051396: b2db uxtb r3, r3 8051398: 2b00 cmp r3, #0 805139a: d004 beq.n 80513a6 focused = true; 805139c: 4b0c ldr r3, [pc, #48] ; (80513d0 ) 805139e: 2201 movs r2, #1 80513a0: 701a strb r2, [r3, #0] break; 80513a2: f001 bcbd b.w 8052d20 else focused = false; 80513a6: 4b0a ldr r3, [pc, #40] ; (80513d0 ) 80513a8: 2200 movs r2, #0 80513aa: 701a strb r2, [r3, #0] break; 80513ac: f001 bcb8 b.w 8052d20 80513b0: 20020e7c .word 0x20020e7c 80513b4: 20020070 .word 0x20020070 80513b8: 20020f78 .word 0x20020f78 80513bc: 20020071 .word 0x20020071 80513c0: 20021011 .word 0x20021011 80513c4: 20021013 .word 0x20021013 80513c8: 20025cf4 .word 0x20025cf4 80513cc: 20020ef4 .word 0x20020ef4 80513d0: 20020f84 .word 0x20020f84 80513d4: 200268d8 .word 0x200268d8 80513d8: 00000000 .word 0x00000000 80513dc: 20020e58 .word 0x20020e58 80513e0: 20020db2 .word 0x20020db2 80513e4: 20023e60 .word 0x20023e60 80513e8: 20020db1 .word 0x20020db1 80513ec: 20020068 .word 0x20020068 80513f0: 20020d68 .word 0x20020d68 if(menupos == RollMax_ALL) 80513f4: 4bb3 ldr r3, [pc, #716] ; (80516c4 ) 80513f6: 781b ldrb r3, [r3, #0] 80513f8: b2db uxtb r3, r3 80513fa: 2b08 cmp r3, #8 80513fc: d104 bne.n 8051408 menupos = RollMax_IET; 80513fe: 4bb1 ldr r3, [pc, #708] ; (80516c4 ) 8051400: 2227 movs r2, #39 ; 0x27 8051402: 701a strb r2, [r3, #0] break; 8051404: f001 bc8c b.w 8052d20 if((menupos >= RollMax_IDT) && (menupos <= RollMax_IKD)) 8051408: 4bae ldr r3, [pc, #696] ; (80516c4 ) 805140a: 781b ldrb r3, [r3, #0] 805140c: b2db uxtb r3, r3 805140e: 2b25 cmp r3, #37 ; 0x25 8051410: d908 bls.n 8051424 8051412: 4bac ldr r3, [pc, #688] ; (80516c4 ) 8051414: 781b ldrb r3, [r3, #0] 8051416: b2db uxtb r3, r3 8051418: 2b2b cmp r3, #43 ; 0x2b 805141a: d803 bhi.n 8051424 menupos = RollMax_ALL; 805141c: 4ba9 ldr r3, [pc, #676] ; (80516c4 ) 805141e: 2208 movs r2, #8 8051420: 701a strb r2, [r3, #0] 8051422: e0bb b.n 805159c if(menupos == D_Roll) 8051424: 4ba7 ldr r3, [pc, #668] ; (80516c4 ) 8051426: 781b ldrb r3, [r3, #0] 8051428: b2db uxtb r3, r3 805142a: 2b02 cmp r3, #2 805142c: d104 bne.n 8051438 menupos = D_Roll_IEE; 805142e: 4ba5 ldr r3, [pc, #660] ; (80516c4 ) 8051430: 220c movs r2, #12 8051432: 701a strb r2, [r3, #0] break; 8051434: f001 bc74 b.w 8052d20 if((menupos >= D_Roll_IES) && (menupos <= D_Roll_IKT)) 8051438: 4ba2 ldr r3, [pc, #648] ; (80516c4 ) 805143a: 781b ldrb r3, [r3, #0] 805143c: b2db uxtb r3, r3 805143e: 2b09 cmp r3, #9 8051440: d908 bls.n 8051454 8051442: 4ba0 ldr r3, [pc, #640] ; (80516c4 ) 8051444: 781b ldrb r3, [r3, #0] 8051446: b2db uxtb r3, r3 8051448: 2b0f cmp r3, #15 805144a: d803 bhi.n 8051454 menupos = D_Roll; 805144c: 4b9d ldr r3, [pc, #628] ; (80516c4 ) 805144e: 2202 movs r2, #2 8051450: 701a strb r2, [r3, #0] 8051452: e0a3 b.n 805159c if(menupos == D_Outer) 8051454: 4b9b ldr r3, [pc, #620] ; (80516c4 ) 8051456: 781b ldrb r3, [r3, #0] 8051458: b2db uxtb r3, r3 805145a: 2b03 cmp r3, #3 805145c: d104 bne.n 8051468 menupos = D_Outer_IEE; 805145e: 4b99 ldr r3, [pc, #612] ; (80516c4 ) 8051460: 2212 movs r2, #18 8051462: 701a strb r2, [r3, #0] break; 8051464: f001 bc5c b.w 8052d20 if((menupos >= D_Outer_IES) && (menupos <= D_Outer_IKT)) 8051468: 4b96 ldr r3, [pc, #600] ; (80516c4 ) 805146a: 781b ldrb r3, [r3, #0] 805146c: b2db uxtb r3, r3 805146e: 2b0f cmp r3, #15 8051470: d908 bls.n 8051484 8051472: 4b94 ldr r3, [pc, #592] ; (80516c4 ) 8051474: 781b ldrb r3, [r3, #0] 8051476: b2db uxtb r3, r3 8051478: 2b15 cmp r3, #21 805147a: d803 bhi.n 8051484 menupos = D_Outer; 805147c: 4b91 ldr r3, [pc, #580] ; (80516c4 ) 805147e: 2203 movs r2, #3 8051480: 701a strb r2, [r3, #0] 8051482: e08b b.n 805159c if(menupos == D_Inner) 8051484: 4b8f ldr r3, [pc, #572] ; (80516c4 ) 8051486: 781b ldrb r3, [r3, #0] 8051488: b2db uxtb r3, r3 805148a: 2b04 cmp r3, #4 805148c: d104 bne.n 8051498 menupos = D_Inner_IEE; 805148e: 4b8d ldr r3, [pc, #564] ; (80516c4 ) 8051490: 2218 movs r2, #24 8051492: 701a strb r2, [r3, #0] break; 8051494: f001 bc44 b.w 8052d20 if((menupos >= D_Inner_IES) && (menupos <= D_Inner_IKT)) 8051498: 4b8a ldr r3, [pc, #552] ; (80516c4 ) 805149a: 781b ldrb r3, [r3, #0] 805149c: b2db uxtb r3, r3 805149e: 2b15 cmp r3, #21 80514a0: d908 bls.n 80514b4 80514a2: 4b88 ldr r3, [pc, #544] ; (80516c4 ) 80514a4: 781b ldrb r3, [r3, #0] 80514a6: b2db uxtb r3, r3 80514a8: 2b1b cmp r3, #27 80514aa: d803 bhi.n 80514b4 menupos = D_Inner; 80514ac: 4b85 ldr r3, [pc, #532] ; (80516c4 ) 80514ae: 2204 movs r2, #4 80514b0: 701a strb r2, [r3, #0] 80514b2: e073 b.n 805159c if(menupos == D_Angle) 80514b4: 4b83 ldr r3, [pc, #524] ; (80516c4 ) 80514b6: 781b ldrb r3, [r3, #0] 80514b8: b2db uxtb r3, r3 80514ba: 2b05 cmp r3, #5 80514bc: d104 bne.n 80514c8 menupos = D_Angle_IEE; 80514be: 4b81 ldr r3, [pc, #516] ; (80516c4 ) 80514c0: 221e movs r2, #30 80514c2: 701a strb r2, [r3, #0] break; 80514c4: f001 bc2c b.w 8052d20 if((menupos >= D_Angle_IES) && (menupos <= D_Angle_IKT)) 80514c8: 4b7e ldr r3, [pc, #504] ; (80516c4 ) 80514ca: 781b ldrb r3, [r3, #0] 80514cc: b2db uxtb r3, r3 80514ce: 2b1b cmp r3, #27 80514d0: d908 bls.n 80514e4 80514d2: 4b7c ldr r3, [pc, #496] ; (80516c4 ) 80514d4: 781b ldrb r3, [r3, #0] 80514d6: b2db uxtb r3, r3 80514d8: 2b21 cmp r3, #33 ; 0x21 80514da: d803 bhi.n 80514e4 menupos = D_Angle; 80514dc: 4b79 ldr r3, [pc, #484] ; (80516c4 ) 80514de: 2205 movs r2, #5 80514e0: 701a strb r2, [r3, #0] 80514e2: e05b b.n 805159c if(menupos == D_Rate) 80514e4: 4b77 ldr r3, [pc, #476] ; (80516c4 ) 80514e6: 781b ldrb r3, [r3, #0] 80514e8: b2db uxtb r3, r3 80514ea: 2b09 cmp r3, #9 80514ec: d104 bne.n 80514f8 menupos = D_Rate_IEE; 80514ee: 4b75 ldr r3, [pc, #468] ; (80516c4 ) 80514f0: 2225 movs r2, #37 ; 0x25 80514f2: 701a strb r2, [r3, #0] break; 80514f4: f001 bc14 b.w 8052d20 if((menupos >= D_Rate_IET) && (menupos <= D_Rate_IEE)) 80514f8: 4b72 ldr r3, [pc, #456] ; (80516c4 ) 80514fa: 781b ldrb r3, [r3, #0] 80514fc: b2db uxtb r3, r3 80514fe: 2b21 cmp r3, #33 ; 0x21 8051500: d908 bls.n 8051514 8051502: 4b70 ldr r3, [pc, #448] ; (80516c4 ) 8051504: 781b ldrb r3, [r3, #0] 8051506: b2db uxtb r3, r3 8051508: 2b25 cmp r3, #37 ; 0x25 805150a: d803 bhi.n 8051514 menupos = D_Rate; 805150c: 4b6d ldr r3, [pc, #436] ; (80516c4 ) 805150e: 2209 movs r2, #9 8051510: 701a strb r2, [r3, #0] 8051512: e043 b.n 805159c if(menupos == RollAutoKu) 8051514: 4b6b ldr r3, [pc, #428] ; (80516c4 ) 8051516: 781b ldrb r3, [r3, #0] 8051518: b2db uxtb r3, r3 805151a: 2b07 cmp r3, #7 805151c: d11a bne.n 8051554 if(pardata.OPTIONS & 0x4) 805151e: 4b6a ldr r3, [pc, #424] ; (80516c8 ) 8051520: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8051524: f003 0304 and.w r3, r3, #4 8051528: 2b00 cmp r3, #0 805152a: d009 beq.n 8051540 pardata.OPTIONS &= ~0x4; 805152c: 4b66 ldr r3, [pc, #408] ; (80516c8 ) 805152e: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8051532: f023 0304 bic.w r3, r3, #4 8051536: 4a64 ldr r2, [pc, #400] ; (80516c8 ) 8051538: f8c2 3098 str.w r3, [r2, #152] ; 0x98 break; 805153c: f001 bbf0 b.w 8052d20 else pardata.OPTIONS |= 0x4; 8051540: 4b61 ldr r3, [pc, #388] ; (80516c8 ) 8051542: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8051546: f043 0304 orr.w r3, r3, #4 805154a: 4a5f ldr r2, [pc, #380] ; (80516c8 ) 805154c: f8c2 3098 str.w r3, [r2, #152] ; 0x98 break; 8051550: f001 bbe6 b.w 8052d20 if(menupos == Ok) 8051554: 4b5b ldr r3, [pc, #364] ; (80516c4 ) 8051556: 781b ldrb r3, [r3, #0] 8051558: b2db uxtb r3, r3 805155a: 2b00 cmp r3, #0 805155c: f041 83e0 bne.w 8052d20 menu = MAIN_ROLL; 8051560: 4b5a ldr r3, [pc, #360] ; (80516cc ) 8051562: 2224 movs r2, #36 ; 0x24 8051564: 701a strb r2, [r3, #0] lastmenupos = menupos; 8051566: 4b57 ldr r3, [pc, #348] ; (80516c4 ) 8051568: 781b ldrb r3, [r3, #0] 805156a: b2da uxtb r2, r3 805156c: 4b58 ldr r3, [pc, #352] ; (80516d0 ) 805156e: 701a strb r2, [r3, #0] menupos = StartStop; 8051570: 4b54 ldr r3, [pc, #336] ; (80516c4 ) 8051572: 2200 movs r2, #0 8051574: 701a strb r2, [r3, #0] pardata.SYG = ROLL; 8051576: 4b54 ldr r3, [pc, #336] ; (80516c8 ) 8051578: 2208 movs r2, #8 805157a: 701a strb r2, [r3, #0] Threshold = false; 805157c: 4b55 ldr r3, [pc, #340] ; (80516d4 ) 805157e: 2200 movs r2, #0 8051580: 701a strb r2, [r3, #0] initAmplif(); 8051582: f7d0 fa87 bl 8021a94 FIRST = true; 8051586: 4b54 ldr r3, [pc, #336] ; (80516d8 ) 8051588: 2201 movs r2, #1 805158a: 701a strb r2, [r3, #0] FirstStart = true; 805158c: 4b53 ldr r3, [pc, #332] ; (80516dc ) 805158e: 2201 movs r2, #1 8051590: 701a strb r2, [r3, #0] SeeResults = false; 8051592: 4b53 ldr r3, [pc, #332] ; (80516e0 ) 8051594: 2200 movs r2, #0 8051596: 701a strb r2, [r3, #0] break; 8051598: f001 bbc2 b.w 8052d20 805159c: f001 bbc0 b.w 8052d20 case PARAM_VIB: if((menupos >= VibMax_IDT) && (menupos <= VibMax_IKD)) { 80515a0: 4b48 ldr r3, [pc, #288] ; (80516c4 ) 80515a2: 781b ldrb r3, [r3, #0] 80515a4: b2db uxtb r3, r3 80515a6: 2b0a cmp r3, #10 80515a8: d908 bls.n 80515bc 80515aa: 4b46 ldr r3, [pc, #280] ; (80516c4 ) 80515ac: 781b ldrb r3, [r3, #0] 80515ae: b2db uxtb r3, r3 80515b0: 2b10 cmp r3, #16 80515b2: d803 bhi.n 80515bc menupos = VibMax_ALL; 80515b4: 4b43 ldr r3, [pc, #268] ; (80516c4 ) 80515b6: 2209 movs r2, #9 80515b8: 701a strb r2, [r3, #0] 80515ba: e173 b.n 80518a4 } else if((menupos >= FilterHP_IDT) && (menupos <= FilterHP_IKD)) { 80515bc: 4b41 ldr r3, [pc, #260] ; (80516c4 ) 80515be: 781b ldrb r3, [r3, #0] 80515c0: b2db uxtb r3, r3 80515c2: 2b18 cmp r3, #24 80515c4: d908 bls.n 80515d8 80515c6: 4b3f ldr r3, [pc, #252] ; (80516c4 ) 80515c8: 781b ldrb r3, [r3, #0] 80515ca: b2db uxtb r3, r3 80515cc: 2b1e cmp r3, #30 80515ce: d803 bhi.n 80515d8 menupos = FilterHP; 80515d0: 4b3c ldr r3, [pc, #240] ; (80516c4 ) 80515d2: 2217 movs r2, #23 80515d4: 701a strb r2, [r3, #0] 80515d6: e165 b.n 80518a4 } else if((menupos >= FilterLP_IDT) && (menupos <= FilterLP_IKD)) { 80515d8: 4b3a ldr r3, [pc, #232] ; (80516c4 ) 80515da: 781b ldrb r3, [r3, #0] 80515dc: b2db uxtb r3, r3 80515de: 2b1e cmp r3, #30 80515e0: d908 bls.n 80515f4 80515e2: 4b38 ldr r3, [pc, #224] ; (80516c4 ) 80515e4: 781b ldrb r3, [r3, #0] 80515e6: b2db uxtb r3, r3 80515e8: 2b24 cmp r3, #36 ; 0x24 80515ea: d803 bhi.n 80515f4 menupos = FilterLP; 80515ec: 4b35 ldr r3, [pc, #212] ; (80516c4 ) 80515ee: 2218 movs r2, #24 80515f0: 701a strb r2, [r3, #0] 80515f2: e157 b.n 80518a4 } else { switch(menupos) 80515f4: 4b33 ldr r3, [pc, #204] ; (80516c4 ) 80515f6: 781b ldrb r3, [r3, #0] 80515f8: b2db uxtb r3, r3 80515fa: 2b18 cmp r3, #24 80515fc: f201 8392 bhi.w 8052d24 8051600: a201 add r2, pc, #4 ; (adr r2, 8051608 ) 8051602: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8051606: bf00 nop 8051608: 080517ed .word 0x080517ed 805160c: 08052d25 .word 0x08052d25 8051610: 0805166d .word 0x0805166d 8051614: 0805166d .word 0x0805166d 8051618: 0805166d .word 0x0805166d 805161c: 0805166d .word 0x0805166d 8051620: 080516a5 .word 0x080516a5 8051624: 0805172d .word 0x0805172d 8051628: 080516fb .word 0x080516fb 805162c: 0805169d .word 0x0805169d 8051630: 0805175f .word 0x0805175f 8051634: 08052d25 .word 0x08052d25 8051638: 08052d25 .word 0x08052d25 805163c: 08052d25 .word 0x08052d25 8051640: 08052d25 .word 0x08052d25 8051644: 08052d25 .word 0x08052d25 8051648: 08052d25 .word 0x08052d25 805164c: 08052d25 .word 0x08052d25 8051650: 08052d25 .word 0x08052d25 8051654: 08052d25 .word 0x08052d25 8051658: 08052d25 .word 0x08052d25 805165c: 08052d25 .word 0x08052d25 8051660: 08052d25 .word 0x08052d25 8051664: 0805168d .word 0x0805168d 8051668: 08051695 .word 0x08051695 { case ValueA: case ValueV: case ValueS: case Average: if(!focused) 805166c: 4b1d ldr r3, [pc, #116] ; (80516e4 ) 805166e: 781b ldrb r3, [r3, #0] 8051670: b2db uxtb r3, r3 8051672: f083 0301 eor.w r3, r3, #1 8051676: b2db uxtb r3, r3 8051678: 2b00 cmp r3, #0 805167a: d003 beq.n 8051684 focused = true; 805167c: 4b19 ldr r3, [pc, #100] ; (80516e4 ) 805167e: 2201 movs r2, #1 8051680: 701a strb r2, [r3, #0] else focused = false; break; 8051682: e10f b.n 80518a4 else focused = false; 8051684: 4b17 ldr r3, [pc, #92] ; (80516e4 ) 8051686: 2200 movs r2, #0 8051688: 701a strb r2, [r3, #0] break; 805168a: e10b b.n 80518a4 case FilterHP: menupos = FilterHP_IET; 805168c: 4b0d ldr r3, [pc, #52] ; (80516c4 ) 805168e: 221a movs r2, #26 8051690: 701a strb r2, [r3, #0] break; 8051692: e107 b.n 80518a4 case FilterLP: menupos = FilterLP_IET; 8051694: 4b0b ldr r3, [pc, #44] ; (80516c4 ) 8051696: 2220 movs r2, #32 8051698: 701a strb r2, [r3, #0] break; 805169a: e103 b.n 80518a4 case VibMax_ALL: menupos = VibMax_IET; 805169c: 4b09 ldr r3, [pc, #36] ; (80516c4 ) 805169e: 220c movs r2, #12 80516a0: 701a strb r2, [r3, #0] break; 80516a2: e0ff b.n 80518a4 case Mediana: if(pardata.OPTIONS & 0x1) 80516a4: 4b08 ldr r3, [pc, #32] ; (80516c8 ) 80516a6: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80516aa: f003 0301 and.w r3, r3, #1 80516ae: 2b00 cmp r3, #0 80516b0: d01a beq.n 80516e8 pardata.OPTIONS &= ~0x1; 80516b2: 4b05 ldr r3, [pc, #20] ; (80516c8 ) 80516b4: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80516b8: f023 0301 bic.w r3, r3, #1 80516bc: 4a02 ldr r2, [pc, #8] ; (80516c8 ) 80516be: f8c2 3098 str.w r3, [r2, #152] ; 0x98 else pardata.OPTIONS |= 0x1; break; 80516c2: e0ef b.n 80518a4 80516c4: 20020070 .word 0x20020070 80516c8: 20023e60 .word 0x20023e60 80516cc: 20020f78 .word 0x20020f78 80516d0: 20020071 .word 0x20020071 80516d4: 20020db1 .word 0x20020db1 80516d8: 20020db2 .word 0x20020db2 80516dc: 20020068 .word 0x20020068 80516e0: 20020d68 .word 0x20020d68 80516e4: 20020f84 .word 0x20020f84 else pardata.OPTIONS |= 0x1; 80516e8: 4bbc ldr r3, [pc, #752] ; (80519dc ) 80516ea: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80516ee: f043 0301 orr.w r3, r3, #1 80516f2: 4aba ldr r2, [pc, #744] ; (80519dc ) 80516f4: f8c2 3098 str.w r3, [r2, #152] ; 0x98 break; 80516f8: e0d4 b.n 80518a4 case VibAutoKu: if(pardata.OPTIONS & 0x4) 80516fa: 4bb8 ldr r3, [pc, #736] ; (80519dc ) 80516fc: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8051700: f003 0304 and.w r3, r3, #4 8051704: 2b00 cmp r3, #0 8051706: d008 beq.n 805171a pardata.OPTIONS &= ~0x4; 8051708: 4bb4 ldr r3, [pc, #720] ; (80519dc ) 805170a: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 805170e: f023 0304 bic.w r3, r3, #4 8051712: 4ab2 ldr r2, [pc, #712] ; (80519dc ) 8051714: f8c2 3098 str.w r3, [r2, #152] ; 0x98 else pardata.OPTIONS |= 0x4; break; 8051718: e0c4 b.n 80518a4 else pardata.OPTIONS |= 0x4; 805171a: 4bb0 ldr r3, [pc, #704] ; (80519dc ) 805171c: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8051720: f043 0304 orr.w r3, r3, #4 8051724: 4aad ldr r2, [pc, #692] ; (80519dc ) 8051726: f8c2 3098 str.w r3, [r2, #152] ; 0x98 break; 805172a: e0bb b.n 80518a4 case ViewFreq: if(pardata.OPTIONS & 0x8) 805172c: 4bab ldr r3, [pc, #684] ; (80519dc ) 805172e: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8051732: f003 0308 and.w r3, r3, #8 8051736: 2b00 cmp r3, #0 8051738: d008 beq.n 805174c pardata.OPTIONS &= ~0x8; 805173a: 4ba8 ldr r3, [pc, #672] ; (80519dc ) 805173c: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8051740: f023 0308 bic.w r3, r3, #8 8051744: 4aa5 ldr r2, [pc, #660] ; (80519dc ) 8051746: f8c2 3098 str.w r3, [r2, #152] ; 0x98 else pardata.OPTIONS |= 0x8; break; 805174a: e0ab b.n 80518a4 else pardata.OPTIONS |= 0x8; 805174c: 4ba3 ldr r3, [pc, #652] ; (80519dc ) 805174e: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8051752: f043 0308 orr.w r3, r3, #8 8051756: 4aa1 ldr r2, [pc, #644] ; (80519dc ) 8051758: f8c2 3098 str.w r3, [r2, #152] ; 0x98 break; 805175c: e0a2 b.n 80518a4 case SaveToFile: result = FR_NOT_READY; 805175e: 2303 movs r3, #3 8051760: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(CardState == MSD_READY) 8051764: 4b9e ldr r3, [pc, #632] ; (80519e0 ) 8051766: 781b ldrb r3, [r3, #0] 8051768: b2db uxtb r3, r3 805176a: 2b03 cmp r3, #3 805176c: d13a bne.n 80517e4 { CursorIndex = 0; 805176e: 4b9d ldr r3, [pc, #628] ; (80519e4 ) 8051770: 2200 movs r2, #0 8051772: 601a str r2, [r3, #0] FirstFileIndex = 0; 8051774: 4b9c ldr r3, [pc, #624] ; (80519e8 ) 8051776: 2200 movs r2, #0 8051778: 601a str r2, [r3, #0] RealFileIndex = 0; 805177a: 4b9c ldr r3, [pc, #624] ; (80519ec ) 805177c: 2200 movs r2, #0 805177e: 601a str r2, [r3, #0] result = ReadNumFilesPTM((uint32_t *) &NumFilesPTM); 8051780: 489b ldr r0, [pc, #620] ; (80519f0 ) 8051782: f7d9 f8e9 bl 802a958 8051786: 4603 mov r3, r0 8051788: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 805178c: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 8051790: 2b00 cmp r3, #0 8051792: d123 bne.n 80517dc { result = ReadMyFilesPTM(FirstFileIndex); 8051794: 4b94 ldr r3, [pc, #592] ; (80519e8 ) 8051796: 681b ldr r3, [r3, #0] 8051798: 4618 mov r0, r3 805179a: f7d9 f9a9 bl 802aaf0 805179e: 4603 mov r3, r0 80517a0: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 80517a4: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 80517a8: 2b00 cmp r3, #0 80517aa: d113 bne.n 80517d4 { menu = EXPLORER; 80517ac: 4b91 ldr r3, [pc, #580] ; (80519f4 ) 80517ae: 2229 movs r2, #41 ; 0x29 80517b0: 701a strb r2, [r3, #0] lastmenupos = menupos; 80517b2: 4b91 ldr r3, [pc, #580] ; (80519f8 ) 80517b4: 781b ldrb r3, [r3, #0] 80517b6: b2da uxtb r2, r3 80517b8: 4b90 ldr r3, [pc, #576] ; (80519fc ) 80517ba: 701a strb r2, [r3, #0] if(NumFilesPTM) 80517bc: 4b8c ldr r3, [pc, #560] ; (80519f0 ) 80517be: 681b ldr r3, [r3, #0] 80517c0: 2b00 cmp r3, #0 80517c2: d003 beq.n 80517cc menupos = FilesPTM; 80517c4: 4b8c ldr r3, [pc, #560] ; (80519f8 ) 80517c6: 2202 movs r2, #2 80517c8: 701a strb r2, [r3, #0] else MeasFileName[0] = '\0'; } else MeasFileName[0] = '\0'; break; 80517ca: e06b b.n 80518a4 else menupos = NoFilesPTM; 80517cc: 4b8a ldr r3, [pc, #552] ; (80519f8 ) 80517ce: 2201 movs r2, #1 80517d0: 701a strb r2, [r3, #0] break; 80517d2: e067 b.n 80518a4 MeasFileName[0] = '\0'; 80517d4: 4b8a ldr r3, [pc, #552] ; (8051a00 ) 80517d6: 2200 movs r2, #0 80517d8: 701a strb r2, [r3, #0] break; 80517da: e063 b.n 80518a4 MeasFileName[0] = '\0'; 80517dc: 4b88 ldr r3, [pc, #544] ; (8051a00 ) 80517de: 2200 movs r2, #0 80517e0: 701a strb r2, [r3, #0] break; 80517e2: e05f b.n 80518a4 MeasFileName[0] = '\0'; 80517e4: 4b86 ldr r3, [pc, #536] ; (8051a00 ) 80517e6: 2200 movs r2, #0 80517e8: 701a strb r2, [r3, #0] break; 80517ea: e05b b.n 80518a4 case Ok: if(pardata.OPTIONS & 0x8) // Åñëè îòîáðàæàòü ÷àñòîòó, òî ïåðåõîäèì â FRAN 80517ec: 4b7b ldr r3, [pc, #492] ; (80519dc ) 80517ee: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80517f2: f003 0308 and.w r3, r3, #8 80517f6: 2b00 cmp r3, #0 80517f8: d02a beq.n 8051850 { pardata.OPTIONS &= ~0x2; 80517fa: 4b78 ldr r3, [pc, #480] ; (80519dc ) 80517fc: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8051800: f023 0302 bic.w r3, r3, #2 8051804: 4a75 ldr r2, [pc, #468] ; (80519dc ) 8051806: f8c2 3098 str.w r3, [r2, #152] ; 0x98 menu = MAIN_FRAN; 805180a: 4b7a ldr r3, [pc, #488] ; (80519f4 ) 805180c: 221f movs r2, #31 805180e: 701a strb r2, [r3, #0] lastmenupos = menupos; 8051810: 4b79 ldr r3, [pc, #484] ; (80519f8 ) 8051812: 781b ldrb r3, [r3, #0] 8051814: b2da uxtb r2, r3 8051816: 4b79 ldr r3, [pc, #484] ; (80519fc ) 8051818: 701a strb r2, [r3, #0] menupos = StartStop; 805181a: 4b77 ldr r3, [pc, #476] ; (80519f8 ) 805181c: 2200 movs r2, #0 805181e: 701a strb r2, [r3, #0] DrawSavedData = false; 8051820: 4b78 ldr r3, [pc, #480] ; (8051a04 ) 8051822: 2200 movs r2, #0 8051824: 701a strb r2, [r3, #0] pardata.SYG = FRAN; 8051826: 4b6d ldr r3, [pc, #436] ; (80519dc ) 8051828: 2203 movs r2, #3 805182a: 701a strb r2, [r3, #0] result = GetPointAndIndexPTM(MeasFileName); 805182c: 4874 ldr r0, [pc, #464] ; (8051a00 ) 805182e: f7d4 fe01 bl 8026434 8051832: 4603 mov r3, r0 8051834: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 Threshold = false; 8051838: 4b73 ldr r3, [pc, #460] ; (8051a08 ) 805183a: 2200 movs r2, #0 805183c: 701a strb r2, [r3, #0] initAmplif(); 805183e: f7d0 f929 bl 8021a94 FIRST = true; 8051842: 4b72 ldr r3, [pc, #456] ; (8051a0c ) 8051844: 2201 movs r2, #1 8051846: 701a strb r2, [r3, #0] SeeLog = false; 8051848: 4b71 ldr r3, [pc, #452] ; (8051a10 ) 805184a: 2200 movs r2, #0 805184c: 701a strb r2, [r3, #0] initAmplif(); FIRST = true; SeeLog = false; } break; 805184e: e028 b.n 80518a2 menu = MAIN; 8051850: 4b68 ldr r3, [pc, #416] ; (80519f4 ) 8051852: 2200 movs r2, #0 8051854: 701a strb r2, [r3, #0] lastmenupos = menupos; 8051856: 4b68 ldr r3, [pc, #416] ; (80519f8 ) 8051858: 781b ldrb r3, [r3, #0] 805185a: b2da uxtb r2, r3 805185c: 4b67 ldr r3, [pc, #412] ; (80519fc ) 805185e: 701a strb r2, [r3, #0] menupos = StartStop; 8051860: 4b65 ldr r3, [pc, #404] ; (80519f8 ) 8051862: 2200 movs r2, #0 8051864: 701a strb r2, [r3, #0] DrawSavedData = false; 8051866: 4b67 ldr r3, [pc, #412] ; (8051a04 ) 8051868: 2200 movs r2, #0 805186a: 701a strb r2, [r3, #0] result = GetPointAndIndexPTM(MeasFileName); 805186c: 4864 ldr r0, [pc, #400] ; (8051a00 ) 805186e: f7d4 fde1 bl 8026434 8051872: 4603 mov r3, r0 8051874: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result != FR_OK) { 8051878: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 805187c: 2b00 cmp r3, #0 805187e: d002 beq.n 8051886 MeasFileName[0] = '\0'; 8051880: 4b5f ldr r3, [pc, #380] ; (8051a00 ) 8051882: 2200 movs r2, #0 8051884: 701a strb r2, [r3, #0] pardata.SYG = VIB; 8051886: 4b55 ldr r3, [pc, #340] ; (80519dc ) 8051888: 2200 movs r2, #0 805188a: 701a strb r2, [r3, #0] Threshold = false; 805188c: 4b5e ldr r3, [pc, #376] ; (8051a08 ) 805188e: 2200 movs r2, #0 8051890: 701a strb r2, [r3, #0] initAmplif(); 8051892: f7d0 f8ff bl 8021a94 FIRST = true; 8051896: 4b5d ldr r3, [pc, #372] ; (8051a0c ) 8051898: 2201 movs r2, #1 805189a: 701a strb r2, [r3, #0] SeeLog = false; 805189c: 4b5c ldr r3, [pc, #368] ; (8051a10 ) 805189e: 2200 movs r2, #0 80518a0: 701a strb r2, [r3, #0] break; 80518a2: bf00 nop } } break; 80518a4: f001 ba3e b.w 8052d24 case PARAM_SPEC: if((menupos >= FilterHP_IDT) && (menupos <= FilterHP_IKD)) { 80518a8: 4b53 ldr r3, [pc, #332] ; (80519f8 ) 80518aa: 781b ldrb r3, [r3, #0] 80518ac: b2db uxtb r3, r3 80518ae: 2b18 cmp r3, #24 80518b0: d908 bls.n 80518c4 80518b2: 4b51 ldr r3, [pc, #324] ; (80519f8 ) 80518b4: 781b ldrb r3, [r3, #0] 80518b6: b2db uxtb r3, r3 80518b8: 2b1e cmp r3, #30 80518ba: d803 bhi.n 80518c4 menupos = FilterHP; 80518bc: 4b4e ldr r3, [pc, #312] ; (80519f8 ) 80518be: 2217 movs r2, #23 80518c0: 701a strb r2, [r3, #0] 80518c2: e135 b.n 8051b30 } else if((menupos >= FilterLP_IDT) && (menupos <= FilterLP_IKD)) { 80518c4: 4b4c ldr r3, [pc, #304] ; (80519f8 ) 80518c6: 781b ldrb r3, [r3, #0] 80518c8: b2db uxtb r3, r3 80518ca: 2b1e cmp r3, #30 80518cc: d908 bls.n 80518e0 80518ce: 4b4a ldr r3, [pc, #296] ; (80519f8 ) 80518d0: 781b ldrb r3, [r3, #0] 80518d2: b2db uxtb r3, r3 80518d4: 2b24 cmp r3, #36 ; 0x24 80518d6: d803 bhi.n 80518e0 menupos = FilterLP; 80518d8: 4b47 ldr r3, [pc, #284] ; (80519f8 ) 80518da: 2218 movs r2, #24 80518dc: 701a strb r2, [r3, #0] 80518de: e127 b.n 8051b30 } else if((menupos >= VibMax_IDT) && (menupos <= VibMax_IKD)) { 80518e0: 4b45 ldr r3, [pc, #276] ; (80519f8 ) 80518e2: 781b ldrb r3, [r3, #0] 80518e4: b2db uxtb r3, r3 80518e6: 2b0a cmp r3, #10 80518e8: d908 bls.n 80518fc 80518ea: 4b43 ldr r3, [pc, #268] ; (80519f8 ) 80518ec: 781b ldrb r3, [r3, #0] 80518ee: b2db uxtb r3, r3 80518f0: 2b10 cmp r3, #16 80518f2: d803 bhi.n 80518fc menupos = VibMax_ALL; 80518f4: 4b40 ldr r3, [pc, #256] ; (80519f8 ) 80518f6: 2209 movs r2, #9 80518f8: 701a strb r2, [r3, #0] 80518fa: e119 b.n 8051b30 } else { switch(menupos) 80518fc: 4b3e ldr r3, [pc, #248] ; (80519f8 ) 80518fe: 781b ldrb r3, [r3, #0] 8051900: b2db uxtb r3, r3 8051902: 2b18 cmp r3, #24 8051904: f201 8210 bhi.w 8052d28 8051908: a201 add r2, pc, #4 ; (adr r2, 8051910 ) 805190a: f852 f023 ldr.w pc, [r2, r3, lsl #2] 805190e: bf00 nop 8051910: 08051a19 .word 0x08051a19 8051914: 08051983 .word 0x08051983 8051918: 08051983 .word 0x08051983 805191c: 08052d29 .word 0x08052d29 8051920: 08051983 .word 0x08051983 8051924: 08051983 .word 0x08051983 8051928: 08051983 .word 0x08051983 805192c: 08051983 .word 0x08051983 8051930: 080519a3 .word 0x080519a3 8051934: 080519d5 .word 0x080519d5 8051938: 08052d29 .word 0x08052d29 805193c: 08052d29 .word 0x08052d29 8051940: 08052d29 .word 0x08052d29 8051944: 08052d29 .word 0x08052d29 8051948: 08052d29 .word 0x08052d29 805194c: 08052d29 .word 0x08052d29 8051950: 08052d29 .word 0x08052d29 8051954: 08052d29 .word 0x08052d29 8051958: 08052d29 .word 0x08052d29 805195c: 08052d29 .word 0x08052d29 8051960: 08052d29 .word 0x08052d29 8051964: 08052d29 .word 0x08052d29 8051968: 08052d29 .word 0x08052d29 805196c: 08051975 .word 0x08051975 8051970: 0805197d .word 0x0805197d { case FilterHP: menupos = FilterHP_IET; 8051974: 4b20 ldr r3, [pc, #128] ; (80519f8 ) 8051976: 221a movs r2, #26 8051978: 701a strb r2, [r3, #0] break; 805197a: e0d9 b.n 8051b30 case FilterLP: menupos = FilterLP_IET; 805197c: 4b1e ldr r3, [pc, #120] ; (80519f8 ) 805197e: 2220 movs r2, #32 8051980: 701a strb r2, [r3, #0] case SpecValue: case SpecLines: case SpecWin: case LinLog: case SAverage: if(!focused) 8051982: 4b24 ldr r3, [pc, #144] ; (8051a14 ) 8051984: 781b ldrb r3, [r3, #0] 8051986: b2db uxtb r3, r3 8051988: f083 0301 eor.w r3, r3, #1 805198c: b2db uxtb r3, r3 805198e: 2b00 cmp r3, #0 8051990: d003 beq.n 805199a focused = true; 8051992: 4b20 ldr r3, [pc, #128] ; (8051a14 ) 8051994: 2201 movs r2, #1 8051996: 701a strb r2, [r3, #0] else focused = false; break; 8051998: e0ca b.n 8051b30 else focused = false; 805199a: 4b1e ldr r3, [pc, #120] ; (8051a14 ) 805199c: 2200 movs r2, #0 805199e: 701a strb r2, [r3, #0] break; 80519a0: e0c6 b.n 8051b30 case VibAutoKu: if(pardata.OPTIONS & BIT2) 80519a2: 4b0e ldr r3, [pc, #56] ; (80519dc ) 80519a4: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80519a8: f003 0304 and.w r3, r3, #4 80519ac: 2b00 cmp r3, #0 80519ae: d008 beq.n 80519c2 pardata.OPTIONS &= ~BIT2; 80519b0: 4b0a ldr r3, [pc, #40] ; (80519dc ) 80519b2: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80519b6: f023 0304 bic.w r3, r3, #4 80519ba: 4a08 ldr r2, [pc, #32] ; (80519dc ) 80519bc: f8c2 3098 str.w r3, [r2, #152] ; 0x98 else pardata.OPTIONS |= BIT2; break; 80519c0: e0b6 b.n 8051b30 else pardata.OPTIONS |= BIT2; 80519c2: 4b06 ldr r3, [pc, #24] ; (80519dc ) 80519c4: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80519c8: f043 0304 orr.w r3, r3, #4 80519cc: 4a03 ldr r2, [pc, #12] ; (80519dc ) 80519ce: f8c2 3098 str.w r3, [r2, #152] ; 0x98 break; 80519d2: e0ad b.n 8051b30 case VibMax_ALL: menupos = VibMax_IET; 80519d4: 4b08 ldr r3, [pc, #32] ; (80519f8 ) 80519d6: 220c movs r2, #12 80519d8: 701a strb r2, [r3, #0] break; 80519da: e0a9 b.n 8051b30 80519dc: 20023e60 .word 0x20023e60 80519e0: 2002164c .word 0x2002164c 80519e4: 20020de0 .word 0x20020de0 80519e8: 20020de4 .word 0x20020de4 80519ec: 20020de8 .word 0x20020de8 80519f0: 20020df4 .word 0x20020df4 80519f4: 20020f78 .word 0x20020f78 80519f8: 20020070 .word 0x20020070 80519fc: 20020071 .word 0x20020071 8051a00: 20020e58 .word 0x20020e58 8051a04: 20020dca .word 0x20020dca 8051a08: 20020db1 .word 0x20020db1 8051a0c: 20020db2 .word 0x20020db2 8051a10: 20020f77 .word 0x20020f77 8051a14: 20020f84 .word 0x20020f84 case Ok: arm_fill_f32(0.0f, skz, 3); 8051a18: 2103 movs r1, #3 8051a1a: 48b0 ldr r0, [pc, #704] ; (8051cdc ) 8051a1c: ed9f 0ab0 vldr s0, [pc, #704] ; 8051ce0 8051a20: f078 f970 bl 80c9d04 arm_fill_f32(0.0f, skzDB, 3); 8051a24: 2103 movs r1, #3 8051a26: 48af ldr r0, [pc, #700] ; (8051ce4 ) 8051a28: ed9f 0aad vldr s0, [pc, #692] ; 8051ce0 8051a2c: f078 f96a bl 80c9d04 if((pardata.OPTIONS & maskFFT) == fft) 8051a30: 4bad ldr r3, [pc, #692] ; (8051ce8 ) 8051a32: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8051a36: f003 0330 and.w r3, r3, #48 ; 0x30 8051a3a: 2b00 cmp r3, #0 8051a3c: d116 bne.n 8051a6c { menu = MAIN_SPEC; 8051a3e: 4bab ldr r3, [pc, #684] ; (8051cec ) 8051a40: 221c movs r2, #28 8051a42: 701a strb r2, [r3, #0] lastmenupos = menupos; 8051a44: 4baa ldr r3, [pc, #680] ; (8051cf0 ) 8051a46: 781b ldrb r3, [r3, #0] 8051a48: b2da uxtb r2, r3 8051a4a: 4baa ldr r3, [pc, #680] ; (8051cf4 ) 8051a4c: 701a strb r2, [r3, #0] menupos = StartStop; 8051a4e: 4ba8 ldr r3, [pc, #672] ; (8051cf0 ) 8051a50: 2200 movs r2, #0 8051a52: 701a strb r2, [r3, #0] pardata.SYG = SPEC; 8051a54: 4ba4 ldr r3, [pc, #656] ; (8051ce8 ) 8051a56: 2201 movs r2, #1 8051a58: 701a strb r2, [r3, #0] Threshold = false; 8051a5a: 4ba7 ldr r3, [pc, #668] ; (8051cf8 ) 8051a5c: 2200 movs r2, #0 8051a5e: 701a strb r2, [r3, #0] initAmplif(); 8051a60: f7d0 f818 bl 8021a94 FIRST = true; 8051a64: 4ba5 ldr r3, [pc, #660] ; (8051cfc ) 8051a66: 2201 movs r2, #1 8051a68: 701a strb r2, [r3, #0] Threshold = false; initAmplif(); FIRST = true; } break; 8051a6a: e060 b.n 8051b2e if((pardata.OPTIONS & maskFFT) == env) 8051a6c: 4b9e ldr r3, [pc, #632] ; (8051ce8 ) 8051a6e: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8051a72: f003 0330 and.w r3, r3, #48 ; 0x30 8051a76: 2b10 cmp r3, #16 8051a78: d116 bne.n 8051aa8 menu = MAIN_SPEC_OGIB; 8051a7a: 4b9c ldr r3, [pc, #624] ; (8051cec ) 8051a7c: 2221 movs r2, #33 ; 0x21 8051a7e: 701a strb r2, [r3, #0] lastmenupos = menupos; 8051a80: 4b9b ldr r3, [pc, #620] ; (8051cf0 ) 8051a82: 781b ldrb r3, [r3, #0] 8051a84: b2da uxtb r2, r3 8051a86: 4b9b ldr r3, [pc, #620] ; (8051cf4 ) 8051a88: 701a strb r2, [r3, #0] menupos = StartStop; 8051a8a: 4b99 ldr r3, [pc, #612] ; (8051cf0 ) 8051a8c: 2200 movs r2, #0 8051a8e: 701a strb r2, [r3, #0] pardata.SYG = SPEC_OGIB; 8051a90: 4b95 ldr r3, [pc, #596] ; (8051ce8 ) 8051a92: 2205 movs r2, #5 8051a94: 701a strb r2, [r3, #0] Threshold = false; 8051a96: 4b98 ldr r3, [pc, #608] ; (8051cf8 ) 8051a98: 2200 movs r2, #0 8051a9a: 701a strb r2, [r3, #0] initAmplif(); 8051a9c: f7cf fffa bl 8021a94 FIRST = true; 8051aa0: 4b96 ldr r3, [pc, #600] ; (8051cfc ) 8051aa2: 2201 movs r2, #1 8051aa4: 701a strb r2, [r3, #0] break; 8051aa6: e042 b.n 8051b2e if((pardata.OPTIONS & maskFFT) == okt) 8051aa8: 4b8f ldr r3, [pc, #572] ; (8051ce8 ) 8051aaa: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8051aae: f003 0330 and.w r3, r3, #48 ; 0x30 8051ab2: 2b20 cmp r3, #32 8051ab4: d11e bne.n 8051af4 menu = MAIN_SPEC_OKT; 8051ab6: 4b8d ldr r3, [pc, #564] ; (8051cec ) 8051ab8: 2222 movs r2, #34 ; 0x22 8051aba: 701a strb r2, [r3, #0] lastmenupos = menupos; 8051abc: 4b8c ldr r3, [pc, #560] ; (8051cf0 ) 8051abe: 781b ldrb r3, [r3, #0] 8051ac0: b2da uxtb r2, r3 8051ac2: 4b8c ldr r3, [pc, #560] ; (8051cf4 ) 8051ac4: 701a strb r2, [r3, #0] menupos = StartStop; 8051ac6: 4b8a ldr r3, [pc, #552] ; (8051cf0 ) 8051ac8: 2200 movs r2, #0 8051aca: 701a strb r2, [r3, #0] pardata.SYG = SPEC_OKT; 8051acc: 4b86 ldr r3, [pc, #536] ; (8051ce8 ) 8051ace: 2206 movs r2, #6 8051ad0: 701a strb r2, [r3, #0] if(pardata.LNE > N3200) 8051ad2: 4b85 ldr r3, [pc, #532] ; (8051ce8 ) 8051ad4: 79db ldrb r3, [r3, #7] 8051ad6: b2db uxtb r3, r3 8051ad8: 2b03 cmp r3, #3 8051ada: d902 bls.n 8051ae2 pardata.LNE = N3200; 8051adc: 4b82 ldr r3, [pc, #520] ; (8051ce8 ) 8051ade: 2203 movs r2, #3 8051ae0: 71da strb r2, [r3, #7] Threshold = false; 8051ae2: 4b85 ldr r3, [pc, #532] ; (8051cf8 ) 8051ae4: 2200 movs r2, #0 8051ae6: 701a strb r2, [r3, #0] initAmplif(); 8051ae8: f7cf ffd4 bl 8021a94 FIRST = true; 8051aec: 4b83 ldr r3, [pc, #524] ; (8051cfc ) 8051aee: 2201 movs r2, #1 8051af0: 701a strb r2, [r3, #0] break; 8051af2: e01c b.n 8051b2e if((pardata.OPTIONS & maskFFT) == third) 8051af4: 4b7c ldr r3, [pc, #496] ; (8051ce8 ) 8051af6: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8051afa: f003 0330 and.w r3, r3, #48 ; 0x30 8051afe: 2b30 cmp r3, #48 ; 0x30 8051b00: d115 bne.n 8051b2e menu = MAIN_SPEC_THIRD; 8051b02: 4b7a ldr r3, [pc, #488] ; (8051cec ) 8051b04: 2223 movs r2, #35 ; 0x23 8051b06: 701a strb r2, [r3, #0] lastmenupos = menupos; 8051b08: 4b79 ldr r3, [pc, #484] ; (8051cf0 ) 8051b0a: 781b ldrb r3, [r3, #0] 8051b0c: b2da uxtb r2, r3 8051b0e: 4b79 ldr r3, [pc, #484] ; (8051cf4 ) 8051b10: 701a strb r2, [r3, #0] menupos = StartStop; 8051b12: 4b77 ldr r3, [pc, #476] ; (8051cf0 ) 8051b14: 2200 movs r2, #0 8051b16: 701a strb r2, [r3, #0] pardata.SYG = SPEC_THIRD; 8051b18: 4b73 ldr r3, [pc, #460] ; (8051ce8 ) 8051b1a: 2207 movs r2, #7 8051b1c: 701a strb r2, [r3, #0] Threshold = false; 8051b1e: 4b76 ldr r3, [pc, #472] ; (8051cf8 ) 8051b20: 2200 movs r2, #0 8051b22: 701a strb r2, [r3, #0] initAmplif(); 8051b24: f7cf ffb6 bl 8021a94 FIRST = true; 8051b28: 4b74 ldr r3, [pc, #464] ; (8051cfc ) 8051b2a: 2201 movs r2, #1 8051b2c: 701a strb r2, [r3, #0] break; 8051b2e: bf00 nop } } break; 8051b30: f001 b8fa b.w 8052d28 case PARAM_OSC: if((menupos >= FilterHP_IDT) && (menupos <= FilterHP_IKD)) { 8051b34: 4b6e ldr r3, [pc, #440] ; (8051cf0 ) 8051b36: 781b ldrb r3, [r3, #0] 8051b38: b2db uxtb r3, r3 8051b3a: 2b18 cmp r3, #24 8051b3c: d908 bls.n 8051b50 8051b3e: 4b6c ldr r3, [pc, #432] ; (8051cf0 ) 8051b40: 781b ldrb r3, [r3, #0] 8051b42: b2db uxtb r3, r3 8051b44: 2b1e cmp r3, #30 8051b46: d803 bhi.n 8051b50 menupos = FilterHP; 8051b48: 4b69 ldr r3, [pc, #420] ; (8051cf0 ) 8051b4a: 2217 movs r2, #23 8051b4c: 701a strb r2, [r3, #0] 8051b4e: e108 b.n 8051d62 } else if((menupos >= FilterLP_IDT) && (menupos <= FilterLP_IKD)) { 8051b50: 4b67 ldr r3, [pc, #412] ; (8051cf0 ) 8051b52: 781b ldrb r3, [r3, #0] 8051b54: b2db uxtb r3, r3 8051b56: 2b1e cmp r3, #30 8051b58: d908 bls.n 8051b6c 8051b5a: 4b65 ldr r3, [pc, #404] ; (8051cf0 ) 8051b5c: 781b ldrb r3, [r3, #0] 8051b5e: b2db uxtb r3, r3 8051b60: 2b24 cmp r3, #36 ; 0x24 8051b62: d803 bhi.n 8051b6c menupos = FilterLP; 8051b64: 4b62 ldr r3, [pc, #392] ; (8051cf0 ) 8051b66: 2218 movs r2, #24 8051b68: 701a strb r2, [r3, #0] 8051b6a: e0fa b.n 8051d62 } else if((menupos >= OscThr_IDT) && (menupos <= OscThr_IKD)) { 8051b6c: 4b60 ldr r3, [pc, #384] ; (8051cf0 ) 8051b6e: 781b ldrb r3, [r3, #0] 8051b70: b2db uxtb r3, r3 8051b72: 2b08 cmp r3, #8 8051b74: d908 bls.n 8051b88 8051b76: 4b5e ldr r3, [pc, #376] ; (8051cf0 ) 8051b78: 781b ldrb r3, [r3, #0] 8051b7a: b2db uxtb r3, r3 8051b7c: 2b0e cmp r3, #14 8051b7e: d803 bhi.n 8051b88 menupos = OscThr_ALL; 8051b80: 4b5b ldr r3, [pc, #364] ; (8051cf0 ) 8051b82: 2208 movs r2, #8 8051b84: 701a strb r2, [r3, #0] 8051b86: e0ec b.n 8051d62 } else if((menupos >= OscMax_IDT) && (menupos <= OscMax_IKD)) { 8051b88: 4b59 ldr r3, [pc, #356] ; (8051cf0 ) 8051b8a: 781b ldrb r3, [r3, #0] 8051b8c: b2db uxtb r3, r3 8051b8e: 2b0e cmp r3, #14 8051b90: d908 bls.n 8051ba4 8051b92: 4b57 ldr r3, [pc, #348] ; (8051cf0 ) 8051b94: 781b ldrb r3, [r3, #0] 8051b96: b2db uxtb r3, r3 8051b98: 2b14 cmp r3, #20 8051b9a: d803 bhi.n 8051ba4 menupos = OscMax_ALL; 8051b9c: 4b54 ldr r3, [pc, #336] ; (8051cf0 ) 8051b9e: 2206 movs r2, #6 8051ba0: 701a strb r2, [r3, #0] 8051ba2: e0de b.n 8051d62 } else { switch(menupos) 8051ba4: 4b52 ldr r3, [pc, #328] ; (8051cf0 ) 8051ba6: 781b ldrb r3, [r3, #0] 8051ba8: b2db uxtb r3, r3 8051baa: 2b18 cmp r3, #24 8051bac: f201 80be bhi.w 8052d2c 8051bb0: a201 add r2, pc, #4 ; (adr r2, 8051bb8 ) 8051bb2: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8051bb6: bf00 nop 8051bb8: 08051d05 .word 0x08051d05 8051bbc: 08051c2b .word 0x08051c2b 8051bc0: 08052d2d .word 0x08052d2d 8051bc4: 08051c2b .word 0x08051c2b 8051bc8: 08051c2b .word 0x08051c2b 8051bcc: 08051c8b .word 0x08051c8b 8051bd0: 08051cd5 .word 0x08051cd5 8051bd4: 08051c4b .word 0x08051c4b 8051bd8: 08051ccd .word 0x08051ccd 8051bdc: 08052d2d .word 0x08052d2d 8051be0: 08052d2d .word 0x08052d2d 8051be4: 08052d2d .word 0x08052d2d 8051be8: 08052d2d .word 0x08052d2d 8051bec: 08052d2d .word 0x08052d2d 8051bf0: 08052d2d .word 0x08052d2d 8051bf4: 08052d2d .word 0x08052d2d 8051bf8: 08052d2d .word 0x08052d2d 8051bfc: 08052d2d .word 0x08052d2d 8051c00: 08052d2d .word 0x08052d2d 8051c04: 08052d2d .word 0x08052d2d 8051c08: 08052d2d .word 0x08052d2d 8051c0c: 08052d2d .word 0x08052d2d 8051c10: 08052d2d .word 0x08052d2d 8051c14: 08051c1d .word 0x08051c1d 8051c18: 08051c25 .word 0x08051c25 { case FilterHP: menupos = FilterHP_IET; 8051c1c: 4b34 ldr r3, [pc, #208] ; (8051cf0 ) 8051c1e: 221a movs r2, #26 8051c20: 701a strb r2, [r3, #0] break; 8051c22: e09e b.n 8051d62 case FilterLP: menupos = FilterLP_IET; 8051c24: 4b32 ldr r3, [pc, #200] ; (8051cf0 ) 8051c26: 2220 movs r2, #32 8051c28: 701a strb r2, [r3, #0] case OscValue: case OscRate: case OscLen: if(!focused) 8051c2a: 4b35 ldr r3, [pc, #212] ; (8051d00 ) 8051c2c: 781b ldrb r3, [r3, #0] 8051c2e: b2db uxtb r3, r3 8051c30: f083 0301 eor.w r3, r3, #1 8051c34: b2db uxtb r3, r3 8051c36: 2b00 cmp r3, #0 8051c38: d003 beq.n 8051c42 focused = true; 8051c3a: 4b31 ldr r3, [pc, #196] ; (8051d00 ) 8051c3c: 2201 movs r2, #1 8051c3e: 701a strb r2, [r3, #0] else focused = false; break; 8051c40: e08f b.n 8051d62 else focused = false; 8051c42: 4b2f ldr r3, [pc, #188] ; (8051d00 ) 8051c44: 2200 movs r2, #0 8051c46: 701a strb r2, [r3, #0] break; 8051c48: e08b b.n 8051d62 case OscThr: if(pardata.THR & 0x80) 8051c4a: 4b27 ldr r3, [pc, #156] ; (8051ce8 ) 8051c4c: 7bdb ldrb r3, [r3, #15] 8051c4e: b2db uxtb r3, r3 8051c50: b25b sxtb r3, r3 8051c52: 2b00 cmp r3, #0 8051c54: da08 bge.n 8051c68 pardata.THR &= 0x7f; 8051c56: 4b24 ldr r3, [pc, #144] ; (8051ce8 ) 8051c58: 7bdb ldrb r3, [r3, #15] 8051c5a: b2db uxtb r3, r3 8051c5c: f003 037f and.w r3, r3, #127 ; 0x7f 8051c60: b2da uxtb r2, r3 8051c62: 4b21 ldr r3, [pc, #132] ; (8051ce8 ) 8051c64: 73da strb r2, [r3, #15] else { pardata.THR |= 0x80; pardata.OPTIONS &= ~0x4; } break; 8051c66: e07c b.n 8051d62 pardata.THR |= 0x80; 8051c68: 4b1f ldr r3, [pc, #124] ; (8051ce8 ) 8051c6a: 7bdb ldrb r3, [r3, #15] 8051c6c: b2db uxtb r3, r3 8051c6e: f063 037f orn r3, r3, #127 ; 0x7f 8051c72: b2da uxtb r2, r3 8051c74: 4b1c ldr r3, [pc, #112] ; (8051ce8 ) 8051c76: 73da strb r2, [r3, #15] pardata.OPTIONS &= ~0x4; 8051c78: 4b1b ldr r3, [pc, #108] ; (8051ce8 ) 8051c7a: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8051c7e: f023 0304 bic.w r3, r3, #4 8051c82: 4a19 ldr r2, [pc, #100] ; (8051ce8 ) 8051c84: f8c2 3098 str.w r3, [r2, #152] ; 0x98 break; 8051c88: e06b b.n 8051d62 case OscAutoKu: if(pardata.OPTIONS & 0x4) 8051c8a: 4b17 ldr r3, [pc, #92] ; (8051ce8 ) 8051c8c: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8051c90: f003 0304 and.w r3, r3, #4 8051c94: 2b00 cmp r3, #0 8051c96: d008 beq.n 8051caa pardata.OPTIONS &= ~0x4; 8051c98: 4b13 ldr r3, [pc, #76] ; (8051ce8 ) 8051c9a: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8051c9e: f023 0304 bic.w r3, r3, #4 8051ca2: 4a11 ldr r2, [pc, #68] ; (8051ce8 ) 8051ca4: f8c2 3098 str.w r3, [r2, #152] ; 0x98 else { pardata.OPTIONS |= 0x4; pardata.THR &= 0x7f; } break; 8051ca8: e05b b.n 8051d62 pardata.OPTIONS |= 0x4; 8051caa: 4b0f ldr r3, [pc, #60] ; (8051ce8 ) 8051cac: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8051cb0: f043 0304 orr.w r3, r3, #4 8051cb4: 4a0c ldr r2, [pc, #48] ; (8051ce8 ) 8051cb6: f8c2 3098 str.w r3, [r2, #152] ; 0x98 pardata.THR &= 0x7f; 8051cba: 4b0b ldr r3, [pc, #44] ; (8051ce8 ) 8051cbc: 7bdb ldrb r3, [r3, #15] 8051cbe: b2db uxtb r3, r3 8051cc0: f003 037f and.w r3, r3, #127 ; 0x7f 8051cc4: b2da uxtb r2, r3 8051cc6: 4b08 ldr r3, [pc, #32] ; (8051ce8 ) 8051cc8: 73da strb r2, [r3, #15] break; 8051cca: e04a b.n 8051d62 case OscThr_ALL: menupos = OscThr_IET; 8051ccc: 4b08 ldr r3, [pc, #32] ; (8051cf0 ) 8051cce: 220a movs r2, #10 8051cd0: 701a strb r2, [r3, #0] break; 8051cd2: e046 b.n 8051d62 case OscMax_ALL: menupos = OscMax_IET; 8051cd4: 4b06 ldr r3, [pc, #24] ; (8051cf0 ) 8051cd6: 2210 movs r2, #16 8051cd8: 701a strb r2, [r3, #0] break; 8051cda: e042 b.n 8051d62 8051cdc: 20021540 .word 0x20021540 8051ce0: 00000000 .word 0x00000000 8051ce4: 2002154c .word 0x2002154c 8051ce8: 20023e60 .word 0x20023e60 8051cec: 20020f78 .word 0x20020f78 8051cf0: 20020070 .word 0x20020070 8051cf4: 20020071 .word 0x20020071 8051cf8: 20020db1 .word 0x20020db1 8051cfc: 20020db2 .word 0x20020db2 8051d00: 20020f84 .word 0x20020f84 case Ok: arm_fill_f32(0.0f, skz, 3); 8051d04: 2103 movs r1, #3 8051d06: 48a7 ldr r0, [pc, #668] ; (8051fa4 ) 8051d08: ed9f 0aa7 vldr s0, [pc, #668] ; 8051fa8 8051d0c: f077 fffa bl 80c9d04 arm_fill_f32(0.0f, skzDB, 3); 8051d10: 2103 movs r1, #3 8051d12: 48a6 ldr r0, [pc, #664] ; (8051fac ) 8051d14: ed9f 0aa4 vldr s0, [pc, #656] ; 8051fa8 8051d18: f077 fff4 bl 80c9d04 menu = MAIN_OSC; 8051d1c: 4ba4 ldr r3, [pc, #656] ; (8051fb0 ) 8051d1e: 221d movs r2, #29 8051d20: 701a strb r2, [r3, #0] lastmenupos = menupos; 8051d22: 4ba4 ldr r3, [pc, #656] ; (8051fb4 ) 8051d24: 781b ldrb r3, [r3, #0] 8051d26: b2da uxtb r2, r3 8051d28: 4ba3 ldr r3, [pc, #652] ; (8051fb8 ) 8051d2a: 701a strb r2, [r3, #0] menupos = StartStop; 8051d2c: 4ba1 ldr r3, [pc, #644] ; (8051fb4 ) 8051d2e: 2200 movs r2, #0 8051d30: 701a strb r2, [r3, #0] if((pardata.IPR == ACC) && (pardata.THR & 0x80)) 8051d32: 4ba2 ldr r3, [pc, #648] ; (8051fbc ) 8051d34: 785b ldrb r3, [r3, #1] 8051d36: b2db uxtb r3, r3 8051d38: 2b00 cmp r3, #0 8051d3a: d109 bne.n 8051d50 8051d3c: 4b9f ldr r3, [pc, #636] ; (8051fbc ) 8051d3e: 7bdb ldrb r3, [r3, #15] 8051d40: b2db uxtb r3, r3 8051d42: b25b sxtb r3, r3 8051d44: 2b00 cmp r3, #0 8051d46: da03 bge.n 8051d50 Threshold = true; 8051d48: 4b9d ldr r3, [pc, #628] ; (8051fc0 ) 8051d4a: 2201 movs r2, #1 8051d4c: 701a strb r2, [r3, #0] 8051d4e: e002 b.n 8051d56 else Threshold = false; 8051d50: 4b9b ldr r3, [pc, #620] ; (8051fc0 ) 8051d52: 2200 movs r2, #0 8051d54: 701a strb r2, [r3, #0] initAmplif(); 8051d56: f7cf fe9d bl 8021a94 FIRST = true; 8051d5a: 4b9a ldr r3, [pc, #616] ; (8051fc4 ) 8051d5c: 2201 movs r2, #1 8051d5e: 701a strb r2, [r3, #0] break; 8051d60: bf00 nop } } break; 8051d62: f000 bfe3 b.w 8052d2c case PARAM_WAVE: if((menupos >= WaveThr_IDT) && (menupos <= WaveThr_IKD)) { 8051d66: 4b93 ldr r3, [pc, #588] ; (8051fb4 ) 8051d68: 781b ldrb r3, [r3, #0] 8051d6a: b2db uxtb r3, r3 8051d6c: 2b0f cmp r3, #15 8051d6e: d908 bls.n 8051d82 8051d70: 4b90 ldr r3, [pc, #576] ; (8051fb4 ) 8051d72: 781b ldrb r3, [r3, #0] 8051d74: b2db uxtb r3, r3 8051d76: 2b15 cmp r3, #21 8051d78: d803 bhi.n 8051d82 menupos = WaveThr_ALL; 8051d7a: 4b8e ldr r3, [pc, #568] ; (8051fb4 ) 8051d7c: 2209 movs r2, #9 8051d7e: 701a strb r2, [r3, #0] 8051d80: e10e b.n 8051fa0 } else if((menupos >= WaveMax_IDT) && (menupos <= WaveMax_IKD)) { 8051d82: 4b8c ldr r3, [pc, #560] ; (8051fb4 ) 8051d84: 781b ldrb r3, [r3, #0] 8051d86: b2db uxtb r3, r3 8051d88: 2b09 cmp r3, #9 8051d8a: d908 bls.n 8051d9e 8051d8c: 4b89 ldr r3, [pc, #548] ; (8051fb4 ) 8051d8e: 781b ldrb r3, [r3, #0] 8051d90: b2db uxtb r3, r3 8051d92: 2b0f cmp r3, #15 8051d94: d803 bhi.n 8051d9e menupos = WaveMax_ALL; 8051d96: 4b87 ldr r3, [pc, #540] ; (8051fb4 ) 8051d98: 2207 movs r2, #7 8051d9a: 701a strb r2, [r3, #0] 8051d9c: e100 b.n 8051fa0 } else { switch(menupos) 8051d9e: 4b85 ldr r3, [pc, #532] ; (8051fb4 ) 8051da0: 781b ldrb r3, [r3, #0] 8051da2: b2db uxtb r3, r3 8051da4: 2b09 cmp r3, #9 8051da6: f200 87c3 bhi.w 8052d30 8051daa: a201 add r2, pc, #4 ; (adr r2, 8051db0 ) 8051dac: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8051db0: 08051f61 .word 0x08051f61 8051db4: 08052d31 .word 0x08052d31 8051db8: 08052d31 .word 0x08052d31 8051dbc: 08051ed1 .word 0x08051ed1 8051dc0: 08051df9 .word 0x08051df9 8051dc4: 08051dd9 .word 0x08051dd9 8051dc8: 08051f0f .word 0x08051f0f 8051dcc: 08051f59 .word 0x08051f59 8051dd0: 08051e81 .word 0x08051e81 8051dd4: 08051f51 .word 0x08051f51 { case WaveTime: if(!focused) 8051dd8: 4b7b ldr r3, [pc, #492] ; (8051fc8 ) 8051dda: 781b ldrb r3, [r3, #0] 8051ddc: b2db uxtb r3, r3 8051dde: f083 0301 eor.w r3, r3, #1 8051de2: b2db uxtb r3, r3 8051de4: 2b00 cmp r3, #0 8051de6: d003 beq.n 8051df0 focused = true; 8051de8: 4b77 ldr r3, [pc, #476] ; (8051fc8 ) 8051dea: 2201 movs r2, #1 8051dec: 701a strb r2, [r3, #0] else focused = false; break; 8051dee: e0d7 b.n 8051fa0 else focused = false; 8051df0: 4b75 ldr r3, [pc, #468] ; (8051fc8 ) 8051df2: 2200 movs r2, #0 8051df4: 701a strb r2, [r3, #0] break; 8051df6: e0d3 b.n 8051fa0 case WaveName: if(CardState == MSD_READY) 8051df8: 4b74 ldr r3, [pc, #464] ; (8051fcc ) 8051dfa: 781b ldrb r3, [r3, #0] 8051dfc: b2db uxtb r3, r3 8051dfe: 2b03 cmp r3, #3 8051e00: f040 80ca bne.w 8051f98 { memset(TEMP_WavFileName, 0, sizeof(TEMP_WavFileName)); 8051e04: 2221 movs r2, #33 ; 0x21 8051e06: 2100 movs r1, #0 8051e08: 4871 ldr r0, [pc, #452] ; (8051fd0 ) 8051e0a: f07b f91d bl 80cd048 if(strcmp(WavFileName, "") != 0) 8051e0e: 4b71 ldr r3, [pc, #452] ; (8051fd4 ) 8051e10: 781b ldrb r3, [r3, #0] 8051e12: 2b00 cmp r3, #0 8051e14: d027 beq.n 8051e66 { strcpy(TEMP_WavFileName, WavFileName); 8051e16: 496f ldr r1, [pc, #444] ; (8051fd4 ) 8051e18: 486d ldr r0, [pc, #436] ; (8051fd0 ) 8051e1a: f07b fa32 bl 80cd282 k = strlen(TEMP_WavFileName); 8051e1e: 486c ldr r0, [pc, #432] ; (8051fd0 ) 8051e20: f7ce fa78 bl 8020314 8051e24: f8c7 00c4 str.w r0, [r7, #196] ; 0xc4 if(TEMP_WavFileName[k - 4] == '.') 8051e28: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8051e2c: 3b04 subs r3, #4 8051e2e: 4a68 ldr r2, [pc, #416] ; (8051fd0 ) 8051e30: 5cd3 ldrb r3, [r2, r3] 8051e32: 2b2e cmp r3, #46 ; 0x2e 8051e34: d117 bne.n 8051e66 { TEMP_WavFileName[k - 4] = 0; 8051e36: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8051e3a: 3b04 subs r3, #4 8051e3c: 4a64 ldr r2, [pc, #400] ; (8051fd0 ) 8051e3e: 2100 movs r1, #0 8051e40: 54d1 strb r1, [r2, r3] TEMP_WavFileName[k - 3] = 0; 8051e42: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8051e46: 3b03 subs r3, #3 8051e48: 4a61 ldr r2, [pc, #388] ; (8051fd0 ) 8051e4a: 2100 movs r1, #0 8051e4c: 54d1 strb r1, [r2, r3] TEMP_WavFileName[k - 2] = 0; 8051e4e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8051e52: 3b02 subs r3, #2 8051e54: 4a5e ldr r2, [pc, #376] ; (8051fd0 ) 8051e56: 2100 movs r1, #0 8051e58: 54d1 strb r1, [r2, r3] TEMP_WavFileName[k - 1] = 0; 8051e5a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8051e5e: 3b01 subs r3, #1 8051e60: 4a5b ldr r2, [pc, #364] ; (8051fd0 ) 8051e62: 2100 movs r1, #0 8051e64: 54d1 strb r1, [r2, r3] } } WavFileNameLen = strlen(TEMP_WavFileName); 8051e66: 485a ldr r0, [pc, #360] ; (8051fd0 ) 8051e68: f7ce fa54 bl 8020314 8051e6c: 4602 mov r2, r0 8051e6e: 4b5a ldr r3, [pc, #360] ; (8051fd8 ) 8051e70: 601a str r2, [r3, #0] menu = INPUT_NAME_GTR; 8051e72: 4b4f ldr r3, [pc, #316] ; (8051fb0 ) 8051e74: 2230 movs r2, #48 ; 0x30 8051e76: 701a strb r2, [r3, #0] menupos = _CANCEL; 8051e78: 4b4e ldr r3, [pc, #312] ; (8051fb4 ) 8051e7a: 2227 movs r2, #39 ; 0x27 8051e7c: 701a strb r2, [r3, #0] } break; 8051e7e: e08b b.n 8051f98 case WaveThr: if(pardata.THR & 0x80) 8051e80: 4b4e ldr r3, [pc, #312] ; (8051fbc ) 8051e82: 7bdb ldrb r3, [r3, #15] 8051e84: b2db uxtb r3, r3 8051e86: b25b sxtb r3, r3 8051e88: 2b00 cmp r3, #0 8051e8a: da08 bge.n 8051e9e pardata.THR &= 0x7f; 8051e8c: 4b4b ldr r3, [pc, #300] ; (8051fbc ) 8051e8e: 7bdb ldrb r3, [r3, #15] 8051e90: b2db uxtb r3, r3 8051e92: f003 037f and.w r3, r3, #127 ; 0x7f 8051e96: b2da uxtb r2, r3 8051e98: 4b48 ldr r3, [pc, #288] ; (8051fbc ) 8051e9a: 73da strb r2, [r3, #15] { pardata.THR |= 0x80; pardata.OPTIONS &= ~0x4; pardata.OPTIONS &= ~BIT7; } break; 8051e9c: e080 b.n 8051fa0 pardata.THR |= 0x80; 8051e9e: 4b47 ldr r3, [pc, #284] ; (8051fbc ) 8051ea0: 7bdb ldrb r3, [r3, #15] 8051ea2: b2db uxtb r3, r3 8051ea4: f063 037f orn r3, r3, #127 ; 0x7f 8051ea8: b2da uxtb r2, r3 8051eaa: 4b44 ldr r3, [pc, #272] ; (8051fbc ) 8051eac: 73da strb r2, [r3, #15] pardata.OPTIONS &= ~0x4; 8051eae: 4b43 ldr r3, [pc, #268] ; (8051fbc ) 8051eb0: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8051eb4: f023 0304 bic.w r3, r3, #4 8051eb8: 4a40 ldr r2, [pc, #256] ; (8051fbc ) 8051eba: f8c2 3098 str.w r3, [r2, #152] ; 0x98 pardata.OPTIONS &= ~BIT7; 8051ebe: 4b3f ldr r3, [pc, #252] ; (8051fbc ) 8051ec0: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8051ec4: f023 0380 bic.w r3, r3, #128 ; 0x80 8051ec8: 4a3c ldr r2, [pc, #240] ; (8051fbc ) 8051eca: f8c2 3098 str.w r3, [r2, #152] ; 0x98 break; 8051ece: e067 b.n 8051fa0 case WaveTacho: if((pardata.THR & 0x80) == 0) 8051ed0: 4b3a ldr r3, [pc, #232] ; (8051fbc ) 8051ed2: 7bdb ldrb r3, [r3, #15] 8051ed4: b2db uxtb r3, r3 8051ed6: b25b sxtb r3, r3 8051ed8: 2b00 cmp r3, #0 8051eda: db60 blt.n 8051f9e { if(pardata.OPTIONS & BIT7) 8051edc: 4b37 ldr r3, [pc, #220] ; (8051fbc ) 8051ede: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8051ee2: f003 0380 and.w r3, r3, #128 ; 0x80 8051ee6: 2b00 cmp r3, #0 8051ee8: d008 beq.n 8051efc { pardata.OPTIONS &= ~BIT7; 8051eea: 4b34 ldr r3, [pc, #208] ; (8051fbc ) 8051eec: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8051ef0: f023 0380 bic.w r3, r3, #128 ; 0x80 8051ef4: 4a31 ldr r2, [pc, #196] ; (8051fbc ) 8051ef6: f8c2 3098 str.w r3, [r2, #152] ; 0x98 } else pardata.OPTIONS |= BIT7; } break; 8051efa: e050 b.n 8051f9e pardata.OPTIONS |= BIT7; 8051efc: 4b2f ldr r3, [pc, #188] ; (8051fbc ) 8051efe: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8051f02: f043 0380 orr.w r3, r3, #128 ; 0x80 8051f06: 4a2d ldr r2, [pc, #180] ; (8051fbc ) 8051f08: f8c2 3098 str.w r3, [r2, #152] ; 0x98 break; 8051f0c: e047 b.n 8051f9e case WaveAutoKu: if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 8051f0e: 4b2b ldr r3, [pc, #172] ; (8051fbc ) 8051f10: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8051f14: f003 0304 and.w r3, r3, #4 8051f18: 2b00 cmp r3, #0 8051f1a: d110 bne.n 8051f3e { pardata.OPTIONS |= 0x4; 8051f1c: 4b27 ldr r3, [pc, #156] ; (8051fbc ) 8051f1e: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8051f22: f043 0304 orr.w r3, r3, #4 8051f26: 4a25 ldr r2, [pc, #148] ; (8051fbc ) 8051f28: f8c2 3098 str.w r3, [r2, #152] ; 0x98 pardata.THR &= 0x7f; 8051f2c: 4b23 ldr r3, [pc, #140] ; (8051fbc ) 8051f2e: 7bdb ldrb r3, [r3, #15] 8051f30: b2db uxtb r3, r3 8051f32: f003 037f and.w r3, r3, #127 ; 0x7f 8051f36: b2da uxtb r2, r3 8051f38: 4b20 ldr r3, [pc, #128] ; (8051fbc ) 8051f3a: 73da strb r2, [r3, #15] } else pardata.OPTIONS &= ~0x4; break; 8051f3c: e030 b.n 8051fa0 pardata.OPTIONS &= ~0x4; 8051f3e: 4b1f ldr r3, [pc, #124] ; (8051fbc ) 8051f40: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8051f44: f023 0304 bic.w r3, r3, #4 8051f48: 4a1c ldr r2, [pc, #112] ; (8051fbc ) 8051f4a: f8c2 3098 str.w r3, [r2, #152] ; 0x98 break; 8051f4e: e027 b.n 8051fa0 case WaveThr_ALL: menupos = WaveThr_IET; 8051f50: 4b18 ldr r3, [pc, #96] ; (8051fb4 ) 8051f52: 2211 movs r2, #17 8051f54: 701a strb r2, [r3, #0] break; 8051f56: e023 b.n 8051fa0 case WaveMax_ALL: menupos = WaveMax_IET; 8051f58: 4b16 ldr r3, [pc, #88] ; (8051fb4 ) 8051f5a: 220b movs r2, #11 8051f5c: 701a strb r2, [r3, #0] break; 8051f5e: e01f b.n 8051fa0 case Ok: menu = MAIN_WAVE; 8051f60: 4b13 ldr r3, [pc, #76] ; (8051fb0 ) 8051f62: 221e movs r2, #30 8051f64: 701a strb r2, [r3, #0] menupos = StartStop; 8051f66: 4b13 ldr r3, [pc, #76] ; (8051fb4 ) 8051f68: 2200 movs r2, #0 8051f6a: 701a strb r2, [r3, #0] oldmenupos = StartStop; 8051f6c: 4b1b ldr r3, [pc, #108] ; (8051fdc ) 8051f6e: 2200 movs r2, #0 8051f70: 701a strb r2, [r3, #0] if(pardata.THR & 0x80) Threshold = true; 8051f72: 4b12 ldr r3, [pc, #72] ; (8051fbc ) 8051f74: 7bdb ldrb r3, [r3, #15] 8051f76: b2db uxtb r3, r3 8051f78: b25b sxtb r3, r3 8051f7a: 2b00 cmp r3, #0 8051f7c: da03 bge.n 8051f86 8051f7e: 4b10 ldr r3, [pc, #64] ; (8051fc0 ) 8051f80: 2201 movs r2, #1 8051f82: 701a strb r2, [r3, #0] 8051f84: e002 b.n 8051f8c else Threshold = false; 8051f86: 4b0e ldr r3, [pc, #56] ; (8051fc0 ) 8051f88: 2200 movs r2, #0 8051f8a: 701a strb r2, [r3, #0] initAmplif(); 8051f8c: f7cf fd82 bl 8021a94 FIRST = true; 8051f90: 4b0c ldr r3, [pc, #48] ; (8051fc4 ) 8051f92: 2201 movs r2, #1 8051f94: 701a strb r2, [r3, #0] break; 8051f96: e003 b.n 8051fa0 break; 8051f98: bf00 nop 8051f9a: f000 bec9 b.w 8052d30 break; 8051f9e: bf00 nop } } break; 8051fa0: f000 bec6 b.w 8052d30 8051fa4: 20021540 .word 0x20021540 8051fa8: 00000000 .word 0x00000000 8051fac: 2002154c .word 0x2002154c 8051fb0: 20020f78 .word 0x20020f78 8051fb4: 20020070 .word 0x20020070 8051fb8: 20020071 .word 0x20020071 8051fbc: 20023e60 .word 0x20023e60 8051fc0: 20020db1 .word 0x20020db1 8051fc4: 20020db2 .word 0x20020db2 8051fc8: 20020f84 .word 0x20020f84 8051fcc: 2002164c .word 0x2002164c 8051fd0: 20025ca4 .word 0x20025ca4 8051fd4: 20020e34 .word 0x20020e34 8051fd8: 20020ee8 .word 0x20020ee8 8051fdc: 20020f7a .word 0x20020f7a if((menupos >= Ies) && (menupos <= Ikt)) { menupos = Sens; } break;*/ case SETTINGS: switch(menupos) 8051fe0: 4bc0 ldr r3, [pc, #768] ; (80522e4 ) 8051fe2: 781b ldrb r3, [r3, #0] 8051fe4: b2db uxtb r3, r3 8051fe6: 3b01 subs r3, #1 8051fe8: 2b10 cmp r3, #16 8051fea: f200 86a3 bhi.w 8052d34 8051fee: a201 add r2, pc, #4 ; (adr r2, 8051ff4 ) 8051ff0: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8051ff4: 08052039 .word 0x08052039 8051ff8: 08052079 .word 0x08052079 8051ffc: 08052059 .word 0x08052059 8052000: 08052117 .word 0x08052117 8052004: 080520b7 .word 0x080520b7 8052008: 08052081 .word 0x08052081 805200c: 080520e3 .word 0x080520e3 8052010: 080520eb .word 0x080520eb 8052014: 08052105 .word 0x08052105 8052018: 08052d35 .word 0x08052d35 805201c: 08052d35 .word 0x08052d35 8052020: 0805212b .word 0x0805212b 8052024: 0805212b .word 0x0805212b 8052028: 0805212b .word 0x0805212b 805202c: 0805212b .word 0x0805212b 8052030: 0805212b .word 0x0805212b 8052034: 0805212b .word 0x0805212b { case Type: #if (!defined(USE_D101) && !defined(USE_D102)) if(!focused) 8052038: 4bab ldr r3, [pc, #684] ; (80522e8 ) 805203a: 781b ldrb r3, [r3, #0] 805203c: b2db uxtb r3, r3 805203e: f083 0301 eor.w r3, r3, #1 8052042: b2db uxtb r3, r3 8052044: 2b00 cmp r3, #0 8052046: d003 beq.n 8052050 focused = true; 8052048: 4ba7 ldr r3, [pc, #668] ; (80522e8 ) 805204a: 2201 movs r2, #1 805204c: 701a strb r2, [r3, #0] else focused = false; #endif break; 805204e: e071 b.n 8052134 else focused = false; 8052050: 4ba5 ldr r3, [pc, #660] ; (80522e8 ) 8052052: 2200 movs r2, #0 8052054: 701a strb r2, [r3, #0] break; 8052056: e06d b.n 8052134 case Lang: if(!focused) 8052058: 4ba3 ldr r3, [pc, #652] ; (80522e8 ) 805205a: 781b ldrb r3, [r3, #0] 805205c: b2db uxtb r3, r3 805205e: f083 0301 eor.w r3, r3, #1 8052062: b2db uxtb r3, r3 8052064: 2b00 cmp r3, #0 8052066: d003 beq.n 8052070 focused = true; 8052068: 4b9f ldr r3, [pc, #636] ; (80522e8 ) 805206a: 2201 movs r2, #1 805206c: 701a strb r2, [r3, #0] else focused = false; break; 805206e: e061 b.n 8052134 else focused = false; 8052070: 4b9d ldr r3, [pc, #628] ; (80522e8 ) 8052072: 2200 movs r2, #0 8052074: 701a strb r2, [r3, #0] break; 8052076: e05d b.n 8052134 case Sens: menupos = Iee; 8052078: 4b9a ldr r3, [pc, #616] ; (80522e4 ) 805207a: 220e movs r2, #14 805207c: 701a strb r2, [r3, #0] break; 805207e: e059 b.n 8052134 case Bluetooth: if(pardata.OPTIONS & BIT6) 8052080: 4b9a ldr r3, [pc, #616] ; (80522ec ) 8052082: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8052086: f003 0340 and.w r3, r3, #64 ; 0x40 805208a: 2b00 cmp r3, #0 805208c: d00a beq.n 80520a4 { pardata.OPTIONS &= ~BIT6; 805208e: 4b97 ldr r3, [pc, #604] ; (80522ec ) 8052090: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8052094: f023 0340 bic.w r3, r3, #64 ; 0x40 8052098: 4a94 ldr r2, [pc, #592] ; (80522ec ) 805209a: f8c2 3098 str.w r3, [r2, #152] ; 0x98 MX_HC05_DeInit(); 805209e: f7dd fb19 bl 802f6d4 } else pardata.OPTIONS |= BIT6; break; 80520a2: e047 b.n 8052134 pardata.OPTIONS |= BIT6; 80520a4: 4b91 ldr r3, [pc, #580] ; (80522ec ) 80520a6: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80520aa: f043 0340 orr.w r3, r3, #64 ; 0x40 80520ae: 4a8f ldr r2, [pc, #572] ; (80522ec ) 80520b0: f8c2 3098 str.w r3, [r2, #152] ; 0x98 break; 80520b4: e03e b.n 8052134 case FormatDisk: if(CardState & MSD_PRESENT) 80520b6: 4b8e ldr r3, [pc, #568] ; (80522f0 ) 80520b8: 781b ldrb r3, [r3, #0] 80520ba: b2db uxtb r3, r3 80520bc: f003 0301 and.w r3, r3, #1 80520c0: 2b00 cmp r3, #0 80520c2: d003 beq.n 80520cc menupos = FormatDiskNo; 80520c4: 4b87 ldr r3, [pc, #540] ; (80522e4 ) 80520c6: 2207 movs r2, #7 80520c8: 701a strb r2, [r3, #0] { STATUS = AP_NO_CARD; timerStatus = sec2; DrawStatus = true; } break; 80520ca: e033 b.n 8052134 STATUS = AP_NO_CARD; 80520cc: 4b89 ldr r3, [pc, #548] ; (80522f4 ) 80520ce: 2211 movs r2, #17 80520d0: 601a str r2, [r3, #0] timerStatus = sec2; 80520d2: 4b89 ldr r3, [pc, #548] ; (80522f8 ) 80520d4: f44f 5280 mov.w r2, #4096 ; 0x1000 80520d8: 801a strh r2, [r3, #0] DrawStatus = true; 80520da: 4b88 ldr r3, [pc, #544] ; (80522fc ) 80520dc: 2201 movs r2, #1 80520de: 701a strb r2, [r3, #0] break; 80520e0: e028 b.n 8052134 case FormatDiskNo: menupos = FormatDisk; 80520e2: 4b80 ldr r3, [pc, #512] ; (80522e4 ) 80520e4: 2205 movs r2, #5 80520e6: 701a strb r2, [r3, #0] break; 80520e8: e024 b.n 8052134 case FormatDiskYes: STATUS = AP_OK; 80520ea: 4b82 ldr r3, [pc, #520] ; (80522f4 ) 80520ec: 2200 movs r2, #0 80520ee: 601a str r2, [r3, #0] NeedFormat = 1; 80520f0: 4b83 ldr r3, [pc, #524] ; (8052300 ) 80520f2: 2201 movs r2, #1 80520f4: 701a strb r2, [r3, #0] FormatStatus = AP_OK; 80520f6: 4b83 ldr r3, [pc, #524] ; (8052304 ) 80520f8: 2200 movs r2, #0 80520fa: 701a strb r2, [r3, #0] menupos = FormatDiskResult; 80520fc: 4b79 ldr r3, [pc, #484] ; (80522e4 ) 80520fe: 2209 movs r2, #9 8052100: 701a strb r2, [r3, #0] break; 8052102: e017 b.n 8052134 case FormatDiskResult: if(NeedFormat == 0) 8052104: 4b7e ldr r3, [pc, #504] ; (8052300 ) 8052106: 781b ldrb r3, [r3, #0] 8052108: b2db uxtb r3, r3 805210a: 2b00 cmp r3, #0 805210c: d111 bne.n 8052132 menupos = FormatDisk; 805210e: 4b75 ldr r3, [pc, #468] ; (80522e4 ) 8052110: 2205 movs r2, #5 8052112: 701a strb r2, [r3, #0] break; 8052114: e00d b.n 8052132 case DateTime: focused = false; 8052116: 4b74 ldr r3, [pc, #464] ; (80522e8 ) 8052118: 2200 movs r2, #0 805211a: 701a strb r2, [r3, #0] menu = DATETIME; 805211c: 4b7a ldr r3, [pc, #488] ; (8052308 ) 805211e: 2218 movs r2, #24 8052120: 701a strb r2, [r3, #0] menupos = DateAll; 8052122: 4b70 ldr r3, [pc, #448] ; (80522e4 ) 8052124: 2201 movs r2, #1 8052126: 701a strb r2, [r3, #0] break; 8052128: e004 b.n 8052134 case Ied: case Iee: case Ikd: case Iks: case Ikt: menupos = Sens; 805212a: 4b6e ldr r3, [pc, #440] ; (80522e4 ) 805212c: 2202 movs r2, #2 805212e: 701a strb r2, [r3, #0] break; 8052130: e000 b.n 8052134 break; 8052132: bf00 nop } break; 8052134: f000 bdfe b.w 8052d34 case CLEAN_FILES: // TODO switch(menupos) 8052138: 4b6a ldr r3, [pc, #424] ; (80522e4 ) 805213a: 781b ldrb r3, [r3, #0] 805213c: b2db uxtb r3, r3 805213e: 3b01 subs r3, #1 8052140: 2b0a cmp r3, #10 8052142: f200 85f9 bhi.w 8052d38 8052146: a201 add r2, pc, #4 ; (adr r2, 805214c ) 8052148: f852 f023 ldr.w pc, [r2, r3, lsl #2] 805214c: 08052179 .word 0x08052179 8052150: 08052187 .word 0x08052187 8052154: 08052d39 .word 0x08052d39 8052158: 080522b3 .word 0x080522b3 805215c: 080522dd .word 0x080522dd 8052160: 080522bb .word 0x080522bb 8052164: 080522c3 .word 0x080522c3 8052168: 08052325 .word 0x08052325 805216c: 0805232d .word 0x0805232d 8052170: 08052347 .word 0x08052347 8052174: 080523bd .word 0x080523bd { case NoFilesPTM: menu = SETTINGS; 8052178: 4b63 ldr r3, [pc, #396] ; (8052308 ) 805217a: 2212 movs r2, #18 805217c: 701a strb r2, [r3, #0] menupos = CleanFiles; 805217e: 4b59 ldr r3, [pc, #356] ; (80522e4 ) 8052180: 220b movs r2, #11 8052182: 701a strb r2, [r3, #0] break; 8052184: e122 b.n 80523cc case FilesPTM: if(ExplorerFiles[CursorIndex].fname[0] != 0) 8052186: 4b61 ldr r3, [pc, #388] ; (805230c ) 8052188: 681a ldr r2, [r3, #0] 805218a: 4961 ldr r1, [pc, #388] ; (8052310 ) 805218c: 4613 mov r3, r2 805218e: 00db lsls r3, r3, #3 8052190: 1a9b subs r3, r3, r2 8052192: 00db lsls r3, r3, #3 8052194: 440b add r3, r1 8052196: 330c adds r3, #12 8052198: 781b ldrb r3, [r3, #0] 805219a: 2b00 cmp r3, #0 805219c: f000 8112 beq.w 80523c4 { d = cbChecked; 80521a0: 2301 movs r3, #1 80521a2: f8c7 30bc str.w r3, [r7, #188] ; 0xbc if(NumFilesDelete != 0) 80521a6: 4b5b ldr r3, [pc, #364] ; (8052314 ) 80521a8: 681b ldr r3, [r3, #0] 80521aa: 2b00 cmp r3, #0 80521ac: d03d beq.n 805222a { for(i = 0; i < MAX_CHECKED_FILES; i++) 80521ae: 2300 movs r3, #0 80521b0: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 80521b4: e034 b.n 8052220 { if(strcmp(ExplorerFiles[CursorIndex].fname, &StrRAM(i, 0)) == 0) 80521b6: 4b55 ldr r3, [pc, #340] ; (805230c ) 80521b8: 681a ldr r2, [r3, #0] 80521ba: 4613 mov r3, r2 80521bc: 00db lsls r3, r3, #3 80521be: 1a9b subs r3, r3, r2 80521c0: 00db lsls r3, r3, #3 80521c2: 3308 adds r3, #8 80521c4: 4a52 ldr r2, [pc, #328] ; (8052310 ) 80521c6: 4413 add r3, r2 80521c8: 1d18 adds r0, r3, #4 80521ca: f8d7 20c0 ldr.w r2, [r7, #192] ; 0xc0 80521ce: 4613 mov r3, r2 80521d0: 009b lsls r3, r3, #2 80521d2: 4413 add r3, r2 80521d4: 00db lsls r3, r3, #3 80521d6: 461a mov r2, r3 80521d8: 4b4f ldr r3, [pc, #316] ; (8052318 ) 80521da: 4413 add r3, r2 80521dc: 4619 mov r1, r3 80521de: f7ce f88f bl 8020300 80521e2: 4603 mov r3, r0 80521e4: 2b00 cmp r3, #0 80521e6: d116 bne.n 8052216 { memset(&StrRAM(i, 0), 0, 40); 80521e8: f8d7 20c0 ldr.w r2, [r7, #192] ; 0xc0 80521ec: 4613 mov r3, r2 80521ee: 009b lsls r3, r3, #2 80521f0: 4413 add r3, r2 80521f2: 00db lsls r3, r3, #3 80521f4: 461a mov r2, r3 80521f6: 4b48 ldr r3, [pc, #288] ; (8052318 ) 80521f8: 4413 add r3, r2 80521fa: 2228 movs r2, #40 ; 0x28 80521fc: 2100 movs r1, #0 80521fe: 4618 mov r0, r3 8052200: f07a ff22 bl 80cd048 d = cbUnchecked; // Èìÿ ôàéëà èñêëþ÷èëè èç ñïèñêà óäàëÿåìûõ ôàéëîâ 8052204: 2300 movs r3, #0 8052206: f8c7 30bc str.w r3, [r7, #188] ; 0xbc NumFilesDelete--; 805220a: 4b42 ldr r3, [pc, #264] ; (8052314 ) 805220c: 681b ldr r3, [r3, #0] 805220e: 3b01 subs r3, #1 8052210: 4a40 ldr r2, [pc, #256] ; (8052314 ) 8052212: 6013 str r3, [r2, #0] break; 8052214: e009 b.n 805222a for(i = 0; i < MAX_CHECKED_FILES; i++) 8052216: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 805221a: 3301 adds r3, #1 805221c: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 8052220: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 8052224: f5b3 7f00 cmp.w r3, #512 ; 0x200 8052228: d3c5 bcc.n 80521b6 } } } if(d == cbChecked) // Åñëè èìÿ ôàéëà âêëþ÷èëè â ñïèñîê óäàëÿåìûõ ôàéëîâ 805222a: f8d7 30bc ldr.w r3, [r7, #188] ; 0xbc 805222e: 2b01 cmp r3, #1 8052230: f040 80c8 bne.w 80523c4 { // Èùåì ïåðâóþ ñâîáîäíóþ ÿ÷åéêó â áóôåðå if(NumFilesDelete < MAX_CHECKED_FILES) 8052234: 4b37 ldr r3, [pc, #220] ; (8052314 ) 8052236: 681b ldr r3, [r3, #0] 8052238: f5b3 7f00 cmp.w r3, #512 ; 0x200 805223c: f080 80c2 bcs.w 80523c4 { for(i = 0; i < MAX_CHECKED_FILES; i++) 8052240: 2300 movs r3, #0 8052242: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 8052246: e02e b.n 80522a6 { if(StrRAM(i, 0) == 0) 8052248: f8d7 20c0 ldr.w r2, [r7, #192] ; 0xc0 805224c: 4613 mov r3, r2 805224e: 009b lsls r3, r3, #2 8052250: 4413 add r3, r2 8052252: 00db lsls r3, r3, #3 8052254: 461a mov r2, r3 8052256: 4b30 ldr r3, [pc, #192] ; (8052318 ) 8052258: 4413 add r3, r2 805225a: 781b ldrb r3, [r3, #0] 805225c: 2b00 cmp r3, #0 805225e: d11d bne.n 805229c { strcpy(&StrRAM(i, 0), ExplorerFiles[CursorIndex].fname); 8052260: f8d7 20c0 ldr.w r2, [r7, #192] ; 0xc0 8052264: 4613 mov r3, r2 8052266: 009b lsls r3, r3, #2 8052268: 4413 add r3, r2 805226a: 00db lsls r3, r3, #3 805226c: 461a mov r2, r3 805226e: 4b2a ldr r3, [pc, #168] ; (8052318 ) 8052270: 4413 add r3, r2 8052272: 4618 mov r0, r3 8052274: 4b25 ldr r3, [pc, #148] ; (805230c ) 8052276: 681a ldr r2, [r3, #0] 8052278: 4613 mov r3, r2 805227a: 00db lsls r3, r3, #3 805227c: 1a9b subs r3, r3, r2 805227e: 00db lsls r3, r3, #3 8052280: 3308 adds r3, #8 8052282: 4a23 ldr r2, [pc, #140] ; (8052310 ) 8052284: 4413 add r3, r2 8052286: 3304 adds r3, #4 8052288: 4619 mov r1, r3 805228a: f07a fffa bl 80cd282 NumFilesDelete++; 805228e: 4b21 ldr r3, [pc, #132] ; (8052314 ) 8052290: 681b ldr r3, [r3, #0] 8052292: 3301 adds r3, #1 8052294: 4a1f ldr r2, [pc, #124] ; (8052314 ) 8052296: 6013 str r3, [r2, #0] break; 8052298: bf00 nop } } } } } break; 805229a: e093 b.n 80523c4 for(i = 0; i < MAX_CHECKED_FILES; i++) 805229c: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 80522a0: 3301 adds r3, #1 80522a2: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 80522a6: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 80522aa: f5b3 7f00 cmp.w r3, #512 ; 0x200 80522ae: d3cb bcc.n 8052248 break; 80522b0: e088 b.n 80523c4 case CleanUp: menupos = UpNo; break; 80522b2: 4b0c ldr r3, [pc, #48] ; (80522e4 ) 80522b4: 2206 movs r2, #6 80522b6: 701a strb r2, [r3, #0] 80522b8: e088 b.n 80523cc case UpNo: menupos = FilesPTM; break; 80522ba: 4b0a ldr r3, [pc, #40] ; (80522e4 ) 80522bc: 2202 movs r2, #2 80522be: 701a strb r2, [r3, #0] 80522c0: e084 b.n 80523cc case UpYes: STATUS = AP_OK; 80522c2: 4b0c ldr r3, [pc, #48] ; (80522f4 ) 80522c4: 2200 movs r2, #0 80522c6: 601a str r2, [r3, #0] CleanStatus = AP_OK; 80522c8: 4b14 ldr r3, [pc, #80] ; (805231c ) 80522ca: 2200 movs r2, #0 80522cc: 701a strb r2, [r3, #0] NeedClean = 1; 80522ce: 4b14 ldr r3, [pc, #80] ; (8052320 ) 80522d0: 2201 movs r2, #1 80522d2: 701a strb r2, [r3, #0] menupos = CleanUpResult; 80522d4: 4b03 ldr r3, [pc, #12] ; (80522e4 ) 80522d6: 220a movs r2, #10 80522d8: 701a strb r2, [r3, #0] break; 80522da: e077 b.n 80523cc case CleanAll: menupos = AllNo; break; 80522dc: 4b01 ldr r3, [pc, #4] ; (80522e4 ) 80522de: 2208 movs r2, #8 80522e0: 701a strb r2, [r3, #0] 80522e2: e073 b.n 80523cc 80522e4: 20020070 .word 0x20020070 80522e8: 20020f84 .word 0x20020f84 80522ec: 20023e60 .word 0x20023e60 80522f0: 2002164c .word 0x2002164c 80522f4: 20020dcc .word 0x20020dcc 80522f8: 2002168c .word 0x2002168c 80522fc: 20020dd2 .word 0x20020dd2 8052300: 20020ddd .word 0x20020ddd 8052304: 20020dd1 .word 0x20020dd1 8052308: 20020f78 .word 0x20020f78 805230c: 20020de0 .word 0x20020de0 8052310: 20022350 .word 0x20022350 8052314: 20020e0c .word 0x20020e0c 8052318: 6404b000 .word 0x6404b000 805231c: 20020dd0 .word 0x20020dd0 8052320: 20020ddc .word 0x20020ddc case AllNo: menupos = CleanAll; break; 8052324: 4bad ldr r3, [pc, #692] ; (80525dc ) 8052326: 2205 movs r2, #5 8052328: 701a strb r2, [r3, #0] 805232a: e04f b.n 80523cc case AllYes: STATUS = AP_OK; 805232c: 4bac ldr r3, [pc, #688] ; (80525e0 ) 805232e: 2200 movs r2, #0 8052330: 601a str r2, [r3, #0] CleanStatus = AP_OK; 8052332: 4bac ldr r3, [pc, #688] ; (80525e4 ) 8052334: 2200 movs r2, #0 8052336: 701a strb r2, [r3, #0] NeedClean = 255; 8052338: 4bab ldr r3, [pc, #684] ; (80525e8 ) 805233a: 22ff movs r2, #255 ; 0xff 805233c: 701a strb r2, [r3, #0] menupos = CleanAllResult; 805233e: 4ba7 ldr r3, [pc, #668] ; (80525dc ) 8052340: 220b movs r2, #11 8052342: 701a strb r2, [r3, #0] break; 8052344: e042 b.n 80523cc case CleanUpResult: if(NeedClean == 0) 8052346: 4ba8 ldr r3, [pc, #672] ; (80525e8 ) 8052348: 781b ldrb r3, [r3, #0] 805234a: b2db uxtb r3, r3 805234c: 2b00 cmp r3, #0 805234e: d13c bne.n 80523ca { result = FR_NOT_READY; 8052350: 2303 movs r3, #3 8052352: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(CardState == MSD_READY) 8052356: 4ba5 ldr r3, [pc, #660] ; (80525ec ) 8052358: 781b ldrb r3, [r3, #0] 805235a: b2db uxtb r3, r3 805235c: 2b03 cmp r3, #3 805235e: d134 bne.n 80523ca { CursorIndex = 0; 8052360: 4ba3 ldr r3, [pc, #652] ; (80525f0 ) 8052362: 2200 movs r2, #0 8052364: 601a str r2, [r3, #0] FirstFileIndex = 0; 8052366: 4ba3 ldr r3, [pc, #652] ; (80525f4 ) 8052368: 2200 movs r2, #0 805236a: 601a str r2, [r3, #0] RealFileIndex = 0; 805236c: 4ba2 ldr r3, [pc, #648] ; (80525f8 ) 805236e: 2200 movs r2, #0 8052370: 601a str r2, [r3, #0] result = ReadNumFilesPTM((uint32_t *) &NumFilesPTM); 8052372: 48a2 ldr r0, [pc, #648] ; (80525fc ) 8052374: f7d8 faf0 bl 802a958 8052378: 4603 mov r3, r0 805237a: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 805237e: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 8052382: 2b00 cmp r3, #0 8052384: d121 bne.n 80523ca { result = ReadMyFilesPTM(FirstFileIndex); 8052386: 4b9b ldr r3, [pc, #620] ; (80525f4 ) 8052388: 681b ldr r3, [r3, #0] 805238a: 4618 mov r0, r3 805238c: f7d8 fbb0 bl 802aaf0 8052390: 4603 mov r3, r0 8052392: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 8052396: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 805239a: 2b00 cmp r3, #0 805239c: d115 bne.n 80523ca { menu = CLEAN_FILES; 805239e: 4b98 ldr r3, [pc, #608] ; (8052600 ) 80523a0: 2219 movs r2, #25 80523a2: 701a strb r2, [r3, #0] if(NumFilesPTM) menupos = FilesPTM; 80523a4: 4b95 ldr r3, [pc, #596] ; (80525fc ) 80523a6: 681b ldr r3, [r3, #0] 80523a8: 2b00 cmp r3, #0 80523aa: d003 beq.n 80523b4 80523ac: 4b8b ldr r3, [pc, #556] ; (80525dc ) 80523ae: 2202 movs r2, #2 80523b0: 701a strb r2, [r3, #0] else menupos = NoFilesPTM; } } } } break; 80523b2: e00a b.n 80523ca else menupos = NoFilesPTM; 80523b4: 4b89 ldr r3, [pc, #548] ; (80525dc ) 80523b6: 2201 movs r2, #1 80523b8: 701a strb r2, [r3, #0] break; 80523ba: e006 b.n 80523ca case CleanAllResult: menupos = CleanAll; 80523bc: 4b87 ldr r3, [pc, #540] ; (80525dc ) 80523be: 2205 movs r2, #5 80523c0: 701a strb r2, [r3, #0] break; 80523c2: e003 b.n 80523cc break; 80523c4: bf00 nop 80523c6: f000 bcb7 b.w 8052d38 break; 80523ca: bf00 nop } break; 80523cc: f000 bcb4 b.w 8052d38 case DATETIME: switch(menupos) 80523d0: 4b82 ldr r3, [pc, #520] ; (80525dc ) 80523d2: 781b ldrb r3, [r3, #0] 80523d4: b2db uxtb r3, r3 80523d6: 3b01 subs r3, #1 80523d8: 2b06 cmp r3, #6 80523da: f200 84af bhi.w 8052d3c 80523de: a201 add r2, pc, #4 ; (adr r2, 80523e4 ) 80523e0: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80523e4: 08052401 .word 0x08052401 80523e8: 08052409 .word 0x08052409 80523ec: 08052411 .word 0x08052411 80523f0: 08052411 .word 0x08052411 80523f4: 08052411 .word 0x08052411 80523f8: 08052419 .word 0x08052419 80523fc: 08052419 .word 0x08052419 { case DateAll: menupos = DateD; 8052400: 4b76 ldr r3, [pc, #472] ; (80525dc ) 8052402: 2203 movs r2, #3 8052404: 701a strb r2, [r3, #0] break; 8052406: e00b b.n 8052420 case TimeAll: menupos = TimeH; 8052408: 4b74 ldr r3, [pc, #464] ; (80525dc ) 805240a: 2206 movs r2, #6 805240c: 701a strb r2, [r3, #0] break; 805240e: e007 b.n 8052420 case DateD: case DateM: case DateY: menupos = DateAll; 8052410: 4b72 ldr r3, [pc, #456] ; (80525dc ) 8052412: 2201 movs r2, #1 8052414: 701a strb r2, [r3, #0] break; 8052416: e003 b.n 8052420 case TimeH: case TimeM: menupos = TimeAll; 8052418: 4b70 ldr r3, [pc, #448] ; (80525dc ) 805241a: 2202 movs r2, #2 805241c: 701a strb r2, [r3, #0] break; 805241e: bf00 nop } break; 8052420: f000 bc8c b.w 8052d3c case CALIBR_0: if(menupos == 1) 8052424: 4b6d ldr r3, [pc, #436] ; (80525dc ) 8052426: 781b ldrb r3, [r3, #0] 8052428: b2db uxtb r3, r3 805242a: 2b01 cmp r3, #1 805242c: d10c bne.n 8052448 { if(measuring) 805242e: 4b75 ldr r3, [pc, #468] ; (8052604 ) 8052430: 781b ldrb r3, [r3, #0] 8052432: b2db uxtb r3, r3 8052434: 2b00 cmp r3, #0 8052436: d003 beq.n 8052440 StopMeas(); 8052438: f7d1 f9b0 bl 802379c clbr = false; menu = OPTIONS; menupos = Mode; } } break; 805243c: f000 bc83 b.w 8052d46 else StartMeas(); 8052440: f7d0 fdfc bl 802303c break; 8052444: f000 bc7f b.w 8052d46 if(measuring) 8052448: 4b6e ldr r3, [pc, #440] ; (8052604 ) 805244a: 781b ldrb r3, [r3, #0] 805244c: b2db uxtb r3, r3 805244e: 2b00 cmp r3, #0 8052450: d001 beq.n 8052456 StopMeas(); 8052452: f7d1 f9a3 bl 802379c if(menupos == 2) 8052456: 4b61 ldr r3, [pc, #388] ; (80525dc ) 8052458: 781b ldrb r3, [r3, #0] 805245a: b2db uxtb r3, r3 805245c: 2b02 cmp r3, #2 805245e: d111 bne.n 8052484 menu++; 8052460: 4b67 ldr r3, [pc, #412] ; (8052600 ) 8052462: 781b ldrb r3, [r3, #0] 8052464: b2db uxtb r3, r3 8052466: 3301 adds r3, #1 8052468: b2da uxtb r2, r3 805246a: 4b65 ldr r3, [pc, #404] ; (8052600 ) 805246c: 701a strb r2, [r3, #0] menupos = 1; 805246e: 4b5b ldr r3, [pc, #364] ; (80525dc ) 8052470: 2201 movs r2, #1 8052472: 701a strb r2, [r3, #0] initAmplif(); 8052474: f7cf fb0e bl 8021a94 skz[ACC] = 0.0f; 8052478: 4b63 ldr r3, [pc, #396] ; (8052608 ) 805247a: f04f 0200 mov.w r2, #0 805247e: 601a str r2, [r3, #0] break; 8052480: f000 bc61 b.w 8052d46 clbr = false; 8052484: 4b61 ldr r3, [pc, #388] ; (805260c ) 8052486: 2200 movs r2, #0 8052488: 701a strb r2, [r3, #0] menu = OPTIONS; 805248a: 4b5d ldr r3, [pc, #372] ; (8052600 ) 805248c: 2201 movs r2, #1 805248e: 701a strb r2, [r3, #0] menupos = Mode; 8052490: 4b52 ldr r3, [pc, #328] ; (80525dc ) 8052492: 2201 movs r2, #1 8052494: 701a strb r2, [r3, #0] break; 8052496: f000 bc56 b.w 8052d46 case CALIBR_00: menupos = 1; 805249a: 4b50 ldr r3, [pc, #320] ; (80525dc ) 805249c: 2201 movs r2, #1 805249e: 701a strb r2, [r3, #0] menu++; 80524a0: 4b57 ldr r3, [pc, #348] ; (8052600 ) 80524a2: 781b ldrb r3, [r3, #0] 80524a4: b2db uxtb r3, r3 80524a6: 3301 adds r3, #1 80524a8: b2da uxtb r2, r3 80524aa: 4b55 ldr r3, [pc, #340] ; (8052600 ) 80524ac: 701a strb r2, [r3, #0] initAmplif(); 80524ae: f7cf faf1 bl 8021a94 break; 80524b2: f000 bc48 b.w 8052d46 case CALIBR_4: case CALIBR_5: case CALIBR_6: case CALIBR_7: case CALIBR_8: if(menupos == 1) 80524b6: 4b49 ldr r3, [pc, #292] ; (80525dc ) 80524b8: 781b ldrb r3, [r3, #0] 80524ba: b2db uxtb r3, r3 80524bc: 2b01 cmp r3, #1 80524be: d10c bne.n 80524da { if(measuring) 80524c0: 4b50 ldr r3, [pc, #320] ; (8052604 ) 80524c2: 781b ldrb r3, [r3, #0] 80524c4: b2db uxtb r3, r3 80524c6: 2b00 cmp r3, #0 80524c8: d003 beq.n 80524d2 StopMeas(); 80524ca: f7d1 f967 bl 802379c initAmplif(); skz[ACC] = 0.0f; } } break; 80524ce: f000 bc3a b.w 8052d46 else StartMeas(); 80524d2: f7d0 fdb3 bl 802303c break; 80524d6: f000 bc36 b.w 8052d46 if(measuring) 80524da: 4b4a ldr r3, [pc, #296] ; (8052604 ) 80524dc: 781b ldrb r3, [r3, #0] 80524de: b2db uxtb r3, r3 80524e0: 2b00 cmp r3, #0 80524e2: d001 beq.n 80524e8 StopMeas(); 80524e4: f7d1 f95a bl 802379c if(menupos == 0) 80524e8: 4b3c ldr r3, [pc, #240] ; (80525dc ) 80524ea: 781b ldrb r3, [r3, #0] 80524ec: b2db uxtb r3, r3 80524ee: 2b00 cmp r3, #0 80524f0: d10d bne.n 805250e menu--; 80524f2: 4b43 ldr r3, [pc, #268] ; (8052600 ) 80524f4: 781b ldrb r3, [r3, #0] 80524f6: b2db uxtb r3, r3 80524f8: 3b01 subs r3, #1 80524fa: b2da uxtb r2, r3 80524fc: 4b40 ldr r3, [pc, #256] ; (8052600 ) 80524fe: 701a strb r2, [r3, #0] menupos = 1; 8052500: 4b36 ldr r3, [pc, #216] ; (80525dc ) 8052502: 2201 movs r2, #1 8052504: 701a strb r2, [r3, #0] initAmplif(); 8052506: f7cf fac5 bl 8021a94 break; 805250a: f000 bc1c b.w 8052d46 menu++; 805250e: 4b3c ldr r3, [pc, #240] ; (8052600 ) 8052510: 781b ldrb r3, [r3, #0] 8052512: b2db uxtb r3, r3 8052514: 3301 adds r3, #1 8052516: b2da uxtb r2, r3 8052518: 4b39 ldr r3, [pc, #228] ; (8052600 ) 805251a: 701a strb r2, [r3, #0] menupos = 1; 805251c: 4b2f ldr r3, [pc, #188] ; (80525dc ) 805251e: 2201 movs r2, #1 8052520: 701a strb r2, [r3, #0] initAmplif(); 8052522: f7cf fab7 bl 8021a94 skz[ACC] = 0.0f; 8052526: 4b38 ldr r3, [pc, #224] ; (8052608 ) 8052528: f04f 0200 mov.w r2, #0 805252c: 601a str r2, [r3, #0] break; 805252e: f000 bc0a b.w 8052d46 case CALIBR_9: if(menupos == 0) 8052532: 4b2a ldr r3, [pc, #168] ; (80525dc ) 8052534: 781b ldrb r3, [r3, #0] 8052536: b2db uxtb r3, r3 8052538: 2b00 cmp r3, #0 805253a: d10c bne.n 8052556 { menu--; 805253c: 4b30 ldr r3, [pc, #192] ; (8052600 ) 805253e: 781b ldrb r3, [r3, #0] 8052540: b2db uxtb r3, r3 8052542: 3b01 subs r3, #1 8052544: b2da uxtb r2, r3 8052546: 4b2e ldr r3, [pc, #184] ; (8052600 ) 8052548: 701a strb r2, [r3, #0] menupos = 1; 805254a: 4b24 ldr r3, [pc, #144] ; (80525dc ) 805254c: 2201 movs r2, #1 805254e: 701a strb r2, [r3, #0] initAmplif(); 8052550: f7cf faa0 bl 8021a94 { menu++; menupos = 1; Acorr[0] = Vbat; } break; 8052554: e3f7 b.n 8052d46 menu++; 8052556: 4b2a ldr r3, [pc, #168] ; (8052600 ) 8052558: 781b ldrb r3, [r3, #0] 805255a: b2db uxtb r3, r3 805255c: 3301 adds r3, #1 805255e: b2da uxtb r2, r3 8052560: 4b27 ldr r3, [pc, #156] ; (8052600 ) 8052562: 701a strb r2, [r3, #0] menupos = 1; 8052564: 4b1d ldr r3, [pc, #116] ; (80525dc ) 8052566: 2201 movs r2, #1 8052568: 701a strb r2, [r3, #0] Acorr[0] = Vbat; 805256a: 4b29 ldr r3, [pc, #164] ; (8052610 ) 805256c: 681b ldr r3, [r3, #0] 805256e: 4a29 ldr r2, [pc, #164] ; (8052614 ) 8052570: 6013 str r3, [r2, #0] break; 8052572: e3e8 b.n 8052d46 case CALIBR_10: if(menupos == 0) 8052574: 4b19 ldr r3, [pc, #100] ; (80525dc ) 8052576: 781b ldrb r3, [r3, #0] 8052578: b2db uxtb r3, r3 805257a: 2b00 cmp r3, #0 805257c: d10a bne.n 8052594 { menu--; 805257e: 4b20 ldr r3, [pc, #128] ; (8052600 ) 8052580: 781b ldrb r3, [r3, #0] 8052582: b2db uxtb r3, r3 8052584: 3b01 subs r3, #1 8052586: b2da uxtb r2, r3 8052588: 4b1d ldr r3, [pc, #116] ; (8052600 ) 805258a: 701a strb r2, [r3, #0] menupos = 0; 805258c: 4b13 ldr r3, [pc, #76] ; (80525dc ) 805258e: 2200 movs r2, #0 8052590: 701a strb r2, [r3, #0] { menu++; menupos = 1; Acorr[1] = Vbat; } break; 8052592: e3d8 b.n 8052d46 menu++; 8052594: 4b1a ldr r3, [pc, #104] ; (8052600 ) 8052596: 781b ldrb r3, [r3, #0] 8052598: b2db uxtb r3, r3 805259a: 3301 adds r3, #1 805259c: b2da uxtb r2, r3 805259e: 4b18 ldr r3, [pc, #96] ; (8052600 ) 80525a0: 701a strb r2, [r3, #0] menupos = 1; 80525a2: 4b0e ldr r3, [pc, #56] ; (80525dc ) 80525a4: 2201 movs r2, #1 80525a6: 701a strb r2, [r3, #0] Acorr[1] = Vbat; 80525a8: 4b19 ldr r3, [pc, #100] ; (8052610 ) 80525aa: 681b ldr r3, [r3, #0] 80525ac: 4a19 ldr r2, [pc, #100] ; (8052614 ) 80525ae: 6053 str r3, [r2, #4] break; 80525b0: e3c9 b.n 8052d46 case CALIBR_11: if(menupos == 0) 80525b2: 4b0a ldr r3, [pc, #40] ; (80525dc ) 80525b4: 781b ldrb r3, [r3, #0] 80525b6: b2db uxtb r3, r3 80525b8: 2b00 cmp r3, #0 80525ba: d10a bne.n 80525d2 { menu--; 80525bc: 4b10 ldr r3, [pc, #64] ; (8052600 ) 80525be: 781b ldrb r3, [r3, #0] 80525c0: b2db uxtb r3, r3 80525c2: 3b01 subs r3, #1 80525c4: b2da uxtb r2, r3 80525c6: 4b0e ldr r3, [pc, #56] ; (8052600 ) 80525c8: 701a strb r2, [r3, #0] menupos = 0; 80525ca: 4b04 ldr r3, [pc, #16] ; (80525dc ) 80525cc: 2200 movs r2, #0 80525ce: 701a strb r2, [r3, #0] clbr = false; menu = OPTIONS; menupos = Mode; } break; 80525d0: e3b9 b.n 8052d46 for(i = 0; i < 9; i++) 80525d2: 2300 movs r3, #0 80525d4: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 80525d8: e07a b.n 80526d0 80525da: bf00 nop 80525dc: 20020070 .word 0x20020070 80525e0: 20020dcc .word 0x20020dcc 80525e4: 20020dd0 .word 0x20020dd0 80525e8: 20020ddc .word 0x20020ddc 80525ec: 2002164c .word 0x2002164c 80525f0: 20020de0 .word 0x20020de0 80525f4: 20020de4 .word 0x20020de4 80525f8: 20020de8 .word 0x20020de8 80525fc: 20020df4 .word 0x20020df4 8052600: 20020f78 .word 0x20020f78 8052604: 20020daf .word 0x20020daf 8052608: 20021540 .word 0x20021540 805260c: 20020f68 .word 0x20020f68 8052610: 20020000 .word 0x20020000 8052614: 200684fc .word 0x200684fc if((Kcorr[i] <= 0.0f) || (Kcorr[i] > 2.0f)) { 8052618: 4ab6 ldr r2, [pc, #728] ; (80528f4 ) 805261a: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 805261e: 009b lsls r3, r3, #2 8052620: 4413 add r3, r2 8052622: edd3 7a00 vldr s15, [r3] 8052626: eef5 7ac0 vcmpe.f32 s15, #0.0 805262a: eef1 fa10 vmrs APSR_nzcv, fpscr 805262e: d90d bls.n 805264c 8052630: 4ab0 ldr r2, [pc, #704] ; (80528f4 ) 8052632: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 8052636: 009b lsls r3, r3, #2 8052638: 4413 add r3, r2 805263a: edd3 7a00 vldr s15, [r3] 805263e: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 8052642: eef4 7ac7 vcmpe.f32 s15, s14 8052646: eef1 fa10 vmrs APSR_nzcv, fpscr 805264a: dd07 ble.n 805265c Kcorr[i] = 1.0f; 805264c: 4aa9 ldr r2, [pc, #676] ; (80528f4 ) 805264e: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 8052652: 009b lsls r3, r3, #2 8052654: 4413 add r3, r2 8052656: f04f 527e mov.w r2, #1065353216 ; 0x3f800000 805265a: 601a str r2, [r3, #0] pardata.CORR_KU[i] = Kcorr[i]; 805265c: 4aa5 ldr r2, [pc, #660] ; (80528f4 ) 805265e: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 8052662: 009b lsls r3, r3, #2 8052664: 4413 add r3, r2 8052666: 681a ldr r2, [r3, #0] 8052668: 49a3 ldr r1, [pc, #652] ; (80528f8 ) 805266a: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 805266e: 3306 adds r3, #6 8052670: 009b lsls r3, r3, #2 8052672: 440b add r3, r1 8052674: 3304 adds r3, #4 8052676: 601a str r2, [r3, #0] corrdata.CORR_ACC[i] = Kcorr[i]; 8052678: 4a9e ldr r2, [pc, #632] ; (80528f4 ) 805267a: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 805267e: 009b lsls r3, r3, #2 8052680: 4413 add r3, r2 8052682: 681a ldr r2, [r3, #0] 8052684: 499d ldr r1, [pc, #628] ; (80528fc ) 8052686: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 805268a: 009b lsls r3, r3, #2 805268c: 440b add r3, r1 805268e: 601a str r2, [r3, #0] corrdata.CORR_VEL[i] = Kcorr[i]; 8052690: 4a98 ldr r2, [pc, #608] ; (80528f4 ) 8052692: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 8052696: 009b lsls r3, r3, #2 8052698: 4413 add r3, r2 805269a: 681a ldr r2, [r3, #0] 805269c: 4997 ldr r1, [pc, #604] ; (80528fc ) 805269e: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 80526a2: 3308 adds r3, #8 80526a4: 009b lsls r3, r3, #2 80526a6: 440b add r3, r1 80526a8: 3304 adds r3, #4 80526aa: 601a str r2, [r3, #0] corrdata.CORR_DIS[i] = Kcorr[i]; 80526ac: 4a91 ldr r2, [pc, #580] ; (80528f4 ) 80526ae: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 80526b2: 009b lsls r3, r3, #2 80526b4: 4413 add r3, r2 80526b6: 681a ldr r2, [r3, #0] 80526b8: 4990 ldr r1, [pc, #576] ; (80528fc ) 80526ba: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 80526be: 3312 adds r3, #18 80526c0: 009b lsls r3, r3, #2 80526c2: 440b add r3, r1 80526c4: 601a str r2, [r3, #0] for(i = 0; i < 9; i++) 80526c6: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 80526ca: 3301 adds r3, #1 80526cc: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 80526d0: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 80526d4: 2b08 cmp r3, #8 80526d6: d99f bls.n 8052618 Acorr[0] = (4.20f - 3.50f) / (Acorr[1] - Acorr[0]); 80526d8: 4b89 ldr r3, [pc, #548] ; (8052900 ) 80526da: ed93 7a01 vldr s14, [r3, #4] 80526de: 4b88 ldr r3, [pc, #544] ; (8052900 ) 80526e0: edd3 7a00 vldr s15, [r3] 80526e4: ee37 7a67 vsub.f32 s14, s14, s15 80526e8: eddf 6a86 vldr s13, [pc, #536] ; 8052904 80526ec: eec6 7a87 vdiv.f32 s15, s13, s14 80526f0: 4b83 ldr r3, [pc, #524] ; (8052900 ) 80526f2: edc3 7a00 vstr s15, [r3] Acorr[1] = 4.20f - (Acorr[1] * Acorr[0]); 80526f6: 4b82 ldr r3, [pc, #520] ; (8052900 ) 80526f8: ed93 7a01 vldr s14, [r3, #4] 80526fc: 4b80 ldr r3, [pc, #512] ; (8052900 ) 80526fe: edd3 7a00 vldr s15, [r3] 8052702: ee67 7a27 vmul.f32 s15, s14, s15 8052706: ed9f 7a80 vldr s14, [pc, #512] ; 8052908 805270a: ee77 7a67 vsub.f32 s15, s14, s15 805270e: 4b7c ldr r3, [pc, #496] ; (8052900 ) 8052710: edc3 7a01 vstr s15, [r3, #4] aa1 = Acorr[0]; 8052714: 4b7a ldr r3, [pc, #488] ; (8052900 ) 8052716: 681b ldr r3, [r3, #0] 8052718: 4a7c ldr r2, [pc, #496] ; (805290c ) 805271a: 6013 str r3, [r2, #0] aa0 = Acorr[1]; 805271c: 4b78 ldr r3, [pc, #480] ; (8052900 ) 805271e: 685b ldr r3, [r3, #4] 8052720: 4a7b ldr r2, [pc, #492] ; (8052910 ) 8052722: 6013 str r3, [r2, #0] memcpy((void *) _SERIAL, (void *) Serial, sizeof(Serial)); 8052724: 4b7b ldr r3, [pc, #492] ; (8052914 ) 8052726: 4a7c ldr r2, [pc, #496] ; (8052918 ) 8052728: 6811 ldr r1, [r2, #0] 805272a: 6852 ldr r2, [r2, #4] 805272c: 6019 str r1, [r3, #0] 805272e: 605a str r2, [r3, #4] wrCorr(); 8052730: f7dc f952 bl 802e9d8 wrPar(); 8052734: f7db fda8 bl 802e288 clbr = false; 8052738: 4b78 ldr r3, [pc, #480] ; (805291c ) 805273a: 2200 movs r2, #0 805273c: 701a strb r2, [r3, #0] menu = OPTIONS; 805273e: 4b78 ldr r3, [pc, #480] ; (8052920 ) 8052740: 2201 movs r2, #1 8052742: 701a strb r2, [r3, #0] menupos = Mode; 8052744: 4b77 ldr r3, [pc, #476] ; (8052924 ) 8052746: 2201 movs r2, #1 8052748: 701a strb r2, [r3, #0] break; 805274a: e2fc b.n 8052d46 case CALIBR_OFFSET: FLAG_CALC_MEAN = false; 805274c: 4b76 ldr r3, [pc, #472] ; (8052928 ) 805274e: 2200 movs r2, #0 8052750: 701a strb r2, [r3, #0] MAX11270_StopMeas(); 8052752: f002 fc57 bl 8055004 MEAN = MEAN_TEMP; 8052756: 4b75 ldr r3, [pc, #468] ; (805292c ) 8052758: 681b ldr r3, [r3, #0] 805275a: 4a75 ldr r2, [pc, #468] ; (8052930 ) 805275c: 6013 str r3, [r2, #0] wrCorr(); 805275e: f7dc f93b bl 802e9d8 menu = OPTIONS; 8052762: 4b6f ldr r3, [pc, #444] ; (8052920 ) 8052764: 2201 movs r2, #1 8052766: 701a strb r2, [r3, #0] menupos = Mode; 8052768: 4b6e ldr r3, [pc, #440] ; (8052924 ) 805276a: 2201 movs r2, #1 805276c: 701a strb r2, [r3, #0] break; 805276e: e2ea b.n 8052d46 case ARCHIVE: switch(menupos) 8052770: 4b6c ldr r3, [pc, #432] ; (8052924 ) 8052772: 781b ldrb r3, [r3, #0] 8052774: b2db uxtb r3, r3 8052776: 2b01 cmp r3, #1 8052778: d002 beq.n 8052780 805277a: 2b02 cmp r3, #2 805277c: d05e beq.n 805283c timerStatus = sec2; DrawStatus = true; } break; } break; 805277e: e2e2 b.n 8052d46 result = FR_NOT_READY; 8052780: 2303 movs r3, #3 8052782: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(CardState == MSD_READY) 8052786: 4b6b ldr r3, [pc, #428] ; (8052934 ) 8052788: 781b ldrb r3, [r3, #0] 805278a: b2db uxtb r3, r3 805278c: 2b03 cmp r3, #3 805278e: d134 bne.n 80527fa CursorIndex = 0; 8052790: 4b69 ldr r3, [pc, #420] ; (8052938 ) 8052792: 2200 movs r2, #0 8052794: 601a str r2, [r3, #0] FirstFileIndex = 0; 8052796: 4b69 ldr r3, [pc, #420] ; (805293c ) 8052798: 2200 movs r2, #0 805279a: 601a str r2, [r3, #0] RealFileIndex = 0; 805279c: 4b68 ldr r3, [pc, #416] ; (8052940 ) 805279e: 2200 movs r2, #0 80527a0: 601a str r2, [r3, #0] result = ReadNumFilesFRAN((uint32_t *) &NumFilesFRAN); 80527a2: 4868 ldr r0, [pc, #416] ; (8052944 ) 80527a4: f7d8 f91a bl 802a9dc 80527a8: 4603 mov r3, r0 80527aa: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 80527ae: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 80527b2: 2b00 cmp r3, #0 80527b4: f040 80d2 bne.w 805295c result = ReadMyFilesFRAN(FirstFileIndex); 80527b8: 4b60 ldr r3, [pc, #384] ; (805293c ) 80527ba: 681b ldr r3, [r3, #0] 80527bc: 4618 mov r0, r3 80527be: f7d8 f9be bl 802ab3e 80527c2: 4603 mov r3, r0 80527c4: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 80527c8: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 80527cc: 2b00 cmp r3, #0 80527ce: f040 80c5 bne.w 805295c menu = ARCHIVE_FRAN; 80527d2: 4b53 ldr r3, [pc, #332] ; (8052920 ) 80527d4: 2216 movs r2, #22 80527d6: 701a strb r2, [r3, #0] lastmenupos = menupos; 80527d8: 4b52 ldr r3, [pc, #328] ; (8052924 ) 80527da: 781b ldrb r3, [r3, #0] 80527dc: b2da uxtb r2, r3 80527de: 4b5a ldr r3, [pc, #360] ; (8052948 ) 80527e0: 701a strb r2, [r3, #0] if(NumFilesFRAN) menupos = FilesFRAN; 80527e2: 4b58 ldr r3, [pc, #352] ; (8052944 ) 80527e4: 681b ldr r3, [r3, #0] 80527e6: 2b00 cmp r3, #0 80527e8: d003 beq.n 80527f2 80527ea: 4b4e ldr r3, [pc, #312] ; (8052924 ) 80527ec: 2202 movs r2, #2 80527ee: 701a strb r2, [r3, #0] break; 80527f0: e0b4 b.n 805295c else menupos = NoFilesFRAN; 80527f2: 4b4c ldr r3, [pc, #304] ; (8052924 ) 80527f4: 2201 movs r2, #1 80527f6: 701a strb r2, [r3, #0] break; 80527f8: e0b0 b.n 805295c if(CardState == MSD_PRESENT) 80527fa: 4b4e ldr r3, [pc, #312] ; (8052934 ) 80527fc: 781b ldrb r3, [r3, #0] 80527fe: b2db uxtb r3, r3 8052800: 2b01 cmp r3, #1 8052802: d10a bne.n 805281a STATUS = AP_DISK_ERROR; 8052804: 4b51 ldr r3, [pc, #324] ; (805294c ) 8052806: 220b movs r2, #11 8052808: 601a str r2, [r3, #0] timerStatus = sec2; 805280a: 4b51 ldr r3, [pc, #324] ; (8052950 ) 805280c: f44f 5280 mov.w r2, #4096 ; 0x1000 8052810: 801a strh r2, [r3, #0] DrawStatus = true; 8052812: 4b50 ldr r3, [pc, #320] ; (8052954 ) 8052814: 2201 movs r2, #1 8052816: 701a strb r2, [r3, #0] break; 8052818: e0a0 b.n 805295c if(CardState == MSD_NOCARD) 805281a: 4b46 ldr r3, [pc, #280] ; (8052934 ) 805281c: 781b ldrb r3, [r3, #0] 805281e: b2db uxtb r3, r3 8052820: 2b00 cmp r3, #0 8052822: f040 809b bne.w 805295c STATUS = AP_NO_CARD; 8052826: 4b49 ldr r3, [pc, #292] ; (805294c ) 8052828: 2211 movs r2, #17 805282a: 601a str r2, [r3, #0] timerStatus = sec2; 805282c: 4b48 ldr r3, [pc, #288] ; (8052950 ) 805282e: f44f 5280 mov.w r2, #4096 ; 0x1000 8052832: 801a strh r2, [r3, #0] DrawStatus = true; 8052834: 4b47 ldr r3, [pc, #284] ; (8052954 ) 8052836: 2201 movs r2, #1 8052838: 701a strb r2, [r3, #0] break; 805283a: e08f b.n 805295c result = FR_NOT_READY; 805283c: 2303 movs r3, #3 805283e: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(CardState == MSD_READY) 8052842: 4b3c ldr r3, [pc, #240] ; (8052934 ) 8052844: 781b ldrb r3, [r3, #0] 8052846: b2db uxtb r3, r3 8052848: 2b03 cmp r3, #3 805284a: d132 bne.n 80528b2 CursorIndex = 0; 805284c: 4b3a ldr r3, [pc, #232] ; (8052938 ) 805284e: 2200 movs r2, #0 8052850: 601a str r2, [r3, #0] FirstFileIndex = 0; 8052852: 4b3a ldr r3, [pc, #232] ; (805293c ) 8052854: 2200 movs r2, #0 8052856: 601a str r2, [r3, #0] RealFileIndex = 0; 8052858: 4b39 ldr r3, [pc, #228] ; (8052940 ) 805285a: 2200 movs r2, #0 805285c: 601a str r2, [r3, #0] result = ReadNumFilesGTR((uint32_t *) &NumFilesGTR); 805285e: 483e ldr r0, [pc, #248] ; (8052958 ) 8052860: f7d8 f8d2 bl 802aa08 8052864: 4603 mov r3, r0 8052866: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 805286a: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 805286e: 2b00 cmp r3, #0 8052870: d176 bne.n 8052960 result = ReadMyFilesGTR(FirstFileIndex); 8052872: 4b32 ldr r3, [pc, #200] ; (805293c ) 8052874: 681b ldr r3, [r3, #0] 8052876: 4618 mov r0, r3 8052878: f7d8 f96e bl 802ab58 805287c: 4603 mov r3, r0 805287e: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 8052882: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 8052886: 2b00 cmp r3, #0 8052888: d16a bne.n 8052960 menu = ARCHIVE_WAVE; 805288a: 4b25 ldr r3, [pc, #148] ; (8052920 ) 805288c: 2217 movs r2, #23 805288e: 701a strb r2, [r3, #0] lastmenupos = menupos; 8052890: 4b24 ldr r3, [pc, #144] ; (8052924 ) 8052892: 781b ldrb r3, [r3, #0] 8052894: b2da uxtb r2, r3 8052896: 4b2c ldr r3, [pc, #176] ; (8052948 ) 8052898: 701a strb r2, [r3, #0] if(NumFilesGTR) menupos = FilesGTR; 805289a: 4b2f ldr r3, [pc, #188] ; (8052958 ) 805289c: 681b ldr r3, [r3, #0] 805289e: 2b00 cmp r3, #0 80528a0: d003 beq.n 80528aa 80528a2: 4b20 ldr r3, [pc, #128] ; (8052924 ) 80528a4: 2202 movs r2, #2 80528a6: 701a strb r2, [r3, #0] break; 80528a8: e05a b.n 8052960 else menupos = NoFilesGTR; 80528aa: 4b1e ldr r3, [pc, #120] ; (8052924 ) 80528ac: 2201 movs r2, #1 80528ae: 701a strb r2, [r3, #0] break; 80528b0: e056 b.n 8052960 if(CardState == MSD_PRESENT) 80528b2: 4b20 ldr r3, [pc, #128] ; (8052934 ) 80528b4: 781b ldrb r3, [r3, #0] 80528b6: b2db uxtb r3, r3 80528b8: 2b01 cmp r3, #1 80528ba: d10a bne.n 80528d2 STATUS = AP_DISK_ERROR; 80528bc: 4b23 ldr r3, [pc, #140] ; (805294c ) 80528be: 220b movs r2, #11 80528c0: 601a str r2, [r3, #0] timerStatus = sec2; 80528c2: 4b23 ldr r3, [pc, #140] ; (8052950 ) 80528c4: f44f 5280 mov.w r2, #4096 ; 0x1000 80528c8: 801a strh r2, [r3, #0] DrawStatus = true; 80528ca: 4b22 ldr r3, [pc, #136] ; (8052954 ) 80528cc: 2201 movs r2, #1 80528ce: 701a strb r2, [r3, #0] break; 80528d0: e046 b.n 8052960 if(CardState == MSD_NOCARD) 80528d2: 4b18 ldr r3, [pc, #96] ; (8052934 ) 80528d4: 781b ldrb r3, [r3, #0] 80528d6: b2db uxtb r3, r3 80528d8: 2b00 cmp r3, #0 80528da: d141 bne.n 8052960 STATUS = AP_NO_CARD; 80528dc: 4b1b ldr r3, [pc, #108] ; (805294c ) 80528de: 2211 movs r2, #17 80528e0: 601a str r2, [r3, #0] timerStatus = sec2; 80528e2: 4b1b ldr r3, [pc, #108] ; (8052950 ) 80528e4: f44f 5280 mov.w r2, #4096 ; 0x1000 80528e8: 801a strh r2, [r3, #0] DrawStatus = true; 80528ea: 4b1a ldr r3, [pc, #104] ; (8052954 ) 80528ec: 2201 movs r2, #1 80528ee: 701a strb r2, [r3, #0] break; 80528f0: e036 b.n 8052960 80528f2: bf00 nop 80528f4: 20026194 .word 0x20026194 80528f8: 20023e60 .word 0x20023e60 80528fc: 20024310 .word 0x20024310 8052900: 200684fc .word 0x200684fc 8052904: 3f333330 .word 0x3f333330 8052908: 40866666 .word 0x40866666 805290c: 20020024 .word 0x20020024 8052910: 20020d4c .word 0x20020d4c 8052914: 20020f14 .word 0x20020f14 8052918: 20026d04 .word 0x20026d04 805291c: 20020f68 .word 0x20020f68 8052920: 20020f78 .word 0x20020f78 8052924: 20020070 .word 0x20020070 8052928: 2002168e .word 0x2002168e 805292c: 200209d0 .word 0x200209d0 8052930: 200209cc .word 0x200209cc 8052934: 2002164c .word 0x2002164c 8052938: 20020de0 .word 0x20020de0 805293c: 20020de4 .word 0x20020de4 8052940: 20020de8 .word 0x20020de8 8052944: 20020e00 .word 0x20020e00 8052948: 20020071 .word 0x20020071 805294c: 20020dcc .word 0x20020dcc 8052950: 2002168c .word 0x2002168c 8052954: 20020dd2 .word 0x20020dd2 8052958: 20020e04 .word 0x20020e04 break; 805295c: bf00 nop 805295e: e1f2 b.n 8052d46 break; 8052960: bf00 nop break; 8052962: e1f0 b.n 8052d46 case ARCHIVE_SPEC: HISTORY = false; 8052964: 4ba0 ldr r3, [pc, #640] ; (8052be8 ) 8052966: 2200 movs r2, #0 8052968: 701a strb r2, [r3, #0] if(menupos == FilesSPEC) 805296a: 4ba0 ldr r3, [pc, #640] ; (8052bec ) 805296c: 781b ldrb r3, [r3, #0] 805296e: b2db uxtb r3, r3 8052970: 2b02 cmp r3, #2 8052972: d143 bne.n 80529fc { memset(FileName, 0, sizeof(FileName)); 8052974: 2228 movs r2, #40 ; 0x28 8052976: 2100 movs r1, #0 8052978: 489d ldr r0, [pc, #628] ; (8052bf0 ) 805297a: f07a fb65 bl 80cd048 strcpy(FileName, (char *) ExplorerFiles[CursorIndex].fname); 805297e: 4b9d ldr r3, [pc, #628] ; (8052bf4 ) 8052980: 681a ldr r2, [r3, #0] 8052982: 4613 mov r3, r2 8052984: 00db lsls r3, r3, #3 8052986: 1a9b subs r3, r3, r2 8052988: 00db lsls r3, r3, #3 805298a: 3308 adds r3, #8 805298c: 4a9a ldr r2, [pc, #616] ; (8052bf8 ) 805298e: 4413 add r3, r2 8052990: 3304 adds r3, #4 8052992: 4619 mov r1, r3 8052994: 4896 ldr r0, [pc, #600] ; (8052bf0 ) 8052996: f07a fc74 bl 80cd282 result = ReadFileSPEC(FileName); 805299a: 4895 ldr r0, [pc, #596] ; (8052bf0 ) 805299c: f7d4 ffd2 bl 8027944 80529a0: 4603 mov r3, r0 80529a2: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 80529a6: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 80529aa: 2b00 cmp r3, #0 80529ac: d10c bne.n 80529c8 { menu = MAIN_SPEC; 80529ae: 4b93 ldr r3, [pc, #588] ; (8052bfc ) 80529b0: 221c movs r2, #28 80529b2: 701a strb r2, [r3, #0] menupos = BackMenu; 80529b4: 4b8d ldr r3, [pc, #564] ; (8052bec ) 80529b6: 2201 movs r2, #1 80529b8: 701a strb r2, [r3, #0] HISTORY = true; 80529ba: 4b8b ldr r3, [pc, #556] ; (8052be8 ) 80529bc: 2201 movs r2, #1 80529be: 701a strb r2, [r3, #0] FIRST = false; 80529c0: 4b8f ldr r3, [pc, #572] ; (8052c00 ) 80529c2: 2200 movs r2, #0 80529c4: 701a strb r2, [r3, #0] } } } } } break; 80529c6: e1bb b.n 8052d40 if(result == FR_NOT_READY) 80529c8: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 80529cc: 2b03 cmp r3, #3 80529ce: d10a bne.n 80529e6 STATUS = AP_NO_CARD; 80529d0: 4b8c ldr r3, [pc, #560] ; (8052c04 ) 80529d2: 2211 movs r2, #17 80529d4: 601a str r2, [r3, #0] timerStatus = sec2; 80529d6: 4b8c ldr r3, [pc, #560] ; (8052c08 ) 80529d8: f44f 5280 mov.w r2, #4096 ; 0x1000 80529dc: 801a strh r2, [r3, #0] DrawStatus = true; 80529de: 4b8b ldr r3, [pc, #556] ; (8052c0c ) 80529e0: 2201 movs r2, #1 80529e2: 701a strb r2, [r3, #0] break; 80529e4: e1ac b.n 8052d40 STATUS = AP_INVALID_FILE; 80529e6: 4b87 ldr r3, [pc, #540] ; (8052c04 ) 80529e8: 2202 movs r2, #2 80529ea: 601a str r2, [r3, #0] timerStatus = sec2; 80529ec: 4b86 ldr r3, [pc, #536] ; (8052c08 ) 80529ee: f44f 5280 mov.w r2, #4096 ; 0x1000 80529f2: 801a strh r2, [r3, #0] DrawStatus = true; 80529f4: 4b85 ldr r3, [pc, #532] ; (8052c0c ) 80529f6: 2201 movs r2, #1 80529f8: 701a strb r2, [r3, #0] break; 80529fa: e1a1 b.n 8052d40 if(menupos == UpNo) 80529fc: 4b7b ldr r3, [pc, #492] ; (8052bec ) 80529fe: 781b ldrb r3, [r3, #0] 8052a00: b2db uxtb r3, r3 8052a02: 2b06 cmp r3, #6 8052a04: d103 bne.n 8052a0e menupos = FilesSPEC; 8052a06: 4b79 ldr r3, [pc, #484] ; (8052bec ) 8052a08: 2202 movs r2, #2 8052a0a: 701a strb r2, [r3, #0] break; 8052a0c: e198 b.n 8052d40 if(menupos == UpYes) 8052a0e: 4b77 ldr r3, [pc, #476] ; (8052bec ) 8052a10: 781b ldrb r3, [r3, #0] 8052a12: b2db uxtb r3, r3 8052a14: 2b07 cmp r3, #7 8052a16: d124 bne.n 8052a62 STATUS = AP_OK; 8052a18: 4b7a ldr r3, [pc, #488] ; (8052c04 ) 8052a1a: 2200 movs r2, #0 8052a1c: 601a str r2, [r3, #0] CleanStatus = AP_OK; 8052a1e: 4b7c ldr r3, [pc, #496] ; (8052c10 ) 8052a20: 2200 movs r2, #0 8052a22: 701a strb r2, [r3, #0] result = DeleteFileSPEC((char *) ExplorerFiles[CursorIndex].fname); 8052a24: 4b73 ldr r3, [pc, #460] ; (8052bf4 ) 8052a26: 681a ldr r2, [r3, #0] 8052a28: 4613 mov r3, r2 8052a2a: 00db lsls r3, r3, #3 8052a2c: 1a9b subs r3, r3, r2 8052a2e: 00db lsls r3, r3, #3 8052a30: 3308 adds r3, #8 8052a32: 4a71 ldr r2, [pc, #452] ; (8052bf8 ) 8052a34: 4413 add r3, r2 8052a36: 3304 adds r3, #4 8052a38: 4618 mov r0, r3 8052a3a: f7d8 fb3d bl 802b0b8 8052a3e: 4603 mov r3, r0 8052a40: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 8052a44: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 8052a48: 2b00 cmp r3, #0 8052a4a: d103 bne.n 8052a54 CleanStatus = AP_OK; 8052a4c: 4b70 ldr r3, [pc, #448] ; (8052c10 ) 8052a4e: 2200 movs r2, #0 8052a50: 701a strb r2, [r3, #0] 8052a52: e002 b.n 8052a5a else CleanStatus = AP_FAIL; 8052a54: 4b6e ldr r3, [pc, #440] ; (8052c10 ) 8052a56: 2201 movs r2, #1 8052a58: 701a strb r2, [r3, #0] menupos = CleanUpResult; 8052a5a: 4b64 ldr r3, [pc, #400] ; (8052bec ) 8052a5c: 220a movs r2, #10 8052a5e: 701a strb r2, [r3, #0] break; 8052a60: e16e b.n 8052d40 if(menupos == CleanUpResult) 8052a62: 4b62 ldr r3, [pc, #392] ; (8052bec ) 8052a64: 781b ldrb r3, [r3, #0] 8052a66: b2db uxtb r3, r3 8052a68: 2b0a cmp r3, #10 8052a6a: f040 8169 bne.w 8052d40 if(NeedClean == 0) 8052a6e: 4b69 ldr r3, [pc, #420] ; (8052c14 ) 8052a70: 781b ldrb r3, [r3, #0] 8052a72: b2db uxtb r3, r3 8052a74: 2b00 cmp r3, #0 8052a76: f040 8163 bne.w 8052d40 result = FR_NOT_READY; 8052a7a: 2303 movs r3, #3 8052a7c: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(CardState == MSD_READY) 8052a80: 4b65 ldr r3, [pc, #404] ; (8052c18 ) 8052a82: 781b ldrb r3, [r3, #0] 8052a84: b2db uxtb r3, r3 8052a86: 2b03 cmp r3, #3 8052a88: f040 815a bne.w 8052d40 CursorIndex = 0; 8052a8c: 4b59 ldr r3, [pc, #356] ; (8052bf4 ) 8052a8e: 2200 movs r2, #0 8052a90: 601a str r2, [r3, #0] FirstFileIndex = 0; 8052a92: 4b62 ldr r3, [pc, #392] ; (8052c1c ) 8052a94: 2200 movs r2, #0 8052a96: 601a str r2, [r3, #0] RealFileIndex = 0; 8052a98: 4b61 ldr r3, [pc, #388] ; (8052c20 ) 8052a9a: 2200 movs r2, #0 8052a9c: 601a str r2, [r3, #0] result = ReadNumFilesSPEC((uint32_t *) &NumFilesSPEC); 8052a9e: 4861 ldr r0, [pc, #388] ; (8052c24 ) 8052aa0: f7d7 ff86 bl 802a9b0 8052aa4: 4603 mov r3, r0 8052aa6: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 8052aaa: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 8052aae: 2b00 cmp r3, #0 8052ab0: f040 8146 bne.w 8052d40 result = ReadMyFilesSPEC(FirstFileIndex); 8052ab4: 4b59 ldr r3, [pc, #356] ; (8052c1c ) 8052ab6: 681b ldr r3, [r3, #0] 8052ab8: 4618 mov r0, r3 8052aba: f7d8 f833 bl 802ab24 8052abe: 4603 mov r3, r0 8052ac0: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 8052ac4: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 8052ac8: 2b00 cmp r3, #0 8052aca: f040 8139 bne.w 8052d40 menu = ARCHIVE_SPEC; 8052ace: 4b4b ldr r3, [pc, #300] ; (8052bfc ) 8052ad0: 2215 movs r2, #21 8052ad2: 701a strb r2, [r3, #0] if(NumFilesSPEC) menupos = FilesSPEC; 8052ad4: 4b53 ldr r3, [pc, #332] ; (8052c24 ) 8052ad6: 681b ldr r3, [r3, #0] 8052ad8: 2b00 cmp r3, #0 8052ada: d003 beq.n 8052ae4 8052adc: 4b43 ldr r3, [pc, #268] ; (8052bec ) 8052ade: 2202 movs r2, #2 8052ae0: 701a strb r2, [r3, #0] break; 8052ae2: e12d b.n 8052d40 else menupos = NoFilesSPEC; 8052ae4: 4b41 ldr r3, [pc, #260] ; (8052bec ) 8052ae6: 2201 movs r2, #1 8052ae8: 701a strb r2, [r3, #0] break; 8052aea: e129 b.n 8052d40 case ARCHIVE_FRAN: break; case ARCHIVE_WAVE://TODO HISTORY = false; 8052aec: 4b3e ldr r3, [pc, #248] ; (8052be8 ) 8052aee: 2200 movs r2, #0 8052af0: 701a strb r2, [r3, #0] switch(menupos) 8052af2: 4b3e ldr r3, [pc, #248] ; (8052bec ) 8052af4: 781b ldrb r3, [r3, #0] 8052af6: b2db uxtb r3, r3 8052af8: 3b02 subs r3, #2 8052afa: 2b08 cmp r3, #8 8052afc: f200 8122 bhi.w 8052d44 8052b00: a201 add r2, pc, #4 ; (adr r2, 8052b08 ) 8052b02: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8052b06: bf00 nop 8052b08: 08052b2d .word 0x08052b2d 8052b0c: 08052d45 .word 0x08052d45 8052b10: 08052d45 .word 0x08052d45 8052b14: 08052d45 .word 0x08052d45 8052b18: 08052bc5 .word 0x08052bc5 8052b1c: 08052bcd .word 0x08052bcd 8052b20: 08052d45 .word 0x08052d45 8052b24: 08052d45 .word 0x08052d45 8052b28: 08052c31 .word 0x08052c31 { case FilesGTR: memset(FileName, 0, sizeof(FileName)); 8052b2c: 2228 movs r2, #40 ; 0x28 8052b2e: 2100 movs r1, #0 8052b30: 482f ldr r0, [pc, #188] ; (8052bf0 ) 8052b32: f07a fa89 bl 80cd048 strcpy(FileName, (char *) ExplorerFiles[CursorIndex].fname); 8052b36: 4b2f ldr r3, [pc, #188] ; (8052bf4 ) 8052b38: 681a ldr r2, [r3, #0] 8052b3a: 4613 mov r3, r2 8052b3c: 00db lsls r3, r3, #3 8052b3e: 1a9b subs r3, r3, r2 8052b40: 00db lsls r3, r3, #3 8052b42: 3308 adds r3, #8 8052b44: 4a2c ldr r2, [pc, #176] ; (8052bf8 ) 8052b46: 4413 add r3, r2 8052b48: 3304 adds r3, #4 8052b4a: 4619 mov r1, r3 8052b4c: 4828 ldr r0, [pc, #160] ; (8052bf0 ) 8052b4e: f07a fb98 bl 80cd282 result = OpenFileGTR(FileName); 8052b52: 4827 ldr r0, [pc, #156] ; (8052bf0 ) 8052b54: f7d4 ffb6 bl 8027ac4 8052b58: 4603 mov r3, r0 8052b5a: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 8052b5e: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 8052b62: 2b00 cmp r3, #0 8052b64: d114 bne.n 8052b90 { SeekFileGTR(); 8052b66: f7d6 f9db bl 8028f20 ViewLevel = 0; 8052b6a: 4b2f ldr r3, [pc, #188] ; (8052c28 ) 8052b6c: 2200 movs r2, #0 8052b6e: 701a strb r2, [r3, #0] AUTOZOOM = true; 8052b70: 4b2e ldr r3, [pc, #184] ; (8052c2c ) 8052b72: 2201 movs r2, #1 8052b74: 701a strb r2, [r3, #0] menu = MAIN_SYGNAL; 8052b76: 4b21 ldr r3, [pc, #132] ; (8052bfc ) 8052b78: 2220 movs r2, #32 8052b7a: 701a strb r2, [r3, #0] menupos = StartStop; 8052b7c: 4b1b ldr r3, [pc, #108] ; (8052bec ) 8052b7e: 2200 movs r2, #0 8052b80: 701a strb r2, [r3, #0] HISTORY = true; 8052b82: 4b19 ldr r3, [pc, #100] ; (8052be8 ) 8052b84: 2201 movs r2, #1 8052b86: 701a strb r2, [r3, #0] FIRST = false; 8052b88: 4b1d ldr r3, [pc, #116] ; (8052c00 ) 8052b8a: 2200 movs r2, #0 8052b8c: 701a strb r2, [r3, #0] { STATUS = AP_INVALID_FILE; timerStatus = sec2; DrawStatus = true; } break; 8052b8e: e08a b.n 8052ca6 if(result == FR_NOT_READY) 8052b90: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 8052b94: 2b03 cmp r3, #3 8052b96: d10a bne.n 8052bae STATUS = AP_NO_CARD; 8052b98: 4b1a ldr r3, [pc, #104] ; (8052c04 ) 8052b9a: 2211 movs r2, #17 8052b9c: 601a str r2, [r3, #0] timerStatus = sec2; 8052b9e: 4b1a ldr r3, [pc, #104] ; (8052c08 ) 8052ba0: f44f 5280 mov.w r2, #4096 ; 0x1000 8052ba4: 801a strh r2, [r3, #0] DrawStatus = true; 8052ba6: 4b19 ldr r3, [pc, #100] ; (8052c0c ) 8052ba8: 2201 movs r2, #1 8052baa: 701a strb r2, [r3, #0] break; 8052bac: e07b b.n 8052ca6 STATUS = AP_INVALID_FILE; 8052bae: 4b15 ldr r3, [pc, #84] ; (8052c04 ) 8052bb0: 2202 movs r2, #2 8052bb2: 601a str r2, [r3, #0] timerStatus = sec2; 8052bb4: 4b14 ldr r3, [pc, #80] ; (8052c08 ) 8052bb6: f44f 5280 mov.w r2, #4096 ; 0x1000 8052bba: 801a strh r2, [r3, #0] DrawStatus = true; 8052bbc: 4b13 ldr r3, [pc, #76] ; (8052c0c ) 8052bbe: 2201 movs r2, #1 8052bc0: 701a strb r2, [r3, #0] break; 8052bc2: e070 b.n 8052ca6 case UpNo: menupos = FilesGTR; 8052bc4: 4b09 ldr r3, [pc, #36] ; (8052bec ) 8052bc6: 2202 movs r2, #2 8052bc8: 701a strb r2, [r3, #0] break; 8052bca: e06c b.n 8052ca6 case UpYes: STATUS = AP_OK; 8052bcc: 4b0d ldr r3, [pc, #52] ; (8052c04 ) 8052bce: 2200 movs r2, #0 8052bd0: 601a str r2, [r3, #0] CleanStatus = AP_OK; 8052bd2: 4b0f ldr r3, [pc, #60] ; (8052c10 ) 8052bd4: 2200 movs r2, #0 8052bd6: 701a strb r2, [r3, #0] NeedClean = 2; 8052bd8: 4b0e ldr r3, [pc, #56] ; (8052c14 ) 8052bda: 2202 movs r2, #2 8052bdc: 701a strb r2, [r3, #0] menupos = CleanUpResult; 8052bde: 4b03 ldr r3, [pc, #12] ; (8052bec ) 8052be0: 220a movs r2, #10 8052be2: 701a strb r2, [r3, #0] break; 8052be4: e05f b.n 8052ca6 8052be6: bf00 nop 8052be8: 20020f76 .word 0x20020f76 8052bec: 20020070 .word 0x20020070 8052bf0: 20022bb8 .word 0x20022bb8 8052bf4: 20020de0 .word 0x20020de0 8052bf8: 20022350 .word 0x20022350 8052bfc: 20020f78 .word 0x20020f78 8052c00: 20020db2 .word 0x20020db2 8052c04: 20020dcc .word 0x20020dcc 8052c08: 2002168c .word 0x2002168c 8052c0c: 20020dd2 .word 0x20020dd2 8052c10: 20020dd0 .word 0x20020dd0 8052c14: 20020ddc .word 0x20020ddc 8052c18: 2002164c .word 0x2002164c 8052c1c: 20020de4 .word 0x20020de4 8052c20: 20020de8 .word 0x20020de8 8052c24: 20020dfc .word 0x20020dfc 8052c28: 20020f74 .word 0x20020f74 8052c2c: 2002098c .word 0x2002098c case CleanUpResult: if(NeedClean == 0) 8052c30: 4b4e ldr r3, [pc, #312] ; (8052d6c ) 8052c32: 781b ldrb r3, [r3, #0] 8052c34: b2db uxtb r3, r3 8052c36: 2b00 cmp r3, #0 8052c38: d134 bne.n 8052ca4 { result = FR_NOT_READY; 8052c3a: 2303 movs r3, #3 8052c3c: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(CardState == MSD_READY) 8052c40: 4b4b ldr r3, [pc, #300] ; (8052d70 ) 8052c42: 781b ldrb r3, [r3, #0] 8052c44: b2db uxtb r3, r3 8052c46: 2b03 cmp r3, #3 8052c48: d12c bne.n 8052ca4 { CursorIndex = 0; 8052c4a: 4b4a ldr r3, [pc, #296] ; (8052d74 ) 8052c4c: 2200 movs r2, #0 8052c4e: 601a str r2, [r3, #0] FirstFileIndex = 0; 8052c50: 4b49 ldr r3, [pc, #292] ; (8052d78 ) 8052c52: 2200 movs r2, #0 8052c54: 601a str r2, [r3, #0] RealFileIndex = 0; 8052c56: 4b49 ldr r3, [pc, #292] ; (8052d7c ) 8052c58: 2200 movs r2, #0 8052c5a: 601a str r2, [r3, #0] result = ReadNumFilesGTR((uint32_t *) &NumFilesGTR); 8052c5c: 4848 ldr r0, [pc, #288] ; (8052d80 ) 8052c5e: f7d7 fed3 bl 802aa08 8052c62: 4603 mov r3, r0 8052c64: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 8052c68: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 8052c6c: 2b00 cmp r3, #0 8052c6e: d119 bne.n 8052ca4 { result = ReadMyFilesGTR(FirstFileIndex); 8052c70: 4b41 ldr r3, [pc, #260] ; (8052d78 ) 8052c72: 681b ldr r3, [r3, #0] 8052c74: 4618 mov r0, r3 8052c76: f7d7 ff6f bl 802ab58 8052c7a: 4603 mov r3, r0 8052c7c: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 8052c80: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 8052c84: 2b00 cmp r3, #0 8052c86: d10d bne.n 8052ca4 { menu = ARCHIVE_WAVE; 8052c88: 4b3e ldr r3, [pc, #248] ; (8052d84 ) 8052c8a: 2217 movs r2, #23 8052c8c: 701a strb r2, [r3, #0] if(NumFilesGTR) menupos = FilesGTR; 8052c8e: 4b3c ldr r3, [pc, #240] ; (8052d80 ) 8052c90: 681b ldr r3, [r3, #0] 8052c92: 2b00 cmp r3, #0 8052c94: d003 beq.n 8052c9e 8052c96: 4b3c ldr r3, [pc, #240] ; (8052d88 ) 8052c98: 2202 movs r2, #2 8052c9a: 701a strb r2, [r3, #0] else menupos = NoFilesGTR; } } } } break; 8052c9c: e002 b.n 8052ca4 else menupos = NoFilesGTR; 8052c9e: 4b3a ldr r3, [pc, #232] ; (8052d88 ) 8052ca0: 2201 movs r2, #1 8052ca2: 701a strb r2, [r3, #0] break; 8052ca4: bf00 nop } break; 8052ca6: e04d b.n 8052d44 break; 8052ca8: bf00 nop 8052caa: e059 b.n 8052d60 break; 8052cac: bf00 nop 8052cae: e057 b.n 8052d60 break; 8052cb0: bf00 nop 8052cb2: e055 b.n 8052d60 break; 8052cb4: bf00 nop 8052cb6: e053 b.n 8052d60 break; 8052cb8: bf00 nop 8052cba: e051 b.n 8052d60 break; 8052cbc: bf00 nop 8052cbe: e04f b.n 8052d60 break; 8052cc0: bf00 nop 8052cc2: e04d b.n 8052d60 break; 8052cc4: bf00 nop 8052cc6: e04b b.n 8052d60 break; 8052cc8: bf00 nop 8052cca: e049 b.n 8052d60 break; 8052ccc: bf00 nop 8052cce: e047 b.n 8052d60 break; 8052cd0: bf00 nop 8052cd2: e045 b.n 8052d60 break; 8052cd4: bf00 nop 8052cd6: e043 b.n 8052d60 break; 8052cd8: bf00 nop 8052cda: e041 b.n 8052d60 break; 8052cdc: bf00 nop 8052cde: e03f b.n 8052d60 break; 8052ce0: bf00 nop 8052ce2: e03d b.n 8052d60 break; 8052ce4: bf00 nop 8052ce6: e03b b.n 8052d60 break; 8052ce8: bf00 nop 8052cea: e039 b.n 8052d60 break; 8052cec: bf00 nop 8052cee: e037 b.n 8052d60 break; 8052cf0: bf00 nop 8052cf2: e035 b.n 8052d60 break; 8052cf4: bf00 nop 8052cf6: e033 b.n 8052d60 break; 8052cf8: bf00 nop 8052cfa: e031 b.n 8052d60 break; 8052cfc: bf00 nop 8052cfe: e02f b.n 8052d60 break; 8052d00: bf00 nop 8052d02: e02d b.n 8052d60 break; 8052d04: bf00 nop 8052d06: e02b b.n 8052d60 break; 8052d08: bf00 nop 8052d0a: e029 b.n 8052d60 break; 8052d0c: bf00 nop 8052d0e: e027 b.n 8052d60 break; 8052d10: bf00 nop 8052d12: e025 b.n 8052d60 break; 8052d14: bf00 nop 8052d16: e023 b.n 8052d60 break; 8052d18: bf00 nop 8052d1a: e021 b.n 8052d60 break; 8052d1c: bf00 nop 8052d1e: e01f b.n 8052d60 break; 8052d20: bf00 nop 8052d22: e01d b.n 8052d60 break; 8052d24: bf00 nop 8052d26: e01b b.n 8052d60 break; 8052d28: bf00 nop 8052d2a: e019 b.n 8052d60 break; 8052d2c: bf00 nop 8052d2e: e017 b.n 8052d60 break; 8052d30: bf00 nop 8052d32: e015 b.n 8052d60 break; 8052d34: bf00 nop 8052d36: e013 b.n 8052d60 break; 8052d38: bf00 nop 8052d3a: e011 b.n 8052d60 break; 8052d3c: bf00 nop 8052d3e: e00f b.n 8052d60 break; 8052d40: bf00 nop 8052d42: e00d b.n 8052d60 break; 8052d44: bf00 nop } break; 8052d46: e00b b.n 8052d60 return; 8052d48: bf00 nop 8052d4a: e00a b.n 8052d62 break; 8052d4c: bf00 nop 8052d4e: e008 b.n 8052d62 break; 8052d50: bf00 nop 8052d52: e006 b.n 8052d62 break; 8052d54: bf00 nop 8052d56: e004 b.n 8052d62 break; 8052d58: bf00 nop 8052d5a: e002 b.n 8052d62 break; 8052d5c: bf00 nop 8052d5e: e000 b.n 8052d62 break; 8052d60: bf00 nop case KEY_PW: break; } } } 8052d62: 37cc adds r7, #204 ; 0xcc 8052d64: 46bd mov sp, r7 8052d66: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 8052d6a: bf00 nop 8052d6c: 20020ddc .word 0x20020ddc 8052d70: 2002164c .word 0x2002164c 8052d74: 20020de0 .word 0x20020de0 8052d78: 20020de4 .word 0x20020de4 8052d7c: 20020de8 .word 0x20020de8 8052d80: 20020e04 .word 0x20020e04 8052d84: 20020f78 .word 0x20020f78 8052d88: 20020070 .word 0x20020070 08052d8c : void RefreshGraf(void) { 8052d8c: b480 push {r7} 8052d8e: af00 add r7, sp, #0 ViewLevel = 0; 8052d90: 4b8d ldr r3, [pc, #564] ; (8052fc8 ) 8052d92: 2200 movs r2, #0 8052d94: 701a strb r2, [r3, #0] X0 = 0; 8052d96: 4b8d ldr r3, [pc, #564] ; (8052fcc ) 8052d98: 2200 movs r2, #0 8052d9a: 801a strh r2, [r3, #0] lX = X0; 8052d9c: 4b8b ldr r3, [pc, #556] ; (8052fcc ) 8052d9e: 881b ldrh r3, [r3, #0] 8052da0: b29a uxth r2, r3 8052da2: 4b8b ldr r3, [pc, #556] ; (8052fd0 ) 8052da4: 801a strh r2, [r3, #0] if(pardata.SYG == OSC) 8052da6: 4b8b ldr r3, [pc, #556] ; (8052fd4 ) 8052da8: 781b ldrb r3, [r3, #0] 8052daa: b2db uxtb r3, r3 8052dac: 2b02 cmp r3, #2 8052dae: d13b bne.n 8052e28 { Mpos = X0 + CURSOR * avgOSC[ViewLevel][pardata.LNE]; 8052db0: 4b85 ldr r3, [pc, #532] ; (8052fc8 ) 8052db2: 781b ldrb r3, [r3, #0] 8052db4: b2db uxtb r3, r3 8052db6: 4619 mov r1, r3 8052db8: 4b86 ldr r3, [pc, #536] ; (8052fd4 ) 8052dba: 79db ldrb r3, [r3, #7] 8052dbc: b2db uxtb r3, r3 8052dbe: 4618 mov r0, r3 8052dc0: 4a85 ldr r2, [pc, #532] ; (8052fd8 ) 8052dc2: 460b mov r3, r1 8052dc4: 009b lsls r3, r3, #2 8052dc6: 440b add r3, r1 8052dc8: 4413 add r3, r2 8052dca: 4403 add r3, r0 8052dcc: 781b ldrb r3, [r3, #0] 8052dce: b29a uxth r2, r3 8052dd0: 4b82 ldr r3, [pc, #520] ; (8052fdc ) 8052dd2: 681b ldr r3, [r3, #0] 8052dd4: b29b uxth r3, r3 8052dd6: fb12 f303 smulbb r3, r2, r3 8052dda: b29a uxth r2, r3 8052ddc: 4b7b ldr r3, [pc, #492] ; (8052fcc ) 8052dde: 881b ldrh r3, [r3, #0] 8052de0: b29b uxth r3, r3 8052de2: 4413 add r3, r2 8052de4: b29a uxth r2, r3 8052de6: 4b7e ldr r3, [pc, #504] ; (8052fe0 ) 8052de8: 801a strh r2, [r3, #0] fineMpos = Mpos; 8052dea: 4b7d ldr r3, [pc, #500] ; (8052fe0 ) 8052dec: 881b ldrh r3, [r3, #0] 8052dee: b29a uxth r2, r3 8052df0: 4b7c ldr r3, [pc, #496] ; (8052fe4 ) 8052df2: 801a strh r2, [r3, #0] rX = 256 * avgOSC[ViewLevel][pardata.LNE] + lX; 8052df4: 4b74 ldr r3, [pc, #464] ; (8052fc8 ) 8052df6: 781b ldrb r3, [r3, #0] 8052df8: b2db uxtb r3, r3 8052dfa: 4619 mov r1, r3 8052dfc: 4b75 ldr r3, [pc, #468] ; (8052fd4 ) 8052dfe: 79db ldrb r3, [r3, #7] 8052e00: b2db uxtb r3, r3 8052e02: 4618 mov r0, r3 8052e04: 4a74 ldr r2, [pc, #464] ; (8052fd8 ) 8052e06: 460b mov r3, r1 8052e08: 009b lsls r3, r3, #2 8052e0a: 440b add r3, r1 8052e0c: 4413 add r3, r2 8052e0e: 4403 add r3, r0 8052e10: 781b ldrb r3, [r3, #0] 8052e12: b29b uxth r3, r3 8052e14: 021b lsls r3, r3, #8 8052e16: b29a uxth r2, r3 8052e18: 4b6d ldr r3, [pc, #436] ; (8052fd0 ) 8052e1a: 881b ldrh r3, [r3, #0] 8052e1c: b29b uxth r3, r3 8052e1e: 4413 add r3, r2 8052e20: b29a uxth r2, r3 8052e22: 4b71 ldr r3, [pc, #452] ; (8052fe8 ) 8052e24: 801a strh r2, [r3, #0] CURSOR = 5; Mpos = X0 + CURSOR * avgSPC[ViewLevel][pardata.LNE]; fineMpos = Mpos; rX = 256 * avgSPC[ViewLevel][pardata.LNE] + lX; } } 8052e26: e0ca b.n 8052fbe if(pardata.SYG == ROLL) 8052e28: 4b6a ldr r3, [pc, #424] ; (8052fd4 ) 8052e2a: 781b ldrb r3, [r3, #0] 8052e2c: b2db uxtb r3, r3 8052e2e: 2b08 cmp r3, #8 8052e30: d13a bne.n 8052ea8 ViewLevel = 1; 8052e32: 4b65 ldr r3, [pc, #404] ; (8052fc8 ) 8052e34: 2201 movs r2, #1 8052e36: 701a strb r2, [r3, #0] Mpos = X0 + CURSOR * avgSPC[ViewLevel][pardata.LNE]; 8052e38: 4b63 ldr r3, [pc, #396] ; (8052fc8 ) 8052e3a: 781b ldrb r3, [r3, #0] 8052e3c: b2db uxtb r3, r3 8052e3e: 4618 mov r0, r3 8052e40: 4b64 ldr r3, [pc, #400] ; (8052fd4 ) 8052e42: 79db ldrb r3, [r3, #7] 8052e44: b2db uxtb r3, r3 8052e46: 4619 mov r1, r3 8052e48: 4a68 ldr r2, [pc, #416] ; (8052fec ) 8052e4a: 0083 lsls r3, r0, #2 8052e4c: 4413 add r3, r2 8052e4e: 440b add r3, r1 8052e50: 781b ldrb r3, [r3, #0] 8052e52: b29a uxth r2, r3 8052e54: 4b61 ldr r3, [pc, #388] ; (8052fdc ) 8052e56: 681b ldr r3, [r3, #0] 8052e58: b29b uxth r3, r3 8052e5a: fb12 f303 smulbb r3, r2, r3 8052e5e: b29a uxth r2, r3 8052e60: 4b5a ldr r3, [pc, #360] ; (8052fcc ) 8052e62: 881b ldrh r3, [r3, #0] 8052e64: b29b uxth r3, r3 8052e66: 4413 add r3, r2 8052e68: b29a uxth r2, r3 8052e6a: 4b5d ldr r3, [pc, #372] ; (8052fe0 ) 8052e6c: 801a strh r2, [r3, #0] fineMpos = Mpos; 8052e6e: 4b5c ldr r3, [pc, #368] ; (8052fe0 ) 8052e70: 881b ldrh r3, [r3, #0] 8052e72: b29a uxth r2, r3 8052e74: 4b5b ldr r3, [pc, #364] ; (8052fe4 ) 8052e76: 801a strh r2, [r3, #0] rX = 256 * avgSPC[ViewLevel][pardata.LNE] + lX; 8052e78: 4b53 ldr r3, [pc, #332] ; (8052fc8 ) 8052e7a: 781b ldrb r3, [r3, #0] 8052e7c: b2db uxtb r3, r3 8052e7e: 4618 mov r0, r3 8052e80: 4b54 ldr r3, [pc, #336] ; (8052fd4 ) 8052e82: 79db ldrb r3, [r3, #7] 8052e84: b2db uxtb r3, r3 8052e86: 4619 mov r1, r3 8052e88: 4a58 ldr r2, [pc, #352] ; (8052fec ) 8052e8a: 0083 lsls r3, r0, #2 8052e8c: 4413 add r3, r2 8052e8e: 440b add r3, r1 8052e90: 781b ldrb r3, [r3, #0] 8052e92: b29b uxth r3, r3 8052e94: 021b lsls r3, r3, #8 8052e96: b29a uxth r2, r3 8052e98: 4b4d ldr r3, [pc, #308] ; (8052fd0 ) 8052e9a: 881b ldrh r3, [r3, #0] 8052e9c: b29b uxth r3, r3 8052e9e: 4413 add r3, r2 8052ea0: b29a uxth r2, r3 8052ea2: 4b51 ldr r3, [pc, #324] ; (8052fe8 ) 8052ea4: 801a strh r2, [r3, #0] } 8052ea6: e08a b.n 8052fbe if((pardata.SYG == SPEC) || (pardata.SYG == SPEC_OGIB) || (pardata.SYG == UDAR)) 8052ea8: 4b4a ldr r3, [pc, #296] ; (8052fd4 ) 8052eaa: 781b ldrb r3, [r3, #0] 8052eac: b2db uxtb r3, r3 8052eae: 2b01 cmp r3, #1 8052eb0: d009 beq.n 8052ec6 8052eb2: 4b48 ldr r3, [pc, #288] ; (8052fd4 ) 8052eb4: 781b ldrb r3, [r3, #0] 8052eb6: b2db uxtb r3, r3 8052eb8: 2b05 cmp r3, #5 8052eba: d004 beq.n 8052ec6 8052ebc: 4b45 ldr r3, [pc, #276] ; (8052fd4 ) 8052ebe: 781b ldrb r3, [r3, #0] 8052ec0: b2db uxtb r3, r3 8052ec2: 2b09 cmp r3, #9 8052ec4: d137 bne.n 8052f36 Mpos = X0 + CURSOR * avgSPC[ViewLevel][pardata.LNE]; 8052ec6: 4b40 ldr r3, [pc, #256] ; (8052fc8 ) 8052ec8: 781b ldrb r3, [r3, #0] 8052eca: b2db uxtb r3, r3 8052ecc: 4618 mov r0, r3 8052ece: 4b41 ldr r3, [pc, #260] ; (8052fd4 ) 8052ed0: 79db ldrb r3, [r3, #7] 8052ed2: b2db uxtb r3, r3 8052ed4: 4619 mov r1, r3 8052ed6: 4a45 ldr r2, [pc, #276] ; (8052fec ) 8052ed8: 0083 lsls r3, r0, #2 8052eda: 4413 add r3, r2 8052edc: 440b add r3, r1 8052ede: 781b ldrb r3, [r3, #0] 8052ee0: b29a uxth r2, r3 8052ee2: 4b3e ldr r3, [pc, #248] ; (8052fdc ) 8052ee4: 681b ldr r3, [r3, #0] 8052ee6: b29b uxth r3, r3 8052ee8: fb12 f303 smulbb r3, r2, r3 8052eec: b29a uxth r2, r3 8052eee: 4b37 ldr r3, [pc, #220] ; (8052fcc ) 8052ef0: 881b ldrh r3, [r3, #0] 8052ef2: b29b uxth r3, r3 8052ef4: 4413 add r3, r2 8052ef6: b29a uxth r2, r3 8052ef8: 4b39 ldr r3, [pc, #228] ; (8052fe0 ) 8052efa: 801a strh r2, [r3, #0] fineMpos = Mpos; 8052efc: 4b38 ldr r3, [pc, #224] ; (8052fe0 ) 8052efe: 881b ldrh r3, [r3, #0] 8052f00: b29a uxth r2, r3 8052f02: 4b38 ldr r3, [pc, #224] ; (8052fe4 ) 8052f04: 801a strh r2, [r3, #0] rX = 256 * avgSPC[ViewLevel][pardata.LNE] + lX; 8052f06: 4b30 ldr r3, [pc, #192] ; (8052fc8 ) 8052f08: 781b ldrb r3, [r3, #0] 8052f0a: b2db uxtb r3, r3 8052f0c: 4618 mov r0, r3 8052f0e: 4b31 ldr r3, [pc, #196] ; (8052fd4 ) 8052f10: 79db ldrb r3, [r3, #7] 8052f12: b2db uxtb r3, r3 8052f14: 4619 mov r1, r3 8052f16: 4a35 ldr r2, [pc, #212] ; (8052fec ) 8052f18: 0083 lsls r3, r0, #2 8052f1a: 4413 add r3, r2 8052f1c: 440b add r3, r1 8052f1e: 781b ldrb r3, [r3, #0] 8052f20: b29b uxth r3, r3 8052f22: 021b lsls r3, r3, #8 8052f24: b29a uxth r2, r3 8052f26: 4b2a ldr r3, [pc, #168] ; (8052fd0 ) 8052f28: 881b ldrh r3, [r3, #0] 8052f2a: b29b uxth r3, r3 8052f2c: 4413 add r3, r2 8052f2e: b29a uxth r2, r3 8052f30: 4b2d ldr r3, [pc, #180] ; (8052fe8 ) 8052f32: 801a strh r2, [r3, #0] } 8052f34: e043 b.n 8052fbe if((pardata.SYG == SPEC_OKT) || (pardata.SYG == SPEC_THIRD)) 8052f36: 4b27 ldr r3, [pc, #156] ; (8052fd4 ) 8052f38: 781b ldrb r3, [r3, #0] 8052f3a: b2db uxtb r3, r3 8052f3c: 2b06 cmp r3, #6 8052f3e: d004 beq.n 8052f4a 8052f40: 4b24 ldr r3, [pc, #144] ; (8052fd4 ) 8052f42: 781b ldrb r3, [r3, #0] 8052f44: b2db uxtb r3, r3 8052f46: 2b07 cmp r3, #7 8052f48: d139 bne.n 8052fbe CURSOR = 5; 8052f4a: 4b24 ldr r3, [pc, #144] ; (8052fdc ) 8052f4c: 2205 movs r2, #5 8052f4e: 601a str r2, [r3, #0] Mpos = X0 + CURSOR * avgSPC[ViewLevel][pardata.LNE]; 8052f50: 4b1d ldr r3, [pc, #116] ; (8052fc8 ) 8052f52: 781b ldrb r3, [r3, #0] 8052f54: b2db uxtb r3, r3 8052f56: 4618 mov r0, r3 8052f58: 4b1e ldr r3, [pc, #120] ; (8052fd4 ) 8052f5a: 79db ldrb r3, [r3, #7] 8052f5c: b2db uxtb r3, r3 8052f5e: 4619 mov r1, r3 8052f60: 4a22 ldr r2, [pc, #136] ; (8052fec ) 8052f62: 0083 lsls r3, r0, #2 8052f64: 4413 add r3, r2 8052f66: 440b add r3, r1 8052f68: 781b ldrb r3, [r3, #0] 8052f6a: b29a uxth r2, r3 8052f6c: 4b1b ldr r3, [pc, #108] ; (8052fdc ) 8052f6e: 681b ldr r3, [r3, #0] 8052f70: b29b uxth r3, r3 8052f72: fb12 f303 smulbb r3, r2, r3 8052f76: b29a uxth r2, r3 8052f78: 4b14 ldr r3, [pc, #80] ; (8052fcc ) 8052f7a: 881b ldrh r3, [r3, #0] 8052f7c: b29b uxth r3, r3 8052f7e: 4413 add r3, r2 8052f80: b29a uxth r2, r3 8052f82: 4b17 ldr r3, [pc, #92] ; (8052fe0 ) 8052f84: 801a strh r2, [r3, #0] fineMpos = Mpos; 8052f86: 4b16 ldr r3, [pc, #88] ; (8052fe0 ) 8052f88: 881b ldrh r3, [r3, #0] 8052f8a: b29a uxth r2, r3 8052f8c: 4b15 ldr r3, [pc, #84] ; (8052fe4 ) 8052f8e: 801a strh r2, [r3, #0] rX = 256 * avgSPC[ViewLevel][pardata.LNE] + lX; 8052f90: 4b0d ldr r3, [pc, #52] ; (8052fc8 ) 8052f92: 781b ldrb r3, [r3, #0] 8052f94: b2db uxtb r3, r3 8052f96: 4618 mov r0, r3 8052f98: 4b0e ldr r3, [pc, #56] ; (8052fd4 ) 8052f9a: 79db ldrb r3, [r3, #7] 8052f9c: b2db uxtb r3, r3 8052f9e: 4619 mov r1, r3 8052fa0: 4a12 ldr r2, [pc, #72] ; (8052fec ) 8052fa2: 0083 lsls r3, r0, #2 8052fa4: 4413 add r3, r2 8052fa6: 440b add r3, r1 8052fa8: 781b ldrb r3, [r3, #0] 8052faa: b29b uxth r3, r3 8052fac: 021b lsls r3, r3, #8 8052fae: b29a uxth r2, r3 8052fb0: 4b07 ldr r3, [pc, #28] ; (8052fd0 ) 8052fb2: 881b ldrh r3, [r3, #0] 8052fb4: b29b uxth r3, r3 8052fb6: 4413 add r3, r2 8052fb8: b29a uxth r2, r3 8052fba: 4b0b ldr r3, [pc, #44] ; (8052fe8 ) 8052fbc: 801a strh r2, [r3, #0] } 8052fbe: bf00 nop 8052fc0: 46bd mov sp, r7 8052fc2: f85d 7b04 ldr.w r7, [sp], #4 8052fc6: 4770 bx lr 8052fc8: 20020f74 .word 0x20020f74 8052fcc: 20025d1e .word 0x20025d1e 8052fd0: 20025d1a .word 0x20025d1a 8052fd4: 20023e60 .word 0x20023e60 8052fd8: 080ee7b8 .word 0x080ee7b8 8052fdc: 2002006c .word 0x2002006c 8052fe0: 20025d16 .word 0x20025d16 8052fe4: 20025d1c .word 0x20025d1c 8052fe8: 20025d20 .word 0x20025d20 8052fec: 080ee7dc .word 0x080ee7dc 08052ff0 : } void AfterTacho(void) { 8052ff0: b580 push {r7, lr} 8052ff2: b082 sub sp, #8 8052ff4: af00 add r7, sp, #0 FRESULT result; if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 8052ff6: 4b57 ldr r3, [pc, #348] ; (8053154 ) 8052ff8: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8052ffc: f003 0304 and.w r3, r3, #4 8053000: 2b00 cmp r3, #0 8053002: f040 809f bne.w 8053144 { MultRec = _b24V * CorrKk[ACC] * 2; 8053006: 4b54 ldr r3, [pc, #336] ; (8053158 ) 8053008: edd3 7a00 vldr s15, [r3] 805300c: ed9f 7a53 vldr s14, [pc, #332] ; 805315c 8053010: ee67 7a87 vmul.f32 s15, s15, s14 8053014: ee77 7aa7 vadd.f32 s15, s15, s15 8053018: 4b51 ldr r3, [pc, #324] ; (8053160 ) 805301a: edc3 7a00 vstr s15, [r3] menupos = ReadyRec; 805301e: 4b51 ldr r3, [pc, #324] ; (8053164 ) 8053020: 2203 movs r2, #3 8053022: 701a strb r2, [r3, #0] Recording = false; 8053024: 4b50 ldr r3, [pc, #320] ; (8053168 ) 8053026: 2200 movs r2, #0 8053028: 701a strb r2, [r3, #0] RepeatKm = false; 805302a: 4b50 ldr r3, [pc, #320] ; (805316c ) 805302c: 2200 movs r2, #0 805302e: 701a strb r2, [r3, #0] FirstTime = false; 8053030: 4b4f ldr r3, [pc, #316] ; (8053170 ) 8053032: 2200 movs r2, #0 8053034: 701a strb r2, [r3, #0] READY = DATA_FREE; 8053036: 4b4f ldr r3, [pc, #316] ; (8053174 ) 8053038: 2200 movs r2, #0 805303a: 701a strb r2, [r3, #0] cntmeas = 0; 805303c: 4b4e ldr r3, [pc, #312] ; (8053178 ) 805303e: 2200 movs r2, #0 8053040: 801a strh r2, [r3, #0] cntADC = 0; 8053042: 4b4e ldr r3, [pc, #312] ; (805317c ) 8053044: 2200 movs r2, #0 8053046: 801a strh r2, [r3, #0] if(CardState == MSD_READY) 8053048: 4b4d ldr r3, [pc, #308] ; (8053180 ) 805304a: 781b ldrb r3, [r3, #0] 805304c: b2db uxtb r3, r3 805304e: 2b03 cmp r3, #3 8053050: d16a bne.n 8053128 { WavFileNameLen = strlen(WavFileName); 8053052: 484c ldr r0, [pc, #304] ; (8053184 ) 8053054: f7cd f95e bl 8020314 8053058: 4602 mov r2, r0 805305a: 4b4b ldr r3, [pc, #300] ; (8053188 ) 805305c: 601a str r2, [r3, #0] if((WavFileName[WavFileNameLen - 4] != '.') && (WavFileNameLen >= 4)) 805305e: 4b4a ldr r3, [pc, #296] ; (8053188 ) 8053060: 681b ldr r3, [r3, #0] 8053062: 3b04 subs r3, #4 8053064: 4a47 ldr r2, [pc, #284] ; (8053184 ) 8053066: 5cd3 ldrb r3, [r2, r3] 8053068: 2b2e cmp r3, #46 ; 0x2e 805306a: d01a beq.n 80530a2 805306c: 4b46 ldr r3, [pc, #280] ; (8053188 ) 805306e: 681b ldr r3, [r3, #0] 8053070: 2b03 cmp r3, #3 8053072: d916 bls.n 80530a2 { WavFileName[WavFileNameLen - 3] = 'G'; 8053074: 4b44 ldr r3, [pc, #272] ; (8053188 ) 8053076: 681b ldr r3, [r3, #0] 8053078: 3b03 subs r3, #3 805307a: 4a42 ldr r2, [pc, #264] ; (8053184 ) 805307c: 2147 movs r1, #71 ; 0x47 805307e: 54d1 strb r1, [r2, r3] WavFileName[WavFileNameLen - 2] = 'T'; 8053080: 4b41 ldr r3, [pc, #260] ; (8053188 ) 8053082: 681b ldr r3, [r3, #0] 8053084: 3b02 subs r3, #2 8053086: 4a3f ldr r2, [pc, #252] ; (8053184 ) 8053088: 2154 movs r1, #84 ; 0x54 805308a: 54d1 strb r1, [r2, r3] WavFileName[WavFileNameLen - 1] = 'R'; 805308c: 4b3e ldr r3, [pc, #248] ; (8053188 ) 805308e: 681b ldr r3, [r3, #0] 8053090: 3b01 subs r3, #1 8053092: 4a3c ldr r2, [pc, #240] ; (8053184 ) 8053094: 2152 movs r1, #82 ; 0x52 8053096: 54d1 strb r1, [r2, r3] WavFileName[WavFileNameLen] = '\0'; 8053098: 4b3b ldr r3, [pc, #236] ; (8053188 ) 805309a: 681b ldr r3, [r3, #0] 805309c: 4a39 ldr r2, [pc, #228] ; (8053184 ) 805309e: 2100 movs r1, #0 80530a0: 54d1 strb r1, [r2, r3] } result = CreateFileGTR(WavFileName); 80530a2: 4838 ldr r0, [pc, #224] ; (8053184 ) 80530a4: f7d1 f86c bl 8024180 80530a8: 4603 mov r3, r0 80530aa: 71fb strb r3, [r7, #7] if(result == FR_OK) 80530ac: 79fb ldrb r3, [r7, #7] 80530ae: 2b00 cmp r3, #0 80530b0: d105 bne.n 80530be { STATUS = AP_OK; 80530b2: 4b36 ldr r3, [pc, #216] ; (805318c ) 80530b4: 2200 movs r2, #0 80530b6: 601a str r2, [r3, #0] StartRecording(); 80530b8: f7d0 fae0 bl 802367c STATUS = AP_NO_CARD; } } else menupos = GainSelecting; } 80530bc: e045 b.n 805314a Recording = false; 80530be: 4b2a ldr r3, [pc, #168] ; (8053168 ) 80530c0: 2200 movs r2, #0 80530c2: 701a strb r2, [r3, #0] StopMeas(); //// ADDED 80530c4: f7d0 fb6a bl 802379c menupos = StartStop; //// ADDED 80530c8: 4b26 ldr r3, [pc, #152] ; (8053164 ) 80530ca: 2200 movs r2, #0 80530cc: 701a strb r2, [r3, #0] switch(result) 80530ce: 79fb ldrb r3, [r7, #7] 80530d0: 3b03 subs r3, #3 80530d2: 2b06 cmp r3, #6 80530d4: d81c bhi.n 8053110 80530d6: a201 add r2, pc, #4 ; (adr r2, 80530dc ) 80530d8: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80530dc: 080530f9 .word 0x080530f9 80530e0: 08053101 .word 0x08053101 80530e4: 08053111 .word 0x08053111 80530e8: 08053111 .word 0x08053111 80530ec: 08053111 .word 0x08053111 80530f0: 08053109 .word 0x08053109 80530f4: 08053101 .word 0x08053101 STATUS = AP_NO_CARD; 80530f8: 4b24 ldr r3, [pc, #144] ; (805318c ) 80530fa: 2211 movs r2, #17 80530fc: 601a str r2, [r3, #0] break; 80530fe: e00b b.n 8053118 STATUS = AP_INVALID_FILE; 8053100: 4b22 ldr r3, [pc, #136] ; (805318c ) 8053102: 2202 movs r2, #2 8053104: 601a str r2, [r3, #0] break; 8053106: e007 b.n 8053118 STATUS = AP_FILE_EXIST; 8053108: 4b20 ldr r3, [pc, #128] ; (805318c ) 805310a: 2206 movs r2, #6 805310c: 601a str r2, [r3, #0] break; 805310e: e003 b.n 8053118 STATUS = AP_DISK_ERROR; 8053110: 4b1e ldr r3, [pc, #120] ; (805318c ) 8053112: 220b movs r2, #11 8053114: 601a str r2, [r3, #0] break; 8053116: bf00 nop timerStatus = sec2; 8053118: 4b1d ldr r3, [pc, #116] ; (8053190 ) 805311a: f44f 5280 mov.w r2, #4096 ; 0x1000 805311e: 801a strh r2, [r3, #0] DrawStatus = true; 8053120: 4b1c ldr r3, [pc, #112] ; (8053194 ) 8053122: 2201 movs r2, #1 8053124: 701a strb r2, [r3, #0] } 8053126: e010 b.n 805314a Recording = false; 8053128: 4b0f ldr r3, [pc, #60] ; (8053168 ) 805312a: 2200 movs r2, #0 805312c: 701a strb r2, [r3, #0] timerStatus = sec2; 805312e: 4b18 ldr r3, [pc, #96] ; (8053190 ) 8053130: f44f 5280 mov.w r2, #4096 ; 0x1000 8053134: 801a strh r2, [r3, #0] DrawStatus = true; 8053136: 4b17 ldr r3, [pc, #92] ; (8053194 ) 8053138: 2201 movs r2, #1 805313a: 701a strb r2, [r3, #0] STATUS = AP_NO_CARD; 805313c: 4b13 ldr r3, [pc, #76] ; (805318c ) 805313e: 2211 movs r2, #17 8053140: 601a str r2, [r3, #0] } 8053142: e002 b.n 805314a menupos = GainSelecting; 8053144: 4b07 ldr r3, [pc, #28] ; (8053164 ) 8053146: 2202 movs r2, #2 8053148: 701a strb r2, [r3, #0] } 805314a: bf00 nop 805314c: 3708 adds r7, #8 805314e: 46bd mov sp, r7 8053150: bd80 pop {r7, pc} 8053152: bf00 nop 8053154: 20023e60 .word 0x20023e60 8053158: 20020080 .word 0x20020080 805315c: 2f449ba8 .word 0x2f449ba8 8053160: 200261c8 .word 0x200261c8 8053164: 20020070 .word 0x20020070 8053168: 20020db0 .word 0x20020db0 805316c: 20020dac .word 0x20020dac 8053170: 20020dae .word 0x20020dae 8053174: 20020d7f .word 0x20020d7f 8053178: 20020d80 .word 0x20020d80 805317c: 20020d7c .word 0x20020d7c 8053180: 2002164c .word 0x2002164c 8053184: 20020e34 .word 0x20020e34 8053188: 20020ee8 .word 0x20020ee8 805318c: 20020dcc .word 0x20020dcc 8053190: 2002168c .word 0x2002168c 8053194: 20020dd2 .word 0x20020dd2 08053198 : { 8053198: b480 push {r7} 805319a: b085 sub sp, #20 805319c: af00 add r7, sp, #0 SCB->CSSELR = 0U; /*(0U << 1U) | 0U;*/ /* Level 1 data cache */ 805319e: 4b19 ldr r3, [pc, #100] ; (8053204 ) 80531a0: 2200 movs r2, #0 80531a2: f8c3 2084 str.w r2, [r3, #132] ; 0x84 __ASM volatile ("dsb 0xF":::"memory"); 80531a6: f3bf 8f4f dsb sy ccsidr = SCB->CCSIDR; 80531aa: 4b16 ldr r3, [pc, #88] ; (8053204 ) 80531ac: f8d3 3080 ldr.w r3, [r3, #128] ; 0x80 80531b0: 607b str r3, [r7, #4] sets = (uint32_t)(CCSIDR_SETS(ccsidr)); 80531b2: 687b ldr r3, [r7, #4] 80531b4: 0b5b lsrs r3, r3, #13 80531b6: f3c3 030e ubfx r3, r3, #0, #15 80531ba: 60fb str r3, [r7, #12] ways = (uint32_t)(CCSIDR_WAYS(ccsidr)); 80531bc: 687b ldr r3, [r7, #4] 80531be: 08db lsrs r3, r3, #3 80531c0: f3c3 0309 ubfx r3, r3, #0, #10 80531c4: 60bb str r3, [r7, #8] SCB->DCCISW = (((sets << SCB_DCCISW_SET_Pos) & SCB_DCCISW_SET_Msk) | 80531c6: 490f ldr r1, [pc, #60] ; (8053204 ) 80531c8: 68fb ldr r3, [r7, #12] 80531ca: 015a lsls r2, r3, #5 80531cc: f643 73e0 movw r3, #16352 ; 0x3fe0 80531d0: 4013 ands r3, r2 ((ways << SCB_DCCISW_WAY_Pos) & SCB_DCCISW_WAY_Msk) ); 80531d2: 68ba ldr r2, [r7, #8] 80531d4: 0792 lsls r2, r2, #30 SCB->DCCISW = (((sets << SCB_DCCISW_SET_Pos) & SCB_DCCISW_SET_Msk) | 80531d6: 4313 orrs r3, r2 80531d8: f8c1 3274 str.w r3, [r1, #628] ; 0x274 } while (ways-- != 0U); 80531dc: 68bb ldr r3, [r7, #8] 80531de: 1e5a subs r2, r3, #1 80531e0: 60ba str r2, [r7, #8] 80531e2: 2b00 cmp r3, #0 80531e4: d1ef bne.n 80531c6 } while(sets-- != 0U); 80531e6: 68fb ldr r3, [r7, #12] 80531e8: 1e5a subs r2, r3, #1 80531ea: 60fa str r2, [r7, #12] 80531ec: 2b00 cmp r3, #0 80531ee: d1e5 bne.n 80531bc 80531f0: f3bf 8f4f dsb sy __ASM volatile ("isb 0xF":::"memory"); 80531f4: f3bf 8f6f isb sy } 80531f8: bf00 nop 80531fa: 3714 adds r7, #20 80531fc: 46bd mov sp, r7 80531fe: f85d 7b04 ldr.w r7, [sp], #4 8053202: 4770 bx lr 8053204: e000ed00 .word 0xe000ed00 08053208 : } void LTDC_Reset(void) { 8053208: b580 push {r7, lr} 805320a: af00 add r7, sp, #0 HAL_GPIO_WritePin(RESET_GPIO_Port, RESET_Pin, GPIO_PIN_SET); HAL_Delay(100); 805320c: 2201 movs r2, #1 805320e: 2140 movs r1, #64 ; 0x40 8053210: 480b ldr r0, [pc, #44] ; (8053240 ) 8053212: f062 fccd bl 80b5bb0 8053216: 2064 movs r0, #100 ; 0x64 8053218: f060 f81a bl 80b3250 HAL_GPIO_WritePin(RESET_GPIO_Port, RESET_Pin, GPIO_PIN_RESET); HAL_Delay(100); 805321c: 2200 movs r2, #0 805321e: 2140 movs r1, #64 ; 0x40 8053220: 4807 ldr r0, [pc, #28] ; (8053240 ) 8053222: f062 fcc5 bl 80b5bb0 8053226: 2064 movs r0, #100 ; 0x64 8053228: f060 f812 bl 80b3250 HAL_GPIO_WritePin(RESET_GPIO_Port, RESET_Pin, GPIO_PIN_SET); HAL_Delay(100); 805322c: 2201 movs r2, #1 805322e: 2140 movs r1, #64 ; 0x40 8053230: 4803 ldr r0, [pc, #12] ; (8053240 ) 8053232: f062 fcbd bl 80b5bb0 8053236: 2064 movs r0, #100 ; 0x64 8053238: f060 f80a bl 80b3250 } 805323c: bf00 nop 805323e: bd80 pop {r7, pc} 8053240: 40020c00 .word 0x40020c00 08053244 : /* LTDC init function */ void MX_LTDC_Init(void) { 8053244: b580 push {r7, lr} 8053246: b09c sub sp, #112 ; 0x70 8053248: af00 add r7, sp, #0 __IO uint32_t tickstart; // SET_BIT(RCC->CR, RCC_CR_PLLSAION); // HAL_Delay(100); LTDC_Reset(); 805324a: f7ff ffdd bl 8053208 __HAL_RCC_PLLSAI_ENABLE(); 805324e: 4a8c ldr r2, [pc, #560] ; (8053480 ) 8053250: 4b8b ldr r3, [pc, #556] ; (8053480 ) 8053252: 681b ldr r3, [r3, #0] 8053254: f043 5380 orr.w r3, r3, #268435456 ; 0x10000000 8053258: 6013 str r3, [r2, #0] tickstart = HAL_GetTick(); 805325a: f05f ffed bl 80b3238 805325e: 4603 mov r3, r0 8053260: 607b str r3, [r7, #4] while(__HAL_RCC_PLLSAI_GET_FLAG() == RESET) 8053262: e008 b.n 8053276 { if((HAL_GetTick() - tickstart) >= PLLSAI_TIMEOUT_VALUE) { 8053264: f05f ffe8 bl 80b3238 8053268: 4602 mov r2, r0 805326a: 687b ldr r3, [r7, #4] 805326c: 1ad3 subs r3, r2, r3 805326e: 2b63 cmp r3, #99 ; 0x63 8053270: d901 bls.n 8053276 Error_Handler(); 8053272: f001 fdcd bl 8054e10 while(__HAL_RCC_PLLSAI_GET_FLAG() == RESET) 8053276: 4b82 ldr r3, [pc, #520] ; (8053480 ) 8053278: 681b ldr r3, [r3, #0] 805327a: f003 5300 and.w r3, r3, #536870912 ; 0x20000000 805327e: f1b3 5f00 cmp.w r3, #536870912 ; 0x20000000 8053282: d1ef bne.n 8053264 } } hLtdcHandler.Instance = LTDC; 8053284: 4b7f ldr r3, [pc, #508] ; (8053484 ) 8053286: 4a80 ldr r2, [pc, #512] ; (8053488 ) 8053288: 601a str r2, [r3, #0] hLtdcHandler.Init.HSPolarity = LTDC_HSPOLARITY_AL; 805328a: 4b7e ldr r3, [pc, #504] ; (8053484 ) 805328c: 2200 movs r2, #0 805328e: 605a str r2, [r3, #4] hLtdcHandler.Init.VSPolarity = LTDC_VSPOLARITY_AL; 8053290: 4b7c ldr r3, [pc, #496] ; (8053484 ) 8053292: 2200 movs r2, #0 8053294: 609a str r2, [r3, #8] hLtdcHandler.Init.DEPolarity = LTDC_DEPOLARITY_AH; 8053296: 4b7b ldr r3, [pc, #492] ; (8053484 ) 8053298: f04f 5200 mov.w r2, #536870912 ; 0x20000000 805329c: 60da str r2, [r3, #12] hLtdcHandler.Init.PCPolarity = LTDC_PCPOLARITY_IPC; 805329e: 4b79 ldr r3, [pc, #484] ; (8053484 ) 80532a0: 2200 movs r2, #0 80532a2: 611a str r2, [r3, #16] hLtdcHandler.Init.HorizontalSync = 38; 80532a4: 4b77 ldr r3, [pc, #476] ; (8053484 ) 80532a6: 2226 movs r2, #38 ; 0x26 80532a8: 615a str r2, [r3, #20] hLtdcHandler.Init.VerticalSync = 4; 80532aa: 4b76 ldr r3, [pc, #472] ; (8053484 ) 80532ac: 2204 movs r2, #4 80532ae: 619a str r2, [r3, #24] hLtdcHandler.Init.AccumulatedHBP = 68; 80532b0: 4b74 ldr r3, [pc, #464] ; (8053484 ) 80532b2: 2244 movs r2, #68 ; 0x44 80532b4: 61da str r2, [r3, #28] hLtdcHandler.Init.AccumulatedVBP = 18; 80532b6: 4b73 ldr r3, [pc, #460] ; (8053484 ) 80532b8: 2212 movs r2, #18 80532ba: 621a str r2, [r3, #32] hLtdcHandler.Init.AccumulatedActiveW = 388; 80532bc: 4b71 ldr r3, [pc, #452] ; (8053484 ) 80532be: f44f 72c2 mov.w r2, #388 ; 0x184 80532c2: 625a str r2, [r3, #36] ; 0x24 hLtdcHandler.Init.AccumulatedActiveH = 262; 80532c4: 4b6f ldr r3, [pc, #444] ; (8053484 ) 80532c6: f44f 7283 mov.w r2, #262 ; 0x106 80532ca: 629a str r2, [r3, #40] ; 0x28 hLtdcHandler.Init.TotalWidth = 408; 80532cc: 4b6d ldr r3, [pc, #436] ; (8053484 ) 80532ce: f44f 72cc mov.w r2, #408 ; 0x198 80532d2: 62da str r2, [r3, #44] ; 0x2c hLtdcHandler.Init.TotalHeigh = 263; 80532d4: 4b6b ldr r3, [pc, #428] ; (8053484 ) 80532d6: f240 1207 movw r2, #263 ; 0x107 80532da: 631a str r2, [r3, #48] ; 0x30 hLtdcHandler.Init.Backcolor.Blue = 0; 80532dc: 4b69 ldr r3, [pc, #420] ; (8053484 ) 80532de: 2200 movs r2, #0 80532e0: f883 2034 strb.w r2, [r3, #52] ; 0x34 hLtdcHandler.Init.Backcolor.Green = 0; 80532e4: 4b67 ldr r3, [pc, #412] ; (8053484 ) 80532e6: 2200 movs r2, #0 80532e8: f883 2035 strb.w r2, [r3, #53] ; 0x35 hLtdcHandler.Init.Backcolor.Red = 0; 80532ec: 4b65 ldr r3, [pc, #404] ; (8053484 ) 80532ee: 2200 movs r2, #0 80532f0: f883 2036 strb.w r2, [r3, #54] ; 0x36 if (HAL_LTDC_Init(&hLtdcHandler) != HAL_OK) { 80532f4: 4863 ldr r0, [pc, #396] ; (8053484 ) 80532f6: f062 fc8d bl 80b5c14 80532fa: 4603 mov r3, r0 80532fc: 2b00 cmp r3, #0 80532fe: d001 beq.n 8053304 Error_Handler(); 8053300: f001 fd86 bl 8054e10 } pLayerCfg.WindowX0 = 0; 8053304: 2300 movs r3, #0 8053306: 63fb str r3, [r7, #60] ; 0x3c pLayerCfg.WindowX1 = 320; 8053308: f44f 73a0 mov.w r3, #320 ; 0x140 805330c: 643b str r3, [r7, #64] ; 0x40 pLayerCfg.WindowY0 = 0; 805330e: 2300 movs r3, #0 8053310: 647b str r3, [r7, #68] ; 0x44 pLayerCfg.WindowY1 = 240; 8053312: 23f0 movs r3, #240 ; 0xf0 8053314: 64bb str r3, [r7, #72] ; 0x48 pLayerCfg.PixelFormat = LTDC_PIXEL_FORMAT_RGB565; 8053316: 2302 movs r3, #2 8053318: 64fb str r3, [r7, #76] ; 0x4c pLayerCfg.Alpha = 255; 805331a: 23ff movs r3, #255 ; 0xff 805331c: 653b str r3, [r7, #80] ; 0x50 pLayerCfg.Alpha0 = 0; 805331e: 2300 movs r3, #0 8053320: 657b str r3, [r7, #84] ; 0x54 pLayerCfg.BlendingFactor1 = LTDC_BLENDING_FACTOR1_PAxCA; 8053322: f44f 63c0 mov.w r3, #1536 ; 0x600 8053326: 65bb str r3, [r7, #88] ; 0x58 pLayerCfg.BlendingFactor2 = LTDC_BLENDING_FACTOR2_PAxCA; 8053328: 2307 movs r3, #7 805332a: 65fb str r3, [r7, #92] ; 0x5c pLayerCfg.FBStartAdress = SCR1_ADDR_OFFSET; 805332c: f04f 43c8 mov.w r3, #1677721600 ; 0x64000000 8053330: 663b str r3, [r7, #96] ; 0x60 pLayerCfg.ImageWidth = 320; 8053332: f44f 73a0 mov.w r3, #320 ; 0x140 8053336: 667b str r3, [r7, #100] ; 0x64 pLayerCfg.ImageHeight = 240; 8053338: 23f0 movs r3, #240 ; 0xf0 805333a: 66bb str r3, [r7, #104] ; 0x68 pLayerCfg.Backcolor.Blue = 0; 805333c: 2300 movs r3, #0 805333e: f887 306c strb.w r3, [r7, #108] ; 0x6c pLayerCfg.Backcolor.Green = 0; 8053342: 2300 movs r3, #0 8053344: f887 306d strb.w r3, [r7, #109] ; 0x6d pLayerCfg.Backcolor.Red = 0; 8053348: 2300 movs r3, #0 805334a: f887 306e strb.w r3, [r7, #110] ; 0x6e if(HAL_LTDC_ConfigLayer(&hLtdcHandler, &pLayerCfg, 0) != HAL_OK) { 805334e: f107 033c add.w r3, r7, #60 ; 0x3c 8053352: 2200 movs r2, #0 8053354: 4619 mov r1, r3 8053356: 484b ldr r0, [pc, #300] ; (8053484 ) 8053358: f062 fde4 bl 80b5f24 805335c: 4603 mov r3, r0 805335e: 2b00 cmp r3, #0 8053360: d001 beq.n 8053366 Error_Handler(); 8053362: f001 fd55 bl 8054e10 } pLayerCfg1.WindowX0 = 0; 8053366: 2300 movs r3, #0 8053368: 60bb str r3, [r7, #8] pLayerCfg1.WindowX1 = 320; 805336a: f44f 73a0 mov.w r3, #320 ; 0x140 805336e: 60fb str r3, [r7, #12] pLayerCfg1.WindowY0 = 0; 8053370: 2300 movs r3, #0 8053372: 613b str r3, [r7, #16] pLayerCfg1.WindowY1 = 240; 8053374: 23f0 movs r3, #240 ; 0xf0 8053376: 617b str r3, [r7, #20] pLayerCfg1.PixelFormat = LTDC_PIXEL_FORMAT_RGB565; 8053378: 2302 movs r3, #2 805337a: 61bb str r3, [r7, #24] pLayerCfg1.Alpha = 255; 805337c: 23ff movs r3, #255 ; 0xff 805337e: 61fb str r3, [r7, #28] pLayerCfg1.Alpha0 = 0; 8053380: 2300 movs r3, #0 8053382: 623b str r3, [r7, #32] pLayerCfg1.BlendingFactor1 = LTDC_BLENDING_FACTOR1_PAxCA; 8053384: f44f 63c0 mov.w r3, #1536 ; 0x600 8053388: 627b str r3, [r7, #36] ; 0x24 pLayerCfg1.BlendingFactor2 = LTDC_BLENDING_FACTOR2_PAxCA; 805338a: 2307 movs r3, #7 805338c: 62bb str r3, [r7, #40] ; 0x28 pLayerCfg1.FBStartAdress = SCR2_ADDR_OFFSET; 805338e: 4b3f ldr r3, [pc, #252] ; (805348c ) 8053390: 62fb str r3, [r7, #44] ; 0x2c pLayerCfg1.ImageWidth = 320; 8053392: f44f 73a0 mov.w r3, #320 ; 0x140 8053396: 633b str r3, [r7, #48] ; 0x30 pLayerCfg1.ImageHeight = 240; 8053398: 23f0 movs r3, #240 ; 0xf0 805339a: 637b str r3, [r7, #52] ; 0x34 pLayerCfg1.Backcolor.Blue = 0; 805339c: 2300 movs r3, #0 805339e: f887 3038 strb.w r3, [r7, #56] ; 0x38 pLayerCfg1.Backcolor.Green = 0; 80533a2: 2300 movs r3, #0 80533a4: f887 3039 strb.w r3, [r7, #57] ; 0x39 pLayerCfg1.Backcolor.Red = 0; 80533a8: 2300 movs r3, #0 80533aa: f887 303a strb.w r3, [r7, #58] ; 0x3a if(HAL_LTDC_ConfigLayer(&hLtdcHandler, &pLayerCfg1, 1) != HAL_OK) { 80533ae: f107 0308 add.w r3, r7, #8 80533b2: 2201 movs r2, #1 80533b4: 4619 mov r1, r3 80533b6: 4833 ldr r0, [pc, #204] ; (8053484 ) 80533b8: f062 fdb4 bl 80b5f24 80533bc: 4603 mov r3, r0 80533be: 2b00 cmp r3, #0 80533c0: d001 beq.n 80533c6 Error_Handler(); 80533c2: f001 fd25 bl 8054e10 } //HAL_LTDC_EnableCLUT(&hLtdcHandler, 0); //HAL_LTDC_EnableCLUT(&hLtdcHandler, 1); ActiveLayer = 1; 80533c6: 4b32 ldr r3, [pc, #200] ; (8053490 ) 80533c8: 2201 movs r2, #1 80533ca: 601a str r2, [r3, #0] RenderingLayer = 0; 80533cc: 4b31 ldr r3, [pc, #196] ; (8053494 ) 80533ce: 2200 movs r2, #0 80533d0: 601a str r2, [r3, #0] BSP_LCD_DisplayOff(); 80533d2: f000 f879 bl 80534c8 BSP_LCD_SelectLayer(0); 80533d6: 2000 movs r0, #0 80533d8: f000 f960 bl 805369c BSP_LCD_Clear(0xFF000000); 80533dc: f04f 407f mov.w r0, #4278190080 ; 0xff000000 80533e0: f000 fa3e bl 8053860 BSP_LCD_SelectLayer(1); 80533e4: 2001 movs r0, #1 80533e6: f000 f959 bl 805369c BSP_LCD_Clear(0xFF000000); 80533ea: f04f 407f mov.w r0, #4278190080 ; 0xff000000 80533ee: f000 fa37 bl 8053860 BSP_LCD_SetLayerVisible(RenderingLayer, DISABLE); 80533f2: 4b28 ldr r3, [pc, #160] ; (8053494 ) 80533f4: 681b ldr r3, [r3, #0] 80533f6: 2100 movs r1, #0 80533f8: 4618 mov r0, r3 80533fa: f000 f95f bl 80536bc BSP_LCD_SetLayerVisible(ActiveLayer, DISABLE); 80533fe: 4b24 ldr r3, [pc, #144] ; (8053490 ) 8053400: 681b ldr r3, [r3, #0] 8053402: 2100 movs r1, #0 8053404: 4618 mov r0, r3 8053406: f000 f959 bl 80536bc HAL_LTDC_Reload(&hLtdcHandler, LTDC_RELOAD_IMMEDIATE); 805340a: 2101 movs r1, #1 805340c: 481d ldr r0, [pc, #116] ; (8053484 ) 805340e: f062 fdff bl 80b6010 DrawProp[0].BackColor = LCD_COLOR_BLACK; 8053412: 4b21 ldr r3, [pc, #132] ; (8053498 ) 8053414: 4a21 ldr r2, [pc, #132] ; (805349c ) 8053416: 605a str r2, [r3, #4] DrawProp[0].pFont = &Font17; 8053418: 4b1f ldr r3, [pc, #124] ; (8053498 ) 805341a: 4a21 ldr r2, [pc, #132] ; (80534a0 ) 805341c: 609a str r2, [r3, #8] DrawProp[0].TextColor = LCD_COLOR_WHITE; 805341e: 4b1e ldr r3, [pc, #120] ; (8053498 ) 8053420: f04f 32ff mov.w r2, #4294967295 8053424: 601a str r2, [r3, #0] DrawProp[1].BackColor = LCD_COLOR_BLACK; 8053426: 4b1c ldr r3, [pc, #112] ; (8053498 ) 8053428: 4a1c ldr r2, [pc, #112] ; (805349c ) 805342a: 611a str r2, [r3, #16] DrawProp[1].pFont = &Font17; 805342c: 4b1a ldr r3, [pc, #104] ; (8053498 ) 805342e: 4a1c ldr r2, [pc, #112] ; (80534a0 ) 8053430: 615a str r2, [r3, #20] DrawProp[1].TextColor = LCD_COLOR_WHITE; 8053432: 4b19 ldr r3, [pc, #100] ; (8053498 ) 8053434: f04f 32ff mov.w r2, #4294967295 8053438: 60da str r2, [r3, #12] CurrentFont = &Font17; 805343a: 4b1a ldr r3, [pc, #104] ; (80534a4 ) 805343c: 4a18 ldr r2, [pc, #96] ; (80534a0 ) 805343e: 601a str r2, [r3, #0] BSP_LCD_DisplayOn(); 8053440: f000 f836 bl 80534b0 HAL_GPIO_WritePin(DISP_ON_GPIO_Port, DISP_ON_Pin, GPIO_PIN_SET); // BACKLIGHT IS OFF 8053444: 2201 movs r2, #1 8053446: f44f 7180 mov.w r1, #256 ; 0x100 805344a: 4817 ldr r0, [pc, #92] ; (80534a8 ) 805344c: f062 fbb0 bl 80b5bb0 RefreshScreen = true; 8053450: 4b16 ldr r3, [pc, #88] ; (80534ac ) 8053452: 2201 movs r2, #1 8053454: 701a strb r2, [r3, #0] HAL_LTDC_ProgramLineEvent(&hLtdcHandler, 255); 8053456: 21ff movs r1, #255 ; 0xff 8053458: 480a ldr r0, [pc, #40] ; (8053484 ) 805345a: f062 fda1 bl 80b5fa0 while(RefreshScreen); 805345e: bf00 nop 8053460: 4b12 ldr r3, [pc, #72] ; (80534ac ) 8053462: 781b ldrb r3, [r3, #0] 8053464: b2db uxtb r3, r3 8053466: 2b00 cmp r3, #0 8053468: d1fa bne.n 8053460 BSP_LCD_SetLayerVisible(RenderingLayer, ENABLE); 805346a: 4b0a ldr r3, [pc, #40] ; (8053494 ) 805346c: 681b ldr r3, [r3, #0] 805346e: 2101 movs r1, #1 8053470: 4618 mov r0, r3 8053472: f000 f923 bl 80536bc } 8053476: bf00 nop 8053478: 3770 adds r7, #112 ; 0x70 805347a: 46bd mov sp, r7 805347c: bd80 pop {r7, pc} 805347e: bf00 nop 8053480: 40023800 .word 0x40023800 8053484: 20025d28 .word 0x20025d28 8053488: 40016800 .word 0x40016800 805348c: 64025800 .word 0x64025800 8053490: 20020078 .word 0x20020078 8053494: 20020ffc .word 0x20020ffc 8053498: 20020fe4 .word 0x20020fe4 805349c: ff0a0f1f .word 0xff0a0f1f 80534a0: 20020048 .word 0x20020048 80534a4: 20025d24 .word 0x20025d24 80534a8: 40020000 .word 0x40020000 80534ac: 20021000 .word 0x20021000 080534b0 : void BSP_LCD_DisplayOn(void) { 80534b0: b580 push {r7, lr} 80534b2: af00 add r7, sp, #0 //__HAL_LTDC_ENABLE(&hLtdcHandler); HAL_GPIO_WritePin(GPIOF, GPIO_PIN_10, GPIO_PIN_SET); // DISPLAY_ON 80534b4: 2201 movs r2, #1 80534b6: f44f 6180 mov.w r1, #1024 ; 0x400 80534ba: 4802 ldr r0, [pc, #8] ; (80534c4 ) 80534bc: f062 fb78 bl 80b5bb0 } 80534c0: bf00 nop 80534c2: bd80 pop {r7, pc} 80534c4: 40021400 .word 0x40021400 080534c8 : /** * @brief Disables the display. * @retval None */ void BSP_LCD_DisplayOff(void) { 80534c8: b580 push {r7, lr} 80534ca: af00 add r7, sp, #0 //__HAL_LTDC_DISABLE(&hLtdcHandler); HAL_GPIO_WritePin(GPIOF, GPIO_PIN_10, GPIO_PIN_RESET); // DISPLAY_OFF 80534cc: 2200 movs r2, #0 80534ce: f44f 6180 mov.w r1, #1024 ; 0x400 80534d2: 4802 ldr r0, [pc, #8] ; (80534dc ) 80534d4: f062 fb6c bl 80b5bb0 } 80534d8: bf00 nop 80534da: bd80 pop {r7, pc} 80534dc: 40021400 .word 0x40021400 080534e0 : void HAL_LTDC_MspInit(LTDC_HandleTypeDef* ltdcHandle) { 80534e0: b580 push {r7, lr} 80534e2: b088 sub sp, #32 80534e4: af00 add r7, sp, #0 80534e6: 6078 str r0, [r7, #4] GPIO_InitTypeDef GPIO_InitStruct; if(ltdcHandle->Instance == LTDC) 80534e8: 687b ldr r3, [r7, #4] 80534ea: 681b ldr r3, [r3, #0] 80534ec: 4a4f ldr r2, [pc, #316] ; (805362c ) 80534ee: 4293 cmp r3, r2 80534f0: f040 8097 bne.w 8053622 { __HAL_RCC_LTDC_CLK_ENABLE(); 80534f4: 4a4e ldr r2, [pc, #312] ; (8053630 ) 80534f6: 4b4e ldr r3, [pc, #312] ; (8053630 ) 80534f8: 6c5b ldr r3, [r3, #68] ; 0x44 80534fa: f043 6380 orr.w r3, r3, #67108864 ; 0x4000000 80534fe: 6453 str r3, [r2, #68] ; 0x44 8053500: 4b4b ldr r3, [pc, #300] ; (8053630 ) 8053502: 6c5b ldr r3, [r3, #68] ; 0x44 8053504: f003 6380 and.w r3, r3, #67108864 ; 0x4000000 8053508: 60bb str r3, [r7, #8] 805350a: 68bb ldr r3, [r7, #8] PG7 ------> LTDC_CLK PG10 ------> LTDC_G3 PG11 ------> LTDC_B3 PG12 ------> LTDC_B4 */ GPIO_InitStruct.Pin = GPIO_PIN_10; 805350c: f44f 6380 mov.w r3, #1024 ; 0x400 8053510: 60fb str r3, [r7, #12] GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; 8053512: 2301 movs r3, #1 8053514: 613b str r3, [r7, #16] GPIO_InitStruct.Pull = GPIO_NOPULL; 8053516: 2300 movs r3, #0 8053518: 617b str r3, [r7, #20] GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; 805351a: 2303 movs r3, #3 805351c: 61bb str r3, [r7, #24] HAL_GPIO_Init(GPIOF, &GPIO_InitStruct); 805351e: f107 030c add.w r3, r7, #12 8053522: 4619 mov r1, r3 8053524: 4843 ldr r0, [pc, #268] ; (8053634 ) 8053526: f062 f875 bl 80b5614 GPIO_InitStruct.Pin = GPIO_PIN_3 | GPIO_PIN_4 | GPIO_PIN_6 | GPIO_PIN_11 |GPIO_PIN_12; 805352a: f641 0358 movw r3, #6232 ; 0x1858 805352e: 60fb str r3, [r7, #12] GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; 8053530: 2302 movs r3, #2 8053532: 613b str r3, [r7, #16] GPIO_InitStruct.Pull = GPIO_NOPULL; 8053534: 2300 movs r3, #0 8053536: 617b str r3, [r7, #20] GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; 8053538: 2303 movs r3, #3 805353a: 61bb str r3, [r7, #24] GPIO_InitStruct.Alternate = GPIO_AF14_LTDC; 805353c: 230e movs r3, #14 805353e: 61fb str r3, [r7, #28] HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); 8053540: f107 030c add.w r3, r7, #12 8053544: 4619 mov r1, r3 8053546: 483c ldr r0, [pc, #240] ; (8053638 ) 8053548: f062 f864 bl 80b5614 GPIO_InitStruct.Pin = GPIO_PIN_0 | GPIO_PIN_1; 805354c: 2303 movs r3, #3 805354e: 60fb str r3, [r7, #12] GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; 8053550: 2302 movs r3, #2 8053552: 613b str r3, [r7, #16] GPIO_InitStruct.Pull = GPIO_NOPULL; 8053554: 2300 movs r3, #0 8053556: 617b str r3, [r7, #20] GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; 8053558: 2303 movs r3, #3 805355a: 61bb str r3, [r7, #24] GPIO_InitStruct.Alternate = GPIO_AF9_LTDC; 805355c: 2309 movs r3, #9 805355e: 61fb str r3, [r7, #28] HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); 8053560: f107 030c add.w r3, r7, #12 8053564: 4619 mov r1, r3 8053566: 4835 ldr r0, [pc, #212] ; (805363c ) 8053568: f062 f854 bl 80b5614 GPIO_InitStruct.Pin = GPIO_PIN_10 | GPIO_PIN_11 | GPIO_PIN_8 | GPIO_PIN_9; 805356c: f44f 6370 mov.w r3, #3840 ; 0xf00 8053570: 60fb str r3, [r7, #12] GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; 8053572: 2302 movs r3, #2 8053574: 613b str r3, [r7, #16] GPIO_InitStruct.Pull = GPIO_NOPULL; 8053576: 2300 movs r3, #0 8053578: 617b str r3, [r7, #20] GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; 805357a: 2303 movs r3, #3 805357c: 61bb str r3, [r7, #24] GPIO_InitStruct.Alternate = GPIO_AF14_LTDC; 805357e: 230e movs r3, #14 8053580: 61fb str r3, [r7, #28] HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); 8053582: f107 030c add.w r3, r7, #12 8053586: 4619 mov r1, r3 8053588: 482c ldr r0, [pc, #176] ; (805363c ) 805358a: f062 f843 bl 80b5614 GPIO_InitStruct.Pin = GPIO_PIN_6 | GPIO_PIN_7 | GPIO_PIN_11; 805358e: f44f 630c mov.w r3, #2240 ; 0x8c0 8053592: 60fb str r3, [r7, #12] GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; 8053594: 2302 movs r3, #2 8053596: 613b str r3, [r7, #16] GPIO_InitStruct.Pull = GPIO_NOPULL; 8053598: 2300 movs r3, #0 805359a: 617b str r3, [r7, #20] GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; 805359c: 2303 movs r3, #3 805359e: 61bb str r3, [r7, #24] GPIO_InitStruct.Alternate = GPIO_AF14_LTDC; 80535a0: 230e movs r3, #14 80535a2: 61fb str r3, [r7, #28] HAL_GPIO_Init(GPIOG, &GPIO_InitStruct); 80535a4: f107 030c add.w r3, r7, #12 80535a8: 4619 mov r1, r3 80535aa: 4825 ldr r0, [pc, #148] ; (8053640 ) 80535ac: f062 f832 bl 80b5614 GPIO_InitStruct.Pin = GPIO_PIN_6 | GPIO_PIN_7; 80535b0: 23c0 movs r3, #192 ; 0xc0 80535b2: 60fb str r3, [r7, #12] GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; 80535b4: 2302 movs r3, #2 80535b6: 613b str r3, [r7, #16] GPIO_InitStruct.Pull = GPIO_NOPULL; 80535b8: 2300 movs r3, #0 80535ba: 617b str r3, [r7, #20] GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; 80535bc: 2303 movs r3, #3 80535be: 61bb str r3, [r7, #24] GPIO_InitStruct.Alternate = GPIO_AF14_LTDC; 80535c0: 230e movs r3, #14 80535c2: 61fb str r3, [r7, #28] HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); 80535c4: f107 030c add.w r3, r7, #12 80535c8: 4619 mov r1, r3 80535ca: 481e ldr r0, [pc, #120] ; (8053644 ) 80535cc: f062 f822 bl 80b5614 GPIO_InitStruct.Pin = GPIO_PIN_3; 80535d0: 2308 movs r3, #8 80535d2: 60fb str r3, [r7, #12] GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; 80535d4: 2302 movs r3, #2 80535d6: 613b str r3, [r7, #16] GPIO_InitStruct.Pull = GPIO_NOPULL; 80535d8: 2300 movs r3, #0 80535da: 617b str r3, [r7, #20] GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; 80535dc: 2303 movs r3, #3 80535de: 61bb str r3, [r7, #24] GPIO_InitStruct.Alternate = GPIO_AF14_LTDC; 80535e0: 230e movs r3, #14 80535e2: 61fb str r3, [r7, #28] HAL_GPIO_Init(GPIOD, &GPIO_InitStruct); 80535e4: f107 030c add.w r3, r7, #12 80535e8: 4619 mov r1, r3 80535ea: 4817 ldr r0, [pc, #92] ; (8053648 ) 80535ec: f062 f812 bl 80b5614 GPIO_InitStruct.Pin = GPIO_PIN_10 | GPIO_PIN_12; 80535f0: f44f 53a0 mov.w r3, #5120 ; 0x1400 80535f4: 60fb str r3, [r7, #12] GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; 80535f6: 2302 movs r3, #2 80535f8: 613b str r3, [r7, #16] GPIO_InitStruct.Pull = GPIO_NOPULL; 80535fa: 2300 movs r3, #0 80535fc: 617b str r3, [r7, #20] GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; 80535fe: 2303 movs r3, #3 8053600: 61bb str r3, [r7, #24] GPIO_InitStruct.Alternate = GPIO_AF9_LTDC; 8053602: 2309 movs r3, #9 8053604: 61fb str r3, [r7, #28] HAL_GPIO_Init(GPIOG, &GPIO_InitStruct); 8053606: f107 030c add.w r3, r7, #12 805360a: 4619 mov r1, r3 805360c: 480c ldr r0, [pc, #48] ; (8053640 ) 805360e: f062 f801 bl 80b5614 HAL_NVIC_SetPriority(LTDC_IRQn, 6, 0); 8053612: 2200 movs r2, #0 8053614: 2106 movs r1, #6 8053616: 2058 movs r0, #88 ; 0x58 8053618: f060 fd65 bl 80b40e6 HAL_NVIC_EnableIRQ(LTDC_IRQn); 805361c: 2058 movs r0, #88 ; 0x58 805361e: f060 fd7e bl 80b411e } } 8053622: bf00 nop 8053624: 3720 adds r7, #32 8053626: 46bd mov sp, r7 8053628: bd80 pop {r7, pc} 805362a: bf00 nop 805362c: 40016800 .word 0x40016800 8053630: 40023800 .word 0x40023800 8053634: 40021400 .word 0x40021400 8053638: 40020000 .word 0x40020000 805363c: 40020400 .word 0x40020400 8053640: 40021800 .word 0x40021800 8053644: 40020800 .word 0x40020800 8053648: 40020c00 .word 0x40020c00 0805364c : HAL_NVIC_DisableIRQ(LTDC_IRQn); } } uint32_t BSP_LCD_GetXSize(void) { 805364c: b480 push {r7} 805364e: af00 add r7, sp, #0 return hLtdcHandler.LayerCfg[ActiveLayer].ImageWidth; 8053650: 4b06 ldr r3, [pc, #24] ; (805366c ) 8053652: 681b ldr r3, [r3, #0] 8053654: 4a06 ldr r2, [pc, #24] ; (8053670 ) 8053656: 2134 movs r1, #52 ; 0x34 8053658: fb01 f303 mul.w r3, r1, r3 805365c: 4413 add r3, r2 805365e: 3360 adds r3, #96 ; 0x60 8053660: 681b ldr r3, [r3, #0] } 8053662: 4618 mov r0, r3 8053664: 46bd mov sp, r7 8053666: f85d 7b04 ldr.w r7, [sp], #4 805366a: 4770 bx lr 805366c: 20020078 .word 0x20020078 8053670: 20025d28 .word 0x20025d28 08053674 : /** * @brief Gets the LCD Y size. * @retval Used LCD Y size */ uint32_t BSP_LCD_GetYSize(void) { 8053674: b480 push {r7} 8053676: af00 add r7, sp, #0 return hLtdcHandler.LayerCfg[ActiveLayer].ImageHeight; 8053678: 4b06 ldr r3, [pc, #24] ; (8053694 ) 805367a: 681b ldr r3, [r3, #0] 805367c: 4a06 ldr r2, [pc, #24] ; (8053698 ) 805367e: 2134 movs r1, #52 ; 0x34 8053680: fb01 f303 mul.w r3, r1, r3 8053684: 4413 add r3, r2 8053686: 3364 adds r3, #100 ; 0x64 8053688: 681b ldr r3, [r3, #0] } 805368a: 4618 mov r0, r3 805368c: 46bd mov sp, r7 805368e: f85d 7b04 ldr.w r7, [sp], #4 8053692: 4770 bx lr 8053694: 20020078 .word 0x20020078 8053698: 20025d28 .word 0x20025d28 0805369c : { hLtdcHandler.LayerCfg[ActiveLayer].ImageHeight = imageHeightPixels; } void BSP_LCD_SelectLayer(uint32_t LayerIndex) { 805369c: b480 push {r7} 805369e: b083 sub sp, #12 80536a0: af00 add r7, sp, #0 80536a2: 6078 str r0, [r7, #4] ActiveLayer = LayerIndex; 80536a4: 4a04 ldr r2, [pc, #16] ; (80536b8 ) 80536a6: 687b ldr r3, [r7, #4] 80536a8: 6013 str r3, [r2, #0] } 80536aa: bf00 nop 80536ac: 370c adds r7, #12 80536ae: 46bd mov sp, r7 80536b0: f85d 7b04 ldr.w r7, [sp], #4 80536b4: 4770 bx lr 80536b6: bf00 nop 80536b8: 20020078 .word 0x20020078 080536bc : * @arg ENABLE * @arg DISABLE * @retval None */ void BSP_LCD_SetLayerVisible(uint32_t LayerIndex, FunctionalState State) { 80536bc: b480 push {r7} 80536be: b083 sub sp, #12 80536c0: af00 add r7, sp, #0 80536c2: 6078 str r0, [r7, #4] 80536c4: 460b mov r3, r1 80536c6: 70fb strb r3, [r7, #3] if(State == ENABLE) 80536c8: 78fb ldrb r3, [r7, #3] 80536ca: 2b01 cmp r3, #1 80536cc: d113 bne.n 80536f6 __HAL_LTDC_LAYER_ENABLE(&hLtdcHandler, LayerIndex); 80536ce: 4b1a ldr r3, [pc, #104] ; (8053738 ) 80536d0: 681b ldr r3, [r3, #0] 80536d2: 461a mov r2, r3 80536d4: 687b ldr r3, [r7, #4] 80536d6: 01db lsls r3, r3, #7 80536d8: 4413 add r3, r2 80536da: 3384 adds r3, #132 ; 0x84 80536dc: 461a mov r2, r3 80536de: 4b16 ldr r3, [pc, #88] ; (8053738 ) 80536e0: 681b ldr r3, [r3, #0] 80536e2: 4619 mov r1, r3 80536e4: 687b ldr r3, [r7, #4] 80536e6: 01db lsls r3, r3, #7 80536e8: 440b add r3, r1 80536ea: 3384 adds r3, #132 ; 0x84 80536ec: 681b ldr r3, [r3, #0] 80536ee: f043 0301 orr.w r3, r3, #1 80536f2: 6013 str r3, [r2, #0] 80536f4: e012 b.n 805371c else __HAL_LTDC_LAYER_DISABLE(&hLtdcHandler, LayerIndex); 80536f6: 4b10 ldr r3, [pc, #64] ; (8053738 ) 80536f8: 681b ldr r3, [r3, #0] 80536fa: 461a mov r2, r3 80536fc: 687b ldr r3, [r7, #4] 80536fe: 01db lsls r3, r3, #7 8053700: 4413 add r3, r2 8053702: 3384 adds r3, #132 ; 0x84 8053704: 461a mov r2, r3 8053706: 4b0c ldr r3, [pc, #48] ; (8053738 ) 8053708: 681b ldr r3, [r3, #0] 805370a: 4619 mov r1, r3 805370c: 687b ldr r3, [r7, #4] 805370e: 01db lsls r3, r3, #7 8053710: 440b add r3, r1 8053712: 3384 adds r3, #132 ; 0x84 8053714: 681b ldr r3, [r3, #0] 8053716: f023 0301 bic.w r3, r3, #1 805371a: 6013 str r3, [r2, #0] __HAL_LTDC_RELOAD_CONFIG(&hLtdcHandler); 805371c: 4b06 ldr r3, [pc, #24] ; (8053738 ) 805371e: 681b ldr r3, [r3, #0] 8053720: 4a05 ldr r2, [pc, #20] ; (8053738 ) 8053722: 6812 ldr r2, [r2, #0] 8053724: 6a52 ldr r2, [r2, #36] ; 0x24 8053726: f042 0201 orr.w r2, r2, #1 805372a: 625a str r2, [r3, #36] ; 0x24 } 805372c: bf00 nop 805372e: 370c adds r7, #12 8053730: 46bd mov sp, r7 8053732: f85d 7b04 ldr.w r7, [sp], #4 8053736: 4770 bx lr 8053738: 20025d28 .word 0x20025d28 0805373c : * @arg ENABLE * @arg DISABLE * @retval None */ void BSP_LCD_SetLayerVisible_NoReload(uint32_t LayerIndex, FunctionalState State) { 805373c: b480 push {r7} 805373e: b083 sub sp, #12 8053740: af00 add r7, sp, #0 8053742: 6078 str r0, [r7, #4] 8053744: 460b mov r3, r1 8053746: 70fb strb r3, [r7, #3] if(State == ENABLE) 8053748: 78fb ldrb r3, [r7, #3] 805374a: 2b01 cmp r3, #1 805374c: d113 bne.n 8053776 __HAL_LTDC_LAYER_ENABLE(&hLtdcHandler, LayerIndex); 805374e: 4b16 ldr r3, [pc, #88] ; (80537a8 ) 8053750: 681b ldr r3, [r3, #0] 8053752: 461a mov r2, r3 8053754: 687b ldr r3, [r7, #4] 8053756: 01db lsls r3, r3, #7 8053758: 4413 add r3, r2 805375a: 3384 adds r3, #132 ; 0x84 805375c: 461a mov r2, r3 805375e: 4b12 ldr r3, [pc, #72] ; (80537a8 ) 8053760: 681b ldr r3, [r3, #0] 8053762: 4619 mov r1, r3 8053764: 687b ldr r3, [r7, #4] 8053766: 01db lsls r3, r3, #7 8053768: 440b add r3, r1 805376a: 3384 adds r3, #132 ; 0x84 805376c: 681b ldr r3, [r3, #0] 805376e: f043 0301 orr.w r3, r3, #1 8053772: 6013 str r3, [r2, #0] else __HAL_LTDC_LAYER_DISABLE(&hLtdcHandler, LayerIndex); } 8053774: e012 b.n 805379c else __HAL_LTDC_LAYER_DISABLE(&hLtdcHandler, LayerIndex); 8053776: 4b0c ldr r3, [pc, #48] ; (80537a8 ) 8053778: 681b ldr r3, [r3, #0] 805377a: 461a mov r2, r3 805377c: 687b ldr r3, [r7, #4] 805377e: 01db lsls r3, r3, #7 8053780: 4413 add r3, r2 8053782: 3384 adds r3, #132 ; 0x84 8053784: 461a mov r2, r3 8053786: 4b08 ldr r3, [pc, #32] ; (80537a8 ) 8053788: 681b ldr r3, [r3, #0] 805378a: 4619 mov r1, r3 805378c: 687b ldr r3, [r7, #4] 805378e: 01db lsls r3, r3, #7 8053790: 440b add r3, r1 8053792: 3384 adds r3, #132 ; 0x84 8053794: 681b ldr r3, [r3, #0] 8053796: f023 0301 bic.w r3, r3, #1 805379a: 6013 str r3, [r2, #0] } 805379c: bf00 nop 805379e: 370c adds r7, #12 80537a0: 46bd mov sp, r7 80537a2: f85d 7b04 ldr.w r7, [sp], #4 80537a6: 4770 bx lr 80537a8: 20025d28 .word 0x20025d28 080537ac : * @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) { 80537ac: b480 push {r7} 80537ae: b083 sub sp, #12 80537b0: af00 add r7, sp, #0 80537b2: 6078 str r0, [r7, #4] 80537b4: 6039 str r1, [r7, #0] DrawProp[ActiveLayer].TextColor = ColorUp; 80537b6: 4b0d ldr r3, [pc, #52] ; (80537ec ) 80537b8: 681a ldr r2, [r3, #0] 80537ba: 490d ldr r1, [pc, #52] ; (80537f0 ) 80537bc: 4613 mov r3, r2 80537be: 005b lsls r3, r3, #1 80537c0: 4413 add r3, r2 80537c2: 009b lsls r3, r3, #2 80537c4: 440b add r3, r1 80537c6: 687a ldr r2, [r7, #4] 80537c8: 601a str r2, [r3, #0] DrawProp[ActiveLayer].BackColor = ColorDn; 80537ca: 4b08 ldr r3, [pc, #32] ; (80537ec ) 80537cc: 681a ldr r2, [r3, #0] 80537ce: 4908 ldr r1, [pc, #32] ; (80537f0 ) 80537d0: 4613 mov r3, r2 80537d2: 005b lsls r3, r3, #1 80537d4: 4413 add r3, r2 80537d6: 009b lsls r3, r3, #2 80537d8: 440b add r3, r1 80537da: 3304 adds r3, #4 80537dc: 683a ldr r2, [r7, #0] 80537de: 601a str r2, [r3, #0] } 80537e0: bf00 nop 80537e2: 370c adds r7, #12 80537e4: 46bd mov sp, r7 80537e6: f85d 7b04 ldr.w r7, [sp], #4 80537ea: 4770 bx lr 80537ec: 20020078 .word 0x20020078 80537f0: 20020fe4 .word 0x20020fe4 080537f4 : void BSP_LCD_SetTextColor(uint32_t Color) { 80537f4: b480 push {r7} 80537f6: b083 sub sp, #12 80537f8: af00 add r7, sp, #0 80537fa: 6078 str r0, [r7, #4] DrawProp[ActiveLayer].TextColor = Color; 80537fc: 4b07 ldr r3, [pc, #28] ; (805381c ) 80537fe: 681a ldr r2, [r3, #0] 8053800: 4907 ldr r1, [pc, #28] ; (8053820 ) 8053802: 4613 mov r3, r2 8053804: 005b lsls r3, r3, #1 8053806: 4413 add r3, r2 8053808: 009b lsls r3, r3, #2 805380a: 440b add r3, r1 805380c: 687a ldr r2, [r7, #4] 805380e: 601a str r2, [r3, #0] } 8053810: bf00 nop 8053812: 370c adds r7, #12 8053814: 46bd mov sp, r7 8053816: f85d 7b04 ldr.w r7, [sp], #4 805381a: 4770 bx lr 805381c: 20020078 .word 0x20020078 8053820: 20020fe4 .word 0x20020fe4 08053824 : * @brief Sets the LCD text font. * @param fonts: Layer font to be used * @retval None */ void BSP_LCD_SetFont(sFONT *fonts) { 8053824: b480 push {r7} 8053826: b083 sub sp, #12 8053828: af00 add r7, sp, #0 805382a: 6078 str r0, [r7, #4] DrawProp[ActiveLayer].pFont = fonts; 805382c: 4b09 ldr r3, [pc, #36] ; (8053854 ) 805382e: 681a ldr r2, [r3, #0] 8053830: 4909 ldr r1, [pc, #36] ; (8053858 ) 8053832: 4613 mov r3, r2 8053834: 005b lsls r3, r3, #1 8053836: 4413 add r3, r2 8053838: 009b lsls r3, r3, #2 805383a: 440b add r3, r1 805383c: 3308 adds r3, #8 805383e: 687a ldr r2, [r7, #4] 8053840: 601a str r2, [r3, #0] CurrentFont = fonts; 8053842: 4a06 ldr r2, [pc, #24] ; (805385c ) 8053844: 687b ldr r3, [r7, #4] 8053846: 6013 str r3, [r2, #0] } 8053848: bf00 nop 805384a: 370c adds r7, #12 805384c: 46bd mov sp, r7 805384e: f85d 7b04 ldr.w r7, [sp], #4 8053852: 4770 bx lr 8053854: 20020078 .word 0x20020078 8053858: 20020fe4 .word 0x20020fe4 805385c: 20025d24 .word 0x20025d24 08053860 : * @brief Clears the hole LCD. * @param Color: Color of the background * @retval None */ void BSP_LCD_Clear(uint32_t Color) { 8053860: b5f0 push {r4, r5, r6, r7, lr} 8053862: b085 sub sp, #20 8053864: af02 add r7, sp, #8 8053866: 6078 str r0, [r7, #4] LL_FillBuffer(ActiveLayer, (uint32_t *)(hLtdcHandler.LayerCfg[ActiveLayer].FBStartAdress), BSP_LCD_GetXSize(), BSP_LCD_GetYSize(), 0, Color); 8053868: 4b0f ldr r3, [pc, #60] ; (80538a8 ) 805386a: 681c ldr r4, [r3, #0] 805386c: 4b0e ldr r3, [pc, #56] ; (80538a8 ) 805386e: 681b ldr r3, [r3, #0] 8053870: 4a0e ldr r2, [pc, #56] ; (80538ac ) 8053872: 2134 movs r1, #52 ; 0x34 8053874: fb01 f303 mul.w r3, r1, r3 8053878: 4413 add r3, r2 805387a: 335c adds r3, #92 ; 0x5c 805387c: 681b ldr r3, [r3, #0] 805387e: 461d mov r5, r3 8053880: f7ff fee4 bl 805364c 8053884: 4606 mov r6, r0 8053886: f7ff fef5 bl 8053674 805388a: 4602 mov r2, r0 805388c: 687b ldr r3, [r7, #4] 805388e: 9301 str r3, [sp, #4] 8053890: 2300 movs r3, #0 8053892: 9300 str r3, [sp, #0] 8053894: 4613 mov r3, r2 8053896: 4632 mov r2, r6 8053898: 4629 mov r1, r5 805389a: 4620 mov r0, r4 805389c: f000 fe2e bl 80544fc } 80538a0: bf00 nop 80538a2: 370c adds r7, #12 80538a4: 46bd mov sp, r7 80538a6: bdf0 pop {r4, r5, r6, r7, pc} 80538a8: 20020078 .word 0x20020078 80538ac: 20025d28 .word 0x20025d28 080538b0 : * @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) { 80538b0: b590 push {r4, r7, lr} 80538b2: b083 sub sp, #12 80538b4: af00 add r7, sp, #0 80538b6: 4603 mov r3, r0 80538b8: 80fb strh r3, [r7, #6] 80538ba: 460b mov r3, r1 80538bc: 80bb strh r3, [r7, #4] 80538be: 4613 mov r3, r2 80538c0: 70fb strb r3, [r7, #3] DrawChar( Xpos, Ypos, &DrawProp[ActiveLayer].pFont->table[(Ascii - ' ') * DrawProp[ActiveLayer].pFont->Height * ((DrawProp[ActiveLayer].pFont->Width + 7) / 8)] ); 80538c2: 4b1b ldr r3, [pc, #108] ; (8053930 ) 80538c4: 681a ldr r2, [r3, #0] 80538c6: 491b ldr r1, [pc, #108] ; (8053934 ) 80538c8: 4613 mov r3, r2 80538ca: 005b lsls r3, r3, #1 80538cc: 4413 add r3, r2 80538ce: 009b lsls r3, r3, #2 80538d0: 440b add r3, r1 80538d2: 3308 adds r3, #8 80538d4: 681b ldr r3, [r3, #0] 80538d6: 6819 ldr r1, [r3, #0] 80538d8: 78fb ldrb r3, [r7, #3] 80538da: f1a3 0020 sub.w r0, r3, #32 80538de: 4b14 ldr r3, [pc, #80] ; (8053930 ) 80538e0: 681a ldr r2, [r3, #0] 80538e2: 4c14 ldr r4, [pc, #80] ; (8053934 ) 80538e4: 4613 mov r3, r2 80538e6: 005b lsls r3, r3, #1 80538e8: 4413 add r3, r2 80538ea: 009b lsls r3, r3, #2 80538ec: 4423 add r3, r4 80538ee: 3308 adds r3, #8 80538f0: 681b ldr r3, [r3, #0] 80538f2: 88db ldrh r3, [r3, #6] 80538f4: fb03 f000 mul.w r0, r3, r0 80538f8: 4b0d ldr r3, [pc, #52] ; (8053930 ) 80538fa: 681a ldr r2, [r3, #0] 80538fc: 4c0d ldr r4, [pc, #52] ; (8053934 ) 80538fe: 4613 mov r3, r2 8053900: 005b lsls r3, r3, #1 8053902: 4413 add r3, r2 8053904: 009b lsls r3, r3, #2 8053906: 4423 add r3, r4 8053908: 3308 adds r3, #8 805390a: 681b ldr r3, [r3, #0] 805390c: 889b ldrh r3, [r3, #4] 805390e: 3307 adds r3, #7 8053910: 2b00 cmp r3, #0 8053912: da00 bge.n 8053916 8053914: 3307 adds r3, #7 8053916: 10db asrs r3, r3, #3 8053918: fb03 f300 mul.w r3, r3, r0 805391c: 18ca adds r2, r1, r3 805391e: 88b9 ldrh r1, [r7, #4] 8053920: 88fb ldrh r3, [r7, #6] 8053922: 4618 mov r0, r3 8053924: f000 fd32 bl 805438c } 8053928: bf00 nop 805392a: 370c adds r7, #12 805392c: 46bd mov sp, r7 805392e: bd90 pop {r4, r7, pc} 8053930: 20020078 .word 0x20020078 8053934: 20020fe4 .word 0x20020fe4 08053938 : * @arg RIGHT_MODE * @arg LEFT_MODE * @retval None */ void BSP_LCD_DisplayStringAt(uint16_t Xpos, uint16_t Ypos, char *Text, Text_AlignModeTypdef Mode) { 8053938: b5b0 push {r4, r5, r7, lr} 805393a: b088 sub sp, #32 805393c: af00 add r7, sp, #0 805393e: 60ba str r2, [r7, #8] 8053940: 461a mov r2, r3 8053942: 4603 mov r3, r0 8053944: 81fb strh r3, [r7, #14] 8053946: 460b mov r3, r1 8053948: 81bb strh r3, [r7, #12] 805394a: 4613 mov r3, r2 805394c: 71fb strb r3, [r7, #7] uint16_t ref_column = 1, i = 0, ll = 0; 805394e: 2301 movs r3, #1 8053950: 83fb strh r3, [r7, #30] 8053952: 2300 movs r3, #0 8053954: 83bb strh r3, [r7, #28] 8053956: 2300 movs r3, #0 8053958: 827b strh r3, [r7, #18] uint32_t size = 0; 805395a: 2300 movs r3, #0 805395c: 61bb str r3, [r7, #24] uint8_t *ptr; ptr = (uint8_t *) Text; 805395e: 68bb ldr r3, [r7, #8] 8053960: 617b str r3, [r7, #20] /* Get the text size */ while (*ptr++) size++ ; 8053962: e002 b.n 805396a 8053964: 69bb ldr r3, [r7, #24] 8053966: 3301 adds r3, #1 8053968: 61bb str r3, [r7, #24] 805396a: 697b ldr r3, [r7, #20] 805396c: 1c5a adds r2, r3, #1 805396e: 617a str r2, [r7, #20] 8053970: 781b ldrb r3, [r3, #0] 8053972: 2b00 cmp r3, #0 8053974: d1f6 bne.n 8053964 /* Characters number per line */ // xsize = (BSP_LCD_GetXSize() / DrawProp[ActiveLayer].pFont->Width); switch (Mode) 8053976: 79fb ldrb r3, [r7, #7] 8053978: 2b02 cmp r3, #2 805397a: d01d beq.n 80539b8 805397c: 2b03 cmp r3, #3 805397e: d018 beq.n 80539b2 8053980: 2b01 cmp r3, #1 8053982: d12e bne.n 80539e2 { case CENTER_MODE: { ll = DrawProp[ActiveLayer].pFont->Width * size; 8053984: 4b44 ldr r3, [pc, #272] ; (8053a98 ) 8053986: 681a ldr r2, [r3, #0] 8053988: 4944 ldr r1, [pc, #272] ; (8053a9c ) 805398a: 4613 mov r3, r2 805398c: 005b lsls r3, r3, #1 805398e: 4413 add r3, r2 8053990: 009b lsls r3, r3, #2 8053992: 440b add r3, r1 8053994: 3308 adds r3, #8 8053996: 681b ldr r3, [r3, #0] 8053998: 889a ldrh r2, [r3, #4] 805399a: 69bb ldr r3, [r7, #24] 805399c: b29b uxth r3, r3 805399e: fb12 f303 smulbb r3, r2, r3 80539a2: 827b strh r3, [r7, #18] ref_column = Xpos - (ll >> 1); 80539a4: 8a7b ldrh r3, [r7, #18] 80539a6: 085b lsrs r3, r3, #1 80539a8: b29b uxth r3, r3 80539aa: 89fa ldrh r2, [r7, #14] 80539ac: 1ad3 subs r3, r2, r3 80539ae: 83fb strh r3, [r7, #30] //if((ref_column + ll > 319) || (ref_column > 319)) // ref_column = Xpos + ((xsize - size)* DrawProp[ActiveLayer].pFont->Width) / 2; break; 80539b0: e01a b.n 80539e8 } case LEFT_MODE: { ref_column = Xpos; 80539b2: 89fb ldrh r3, [r7, #14] 80539b4: 83fb strh r3, [r7, #30] break; 80539b6: e017 b.n 80539e8 } case RIGHT_MODE: { ll = DrawProp[ActiveLayer].pFont->Width * size; 80539b8: 4b37 ldr r3, [pc, #220] ; (8053a98 ) 80539ba: 681a ldr r2, [r3, #0] 80539bc: 4937 ldr r1, [pc, #220] ; (8053a9c ) 80539be: 4613 mov r3, r2 80539c0: 005b lsls r3, r3, #1 80539c2: 4413 add r3, r2 80539c4: 009b lsls r3, r3, #2 80539c6: 440b add r3, r1 80539c8: 3308 adds r3, #8 80539ca: 681b ldr r3, [r3, #0] 80539cc: 889a ldrh r2, [r3, #4] 80539ce: 69bb ldr r3, [r7, #24] 80539d0: b29b uxth r3, r3 80539d2: fb12 f303 smulbb r3, r2, r3 80539d6: 827b strh r3, [r7, #18] ref_column = Xpos - ll; 80539d8: 89fa ldrh r2, [r7, #14] 80539da: 8a7b ldrh r3, [r7, #18] 80539dc: 1ad3 subs r3, r2, r3 80539de: 83fb strh r3, [r7, #30] // ref_column = - Xpos + ((xsize - size)*DrawProp[ActiveLayer].pFont->Width); break; 80539e0: e002 b.n 80539e8 } default: { ref_column = Xpos; 80539e2: 89fb ldrh r3, [r7, #14] 80539e4: 83fb strh r3, [r7, #30] break; 80539e6: bf00 nop } } /* Check that the Start column is located in the screen */ if ((ref_column < 1) || (ref_column >= 0x8000)) 80539e8: 8bfb ldrh r3, [r7, #30] 80539ea: 2b00 cmp r3, #0 80539ec: d003 beq.n 80539f6 80539ee: f9b7 301e ldrsh.w r3, [r7, #30] 80539f2: 2b00 cmp r3, #0 80539f4: da1d bge.n 8053a32 { ref_column = 1; 80539f6: 2301 movs r3, #1 80539f8: 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)) 80539fa: e01a b.n 8053a32 { /* Display one character on LCD */ BSP_LCD_DisplayChar(ref_column, Ypos, *Text); 80539fc: 68bb ldr r3, [r7, #8] 80539fe: 781a ldrb r2, [r3, #0] 8053a00: 89b9 ldrh r1, [r7, #12] 8053a02: 8bfb ldrh r3, [r7, #30] 8053a04: 4618 mov r0, r3 8053a06: f7ff ff53 bl 80538b0 /* Decrement the column position by 16 */ ref_column += DrawProp[ActiveLayer].pFont->Width; 8053a0a: 4b23 ldr r3, [pc, #140] ; (8053a98 ) 8053a0c: 681a ldr r2, [r3, #0] 8053a0e: 4923 ldr r1, [pc, #140] ; (8053a9c ) 8053a10: 4613 mov r3, r2 8053a12: 005b lsls r3, r3, #1 8053a14: 4413 add r3, r2 8053a16: 009b lsls r3, r3, #2 8053a18: 440b add r3, r1 8053a1a: 3308 adds r3, #8 8053a1c: 681b ldr r3, [r3, #0] 8053a1e: 889a ldrh r2, [r3, #4] 8053a20: 8bfb ldrh r3, [r7, #30] 8053a22: 4413 add r3, r2 8053a24: 83fb strh r3, [r7, #30] /* Point on the next character */ Text++; 8053a26: 68bb ldr r3, [r7, #8] 8053a28: 3301 adds r3, #1 8053a2a: 60bb str r3, [r7, #8] i++; 8053a2c: 8bbb ldrh r3, [r7, #28] 8053a2e: 3301 adds r3, #1 8053a30: 83bb strh r3, [r7, #28] while ((*Text != 0) & (((BSP_LCD_GetXSize() - (i*DrawProp[ActiveLayer].pFont->Width)) & 0xFFFF) >= DrawProp[ActiveLayer].pFont->Width)) 8053a32: 68bb ldr r3, [r7, #8] 8053a34: 781b ldrb r3, [r3, #0] 8053a36: 2b00 cmp r3, #0 8053a38: bf14 ite ne 8053a3a: 2301 movne r3, #1 8053a3c: 2300 moveq r3, #0 8053a3e: b2dc uxtb r4, r3 8053a40: f7ff fe04 bl 805364c 8053a44: 4605 mov r5, r0 8053a46: 8bb9 ldrh r1, [r7, #28] 8053a48: 4b13 ldr r3, [pc, #76] ; (8053a98 ) 8053a4a: 681a ldr r2, [r3, #0] 8053a4c: 4813 ldr r0, [pc, #76] ; (8053a9c ) 8053a4e: 4613 mov r3, r2 8053a50: 005b lsls r3, r3, #1 8053a52: 4413 add r3, r2 8053a54: 009b lsls r3, r3, #2 8053a56: 4403 add r3, r0 8053a58: 3308 adds r3, #8 8053a5a: 681b ldr r3, [r3, #0] 8053a5c: 889b ldrh r3, [r3, #4] 8053a5e: fb03 f301 mul.w r3, r3, r1 8053a62: 1aeb subs r3, r5, r3 8053a64: b299 uxth r1, r3 8053a66: 4b0c ldr r3, [pc, #48] ; (8053a98 ) 8053a68: 681a ldr r2, [r3, #0] 8053a6a: 480c ldr r0, [pc, #48] ; (8053a9c ) 8053a6c: 4613 mov r3, r2 8053a6e: 005b lsls r3, r3, #1 8053a70: 4413 add r3, r2 8053a72: 009b lsls r3, r3, #2 8053a74: 4403 add r3, r0 8053a76: 3308 adds r3, #8 8053a78: 681b ldr r3, [r3, #0] 8053a7a: 889b ldrh r3, [r3, #4] 8053a7c: 4299 cmp r1, r3 8053a7e: bf2c ite cs 8053a80: 2301 movcs r3, #1 8053a82: 2300 movcc r3, #0 8053a84: b2db uxtb r3, r3 8053a86: 4023 ands r3, r4 8053a88: b2db uxtb r3, r3 8053a8a: 2b00 cmp r3, #0 8053a8c: d1b6 bne.n 80539fc } } 8053a8e: bf00 nop 8053a90: 3720 adds r7, #32 8053a92: 46bd mov sp, r7 8053a94: bdb0 pop {r4, r5, r7, pc} 8053a96: bf00 nop 8053a98: 20020078 .word 0x20020078 8053a9c: 20020fe4 .word 0x20020fe4 08053aa0 : * @param Ypos: Y position * @param Length: Line length * @retval None */ void BSP_LCD_DrawHLine(uint16_t Xpos, uint16_t Ypos, uint16_t Length) { 8053aa0: b5b0 push {r4, r5, r7, lr} 8053aa2: b086 sub sp, #24 8053aa4: af02 add r7, sp, #8 8053aa6: 4603 mov r3, r0 8053aa8: 80fb strh r3, [r7, #6] 8053aaa: 460b mov r3, r1 8053aac: 80bb strh r3, [r7, #4] 8053aae: 4613 mov r3, r2 8053ab0: 807b strh r3, [r7, #2] uint32_t Xaddress = 0; 8053ab2: 2300 movs r3, #0 8053ab4: 60fb str r3, [r7, #12] /* Get the line address */ if(hLtdcHandler.LayerCfg[ActiveLayer].PixelFormat == LTDC_PIXEL_FORMAT_RGB565) 8053ab6: 4b26 ldr r3, [pc, #152] ; (8053b50 ) 8053ab8: 681b ldr r3, [r3, #0] 8053aba: 4a26 ldr r2, [pc, #152] ; (8053b54 ) 8053abc: 2134 movs r1, #52 ; 0x34 8053abe: fb01 f303 mul.w r3, r1, r3 8053ac2: 4413 add r3, r2 8053ac4: 3348 adds r3, #72 ; 0x48 8053ac6: 681b ldr r3, [r3, #0] 8053ac8: 2b02 cmp r3, #2 8053aca: d114 bne.n 8053af6 { /* RGB565 format */ Xaddress = (hLtdcHandler.LayerCfg[ActiveLayer].FBStartAdress) + 2*(BSP_LCD_GetXSize()*Ypos + Xpos); 8053acc: 4b20 ldr r3, [pc, #128] ; (8053b50 ) 8053ace: 681b ldr r3, [r3, #0] 8053ad0: 4a20 ldr r2, [pc, #128] ; (8053b54 ) 8053ad2: 2134 movs r1, #52 ; 0x34 8053ad4: fb01 f303 mul.w r3, r1, r3 8053ad8: 4413 add r3, r2 8053ada: 335c adds r3, #92 ; 0x5c 8053adc: 681c ldr r4, [r3, #0] 8053ade: f7ff fdb5 bl 805364c 8053ae2: 4602 mov r2, r0 8053ae4: 88bb ldrh r3, [r7, #4] 8053ae6: fb03 f202 mul.w r2, r3, r2 8053aea: 88fb ldrh r3, [r7, #6] 8053aec: 4413 add r3, r2 8053aee: 005b lsls r3, r3, #1 8053af0: 4423 add r3, r4 8053af2: 60fb str r3, [r7, #12] 8053af4: e013 b.n 8053b1e } else { /* ARGB8888 format */ Xaddress = (hLtdcHandler.LayerCfg[ActiveLayer].FBStartAdress) + 4*(BSP_LCD_GetXSize()*Ypos + Xpos); 8053af6: 4b16 ldr r3, [pc, #88] ; (8053b50 ) 8053af8: 681b ldr r3, [r3, #0] 8053afa: 4a16 ldr r2, [pc, #88] ; (8053b54 ) 8053afc: 2134 movs r1, #52 ; 0x34 8053afe: fb01 f303 mul.w r3, r1, r3 8053b02: 4413 add r3, r2 8053b04: 335c adds r3, #92 ; 0x5c 8053b06: 681c ldr r4, [r3, #0] 8053b08: f7ff fda0 bl 805364c 8053b0c: 4602 mov r2, r0 8053b0e: 88bb ldrh r3, [r7, #4] 8053b10: fb03 f202 mul.w r2, r3, r2 8053b14: 88fb ldrh r3, [r7, #6] 8053b16: 4413 add r3, r2 8053b18: 009b lsls r3, r3, #2 8053b1a: 4423 add r3, r4 8053b1c: 60fb str r3, [r7, #12] } /* Write line */ LL_FillBuffer(ActiveLayer, (uint32_t *)Xaddress, Length, 1, 0, DrawProp[ActiveLayer].TextColor); 8053b1e: 4b0c ldr r3, [pc, #48] ; (8053b50 ) 8053b20: 6818 ldr r0, [r3, #0] 8053b22: 68fc ldr r4, [r7, #12] 8053b24: 887d ldrh r5, [r7, #2] 8053b26: 4b0a ldr r3, [pc, #40] ; (8053b50 ) 8053b28: 681a ldr r2, [r3, #0] 8053b2a: 490b ldr r1, [pc, #44] ; (8053b58 ) 8053b2c: 4613 mov r3, r2 8053b2e: 005b lsls r3, r3, #1 8053b30: 4413 add r3, r2 8053b32: 009b lsls r3, r3, #2 8053b34: 440b add r3, r1 8053b36: 681b ldr r3, [r3, #0] 8053b38: 9301 str r3, [sp, #4] 8053b3a: 2300 movs r3, #0 8053b3c: 9300 str r3, [sp, #0] 8053b3e: 2301 movs r3, #1 8053b40: 462a mov r2, r5 8053b42: 4621 mov r1, r4 8053b44: f000 fcda bl 80544fc } 8053b48: bf00 nop 8053b4a: 3710 adds r7, #16 8053b4c: 46bd mov sp, r7 8053b4e: bdb0 pop {r4, r5, r7, pc} 8053b50: 20020078 .word 0x20020078 8053b54: 20025d28 .word 0x20025d28 8053b58: 20020fe4 .word 0x20020fe4 08053b5c : * @param Ypos: Y position * @param Length: Line length * @retval None */ void BSP_LCD_DrawVLine(uint16_t Xpos, uint16_t Ypos, uint16_t Length) { 8053b5c: b5f0 push {r4, r5, r6, r7, lr} 8053b5e: b087 sub sp, #28 8053b60: af02 add r7, sp, #8 8053b62: 4603 mov r3, r0 8053b64: 80fb strh r3, [r7, #6] 8053b66: 460b mov r3, r1 8053b68: 80bb strh r3, [r7, #4] 8053b6a: 4613 mov r3, r2 8053b6c: 807b strh r3, [r7, #2] uint32_t Xaddress = 0; 8053b6e: 2300 movs r3, #0 8053b70: 60fb str r3, [r7, #12] /* Get the line address */ if(hLtdcHandler.LayerCfg[ActiveLayer].PixelFormat == LTDC_PIXEL_FORMAT_RGB565) 8053b72: 4b28 ldr r3, [pc, #160] ; (8053c14 ) 8053b74: 681b ldr r3, [r3, #0] 8053b76: 4a28 ldr r2, [pc, #160] ; (8053c18 ) 8053b78: 2134 movs r1, #52 ; 0x34 8053b7a: fb01 f303 mul.w r3, r1, r3 8053b7e: 4413 add r3, r2 8053b80: 3348 adds r3, #72 ; 0x48 8053b82: 681b ldr r3, [r3, #0] 8053b84: 2b02 cmp r3, #2 8053b86: d114 bne.n 8053bb2 { /* RGB565 format */ Xaddress = (hLtdcHandler.LayerCfg[ActiveLayer].FBStartAdress) + 2*(BSP_LCD_GetXSize()*Ypos + Xpos); 8053b88: 4b22 ldr r3, [pc, #136] ; (8053c14 ) 8053b8a: 681b ldr r3, [r3, #0] 8053b8c: 4a22 ldr r2, [pc, #136] ; (8053c18 ) 8053b8e: 2134 movs r1, #52 ; 0x34 8053b90: fb01 f303 mul.w r3, r1, r3 8053b94: 4413 add r3, r2 8053b96: 335c adds r3, #92 ; 0x5c 8053b98: 681c ldr r4, [r3, #0] 8053b9a: f7ff fd57 bl 805364c 8053b9e: 4602 mov r2, r0 8053ba0: 88bb ldrh r3, [r7, #4] 8053ba2: fb03 f202 mul.w r2, r3, r2 8053ba6: 88fb ldrh r3, [r7, #6] 8053ba8: 4413 add r3, r2 8053baa: 005b lsls r3, r3, #1 8053bac: 4423 add r3, r4 8053bae: 60fb str r3, [r7, #12] 8053bb0: e013 b.n 8053bda } else { /* ARGB8888 format */ Xaddress = (hLtdcHandler.LayerCfg[ActiveLayer].FBStartAdress) + 4*(BSP_LCD_GetXSize()*Ypos + Xpos); 8053bb2: 4b18 ldr r3, [pc, #96] ; (8053c14 ) 8053bb4: 681b ldr r3, [r3, #0] 8053bb6: 4a18 ldr r2, [pc, #96] ; (8053c18 ) 8053bb8: 2134 movs r1, #52 ; 0x34 8053bba: fb01 f303 mul.w r3, r1, r3 8053bbe: 4413 add r3, r2 8053bc0: 335c adds r3, #92 ; 0x5c 8053bc2: 681c ldr r4, [r3, #0] 8053bc4: f7ff fd42 bl 805364c 8053bc8: 4602 mov r2, r0 8053bca: 88bb ldrh r3, [r7, #4] 8053bcc: fb03 f202 mul.w r2, r3, r2 8053bd0: 88fb ldrh r3, [r7, #6] 8053bd2: 4413 add r3, r2 8053bd4: 009b lsls r3, r3, #2 8053bd6: 4423 add r3, r4 8053bd8: 60fb str r3, [r7, #12] } /* Write line */ LL_FillBuffer(ActiveLayer, (uint32_t *)Xaddress, 1, Length, (BSP_LCD_GetXSize() - 1), DrawProp[ActiveLayer].TextColor); 8053bda: 4b0e ldr r3, [pc, #56] ; (8053c14 ) 8053bdc: 681c ldr r4, [r3, #0] 8053bde: 68fd ldr r5, [r7, #12] 8053be0: 887e ldrh r6, [r7, #2] 8053be2: f7ff fd33 bl 805364c 8053be6: 4603 mov r3, r0 8053be8: 1e59 subs r1, r3, #1 8053bea: 4b0a ldr r3, [pc, #40] ; (8053c14 ) 8053bec: 681a ldr r2, [r3, #0] 8053bee: 480b ldr r0, [pc, #44] ; (8053c1c ) 8053bf0: 4613 mov r3, r2 8053bf2: 005b lsls r3, r3, #1 8053bf4: 4413 add r3, r2 8053bf6: 009b lsls r3, r3, #2 8053bf8: 4403 add r3, r0 8053bfa: 681b ldr r3, [r3, #0] 8053bfc: 9301 str r3, [sp, #4] 8053bfe: 9100 str r1, [sp, #0] 8053c00: 4633 mov r3, r6 8053c02: 2201 movs r2, #1 8053c04: 4629 mov r1, r5 8053c06: 4620 mov r0, r4 8053c08: f000 fc78 bl 80544fc } 8053c0c: bf00 nop 8053c0e: 3714 adds r7, #20 8053c10: 46bd mov sp, r7 8053c12: bdf0 pop {r4, r5, r6, r7, pc} 8053c14: 20020078 .word 0x20020078 8053c18: 20025d28 .word 0x20025d28 8053c1c: 20020fe4 .word 0x20020fe4 08053c20 : * @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) { 8053c20: b590 push {r4, r7, lr} 8053c22: b08b sub sp, #44 ; 0x2c 8053c24: af00 add r7, sp, #0 8053c26: 4604 mov r4, r0 8053c28: 4608 mov r0, r1 8053c2a: 4611 mov r1, r2 8053c2c: 461a mov r2, r3 8053c2e: 4623 mov r3, r4 8053c30: 80fb strh r3, [r7, #6] 8053c32: 4603 mov r3, r0 8053c34: 80bb strh r3, [r7, #4] 8053c36: 460b mov r3, r1 8053c38: 807b strh r3, [r7, #2] 8053c3a: 4613 mov r3, r2 8053c3c: 803b strh r3, [r7, #0] int16_t deltax = 0, deltay = 0, x = 0, y = 0, xinc1 = 0, xinc2 = 0, 8053c3e: 2300 movs r3, #0 8053c40: 823b strh r3, [r7, #16] 8053c42: 2300 movs r3, #0 8053c44: 81fb strh r3, [r7, #14] 8053c46: 2300 movs r3, #0 8053c48: 84fb strh r3, [r7, #38] ; 0x26 8053c4a: 2300 movs r3, #0 8053c4c: 84bb strh r3, [r7, #36] ; 0x24 8053c4e: 2300 movs r3, #0 8053c50: 847b strh r3, [r7, #34] ; 0x22 8053c52: 2300 movs r3, #0 8053c54: 843b strh r3, [r7, #32] yinc1 = 0, yinc2 = 0, den = 0, num = 0, num_add = 0, num_pixels = 0, 8053c56: 2300 movs r3, #0 8053c58: 83fb strh r3, [r7, #30] 8053c5a: 2300 movs r3, #0 8053c5c: 83bb strh r3, [r7, #28] 8053c5e: 2300 movs r3, #0 8053c60: 837b strh r3, [r7, #26] 8053c62: 2300 movs r3, #0 8053c64: 833b strh r3, [r7, #24] 8053c66: 2300 movs r3, #0 8053c68: 82fb strh r3, [r7, #22] 8053c6a: 2300 movs r3, #0 8053c6c: 82bb strh r3, [r7, #20] curpixel = 0; 8053c6e: 2300 movs r3, #0 8053c70: 827b strh r3, [r7, #18] deltax = ABS(x2 - x1); /* The difference between the x's */ 8053c72: 887a ldrh r2, [r7, #2] 8053c74: 88fb ldrh r3, [r7, #6] 8053c76: 1ad3 subs r3, r2, r3 8053c78: 2b00 cmp r3, #0 8053c7a: bfb8 it lt 8053c7c: 425b neglt r3, r3 8053c7e: 823b strh r3, [r7, #16] deltay = ABS(y2 - y1); /* The difference between the y's */ 8053c80: 883a ldrh r2, [r7, #0] 8053c82: 88bb ldrh r3, [r7, #4] 8053c84: 1ad3 subs r3, r2, r3 8053c86: 2b00 cmp r3, #0 8053c88: bfb8 it lt 8053c8a: 425b neglt r3, r3 8053c8c: 81fb strh r3, [r7, #14] x = x1; /* Start x off at the first pixel */ 8053c8e: 88fb ldrh r3, [r7, #6] 8053c90: 84fb strh r3, [r7, #38] ; 0x26 y = y1; /* Start y off at the first pixel */ 8053c92: 88bb ldrh r3, [r7, #4] 8053c94: 84bb strh r3, [r7, #36] ; 0x24 if (x2 >= x1) /* The x-values are increasing */ 8053c96: 887a ldrh r2, [r7, #2] 8053c98: 88fb ldrh r3, [r7, #6] 8053c9a: 429a cmp r2, r3 8053c9c: d304 bcc.n 8053ca8 { xinc1 = 1; 8053c9e: 2301 movs r3, #1 8053ca0: 847b strh r3, [r7, #34] ; 0x22 xinc2 = 1; 8053ca2: 2301 movs r3, #1 8053ca4: 843b strh r3, [r7, #32] 8053ca6: e005 b.n 8053cb4 } else /* The x-values are decreasing */ { xinc1 = -1; 8053ca8: f64f 73ff movw r3, #65535 ; 0xffff 8053cac: 847b strh r3, [r7, #34] ; 0x22 xinc2 = -1; 8053cae: f64f 73ff movw r3, #65535 ; 0xffff 8053cb2: 843b strh r3, [r7, #32] } if (y2 >= y1) /* The y-values are increasing */ 8053cb4: 883a ldrh r2, [r7, #0] 8053cb6: 88bb ldrh r3, [r7, #4] 8053cb8: 429a cmp r2, r3 8053cba: d304 bcc.n 8053cc6 { yinc1 = 1; 8053cbc: 2301 movs r3, #1 8053cbe: 83fb strh r3, [r7, #30] yinc2 = 1; 8053cc0: 2301 movs r3, #1 8053cc2: 83bb strh r3, [r7, #28] 8053cc4: e005 b.n 8053cd2 } else /* The y-values are decreasing */ { yinc1 = -1; 8053cc6: f64f 73ff movw r3, #65535 ; 0xffff 8053cca: 83fb strh r3, [r7, #30] yinc2 = -1; 8053ccc: f64f 73ff movw r3, #65535 ; 0xffff 8053cd0: 83bb strh r3, [r7, #28] } if (deltax >= deltay) /* There is at least one x-value for every y-value */ 8053cd2: f9b7 2010 ldrsh.w r2, [r7, #16] 8053cd6: f9b7 300e ldrsh.w r3, [r7, #14] 8053cda: 429a cmp r2, r3 8053cdc: db11 blt.n 8053d02 { xinc1 = 0; /* Don't change the x when numerator >= denominator */ 8053cde: 2300 movs r3, #0 8053ce0: 847b strh r3, [r7, #34] ; 0x22 yinc2 = 0; /* Don't change the y for every iteration */ 8053ce2: 2300 movs r3, #0 8053ce4: 83bb strh r3, [r7, #28] den = deltax; 8053ce6: 8a3b ldrh r3, [r7, #16] 8053ce8: 837b strh r3, [r7, #26] num = deltax / 2; 8053cea: f9b7 3010 ldrsh.w r3, [r7, #16] 8053cee: 2b00 cmp r3, #0 8053cf0: da00 bge.n 8053cf4 8053cf2: 3301 adds r3, #1 8053cf4: 105b asrs r3, r3, #1 8053cf6: 833b strh r3, [r7, #24] num_add = deltay; 8053cf8: 89fb ldrh r3, [r7, #14] 8053cfa: 82fb strh r3, [r7, #22] num_pixels = deltax; /* There are more x-values than y-values */ 8053cfc: 8a3b ldrh r3, [r7, #16] 8053cfe: 82bb strh r3, [r7, #20] 8053d00: e010 b.n 8053d24 } else /* There is at least one y-value for every x-value */ { xinc2 = 0; /* Don't change the x for every iteration */ 8053d02: 2300 movs r3, #0 8053d04: 843b strh r3, [r7, #32] yinc1 = 0; /* Don't change the y when numerator >= denominator */ 8053d06: 2300 movs r3, #0 8053d08: 83fb strh r3, [r7, #30] den = deltay; 8053d0a: 89fb ldrh r3, [r7, #14] 8053d0c: 837b strh r3, [r7, #26] num = deltay / 2; 8053d0e: f9b7 300e ldrsh.w r3, [r7, #14] 8053d12: 2b00 cmp r3, #0 8053d14: da00 bge.n 8053d18 8053d16: 3301 adds r3, #1 8053d18: 105b asrs r3, r3, #1 8053d1a: 833b strh r3, [r7, #24] num_add = deltax; 8053d1c: 8a3b ldrh r3, [r7, #16] 8053d1e: 82fb strh r3, [r7, #22] num_pixels = deltay; /* There are more y-values than x-values */ 8053d20: 89fb ldrh r3, [r7, #14] 8053d22: 82bb strh r3, [r7, #20] } for (curpixel = 0; curpixel <= num_pixels; curpixel++) 8053d24: 2300 movs r3, #0 8053d26: 827b strh r3, [r7, #18] 8053d28: e038 b.n 8053d9c { BSP_LCD_DrawPixel(x, y, DrawProp[ActiveLayer].TextColor); /* Draw the current pixel */ 8053d2a: 8cf8 ldrh r0, [r7, #38] ; 0x26 8053d2c: 8cbc ldrh r4, [r7, #36] ; 0x24 8053d2e: 4b20 ldr r3, [pc, #128] ; (8053db0 ) 8053d30: 681a ldr r2, [r3, #0] 8053d32: 4920 ldr r1, [pc, #128] ; (8053db4 ) 8053d34: 4613 mov r3, r2 8053d36: 005b lsls r3, r3, #1 8053d38: 4413 add r3, r2 8053d3a: 009b lsls r3, r3, #2 8053d3c: 440b add r3, r1 8053d3e: 681b ldr r3, [r3, #0] 8053d40: 461a mov r2, r3 8053d42: 4621 mov r1, r4 8053d44: f000 f95c bl 8054000 num += num_add; /* Increase the numerator by the top of the fraction */ 8053d48: 8b3a ldrh r2, [r7, #24] 8053d4a: 8afb ldrh r3, [r7, #22] 8053d4c: 4413 add r3, r2 8053d4e: b29b uxth r3, r3 8053d50: 833b strh r3, [r7, #24] if (num >= den) /* Check if numerator >= denominator */ 8053d52: f9b7 2018 ldrsh.w r2, [r7, #24] 8053d56: f9b7 301a ldrsh.w r3, [r7, #26] 8053d5a: 429a cmp r2, r3 8053d5c: db0e blt.n 8053d7c { num -= den; /* Calculate the new numerator value */ 8053d5e: 8b3a ldrh r2, [r7, #24] 8053d60: 8b7b ldrh r3, [r7, #26] 8053d62: 1ad3 subs r3, r2, r3 8053d64: b29b uxth r3, r3 8053d66: 833b strh r3, [r7, #24] x += xinc1; /* Change the x as appropriate */ 8053d68: 8cfa ldrh r2, [r7, #38] ; 0x26 8053d6a: 8c7b ldrh r3, [r7, #34] ; 0x22 8053d6c: 4413 add r3, r2 8053d6e: b29b uxth r3, r3 8053d70: 84fb strh r3, [r7, #38] ; 0x26 y += yinc1; /* Change the y as appropriate */ 8053d72: 8cba ldrh r2, [r7, #36] ; 0x24 8053d74: 8bfb ldrh r3, [r7, #30] 8053d76: 4413 add r3, r2 8053d78: b29b uxth r3, r3 8053d7a: 84bb strh r3, [r7, #36] ; 0x24 } x += xinc2; /* Change the x as appropriate */ 8053d7c: 8cfa ldrh r2, [r7, #38] ; 0x26 8053d7e: 8c3b ldrh r3, [r7, #32] 8053d80: 4413 add r3, r2 8053d82: b29b uxth r3, r3 8053d84: 84fb strh r3, [r7, #38] ; 0x26 y += yinc2; /* Change the y as appropriate */ 8053d86: 8cba ldrh r2, [r7, #36] ; 0x24 8053d88: 8bbb ldrh r3, [r7, #28] 8053d8a: 4413 add r3, r2 8053d8c: b29b uxth r3, r3 8053d8e: 84bb strh r3, [r7, #36] ; 0x24 for (curpixel = 0; curpixel <= num_pixels; curpixel++) 8053d90: f9b7 3012 ldrsh.w r3, [r7, #18] 8053d94: b29b uxth r3, r3 8053d96: 3301 adds r3, #1 8053d98: b29b uxth r3, r3 8053d9a: 827b strh r3, [r7, #18] 8053d9c: f9b7 2012 ldrsh.w r2, [r7, #18] 8053da0: f9b7 3014 ldrsh.w r3, [r7, #20] 8053da4: 429a cmp r2, r3 8053da6: ddc0 ble.n 8053d2a } } 8053da8: bf00 nop 8053daa: 372c adds r7, #44 ; 0x2c 8053dac: 46bd mov sp, r7 8053dae: bd90 pop {r4, r7, pc} 8053db0: 20020078 .word 0x20020078 8053db4: 20020fe4 .word 0x20020fe4 08053db8 : * @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) { 8053db8: b590 push {r4, r7, lr} 8053dba: b083 sub sp, #12 8053dbc: af00 add r7, sp, #0 8053dbe: 4604 mov r4, r0 8053dc0: 4608 mov r0, r1 8053dc2: 4611 mov r1, r2 8053dc4: 461a mov r2, r3 8053dc6: 4623 mov r3, r4 8053dc8: 80fb strh r3, [r7, #6] 8053dca: 4603 mov r3, r0 8053dcc: 80bb strh r3, [r7, #4] 8053dce: 460b mov r3, r1 8053dd0: 807b strh r3, [r7, #2] 8053dd2: 4613 mov r3, r2 8053dd4: 803b strh r3, [r7, #0] BSP_LCD_DrawHLine(Xpos, Ypos, Width); 8053dd6: 887a ldrh r2, [r7, #2] 8053dd8: 88b9 ldrh r1, [r7, #4] 8053dda: 88fb ldrh r3, [r7, #6] 8053ddc: 4618 mov r0, r3 8053dde: f7ff fe5f bl 8053aa0 BSP_LCD_DrawVLine(Xpos, Ypos, Height); 8053de2: 883a ldrh r2, [r7, #0] 8053de4: 88b9 ldrh r1, [r7, #4] 8053de6: 88fb ldrh r3, [r7, #6] 8053de8: 4618 mov r0, r3 8053dea: f7ff feb7 bl 8053b5c BSP_LCD_DrawHLine(Xpos, (Ypos + Height), Width); 8053dee: 88ba ldrh r2, [r7, #4] 8053df0: 883b ldrh r3, [r7, #0] 8053df2: 4413 add r3, r2 8053df4: b299 uxth r1, r3 8053df6: 887a ldrh r2, [r7, #2] 8053df8: 88fb ldrh r3, [r7, #6] 8053dfa: 4618 mov r0, r3 8053dfc: f7ff fe50 bl 8053aa0 BSP_LCD_DrawVLine((Xpos + Width), Ypos, Height + 1); 8053e00: 88fa ldrh r2, [r7, #6] 8053e02: 887b ldrh r3, [r7, #2] 8053e04: 4413 add r3, r2 8053e06: b298 uxth r0, r3 8053e08: 883b ldrh r3, [r7, #0] 8053e0a: 3301 adds r3, #1 8053e0c: b29a uxth r2, r3 8053e0e: 88bb ldrh r3, [r7, #4] 8053e10: 4619 mov r1, r3 8053e12: f7ff fea3 bl 8053b5c } 8053e16: bf00 nop 8053e18: 370c adds r7, #12 8053e1a: 46bd mov sp, r7 8053e1c: bd90 pop {r4, r7, pc} ... 08053e20 : * @param Ypos: Y position * @param Radius: Circle radius * @retval None */ void BSP_LCD_DrawCircle(uint16_t Xpos, uint16_t Ypos, uint16_t Radius) { 8053e20: b590 push {r4, r7, lr} 8053e22: b087 sub sp, #28 8053e24: af00 add r7, sp, #0 8053e26: 4603 mov r3, r0 8053e28: 80fb strh r3, [r7, #6] 8053e2a: 460b mov r3, r1 8053e2c: 80bb strh r3, [r7, #4] 8053e2e: 4613 mov r3, r2 8053e30: 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); 8053e32: 887b ldrh r3, [r7, #2] 8053e34: 005b lsls r3, r3, #1 8053e36: f1c3 0303 rsb r3, r3, #3 8053e3a: 617b str r3, [r7, #20] current_x = 0; 8053e3c: 2300 movs r3, #0 8053e3e: 613b str r3, [r7, #16] current_y = Radius; 8053e40: 887b ldrh r3, [r7, #2] 8053e42: 60fb str r3, [r7, #12] while (current_x <= current_y) 8053e44: e0cf b.n 8053fe6 { BSP_LCD_DrawPixel((Xpos + current_x), (Ypos - current_y), DrawProp[ActiveLayer].TextColor); 8053e46: 693b ldr r3, [r7, #16] 8053e48: b29a uxth r2, r3 8053e4a: 88fb ldrh r3, [r7, #6] 8053e4c: 4413 add r3, r2 8053e4e: b298 uxth r0, r3 8053e50: 68fb ldr r3, [r7, #12] 8053e52: b29b uxth r3, r3 8053e54: 88ba ldrh r2, [r7, #4] 8053e56: 1ad3 subs r3, r2, r3 8053e58: b29c uxth r4, r3 8053e5a: 4b67 ldr r3, [pc, #412] ; (8053ff8 ) 8053e5c: 681a ldr r2, [r3, #0] 8053e5e: 4967 ldr r1, [pc, #412] ; (8053ffc ) 8053e60: 4613 mov r3, r2 8053e62: 005b lsls r3, r3, #1 8053e64: 4413 add r3, r2 8053e66: 009b lsls r3, r3, #2 8053e68: 440b add r3, r1 8053e6a: 681b ldr r3, [r3, #0] 8053e6c: 461a mov r2, r3 8053e6e: 4621 mov r1, r4 8053e70: f000 f8c6 bl 8054000 BSP_LCD_DrawPixel((Xpos - current_x), (Ypos - current_y), DrawProp[ActiveLayer].TextColor); 8053e74: 693b ldr r3, [r7, #16] 8053e76: b29b uxth r3, r3 8053e78: 88fa ldrh r2, [r7, #6] 8053e7a: 1ad3 subs r3, r2, r3 8053e7c: b298 uxth r0, r3 8053e7e: 68fb ldr r3, [r7, #12] 8053e80: b29b uxth r3, r3 8053e82: 88ba ldrh r2, [r7, #4] 8053e84: 1ad3 subs r3, r2, r3 8053e86: b29c uxth r4, r3 8053e88: 4b5b ldr r3, [pc, #364] ; (8053ff8 ) 8053e8a: 681a ldr r2, [r3, #0] 8053e8c: 495b ldr r1, [pc, #364] ; (8053ffc ) 8053e8e: 4613 mov r3, r2 8053e90: 005b lsls r3, r3, #1 8053e92: 4413 add r3, r2 8053e94: 009b lsls r3, r3, #2 8053e96: 440b add r3, r1 8053e98: 681b ldr r3, [r3, #0] 8053e9a: 461a mov r2, r3 8053e9c: 4621 mov r1, r4 8053e9e: f000 f8af bl 8054000 BSP_LCD_DrawPixel((Xpos + current_y), (Ypos - current_x), DrawProp[ActiveLayer].TextColor); 8053ea2: 68fb ldr r3, [r7, #12] 8053ea4: b29a uxth r2, r3 8053ea6: 88fb ldrh r3, [r7, #6] 8053ea8: 4413 add r3, r2 8053eaa: b298 uxth r0, r3 8053eac: 693b ldr r3, [r7, #16] 8053eae: b29b uxth r3, r3 8053eb0: 88ba ldrh r2, [r7, #4] 8053eb2: 1ad3 subs r3, r2, r3 8053eb4: b29c uxth r4, r3 8053eb6: 4b50 ldr r3, [pc, #320] ; (8053ff8 ) 8053eb8: 681a ldr r2, [r3, #0] 8053eba: 4950 ldr r1, [pc, #320] ; (8053ffc ) 8053ebc: 4613 mov r3, r2 8053ebe: 005b lsls r3, r3, #1 8053ec0: 4413 add r3, r2 8053ec2: 009b lsls r3, r3, #2 8053ec4: 440b add r3, r1 8053ec6: 681b ldr r3, [r3, #0] 8053ec8: 461a mov r2, r3 8053eca: 4621 mov r1, r4 8053ecc: f000 f898 bl 8054000 BSP_LCD_DrawPixel((Xpos - current_y), (Ypos - current_x), DrawProp[ActiveLayer].TextColor); 8053ed0: 68fb ldr r3, [r7, #12] 8053ed2: b29b uxth r3, r3 8053ed4: 88fa ldrh r2, [r7, #6] 8053ed6: 1ad3 subs r3, r2, r3 8053ed8: b298 uxth r0, r3 8053eda: 693b ldr r3, [r7, #16] 8053edc: b29b uxth r3, r3 8053ede: 88ba ldrh r2, [r7, #4] 8053ee0: 1ad3 subs r3, r2, r3 8053ee2: b29c uxth r4, r3 8053ee4: 4b44 ldr r3, [pc, #272] ; (8053ff8 ) 8053ee6: 681a ldr r2, [r3, #0] 8053ee8: 4944 ldr r1, [pc, #272] ; (8053ffc ) 8053eea: 4613 mov r3, r2 8053eec: 005b lsls r3, r3, #1 8053eee: 4413 add r3, r2 8053ef0: 009b lsls r3, r3, #2 8053ef2: 440b add r3, r1 8053ef4: 681b ldr r3, [r3, #0] 8053ef6: 461a mov r2, r3 8053ef8: 4621 mov r1, r4 8053efa: f000 f881 bl 8054000 BSP_LCD_DrawPixel((Xpos + current_x), (Ypos + current_y), DrawProp[ActiveLayer].TextColor); 8053efe: 693b ldr r3, [r7, #16] 8053f00: b29a uxth r2, r3 8053f02: 88fb ldrh r3, [r7, #6] 8053f04: 4413 add r3, r2 8053f06: b298 uxth r0, r3 8053f08: 68fb ldr r3, [r7, #12] 8053f0a: b29a uxth r2, r3 8053f0c: 88bb ldrh r3, [r7, #4] 8053f0e: 4413 add r3, r2 8053f10: b29c uxth r4, r3 8053f12: 4b39 ldr r3, [pc, #228] ; (8053ff8 ) 8053f14: 681a ldr r2, [r3, #0] 8053f16: 4939 ldr r1, [pc, #228] ; (8053ffc ) 8053f18: 4613 mov r3, r2 8053f1a: 005b lsls r3, r3, #1 8053f1c: 4413 add r3, r2 8053f1e: 009b lsls r3, r3, #2 8053f20: 440b add r3, r1 8053f22: 681b ldr r3, [r3, #0] 8053f24: 461a mov r2, r3 8053f26: 4621 mov r1, r4 8053f28: f000 f86a bl 8054000 BSP_LCD_DrawPixel((Xpos - current_x), (Ypos + current_y), DrawProp[ActiveLayer].TextColor); 8053f2c: 693b ldr r3, [r7, #16] 8053f2e: b29b uxth r3, r3 8053f30: 88fa ldrh r2, [r7, #6] 8053f32: 1ad3 subs r3, r2, r3 8053f34: b298 uxth r0, r3 8053f36: 68fb ldr r3, [r7, #12] 8053f38: b29a uxth r2, r3 8053f3a: 88bb ldrh r3, [r7, #4] 8053f3c: 4413 add r3, r2 8053f3e: b29c uxth r4, r3 8053f40: 4b2d ldr r3, [pc, #180] ; (8053ff8 ) 8053f42: 681a ldr r2, [r3, #0] 8053f44: 492d ldr r1, [pc, #180] ; (8053ffc ) 8053f46: 4613 mov r3, r2 8053f48: 005b lsls r3, r3, #1 8053f4a: 4413 add r3, r2 8053f4c: 009b lsls r3, r3, #2 8053f4e: 440b add r3, r1 8053f50: 681b ldr r3, [r3, #0] 8053f52: 461a mov r2, r3 8053f54: 4621 mov r1, r4 8053f56: f000 f853 bl 8054000 BSP_LCD_DrawPixel((Xpos + current_y), (Ypos + current_x), DrawProp[ActiveLayer].TextColor); 8053f5a: 68fb ldr r3, [r7, #12] 8053f5c: b29a uxth r2, r3 8053f5e: 88fb ldrh r3, [r7, #6] 8053f60: 4413 add r3, r2 8053f62: b298 uxth r0, r3 8053f64: 693b ldr r3, [r7, #16] 8053f66: b29a uxth r2, r3 8053f68: 88bb ldrh r3, [r7, #4] 8053f6a: 4413 add r3, r2 8053f6c: b29c uxth r4, r3 8053f6e: 4b22 ldr r3, [pc, #136] ; (8053ff8 ) 8053f70: 681a ldr r2, [r3, #0] 8053f72: 4922 ldr r1, [pc, #136] ; (8053ffc ) 8053f74: 4613 mov r3, r2 8053f76: 005b lsls r3, r3, #1 8053f78: 4413 add r3, r2 8053f7a: 009b lsls r3, r3, #2 8053f7c: 440b add r3, r1 8053f7e: 681b ldr r3, [r3, #0] 8053f80: 461a mov r2, r3 8053f82: 4621 mov r1, r4 8053f84: f000 f83c bl 8054000 BSP_LCD_DrawPixel((Xpos - current_y), (Ypos + current_x), DrawProp[ActiveLayer].TextColor); 8053f88: 68fb ldr r3, [r7, #12] 8053f8a: b29b uxth r3, r3 8053f8c: 88fa ldrh r2, [r7, #6] 8053f8e: 1ad3 subs r3, r2, r3 8053f90: b298 uxth r0, r3 8053f92: 693b ldr r3, [r7, #16] 8053f94: b29a uxth r2, r3 8053f96: 88bb ldrh r3, [r7, #4] 8053f98: 4413 add r3, r2 8053f9a: b29c uxth r4, r3 8053f9c: 4b16 ldr r3, [pc, #88] ; (8053ff8 ) 8053f9e: 681a ldr r2, [r3, #0] 8053fa0: 4916 ldr r1, [pc, #88] ; (8053ffc ) 8053fa2: 4613 mov r3, r2 8053fa4: 005b lsls r3, r3, #1 8053fa6: 4413 add r3, r2 8053fa8: 009b lsls r3, r3, #2 8053faa: 440b add r3, r1 8053fac: 681b ldr r3, [r3, #0] 8053fae: 461a mov r2, r3 8053fb0: 4621 mov r1, r4 8053fb2: f000 f825 bl 8054000 if (decision < 0) 8053fb6: 697b ldr r3, [r7, #20] 8053fb8: 2b00 cmp r3, #0 8053fba: da06 bge.n 8053fca { decision += (current_x << 2) + 6; 8053fbc: 693b ldr r3, [r7, #16] 8053fbe: 009a lsls r2, r3, #2 8053fc0: 697b ldr r3, [r7, #20] 8053fc2: 4413 add r3, r2 8053fc4: 3306 adds r3, #6 8053fc6: 617b str r3, [r7, #20] 8053fc8: e00a b.n 8053fe0 } else { decision += ((current_x - current_y) << 2) + 10; 8053fca: 693a ldr r2, [r7, #16] 8053fcc: 68fb ldr r3, [r7, #12] 8053fce: 1ad3 subs r3, r2, r3 8053fd0: 009a lsls r2, r3, #2 8053fd2: 697b ldr r3, [r7, #20] 8053fd4: 4413 add r3, r2 8053fd6: 330a adds r3, #10 8053fd8: 617b str r3, [r7, #20] current_y--; 8053fda: 68fb ldr r3, [r7, #12] 8053fdc: 3b01 subs r3, #1 8053fde: 60fb str r3, [r7, #12] } current_x++; 8053fe0: 693b ldr r3, [r7, #16] 8053fe2: 3301 adds r3, #1 8053fe4: 613b str r3, [r7, #16] while (current_x <= current_y) 8053fe6: 693a ldr r2, [r7, #16] 8053fe8: 68fb ldr r3, [r7, #12] 8053fea: 429a cmp r2, r3 8053fec: f67f af2b bls.w 8053e46 } } 8053ff0: bf00 nop 8053ff2: 371c adds r7, #28 8053ff4: 46bd mov sp, r7 8053ff6: bd90 pop {r4, r7, pc} 8053ff8: 20020078 .word 0x20020078 8053ffc: 20020fe4 .word 0x20020fe4 08054000 : * @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) { 8054000: b5b0 push {r4, r5, r7, lr} 8054002: b082 sub sp, #8 8054004: af00 add r7, sp, #0 8054006: 4603 mov r3, r0 8054008: 603a str r2, [r7, #0] 805400a: 80fb strh r3, [r7, #6] 805400c: 460b mov r3, r1 805400e: 80bb strh r3, [r7, #4] /* Write data value to all SDRAM memory */ if(hLtdcHandler.LayerCfg[ActiveLayer].PixelFormat == LTDC_PIXEL_FORMAT_RGB565) 8054010: 4b2a ldr r3, [pc, #168] ; (80540bc ) 8054012: 681b ldr r3, [r3, #0] 8054014: 4a2a ldr r2, [pc, #168] ; (80540c0 ) 8054016: 2134 movs r1, #52 ; 0x34 8054018: fb01 f303 mul.w r3, r1, r3 805401c: 4413 add r3, r2 805401e: 3348 adds r3, #72 ; 0x48 8054020: 681b ldr r3, [r3, #0] 8054022: 2b02 cmp r3, #2 8054024: d12f bne.n 8054086 { /* RGB565 format */ *(__IO uint16_t*) (hLtdcHandler.LayerCfg[ActiveLayer].FBStartAdress + (2*(Ypos*BSP_LCD_GetXSize() + Xpos))) = COLOR24TO16(RGB_Code); 8054026: 4b25 ldr r3, [pc, #148] ; (80540bc ) 8054028: 681b ldr r3, [r3, #0] 805402a: 4a25 ldr r2, [pc, #148] ; (80540c0 ) 805402c: 2134 movs r1, #52 ; 0x34 805402e: fb01 f303 mul.w r3, r1, r3 8054032: 4413 add r3, r2 8054034: 335c adds r3, #92 ; 0x5c 8054036: 681c ldr r4, [r3, #0] 8054038: 88bd ldrh r5, [r7, #4] 805403a: f7ff fb07 bl 805364c 805403e: 4603 mov r3, r0 8054040: fb03 f205 mul.w r2, r3, r5 8054044: 88fb ldrh r3, [r7, #6] 8054046: 4413 add r3, r2 8054048: 005b lsls r3, r3, #1 805404a: 4423 add r3, r4 805404c: 4619 mov r1, r3 805404e: 683b ldr r3, [r7, #0] 8054050: 0c1b lsrs r3, r3, #16 8054052: b29b uxth r3, r3 8054054: 021b lsls r3, r3, #8 8054056: b29a uxth r2, r3 8054058: 4b1a ldr r3, [pc, #104] ; (80540c4 ) 805405a: 4013 ands r3, r2 805405c: b29a uxth r2, r3 805405e: 683b ldr r3, [r7, #0] 8054060: 0a1b lsrs r3, r3, #8 8054062: b29b uxth r3, r3 8054064: 00db lsls r3, r3, #3 8054066: b29b uxth r3, r3 8054068: f403 63fc and.w r3, r3, #2016 ; 0x7e0 805406c: b29b uxth r3, r3 805406e: 4313 orrs r3, r2 8054070: b29a uxth r2, r3 8054072: 683b ldr r3, [r7, #0] 8054074: 08db lsrs r3, r3, #3 8054076: b29b uxth r3, r3 8054078: f003 031f and.w r3, r3, #31 805407c: b29b uxth r3, r3 805407e: 4313 orrs r3, r2 8054080: b29b uxth r3, r3 8054082: 800b strh r3, [r1, #0] } else { /* ARGB8888 format */ *(__IO uint32_t*) (hLtdcHandler.LayerCfg[ActiveLayer].FBStartAdress + (4*(Ypos*BSP_LCD_GetXSize() + Xpos))) = RGB_Code; } } 8054084: e015 b.n 80540b2 *(__IO uint32_t*) (hLtdcHandler.LayerCfg[ActiveLayer].FBStartAdress + (4*(Ypos*BSP_LCD_GetXSize() + Xpos))) = RGB_Code; 8054086: 4b0d ldr r3, [pc, #52] ; (80540bc ) 8054088: 681b ldr r3, [r3, #0] 805408a: 4a0d ldr r2, [pc, #52] ; (80540c0 ) 805408c: 2134 movs r1, #52 ; 0x34 805408e: fb01 f303 mul.w r3, r1, r3 8054092: 4413 add r3, r2 8054094: 335c adds r3, #92 ; 0x5c 8054096: 681c ldr r4, [r3, #0] 8054098: 88bd ldrh r5, [r7, #4] 805409a: f7ff fad7 bl 805364c 805409e: 4603 mov r3, r0 80540a0: fb03 f205 mul.w r2, r3, r5 80540a4: 88fb ldrh r3, [r7, #6] 80540a6: 4413 add r3, r2 80540a8: 009b lsls r3, r3, #2 80540aa: 4423 add r3, r4 80540ac: 461a mov r2, r3 80540ae: 683b ldr r3, [r7, #0] 80540b0: 6013 str r3, [r2, #0] } 80540b2: bf00 nop 80540b4: 3708 adds r7, #8 80540b6: 46bd mov sp, r7 80540b8: bdb0 pop {r4, r5, r7, pc} 80540ba: bf00 nop 80540bc: 20020078 .word 0x20020078 80540c0: 20025d28 .word 0x20025d28 80540c4: fffff800 .word 0xfffff800 080540c8 : * @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) { 80540c8: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} 80540cc: b086 sub sp, #24 80540ce: af02 add r7, sp, #8 80540d0: 4604 mov r4, r0 80540d2: 4608 mov r0, r1 80540d4: 4611 mov r1, r2 80540d6: 461a mov r2, r3 80540d8: 4623 mov r3, r4 80540da: 80fb strh r3, [r7, #6] 80540dc: 4603 mov r3, r0 80540de: 80bb strh r3, [r7, #4] 80540e0: 460b mov r3, r1 80540e2: 807b strh r3, [r7, #2] 80540e4: 4613 mov r3, r2 80540e6: 803b strh r3, [r7, #0] uint32_t x_address = 0; 80540e8: 2300 movs r3, #0 80540ea: 60fb str r3, [r7, #12] /* Set the text color */ BSP_LCD_SetTextColor(DrawProp[ActiveLayer].TextColor); 80540ec: 4b30 ldr r3, [pc, #192] ; (80541b0 ) 80540ee: 681a ldr r2, [r3, #0] 80540f0: 4930 ldr r1, [pc, #192] ; (80541b4 ) 80540f2: 4613 mov r3, r2 80540f4: 005b lsls r3, r3, #1 80540f6: 4413 add r3, r2 80540f8: 009b lsls r3, r3, #2 80540fa: 440b add r3, r1 80540fc: 681b ldr r3, [r3, #0] 80540fe: 4618 mov r0, r3 8054100: f7ff fb78 bl 80537f4 /* Get the rectangle start address */ if(hLtdcHandler.LayerCfg[ActiveLayer].PixelFormat == LTDC_PIXEL_FORMAT_RGB565) 8054104: 4b2a ldr r3, [pc, #168] ; (80541b0 ) 8054106: 681b ldr r3, [r3, #0] 8054108: 4a2b ldr r2, [pc, #172] ; (80541b8 ) 805410a: 2134 movs r1, #52 ; 0x34 805410c: fb01 f303 mul.w r3, r1, r3 8054110: 4413 add r3, r2 8054112: 3348 adds r3, #72 ; 0x48 8054114: 681b ldr r3, [r3, #0] 8054116: 2b02 cmp r3, #2 8054118: d114 bne.n 8054144 { /* RGB565 format */ x_address = (hLtdcHandler.LayerCfg[ActiveLayer].FBStartAdress) + 2*(BSP_LCD_GetXSize()*Ypos + Xpos); 805411a: 4b25 ldr r3, [pc, #148] ; (80541b0 ) 805411c: 681b ldr r3, [r3, #0] 805411e: 4a26 ldr r2, [pc, #152] ; (80541b8 ) 8054120: 2134 movs r1, #52 ; 0x34 8054122: fb01 f303 mul.w r3, r1, r3 8054126: 4413 add r3, r2 8054128: 335c adds r3, #92 ; 0x5c 805412a: 681c ldr r4, [r3, #0] 805412c: f7ff fa8e bl 805364c 8054130: 4602 mov r2, r0 8054132: 88bb ldrh r3, [r7, #4] 8054134: fb03 f202 mul.w r2, r3, r2 8054138: 88fb ldrh r3, [r7, #6] 805413a: 4413 add r3, r2 805413c: 005b lsls r3, r3, #1 805413e: 4423 add r3, r4 8054140: 60fb str r3, [r7, #12] 8054142: e013 b.n 805416c } else { /* ARGB8888 format */ x_address = (hLtdcHandler.LayerCfg[ActiveLayer].FBStartAdress) + 4*(BSP_LCD_GetXSize()*Ypos + Xpos); 8054144: 4b1a ldr r3, [pc, #104] ; (80541b0 ) 8054146: 681b ldr r3, [r3, #0] 8054148: 4a1b ldr r2, [pc, #108] ; (80541b8 ) 805414a: 2134 movs r1, #52 ; 0x34 805414c: fb01 f303 mul.w r3, r1, r3 8054150: 4413 add r3, r2 8054152: 335c adds r3, #92 ; 0x5c 8054154: 681c ldr r4, [r3, #0] 8054156: f7ff fa79 bl 805364c 805415a: 4602 mov r2, r0 805415c: 88bb ldrh r3, [r7, #4] 805415e: fb03 f202 mul.w r2, r3, r2 8054162: 88fb ldrh r3, [r7, #6] 8054164: 4413 add r3, r2 8054166: 009b lsls r3, r3, #2 8054168: 4423 add r3, r4 805416a: 60fb str r3, [r7, #12] } /* Fill the rectangle */ LL_FillBuffer(ActiveLayer, (uint32_t *)x_address, Width, Height, (BSP_LCD_GetXSize() - Width), DrawProp[ActiveLayer].TextColor); 805416c: 4b10 ldr r3, [pc, #64] ; (80541b0 ) 805416e: 681c ldr r4, [r3, #0] 8054170: 68fd ldr r5, [r7, #12] 8054172: 887e ldrh r6, [r7, #2] 8054174: f8b7 8000 ldrh.w r8, [r7] 8054178: f7ff fa68 bl 805364c 805417c: 4602 mov r2, r0 805417e: 887b ldrh r3, [r7, #2] 8054180: 1ad1 subs r1, r2, r3 8054182: 4b0b ldr r3, [pc, #44] ; (80541b0 ) 8054184: 681a ldr r2, [r3, #0] 8054186: 480b ldr r0, [pc, #44] ; (80541b4 ) 8054188: 4613 mov r3, r2 805418a: 005b lsls r3, r3, #1 805418c: 4413 add r3, r2 805418e: 009b lsls r3, r3, #2 8054190: 4403 add r3, r0 8054192: 681b ldr r3, [r3, #0] 8054194: 9301 str r3, [sp, #4] 8054196: 9100 str r1, [sp, #0] 8054198: 4643 mov r3, r8 805419a: 4632 mov r2, r6 805419c: 4629 mov r1, r5 805419e: 4620 mov r0, r4 80541a0: f000 f9ac bl 80544fc } 80541a4: bf00 nop 80541a6: 3710 adds r7, #16 80541a8: 46bd mov sp, r7 80541aa: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} 80541ae: bf00 nop 80541b0: 20020078 .word 0x20020078 80541b4: 20020fe4 .word 0x20020fe4 80541b8: 20025d28 .word 0x20025d28 080541bc : * @param Ypos: Y position * @param Radius: Circle radius * @retval None */ void BSP_LCD_FillCircle(uint16_t Xpos, uint16_t Ypos, uint16_t Radius) { 80541bc: b580 push {r7, lr} 80541be: b086 sub sp, #24 80541c0: af00 add r7, sp, #0 80541c2: 4603 mov r3, r0 80541c4: 80fb strh r3, [r7, #6] 80541c6: 460b mov r3, r1 80541c8: 80bb strh r3, [r7, #4] 80541ca: 4613 mov r3, r2 80541cc: 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); 80541ce: 887b ldrh r3, [r7, #2] 80541d0: 005b lsls r3, r3, #1 80541d2: f1c3 0303 rsb r3, r3, #3 80541d6: 617b str r3, [r7, #20] current_x = 0; 80541d8: 2300 movs r3, #0 80541da: 613b str r3, [r7, #16] current_y = Radius; 80541dc: 887b ldrh r3, [r7, #2] 80541de: 60fb str r3, [r7, #12] BSP_LCD_SetTextColor(DrawProp[ActiveLayer].TextColor); 80541e0: 4b44 ldr r3, [pc, #272] ; (80542f4 ) 80541e2: 681a ldr r2, [r3, #0] 80541e4: 4944 ldr r1, [pc, #272] ; (80542f8 ) 80541e6: 4613 mov r3, r2 80541e8: 005b lsls r3, r3, #1 80541ea: 4413 add r3, r2 80541ec: 009b lsls r3, r3, #2 80541ee: 440b add r3, r1 80541f0: 681b ldr r3, [r3, #0] 80541f2: 4618 mov r0, r3 80541f4: f7ff fafe bl 80537f4 while (current_x <= current_y) 80541f8: e061 b.n 80542be { if(current_y > 0) 80541fa: 68fb ldr r3, [r7, #12] 80541fc: 2b00 cmp r3, #0 80541fe: d021 beq.n 8054244 { BSP_LCD_DrawHLine(Xpos - current_y, Ypos + current_x, 2*current_y); 8054200: 68fb ldr r3, [r7, #12] 8054202: b29b uxth r3, r3 8054204: 88fa ldrh r2, [r7, #6] 8054206: 1ad3 subs r3, r2, r3 8054208: b298 uxth r0, r3 805420a: 693b ldr r3, [r7, #16] 805420c: b29a uxth r2, r3 805420e: 88bb ldrh r3, [r7, #4] 8054210: 4413 add r3, r2 8054212: b299 uxth r1, r3 8054214: 68fb ldr r3, [r7, #12] 8054216: b29b uxth r3, r3 8054218: 005b lsls r3, r3, #1 805421a: b29b uxth r3, r3 805421c: 461a mov r2, r3 805421e: f7ff fc3f bl 8053aa0 BSP_LCD_DrawHLine(Xpos - current_y, Ypos - current_x, 2*current_y); 8054222: 68fb ldr r3, [r7, #12] 8054224: b29b uxth r3, r3 8054226: 88fa ldrh r2, [r7, #6] 8054228: 1ad3 subs r3, r2, r3 805422a: b298 uxth r0, r3 805422c: 693b ldr r3, [r7, #16] 805422e: b29b uxth r3, r3 8054230: 88ba ldrh r2, [r7, #4] 8054232: 1ad3 subs r3, r2, r3 8054234: b299 uxth r1, r3 8054236: 68fb ldr r3, [r7, #12] 8054238: b29b uxth r3, r3 805423a: 005b lsls r3, r3, #1 805423c: b29b uxth r3, r3 805423e: 461a mov r2, r3 8054240: f7ff fc2e bl 8053aa0 } if(current_x > 0) 8054244: 693b ldr r3, [r7, #16] 8054246: 2b00 cmp r3, #0 8054248: d021 beq.n 805428e { BSP_LCD_DrawHLine(Xpos - current_x, Ypos - current_y, 2*current_x); 805424a: 693b ldr r3, [r7, #16] 805424c: b29b uxth r3, r3 805424e: 88fa ldrh r2, [r7, #6] 8054250: 1ad3 subs r3, r2, r3 8054252: b298 uxth r0, r3 8054254: 68fb ldr r3, [r7, #12] 8054256: b29b uxth r3, r3 8054258: 88ba ldrh r2, [r7, #4] 805425a: 1ad3 subs r3, r2, r3 805425c: b299 uxth r1, r3 805425e: 693b ldr r3, [r7, #16] 8054260: b29b uxth r3, r3 8054262: 005b lsls r3, r3, #1 8054264: b29b uxth r3, r3 8054266: 461a mov r2, r3 8054268: f7ff fc1a bl 8053aa0 BSP_LCD_DrawHLine(Xpos - current_x, Ypos + current_y, 2*current_x); 805426c: 693b ldr r3, [r7, #16] 805426e: b29b uxth r3, r3 8054270: 88fa ldrh r2, [r7, #6] 8054272: 1ad3 subs r3, r2, r3 8054274: b298 uxth r0, r3 8054276: 68fb ldr r3, [r7, #12] 8054278: b29a uxth r2, r3 805427a: 88bb ldrh r3, [r7, #4] 805427c: 4413 add r3, r2 805427e: b299 uxth r1, r3 8054280: 693b ldr r3, [r7, #16] 8054282: b29b uxth r3, r3 8054284: 005b lsls r3, r3, #1 8054286: b29b uxth r3, r3 8054288: 461a mov r2, r3 805428a: f7ff fc09 bl 8053aa0 } if (decision < 0) 805428e: 697b ldr r3, [r7, #20] 8054290: 2b00 cmp r3, #0 8054292: da06 bge.n 80542a2 { decision += (current_x << 2) + 6; 8054294: 693b ldr r3, [r7, #16] 8054296: 009a lsls r2, r3, #2 8054298: 697b ldr r3, [r7, #20] 805429a: 4413 add r3, r2 805429c: 3306 adds r3, #6 805429e: 617b str r3, [r7, #20] 80542a0: e00a b.n 80542b8 } else { decision += ((current_x - current_y) << 2) + 10; 80542a2: 693a ldr r2, [r7, #16] 80542a4: 68fb ldr r3, [r7, #12] 80542a6: 1ad3 subs r3, r2, r3 80542a8: 009a lsls r2, r3, #2 80542aa: 697b ldr r3, [r7, #20] 80542ac: 4413 add r3, r2 80542ae: 330a adds r3, #10 80542b0: 617b str r3, [r7, #20] current_y--; 80542b2: 68fb ldr r3, [r7, #12] 80542b4: 3b01 subs r3, #1 80542b6: 60fb str r3, [r7, #12] } current_x++; 80542b8: 693b ldr r3, [r7, #16] 80542ba: 3301 adds r3, #1 80542bc: 613b str r3, [r7, #16] while (current_x <= current_y) 80542be: 693a ldr r2, [r7, #16] 80542c0: 68fb ldr r3, [r7, #12] 80542c2: 429a cmp r2, r3 80542c4: d999 bls.n 80541fa } BSP_LCD_SetTextColor(DrawProp[ActiveLayer].TextColor); 80542c6: 4b0b ldr r3, [pc, #44] ; (80542f4 ) 80542c8: 681a ldr r2, [r3, #0] 80542ca: 490b ldr r1, [pc, #44] ; (80542f8 ) 80542cc: 4613 mov r3, r2 80542ce: 005b lsls r3, r3, #1 80542d0: 4413 add r3, r2 80542d2: 009b lsls r3, r3, #2 80542d4: 440b add r3, r1 80542d6: 681b ldr r3, [r3, #0] 80542d8: 4618 mov r0, r3 80542da: f7ff fa8b bl 80537f4 BSP_LCD_DrawCircle(Xpos, Ypos, Radius); 80542de: 887a ldrh r2, [r7, #2] 80542e0: 88b9 ldrh r1, [r7, #4] 80542e2: 88fb ldrh r3, [r7, #6] 80542e4: 4618 mov r0, r3 80542e6: f7ff fd9b bl 8053e20 } 80542ea: bf00 nop 80542ec: 3718 adds r7, #24 80542ee: 46bd mov sp, r7 80542f0: bd80 pop {r7, pc} 80542f2: bf00 nop 80542f4: 20020078 .word 0x20020078 80542f8: 20020fe4 .word 0x20020fe4 080542fc : while (y <= 0); } void LCD_DisplayString(uint16_t X, uint16_t Line, char *ptr) { 80542fc: b580 push {r7, lr} 80542fe: b082 sub sp, #8 8054300: af00 add r7, sp, #0 8054302: 4603 mov r3, r0 8054304: 603a str r2, [r7, #0] 8054306: 80fb strh r3, [r7, #6] 8054308: 460b mov r3, r1 805430a: 80bb strh r3, [r7, #4] BSP_LCD_SetFont(&Font15); 805430c: 4806 ldr r0, [pc, #24] ; (8054328 ) 805430e: f7ff fa89 bl 8053824 BSP_LCD_DisplayStringAt(X, Line, ptr, LEFT_MODE); 8054312: 88b9 ldrh r1, [r7, #4] 8054314: 88f8 ldrh r0, [r7, #6] 8054316: 2303 movs r3, #3 8054318: 683a ldr r2, [r7, #0] 805431a: f7ff fb0d bl 8053938 { LCD_DisplayChar(Line, refcolumn, *ptr); refcolumn -= 12; ptr++; }*/ } 805431e: bf00 nop 8054320: 3708 adds r7, #8 8054322: 46bd mov sp, r7 8054324: bd80 pop {r7, pc} 8054326: bf00 nop 8054328: 20020040 .word 0x20020040 0805432c : void LCD_DisplayStringC(uint16_t X, uint16_t Y, char *ptr) { 805432c: b580 push {r7, lr} 805432e: b082 sub sp, #8 8054330: af00 add r7, sp, #0 8054332: 4603 mov r3, r0 8054334: 603a str r2, [r7, #0] 8054336: 80fb strh r3, [r7, #6] 8054338: 460b mov r3, r1 805433a: 80bb strh r3, [r7, #4] BSP_LCD_SetFont(&Font15); 805433c: 4806 ldr r0, [pc, #24] ; (8054358 ) 805433e: f7ff fa71 bl 8053824 BSP_LCD_DisplayStringAt(X, Y, ptr, CENTER_MODE); 8054342: 88b9 ldrh r1, [r7, #4] 8054344: 88f8 ldrh r0, [r7, #6] 8054346: 2301 movs r3, #1 8054348: 683a ldr r2, [r7, #0] 805434a: f7ff faf5 bl 8053938 { LCD_DisplayChar(Y, refcolumn, *ptr); refcolumn -= 12; ptr++; }*/ } 805434e: bf00 nop 8054350: 3708 adds r7, #8 8054352: 46bd mov sp, r7 8054354: bd80 pop {r7, pc} 8054356: bf00 nop 8054358: 20020040 .word 0x20020040 0805435c : void LCD_DisplayStringR(uint16_t X, uint16_t Y, char *ptr) { 805435c: b580 push {r7, lr} 805435e: b082 sub sp, #8 8054360: af00 add r7, sp, #0 8054362: 4603 mov r3, r0 8054364: 603a str r2, [r7, #0] 8054366: 80fb strh r3, [r7, #6] 8054368: 460b mov r3, r1 805436a: 80bb strh r3, [r7, #4] BSP_LCD_SetFont(&Font15); 805436c: 4806 ldr r0, [pc, #24] ; (8054388 ) 805436e: f7ff fa59 bl 8053824 BSP_LCD_DisplayStringAt(X, Y, ptr, RIGHT_MODE); 8054372: 88b9 ldrh r1, [r7, #4] 8054374: 88f8 ldrh r0, [r7, #6] 8054376: 2302 movs r3, #2 8054378: 683a ldr r2, [r7, #0] 805437a: f7ff fadd bl 8053938 { LCD_DisplayChar(Y, refcolumn, *ptr); refcolumn -= 12; ptr++; }*/ } 805437e: bf00 nop 8054380: 3708 adds r7, #8 8054382: 46bd mov sp, r7 8054384: bd80 pop {r7, pc} 8054386: bf00 nop 8054388: 20020040 .word 0x20020040 0805438c : * @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) { 805438c: b580 push {r7, lr} 805438e: b088 sub sp, #32 8054390: af00 add r7, sp, #0 8054392: 4603 mov r3, r0 8054394: 603a str r2, [r7, #0] 8054396: 80fb strh r3, [r7, #6] 8054398: 460b mov r3, r1 805439a: 80bb strh r3, [r7, #4] uint32_t i = 0, j = 0; 805439c: 2300 movs r3, #0 805439e: 61fb str r3, [r7, #28] 80543a0: 2300 movs r3, #0 80543a2: 61bb str r3, [r7, #24] uint8_t offset; uint8_t *pchar; uint32_t line; //uint16_t b; height = DrawProp[ActiveLayer].pFont->Height; 80543a4: 4b53 ldr r3, [pc, #332] ; (80544f4 ) 80543a6: 681a ldr r2, [r3, #0] 80543a8: 4953 ldr r1, [pc, #332] ; (80544f8 ) 80543aa: 4613 mov r3, r2 80543ac: 005b lsls r3, r3, #1 80543ae: 4413 add r3, r2 80543b0: 009b lsls r3, r3, #2 80543b2: 440b add r3, r1 80543b4: 3308 adds r3, #8 80543b6: 681b ldr r3, [r3, #0] 80543b8: 88db ldrh r3, [r3, #6] 80543ba: 827b strh r3, [r7, #18] width = DrawProp[ActiveLayer].pFont->Width; 80543bc: 4b4d ldr r3, [pc, #308] ; (80544f4 ) 80543be: 681a ldr r2, [r3, #0] 80543c0: 494d ldr r1, [pc, #308] ; (80544f8 ) 80543c2: 4613 mov r3, r2 80543c4: 005b lsls r3, r3, #1 80543c6: 4413 add r3, r2 80543c8: 009b lsls r3, r3, #2 80543ca: 440b add r3, r1 80543cc: 3308 adds r3, #8 80543ce: 681b ldr r3, [r3, #0] 80543d0: 889b ldrh r3, [r3, #4] 80543d2: 823b strh r3, [r7, #16] offset = 8 *((width + 7)/8) - width ; 80543d4: 8a3b ldrh r3, [r7, #16] 80543d6: 3307 adds r3, #7 80543d8: 2b00 cmp r3, #0 80543da: da00 bge.n 80543de 80543dc: 3307 adds r3, #7 80543de: 10db asrs r3, r3, #3 80543e0: b2db uxtb r3, r3 80543e2: 00db lsls r3, r3, #3 80543e4: b2da uxtb r2, r3 80543e6: 8a3b ldrh r3, [r7, #16] 80543e8: b2db uxtb r3, r3 80543ea: 1ad3 subs r3, r2, r3 80543ec: 73fb strb r3, [r7, #15] for(i = 0; i < height; i++) 80543ee: 2300 movs r3, #0 80543f0: 61fb str r3, [r7, #28] 80543f2: e076 b.n 80544e2 { pchar = ((uint8_t *)c + (width + 7)/8 * i); 80543f4: 8a3b ldrh r3, [r7, #16] 80543f6: 3307 adds r3, #7 80543f8: 2b00 cmp r3, #0 80543fa: da00 bge.n 80543fe 80543fc: 3307 adds r3, #7 80543fe: 10db asrs r3, r3, #3 8054400: 461a mov r2, r3 8054402: 69fb ldr r3, [r7, #28] 8054404: fb03 f302 mul.w r3, r3, r2 8054408: 683a ldr r2, [r7, #0] 805440a: 4413 add r3, r2 805440c: 60bb str r3, [r7, #8] switch(((width + 7)/8)) 805440e: 8a3b ldrh r3, [r7, #16] 8054410: 3307 adds r3, #7 8054412: 2b00 cmp r3, #0 8054414: da00 bge.n 8054418 8054416: 3307 adds r3, #7 8054418: 10db asrs r3, r3, #3 805441a: 2b01 cmp r3, #1 805441c: d002 beq.n 8054424 805441e: 2b02 cmp r3, #2 8054420: d004 beq.n 805442c 8054422: e00c b.n 805443e { case 1: line = pchar[0]; 8054424: 68bb ldr r3, [r7, #8] 8054426: 781b ldrb r3, [r3, #0] 8054428: 617b str r3, [r7, #20] break; 805442a: e016 b.n 805445a case 2: line = (pchar[0]<< 8) | pchar[1]; 805442c: 68bb ldr r3, [r7, #8] 805442e: 781b ldrb r3, [r3, #0] 8054430: 021b lsls r3, r3, #8 8054432: 68ba ldr r2, [r7, #8] 8054434: 3201 adds r2, #1 8054436: 7812 ldrb r2, [r2, #0] 8054438: 4313 orrs r3, r2 805443a: 617b str r3, [r7, #20] break; 805443c: e00d b.n 805445a case 3: default: line = (pchar[0]<< 16) | (pchar[1]<< 8) | pchar[2]; 805443e: 68bb ldr r3, [r7, #8] 8054440: 781b ldrb r3, [r3, #0] 8054442: 041a lsls r2, r3, #16 8054444: 68bb ldr r3, [r7, #8] 8054446: 3301 adds r3, #1 8054448: 781b ldrb r3, [r3, #0] 805444a: 021b lsls r3, r3, #8 805444c: 4313 orrs r3, r2 805444e: 68ba ldr r2, [r7, #8] 8054450: 3202 adds r2, #2 8054452: 7812 ldrb r2, [r2, #0] 8054454: 4313 orrs r3, r2 8054456: 617b str r3, [r7, #20] break; 8054458: bf00 nop } for (j = 0; j < width; j++) 805445a: 2300 movs r3, #0 805445c: 61bb str r3, [r7, #24] 805445e: e036 b.n 80544ce { if(line & (1 << (width- j + offset- 1))) 8054460: 8a3a ldrh r2, [r7, #16] 8054462: 69bb ldr r3, [r7, #24] 8054464: 1ad2 subs r2, r2, r3 8054466: 7bfb ldrb r3, [r7, #15] 8054468: 4413 add r3, r2 805446a: 3b01 subs r3, #1 805446c: 2201 movs r2, #1 805446e: fa02 f303 lsl.w r3, r2, r3 8054472: 461a mov r2, r3 8054474: 697b ldr r3, [r7, #20] 8054476: 4013 ands r3, r2 8054478: 2b00 cmp r3, #0 805447a: d012 beq.n 80544a2 { BSP_LCD_DrawPixel((Xpos + j), Ypos, DrawProp[ActiveLayer].TextColor); 805447c: 69bb ldr r3, [r7, #24] 805447e: b29a uxth r2, r3 8054480: 88fb ldrh r3, [r7, #6] 8054482: 4413 add r3, r2 8054484: b298 uxth r0, r3 8054486: 4b1b ldr r3, [pc, #108] ; (80544f4 ) 8054488: 681a ldr r2, [r3, #0] 805448a: 491b ldr r1, [pc, #108] ; (80544f8 ) 805448c: 4613 mov r3, r2 805448e: 005b lsls r3, r3, #1 8054490: 4413 add r3, r2 8054492: 009b lsls r3, r3, #2 8054494: 440b add r3, r1 8054496: 681a ldr r2, [r3, #0] 8054498: 88bb ldrh r3, [r7, #4] 805449a: 4619 mov r1, r3 805449c: f7ff fdb0 bl 8054000 80544a0: e012 b.n 80544c8 } else { BSP_LCD_DrawPixel((Xpos + j), Ypos, DrawProp[ActiveLayer].BackColor); 80544a2: 69bb ldr r3, [r7, #24] 80544a4: b29a uxth r2, r3 80544a6: 88fb ldrh r3, [r7, #6] 80544a8: 4413 add r3, r2 80544aa: b298 uxth r0, r3 80544ac: 4b11 ldr r3, [pc, #68] ; (80544f4 ) 80544ae: 681a ldr r2, [r3, #0] 80544b0: 4911 ldr r1, [pc, #68] ; (80544f8 ) 80544b2: 4613 mov r3, r2 80544b4: 005b lsls r3, r3, #1 80544b6: 4413 add r3, r2 80544b8: 009b lsls r3, r3, #2 80544ba: 440b add r3, r1 80544bc: 3304 adds r3, #4 80544be: 681a ldr r2, [r3, #0] 80544c0: 88bb ldrh r3, [r7, #4] 80544c2: 4619 mov r1, r3 80544c4: f7ff fd9c bl 8054000 for (j = 0; j < width; j++) 80544c8: 69bb ldr r3, [r7, #24] 80544ca: 3301 adds r3, #1 80544cc: 61bb str r3, [r7, #24] 80544ce: 8a3a ldrh r2, [r7, #16] 80544d0: 69bb ldr r3, [r7, #24] 80544d2: 429a cmp r2, r3 80544d4: d8c4 bhi.n 8054460 } } Ypos++; 80544d6: 88bb ldrh r3, [r7, #4] 80544d8: 3301 adds r3, #1 80544da: 80bb strh r3, [r7, #4] for(i = 0; i < height; i++) 80544dc: 69fb ldr r3, [r7, #28] 80544de: 3301 adds r3, #1 80544e0: 61fb str r3, [r7, #28] 80544e2: 8a7a ldrh r2, [r7, #18] 80544e4: 69fb ldr r3, [r7, #28] 80544e6: 429a cmp r2, r3 80544e8: d884 bhi.n 80543f4 } } 80544ea: bf00 nop 80544ec: 3720 adds r7, #32 80544ee: 46bd mov sp, r7 80544f0: bd80 pop {r7, pc} 80544f2: bf00 nop 80544f4: 20020078 .word 0x20020078 80544f8: 20020fe4 .word 0x20020fe4 080544fc : * @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) { 80544fc: b580 push {r7, lr} 80544fe: b086 sub sp, #24 8054500: af02 add r7, sp, #8 8054502: 60f8 str r0, [r7, #12] 8054504: 60b9 str r1, [r7, #8] 8054506: 607a str r2, [r7, #4] 8054508: 603b str r3, [r7, #0] /* Register to memory mode with ARGB8888 as color Mode */ hDma2dHandler.Init.Mode = DMA2D_R2M; 805450a: 4b1e ldr r3, [pc, #120] ; (8054584 ) 805450c: f44f 3240 mov.w r2, #196608 ; 0x30000 8054510: 605a str r2, [r3, #4] if(hLtdcHandler.LayerCfg[ActiveLayer].PixelFormat == LTDC_PIXEL_FORMAT_RGB565) 8054512: 4b1d ldr r3, [pc, #116] ; (8054588 ) 8054514: 681b ldr r3, [r3, #0] 8054516: 4a1d ldr r2, [pc, #116] ; (805458c ) 8054518: 2134 movs r1, #52 ; 0x34 805451a: fb01 f303 mul.w r3, r1, r3 805451e: 4413 add r3, r2 8054520: 3348 adds r3, #72 ; 0x48 8054522: 681b ldr r3, [r3, #0] 8054524: 2b02 cmp r3, #2 8054526: d103 bne.n 8054530 hDma2dHandler.Init.ColorMode = DMA2D_RGB565; 8054528: 4b16 ldr r3, [pc, #88] ; (8054584 ) 805452a: 2202 movs r2, #2 805452c: 609a str r2, [r3, #8] 805452e: e002 b.n 8054536 else hDma2dHandler.Init.ColorMode = DMA2D_ARGB8888; 8054530: 4b14 ldr r3, [pc, #80] ; (8054584 ) 8054532: 2200 movs r2, #0 8054534: 609a str r2, [r3, #8] hDma2dHandler.Init.OutputOffset = OffLine; 8054536: 4a13 ldr r2, [pc, #76] ; (8054584 ) 8054538: 69bb ldr r3, [r7, #24] 805453a: 60d3 str r3, [r2, #12] hDma2dHandler.Instance = DMA2D; 805453c: 4b11 ldr r3, [pc, #68] ; (8054584 ) 805453e: 4a14 ldr r2, [pc, #80] ; (8054590 ) 8054540: 601a str r2, [r3, #0] if(HAL_DMA2D_Init(&hDma2dHandler) == HAL_OK) 8054542: 4810 ldr r0, [pc, #64] ; (8054584 ) 8054544: f060 fb10 bl 80b4b68 8054548: 4603 mov r3, r0 805454a: 2b00 cmp r3, #0 805454c: d115 bne.n 805457a { if(HAL_DMA2D_ConfigLayer(&hDma2dHandler, LayerIndex) == HAL_OK) 805454e: 68f9 ldr r1, [r7, #12] 8054550: 480c ldr r0, [pc, #48] ; (8054584 ) 8054552: f060 fc77 bl 80b4e44 8054556: 4603 mov r3, r0 8054558: 2b00 cmp r3, #0 805455a: d10e bne.n 805457a { if (HAL_DMA2D_Start(&hDma2dHandler, ColorIndex, (uint32_t)pDst, xSize, ySize) == HAL_OK) 805455c: 68ba ldr r2, [r7, #8] 805455e: 683b ldr r3, [r7, #0] 8054560: 9300 str r3, [sp, #0] 8054562: 687b ldr r3, [r7, #4] 8054564: 69f9 ldr r1, [r7, #28] 8054566: 4807 ldr r0, [pc, #28] ; (8054584 ) 8054568: f060 fb58 bl 80b4c1c 805456c: 4603 mov r3, r0 805456e: 2b00 cmp r3, #0 8054570: d103 bne.n 805457a { HAL_DMA2D_PollForTransfer(&hDma2dHandler, 30); 8054572: 211e movs r1, #30 8054574: 4803 ldr r0, [pc, #12] ; (8054584 ) 8054576: f060 fb7c bl 80b4c72 } } } } 805457a: bf00 nop 805457c: 3710 adds r7, #16 805457e: 46bd mov sp, r7 8054580: bd80 pop {r7, pc} 8054582: bf00 nop 8054584: 20020f8c .word 0x20020f8c 8054588: 20020078 .word 0x20020078 805458c: 20025d28 .word 0x20025d28 8054590: 4002b000 .word 0x4002b000 08054594 : } } void DrawImage(const GUI_BITMAP * pBM, uint16_t x0, uint16_t y0) { 8054594: b580 push {r7, lr} 8054596: b088 sub sp, #32 8054598: af02 add r7, sp, #8 805459a: 6078 str r0, [r7, #4] 805459c: 460b mov r3, r1 805459e: 807b strh r3, [r7, #2] 80545a0: 4613 mov r3, r2 80545a2: 803b strh r3, [r7, #0] //HAL_StatusTypeDef hal_status = HAL_OK; uint32_t Xaddress = 0; 80545a4: 2300 movs r3, #0 80545a6: 617b str r3, [r7, #20] uint8_t * p; uint16_t xSize = pBM->XSize; 80545a8: 687b ldr r3, [r7, #4] 80545aa: 881b ldrh r3, [r3, #0] 80545ac: 827b strh r3, [r7, #18] uint16_t ySize = pBM->YSize; 80545ae: 687b ldr r3, [r7, #4] 80545b0: 885b ldrh r3, [r3, #2] 80545b2: 823b strh r3, [r7, #16] //uint16_t BytesPerLine = pBM->BytesPerLine; p = (uint8_t *) pBM->pData; 80545b4: 687b ldr r3, [r7, #4] 80545b6: 689b ldr r3, [r3, #8] 80545b8: 60fb str r3, [r7, #12] Xaddress = hLtdcHandler.LayerCfg[ActiveLayer].FBStartAdress + ((320 * y0 + x0) << 1); 80545ba: 4b3a ldr r3, [pc, #232] ; (80546a4 ) 80545bc: 681b ldr r3, [r3, #0] 80545be: 4a3a ldr r2, [pc, #232] ; (80546a8 ) 80545c0: 2134 movs r1, #52 ; 0x34 80545c2: fb01 f303 mul.w r3, r1, r3 80545c6: 4413 add r3, r2 80545c8: 335c adds r3, #92 ; 0x5c 80545ca: 6819 ldr r1, [r3, #0] 80545cc: 883a ldrh r2, [r7, #0] 80545ce: 4613 mov r3, r2 80545d0: 009b lsls r3, r3, #2 80545d2: 4413 add r3, r2 80545d4: 019b lsls r3, r3, #6 80545d6: 461a mov r2, r3 80545d8: 887b ldrh r3, [r7, #2] 80545da: 4413 add r3, r2 80545dc: 005b lsls r3, r3, #1 80545de: 440b add r3, r1 80545e0: 617b str r3, [r7, #20] hDma2dHandler.Init.Mode = DMA2D_M2M; 80545e2: 4b32 ldr r3, [pc, #200] ; (80546ac ) 80545e4: 2200 movs r2, #0 80545e6: 605a str r2, [r3, #4] hDma2dHandler.Init.ColorMode = DMA2D_RGB565; 80545e8: 4b30 ldr r3, [pc, #192] ; (80546ac ) 80545ea: 2202 movs r2, #2 80545ec: 609a str r2, [r3, #8] hDma2dHandler.Init.OutputOffset = 320 - xSize; 80545ee: 8a7b ldrh r3, [r7, #18] 80545f0: f5c3 73a0 rsb r3, r3, #320 ; 0x140 80545f4: 461a mov r2, r3 80545f6: 4b2d ldr r3, [pc, #180] ; (80546ac ) 80545f8: 60da str r2, [r3, #12] /* DMA2D Callbacks Configuration */ hDma2dHandler.XferCpltCallback = TransferComplete; 80545fa: 4b2c ldr r3, [pc, #176] ; (80546ac ) 80545fc: 4a2c ldr r2, [pc, #176] ; (80546b0 ) 80545fe: 619a str r2, [r3, #24] hDma2dHandler.XferErrorCallback = TransferError; 8054600: 4b2a ldr r3, [pc, #168] ; (80546ac ) 8054602: 4a2c ldr r2, [pc, #176] ; (80546b4 ) 8054604: 61da str r2, [r3, #28] /* Foreground layer Configuration : layer 1 */ hDma2dHandler.LayerCfg[ActiveLayer].AlphaMode = DMA2D_NO_MODIF_ALPHA; 8054606: 4b27 ldr r3, [pc, #156] ; (80546a4 ) 8054608: 681a ldr r2, [r3, #0] 805460a: 4928 ldr r1, [pc, #160] ; (80546ac ) 805460c: 4613 mov r3, r2 805460e: 005b lsls r3, r3, #1 8054610: 4413 add r3, r2 8054612: 00db lsls r3, r3, #3 8054614: 440b add r3, r1 8054616: 3328 adds r3, #40 ; 0x28 8054618: 2200 movs r2, #0 805461a: 601a str r2, [r3, #0] hDma2dHandler.LayerCfg[ActiveLayer].InputAlpha = 255; /* Alpha fully opaque */ 805461c: 4b21 ldr r3, [pc, #132] ; (80546a4 ) 805461e: 681a ldr r2, [r3, #0] 8054620: 4922 ldr r1, [pc, #136] ; (80546ac ) 8054622: 4613 mov r3, r2 8054624: 005b lsls r3, r3, #1 8054626: 4413 add r3, r2 8054628: 00db lsls r3, r3, #3 805462a: 440b add r3, r1 805462c: 332c adds r3, #44 ; 0x2c 805462e: 22ff movs r2, #255 ; 0xff 8054630: 601a str r2, [r3, #0] hDma2dHandler.LayerCfg[ActiveLayer].InputColorMode = DMA2D_INPUT_RGB565; /* Layer 1 input format is ARGB8888 (32 bpp) */ 8054632: 4b1c ldr r3, [pc, #112] ; (80546a4 ) 8054634: 681a ldr r2, [r3, #0] 8054636: 491d ldr r1, [pc, #116] ; (80546ac ) 8054638: 4613 mov r3, r2 805463a: 005b lsls r3, r3, #1 805463c: 4413 add r3, r2 805463e: 00db lsls r3, r3, #3 8054640: 440b add r3, r1 8054642: 3324 adds r3, #36 ; 0x24 8054644: 2202 movs r2, #2 8054646: 601a str r2, [r3, #0] hDma2dHandler.LayerCfg[ActiveLayer].InputOffset = 0; /* No offset in input */ 8054648: 4b16 ldr r3, [pc, #88] ; (80546a4 ) 805464a: 681a ldr r2, [r3, #0] 805464c: 4917 ldr r1, [pc, #92] ; (80546ac ) 805464e: 4613 mov r3, r2 8054650: 005b lsls r3, r3, #1 8054652: 4413 add r3, r2 8054654: 00db lsls r3, r3, #3 8054656: 440b add r3, r1 8054658: 3320 adds r3, #32 805465a: 2200 movs r2, #0 805465c: 601a str r2, [r3, #0] hDma2dHandler.Instance = DMA2D; 805465e: 4b13 ldr r3, [pc, #76] ; (80546ac ) 8054660: 4a15 ldr r2, [pc, #84] ; (80546b8 ) 8054662: 601a str r2, [r3, #0] /* DMA2D Initialization */ HAL_DMA2D_Init(&hDma2dHandler); 8054664: 4811 ldr r0, [pc, #68] ; (80546ac ) 8054666: f060 fa7f bl 80b4b68 HAL_DMA2D_ConfigLayer(&hDma2dHandler, ActiveLayer); 805466a: 4b0e ldr r3, [pc, #56] ; (80546a4 ) 805466c: 681b ldr r3, [r3, #0] 805466e: 4619 mov r1, r3 8054670: 480e ldr r0, [pc, #56] ; (80546ac ) 8054672: f060 fbe7 bl 80b4e44 DMA2D_TransferOk = 0; 8054676: 4b11 ldr r3, [pc, #68] ; (80546bc ) 8054678: 2200 movs r2, #0 805467a: 601a str r2, [r3, #0] HAL_DMA2D_Start(&hDma2dHandler, (uint32_t) p, Xaddress, xSize, ySize); 805467c: 68f9 ldr r1, [r7, #12] 805467e: 8a7a ldrh r2, [r7, #18] 8054680: 8a3b ldrh r3, [r7, #16] 8054682: 9300 str r3, [sp, #0] 8054684: 4613 mov r3, r2 8054686: 697a ldr r2, [r7, #20] 8054688: 4808 ldr r0, [pc, #32] ; (80546ac ) 805468a: f060 fac7 bl 80b4c1c HAL_DMA2D_PollForTransfer(&hDma2dHandler, 30); 805468e: 211e movs r1, #30 8054690: 4806 ldr r0, [pc, #24] ; (80546ac ) 8054692: f060 faee bl 80b4c72 SCB_CleanInvalidateDCache(); 8054696: f7fe fd7f bl 8053198 } 805469a: bf00 nop 805469c: 3718 adds r7, #24 805469e: 46bd mov sp, r7 80546a0: bd80 pop {r7, pc} 80546a2: bf00 nop 80546a4: 20020078 .word 0x20020078 80546a8: 20025d28 .word 0x20025d28 80546ac: 20020f8c .word 0x20020f8c 80546b0: 080546c1 .word 0x080546c1 80546b4: 080546e1 .word 0x080546e1 80546b8: 4002b000 .word 0x4002b000 80546bc: 2002007c .word 0x2002007c 080546c0 : static void TransferComplete(DMA2D_HandleTypeDef *hdma2d) { 80546c0: b480 push {r7} 80546c2: b083 sub sp, #12 80546c4: af00 add r7, sp, #0 80546c6: 6078 str r0, [r7, #4] DMA2D_TransferOk = 1; 80546c8: 4b04 ldr r3, [pc, #16] ; (80546dc ) 80546ca: 2201 movs r2, #1 80546cc: 601a str r2, [r3, #0] } 80546ce: bf00 nop 80546d0: 370c adds r7, #12 80546d2: 46bd mov sp, r7 80546d4: f85d 7b04 ldr.w r7, [sp], #4 80546d8: 4770 bx lr 80546da: bf00 nop 80546dc: 2002007c .word 0x2002007c 080546e0 : static void TransferError(DMA2D_HandleTypeDef *hdma2d) { 80546e0: b480 push {r7} 80546e2: b083 sub sp, #12 80546e4: af00 add r7, sp, #0 80546e6: 6078 str r0, [r7, #4] } 80546e8: bf00 nop 80546ea: 370c adds r7, #12 80546ec: 46bd mov sp, r7 80546ee: f85d 7b04 ldr.w r7, [sp], #4 80546f2: 4770 bx lr 080546f4 : void LCD_Refresh(void) { 80546f4: b580 push {r7, lr} 80546f6: af00 add r7, sp, #0 ActiveLayer ^= 1; 80546f8: 4b0e ldr r3, [pc, #56] ; (8054734 ) 80546fa: 681b ldr r3, [r3, #0] 80546fc: f083 0301 eor.w r3, r3, #1 8054700: 4a0c ldr r2, [pc, #48] ; (8054734 ) 8054702: 6013 str r3, [r2, #0] RenderingLayer ^= 1; 8054704: 4b0c ldr r3, [pc, #48] ; (8054738 ) 8054706: 681b ldr r3, [r3, #0] 8054708: f083 0301 eor.w r3, r3, #1 805470c: 4a0a ldr r2, [pc, #40] ; (8054738 ) 805470e: 6013 str r3, [r2, #0] BSP_LCD_SetLayerVisible_NoReload(ActiveLayer, DISABLE); 8054710: 4b08 ldr r3, [pc, #32] ; (8054734 ) 8054712: 681b ldr r3, [r3, #0] 8054714: 2100 movs r1, #0 8054716: 4618 mov r0, r3 8054718: f7ff f810 bl 805373c BSP_LCD_SetLayerVisible_NoReload(RenderingLayer, ENABLE); 805471c: 4b06 ldr r3, [pc, #24] ; (8054738 ) 805471e: 681b ldr r3, [r3, #0] 8054720: 2101 movs r1, #1 8054722: 4618 mov r0, r3 8054724: f7ff f80a bl 805373c HAL_LTDC_Reload(&hLtdcHandler, LTDC_RELOAD_IMMEDIATE); 8054728: 2101 movs r1, #1 805472a: 4804 ldr r0, [pc, #16] ; (805473c ) 805472c: f061 fc70 bl 80b6010 //BSP_LCD_Reload(LCD_RELOAD_VERTICAL_BLANKING); } 8054730: bf00 nop 8054732: bd80 pop {r7, pc} 8054734: 20020078 .word 0x20020078 8054738: 20020ffc .word 0x20020ffc 805473c: 20025d28 .word 0x20025d28 08054740 : void HAL_LTDC_LineEventCallback(LTDC_HandleTypeDef *hltdc) { 8054740: b580 push {r7, lr} 8054742: b082 sub sp, #8 8054744: af00 add r7, sp, #0 8054746: 6078 str r0, [r7, #4] if(RefreshScreen) 8054748: 4b06 ldr r3, [pc, #24] ; (8054764 ) 805474a: 781b ldrb r3, [r3, #0] 805474c: b2db uxtb r3, r3 805474e: 2b00 cmp r3, #0 8054750: d004 beq.n 805475c { LCD_Refresh(); 8054752: f7ff ffcf bl 80546f4 RefreshScreen = false; 8054756: 4b03 ldr r3, [pc, #12] ; (8054764 ) 8054758: 2200 movs r2, #0 805475a: 701a strb r2, [r3, #0] } } 805475c: bf00 nop 805475e: 3708 adds r7, #8 8054760: 46bd mov sp, r7 8054762: bd80 pop {r7, pc} 8054764: 20021000 .word 0x20021000 08054768 : { 8054768: b480 push {r7} 805476a: af00 add r7, sp, #0 __ASM volatile ("dsb 0xF":::"memory"); 805476c: f3bf 8f4f dsb sy __ASM volatile ("isb 0xF":::"memory"); 8054770: f3bf 8f6f isb sy SCB->ICIALLU = 0UL; /* invalidate I-Cache */ 8054774: 4b0b ldr r3, [pc, #44] ; (80547a4 ) 8054776: 2200 movs r2, #0 8054778: f8c3 2250 str.w r2, [r3, #592] ; 0x250 __ASM volatile ("dsb 0xF":::"memory"); 805477c: f3bf 8f4f dsb sy __ASM volatile ("isb 0xF":::"memory"); 8054780: f3bf 8f6f isb sy SCB->CCR |= (uint32_t)SCB_CCR_IC_Msk; /* enable I-Cache */ 8054784: 4a07 ldr r2, [pc, #28] ; (80547a4 ) 8054786: 4b07 ldr r3, [pc, #28] ; (80547a4 ) 8054788: 695b ldr r3, [r3, #20] 805478a: f443 3300 orr.w r3, r3, #131072 ; 0x20000 805478e: 6153 str r3, [r2, #20] __ASM volatile ("dsb 0xF":::"memory"); 8054790: f3bf 8f4f dsb sy __ASM volatile ("isb 0xF":::"memory"); 8054794: f3bf 8f6f isb sy } 8054798: bf00 nop 805479a: 46bd mov sp, r7 805479c: f85d 7b04 ldr.w r7, [sp], #4 80547a0: 4770 bx lr 80547a2: bf00 nop 80547a4: e000ed00 .word 0xe000ed00 080547a8 : { 80547a8: b480 push {r7} 80547aa: b085 sub sp, #20 80547ac: af00 add r7, sp, #0 SCB->CSSELR = 0U; /*(0U << 1U) | 0U;*/ /* Level 1 data cache */ 80547ae: 4b1d ldr r3, [pc, #116] ; (8054824 ) 80547b0: 2200 movs r2, #0 80547b2: f8c3 2084 str.w r2, [r3, #132] ; 0x84 __ASM volatile ("dsb 0xF":::"memory"); 80547b6: f3bf 8f4f dsb sy ccsidr = SCB->CCSIDR; 80547ba: 4b1a ldr r3, [pc, #104] ; (8054824 ) 80547bc: f8d3 3080 ldr.w r3, [r3, #128] ; 0x80 80547c0: 607b str r3, [r7, #4] sets = (uint32_t)(CCSIDR_SETS(ccsidr)); 80547c2: 687b ldr r3, [r7, #4] 80547c4: 0b5b lsrs r3, r3, #13 80547c6: f3c3 030e ubfx r3, r3, #0, #15 80547ca: 60fb str r3, [r7, #12] ways = (uint32_t)(CCSIDR_WAYS(ccsidr)); 80547cc: 687b ldr r3, [r7, #4] 80547ce: 08db lsrs r3, r3, #3 80547d0: f3c3 0309 ubfx r3, r3, #0, #10 80547d4: 60bb str r3, [r7, #8] SCB->DCISW = (((sets << SCB_DCISW_SET_Pos) & SCB_DCISW_SET_Msk) | 80547d6: 4913 ldr r1, [pc, #76] ; (8054824 ) 80547d8: 68fb ldr r3, [r7, #12] 80547da: 015a lsls r2, r3, #5 80547dc: f643 73e0 movw r3, #16352 ; 0x3fe0 80547e0: 4013 ands r3, r2 ((ways << SCB_DCISW_WAY_Pos) & SCB_DCISW_WAY_Msk) ); 80547e2: 68ba ldr r2, [r7, #8] 80547e4: 0792 lsls r2, r2, #30 SCB->DCISW = (((sets << SCB_DCISW_SET_Pos) & SCB_DCISW_SET_Msk) | 80547e6: 4313 orrs r3, r2 80547e8: f8c1 3260 str.w r3, [r1, #608] ; 0x260 } while (ways-- != 0U); 80547ec: 68bb ldr r3, [r7, #8] 80547ee: 1e5a subs r2, r3, #1 80547f0: 60ba str r2, [r7, #8] 80547f2: 2b00 cmp r3, #0 80547f4: d1ef bne.n 80547d6 } while(sets-- != 0U); 80547f6: 68fb ldr r3, [r7, #12] 80547f8: 1e5a subs r2, r3, #1 80547fa: 60fa str r2, [r7, #12] 80547fc: 2b00 cmp r3, #0 80547fe: d1e5 bne.n 80547cc 8054800: f3bf 8f4f dsb sy SCB->CCR |= (uint32_t)SCB_CCR_DC_Msk; /* enable D-Cache */ 8054804: 4a07 ldr r2, [pc, #28] ; (8054824 ) 8054806: 4b07 ldr r3, [pc, #28] ; (8054824 ) 8054808: 695b ldr r3, [r3, #20] 805480a: f443 3380 orr.w r3, r3, #65536 ; 0x10000 805480e: 6153 str r3, [r2, #20] 8054810: f3bf 8f4f dsb sy __ASM volatile ("isb 0xF":::"memory"); 8054814: f3bf 8f6f isb sy } 8054818: bf00 nop 805481a: 3714 adds r7, #20 805481c: 46bd mov sp, r7 805481e: f85d 7b04 ldr.w r7, [sp], #4 8054822: 4770 bx lr 8054824: e000ed00 .word 0xe000ed00 08054828 : { 8054828: b480 push {r7} 805482a: b085 sub sp, #20 805482c: af00 add r7, sp, #0 SCB->CSSELR = 0U; /*(0U << 1U) | 0U;*/ /* Level 1 data cache */ 805482e: 4b19 ldr r3, [pc, #100] ; (8054894 ) 8054830: 2200 movs r2, #0 8054832: f8c3 2084 str.w r2, [r3, #132] ; 0x84 __ASM volatile ("dsb 0xF":::"memory"); 8054836: f3bf 8f4f dsb sy ccsidr = SCB->CCSIDR; 805483a: 4b16 ldr r3, [pc, #88] ; (8054894 ) 805483c: f8d3 3080 ldr.w r3, [r3, #128] ; 0x80 8054840: 607b str r3, [r7, #4] sets = (uint32_t)(CCSIDR_SETS(ccsidr)); 8054842: 687b ldr r3, [r7, #4] 8054844: 0b5b lsrs r3, r3, #13 8054846: f3c3 030e ubfx r3, r3, #0, #15 805484a: 60fb str r3, [r7, #12] ways = (uint32_t)(CCSIDR_WAYS(ccsidr)); 805484c: 687b ldr r3, [r7, #4] 805484e: 08db lsrs r3, r3, #3 8054850: f3c3 0309 ubfx r3, r3, #0, #10 8054854: 60bb str r3, [r7, #8] SCB->DCCISW = (((sets << SCB_DCCISW_SET_Pos) & SCB_DCCISW_SET_Msk) | 8054856: 490f ldr r1, [pc, #60] ; (8054894 ) 8054858: 68fb ldr r3, [r7, #12] 805485a: 015a lsls r2, r3, #5 805485c: f643 73e0 movw r3, #16352 ; 0x3fe0 8054860: 4013 ands r3, r2 ((ways << SCB_DCCISW_WAY_Pos) & SCB_DCCISW_WAY_Msk) ); 8054862: 68ba ldr r2, [r7, #8] 8054864: 0792 lsls r2, r2, #30 SCB->DCCISW = (((sets << SCB_DCCISW_SET_Pos) & SCB_DCCISW_SET_Msk) | 8054866: 4313 orrs r3, r2 8054868: f8c1 3274 str.w r3, [r1, #628] ; 0x274 } while (ways-- != 0U); 805486c: 68bb ldr r3, [r7, #8] 805486e: 1e5a subs r2, r3, #1 8054870: 60ba str r2, [r7, #8] 8054872: 2b00 cmp r3, #0 8054874: d1ef bne.n 8054856 } while(sets-- != 0U); 8054876: 68fb ldr r3, [r7, #12] 8054878: 1e5a subs r2, r3, #1 805487a: 60fa str r2, [r7, #12] 805487c: 2b00 cmp r3, #0 805487e: d1e5 bne.n 805484c 8054880: f3bf 8f4f dsb sy __ASM volatile ("isb 0xF":::"memory"); 8054884: f3bf 8f6f isb sy } 8054888: bf00 nop 805488a: 3714 adds r7, #20 805488c: 46bd mov sp, r7 805488e: f85d 7b04 ldr.w r7, [sp], #4 8054892: 4770 bx lr 8054894: e000ed00 .word 0xe000ed00 08054898 : #define CLOCK_LSE (1) //#define CLOCK_LSI (1) static void MPU_Config(void) { 8054898: b580 push {r7, lr} 805489a: b084 sub sp, #16 805489c: af00 add r7, sp, #0 MPU_Region_InitTypeDef MPU_InitStruct; HAL_MPU_Disable(); 805489e: f05f fc6b bl 80b4178 //***************************************************************** MPU_InitStruct.Number = MPU_REGION_NUMBER0; 80548a2: 2300 movs r3, #0 80548a4: 707b strb r3, [r7, #1] MPU_InitStruct.BaseAddress = 0x20000000; 80548a6: f04f 5300 mov.w r3, #536870912 ; 0x20000000 80548aa: 607b str r3, [r7, #4] MPU_InitStruct.Size = MPU_REGION_SIZE_512KB; 80548ac: 2312 movs r3, #18 80548ae: 723b strb r3, [r7, #8] MPU_InitStruct.AccessPermission = MPU_REGION_FULL_ACCESS; 80548b0: 2303 movs r3, #3 80548b2: 72fb strb r3, [r7, #11] MPU_InitStruct.IsBufferable = MPU_ACCESS_BUFFERABLE; 80548b4: 2301 movs r3, #1 80548b6: 73fb strb r3, [r7, #15] MPU_InitStruct.IsCacheable = MPU_ACCESS_CACHEABLE; 80548b8: 2301 movs r3, #1 80548ba: 73bb strb r3, [r7, #14] MPU_InitStruct.IsShareable = MPU_ACCESS_NOT_SHAREABLE; 80548bc: 2300 movs r3, #0 80548be: 737b strb r3, [r7, #13] MPU_InitStruct.TypeExtField = MPU_TEX_LEVEL0; 80548c0: 2300 movs r3, #0 80548c2: 72bb strb r3, [r7, #10] MPU_InitStruct.DisableExec = MPU_INSTRUCTION_ACCESS_ENABLE; 80548c4: 2300 movs r3, #0 80548c6: 733b strb r3, [r7, #12] MPU_InitStruct.Enable = MPU_REGION_ENABLE; 80548c8: 2301 movs r3, #1 80548ca: 703b strb r3, [r7, #0] MPU_InitStruct.SubRegionDisable = 0x00; 80548cc: 2300 movs r3, #0 80548ce: 727b strb r3, [r7, #9] HAL_MPU_ConfigRegion(&MPU_InitStruct); 80548d0: 463b mov r3, r7 80548d2: 4618 mov r0, r3 80548d4: f05f fc84 bl 80b41e0 //***************************************************************** MPU_InitStruct.Number = MPU_REGION_NUMBER1; 80548d8: 2301 movs r3, #1 80548da: 707b strb r3, [r7, #1] MPU_InitStruct.BaseAddress = 0x20000000; 80548dc: f04f 5300 mov.w r3, #536870912 ; 0x20000000 80548e0: 607b str r3, [r7, #4] MPU_InitStruct.Size = MPU_REGION_SIZE_128KB; 80548e2: 2310 movs r3, #16 80548e4: 723b strb r3, [r7, #8] MPU_InitStruct.AccessPermission = MPU_REGION_FULL_ACCESS; 80548e6: 2303 movs r3, #3 80548e8: 72fb strb r3, [r7, #11] MPU_InitStruct.IsBufferable = MPU_ACCESS_NOT_BUFFERABLE; 80548ea: 2300 movs r3, #0 80548ec: 73fb strb r3, [r7, #15] MPU_InitStruct.IsCacheable = MPU_ACCESS_CACHEABLE; 80548ee: 2301 movs r3, #1 80548f0: 73bb strb r3, [r7, #14] MPU_InitStruct.IsShareable = MPU_ACCESS_SHAREABLE; 80548f2: 2301 movs r3, #1 80548f4: 737b strb r3, [r7, #13] MPU_InitStruct.TypeExtField = MPU_TEX_LEVEL0; 80548f6: 2300 movs r3, #0 80548f8: 72bb strb r3, [r7, #10] MPU_InitStruct.DisableExec = MPU_INSTRUCTION_ACCESS_ENABLE; 80548fa: 2300 movs r3, #0 80548fc: 733b strb r3, [r7, #12] MPU_InitStruct.Enable = MPU_REGION_ENABLE; 80548fe: 2301 movs r3, #1 8054900: 703b strb r3, [r7, #0] MPU_InitStruct.SubRegionDisable = 0x00; 8054902: 2300 movs r3, #0 8054904: 727b strb r3, [r7, #9] HAL_MPU_ConfigRegion(&MPU_InitStruct); 8054906: 463b mov r3, r7 8054908: 4618 mov r0, r3 805490a: f05f fc69 bl 80b41e0 //***************************************************************** MPU_InitStruct.Number = MPU_REGION_NUMBER2; 805490e: 2302 movs r3, #2 8054910: 707b strb r3, [r7, #1] MPU_InitStruct.BaseAddress = 0x2007C000; 8054912: 4b1d ldr r3, [pc, #116] ; (8054988 ) 8054914: 607b str r3, [r7, #4] MPU_InitStruct.Size = MPU_REGION_SIZE_16KB; 8054916: 230d movs r3, #13 8054918: 723b strb r3, [r7, #8] MPU_InitStruct.AccessPermission = MPU_REGION_FULL_ACCESS; 805491a: 2303 movs r3, #3 805491c: 72fb strb r3, [r7, #11] MPU_InitStruct.IsBufferable = MPU_ACCESS_NOT_BUFFERABLE; 805491e: 2300 movs r3, #0 8054920: 73fb strb r3, [r7, #15] MPU_InitStruct.IsCacheable = MPU_ACCESS_CACHEABLE; 8054922: 2301 movs r3, #1 8054924: 73bb strb r3, [r7, #14] MPU_InitStruct.IsShareable = MPU_ACCESS_NOT_SHAREABLE; 8054926: 2300 movs r3, #0 8054928: 737b strb r3, [r7, #13] MPU_InitStruct.TypeExtField = MPU_TEX_LEVEL0; 805492a: 2300 movs r3, #0 805492c: 72bb strb r3, [r7, #10] MPU_InitStruct.DisableExec = MPU_INSTRUCTION_ACCESS_ENABLE; 805492e: 2300 movs r3, #0 8054930: 733b strb r3, [r7, #12] MPU_InitStruct.Enable = MPU_REGION_ENABLE; 8054932: 2301 movs r3, #1 8054934: 703b strb r3, [r7, #0] MPU_InitStruct.SubRegionDisable = 0x00; 8054936: 2300 movs r3, #0 8054938: 727b strb r3, [r7, #9] HAL_MPU_ConfigRegion(&MPU_InitStruct); 805493a: 463b mov r3, r7 805493c: 4618 mov r0, r3 805493e: f05f fc4f bl 80b41e0 //***************************************************************** MPU_InitStruct.Number = MPU_REGION_NUMBER3; 8054942: 2303 movs r3, #3 8054944: 707b strb r3, [r7, #1] MPU_InitStruct.BaseAddress = 0x64000000; 8054946: f04f 43c8 mov.w r3, #1677721600 ; 0x64000000 805494a: 607b str r3, [r7, #4] MPU_InitStruct.Size = MPU_REGION_SIZE_2MB; 805494c: 2314 movs r3, #20 805494e: 723b strb r3, [r7, #8] MPU_InitStruct.AccessPermission = MPU_REGION_FULL_ACCESS; 8054950: 2303 movs r3, #3 8054952: 72fb strb r3, [r7, #11] MPU_InitStruct.IsBufferable = MPU_ACCESS_NOT_BUFFERABLE; 8054954: 2300 movs r3, #0 8054956: 73fb strb r3, [r7, #15] MPU_InitStruct.IsCacheable = MPU_ACCESS_CACHEABLE; 8054958: 2301 movs r3, #1 805495a: 73bb strb r3, [r7, #14] MPU_InitStruct.IsShareable = MPU_ACCESS_NOT_SHAREABLE; 805495c: 2300 movs r3, #0 805495e: 737b strb r3, [r7, #13] MPU_InitStruct.TypeExtField = MPU_TEX_LEVEL0; 8054960: 2300 movs r3, #0 8054962: 72bb strb r3, [r7, #10] MPU_InitStruct.DisableExec = MPU_INSTRUCTION_ACCESS_ENABLE; 8054964: 2300 movs r3, #0 8054966: 733b strb r3, [r7, #12] MPU_InitStruct.Enable = MPU_REGION_ENABLE; 8054968: 2301 movs r3, #1 805496a: 703b strb r3, [r7, #0] MPU_InitStruct.SubRegionDisable = 0x00; 805496c: 2300 movs r3, #0 805496e: 727b strb r3, [r7, #9] HAL_MPU_ConfigRegion(&MPU_InitStruct); 8054970: 463b mov r3, r7 8054972: 4618 mov r0, r3 8054974: f05f fc34 bl 80b41e0 //***************************************************************** HAL_MPU_Enable(MPU_PRIVILEGED_DEFAULT); 8054978: 2004 movs r0, #4 805497a: f05f fc13 bl 80b41a4 } 805497e: bf00 nop 8054980: 3710 adds r7, #16 8054982: 46bd mov sp, r7 8054984: bd80 pop {r7, pc} 8054986: bf00 nop 8054988: 2007c000 .word 0x2007c000 0805498c
: int main(void) { 805498c: b580 push {r7, lr} 805498e: b082 sub sp, #8 8054990: af00 add r7, sp, #0 uint32_t cnt = 0, i, j, k, l; 8054992: 2300 movs r3, #0 8054994: 607b str r3, [r7, #4] MPU_Config(); 8054996: f7ff ff7f bl 8054898 SCB_EnableICache(); 805499a: f7ff fee5 bl 8054768 SCB_EnableDCache(); 805499e: f7ff ff03 bl 80547a8 SCB->VTOR = (uint32_t) 0x08020000; 80549a2: 4b8c ldr r3, [pc, #560] ; (8054bd4 ) 80549a4: 4a8c ldr r2, [pc, #560] ; (8054bd8 ) 80549a6: 609a str r2, [r3, #8] __ASM volatile ("cpsie i" : : : "memory"); 80549a8: b662 cpsie i __enable_irq(); HAL_Init(); 80549aa: f05e fbe5 bl 80b3178 80549ae: b662 cpsie i __enable_irq(); //HAL_Delay(250); SystemClock_Config(); 80549b0: f000 f982 bl 8054cb8 MX_GPIO_Init(); 80549b4: f7da fc72 bl 802f29c MX_DMA_Init(); 80549b8: f7cf f872 bl 8023aa0 MX_DMA2D_Init(); 80549bc: f7cf f8ae bl 8023b1c MX_FMC_Init(); 80549c0: f7da fb8e bl 802f0e0 RAMTest(); 80549c4: f012 fc86 bl 80672d4 memset(pLCD_u8, 0, 0x4B000); 80549c8: f44f 2296 mov.w r2, #307200 ; 0x4b000 80549cc: 2100 movs r1, #0 80549ce: f04f 40c8 mov.w r0, #1677721600 ; 0x64000000 80549d2: f078 fb39 bl 80cd048 SCB_CleanInvalidateDCache(); 80549d6: f7ff ff27 bl 8054828 MX_RTC_Init(); 80549da: f012 fd13 bl 8067404 MX_FATFS_Init(); 80549de: f06a fe6f bl 80bf6c0 initKeys(); 80549e2: f7df fff3 bl 80349cc MX_TIM7_Init(); 80549e6: f059 fe19 bl 80ae61c MX_LTDC_Init(); 80549ea: f7fe fc2b bl 8053244 initMemCopy(); 80549ee: f011 fdd1 bl 8066594 MX_SPI1_Init(); 80549f2: f059 fb81 bl 80ae0f8 rdFlash();//todo 80549f6: f7da fb6b bl 802f0d0 EXTI_Config(); 80549fa: f013 f98d bl 8067d18 MX_SDMMC1_SD_Init(); 80549fe: f059 fa5d bl 80adebc MAX11270_Init(); 8054a02: f000 fa09 bl 8054e18 initDevice(); 8054a06: f7df ff1f bl 8034848 Logo(); 8054a0a: f013 fa05 bl 8067e18 MX_ADC2_Init(); //Bat 8054a0e: f7cb fff9 bl 8020a04 MX_ADC1_Init(); 8054a12: f7cb ffab bl 802096c MX_TIM5_Init(); 8054a16: f059 fdbb bl 80ae590 CreateFileJSON(); 8054a1a: f7d6 fc9b bl 802b354 initAmplif(); 8054a1e: f7cd f839 bl 8021a94 MX_USB_DEVICE_Init(); 8054a22: f074 fa8d bl 80c8f40 CheckRoutesFolder(); 8054a26: f7d6 fbaf bl 802b188 CheckRecordsFolder(); 8054a2a: f7d6 fbdb bl 802b1e4 CheckFilesForWrite(); 8054a2e: f7d9 ff8d bl 802e94c StartBatMeas(); 8054a32: f7cc f989 bl 8020d48 while(HAL_GPIO_ReadPin(OFF_GPIO_Port, OFF_Pin) == GPIO_PIN_SET) { //todo 8054a36: e001 b.n 8054a3c RedrawScreen(); 8054a38: f013 f9de bl 8067df8 while(HAL_GPIO_ReadPin(OFF_GPIO_Port, OFF_Pin) == GPIO_PIN_SET) { //todo 8054a3c: 2101 movs r1, #1 8054a3e: 4867 ldr r0, [pc, #412] ; (8054bdc ) 8054a40: f061 f89e bl 80b5b80 8054a44: 4603 mov r3, r0 8054a46: 2b01 cmp r3, #1 8054a48: d0f6 beq.n 8054a38 } MX_ADC3_Init(); //Tacho 8054a4a: f7cc f841 bl 8020ad0 MX_TIM1_Init(); 8054a4e: f059 fd59 bl 80ae504 KeysIsReady = true; 8054a52: 4b63 ldr r3, [pc, #396] ; (8054be0 ) 8054a54: 2201 movs r2, #1 8054a56: 701a strb r2, [r3, #0] NeedCalibrate(); 8054a58: f7df ff24 bl 80348a4 //MX_I2C1_SMBUS_Init(); while(1) { if(GoLinkPC) 8054a5c: 4b61 ldr r3, [pc, #388] ; (8054be4 ) 8054a5e: 781b ldrb r3, [r3, #0] 8054a60: b2db uxtb r3, r3 8054a62: 2b00 cmp r3, #0 8054a64: d012 beq.n 8054a8c { GoLinkPC = false; 8054a66: 4b5f ldr r3, [pc, #380] ; (8054be4 ) 8054a68: 2200 movs r2, #0 8054a6a: 701a strb r2, [r3, #0] if(LinkPC == 1) 8054a6c: 4b5e ldr r3, [pc, #376] ; (8054be8 ) 8054a6e: 781b ldrb r3, [r3, #0] 8054a70: b2db uxtb r3, r3 8054a72: 2b01 cmp r3, #1 8054a74: d10a bne.n 8054a8c { menu = LINK_PC; 8054a76: 4b5d ldr r3, [pc, #372] ; (8054bec ) 8054a78: 2242 movs r2, #66 ; 0x42 8054a7a: 701a strb r2, [r3, #0] ChargerIsConnect = false; 8054a7c: 4b5c ldr r3, [pc, #368] ; (8054bf0 ) 8054a7e: 2200 movs r2, #0 8054a80: 701a strb r2, [r3, #0] HAL_GPIO_WritePin(ZAR_GPIO_Port, ZAR_Pin, GPIO_PIN_RESET); 8054a82: 2200 movs r2, #0 8054a84: 2108 movs r1, #8 8054a86: 485b ldr r0, [pc, #364] ; (8054bf4 ) 8054a88: f061 f892 bl 80b5bb0 if(LinkPC == 0) 8054a8c: 4b56 ldr r3, [pc, #344] ; (8054be8 ) 8054a8e: 781b ldrb r3, [r3, #0] 8054a90: b2db uxtb r3, r3 8054a92: 2b00 cmp r3, #0 8054a94: f040 809b bne.w 8054bce if((pardata.OPTIONS & BIT6) && (!Initialized)) { MX_HC05_Init(); } #endif if(NeedOff) { 8054a98: 4b57 ldr r3, [pc, #348] ; (8054bf8 ) 8054a9a: 781b ldrb r3, [r3, #0] 8054a9c: b2db uxtb r3, r3 8054a9e: 2b00 cmp r3, #0 8054aa0: d001 beq.n 8054aa6 Off(); 8054aa2: f7ce feff bl 80238a4 } meas(); 8054aa6: f001 fe3f bl 8056728 if(!GoSend) 8054aaa: 4b54 ldr r3, [pc, #336] ; (8054bfc ) 8054aac: 781b ldrb r3, [r3, #0] 8054aae: b2db uxtb r3, r3 8054ab0: f083 0301 eor.w r3, r3, #1 8054ab4: b2db uxtb r3, r3 8054ab6: 2b00 cmp r3, #0 8054ab8: d001 beq.n 8054abe RedrawScreen(); 8054aba: f013 f99d bl 8067df8 //if(READY == DATA_FREE) // { keyIns(); 8054abe: f7e0 f8ef bl 8034ca0 FileSystem(); 8054ac2: f7cf f945 bl 8023d50 // } if(NeedFreq) 8054ac6: 4b4e ldr r3, [pc, #312] ; (8054c00 ) 8054ac8: 781b ldrb r3, [r3, #0] 8054aca: b2db uxtb r3, r3 8054acc: 2b00 cmp r3, #0 8054ace: d004 beq.n 8054ada { NeedFreq = false; 8054ad0: 4b4b ldr r3, [pc, #300] ; (8054c00 ) 8054ad2: 2200 movs r2, #0 8054ad4: 701a strb r2, [r3, #0] CalcFreq(); 8054ad6: f001 fc1b bl 8056310 } if(NeedFreqTacho) 8054ada: 4b4a ldr r3, [pc, #296] ; (8054c04 ) 8054adc: 781b ldrb r3, [r3, #0] 8054ade: b2db uxtb r3, r3 8054ae0: 2b00 cmp r3, #0 8054ae2: d02f beq.n 8054b44 { NeedFreqTacho = false; 8054ae4: 4b47 ldr r3, [pc, #284] ; (8054c04 ) 8054ae6: 2200 movs r2, #0 8054ae8: 701a strb r2, [r3, #0] CalcFreqTacho(); 8054aea: f001 fd15 bl 8056518 if(FreqFran) 8054aee: 4b46 ldr r3, [pc, #280] ; (8054c08 ) 8054af0: edd3 7a00 vldr s15, [r3] 8054af4: eef5 7a40 vcmp.f32 s15, #0.0 8054af8: eef1 fa10 vmrs APSR_nzcv, fpscr 8054afc: d022 beq.n 8054b44 { CALC_FREQ = 0; 8054afe: 4b43 ldr r3, [pc, #268] ; (8054c0c ) 8054b00: 2200 movs r2, #0 8054b02: 701a strb r2, [r3, #0] StopTacho(); 8054b04: f7cc f970 bl 8020de8 READY = DATA_FREE; 8054b08: 4b41 ldr r3, [pc, #260] ; (8054c10 ) 8054b0a: 2200 movs r2, #0 8054b0c: 701a strb r2, [r3, #0] //SetupADC(); RedrawScreen(); 8054b0e: f013 f973 bl 8067df8 HAL_Delay(100); 8054b12: 2064 movs r0, #100 ; 0x64 8054b14: f05e fb9c bl 80b3250 RedrawScreen(); 8054b18: f013 f96e bl 8067df8 HAL_Delay(100); 8054b1c: 2064 movs r0, #100 ; 0x64 8054b1e: f05e fb97 bl 80b3250 RedrawScreen(); 8054b22: f013 f969 bl 8067df8 HAL_Delay(100); 8054b26: 2064 movs r0, #100 ; 0x64 8054b28: f05e fb92 bl 80b3250 RedrawScreen(); 8054b2c: f013 f964 bl 8067df8 HAL_Delay(200); 8054b30: 20c8 movs r0, #200 ; 0xc8 8054b32: f05e fb8d bl 80b3250 SetupADC(); 8054b36: f7ce f907 bl 8022d48 HAL_Delay(100); 8054b3a: 2064 movs r0, #100 ; 0x64 8054b3c: f05e fb88 bl 80b3250 AfterTacho(); 8054b40: f7fe fa56 bl 8052ff0 } } if(NeedMeas) 8054b44: 4b33 ldr r3, [pc, #204] ; (8054c14 ) 8054b46: 781b ldrb r3, [r3, #0] 8054b48: b2db uxtb r3, r3 8054b4a: 2b00 cmp r3, #0 8054b4c: d020 beq.n 8054b90 { NeedMeas = false; 8054b4e: 4b31 ldr r3, [pc, #196] ; (8054c14 ) 8054b50: 2200 movs r2, #0 8054b52: 701a strb r2, [r3, #0] initFilters(); 8054b54: f010 fba4 bl 80652a0 measuring = true; 8054b58: 4b2f ldr r3, [pc, #188] ; (8054c18 ) 8054b5a: 2201 movs r2, #1 8054b5c: 701a strb r2, [r3, #0] if((pardata.SYG == WAVE) && (pardata.OPTIONS & BIT7)) 8054b5e: 4b2f ldr r3, [pc, #188] ; (8054c1c ) 8054b60: 781b ldrb r3, [r3, #0] 8054b62: b2db uxtb r3, r3 8054b64: 2b04 cmp r3, #4 8054b66: d109 bne.n 8054b7c 8054b68: 4b2c ldr r3, [pc, #176] ; (8054c1c ) 8054b6a: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8054b6e: f003 0380 and.w r3, r3, #128 ; 0x80 8054b72: 2b00 cmp r3, #0 8054b74: d002 beq.n 8054b7c StartTacho(); 8054b76: f7cc f91f bl 8020db8 8054b7a: e009 b.n 8054b90 else if(pardata.SYG == UDAR) 8054b7c: 4b27 ldr r3, [pc, #156] ; (8054c1c ) 8054b7e: 781b ldrb r3, [r3, #0] 8054b80: b2db uxtb r3, r3 8054b82: 2b09 cmp r3, #9 8054b84: d102 bne.n 8054b8c StartADC12(); 8054b86: f7cc f8f1 bl 8020d6c 8054b8a: e001 b.n 8054b90 else SetupADC(); 8054b8c: f7ce f8dc bl 8022d48 if(needDispOn) 8054b90: 4b23 ldr r3, [pc, #140] ; (8054c20 ) 8054b92: 781b ldrb r3, [r3, #0] 8054b94: b2db uxtb r3, r3 8054b96: 2b00 cmp r3, #0 8054b98: f43f af60 beq.w 8054a5c { needDispOn = false; 8054b9c: 4b20 ldr r3, [pc, #128] ; (8054c20 ) 8054b9e: 2200 movs r2, #0 8054ba0: 701a strb r2, [r3, #0] RedrawScreen(); 8054ba2: f013 f929 bl 8067df8 HAL_Delay(100); 8054ba6: 2064 movs r0, #100 ; 0x64 8054ba8: f05e fb52 bl 80b3250 RedrawScreen(); 8054bac: f013 f924 bl 8067df8 HAL_Delay(100); 8054bb0: 2064 movs r0, #100 ; 0x64 8054bb2: f05e fb4d bl 80b3250 RedrawScreen(); 8054bb6: f013 f91f bl 8067df8 HAL_Delay(100); 8054bba: 2064 movs r0, #100 ; 0x64 8054bbc: f05e fb48 bl 80b3250 HAL_GPIO_WritePin(DISP_ON_GPIO_Port, DISP_ON_Pin, GPIO_PIN_RESET); // BACKLIGHT IS ON 8054bc0: 2200 movs r2, #0 8054bc2: f44f 7180 mov.w r1, #256 ; 0x100 8054bc6: 4805 ldr r0, [pc, #20] ; (8054bdc ) 8054bc8: f060 fff2 bl 80b5bb0 8054bcc: e746 b.n 8054a5c } } else { RedrawScreen(); 8054bce: f013 f913 bl 8067df8 if(GoLinkPC) 8054bd2: e743 b.n 8054a5c 8054bd4: e000ed00 .word 0xe000ed00 8054bd8: 08020000 .word 0x08020000 8054bdc: 40020000 .word 0x40020000 8054be0: 20020f7f .word 0x20020f7f 8054be4: 20021b25 .word 0x20021b25 8054be8: 20021b23 .word 0x20021b23 8054bec: 20020f78 .word 0x20020f78 8054bf0: 20021b22 .word 0x20021b22 8054bf4: 40020800 .word 0x40020800 8054bf8: 20020f75 .word 0x20020f75 8054bfc: 20020f5c .word 0x20020f5c 8054c00: 20020d75 .word 0x20020d75 8054c04: 20020d76 .word 0x20020d76 8054c08: 20021564 .word 0x20021564 8054c0c: 20021010 .word 0x20021010 8054c10: 20020d7f .word 0x20020d7f 8054c14: 20020d8f .word 0x20020d8f 8054c18: 20020daf .word 0x20020daf 8054c1c: 20023e60 .word 0x20023e60 8054c20: 20021b24 .word 0x20021b24 08054c24 : } } void CALC_OFFSET(void) { 8054c24: b598 push {r3, r4, r7, lr} 8054c26: af00 add r7, sp, #0 if((!clbr) && (!USBConnected) && (!measuring)) 8054c28: 4b1a ldr r3, [pc, #104] ; (8054c94 ) 8054c2a: 781b ldrb r3, [r3, #0] 8054c2c: b2db uxtb r3, r3 8054c2e: f083 0301 eor.w r3, r3, #1 8054c32: b2db uxtb r3, r3 8054c34: 2b00 cmp r3, #0 8054c36: d02a beq.n 8054c8e 8054c38: 4b17 ldr r3, [pc, #92] ; (8054c98 ) 8054c3a: 781b ldrb r3, [r3, #0] 8054c3c: b2db uxtb r3, r3 8054c3e: f083 0301 eor.w r3, r3, #1 8054c42: b2db uxtb r3, r3 8054c44: 2b00 cmp r3, #0 8054c46: d022 beq.n 8054c8e 8054c48: 4b14 ldr r3, [pc, #80] ; (8054c9c ) 8054c4a: 781b ldrb r3, [r3, #0] 8054c4c: b2db uxtb r3, r3 8054c4e: f083 0301 eor.w r3, r3, #1 8054c52: b2db uxtb r3, r3 8054c54: 2b00 cmp r3, #0 8054c56: d01a beq.n 8054c8e { CNT_MEAN = 0; 8054c58: 4b11 ldr r3, [pc, #68] ; (8054ca0 ) 8054c5a: 2200 movs r2, #0 8054c5c: 601a str r2, [r3, #0] REC_MEAN = 0; 8054c5e: 4a11 ldr r2, [pc, #68] ; (8054ca4 ) 8054c60: f04f 0300 mov.w r3, #0 8054c64: f04f 0400 mov.w r4, #0 8054c68: e882 0018 stmia.w r2, {r3, r4} pardata.FRQ = _64000Hz; 8054c6c: 4b0e ldr r3, [pc, #56] ; (8054ca8 ) 8054c6e: 2209 movs r2, #9 8054c70: 72da strb r2, [r3, #11] Fs = FS[pardata.FRQ]; 8054c72: 4b0d ldr r3, [pc, #52] ; (8054ca8 ) 8054c74: 7adb ldrb r3, [r3, #11] 8054c76: b2db uxtb r3, r3 8054c78: 461a mov r2, r3 8054c7a: 4b0c ldr r3, [pc, #48] ; (8054cac ) 8054c7c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8054c80: 4a0b ldr r2, [pc, #44] ; (8054cb0 ) 8054c82: 6013 str r3, [r2, #0] SetupADC(); 8054c84: f7ce f860 bl 8022d48 FLAG_CALC_MEAN = true; 8054c88: 4b0a ldr r3, [pc, #40] ; (8054cb4 ) 8054c8a: 2201 movs r2, #1 8054c8c: 701a strb r2, [r3, #0] } } 8054c8e: bf00 nop 8054c90: bd98 pop {r3, r4, r7, pc} 8054c92: bf00 nop 8054c94: 20020f68 .word 0x20020f68 8054c98: 20021b21 .word 0x20021b21 8054c9c: 20020daf .word 0x20020daf 8054ca0: 20021698 .word 0x20021698 8054ca4: 20021690 .word 0x20021690 8054ca8: 20023e60 .word 0x20023e60 8054cac: 080ee8b8 .word 0x080ee8b8 8054cb0: 20021d1c .word 0x20021d1c 8054cb4: 2002168e .word 0x2002168e 08054cb8 : /** * @brief System Clock Configuration * @retval None */ void SystemClock_Config(void) { 8054cb8: b580 push {r7, lr} 8054cba: b0b8 sub sp, #224 ; 0xe0 8054cbc: af00 add r7, sp, #0 RCC_OscInitTypeDef RCC_OscInitStruct = {0}; 8054cbe: f107 03ac add.w r3, r7, #172 ; 0xac 8054cc2: 2234 movs r2, #52 ; 0x34 8054cc4: 2100 movs r1, #0 8054cc6: 4618 mov r0, r3 8054cc8: f078 f9be bl 80cd048 RCC_ClkInitTypeDef RCC_ClkInitStruct = {0}; 8054ccc: f107 0398 add.w r3, r7, #152 ; 0x98 8054cd0: 2200 movs r2, #0 8054cd2: 601a str r2, [r3, #0] 8054cd4: 605a str r2, [r3, #4] 8054cd6: 609a str r2, [r3, #8] 8054cd8: 60da str r2, [r3, #12] 8054cda: 611a str r2, [r3, #16] RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0}; 8054cdc: f107 0308 add.w r3, r7, #8 8054ce0: 2290 movs r2, #144 ; 0x90 8054ce2: 2100 movs r1, #0 8054ce4: 4618 mov r0, r3 8054ce6: f078 f9af bl 80cd048 __HAL_RCC_PWR_CLK_ENABLE(); 8054cea: 4a46 ldr r2, [pc, #280] ; (8054e04 ) 8054cec: 4b45 ldr r3, [pc, #276] ; (8054e04 ) 8054cee: 6c1b ldr r3, [r3, #64] ; 0x40 8054cf0: f043 5380 orr.w r3, r3, #268435456 ; 0x10000000 8054cf4: 6413 str r3, [r2, #64] ; 0x40 8054cf6: 4b43 ldr r3, [pc, #268] ; (8054e04 ) 8054cf8: 6c1b ldr r3, [r3, #64] ; 0x40 8054cfa: f003 5380 and.w r3, r3, #268435456 ; 0x10000000 8054cfe: 607b str r3, [r7, #4] 8054d00: 687b ldr r3, [r7, #4] __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE1); 8054d02: 4a41 ldr r2, [pc, #260] ; (8054e08 ) 8054d04: 4b40 ldr r3, [pc, #256] ; (8054e08 ) 8054d06: 681b ldr r3, [r3, #0] 8054d08: f443 4340 orr.w r3, r3, #49152 ; 0xc000 8054d0c: 6013 str r3, [r2, #0] 8054d0e: 4b3e ldr r3, [pc, #248] ; (8054e08 ) 8054d10: 681b ldr r3, [r3, #0] 8054d12: f403 4340 and.w r3, r3, #49152 ; 0xc000 8054d16: 603b str r3, [r7, #0] 8054d18: 683b ldr r3, [r7, #0] /////// 216 MHZ RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE|RCC_OSCILLATORTYPE_LSE; 8054d1a: 2305 movs r3, #5 8054d1c: f8c7 30ac str.w r3, [r7, #172] ; 0xac RCC_OscInitStruct.HSEState = RCC_HSE_ON; 8054d20: f44f 3380 mov.w r3, #65536 ; 0x10000 8054d24: f8c7 30b0 str.w r3, [r7, #176] ; 0xb0 RCC_OscInitStruct.LSEState = RCC_LSE_ON; 8054d28: 2301 movs r3, #1 8054d2a: f8c7 30b4 str.w r3, [r7, #180] ; 0xb4 RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; 8054d2e: 2302 movs r3, #2 8054d30: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE; 8054d34: f44f 0380 mov.w r3, #4194304 ; 0x400000 8054d38: f8c7 30c8 str.w r3, [r7, #200] ; 0xc8 RCC_OscInitStruct.PLL.PLLM = 25; 8054d3c: 2319 movs r3, #25 8054d3e: f8c7 30cc str.w r3, [r7, #204] ; 0xcc RCC_OscInitStruct.PLL.PLLN = 432; 8054d42: f44f 73d8 mov.w r3, #432 ; 0x1b0 8054d46: f8c7 30d0 str.w r3, [r7, #208] ; 0xd0 RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2; 8054d4a: 2302 movs r3, #2 8054d4c: f8c7 30d4 str.w r3, [r7, #212] ; 0xd4 RCC_OscInitStruct.PLL.PLLQ = 9; 8054d50: 2309 movs r3, #9 8054d52: f8c7 30d8 str.w r3, [r7, #216] ; 0xd8 if(HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) { 8054d56: f107 03ac add.w r3, r7, #172 ; 0xac 8054d5a: 4618 mov r0, r3 8054d5c: f062 fd72 bl 80b7844 8054d60: 4603 mov r3, r0 8054d62: 2b00 cmp r3, #0 8054d64: d001 beq.n 8054d6a Error_Handler(); 8054d66: f000 f853 bl 8054e10 } if(HAL_PWREx_EnableOverDrive() != HAL_OK) { 8054d6a: f062 fd1b bl 80b77a4 8054d6e: 4603 mov r3, r0 8054d70: 2b00 cmp r3, #0 8054d72: d001 beq.n 8054d78 Error_Handler(); 8054d74: f000 f84c bl 8054e10 } RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK|RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2; 8054d78: 230f movs r3, #15 8054d7a: f8c7 3098 str.w r3, [r7, #152] ; 0x98 RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; 8054d7e: 2302 movs r3, #2 8054d80: f8c7 309c str.w r3, [r7, #156] ; 0x9c RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; 8054d84: 2300 movs r3, #0 8054d86: f8c7 30a0 str.w r3, [r7, #160] ; 0xa0 RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV4; 8054d8a: f44f 53a0 mov.w r3, #5120 ; 0x1400 8054d8e: f8c7 30a4 str.w r3, [r7, #164] ; 0xa4 RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV2; 8054d92: f44f 5380 mov.w r3, #4096 ; 0x1000 8054d96: f8c7 30a8 str.w r3, [r7, #168] ; 0xa8 if(HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_6) != HAL_OK) { 8054d9a: f107 0398 add.w r3, r7, #152 ; 0x98 8054d9e: 2106 movs r1, #6 8054da0: 4618 mov r0, r3 8054da2: f062 fffd bl 80b7da0 8054da6: 4603 mov r3, r0 8054da8: 2b00 cmp r3, #0 8054daa: d001 beq.n 8054db0 Error_Handler(); 8054dac: f000 f830 bl 8054e10 } PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_LTDC|RCC_PERIPHCLK_RTC 8054db0: 4b16 ldr r3, [pc, #88] ; (8054e0c ) 8054db2: 60bb str r3, [r7, #8] |RCC_PERIPHCLK_UART7|RCC_PERIPHCLK_I2C1 |RCC_PERIPHCLK_SDMMC1|RCC_PERIPHCLK_CLK48; PeriphClkInitStruct.PLLSAI.PLLSAIN = 192; 8054db4: 23c0 movs r3, #192 ; 0xc0 8054db6: 61fb str r3, [r7, #28] PeriphClkInitStruct.PLLSAI.PLLSAIR = 4; 8054db8: 2304 movs r3, #4 8054dba: 627b str r3, [r7, #36] ; 0x24 PeriphClkInitStruct.PLLSAI.PLLSAIQ = 2; 8054dbc: 2302 movs r3, #2 8054dbe: 623b str r3, [r7, #32] PeriphClkInitStruct.PLLSAI.PLLSAIP = RCC_PLLSAIP_DIV4; 8054dc0: 2301 movs r3, #1 8054dc2: 62bb str r3, [r7, #40] ; 0x28 PeriphClkInitStruct.PLLSAIDivQ = 1; 8054dc4: 2301 movs r3, #1 8054dc6: 633b str r3, [r7, #48] ; 0x30 PeriphClkInitStruct.PLLSAIDivR = RCC_PLLSAIDIVR_2; 8054dc8: 2300 movs r3, #0 8054dca: 637b str r3, [r7, #52] ; 0x34 PeriphClkInitStruct.RTCClockSelection = RCC_RTCCLKSOURCE_LSE; 8054dcc: f44f 7380 mov.w r3, #256 ; 0x100 8054dd0: 63bb str r3, [r7, #56] ; 0x38 PeriphClkInitStruct.Uart7ClockSelection = RCC_UART7CLKSOURCE_PCLK1; 8054dd2: 2300 movs r3, #0 8054dd4: 667b str r3, [r7, #100] ; 0x64 PeriphClkInitStruct.I2c1ClockSelection = RCC_I2C1CLKSOURCE_PCLK1; 8054dd6: 2300 movs r3, #0 8054dd8: 66fb str r3, [r7, #108] ; 0x6c PeriphClkInitStruct.Clk48ClockSelection = RCC_CLK48SOURCE_PLL; 8054dda: 2300 movs r3, #0 8054ddc: f8c7 3084 str.w r3, [r7, #132] ; 0x84 PeriphClkInitStruct.Sdmmc1ClockSelection = RCC_SDMMC1CLKSOURCE_CLK48; 8054de0: 2300 movs r3, #0 8054de2: f8c7 3088 str.w r3, [r7, #136] ; 0x88 if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK) 8054de6: f107 0308 add.w r3, r7, #8 8054dea: 4618 mov r0, r3 8054dec: f063 f986 bl 80b80fc 8054df0: 4603 mov r3, r0 8054df2: 2b00 cmp r3, #0 8054df4: d001 beq.n 8054dfa { Error_Handler(); 8054df6: f000 f80b bl 8054e10 PeriphClkInitStruct.Sdmmc1ClockSelection = RCC_SDMMC1CLKSOURCE_CLK48; if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK) { Error_Handler(); }*/ } 8054dfa: bf00 nop 8054dfc: 37e0 adds r7, #224 ; 0xe0 8054dfe: 46bd mov sp, r7 8054e00: bd80 pop {r7, pc} 8054e02: bf00 nop 8054e04: 40023800 .word 0x40023800 8054e08: 40007000 .word 0x40007000 8054e0c: 00a05028 .word 0x00a05028 08054e10 : /** * @brief This function is executed in case of error occurrence. * @retval None */ void Error_Handler(void) { 8054e10: b480 push {r7} 8054e12: af00 add r7, sp, #0 __ASM volatile ("cpsid i" : : : "memory"); 8054e14: 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) 8054e16: e7fe b.n 8054e16 08054e18 : void MAX11270_Init(void) { 8054e18: b580 push {r7, lr} 8054e1a: b084 sub sp, #16 8054e1c: af02 add r7, sp, #8 __IO uint32_t dly; __IO uint32_t tick; memset(aTxBuffer, 0, sizeof(aTxBuffer)); 8054e1e: 2204 movs r2, #4 8054e20: 2100 movs r1, #0 8054e22: 483e ldr r0, [pc, #248] ; (8054f1c ) 8054e24: f078 f910 bl 80cd048 HAL_GPIO_WritePin(RSTB_GPIO_Port, RSTB_Pin, GPIO_PIN_RESET); 8054e28: 2200 movs r2, #0 8054e2a: 2104 movs r1, #4 8054e2c: 483c ldr r0, [pc, #240] ; (8054f20 ) 8054e2e: f060 febf bl 80b5bb0 HAL_Delay(200); 8054e32: 20c8 movs r0, #200 ; 0xc8 8054e34: f05e fa0c bl 80b3250 HAL_GPIO_WritePin(RSTB_GPIO_Port, RSTB_Pin, GPIO_PIN_SET); 8054e38: 2201 movs r2, #1 8054e3a: 2104 movs r1, #4 8054e3c: 4838 ldr r0, [pc, #224] ; (8054f20 ) 8054e3e: f060 feb7 bl 80b5bb0 HAL_Delay(200); 8054e42: 20c8 movs r0, #200 ; 0xc8 8054e44: f05e fa04 bl 80b3250 aTxBuffer[0] = WRITE | CTRL1_REG; 8054e48: 4b34 ldr r3, [pc, #208] ; (8054f1c ) 8054e4a: 22c2 movs r2, #194 ; 0xc2 8054e4c: 701a strb r2, [r3, #0] aTxBuffer[1] = SYNC_BIT | /*UB_BIT |*/ FORMAT_BIT | CONTSC_BIT; 8054e4e: 4b33 ldr r3, [pc, #204] ; (8054f1c ) 8054e50: 2245 movs r2, #69 ; 0x45 8054e52: 705a strb r2, [r3, #1] HAL_GPIO_WritePin(CR_GPIO_Port, CR_Pin, GPIO_PIN_RESET); 8054e54: 2200 movs r2, #0 8054e56: f44f 4100 mov.w r1, #32768 ; 0x8000 8054e5a: 4832 ldr r0, [pc, #200] ; (8054f24 ) 8054e5c: f060 fea8 bl 80b5bb0 for(dly = 3; dly > 0; dly--); 8054e60: 2303 movs r3, #3 8054e62: 607b str r3, [r7, #4] 8054e64: e002 b.n 8054e6c 8054e66: 687b ldr r3, [r7, #4] 8054e68: 3b01 subs r3, #1 8054e6a: 607b str r3, [r7, #4] 8054e6c: 687b ldr r3, [r7, #4] 8054e6e: 2b00 cmp r3, #0 8054e70: d1f9 bne.n 8054e66 HAL_SPI_TransmitReceive(&hspi1, aTxBuffer, &aRxBuffer.ch[0], 2, 100); 8054e72: 2364 movs r3, #100 ; 0x64 8054e74: 9300 str r3, [sp, #0] 8054e76: 2302 movs r3, #2 8054e78: 4a2b ldr r2, [pc, #172] ; (8054f28 ) 8054e7a: 4928 ldr r1, [pc, #160] ; (8054f1c ) 8054e7c: 482b ldr r0, [pc, #172] ; (8054f2c ) 8054e7e: f066 fae2 bl 80bb446 for(dly = 3; dly > 0; dly--); 8054e82: 2303 movs r3, #3 8054e84: 607b str r3, [r7, #4] 8054e86: e002 b.n 8054e8e 8054e88: 687b ldr r3, [r7, #4] 8054e8a: 3b01 subs r3, #1 8054e8c: 607b str r3, [r7, #4] 8054e8e: 687b ldr r3, [r7, #4] 8054e90: 2b00 cmp r3, #0 8054e92: d1f9 bne.n 8054e88 HAL_GPIO_WritePin(CR_GPIO_Port, CR_Pin, GPIO_PIN_SET); 8054e94: 2201 movs r2, #1 8054e96: f44f 4100 mov.w r1, #32768 ; 0x8000 8054e9a: 4822 ldr r0, [pc, #136] ; (8054f24 ) 8054e9c: f060 fe88 bl 80b5bb0 aTxBuffer[0] = WRITE | GAIN_REG; 8054ea0: 4b1e ldr r3, [pc, #120] ; (8054f1c ) 8054ea2: 22c4 movs r2, #196 ; 0xc4 8054ea4: 701a strb r2, [r3, #0] aTxBuffer[1] = LPMODE_BIT | PGAEN_BIT | SGAIN[Ku1]; 8054ea6: 2300 movs r3, #0 8054ea8: f043 0318 orr.w r3, r3, #24 8054eac: b2da uxtb r2, r3 8054eae: 4b1b ldr r3, [pc, #108] ; (8054f1c ) 8054eb0: 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); 8054eb2: 2200 movs r2, #0 8054eb4: f44f 4100 mov.w r1, #32768 ; 0x8000 8054eb8: 481a ldr r0, [pc, #104] ; (8054f24 ) 8054eba: f060 fe79 bl 80b5bb0 for(dly = 3; dly > 0; dly--); 8054ebe: 2303 movs r3, #3 8054ec0: 607b str r3, [r7, #4] 8054ec2: e002 b.n 8054eca 8054ec4: 687b ldr r3, [r7, #4] 8054ec6: 3b01 subs r3, #1 8054ec8: 607b str r3, [r7, #4] 8054eca: 687b ldr r3, [r7, #4] 8054ecc: 2b00 cmp r3, #0 8054ece: d1f9 bne.n 8054ec4 HAL_SPI_TransmitReceive(&hspi1, aTxBuffer, &aRxBuffer.ch[0], 2, 100); 8054ed0: 2364 movs r3, #100 ; 0x64 8054ed2: 9300 str r3, [sp, #0] 8054ed4: 2302 movs r3, #2 8054ed6: 4a14 ldr r2, [pc, #80] ; (8054f28 ) 8054ed8: 4910 ldr r1, [pc, #64] ; (8054f1c ) 8054eda: 4814 ldr r0, [pc, #80] ; (8054f2c ) 8054edc: f066 fab3 bl 80bb446 for(dly = 3; dly > 0; dly--); 8054ee0: 2303 movs r3, #3 8054ee2: 607b str r3, [r7, #4] 8054ee4: e002 b.n 8054eec 8054ee6: 687b ldr r3, [r7, #4] 8054ee8: 3b01 subs r3, #1 8054eea: 607b str r3, [r7, #4] 8054eec: 687b ldr r3, [r7, #4] 8054eee: 2b00 cmp r3, #0 8054ef0: d1f9 bne.n 8054ee6 HAL_GPIO_WritePin(CR_GPIO_Port, CR_Pin, GPIO_PIN_SET); 8054ef2: 2201 movs r2, #1 8054ef4: f44f 4100 mov.w r1, #32768 ; 0x8000 8054ef8: 480a ldr r0, [pc, #40] ; (8054f24 ) 8054efa: f060 fe59 bl 80b5bb0 HAL_GPIO_WritePin(CR_GPIO_Port, CR_Pin, GPIO_PIN_SET); } while(!(aRxBuffer.ch[0] & PDSTAT1_BIT));*/ tick = HAL_GetTick() - tick; 8054efe: f05e f99b bl 80b3238 8054f02: 4602 mov r2, r0 8054f04: 683b ldr r3, [r7, #0] 8054f06: 1ad3 subs r3, r2, r3 8054f08: 603b str r3, [r7, #0] tick = 0; 8054f0a: 2300 movs r3, #0 8054f0c: 603b str r3, [r7, #0] MAX11270_StopMeas(); 8054f0e: f000 f879 bl 8055004 } 8054f12: bf00 nop 8054f14: 3708 adds r7, #8 8054f16: 46bd mov sp, r7 8054f18: bd80 pop {r7, pc} 8054f1a: bf00 nop 8054f1c: 2002167c .word 0x2002167c 8054f20: 40020400 .word 0x40020400 8054f24: 40020000 .word 0x40020000 8054f28: 20068730 .word 0x20068730 8054f2c: 20068734 .word 0x20068734 08054f30 : void MAX11270_StartMeas(void) { 8054f30: b580 push {r7, lr} 8054f32: b084 sub sp, #16 8054f34: af02 add r7, sp, #8 __IO uint32_t dly; __IO uint32_t timeout; ADC_Started = false; 8054f36: 4b2b ldr r3, [pc, #172] ; (8054fe4 ) 8054f38: 2200 movs r2, #0 8054f3a: 701a strb r2, [r3, #0] memset(aTxBuffer, 0, sizeof(aTxBuffer)); 8054f3c: 2204 movs r2, #4 8054f3e: 2100 movs r1, #0 8054f40: 4829 ldr r0, [pc, #164] ; (8054fe8 ) 8054f42: f078 f881 bl 80cd048 aTxBuffer[0] = COMMAND | SRATE[pardata.FRQ]; 8054f46: 4b29 ldr r3, [pc, #164] ; (8054fec ) 8054f48: 7adb ldrb r3, [r3, #11] 8054f4a: b2db uxtb r3, r3 8054f4c: 461a mov r2, r3 8054f4e: 4b28 ldr r3, [pc, #160] ; (8054ff0 ) 8054f50: 5c9b ldrb r3, [r3, r2] 8054f52: f063 037f orn r3, r3, #127 ; 0x7f 8054f56: b2da uxtb r2, r3 8054f58: 4b23 ldr r3, [pc, #140] ; (8054fe8 ) 8054f5a: 701a strb r2, [r3, #0] HAL_GPIO_WritePin(CR_GPIO_Port, CR_Pin, GPIO_PIN_RESET); 8054f5c: 2200 movs r2, #0 8054f5e: f44f 4100 mov.w r1, #32768 ; 0x8000 8054f62: 4824 ldr r0, [pc, #144] ; (8054ff4 ) 8054f64: f060 fe24 bl 80b5bb0 for(dly = 3; dly > 0; dly--); 8054f68: 2303 movs r3, #3 8054f6a: 607b str r3, [r7, #4] 8054f6c: e002 b.n 8054f74 8054f6e: 687b ldr r3, [r7, #4] 8054f70: 3b01 subs r3, #1 8054f72: 607b str r3, [r7, #4] 8054f74: 687b ldr r3, [r7, #4] 8054f76: 2b00 cmp r3, #0 8054f78: d1f9 bne.n 8054f6e HAL_SPI_TransmitReceive(&hspi1, aTxBuffer, &aRxBuffer.ch[0], 1, 100); 8054f7a: 2364 movs r3, #100 ; 0x64 8054f7c: 9300 str r3, [sp, #0] 8054f7e: 2301 movs r3, #1 8054f80: 4a1d ldr r2, [pc, #116] ; (8054ff8 ) 8054f82: 4919 ldr r1, [pc, #100] ; (8054fe8 ) 8054f84: 481d ldr r0, [pc, #116] ; (8054ffc ) 8054f86: f066 fa5e bl 80bb446 for(dly = 3; dly > 0; dly--); 8054f8a: 2303 movs r3, #3 8054f8c: 607b str r3, [r7, #4] 8054f8e: e002 b.n 8054f96 8054f90: 687b ldr r3, [r7, #4] 8054f92: 3b01 subs r3, #1 8054f94: 607b str r3, [r7, #4] 8054f96: 687b ldr r3, [r7, #4] 8054f98: 2b00 cmp r3, #0 8054f9a: d1f9 bne.n 8054f90 HAL_GPIO_WritePin(CR_GPIO_Port, CR_Pin, GPIO_PIN_SET); 8054f9c: 2201 movs r2, #1 8054f9e: f44f 4100 mov.w r1, #32768 ; 0x8000 8054fa2: 4814 ldr r0, [pc, #80] ; (8054ff4 ) 8054fa4: f060 fe04 bl 80b5bb0 __HAL_GPIO_EXTI_CLEAR_FLAG(RDYB_Pin); 8054fa8: 4b15 ldr r3, [pc, #84] ; (8055000 ) 8054faa: 2208 movs r2, #8 8054fac: 615a str r2, [r3, #20] HAL_NVIC_EnableIRQ(EXTI3_IRQn); 8054fae: 2009 movs r0, #9 8054fb0: f05f f8b5 bl 80b411e timeout = HAL_GetTick(); 8054fb4: f05e f940 bl 80b3238 8054fb8: 4603 mov r3, r0 8054fba: 603b str r3, [r7, #0] while((!ADC_Started) && ((HAL_GetTick() - timeout) < 100)); 8054fbc: bf00 nop 8054fbe: 4b09 ldr r3, [pc, #36] ; (8054fe4 ) 8054fc0: 781b ldrb r3, [r3, #0] 8054fc2: b2db uxtb r3, r3 8054fc4: f083 0301 eor.w r3, r3, #1 8054fc8: b2db uxtb r3, r3 8054fca: 2b00 cmp r3, #0 8054fcc: d006 beq.n 8054fdc 8054fce: f05e f933 bl 80b3238 8054fd2: 4602 mov r2, r0 8054fd4: 683b ldr r3, [r7, #0] 8054fd6: 1ad3 subs r3, r2, r3 8054fd8: 2b63 cmp r3, #99 ; 0x63 8054fda: d9f0 bls.n 8054fbe } 8054fdc: bf00 nop 8054fde: 3708 adds r7, #8 8054fe0: 46bd mov sp, r7 8054fe2: bd80 pop {r7, pc} 8054fe4: 20020d74 .word 0x20020d74 8054fe8: 2002167c .word 0x2002167c 8054fec: 20023e60 .word 0x20023e60 8054ff0: 080ee8ec .word 0x080ee8ec 8054ff4: 40020000 .word 0x40020000 8054ff8: 20068730 .word 0x20068730 8054ffc: 20068734 .word 0x20068734 8055000: 40013c00 .word 0x40013c00 08055004 : void MAX11270_StopMeas(void) { 8055004: b580 push {r7, lr} 8055006: b082 sub sp, #8 8055008: af00 add r7, sp, #0 __IO uint32_t dly; ADC_Started = false; 805500a: 4b09 ldr r3, [pc, #36] ; (8055030 ) 805500c: 2200 movs r2, #0 805500e: 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); 8055010: 4b08 ldr r3, [pc, #32] ; (8055034 ) 8055012: 2208 movs r2, #8 8055014: 615a str r2, [r3, #20] HAL_NVIC_DisableIRQ(EXTI3_IRQn); 8055016: 2009 movs r0, #9 8055018: f05f f88f bl 80b413a __HAL_GPIO_EXTI_CLEAR_FLAG(RDYB_Pin); 805501c: 4b05 ldr r3, [pc, #20] ; (8055034 ) 805501e: 2208 movs r2, #8 8055020: 615a str r2, [r3, #20] ADC_Started = false; 8055022: 4b03 ldr r3, [pc, #12] ; (8055030 ) 8055024: 2200 movs r2, #0 8055026: 701a strb r2, [r3, #0] } 8055028: bf00 nop 805502a: 3708 adds r7, #8 805502c: 46bd mov sp, r7 805502e: bd80 pop {r7, pc} 8055030: 20020d74 .word 0x20020d74 8055034: 40013c00 .word 0x40013c00 08055038 : void MAX11270_SetGain(uint8_t ku) { 8055038: b580 push {r7, lr} 805503a: b086 sub sp, #24 805503c: af02 add r7, sp, #8 805503e: 4603 mov r3, r0 8055040: 71fb strb r3, [r7, #7] __IO uint32_t dly, i; for(i = 0; i < 3; i++) 8055042: 2300 movs r3, #0 8055044: 60bb str r3, [r7, #8] 8055046: e04a b.n 80550de { HAL_Delay(20); 8055048: 2014 movs r0, #20 805504a: f05e f901 bl 80b3250 memset(aTxBuffer, 0, sizeof(aTxBuffer)); 805504e: 2204 movs r2, #4 8055050: 2100 movs r1, #0 8055052: 4826 ldr r0, [pc, #152] ; (80550ec ) 8055054: f077 fff8 bl 80cd048 aTxBuffer[0] = WRITE | GAIN_REG; 8055058: 4b24 ldr r3, [pc, #144] ; (80550ec ) 805505a: 22c4 movs r2, #196 ; 0xc4 805505c: 701a strb r2, [r3, #0] aTxBuffer[1] = PGAEN_BIT | SGAIN[ku]; 805505e: 79fb ldrb r3, [r7, #7] 8055060: 4a23 ldr r2, [pc, #140] ; (80550f0 ) 8055062: 5cd3 ldrb r3, [r2, r3] 8055064: f043 0308 orr.w r3, r3, #8 8055068: b2da uxtb r2, r3 805506a: 4b20 ldr r3, [pc, #128] ; (80550ec ) 805506c: 705a strb r2, [r3, #1] if(pardata.IKU < Ku16) 805506e: 4b21 ldr r3, [pc, #132] ; (80550f4 ) 8055070: 7a1b ldrb r3, [r3, #8] 8055072: b2db uxtb r3, r3 8055074: 2b03 cmp r3, #3 8055076: d806 bhi.n 8055086 aTxBuffer[1] |= LPMODE_BIT; 8055078: 4b1c ldr r3, [pc, #112] ; (80550ec ) 805507a: 785b ldrb r3, [r3, #1] 805507c: f043 0310 orr.w r3, r3, #16 8055080: b2da uxtb r2, r3 8055082: 4b1a ldr r3, [pc, #104] ; (80550ec ) 8055084: 705a strb r2, [r3, #1] //aTxBuffer[1] |= DGAIN0_BIT | DGAIN1_BIT; HAL_GPIO_WritePin(CR_GPIO_Port, CR_Pin, GPIO_PIN_RESET); 8055086: 2200 movs r2, #0 8055088: f44f 4100 mov.w r1, #32768 ; 0x8000 805508c: 481a ldr r0, [pc, #104] ; (80550f8 ) 805508e: f060 fd8f bl 80b5bb0 for(dly = 3; dly > 0; dly--); 8055092: 2303 movs r3, #3 8055094: 60fb str r3, [r7, #12] 8055096: e002 b.n 805509e 8055098: 68fb ldr r3, [r7, #12] 805509a: 3b01 subs r3, #1 805509c: 60fb str r3, [r7, #12] 805509e: 68fb ldr r3, [r7, #12] 80550a0: 2b00 cmp r3, #0 80550a2: d1f9 bne.n 8055098 HAL_SPI_TransmitReceive(&hspi1, aTxBuffer, &aRxBuffer.ch[0], 2, 100); 80550a4: 2364 movs r3, #100 ; 0x64 80550a6: 9300 str r3, [sp, #0] 80550a8: 2302 movs r3, #2 80550aa: 4a14 ldr r2, [pc, #80] ; (80550fc ) 80550ac: 490f ldr r1, [pc, #60] ; (80550ec ) 80550ae: 4814 ldr r0, [pc, #80] ; (8055100 ) 80550b0: f066 f9c9 bl 80bb446 for(dly = 3; dly > 0; dly--); 80550b4: 2303 movs r3, #3 80550b6: 60fb str r3, [r7, #12] 80550b8: e002 b.n 80550c0 80550ba: 68fb ldr r3, [r7, #12] 80550bc: 3b01 subs r3, #1 80550be: 60fb str r3, [r7, #12] 80550c0: 68fb ldr r3, [r7, #12] 80550c2: 2b00 cmp r3, #0 80550c4: d1f9 bne.n 80550ba HAL_GPIO_WritePin(CR_GPIO_Port, CR_Pin, GPIO_PIN_SET); 80550c6: 2201 movs r2, #1 80550c8: f44f 4100 mov.w r1, #32768 ; 0x8000 80550cc: 480a ldr r0, [pc, #40] ; (80550f8 ) 80550ce: f060 fd6f bl 80b5bb0 HAL_Delay(20); 80550d2: 2014 movs r0, #20 80550d4: f05e f8bc bl 80b3250 for(i = 0; i < 3; i++) 80550d8: 68bb ldr r3, [r7, #8] 80550da: 3301 adds r3, #1 80550dc: 60bb str r3, [r7, #8] 80550de: 68bb ldr r3, [r7, #8] 80550e0: 2b02 cmp r3, #2 80550e2: d9b1 bls.n 8055048 } } 80550e4: bf00 nop 80550e6: 3710 adds r7, #16 80550e8: 46bd mov sp, r7 80550ea: bd80 pop {r7, pc} 80550ec: 2002167c .word 0x2002167c 80550f0: 080ee8f8 .word 0x080ee8f8 80550f4: 20023e60 .word 0x20023e60 80550f8: 40020000 .word 0x40020000 80550fc: 20068730 .word 0x20068730 8055100: 20068734 .word 0x20068734 08055104 : uint32_t MAX11270_GetData(void) { 8055104: b580 push {r7, lr} 8055106: b084 sub sp, #16 8055108: af02 add r7, sp, #8 int32_t low; uint32_t DataOut; static uint8_t faseCal = 0; aTxBuffer[0] = READ | DATA_REG; 805510a: 4b1c ldr r3, [pc, #112] ; (805517c ) 805510c: 22cd movs r2, #205 ; 0xcd 805510e: 701a strb r2, [r3, #0] aTxBuffer[1] = 0x00; 8055110: 4b1a ldr r3, [pc, #104] ; (805517c ) 8055112: 2200 movs r2, #0 8055114: 705a strb r2, [r3, #1] HAL_GPIO_WritePin(CR_GPIO_Port, CR_Pin, GPIO_PIN_RESET); 8055116: 2200 movs r2, #0 8055118: f44f 4100 mov.w r1, #32768 ; 0x8000 805511c: 4818 ldr r0, [pc, #96] ; (8055180 ) 805511e: f060 fd47 bl 80b5bb0 for(dly = 3; dly > 0; dly--); 8055122: 2303 movs r3, #3 8055124: 603b str r3, [r7, #0] 8055126: e002 b.n 805512e 8055128: 683b ldr r3, [r7, #0] 805512a: 3b01 subs r3, #1 805512c: 603b str r3, [r7, #0] 805512e: 683b ldr r3, [r7, #0] 8055130: 2b00 cmp r3, #0 8055132: d1f9 bne.n 8055128 HAL_SPI_TransmitReceive(&hspi1, aTxBuffer, &aRxBuffer.ch[0], 4, 100); 8055134: 2364 movs r3, #100 ; 0x64 8055136: 9300 str r3, [sp, #0] 8055138: 2304 movs r3, #4 805513a: 4a12 ldr r2, [pc, #72] ; (8055184 ) 805513c: 490f ldr r1, [pc, #60] ; (805517c ) 805513e: 4812 ldr r0, [pc, #72] ; (8055188 ) 8055140: f066 f981 bl 80bb446 for(dly = 3; dly > 0; dly--); 8055144: 2303 movs r3, #3 8055146: 603b str r3, [r7, #0] 8055148: e002 b.n 8055150 805514a: 683b ldr r3, [r7, #0] 805514c: 3b01 subs r3, #1 805514e: 603b str r3, [r7, #0] 8055150: 683b ldr r3, [r7, #0] 8055152: 2b00 cmp r3, #0 8055154: d1f9 bne.n 805514a HAL_GPIO_WritePin(CR_GPIO_Port, CR_Pin, GPIO_PIN_SET); 8055156: 2201 movs r2, #1 8055158: f44f 4100 mov.w r1, #32768 ; 0x8000 805515c: 4808 ldr r0, [pc, #32] ; (8055180 ) 805515e: f060 fd27 bl 80b5bb0 DataOut = ((uint32_t) (aRxBuffer.sh[0] << 8) | aRxBuffer.sh[1]); 8055162: 4b08 ldr r3, [pc, #32] ; (8055184 ) 8055164: 881b ldrh r3, [r3, #0] 8055166: 021b lsls r3, r3, #8 8055168: 461a mov r2, r3 805516a: 4b06 ldr r3, [pc, #24] ; (8055184 ) 805516c: 885b ldrh r3, [r3, #2] 805516e: 4313 orrs r3, r2 8055170: 607b str r3, [r7, #4] return DataOut; 8055172: 687b ldr r3, [r7, #4] } 8055174: 4618 mov r0, r3 8055176: 3708 adds r7, #8 8055178: 46bd mov sp, r7 805517a: bd80 pop {r7, pc} 805517c: 2002167c .word 0x2002167c 8055180: 40020000 .word 0x40020000 8055184: 20068730 .word 0x20068730 8055188: 20068734 .word 0x20068734 0805518c : void MAX11270_IRQ(void) { 805518c: b580 push {r7, lr} 805518e: b082 sub sp, #8 8055190: af00 add r7, sp, #0 __IO uint32_t Data32; //__IO uint16_t Tacho; Data32 = MAX11270_GetData() & 0xfffffe; 8055192: f7ff ffb7 bl 8055104 8055196: 4602 mov r2, r0 8055198: 4b9e ldr r3, [pc, #632] ; (8055414 ) 805519a: 4013 ands r3, r2 805519c: 607b str r3, [r7, #4] ADC_Started = true; 805519e: 4b9e ldr r3, [pc, #632] ; (8055418 ) 80551a0: 2201 movs r2, #1 80551a2: 701a strb r2, [r3, #0] /*#if (defined(USE_D102) || defined(USE_D141) || defined(USE_D142)) Tacho = TACHO_SAMPLE; #endif*/ if(FLAG_CALC_MEAN) 80551a4: 4b9d ldr r3, [pc, #628] ; (805541c ) 80551a6: 781b ldrb r3, [r3, #0] 80551a8: b2db uxtb r3, r3 80551aa: 2b00 cmp r3, #0 80551ac: d031 beq.n 8055212 { REC_MEAN += (float64_t) Data32; 80551ae: 687b ldr r3, [r7, #4] 80551b0: ee07 3a90 vmov s15, r3 80551b4: eeb8 6b67 vcvt.f64.u32 d6, s15 80551b8: 4b99 ldr r3, [pc, #612] ; (8055420 ) 80551ba: ed93 7b00 vldr d7, [r3] 80551be: ee36 7b07 vadd.f64 d7, d6, d7 80551c2: 4b97 ldr r3, [pc, #604] ; (8055420 ) 80551c4: ed83 7b00 vstr d7, [r3] CNT_MEAN++; 80551c8: 4b96 ldr r3, [pc, #600] ; (8055424 ) 80551ca: 681b ldr r3, [r3, #0] 80551cc: 3301 adds r3, #1 80551ce: 4a95 ldr r2, [pc, #596] ; (8055424 ) 80551d0: 6013 str r3, [r2, #0] if(CNT_MEAN == 102400UL) 80551d2: 4b94 ldr r3, [pc, #592] ; (8055424 ) 80551d4: 681b ldr r3, [r3, #0] 80551d6: f5b3 3fc8 cmp.w r3, #102400 ; 0x19000 80551da: f040 832b bne.w 8055834 { REC_MEAN /= (float64_t) CNT_MEAN; 80551de: 4b91 ldr r3, [pc, #580] ; (8055424 ) 80551e0: 681b ldr r3, [r3, #0] 80551e2: ee07 3a90 vmov s15, r3 80551e6: eeb8 6b67 vcvt.f64.u32 d6, s15 80551ea: 4b8d ldr r3, [pc, #564] ; (8055420 ) 80551ec: ed93 5b00 vldr d5, [r3] 80551f0: ee85 7b06 vdiv.f64 d7, d5, d6 80551f4: 4b8a ldr r3, [pc, #552] ; (8055420 ) 80551f6: ed83 7b00 vstr d7, [r3] MEAN_TEMP = (float32_t) REC_MEAN; 80551fa: 4b89 ldr r3, [pc, #548] ; (8055420 ) 80551fc: ed93 7b00 vldr d7, [r3] 8055200: eef7 7bc7 vcvt.f32.f64 s15, d7 8055204: 4b88 ldr r3, [pc, #544] ; (8055428 ) 8055206: edc3 7a00 vstr s15, [r3] CNT_MEAN = 0; 805520a: 4b86 ldr r3, [pc, #536] ; (8055424 ) 805520c: 2200 movs r2, #0 805520e: 601a str r2, [r3, #0] } } } } } } 8055210: e310 b.n 8055834 if(measuring) 8055212: 4b86 ldr r3, [pc, #536] ; (805542c ) 8055214: 781b ldrb r3, [r3, #0] 8055216: b2db uxtb r3, r3 8055218: 2b00 cmp r3, #0 805521a: f000 830b beq.w 8055834 AdcBuff(cntADC++) = Data32; 805521e: 4b84 ldr r3, [pc, #528] ; (8055430 ) 8055220: 881b ldrh r3, [r3, #0] 8055222: b29b uxth r3, r3 8055224: 1c5a adds r2, r3, #1 8055226: b291 uxth r1, r2 8055228: 4a81 ldr r2, [pc, #516] ; (8055430 ) 805522a: 8011 strh r1, [r2, #0] 805522c: 009b lsls r3, r3, #2 805522e: 461a mov r2, r3 8055230: 4b80 ldr r3, [pc, #512] ; (8055434 ) 8055232: 4413 add r3, r2 8055234: 687a ldr r2, [r7, #4] 8055236: 601a str r2, [r3, #0] if(cntADC == SIZE_ADC_BUFF) { 8055238: 4b7d ldr r3, [pc, #500] ; (8055430 ) 805523a: 881b ldrh r3, [r3, #0] 805523c: b29b uxth r3, r3 805523e: f5b3 4f00 cmp.w r3, #32768 ; 0x8000 8055242: d102 bne.n 805524a cntADC = 0; 8055244: 4b7a ldr r3, [pc, #488] ; (8055430 ) 8055246: 2200 movs r2, #0 8055248: 801a strh r2, [r3, #0] if(pardata.SYG != WAVE) 805524a: 4b7b ldr r3, [pc, #492] ; (8055438 ) 805524c: 781b ldrb r3, [r3, #0] 805524e: b2db uxtb r3, r3 8055250: 2b04 cmp r3, #4 8055252: f000 811e beq.w 8055492 if(FirstTime) 8055256: 4b79 ldr r3, [pc, #484] ; (805543c ) 8055258: 781b ldrb r3, [r3, #0] 805525a: b2db uxtb r3, r3 805525c: 2b00 cmp r3, #0 805525e: d017 beq.n 8055290 if(cntADC >= Ns) 8055260: 4b73 ldr r3, [pc, #460] ; (8055430 ) 8055262: 881b ldrh r3, [r3, #0] 8055264: b29b uxth r3, r3 8055266: 461a mov r2, r3 8055268: 4b75 ldr r3, [pc, #468] ; (8055440 ) 805526a: 681b ldr r3, [r3, #0] 805526c: 429a cmp r2, r3 805526e: f0c0 82e1 bcc.w 8055834 cntmeas = 0; 8055272: 4b74 ldr r3, [pc, #464] ; (8055444 ) 8055274: 2200 movs r2, #0 8055276: 801a strh r2, [r3, #0] lastcntmeas = cntADC; 8055278: 4b6d ldr r3, [pc, #436] ; (8055430 ) 805527a: 881b ldrh r3, [r3, #0] 805527c: b29a uxth r2, r3 805527e: 4b72 ldr r3, [pc, #456] ; (8055448 ) 8055280: 801a strh r2, [r3, #0] FirstTime = false; 8055282: 4b6e ldr r3, [pc, #440] ; (805543c ) 8055284: 2200 movs r2, #0 8055286: 701a strb r2, [r3, #0] READY = DATA_CAPTURED; 8055288: 4b70 ldr r3, [pc, #448] ; (805544c ) 805528a: 2207 movs r2, #7 805528c: 701a strb r2, [r3, #0] } 805528e: e2d1 b.n 8055834 if(Flag_Set_KU == 0) 8055290: 4b6f ldr r3, [pc, #444] ; (8055450 ) 8055292: 781b ldrb r3, [r3, #0] 8055294: b2db uxtb r3, r3 8055296: 2b00 cmp r3, #0 8055298: d107 bne.n 80552aa cntmeas++; 805529a: 4b6a ldr r3, [pc, #424] ; (8055444 ) 805529c: 881b ldrh r3, [r3, #0] 805529e: b29b uxth r3, r3 80552a0: 3301 adds r3, #1 80552a2: b29a uxth r2, r3 80552a4: 4b67 ldr r3, [pc, #412] ; (8055444 ) 80552a6: 801a strh r2, [r3, #0] 80552a8: e00a b.n 80552c0 cntmeas = 0; 80552aa: 4b66 ldr r3, [pc, #408] ; (8055444 ) 80552ac: 2200 movs r2, #0 80552ae: 801a strh r2, [r3, #0] if(READY == DATA_CAPTURED) { 80552b0: 4b66 ldr r3, [pc, #408] ; (805544c ) 80552b2: 781b ldrb r3, [r3, #0] 80552b4: b2db uxtb r3, r3 80552b6: 2b07 cmp r3, #7 80552b8: d102 bne.n 80552c0 READY = DATA_FREE; 80552ba: 4b64 ldr r3, [pc, #400] ; (805544c ) 80552bc: 2200 movs r2, #0 80552be: 701a strb r2, [r3, #0] switch(pardata.SYG) 80552c0: 4b5d ldr r3, [pc, #372] ; (8055438 ) 80552c2: 781b ldrb r3, [r3, #0] 80552c4: b2db uxtb r3, r3 80552c6: 2b0a cmp r3, #10 80552c8: f200 82b4 bhi.w 8055834 80552cc: a201 add r2, pc, #4 ; (adr r2, 80552d4 ) 80552ce: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80552d2: bf00 nop 80552d4: 08055301 .word 0x08055301 80552d8: 08055459 .word 0x08055459 80552dc: 0805535d .word 0x0805535d 80552e0: 08055301 .word 0x08055301 80552e4: 08055835 .word 0x08055835 80552e8: 08055459 .word 0x08055459 80552ec: 080553b9 .word 0x080553b9 80552f0: 080553b9 .word 0x080553b9 80552f4: 08055459 .word 0x08055459 80552f8: 0805535d .word 0x0805535d 80552fc: 08055301 .word 0x08055301 if(cntmeas >= Ns) 8055300: 4b50 ldr r3, [pc, #320] ; (8055444 ) 8055302: 881b ldrh r3, [r3, #0] 8055304: b29b uxth r3, r3 8055306: 461a mov r2, r3 8055308: 4b4d ldr r3, [pc, #308] ; (8055440 ) 805530a: 681b ldr r3, [r3, #0] 805530c: 429a cmp r2, r3 805530e: f0c0 828a bcc.w 8055826 if(cntmeas == Ns) { 8055312: 4b4c ldr r3, [pc, #304] ; (8055444 ) 8055314: 881b ldrh r3, [r3, #0] 8055316: b29b uxth r3, r3 8055318: 461a mov r2, r3 805531a: 4b49 ldr r3, [pc, #292] ; (8055440 ) 805531c: 681b ldr r3, [r3, #0] 805531e: 429a cmp r2, r3 8055320: d104 bne.n 805532c lastcntmeas = cntADC; 8055322: 4b43 ldr r3, [pc, #268] ; (8055430 ) 8055324: 881b ldrh r3, [r3, #0] 8055326: b29a uxth r2, r3 8055328: 4b47 ldr r3, [pc, #284] ; (8055448 ) 805532a: 801a strh r2, [r3, #0] if(READY == DATA_FREE) 805532c: 4b47 ldr r3, [pc, #284] ; (805544c ) 805532e: 781b ldrb r3, [r3, #0] 8055330: b2db uxtb r3, r3 8055332: 2b00 cmp r3, #0 8055334: f040 8277 bne.w 8055826 READY = DATA_CAPTURED; 8055338: 4b44 ldr r3, [pc, #272] ; (805544c ) 805533a: 2207 movs r2, #7 805533c: 701a strb r2, [r3, #0] if(cntmeas > Ns) 805533e: 4b41 ldr r3, [pc, #260] ; (8055444 ) 8055340: 881b ldrh r3, [r3, #0] 8055342: b29b uxth r3, r3 8055344: 461a mov r2, r3 8055346: 4b3e ldr r3, [pc, #248] ; (8055440 ) 8055348: 681b ldr r3, [r3, #0] 805534a: 429a cmp r2, r3 805534c: d902 bls.n 8055354 DataCopied = false; 805534e: 4b41 ldr r3, [pc, #260] ; (8055454 ) 8055350: 2200 movs r2, #0 8055352: 701a strb r2, [r3, #0] cntmeas = 0; 8055354: 4b3b ldr r3, [pc, #236] ; (8055444 ) 8055356: 2200 movs r2, #0 8055358: 801a strh r2, [r3, #0] break; 805535a: e264 b.n 8055826 if(cntmeas >= Ns) 805535c: 4b39 ldr r3, [pc, #228] ; (8055444 ) 805535e: 881b ldrh r3, [r3, #0] 8055360: b29b uxth r3, r3 8055362: 461a mov r2, r3 8055364: 4b36 ldr r3, [pc, #216] ; (8055440 ) 8055366: 681b ldr r3, [r3, #0] 8055368: 429a cmp r2, r3 805536a: f0c0 825e bcc.w 805582a if(cntmeas == Ns) { 805536e: 4b35 ldr r3, [pc, #212] ; (8055444 ) 8055370: 881b ldrh r3, [r3, #0] 8055372: b29b uxth r3, r3 8055374: 461a mov r2, r3 8055376: 4b32 ldr r3, [pc, #200] ; (8055440 ) 8055378: 681b ldr r3, [r3, #0] 805537a: 429a cmp r2, r3 805537c: d104 bne.n 8055388 lastcntmeas = cntADC; 805537e: 4b2c ldr r3, [pc, #176] ; (8055430 ) 8055380: 881b ldrh r3, [r3, #0] 8055382: b29a uxth r2, r3 8055384: 4b30 ldr r3, [pc, #192] ; (8055448 ) 8055386: 801a strh r2, [r3, #0] if(READY == DATA_FREE) 8055388: 4b30 ldr r3, [pc, #192] ; (805544c ) 805538a: 781b ldrb r3, [r3, #0] 805538c: b2db uxtb r3, r3 805538e: 2b00 cmp r3, #0 8055390: f040 824b bne.w 805582a READY = DATA_CAPTURED; 8055394: 4b2d ldr r3, [pc, #180] ; (805544c ) 8055396: 2207 movs r2, #7 8055398: 701a strb r2, [r3, #0] if(cntmeas > Ns) 805539a: 4b2a ldr r3, [pc, #168] ; (8055444 ) 805539c: 881b ldrh r3, [r3, #0] 805539e: b29b uxth r3, r3 80553a0: 461a mov r2, r3 80553a2: 4b27 ldr r3, [pc, #156] ; (8055440 ) 80553a4: 681b ldr r3, [r3, #0] 80553a6: 429a cmp r2, r3 80553a8: d902 bls.n 80553b0 DataCopied = false; 80553aa: 4b2a ldr r3, [pc, #168] ; (8055454 ) 80553ac: 2200 movs r2, #0 80553ae: 701a strb r2, [r3, #0] cntmeas = 0; 80553b0: 4b24 ldr r3, [pc, #144] ; (8055444 ) 80553b2: 2200 movs r2, #0 80553b4: 801a strh r2, [r3, #0] break; 80553b6: e238 b.n 805582a if(cntmeas >= Ns) 80553b8: 4b22 ldr r3, [pc, #136] ; (8055444 ) 80553ba: 881b ldrh r3, [r3, #0] 80553bc: b29b uxth r3, r3 80553be: 461a mov r2, r3 80553c0: 4b1f ldr r3, [pc, #124] ; (8055440 ) 80553c2: 681b ldr r3, [r3, #0] 80553c4: 429a cmp r2, r3 80553c6: f0c0 8232 bcc.w 805582e if(cntmeas == Ns) { 80553ca: 4b1e ldr r3, [pc, #120] ; (8055444 ) 80553cc: 881b ldrh r3, [r3, #0] 80553ce: b29b uxth r3, r3 80553d0: 461a mov r2, r3 80553d2: 4b1b ldr r3, [pc, #108] ; (8055440 ) 80553d4: 681b ldr r3, [r3, #0] 80553d6: 429a cmp r2, r3 80553d8: d104 bne.n 80553e4 lastcntmeas = cntADC; 80553da: 4b15 ldr r3, [pc, #84] ; (8055430 ) 80553dc: 881b ldrh r3, [r3, #0] 80553de: b29a uxth r2, r3 80553e0: 4b19 ldr r3, [pc, #100] ; (8055448 ) 80553e2: 801a strh r2, [r3, #0] if(READY == DATA_FREE) 80553e4: 4b19 ldr r3, [pc, #100] ; (805544c ) 80553e6: 781b ldrb r3, [r3, #0] 80553e8: b2db uxtb r3, r3 80553ea: 2b00 cmp r3, #0 80553ec: f040 821f bne.w 805582e READY = DATA_CAPTURED; 80553f0: 4b16 ldr r3, [pc, #88] ; (805544c ) 80553f2: 2207 movs r2, #7 80553f4: 701a strb r2, [r3, #0] if(cntmeas > Ns) 80553f6: 4b13 ldr r3, [pc, #76] ; (8055444 ) 80553f8: 881b ldrh r3, [r3, #0] 80553fa: b29b uxth r3, r3 80553fc: 461a mov r2, r3 80553fe: 4b10 ldr r3, [pc, #64] ; (8055440 ) 8055400: 681b ldr r3, [r3, #0] 8055402: 429a cmp r2, r3 8055404: d902 bls.n 805540c DataCopied = false; 8055406: 4b13 ldr r3, [pc, #76] ; (8055454 ) 8055408: 2200 movs r2, #0 805540a: 701a strb r2, [r3, #0] cntmeas = 0; 805540c: 4b0d ldr r3, [pc, #52] ; (8055444 ) 805540e: 2200 movs r2, #0 8055410: 801a strh r2, [r3, #0] break; 8055412: e20c b.n 805582e 8055414: 00fffffe .word 0x00fffffe 8055418: 20020d74 .word 0x20020d74 805541c: 2002168e .word 0x2002168e 8055420: 20021690 .word 0x20021690 8055424: 20021698 .word 0x20021698 8055428: 200209d0 .word 0x200209d0 805542c: 20020daf .word 0x20020daf 8055430: 20020d7c .word 0x20020d7c 8055434: 64060000 .word 0x64060000 8055438: 20023e60 .word 0x20023e60 805543c: 20020dae .word 0x20020dae 8055440: 20021cdc .word 0x20021cdc 8055444: 20020d80 .word 0x20020d80 8055448: 20020d84 .word 0x20020d84 805544c: 20020d7f .word 0x20020d7f 8055450: 20020d7e .word 0x20020d7e 8055454: 20021688 .word 0x20021688 if(cntmeas >= (Ns >> 2)) 8055458: 4b86 ldr r3, [pc, #536] ; (8055674 ) 805545a: 881b ldrh r3, [r3, #0] 805545c: b29b uxth r3, r3 805545e: 461a mov r2, r3 8055460: 4b85 ldr r3, [pc, #532] ; (8055678 ) 8055462: 681b ldr r3, [r3, #0] 8055464: 089b lsrs r3, r3, #2 8055466: 429a cmp r2, r3 8055468: f0c0 81e3 bcc.w 8055832 if(READY == DATA_FREE) 805546c: 4b83 ldr r3, [pc, #524] ; (805567c ) 805546e: 781b ldrb r3, [r3, #0] 8055470: b2db uxtb r3, r3 8055472: 2b00 cmp r3, #0 8055474: f040 81dd bne.w 8055832 lastcntmeas = cntADC; 8055478: 4b81 ldr r3, [pc, #516] ; (8055680 ) 805547a: 881b ldrh r3, [r3, #0] 805547c: b29a uxth r2, r3 805547e: 4b81 ldr r3, [pc, #516] ; (8055684 ) 8055480: 801a strh r2, [r3, #0] READY = DATA_CAPTURED; 8055482: 4b7e ldr r3, [pc, #504] ; (805567c ) 8055484: 2207 movs r2, #7 8055486: 701a strb r2, [r3, #0] cntmeas = 0; 8055488: 4b7a ldr r3, [pc, #488] ; (8055674 ) 805548a: 2200 movs r2, #0 805548c: 801a strh r2, [r3, #0] break; 805548e: bf00 nop 8055490: e1cf b.n 8055832 if(Threshold) 8055492: 4b7d ldr r3, [pc, #500] ; (8055688 ) 8055494: 781b ldrb r3, [r3, #0] 8055496: b2db uxtb r3, r3 8055498: 2b00 cmp r3, #0 805549a: f000 8157 beq.w 805574c if(FirstTime) 805549e: 4b7b ldr r3, [pc, #492] ; (805568c ) 80554a0: 781b ldrb r3, [r3, #0] 80554a2: b2db uxtb r3, r3 80554a4: 2b00 cmp r3, #0 80554a6: d01c beq.n 80554e2 if(cntADC >= (Ns >> 2)) 80554a8: 4b75 ldr r3, [pc, #468] ; (8055680 ) 80554aa: 881b ldrh r3, [r3, #0] 80554ac: b29b uxth r3, r3 80554ae: 461a mov r2, r3 80554b0: 4b71 ldr r3, [pc, #452] ; (8055678 ) 80554b2: 681b ldr r3, [r3, #0] 80554b4: 089b lsrs r3, r3, #2 80554b6: 429a cmp r2, r3 80554b8: f0c0 81bc bcc.w 8055834 cntmeas = cntmeas1 = 0; 80554bc: 2100 movs r1, #0 80554be: 4b74 ldr r3, [pc, #464] ; (8055690 ) 80554c0: 460a mov r2, r1 80554c2: 801a strh r2, [r3, #0] 80554c4: 4b6b ldr r3, [pc, #428] ; (8055674 ) 80554c6: 460a mov r2, r1 80554c8: 801a strh r2, [r3, #0] lastcntmeas = cntADC; 80554ca: 4b6d ldr r3, [pc, #436] ; (8055680 ) 80554cc: 881b ldrh r3, [r3, #0] 80554ce: b29a uxth r2, r3 80554d0: 4b6c ldr r3, [pc, #432] ; (8055684 ) 80554d2: 801a strh r2, [r3, #0] FirstTime = false; 80554d4: 4b6d ldr r3, [pc, #436] ; (805568c ) 80554d6: 2200 movs r2, #0 80554d8: 701a strb r2, [r3, #0] RepeatKm = false; 80554da: 4b6e ldr r3, [pc, #440] ; (8055694 ) 80554dc: 2200 movs r2, #0 80554de: 701a strb r2, [r3, #0] } 80554e0: e1a8 b.n 8055834 if(Recording == false) 80554e2: 4b6d ldr r3, [pc, #436] ; (8055698 ) 80554e4: 781b ldrb r3, [r3, #0] 80554e6: b2db uxtb r3, r3 80554e8: f083 0301 eor.w r3, r3, #1 80554ec: b2db uxtb r3, r3 80554ee: 2b00 cmp r3, #0 80554f0: f000 80e2 beq.w 80556b8 if((pardata.IVS[ACC] & 0x3) != RMS) 80554f4: 4b69 ldr r3, [pc, #420] ; (805569c ) 80554f6: 789b ldrb r3, [r3, #2] 80554f8: b2db uxtb r3, r3 80554fa: f003 0303 and.w r3, r3, #3 80554fe: 2b01 cmp r3, #1 8055500: d06d beq.n 80555de if(StateThr == 0xffffffff) 8055502: 4b67 ldr r3, [pc, #412] ; (80556a0 ) 8055504: 681b ldr r3, [r3, #0] 8055506: f1b3 3fff cmp.w r3, #4294967295 805550a: d128 bne.n 805555e if(Data32 >= adcThr) 805550c: 687a ldr r2, [r7, #4] 805550e: 4b65 ldr r3, [pc, #404] ; (80556a4 ) 8055510: 681b ldr r3, [r3, #0] 8055512: 429a cmp r2, r3 8055514: d30e bcc.n 8055534 cntmeas = 2049; 8055516: 4b57 ldr r3, [pc, #348] ; (8055674 ) 8055518: f640 0201 movw r2, #2049 ; 0x801 805551c: 801a strh r2, [r3, #0] StateThr = 0xfffffffe; 805551e: 4b60 ldr r3, [pc, #384] ; (80556a0 ) 8055520: f06f 0201 mvn.w r2, #1 8055524: 601a str r2, [r3, #0] ZeroThr = cntADC; 8055526: 4b56 ldr r3, [pc, #344] ; (8055680 ) 8055528: 881b ldrh r3, [r3, #0] 805552a: b29b uxth r3, r3 805552c: 461a mov r2, r3 805552e: 4b5e ldr r3, [pc, #376] ; (80556a8 ) 8055530: 601a str r2, [r3, #0] } 8055532: e17f b.n 8055834 if(Data32 <= _adcThr) 8055534: 687a ldr r2, [r7, #4] 8055536: 4b5d ldr r3, [pc, #372] ; (80556ac ) 8055538: 681b ldr r3, [r3, #0] 805553a: 429a cmp r2, r3 805553c: f200 817a bhi.w 8055834 cntmeas = 2049; 8055540: 4b4c ldr r3, [pc, #304] ; (8055674 ) 8055542: f640 0201 movw r2, #2049 ; 0x801 8055546: 801a strh r2, [r3, #0] StateThr = 0xefffffff; 8055548: 4b55 ldr r3, [pc, #340] ; (80556a0 ) 805554a: f06f 5280 mvn.w r2, #268435456 ; 0x10000000 805554e: 601a str r2, [r3, #0] ZeroThr = cntADC; 8055550: 4b4b ldr r3, [pc, #300] ; (8055680 ) 8055552: 881b ldrh r3, [r3, #0] 8055554: b29b uxth r3, r3 8055556: 461a mov r2, r3 8055558: 4b53 ldr r3, [pc, #332] ; (80556a8 ) 805555a: 601a str r2, [r3, #0] } 805555c: e16a b.n 8055834 if(StateThr == 0xfffffffe) 805555e: 4b50 ldr r3, [pc, #320] ; (80556a0 ) 8055560: 681b ldr r3, [r3, #0] 8055562: f113 0f02 cmn.w r3, #2 8055566: d119 bne.n 805559c if(Data32 >= adcThr) 8055568: 687a ldr r2, [r7, #4] 805556a: 4b4e ldr r3, [pc, #312] ; (80556a4 ) 805556c: 681b ldr r3, [r3, #0] 805556e: 429a cmp r2, r3 8055570: d30f bcc.n 8055592 StateThr = 0xffffffff; 8055572: 4b4b ldr r3, [pc, #300] ; (80556a0 ) 8055574: f04f 32ff mov.w r2, #4294967295 8055578: 601a str r2, [r3, #0] cntmeas = 2050; 805557a: 4b3e ldr r3, [pc, #248] ; (8055674 ) 805557c: f640 0202 movw r2, #2050 ; 0x802 8055580: 801a strh r2, [r3, #0] TimeRec = 2050; 8055582: 4b4b ldr r3, [pc, #300] ; (80556b0 ) 8055584: f640 0202 movw r2, #2050 ; 0x802 8055588: 601a str r2, [r3, #0] Recording = true; 805558a: 4b43 ldr r3, [pc, #268] ; (8055698 ) 805558c: 2201 movs r2, #1 805558e: 701a strb r2, [r3, #0] } 8055590: e150 b.n 8055834 StateThr = 0xffffffff; 8055592: 4b43 ldr r3, [pc, #268] ; (80556a0 ) 8055594: f04f 32ff mov.w r2, #4294967295 8055598: 601a str r2, [r3, #0] } 805559a: e14b b.n 8055834 if(StateThr == 0xefffffff) 805559c: 4b40 ldr r3, [pc, #256] ; (80556a0 ) 805559e: 681b ldr r3, [r3, #0] 80555a0: f06f 5280 mvn.w r2, #268435456 ; 0x10000000 80555a4: 4293 cmp r3, r2 80555a6: f040 8145 bne.w 8055834 if(Data32 <= _adcThr) 80555aa: 687a ldr r2, [r7, #4] 80555ac: 4b3f ldr r3, [pc, #252] ; (80556ac ) 80555ae: 681b ldr r3, [r3, #0] 80555b0: 429a cmp r2, r3 80555b2: d80f bhi.n 80555d4 StateThr = 0xffffffff; 80555b4: 4b3a ldr r3, [pc, #232] ; (80556a0 ) 80555b6: f04f 32ff mov.w r2, #4294967295 80555ba: 601a str r2, [r3, #0] cntmeas = 2050; 80555bc: 4b2d ldr r3, [pc, #180] ; (8055674 ) 80555be: f640 0202 movw r2, #2050 ; 0x802 80555c2: 801a strh r2, [r3, #0] TimeRec = 2050; 80555c4: 4b3a ldr r3, [pc, #232] ; (80556b0 ) 80555c6: f640 0202 movw r2, #2050 ; 0x802 80555ca: 601a str r2, [r3, #0] Recording = true; 80555cc: 4b32 ldr r3, [pc, #200] ; (8055698 ) 80555ce: 2201 movs r2, #1 80555d0: 701a strb r2, [r3, #0] } 80555d2: e12f b.n 8055834 StateThr = 0xffffffff; 80555d4: 4b32 ldr r3, [pc, #200] ; (80556a0 ) 80555d6: f04f 32ff mov.w r2, #4294967295 80555da: 601a str r2, [r3, #0] } 80555dc: e12a b.n 8055834 cntmeas++; 80555de: 4b25 ldr r3, [pc, #148] ; (8055674 ) 80555e0: 881b ldrh r3, [r3, #0] 80555e2: b29b uxth r3, r3 80555e4: 3301 adds r3, #1 80555e6: b29a uxth r2, r3 80555e8: 4b22 ldr r3, [pc, #136] ; (8055674 ) 80555ea: 801a strh r2, [r3, #0] if(cntmeas >= Ns) 80555ec: 4b21 ldr r3, [pc, #132] ; (8055674 ) 80555ee: 881b ldrh r3, [r3, #0] 80555f0: b29b uxth r3, r3 80555f2: 461a mov r2, r3 80555f4: 4b20 ldr r3, [pc, #128] ; (8055678 ) 80555f6: 681b ldr r3, [r3, #0] 80555f8: 429a cmp r2, r3 80555fa: f0c0 811b bcc.w 8055834 if(cntmeas == Ns) 80555fe: 4b1d ldr r3, [pc, #116] ; (8055674 ) 8055600: 881b ldrh r3, [r3, #0] 8055602: b29b uxth r3, r3 8055604: 461a mov r2, r3 8055606: 4b1c ldr r3, [pc, #112] ; (8055678 ) 8055608: 681b ldr r3, [r3, #0] 805560a: 429a cmp r2, r3 805560c: d10e bne.n 805562c lastcntmeas = cntADC; 805560e: 4b1c ldr r3, [pc, #112] ; (8055680 ) 8055610: 881b ldrh r3, [r3, #0] 8055612: b29a uxth r2, r3 8055614: 4b1b ldr r3, [pc, #108] ; (8055684 ) 8055616: 801a strh r2, [r3, #0] measlen = Ns; 8055618: 4b17 ldr r3, [pc, #92] ; (8055678 ) 805561a: 681b ldr r3, [r3, #0] 805561c: b29a uxth r2, r3 805561e: 4b25 ldr r3, [pc, #148] ; (80556b4 ) 8055620: 801a strh r2, [r3, #0] cntmeas1 = cntmeas; 8055622: 4b14 ldr r3, [pc, #80] ; (8055674 ) 8055624: 881b ldrh r3, [r3, #0] 8055626: b29a uxth r2, r3 8055628: 4b19 ldr r3, [pc, #100] ; (8055690 ) 805562a: 801a strh r2, [r3, #0] if(READY == DATA_FREE) 805562c: 4b13 ldr r3, [pc, #76] ; (805567c ) 805562e: 781b ldrb r3, [r3, #0] 8055630: b2db uxtb r3, r3 8055632: 2b00 cmp r3, #0 8055634: f040 80fe bne.w 8055834 if(cntmeas > cntmeas1) 8055638: 4b0e ldr r3, [pc, #56] ; (8055674 ) 805563a: 881b ldrh r3, [r3, #0] 805563c: b29a uxth r2, r3 805563e: 4b14 ldr r3, [pc, #80] ; (8055690 ) 8055640: 881b ldrh r3, [r3, #0] 8055642: b29b uxth r3, r3 8055644: 429a cmp r2, r3 8055646: d90a bls.n 805565e cntmeas -= cntmeas1; 8055648: 4b11 ldr r3, [pc, #68] ; (8055690 ) 805564a: 881b ldrh r3, [r3, #0] 805564c: b29b uxth r3, r3 805564e: 4a09 ldr r2, [pc, #36] ; (8055674 ) 8055650: 8812 ldrh r2, [r2, #0] 8055652: b292 uxth r2, r2 8055654: 1ad3 subs r3, r2, r3 8055656: b29a uxth r2, r3 8055658: 4b06 ldr r3, [pc, #24] ; (8055674 ) 805565a: 801a strh r2, [r3, #0] 805565c: e002 b.n 8055664 else cntmeas = 0; 805565e: 4b05 ldr r3, [pc, #20] ; (8055674 ) 8055660: 2200 movs r2, #0 8055662: 801a strh r2, [r3, #0] cntmeas1 = 0; 8055664: 4b0a ldr r3, [pc, #40] ; (8055690 ) 8055666: 2200 movs r2, #0 8055668: 801a strh r2, [r3, #0] READY = DATA_CAPTURED; 805566a: 4b04 ldr r3, [pc, #16] ; (805567c ) 805566c: 2207 movs r2, #7 805566e: 701a strb r2, [r3, #0] } 8055670: e0e0 b.n 8055834 8055672: bf00 nop 8055674: 20020d80 .word 0x20020d80 8055678: 20021cdc .word 0x20021cdc 805567c: 20020d7f .word 0x20020d7f 8055680: 20020d7c .word 0x20020d7c 8055684: 20020d84 .word 0x20020d84 8055688: 20020db1 .word 0x20020db1 805568c: 20020dae .word 0x20020dae 8055690: 20020d82 .word 0x20020d82 8055694: 20020dac .word 0x20020dac 8055698: 20020db0 .word 0x20020db0 805569c: 20023e60 .word 0x20023e60 80556a0: 2002002c .word 0x2002002c 80556a4: 20020dbc .word 0x20020dbc 80556a8: 20020dc4 .word 0x20020dc4 80556ac: 20020dc0 .word 0x20020dc0 80556b0: 20021684 .word 0x20021684 80556b4: 20020d8c .word 0x20020d8c cntmeas++; 80556b8: 4b60 ldr r3, [pc, #384] ; (805583c ) 80556ba: 881b ldrh r3, [r3, #0] 80556bc: b29b uxth r3, r3 80556be: 3301 adds r3, #1 80556c0: b29a uxth r2, r3 80556c2: 4b5e ldr r3, [pc, #376] ; (805583c ) 80556c4: 801a strh r2, [r3, #0] if(cntmeas >= Ns) 80556c6: 4b5d ldr r3, [pc, #372] ; (805583c ) 80556c8: 881b ldrh r3, [r3, #0] 80556ca: b29b uxth r3, r3 80556cc: 461a mov r2, r3 80556ce: 4b5c ldr r3, [pc, #368] ; (8055840 ) 80556d0: 681b ldr r3, [r3, #0] 80556d2: 429a cmp r2, r3 80556d4: f0c0 80ae bcc.w 8055834 if(cntmeas == Ns) 80556d8: 4b58 ldr r3, [pc, #352] ; (805583c ) 80556da: 881b ldrh r3, [r3, #0] 80556dc: b29b uxth r3, r3 80556de: 461a mov r2, r3 80556e0: 4b57 ldr r3, [pc, #348] ; (8055840 ) 80556e2: 681b ldr r3, [r3, #0] 80556e4: 429a cmp r2, r3 80556e6: d10e bne.n 8055706 lastcntmeas = cntADC; 80556e8: 4b56 ldr r3, [pc, #344] ; (8055844 ) 80556ea: 881b ldrh r3, [r3, #0] 80556ec: b29a uxth r2, r3 80556ee: 4b56 ldr r3, [pc, #344] ; (8055848 ) 80556f0: 801a strh r2, [r3, #0] measlen = Ns; 80556f2: 4b53 ldr r3, [pc, #332] ; (8055840 ) 80556f4: 681b ldr r3, [r3, #0] 80556f6: b29a uxth r2, r3 80556f8: 4b54 ldr r3, [pc, #336] ; (805584c ) 80556fa: 801a strh r2, [r3, #0] cntmeas1 = cntmeas; 80556fc: 4b4f ldr r3, [pc, #316] ; (805583c ) 80556fe: 881b ldrh r3, [r3, #0] 8055700: b29a uxth r2, r3 8055702: 4b53 ldr r3, [pc, #332] ; (8055850 ) 8055704: 801a strh r2, [r3, #0] if(READY == DATA_FREE) 8055706: 4b53 ldr r3, [pc, #332] ; (8055854 ) 8055708: 781b ldrb r3, [r3, #0] 805570a: b2db uxtb r3, r3 805570c: 2b00 cmp r3, #0 805570e: f040 8091 bne.w 8055834 if(cntmeas > cntmeas1) 8055712: 4b4a ldr r3, [pc, #296] ; (805583c ) 8055714: 881b ldrh r3, [r3, #0] 8055716: b29a uxth r2, r3 8055718: 4b4d ldr r3, [pc, #308] ; (8055850 ) 805571a: 881b ldrh r3, [r3, #0] 805571c: b29b uxth r3, r3 805571e: 429a cmp r2, r3 8055720: d90a bls.n 8055738 cntmeas -= cntmeas1; 8055722: 4b4b ldr r3, [pc, #300] ; (8055850 ) 8055724: 881b ldrh r3, [r3, #0] 8055726: b29b uxth r3, r3 8055728: 4a44 ldr r2, [pc, #272] ; (805583c ) 805572a: 8812 ldrh r2, [r2, #0] 805572c: b292 uxth r2, r2 805572e: 1ad3 subs r3, r2, r3 8055730: b29a uxth r2, r3 8055732: 4b42 ldr r3, [pc, #264] ; (805583c ) 8055734: 801a strh r2, [r3, #0] 8055736: e002 b.n 805573e else cntmeas = 0; 8055738: 4b40 ldr r3, [pc, #256] ; (805583c ) 805573a: 2200 movs r2, #0 805573c: 801a strh r2, [r3, #0] cntmeas1 = 0; 805573e: 4b44 ldr r3, [pc, #272] ; (8055850 ) 8055740: 2200 movs r2, #0 8055742: 801a strh r2, [r3, #0] READY = DATA_CAPTURED; 8055744: 4b43 ldr r3, [pc, #268] ; (8055854 ) 8055746: 2207 movs r2, #7 8055748: 701a strb r2, [r3, #0] } 805574a: e073 b.n 8055834 if(FirstTime) 805574c: 4b42 ldr r3, [pc, #264] ; (8055858 ) 805574e: 781b ldrb r3, [r3, #0] 8055750: b2db uxtb r3, r3 8055752: 2b00 cmp r3, #0 8055754: d01f beq.n 8055796 if(cntADC >= Ns) 8055756: 4b3b ldr r3, [pc, #236] ; (8055844 ) 8055758: 881b ldrh r3, [r3, #0] 805575a: b29b uxth r3, r3 805575c: 461a mov r2, r3 805575e: 4b38 ldr r3, [pc, #224] ; (8055840 ) 8055760: 681b ldr r3, [r3, #0] 8055762: 429a cmp r2, r3 8055764: d366 bcc.n 8055834 measlen = cntADC; 8055766: 4b37 ldr r3, [pc, #220] ; (8055844 ) 8055768: 881b ldrh r3, [r3, #0] 805576a: b29a uxth r2, r3 805576c: 4b37 ldr r3, [pc, #220] ; (805584c ) 805576e: 801a strh r2, [r3, #0] lastcntmeas = cntADC; 8055770: 4b34 ldr r3, [pc, #208] ; (8055844 ) 8055772: 881b ldrh r3, [r3, #0] 8055774: b29a uxth r2, r3 8055776: 4b34 ldr r3, [pc, #208] ; (8055848 ) 8055778: 801a strh r2, [r3, #0] FirstTime = false; 805577a: 4b37 ldr r3, [pc, #220] ; (8055858 ) 805577c: 2200 movs r2, #0 805577e: 701a strb r2, [r3, #0] cntmeas = cntmeas1 = 0; 8055780: 2100 movs r1, #0 8055782: 4b33 ldr r3, [pc, #204] ; (8055850 ) 8055784: 460a mov r2, r1 8055786: 801a strh r2, [r3, #0] 8055788: 4b2c ldr r3, [pc, #176] ; (805583c ) 805578a: 460a mov r2, r1 805578c: 801a strh r2, [r3, #0] READY = DATA_CAPTURED; 805578e: 4b31 ldr r3, [pc, #196] ; (8055854 ) 8055790: 2207 movs r2, #7 8055792: 701a strb r2, [r3, #0] } 8055794: e04e b.n 8055834 cntmeas++; 8055796: 4b29 ldr r3, [pc, #164] ; (805583c ) 8055798: 881b ldrh r3, [r3, #0] 805579a: b29b uxth r3, r3 805579c: 3301 adds r3, #1 805579e: b29a uxth r2, r3 80557a0: 4b26 ldr r3, [pc, #152] ; (805583c ) 80557a2: 801a strh r2, [r3, #0] if(cntmeas >= Ns) 80557a4: 4b25 ldr r3, [pc, #148] ; (805583c ) 80557a6: 881b ldrh r3, [r3, #0] 80557a8: b29b uxth r3, r3 80557aa: 461a mov r2, r3 80557ac: 4b24 ldr r3, [pc, #144] ; (8055840 ) 80557ae: 681b ldr r3, [r3, #0] 80557b0: 429a cmp r2, r3 80557b2: d33f bcc.n 8055834 if(cntmeas == Ns) 80557b4: 4b21 ldr r3, [pc, #132] ; (805583c ) 80557b6: 881b ldrh r3, [r3, #0] 80557b8: b29b uxth r3, r3 80557ba: 461a mov r2, r3 80557bc: 4b20 ldr r3, [pc, #128] ; (8055840 ) 80557be: 681b ldr r3, [r3, #0] 80557c0: 429a cmp r2, r3 80557c2: d10e bne.n 80557e2 lastcntmeas = cntADC; 80557c4: 4b1f ldr r3, [pc, #124] ; (8055844 ) 80557c6: 881b ldrh r3, [r3, #0] 80557c8: b29a uxth r2, r3 80557ca: 4b1f ldr r3, [pc, #124] ; (8055848 ) 80557cc: 801a strh r2, [r3, #0] measlen = Ns; 80557ce: 4b1c ldr r3, [pc, #112] ; (8055840 ) 80557d0: 681b ldr r3, [r3, #0] 80557d2: b29a uxth r2, r3 80557d4: 4b1d ldr r3, [pc, #116] ; (805584c ) 80557d6: 801a strh r2, [r3, #0] cntmeas1 = cntmeas; 80557d8: 4b18 ldr r3, [pc, #96] ; (805583c ) 80557da: 881b ldrh r3, [r3, #0] 80557dc: b29a uxth r2, r3 80557de: 4b1c ldr r3, [pc, #112] ; (8055850 ) 80557e0: 801a strh r2, [r3, #0] if(READY == DATA_FREE) 80557e2: 4b1c ldr r3, [pc, #112] ; (8055854 ) 80557e4: 781b ldrb r3, [r3, #0] 80557e6: b2db uxtb r3, r3 80557e8: 2b00 cmp r3, #0 80557ea: d123 bne.n 8055834 if(cntmeas > cntmeas1) 80557ec: 4b13 ldr r3, [pc, #76] ; (805583c ) 80557ee: 881b ldrh r3, [r3, #0] 80557f0: b29a uxth r2, r3 80557f2: 4b17 ldr r3, [pc, #92] ; (8055850 ) 80557f4: 881b ldrh r3, [r3, #0] 80557f6: b29b uxth r3, r3 80557f8: 429a cmp r2, r3 80557fa: d90a bls.n 8055812 cntmeas -= cntmeas1; 80557fc: 4b14 ldr r3, [pc, #80] ; (8055850 ) 80557fe: 881b ldrh r3, [r3, #0] 8055800: b29b uxth r3, r3 8055802: 4a0e ldr r2, [pc, #56] ; (805583c ) 8055804: 8812 ldrh r2, [r2, #0] 8055806: b292 uxth r2, r2 8055808: 1ad3 subs r3, r2, r3 805580a: b29a uxth r2, r3 805580c: 4b0b ldr r3, [pc, #44] ; (805583c ) 805580e: 801a strh r2, [r3, #0] 8055810: e002 b.n 8055818 else cntmeas = 0; 8055812: 4b0a ldr r3, [pc, #40] ; (805583c ) 8055814: 2200 movs r2, #0 8055816: 801a strh r2, [r3, #0] cntmeas1 = 0; 8055818: 4b0d ldr r3, [pc, #52] ; (8055850 ) 805581a: 2200 movs r2, #0 805581c: 801a strh r2, [r3, #0] READY = DATA_CAPTURED; 805581e: 4b0d ldr r3, [pc, #52] ; (8055854 ) 8055820: 2207 movs r2, #7 8055822: 701a strb r2, [r3, #0] } 8055824: e006 b.n 8055834 break; 8055826: bf00 nop 8055828: e004 b.n 8055834 break; 805582a: bf00 nop 805582c: e002 b.n 8055834 break; 805582e: bf00 nop 8055830: e000 b.n 8055834 break; 8055832: bf00 nop } 8055834: bf00 nop 8055836: 3708 adds r7, #8 8055838: 46bd mov sp, r7 805583a: bd80 pop {r7, pc} 805583c: 20020d80 .word 0x20020d80 8055840: 20021cdc .word 0x20021cdc 8055844: 20020d7c .word 0x20020d7c 8055848: 20020d84 .word 0x20020d84 805584c: 20020d8c .word 0x20020d8c 8055850: 20020d82 .word 0x20020d82 8055854: 20020d7f .word 0x20020d7f 8055858: 20020dae .word 0x20020dae 0805585c : __IO uint32_t tick1 = 0; __IO uint32_t tick2 = 0; __IO uint32_t MW = 0; void HAL_ADC_ConvCpltCallback(ADC_HandleTypeDef* hadc) //todo { 805585c: b580 push {r7, lr} 805585e: b082 sub sp, #8 8055860: af00 add r7, sp, #0 8055862: 6078 str r0, [r7, #4] static uint8_t oldState = 0xf; int32_t V32, i; uint32_t adc; if(hadc->Instance == ADC3) 8055864: 687b ldr r3, [r7, #4] 8055866: 681b ldr r3, [r3, #0] 8055868: 4a48 ldr r2, [pc, #288] ; (805598c ) 805586a: 4293 cmp r3, r2 805586c: d141 bne.n 80558f2 { //TACHO memcpy((void *) &AdcBuff_16(cntADC), (void *) &DMA_Udar_u16(0), 32768u); 805586e: 4b48 ldr r3, [pc, #288] ; (8055990 ) 8055870: 881b ldrh r3, [r3, #0] 8055872: b29b uxth r3, r3 8055874: 005b lsls r3, r3, #1 8055876: 461a mov r2, r3 8055878: 4b46 ldr r3, [pc, #280] ; (8055994 ) 805587a: 4413 add r3, r2 805587c: f44f 4200 mov.w r2, #32768 ; 0x8000 8055880: 4945 ldr r1, [pc, #276] ; (8055998 ) 8055882: 4618 mov r0, r3 8055884: f077 fbd5 bl 80cd032 if(measuring) 8055888: 4b44 ldr r3, [pc, #272] ; (805599c ) 805588a: 781b ldrb r3, [r3, #0] 805588c: b2db uxtb r3, r3 805588e: 2b00 cmp r3, #0 8055890: d077 beq.n 8055982 { cntADC += HALF_UDAR_BUFF; 8055892: 4b3f ldr r3, [pc, #252] ; (8055990 ) 8055894: 881b ldrh r3, [r3, #0] 8055896: b29b uxth r3, r3 8055898: f503 4380 add.w r3, r3, #16384 ; 0x4000 805589c: b29a uxth r2, r3 805589e: 4b3c ldr r3, [pc, #240] ; (8055990 ) 80558a0: 801a strh r2, [r3, #0] if(cntADC == HALF_UDAR_BUFF) 80558a2: 4b3b ldr r3, [pc, #236] ; (8055990 ) 80558a4: 881b ldrh r3, [r3, #0] 80558a6: b29b uxth r3, r3 80558a8: f5b3 4f80 cmp.w r3, #16384 ; 0x4000 80558ac: d108 bne.n 80558c0 { READY = 1; 80558ae: 4b3c ldr r3, [pc, #240] ; (80559a0 ) 80558b0: 2201 movs r2, #1 80558b2: 701a strb r2, [r3, #0] tick1 = HAL_GetTick(); 80558b4: f05d fcc0 bl 80b3238 80558b8: 4602 mov r2, r0 80558ba: 4b3a ldr r3, [pc, #232] ; (80559a4 ) 80558bc: 601a str r2, [r3, #0] } } } } /*}*/ } 80558be: e060 b.n 8055982 if(cntADC == SIZE_UDAR_BUFF) 80558c0: 4b33 ldr r3, [pc, #204] ; (8055990 ) 80558c2: 881b ldrh r3, [r3, #0] 80558c4: b29b uxth r3, r3 80558c6: f5b3 4f00 cmp.w r3, #32768 ; 0x8000 80558ca: d15a bne.n 8055982 READY = 2; 80558cc: 4b34 ldr r3, [pc, #208] ; (80559a0 ) 80558ce: 2202 movs r2, #2 80558d0: 701a strb r2, [r3, #0] cntADC = 0; 80558d2: 4b2f ldr r3, [pc, #188] ; (8055990 ) 80558d4: 2200 movs r2, #0 80558d6: 801a strh r2, [r3, #0] tick2 = HAL_GetTick(); 80558d8: f05d fcae bl 80b3238 80558dc: 4602 mov r2, r0 80558de: 4b32 ldr r3, [pc, #200] ; (80559a8 ) 80558e0: 601a str r2, [r3, #0] MW = tick2 - tick1; 80558e2: 4b31 ldr r3, [pc, #196] ; (80559a8 ) 80558e4: 681a ldr r2, [r3, #0] 80558e6: 4b2f ldr r3, [pc, #188] ; (80559a4 ) 80558e8: 681b ldr r3, [r3, #0] 80558ea: 1ad3 subs r3, r2, r3 80558ec: 4a2f ldr r2, [pc, #188] ; (80559ac ) 80558ee: 6013 str r3, [r2, #0] } 80558f0: e047 b.n 8055982 memcpy((void *) &AdcBuff_16(cntADC), (void *) &DMA_Udar_u16(0), 32768u); 80558f2: 4b27 ldr r3, [pc, #156] ; (8055990 ) 80558f4: 881b ldrh r3, [r3, #0] 80558f6: b29b uxth r3, r3 80558f8: 005b lsls r3, r3, #1 80558fa: 461a mov r2, r3 80558fc: 4b25 ldr r3, [pc, #148] ; (8055994 ) 80558fe: 4413 add r3, r2 8055900: f44f 4200 mov.w r2, #32768 ; 0x8000 8055904: 4924 ldr r1, [pc, #144] ; (8055998 ) 8055906: 4618 mov r0, r3 8055908: f077 fb93 bl 80cd032 if(measuring) 805590c: 4b23 ldr r3, [pc, #140] ; (805599c ) 805590e: 781b ldrb r3, [r3, #0] 8055910: b2db uxtb r3, r3 8055912: 2b00 cmp r3, #0 8055914: d035 beq.n 8055982 cntADC += HALF_UDAR_BUFF; 8055916: 4b1e ldr r3, [pc, #120] ; (8055990 ) 8055918: 881b ldrh r3, [r3, #0] 805591a: b29b uxth r3, r3 805591c: f503 4380 add.w r3, r3, #16384 ; 0x4000 8055920: b29a uxth r2, r3 8055922: 4b1b ldr r3, [pc, #108] ; (8055990 ) 8055924: 801a strh r2, [r3, #0] if(cntADC == HALF_UDAR_BUFF) 8055926: 4b1a ldr r3, [pc, #104] ; (8055990 ) 8055928: 881b ldrh r3, [r3, #0] 805592a: b29b uxth r3, r3 805592c: f5b3 4f80 cmp.w r3, #16384 ; 0x4000 8055930: d108 bne.n 8055944 READY = 1; 8055932: 4b1b ldr r3, [pc, #108] ; (80559a0 ) 8055934: 2201 movs r2, #1 8055936: 701a strb r2, [r3, #0] tick1 = HAL_GetTick(); 8055938: f05d fc7e bl 80b3238 805593c: 4602 mov r2, r0 805593e: 4b19 ldr r3, [pc, #100] ; (80559a4 ) 8055940: 601a str r2, [r3, #0] } 8055942: e01e b.n 8055982 if(cntADC == SIZE_UDAR_BUFF) 8055944: 4b12 ldr r3, [pc, #72] ; (8055990 ) 8055946: 881b ldrh r3, [r3, #0] 8055948: b29b uxth r3, r3 805594a: f5b3 4f00 cmp.w r3, #32768 ; 0x8000 805594e: d118 bne.n 8055982 READY = 2; 8055950: 4b13 ldr r3, [pc, #76] ; (80559a0 ) 8055952: 2202 movs r2, #2 8055954: 701a strb r2, [r3, #0] cntADC = 0; 8055956: 4b0e ldr r3, [pc, #56] ; (8055990 ) 8055958: 2200 movs r2, #0 805595a: 801a strh r2, [r3, #0] tick2 = HAL_GetTick(); 805595c: f05d fc6c bl 80b3238 8055960: 4602 mov r2, r0 8055962: 4b11 ldr r3, [pc, #68] ; (80559a8 ) 8055964: 601a str r2, [r3, #0] MW = tick2 - tick1; 8055966: 4b10 ldr r3, [pc, #64] ; (80559a8 ) 8055968: 681a ldr r2, [r3, #0] 805596a: 4b0e ldr r3, [pc, #56] ; (80559a4 ) 805596c: 681b ldr r3, [r3, #0] 805596e: 1ad3 subs r3, r2, r3 8055970: 4a0e ldr r2, [pc, #56] ; (80559ac ) 8055972: 6013 str r3, [r2, #0] if(MW < 80) 8055974: 4b0d ldr r3, [pc, #52] ; (80559ac ) 8055976: 681b ldr r3, [r3, #0] 8055978: 2b4f cmp r3, #79 ; 0x4f 805597a: d802 bhi.n 8055982 cntADC = 0; 805597c: 4b04 ldr r3, [pc, #16] ; (8055990 ) 805597e: 2200 movs r2, #0 8055980: 801a strh r2, [r3, #0] } 8055982: bf00 nop 8055984: 3708 adds r7, #8 8055986: 46bd mov sp, r7 8055988: bd80 pop {r7, pc} 805598a: bf00 nop 805598c: 40012200 .word 0x40012200 8055990: 20020d7c .word 0x20020d7c 8055994: 64060000 .word 0x64060000 8055998: 64090000 .word 0x64090000 805599c: 20020daf .word 0x20020daf 80559a0: 20020d7f .word 0x20020d7f 80559a4: 20021004 .word 0x20021004 80559a8: 20021008 .word 0x20021008 80559ac: 2002100c .word 0x2002100c 080559b0 : * in is negative value and returns zero output for negative values. */ static __INLINE arm_status arm_sqrt_f32( float32_t in, float32_t * pOut) { 80559b0: b580 push {r7, lr} 80559b2: b082 sub sp, #8 80559b4: af00 add r7, sp, #0 80559b6: ed87 0a01 vstr s0, [r7, #4] 80559ba: 6038 str r0, [r7, #0] if(in >= 0.0f) 80559bc: edd7 7a01 vldr s15, [r7, #4] 80559c0: eef5 7ac0 vcmpe.f32 s15, #0.0 80559c4: eef1 fa10 vmrs APSR_nzcv, fpscr 80559c8: db0a blt.n 80559e0 #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); 80559ca: ed97 0a01 vldr s0, [r7, #4] 80559ce: f075 fc3b bl 80cb248 80559d2: eef0 7a40 vmov.f32 s15, s0 80559d6: 683b ldr r3, [r7, #0] 80559d8: edc3 7a00 vstr s15, [r3] __ASM("VSQRT.F32 %0,%1" : "=t"(*pOut) : "t"(in)); #else *pOut = sqrtf(in); #endif return (ARM_MATH_SUCCESS); 80559dc: 2300 movs r3, #0 80559de: e005 b.n 80559ec } else { *pOut = 0.0f; 80559e0: 683b ldr r3, [r7, #0] 80559e2: f04f 0200 mov.w r2, #0 80559e6: 601a str r2, [r3, #0] return (ARM_MATH_ARGUMENT_ERROR); 80559e8: f04f 33ff mov.w r3, #4294967295 } } 80559ec: 4618 mov r0, r3 80559ee: 3708 adds r7, #8 80559f0: 46bd mov sp, r7 80559f2: bd80 pop {r7, pc} 080559f4 : __IO float32_t dBm_MAX = 0; int8_t CalculateGain(uint32_t SygPoints) { 80559f4: b480 push {r7} 80559f6: b08b sub sp, #44 ; 0x2c 80559f8: af00 add r7, sp, #0 80559fa: 6078 str r0, [r7, #4] __IO uint8_t dB_s = 0; 80559fc: 2300 movs r3, #0 80559fe: 74fb strb r3, [r7, #19] __IO uint32_t i; __IO uint32_t Ym; float32_t Yf, fmax; uint32_t mean = (uint32_t) MEAN; 8055a00: 4b86 ldr r3, [pc, #536] ; (8055c1c ) 8055a02: edd3 7a00 vldr s15, [r3] 8055a06: eefc 7ae7 vcvt.u32.f32 s15, s15 8055a0a: ee17 3a90 vmov r3, s15 8055a0e: 627b str r3, [r7, #36] ; 0x24 uint32_t UMAX = mean + 0x3FD380; // MeanPoint + 1,25V 8055a10: 6a7a ldr r2, [r7, #36] ; 0x24 8055a12: 4b83 ldr r3, [pc, #524] ; (8055c20 ) 8055a14: 4413 add r3, r2 8055a16: 623b str r3, [r7, #32] uint32_t UMIN = mean + 0x154680; // MeanPoint + 1,25V 8055a18: 6a7a ldr r2, [r7, #36] ; 0x24 8055a1a: 4b82 ldr r3, [pc, #520] ; (8055c24 ) 8055a1c: 4413 add r3, r2 8055a1e: 61fb str r3, [r7, #28] if(pardata.SYG == UDAR) //TODO 8055a20: 4b81 ldr r3, [pc, #516] ; (8055c28 ) 8055a22: 781b ldrb r3, [r3, #0] 8055a24: b2db uxtb r3, r3 8055a26: 2b09 cmp r3, #9 8055a28: f040 81b8 bne.w 8055d9c { for(i = 0; i < SygPoints >> 1; i++) 8055a2c: 2300 movs r3, #0 8055a2e: 60fb str r3, [r7, #12] 8055a30: e061 b.n 8055af6 { if(Vup < In16[i].sh[0]) Vup = In16[i].sh[0]; 8055a32: 68fb ldr r3, [r7, #12] 8055a34: 4a7d ldr r2, [pc, #500] ; (8055c2c ) 8055a36: f832 3023 ldrh.w r3, [r2, r3, lsl #2] 8055a3a: 461a mov r2, r3 8055a3c: 4b7c ldr r3, [pc, #496] ; (8055c30 ) 8055a3e: 681b ldr r3, [r3, #0] 8055a40: 429a cmp r2, r3 8055a42: d906 bls.n 8055a52 8055a44: 68fb ldr r3, [r7, #12] 8055a46: 4a79 ldr r2, [pc, #484] ; (8055c2c ) 8055a48: f832 3023 ldrh.w r3, [r2, r3, lsl #2] 8055a4c: 461a mov r2, r3 8055a4e: 4b78 ldr r3, [pc, #480] ; (8055c30 ) 8055a50: 601a str r2, [r3, #0] if(Vdn > In16[i].sh[0]) Vdn = In16[i].sh[0]; 8055a52: 68fb ldr r3, [r7, #12] 8055a54: 4a75 ldr r2, [pc, #468] ; (8055c2c ) 8055a56: f832 3023 ldrh.w r3, [r2, r3, lsl #2] 8055a5a: 461a mov r2, r3 8055a5c: 4b75 ldr r3, [pc, #468] ; (8055c34 ) 8055a5e: 681b ldr r3, [r3, #0] 8055a60: 429a cmp r2, r3 8055a62: d206 bcs.n 8055a72 8055a64: 68fb ldr r3, [r7, #12] 8055a66: 4a71 ldr r2, [pc, #452] ; (8055c2c ) 8055a68: f832 3023 ldrh.w r3, [r2, r3, lsl #2] 8055a6c: 461a mov r2, r3 8055a6e: 4b71 ldr r3, [pc, #452] ; (8055c34 ) 8055a70: 601a str r2, [r3, #0] if(In16[i].sh[0] > 3900) NUMPOINTS++; 8055a72: 68fb ldr r3, [r7, #12] 8055a74: 4a6d ldr r2, [pc, #436] ; (8055c2c ) 8055a76: f832 3023 ldrh.w r3, [r2, r3, lsl #2] 8055a7a: f640 723c movw r2, #3900 ; 0xf3c 8055a7e: 4293 cmp r3, r2 8055a80: d904 bls.n 8055a8c 8055a82: 4b6d ldr r3, [pc, #436] ; (8055c38 ) 8055a84: 681b ldr r3, [r3, #0] 8055a86: 3301 adds r3, #1 8055a88: 4a6b ldr r2, [pc, #428] ; (8055c38 ) 8055a8a: 6013 str r3, [r2, #0] if(Vup < In16[i].sh[1]) Vup = In16[i].sh[1]; 8055a8c: 68fb ldr r3, [r7, #12] 8055a8e: 4a67 ldr r2, [pc, #412] ; (8055c2c ) 8055a90: 009b lsls r3, r3, #2 8055a92: 4413 add r3, r2 8055a94: 885b ldrh r3, [r3, #2] 8055a96: 461a mov r2, r3 8055a98: 4b65 ldr r3, [pc, #404] ; (8055c30 ) 8055a9a: 681b ldr r3, [r3, #0] 8055a9c: 429a cmp r2, r3 8055a9e: d907 bls.n 8055ab0 8055aa0: 68fb ldr r3, [r7, #12] 8055aa2: 4a62 ldr r2, [pc, #392] ; (8055c2c ) 8055aa4: 009b lsls r3, r3, #2 8055aa6: 4413 add r3, r2 8055aa8: 885b ldrh r3, [r3, #2] 8055aaa: 461a mov r2, r3 8055aac: 4b60 ldr r3, [pc, #384] ; (8055c30 ) 8055aae: 601a str r2, [r3, #0] if(Vdn > In16[i].sh[1]) Vdn = In16[i].sh[1]; 8055ab0: 68fb ldr r3, [r7, #12] 8055ab2: 4a5e ldr r2, [pc, #376] ; (8055c2c ) 8055ab4: 009b lsls r3, r3, #2 8055ab6: 4413 add r3, r2 8055ab8: 885b ldrh r3, [r3, #2] 8055aba: 461a mov r2, r3 8055abc: 4b5d ldr r3, [pc, #372] ; (8055c34 ) 8055abe: 681b ldr r3, [r3, #0] 8055ac0: 429a cmp r2, r3 8055ac2: d207 bcs.n 8055ad4 8055ac4: 68fb ldr r3, [r7, #12] 8055ac6: 4a59 ldr r2, [pc, #356] ; (8055c2c ) 8055ac8: 009b lsls r3, r3, #2 8055aca: 4413 add r3, r2 8055acc: 885b ldrh r3, [r3, #2] 8055ace: 461a mov r2, r3 8055ad0: 4b58 ldr r3, [pc, #352] ; (8055c34 ) 8055ad2: 601a str r2, [r3, #0] if(In16[i].sh[1] > 3900) NUMPOINTS++; 8055ad4: 68fb ldr r3, [r7, #12] 8055ad6: 4a55 ldr r2, [pc, #340] ; (8055c2c ) 8055ad8: 009b lsls r3, r3, #2 8055ada: 4413 add r3, r2 8055adc: 885b ldrh r3, [r3, #2] 8055ade: f640 723c movw r2, #3900 ; 0xf3c 8055ae2: 4293 cmp r3, r2 8055ae4: d904 bls.n 8055af0 8055ae6: 4b54 ldr r3, [pc, #336] ; (8055c38 ) 8055ae8: 681b ldr r3, [r3, #0] 8055aea: 3301 adds r3, #1 8055aec: 4a52 ldr r2, [pc, #328] ; (8055c38 ) 8055aee: 6013 str r3, [r2, #0] for(i = 0; i < SygPoints >> 1; i++) 8055af0: 68fb ldr r3, [r7, #12] 8055af2: 3301 adds r3, #1 8055af4: 60fb str r3, [r7, #12] 8055af6: 687b ldr r3, [r7, #4] 8055af8: 085a lsrs r2, r3, #1 8055afa: 68fb ldr r3, [r7, #12] 8055afc: 429a cmp r2, r3 8055afe: d898 bhi.n 8055a32 } NR++; 8055b00: 4b4e ldr r3, [pc, #312] ; (8055c3c ) 8055b02: 681b ldr r3, [r3, #0] 8055b04: 3301 adds r3, #1 8055b06: 4a4d ldr r2, [pc, #308] ; (8055c3c ) 8055b08: 6013 str r3, [r2, #0] if(NR >= Nr) 8055b0a: 4b4d ldr r3, [pc, #308] ; (8055c40 ) 8055b0c: 881b ldrh r3, [r3, #0] 8055b0e: b29b uxth r3, r3 8055b10: 461a mov r2, r3 8055b12: 4b4a ldr r3, [pc, #296] ; (8055c3c ) 8055b14: 681b ldr r3, [r3, #0] 8055b16: 429a cmp r2, r3 8055b18: f200 82c8 bhi.w 80560ac { NR = 0; 8055b1c: 4b47 ldr r3, [pc, #284] ; (8055c3c ) 8055b1e: 2200 movs r2, #0 8055b20: 601a str r2, [r3, #0] Ym = Vup; 8055b22: 4b43 ldr r3, [pc, #268] ; (8055c30 ) 8055b24: 681b ldr r3, [r3, #0] 8055b26: 60bb str r3, [r7, #8] if(Vup < 2200) 8055b28: 4b41 ldr r3, [pc, #260] ; (8055c30 ) 8055b2a: 681b ldr r3, [r3, #0] 8055b2c: f640 0297 movw r2, #2199 ; 0x897 8055b30: 4293 cmp r3, r2 8055b32: d807 bhi.n 8055b44 Vup = 2200 - Vup; 8055b34: 4b3e ldr r3, [pc, #248] ; (8055c30 ) 8055b36: 681a ldr r2, [r3, #0] 8055b38: f640 0398 movw r3, #2200 ; 0x898 8055b3c: 1a9b subs r3, r3, r2 8055b3e: 4a3c ldr r2, [pc, #240] ; (8055c30 ) 8055b40: 6013 str r3, [r2, #0] 8055b42: e005 b.n 8055b50 else Vup = Vup - 2200; 8055b44: 4b3a ldr r3, [pc, #232] ; (8055c30 ) 8055b46: 681b ldr r3, [r3, #0] 8055b48: f6a3 0398 subw r3, r3, #2200 ; 0x898 8055b4c: 4a38 ldr r2, [pc, #224] ; (8055c30 ) 8055b4e: 6013 str r3, [r2, #0] if(Vdn > 2200) 8055b50: 4b38 ldr r3, [pc, #224] ; (8055c34 ) 8055b52: 681b ldr r3, [r3, #0] 8055b54: f640 0298 movw r2, #2200 ; 0x898 8055b58: 4293 cmp r3, r2 8055b5a: d906 bls.n 8055b6a Vdn = Vdn - 2200; 8055b5c: 4b35 ldr r3, [pc, #212] ; (8055c34 ) 8055b5e: 681b ldr r3, [r3, #0] 8055b60: f6a3 0398 subw r3, r3, #2200 ; 0x898 8055b64: 4a33 ldr r2, [pc, #204] ; (8055c34 ) 8055b66: 6013 str r3, [r2, #0] 8055b68: e006 b.n 8055b78 else Vdn = 2200 - Vdn; 8055b6a: 4b32 ldr r3, [pc, #200] ; (8055c34 ) 8055b6c: 681a ldr r2, [r3, #0] 8055b6e: f640 0398 movw r3, #2200 ; 0x898 8055b72: 1a9b subs r3, r3, r2 8055b74: 4a2f ldr r2, [pc, #188] ; (8055c34 ) 8055b76: 6013 str r3, [r2, #0] if(Vup > Vdn) 8055b78: 4b2d ldr r3, [pc, #180] ; (8055c30 ) 8055b7a: 681a ldr r2, [r3, #0] 8055b7c: 4b2d ldr r3, [pc, #180] ; (8055c34 ) 8055b7e: 681b ldr r3, [r3, #0] 8055b80: 429a cmp r2, r3 8055b82: d905 bls.n 8055b90 Ym = Vup + 2200; 8055b84: 4b2a ldr r3, [pc, #168] ; (8055c30 ) 8055b86: 681b ldr r3, [r3, #0] 8055b88: f603 0398 addw r3, r3, #2200 ; 0x898 8055b8c: 60bb str r3, [r7, #8] 8055b8e: e008 b.n 8055ba2 else { Vup = Vdn; 8055b90: 4b28 ldr r3, [pc, #160] ; (8055c34 ) 8055b92: 681b ldr r3, [r3, #0] 8055b94: 4a26 ldr r2, [pc, #152] ; (8055c30 ) 8055b96: 6013 str r3, [r2, #0] Ym = Vdn + 2200; 8055b98: 4b26 ldr r3, [pc, #152] ; (8055c34 ) 8055b9a: 681b ldr r3, [r3, #0] 8055b9c: f603 0398 addw r3, r3, #2200 ; 0x898 8055ba0: 60bb str r3, [r7, #8] Vdn = 0xffffff; return 0; }*/ if(NUMPOINTS) 8055ba2: 4b25 ldr r3, [pc, #148] ; (8055c38 ) 8055ba4: 681b ldr r3, [r3, #0] 8055ba6: 2b00 cmp r3, #0 8055ba8: d054 beq.n 8055c54 { NeedKmUp = 0; 8055baa: 4b26 ldr r3, [pc, #152] ; (8055c44 ) 8055bac: 2200 movs r2, #0 8055bae: 701a strb r2, [r3, #0] NeedKmDown++; 8055bb0: 4b25 ldr r3, [pc, #148] ; (8055c48 ) 8055bb2: 781b ldrb r3, [r3, #0] 8055bb4: b2db uxtb r3, r3 8055bb6: 3301 adds r3, #1 8055bb8: b2da uxtb r2, r3 8055bba: 4b23 ldr r3, [pc, #140] ; (8055c48 ) 8055bbc: 701a strb r2, [r3, #0] if((NeedKmDown >= TimeKmDown) || (FirstGain == true)) 8055bbe: 4b22 ldr r3, [pc, #136] ; (8055c48 ) 8055bc0: 781b ldrb r3, [r3, #0] 8055bc2: b2db uxtb r3, r3 8055bc4: 461a mov r2, r3 8055bc6: 4b21 ldr r3, [pc, #132] ; (8055c4c ) 8055bc8: 681b ldr r3, [r3, #0] 8055bca: 429a cmp r2, r3 8055bcc: d204 bcs.n 8055bd8 8055bce: 4b20 ldr r3, [pc, #128] ; (8055c50 ) 8055bd0: 781b ldrb r3, [r3, #0] 8055bd2: b2db uxtb r3, r3 8055bd4: 2b00 cmp r3, #0 8055bd6: d01d beq.n 8055c14 { FirstGain = false; 8055bd8: 4b1d ldr r3, [pc, #116] ; (8055c50 ) 8055bda: 2200 movs r2, #0 8055bdc: 701a strb r2, [r3, #0] if(NUMPOINTS >= VALUE_MAX) 8055bde: 4b16 ldr r3, [pc, #88] ; (8055c38 ) 8055be0: 681b ldr r3, [r3, #0] 8055be2: 2bff cmp r3, #255 ; 0xff 8055be4: d903 bls.n 8055bee { pardata.IKU = Ku1; 8055be6: 4b10 ldr r3, [pc, #64] ; (8055c28 ) 8055be8: 2200 movs r2, #0 8055bea: 721a strb r2, [r3, #8] if(NUMPOINTS >= VALUE_MAX) 8055bec: e0b5 b.n 8055d5a } else if(NUMPOINTS >= VALUE_MIN) 8055bee: 4b12 ldr r3, [pc, #72] ; (8055c38 ) 8055bf0: 681b ldr r3, [r3, #0] 8055bf2: 2b01 cmp r3, #1 8055bf4: f240 80b1 bls.w 8055d5a { if(pardata.IKU > Ku1) 8055bf8: 4b0b ldr r3, [pc, #44] ; (8055c28 ) 8055bfa: 7a1b ldrb r3, [r3, #8] 8055bfc: b2db uxtb r3, r3 8055bfe: 2b00 cmp r3, #0 8055c00: f000 80ab beq.w 8055d5a pardata.IKU --; 8055c04: 4b08 ldr r3, [pc, #32] ; (8055c28 ) 8055c06: 7a1b ldrb r3, [r3, #8] 8055c08: b2db uxtb r3, r3 8055c0a: 3b01 subs r3, #1 8055c0c: b2da uxtb r2, r3 8055c0e: 4b06 ldr r3, [pc, #24] ; (8055c28 ) 8055c10: 721a strb r2, [r3, #8] if(NUMPOINTS >= VALUE_MAX) 8055c12: e0a2 b.n 8055d5a } } else { NUMPOINTS = 0; 8055c14: 4b08 ldr r3, [pc, #32] ; (8055c38 ) 8055c16: 2200 movs r2, #0 8055c18: 601a str r2, [r3, #0] 8055c1a: e0a1 b.n 8055d60 8055c1c: 200209cc .word 0x200209cc 8055c20: 003fd380 .word 0x003fd380 8055c24: 00154680 .word 0x00154680 8055c28: 20023e60 .word 0x20023e60 8055c2c: 20058020 .word 0x20058020 8055c30: 20021618 .word 0x20021618 8055c34: 20020090 .word 0x20020090 8055c38: 20021604 .word 0x20021604 8055c3c: 20021614 .word 0x20021614 8055c40: 20021d20 .word 0x20021d20 8055c44: 20020d51 .word 0x20020d51 8055c48: 20020d50 .word 0x20020d50 8055c4c: 20020d54 .word 0x20020d54 8055c50: 20020d5c .word 0x20020d5c } } else { NeedKmDown = 0; 8055c54: 4b8b ldr r3, [pc, #556] ; (8055e84 ) 8055c56: 2200 movs r2, #0 8055c58: 701a strb r2, [r3, #0] if(Ym <= 3450) 8055c5a: 68bb ldr r3, [r7, #8] 8055c5c: f640 527a movw r2, #3450 ; 0xd7a 8055c60: 4293 cmp r3, r2 8055c62: d87d bhi.n 8055d60 { NeedKmUp++; 8055c64: 4b88 ldr r3, [pc, #544] ; (8055e88 ) 8055c66: 781b ldrb r3, [r3, #0] 8055c68: b2db uxtb r3, r3 8055c6a: 3301 adds r3, #1 8055c6c: b2da uxtb r2, r3 8055c6e: 4b86 ldr r3, [pc, #536] ; (8055e88 ) 8055c70: 701a strb r2, [r3, #0] if((NeedKmUp >= TimeKmUp) || (FirstGain == true)) 8055c72: 4b85 ldr r3, [pc, #532] ; (8055e88 ) 8055c74: 781b ldrb r3, [r3, #0] 8055c76: b2db uxtb r3, r3 8055c78: 461a mov r2, r3 8055c7a: 4b84 ldr r3, [pc, #528] ; (8055e8c ) 8055c7c: 681b ldr r3, [r3, #0] 8055c7e: 429a cmp r2, r3 8055c80: d204 bcs.n 8055c8c 8055c82: 4b83 ldr r3, [pc, #524] ; (8055e90 ) 8055c84: 781b ldrb r3, [r3, #0] 8055c86: b2db uxtb r3, r3 8055c88: 2b00 cmp r3, #0 8055c8a: d069 beq.n 8055d60 { FirstGain = false; 8055c8c: 4b80 ldr r3, [pc, #512] ; (8055e90 ) 8055c8e: 2200 movs r2, #0 8055c90: 701a strb r2, [r3, #0] if(pardata.IKU < Ku8) 8055c92: 4b80 ldr r3, [pc, #512] ; (8055e94 ) 8055c94: 7a1b ldrb r3, [r3, #8] 8055c96: b2db uxtb r3, r3 8055c98: 2b02 cmp r3, #2 8055c9a: d861 bhi.n 8055d60 { fmax = (float32_t) Vup; 8055c9c: 4b7e ldr r3, [pc, #504] ; (8055e98 ) 8055c9e: 681b ldr r3, [r3, #0] 8055ca0: ee07 3a90 vmov s15, r3 8055ca4: eef8 7a67 vcvt.f32.u32 s15, s15 8055ca8: edc7 7a06 vstr s15, [r7, #24] fmax /= KM_UDAR[pardata.IKU]; 8055cac: 4b79 ldr r3, [pc, #484] ; (8055e94 ) 8055cae: 7a1b ldrb r3, [r3, #8] 8055cb0: b2db uxtb r3, r3 8055cb2: 4a7a ldr r2, [pc, #488] ; (8055e9c ) 8055cb4: 009b lsls r3, r3, #2 8055cb6: 4413 add r3, r2 8055cb8: ed93 7a00 vldr s14, [r3] 8055cbc: edd7 6a06 vldr s13, [r7, #24] 8055cc0: eec6 7a87 vdiv.f32 s15, s13, s14 8055cc4: edc7 7a06 vstr s15, [r7, #24] dB_s = 0; 8055cc8: 2300 movs r3, #0 8055cca: 74fb strb r3, [r7, #19] while(Ym < 3450) 8055ccc: e03f b.n 8055d4e { Yf = fmax * KM_UDAR[dB_s] + 0.50f; 8055cce: 7cfb ldrb r3, [r7, #19] 8055cd0: b2db uxtb r3, r3 8055cd2: 4a72 ldr r2, [pc, #456] ; (8055e9c ) 8055cd4: 009b lsls r3, r3, #2 8055cd6: 4413 add r3, r2 8055cd8: ed93 7a00 vldr s14, [r3] 8055cdc: edd7 7a06 vldr s15, [r7, #24] 8055ce0: ee67 7a27 vmul.f32 s15, s14, s15 8055ce4: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8055ce8: ee77 7a87 vadd.f32 s15, s15, s14 8055cec: edc7 7a05 vstr s15, [r7, #20] Ym = (uint32_t) Yf; 8055cf0: edd7 7a05 vldr s15, [r7, #20] 8055cf4: eefc 7ae7 vcvt.u32.f32 s15, s15 8055cf8: ee17 3a90 vmov r3, s15 8055cfc: 60bb str r3, [r7, #8] Ym += 2200; 8055cfe: 68bb ldr r3, [r7, #8] 8055d00: f603 0398 addw r3, r3, #2200 ; 0x898 8055d04: 60bb str r3, [r7, #8] if(Ym > 3450) 8055d06: 68bb ldr r3, [r7, #8] 8055d08: f640 527a movw r2, #3450 ; 0xd7a 8055d0c: 4293 cmp r3, r2 8055d0e: d911 bls.n 8055d34 { if(Ym > 8192/*4000*/) //todo 8055d10: 68bb ldr r3, [r7, #8] 8055d12: f5b3 5f00 cmp.w r3, #8192 ; 0x2000 8055d16: d908 bls.n 8055d2a { if(dB_s) 8055d18: 7cfb ldrb r3, [r7, #19] 8055d1a: b2db uxtb r3, r3 8055d1c: 2b00 cmp r3, #0 8055d1e: d004 beq.n 8055d2a dB_s--; 8055d20: 7cfb ldrb r3, [r7, #19] 8055d22: b2db uxtb r3, r3 8055d24: 3b01 subs r3, #1 8055d26: b2db uxtb r3, r3 8055d28: 74fb strb r3, [r7, #19] } pardata.IKU = dB_s; 8055d2a: 7cfb ldrb r3, [r7, #19] 8055d2c: b2da uxtb r2, r3 8055d2e: 4b59 ldr r3, [pc, #356] ; (8055e94 ) 8055d30: 721a strb r2, [r3, #8] break; 8055d32: e015 b.n 8055d60 } else { if(dB_s < Ku8) 8055d34: 7cfb ldrb r3, [r7, #19] 8055d36: b2db uxtb r3, r3 8055d38: 2b02 cmp r3, #2 8055d3a: d810 bhi.n 8055d5e { dB_s++; 8055d3c: 7cfb ldrb r3, [r7, #19] 8055d3e: b2db uxtb r3, r3 8055d40: 3301 adds r3, #1 8055d42: b2db uxtb r3, r3 8055d44: 74fb strb r3, [r7, #19] pardata.IKU = dB_s; 8055d46: 7cfb ldrb r3, [r7, #19] 8055d48: b2da uxtb r2, r3 8055d4a: 4b52 ldr r3, [pc, #328] ; (8055e94 ) 8055d4c: 721a strb r2, [r3, #8] while(Ym < 3450) 8055d4e: 68bb ldr r3, [r7, #8] 8055d50: f640 5279 movw r2, #3449 ; 0xd79 8055d54: 4293 cmp r3, r2 8055d56: d9ba bls.n 8055cce 8055d58: e002 b.n 8055d60 if(NUMPOINTS >= VALUE_MAX) 8055d5a: bf00 nop 8055d5c: e000 b.n 8055d60 } else break; 8055d5e: bf00 nop } } } if(LAST_KU != pardata.IKU) 8055d60: 4b4c ldr r3, [pc, #304] ; (8055e94 ) 8055d62: 7a1b ldrb r3, [r3, #8] 8055d64: b2da uxtb r2, r3 8055d66: 4b4e ldr r3, [pc, #312] ; (8055ea0 ) 8055d68: 781b ldrb r3, [r3, #0] 8055d6a: b2db uxtb r3, r3 8055d6c: 429a cmp r2, r3 8055d6e: d009 beq.n 8055d84 { Flag_Set_KU = 1; 8055d70: 4b4c ldr r3, [pc, #304] ; (8055ea4 ) 8055d72: 2201 movs r2, #1 8055d74: 701a strb r2, [r3, #0] AUTOZOOM = true; 8055d76: 4b4c ldr r3, [pc, #304] ; (8055ea8 ) 8055d78: 2201 movs r2, #1 8055d7a: 701a strb r2, [r3, #0] IndexFran = -1; 8055d7c: 4b4b ldr r3, [pc, #300] ; (8055eac ) 8055d7e: f04f 32ff mov.w r2, #4294967295 8055d82: 601a str r2, [r3, #0] } NUMPOINTS = 0; 8055d84: 4b4a ldr r3, [pc, #296] ; (8055eb0 ) 8055d86: 2200 movs r2, #0 8055d88: 601a str r2, [r3, #0] Vup = 0; 8055d8a: 4b43 ldr r3, [pc, #268] ; (8055e98 ) 8055d8c: 2200 movs r2, #0 8055d8e: 601a str r2, [r3, #0] Vdn = 0xffffff; 8055d90: 4b48 ldr r3, [pc, #288] ; (8055eb4 ) 8055d92: f06f 427f mvn.w r2, #4278190080 ; 0xff000000 8055d96: 601a str r2, [r3, #0] return 0; 8055d98: 2300 movs r3, #0 8055d9a: e189 b.n 80560b0 } } else { for(i = 0; i < SygPoints; i++) 8055d9c: 2300 movs r3, #0 8055d9e: 60fb str r3, [r7, #12] 8055da0: e02a b.n 8055df8 { if(Vup < In16[i].lg) Vup = In16[i].lg; 8055da2: 68fb ldr r3, [r7, #12] 8055da4: 4a44 ldr r2, [pc, #272] ; (8055eb8 ) 8055da6: f852 2023 ldr.w r2, [r2, r3, lsl #2] 8055daa: 4b3b ldr r3, [pc, #236] ; (8055e98 ) 8055dac: 681b ldr r3, [r3, #0] 8055dae: 429a cmp r2, r3 8055db0: d905 bls.n 8055dbe 8055db2: 68fb ldr r3, [r7, #12] 8055db4: 4a40 ldr r2, [pc, #256] ; (8055eb8 ) 8055db6: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8055dba: 4a37 ldr r2, [pc, #220] ; (8055e98 ) 8055dbc: 6013 str r3, [r2, #0] if(Vdn > In16[i].lg) Vdn = In16[i].lg; 8055dbe: 68fb ldr r3, [r7, #12] 8055dc0: 4a3d ldr r2, [pc, #244] ; (8055eb8 ) 8055dc2: f852 2023 ldr.w r2, [r2, r3, lsl #2] 8055dc6: 4b3b ldr r3, [pc, #236] ; (8055eb4 ) 8055dc8: 681b ldr r3, [r3, #0] 8055dca: 429a cmp r2, r3 8055dcc: d205 bcs.n 8055dda 8055dce: 68fb ldr r3, [r7, #12] 8055dd0: 4a39 ldr r2, [pc, #228] ; (8055eb8 ) 8055dd2: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8055dd6: 4a37 ldr r2, [pc, #220] ; (8055eb4 ) 8055dd8: 6013 str r3, [r2, #0] if(In16[i].lg > UMAX) NUMPOINTS++; 8055dda: 68fb ldr r3, [r7, #12] 8055ddc: 4a36 ldr r2, [pc, #216] ; (8055eb8 ) 8055dde: f852 2023 ldr.w r2, [r2, r3, lsl #2] 8055de2: 6a3b ldr r3, [r7, #32] 8055de4: 429a cmp r2, r3 8055de6: d904 bls.n 8055df2 8055de8: 4b31 ldr r3, [pc, #196] ; (8055eb0 ) 8055dea: 681b ldr r3, [r3, #0] 8055dec: 3301 adds r3, #1 8055dee: 4a30 ldr r2, [pc, #192] ; (8055eb0 ) 8055df0: 6013 str r3, [r2, #0] for(i = 0; i < SygPoints; i++) 8055df2: 68fb ldr r3, [r7, #12] 8055df4: 3301 adds r3, #1 8055df6: 60fb str r3, [r7, #12] 8055df8: 68fa ldr r2, [r7, #12] 8055dfa: 687b ldr r3, [r7, #4] 8055dfc: 429a cmp r2, r3 8055dfe: d3d0 bcc.n 8055da2 } NR++; 8055e00: 4b2e ldr r3, [pc, #184] ; (8055ebc ) 8055e02: 681b ldr r3, [r3, #0] 8055e04: 3301 adds r3, #1 8055e06: 4a2d ldr r2, [pc, #180] ; (8055ebc ) 8055e08: 6013 str r3, [r2, #0] if(NR >= Nr) 8055e0a: 4b2d ldr r3, [pc, #180] ; (8055ec0 ) 8055e0c: 881b ldrh r3, [r3, #0] 8055e0e: b29b uxth r3, r3 8055e10: 461a mov r2, r3 8055e12: 4b2a ldr r3, [pc, #168] ; (8055ebc ) 8055e14: 681b ldr r3, [r3, #0] 8055e16: 429a cmp r2, r3 8055e18: f200 8148 bhi.w 80560ac { NR = 0; 8055e1c: 4b27 ldr r3, [pc, #156] ; (8055ebc ) 8055e1e: 2200 movs r2, #0 8055e20: 601a str r2, [r3, #0] if(Vup < mean) 8055e22: 4b1d ldr r3, [pc, #116] ; (8055e98 ) 8055e24: 681a ldr r2, [r3, #0] 8055e26: 6a7b ldr r3, [r7, #36] ; 0x24 8055e28: 429a cmp r2, r3 8055e2a: d206 bcs.n 8055e3a Vup = mean - Vup; 8055e2c: 4b1a ldr r3, [pc, #104] ; (8055e98 ) 8055e2e: 681b ldr r3, [r3, #0] 8055e30: 6a7a ldr r2, [r7, #36] ; 0x24 8055e32: 1ad3 subs r3, r2, r3 8055e34: 4a18 ldr r2, [pc, #96] ; (8055e98 ) 8055e36: 6013 str r3, [r2, #0] 8055e38: e005 b.n 8055e46 else Vup = Vup - mean; 8055e3a: 4b17 ldr r3, [pc, #92] ; (8055e98 ) 8055e3c: 681a ldr r2, [r3, #0] 8055e3e: 6a7b ldr r3, [r7, #36] ; 0x24 8055e40: 1ad3 subs r3, r2, r3 8055e42: 4a15 ldr r2, [pc, #84] ; (8055e98 ) 8055e44: 6013 str r3, [r2, #0] if(Vdn > mean) 8055e46: 4b1b ldr r3, [pc, #108] ; (8055eb4 ) 8055e48: 681a ldr r2, [r3, #0] 8055e4a: 6a7b ldr r3, [r7, #36] ; 0x24 8055e4c: 429a cmp r2, r3 8055e4e: d906 bls.n 8055e5e Vdn = Vdn - mean; 8055e50: 4b18 ldr r3, [pc, #96] ; (8055eb4 ) 8055e52: 681a ldr r2, [r3, #0] 8055e54: 6a7b ldr r3, [r7, #36] ; 0x24 8055e56: 1ad3 subs r3, r2, r3 8055e58: 4a16 ldr r2, [pc, #88] ; (8055eb4 ) 8055e5a: 6013 str r3, [r2, #0] 8055e5c: e005 b.n 8055e6a else Vdn = mean - Vdn; 8055e5e: 4b15 ldr r3, [pc, #84] ; (8055eb4 ) 8055e60: 681b ldr r3, [r3, #0] 8055e62: 6a7a ldr r2, [r7, #36] ; 0x24 8055e64: 1ad3 subs r3, r2, r3 8055e66: 4a13 ldr r2, [pc, #76] ; (8055eb4 ) 8055e68: 6013 str r3, [r2, #0] if(Vup > Vdn) 8055e6a: 4b0b ldr r3, [pc, #44] ; (8055e98 ) 8055e6c: 681a ldr r2, [r3, #0] 8055e6e: 4b11 ldr r3, [pc, #68] ; (8055eb4 ) 8055e70: 681b ldr r3, [r3, #0] 8055e72: 429a cmp r2, r3 8055e74: d926 bls.n 8055ec4 Ym = Vup + mean; 8055e76: 4b08 ldr r3, [pc, #32] ; (8055e98 ) 8055e78: 681a ldr r2, [r3, #0] 8055e7a: 6a7b ldr r3, [r7, #36] ; 0x24 8055e7c: 4413 add r3, r2 8055e7e: 60bb str r3, [r7, #8] 8055e80: e029 b.n 8055ed6 8055e82: bf00 nop 8055e84: 20020d50 .word 0x20020d50 8055e88: 20020d51 .word 0x20020d51 8055e8c: 20020d58 .word 0x20020d58 8055e90: 20020d5c .word 0x20020d5c 8055e94: 20023e60 .word 0x20023e60 8055e98: 20021618 .word 0x20021618 8055e9c: 080ee930 .word 0x080ee930 8055ea0: 20021530 .word 0x20021530 8055ea4: 20020d7e .word 0x20020d7e 8055ea8: 2002098c .word 0x2002098c 8055eac: 2002008c .word 0x2002008c 8055eb0: 20021604 .word 0x20021604 8055eb4: 20020090 .word 0x20020090 8055eb8: 20058020 .word 0x20058020 8055ebc: 20021614 .word 0x20021614 8055ec0: 20021d20 .word 0x20021d20 else { Vup = Vdn; 8055ec4: 4b7d ldr r3, [pc, #500] ; (80560bc ) 8055ec6: 681b ldr r3, [r3, #0] 8055ec8: 4a7d ldr r2, [pc, #500] ; (80560c0 ) 8055eca: 6013 str r3, [r2, #0] Ym = Vdn + mean; 8055ecc: 4b7b ldr r3, [pc, #492] ; (80560bc ) 8055ece: 681a ldr r2, [r3, #0] 8055ed0: 6a7b ldr r3, [r7, #36] ; 0x24 8055ed2: 4413 add r3, r2 8055ed4: 60bb str r3, [r7, #8] } if(NUMPOINTS) 8055ed6: 4b7b ldr r3, [pc, #492] ; (80560c4 ) 8055ed8: 681b ldr r3, [r3, #0] 8055eda: 2b00 cmp r3, #0 8055edc: d045 beq.n 8055f6a { NeedKmUp = 0; 8055ede: 4b7a ldr r3, [pc, #488] ; (80560c8 ) 8055ee0: 2200 movs r2, #0 8055ee2: 701a strb r2, [r3, #0] NeedKmDown++; 8055ee4: 4b79 ldr r3, [pc, #484] ; (80560cc ) 8055ee6: 781b ldrb r3, [r3, #0] 8055ee8: b2db uxtb r3, r3 8055eea: 3301 adds r3, #1 8055eec: b2da uxtb r2, r3 8055eee: 4b77 ldr r3, [pc, #476] ; (80560cc ) 8055ef0: 701a strb r2, [r3, #0] if((NeedKmDown >= TimeKmDown) || (FirstGain == true)) 8055ef2: 4b76 ldr r3, [pc, #472] ; (80560cc ) 8055ef4: 781b ldrb r3, [r3, #0] 8055ef6: b2db uxtb r3, r3 8055ef8: 461a mov r2, r3 8055efa: 4b75 ldr r3, [pc, #468] ; (80560d0 ) 8055efc: 681b ldr r3, [r3, #0] 8055efe: 429a cmp r2, r3 8055f00: d204 bcs.n 8055f0c 8055f02: 4b74 ldr r3, [pc, #464] ; (80560d4 ) 8055f04: 781b ldrb r3, [r3, #0] 8055f06: b2db uxtb r3, r3 8055f08: 2b00 cmp r3, #0 8055f0a: d02a beq.n 8055f62 { FirstGain = false; 8055f0c: 4b71 ldr r3, [pc, #452] ; (80560d4 ) 8055f0e: 2200 movs r2, #0 8055f10: 701a strb r2, [r3, #0] if(NUMPOINTS >= VALUE_MAX) 8055f12: 4b6c ldr r3, [pc, #432] ; (80560c4 ) 8055f14: 681b ldr r3, [r3, #0] 8055f16: 2bff cmp r3, #255 ; 0xff 8055f18: d910 bls.n 8055f3c { if(pardata.IKU > Ku8) pardata.IKU -= Ku8; 8055f1a: 4b6f ldr r3, [pc, #444] ; (80560d8 ) 8055f1c: 7a1b ldrb r3, [r3, #8] 8055f1e: b2db uxtb r3, r3 8055f20: 2b03 cmp r3, #3 8055f22: d907 bls.n 8055f34 8055f24: 4b6c ldr r3, [pc, #432] ; (80560d8 ) 8055f26: 7a1b ldrb r3, [r3, #8] 8055f28: b2db uxtb r3, r3 8055f2a: 3b03 subs r3, #3 8055f2c: b2da uxtb r2, r3 8055f2e: 4b6a ldr r3, [pc, #424] ; (80560d8 ) 8055f30: 721a strb r2, [r3, #8] if(NUMPOINTS >= VALUE_MAX) 8055f32: e09a b.n 805606a else pardata.IKU = Ku1; 8055f34: 4b68 ldr r3, [pc, #416] ; (80560d8 ) 8055f36: 2200 movs r2, #0 8055f38: 721a strb r2, [r3, #8] if(NUMPOINTS >= VALUE_MAX) 8055f3a: e096 b.n 805606a } else if(NUMPOINTS >= VALUE_MIN) 8055f3c: 4b61 ldr r3, [pc, #388] ; (80560c4 ) 8055f3e: 681b ldr r3, [r3, #0] 8055f40: 2b01 cmp r3, #1 8055f42: f240 8092 bls.w 805606a { if(pardata.IKU > Ku1) 8055f46: 4b64 ldr r3, [pc, #400] ; (80560d8 ) 8055f48: 7a1b ldrb r3, [r3, #8] 8055f4a: b2db uxtb r3, r3 8055f4c: 2b00 cmp r3, #0 8055f4e: f000 808c beq.w 805606a pardata.IKU --; 8055f52: 4b61 ldr r3, [pc, #388] ; (80560d8 ) 8055f54: 7a1b ldrb r3, [r3, #8] 8055f56: b2db uxtb r3, r3 8055f58: 3b01 subs r3, #1 8055f5a: b2da uxtb r2, r3 8055f5c: 4b5e ldr r3, [pc, #376] ; (80560d8 ) 8055f5e: 721a strb r2, [r3, #8] if(NUMPOINTS >= VALUE_MAX) 8055f60: e083 b.n 805606a } } else { NUMPOINTS = 0; 8055f62: 4b58 ldr r3, [pc, #352] ; (80560c4 ) 8055f64: 2200 movs r2, #0 8055f66: 601a str r2, [r3, #0] 8055f68: e082 b.n 8056070 } } else { NeedKmDown = 0; 8055f6a: 4b58 ldr r3, [pc, #352] ; (80560cc ) 8055f6c: 2200 movs r2, #0 8055f6e: 701a strb r2, [r3, #0] if(Ym <= UMIN) 8055f70: 68ba ldr r2, [r7, #8] 8055f72: 69fb ldr r3, [r7, #28] 8055f74: 429a cmp r2, r3 8055f76: d87b bhi.n 8056070 { NeedKmUp++; 8055f78: 4b53 ldr r3, [pc, #332] ; (80560c8 ) 8055f7a: 781b ldrb r3, [r3, #0] 8055f7c: b2db uxtb r3, r3 8055f7e: 3301 adds r3, #1 8055f80: b2da uxtb r2, r3 8055f82: 4b51 ldr r3, [pc, #324] ; (80560c8 ) 8055f84: 701a strb r2, [r3, #0] if((NeedKmUp >= TimeKmUp) || (FirstGain == true)) 8055f86: 4b50 ldr r3, [pc, #320] ; (80560c8 ) 8055f88: 781b ldrb r3, [r3, #0] 8055f8a: b2db uxtb r3, r3 8055f8c: 461a mov r2, r3 8055f8e: 4b53 ldr r3, [pc, #332] ; (80560dc ) 8055f90: 681b ldr r3, [r3, #0] 8055f92: 429a cmp r2, r3 8055f94: d204 bcs.n 8055fa0 8055f96: 4b4f ldr r3, [pc, #316] ; (80560d4 ) 8055f98: 781b ldrb r3, [r3, #0] 8055f9a: b2db uxtb r3, r3 8055f9c: 2b00 cmp r3, #0 8055f9e: d067 beq.n 8056070 { FirstGain = false; 8055fa0: 4b4c ldr r3, [pc, #304] ; (80560d4 ) 8055fa2: 2200 movs r2, #0 8055fa4: 701a strb r2, [r3, #0] if(pardata.IKU < Ku640) 8055fa6: 4b4c ldr r3, [pc, #304] ; (80560d8 ) 8055fa8: 7a1b ldrb r3, [r3, #8] 8055faa: b2db uxtb r3, r3 8055fac: 2b09 cmp r3, #9 8055fae: d85f bhi.n 8056070 { fmax = (float32_t) Vup; 8055fb0: 4b43 ldr r3, [pc, #268] ; (80560c0 ) 8055fb2: 681b ldr r3, [r3, #0] 8055fb4: ee07 3a90 vmov s15, r3 8055fb8: eef8 7a67 vcvt.f32.u32 s15, s15 8055fbc: edc7 7a06 vstr s15, [r7, #24] fmax /= KM[pardata.IKU]; 8055fc0: 4b45 ldr r3, [pc, #276] ; (80560d8 ) 8055fc2: 7a1b ldrb r3, [r3, #8] 8055fc4: b2db uxtb r3, r3 8055fc6: 4a46 ldr r2, [pc, #280] ; (80560e0 ) 8055fc8: 009b lsls r3, r3, #2 8055fca: 4413 add r3, r2 8055fcc: ed93 7a00 vldr s14, [r3] 8055fd0: edd7 6a06 vldr s13, [r7, #24] 8055fd4: eec6 7a87 vdiv.f32 s15, s13, s14 8055fd8: edc7 7a06 vstr s15, [r7, #24] dB_s = 0; 8055fdc: 2300 movs r3, #0 8055fde: 74fb strb r3, [r7, #19] while(Ym < UMIN) 8055fe0: e03e b.n 8056060 { Yf = fmax * KM[dB_s] + 0.50f; 8055fe2: 7cfb ldrb r3, [r7, #19] 8055fe4: b2db uxtb r3, r3 8055fe6: 4a3e ldr r2, [pc, #248] ; (80560e0 ) 8055fe8: 009b lsls r3, r3, #2 8055fea: 4413 add r3, r2 8055fec: ed93 7a00 vldr s14, [r3] 8055ff0: edd7 7a06 vldr s15, [r7, #24] 8055ff4: ee67 7a27 vmul.f32 s15, s14, s15 8055ff8: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8055ffc: ee77 7a87 vadd.f32 s15, s15, s14 8056000: edc7 7a05 vstr s15, [r7, #20] Ym = (uint32_t) Yf; 8056004: edd7 7a05 vldr s15, [r7, #20] 8056008: eefc 7ae7 vcvt.u32.f32 s15, s15 805600c: ee17 3a90 vmov r3, s15 8056010: 60bb str r3, [r7, #8] Ym += mean; 8056012: 68ba ldr r2, [r7, #8] 8056014: 6a7b ldr r3, [r7, #36] ; 0x24 8056016: 4413 add r3, r2 8056018: 60bb str r3, [r7, #8] if(Ym > UMIN) 805601a: 68ba ldr r2, [r7, #8] 805601c: 69fb ldr r3, [r7, #28] 805601e: 429a cmp r2, r3 8056020: d911 bls.n 8056046 { if(Ym > UMAX) 8056022: 68ba ldr r2, [r7, #8] 8056024: 6a3b ldr r3, [r7, #32] 8056026: 429a cmp r2, r3 8056028: d908 bls.n 805603c { if(dB_s) 805602a: 7cfb ldrb r3, [r7, #19] 805602c: b2db uxtb r3, r3 805602e: 2b00 cmp r3, #0 8056030: d004 beq.n 805603c dB_s--; 8056032: 7cfb ldrb r3, [r7, #19] 8056034: b2db uxtb r3, r3 8056036: 3b01 subs r3, #1 8056038: b2db uxtb r3, r3 805603a: 74fb strb r3, [r7, #19] } pardata.IKU = dB_s; 805603c: 7cfb ldrb r3, [r7, #19] 805603e: b2da uxtb r2, r3 8056040: 4b25 ldr r3, [pc, #148] ; (80560d8 ) 8056042: 721a strb r2, [r3, #8] break; 8056044: e014 b.n 8056070 } else { if(dB_s < Ku640) 8056046: 7cfb ldrb r3, [r7, #19] 8056048: b2db uxtb r3, r3 805604a: 2b09 cmp r3, #9 805604c: d80f bhi.n 805606e { dB_s++; 805604e: 7cfb ldrb r3, [r7, #19] 8056050: b2db uxtb r3, r3 8056052: 3301 adds r3, #1 8056054: b2db uxtb r3, r3 8056056: 74fb strb r3, [r7, #19] pardata.IKU = dB_s; 8056058: 7cfb ldrb r3, [r7, #19] 805605a: b2da uxtb r2, r3 805605c: 4b1e ldr r3, [pc, #120] ; (80560d8 ) 805605e: 721a strb r2, [r3, #8] while(Ym < UMIN) 8056060: 68ba ldr r2, [r7, #8] 8056062: 69fb ldr r3, [r7, #28] 8056064: 429a cmp r2, r3 8056066: d3bc bcc.n 8055fe2 8056068: e002 b.n 8056070 if(NUMPOINTS >= VALUE_MAX) 805606a: bf00 nop 805606c: e000 b.n 8056070 } else break; 805606e: bf00 nop } } } if(LAST_KU != pardata.IKU) 8056070: 4b19 ldr r3, [pc, #100] ; (80560d8 ) 8056072: 7a1b ldrb r3, [r3, #8] 8056074: b2da uxtb r2, r3 8056076: 4b1b ldr r3, [pc, #108] ; (80560e4 ) 8056078: 781b ldrb r3, [r3, #0] 805607a: b2db uxtb r3, r3 805607c: 429a cmp r2, r3 805607e: d009 beq.n 8056094 { Flag_Set_KU = 1; 8056080: 4b19 ldr r3, [pc, #100] ; (80560e8 ) 8056082: 2201 movs r2, #1 8056084: 701a strb r2, [r3, #0] AUTOZOOM = true; 8056086: 4b19 ldr r3, [pc, #100] ; (80560ec ) 8056088: 2201 movs r2, #1 805608a: 701a strb r2, [r3, #0] IndexFran = -1; 805608c: 4b18 ldr r3, [pc, #96] ; (80560f0 ) 805608e: f04f 32ff mov.w r2, #4294967295 8056092: 601a str r2, [r3, #0] } NUMPOINTS = 0; 8056094: 4b0b ldr r3, [pc, #44] ; (80560c4 ) 8056096: 2200 movs r2, #0 8056098: 601a str r2, [r3, #0] Vup = 0; 805609a: 4b09 ldr r3, [pc, #36] ; (80560c0 ) 805609c: 2200 movs r2, #0 805609e: 601a str r2, [r3, #0] Vdn = 0xffffff; 80560a0: 4b06 ldr r3, [pc, #24] ; (80560bc ) 80560a2: f06f 427f mvn.w r2, #4278190080 ; 0xff000000 80560a6: 601a str r2, [r3, #0] return 0; 80560a8: 2300 movs r3, #0 80560aa: e001 b.n 80560b0 } } return -1; 80560ac: f04f 33ff mov.w r3, #4294967295 } 80560b0: 4618 mov r0, r3 80560b2: 372c adds r7, #44 ; 0x2c 80560b4: 46bd mov sp, r7 80560b6: f85d 7b04 ldr.w r7, [sp], #4 80560ba: 4770 bx lr 80560bc: 20020090 .word 0x20020090 80560c0: 20021618 .word 0x20021618 80560c4: 20021604 .word 0x20021604 80560c8: 20020d51 .word 0x20020d51 80560cc: 20020d50 .word 0x20020d50 80560d0: 20020d54 .word 0x20020d54 80560d4: 20020d5c .word 0x20020d5c 80560d8: 20023e60 .word 0x20023e60 80560dc: 20020d58 .word 0x20020d58 80560e0: 080ee940 .word 0x080ee940 80560e4: 20021530 .word 0x20021530 80560e8: 20020d7e .word 0x20020d7e 80560ec: 2002098c .word 0x2002098c 80560f0: 2002008c .word 0x2002008c 080560f4 : { } void initFFT(float32_t *pSrc, float32_t *pDst, uint8_t flag) { 80560f4: b580 push {r7, lr} 80560f6: b088 sub sp, #32 80560f8: af02 add r7, sp, #8 80560fa: 60f8 str r0, [r7, #12] 80560fc: 60b9 str r1, [r7, #8] 80560fe: 4613 mov r3, r2 8056100: 71fb strb r3, [r7, #7] arm_status status; if((pardata.SYG == OSC) && (pardata.IPR > ACC)) 8056102: 4b4f ldr r3, [pc, #316] ; (8056240 ) 8056104: 781b ldrb r3, [r3, #0] 8056106: b2db uxtb r3, r3 8056108: 2b02 cmp r3, #2 805610a: d11b bne.n 8056144 805610c: 4b4c ldr r3, [pc, #304] ; (8056240 ) 805610e: 785b ldrb r3, [r3, #1] 8056110: b2db uxtb r3, r3 8056112: 2b00 cmp r3, #0 8056114: d016 beq.n 8056144 { status = arm_rfft_init_f32( &rfft_instance, &radix4, 8192, flag, 1); 8056116: 79fa ldrb r2, [r7, #7] 8056118: 2301 movs r3, #1 805611a: 9300 str r3, [sp, #0] 805611c: 4613 mov r3, r2 805611e: f44f 5200 mov.w r2, #8192 ; 0x2000 8056122: 4948 ldr r1, [pc, #288] ; (8056244 ) 8056124: 4848 ldr r0, [pc, #288] ; (8056248 ) 8056126: f05c ff47 bl 80b2fb8 805612a: 4603 mov r3, r0 805612c: 75fb strb r3, [r7, #23] if (status != ARM_MATH_SUCCESS) while (1); 805612e: f997 3017 ldrsb.w r3, [r7, #23] 8056132: 2b00 cmp r3, #0 8056134: d000 beq.n 8056138 8056136: e7fe b.n 8056136 arm_rfft_f32(&rfft_instance, pSrc, pDst); 8056138: 68ba ldr r2, [r7, #8] 805613a: 68f9 ldr r1, [r7, #12] 805613c: 4842 ldr r0, [pc, #264] ; (8056248 ) 805613e: f05c fa99 bl 80b2674 8056142: e078 b.n 8056236 } else { switch(Ns) 8056144: 4b41 ldr r3, [pc, #260] ; (805624c ) 8056146: 681b ldr r3, [r3, #0] 8056148: f5b3 6f00 cmp.w r3, #2048 ; 0x800 805614c: d036 beq.n 80561bc 805614e: f5b3 6f00 cmp.w r3, #2048 ; 0x800 8056152: d806 bhi.n 8056162 8056154: f5b3 7f00 cmp.w r3, #512 ; 0x200 8056158: d00a beq.n 8056170 805615a: f5b3 6f80 cmp.w r3, #1024 ; 0x400 805615e: d01a beq.n 8056196 if (status != ARM_MATH_SUCCESS) while (1); arm_rfft_f32(&rfft_instance, pSrc, pDst); break; } } } 8056160: e069 b.n 8056236 switch(Ns) 8056162: f5b3 5f80 cmp.w r3, #4096 ; 0x1000 8056166: d03c beq.n 80561e2 8056168: f5b3 5f00 cmp.w r3, #8192 ; 0x2000 805616c: d04c beq.n 8056208 } 805616e: e062 b.n 8056236 status = arm_rfft_fast_init_f32( &rfft_fast_instance512, 512); 8056170: f44f 7100 mov.w r1, #512 ; 0x200 8056174: 4836 ldr r0, [pc, #216] ; (8056250 ) 8056176: f05c fe49 bl 80b2e0c 805617a: 4603 mov r3, r0 805617c: 75fb strb r3, [r7, #23] if (status != ARM_MATH_SUCCESS) while (1); 805617e: f997 3017 ldrsb.w r3, [r7, #23] 8056182: 2b00 cmp r3, #0 8056184: d000 beq.n 8056188 8056186: e7fe b.n 8056186 arm_rfft_fast_f32(&rfft_fast_instance512, pSrc, pDst, flag); 8056188: 79fb ldrb r3, [r7, #7] 805618a: 68ba ldr r2, [r7, #8] 805618c: 68f9 ldr r1, [r7, #12] 805618e: 4830 ldr r0, [pc, #192] ; (8056250 ) 8056190: f05c fe0f bl 80b2db2 break; 8056194: e04f b.n 8056236 status = arm_rfft_fast_init_f32( &rfft_fast_instance1024, 1024); 8056196: f44f 6180 mov.w r1, #1024 ; 0x400 805619a: 482e ldr r0, [pc, #184] ; (8056254 ) 805619c: f05c fe36 bl 80b2e0c 80561a0: 4603 mov r3, r0 80561a2: 75fb strb r3, [r7, #23] if (status != ARM_MATH_SUCCESS) while (1); 80561a4: f997 3017 ldrsb.w r3, [r7, #23] 80561a8: 2b00 cmp r3, #0 80561aa: d000 beq.n 80561ae 80561ac: e7fe b.n 80561ac arm_rfft_fast_f32(&rfft_fast_instance1024, pSrc, pDst, flag); 80561ae: 79fb ldrb r3, [r7, #7] 80561b0: 68ba ldr r2, [r7, #8] 80561b2: 68f9 ldr r1, [r7, #12] 80561b4: 4827 ldr r0, [pc, #156] ; (8056254 ) 80561b6: f05c fdfc bl 80b2db2 break; 80561ba: e03c b.n 8056236 status = arm_rfft_fast_init_f32( &rfft_fast_instance2048, 2048); 80561bc: f44f 6100 mov.w r1, #2048 ; 0x800 80561c0: 4825 ldr r0, [pc, #148] ; (8056258 ) 80561c2: f05c fe23 bl 80b2e0c 80561c6: 4603 mov r3, r0 80561c8: 75fb strb r3, [r7, #23] if (status != ARM_MATH_SUCCESS) while (1); 80561ca: f997 3017 ldrsb.w r3, [r7, #23] 80561ce: 2b00 cmp r3, #0 80561d0: d000 beq.n 80561d4 80561d2: e7fe b.n 80561d2 arm_rfft_fast_f32(&rfft_fast_instance2048, pSrc, pDst, flag); 80561d4: 79fb ldrb r3, [r7, #7] 80561d6: 68ba ldr r2, [r7, #8] 80561d8: 68f9 ldr r1, [r7, #12] 80561da: 481f ldr r0, [pc, #124] ; (8056258 ) 80561dc: f05c fde9 bl 80b2db2 break; 80561e0: e029 b.n 8056236 status = arm_rfft_fast_init_f32( &rfft_fast_instance4096, 4096); 80561e2: f44f 5180 mov.w r1, #4096 ; 0x1000 80561e6: 481d ldr r0, [pc, #116] ; (805625c ) 80561e8: f05c fe10 bl 80b2e0c 80561ec: 4603 mov r3, r0 80561ee: 75fb strb r3, [r7, #23] if (status != ARM_MATH_SUCCESS) while (1); 80561f0: f997 3017 ldrsb.w r3, [r7, #23] 80561f4: 2b00 cmp r3, #0 80561f6: d000 beq.n 80561fa 80561f8: e7fe b.n 80561f8 arm_rfft_fast_f32(&rfft_fast_instance4096, pSrc, pDst, flag); 80561fa: 79fb ldrb r3, [r7, #7] 80561fc: 68ba ldr r2, [r7, #8] 80561fe: 68f9 ldr r1, [r7, #12] 8056200: 4816 ldr r0, [pc, #88] ; (805625c ) 8056202: f05c fdd6 bl 80b2db2 break; 8056206: e016 b.n 8056236 status = arm_rfft_init_f32( &rfft_instance, &radix4, 8192, flag, 1); 8056208: 79fa ldrb r2, [r7, #7] 805620a: 2301 movs r3, #1 805620c: 9300 str r3, [sp, #0] 805620e: 4613 mov r3, r2 8056210: f44f 5200 mov.w r2, #8192 ; 0x2000 8056214: 490b ldr r1, [pc, #44] ; (8056244 ) 8056216: 480c ldr r0, [pc, #48] ; (8056248 ) 8056218: f05c fece bl 80b2fb8 805621c: 4603 mov r3, r0 805621e: 75fb strb r3, [r7, #23] if (status != ARM_MATH_SUCCESS) while (1); 8056220: f997 3017 ldrsb.w r3, [r7, #23] 8056224: 2b00 cmp r3, #0 8056226: d000 beq.n 805622a 8056228: e7fe b.n 8056228 arm_rfft_f32(&rfft_instance, pSrc, pDst); 805622a: 68ba ldr r2, [r7, #8] 805622c: 68f9 ldr r1, [r7, #12] 805622e: 4806 ldr r0, [pc, #24] ; (8056248 ) 8056230: f05c fa20 bl 80b2674 break; 8056234: bf00 nop } 8056236: bf00 nop 8056238: 3718 adds r7, #24 805623a: 46bd mov sp, r7 805623c: bd80 pop {r7, pc} 805623e: bf00 nop 8056240: 20023e60 .word 0x20023e60 8056244: 20021574 .word 0x20021574 8056248: 20021588 .word 0x20021588 805624c: 20021cdc .word 0x20021cdc 8056250: 200215e8 .word 0x200215e8 8056254: 200215d0 .word 0x200215d0 8056258: 200215b8 .word 0x200215b8 805625c: 200215a0 .word 0x200215a0 08056260 : //****************************************************************************** // Ìåäèàíà çíà÷åíèé ïåðèîäîâ ñèãíàëà //****************************************************************************** void MedyF() { 8056260: b480 push {r7} 8056262: b085 sub sp, #20 8056264: af00 add r7, sp, #0 uint32_t i,j; uint32_t tmp; uint32_t len; if(pardata.SYG == WAVE) 8056266: 4b27 ldr r3, [pc, #156] ; (8056304 ) 8056268: 781b ldrb r3, [r3, #0] 805626a: b2db uxtb r3, r3 805626c: 2b04 cmp r3, #4 805626e: d102 bne.n 8056276 len = LEN_M_BUF_TACHO; 8056270: 2305 movs r3, #5 8056272: 607b str r3, [r7, #4] 8056274: e001 b.n 805627a else len = LEN_M_BUF; 8056276: 2309 movs r3, #9 8056278: 607b str r3, [r7, #4] for(i = 0; i < len / 2 + 1; i++) 805627a: 2300 movs r3, #0 805627c: 60fb str r3, [r7, #12] 805627e: e029 b.n 80562d4 for(j = i + 1; j < len; j++) 8056280: 68fb ldr r3, [r7, #12] 8056282: 3301 adds r3, #1 8056284: 60bb str r3, [r7, #8] 8056286: e01e b.n 80562c6 if(frq[j] < frq[i]) 8056288: 4a1f ldr r2, [pc, #124] ; (8056308 ) 805628a: 68bb ldr r3, [r7, #8] 805628c: f852 2023 ldr.w r2, [r2, r3, lsl #2] 8056290: 491d ldr r1, [pc, #116] ; (8056308 ) 8056292: 68fb ldr r3, [r7, #12] 8056294: f851 3023 ldr.w r3, [r1, r3, lsl #2] 8056298: 429a cmp r2, r3 805629a: d211 bcs.n 80562c0 { tmp = frq[i]; 805629c: 4a1a ldr r2, [pc, #104] ; (8056308 ) 805629e: 68fb ldr r3, [r7, #12] 80562a0: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80562a4: 603b str r3, [r7, #0] frq[i] = frq[j]; 80562a6: 4a18 ldr r2, [pc, #96] ; (8056308 ) 80562a8: 68bb ldr r3, [r7, #8] 80562aa: f852 2023 ldr.w r2, [r2, r3, lsl #2] 80562ae: 4916 ldr r1, [pc, #88] ; (8056308 ) 80562b0: 68fb ldr r3, [r7, #12] 80562b2: f841 2023 str.w r2, [r1, r3, lsl #2] frq[j] = tmp; 80562b6: 4914 ldr r1, [pc, #80] ; (8056308 ) 80562b8: 68bb ldr r3, [r7, #8] 80562ba: 683a ldr r2, [r7, #0] 80562bc: f841 2023 str.w r2, [r1, r3, lsl #2] for(j = i + 1; j < len; j++) 80562c0: 68bb ldr r3, [r7, #8] 80562c2: 3301 adds r3, #1 80562c4: 60bb str r3, [r7, #8] 80562c6: 68ba ldr r2, [r7, #8] 80562c8: 687b ldr r3, [r7, #4] 80562ca: 429a cmp r2, r3 80562cc: d3dc bcc.n 8056288 for(i = 0; i < len / 2 + 1; i++) 80562ce: 68fb ldr r3, [r7, #12] 80562d0: 3301 adds r3, #1 80562d2: 60fb str r3, [r7, #12] 80562d4: 687b ldr r3, [r7, #4] 80562d6: 085b lsrs r3, r3, #1 80562d8: 1c5a adds r2, r3, #1 80562da: 68fb ldr r3, [r7, #12] 80562dc: 429a cmp r2, r3 80562de: d8cf bhi.n 8056280 } axF = (float32_t) (frq[len / 2]); 80562e0: 687b ldr r3, [r7, #4] 80562e2: 085b lsrs r3, r3, #1 80562e4: 4a08 ldr r2, [pc, #32] ; (8056308 ) 80562e6: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80562ea: ee07 3a90 vmov s15, r3 80562ee: eef8 7a67 vcvt.f32.u32 s15, s15 80562f2: 4b06 ldr r3, [pc, #24] ; (805630c ) 80562f4: edc3 7a00 vstr s15, [r3] } 80562f8: bf00 nop 80562fa: 3714 adds r7, #20 80562fc: 46bd mov sp, r7 80562fe: f85d 7b04 ldr.w r7, [sp], #4 8056302: 4770 bx lr 8056304: 20023e60 .word 0x20023e60 8056308: 20026e94 .word 0x20026e94 805630c: 200278d0 .word 0x200278d0 08056310 : return (Out[Ns / 2]); } void CalcFreq(void) { 8056310: b580 push {r7, lr} 8056312: b082 sub sp, #8 8056314: af00 add r7, sp, #0 uint32_t i, cnt = NUM_SAMPLES * 8192u; 8056316: f44f 3300 mov.w r3, #131072 ; 0x20000 805631a: 603b str r3, [r7, #0] for(i = 0; i < cnt; i++) 805631c: 2300 movs r3, #0 805631e: 607b str r3, [r7, #4] 8056320: e0de b.n 80564e0 { switch(faseF) 8056322: 4b74 ldr r3, [pc, #464] ; (80564f4 ) 8056324: 681b ldr r3, [r3, #0] 8056326: 2b03 cmp r3, #3 8056328: f200 80d7 bhi.w 80564da 805632c: a201 add r2, pc, #4 ; (adr r2, 8056334 ) 805632e: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8056332: bf00 nop 8056334: 08056345 .word 0x08056345 8056338: 08056387 .word 0x08056387 805633c: 080563d5 .word 0x080563d5 8056340: 0805642d .word 0x0805642d { case 0: if(Freq_f32(i) < -DF) 8056344: 687b ldr r3, [r7, #4] 8056346: 009a lsls r2, r3, #2 8056348: 4b6b ldr r3, [pc, #428] ; (80564f8 ) 805634a: 4413 add r3, r2 805634c: edd3 7a00 vldr s15, [r3] 8056350: eebe 7a00 vmov.f32 s14, #224 ; 0xbf000000 -0.5 8056354: eef4 7ac7 vcmpe.f32 s15, s14 8056358: eef1 fa10 vmrs APSR_nzcv, fpscr 805635c: d50f bpl.n 805637e { if(okf) 805635e: 4b67 ldr r3, [pc, #412] ; (80564fc ) 8056360: 681b ldr r3, [r3, #0] 8056362: 2b00 cmp r3, #0 8056364: d005 beq.n 8056372 okf--; 8056366: 4b65 ldr r3, [pc, #404] ; (80564fc ) 8056368: 681b ldr r3, [r3, #0] 805636a: 3b01 subs r3, #1 805636c: 4a63 ldr r2, [pc, #396] ; (80564fc ) 805636e: 6013 str r3, [r2, #0] else faseF++; } else okf = CF; break; 8056370: e0b3 b.n 80564da else faseF++; 8056372: 4b60 ldr r3, [pc, #384] ; (80564f4 ) 8056374: 681b ldr r3, [r3, #0] 8056376: 3301 adds r3, #1 8056378: 4a5e ldr r2, [pc, #376] ; (80564f4 ) 805637a: 6013 str r3, [r2, #0] break; 805637c: e0ad b.n 80564da okf = CF; 805637e: 4b5f ldr r3, [pc, #380] ; (80564fc ) 8056380: 2204 movs r2, #4 8056382: 601a str r2, [r3, #0] break; 8056384: e0a9 b.n 80564da case 1: frq[kf] = 0; 8056386: 4b5e ldr r3, [pc, #376] ; (8056500 ) 8056388: 681b ldr r3, [r3, #0] 805638a: 4a5e ldr r2, [pc, #376] ; (8056504 ) 805638c: 2100 movs r1, #0 805638e: f842 1023 str.w r1, [r2, r3, lsl #2] if(Freq_f32(i) > DF) 8056392: 687b ldr r3, [r7, #4] 8056394: 009a lsls r2, r3, #2 8056396: 4b58 ldr r3, [pc, #352] ; (80564f8 ) 8056398: 4413 add r3, r2 805639a: edd3 7a00 vldr s15, [r3] 805639e: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80563a2: eef4 7ac7 vcmpe.f32 s15, s14 80563a6: eef1 fa10 vmrs APSR_nzcv, fpscr 80563aa: dd0f ble.n 80563cc { if(okf < CF) 80563ac: 4b53 ldr r3, [pc, #332] ; (80564fc ) 80563ae: 681b ldr r3, [r3, #0] 80563b0: 2b03 cmp r3, #3 80563b2: d805 bhi.n 80563c0 okf++; 80563b4: 4b51 ldr r3, [pc, #324] ; (80564fc ) 80563b6: 681b ldr r3, [r3, #0] 80563b8: 3301 adds r3, #1 80563ba: 4a50 ldr r2, [pc, #320] ; (80564fc ) 80563bc: 6013 str r3, [r2, #0] else faseF++; } else okf = 0; break; 80563be: e08c b.n 80564da else faseF++; 80563c0: 4b4c ldr r3, [pc, #304] ; (80564f4 ) 80563c2: 681b ldr r3, [r3, #0] 80563c4: 3301 adds r3, #1 80563c6: 4a4b ldr r2, [pc, #300] ; (80564f4 ) 80563c8: 6013 str r3, [r2, #0] break; 80563ca: e086 b.n 80564da okf = 0; 80563cc: 4b4b ldr r3, [pc, #300] ; (80564fc ) 80563ce: 2200 movs r2, #0 80563d0: 601a str r2, [r3, #0] break; 80563d2: e082 b.n 80564da case 2: frq[kf] = frq[kf] + 1; 80563d4: 4b4a ldr r3, [pc, #296] ; (8056500 ) 80563d6: 681b ldr r3, [r3, #0] 80563d8: 4a49 ldr r2, [pc, #292] ; (8056500 ) 80563da: 6812 ldr r2, [r2, #0] 80563dc: 4949 ldr r1, [pc, #292] ; (8056504 ) 80563de: f851 2022 ldr.w r2, [r1, r2, lsl #2] 80563e2: 3201 adds r2, #1 80563e4: 4947 ldr r1, [pc, #284] ; (8056504 ) 80563e6: f841 2023 str.w r2, [r1, r3, lsl #2] if(Freq_f32(i) < -DF) 80563ea: 687b ldr r3, [r7, #4] 80563ec: 009a lsls r2, r3, #2 80563ee: 4b42 ldr r3, [pc, #264] ; (80564f8 ) 80563f0: 4413 add r3, r2 80563f2: edd3 7a00 vldr s15, [r3] 80563f6: eebe 7a00 vmov.f32 s14, #224 ; 0xbf000000 -0.5 80563fa: eef4 7ac7 vcmpe.f32 s15, s14 80563fe: eef1 fa10 vmrs APSR_nzcv, fpscr 8056402: d50f bpl.n 8056424 { if(okf) 8056404: 4b3d ldr r3, [pc, #244] ; (80564fc ) 8056406: 681b ldr r3, [r3, #0] 8056408: 2b00 cmp r3, #0 805640a: d005 beq.n 8056418 okf--; 805640c: 4b3b ldr r3, [pc, #236] ; (80564fc ) 805640e: 681b ldr r3, [r3, #0] 8056410: 3b01 subs r3, #1 8056412: 4a3a ldr r2, [pc, #232] ; (80564fc ) 8056414: 6013 str r3, [r2, #0] else faseF++; } else okf = CF; break; 8056416: e060 b.n 80564da else faseF++; 8056418: 4b36 ldr r3, [pc, #216] ; (80564f4 ) 805641a: 681b ldr r3, [r3, #0] 805641c: 3301 adds r3, #1 805641e: 4a35 ldr r2, [pc, #212] ; (80564f4 ) 8056420: 6013 str r3, [r2, #0] break; 8056422: e05a b.n 80564da okf = CF; 8056424: 4b35 ldr r3, [pc, #212] ; (80564fc ) 8056426: 2204 movs r2, #4 8056428: 601a str r2, [r3, #0] break; 805642a: e056 b.n 80564da case 3: frq[kf] = frq[kf] + 1; 805642c: 4b34 ldr r3, [pc, #208] ; (8056500 ) 805642e: 681b ldr r3, [r3, #0] 8056430: 4a33 ldr r2, [pc, #204] ; (8056500 ) 8056432: 6812 ldr r2, [r2, #0] 8056434: 4933 ldr r1, [pc, #204] ; (8056504 ) 8056436: f851 2022 ldr.w r2, [r1, r2, lsl #2] 805643a: 3201 adds r2, #1 805643c: 4931 ldr r1, [pc, #196] ; (8056504 ) 805643e: f841 2023 str.w r2, [r1, r3, lsl #2] if(Freq_f32(i) > DF) 8056442: 687b ldr r3, [r7, #4] 8056444: 009a lsls r2, r3, #2 8056446: 4b2c ldr r3, [pc, #176] ; (80564f8 ) 8056448: 4413 add r3, r2 805644a: edd3 7a00 vldr s15, [r3] 805644e: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8056452: eef4 7ac7 vcmpe.f32 s15, s14 8056456: eef1 fa10 vmrs APSR_nzcv, fpscr 805645a: dd3a ble.n 80564d2 { if(okf < CF) 805645c: 4b27 ldr r3, [pc, #156] ; (80564fc ) 805645e: 681b ldr r3, [r3, #0] 8056460: 2b03 cmp r3, #3 8056462: d805 bhi.n 8056470 okf++; 8056464: 4b25 ldr r3, [pc, #148] ; (80564fc ) 8056466: 681b ldr r3, [r3, #0] 8056468: 3301 adds r3, #1 805646a: 4a24 ldr r2, [pc, #144] ; (80564fc ) 805646c: 6013 str r3, [r2, #0] faseF = 0; } } else okf = 0; break; 805646e: e033 b.n 80564d8 kf = (kf + 1) % LEN_M_BUF; 8056470: 4b23 ldr r3, [pc, #140] ; (8056500 ) 8056472: 681b ldr r3, [r3, #0] 8056474: 1c59 adds r1, r3, #1 8056476: 4b24 ldr r3, [pc, #144] ; (8056508 ) 8056478: fba3 2301 umull r2, r3, r3, r1 805647c: 085a lsrs r2, r3, #1 805647e: 4613 mov r3, r2 8056480: 00db lsls r3, r3, #3 8056482: 4413 add r3, r2 8056484: 1aca subs r2, r1, r3 8056486: 4b1e ldr r3, [pc, #120] ; (8056500 ) 8056488: 601a str r2, [r3, #0] if(!kf) 805648a: 4b1d ldr r3, [pc, #116] ; (8056500 ) 805648c: 681b ldr r3, [r3, #0] 805648e: 2b00 cmp r3, #0 8056490: d11b bne.n 80564ca kf = 0; 8056492: 4b1b ldr r3, [pc, #108] ; (8056500 ) 8056494: 2200 movs r2, #0 8056496: 601a str r2, [r3, #0] MedyF(); 8056498: f7ff fee2 bl 8056260 if(axF) 805649c: 4b1b ldr r3, [pc, #108] ; (805650c ) 805649e: edd3 7a00 vldr s15, [r3] 80564a2: eef5 7a40 vcmp.f32 s15, #0.0 80564a6: eef1 fa10 vmrs APSR_nzcv, fpscr 80564aa: d00a beq.n 80564c2 FreqFran = 64000.0f / axF; 80564ac: 4b17 ldr r3, [pc, #92] ; (805650c ) 80564ae: ed93 7a00 vldr s14, [r3] 80564b2: eddf 6a17 vldr s13, [pc, #92] ; 8056510 80564b6: eec6 7a87 vdiv.f32 s15, s13, s14 80564ba: 4b16 ldr r3, [pc, #88] ; (8056514 ) 80564bc: edc3 7a00 vstr s15, [r3] 80564c0: e003 b.n 80564ca else FreqFran = 0; 80564c2: 4b14 ldr r3, [pc, #80] ; (8056514 ) 80564c4: f04f 0200 mov.w r2, #0 80564c8: 601a str r2, [r3, #0] faseF = 0; 80564ca: 4b0a ldr r3, [pc, #40] ; (80564f4 ) 80564cc: 2200 movs r2, #0 80564ce: 601a str r2, [r3, #0] break; 80564d0: e002 b.n 80564d8 okf = 0; 80564d2: 4b0a ldr r3, [pc, #40] ; (80564fc ) 80564d4: 2200 movs r2, #0 80564d6: 601a str r2, [r3, #0] break; 80564d8: bf00 nop for(i = 0; i < cnt; i++) 80564da: 687b ldr r3, [r7, #4] 80564dc: 3301 adds r3, #1 80564de: 607b str r3, [r7, #4] 80564e0: 687a ldr r2, [r7, #4] 80564e2: 683b ldr r3, [r7, #0] 80564e4: 429a cmp r2, r3 80564e6: f4ff af1c bcc.w 8056322 } } } 80564ea: bf00 nop 80564ec: 3708 adds r7, #8 80564ee: 46bd mov sp, r7 80564f0: bd80 pop {r7, pc} 80564f2: bf00 nop 80564f4: 2002162c .word 0x2002162c 80564f8: 64080000 .word 0x64080000 80564fc: 20020094 .word 0x20020094 8056500: 20021628 .word 0x20021628 8056504: 20026e94 .word 0x20026e94 8056508: 38e38e39 .word 0x38e38e39 805650c: 200278d0 .word 0x200278d0 8056510: 477a0000 .word 0x477a0000 8056514: 20021564 .word 0x20021564 08056518 : void CalcFreqTacho(void) { 8056518: b580 push {r7, lr} 805651a: b082 sub sp, #8 805651c: af00 add r7, sp, #0 uint32_t i, cnt = 8 * 16384u; 805651e: f44f 3300 mov.w r3, #131072 ; 0x20000 8056522: 603b str r3, [r7, #0] for(i = 0; i < cnt; i++) 8056524: 2300 movs r3, #0 8056526: 607b str r3, [r7, #4] 8056528: e0de b.n 80566e8 { switch(faseF) 805652a: 4b74 ldr r3, [pc, #464] ; (80566fc ) 805652c: 681b ldr r3, [r3, #0] 805652e: 2b03 cmp r3, #3 8056530: f200 80d7 bhi.w 80566e2 8056534: a201 add r2, pc, #4 ; (adr r2, 805653c ) 8056536: f852 f023 ldr.w pc, [r2, r3, lsl #2] 805653a: bf00 nop 805653c: 0805654d .word 0x0805654d 8056540: 0805658f .word 0x0805658f 8056544: 080565dd .word 0x080565dd 8056548: 08056635 .word 0x08056635 { case 0: if(Freq_f32(i) < -DF_TACHO) 805654c: 687b ldr r3, [r7, #4] 805654e: 009a lsls r2, r3, #2 8056550: 4b6b ldr r3, [pc, #428] ; (8056700 ) 8056552: 4413 add r3, r2 8056554: edd3 7a00 vldr s15, [r3] 8056558: ed9f 7a6a vldr s14, [pc, #424] ; 8056704 805655c: eef4 7ac7 vcmpe.f32 s15, s14 8056560: eef1 fa10 vmrs APSR_nzcv, fpscr 8056564: d50f bpl.n 8056586 { if(okf) 8056566: 4b68 ldr r3, [pc, #416] ; (8056708 ) 8056568: 681b ldr r3, [r3, #0] 805656a: 2b00 cmp r3, #0 805656c: d005 beq.n 805657a okf--; 805656e: 4b66 ldr r3, [pc, #408] ; (8056708 ) 8056570: 681b ldr r3, [r3, #0] 8056572: 3b01 subs r3, #1 8056574: 4a64 ldr r2, [pc, #400] ; (8056708 ) 8056576: 6013 str r3, [r2, #0] else faseF++; } else okf = CF; break; 8056578: e0b3 b.n 80566e2 else faseF++; 805657a: 4b60 ldr r3, [pc, #384] ; (80566fc ) 805657c: 681b ldr r3, [r3, #0] 805657e: 3301 adds r3, #1 8056580: 4a5e ldr r2, [pc, #376] ; (80566fc ) 8056582: 6013 str r3, [r2, #0] break; 8056584: e0ad b.n 80566e2 okf = CF; 8056586: 4b60 ldr r3, [pc, #384] ; (8056708 ) 8056588: 2204 movs r2, #4 805658a: 601a str r2, [r3, #0] break; 805658c: e0a9 b.n 80566e2 case 1: frq[kf] = 0; 805658e: 4b5f ldr r3, [pc, #380] ; (805670c ) 8056590: 681b ldr r3, [r3, #0] 8056592: 4a5f ldr r2, [pc, #380] ; (8056710 ) 8056594: 2100 movs r1, #0 8056596: f842 1023 str.w r1, [r2, r3, lsl #2] if(Freq_f32(i) > DF_TACHO) 805659a: 687b ldr r3, [r7, #4] 805659c: 009a lsls r2, r3, #2 805659e: 4b58 ldr r3, [pc, #352] ; (8056700 ) 80565a0: 4413 add r3, r2 80565a2: edd3 7a00 vldr s15, [r3] 80565a6: ed9f 7a5b vldr s14, [pc, #364] ; 8056714 80565aa: eef4 7ac7 vcmpe.f32 s15, s14 80565ae: eef1 fa10 vmrs APSR_nzcv, fpscr 80565b2: dd0f ble.n 80565d4 { if(okf < CF) 80565b4: 4b54 ldr r3, [pc, #336] ; (8056708 ) 80565b6: 681b ldr r3, [r3, #0] 80565b8: 2b03 cmp r3, #3 80565ba: d805 bhi.n 80565c8 okf++; 80565bc: 4b52 ldr r3, [pc, #328] ; (8056708 ) 80565be: 681b ldr r3, [r3, #0] 80565c0: 3301 adds r3, #1 80565c2: 4a51 ldr r2, [pc, #324] ; (8056708 ) 80565c4: 6013 str r3, [r2, #0] else faseF++; } else okf = 0; break; 80565c6: e08c b.n 80566e2 else faseF++; 80565c8: 4b4c ldr r3, [pc, #304] ; (80566fc ) 80565ca: 681b ldr r3, [r3, #0] 80565cc: 3301 adds r3, #1 80565ce: 4a4b ldr r2, [pc, #300] ; (80566fc ) 80565d0: 6013 str r3, [r2, #0] break; 80565d2: e086 b.n 80566e2 okf = 0; 80565d4: 4b4c ldr r3, [pc, #304] ; (8056708 ) 80565d6: 2200 movs r2, #0 80565d8: 601a str r2, [r3, #0] break; 80565da: e082 b.n 80566e2 case 2: frq[kf] = frq[kf] + 1; 80565dc: 4b4b ldr r3, [pc, #300] ; (805670c ) 80565de: 681b ldr r3, [r3, #0] 80565e0: 4a4a ldr r2, [pc, #296] ; (805670c ) 80565e2: 6812 ldr r2, [r2, #0] 80565e4: 494a ldr r1, [pc, #296] ; (8056710 ) 80565e6: f851 2022 ldr.w r2, [r1, r2, lsl #2] 80565ea: 3201 adds r2, #1 80565ec: 4948 ldr r1, [pc, #288] ; (8056710 ) 80565ee: f841 2023 str.w r2, [r1, r3, lsl #2] if(Freq_f32(i) < -DF_TACHO) 80565f2: 687b ldr r3, [r7, #4] 80565f4: 009a lsls r2, r3, #2 80565f6: 4b42 ldr r3, [pc, #264] ; (8056700 ) 80565f8: 4413 add r3, r2 80565fa: edd3 7a00 vldr s15, [r3] 80565fe: ed9f 7a41 vldr s14, [pc, #260] ; 8056704 8056602: eef4 7ac7 vcmpe.f32 s15, s14 8056606: eef1 fa10 vmrs APSR_nzcv, fpscr 805660a: d50f bpl.n 805662c { if(okf) 805660c: 4b3e ldr r3, [pc, #248] ; (8056708 ) 805660e: 681b ldr r3, [r3, #0] 8056610: 2b00 cmp r3, #0 8056612: d005 beq.n 8056620 okf--; 8056614: 4b3c ldr r3, [pc, #240] ; (8056708 ) 8056616: 681b ldr r3, [r3, #0] 8056618: 3b01 subs r3, #1 805661a: 4a3b ldr r2, [pc, #236] ; (8056708 ) 805661c: 6013 str r3, [r2, #0] else faseF++; } else okf = CF; break; 805661e: e060 b.n 80566e2 else faseF++; 8056620: 4b36 ldr r3, [pc, #216] ; (80566fc ) 8056622: 681b ldr r3, [r3, #0] 8056624: 3301 adds r3, #1 8056626: 4a35 ldr r2, [pc, #212] ; (80566fc ) 8056628: 6013 str r3, [r2, #0] break; 805662a: e05a b.n 80566e2 okf = CF; 805662c: 4b36 ldr r3, [pc, #216] ; (8056708 ) 805662e: 2204 movs r2, #4 8056630: 601a str r2, [r3, #0] break; 8056632: e056 b.n 80566e2 case 3: frq[kf] = frq[kf] + 1; 8056634: 4b35 ldr r3, [pc, #212] ; (805670c ) 8056636: 681b ldr r3, [r3, #0] 8056638: 4a34 ldr r2, [pc, #208] ; (805670c ) 805663a: 6812 ldr r2, [r2, #0] 805663c: 4934 ldr r1, [pc, #208] ; (8056710 ) 805663e: f851 2022 ldr.w r2, [r1, r2, lsl #2] 8056642: 3201 adds r2, #1 8056644: 4932 ldr r1, [pc, #200] ; (8056710 ) 8056646: f841 2023 str.w r2, [r1, r3, lsl #2] if(Freq_f32(i) > DF_TACHO) 805664a: 687b ldr r3, [r7, #4] 805664c: 009a lsls r2, r3, #2 805664e: 4b2c ldr r3, [pc, #176] ; (8056700 ) 8056650: 4413 add r3, r2 8056652: edd3 7a00 vldr s15, [r3] 8056656: ed9f 7a2f vldr s14, [pc, #188] ; 8056714 805665a: eef4 7ac7 vcmpe.f32 s15, s14 805665e: eef1 fa10 vmrs APSR_nzcv, fpscr 8056662: dd3a ble.n 80566da { if(okf < CF) 8056664: 4b28 ldr r3, [pc, #160] ; (8056708 ) 8056666: 681b ldr r3, [r3, #0] 8056668: 2b03 cmp r3, #3 805666a: d805 bhi.n 8056678 okf++; 805666c: 4b26 ldr r3, [pc, #152] ; (8056708 ) 805666e: 681b ldr r3, [r3, #0] 8056670: 3301 adds r3, #1 8056672: 4a25 ldr r2, [pc, #148] ; (8056708 ) 8056674: 6013 str r3, [r2, #0] faseF = 0; } } else okf = 0; break; 8056676: e033 b.n 80566e0 kf = (kf + 1) % LEN_M_BUF_TACHO; 8056678: 4b24 ldr r3, [pc, #144] ; (805670c ) 805667a: 681b ldr r3, [r3, #0] 805667c: 1c59 adds r1, r3, #1 805667e: 4b26 ldr r3, [pc, #152] ; (8056718 ) 8056680: fba3 2301 umull r2, r3, r3, r1 8056684: 089a lsrs r2, r3, #2 8056686: 4613 mov r3, r2 8056688: 009b lsls r3, r3, #2 805668a: 4413 add r3, r2 805668c: 1aca subs r2, r1, r3 805668e: 4b1f ldr r3, [pc, #124] ; (805670c ) 8056690: 601a str r2, [r3, #0] if(!kf) 8056692: 4b1e ldr r3, [pc, #120] ; (805670c ) 8056694: 681b ldr r3, [r3, #0] 8056696: 2b00 cmp r3, #0 8056698: d11b bne.n 80566d2 kf = 0; 805669a: 4b1c ldr r3, [pc, #112] ; (805670c ) 805669c: 2200 movs r2, #0 805669e: 601a str r2, [r3, #0] MedyF(); 80566a0: f7ff fdde bl 8056260 if(axF) 80566a4: 4b1d ldr r3, [pc, #116] ; (805671c ) 80566a6: edd3 7a00 vldr s15, [r3] 80566aa: eef5 7a40 vcmp.f32 s15, #0.0 80566ae: eef1 fa10 vmrs APSR_nzcv, fpscr 80566b2: d00a beq.n 80566ca FreqFran = 20000.0f / axF; 80566b4: 4b19 ldr r3, [pc, #100] ; (805671c ) 80566b6: ed93 7a00 vldr s14, [r3] 80566ba: eddf 6a19 vldr s13, [pc, #100] ; 8056720 80566be: eec6 7a87 vdiv.f32 s15, s13, s14 80566c2: 4b18 ldr r3, [pc, #96] ; (8056724 ) 80566c4: edc3 7a00 vstr s15, [r3] 80566c8: e003 b.n 80566d2 else FreqFran = 0; 80566ca: 4b16 ldr r3, [pc, #88] ; (8056724 ) 80566cc: f04f 0200 mov.w r2, #0 80566d0: 601a str r2, [r3, #0] faseF = 0; 80566d2: 4b0a ldr r3, [pc, #40] ; (80566fc ) 80566d4: 2200 movs r2, #0 80566d6: 601a str r2, [r3, #0] break; 80566d8: e002 b.n 80566e0 okf = 0; 80566da: 4b0b ldr r3, [pc, #44] ; (8056708 ) 80566dc: 2200 movs r2, #0 80566de: 601a str r2, [r3, #0] break; 80566e0: bf00 nop for(i = 0; i < cnt; i++) 80566e2: 687b ldr r3, [r7, #4] 80566e4: 3301 adds r3, #1 80566e6: 607b str r3, [r7, #4] 80566e8: 687a ldr r2, [r7, #4] 80566ea: 683b ldr r3, [r7, #0] 80566ec: 429a cmp r2, r3 80566ee: f4ff af1c bcc.w 805652a } } } 80566f2: bf00 nop 80566f4: 3708 adds r7, #8 80566f6: 46bd mov sp, r7 80566f8: bd80 pop {r7, pc} 80566fa: bf00 nop 80566fc: 2002162c .word 0x2002162c 8056700: 64080000 .word 0x64080000 8056704: c1a40000 .word 0xc1a40000 8056708: 20020094 .word 0x20020094 805670c: 20021628 .word 0x20021628 8056710: 20026e94 .word 0x20026e94 8056714: 41a40000 .word 0x41a40000 8056718: cccccccd .word 0xcccccccd 805671c: 200278d0 .word 0x200278d0 8056720: 469c4000 .word 0x469c4000 8056724: 20021564 .word 0x20021564 08056728 : void meas(void) { 8056728: b590 push {r4, r7, lr} 805672a: ed2d 8b04 vpush {d8-d9} 805672e: f5ad 7d0b sub.w sp, sp, #556 ; 0x22c 8056732: 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; 8056734: f04f 537e mov.w r3, #1065353216 ; 0x3f800000 8056738: f8c7 3218 str.w r3, [r7, #536] ; 0x218 if(READY /*== DATA_CAPTURED*/) 805673c: 4bba ldr r3, [pc, #744] ; (8056a28 ) 805673e: 781b ldrb r3, [r3, #0] 8056740: b2db uxtb r3, r3 8056742: 2b00 cmp r3, #0 8056744: f00d 84c3 beq.w 80640ce { if(clbr) 8056748: 4bb8 ldr r3, [pc, #736] ; (8056a2c ) 805674a: 781b ldrb r3, [r3, #0] 805674c: b2db uxtb r3, r3 805674e: 2b00 cmp r3, #0 8056750: f000 8122 beq.w 8056998 { if((menu != CALIBR_00) && (menu < CALIBR_9)) 8056754: 4bb6 ldr r3, [pc, #728] ; (8056a30 ) 8056756: 781b ldrb r3, [r3, #0] 8056758: b2db uxtb r3, r3 805675a: 2b34 cmp r3, #52 ; 0x34 805675c: f00d 84b2 beq.w 80640c4 8056760: 4bb3 ldr r3, [pc, #716] ; (8056a30 ) 8056762: 781b ldrb r3, [r3, #0] 8056764: b2db uxtb r3, r3 8056766: 2b3d cmp r3, #61 ; 0x3d 8056768: f20d 84ac bhi.w 80640c4 { if(measuring) 805676c: 4bb1 ldr r3, [pc, #708] ; (8056a34 ) 805676e: 781b ldrb r3, [r3, #0] 8056770: b2db uxtb r3, r3 8056772: 2b00 cmp r3, #0 8056774: f00d 84a6 beq.w 80640c4 { GetData(); 8056778: f00d ff58 bl 806462c for(i = 0; i < Ns; i++) { 805677c: 2300 movs r3, #0 805677e: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8056782: e014 b.n 80567ae In[i] = (float32_t) In16[i].lg; 8056784: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8056788: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805678c: 49aa ldr r1, [pc, #680] ; (8056a38 ) 805678e: f851 2022 ldr.w r2, [r1, r2, lsl #2] 8056792: ee07 2a90 vmov s15, r2 8056796: eef8 7a67 vcvt.f32.u32 s15, s15 805679a: 4aa8 ldr r2, [pc, #672] ; (8056a3c ) 805679c: 009b lsls r3, r3, #2 805679e: 4413 add r3, r2 80567a0: edc3 7a00 vstr s15, [r3] for(i = 0; i < Ns; i++) { 80567a4: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80567a8: 3301 adds r3, #1 80567aa: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 80567ae: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80567b2: 4ba3 ldr r3, [pc, #652] ; (8056a40 ) 80567b4: 681b ldr r3, [r3, #0] 80567b6: 429a cmp r2, r3 80567b8: d3e4 bcc.n 8056784 } arm_scale_f32(In, _b24 * 2, In, Ns); 80567ba: 4ba1 ldr r3, [pc, #644] ; (8056a40 ) 80567bc: 681b ldr r3, [r3, #0] 80567be: 461a mov r2, r3 80567c0: 499e ldr r1, [pc, #632] ; (8056a3c ) 80567c2: ed9f 0aa0 vldr s0, [pc, #640] ; 8056a44 80567c6: 489d ldr r0, [pc, #628] ; (8056a3c ) 80567c8: f073 ffa2 bl 80ca710 arm_mean_f32(In, Ns, &fl); 80567cc: 4b9c ldr r3, [pc, #624] ; (8056a40 ) 80567ce: 681b ldr r3, [r3, #0] 80567d0: f507 72de add.w r2, r7, #444 ; 0x1bc 80567d4: 4619 mov r1, r3 80567d6: 4899 ldr r0, [pc, #612] ; (8056a3c ) 80567d8: f073 fc3a bl 80ca050 arm_offset_f32(In, -fl, Out, Ns); 80567dc: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 80567e0: eef1 7a67 vneg.f32 s15, s15 80567e4: 4b96 ldr r3, [pc, #600] ; (8056a40 ) 80567e6: 681b ldr r3, [r3, #0] 80567e8: 461a mov r2, r3 80567ea: 4997 ldr r1, [pc, #604] ; (8056a48 ) 80567ec: eeb0 0a67 vmov.f32 s0, s15 80567f0: 4892 ldr r0, [pc, #584] ; (8056a3c ) 80567f2: f073 ffc3 bl 80ca77c arm_rms_f32(Out, Ns, &skz[ACC]); 80567f6: 4b92 ldr r3, [pc, #584] ; (8056a40 ) 80567f8: 681b ldr r3, [r3, #0] 80567fa: 4a94 ldr r2, [pc, #592] ; (8056a4c ) 80567fc: 4619 mov r1, r3 80567fe: 4892 ldr r0, [pc, #584] ; (8056a48 ) 8056800: f073 fb2e bl 80c9e60 switch(menu) 8056804: 4b8a ldr r3, [pc, #552] ; (8056a30 ) 8056806: 781b ldrb r3, [r3, #0] 8056808: b2db uxtb r3, r3 805680a: 3b35 subs r3, #53 ; 0x35 805680c: 2b08 cmp r3, #8 805680e: d869 bhi.n 80568e4 8056810: a201 add r2, pc, #4 ; (adr r2, 8056818 ) 8056812: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8056816: bf00 nop 8056818: 0805683d .word 0x0805683d 805681c: 08056845 .word 0x08056845 8056820: 08056857 .word 0x08056857 8056824: 08056869 .word 0x08056869 8056828: 0805687b .word 0x0805687b 805682c: 0805688d .word 0x0805688d 8056830: 0805689f .word 0x0805689f 8056834: 080568b1 .word 0x080568b1 8056838: 080568cb .word 0x080568cb { case CALIBR_0: // ICP 1 fl = 4000.0f / 1.6f; 805683c: 4b84 ldr r3, [pc, #528] ; (8056a50 ) 805683e: f8c7 31bc str.w r3, [r7, #444] ; 0x1bc break; 8056842: e04f b.n 80568e4 case CALIBR_1: // ICP 2 fl = 4000.0f / 1.6f / KM[Ku2]; 8056844: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 8056848: eddf 6a82 vldr s13, [pc, #520] ; 8056a54 805684c: eec6 7a87 vdiv.f32 s15, s13, s14 8056850: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc break; 8056854: e046 b.n 80568e4 case CALIBR_2: // ICP 4 fl = 4000.0f / 1.6f / KM[Ku4]; 8056856: eeb1 7a00 vmov.f32 s14, #16 ; 0x40800000 4.0 805685a: eddf 6a7e vldr s13, [pc, #504] ; 8056a54 805685e: eec6 7a87 vdiv.f32 s15, s13, s14 8056862: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc break; 8056866: e03d b.n 80568e4 case CALIBR_3: // ICP 8 fl = 4000.0f / 1.6f / KM[Ku8]; 8056868: eeb2 7a00 vmov.f32 s14, #32 ; 0x41000000 8.0 805686c: eddf 6a79 vldr s13, [pc, #484] ; 8056a54 8056870: eec6 7a87 vdiv.f32 s15, s13, s14 8056874: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc break; 8056878: e034 b.n 80568e4 case CALIBR_4: // ICP 16 fl = 4000.0f / 1.6f/ KM[Ku16]; 805687a: eeb3 7a00 vmov.f32 s14, #48 ; 0x41800000 16.0 805687e: eddf 6a75 vldr s13, [pc, #468] ; 8056a54 8056882: eec6 7a87 vdiv.f32 s15, s13, s14 8056886: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc break; 805688a: e02b b.n 80568e4 case CALIBR_5: // ICP 32 fl = 4000.0f / 1.6f / KM[Ku32]; 805688c: ed9f 7a72 vldr s14, [pc, #456] ; 8056a58 8056890: eddf 6a70 vldr s13, [pc, #448] ; 8056a54 8056894: eec6 7a87 vdiv.f32 s15, s13, s14 8056898: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc break; 805689c: e022 b.n 80568e4 case CALIBR_6: // ICP 64 fl = 4000.0f / 1.6f / KM[Ku64]; 805689e: ed9f 7a6f vldr s14, [pc, #444] ; 8056a5c 80568a2: eddf 6a6c vldr s13, [pc, #432] ; 8056a54 80568a6: eec6 7a87 vdiv.f32 s15, s13, s14 80568aa: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc break; 80568ae: e019 b.n 80568e4 case CALIBR_7: // Kux10 fl = 4000.0f / 1.6f / 10.0f; 80568b0: 4b6b ldr r3, [pc, #428] ; (8056a60 ) 80568b2: f8c7 31bc str.w r3, [r7, #444] ; 0x1bc fl *= Kcorr[ICPx1]; 80568b6: 4b6b ldr r3, [pc, #428] ; (8056a64 ) 80568b8: ed93 7a00 vldr s14, [r3] 80568bc: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 80568c0: ee67 7a27 vmul.f32 s15, s14, s15 80568c4: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc break; 80568c8: e00c b.n 80568e4 case CALIBR_8: // ZAR 1 fl = 4000.0f / 1.6f; 80568ca: 4b61 ldr r3, [pc, #388] ; (8056a50 ) 80568cc: f8c7 31bc str.w r3, [r7, #444] ; 0x1bc fl *= Kcorr[ICPx1]; 80568d0: 4b64 ldr r3, [pc, #400] ; (8056a64 ) 80568d2: ed93 7a00 vldr s14, [r3] 80568d6: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 80568da: ee67 7a27 vmul.f32 s15, s14, s15 80568de: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc break; 80568e2: bf00 nop } skz[ACC] *= fl; 80568e4: 4b59 ldr r3, [pc, #356] ; (8056a4c ) 80568e6: ed93 7a00 vldr s14, [r3] 80568ea: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 80568ee: ee67 7a27 vmul.f32 s15, s14, s15 80568f2: 4b56 ldr r3, [pc, #344] ; (8056a4c ) 80568f4: edc3 7a00 vstr s15, [r3] if(skz[ACC] != 0.0f) 80568f8: 4b54 ldr r3, [pc, #336] ; (8056a4c ) 80568fa: edd3 7a00 vldr s15, [r3] 80568fe: eef5 7a40 vcmp.f32 s15, #0.0 8056902: eef1 fa10 vmrs APSR_nzcv, fpscr 8056906: f00d 83dd beq.w 80640c4 { if(MeanClbr == 0) 805690a: 4b57 ldr r3, [pc, #348] ; (8056a68 ) 805690c: 681b ldr r3, [r3, #0] 805690e: 2b00 cmp r3, #0 8056910: d111 bne.n 8056936 MeanKcorr = Ucorr[menu - CALIBR_0] / skz[ACC]; 8056912: 4b47 ldr r3, [pc, #284] ; (8056a30 ) 8056914: 781b ldrb r3, [r3, #0] 8056916: b2db uxtb r3, r3 8056918: 3b35 subs r3, #53 ; 0x35 805691a: 4a54 ldr r2, [pc, #336] ; (8056a6c ) 805691c: 009b lsls r3, r3, #2 805691e: 4413 add r3, r2 8056920: edd3 6a00 vldr s13, [r3] 8056924: 4b49 ldr r3, [pc, #292] ; (8056a4c ) 8056926: ed93 7a00 vldr s14, [r3] 805692a: eec6 7a87 vdiv.f32 s15, s13, s14 805692e: 4b50 ldr r3, [pc, #320] ; (8056a70 ) 8056930: edc3 7a00 vstr s15, [r3] 8056934: e015 b.n 8056962 else MeanKcorr += (Ucorr[menu - CALIBR_0] / skz[ACC]); 8056936: 4b3e ldr r3, [pc, #248] ; (8056a30 ) 8056938: 781b ldrb r3, [r3, #0] 805693a: b2db uxtb r3, r3 805693c: 3b35 subs r3, #53 ; 0x35 805693e: 4a4b ldr r2, [pc, #300] ; (8056a6c ) 8056940: 009b lsls r3, r3, #2 8056942: 4413 add r3, r2 8056944: edd3 6a00 vldr s13, [r3] 8056948: 4b40 ldr r3, [pc, #256] ; (8056a4c ) 805694a: edd3 7a00 vldr s15, [r3] 805694e: ee86 7aa7 vdiv.f32 s14, s13, s15 8056952: 4b47 ldr r3, [pc, #284] ; (8056a70 ) 8056954: edd3 7a00 vldr s15, [r3] 8056958: ee77 7a27 vadd.f32 s15, s14, s15 805695c: 4b44 ldr r3, [pc, #272] ; (8056a70 ) 805695e: edc3 7a00 vstr s15, [r3] MeanClbr++; 8056962: 4b41 ldr r3, [pc, #260] ; (8056a68 ) 8056964: 681b ldr r3, [r3, #0] 8056966: 3301 adds r3, #1 8056968: 4a3f ldr r2, [pc, #252] ; (8056a68 ) 805696a: 6013 str r3, [r2, #0] Kcorr[menu - CALIBR_0] = MeanKcorr / ((float32_t) MeanClbr); 805696c: 4b30 ldr r3, [pc, #192] ; (8056a30 ) 805696e: 781b ldrb r3, [r3, #0] 8056970: b2db uxtb r3, r3 8056972: 3b35 subs r3, #53 ; 0x35 8056974: 4a3e ldr r2, [pc, #248] ; (8056a70 ) 8056976: edd2 6a00 vldr s13, [r2] 805697a: 4a3b ldr r2, [pc, #236] ; (8056a68 ) 805697c: 6812 ldr r2, [r2, #0] 805697e: ee07 2a90 vmov s15, r2 8056982: eeb8 7a67 vcvt.f32.u32 s14, s15 8056986: eec6 7a87 vdiv.f32 s15, s13, s14 805698a: 4a36 ldr r2, [pc, #216] ; (8056a64 ) 805698c: 009b lsls r3, r3, #2 805698e: 4413 add r3, r2 8056990: edc3 7a00 vstr s15, [r3] 8056994: f00d bb96 b.w 80640c4 } } } else { switch(pardata.SYG) 8056998: 4b36 ldr r3, [pc, #216] ; (8056a74 ) 805699a: 781b ldrb r3, [r3, #0] 805699c: b2db uxtb r3, r3 805699e: 2b0a cmp r3, #10 80569a0: f20d 8390 bhi.w 80640c4 80569a4: a201 add r2, pc, #4 ; (adr r2, 80569ac ) 80569a6: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80569aa: bf00 nop 80569ac: 08058d91 .word 0x08058d91 80569b0: 0805ce4d .word 0x0805ce4d 80569b4: 080627dd .word 0x080627dd 80569b8: 08058d91 .word 0x08058d91 80569bc: 080639cd .word 0x080639cd 80569c0: 0805d283 .word 0x0805d283 80569c4: 0805d883 .word 0x0805d883 80569c8: 0805f019 .word 0x0805f019 80569cc: 0805a5c3 .word 0x0805a5c3 80569d0: 0805c6cb .word 0x0805c6cb 80569d4: 080569d9 .word 0x080569d9 { case DIAGN: if(measuring) 80569d8: 4b16 ldr r3, [pc, #88] ; (8056a34 ) 80569da: 781b ldrb r3, [r3, #0] 80569dc: b2db uxtb r3, r3 80569de: 2b00 cmp r3, #0 80569e0: f00d 835d beq.w 806409e { tick = HAL_GetTick(); 80569e4: f05c fc28 bl 80b3238 80569e8: f8c7 021c str.w r0, [r7, #540] ; 0x21c GetData(); 80569ec: f00d fe1e bl 806462c j = 0; 80569f0: 2300 movs r3, #0 80569f2: f8c7 31cc str.w r3, [r7, #460] ; 0x1cc if(pardata.OPTIONS & 0x4) 80569f6: 4b1f ldr r3, [pc, #124] ; (8056a74 ) 80569f8: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80569fc: f003 0304 and.w r3, r3, #4 8056a00: 2b00 cmp r3, #0 8056a02: d005 beq.n 8056a10 CalculateGain(Ns); 8056a04: 4b0e ldr r3, [pc, #56] ; (8056a40 ) 8056a06: 681b ldr r3, [r3, #0] 8056a08: 4618 mov r0, r3 8056a0a: f7fe fff3 bl 80559f4 8056a0e: e05a b.n 8056ac6 else { Stability = (Nr * 4) + 1; 8056a10: 4b19 ldr r3, [pc, #100] ; (8056a78 ) 8056a12: 881b ldrh r3, [r3, #0] 8056a14: b29b uxth r3, r3 8056a16: 009b lsls r3, r3, #2 8056a18: 3301 adds r3, #1 8056a1a: 461a mov r2, r3 8056a1c: 4b17 ldr r3, [pc, #92] ; (8056a7c ) 8056a1e: 601a str r2, [r3, #0] for(i = 0; i < Ns; i++) 8056a20: 2300 movs r3, #0 8056a22: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8056a26: e03d b.n 8056aa4 8056a28: 20020d7f .word 0x20020d7f 8056a2c: 20020f68 .word 0x20020f68 8056a30: 20020f78 .word 0x20020f78 8056a34: 20020daf .word 0x20020daf 8056a38: 20058020 .word 0x20058020 8056a3c: 200279c0 .word 0x200279c0 8056a40: 20021cdc .word 0x20021cdc 8056a44: 34c00000 .word 0x34c00000 8056a48: 20008000 .word 0x20008000 8056a4c: 20021540 .word 0x20021540 8056a50: 451c4000 .word 0x451c4000 8056a54: 451c4000 .word 0x451c4000 8056a58: 42000000 .word 0x42000000 8056a5c: 42800000 .word 0x42800000 8056a60: 437a0000 .word 0x437a0000 8056a64: 20026194 .word 0x20026194 8056a68: 2002160c .word 0x2002160c 8056a6c: 080ee900 .word 0x080ee900 8056a70: 20021610 .word 0x20021610 8056a74: 20023e60 .word 0x20023e60 8056a78: 20021d20 .word 0x20021d20 8056a7c: 20020da8 .word 0x20020da8 { if(In16[i].lg > 0xE00000) 8056a80: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8056a84: 4ab8 ldr r2, [pc, #736] ; (8056d68 ) 8056a86: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8056a8a: f5b3 0f60 cmp.w r3, #14680064 ; 0xe00000 8056a8e: d904 bls.n 8056a9a j++; 8056a90: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 8056a94: 3301 adds r3, #1 8056a96: f8c7 31cc str.w r3, [r7, #460] ; 0x1cc for(i = 0; i < Ns; i++) 8056a9a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8056a9e: 3301 adds r3, #1 8056aa0: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8056aa4: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8056aa8: 4bb0 ldr r3, [pc, #704] ; (8056d6c ) 8056aaa: 681b ldr r3, [r3, #0] 8056aac: 429a cmp r2, r3 8056aae: d3e7 bcc.n 8056a80 } if(j >= 2) 8056ab0: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 8056ab4: 2b01 cmp r3, #1 8056ab6: d903 bls.n 8056ac0 OVERDRIVE = true; 8056ab8: 4bad ldr r3, [pc, #692] ; (8056d70 ) 8056aba: 2201 movs r2, #1 8056abc: 701a strb r2, [r3, #0] 8056abe: e002 b.n 8056ac6 else OVERDRIVE = false; 8056ac0: 4bab ldr r3, [pc, #684] ; (8056d70 ) 8056ac2: 2200 movs r2, #0 8056ac4: 701a strb r2, [r3, #0] } if(Flag_Set_KU) 8056ac6: 4bab ldr r3, [pc, #684] ; (8056d74 ) 8056ac8: 781b ldrb r3, [r3, #0] 8056aca: b2db uxtb r3, r3 8056acc: 2b00 cmp r3, #0 8056ace: d02d beq.n 8056b2c { Stability = 0; 8056ad0: 4ba9 ldr r3, [pc, #676] ; (8056d78 ) 8056ad2: 2200 movs r2, #0 8056ad4: 601a str r2, [r3, #0] NeedFreq = false; 8056ad6: 4ba9 ldr r3, [pc, #676] ; (8056d7c ) 8056ad8: 2200 movs r2, #0 8056ada: 701a strb r2, [r3, #0] AvgCnt = 0; 8056adc: 4ba8 ldr r3, [pc, #672] ; (8056d80 ) 8056ade: 2200 movs r2, #0 8056ae0: 601a str r2, [r3, #0] MeanCnt = 0; 8056ae2: 4ba8 ldr r3, [pc, #672] ; (8056d84 ) 8056ae4: 2200 movs r2, #0 8056ae6: 601a str r2, [r3, #0] CNT_MEAN_FREQ = 0; 8056ae8: 4ba7 ldr r3, [pc, #668] ; (8056d88 ) 8056aea: 2200 movs r2, #0 8056aec: 601a str r2, [r3, #0] MEAN_FREQ = 0.0f; 8056aee: 4ba7 ldr r3, [pc, #668] ; (8056d8c ) 8056af0: f04f 0200 mov.w r2, #0 8056af4: 601a str r2, [r3, #0] arm_fill_f32(0.0f, rmsAVS, 4); 8056af6: 2104 movs r1, #4 8056af8: 48a5 ldr r0, [pc, #660] ; (8056d90 ) 8056afa: ed9f 0aa6 vldr s0, [pc, #664] ; 8056d94 8056afe: f073 f901 bl 80c9d04 arm_fill_f32(0.0f, peakAVS, 4); 8056b02: 2104 movs r1, #4 8056b04: 48a4 ldr r0, [pc, #656] ; (8056d98 ) 8056b06: ed9f 0aa3 vldr s0, [pc, #652] ; 8056d94 8056b0a: f073 f8fb bl 80c9d04 arm_fill_f32(0.0f, &ACC_PEAK_WR(0), 512 * 8u); 8056b0e: f44f 5180 mov.w r1, #4096 ; 0x1000 8056b12: 48a2 ldr r0, [pc, #648] ; (8056d9c ) 8056b14: ed9f 0a9f vldr s0, [pc, #636] ; 8056d94 8056b18: f073 f8f4 bl 80c9d04 NSamples = 0xffffffff; 8056b1c: 4ba0 ldr r3, [pc, #640] ; (8056da0 ) 8056b1e: f04f 32ff mov.w r2, #4294967295 8056b22: 601a str r2, [r3, #0] timeRelax = 48; 8056b24: 4b9f ldr r3, [pc, #636] ; (8056da4 ) 8056b26: 2230 movs r2, #48 ; 0x30 8056b28: 601a str r2, [r3, #0] 8056b2a: e00d b.n 8056b48 } else { if(Stability <= (Nr * 4)) 8056b2c: 4b9e ldr r3, [pc, #632] ; (8056da8 ) 8056b2e: 881b ldrh r3, [r3, #0] 8056b30: b29b uxth r3, r3 8056b32: 009b lsls r3, r3, #2 8056b34: 461a mov r2, r3 8056b36: 4b90 ldr r3, [pc, #576] ; (8056d78 ) 8056b38: 681b ldr r3, [r3, #0] 8056b3a: 429a cmp r2, r3 8056b3c: d304 bcc.n 8056b48 Stability++; 8056b3e: 4b8e ldr r3, [pc, #568] ; (8056d78 ) 8056b40: 681b ldr r3, [r3, #0] 8056b42: 3301 adds r3, #1 8056b44: 4a8c ldr r2, [pc, #560] ; (8056d78 ) 8056b46: 6013 str r3, [r2, #0] } if((Flag_Set_KU == 0) && (Stability > (Nr * 4))) 8056b48: 4b8a ldr r3, [pc, #552] ; (8056d74 ) 8056b4a: 781b ldrb r3, [r3, #0] 8056b4c: b2db uxtb r3, r3 8056b4e: 2b00 cmp r3, #0 8056b50: f042 80fa bne.w 8058d48 8056b54: 4b94 ldr r3, [pc, #592] ; (8056da8 ) 8056b56: 881b ldrh r3, [r3, #0] 8056b58: b29b uxth r3, r3 8056b5a: 009b lsls r3, r3, #2 8056b5c: 461a mov r2, r3 8056b5e: 4b86 ldr r3, [pc, #536] ; (8056d78 ) 8056b60: 681b ldr r3, [r3, #0] 8056b62: 429a cmp r2, r3 8056b64: f082 80f0 bcs.w 8058d48 { fNrm = 1.0f / (float32_t) (Ns >> 1); 8056b68: 4b80 ldr r3, [pc, #512] ; (8056d6c ) 8056b6a: 681b ldr r3, [r3, #0] 8056b6c: 085b lsrs r3, r3, #1 8056b6e: ee07 3a90 vmov s15, r3 8056b72: eeb8 7a67 vcvt.f32.u32 s14, s15 8056b76: eef7 6a00 vmov.f32 s13, #112 ; 0x3f800000 1.0 8056b7a: eec6 7a87 vdiv.f32 s15, s13, s14 8056b7e: edc7 7a85 vstr s15, [r7, #532] ; 0x214 sc = (6.0 / 16777215.0) * (float64_t) CorrKk[ACC]; 8056b82: 4b8a ldr r3, [pc, #552] ; (8056dac ) 8056b84: edd3 7a00 vldr s15, [r3] 8056b88: eeb7 7ae7 vcvt.f64.f32 d7, s15 8056b8c: ed9f 6b74 vldr d6, [pc, #464] ; 8056d60 8056b90: ee27 7b06 vmul.f64 d7, d7, d6 8056b94: ed87 7b82 vstr d7, [r7, #520] ; 0x208 for(i = 0; i < Ns; i++) 8056b98: 2300 movs r3, #0 8056b9a: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8056b9e: e026 b.n 8056bee { Buff64[i] = (float64_t) In16[i].lg; 8056ba0: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8056ba4: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8056ba8: 496f ldr r1, [pc, #444] ; (8056d68 ) 8056baa: f851 2022 ldr.w r2, [r1, r2, lsl #2] 8056bae: ee07 2a90 vmov s15, r2 8056bb2: eeb8 7b67 vcvt.f64.u32 d7, s15 8056bb6: 4a7e ldr r2, [pc, #504] ; (8056db0 ) 8056bb8: 00db lsls r3, r3, #3 8056bba: 4413 add r3, r2 8056bbc: ed83 7b00 vstr d7, [r3] Buff64[i] *= sc; 8056bc0: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8056bc4: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8056bc8: 4979 ldr r1, [pc, #484] ; (8056db0 ) 8056bca: 00d2 lsls r2, r2, #3 8056bcc: 440a add r2, r1 8056bce: ed92 6b00 vldr d6, [r2] 8056bd2: ed97 7b82 vldr d7, [r7, #520] ; 0x208 8056bd6: ee26 7b07 vmul.f64 d7, d6, d7 8056bda: 4a75 ldr r2, [pc, #468] ; (8056db0 ) 8056bdc: 00db lsls r3, r3, #3 8056bde: 4413 add r3, r2 8056be0: ed83 7b00 vstr d7, [r3] for(i = 0; i < Ns; i++) 8056be4: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8056be8: 3301 adds r3, #1 8056bea: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8056bee: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8056bf2: 4b5e ldr r3, [pc, #376] ; (8056d6c ) 8056bf4: 681b ldr r3, [r3, #0] 8056bf6: 429a cmp r2, r3 8056bf8: d3d2 bcc.n 8056ba0 } ///////// CALC OPERANDS /////////////////// for(k = 0; k < NUM_OPERANDS; k++) 8056bfa: 2300 movs r3, #0 8056bfc: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 8056c00: e260 b.n 80570c4 { arm_biquad_cascade_df2T_f64(&D_LP[k], Buff64, &Buff64[Ns], Ns); 8056c02: f8d7 21c8 ldr.w r2, [r7, #456] ; 0x1c8 8056c06: 4613 mov r3, r2 8056c08: 005b lsls r3, r3, #1 8056c0a: 4413 add r3, r2 8056c0c: 009b lsls r3, r3, #2 8056c0e: 4a69 ldr r2, [pc, #420] ; (8056db4 ) 8056c10: 1898 adds r0, r3, r2 8056c12: 4b56 ldr r3, [pc, #344] ; (8056d6c ) 8056c14: 681b ldr r3, [r3, #0] 8056c16: 00db lsls r3, r3, #3 8056c18: 4a65 ldr r2, [pc, #404] ; (8056db0 ) 8056c1a: 441a add r2, r3 8056c1c: 4b53 ldr r3, [pc, #332] ; (8056d6c ) 8056c1e: 681b ldr r3, [r3, #0] 8056c20: 4963 ldr r1, [pc, #396] ; (8056db0 ) 8056c22: f073 fabf bl 80ca1a4 switch(pardata.DIAGN_MASK[CURR_POINT][k] & 0x7) 8056c26: 4b64 ldr r3, [pc, #400] ; (8056db8 ) 8056c28: 781b ldrb r3, [r3, #0] 8056c2a: b2db uxtb r3, r3 8056c2c: 461a mov r2, r3 8056c2e: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8056c32: 4962 ldr r1, [pc, #392] ; (8056dbc ) 8056c34: 0092 lsls r2, r2, #2 8056c36: 440a add r2, r1 8056c38: 4413 add r3, r2 8056c3a: f503 730f add.w r3, r3, #572 ; 0x23c 8056c3e: 781b ldrb r3, [r3, #0] 8056c40: b2db uxtb r3, r3 8056c42: f003 0307 and.w r3, r3, #7 8056c46: 2b02 cmp r3, #2 8056c48: d002 beq.n 8056c50 8056c4a: 2b04 cmp r3, #4 8056c4c: d017 beq.n 8056c7e 8056c4e: e02d b.n 8056cac { case DIAGN_VEL: //VEL arm_biquad_cascade_df2T_f64(&D_INT1[k], &Buff64[Ns], &Buff64[Ns], Ns); 8056c50: f8d7 21c8 ldr.w r2, [r7, #456] ; 0x1c8 8056c54: 4613 mov r3, r2 8056c56: 005b lsls r3, r3, #1 8056c58: 4413 add r3, r2 8056c5a: 009b lsls r3, r3, #2 8056c5c: 4a58 ldr r2, [pc, #352] ; (8056dc0 ) 8056c5e: 1898 adds r0, r3, r2 8056c60: 4b42 ldr r3, [pc, #264] ; (8056d6c ) 8056c62: 681b ldr r3, [r3, #0] 8056c64: 00db lsls r3, r3, #3 8056c66: 4a52 ldr r2, [pc, #328] ; (8056db0 ) 8056c68: 1899 adds r1, r3, r2 8056c6a: 4b40 ldr r3, [pc, #256] ; (8056d6c ) 8056c6c: 681b ldr r3, [r3, #0] 8056c6e: 00db lsls r3, r3, #3 8056c70: 4a4f ldr r2, [pc, #316] ; (8056db0 ) 8056c72: 441a add r2, r3 8056c74: 4b3d ldr r3, [pc, #244] ; (8056d6c ) 8056c76: 681b ldr r3, [r3, #0] 8056c78: f073 fa94 bl 80ca1a4 break; 8056c7c: e016 b.n 8056cac case DIAGN_DIS: //DIS arm_biquad_cascade_df2T_f64(&D_INT2[k], &Buff64[Ns], &Buff64[Ns], Ns); 8056c7e: f8d7 21c8 ldr.w r2, [r7, #456] ; 0x1c8 8056c82: 4613 mov r3, r2 8056c84: 005b lsls r3, r3, #1 8056c86: 4413 add r3, r2 8056c88: 009b lsls r3, r3, #2 8056c8a: 4a4e ldr r2, [pc, #312] ; (8056dc4 ) 8056c8c: 1898 adds r0, r3, r2 8056c8e: 4b37 ldr r3, [pc, #220] ; (8056d6c ) 8056c90: 681b ldr r3, [r3, #0] 8056c92: 00db lsls r3, r3, #3 8056c94: 4a46 ldr r2, [pc, #280] ; (8056db0 ) 8056c96: 1899 adds r1, r3, r2 8056c98: 4b34 ldr r3, [pc, #208] ; (8056d6c ) 8056c9a: 681b ldr r3, [r3, #0] 8056c9c: 00db lsls r3, r3, #3 8056c9e: 4a44 ldr r2, [pc, #272] ; (8056db0 ) 8056ca0: 441a add r2, r3 8056ca2: 4b32 ldr r3, [pc, #200] ; (8056d6c ) 8056ca4: 681b ldr r3, [r3, #0] 8056ca6: f073 fa7d bl 80ca1a4 break; 8056caa: bf00 nop } arm_biquad_cascade_df2T_f64(&D_HP[k], &Buff64[Ns], &Buff64[Ns], Ns); 8056cac: f8d7 21c8 ldr.w r2, [r7, #456] ; 0x1c8 8056cb0: 4613 mov r3, r2 8056cb2: 005b lsls r3, r3, #1 8056cb4: 4413 add r3, r2 8056cb6: 009b lsls r3, r3, #2 8056cb8: 4a43 ldr r2, [pc, #268] ; (8056dc8 ) 8056cba: 1898 adds r0, r3, r2 8056cbc: 4b2b ldr r3, [pc, #172] ; (8056d6c ) 8056cbe: 681b ldr r3, [r3, #0] 8056cc0: 00db lsls r3, r3, #3 8056cc2: 4a3b ldr r2, [pc, #236] ; (8056db0 ) 8056cc4: 1899 adds r1, r3, r2 8056cc6: 4b29 ldr r3, [pc, #164] ; (8056d6c ) 8056cc8: 681b ldr r3, [r3, #0] 8056cca: 00db lsls r3, r3, #3 8056ccc: 4a38 ldr r2, [pc, #224] ; (8056db0 ) 8056cce: 441a add r2, r3 8056cd0: 4b26 ldr r3, [pc, #152] ; (8056d6c ) 8056cd2: 681b ldr r3, [r3, #0] 8056cd4: f073 fa66 bl 80ca1a4 for(i = 0; i < Ns; i++) { 8056cd8: 2300 movs r3, #0 8056cda: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8056cde: e016 b.n 8056d0e Out[i] = (float32_t) Buff64[i + 8192]; 8056ce0: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8056ce4: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8056ce8: f502 5200 add.w r2, r2, #8192 ; 0x2000 8056cec: 4930 ldr r1, [pc, #192] ; (8056db0 ) 8056cee: 00d2 lsls r2, r2, #3 8056cf0: 440a add r2, r1 8056cf2: ed92 7b00 vldr d7, [r2] 8056cf6: eef7 7bc7 vcvt.f32.f64 s15, d7 8056cfa: 4a34 ldr r2, [pc, #208] ; (8056dcc ) 8056cfc: 009b lsls r3, r3, #2 8056cfe: 4413 add r3, r2 8056d00: edc3 7a00 vstr s15, [r3] for(i = 0; i < Ns; i++) { 8056d04: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8056d08: 3301 adds r3, #1 8056d0a: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8056d0e: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8056d12: 4b16 ldr r3, [pc, #88] ; (8056d6c ) 8056d14: 681b ldr r3, [r3, #0] 8056d16: 429a cmp r2, r3 8056d18: d3e2 bcc.n 8056ce0 } if((pardata.DIAGN_MASK[CURR_POINT][k] & 0x7) == DIAGN_VEL) 8056d1a: 4b27 ldr r3, [pc, #156] ; (8056db8 ) 8056d1c: 781b ldrb r3, [r3, #0] 8056d1e: b2db uxtb r3, r3 8056d20: 461a mov r2, r3 8056d22: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8056d26: 4925 ldr r1, [pc, #148] ; (8056dbc ) 8056d28: 0092 lsls r2, r2, #2 8056d2a: 440a add r2, r1 8056d2c: 4413 add r3, r2 8056d2e: f503 730f add.w r3, r3, #572 ; 0x23c 8056d32: 781b ldrb r3, [r3, #0] 8056d34: b2db uxtb r3, r3 8056d36: f003 0307 and.w r3, r3, #7 8056d3a: 2b02 cmp r3, #2 8056d3c: d14a bne.n 8056dd4 { fs = 249.135f; 8056d3e: 4b24 ldr r3, [pc, #144] ; (8056dd0 ) 8056d40: f8c7 31b8 str.w r3, [r7, #440] ; 0x1b8 arm_scale_f32(Out, fs, Out, Ns); 8056d44: edd7 7a6e vldr s15, [r7, #440] ; 0x1b8 8056d48: 4b08 ldr r3, [pc, #32] ; (8056d6c ) 8056d4a: 681b ldr r3, [r3, #0] 8056d4c: 461a mov r2, r3 8056d4e: 491f ldr r1, [pc, #124] ; (8056dcc ) 8056d50: eeb0 0a67 vmov.f32 s0, s15 8056d54: 481d ldr r0, [pc, #116] ; (8056dcc ) 8056d56: f073 fcdb bl 80ca710 8056d5a: e05b b.n 8056e14 8056d5c: f3af 8000 nop.w 8056d60: 18000018 .word 0x18000018 8056d64: 3e980000 .word 0x3e980000 8056d68: 20058020 .word 0x20058020 8056d6c: 20021cdc .word 0x20021cdc 8056d70: 20021531 .word 0x20021531 8056d74: 20020d7e .word 0x20020d7e 8056d78: 20020da8 .word 0x20020da8 8056d7c: 20020d75 .word 0x20020d75 8056d80: 20020d60 .word 0x20020d60 8056d84: 20020db8 .word 0x20020db8 8056d88: 20021620 .word 0x20021620 8056d8c: 2002161c .word 0x2002161c 8056d90: 20021ce8 .word 0x20021ce8 8056d94: 00000000 .word 0x00000000 8056d98: 20021cfc .word 0x20021cfc 8056d9c: 64050000 .word 0x64050000 8056da0: 20020d88 .word 0x20020d88 8056da4: 20020d6c .word 0x20020d6c 8056da8: 20021d20 .word 0x20021d20 8056dac: 20020080 .word 0x20020080 8056db0: 20037ae0 .word 0x20037ae0 8056db4: 2002629c .word 0x2002629c 8056db8: 20021011 .word 0x20021011 8056dbc: 20023e60 .word 0x20023e60 8056dc0: 200268f4 .word 0x200268f4 8056dc4: 20057d90 .word 0x20057d90 8056dc8: 20068368 .word 0x20068368 8056dcc: 20008000 .word 0x20008000 8056dd0: 4379228f .word 0x4379228f } else if((pardata.DIAGN_MASK[CURR_POINT][k] & 0x7) == DIAGN_DIS) 8056dd4: 4bd1 ldr r3, [pc, #836] ; (805711c ) 8056dd6: 781b ldrb r3, [r3, #0] 8056dd8: b2db uxtb r3, r3 8056dda: 461a mov r2, r3 8056ddc: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8056de0: 49cf ldr r1, [pc, #828] ; (8057120 ) 8056de2: 0092 lsls r2, r2, #2 8056de4: 440a add r2, r1 8056de6: 4413 add r3, r2 8056de8: f503 730f add.w r3, r3, #572 ; 0x23c 8056dec: 781b ldrb r3, [r3, #0] 8056dee: b2db uxtb r3, r3 8056df0: f003 0307 and.w r3, r3, #7 8056df4: 2b04 cmp r3, #4 8056df6: d10d bne.n 8056e14 { fs = 61400.171f; 8056df8: 4bca ldr r3, [pc, #808] ; (8057124 ) 8056dfa: f8c7 31b8 str.w r3, [r7, #440] ; 0x1b8 arm_scale_f32(Out, fs, Out, Ns); 8056dfe: edd7 7a6e vldr s15, [r7, #440] ; 0x1b8 8056e02: 4bc9 ldr r3, [pc, #804] ; (8057128 ) 8056e04: 681b ldr r3, [r3, #0] 8056e06: 461a mov r2, r3 8056e08: 49c8 ldr r1, [pc, #800] ; (805712c ) 8056e0a: eeb0 0a67 vmov.f32 s0, s15 8056e0e: 48c7 ldr r0, [pc, #796] ; (805712c ) 8056e10: f073 fc7e bl 80ca710 switch((pardata.DIAGN_MASK[CURR_POINT][k] >> 3) & 0x1f) 8056e14: 4bc1 ldr r3, [pc, #772] ; (805711c ) 8056e16: 781b ldrb r3, [r3, #0] 8056e18: b2db uxtb r3, r3 8056e1a: 461a mov r2, r3 8056e1c: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8056e20: 49bf ldr r1, [pc, #764] ; (8057120 ) 8056e22: 0092 lsls r2, r2, #2 8056e24: 440a add r2, r1 8056e26: 4413 add r3, r2 8056e28: f503 730f add.w r3, r3, #572 ; 0x23c 8056e2c: 781b ldrb r3, [r3, #0] 8056e2e: b2db uxtb r3, r3 8056e30: 08db lsrs r3, r3, #3 8056e32: b2db uxtb r3, r3 8056e34: f003 031f and.w r3, r3, #31 8056e38: 3b01 subs r3, #1 8056e3a: 2b0f cmp r3, #15 8056e3c: f200 813d bhi.w 80570ba 8056e40: a201 add r2, pc, #4 ; (adr r2, 8056e48 ) 8056e42: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8056e46: bf00 nop 8056e48: 08056e89 .word 0x08056e89 8056e4c: 08056f0d .word 0x08056f0d 8056e50: 080570bb .word 0x080570bb 8056e54: 08056f37 .word 0x08056f37 8056e58: 080570bb .word 0x080570bb 8056e5c: 080570bb .word 0x080570bb 8056e60: 080570bb .word 0x080570bb 8056e64: 08056fed .word 0x08056fed 8056e68: 080570bb .word 0x080570bb 8056e6c: 080570bb .word 0x080570bb 8056e70: 080570bb .word 0x080570bb 8056e74: 080570bb .word 0x080570bb 8056e78: 080570bb .word 0x080570bb 8056e7c: 080570bb .word 0x080570bb 8056e80: 080570bb .word 0x080570bb 8056e84: 08057099 .word 0x08057099 { case DIAGN_PEAK: // peak arm_min_f32(Out, Ns, &fn[0], &i); 8056e88: 4ba7 ldr r3, [pc, #668] ; (8057128 ) 8056e8a: 6819 ldr r1, [r3, #0] 8056e8c: f507 73e8 add.w r3, r7, #464 ; 0x1d0 8056e90: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8056e94: 48a5 ldr r0, [pc, #660] ; (805712c ) 8056e96: f073 f875 bl 80c9f84 arm_max_f32(Out, Ns, &fn[1], &j); 8056e9a: 4ba3 ldr r3, [pc, #652] ; (8057128 ) 8056e9c: 6819 ldr r1, [r3, #0] 8056e9e: f507 70e6 add.w r0, r7, #460 ; 0x1cc 8056ea2: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8056ea6: 1d1a adds r2, r3, #4 8056ea8: 4603 mov r3, r0 8056eaa: 48a0 ldr r0, [pc, #640] ; (805712c ) 8056eac: f073 f906 bl 80ca0bc fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 8056eb0: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8056eb4: eef5 7ac0 vcmpe.f32 s15, #0.0 8056eb8: eef1 fa10 vmrs APSR_nzcv, fpscr 8056ebc: dd02 ble.n 8056ec4 8056ebe: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8056ec2: e003 b.n 8056ecc 8056ec4: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8056ec8: eef1 7a67 vneg.f32 s15, s15 8056ecc: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 8056ed0: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8056ed4: eef5 7ac0 vcmpe.f32 s15, #0.0 8056ed8: eef1 fa10 vmrs APSR_nzcv, fpscr 8056edc: dd02 ble.n 8056ee4 8056ede: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8056ee2: e003 b.n 8056eec 8056ee4: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8056ee8: eef1 7a67 vneg.f32 s15, s15 8056eec: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &fval[k], &i); 8056ef0: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8056ef4: f107 02fc add.w r2, r7, #252 ; 0xfc 8056ef8: 009b lsls r3, r3, #2 8056efa: 441a add r2, r3 8056efc: f507 73e8 add.w r3, r7, #464 ; 0x1d0 8056f00: f507 70d8 add.w r0, r7, #432 ; 0x1b0 8056f04: 2102 movs r1, #2 8056f06: f073 f8d9 bl 80ca0bc break; 8056f0a: e0d6 b.n 80570ba case DIAGN_RMS: // rms arm_power_f32(Out, Ns, &fval[k]); 8056f0c: 4b86 ldr r3, [pc, #536] ; (8057128 ) 8056f0e: 6819 ldr r1, [r3, #0] 8056f10: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8056f14: f107 02fc add.w r2, r7, #252 ; 0xfc 8056f18: 009b lsls r3, r3, #2 8056f1a: 4413 add r3, r2 8056f1c: 461a mov r2, r3 8056f1e: 4883 ldr r0, [pc, #524] ; (805712c ) 8056f20: f072 fff6 bl 80c9f10 arm_rms_f32(Out, Ns, &rms); 8056f24: 4b80 ldr r3, [pc, #512] ; (8057128 ) 8056f26: 681b ldr r3, [r3, #0] 8056f28: f507 7286 add.w r2, r7, #268 ; 0x10c 8056f2c: 4619 mov r1, r3 8056f2e: 487f ldr r0, [pc, #508] ; (805712c ) 8056f30: f072 ff96 bl 80c9e60 break; 8056f34: e0c1 b.n 80570ba case DIAGN_PEAK_TO_PEAK: // pk-pk arm_min_f32(Out, Ns, &fn[0], &i); 8056f36: 4b7c ldr r3, [pc, #496] ; (8057128 ) 8056f38: 6819 ldr r1, [r3, #0] 8056f3a: f507 73e8 add.w r3, r7, #464 ; 0x1d0 8056f3e: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8056f42: 487a ldr r0, [pc, #488] ; (805712c ) 8056f44: f073 f81e bl 80c9f84 arm_max_f32(Out, Ns, &fn[1], &j); 8056f48: 4b77 ldr r3, [pc, #476] ; (8057128 ) 8056f4a: 6819 ldr r1, [r3, #0] 8056f4c: f507 70e6 add.w r0, r7, #460 ; 0x1cc 8056f50: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8056f54: 1d1a adds r2, r3, #4 8056f56: 4603 mov r3, r0 8056f58: 4874 ldr r0, [pc, #464] ; (805712c ) 8056f5a: f073 f8af bl 80ca0bc fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 8056f5e: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8056f62: eef5 7ac0 vcmpe.f32 s15, #0.0 8056f66: eef1 fa10 vmrs APSR_nzcv, fpscr 8056f6a: dd02 ble.n 8056f72 8056f6c: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8056f70: e003 b.n 8056f7a 8056f72: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8056f76: eef1 7a67 vneg.f32 s15, s15 8056f7a: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 8056f7e: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8056f82: eef5 7ac0 vcmpe.f32 s15, #0.0 8056f86: eef1 fa10 vmrs APSR_nzcv, fpscr 8056f8a: dd02 ble.n 8056f92 8056f8c: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8056f90: e003 b.n 8056f9a 8056f92: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8056f96: eef1 7a67 vneg.f32 s15, s15 8056f9a: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 fval[k] = ABS(fn[0]) + ABS(fn[1]); 8056f9e: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8056fa2: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8056fa6: eef5 7ac0 vcmpe.f32 s15, #0.0 8056faa: eef1 fa10 vmrs APSR_nzcv, fpscr 8056fae: dd02 ble.n 8056fb6 8056fb0: ed97 7a6c vldr s14, [r7, #432] ; 0x1b0 8056fb4: e003 b.n 8056fbe 8056fb6: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8056fba: eeb1 7a67 vneg.f32 s14, s15 8056fbe: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8056fc2: eef5 7ac0 vcmpe.f32 s15, #0.0 8056fc6: eef1 fa10 vmrs APSR_nzcv, fpscr 8056fca: dd02 ble.n 8056fd2 8056fcc: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8056fd0: e003 b.n 8056fda 8056fd2: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8056fd6: eef1 7a67 vneg.f32 s15, s15 8056fda: ee77 7a27 vadd.f32 s15, s14, s15 8056fde: f107 02fc add.w r2, r7, #252 ; 0xfc 8056fe2: 009b lsls r3, r3, #2 8056fe4: 4413 add r3, r2 8056fe6: edc3 7a00 vstr s15, [r3] break; 8056fea: e066 b.n 80570ba case DIAGN_PEAK_FACTOR: // peak-factor arm_min_f32(Out, Ns, &fn[0], &i); 8056fec: 4b4e ldr r3, [pc, #312] ; (8057128 ) 8056fee: 6819 ldr r1, [r3, #0] 8056ff0: f507 73e8 add.w r3, r7, #464 ; 0x1d0 8056ff4: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8056ff8: 484c ldr r0, [pc, #304] ; (805712c ) 8056ffa: f072 ffc3 bl 80c9f84 arm_max_f32(Out, Ns, &fn[1], &j); 8056ffe: 4b4a ldr r3, [pc, #296] ; (8057128 ) 8057000: 6819 ldr r1, [r3, #0] 8057002: f507 70e6 add.w r0, r7, #460 ; 0x1cc 8057006: f507 73d8 add.w r3, r7, #432 ; 0x1b0 805700a: 1d1a adds r2, r3, #4 805700c: 4603 mov r3, r0 805700e: 4847 ldr r0, [pc, #284] ; (805712c ) 8057010: f073 f854 bl 80ca0bc fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 8057014: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8057018: eef5 7ac0 vcmpe.f32 s15, #0.0 805701c: eef1 fa10 vmrs APSR_nzcv, fpscr 8057020: dd02 ble.n 8057028 8057022: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8057026: e003 b.n 8057030 8057028: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805702c: eef1 7a67 vneg.f32 s15, s15 8057030: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 8057034: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8057038: eef5 7ac0 vcmpe.f32 s15, #0.0 805703c: eef1 fa10 vmrs APSR_nzcv, fpscr 8057040: dd02 ble.n 8057048 8057042: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8057046: e003 b.n 8057050 8057048: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805704c: eef1 7a67 vneg.f32 s15, s15 8057050: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &fpeak[k], &i); 8057054: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8057058: f107 02ec add.w r2, r7, #236 ; 0xec 805705c: 009b lsls r3, r3, #2 805705e: 441a add r2, r3 8057060: f507 73e8 add.w r3, r7, #464 ; 0x1d0 8057064: f507 70d8 add.w r0, r7, #432 ; 0x1b0 8057068: 2102 movs r1, #2 805706a: f073 f827 bl 80ca0bc arm_power_f32(Out, Ns, &fval[k]); 805706e: 4b2e ldr r3, [pc, #184] ; (8057128 ) 8057070: 6819 ldr r1, [r3, #0] 8057072: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8057076: f107 02fc add.w r2, r7, #252 ; 0xfc 805707a: 009b lsls r3, r3, #2 805707c: 4413 add r3, r2 805707e: 461a mov r2, r3 8057080: 482a ldr r0, [pc, #168] ; (805712c ) 8057082: f072 ff45 bl 80c9f10 arm_rms_f32(Out, Ns, &rms); 8057086: 4b28 ldr r3, [pc, #160] ; (8057128 ) 8057088: 681b ldr r3, [r3, #0] 805708a: f507 7286 add.w r2, r7, #268 ; 0x10c 805708e: 4619 mov r1, r3 8057090: 4826 ldr r0, [pc, #152] ; (805712c ) 8057092: f072 fee5 bl 80c9e60 break; 8057096: e010 b.n 80570ba case DIAGN_EXCESS: // excess fval[k] = CalcExcess(Out, Ns); 8057098: f8d7 41c8 ldr.w r4, [r7, #456] ; 0x1c8 805709c: 4b22 ldr r3, [pc, #136] ; (8057128 ) 805709e: 681b ldr r3, [r3, #0] 80570a0: 4619 mov r1, r3 80570a2: 4822 ldr r0, [pc, #136] ; (805712c ) 80570a4: f00f fff0 bl 8067088 80570a8: eef0 7a40 vmov.f32 s15, s0 80570ac: f107 02fc add.w r2, r7, #252 ; 0xfc 80570b0: 00a3 lsls r3, r4, #2 80570b2: 4413 add r3, r2 80570b4: edc3 7a00 vstr s15, [r3] break; 80570b8: bf00 nop for(k = 0; k < NUM_OPERANDS; k++) 80570ba: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 80570be: 3301 adds r3, #1 80570c0: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 80570c4: 4b1a ldr r3, [pc, #104] ; (8057130 ) 80570c6: 781b ldrb r3, [r3, #0] 80570c8: b2db uxtb r3, r3 80570ca: 461a mov r2, r3 80570cc: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 80570d0: 429a cmp r2, r3 80570d2: f63f ad96 bhi.w 8056c02 } } ////////////////////////////////////////// if(timeRelax) 80570d6: 4b17 ldr r3, [pc, #92] ; (8057134 ) 80570d8: 681b ldr r3, [r3, #0] 80570da: 2b00 cmp r3, #0 80570dc: d01a beq.n 8057114 { timeRelax--; 80570de: 4b15 ldr r3, [pc, #84] ; (8057134 ) 80570e0: 681b ldr r3, [r3, #0] 80570e2: 3b01 subs r3, #1 80570e4: 4a13 ldr r2, [pc, #76] ; (8057134 ) 80570e6: 6013 str r3, [r2, #0] for(i = 0; i < 4; i++) { 80570e8: 2300 movs r3, #0 80570ea: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 80570ee: e00b b.n 8057108 operand[i] = -1.0f; 80570f0: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80570f4: 4a10 ldr r2, [pc, #64] ; (8057138 ) 80570f6: 009b lsls r3, r3, #2 80570f8: 4413 add r3, r2 80570fa: 4a10 ldr r2, [pc, #64] ; (805713c ) 80570fc: 601a str r2, [r3, #0] for(i = 0; i < 4; i++) { 80570fe: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8057102: 3301 adds r3, #1 8057104: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8057108: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805710c: 2b03 cmp r3, #3 805710e: d9ef bls.n 80570f0 8057110: f001 bdd9 b.w 8058cc6 } } else { for(i = 0; i < NUM_OPERANDS; i++) 8057114: 2300 movs r3, #0 8057116: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805711a: e117 b.n 805734c 805711c: 20021011 .word 0x20021011 8057120: 20023e60 .word 0x20023e60 8057124: 476fd82c .word 0x476fd82c 8057128: 20021cdc .word 0x20021cdc 805712c: 20008000 .word 0x20008000 8057130: 20021012 .word 0x20021012 8057134: 20020d6c .word 0x20020d6c 8057138: 200268d8 .word 0x200268d8 805713c: bf800000 .word 0xbf800000 { switch((pardata.DIAGN_MASK[CURR_POINT][i] >> 3) & 0x1f) 8057140: 4b92 ldr r3, [pc, #584] ; (805738c ) 8057142: 781b ldrb r3, [r3, #0] 8057144: b2db uxtb r3, r3 8057146: 461a mov r2, r3 8057148: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805714c: 4990 ldr r1, [pc, #576] ; (8057390 ) 805714e: 0092 lsls r2, r2, #2 8057150: 440a add r2, r1 8057152: 4413 add r3, r2 8057154: f503 730f add.w r3, r3, #572 ; 0x23c 8057158: 781b ldrb r3, [r3, #0] 805715a: b2db uxtb r3, r3 805715c: 08db lsrs r3, r3, #3 805715e: b2db uxtb r3, r3 8057160: f003 031f and.w r3, r3, #31 8057164: 3b01 subs r3, #1 8057166: 2b0f cmp r3, #15 8057168: f200 80eb bhi.w 8057342 805716c: a201 add r2, pc, #4 ; (adr r2, 8057174 ) 805716e: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8057172: bf00 nop 8057174: 080571b5 .word 0x080571b5 8057178: 0805726f .word 0x0805726f 805717c: 08057343 .word 0x08057343 8057180: 080571b5 .word 0x080571b5 8057184: 08057343 .word 0x08057343 8057188: 08057343 .word 0x08057343 805718c: 08057343 .word 0x08057343 8057190: 080571fb .word 0x080571fb 8057194: 08057343 .word 0x08057343 8057198: 08057343 .word 0x08057343 805719c: 08057343 .word 0x08057343 80571a0: 08057343 .word 0x08057343 80571a4: 08057343 .word 0x08057343 80571a8: 08057343 .word 0x08057343 80571ac: 08057343 .word 0x08057343 80571b0: 080572a1 .word 0x080572a1 { case DIAGN_PEAK: //peak case DIAGN_PEAK_TO_PEAK: //pk-pk if(peakAVS[i] < fval[i]) { 80571b4: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80571b8: 4a76 ldr r2, [pc, #472] ; (8057394 ) 80571ba: 009b lsls r3, r3, #2 80571bc: 4413 add r3, r2 80571be: ed93 7a00 vldr s14, [r3] 80571c2: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80571c6: f107 02fc add.w r2, r7, #252 ; 0xfc 80571ca: 009b lsls r3, r3, #2 80571cc: 4413 add r3, r2 80571ce: edd3 7a00 vldr s15, [r3] 80571d2: eeb4 7ae7 vcmpe.f32 s14, s15 80571d6: eef1 fa10 vmrs APSR_nzcv, fpscr 80571da: d400 bmi.n 80571de peakAVS[i] = fval[i]; } break; 80571dc: e0b1 b.n 8057342 peakAVS[i] = fval[i]; 80571de: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80571e2: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80571e6: f107 01fc add.w r1, r7, #252 ; 0xfc 80571ea: 0092 lsls r2, r2, #2 80571ec: 440a add r2, r1 80571ee: 6812 ldr r2, [r2, #0] 80571f0: 4968 ldr r1, [pc, #416] ; (8057394 ) 80571f2: 009b lsls r3, r3, #2 80571f4: 440b add r3, r1 80571f6: 601a str r2, [r3, #0] break; 80571f8: e0a3 b.n 8057342 case DIAGN_PEAK_FACTOR: //peak-factor if(peakAVS[i] < fpeak[i]) { 80571fa: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80571fe: 4a65 ldr r2, [pc, #404] ; (8057394 ) 8057200: 009b lsls r3, r3, #2 8057202: 4413 add r3, r2 8057204: ed93 7a00 vldr s14, [r3] 8057208: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805720c: f107 02ec add.w r2, r7, #236 ; 0xec 8057210: 009b lsls r3, r3, #2 8057212: 4413 add r3, r2 8057214: edd3 7a00 vldr s15, [r3] 8057218: eeb4 7ae7 vcmpe.f32 s14, s15 805721c: eef1 fa10 vmrs APSR_nzcv, fpscr 8057220: d50c bpl.n 805723c peakAVS[i] = fpeak[i]; 8057222: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8057226: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805722a: f107 01ec add.w r1, r7, #236 ; 0xec 805722e: 0092 lsls r2, r2, #2 8057230: 440a add r2, r1 8057232: 6812 ldr r2, [r2, #0] 8057234: 4957 ldr r1, [pc, #348] ; (8057394 ) 8057236: 009b lsls r3, r3, #2 8057238: 440b add r3, r1 805723a: 601a str r2, [r3, #0] } rmsAVS[i] += fval[i]; 805723c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8057240: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8057244: 4954 ldr r1, [pc, #336] ; (8057398 ) 8057246: 0092 lsls r2, r2, #2 8057248: 440a add r2, r1 805724a: ed92 7a00 vldr s14, [r2] 805724e: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8057252: f107 01fc add.w r1, r7, #252 ; 0xfc 8057256: 0092 lsls r2, r2, #2 8057258: 440a add r2, r1 805725a: edd2 7a00 vldr s15, [r2] 805725e: ee77 7a27 vadd.f32 s15, s14, s15 8057262: 4a4d ldr r2, [pc, #308] ; (8057398 ) 8057264: 009b lsls r3, r3, #2 8057266: 4413 add r3, r2 8057268: edc3 7a00 vstr s15, [r3] break; 805726c: e069 b.n 8057342 case DIAGN_RMS: //rms rmsAVS[i] += fval[i]; 805726e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8057272: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8057276: 4948 ldr r1, [pc, #288] ; (8057398 ) 8057278: 0092 lsls r2, r2, #2 805727a: 440a add r2, r1 805727c: ed92 7a00 vldr s14, [r2] 8057280: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8057284: f107 01fc add.w r1, r7, #252 ; 0xfc 8057288: 0092 lsls r2, r2, #2 805728a: 440a add r2, r1 805728c: edd2 7a00 vldr s15, [r2] 8057290: ee77 7a27 vadd.f32 s15, s14, s15 8057294: 4a40 ldr r2, [pc, #256] ; (8057398 ) 8057296: 009b lsls r3, r3, #2 8057298: 4413 add r3, r2 805729a: edc3 7a00 vstr s15, [r3] break; 805729e: e050 b.n 8057342 case DIAGN_EXCESS: if(ABS(peakAVS[i]) < ABS(fval[i])) { 80572a0: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80572a4: 4a3b ldr r2, [pc, #236] ; (8057394 ) 80572a6: 009b lsls r3, r3, #2 80572a8: 4413 add r3, r2 80572aa: edd3 7a00 vldr s15, [r3] 80572ae: eef5 7ac0 vcmpe.f32 s15, #0.0 80572b2: eef1 fa10 vmrs APSR_nzcv, fpscr 80572b6: dd07 ble.n 80572c8 80572b8: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80572bc: 4a35 ldr r2, [pc, #212] ; (8057394 ) 80572be: 009b lsls r3, r3, #2 80572c0: 4413 add r3, r2 80572c2: ed93 7a00 vldr s14, [r3] 80572c6: e008 b.n 80572da 80572c8: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80572cc: 4a31 ldr r2, [pc, #196] ; (8057394 ) 80572ce: 009b lsls r3, r3, #2 80572d0: 4413 add r3, r2 80572d2: edd3 7a00 vldr s15, [r3] 80572d6: eeb1 7a67 vneg.f32 s14, s15 80572da: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80572de: f107 02fc add.w r2, r7, #252 ; 0xfc 80572e2: 009b lsls r3, r3, #2 80572e4: 4413 add r3, r2 80572e6: edd3 7a00 vldr s15, [r3] 80572ea: eef5 7ac0 vcmpe.f32 s15, #0.0 80572ee: eef1 fa10 vmrs APSR_nzcv, fpscr 80572f2: dd08 ble.n 8057306 80572f4: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80572f8: f107 02fc add.w r2, r7, #252 ; 0xfc 80572fc: 009b lsls r3, r3, #2 80572fe: 4413 add r3, r2 8057300: edd3 7a00 vldr s15, [r3] 8057304: e009 b.n 805731a 8057306: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805730a: f107 02fc add.w r2, r7, #252 ; 0xfc 805730e: 009b lsls r3, r3, #2 8057310: 4413 add r3, r2 8057312: edd3 7a00 vldr s15, [r3] 8057316: eef1 7a67 vneg.f32 s15, s15 805731a: eeb4 7ae7 vcmpe.f32 s14, s15 805731e: eef1 fa10 vmrs APSR_nzcv, fpscr 8057322: d400 bmi.n 8057326 peakAVS[i] = fval[i]; } break; 8057324: e00c b.n 8057340 peakAVS[i] = fval[i]; 8057326: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805732a: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805732e: f107 01fc add.w r1, r7, #252 ; 0xfc 8057332: 0092 lsls r2, r2, #2 8057334: 440a add r2, r1 8057336: 6812 ldr r2, [r2, #0] 8057338: 4916 ldr r1, [pc, #88] ; (8057394 ) 805733a: 009b lsls r3, r3, #2 805733c: 440b add r3, r1 805733e: 601a str r2, [r3, #0] break; 8057340: bf00 nop for(i = 0; i < NUM_OPERANDS; i++) 8057342: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8057346: 3301 adds r3, #1 8057348: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805734c: 4b13 ldr r3, [pc, #76] ; (805739c ) 805734e: 781b ldrb r3, [r3, #0] 8057350: b2db uxtb r3, r3 8057352: 461a mov r2, r3 8057354: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8057358: 429a cmp r2, r3 805735a: f63f aef1 bhi.w 8057140 /////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////// BI-TECHNO ////////////////////////// MeanCnt++; 805735e: 4b10 ldr r3, [pc, #64] ; (80573a0 ) 8057360: 681b ldr r3, [r3, #0] 8057362: 3301 adds r3, #1 8057364: 4a0e ldr r2, [pc, #56] ; (80573a0 ) 8057366: 6013 str r3, [r2, #0] if(!(MeanCnt % 8)) 8057368: 4b0d ldr r3, [pc, #52] ; (80573a0 ) 805736a: 681b ldr r3, [r3, #0] 805736c: f003 0307 and.w r3, r3, #7 8057370: 2b00 cmp r3, #0 8057372: f040 8621 bne.w 8057fb8 { for(j = AVG[pardata.AVG] - 1; j > 0; j--) 8057376: 4b06 ldr r3, [pc, #24] ; (8057390 ) 8057378: 7b5b ldrb r3, [r3, #13] 805737a: b2db uxtb r3, r3 805737c: 461a mov r2, r3 805737e: 4b09 ldr r3, [pc, #36] ; (80573a4 ) 8057380: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 8057384: 3b01 subs r3, #1 8057386: f8c7 31cc str.w r3, [r7, #460] ; 0x1cc 805738a: e0a2 b.n 80574d2 805738c: 20021011 .word 0x20021011 8057390: 20023e60 .word 0x20023e60 8057394: 20021cfc .word 0x20021cfc 8057398: 20021ce8 .word 0x20021ce8 805739c: 20021012 .word 0x20021012 80573a0: 20020db8 .word 0x20020db8 80573a4: 080eeb00 .word 0x080eeb00 { fl = OP1_PEAK_RD(j - 1); 80573a8: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 80573ac: 3b01 subs r3, #1 80573ae: 009a lsls r2, r3, #2 80573b0: 4bbb ldr r3, [pc, #748] ; (80576a0 ) 80573b2: 4413 add r3, r2 80573b4: 681b ldr r3, [r3, #0] 80573b6: f8c7 31bc str.w r3, [r7, #444] ; 0x1bc OP1_PEAK_WR(j) = fl; 80573ba: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 80573be: 009a lsls r2, r3, #2 80573c0: 4bb7 ldr r3, [pc, #732] ; (80576a0 ) 80573c2: 4413 add r3, r2 80573c4: 461a mov r2, r3 80573c6: f8d7 31bc ldr.w r3, [r7, #444] ; 0x1bc 80573ca: 6013 str r3, [r2, #0] fl = OP1_RMS_RD(j - 1); 80573cc: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 80573d0: 3b01 subs r3, #1 80573d2: 009a lsls r2, r3, #2 80573d4: 4bb3 ldr r3, [pc, #716] ; (80576a4 ) 80573d6: 4413 add r3, r2 80573d8: 681b ldr r3, [r3, #0] 80573da: f8c7 31bc str.w r3, [r7, #444] ; 0x1bc OP1_RMS_WR(j) = fl; 80573de: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 80573e2: 009a lsls r2, r3, #2 80573e4: 4baf ldr r3, [pc, #700] ; (80576a4 ) 80573e6: 4413 add r3, r2 80573e8: 461a mov r2, r3 80573ea: f8d7 31bc ldr.w r3, [r7, #444] ; 0x1bc 80573ee: 6013 str r3, [r2, #0] fl = OP2_PEAK_RD(j - 1); 80573f0: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 80573f4: 3b01 subs r3, #1 80573f6: 009a lsls r2, r3, #2 80573f8: 4bab ldr r3, [pc, #684] ; (80576a8 ) 80573fa: 4413 add r3, r2 80573fc: 681b ldr r3, [r3, #0] 80573fe: f8c7 31bc str.w r3, [r7, #444] ; 0x1bc OP2_PEAK_WR(j) = fl; 8057402: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 8057406: 009a lsls r2, r3, #2 8057408: 4ba7 ldr r3, [pc, #668] ; (80576a8 ) 805740a: 4413 add r3, r2 805740c: 461a mov r2, r3 805740e: f8d7 31bc ldr.w r3, [r7, #444] ; 0x1bc 8057412: 6013 str r3, [r2, #0] fl = OP2_RMS_RD(j - 1); 8057414: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 8057418: 3b01 subs r3, #1 805741a: 009a lsls r2, r3, #2 805741c: 4ba3 ldr r3, [pc, #652] ; (80576ac ) 805741e: 4413 add r3, r2 8057420: 681b ldr r3, [r3, #0] 8057422: f8c7 31bc str.w r3, [r7, #444] ; 0x1bc OP2_RMS_WR(j) = fl; 8057426: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 805742a: 009a lsls r2, r3, #2 805742c: 4b9f ldr r3, [pc, #636] ; (80576ac ) 805742e: 4413 add r3, r2 8057430: 461a mov r2, r3 8057432: f8d7 31bc ldr.w r3, [r7, #444] ; 0x1bc 8057436: 6013 str r3, [r2, #0] fl = OP3_PEAK_RD(j - 1); 8057438: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 805743c: 3b01 subs r3, #1 805743e: 009a lsls r2, r3, #2 8057440: 4b9b ldr r3, [pc, #620] ; (80576b0 ) 8057442: 4413 add r3, r2 8057444: 681b ldr r3, [r3, #0] 8057446: f8c7 31bc str.w r3, [r7, #444] ; 0x1bc OP3_PEAK_WR(j) = fl; 805744a: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 805744e: 009a lsls r2, r3, #2 8057450: 4b97 ldr r3, [pc, #604] ; (80576b0 ) 8057452: 4413 add r3, r2 8057454: 461a mov r2, r3 8057456: f8d7 31bc ldr.w r3, [r7, #444] ; 0x1bc 805745a: 6013 str r3, [r2, #0] fl = OP3_RMS_RD(j - 1); 805745c: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 8057460: 3b01 subs r3, #1 8057462: 009a lsls r2, r3, #2 8057464: 4b93 ldr r3, [pc, #588] ; (80576b4 ) 8057466: 4413 add r3, r2 8057468: 681b ldr r3, [r3, #0] 805746a: f8c7 31bc str.w r3, [r7, #444] ; 0x1bc OP3_RMS_WR(j) = fl; 805746e: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 8057472: 009a lsls r2, r3, #2 8057474: 4b8f ldr r3, [pc, #572] ; (80576b4 ) 8057476: 4413 add r3, r2 8057478: 461a mov r2, r3 805747a: f8d7 31bc ldr.w r3, [r7, #444] ; 0x1bc 805747e: 6013 str r3, [r2, #0] fl = OP4_PEAK_RD(j - 1); 8057480: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 8057484: 3b01 subs r3, #1 8057486: 009a lsls r2, r3, #2 8057488: 4b8b ldr r3, [pc, #556] ; (80576b8 ) 805748a: 4413 add r3, r2 805748c: 681b ldr r3, [r3, #0] 805748e: f8c7 31bc str.w r3, [r7, #444] ; 0x1bc OP4_PEAK_WR(j) = fl; 8057492: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 8057496: 009a lsls r2, r3, #2 8057498: 4b87 ldr r3, [pc, #540] ; (80576b8 ) 805749a: 4413 add r3, r2 805749c: 461a mov r2, r3 805749e: f8d7 31bc ldr.w r3, [r7, #444] ; 0x1bc 80574a2: 6013 str r3, [r2, #0] fl = OP4_RMS_RD(j - 1); 80574a4: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 80574a8: 3b01 subs r3, #1 80574aa: 009a lsls r2, r3, #2 80574ac: 4b83 ldr r3, [pc, #524] ; (80576bc ) 80574ae: 4413 add r3, r2 80574b0: 681b ldr r3, [r3, #0] 80574b2: f8c7 31bc str.w r3, [r7, #444] ; 0x1bc OP4_RMS_WR(j) = fl; 80574b6: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 80574ba: 009a lsls r2, r3, #2 80574bc: 4b7f ldr r3, [pc, #508] ; (80576bc ) 80574be: 4413 add r3, r2 80574c0: 461a mov r2, r3 80574c2: f8d7 31bc ldr.w r3, [r7, #444] ; 0x1bc 80574c6: 6013 str r3, [r2, #0] for(j = AVG[pardata.AVG] - 1; j > 0; j--) 80574c8: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 80574cc: 3b01 subs r3, #1 80574ce: f8c7 31cc str.w r3, [r7, #460] ; 0x1cc 80574d2: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 80574d6: 2b00 cmp r3, #0 80574d8: f47f af66 bne.w 80573a8 } fl = (float32_t) (AVG[pardata.AVG] * 8u) * 8192.0f; 80574dc: 4b78 ldr r3, [pc, #480] ; (80576c0 ) 80574de: 7b5b ldrb r3, [r3, #13] 80574e0: b2db uxtb r3, r3 80574e2: 461a mov r2, r3 80574e4: 4b77 ldr r3, [pc, #476] ; (80576c4 ) 80574e6: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 80574ea: 00db lsls r3, r3, #3 80574ec: ee07 3a90 vmov s15, r3 80574f0: eef8 7a67 vcvt.f32.u32 s15, s15 80574f4: ed9f 7a74 vldr s14, [pc, #464] ; 80576c8 80574f8: ee67 7a87 vmul.f32 s15, s15, s14 80574fc: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc for(i = 0; i < NUM_OPERANDS; i++) 8057500: 2300 movs r3, #0 8057502: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8057506: f000 bd2b b.w 8057f60 { switch((pardata.DIAGN_MASK[CURR_POINT][i] >> 3) & 0x1f) 805750a: 4b70 ldr r3, [pc, #448] ; (80576cc ) 805750c: 781b ldrb r3, [r3, #0] 805750e: b2db uxtb r3, r3 8057510: 461a mov r2, r3 8057512: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8057516: 496a ldr r1, [pc, #424] ; (80576c0 ) 8057518: 0092 lsls r2, r2, #2 805751a: 440a add r2, r1 805751c: 4413 add r3, r2 805751e: f503 730f add.w r3, r3, #572 ; 0x23c 8057522: 781b ldrb r3, [r3, #0] 8057524: b2db uxtb r3, r3 8057526: 08db lsrs r3, r3, #3 8057528: b2db uxtb r3, r3 805752a: f003 031f and.w r3, r3, #31 805752e: 3b01 subs r3, #1 8057530: 2b0f cmp r3, #15 8057532: f200 8510 bhi.w 8057f56 8057536: a201 add r2, pc, #4 ; (adr r2, 805753c ) 8057538: f852 f023 ldr.w pc, [r2, r3, lsl #2] 805753c: 0805757d .word 0x0805757d 8057540: 08057a5b .word 0x08057a5b 8057544: 08057f57 .word 0x08057f57 8057548: 0805757d .word 0x0805757d 805754c: 08057f57 .word 0x08057f57 8057550: 08057f57 .word 0x08057f57 8057554: 08057f57 .word 0x08057f57 8057558: 08057743 .word 0x08057743 805755c: 08057f57 .word 0x08057f57 8057560: 08057f57 .word 0x08057f57 8057564: 08057f57 .word 0x08057f57 8057568: 08057f57 .word 0x08057f57 805756c: 08057f57 .word 0x08057f57 8057570: 08057f57 .word 0x08057f57 8057574: 08057f57 .word 0x08057f57 8057578: 08057bed .word 0x08057bed { case DIAGN_PEAK: //peak case DIAGN_PEAK_TO_PEAK: //pk-pk if(i == 0) 805757c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8057580: 2b00 cmp r3, #0 8057582: d11a bne.n 80575ba { OP1_PEAK_WR(0) = peakAVS[i]; 8057584: 4a46 ldr r2, [pc, #280] ; (80576a0 ) 8057586: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805758a: 4951 ldr r1, [pc, #324] ; (80576d0 ) 805758c: 009b lsls r3, r3, #2 805758e: 440b add r3, r1 8057590: 681b ldr r3, [r3, #0] 8057592: 6013 str r3, [r2, #0] arm_max_f32((float32_t *) &OP1_PEAK_RD(0), AVG[pardata.AVG], &peakAVS[i], &k); 8057594: 4b4a ldr r3, [pc, #296] ; (80576c0 ) 8057596: 7b5b ldrb r3, [r3, #13] 8057598: b2db uxtb r3, r3 805759a: 461a mov r2, r3 805759c: 4b49 ldr r3, [pc, #292] ; (80576c4 ) 805759e: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 80575a2: 4619 mov r1, r3 80575a4: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80575a8: 009b lsls r3, r3, #2 80575aa: 4a49 ldr r2, [pc, #292] ; (80576d0 ) 80575ac: 441a add r2, r3 80575ae: f507 73e4 add.w r3, r7, #456 ; 0x1c8 80575b2: 483b ldr r0, [pc, #236] ; (80576a0 ) 80575b4: f072 fd82 bl 80ca0bc 80575b8: e05b b.n 8057672 } else if(i == 1) 80575ba: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80575be: 2b01 cmp r3, #1 80575c0: d11a bne.n 80575f8 { OP2_PEAK_WR(0) = peakAVS[i]; 80575c2: 4a39 ldr r2, [pc, #228] ; (80576a8 ) 80575c4: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80575c8: 4941 ldr r1, [pc, #260] ; (80576d0 ) 80575ca: 009b lsls r3, r3, #2 80575cc: 440b add r3, r1 80575ce: 681b ldr r3, [r3, #0] 80575d0: 6013 str r3, [r2, #0] arm_max_f32((float32_t *) &OP2_PEAK_RD(0), AVG[pardata.AVG], &peakAVS[i], &k); 80575d2: 4b3b ldr r3, [pc, #236] ; (80576c0 ) 80575d4: 7b5b ldrb r3, [r3, #13] 80575d6: b2db uxtb r3, r3 80575d8: 461a mov r2, r3 80575da: 4b3a ldr r3, [pc, #232] ; (80576c4 ) 80575dc: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 80575e0: 4619 mov r1, r3 80575e2: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80575e6: 009b lsls r3, r3, #2 80575e8: 4a39 ldr r2, [pc, #228] ; (80576d0 ) 80575ea: 441a add r2, r3 80575ec: f507 73e4 add.w r3, r7, #456 ; 0x1c8 80575f0: 482d ldr r0, [pc, #180] ; (80576a8 ) 80575f2: f072 fd63 bl 80ca0bc 80575f6: e03c b.n 8057672 } else if(i == 2) 80575f8: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80575fc: 2b02 cmp r3, #2 80575fe: d11a bne.n 8057636 { OP3_PEAK_WR(0) = peakAVS[i]; 8057600: 4a2b ldr r2, [pc, #172] ; (80576b0 ) 8057602: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8057606: 4932 ldr r1, [pc, #200] ; (80576d0 ) 8057608: 009b lsls r3, r3, #2 805760a: 440b add r3, r1 805760c: 681b ldr r3, [r3, #0] 805760e: 6013 str r3, [r2, #0] arm_max_f32((float32_t *) &OP3_PEAK_RD(0), AVG[pardata.AVG], &peakAVS[i], &k); 8057610: 4b2b ldr r3, [pc, #172] ; (80576c0 ) 8057612: 7b5b ldrb r3, [r3, #13] 8057614: b2db uxtb r3, r3 8057616: 461a mov r2, r3 8057618: 4b2a ldr r3, [pc, #168] ; (80576c4 ) 805761a: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 805761e: 4619 mov r1, r3 8057620: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8057624: 009b lsls r3, r3, #2 8057626: 4a2a ldr r2, [pc, #168] ; (80576d0 ) 8057628: 441a add r2, r3 805762a: f507 73e4 add.w r3, r7, #456 ; 0x1c8 805762e: 4820 ldr r0, [pc, #128] ; (80576b0 ) 8057630: f072 fd44 bl 80ca0bc 8057634: e01d b.n 8057672 } else if(i == 3) 8057636: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805763a: 2b03 cmp r3, #3 805763c: d119 bne.n 8057672 { OP4_PEAK_WR(0) = peakAVS[i]; 805763e: 4a1e ldr r2, [pc, #120] ; (80576b8 ) 8057640: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8057644: 4922 ldr r1, [pc, #136] ; (80576d0 ) 8057646: 009b lsls r3, r3, #2 8057648: 440b add r3, r1 805764a: 681b ldr r3, [r3, #0] 805764c: 6013 str r3, [r2, #0] arm_max_f32((float32_t *) &OP4_PEAK_RD(0), AVG[pardata.AVG], &peakAVS[i], &k); 805764e: 4b1c ldr r3, [pc, #112] ; (80576c0 ) 8057650: 7b5b ldrb r3, [r3, #13] 8057652: b2db uxtb r3, r3 8057654: 461a mov r2, r3 8057656: 4b1b ldr r3, [pc, #108] ; (80576c4 ) 8057658: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 805765c: 4619 mov r1, r3 805765e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8057662: 009b lsls r3, r3, #2 8057664: 4a1a ldr r2, [pc, #104] ; (80576d0 ) 8057666: 441a add r2, r3 8057668: f507 73e4 add.w r3, r7, #456 ; 0x1c8 805766c: 4812 ldr r0, [pc, #72] ; (80576b8 ) 805766e: f072 fd25 bl 80ca0bc } peakAVS[i] = ABS(peakAVS[i]); 8057672: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8057676: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805767a: 4915 ldr r1, [pc, #84] ; (80576d0 ) 805767c: 0092 lsls r2, r2, #2 805767e: 440a add r2, r1 8057680: edd2 7a00 vldr s15, [r2] 8057684: eef5 7ac0 vcmpe.f32 s15, #0.0 8057688: eef1 fa10 vmrs APSR_nzcv, fpscr 805768c: dd22 ble.n 80576d4 805768e: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8057692: 490f ldr r1, [pc, #60] ; (80576d0 ) 8057694: 0092 lsls r2, r2, #2 8057696: 440a add r2, r1 8057698: edd2 7a00 vldr s15, [r2] 805769c: e023 b.n 80576e6 805769e: bf00 nop 80576a0: 64050000 .word 0x64050000 80576a4: 64050800 .word 0x64050800 80576a8: 64051000 .word 0x64051000 80576ac: 64051800 .word 0x64051800 80576b0: 64052000 .word 0x64052000 80576b4: 64052800 .word 0x64052800 80576b8: 64053000 .word 0x64053000 80576bc: 64053800 .word 0x64053800 80576c0: 20023e60 .word 0x20023e60 80576c4: 080eeb00 .word 0x080eeb00 80576c8: 46000000 .word 0x46000000 80576cc: 20021011 .word 0x20021011 80576d0: 20021cfc .word 0x20021cfc 80576d4: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80576d8: 4996 ldr r1, [pc, #600] ; (8057934 ) 80576da: 0092 lsls r2, r2, #2 80576dc: 440a add r2, r1 80576de: edd2 7a00 vldr s15, [r2] 80576e2: eef1 7a67 vneg.f32 s15, s15 80576e6: 4a93 ldr r2, [pc, #588] ; (8057934 ) 80576e8: 009b lsls r3, r3, #2 80576ea: 4413 add r3, r2 80576ec: edc3 7a00 vstr s15, [r3] operand[i] = peakAVS[i]; 80576f0: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80576f4: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80576f8: 498e ldr r1, [pc, #568] ; (8057934 ) 80576fa: 0092 lsls r2, r2, #2 80576fc: 440a add r2, r1 80576fe: 6812 ldr r2, [r2, #0] 8057700: 498d ldr r1, [pc, #564] ; (8057938 ) 8057702: 009b lsls r3, r3, #2 8057704: 440b add r3, r1 8057706: 601a str r2, [r3, #0] //operand[i] = MedMeas(i, operand[i]); operand[i] /= pardata.IKK; 8057708: 4b8c ldr r3, [pc, #560] ; (805793c ) 805770a: ed93 7a04 vldr s14, [r3, #16] 805770e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8057712: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8057716: 4988 ldr r1, [pc, #544] ; (8057938 ) 8057718: 0092 lsls r2, r2, #2 805771a: 440a add r2, r1 805771c: edd2 6a00 vldr s13, [r2] 8057720: eec6 7a87 vdiv.f32 s15, s13, s14 8057724: 4a84 ldr r2, [pc, #528] ; (8057938 ) 8057726: 009b lsls r3, r3, #2 8057728: 4413 add r3, r2 805772a: edc3 7a00 vstr s15, [r3] peakAVS[i] = 0.0f; 805772e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8057732: 4a80 ldr r2, [pc, #512] ; (8057934 ) 8057734: 009b lsls r3, r3, #2 8057736: 4413 add r3, r2 8057738: f04f 0200 mov.w r2, #0 805773c: 601a str r2, [r3, #0] break; 805773e: f000 bc0a b.w 8057f56 case DIAGN_PEAK_FACTOR: //peak-factor if(i == 0) 8057742: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8057746: 2b00 cmp r3, #0 8057748: d11a bne.n 8057780 { OP1_PEAK_WR(0) = peakAVS[i]; 805774a: 4a7d ldr r2, [pc, #500] ; (8057940 ) 805774c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8057750: 4978 ldr r1, [pc, #480] ; (8057934 ) 8057752: 009b lsls r3, r3, #2 8057754: 440b add r3, r1 8057756: 681b ldr r3, [r3, #0] 8057758: 6013 str r3, [r2, #0] arm_max_f32((float32_t *) &OP1_PEAK_RD(0), AVG[pardata.AVG], &peakAVS[i], &k); 805775a: 4b78 ldr r3, [pc, #480] ; (805793c ) 805775c: 7b5b ldrb r3, [r3, #13] 805775e: b2db uxtb r3, r3 8057760: 461a mov r2, r3 8057762: 4b78 ldr r3, [pc, #480] ; (8057944 ) 8057764: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 8057768: 4619 mov r1, r3 805776a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805776e: 009b lsls r3, r3, #2 8057770: 4a70 ldr r2, [pc, #448] ; (8057934 ) 8057772: 441a add r2, r3 8057774: f507 73e4 add.w r3, r7, #456 ; 0x1c8 8057778: 4871 ldr r0, [pc, #452] ; (8057940 ) 805777a: f072 fc9f bl 80ca0bc 805777e: e05b b.n 8057838 } else if(i == 1) 8057780: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8057784: 2b01 cmp r3, #1 8057786: d11a bne.n 80577be { OP2_PEAK_WR(0) = peakAVS[i]; 8057788: 4a6f ldr r2, [pc, #444] ; (8057948 ) 805778a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805778e: 4969 ldr r1, [pc, #420] ; (8057934 ) 8057790: 009b lsls r3, r3, #2 8057792: 440b add r3, r1 8057794: 681b ldr r3, [r3, #0] 8057796: 6013 str r3, [r2, #0] arm_max_f32((float32_t *) &OP2_PEAK_RD(0), AVG[pardata.AVG], &peakAVS[i], &k); 8057798: 4b68 ldr r3, [pc, #416] ; (805793c ) 805779a: 7b5b ldrb r3, [r3, #13] 805779c: b2db uxtb r3, r3 805779e: 461a mov r2, r3 80577a0: 4b68 ldr r3, [pc, #416] ; (8057944 ) 80577a2: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 80577a6: 4619 mov r1, r3 80577a8: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80577ac: 009b lsls r3, r3, #2 80577ae: 4a61 ldr r2, [pc, #388] ; (8057934 ) 80577b0: 441a add r2, r3 80577b2: f507 73e4 add.w r3, r7, #456 ; 0x1c8 80577b6: 4864 ldr r0, [pc, #400] ; (8057948 ) 80577b8: f072 fc80 bl 80ca0bc 80577bc: e03c b.n 8057838 } else if(i == 2) 80577be: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80577c2: 2b02 cmp r3, #2 80577c4: d11a bne.n 80577fc { OP3_PEAK_WR(0) = peakAVS[i]; 80577c6: 4a61 ldr r2, [pc, #388] ; (805794c ) 80577c8: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80577cc: 4959 ldr r1, [pc, #356] ; (8057934 ) 80577ce: 009b lsls r3, r3, #2 80577d0: 440b add r3, r1 80577d2: 681b ldr r3, [r3, #0] 80577d4: 6013 str r3, [r2, #0] arm_max_f32((float32_t *) &OP3_PEAK_RD(0), AVG[pardata.AVG], &peakAVS[i], &k); 80577d6: 4b59 ldr r3, [pc, #356] ; (805793c ) 80577d8: 7b5b ldrb r3, [r3, #13] 80577da: b2db uxtb r3, r3 80577dc: 461a mov r2, r3 80577de: 4b59 ldr r3, [pc, #356] ; (8057944 ) 80577e0: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 80577e4: 4619 mov r1, r3 80577e6: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80577ea: 009b lsls r3, r3, #2 80577ec: 4a51 ldr r2, [pc, #324] ; (8057934 ) 80577ee: 441a add r2, r3 80577f0: f507 73e4 add.w r3, r7, #456 ; 0x1c8 80577f4: 4855 ldr r0, [pc, #340] ; (805794c ) 80577f6: f072 fc61 bl 80ca0bc 80577fa: e01d b.n 8057838 } else if(i == 3) 80577fc: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8057800: 2b03 cmp r3, #3 8057802: d119 bne.n 8057838 { OP4_PEAK_WR(0) = peakAVS[i]; 8057804: 4a52 ldr r2, [pc, #328] ; (8057950 ) 8057806: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805780a: 494a ldr r1, [pc, #296] ; (8057934 ) 805780c: 009b lsls r3, r3, #2 805780e: 440b add r3, r1 8057810: 681b ldr r3, [r3, #0] 8057812: 6013 str r3, [r2, #0] arm_max_f32((float32_t *) &OP4_PEAK_RD(0), AVG[pardata.AVG], &peakAVS[i], &k); 8057814: 4b49 ldr r3, [pc, #292] ; (805793c ) 8057816: 7b5b ldrb r3, [r3, #13] 8057818: b2db uxtb r3, r3 805781a: 461a mov r2, r3 805781c: 4b49 ldr r3, [pc, #292] ; (8057944 ) 805781e: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 8057822: 4619 mov r1, r3 8057824: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8057828: 009b lsls r3, r3, #2 805782a: 4a42 ldr r2, [pc, #264] ; (8057934 ) 805782c: 441a add r2, r3 805782e: f507 73e4 add.w r3, r7, #456 ; 0x1c8 8057832: 4847 ldr r0, [pc, #284] ; (8057950 ) 8057834: f072 fc42 bl 80ca0bc } peakAVS[i] = ABS(peakAVS[i]); 8057838: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805783c: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8057840: 493c ldr r1, [pc, #240] ; (8057934 ) 8057842: 0092 lsls r2, r2, #2 8057844: 440a add r2, r1 8057846: edd2 7a00 vldr s15, [r2] 805784a: eef5 7ac0 vcmpe.f32 s15, #0.0 805784e: eef1 fa10 vmrs APSR_nzcv, fpscr 8057852: dd07 ble.n 8057864 8057854: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8057858: 4936 ldr r1, [pc, #216] ; (8057934 ) 805785a: 0092 lsls r2, r2, #2 805785c: 440a add r2, r1 805785e: edd2 7a00 vldr s15, [r2] 8057862: e008 b.n 8057876 8057864: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8057868: 4932 ldr r1, [pc, #200] ; (8057934 ) 805786a: 0092 lsls r2, r2, #2 805786c: 440a add r2, r1 805786e: edd2 7a00 vldr s15, [r2] 8057872: eef1 7a67 vneg.f32 s15, s15 8057876: 4a2f ldr r2, [pc, #188] ; (8057934 ) 8057878: 009b lsls r3, r3, #2 805787a: 4413 add r3, r2 805787c: edc3 7a00 vstr s15, [r3] if(i == 0) 8057880: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8057884: 2b00 cmp r3, #0 8057886: d119 bne.n 80578bc { OP1_RMS_WR(0) = rmsAVS[i]; 8057888: 4a32 ldr r2, [pc, #200] ; (8057954 ) 805788a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805788e: 4932 ldr r1, [pc, #200] ; (8057958 ) 8057890: 009b lsls r3, r3, #2 8057892: 440b add r3, r1 8057894: 681b ldr r3, [r3, #0] 8057896: 6013 str r3, [r2, #0] arm_mean_f32((float32_t *) &OP1_RMS_RD(0), AVG[pardata.AVG], &rmsAVS[i]); 8057898: 4b28 ldr r3, [pc, #160] ; (805793c ) 805789a: 7b5b ldrb r3, [r3, #13] 805789c: b2db uxtb r3, r3 805789e: 461a mov r2, r3 80578a0: 4b28 ldr r3, [pc, #160] ; (8057944 ) 80578a2: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 80578a6: 4619 mov r1, r3 80578a8: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80578ac: 009b lsls r3, r3, #2 80578ae: 4a2a ldr r2, [pc, #168] ; (8057958 ) 80578b0: 4413 add r3, r2 80578b2: 461a mov r2, r3 80578b4: 4827 ldr r0, [pc, #156] ; (8057954 ) 80578b6: f072 fbcb bl 80ca050 80578ba: e070 b.n 805799e } else if(i == 1) 80578bc: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80578c0: 2b01 cmp r3, #1 80578c2: d119 bne.n 80578f8 { OP2_RMS_WR(0) = rmsAVS[i]; 80578c4: 4a25 ldr r2, [pc, #148] ; (805795c ) 80578c6: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80578ca: 4923 ldr r1, [pc, #140] ; (8057958 ) 80578cc: 009b lsls r3, r3, #2 80578ce: 440b add r3, r1 80578d0: 681b ldr r3, [r3, #0] 80578d2: 6013 str r3, [r2, #0] arm_mean_f32((float32_t *) &OP2_RMS_RD(0), AVG[pardata.AVG], &rmsAVS[i]); 80578d4: 4b19 ldr r3, [pc, #100] ; (805793c ) 80578d6: 7b5b ldrb r3, [r3, #13] 80578d8: b2db uxtb r3, r3 80578da: 461a mov r2, r3 80578dc: 4b19 ldr r3, [pc, #100] ; (8057944 ) 80578de: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 80578e2: 4619 mov r1, r3 80578e4: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80578e8: 009b lsls r3, r3, #2 80578ea: 4a1b ldr r2, [pc, #108] ; (8057958 ) 80578ec: 4413 add r3, r2 80578ee: 461a mov r2, r3 80578f0: 481a ldr r0, [pc, #104] ; (805795c ) 80578f2: f072 fbad bl 80ca050 80578f6: e052 b.n 805799e } else if(i == 2) 80578f8: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80578fc: 2b02 cmp r3, #2 80578fe: d131 bne.n 8057964 { OP3_RMS_WR(0) = rmsAVS[i]; 8057900: 4a17 ldr r2, [pc, #92] ; (8057960 ) 8057902: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8057906: 4914 ldr r1, [pc, #80] ; (8057958 ) 8057908: 009b lsls r3, r3, #2 805790a: 440b add r3, r1 805790c: 681b ldr r3, [r3, #0] 805790e: 6013 str r3, [r2, #0] arm_mean_f32((float32_t *) &OP3_RMS_RD(0), AVG[pardata.AVG], &rmsAVS[i]); 8057910: 4b0a ldr r3, [pc, #40] ; (805793c ) 8057912: 7b5b ldrb r3, [r3, #13] 8057914: b2db uxtb r3, r3 8057916: 461a mov r2, r3 8057918: 4b0a ldr r3, [pc, #40] ; (8057944 ) 805791a: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 805791e: 4619 mov r1, r3 8057920: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8057924: 009b lsls r3, r3, #2 8057926: 4a0c ldr r2, [pc, #48] ; (8057958 ) 8057928: 4413 add r3, r2 805792a: 461a mov r2, r3 805792c: 480c ldr r0, [pc, #48] ; (8057960 ) 805792e: f072 fb8f bl 80ca050 8057932: e034 b.n 805799e 8057934: 20021cfc .word 0x20021cfc 8057938: 200268d8 .word 0x200268d8 805793c: 20023e60 .word 0x20023e60 8057940: 64050000 .word 0x64050000 8057944: 080eeb00 .word 0x080eeb00 8057948: 64051000 .word 0x64051000 805794c: 64052000 .word 0x64052000 8057950: 64053000 .word 0x64053000 8057954: 64050800 .word 0x64050800 8057958: 20021ce8 .word 0x20021ce8 805795c: 64051800 .word 0x64051800 8057960: 64052800 .word 0x64052800 } else if(i == 3) 8057964: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8057968: 2b03 cmp r3, #3 805796a: d118 bne.n 805799e { OP4_RMS_WR(0) = rmsAVS[i]; 805796c: 4ac2 ldr r2, [pc, #776] ; (8057c78 ) 805796e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8057972: 49c2 ldr r1, [pc, #776] ; (8057c7c ) 8057974: 009b lsls r3, r3, #2 8057976: 440b add r3, r1 8057978: 681b ldr r3, [r3, #0] 805797a: 6013 str r3, [r2, #0] arm_mean_f32((float32_t *) &OP4_RMS_RD(0), AVG[pardata.AVG], &rmsAVS[i]); 805797c: 4bc0 ldr r3, [pc, #768] ; (8057c80 ) 805797e: 7b5b ldrb r3, [r3, #13] 8057980: b2db uxtb r3, r3 8057982: 461a mov r2, r3 8057984: 4bbf ldr r3, [pc, #764] ; (8057c84 ) 8057986: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 805798a: 4619 mov r1, r3 805798c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8057990: 009b lsls r3, r3, #2 8057992: 4aba ldr r2, [pc, #744] ; (8057c7c ) 8057994: 4413 add r3, r2 8057996: 461a mov r2, r3 8057998: 48b7 ldr r0, [pc, #732] ; (8057c78 ) 805799a: f072 fb59 bl 80ca050 } rmsAVS[i] *= AVG[pardata.AVG]; 805799e: 4bb8 ldr r3, [pc, #736] ; (8057c80 ) 80579a0: 7b5b ldrb r3, [r3, #13] 80579a2: b2db uxtb r3, r3 80579a4: 461a mov r2, r3 80579a6: 4bb7 ldr r3, [pc, #732] ; (8057c84 ) 80579a8: f833 0012 ldrh.w r0, [r3, r2, lsl #1] 80579ac: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80579b0: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80579b4: 49b1 ldr r1, [pc, #708] ; (8057c7c ) 80579b6: 0092 lsls r2, r2, #2 80579b8: 440a add r2, r1 80579ba: ed92 7a00 vldr s14, [r2] 80579be: ee07 0a90 vmov s15, r0 80579c2: eef8 7ae7 vcvt.f32.s32 s15, s15 80579c6: ee67 7a27 vmul.f32 s15, s14, s15 80579ca: 4aac ldr r2, [pc, #688] ; (8057c7c ) 80579cc: 009b lsls r3, r3, #2 80579ce: 4413 add r3, r2 80579d0: edc3 7a00 vstr s15, [r3] rmsAVS[i] /= fl; 80579d4: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80579d8: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80579dc: 49a7 ldr r1, [pc, #668] ; (8057c7c ) 80579de: 0092 lsls r2, r2, #2 80579e0: 440a add r2, r1 80579e2: edd2 6a00 vldr s13, [r2] 80579e6: ed97 7a6f vldr s14, [r7, #444] ; 0x1bc 80579ea: eec6 7a87 vdiv.f32 s15, s13, s14 80579ee: 4aa3 ldr r2, [pc, #652] ; (8057c7c ) 80579f0: 009b lsls r3, r3, #2 80579f2: 4413 add r3, r2 80579f4: edc3 7a00 vstr s15, [r3] arm_sqrt_f32(rmsAVS[i], &rmsAVS[i]); 80579f8: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80579fc: 4a9f ldr r2, [pc, #636] ; (8057c7c ) 80579fe: 009b lsls r3, r3, #2 8057a00: 4413 add r3, r2 8057a02: edd3 7a00 vldr s15, [r3] 8057a06: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8057a0a: 009b lsls r3, r3, #2 8057a0c: 4a9b ldr r2, [pc, #620] ; (8057c7c ) 8057a0e: 4413 add r3, r2 8057a10: 4618 mov r0, r3 8057a12: eeb0 0a67 vmov.f32 s0, s15 8057a16: f7fd ffcb bl 80559b0 operand[i] = peakAVS[i] / rmsAVS[i]; 8057a1a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8057a1e: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8057a22: 4999 ldr r1, [pc, #612] ; (8057c88 ) 8057a24: 0092 lsls r2, r2, #2 8057a26: 440a add r2, r1 8057a28: edd2 6a00 vldr s13, [r2] 8057a2c: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8057a30: 4992 ldr r1, [pc, #584] ; (8057c7c ) 8057a32: 0092 lsls r2, r2, #2 8057a34: 440a add r2, r1 8057a36: ed92 7a00 vldr s14, [r2] 8057a3a: eec6 7a87 vdiv.f32 s15, s13, s14 8057a3e: 4a93 ldr r2, [pc, #588] ; (8057c8c ) 8057a40: 009b lsls r3, r3, #2 8057a42: 4413 add r3, r2 8057a44: edc3 7a00 vstr s15, [r3] //operand[i] = MedMeas(i, operand[i]); //skzDB[i] = 0.0f; peakAVS[i] = 0.0f; 8057a48: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8057a4c: 4a8e ldr r2, [pc, #568] ; (8057c88 ) 8057a4e: 009b lsls r3, r3, #2 8057a50: 4413 add r3, r2 8057a52: f04f 0200 mov.w r2, #0 8057a56: 601a str r2, [r3, #0] break; 8057a58: e27d b.n 8057f56 case DIAGN_RMS: //rms if(i == 0) 8057a5a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8057a5e: 2b00 cmp r3, #0 8057a60: d119 bne.n 8057a96 { OP1_RMS_WR(0) = rmsAVS[i]; 8057a62: 4a8b ldr r2, [pc, #556] ; (8057c90 ) 8057a64: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8057a68: 4984 ldr r1, [pc, #528] ; (8057c7c ) 8057a6a: 009b lsls r3, r3, #2 8057a6c: 440b add r3, r1 8057a6e: 681b ldr r3, [r3, #0] 8057a70: 6013 str r3, [r2, #0] arm_mean_f32((float32_t *) &OP1_RMS_RD(0), AVG[pardata.AVG], &rmsAVS[i]); 8057a72: 4b83 ldr r3, [pc, #524] ; (8057c80 ) 8057a74: 7b5b ldrb r3, [r3, #13] 8057a76: b2db uxtb r3, r3 8057a78: 461a mov r2, r3 8057a7a: 4b82 ldr r3, [pc, #520] ; (8057c84 ) 8057a7c: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 8057a80: 4619 mov r1, r3 8057a82: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8057a86: 009b lsls r3, r3, #2 8057a88: 4a7c ldr r2, [pc, #496] ; (8057c7c ) 8057a8a: 4413 add r3, r2 8057a8c: 461a mov r2, r3 8057a8e: 4880 ldr r0, [pc, #512] ; (8057c90 ) 8057a90: f072 fade bl 80ca050 8057a94: e058 b.n 8057b48 } else if(i == 1) 8057a96: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8057a9a: 2b01 cmp r3, #1 8057a9c: d119 bne.n 8057ad2 { OP2_RMS_WR(0) = rmsAVS[i]; 8057a9e: 4a7d ldr r2, [pc, #500] ; (8057c94 ) 8057aa0: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8057aa4: 4975 ldr r1, [pc, #468] ; (8057c7c ) 8057aa6: 009b lsls r3, r3, #2 8057aa8: 440b add r3, r1 8057aaa: 681b ldr r3, [r3, #0] 8057aac: 6013 str r3, [r2, #0] arm_mean_f32((float32_t *) &OP2_RMS_RD(0), AVG[pardata.AVG], &rmsAVS[i]); 8057aae: 4b74 ldr r3, [pc, #464] ; (8057c80 ) 8057ab0: 7b5b ldrb r3, [r3, #13] 8057ab2: b2db uxtb r3, r3 8057ab4: 461a mov r2, r3 8057ab6: 4b73 ldr r3, [pc, #460] ; (8057c84 ) 8057ab8: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 8057abc: 4619 mov r1, r3 8057abe: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8057ac2: 009b lsls r3, r3, #2 8057ac4: 4a6d ldr r2, [pc, #436] ; (8057c7c ) 8057ac6: 4413 add r3, r2 8057ac8: 461a mov r2, r3 8057aca: 4872 ldr r0, [pc, #456] ; (8057c94 ) 8057acc: f072 fac0 bl 80ca050 8057ad0: e03a b.n 8057b48 } else if(i == 2) 8057ad2: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8057ad6: 2b02 cmp r3, #2 8057ad8: d119 bne.n 8057b0e { OP3_RMS_WR(0) = rmsAVS[i]; 8057ada: 4a6f ldr r2, [pc, #444] ; (8057c98 ) 8057adc: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8057ae0: 4966 ldr r1, [pc, #408] ; (8057c7c ) 8057ae2: 009b lsls r3, r3, #2 8057ae4: 440b add r3, r1 8057ae6: 681b ldr r3, [r3, #0] 8057ae8: 6013 str r3, [r2, #0] arm_mean_f32((float32_t *) &OP3_RMS_RD(0), AVG[pardata.AVG], &rmsAVS[i]); 8057aea: 4b65 ldr r3, [pc, #404] ; (8057c80 ) 8057aec: 7b5b ldrb r3, [r3, #13] 8057aee: b2db uxtb r3, r3 8057af0: 461a mov r2, r3 8057af2: 4b64 ldr r3, [pc, #400] ; (8057c84 ) 8057af4: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 8057af8: 4619 mov r1, r3 8057afa: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8057afe: 009b lsls r3, r3, #2 8057b00: 4a5e ldr r2, [pc, #376] ; (8057c7c ) 8057b02: 4413 add r3, r2 8057b04: 461a mov r2, r3 8057b06: 4864 ldr r0, [pc, #400] ; (8057c98 ) 8057b08: f072 faa2 bl 80ca050 8057b0c: e01c b.n 8057b48 } else if(i == 3) 8057b0e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8057b12: 2b03 cmp r3, #3 8057b14: d118 bne.n 8057b48 { OP4_RMS_WR(0) = rmsAVS[i]; 8057b16: 4a58 ldr r2, [pc, #352] ; (8057c78 ) 8057b18: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8057b1c: 4957 ldr r1, [pc, #348] ; (8057c7c ) 8057b1e: 009b lsls r3, r3, #2 8057b20: 440b add r3, r1 8057b22: 681b ldr r3, [r3, #0] 8057b24: 6013 str r3, [r2, #0] arm_mean_f32((float32_t *) &OP4_RMS_RD(0), AVG[pardata.AVG], &rmsAVS[i]); 8057b26: 4b56 ldr r3, [pc, #344] ; (8057c80 ) 8057b28: 7b5b ldrb r3, [r3, #13] 8057b2a: b2db uxtb r3, r3 8057b2c: 461a mov r2, r3 8057b2e: 4b55 ldr r3, [pc, #340] ; (8057c84 ) 8057b30: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 8057b34: 4619 mov r1, r3 8057b36: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8057b3a: 009b lsls r3, r3, #2 8057b3c: 4a4f ldr r2, [pc, #316] ; (8057c7c ) 8057b3e: 4413 add r3, r2 8057b40: 461a mov r2, r3 8057b42: 484d ldr r0, [pc, #308] ; (8057c78 ) 8057b44: f072 fa84 bl 80ca050 } rmsAVS[i] *= (float32_t) AVG[pardata.AVG]; 8057b48: 4b4d ldr r3, [pc, #308] ; (8057c80 ) 8057b4a: 7b5b ldrb r3, [r3, #13] 8057b4c: b2db uxtb r3, r3 8057b4e: 461a mov r2, r3 8057b50: 4b4c ldr r3, [pc, #304] ; (8057c84 ) 8057b52: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 8057b56: ee07 3a90 vmov s15, r3 8057b5a: eef8 7a67 vcvt.f32.u32 s15, s15 8057b5e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8057b62: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8057b66: 4945 ldr r1, [pc, #276] ; (8057c7c ) 8057b68: 0092 lsls r2, r2, #2 8057b6a: 440a add r2, r1 8057b6c: ed92 7a00 vldr s14, [r2] 8057b70: ee67 7a27 vmul.f32 s15, s14, s15 8057b74: 4a41 ldr r2, [pc, #260] ; (8057c7c ) 8057b76: 009b lsls r3, r3, #2 8057b78: 4413 add r3, r2 8057b7a: edc3 7a00 vstr s15, [r3] rmsAVS[i] /= fl; 8057b7e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8057b82: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8057b86: 493d ldr r1, [pc, #244] ; (8057c7c ) 8057b88: 0092 lsls r2, r2, #2 8057b8a: 440a add r2, r1 8057b8c: edd2 6a00 vldr s13, [r2] 8057b90: ed97 7a6f vldr s14, [r7, #444] ; 0x1bc 8057b94: eec6 7a87 vdiv.f32 s15, s13, s14 8057b98: 4a38 ldr r2, [pc, #224] ; (8057c7c ) 8057b9a: 009b lsls r3, r3, #2 8057b9c: 4413 add r3, r2 8057b9e: edc3 7a00 vstr s15, [r3] arm_sqrt_f32(rmsAVS[i], &operand[i]); 8057ba2: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8057ba6: 4a35 ldr r2, [pc, #212] ; (8057c7c ) 8057ba8: 009b lsls r3, r3, #2 8057baa: 4413 add r3, r2 8057bac: edd3 7a00 vldr s15, [r3] 8057bb0: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8057bb4: 009b lsls r3, r3, #2 8057bb6: 4a35 ldr r2, [pc, #212] ; (8057c8c ) 8057bb8: 4413 add r3, r2 8057bba: 4618 mov r0, r3 8057bbc: eeb0 0a67 vmov.f32 s0, s15 8057bc0: f7fd fef6 bl 80559b0 //operand[i] = MedMeas(i, operand[i]); operand[i] /= pardata.IKK; 8057bc4: 4b2e ldr r3, [pc, #184] ; (8057c80 ) 8057bc6: ed93 7a04 vldr s14, [r3, #16] 8057bca: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8057bce: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8057bd2: 492e ldr r1, [pc, #184] ; (8057c8c ) 8057bd4: 0092 lsls r2, r2, #2 8057bd6: 440a add r2, r1 8057bd8: edd2 6a00 vldr s13, [r2] 8057bdc: eec6 7a87 vdiv.f32 s15, s13, s14 8057be0: 4a2a ldr r2, [pc, #168] ; (8057c8c ) 8057be2: 009b lsls r3, r3, #2 8057be4: 4413 add r3, r2 8057be6: edc3 7a00 vstr s15, [r3] //LinToLog(&skz[i], &skzDB[i]); break; 8057bea: e1b4 b.n 8057f56 case DIAGN_EXCESS: //excess if(i == 0) 8057bec: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8057bf0: 2b00 cmp r3, #0 8057bf2: d170 bne.n 8057cd6 { OP1_PEAK_WR(0) = peakAVS[i]; 8057bf4: 4a29 ldr r2, [pc, #164] ; (8057c9c ) 8057bf6: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8057bfa: 4923 ldr r1, [pc, #140] ; (8057c88 ) 8057bfc: 009b lsls r3, r3, #2 8057bfe: 440b add r3, r1 8057c00: 681b ldr r3, [r3, #0] 8057c02: 6013 str r3, [r2, #0] arm_min_f32((float32_t *) &OP1_PEAK_RD(0), AVG[pardata.AVG], &fn[0], &k); 8057c04: 4b1e ldr r3, [pc, #120] ; (8057c80 ) 8057c06: 7b5b ldrb r3, [r3, #13] 8057c08: b2db uxtb r3, r3 8057c0a: 461a mov r2, r3 8057c0c: 4b1d ldr r3, [pc, #116] ; (8057c84 ) 8057c0e: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 8057c12: 4619 mov r1, r3 8057c14: f507 73e4 add.w r3, r7, #456 ; 0x1c8 8057c18: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8057c1c: 481f ldr r0, [pc, #124] ; (8057c9c ) 8057c1e: f072 f9b1 bl 80c9f84 arm_max_f32((float32_t *) &OP1_PEAK_RD(0), AVG[pardata.AVG], &fn[1], &k); 8057c22: 4b17 ldr r3, [pc, #92] ; (8057c80 ) 8057c24: 7b5b ldrb r3, [r3, #13] 8057c26: b2db uxtb r3, r3 8057c28: 461a mov r2, r3 8057c2a: 4b16 ldr r3, [pc, #88] ; (8057c84 ) 8057c2c: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 8057c30: 4618 mov r0, r3 8057c32: f507 71e4 add.w r1, r7, #456 ; 0x1c8 8057c36: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8057c3a: 1d1a adds r2, r3, #4 8057c3c: 460b mov r3, r1 8057c3e: 4601 mov r1, r0 8057c40: 4816 ldr r0, [pc, #88] ; (8057c9c ) 8057c42: f072 fa3b bl 80ca0bc if(ABS(fn[0]) > ABS(fn[1])) peakAVS[i] = fn[0]; 8057c46: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8057c4a: eef5 7ac0 vcmpe.f32 s15, #0.0 8057c4e: eef1 fa10 vmrs APSR_nzcv, fpscr 8057c52: dd02 ble.n 8057c5a 8057c54: ed97 7a6c vldr s14, [r7, #432] ; 0x1b0 8057c58: e003 b.n 8057c62 8057c5a: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8057c5e: eeb1 7a67 vneg.f32 s14, s15 8057c62: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8057c66: eef5 7ac0 vcmpe.f32 s15, #0.0 8057c6a: eef1 fa10 vmrs APSR_nzcv, fpscr 8057c6e: dd17 ble.n 8057ca0 8057c70: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8057c74: e018 b.n 8057ca8 8057c76: bf00 nop 8057c78: 64053800 .word 0x64053800 8057c7c: 20021ce8 .word 0x20021ce8 8057c80: 20023e60 .word 0x20023e60 8057c84: 080eeb00 .word 0x080eeb00 8057c88: 20021cfc .word 0x20021cfc 8057c8c: 200268d8 .word 0x200268d8 8057c90: 64050800 .word 0x64050800 8057c94: 64051800 .word 0x64051800 8057c98: 64052800 .word 0x64052800 8057c9c: 64050000 .word 0x64050000 8057ca0: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8057ca4: eef1 7a67 vneg.f32 s15, s15 8057ca8: eeb4 7ae7 vcmpe.f32 s14, s15 8057cac: eef1 fa10 vmrs APSR_nzcv, fpscr 8057cb0: dd08 ble.n 8057cc4 8057cb2: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8057cb6: f8d7 21b0 ldr.w r2, [r7, #432] ; 0x1b0 8057cba: 4992 ldr r1, [pc, #584] ; (8057f04 ) 8057cbc: 009b lsls r3, r3, #2 8057cbe: 440b add r3, r1 8057cc0: 601a str r2, [r3, #0] 8057cc2: e133 b.n 8057f2c else peakAVS[i] = fn[1]; 8057cc4: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8057cc8: f8d7 21b4 ldr.w r2, [r7, #436] ; 0x1b4 8057ccc: 498d ldr r1, [pc, #564] ; (8057f04 ) 8057cce: 009b lsls r3, r3, #2 8057cd0: 440b add r3, r1 8057cd2: 601a str r2, [r3, #0] 8057cd4: e12a b.n 8057f2c } else if(i == 1) 8057cd6: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8057cda: 2b01 cmp r3, #1 8057cdc: d15b bne.n 8057d96 { OP2_PEAK_WR(0) = peakAVS[i]; 8057cde: 4a8a ldr r2, [pc, #552] ; (8057f08 ) 8057ce0: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8057ce4: 4987 ldr r1, [pc, #540] ; (8057f04 ) 8057ce6: 009b lsls r3, r3, #2 8057ce8: 440b add r3, r1 8057cea: 681b ldr r3, [r3, #0] 8057cec: 6013 str r3, [r2, #0] arm_min_f32((float32_t *) &OP2_PEAK_RD(0), AVG[pardata.AVG], &fn[0], &k); 8057cee: 4b87 ldr r3, [pc, #540] ; (8057f0c ) 8057cf0: 7b5b ldrb r3, [r3, #13] 8057cf2: b2db uxtb r3, r3 8057cf4: 461a mov r2, r3 8057cf6: 4b86 ldr r3, [pc, #536] ; (8057f10 ) 8057cf8: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 8057cfc: 4619 mov r1, r3 8057cfe: f507 73e4 add.w r3, r7, #456 ; 0x1c8 8057d02: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8057d06: 4880 ldr r0, [pc, #512] ; (8057f08 ) 8057d08: f072 f93c bl 80c9f84 arm_max_f32((float32_t *) &OP2_PEAK_RD(0), AVG[pardata.AVG], &fn[1], &k); 8057d0c: 4b7f ldr r3, [pc, #508] ; (8057f0c ) 8057d0e: 7b5b ldrb r3, [r3, #13] 8057d10: b2db uxtb r3, r3 8057d12: 461a mov r2, r3 8057d14: 4b7e ldr r3, [pc, #504] ; (8057f10 ) 8057d16: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 8057d1a: 4618 mov r0, r3 8057d1c: f507 71e4 add.w r1, r7, #456 ; 0x1c8 8057d20: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8057d24: 1d1a adds r2, r3, #4 8057d26: 460b mov r3, r1 8057d28: 4601 mov r1, r0 8057d2a: 4877 ldr r0, [pc, #476] ; (8057f08 ) 8057d2c: f072 f9c6 bl 80ca0bc if(ABS(fn[0]) > ABS(fn[1])) peakAVS[i] = fn[0]; 8057d30: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8057d34: eef5 7ac0 vcmpe.f32 s15, #0.0 8057d38: eef1 fa10 vmrs APSR_nzcv, fpscr 8057d3c: dd02 ble.n 8057d44 8057d3e: ed97 7a6c vldr s14, [r7, #432] ; 0x1b0 8057d42: e003 b.n 8057d4c 8057d44: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8057d48: eeb1 7a67 vneg.f32 s14, s15 8057d4c: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8057d50: eef5 7ac0 vcmpe.f32 s15, #0.0 8057d54: eef1 fa10 vmrs APSR_nzcv, fpscr 8057d58: dd02 ble.n 8057d60 8057d5a: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8057d5e: e003 b.n 8057d68 8057d60: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8057d64: eef1 7a67 vneg.f32 s15, s15 8057d68: eeb4 7ae7 vcmpe.f32 s14, s15 8057d6c: eef1 fa10 vmrs APSR_nzcv, fpscr 8057d70: dd08 ble.n 8057d84 8057d72: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8057d76: f8d7 21b0 ldr.w r2, [r7, #432] ; 0x1b0 8057d7a: 4962 ldr r1, [pc, #392] ; (8057f04 ) 8057d7c: 009b lsls r3, r3, #2 8057d7e: 440b add r3, r1 8057d80: 601a str r2, [r3, #0] 8057d82: e0d3 b.n 8057f2c else peakAVS[i] = fn[1]; 8057d84: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8057d88: f8d7 21b4 ldr.w r2, [r7, #436] ; 0x1b4 8057d8c: 495d ldr r1, [pc, #372] ; (8057f04 ) 8057d8e: 009b lsls r3, r3, #2 8057d90: 440b add r3, r1 8057d92: 601a str r2, [r3, #0] 8057d94: e0ca b.n 8057f2c } else if(i == 2) 8057d96: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8057d9a: 2b02 cmp r3, #2 8057d9c: d15b bne.n 8057e56 { OP3_PEAK_WR(0) = peakAVS[i]; 8057d9e: 4a5d ldr r2, [pc, #372] ; (8057f14 ) 8057da0: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8057da4: 4957 ldr r1, [pc, #348] ; (8057f04 ) 8057da6: 009b lsls r3, r3, #2 8057da8: 440b add r3, r1 8057daa: 681b ldr r3, [r3, #0] 8057dac: 6013 str r3, [r2, #0] arm_min_f32((float32_t *) &OP3_PEAK_RD(0), AVG[pardata.AVG], &fn[0], &k); 8057dae: 4b57 ldr r3, [pc, #348] ; (8057f0c ) 8057db0: 7b5b ldrb r3, [r3, #13] 8057db2: b2db uxtb r3, r3 8057db4: 461a mov r2, r3 8057db6: 4b56 ldr r3, [pc, #344] ; (8057f10 ) 8057db8: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 8057dbc: 4619 mov r1, r3 8057dbe: f507 73e4 add.w r3, r7, #456 ; 0x1c8 8057dc2: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8057dc6: 4853 ldr r0, [pc, #332] ; (8057f14 ) 8057dc8: f072 f8dc bl 80c9f84 arm_max_f32((float32_t *) &OP3_PEAK_RD(0), AVG[pardata.AVG], &fn[1], &k); 8057dcc: 4b4f ldr r3, [pc, #316] ; (8057f0c ) 8057dce: 7b5b ldrb r3, [r3, #13] 8057dd0: b2db uxtb r3, r3 8057dd2: 461a mov r2, r3 8057dd4: 4b4e ldr r3, [pc, #312] ; (8057f10 ) 8057dd6: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 8057dda: 4618 mov r0, r3 8057ddc: f507 71e4 add.w r1, r7, #456 ; 0x1c8 8057de0: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8057de4: 1d1a adds r2, r3, #4 8057de6: 460b mov r3, r1 8057de8: 4601 mov r1, r0 8057dea: 484a ldr r0, [pc, #296] ; (8057f14 ) 8057dec: f072 f966 bl 80ca0bc if(ABS(fn[0]) > ABS(fn[1])) peakAVS[i] = fn[0]; 8057df0: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8057df4: eef5 7ac0 vcmpe.f32 s15, #0.0 8057df8: eef1 fa10 vmrs APSR_nzcv, fpscr 8057dfc: dd02 ble.n 8057e04 8057dfe: ed97 7a6c vldr s14, [r7, #432] ; 0x1b0 8057e02: e003 b.n 8057e0c 8057e04: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8057e08: eeb1 7a67 vneg.f32 s14, s15 8057e0c: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8057e10: eef5 7ac0 vcmpe.f32 s15, #0.0 8057e14: eef1 fa10 vmrs APSR_nzcv, fpscr 8057e18: dd02 ble.n 8057e20 8057e1a: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8057e1e: e003 b.n 8057e28 8057e20: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8057e24: eef1 7a67 vneg.f32 s15, s15 8057e28: eeb4 7ae7 vcmpe.f32 s14, s15 8057e2c: eef1 fa10 vmrs APSR_nzcv, fpscr 8057e30: dd08 ble.n 8057e44 8057e32: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8057e36: f8d7 21b0 ldr.w r2, [r7, #432] ; 0x1b0 8057e3a: 4932 ldr r1, [pc, #200] ; (8057f04 ) 8057e3c: 009b lsls r3, r3, #2 8057e3e: 440b add r3, r1 8057e40: 601a str r2, [r3, #0] 8057e42: e073 b.n 8057f2c else peakAVS[i] = fn[1]; 8057e44: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8057e48: f8d7 21b4 ldr.w r2, [r7, #436] ; 0x1b4 8057e4c: 492d ldr r1, [pc, #180] ; (8057f04 ) 8057e4e: 009b lsls r3, r3, #2 8057e50: 440b add r3, r1 8057e52: 601a str r2, [r3, #0] 8057e54: e06a b.n 8057f2c } else if(i == 3) 8057e56: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8057e5a: 2b03 cmp r3, #3 8057e5c: d166 bne.n 8057f2c { OP4_PEAK_WR(0) = peakAVS[i]; 8057e5e: 4a2e ldr r2, [pc, #184] ; (8057f18 ) 8057e60: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8057e64: 4927 ldr r1, [pc, #156] ; (8057f04 ) 8057e66: 009b lsls r3, r3, #2 8057e68: 440b add r3, r1 8057e6a: 681b ldr r3, [r3, #0] 8057e6c: 6013 str r3, [r2, #0] arm_min_f32((float32_t *) &OP4_PEAK_RD(0), AVG[pardata.AVG], &fn[0], &k); 8057e6e: 4b27 ldr r3, [pc, #156] ; (8057f0c ) 8057e70: 7b5b ldrb r3, [r3, #13] 8057e72: b2db uxtb r3, r3 8057e74: 461a mov r2, r3 8057e76: 4b26 ldr r3, [pc, #152] ; (8057f10 ) 8057e78: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 8057e7c: 4619 mov r1, r3 8057e7e: f507 73e4 add.w r3, r7, #456 ; 0x1c8 8057e82: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8057e86: 4824 ldr r0, [pc, #144] ; (8057f18 ) 8057e88: f072 f87c bl 80c9f84 arm_max_f32((float32_t *) &OP4_PEAK_RD(0), AVG[pardata.AVG], &fn[1], &k); 8057e8c: 4b1f ldr r3, [pc, #124] ; (8057f0c ) 8057e8e: 7b5b ldrb r3, [r3, #13] 8057e90: b2db uxtb r3, r3 8057e92: 461a mov r2, r3 8057e94: 4b1e ldr r3, [pc, #120] ; (8057f10 ) 8057e96: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 8057e9a: 4618 mov r0, r3 8057e9c: f507 71e4 add.w r1, r7, #456 ; 0x1c8 8057ea0: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8057ea4: 1d1a adds r2, r3, #4 8057ea6: 460b mov r3, r1 8057ea8: 4601 mov r1, r0 8057eaa: 481b ldr r0, [pc, #108] ; (8057f18 ) 8057eac: f072 f906 bl 80ca0bc if(ABS(fn[0]) > ABS(fn[1])) peakAVS[i] = fn[0]; 8057eb0: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8057eb4: eef5 7ac0 vcmpe.f32 s15, #0.0 8057eb8: eef1 fa10 vmrs APSR_nzcv, fpscr 8057ebc: dd02 ble.n 8057ec4 8057ebe: ed97 7a6c vldr s14, [r7, #432] ; 0x1b0 8057ec2: e003 b.n 8057ecc 8057ec4: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8057ec8: eeb1 7a67 vneg.f32 s14, s15 8057ecc: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8057ed0: eef5 7ac0 vcmpe.f32 s15, #0.0 8057ed4: eef1 fa10 vmrs APSR_nzcv, fpscr 8057ed8: dd02 ble.n 8057ee0 8057eda: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8057ede: e003 b.n 8057ee8 8057ee0: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8057ee4: eef1 7a67 vneg.f32 s15, s15 8057ee8: eeb4 7ae7 vcmpe.f32 s14, s15 8057eec: eef1 fa10 vmrs APSR_nzcv, fpscr 8057ef0: dd14 ble.n 8057f1c 8057ef2: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8057ef6: f8d7 21b0 ldr.w r2, [r7, #432] ; 0x1b0 8057efa: 4902 ldr r1, [pc, #8] ; (8057f04 ) 8057efc: 009b lsls r3, r3, #2 8057efe: 440b add r3, r1 8057f00: 601a str r2, [r3, #0] 8057f02: e013 b.n 8057f2c 8057f04: 20021cfc .word 0x20021cfc 8057f08: 64051000 .word 0x64051000 8057f0c: 20023e60 .word 0x20023e60 8057f10: 080eeb00 .word 0x080eeb00 8057f14: 64052000 .word 0x64052000 8057f18: 64053000 .word 0x64053000 else peakAVS[i] = fn[1]; 8057f1c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8057f20: f8d7 21b4 ldr.w r2, [r7, #436] ; 0x1b4 8057f24: 49bc ldr r1, [pc, #752] ; (8058218 ) 8057f26: 009b lsls r3, r3, #2 8057f28: 440b add r3, r1 8057f2a: 601a str r2, [r3, #0] } operand[i] = peakAVS[i]; 8057f2c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8057f30: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8057f34: 49b8 ldr r1, [pc, #736] ; (8058218 ) 8057f36: 0092 lsls r2, r2, #2 8057f38: 440a add r2, r1 8057f3a: 6812 ldr r2, [r2, #0] 8057f3c: 49b7 ldr r1, [pc, #732] ; (805821c ) 8057f3e: 009b lsls r3, r3, #2 8057f40: 440b add r3, r1 8057f42: 601a str r2, [r3, #0] peakAVS[i] = 0.0f; 8057f44: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8057f48: 4ab3 ldr r2, [pc, #716] ; (8058218 ) 8057f4a: 009b lsls r3, r3, #2 8057f4c: 4413 add r3, r2 8057f4e: f04f 0200 mov.w r2, #0 8057f52: 601a str r2, [r3, #0] break; 8057f54: bf00 nop for(i = 0; i < NUM_OPERANDS; i++) 8057f56: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8057f5a: 3301 adds r3, #1 8057f5c: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8057f60: 4baf ldr r3, [pc, #700] ; (8058220 ) 8057f62: 781b ldrb r3, [r3, #0] 8057f64: b2db uxtb r3, r3 8057f66: 461a mov r2, r3 8057f68: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8057f6c: 429a cmp r2, r3 8057f6e: f63f aacc bhi.w 805750a } } if(MeanCnt >= (uint32_t) (AVG[pardata.AVG] * 8u)) 8057f72: 4bac ldr r3, [pc, #688] ; (8058224 ) 8057f74: 7b5b ldrb r3, [r3, #13] 8057f76: b2db uxtb r3, r3 8057f78: 461a mov r2, r3 8057f7a: 4bab ldr r3, [pc, #684] ; (8058228 ) 8057f7c: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 8057f80: 00da lsls r2, r3, #3 8057f82: 4baa ldr r3, [pc, #680] ; (805822c ) 8057f84: 681b ldr r3, [r3, #0] 8057f86: 429a cmp r2, r3 8057f88: d816 bhi.n 8057fb8 { MeanCnt = 0; 8057f8a: 4ba8 ldr r3, [pc, #672] ; (805822c ) 8057f8c: 2200 movs r2, #0 8057f8e: 601a str r2, [r3, #0] arm_fill_f32(0.0f, rmsAVS, 4); 8057f90: 2104 movs r1, #4 8057f92: 48a7 ldr r0, [pc, #668] ; (8058230 ) 8057f94: ed9f 0aa7 vldr s0, [pc, #668] ; 8058234 8057f98: f071 feb4 bl 80c9d04 arm_fill_f32(0.0f, peakAVS, 4); 8057f9c: 2104 movs r1, #4 8057f9e: 489e ldr r0, [pc, #632] ; (8058218 ) 8057fa0: ed9f 0aa4 vldr s0, [pc, #656] ; 8058234 8057fa4: f071 feae bl 80c9d04 arm_fill_f32(0.0f, fval, 4); 8057fa8: f107 03fc add.w r3, r7, #252 ; 0xfc 8057fac: 2104 movs r1, #4 8057fae: 4618 mov r0, r3 8057fb0: ed9f 0aa0 vldr s0, [pc, #640] ; 8058234 8057fb4: f071 fea6 bl 80c9d04 } ///////////////////////////////////////////////////////////////////////////////////// //** (op1 |& op2) |& (op3 |& op4) TODO DIAGN CALC memset(t, 0, sizeof(t)); 8057fb8: f507 73ee add.w r3, r7, #476 ; 0x1dc 8057fbc: 2204 movs r2, #4 8057fbe: 2100 movs r1, #0 8057fc0: 4618 mov r0, r3 8057fc2: f075 f841 bl 80cd048 memset(rez, 0, sizeof(rez)); 8057fc6: f507 73ea add.w r3, r7, #468 ; 0x1d4 8057fca: 2204 movs r2, #4 8057fcc: 2100 movs r1, #0 8057fce: 4618 mov r0, r3 8057fd0: f075 f83a bl 80cd048 zn[0] = pardata.DIAGN_OPER[CURR_POINT][0]; 8057fd4: 4b98 ldr r3, [pc, #608] ; (8058238 ) 8057fd6: 781b ldrb r3, [r3, #0] 8057fd8: b2db uxtb r3, r3 8057fda: 4a92 ldr r2, [pc, #584] ; (8058224 ) 8057fdc: 3386 adds r3, #134 ; 0x86 8057fde: 009b lsls r3, r3, #2 8057fe0: 4413 add r3, r2 8057fe2: 791b ldrb r3, [r3, #4] 8057fe4: b2db uxtb r3, r3 8057fe6: f887 31d8 strb.w r3, [r7, #472] ; 0x1d8 zn[1] = pardata.DIAGN_OPER[CURR_POINT][1]; 8057fea: 4b93 ldr r3, [pc, #588] ; (8058238 ) 8057fec: 781b ldrb r3, [r3, #0] 8057fee: b2db uxtb r3, r3 8057ff0: 4a8c ldr r2, [pc, #560] ; (8058224 ) 8057ff2: 009b lsls r3, r3, #2 8057ff4: 4413 add r3, r2 8057ff6: f893 321d ldrb.w r3, [r3, #541] ; 0x21d 8057ffa: b2db uxtb r3, r3 8057ffc: f887 31d9 strb.w r3, [r7, #473] ; 0x1d9 //zn[2] = pardata.DIAGN_OPER[CURR_POINT][1]; if(pardata.IIN == VOLTS) 8058000: 4b88 ldr r3, [pc, #544] ; (8058224 ) 8058002: 799b ldrb r3, [r3, #6] 8058004: b2db uxtb r3, r3 8058006: 2b02 cmp r3, #2 8058008: d159 bne.n 80580be { // ïåðåâîäèì âñå âåëè÷èíû â ì for(k = 0; k < NUM_OPERANDS; k++) 805800a: 2300 movs r3, #0 805800c: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 8058010: e04d b.n 80580ae { if((pardata.DIAGN_MASK[CURR_POINT][k] & 0x7) == DIAGN_VEL) { 8058012: 4b89 ldr r3, [pc, #548] ; (8058238 ) 8058014: 781b ldrb r3, [r3, #0] 8058016: b2db uxtb r3, r3 8058018: 461a mov r2, r3 805801a: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805801e: 4981 ldr r1, [pc, #516] ; (8058224 ) 8058020: 0092 lsls r2, r2, #2 8058022: 440a add r2, r1 8058024: 4413 add r3, r2 8058026: f503 730f add.w r3, r3, #572 ; 0x23c 805802a: 781b ldrb r3, [r3, #0] 805802c: b2db uxtb r3, r3 805802e: f003 0307 and.w r3, r3, #7 8058032: 2b02 cmp r3, #2 8058034: d112 bne.n 805805c operand[k] *= 0.001f; 8058036: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805803a: f8d7 21c8 ldr.w r2, [r7, #456] ; 0x1c8 805803e: 4977 ldr r1, [pc, #476] ; (805821c ) 8058040: 0092 lsls r2, r2, #2 8058042: 440a add r2, r1 8058044: edd2 7a00 vldr s15, [r2] 8058048: ed9f 7a7c vldr s14, [pc, #496] ; 805823c 805804c: ee67 7a87 vmul.f32 s15, s15, s14 8058050: 4a72 ldr r2, [pc, #456] ; (805821c ) 8058052: 009b lsls r3, r3, #2 8058054: 4413 add r3, r2 8058056: edc3 7a00 vstr s15, [r3] 805805a: e023 b.n 80580a4 } else if((pardata.DIAGN_MASK[CURR_POINT][k] & 0x7) == DIAGN_DIS) { 805805c: 4b76 ldr r3, [pc, #472] ; (8058238 ) 805805e: 781b ldrb r3, [r3, #0] 8058060: b2db uxtb r3, r3 8058062: 461a mov r2, r3 8058064: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8058068: 496e ldr r1, [pc, #440] ; (8058224 ) 805806a: 0092 lsls r2, r2, #2 805806c: 440a add r2, r1 805806e: 4413 add r3, r2 8058070: f503 730f add.w r3, r3, #572 ; 0x23c 8058074: 781b ldrb r3, [r3, #0] 8058076: b2db uxtb r3, r3 8058078: f003 0307 and.w r3, r3, #7 805807c: 2b04 cmp r3, #4 805807e: d111 bne.n 80580a4 operand[k] *= 0.000001f; 8058080: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8058084: f8d7 21c8 ldr.w r2, [r7, #456] ; 0x1c8 8058088: 4964 ldr r1, [pc, #400] ; (805821c ) 805808a: 0092 lsls r2, r2, #2 805808c: 440a add r2, r1 805808e: edd2 7a00 vldr s15, [r2] 8058092: ed9f 7a6b vldr s14, [pc, #428] ; 8058240 8058096: ee67 7a87 vmul.f32 s15, s15, s14 805809a: 4a60 ldr r2, [pc, #384] ; (805821c ) 805809c: 009b lsls r3, r3, #2 805809e: 4413 add r3, r2 80580a0: edc3 7a00 vstr s15, [r3] for(k = 0; k < NUM_OPERANDS; k++) 80580a4: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 80580a8: 3301 adds r3, #1 80580aa: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 80580ae: 4b5c ldr r3, [pc, #368] ; (8058220 ) 80580b0: 781b ldrb r3, [r3, #0] 80580b2: b2db uxtb r3, r3 80580b4: 461a mov r2, r3 80580b6: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 80580ba: 429a cmp r2, r3 80580bc: d8a9 bhi.n 8058012 //======================================================== //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)) 80580be: 4b5e ldr r3, [pc, #376] ; (8058238 ) 80580c0: 781b ldrb r3, [r3, #0] 80580c2: b2db uxtb r3, r3 80580c4: 4a57 ldr r2, [pc, #348] ; (8058224 ) 80580c6: 338e adds r3, #142 ; 0x8e 80580c8: 009b lsls r3, r3, #2 80580ca: 4413 add r3, r2 80580cc: 791b ldrb r3, [r3, #4] 80580ce: b2db uxtb r3, r3 80580d0: f003 0307 and.w r3, r3, #7 80580d4: 2b00 cmp r3, #0 80580d6: d11d bne.n 8058114 80580d8: 4b57 ldr r3, [pc, #348] ; (8058238 ) 80580da: 781b ldrb r3, [r3, #0] 80580dc: b2db uxtb r3, r3 80580de: 4a51 ldr r2, [pc, #324] ; (8058224 ) 80580e0: 009b lsls r3, r3, #2 80580e2: 4413 add r3, r2 80580e4: f893 323d ldrb.w r3, [r3, #573] ; 0x23d 80580e8: b2db uxtb r3, r3 80580ea: f003 0307 and.w r3, r3, #7 80580ee: 2b00 cmp r3, #0 80580f0: d110 bne.n 8058114 80580f2: 4b51 ldr r3, [pc, #324] ; (8058238 ) 80580f4: 781b ldrb r3, [r3, #0] 80580f6: b2db uxtb r3, r3 80580f8: 4a4a ldr r2, [pc, #296] ; (8058224 ) 80580fa: 009b lsls r3, r3, #2 80580fc: 4413 add r3, r2 80580fe: f893 323e ldrb.w r3, [r3, #574] ; 0x23e 8058102: b2db uxtb r3, r3 8058104: f003 0307 and.w r3, r3, #7 8058108: 2b00 cmp r3, #0 805810a: d103 bne.n 8058114 { WARNING = false; 805810c: 4b4d ldr r3, [pc, #308] ; (8058244 ) 805810e: 2200 movs r2, #0 8058110: 701a strb r2, [r3, #0] 8058112: e2d1 b.n 80586b8 } 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)) 8058114: 4b48 ldr r3, [pc, #288] ; (8058238 ) 8058116: 781b ldrb r3, [r3, #0] 8058118: b2db uxtb r3, r3 805811a: 4a42 ldr r2, [pc, #264] ; (8058224 ) 805811c: 338e adds r3, #142 ; 0x8e 805811e: 009b lsls r3, r3, #2 8058120: 4413 add r3, r2 8058122: 791b ldrb r3, [r3, #4] 8058124: b2db uxtb r3, r3 8058126: f003 0307 and.w r3, r3, #7 805812a: 2b00 cmp r3, #0 805812c: d033 beq.n 8058196 805812e: 4b42 ldr r3, [pc, #264] ; (8058238 ) 8058130: 781b ldrb r3, [r3, #0] 8058132: b2db uxtb r3, r3 8058134: 4a3b ldr r2, [pc, #236] ; (8058224 ) 8058136: 009b lsls r3, r3, #2 8058138: 4413 add r3, r2 805813a: f893 323d ldrb.w r3, [r3, #573] ; 0x23d 805813e: b2db uxtb r3, r3 8058140: f003 0307 and.w r3, r3, #7 8058144: 2b00 cmp r3, #0 8058146: d126 bne.n 8058196 8058148: 4b3b ldr r3, [pc, #236] ; (8058238 ) 805814a: 781b ldrb r3, [r3, #0] 805814c: b2db uxtb r3, r3 805814e: 4a35 ldr r2, [pc, #212] ; (8058224 ) 8058150: 009b lsls r3, r3, #2 8058152: 4413 add r3, r2 8058154: f893 323e ldrb.w r3, [r3, #574] ; 0x23e 8058158: b2db uxtb r3, r3 805815a: f003 0307 and.w r3, r3, #7 805815e: 2b00 cmp r3, #0 8058160: d119 bne.n 8058196 { if(operand[Us1] >= pardata.DIAGN_W[CURR_POINT][Us1]) { 8058162: 4b2e ldr r3, [pc, #184] ; (805821c ) 8058164: ed93 7a00 vldr s14, [r3] 8058168: 4b33 ldr r3, [pc, #204] ; (8058238 ) 805816a: 781b ldrb r3, [r3, #0] 805816c: b2db uxtb r3, r3 805816e: 4a2d ldr r2, [pc, #180] ; (8058224 ) 8058170: 011b lsls r3, r3, #4 8058172: 4413 add r3, r2 8058174: f503 7357 add.w r3, r3, #860 ; 0x35c 8058178: edd3 7a00 vldr s15, [r3] 805817c: eeb4 7ae7 vcmpe.f32 s14, s15 8058180: eef1 fa10 vmrs APSR_nzcv, fpscr 8058184: db03 blt.n 805818e WARNING = true; 8058186: 4b2f ldr r3, [pc, #188] ; (8058244 ) 8058188: 2201 movs r2, #1 805818a: 701a strb r2, [r3, #0] if(operand[Us1] >= pardata.DIAGN_W[CURR_POINT][Us1]) { 805818c: e294 b.n 80586b8 } else WARNING = false; 805818e: 4b2d ldr r3, [pc, #180] ; (8058244 ) 8058190: 2200 movs r2, #0 8058192: 701a strb r2, [r3, #0] if(operand[Us1] >= pardata.DIAGN_W[CURR_POINT][Us1]) { 8058194: e290 b.n 80586b8 } 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)) 8058196: 4b28 ldr r3, [pc, #160] ; (8058238 ) 8058198: 781b ldrb r3, [r3, #0] 805819a: b2db uxtb r3, r3 805819c: 4a21 ldr r2, [pc, #132] ; (8058224 ) 805819e: 338e adds r3, #142 ; 0x8e 80581a0: 009b lsls r3, r3, #2 80581a2: 4413 add r3, r2 80581a4: 791b ldrb r3, [r3, #4] 80581a6: b2db uxtb r3, r3 80581a8: f003 0307 and.w r3, r3, #7 80581ac: 2b00 cmp r3, #0 80581ae: d14b bne.n 8058248 80581b0: 4b21 ldr r3, [pc, #132] ; (8058238 ) 80581b2: 781b ldrb r3, [r3, #0] 80581b4: b2db uxtb r3, r3 80581b6: 4a1b ldr r2, [pc, #108] ; (8058224 ) 80581b8: 009b lsls r3, r3, #2 80581ba: 4413 add r3, r2 80581bc: f893 323d ldrb.w r3, [r3, #573] ; 0x23d 80581c0: b2db uxtb r3, r3 80581c2: f003 0307 and.w r3, r3, #7 80581c6: 2b00 cmp r3, #0 80581c8: d03e beq.n 8058248 80581ca: 4b1b ldr r3, [pc, #108] ; (8058238 ) 80581cc: 781b ldrb r3, [r3, #0] 80581ce: b2db uxtb r3, r3 80581d0: 4a14 ldr r2, [pc, #80] ; (8058224 ) 80581d2: 009b lsls r3, r3, #2 80581d4: 4413 add r3, r2 80581d6: f893 323e ldrb.w r3, [r3, #574] ; 0x23e 80581da: b2db uxtb r3, r3 80581dc: f003 0307 and.w r3, r3, #7 80581e0: 2b00 cmp r3, #0 80581e2: d131 bne.n 8058248 { if(operand[Us2] >= pardata.DIAGN_W[CURR_POINT][Us2]) { 80581e4: 4b0d ldr r3, [pc, #52] ; (805821c ) 80581e6: ed93 7a01 vldr s14, [r3, #4] 80581ea: 4b13 ldr r3, [pc, #76] ; (8058238 ) 80581ec: 781b ldrb r3, [r3, #0] 80581ee: b2db uxtb r3, r3 80581f0: 4a0c ldr r2, [pc, #48] ; (8058224 ) 80581f2: 011b lsls r3, r3, #4 80581f4: 4413 add r3, r2 80581f6: f503 7358 add.w r3, r3, #864 ; 0x360 80581fa: edd3 7a00 vldr s15, [r3] 80581fe: eeb4 7ae7 vcmpe.f32 s14, s15 8058202: eef1 fa10 vmrs APSR_nzcv, fpscr 8058206: db03 blt.n 8058210 WARNING = true; 8058208: 4b0e ldr r3, [pc, #56] ; (8058244 ) 805820a: 2201 movs r2, #1 805820c: 701a strb r2, [r3, #0] if(operand[Us2] >= pardata.DIAGN_W[CURR_POINT][Us2]) { 805820e: e253 b.n 80586b8 } else WARNING = false; 8058210: 4b0c ldr r3, [pc, #48] ; (8058244 ) 8058212: 2200 movs r2, #0 8058214: 701a strb r2, [r3, #0] if(operand[Us2] >= pardata.DIAGN_W[CURR_POINT][Us2]) { 8058216: e24f b.n 80586b8 8058218: 20021cfc .word 0x20021cfc 805821c: 200268d8 .word 0x200268d8 8058220: 20021012 .word 0x20021012 8058224: 20023e60 .word 0x20023e60 8058228: 080eeb00 .word 0x080eeb00 805822c: 20020db8 .word 0x20020db8 8058230: 20021ce8 .word 0x20021ce8 8058234: 00000000 .word 0x00000000 8058238: 20021011 .word 0x20021011 805823c: 3a83126f .word 0x3a83126f 8058240: 358637bd .word 0x358637bd 8058244: 20021014 .word 0x20021014 } else if(((pardata.DIAGN_MASK[CURR_POINT][Us1] & 0x7)) && ((pardata.DIAGN_MASK[CURR_POINT][Us2] & 0x7)) && ((pardata.DIAGN_MASK[CURR_POINT][Us3] & 0x7) == 0)) 8058248: 4b91 ldr r3, [pc, #580] ; (8058490 ) 805824a: 781b ldrb r3, [r3, #0] 805824c: b2db uxtb r3, r3 805824e: 4a91 ldr r2, [pc, #580] ; (8058494 ) 8058250: 338e adds r3, #142 ; 0x8e 8058252: 009b lsls r3, r3, #2 8058254: 4413 add r3, r2 8058256: 791b ldrb r3, [r3, #4] 8058258: b2db uxtb r3, r3 805825a: f003 0307 and.w r3, r3, #7 805825e: 2b00 cmp r3, #0 8058260: d063 beq.n 805832a 8058262: 4b8b ldr r3, [pc, #556] ; (8058490 ) 8058264: 781b ldrb r3, [r3, #0] 8058266: b2db uxtb r3, r3 8058268: 4a8a ldr r2, [pc, #552] ; (8058494 ) 805826a: 009b lsls r3, r3, #2 805826c: 4413 add r3, r2 805826e: f893 323d ldrb.w r3, [r3, #573] ; 0x23d 8058272: b2db uxtb r3, r3 8058274: f003 0307 and.w r3, r3, #7 8058278: 2b00 cmp r3, #0 805827a: d056 beq.n 805832a 805827c: 4b84 ldr r3, [pc, #528] ; (8058490 ) 805827e: 781b ldrb r3, [r3, #0] 8058280: b2db uxtb r3, r3 8058282: 4a84 ldr r2, [pc, #528] ; (8058494 ) 8058284: 009b lsls r3, r3, #2 8058286: 4413 add r3, r2 8058288: f893 323e ldrb.w r3, [r3, #574] ; 0x23e 805828c: b2db uxtb r3, r3 805828e: f003 0307 and.w r3, r3, #7 8058292: 2b00 cmp r3, #0 8058294: d149 bne.n 805832a { if(operand[Us1] >= pardata.DIAGN_W[CURR_POINT][Us1]) { 8058296: 4b80 ldr r3, [pc, #512] ; (8058498 ) 8058298: ed93 7a00 vldr s14, [r3] 805829c: 4b7c ldr r3, [pc, #496] ; (8058490 ) 805829e: 781b ldrb r3, [r3, #0] 80582a0: b2db uxtb r3, r3 80582a2: 4a7c ldr r2, [pc, #496] ; (8058494 ) 80582a4: 011b lsls r3, r3, #4 80582a6: 4413 add r3, r2 80582a8: f503 7357 add.w r3, r3, #860 ; 0x35c 80582ac: edd3 7a00 vldr s15, [r3] 80582b0: eeb4 7ae7 vcmpe.f32 s14, s15 80582b4: eef1 fa10 vmrs APSR_nzcv, fpscr 80582b8: db02 blt.n 80582c0 t[Us1] = 1; 80582ba: 2301 movs r3, #1 80582bc: f887 31dc strb.w r3, [r7, #476] ; 0x1dc } if(operand[Us2] >= pardata.DIAGN_W[CURR_POINT][Us2]) { 80582c0: 4b75 ldr r3, [pc, #468] ; (8058498 ) 80582c2: ed93 7a01 vldr s14, [r3, #4] 80582c6: 4b72 ldr r3, [pc, #456] ; (8058490 ) 80582c8: 781b ldrb r3, [r3, #0] 80582ca: b2db uxtb r3, r3 80582cc: 4a71 ldr r2, [pc, #452] ; (8058494 ) 80582ce: 011b lsls r3, r3, #4 80582d0: 4413 add r3, r2 80582d2: f503 7358 add.w r3, r3, #864 ; 0x360 80582d6: edd3 7a00 vldr s15, [r3] 80582da: eeb4 7ae7 vcmpe.f32 s14, s15 80582de: eef1 fa10 vmrs APSR_nzcv, fpscr 80582e2: db02 blt.n 80582ea t[Us2] = 1; 80582e4: 2301 movs r3, #1 80582e6: f887 31dd strb.w r3, [r7, #477] ; 0x1dd } if(zn[0]) 80582ea: f897 31d8 ldrb.w r3, [r7, #472] ; 0x1d8 80582ee: 2b00 cmp r3, #0 80582f0: d00d beq.n 805830e WARNING = t[Us1] & t[Us2]; //and 80582f2: f897 21dc ldrb.w r2, [r7, #476] ; 0x1dc 80582f6: f897 31dd ldrb.w r3, [r7, #477] ; 0x1dd 80582fa: 4013 ands r3, r2 80582fc: b2db uxtb r3, r3 80582fe: 2b00 cmp r3, #0 8058300: bf14 ite ne 8058302: 2301 movne r3, #1 8058304: 2300 moveq r3, #0 8058306: b2da uxtb r2, r3 8058308: 4b64 ldr r3, [pc, #400] ; (805849c ) 805830a: 701a strb r2, [r3, #0] if(zn[0]) 805830c: e1d4 b.n 80586b8 else WARNING = t[Us1] | t[Us2]; //or 805830e: f897 21dc ldrb.w r2, [r7, #476] ; 0x1dc 8058312: f897 31dd ldrb.w r3, [r7, #477] ; 0x1dd 8058316: 4313 orrs r3, r2 8058318: b2db uxtb r3, r3 805831a: 2b00 cmp r3, #0 805831c: bf14 ite ne 805831e: 2301 movne r3, #1 8058320: 2300 moveq r3, #0 8058322: b2da uxtb r2, r3 8058324: 4b5d ldr r3, [pc, #372] ; (805849c ) 8058326: 701a strb r2, [r3, #0] if(zn[0]) 8058328: e1c6 b.n 80586b8 } 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))) 805832a: 4b59 ldr r3, [pc, #356] ; (8058490 ) 805832c: 781b ldrb r3, [r3, #0] 805832e: b2db uxtb r3, r3 8058330: 4a58 ldr r2, [pc, #352] ; (8058494 ) 8058332: 338e adds r3, #142 ; 0x8e 8058334: 009b lsls r3, r3, #2 8058336: 4413 add r3, r2 8058338: 791b ldrb r3, [r3, #4] 805833a: b2db uxtb r3, r3 805833c: f003 0307 and.w r3, r3, #7 8058340: 2b00 cmp r3, #0 8058342: d133 bne.n 80583ac 8058344: 4b52 ldr r3, [pc, #328] ; (8058490 ) 8058346: 781b ldrb r3, [r3, #0] 8058348: b2db uxtb r3, r3 805834a: 4a52 ldr r2, [pc, #328] ; (8058494 ) 805834c: 009b lsls r3, r3, #2 805834e: 4413 add r3, r2 8058350: f893 323d ldrb.w r3, [r3, #573] ; 0x23d 8058354: b2db uxtb r3, r3 8058356: f003 0307 and.w r3, r3, #7 805835a: 2b00 cmp r3, #0 805835c: d126 bne.n 80583ac 805835e: 4b4c ldr r3, [pc, #304] ; (8058490 ) 8058360: 781b ldrb r3, [r3, #0] 8058362: b2db uxtb r3, r3 8058364: 4a4b ldr r2, [pc, #300] ; (8058494 ) 8058366: 009b lsls r3, r3, #2 8058368: 4413 add r3, r2 805836a: f893 323e ldrb.w r3, [r3, #574] ; 0x23e 805836e: b2db uxtb r3, r3 8058370: f003 0307 and.w r3, r3, #7 8058374: 2b00 cmp r3, #0 8058376: d019 beq.n 80583ac { if(operand[Us3] >= pardata.DIAGN_W[CURR_POINT][Us3]) { 8058378: 4b47 ldr r3, [pc, #284] ; (8058498 ) 805837a: ed93 7a02 vldr s14, [r3, #8] 805837e: 4b44 ldr r3, [pc, #272] ; (8058490 ) 8058380: 781b ldrb r3, [r3, #0] 8058382: b2db uxtb r3, r3 8058384: 4a43 ldr r2, [pc, #268] ; (8058494 ) 8058386: 3336 adds r3, #54 ; 0x36 8058388: 011b lsls r3, r3, #4 805838a: 4413 add r3, r2 805838c: 3304 adds r3, #4 805838e: edd3 7a00 vldr s15, [r3] 8058392: eeb4 7ae7 vcmpe.f32 s14, s15 8058396: eef1 fa10 vmrs APSR_nzcv, fpscr 805839a: db03 blt.n 80583a4 WARNING = true; 805839c: 4b3f ldr r3, [pc, #252] ; (805849c ) 805839e: 2201 movs r2, #1 80583a0: 701a strb r2, [r3, #0] if(operand[Us3] >= pardata.DIAGN_W[CURR_POINT][Us3]) { 80583a2: e189 b.n 80586b8 } else WARNING = false; 80583a4: 4b3d ldr r3, [pc, #244] ; (805849c ) 80583a6: 2200 movs r2, #0 80583a8: 701a strb r2, [r3, #0] if(operand[Us3] >= pardata.DIAGN_W[CURR_POINT][Us3]) { 80583aa: e185 b.n 80586b8 } else if(((pardata.DIAGN_MASK[CURR_POINT][Us1] & 0x7)) && ((pardata.DIAGN_MASK[CURR_POINT][Us2] & 0x7) == 0) && ((pardata.DIAGN_MASK[CURR_POINT][Us3] & 0x7))) 80583ac: 4b38 ldr r3, [pc, #224] ; (8058490 ) 80583ae: 781b ldrb r3, [r3, #0] 80583b0: b2db uxtb r3, r3 80583b2: 4a38 ldr r2, [pc, #224] ; (8058494 ) 80583b4: 338e adds r3, #142 ; 0x8e 80583b6: 009b lsls r3, r3, #2 80583b8: 4413 add r3, r2 80583ba: 791b ldrb r3, [r3, #4] 80583bc: b2db uxtb r3, r3 80583be: f003 0307 and.w r3, r3, #7 80583c2: 2b00 cmp r3, #0 80583c4: d06c beq.n 80584a0 80583c6: 4b32 ldr r3, [pc, #200] ; (8058490 ) 80583c8: 781b ldrb r3, [r3, #0] 80583ca: b2db uxtb r3, r3 80583cc: 4a31 ldr r2, [pc, #196] ; (8058494 ) 80583ce: 009b lsls r3, r3, #2 80583d0: 4413 add r3, r2 80583d2: f893 323d ldrb.w r3, [r3, #573] ; 0x23d 80583d6: b2db uxtb r3, r3 80583d8: f003 0307 and.w r3, r3, #7 80583dc: 2b00 cmp r3, #0 80583de: d15f bne.n 80584a0 80583e0: 4b2b ldr r3, [pc, #172] ; (8058490 ) 80583e2: 781b ldrb r3, [r3, #0] 80583e4: b2db uxtb r3, r3 80583e6: 4a2b ldr r2, [pc, #172] ; (8058494 ) 80583e8: 009b lsls r3, r3, #2 80583ea: 4413 add r3, r2 80583ec: f893 323e ldrb.w r3, [r3, #574] ; 0x23e 80583f0: b2db uxtb r3, r3 80583f2: f003 0307 and.w r3, r3, #7 80583f6: 2b00 cmp r3, #0 80583f8: d052 beq.n 80584a0 { if(operand[Us1] >= pardata.DIAGN_W[CURR_POINT][Us1]) { 80583fa: 4b27 ldr r3, [pc, #156] ; (8058498 ) 80583fc: ed93 7a00 vldr s14, [r3] 8058400: 4b23 ldr r3, [pc, #140] ; (8058490 ) 8058402: 781b ldrb r3, [r3, #0] 8058404: b2db uxtb r3, r3 8058406: 4a23 ldr r2, [pc, #140] ; (8058494 ) 8058408: 011b lsls r3, r3, #4 805840a: 4413 add r3, r2 805840c: f503 7357 add.w r3, r3, #860 ; 0x35c 8058410: edd3 7a00 vldr s15, [r3] 8058414: eeb4 7ae7 vcmpe.f32 s14, s15 8058418: eef1 fa10 vmrs APSR_nzcv, fpscr 805841c: db02 blt.n 8058424 t[Us1] = 1; 805841e: 2301 movs r3, #1 8058420: f887 31dc strb.w r3, [r7, #476] ; 0x1dc } if(operand[Us3] >= pardata.DIAGN_W[CURR_POINT][Us3]) { 8058424: 4b1c ldr r3, [pc, #112] ; (8058498 ) 8058426: ed93 7a02 vldr s14, [r3, #8] 805842a: 4b19 ldr r3, [pc, #100] ; (8058490 ) 805842c: 781b ldrb r3, [r3, #0] 805842e: b2db uxtb r3, r3 8058430: 4a18 ldr r2, [pc, #96] ; (8058494 ) 8058432: 3336 adds r3, #54 ; 0x36 8058434: 011b lsls r3, r3, #4 8058436: 4413 add r3, r2 8058438: 3304 adds r3, #4 805843a: edd3 7a00 vldr s15, [r3] 805843e: eeb4 7ae7 vcmpe.f32 s14, s15 8058442: eef1 fa10 vmrs APSR_nzcv, fpscr 8058446: db02 blt.n 805844e t[Us3] = 1; 8058448: 2301 movs r3, #1 805844a: f887 31de strb.w r3, [r7, #478] ; 0x1de } if(zn[1]) 805844e: f897 31d9 ldrb.w r3, [r7, #473] ; 0x1d9 8058452: 2b00 cmp r3, #0 8058454: d00d beq.n 8058472 WARNING = t[Us1] & t[Us3]; //and 8058456: f897 21dc ldrb.w r2, [r7, #476] ; 0x1dc 805845a: f897 31de ldrb.w r3, [r7, #478] ; 0x1de 805845e: 4013 ands r3, r2 8058460: b2db uxtb r3, r3 8058462: 2b00 cmp r3, #0 8058464: bf14 ite ne 8058466: 2301 movne r3, #1 8058468: 2300 moveq r3, #0 805846a: b2da uxtb r2, r3 805846c: 4b0b ldr r3, [pc, #44] ; (805849c ) 805846e: 701a strb r2, [r3, #0] if(zn[1]) 8058470: e122 b.n 80586b8 else WARNING = t[Us1] | t[Us3]; //or 8058472: f897 21dc ldrb.w r2, [r7, #476] ; 0x1dc 8058476: f897 31de ldrb.w r3, [r7, #478] ; 0x1de 805847a: 4313 orrs r3, r2 805847c: b2db uxtb r3, r3 805847e: 2b00 cmp r3, #0 8058480: bf14 ite ne 8058482: 2301 movne r3, #1 8058484: 2300 moveq r3, #0 8058486: b2da uxtb r2, r3 8058488: 4b04 ldr r3, [pc, #16] ; (805849c ) 805848a: 701a strb r2, [r3, #0] if(zn[1]) 805848c: e114 b.n 80586b8 805848e: bf00 nop 8058490: 20021011 .word 0x20021011 8058494: 20023e60 .word 0x20023e60 8058498: 200268d8 .word 0x200268d8 805849c: 20021014 .word 0x20021014 } else if(((pardata.DIAGN_MASK[CURR_POINT][Us1] & 0x7) == 0) && ((pardata.DIAGN_MASK[CURR_POINT][Us2] & 0x7)) && ((pardata.DIAGN_MASK[CURR_POINT][Us3] & 0x7))) 80584a0: 4ba2 ldr r3, [pc, #648] ; (805872c ) 80584a2: 781b ldrb r3, [r3, #0] 80584a4: b2db uxtb r3, r3 80584a6: 4aa2 ldr r2, [pc, #648] ; (8058730 ) 80584a8: 338e adds r3, #142 ; 0x8e 80584aa: 009b lsls r3, r3, #2 80584ac: 4413 add r3, r2 80584ae: 791b ldrb r3, [r3, #4] 80584b0: b2db uxtb r3, r3 80584b2: f003 0307 and.w r3, r3, #7 80584b6: 2b00 cmp r3, #0 80584b8: d163 bne.n 8058582 80584ba: 4b9c ldr r3, [pc, #624] ; (805872c ) 80584bc: 781b ldrb r3, [r3, #0] 80584be: b2db uxtb r3, r3 80584c0: 4a9b ldr r2, [pc, #620] ; (8058730 ) 80584c2: 009b lsls r3, r3, #2 80584c4: 4413 add r3, r2 80584c6: f893 323d ldrb.w r3, [r3, #573] ; 0x23d 80584ca: b2db uxtb r3, r3 80584cc: f003 0307 and.w r3, r3, #7 80584d0: 2b00 cmp r3, #0 80584d2: d056 beq.n 8058582 80584d4: 4b95 ldr r3, [pc, #596] ; (805872c ) 80584d6: 781b ldrb r3, [r3, #0] 80584d8: b2db uxtb r3, r3 80584da: 4a95 ldr r2, [pc, #596] ; (8058730 ) 80584dc: 009b lsls r3, r3, #2 80584de: 4413 add r3, r2 80584e0: f893 323e ldrb.w r3, [r3, #574] ; 0x23e 80584e4: b2db uxtb r3, r3 80584e6: f003 0307 and.w r3, r3, #7 80584ea: 2b00 cmp r3, #0 80584ec: d049 beq.n 8058582 { if(operand[Us2] >= pardata.DIAGN_W[CURR_POINT][Us2]) { 80584ee: 4b91 ldr r3, [pc, #580] ; (8058734 ) 80584f0: ed93 7a01 vldr s14, [r3, #4] 80584f4: 4b8d ldr r3, [pc, #564] ; (805872c ) 80584f6: 781b ldrb r3, [r3, #0] 80584f8: b2db uxtb r3, r3 80584fa: 4a8d ldr r2, [pc, #564] ; (8058730 ) 80584fc: 011b lsls r3, r3, #4 80584fe: 4413 add r3, r2 8058500: f503 7358 add.w r3, r3, #864 ; 0x360 8058504: edd3 7a00 vldr s15, [r3] 8058508: eeb4 7ae7 vcmpe.f32 s14, s15 805850c: eef1 fa10 vmrs APSR_nzcv, fpscr 8058510: db02 blt.n 8058518 t[Us2] = 1; 8058512: 2301 movs r3, #1 8058514: f887 31dd strb.w r3, [r7, #477] ; 0x1dd } if(operand[Us3] >= pardata.DIAGN_W[CURR_POINT][Us3]) { 8058518: 4b86 ldr r3, [pc, #536] ; (8058734 ) 805851a: ed93 7a02 vldr s14, [r3, #8] 805851e: 4b83 ldr r3, [pc, #524] ; (805872c ) 8058520: 781b ldrb r3, [r3, #0] 8058522: b2db uxtb r3, r3 8058524: 4a82 ldr r2, [pc, #520] ; (8058730 ) 8058526: 3336 adds r3, #54 ; 0x36 8058528: 011b lsls r3, r3, #4 805852a: 4413 add r3, r2 805852c: 3304 adds r3, #4 805852e: edd3 7a00 vldr s15, [r3] 8058532: eeb4 7ae7 vcmpe.f32 s14, s15 8058536: eef1 fa10 vmrs APSR_nzcv, fpscr 805853a: db02 blt.n 8058542 t[Us3] = 1; 805853c: 2301 movs r3, #1 805853e: f887 31de strb.w r3, [r7, #478] ; 0x1de } if(zn[1]) 8058542: f897 31d9 ldrb.w r3, [r7, #473] ; 0x1d9 8058546: 2b00 cmp r3, #0 8058548: d00d beq.n 8058566 WARNING = t[Us2] & t[Us3]; //and 805854a: f897 21dd ldrb.w r2, [r7, #477] ; 0x1dd 805854e: f897 31de ldrb.w r3, [r7, #478] ; 0x1de 8058552: 4013 ands r3, r2 8058554: b2db uxtb r3, r3 8058556: 2b00 cmp r3, #0 8058558: bf14 ite ne 805855a: 2301 movne r3, #1 805855c: 2300 moveq r3, #0 805855e: b2da uxtb r2, r3 8058560: 4b75 ldr r3, [pc, #468] ; (8058738 ) 8058562: 701a strb r2, [r3, #0] if(zn[1]) 8058564: e0a8 b.n 80586b8 else WARNING = t[Us2] | t[Us3]; //or 8058566: f897 21dd ldrb.w r2, [r7, #477] ; 0x1dd 805856a: f897 31de ldrb.w r3, [r7, #478] ; 0x1de 805856e: 4313 orrs r3, r2 8058570: b2db uxtb r3, r3 8058572: 2b00 cmp r3, #0 8058574: bf14 ite ne 8058576: 2301 movne r3, #1 8058578: 2300 moveq r3, #0 805857a: b2da uxtb r2, r3 805857c: 4b6e ldr r3, [pc, #440] ; (8058738 ) 805857e: 701a strb r2, [r3, #0] if(zn[1]) 8058580: e09a b.n 80586b8 } else if(((pardata.DIAGN_MASK[CURR_POINT][Us1] & 0x7)) && ((pardata.DIAGN_MASK[CURR_POINT][Us2] & 0x7)) && ((pardata.DIAGN_MASK[CURR_POINT][Us3] & 0x7))) 8058582: 4b6a ldr r3, [pc, #424] ; (805872c ) 8058584: 781b ldrb r3, [r3, #0] 8058586: b2db uxtb r3, r3 8058588: 4a69 ldr r2, [pc, #420] ; (8058730 ) 805858a: 338e adds r3, #142 ; 0x8e 805858c: 009b lsls r3, r3, #2 805858e: 4413 add r3, r2 8058590: 791b ldrb r3, [r3, #4] 8058592: b2db uxtb r3, r3 8058594: f003 0307 and.w r3, r3, #7 8058598: 2b00 cmp r3, #0 805859a: f000 808d beq.w 80586b8 805859e: 4b63 ldr r3, [pc, #396] ; (805872c ) 80585a0: 781b ldrb r3, [r3, #0] 80585a2: b2db uxtb r3, r3 80585a4: 4a62 ldr r2, [pc, #392] ; (8058730 ) 80585a6: 009b lsls r3, r3, #2 80585a8: 4413 add r3, r2 80585aa: f893 323d ldrb.w r3, [r3, #573] ; 0x23d 80585ae: b2db uxtb r3, r3 80585b0: f003 0307 and.w r3, r3, #7 80585b4: 2b00 cmp r3, #0 80585b6: d07f beq.n 80586b8 80585b8: 4b5c ldr r3, [pc, #368] ; (805872c ) 80585ba: 781b ldrb r3, [r3, #0] 80585bc: b2db uxtb r3, r3 80585be: 4a5c ldr r2, [pc, #368] ; (8058730 ) 80585c0: 009b lsls r3, r3, #2 80585c2: 4413 add r3, r2 80585c4: f893 323e ldrb.w r3, [r3, #574] ; 0x23e 80585c8: b2db uxtb r3, r3 80585ca: f003 0307 and.w r3, r3, #7 80585ce: 2b00 cmp r3, #0 80585d0: d072 beq.n 80586b8 { if(operand[Us1] >= pardata.DIAGN_W[CURR_POINT][Us1]) { 80585d2: 4b58 ldr r3, [pc, #352] ; (8058734 ) 80585d4: ed93 7a00 vldr s14, [r3] 80585d8: 4b54 ldr r3, [pc, #336] ; (805872c ) 80585da: 781b ldrb r3, [r3, #0] 80585dc: b2db uxtb r3, r3 80585de: 4a54 ldr r2, [pc, #336] ; (8058730 ) 80585e0: 011b lsls r3, r3, #4 80585e2: 4413 add r3, r2 80585e4: f503 7357 add.w r3, r3, #860 ; 0x35c 80585e8: edd3 7a00 vldr s15, [r3] 80585ec: eeb4 7ae7 vcmpe.f32 s14, s15 80585f0: eef1 fa10 vmrs APSR_nzcv, fpscr 80585f4: db02 blt.n 80585fc t[Us1] = 1; 80585f6: 2301 movs r3, #1 80585f8: f887 31dc strb.w r3, [r7, #476] ; 0x1dc } if(operand[Us2] >= pardata.DIAGN_W[CURR_POINT][Us2]) { 80585fc: 4b4d ldr r3, [pc, #308] ; (8058734 ) 80585fe: ed93 7a01 vldr s14, [r3, #4] 8058602: 4b4a ldr r3, [pc, #296] ; (805872c ) 8058604: 781b ldrb r3, [r3, #0] 8058606: b2db uxtb r3, r3 8058608: 4a49 ldr r2, [pc, #292] ; (8058730 ) 805860a: 011b lsls r3, r3, #4 805860c: 4413 add r3, r2 805860e: f503 7358 add.w r3, r3, #864 ; 0x360 8058612: edd3 7a00 vldr s15, [r3] 8058616: eeb4 7ae7 vcmpe.f32 s14, s15 805861a: eef1 fa10 vmrs APSR_nzcv, fpscr 805861e: db02 blt.n 8058626 t[Us2] = 1; 8058620: 2301 movs r3, #1 8058622: f887 31dd strb.w r3, [r7, #477] ; 0x1dd } if(operand[Us3] >= pardata.DIAGN_W[CURR_POINT][Us3]) { 8058626: 4b43 ldr r3, [pc, #268] ; (8058734 ) 8058628: ed93 7a02 vldr s14, [r3, #8] 805862c: 4b3f ldr r3, [pc, #252] ; (805872c ) 805862e: 781b ldrb r3, [r3, #0] 8058630: b2db uxtb r3, r3 8058632: 4a3f ldr r2, [pc, #252] ; (8058730 ) 8058634: 3336 adds r3, #54 ; 0x36 8058636: 011b lsls r3, r3, #4 8058638: 4413 add r3, r2 805863a: 3304 adds r3, #4 805863c: edd3 7a00 vldr s15, [r3] 8058640: eeb4 7ae7 vcmpe.f32 s14, s15 8058644: eef1 fa10 vmrs APSR_nzcv, fpscr 8058648: db02 blt.n 8058650 t[Us3] = 1; 805864a: 2301 movs r3, #1 805864c: f887 31de strb.w r3, [r7, #478] ; 0x1de } if(zn[0]) 8058650: f897 31d8 ldrb.w r3, [r7, #472] ; 0x1d8 8058654: 2b00 cmp r3, #0 8058656: d008 beq.n 805866a rez[0] = t[Us1] & t[Us2]; //and 8058658: f897 21dc ldrb.w r2, [r7, #476] ; 0x1dc 805865c: f897 31dd ldrb.w r3, [r7, #477] ; 0x1dd 8058660: 4013 ands r3, r2 8058662: b2db uxtb r3, r3 8058664: f887 31d4 strb.w r3, [r7, #468] ; 0x1d4 8058668: e007 b.n 805867a else rez[0] = t[Us1] | t[Us2]; //or 805866a: f897 21dc ldrb.w r2, [r7, #476] ; 0x1dc 805866e: f897 31dd ldrb.w r3, [r7, #477] ; 0x1dd 8058672: 4313 orrs r3, r2 8058674: b2db uxtb r3, r3 8058676: f887 31d4 strb.w r3, [r7, #468] ; 0x1d4 if(zn[1]) 805867a: f897 31d9 ldrb.w r3, [r7, #473] ; 0x1d9 805867e: 2b00 cmp r3, #0 8058680: d00d beq.n 805869e WARNING = rez[0] & t[Us3]; //and 8058682: f897 21d4 ldrb.w r2, [r7, #468] ; 0x1d4 8058686: f897 31de ldrb.w r3, [r7, #478] ; 0x1de 805868a: 4013 ands r3, r2 805868c: b2db uxtb r3, r3 805868e: 2b00 cmp r3, #0 8058690: bf14 ite ne 8058692: 2301 movne r3, #1 8058694: 2300 moveq r3, #0 8058696: b2da uxtb r2, r3 8058698: 4b27 ldr r3, [pc, #156] ; (8058738 ) 805869a: 701a strb r2, [r3, #0] 805869c: e00c b.n 80586b8 else WARNING = rez[0] | t[Us3]; //or 805869e: f897 21d4 ldrb.w r2, [r7, #468] ; 0x1d4 80586a2: f897 31de ldrb.w r3, [r7, #478] ; 0x1de 80586a6: 4313 orrs r3, r2 80586a8: b2db uxtb r3, r3 80586aa: 2b00 cmp r3, #0 80586ac: bf14 ite ne 80586ae: 2301 movne r3, #1 80586b0: 2300 moveq r3, #0 80586b2: b2da uxtb r2, r3 80586b4: 4b20 ldr r3, [pc, #128] ; (8058738 ) 80586b6: 701a strb r2, [r3, #0] //*************************************************************************** //*************************************************************************** //======================================================== //CRASH memset(t, 0, sizeof(t)); 80586b8: f507 73ee add.w r3, r7, #476 ; 0x1dc 80586bc: 2204 movs r2, #4 80586be: 2100 movs r1, #0 80586c0: 4618 mov r0, r3 80586c2: f074 fcc1 bl 80cd048 memset(rez, 0, sizeof(rez)); 80586c6: f507 73ea add.w r3, r7, #468 ; 0x1d4 80586ca: 2204 movs r2, #4 80586cc: 2100 movs r1, #0 80586ce: 4618 mov r0, r3 80586d0: f074 fcba bl 80cd048 ///////////////// 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)) 80586d4: 4b15 ldr r3, [pc, #84] ; (805872c ) 80586d6: 781b ldrb r3, [r3, #0] 80586d8: b2db uxtb r3, r3 80586da: 4a15 ldr r2, [pc, #84] ; (8058730 ) 80586dc: 338e adds r3, #142 ; 0x8e 80586de: 009b lsls r3, r3, #2 80586e0: 4413 add r3, r2 80586e2: 791b ldrb r3, [r3, #4] 80586e4: b2db uxtb r3, r3 80586e6: f003 0307 and.w r3, r3, #7 80586ea: 2b00 cmp r3, #0 80586ec: d128 bne.n 8058740 80586ee: 4b0f ldr r3, [pc, #60] ; (805872c ) 80586f0: 781b ldrb r3, [r3, #0] 80586f2: b2db uxtb r3, r3 80586f4: 4a0e ldr r2, [pc, #56] ; (8058730 ) 80586f6: 009b lsls r3, r3, #2 80586f8: 4413 add r3, r2 80586fa: f893 323d ldrb.w r3, [r3, #573] ; 0x23d 80586fe: b2db uxtb r3, r3 8058700: f003 0307 and.w r3, r3, #7 8058704: 2b00 cmp r3, #0 8058706: d11b bne.n 8058740 8058708: 4b08 ldr r3, [pc, #32] ; (805872c ) 805870a: 781b ldrb r3, [r3, #0] 805870c: b2db uxtb r3, r3 805870e: 4a08 ldr r2, [pc, #32] ; (8058730 ) 8058710: 009b lsls r3, r3, #2 8058712: 4413 add r3, r2 8058714: f893 323e ldrb.w r3, [r3, #574] ; 0x23e 8058718: b2db uxtb r3, r3 805871a: f003 0307 and.w r3, r3, #7 805871e: 2b00 cmp r3, #0 8058720: d10e bne.n 8058740 { ALARM = false; 8058722: 4b06 ldr r3, [pc, #24] ; (805873c ) 8058724: 2200 movs r2, #0 8058726: 701a strb r2, [r3, #0] 8058728: e2cd b.n 8058cc6 805872a: bf00 nop 805872c: 20021011 .word 0x20021011 8058730: 20023e60 .word 0x20023e60 8058734: 200268d8 .word 0x200268d8 8058738: 20021014 .word 0x20021014 805873c: 20021015 .word 0x20021015 } else if(((pardata.DIAGN_MASK[CURR_POINT][Us1] & 0x7)) && ((pardata.DIAGN_MASK[CURR_POINT][Us2] & 0x7) == 0) && ((pardata.DIAGN_MASK[CURR_POINT][Us3] & 0x7) == 0)) 8058740: 4b99 ldr r3, [pc, #612] ; (80589a8 ) 8058742: 781b ldrb r3, [r3, #0] 8058744: b2db uxtb r3, r3 8058746: 4a99 ldr r2, [pc, #612] ; (80589ac ) 8058748: 338e adds r3, #142 ; 0x8e 805874a: 009b lsls r3, r3, #2 805874c: 4413 add r3, r2 805874e: 791b ldrb r3, [r3, #4] 8058750: b2db uxtb r3, r3 8058752: f003 0307 and.w r3, r3, #7 8058756: 2b00 cmp r3, #0 8058758: d033 beq.n 80587c2 805875a: 4b93 ldr r3, [pc, #588] ; (80589a8 ) 805875c: 781b ldrb r3, [r3, #0] 805875e: b2db uxtb r3, r3 8058760: 4a92 ldr r2, [pc, #584] ; (80589ac ) 8058762: 009b lsls r3, r3, #2 8058764: 4413 add r3, r2 8058766: f893 323d ldrb.w r3, [r3, #573] ; 0x23d 805876a: b2db uxtb r3, r3 805876c: f003 0307 and.w r3, r3, #7 8058770: 2b00 cmp r3, #0 8058772: d126 bne.n 80587c2 8058774: 4b8c ldr r3, [pc, #560] ; (80589a8 ) 8058776: 781b ldrb r3, [r3, #0] 8058778: b2db uxtb r3, r3 805877a: 4a8c ldr r2, [pc, #560] ; (80589ac ) 805877c: 009b lsls r3, r3, #2 805877e: 4413 add r3, r2 8058780: f893 323e ldrb.w r3, [r3, #574] ; 0x23e 8058784: b2db uxtb r3, r3 8058786: f003 0307 and.w r3, r3, #7 805878a: 2b00 cmp r3, #0 805878c: d119 bne.n 80587c2 { if(operand[Us1] >= pardata.DIAGN_A[CURR_POINT][Us1]) { 805878e: 4b88 ldr r3, [pc, #544] ; (80589b0 ) 8058790: ed93 7a00 vldr s14, [r3] 8058794: 4b84 ldr r3, [pc, #528] ; (80589a8 ) 8058796: 781b ldrb r3, [r3, #0] 8058798: b2db uxtb r3, r3 805879a: 4a84 ldr r2, [pc, #528] ; (80589ac ) 805879c: 011b lsls r3, r3, #4 805879e: 4413 add r3, r2 80587a0: f503 7377 add.w r3, r3, #988 ; 0x3dc 80587a4: edd3 7a00 vldr s15, [r3] 80587a8: eeb4 7ae7 vcmpe.f32 s14, s15 80587ac: eef1 fa10 vmrs APSR_nzcv, fpscr 80587b0: db03 blt.n 80587ba ALARM = true; 80587b2: 4b80 ldr r3, [pc, #512] ; (80589b4 ) 80587b4: 2201 movs r2, #1 80587b6: 701a strb r2, [r3, #0] if(operand[Us1] >= pardata.DIAGN_A[CURR_POINT][Us1]) { 80587b8: e285 b.n 8058cc6 } else ALARM = false; 80587ba: 4b7e ldr r3, [pc, #504] ; (80589b4 ) 80587bc: 2200 movs r2, #0 80587be: 701a strb r2, [r3, #0] if(operand[Us1] >= pardata.DIAGN_A[CURR_POINT][Us1]) { 80587c0: e281 b.n 8058cc6 } 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)) 80587c2: 4b79 ldr r3, [pc, #484] ; (80589a8 ) 80587c4: 781b ldrb r3, [r3, #0] 80587c6: b2db uxtb r3, r3 80587c8: 4a78 ldr r2, [pc, #480] ; (80589ac ) 80587ca: 338e adds r3, #142 ; 0x8e 80587cc: 009b lsls r3, r3, #2 80587ce: 4413 add r3, r2 80587d0: 791b ldrb r3, [r3, #4] 80587d2: b2db uxtb r3, r3 80587d4: f003 0307 and.w r3, r3, #7 80587d8: 2b00 cmp r3, #0 80587da: d133 bne.n 8058844 80587dc: 4b72 ldr r3, [pc, #456] ; (80589a8 ) 80587de: 781b ldrb r3, [r3, #0] 80587e0: b2db uxtb r3, r3 80587e2: 4a72 ldr r2, [pc, #456] ; (80589ac ) 80587e4: 009b lsls r3, r3, #2 80587e6: 4413 add r3, r2 80587e8: f893 323d ldrb.w r3, [r3, #573] ; 0x23d 80587ec: b2db uxtb r3, r3 80587ee: f003 0307 and.w r3, r3, #7 80587f2: 2b00 cmp r3, #0 80587f4: d026 beq.n 8058844 80587f6: 4b6c ldr r3, [pc, #432] ; (80589a8 ) 80587f8: 781b ldrb r3, [r3, #0] 80587fa: b2db uxtb r3, r3 80587fc: 4a6b ldr r2, [pc, #428] ; (80589ac ) 80587fe: 009b lsls r3, r3, #2 8058800: 4413 add r3, r2 8058802: f893 323e ldrb.w r3, [r3, #574] ; 0x23e 8058806: b2db uxtb r3, r3 8058808: f003 0307 and.w r3, r3, #7 805880c: 2b00 cmp r3, #0 805880e: d119 bne.n 8058844 { if(operand[Us2] >= pardata.DIAGN_A[CURR_POINT][Us2]) { 8058810: 4b67 ldr r3, [pc, #412] ; (80589b0 ) 8058812: ed93 7a01 vldr s14, [r3, #4] 8058816: 4b64 ldr r3, [pc, #400] ; (80589a8 ) 8058818: 781b ldrb r3, [r3, #0] 805881a: b2db uxtb r3, r3 805881c: 4a63 ldr r2, [pc, #396] ; (80589ac ) 805881e: 011b lsls r3, r3, #4 8058820: 4413 add r3, r2 8058822: f503 7378 add.w r3, r3, #992 ; 0x3e0 8058826: edd3 7a00 vldr s15, [r3] 805882a: eeb4 7ae7 vcmpe.f32 s14, s15 805882e: eef1 fa10 vmrs APSR_nzcv, fpscr 8058832: db03 blt.n 805883c ALARM = true; 8058834: 4b5f ldr r3, [pc, #380] ; (80589b4 ) 8058836: 2201 movs r2, #1 8058838: 701a strb r2, [r3, #0] if(operand[Us2] >= pardata.DIAGN_A[CURR_POINT][Us2]) { 805883a: e244 b.n 8058cc6 } else ALARM = false; 805883c: 4b5d ldr r3, [pc, #372] ; (80589b4 ) 805883e: 2200 movs r2, #0 8058840: 701a strb r2, [r3, #0] if(operand[Us2] >= pardata.DIAGN_A[CURR_POINT][Us2]) { 8058842: e240 b.n 8058cc6 } else if(((pardata.DIAGN_MASK[CURR_POINT][Us1] & 0x7)) && ((pardata.DIAGN_MASK[CURR_POINT][Us2] & 0x7)) && ((pardata.DIAGN_MASK[CURR_POINT][Us3] & 0x7) == 0)) 8058844: 4b58 ldr r3, [pc, #352] ; (80589a8 ) 8058846: 781b ldrb r3, [r3, #0] 8058848: b2db uxtb r3, r3 805884a: 4a58 ldr r2, [pc, #352] ; (80589ac ) 805884c: 338e adds r3, #142 ; 0x8e 805884e: 009b lsls r3, r3, #2 8058850: 4413 add r3, r2 8058852: 791b ldrb r3, [r3, #4] 8058854: b2db uxtb r3, r3 8058856: f003 0307 and.w r3, r3, #7 805885a: 2b00 cmp r3, #0 805885c: d063 beq.n 8058926 805885e: 4b52 ldr r3, [pc, #328] ; (80589a8 ) 8058860: 781b ldrb r3, [r3, #0] 8058862: b2db uxtb r3, r3 8058864: 4a51 ldr r2, [pc, #324] ; (80589ac ) 8058866: 009b lsls r3, r3, #2 8058868: 4413 add r3, r2 805886a: f893 323d ldrb.w r3, [r3, #573] ; 0x23d 805886e: b2db uxtb r3, r3 8058870: f003 0307 and.w r3, r3, #7 8058874: 2b00 cmp r3, #0 8058876: d056 beq.n 8058926 8058878: 4b4b ldr r3, [pc, #300] ; (80589a8 ) 805887a: 781b ldrb r3, [r3, #0] 805887c: b2db uxtb r3, r3 805887e: 4a4b ldr r2, [pc, #300] ; (80589ac ) 8058880: 009b lsls r3, r3, #2 8058882: 4413 add r3, r2 8058884: f893 323e ldrb.w r3, [r3, #574] ; 0x23e 8058888: b2db uxtb r3, r3 805888a: f003 0307 and.w r3, r3, #7 805888e: 2b00 cmp r3, #0 8058890: d149 bne.n 8058926 { if(operand[Us1] >= pardata.DIAGN_A[CURR_POINT][Us1]) { 8058892: 4b47 ldr r3, [pc, #284] ; (80589b0 ) 8058894: ed93 7a00 vldr s14, [r3] 8058898: 4b43 ldr r3, [pc, #268] ; (80589a8 ) 805889a: 781b ldrb r3, [r3, #0] 805889c: b2db uxtb r3, r3 805889e: 4a43 ldr r2, [pc, #268] ; (80589ac ) 80588a0: 011b lsls r3, r3, #4 80588a2: 4413 add r3, r2 80588a4: f503 7377 add.w r3, r3, #988 ; 0x3dc 80588a8: edd3 7a00 vldr s15, [r3] 80588ac: eeb4 7ae7 vcmpe.f32 s14, s15 80588b0: eef1 fa10 vmrs APSR_nzcv, fpscr 80588b4: db02 blt.n 80588bc t[Us1] = 1; 80588b6: 2301 movs r3, #1 80588b8: f887 31dc strb.w r3, [r7, #476] ; 0x1dc } if(operand[Us2] >= pardata.DIAGN_A[CURR_POINT][Us2]) { 80588bc: 4b3c ldr r3, [pc, #240] ; (80589b0 ) 80588be: ed93 7a01 vldr s14, [r3, #4] 80588c2: 4b39 ldr r3, [pc, #228] ; (80589a8 ) 80588c4: 781b ldrb r3, [r3, #0] 80588c6: b2db uxtb r3, r3 80588c8: 4a38 ldr r2, [pc, #224] ; (80589ac ) 80588ca: 011b lsls r3, r3, #4 80588cc: 4413 add r3, r2 80588ce: f503 7378 add.w r3, r3, #992 ; 0x3e0 80588d2: edd3 7a00 vldr s15, [r3] 80588d6: eeb4 7ae7 vcmpe.f32 s14, s15 80588da: eef1 fa10 vmrs APSR_nzcv, fpscr 80588de: db02 blt.n 80588e6 t[Us2] = 1; 80588e0: 2301 movs r3, #1 80588e2: f887 31dd strb.w r3, [r7, #477] ; 0x1dd } if(zn[0]) 80588e6: f897 31d8 ldrb.w r3, [r7, #472] ; 0x1d8 80588ea: 2b00 cmp r3, #0 80588ec: d00d beq.n 805890a ALARM = t[Us1] & t[Us2]; //and 80588ee: f897 21dc ldrb.w r2, [r7, #476] ; 0x1dc 80588f2: f897 31dd ldrb.w r3, [r7, #477] ; 0x1dd 80588f6: 4013 ands r3, r2 80588f8: b2db uxtb r3, r3 80588fa: 2b00 cmp r3, #0 80588fc: bf14 ite ne 80588fe: 2301 movne r3, #1 8058900: 2300 moveq r3, #0 8058902: b2da uxtb r2, r3 8058904: 4b2b ldr r3, [pc, #172] ; (80589b4 ) 8058906: 701a strb r2, [r3, #0] if(zn[0]) 8058908: e1dd b.n 8058cc6 else ALARM = t[Us1] | t[Us2]; //or 805890a: f897 21dc ldrb.w r2, [r7, #476] ; 0x1dc 805890e: f897 31dd ldrb.w r3, [r7, #477] ; 0x1dd 8058912: 4313 orrs r3, r2 8058914: b2db uxtb r3, r3 8058916: 2b00 cmp r3, #0 8058918: bf14 ite ne 805891a: 2301 movne r3, #1 805891c: 2300 moveq r3, #0 805891e: b2da uxtb r2, r3 8058920: 4b24 ldr r3, [pc, #144] ; (80589b4 ) 8058922: 701a strb r2, [r3, #0] if(zn[0]) 8058924: e1cf b.n 8058cc6 } 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))) 8058926: 4b20 ldr r3, [pc, #128] ; (80589a8 ) 8058928: 781b ldrb r3, [r3, #0] 805892a: b2db uxtb r3, r3 805892c: 4a1f ldr r2, [pc, #124] ; (80589ac ) 805892e: 338e adds r3, #142 ; 0x8e 8058930: 009b lsls r3, r3, #2 8058932: 4413 add r3, r2 8058934: 791b ldrb r3, [r3, #4] 8058936: b2db uxtb r3, r3 8058938: f003 0307 and.w r3, r3, #7 805893c: 2b00 cmp r3, #0 805893e: d13b bne.n 80589b8 8058940: 4b19 ldr r3, [pc, #100] ; (80589a8 ) 8058942: 781b ldrb r3, [r3, #0] 8058944: b2db uxtb r3, r3 8058946: 4a19 ldr r2, [pc, #100] ; (80589ac ) 8058948: 009b lsls r3, r3, #2 805894a: 4413 add r3, r2 805894c: f893 323d ldrb.w r3, [r3, #573] ; 0x23d 8058950: b2db uxtb r3, r3 8058952: f003 0307 and.w r3, r3, #7 8058956: 2b00 cmp r3, #0 8058958: d12e bne.n 80589b8 805895a: 4b13 ldr r3, [pc, #76] ; (80589a8 ) 805895c: 781b ldrb r3, [r3, #0] 805895e: b2db uxtb r3, r3 8058960: 4a12 ldr r2, [pc, #72] ; (80589ac ) 8058962: 009b lsls r3, r3, #2 8058964: 4413 add r3, r2 8058966: f893 323e ldrb.w r3, [r3, #574] ; 0x23e 805896a: b2db uxtb r3, r3 805896c: f003 0307 and.w r3, r3, #7 8058970: 2b00 cmp r3, #0 8058972: d021 beq.n 80589b8 { if(operand[Us3] >= pardata.DIAGN_A[CURR_POINT][Us3]) { 8058974: 4b0e ldr r3, [pc, #56] ; (80589b0 ) 8058976: ed93 7a02 vldr s14, [r3, #8] 805897a: 4b0b ldr r3, [pc, #44] ; (80589a8 ) 805897c: 781b ldrb r3, [r3, #0] 805897e: b2db uxtb r3, r3 8058980: 4a0a ldr r2, [pc, #40] ; (80589ac ) 8058982: 333e adds r3, #62 ; 0x3e 8058984: 011b lsls r3, r3, #4 8058986: 4413 add r3, r2 8058988: 3304 adds r3, #4 805898a: edd3 7a00 vldr s15, [r3] 805898e: eeb4 7ae7 vcmpe.f32 s14, s15 8058992: eef1 fa10 vmrs APSR_nzcv, fpscr 8058996: db03 blt.n 80589a0 ALARM = true; 8058998: 4b06 ldr r3, [pc, #24] ; (80589b4 ) 805899a: 2201 movs r2, #1 805899c: 701a strb r2, [r3, #0] if(operand[Us3] >= pardata.DIAGN_A[CURR_POINT][Us3]) { 805899e: e192 b.n 8058cc6 } else ALARM = false; 80589a0: 4b04 ldr r3, [pc, #16] ; (80589b4 ) 80589a2: 2200 movs r2, #0 80589a4: 701a strb r2, [r3, #0] if(operand[Us3] >= pardata.DIAGN_A[CURR_POINT][Us3]) { 80589a6: e18e b.n 8058cc6 80589a8: 20021011 .word 0x20021011 80589ac: 20023e60 .word 0x20023e60 80589b0: 200268d8 .word 0x200268d8 80589b4: 20021015 .word 0x20021015 } else if(((pardata.DIAGN_MASK[CURR_POINT][Us1] & 0x7)) && ((pardata.DIAGN_MASK[CURR_POINT][Us2] & 0x7) == 0) && ((pardata.DIAGN_MASK[CURR_POINT][Us3] & 0x7))) 80589b8: 4bb8 ldr r3, [pc, #736] ; (8058c9c ) 80589ba: 781b ldrb r3, [r3, #0] 80589bc: b2db uxtb r3, r3 80589be: 4ab8 ldr r2, [pc, #736] ; (8058ca0 ) 80589c0: 338e adds r3, #142 ; 0x8e 80589c2: 009b lsls r3, r3, #2 80589c4: 4413 add r3, r2 80589c6: 791b ldrb r3, [r3, #4] 80589c8: b2db uxtb r3, r3 80589ca: f003 0307 and.w r3, r3, #7 80589ce: 2b00 cmp r3, #0 80589d0: d063 beq.n 8058a9a 80589d2: 4bb2 ldr r3, [pc, #712] ; (8058c9c ) 80589d4: 781b ldrb r3, [r3, #0] 80589d6: b2db uxtb r3, r3 80589d8: 4ab1 ldr r2, [pc, #708] ; (8058ca0 ) 80589da: 009b lsls r3, r3, #2 80589dc: 4413 add r3, r2 80589de: f893 323d ldrb.w r3, [r3, #573] ; 0x23d 80589e2: b2db uxtb r3, r3 80589e4: f003 0307 and.w r3, r3, #7 80589e8: 2b00 cmp r3, #0 80589ea: d156 bne.n 8058a9a 80589ec: 4bab ldr r3, [pc, #684] ; (8058c9c ) 80589ee: 781b ldrb r3, [r3, #0] 80589f0: b2db uxtb r3, r3 80589f2: 4aab ldr r2, [pc, #684] ; (8058ca0 ) 80589f4: 009b lsls r3, r3, #2 80589f6: 4413 add r3, r2 80589f8: f893 323e ldrb.w r3, [r3, #574] ; 0x23e 80589fc: b2db uxtb r3, r3 80589fe: f003 0307 and.w r3, r3, #7 8058a02: 2b00 cmp r3, #0 8058a04: d049 beq.n 8058a9a { if(operand[Us1] >= pardata.DIAGN_A[CURR_POINT][Us1]) { 8058a06: 4ba7 ldr r3, [pc, #668] ; (8058ca4 ) 8058a08: ed93 7a00 vldr s14, [r3] 8058a0c: 4ba3 ldr r3, [pc, #652] ; (8058c9c ) 8058a0e: 781b ldrb r3, [r3, #0] 8058a10: b2db uxtb r3, r3 8058a12: 4aa3 ldr r2, [pc, #652] ; (8058ca0 ) 8058a14: 011b lsls r3, r3, #4 8058a16: 4413 add r3, r2 8058a18: f503 7377 add.w r3, r3, #988 ; 0x3dc 8058a1c: edd3 7a00 vldr s15, [r3] 8058a20: eeb4 7ae7 vcmpe.f32 s14, s15 8058a24: eef1 fa10 vmrs APSR_nzcv, fpscr 8058a28: db02 blt.n 8058a30 t[Us1] = 1; 8058a2a: 2301 movs r3, #1 8058a2c: f887 31dc strb.w r3, [r7, #476] ; 0x1dc } if(operand[Us3] >= pardata.DIAGN_A[CURR_POINT][Us3]) { 8058a30: 4b9c ldr r3, [pc, #624] ; (8058ca4 ) 8058a32: ed93 7a02 vldr s14, [r3, #8] 8058a36: 4b99 ldr r3, [pc, #612] ; (8058c9c ) 8058a38: 781b ldrb r3, [r3, #0] 8058a3a: b2db uxtb r3, r3 8058a3c: 4a98 ldr r2, [pc, #608] ; (8058ca0 ) 8058a3e: 333e adds r3, #62 ; 0x3e 8058a40: 011b lsls r3, r3, #4 8058a42: 4413 add r3, r2 8058a44: 3304 adds r3, #4 8058a46: edd3 7a00 vldr s15, [r3] 8058a4a: eeb4 7ae7 vcmpe.f32 s14, s15 8058a4e: eef1 fa10 vmrs APSR_nzcv, fpscr 8058a52: db02 blt.n 8058a5a t[Us3] = 1; 8058a54: 2301 movs r3, #1 8058a56: f887 31de strb.w r3, [r7, #478] ; 0x1de } if(zn[1]) 8058a5a: f897 31d9 ldrb.w r3, [r7, #473] ; 0x1d9 8058a5e: 2b00 cmp r3, #0 8058a60: d00d beq.n 8058a7e ALARM = t[Us1] & t[Us3]; //and 8058a62: f897 21dc ldrb.w r2, [r7, #476] ; 0x1dc 8058a66: f897 31de ldrb.w r3, [r7, #478] ; 0x1de 8058a6a: 4013 ands r3, r2 8058a6c: b2db uxtb r3, r3 8058a6e: 2b00 cmp r3, #0 8058a70: bf14 ite ne 8058a72: 2301 movne r3, #1 8058a74: 2300 moveq r3, #0 8058a76: b2da uxtb r2, r3 8058a78: 4b8b ldr r3, [pc, #556] ; (8058ca8 ) 8058a7a: 701a strb r2, [r3, #0] if(zn[1]) 8058a7c: e123 b.n 8058cc6 else ALARM = t[Us1] | t[Us3]; //or 8058a7e: f897 21dc ldrb.w r2, [r7, #476] ; 0x1dc 8058a82: f897 31de ldrb.w r3, [r7, #478] ; 0x1de 8058a86: 4313 orrs r3, r2 8058a88: b2db uxtb r3, r3 8058a8a: 2b00 cmp r3, #0 8058a8c: bf14 ite ne 8058a8e: 2301 movne r3, #1 8058a90: 2300 moveq r3, #0 8058a92: b2da uxtb r2, r3 8058a94: 4b84 ldr r3, [pc, #528] ; (8058ca8 ) 8058a96: 701a strb r2, [r3, #0] if(zn[1]) 8058a98: e115 b.n 8058cc6 } else if(((pardata.DIAGN_MASK[CURR_POINT][Us1] & 0x7) == 0) && ((pardata.DIAGN_MASK[CURR_POINT][Us2] & 0x7)) && ((pardata.DIAGN_MASK[CURR_POINT][Us3] & 0x7))) 8058a9a: 4b80 ldr r3, [pc, #512] ; (8058c9c ) 8058a9c: 781b ldrb r3, [r3, #0] 8058a9e: b2db uxtb r3, r3 8058aa0: 4a7f ldr r2, [pc, #508] ; (8058ca0 ) 8058aa2: 338e adds r3, #142 ; 0x8e 8058aa4: 009b lsls r3, r3, #2 8058aa6: 4413 add r3, r2 8058aa8: 791b ldrb r3, [r3, #4] 8058aaa: b2db uxtb r3, r3 8058aac: f003 0307 and.w r3, r3, #7 8058ab0: 2b00 cmp r3, #0 8058ab2: d163 bne.n 8058b7c 8058ab4: 4b79 ldr r3, [pc, #484] ; (8058c9c ) 8058ab6: 781b ldrb r3, [r3, #0] 8058ab8: b2db uxtb r3, r3 8058aba: 4a79 ldr r2, [pc, #484] ; (8058ca0 ) 8058abc: 009b lsls r3, r3, #2 8058abe: 4413 add r3, r2 8058ac0: f893 323d ldrb.w r3, [r3, #573] ; 0x23d 8058ac4: b2db uxtb r3, r3 8058ac6: f003 0307 and.w r3, r3, #7 8058aca: 2b00 cmp r3, #0 8058acc: d056 beq.n 8058b7c 8058ace: 4b73 ldr r3, [pc, #460] ; (8058c9c ) 8058ad0: 781b ldrb r3, [r3, #0] 8058ad2: b2db uxtb r3, r3 8058ad4: 4a72 ldr r2, [pc, #456] ; (8058ca0 ) 8058ad6: 009b lsls r3, r3, #2 8058ad8: 4413 add r3, r2 8058ada: f893 323e ldrb.w r3, [r3, #574] ; 0x23e 8058ade: b2db uxtb r3, r3 8058ae0: f003 0307 and.w r3, r3, #7 8058ae4: 2b00 cmp r3, #0 8058ae6: d049 beq.n 8058b7c { if(operand[Us2] >= pardata.DIAGN_A[CURR_POINT][Us2]) { 8058ae8: 4b6e ldr r3, [pc, #440] ; (8058ca4 ) 8058aea: ed93 7a01 vldr s14, [r3, #4] 8058aee: 4b6b ldr r3, [pc, #428] ; (8058c9c ) 8058af0: 781b ldrb r3, [r3, #0] 8058af2: b2db uxtb r3, r3 8058af4: 4a6a ldr r2, [pc, #424] ; (8058ca0 ) 8058af6: 011b lsls r3, r3, #4 8058af8: 4413 add r3, r2 8058afa: f503 7378 add.w r3, r3, #992 ; 0x3e0 8058afe: edd3 7a00 vldr s15, [r3] 8058b02: eeb4 7ae7 vcmpe.f32 s14, s15 8058b06: eef1 fa10 vmrs APSR_nzcv, fpscr 8058b0a: db02 blt.n 8058b12 t[Us2] = 1; 8058b0c: 2301 movs r3, #1 8058b0e: f887 31dd strb.w r3, [r7, #477] ; 0x1dd } if(operand[Us3] >= pardata.DIAGN_A[CURR_POINT][Us3]) { 8058b12: 4b64 ldr r3, [pc, #400] ; (8058ca4 ) 8058b14: ed93 7a02 vldr s14, [r3, #8] 8058b18: 4b60 ldr r3, [pc, #384] ; (8058c9c ) 8058b1a: 781b ldrb r3, [r3, #0] 8058b1c: b2db uxtb r3, r3 8058b1e: 4a60 ldr r2, [pc, #384] ; (8058ca0 ) 8058b20: 333e adds r3, #62 ; 0x3e 8058b22: 011b lsls r3, r3, #4 8058b24: 4413 add r3, r2 8058b26: 3304 adds r3, #4 8058b28: edd3 7a00 vldr s15, [r3] 8058b2c: eeb4 7ae7 vcmpe.f32 s14, s15 8058b30: eef1 fa10 vmrs APSR_nzcv, fpscr 8058b34: db02 blt.n 8058b3c t[Us3] = 1; 8058b36: 2301 movs r3, #1 8058b38: f887 31de strb.w r3, [r7, #478] ; 0x1de } if(zn[1]) 8058b3c: f897 31d9 ldrb.w r3, [r7, #473] ; 0x1d9 8058b40: 2b00 cmp r3, #0 8058b42: d00d beq.n 8058b60 ALARM = t[Us2] & t[Us3]; //and 8058b44: f897 21dd ldrb.w r2, [r7, #477] ; 0x1dd 8058b48: f897 31de ldrb.w r3, [r7, #478] ; 0x1de 8058b4c: 4013 ands r3, r2 8058b4e: b2db uxtb r3, r3 8058b50: 2b00 cmp r3, #0 8058b52: bf14 ite ne 8058b54: 2301 movne r3, #1 8058b56: 2300 moveq r3, #0 8058b58: b2da uxtb r2, r3 8058b5a: 4b53 ldr r3, [pc, #332] ; (8058ca8 ) 8058b5c: 701a strb r2, [r3, #0] if(zn[1]) 8058b5e: e0b2 b.n 8058cc6 else ALARM = t[Us2] | t[Us3]; //or 8058b60: f897 21dd ldrb.w r2, [r7, #477] ; 0x1dd 8058b64: f897 31de ldrb.w r3, [r7, #478] ; 0x1de 8058b68: 4313 orrs r3, r2 8058b6a: b2db uxtb r3, r3 8058b6c: 2b00 cmp r3, #0 8058b6e: bf14 ite ne 8058b70: 2301 movne r3, #1 8058b72: 2300 moveq r3, #0 8058b74: b2da uxtb r2, r3 8058b76: 4b4c ldr r3, [pc, #304] ; (8058ca8 ) 8058b78: 701a strb r2, [r3, #0] if(zn[1]) 8058b7a: e0a4 b.n 8058cc6 } else if(((pardata.DIAGN_MASK[CURR_POINT][Us1] & 0x7)) && ((pardata.DIAGN_MASK[CURR_POINT][Us2] & 0x7)) && ((pardata.DIAGN_MASK[CURR_POINT][Us3] & 0x7))) 8058b7c: 4b47 ldr r3, [pc, #284] ; (8058c9c ) 8058b7e: 781b ldrb r3, [r3, #0] 8058b80: b2db uxtb r3, r3 8058b82: 4a47 ldr r2, [pc, #284] ; (8058ca0 ) 8058b84: 338e adds r3, #142 ; 0x8e 8058b86: 009b lsls r3, r3, #2 8058b88: 4413 add r3, r2 8058b8a: 791b ldrb r3, [r3, #4] 8058b8c: b2db uxtb r3, r3 8058b8e: f003 0307 and.w r3, r3, #7 8058b92: 2b00 cmp r3, #0 8058b94: f000 8097 beq.w 8058cc6 8058b98: 4b40 ldr r3, [pc, #256] ; (8058c9c ) 8058b9a: 781b ldrb r3, [r3, #0] 8058b9c: b2db uxtb r3, r3 8058b9e: 4a40 ldr r2, [pc, #256] ; (8058ca0 ) 8058ba0: 009b lsls r3, r3, #2 8058ba2: 4413 add r3, r2 8058ba4: f893 323d ldrb.w r3, [r3, #573] ; 0x23d 8058ba8: b2db uxtb r3, r3 8058baa: f003 0307 and.w r3, r3, #7 8058bae: 2b00 cmp r3, #0 8058bb0: f000 8089 beq.w 8058cc6 8058bb4: 4b39 ldr r3, [pc, #228] ; (8058c9c ) 8058bb6: 781b ldrb r3, [r3, #0] 8058bb8: b2db uxtb r3, r3 8058bba: 4a39 ldr r2, [pc, #228] ; (8058ca0 ) 8058bbc: 009b lsls r3, r3, #2 8058bbe: 4413 add r3, r2 8058bc0: f893 323e ldrb.w r3, [r3, #574] ; 0x23e 8058bc4: b2db uxtb r3, r3 8058bc6: f003 0307 and.w r3, r3, #7 8058bca: 2b00 cmp r3, #0 8058bcc: d07b beq.n 8058cc6 { if(operand[Us1] >= pardata.DIAGN_A[CURR_POINT][Us1]) { 8058bce: 4b35 ldr r3, [pc, #212] ; (8058ca4 ) 8058bd0: ed93 7a00 vldr s14, [r3] 8058bd4: 4b31 ldr r3, [pc, #196] ; (8058c9c ) 8058bd6: 781b ldrb r3, [r3, #0] 8058bd8: b2db uxtb r3, r3 8058bda: 4a31 ldr r2, [pc, #196] ; (8058ca0 ) 8058bdc: 011b lsls r3, r3, #4 8058bde: 4413 add r3, r2 8058be0: f503 7377 add.w r3, r3, #988 ; 0x3dc 8058be4: edd3 7a00 vldr s15, [r3] 8058be8: eeb4 7ae7 vcmpe.f32 s14, s15 8058bec: eef1 fa10 vmrs APSR_nzcv, fpscr 8058bf0: db02 blt.n 8058bf8 t[Us1] = 1; 8058bf2: 2301 movs r3, #1 8058bf4: f887 31dc strb.w r3, [r7, #476] ; 0x1dc } if(operand[Us2] >= pardata.DIAGN_A[CURR_POINT][Us2]) { 8058bf8: 4b2a ldr r3, [pc, #168] ; (8058ca4 ) 8058bfa: ed93 7a01 vldr s14, [r3, #4] 8058bfe: 4b27 ldr r3, [pc, #156] ; (8058c9c ) 8058c00: 781b ldrb r3, [r3, #0] 8058c02: b2db uxtb r3, r3 8058c04: 4a26 ldr r2, [pc, #152] ; (8058ca0 ) 8058c06: 011b lsls r3, r3, #4 8058c08: 4413 add r3, r2 8058c0a: f503 7378 add.w r3, r3, #992 ; 0x3e0 8058c0e: edd3 7a00 vldr s15, [r3] 8058c12: eeb4 7ae7 vcmpe.f32 s14, s15 8058c16: eef1 fa10 vmrs APSR_nzcv, fpscr 8058c1a: db02 blt.n 8058c22 t[Us2] = 1; 8058c1c: 2301 movs r3, #1 8058c1e: f887 31dd strb.w r3, [r7, #477] ; 0x1dd } if(operand[Us3] >= pardata.DIAGN_A[CURR_POINT][Us3]) { 8058c22: 4b20 ldr r3, [pc, #128] ; (8058ca4 ) 8058c24: ed93 7a02 vldr s14, [r3, #8] 8058c28: 4b1c ldr r3, [pc, #112] ; (8058c9c ) 8058c2a: 781b ldrb r3, [r3, #0] 8058c2c: b2db uxtb r3, r3 8058c2e: 4a1c ldr r2, [pc, #112] ; (8058ca0 ) 8058c30: 333e adds r3, #62 ; 0x3e 8058c32: 011b lsls r3, r3, #4 8058c34: 4413 add r3, r2 8058c36: 3304 adds r3, #4 8058c38: edd3 7a00 vldr s15, [r3] 8058c3c: eeb4 7ae7 vcmpe.f32 s14, s15 8058c40: eef1 fa10 vmrs APSR_nzcv, fpscr 8058c44: db02 blt.n 8058c4c t[Us3] = 1; 8058c46: 2301 movs r3, #1 8058c48: f887 31de strb.w r3, [r7, #478] ; 0x1de } if(zn[0]) 8058c4c: f897 31d8 ldrb.w r3, [r7, #472] ; 0x1d8 8058c50: 2b00 cmp r3, #0 8058c52: d008 beq.n 8058c66 rez[0] = t[Us1] & t[Us2]; //and 8058c54: f897 21dc ldrb.w r2, [r7, #476] ; 0x1dc 8058c58: f897 31dd ldrb.w r3, [r7, #477] ; 0x1dd 8058c5c: 4013 ands r3, r2 8058c5e: b2db uxtb r3, r3 8058c60: f887 31d4 strb.w r3, [r7, #468] ; 0x1d4 8058c64: e007 b.n 8058c76 else rez[0] = t[Us1] | t[Us2]; //or 8058c66: f897 21dc ldrb.w r2, [r7, #476] ; 0x1dc 8058c6a: f897 31dd ldrb.w r3, [r7, #477] ; 0x1dd 8058c6e: 4313 orrs r3, r2 8058c70: b2db uxtb r3, r3 8058c72: f887 31d4 strb.w r3, [r7, #468] ; 0x1d4 if(zn[1]) 8058c76: f897 31d9 ldrb.w r3, [r7, #473] ; 0x1d9 8058c7a: 2b00 cmp r3, #0 8058c7c: d016 beq.n 8058cac ALARM = rez[0] & t[Us3]; //and 8058c7e: f897 21d4 ldrb.w r2, [r7, #468] ; 0x1d4 8058c82: f897 31de ldrb.w r3, [r7, #478] ; 0x1de 8058c86: 4013 ands r3, r2 8058c88: b2db uxtb r3, r3 8058c8a: 2b00 cmp r3, #0 8058c8c: bf14 ite ne 8058c8e: 2301 movne r3, #1 8058c90: 2300 moveq r3, #0 8058c92: b2da uxtb r2, r3 8058c94: 4b04 ldr r3, [pc, #16] ; (8058ca8 ) 8058c96: 701a strb r2, [r3, #0] 8058c98: e015 b.n 8058cc6 8058c9a: bf00 nop 8058c9c: 20021011 .word 0x20021011 8058ca0: 20023e60 .word 0x20023e60 8058ca4: 200268d8 .word 0x200268d8 8058ca8: 20021015 .word 0x20021015 else ALARM = rez[0] | t[Us3]; //or 8058cac: f897 21d4 ldrb.w r2, [r7, #468] ; 0x1d4 8058cb0: f897 31de ldrb.w r3, [r7, #478] ; 0x1de 8058cb4: 4313 orrs r3, r2 8058cb6: b2db uxtb r3, r3 8058cb8: 2b00 cmp r3, #0 8058cba: bf14 ite ne 8058cbc: 2301 movne r3, #1 8058cbe: 2300 moveq r3, #0 8058cc0: b2da uxtb r2, r3 8058cc2: 4bb1 ldr r3, [pc, #708] ; (8058f88 ) 8058cc4: 701a strb r2, [r3, #0] } for(k = 0; k < NUM_OPERANDS; k++) 8058cc6: 2300 movs r3, #0 8058cc8: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 8058ccc: e033 b.n 8058d36 { if((pardata.DIAGN_HP[CURR_POINT][k] < 2.0f) && ((pardata.DIAGN_MASK[CURR_POINT][k] & 0x7) > DIAGN_ACC)) 8058cce: 4baf ldr r3, [pc, #700] ; (8058f8c ) 8058cd0: 781b ldrb r3, [r3, #0] 8058cd2: b2db uxtb r3, r3 8058cd4: 461a mov r2, r3 8058cd6: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8058cda: 49ad ldr r1, [pc, #692] ; (8058f90 ) 8058cdc: 0092 lsls r2, r2, #2 8058cde: 4413 add r3, r2 8058ce0: 3396 adds r3, #150 ; 0x96 8058ce2: 009b lsls r3, r3, #2 8058ce4: 440b add r3, r1 8058ce6: 3304 adds r3, #4 8058ce8: edd3 7a00 vldr s15, [r3] 8058cec: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 8058cf0: eef4 7ac7 vcmpe.f32 s15, s14 8058cf4: eef1 fa10 vmrs APSR_nzcv, fpscr 8058cf8: d518 bpl.n 8058d2c 8058cfa: 4ba4 ldr r3, [pc, #656] ; (8058f8c ) 8058cfc: 781b ldrb r3, [r3, #0] 8058cfe: b2db uxtb r3, r3 8058d00: 461a mov r2, r3 8058d02: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8058d06: 49a2 ldr r1, [pc, #648] ; (8058f90 ) 8058d08: 0092 lsls r2, r2, #2 8058d0a: 440a add r2, r1 8058d0c: 4413 add r3, r2 8058d0e: f503 730f add.w r3, r3, #572 ; 0x23c 8058d12: 781b ldrb r3, [r3, #0] 8058d14: b2db uxtb r3, r3 8058d16: f003 0307 and.w r3, r3, #7 8058d1a: 2b01 cmp r3, #1 8058d1c: dd06 ble.n 8058d2c { operand[k] = -1.0f; 8058d1e: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8058d22: 4a9c ldr r2, [pc, #624] ; (8058f94 ) 8058d24: 009b lsls r3, r3, #2 8058d26: 4413 add r3, r2 8058d28: 4a9b ldr r2, [pc, #620] ; (8058f98 ) 8058d2a: 601a str r2, [r3, #0] for(k = 0; k < NUM_OPERANDS; k++) 8058d2c: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8058d30: 3301 adds r3, #1 8058d32: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 8058d36: 4b99 ldr r3, [pc, #612] ; (8058f9c ) 8058d38: 781b ldrb r3, [r3, #0] 8058d3a: b2db uxtb r3, r3 8058d3c: 461a mov r2, r3 8058d3e: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8058d42: 429a cmp r2, r3 8058d44: d8c3 bhi.n 8058cce if((Flag_Set_KU == 0) && (Stability > (Nr * 4))) 8058d46: e005 b.n 8058d54 } } } else { RepeatKm = true; 8058d48: 4b95 ldr r3, [pc, #596] ; (8058fa0 ) 8058d4a: 2201 movs r2, #1 8058d4c: 701a strb r2, [r3, #0] timeRelax = 48; 8058d4e: 4b95 ldr r3, [pc, #596] ; (8058fa4 ) 8058d50: 2230 movs r2, #48 ; 0x30 8058d52: 601a str r2, [r3, #0] } tick = HAL_GetTick() - tick; 8058d54: f05a fa70 bl 80b3238 8058d58: 4602 mov r2, r0 8058d5a: f8d7 321c ldr.w r3, [r7, #540] ; 0x21c 8058d5e: 1ad3 subs r3, r2, r3 8058d60: f8c7 321c str.w r3, [r7, #540] ; 0x21c if(tick > maxtick) 8058d64: 4b90 ldr r3, [pc, #576] ; (8058fa8 ) 8058d66: 681b ldr r3, [r3, #0] 8058d68: f8d7 221c ldr.w r2, [r7, #540] ; 0x21c 8058d6c: 429a cmp r2, r3 8058d6e: f24b 8196 bls.w 806409e { maxtick = tick; 8058d72: 4a8d ldr r2, [pc, #564] ; (8058fa8 ) 8058d74: f8d7 321c ldr.w r3, [r7, #540] ; 0x21c 8058d78: 6013 str r3, [r2, #0] if(maxtick > 24384000) 8058d7a: 4b8b ldr r3, [pc, #556] ; (8058fa8 ) 8058d7c: 681b ldr r3, [r3, #0] 8058d7e: 4a8b ldr r2, [pc, #556] ; (8058fac ) 8058d80: 4293 cmp r3, r2 8058d82: f24b 818c bls.w 806409e { tick = 0; 8058d86: 2300 movs r3, #0 8058d88: f8c7 321c str.w r3, [r7, #540] ; 0x21c } } } break; 8058d8c: f00b b987 b.w 806409e case VIB: case FRAN: if(measuring) 8058d90: 4b87 ldr r3, [pc, #540] ; (8058fb0 ) 8058d92: 781b ldrb r3, [r3, #0] 8058d94: b2db uxtb r3, r3 8058d96: 2b00 cmp r3, #0 8058d98: f00b 8183 beq.w 80640a2 { tick = DWT->CYCCNT; 8058d9c: 4b85 ldr r3, [pc, #532] ; (8058fb4 ) 8058d9e: 685b ldr r3, [r3, #4] 8058da0: f8c7 321c str.w r3, [r7, #540] ; 0x21c GetData(); 8058da4: f00b fc42 bl 806462c j = 0; 8058da8: 2300 movs r3, #0 8058daa: f8c7 31cc str.w r3, [r7, #460] ; 0x1cc if(pardata.OPTIONS & 0x4) 8058dae: 4b78 ldr r3, [pc, #480] ; (8058f90 ) 8058db0: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8058db4: f003 0304 and.w r3, r3, #4 8058db8: 2b00 cmp r3, #0 8058dba: d005 beq.n 8058dc8 CalculateGain(Ns); 8058dbc: 4b7e ldr r3, [pc, #504] ; (8058fb8 ) 8058dbe: 681b ldr r3, [r3, #0] 8058dc0: 4618 mov r0, r3 8058dc2: f7fc fe17 bl 80559f4 8058dc6: e02e b.n 8058e26 else { Stability = (Nr * 4) + 1; 8058dc8: 4b7c ldr r3, [pc, #496] ; (8058fbc ) 8058dca: 881b ldrh r3, [r3, #0] 8058dcc: b29b uxth r3, r3 8058dce: 009b lsls r3, r3, #2 8058dd0: 3301 adds r3, #1 8058dd2: 461a mov r2, r3 8058dd4: 4b7a ldr r3, [pc, #488] ; (8058fc0 ) 8058dd6: 601a str r2, [r3, #0] for(i = 0; i < Ns; i++) 8058dd8: 2300 movs r3, #0 8058dda: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8058dde: e011 b.n 8058e04 { if(In16[i].lg > 0xE00000) 8058de0: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8058de4: 4a77 ldr r2, [pc, #476] ; (8058fc4 ) 8058de6: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8058dea: f5b3 0f60 cmp.w r3, #14680064 ; 0xe00000 8058dee: d904 bls.n 8058dfa j++; 8058df0: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 8058df4: 3301 adds r3, #1 8058df6: f8c7 31cc str.w r3, [r7, #460] ; 0x1cc for(i = 0; i < Ns; i++) 8058dfa: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8058dfe: 3301 adds r3, #1 8058e00: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8058e04: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8058e08: 4b6b ldr r3, [pc, #428] ; (8058fb8 ) 8058e0a: 681b ldr r3, [r3, #0] 8058e0c: 429a cmp r2, r3 8058e0e: d3e7 bcc.n 8058de0 } if(j >= 2) 8058e10: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 8058e14: 2b01 cmp r3, #1 8058e16: d903 bls.n 8058e20 OVERDRIVE = true; 8058e18: 4b6b ldr r3, [pc, #428] ; (8058fc8 ) 8058e1a: 2201 movs r2, #1 8058e1c: 701a strb r2, [r3, #0] 8058e1e: e002 b.n 8058e26 else OVERDRIVE = false; 8058e20: 4b69 ldr r3, [pc, #420] ; (8058fc8 ) 8058e22: 2200 movs r2, #0 8058e24: 701a strb r2, [r3, #0] } if(Flag_Set_KU) 8058e26: 4b69 ldr r3, [pc, #420] ; (8058fcc ) 8058e28: 781b ldrb r3, [r3, #0] 8058e2a: b2db uxtb r3, r3 8058e2c: 2b00 cmp r3, #0 8058e2e: d02d beq.n 8058e8c { Stability = 0; 8058e30: 4b63 ldr r3, [pc, #396] ; (8058fc0 ) 8058e32: 2200 movs r2, #0 8058e34: 601a str r2, [r3, #0] NeedFreq = false; 8058e36: 4b66 ldr r3, [pc, #408] ; (8058fd0 ) 8058e38: 2200 movs r2, #0 8058e3a: 701a strb r2, [r3, #0] AvgCnt = 0; 8058e3c: 4b65 ldr r3, [pc, #404] ; (8058fd4 ) 8058e3e: 2200 movs r2, #0 8058e40: 601a str r2, [r3, #0] MeanCnt = 0; 8058e42: 4b65 ldr r3, [pc, #404] ; (8058fd8 ) 8058e44: 2200 movs r2, #0 8058e46: 601a str r2, [r3, #0] CNT_MEAN_FREQ = 0; 8058e48: 4b64 ldr r3, [pc, #400] ; (8058fdc ) 8058e4a: 2200 movs r2, #0 8058e4c: 601a str r2, [r3, #0] MEAN_FREQ = 0.0f; 8058e4e: 4b64 ldr r3, [pc, #400] ; (8058fe0 ) 8058e50: f04f 0200 mov.w r2, #0 8058e54: 601a str r2, [r3, #0] arm_fill_f32(0.0f, rmsAVS, 3); 8058e56: 2103 movs r1, #3 8058e58: 4862 ldr r0, [pc, #392] ; (8058fe4 ) 8058e5a: ed9f 0a63 vldr s0, [pc, #396] ; 8058fe8 8058e5e: f070 ff51 bl 80c9d04 arm_fill_f32(0.0f, peakAVS, 3); 8058e62: 2103 movs r1, #3 8058e64: 4861 ldr r0, [pc, #388] ; (8058fec ) 8058e66: ed9f 0a60 vldr s0, [pc, #384] ; 8058fe8 8058e6a: f070 ff4b bl 80c9d04 arm_fill_f32(0.0f, &ACC_PEAK_WR(0), 512 * 6u); 8058e6e: f44f 6140 mov.w r1, #3072 ; 0xc00 8058e72: 485f ldr r0, [pc, #380] ; (8058ff0 ) 8058e74: ed9f 0a5c vldr s0, [pc, #368] ; 8058fe8 8058e78: f070 ff44 bl 80c9d04 NSamples = 0xffffffff; 8058e7c: 4b5d ldr r3, [pc, #372] ; (8058ff4 ) 8058e7e: f04f 32ff mov.w r2, #4294967295 8058e82: 601a str r2, [r3, #0] timeRelax = 48; 8058e84: 4b47 ldr r3, [pc, #284] ; (8058fa4 ) 8058e86: 2230 movs r2, #48 ; 0x30 8058e88: 601a str r2, [r3, #0] 8058e8a: e00d b.n 8058ea8 } else { if(Stability <= (Nr * 4)) 8058e8c: 4b4b ldr r3, [pc, #300] ; (8058fbc ) 8058e8e: 881b ldrh r3, [r3, #0] 8058e90: b29b uxth r3, r3 8058e92: 009b lsls r3, r3, #2 8058e94: 461a mov r2, r3 8058e96: 4b4a ldr r3, [pc, #296] ; (8058fc0 ) 8058e98: 681b ldr r3, [r3, #0] 8058e9a: 429a cmp r2, r3 8058e9c: d304 bcc.n 8058ea8 Stability++; 8058e9e: 4b48 ldr r3, [pc, #288] ; (8058fc0 ) 8058ea0: 681b ldr r3, [r3, #0] 8058ea2: 3301 adds r3, #1 8058ea4: 4a46 ldr r2, [pc, #280] ; (8058fc0 ) 8058ea6: 6013 str r3, [r2, #0] } if((Flag_Set_KU == 0) && (Stability > (Nr * 4))) // åñëè àâòîóñèëåíèå íîðì 8058ea8: 4b48 ldr r3, [pc, #288] ; (8058fcc ) 8058eaa: 781b ldrb r3, [r3, #0] 8058eac: b2db uxtb r3, r3 8058eae: 2b00 cmp r3, #0 8058eb0: f041 8364 bne.w 805a57c 8058eb4: 4b41 ldr r3, [pc, #260] ; (8058fbc ) 8058eb6: 881b ldrh r3, [r3, #0] 8058eb8: b29b uxth r3, r3 8058eba: 009b lsls r3, r3, #2 8058ebc: 461a mov r2, r3 8058ebe: 4b40 ldr r3, [pc, #256] ; (8058fc0 ) 8058ec0: 681b ldr r3, [r3, #0] 8058ec2: 429a cmp r2, r3 8058ec4: f081 835a bcs.w 805a57c { fNrm = 1.0f / (float32_t) (Ns >> 1); 8058ec8: 4b3b ldr r3, [pc, #236] ; (8058fb8 ) 8058eca: 681b ldr r3, [r3, #0] 8058ecc: 085b lsrs r3, r3, #1 8058ece: ee07 3a90 vmov s15, r3 8058ed2: eeb8 7a67 vcvt.f32.u32 s14, s15 8058ed6: eef7 6a00 vmov.f32 s13, #112 ; 0x3f800000 1.0 8058eda: eec6 7a87 vdiv.f32 s15, s13, s14 8058ede: edc7 7a85 vstr s15, [r7, #532] ; 0x214 sc = (6.0 / 16777215.0) * (float64_t) CorrKk[ACC]; 8058ee2: 4b45 ldr r3, [pc, #276] ; (8058ff8 ) 8058ee4: edd3 7a00 vldr s15, [r3] 8058ee8: eeb7 7ae7 vcvt.f64.f32 d7, s15 8058eec: ed9f 6b24 vldr d6, [pc, #144] ; 8058f80 8058ef0: ee27 7b06 vmul.f64 d7, d7, d6 8058ef4: ed87 7b82 vstr d7, [r7, #520] ; 0x208 for(i = 0; i < Ns; i++) 8058ef8: 2300 movs r3, #0 8058efa: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8058efe: e026 b.n 8058f4e { Buff64[i] = (float64_t) In16[i].lg; 8058f00: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8058f04: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8058f08: 492e ldr r1, [pc, #184] ; (8058fc4 ) 8058f0a: f851 2022 ldr.w r2, [r1, r2, lsl #2] 8058f0e: ee07 2a90 vmov s15, r2 8058f12: eeb8 7b67 vcvt.f64.u32 d7, s15 8058f16: 4a39 ldr r2, [pc, #228] ; (8058ffc ) 8058f18: 00db lsls r3, r3, #3 8058f1a: 4413 add r3, r2 8058f1c: ed83 7b00 vstr d7, [r3] Buff64[i] *= sc; 8058f20: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8058f24: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8058f28: 4934 ldr r1, [pc, #208] ; (8058ffc ) 8058f2a: 00d2 lsls r2, r2, #3 8058f2c: 440a add r2, r1 8058f2e: ed92 6b00 vldr d6, [r2] 8058f32: ed97 7b82 vldr d7, [r7, #520] ; 0x208 8058f36: ee26 7b07 vmul.f64 d7, d6, d7 8058f3a: 4a30 ldr r2, [pc, #192] ; (8058ffc ) 8058f3c: 00db lsls r3, r3, #3 8058f3e: 4413 add r3, r2 8058f40: ed83 7b00 vstr d7, [r3] for(i = 0; i < Ns; i++) 8058f44: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8058f48: 3301 adds r3, #1 8058f4a: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8058f4e: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8058f52: 4b19 ldr r3, [pc, #100] ; (8058fb8 ) 8058f54: 681b ldr r3, [r3, #0] 8058f56: 429a cmp r2, r3 8058f58: d3d2 bcc.n 8058f00 } arm_biquad_cascade_df2T_f64(&S_LP, Buff64, Buff64, Ns); 8058f5a: 4b17 ldr r3, [pc, #92] ; (8058fb8 ) 8058f5c: 681b ldr r3, [r3, #0] 8058f5e: 4a27 ldr r2, [pc, #156] ; (8058ffc ) 8058f60: 4926 ldr r1, [pc, #152] ; (8058ffc ) 8058f62: 4827 ldr r0, [pc, #156] ; (8059000 ) 8058f64: f071 f91e bl 80ca1a4 /*******************************************************************************************************************************************/ /****************************************************** ACCELERATION *********************************************************************/ /*******************************************************************************************************************************************/ arm_biquad_cascade_df2T_f64(&S_HP_ACC, Buff64, &Buff64[8192], Ns); 8058f68: 4b13 ldr r3, [pc, #76] ; (8058fb8 ) 8058f6a: 681b ldr r3, [r3, #0] 8058f6c: 4a25 ldr r2, [pc, #148] ; (8059004 ) 8058f6e: 4923 ldr r1, [pc, #140] ; (8058ffc ) 8058f70: 4825 ldr r0, [pc, #148] ; (8059008 ) 8058f72: f071 f917 bl 80ca1a4 for(i = 0; i < Ns; i++) { 8058f76: 2300 movs r3, #0 8058f78: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8058f7c: e05d b.n 805903a 8058f7e: bf00 nop 8058f80: 18000018 .word 0x18000018 8058f84: 3e980000 .word 0x3e980000 8058f88: 20021015 .word 0x20021015 8058f8c: 20021011 .word 0x20021011 8058f90: 20023e60 .word 0x20023e60 8058f94: 200268d8 .word 0x200268d8 8058f98: bf800000 .word 0xbf800000 8058f9c: 20021012 .word 0x20021012 8058fa0: 20020dac .word 0x20020dac 8058fa4: 20020d6c .word 0x20020d6c 8058fa8: 20021630 .word 0x20021630 8058fac: 01741200 .word 0x01741200 8058fb0: 20020daf .word 0x20020daf 8058fb4: e0001000 .word 0xe0001000 8058fb8: 20021cdc .word 0x20021cdc 8058fbc: 20021d20 .word 0x20021d20 8058fc0: 20020da8 .word 0x20020da8 8058fc4: 20058020 .word 0x20058020 8058fc8: 20021531 .word 0x20021531 8058fcc: 20020d7e .word 0x20020d7e 8058fd0: 20020d75 .word 0x20020d75 8058fd4: 20020d60 .word 0x20020d60 8058fd8: 20020db8 .word 0x20020db8 8058fdc: 20021620 .word 0x20021620 8058fe0: 2002161c .word 0x2002161c 8058fe4: 20021ce8 .word 0x20021ce8 8058fe8: 00000000 .word 0x00000000 8058fec: 20021cfc .word 0x20021cfc 8058ff0: 64050000 .word 0x64050000 8058ff4: 20020d88 .word 0x20020d88 8058ff8: 20020080 .word 0x20020080 8058ffc: 20037ae0 .word 0x20037ae0 8059000: 20026564 .word 0x20026564 8059004: 20047ae0 .word 0x20047ae0 8059008: 20025f00 .word 0x20025f00 Out[i] = (float32_t) Buff64[i + 8192]; 805900c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059010: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8059014: f502 5200 add.w r2, r2, #8192 ; 0x2000 8059018: 49b9 ldr r1, [pc, #740] ; (8059300 ) 805901a: 00d2 lsls r2, r2, #3 805901c: 440a add r2, r1 805901e: ed92 7b00 vldr d7, [r2] 8059022: eef7 7bc7 vcvt.f32.f64 s15, d7 8059026: 4ab7 ldr r2, [pc, #732] ; (8059304 ) 8059028: 009b lsls r3, r3, #2 805902a: 4413 add r3, r2 805902c: edc3 7a00 vstr s15, [r3] for(i = 0; i < Ns; i++) { 8059030: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059034: 3301 adds r3, #1 8059036: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805903a: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805903e: 4bb2 ldr r3, [pc, #712] ; (8059308 ) 8059040: 681b ldr r3, [r3, #0] 8059042: 429a cmp r2, r3 8059044: d3e2 bcc.n 805900c } if(pardata.SYG == FRAN) 8059046: 4bb1 ldr r3, [pc, #708] ; (805930c ) 8059048: 781b ldrb r3, [r3, #0] 805904a: b2db uxtb r3, r3 805904c: 2b03 cmp r3, #3 805904e: d11a bne.n 8059086 { memcpy((void *) &Freq_f32(AvgCnt * 8192u), (void *) Out, 32768); 8059050: 4baf ldr r3, [pc, #700] ; (8059310 ) 8059052: 681b ldr r3, [r3, #0] 8059054: 035b lsls r3, r3, #13 8059056: 009a lsls r2, r3, #2 8059058: 4bae ldr r3, [pc, #696] ; (8059314 ) 805905a: 4413 add r3, r2 805905c: f44f 4200 mov.w r2, #32768 ; 0x8000 8059060: 49a8 ldr r1, [pc, #672] ; (8059304 ) 8059062: 4618 mov r0, r3 8059064: f073 ffe5 bl 80cd032 AvgCnt++; 8059068: 4ba9 ldr r3, [pc, #676] ; (8059310 ) 805906a: 681b ldr r3, [r3, #0] 805906c: 3301 adds r3, #1 805906e: 4aa8 ldr r2, [pc, #672] ; (8059310 ) 8059070: 6013 str r3, [r2, #0] if(AvgCnt >= NUM_SAMPLES) 8059072: 4ba7 ldr r3, [pc, #668] ; (8059310 ) 8059074: 681b ldr r3, [r3, #0] 8059076: 2b0f cmp r3, #15 8059078: d905 bls.n 8059086 { AvgCnt = 0; 805907a: 4ba5 ldr r3, [pc, #660] ; (8059310 ) 805907c: 2200 movs r2, #0 805907e: 601a str r2, [r3, #0] NeedFreq = true; 8059080: 4ba5 ldr r3, [pc, #660] ; (8059318 ) 8059082: 2201 movs r2, #1 8059084: 701a strb r2, [r3, #0] } } switch(pardata.IVS[ACC]) 8059086: 4ba1 ldr r3, [pc, #644] ; (805930c ) 8059088: 789b ldrb r3, [r3, #2] 805908a: b2db uxtb r3, r3 805908c: 2b04 cmp r3, #4 805908e: f200 80e7 bhi.w 8059260 8059092: a201 add r2, pc, #4 ; (adr r2, 8059098 ) 8059094: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8059098: 080590ad .word 0x080590ad 805909c: 08059225 .word 0x08059225 80590a0: 080590ad .word 0x080590ad 80590a4: 08059189 .word 0x08059189 80590a8: 08059247 .word 0x08059247 { case PEAK: case PEAK_TO_PEAK: arm_min_f32(Out, Ns, &fn[0], &i); 80590ac: 4b96 ldr r3, [pc, #600] ; (8059308 ) 80590ae: 6819 ldr r1, [r3, #0] 80590b0: f507 73e8 add.w r3, r7, #464 ; 0x1d0 80590b4: f507 72d8 add.w r2, r7, #432 ; 0x1b0 80590b8: 4892 ldr r0, [pc, #584] ; (8059304 ) 80590ba: f070 ff63 bl 80c9f84 arm_max_f32(Out, Ns, &fn[1], &j); 80590be: 4b92 ldr r3, [pc, #584] ; (8059308 ) 80590c0: 6819 ldr r1, [r3, #0] 80590c2: f507 70e6 add.w r0, r7, #460 ; 0x1cc 80590c6: f507 73d8 add.w r3, r7, #432 ; 0x1b0 80590ca: 1d1a adds r2, r3, #4 80590cc: 4603 mov r3, r0 80590ce: 488d ldr r0, [pc, #564] ; (8059304 ) 80590d0: f070 fff4 bl 80ca0bc fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 80590d4: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 80590d8: eef5 7ac0 vcmpe.f32 s15, #0.0 80590dc: eef1 fa10 vmrs APSR_nzcv, fpscr 80590e0: dd02 ble.n 80590e8 80590e2: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 80590e6: e003 b.n 80590f0 80590e8: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 80590ec: eef1 7a67 vneg.f32 s15, s15 80590f0: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 80590f4: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 80590f8: eef5 7ac0 vcmpe.f32 s15, #0.0 80590fc: eef1 fa10 vmrs APSR_nzcv, fpscr 8059100: dd02 ble.n 8059108 8059102: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8059106: e003 b.n 8059110 8059108: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805910c: eef1 7a67 vneg.f32 s15, s15 8059110: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 if(pardata.IVS[ACC] == PEAK) 8059114: 4b7d ldr r3, [pc, #500] ; (805930c ) 8059116: 789b ldrb r3, [r3, #2] 8059118: b2db uxtb r3, r3 805911a: 2b00 cmp r3, #0 805911c: d109 bne.n 8059132 arm_max_f32(fn, 2, &fval[ACC], &i); 805911e: f507 73e8 add.w r3, r7, #464 ; 0x1d0 8059122: f107 02fc add.w r2, r7, #252 ; 0xfc 8059126: f507 70d8 add.w r0, r7, #432 ; 0x1b0 805912a: 2102 movs r1, #2 805912c: f070 ffc6 bl 80ca0bc 8059130: e021 b.n 8059176 else fval[ACC] = ABS(fn[0]) + ABS(fn[1]); 8059132: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8059136: eef5 7ac0 vcmpe.f32 s15, #0.0 805913a: eef1 fa10 vmrs APSR_nzcv, fpscr 805913e: dd02 ble.n 8059146 8059140: ed97 7a6c vldr s14, [r7, #432] ; 0x1b0 8059144: e003 b.n 805914e 8059146: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805914a: eeb1 7a67 vneg.f32 s14, s15 805914e: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8059152: eef5 7ac0 vcmpe.f32 s15, #0.0 8059156: eef1 fa10 vmrs APSR_nzcv, fpscr 805915a: dd02 ble.n 8059162 805915c: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8059160: e003 b.n 805916a 8059162: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8059166: eef1 7a67 vneg.f32 s15, s15 805916a: ee77 7a27 vadd.f32 s15, s14, s15 805916e: f107 03fc add.w r3, r7, #252 ; 0xfc 8059172: edc3 7a00 vstr s15, [r3] arm_rms_f32(Out, Ns, &rms); 8059176: 4b64 ldr r3, [pc, #400] ; (8059308 ) 8059178: 681b ldr r3, [r3, #0] 805917a: f507 7286 add.w r2, r7, #268 ; 0x10c 805917e: 4619 mov r1, r3 8059180: 4860 ldr r0, [pc, #384] ; (8059304 ) 8059182: f070 fe6d bl 80c9e60 break; 8059186: e06b b.n 8059260 case PEAK_FACTOR: arm_min_f32(Out, Ns, &fn[0], &i); 8059188: 4b5f ldr r3, [pc, #380] ; (8059308 ) 805918a: 6819 ldr r1, [r3, #0] 805918c: f507 73e8 add.w r3, r7, #464 ; 0x1d0 8059190: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8059194: 485b ldr r0, [pc, #364] ; (8059304 ) 8059196: f070 fef5 bl 80c9f84 arm_max_f32(Out, Ns, &fn[1], &j); 805919a: 4b5b ldr r3, [pc, #364] ; (8059308 ) 805919c: 6819 ldr r1, [r3, #0] 805919e: f507 70e6 add.w r0, r7, #460 ; 0x1cc 80591a2: f507 73d8 add.w r3, r7, #432 ; 0x1b0 80591a6: 1d1a adds r2, r3, #4 80591a8: 4603 mov r3, r0 80591aa: 4856 ldr r0, [pc, #344] ; (8059304 ) 80591ac: f070 ff86 bl 80ca0bc fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 80591b0: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 80591b4: eef5 7ac0 vcmpe.f32 s15, #0.0 80591b8: eef1 fa10 vmrs APSR_nzcv, fpscr 80591bc: dd02 ble.n 80591c4 80591be: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 80591c2: e003 b.n 80591cc 80591c4: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 80591c8: eef1 7a67 vneg.f32 s15, s15 80591cc: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 80591d0: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 80591d4: eef5 7ac0 vcmpe.f32 s15, #0.0 80591d8: eef1 fa10 vmrs APSR_nzcv, fpscr 80591dc: dd02 ble.n 80591e4 80591de: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 80591e2: e003 b.n 80591ec 80591e4: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 80591e8: eef1 7a67 vneg.f32 s15, s15 80591ec: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &fpeak[ACC], &i); 80591f0: f507 73e8 add.w r3, r7, #464 ; 0x1d0 80591f4: f107 02ec add.w r2, r7, #236 ; 0xec 80591f8: f507 70d8 add.w r0, r7, #432 ; 0x1b0 80591fc: 2102 movs r1, #2 80591fe: f070 ff5d bl 80ca0bc //fpeak[ACC] /= pardata.IKK; arm_power_f32(Out, Ns, &fval[ACC]); 8059202: 4b41 ldr r3, [pc, #260] ; (8059308 ) 8059204: 681b ldr r3, [r3, #0] 8059206: f107 02fc add.w r2, r7, #252 ; 0xfc 805920a: 4619 mov r1, r3 805920c: 483d ldr r0, [pc, #244] ; (8059304 ) 805920e: f070 fe7f bl 80c9f10 arm_rms_f32(Out, Ns, &rms); 8059212: 4b3d ldr r3, [pc, #244] ; (8059308 ) 8059214: 681b ldr r3, [r3, #0] 8059216: f507 7286 add.w r2, r7, #268 ; 0x10c 805921a: 4619 mov r1, r3 805921c: 4839 ldr r0, [pc, #228] ; (8059304 ) 805921e: f070 fe1f bl 80c9e60 break; 8059222: e01d b.n 8059260 case RMS: arm_power_f32(Out, Ns, &fval[ACC]); 8059224: 4b38 ldr r3, [pc, #224] ; (8059308 ) 8059226: 681b ldr r3, [r3, #0] 8059228: f107 02fc add.w r2, r7, #252 ; 0xfc 805922c: 4619 mov r1, r3 805922e: 4835 ldr r0, [pc, #212] ; (8059304 ) 8059230: f070 fe6e bl 80c9f10 arm_rms_f32(Out, Ns, &rms); 8059234: 4b34 ldr r3, [pc, #208] ; (8059308 ) 8059236: 681b ldr r3, [r3, #0] 8059238: f507 7286 add.w r2, r7, #268 ; 0x10c 805923c: 4619 mov r1, r3 805923e: 4831 ldr r0, [pc, #196] ; (8059304 ) 8059240: f070 fe0e bl 80c9e60 break; 8059244: e00c b.n 8059260 case EXCESS: fval[ACC] = CalcExcess(Out, Ns); 8059246: 4b30 ldr r3, [pc, #192] ; (8059308 ) 8059248: 681b ldr r3, [r3, #0] 805924a: 4619 mov r1, r3 805924c: 482d ldr r0, [pc, #180] ; (8059304 ) 805924e: f00d ff1b bl 8067088 8059252: eef0 7a40 vmov.f32 s15, s0 8059256: f107 03fc add.w r3, r7, #252 ; 0xfc 805925a: edc3 7a00 vstr s15, [r3] break; 805925e: bf00 nop } /*******************************************************************************************************************************************/ /****************************************************** VELOCITY *************************************************************************/ /*******************************************************************************************************************************************/ arm_biquad_cascade_df2T_f64(&S_INT1, Buff64, &Buff64[8192], Ns); 8059260: 4b29 ldr r3, [pc, #164] ; (8059308 ) 8059262: 681b ldr r3, [r3, #0] 8059264: 4a2d ldr r2, [pc, #180] ; (805931c ) 8059266: 4926 ldr r1, [pc, #152] ; (8059300 ) 8059268: 482d ldr r0, [pc, #180] ; (8059320 ) 805926a: f070 ff9b bl 80ca1a4 arm_biquad_cascade_df2T_f64(&S_HP_VEL, &Buff64[8192], &Buff64[8192], Ns); 805926e: 4b26 ldr r3, [pc, #152] ; (8059308 ) 8059270: 681b ldr r3, [r3, #0] 8059272: 4a2a ldr r2, [pc, #168] ; (805931c ) 8059274: 4929 ldr r1, [pc, #164] ; (805931c ) 8059276: 482b ldr r0, [pc, #172] ; (8059324 ) 8059278: f070 ff94 bl 80ca1a4 for(i = 0; i < Ns; i++) 805927c: 2300 movs r3, #0 805927e: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8059282: e016 b.n 80592b2 Out[i] = (float32_t) Buff64[i + 8192]; 8059284: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059288: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805928c: f502 5200 add.w r2, r2, #8192 ; 0x2000 8059290: 491b ldr r1, [pc, #108] ; (8059300 ) 8059292: 00d2 lsls r2, r2, #3 8059294: 440a add r2, r1 8059296: ed92 7b00 vldr d7, [r2] 805929a: eef7 7bc7 vcvt.f32.f64 s15, d7 805929e: 4a19 ldr r2, [pc, #100] ; (8059304 ) 80592a0: 009b lsls r3, r3, #2 80592a2: 4413 add r3, r2 80592a4: edc3 7a00 vstr s15, [r3] for(i = 0; i < Ns; i++) 80592a8: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80592ac: 3301 adds r3, #1 80592ae: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 80592b2: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80592b6: 4b14 ldr r3, [pc, #80] ; (8059308 ) 80592b8: 681b ldr r3, [r3, #0] 80592ba: 429a cmp r2, r3 80592bc: d3e2 bcc.n 8059284 fs = 249.135f; //311.0f; 80592be: 4b1a ldr r3, [pc, #104] ; (8059328 ) 80592c0: f8c7 31b8 str.w r3, [r7, #440] ; 0x1b8 arm_scale_f32(Out, fs, Out, Ns); 80592c4: edd7 7a6e vldr s15, [r7, #440] ; 0x1b8 80592c8: 4b0f ldr r3, [pc, #60] ; (8059308 ) 80592ca: 681b ldr r3, [r3, #0] 80592cc: 461a mov r2, r3 80592ce: 490d ldr r1, [pc, #52] ; (8059304 ) 80592d0: eeb0 0a67 vmov.f32 s0, s15 80592d4: 480b ldr r0, [pc, #44] ; (8059304 ) 80592d6: f071 fa1b bl 80ca710 switch(pardata.IVS[VEL]) 80592da: 4b0c ldr r3, [pc, #48] ; (805930c ) 80592dc: 78db ldrb r3, [r3, #3] 80592de: b2db uxtb r3, r3 80592e0: 2b04 cmp r3, #4 80592e2: f200 80eb bhi.w 80594bc 80592e6: a201 add r2, pc, #4 ; (adr r2, 80592ec ) 80592e8: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80592ec: 0805932d .word 0x0805932d 80592f0: 0805948f .word 0x0805948f 80592f4: 0805932d .word 0x0805932d 80592f8: 080593fd .word 0x080593fd 80592fc: 080594a3 .word 0x080594a3 8059300: 20037ae0 .word 0x20037ae0 8059304: 20008000 .word 0x20008000 8059308: 20021cdc .word 0x20021cdc 805930c: 20023e60 .word 0x20023e60 8059310: 20020d60 .word 0x20020d60 8059314: 64080000 .word 0x64080000 8059318: 20020d75 .word 0x20020d75 805931c: 20047ae0 .word 0x20047ae0 8059320: 20026170 .word 0x20026170 8059324: 20025e78 .word 0x20025e78 8059328: 4379228f .word 0x4379228f { case PEAK: case PEAK_TO_PEAK: arm_min_f32(Out, Ns, &fn[0], &i); 805932c: 4bc0 ldr r3, [pc, #768] ; (8059630 ) 805932e: 6819 ldr r1, [r3, #0] 8059330: f507 73e8 add.w r3, r7, #464 ; 0x1d0 8059334: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8059338: 48be ldr r0, [pc, #760] ; (8059634 ) 805933a: f070 fe23 bl 80c9f84 arm_max_f32(Out, Ns, &fn[1], &j); 805933e: 4bbc ldr r3, [pc, #752] ; (8059630 ) 8059340: 6819 ldr r1, [r3, #0] 8059342: f507 70e6 add.w r0, r7, #460 ; 0x1cc 8059346: f507 73d8 add.w r3, r7, #432 ; 0x1b0 805934a: 1d1a adds r2, r3, #4 805934c: 4603 mov r3, r0 805934e: 48b9 ldr r0, [pc, #740] ; (8059634 ) 8059350: f070 feb4 bl 80ca0bc fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 8059354: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8059358: eef5 7ac0 vcmpe.f32 s15, #0.0 805935c: eef1 fa10 vmrs APSR_nzcv, fpscr 8059360: dd02 ble.n 8059368 8059362: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8059366: e003 b.n 8059370 8059368: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805936c: eef1 7a67 vneg.f32 s15, s15 8059370: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 8059374: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8059378: eef5 7ac0 vcmpe.f32 s15, #0.0 805937c: eef1 fa10 vmrs APSR_nzcv, fpscr 8059380: dd02 ble.n 8059388 8059382: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8059386: e003 b.n 8059390 8059388: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805938c: eef1 7a67 vneg.f32 s15, s15 8059390: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 if(pardata.IVS[VEL] == PEAK) 8059394: 4ba8 ldr r3, [pc, #672] ; (8059638 ) 8059396: 78db ldrb r3, [r3, #3] 8059398: b2db uxtb r3, r3 805939a: 2b00 cmp r3, #0 805939c: d10b bne.n 80593b6 arm_max_f32(fn, 2, &fval[VEL], &i); 805939e: f507 71e8 add.w r1, r7, #464 ; 0x1d0 80593a2: f107 03fc add.w r3, r7, #252 ; 0xfc 80593a6: 1d1a adds r2, r3, #4 80593a8: f507 70d8 add.w r0, r7, #432 ; 0x1b0 80593ac: 460b mov r3, r1 80593ae: 2102 movs r1, #2 80593b0: f070 fe84 bl 80ca0bc else fval[VEL] = ABS(fn[0]) + ABS(fn[1]); break; 80593b4: e082 b.n 80594bc else fval[VEL] = ABS(fn[0]) + ABS(fn[1]); 80593b6: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 80593ba: eef5 7ac0 vcmpe.f32 s15, #0.0 80593be: eef1 fa10 vmrs APSR_nzcv, fpscr 80593c2: dd02 ble.n 80593ca 80593c4: ed97 7a6c vldr s14, [r7, #432] ; 0x1b0 80593c8: e003 b.n 80593d2 80593ca: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 80593ce: eeb1 7a67 vneg.f32 s14, s15 80593d2: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 80593d6: eef5 7ac0 vcmpe.f32 s15, #0.0 80593da: eef1 fa10 vmrs APSR_nzcv, fpscr 80593de: dd02 ble.n 80593e6 80593e0: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 80593e4: e003 b.n 80593ee 80593e6: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 80593ea: eef1 7a67 vneg.f32 s15, s15 80593ee: ee77 7a27 vadd.f32 s15, s14, s15 80593f2: f107 03fc add.w r3, r7, #252 ; 0xfc 80593f6: edc3 7a01 vstr s15, [r3, #4] break; 80593fa: e05f b.n 80594bc case PEAK_FACTOR: arm_min_f32(Out, Ns, &fn[0], &i); 80593fc: 4b8c ldr r3, [pc, #560] ; (8059630 ) 80593fe: 6819 ldr r1, [r3, #0] 8059400: f507 73e8 add.w r3, r7, #464 ; 0x1d0 8059404: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8059408: 488a ldr r0, [pc, #552] ; (8059634 ) 805940a: f070 fdbb bl 80c9f84 arm_max_f32(Out, Ns, &fn[1], &j); 805940e: 4b88 ldr r3, [pc, #544] ; (8059630 ) 8059410: 6819 ldr r1, [r3, #0] 8059412: f507 70e6 add.w r0, r7, #460 ; 0x1cc 8059416: f507 73d8 add.w r3, r7, #432 ; 0x1b0 805941a: 1d1a adds r2, r3, #4 805941c: 4603 mov r3, r0 805941e: 4885 ldr r0, [pc, #532] ; (8059634 ) 8059420: f070 fe4c bl 80ca0bc fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 8059424: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8059428: eef5 7ac0 vcmpe.f32 s15, #0.0 805942c: eef1 fa10 vmrs APSR_nzcv, fpscr 8059430: dd02 ble.n 8059438 8059432: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8059436: e003 b.n 8059440 8059438: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805943c: eef1 7a67 vneg.f32 s15, s15 8059440: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 8059444: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8059448: eef5 7ac0 vcmpe.f32 s15, #0.0 805944c: eef1 fa10 vmrs APSR_nzcv, fpscr 8059450: dd02 ble.n 8059458 8059452: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8059456: e003 b.n 8059460 8059458: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805945c: eef1 7a67 vneg.f32 s15, s15 8059460: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &fpeak[VEL], &i); 8059464: f507 71e8 add.w r1, r7, #464 ; 0x1d0 8059468: f107 03ec add.w r3, r7, #236 ; 0xec 805946c: 1d1a adds r2, r3, #4 805946e: f507 70d8 add.w r0, r7, #432 ; 0x1b0 8059472: 460b mov r3, r1 8059474: 2102 movs r1, #2 8059476: f070 fe21 bl 80ca0bc arm_power_f32(Out, Ns, &fval[VEL]); 805947a: 4b6d ldr r3, [pc, #436] ; (8059630 ) 805947c: 6819 ldr r1, [r3, #0] 805947e: f107 03fc add.w r3, r7, #252 ; 0xfc 8059482: 3304 adds r3, #4 8059484: 461a mov r2, r3 8059486: 486b ldr r0, [pc, #428] ; (8059634 ) 8059488: f070 fd42 bl 80c9f10 break; 805948c: e016 b.n 80594bc case RMS: arm_power_f32(Out, Ns, &fval[VEL]); 805948e: 4b68 ldr r3, [pc, #416] ; (8059630 ) 8059490: 6819 ldr r1, [r3, #0] 8059492: f107 03fc add.w r3, r7, #252 ; 0xfc 8059496: 3304 adds r3, #4 8059498: 461a mov r2, r3 805949a: 4866 ldr r0, [pc, #408] ; (8059634 ) 805949c: f070 fd38 bl 80c9f10 break; 80594a0: e00c b.n 80594bc case EXCESS: fval[VEL] = CalcExcess(Out, Ns); 80594a2: 4b63 ldr r3, [pc, #396] ; (8059630 ) 80594a4: 681b ldr r3, [r3, #0] 80594a6: 4619 mov r1, r3 80594a8: 4862 ldr r0, [pc, #392] ; (8059634 ) 80594aa: f00d fded bl 8067088 80594ae: eef0 7a40 vmov.f32 s15, s0 80594b2: f107 03fc add.w r3, r7, #252 ; 0xfc 80594b6: edc3 7a01 vstr s15, [r3, #4] break; 80594ba: bf00 nop } /*******************************************************************************************************************************************/ /****************************************************** DISPLACEMENT *********************************************************************/ /*******************************************************************************************************************************************/ arm_biquad_cascade_df2T_f64(&S_INT2, Buff64, &Buff64[8192], Ns); 80594bc: 4b5c ldr r3, [pc, #368] ; (8059630 ) 80594be: 681b ldr r3, [r3, #0] 80594c0: 4a5e ldr r2, [pc, #376] ; (805963c ) 80594c2: 495f ldr r1, [pc, #380] ; (8059640 ) 80594c4: 485f ldr r0, [pc, #380] ; (8059644 ) 80594c6: f070 fe6d bl 80ca1a4 arm_biquad_cascade_df2T_f64(&S_HP_DIS, &Buff64[8192], &Buff64[8192], Ns); 80594ca: 4b59 ldr r3, [pc, #356] ; (8059630 ) 80594cc: 681b ldr r3, [r3, #0] 80594ce: 4a5b ldr r2, [pc, #364] ; (805963c ) 80594d0: 495a ldr r1, [pc, #360] ; (805963c ) 80594d2: 485d ldr r0, [pc, #372] ; (8059648 ) 80594d4: f070 fe66 bl 80ca1a4 for(i = 0; i < Ns; i++) 80594d8: 2300 movs r3, #0 80594da: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 80594de: e016 b.n 805950e Out[i] = (float32_t) Buff64[i + 8192]; 80594e0: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80594e4: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80594e8: f502 5200 add.w r2, r2, #8192 ; 0x2000 80594ec: 4954 ldr r1, [pc, #336] ; (8059640 ) 80594ee: 00d2 lsls r2, r2, #3 80594f0: 440a add r2, r1 80594f2: ed92 7b00 vldr d7, [r2] 80594f6: eef7 7bc7 vcvt.f32.f64 s15, d7 80594fa: 4a4e ldr r2, [pc, #312] ; (8059634 ) 80594fc: 009b lsls r3, r3, #2 80594fe: 4413 add r3, r2 8059500: edc3 7a00 vstr s15, [r3] for(i = 0; i < Ns; i++) 8059504: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059508: 3301 adds r3, #1 805950a: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805950e: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8059512: 4b47 ldr r3, [pc, #284] ; (8059630 ) 8059514: 681b ldr r3, [r3, #0] 8059516: 429a cmp r2, r3 8059518: d3e2 bcc.n 80594e0 fs = 61400.171f; //96600.0f 805951a: 4b4c ldr r3, [pc, #304] ; (805964c ) 805951c: f8c7 31b8 str.w r3, [r7, #440] ; 0x1b8 arm_scale_f32(Out, fs, Out, Ns); 8059520: edd7 7a6e vldr s15, [r7, #440] ; 0x1b8 8059524: 4b42 ldr r3, [pc, #264] ; (8059630 ) 8059526: 681b ldr r3, [r3, #0] 8059528: 461a mov r2, r3 805952a: 4942 ldr r1, [pc, #264] ; (8059634 ) 805952c: eeb0 0a67 vmov.f32 s0, s15 8059530: 4840 ldr r0, [pc, #256] ; (8059634 ) 8059532: f071 f8ed bl 80ca710 switch(pardata.IVS[DIS]) 8059536: 4b40 ldr r3, [pc, #256] ; (8059638 ) 8059538: 791b ldrb r3, [r3, #4] 805953a: b2db uxtb r3, r3 805953c: 2b04 cmp r3, #4 805953e: f200 80e8 bhi.w 8059712 8059542: a201 add r2, pc, #4 ; (adr r2, 8059548 ) 8059544: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8059548: 0805955d .word 0x0805955d 805954c: 080596e5 .word 0x080596e5 8059550: 0805955d .word 0x0805955d 8059554: 08059651 .word 0x08059651 8059558: 080596f9 .word 0x080596f9 { case PEAK: case PEAK_TO_PEAK: arm_min_f32(Out, Ns, &fn[0], &i); 805955c: 4b34 ldr r3, [pc, #208] ; (8059630 ) 805955e: 6819 ldr r1, [r3, #0] 8059560: f507 73e8 add.w r3, r7, #464 ; 0x1d0 8059564: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8059568: 4832 ldr r0, [pc, #200] ; (8059634 ) 805956a: f070 fd0b bl 80c9f84 arm_max_f32(Out, Ns, &fn[1], &j); 805956e: 4b30 ldr r3, [pc, #192] ; (8059630 ) 8059570: 6819 ldr r1, [r3, #0] 8059572: f507 70e6 add.w r0, r7, #460 ; 0x1cc 8059576: f507 73d8 add.w r3, r7, #432 ; 0x1b0 805957a: 1d1a adds r2, r3, #4 805957c: 4603 mov r3, r0 805957e: 482d ldr r0, [pc, #180] ; (8059634 ) 8059580: f070 fd9c bl 80ca0bc fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 8059584: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8059588: eef5 7ac0 vcmpe.f32 s15, #0.0 805958c: eef1 fa10 vmrs APSR_nzcv, fpscr 8059590: dd02 ble.n 8059598 8059592: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8059596: e003 b.n 80595a0 8059598: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805959c: eef1 7a67 vneg.f32 s15, s15 80595a0: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 80595a4: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 80595a8: eef5 7ac0 vcmpe.f32 s15, #0.0 80595ac: eef1 fa10 vmrs APSR_nzcv, fpscr 80595b0: dd02 ble.n 80595b8 80595b2: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 80595b6: e003 b.n 80595c0 80595b8: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 80595bc: eef1 7a67 vneg.f32 s15, s15 80595c0: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 if(pardata.IVS[DIS] == PEAK) 80595c4: 4b1c ldr r3, [pc, #112] ; (8059638 ) 80595c6: 791b ldrb r3, [r3, #4] 80595c8: b2db uxtb r3, r3 80595ca: 2b00 cmp r3, #0 80595cc: d10c bne.n 80595e8 arm_max_f32(fn, 2, &fval[DIS], &i); 80595ce: f507 71e8 add.w r1, r7, #464 ; 0x1d0 80595d2: f107 03fc add.w r3, r7, #252 ; 0xfc 80595d6: f103 0208 add.w r2, r3, #8 80595da: f507 70d8 add.w r0, r7, #432 ; 0x1b0 80595de: 460b mov r3, r1 80595e0: 2102 movs r1, #2 80595e2: f070 fd6b bl 80ca0bc else fval[DIS] = ABS(fn[0]) + ABS(fn[1]); break; 80595e6: e094 b.n 8059712 else fval[DIS] = ABS(fn[0]) + ABS(fn[1]); 80595e8: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 80595ec: eef5 7ac0 vcmpe.f32 s15, #0.0 80595f0: eef1 fa10 vmrs APSR_nzcv, fpscr 80595f4: dd02 ble.n 80595fc 80595f6: ed97 7a6c vldr s14, [r7, #432] ; 0x1b0 80595fa: e003 b.n 8059604 80595fc: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8059600: eeb1 7a67 vneg.f32 s14, s15 8059604: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8059608: eef5 7ac0 vcmpe.f32 s15, #0.0 805960c: eef1 fa10 vmrs APSR_nzcv, fpscr 8059610: dd02 ble.n 8059618 8059612: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8059616: e003 b.n 8059620 8059618: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805961c: eef1 7a67 vneg.f32 s15, s15 8059620: ee77 7a27 vadd.f32 s15, s14, s15 8059624: f107 03fc add.w r3, r7, #252 ; 0xfc 8059628: edc3 7a02 vstr s15, [r3, #8] break; 805962c: e071 b.n 8059712 805962e: bf00 nop 8059630: 20021cdc .word 0x20021cdc 8059634: 20008000 .word 0x20008000 8059638: 20023e60 .word 0x20023e60 805963c: 20047ae0 .word 0x20047ae0 8059640: 20037ae0 .word 0x20037ae0 8059644: 200278c4 .word 0x200278c4 8059648: 20027950 .word 0x20027950 805964c: 476fd82c .word 0x476fd82c case PEAK_FACTOR: arm_min_f32(Out, Ns, &fn[0], &i); 8059650: 4bc7 ldr r3, [pc, #796] ; (8059970 ) 8059652: 6819 ldr r1, [r3, #0] 8059654: f507 73e8 add.w r3, r7, #464 ; 0x1d0 8059658: f507 72d8 add.w r2, r7, #432 ; 0x1b0 805965c: 48c5 ldr r0, [pc, #788] ; (8059974 ) 805965e: f070 fc91 bl 80c9f84 arm_max_f32(Out, Ns, &fn[1], &j); 8059662: 4bc3 ldr r3, [pc, #780] ; (8059970 ) 8059664: 6819 ldr r1, [r3, #0] 8059666: f507 70e6 add.w r0, r7, #460 ; 0x1cc 805966a: f507 73d8 add.w r3, r7, #432 ; 0x1b0 805966e: 1d1a adds r2, r3, #4 8059670: 4603 mov r3, r0 8059672: 48c0 ldr r0, [pc, #768] ; (8059974 ) 8059674: f070 fd22 bl 80ca0bc fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 8059678: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805967c: eef5 7ac0 vcmpe.f32 s15, #0.0 8059680: eef1 fa10 vmrs APSR_nzcv, fpscr 8059684: dd02 ble.n 805968c 8059686: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805968a: e003 b.n 8059694 805968c: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8059690: eef1 7a67 vneg.f32 s15, s15 8059694: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 8059698: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805969c: eef5 7ac0 vcmpe.f32 s15, #0.0 80596a0: eef1 fa10 vmrs APSR_nzcv, fpscr 80596a4: dd02 ble.n 80596ac 80596a6: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 80596aa: e003 b.n 80596b4 80596ac: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 80596b0: eef1 7a67 vneg.f32 s15, s15 80596b4: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &fpeak[DIS], &i); 80596b8: f507 71e8 add.w r1, r7, #464 ; 0x1d0 80596bc: f107 03ec add.w r3, r7, #236 ; 0xec 80596c0: f103 0208 add.w r2, r3, #8 80596c4: f507 70d8 add.w r0, r7, #432 ; 0x1b0 80596c8: 460b mov r3, r1 80596ca: 2102 movs r1, #2 80596cc: f070 fcf6 bl 80ca0bc arm_power_f32(Out, Ns, &fval[DIS]); 80596d0: 4ba7 ldr r3, [pc, #668] ; (8059970 ) 80596d2: 6819 ldr r1, [r3, #0] 80596d4: f107 03fc add.w r3, r7, #252 ; 0xfc 80596d8: 3308 adds r3, #8 80596da: 461a mov r2, r3 80596dc: 48a5 ldr r0, [pc, #660] ; (8059974 ) 80596de: f070 fc17 bl 80c9f10 break; 80596e2: e016 b.n 8059712 case RMS: arm_power_f32(Out, Ns, &fval[DIS]); 80596e4: 4ba2 ldr r3, [pc, #648] ; (8059970 ) 80596e6: 6819 ldr r1, [r3, #0] 80596e8: f107 03fc add.w r3, r7, #252 ; 0xfc 80596ec: 3308 adds r3, #8 80596ee: 461a mov r2, r3 80596f0: 48a0 ldr r0, [pc, #640] ; (8059974 ) 80596f2: f070 fc0d bl 80c9f10 break; 80596f6: e00c b.n 8059712 case EXCESS: fval[DIS] = CalcExcess(Out, Ns); 80596f8: 4b9d ldr r3, [pc, #628] ; (8059970 ) 80596fa: 681b ldr r3, [r3, #0] 80596fc: 4619 mov r1, r3 80596fe: 489d ldr r0, [pc, #628] ; (8059974 ) 8059700: f00d fcc2 bl 8067088 8059704: eef0 7a40 vmov.f32 s15, s0 8059708: f107 03fc add.w r3, r7, #252 ; 0xfc 805970c: edc3 7a02 vstr s15, [r3, #8] break; 8059710: bf00 nop } //***************************************************************************************************************************************** //***************************************************************************************************************************************** if(timeRelax) 8059712: 4b99 ldr r3, [pc, #612] ; (8059978 ) 8059714: 681b ldr r3, [r3, #0] 8059716: 2b00 cmp r3, #0 8059718: d027 beq.n 805976a { timeRelax--; 805971a: 4b97 ldr r3, [pc, #604] ; (8059978 ) 805971c: 681b ldr r3, [r3, #0] 805971e: 3b01 subs r3, #1 8059720: 4a95 ldr r2, [pc, #596] ; (8059978 ) 8059722: 6013 str r3, [r2, #0] for(i = 0; i < 3; i++) 8059724: 2300 movs r3, #0 8059726: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805972a: e018 b.n 805975e { skz[i] = -1.0f; 805972c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059730: 4a92 ldr r2, [pc, #584] ; (805997c ) 8059732: 009b lsls r3, r3, #2 8059734: 4413 add r3, r2 8059736: 4a92 ldr r2, [pc, #584] ; (8059980 ) 8059738: 601a str r2, [r3, #0] LinToLog(&skz[i], &skzDB[i]); 805973a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805973e: 009b lsls r3, r3, #2 8059740: 4a8e ldr r2, [pc, #568] ; (805997c ) 8059742: 1898 adds r0, r3, r2 8059744: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059748: 009b lsls r3, r3, #2 805974a: 4a8e ldr r2, [pc, #568] ; (8059984 ) 805974c: 4413 add r3, r2 805974e: 4619 mov r1, r3 8059750: f00b fbaa bl 8064ea8 for(i = 0; i < 3; i++) 8059754: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059758: 3301 adds r3, #1 805975a: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805975e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059762: 2b02 cmp r3, #2 8059764: d9e2 bls.n 805972c 8059766: f000 bef0 b.w 805a54a } } else { for(i = 0; i < 3; i++) 805976a: 2300 movs r3, #0 805976c: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8059770: e0e2 b.n 8059938 { switch(pardata.IVS[i]) 8059772: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059776: 4a84 ldr r2, [pc, #528] ; (8059988 ) 8059778: 4413 add r3, r2 805977a: 789b ldrb r3, [r3, #2] 805977c: b2db uxtb r3, r3 805977e: 2b04 cmp r3, #4 8059780: f200 80d5 bhi.w 805992e 8059784: a201 add r2, pc, #4 ; (adr r2, 805978c ) 8059786: f852 f023 ldr.w pc, [r2, r3, lsl #2] 805978a: bf00 nop 805978c: 080597a1 .word 0x080597a1 8059790: 080598fd .word 0x080598fd 8059794: 080597a1 .word 0x080597a1 8059798: 08059889 .word 0x08059889 805979c: 080597e7 .word 0x080597e7 { case PEAK: case PEAK_TO_PEAK: if(peakAVS[i] < fval[i]) { 80597a0: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80597a4: 4a79 ldr r2, [pc, #484] ; (805998c ) 80597a6: 009b lsls r3, r3, #2 80597a8: 4413 add r3, r2 80597aa: ed93 7a00 vldr s14, [r3] 80597ae: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80597b2: f107 02fc add.w r2, r7, #252 ; 0xfc 80597b6: 009b lsls r3, r3, #2 80597b8: 4413 add r3, r2 80597ba: edd3 7a00 vldr s15, [r3] 80597be: eeb4 7ae7 vcmpe.f32 s14, s15 80597c2: eef1 fa10 vmrs APSR_nzcv, fpscr 80597c6: d400 bmi.n 80597ca peakAVS[i] = fval[i]; } break; 80597c8: e0b1 b.n 805992e peakAVS[i] = fval[i]; 80597ca: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80597ce: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80597d2: f107 01fc add.w r1, r7, #252 ; 0xfc 80597d6: 0092 lsls r2, r2, #2 80597d8: 440a add r2, r1 80597da: 6812 ldr r2, [r2, #0] 80597dc: 496b ldr r1, [pc, #428] ; (805998c ) 80597de: 009b lsls r3, r3, #2 80597e0: 440b add r3, r1 80597e2: 601a str r2, [r3, #0] break; 80597e4: e0a3 b.n 805992e case EXCESS: if(ABS(peakAVS[i]) < ABS(fval[i])) { 80597e6: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80597ea: 4a68 ldr r2, [pc, #416] ; (805998c ) 80597ec: 009b lsls r3, r3, #2 80597ee: 4413 add r3, r2 80597f0: edd3 7a00 vldr s15, [r3] 80597f4: eef5 7ac0 vcmpe.f32 s15, #0.0 80597f8: eef1 fa10 vmrs APSR_nzcv, fpscr 80597fc: dd07 ble.n 805980e 80597fe: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059802: 4a62 ldr r2, [pc, #392] ; (805998c ) 8059804: 009b lsls r3, r3, #2 8059806: 4413 add r3, r2 8059808: ed93 7a00 vldr s14, [r3] 805980c: e008 b.n 8059820 805980e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059812: 4a5e ldr r2, [pc, #376] ; (805998c ) 8059814: 009b lsls r3, r3, #2 8059816: 4413 add r3, r2 8059818: edd3 7a00 vldr s15, [r3] 805981c: eeb1 7a67 vneg.f32 s14, s15 8059820: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059824: f107 02fc add.w r2, r7, #252 ; 0xfc 8059828: 009b lsls r3, r3, #2 805982a: 4413 add r3, r2 805982c: edd3 7a00 vldr s15, [r3] 8059830: eef5 7ac0 vcmpe.f32 s15, #0.0 8059834: eef1 fa10 vmrs APSR_nzcv, fpscr 8059838: dd08 ble.n 805984c 805983a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805983e: f107 02fc add.w r2, r7, #252 ; 0xfc 8059842: 009b lsls r3, r3, #2 8059844: 4413 add r3, r2 8059846: edd3 7a00 vldr s15, [r3] 805984a: e009 b.n 8059860 805984c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059850: f107 02fc add.w r2, r7, #252 ; 0xfc 8059854: 009b lsls r3, r3, #2 8059856: 4413 add r3, r2 8059858: edd3 7a00 vldr s15, [r3] 805985c: eef1 7a67 vneg.f32 s15, s15 8059860: eeb4 7ae7 vcmpe.f32 s14, s15 8059864: eef1 fa10 vmrs APSR_nzcv, fpscr 8059868: d400 bmi.n 805986c peakAVS[i] = fval[i]; } break; 805986a: e060 b.n 805992e peakAVS[i] = fval[i]; 805986c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059870: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8059874: f107 01fc add.w r1, r7, #252 ; 0xfc 8059878: 0092 lsls r2, r2, #2 805987a: 440a add r2, r1 805987c: 6812 ldr r2, [r2, #0] 805987e: 4943 ldr r1, [pc, #268] ; (805998c ) 8059880: 009b lsls r3, r3, #2 8059882: 440b add r3, r1 8059884: 601a str r2, [r3, #0] break; 8059886: e052 b.n 805992e case PEAK_FACTOR: if(peakAVS[i] < fpeak[i]) { 8059888: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805988c: 4a3f ldr r2, [pc, #252] ; (805998c ) 805988e: 009b lsls r3, r3, #2 8059890: 4413 add r3, r2 8059892: ed93 7a00 vldr s14, [r3] 8059896: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805989a: f107 02ec add.w r2, r7, #236 ; 0xec 805989e: 009b lsls r3, r3, #2 80598a0: 4413 add r3, r2 80598a2: edd3 7a00 vldr s15, [r3] 80598a6: eeb4 7ae7 vcmpe.f32 s14, s15 80598aa: eef1 fa10 vmrs APSR_nzcv, fpscr 80598ae: d50c bpl.n 80598ca peakAVS[i] = fpeak[i]; 80598b0: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80598b4: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80598b8: f107 01ec add.w r1, r7, #236 ; 0xec 80598bc: 0092 lsls r2, r2, #2 80598be: 440a add r2, r1 80598c0: 6812 ldr r2, [r2, #0] 80598c2: 4932 ldr r1, [pc, #200] ; (805998c ) 80598c4: 009b lsls r3, r3, #2 80598c6: 440b add r3, r1 80598c8: 601a str r2, [r3, #0] } rmsAVS[i] += fval[i]; 80598ca: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80598ce: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80598d2: 492f ldr r1, [pc, #188] ; (8059990 ) 80598d4: 0092 lsls r2, r2, #2 80598d6: 440a add r2, r1 80598d8: ed92 7a00 vldr s14, [r2] 80598dc: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80598e0: f107 01fc add.w r1, r7, #252 ; 0xfc 80598e4: 0092 lsls r2, r2, #2 80598e6: 440a add r2, r1 80598e8: edd2 7a00 vldr s15, [r2] 80598ec: ee77 7a27 vadd.f32 s15, s14, s15 80598f0: 4a27 ldr r2, [pc, #156] ; (8059990 ) 80598f2: 009b lsls r3, r3, #2 80598f4: 4413 add r3, r2 80598f6: edc3 7a00 vstr s15, [r3] break; 80598fa: e018 b.n 805992e case RMS: rmsAVS[i] += fval[i]; 80598fc: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059900: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8059904: 4922 ldr r1, [pc, #136] ; (8059990 ) 8059906: 0092 lsls r2, r2, #2 8059908: 440a add r2, r1 805990a: ed92 7a00 vldr s14, [r2] 805990e: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8059912: f107 01fc add.w r1, r7, #252 ; 0xfc 8059916: 0092 lsls r2, r2, #2 8059918: 440a add r2, r1 805991a: edd2 7a00 vldr s15, [r2] 805991e: ee77 7a27 vadd.f32 s15, s14, s15 8059922: 4a1b ldr r2, [pc, #108] ; (8059990 ) 8059924: 009b lsls r3, r3, #2 8059926: 4413 add r3, r2 8059928: edc3 7a00 vstr s15, [r3] break; 805992c: bf00 nop for(i = 0; i < 3; i++) 805992e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059932: 3301 adds r3, #1 8059934: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8059938: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805993c: 2b02 cmp r3, #2 805993e: f67f af18 bls.w 8059772 } } MeanCnt++; 8059942: 4b14 ldr r3, [pc, #80] ; (8059994 ) 8059944: 681b ldr r3, [r3, #0] 8059946: 3301 adds r3, #1 8059948: 4a12 ldr r2, [pc, #72] ; (8059994 ) 805994a: 6013 str r3, [r2, #0] /////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////// BI-TECHNO ////////////////////////// if(!(MeanCnt % 8)) 805994c: 4b11 ldr r3, [pc, #68] ; (8059994 ) 805994e: 681b ldr r3, [r3, #0] 8059950: f003 0307 and.w r3, r3, #7 8059954: 2b00 cmp r3, #0 8059956: f040 85f8 bne.w 805a54a { for(j = AVG[pardata.AVG] - 1; j > 0; j--) 805995a: 4b0b ldr r3, [pc, #44] ; (8059988 ) 805995c: 7b5b ldrb r3, [r3, #13] 805995e: b2db uxtb r3, r3 8059960: 461a mov r2, r3 8059962: 4b0d ldr r3, [pc, #52] ; (8059998 ) 8059964: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 8059968: 3b01 subs r3, #1 805996a: f8c7 31cc str.w r3, [r7, #460] ; 0x1cc 805996e: e086 b.n 8059a7e 8059970: 20021cdc .word 0x20021cdc 8059974: 20008000 .word 0x20008000 8059978: 20020d6c .word 0x20020d6c 805997c: 20021540 .word 0x20021540 8059980: bf800000 .word 0xbf800000 8059984: 2002154c .word 0x2002154c 8059988: 20023e60 .word 0x20023e60 805998c: 20021cfc .word 0x20021cfc 8059990: 20021ce8 .word 0x20021ce8 8059994: 20020db8 .word 0x20020db8 8059998: 080eeb00 .word 0x080eeb00 { fl = ACC_PEAK_RD(j - 1); 805999c: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 80599a0: 3b01 subs r3, #1 80599a2: 009a lsls r2, r3, #2 80599a4: 4bb9 ldr r3, [pc, #740] ; (8059c8c ) 80599a6: 4413 add r3, r2 80599a8: 681b ldr r3, [r3, #0] 80599aa: f8c7 31bc str.w r3, [r7, #444] ; 0x1bc ACC_PEAK_WR(j) = fl; 80599ae: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 80599b2: 009a lsls r2, r3, #2 80599b4: 4bb5 ldr r3, [pc, #724] ; (8059c8c ) 80599b6: 4413 add r3, r2 80599b8: 461a mov r2, r3 80599ba: f8d7 31bc ldr.w r3, [r7, #444] ; 0x1bc 80599be: 6013 str r3, [r2, #0] fl = ACC_RMS_RD(j - 1); 80599c0: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 80599c4: 3b01 subs r3, #1 80599c6: 009a lsls r2, r3, #2 80599c8: 4bb1 ldr r3, [pc, #708] ; (8059c90 ) 80599ca: 4413 add r3, r2 80599cc: 681b ldr r3, [r3, #0] 80599ce: f8c7 31bc str.w r3, [r7, #444] ; 0x1bc ACC_RMS_WR(j) = fl; 80599d2: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 80599d6: 009a lsls r2, r3, #2 80599d8: 4bad ldr r3, [pc, #692] ; (8059c90 ) 80599da: 4413 add r3, r2 80599dc: 461a mov r2, r3 80599de: f8d7 31bc ldr.w r3, [r7, #444] ; 0x1bc 80599e2: 6013 str r3, [r2, #0] fl = VEL_PEAK_RD(j - 1); 80599e4: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 80599e8: 3b01 subs r3, #1 80599ea: 009a lsls r2, r3, #2 80599ec: 4ba9 ldr r3, [pc, #676] ; (8059c94 ) 80599ee: 4413 add r3, r2 80599f0: 681b ldr r3, [r3, #0] 80599f2: f8c7 31bc str.w r3, [r7, #444] ; 0x1bc VEL_PEAK_WR(j) = fl; 80599f6: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 80599fa: 009a lsls r2, r3, #2 80599fc: 4ba5 ldr r3, [pc, #660] ; (8059c94 ) 80599fe: 4413 add r3, r2 8059a00: 461a mov r2, r3 8059a02: f8d7 31bc ldr.w r3, [r7, #444] ; 0x1bc 8059a06: 6013 str r3, [r2, #0] fl = VEL_RMS_RD(j - 1); 8059a08: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 8059a0c: 3b01 subs r3, #1 8059a0e: 009a lsls r2, r3, #2 8059a10: 4ba1 ldr r3, [pc, #644] ; (8059c98 ) 8059a12: 4413 add r3, r2 8059a14: 681b ldr r3, [r3, #0] 8059a16: f8c7 31bc str.w r3, [r7, #444] ; 0x1bc VEL_RMS_WR(j) = fl; 8059a1a: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 8059a1e: 009a lsls r2, r3, #2 8059a20: 4b9d ldr r3, [pc, #628] ; (8059c98 ) 8059a22: 4413 add r3, r2 8059a24: 461a mov r2, r3 8059a26: f8d7 31bc ldr.w r3, [r7, #444] ; 0x1bc 8059a2a: 6013 str r3, [r2, #0] fl = DIS_PEAK_RD(j - 1); 8059a2c: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 8059a30: 3b01 subs r3, #1 8059a32: 009a lsls r2, r3, #2 8059a34: 4b99 ldr r3, [pc, #612] ; (8059c9c ) 8059a36: 4413 add r3, r2 8059a38: 681b ldr r3, [r3, #0] 8059a3a: f8c7 31bc str.w r3, [r7, #444] ; 0x1bc DIS_PEAK_WR(j) = fl; 8059a3e: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 8059a42: 009a lsls r2, r3, #2 8059a44: 4b95 ldr r3, [pc, #596] ; (8059c9c ) 8059a46: 4413 add r3, r2 8059a48: 461a mov r2, r3 8059a4a: f8d7 31bc ldr.w r3, [r7, #444] ; 0x1bc 8059a4e: 6013 str r3, [r2, #0] fl = DIS_RMS_RD(j - 1); 8059a50: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 8059a54: 3b01 subs r3, #1 8059a56: 009a lsls r2, r3, #2 8059a58: 4b91 ldr r3, [pc, #580] ; (8059ca0 ) 8059a5a: 4413 add r3, r2 8059a5c: 681b ldr r3, [r3, #0] 8059a5e: f8c7 31bc str.w r3, [r7, #444] ; 0x1bc DIS_RMS_WR(j) = fl; 8059a62: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 8059a66: 009a lsls r2, r3, #2 8059a68: 4b8d ldr r3, [pc, #564] ; (8059ca0 ) 8059a6a: 4413 add r3, r2 8059a6c: 461a mov r2, r3 8059a6e: f8d7 31bc ldr.w r3, [r7, #444] ; 0x1bc 8059a72: 6013 str r3, [r2, #0] for(j = AVG[pardata.AVG] - 1; j > 0; j--) 8059a74: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 8059a78: 3b01 subs r3, #1 8059a7a: f8c7 31cc str.w r3, [r7, #460] ; 0x1cc 8059a7e: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 8059a82: 2b00 cmp r3, #0 8059a84: d18a bne.n 805999c } fl = (float32_t) (AVG[pardata.AVG] * 8u) * 8192.0f; 8059a86: 4b87 ldr r3, [pc, #540] ; (8059ca4 ) 8059a88: 7b5b ldrb r3, [r3, #13] 8059a8a: b2db uxtb r3, r3 8059a8c: 461a mov r2, r3 8059a8e: 4b86 ldr r3, [pc, #536] ; (8059ca8 ) 8059a90: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 8059a94: 00db lsls r3, r3, #3 8059a96: ee07 3a90 vmov s15, r3 8059a9a: eef8 7a67 vcvt.f32.u32 s15, s15 8059a9e: ed9f 7a83 vldr s14, [pc, #524] ; 8059cac 8059aa2: ee67 7a87 vmul.f32 s15, s15, s14 8059aa6: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc for(i = 0; i < 3; i++) 8059aaa: 2300 movs r3, #0 8059aac: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8059ab0: f000 bcaf b.w 805a412 { switch(pardata.IVS[i]) 8059ab4: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059ab8: 4a7a ldr r2, [pc, #488] ; (8059ca4 ) 8059aba: 4413 add r3, r2 8059abc: 789b ldrb r3, [r3, #2] 8059abe: b2db uxtb r3, r3 8059ac0: 2b04 cmp r3, #4 8059ac2: f200 84a1 bhi.w 805a408 8059ac6: a201 add r2, pc, #4 ; (adr r2, 8059acc ) 8059ac8: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8059acc: 08059ae1 .word 0x08059ae1 8059ad0: 0805a23d .word 0x0805a23d 8059ad4: 08059ae1 .word 0x08059ae1 8059ad8: 08059f6f .word 0x08059f6f 8059adc: 08059cbd .word 0x08059cbd { case PEAK: case PEAK_TO_PEAK: if(i == ACC) 8059ae0: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059ae4: 2b00 cmp r3, #0 8059ae6: d11a bne.n 8059b1e { ACC_PEAK_WR(0) = peakAVS[i]; 8059ae8: 4a68 ldr r2, [pc, #416] ; (8059c8c ) 8059aea: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059aee: 4970 ldr r1, [pc, #448] ; (8059cb0 ) 8059af0: 009b lsls r3, r3, #2 8059af2: 440b add r3, r1 8059af4: 681b ldr r3, [r3, #0] 8059af6: 6013 str r3, [r2, #0] arm_max_f32((float32_t *) &ACC_PEAK_RD(0), AVG[pardata.AVG],&peakAVS[i], &k); 8059af8: 4b6a ldr r3, [pc, #424] ; (8059ca4 ) 8059afa: 7b5b ldrb r3, [r3, #13] 8059afc: b2db uxtb r3, r3 8059afe: 461a mov r2, r3 8059b00: 4b69 ldr r3, [pc, #420] ; (8059ca8 ) 8059b02: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 8059b06: 4619 mov r1, r3 8059b08: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059b0c: 009b lsls r3, r3, #2 8059b0e: 4a68 ldr r2, [pc, #416] ; (8059cb0 ) 8059b10: 441a add r2, r3 8059b12: f507 73e4 add.w r3, r7, #456 ; 0x1c8 8059b16: 485d ldr r0, [pc, #372] ; (8059c8c ) 8059b18: f070 fad0 bl 80ca0bc 8059b1c: e03c b.n 8059b98 } else if(i == VEL) 8059b1e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059b22: 2b01 cmp r3, #1 8059b24: d11a bne.n 8059b5c { VEL_PEAK_WR(0) = peakAVS[i]; 8059b26: 4a5b ldr r2, [pc, #364] ; (8059c94 ) 8059b28: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059b2c: 4960 ldr r1, [pc, #384] ; (8059cb0 ) 8059b2e: 009b lsls r3, r3, #2 8059b30: 440b add r3, r1 8059b32: 681b ldr r3, [r3, #0] 8059b34: 6013 str r3, [r2, #0] arm_max_f32((float32_t *) &VEL_PEAK_RD(0), AVG[pardata.AVG], &peakAVS[i], &k); 8059b36: 4b5b ldr r3, [pc, #364] ; (8059ca4 ) 8059b38: 7b5b ldrb r3, [r3, #13] 8059b3a: b2db uxtb r3, r3 8059b3c: 461a mov r2, r3 8059b3e: 4b5a ldr r3, [pc, #360] ; (8059ca8 ) 8059b40: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 8059b44: 4619 mov r1, r3 8059b46: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059b4a: 009b lsls r3, r3, #2 8059b4c: 4a58 ldr r2, [pc, #352] ; (8059cb0 ) 8059b4e: 441a add r2, r3 8059b50: f507 73e4 add.w r3, r7, #456 ; 0x1c8 8059b54: 484f ldr r0, [pc, #316] ; (8059c94 ) 8059b56: f070 fab1 bl 80ca0bc 8059b5a: e01d b.n 8059b98 } else if(i == DIS) 8059b5c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059b60: 2b02 cmp r3, #2 8059b62: d119 bne.n 8059b98 { DIS_PEAK_WR(0) = peakAVS[i]; 8059b64: 4a4d ldr r2, [pc, #308] ; (8059c9c ) 8059b66: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059b6a: 4951 ldr r1, [pc, #324] ; (8059cb0 ) 8059b6c: 009b lsls r3, r3, #2 8059b6e: 440b add r3, r1 8059b70: 681b ldr r3, [r3, #0] 8059b72: 6013 str r3, [r2, #0] arm_max_f32((float32_t *) &DIS_PEAK_RD(0), AVG[pardata.AVG], &peakAVS[i], &k); 8059b74: 4b4b ldr r3, [pc, #300] ; (8059ca4 ) 8059b76: 7b5b ldrb r3, [r3, #13] 8059b78: b2db uxtb r3, r3 8059b7a: 461a mov r2, r3 8059b7c: 4b4a ldr r3, [pc, #296] ; (8059ca8 ) 8059b7e: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 8059b82: 4619 mov r1, r3 8059b84: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059b88: 009b lsls r3, r3, #2 8059b8a: 4a49 ldr r2, [pc, #292] ; (8059cb0 ) 8059b8c: 441a add r2, r3 8059b8e: f507 73e4 add.w r3, r7, #456 ; 0x1c8 8059b92: 4842 ldr r0, [pc, #264] ; (8059c9c ) 8059b94: f070 fa92 bl 80ca0bc } peakAVS[i] = ABS(peakAVS[i]); 8059b98: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059b9c: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8059ba0: 4943 ldr r1, [pc, #268] ; (8059cb0 ) 8059ba2: 0092 lsls r2, r2, #2 8059ba4: 440a add r2, r1 8059ba6: edd2 7a00 vldr s15, [r2] 8059baa: eef5 7ac0 vcmpe.f32 s15, #0.0 8059bae: eef1 fa10 vmrs APSR_nzcv, fpscr 8059bb2: dd07 ble.n 8059bc4 8059bb4: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8059bb8: 493d ldr r1, [pc, #244] ; (8059cb0 ) 8059bba: 0092 lsls r2, r2, #2 8059bbc: 440a add r2, r1 8059bbe: edd2 7a00 vldr s15, [r2] 8059bc2: e008 b.n 8059bd6 8059bc4: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8059bc8: 4939 ldr r1, [pc, #228] ; (8059cb0 ) 8059bca: 0092 lsls r2, r2, #2 8059bcc: 440a add r2, r1 8059bce: edd2 7a00 vldr s15, [r2] 8059bd2: eef1 7a67 vneg.f32 s15, s15 8059bd6: 4a36 ldr r2, [pc, #216] ; (8059cb0 ) 8059bd8: 009b lsls r3, r3, #2 8059bda: 4413 add r3, r2 8059bdc: edc3 7a00 vstr s15, [r3] skz[i] = peakAVS[i]; 8059be0: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059be4: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8059be8: 4931 ldr r1, [pc, #196] ; (8059cb0 ) 8059bea: 0092 lsls r2, r2, #2 8059bec: 440a add r2, r1 8059bee: 6812 ldr r2, [r2, #0] 8059bf0: 4930 ldr r1, [pc, #192] ; (8059cb4 ) 8059bf2: 009b lsls r3, r3, #2 8059bf4: 440b add r3, r1 8059bf6: 601a str r2, [r3, #0] skz[i] = MedMeas(i, skz[i]); 8059bf8: f8d7 41d0 ldr.w r4, [r7, #464] ; 0x1d0 8059bfc: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059c00: b2d9 uxtb r1, r3 8059c02: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059c06: 4a2b ldr r2, [pc, #172] ; (8059cb4 ) 8059c08: 009b lsls r3, r3, #2 8059c0a: 4413 add r3, r2 8059c0c: edd3 7a00 vldr s15, [r3] 8059c10: eeb0 0a67 vmov.f32 s0, s15 8059c14: 4608 mov r0, r1 8059c16: f00b f9d7 bl 8064fc8 8059c1a: eef0 7a40 vmov.f32 s15, s0 8059c1e: 4a25 ldr r2, [pc, #148] ; (8059cb4 ) 8059c20: 00a3 lsls r3, r4, #2 8059c22: 4413 add r3, r2 8059c24: edc3 7a00 vstr s15, [r3] if(pardata.IVS[i] != EXCESS) 8059c28: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059c2c: 4a1d ldr r2, [pc, #116] ; (8059ca4 ) 8059c2e: 4413 add r3, r2 8059c30: 789b ldrb r3, [r3, #2] 8059c32: b2db uxtb r3, r3 8059c34: 2b04 cmp r3, #4 8059c36: d012 beq.n 8059c5e skz[i] /= pardata.IKK; 8059c38: 4b1a ldr r3, [pc, #104] ; (8059ca4 ) 8059c3a: ed93 7a04 vldr s14, [r3, #16] 8059c3e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059c42: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8059c46: 491b ldr r1, [pc, #108] ; (8059cb4 ) 8059c48: 0092 lsls r2, r2, #2 8059c4a: 440a add r2, r1 8059c4c: edd2 6a00 vldr s13, [r2] 8059c50: eec6 7a87 vdiv.f32 s15, s13, s14 8059c54: 4a17 ldr r2, [pc, #92] ; (8059cb4 ) 8059c56: 009b lsls r3, r3, #2 8059c58: 4413 add r3, r2 8059c5a: edc3 7a00 vstr s15, [r3] LinToLog(&skz[i], &skzDB[i]); 8059c5e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059c62: 009b lsls r3, r3, #2 8059c64: 4a13 ldr r2, [pc, #76] ; (8059cb4 ) 8059c66: 1898 adds r0, r3, r2 8059c68: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059c6c: 009b lsls r3, r3, #2 8059c6e: 4a12 ldr r2, [pc, #72] ; (8059cb8 ) 8059c70: 4413 add r3, r2 8059c72: 4619 mov r1, r3 8059c74: f00b f918 bl 8064ea8 peakAVS[i] = 0.0f; 8059c78: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059c7c: 4a0c ldr r2, [pc, #48] ; (8059cb0 ) 8059c7e: 009b lsls r3, r3, #2 8059c80: 4413 add r3, r2 8059c82: f04f 0200 mov.w r2, #0 8059c86: 601a str r2, [r3, #0] break; 8059c88: e3be b.n 805a408 8059c8a: bf00 nop 8059c8c: 64050000 .word 0x64050000 8059c90: 64050800 .word 0x64050800 8059c94: 64051000 .word 0x64051000 8059c98: 64051800 .word 0x64051800 8059c9c: 64052000 .word 0x64052000 8059ca0: 64052800 .word 0x64052800 8059ca4: 20023e60 .word 0x20023e60 8059ca8: 080eeb00 .word 0x080eeb00 8059cac: 46000000 .word 0x46000000 8059cb0: 20021cfc .word 0x20021cfc 8059cb4: 20021540 .word 0x20021540 8059cb8: 2002154c .word 0x2002154c case EXCESS: if(i == ACC) 8059cbc: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059cc0: 2b00 cmp r3, #0 8059cc2: d15b bne.n 8059d7c { ACC_PEAK_WR(0) = peakAVS[i]; 8059cc4: 4ab9 ldr r2, [pc, #740] ; (8059fac ) 8059cc6: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059cca: 49b9 ldr r1, [pc, #740] ; (8059fb0 ) 8059ccc: 009b lsls r3, r3, #2 8059cce: 440b add r3, r1 8059cd0: 681b ldr r3, [r3, #0] 8059cd2: 6013 str r3, [r2, #0] arm_min_f32((float32_t *) &ACC_PEAK_RD(0), AVG[pardata.AVG], &fn[0], &k); 8059cd4: 4bb7 ldr r3, [pc, #732] ; (8059fb4 ) 8059cd6: 7b5b ldrb r3, [r3, #13] 8059cd8: b2db uxtb r3, r3 8059cda: 461a mov r2, r3 8059cdc: 4bb6 ldr r3, [pc, #728] ; (8059fb8 ) 8059cde: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 8059ce2: 4619 mov r1, r3 8059ce4: f507 73e4 add.w r3, r7, #456 ; 0x1c8 8059ce8: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8059cec: 48af ldr r0, [pc, #700] ; (8059fac ) 8059cee: f070 f949 bl 80c9f84 arm_max_f32((float32_t *) &ACC_PEAK_RD(0), AVG[pardata.AVG], &fn[1], &k); 8059cf2: 4bb0 ldr r3, [pc, #704] ; (8059fb4 ) 8059cf4: 7b5b ldrb r3, [r3, #13] 8059cf6: b2db uxtb r3, r3 8059cf8: 461a mov r2, r3 8059cfa: 4baf ldr r3, [pc, #700] ; (8059fb8 ) 8059cfc: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 8059d00: 4618 mov r0, r3 8059d02: f507 71e4 add.w r1, r7, #456 ; 0x1c8 8059d06: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8059d0a: 1d1a adds r2, r3, #4 8059d0c: 460b mov r3, r1 8059d0e: 4601 mov r1, r0 8059d10: 48a6 ldr r0, [pc, #664] ; (8059fac ) 8059d12: f070 f9d3 bl 80ca0bc if(ABS(fn[0]) > ABS(fn[1])) peakAVS[i] = fn[0]; 8059d16: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8059d1a: eef5 7ac0 vcmpe.f32 s15, #0.0 8059d1e: eef1 fa10 vmrs APSR_nzcv, fpscr 8059d22: dd02 ble.n 8059d2a 8059d24: ed97 7a6c vldr s14, [r7, #432] ; 0x1b0 8059d28: e003 b.n 8059d32 8059d2a: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8059d2e: eeb1 7a67 vneg.f32 s14, s15 8059d32: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8059d36: eef5 7ac0 vcmpe.f32 s15, #0.0 8059d3a: eef1 fa10 vmrs APSR_nzcv, fpscr 8059d3e: dd02 ble.n 8059d46 8059d40: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8059d44: e003 b.n 8059d4e 8059d46: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8059d4a: eef1 7a67 vneg.f32 s15, s15 8059d4e: eeb4 7ae7 vcmpe.f32 s14, s15 8059d52: eef1 fa10 vmrs APSR_nzcv, fpscr 8059d56: dd08 ble.n 8059d6a 8059d58: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059d5c: f8d7 21b0 ldr.w r2, [r7, #432] ; 0x1b0 8059d60: 4993 ldr r1, [pc, #588] ; (8059fb0 ) 8059d62: 009b lsls r3, r3, #2 8059d64: 440b add r3, r1 8059d66: 601a str r2, [r3, #0] 8059d68: e0c7 b.n 8059efa else peakAVS[i] = fn[1]; 8059d6a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059d6e: f8d7 21b4 ldr.w r2, [r7, #436] ; 0x1b4 8059d72: 498f ldr r1, [pc, #572] ; (8059fb0 ) 8059d74: 009b lsls r3, r3, #2 8059d76: 440b add r3, r1 8059d78: 601a str r2, [r3, #0] 8059d7a: e0be b.n 8059efa } else if(i == VEL) 8059d7c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059d80: 2b01 cmp r3, #1 8059d82: d15b bne.n 8059e3c { VEL_PEAK_WR(0) = peakAVS[i]; 8059d84: 4a8d ldr r2, [pc, #564] ; (8059fbc ) 8059d86: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059d8a: 4989 ldr r1, [pc, #548] ; (8059fb0 ) 8059d8c: 009b lsls r3, r3, #2 8059d8e: 440b add r3, r1 8059d90: 681b ldr r3, [r3, #0] 8059d92: 6013 str r3, [r2, #0] arm_min_f32((float32_t *) &VEL_PEAK_RD(0), AVG[pardata.AVG], &fn[0], &k); 8059d94: 4b87 ldr r3, [pc, #540] ; (8059fb4 ) 8059d96: 7b5b ldrb r3, [r3, #13] 8059d98: b2db uxtb r3, r3 8059d9a: 461a mov r2, r3 8059d9c: 4b86 ldr r3, [pc, #536] ; (8059fb8 ) 8059d9e: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 8059da2: 4619 mov r1, r3 8059da4: f507 73e4 add.w r3, r7, #456 ; 0x1c8 8059da8: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8059dac: 4883 ldr r0, [pc, #524] ; (8059fbc ) 8059dae: f070 f8e9 bl 80c9f84 arm_max_f32((float32_t *) &VEL_PEAK_RD(0), AVG[pardata.AVG], &fn[1], &k); 8059db2: 4b80 ldr r3, [pc, #512] ; (8059fb4 ) 8059db4: 7b5b ldrb r3, [r3, #13] 8059db6: b2db uxtb r3, r3 8059db8: 461a mov r2, r3 8059dba: 4b7f ldr r3, [pc, #508] ; (8059fb8 ) 8059dbc: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 8059dc0: 4618 mov r0, r3 8059dc2: f507 71e4 add.w r1, r7, #456 ; 0x1c8 8059dc6: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8059dca: 1d1a adds r2, r3, #4 8059dcc: 460b mov r3, r1 8059dce: 4601 mov r1, r0 8059dd0: 487a ldr r0, [pc, #488] ; (8059fbc ) 8059dd2: f070 f973 bl 80ca0bc if(ABS(fn[0]) > ABS(fn[1])) peakAVS[i] = fn[0]; 8059dd6: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8059dda: eef5 7ac0 vcmpe.f32 s15, #0.0 8059dde: eef1 fa10 vmrs APSR_nzcv, fpscr 8059de2: dd02 ble.n 8059dea 8059de4: ed97 7a6c vldr s14, [r7, #432] ; 0x1b0 8059de8: e003 b.n 8059df2 8059dea: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8059dee: eeb1 7a67 vneg.f32 s14, s15 8059df2: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8059df6: eef5 7ac0 vcmpe.f32 s15, #0.0 8059dfa: eef1 fa10 vmrs APSR_nzcv, fpscr 8059dfe: dd02 ble.n 8059e06 8059e00: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8059e04: e003 b.n 8059e0e 8059e06: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8059e0a: eef1 7a67 vneg.f32 s15, s15 8059e0e: eeb4 7ae7 vcmpe.f32 s14, s15 8059e12: eef1 fa10 vmrs APSR_nzcv, fpscr 8059e16: dd08 ble.n 8059e2a 8059e18: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059e1c: f8d7 21b0 ldr.w r2, [r7, #432] ; 0x1b0 8059e20: 4963 ldr r1, [pc, #396] ; (8059fb0 ) 8059e22: 009b lsls r3, r3, #2 8059e24: 440b add r3, r1 8059e26: 601a str r2, [r3, #0] 8059e28: e067 b.n 8059efa else peakAVS[i] = fn[1]; 8059e2a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059e2e: f8d7 21b4 ldr.w r2, [r7, #436] ; 0x1b4 8059e32: 495f ldr r1, [pc, #380] ; (8059fb0 ) 8059e34: 009b lsls r3, r3, #2 8059e36: 440b add r3, r1 8059e38: 601a str r2, [r3, #0] 8059e3a: e05e b.n 8059efa } else if(i == DIS) 8059e3c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059e40: 2b02 cmp r3, #2 8059e42: d15a bne.n 8059efa { DIS_PEAK_WR(0) = peakAVS[i]; 8059e44: 4a5e ldr r2, [pc, #376] ; (8059fc0 ) 8059e46: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059e4a: 4959 ldr r1, [pc, #356] ; (8059fb0 ) 8059e4c: 009b lsls r3, r3, #2 8059e4e: 440b add r3, r1 8059e50: 681b ldr r3, [r3, #0] 8059e52: 6013 str r3, [r2, #0] arm_min_f32((float32_t *) &DIS_PEAK_RD(0), AVG[pardata.AVG], &fn[0], &k); 8059e54: 4b57 ldr r3, [pc, #348] ; (8059fb4 ) 8059e56: 7b5b ldrb r3, [r3, #13] 8059e58: b2db uxtb r3, r3 8059e5a: 461a mov r2, r3 8059e5c: 4b56 ldr r3, [pc, #344] ; (8059fb8 ) 8059e5e: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 8059e62: 4619 mov r1, r3 8059e64: f507 73e4 add.w r3, r7, #456 ; 0x1c8 8059e68: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8059e6c: 4854 ldr r0, [pc, #336] ; (8059fc0 ) 8059e6e: f070 f889 bl 80c9f84 arm_max_f32((float32_t *) &DIS_PEAK_RD(0), AVG[pardata.AVG], &fn[1], &k); 8059e72: 4b50 ldr r3, [pc, #320] ; (8059fb4 ) 8059e74: 7b5b ldrb r3, [r3, #13] 8059e76: b2db uxtb r3, r3 8059e78: 461a mov r2, r3 8059e7a: 4b4f ldr r3, [pc, #316] ; (8059fb8 ) 8059e7c: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 8059e80: 4618 mov r0, r3 8059e82: f507 71e4 add.w r1, r7, #456 ; 0x1c8 8059e86: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8059e8a: 1d1a adds r2, r3, #4 8059e8c: 460b mov r3, r1 8059e8e: 4601 mov r1, r0 8059e90: 484b ldr r0, [pc, #300] ; (8059fc0 ) 8059e92: f070 f913 bl 80ca0bc if(ABS(fn[0]) > ABS(fn[1])) peakAVS[i] = fn[0]; 8059e96: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8059e9a: eef5 7ac0 vcmpe.f32 s15, #0.0 8059e9e: eef1 fa10 vmrs APSR_nzcv, fpscr 8059ea2: dd02 ble.n 8059eaa 8059ea4: ed97 7a6c vldr s14, [r7, #432] ; 0x1b0 8059ea8: e003 b.n 8059eb2 8059eaa: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8059eae: eeb1 7a67 vneg.f32 s14, s15 8059eb2: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8059eb6: eef5 7ac0 vcmpe.f32 s15, #0.0 8059eba: eef1 fa10 vmrs APSR_nzcv, fpscr 8059ebe: dd02 ble.n 8059ec6 8059ec0: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8059ec4: e003 b.n 8059ece 8059ec6: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8059eca: eef1 7a67 vneg.f32 s15, s15 8059ece: eeb4 7ae7 vcmpe.f32 s14, s15 8059ed2: eef1 fa10 vmrs APSR_nzcv, fpscr 8059ed6: dd08 ble.n 8059eea 8059ed8: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059edc: f8d7 21b0 ldr.w r2, [r7, #432] ; 0x1b0 8059ee0: 4933 ldr r1, [pc, #204] ; (8059fb0 ) 8059ee2: 009b lsls r3, r3, #2 8059ee4: 440b add r3, r1 8059ee6: 601a str r2, [r3, #0] 8059ee8: e007 b.n 8059efa else peakAVS[i] = fn[1]; 8059eea: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059eee: f8d7 21b4 ldr.w r2, [r7, #436] ; 0x1b4 8059ef2: 492f ldr r1, [pc, #188] ; (8059fb0 ) 8059ef4: 009b lsls r3, r3, #2 8059ef6: 440b add r3, r1 8059ef8: 601a str r2, [r3, #0] } skz[i] = peakAVS[i]; 8059efa: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059efe: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8059f02: 492b ldr r1, [pc, #172] ; (8059fb0 ) 8059f04: 0092 lsls r2, r2, #2 8059f06: 440a add r2, r1 8059f08: 6812 ldr r2, [r2, #0] 8059f0a: 492e ldr r1, [pc, #184] ; (8059fc4 ) 8059f0c: 009b lsls r3, r3, #2 8059f0e: 440b add r3, r1 8059f10: 601a str r2, [r3, #0] skz[i] = MedMeas(i, skz[i]); 8059f12: f8d7 41d0 ldr.w r4, [r7, #464] ; 0x1d0 8059f16: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059f1a: b2d9 uxtb r1, r3 8059f1c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059f20: 4a28 ldr r2, [pc, #160] ; (8059fc4 ) 8059f22: 009b lsls r3, r3, #2 8059f24: 4413 add r3, r2 8059f26: edd3 7a00 vldr s15, [r3] 8059f2a: eeb0 0a67 vmov.f32 s0, s15 8059f2e: 4608 mov r0, r1 8059f30: f00b f84a bl 8064fc8 8059f34: eef0 7a40 vmov.f32 s15, s0 8059f38: 4a22 ldr r2, [pc, #136] ; (8059fc4 ) 8059f3a: 00a3 lsls r3, r4, #2 8059f3c: 4413 add r3, r2 8059f3e: edc3 7a00 vstr s15, [r3] LinToLog(&skz[i], &skzDB[i]); 8059f42: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059f46: 009b lsls r3, r3, #2 8059f48: 4a1e ldr r2, [pc, #120] ; (8059fc4 ) 8059f4a: 1898 adds r0, r3, r2 8059f4c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059f50: 009b lsls r3, r3, #2 8059f52: 4a1d ldr r2, [pc, #116] ; (8059fc8 ) 8059f54: 4413 add r3, r2 8059f56: 4619 mov r1, r3 8059f58: f00a ffa6 bl 8064ea8 peakAVS[i] = 0.0f; 8059f5c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059f60: 4a13 ldr r2, [pc, #76] ; (8059fb0 ) 8059f62: 009b lsls r3, r3, #2 8059f64: 4413 add r3, r2 8059f66: f04f 0200 mov.w r2, #0 8059f6a: 601a str r2, [r3, #0] break; 8059f6c: e24c b.n 805a408 case PEAK_FACTOR: if(i == ACC) 8059f6e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059f72: 2b00 cmp r3, #0 8059f74: d12a bne.n 8059fcc { ACC_PEAK_WR(0) = peakAVS[i]; 8059f76: 4a0d ldr r2, [pc, #52] ; (8059fac ) 8059f78: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059f7c: 490c ldr r1, [pc, #48] ; (8059fb0 ) 8059f7e: 009b lsls r3, r3, #2 8059f80: 440b add r3, r1 8059f82: 681b ldr r3, [r3, #0] 8059f84: 6013 str r3, [r2, #0] arm_max_f32((float32_t *) &ACC_PEAK_RD(0), AVG[pardata.AVG],&peakAVS[i], &k); 8059f86: 4b0b ldr r3, [pc, #44] ; (8059fb4 ) 8059f88: 7b5b ldrb r3, [r3, #13] 8059f8a: b2db uxtb r3, r3 8059f8c: 461a mov r2, r3 8059f8e: 4b0a ldr r3, [pc, #40] ; (8059fb8 ) 8059f90: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 8059f94: 4619 mov r1, r3 8059f96: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059f9a: 009b lsls r3, r3, #2 8059f9c: 4a04 ldr r2, [pc, #16] ; (8059fb0 ) 8059f9e: 441a add r2, r3 8059fa0: f507 73e4 add.w r3, r7, #456 ; 0x1c8 8059fa4: 4801 ldr r0, [pc, #4] ; (8059fac ) 8059fa6: f070 f889 bl 80ca0bc 8059faa: e04c b.n 805a046 8059fac: 64050000 .word 0x64050000 8059fb0: 20021cfc .word 0x20021cfc 8059fb4: 20023e60 .word 0x20023e60 8059fb8: 080eeb00 .word 0x080eeb00 8059fbc: 64051000 .word 0x64051000 8059fc0: 64052000 .word 0x64052000 8059fc4: 20021540 .word 0x20021540 8059fc8: 2002154c .word 0x2002154c } else if(i == VEL) 8059fcc: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059fd0: 2b01 cmp r3, #1 8059fd2: d11a bne.n 805a00a { VEL_PEAK_WR(0) = peakAVS[i]; 8059fd4: 4ab7 ldr r2, [pc, #732] ; (805a2b4 ) 8059fd6: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059fda: 49b7 ldr r1, [pc, #732] ; (805a2b8 ) 8059fdc: 009b lsls r3, r3, #2 8059fde: 440b add r3, r1 8059fe0: 681b ldr r3, [r3, #0] 8059fe2: 6013 str r3, [r2, #0] arm_max_f32((float32_t *) &VEL_PEAK_RD(0), AVG[pardata.AVG], &peakAVS[i], &k); 8059fe4: 4bb5 ldr r3, [pc, #724] ; (805a2bc ) 8059fe6: 7b5b ldrb r3, [r3, #13] 8059fe8: b2db uxtb r3, r3 8059fea: 461a mov r2, r3 8059fec: 4bb4 ldr r3, [pc, #720] ; (805a2c0 ) 8059fee: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 8059ff2: 4619 mov r1, r3 8059ff4: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059ff8: 009b lsls r3, r3, #2 8059ffa: 4aaf ldr r2, [pc, #700] ; (805a2b8 ) 8059ffc: 441a add r2, r3 8059ffe: f507 73e4 add.w r3, r7, #456 ; 0x1c8 805a002: 48ac ldr r0, [pc, #688] ; (805a2b4 ) 805a004: f070 f85a bl 80ca0bc 805a008: e01d b.n 805a046 } else if(i == DIS) 805a00a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a00e: 2b02 cmp r3, #2 805a010: d119 bne.n 805a046 { DIS_PEAK_WR(0) = peakAVS[i]; 805a012: 4aac ldr r2, [pc, #688] ; (805a2c4 ) 805a014: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a018: 49a7 ldr r1, [pc, #668] ; (805a2b8 ) 805a01a: 009b lsls r3, r3, #2 805a01c: 440b add r3, r1 805a01e: 681b ldr r3, [r3, #0] 805a020: 6013 str r3, [r2, #0] arm_max_f32((float32_t *) &DIS_PEAK_RD(0), AVG[pardata.AVG], &peakAVS[i], &k); 805a022: 4ba6 ldr r3, [pc, #664] ; (805a2bc ) 805a024: 7b5b ldrb r3, [r3, #13] 805a026: b2db uxtb r3, r3 805a028: 461a mov r2, r3 805a02a: 4ba5 ldr r3, [pc, #660] ; (805a2c0 ) 805a02c: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 805a030: 4619 mov r1, r3 805a032: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a036: 009b lsls r3, r3, #2 805a038: 4a9f ldr r2, [pc, #636] ; (805a2b8 ) 805a03a: 441a add r2, r3 805a03c: f507 73e4 add.w r3, r7, #456 ; 0x1c8 805a040: 48a0 ldr r0, [pc, #640] ; (805a2c4 ) 805a042: f070 f83b bl 80ca0bc } peakAVS[i] = ABS(peakAVS[i]); 805a046: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a04a: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805a04e: 499a ldr r1, [pc, #616] ; (805a2b8 ) 805a050: 0092 lsls r2, r2, #2 805a052: 440a add r2, r1 805a054: edd2 7a00 vldr s15, [r2] 805a058: eef5 7ac0 vcmpe.f32 s15, #0.0 805a05c: eef1 fa10 vmrs APSR_nzcv, fpscr 805a060: dd07 ble.n 805a072 805a062: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805a066: 4994 ldr r1, [pc, #592] ; (805a2b8 ) 805a068: 0092 lsls r2, r2, #2 805a06a: 440a add r2, r1 805a06c: edd2 7a00 vldr s15, [r2] 805a070: e008 b.n 805a084 805a072: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805a076: 4990 ldr r1, [pc, #576] ; (805a2b8 ) 805a078: 0092 lsls r2, r2, #2 805a07a: 440a add r2, r1 805a07c: edd2 7a00 vldr s15, [r2] 805a080: eef1 7a67 vneg.f32 s15, s15 805a084: 4a8c ldr r2, [pc, #560] ; (805a2b8 ) 805a086: 009b lsls r3, r3, #2 805a088: 4413 add r3, r2 805a08a: edc3 7a00 vstr s15, [r3] if(i == ACC) 805a08e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a092: 2b00 cmp r3, #0 805a094: d119 bne.n 805a0ca { ACC_RMS_WR(0) = rmsAVS[i]; 805a096: 4a8c ldr r2, [pc, #560] ; (805a2c8 ) 805a098: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a09c: 498b ldr r1, [pc, #556] ; (805a2cc ) 805a09e: 009b lsls r3, r3, #2 805a0a0: 440b add r3, r1 805a0a2: 681b ldr r3, [r3, #0] 805a0a4: 6013 str r3, [r2, #0] arm_mean_f32((float32_t *) &ACC_RMS_RD(0), AVG[pardata.AVG], &rmsAVS[i]); 805a0a6: 4b85 ldr r3, [pc, #532] ; (805a2bc ) 805a0a8: 7b5b ldrb r3, [r3, #13] 805a0aa: b2db uxtb r3, r3 805a0ac: 461a mov r2, r3 805a0ae: 4b84 ldr r3, [pc, #528] ; (805a2c0 ) 805a0b0: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 805a0b4: 4619 mov r1, r3 805a0b6: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a0ba: 009b lsls r3, r3, #2 805a0bc: 4a83 ldr r2, [pc, #524] ; (805a2cc ) 805a0be: 4413 add r3, r2 805a0c0: 461a mov r2, r3 805a0c2: 4881 ldr r0, [pc, #516] ; (805a2c8 ) 805a0c4: f06f ffc4 bl 80ca050 805a0c8: e03a b.n 805a140 } else if(i == VEL) 805a0ca: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a0ce: 2b01 cmp r3, #1 805a0d0: d119 bne.n 805a106 { VEL_RMS_WR(0) = rmsAVS[i]; 805a0d2: 4a7f ldr r2, [pc, #508] ; (805a2d0 ) 805a0d4: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a0d8: 497c ldr r1, [pc, #496] ; (805a2cc ) 805a0da: 009b lsls r3, r3, #2 805a0dc: 440b add r3, r1 805a0de: 681b ldr r3, [r3, #0] 805a0e0: 6013 str r3, [r2, #0] arm_mean_f32((float32_t *) &VEL_RMS_RD(0), AVG[pardata.AVG], &rmsAVS[i]); 805a0e2: 4b76 ldr r3, [pc, #472] ; (805a2bc ) 805a0e4: 7b5b ldrb r3, [r3, #13] 805a0e6: b2db uxtb r3, r3 805a0e8: 461a mov r2, r3 805a0ea: 4b75 ldr r3, [pc, #468] ; (805a2c0 ) 805a0ec: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 805a0f0: 4619 mov r1, r3 805a0f2: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a0f6: 009b lsls r3, r3, #2 805a0f8: 4a74 ldr r2, [pc, #464] ; (805a2cc ) 805a0fa: 4413 add r3, r2 805a0fc: 461a mov r2, r3 805a0fe: 4874 ldr r0, [pc, #464] ; (805a2d0 ) 805a100: f06f ffa6 bl 80ca050 805a104: e01c b.n 805a140 } else if(i == DIS) 805a106: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a10a: 2b02 cmp r3, #2 805a10c: d118 bne.n 805a140 { DIS_RMS_WR(0) = rmsAVS[i]; 805a10e: 4a71 ldr r2, [pc, #452] ; (805a2d4 ) 805a110: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a114: 496d ldr r1, [pc, #436] ; (805a2cc ) 805a116: 009b lsls r3, r3, #2 805a118: 440b add r3, r1 805a11a: 681b ldr r3, [r3, #0] 805a11c: 6013 str r3, [r2, #0] arm_mean_f32((float32_t *) &DIS_RMS_RD(0), AVG[pardata.AVG], &rmsAVS[i]); 805a11e: 4b67 ldr r3, [pc, #412] ; (805a2bc ) 805a120: 7b5b ldrb r3, [r3, #13] 805a122: b2db uxtb r3, r3 805a124: 461a mov r2, r3 805a126: 4b66 ldr r3, [pc, #408] ; (805a2c0 ) 805a128: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 805a12c: 4619 mov r1, r3 805a12e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a132: 009b lsls r3, r3, #2 805a134: 4a65 ldr r2, [pc, #404] ; (805a2cc ) 805a136: 4413 add r3, r2 805a138: 461a mov r2, r3 805a13a: 4866 ldr r0, [pc, #408] ; (805a2d4 ) 805a13c: f06f ff88 bl 80ca050 } rmsAVS[i] *= AVG[pardata.AVG]; 805a140: 4b5e ldr r3, [pc, #376] ; (805a2bc ) 805a142: 7b5b ldrb r3, [r3, #13] 805a144: b2db uxtb r3, r3 805a146: 461a mov r2, r3 805a148: 4b5d ldr r3, [pc, #372] ; (805a2c0 ) 805a14a: f833 0012 ldrh.w r0, [r3, r2, lsl #1] 805a14e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a152: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805a156: 495d ldr r1, [pc, #372] ; (805a2cc ) 805a158: 0092 lsls r2, r2, #2 805a15a: 440a add r2, r1 805a15c: ed92 7a00 vldr s14, [r2] 805a160: ee07 0a90 vmov s15, r0 805a164: eef8 7ae7 vcvt.f32.s32 s15, s15 805a168: ee67 7a27 vmul.f32 s15, s14, s15 805a16c: 4a57 ldr r2, [pc, #348] ; (805a2cc ) 805a16e: 009b lsls r3, r3, #2 805a170: 4413 add r3, r2 805a172: edc3 7a00 vstr s15, [r3] rmsAVS[i] /= fl; 805a176: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a17a: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805a17e: 4953 ldr r1, [pc, #332] ; (805a2cc ) 805a180: 0092 lsls r2, r2, #2 805a182: 440a add r2, r1 805a184: edd2 6a00 vldr s13, [r2] 805a188: ed97 7a6f vldr s14, [r7, #444] ; 0x1bc 805a18c: eec6 7a87 vdiv.f32 s15, s13, s14 805a190: 4a4e ldr r2, [pc, #312] ; (805a2cc ) 805a192: 009b lsls r3, r3, #2 805a194: 4413 add r3, r2 805a196: edc3 7a00 vstr s15, [r3] arm_sqrt_f32(rmsAVS[i], &rmsAVS[i]); 805a19a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a19e: 4a4b ldr r2, [pc, #300] ; (805a2cc ) 805a1a0: 009b lsls r3, r3, #2 805a1a2: 4413 add r3, r2 805a1a4: edd3 7a00 vldr s15, [r3] 805a1a8: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a1ac: 009b lsls r3, r3, #2 805a1ae: 4a47 ldr r2, [pc, #284] ; (805a2cc ) 805a1b0: 4413 add r3, r2 805a1b2: 4618 mov r0, r3 805a1b4: eeb0 0a67 vmov.f32 s0, s15 805a1b8: f7fb fbfa bl 80559b0 skz[i] = peakAVS[i] / rmsAVS[i]; 805a1bc: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a1c0: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805a1c4: 493c ldr r1, [pc, #240] ; (805a2b8 ) 805a1c6: 0092 lsls r2, r2, #2 805a1c8: 440a add r2, r1 805a1ca: edd2 6a00 vldr s13, [r2] 805a1ce: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805a1d2: 493e ldr r1, [pc, #248] ; (805a2cc ) 805a1d4: 0092 lsls r2, r2, #2 805a1d6: 440a add r2, r1 805a1d8: ed92 7a00 vldr s14, [r2] 805a1dc: eec6 7a87 vdiv.f32 s15, s13, s14 805a1e0: 4a3d ldr r2, [pc, #244] ; (805a2d8 ) 805a1e2: 009b lsls r3, r3, #2 805a1e4: 4413 add r3, r2 805a1e6: edc3 7a00 vstr s15, [r3] skz[i] = MedMeas(i, skz[i]); 805a1ea: f8d7 41d0 ldr.w r4, [r7, #464] ; 0x1d0 805a1ee: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a1f2: b2d9 uxtb r1, r3 805a1f4: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a1f8: 4a37 ldr r2, [pc, #220] ; (805a2d8 ) 805a1fa: 009b lsls r3, r3, #2 805a1fc: 4413 add r3, r2 805a1fe: edd3 7a00 vldr s15, [r3] 805a202: eeb0 0a67 vmov.f32 s0, s15 805a206: 4608 mov r0, r1 805a208: f00a fede bl 8064fc8 805a20c: eef0 7a40 vmov.f32 s15, s0 805a210: 4a31 ldr r2, [pc, #196] ; (805a2d8 ) 805a212: 00a3 lsls r3, r4, #2 805a214: 4413 add r3, r2 805a216: edc3 7a00 vstr s15, [r3] skzDB[i] = 0.0f; 805a21a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a21e: 4a2f ldr r2, [pc, #188] ; (805a2dc ) 805a220: 009b lsls r3, r3, #2 805a222: 4413 add r3, r2 805a224: f04f 0200 mov.w r2, #0 805a228: 601a str r2, [r3, #0] peakAVS[i] = 0.0f; 805a22a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a22e: 4a22 ldr r2, [pc, #136] ; (805a2b8 ) 805a230: 009b lsls r3, r3, #2 805a232: 4413 add r3, r2 805a234: f04f 0200 mov.w r2, #0 805a238: 601a str r2, [r3, #0] break; 805a23a: e0e5 b.n 805a408 case RMS: if(i == ACC) 805a23c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a240: 2b00 cmp r3, #0 805a242: d119 bne.n 805a278 { ACC_RMS_WR(0) = rmsAVS[i]; 805a244: 4a20 ldr r2, [pc, #128] ; (805a2c8 ) 805a246: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a24a: 4920 ldr r1, [pc, #128] ; (805a2cc ) 805a24c: 009b lsls r3, r3, #2 805a24e: 440b add r3, r1 805a250: 681b ldr r3, [r3, #0] 805a252: 6013 str r3, [r2, #0] arm_mean_f32((float32_t *) &ACC_RMS_RD(0), AVG[pardata.AVG], &rmsAVS[i]); 805a254: 4b19 ldr r3, [pc, #100] ; (805a2bc ) 805a256: 7b5b ldrb r3, [r3, #13] 805a258: b2db uxtb r3, r3 805a25a: 461a mov r2, r3 805a25c: 4b18 ldr r3, [pc, #96] ; (805a2c0 ) 805a25e: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 805a262: 4619 mov r1, r3 805a264: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a268: 009b lsls r3, r3, #2 805a26a: 4a18 ldr r2, [pc, #96] ; (805a2cc ) 805a26c: 4413 add r3, r2 805a26e: 461a mov r2, r3 805a270: 4815 ldr r0, [pc, #84] ; (805a2c8 ) 805a272: f06f feed bl 80ca050 805a276: e050 b.n 805a31a } else if(i == VEL) 805a278: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a27c: 2b01 cmp r3, #1 805a27e: d12f bne.n 805a2e0 { VEL_RMS_WR(0) = rmsAVS[i]; 805a280: 4a13 ldr r2, [pc, #76] ; (805a2d0 ) 805a282: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a286: 4911 ldr r1, [pc, #68] ; (805a2cc ) 805a288: 009b lsls r3, r3, #2 805a28a: 440b add r3, r1 805a28c: 681b ldr r3, [r3, #0] 805a28e: 6013 str r3, [r2, #0] arm_mean_f32((float32_t *) &VEL_RMS_RD(0), AVG[pardata.AVG], &rmsAVS[i]); 805a290: 4b0a ldr r3, [pc, #40] ; (805a2bc ) 805a292: 7b5b ldrb r3, [r3, #13] 805a294: b2db uxtb r3, r3 805a296: 461a mov r2, r3 805a298: 4b09 ldr r3, [pc, #36] ; (805a2c0 ) 805a29a: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 805a29e: 4619 mov r1, r3 805a2a0: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a2a4: 009b lsls r3, r3, #2 805a2a6: 4a09 ldr r2, [pc, #36] ; (805a2cc ) 805a2a8: 4413 add r3, r2 805a2aa: 461a mov r2, r3 805a2ac: 4808 ldr r0, [pc, #32] ; (805a2d0 ) 805a2ae: f06f fecf bl 80ca050 805a2b2: e032 b.n 805a31a 805a2b4: 64051000 .word 0x64051000 805a2b8: 20021cfc .word 0x20021cfc 805a2bc: 20023e60 .word 0x20023e60 805a2c0: 080eeb00 .word 0x080eeb00 805a2c4: 64052000 .word 0x64052000 805a2c8: 64050800 .word 0x64050800 805a2cc: 20021ce8 .word 0x20021ce8 805a2d0: 64051800 .word 0x64051800 805a2d4: 64052800 .word 0x64052800 805a2d8: 20021540 .word 0x20021540 805a2dc: 2002154c .word 0x2002154c } else if(i == DIS) 805a2e0: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a2e4: 2b02 cmp r3, #2 805a2e6: d118 bne.n 805a31a { DIS_RMS_WR(0) = rmsAVS[i]; 805a2e8: 4ac8 ldr r2, [pc, #800] ; (805a60c ) 805a2ea: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a2ee: 49c8 ldr r1, [pc, #800] ; (805a610 ) 805a2f0: 009b lsls r3, r3, #2 805a2f2: 440b add r3, r1 805a2f4: 681b ldr r3, [r3, #0] 805a2f6: 6013 str r3, [r2, #0] arm_mean_f32((float32_t *) &DIS_RMS_RD(0), AVG[pardata.AVG], &rmsAVS[i]); 805a2f8: 4bc6 ldr r3, [pc, #792] ; (805a614 ) 805a2fa: 7b5b ldrb r3, [r3, #13] 805a2fc: b2db uxtb r3, r3 805a2fe: 461a mov r2, r3 805a300: 4bc5 ldr r3, [pc, #788] ; (805a618 ) 805a302: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 805a306: 4619 mov r1, r3 805a308: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a30c: 009b lsls r3, r3, #2 805a30e: 4ac0 ldr r2, [pc, #768] ; (805a610 ) 805a310: 4413 add r3, r2 805a312: 461a mov r2, r3 805a314: 48bd ldr r0, [pc, #756] ; (805a60c ) 805a316: f06f fe9b bl 80ca050 } rmsAVS[i] *= (float32_t) AVG[pardata.AVG]; 805a31a: 4bbe ldr r3, [pc, #760] ; (805a614 ) 805a31c: 7b5b ldrb r3, [r3, #13] 805a31e: b2db uxtb r3, r3 805a320: 461a mov r2, r3 805a322: 4bbd ldr r3, [pc, #756] ; (805a618 ) 805a324: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 805a328: ee07 3a90 vmov s15, r3 805a32c: eef8 7a67 vcvt.f32.u32 s15, s15 805a330: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a334: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805a338: 49b5 ldr r1, [pc, #724] ; (805a610 ) 805a33a: 0092 lsls r2, r2, #2 805a33c: 440a add r2, r1 805a33e: ed92 7a00 vldr s14, [r2] 805a342: ee67 7a27 vmul.f32 s15, s14, s15 805a346: 4ab2 ldr r2, [pc, #712] ; (805a610 ) 805a348: 009b lsls r3, r3, #2 805a34a: 4413 add r3, r2 805a34c: edc3 7a00 vstr s15, [r3] rmsAVS[i] /= fl; 805a350: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a354: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805a358: 49ad ldr r1, [pc, #692] ; (805a610 ) 805a35a: 0092 lsls r2, r2, #2 805a35c: 440a add r2, r1 805a35e: edd2 6a00 vldr s13, [r2] 805a362: ed97 7a6f vldr s14, [r7, #444] ; 0x1bc 805a366: eec6 7a87 vdiv.f32 s15, s13, s14 805a36a: 4aa9 ldr r2, [pc, #676] ; (805a610 ) 805a36c: 009b lsls r3, r3, #2 805a36e: 4413 add r3, r2 805a370: edc3 7a00 vstr s15, [r3] arm_sqrt_f32(rmsAVS[i], &skz[i]); 805a374: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a378: 4aa5 ldr r2, [pc, #660] ; (805a610 ) 805a37a: 009b lsls r3, r3, #2 805a37c: 4413 add r3, r2 805a37e: edd3 7a00 vldr s15, [r3] 805a382: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a386: 009b lsls r3, r3, #2 805a388: 4aa4 ldr r2, [pc, #656] ; (805a61c ) 805a38a: 4413 add r3, r2 805a38c: 4618 mov r0, r3 805a38e: eeb0 0a67 vmov.f32 s0, s15 805a392: f7fb fb0d bl 80559b0 skz[i] = MedMeas(i, skz[i]); 805a396: f8d7 41d0 ldr.w r4, [r7, #464] ; 0x1d0 805a39a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a39e: b2d9 uxtb r1, r3 805a3a0: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a3a4: 4a9d ldr r2, [pc, #628] ; (805a61c ) 805a3a6: 009b lsls r3, r3, #2 805a3a8: 4413 add r3, r2 805a3aa: edd3 7a00 vldr s15, [r3] 805a3ae: eeb0 0a67 vmov.f32 s0, s15 805a3b2: 4608 mov r0, r1 805a3b4: f00a fe08 bl 8064fc8 805a3b8: eef0 7a40 vmov.f32 s15, s0 805a3bc: 4a97 ldr r2, [pc, #604] ; (805a61c ) 805a3be: 00a3 lsls r3, r4, #2 805a3c0: 4413 add r3, r2 805a3c2: edc3 7a00 vstr s15, [r3] skz[i] /= pardata.IKK; 805a3c6: 4b93 ldr r3, [pc, #588] ; (805a614 ) 805a3c8: ed93 7a04 vldr s14, [r3, #16] 805a3cc: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a3d0: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805a3d4: 4991 ldr r1, [pc, #580] ; (805a61c ) 805a3d6: 0092 lsls r2, r2, #2 805a3d8: 440a add r2, r1 805a3da: edd2 6a00 vldr s13, [r2] 805a3de: eec6 7a87 vdiv.f32 s15, s13, s14 805a3e2: 4a8e ldr r2, [pc, #568] ; (805a61c ) 805a3e4: 009b lsls r3, r3, #2 805a3e6: 4413 add r3, r2 805a3e8: edc3 7a00 vstr s15, [r3] LinToLog(&skz[i], &skzDB[i]); 805a3ec: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a3f0: 009b lsls r3, r3, #2 805a3f2: 4a8a ldr r2, [pc, #552] ; (805a61c ) 805a3f4: 1898 adds r0, r3, r2 805a3f6: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a3fa: 009b lsls r3, r3, #2 805a3fc: 4a88 ldr r2, [pc, #544] ; (805a620 ) 805a3fe: 4413 add r3, r2 805a400: 4619 mov r1, r3 805a402: f00a fd51 bl 8064ea8 break; 805a406: bf00 nop for(i = 0; i < 3; i++) 805a408: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a40c: 3301 adds r3, #1 805a40e: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805a412: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a416: 2b02 cmp r3, #2 805a418: f67f ab4c bls.w 8059ab4 } } if(MeanCnt >= (uint32_t) (AVG[pardata.AVG] * 8u)) 805a41c: 4b7d ldr r3, [pc, #500] ; (805a614 ) 805a41e: 7b5b ldrb r3, [r3, #13] 805a420: b2db uxtb r3, r3 805a422: 461a mov r2, r3 805a424: 4b7c ldr r3, [pc, #496] ; (805a618 ) 805a426: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 805a42a: 00da lsls r2, r3, #3 805a42c: 4b7d ldr r3, [pc, #500] ; (805a624 ) 805a42e: 681b ldr r3, [r3, #0] 805a430: 429a cmp r2, r3 805a432: d816 bhi.n 805a462 { MeanCnt = 0; 805a434: 4b7b ldr r3, [pc, #492] ; (805a624 ) 805a436: 2200 movs r2, #0 805a438: 601a str r2, [r3, #0] arm_fill_f32(0.0f, rmsAVS, 3); 805a43a: 2103 movs r1, #3 805a43c: 4874 ldr r0, [pc, #464] ; (805a610 ) 805a43e: ed9f 0a7a vldr s0, [pc, #488] ; 805a628 805a442: f06f fc5f bl 80c9d04 arm_fill_f32(0.0f, peakAVS, 3); 805a446: 2103 movs r1, #3 805a448: 4878 ldr r0, [pc, #480] ; (805a62c ) 805a44a: ed9f 0a77 vldr s0, [pc, #476] ; 805a628 805a44e: f06f fc59 bl 80c9d04 arm_fill_f32(0.0f, fval, 3); 805a452: f107 03fc add.w r3, r7, #252 ; 0xfc 805a456: 2103 movs r1, #3 805a458: 4618 mov r0, r3 805a45a: ed9f 0a73 vldr s0, [pc, #460] ; 805a628 805a45e: f06f fc51 bl 80c9d04 } /////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////// if(pardata.IIN == VOLTS) 805a462: 4b6c ldr r3, [pc, #432] ; (805a614 ) 805a464: 799b ldrb r3, [r3, #6] 805a466: b2db uxtb r3, r3 805a468: 2b02 cmp r3, #2 805a46a: d16e bne.n 805a54a { // ïåðåâîäèì âñå âåëè÷èíû â ì for(k = 0; k <= DIS; k++) 805a46c: 2300 movs r3, #0 805a46e: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 805a472: e066 b.n 805a542 { if(k == ACC) 805a474: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805a478: 2b00 cmp r3, #0 805a47a: d110 bne.n 805a49e { LinToLog_mV(&skz[k], &skzDB[k], k); 805a47c: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805a480: 009b lsls r3, r3, #2 805a482: 4a66 ldr r2, [pc, #408] ; (805a61c ) 805a484: 1898 adds r0, r3, r2 805a486: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805a48a: 009b lsls r3, r3, #2 805a48c: 4a64 ldr r2, [pc, #400] ; (805a620 ) 805a48e: 4413 add r3, r2 805a490: f8d7 21c8 ldr.w r2, [r7, #456] ; 0x1c8 805a494: b2d2 uxtb r2, r2 805a496: 4619 mov r1, r3 805a498: f00a fd36 bl 8064f08 805a49c: e04c b.n 805a538 } else if(k == VEL) 805a49e: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805a4a2: 2b01 cmp r3, #1 805a4a4: d122 bne.n 805a4ec { skz[k] *= 0.001f; 805a4a6: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805a4aa: f8d7 21c8 ldr.w r2, [r7, #456] ; 0x1c8 805a4ae: 495b ldr r1, [pc, #364] ; (805a61c ) 805a4b0: 0092 lsls r2, r2, #2 805a4b2: 440a add r2, r1 805a4b4: edd2 7a00 vldr s15, [r2] 805a4b8: ed9f 7a5d vldr s14, [pc, #372] ; 805a630 805a4bc: ee67 7a87 vmul.f32 s15, s15, s14 805a4c0: 4a56 ldr r2, [pc, #344] ; (805a61c ) 805a4c2: 009b lsls r3, r3, #2 805a4c4: 4413 add r3, r2 805a4c6: edc3 7a00 vstr s15, [r3] LinToLog_mV(&skz[k], &skzDB[k], k); 805a4ca: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805a4ce: 009b lsls r3, r3, #2 805a4d0: 4a52 ldr r2, [pc, #328] ; (805a61c ) 805a4d2: 1898 adds r0, r3, r2 805a4d4: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805a4d8: 009b lsls r3, r3, #2 805a4da: 4a51 ldr r2, [pc, #324] ; (805a620 ) 805a4dc: 4413 add r3, r2 805a4de: f8d7 21c8 ldr.w r2, [r7, #456] ; 0x1c8 805a4e2: b2d2 uxtb r2, r2 805a4e4: 4619 mov r1, r3 805a4e6: f00a fd0f bl 8064f08 805a4ea: e025 b.n 805a538 } else if(k == DIS) 805a4ec: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805a4f0: 2b02 cmp r3, #2 805a4f2: d121 bne.n 805a538 { skz[k] *= 0.000001f; 805a4f4: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805a4f8: f8d7 21c8 ldr.w r2, [r7, #456] ; 0x1c8 805a4fc: 4947 ldr r1, [pc, #284] ; (805a61c ) 805a4fe: 0092 lsls r2, r2, #2 805a500: 440a add r2, r1 805a502: edd2 7a00 vldr s15, [r2] 805a506: ed9f 7a4b vldr s14, [pc, #300] ; 805a634 805a50a: ee67 7a87 vmul.f32 s15, s15, s14 805a50e: 4a43 ldr r2, [pc, #268] ; (805a61c ) 805a510: 009b lsls r3, r3, #2 805a512: 4413 add r3, r2 805a514: edc3 7a00 vstr s15, [r3] LinToLog_mV(&skz[k], &skzDB[k], k); 805a518: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805a51c: 009b lsls r3, r3, #2 805a51e: 4a3f ldr r2, [pc, #252] ; (805a61c ) 805a520: 1898 adds r0, r3, r2 805a522: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805a526: 009b lsls r3, r3, #2 805a528: 4a3d ldr r2, [pc, #244] ; (805a620 ) 805a52a: 4413 add r3, r2 805a52c: f8d7 21c8 ldr.w r2, [r7, #456] ; 0x1c8 805a530: b2d2 uxtb r2, r2 805a532: 4619 mov r1, r3 805a534: f00a fce8 bl 8064f08 for(k = 0; k <= DIS; k++) 805a538: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805a53c: 3301 adds r3, #1 805a53e: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 805a542: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805a546: 2b02 cmp r3, #2 805a548: d994 bls.n 805a474 /////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////// } ///////////////////////////////////////////////////////////////////////////////////// } if(pardata.HP < 2.0f) 805a54a: 4b32 ldr r3, [pc, #200] ; (805a614 ) 805a54c: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 805a550: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 805a554: eef4 7ac7 vcmpe.f32 s15, s14 805a558: eef1 fa10 vmrs APSR_nzcv, fpscr 805a55c: d514 bpl.n 805a588 { skz[VEL] = skzDB[VEL] = -1.0f; 805a55e: 4b30 ldr r3, [pc, #192] ; (805a620 ) 805a560: 4a35 ldr r2, [pc, #212] ; (805a638 ) 805a562: 605a str r2, [r3, #4] 805a564: 4b2e ldr r3, [pc, #184] ; (805a620 ) 805a566: 685b ldr r3, [r3, #4] 805a568: 4a2c ldr r2, [pc, #176] ; (805a61c ) 805a56a: 6053 str r3, [r2, #4] skz[DIS] = skzDB[DIS] = -1.0f; 805a56c: 4b2c ldr r3, [pc, #176] ; (805a620 ) 805a56e: 4a32 ldr r2, [pc, #200] ; (805a638 ) 805a570: 609a str r2, [r3, #8] 805a572: 4b2b ldr r3, [pc, #172] ; (805a620 ) 805a574: 689b ldr r3, [r3, #8] 805a576: 4a29 ldr r2, [pc, #164] ; (805a61c ) 805a578: 6093 str r3, [r2, #8] if(pardata.HP < 2.0f) 805a57a: e005 b.n 805a588 } } else { RepeatKm = true; 805a57c: 4b2f ldr r3, [pc, #188] ; (805a63c ) 805a57e: 2201 movs r2, #1 805a580: 701a strb r2, [r3, #0] timeRelax = 48; 805a582: 4b2f ldr r3, [pc, #188] ; (805a640 ) 805a584: 2230 movs r2, #48 ; 0x30 805a586: 601a str r2, [r3, #0] } tick = DWT->CYCCNT - tick; 805a588: 4b2e ldr r3, [pc, #184] ; (805a644 ) 805a58a: 685a ldr r2, [r3, #4] 805a58c: f8d7 321c ldr.w r3, [r7, #540] ; 0x21c 805a590: 1ad3 subs r3, r2, r3 805a592: f8c7 321c str.w r3, [r7, #540] ; 0x21c if(tick > maxtick) 805a596: 4b2c ldr r3, [pc, #176] ; (805a648 ) 805a598: 681b ldr r3, [r3, #0] 805a59a: f8d7 221c ldr.w r2, [r7, #540] ; 0x21c 805a59e: 429a cmp r2, r3 805a5a0: f249 857f bls.w 80640a2 { maxtick = tick; 805a5a4: 4a28 ldr r2, [pc, #160] ; (805a648 ) 805a5a6: f8d7 321c ldr.w r3, [r7, #540] ; 0x21c 805a5aa: 6013 str r3, [r2, #0] if(maxtick > 24384000) 805a5ac: 4b26 ldr r3, [pc, #152] ; (805a648 ) 805a5ae: 681b ldr r3, [r3, #0] 805a5b0: 4a26 ldr r2, [pc, #152] ; (805a64c ) 805a5b2: 4293 cmp r3, r2 805a5b4: f249 8575 bls.w 80640a2 { tick = 0; 805a5b8: 2300 movs r3, #0 805a5ba: f8c7 321c str.w r3, [r7, #540] ; 0x21c } } } break; 805a5be: f009 bd70 b.w 80640a2 case ROLL: //TODO if(measuring) 805a5c2: 4b23 ldr r3, [pc, #140] ; (805a650 ) 805a5c4: 781b ldrb r3, [r3, #0] 805a5c6: b2db uxtb r3, r3 805a5c8: 2b00 cmp r3, #0 805a5ca: f009 856c beq.w 80640a6 { GetData(); 805a5ce: f00a f82d bl 806462c j = 0; 805a5d2: 2300 movs r3, #0 805a5d4: f8c7 31cc str.w r3, [r7, #460] ; 0x1cc if(pardata.OPTIONS & 0x4) 805a5d8: 4b0e ldr r3, [pc, #56] ; (805a614 ) 805a5da: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 805a5de: f003 0304 and.w r3, r3, #4 805a5e2: 2b00 cmp r3, #0 805a5e4: d005 beq.n 805a5f2 CalculateGain(Ns); 805a5e6: 4b1b ldr r3, [pc, #108] ; (805a654 ) 805a5e8: 681b ldr r3, [r3, #0] 805a5ea: 4618 mov r0, r3 805a5ec: f7fb fa02 bl 80559f4 805a5f0: e059 b.n 805a6a6 else { Stability = (Nr * 4) + 1; 805a5f2: 4b19 ldr r3, [pc, #100] ; (805a658 ) 805a5f4: 881b ldrh r3, [r3, #0] 805a5f6: b29b uxth r3, r3 805a5f8: 009b lsls r3, r3, #2 805a5fa: 3301 adds r3, #1 805a5fc: 461a mov r2, r3 805a5fe: 4b17 ldr r3, [pc, #92] ; (805a65c ) 805a600: 601a str r2, [r3, #0] for(i = 0; i < Ns; i++) 805a602: 2300 movs r3, #0 805a604: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805a608: e03c b.n 805a684 805a60a: bf00 nop 805a60c: 64052800 .word 0x64052800 805a610: 20021ce8 .word 0x20021ce8 805a614: 20023e60 .word 0x20023e60 805a618: 080eeb00 .word 0x080eeb00 805a61c: 20021540 .word 0x20021540 805a620: 2002154c .word 0x2002154c 805a624: 20020db8 .word 0x20020db8 805a628: 00000000 .word 0x00000000 805a62c: 20021cfc .word 0x20021cfc 805a630: 3a83126f .word 0x3a83126f 805a634: 358637bd .word 0x358637bd 805a638: bf800000 .word 0xbf800000 805a63c: 20020dac .word 0x20020dac 805a640: 20020d6c .word 0x20020d6c 805a644: e0001000 .word 0xe0001000 805a648: 20021630 .word 0x20021630 805a64c: 01741200 .word 0x01741200 805a650: 20020daf .word 0x20020daf 805a654: 20021cdc .word 0x20021cdc 805a658: 20021d20 .word 0x20021d20 805a65c: 20020da8 .word 0x20020da8 { if(In16[i].lg > 0xE00000) 805a660: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a664: 4aa6 ldr r2, [pc, #664] ; (805a900 ) 805a666: f852 3023 ldr.w r3, [r2, r3, lsl #2] 805a66a: f5b3 0f60 cmp.w r3, #14680064 ; 0xe00000 805a66e: d904 bls.n 805a67a j++; 805a670: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 805a674: 3301 adds r3, #1 805a676: f8c7 31cc str.w r3, [r7, #460] ; 0x1cc for(i = 0; i < Ns; i++) 805a67a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a67e: 3301 adds r3, #1 805a680: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805a684: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805a688: 4b9e ldr r3, [pc, #632] ; (805a904 ) 805a68a: 681b ldr r3, [r3, #0] 805a68c: 429a cmp r2, r3 805a68e: d3e7 bcc.n 805a660 } if(j >= 2) 805a690: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 805a694: 2b01 cmp r3, #1 805a696: d903 bls.n 805a6a0 OVERDRIVE = true; 805a698: 4b9b ldr r3, [pc, #620] ; (805a908 ) 805a69a: 2201 movs r2, #1 805a69c: 701a strb r2, [r3, #0] 805a69e: e002 b.n 805a6a6 else OVERDRIVE = false; 805a6a0: 4b99 ldr r3, [pc, #612] ; (805a908 ) 805a6a2: 2200 movs r2, #0 805a6a4: 701a strb r2, [r3, #0] } if(Flag_Set_KU) 805a6a6: 4b99 ldr r3, [pc, #612] ; (805a90c ) 805a6a8: 781b ldrb r3, [r3, #0] 805a6aa: b2db uxtb r3, r3 805a6ac: 2b00 cmp r3, #0 805a6ae: d009 beq.n 805a6c4 { Stability = 0; 805a6b0: 4b97 ldr r3, [pc, #604] ; (805a910 ) 805a6b2: 2200 movs r2, #0 805a6b4: 601a str r2, [r3, #0] MeanCnt = 0; 805a6b6: 4b97 ldr r3, [pc, #604] ; (805a914 ) 805a6b8: 2200 movs r2, #0 805a6ba: 601a str r2, [r3, #0] NSamples = 0; 805a6bc: 4b96 ldr r3, [pc, #600] ; (805a918 ) 805a6be: 2200 movs r2, #0 805a6c0: 601a str r2, [r3, #0] 805a6c2: e00d b.n 805a6e0 } else { if(Stability <= (Nr * 4)) 805a6c4: 4b95 ldr r3, [pc, #596] ; (805a91c ) 805a6c6: 881b ldrh r3, [r3, #0] 805a6c8: b29b uxth r3, r3 805a6ca: 009b lsls r3, r3, #2 805a6cc: 461a mov r2, r3 805a6ce: 4b90 ldr r3, [pc, #576] ; (805a910 ) 805a6d0: 681b ldr r3, [r3, #0] 805a6d2: 429a cmp r2, r3 805a6d4: d304 bcc.n 805a6e0 Stability++; 805a6d6: 4b8e ldr r3, [pc, #568] ; (805a910 ) 805a6d8: 681b ldr r3, [r3, #0] 805a6da: 3301 adds r3, #1 805a6dc: 4a8c ldr r2, [pc, #560] ; (805a910 ) 805a6de: 6013 str r3, [r2, #0] } if((Flag_Set_KU == 0) && (Stability > (Nr * 4))) //åñëè àâòîóñèëåíèå íîðì 805a6e0: 4b8a ldr r3, [pc, #552] ; (805a90c ) 805a6e2: 781b ldrb r3, [r3, #0] 805a6e4: b2db uxtb r3, r3 805a6e6: 2b00 cmp r3, #0 805a6e8: f041 87e7 bne.w 805c6ba 805a6ec: 4b8b ldr r3, [pc, #556] ; (805a91c ) 805a6ee: 881b ldrh r3, [r3, #0] 805a6f0: b29b uxth r3, r3 805a6f2: 009b lsls r3, r3, #2 805a6f4: 461a mov r2, r3 805a6f6: 4b86 ldr r3, [pc, #536] ; (805a910 ) 805a6f8: 681b ldr r3, [r3, #0] 805a6fa: 429a cmp r2, r3 805a6fc: f081 87dd bcs.w 805c6ba { if(NSamples < 20) 805a700: 4b85 ldr r3, [pc, #532] ; (805a918 ) 805a702: 681b ldr r3, [r3, #0] 805a704: 2b13 cmp r3, #19 805a706: d804 bhi.n 805a712 { HAL_Delay(10); 805a708: 200a movs r0, #10 805a70a: f058 fda1 bl 80b3250 if(NSamples < 20) 805a70e: f001 bfd9 b.w 805c6c4 } else { MeanCnt++; 805a712: 4b80 ldr r3, [pc, #512] ; (805a914 ) 805a714: 681b ldr r3, [r3, #0] 805a716: 3301 adds r3, #1 805a718: 4a7e ldr r2, [pc, #504] ; (805a914 ) 805a71a: 6013 str r3, [r2, #0] //************************************************************************************************************** fNrm = 1.0f / ((float32_t)(Ns >> 1)); 805a71c: 4b79 ldr r3, [pc, #484] ; (805a904 ) 805a71e: 681b ldr r3, [r3, #0] 805a720: 085b lsrs r3, r3, #1 805a722: ee07 3a90 vmov s15, r3 805a726: eeb8 7a67 vcvt.f32.u32 s14, s15 805a72a: eef7 6a00 vmov.f32 s13, #112 ; 0x3f800000 1.0 805a72e: eec6 7a87 vdiv.f32 s15, s13, s14 805a732: edc7 7a85 vstr s15, [r7, #532] ; 0x214 sc = (6.0 / 16777215.0) * (float64_t) CorrKk[ACC]; 805a736: 4b7a ldr r3, [pc, #488] ; (805a920 ) 805a738: edd3 7a00 vldr s15, [r3] 805a73c: eeb7 7ae7 vcvt.f64.f32 d7, s15 805a740: ed9f 6b6d vldr d6, [pc, #436] ; 805a8f8 805a744: ee27 7b06 vmul.f64 d7, d7, d6 805a748: ed87 7b82 vstr d7, [r7, #520] ; 0x208 sc /= (float64_t) pardata.IKK; 805a74c: 4b75 ldr r3, [pc, #468] ; (805a924 ) 805a74e: edd3 7a04 vldr s15, [r3, #16] 805a752: eeb7 6ae7 vcvt.f64.f32 d6, s15 805a756: ed97 5b82 vldr d5, [r7, #520] ; 0x208 805a75a: ee85 7b06 vdiv.f64 d7, d5, d6 805a75e: ed87 7b82 vstr d7, [r7, #520] ; 0x208 for(i = 0; i < Ns; i++) 805a762: 2300 movs r3, #0 805a764: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805a768: e026 b.n 805a7b8 { Buff64[i] = (float64_t) In16[i].lg; 805a76a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a76e: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805a772: 4963 ldr r1, [pc, #396] ; (805a900 ) 805a774: f851 2022 ldr.w r2, [r1, r2, lsl #2] 805a778: ee07 2a90 vmov s15, r2 805a77c: eeb8 7b67 vcvt.f64.u32 d7, s15 805a780: 4a69 ldr r2, [pc, #420] ; (805a928 ) 805a782: 00db lsls r3, r3, #3 805a784: 4413 add r3, r2 805a786: ed83 7b00 vstr d7, [r3] Buff64[i] *= sc; 805a78a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a78e: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805a792: 4965 ldr r1, [pc, #404] ; (805a928 ) 805a794: 00d2 lsls r2, r2, #3 805a796: 440a add r2, r1 805a798: ed92 6b00 vldr d6, [r2] 805a79c: ed97 7b82 vldr d7, [r7, #520] ; 0x208 805a7a0: ee26 7b07 vmul.f64 d7, d6, d7 805a7a4: 4a60 ldr r2, [pc, #384] ; (805a928 ) 805a7a6: 00db lsls r3, r3, #3 805a7a8: 4413 add r3, r2 805a7aa: ed83 7b00 vstr d7, [r3] for(i = 0; i < Ns; i++) 805a7ae: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a7b2: 3301 adds r3, #1 805a7b4: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805a7b8: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805a7bc: 4b51 ldr r3, [pc, #324] ; (805a904 ) 805a7be: 681b ldr r3, [r3, #0] 805a7c0: 429a cmp r2, r3 805a7c2: d3d2 bcc.n 805a76a } arm_biquad_cascade_df2T_f64(&S_LP, Buff64, Buff64, Ns); 805a7c4: 4b4f ldr r3, [pc, #316] ; (805a904 ) 805a7c6: 681b ldr r3, [r3, #0] 805a7c8: 4a57 ldr r2, [pc, #348] ; (805a928 ) 805a7ca: 4957 ldr r1, [pc, #348] ; (805a928 ) 805a7cc: 4857 ldr r0, [pc, #348] ; (805a92c ) 805a7ce: f06f fce9 bl 80ca1a4 arm_biquad_cascade_df2T_f64(&S_HP_ACC, Buff64, Buff64, Ns); 805a7d2: 4b4c ldr r3, [pc, #304] ; (805a904 ) 805a7d4: 681b ldr r3, [r3, #0] 805a7d6: 4a54 ldr r2, [pc, #336] ; (805a928 ) 805a7d8: 4953 ldr r1, [pc, #332] ; (805a928 ) 805a7da: 4855 ldr r0, [pc, #340] ; (805a930 ) 805a7dc: f06f fce2 bl 80ca1a4 for(i = 0; i < Ns; i++) { 805a7e0: 2300 movs r3, #0 805a7e2: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805a7e6: e014 b.n 805a812 Out[i] = (float32_t) Buff64[i]; 805a7e8: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a7ec: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805a7f0: 494d ldr r1, [pc, #308] ; (805a928 ) 805a7f2: 00d2 lsls r2, r2, #3 805a7f4: 440a add r2, r1 805a7f6: ed92 7b00 vldr d7, [r2] 805a7fa: eef7 7bc7 vcvt.f32.f64 s15, d7 805a7fe: 4a4d ldr r2, [pc, #308] ; (805a934 ) 805a800: 009b lsls r3, r3, #2 805a802: 4413 add r3, r2 805a804: edc3 7a00 vstr s15, [r3] for(i = 0; i < Ns; i++) { 805a808: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a80c: 3301 adds r3, #1 805a80e: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805a812: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805a816: 4b3b ldr r3, [pc, #236] ; (805a904 ) 805a818: 681b ldr r3, [r3, #0] 805a81a: 429a cmp r2, r3 805a81c: d3e4 bcc.n 805a7e8 } WindowFunc(HANN, Ns); 805a81e: 4b39 ldr r3, [pc, #228] ; (805a904 ) 805a820: 681b ldr r3, [r3, #0] 805a822: b29b uxth r3, r3 805a824: 4619 mov r1, r3 805a826: 2001 movs r0, #1 805a828: f009 ff90 bl 806474c initFFT(Out, In, Forward); 805a82c: 2200 movs r2, #0 805a82e: 4942 ldr r1, [pc, #264] ; (805a938 ) 805a830: 4840 ldr r0, [pc, #256] ; (805a934 ) 805a832: f7fb fc5f bl 80560f4 In[0] = In[1] = 0.0f; 805a836: 4b40 ldr r3, [pc, #256] ; (805a938 ) 805a838: f04f 0200 mov.w r2, #0 805a83c: 605a str r2, [r3, #4] 805a83e: 4b3e ldr r3, [pc, #248] ; (805a938 ) 805a840: 685b ldr r3, [r3, #4] 805a842: 4a3d ldr r2, [pc, #244] ; (805a938 ) 805a844: 6013 str r3, [r2, #0] arm_cmplx_mag_f32(In, Out, Ns); 805a846: 4b2f ldr r3, [pc, #188] ; (805a904 ) 805a848: 681b ldr r3, [r3, #0] 805a84a: 461a mov r2, r3 805a84c: 4939 ldr r1, [pc, #228] ; (805a934 ) 805a84e: 483a ldr r0, [pc, #232] ; (805a938 ) 805a850: f06f fe30 bl 80ca4b4 arm_scale_f32(Out, fNrm, In, (Ns >> 1)); 805a854: 4b2b ldr r3, [pc, #172] ; (805a904 ) 805a856: 681b ldr r3, [r3, #0] 805a858: 085b lsrs r3, r3, #1 805a85a: 461a mov r2, r3 805a85c: 4936 ldr r1, [pc, #216] ; (805a938 ) 805a85e: ed97 0a85 vldr s0, [r7, #532] ; 0x214 805a862: 4834 ldr r0, [pc, #208] ; (805a934 ) 805a864: f06f ff54 bl 80ca710 //************************************************************************************************************** if(AVG[pardata.AVG] > 1) 805a868: 4b2e ldr r3, [pc, #184] ; (805a924 ) 805a86a: 7b5b ldrb r3, [r3, #13] 805a86c: b2db uxtb r3, r3 805a86e: 461a mov r2, r3 805a870: 4b32 ldr r3, [pc, #200] ; (805a93c ) 805a872: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 805a876: 2b01 cmp r3, #1 805a878: d92a bls.n 805a8d0 { if(MeanCnt == 1) 805a87a: 4b26 ldr r3, [pc, #152] ; (805a914 ) 805a87c: 681b ldr r3, [r3, #0] 805a87e: 2b01 cmp r3, #1 805a880: d108 bne.n 805a894 FastCopy16(IN_Reg, MEAN_Reg, _2Ns); 805a882: 4b20 ldr r3, [pc, #128] ; (805a904 ) 805a884: 681b ldr r3, [r3, #0] 805a886: 005b lsls r3, r3, #1 805a888: 461a mov r2, r3 805a88a: 2103 movs r1, #3 805a88c: 2001 movs r0, #1 805a88e: f009 fd57 bl 8064340 805a892: e01d b.n 805a8d0 else { scale = 1.0f / ((float32_t) MeanCnt); 805a894: 4b1f ldr r3, [pc, #124] ; (805a914 ) 805a896: 681b ldr r3, [r3, #0] 805a898: ee07 3a90 vmov s15, r3 805a89c: eeb8 7a67 vcvt.f32.u32 s14, s15 805a8a0: eef7 6a00 vmov.f32 s13, #112 ; 0x3f800000 1.0 805a8a4: eec6 7a87 vdiv.f32 s15, s13, s14 805a8a8: edc7 7a86 vstr s15, [r7, #536] ; 0x218 ARM_ADD_F32(IN_Reg, MEAN_Reg, MEAN_Reg, _2Ns); 805a8ac: 4b15 ldr r3, [pc, #84] ; (805a904 ) 805a8ae: 681b ldr r3, [r3, #0] 805a8b0: 005b lsls r3, r3, #1 805a8b2: 2203 movs r2, #3 805a8b4: 2103 movs r1, #3 805a8b6: 2001 movs r0, #1 805a8b8: f009 fdce bl 8064458 ARM_SCALE_F32(MEAN_Reg, scale, IN_Reg, _2Ns); 805a8bc: 4b11 ldr r3, [pc, #68] ; (805a904 ) 805a8be: 681b ldr r3, [r3, #0] 805a8c0: 005b lsls r3, r3, #1 805a8c2: 461a mov r2, r3 805a8c4: 2101 movs r1, #1 805a8c6: ed97 0a86 vldr s0, [r7, #536] ; 0x218 805a8ca: 2003 movs r0, #3 805a8cc: f009 fe4a bl 8064564 } } if(MeanCnt == AVG[pardata.AVG]) 805a8d0: 4b14 ldr r3, [pc, #80] ; (805a924 ) 805a8d2: 7b5b ldrb r3, [r3, #13] 805a8d4: b2db uxtb r3, r3 805a8d6: 461a mov r2, r3 805a8d8: 4b18 ldr r3, [pc, #96] ; (805a93c ) 805a8da: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 805a8de: 461a mov r2, r3 805a8e0: 4b0c ldr r3, [pc, #48] ; (805a914 ) 805a8e2: 681b ldr r3, [r3, #0] 805a8e4: 429a cmp r2, r3 805a8e6: f041 86ed bne.w 805c6c4 { for(i = 0; i < (Ns >> 1); i++) 805a8ea: 2300 movs r3, #0 805a8ec: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805a8f0: e05a b.n 805a9a8 805a8f2: bf00 nop 805a8f4: f3af 8000 nop.w 805a8f8: 18000018 .word 0x18000018 805a8fc: 3e980000 .word 0x3e980000 805a900: 20058020 .word 0x20058020 805a904: 20021cdc .word 0x20021cdc 805a908: 20021531 .word 0x20021531 805a90c: 20020d7e .word 0x20020d7e 805a910: 20020da8 .word 0x20020da8 805a914: 20020db8 .word 0x20020db8 805a918: 20020d88 .word 0x20020d88 805a91c: 20021d20 .word 0x20021d20 805a920: 20020080 .word 0x20020080 805a924: 20023e60 .word 0x20023e60 805a928: 20037ae0 .word 0x20037ae0 805a92c: 20026564 .word 0x20026564 805a930: 20025f00 .word 0x20025f00 805a934: 20008000 .word 0x20008000 805a938: 200279c0 .word 0x200279c0 805a93c: 080eeb00 .word 0x080eeb00 { In[i] *= 0.70710678f; 805a940: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a944: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805a948: 49b5 ldr r1, [pc, #724] ; (805ac20 ) 805a94a: 0092 lsls r2, r2, #2 805a94c: 440a add r2, r1 805a94e: edd2 7a00 vldr s15, [r2] 805a952: ed9f 7ab4 vldr s14, [pc, #720] ; 805ac24 805a956: ee67 7a87 vmul.f32 s15, s15, s14 805a95a: 4ab1 ldr r2, [pc, #708] ; (805ac20 ) 805a95c: 009b lsls r3, r3, #2 805a95e: 4413 add r3, r2 805a960: edc3 7a00 vstr s15, [r3] In[i] *= 2.0f; 805a964: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a968: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805a96c: 49ac ldr r1, [pc, #688] ; (805ac20 ) 805a96e: 0092 lsls r2, r2, #2 805a970: 440a add r2, r1 805a972: edd2 7a00 vldr s15, [r2] 805a976: ee77 7aa7 vadd.f32 s15, s15, s15 805a97a: 4aa9 ldr r2, [pc, #676] ; (805ac20 ) 805a97c: 009b lsls r3, r3, #2 805a97e: 4413 add r3, r2 805a980: edc3 7a00 vstr s15, [r3] LinToLog(&In[i], &In[i]); 805a984: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a988: 009b lsls r3, r3, #2 805a98a: 4aa5 ldr r2, [pc, #660] ; (805ac20 ) 805a98c: 1898 adds r0, r3, r2 805a98e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a992: 009b lsls r3, r3, #2 805a994: 4aa2 ldr r2, [pc, #648] ; (805ac20 ) 805a996: 4413 add r3, r2 805a998: 4619 mov r1, r3 805a99a: f00a fa85 bl 8064ea8 for(i = 0; i < (Ns >> 1); i++) 805a99e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a9a2: 3301 adds r3, #1 805a9a4: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805a9a8: 4b9f ldr r3, [pc, #636] ; (805ac28 ) 805a9aa: 681b ldr r3, [r3, #0] 805a9ac: 085a lsrs r2, r3, #1 805a9ae: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a9b2: 429a cmp r2, r3 805a9b4: d8c4 bhi.n 805a940 } FastCopy16(IN_Reg, SCR_Reg, Ns); 805a9b6: 4b9c ldr r3, [pc, #624] ; (805ac28 ) 805a9b8: 681b ldr r3, [r3, #0] 805a9ba: 461a mov r2, r3 805a9bc: 2104 movs r1, #4 805a9be: 2001 movs r0, #1 805a9c0: f009 fcbe bl 8064340 READY_TO_SEE = true; 805a9c4: 4b99 ldr r3, [pc, #612] ; (805ac2c ) 805a9c6: 2201 movs r2, #1 805a9c8: 701a strb r2, [r3, #0] //uint32_t smooth = 38; CALC_MEAN(38); 805a9ca: 2026 movs r0, #38 ; 0x26 805a9cc: f00c fa42 bl 8066e54 /////////////////////////////////////////////////////////////////////////////////////// ds = (pardata.D_OUTER + pardata.D_INNER) / 2.0f; 805a9d0: 4b97 ldr r3, [pc, #604] ; (805ac30 ) 805a9d2: ed93 7a31 vldr s14, [r3, #196] ; 0xc4 805a9d6: 4b96 ldr r3, [pc, #600] ; (805ac30 ) 805a9d8: edd3 7a32 vldr s15, [r3, #200] ; 0xc8 805a9dc: ee37 7a27 vadd.f32 s14, s14, s15 805a9e0: eef0 6a00 vmov.f32 s13, #0 ; 0x40000000 2.0 805a9e4: eec7 7a26 vdiv.f32 s15, s14, s13 805a9e8: edc7 7a81 vstr s15, [r7, #516] ; 0x204 fs = pardata.D_ANGLE; 805a9ec: 4b90 ldr r3, [pc, #576] ; (805ac30 ) 805a9ee: f8d3 30cc ldr.w r3, [r3, #204] ; 0xcc 805a9f2: f8c7 31b8 str.w r3, [r7, #440] ; 0x1b8 fs *= 0.01745329251994329576923690768489f; // ïåðåâîä â ðàäèàíû 805a9f6: edd7 7a6e vldr s15, [r7, #440] ; 0x1b8 805a9fa: ed9f 7a8e vldr s14, [pc, #568] ; 805ac34 805a9fe: ee67 7a87 vmul.f32 s15, s15, s14 805aa02: edc7 7a6e vstr s15, [r7, #440] ; 0x1b8 Fvr = pardata.D_RATE / 60.0f; 805aa06: 4b8a ldr r3, [pc, #552] ; (805ac30 ) 805aa08: f8d3 30d0 ldr.w r3, [r3, #208] ; 0xd0 805aa0c: ee07 3a90 vmov s15, r3 805aa10: eeb8 7a67 vcvt.f32.u32 s14, s15 805aa14: eddf 6a88 vldr s13, [pc, #544] ; 805ac38 805aa18: eec7 7a26 vdiv.f32 s15, s14, s13 805aa1c: 4b87 ldr r3, [pc, #540] ; (805ac3c ) 805aa1e: edc3 7a00 vstr s15, [r3] Fc = 0.5f * Fvr * (1 - ((pardata.D_ROLL / ds) * arm_cos_f32(fs))); 805aa22: 4b86 ldr r3, [pc, #536] ; (805ac3c ) 805aa24: edd3 7a00 vldr s15, [r3] 805aa28: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 805aa2c: ee27 8a87 vmul.f32 s16, s15, s14 805aa30: 4b7f ldr r3, [pc, #508] ; (805ac30 ) 805aa32: ed93 7a30 vldr s14, [r3, #192] ; 0xc0 805aa36: edd7 7a81 vldr s15, [r7, #516] ; 0x204 805aa3a: eec7 8a27 vdiv.f32 s17, s14, s15 805aa3e: edd7 7a6e vldr s15, [r7, #440] ; 0x1b8 805aa42: eeb0 0a67 vmov.f32 s0, s15 805aa46: f057 fd99 bl 80b257c 805aa4a: eef0 7a40 vmov.f32 s15, s0 805aa4e: ee68 7aa7 vmul.f32 s15, s17, s15 805aa52: eeb7 7a00 vmov.f32 s14, #112 ; 0x3f800000 1.0 805aa56: ee77 7a67 vsub.f32 s15, s14, s15 805aa5a: ee68 7a27 vmul.f32 s15, s16, s15 805aa5e: 4b78 ldr r3, [pc, #480] ; (805ac40 ) 805aa60: edc3 7a00 vstr s15, [r3] Fn = Fc * (float32_t) pardata.ROLL_COUNT; 805aa64: 4b72 ldr r3, [pc, #456] ; (805ac30 ) 805aa66: f8d3 30bc ldr.w r3, [r3, #188] ; 0xbc 805aa6a: ee07 3a90 vmov s15, r3 805aa6e: eeb8 7a67 vcvt.f32.u32 s14, s15 805aa72: 4b73 ldr r3, [pc, #460] ; (805ac40 ) 805aa74: edd3 7a00 vldr s15, [r3] 805aa78: ee67 7a27 vmul.f32 s15, s14, s15 805aa7c: 4b71 ldr r3, [pc, #452] ; (805ac44 ) 805aa7e: edc3 7a00 vstr s15, [r3] Fv = (Fvr - Fc) * (float32_t) pardata.ROLL_COUNT; 805aa82: 4b6e ldr r3, [pc, #440] ; (805ac3c ) 805aa84: ed93 7a00 vldr s14, [r3] 805aa88: 4b6d ldr r3, [pc, #436] ; (805ac40 ) 805aa8a: edd3 7a00 vldr s15, [r3] 805aa8e: ee37 7a67 vsub.f32 s14, s14, s15 805aa92: 4b67 ldr r3, [pc, #412] ; (805ac30 ) 805aa94: f8d3 30bc ldr.w r3, [r3, #188] ; 0xbc 805aa98: ee07 3a90 vmov s15, r3 805aa9c: eef8 7a67 vcvt.f32.u32 s15, s15 805aaa0: ee67 7a27 vmul.f32 s15, s14, s15 805aaa4: 4b68 ldr r3, [pc, #416] ; (805ac48 ) 805aaa6: 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)))); 805aaaa: 4b64 ldr r3, [pc, #400] ; (805ac3c ) 805aaac: edd3 7a00 vldr s15, [r3] 805aab0: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 805aab4: ee27 7a87 vmul.f32 s14, s15, s14 805aab8: 4b5d ldr r3, [pc, #372] ; (805ac30 ) 805aaba: edd3 6a30 vldr s13, [r3, #192] ; 0xc0 805aabe: ed97 6a81 vldr s12, [r7, #516] ; 0x204 805aac2: eec6 7a26 vdiv.f32 s15, s12, s13 805aac6: ee27 8a27 vmul.f32 s16, s14, s15 805aaca: 4b59 ldr r3, [pc, #356] ; (805ac30 ) 805aacc: ed93 7a30 vldr s14, [r3, #192] ; 0xc0 805aad0: 4b57 ldr r3, [pc, #348] ; (805ac30 ) 805aad2: edd3 7a30 vldr s15, [r3, #192] ; 0xc0 805aad6: ee27 7a27 vmul.f32 s14, s14, s15 805aada: edd7 6a81 vldr s13, [r7, #516] ; 0x204 805aade: edd7 7a81 vldr s15, [r7, #516] ; 0x204 805aae2: ee66 7aa7 vmul.f32 s15, s13, s15 805aae6: eec7 8a27 vdiv.f32 s17, s14, s15 805aaea: edd7 7a6e vldr s15, [r7, #440] ; 0x1b8 805aaee: eeb0 0a67 vmov.f32 s0, s15 805aaf2: f057 fd43 bl 80b257c 805aaf6: eeb0 9a40 vmov.f32 s18, s0 805aafa: edd7 7a6e vldr s15, [r7, #440] ; 0x1b8 805aafe: eeb0 0a67 vmov.f32 s0, s15 805ab02: f057 fd3b bl 80b257c 805ab06: eef0 7a40 vmov.f32 s15, s0 805ab0a: ee69 7a27 vmul.f32 s15, s18, s15 805ab0e: ee68 7aa7 vmul.f32 s15, s17, s15 805ab12: eeb7 7a00 vmov.f32 s14, #112 ; 0x3f800000 1.0 805ab16: ee77 7a67 vsub.f32 s15, s14, s15 805ab1a: ee68 7a27 vmul.f32 s15, s16, s15 805ab1e: 4b4b ldr r3, [pc, #300] ; (805ac4c ) 805ab20: edc3 7a00 vstr s15, [r3] /////////////////////////////////////////////////////////////////////////////////////// memset((void *) Freq, false, sizeof(Freq)); 805ab24: f44f 5280 mov.w r2, #4096 ; 0x1000 805ab28: 2100 movs r1, #0 805ab2a: 4849 ldr r0, [pc, #292] ; (805ac50 ) 805ab2c: f072 fa8c bl 80cd048 for(i = 0; i < NUM_DEFECTS; i++) 805ab30: 2300 movs r3, #0 805ab32: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805ab36: e009 b.n 805ab4c DEFECTS[i] = false; 805ab38: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805ab3c: 4a45 ldr r2, [pc, #276] ; (805ac54 ) 805ab3e: 2100 movs r1, #0 805ab40: 54d1 strb r1, [r2, r3] for(i = 0; i < NUM_DEFECTS; i++) 805ab42: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805ab46: 3301 adds r3, #1 805ab48: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805ab4c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805ab50: 2b0b cmp r3, #11 805ab52: d9f1 bls.n 805ab38 for(i = 1; i < 4096; i++) 805ab54: 2301 movs r3, #1 805ab56: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805ab5a: e033 b.n 805abc4 { //if(Freq[i] == false) //{ //if((i == 1) || (i == 4095)) //{ df = (ScrA_f32(i) - CmplxA_f32(i)); 805ab5c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805ab60: 009a lsls r2, r3, #2 805ab62: 4b3d ldr r3, [pc, #244] ; (805ac58 ) 805ab64: 4413 add r3, r2 805ab66: ed93 7a00 vldr s14, [r3] 805ab6a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805ab6e: 009a lsls r2, r3, #2 805ab70: 4b3a ldr r3, [pc, #232] ; (805ac5c ) 805ab72: 4413 add r3, r2 805ab74: edd3 7a00 vldr s15, [r3] 805ab78: ee77 7a67 vsub.f32 s15, s14, s15 805ab7c: edc7 7a80 vstr s15, [r7, #512] ; 0x200 if(df > 0.0f) 805ab80: edd7 7a80 vldr s15, [r7, #512] ; 0x200 805ab84: eef5 7ac0 vcmpe.f32 s15, #0.0 805ab88: eef1 fa10 vmrs APSR_nzcv, fpscr 805ab8c: dd15 ble.n 805abba { df += 0.5f; 805ab8e: edd7 7a80 vldr s15, [r7, #512] ; 0x200 805ab92: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 805ab96: ee77 7a87 vadd.f32 s15, s15, s14 805ab9a: edc7 7a80 vstr s15, [r7, #512] ; 0x200 if((df >= ROLL_LEVEL)) { 805ab9e: edd7 7a80 vldr s15, [r7, #512] ; 0x200 805aba2: eeb1 7a08 vmov.f32 s14, #24 ; 0x40c00000 6.0 805aba6: eef4 7ac7 vcmpe.f32 s15, s14 805abaa: eef1 fa10 vmrs APSR_nzcv, fpscr 805abae: db04 blt.n 805abba Freq[i] = true; 805abb0: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805abb4: 4a26 ldr r2, [pc, #152] ; (805ac50 ) 805abb6: 2101 movs r1, #1 805abb8: 54d1 strb r1, [r2, r3] for(i = 1; i < 4096; i++) 805abba: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805abbe: 3301 adds r3, #1 805abc0: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805abc4: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805abc8: f5b3 5f80 cmp.w r3, #4096 ; 0x1000 805abcc: d3c6 bcc.n 805ab5c uint32_t jj[3]; ///////////////////////////////////////////////////////////////////// //////////////////// Ãèåíèå âàëà //////////////////////////////////// memset((void *) limit, false, sizeof(limit)); 805abce: f507 7394 add.w r3, r7, #296 ; 0x128 805abd2: 220f movs r2, #15 805abd4: 2100 movs r1, #0 805abd6: 4618 mov r0, r3 805abd8: f072 fa36 bl 80cd048 memset((void *) limit_1, false, sizeof(limit_1)); 805abdc: f507 738c add.w r3, r7, #280 ; 0x118 805abe0: 220f movs r2, #15 805abe2: 2100 movs r1, #0 805abe4: 4618 mov r0, r3 805abe6: f072 fa2f bl 80cd048 arm_fill_f32(0.0f, frq, 15); 805abea: f507 73ba add.w r3, r7, #372 ; 0x174 805abee: 210f movs r1, #15 805abf0: 4618 mov r0, r3 805abf2: ed9f 0a1b vldr s0, [pc, #108] ; 805ac60 805abf6: f06f f885 bl 80c9d04 arm_fill_f32(0.0f, frq_1, 15); 805abfa: f507 739c add.w r3, r7, #312 ; 0x138 805abfe: 210f movs r1, #15 805ac00: 4618 mov r0, r3 805ac02: ed9f 0a17 vldr s0, [pc, #92] ; 805ac60 805ac06: f06f f87d bl 80c9d04 k = 0; 805ac0a: 2300 movs r3, #0 805ac0c: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 l = 0; 805ac10: 2300 movs r3, #0 805ac12: f8c7 3224 str.w r3, [r7, #548] ; 0x224 for(i = 0; i < 7; i++) 805ac16: 2300 movs r3, #0 805ac18: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805ac1c: e0a2 b.n 805ad64 805ac1e: bf00 nop 805ac20: 200279c0 .word 0x200279c0 805ac24: 3f3504f3 .word 0x3f3504f3 805ac28: 20021cdc .word 0x20021cdc 805ac2c: 20020d8e .word 0x20020d8e 805ac30: 20023e60 .word 0x20023e60 805ac34: 3c8efa35 .word 0x3c8efa35 805ac38: 42700000 .word 0x42700000 805ac3c: 20026d00 .word 0x20026d00 805ac40: 20068320 .word 0x20068320 805ac44: 200267a8 .word 0x200267a8 805ac48: 200261c4 .word 0x200261c4 805ac4c: 20037a40 .word 0x20037a40 805ac50: 20018000 .word 0x20018000 805ac54: 20026f10 .word 0x20026f10 805ac58: 64080000 .word 0x64080000 805ac5c: 64090000 .word 0x64090000 805ac60: 00000000 .word 0x00000000 { frq[i] = Fvr * (float32_t)(i + 1); 805ac64: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805ac68: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805ac6c: 3201 adds r2, #1 805ac6e: ee07 2a90 vmov s15, r2 805ac72: eeb8 7a67 vcvt.f32.u32 s14, s15 805ac76: 4ab3 ldr r2, [pc, #716] ; (805af44 ) 805ac78: edd2 7a00 vldr s15, [r2] 805ac7c: ee67 7a27 vmul.f32 s15, s14, s15 805ac80: 009b lsls r3, r3, #2 805ac82: f507 720a add.w r2, r7, #552 ; 0x228 805ac86: 4413 add r3, r2 805ac88: 3bb4 subs r3, #180 ; 0xb4 805ac8a: edc3 7a00 vstr s15, [r3] fl = frq[i] / 0.48828125f; // íîìåð ãàðìîíèêè âåùåñòâåííûé 805ac8e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805ac92: 009b lsls r3, r3, #2 805ac94: f507 720a add.w r2, r7, #552 ; 0x228 805ac98: 4413 add r3, r2 805ac9a: 3bb4 subs r3, #180 ; 0xb4 805ac9c: ed93 7a00 vldr s14, [r3] 805aca0: eddf 6aa9 vldr s13, [pc, #676] ; 805af48 805aca4: eec7 7a26 vdiv.f32 s15, s14, s13 805aca8: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc fl += 0.5f; 805acac: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 805acb0: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 805acb4: ee77 7a87 vadd.f32 s15, s15, s14 805acb8: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc jj[1] = (uint32_t) fl; // íîìåð ãàðìîíèêè öåëûé 805acbc: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 805acc0: eefc 7ae7 vcvt.u32.f32 s15, s15 805acc4: ee17 2a90 vmov r2, s15 805acc8: f107 03bc add.w r3, r7, #188 ; 0xbc 805accc: 605a str r2, [r3, #4] jj[0] = jj[1] - 1; if(jj[1] < 2) jj[0] = jj[1]; 805acce: f107 03bc add.w r3, r7, #188 ; 0xbc 805acd2: 685b ldr r3, [r3, #4] 805acd4: 1e5a subs r2, r3, #1 805acd6: f107 03bc add.w r3, r7, #188 ; 0xbc 805acda: 601a str r2, [r3, #0] 805acdc: f107 03bc add.w r3, r7, #188 ; 0xbc 805ace0: 685b ldr r3, [r3, #4] 805ace2: 2b01 cmp r3, #1 805ace4: d805 bhi.n 805acf2 805ace6: f107 03bc add.w r3, r7, #188 ; 0xbc 805acea: 685a ldr r2, [r3, #4] 805acec: f107 03bc add.w r3, r7, #188 ; 0xbc 805acf0: 601a str r2, [r3, #0] jj[2] = jj[1] + 1; if(jj[1] > 4094) jj[2] = jj[1]; 805acf2: f107 03bc add.w r3, r7, #188 ; 0xbc 805acf6: 685b ldr r3, [r3, #4] 805acf8: 1c5a adds r2, r3, #1 805acfa: f107 03bc add.w r3, r7, #188 ; 0xbc 805acfe: 609a str r2, [r3, #8] 805ad00: f107 03bc add.w r3, r7, #188 ; 0xbc 805ad04: 685b ldr r3, [r3, #4] 805ad06: f640 72fe movw r2, #4094 ; 0xffe 805ad0a: 4293 cmp r3, r2 805ad0c: d905 bls.n 805ad1a 805ad0e: f107 03bc add.w r3, r7, #188 ; 0xbc 805ad12: 685a ldr r2, [r3, #4] 805ad14: f107 03bc add.w r3, r7, #188 ; 0xbc 805ad18: 609a str r2, [r3, #8] if((Freq[jj[1]]) || (Freq[jj[0]]) || (Freq[jj[2]])) 805ad1a: f107 03bc add.w r3, r7, #188 ; 0xbc 805ad1e: 685b ldr r3, [r3, #4] 805ad20: 4a8a ldr r2, [pc, #552] ; (805af4c ) 805ad22: 5cd3 ldrb r3, [r2, r3] 805ad24: 2b00 cmp r3, #0 805ad26: d10d bne.n 805ad44 805ad28: f107 03bc add.w r3, r7, #188 ; 0xbc 805ad2c: 681b ldr r3, [r3, #0] 805ad2e: 4a87 ldr r2, [pc, #540] ; (805af4c ) 805ad30: 5cd3 ldrb r3, [r2, r3] 805ad32: 2b00 cmp r3, #0 805ad34: d106 bne.n 805ad44 805ad36: f107 03bc add.w r3, r7, #188 ; 0xbc 805ad3a: 689b ldr r3, [r3, #8] 805ad3c: 4a83 ldr r2, [pc, #524] ; (805af4c ) 805ad3e: 5cd3 ldrb r3, [r2, r3] 805ad40: 2b00 cmp r3, #0 805ad42: d00a beq.n 805ad5a { limit[i] = true; 805ad44: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805ad48: f507 7294 add.w r2, r7, #296 ; 0x128 805ad4c: 2101 movs r1, #1 805ad4e: 54d1 strb r1, [r2, r3] k++; 805ad50: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805ad54: 3301 adds r3, #1 805ad56: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 for(i = 0; i < 7; i++) 805ad5a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805ad5e: 3301 adds r3, #1 805ad60: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805ad64: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805ad68: 2b06 cmp r3, #6 805ad6a: f67f af7b bls.w 805ac64 } } if((k >= 2) && (limit[0])) 805ad6e: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805ad72: 2b01 cmp r3, #1 805ad74: d916 bls.n 805ada4 805ad76: f507 7394 add.w r3, r7, #296 ; 0x128 805ad7a: 781b ldrb r3, [r3, #0] 805ad7c: 2b00 cmp r3, #0 805ad7e: d011 beq.n 805ada4 { if((limit[1]) || (limit[2]) || (limit[3])) 805ad80: f507 7394 add.w r3, r7, #296 ; 0x128 805ad84: 785b ldrb r3, [r3, #1] 805ad86: 2b00 cmp r3, #0 805ad88: d109 bne.n 805ad9e 805ad8a: f507 7394 add.w r3, r7, #296 ; 0x128 805ad8e: 789b ldrb r3, [r3, #2] 805ad90: 2b00 cmp r3, #0 805ad92: d104 bne.n 805ad9e 805ad94: f507 7394 add.w r3, r7, #296 ; 0x128 805ad98: 78db ldrb r3, [r3, #3] 805ad9a: 2b00 cmp r3, #0 805ad9c: d002 beq.n 805ada4 { DEFECTS[BIENIE_VALA] = true; 805ad9e: 4b6c ldr r3, [pc, #432] ; (805af50 ) 805ada0: 2201 movs r2, #1 805ada2: 701a strb r2, [r3, #0] } } ///////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////// //////////////////// Ãåîäíîðîäíûé ðàäèàëüíûé íàòÿã (ïåðåêîñ âíóòðåííåãî êîëüöà) //////////////////////////////////// memset((void *) limit, false, sizeof(limit)); 805ada4: f507 7394 add.w r3, r7, #296 ; 0x128 805ada8: 220f movs r2, #15 805adaa: 2100 movs r1, #0 805adac: 4618 mov r0, r3 805adae: f072 f94b bl 80cd048 memset((void *) limit_1, false, sizeof(limit_1)); 805adb2: f507 738c add.w r3, r7, #280 ; 0x118 805adb6: 220f movs r2, #15 805adb8: 2100 movs r1, #0 805adba: 4618 mov r0, r3 805adbc: f072 f944 bl 80cd048 arm_fill_f32(0.0f, frq, 15); 805adc0: f507 73ba add.w r3, r7, #372 ; 0x174 805adc4: 210f movs r1, #15 805adc6: 4618 mov r0, r3 805adc8: ed9f 0a62 vldr s0, [pc, #392] ; 805af54 805adcc: f06e ff9a bl 80c9d04 arm_fill_f32(0.0f, frq_1, 15); 805add0: f507 739c add.w r3, r7, #312 ; 0x138 805add4: 210f movs r1, #15 805add6: 4618 mov r0, r3 805add8: ed9f 0a5e vldr s0, [pc, #376] ; 805af54 805addc: f06e ff92 bl 80c9d04 k = 0; 805ade0: 2300 movs r3, #0 805ade2: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 for(i = 0; i < 11; i++) 805ade6: 2300 movs r3, #0 805ade8: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805adec: e07f b.n 805aeee { frq[i] = Fvr * (float32_t)(i + 1); 805adee: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805adf2: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805adf6: 3201 adds r2, #1 805adf8: ee07 2a90 vmov s15, r2 805adfc: eeb8 7a67 vcvt.f32.u32 s14, s15 805ae00: 4a50 ldr r2, [pc, #320] ; (805af44 ) 805ae02: edd2 7a00 vldr s15, [r2] 805ae06: ee67 7a27 vmul.f32 s15, s14, s15 805ae0a: 009b lsls r3, r3, #2 805ae0c: f507 720a add.w r2, r7, #552 ; 0x228 805ae10: 4413 add r3, r2 805ae12: 3bb4 subs r3, #180 ; 0xb4 805ae14: edc3 7a00 vstr s15, [r3] fl = frq[i] / 0.48828125f; // íîìåð ãàðìîíèêè âåùåñòâåííûé 805ae18: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805ae1c: 009b lsls r3, r3, #2 805ae1e: f507 720a add.w r2, r7, #552 ; 0x228 805ae22: 4413 add r3, r2 805ae24: 3bb4 subs r3, #180 ; 0xb4 805ae26: ed93 7a00 vldr s14, [r3] 805ae2a: eddf 6a47 vldr s13, [pc, #284] ; 805af48 805ae2e: eec7 7a26 vdiv.f32 s15, s14, s13 805ae32: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc fl += 0.5f; 805ae36: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 805ae3a: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 805ae3e: ee77 7a87 vadd.f32 s15, s15, s14 805ae42: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc jj[1] = (uint32_t) fl; // íîìåð ãàðìîíèêè öåëûé 805ae46: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 805ae4a: eefc 7ae7 vcvt.u32.f32 s15, s15 805ae4e: ee17 2a90 vmov r2, s15 805ae52: f107 03bc add.w r3, r7, #188 ; 0xbc 805ae56: 605a str r2, [r3, #4] jj[0] = jj[1] - 1; if(jj[1] < 2) jj[0] = jj[1]; 805ae58: f107 03bc add.w r3, r7, #188 ; 0xbc 805ae5c: 685b ldr r3, [r3, #4] 805ae5e: 1e5a subs r2, r3, #1 805ae60: f107 03bc add.w r3, r7, #188 ; 0xbc 805ae64: 601a str r2, [r3, #0] 805ae66: f107 03bc add.w r3, r7, #188 ; 0xbc 805ae6a: 685b ldr r3, [r3, #4] 805ae6c: 2b01 cmp r3, #1 805ae6e: d805 bhi.n 805ae7c 805ae70: f107 03bc add.w r3, r7, #188 ; 0xbc 805ae74: 685a ldr r2, [r3, #4] 805ae76: f107 03bc add.w r3, r7, #188 ; 0xbc 805ae7a: 601a str r2, [r3, #0] jj[2] = jj[1] + 1; if(jj[1] > 4094) jj[2] = jj[1]; 805ae7c: f107 03bc add.w r3, r7, #188 ; 0xbc 805ae80: 685b ldr r3, [r3, #4] 805ae82: 1c5a adds r2, r3, #1 805ae84: f107 03bc add.w r3, r7, #188 ; 0xbc 805ae88: 609a str r2, [r3, #8] 805ae8a: f107 03bc add.w r3, r7, #188 ; 0xbc 805ae8e: 685b ldr r3, [r3, #4] 805ae90: f640 72fe movw r2, #4094 ; 0xffe 805ae94: 4293 cmp r3, r2 805ae96: d905 bls.n 805aea4 805ae98: f107 03bc add.w r3, r7, #188 ; 0xbc 805ae9c: 685a ldr r2, [r3, #4] 805ae9e: f107 03bc add.w r3, r7, #188 ; 0xbc 805aea2: 609a str r2, [r3, #8] if((Freq[jj[1]]) || (Freq[jj[0]]) || (Freq[jj[2]])) 805aea4: f107 03bc add.w r3, r7, #188 ; 0xbc 805aea8: 685b ldr r3, [r3, #4] 805aeaa: 4a28 ldr r2, [pc, #160] ; (805af4c ) 805aeac: 5cd3 ldrb r3, [r2, r3] 805aeae: 2b00 cmp r3, #0 805aeb0: d10d bne.n 805aece 805aeb2: f107 03bc add.w r3, r7, #188 ; 0xbc 805aeb6: 681b ldr r3, [r3, #0] 805aeb8: 4a24 ldr r2, [pc, #144] ; (805af4c ) 805aeba: 5cd3 ldrb r3, [r2, r3] 805aebc: 2b00 cmp r3, #0 805aebe: d106 bne.n 805aece 805aec0: f107 03bc add.w r3, r7, #188 ; 0xbc 805aec4: 689b ldr r3, [r3, #8] 805aec6: 4a21 ldr r2, [pc, #132] ; (805af4c ) 805aec8: 5cd3 ldrb r3, [r2, r3] 805aeca: 2b00 cmp r3, #0 805aecc: d00a beq.n 805aee4 { limit[i] = true; 805aece: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805aed2: f507 7294 add.w r2, r7, #296 ; 0x128 805aed6: 2101 movs r1, #1 805aed8: 54d1 strb r1, [r2, r3] k++; 805aeda: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805aede: 3301 adds r3, #1 805aee0: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 for(i = 0; i < 11; i++) 805aee4: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805aee8: 3301 adds r3, #1 805aeea: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805aeee: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805aef2: 2b0a cmp r3, #10 805aef4: f67f af7b bls.w 805adee } } if((!limit[0]) && (limit[1])) 805aef8: f507 7394 add.w r3, r7, #296 ; 0x128 805aefc: 781b ldrb r3, [r3, #0] 805aefe: f083 0301 eor.w r3, r3, #1 805af02: b2db uxtb r3, r3 805af04: 2b00 cmp r3, #0 805af06: d007 beq.n 805af18 805af08: f507 7394 add.w r3, r7, #296 ; 0x128 805af0c: 785b ldrb r3, [r3, #1] 805af0e: 2b00 cmp r3, #0 805af10: d002 beq.n 805af18 { DEFECTS[PEREKOS_VNUTRENNEGO_KOLCA] = true; 805af12: 4b0f ldr r3, [pc, #60] ; (805af50 ) 805af14: 2201 movs r2, #1 805af16: 705a strb r2, [r3, #1] } ///////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////// //////////////////// Ãåðåêîñ íàðóæíîãî êîëüöà ///////////////////// memset((void *) limit, false, sizeof(limit)); 805af18: f507 7394 add.w r3, r7, #296 ; 0x128 805af1c: 220f movs r2, #15 805af1e: 2100 movs r1, #0 805af20: 4618 mov r0, r3 805af22: f072 f891 bl 80cd048 arm_fill_f32(0.0f, frq, 15); 805af26: f507 73ba add.w r3, r7, #372 ; 0x174 805af2a: 210f movs r1, #15 805af2c: 4618 mov r0, r3 805af2e: ed9f 0a09 vldr s0, [pc, #36] ; 805af54 805af32: f06e fee7 bl 80c9d04 k = 0; 805af36: 2300 movs r3, #0 805af38: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 for(i = 0; i < 4; i++) 805af3c: 2300 movs r3, #0 805af3e: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805af42: e089 b.n 805b058 805af44: 20026d00 .word 0x20026d00 805af48: 3efa0000 .word 0x3efa0000 805af4c: 20018000 .word 0x20018000 805af50: 20026f10 .word 0x20026f10 805af54: 00000000 .word 0x00000000 { frq[i] = Fn * (float32_t)(i + 1); 805af58: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805af5c: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805af60: 3201 adds r2, #1 805af62: ee07 2a90 vmov s15, r2 805af66: eeb8 7a67 vcvt.f32.u32 s14, s15 805af6a: 4a55 ldr r2, [pc, #340] ; (805b0c0 ) 805af6c: edd2 7a00 vldr s15, [r2] 805af70: ee67 7a27 vmul.f32 s15, s14, s15 805af74: 009b lsls r3, r3, #2 805af76: f507 720a add.w r2, r7, #552 ; 0x228 805af7a: 4413 add r3, r2 805af7c: 3bb4 subs r3, #180 ; 0xb4 805af7e: edc3 7a00 vstr s15, [r3] fl = frq[i] / 0.48828125f; // íîìåð ãàðìîíèêè âåùåñòâåííûé 805af82: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805af86: 009b lsls r3, r3, #2 805af88: f507 720a add.w r2, r7, #552 ; 0x228 805af8c: 4413 add r3, r2 805af8e: 3bb4 subs r3, #180 ; 0xb4 805af90: ed93 7a00 vldr s14, [r3] 805af94: eddf 6a4b vldr s13, [pc, #300] ; 805b0c4 805af98: eec7 7a26 vdiv.f32 s15, s14, s13 805af9c: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc fl += 0.5f; 805afa0: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 805afa4: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 805afa8: ee77 7a87 vadd.f32 s15, s15, s14 805afac: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc jj[1] = (uint32_t) fl; // íîìåð ãàðìîíèêè öåëûé 805afb0: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 805afb4: eefc 7ae7 vcvt.u32.f32 s15, s15 805afb8: ee17 2a90 vmov r2, s15 805afbc: f107 03bc add.w r3, r7, #188 ; 0xbc 805afc0: 605a str r2, [r3, #4] jj[0] = jj[1] - 1; if(jj[1] < 2) jj[0] = jj[1]; 805afc2: f107 03bc add.w r3, r7, #188 ; 0xbc 805afc6: 685b ldr r3, [r3, #4] 805afc8: 1e5a subs r2, r3, #1 805afca: f107 03bc add.w r3, r7, #188 ; 0xbc 805afce: 601a str r2, [r3, #0] 805afd0: f107 03bc add.w r3, r7, #188 ; 0xbc 805afd4: 685b ldr r3, [r3, #4] 805afd6: 2b01 cmp r3, #1 805afd8: d805 bhi.n 805afe6 805afda: f107 03bc add.w r3, r7, #188 ; 0xbc 805afde: 685a ldr r2, [r3, #4] 805afe0: f107 03bc add.w r3, r7, #188 ; 0xbc 805afe4: 601a str r2, [r3, #0] jj[2] = jj[1] + 1; if(jj[1] > 4094) jj[2] = jj[1]; 805afe6: f107 03bc add.w r3, r7, #188 ; 0xbc 805afea: 685b ldr r3, [r3, #4] 805afec: 1c5a adds r2, r3, #1 805afee: f107 03bc add.w r3, r7, #188 ; 0xbc 805aff2: 609a str r2, [r3, #8] 805aff4: f107 03bc add.w r3, r7, #188 ; 0xbc 805aff8: 685b ldr r3, [r3, #4] 805affa: f640 72fe movw r2, #4094 ; 0xffe 805affe: 4293 cmp r3, r2 805b000: d905 bls.n 805b00e 805b002: f107 03bc add.w r3, r7, #188 ; 0xbc 805b006: 685a ldr r2, [r3, #4] 805b008: f107 03bc add.w r3, r7, #188 ; 0xbc 805b00c: 609a str r2, [r3, #8] if((Freq[jj[1]]) || (Freq[jj[0]]) || (Freq[jj[2]])) 805b00e: f107 03bc add.w r3, r7, #188 ; 0xbc 805b012: 685b ldr r3, [r3, #4] 805b014: 4a2c ldr r2, [pc, #176] ; (805b0c8 ) 805b016: 5cd3 ldrb r3, [r2, r3] 805b018: 2b00 cmp r3, #0 805b01a: d10d bne.n 805b038 805b01c: f107 03bc add.w r3, r7, #188 ; 0xbc 805b020: 681b ldr r3, [r3, #0] 805b022: 4a29 ldr r2, [pc, #164] ; (805b0c8 ) 805b024: 5cd3 ldrb r3, [r2, r3] 805b026: 2b00 cmp r3, #0 805b028: d106 bne.n 805b038 805b02a: f107 03bc add.w r3, r7, #188 ; 0xbc 805b02e: 689b ldr r3, [r3, #8] 805b030: 4a25 ldr r2, [pc, #148] ; (805b0c8 ) 805b032: 5cd3 ldrb r3, [r2, r3] 805b034: 2b00 cmp r3, #0 805b036: d00a beq.n 805b04e { limit[i] = true; 805b038: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b03c: f507 7294 add.w r2, r7, #296 ; 0x128 805b040: 2101 movs r1, #1 805b042: 54d1 strb r1, [r2, r3] k++; 805b044: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805b048: 3301 adds r3, #1 805b04a: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 for(i = 0; i < 4; i++) 805b04e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b052: 3301 adds r3, #1 805b054: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805b058: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b05c: 2b03 cmp r3, #3 805b05e: f67f af7b bls.w 805af58 } } if((!limit[0]) && (limit[1])) 805b062: f507 7394 add.w r3, r7, #296 ; 0x128 805b066: 781b ldrb r3, [r3, #0] 805b068: f083 0301 eor.w r3, r3, #1 805b06c: b2db uxtb r3, r3 805b06e: 2b00 cmp r3, #0 805b070: d007 beq.n 805b082 805b072: f507 7394 add.w r3, r7, #296 ; 0x128 805b076: 785b ldrb r3, [r3, #1] 805b078: 2b00 cmp r3, #0 805b07a: d002 beq.n 805b082 { DEFECTS[PEREKOS_NARUZHNOGO_KOLCA] = true; 805b07c: 4b13 ldr r3, [pc, #76] ; (805b0cc ) 805b07e: 2201 movs r2, #1 805b080: 709a strb r2, [r3, #2] } ///////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////// //////////////////// Èçíîñ áåãîâîé äîðîæêè íàðóæíîãî êîëüöà ///////// memset((void *) limit, false, sizeof(limit)); 805b082: f507 7394 add.w r3, r7, #296 ; 0x128 805b086: 220f movs r2, #15 805b088: 2100 movs r1, #0 805b08a: 4618 mov r0, r3 805b08c: f071 ffdc bl 80cd048 arm_fill_f32(0.0f, frq, 15); 805b090: f507 73ba add.w r3, r7, #372 ; 0x174 805b094: 210f movs r1, #15 805b096: 4618 mov r0, r3 805b098: ed9f 0a0d vldr s0, [pc, #52] ; 805b0d0 805b09c: f06e fe32 bl 80c9d04 k = 0; 805b0a0: 2300 movs r3, #0 805b0a2: 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}; 805b0a6: f107 039c add.w r3, r7, #156 ; 0x9c 805b0aa: 4618 mov r0, r3 805b0ac: 231e movs r3, #30 805b0ae: 461a mov r2, r3 805b0b0: 2100 movs r1, #0 805b0b2: f071 ffc9 bl 80cd048 for(i = 0; i < 4; i++) 805b0b6: 2300 movs r3, #0 805b0b8: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805b0bc: e0da b.n 805b274 805b0be: bf00 nop 805b0c0: 200267a8 .word 0x200267a8 805b0c4: 3efa0000 .word 0x3efa0000 805b0c8: 20018000 .word 0x20018000 805b0cc: 20026f10 .word 0x20026f10 805b0d0: 00000000 .word 0x00000000 { frq[i] = Fn * (float32_t)(i + 1); 805b0d4: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b0d8: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805b0dc: 3201 adds r2, #1 805b0de: ee07 2a90 vmov s15, r2 805b0e2: eeb8 7a67 vcvt.f32.u32 s14, s15 805b0e6: 4aad ldr r2, [pc, #692] ; (805b39c ) 805b0e8: edd2 7a00 vldr s15, [r2] 805b0ec: ee67 7a27 vmul.f32 s15, s14, s15 805b0f0: 009b lsls r3, r3, #2 805b0f2: f507 720a add.w r2, r7, #552 ; 0x228 805b0f6: 4413 add r3, r2 805b0f8: 3bb4 subs r3, #180 ; 0xb4 805b0fa: edc3 7a00 vstr s15, [r3] fl = frq[i] / 0.48828125f; // íîìåð ãàðìîíèêè âåùåñòâåííûé 805b0fe: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b102: 009b lsls r3, r3, #2 805b104: f507 720a add.w r2, r7, #552 ; 0x228 805b108: 4413 add r3, r2 805b10a: 3bb4 subs r3, #180 ; 0xb4 805b10c: ed93 7a00 vldr s14, [r3] 805b110: eddf 6aa3 vldr s13, [pc, #652] ; 805b3a0 805b114: eec7 7a26 vdiv.f32 s15, s14, s13 805b118: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc fl += 0.5f; 805b11c: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 805b120: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 805b124: ee77 7a87 vadd.f32 s15, s15, s14 805b128: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc jj[1] = (uint32_t) fl; // íîìåð ãàðìîíèêè öåëûé 805b12c: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 805b130: eefc 7ae7 vcvt.u32.f32 s15, s15 805b134: ee17 2a90 vmov r2, s15 805b138: f107 03bc add.w r3, r7, #188 ; 0xbc 805b13c: 605a str r2, [r3, #4] jj[0] = jj[1] - 1; if(jj[1] < 2) jj[0] = jj[1]; 805b13e: f107 03bc add.w r3, r7, #188 ; 0xbc 805b142: 685b ldr r3, [r3, #4] 805b144: 1e5a subs r2, r3, #1 805b146: f107 03bc add.w r3, r7, #188 ; 0xbc 805b14a: 601a str r2, [r3, #0] 805b14c: f107 03bc add.w r3, r7, #188 ; 0xbc 805b150: 685b ldr r3, [r3, #4] 805b152: 2b01 cmp r3, #1 805b154: d805 bhi.n 805b162 805b156: f107 03bc add.w r3, r7, #188 ; 0xbc 805b15a: 685a ldr r2, [r3, #4] 805b15c: f107 03bc add.w r3, r7, #188 ; 0xbc 805b160: 601a str r2, [r3, #0] jj[2] = jj[1] + 1; if(jj[1] > 4094) jj[2] = jj[1]; 805b162: f107 03bc add.w r3, r7, #188 ; 0xbc 805b166: 685b ldr r3, [r3, #4] 805b168: 1c5a adds r2, r3, #1 805b16a: f107 03bc add.w r3, r7, #188 ; 0xbc 805b16e: 609a str r2, [r3, #8] 805b170: f107 03bc add.w r3, r7, #188 ; 0xbc 805b174: 685b ldr r3, [r3, #4] 805b176: f640 72fe movw r2, #4094 ; 0xffe 805b17a: 4293 cmp r3, r2 805b17c: d905 bls.n 805b18a 805b17e: f107 03bc add.w r3, r7, #188 ; 0xbc 805b182: 685a ldr r2, [r3, #4] 805b184: f107 03bc add.w r3, r7, #188 ; 0xbc 805b188: 609a str r2, [r3, #8] if((Freq[jj[1]]) || (Freq[jj[0]]) || (Freq[jj[2]])) 805b18a: f107 03bc add.w r3, r7, #188 ; 0xbc 805b18e: 685b ldr r3, [r3, #4] 805b190: 4a84 ldr r2, [pc, #528] ; (805b3a4 ) 805b192: 5cd3 ldrb r3, [r2, r3] 805b194: 2b00 cmp r3, #0 805b196: d10d bne.n 805b1b4 805b198: f107 03bc add.w r3, r7, #188 ; 0xbc 805b19c: 681b ldr r3, [r3, #0] 805b19e: 4a81 ldr r2, [pc, #516] ; (805b3a4 ) 805b1a0: 5cd3 ldrb r3, [r2, r3] 805b1a2: 2b00 cmp r3, #0 805b1a4: d106 bne.n 805b1b4 805b1a6: f107 03bc add.w r3, r7, #188 ; 0xbc 805b1aa: 689b ldr r3, [r3, #8] 805b1ac: 4a7d ldr r2, [pc, #500] ; (805b3a4 ) 805b1ae: 5cd3 ldrb r3, [r2, r3] 805b1b0: 2b00 cmp r3, #0 805b1b2: d05a beq.n 805b26a { ix[i] = jj[1]; 805b1b4: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805b1b8: f107 03bc add.w r3, r7, #188 ; 0xbc 805b1bc: 685b ldr r3, [r3, #4] 805b1be: b299 uxth r1, r3 805b1c0: f107 039c add.w r3, r7, #156 ; 0x9c 805b1c4: f823 1012 strh.w r1, [r3, r2, lsl #1] if(ScrA_f32(ix[i]) < ScrA_f32(jj[0])) 805b1c8: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805b1cc: f107 039c add.w r3, r7, #156 ; 0x9c 805b1d0: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 805b1d4: 009b lsls r3, r3, #2 805b1d6: 461a mov r2, r3 805b1d8: 4b73 ldr r3, [pc, #460] ; (805b3a8 ) 805b1da: 4413 add r3, r2 805b1dc: ed93 7a00 vldr s14, [r3] 805b1e0: f107 03bc add.w r3, r7, #188 ; 0xbc 805b1e4: 681b ldr r3, [r3, #0] 805b1e6: 009a lsls r2, r3, #2 805b1e8: 4b6f ldr r3, [pc, #444] ; (805b3a8 ) 805b1ea: 4413 add r3, r2 805b1ec: edd3 7a00 vldr s15, [r3] 805b1f0: eeb4 7ae7 vcmpe.f32 s14, s15 805b1f4: eef1 fa10 vmrs APSR_nzcv, fpscr 805b1f8: d509 bpl.n 805b20e ix[i] = jj[0]; 805b1fa: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805b1fe: f107 03bc add.w r3, r7, #188 ; 0xbc 805b202: 681b ldr r3, [r3, #0] 805b204: b299 uxth r1, r3 805b206: f107 039c add.w r3, r7, #156 ; 0x9c 805b20a: f823 1012 strh.w r1, [r3, r2, lsl #1] if(ScrA_f32(ix[i]) < ScrA_f32(jj[2])) 805b20e: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805b212: f107 039c add.w r3, r7, #156 ; 0x9c 805b216: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 805b21a: 009b lsls r3, r3, #2 805b21c: 461a mov r2, r3 805b21e: 4b62 ldr r3, [pc, #392] ; (805b3a8 ) 805b220: 4413 add r3, r2 805b222: ed93 7a00 vldr s14, [r3] 805b226: f107 03bc add.w r3, r7, #188 ; 0xbc 805b22a: 689b ldr r3, [r3, #8] 805b22c: 009a lsls r2, r3, #2 805b22e: 4b5e ldr r3, [pc, #376] ; (805b3a8 ) 805b230: 4413 add r3, r2 805b232: edd3 7a00 vldr s15, [r3] 805b236: eeb4 7ae7 vcmpe.f32 s14, s15 805b23a: eef1 fa10 vmrs APSR_nzcv, fpscr 805b23e: d509 bpl.n 805b254 ix[i] = jj[2]; 805b240: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805b244: f107 03bc add.w r3, r7, #188 ; 0xbc 805b248: 689b ldr r3, [r3, #8] 805b24a: b299 uxth r1, r3 805b24c: f107 039c add.w r3, r7, #156 ; 0x9c 805b250: f823 1012 strh.w r1, [r3, r2, lsl #1] limit[i] = true; 805b254: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b258: f507 7294 add.w r2, r7, #296 ; 0x128 805b25c: 2101 movs r1, #1 805b25e: 54d1 strb r1, [r2, r3] k++; 805b260: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805b264: 3301 adds r3, #1 805b266: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 for(i = 0; i < 4; i++) 805b26a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b26e: 3301 adds r3, #1 805b270: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805b274: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b278: 2b03 cmp r3, #3 805b27a: f67f af2b bls.w 805b0d4 } } if((limit[0]) && (k >= 3)) 805b27e: f507 7394 add.w r3, r7, #296 ; 0x128 805b282: 781b ldrb r3, [r3, #0] 805b284: 2b00 cmp r3, #0 805b286: f000 80d6 beq.w 805b436 805b28a: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805b28e: 2b02 cmp r3, #2 805b290: f240 80d1 bls.w 805b436 { if((limit[1]) && (limit[2])) 805b294: f507 7394 add.w r3, r7, #296 ; 0x128 805b298: 785b ldrb r3, [r3, #1] 805b29a: 2b00 cmp r3, #0 805b29c: d038 beq.n 805b310 805b29e: f507 7394 add.w r3, r7, #296 ; 0x128 805b2a2: 789b ldrb r3, [r3, #2] 805b2a4: 2b00 cmp r3, #0 805b2a6: d033 beq.n 805b310 { if((ScrA_f32(ix[0]) > ScrA_f32(ix[1])) && (ScrA_f32(ix[1]) > ScrA_f32(ix[2]))) 805b2a8: f107 039c add.w r3, r7, #156 ; 0x9c 805b2ac: 881b ldrh r3, [r3, #0] 805b2ae: 009b lsls r3, r3, #2 805b2b0: 461a mov r2, r3 805b2b2: 4b3d ldr r3, [pc, #244] ; (805b3a8 ) 805b2b4: 4413 add r3, r2 805b2b6: ed93 7a00 vldr s14, [r3] 805b2ba: f107 039c add.w r3, r7, #156 ; 0x9c 805b2be: 885b ldrh r3, [r3, #2] 805b2c0: 009b lsls r3, r3, #2 805b2c2: 461a mov r2, r3 805b2c4: 4b38 ldr r3, [pc, #224] ; (805b3a8 ) 805b2c6: 4413 add r3, r2 805b2c8: edd3 7a00 vldr s15, [r3] 805b2cc: eeb4 7ae7 vcmpe.f32 s14, s15 805b2d0: eef1 fa10 vmrs APSR_nzcv, fpscr 805b2d4: f340 80af ble.w 805b436 805b2d8: f107 039c add.w r3, r7, #156 ; 0x9c 805b2dc: 885b ldrh r3, [r3, #2] 805b2de: 009b lsls r3, r3, #2 805b2e0: 461a mov r2, r3 805b2e2: 4b31 ldr r3, [pc, #196] ; (805b3a8 ) 805b2e4: 4413 add r3, r2 805b2e6: ed93 7a00 vldr s14, [r3] 805b2ea: f107 039c add.w r3, r7, #156 ; 0x9c 805b2ee: 889b ldrh r3, [r3, #4] 805b2f0: 009b lsls r3, r3, #2 805b2f2: 461a mov r2, r3 805b2f4: 4b2c ldr r3, [pc, #176] ; (805b3a8 ) 805b2f6: 4413 add r3, r2 805b2f8: edd3 7a00 vldr s15, [r3] 805b2fc: eeb4 7ae7 vcmpe.f32 s14, s15 805b300: eef1 fa10 vmrs APSR_nzcv, fpscr 805b304: dc00 bgt.n 805b308 805b306: e096 b.n 805b436 { DEFECTS[IZNOS_BEGOVOY_DOROZHKI_NARUZHNOGO_KOLCA] = true; 805b308: 4b28 ldr r3, [pc, #160] ; (805b3ac ) 805b30a: 2201 movs r2, #1 805b30c: 70da strb r2, [r3, #3] if((ScrA_f32(ix[0]) > ScrA_f32(ix[1])) && (ScrA_f32(ix[1]) > ScrA_f32(ix[2]))) 805b30e: e092 b.n 805b436 } } else if((!limit[1]) && (limit[2]) && (limit[3])) 805b310: f507 7394 add.w r3, r7, #296 ; 0x128 805b314: 785b ldrb r3, [r3, #1] 805b316: f083 0301 eor.w r3, r3, #1 805b31a: b2db uxtb r3, r3 805b31c: 2b00 cmp r3, #0 805b31e: d047 beq.n 805b3b0 805b320: f507 7394 add.w r3, r7, #296 ; 0x128 805b324: 789b ldrb r3, [r3, #2] 805b326: 2b00 cmp r3, #0 805b328: d042 beq.n 805b3b0 805b32a: f507 7394 add.w r3, r7, #296 ; 0x128 805b32e: 78db ldrb r3, [r3, #3] 805b330: 2b00 cmp r3, #0 805b332: d03d beq.n 805b3b0 { if((ScrA_f32(ix[0]) > ScrA_f32(ix[2])) && (ScrA_f32(ix[2]) > ScrA_f32(ix[3]))) 805b334: f107 039c add.w r3, r7, #156 ; 0x9c 805b338: 881b ldrh r3, [r3, #0] 805b33a: 009b lsls r3, r3, #2 805b33c: 461a mov r2, r3 805b33e: 4b1a ldr r3, [pc, #104] ; (805b3a8 ) 805b340: 4413 add r3, r2 805b342: ed93 7a00 vldr s14, [r3] 805b346: f107 039c add.w r3, r7, #156 ; 0x9c 805b34a: 889b ldrh r3, [r3, #4] 805b34c: 009b lsls r3, r3, #2 805b34e: 461a mov r2, r3 805b350: 4b15 ldr r3, [pc, #84] ; (805b3a8 ) 805b352: 4413 add r3, r2 805b354: edd3 7a00 vldr s15, [r3] 805b358: eeb4 7ae7 vcmpe.f32 s14, s15 805b35c: eef1 fa10 vmrs APSR_nzcv, fpscr 805b360: dd69 ble.n 805b436 805b362: f107 039c add.w r3, r7, #156 ; 0x9c 805b366: 889b ldrh r3, [r3, #4] 805b368: 009b lsls r3, r3, #2 805b36a: 461a mov r2, r3 805b36c: 4b0e ldr r3, [pc, #56] ; (805b3a8 ) 805b36e: 4413 add r3, r2 805b370: ed93 7a00 vldr s14, [r3] 805b374: f107 039c add.w r3, r7, #156 ; 0x9c 805b378: 88db ldrh r3, [r3, #6] 805b37a: 009b lsls r3, r3, #2 805b37c: 461a mov r2, r3 805b37e: 4b0a ldr r3, [pc, #40] ; (805b3a8 ) 805b380: 4413 add r3, r2 805b382: edd3 7a00 vldr s15, [r3] 805b386: eeb4 7ae7 vcmpe.f32 s14, s15 805b38a: eef1 fa10 vmrs APSR_nzcv, fpscr 805b38e: dc00 bgt.n 805b392 805b390: e051 b.n 805b436 { DEFECTS[IZNOS_BEGOVOY_DOROZHKI_NARUZHNOGO_KOLCA] = true; 805b392: 4b06 ldr r3, [pc, #24] ; (805b3ac ) 805b394: 2201 movs r2, #1 805b396: 70da strb r2, [r3, #3] if((ScrA_f32(ix[0]) > ScrA_f32(ix[2])) && (ScrA_f32(ix[2]) > ScrA_f32(ix[3]))) 805b398: e04d b.n 805b436 805b39a: bf00 nop 805b39c: 200267a8 .word 0x200267a8 805b3a0: 3efa0000 .word 0x3efa0000 805b3a4: 20018000 .word 0x20018000 805b3a8: 64080000 .word 0x64080000 805b3ac: 20026f10 .word 0x20026f10 } } else if((limit[1]) && (!limit[2]) && (limit[3])) 805b3b0: f507 7394 add.w r3, r7, #296 ; 0x128 805b3b4: 785b ldrb r3, [r3, #1] 805b3b6: 2b00 cmp r3, #0 805b3b8: d03d beq.n 805b436 805b3ba: f507 7394 add.w r3, r7, #296 ; 0x128 805b3be: 789b ldrb r3, [r3, #2] 805b3c0: f083 0301 eor.w r3, r3, #1 805b3c4: b2db uxtb r3, r3 805b3c6: 2b00 cmp r3, #0 805b3c8: d035 beq.n 805b436 805b3ca: f507 7394 add.w r3, r7, #296 ; 0x128 805b3ce: 78db ldrb r3, [r3, #3] 805b3d0: 2b00 cmp r3, #0 805b3d2: d030 beq.n 805b436 { if((ScrA_f32(ix[0]) > ScrA_f32(ix[1])) && (ScrA_f32(ix[1]) > ScrA_f32(ix[3]))) 805b3d4: f107 039c add.w r3, r7, #156 ; 0x9c 805b3d8: 881b ldrh r3, [r3, #0] 805b3da: 009b lsls r3, r3, #2 805b3dc: 461a mov r2, r3 805b3de: 4bc4 ldr r3, [pc, #784] ; (805b6f0 ) 805b3e0: 4413 add r3, r2 805b3e2: ed93 7a00 vldr s14, [r3] 805b3e6: f107 039c add.w r3, r7, #156 ; 0x9c 805b3ea: 885b ldrh r3, [r3, #2] 805b3ec: 009b lsls r3, r3, #2 805b3ee: 461a mov r2, r3 805b3f0: 4bbf ldr r3, [pc, #764] ; (805b6f0 ) 805b3f2: 4413 add r3, r2 805b3f4: edd3 7a00 vldr s15, [r3] 805b3f8: eeb4 7ae7 vcmpe.f32 s14, s15 805b3fc: eef1 fa10 vmrs APSR_nzcv, fpscr 805b400: dd19 ble.n 805b436 805b402: f107 039c add.w r3, r7, #156 ; 0x9c 805b406: 885b ldrh r3, [r3, #2] 805b408: 009b lsls r3, r3, #2 805b40a: 461a mov r2, r3 805b40c: 4bb8 ldr r3, [pc, #736] ; (805b6f0 ) 805b40e: 4413 add r3, r2 805b410: ed93 7a00 vldr s14, [r3] 805b414: f107 039c add.w r3, r7, #156 ; 0x9c 805b418: 88db ldrh r3, [r3, #6] 805b41a: 009b lsls r3, r3, #2 805b41c: 461a mov r2, r3 805b41e: 4bb4 ldr r3, [pc, #720] ; (805b6f0 ) 805b420: 4413 add r3, r2 805b422: edd3 7a00 vldr s15, [r3] 805b426: eeb4 7ae7 vcmpe.f32 s14, s15 805b42a: eef1 fa10 vmrs APSR_nzcv, fpscr 805b42e: dd02 ble.n 805b436 { DEFECTS[IZNOS_BEGOVOY_DOROZHKI_NARUZHNOGO_KOLCA] = true; 805b430: 4bb0 ldr r3, [pc, #704] ; (805b6f4 ) 805b432: 2201 movs r2, #1 805b434: 70da strb r2, [r3, #3] } } ///////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////// //////////////////// Çàäèðû, òðåùèíû íà íàðóæíîì êîëüöå ///////////// memset((void *) limit, false, sizeof(limit)); 805b436: f507 7394 add.w r3, r7, #296 ; 0x128 805b43a: 220f movs r2, #15 805b43c: 2100 movs r1, #0 805b43e: 4618 mov r0, r3 805b440: f071 fe02 bl 80cd048 arm_fill_f32(0.0f, frq, 15); 805b444: f507 73ba add.w r3, r7, #372 ; 0x174 805b448: 210f movs r1, #15 805b44a: 4618 mov r0, r3 805b44c: ed9f 0aaa vldr s0, [pc, #680] ; 805b6f8 805b450: f06e fc58 bl 80c9d04 k = 0; 805b454: 2300 movs r3, #0 805b456: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 for(i = 0; i < 4; i++) 805b45a: 2300 movs r3, #0 805b45c: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805b460: e07f b.n 805b562 { frq[i] = Fn * (float32_t)(i + 1); 805b462: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b466: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805b46a: 3201 adds r2, #1 805b46c: ee07 2a90 vmov s15, r2 805b470: eeb8 7a67 vcvt.f32.u32 s14, s15 805b474: 4aa1 ldr r2, [pc, #644] ; (805b6fc ) 805b476: edd2 7a00 vldr s15, [r2] 805b47a: ee67 7a27 vmul.f32 s15, s14, s15 805b47e: 009b lsls r3, r3, #2 805b480: f507 720a add.w r2, r7, #552 ; 0x228 805b484: 4413 add r3, r2 805b486: 3bb4 subs r3, #180 ; 0xb4 805b488: edc3 7a00 vstr s15, [r3] fl = frq[i] / 0.48828125f; // íîìåð ãàðìîíèêè âåùåñòâåííûé 805b48c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b490: 009b lsls r3, r3, #2 805b492: f507 720a add.w r2, r7, #552 ; 0x228 805b496: 4413 add r3, r2 805b498: 3bb4 subs r3, #180 ; 0xb4 805b49a: ed93 7a00 vldr s14, [r3] 805b49e: eddf 6a98 vldr s13, [pc, #608] ; 805b700 805b4a2: eec7 7a26 vdiv.f32 s15, s14, s13 805b4a6: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc fl += 0.5f; 805b4aa: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 805b4ae: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 805b4b2: ee77 7a87 vadd.f32 s15, s15, s14 805b4b6: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc jj[1] = (uint32_t) fl; // íîìåð ãàðìîíèêè öåëûé 805b4ba: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 805b4be: eefc 7ae7 vcvt.u32.f32 s15, s15 805b4c2: ee17 2a90 vmov r2, s15 805b4c6: f107 03bc add.w r3, r7, #188 ; 0xbc 805b4ca: 605a str r2, [r3, #4] jj[0] = jj[1] - 1; if(jj[1] < 2) jj[0] = jj[1]; 805b4cc: f107 03bc add.w r3, r7, #188 ; 0xbc 805b4d0: 685b ldr r3, [r3, #4] 805b4d2: 1e5a subs r2, r3, #1 805b4d4: f107 03bc add.w r3, r7, #188 ; 0xbc 805b4d8: 601a str r2, [r3, #0] 805b4da: f107 03bc add.w r3, r7, #188 ; 0xbc 805b4de: 685b ldr r3, [r3, #4] 805b4e0: 2b01 cmp r3, #1 805b4e2: d805 bhi.n 805b4f0 805b4e4: f107 03bc add.w r3, r7, #188 ; 0xbc 805b4e8: 685a ldr r2, [r3, #4] 805b4ea: f107 03bc add.w r3, r7, #188 ; 0xbc 805b4ee: 601a str r2, [r3, #0] jj[2] = jj[1] + 1; if(jj[1] > 4094) jj[2] = jj[1]; 805b4f0: f107 03bc add.w r3, r7, #188 ; 0xbc 805b4f4: 685b ldr r3, [r3, #4] 805b4f6: 1c5a adds r2, r3, #1 805b4f8: f107 03bc add.w r3, r7, #188 ; 0xbc 805b4fc: 609a str r2, [r3, #8] 805b4fe: f107 03bc add.w r3, r7, #188 ; 0xbc 805b502: 685b ldr r3, [r3, #4] 805b504: f640 72fe movw r2, #4094 ; 0xffe 805b508: 4293 cmp r3, r2 805b50a: d905 bls.n 805b518 805b50c: f107 03bc add.w r3, r7, #188 ; 0xbc 805b510: 685a ldr r2, [r3, #4] 805b512: f107 03bc add.w r3, r7, #188 ; 0xbc 805b516: 609a str r2, [r3, #8] if((Freq[jj[1]]) || (Freq[jj[0]]) || (Freq[jj[2]])) 805b518: f107 03bc add.w r3, r7, #188 ; 0xbc 805b51c: 685b ldr r3, [r3, #4] 805b51e: 4a79 ldr r2, [pc, #484] ; (805b704 ) 805b520: 5cd3 ldrb r3, [r2, r3] 805b522: 2b00 cmp r3, #0 805b524: d10d bne.n 805b542 805b526: f107 03bc add.w r3, r7, #188 ; 0xbc 805b52a: 681b ldr r3, [r3, #0] 805b52c: 4a75 ldr r2, [pc, #468] ; (805b704 ) 805b52e: 5cd3 ldrb r3, [r2, r3] 805b530: 2b00 cmp r3, #0 805b532: d106 bne.n 805b542 805b534: f107 03bc add.w r3, r7, #188 ; 0xbc 805b538: 689b ldr r3, [r3, #8] 805b53a: 4a72 ldr r2, [pc, #456] ; (805b704 ) 805b53c: 5cd3 ldrb r3, [r2, r3] 805b53e: 2b00 cmp r3, #0 805b540: d00a beq.n 805b558 { limit[i] = true; 805b542: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b546: f507 7294 add.w r2, r7, #296 ; 0x128 805b54a: 2101 movs r1, #1 805b54c: 54d1 strb r1, [r2, r3] k++; 805b54e: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805b552: 3301 adds r3, #1 805b554: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 for(i = 0; i < 4; i++) 805b558: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b55c: 3301 adds r3, #1 805b55e: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805b562: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b566: 2b03 cmp r3, #3 805b568: f67f af7b bls.w 805b462 } } if((k >= 2) && (limit[0]) && (limit[1])) 805b56c: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805b570: 2b01 cmp r3, #1 805b572: d90c bls.n 805b58e 805b574: f507 7394 add.w r3, r7, #296 ; 0x128 805b578: 781b ldrb r3, [r3, #0] 805b57a: 2b00 cmp r3, #0 805b57c: d007 beq.n 805b58e 805b57e: f507 7394 add.w r3, r7, #296 ; 0x128 805b582: 785b ldrb r3, [r3, #1] 805b584: 2b00 cmp r3, #0 805b586: d002 beq.n 805b58e { DEFECTS[ZADIRI_TRESCHINI_NA_NARUZHNOM_KOLCE] = true; 805b588: 4b5a ldr r3, [pc, #360] ; (805b6f4 ) 805b58a: 2201 movs r2, #1 805b58c: 711a strb r2, [r3, #4] } ///////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////// //////////////////// Èçíîñ áåãîâîé äîðîæêè âíóòðåííåãî êîëüöà ////////// memset((void *) limit, false, sizeof(limit)); 805b58e: f507 7394 add.w r3, r7, #296 ; 0x128 805b592: 220f movs r2, #15 805b594: 2100 movs r1, #0 805b596: 4618 mov r0, r3 805b598: f071 fd56 bl 80cd048 memset((void *) limit_1, false, sizeof(limit_1)); 805b59c: f507 738c add.w r3, r7, #280 ; 0x118 805b5a0: 220f movs r2, #15 805b5a2: 2100 movs r1, #0 805b5a4: 4618 mov r0, r3 805b5a6: f071 fd4f bl 80cd048 arm_fill_f32(0.0f, frq, 15); 805b5aa: f507 73ba add.w r3, r7, #372 ; 0x174 805b5ae: 210f movs r1, #15 805b5b0: 4618 mov r0, r3 805b5b2: ed9f 0a51 vldr s0, [pc, #324] ; 805b6f8 805b5b6: f06e fba5 bl 80c9d04 arm_fill_f32(0.0f, frq_1, 15); 805b5ba: f507 739c add.w r3, r7, #312 ; 0x138 805b5be: 210f movs r1, #15 805b5c0: 4618 mov r0, r3 805b5c2: ed9f 0a4d vldr s0, [pc, #308] ; 805b6f8 805b5c6: f06e fb9d bl 80c9d04 k = 0; 805b5ca: 2300 movs r3, #0 805b5cc: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 l = 0; 805b5d0: 2300 movs r3, #0 805b5d2: f8c7 3224 str.w r3, [r7, #548] ; 0x224 for(i = 0; i < 7; i++) 805b5d6: 2300 movs r3, #0 805b5d8: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805b5dc: e07f b.n 805b6de { frq[i] = Fvr * (float32_t)(i + 1); 805b5de: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b5e2: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805b5e6: 3201 adds r2, #1 805b5e8: ee07 2a90 vmov s15, r2 805b5ec: eeb8 7a67 vcvt.f32.u32 s14, s15 805b5f0: 4a45 ldr r2, [pc, #276] ; (805b708 ) 805b5f2: edd2 7a00 vldr s15, [r2] 805b5f6: ee67 7a27 vmul.f32 s15, s14, s15 805b5fa: 009b lsls r3, r3, #2 805b5fc: f507 720a add.w r2, r7, #552 ; 0x228 805b600: 4413 add r3, r2 805b602: 3bb4 subs r3, #180 ; 0xb4 805b604: edc3 7a00 vstr s15, [r3] fl = frq[i] / 0.48828125f; // íîìåð ãàðìîíèêè âåùåñòâåííûé 805b608: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b60c: 009b lsls r3, r3, #2 805b60e: f507 720a add.w r2, r7, #552 ; 0x228 805b612: 4413 add r3, r2 805b614: 3bb4 subs r3, #180 ; 0xb4 805b616: ed93 7a00 vldr s14, [r3] 805b61a: eddf 6a39 vldr s13, [pc, #228] ; 805b700 805b61e: eec7 7a26 vdiv.f32 s15, s14, s13 805b622: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc fl += 0.5f; 805b626: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 805b62a: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 805b62e: ee77 7a87 vadd.f32 s15, s15, s14 805b632: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc jj[1] = (uint32_t) fl; // íîìåð ãàðìîíèêè öåëûé 805b636: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 805b63a: eefc 7ae7 vcvt.u32.f32 s15, s15 805b63e: ee17 2a90 vmov r2, s15 805b642: f107 03bc add.w r3, r7, #188 ; 0xbc 805b646: 605a str r2, [r3, #4] jj[0] = jj[1] - 1; if(jj[1] < 2) jj[0] = jj[1]; 805b648: f107 03bc add.w r3, r7, #188 ; 0xbc 805b64c: 685b ldr r3, [r3, #4] 805b64e: 1e5a subs r2, r3, #1 805b650: f107 03bc add.w r3, r7, #188 ; 0xbc 805b654: 601a str r2, [r3, #0] 805b656: f107 03bc add.w r3, r7, #188 ; 0xbc 805b65a: 685b ldr r3, [r3, #4] 805b65c: 2b01 cmp r3, #1 805b65e: d805 bhi.n 805b66c 805b660: f107 03bc add.w r3, r7, #188 ; 0xbc 805b664: 685a ldr r2, [r3, #4] 805b666: f107 03bc add.w r3, r7, #188 ; 0xbc 805b66a: 601a str r2, [r3, #0] jj[2] = jj[1] + 1; if(jj[1] > 4094) jj[2] = jj[1]; 805b66c: f107 03bc add.w r3, r7, #188 ; 0xbc 805b670: 685b ldr r3, [r3, #4] 805b672: 1c5a adds r2, r3, #1 805b674: f107 03bc add.w r3, r7, #188 ; 0xbc 805b678: 609a str r2, [r3, #8] 805b67a: f107 03bc add.w r3, r7, #188 ; 0xbc 805b67e: 685b ldr r3, [r3, #4] 805b680: f640 72fe movw r2, #4094 ; 0xffe 805b684: 4293 cmp r3, r2 805b686: d905 bls.n 805b694 805b688: f107 03bc add.w r3, r7, #188 ; 0xbc 805b68c: 685a ldr r2, [r3, #4] 805b68e: f107 03bc add.w r3, r7, #188 ; 0xbc 805b692: 609a str r2, [r3, #8] if((Freq[jj[1]]) || (Freq[jj[0]]) || (Freq[jj[2]])) 805b694: f107 03bc add.w r3, r7, #188 ; 0xbc 805b698: 685b ldr r3, [r3, #4] 805b69a: 4a1a ldr r2, [pc, #104] ; (805b704 ) 805b69c: 5cd3 ldrb r3, [r2, r3] 805b69e: 2b00 cmp r3, #0 805b6a0: d10d bne.n 805b6be 805b6a2: f107 03bc add.w r3, r7, #188 ; 0xbc 805b6a6: 681b ldr r3, [r3, #0] 805b6a8: 4a16 ldr r2, [pc, #88] ; (805b704 ) 805b6aa: 5cd3 ldrb r3, [r2, r3] 805b6ac: 2b00 cmp r3, #0 805b6ae: d106 bne.n 805b6be 805b6b0: f107 03bc add.w r3, r7, #188 ; 0xbc 805b6b4: 689b ldr r3, [r3, #8] 805b6b6: 4a13 ldr r2, [pc, #76] ; (805b704 ) 805b6b8: 5cd3 ldrb r3, [r2, r3] 805b6ba: 2b00 cmp r3, #0 805b6bc: d00a beq.n 805b6d4 { limit[i] = true; 805b6be: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b6c2: f507 7294 add.w r2, r7, #296 ; 0x128 805b6c6: 2101 movs r1, #1 805b6c8: 54d1 strb r1, [r2, r3] k++; 805b6ca: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805b6ce: 3301 adds r3, #1 805b6d0: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 for(i = 0; i < 7; i++) 805b6d4: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b6d8: 3301 adds r3, #1 805b6da: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805b6de: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b6e2: 2b06 cmp r3, #6 805b6e4: f67f af7b bls.w 805b5de } } for(i = 0; i < 3; i++) 805b6e8: 2300 movs r3, #0 805b6ea: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805b6ee: e08d b.n 805b80c 805b6f0: 64080000 .word 0x64080000 805b6f4: 20026f10 .word 0x20026f10 805b6f8: 00000000 .word 0x00000000 805b6fc: 200267a8 .word 0x200267a8 805b700: 3efa0000 .word 0x3efa0000 805b704: 20018000 .word 0x20018000 805b708: 20026d00 .word 0x20026d00 { frq_1[i] = Fv * (float32_t)(i + 1); 805b70c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b710: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805b714: 3201 adds r2, #1 805b716: ee07 2a90 vmov s15, r2 805b71a: eeb8 7a67 vcvt.f32.u32 s14, s15 805b71e: 4aba ldr r2, [pc, #744] ; (805ba08 ) 805b720: edd2 7a00 vldr s15, [r2] 805b724: ee67 7a27 vmul.f32 s15, s14, s15 805b728: 009b lsls r3, r3, #2 805b72a: f507 720a add.w r2, r7, #552 ; 0x228 805b72e: 4413 add r3, r2 805b730: 3bf0 subs r3, #240 ; 0xf0 805b732: edc3 7a00 vstr s15, [r3] fl = frq_1[i] / 0.48828125; // íîìåð ãàðìîíèêè âåùåñòâåííûé 805b736: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b73a: 009b lsls r3, r3, #2 805b73c: f507 720a add.w r2, r7, #552 ; 0x228 805b740: 4413 add r3, r2 805b742: 3bf0 subs r3, #240 ; 0xf0 805b744: ed93 7a00 vldr s14, [r3] 805b748: eddf 6ab0 vldr s13, [pc, #704] ; 805ba0c 805b74c: eec7 7a26 vdiv.f32 s15, s14, s13 805b750: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc fl += 0.5f; 805b754: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 805b758: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 805b75c: ee77 7a87 vadd.f32 s15, s15, s14 805b760: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc jj[1] = (uint32_t) fl; // íîìåð ãàðìîíèêè öåëûé 805b764: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 805b768: eefc 7ae7 vcvt.u32.f32 s15, s15 805b76c: ee17 2a90 vmov r2, s15 805b770: f107 03bc add.w r3, r7, #188 ; 0xbc 805b774: 605a str r2, [r3, #4] jj[0] = jj[1] - 1; if(jj[1] < 2) jj[0] = jj[1]; 805b776: f107 03bc add.w r3, r7, #188 ; 0xbc 805b77a: 685b ldr r3, [r3, #4] 805b77c: 1e5a subs r2, r3, #1 805b77e: f107 03bc add.w r3, r7, #188 ; 0xbc 805b782: 601a str r2, [r3, #0] 805b784: f107 03bc add.w r3, r7, #188 ; 0xbc 805b788: 685b ldr r3, [r3, #4] 805b78a: 2b01 cmp r3, #1 805b78c: d805 bhi.n 805b79a 805b78e: f107 03bc add.w r3, r7, #188 ; 0xbc 805b792: 685a ldr r2, [r3, #4] 805b794: f107 03bc add.w r3, r7, #188 ; 0xbc 805b798: 601a str r2, [r3, #0] jj[2] = jj[1] + 1; if(jj[1] > 4094) jj[2] = jj[1]; 805b79a: f107 03bc add.w r3, r7, #188 ; 0xbc 805b79e: 685b ldr r3, [r3, #4] 805b7a0: 1c5a adds r2, r3, #1 805b7a2: f107 03bc add.w r3, r7, #188 ; 0xbc 805b7a6: 609a str r2, [r3, #8] 805b7a8: f107 03bc add.w r3, r7, #188 ; 0xbc 805b7ac: 685b ldr r3, [r3, #4] 805b7ae: f640 72fe movw r2, #4094 ; 0xffe 805b7b2: 4293 cmp r3, r2 805b7b4: d905 bls.n 805b7c2 805b7b6: f107 03bc add.w r3, r7, #188 ; 0xbc 805b7ba: 685a ldr r2, [r3, #4] 805b7bc: f107 03bc add.w r3, r7, #188 ; 0xbc 805b7c0: 609a str r2, [r3, #8] if((Freq[jj[1]]) || (Freq[jj[0]]) || (Freq[jj[2]])) 805b7c2: f107 03bc add.w r3, r7, #188 ; 0xbc 805b7c6: 685b ldr r3, [r3, #4] 805b7c8: 4a91 ldr r2, [pc, #580] ; (805ba10 ) 805b7ca: 5cd3 ldrb r3, [r2, r3] 805b7cc: 2b00 cmp r3, #0 805b7ce: d10d bne.n 805b7ec 805b7d0: f107 03bc add.w r3, r7, #188 ; 0xbc 805b7d4: 681b ldr r3, [r3, #0] 805b7d6: 4a8e ldr r2, [pc, #568] ; (805ba10 ) 805b7d8: 5cd3 ldrb r3, [r2, r3] 805b7da: 2b00 cmp r3, #0 805b7dc: d106 bne.n 805b7ec 805b7de: f107 03bc add.w r3, r7, #188 ; 0xbc 805b7e2: 689b ldr r3, [r3, #8] 805b7e4: 4a8a ldr r2, [pc, #552] ; (805ba10 ) 805b7e6: 5cd3 ldrb r3, [r2, r3] 805b7e8: 2b00 cmp r3, #0 805b7ea: d00a beq.n 805b802 { limit_1[i] = true; 805b7ec: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b7f0: f507 728c add.w r2, r7, #280 ; 0x118 805b7f4: 2101 movs r1, #1 805b7f6: 54d1 strb r1, [r2, r3] l++; 805b7f8: f8d7 3224 ldr.w r3, [r7, #548] ; 0x224 805b7fc: 3301 adds r3, #1 805b7fe: f8c7 3224 str.w r3, [r7, #548] ; 0x224 for(i = 0; i < 3; i++) 805b802: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b806: 3301 adds r3, #1 805b808: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805b80c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b810: 2b02 cmp r3, #2 805b812: f67f af7b bls.w 805b70c } } if((k >= 3) && (limit[0])) 805b816: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805b81a: 2b02 cmp r3, #2 805b81c: d943 bls.n 805b8a6 805b81e: f507 7394 add.w r3, r7, #296 ; 0x128 805b822: 781b ldrb r3, [r3, #0] 805b824: 2b00 cmp r3, #0 805b826: d03e beq.n 805b8a6 { if((k >= 1) && (limit_1[0])) 805b828: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805b82c: 2b00 cmp r3, #0 805b82e: d03a beq.n 805b8a6 805b830: f507 738c add.w r3, r7, #280 ; 0x118 805b834: 781b ldrb r3, [r3, #0] 805b836: 2b00 cmp r3, #0 805b838: d035 beq.n 805b8a6 { if((limit[1]) && (limit[2])) 805b83a: f507 7394 add.w r3, r7, #296 ; 0x128 805b83e: 785b ldrb r3, [r3, #1] 805b840: 2b00 cmp r3, #0 805b842: d007 beq.n 805b854 805b844: f507 7394 add.w r3, r7, #296 ; 0x128 805b848: 789b ldrb r3, [r3, #2] 805b84a: 2b00 cmp r3, #0 805b84c: d002 beq.n 805b854 { DEFECTS[IZNOS_BEGOVOY_DOROZHKI_VNUTRENNEGO_KOLCA]; 805b84e: 4b71 ldr r3, [pc, #452] ; (805ba14 ) 805b850: 795b ldrb r3, [r3, #5] 805b852: e028 b.n 805b8a6 } else if((!limit[1]) && (limit[2]) && (limit[3])) 805b854: f507 7394 add.w r3, r7, #296 ; 0x128 805b858: 785b ldrb r3, [r3, #1] 805b85a: f083 0301 eor.w r3, r3, #1 805b85e: b2db uxtb r3, r3 805b860: 2b00 cmp r3, #0 805b862: d00c beq.n 805b87e 805b864: f507 7394 add.w r3, r7, #296 ; 0x128 805b868: 789b ldrb r3, [r3, #2] 805b86a: 2b00 cmp r3, #0 805b86c: d007 beq.n 805b87e 805b86e: f507 7394 add.w r3, r7, #296 ; 0x128 805b872: 78db ldrb r3, [r3, #3] 805b874: 2b00 cmp r3, #0 805b876: d002 beq.n 805b87e { DEFECTS[IZNOS_BEGOVOY_DOROZHKI_VNUTRENNEGO_KOLCA]; 805b878: 4b66 ldr r3, [pc, #408] ; (805ba14 ) 805b87a: 795b ldrb r3, [r3, #5] 805b87c: e013 b.n 805b8a6 } else if((limit[1]) && (!limit[2]) && (limit[3])) 805b87e: f507 7394 add.w r3, r7, #296 ; 0x128 805b882: 785b ldrb r3, [r3, #1] 805b884: 2b00 cmp r3, #0 805b886: d00e beq.n 805b8a6 805b888: f507 7394 add.w r3, r7, #296 ; 0x128 805b88c: 789b ldrb r3, [r3, #2] 805b88e: f083 0301 eor.w r3, r3, #1 805b892: b2db uxtb r3, r3 805b894: 2b00 cmp r3, #0 805b896: d006 beq.n 805b8a6 805b898: f507 7394 add.w r3, r7, #296 ; 0x128 805b89c: 78db ldrb r3, [r3, #3] 805b89e: 2b00 cmp r3, #0 805b8a0: d001 beq.n 805b8a6 { DEFECTS[IZNOS_BEGOVOY_DOROZHKI_VNUTRENNEGO_KOLCA]; 805b8a2: 4b5c ldr r3, [pc, #368] ; (805ba14 ) 805b8a4: 795b ldrb r3, [r3, #5] } } ///////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////// //////////////////// Çàäèðû (òðåùèíû) íà âíóòðåííåì êîëüöå ////////// memset((void *) limit, false, sizeof(limit)); 805b8a6: f507 7394 add.w r3, r7, #296 ; 0x128 805b8aa: 220f movs r2, #15 805b8ac: 2100 movs r1, #0 805b8ae: 4618 mov r0, r3 805b8b0: f071 fbca bl 80cd048 memset((void *) limit_1, false, sizeof(limit_1)); 805b8b4: f507 738c add.w r3, r7, #280 ; 0x118 805b8b8: 220f movs r2, #15 805b8ba: 2100 movs r1, #0 805b8bc: 4618 mov r0, r3 805b8be: f071 fbc3 bl 80cd048 arm_fill_f32(0.0f, frq, 15); 805b8c2: f507 73ba add.w r3, r7, #372 ; 0x174 805b8c6: 210f movs r1, #15 805b8c8: 4618 mov r0, r3 805b8ca: ed9f 0a53 vldr s0, [pc, #332] ; 805ba18 805b8ce: f06e fa19 bl 80c9d04 arm_fill_f32(0.0f, frq_1, 15); 805b8d2: f507 739c add.w r3, r7, #312 ; 0x138 805b8d6: 210f movs r1, #15 805b8d8: 4618 mov r0, r3 805b8da: ed9f 0a4f vldr s0, [pc, #316] ; 805ba18 805b8de: f06e fa11 bl 80c9d04 k = 0; 805b8e2: 2300 movs r3, #0 805b8e4: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 l = 0; 805b8e8: 2300 movs r3, #0 805b8ea: f8c7 3224 str.w r3, [r7, #548] ; 0x224 for(i = 0; i < 7; i++) 805b8ee: 2300 movs r3, #0 805b8f0: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805b8f4: e07f b.n 805b9f6 { frq[i] = Fvr * (float32_t)(i + 1); 805b8f6: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b8fa: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805b8fe: 3201 adds r2, #1 805b900: ee07 2a90 vmov s15, r2 805b904: eeb8 7a67 vcvt.f32.u32 s14, s15 805b908: 4a44 ldr r2, [pc, #272] ; (805ba1c ) 805b90a: edd2 7a00 vldr s15, [r2] 805b90e: ee67 7a27 vmul.f32 s15, s14, s15 805b912: 009b lsls r3, r3, #2 805b914: f507 720a add.w r2, r7, #552 ; 0x228 805b918: 4413 add r3, r2 805b91a: 3bb4 subs r3, #180 ; 0xb4 805b91c: edc3 7a00 vstr s15, [r3] fl = frq[i] / 0.48828125; // íîìåð ãàðìîíèêè âåùåñòâåííûé 805b920: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b924: 009b lsls r3, r3, #2 805b926: f507 720a add.w r2, r7, #552 ; 0x228 805b92a: 4413 add r3, r2 805b92c: 3bb4 subs r3, #180 ; 0xb4 805b92e: ed93 7a00 vldr s14, [r3] 805b932: eddf 6a36 vldr s13, [pc, #216] ; 805ba0c 805b936: eec7 7a26 vdiv.f32 s15, s14, s13 805b93a: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc fl += 0.5f; 805b93e: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 805b942: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 805b946: ee77 7a87 vadd.f32 s15, s15, s14 805b94a: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc jj[1] = (uint32_t) fl; // íîìåð ãàðìîíèêè öåëûé 805b94e: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 805b952: eefc 7ae7 vcvt.u32.f32 s15, s15 805b956: ee17 2a90 vmov r2, s15 805b95a: f107 03bc add.w r3, r7, #188 ; 0xbc 805b95e: 605a str r2, [r3, #4] jj[0] = jj[1] - 1; if(jj[1] < 2) jj[0] = jj[1]; 805b960: f107 03bc add.w r3, r7, #188 ; 0xbc 805b964: 685b ldr r3, [r3, #4] 805b966: 1e5a subs r2, r3, #1 805b968: f107 03bc add.w r3, r7, #188 ; 0xbc 805b96c: 601a str r2, [r3, #0] 805b96e: f107 03bc add.w r3, r7, #188 ; 0xbc 805b972: 685b ldr r3, [r3, #4] 805b974: 2b01 cmp r3, #1 805b976: d805 bhi.n 805b984 805b978: f107 03bc add.w r3, r7, #188 ; 0xbc 805b97c: 685a ldr r2, [r3, #4] 805b97e: f107 03bc add.w r3, r7, #188 ; 0xbc 805b982: 601a str r2, [r3, #0] jj[2] = jj[1] + 1; if(jj[1] > 4094) jj[2] = jj[1]; 805b984: f107 03bc add.w r3, r7, #188 ; 0xbc 805b988: 685b ldr r3, [r3, #4] 805b98a: 1c5a adds r2, r3, #1 805b98c: f107 03bc add.w r3, r7, #188 ; 0xbc 805b990: 609a str r2, [r3, #8] 805b992: f107 03bc add.w r3, r7, #188 ; 0xbc 805b996: 685b ldr r3, [r3, #4] 805b998: f640 72fe movw r2, #4094 ; 0xffe 805b99c: 4293 cmp r3, r2 805b99e: d905 bls.n 805b9ac 805b9a0: f107 03bc add.w r3, r7, #188 ; 0xbc 805b9a4: 685a ldr r2, [r3, #4] 805b9a6: f107 03bc add.w r3, r7, #188 ; 0xbc 805b9aa: 609a str r2, [r3, #8] if((Freq[jj[1]]) || (Freq[jj[0]]) || (Freq[jj[2]])) 805b9ac: f107 03bc add.w r3, r7, #188 ; 0xbc 805b9b0: 685b ldr r3, [r3, #4] 805b9b2: 4a17 ldr r2, [pc, #92] ; (805ba10 ) 805b9b4: 5cd3 ldrb r3, [r2, r3] 805b9b6: 2b00 cmp r3, #0 805b9b8: d10d bne.n 805b9d6 805b9ba: f107 03bc add.w r3, r7, #188 ; 0xbc 805b9be: 681b ldr r3, [r3, #0] 805b9c0: 4a13 ldr r2, [pc, #76] ; (805ba10 ) 805b9c2: 5cd3 ldrb r3, [r2, r3] 805b9c4: 2b00 cmp r3, #0 805b9c6: d106 bne.n 805b9d6 805b9c8: f107 03bc add.w r3, r7, #188 ; 0xbc 805b9cc: 689b ldr r3, [r3, #8] 805b9ce: 4a10 ldr r2, [pc, #64] ; (805ba10 ) 805b9d0: 5cd3 ldrb r3, [r2, r3] 805b9d2: 2b00 cmp r3, #0 805b9d4: d00a beq.n 805b9ec { limit[i] = true; 805b9d6: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b9da: f507 7294 add.w r2, r7, #296 ; 0x128 805b9de: 2101 movs r1, #1 805b9e0: 54d1 strb r1, [r2, r3] k++; 805b9e2: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805b9e6: 3301 adds r3, #1 805b9e8: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 for(i = 0; i < 7; i++) 805b9ec: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b9f0: 3301 adds r3, #1 805b9f2: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805b9f6: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b9fa: 2b06 cmp r3, #6 805b9fc: f67f af7b bls.w 805b8f6 } } for(i = 0; i < 3; i++) 805ba00: 2300 movs r3, #0 805ba02: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805ba06: e08b b.n 805bb20 805ba08: 200261c4 .word 0x200261c4 805ba0c: 3efa0000 .word 0x3efa0000 805ba10: 20018000 .word 0x20018000 805ba14: 20026f10 .word 0x20026f10 805ba18: 00000000 .word 0x00000000 805ba1c: 20026d00 .word 0x20026d00 { frq_1[i] = Fv * (float32_t)(i + 1); 805ba20: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805ba24: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805ba28: 3201 adds r2, #1 805ba2a: ee07 2a90 vmov s15, r2 805ba2e: eeb8 7a67 vcvt.f32.u32 s14, s15 805ba32: 4a9c ldr r2, [pc, #624] ; (805bca4 ) 805ba34: edd2 7a00 vldr s15, [r2] 805ba38: ee67 7a27 vmul.f32 s15, s14, s15 805ba3c: 009b lsls r3, r3, #2 805ba3e: f507 720a add.w r2, r7, #552 ; 0x228 805ba42: 4413 add r3, r2 805ba44: 3bf0 subs r3, #240 ; 0xf0 805ba46: edc3 7a00 vstr s15, [r3] fl = frq_1[i] / 0.48828125; // íîìåð ãàðìîíèêè âåùåñòâåííûé 805ba4a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805ba4e: 009b lsls r3, r3, #2 805ba50: f507 720a add.w r2, r7, #552 ; 0x228 805ba54: 4413 add r3, r2 805ba56: 3bf0 subs r3, #240 ; 0xf0 805ba58: ed93 7a00 vldr s14, [r3] 805ba5c: eddf 6a92 vldr s13, [pc, #584] ; 805bca8 805ba60: eec7 7a26 vdiv.f32 s15, s14, s13 805ba64: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc fl += 0.5f; 805ba68: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 805ba6c: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 805ba70: ee77 7a87 vadd.f32 s15, s15, s14 805ba74: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc jj[1] = (uint32_t) fl; // íîìåð ãàðìîíèêè öåëûé 805ba78: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 805ba7c: eefc 7ae7 vcvt.u32.f32 s15, s15 805ba80: ee17 2a90 vmov r2, s15 805ba84: f107 03bc add.w r3, r7, #188 ; 0xbc 805ba88: 605a str r2, [r3, #4] jj[0] = jj[1] - 1; if(jj[1] < 2) jj[0] = jj[1]; 805ba8a: f107 03bc add.w r3, r7, #188 ; 0xbc 805ba8e: 685b ldr r3, [r3, #4] 805ba90: 1e5a subs r2, r3, #1 805ba92: f107 03bc add.w r3, r7, #188 ; 0xbc 805ba96: 601a str r2, [r3, #0] 805ba98: f107 03bc add.w r3, r7, #188 ; 0xbc 805ba9c: 685b ldr r3, [r3, #4] 805ba9e: 2b01 cmp r3, #1 805baa0: d805 bhi.n 805baae 805baa2: f107 03bc add.w r3, r7, #188 ; 0xbc 805baa6: 685a ldr r2, [r3, #4] 805baa8: f107 03bc add.w r3, r7, #188 ; 0xbc 805baac: 601a str r2, [r3, #0] jj[2] = jj[1] + 1; if(jj[1] > 4094) jj[2] = jj[1]; 805baae: f107 03bc add.w r3, r7, #188 ; 0xbc 805bab2: 685b ldr r3, [r3, #4] 805bab4: 1c5a adds r2, r3, #1 805bab6: f107 03bc add.w r3, r7, #188 ; 0xbc 805baba: 609a str r2, [r3, #8] 805babc: f107 03bc add.w r3, r7, #188 ; 0xbc 805bac0: 685b ldr r3, [r3, #4] 805bac2: f640 72fe movw r2, #4094 ; 0xffe 805bac6: 4293 cmp r3, r2 805bac8: d905 bls.n 805bad6 805baca: f107 03bc add.w r3, r7, #188 ; 0xbc 805bace: 685a ldr r2, [r3, #4] 805bad0: f107 03bc add.w r3, r7, #188 ; 0xbc 805bad4: 609a str r2, [r3, #8] if((Freq[jj[1]]) || (Freq[jj[0]]) || (Freq[jj[2]])) 805bad6: f107 03bc add.w r3, r7, #188 ; 0xbc 805bada: 685b ldr r3, [r3, #4] 805badc: 4a73 ldr r2, [pc, #460] ; (805bcac ) 805bade: 5cd3 ldrb r3, [r2, r3] 805bae0: 2b00 cmp r3, #0 805bae2: d10d bne.n 805bb00 805bae4: f107 03bc add.w r3, r7, #188 ; 0xbc 805bae8: 681b ldr r3, [r3, #0] 805baea: 4a70 ldr r2, [pc, #448] ; (805bcac ) 805baec: 5cd3 ldrb r3, [r2, r3] 805baee: 2b00 cmp r3, #0 805baf0: d106 bne.n 805bb00 805baf2: f107 03bc add.w r3, r7, #188 ; 0xbc 805baf6: 689b ldr r3, [r3, #8] 805baf8: 4a6c ldr r2, [pc, #432] ; (805bcac ) 805bafa: 5cd3 ldrb r3, [r2, r3] 805bafc: 2b00 cmp r3, #0 805bafe: d00a beq.n 805bb16 { limit_1[i] = true; 805bb00: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805bb04: f507 728c add.w r2, r7, #280 ; 0x118 805bb08: 2101 movs r1, #1 805bb0a: 54d1 strb r1, [r2, r3] l++; 805bb0c: f8d7 3224 ldr.w r3, [r7, #548] ; 0x224 805bb10: 3301 adds r3, #1 805bb12: f8c7 3224 str.w r3, [r7, #548] ; 0x224 for(i = 0; i < 3; i++) 805bb16: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805bb1a: 3301 adds r3, #1 805bb1c: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805bb20: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805bb24: 2b02 cmp r3, #2 805bb26: f67f af7b bls.w 805ba20 } } if((l >= 1) && (limit_1[0])) 805bb2a: f8d7 3224 ldr.w r3, [r7, #548] ; 0x224 805bb2e: 2b00 cmp r3, #0 805bb30: d007 beq.n 805bb42 805bb32: f507 738c add.w r3, r7, #280 ; 0x118 805bb36: 781b ldrb r3, [r3, #0] 805bb38: 2b00 cmp r3, #0 805bb3a: d002 beq.n 805bb42 { DEFECTS[ZADIRI_TRESCHINI_NA_VNUTRENNEM_KOLCE] = true; 805bb3c: 4b5c ldr r3, [pc, #368] ; (805bcb0 ) 805bb3e: 2201 movs r2, #1 805bb40: 719a strb r2, [r3, #6] } ///////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////// //////////////////// Èçíîñ òåë êà÷åíèÿ è ñåïàðàòîðà ///////////////// memset((void *) limit, false, sizeof(limit)); 805bb42: f507 7394 add.w r3, r7, #296 ; 0x128 805bb46: 220f movs r2, #15 805bb48: 2100 movs r1, #0 805bb4a: 4618 mov r0, r3 805bb4c: f071 fa7c bl 80cd048 memset((void *) limit_1, false, sizeof(limit_1)); 805bb50: f507 738c add.w r3, r7, #280 ; 0x118 805bb54: 220f movs r2, #15 805bb56: 2100 movs r1, #0 805bb58: 4618 mov r0, r3 805bb5a: f071 fa75 bl 80cd048 arm_fill_f32(0.0f, frq, 15); 805bb5e: f507 73ba add.w r3, r7, #372 ; 0x174 805bb62: 210f movs r1, #15 805bb64: 4618 mov r0, r3 805bb66: ed9f 0a53 vldr s0, [pc, #332] ; 805bcb4 805bb6a: f06e f8cb bl 80c9d04 arm_fill_f32(0.0f, frq_1, 15); 805bb6e: f507 739c add.w r3, r7, #312 ; 0x138 805bb72: 210f movs r1, #15 805bb74: 4618 mov r0, r3 805bb76: ed9f 0a4f vldr s0, [pc, #316] ; 805bcb4 805bb7a: f06e f8c3 bl 80c9d04 k = 0; 805bb7e: 2300 movs r3, #0 805bb80: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 l = 0; 805bb84: 2300 movs r3, #0 805bb86: f8c7 3224 str.w r3, [r7, #548] ; 0x224 for(i = 0; i < 8; i++) 805bb8a: 2300 movs r3, #0 805bb8c: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805bb90: e07f b.n 805bc92 { frq[i] = Fc * (float32_t)(i + 1); 805bb92: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805bb96: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805bb9a: 3201 adds r2, #1 805bb9c: ee07 2a90 vmov s15, r2 805bba0: eeb8 7a67 vcvt.f32.u32 s14, s15 805bba4: 4a44 ldr r2, [pc, #272] ; (805bcb8 ) 805bba6: edd2 7a00 vldr s15, [r2] 805bbaa: ee67 7a27 vmul.f32 s15, s14, s15 805bbae: 009b lsls r3, r3, #2 805bbb0: f507 720a add.w r2, r7, #552 ; 0x228 805bbb4: 4413 add r3, r2 805bbb6: 3bb4 subs r3, #180 ; 0xb4 805bbb8: edc3 7a00 vstr s15, [r3] fl = frq[i] / 0.48828125; // íîìåð ãàðìîíèêè âåùåñòâåííûé 805bbbc: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805bbc0: 009b lsls r3, r3, #2 805bbc2: f507 720a add.w r2, r7, #552 ; 0x228 805bbc6: 4413 add r3, r2 805bbc8: 3bb4 subs r3, #180 ; 0xb4 805bbca: ed93 7a00 vldr s14, [r3] 805bbce: eddf 6a36 vldr s13, [pc, #216] ; 805bca8 805bbd2: eec7 7a26 vdiv.f32 s15, s14, s13 805bbd6: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc fl += 0.5f; 805bbda: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 805bbde: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 805bbe2: ee77 7a87 vadd.f32 s15, s15, s14 805bbe6: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc jj[1] = (uint32_t) fl; // íîìåð ãàðìîíèêè öåëûé 805bbea: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 805bbee: eefc 7ae7 vcvt.u32.f32 s15, s15 805bbf2: ee17 2a90 vmov r2, s15 805bbf6: f107 03bc add.w r3, r7, #188 ; 0xbc 805bbfa: 605a str r2, [r3, #4] jj[0] = jj[1] - 1; if(jj[1] < 2) jj[0] = jj[1]; 805bbfc: f107 03bc add.w r3, r7, #188 ; 0xbc 805bc00: 685b ldr r3, [r3, #4] 805bc02: 1e5a subs r2, r3, #1 805bc04: f107 03bc add.w r3, r7, #188 ; 0xbc 805bc08: 601a str r2, [r3, #0] 805bc0a: f107 03bc add.w r3, r7, #188 ; 0xbc 805bc0e: 685b ldr r3, [r3, #4] 805bc10: 2b01 cmp r3, #1 805bc12: d805 bhi.n 805bc20 805bc14: f107 03bc add.w r3, r7, #188 ; 0xbc 805bc18: 685a ldr r2, [r3, #4] 805bc1a: f107 03bc add.w r3, r7, #188 ; 0xbc 805bc1e: 601a str r2, [r3, #0] jj[2] = jj[1] + 1; if(jj[1] > 4094) jj[2] = jj[1]; 805bc20: f107 03bc add.w r3, r7, #188 ; 0xbc 805bc24: 685b ldr r3, [r3, #4] 805bc26: 1c5a adds r2, r3, #1 805bc28: f107 03bc add.w r3, r7, #188 ; 0xbc 805bc2c: 609a str r2, [r3, #8] 805bc2e: f107 03bc add.w r3, r7, #188 ; 0xbc 805bc32: 685b ldr r3, [r3, #4] 805bc34: f640 72fe movw r2, #4094 ; 0xffe 805bc38: 4293 cmp r3, r2 805bc3a: d905 bls.n 805bc48 805bc3c: f107 03bc add.w r3, r7, #188 ; 0xbc 805bc40: 685a ldr r2, [r3, #4] 805bc42: f107 03bc add.w r3, r7, #188 ; 0xbc 805bc46: 609a str r2, [r3, #8] if((Freq[jj[1]]) || (Freq[jj[0]]) || (Freq[jj[2]])) 805bc48: f107 03bc add.w r3, r7, #188 ; 0xbc 805bc4c: 685b ldr r3, [r3, #4] 805bc4e: 4a17 ldr r2, [pc, #92] ; (805bcac ) 805bc50: 5cd3 ldrb r3, [r2, r3] 805bc52: 2b00 cmp r3, #0 805bc54: d10d bne.n 805bc72 805bc56: f107 03bc add.w r3, r7, #188 ; 0xbc 805bc5a: 681b ldr r3, [r3, #0] 805bc5c: 4a13 ldr r2, [pc, #76] ; (805bcac ) 805bc5e: 5cd3 ldrb r3, [r2, r3] 805bc60: 2b00 cmp r3, #0 805bc62: d106 bne.n 805bc72 805bc64: f107 03bc add.w r3, r7, #188 ; 0xbc 805bc68: 689b ldr r3, [r3, #8] 805bc6a: 4a10 ldr r2, [pc, #64] ; (805bcac ) 805bc6c: 5cd3 ldrb r3, [r2, r3] 805bc6e: 2b00 cmp r3, #0 805bc70: d00a beq.n 805bc88 { limit[i] = true; 805bc72: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805bc76: f507 7294 add.w r2, r7, #296 ; 0x128 805bc7a: 2101 movs r1, #1 805bc7c: 54d1 strb r1, [r2, r3] k++; 805bc7e: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805bc82: 3301 adds r3, #1 805bc84: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 for(i = 0; i < 8; i++) 805bc88: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805bc8c: 3301 adds r3, #1 805bc8e: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805bc92: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805bc96: 2b07 cmp r3, #7 805bc98: f67f af7b bls.w 805bb92 } } for(i = 0; i < 8; i++) 805bc9c: 2300 movs r3, #0 805bc9e: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805bca2: e090 b.n 805bdc6 805bca4: 200261c4 .word 0x200261c4 805bca8: 3efa0000 .word 0x3efa0000 805bcac: 20018000 .word 0x20018000 805bcb0: 20026f10 .word 0x20026f10 805bcb4: 00000000 .word 0x00000000 805bcb8: 20068320 .word 0x20068320 { frq_1[i] = (Fvr * (float32_t)(i + 1)) - Fc; 805bcbc: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805bcc0: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805bcc4: 3201 adds r2, #1 805bcc6: ee07 2a90 vmov s15, r2 805bcca: eeb8 7a67 vcvt.f32.u32 s14, s15 805bcce: 4ac5 ldr r2, [pc, #788] ; (805bfe4 ) 805bcd0: edd2 7a00 vldr s15, [r2] 805bcd4: ee27 7a27 vmul.f32 s14, s14, s15 805bcd8: 4ac3 ldr r2, [pc, #780] ; (805bfe8 ) 805bcda: edd2 7a00 vldr s15, [r2] 805bcde: ee77 7a67 vsub.f32 s15, s14, s15 805bce2: 009b lsls r3, r3, #2 805bce4: f507 720a add.w r2, r7, #552 ; 0x228 805bce8: 4413 add r3, r2 805bcea: 3bf0 subs r3, #240 ; 0xf0 805bcec: edc3 7a00 vstr s15, [r3] fl = frq_1[i] / 0.48828125; // íîìåð ãàðìîíèêè âåùåñòâåííûé 805bcf0: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805bcf4: 009b lsls r3, r3, #2 805bcf6: f507 720a add.w r2, r7, #552 ; 0x228 805bcfa: 4413 add r3, r2 805bcfc: 3bf0 subs r3, #240 ; 0xf0 805bcfe: ed93 7a00 vldr s14, [r3] 805bd02: eddf 6aba vldr s13, [pc, #744] ; 805bfec 805bd06: eec7 7a26 vdiv.f32 s15, s14, s13 805bd0a: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc fl += 0.5f; 805bd0e: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 805bd12: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 805bd16: ee77 7a87 vadd.f32 s15, s15, s14 805bd1a: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc jj[1] = (uint32_t) fl; // íîìåð ãàðìîíèêè öåëûé 805bd1e: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 805bd22: eefc 7ae7 vcvt.u32.f32 s15, s15 805bd26: ee17 2a90 vmov r2, s15 805bd2a: f107 03bc add.w r3, r7, #188 ; 0xbc 805bd2e: 605a str r2, [r3, #4] jj[0] = jj[1] - 1; if(jj[1] < 2) jj[0] = jj[1]; 805bd30: f107 03bc add.w r3, r7, #188 ; 0xbc 805bd34: 685b ldr r3, [r3, #4] 805bd36: 1e5a subs r2, r3, #1 805bd38: f107 03bc add.w r3, r7, #188 ; 0xbc 805bd3c: 601a str r2, [r3, #0] 805bd3e: f107 03bc add.w r3, r7, #188 ; 0xbc 805bd42: 685b ldr r3, [r3, #4] 805bd44: 2b01 cmp r3, #1 805bd46: d805 bhi.n 805bd54 805bd48: f107 03bc add.w r3, r7, #188 ; 0xbc 805bd4c: 685a ldr r2, [r3, #4] 805bd4e: f107 03bc add.w r3, r7, #188 ; 0xbc 805bd52: 601a str r2, [r3, #0] jj[2] = jj[1] + 1; if(jj[1] > 4094) jj[2] = jj[1]; 805bd54: f107 03bc add.w r3, r7, #188 ; 0xbc 805bd58: 685b ldr r3, [r3, #4] 805bd5a: 1c5a adds r2, r3, #1 805bd5c: f107 03bc add.w r3, r7, #188 ; 0xbc 805bd60: 609a str r2, [r3, #8] 805bd62: f107 03bc add.w r3, r7, #188 ; 0xbc 805bd66: 685b ldr r3, [r3, #4] 805bd68: f640 72fe movw r2, #4094 ; 0xffe 805bd6c: 4293 cmp r3, r2 805bd6e: d905 bls.n 805bd7c 805bd70: f107 03bc add.w r3, r7, #188 ; 0xbc 805bd74: 685a ldr r2, [r3, #4] 805bd76: f107 03bc add.w r3, r7, #188 ; 0xbc 805bd7a: 609a str r2, [r3, #8] if((Freq[jj[1]]) || (Freq[jj[0]]) || (Freq[jj[2]])) 805bd7c: f107 03bc add.w r3, r7, #188 ; 0xbc 805bd80: 685b ldr r3, [r3, #4] 805bd82: 4a9b ldr r2, [pc, #620] ; (805bff0 ) 805bd84: 5cd3 ldrb r3, [r2, r3] 805bd86: 2b00 cmp r3, #0 805bd88: d10d bne.n 805bda6 805bd8a: f107 03bc add.w r3, r7, #188 ; 0xbc 805bd8e: 681b ldr r3, [r3, #0] 805bd90: 4a97 ldr r2, [pc, #604] ; (805bff0 ) 805bd92: 5cd3 ldrb r3, [r2, r3] 805bd94: 2b00 cmp r3, #0 805bd96: d106 bne.n 805bda6 805bd98: f107 03bc add.w r3, r7, #188 ; 0xbc 805bd9c: 689b ldr r3, [r3, #8] 805bd9e: 4a94 ldr r2, [pc, #592] ; (805bff0 ) 805bda0: 5cd3 ldrb r3, [r2, r3] 805bda2: 2b00 cmp r3, #0 805bda4: d00a beq.n 805bdbc { limit_1[i] = true; 805bda6: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805bdaa: f507 728c add.w r2, r7, #280 ; 0x118 805bdae: 2101 movs r1, #1 805bdb0: 54d1 strb r1, [r2, r3] l++; 805bdb2: f8d7 3224 ldr.w r3, [r7, #548] ; 0x224 805bdb6: 3301 adds r3, #1 805bdb8: f8c7 3224 str.w r3, [r7, #548] ; 0x224 for(i = 0; i < 8; i++) 805bdbc: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805bdc0: 3301 adds r3, #1 805bdc2: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805bdc6: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805bdca: 2b07 cmp r3, #7 805bdcc: f67f af76 bls.w 805bcbc } } if((k >= 1) && ((limit[0]) || (limit[1]))) 805bdd0: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805bdd4: 2b00 cmp r3, #0 805bdd6: d00d beq.n 805bdf4 805bdd8: f507 7394 add.w r3, r7, #296 ; 0x128 805bddc: 781b ldrb r3, [r3, #0] 805bdde: 2b00 cmp r3, #0 805bde0: d104 bne.n 805bdec 805bde2: f507 7394 add.w r3, r7, #296 ; 0x128 805bde6: 785b ldrb r3, [r3, #1] 805bde8: 2b00 cmp r3, #0 805bdea: d003 beq.n 805bdf4 { DEFECTS[IZNOS_TEL_KACHENIYA_I_SEPARATORA] = true; 805bdec: 4b81 ldr r3, [pc, #516] ; (805bff4 ) 805bdee: 2201 movs r2, #1 805bdf0: 71da strb r2, [r3, #7] 805bdf2: e010 b.n 805be16 } else if((l >= 1) && ((limit_1[0]) || (limit_1[1]))) 805bdf4: f8d7 3224 ldr.w r3, [r7, #548] ; 0x224 805bdf8: 2b00 cmp r3, #0 805bdfa: d00c beq.n 805be16 805bdfc: f507 738c add.w r3, r7, #280 ; 0x118 805be00: 781b ldrb r3, [r3, #0] 805be02: 2b00 cmp r3, #0 805be04: d104 bne.n 805be10 805be06: f507 738c add.w r3, r7, #280 ; 0x118 805be0a: 785b ldrb r3, [r3, #1] 805be0c: 2b00 cmp r3, #0 805be0e: d002 beq.n 805be16 { DEFECTS[IZNOS_TEL_KACHENIYA_I_SEPARATORA] = true; 805be10: 4b78 ldr r3, [pc, #480] ; (805bff4 ) 805be12: 2201 movs r2, #1 805be14: 71da strb r2, [r3, #7] } ///////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////// //////////////////// Ãàêîâèíû, ñêîëû íà òåëàõ êà÷åíèÿ /////////////// memset((void *) limit, false, sizeof(limit)); 805be16: f507 7394 add.w r3, r7, #296 ; 0x128 805be1a: 220f movs r2, #15 805be1c: 2100 movs r1, #0 805be1e: 4618 mov r0, r3 805be20: f071 f912 bl 80cd048 memset((void *) limit_1, false, sizeof(limit_1)); 805be24: f507 738c add.w r3, r7, #280 ; 0x118 805be28: 220f movs r2, #15 805be2a: 2100 movs r1, #0 805be2c: 4618 mov r0, r3 805be2e: f071 f90b bl 80cd048 arm_fill_f32(0.0f, frq, 15); 805be32: f507 73ba add.w r3, r7, #372 ; 0x174 805be36: 210f movs r1, #15 805be38: 4618 mov r0, r3 805be3a: ed9f 0a6f vldr s0, [pc, #444] ; 805bff8 805be3e: f06d ff61 bl 80c9d04 arm_fill_f32(0.0f, frq_1, 15); 805be42: f507 739c add.w r3, r7, #312 ; 0x138 805be46: 210f movs r1, #15 805be48: 4618 mov r0, r3 805be4a: ed9f 0a6b vldr s0, [pc, #428] ; 805bff8 805be4e: f06d ff59 bl 80c9d04 k = 0; 805be52: 2300 movs r3, #0 805be54: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 l = 0; 805be58: 2300 movs r3, #0 805be5a: f8c7 3224 str.w r3, [r7, #548] ; 0x224 for(i = 0; i < 6; i++) 805be5e: 2300 movs r3, #0 805be60: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805be64: e07f b.n 805bf66 { frq[i] = Ftk * (float32_t)(i + 1); 805be66: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805be6a: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805be6e: 3201 adds r2, #1 805be70: ee07 2a90 vmov s15, r2 805be74: eeb8 7a67 vcvt.f32.u32 s14, s15 805be78: 4a60 ldr r2, [pc, #384] ; (805bffc ) 805be7a: edd2 7a00 vldr s15, [r2] 805be7e: ee67 7a27 vmul.f32 s15, s14, s15 805be82: 009b lsls r3, r3, #2 805be84: f507 720a add.w r2, r7, #552 ; 0x228 805be88: 4413 add r3, r2 805be8a: 3bb4 subs r3, #180 ; 0xb4 805be8c: edc3 7a00 vstr s15, [r3] fl = frq[i] / 0.48828125; // íîìåð ãàðìîíèêè âåùåñòâåííûé 805be90: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805be94: 009b lsls r3, r3, #2 805be96: f507 720a add.w r2, r7, #552 ; 0x228 805be9a: 4413 add r3, r2 805be9c: 3bb4 subs r3, #180 ; 0xb4 805be9e: ed93 7a00 vldr s14, [r3] 805bea2: eddf 6a52 vldr s13, [pc, #328] ; 805bfec 805bea6: eec7 7a26 vdiv.f32 s15, s14, s13 805beaa: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc fl += 0.5f; 805beae: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 805beb2: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 805beb6: ee77 7a87 vadd.f32 s15, s15, s14 805beba: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc jj[1] = (uint32_t) fl; // íîìåð ãàðìîíèêè öåëûé 805bebe: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 805bec2: eefc 7ae7 vcvt.u32.f32 s15, s15 805bec6: ee17 2a90 vmov r2, s15 805beca: f107 03bc add.w r3, r7, #188 ; 0xbc 805bece: 605a str r2, [r3, #4] jj[0] = jj[1] - 1; if(jj[1] < 2) jj[0] = jj[1]; 805bed0: f107 03bc add.w r3, r7, #188 ; 0xbc 805bed4: 685b ldr r3, [r3, #4] 805bed6: 1e5a subs r2, r3, #1 805bed8: f107 03bc add.w r3, r7, #188 ; 0xbc 805bedc: 601a str r2, [r3, #0] 805bede: f107 03bc add.w r3, r7, #188 ; 0xbc 805bee2: 685b ldr r3, [r3, #4] 805bee4: 2b01 cmp r3, #1 805bee6: d805 bhi.n 805bef4 805bee8: f107 03bc add.w r3, r7, #188 ; 0xbc 805beec: 685a ldr r2, [r3, #4] 805beee: f107 03bc add.w r3, r7, #188 ; 0xbc 805bef2: 601a str r2, [r3, #0] jj[2] = jj[1] + 1; if(jj[1] > 4094) jj[2] = jj[1]; 805bef4: f107 03bc add.w r3, r7, #188 ; 0xbc 805bef8: 685b ldr r3, [r3, #4] 805befa: 1c5a adds r2, r3, #1 805befc: f107 03bc add.w r3, r7, #188 ; 0xbc 805bf00: 609a str r2, [r3, #8] 805bf02: f107 03bc add.w r3, r7, #188 ; 0xbc 805bf06: 685b ldr r3, [r3, #4] 805bf08: f640 72fe movw r2, #4094 ; 0xffe 805bf0c: 4293 cmp r3, r2 805bf0e: d905 bls.n 805bf1c 805bf10: f107 03bc add.w r3, r7, #188 ; 0xbc 805bf14: 685a ldr r2, [r3, #4] 805bf16: f107 03bc add.w r3, r7, #188 ; 0xbc 805bf1a: 609a str r2, [r3, #8] if((Freq[jj[1]]) || (Freq[jj[0]]) || (Freq[jj[2]])) 805bf1c: f107 03bc add.w r3, r7, #188 ; 0xbc 805bf20: 685b ldr r3, [r3, #4] 805bf22: 4a33 ldr r2, [pc, #204] ; (805bff0 ) 805bf24: 5cd3 ldrb r3, [r2, r3] 805bf26: 2b00 cmp r3, #0 805bf28: d10d bne.n 805bf46 805bf2a: f107 03bc add.w r3, r7, #188 ; 0xbc 805bf2e: 681b ldr r3, [r3, #0] 805bf30: 4a2f ldr r2, [pc, #188] ; (805bff0 ) 805bf32: 5cd3 ldrb r3, [r2, r3] 805bf34: 2b00 cmp r3, #0 805bf36: d106 bne.n 805bf46 805bf38: f107 03bc add.w r3, r7, #188 ; 0xbc 805bf3c: 689b ldr r3, [r3, #8] 805bf3e: 4a2c ldr r2, [pc, #176] ; (805bff0 ) 805bf40: 5cd3 ldrb r3, [r2, r3] 805bf42: 2b00 cmp r3, #0 805bf44: d00a beq.n 805bf5c { limit[i] = true; 805bf46: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805bf4a: f507 7294 add.w r2, r7, #296 ; 0x128 805bf4e: 2101 movs r1, #1 805bf50: 54d1 strb r1, [r2, r3] k++; 805bf52: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805bf56: 3301 adds r3, #1 805bf58: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 for(i = 0; i < 6; i++) 805bf5c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805bf60: 3301 adds r3, #1 805bf62: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805bf66: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805bf6a: 2b05 cmp r3, #5 805bf6c: f67f af7b bls.w 805be66 } } if((k >= 1) && ((limit[0]) || (limit[1]))) 805bf70: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805bf74: 2b00 cmp r3, #0 805bf76: d00c beq.n 805bf92 805bf78: f507 7394 add.w r3, r7, #296 ; 0x128 805bf7c: 781b ldrb r3, [r3, #0] 805bf7e: 2b00 cmp r3, #0 805bf80: d104 bne.n 805bf8c 805bf82: f507 7394 add.w r3, r7, #296 ; 0x128 805bf86: 785b ldrb r3, [r3, #1] 805bf88: 2b00 cmp r3, #0 805bf8a: d002 beq.n 805bf92 { DEFECTS[RAKOVINI_SKOLI_NA_TELAH_KACHENIYA] = true; 805bf8c: 4b19 ldr r3, [pc, #100] ; (805bff4 ) 805bf8e: 2201 movs r2, #1 805bf90: 721a strb r2, [r3, #8] } ///////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////// //////////////////// Ãåóðàâíîâåøåííîñòü ðîòîðà ////////////////////// memset((void *) limit, false, sizeof(limit)); 805bf92: f507 7394 add.w r3, r7, #296 ; 0x128 805bf96: 220f movs r2, #15 805bf98: 2100 movs r1, #0 805bf9a: 4618 mov r0, r3 805bf9c: f071 f854 bl 80cd048 memset((void *) limit_1, false, sizeof(limit_1)); 805bfa0: f507 738c add.w r3, r7, #280 ; 0x118 805bfa4: 220f movs r2, #15 805bfa6: 2100 movs r1, #0 805bfa8: 4618 mov r0, r3 805bfaa: f071 f84d bl 80cd048 arm_fill_f32(0.0f, frq, 15); 805bfae: f507 73ba add.w r3, r7, #372 ; 0x174 805bfb2: 210f movs r1, #15 805bfb4: 4618 mov r0, r3 805bfb6: ed9f 0a10 vldr s0, [pc, #64] ; 805bff8 805bfba: f06d fea3 bl 80c9d04 arm_fill_f32(0.0f, frq_1, 15); 805bfbe: f507 739c add.w r3, r7, #312 ; 0x138 805bfc2: 210f movs r1, #15 805bfc4: 4618 mov r0, r3 805bfc6: ed9f 0a0c vldr s0, [pc, #48] ; 805bff8 805bfca: f06d fe9b bl 80c9d04 k = 0; 805bfce: 2300 movs r3, #0 805bfd0: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 l = 0; 805bfd4: 2300 movs r3, #0 805bfd6: f8c7 3224 str.w r3, [r7, #548] ; 0x224 for(i = 0; i < 15; i++) 805bfda: 2300 movs r3, #0 805bfdc: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805bfe0: e08e b.n 805c100 805bfe2: bf00 nop 805bfe4: 20026d00 .word 0x20026d00 805bfe8: 20068320 .word 0x20068320 805bfec: 3efa0000 .word 0x3efa0000 805bff0: 20018000 .word 0x20018000 805bff4: 20026f10 .word 0x20026f10 805bff8: 00000000 .word 0x00000000 805bffc: 20037a40 .word 0x20037a40 { frq[i] = Fvr * (float32_t)(i + 1); 805c000: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805c004: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805c008: 3201 adds r2, #1 805c00a: ee07 2a90 vmov s15, r2 805c00e: eeb8 7a67 vcvt.f32.u32 s14, s15 805c012: 4a9c ldr r2, [pc, #624] ; (805c284 ) 805c014: edd2 7a00 vldr s15, [r2] 805c018: ee67 7a27 vmul.f32 s15, s14, s15 805c01c: 009b lsls r3, r3, #2 805c01e: f507 720a add.w r2, r7, #552 ; 0x228 805c022: 4413 add r3, r2 805c024: 3bb4 subs r3, #180 ; 0xb4 805c026: edc3 7a00 vstr s15, [r3] fl = frq[i] / 0.48828125; // íîìåð ãàðìîíèêè âåùåñòâåííûé 805c02a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805c02e: 009b lsls r3, r3, #2 805c030: f507 720a add.w r2, r7, #552 ; 0x228 805c034: 4413 add r3, r2 805c036: 3bb4 subs r3, #180 ; 0xb4 805c038: ed93 7a00 vldr s14, [r3] 805c03c: eddf 6a92 vldr s13, [pc, #584] ; 805c288 805c040: eec7 7a26 vdiv.f32 s15, s14, s13 805c044: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc fl += 0.5f; 805c048: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 805c04c: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 805c050: ee77 7a87 vadd.f32 s15, s15, s14 805c054: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc jj[1] = (uint32_t) fl; // íîìåð ãàðìîíèêè öåëûé 805c058: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 805c05c: eefc 7ae7 vcvt.u32.f32 s15, s15 805c060: ee17 2a90 vmov r2, s15 805c064: f107 03bc add.w r3, r7, #188 ; 0xbc 805c068: 605a str r2, [r3, #4] jj[0] = jj[1] - 1; if(jj[1] < 2) jj[0] = jj[1]; 805c06a: f107 03bc add.w r3, r7, #188 ; 0xbc 805c06e: 685b ldr r3, [r3, #4] 805c070: 1e5a subs r2, r3, #1 805c072: f107 03bc add.w r3, r7, #188 ; 0xbc 805c076: 601a str r2, [r3, #0] 805c078: f107 03bc add.w r3, r7, #188 ; 0xbc 805c07c: 685b ldr r3, [r3, #4] 805c07e: 2b01 cmp r3, #1 805c080: d805 bhi.n 805c08e 805c082: f107 03bc add.w r3, r7, #188 ; 0xbc 805c086: 685a ldr r2, [r3, #4] 805c088: f107 03bc add.w r3, r7, #188 ; 0xbc 805c08c: 601a str r2, [r3, #0] jj[2] = jj[1] + 1; if(jj[1] > 4094) jj[2] = jj[1]; 805c08e: f107 03bc add.w r3, r7, #188 ; 0xbc 805c092: 685b ldr r3, [r3, #4] 805c094: 1c5a adds r2, r3, #1 805c096: f107 03bc add.w r3, r7, #188 ; 0xbc 805c09a: 609a str r2, [r3, #8] 805c09c: f107 03bc add.w r3, r7, #188 ; 0xbc 805c0a0: 685b ldr r3, [r3, #4] 805c0a2: f640 72fe movw r2, #4094 ; 0xffe 805c0a6: 4293 cmp r3, r2 805c0a8: d905 bls.n 805c0b6 805c0aa: f107 03bc add.w r3, r7, #188 ; 0xbc 805c0ae: 685a ldr r2, [r3, #4] 805c0b0: f107 03bc add.w r3, r7, #188 ; 0xbc 805c0b4: 609a str r2, [r3, #8] if((Freq[jj[1]]) || (Freq[jj[0]]) || (Freq[jj[2]])) 805c0b6: f107 03bc add.w r3, r7, #188 ; 0xbc 805c0ba: 685b ldr r3, [r3, #4] 805c0bc: 4a73 ldr r2, [pc, #460] ; (805c28c ) 805c0be: 5cd3 ldrb r3, [r2, r3] 805c0c0: 2b00 cmp r3, #0 805c0c2: d10d bne.n 805c0e0 805c0c4: f107 03bc add.w r3, r7, #188 ; 0xbc 805c0c8: 681b ldr r3, [r3, #0] 805c0ca: 4a70 ldr r2, [pc, #448] ; (805c28c ) 805c0cc: 5cd3 ldrb r3, [r2, r3] 805c0ce: 2b00 cmp r3, #0 805c0d0: d106 bne.n 805c0e0 805c0d2: f107 03bc add.w r3, r7, #188 ; 0xbc 805c0d6: 689b ldr r3, [r3, #8] 805c0d8: 4a6c ldr r2, [pc, #432] ; (805c28c ) 805c0da: 5cd3 ldrb r3, [r2, r3] 805c0dc: 2b00 cmp r3, #0 805c0de: d00a beq.n 805c0f6 { limit[i] = true; 805c0e0: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805c0e4: f507 7294 add.w r2, r7, #296 ; 0x128 805c0e8: 2101 movs r1, #1 805c0ea: 54d1 strb r1, [r2, r3] k++; 805c0ec: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805c0f0: 3301 adds r3, #1 805c0f2: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 for(i = 0; i < 15; i++) 805c0f6: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805c0fa: 3301 adds r3, #1 805c0fc: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805c100: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805c104: 2b0e cmp r3, #14 805c106: f67f af7b bls.w 805c000 } } if((k == 1) && ((Freq[jj[1]]) || (Freq[jj[0]]) || (Freq[jj[2]]))) 805c10a: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805c10e: 2b01 cmp r3, #1 805c110: d117 bne.n 805c142 805c112: f107 03bc add.w r3, r7, #188 ; 0xbc 805c116: 685b ldr r3, [r3, #4] 805c118: 4a5c ldr r2, [pc, #368] ; (805c28c ) 805c11a: 5cd3 ldrb r3, [r2, r3] 805c11c: 2b00 cmp r3, #0 805c11e: d10d bne.n 805c13c 805c120: f107 03bc add.w r3, r7, #188 ; 0xbc 805c124: 681b ldr r3, [r3, #0] 805c126: 4a59 ldr r2, [pc, #356] ; (805c28c ) 805c128: 5cd3 ldrb r3, [r2, r3] 805c12a: 2b00 cmp r3, #0 805c12c: d106 bne.n 805c13c 805c12e: f107 03bc add.w r3, r7, #188 ; 0xbc 805c132: 689b ldr r3, [r3, #8] 805c134: 4a55 ldr r2, [pc, #340] ; (805c28c ) 805c136: 5cd3 ldrb r3, [r2, r3] 805c138: 2b00 cmp r3, #0 805c13a: d002 beq.n 805c142 { DEFECTS[NEURAVNOVESHENNOST_ROTORA] = true; 805c13c: 4b54 ldr r3, [pc, #336] ; (805c290 ) 805c13e: 2201 movs r2, #1 805c140: 725a strb r2, [r3, #9] } ///////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////// //////////////////// Äåôåêòû óçëîâ êðåïëåíèÿ //////////////////////// memset((void *) limit, false, sizeof(limit)); 805c142: f507 7394 add.w r3, r7, #296 ; 0x128 805c146: 220f movs r2, #15 805c148: 2100 movs r1, #0 805c14a: 4618 mov r0, r3 805c14c: f070 ff7c bl 80cd048 memset((void *) limit_1, false, sizeof(limit_1)); 805c150: f507 738c add.w r3, r7, #280 ; 0x118 805c154: 220f movs r2, #15 805c156: 2100 movs r1, #0 805c158: 4618 mov r0, r3 805c15a: f070 ff75 bl 80cd048 arm_fill_f32(0.0f, frq, 15); 805c15e: f507 73ba add.w r3, r7, #372 ; 0x174 805c162: 210f movs r1, #15 805c164: 4618 mov r0, r3 805c166: ed9f 0a4b vldr s0, [pc, #300] ; 805c294 805c16a: f06d fdcb bl 80c9d04 arm_fill_f32(0.0f, frq_1, 15); 805c16e: f507 739c add.w r3, r7, #312 ; 0x138 805c172: 210f movs r1, #15 805c174: 4618 mov r0, r3 805c176: ed9f 0a47 vldr s0, [pc, #284] ; 805c294 805c17a: f06d fdc3 bl 80c9d04 k = 0; 805c17e: 2300 movs r3, #0 805c180: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 l = 0; 805c184: 2300 movs r3, #0 805c186: f8c7 3224 str.w r3, [r7, #548] ; 0x224 frq[0] = Fvr / 2; 805c18a: 4b3e ldr r3, [pc, #248] ; (805c284 ) 805c18c: ed93 7a00 vldr s14, [r3] 805c190: eef0 6a00 vmov.f32 s13, #0 ; 0x40000000 2.0 805c194: eec7 7a26 vdiv.f32 s15, s14, s13 805c198: edc7 7a5d vstr s15, [r7, #372] ; 0x174 fl = frq[0] / 0.48828125; // íîìåð ãàðìîíèêè âåùåñòâåííûé 805c19c: ed97 7a5d vldr s14, [r7, #372] ; 0x174 805c1a0: eddf 6a39 vldr s13, [pc, #228] ; 805c288 805c1a4: eec7 7a26 vdiv.f32 s15, s14, s13 805c1a8: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc fl += 0.5f; 805c1ac: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 805c1b0: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 805c1b4: ee77 7a87 vadd.f32 s15, s15, s14 805c1b8: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc j = (uint32_t) fl; // íîìåð ãàðìîíèêè öåëûé 805c1bc: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 805c1c0: eefc 7ae7 vcvt.u32.f32 s15, s15 805c1c4: ee17 3a90 vmov r3, s15 805c1c8: f8c7 31cc str.w r3, [r7, #460] ; 0x1cc k = 1; 805c1cc: 2301 movs r3, #1 805c1ce: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 fs = ScrA_f32(1) - ScrA_f32(j); 805c1d2: 4b31 ldr r3, [pc, #196] ; (805c298 ) 805c1d4: ed93 7a00 vldr s14, [r3] 805c1d8: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 805c1dc: 009a lsls r2, r3, #2 805c1de: 4b2f ldr r3, [pc, #188] ; (805c29c ) 805c1e0: 4413 add r3, r2 805c1e2: edd3 7a00 vldr s15, [r3] 805c1e6: ee77 7a67 vsub.f32 s15, s14, s15 805c1ea: edc7 7a6e vstr s15, [r7, #440] ; 0x1b8 if(fs > 0) 805c1ee: edd7 7a6e vldr s15, [r7, #440] ; 0x1b8 805c1f2: eef5 7ac0 vcmpe.f32 s15, #0.0 805c1f6: eef1 fa10 vmrs APSR_nzcv, fpscr 805c1fa: dd1b ble.n 805c234 { fs = fs / ((float32_t) j * 0.48828125f); 805c1fc: edd7 6a6e vldr s13, [r7, #440] ; 0x1b8 805c200: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 805c204: ee07 3a90 vmov s15, r3 805c208: eef8 7a67 vcvt.f32.u32 s15, s15 805c20c: ed9f 7a1e vldr s14, [pc, #120] ; 805c288 805c210: ee27 7a87 vmul.f32 s14, s15, s14 805c214: eec6 7a87 vdiv.f32 s15, s13, s14 805c218: edc7 7a6e vstr s15, [r7, #440] ; 0x1b8 if(fs > 2.0f) { 805c21c: edd7 7a6e vldr s15, [r7, #440] ; 0x1b8 805c220: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 805c224: eef4 7ac7 vcmpe.f32 s15, s14 805c228: eef1 fa10 vmrs APSR_nzcv, fpscr 805c22c: dd02 ble.n 805c234 DEFECTS[DEFECTI_UZLOV_KREPLENIYA] = true; 805c22e: 4b18 ldr r3, [pc, #96] ; (805c290 ) 805c230: 2201 movs r2, #1 805c232: 729a strb r2, [r3, #10] } } ///////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////// ////////////////////////// Ãåñîîñíîñòü ////////////////////////////// memset((void *) limit, false, sizeof(limit)); 805c234: f507 7394 add.w r3, r7, #296 ; 0x128 805c238: 220f movs r2, #15 805c23a: 2100 movs r1, #0 805c23c: 4618 mov r0, r3 805c23e: f070 ff03 bl 80cd048 memset((void *) limit_1, false, sizeof(limit_1)); 805c242: f507 738c add.w r3, r7, #280 ; 0x118 805c246: 220f movs r2, #15 805c248: 2100 movs r1, #0 805c24a: 4618 mov r0, r3 805c24c: f070 fefc bl 80cd048 arm_fill_f32(0.0f, frq, 15); 805c250: f507 73ba add.w r3, r7, #372 ; 0x174 805c254: 210f movs r1, #15 805c256: 4618 mov r0, r3 805c258: ed9f 0a0e vldr s0, [pc, #56] ; 805c294 805c25c: f06d fd52 bl 80c9d04 arm_fill_f32(0.0f, frq_1, 15); 805c260: f507 739c add.w r3, r7, #312 ; 0x138 805c264: 210f movs r1, #15 805c266: 4618 mov r0, r3 805c268: ed9f 0a0a vldr s0, [pc, #40] ; 805c294 805c26c: f06d fd4a bl 80c9d04 k = 0; 805c270: 2300 movs r3, #0 805c272: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 l = 0; 805c276: 2300 movs r3, #0 805c278: f8c7 3224 str.w r3, [r7, #548] ; 0x224 for(i = 0; i < 15; i++) 805c27c: 2300 movs r3, #0 805c27e: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805c282: e08d b.n 805c3a0 805c284: 20026d00 .word 0x20026d00 805c288: 3efa0000 .word 0x3efa0000 805c28c: 20018000 .word 0x20018000 805c290: 20026f10 .word 0x20026f10 805c294: 00000000 .word 0x00000000 805c298: 64080004 .word 0x64080004 805c29c: 64080000 .word 0x64080000 { frq[i] = Fvr * (float32_t)(i + 1); 805c2a0: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805c2a4: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805c2a8: 3201 adds r2, #1 805c2aa: ee07 2a90 vmov s15, r2 805c2ae: eeb8 7a67 vcvt.f32.u32 s14, s15 805c2b2: 4a75 ldr r2, [pc, #468] ; (805c488 ) 805c2b4: edd2 7a00 vldr s15, [r2] 805c2b8: ee67 7a27 vmul.f32 s15, s14, s15 805c2bc: 009b lsls r3, r3, #2 805c2be: f507 720a add.w r2, r7, #552 ; 0x228 805c2c2: 4413 add r3, r2 805c2c4: 3bb4 subs r3, #180 ; 0xb4 805c2c6: edc3 7a00 vstr s15, [r3] fl = frq[i] / 0.48828125; // íîìåð ãàðìîíèêè âåùåñòâåííûé 805c2ca: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805c2ce: 009b lsls r3, r3, #2 805c2d0: f507 720a add.w r2, r7, #552 ; 0x228 805c2d4: 4413 add r3, r2 805c2d6: 3bb4 subs r3, #180 ; 0xb4 805c2d8: ed93 7a00 vldr s14, [r3] 805c2dc: eddf 6a6b vldr s13, [pc, #428] ; 805c48c 805c2e0: eec7 7a26 vdiv.f32 s15, s14, s13 805c2e4: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc fl += 0.5f; 805c2e8: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 805c2ec: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 805c2f0: ee77 7a87 vadd.f32 s15, s15, s14 805c2f4: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc jj[1] = (uint32_t) fl; // íîìåð ãàðìîíèêè öåëûé 805c2f8: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 805c2fc: eefc 7ae7 vcvt.u32.f32 s15, s15 805c300: ee17 2a90 vmov r2, s15 805c304: f107 03bc add.w r3, r7, #188 ; 0xbc 805c308: 605a str r2, [r3, #4] jj[0] = jj[1] - 1; if(jj[1] < 2) jj[0] = jj[1]; 805c30a: f107 03bc add.w r3, r7, #188 ; 0xbc 805c30e: 685b ldr r3, [r3, #4] 805c310: 1e5a subs r2, r3, #1 805c312: f107 03bc add.w r3, r7, #188 ; 0xbc 805c316: 601a str r2, [r3, #0] 805c318: f107 03bc add.w r3, r7, #188 ; 0xbc 805c31c: 685b ldr r3, [r3, #4] 805c31e: 2b01 cmp r3, #1 805c320: d805 bhi.n 805c32e 805c322: f107 03bc add.w r3, r7, #188 ; 0xbc 805c326: 685a ldr r2, [r3, #4] 805c328: f107 03bc add.w r3, r7, #188 ; 0xbc 805c32c: 601a str r2, [r3, #0] jj[2] = jj[1] + 1; if(jj[1] > 4094) jj[2] = jj[1]; 805c32e: f107 03bc add.w r3, r7, #188 ; 0xbc 805c332: 685b ldr r3, [r3, #4] 805c334: 1c5a adds r2, r3, #1 805c336: f107 03bc add.w r3, r7, #188 ; 0xbc 805c33a: 609a str r2, [r3, #8] 805c33c: f107 03bc add.w r3, r7, #188 ; 0xbc 805c340: 685b ldr r3, [r3, #4] 805c342: f640 72fe movw r2, #4094 ; 0xffe 805c346: 4293 cmp r3, r2 805c348: d905 bls.n 805c356 805c34a: f107 03bc add.w r3, r7, #188 ; 0xbc 805c34e: 685a ldr r2, [r3, #4] 805c350: f107 03bc add.w r3, r7, #188 ; 0xbc 805c354: 609a str r2, [r3, #8] if((Freq[jj[1]]) || (Freq[jj[0]]) || (Freq[jj[2]])) 805c356: f107 03bc add.w r3, r7, #188 ; 0xbc 805c35a: 685b ldr r3, [r3, #4] 805c35c: 4a4c ldr r2, [pc, #304] ; (805c490 ) 805c35e: 5cd3 ldrb r3, [r2, r3] 805c360: 2b00 cmp r3, #0 805c362: d10d bne.n 805c380 805c364: f107 03bc add.w r3, r7, #188 ; 0xbc 805c368: 681b ldr r3, [r3, #0] 805c36a: 4a49 ldr r2, [pc, #292] ; (805c490 ) 805c36c: 5cd3 ldrb r3, [r2, r3] 805c36e: 2b00 cmp r3, #0 805c370: d106 bne.n 805c380 805c372: f107 03bc add.w r3, r7, #188 ; 0xbc 805c376: 689b ldr r3, [r3, #8] 805c378: 4a45 ldr r2, [pc, #276] ; (805c490 ) 805c37a: 5cd3 ldrb r3, [r2, r3] 805c37c: 2b00 cmp r3, #0 805c37e: d00a beq.n 805c396 { limit[i] = true; 805c380: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805c384: f507 7294 add.w r2, r7, #296 ; 0x128 805c388: 2101 movs r1, #1 805c38a: 54d1 strb r1, [r2, r3] k++; 805c38c: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805c390: 3301 adds r3, #1 805c392: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 for(i = 0; i < 15; i++) 805c396: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805c39a: 3301 adds r3, #1 805c39c: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805c3a0: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805c3a4: 2b0e cmp r3, #14 805c3a6: f67f af7b bls.w 805c2a0 } } if((k >= 8) && ((limit[0]) || (limit[1]))) 805c3aa: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805c3ae: 2b07 cmp r3, #7 805c3b0: d971 bls.n 805c496 805c3b2: f507 7394 add.w r3, r7, #296 ; 0x128 805c3b6: 781b ldrb r3, [r3, #0] 805c3b8: 2b00 cmp r3, #0 805c3ba: d104 bne.n 805c3c6 805c3bc: f507 7394 add.w r3, r7, #296 ; 0x128 805c3c0: 785b ldrb r3, [r3, #1] 805c3c2: 2b00 cmp r3, #0 805c3c4: d067 beq.n 805c496 { k = 0; 805c3c6: 2300 movs r3, #0 805c3c8: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 l = 0; 805c3cc: 2300 movs r3, #0 805c3ce: f8c7 3224 str.w r3, [r7, #548] ; 0x224 if(limit[0]) 805c3d2: f507 7394 add.w r3, r7, #296 ; 0x128 805c3d6: 781b ldrb r3, [r3, #0] 805c3d8: 2b00 cmp r3, #0 805c3da: d026 beq.n 805c42a { for(i = 0; i < 15; i++) 805c3dc: 2300 movs r3, #0 805c3de: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805c3e2: e01d b.n 805c420 { if(limit[i]) 805c3e4: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805c3e8: f507 7294 add.w r2, r7, #296 ; 0x128 805c3ec: 5cd3 ldrb r3, [r2, r3] 805c3ee: 2b00 cmp r3, #0 805c3f0: d008 beq.n 805c404 { k++; 805c3f2: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805c3f6: 3301 adds r3, #1 805c3f8: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 l = 0; 805c3fc: 2300 movs r3, #0 805c3fe: f8c7 3224 str.w r3, [r7, #548] ; 0x224 805c402: e004 b.n 805c40e } else l++; 805c404: f8d7 3224 ldr.w r3, [r7, #548] ; 0x224 805c408: 3301 adds r3, #1 805c40a: f8c7 3224 str.w r3, [r7, #548] ; 0x224 if(l >= 2) 805c40e: f8d7 3224 ldr.w r3, [r7, #548] ; 0x224 805c412: 2b01 cmp r3, #1 805c414: d835 bhi.n 805c482 for(i = 0; i < 15; i++) 805c416: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805c41a: 3301 adds r3, #1 805c41c: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805c420: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805c424: 2b0e cmp r3, #14 805c426: d9dd bls.n 805c3e4 805c428: e035 b.n 805c496 break; } } else if(limit[1]) 805c42a: f507 7394 add.w r3, r7, #296 ; 0x128 805c42e: 785b ldrb r3, [r3, #1] 805c430: 2b00 cmp r3, #0 805c432: d030 beq.n 805c496 { for(i = 1; i < 15; i++) 805c434: 2301 movs r3, #1 805c436: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805c43a: e01d b.n 805c478 { if(limit[i]) 805c43c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805c440: f507 7294 add.w r2, r7, #296 ; 0x128 805c444: 5cd3 ldrb r3, [r2, r3] 805c446: 2b00 cmp r3, #0 805c448: d008 beq.n 805c45c { k++; 805c44a: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805c44e: 3301 adds r3, #1 805c450: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 l = 0; 805c454: 2300 movs r3, #0 805c456: f8c7 3224 str.w r3, [r7, #548] ; 0x224 805c45a: e004 b.n 805c466 } else l++; 805c45c: f8d7 3224 ldr.w r3, [r7, #548] ; 0x224 805c460: 3301 adds r3, #1 805c462: f8c7 3224 str.w r3, [r7, #548] ; 0x224 if(l >= 2) 805c466: f8d7 3224 ldr.w r3, [r7, #548] ; 0x224 805c46a: 2b01 cmp r3, #1 805c46c: d812 bhi.n 805c494 for(i = 1; i < 15; i++) 805c46e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805c472: 3301 adds r3, #1 805c474: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805c478: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805c47c: 2b0e cmp r3, #14 805c47e: d9dd bls.n 805c43c 805c480: e009 b.n 805c496 break; 805c482: bf00 nop 805c484: e007 b.n 805c496 805c486: bf00 nop 805c488: 20026d00 .word 0x20026d00 805c48c: 3efa0000 .word 0x3efa0000 805c490: 20018000 .word 0x20018000 break; 805c494: bf00 nop } } } if(k >= 8) 805c496: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805c49a: 2b07 cmp r3, #7 805c49c: d902 bls.n 805c4a4 { DEFECTS[NESOOSNOST] = true; 805c49e: 4b9f ldr r3, [pc, #636] ; (805c71c ) 805c4a0: 2201 movs r2, #1 805c4a2: 72da strb r2, [r3, #11] } ///////////////////////////////////////////////////////////////////// MeanCnt = 0; 805c4a4: 4b9e ldr r3, [pc, #632] ; (805c720 ) 805c4a6: 2200 movs r2, #0 805c4a8: 601a str r2, [r3, #0] NeedSTOP = true; 805c4aa: 4b9e ldr r3, [pc, #632] ; (805c724 ) 805c4ac: 2201 movs r2, #1 805c4ae: 701a strb r2, [r3, #0] SeeResults = true; 805c4b0: 4b9d ldr r3, [pc, #628] ; (805c728 ) 805c4b2: 2201 movs r2, #1 805c4b4: 701a strb r2, [r3, #0] //ViewLevel = 1; //*************************************************************// lvl_0 = 0; 805c4b6: 2300 movs r3, #0 805c4b8: f8c7 31fc str.w r3, [r7, #508] ; 0x1fc dX = Avg[1][5 * ViewLevel + pardata.LNE]; 805c4bc: 4b9b ldr r3, [pc, #620] ; (805c72c ) 805c4be: 781b ldrb r3, [r3, #0] 805c4c0: b2db uxtb r3, r3 805c4c2: 461a mov r2, r3 805c4c4: 4613 mov r3, r2 805c4c6: 009b lsls r3, r3, #2 805c4c8: 4413 add r3, r2 805c4ca: 4a99 ldr r2, [pc, #612] ; (805c730 ) 805c4cc: 79d2 ldrb r2, [r2, #7] 805c4ce: b2d2 uxtb r2, r2 805c4d0: 4413 add r3, r2 805c4d2: 4a98 ldr r2, [pc, #608] ; (805c734 ) 805c4d4: 3323 adds r3, #35 ; 0x23 805c4d6: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 805c4da: f8a7 31fa strh.w r3, [r7, #506] ; 0x1fa MaxLevel = 4; 805c4de: 2304 movs r3, #4 805c4e0: f8a7 31f8 strh.w r3, [r7, #504] ; 0x1f8 if((ViewLevel < MaxLevel) && (dX > 1)) 805c4e4: 4b91 ldr r3, [pc, #580] ; (805c72c ) 805c4e6: 781b ldrb r3, [r3, #0] 805c4e8: b2db uxtb r3, r3 805c4ea: b29b uxth r3, r3 805c4ec: f8b7 21f8 ldrh.w r2, [r7, #504] ; 0x1f8 805c4f0: 429a cmp r2, r3 805c4f2: f240 80de bls.w 805c6b2 805c4f6: f8b7 31fa ldrh.w r3, [r7, #506] ; 0x1fa 805c4fa: 2b01 cmp r3, #1 805c4fc: f240 80d9 bls.w 805c6b2 { ViewLevel = 1; 805c500: 4b8a ldr r3, [pc, #552] ; (805c72c ) 805c502: 2201 movs r2, #1 805c504: 701a strb r2, [r3, #0] dX = Avg[1][5 * ViewLevel + pardata.LNE]; 805c506: 4b89 ldr r3, [pc, #548] ; (805c72c ) 805c508: 781b ldrb r3, [r3, #0] 805c50a: b2db uxtb r3, r3 805c50c: 461a mov r2, r3 805c50e: 4613 mov r3, r2 805c510: 009b lsls r3, r3, #2 805c512: 4413 add r3, r2 805c514: 4a86 ldr r2, [pc, #536] ; (805c730 ) 805c516: 79d2 ldrb r2, [r2, #7] 805c518: b2d2 uxtb r2, r2 805c51a: 4413 add r3, r2 805c51c: 4a85 ldr r2, [pc, #532] ; (805c734 ) 805c51e: 3323 adds r3, #35 ; 0x23 805c520: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 805c524: f8a7 31fa strh.w r3, [r7, #506] ; 0x1fa X0 = Mpos - CURSOR * dX; 805c528: 4b83 ldr r3, [pc, #524] ; (805c738 ) 805c52a: 881b ldrh r3, [r3, #0] 805c52c: b29a uxth r2, r3 805c52e: 4b83 ldr r3, [pc, #524] ; (805c73c ) 805c530: 681b ldr r3, [r3, #0] 805c532: b29b uxth r3, r3 805c534: f8b7 11fa ldrh.w r1, [r7, #506] ; 0x1fa 805c538: fb11 f303 smulbb r3, r1, r3 805c53c: b29b uxth r3, r3 805c53e: 1ad3 subs r3, r2, r3 805c540: b29a uxth r2, r3 805c542: 4b7f ldr r3, [pc, #508] ; (805c740 ) 805c544: 801a strh r2, [r3, #0] lX = X0; 805c546: 4b7e ldr r3, [pc, #504] ; (805c740 ) 805c548: 881b ldrh r3, [r3, #0] 805c54a: b29a uxth r2, r3 805c54c: 4b7d ldr r3, [pc, #500] ; (805c744 ) 805c54e: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 805c550: f8b7 31fa ldrh.w r3, [r7, #506] ; 0x1fa 805c554: 021b lsls r3, r3, #8 805c556: b29a uxth r2, r3 805c558: 4b7a ldr r3, [pc, #488] ; (805c744 ) 805c55a: 881b ldrh r3, [r3, #0] 805c55c: b29b uxth r3, r3 805c55e: 4413 add r3, r2 805c560: b29a uxth r2, r3 805c562: 4b79 ldr r3, [pc, #484] ; (805c748 ) 805c564: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 805c566: 4b79 ldr r3, [pc, #484] ; (805c74c ) 805c568: 881b ldrh r3, [r3, #0] 805c56a: b29b uxth r3, r3 805c56c: 461a mov r2, r3 805c56e: 4b75 ldr r3, [pc, #468] ; (805c744 ) 805c570: 881b ldrh r3, [r3, #0] 805c572: b29b uxth r3, r3 805c574: 1ad2 subs r2, r2, r3 805c576: f8b7 31fa ldrh.w r3, [r7, #506] ; 0x1fa 805c57a: fb92 f3f3 sdiv r3, r2, r3 805c57e: 461a mov r2, r3 805c580: 4b6e ldr r3, [pc, #440] ; (805c73c ) 805c582: 601a str r2, [r3, #0] Mpos = lX + CURSOR * dX; 805c584: 4b6d ldr r3, [pc, #436] ; (805c73c ) 805c586: 681b ldr r3, [r3, #0] 805c588: b29b uxth r3, r3 805c58a: f8b7 21fa ldrh.w r2, [r7, #506] ; 0x1fa 805c58e: fb12 f303 smulbb r3, r2, r3 805c592: b29a uxth r2, r3 805c594: 4b6b ldr r3, [pc, #428] ; (805c744 ) 805c596: 881b ldrh r3, [r3, #0] 805c598: b29b uxth r3, r3 805c59a: 4413 add r3, r2 805c59c: b29a uxth r2, r3 805c59e: 4b66 ldr r3, [pc, #408] ; (805c738 ) 805c5a0: 801a strh r2, [r3, #0] if((CURSOR < (256 >> 1)) && (X0 >= dX)) 805c5a2: 4b66 ldr r3, [pc, #408] ; (805c73c ) 805c5a4: 681b ldr r3, [r3, #0] 805c5a6: 2b7f cmp r3, #127 ; 0x7f 805c5a8: d83b bhi.n 805c622 805c5aa: 4b65 ldr r3, [pc, #404] ; (805c740 ) 805c5ac: 881b ldrh r3, [r3, #0] 805c5ae: b29b uxth r3, r3 805c5b0: f8b7 21fa ldrh.w r2, [r7, #506] ; 0x1fa 805c5b4: 429a cmp r2, r3 805c5b6: d834 bhi.n 805c622 { if(lX >= dX) 805c5b8: 4b62 ldr r3, [pc, #392] ; (805c744 ) 805c5ba: 881b ldrh r3, [r3, #0] 805c5bc: b29b uxth r3, r3 805c5be: f8b7 21fa ldrh.w r2, [r7, #506] ; 0x1fa 805c5c2: 429a cmp r2, r3 805c5c4: d875 bhi.n 805c6b2 { CURSOR++; 805c5c6: 4b5d ldr r3, [pc, #372] ; (805c73c ) 805c5c8: 681b ldr r3, [r3, #0] 805c5ca: 3301 adds r3, #1 805c5cc: 4a5b ldr r2, [pc, #364] ; (805c73c ) 805c5ce: 6013 str r3, [r2, #0] X0 -= dX; 805c5d0: 4b5b ldr r3, [pc, #364] ; (805c740 ) 805c5d2: 881b ldrh r3, [r3, #0] 805c5d4: b29a uxth r2, r3 805c5d6: f8b7 31fa ldrh.w r3, [r7, #506] ; 0x1fa 805c5da: 1ad3 subs r3, r2, r3 805c5dc: b29a uxth r2, r3 805c5de: 4b58 ldr r3, [pc, #352] ; (805c740 ) 805c5e0: 801a strh r2, [r3, #0] lX = X0; 805c5e2: 4b57 ldr r3, [pc, #348] ; (805c740 ) 805c5e4: 881b ldrh r3, [r3, #0] 805c5e6: b29a uxth r2, r3 805c5e8: 4b56 ldr r3, [pc, #344] ; (805c744 ) 805c5ea: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 805c5ec: f8b7 31fa ldrh.w r3, [r7, #506] ; 0x1fa 805c5f0: 021b lsls r3, r3, #8 805c5f2: b29a uxth r2, r3 805c5f4: 4b53 ldr r3, [pc, #332] ; (805c744 ) 805c5f6: 881b ldrh r3, [r3, #0] 805c5f8: b29b uxth r3, r3 805c5fa: 4413 add r3, r2 805c5fc: b29a uxth r2, r3 805c5fe: 4b52 ldr r3, [pc, #328] ; (805c748 ) 805c600: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 805c602: 4b52 ldr r3, [pc, #328] ; (805c74c ) 805c604: 881b ldrh r3, [r3, #0] 805c606: b29b uxth r3, r3 805c608: 461a mov r2, r3 805c60a: 4b4e ldr r3, [pc, #312] ; (805c744 ) 805c60c: 881b ldrh r3, [r3, #0] 805c60e: b29b uxth r3, r3 805c610: 1ad2 subs r2, r2, r3 805c612: f8b7 31fa ldrh.w r3, [r7, #506] ; 0x1fa 805c616: fb92 f3f3 sdiv r3, r2, r3 805c61a: 461a mov r2, r3 805c61c: 4b47 ldr r3, [pc, #284] ; (805c73c ) 805c61e: 601a str r2, [r3, #0] if(lX >= dX) 805c620: e047 b.n 805c6b2 } } else if(CURSOR > (256 >> 1)) 805c622: 4b46 ldr r3, [pc, #280] ; (805c73c ) 805c624: 681b ldr r3, [r3, #0] 805c626: 2b80 cmp r3, #128 ; 0x80 805c628: d943 bls.n 805c6b2 { if((rX + dX) <= (256 * Avg[1][5 * lvl_0 + pardata.LNE])) 805c62a: 4b47 ldr r3, [pc, #284] ; (805c748 ) 805c62c: 881b ldrh r3, [r3, #0] 805c62e: b29b uxth r3, r3 805c630: 461a mov r2, r3 805c632: f8b7 31fa ldrh.w r3, [r7, #506] ; 0x1fa 805c636: 18d1 adds r1, r2, r3 805c638: f8d7 21fc ldr.w r2, [r7, #508] ; 0x1fc 805c63c: 4613 mov r3, r2 805c63e: 009b lsls r3, r3, #2 805c640: 4413 add r3, r2 805c642: 4a3b ldr r2, [pc, #236] ; (805c730 ) 805c644: 79d2 ldrb r2, [r2, #7] 805c646: b2d2 uxtb r2, r2 805c648: 4413 add r3, r2 805c64a: 4a3a ldr r2, [pc, #232] ; (805c734 ) 805c64c: 3323 adds r3, #35 ; 0x23 805c64e: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 805c652: 021b lsls r3, r3, #8 805c654: 4299 cmp r1, r3 805c656: dc2c bgt.n 805c6b2 { CURSOR--; 805c658: 4b38 ldr r3, [pc, #224] ; (805c73c ) 805c65a: 681b ldr r3, [r3, #0] 805c65c: 3b01 subs r3, #1 805c65e: 4a37 ldr r2, [pc, #220] ; (805c73c ) 805c660: 6013 str r3, [r2, #0] X0 += dX; 805c662: 4b37 ldr r3, [pc, #220] ; (805c740 ) 805c664: 881b ldrh r3, [r3, #0] 805c666: b29a uxth r2, r3 805c668: f8b7 31fa ldrh.w r3, [r7, #506] ; 0x1fa 805c66c: 4413 add r3, r2 805c66e: b29a uxth r2, r3 805c670: 4b33 ldr r3, [pc, #204] ; (805c740 ) 805c672: 801a strh r2, [r3, #0] lX = X0; 805c674: 4b32 ldr r3, [pc, #200] ; (805c740 ) 805c676: 881b ldrh r3, [r3, #0] 805c678: b29a uxth r2, r3 805c67a: 4b32 ldr r3, [pc, #200] ; (805c744 ) 805c67c: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 805c67e: f8b7 31fa ldrh.w r3, [r7, #506] ; 0x1fa 805c682: 021b lsls r3, r3, #8 805c684: b29a uxth r2, r3 805c686: 4b2f ldr r3, [pc, #188] ; (805c744 ) 805c688: 881b ldrh r3, [r3, #0] 805c68a: b29b uxth r3, r3 805c68c: 4413 add r3, r2 805c68e: b29a uxth r2, r3 805c690: 4b2d ldr r3, [pc, #180] ; (805c748 ) 805c692: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 805c694: 4b2d ldr r3, [pc, #180] ; (805c74c ) 805c696: 881b ldrh r3, [r3, #0] 805c698: b29b uxth r3, r3 805c69a: 461a mov r2, r3 805c69c: 4b29 ldr r3, [pc, #164] ; (805c744 ) 805c69e: 881b ldrh r3, [r3, #0] 805c6a0: b29b uxth r3, r3 805c6a2: 1ad2 subs r2, r2, r3 805c6a4: f8b7 31fa ldrh.w r3, [r7, #506] ; 0x1fa 805c6a8: fb92 f3f3 sdiv r3, r2, r3 805c6ac: 461a mov r2, r3 805c6ae: 4b23 ldr r3, [pc, #140] ; (805c73c ) 805c6b0: 601a str r2, [r3, #0] } } } AUTOZOOM = true; 805c6b2: 4b27 ldr r3, [pc, #156] ; (805c750 ) 805c6b4: 2201 movs r2, #1 805c6b6: 701a strb r2, [r3, #0] if(NSamples < 20) 805c6b8: e004 b.n 805c6c4 } } } else { RepeatKm = true; 805c6ba: 4b26 ldr r3, [pc, #152] ; (805c754 ) 805c6bc: 2201 movs r2, #1 805c6be: 701a strb r2, [r3, #0] } } break; 805c6c0: f007 bcf1 b.w 80640a6 if(NSamples < 20) 805c6c4: bf00 nop break; 805c6c6: f007 bcee b.w 80640a6 case UDAR: // if(measuring) 805c6ca: 4b23 ldr r3, [pc, #140] ; (805c758 ) 805c6cc: 781b ldrb r3, [r3, #0] 805c6ce: b2db uxtb r3, r3 805c6d0: 2b00 cmp r3, #0 805c6d2: f007 84ea beq.w 80640aa { tick = HAL_GetTick(); 805c6d6: f056 fdaf bl 80b3238 805c6da: f8c7 021c str.w r0, [r7, #540] ; 0x21c GetData(); 805c6de: f007 ffa5 bl 806462c READY = 0; 805c6e2: 4b1e ldr r3, [pc, #120] ; (805c75c ) 805c6e4: 2200 movs r2, #0 805c6e6: 701a strb r2, [r3, #0] //tick = HAL_GetTick() - tick; //CalculateGain(Ns); if(AUTOKU) 805c6e8: 4b1d ldr r3, [pc, #116] ; (805c760 ) 805c6ea: 781b ldrb r3, [r3, #0] 805c6ec: b2db uxtb r3, r3 805c6ee: 2b00 cmp r3, #0 805c6f0: d005 beq.n 805c6fe CalculateGain(Ns); 805c6f2: 4b1c ldr r3, [pc, #112] ; (805c764 ) 805c6f4: 681b ldr r3, [r3, #0] 805c6f6: 4618 mov r0, r3 805c6f8: f7f9 f97c bl 80559f4 805c6fc: e06e b.n 805c7dc else { Stability = (Nr * 4) + 1; 805c6fe: 4b1a ldr r3, [pc, #104] ; (805c768 ) 805c700: 881b ldrh r3, [r3, #0] 805c702: b29b uxth r3, r3 805c704: 009b lsls r3, r3, #2 805c706: 3301 adds r3, #1 805c708: 461a mov r2, r3 805c70a: 4b18 ldr r3, [pc, #96] ; (805c76c ) 805c70c: 601a str r2, [r3, #0] j = 0; 805c70e: 2300 movs r3, #0 805c710: f8c7 31cc str.w r3, [r7, #460] ; 0x1cc for(i = 0; i < 8192; i++) 805c714: 2300 movs r3, #0 805c716: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805c71a: e04f b.n 805c7bc 805c71c: 20026f10 .word 0x20026f10 805c720: 20020db8 .word 0x20020db8 805c724: 20020f7e .word 0x20020f7e 805c728: 20020d68 .word 0x20020d68 805c72c: 20020f74 .word 0x20020f74 805c730: 20023e60 .word 0x20023e60 805c734: 080eea74 .word 0x080eea74 805c738: 20025d16 .word 0x20025d16 805c73c: 2002006c .word 0x2002006c 805c740: 20025d1e .word 0x20025d1e 805c744: 20025d1a .word 0x20025d1a 805c748: 20025d20 .word 0x20025d20 805c74c: 20025d1c .word 0x20025d1c 805c750: 2002098c .word 0x2002098c 805c754: 20020dac .word 0x20020dac 805c758: 20020daf .word 0x20020daf 805c75c: 20020d7f .word 0x20020d7f 805c760: 20020029 .word 0x20020029 805c764: 20021cdc .word 0x20021cdc 805c768: 20021d20 .word 0x20021d20 805c76c: 20020da8 .word 0x20020da8 { if((In16[i].sh[0] & 0xfff) > 4050) { 805c770: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805c774: 4ab6 ldr r2, [pc, #728] ; (805ca50 ) 805c776: f832 3023 ldrh.w r3, [r2, r3, lsl #2] 805c77a: f3c3 030b ubfx r3, r3, #0, #12 805c77e: f640 72d2 movw r2, #4050 ; 0xfd2 805c782: 4293 cmp r3, r2 805c784: dd04 ble.n 805c790 j++; 805c786: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 805c78a: 3301 adds r3, #1 805c78c: f8c7 31cc str.w r3, [r7, #460] ; 0x1cc } if((In16[i].sh[1] & 0xfff) > 4050) { 805c790: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805c794: 4aae ldr r2, [pc, #696] ; (805ca50 ) 805c796: 009b lsls r3, r3, #2 805c798: 4413 add r3, r2 805c79a: 885b ldrh r3, [r3, #2] 805c79c: f3c3 030b ubfx r3, r3, #0, #12 805c7a0: f640 72d2 movw r2, #4050 ; 0xfd2 805c7a4: 4293 cmp r3, r2 805c7a6: dd04 ble.n 805c7b2 j++; 805c7a8: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 805c7ac: 3301 adds r3, #1 805c7ae: f8c7 31cc str.w r3, [r7, #460] ; 0x1cc for(i = 0; i < 8192; i++) 805c7b2: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805c7b6: 3301 adds r3, #1 805c7b8: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805c7bc: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805c7c0: f5b3 5f00 cmp.w r3, #8192 ; 0x2000 805c7c4: d3d4 bcc.n 805c770 } } if(j >= 2) 805c7c6: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 805c7ca: 2b01 cmp r3, #1 805c7cc: d903 bls.n 805c7d6 OVERDRIVE = true; 805c7ce: 4ba1 ldr r3, [pc, #644] ; (805ca54 ) 805c7d0: 2201 movs r2, #1 805c7d2: 701a strb r2, [r3, #0] 805c7d4: e002 b.n 805c7dc else OVERDRIVE = false; 805c7d6: 4b9f ldr r3, [pc, #636] ; (805ca54 ) 805c7d8: 2200 movs r2, #0 805c7da: 701a strb r2, [r3, #0] } if(Flag_Set_KU) 805c7dc: 4b9e ldr r3, [pc, #632] ; (805ca58 ) 805c7de: 781b ldrb r3, [r3, #0] 805c7e0: b2db uxtb r3, r3 805c7e2: 2b00 cmp r3, #0 805c7e4: d040 beq.n 805c868 { if((!NSamples) || (NSamples == 0xffffffff)) 805c7e6: 4b9d ldr r3, [pc, #628] ; (805ca5c ) 805c7e8: 681b ldr r3, [r3, #0] 805c7ea: 2b00 cmp r3, #0 805c7ec: d004 beq.n 805c7f8 805c7ee: 4b9b ldr r3, [pc, #620] ; (805ca5c ) 805c7f0: 681b ldr r3, [r3, #0] 805c7f2: f1b3 3fff cmp.w r3, #4294967295 805c7f6: d103 bne.n 805c800 Stability = 0; 805c7f8: 4b99 ldr r3, [pc, #612] ; (805ca60 ) 805c7fa: 2200 movs r2, #0 805c7fc: 601a str r2, [r3, #0] 805c7fe: e007 b.n 805c810 else Stability = (Nr * 4) + 1; 805c800: 4b98 ldr r3, [pc, #608] ; (805ca64 ) 805c802: 881b ldrh r3, [r3, #0] 805c804: b29b uxth r3, r3 805c806: 009b lsls r3, r3, #2 805c808: 3301 adds r3, #1 805c80a: 461a mov r2, r3 805c80c: 4b94 ldr r3, [pc, #592] ; (805ca60 ) 805c80e: 601a str r2, [r3, #0] NSamples = 0xffffffff; 805c810: 4b92 ldr r3, [pc, #584] ; (805ca5c ) 805c812: f04f 32ff mov.w r2, #4294967295 805c816: 601a str r2, [r3, #0] MeanCnt = 0; 805c818: 4b93 ldr r3, [pc, #588] ; (805ca68 ) 805c81a: 2200 movs r2, #0 805c81c: 601a str r2, [r3, #0] skz[1] = 1231298379172381; 805c81e: 4b93 ldr r3, [pc, #588] ; (805ca6c ) 805c820: 4a93 ldr r2, [pc, #588] ; (805ca70 ) 805c822: 605a str r2, [r3, #4] skz[0] = 0; 805c824: 4b91 ldr r3, [pc, #580] ; (805ca6c ) 805c826: f04f 0200 mov.w r2, #0 805c82a: 601a str r2, [r3, #0] MAXIMUM = 0; 805c82c: 4b91 ldr r3, [pc, #580] ; (805ca74 ) 805c82e: f04f 0200 mov.w r2, #0 805c832: 601a str r2, [r3, #0] MINIMUM = 999999; 805c834: 4b90 ldr r3, [pc, #576] ; (805ca78 ) 805c836: 4a91 ldr r2, [pc, #580] ; (805ca7c ) 805c838: 601a str r2, [r3, #0] dBc = -100.0f; 805c83a: 4b91 ldr r3, [pc, #580] ; (805ca80 ) 805c83c: 4a91 ldr r2, [pc, #580] ; (805ca84 ) 805c83e: 601a str r2, [r3, #0] dBm = -100.0f; 805c840: 4b91 ldr r3, [pc, #580] ; (805ca88 ) 805c842: 4a90 ldr r2, [pc, #576] ; (805ca84 ) 805c844: 601a str r2, [r3, #0] NSamples++; 805c846: 4b85 ldr r3, [pc, #532] ; (805ca5c ) 805c848: 681b ldr r3, [r3, #0] 805c84a: 3301 adds r3, #1 805c84c: 4a83 ldr r2, [pc, #524] ; (805ca5c ) 805c84e: 6013 str r3, [r2, #0] timeRelax = RELAX + 1; 805c850: 4b8e ldr r3, [pc, #568] ; (805ca8c ) 805c852: 681b ldr r3, [r3, #0] 805c854: 3301 adds r3, #1 805c856: 4a8e ldr r2, [pc, #568] ; (805ca90 ) 805c858: 6013 str r3, [r2, #0] stage = 0; 805c85a: 4b8e ldr r3, [pc, #568] ; (805ca94 ) 805c85c: 2200 movs r2, #0 805c85e: 701a strb r2, [r3, #0] faseUdar = 0; 805c860: 4b8d ldr r3, [pc, #564] ; (805ca98 ) 805c862: 2200 movs r2, #0 805c864: 701a strb r2, [r3, #0] 805c866: e00d b.n 805c884 } else { if(Stability <= (Nr * 4)) 805c868: 4b7e ldr r3, [pc, #504] ; (805ca64 ) 805c86a: 881b ldrh r3, [r3, #0] 805c86c: b29b uxth r3, r3 805c86e: 009b lsls r3, r3, #2 805c870: 461a mov r2, r3 805c872: 4b7b ldr r3, [pc, #492] ; (805ca60 ) 805c874: 681b ldr r3, [r3, #0] 805c876: 429a cmp r2, r3 805c878: d304 bcc.n 805c884 Stability++; 805c87a: 4b79 ldr r3, [pc, #484] ; (805ca60 ) 805c87c: 681b ldr r3, [r3, #0] 805c87e: 3301 adds r3, #1 805c880: 4a77 ldr r2, [pc, #476] ; (805ca60 ) 805c882: 6013 str r3, [r2, #0] if((Flag_Set_KU == 0) && (Stability > (Nr * 4))) 805c884: 4b74 ldr r3, [pc, #464] ; (805ca58 ) 805c886: 781b ldrb r3, [r3, #0] 805c888: b2db uxtb r3, r3 805c88a: 2b00 cmp r3, #0 805c88c: f040 82b4 bne.w 805cdf8 805c890: 4b74 ldr r3, [pc, #464] ; (805ca64 ) 805c892: 881b ldrh r3, [r3, #0] 805c894: b29b uxth r3, r3 805c896: 009b lsls r3, r3, #2 805c898: 461a mov r2, r3 805c89a: 4b71 ldr r3, [pc, #452] ; (805ca60 ) 805c89c: 681b ldr r3, [r3, #0] 805c89e: 429a cmp r2, r3 805c8a0: f080 82aa bcs.w 805cdf8 { sc = (2.85 / 4095.0) * (float64_t) CorrKk[ACC]; 805c8a4: 4b7d ldr r3, [pc, #500] ; (805ca9c ) 805c8a6: edd3 7a00 vldr s15, [r3] 805c8aa: eeb7 7ae7 vcvt.f64.f32 d7, s15 805c8ae: ed9f 6b64 vldr d6, [pc, #400] ; 805ca40 805c8b2: ee27 7b06 vmul.f64 d7, d7, d6 805c8b6: ed87 7b82 vstr d7, [r7, #520] ; 0x208 i = 8192; 805c8ba: f44f 5300 mov.w r3, #8192 ; 0x2000 805c8be: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 while(i > 0) 805c8c2: e038 b.n 805c936 { i--; 805c8c4: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805c8c8: 3b01 subs r3, #1 805c8ca: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 Buff64[(i << 1)] = (float64_t) (In16[i].sh[0] & 0xffc) * sc; 805c8ce: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805c8d2: 005a lsls r2, r3, #1 805c8d4: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805c8d8: 495d ldr r1, [pc, #372] ; (805ca50 ) 805c8da: f831 3023 ldrh.w r3, [r1, r3, lsl #2] 805c8de: 4619 mov r1, r3 805c8e0: f640 73fc movw r3, #4092 ; 0xffc 805c8e4: 400b ands r3, r1 805c8e6: ee07 3a90 vmov s15, r3 805c8ea: eeb8 6be7 vcvt.f64.s32 d6, s15 805c8ee: ed97 7b82 vldr d7, [r7, #520] ; 0x208 805c8f2: ee26 7b07 vmul.f64 d7, d6, d7 805c8f6: 496a ldr r1, [pc, #424] ; (805caa0 ) 805c8f8: 00d3 lsls r3, r2, #3 805c8fa: 440b add r3, r1 805c8fc: ed83 7b00 vstr d7, [r3] Buff64[(i << 1) + 1] = (float64_t) (In16[i].sh[1] & 0xffc) * sc; 805c900: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805c904: 005b lsls r3, r3, #1 805c906: 1c5a adds r2, r3, #1 805c908: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805c90c: 4950 ldr r1, [pc, #320] ; (805ca50 ) 805c90e: 009b lsls r3, r3, #2 805c910: 440b add r3, r1 805c912: 885b ldrh r3, [r3, #2] 805c914: 4619 mov r1, r3 805c916: f640 73fc movw r3, #4092 ; 0xffc 805c91a: 400b ands r3, r1 805c91c: ee07 3a90 vmov s15, r3 805c920: eeb8 6be7 vcvt.f64.s32 d6, s15 805c924: ed97 7b82 vldr d7, [r7, #520] ; 0x208 805c928: ee26 7b07 vmul.f64 d7, d6, d7 805c92c: 495c ldr r1, [pc, #368] ; (805caa0 ) 805c92e: 00d3 lsls r3, r2, #3 805c930: 440b add r3, r1 805c932: ed83 7b00 vstr d7, [r3] while(i > 0) 805c936: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805c93a: 2b00 cmp r3, #0 805c93c: d1c2 bne.n 805c8c4 } arm_biquad_cascade_df2T_f64(&S_HP_ACC, Buff64, Buff64, Ns); 805c93e: 4b59 ldr r3, [pc, #356] ; (805caa4 ) 805c940: 681b ldr r3, [r3, #0] 805c942: 4a57 ldr r2, [pc, #348] ; (805caa0 ) 805c944: 4956 ldr r1, [pc, #344] ; (805caa0 ) 805c946: 4858 ldr r0, [pc, #352] ; (805caa8 ) 805c948: f06d fc2c bl 80ca1a4 for(i = 0; i < Ns; i++) 805c94c: 2300 movs r3, #0 805c94e: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805c952: e02d b.n 805c9b0 { Out[i] = (float32_t) (Buff64[i] - 0.12); 805c954: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805c958: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805c95c: 4950 ldr r1, [pc, #320] ; (805caa0 ) 805c95e: 00d2 lsls r2, r2, #3 805c960: 440a add r2, r1 805c962: ed92 7b00 vldr d7, [r2] 805c966: ed9f 6b38 vldr d6, [pc, #224] ; 805ca48 805c96a: ee37 7b46 vsub.f64 d7, d7, d6 805c96e: eef7 7bc7 vcvt.f32.f64 s15, d7 805c972: 4a4e ldr r2, [pc, #312] ; (805caac ) 805c974: 009b lsls r3, r3, #2 805c976: 4413 add r3, r2 805c978: edc3 7a00 vstr s15, [r3] if(Out[i] < 0.1f) 805c97c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805c980: 4a4a ldr r2, [pc, #296] ; (805caac ) 805c982: 009b lsls r3, r3, #2 805c984: 4413 add r3, r2 805c986: edd3 7a00 vldr s15, [r3] 805c98a: ed9f 7a49 vldr s14, [pc, #292] ; 805cab0 805c98e: eef4 7ac7 vcmpe.f32 s15, s14 805c992: eef1 fa10 vmrs APSR_nzcv, fpscr 805c996: d506 bpl.n 805c9a6 Out[i] = 0.1f; 805c998: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805c99c: 4a43 ldr r2, [pc, #268] ; (805caac ) 805c99e: 009b lsls r3, r3, #2 805c9a0: 4413 add r3, r2 805c9a2: 4a44 ldr r2, [pc, #272] ; (805cab4 ) 805c9a4: 601a str r2, [r3, #0] for(i = 0; i < Ns; i++) 805c9a6: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805c9aa: 3301 adds r3, #1 805c9ac: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805c9b0: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805c9b4: 4b3b ldr r3, [pc, #236] ; (805caa4 ) 805c9b6: 681b ldr r3, [r3, #0] 805c9b8: 429a cmp r2, r3 805c9ba: d3cb bcc.n 805c954 if(timeRelax > 1) 805c9bc: 4b34 ldr r3, [pc, #208] ; (805ca90 ) 805c9be: 681b ldr r3, [r3, #0] 805c9c0: 2b01 cmp r3, #1 805c9c2: d904 bls.n 805c9ce timeRelax--; 805c9c4: 4b32 ldr r3, [pc, #200] ; (805ca90 ) 805c9c6: 681b ldr r3, [r3, #0] 805c9c8: 3b01 subs r3, #1 805c9ca: 4a31 ldr r2, [pc, #196] ; (805ca90 ) 805c9cc: 6013 str r3, [r2, #0] switch(stage) 805c9ce: 4b31 ldr r3, [pc, #196] ; (805ca94 ) 805c9d0: 781b ldrb r3, [r3, #0] 805c9d2: b2db uxtb r3, r3 805c9d4: 2b07 cmp r3, #7 805c9d6: f200 80ee bhi.w 805cbb6 805c9da: a201 add r2, pc, #4 ; (adr r2, 805c9e0 ) 805c9dc: f852 f023 ldr.w pc, [r2, r3, lsl #2] 805c9e0: 0805ca01 .word 0x0805ca01 805c9e4: 0805ca19 .word 0x0805ca19 805c9e8: 0805cabd .word 0x0805cabd 805c9ec: 0805cae1 .word 0x0805cae1 805c9f0: 0805cb09 .word 0x0805cb09 805c9f4: 0805cb2d .word 0x0805cb2d 805c9f8: 0805cb55 .word 0x0805cb55 805c9fc: 0805cb7f .word 0x0805cb7f { case 0: memcpy((void *) &Udar_f32(0), (void *) &Out[0], Ns * 4u); 805ca00: 4b28 ldr r3, [pc, #160] ; (805caa4 ) 805ca02: 681b ldr r3, [r3, #0] 805ca04: 009b lsls r3, r3, #2 805ca06: 461a mov r2, r3 805ca08: 4928 ldr r1, [pc, #160] ; (805caac ) 805ca0a: 482b ldr r0, [pc, #172] ; (805cab8 ) 805ca0c: f070 fb11 bl 80cd032 stage = 1; 805ca10: 4b20 ldr r3, [pc, #128] ; (805ca94 ) 805ca12: 2201 movs r2, #1 805ca14: 701a strb r2, [r3, #0] break; 805ca16: e0ce b.n 805cbb6 case 1: memcpy((void *) &Udar_f32(Ns), (void *) &Out[0], Ns * 4u); 805ca18: 4b22 ldr r3, [pc, #136] ; (805caa4 ) 805ca1a: 681b ldr r3, [r3, #0] 805ca1c: 009a lsls r2, r3, #2 805ca1e: 4b26 ldr r3, [pc, #152] ; (805cab8 ) 805ca20: 4413 add r3, r2 805ca22: 4618 mov r0, r3 805ca24: 4b1f ldr r3, [pc, #124] ; (805caa4 ) 805ca26: 681b ldr r3, [r3, #0] 805ca28: 009b lsls r3, r3, #2 805ca2a: 461a mov r2, r3 805ca2c: 491f ldr r1, [pc, #124] ; (805caac ) 805ca2e: f070 fb00 bl 80cd032 stage = 2; 805ca32: 4b18 ldr r3, [pc, #96] ; (805ca94 ) 805ca34: 2202 movs r2, #2 805ca36: 701a strb r2, [r3, #0] break; 805ca38: e0bd b.n 805cbb6 805ca3a: bf00 nop 805ca3c: f3af 8000 nop.w 805ca40: b067d34a .word 0xb067d34a 805ca44: 3f46ce39 .word 0x3f46ce39 805ca48: eb851eb8 .word 0xeb851eb8 805ca4c: 3fbeb851 .word 0x3fbeb851 805ca50: 20058020 .word 0x20058020 805ca54: 20021531 .word 0x20021531 805ca58: 20020d7e .word 0x20020d7e 805ca5c: 20020d88 .word 0x20020d88 805ca60: 20020da8 .word 0x20020da8 805ca64: 20021d20 .word 0x20021d20 805ca68: 20020db8 .word 0x20020db8 805ca6c: 20021540 .word 0x20021540 805ca70: 588bfb80 .word 0x588bfb80 805ca74: 20021538 .word 0x20021538 805ca78: 2002153c .word 0x2002153c 805ca7c: 497423f0 .word 0x497423f0 805ca80: 20020d9c .word 0x20020d9c 805ca84: c2c80000 .word 0xc2c80000 805ca88: 20020da0 .word 0x20020da0 805ca8c: 20020d70 .word 0x20020d70 805ca90: 20020d6c .word 0x20020d6c 805ca94: 20021518 .word 0x20021518 805ca98: 20021624 .word 0x20021624 805ca9c: 20020080 .word 0x20020080 805caa0: 20037ae0 .word 0x20037ae0 805caa4: 20021cdc .word 0x20021cdc 805caa8: 20025f00 .word 0x20025f00 805caac: 20008000 .word 0x20008000 805cab0: 3dcccccd .word 0x3dcccccd 805cab4: 3dcccccd .word 0x3dcccccd 805cab8: 640a0000 .word 0x640a0000 case 2: memcpy((void *) &Udar_f32(2u * Ns), (void *) &Out[0], Ns * 4u); 805cabc: 4bbe ldr r3, [pc, #760] ; (805cdb8 ) 805cabe: 681b ldr r3, [r3, #0] 805cac0: 005b lsls r3, r3, #1 805cac2: 009a lsls r2, r3, #2 805cac4: 4bbd ldr r3, [pc, #756] ; (805cdbc ) 805cac6: 4413 add r3, r2 805cac8: 4618 mov r0, r3 805caca: 4bbb ldr r3, [pc, #748] ; (805cdb8 ) 805cacc: 681b ldr r3, [r3, #0] 805cace: 009b lsls r3, r3, #2 805cad0: 461a mov r2, r3 805cad2: 49bb ldr r1, [pc, #748] ; (805cdc0 ) 805cad4: f070 faad bl 80cd032 stage = 3; 805cad8: 4bba ldr r3, [pc, #744] ; (805cdc4 ) 805cada: 2203 movs r2, #3 805cadc: 701a strb r2, [r3, #0] break; 805cade: e06a b.n 805cbb6 case 3: memcpy((void *) &Udar_f32(3u * Ns), (void *) &Out[0], Ns * 4u); 805cae0: 4bb5 ldr r3, [pc, #724] ; (805cdb8 ) 805cae2: 681a ldr r2, [r3, #0] 805cae4: 4613 mov r3, r2 805cae6: 005b lsls r3, r3, #1 805cae8: 4413 add r3, r2 805caea: 009a lsls r2, r3, #2 805caec: 4bb3 ldr r3, [pc, #716] ; (805cdbc ) 805caee: 4413 add r3, r2 805caf0: 4618 mov r0, r3 805caf2: 4bb1 ldr r3, [pc, #708] ; (805cdb8 ) 805caf4: 681b ldr r3, [r3, #0] 805caf6: 009b lsls r3, r3, #2 805caf8: 461a mov r2, r3 805cafa: 49b1 ldr r1, [pc, #708] ; (805cdc0 ) 805cafc: f070 fa99 bl 80cd032 stage = 4; 805cb00: 4bb0 ldr r3, [pc, #704] ; (805cdc4 ) 805cb02: 2204 movs r2, #4 805cb04: 701a strb r2, [r3, #0] break; 805cb06: e056 b.n 805cbb6 case 4: memcpy((void *) &Udar_f32(4u * Ns), (void *) &Out[0], Ns * 4u); 805cb08: 4bab ldr r3, [pc, #684] ; (805cdb8 ) 805cb0a: 681b ldr r3, [r3, #0] 805cb0c: 009b lsls r3, r3, #2 805cb0e: 009a lsls r2, r3, #2 805cb10: 4baa ldr r3, [pc, #680] ; (805cdbc ) 805cb12: 4413 add r3, r2 805cb14: 4618 mov r0, r3 805cb16: 4ba8 ldr r3, [pc, #672] ; (805cdb8 ) 805cb18: 681b ldr r3, [r3, #0] 805cb1a: 009b lsls r3, r3, #2 805cb1c: 461a mov r2, r3 805cb1e: 49a8 ldr r1, [pc, #672] ; (805cdc0 ) 805cb20: f070 fa87 bl 80cd032 stage = 5; 805cb24: 4ba7 ldr r3, [pc, #668] ; (805cdc4 ) 805cb26: 2205 movs r2, #5 805cb28: 701a strb r2, [r3, #0] break; 805cb2a: e044 b.n 805cbb6 case 5: memcpy((void *) &Udar_f32(5u * Ns), (void *) &Out[0], Ns * 4u); 805cb2c: 4ba2 ldr r3, [pc, #648] ; (805cdb8 ) 805cb2e: 681a ldr r2, [r3, #0] 805cb30: 4613 mov r3, r2 805cb32: 009b lsls r3, r3, #2 805cb34: 4413 add r3, r2 805cb36: 009a lsls r2, r3, #2 805cb38: 4ba0 ldr r3, [pc, #640] ; (805cdbc ) 805cb3a: 4413 add r3, r2 805cb3c: 4618 mov r0, r3 805cb3e: 4b9e ldr r3, [pc, #632] ; (805cdb8 ) 805cb40: 681b ldr r3, [r3, #0] 805cb42: 009b lsls r3, r3, #2 805cb44: 461a mov r2, r3 805cb46: 499e ldr r1, [pc, #632] ; (805cdc0 ) 805cb48: f070 fa73 bl 80cd032 stage = 6; 805cb4c: 4b9d ldr r3, [pc, #628] ; (805cdc4 ) 805cb4e: 2206 movs r2, #6 805cb50: 701a strb r2, [r3, #0] break; 805cb52: e030 b.n 805cbb6 case 6: memcpy((void *) &Udar_f32(6u * Ns), (void *) &Out[0], Ns * 4u); 805cb54: 4b98 ldr r3, [pc, #608] ; (805cdb8 ) 805cb56: 681a ldr r2, [r3, #0] 805cb58: 4613 mov r3, r2 805cb5a: 005b lsls r3, r3, #1 805cb5c: 4413 add r3, r2 805cb5e: 005b lsls r3, r3, #1 805cb60: 009a lsls r2, r3, #2 805cb62: 4b96 ldr r3, [pc, #600] ; (805cdbc ) 805cb64: 4413 add r3, r2 805cb66: 4618 mov r0, r3 805cb68: 4b93 ldr r3, [pc, #588] ; (805cdb8 ) 805cb6a: 681b ldr r3, [r3, #0] 805cb6c: 009b lsls r3, r3, #2 805cb6e: 461a mov r2, r3 805cb70: 4993 ldr r1, [pc, #588] ; (805cdc0 ) 805cb72: f070 fa5e bl 80cd032 stage = 7; 805cb76: 4b93 ldr r3, [pc, #588] ; (805cdc4 ) 805cb78: 2207 movs r2, #7 805cb7a: 701a strb r2, [r3, #0] break; 805cb7c: e01b b.n 805cbb6 case 7: memcpy((void *) &Udar_f32(7u * Ns), (void *) &Out[0], Ns * 4u); 805cb7e: 4b8e ldr r3, [pc, #568] ; (805cdb8 ) 805cb80: 681a ldr r2, [r3, #0] 805cb82: 4613 mov r3, r2 805cb84: 00db lsls r3, r3, #3 805cb86: 1a9b subs r3, r3, r2 805cb88: 009a lsls r2, r3, #2 805cb8a: 4b8c ldr r3, [pc, #560] ; (805cdbc ) 805cb8c: 4413 add r3, r2 805cb8e: 4618 mov r0, r3 805cb90: 4b89 ldr r3, [pc, #548] ; (805cdb8 ) 805cb92: 681b ldr r3, [r3, #0] 805cb94: 009b lsls r3, r3, #2 805cb96: 461a mov r2, r3 805cb98: 4989 ldr r1, [pc, #548] ; (805cdc0 ) 805cb9a: f070 fa4a bl 80cd032 stage = 0; 805cb9e: 4b89 ldr r3, [pc, #548] ; (805cdc4 ) 805cba0: 2200 movs r2, #0 805cba2: 701a strb r2, [r3, #0] READY = 0; 805cba4: 4b88 ldr r3, [pc, #544] ; (805cdc8 ) 805cba6: 2200 movs r2, #0 805cba8: 701a strb r2, [r3, #0] blockSize = Ns * 8u; 805cbaa: 4b83 ldr r3, [pc, #524] ; (805cdb8 ) 805cbac: 681b ldr r3, [r3, #0] 805cbae: 00db lsls r3, r3, #3 805cbb0: f8c7 3220 str.w r3, [r7, #544] ; 0x220 break; 805cbb4: bf00 nop } if(READY) 805cbb6: 4b84 ldr r3, [pc, #528] ; (805cdc8 ) 805cbb8: 781b ldrb r3, [r3, #0] 805cbba: b2db uxtb r3, r3 805cbbc: 2b00 cmp r3, #0 805cbbe: d002 beq.n 805cbc6 { tick = 0; 805cbc0: 2300 movs r3, #0 805cbc2: f8c7 321c str.w r3, [r7, #540] ; 0x21c } if(stage) 805cbc6: 4b7f ldr r3, [pc, #508] ; (805cdc4 ) 805cbc8: 781b ldrb r3, [r3, #0] 805cbca: b2db uxtb r3, r3 805cbcc: 2b00 cmp r3, #0 805cbce: d006 beq.n 805cbde { Processing(); 805cbd0: f007 fab4 bl 806413c READY = 0; 805cbd4: 4b7c ldr r3, [pc, #496] ; (805cdc8 ) 805cbd6: 2200 movs r2, #0 805cbd8: 701a strb r2, [r3, #0] 805cbda: f007 ba78 b.w 80640ce } //dBm arm_max_f32(&Udar_f32(0), blockSize, (float32_t *) &fs, &k); 805cbde: f507 73e4 add.w r3, r7, #456 ; 0x1c8 805cbe2: f507 72dc add.w r2, r7, #440 ; 0x1b8 805cbe6: f8d7 1220 ldr.w r1, [r7, #544] ; 0x220 805cbea: 4874 ldr r0, [pc, #464] ; (805cdbc ) 805cbec: f06d fa66 bl 80ca0bc LinToLog_UDAR(&fs, (float32_t *) &fl); 805cbf0: f507 72de add.w r2, r7, #444 ; 0x1bc 805cbf4: f507 73dc add.w r3, r7, #440 ; 0x1b8 805cbf8: 4611 mov r1, r2 805cbfa: 4618 mov r0, r3 805cbfc: f008 f9b8 bl 8064f70 if(fl > maxdBm) { 805cc00: ed97 7a6f vldr s14, [r7, #444] ; 0x1bc 805cc04: 4b71 ldr r3, [pc, #452] ; (805cdcc ) 805cc06: edd3 7a00 vldr s15, [r3] 805cc0a: eeb4 7ae7 vcmpe.f32 s14, s15 805cc0e: eef1 fa10 vmrs APSR_nzcv, fpscr 805cc12: dd03 ble.n 805cc1c maxdBm = fl; 805cc14: f8d7 31bc ldr.w r3, [r7, #444] ; 0x1bc 805cc18: 4a6c ldr r2, [pc, #432] ; (805cdcc ) 805cc1a: 6013 str r3, [r2, #0] } //dBc arm_power_f32(&Udar_f32(0), blockSize, &fs); 805cc1c: f507 73dc add.w r3, r7, #440 ; 0x1b8 805cc20: 461a mov r2, r3 805cc22: f8d7 1220 ldr.w r1, [r7, #544] ; 0x220 805cc26: 4865 ldr r0, [pc, #404] ; (805cdbc ) 805cc28: f06d f972 bl 80c9f10 maxdBc += fs; 805cc2c: 4b68 ldr r3, [pc, #416] ; (805cdd0 ) 805cc2e: ed93 7a00 vldr s14, [r3] 805cc32: edd7 7a6e vldr s15, [r7, #440] ; 0x1b8 805cc36: ee77 7a27 vadd.f32 s15, s14, s15 805cc3a: 4b65 ldr r3, [pc, #404] ; (805cdd0 ) 805cc3c: edc3 7a00 vstr s15, [r3] faseUdar++; 805cc40: 4b64 ldr r3, [pc, #400] ; (805cdd4 ) 805cc42: 781b ldrb r3, [r3, #0] 805cc44: b2db uxtb r3, r3 805cc46: 3301 adds r3, #1 805cc48: b2da uxtb r2, r3 805cc4a: 4b62 ldr r3, [pc, #392] ; (805cdd4 ) 805cc4c: 701a strb r2, [r3, #0] if(faseUdar >= 4) // ðàç â 2 ñåêóíäû 805cc4e: 4b61 ldr r3, [pc, #388] ; (805cdd4 ) 805cc50: 781b ldrb r3, [r3, #0] 805cc52: b2db uxtb r3, r3 805cc54: 2b03 cmp r3, #3 805cc56: d92d bls.n 805ccb4 { faseUdar = 0; 805cc58: 4b5e ldr r3, [pc, #376] ; (805cdd4 ) 805cc5a: 2200 movs r2, #0 805cc5c: 701a strb r2, [r3, #0] dBm = maxdBm; 805cc5e: 4b5b ldr r3, [pc, #364] ; (805cdcc ) 805cc60: 681b ldr r3, [r3, #0] 805cc62: 4a5d ldr r2, [pc, #372] ; (805cdd8 ) 805cc64: 6013 str r3, [r2, #0] maxdBc /= 524288.0f; 805cc66: 4b5a ldr r3, [pc, #360] ; (805cdd0 ) 805cc68: ed93 7a00 vldr s14, [r3] 805cc6c: eddf 6a5b vldr s13, [pc, #364] ; 805cddc 805cc70: eec7 7a26 vdiv.f32 s15, s14, s13 805cc74: 4b56 ldr r3, [pc, #344] ; (805cdd0 ) 805cc76: edc3 7a00 vstr s15, [r3] arm_sqrt_f32(maxdBc, & maxdBc); 805cc7a: 4b55 ldr r3, [pc, #340] ; (805cdd0 ) 805cc7c: edd3 7a00 vldr s15, [r3] 805cc80: 4853 ldr r0, [pc, #332] ; (805cdd0 ) 805cc82: eeb0 0a67 vmov.f32 s0, s15 805cc86: f7f8 fe93 bl 80559b0 maxdBc *= 1.414213562373f; 805cc8a: 4b51 ldr r3, [pc, #324] ; (805cdd0 ) 805cc8c: edd3 7a00 vldr s15, [r3] 805cc90: ed9f 7a53 vldr s14, [pc, #332] ; 805cde0 805cc94: ee67 7a87 vmul.f32 s15, s15, s14 805cc98: 4b4d ldr r3, [pc, #308] ; (805cdd0 ) 805cc9a: edc3 7a00 vstr s15, [r3] LinToLog_UDAR(&maxdBc, (float32_t *) &dBc); 805cc9e: 4951 ldr r1, [pc, #324] ; (805cde4 ) 805cca0: 484b ldr r0, [pc, #300] ; (805cdd0 ) 805cca2: f008 f965 bl 8064f70 maxdBm = -100.0f; 805cca6: 4b49 ldr r3, [pc, #292] ; (805cdcc ) 805cca8: 4a4f ldr r2, [pc, #316] ; (805cde8 ) 805ccaa: 601a str r2, [r3, #0] maxdBc = 0.0f; 805ccac: 4b48 ldr r3, [pc, #288] ; (805cdd0 ) 805ccae: f04f 0200 mov.w r2, #0 805ccb2: 601a str r2, [r3, #0] } if(timeRelax == 1) 805ccb4: 4b4d ldr r3, [pc, #308] ; (805cdec ) 805ccb6: 681b ldr r3, [r3, #0] 805ccb8: 2b01 cmp r3, #1 805ccba: d13d bne.n 805cd38 { NSamples++; 805ccbc: 4b4c ldr r3, [pc, #304] ; (805cdf0 ) 805ccbe: 681b ldr r3, [r3, #0] 805ccc0: 3301 adds r3, #1 805ccc2: 4a4b ldr r2, [pc, #300] ; (805cdf0 ) 805ccc4: 6013 str r3, [r2, #0] timeRelax = 0; 805ccc6: 4b49 ldr r3, [pc, #292] ; (805cdec ) 805ccc8: 2200 movs r2, #0 805ccca: 601a str r2, [r3, #0] k = blockSize / 256u; 805cccc: f8d7 3220 ldr.w r3, [r7, #544] ; 0x220 805ccd0: 0a1b lsrs r3, r3, #8 805ccd2: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 for(i = 0; i < 256; i++) 805ccd6: 2300 movs r3, #0 805ccd8: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805ccdc: e027 b.n 805cd2e { arm_max_f32(&Udar_f32(i * k), k, &fl, &j); 805ccde: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805cce2: f8d7 21c8 ldr.w r2, [r7, #456] ; 0x1c8 805cce6: fb02 f303 mul.w r3, r2, r3 805ccea: 009a lsls r2, r3, #2 805ccec: 4b33 ldr r3, [pc, #204] ; (805cdbc ) 805ccee: 4413 add r3, r2 805ccf0: 4618 mov r0, r3 805ccf2: f8d7 11c8 ldr.w r1, [r7, #456] ; 0x1c8 805ccf6: f507 73e6 add.w r3, r7, #460 ; 0x1cc 805ccfa: f507 72de add.w r2, r7, #444 ; 0x1bc 805ccfe: f06d f9dd bl 80ca0bc LinToLog_UDAR(&fl, &fl); 805cd02: f507 72de add.w r2, r7, #444 ; 0x1bc 805cd06: f507 73de add.w r3, r7, #444 ; 0x1bc 805cd0a: 4611 mov r1, r2 805cd0c: 4618 mov r0, r3 805cd0e: f008 f92f bl 8064f70 ScrA_f32(i) = fl; 805cd12: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805cd16: 009a lsls r2, r3, #2 805cd18: 4b36 ldr r3, [pc, #216] ; (805cdf4 ) 805cd1a: 4413 add r3, r2 805cd1c: 461a mov r2, r3 805cd1e: f8d7 31bc ldr.w r3, [r7, #444] ; 0x1bc 805cd22: 6013 str r3, [r2, #0] for(i = 0; i < 256; i++) 805cd24: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805cd28: 3301 adds r3, #1 805cd2a: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805cd2e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805cd32: 2bff cmp r3, #255 ; 0xff 805cd34: d9d3 bls.n 805ccde if(timeRelax == 1) 805cd36: e06b b.n 805ce10 } } else if(timeRelax == 0) 805cd38: 4b2c ldr r3, [pc, #176] ; (805cdec ) 805cd3a: 681b ldr r3, [r3, #0] 805cd3c: 2b00 cmp r3, #0 805cd3e: d167 bne.n 805ce10 { NSamples++; 805cd40: 4b2b ldr r3, [pc, #172] ; (805cdf0 ) 805cd42: 681b ldr r3, [r3, #0] 805cd44: 3301 adds r3, #1 805cd46: 4a2a ldr r2, [pc, #168] ; (805cdf0 ) 805cd48: 6013 str r3, [r2, #0] k = blockSize / 256u; 805cd4a: f8d7 3220 ldr.w r3, [r7, #544] ; 0x220 805cd4e: 0a1b lsrs r3, r3, #8 805cd50: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 for(i = 0; i < 256; i++) 805cd54: 2300 movs r3, #0 805cd56: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805cd5a: e027 b.n 805cdac { arm_max_f32(&Udar_f32(i * k), k, &fl, &j); 805cd5c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805cd60: f8d7 21c8 ldr.w r2, [r7, #456] ; 0x1c8 805cd64: fb02 f303 mul.w r3, r2, r3 805cd68: 009a lsls r2, r3, #2 805cd6a: 4b14 ldr r3, [pc, #80] ; (805cdbc ) 805cd6c: 4413 add r3, r2 805cd6e: 4618 mov r0, r3 805cd70: f8d7 11c8 ldr.w r1, [r7, #456] ; 0x1c8 805cd74: f507 73e6 add.w r3, r7, #460 ; 0x1cc 805cd78: f507 72de add.w r2, r7, #444 ; 0x1bc 805cd7c: f06d f99e bl 80ca0bc LinToLog_UDAR(&fl, &fl); 805cd80: f507 72de add.w r2, r7, #444 ; 0x1bc 805cd84: f507 73de add.w r3, r7, #444 ; 0x1bc 805cd88: 4611 mov r1, r2 805cd8a: 4618 mov r0, r3 805cd8c: f008 f8f0 bl 8064f70 ScrA_f32(i) = fl; 805cd90: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805cd94: 009a lsls r2, r3, #2 805cd96: 4b17 ldr r3, [pc, #92] ; (805cdf4 ) 805cd98: 4413 add r3, r2 805cd9a: 461a mov r2, r3 805cd9c: f8d7 31bc ldr.w r3, [r7, #444] ; 0x1bc 805cda0: 6013 str r3, [r2, #0] for(i = 0; i < 256; i++) 805cda2: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805cda6: 3301 adds r3, #1 805cda8: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805cdac: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805cdb0: 2bff cmp r3, #255 ; 0xff 805cdb2: d9d3 bls.n 805cd5c if(timeRelax == 1) 805cdb4: e02c b.n 805ce10 805cdb6: bf00 nop 805cdb8: 20021cdc .word 0x20021cdc 805cdbc: 640a0000 .word 0x640a0000 805cdc0: 20008000 .word 0x20008000 805cdc4: 20021518 .word 0x20021518 805cdc8: 20020d7f .word 0x20020d7f 805cdcc: 20057ec0 .word 0x20057ec0 805cdd0: 20068560 .word 0x20068560 805cdd4: 20021624 .word 0x20021624 805cdd8: 20020da0 .word 0x20020da0 805cddc: 49000000 .word 0x49000000 805cde0: 3fb504f3 .word 0x3fb504f3 805cde4: 20020d9c .word 0x20020d9c 805cde8: c2c80000 .word 0xc2c80000 805cdec: 20020d6c .word 0x20020d6c 805cdf0: 20020d88 .word 0x20020d88 805cdf4: 64080000 .word 0x64080000 } } } else { RepeatKm = true; 805cdf8: 4baf ldr r3, [pc, #700] ; (805d0b8 ) 805cdfa: 2201 movs r2, #1 805cdfc: 701a strb r2, [r3, #0] timeRelax = RELAX + 1; 805cdfe: 4baf ldr r3, [pc, #700] ; (805d0bc ) 805ce00: 681b ldr r3, [r3, #0] 805ce02: 3301 adds r3, #1 805ce04: 4aae ldr r2, [pc, #696] ; (805d0c0 ) 805ce06: 6013 str r3, [r2, #0] faseUdar = 0; 805ce08: 4bae ldr r3, [pc, #696] ; (805d0c4 ) 805ce0a: 2200 movs r2, #0 805ce0c: 701a strb r2, [r3, #0] 805ce0e: e000 b.n 805ce12 if(timeRelax == 1) 805ce10: bf00 nop } tick = HAL_GetTick() - tick; 805ce12: f056 fa11 bl 80b3238 805ce16: 4602 mov r2, r0 805ce18: f8d7 321c ldr.w r3, [r7, #540] ; 0x21c 805ce1c: 1ad3 subs r3, r2, r3 805ce1e: f8c7 321c str.w r3, [r7, #540] ; 0x21c if(tick > maxtick) 805ce22: 4ba9 ldr r3, [pc, #676] ; (805d0c8 ) 805ce24: 681b ldr r3, [r3, #0] 805ce26: f8d7 221c ldr.w r2, [r7, #540] ; 0x21c 805ce2a: 429a cmp r2, r3 805ce2c: d903 bls.n 805ce36 maxtick = tick; 805ce2e: 4aa6 ldr r2, [pc, #664] ; (805d0c8 ) 805ce30: f8d7 321c ldr.w r3, [r7, #540] ; 0x21c 805ce34: 6013 str r3, [r2, #0] if(READY) 805ce36: 4ba5 ldr r3, [pc, #660] ; (805d0cc ) 805ce38: 781b ldrb r3, [r3, #0] 805ce3a: b2db uxtb r3, r3 805ce3c: 2b00 cmp r3, #0 805ce3e: f007 8134 beq.w 80640aa { tick = 0; 805ce42: 2300 movs r3, #0 805ce44: f8c7 321c str.w r3, [r7, #540] ; 0x21c //*========================================================================================================================= //*========================================================================================================================= //*========================================================================================================================= } break; 805ce48: f007 b92f b.w 80640aa case SPEC: if(measuring) 805ce4c: 4ba0 ldr r3, [pc, #640] ; (805d0d0 ) 805ce4e: 781b ldrb r3, [r3, #0] 805ce50: b2db uxtb r3, r3 805ce52: 2b00 cmp r3, #0 805ce54: f007 812b beq.w 80640ae { GetData(); 805ce58: f007 fbe8 bl 806462c j = 0; 805ce5c: 2300 movs r3, #0 805ce5e: f8c7 31cc str.w r3, [r7, #460] ; 0x1cc if(pardata.OPTIONS & 0x4) 805ce62: 4b9c ldr r3, [pc, #624] ; (805d0d4 ) 805ce64: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 805ce68: f003 0304 and.w r3, r3, #4 805ce6c: 2b00 cmp r3, #0 805ce6e: d005 beq.n 805ce7c CalculateGain(Ns); 805ce70: 4b99 ldr r3, [pc, #612] ; (805d0d8 ) 805ce72: 681b ldr r3, [r3, #0] 805ce74: 4618 mov r0, r3 805ce76: f7f8 fdbd bl 80559f4 805ce7a: e02e b.n 805ceda else { Stability = (Nr * 4) + 1; 805ce7c: 4b97 ldr r3, [pc, #604] ; (805d0dc ) 805ce7e: 881b ldrh r3, [r3, #0] 805ce80: b29b uxth r3, r3 805ce82: 009b lsls r3, r3, #2 805ce84: 3301 adds r3, #1 805ce86: 461a mov r2, r3 805ce88: 4b95 ldr r3, [pc, #596] ; (805d0e0 ) 805ce8a: 601a str r2, [r3, #0] for(i = 0; i < Ns; i++) 805ce8c: 2300 movs r3, #0 805ce8e: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805ce92: e011 b.n 805ceb8 { if(In16[i].lg > 0xE00000) 805ce94: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805ce98: 4a92 ldr r2, [pc, #584] ; (805d0e4 ) 805ce9a: f852 3023 ldr.w r3, [r2, r3, lsl #2] 805ce9e: f5b3 0f60 cmp.w r3, #14680064 ; 0xe00000 805cea2: d904 bls.n 805ceae j++; 805cea4: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 805cea8: 3301 adds r3, #1 805ceaa: f8c7 31cc str.w r3, [r7, #460] ; 0x1cc for(i = 0; i < Ns; i++) 805ceae: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805ceb2: 3301 adds r3, #1 805ceb4: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805ceb8: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805cebc: 4b86 ldr r3, [pc, #536] ; (805d0d8 ) 805cebe: 681b ldr r3, [r3, #0] 805cec0: 429a cmp r2, r3 805cec2: d3e7 bcc.n 805ce94 } if(j >= 2) 805cec4: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 805cec8: 2b01 cmp r3, #1 805ceca: d903 bls.n 805ced4 OVERDRIVE = true; 805cecc: 4b86 ldr r3, [pc, #536] ; (805d0e8 ) 805cece: 2201 movs r2, #1 805ced0: 701a strb r2, [r3, #0] 805ced2: e002 b.n 805ceda else OVERDRIVE = false; 805ced4: 4b84 ldr r3, [pc, #528] ; (805d0e8 ) 805ced6: 2200 movs r2, #0 805ced8: 701a strb r2, [r3, #0] } if(Flag_Set_KU) 805ceda: 4b84 ldr r3, [pc, #528] ; (805d0ec ) 805cedc: 781b ldrb r3, [r3, #0] 805cede: b2db uxtb r3, r3 805cee0: 2b00 cmp r3, #0 805cee2: d00a beq.n 805cefa { Stability = 0; 805cee4: 4b7e ldr r3, [pc, #504] ; (805d0e0 ) 805cee6: 2200 movs r2, #0 805cee8: 601a str r2, [r3, #0] MeanCnt = 0; 805ceea: 4b81 ldr r3, [pc, #516] ; (805d0f0 ) 805ceec: 2200 movs r2, #0 805ceee: 601a str r2, [r3, #0] NSamples = 0xffffffff; 805cef0: 4b80 ldr r3, [pc, #512] ; (805d0f4 ) 805cef2: f04f 32ff mov.w r2, #4294967295 805cef6: 601a str r2, [r3, #0] 805cef8: e00d b.n 805cf16 } else { if(Stability <= (Nr * 4)) 805cefa: 4b78 ldr r3, [pc, #480] ; (805d0dc ) 805cefc: 881b ldrh r3, [r3, #0] 805cefe: b29b uxth r3, r3 805cf00: 009b lsls r3, r3, #2 805cf02: 461a mov r2, r3 805cf04: 4b76 ldr r3, [pc, #472] ; (805d0e0 ) 805cf06: 681b ldr r3, [r3, #0] 805cf08: 429a cmp r2, r3 805cf0a: d304 bcc.n 805cf16 Stability++; 805cf0c: 4b74 ldr r3, [pc, #464] ; (805d0e0 ) 805cf0e: 681b ldr r3, [r3, #0] 805cf10: 3301 adds r3, #1 805cf12: 4a73 ldr r2, [pc, #460] ; (805d0e0 ) 805cf14: 6013 str r3, [r2, #0] } if((Flag_Set_KU == 0) && (Stability > (Nr * 4))) //åñëè àâòîóñèëåíèå íîðì 805cf16: 4b75 ldr r3, [pc, #468] ; (805d0ec ) 805cf18: 781b ldrb r3, [r3, #0] 805cf1a: b2db uxtb r3, r3 805cf1c: 2b00 cmp r3, #0 805cf1e: f040 81a9 bne.w 805d274 805cf22: 4b6e ldr r3, [pc, #440] ; (805d0dc ) 805cf24: 881b ldrh r3, [r3, #0] 805cf26: b29b uxth r3, r3 805cf28: 009b lsls r3, r3, #2 805cf2a: 461a mov r2, r3 805cf2c: 4b6c ldr r3, [pc, #432] ; (805d0e0 ) 805cf2e: 681b ldr r3, [r3, #0] 805cf30: 429a cmp r2, r3 805cf32: f080 819f bcs.w 805d274 { MeanCnt++; 805cf36: 4b6e ldr r3, [pc, #440] ; (805d0f0 ) 805cf38: 681b ldr r3, [r3, #0] 805cf3a: 3301 adds r3, #1 805cf3c: 4a6c ldr r2, [pc, #432] ; (805d0f0 ) 805cf3e: 6013 str r3, [r2, #0] //************************************************************************************************************** fNrm = 1.0f / ((float32_t)(Ns >> 1)); 805cf40: 4b65 ldr r3, [pc, #404] ; (805d0d8 ) 805cf42: 681b ldr r3, [r3, #0] 805cf44: 085b lsrs r3, r3, #1 805cf46: ee07 3a90 vmov s15, r3 805cf4a: eeb8 7a67 vcvt.f32.u32 s14, s15 805cf4e: eef7 6a00 vmov.f32 s13, #112 ; 0x3f800000 1.0 805cf52: eec6 7a87 vdiv.f32 s15, s13, s14 805cf56: edc7 7a85 vstr s15, [r7, #532] ; 0x214 sc = (6.0 / 16777215.0) * (float64_t) CorrKk[ACC]; 805cf5a: 4b67 ldr r3, [pc, #412] ; (805d0f8 ) 805cf5c: edd3 7a00 vldr s15, [r3] 805cf60: eeb7 7ae7 vcvt.f64.f32 d7, s15 805cf64: ed9f 6b52 vldr d6, [pc, #328] ; 805d0b0 805cf68: ee27 7b06 vmul.f64 d7, d7, d6 805cf6c: ed87 7b82 vstr d7, [r7, #520] ; 0x208 sc /= (float64_t) pardata.IKK; 805cf70: 4b58 ldr r3, [pc, #352] ; (805d0d4 ) 805cf72: edd3 7a04 vldr s15, [r3, #16] 805cf76: eeb7 6ae7 vcvt.f64.f32 d6, s15 805cf7a: ed97 5b82 vldr d5, [r7, #520] ; 0x208 805cf7e: ee85 7b06 vdiv.f64 d7, d5, d6 805cf82: ed87 7b82 vstr d7, [r7, #520] ; 0x208 for(i = 0; i < Ns; i++) 805cf86: 2300 movs r3, #0 805cf88: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805cf8c: e026 b.n 805cfdc { Buff64[i] = (float64_t) In16[i].lg; 805cf8e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805cf92: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805cf96: 4953 ldr r1, [pc, #332] ; (805d0e4 ) 805cf98: f851 2022 ldr.w r2, [r1, r2, lsl #2] 805cf9c: ee07 2a90 vmov s15, r2 805cfa0: eeb8 7b67 vcvt.f64.u32 d7, s15 805cfa4: 4a55 ldr r2, [pc, #340] ; (805d0fc ) 805cfa6: 00db lsls r3, r3, #3 805cfa8: 4413 add r3, r2 805cfaa: ed83 7b00 vstr d7, [r3] Buff64[i] *= sc; 805cfae: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805cfb2: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805cfb6: 4951 ldr r1, [pc, #324] ; (805d0fc ) 805cfb8: 00d2 lsls r2, r2, #3 805cfba: 440a add r2, r1 805cfbc: ed92 6b00 vldr d6, [r2] 805cfc0: ed97 7b82 vldr d7, [r7, #520] ; 0x208 805cfc4: ee26 7b07 vmul.f64 d7, d6, d7 805cfc8: 4a4c ldr r2, [pc, #304] ; (805d0fc ) 805cfca: 00db lsls r3, r3, #3 805cfcc: 4413 add r3, r2 805cfce: ed83 7b00 vstr d7, [r3] for(i = 0; i < Ns; i++) 805cfd2: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805cfd6: 3301 adds r3, #1 805cfd8: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805cfdc: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805cfe0: 4b3d ldr r3, [pc, #244] ; (805d0d8 ) 805cfe2: 681b ldr r3, [r3, #0] 805cfe4: 429a cmp r2, r3 805cfe6: d3d2 bcc.n 805cf8e } arm_biquad_cascade_df2T_f64(&S_LP, Buff64, Buff64, Ns); 805cfe8: 4b3b ldr r3, [pc, #236] ; (805d0d8 ) 805cfea: 681b ldr r3, [r3, #0] 805cfec: 4a43 ldr r2, [pc, #268] ; (805d0fc ) 805cfee: 4943 ldr r1, [pc, #268] ; (805d0fc ) 805cff0: 4843 ldr r0, [pc, #268] ; (805d100 ) 805cff2: f06d f8d7 bl 80ca1a4 arm_biquad_cascade_df2T_f64(&S_HP_ACC, Buff64, Buff64, Ns); 805cff6: 4b38 ldr r3, [pc, #224] ; (805d0d8 ) 805cff8: 681b ldr r3, [r3, #0] 805cffa: 4a40 ldr r2, [pc, #256] ; (805d0fc ) 805cffc: 493f ldr r1, [pc, #252] ; (805d0fc ) 805cffe: 4841 ldr r0, [pc, #260] ; (805d104 ) 805d000: f06d f8d0 bl 80ca1a4 for(i = 0; i < Ns; i++) { 805d004: 2300 movs r3, #0 805d006: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805d00a: e014 b.n 805d036 Out[i] = (float32_t) Buff64[i]; 805d00c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805d010: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805d014: 4939 ldr r1, [pc, #228] ; (805d0fc ) 805d016: 00d2 lsls r2, r2, #3 805d018: 440a add r2, r1 805d01a: ed92 7b00 vldr d7, [r2] 805d01e: eef7 7bc7 vcvt.f32.f64 s15, d7 805d022: 4a39 ldr r2, [pc, #228] ; (805d108 ) 805d024: 009b lsls r3, r3, #2 805d026: 4413 add r3, r2 805d028: edc3 7a00 vstr s15, [r3] for(i = 0; i < Ns; i++) { 805d02c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805d030: 3301 adds r3, #1 805d032: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805d036: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805d03a: 4b27 ldr r3, [pc, #156] ; (805d0d8 ) 805d03c: 681b ldr r3, [r3, #0] 805d03e: 429a cmp r2, r3 805d040: d3e4 bcc.n 805d00c WindowFunc(pardata.WIN, Ns); 805d042: 4b24 ldr r3, [pc, #144] ; (805d0d4 ) 805d044: 7a5b ldrb r3, [r3, #9] 805d046: b2da uxtb r2, r3 805d048: 4b23 ldr r3, [pc, #140] ; (805d0d8 ) 805d04a: 681b ldr r3, [r3, #0] 805d04c: b29b uxth r3, r3 805d04e: 4619 mov r1, r3 805d050: 4610 mov r0, r2 805d052: f007 fb7b bl 806474c initFFT(Out, In, Forward); 805d056: 2200 movs r2, #0 805d058: 492c ldr r1, [pc, #176] ; (805d10c ) 805d05a: 482b ldr r0, [pc, #172] ; (805d108 ) 805d05c: f7f9 f84a bl 80560f4 arm_cmplx_mag_f32(In, Out, Ns); 805d060: 4b1d ldr r3, [pc, #116] ; (805d0d8 ) 805d062: 681b ldr r3, [r3, #0] 805d064: 461a mov r2, r3 805d066: 4928 ldr r1, [pc, #160] ; (805d108 ) 805d068: 4828 ldr r0, [pc, #160] ; (805d10c ) 805d06a: f06d fa23 bl 80ca4b4 arm_scale_f32(Out, fNrm, In, (Ns >> 1)); 805d06e: 4b1a ldr r3, [pc, #104] ; (805d0d8 ) 805d070: 681b ldr r3, [r3, #0] 805d072: 085b lsrs r3, r3, #1 805d074: 461a mov r2, r3 805d076: 4925 ldr r1, [pc, #148] ; (805d10c ) 805d078: ed97 0a85 vldr s0, [r7, #532] ; 0x214 805d07c: 4822 ldr r0, [pc, #136] ; (805d108 ) 805d07e: f06d fb47 bl 80ca710 //************************************************************************************************************** if(AVG[pardata.AVG] > 1) 805d082: 4b14 ldr r3, [pc, #80] ; (805d0d4 ) 805d084: 7b5b ldrb r3, [r3, #13] 805d086: b2db uxtb r3, r3 805d088: 461a mov r2, r3 805d08a: 4b21 ldr r3, [pc, #132] ; (805d110 ) 805d08c: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 805d090: 2b01 cmp r3, #1 805d092: d95d bls.n 805d150 { if(MeanCnt == 1) 805d094: 4b16 ldr r3, [pc, #88] ; (805d0f0 ) 805d096: 681b ldr r3, [r3, #0] 805d098: 2b01 cmp r3, #1 805d09a: d13b bne.n 805d114 FastCopy16(IN_Reg, MEAN_Reg, _2Ns); 805d09c: 4b0e ldr r3, [pc, #56] ; (805d0d8 ) 805d09e: 681b ldr r3, [r3, #0] 805d0a0: 005b lsls r3, r3, #1 805d0a2: 461a mov r2, r3 805d0a4: 2103 movs r1, #3 805d0a6: 2001 movs r0, #1 805d0a8: f007 f94a bl 8064340 805d0ac: e050 b.n 805d150 805d0ae: bf00 nop 805d0b0: 18000018 .word 0x18000018 805d0b4: 3e980000 .word 0x3e980000 805d0b8: 20020dac .word 0x20020dac 805d0bc: 20020d70 .word 0x20020d70 805d0c0: 20020d6c .word 0x20020d6c 805d0c4: 20021624 .word 0x20021624 805d0c8: 20021630 .word 0x20021630 805d0cc: 20020d7f .word 0x20020d7f 805d0d0: 20020daf .word 0x20020daf 805d0d4: 20023e60 .word 0x20023e60 805d0d8: 20021cdc .word 0x20021cdc 805d0dc: 20021d20 .word 0x20021d20 805d0e0: 20020da8 .word 0x20020da8 805d0e4: 20058020 .word 0x20058020 805d0e8: 20021531 .word 0x20021531 805d0ec: 20020d7e .word 0x20020d7e 805d0f0: 20020db8 .word 0x20020db8 805d0f4: 20020d88 .word 0x20020d88 805d0f8: 20020080 .word 0x20020080 805d0fc: 20037ae0 .word 0x20037ae0 805d100: 20026564 .word 0x20026564 805d104: 20025f00 .word 0x20025f00 805d108: 20008000 .word 0x20008000 805d10c: 200279c0 .word 0x200279c0 805d110: 080eeb00 .word 0x080eeb00 else { scale = 1.0f / ((float32_t) MeanCnt); 805d114: 4bae ldr r3, [pc, #696] ; (805d3d0 ) 805d116: 681b ldr r3, [r3, #0] 805d118: ee07 3a90 vmov s15, r3 805d11c: eeb8 7a67 vcvt.f32.u32 s14, s15 805d120: eef7 6a00 vmov.f32 s13, #112 ; 0x3f800000 1.0 805d124: eec6 7a87 vdiv.f32 s15, s13, s14 805d128: edc7 7a86 vstr s15, [r7, #536] ; 0x218 ARM_ADD_F32(IN_Reg, MEAN_Reg, MEAN_Reg, _2Ns); 805d12c: 4ba9 ldr r3, [pc, #676] ; (805d3d4 ) 805d12e: 681b ldr r3, [r3, #0] 805d130: 005b lsls r3, r3, #1 805d132: 2203 movs r2, #3 805d134: 2103 movs r1, #3 805d136: 2001 movs r0, #1 805d138: f007 f98e bl 8064458 ARM_SCALE_F32(MEAN_Reg, scale, IN_Reg, _2Ns); 805d13c: 4ba5 ldr r3, [pc, #660] ; (805d3d4 ) 805d13e: 681b ldr r3, [r3, #0] 805d140: 005b lsls r3, r3, #1 805d142: 461a mov r2, r3 805d144: 2101 movs r1, #1 805d146: ed97 0a86 vldr s0, [r7, #536] ; 0x218 805d14a: 2003 movs r0, #3 805d14c: f007 fa0a bl 8064564 } } if(pardata.IPR > ACC) { 805d150: 4ba1 ldr r3, [pc, #644] ; (805d3d8 ) 805d152: 785b ldrb r3, [r3, #1] 805d154: b2db uxtb r3, r3 805d156: 2b00 cmp r3, #0 805d158: d001 beq.n 805d15e INTEGR_NEW(); 805d15a: f007 fdff bl 8064d5c } if(MeanCnt == AVG[pardata.AVG]) 805d15e: 4b9e ldr r3, [pc, #632] ; (805d3d8 ) 805d160: 7b5b ldrb r3, [r3, #13] 805d162: b2db uxtb r3, r3 805d164: 461a mov r2, r3 805d166: 4b9d ldr r3, [pc, #628] ; (805d3dc ) 805d168: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 805d16c: 461a mov r2, r3 805d16e: 4b98 ldr r3, [pc, #608] ; (805d3d0 ) 805d170: 681b ldr r3, [r3, #0] 805d172: 429a cmp r2, r3 805d174: f040 8083 bne.w 805d27e { arm_power_f32(In, (Ns >> 1), &skz[pardata.IPR]); 805d178: 4b96 ldr r3, [pc, #600] ; (805d3d4 ) 805d17a: 681b ldr r3, [r3, #0] 805d17c: 0859 lsrs r1, r3, #1 805d17e: 4b96 ldr r3, [pc, #600] ; (805d3d8 ) 805d180: 785b ldrb r3, [r3, #1] 805d182: b2db uxtb r3, r3 805d184: 009b lsls r3, r3, #2 805d186: 4a96 ldr r2, [pc, #600] ; (805d3e0 ) 805d188: 4413 add r3, r2 805d18a: 461a mov r2, r3 805d18c: 4895 ldr r0, [pc, #596] ; (805d3e4 ) 805d18e: f06c febf bl 80c9f10 skz[pardata.IPR] *= 0.5f; 805d192: 4b91 ldr r3, [pc, #580] ; (805d3d8 ) 805d194: 785b ldrb r3, [r3, #1] 805d196: b2db uxtb r3, r3 805d198: 4619 mov r1, r3 805d19a: 4a91 ldr r2, [pc, #580] ; (805d3e0 ) 805d19c: 009b lsls r3, r3, #2 805d19e: 4413 add r3, r2 805d1a0: edd3 7a00 vldr s15, [r3] 805d1a4: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 805d1a8: ee67 7a87 vmul.f32 s15, s15, s14 805d1ac: 4a8c ldr r2, [pc, #560] ; (805d3e0 ) 805d1ae: 008b lsls r3, r1, #2 805d1b0: 4413 add r3, r2 805d1b2: edc3 7a00 vstr s15, [r3] arm_sqrt_f32(skz[pardata.IPR], &skz[pardata.IPR]); 805d1b6: 4b88 ldr r3, [pc, #544] ; (805d3d8 ) 805d1b8: 785b ldrb r3, [r3, #1] 805d1ba: b2db uxtb r3, r3 805d1bc: 4a88 ldr r2, [pc, #544] ; (805d3e0 ) 805d1be: 009b lsls r3, r3, #2 805d1c0: 4413 add r3, r2 805d1c2: edd3 7a00 vldr s15, [r3] 805d1c6: 4b84 ldr r3, [pc, #528] ; (805d3d8 ) 805d1c8: 785b ldrb r3, [r3, #1] 805d1ca: b2db uxtb r3, r3 805d1cc: 009b lsls r3, r3, #2 805d1ce: 4a84 ldr r2, [pc, #528] ; (805d3e0 ) 805d1d0: 4413 add r3, r2 805d1d2: 4618 mov r0, r3 805d1d4: eeb0 0a67 vmov.f32 s0, s15 805d1d8: f7f8 fbea bl 80559b0 if(pardata.WIN == HANN) { 805d1dc: 4b7e ldr r3, [pc, #504] ; (805d3d8 ) 805d1de: 7a5b ldrb r3, [r3, #9] 805d1e0: b2db uxtb r3, r3 805d1e2: 2b01 cmp r3, #1 805d1e4: d111 bne.n 805d20a skz[pardata.IPR] *= 1.64f; 805d1e6: 4b7c ldr r3, [pc, #496] ; (805d3d8 ) 805d1e8: 785b ldrb r3, [r3, #1] 805d1ea: b2db uxtb r3, r3 805d1ec: 4619 mov r1, r3 805d1ee: 4a7c ldr r2, [pc, #496] ; (805d3e0 ) 805d1f0: 009b lsls r3, r3, #2 805d1f2: 4413 add r3, r2 805d1f4: edd3 7a00 vldr s15, [r3] 805d1f8: ed9f 7a7b vldr s14, [pc, #492] ; 805d3e8 805d1fc: ee67 7a87 vmul.f32 s15, s15, s14 805d200: 4a77 ldr r2, [pc, #476] ; (805d3e0 ) 805d202: 008b lsls r3, r1, #2 805d204: 4413 add r3, r2 805d206: edc3 7a00 vstr s15, [r3] } FastCopy16(IN_Reg, SCR_Reg, Ns); 805d20a: 4b72 ldr r3, [pc, #456] ; (805d3d4 ) 805d20c: 681b ldr r3, [r3, #0] 805d20e: 461a mov r2, r3 805d210: 2104 movs r1, #4 805d212: 2001 movs r0, #1 805d214: f007 f894 bl 8064340 if(pardata.IIN != VOLTS) 805d218: 4b6f ldr r3, [pc, #444] ; (805d3d8 ) 805d21a: 799b ldrb r3, [r3, #6] 805d21c: b2db uxtb r3, r3 805d21e: 2b02 cmp r3, #2 805d220: d00f beq.n 805d242 LinToLog(&skz[pardata.IPR], &skzDB[pardata.IPR]); 805d222: 4b6d ldr r3, [pc, #436] ; (805d3d8 ) 805d224: 785b ldrb r3, [r3, #1] 805d226: b2db uxtb r3, r3 805d228: 009b lsls r3, r3, #2 805d22a: 4a6d ldr r2, [pc, #436] ; (805d3e0 ) 805d22c: 1898 adds r0, r3, r2 805d22e: 4b6a ldr r3, [pc, #424] ; (805d3d8 ) 805d230: 785b ldrb r3, [r3, #1] 805d232: b2db uxtb r3, r3 805d234: 009b lsls r3, r3, #2 805d236: 4a6d ldr r2, [pc, #436] ; (805d3ec ) 805d238: 4413 add r3, r2 805d23a: 4619 mov r1, r3 805d23c: f007 fe34 bl 8064ea8 805d240: e011 b.n 805d266 else LinToLog_mV(&skz[pardata.IPR], &skzDB[pardata.IPR], pardata.IPR); 805d242: 4b65 ldr r3, [pc, #404] ; (805d3d8 ) 805d244: 785b ldrb r3, [r3, #1] 805d246: b2db uxtb r3, r3 805d248: 009b lsls r3, r3, #2 805d24a: 4a65 ldr r2, [pc, #404] ; (805d3e0 ) 805d24c: 1898 adds r0, r3, r2 805d24e: 4b62 ldr r3, [pc, #392] ; (805d3d8 ) 805d250: 785b ldrb r3, [r3, #1] 805d252: b2db uxtb r3, r3 805d254: 009b lsls r3, r3, #2 805d256: 4a65 ldr r2, [pc, #404] ; (805d3ec ) 805d258: 1899 adds r1, r3, r2 805d25a: 4b5f ldr r3, [pc, #380] ; (805d3d8 ) 805d25c: 785b ldrb r3, [r3, #1] 805d25e: b2db uxtb r3, r3 805d260: 461a mov r2, r3 805d262: f007 fe51 bl 8064f08 MeanCnt = 0; 805d266: 4b5a ldr r3, [pc, #360] ; (805d3d0 ) 805d268: 2200 movs r2, #0 805d26a: 601a str r2, [r3, #0] READY_TO_SEE = true; 805d26c: 4b60 ldr r3, [pc, #384] ; (805d3f0 ) 805d26e: 2201 movs r2, #1 805d270: 701a strb r2, [r3, #0] if(MeanCnt == AVG[pardata.AVG]) 805d272: e004 b.n 805d27e } } else { RepeatKm = true; 805d274: 4b5f ldr r3, [pc, #380] ; (805d3f4 ) 805d276: 2201 movs r2, #1 805d278: 701a strb r2, [r3, #0] } } break; 805d27a: f006 bf18 b.w 80640ae 805d27e: f006 bf16 b.w 80640ae case SPEC_OGIB: if(measuring) 805d282: 4b5d ldr r3, [pc, #372] ; (805d3f8 ) 805d284: 781b ldrb r3, [r3, #0] 805d286: b2db uxtb r3, r3 805d288: 2b00 cmp r3, #0 805d28a: f006 8712 beq.w 80640b2 { GetData(); 805d28e: f007 f9cd bl 806462c j = 0; 805d292: 2300 movs r3, #0 805d294: f8c7 31cc str.w r3, [r7, #460] ; 0x1cc if(pardata.OPTIONS & 0x4) 805d298: 4b4f ldr r3, [pc, #316] ; (805d3d8 ) 805d29a: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 805d29e: f003 0304 and.w r3, r3, #4 805d2a2: 2b00 cmp r3, #0 805d2a4: d005 beq.n 805d2b2 CalculateGain(Ns); 805d2a6: 4b4b ldr r3, [pc, #300] ; (805d3d4 ) 805d2a8: 681b ldr r3, [r3, #0] 805d2aa: 4618 mov r0, r3 805d2ac: f7f8 fba2 bl 80559f4 805d2b0: e02e b.n 805d310 else { Stability = (Nr * 4) + 1; 805d2b2: 4b52 ldr r3, [pc, #328] ; (805d3fc ) 805d2b4: 881b ldrh r3, [r3, #0] 805d2b6: b29b uxth r3, r3 805d2b8: 009b lsls r3, r3, #2 805d2ba: 3301 adds r3, #1 805d2bc: 461a mov r2, r3 805d2be: 4b50 ldr r3, [pc, #320] ; (805d400 ) 805d2c0: 601a str r2, [r3, #0] for(i = 0; i < Ns; i++) 805d2c2: 2300 movs r3, #0 805d2c4: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805d2c8: e011 b.n 805d2ee { if(In16[i].lg > 0xE00000) 805d2ca: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805d2ce: 4a4d ldr r2, [pc, #308] ; (805d404 ) 805d2d0: f852 3023 ldr.w r3, [r2, r3, lsl #2] 805d2d4: f5b3 0f60 cmp.w r3, #14680064 ; 0xe00000 805d2d8: d904 bls.n 805d2e4 j++; 805d2da: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 805d2de: 3301 adds r3, #1 805d2e0: f8c7 31cc str.w r3, [r7, #460] ; 0x1cc for(i = 0; i < Ns; i++) 805d2e4: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805d2e8: 3301 adds r3, #1 805d2ea: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805d2ee: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805d2f2: 4b38 ldr r3, [pc, #224] ; (805d3d4 ) 805d2f4: 681b ldr r3, [r3, #0] 805d2f6: 429a cmp r2, r3 805d2f8: d3e7 bcc.n 805d2ca } if(j >= 2) 805d2fa: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 805d2fe: 2b01 cmp r3, #1 805d300: d903 bls.n 805d30a OVERDRIVE = true; 805d302: 4b41 ldr r3, [pc, #260] ; (805d408 ) 805d304: 2201 movs r2, #1 805d306: 701a strb r2, [r3, #0] 805d308: e002 b.n 805d310 else OVERDRIVE = false; 805d30a: 4b3f ldr r3, [pc, #252] ; (805d408 ) 805d30c: 2200 movs r2, #0 805d30e: 701a strb r2, [r3, #0] } if(Flag_Set_KU) 805d310: 4b3e ldr r3, [pc, #248] ; (805d40c ) 805d312: 781b ldrb r3, [r3, #0] 805d314: b2db uxtb r3, r3 805d316: 2b00 cmp r3, #0 805d318: d00a beq.n 805d330 { Stability = 0; 805d31a: 4b39 ldr r3, [pc, #228] ; (805d400 ) 805d31c: 2200 movs r2, #0 805d31e: 601a str r2, [r3, #0] MeanCnt = 0; 805d320: 4b2b ldr r3, [pc, #172] ; (805d3d0 ) 805d322: 2200 movs r2, #0 805d324: 601a str r2, [r3, #0] NSamples = 0xffffffff; 805d326: 4b3a ldr r3, [pc, #232] ; (805d410 ) 805d328: f04f 32ff mov.w r2, #4294967295 805d32c: 601a str r2, [r3, #0] 805d32e: e00d b.n 805d34c } else { if(Stability <= (Nr * 4)) 805d330: 4b32 ldr r3, [pc, #200] ; (805d3fc ) 805d332: 881b ldrh r3, [r3, #0] 805d334: b29b uxth r3, r3 805d336: 009b lsls r3, r3, #2 805d338: 461a mov r2, r3 805d33a: 4b31 ldr r3, [pc, #196] ; (805d400 ) 805d33c: 681b ldr r3, [r3, #0] 805d33e: 429a cmp r2, r3 805d340: d304 bcc.n 805d34c Stability++; 805d342: 4b2f ldr r3, [pc, #188] ; (805d400 ) 805d344: 681b ldr r3, [r3, #0] 805d346: 3301 adds r3, #1 805d348: 4a2d ldr r2, [pc, #180] ; (805d400 ) 805d34a: 6013 str r3, [r2, #0] } if((Flag_Set_KU == 0) && (Stability > (Nr * 4))) // åñëè àâòîóñèëåíèå íîðì 805d34c: 4b2f ldr r3, [pc, #188] ; (805d40c ) 805d34e: 781b ldrb r3, [r3, #0] 805d350: b2db uxtb r3, r3 805d352: 2b00 cmp r3, #0 805d354: f040 828e bne.w 805d874 805d358: 4b28 ldr r3, [pc, #160] ; (805d3fc ) 805d35a: 881b ldrh r3, [r3, #0] 805d35c: b29b uxth r3, r3 805d35e: 009b lsls r3, r3, #2 805d360: 461a mov r2, r3 805d362: 4b27 ldr r3, [pc, #156] ; (805d400 ) 805d364: 681b ldr r3, [r3, #0] 805d366: 429a cmp r2, r3 805d368: f080 8284 bcs.w 805d874 { MeanCnt++; 805d36c: 4b18 ldr r3, [pc, #96] ; (805d3d0 ) 805d36e: 681b ldr r3, [r3, #0] 805d370: 3301 adds r3, #1 805d372: 4a17 ldr r2, [pc, #92] ; (805d3d0 ) 805d374: 6013 str r3, [r2, #0] //************************************************************************************************************** fNrm = 1.0f / ((float32_t)(Ns >> 1)); 805d376: 4b17 ldr r3, [pc, #92] ; (805d3d4 ) 805d378: 681b ldr r3, [r3, #0] 805d37a: 085b lsrs r3, r3, #1 805d37c: ee07 3a90 vmov s15, r3 805d380: eeb8 7a67 vcvt.f32.u32 s14, s15 805d384: eef7 6a00 vmov.f32 s13, #112 ; 0x3f800000 1.0 805d388: eec6 7a87 vdiv.f32 s15, s13, s14 805d38c: edc7 7a85 vstr s15, [r7, #532] ; 0x214 sc = (6.0 / 16777215.0) * (float64_t) CorrKk[ACC]; 805d390: 4b20 ldr r3, [pc, #128] ; (805d414 ) 805d392: edd3 7a00 vldr s15, [r3] 805d396: eeb7 7ae7 vcvt.f64.f32 d7, s15 805d39a: ed9f 6b0b vldr d6, [pc, #44] ; 805d3c8 805d39e: ee27 7b06 vmul.f64 d7, d7, d6 805d3a2: ed87 7b82 vstr d7, [r7, #520] ; 0x208 sc /= (float64_t) pardata.IKK; 805d3a6: 4b0c ldr r3, [pc, #48] ; (805d3d8 ) 805d3a8: edd3 7a04 vldr s15, [r3, #16] 805d3ac: eeb7 6ae7 vcvt.f64.f32 d6, s15 805d3b0: ed97 5b82 vldr d5, [r7, #520] ; 0x208 805d3b4: ee85 7b06 vdiv.f64 d7, d5, d6 805d3b8: ed87 7b82 vstr d7, [r7, #520] ; 0x208 for(i = 0; i < Ns; i++) 805d3bc: 2300 movs r3, #0 805d3be: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805d3c2: e050 b.n 805d466 805d3c4: f3af 8000 nop.w 805d3c8: 18000018 .word 0x18000018 805d3cc: 3e980000 .word 0x3e980000 805d3d0: 20020db8 .word 0x20020db8 805d3d4: 20021cdc .word 0x20021cdc 805d3d8: 20023e60 .word 0x20023e60 805d3dc: 080eeb00 .word 0x080eeb00 805d3e0: 20021540 .word 0x20021540 805d3e4: 200279c0 .word 0x200279c0 805d3e8: 3fd1eb85 .word 0x3fd1eb85 805d3ec: 2002154c .word 0x2002154c 805d3f0: 20020d8e .word 0x20020d8e 805d3f4: 20020dac .word 0x20020dac 805d3f8: 20020daf .word 0x20020daf 805d3fc: 20021d20 .word 0x20021d20 805d400: 20020da8 .word 0x20020da8 805d404: 20058020 .word 0x20058020 805d408: 20021531 .word 0x20021531 805d40c: 20020d7e .word 0x20020d7e 805d410: 20020d88 .word 0x20020d88 805d414: 20020080 .word 0x20020080 { Buff64[i] = (float64_t) In16[i].lg; 805d418: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805d41c: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805d420: 49ad ldr r1, [pc, #692] ; (805d6d8 ) 805d422: f851 2022 ldr.w r2, [r1, r2, lsl #2] 805d426: ee07 2a90 vmov s15, r2 805d42a: eeb8 7b67 vcvt.f64.u32 d7, s15 805d42e: 4aab ldr r2, [pc, #684] ; (805d6dc ) 805d430: 00db lsls r3, r3, #3 805d432: 4413 add r3, r2 805d434: ed83 7b00 vstr d7, [r3] Buff64[i] *= sc; 805d438: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805d43c: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805d440: 49a6 ldr r1, [pc, #664] ; (805d6dc ) 805d442: 00d2 lsls r2, r2, #3 805d444: 440a add r2, r1 805d446: ed92 6b00 vldr d6, [r2] 805d44a: ed97 7b82 vldr d7, [r7, #520] ; 0x208 805d44e: ee26 7b07 vmul.f64 d7, d6, d7 805d452: 4aa2 ldr r2, [pc, #648] ; (805d6dc ) 805d454: 00db lsls r3, r3, #3 805d456: 4413 add r3, r2 805d458: ed83 7b00 vstr d7, [r3] for(i = 0; i < Ns; i++) 805d45c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805d460: 3301 adds r3, #1 805d462: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805d466: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805d46a: 4b9d ldr r3, [pc, #628] ; (805d6e0 ) 805d46c: 681b ldr r3, [r3, #0] 805d46e: 429a cmp r2, r3 805d470: d3d2 bcc.n 805d418 } arm_biquad_cascade_df2T_f64(&S_LP, Buff64, Buff64, Ns); 805d472: 4b9b ldr r3, [pc, #620] ; (805d6e0 ) 805d474: 681b ldr r3, [r3, #0] 805d476: 4a99 ldr r2, [pc, #612] ; (805d6dc ) 805d478: 4998 ldr r1, [pc, #608] ; (805d6dc ) 805d47a: 489a ldr r0, [pc, #616] ; (805d6e4 ) 805d47c: f06c fe92 bl 80ca1a4 arm_biquad_cascade_df2T_f64(&S_HP_ACC, Buff64, Buff64, Ns); 805d480: 4b97 ldr r3, [pc, #604] ; (805d6e0 ) 805d482: 681b ldr r3, [r3, #0] 805d484: 4a95 ldr r2, [pc, #596] ; (805d6dc ) 805d486: 4995 ldr r1, [pc, #596] ; (805d6dc ) 805d488: 4897 ldr r0, [pc, #604] ; (805d6e8 ) 805d48a: f06c fe8b bl 80ca1a4 for(i = 0; i < Ns; i++) { 805d48e: 2300 movs r3, #0 805d490: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805d494: e014 b.n 805d4c0 Out[i] = (float32_t) Buff64[i]; 805d496: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805d49a: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805d49e: 498f ldr r1, [pc, #572] ; (805d6dc ) 805d4a0: 00d2 lsls r2, r2, #3 805d4a2: 440a add r2, r1 805d4a4: ed92 7b00 vldr d7, [r2] 805d4a8: eef7 7bc7 vcvt.f32.f64 s15, d7 805d4ac: 4a8f ldr r2, [pc, #572] ; (805d6ec ) 805d4ae: 009b lsls r3, r3, #2 805d4b0: 4413 add r3, r2 805d4b2: edc3 7a00 vstr s15, [r3] for(i = 0; i < Ns; i++) { 805d4b6: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805d4ba: 3301 adds r3, #1 805d4bc: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805d4c0: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805d4c4: 4b86 ldr r3, [pc, #536] ; (805d6e0 ) 805d4c6: 681b ldr r3, [r3, #0] 805d4c8: 429a cmp r2, r3 805d4ca: d3e4 bcc.n 805d496 } //************************************************ FastCopy16(OUT_Reg, CMPLX_A, _2Ns); 805d4cc: 4b84 ldr r3, [pc, #528] ; (805d6e0 ) 805d4ce: 681b ldr r3, [r3, #0] 805d4d0: 005b lsls r3, r3, #1 805d4d2: 461a mov r2, r3 805d4d4: 2105 movs r1, #5 805d4d6: 2009 movs r0, #9 805d4d8: f006 ff32 bl 8064340 arm_fill_f32(0.0f, &Image(0), Ns); 805d4dc: 4b80 ldr r3, [pc, #512] ; (805d6e0 ) 805d4de: 681b ldr r3, [r3, #0] 805d4e0: 4619 mov r1, r3 805d4e2: 4883 ldr r0, [pc, #524] ; (805d6f0 ) 805d4e4: ed9f 0a83 vldr s0, [pc, #524] ; 805d6f4 805d4e8: f06c fc0c bl 80c9d04 MyFFT(Ns, 0); 805d4ec: 4b7c ldr r3, [pc, #496] ; (805d6e0 ) 805d4ee: 681b ldr r3, [r3, #0] 805d4f0: 2100 movs r1, #0 805d4f2: 4618 mov r0, r3 805d4f4: f009 fb04 bl 8066b00 for(i = Ns / 2; i < Ns; i++) 805d4f8: 4b79 ldr r3, [pc, #484] ; (805d6e0 ) 805d4fa: 681b ldr r3, [r3, #0] 805d4fc: 085b lsrs r3, r3, #1 805d4fe: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805d502: e016 b.n 805d532 { Real(i) = 0; 805d504: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805d508: 009a lsls r2, r3, #2 805d50a: 4b7b ldr r3, [pc, #492] ; (805d6f8 ) 805d50c: 4413 add r3, r2 805d50e: 461a mov r2, r3 805d510: f04f 0300 mov.w r3, #0 805d514: 6013 str r3, [r2, #0] Image(i) = 0; 805d516: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805d51a: 009a lsls r2, r3, #2 805d51c: 4b74 ldr r3, [pc, #464] ; (805d6f0 ) 805d51e: 4413 add r3, r2 805d520: 461a mov r2, r3 805d522: f04f 0300 mov.w r3, #0 805d526: 6013 str r3, [r2, #0] for(i = Ns / 2; i < Ns; i++) 805d528: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805d52c: 3301 adds r3, #1 805d52e: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805d532: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805d536: 4b6a ldr r3, [pc, #424] ; (805d6e0 ) 805d538: 681b ldr r3, [r3, #0] 805d53a: 429a cmp r2, r3 805d53c: d3e2 bcc.n 805d504 } for(i = 0; i < Ns / 2; i++) 805d53e: 2300 movs r3, #0 805d540: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805d544: e026 b.n 805d594 { Real(i) = Real(i) * 2.0f; 805d546: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805d54a: 009a lsls r2, r3, #2 805d54c: 4b6a ldr r3, [pc, #424] ; (805d6f8 ) 805d54e: 4413 add r3, r2 805d550: 4619 mov r1, r3 805d552: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805d556: 009a lsls r2, r3, #2 805d558: 4b67 ldr r3, [pc, #412] ; (805d6f8 ) 805d55a: 4413 add r3, r2 805d55c: edd3 7a00 vldr s15, [r3] 805d560: ee77 7aa7 vadd.f32 s15, s15, s15 805d564: edc1 7a00 vstr s15, [r1] Image(i) = Image(i) * 2.0f; 805d568: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805d56c: 009a lsls r2, r3, #2 805d56e: 4b60 ldr r3, [pc, #384] ; (805d6f0 ) 805d570: 4413 add r3, r2 805d572: 4619 mov r1, r3 805d574: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805d578: 009a lsls r2, r3, #2 805d57a: 4b5d ldr r3, [pc, #372] ; (805d6f0 ) 805d57c: 4413 add r3, r2 805d57e: edd3 7a00 vldr s15, [r3] 805d582: ee77 7aa7 vadd.f32 s15, s15, s15 805d586: edc1 7a00 vstr s15, [r1] for(i = 0; i < Ns / 2; i++) 805d58a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805d58e: 3301 adds r3, #1 805d590: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805d594: 4b52 ldr r3, [pc, #328] ; (805d6e0 ) 805d596: 681b ldr r3, [r3, #0] 805d598: 085a lsrs r2, r3, #1 805d59a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805d59e: 429a cmp r2, r3 805d5a0: d8d1 bhi.n 805d546 } MyFFT(Ns, -1); 805d5a2: 4b4f ldr r3, [pc, #316] ; (805d6e0 ) 805d5a4: 681b ldr r3, [r3, #0] 805d5a6: f04f 31ff mov.w r1, #4294967295 805d5aa: 4618 mov r0, r3 805d5ac: f009 faa8 bl 8066b00 for(i = 0; i < Ns; i++) 805d5b0: 2300 movs r3, #0 805d5b2: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805d5b6: e03e b.n 805d636 { In[i] = (Out[i] * Out[i]) + (Image(i) * Image(i)); 805d5b8: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805d5bc: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805d5c0: 494a ldr r1, [pc, #296] ; (805d6ec ) 805d5c2: 009b lsls r3, r3, #2 805d5c4: 440b add r3, r1 805d5c6: ed93 7a00 vldr s14, [r3] 805d5ca: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805d5ce: 4947 ldr r1, [pc, #284] ; (805d6ec ) 805d5d0: 009b lsls r3, r3, #2 805d5d2: 440b add r3, r1 805d5d4: edd3 7a00 vldr s15, [r3] 805d5d8: ee27 7a27 vmul.f32 s14, s14, s15 805d5dc: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805d5e0: 0099 lsls r1, r3, #2 805d5e2: 4b43 ldr r3, [pc, #268] ; (805d6f0 ) 805d5e4: 440b add r3, r1 805d5e6: edd3 6a00 vldr s13, [r3] 805d5ea: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805d5ee: 0099 lsls r1, r3, #2 805d5f0: 4b3f ldr r3, [pc, #252] ; (805d6f0 ) 805d5f2: 440b add r3, r1 805d5f4: edd3 7a00 vldr s15, [r3] 805d5f8: ee66 7aa7 vmul.f32 s15, s13, s15 805d5fc: ee77 7a27 vadd.f32 s15, s14, s15 805d600: 493e ldr r1, [pc, #248] ; (805d6fc ) 805d602: 0093 lsls r3, r2, #2 805d604: 440b add r3, r1 805d606: edc3 7a00 vstr s15, [r3] arm_sqrt_f32(In[i], &Out[i]); 805d60a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805d60e: 4a3b ldr r2, [pc, #236] ; (805d6fc ) 805d610: 009b lsls r3, r3, #2 805d612: 4413 add r3, r2 805d614: edd3 7a00 vldr s15, [r3] 805d618: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805d61c: 009b lsls r3, r3, #2 805d61e: 4a33 ldr r2, [pc, #204] ; (805d6ec ) 805d620: 4413 add r3, r2 805d622: 4618 mov r0, r3 805d624: eeb0 0a67 vmov.f32 s0, s15 805d628: f7f8 f9c2 bl 80559b0 for(i = 0; i < Ns; i++) 805d62c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805d630: 3301 adds r3, #1 805d632: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805d636: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805d63a: 4b29 ldr r3, [pc, #164] ; (805d6e0 ) 805d63c: 681b ldr r3, [r3, #0] 805d63e: 429a cmp r2, r3 805d640: d3ba bcc.n 805d5b8 } arm_mean_f32(Out, Ns, &fl); 805d642: 4b27 ldr r3, [pc, #156] ; (805d6e0 ) 805d644: 681b ldr r3, [r3, #0] 805d646: f507 72de add.w r2, r7, #444 ; 0x1bc 805d64a: 4619 mov r1, r3 805d64c: 4827 ldr r0, [pc, #156] ; (805d6ec ) 805d64e: f06c fcff bl 80ca050 arm_offset_f32(Out, -fl, Out, Ns); 805d652: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 805d656: eef1 7a67 vneg.f32 s15, s15 805d65a: 4b21 ldr r3, [pc, #132] ; (805d6e0 ) 805d65c: 681b ldr r3, [r3, #0] 805d65e: 461a mov r2, r3 805d660: 4922 ldr r1, [pc, #136] ; (805d6ec ) 805d662: eeb0 0a67 vmov.f32 s0, s15 805d666: 4821 ldr r0, [pc, #132] ; (805d6ec ) 805d668: f06d f888 bl 80ca77c //*************************************************** WindowFunc(pardata.WIN, Ns); 805d66c: 4b24 ldr r3, [pc, #144] ; (805d700 ) 805d66e: 7a5b ldrb r3, [r3, #9] 805d670: b2da uxtb r2, r3 805d672: 4b1b ldr r3, [pc, #108] ; (805d6e0 ) 805d674: 681b ldr r3, [r3, #0] 805d676: b29b uxth r3, r3 805d678: 4619 mov r1, r3 805d67a: 4610 mov r0, r2 805d67c: f007 f866 bl 806474c initFFT(Out, In, Forward); 805d680: 2200 movs r2, #0 805d682: 491e ldr r1, [pc, #120] ; (805d6fc ) 805d684: 4819 ldr r0, [pc, #100] ; (805d6ec ) 805d686: f7f8 fd35 bl 80560f4 arm_cmplx_mag_f32(In, Out, Ns); 805d68a: 4b15 ldr r3, [pc, #84] ; (805d6e0 ) 805d68c: 681b ldr r3, [r3, #0] 805d68e: 461a mov r2, r3 805d690: 4916 ldr r1, [pc, #88] ; (805d6ec ) 805d692: 481a ldr r0, [pc, #104] ; (805d6fc ) 805d694: f06c ff0e bl 80ca4b4 arm_scale_f32(Out, fNrm, In, (Ns >> 1)); 805d698: 4b11 ldr r3, [pc, #68] ; (805d6e0 ) 805d69a: 681b ldr r3, [r3, #0] 805d69c: 085b lsrs r3, r3, #1 805d69e: 461a mov r2, r3 805d6a0: 4916 ldr r1, [pc, #88] ; (805d6fc ) 805d6a2: ed97 0a85 vldr s0, [r7, #532] ; 0x214 805d6a6: 4811 ldr r0, [pc, #68] ; (805d6ec ) 805d6a8: f06d f832 bl 80ca710 if(AVG[pardata.AVG] > 1) 805d6ac: 4b14 ldr r3, [pc, #80] ; (805d700 ) 805d6ae: 7b5b ldrb r3, [r3, #13] 805d6b0: b2db uxtb r3, r3 805d6b2: 461a mov r2, r3 805d6b4: 4b13 ldr r3, [pc, #76] ; (805d704 ) 805d6b6: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 805d6ba: 2b01 cmp r3, #1 805d6bc: d944 bls.n 805d748 { if(MeanCnt == 1) 805d6be: 4b12 ldr r3, [pc, #72] ; (805d708 ) 805d6c0: 681b ldr r3, [r3, #0] 805d6c2: 2b01 cmp r3, #1 805d6c4: d122 bne.n 805d70c FastCopy16(IN_Reg, MEAN_Reg, _2Ns); 805d6c6: 4b06 ldr r3, [pc, #24] ; (805d6e0 ) 805d6c8: 681b ldr r3, [r3, #0] 805d6ca: 005b lsls r3, r3, #1 805d6cc: 461a mov r2, r3 805d6ce: 2103 movs r1, #3 805d6d0: 2001 movs r0, #1 805d6d2: f006 fe35 bl 8064340 805d6d6: e037 b.n 805d748 805d6d8: 20058020 .word 0x20058020 805d6dc: 20037ae0 .word 0x20037ae0 805d6e0: 20021cdc .word 0x20021cdc 805d6e4: 20026564 .word 0x20026564 805d6e8: 20025f00 .word 0x20025f00 805d6ec: 20008000 .word 0x20008000 805d6f0: 64098000 .word 0x64098000 805d6f4: 00000000 .word 0x00000000 805d6f8: 64090000 .word 0x64090000 805d6fc: 200279c0 .word 0x200279c0 805d700: 20023e60 .word 0x20023e60 805d704: 080eeb00 .word 0x080eeb00 805d708: 20020db8 .word 0x20020db8 else { scale = 1.0f / ((float32_t) MeanCnt); 805d70c: 4bb2 ldr r3, [pc, #712] ; (805d9d8 ) 805d70e: 681b ldr r3, [r3, #0] 805d710: ee07 3a90 vmov s15, r3 805d714: eeb8 7a67 vcvt.f32.u32 s14, s15 805d718: eef7 6a00 vmov.f32 s13, #112 ; 0x3f800000 1.0 805d71c: eec6 7a87 vdiv.f32 s15, s13, s14 805d720: edc7 7a86 vstr s15, [r7, #536] ; 0x218 ARM_ADD_F32(IN_Reg, MEAN_Reg, MEAN_Reg, _2Ns); 805d724: 4bad ldr r3, [pc, #692] ; (805d9dc ) 805d726: 681b ldr r3, [r3, #0] 805d728: 005b lsls r3, r3, #1 805d72a: 2203 movs r2, #3 805d72c: 2103 movs r1, #3 805d72e: 2001 movs r0, #1 805d730: f006 fe92 bl 8064458 ARM_SCALE_F32(MEAN_Reg, scale, IN_Reg, _2Ns); 805d734: 4ba9 ldr r3, [pc, #676] ; (805d9dc ) 805d736: 681b ldr r3, [r3, #0] 805d738: 005b lsls r3, r3, #1 805d73a: 461a mov r2, r3 805d73c: 2101 movs r1, #1 805d73e: ed97 0a86 vldr s0, [r7, #536] ; 0x218 805d742: 2003 movs r0, #3 805d744: f006 ff0e bl 8064564 } } if(pardata.IPR > ACC) { 805d748: 4ba5 ldr r3, [pc, #660] ; (805d9e0 ) 805d74a: 785b ldrb r3, [r3, #1] 805d74c: b2db uxtb r3, r3 805d74e: 2b00 cmp r3, #0 805d750: d001 beq.n 805d756 INTEGR_NEW(); 805d752: f007 fb03 bl 8064d5c } if(MeanCnt == AVG[pardata.AVG]) 805d756: 4ba2 ldr r3, [pc, #648] ; (805d9e0 ) 805d758: 7b5b ldrb r3, [r3, #13] 805d75a: b2db uxtb r3, r3 805d75c: 461a mov r2, r3 805d75e: 4ba1 ldr r3, [pc, #644] ; (805d9e4 ) 805d760: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 805d764: 461a mov r2, r3 805d766: 4b9c ldr r3, [pc, #624] ; (805d9d8 ) 805d768: 681b ldr r3, [r3, #0] 805d76a: 429a cmp r2, r3 805d76c: f040 8087 bne.w 805d87e { In[0] = 0.0f; 805d770: 4b9d ldr r3, [pc, #628] ; (805d9e8 ) 805d772: f04f 0200 mov.w r2, #0 805d776: 601a str r2, [r3, #0] arm_power_f32(In, (Ns >> 1), &skz[pardata.IPR]); 805d778: 4b98 ldr r3, [pc, #608] ; (805d9dc ) 805d77a: 681b ldr r3, [r3, #0] 805d77c: 0859 lsrs r1, r3, #1 805d77e: 4b98 ldr r3, [pc, #608] ; (805d9e0 ) 805d780: 785b ldrb r3, [r3, #1] 805d782: b2db uxtb r3, r3 805d784: 009b lsls r3, r3, #2 805d786: 4a99 ldr r2, [pc, #612] ; (805d9ec ) 805d788: 4413 add r3, r2 805d78a: 461a mov r2, r3 805d78c: 4896 ldr r0, [pc, #600] ; (805d9e8 ) 805d78e: f06c fbbf bl 80c9f10 skz[pardata.IPR] *= 0.5f; 805d792: 4b93 ldr r3, [pc, #588] ; (805d9e0 ) 805d794: 785b ldrb r3, [r3, #1] 805d796: b2db uxtb r3, r3 805d798: 4619 mov r1, r3 805d79a: 4a94 ldr r2, [pc, #592] ; (805d9ec ) 805d79c: 009b lsls r3, r3, #2 805d79e: 4413 add r3, r2 805d7a0: edd3 7a00 vldr s15, [r3] 805d7a4: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 805d7a8: ee67 7a87 vmul.f32 s15, s15, s14 805d7ac: 4a8f ldr r2, [pc, #572] ; (805d9ec ) 805d7ae: 008b lsls r3, r1, #2 805d7b0: 4413 add r3, r2 805d7b2: edc3 7a00 vstr s15, [r3] arm_sqrt_f32(skz[pardata.IPR], &skz[pardata.IPR]); 805d7b6: 4b8a ldr r3, [pc, #552] ; (805d9e0 ) 805d7b8: 785b ldrb r3, [r3, #1] 805d7ba: b2db uxtb r3, r3 805d7bc: 4a8b ldr r2, [pc, #556] ; (805d9ec ) 805d7be: 009b lsls r3, r3, #2 805d7c0: 4413 add r3, r2 805d7c2: edd3 7a00 vldr s15, [r3] 805d7c6: 4b86 ldr r3, [pc, #536] ; (805d9e0 ) 805d7c8: 785b ldrb r3, [r3, #1] 805d7ca: b2db uxtb r3, r3 805d7cc: 009b lsls r3, r3, #2 805d7ce: 4a87 ldr r2, [pc, #540] ; (805d9ec ) 805d7d0: 4413 add r3, r2 805d7d2: 4618 mov r0, r3 805d7d4: eeb0 0a67 vmov.f32 s0, s15 805d7d8: f7f8 f8ea bl 80559b0 if(pardata.WIN == HANN) { 805d7dc: 4b80 ldr r3, [pc, #512] ; (805d9e0 ) 805d7de: 7a5b ldrb r3, [r3, #9] 805d7e0: b2db uxtb r3, r3 805d7e2: 2b01 cmp r3, #1 805d7e4: d111 bne.n 805d80a skz[pardata.IPR] *= 1.64f; 805d7e6: 4b7e ldr r3, [pc, #504] ; (805d9e0 ) 805d7e8: 785b ldrb r3, [r3, #1] 805d7ea: b2db uxtb r3, r3 805d7ec: 4619 mov r1, r3 805d7ee: 4a7f ldr r2, [pc, #508] ; (805d9ec ) 805d7f0: 009b lsls r3, r3, #2 805d7f2: 4413 add r3, r2 805d7f4: edd3 7a00 vldr s15, [r3] 805d7f8: ed9f 7a7d vldr s14, [pc, #500] ; 805d9f0 805d7fc: ee67 7a87 vmul.f32 s15, s15, s14 805d800: 4a7a ldr r2, [pc, #488] ; (805d9ec ) 805d802: 008b lsls r3, r1, #2 805d804: 4413 add r3, r2 805d806: edc3 7a00 vstr s15, [r3] } FastCopy16(IN_Reg, SCR_Reg, Ns); 805d80a: 4b74 ldr r3, [pc, #464] ; (805d9dc ) 805d80c: 681b ldr r3, [r3, #0] 805d80e: 461a mov r2, r3 805d810: 2104 movs r1, #4 805d812: 2001 movs r0, #1 805d814: f006 fd94 bl 8064340 if(pardata.IIN != VOLTS) 805d818: 4b71 ldr r3, [pc, #452] ; (805d9e0 ) 805d81a: 799b ldrb r3, [r3, #6] 805d81c: b2db uxtb r3, r3 805d81e: 2b02 cmp r3, #2 805d820: d00f beq.n 805d842 LinToLog(&skz[pardata.IPR], &skzDB[pardata.IPR]); 805d822: 4b6f ldr r3, [pc, #444] ; (805d9e0 ) 805d824: 785b ldrb r3, [r3, #1] 805d826: b2db uxtb r3, r3 805d828: 009b lsls r3, r3, #2 805d82a: 4a70 ldr r2, [pc, #448] ; (805d9ec ) 805d82c: 1898 adds r0, r3, r2 805d82e: 4b6c ldr r3, [pc, #432] ; (805d9e0 ) 805d830: 785b ldrb r3, [r3, #1] 805d832: b2db uxtb r3, r3 805d834: 009b lsls r3, r3, #2 805d836: 4a6f ldr r2, [pc, #444] ; (805d9f4 ) 805d838: 4413 add r3, r2 805d83a: 4619 mov r1, r3 805d83c: f007 fb34 bl 8064ea8 805d840: e011 b.n 805d866 else LinToLog_mV(&skz[pardata.IPR], &skzDB[pardata.IPR], pardata.IPR); 805d842: 4b67 ldr r3, [pc, #412] ; (805d9e0 ) 805d844: 785b ldrb r3, [r3, #1] 805d846: b2db uxtb r3, r3 805d848: 009b lsls r3, r3, #2 805d84a: 4a68 ldr r2, [pc, #416] ; (805d9ec ) 805d84c: 1898 adds r0, r3, r2 805d84e: 4b64 ldr r3, [pc, #400] ; (805d9e0 ) 805d850: 785b ldrb r3, [r3, #1] 805d852: b2db uxtb r3, r3 805d854: 009b lsls r3, r3, #2 805d856: 4a67 ldr r2, [pc, #412] ; (805d9f4 ) 805d858: 1899 adds r1, r3, r2 805d85a: 4b61 ldr r3, [pc, #388] ; (805d9e0 ) 805d85c: 785b ldrb r3, [r3, #1] 805d85e: b2db uxtb r3, r3 805d860: 461a mov r2, r3 805d862: f007 fb51 bl 8064f08 MeanCnt = 0; 805d866: 4b5c ldr r3, [pc, #368] ; (805d9d8 ) 805d868: 2200 movs r2, #0 805d86a: 601a str r2, [r3, #0] READY_TO_SEE = true; 805d86c: 4b62 ldr r3, [pc, #392] ; (805d9f8 ) 805d86e: 2201 movs r2, #1 805d870: 701a strb r2, [r3, #0] if(MeanCnt == AVG[pardata.AVG]) 805d872: e004 b.n 805d87e } } else { RepeatKm = true; 805d874: 4b61 ldr r3, [pc, #388] ; (805d9fc ) 805d876: 2201 movs r2, #1 805d878: 701a strb r2, [r3, #0] } } break; 805d87a: f006 bc1a b.w 80640b2 805d87e: f006 bc18 b.w 80640b2 case SPEC_OKT: if(measuring) 805d882: 4b5f ldr r3, [pc, #380] ; (805da00 ) 805d884: 781b ldrb r3, [r3, #0] 805d886: b2db uxtb r3, r3 805d888: 2b00 cmp r3, #0 805d88a: f006 8414 beq.w 80640b6 { GetData(); 805d88e: f006 fecd bl 806462c j = 0; 805d892: 2300 movs r3, #0 805d894: f8c7 31cc str.w r3, [r7, #460] ; 0x1cc if(pardata.OPTIONS & 0x4) 805d898: 4b51 ldr r3, [pc, #324] ; (805d9e0 ) 805d89a: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 805d89e: f003 0304 and.w r3, r3, #4 805d8a2: 2b00 cmp r3, #0 805d8a4: d005 beq.n 805d8b2 CalculateGain(Ns); 805d8a6: 4b4d ldr r3, [pc, #308] ; (805d9dc ) 805d8a8: 681b ldr r3, [r3, #0] 805d8aa: 4618 mov r0, r3 805d8ac: f7f8 f8a2 bl 80559f4 805d8b0: e02e b.n 805d910 else { Stability = (Nr * 4) + 1; 805d8b2: 4b54 ldr r3, [pc, #336] ; (805da04 ) 805d8b4: 881b ldrh r3, [r3, #0] 805d8b6: b29b uxth r3, r3 805d8b8: 009b lsls r3, r3, #2 805d8ba: 3301 adds r3, #1 805d8bc: 461a mov r2, r3 805d8be: 4b52 ldr r3, [pc, #328] ; (805da08 ) 805d8c0: 601a str r2, [r3, #0] for(i = 0; i < Ns; i++) 805d8c2: 2300 movs r3, #0 805d8c4: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805d8c8: e011 b.n 805d8ee { if(In16[i].lg > 0xE00000) 805d8ca: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805d8ce: 4a4f ldr r2, [pc, #316] ; (805da0c ) 805d8d0: f852 3023 ldr.w r3, [r2, r3, lsl #2] 805d8d4: f5b3 0f60 cmp.w r3, #14680064 ; 0xe00000 805d8d8: d904 bls.n 805d8e4 j++; 805d8da: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 805d8de: 3301 adds r3, #1 805d8e0: f8c7 31cc str.w r3, [r7, #460] ; 0x1cc for(i = 0; i < Ns; i++) 805d8e4: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805d8e8: 3301 adds r3, #1 805d8ea: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805d8ee: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805d8f2: 4b3a ldr r3, [pc, #232] ; (805d9dc ) 805d8f4: 681b ldr r3, [r3, #0] 805d8f6: 429a cmp r2, r3 805d8f8: d3e7 bcc.n 805d8ca } if(j >= 2) 805d8fa: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 805d8fe: 2b01 cmp r3, #1 805d900: d903 bls.n 805d90a OVERDRIVE = true; 805d902: 4b43 ldr r3, [pc, #268] ; (805da10 ) 805d904: 2201 movs r2, #1 805d906: 701a strb r2, [r3, #0] 805d908: e002 b.n 805d910 else OVERDRIVE = false; 805d90a: 4b41 ldr r3, [pc, #260] ; (805da10 ) 805d90c: 2200 movs r2, #0 805d90e: 701a strb r2, [r3, #0] } if(Flag_Set_KU) 805d910: 4b40 ldr r3, [pc, #256] ; (805da14 ) 805d912: 781b ldrb r3, [r3, #0] 805d914: b2db uxtb r3, r3 805d916: 2b00 cmp r3, #0 805d918: d00a beq.n 805d930 { Stability = 0; 805d91a: 4b3b ldr r3, [pc, #236] ; (805da08 ) 805d91c: 2200 movs r2, #0 805d91e: 601a str r2, [r3, #0] MeanCnt = 0; 805d920: 4b2d ldr r3, [pc, #180] ; (805d9d8 ) 805d922: 2200 movs r2, #0 805d924: 601a str r2, [r3, #0] NSamples = 0xffffffff; 805d926: 4b3c ldr r3, [pc, #240] ; (805da18 ) 805d928: f04f 32ff mov.w r2, #4294967295 805d92c: 601a str r2, [r3, #0] 805d92e: e00d b.n 805d94c } else { if(Stability <= (Nr * 4)) 805d930: 4b34 ldr r3, [pc, #208] ; (805da04 ) 805d932: 881b ldrh r3, [r3, #0] 805d934: b29b uxth r3, r3 805d936: 009b lsls r3, r3, #2 805d938: 461a mov r2, r3 805d93a: 4b33 ldr r3, [pc, #204] ; (805da08 ) 805d93c: 681b ldr r3, [r3, #0] 805d93e: 429a cmp r2, r3 805d940: d304 bcc.n 805d94c Stability++; 805d942: 4b31 ldr r3, [pc, #196] ; (805da08 ) 805d944: 681b ldr r3, [r3, #0] 805d946: 3301 adds r3, #1 805d948: 4a2f ldr r2, [pc, #188] ; (805da08 ) 805d94a: 6013 str r3, [r2, #0] } float32_t Octaves[15]; if((Flag_Set_KU == 0) && (Stability > (Nr * 4))) //åñëè àâòîóñèëåíèå íîðì 805d94c: 4b31 ldr r3, [pc, #196] ; (805da14 ) 805d94e: 781b ldrb r3, [r3, #0] 805d950: b2db uxtb r3, r3 805d952: 2b00 cmp r3, #0 805d954: f041 835b bne.w 805f00e 805d958: 4b2a ldr r3, [pc, #168] ; (805da04 ) 805d95a: 881b ldrh r3, [r3, #0] 805d95c: b29b uxth r3, r3 805d95e: 009b lsls r3, r3, #2 805d960: 461a mov r2, r3 805d962: 4b29 ldr r3, [pc, #164] ; (805da08 ) 805d964: 681b ldr r3, [r3, #0] 805d966: 429a cmp r2, r3 805d968: f081 8351 bcs.w 805f00e { uint64_t cntcnt = DWT->CYCCNT; 805d96c: 4b2b ldr r3, [pc, #172] ; (805da1c ) 805d96e: 685b ldr r3, [r3, #4] 805d970: f04f 0400 mov.w r4, #0 805d974: f507 72f8 add.w r2, r7, #496 ; 0x1f0 805d978: e882 0018 stmia.w r2, {r3, r4} fNrm = 1.0f / ((float32_t)(Ns >> 1)); 805d97c: 4b17 ldr r3, [pc, #92] ; (805d9dc ) 805d97e: 681b ldr r3, [r3, #0] 805d980: 085b lsrs r3, r3, #1 805d982: ee07 3a90 vmov s15, r3 805d986: eeb8 7a67 vcvt.f32.u32 s14, s15 805d98a: eef7 6a00 vmov.f32 s13, #112 ; 0x3f800000 1.0 805d98e: eec6 7a87 vdiv.f32 s15, s13, s14 805d992: edc7 7a85 vstr s15, [r7, #532] ; 0x214 sc = (6.0 / 16777215.0) * (float64_t) CorrKk[ACC]; 805d996: 4b22 ldr r3, [pc, #136] ; (805da20 ) 805d998: edd3 7a00 vldr s15, [r3] 805d99c: eeb7 7ae7 vcvt.f64.f32 d7, s15 805d9a0: ed9f 6b0b vldr d6, [pc, #44] ; 805d9d0 805d9a4: ee27 7b06 vmul.f64 d7, d7, d6 805d9a8: ed87 7b82 vstr d7, [r7, #520] ; 0x208 sc /= (float64_t) pardata.IKK; 805d9ac: 4b0c ldr r3, [pc, #48] ; (805d9e0 ) 805d9ae: edd3 7a04 vldr s15, [r3, #16] 805d9b2: eeb7 6ae7 vcvt.f64.f32 d6, s15 805d9b6: ed97 5b82 vldr d5, [r7, #520] ; 0x208 805d9ba: ee85 7b06 vdiv.f64 d7, d5, d6 805d9be: ed87 7b82 vstr d7, [r7, #520] ; 0x208 for(i = 0; i < Ns; i++) 805d9c2: 2300 movs r3, #0 805d9c4: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805d9c8: e053 b.n 805da72 805d9ca: bf00 nop 805d9cc: f3af 8000 nop.w 805d9d0: 18000018 .word 0x18000018 805d9d4: 3e980000 .word 0x3e980000 805d9d8: 20020db8 .word 0x20020db8 805d9dc: 20021cdc .word 0x20021cdc 805d9e0: 20023e60 .word 0x20023e60 805d9e4: 080eeb00 .word 0x080eeb00 805d9e8: 200279c0 .word 0x200279c0 805d9ec: 20021540 .word 0x20021540 805d9f0: 3fd1eb85 .word 0x3fd1eb85 805d9f4: 2002154c .word 0x2002154c 805d9f8: 20020d8e .word 0x20020d8e 805d9fc: 20020dac .word 0x20020dac 805da00: 20020daf .word 0x20020daf 805da04: 20021d20 .word 0x20021d20 805da08: 20020da8 .word 0x20020da8 805da0c: 20058020 .word 0x20058020 805da10: 20021531 .word 0x20021531 805da14: 20020d7e .word 0x20020d7e 805da18: 20020d88 .word 0x20020d88 805da1c: e0001000 .word 0xe0001000 805da20: 20020080 .word 0x20020080 { Buff64[i] = (float64_t) In16[i].lg; 805da24: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805da28: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805da2c: 49b8 ldr r1, [pc, #736] ; (805dd10 ) 805da2e: f851 2022 ldr.w r2, [r1, r2, lsl #2] 805da32: ee07 2a90 vmov s15, r2 805da36: eeb8 7b67 vcvt.f64.u32 d7, s15 805da3a: 4ab6 ldr r2, [pc, #728] ; (805dd14 ) 805da3c: 00db lsls r3, r3, #3 805da3e: 4413 add r3, r2 805da40: ed83 7b00 vstr d7, [r3] Buff64[i] *= sc; 805da44: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805da48: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805da4c: 49b1 ldr r1, [pc, #708] ; (805dd14 ) 805da4e: 00d2 lsls r2, r2, #3 805da50: 440a add r2, r1 805da52: ed92 6b00 vldr d6, [r2] 805da56: ed97 7b82 vldr d7, [r7, #520] ; 0x208 805da5a: ee26 7b07 vmul.f64 d7, d6, d7 805da5e: 4aad ldr r2, [pc, #692] ; (805dd14 ) 805da60: 00db lsls r3, r3, #3 805da62: 4413 add r3, r2 805da64: ed83 7b00 vstr d7, [r3] for(i = 0; i < Ns; i++) 805da68: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805da6c: 3301 adds r3, #1 805da6e: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805da72: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805da76: 4ba8 ldr r3, [pc, #672] ; (805dd18 ) 805da78: 681b ldr r3, [r3, #0] 805da7a: 429a cmp r2, r3 805da7c: d3d2 bcc.n 805da24 } arm_biquad_cascade_df2T_f64(&S_LP, Buff64, Buff64, Ns); 805da7e: 4ba6 ldr r3, [pc, #664] ; (805dd18 ) 805da80: 681b ldr r3, [r3, #0] 805da82: 4aa4 ldr r2, [pc, #656] ; (805dd14 ) 805da84: 49a3 ldr r1, [pc, #652] ; (805dd14 ) 805da86: 48a5 ldr r0, [pc, #660] ; (805dd1c ) 805da88: f06c fb8c bl 80ca1a4 if(pardata.IPR == ACC) 805da8c: 4ba4 ldr r3, [pc, #656] ; (805dd20 ) 805da8e: 785b ldrb r3, [r3, #1] 805da90: b2db uxtb r3, r3 805da92: 2b00 cmp r3, #0 805da94: d107 bne.n 805daa6 { arm_biquad_cascade_df2T_f64(&S_HP_ACC, Buff64, Buff64, Ns); 805da96: 4ba0 ldr r3, [pc, #640] ; (805dd18 ) 805da98: 681b ldr r3, [r3, #0] 805da9a: 4a9e ldr r2, [pc, #632] ; (805dd14 ) 805da9c: 499d ldr r1, [pc, #628] ; (805dd14 ) 805da9e: 48a1 ldr r0, [pc, #644] ; (805dd24 ) 805daa0: f06c fb80 bl 80ca1a4 805daa4: e026 b.n 805daf4 } else if(pardata.IPR == VEL) 805daa6: 4b9e ldr r3, [pc, #632] ; (805dd20 ) 805daa8: 785b ldrb r3, [r3, #1] 805daaa: b2db uxtb r3, r3 805daac: 2b01 cmp r3, #1 805daae: d10e bne.n 805dace { arm_biquad_cascade_df2T_f64(&S_INT1, Buff64, Buff64, Ns); 805dab0: 4b99 ldr r3, [pc, #612] ; (805dd18 ) 805dab2: 681b ldr r3, [r3, #0] 805dab4: 4a97 ldr r2, [pc, #604] ; (805dd14 ) 805dab6: 4997 ldr r1, [pc, #604] ; (805dd14 ) 805dab8: 489b ldr r0, [pc, #620] ; (805dd28 ) 805daba: f06c fb73 bl 80ca1a4 arm_biquad_cascade_df2T_f64(&S_HP_VEL, Buff64, Buff64, Ns); 805dabe: 4b96 ldr r3, [pc, #600] ; (805dd18 ) 805dac0: 681b ldr r3, [r3, #0] 805dac2: 4a94 ldr r2, [pc, #592] ; (805dd14 ) 805dac4: 4993 ldr r1, [pc, #588] ; (805dd14 ) 805dac6: 4899 ldr r0, [pc, #612] ; (805dd2c ) 805dac8: f06c fb6c bl 80ca1a4 805dacc: e012 b.n 805daf4 } else if(pardata.IPR == DIS) 805dace: 4b94 ldr r3, [pc, #592] ; (805dd20 ) 805dad0: 785b ldrb r3, [r3, #1] 805dad2: b2db uxtb r3, r3 805dad4: 2b02 cmp r3, #2 805dad6: d10d bne.n 805daf4 { arm_biquad_cascade_df2T_f64(&S_INT2, Buff64, Buff64, Ns); 805dad8: 4b8f ldr r3, [pc, #572] ; (805dd18 ) 805dada: 681b ldr r3, [r3, #0] 805dadc: 4a8d ldr r2, [pc, #564] ; (805dd14 ) 805dade: 498d ldr r1, [pc, #564] ; (805dd14 ) 805dae0: 4893 ldr r0, [pc, #588] ; (805dd30 ) 805dae2: f06c fb5f bl 80ca1a4 arm_biquad_cascade_df2T_f64(&S_HP_DIS, Buff64, Buff64, Ns); 805dae6: 4b8c ldr r3, [pc, #560] ; (805dd18 ) 805dae8: 681b ldr r3, [r3, #0] 805daea: 4a8a ldr r2, [pc, #552] ; (805dd14 ) 805daec: 4989 ldr r1, [pc, #548] ; (805dd14 ) 805daee: 4891 ldr r0, [pc, #580] ; (805dd34 ) 805daf0: f06c fb58 bl 80ca1a4 } //** 8000 arm_biquad_cascade_df2T_f64(&S_IIR_8000Hz, &Buff64[0], &Buff64[Ns], 8192); 805daf4: 4b88 ldr r3, [pc, #544] ; (805dd18 ) 805daf6: 681b ldr r3, [r3, #0] 805daf8: 00db lsls r3, r3, #3 805dafa: 4a86 ldr r2, [pc, #536] ; (805dd14 ) 805dafc: 441a add r2, r3 805dafe: f44f 5300 mov.w r3, #8192 ; 0x2000 805db02: 4984 ldr r1, [pc, #528] ; (805dd14 ) 805db04: 488c ldr r0, [pc, #560] ; (805dd38 ) 805db06: f06c fb4d bl 80ca1a4 for(i = 0; i < 8192; i++) { 805db0a: 2300 movs r3, #0 805db0c: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805db10: e017 b.n 805db42 In[i] = (float32_t) Buff64[Ns + i]; 805db12: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805db16: 4a80 ldr r2, [pc, #512] ; (805dd18 ) 805db18: 6811 ldr r1, [r2, #0] 805db1a: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805db1e: 440a add r2, r1 805db20: 497c ldr r1, [pc, #496] ; (805dd14 ) 805db22: 00d2 lsls r2, r2, #3 805db24: 440a add r2, r1 805db26: ed92 7b00 vldr d7, [r2] 805db2a: eef7 7bc7 vcvt.f32.f64 s15, d7 805db2e: 4a83 ldr r2, [pc, #524] ; (805dd3c ) 805db30: 009b lsls r3, r3, #2 805db32: 4413 add r3, r2 805db34: edc3 7a00 vstr s15, [r3] for(i = 0; i < 8192; i++) { 805db38: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805db3c: 3301 adds r3, #1 805db3e: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805db42: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805db46: f5b3 5f00 cmp.w r3, #8192 ; 0x2000 805db4a: d3e2 bcc.n 805db12 } if(pardata.IVS[pardata.IPR] == RMS) 805db4c: 4b74 ldr r3, [pc, #464] ; (805dd20 ) 805db4e: 785b ldrb r3, [r3, #1] 805db50: b2db uxtb r3, r3 805db52: 461a mov r2, r3 805db54: 4b72 ldr r3, [pc, #456] ; (805dd20 ) 805db56: 4413 add r3, r2 805db58: 789b ldrb r3, [r3, #2] 805db5a: b2db uxtb r3, r3 805db5c: 2b01 cmp r3, #1 805db5e: d108 bne.n 805db72 arm_rms_f32(In, 8192, &Octaves[13]); 805db60: 463b mov r3, r7 805db62: 3334 adds r3, #52 ; 0x34 805db64: 461a mov r2, r3 805db66: f44f 5100 mov.w r1, #8192 ; 0x2000 805db6a: 4874 ldr r0, [pc, #464] ; (805dd3c ) 805db6c: f06c f978 bl 80c9e60 805db70: e03e b.n 805dbf0 else { arm_min_f32(In, 8192, &fn[0], &i); 805db72: f507 73e8 add.w r3, r7, #464 ; 0x1d0 805db76: f507 72d8 add.w r2, r7, #432 ; 0x1b0 805db7a: f44f 5100 mov.w r1, #8192 ; 0x2000 805db7e: 486f ldr r0, [pc, #444] ; (805dd3c ) 805db80: f06c fa00 bl 80c9f84 arm_max_f32(In, 8192, &fn[1], &j); 805db84: f507 71e6 add.w r1, r7, #460 ; 0x1cc 805db88: f507 73d8 add.w r3, r7, #432 ; 0x1b0 805db8c: 1d1a adds r2, r3, #4 805db8e: 460b mov r3, r1 805db90: f44f 5100 mov.w r1, #8192 ; 0x2000 805db94: 4869 ldr r0, [pc, #420] ; (805dd3c ) 805db96: f06c fa91 bl 80ca0bc fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 805db9a: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805db9e: eef5 7ac0 vcmpe.f32 s15, #0.0 805dba2: eef1 fa10 vmrs APSR_nzcv, fpscr 805dba6: dd02 ble.n 805dbae 805dba8: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805dbac: e003 b.n 805dbb6 805dbae: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805dbb2: eef1 7a67 vneg.f32 s15, s15 805dbb6: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 805dbba: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805dbbe: eef5 7ac0 vcmpe.f32 s15, #0.0 805dbc2: eef1 fa10 vmrs APSR_nzcv, fpscr 805dbc6: dd02 ble.n 805dbce 805dbc8: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805dbcc: e003 b.n 805dbd6 805dbce: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805dbd2: eef1 7a67 vneg.f32 s15, s15 805dbd6: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Octaves[13], &j); 805dbda: f507 71e6 add.w r1, r7, #460 ; 0x1cc 805dbde: 463b mov r3, r7 805dbe0: f103 0234 add.w r2, r3, #52 ; 0x34 805dbe4: f507 70d8 add.w r0, r7, #432 ; 0x1b0 805dbe8: 460b mov r3, r1 805dbea: 2102 movs r1, #2 805dbec: f06c fa66 bl 80ca0bc }*/ //** 4000 arm_biquad_cascade_df2T_f64(&S_LP_4000, &Buff64[0], &Buff64[0], 8192); 805dbf0: f44f 5300 mov.w r3, #8192 ; 0x2000 805dbf4: 4a47 ldr r2, [pc, #284] ; (805dd14 ) 805dbf6: 4947 ldr r1, [pc, #284] ; (805dd14 ) 805dbf8: 4851 ldr r0, [pc, #324] ; (805dd40 ) 805dbfa: f06c fad3 bl 80ca1a4 for(i = 0; i < 4096; i++) { 805dbfe: 2300 movs r3, #0 805dc00: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805dc04: e012 b.n 805dc2c Buff64[i] = Buff64[i << 1]; 805dc06: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805dc0a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805dc0e: 005b lsls r3, r3, #1 805dc10: 4940 ldr r1, [pc, #256] ; (805dd14 ) 805dc12: 00db lsls r3, r3, #3 805dc14: 440b add r3, r1 805dc16: cb18 ldmia r3, {r3, r4} 805dc18: 493e ldr r1, [pc, #248] ; (805dd14 ) 805dc1a: 00d2 lsls r2, r2, #3 805dc1c: 440a add r2, r1 805dc1e: e882 0018 stmia.w r2, {r3, r4} for(i = 0; i < 4096; i++) { 805dc22: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805dc26: 3301 adds r3, #1 805dc28: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805dc2c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805dc30: f5b3 5f80 cmp.w r3, #4096 ; 0x1000 805dc34: d3e7 bcc.n 805dc06 } arm_biquad_cascade_df2T_f64(&S_IIR_4000Hz, &Buff64[0], &Buff64[Ns], 4096); 805dc36: 4b38 ldr r3, [pc, #224] ; (805dd18 ) 805dc38: 681b ldr r3, [r3, #0] 805dc3a: 00db lsls r3, r3, #3 805dc3c: 4a35 ldr r2, [pc, #212] ; (805dd14 ) 805dc3e: 441a add r2, r3 805dc40: f44f 5380 mov.w r3, #4096 ; 0x1000 805dc44: 4933 ldr r1, [pc, #204] ; (805dd14 ) 805dc46: 483f ldr r0, [pc, #252] ; (805dd44 ) 805dc48: f06c faac bl 80ca1a4 for(i = 0; i < 4096; i++) { 805dc4c: 2300 movs r3, #0 805dc4e: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805dc52: e017 b.n 805dc84 In[i] = (float32_t) Buff64[Ns + i]; 805dc54: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805dc58: 4a2f ldr r2, [pc, #188] ; (805dd18 ) 805dc5a: 6811 ldr r1, [r2, #0] 805dc5c: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805dc60: 440a add r2, r1 805dc62: 492c ldr r1, [pc, #176] ; (805dd14 ) 805dc64: 00d2 lsls r2, r2, #3 805dc66: 440a add r2, r1 805dc68: ed92 7b00 vldr d7, [r2] 805dc6c: eef7 7bc7 vcvt.f32.f64 s15, d7 805dc70: 4a32 ldr r2, [pc, #200] ; (805dd3c ) 805dc72: 009b lsls r3, r3, #2 805dc74: 4413 add r3, r2 805dc76: edc3 7a00 vstr s15, [r3] for(i = 0; i < 4096; i++) { 805dc7a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805dc7e: 3301 adds r3, #1 805dc80: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805dc84: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805dc88: f5b3 5f80 cmp.w r3, #4096 ; 0x1000 805dc8c: d3e2 bcc.n 805dc54 } if(pardata.IVS[pardata.IPR] == RMS) 805dc8e: 4b24 ldr r3, [pc, #144] ; (805dd20 ) 805dc90: 785b ldrb r3, [r3, #1] 805dc92: b2db uxtb r3, r3 805dc94: 461a mov r2, r3 805dc96: 4b22 ldr r3, [pc, #136] ; (805dd20 ) 805dc98: 4413 add r3, r2 805dc9a: 789b ldrb r3, [r3, #2] 805dc9c: b2db uxtb r3, r3 805dc9e: 2b01 cmp r3, #1 805dca0: d108 bne.n 805dcb4 arm_rms_f32(In, 4096, &Octaves[12]); 805dca2: 463b mov r3, r7 805dca4: 3330 adds r3, #48 ; 0x30 805dca6: 461a mov r2, r3 805dca8: f44f 5180 mov.w r1, #4096 ; 0x1000 805dcac: 4823 ldr r0, [pc, #140] ; (805dd3c ) 805dcae: f06c f8d7 bl 80c9e60 805dcb2: e05a b.n 805dd6a else { arm_min_f32(In, 4096, &fn[0], &i); 805dcb4: f507 73e8 add.w r3, r7, #464 ; 0x1d0 805dcb8: f507 72d8 add.w r2, r7, #432 ; 0x1b0 805dcbc: f44f 5180 mov.w r1, #4096 ; 0x1000 805dcc0: 481e ldr r0, [pc, #120] ; (805dd3c ) 805dcc2: f06c f95f bl 80c9f84 arm_max_f32(In, 4096, &fn[1], &j); 805dcc6: f507 71e6 add.w r1, r7, #460 ; 0x1cc 805dcca: f507 73d8 add.w r3, r7, #432 ; 0x1b0 805dcce: 1d1a adds r2, r3, #4 805dcd0: 460b mov r3, r1 805dcd2: f44f 5180 mov.w r1, #4096 ; 0x1000 805dcd6: 4819 ldr r0, [pc, #100] ; (805dd3c ) 805dcd8: f06c f9f0 bl 80ca0bc fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 805dcdc: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805dce0: eef5 7ac0 vcmpe.f32 s15, #0.0 805dce4: eef1 fa10 vmrs APSR_nzcv, fpscr 805dce8: dd02 ble.n 805dcf0 805dcea: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805dcee: e003 b.n 805dcf8 805dcf0: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805dcf4: eef1 7a67 vneg.f32 s15, s15 805dcf8: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 805dcfc: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805dd00: eef5 7ac0 vcmpe.f32 s15, #0.0 805dd04: eef1 fa10 vmrs APSR_nzcv, fpscr 805dd08: dd1e ble.n 805dd48 805dd0a: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805dd0e: e01f b.n 805dd50 805dd10: 20058020 .word 0x20058020 805dd14: 20037ae0 .word 0x20037ae0 805dd18: 20021cdc .word 0x20021cdc 805dd1c: 20026564 .word 0x20026564 805dd20: 20023e60 .word 0x20023e60 805dd24: 20025f00 .word 0x20025f00 805dd28: 20026170 .word 0x20026170 805dd2c: 20025e78 .word 0x20025e78 805dd30: 200278c4 .word 0x200278c4 805dd34: 20027950 .word 0x20027950 805dd38: 20025dec .word 0x20025dec 805dd3c: 200279c0 .word 0x200279c0 805dd40: 20026cd4 .word 0x20026cd4 805dd44: 20057b90 .word 0x20057b90 805dd48: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805dd4c: eef1 7a67 vneg.f32 s15, s15 805dd50: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Octaves[12], &j); 805dd54: f507 71e6 add.w r1, r7, #460 ; 0x1cc 805dd58: 463b mov r3, r7 805dd5a: f103 0230 add.w r2, r3, #48 ; 0x30 805dd5e: f507 70d8 add.w r0, r7, #432 ; 0x1b0 805dd62: 460b mov r3, r1 805dd64: 2102 movs r1, #2 805dd66: f06c f9a9 bl 80ca0bc } //** 2000 arm_biquad_cascade_df2T_f64(&S_LP_2000, &Buff64[0], &Buff64[0], 4096); 805dd6a: f44f 5380 mov.w r3, #4096 ; 0x1000 805dd6e: 4ab9 ldr r2, [pc, #740] ; (805e054 ) 805dd70: 49b8 ldr r1, [pc, #736] ; (805e054 ) 805dd72: 48b9 ldr r0, [pc, #740] ; (805e058 ) 805dd74: f06c fa16 bl 80ca1a4 for(i = 0; i < 2048; i++) { 805dd78: 2300 movs r3, #0 805dd7a: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805dd7e: e012 b.n 805dda6 Buff64[i] = Buff64[i << 1]; 805dd80: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805dd84: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805dd88: 005b lsls r3, r3, #1 805dd8a: 49b2 ldr r1, [pc, #712] ; (805e054 ) 805dd8c: 00db lsls r3, r3, #3 805dd8e: 440b add r3, r1 805dd90: cb18 ldmia r3, {r3, r4} 805dd92: 49b0 ldr r1, [pc, #704] ; (805e054 ) 805dd94: 00d2 lsls r2, r2, #3 805dd96: 440a add r2, r1 805dd98: e882 0018 stmia.w r2, {r3, r4} for(i = 0; i < 2048; i++) { 805dd9c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805dda0: 3301 adds r3, #1 805dda2: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805dda6: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805ddaa: f5b3 6f00 cmp.w r3, #2048 ; 0x800 805ddae: d3e7 bcc.n 805dd80 } arm_biquad_cascade_df2T_f64(&S_IIR_2000Hz, &Buff64[0], &Buff64[Ns], 2048); 805ddb0: 4baa ldr r3, [pc, #680] ; (805e05c ) 805ddb2: 681b ldr r3, [r3, #0] 805ddb4: 00db lsls r3, r3, #3 805ddb6: 4aa7 ldr r2, [pc, #668] ; (805e054 ) 805ddb8: 441a add r2, r3 805ddba: f44f 6300 mov.w r3, #2048 ; 0x800 805ddbe: 49a5 ldr r1, [pc, #660] ; (805e054 ) 805ddc0: 48a7 ldr r0, [pc, #668] ; (805e060 ) 805ddc2: f06c f9ef bl 80ca1a4 for(i = 0; i < 2048; i++) { 805ddc6: 2300 movs r3, #0 805ddc8: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805ddcc: e017 b.n 805ddfe In[i] = (float32_t) Buff64[Ns + i]; 805ddce: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805ddd2: 4aa2 ldr r2, [pc, #648] ; (805e05c ) 805ddd4: 6811 ldr r1, [r2, #0] 805ddd6: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805ddda: 440a add r2, r1 805dddc: 499d ldr r1, [pc, #628] ; (805e054 ) 805ddde: 00d2 lsls r2, r2, #3 805dde0: 440a add r2, r1 805dde2: ed92 7b00 vldr d7, [r2] 805dde6: eef7 7bc7 vcvt.f32.f64 s15, d7 805ddea: 4a9e ldr r2, [pc, #632] ; (805e064 ) 805ddec: 009b lsls r3, r3, #2 805ddee: 4413 add r3, r2 805ddf0: edc3 7a00 vstr s15, [r3] for(i = 0; i < 2048; i++) { 805ddf4: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805ddf8: 3301 adds r3, #1 805ddfa: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805ddfe: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805de02: f5b3 6f00 cmp.w r3, #2048 ; 0x800 805de06: d3e2 bcc.n 805ddce } if(pardata.IVS[pardata.IPR] == RMS) 805de08: 4b97 ldr r3, [pc, #604] ; (805e068 ) 805de0a: 785b ldrb r3, [r3, #1] 805de0c: b2db uxtb r3, r3 805de0e: 461a mov r2, r3 805de10: 4b95 ldr r3, [pc, #596] ; (805e068 ) 805de12: 4413 add r3, r2 805de14: 789b ldrb r3, [r3, #2] 805de16: b2db uxtb r3, r3 805de18: 2b01 cmp r3, #1 805de1a: d108 bne.n 805de2e arm_rms_f32(In, 2048, &Octaves[11]); 805de1c: 463b mov r3, r7 805de1e: 332c adds r3, #44 ; 0x2c 805de20: 461a mov r2, r3 805de22: f44f 6100 mov.w r1, #2048 ; 0x800 805de26: 488f ldr r0, [pc, #572] ; (805e064 ) 805de28: f06c f81a bl 80c9e60 805de2c: e03e b.n 805deac else { arm_min_f32(In, 2048, &fn[0], &i); 805de2e: f507 73e8 add.w r3, r7, #464 ; 0x1d0 805de32: f507 72d8 add.w r2, r7, #432 ; 0x1b0 805de36: f44f 6100 mov.w r1, #2048 ; 0x800 805de3a: 488a ldr r0, [pc, #552] ; (805e064 ) 805de3c: f06c f8a2 bl 80c9f84 arm_max_f32(In, 2048, &fn[1], &j); 805de40: f507 71e6 add.w r1, r7, #460 ; 0x1cc 805de44: f507 73d8 add.w r3, r7, #432 ; 0x1b0 805de48: 1d1a adds r2, r3, #4 805de4a: 460b mov r3, r1 805de4c: f44f 6100 mov.w r1, #2048 ; 0x800 805de50: 4884 ldr r0, [pc, #528] ; (805e064 ) 805de52: f06c f933 bl 80ca0bc fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 805de56: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805de5a: eef5 7ac0 vcmpe.f32 s15, #0.0 805de5e: eef1 fa10 vmrs APSR_nzcv, fpscr 805de62: dd02 ble.n 805de6a 805de64: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805de68: e003 b.n 805de72 805de6a: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805de6e: eef1 7a67 vneg.f32 s15, s15 805de72: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 805de76: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805de7a: eef5 7ac0 vcmpe.f32 s15, #0.0 805de7e: eef1 fa10 vmrs APSR_nzcv, fpscr 805de82: dd02 ble.n 805de8a 805de84: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805de88: e003 b.n 805de92 805de8a: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805de8e: eef1 7a67 vneg.f32 s15, s15 805de92: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Octaves[11], &j); 805de96: f507 71e6 add.w r1, r7, #460 ; 0x1cc 805de9a: 463b mov r3, r7 805de9c: f103 022c add.w r2, r3, #44 ; 0x2c 805dea0: f507 70d8 add.w r0, r7, #432 ; 0x1b0 805dea4: 460b mov r3, r1 805dea6: 2102 movs r1, #2 805dea8: f06c f908 bl 80ca0bc } //** 1000 arm_biquad_cascade_df2T_f64(&S_LP_1000, &Buff64[0], &Buff64[0], 2048); 805deac: f44f 6300 mov.w r3, #2048 ; 0x800 805deb0: 4a68 ldr r2, [pc, #416] ; (805e054 ) 805deb2: 4968 ldr r1, [pc, #416] ; (805e054 ) 805deb4: 486d ldr r0, [pc, #436] ; (805e06c ) 805deb6: f06c f975 bl 80ca1a4 for(i = 0; i < 1024; i++) { 805deba: 2300 movs r3, #0 805debc: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805dec0: e012 b.n 805dee8 Buff64[i] = Buff64[i << 1]; 805dec2: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805dec6: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805deca: 005b lsls r3, r3, #1 805decc: 4961 ldr r1, [pc, #388] ; (805e054 ) 805dece: 00db lsls r3, r3, #3 805ded0: 440b add r3, r1 805ded2: cb18 ldmia r3, {r3, r4} 805ded4: 495f ldr r1, [pc, #380] ; (805e054 ) 805ded6: 00d2 lsls r2, r2, #3 805ded8: 440a add r2, r1 805deda: e882 0018 stmia.w r2, {r3, r4} for(i = 0; i < 1024; i++) { 805dede: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805dee2: 3301 adds r3, #1 805dee4: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805dee8: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805deec: f5b3 6f80 cmp.w r3, #1024 ; 0x400 805def0: d3e7 bcc.n 805dec2 } arm_biquad_cascade_df2T_f64(&S_IIR_1000Hz, &Buff64[0], &Buff64[Ns], 1024); 805def2: 4b5a ldr r3, [pc, #360] ; (805e05c ) 805def4: 681b ldr r3, [r3, #0] 805def6: 00db lsls r3, r3, #3 805def8: 4a56 ldr r2, [pc, #344] ; (805e054 ) 805defa: 441a add r2, r3 805defc: f44f 6380 mov.w r3, #1024 ; 0x400 805df00: 4954 ldr r1, [pc, #336] ; (805e054 ) 805df02: 485b ldr r0, [pc, #364] ; (805e070 ) 805df04: f06c f94e bl 80ca1a4 for(i = 0; i < 1024; i++) { 805df08: 2300 movs r3, #0 805df0a: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805df0e: e017 b.n 805df40 In[i] = (float32_t) Buff64[Ns + i]; 805df10: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805df14: 4a51 ldr r2, [pc, #324] ; (805e05c ) 805df16: 6811 ldr r1, [r2, #0] 805df18: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805df1c: 440a add r2, r1 805df1e: 494d ldr r1, [pc, #308] ; (805e054 ) 805df20: 00d2 lsls r2, r2, #3 805df22: 440a add r2, r1 805df24: ed92 7b00 vldr d7, [r2] 805df28: eef7 7bc7 vcvt.f32.f64 s15, d7 805df2c: 4a4d ldr r2, [pc, #308] ; (805e064 ) 805df2e: 009b lsls r3, r3, #2 805df30: 4413 add r3, r2 805df32: edc3 7a00 vstr s15, [r3] for(i = 0; i < 1024; i++) { 805df36: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805df3a: 3301 adds r3, #1 805df3c: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805df40: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805df44: f5b3 6f80 cmp.w r3, #1024 ; 0x400 805df48: d3e2 bcc.n 805df10 } if(pardata.IVS[pardata.IPR] == RMS) 805df4a: 4b47 ldr r3, [pc, #284] ; (805e068 ) 805df4c: 785b ldrb r3, [r3, #1] 805df4e: b2db uxtb r3, r3 805df50: 461a mov r2, r3 805df52: 4b45 ldr r3, [pc, #276] ; (805e068 ) 805df54: 4413 add r3, r2 805df56: 789b ldrb r3, [r3, #2] 805df58: b2db uxtb r3, r3 805df5a: 2b01 cmp r3, #1 805df5c: d108 bne.n 805df70 arm_rms_f32(In, 1024, &Octaves[10]); 805df5e: 463b mov r3, r7 805df60: 3328 adds r3, #40 ; 0x28 805df62: 461a mov r2, r3 805df64: f44f 6180 mov.w r1, #1024 ; 0x400 805df68: 483e ldr r0, [pc, #248] ; (805e064 ) 805df6a: f06b ff79 bl 80c9e60 805df6e: e03e b.n 805dfee else { arm_min_f32(In, 1024, &fn[0], &i); 805df70: f507 73e8 add.w r3, r7, #464 ; 0x1d0 805df74: f507 72d8 add.w r2, r7, #432 ; 0x1b0 805df78: f44f 6180 mov.w r1, #1024 ; 0x400 805df7c: 4839 ldr r0, [pc, #228] ; (805e064 ) 805df7e: f06c f801 bl 80c9f84 arm_max_f32(In, 1024, &fn[1], &j); 805df82: f507 71e6 add.w r1, r7, #460 ; 0x1cc 805df86: f507 73d8 add.w r3, r7, #432 ; 0x1b0 805df8a: 1d1a adds r2, r3, #4 805df8c: 460b mov r3, r1 805df8e: f44f 6180 mov.w r1, #1024 ; 0x400 805df92: 4834 ldr r0, [pc, #208] ; (805e064 ) 805df94: f06c f892 bl 80ca0bc fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 805df98: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805df9c: eef5 7ac0 vcmpe.f32 s15, #0.0 805dfa0: eef1 fa10 vmrs APSR_nzcv, fpscr 805dfa4: dd02 ble.n 805dfac 805dfa6: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805dfaa: e003 b.n 805dfb4 805dfac: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805dfb0: eef1 7a67 vneg.f32 s15, s15 805dfb4: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 805dfb8: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805dfbc: eef5 7ac0 vcmpe.f32 s15, #0.0 805dfc0: eef1 fa10 vmrs APSR_nzcv, fpscr 805dfc4: dd02 ble.n 805dfcc 805dfc6: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805dfca: e003 b.n 805dfd4 805dfcc: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805dfd0: eef1 7a67 vneg.f32 s15, s15 805dfd4: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Octaves[10], &j); 805dfd8: f507 71e6 add.w r1, r7, #460 ; 0x1cc 805dfdc: 463b mov r3, r7 805dfde: f103 0228 add.w r2, r3, #40 ; 0x28 805dfe2: f507 70d8 add.w r0, r7, #432 ; 0x1b0 805dfe6: 460b mov r3, r1 805dfe8: 2102 movs r1, #2 805dfea: f06c f867 bl 80ca0bc } //** 500 arm_biquad_cascade_df2T_f64(&S_LP_500, &Buff64[0], &Buff64[0], 1024); 805dfee: f44f 6380 mov.w r3, #1024 ; 0x400 805dff2: 4a18 ldr r2, [pc, #96] ; (805e054 ) 805dff4: 4917 ldr r1, [pc, #92] ; (805e054 ) 805dff6: 481f ldr r0, [pc, #124] ; (805e074 ) 805dff8: f06c f8d4 bl 80ca1a4 for(i = 0; i < 512; i++) { 805dffc: 2300 movs r3, #0 805dffe: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805e002: e012 b.n 805e02a Buff64[i] = Buff64[i << 1]; 805e004: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805e008: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e00c: 005b lsls r3, r3, #1 805e00e: 4911 ldr r1, [pc, #68] ; (805e054 ) 805e010: 00db lsls r3, r3, #3 805e012: 440b add r3, r1 805e014: cb18 ldmia r3, {r3, r4} 805e016: 490f ldr r1, [pc, #60] ; (805e054 ) 805e018: 00d2 lsls r2, r2, #3 805e01a: 440a add r2, r1 805e01c: e882 0018 stmia.w r2, {r3, r4} for(i = 0; i < 512; i++) { 805e020: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e024: 3301 adds r3, #1 805e026: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805e02a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e02e: f5b3 7f00 cmp.w r3, #512 ; 0x200 805e032: d3e7 bcc.n 805e004 } arm_biquad_cascade_df2T_f64(&S_IIR_500Hz, &Buff64[0], &Buff64[Ns], 512); 805e034: 4b09 ldr r3, [pc, #36] ; (805e05c ) 805e036: 681b ldr r3, [r3, #0] 805e038: 00db lsls r3, r3, #3 805e03a: 4a06 ldr r2, [pc, #24] ; (805e054 ) 805e03c: 441a add r2, r3 805e03e: f44f 7300 mov.w r3, #512 ; 0x200 805e042: 4904 ldr r1, [pc, #16] ; (805e054 ) 805e044: 480c ldr r0, [pc, #48] ; (805e078 ) 805e046: f06c f8ad bl 80ca1a4 for(i = 0; i < 512; i++) { 805e04a: 2300 movs r3, #0 805e04c: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805e050: e02c b.n 805e0ac 805e052: bf00 nop 805e054: 20037ae0 .word 0x20037ae0 805e058: 20027920 .word 0x20027920 805e05c: 20021cdc .word 0x20021cdc 805e060: 20026ef8 .word 0x20026ef8 805e064: 200279c0 .word 0x200279c0 805e068: 20023e60 .word 0x20023e60 805e06c: 200682c4 .word 0x200682c4 805e070: 20026660 .word 0x20026660 805e074: 2002795c .word 0x2002795c 805e078: 20068020 .word 0x20068020 In[i] = (float32_t) Buff64[Ns + i]; 805e07c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e080: 4aca ldr r2, [pc, #808] ; (805e3ac ) 805e082: 6811 ldr r1, [r2, #0] 805e084: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805e088: 440a add r2, r1 805e08a: 49c9 ldr r1, [pc, #804] ; (805e3b0 ) 805e08c: 00d2 lsls r2, r2, #3 805e08e: 440a add r2, r1 805e090: ed92 7b00 vldr d7, [r2] 805e094: eef7 7bc7 vcvt.f32.f64 s15, d7 805e098: 4ac6 ldr r2, [pc, #792] ; (805e3b4 ) 805e09a: 009b lsls r3, r3, #2 805e09c: 4413 add r3, r2 805e09e: edc3 7a00 vstr s15, [r3] for(i = 0; i < 512; i++) { 805e0a2: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e0a6: 3301 adds r3, #1 805e0a8: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805e0ac: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e0b0: f5b3 7f00 cmp.w r3, #512 ; 0x200 805e0b4: d3e2 bcc.n 805e07c } if(pardata.IVS[pardata.IPR] == RMS) 805e0b6: 4bc0 ldr r3, [pc, #768] ; (805e3b8 ) 805e0b8: 785b ldrb r3, [r3, #1] 805e0ba: b2db uxtb r3, r3 805e0bc: 461a mov r2, r3 805e0be: 4bbe ldr r3, [pc, #760] ; (805e3b8 ) 805e0c0: 4413 add r3, r2 805e0c2: 789b ldrb r3, [r3, #2] 805e0c4: b2db uxtb r3, r3 805e0c6: 2b01 cmp r3, #1 805e0c8: d108 bne.n 805e0dc arm_rms_f32(In, 512, &Octaves[9]); 805e0ca: 463b mov r3, r7 805e0cc: 3324 adds r3, #36 ; 0x24 805e0ce: 461a mov r2, r3 805e0d0: f44f 7100 mov.w r1, #512 ; 0x200 805e0d4: 48b7 ldr r0, [pc, #732] ; (805e3b4 ) 805e0d6: f06b fec3 bl 80c9e60 805e0da: e03e b.n 805e15a else { arm_min_f32(In, 512, &fn[0], &i); 805e0dc: f507 73e8 add.w r3, r7, #464 ; 0x1d0 805e0e0: f507 72d8 add.w r2, r7, #432 ; 0x1b0 805e0e4: f44f 7100 mov.w r1, #512 ; 0x200 805e0e8: 48b2 ldr r0, [pc, #712] ; (805e3b4 ) 805e0ea: f06b ff4b bl 80c9f84 arm_max_f32(In, 512, &fn[1], &j); 805e0ee: f507 71e6 add.w r1, r7, #460 ; 0x1cc 805e0f2: f507 73d8 add.w r3, r7, #432 ; 0x1b0 805e0f6: 1d1a adds r2, r3, #4 805e0f8: 460b mov r3, r1 805e0fa: f44f 7100 mov.w r1, #512 ; 0x200 805e0fe: 48ad ldr r0, [pc, #692] ; (805e3b4 ) 805e100: f06b ffdc bl 80ca0bc fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 805e104: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805e108: eef5 7ac0 vcmpe.f32 s15, #0.0 805e10c: eef1 fa10 vmrs APSR_nzcv, fpscr 805e110: dd02 ble.n 805e118 805e112: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805e116: e003 b.n 805e120 805e118: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805e11c: eef1 7a67 vneg.f32 s15, s15 805e120: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 805e124: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805e128: eef5 7ac0 vcmpe.f32 s15, #0.0 805e12c: eef1 fa10 vmrs APSR_nzcv, fpscr 805e130: dd02 ble.n 805e138 805e132: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805e136: e003 b.n 805e140 805e138: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805e13c: eef1 7a67 vneg.f32 s15, s15 805e140: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Octaves[9], &j); 805e144: f507 71e6 add.w r1, r7, #460 ; 0x1cc 805e148: 463b mov r3, r7 805e14a: f103 0224 add.w r2, r3, #36 ; 0x24 805e14e: f507 70d8 add.w r0, r7, #432 ; 0x1b0 805e152: 460b mov r3, r1 805e154: 2102 movs r1, #2 805e156: f06b ffb1 bl 80ca0bc } //** 250 arm_biquad_cascade_df2T_f64(&S_LP_250, &Buff64[0], &Buff64[0], 512); 805e15a: f44f 7300 mov.w r3, #512 ; 0x200 805e15e: 4a94 ldr r2, [pc, #592] ; (805e3b0 ) 805e160: 4993 ldr r1, [pc, #588] ; (805e3b0 ) 805e162: 4896 ldr r0, [pc, #600] ; (805e3bc ) 805e164: f06c f81e bl 80ca1a4 for(i = 0; i < 256; i++) { 805e168: 2300 movs r3, #0 805e16a: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805e16e: e012 b.n 805e196 Buff64[i] = Buff64[i << 1]; 805e170: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805e174: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e178: 005b lsls r3, r3, #1 805e17a: 498d ldr r1, [pc, #564] ; (805e3b0 ) 805e17c: 00db lsls r3, r3, #3 805e17e: 440b add r3, r1 805e180: cb18 ldmia r3, {r3, r4} 805e182: 498b ldr r1, [pc, #556] ; (805e3b0 ) 805e184: 00d2 lsls r2, r2, #3 805e186: 440a add r2, r1 805e188: e882 0018 stmia.w r2, {r3, r4} for(i = 0; i < 256; i++) { 805e18c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e190: 3301 adds r3, #1 805e192: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805e196: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e19a: 2bff cmp r3, #255 ; 0xff 805e19c: d9e8 bls.n 805e170 } arm_biquad_cascade_df2T_f64(&S_IIR_250Hz, &Buff64[0], &Buff64[Ns], 256); 805e19e: 4b83 ldr r3, [pc, #524] ; (805e3ac ) 805e1a0: 681b ldr r3, [r3, #0] 805e1a2: 00db lsls r3, r3, #3 805e1a4: 4a82 ldr r2, [pc, #520] ; (805e3b0 ) 805e1a6: 441a add r2, r3 805e1a8: f44f 7380 mov.w r3, #256 ; 0x100 805e1ac: 4980 ldr r1, [pc, #512] ; (805e3b0 ) 805e1ae: 4884 ldr r0, [pc, #528] ; (805e3c0 ) 805e1b0: f06b fff8 bl 80ca1a4 for(i = 0; i < 256; i++) { 805e1b4: 2300 movs r3, #0 805e1b6: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805e1ba: e017 b.n 805e1ec In[i] = (float32_t) Buff64[Ns + i]; 805e1bc: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e1c0: 4a7a ldr r2, [pc, #488] ; (805e3ac ) 805e1c2: 6811 ldr r1, [r2, #0] 805e1c4: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805e1c8: 440a add r2, r1 805e1ca: 4979 ldr r1, [pc, #484] ; (805e3b0 ) 805e1cc: 00d2 lsls r2, r2, #3 805e1ce: 440a add r2, r1 805e1d0: ed92 7b00 vldr d7, [r2] 805e1d4: eef7 7bc7 vcvt.f32.f64 s15, d7 805e1d8: 4a76 ldr r2, [pc, #472] ; (805e3b4 ) 805e1da: 009b lsls r3, r3, #2 805e1dc: 4413 add r3, r2 805e1de: edc3 7a00 vstr s15, [r3] for(i = 0; i < 256; i++) { 805e1e2: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e1e6: 3301 adds r3, #1 805e1e8: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805e1ec: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e1f0: 2bff cmp r3, #255 ; 0xff 805e1f2: d9e3 bls.n 805e1bc } if(pardata.IVS[pardata.IPR] == RMS) 805e1f4: 4b70 ldr r3, [pc, #448] ; (805e3b8 ) 805e1f6: 785b ldrb r3, [r3, #1] 805e1f8: b2db uxtb r3, r3 805e1fa: 461a mov r2, r3 805e1fc: 4b6e ldr r3, [pc, #440] ; (805e3b8 ) 805e1fe: 4413 add r3, r2 805e200: 789b ldrb r3, [r3, #2] 805e202: b2db uxtb r3, r3 805e204: 2b01 cmp r3, #1 805e206: d108 bne.n 805e21a arm_rms_f32(In, 256, &Octaves[8]); 805e208: 463b mov r3, r7 805e20a: 3320 adds r3, #32 805e20c: 461a mov r2, r3 805e20e: f44f 7180 mov.w r1, #256 ; 0x100 805e212: 4868 ldr r0, [pc, #416] ; (805e3b4 ) 805e214: f06b fe24 bl 80c9e60 805e218: e03e b.n 805e298 else { arm_min_f32(In, 256, &fn[0], &i); 805e21a: f507 73e8 add.w r3, r7, #464 ; 0x1d0 805e21e: f507 72d8 add.w r2, r7, #432 ; 0x1b0 805e222: f44f 7180 mov.w r1, #256 ; 0x100 805e226: 4863 ldr r0, [pc, #396] ; (805e3b4 ) 805e228: f06b feac bl 80c9f84 arm_max_f32(In, 256, &fn[1], &j); 805e22c: f507 71e6 add.w r1, r7, #460 ; 0x1cc 805e230: f507 73d8 add.w r3, r7, #432 ; 0x1b0 805e234: 1d1a adds r2, r3, #4 805e236: 460b mov r3, r1 805e238: f44f 7180 mov.w r1, #256 ; 0x100 805e23c: 485d ldr r0, [pc, #372] ; (805e3b4 ) 805e23e: f06b ff3d bl 80ca0bc fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 805e242: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805e246: eef5 7ac0 vcmpe.f32 s15, #0.0 805e24a: eef1 fa10 vmrs APSR_nzcv, fpscr 805e24e: dd02 ble.n 805e256 805e250: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805e254: e003 b.n 805e25e 805e256: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805e25a: eef1 7a67 vneg.f32 s15, s15 805e25e: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 805e262: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805e266: eef5 7ac0 vcmpe.f32 s15, #0.0 805e26a: eef1 fa10 vmrs APSR_nzcv, fpscr 805e26e: dd02 ble.n 805e276 805e270: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805e274: e003 b.n 805e27e 805e276: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805e27a: eef1 7a67 vneg.f32 s15, s15 805e27e: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Octaves[8], &j); 805e282: f507 71e6 add.w r1, r7, #460 ; 0x1cc 805e286: 463b mov r3, r7 805e288: f103 0220 add.w r2, r3, #32 805e28c: f507 70d8 add.w r0, r7, #432 ; 0x1b0 805e290: 460b mov r3, r1 805e292: 2102 movs r1, #2 805e294: f06b ff12 bl 80ca0bc } //** 125 arm_biquad_cascade_df2T_f64(&S_LP_125, &Buff64[0], &Buff64[0], 256); 805e298: f44f 7380 mov.w r3, #256 ; 0x100 805e29c: 4a44 ldr r2, [pc, #272] ; (805e3b0 ) 805e29e: 4944 ldr r1, [pc, #272] ; (805e3b0 ) 805e2a0: 4848 ldr r0, [pc, #288] ; (805e3c4 ) 805e2a2: f06b ff7f bl 80ca1a4 for(i = 0; i < 128; i++) { 805e2a6: 2300 movs r3, #0 805e2a8: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805e2ac: e012 b.n 805e2d4 Buff64[i] = Buff64[i << 1]; 805e2ae: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805e2b2: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e2b6: 005b lsls r3, r3, #1 805e2b8: 493d ldr r1, [pc, #244] ; (805e3b0 ) 805e2ba: 00db lsls r3, r3, #3 805e2bc: 440b add r3, r1 805e2be: cb18 ldmia r3, {r3, r4} 805e2c0: 493b ldr r1, [pc, #236] ; (805e3b0 ) 805e2c2: 00d2 lsls r2, r2, #3 805e2c4: 440a add r2, r1 805e2c6: e882 0018 stmia.w r2, {r3, r4} for(i = 0; i < 128; i++) { 805e2ca: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e2ce: 3301 adds r3, #1 805e2d0: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805e2d4: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e2d8: 2b7f cmp r3, #127 ; 0x7f 805e2da: d9e8 bls.n 805e2ae } arm_biquad_cascade_df2T_f64(&S_IIR_125Hz, &Buff64[0], &Buff64[Ns], 128); 805e2dc: 4b33 ldr r3, [pc, #204] ; (805e3ac ) 805e2de: 681b ldr r3, [r3, #0] 805e2e0: 00db lsls r3, r3, #3 805e2e2: 4a33 ldr r2, [pc, #204] ; (805e3b0 ) 805e2e4: 441a add r2, r3 805e2e6: 2380 movs r3, #128 ; 0x80 805e2e8: 4931 ldr r1, [pc, #196] ; (805e3b0 ) 805e2ea: 4837 ldr r0, [pc, #220] ; (805e3c8 ) 805e2ec: f06b ff5a bl 80ca1a4 for(i = 0; i < 128; i++) { 805e2f0: 2300 movs r3, #0 805e2f2: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805e2f6: e017 b.n 805e328 In[i] = (float32_t) Buff64[Ns + i]; 805e2f8: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e2fc: 4a2b ldr r2, [pc, #172] ; (805e3ac ) 805e2fe: 6811 ldr r1, [r2, #0] 805e300: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805e304: 440a add r2, r1 805e306: 492a ldr r1, [pc, #168] ; (805e3b0 ) 805e308: 00d2 lsls r2, r2, #3 805e30a: 440a add r2, r1 805e30c: ed92 7b00 vldr d7, [r2] 805e310: eef7 7bc7 vcvt.f32.f64 s15, d7 805e314: 4a27 ldr r2, [pc, #156] ; (805e3b4 ) 805e316: 009b lsls r3, r3, #2 805e318: 4413 add r3, r2 805e31a: edc3 7a00 vstr s15, [r3] for(i = 0; i < 128; i++) { 805e31e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e322: 3301 adds r3, #1 805e324: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805e328: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e32c: 2b7f cmp r3, #127 ; 0x7f 805e32e: d9e3 bls.n 805e2f8 } if(pardata.IVS[pardata.IPR] == RMS) 805e330: 4b21 ldr r3, [pc, #132] ; (805e3b8 ) 805e332: 785b ldrb r3, [r3, #1] 805e334: b2db uxtb r3, r3 805e336: 461a mov r2, r3 805e338: 4b1f ldr r3, [pc, #124] ; (805e3b8 ) 805e33a: 4413 add r3, r2 805e33c: 789b ldrb r3, [r3, #2] 805e33e: b2db uxtb r3, r3 805e340: 2b01 cmp r3, #1 805e342: d107 bne.n 805e354 arm_rms_f32(In, 128, &Octaves[7]); 805e344: 463b mov r3, r7 805e346: 331c adds r3, #28 805e348: 461a mov r2, r3 805e34a: 2180 movs r1, #128 ; 0x80 805e34c: 4819 ldr r0, [pc, #100] ; (805e3b4 ) 805e34e: f06b fd87 bl 80c9e60 805e352: e04c b.n 805e3ee else { arm_min_f32(In, 128, &fn[0], &i); 805e354: f507 73e8 add.w r3, r7, #464 ; 0x1d0 805e358: f507 72d8 add.w r2, r7, #432 ; 0x1b0 805e35c: 2180 movs r1, #128 ; 0x80 805e35e: 4815 ldr r0, [pc, #84] ; (805e3b4 ) 805e360: f06b fe10 bl 80c9f84 arm_max_f32(In, 128, &fn[1], &j); 805e364: f507 71e6 add.w r1, r7, #460 ; 0x1cc 805e368: f507 73d8 add.w r3, r7, #432 ; 0x1b0 805e36c: 1d1a adds r2, r3, #4 805e36e: 460b mov r3, r1 805e370: 2180 movs r1, #128 ; 0x80 805e372: 4810 ldr r0, [pc, #64] ; (805e3b4 ) 805e374: f06b fea2 bl 80ca0bc fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 805e378: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805e37c: eef5 7ac0 vcmpe.f32 s15, #0.0 805e380: eef1 fa10 vmrs APSR_nzcv, fpscr 805e384: dd02 ble.n 805e38c 805e386: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805e38a: e003 b.n 805e394 805e38c: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805e390: eef1 7a67 vneg.f32 s15, s15 805e394: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 805e398: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805e39c: eef5 7ac0 vcmpe.f32 s15, #0.0 805e3a0: eef1 fa10 vmrs APSR_nzcv, fpscr 805e3a4: dd12 ble.n 805e3cc 805e3a6: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805e3aa: e013 b.n 805e3d4 805e3ac: 20021cdc .word 0x20021cdc 805e3b0: 20037ae0 .word 0x20037ae0 805e3b4: 200279c0 .word 0x200279c0 805e3b8: 20023e60 .word 0x20023e60 805e3bc: 20068548 .word 0x20068548 805e3c0: 200268e8 .word 0x200268e8 805e3c4: 20026020 .word 0x20026020 805e3c8: 200266f0 .word 0x200266f0 805e3cc: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805e3d0: eef1 7a67 vneg.f32 s15, s15 805e3d4: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Octaves[7], &j); 805e3d8: f507 71e6 add.w r1, r7, #460 ; 0x1cc 805e3dc: 463b mov r3, r7 805e3de: f103 021c add.w r2, r3, #28 805e3e2: f507 70d8 add.w r0, r7, #432 ; 0x1b0 805e3e6: 460b mov r3, r1 805e3e8: 2102 movs r1, #2 805e3ea: f06b fe67 bl 80ca0bc } //** 63 arm_biquad_cascade_df2T_f64(&S_LP_63, &Buff64[0], &Buff64[0], 128); 805e3ee: 2380 movs r3, #128 ; 0x80 805e3f0: 4ac7 ldr r2, [pc, #796] ; (805e710 ) 805e3f2: 49c7 ldr r1, [pc, #796] ; (805e710 ) 805e3f4: 48c7 ldr r0, [pc, #796] ; (805e714 ) 805e3f6: f06b fed5 bl 80ca1a4 for(i = 0; i < 64; i++) { 805e3fa: 2300 movs r3, #0 805e3fc: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805e400: e012 b.n 805e428 Buff64[i] = Buff64[i << 1]; 805e402: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805e406: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e40a: 005b lsls r3, r3, #1 805e40c: 49c0 ldr r1, [pc, #768] ; (805e710 ) 805e40e: 00db lsls r3, r3, #3 805e410: 440b add r3, r1 805e412: cb18 ldmia r3, {r3, r4} 805e414: 49be ldr r1, [pc, #760] ; (805e710 ) 805e416: 00d2 lsls r2, r2, #3 805e418: 440a add r2, r1 805e41a: e882 0018 stmia.w r2, {r3, r4} for(i = 0; i < 64; i++) { 805e41e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e422: 3301 adds r3, #1 805e424: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805e428: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e42c: 2b3f cmp r3, #63 ; 0x3f 805e42e: d9e8 bls.n 805e402 } arm_biquad_cascade_df2T_f64(&S_IIR_63Hz, &Buff64[0], &Buff64[Ns], 64); 805e430: 4bb9 ldr r3, [pc, #740] ; (805e718 ) 805e432: 681b ldr r3, [r3, #0] 805e434: 00db lsls r3, r3, #3 805e436: 4ab6 ldr r2, [pc, #728] ; (805e710 ) 805e438: 441a add r2, r3 805e43a: 2340 movs r3, #64 ; 0x40 805e43c: 49b4 ldr r1, [pc, #720] ; (805e710 ) 805e43e: 48b7 ldr r0, [pc, #732] ; (805e71c ) 805e440: f06b feb0 bl 80ca1a4 for(i = 0; i < 64; i++) { 805e444: 2300 movs r3, #0 805e446: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805e44a: e017 b.n 805e47c In[i] = (float32_t) Buff64[Ns + i]; 805e44c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e450: 4ab1 ldr r2, [pc, #708] ; (805e718 ) 805e452: 6811 ldr r1, [r2, #0] 805e454: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805e458: 440a add r2, r1 805e45a: 49ad ldr r1, [pc, #692] ; (805e710 ) 805e45c: 00d2 lsls r2, r2, #3 805e45e: 440a add r2, r1 805e460: ed92 7b00 vldr d7, [r2] 805e464: eef7 7bc7 vcvt.f32.f64 s15, d7 805e468: 4aad ldr r2, [pc, #692] ; (805e720 ) 805e46a: 009b lsls r3, r3, #2 805e46c: 4413 add r3, r2 805e46e: edc3 7a00 vstr s15, [r3] for(i = 0; i < 64; i++) { 805e472: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e476: 3301 adds r3, #1 805e478: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805e47c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e480: 2b3f cmp r3, #63 ; 0x3f 805e482: d9e3 bls.n 805e44c } if(pardata.IVS[pardata.IPR] == RMS) 805e484: 4ba7 ldr r3, [pc, #668] ; (805e724 ) 805e486: 785b ldrb r3, [r3, #1] 805e488: b2db uxtb r3, r3 805e48a: 461a mov r2, r3 805e48c: 4ba5 ldr r3, [pc, #660] ; (805e724 ) 805e48e: 4413 add r3, r2 805e490: 789b ldrb r3, [r3, #2] 805e492: b2db uxtb r3, r3 805e494: 2b01 cmp r3, #1 805e496: d107 bne.n 805e4a8 arm_rms_f32(In, 64, &Octaves[6]); 805e498: 463b mov r3, r7 805e49a: 3318 adds r3, #24 805e49c: 461a mov r2, r3 805e49e: 2140 movs r1, #64 ; 0x40 805e4a0: 489f ldr r0, [pc, #636] ; (805e720 ) 805e4a2: f06b fcdd bl 80c9e60 805e4a6: e03c b.n 805e522 else { arm_min_f32(In, 64, &fn[0], &i); 805e4a8: f507 73e8 add.w r3, r7, #464 ; 0x1d0 805e4ac: f507 72d8 add.w r2, r7, #432 ; 0x1b0 805e4b0: 2140 movs r1, #64 ; 0x40 805e4b2: 489b ldr r0, [pc, #620] ; (805e720 ) 805e4b4: f06b fd66 bl 80c9f84 arm_max_f32(In, 64, &fn[1], &j); 805e4b8: f507 71e6 add.w r1, r7, #460 ; 0x1cc 805e4bc: f507 73d8 add.w r3, r7, #432 ; 0x1b0 805e4c0: 1d1a adds r2, r3, #4 805e4c2: 460b mov r3, r1 805e4c4: 2140 movs r1, #64 ; 0x40 805e4c6: 4896 ldr r0, [pc, #600] ; (805e720 ) 805e4c8: f06b fdf8 bl 80ca0bc fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 805e4cc: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805e4d0: eef5 7ac0 vcmpe.f32 s15, #0.0 805e4d4: eef1 fa10 vmrs APSR_nzcv, fpscr 805e4d8: dd02 ble.n 805e4e0 805e4da: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805e4de: e003 b.n 805e4e8 805e4e0: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805e4e4: eef1 7a67 vneg.f32 s15, s15 805e4e8: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 805e4ec: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805e4f0: eef5 7ac0 vcmpe.f32 s15, #0.0 805e4f4: eef1 fa10 vmrs APSR_nzcv, fpscr 805e4f8: dd02 ble.n 805e500 805e4fa: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805e4fe: e003 b.n 805e508 805e500: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805e504: eef1 7a67 vneg.f32 s15, s15 805e508: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Octaves[6], &j); 805e50c: f507 71e6 add.w r1, r7, #460 ; 0x1cc 805e510: 463b mov r3, r7 805e512: f103 0218 add.w r2, r3, #24 805e516: f507 70d8 add.w r0, r7, #432 ; 0x1b0 805e51a: 460b mov r3, r1 805e51c: 2102 movs r1, #2 805e51e: f06b fdcd bl 80ca0bc } //** 31 arm_biquad_cascade_df2T_f64(&S_LP_32, &Buff64[0], &Buff64[0], 64); 805e522: 2340 movs r3, #64 ; 0x40 805e524: 4a7a ldr r2, [pc, #488] ; (805e710 ) 805e526: 497a ldr r1, [pc, #488] ; (805e710 ) 805e528: 487f ldr r0, [pc, #508] ; (805e728 ) 805e52a: f06b fe3b bl 80ca1a4 for(i = 0; i < 32; i++) { 805e52e: 2300 movs r3, #0 805e530: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805e534: e012 b.n 805e55c Buff64[i] = Buff64[i << 1]; 805e536: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805e53a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e53e: 005b lsls r3, r3, #1 805e540: 4973 ldr r1, [pc, #460] ; (805e710 ) 805e542: 00db lsls r3, r3, #3 805e544: 440b add r3, r1 805e546: cb18 ldmia r3, {r3, r4} 805e548: 4971 ldr r1, [pc, #452] ; (805e710 ) 805e54a: 00d2 lsls r2, r2, #3 805e54c: 440a add r2, r1 805e54e: e882 0018 stmia.w r2, {r3, r4} for(i = 0; i < 32; i++) { 805e552: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e556: 3301 adds r3, #1 805e558: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805e55c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e560: 2b1f cmp r3, #31 805e562: d9e8 bls.n 805e536 } arm_biquad_cascade_df2T_f64(&S_IIR_32Hz, &Buff64[0], &Buff64[Ns], 32); 805e564: 4b6c ldr r3, [pc, #432] ; (805e718 ) 805e566: 681b ldr r3, [r3, #0] 805e568: 00db lsls r3, r3, #3 805e56a: 4a69 ldr r2, [pc, #420] ; (805e710 ) 805e56c: 441a add r2, r3 805e56e: 2320 movs r3, #32 805e570: 4967 ldr r1, [pc, #412] ; (805e710 ) 805e572: 486e ldr r0, [pc, #440] ; (805e72c ) 805e574: f06b fe16 bl 80ca1a4 for(i = 0; i < 32; i++) { 805e578: 2300 movs r3, #0 805e57a: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805e57e: e017 b.n 805e5b0 In[i] = (float32_t) Buff64[Ns + i]; 805e580: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e584: 4a64 ldr r2, [pc, #400] ; (805e718 ) 805e586: 6811 ldr r1, [r2, #0] 805e588: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805e58c: 440a add r2, r1 805e58e: 4960 ldr r1, [pc, #384] ; (805e710 ) 805e590: 00d2 lsls r2, r2, #3 805e592: 440a add r2, r1 805e594: ed92 7b00 vldr d7, [r2] 805e598: eef7 7bc7 vcvt.f32.f64 s15, d7 805e59c: 4a60 ldr r2, [pc, #384] ; (805e720 ) 805e59e: 009b lsls r3, r3, #2 805e5a0: 4413 add r3, r2 805e5a2: edc3 7a00 vstr s15, [r3] for(i = 0; i < 32; i++) { 805e5a6: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e5aa: 3301 adds r3, #1 805e5ac: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805e5b0: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e5b4: 2b1f cmp r3, #31 805e5b6: d9e3 bls.n 805e580 } if(pardata.IVS[pardata.IPR] == RMS) 805e5b8: 4b5a ldr r3, [pc, #360] ; (805e724 ) 805e5ba: 785b ldrb r3, [r3, #1] 805e5bc: b2db uxtb r3, r3 805e5be: 461a mov r2, r3 805e5c0: 4b58 ldr r3, [pc, #352] ; (805e724 ) 805e5c2: 4413 add r3, r2 805e5c4: 789b ldrb r3, [r3, #2] 805e5c6: b2db uxtb r3, r3 805e5c8: 2b01 cmp r3, #1 805e5ca: d107 bne.n 805e5dc arm_rms_f32(In, 32, &Octaves[5]); 805e5cc: 463b mov r3, r7 805e5ce: 3314 adds r3, #20 805e5d0: 461a mov r2, r3 805e5d2: 2120 movs r1, #32 805e5d4: 4852 ldr r0, [pc, #328] ; (805e720 ) 805e5d6: f06b fc43 bl 80c9e60 805e5da: e03c b.n 805e656 else { arm_min_f32(In, 32, &fn[0], &i); 805e5dc: f507 73e8 add.w r3, r7, #464 ; 0x1d0 805e5e0: f507 72d8 add.w r2, r7, #432 ; 0x1b0 805e5e4: 2120 movs r1, #32 805e5e6: 484e ldr r0, [pc, #312] ; (805e720 ) 805e5e8: f06b fccc bl 80c9f84 arm_max_f32(In, 32, &fn[1], &j); 805e5ec: f507 71e6 add.w r1, r7, #460 ; 0x1cc 805e5f0: f507 73d8 add.w r3, r7, #432 ; 0x1b0 805e5f4: 1d1a adds r2, r3, #4 805e5f6: 460b mov r3, r1 805e5f8: 2120 movs r1, #32 805e5fa: 4849 ldr r0, [pc, #292] ; (805e720 ) 805e5fc: f06b fd5e bl 80ca0bc fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 805e600: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805e604: eef5 7ac0 vcmpe.f32 s15, #0.0 805e608: eef1 fa10 vmrs APSR_nzcv, fpscr 805e60c: dd02 ble.n 805e614 805e60e: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805e612: e003 b.n 805e61c 805e614: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805e618: eef1 7a67 vneg.f32 s15, s15 805e61c: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 805e620: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805e624: eef5 7ac0 vcmpe.f32 s15, #0.0 805e628: eef1 fa10 vmrs APSR_nzcv, fpscr 805e62c: dd02 ble.n 805e634 805e62e: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805e632: e003 b.n 805e63c 805e634: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805e638: eef1 7a67 vneg.f32 s15, s15 805e63c: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Octaves[5], &j); 805e640: f507 71e6 add.w r1, r7, #460 ; 0x1cc 805e644: 463b mov r3, r7 805e646: f103 0214 add.w r2, r3, #20 805e64a: f507 70d8 add.w r0, r7, #432 ; 0x1b0 805e64e: 460b mov r3, r1 805e650: 2102 movs r1, #2 805e652: f06b fd33 bl 80ca0bc } //** 16 arm_biquad_cascade_df2T_f64(&S_LP_16, &Buff64[0], &Buff64[0], 32); 805e656: 2320 movs r3, #32 805e658: 4a2d ldr r2, [pc, #180] ; (805e710 ) 805e65a: 492d ldr r1, [pc, #180] ; (805e710 ) 805e65c: 4834 ldr r0, [pc, #208] ; (805e730 ) 805e65e: f06b fda1 bl 80ca1a4 for(i = 0; i < 16; i++) { 805e662: 2300 movs r3, #0 805e664: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805e668: e012 b.n 805e690 Buff64[i] = Buff64[i << 1]; 805e66a: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805e66e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e672: 005b lsls r3, r3, #1 805e674: 4926 ldr r1, [pc, #152] ; (805e710 ) 805e676: 00db lsls r3, r3, #3 805e678: 440b add r3, r1 805e67a: cb18 ldmia r3, {r3, r4} 805e67c: 4924 ldr r1, [pc, #144] ; (805e710 ) 805e67e: 00d2 lsls r2, r2, #3 805e680: 440a add r2, r1 805e682: e882 0018 stmia.w r2, {r3, r4} for(i = 0; i < 16; i++) { 805e686: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e68a: 3301 adds r3, #1 805e68c: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805e690: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e694: 2b0f cmp r3, #15 805e696: d9e8 bls.n 805e66a } arm_biquad_cascade_df2T_f64(&S_IIR_16Hz, &Buff64[0], &Buff64[Ns], 16); 805e698: 4b1f ldr r3, [pc, #124] ; (805e718 ) 805e69a: 681b ldr r3, [r3, #0] 805e69c: 00db lsls r3, r3, #3 805e69e: 4a1c ldr r2, [pc, #112] ; (805e710 ) 805e6a0: 441a add r2, r3 805e6a2: 2310 movs r3, #16 805e6a4: 491a ldr r1, [pc, #104] ; (805e710 ) 805e6a6: 4823 ldr r0, [pc, #140] ; (805e734 ) 805e6a8: f06b fd7c bl 80ca1a4 for(i = 0; i < 16; i++) { 805e6ac: 2300 movs r3, #0 805e6ae: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805e6b2: e017 b.n 805e6e4 In[i] = (float32_t) Buff64[Ns + i]; 805e6b4: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e6b8: 4a17 ldr r2, [pc, #92] ; (805e718 ) 805e6ba: 6811 ldr r1, [r2, #0] 805e6bc: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805e6c0: 440a add r2, r1 805e6c2: 4913 ldr r1, [pc, #76] ; (805e710 ) 805e6c4: 00d2 lsls r2, r2, #3 805e6c6: 440a add r2, r1 805e6c8: ed92 7b00 vldr d7, [r2] 805e6cc: eef7 7bc7 vcvt.f32.f64 s15, d7 805e6d0: 4a13 ldr r2, [pc, #76] ; (805e720 ) 805e6d2: 009b lsls r3, r3, #2 805e6d4: 4413 add r3, r2 805e6d6: edc3 7a00 vstr s15, [r3] for(i = 0; i < 16; i++) { 805e6da: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e6de: 3301 adds r3, #1 805e6e0: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805e6e4: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e6e8: 2b0f cmp r3, #15 805e6ea: d9e3 bls.n 805e6b4 } if(pardata.IVS[pardata.IPR] == RMS) 805e6ec: 4b0d ldr r3, [pc, #52] ; (805e724 ) 805e6ee: 785b ldrb r3, [r3, #1] 805e6f0: b2db uxtb r3, r3 805e6f2: 461a mov r2, r3 805e6f4: 4b0b ldr r3, [pc, #44] ; (805e724 ) 805e6f6: 4413 add r3, r2 805e6f8: 789b ldrb r3, [r3, #2] 805e6fa: b2db uxtb r3, r3 805e6fc: 2b01 cmp r3, #1 805e6fe: d11b bne.n 805e738 arm_rms_f32(In, 16, &Octaves[4]); 805e700: 463b mov r3, r7 805e702: 3310 adds r3, #16 805e704: 461a mov r2, r3 805e706: 2110 movs r1, #16 805e708: 4805 ldr r0, [pc, #20] ; (805e720 ) 805e70a: f06b fba9 bl 80c9e60 805e70e: e050 b.n 805e7b2 805e710: 20037ae0 .word 0x20037ae0 805e714: 20026330 .word 0x20026330 805e718: 20021cdc .word 0x20021cdc 805e71c: 200683e8 .word 0x200683e8 805e720: 200279c0 .word 0x200279c0 805e724: 20023e60 .word 0x20023e60 805e728: 200278b8 .word 0x200278b8 805e72c: 200684f0 .word 0x200684f0 805e730: 20026a68 .word 0x20026a68 805e734: 20026e88 .word 0x20026e88 else { arm_min_f32(In, 16, &fn[0], &i); 805e738: f507 73e8 add.w r3, r7, #464 ; 0x1d0 805e73c: f507 72d8 add.w r2, r7, #432 ; 0x1b0 805e740: 2110 movs r1, #16 805e742: 48c0 ldr r0, [pc, #768] ; (805ea44 ) 805e744: f06b fc1e bl 80c9f84 arm_max_f32(In, 16, &fn[1], &j); 805e748: f507 71e6 add.w r1, r7, #460 ; 0x1cc 805e74c: f507 73d8 add.w r3, r7, #432 ; 0x1b0 805e750: 1d1a adds r2, r3, #4 805e752: 460b mov r3, r1 805e754: 2110 movs r1, #16 805e756: 48bb ldr r0, [pc, #748] ; (805ea44 ) 805e758: f06b fcb0 bl 80ca0bc fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 805e75c: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805e760: eef5 7ac0 vcmpe.f32 s15, #0.0 805e764: eef1 fa10 vmrs APSR_nzcv, fpscr 805e768: dd02 ble.n 805e770 805e76a: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805e76e: e003 b.n 805e778 805e770: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805e774: eef1 7a67 vneg.f32 s15, s15 805e778: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 805e77c: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805e780: eef5 7ac0 vcmpe.f32 s15, #0.0 805e784: eef1 fa10 vmrs APSR_nzcv, fpscr 805e788: dd02 ble.n 805e790 805e78a: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805e78e: e003 b.n 805e798 805e790: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805e794: eef1 7a67 vneg.f32 s15, s15 805e798: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Octaves[4], &j); 805e79c: f507 71e6 add.w r1, r7, #460 ; 0x1cc 805e7a0: 463b mov r3, r7 805e7a2: f103 0210 add.w r2, r3, #16 805e7a6: f507 70d8 add.w r0, r7, #432 ; 0x1b0 805e7aa: 460b mov r3, r1 805e7ac: 2102 movs r1, #2 805e7ae: f06b fc85 bl 80ca0bc } cntOkt++; 805e7b2: 4ba5 ldr r3, [pc, #660] ; (805ea48 ) 805e7b4: 681b ldr r3, [r3, #0] 805e7b6: 3301 adds r3, #1 805e7b8: 4aa3 ldr r2, [pc, #652] ; (805ea48 ) 805e7ba: 6013 str r3, [r2, #0] //** 8 arm_biquad_cascade_df2T_f64(&S_LP_8, &Buff64[0], &Buff64[0], 16); 805e7bc: 2310 movs r3, #16 805e7be: 4aa3 ldr r2, [pc, #652] ; (805ea4c ) 805e7c0: 49a2 ldr r1, [pc, #648] ; (805ea4c ) 805e7c2: 48a3 ldr r0, [pc, #652] ; (805ea50 ) 805e7c4: f06b fcee bl 80ca1a4 for(i = 0; i < 8; i++) { 805e7c8: 2300 movs r3, #0 805e7ca: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805e7ce: e012 b.n 805e7f6 Buff64[i] = Buff64[i << 1]; 805e7d0: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805e7d4: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e7d8: 005b lsls r3, r3, #1 805e7da: 499c ldr r1, [pc, #624] ; (805ea4c ) 805e7dc: 00db lsls r3, r3, #3 805e7de: 440b add r3, r1 805e7e0: cb18 ldmia r3, {r3, r4} 805e7e2: 499a ldr r1, [pc, #616] ; (805ea4c ) 805e7e4: 00d2 lsls r2, r2, #3 805e7e6: 440a add r2, r1 805e7e8: e882 0018 stmia.w r2, {r3, r4} for(i = 0; i < 8; i++) { 805e7ec: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e7f0: 3301 adds r3, #1 805e7f2: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805e7f6: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e7fa: 2b07 cmp r3, #7 805e7fc: d9e8 bls.n 805e7d0 } arm_biquad_cascade_df2T_f64(&S_IIR_8Hz, &Buff64[0], &Buff64[Ns], 8); 805e7fe: 4b95 ldr r3, [pc, #596] ; (805ea54 ) 805e800: 681b ldr r3, [r3, #0] 805e802: 00db lsls r3, r3, #3 805e804: 4a91 ldr r2, [pc, #580] ; (805ea4c ) 805e806: 441a add r2, r3 805e808: 2308 movs r3, #8 805e80a: 4990 ldr r1, [pc, #576] ; (805ea4c ) 805e80c: 4892 ldr r0, [pc, #584] ; (805ea58 ) 805e80e: f06b fcc9 bl 80ca1a4 for(i = 0; i < 8; i++) { 805e812: 2300 movs r3, #0 805e814: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805e818: e017 b.n 805e84a In[i] = (float32_t) Buff64[Ns + i]; 805e81a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e81e: 4a8d ldr r2, [pc, #564] ; (805ea54 ) 805e820: 6811 ldr r1, [r2, #0] 805e822: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805e826: 440a add r2, r1 805e828: 4988 ldr r1, [pc, #544] ; (805ea4c ) 805e82a: 00d2 lsls r2, r2, #3 805e82c: 440a add r2, r1 805e82e: ed92 7b00 vldr d7, [r2] 805e832: eef7 7bc7 vcvt.f32.f64 s15, d7 805e836: 4a83 ldr r2, [pc, #524] ; (805ea44 ) 805e838: 009b lsls r3, r3, #2 805e83a: 4413 add r3, r2 805e83c: edc3 7a00 vstr s15, [r3] for(i = 0; i < 8; i++) { 805e840: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e844: 3301 adds r3, #1 805e846: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805e84a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e84e: 2b07 cmp r3, #7 805e850: d9e3 bls.n 805e81a } if(pardata.IVS[pardata.IPR] == RMS) 805e852: 4b82 ldr r3, [pc, #520] ; (805ea5c ) 805e854: 785b ldrb r3, [r3, #1] 805e856: b2db uxtb r3, r3 805e858: 461a mov r2, r3 805e85a: 4b80 ldr r3, [pc, #512] ; (805ea5c ) 805e85c: 4413 add r3, r2 805e85e: 789b ldrb r3, [r3, #2] 805e860: b2db uxtb r3, r3 805e862: 2b01 cmp r3, #1 805e864: d111 bne.n 805e88a { arm_power_f32(In, 8, &fl); 805e866: f507 73de add.w r3, r7, #444 ; 0x1bc 805e86a: 461a mov r2, r3 805e86c: 2108 movs r1, #8 805e86e: 4875 ldr r0, [pc, #468] ; (805ea44 ) 805e870: f06b fb4e bl 80c9f10 rms8 += fl; 805e874: 4b7a ldr r3, [pc, #488] ; (805ea60 ) 805e876: ed93 7a00 vldr s14, [r3] 805e87a: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 805e87e: ee77 7a27 vadd.f32 s15, s14, s15 805e882: 4b77 ldr r3, [pc, #476] ; (805ea60 ) 805e884: edc3 7a00 vstr s15, [r3] 805e888: e048 b.n 805e91c } else { arm_min_f32(In, 8, &fn[0], &i); 805e88a: f507 73e8 add.w r3, r7, #464 ; 0x1d0 805e88e: f507 72d8 add.w r2, r7, #432 ; 0x1b0 805e892: 2108 movs r1, #8 805e894: 486b ldr r0, [pc, #428] ; (805ea44 ) 805e896: f06b fb75 bl 80c9f84 arm_max_f32(In, 8, &fn[1], &j); 805e89a: f507 71e6 add.w r1, r7, #460 ; 0x1cc 805e89e: f507 73d8 add.w r3, r7, #432 ; 0x1b0 805e8a2: 1d1a adds r2, r3, #4 805e8a4: 460b mov r3, r1 805e8a6: 2108 movs r1, #8 805e8a8: 4866 ldr r0, [pc, #408] ; (805ea44 ) 805e8aa: f06b fc07 bl 80ca0bc fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 805e8ae: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805e8b2: eef5 7ac0 vcmpe.f32 s15, #0.0 805e8b6: eef1 fa10 vmrs APSR_nzcv, fpscr 805e8ba: dd02 ble.n 805e8c2 805e8bc: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805e8c0: e003 b.n 805e8ca 805e8c2: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805e8c6: eef1 7a67 vneg.f32 s15, s15 805e8ca: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 805e8ce: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805e8d2: eef5 7ac0 vcmpe.f32 s15, #0.0 805e8d6: eef1 fa10 vmrs APSR_nzcv, fpscr 805e8da: dd02 ble.n 805e8e2 805e8dc: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805e8e0: e003 b.n 805e8ea 805e8e2: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805e8e6: eef1 7a67 vneg.f32 s15, s15 805e8ea: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &fl, &j); 805e8ee: f507 73e6 add.w r3, r7, #460 ; 0x1cc 805e8f2: f507 72de add.w r2, r7, #444 ; 0x1bc 805e8f6: f507 70d8 add.w r0, r7, #432 ; 0x1b0 805e8fa: 2102 movs r1, #2 805e8fc: f06b fbde bl 80ca0bc if(fl > rms8) 805e900: ed97 7a6f vldr s14, [r7, #444] ; 0x1bc 805e904: 4b56 ldr r3, [pc, #344] ; (805ea60 ) 805e906: edd3 7a00 vldr s15, [r3] 805e90a: eeb4 7ae7 vcmpe.f32 s14, s15 805e90e: eef1 fa10 vmrs APSR_nzcv, fpscr 805e912: dd03 ble.n 805e91c rms8 = fl; 805e914: f8d7 31bc ldr.w r3, [r7, #444] ; 0x1bc 805e918: 4a51 ldr r2, [pc, #324] ; (805ea60 ) 805e91a: 6013 str r3, [r2, #0] } //** 4 arm_biquad_cascade_df2T_f64(&S_LP_4, &Buff64[0], &Buff64[0], 8); 805e91c: 2308 movs r3, #8 805e91e: 4a4b ldr r2, [pc, #300] ; (805ea4c ) 805e920: 494a ldr r1, [pc, #296] ; (805ea4c ) 805e922: 4850 ldr r0, [pc, #320] ; (805ea64 ) 805e924: f06b fc3e bl 80ca1a4 for(i = 0; i < 4; i++) { 805e928: 2300 movs r3, #0 805e92a: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805e92e: e012 b.n 805e956 Buff64[i] = Buff64[i << 1]; 805e930: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805e934: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e938: 005b lsls r3, r3, #1 805e93a: 4944 ldr r1, [pc, #272] ; (805ea4c ) 805e93c: 00db lsls r3, r3, #3 805e93e: 440b add r3, r1 805e940: cb18 ldmia r3, {r3, r4} 805e942: 4942 ldr r1, [pc, #264] ; (805ea4c ) 805e944: 00d2 lsls r2, r2, #3 805e946: 440a add r2, r1 805e948: e882 0018 stmia.w r2, {r3, r4} for(i = 0; i < 4; i++) { 805e94c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e950: 3301 adds r3, #1 805e952: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805e956: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e95a: 2b03 cmp r3, #3 805e95c: d9e8 bls.n 805e930 } arm_biquad_cascade_df2T_f64(&S_IIR_4Hz, &Buff64[0], &Buff64[Ns], 4); 805e95e: 4b3d ldr r3, [pc, #244] ; (805ea54 ) 805e960: 681b ldr r3, [r3, #0] 805e962: 00db lsls r3, r3, #3 805e964: 4a39 ldr r2, [pc, #228] ; (805ea4c ) 805e966: 441a add r2, r3 805e968: 2304 movs r3, #4 805e96a: 4938 ldr r1, [pc, #224] ; (805ea4c ) 805e96c: 483e ldr r0, [pc, #248] ; (805ea68 ) 805e96e: f06b fc19 bl 80ca1a4 for(i = 0; i < 4; i++) { 805e972: 2300 movs r3, #0 805e974: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805e978: e017 b.n 805e9aa In[i] = (float32_t) Buff64[Ns + i]; 805e97a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e97e: 4a35 ldr r2, [pc, #212] ; (805ea54 ) 805e980: 6811 ldr r1, [r2, #0] 805e982: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805e986: 440a add r2, r1 805e988: 4930 ldr r1, [pc, #192] ; (805ea4c ) 805e98a: 00d2 lsls r2, r2, #3 805e98c: 440a add r2, r1 805e98e: ed92 7b00 vldr d7, [r2] 805e992: eef7 7bc7 vcvt.f32.f64 s15, d7 805e996: 4a2b ldr r2, [pc, #172] ; (805ea44 ) 805e998: 009b lsls r3, r3, #2 805e99a: 4413 add r3, r2 805e99c: edc3 7a00 vstr s15, [r3] for(i = 0; i < 4; i++) { 805e9a0: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e9a4: 3301 adds r3, #1 805e9a6: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805e9aa: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e9ae: 2b03 cmp r3, #3 805e9b0: d9e3 bls.n 805e97a } if(pardata.IVS[pardata.IPR] == RMS) 805e9b2: 4b2a ldr r3, [pc, #168] ; (805ea5c ) 805e9b4: 785b ldrb r3, [r3, #1] 805e9b6: b2db uxtb r3, r3 805e9b8: 461a mov r2, r3 805e9ba: 4b28 ldr r3, [pc, #160] ; (805ea5c ) 805e9bc: 4413 add r3, r2 805e9be: 789b ldrb r3, [r3, #2] 805e9c0: b2db uxtb r3, r3 805e9c2: 2b01 cmp r3, #1 805e9c4: d111 bne.n 805e9ea { arm_power_f32(In, 4, &fl); 805e9c6: f507 73de add.w r3, r7, #444 ; 0x1bc 805e9ca: 461a mov r2, r3 805e9cc: 2104 movs r1, #4 805e9ce: 481d ldr r0, [pc, #116] ; (805ea44 ) 805e9d0: f06b fa9e bl 80c9f10 rms4 += fl; 805e9d4: 4b25 ldr r3, [pc, #148] ; (805ea6c ) 805e9d6: ed93 7a00 vldr s14, [r3] 805e9da: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 805e9de: ee77 7a27 vadd.f32 s15, s14, s15 805e9e2: 4b22 ldr r3, [pc, #136] ; (805ea6c ) 805e9e4: edc3 7a00 vstr s15, [r3] 805e9e8: e05f b.n 805eaaa } else { arm_min_f32(In, 4, &fn[0], &i); 805e9ea: f507 73e8 add.w r3, r7, #464 ; 0x1d0 805e9ee: f507 72d8 add.w r2, r7, #432 ; 0x1b0 805e9f2: 2104 movs r1, #4 805e9f4: 4813 ldr r0, [pc, #76] ; (805ea44 ) 805e9f6: f06b fac5 bl 80c9f84 arm_max_f32(In, 4, &fn[1], &j); 805e9fa: f507 71e6 add.w r1, r7, #460 ; 0x1cc 805e9fe: f507 73d8 add.w r3, r7, #432 ; 0x1b0 805ea02: 1d1a adds r2, r3, #4 805ea04: 460b mov r3, r1 805ea06: 2104 movs r1, #4 805ea08: 480e ldr r0, [pc, #56] ; (805ea44 ) 805ea0a: f06b fb57 bl 80ca0bc fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 805ea0e: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805ea12: eef5 7ac0 vcmpe.f32 s15, #0.0 805ea16: eef1 fa10 vmrs APSR_nzcv, fpscr 805ea1a: dd02 ble.n 805ea22 805ea1c: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805ea20: e003 b.n 805ea2a 805ea22: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805ea26: eef1 7a67 vneg.f32 s15, s15 805ea2a: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 805ea2e: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805ea32: eef5 7ac0 vcmpe.f32 s15, #0.0 805ea36: eef1 fa10 vmrs APSR_nzcv, fpscr 805ea3a: dd19 ble.n 805ea70 805ea3c: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805ea40: e01a b.n 805ea78 805ea42: bf00 nop 805ea44: 200279c0 .word 0x200279c0 805ea48: 20020d90 .word 0x20020d90 805ea4c: 20037ae0 .word 0x20037ae0 805ea50: 2002633c .word 0x2002633c 805ea54: 20021cdc .word 0x20021cdc 805ea58: 20057f48 .word 0x20057f48 805ea5c: 20023e60 .word 0x20023e60 805ea60: 20021cd0 .word 0x20021cd0 805ea64: 20057ae0 .word 0x20057ae0 805ea68: 200278d4 .word 0x200278d4 805ea6c: 20021d18 .word 0x20021d18 805ea70: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805ea74: eef1 7a67 vneg.f32 s15, s15 805ea78: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &fl, &j); 805ea7c: f507 73e6 add.w r3, r7, #460 ; 0x1cc 805ea80: f507 72de add.w r2, r7, #444 ; 0x1bc 805ea84: f507 70d8 add.w r0, r7, #432 ; 0x1b0 805ea88: 2102 movs r1, #2 805ea8a: f06b fb17 bl 80ca0bc if(fl > rms4) 805ea8e: ed97 7a6f vldr s14, [r7, #444] ; 0x1bc 805ea92: 4ba7 ldr r3, [pc, #668] ; (805ed30 ) 805ea94: edd3 7a00 vldr s15, [r3] 805ea98: eeb4 7ae7 vcmpe.f32 s14, s15 805ea9c: eef1 fa10 vmrs APSR_nzcv, fpscr 805eaa0: dd03 ble.n 805eaaa rms4 = fl; 805eaa2: f8d7 31bc ldr.w r3, [r7, #444] ; 0x1bc 805eaa6: 4aa2 ldr r2, [pc, #648] ; (805ed30 ) 805eaa8: 6013 str r3, [r2, #0] } //** 2 arm_biquad_cascade_df2T_f64(&S_LP_2, &Buff64[0], &Buff64[0], 4); 805eaaa: 2304 movs r3, #4 805eaac: 4aa1 ldr r2, [pc, #644] ; (805ed34 ) 805eaae: 49a1 ldr r1, [pc, #644] ; (805ed34 ) 805eab0: 48a1 ldr r0, [pc, #644] ; (805ed38 ) 805eab2: f06b fb77 bl 80ca1a4 for(i = 0; i < 2; i++) { 805eab6: 2300 movs r3, #0 805eab8: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805eabc: e012 b.n 805eae4 Buff64[i] = Buff64[i << 1]; 805eabe: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805eac2: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805eac6: 005b lsls r3, r3, #1 805eac8: 499a ldr r1, [pc, #616] ; (805ed34 ) 805eaca: 00db lsls r3, r3, #3 805eacc: 440b add r3, r1 805eace: cb18 ldmia r3, {r3, r4} 805ead0: 4998 ldr r1, [pc, #608] ; (805ed34 ) 805ead2: 00d2 lsls r2, r2, #3 805ead4: 440a add r2, r1 805ead6: e882 0018 stmia.w r2, {r3, r4} for(i = 0; i < 2; i++) { 805eada: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805eade: 3301 adds r3, #1 805eae0: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805eae4: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805eae8: 2b01 cmp r3, #1 805eaea: d9e8 bls.n 805eabe } arm_biquad_cascade_df2T_f64(&S_IIR_2Hz, &Buff64[0], &Buff64[Ns], 2); 805eaec: 4b93 ldr r3, [pc, #588] ; (805ed3c ) 805eaee: 681b ldr r3, [r3, #0] 805eaf0: 00db lsls r3, r3, #3 805eaf2: 4a90 ldr r2, [pc, #576] ; (805ed34 ) 805eaf4: 441a add r2, r3 805eaf6: 2302 movs r3, #2 805eaf8: 498e ldr r1, [pc, #568] ; (805ed34 ) 805eafa: 4891 ldr r0, [pc, #580] ; (805ed40 ) 805eafc: f06b fb52 bl 80ca1a4 for(i = 0; i < 2; i++) { 805eb00: 2300 movs r3, #0 805eb02: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805eb06: e017 b.n 805eb38 In[i] = (float32_t) Buff64[Ns + i]; 805eb08: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805eb0c: 4a8b ldr r2, [pc, #556] ; (805ed3c ) 805eb0e: 6811 ldr r1, [r2, #0] 805eb10: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805eb14: 440a add r2, r1 805eb16: 4987 ldr r1, [pc, #540] ; (805ed34 ) 805eb18: 00d2 lsls r2, r2, #3 805eb1a: 440a add r2, r1 805eb1c: ed92 7b00 vldr d7, [r2] 805eb20: eef7 7bc7 vcvt.f32.f64 s15, d7 805eb24: 4a87 ldr r2, [pc, #540] ; (805ed44 ) 805eb26: 009b lsls r3, r3, #2 805eb28: 4413 add r3, r2 805eb2a: edc3 7a00 vstr s15, [r3] for(i = 0; i < 2; i++) { 805eb2e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805eb32: 3301 adds r3, #1 805eb34: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805eb38: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805eb3c: 2b01 cmp r3, #1 805eb3e: d9e3 bls.n 805eb08 } if(pardata.IVS[pardata.IPR] == RMS) 805eb40: 4b81 ldr r3, [pc, #516] ; (805ed48 ) 805eb42: 785b ldrb r3, [r3, #1] 805eb44: b2db uxtb r3, r3 805eb46: 461a mov r2, r3 805eb48: 4b7f ldr r3, [pc, #508] ; (805ed48 ) 805eb4a: 4413 add r3, r2 805eb4c: 789b ldrb r3, [r3, #2] 805eb4e: b2db uxtb r3, r3 805eb50: 2b01 cmp r3, #1 805eb52: d111 bne.n 805eb78 { arm_power_f32(In, 2, &fl); 805eb54: f507 73de add.w r3, r7, #444 ; 0x1bc 805eb58: 461a mov r2, r3 805eb5a: 2102 movs r1, #2 805eb5c: 4879 ldr r0, [pc, #484] ; (805ed44 ) 805eb5e: f06b f9d7 bl 80c9f10 rms2 += fl; 805eb62: 4b7a ldr r3, [pc, #488] ; (805ed4c ) 805eb64: ed93 7a00 vldr s14, [r3] 805eb68: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 805eb6c: ee77 7a27 vadd.f32 s15, s14, s15 805eb70: 4b76 ldr r3, [pc, #472] ; (805ed4c ) 805eb72: edc3 7a00 vstr s15, [r3] 805eb76: e048 b.n 805ec0a } else { arm_min_f32(In, 2, &fn[0], &i); 805eb78: f507 73e8 add.w r3, r7, #464 ; 0x1d0 805eb7c: f507 72d8 add.w r2, r7, #432 ; 0x1b0 805eb80: 2102 movs r1, #2 805eb82: 4870 ldr r0, [pc, #448] ; (805ed44 ) 805eb84: f06b f9fe bl 80c9f84 arm_max_f32(In, 2, &fn[1], &j); 805eb88: f507 71e6 add.w r1, r7, #460 ; 0x1cc 805eb8c: f507 73d8 add.w r3, r7, #432 ; 0x1b0 805eb90: 1d1a adds r2, r3, #4 805eb92: 460b mov r3, r1 805eb94: 2102 movs r1, #2 805eb96: 486b ldr r0, [pc, #428] ; (805ed44 ) 805eb98: f06b fa90 bl 80ca0bc fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 805eb9c: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805eba0: eef5 7ac0 vcmpe.f32 s15, #0.0 805eba4: eef1 fa10 vmrs APSR_nzcv, fpscr 805eba8: dd02 ble.n 805ebb0 805ebaa: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805ebae: e003 b.n 805ebb8 805ebb0: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805ebb4: eef1 7a67 vneg.f32 s15, s15 805ebb8: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 805ebbc: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805ebc0: eef5 7ac0 vcmpe.f32 s15, #0.0 805ebc4: eef1 fa10 vmrs APSR_nzcv, fpscr 805ebc8: dd02 ble.n 805ebd0 805ebca: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805ebce: e003 b.n 805ebd8 805ebd0: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805ebd4: eef1 7a67 vneg.f32 s15, s15 805ebd8: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &fl, &j); 805ebdc: f507 73e6 add.w r3, r7, #460 ; 0x1cc 805ebe0: f507 72de add.w r2, r7, #444 ; 0x1bc 805ebe4: f507 70d8 add.w r0, r7, #432 ; 0x1b0 805ebe8: 2102 movs r1, #2 805ebea: f06b fa67 bl 80ca0bc if(fl > rms2) 805ebee: ed97 7a6f vldr s14, [r7, #444] ; 0x1bc 805ebf2: 4b56 ldr r3, [pc, #344] ; (805ed4c ) 805ebf4: edd3 7a00 vldr s15, [r3] 805ebf8: eeb4 7ae7 vcmpe.f32 s14, s15 805ebfc: eef1 fa10 vmrs APSR_nzcv, fpscr 805ec00: dd03 ble.n 805ec0a rms2 = fl; 805ec02: f8d7 31bc ldr.w r3, [r7, #444] ; 0x1bc 805ec06: 4a51 ldr r2, [pc, #324] ; (805ed4c ) 805ec08: 6013 str r3, [r2, #0] } //** 1 arm_biquad_cascade_df2T_f64(&S_LP_1, &Buff64[0], &Buff64[0], 2); 805ec0a: 2302 movs r3, #2 805ec0c: 4a49 ldr r2, [pc, #292] ; (805ed34 ) 805ec0e: 4949 ldr r1, [pc, #292] ; (805ed34 ) 805ec10: 484f ldr r0, [pc, #316] ; (805ed50 ) 805ec12: f06b fac7 bl 80ca1a4 for(i = 0; i < 1; i++) { 805ec16: 2300 movs r3, #0 805ec18: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805ec1c: e012 b.n 805ec44 Buff64[i] = Buff64[i << 1]; 805ec1e: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805ec22: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805ec26: 005b lsls r3, r3, #1 805ec28: 4942 ldr r1, [pc, #264] ; (805ed34 ) 805ec2a: 00db lsls r3, r3, #3 805ec2c: 440b add r3, r1 805ec2e: cb18 ldmia r3, {r3, r4} 805ec30: 4940 ldr r1, [pc, #256] ; (805ed34 ) 805ec32: 00d2 lsls r2, r2, #3 805ec34: 440a add r2, r1 805ec36: e882 0018 stmia.w r2, {r3, r4} for(i = 0; i < 1; i++) { 805ec3a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805ec3e: 3301 adds r3, #1 805ec40: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805ec44: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805ec48: 2b00 cmp r3, #0 805ec4a: d0e8 beq.n 805ec1e } arm_biquad_cascade_df2T_f64(&S_IIR_1Hz, &Buff64[0], &Buff64[Ns], 1); 805ec4c: 4b3b ldr r3, [pc, #236] ; (805ed3c ) 805ec4e: 681b ldr r3, [r3, #0] 805ec50: 00db lsls r3, r3, #3 805ec52: 4a38 ldr r2, [pc, #224] ; (805ed34 ) 805ec54: 441a add r2, r3 805ec56: 2301 movs r3, #1 805ec58: 4936 ldr r1, [pc, #216] ; (805ed34 ) 805ec5a: 483e ldr r0, [pc, #248] ; (805ed54 ) 805ec5c: f06b faa2 bl 80ca1a4 for(i = 0; i < 1; i++) { 805ec60: 2300 movs r3, #0 805ec62: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805ec66: e017 b.n 805ec98 In[i] = (float32_t) Buff64[Ns + i]; 805ec68: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805ec6c: 4a33 ldr r2, [pc, #204] ; (805ed3c ) 805ec6e: 6811 ldr r1, [r2, #0] 805ec70: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805ec74: 440a add r2, r1 805ec76: 492f ldr r1, [pc, #188] ; (805ed34 ) 805ec78: 00d2 lsls r2, r2, #3 805ec7a: 440a add r2, r1 805ec7c: ed92 7b00 vldr d7, [r2] 805ec80: eef7 7bc7 vcvt.f32.f64 s15, d7 805ec84: 4a2f ldr r2, [pc, #188] ; (805ed44 ) 805ec86: 009b lsls r3, r3, #2 805ec88: 4413 add r3, r2 805ec8a: edc3 7a00 vstr s15, [r3] for(i = 0; i < 1; i++) { 805ec8e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805ec92: 3301 adds r3, #1 805ec94: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805ec98: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805ec9c: 2b00 cmp r3, #0 805ec9e: d0e3 beq.n 805ec68 } if(pardata.IVS[pardata.IPR] == RMS) 805eca0: 4b29 ldr r3, [pc, #164] ; (805ed48 ) 805eca2: 785b ldrb r3, [r3, #1] 805eca4: b2db uxtb r3, r3 805eca6: 461a mov r2, r3 805eca8: 4b27 ldr r3, [pc, #156] ; (805ed48 ) 805ecaa: 4413 add r3, r2 805ecac: 789b ldrb r3, [r3, #2] 805ecae: b2db uxtb r3, r3 805ecb0: 2b01 cmp r3, #1 805ecb2: d111 bne.n 805ecd8 { arm_power_f32(In, 1, &fl); 805ecb4: f507 73de add.w r3, r7, #444 ; 0x1bc 805ecb8: 461a mov r2, r3 805ecba: 2101 movs r1, #1 805ecbc: 4821 ldr r0, [pc, #132] ; (805ed44 ) 805ecbe: f06b f927 bl 80c9f10 rms1 += fl; 805ecc2: 4b25 ldr r3, [pc, #148] ; (805ed58 ) 805ecc4: ed93 7a00 vldr s14, [r3] 805ecc8: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 805eccc: ee77 7a27 vadd.f32 s15, s14, s15 805ecd0: 4b21 ldr r3, [pc, #132] ; (805ed58 ) 805ecd2: edc3 7a00 vstr s15, [r3] 805ecd6: e05e b.n 805ed96 } else { arm_min_f32(In, 1, &fn[0], &i); 805ecd8: f507 73e8 add.w r3, r7, #464 ; 0x1d0 805ecdc: f507 72d8 add.w r2, r7, #432 ; 0x1b0 805ece0: 2101 movs r1, #1 805ece2: 4818 ldr r0, [pc, #96] ; (805ed44 ) 805ece4: f06b f94e bl 80c9f84 arm_max_f32(In, 1, &fn[1], &j); 805ece8: f507 71e6 add.w r1, r7, #460 ; 0x1cc 805ecec: f507 73d8 add.w r3, r7, #432 ; 0x1b0 805ecf0: 1d1a adds r2, r3, #4 805ecf2: 460b mov r3, r1 805ecf4: 2101 movs r1, #1 805ecf6: 4813 ldr r0, [pc, #76] ; (805ed44 ) 805ecf8: f06b f9e0 bl 80ca0bc fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 805ecfc: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805ed00: eef5 7ac0 vcmpe.f32 s15, #0.0 805ed04: eef1 fa10 vmrs APSR_nzcv, fpscr 805ed08: dd02 ble.n 805ed10 805ed0a: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805ed0e: e003 b.n 805ed18 805ed10: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805ed14: eef1 7a67 vneg.f32 s15, s15 805ed18: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 805ed1c: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805ed20: eef5 7ac0 vcmpe.f32 s15, #0.0 805ed24: eef1 fa10 vmrs APSR_nzcv, fpscr 805ed28: dd18 ble.n 805ed5c 805ed2a: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805ed2e: e019 b.n 805ed64 805ed30: 20021d18 .word 0x20021d18 805ed34: 20037ae0 .word 0x20037ae0 805ed38: 20057cfc .word 0x20057cfc 805ed3c: 20021cdc .word 0x20021cdc 805ed40: 20057fe4 .word 0x20057fe4 805ed44: 200279c0 .word 0x200279c0 805ed48: 20023e60 .word 0x20023e60 805ed4c: 20021cd8 .word 0x20021cd8 805ed50: 20026188 .word 0x20026188 805ed54: 2002786c .word 0x2002786c 805ed58: 20021d10 .word 0x20021d10 805ed5c: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805ed60: eef1 7a67 vneg.f32 s15, s15 805ed64: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &fl, &j); 805ed68: f507 73e6 add.w r3, r7, #460 ; 0x1cc 805ed6c: f507 72de add.w r2, r7, #444 ; 0x1bc 805ed70: f507 70d8 add.w r0, r7, #432 ; 0x1b0 805ed74: 2102 movs r1, #2 805ed76: f06b f9a1 bl 80ca0bc if(fl > rms1) 805ed7a: ed97 7a6f vldr s14, [r7, #444] ; 0x1bc 805ed7e: 4bb8 ldr r3, [pc, #736] ; (805f060 ) 805ed80: edd3 7a00 vldr s15, [r3] 805ed84: eeb4 7ae7 vcmpe.f32 s14, s15 805ed88: eef1 fa10 vmrs APSR_nzcv, fpscr 805ed8c: dd03 ble.n 805ed96 rms1 = fl; 805ed8e: f8d7 31bc ldr.w r3, [r7, #444] ; 0x1bc 805ed92: 4ab3 ldr r2, [pc, #716] ; (805f060 ) 805ed94: 6013 str r3, [r2, #0] if(cntOkt == 8) 805ed96: 4bb3 ldr r3, [pc, #716] ; (805f064 ) 805ed98: 681b ldr r3, [r3, #0] 805ed9a: 2b08 cmp r3, #8 805ed9c: f040 811d bne.w 805efda { MeanCnt++; 805eda0: 4bb1 ldr r3, [pc, #708] ; (805f068 ) 805eda2: 681b ldr r3, [r3, #0] 805eda4: 3301 adds r3, #1 805eda6: 4ab0 ldr r2, [pc, #704] ; (805f068 ) 805eda8: 6013 str r3, [r2, #0] cntOkt = 0; 805edaa: 4bae ldr r3, [pc, #696] ; (805f064 ) 805edac: 2200 movs r2, #0 805edae: 601a str r2, [r3, #0] if(MeanCnt == AVG[pardata.AVG]) 805edb0: 4bae ldr r3, [pc, #696] ; (805f06c ) 805edb2: 7b5b ldrb r3, [r3, #13] 805edb4: b2db uxtb r3, r3 805edb6: 461a mov r2, r3 805edb8: 4bad ldr r3, [pc, #692] ; (805f070 ) 805edba: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 805edbe: 461a mov r2, r3 805edc0: 4ba9 ldr r3, [pc, #676] ; (805f068 ) 805edc2: 681b ldr r3, [r3, #0] 805edc4: 429a cmp r2, r3 805edc6: f040 8108 bne.w 805efda { if(pardata.IVS[ACC] == RMS) 805edca: 4ba8 ldr r3, [pc, #672] ; (805f06c ) 805edcc: 789b ldrb r3, [r3, #2] 805edce: b2db uxtb r3, r3 805edd0: 2b01 cmp r3, #1 805edd2: d16f bne.n 805eeb4 { rms8 /= (64.0f * (float32_t) MeanCnt); 805edd4: 4ba4 ldr r3, [pc, #656] ; (805f068 ) 805edd6: 681b ldr r3, [r3, #0] 805edd8: ee07 3a90 vmov s15, r3 805eddc: eef8 7a67 vcvt.f32.u32 s15, s15 805ede0: ed9f 7aa4 vldr s14, [pc, #656] ; 805f074 805ede4: ee27 7a87 vmul.f32 s14, s15, s14 805ede8: 4ba3 ldr r3, [pc, #652] ; (805f078 ) 805edea: edd3 6a00 vldr s13, [r3] 805edee: eec6 7a87 vdiv.f32 s15, s13, s14 805edf2: 4ba1 ldr r3, [pc, #644] ; (805f078 ) 805edf4: edc3 7a00 vstr s15, [r3] arm_sqrt_f32(rms8, &Octaves[3]); 805edf8: 4b9f ldr r3, [pc, #636] ; (805f078 ) 805edfa: edd3 7a00 vldr s15, [r3] 805edfe: 463b mov r3, r7 805ee00: 330c adds r3, #12 805ee02: 4618 mov r0, r3 805ee04: eeb0 0a67 vmov.f32 s0, s15 805ee08: f7f6 fdd2 bl 80559b0 rms4 /= (32.0f * (float32_t) MeanCnt); 805ee0c: 4b96 ldr r3, [pc, #600] ; (805f068 ) 805ee0e: 681b ldr r3, [r3, #0] 805ee10: ee07 3a90 vmov s15, r3 805ee14: eef8 7a67 vcvt.f32.u32 s15, s15 805ee18: ed9f 7a98 vldr s14, [pc, #608] ; 805f07c 805ee1c: ee27 7a87 vmul.f32 s14, s15, s14 805ee20: 4b97 ldr r3, [pc, #604] ; (805f080 ) 805ee22: edd3 6a00 vldr s13, [r3] 805ee26: eec6 7a87 vdiv.f32 s15, s13, s14 805ee2a: 4b95 ldr r3, [pc, #596] ; (805f080 ) 805ee2c: edc3 7a00 vstr s15, [r3] arm_sqrt_f32(rms4, &Octaves[2]); 805ee30: 4b93 ldr r3, [pc, #588] ; (805f080 ) 805ee32: edd3 7a00 vldr s15, [r3] 805ee36: 463b mov r3, r7 805ee38: 3308 adds r3, #8 805ee3a: 4618 mov r0, r3 805ee3c: eeb0 0a67 vmov.f32 s0, s15 805ee40: f7f6 fdb6 bl 80559b0 rms2 /= (16.0f * (float32_t) MeanCnt); 805ee44: 4b88 ldr r3, [pc, #544] ; (805f068 ) 805ee46: 681b ldr r3, [r3, #0] 805ee48: ee07 3a90 vmov s15, r3 805ee4c: eef8 7a67 vcvt.f32.u32 s15, s15 805ee50: eeb3 7a00 vmov.f32 s14, #48 ; 0x41800000 16.0 805ee54: ee27 7a87 vmul.f32 s14, s15, s14 805ee58: 4b8a ldr r3, [pc, #552] ; (805f084 ) 805ee5a: edd3 6a00 vldr s13, [r3] 805ee5e: eec6 7a87 vdiv.f32 s15, s13, s14 805ee62: 4b88 ldr r3, [pc, #544] ; (805f084 ) 805ee64: edc3 7a00 vstr s15, [r3] arm_sqrt_f32(rms2, &Octaves[1]); 805ee68: 4b86 ldr r3, [pc, #536] ; (805f084 ) 805ee6a: edd3 7a00 vldr s15, [r3] 805ee6e: 463b mov r3, r7 805ee70: 3304 adds r3, #4 805ee72: 4618 mov r0, r3 805ee74: eeb0 0a67 vmov.f32 s0, s15 805ee78: f7f6 fd9a bl 80559b0 rms1 /= (8.0f * (float32_t) MeanCnt); 805ee7c: 4b7a ldr r3, [pc, #488] ; (805f068 ) 805ee7e: 681b ldr r3, [r3, #0] 805ee80: ee07 3a90 vmov s15, r3 805ee84: eef8 7a67 vcvt.f32.u32 s15, s15 805ee88: eeb2 7a00 vmov.f32 s14, #32 ; 0x41000000 8.0 805ee8c: ee27 7a87 vmul.f32 s14, s15, s14 805ee90: 4b73 ldr r3, [pc, #460] ; (805f060 ) 805ee92: edd3 6a00 vldr s13, [r3] 805ee96: eec6 7a87 vdiv.f32 s15, s13, s14 805ee9a: 4b71 ldr r3, [pc, #452] ; (805f060 ) 805ee9c: edc3 7a00 vstr s15, [r3] arm_sqrt_f32(rms1, &Octaves[0]); 805eea0: 4b6f ldr r3, [pc, #444] ; (805f060 ) 805eea2: edd3 7a00 vldr s15, [r3] 805eea6: 463b mov r3, r7 805eea8: 4618 mov r0, r3 805eeaa: eeb0 0a67 vmov.f32 s0, s15 805eeae: f7f6 fd7f bl 80559b0 805eeb2: e00f b.n 805eed4 } else { Octaves[3] = rms8; 805eeb4: 4b70 ldr r3, [pc, #448] ; (805f078 ) 805eeb6: 681a ldr r2, [r3, #0] 805eeb8: 463b mov r3, r7 805eeba: 60da str r2, [r3, #12] Octaves[2] = rms4; 805eebc: 4b70 ldr r3, [pc, #448] ; (805f080 ) 805eebe: 681a ldr r2, [r3, #0] 805eec0: 463b mov r3, r7 805eec2: 609a str r2, [r3, #8] Octaves[1] = rms2; 805eec4: 4b6f ldr r3, [pc, #444] ; (805f084 ) 805eec6: 681a ldr r2, [r3, #0] 805eec8: 463b mov r3, r7 805eeca: 605a str r2, [r3, #4] Octaves[0] = rms1; 805eecc: 4b64 ldr r3, [pc, #400] ; (805f060 ) 805eece: 681a ldr r2, [r3, #0] 805eed0: 463b mov r3, r7 805eed2: 601a str r2, [r3, #0] } fs = 1.0f; 805eed4: f04f 537e mov.w r3, #1065353216 ; 0x3f800000 805eed8: f8c7 31b8 str.w r3, [r7, #440] ; 0x1b8 if(pardata.IPR == VEL) 805eedc: 4b63 ldr r3, [pc, #396] ; (805f06c ) 805eede: 785b ldrb r3, [r3, #1] 805eee0: b2db uxtb r3, r3 805eee2: 2b01 cmp r3, #1 805eee4: d103 bne.n 805eeee fs = 249.135f; 805eee6: 4b68 ldr r3, [pc, #416] ; (805f088 ) 805eee8: f8c7 31b8 str.w r3, [r7, #440] ; 0x1b8 805eeec: e007 b.n 805eefe else if(pardata.IPR == DIS) 805eeee: 4b5f ldr r3, [pc, #380] ; (805f06c ) 805eef0: 785b ldrb r3, [r3, #1] 805eef2: b2db uxtb r3, r3 805eef4: 2b02 cmp r3, #2 805eef6: d102 bne.n 805eefe fs = 61400.171f; 805eef8: 4b64 ldr r3, [pc, #400] ; (805f08c ) 805eefa: f8c7 31b8 str.w r3, [r7, #440] ; 0x1b8 for(i = 0; i < 15; i++) { 805eefe: 2300 movs r3, #0 805ef00: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805ef04: e016 b.n 805ef34 In[i] = Octaves[i] * fs; 805ef06: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805ef0a: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805ef0e: 4639 mov r1, r7 805ef10: 0092 lsls r2, r2, #2 805ef12: 440a add r2, r1 805ef14: ed92 7a00 vldr s14, [r2] 805ef18: edd7 7a6e vldr s15, [r7, #440] ; 0x1b8 805ef1c: ee67 7a27 vmul.f32 s15, s14, s15 805ef20: 4a5b ldr r2, [pc, #364] ; (805f090 ) 805ef22: 009b lsls r3, r3, #2 805ef24: 4413 add r3, r2 805ef26: edc3 7a00 vstr s15, [r3] for(i = 0; i < 15; i++) { 805ef2a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805ef2e: 3301 adds r3, #1 805ef30: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805ef34: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805ef38: 2b0e cmp r3, #14 805ef3a: d9e4 bls.n 805ef06 } if(pardata.IPR > ACC) 805ef3c: 4b4b ldr r3, [pc, #300] ; (805f06c ) 805ef3e: 785b ldrb r3, [r3, #1] 805ef40: b2db uxtb r3, r3 805ef42: 2b00 cmp r3, #0 805ef44: d003 beq.n 805ef4e In[0] = 0.0f; 805ef46: 4b52 ldr r3, [pc, #328] ; (805f090 ) 805ef48: f04f 0200 mov.w r2, #0 805ef4c: 601a str r2, [r3, #0] rms0_8 = 0.0f; 805ef4e: 4b51 ldr r3, [pc, #324] ; (805f094 ) 805ef50: f04f 0200 mov.w r2, #0 805ef54: 601a str r2, [r3, #0] rms1 = 0.0f; 805ef56: 4b42 ldr r3, [pc, #264] ; (805f060 ) 805ef58: f04f 0200 mov.w r2, #0 805ef5c: 601a str r2, [r3, #0] rms1_25 = 0.0f; 805ef5e: 4b4e ldr r3, [pc, #312] ; (805f098 ) 805ef60: f04f 0200 mov.w r2, #0 805ef64: 601a str r2, [r3, #0] rms1_6 = 0.0f; 805ef66: 4b4d ldr r3, [pc, #308] ; (805f09c ) 805ef68: f04f 0200 mov.w r2, #0 805ef6c: 601a str r2, [r3, #0] rms2 = 0.0f; 805ef6e: 4b45 ldr r3, [pc, #276] ; (805f084 ) 805ef70: f04f 0200 mov.w r2, #0 805ef74: 601a str r2, [r3, #0] rms2_5 = 0.0f; 805ef76: 4b4a ldr r3, [pc, #296] ; (805f0a0 ) 805ef78: f04f 0200 mov.w r2, #0 805ef7c: 601a str r2, [r3, #0] rms3_15 = 0.0f; 805ef7e: 4b49 ldr r3, [pc, #292] ; (805f0a4 ) 805ef80: f04f 0200 mov.w r2, #0 805ef84: 601a str r2, [r3, #0] rms4 = 0.0f; 805ef86: 4b3e ldr r3, [pc, #248] ; (805f080 ) 805ef88: f04f 0200 mov.w r2, #0 805ef8c: 601a str r2, [r3, #0] rms5 = 0.0f; 805ef8e: 4b46 ldr r3, [pc, #280] ; (805f0a8 ) 805ef90: f04f 0200 mov.w r2, #0 805ef94: 601a str r2, [r3, #0] rms6_3 = 0.0f; 805ef96: 4b45 ldr r3, [pc, #276] ; (805f0ac ) 805ef98: f04f 0200 mov.w r2, #0 805ef9c: 601a str r2, [r3, #0] rms8 = 0.0f; 805ef9e: 4b36 ldr r3, [pc, #216] ; (805f078 ) 805efa0: f04f 0200 mov.w r2, #0 805efa4: 601a str r2, [r3, #0] rms10 = 0.0f; 805efa6: 4b42 ldr r3, [pc, #264] ; (805f0b0 ) 805efa8: f04f 0200 mov.w r2, #0 805efac: 601a str r2, [r3, #0] FastCopy16(IN_Reg, SCR_Reg, 30); 805efae: 221e movs r2, #30 805efb0: 2104 movs r1, #4 805efb2: 2001 movs r0, #1 805efb4: f005 f9c4 bl 8064340 MeanCnt = 0; 805efb8: 4b2b ldr r3, [pc, #172] ; (805f068 ) 805efba: 2200 movs r2, #0 805efbc: 601a str r2, [r3, #0] if(firstOkt) 805efbe: 4b3d ldr r3, [pc, #244] ; (805f0b4 ) 805efc0: 781b ldrb r3, [r3, #0] 805efc2: b2db uxtb r3, r3 805efc4: 2b00 cmp r3, #0 805efc6: d005 beq.n 805efd4 { firstOkt = false; 805efc8: 4b3a ldr r3, [pc, #232] ; (805f0b4 ) 805efca: 2200 movs r2, #0 805efcc: 701a strb r2, [r3, #0] AUTOZOOM = true; 805efce: 4b3a ldr r3, [pc, #232] ; (805f0b8 ) 805efd0: 2201 movs r2, #1 805efd2: 701a strb r2, [r3, #0] } READY_TO_SEE = true; 805efd4: 4b39 ldr r3, [pc, #228] ; (805f0bc ) 805efd6: 2201 movs r2, #1 805efd8: 701a strb r2, [r3, #0] } } //**************************************************************************** cntcnt = DWT->CYCCNT - cntcnt; 805efda: 4b39 ldr r3, [pc, #228] ; (805f0c0 ) 805efdc: 685b ldr r3, [r3, #4] 805efde: 4619 mov r1, r3 805efe0: f04f 0200 mov.w r2, #0 805efe4: f507 73f8 add.w r3, r7, #496 ; 0x1f0 805efe8: cb18 ldmia r3, {r3, r4} 805efea: 1acb subs r3, r1, r3 805efec: eb62 0404 sbc.w r4, r2, r4 805eff0: f507 72f8 add.w r2, r7, #496 ; 0x1f0 805eff4: e882 0018 stmia.w r2, {r3, r4} cntcnt = 0; 805eff8: f04f 0300 mov.w r3, #0 805effc: f04f 0400 mov.w r4, #0 805f000: f507 72f8 add.w r2, r7, #496 ; 0x1f0 805f004: e882 0018 stmia.w r2, {r3, r4} { 805f008: bf00 nop else { RepeatKm = true; } } break; 805f00a: f005 b854 b.w 80640b6 RepeatKm = true; 805f00e: 4b2d ldr r3, [pc, #180] ; (805f0c4 ) 805f010: 2201 movs r2, #1 805f012: 701a strb r2, [r3, #0] break; 805f014: f005 b84f b.w 80640b6 case SPEC_THIRD: if(measuring) 805f018: 4b2b ldr r3, [pc, #172] ; (805f0c8 ) 805f01a: 781b ldrb r3, [r3, #0] 805f01c: b2db uxtb r3, r3 805f01e: 2b00 cmp r3, #0 805f020: f005 804b beq.w 80640ba { GetData(); 805f024: f005 fb02 bl 806462c j = 0; 805f028: 2300 movs r3, #0 805f02a: f8c7 31cc str.w r3, [r7, #460] ; 0x1cc if(pardata.OPTIONS & 0x4) 805f02e: 4b0f ldr r3, [pc, #60] ; (805f06c ) 805f030: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 805f034: f003 0304 and.w r3, r3, #4 805f038: 2b00 cmp r3, #0 805f03a: d005 beq.n 805f048 CalculateGain(Ns); 805f03c: 4b23 ldr r3, [pc, #140] ; (805f0cc ) 805f03e: 681b ldr r3, [r3, #0] 805f040: 4618 mov r0, r3 805f042: f7f6 fcd7 bl 80559f4 805f046: e06a b.n 805f11e else { Stability = (Nr * 4) + 1; 805f048: 4b21 ldr r3, [pc, #132] ; (805f0d0 ) 805f04a: 881b ldrh r3, [r3, #0] 805f04c: b29b uxth r3, r3 805f04e: 009b lsls r3, r3, #2 805f050: 3301 adds r3, #1 805f052: 461a mov r2, r3 805f054: 4b1f ldr r3, [pc, #124] ; (805f0d4 ) 805f056: 601a str r2, [r3, #0] for(i = 0; i < Ns; i++) 805f058: 2300 movs r3, #0 805f05a: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805f05e: e04d b.n 805f0fc 805f060: 20021d10 .word 0x20021d10 805f064: 20020d90 .word 0x20020d90 805f068: 20020db8 .word 0x20020db8 805f06c: 20023e60 .word 0x20023e60 805f070: 080eeb00 .word 0x080eeb00 805f074: 42800000 .word 0x42800000 805f078: 20021cd0 .word 0x20021cd0 805f07c: 42000000 .word 0x42000000 805f080: 20021d18 .word 0x20021d18 805f084: 20021cd8 .word 0x20021cd8 805f088: 4379228f .word 0x4379228f 805f08c: 476fd82c .word 0x476fd82c 805f090: 200279c0 .word 0x200279c0 805f094: 20021cd4 .word 0x20021cd4 805f098: 20021cc8 .word 0x20021cc8 805f09c: 20021ccc .word 0x20021ccc 805f0a0: 20021cf8 .word 0x20021cf8 805f0a4: 20021d14 .word 0x20021d14 805f0a8: 20021ce4 .word 0x20021ce4 805f0ac: 20021ce0 .word 0x20021ce0 805f0b0: 20021d0c .word 0x20021d0c 805f0b4: 20020d94 .word 0x20020d94 805f0b8: 2002098c .word 0x2002098c 805f0bc: 20020d8e .word 0x20020d8e 805f0c0: e0001000 .word 0xe0001000 805f0c4: 20020dac .word 0x20020dac 805f0c8: 20020daf .word 0x20020daf 805f0cc: 20021cdc .word 0x20021cdc 805f0d0: 20021d20 .word 0x20021d20 805f0d4: 20020da8 .word 0x20020da8 { if(In16[i].lg > 0xE00000) 805f0d8: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805f0dc: 4ab2 ldr r2, [pc, #712] ; (805f3a8 ) 805f0de: f852 3023 ldr.w r3, [r2, r3, lsl #2] 805f0e2: f5b3 0f60 cmp.w r3, #14680064 ; 0xe00000 805f0e6: d904 bls.n 805f0f2 j++; 805f0e8: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 805f0ec: 3301 adds r3, #1 805f0ee: f8c7 31cc str.w r3, [r7, #460] ; 0x1cc for(i = 0; i < Ns; i++) 805f0f2: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805f0f6: 3301 adds r3, #1 805f0f8: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805f0fc: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805f100: 4baa ldr r3, [pc, #680] ; (805f3ac ) 805f102: 681b ldr r3, [r3, #0] 805f104: 429a cmp r2, r3 805f106: d3e7 bcc.n 805f0d8 } if(j >= 2) 805f108: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 805f10c: 2b01 cmp r3, #1 805f10e: d903 bls.n 805f118 OVERDRIVE = true; 805f110: 4ba7 ldr r3, [pc, #668] ; (805f3b0 ) 805f112: 2201 movs r2, #1 805f114: 701a strb r2, [r3, #0] 805f116: e002 b.n 805f11e else OVERDRIVE = false; 805f118: 4ba5 ldr r3, [pc, #660] ; (805f3b0 ) 805f11a: 2200 movs r2, #0 805f11c: 701a strb r2, [r3, #0] } if(Flag_Set_KU) 805f11e: 4ba5 ldr r3, [pc, #660] ; (805f3b4 ) 805f120: 781b ldrb r3, [r3, #0] 805f122: b2db uxtb r3, r3 805f124: 2b00 cmp r3, #0 805f126: d00a beq.n 805f13e { Stability = 0; 805f128: 4ba3 ldr r3, [pc, #652] ; (805f3b8 ) 805f12a: 2200 movs r2, #0 805f12c: 601a str r2, [r3, #0] MeanCnt = 0; 805f12e: 4ba3 ldr r3, [pc, #652] ; (805f3bc ) 805f130: 2200 movs r2, #0 805f132: 601a str r2, [r3, #0] NSamples = 0xffffffff; 805f134: 4ba2 ldr r3, [pc, #648] ; (805f3c0 ) 805f136: f04f 32ff mov.w r2, #4294967295 805f13a: 601a str r2, [r3, #0] 805f13c: e00d b.n 805f15a } else { if(Stability <= (Nr * 4)) 805f13e: 4ba1 ldr r3, [pc, #644] ; (805f3c4 ) 805f140: 881b ldrh r3, [r3, #0] 805f142: b29b uxth r3, r3 805f144: 009b lsls r3, r3, #2 805f146: 461a mov r2, r3 805f148: 4b9b ldr r3, [pc, #620] ; (805f3b8 ) 805f14a: 681b ldr r3, [r3, #0] 805f14c: 429a cmp r2, r3 805f14e: d304 bcc.n 805f15a Stability++; 805f150: 4b99 ldr r3, [pc, #612] ; (805f3b8 ) 805f152: 681b ldr r3, [r3, #0] 805f154: 3301 adds r3, #1 805f156: 4a98 ldr r2, [pc, #608] ; (805f3b8 ) 805f158: 6013 str r3, [r2, #0] } float32_t Third[39]; if((Flag_Set_KU == 0) && (Stability > (Nr * 4))) //åñëè àâòîóñèëåíèå íîðì 805f15a: 4b96 ldr r3, [pc, #600] ; (805f3b4 ) 805f15c: 781b ldrb r3, [r3, #0] 805f15e: b2db uxtb r3, r3 805f160: 2b00 cmp r3, #0 805f162: f043 8336 bne.w 80627d2 805f166: 4b97 ldr r3, [pc, #604] ; (805f3c4 ) 805f168: 881b ldrh r3, [r3, #0] 805f16a: b29b uxth r3, r3 805f16c: 009b lsls r3, r3, #2 805f16e: 461a mov r2, r3 805f170: 4b91 ldr r3, [pc, #580] ; (805f3b8 ) 805f172: 681b ldr r3, [r3, #0] 805f174: 429a cmp r2, r3 805f176: f083 832c bcs.w 80627d2 { if(!cntOkt) 805f17a: 4b93 ldr r3, [pc, #588] ; (805f3c8 ) 805f17c: 681b ldr r3, [r3, #0] 805f17e: 2b00 cmp r3, #0 805f180: d104 bne.n 805f18c { thrd = HAL_GetTick(); 805f182: f054 f859 bl 80b3238 805f186: 4602 mov r2, r0 805f188: 4b90 ldr r3, [pc, #576] ; (805f3cc ) 805f18a: 601a str r2, [r3, #0] } uint64_t cntcnt = DWT->CYCCNT; 805f18c: 4b90 ldr r3, [pc, #576] ; (805f3d0 ) 805f18e: 685b ldr r3, [r3, #4] 805f190: f04f 0400 mov.w r4, #0 805f194: f507 72f4 add.w r2, r7, #488 ; 0x1e8 805f198: e882 0018 stmia.w r2, {r3, r4} fNrm = 1.0f / ((float32_t)(Ns >> 1)); 805f19c: 4b83 ldr r3, [pc, #524] ; (805f3ac ) 805f19e: 681b ldr r3, [r3, #0] 805f1a0: 085b lsrs r3, r3, #1 805f1a2: ee07 3a90 vmov s15, r3 805f1a6: eeb8 7a67 vcvt.f32.u32 s14, s15 805f1aa: eef7 6a00 vmov.f32 s13, #112 ; 0x3f800000 1.0 805f1ae: eec6 7a87 vdiv.f32 s15, s13, s14 805f1b2: edc7 7a85 vstr s15, [r7, #532] ; 0x214 sc = (6.0 / 16777215.0) * (float64_t) CorrKk[ACC]; 805f1b6: 4b87 ldr r3, [pc, #540] ; (805f3d4 ) 805f1b8: edd3 7a00 vldr s15, [r3] 805f1bc: eeb7 7ae7 vcvt.f64.f32 d7, s15 805f1c0: ed9f 6b77 vldr d6, [pc, #476] ; 805f3a0 805f1c4: ee27 7b06 vmul.f64 d7, d7, d6 805f1c8: ed87 7b82 vstr d7, [r7, #520] ; 0x208 sc /= (float64_t) pardata.IKK; 805f1cc: 4b82 ldr r3, [pc, #520] ; (805f3d8 ) 805f1ce: edd3 7a04 vldr s15, [r3, #16] 805f1d2: eeb7 6ae7 vcvt.f64.f32 d6, s15 805f1d6: ed97 5b82 vldr d5, [r7, #520] ; 0x208 805f1da: ee85 7b06 vdiv.f64 d7, d5, d6 805f1de: ed87 7b82 vstr d7, [r7, #520] ; 0x208 for(i = 0; i < Ns; i++) 805f1e2: 2300 movs r3, #0 805f1e4: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805f1e8: e026 b.n 805f238 { Buff64[i] = (float64_t) In16[i].lg; 805f1ea: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805f1ee: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805f1f2: 496d ldr r1, [pc, #436] ; (805f3a8 ) 805f1f4: f851 2022 ldr.w r2, [r1, r2, lsl #2] 805f1f8: ee07 2a90 vmov s15, r2 805f1fc: eeb8 7b67 vcvt.f64.u32 d7, s15 805f200: 4a76 ldr r2, [pc, #472] ; (805f3dc ) 805f202: 00db lsls r3, r3, #3 805f204: 4413 add r3, r2 805f206: ed83 7b00 vstr d7, [r3] Buff64[i] *= sc; 805f20a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805f20e: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805f212: 4972 ldr r1, [pc, #456] ; (805f3dc ) 805f214: 00d2 lsls r2, r2, #3 805f216: 440a add r2, r1 805f218: ed92 6b00 vldr d6, [r2] 805f21c: ed97 7b82 vldr d7, [r7, #520] ; 0x208 805f220: ee26 7b07 vmul.f64 d7, d6, d7 805f224: 4a6d ldr r2, [pc, #436] ; (805f3dc ) 805f226: 00db lsls r3, r3, #3 805f228: 4413 add r3, r2 805f22a: ed83 7b00 vstr d7, [r3] for(i = 0; i < Ns; i++) 805f22e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805f232: 3301 adds r3, #1 805f234: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805f238: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805f23c: 4b5b ldr r3, [pc, #364] ; (805f3ac ) 805f23e: 681b ldr r3, [r3, #0] 805f240: 429a cmp r2, r3 805f242: d3d2 bcc.n 805f1ea } arm_biquad_cascade_df2T_f64(&S_LP, Buff64, Buff64, Ns); 805f244: 4b59 ldr r3, [pc, #356] ; (805f3ac ) 805f246: 681b ldr r3, [r3, #0] 805f248: 4a64 ldr r2, [pc, #400] ; (805f3dc ) 805f24a: 4964 ldr r1, [pc, #400] ; (805f3dc ) 805f24c: 4864 ldr r0, [pc, #400] ; (805f3e0 ) 805f24e: f06a ffa9 bl 80ca1a4 if(pardata.IPR == ACC) 805f252: 4b61 ldr r3, [pc, #388] ; (805f3d8 ) 805f254: 785b ldrb r3, [r3, #1] 805f256: b2db uxtb r3, r3 805f258: 2b00 cmp r3, #0 805f25a: d107 bne.n 805f26c { arm_biquad_cascade_df2T_f64(&S_HP_ACC, Buff64, Buff64, Ns); 805f25c: 4b53 ldr r3, [pc, #332] ; (805f3ac ) 805f25e: 681b ldr r3, [r3, #0] 805f260: 4a5e ldr r2, [pc, #376] ; (805f3dc ) 805f262: 495e ldr r1, [pc, #376] ; (805f3dc ) 805f264: 485f ldr r0, [pc, #380] ; (805f3e4 ) 805f266: f06a ff9d bl 80ca1a4 805f26a: e026 b.n 805f2ba } else if(pardata.IPR == VEL) 805f26c: 4b5a ldr r3, [pc, #360] ; (805f3d8 ) 805f26e: 785b ldrb r3, [r3, #1] 805f270: b2db uxtb r3, r3 805f272: 2b01 cmp r3, #1 805f274: d10e bne.n 805f294 { arm_biquad_cascade_df2T_f64(&S_INT1, Buff64, Buff64, Ns); 805f276: 4b4d ldr r3, [pc, #308] ; (805f3ac ) 805f278: 681b ldr r3, [r3, #0] 805f27a: 4a58 ldr r2, [pc, #352] ; (805f3dc ) 805f27c: 4957 ldr r1, [pc, #348] ; (805f3dc ) 805f27e: 485a ldr r0, [pc, #360] ; (805f3e8 ) 805f280: f06a ff90 bl 80ca1a4 arm_biquad_cascade_df2T_f64(&S_HP_VEL, Buff64, Buff64, Ns); 805f284: 4b49 ldr r3, [pc, #292] ; (805f3ac ) 805f286: 681b ldr r3, [r3, #0] 805f288: 4a54 ldr r2, [pc, #336] ; (805f3dc ) 805f28a: 4954 ldr r1, [pc, #336] ; (805f3dc ) 805f28c: 4857 ldr r0, [pc, #348] ; (805f3ec ) 805f28e: f06a ff89 bl 80ca1a4 805f292: e012 b.n 805f2ba } else if(pardata.IPR == DIS) 805f294: 4b50 ldr r3, [pc, #320] ; (805f3d8 ) 805f296: 785b ldrb r3, [r3, #1] 805f298: b2db uxtb r3, r3 805f29a: 2b02 cmp r3, #2 805f29c: d10d bne.n 805f2ba { arm_biquad_cascade_df2T_f64(&S_INT2, Buff64, Buff64, Ns); 805f29e: 4b43 ldr r3, [pc, #268] ; (805f3ac ) 805f2a0: 681b ldr r3, [r3, #0] 805f2a2: 4a4e ldr r2, [pc, #312] ; (805f3dc ) 805f2a4: 494d ldr r1, [pc, #308] ; (805f3dc ) 805f2a6: 4852 ldr r0, [pc, #328] ; (805f3f0 ) 805f2a8: f06a ff7c bl 80ca1a4 arm_biquad_cascade_df2T_f64(&S_HP_DIS, Buff64, Buff64, Ns); 805f2ac: 4b3f ldr r3, [pc, #252] ; (805f3ac ) 805f2ae: 681b ldr r3, [r3, #0] 805f2b0: 4a4a ldr r2, [pc, #296] ; (805f3dc ) 805f2b2: 494a ldr r1, [pc, #296] ; (805f3dc ) 805f2b4: 484f ldr r0, [pc, #316] ; (805f3f4 ) 805f2b6: f06a ff75 bl 80ca1a4 } k = 38; 805f2ba: 2326 movs r3, #38 ; 0x26 805f2bc: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 len = 8192; 805f2c0: f44f 5300 mov.w r3, #8192 ; 0x2000 805f2c4: f8c7 31e4 str.w r3, [r7, #484] ; 0x1e4 arm_biquad_cascade_df2T_f64(&S_LP_4000, &Buff64[0], &Buff64[0], len); 805f2c8: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 805f2cc: 4a43 ldr r2, [pc, #268] ; (805f3dc ) 805f2ce: 4943 ldr r1, [pc, #268] ; (805f3dc ) 805f2d0: 4849 ldr r0, [pc, #292] ; (805f3f8 ) 805f2d2: f06a ff67 bl 80ca1a4 len >>= 1; 805f2d6: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 805f2da: 085b lsrs r3, r3, #1 805f2dc: f8c7 31e4 str.w r3, [r7, #484] ; 0x1e4 for(i = 0; i < len; i++) { 805f2e0: 2300 movs r3, #0 805f2e2: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805f2e6: e012 b.n 805f30e Buff64[i] = Buff64[i << 1]; 805f2e8: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805f2ec: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805f2f0: 005b lsls r3, r3, #1 805f2f2: 493a ldr r1, [pc, #232] ; (805f3dc ) 805f2f4: 00db lsls r3, r3, #3 805f2f6: 440b add r3, r1 805f2f8: cb18 ldmia r3, {r3, r4} 805f2fa: 4938 ldr r1, [pc, #224] ; (805f3dc ) 805f2fc: 00d2 lsls r2, r2, #3 805f2fe: 440a add r2, r1 805f300: e882 0018 stmia.w r2, {r3, r4} for(i = 0; i < len; i++) { 805f304: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805f308: 3301 adds r3, #1 805f30a: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805f30e: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805f312: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 805f316: 429a cmp r2, r3 805f318: d3e6 bcc.n 805f2e8 } //** 5000 arm_biquad_cascade_df2T_f64(&S_OKT_5000Hz, &Buff64[0], &Buff64[Ns], len); 805f31a: 4b24 ldr r3, [pc, #144] ; (805f3ac ) 805f31c: 681b ldr r3, [r3, #0] 805f31e: 00db lsls r3, r3, #3 805f320: 4a2e ldr r2, [pc, #184] ; (805f3dc ) 805f322: 441a add r2, r3 805f324: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 805f328: 492c ldr r1, [pc, #176] ; (805f3dc ) 805f32a: 4834 ldr r0, [pc, #208] ; (805f3fc ) 805f32c: f06a ff3a bl 80ca1a4 for(i = 0; i < len; i++) { 805f330: 2300 movs r3, #0 805f332: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805f336: e017 b.n 805f368 In[i] = (float32_t) Buff64[Ns + i]; 805f338: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805f33c: 4a1b ldr r2, [pc, #108] ; (805f3ac ) 805f33e: 6811 ldr r1, [r2, #0] 805f340: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805f344: 440a add r2, r1 805f346: 4925 ldr r1, [pc, #148] ; (805f3dc ) 805f348: 00d2 lsls r2, r2, #3 805f34a: 440a add r2, r1 805f34c: ed92 7b00 vldr d7, [r2] 805f350: eef7 7bc7 vcvt.f32.f64 s15, d7 805f354: 4a2a ldr r2, [pc, #168] ; (805f400 ) 805f356: 009b lsls r3, r3, #2 805f358: 4413 add r3, r2 805f35a: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 805f35e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805f362: 3301 adds r3, #1 805f364: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805f368: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805f36c: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 805f370: 429a cmp r2, r3 805f372: d3e1 bcc.n 805f338 } if(pardata.IVS[ACC] == RMS) 805f374: 4b18 ldr r3, [pc, #96] ; (805f3d8 ) 805f376: 789b ldrb r3, [r3, #2] 805f378: b2db uxtb r3, r3 805f37a: 2b01 cmp r3, #1 805f37c: d142 bne.n 805f404 arm_rms_f32(In, len, &Third[k--]); 805f37e: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805f382: 1e5a subs r2, r3, #1 805f384: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 805f388: 463a mov r2, r7 805f38a: 009b lsls r3, r3, #2 805f38c: 4413 add r3, r2 805f38e: 461a mov r2, r3 805f390: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 805f394: 481a ldr r0, [pc, #104] ; (805f400 ) 805f396: f06a fd63 bl 80c9e60 805f39a: e076 b.n 805f48a 805f39c: f3af 8000 nop.w 805f3a0: 18000018 .word 0x18000018 805f3a4: 3e980000 .word 0x3e980000 805f3a8: 20058020 .word 0x20058020 805f3ac: 20021cdc .word 0x20021cdc 805f3b0: 20021531 .word 0x20021531 805f3b4: 20020d7e .word 0x20020d7e 805f3b8: 20020da8 .word 0x20020da8 805f3bc: 20020db8 .word 0x20020db8 805f3c0: 20020d88 .word 0x20020d88 805f3c4: 20021d20 .word 0x20021d20 805f3c8: 20020d90 .word 0x20020d90 805f3cc: 20021534 .word 0x20021534 805f3d0: e0001000 .word 0xe0001000 805f3d4: 20020080 .word 0x20020080 805f3d8: 20023e60 .word 0x20023e60 805f3dc: 20037ae0 .word 0x20037ae0 805f3e0: 20026564 .word 0x20026564 805f3e4: 20025f00 .word 0x20025f00 805f3e8: 20026170 .word 0x20026170 805f3ec: 20025e78 .word 0x20025e78 805f3f0: 200278c4 .word 0x200278c4 805f3f4: 20027950 .word 0x20027950 805f3f8: 20026cd4 .word 0x20026cd4 805f3fc: 200683f4 .word 0x200683f4 805f400: 200279c0 .word 0x200279c0 else { arm_min_f32(In, len, &fn[0], &i); 805f404: f507 73e8 add.w r3, r7, #464 ; 0x1d0 805f408: f507 72d8 add.w r2, r7, #432 ; 0x1b0 805f40c: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 805f410: 48be ldr r0, [pc, #760] ; (805f70c ) 805f412: f06a fdb7 bl 80c9f84 arm_max_f32(In, len, &fn[1], &j); 805f416: f507 71e6 add.w r1, r7, #460 ; 0x1cc 805f41a: f507 73d8 add.w r3, r7, #432 ; 0x1b0 805f41e: 1d1a adds r2, r3, #4 805f420: 460b mov r3, r1 805f422: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 805f426: 48b9 ldr r0, [pc, #740] ; (805f70c ) 805f428: f06a fe48 bl 80ca0bc fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 805f42c: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805f430: eef5 7ac0 vcmpe.f32 s15, #0.0 805f434: eef1 fa10 vmrs APSR_nzcv, fpscr 805f438: dd02 ble.n 805f440 805f43a: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805f43e: e003 b.n 805f448 805f440: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805f444: eef1 7a67 vneg.f32 s15, s15 805f448: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 805f44c: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805f450: eef5 7ac0 vcmpe.f32 s15, #0.0 805f454: eef1 fa10 vmrs APSR_nzcv, fpscr 805f458: dd02 ble.n 805f460 805f45a: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805f45e: e003 b.n 805f468 805f460: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805f464: eef1 7a67 vneg.f32 s15, s15 805f468: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Third[k--], &j); 805f46c: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805f470: 1e5a subs r2, r3, #1 805f472: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 805f476: 463a mov r2, r7 805f478: 009b lsls r3, r3, #2 805f47a: 441a add r2, r3 805f47c: f507 73e6 add.w r3, r7, #460 ; 0x1cc 805f480: f507 70d8 add.w r0, r7, #432 ; 0x1b0 805f484: 2102 movs r1, #2 805f486: f06a fe19 bl 80ca0bc } //** 4000 arm_biquad_cascade_df2T_f64(&S_OKT_4000Hz, &Buff64[0], &Buff64[Ns], len); 805f48a: 4ba1 ldr r3, [pc, #644] ; (805f710 ) 805f48c: 681b ldr r3, [r3, #0] 805f48e: 00db lsls r3, r3, #3 805f490: 4aa0 ldr r2, [pc, #640] ; (805f714 ) 805f492: 441a add r2, r3 805f494: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 805f498: 499e ldr r1, [pc, #632] ; (805f714 ) 805f49a: 489f ldr r0, [pc, #636] ; (805f718 ) 805f49c: f06a fe82 bl 80ca1a4 for(i = 0; i < len; i++) { 805f4a0: 2300 movs r3, #0 805f4a2: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805f4a6: e017 b.n 805f4d8 In[i] = (float32_t) Buff64[Ns + i]; 805f4a8: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805f4ac: 4a98 ldr r2, [pc, #608] ; (805f710 ) 805f4ae: 6811 ldr r1, [r2, #0] 805f4b0: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805f4b4: 440a add r2, r1 805f4b6: 4997 ldr r1, [pc, #604] ; (805f714 ) 805f4b8: 00d2 lsls r2, r2, #3 805f4ba: 440a add r2, r1 805f4bc: ed92 7b00 vldr d7, [r2] 805f4c0: eef7 7bc7 vcvt.f32.f64 s15, d7 805f4c4: 4a91 ldr r2, [pc, #580] ; (805f70c ) 805f4c6: 009b lsls r3, r3, #2 805f4c8: 4413 add r3, r2 805f4ca: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 805f4ce: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805f4d2: 3301 adds r3, #1 805f4d4: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805f4d8: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805f4dc: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 805f4e0: 429a cmp r2, r3 805f4e2: d3e1 bcc.n 805f4a8 } if(pardata.IVS[ACC] == RMS) 805f4e4: 4b8d ldr r3, [pc, #564] ; (805f71c ) 805f4e6: 789b ldrb r3, [r3, #2] 805f4e8: b2db uxtb r3, r3 805f4ea: 2b01 cmp r3, #1 805f4ec: d10e bne.n 805f50c arm_rms_f32(In, len, &Third[k--]); 805f4ee: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805f4f2: 1e5a subs r2, r3, #1 805f4f4: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 805f4f8: 463a mov r2, r7 805f4fa: 009b lsls r3, r3, #2 805f4fc: 4413 add r3, r2 805f4fe: 461a mov r2, r3 805f500: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 805f504: 4881 ldr r0, [pc, #516] ; (805f70c ) 805f506: f06a fcab bl 80c9e60 805f50a: e042 b.n 805f592 else { arm_min_f32(In, len, &fn[0], &i); 805f50c: f507 73e8 add.w r3, r7, #464 ; 0x1d0 805f510: f507 72d8 add.w r2, r7, #432 ; 0x1b0 805f514: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 805f518: 487c ldr r0, [pc, #496] ; (805f70c ) 805f51a: f06a fd33 bl 80c9f84 arm_max_f32(In, len, &fn[1], &j); 805f51e: f507 71e6 add.w r1, r7, #460 ; 0x1cc 805f522: f507 73d8 add.w r3, r7, #432 ; 0x1b0 805f526: 1d1a adds r2, r3, #4 805f528: 460b mov r3, r1 805f52a: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 805f52e: 4877 ldr r0, [pc, #476] ; (805f70c ) 805f530: f06a fdc4 bl 80ca0bc fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 805f534: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805f538: eef5 7ac0 vcmpe.f32 s15, #0.0 805f53c: eef1 fa10 vmrs APSR_nzcv, fpscr 805f540: dd02 ble.n 805f548 805f542: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805f546: e003 b.n 805f550 805f548: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805f54c: eef1 7a67 vneg.f32 s15, s15 805f550: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 805f554: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805f558: eef5 7ac0 vcmpe.f32 s15, #0.0 805f55c: eef1 fa10 vmrs APSR_nzcv, fpscr 805f560: dd02 ble.n 805f568 805f562: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805f566: e003 b.n 805f570 805f568: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805f56c: eef1 7a67 vneg.f32 s15, s15 805f570: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Third[k--], &j); 805f574: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805f578: 1e5a subs r2, r3, #1 805f57a: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 805f57e: 463a mov r2, r7 805f580: 009b lsls r3, r3, #2 805f582: 441a add r2, r3 805f584: f507 73e6 add.w r3, r7, #460 ; 0x1cc 805f588: f507 70d8 add.w r0, r7, #432 ; 0x1b0 805f58c: 2102 movs r1, #2 805f58e: f06a fd95 bl 80ca0bc } //** 3150 arm_biquad_cascade_df2T_f64(&S_OKT_3150Hz, &Buff64[0], &Buff64[Ns], len); 805f592: 4b5f ldr r3, [pc, #380] ; (805f710 ) 805f594: 681b ldr r3, [r3, #0] 805f596: 00db lsls r3, r3, #3 805f598: 4a5e ldr r2, [pc, #376] ; (805f714 ) 805f59a: 441a add r2, r3 805f59c: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 805f5a0: 495c ldr r1, [pc, #368] ; (805f714 ) 805f5a2: 485f ldr r0, [pc, #380] ; (805f720 ) 805f5a4: f06a fdfe bl 80ca1a4 for(i = 0; i < len; i++) { 805f5a8: 2300 movs r3, #0 805f5aa: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805f5ae: e017 b.n 805f5e0 In[i] = (float32_t) Buff64[Ns + i]; 805f5b0: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805f5b4: 4a56 ldr r2, [pc, #344] ; (805f710 ) 805f5b6: 6811 ldr r1, [r2, #0] 805f5b8: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805f5bc: 440a add r2, r1 805f5be: 4955 ldr r1, [pc, #340] ; (805f714 ) 805f5c0: 00d2 lsls r2, r2, #3 805f5c2: 440a add r2, r1 805f5c4: ed92 7b00 vldr d7, [r2] 805f5c8: eef7 7bc7 vcvt.f32.f64 s15, d7 805f5cc: 4a4f ldr r2, [pc, #316] ; (805f70c ) 805f5ce: 009b lsls r3, r3, #2 805f5d0: 4413 add r3, r2 805f5d2: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 805f5d6: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805f5da: 3301 adds r3, #1 805f5dc: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805f5e0: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805f5e4: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 805f5e8: 429a cmp r2, r3 805f5ea: d3e1 bcc.n 805f5b0 } if(pardata.IVS[ACC] == RMS) 805f5ec: 4b4b ldr r3, [pc, #300] ; (805f71c ) 805f5ee: 789b ldrb r3, [r3, #2] 805f5f0: b2db uxtb r3, r3 805f5f2: 2b01 cmp r3, #1 805f5f4: d10e bne.n 805f614 arm_rms_f32(In, len, &Third[k--]); 805f5f6: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805f5fa: 1e5a subs r2, r3, #1 805f5fc: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 805f600: 463a mov r2, r7 805f602: 009b lsls r3, r3, #2 805f604: 4413 add r3, r2 805f606: 461a mov r2, r3 805f608: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 805f60c: 483f ldr r0, [pc, #252] ; (805f70c ) 805f60e: f06a fc27 bl 80c9e60 805f612: e042 b.n 805f69a else { arm_min_f32(In, len, &fn[0], &i); 805f614: f507 73e8 add.w r3, r7, #464 ; 0x1d0 805f618: f507 72d8 add.w r2, r7, #432 ; 0x1b0 805f61c: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 805f620: 483a ldr r0, [pc, #232] ; (805f70c ) 805f622: f06a fcaf bl 80c9f84 arm_max_f32(In, len, &fn[1], &j); 805f626: f507 71e6 add.w r1, r7, #460 ; 0x1cc 805f62a: f507 73d8 add.w r3, r7, #432 ; 0x1b0 805f62e: 1d1a adds r2, r3, #4 805f630: 460b mov r3, r1 805f632: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 805f636: 4835 ldr r0, [pc, #212] ; (805f70c ) 805f638: f06a fd40 bl 80ca0bc fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 805f63c: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805f640: eef5 7ac0 vcmpe.f32 s15, #0.0 805f644: eef1 fa10 vmrs APSR_nzcv, fpscr 805f648: dd02 ble.n 805f650 805f64a: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805f64e: e003 b.n 805f658 805f650: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805f654: eef1 7a67 vneg.f32 s15, s15 805f658: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 805f65c: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805f660: eef5 7ac0 vcmpe.f32 s15, #0.0 805f664: eef1 fa10 vmrs APSR_nzcv, fpscr 805f668: dd02 ble.n 805f670 805f66a: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805f66e: e003 b.n 805f678 805f670: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805f674: eef1 7a67 vneg.f32 s15, s15 805f678: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Third[k--], &j); 805f67c: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805f680: 1e5a subs r2, r3, #1 805f682: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 805f686: 463a mov r2, r7 805f688: 009b lsls r3, r3, #2 805f68a: 441a add r2, r3 805f68c: f507 73e6 add.w r3, r7, #460 ; 0x1cc 805f690: f507 70d8 add.w r0, r7, #432 ; 0x1b0 805f694: 2102 movs r1, #2 805f696: f06a fd11 bl 80ca0bc } arm_biquad_cascade_df2T_f64(&S_LP_2000, &Buff64[0], &Buff64[0], len); 805f69a: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 805f69e: 4a1d ldr r2, [pc, #116] ; (805f714 ) 805f6a0: 491c ldr r1, [pc, #112] ; (805f714 ) 805f6a2: 4820 ldr r0, [pc, #128] ; (805f724 ) 805f6a4: f06a fd7e bl 80ca1a4 len >>= 1; 805f6a8: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 805f6ac: 085b lsrs r3, r3, #1 805f6ae: f8c7 31e4 str.w r3, [r7, #484] ; 0x1e4 for(i = 0; i < len; i++) { 805f6b2: 2300 movs r3, #0 805f6b4: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805f6b8: e012 b.n 805f6e0 Buff64[i] = Buff64[i << 1]; 805f6ba: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805f6be: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805f6c2: 005b lsls r3, r3, #1 805f6c4: 4913 ldr r1, [pc, #76] ; (805f714 ) 805f6c6: 00db lsls r3, r3, #3 805f6c8: 440b add r3, r1 805f6ca: cb18 ldmia r3, {r3, r4} 805f6cc: 4911 ldr r1, [pc, #68] ; (805f714 ) 805f6ce: 00d2 lsls r2, r2, #3 805f6d0: 440a add r2, r1 805f6d2: e882 0018 stmia.w r2, {r3, r4} for(i = 0; i < len; i++) { 805f6d6: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805f6da: 3301 adds r3, #1 805f6dc: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805f6e0: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805f6e4: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 805f6e8: 429a cmp r2, r3 805f6ea: d3e6 bcc.n 805f6ba } //** 2500 arm_biquad_cascade_df2T_f64(&S_OKT_2500Hz, &Buff64[0], &Buff64[Ns], len); 805f6ec: 4b08 ldr r3, [pc, #32] ; (805f710 ) 805f6ee: 681b ldr r3, [r3, #0] 805f6f0: 00db lsls r3, r3, #3 805f6f2: 4a08 ldr r2, [pc, #32] ; (805f714 ) 805f6f4: 441a add r2, r3 805f6f6: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 805f6fa: 4906 ldr r1, [pc, #24] ; (805f714 ) 805f6fc: 480a ldr r0, [pc, #40] ; (805f728 ) 805f6fe: f06a fd51 bl 80ca1a4 for(i = 0; i < len; i++) { 805f702: 2300 movs r3, #0 805f704: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805f708: e028 b.n 805f75c 805f70a: bf00 nop 805f70c: 200279c0 .word 0x200279c0 805f710: 20021cdc .word 0x20021cdc 805f714: 20037ae0 .word 0x20037ae0 805f718: 200682b8 .word 0x200682b8 805f71c: 20023e60 .word 0x20023e60 805f720: 20025e84 .word 0x20025e84 805f724: 20027920 .word 0x20027920 805f728: 20026738 .word 0x20026738 In[i] = (float32_t) Buff64[Ns + i]; 805f72c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805f730: 4ac5 ldr r2, [pc, #788] ; (805fa48 ) 805f732: 6811 ldr r1, [r2, #0] 805f734: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805f738: 440a add r2, r1 805f73a: 49c4 ldr r1, [pc, #784] ; (805fa4c ) 805f73c: 00d2 lsls r2, r2, #3 805f73e: 440a add r2, r1 805f740: ed92 7b00 vldr d7, [r2] 805f744: eef7 7bc7 vcvt.f32.f64 s15, d7 805f748: 4ac1 ldr r2, [pc, #772] ; (805fa50 ) 805f74a: 009b lsls r3, r3, #2 805f74c: 4413 add r3, r2 805f74e: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 805f752: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805f756: 3301 adds r3, #1 805f758: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805f75c: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805f760: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 805f764: 429a cmp r2, r3 805f766: d3e1 bcc.n 805f72c } if(pardata.IVS[ACC] == RMS) 805f768: 4bba ldr r3, [pc, #744] ; (805fa54 ) 805f76a: 789b ldrb r3, [r3, #2] 805f76c: b2db uxtb r3, r3 805f76e: 2b01 cmp r3, #1 805f770: d10e bne.n 805f790 arm_rms_f32(In, len, &Third[k--]); 805f772: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805f776: 1e5a subs r2, r3, #1 805f778: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 805f77c: 463a mov r2, r7 805f77e: 009b lsls r3, r3, #2 805f780: 4413 add r3, r2 805f782: 461a mov r2, r3 805f784: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 805f788: 48b1 ldr r0, [pc, #708] ; (805fa50 ) 805f78a: f06a fb69 bl 80c9e60 805f78e: e042 b.n 805f816 else { arm_min_f32(In, len, &fn[0], &i); 805f790: f507 73e8 add.w r3, r7, #464 ; 0x1d0 805f794: f507 72d8 add.w r2, r7, #432 ; 0x1b0 805f798: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 805f79c: 48ac ldr r0, [pc, #688] ; (805fa50 ) 805f79e: f06a fbf1 bl 80c9f84 arm_max_f32(In, len, &fn[1], &j); 805f7a2: f507 71e6 add.w r1, r7, #460 ; 0x1cc 805f7a6: f507 73d8 add.w r3, r7, #432 ; 0x1b0 805f7aa: 1d1a adds r2, r3, #4 805f7ac: 460b mov r3, r1 805f7ae: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 805f7b2: 48a7 ldr r0, [pc, #668] ; (805fa50 ) 805f7b4: f06a fc82 bl 80ca0bc fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 805f7b8: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805f7bc: eef5 7ac0 vcmpe.f32 s15, #0.0 805f7c0: eef1 fa10 vmrs APSR_nzcv, fpscr 805f7c4: dd02 ble.n 805f7cc 805f7c6: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805f7ca: e003 b.n 805f7d4 805f7cc: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805f7d0: eef1 7a67 vneg.f32 s15, s15 805f7d4: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 805f7d8: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805f7dc: eef5 7ac0 vcmpe.f32 s15, #0.0 805f7e0: eef1 fa10 vmrs APSR_nzcv, fpscr 805f7e4: dd02 ble.n 805f7ec 805f7e6: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805f7ea: e003 b.n 805f7f4 805f7ec: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805f7f0: eef1 7a67 vneg.f32 s15, s15 805f7f4: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Third[k--], &j); 805f7f8: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805f7fc: 1e5a subs r2, r3, #1 805f7fe: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 805f802: 463a mov r2, r7 805f804: 009b lsls r3, r3, #2 805f806: 441a add r2, r3 805f808: f507 73e6 add.w r3, r7, #460 ; 0x1cc 805f80c: f507 70d8 add.w r0, r7, #432 ; 0x1b0 805f810: 2102 movs r1, #2 805f812: f06a fc53 bl 80ca0bc } //** 2000 arm_biquad_cascade_df2T_f64(&S_OKT_2000Hz, &Buff64[0], &Buff64[Ns], len); 805f816: 4b8c ldr r3, [pc, #560] ; (805fa48 ) 805f818: 681b ldr r3, [r3, #0] 805f81a: 00db lsls r3, r3, #3 805f81c: 4a8b ldr r2, [pc, #556] ; (805fa4c ) 805f81e: 441a add r2, r3 805f820: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 805f824: 4989 ldr r1, [pc, #548] ; (805fa4c ) 805f826: 488c ldr r0, [pc, #560] ; (805fa58 ) 805f828: f06a fcbc bl 80ca1a4 for(i = 0; i < len; i++) { 805f82c: 2300 movs r3, #0 805f82e: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805f832: e017 b.n 805f864 In[i] = (float32_t) Buff64[Ns + i]; 805f834: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805f838: 4a83 ldr r2, [pc, #524] ; (805fa48 ) 805f83a: 6811 ldr r1, [r2, #0] 805f83c: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805f840: 440a add r2, r1 805f842: 4982 ldr r1, [pc, #520] ; (805fa4c ) 805f844: 00d2 lsls r2, r2, #3 805f846: 440a add r2, r1 805f848: ed92 7b00 vldr d7, [r2] 805f84c: eef7 7bc7 vcvt.f32.f64 s15, d7 805f850: 4a7f ldr r2, [pc, #508] ; (805fa50 ) 805f852: 009b lsls r3, r3, #2 805f854: 4413 add r3, r2 805f856: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 805f85a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805f85e: 3301 adds r3, #1 805f860: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805f864: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805f868: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 805f86c: 429a cmp r2, r3 805f86e: d3e1 bcc.n 805f834 } if(pardata.IVS[ACC] == RMS) 805f870: 4b78 ldr r3, [pc, #480] ; (805fa54 ) 805f872: 789b ldrb r3, [r3, #2] 805f874: b2db uxtb r3, r3 805f876: 2b01 cmp r3, #1 805f878: d10e bne.n 805f898 arm_rms_f32(In, len, &Third[k--]); 805f87a: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805f87e: 1e5a subs r2, r3, #1 805f880: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 805f884: 463a mov r2, r7 805f886: 009b lsls r3, r3, #2 805f888: 4413 add r3, r2 805f88a: 461a mov r2, r3 805f88c: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 805f890: 486f ldr r0, [pc, #444] ; (805fa50 ) 805f892: f06a fae5 bl 80c9e60 805f896: e042 b.n 805f91e else { arm_min_f32(In, len, &fn[0], &i); 805f898: f507 73e8 add.w r3, r7, #464 ; 0x1d0 805f89c: f507 72d8 add.w r2, r7, #432 ; 0x1b0 805f8a0: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 805f8a4: 486a ldr r0, [pc, #424] ; (805fa50 ) 805f8a6: f06a fb6d bl 80c9f84 arm_max_f32(In, len, &fn[1], &j); 805f8aa: f507 71e6 add.w r1, r7, #460 ; 0x1cc 805f8ae: f507 73d8 add.w r3, r7, #432 ; 0x1b0 805f8b2: 1d1a adds r2, r3, #4 805f8b4: 460b mov r3, r1 805f8b6: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 805f8ba: 4865 ldr r0, [pc, #404] ; (805fa50 ) 805f8bc: f06a fbfe bl 80ca0bc fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 805f8c0: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805f8c4: eef5 7ac0 vcmpe.f32 s15, #0.0 805f8c8: eef1 fa10 vmrs APSR_nzcv, fpscr 805f8cc: dd02 ble.n 805f8d4 805f8ce: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805f8d2: e003 b.n 805f8dc 805f8d4: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805f8d8: eef1 7a67 vneg.f32 s15, s15 805f8dc: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 805f8e0: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805f8e4: eef5 7ac0 vcmpe.f32 s15, #0.0 805f8e8: eef1 fa10 vmrs APSR_nzcv, fpscr 805f8ec: dd02 ble.n 805f8f4 805f8ee: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805f8f2: e003 b.n 805f8fc 805f8f4: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805f8f8: eef1 7a67 vneg.f32 s15, s15 805f8fc: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Third[k--], &j); 805f900: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805f904: 1e5a subs r2, r3, #1 805f906: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 805f90a: 463a mov r2, r7 805f90c: 009b lsls r3, r3, #2 805f90e: 441a add r2, r3 805f910: f507 73e6 add.w r3, r7, #460 ; 0x1cc 805f914: f507 70d8 add.w r0, r7, #432 ; 0x1b0 805f918: 2102 movs r1, #2 805f91a: f06a fbcf bl 80ca0bc } //** 1600 arm_biquad_cascade_df2T_f64(&S_OKT_1600Hz, &Buff64[0], &Buff64[Ns], len); 805f91e: 4b4a ldr r3, [pc, #296] ; (805fa48 ) 805f920: 681b ldr r3, [r3, #0] 805f922: 00db lsls r3, r3, #3 805f924: 4a49 ldr r2, [pc, #292] ; (805fa4c ) 805f926: 441a add r2, r3 805f928: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 805f92c: 4947 ldr r1, [pc, #284] ; (805fa4c ) 805f92e: 484b ldr r0, [pc, #300] ; (805fa5c ) 805f930: f06a fc38 bl 80ca1a4 for(i = 0; i < len; i++) { 805f934: 2300 movs r3, #0 805f936: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805f93a: e017 b.n 805f96c In[i] = (float32_t) Buff64[Ns + i]; 805f93c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805f940: 4a41 ldr r2, [pc, #260] ; (805fa48 ) 805f942: 6811 ldr r1, [r2, #0] 805f944: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805f948: 440a add r2, r1 805f94a: 4940 ldr r1, [pc, #256] ; (805fa4c ) 805f94c: 00d2 lsls r2, r2, #3 805f94e: 440a add r2, r1 805f950: ed92 7b00 vldr d7, [r2] 805f954: eef7 7bc7 vcvt.f32.f64 s15, d7 805f958: 4a3d ldr r2, [pc, #244] ; (805fa50 ) 805f95a: 009b lsls r3, r3, #2 805f95c: 4413 add r3, r2 805f95e: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 805f962: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805f966: 3301 adds r3, #1 805f968: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805f96c: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805f970: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 805f974: 429a cmp r2, r3 805f976: d3e1 bcc.n 805f93c } if(pardata.IVS[ACC] == RMS) 805f978: 4b36 ldr r3, [pc, #216] ; (805fa54 ) 805f97a: 789b ldrb r3, [r3, #2] 805f97c: b2db uxtb r3, r3 805f97e: 2b01 cmp r3, #1 805f980: d10e bne.n 805f9a0 arm_rms_f32(In, len, &Third[k--]); 805f982: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805f986: 1e5a subs r2, r3, #1 805f988: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 805f98c: 463a mov r2, r7 805f98e: 009b lsls r3, r3, #2 805f990: 4413 add r3, r2 805f992: 461a mov r2, r3 805f994: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 805f998: 482d ldr r0, [pc, #180] ; (805fa50 ) 805f99a: f06a fa61 bl 80c9e60 805f99e: e042 b.n 805fa26 else { arm_min_f32(In, len, &fn[0], &i); 805f9a0: f507 73e8 add.w r3, r7, #464 ; 0x1d0 805f9a4: f507 72d8 add.w r2, r7, #432 ; 0x1b0 805f9a8: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 805f9ac: 4828 ldr r0, [pc, #160] ; (805fa50 ) 805f9ae: f06a fae9 bl 80c9f84 arm_max_f32(In, len, &fn[1], &j); 805f9b2: f507 71e6 add.w r1, r7, #460 ; 0x1cc 805f9b6: f507 73d8 add.w r3, r7, #432 ; 0x1b0 805f9ba: 1d1a adds r2, r3, #4 805f9bc: 460b mov r3, r1 805f9be: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 805f9c2: 4823 ldr r0, [pc, #140] ; (805fa50 ) 805f9c4: f06a fb7a bl 80ca0bc fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 805f9c8: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805f9cc: eef5 7ac0 vcmpe.f32 s15, #0.0 805f9d0: eef1 fa10 vmrs APSR_nzcv, fpscr 805f9d4: dd02 ble.n 805f9dc 805f9d6: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805f9da: e003 b.n 805f9e4 805f9dc: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805f9e0: eef1 7a67 vneg.f32 s15, s15 805f9e4: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 805f9e8: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805f9ec: eef5 7ac0 vcmpe.f32 s15, #0.0 805f9f0: eef1 fa10 vmrs APSR_nzcv, fpscr 805f9f4: dd02 ble.n 805f9fc 805f9f6: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805f9fa: e003 b.n 805fa04 805f9fc: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805fa00: eef1 7a67 vneg.f32 s15, s15 805fa04: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Third[k--], &j); 805fa08: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805fa0c: 1e5a subs r2, r3, #1 805fa0e: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 805fa12: 463a mov r2, r7 805fa14: 009b lsls r3, r3, #2 805fa16: 441a add r2, r3 805fa18: f507 73e6 add.w r3, r7, #460 ; 0x1cc 805fa1c: f507 70d8 add.w r0, r7, #432 ; 0x1b0 805fa20: 2102 movs r1, #2 805fa22: f06a fb4b bl 80ca0bc } arm_biquad_cascade_df2T_f64(&S_LP_1000, &Buff64[0], &Buff64[0], len); 805fa26: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 805fa2a: 4a08 ldr r2, [pc, #32] ; (805fa4c ) 805fa2c: 4907 ldr r1, [pc, #28] ; (805fa4c ) 805fa2e: 480c ldr r0, [pc, #48] ; (805fa60 ) 805fa30: f06a fbb8 bl 80ca1a4 len >>= 1; 805fa34: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 805fa38: 085b lsrs r3, r3, #1 805fa3a: f8c7 31e4 str.w r3, [r7, #484] ; 0x1e4 for(i = 0; i < len; i++) { 805fa3e: 2300 movs r3, #0 805fa40: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805fa44: e021 b.n 805fa8a 805fa46: bf00 nop 805fa48: 20021cdc .word 0x20021cdc 805fa4c: 20037ae0 .word 0x20037ae0 805fa50: 200279c0 .word 0x200279c0 805fa54: 20023e60 .word 0x20023e60 805fa58: 20026b7c .word 0x20026b7c 805fa5c: 20027878 .word 0x20027878 805fa60: 200682c4 .word 0x200682c4 Buff64[i] = Buff64[i << 1]; 805fa64: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805fa68: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805fa6c: 005b lsls r3, r3, #1 805fa6e: 49c5 ldr r1, [pc, #788] ; (805fd84 ) 805fa70: 00db lsls r3, r3, #3 805fa72: 440b add r3, r1 805fa74: cb18 ldmia r3, {r3, r4} 805fa76: 49c3 ldr r1, [pc, #780] ; (805fd84 ) 805fa78: 00d2 lsls r2, r2, #3 805fa7a: 440a add r2, r1 805fa7c: e882 0018 stmia.w r2, {r3, r4} for(i = 0; i < len; i++) { 805fa80: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805fa84: 3301 adds r3, #1 805fa86: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805fa8a: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805fa8e: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 805fa92: 429a cmp r2, r3 805fa94: d3e6 bcc.n 805fa64 } //** 1250 arm_biquad_cascade_df2T_f64(&S_OKT_1250Hz, &Buff64[0], &Buff64[Ns], len); 805fa96: 4bbc ldr r3, [pc, #752] ; (805fd88 ) 805fa98: 681b ldr r3, [r3, #0] 805fa9a: 00db lsls r3, r3, #3 805fa9c: 4ab9 ldr r2, [pc, #740] ; (805fd84 ) 805fa9e: 441a add r2, r3 805faa0: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 805faa4: 49b7 ldr r1, [pc, #732] ; (805fd84 ) 805faa6: 48b9 ldr r0, [pc, #740] ; (805fd8c ) 805faa8: f06a fb7c bl 80ca1a4 for(i = 0; i < len; i++) { 805faac: 2300 movs r3, #0 805faae: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805fab2: e017 b.n 805fae4 In[i] = (float32_t) Buff64[Ns + i]; 805fab4: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805fab8: 4ab3 ldr r2, [pc, #716] ; (805fd88 ) 805faba: 6811 ldr r1, [r2, #0] 805fabc: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805fac0: 440a add r2, r1 805fac2: 49b0 ldr r1, [pc, #704] ; (805fd84 ) 805fac4: 00d2 lsls r2, r2, #3 805fac6: 440a add r2, r1 805fac8: ed92 7b00 vldr d7, [r2] 805facc: eef7 7bc7 vcvt.f32.f64 s15, d7 805fad0: 4aaf ldr r2, [pc, #700] ; (805fd90 ) 805fad2: 009b lsls r3, r3, #2 805fad4: 4413 add r3, r2 805fad6: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; 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 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805fae8: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 805faec: 429a cmp r2, r3 805faee: d3e1 bcc.n 805fab4 } if(pardata.IVS[ACC] == RMS) 805faf0: 4ba8 ldr r3, [pc, #672] ; (805fd94 ) 805faf2: 789b ldrb r3, [r3, #2] 805faf4: b2db uxtb r3, r3 805faf6: 2b01 cmp r3, #1 805faf8: d10e bne.n 805fb18 arm_rms_f32(In, len, &Third[k--]); 805fafa: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805fafe: 1e5a subs r2, r3, #1 805fb00: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 805fb04: 463a mov r2, r7 805fb06: 009b lsls r3, r3, #2 805fb08: 4413 add r3, r2 805fb0a: 461a mov r2, r3 805fb0c: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 805fb10: 489f ldr r0, [pc, #636] ; (805fd90 ) 805fb12: f06a f9a5 bl 80c9e60 805fb16: e042 b.n 805fb9e else { arm_min_f32(In, len, &fn[0], &i); 805fb18: f507 73e8 add.w r3, r7, #464 ; 0x1d0 805fb1c: f507 72d8 add.w r2, r7, #432 ; 0x1b0 805fb20: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 805fb24: 489a ldr r0, [pc, #616] ; (805fd90 ) 805fb26: f06a fa2d bl 80c9f84 arm_max_f32(In, len, &fn[1], &j); 805fb2a: f507 71e6 add.w r1, r7, #460 ; 0x1cc 805fb2e: f507 73d8 add.w r3, r7, #432 ; 0x1b0 805fb32: 1d1a adds r2, r3, #4 805fb34: 460b mov r3, r1 805fb36: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 805fb3a: 4895 ldr r0, [pc, #596] ; (805fd90 ) 805fb3c: f06a fabe bl 80ca0bc fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 805fb40: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805fb44: eef5 7ac0 vcmpe.f32 s15, #0.0 805fb48: eef1 fa10 vmrs APSR_nzcv, fpscr 805fb4c: dd02 ble.n 805fb54 805fb4e: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805fb52: e003 b.n 805fb5c 805fb54: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805fb58: eef1 7a67 vneg.f32 s15, s15 805fb5c: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 805fb60: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805fb64: eef5 7ac0 vcmpe.f32 s15, #0.0 805fb68: eef1 fa10 vmrs APSR_nzcv, fpscr 805fb6c: dd02 ble.n 805fb74 805fb6e: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805fb72: e003 b.n 805fb7c 805fb74: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805fb78: eef1 7a67 vneg.f32 s15, s15 805fb7c: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Third[k--], &j); 805fb80: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805fb84: 1e5a subs r2, r3, #1 805fb86: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 805fb8a: 463a mov r2, r7 805fb8c: 009b lsls r3, r3, #2 805fb8e: 441a add r2, r3 805fb90: f507 73e6 add.w r3, r7, #460 ; 0x1cc 805fb94: f507 70d8 add.w r0, r7, #432 ; 0x1b0 805fb98: 2102 movs r1, #2 805fb9a: f06a fa8f bl 80ca0bc } //** 1000 arm_biquad_cascade_df2T_f64(&S_OKT_1000Hz, &Buff64[0], &Buff64[Ns], len); 805fb9e: 4b7a ldr r3, [pc, #488] ; (805fd88 ) 805fba0: 681b ldr r3, [r3, #0] 805fba2: 00db lsls r3, r3, #3 805fba4: 4a77 ldr r2, [pc, #476] ; (805fd84 ) 805fba6: 441a add r2, r3 805fba8: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 805fbac: 4975 ldr r1, [pc, #468] ; (805fd84 ) 805fbae: 487a ldr r0, [pc, #488] ; (805fd98 ) 805fbb0: f06a faf8 bl 80ca1a4 for(i = 0; i < len; i++) { 805fbb4: 2300 movs r3, #0 805fbb6: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805fbba: e017 b.n 805fbec In[i] = (float32_t) Buff64[Ns + i]; 805fbbc: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805fbc0: 4a71 ldr r2, [pc, #452] ; (805fd88 ) 805fbc2: 6811 ldr r1, [r2, #0] 805fbc4: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805fbc8: 440a add r2, r1 805fbca: 496e ldr r1, [pc, #440] ; (805fd84 ) 805fbcc: 00d2 lsls r2, r2, #3 805fbce: 440a add r2, r1 805fbd0: ed92 7b00 vldr d7, [r2] 805fbd4: eef7 7bc7 vcvt.f32.f64 s15, d7 805fbd8: 4a6d ldr r2, [pc, #436] ; (805fd90 ) 805fbda: 009b lsls r3, r3, #2 805fbdc: 4413 add r3, r2 805fbde: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 805fbe2: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805fbe6: 3301 adds r3, #1 805fbe8: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805fbec: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805fbf0: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 805fbf4: 429a cmp r2, r3 805fbf6: d3e1 bcc.n 805fbbc } if(pardata.IVS[ACC] == RMS) 805fbf8: 4b66 ldr r3, [pc, #408] ; (805fd94 ) 805fbfa: 789b ldrb r3, [r3, #2] 805fbfc: b2db uxtb r3, r3 805fbfe: 2b01 cmp r3, #1 805fc00: d10e bne.n 805fc20 arm_rms_f32(In, len, &Third[k--]); 805fc02: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805fc06: 1e5a subs r2, r3, #1 805fc08: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 805fc0c: 463a mov r2, r7 805fc0e: 009b lsls r3, r3, #2 805fc10: 4413 add r3, r2 805fc12: 461a mov r2, r3 805fc14: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 805fc18: 485d ldr r0, [pc, #372] ; (805fd90 ) 805fc1a: f06a f921 bl 80c9e60 805fc1e: e042 b.n 805fca6 else { arm_min_f32(In, len, &fn[0], &i); 805fc20: f507 73e8 add.w r3, r7, #464 ; 0x1d0 805fc24: f507 72d8 add.w r2, r7, #432 ; 0x1b0 805fc28: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 805fc2c: 4858 ldr r0, [pc, #352] ; (805fd90 ) 805fc2e: f06a f9a9 bl 80c9f84 arm_max_f32(In, len, &fn[1], &j); 805fc32: f507 71e6 add.w r1, r7, #460 ; 0x1cc 805fc36: f507 73d8 add.w r3, r7, #432 ; 0x1b0 805fc3a: 1d1a adds r2, r3, #4 805fc3c: 460b mov r3, r1 805fc3e: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 805fc42: 4853 ldr r0, [pc, #332] ; (805fd90 ) 805fc44: f06a fa3a bl 80ca0bc fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 805fc48: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805fc4c: eef5 7ac0 vcmpe.f32 s15, #0.0 805fc50: eef1 fa10 vmrs APSR_nzcv, fpscr 805fc54: dd02 ble.n 805fc5c 805fc56: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805fc5a: e003 b.n 805fc64 805fc5c: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805fc60: eef1 7a67 vneg.f32 s15, s15 805fc64: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 805fc68: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805fc6c: eef5 7ac0 vcmpe.f32 s15, #0.0 805fc70: eef1 fa10 vmrs APSR_nzcv, fpscr 805fc74: dd02 ble.n 805fc7c 805fc76: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805fc7a: e003 b.n 805fc84 805fc7c: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805fc80: eef1 7a67 vneg.f32 s15, s15 805fc84: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Third[k--], &j); 805fc88: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805fc8c: 1e5a subs r2, r3, #1 805fc8e: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 805fc92: 463a mov r2, r7 805fc94: 009b lsls r3, r3, #2 805fc96: 441a add r2, r3 805fc98: f507 73e6 add.w r3, r7, #460 ; 0x1cc 805fc9c: f507 70d8 add.w r0, r7, #432 ; 0x1b0 805fca0: 2102 movs r1, #2 805fca2: f06a fa0b bl 80ca0bc } //** 800 arm_biquad_cascade_df2T_f64(&S_OKT_800Hz, &Buff64[0], &Buff64[Ns], len); 805fca6: 4b38 ldr r3, [pc, #224] ; (805fd88 ) 805fca8: 681b ldr r3, [r3, #0] 805fcaa: 00db lsls r3, r3, #3 805fcac: 4a35 ldr r2, [pc, #212] ; (805fd84 ) 805fcae: 441a add r2, r3 805fcb0: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 805fcb4: 4933 ldr r1, [pc, #204] ; (805fd84 ) 805fcb6: 4839 ldr r0, [pc, #228] ; (805fd9c ) 805fcb8: f06a fa74 bl 80ca1a4 for(i = 0; i < len; i++) { 805fcbc: 2300 movs r3, #0 805fcbe: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805fcc2: e017 b.n 805fcf4 In[i] = (float32_t) Buff64[Ns + i]; 805fcc4: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805fcc8: 4a2f ldr r2, [pc, #188] ; (805fd88 ) 805fcca: 6811 ldr r1, [r2, #0] 805fccc: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805fcd0: 440a add r2, r1 805fcd2: 492c ldr r1, [pc, #176] ; (805fd84 ) 805fcd4: 00d2 lsls r2, r2, #3 805fcd6: 440a add r2, r1 805fcd8: ed92 7b00 vldr d7, [r2] 805fcdc: eef7 7bc7 vcvt.f32.f64 s15, d7 805fce0: 4a2b ldr r2, [pc, #172] ; (805fd90 ) 805fce2: 009b lsls r3, r3, #2 805fce4: 4413 add r3, r2 805fce6: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 805fcea: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805fcee: 3301 adds r3, #1 805fcf0: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805fcf4: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805fcf8: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 805fcfc: 429a cmp r2, r3 805fcfe: d3e1 bcc.n 805fcc4 } if(pardata.IVS[ACC] == RMS) 805fd00: 4b24 ldr r3, [pc, #144] ; (805fd94 ) 805fd02: 789b ldrb r3, [r3, #2] 805fd04: b2db uxtb r3, r3 805fd06: 2b01 cmp r3, #1 805fd08: d10e bne.n 805fd28 arm_rms_f32(In, len, &Third[k--]); 805fd0a: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805fd0e: 1e5a subs r2, r3, #1 805fd10: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 805fd14: 463a mov r2, r7 805fd16: 009b lsls r3, r3, #2 805fd18: 4413 add r3, r2 805fd1a: 461a mov r2, r3 805fd1c: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 805fd20: 481b ldr r0, [pc, #108] ; (805fd90 ) 805fd22: f06a f89d bl 80c9e60 805fd26: e050 b.n 805fdca else { arm_min_f32(In, len, &fn[0], &i); 805fd28: f507 73e8 add.w r3, r7, #464 ; 0x1d0 805fd2c: f507 72d8 add.w r2, r7, #432 ; 0x1b0 805fd30: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 805fd34: 4816 ldr r0, [pc, #88] ; (805fd90 ) 805fd36: f06a f925 bl 80c9f84 arm_max_f32(In, len, &fn[1], &j); 805fd3a: f507 71e6 add.w r1, r7, #460 ; 0x1cc 805fd3e: f507 73d8 add.w r3, r7, #432 ; 0x1b0 805fd42: 1d1a adds r2, r3, #4 805fd44: 460b mov r3, r1 805fd46: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 805fd4a: 4811 ldr r0, [pc, #68] ; (805fd90 ) 805fd4c: f06a f9b6 bl 80ca0bc fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 805fd50: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805fd54: eef5 7ac0 vcmpe.f32 s15, #0.0 805fd58: eef1 fa10 vmrs APSR_nzcv, fpscr 805fd5c: dd02 ble.n 805fd64 805fd5e: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805fd62: e003 b.n 805fd6c 805fd64: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805fd68: eef1 7a67 vneg.f32 s15, s15 805fd6c: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 805fd70: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805fd74: eef5 7ac0 vcmpe.f32 s15, #0.0 805fd78: eef1 fa10 vmrs APSR_nzcv, fpscr 805fd7c: dd10 ble.n 805fda0 805fd7e: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805fd82: e011 b.n 805fda8 805fd84: 20037ae0 .word 0x20037ae0 805fd88: 20021cdc .word 0x20021cdc 805fd8c: 20068410 .word 0x20068410 805fd90: 200279c0 .word 0x200279c0 805fd94: 20023e60 .word 0x20023e60 805fd98: 200261b8 .word 0x200261b8 805fd9c: 20068450 .word 0x20068450 805fda0: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805fda4: eef1 7a67 vneg.f32 s15, s15 805fda8: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Third[k--], &j); 805fdac: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805fdb0: 1e5a subs r2, r3, #1 805fdb2: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 805fdb6: 463a mov r2, r7 805fdb8: 009b lsls r3, r3, #2 805fdba: 441a add r2, r3 805fdbc: f507 73e6 add.w r3, r7, #460 ; 0x1cc 805fdc0: f507 70d8 add.w r0, r7, #432 ; 0x1b0 805fdc4: 2102 movs r1, #2 805fdc6: f06a f979 bl 80ca0bc } arm_biquad_cascade_df2T_f64(&S_LP_500, &Buff64[0], &Buff64[0], len); 805fdca: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 805fdce: 4acf ldr r2, [pc, #828] ; (806010c ) 805fdd0: 49ce ldr r1, [pc, #824] ; (806010c ) 805fdd2: 48cf ldr r0, [pc, #828] ; (8060110 ) 805fdd4: f06a f9e6 bl 80ca1a4 len >>= 1; 805fdd8: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 805fddc: 085b lsrs r3, r3, #1 805fdde: f8c7 31e4 str.w r3, [r7, #484] ; 0x1e4 for(i = 0; i < len; i++) { 805fde2: 2300 movs r3, #0 805fde4: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805fde8: e012 b.n 805fe10 Buff64[i] = Buff64[i << 1]; 805fdea: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805fdee: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805fdf2: 005b lsls r3, r3, #1 805fdf4: 49c5 ldr r1, [pc, #788] ; (806010c ) 805fdf6: 00db lsls r3, r3, #3 805fdf8: 440b add r3, r1 805fdfa: cb18 ldmia r3, {r3, r4} 805fdfc: 49c3 ldr r1, [pc, #780] ; (806010c ) 805fdfe: 00d2 lsls r2, r2, #3 805fe00: 440a add r2, r1 805fe02: e882 0018 stmia.w r2, {r3, r4} for(i = 0; i < len; i++) { 805fe06: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805fe0a: 3301 adds r3, #1 805fe0c: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805fe10: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805fe14: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 805fe18: 429a cmp r2, r3 805fe1a: d3e6 bcc.n 805fdea } //** 630 arm_biquad_cascade_df2T_f64(&S_OKT_630Hz, &Buff64[0], &Buff64[Ns], len); 805fe1c: 4bbd ldr r3, [pc, #756] ; (8060114 ) 805fe1e: 681b ldr r3, [r3, #0] 805fe20: 00db lsls r3, r3, #3 805fe22: 4aba ldr r2, [pc, #744] ; (806010c ) 805fe24: 441a add r2, r3 805fe26: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 805fe2a: 49b8 ldr r1, [pc, #736] ; (806010c ) 805fe2c: 48ba ldr r0, [pc, #744] ; (8060118 ) 805fe2e: f06a f9b9 bl 80ca1a4 for(i = 0; i < len; i++) { 805fe32: 2300 movs r3, #0 805fe34: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805fe38: e017 b.n 805fe6a In[i] = (float32_t) Buff64[Ns + i]; 805fe3a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805fe3e: 4ab5 ldr r2, [pc, #724] ; (8060114 ) 805fe40: 6811 ldr r1, [r2, #0] 805fe42: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805fe46: 440a add r2, r1 805fe48: 49b0 ldr r1, [pc, #704] ; (806010c ) 805fe4a: 00d2 lsls r2, r2, #3 805fe4c: 440a add r2, r1 805fe4e: ed92 7b00 vldr d7, [r2] 805fe52: eef7 7bc7 vcvt.f32.f64 s15, d7 805fe56: 4ab1 ldr r2, [pc, #708] ; (806011c ) 805fe58: 009b lsls r3, r3, #2 805fe5a: 4413 add r3, r2 805fe5c: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 805fe60: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805fe64: 3301 adds r3, #1 805fe66: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805fe6a: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805fe6e: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 805fe72: 429a cmp r2, r3 805fe74: d3e1 bcc.n 805fe3a } if(pardata.IVS[ACC] == RMS) 805fe76: 4baa ldr r3, [pc, #680] ; (8060120 ) 805fe78: 789b ldrb r3, [r3, #2] 805fe7a: b2db uxtb r3, r3 805fe7c: 2b01 cmp r3, #1 805fe7e: d10e bne.n 805fe9e arm_rms_f32(In, len, &Third[k--]); 805fe80: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805fe84: 1e5a subs r2, r3, #1 805fe86: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 805fe8a: 463a mov r2, r7 805fe8c: 009b lsls r3, r3, #2 805fe8e: 4413 add r3, r2 805fe90: 461a mov r2, r3 805fe92: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 805fe96: 48a1 ldr r0, [pc, #644] ; (806011c ) 805fe98: f069 ffe2 bl 80c9e60 805fe9c: e042 b.n 805ff24 else { arm_min_f32(In, len, &fn[0], &i); 805fe9e: f507 73e8 add.w r3, r7, #464 ; 0x1d0 805fea2: f507 72d8 add.w r2, r7, #432 ; 0x1b0 805fea6: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 805feaa: 489c ldr r0, [pc, #624] ; (806011c ) 805feac: f06a f86a bl 80c9f84 arm_max_f32(In, len, &fn[1], &j); 805feb0: f507 71e6 add.w r1, r7, #460 ; 0x1cc 805feb4: f507 73d8 add.w r3, r7, #432 ; 0x1b0 805feb8: 1d1a adds r2, r3, #4 805feba: 460b mov r3, r1 805febc: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 805fec0: 4896 ldr r0, [pc, #600] ; (806011c ) 805fec2: f06a f8fb bl 80ca0bc fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 805fec6: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805feca: eef5 7ac0 vcmpe.f32 s15, #0.0 805fece: eef1 fa10 vmrs APSR_nzcv, fpscr 805fed2: dd02 ble.n 805feda 805fed4: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805fed8: e003 b.n 805fee2 805feda: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805fede: eef1 7a67 vneg.f32 s15, s15 805fee2: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 805fee6: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805feea: eef5 7ac0 vcmpe.f32 s15, #0.0 805feee: eef1 fa10 vmrs APSR_nzcv, fpscr 805fef2: dd02 ble.n 805fefa 805fef4: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805fef8: e003 b.n 805ff02 805fefa: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805fefe: eef1 7a67 vneg.f32 s15, s15 805ff02: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Third[k--], &j); 805ff06: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805ff0a: 1e5a subs r2, r3, #1 805ff0c: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 805ff10: 463a mov r2, r7 805ff12: 009b lsls r3, r3, #2 805ff14: 441a add r2, r3 805ff16: f507 73e6 add.w r3, r7, #460 ; 0x1cc 805ff1a: f507 70d8 add.w r0, r7, #432 ; 0x1b0 805ff1e: 2102 movs r1, #2 805ff20: f06a f8cc bl 80ca0bc } //** 500 arm_biquad_cascade_df2T_f64(&S_OKT_500Hz, &Buff64[0], &Buff64[Ns], len); 805ff24: 4b7b ldr r3, [pc, #492] ; (8060114 ) 805ff26: 681b ldr r3, [r3, #0] 805ff28: 00db lsls r3, r3, #3 805ff2a: 4a78 ldr r2, [pc, #480] ; (806010c ) 805ff2c: 441a add r2, r3 805ff2e: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 805ff32: 4976 ldr r1, [pc, #472] ; (806010c ) 805ff34: 487b ldr r0, [pc, #492] ; (8060124 ) 805ff36: f06a f935 bl 80ca1a4 for(i = 0; i < len; i++) { 805ff3a: 2300 movs r3, #0 805ff3c: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805ff40: e017 b.n 805ff72 In[i] = (float32_t) Buff64[Ns + i]; 805ff42: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805ff46: 4a73 ldr r2, [pc, #460] ; (8060114 ) 805ff48: 6811 ldr r1, [r2, #0] 805ff4a: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805ff4e: 440a add r2, r1 805ff50: 496e ldr r1, [pc, #440] ; (806010c ) 805ff52: 00d2 lsls r2, r2, #3 805ff54: 440a add r2, r1 805ff56: ed92 7b00 vldr d7, [r2] 805ff5a: eef7 7bc7 vcvt.f32.f64 s15, d7 805ff5e: 4a6f ldr r2, [pc, #444] ; (806011c ) 805ff60: 009b lsls r3, r3, #2 805ff62: 4413 add r3, r2 805ff64: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 805ff68: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805ff6c: 3301 adds r3, #1 805ff6e: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805ff72: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805ff76: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 805ff7a: 429a cmp r2, r3 805ff7c: d3e1 bcc.n 805ff42 } if(pardata.IVS[ACC] == RMS) 805ff7e: 4b68 ldr r3, [pc, #416] ; (8060120 ) 805ff80: 789b ldrb r3, [r3, #2] 805ff82: b2db uxtb r3, r3 805ff84: 2b01 cmp r3, #1 805ff86: d10e bne.n 805ffa6 arm_rms_f32(In, len, &Third[k--]); 805ff88: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805ff8c: 1e5a subs r2, r3, #1 805ff8e: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 805ff92: 463a mov r2, r7 805ff94: 009b lsls r3, r3, #2 805ff96: 4413 add r3, r2 805ff98: 461a mov r2, r3 805ff9a: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 805ff9e: 485f ldr r0, [pc, #380] ; (806011c ) 805ffa0: f069 ff5e bl 80c9e60 805ffa4: e042 b.n 806002c else { arm_min_f32(In, len, &fn[0], &i); 805ffa6: f507 73e8 add.w r3, r7, #464 ; 0x1d0 805ffaa: f507 72d8 add.w r2, r7, #432 ; 0x1b0 805ffae: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 805ffb2: 485a ldr r0, [pc, #360] ; (806011c ) 805ffb4: f069 ffe6 bl 80c9f84 arm_max_f32(In, len, &fn[1], &j); 805ffb8: f507 71e6 add.w r1, r7, #460 ; 0x1cc 805ffbc: f507 73d8 add.w r3, r7, #432 ; 0x1b0 805ffc0: 1d1a adds r2, r3, #4 805ffc2: 460b mov r3, r1 805ffc4: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 805ffc8: 4854 ldr r0, [pc, #336] ; (806011c ) 805ffca: f06a f877 bl 80ca0bc fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 805ffce: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805ffd2: eef5 7ac0 vcmpe.f32 s15, #0.0 805ffd6: eef1 fa10 vmrs APSR_nzcv, fpscr 805ffda: dd02 ble.n 805ffe2 805ffdc: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805ffe0: e003 b.n 805ffea 805ffe2: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805ffe6: eef1 7a67 vneg.f32 s15, s15 805ffea: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 805ffee: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805fff2: eef5 7ac0 vcmpe.f32 s15, #0.0 805fff6: eef1 fa10 vmrs APSR_nzcv, fpscr 805fffa: dd02 ble.n 8060002 805fffc: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8060000: e003 b.n 806000a 8060002: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8060006: eef1 7a67 vneg.f32 s15, s15 806000a: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Third[k--], &j); 806000e: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8060012: 1e5a subs r2, r3, #1 8060014: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 8060018: 463a mov r2, r7 806001a: 009b lsls r3, r3, #2 806001c: 441a add r2, r3 806001e: f507 73e6 add.w r3, r7, #460 ; 0x1cc 8060022: f507 70d8 add.w r0, r7, #432 ; 0x1b0 8060026: 2102 movs r1, #2 8060028: f06a f848 bl 80ca0bc } //** 400 arm_biquad_cascade_df2T_f64(&S_OKT_400Hz, &Buff64[0], &Buff64[Ns], len); 806002c: 4b39 ldr r3, [pc, #228] ; (8060114 ) 806002e: 681b ldr r3, [r3, #0] 8060030: 00db lsls r3, r3, #3 8060032: 4a36 ldr r2, [pc, #216] ; (806010c ) 8060034: 441a add r2, r3 8060036: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 806003a: 4934 ldr r1, [pc, #208] ; (806010c ) 806003c: 483a ldr r0, [pc, #232] ; (8060128 ) 806003e: f06a f8b1 bl 80ca1a4 for(i = 0; i < len; i++) { 8060042: 2300 movs r3, #0 8060044: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8060048: e017 b.n 806007a In[i] = (float32_t) Buff64[Ns + i]; 806004a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 806004e: 4a31 ldr r2, [pc, #196] ; (8060114 ) 8060050: 6811 ldr r1, [r2, #0] 8060052: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8060056: 440a add r2, r1 8060058: 492c ldr r1, [pc, #176] ; (806010c ) 806005a: 00d2 lsls r2, r2, #3 806005c: 440a add r2, r1 806005e: ed92 7b00 vldr d7, [r2] 8060062: eef7 7bc7 vcvt.f32.f64 s15, d7 8060066: 4a2d ldr r2, [pc, #180] ; (806011c ) 8060068: 009b lsls r3, r3, #2 806006a: 4413 add r3, r2 806006c: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 8060070: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8060074: 3301 adds r3, #1 8060076: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 806007a: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 806007e: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8060082: 429a cmp r2, r3 8060084: d3e1 bcc.n 806004a } if(pardata.IVS[ACC] == RMS) 8060086: 4b26 ldr r3, [pc, #152] ; (8060120 ) 8060088: 789b ldrb r3, [r3, #2] 806008a: b2db uxtb r3, r3 806008c: 2b01 cmp r3, #1 806008e: d10e bne.n 80600ae arm_rms_f32(In, len, &Third[k--]); 8060090: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8060094: 1e5a subs r2, r3, #1 8060096: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 806009a: 463a mov r2, r7 806009c: 009b lsls r3, r3, #2 806009e: 4413 add r3, r2 80600a0: 461a mov r2, r3 80600a2: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 80600a6: 481d ldr r0, [pc, #116] ; (806011c ) 80600a8: f069 feda bl 80c9e60 80600ac: e053 b.n 8060156 else { arm_min_f32(In, len, &fn[0], &i); 80600ae: f507 73e8 add.w r3, r7, #464 ; 0x1d0 80600b2: f507 72d8 add.w r2, r7, #432 ; 0x1b0 80600b6: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 80600ba: 4818 ldr r0, [pc, #96] ; (806011c ) 80600bc: f069 ff62 bl 80c9f84 arm_max_f32(In, len, &fn[1], &j); 80600c0: f507 71e6 add.w r1, r7, #460 ; 0x1cc 80600c4: f507 73d8 add.w r3, r7, #432 ; 0x1b0 80600c8: 1d1a adds r2, r3, #4 80600ca: 460b mov r3, r1 80600cc: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 80600d0: 4812 ldr r0, [pc, #72] ; (806011c ) 80600d2: f069 fff3 bl 80ca0bc fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 80600d6: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 80600da: eef5 7ac0 vcmpe.f32 s15, #0.0 80600de: eef1 fa10 vmrs APSR_nzcv, fpscr 80600e2: dd02 ble.n 80600ea 80600e4: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 80600e8: e003 b.n 80600f2 80600ea: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 80600ee: eef1 7a67 vneg.f32 s15, s15 80600f2: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 80600f6: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 80600fa: eef5 7ac0 vcmpe.f32 s15, #0.0 80600fe: eef1 fa10 vmrs APSR_nzcv, fpscr 8060102: dd13 ble.n 806012c 8060104: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8060108: e014 b.n 8060134 806010a: bf00 nop 806010c: 20037ae0 .word 0x20037ae0 8060110: 2002795c .word 0x2002795c 8060114: 20021cdc .word 0x20021cdc 8060118: 20025f90 .word 0x20025f90 806011c: 200279c0 .word 0x200279c0 8060120: 20023e60 .word 0x20023e60 8060124: 20057aec .word 0x20057aec 8060128: 20026044 .word 0x20026044 806012c: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8060130: eef1 7a67 vneg.f32 s15, s15 8060134: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Third[k--], &j); 8060138: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 806013c: 1e5a subs r2, r3, #1 806013e: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 8060142: 463a mov r2, r7 8060144: 009b lsls r3, r3, #2 8060146: 441a add r2, r3 8060148: f507 73e6 add.w r3, r7, #460 ; 0x1cc 806014c: f507 70d8 add.w r0, r7, #432 ; 0x1b0 8060150: 2102 movs r1, #2 8060152: f069 ffb3 bl 80ca0bc } arm_biquad_cascade_df2T_f64(&S_LP_250, &Buff64[0], &Buff64[0], len); 8060156: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 806015a: 4acf ldr r2, [pc, #828] ; (8060498 ) 806015c: 49ce ldr r1, [pc, #824] ; (8060498 ) 806015e: 48cf ldr r0, [pc, #828] ; (806049c ) 8060160: f06a f820 bl 80ca1a4 len >>= 1; 8060164: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8060168: 085b lsrs r3, r3, #1 806016a: f8c7 31e4 str.w r3, [r7, #484] ; 0x1e4 for(i = 0; i < len; i++) { 806016e: 2300 movs r3, #0 8060170: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8060174: e012 b.n 806019c Buff64[i] = Buff64[i << 1]; 8060176: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 806017a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 806017e: 005b lsls r3, r3, #1 8060180: 49c5 ldr r1, [pc, #788] ; (8060498 ) 8060182: 00db lsls r3, r3, #3 8060184: 440b add r3, r1 8060186: cb18 ldmia r3, {r3, r4} 8060188: 49c3 ldr r1, [pc, #780] ; (8060498 ) 806018a: 00d2 lsls r2, r2, #3 806018c: 440a add r2, r1 806018e: e882 0018 stmia.w r2, {r3, r4} for(i = 0; i < len; i++) { 8060192: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8060196: 3301 adds r3, #1 8060198: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 806019c: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80601a0: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 80601a4: 429a cmp r2, r3 80601a6: d3e6 bcc.n 8060176 } //** 315 arm_biquad_cascade_df2T_f64(&S_OKT_315Hz, &Buff64[0], &Buff64[Ns], len); 80601a8: 4bbd ldr r3, [pc, #756] ; (80604a0 ) 80601aa: 681b ldr r3, [r3, #0] 80601ac: 00db lsls r3, r3, #3 80601ae: 4aba ldr r2, [pc, #744] ; (8060498 ) 80601b0: 441a add r2, r3 80601b2: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 80601b6: 49b8 ldr r1, [pc, #736] ; (8060498 ) 80601b8: 48ba ldr r0, [pc, #744] ; (80604a4 ) 80601ba: f069 fff3 bl 80ca1a4 for(i = 0; i < len; i++) { 80601be: 2300 movs r3, #0 80601c0: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 80601c4: e017 b.n 80601f6 In[i] = (float32_t) Buff64[Ns + i]; 80601c6: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80601ca: 4ab5 ldr r2, [pc, #724] ; (80604a0 ) 80601cc: 6811 ldr r1, [r2, #0] 80601ce: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80601d2: 440a add r2, r1 80601d4: 49b0 ldr r1, [pc, #704] ; (8060498 ) 80601d6: 00d2 lsls r2, r2, #3 80601d8: 440a add r2, r1 80601da: ed92 7b00 vldr d7, [r2] 80601de: eef7 7bc7 vcvt.f32.f64 s15, d7 80601e2: 4ab1 ldr r2, [pc, #708] ; (80604a8 ) 80601e4: 009b lsls r3, r3, #2 80601e6: 4413 add r3, r2 80601e8: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 80601ec: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80601f0: 3301 adds r3, #1 80601f2: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 80601f6: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80601fa: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 80601fe: 429a cmp r2, r3 8060200: d3e1 bcc.n 80601c6 } if(pardata.IVS[ACC] == RMS) 8060202: 4baa ldr r3, [pc, #680] ; (80604ac ) 8060204: 789b ldrb r3, [r3, #2] 8060206: b2db uxtb r3, r3 8060208: 2b01 cmp r3, #1 806020a: d10e bne.n 806022a arm_rms_f32(In, len, &Third[k--]); 806020c: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8060210: 1e5a subs r2, r3, #1 8060212: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 8060216: 463a mov r2, r7 8060218: 009b lsls r3, r3, #2 806021a: 4413 add r3, r2 806021c: 461a mov r2, r3 806021e: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8060222: 48a1 ldr r0, [pc, #644] ; (80604a8 ) 8060224: f069 fe1c bl 80c9e60 8060228: e042 b.n 80602b0 else { arm_min_f32(In, len, &fn[0], &i); 806022a: f507 73e8 add.w r3, r7, #464 ; 0x1d0 806022e: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8060232: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8060236: 489c ldr r0, [pc, #624] ; (80604a8 ) 8060238: f069 fea4 bl 80c9f84 arm_max_f32(In, len, &fn[1], &j); 806023c: f507 71e6 add.w r1, r7, #460 ; 0x1cc 8060240: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8060244: 1d1a adds r2, r3, #4 8060246: 460b mov r3, r1 8060248: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 806024c: 4896 ldr r0, [pc, #600] ; (80604a8 ) 806024e: f069 ff35 bl 80ca0bc fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 8060252: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8060256: eef5 7ac0 vcmpe.f32 s15, #0.0 806025a: eef1 fa10 vmrs APSR_nzcv, fpscr 806025e: dd02 ble.n 8060266 8060260: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8060264: e003 b.n 806026e 8060266: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 806026a: eef1 7a67 vneg.f32 s15, s15 806026e: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 8060272: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8060276: eef5 7ac0 vcmpe.f32 s15, #0.0 806027a: eef1 fa10 vmrs APSR_nzcv, fpscr 806027e: dd02 ble.n 8060286 8060280: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8060284: e003 b.n 806028e 8060286: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 806028a: eef1 7a67 vneg.f32 s15, s15 806028e: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Third[k--], &j); 8060292: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8060296: 1e5a subs r2, r3, #1 8060298: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 806029c: 463a mov r2, r7 806029e: 009b lsls r3, r3, #2 80602a0: 441a add r2, r3 80602a2: f507 73e6 add.w r3, r7, #460 ; 0x1cc 80602a6: f507 70d8 add.w r0, r7, #432 ; 0x1b0 80602aa: 2102 movs r1, #2 80602ac: f069 ff06 bl 80ca0bc } //** 250 arm_biquad_cascade_df2T_f64(&S_OKT_250Hz, &Buff64[0], &Buff64[Ns], len); 80602b0: 4b7b ldr r3, [pc, #492] ; (80604a0 ) 80602b2: 681b ldr r3, [r3, #0] 80602b4: 00db lsls r3, r3, #3 80602b6: 4a78 ldr r2, [pc, #480] ; (8060498 ) 80602b8: 441a add r2, r3 80602ba: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 80602be: 4976 ldr r1, [pc, #472] ; (8060498 ) 80602c0: 487b ldr r0, [pc, #492] ; (80604b0 ) 80602c2: f069 ff6f bl 80ca1a4 for(i = 0; i < len; i++) { 80602c6: 2300 movs r3, #0 80602c8: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 80602cc: e017 b.n 80602fe In[i] = (float32_t) Buff64[Ns + i]; 80602ce: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80602d2: 4a73 ldr r2, [pc, #460] ; (80604a0 ) 80602d4: 6811 ldr r1, [r2, #0] 80602d6: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80602da: 440a add r2, r1 80602dc: 496e ldr r1, [pc, #440] ; (8060498 ) 80602de: 00d2 lsls r2, r2, #3 80602e0: 440a add r2, r1 80602e2: ed92 7b00 vldr d7, [r2] 80602e6: eef7 7bc7 vcvt.f32.f64 s15, d7 80602ea: 4a6f ldr r2, [pc, #444] ; (80604a8 ) 80602ec: 009b lsls r3, r3, #2 80602ee: 4413 add r3, r2 80602f0: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 80602f4: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80602f8: 3301 adds r3, #1 80602fa: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 80602fe: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8060302: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8060306: 429a cmp r2, r3 8060308: d3e1 bcc.n 80602ce } if(pardata.IVS[ACC] == RMS) 806030a: 4b68 ldr r3, [pc, #416] ; (80604ac ) 806030c: 789b ldrb r3, [r3, #2] 806030e: b2db uxtb r3, r3 8060310: 2b01 cmp r3, #1 8060312: d10e bne.n 8060332 arm_rms_f32(In, len, &Third[k--]); 8060314: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8060318: 1e5a subs r2, r3, #1 806031a: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 806031e: 463a mov r2, r7 8060320: 009b lsls r3, r3, #2 8060322: 4413 add r3, r2 8060324: 461a mov r2, r3 8060326: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 806032a: 485f ldr r0, [pc, #380] ; (80604a8 ) 806032c: f069 fd98 bl 80c9e60 8060330: e042 b.n 80603b8 else { arm_min_f32(In, len, &fn[0], &i); 8060332: f507 73e8 add.w r3, r7, #464 ; 0x1d0 8060336: f507 72d8 add.w r2, r7, #432 ; 0x1b0 806033a: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 806033e: 485a ldr r0, [pc, #360] ; (80604a8 ) 8060340: f069 fe20 bl 80c9f84 arm_max_f32(In, len, &fn[1], &j); 8060344: f507 71e6 add.w r1, r7, #460 ; 0x1cc 8060348: f507 73d8 add.w r3, r7, #432 ; 0x1b0 806034c: 1d1a adds r2, r3, #4 806034e: 460b mov r3, r1 8060350: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8060354: 4854 ldr r0, [pc, #336] ; (80604a8 ) 8060356: f069 feb1 bl 80ca0bc fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 806035a: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 806035e: eef5 7ac0 vcmpe.f32 s15, #0.0 8060362: eef1 fa10 vmrs APSR_nzcv, fpscr 8060366: dd02 ble.n 806036e 8060368: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 806036c: e003 b.n 8060376 806036e: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8060372: eef1 7a67 vneg.f32 s15, s15 8060376: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 806037a: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 806037e: eef5 7ac0 vcmpe.f32 s15, #0.0 8060382: eef1 fa10 vmrs APSR_nzcv, fpscr 8060386: dd02 ble.n 806038e 8060388: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 806038c: e003 b.n 8060396 806038e: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8060392: eef1 7a67 vneg.f32 s15, s15 8060396: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Third[k--], &j); 806039a: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 806039e: 1e5a subs r2, r3, #1 80603a0: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 80603a4: 463a mov r2, r7 80603a6: 009b lsls r3, r3, #2 80603a8: 441a add r2, r3 80603aa: f507 73e6 add.w r3, r7, #460 ; 0x1cc 80603ae: f507 70d8 add.w r0, r7, #432 ; 0x1b0 80603b2: 2102 movs r1, #2 80603b4: f069 fe82 bl 80ca0bc } //** 200 arm_biquad_cascade_df2T_f64(&S_OKT_200Hz, &Buff64[0], &Buff64[Ns], len); 80603b8: 4b39 ldr r3, [pc, #228] ; (80604a0 ) 80603ba: 681b ldr r3, [r3, #0] 80603bc: 00db lsls r3, r3, #3 80603be: 4a36 ldr r2, [pc, #216] ; (8060498 ) 80603c0: 441a add r2, r3 80603c2: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 80603c6: 4934 ldr r1, [pc, #208] ; (8060498 ) 80603c8: 483a ldr r0, [pc, #232] ; (80604b4 ) 80603ca: f069 feeb bl 80ca1a4 for(i = 0; i < len; i++) { 80603ce: 2300 movs r3, #0 80603d0: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 80603d4: e017 b.n 8060406 In[i] = (float32_t) Buff64[Ns + i]; 80603d6: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80603da: 4a31 ldr r2, [pc, #196] ; (80604a0 ) 80603dc: 6811 ldr r1, [r2, #0] 80603de: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80603e2: 440a add r2, r1 80603e4: 492c ldr r1, [pc, #176] ; (8060498 ) 80603e6: 00d2 lsls r2, r2, #3 80603e8: 440a add r2, r1 80603ea: ed92 7b00 vldr d7, [r2] 80603ee: eef7 7bc7 vcvt.f32.f64 s15, d7 80603f2: 4a2d ldr r2, [pc, #180] ; (80604a8 ) 80603f4: 009b lsls r3, r3, #2 80603f6: 4413 add r3, r2 80603f8: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 80603fc: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8060400: 3301 adds r3, #1 8060402: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8060406: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 806040a: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 806040e: 429a cmp r2, r3 8060410: d3e1 bcc.n 80603d6 } if(pardata.IVS[ACC] == RMS) 8060412: 4b26 ldr r3, [pc, #152] ; (80604ac ) 8060414: 789b ldrb r3, [r3, #2] 8060416: b2db uxtb r3, r3 8060418: 2b01 cmp r3, #1 806041a: d10e bne.n 806043a arm_rms_f32(In, len, &Third[k--]); 806041c: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8060420: 1e5a subs r2, r3, #1 8060422: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 8060426: 463a mov r2, r7 8060428: 009b lsls r3, r3, #2 806042a: 4413 add r3, r2 806042c: 461a mov r2, r3 806042e: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8060432: 481d ldr r0, [pc, #116] ; (80604a8 ) 8060434: f069 fd14 bl 80c9e60 8060438: e053 b.n 80604e2 else { arm_min_f32(In, len, &fn[0], &i); 806043a: f507 73e8 add.w r3, r7, #464 ; 0x1d0 806043e: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8060442: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8060446: 4818 ldr r0, [pc, #96] ; (80604a8 ) 8060448: f069 fd9c bl 80c9f84 arm_max_f32(In, len, &fn[1], &j); 806044c: f507 71e6 add.w r1, r7, #460 ; 0x1cc 8060450: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8060454: 1d1a adds r2, r3, #4 8060456: 460b mov r3, r1 8060458: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 806045c: 4812 ldr r0, [pc, #72] ; (80604a8 ) 806045e: f069 fe2d bl 80ca0bc fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 8060462: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8060466: eef5 7ac0 vcmpe.f32 s15, #0.0 806046a: eef1 fa10 vmrs APSR_nzcv, fpscr 806046e: dd02 ble.n 8060476 8060470: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8060474: e003 b.n 806047e 8060476: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 806047a: eef1 7a67 vneg.f32 s15, s15 806047e: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 8060482: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8060486: eef5 7ac0 vcmpe.f32 s15, #0.0 806048a: eef1 fa10 vmrs APSR_nzcv, fpscr 806048e: dd13 ble.n 80604b8 8060490: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8060494: e014 b.n 80604c0 8060496: bf00 nop 8060498: 20037ae0 .word 0x20037ae0 806049c: 20068548 .word 0x20068548 80604a0: 20021cdc .word 0x20021cdc 80604a4: 20026414 .word 0x20026414 80604a8: 200279c0 .word 0x200279c0 80604ac: 20023e60 .word 0x20023e60 80604b0: 20068554 .word 0x20068554 80604b4: 20026590 .word 0x20026590 80604b8: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 80604bc: eef1 7a67 vneg.f32 s15, s15 80604c0: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Third[k--], &j); 80604c4: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 80604c8: 1e5a subs r2, r3, #1 80604ca: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 80604ce: 463a mov r2, r7 80604d0: 009b lsls r3, r3, #2 80604d2: 441a add r2, r3 80604d4: f507 73e6 add.w r3, r7, #460 ; 0x1cc 80604d8: f507 70d8 add.w r0, r7, #432 ; 0x1b0 80604dc: 2102 movs r1, #2 80604de: f069 fded bl 80ca0bc } arm_biquad_cascade_df2T_f64(&S_LP_125, &Buff64[0], &Buff64[0], len); 80604e2: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 80604e6: 4acf ldr r2, [pc, #828] ; (8060824 ) 80604e8: 49ce ldr r1, [pc, #824] ; (8060824 ) 80604ea: 48cf ldr r0, [pc, #828] ; (8060828 ) 80604ec: f069 fe5a bl 80ca1a4 len >>= 1; 80604f0: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 80604f4: 085b lsrs r3, r3, #1 80604f6: f8c7 31e4 str.w r3, [r7, #484] ; 0x1e4 for(i = 0; i < len; i++) { 80604fa: 2300 movs r3, #0 80604fc: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8060500: e012 b.n 8060528 Buff64[i] = Buff64[i << 1]; 8060502: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8060506: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 806050a: 005b lsls r3, r3, #1 806050c: 49c5 ldr r1, [pc, #788] ; (8060824 ) 806050e: 00db lsls r3, r3, #3 8060510: 440b add r3, r1 8060512: cb18 ldmia r3, {r3, r4} 8060514: 49c3 ldr r1, [pc, #780] ; (8060824 ) 8060516: 00d2 lsls r2, r2, #3 8060518: 440a add r2, r1 806051a: e882 0018 stmia.w r2, {r3, r4} for(i = 0; i < len; i++) { 806051e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8060522: 3301 adds r3, #1 8060524: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8060528: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 806052c: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8060530: 429a cmp r2, r3 8060532: d3e6 bcc.n 8060502 } //** 160 arm_biquad_cascade_df2T_f64(&S_OKT_160Hz, &Buff64[0], &Buff64[Ns], len); 8060534: 4bbd ldr r3, [pc, #756] ; (806082c ) 8060536: 681b ldr r3, [r3, #0] 8060538: 00db lsls r3, r3, #3 806053a: 4aba ldr r2, [pc, #744] ; (8060824 ) 806053c: 441a add r2, r3 806053e: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8060542: 49b8 ldr r1, [pc, #736] ; (8060824 ) 8060544: 48ba ldr r0, [pc, #744] ; (8060830 ) 8060546: f069 fe2d bl 80ca1a4 for(i = 0; i < len; i++) { 806054a: 2300 movs r3, #0 806054c: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8060550: e017 b.n 8060582 In[i] = (float32_t) Buff64[Ns + i]; 8060552: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8060556: 4ab5 ldr r2, [pc, #724] ; (806082c ) 8060558: 6811 ldr r1, [r2, #0] 806055a: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 806055e: 440a add r2, r1 8060560: 49b0 ldr r1, [pc, #704] ; (8060824 ) 8060562: 00d2 lsls r2, r2, #3 8060564: 440a add r2, r1 8060566: ed92 7b00 vldr d7, [r2] 806056a: eef7 7bc7 vcvt.f32.f64 s15, d7 806056e: 4ab1 ldr r2, [pc, #708] ; (8060834 ) 8060570: 009b lsls r3, r3, #2 8060572: 4413 add r3, r2 8060574: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 8060578: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 806057c: 3301 adds r3, #1 806057e: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8060582: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8060586: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 806058a: 429a cmp r2, r3 806058c: d3e1 bcc.n 8060552 } if(pardata.IVS[ACC] == RMS) 806058e: 4baa ldr r3, [pc, #680] ; (8060838 ) 8060590: 789b ldrb r3, [r3, #2] 8060592: b2db uxtb r3, r3 8060594: 2b01 cmp r3, #1 8060596: d10e bne.n 80605b6 arm_rms_f32(In, len, &Third[k--]); 8060598: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 806059c: 1e5a subs r2, r3, #1 806059e: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 80605a2: 463a mov r2, r7 80605a4: 009b lsls r3, r3, #2 80605a6: 4413 add r3, r2 80605a8: 461a mov r2, r3 80605aa: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 80605ae: 48a1 ldr r0, [pc, #644] ; (8060834 ) 80605b0: f069 fc56 bl 80c9e60 80605b4: e042 b.n 806063c else { arm_min_f32(In, len, &fn[0], &i); 80605b6: f507 73e8 add.w r3, r7, #464 ; 0x1d0 80605ba: f507 72d8 add.w r2, r7, #432 ; 0x1b0 80605be: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 80605c2: 489c ldr r0, [pc, #624] ; (8060834 ) 80605c4: f069 fcde bl 80c9f84 arm_max_f32(In, len, &fn[1], &j); 80605c8: f507 71e6 add.w r1, r7, #460 ; 0x1cc 80605cc: f507 73d8 add.w r3, r7, #432 ; 0x1b0 80605d0: 1d1a adds r2, r3, #4 80605d2: 460b mov r3, r1 80605d4: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 80605d8: 4896 ldr r0, [pc, #600] ; (8060834 ) 80605da: f069 fd6f bl 80ca0bc fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 80605de: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 80605e2: eef5 7ac0 vcmpe.f32 s15, #0.0 80605e6: eef1 fa10 vmrs APSR_nzcv, fpscr 80605ea: dd02 ble.n 80605f2 80605ec: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 80605f0: e003 b.n 80605fa 80605f2: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 80605f6: eef1 7a67 vneg.f32 s15, s15 80605fa: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 80605fe: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8060602: eef5 7ac0 vcmpe.f32 s15, #0.0 8060606: eef1 fa10 vmrs APSR_nzcv, fpscr 806060a: dd02 ble.n 8060612 806060c: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8060610: e003 b.n 806061a 8060612: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8060616: eef1 7a67 vneg.f32 s15, s15 806061a: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Third[k--], &j); 806061e: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8060622: 1e5a subs r2, r3, #1 8060624: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 8060628: 463a mov r2, r7 806062a: 009b lsls r3, r3, #2 806062c: 441a add r2, r3 806062e: f507 73e6 add.w r3, r7, #460 ; 0x1cc 8060632: f507 70d8 add.w r0, r7, #432 ; 0x1b0 8060636: 2102 movs r1, #2 8060638: f069 fd40 bl 80ca0bc } //** 125 arm_biquad_cascade_df2T_f64(&S_OKT_125Hz, &Buff64[0], &Buff64[Ns], len); 806063c: 4b7b ldr r3, [pc, #492] ; (806082c ) 806063e: 681b ldr r3, [r3, #0] 8060640: 00db lsls r3, r3, #3 8060642: 4a78 ldr r2, [pc, #480] ; (8060824 ) 8060644: 441a add r2, r3 8060646: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 806064a: 4976 ldr r1, [pc, #472] ; (8060824 ) 806064c: 487b ldr r0, [pc, #492] ; (806083c ) 806064e: f069 fda9 bl 80ca1a4 for(i = 0; i < len; i++) { 8060652: 2300 movs r3, #0 8060654: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8060658: e017 b.n 806068a In[i] = (float32_t) Buff64[Ns + i]; 806065a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 806065e: 4a73 ldr r2, [pc, #460] ; (806082c ) 8060660: 6811 ldr r1, [r2, #0] 8060662: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8060666: 440a add r2, r1 8060668: 496e ldr r1, [pc, #440] ; (8060824 ) 806066a: 00d2 lsls r2, r2, #3 806066c: 440a add r2, r1 806066e: ed92 7b00 vldr d7, [r2] 8060672: eef7 7bc7 vcvt.f32.f64 s15, d7 8060676: 4a6f ldr r2, [pc, #444] ; (8060834 ) 8060678: 009b lsls r3, r3, #2 806067a: 4413 add r3, r2 806067c: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 8060680: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8060684: 3301 adds r3, #1 8060686: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 806068a: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 806068e: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8060692: 429a cmp r2, r3 8060694: d3e1 bcc.n 806065a } if(pardata.IVS[ACC] == RMS) 8060696: 4b68 ldr r3, [pc, #416] ; (8060838 ) 8060698: 789b ldrb r3, [r3, #2] 806069a: b2db uxtb r3, r3 806069c: 2b01 cmp r3, #1 806069e: d10e bne.n 80606be arm_rms_f32(In, len, &Third[k--]); 80606a0: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 80606a4: 1e5a subs r2, r3, #1 80606a6: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 80606aa: 463a mov r2, r7 80606ac: 009b lsls r3, r3, #2 80606ae: 4413 add r3, r2 80606b0: 461a mov r2, r3 80606b2: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 80606b6: 485f ldr r0, [pc, #380] ; (8060834 ) 80606b8: f069 fbd2 bl 80c9e60 80606bc: e042 b.n 8060744 else { arm_min_f32(In, len, &fn[0], &i); 80606be: f507 73e8 add.w r3, r7, #464 ; 0x1d0 80606c2: f507 72d8 add.w r2, r7, #432 ; 0x1b0 80606c6: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 80606ca: 485a ldr r0, [pc, #360] ; (8060834 ) 80606cc: f069 fc5a bl 80c9f84 arm_max_f32(In, len, &fn[1], &j); 80606d0: f507 71e6 add.w r1, r7, #460 ; 0x1cc 80606d4: f507 73d8 add.w r3, r7, #432 ; 0x1b0 80606d8: 1d1a adds r2, r3, #4 80606da: 460b mov r3, r1 80606dc: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 80606e0: 4854 ldr r0, [pc, #336] ; (8060834 ) 80606e2: f069 fceb bl 80ca0bc fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 80606e6: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 80606ea: eef5 7ac0 vcmpe.f32 s15, #0.0 80606ee: eef1 fa10 vmrs APSR_nzcv, fpscr 80606f2: dd02 ble.n 80606fa 80606f4: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 80606f8: e003 b.n 8060702 80606fa: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 80606fe: eef1 7a67 vneg.f32 s15, s15 8060702: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 8060706: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 806070a: eef5 7ac0 vcmpe.f32 s15, #0.0 806070e: eef1 fa10 vmrs APSR_nzcv, fpscr 8060712: dd02 ble.n 806071a 8060714: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8060718: e003 b.n 8060722 806071a: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 806071e: eef1 7a67 vneg.f32 s15, s15 8060722: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Third[k--], &j); 8060726: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 806072a: 1e5a subs r2, r3, #1 806072c: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 8060730: 463a mov r2, r7 8060732: 009b lsls r3, r3, #2 8060734: 441a add r2, r3 8060736: f507 73e6 add.w r3, r7, #460 ; 0x1cc 806073a: f507 70d8 add.w r0, r7, #432 ; 0x1b0 806073e: 2102 movs r1, #2 8060740: f069 fcbc bl 80ca0bc } //** 100 arm_biquad_cascade_df2T_f64(&S_OKT_100Hz, &Buff64[0], &Buff64[Ns], len); 8060744: 4b39 ldr r3, [pc, #228] ; (806082c ) 8060746: 681b ldr r3, [r3, #0] 8060748: 00db lsls r3, r3, #3 806074a: 4a36 ldr r2, [pc, #216] ; (8060824 ) 806074c: 441a add r2, r3 806074e: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8060752: 4934 ldr r1, [pc, #208] ; (8060824 ) 8060754: 483a ldr r0, [pc, #232] ; (8060840 ) 8060756: f069 fd25 bl 80ca1a4 for(i = 0; i < len; i++) { 806075a: 2300 movs r3, #0 806075c: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8060760: e017 b.n 8060792 In[i] = (float32_t) Buff64[Ns + i]; 8060762: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8060766: 4a31 ldr r2, [pc, #196] ; (806082c ) 8060768: 6811 ldr r1, [r2, #0] 806076a: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 806076e: 440a add r2, r1 8060770: 492c ldr r1, [pc, #176] ; (8060824 ) 8060772: 00d2 lsls r2, r2, #3 8060774: 440a add r2, r1 8060776: ed92 7b00 vldr d7, [r2] 806077a: eef7 7bc7 vcvt.f32.f64 s15, d7 806077e: 4a2d ldr r2, [pc, #180] ; (8060834 ) 8060780: 009b lsls r3, r3, #2 8060782: 4413 add r3, r2 8060784: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 8060788: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 806078c: 3301 adds r3, #1 806078e: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8060792: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8060796: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 806079a: 429a cmp r2, r3 806079c: d3e1 bcc.n 8060762 } if(pardata.IVS[ACC] == RMS) 806079e: 4b26 ldr r3, [pc, #152] ; (8060838 ) 80607a0: 789b ldrb r3, [r3, #2] 80607a2: b2db uxtb r3, r3 80607a4: 2b01 cmp r3, #1 80607a6: d10e bne.n 80607c6 arm_rms_f32(In, len, &Third[k--]); 80607a8: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 80607ac: 1e5a subs r2, r3, #1 80607ae: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 80607b2: 463a mov r2, r7 80607b4: 009b lsls r3, r3, #2 80607b6: 4413 add r3, r2 80607b8: 461a mov r2, r3 80607ba: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 80607be: 481d ldr r0, [pc, #116] ; (8060834 ) 80607c0: f069 fb4e bl 80c9e60 80607c4: e053 b.n 806086e else { arm_min_f32(In, len, &fn[0], &i); 80607c6: f507 73e8 add.w r3, r7, #464 ; 0x1d0 80607ca: f507 72d8 add.w r2, r7, #432 ; 0x1b0 80607ce: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 80607d2: 4818 ldr r0, [pc, #96] ; (8060834 ) 80607d4: f069 fbd6 bl 80c9f84 arm_max_f32(In, len, &fn[1], &j); 80607d8: f507 71e6 add.w r1, r7, #460 ; 0x1cc 80607dc: f507 73d8 add.w r3, r7, #432 ; 0x1b0 80607e0: 1d1a adds r2, r3, #4 80607e2: 460b mov r3, r1 80607e4: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 80607e8: 4812 ldr r0, [pc, #72] ; (8060834 ) 80607ea: f069 fc67 bl 80ca0bc fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 80607ee: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 80607f2: eef5 7ac0 vcmpe.f32 s15, #0.0 80607f6: eef1 fa10 vmrs APSR_nzcv, fpscr 80607fa: dd02 ble.n 8060802 80607fc: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8060800: e003 b.n 806080a 8060802: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8060806: eef1 7a67 vneg.f32 s15, s15 806080a: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 806080e: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8060812: eef5 7ac0 vcmpe.f32 s15, #0.0 8060816: eef1 fa10 vmrs APSR_nzcv, fpscr 806081a: dd13 ble.n 8060844 806081c: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8060820: e014 b.n 806084c 8060822: bf00 nop 8060824: 20037ae0 .word 0x20037ae0 8060828: 20026020 .word 0x20026020 806082c: 20021cdc .word 0x20021cdc 8060830: 2002602c .word 0x2002602c 8060834: 200279c0 .word 0x200279c0 8060838: 20023e60 .word 0x20023e60 806083c: 20057be8 .word 0x20057be8 8060840: 200277a0 .word 0x200277a0 8060844: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8060848: eef1 7a67 vneg.f32 s15, s15 806084c: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Third[k--], &j); 8060850: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8060854: 1e5a subs r2, r3, #1 8060856: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 806085a: 463a mov r2, r7 806085c: 009b lsls r3, r3, #2 806085e: 441a add r2, r3 8060860: f507 73e6 add.w r3, r7, #460 ; 0x1cc 8060864: f507 70d8 add.w r0, r7, #432 ; 0x1b0 8060868: 2102 movs r1, #2 806086a: f069 fc27 bl 80ca0bc arm_biquad_cascade_df2T_f64(&S_LP_63, &Buff64[0], &Buff64[0], len); 806086e: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8060872: 4acf ldr r2, [pc, #828] ; (8060bb0 ) 8060874: 49ce ldr r1, [pc, #824] ; (8060bb0 ) 8060876: 48cf ldr r0, [pc, #828] ; (8060bb4 ) 8060878: f069 fc94 bl 80ca1a4 len >>= 1; 806087c: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8060880: 085b lsrs r3, r3, #1 8060882: f8c7 31e4 str.w r3, [r7, #484] ; 0x1e4 for(i = 0; i < len; i++) { 8060886: 2300 movs r3, #0 8060888: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 806088c: e012 b.n 80608b4 Buff64[i] = Buff64[i << 1]; 806088e: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8060892: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8060896: 005b lsls r3, r3, #1 8060898: 49c5 ldr r1, [pc, #788] ; (8060bb0 ) 806089a: 00db lsls r3, r3, #3 806089c: 440b add r3, r1 806089e: cb18 ldmia r3, {r3, r4} 80608a0: 49c3 ldr r1, [pc, #780] ; (8060bb0 ) 80608a2: 00d2 lsls r2, r2, #3 80608a4: 440a add r2, r1 80608a6: e882 0018 stmia.w r2, {r3, r4} for(i = 0; i < len; i++) { 80608aa: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80608ae: 3301 adds r3, #1 80608b0: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 80608b4: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80608b8: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 80608bc: 429a cmp r2, r3 80608be: d3e6 bcc.n 806088e } //** 80 arm_biquad_cascade_df2T_f64(&S_OKT_80Hz, &Buff64[0], &Buff64[Ns], len); 80608c0: 4bbd ldr r3, [pc, #756] ; (8060bb8 ) 80608c2: 681b ldr r3, [r3, #0] 80608c4: 00db lsls r3, r3, #3 80608c6: 4aba ldr r2, [pc, #744] ; (8060bb0 ) 80608c8: 441a add r2, r3 80608ca: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 80608ce: 49b8 ldr r1, [pc, #736] ; (8060bb0 ) 80608d0: 48ba ldr r0, [pc, #744] ; (8060bbc ) 80608d2: f069 fc67 bl 80ca1a4 for(i = 0; i < len; i++) { 80608d6: 2300 movs r3, #0 80608d8: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 80608dc: e017 b.n 806090e In[i] = (float32_t) Buff64[Ns + i]; 80608de: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80608e2: 4ab5 ldr r2, [pc, #724] ; (8060bb8 ) 80608e4: 6811 ldr r1, [r2, #0] 80608e6: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80608ea: 440a add r2, r1 80608ec: 49b0 ldr r1, [pc, #704] ; (8060bb0 ) 80608ee: 00d2 lsls r2, r2, #3 80608f0: 440a add r2, r1 80608f2: ed92 7b00 vldr d7, [r2] 80608f6: eef7 7bc7 vcvt.f32.f64 s15, d7 80608fa: 4ab1 ldr r2, [pc, #708] ; (8060bc0 ) 80608fc: 009b lsls r3, r3, #2 80608fe: 4413 add r3, r2 8060900: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 8060904: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8060908: 3301 adds r3, #1 806090a: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 806090e: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8060912: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8060916: 429a cmp r2, r3 8060918: d3e1 bcc.n 80608de } if(pardata.IVS[ACC] == RMS) 806091a: 4baa ldr r3, [pc, #680] ; (8060bc4 ) 806091c: 789b ldrb r3, [r3, #2] 806091e: b2db uxtb r3, r3 8060920: 2b01 cmp r3, #1 8060922: d10e bne.n 8060942 arm_rms_f32(In, len, &Third[k--]); 8060924: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8060928: 1e5a subs r2, r3, #1 806092a: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 806092e: 463a mov r2, r7 8060930: 009b lsls r3, r3, #2 8060932: 4413 add r3, r2 8060934: 461a mov r2, r3 8060936: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 806093a: 48a1 ldr r0, [pc, #644] ; (8060bc0 ) 806093c: f069 fa90 bl 80c9e60 8060940: e042 b.n 80609c8 else { arm_min_f32(In, len, &fn[0], &i); 8060942: f507 73e8 add.w r3, r7, #464 ; 0x1d0 8060946: f507 72d8 add.w r2, r7, #432 ; 0x1b0 806094a: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 806094e: 489c ldr r0, [pc, #624] ; (8060bc0 ) 8060950: f069 fb18 bl 80c9f84 arm_max_f32(In, len, &fn[1], &j); 8060954: f507 71e6 add.w r1, r7, #460 ; 0x1cc 8060958: f507 73d8 add.w r3, r7, #432 ; 0x1b0 806095c: 1d1a adds r2, r3, #4 806095e: 460b mov r3, r1 8060960: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8060964: 4896 ldr r0, [pc, #600] ; (8060bc0 ) 8060966: f069 fba9 bl 80ca0bc fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 806096a: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 806096e: eef5 7ac0 vcmpe.f32 s15, #0.0 8060972: eef1 fa10 vmrs APSR_nzcv, fpscr 8060976: dd02 ble.n 806097e 8060978: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 806097c: e003 b.n 8060986 806097e: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8060982: eef1 7a67 vneg.f32 s15, s15 8060986: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 806098a: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 806098e: eef5 7ac0 vcmpe.f32 s15, #0.0 8060992: eef1 fa10 vmrs APSR_nzcv, fpscr 8060996: dd02 ble.n 806099e 8060998: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 806099c: e003 b.n 80609a6 806099e: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 80609a2: eef1 7a67 vneg.f32 s15, s15 80609a6: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Third[k--], &j); 80609aa: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 80609ae: 1e5a subs r2, r3, #1 80609b0: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 80609b4: 463a mov r2, r7 80609b6: 009b lsls r3, r3, #2 80609b8: 441a add r2, r3 80609ba: f507 73e6 add.w r3, r7, #460 ; 0x1cc 80609be: f507 70d8 add.w r0, r7, #432 ; 0x1b0 80609c2: 2102 movs r1, #2 80609c4: f069 fb7a bl 80ca0bc } //** 63 arm_biquad_cascade_df2T_f64(&S_OKT_63Hz, &Buff64[0], &Buff64[Ns], len); 80609c8: 4b7b ldr r3, [pc, #492] ; (8060bb8 ) 80609ca: 681b ldr r3, [r3, #0] 80609cc: 00db lsls r3, r3, #3 80609ce: 4a78 ldr r2, [pc, #480] ; (8060bb0 ) 80609d0: 441a add r2, r3 80609d2: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 80609d6: 4976 ldr r1, [pc, #472] ; (8060bb0 ) 80609d8: 487b ldr r0, [pc, #492] ; (8060bc8 ) 80609da: f069 fbe3 bl 80ca1a4 for(i = 0; i < len; i++) { 80609de: 2300 movs r3, #0 80609e0: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 80609e4: e017 b.n 8060a16 In[i] = (float32_t) Buff64[Ns + i]; 80609e6: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80609ea: 4a73 ldr r2, [pc, #460] ; (8060bb8 ) 80609ec: 6811 ldr r1, [r2, #0] 80609ee: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80609f2: 440a add r2, r1 80609f4: 496e ldr r1, [pc, #440] ; (8060bb0 ) 80609f6: 00d2 lsls r2, r2, #3 80609f8: 440a add r2, r1 80609fa: ed92 7b00 vldr d7, [r2] 80609fe: eef7 7bc7 vcvt.f32.f64 s15, d7 8060a02: 4a6f ldr r2, [pc, #444] ; (8060bc0 ) 8060a04: 009b lsls r3, r3, #2 8060a06: 4413 add r3, r2 8060a08: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 8060a0c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8060a10: 3301 adds r3, #1 8060a12: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8060a16: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8060a1a: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8060a1e: 429a cmp r2, r3 8060a20: d3e1 bcc.n 80609e6 } if(pardata.IVS[ACC] == RMS) 8060a22: 4b68 ldr r3, [pc, #416] ; (8060bc4 ) 8060a24: 789b ldrb r3, [r3, #2] 8060a26: b2db uxtb r3, r3 8060a28: 2b01 cmp r3, #1 8060a2a: d10e bne.n 8060a4a arm_rms_f32(In, len, &Third[k--]); 8060a2c: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8060a30: 1e5a subs r2, r3, #1 8060a32: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 8060a36: 463a mov r2, r7 8060a38: 009b lsls r3, r3, #2 8060a3a: 4413 add r3, r2 8060a3c: 461a mov r2, r3 8060a3e: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8060a42: 485f ldr r0, [pc, #380] ; (8060bc0 ) 8060a44: f069 fa0c bl 80c9e60 8060a48: e042 b.n 8060ad0 else { arm_min_f32(In, len, &fn[0], &i); 8060a4a: f507 73e8 add.w r3, r7, #464 ; 0x1d0 8060a4e: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8060a52: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8060a56: 485a ldr r0, [pc, #360] ; (8060bc0 ) 8060a58: f069 fa94 bl 80c9f84 arm_max_f32(In, len, &fn[1], &j); 8060a5c: f507 71e6 add.w r1, r7, #460 ; 0x1cc 8060a60: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8060a64: 1d1a adds r2, r3, #4 8060a66: 460b mov r3, r1 8060a68: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8060a6c: 4854 ldr r0, [pc, #336] ; (8060bc0 ) 8060a6e: f069 fb25 bl 80ca0bc fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 8060a72: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8060a76: eef5 7ac0 vcmpe.f32 s15, #0.0 8060a7a: eef1 fa10 vmrs APSR_nzcv, fpscr 8060a7e: dd02 ble.n 8060a86 8060a80: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8060a84: e003 b.n 8060a8e 8060a86: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8060a8a: eef1 7a67 vneg.f32 s15, s15 8060a8e: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 8060a92: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8060a96: eef5 7ac0 vcmpe.f32 s15, #0.0 8060a9a: eef1 fa10 vmrs APSR_nzcv, fpscr 8060a9e: dd02 ble.n 8060aa6 8060aa0: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8060aa4: e003 b.n 8060aae 8060aa6: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8060aaa: eef1 7a67 vneg.f32 s15, s15 8060aae: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Third[k--], &j); 8060ab2: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8060ab6: 1e5a subs r2, r3, #1 8060ab8: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 8060abc: 463a mov r2, r7 8060abe: 009b lsls r3, r3, #2 8060ac0: 441a add r2, r3 8060ac2: f507 73e6 add.w r3, r7, #460 ; 0x1cc 8060ac6: f507 70d8 add.w r0, r7, #432 ; 0x1b0 8060aca: 2102 movs r1, #2 8060acc: f069 faf6 bl 80ca0bc } //** 50 arm_biquad_cascade_df2T_f64(&S_OKT_50Hz, &Buff64[0], &Buff64[Ns], len); 8060ad0: 4b39 ldr r3, [pc, #228] ; (8060bb8 ) 8060ad2: 681b ldr r3, [r3, #0] 8060ad4: 00db lsls r3, r3, #3 8060ad6: 4a36 ldr r2, [pc, #216] ; (8060bb0 ) 8060ad8: 441a add r2, r3 8060ada: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8060ade: 4934 ldr r1, [pc, #208] ; (8060bb0 ) 8060ae0: 483a ldr r0, [pc, #232] ; (8060bcc ) 8060ae2: f069 fb5f bl 80ca1a4 for(i = 0; i < len; i++) { 8060ae6: 2300 movs r3, #0 8060ae8: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8060aec: e017 b.n 8060b1e In[i] = (float32_t) Buff64[Ns + i]; 8060aee: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8060af2: 4a31 ldr r2, [pc, #196] ; (8060bb8 ) 8060af4: 6811 ldr r1, [r2, #0] 8060af6: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8060afa: 440a add r2, r1 8060afc: 492c ldr r1, [pc, #176] ; (8060bb0 ) 8060afe: 00d2 lsls r2, r2, #3 8060b00: 440a add r2, r1 8060b02: ed92 7b00 vldr d7, [r2] 8060b06: eef7 7bc7 vcvt.f32.f64 s15, d7 8060b0a: 4a2d ldr r2, [pc, #180] ; (8060bc0 ) 8060b0c: 009b lsls r3, r3, #2 8060b0e: 4413 add r3, r2 8060b10: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 8060b14: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8060b18: 3301 adds r3, #1 8060b1a: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8060b1e: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8060b22: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8060b26: 429a cmp r2, r3 8060b28: d3e1 bcc.n 8060aee } if(pardata.IVS[ACC] == RMS) 8060b2a: 4b26 ldr r3, [pc, #152] ; (8060bc4 ) 8060b2c: 789b ldrb r3, [r3, #2] 8060b2e: b2db uxtb r3, r3 8060b30: 2b01 cmp r3, #1 8060b32: d10e bne.n 8060b52 arm_rms_f32(In, len, &Third[k--]); 8060b34: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8060b38: 1e5a subs r2, r3, #1 8060b3a: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 8060b3e: 463a mov r2, r7 8060b40: 009b lsls r3, r3, #2 8060b42: 4413 add r3, r2 8060b44: 461a mov r2, r3 8060b46: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8060b4a: 481d ldr r0, [pc, #116] ; (8060bc0 ) 8060b4c: f069 f988 bl 80c9e60 8060b50: e053 b.n 8060bfa else { arm_min_f32(In, len, &fn[0], &i); 8060b52: f507 73e8 add.w r3, r7, #464 ; 0x1d0 8060b56: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8060b5a: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8060b5e: 4818 ldr r0, [pc, #96] ; (8060bc0 ) 8060b60: f069 fa10 bl 80c9f84 arm_max_f32(In, len, &fn[1], &j); 8060b64: f507 71e6 add.w r1, r7, #460 ; 0x1cc 8060b68: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8060b6c: 1d1a adds r2, r3, #4 8060b6e: 460b mov r3, r1 8060b70: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8060b74: 4812 ldr r0, [pc, #72] ; (8060bc0 ) 8060b76: f069 faa1 bl 80ca0bc fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 8060b7a: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8060b7e: eef5 7ac0 vcmpe.f32 s15, #0.0 8060b82: eef1 fa10 vmrs APSR_nzcv, fpscr 8060b86: dd02 ble.n 8060b8e 8060b88: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8060b8c: e003 b.n 8060b96 8060b8e: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8060b92: eef1 7a67 vneg.f32 s15, s15 8060b96: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 8060b9a: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8060b9e: eef5 7ac0 vcmpe.f32 s15, #0.0 8060ba2: eef1 fa10 vmrs APSR_nzcv, fpscr 8060ba6: dd13 ble.n 8060bd0 8060ba8: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8060bac: e014 b.n 8060bd8 8060bae: bf00 nop 8060bb0: 20037ae0 .word 0x20037ae0 8060bb4: 20026330 .word 0x20026330 8060bb8: 20021cdc .word 0x20021cdc 8060bbc: 200267ac .word 0x200267ac 8060bc0: 200279c0 .word 0x200279c0 8060bc4: 20023e60 .word 0x20023e60 8060bc8: 20057b44 .word 0x20057b44 8060bcc: 20057d84 .word 0x20057d84 8060bd0: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8060bd4: eef1 7a67 vneg.f32 s15, s15 8060bd8: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Third[k--], &j); 8060bdc: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8060be0: 1e5a subs r2, r3, #1 8060be2: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 8060be6: 463a mov r2, r7 8060be8: 009b lsls r3, r3, #2 8060bea: 441a add r2, r3 8060bec: f507 73e6 add.w r3, r7, #460 ; 0x1cc 8060bf0: f507 70d8 add.w r0, r7, #432 ; 0x1b0 8060bf4: 2102 movs r1, #2 8060bf6: f069 fa61 bl 80ca0bc } arm_biquad_cascade_df2T_f64(&S_LP_32, &Buff64[0], &Buff64[0], len); 8060bfa: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8060bfe: 4acf ldr r2, [pc, #828] ; (8060f3c ) 8060c00: 49ce ldr r1, [pc, #824] ; (8060f3c ) 8060c02: 48cf ldr r0, [pc, #828] ; (8060f40 ) 8060c04: f069 face bl 80ca1a4 len >>= 1; 8060c08: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8060c0c: 085b lsrs r3, r3, #1 8060c0e: f8c7 31e4 str.w r3, [r7, #484] ; 0x1e4 for(i = 0; i < len; i++) { 8060c12: 2300 movs r3, #0 8060c14: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8060c18: e012 b.n 8060c40 Buff64[i] = Buff64[i << 1]; 8060c1a: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8060c1e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8060c22: 005b lsls r3, r3, #1 8060c24: 49c5 ldr r1, [pc, #788] ; (8060f3c ) 8060c26: 00db lsls r3, r3, #3 8060c28: 440b add r3, r1 8060c2a: cb18 ldmia r3, {r3, r4} 8060c2c: 49c3 ldr r1, [pc, #780] ; (8060f3c ) 8060c2e: 00d2 lsls r2, r2, #3 8060c30: 440a add r2, r1 8060c32: e882 0018 stmia.w r2, {r3, r4} for(i = 0; i < len; i++) { 8060c36: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8060c3a: 3301 adds r3, #1 8060c3c: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8060c40: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8060c44: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8060c48: 429a cmp r2, r3 8060c4a: d3e6 bcc.n 8060c1a } //** 40 arm_biquad_cascade_df2T_f64(&S_OKT_40Hz, &Buff64[0], &Buff64[Ns], len); 8060c4c: 4bbd ldr r3, [pc, #756] ; (8060f44 ) 8060c4e: 681b ldr r3, [r3, #0] 8060c50: 00db lsls r3, r3, #3 8060c52: 4aba ldr r2, [pc, #744] ; (8060f3c ) 8060c54: 441a add r2, r3 8060c56: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8060c5a: 49b8 ldr r1, [pc, #736] ; (8060f3c ) 8060c5c: 48ba ldr r0, [pc, #744] ; (8060f48 ) 8060c5e: f069 faa1 bl 80ca1a4 for(i = 0; i < len; i++) { 8060c62: 2300 movs r3, #0 8060c64: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8060c68: e017 b.n 8060c9a In[i] = (float32_t) Buff64[Ns + i]; 8060c6a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8060c6e: 4ab5 ldr r2, [pc, #724] ; (8060f44 ) 8060c70: 6811 ldr r1, [r2, #0] 8060c72: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8060c76: 440a add r2, r1 8060c78: 49b0 ldr r1, [pc, #704] ; (8060f3c ) 8060c7a: 00d2 lsls r2, r2, #3 8060c7c: 440a add r2, r1 8060c7e: ed92 7b00 vldr d7, [r2] 8060c82: eef7 7bc7 vcvt.f32.f64 s15, d7 8060c86: 4ab1 ldr r2, [pc, #708] ; (8060f4c ) 8060c88: 009b lsls r3, r3, #2 8060c8a: 4413 add r3, r2 8060c8c: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 8060c90: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8060c94: 3301 adds r3, #1 8060c96: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8060c9a: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8060c9e: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8060ca2: 429a cmp r2, r3 8060ca4: d3e1 bcc.n 8060c6a } if(pardata.IVS[ACC] == RMS) 8060ca6: 4baa ldr r3, [pc, #680] ; (8060f50 ) 8060ca8: 789b ldrb r3, [r3, #2] 8060caa: b2db uxtb r3, r3 8060cac: 2b01 cmp r3, #1 8060cae: d10e bne.n 8060cce arm_rms_f32(In, len, &Third[k--]); 8060cb0: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8060cb4: 1e5a subs r2, r3, #1 8060cb6: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 8060cba: 463a mov r2, r7 8060cbc: 009b lsls r3, r3, #2 8060cbe: 4413 add r3, r2 8060cc0: 461a mov r2, r3 8060cc2: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8060cc6: 48a1 ldr r0, [pc, #644] ; (8060f4c ) 8060cc8: f069 f8ca bl 80c9e60 8060ccc: e042 b.n 8060d54 else { arm_min_f32(In, len, &fn[0], &i); 8060cce: f507 73e8 add.w r3, r7, #464 ; 0x1d0 8060cd2: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8060cd6: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8060cda: 489c ldr r0, [pc, #624] ; (8060f4c ) 8060cdc: f069 f952 bl 80c9f84 arm_max_f32(In, len, &fn[1], &j); 8060ce0: f507 71e6 add.w r1, r7, #460 ; 0x1cc 8060ce4: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8060ce8: 1d1a adds r2, r3, #4 8060cea: 460b mov r3, r1 8060cec: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8060cf0: 4896 ldr r0, [pc, #600] ; (8060f4c ) 8060cf2: f069 f9e3 bl 80ca0bc fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 8060cf6: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8060cfa: eef5 7ac0 vcmpe.f32 s15, #0.0 8060cfe: eef1 fa10 vmrs APSR_nzcv, fpscr 8060d02: dd02 ble.n 8060d0a 8060d04: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8060d08: e003 b.n 8060d12 8060d0a: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8060d0e: eef1 7a67 vneg.f32 s15, s15 8060d12: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 8060d16: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8060d1a: eef5 7ac0 vcmpe.f32 s15, #0.0 8060d1e: eef1 fa10 vmrs APSR_nzcv, fpscr 8060d22: dd02 ble.n 8060d2a 8060d24: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8060d28: e003 b.n 8060d32 8060d2a: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8060d2e: eef1 7a67 vneg.f32 s15, s15 8060d32: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Third[k--], &j); 8060d36: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8060d3a: 1e5a subs r2, r3, #1 8060d3c: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 8060d40: 463a mov r2, r7 8060d42: 009b lsls r3, r3, #2 8060d44: 441a add r2, r3 8060d46: f507 73e6 add.w r3, r7, #460 ; 0x1cc 8060d4a: f507 70d8 add.w r0, r7, #432 ; 0x1b0 8060d4e: 2102 movs r1, #2 8060d50: f069 f9b4 bl 80ca0bc } //** 31 arm_biquad_cascade_df2T_f64(&S_OKT_32Hz, &Buff64[0], &Buff64[Ns], len); 8060d54: 4b7b ldr r3, [pc, #492] ; (8060f44 ) 8060d56: 681b ldr r3, [r3, #0] 8060d58: 00db lsls r3, r3, #3 8060d5a: 4a78 ldr r2, [pc, #480] ; (8060f3c ) 8060d5c: 441a add r2, r3 8060d5e: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8060d62: 4976 ldr r1, [pc, #472] ; (8060f3c ) 8060d64: 487b ldr r0, [pc, #492] ; (8060f54 ) 8060d66: f069 fa1d bl 80ca1a4 for(i = 0; i < len; i++) { 8060d6a: 2300 movs r3, #0 8060d6c: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8060d70: e017 b.n 8060da2 In[i] = (float32_t) Buff64[Ns + i]; 8060d72: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8060d76: 4a73 ldr r2, [pc, #460] ; (8060f44 ) 8060d78: 6811 ldr r1, [r2, #0] 8060d7a: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8060d7e: 440a add r2, r1 8060d80: 496e ldr r1, [pc, #440] ; (8060f3c ) 8060d82: 00d2 lsls r2, r2, #3 8060d84: 440a add r2, r1 8060d86: ed92 7b00 vldr d7, [r2] 8060d8a: eef7 7bc7 vcvt.f32.f64 s15, d7 8060d8e: 4a6f ldr r2, [pc, #444] ; (8060f4c ) 8060d90: 009b lsls r3, r3, #2 8060d92: 4413 add r3, r2 8060d94: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 8060d98: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8060d9c: 3301 adds r3, #1 8060d9e: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8060da2: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8060da6: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8060daa: 429a cmp r2, r3 8060dac: d3e1 bcc.n 8060d72 } if(pardata.IVS[ACC] == RMS) 8060dae: 4b68 ldr r3, [pc, #416] ; (8060f50 ) 8060db0: 789b ldrb r3, [r3, #2] 8060db2: b2db uxtb r3, r3 8060db4: 2b01 cmp r3, #1 8060db6: d10e bne.n 8060dd6 arm_rms_f32(In, len, &Third[k--]); 8060db8: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8060dbc: 1e5a subs r2, r3, #1 8060dbe: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 8060dc2: 463a mov r2, r7 8060dc4: 009b lsls r3, r3, #2 8060dc6: 4413 add r3, r2 8060dc8: 461a mov r2, r3 8060dca: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8060dce: 485f ldr r0, [pc, #380] ; (8060f4c ) 8060dd0: f069 f846 bl 80c9e60 8060dd4: e042 b.n 8060e5c else { arm_min_f32(In, len, &fn[0], &i); 8060dd6: f507 73e8 add.w r3, r7, #464 ; 0x1d0 8060dda: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8060dde: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8060de2: 485a ldr r0, [pc, #360] ; (8060f4c ) 8060de4: f069 f8ce bl 80c9f84 arm_max_f32(In, len, &fn[1], &j); 8060de8: f507 71e6 add.w r1, r7, #460 ; 0x1cc 8060dec: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8060df0: 1d1a adds r2, r3, #4 8060df2: 460b mov r3, r1 8060df4: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8060df8: 4854 ldr r0, [pc, #336] ; (8060f4c ) 8060dfa: f069 f95f bl 80ca0bc fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 8060dfe: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8060e02: eef5 7ac0 vcmpe.f32 s15, #0.0 8060e06: eef1 fa10 vmrs APSR_nzcv, fpscr 8060e0a: dd02 ble.n 8060e12 8060e0c: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8060e10: e003 b.n 8060e1a 8060e12: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8060e16: eef1 7a67 vneg.f32 s15, s15 8060e1a: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 8060e1e: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8060e22: eef5 7ac0 vcmpe.f32 s15, #0.0 8060e26: eef1 fa10 vmrs APSR_nzcv, fpscr 8060e2a: dd02 ble.n 8060e32 8060e2c: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8060e30: e003 b.n 8060e3a 8060e32: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8060e36: eef1 7a67 vneg.f32 s15, s15 8060e3a: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Third[k--], &j); 8060e3e: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8060e42: 1e5a subs r2, r3, #1 8060e44: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 8060e48: 463a mov r2, r7 8060e4a: 009b lsls r3, r3, #2 8060e4c: 441a add r2, r3 8060e4e: f507 73e6 add.w r3, r7, #460 ; 0x1cc 8060e52: f507 70d8 add.w r0, r7, #432 ; 0x1b0 8060e56: 2102 movs r1, #2 8060e58: f069 f930 bl 80ca0bc } //** 25 arm_biquad_cascade_df2T_f64(&S_OKT_25Hz, &Buff64[0], &Buff64[Ns], len); 8060e5c: 4b39 ldr r3, [pc, #228] ; (8060f44 ) 8060e5e: 681b ldr r3, [r3, #0] 8060e60: 00db lsls r3, r3, #3 8060e62: 4a36 ldr r2, [pc, #216] ; (8060f3c ) 8060e64: 441a add r2, r3 8060e66: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8060e6a: 4934 ldr r1, [pc, #208] ; (8060f3c ) 8060e6c: 483a ldr r0, [pc, #232] ; (8060f58 ) 8060e6e: f069 f999 bl 80ca1a4 for(i = 0; i < len; i++) { 8060e72: 2300 movs r3, #0 8060e74: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8060e78: e017 b.n 8060eaa In[i] = (float32_t) Buff64[Ns + i]; 8060e7a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8060e7e: 4a31 ldr r2, [pc, #196] ; (8060f44 ) 8060e80: 6811 ldr r1, [r2, #0] 8060e82: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8060e86: 440a add r2, r1 8060e88: 492c ldr r1, [pc, #176] ; (8060f3c ) 8060e8a: 00d2 lsls r2, r2, #3 8060e8c: 440a add r2, r1 8060e8e: ed92 7b00 vldr d7, [r2] 8060e92: eef7 7bc7 vcvt.f32.f64 s15, d7 8060e96: 4a2d ldr r2, [pc, #180] ; (8060f4c ) 8060e98: 009b lsls r3, r3, #2 8060e9a: 4413 add r3, r2 8060e9c: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 8060ea0: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8060ea4: 3301 adds r3, #1 8060ea6: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8060eaa: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8060eae: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8060eb2: 429a cmp r2, r3 8060eb4: d3e1 bcc.n 8060e7a } if(pardata.IVS[ACC] == RMS) 8060eb6: 4b26 ldr r3, [pc, #152] ; (8060f50 ) 8060eb8: 789b ldrb r3, [r3, #2] 8060eba: b2db uxtb r3, r3 8060ebc: 2b01 cmp r3, #1 8060ebe: d10e bne.n 8060ede arm_rms_f32(In, len, &Third[k--]); 8060ec0: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8060ec4: 1e5a subs r2, r3, #1 8060ec6: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 8060eca: 463a mov r2, r7 8060ecc: 009b lsls r3, r3, #2 8060ece: 4413 add r3, r2 8060ed0: 461a mov r2, r3 8060ed2: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8060ed6: 481d ldr r0, [pc, #116] ; (8060f4c ) 8060ed8: f068 ffc2 bl 80c9e60 8060edc: e053 b.n 8060f86 else { arm_min_f32(In, len, &fn[0], &i); 8060ede: f507 73e8 add.w r3, r7, #464 ; 0x1d0 8060ee2: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8060ee6: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8060eea: 4818 ldr r0, [pc, #96] ; (8060f4c ) 8060eec: f069 f84a bl 80c9f84 arm_max_f32(In, len, &fn[1], &j); 8060ef0: f507 71e6 add.w r1, r7, #460 ; 0x1cc 8060ef4: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8060ef8: 1d1a adds r2, r3, #4 8060efa: 460b mov r3, r1 8060efc: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8060f00: 4812 ldr r0, [pc, #72] ; (8060f4c ) 8060f02: f069 f8db bl 80ca0bc fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 8060f06: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8060f0a: eef5 7ac0 vcmpe.f32 s15, #0.0 8060f0e: eef1 fa10 vmrs APSR_nzcv, fpscr 8060f12: dd02 ble.n 8060f1a 8060f14: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8060f18: e003 b.n 8060f22 8060f1a: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8060f1e: eef1 7a67 vneg.f32 s15, s15 8060f22: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 8060f26: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8060f2a: eef5 7ac0 vcmpe.f32 s15, #0.0 8060f2e: eef1 fa10 vmrs APSR_nzcv, fpscr 8060f32: dd13 ble.n 8060f5c 8060f34: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8060f38: e014 b.n 8060f64 8060f3a: bf00 nop 8060f3c: 20037ae0 .word 0x20037ae0 8060f40: 200278b8 .word 0x200278b8 8060f44: 20021cdc .word 0x20021cdc 8060f48: 20026610 .word 0x20026610 8060f4c: 200279c0 .word 0x200279c0 8060f50: 20023e60 .word 0x20023e60 8060f54: 20057f54 .word 0x20057f54 8060f58: 20026da0 .word 0x20026da0 8060f5c: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8060f60: eef1 7a67 vneg.f32 s15, s15 8060f64: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Third[k--], &j); 8060f68: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8060f6c: 1e5a subs r2, r3, #1 8060f6e: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 8060f72: 463a mov r2, r7 8060f74: 009b lsls r3, r3, #2 8060f76: 441a add r2, r3 8060f78: f507 73e6 add.w r3, r7, #460 ; 0x1cc 8060f7c: f507 70d8 add.w r0, r7, #432 ; 0x1b0 8060f80: 2102 movs r1, #2 8060f82: f069 f89b bl 80ca0bc } arm_biquad_cascade_df2T_f64(&S_LP_16, &Buff64[0], &Buff64[0], len); 8060f86: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8060f8a: 4acf ldr r2, [pc, #828] ; (80612c8 ) 8060f8c: 49ce ldr r1, [pc, #824] ; (80612c8 ) 8060f8e: 48cf ldr r0, [pc, #828] ; (80612cc ) 8060f90: f069 f908 bl 80ca1a4 len >>= 1; 8060f94: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8060f98: 085b lsrs r3, r3, #1 8060f9a: f8c7 31e4 str.w r3, [r7, #484] ; 0x1e4 for(i = 0; i < len; i++) { 8060f9e: 2300 movs r3, #0 8060fa0: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8060fa4: e012 b.n 8060fcc Buff64[i] = Buff64[i << 1]; 8060fa6: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8060faa: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8060fae: 005b lsls r3, r3, #1 8060fb0: 49c5 ldr r1, [pc, #788] ; (80612c8 ) 8060fb2: 00db lsls r3, r3, #3 8060fb4: 440b add r3, r1 8060fb6: cb18 ldmia r3, {r3, r4} 8060fb8: 49c3 ldr r1, [pc, #780] ; (80612c8 ) 8060fba: 00d2 lsls r2, r2, #3 8060fbc: 440a add r2, r1 8060fbe: e882 0018 stmia.w r2, {r3, r4} for(i = 0; i < len; i++) { 8060fc2: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8060fc6: 3301 adds r3, #1 8060fc8: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8060fcc: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8060fd0: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8060fd4: 429a cmp r2, r3 8060fd6: d3e6 bcc.n 8060fa6 } //** 20 arm_biquad_cascade_df2T_f64(&S_OKT_20Hz, &Buff64[0], &Buff64[Ns], len); 8060fd8: 4bbd ldr r3, [pc, #756] ; (80612d0 ) 8060fda: 681b ldr r3, [r3, #0] 8060fdc: 00db lsls r3, r3, #3 8060fde: 4aba ldr r2, [pc, #744] ; (80612c8 ) 8060fe0: 441a add r2, r3 8060fe2: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8060fe6: 49b8 ldr r1, [pc, #736] ; (80612c8 ) 8060fe8: 48ba ldr r0, [pc, #744] ; (80612d4 ) 8060fea: f069 f8db bl 80ca1a4 for(i = 0; i < len; i++) { 8060fee: 2300 movs r3, #0 8060ff0: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8060ff4: e017 b.n 8061026 In[i] = (float32_t) Buff64[Ns + i]; 8060ff6: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8060ffa: 4ab5 ldr r2, [pc, #724] ; (80612d0 ) 8060ffc: 6811 ldr r1, [r2, #0] 8060ffe: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8061002: 440a add r2, r1 8061004: 49b0 ldr r1, [pc, #704] ; (80612c8 ) 8061006: 00d2 lsls r2, r2, #3 8061008: 440a add r2, r1 806100a: ed92 7b00 vldr d7, [r2] 806100e: eef7 7bc7 vcvt.f32.f64 s15, d7 8061012: 4ab1 ldr r2, [pc, #708] ; (80612d8 ) 8061014: 009b lsls r3, r3, #2 8061016: 4413 add r3, r2 8061018: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 806101c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8061020: 3301 adds r3, #1 8061022: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8061026: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 806102a: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 806102e: 429a cmp r2, r3 8061030: d3e1 bcc.n 8060ff6 } if(pardata.IVS[ACC] == RMS) 8061032: 4baa ldr r3, [pc, #680] ; (80612dc ) 8061034: 789b ldrb r3, [r3, #2] 8061036: b2db uxtb r3, r3 8061038: 2b01 cmp r3, #1 806103a: d10e bne.n 806105a arm_rms_f32(In, len, &Third[k--]); 806103c: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8061040: 1e5a subs r2, r3, #1 8061042: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 8061046: 463a mov r2, r7 8061048: 009b lsls r3, r3, #2 806104a: 4413 add r3, r2 806104c: 461a mov r2, r3 806104e: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8061052: 48a1 ldr r0, [pc, #644] ; (80612d8 ) 8061054: f068 ff04 bl 80c9e60 8061058: e042 b.n 80610e0 else { arm_min_f32(In, len, &fn[0], &i); 806105a: f507 73e8 add.w r3, r7, #464 ; 0x1d0 806105e: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8061062: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8061066: 489c ldr r0, [pc, #624] ; (80612d8 ) 8061068: f068 ff8c bl 80c9f84 arm_max_f32(In, len, &fn[1], &j); 806106c: f507 71e6 add.w r1, r7, #460 ; 0x1cc 8061070: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8061074: 1d1a adds r2, r3, #4 8061076: 460b mov r3, r1 8061078: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 806107c: 4896 ldr r0, [pc, #600] ; (80612d8 ) 806107e: f069 f81d bl 80ca0bc fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 8061082: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8061086: eef5 7ac0 vcmpe.f32 s15, #0.0 806108a: eef1 fa10 vmrs APSR_nzcv, fpscr 806108e: dd02 ble.n 8061096 8061090: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8061094: e003 b.n 806109e 8061096: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 806109a: eef1 7a67 vneg.f32 s15, s15 806109e: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 80610a2: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 80610a6: eef5 7ac0 vcmpe.f32 s15, #0.0 80610aa: eef1 fa10 vmrs APSR_nzcv, fpscr 80610ae: dd02 ble.n 80610b6 80610b0: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 80610b4: e003 b.n 80610be 80610b6: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 80610ba: eef1 7a67 vneg.f32 s15, s15 80610be: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Third[k--], &j); 80610c2: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 80610c6: 1e5a subs r2, r3, #1 80610c8: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 80610cc: 463a mov r2, r7 80610ce: 009b lsls r3, r3, #2 80610d0: 441a add r2, r3 80610d2: f507 73e6 add.w r3, r7, #460 ; 0x1cc 80610d6: f507 70d8 add.w r0, r7, #432 ; 0x1b0 80610da: 2102 movs r1, #2 80610dc: f068 ffee bl 80ca0bc } //** 16 arm_biquad_cascade_df2T_f64(&S_OKT_16Hz, &Buff64[0], &Buff64[Ns], len); 80610e0: 4b7b ldr r3, [pc, #492] ; (80612d0 ) 80610e2: 681b ldr r3, [r3, #0] 80610e4: 00db lsls r3, r3, #3 80610e6: 4a78 ldr r2, [pc, #480] ; (80612c8 ) 80610e8: 441a add r2, r3 80610ea: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 80610ee: 4976 ldr r1, [pc, #472] ; (80612c8 ) 80610f0: 487b ldr r0, [pc, #492] ; (80612e0 ) 80610f2: f069 f857 bl 80ca1a4 for(i = 0; i < len; i++) { 80610f6: 2300 movs r3, #0 80610f8: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 80610fc: e017 b.n 806112e In[i] = (float32_t) Buff64[Ns + i]; 80610fe: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8061102: 4a73 ldr r2, [pc, #460] ; (80612d0 ) 8061104: 6811 ldr r1, [r2, #0] 8061106: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 806110a: 440a add r2, r1 806110c: 496e ldr r1, [pc, #440] ; (80612c8 ) 806110e: 00d2 lsls r2, r2, #3 8061110: 440a add r2, r1 8061112: ed92 7b00 vldr d7, [r2] 8061116: eef7 7bc7 vcvt.f32.f64 s15, d7 806111a: 4a6f ldr r2, [pc, #444] ; (80612d8 ) 806111c: 009b lsls r3, r3, #2 806111e: 4413 add r3, r2 8061120: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 8061124: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8061128: 3301 adds r3, #1 806112a: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 806112e: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8061132: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8061136: 429a cmp r2, r3 8061138: d3e1 bcc.n 80610fe } if(pardata.IVS[ACC] == RMS) 806113a: 4b68 ldr r3, [pc, #416] ; (80612dc ) 806113c: 789b ldrb r3, [r3, #2] 806113e: b2db uxtb r3, r3 8061140: 2b01 cmp r3, #1 8061142: d10e bne.n 8061162 arm_rms_f32(In, len, &Third[k--]); 8061144: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8061148: 1e5a subs r2, r3, #1 806114a: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 806114e: 463a mov r2, r7 8061150: 009b lsls r3, r3, #2 8061152: 4413 add r3, r2 8061154: 461a mov r2, r3 8061156: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 806115a: 485f ldr r0, [pc, #380] ; (80612d8 ) 806115c: f068 fe80 bl 80c9e60 8061160: e042 b.n 80611e8 else { arm_min_f32(In, len, &fn[0], &i); 8061162: f507 73e8 add.w r3, r7, #464 ; 0x1d0 8061166: f507 72d8 add.w r2, r7, #432 ; 0x1b0 806116a: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 806116e: 485a ldr r0, [pc, #360] ; (80612d8 ) 8061170: f068 ff08 bl 80c9f84 arm_max_f32(In, len, &fn[1], &j); 8061174: f507 71e6 add.w r1, r7, #460 ; 0x1cc 8061178: f507 73d8 add.w r3, r7, #432 ; 0x1b0 806117c: 1d1a adds r2, r3, #4 806117e: 460b mov r3, r1 8061180: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8061184: 4854 ldr r0, [pc, #336] ; (80612d8 ) 8061186: f068 ff99 bl 80ca0bc fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 806118a: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 806118e: eef5 7ac0 vcmpe.f32 s15, #0.0 8061192: eef1 fa10 vmrs APSR_nzcv, fpscr 8061196: dd02 ble.n 806119e 8061198: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 806119c: e003 b.n 80611a6 806119e: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 80611a2: eef1 7a67 vneg.f32 s15, s15 80611a6: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 80611aa: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 80611ae: eef5 7ac0 vcmpe.f32 s15, #0.0 80611b2: eef1 fa10 vmrs APSR_nzcv, fpscr 80611b6: dd02 ble.n 80611be 80611b8: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 80611bc: e003 b.n 80611c6 80611be: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 80611c2: eef1 7a67 vneg.f32 s15, s15 80611c6: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Third[k--], &j); 80611ca: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 80611ce: 1e5a subs r2, r3, #1 80611d0: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 80611d4: 463a mov r2, r7 80611d6: 009b lsls r3, r3, #2 80611d8: 441a add r2, r3 80611da: f507 73e6 add.w r3, r7, #460 ; 0x1cc 80611de: f507 70d8 add.w r0, r7, #432 ; 0x1b0 80611e2: 2102 movs r1, #2 80611e4: f068 ff6a bl 80ca0bc } //** 12,5 arm_biquad_cascade_df2T_f64(&S_OKT_12_5Hz, &Buff64[0], &Buff64[Ns], len); 80611e8: 4b39 ldr r3, [pc, #228] ; (80612d0 ) 80611ea: 681b ldr r3, [r3, #0] 80611ec: 00db lsls r3, r3, #3 80611ee: 4a36 ldr r2, [pc, #216] ; (80612c8 ) 80611f0: 441a add r2, r3 80611f2: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 80611f6: 4934 ldr r1, [pc, #208] ; (80612c8 ) 80611f8: 483a ldr r0, [pc, #232] ; (80612e4 ) 80611fa: f068 ffd3 bl 80ca1a4 for(i = 0; i < len; i++) { 80611fe: 2300 movs r3, #0 8061200: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8061204: e017 b.n 8061236 In[i] = (float32_t) Buff64[Ns + i]; 8061206: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 806120a: 4a31 ldr r2, [pc, #196] ; (80612d0 ) 806120c: 6811 ldr r1, [r2, #0] 806120e: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8061212: 440a add r2, r1 8061214: 492c ldr r1, [pc, #176] ; (80612c8 ) 8061216: 00d2 lsls r2, r2, #3 8061218: 440a add r2, r1 806121a: ed92 7b00 vldr d7, [r2] 806121e: eef7 7bc7 vcvt.f32.f64 s15, d7 8061222: 4a2d ldr r2, [pc, #180] ; (80612d8 ) 8061224: 009b lsls r3, r3, #2 8061226: 4413 add r3, r2 8061228: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 806122c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8061230: 3301 adds r3, #1 8061232: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8061236: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 806123a: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 806123e: 429a cmp r2, r3 8061240: d3e1 bcc.n 8061206 } if(pardata.IVS[ACC] == RMS) 8061242: 4b26 ldr r3, [pc, #152] ; (80612dc ) 8061244: 789b ldrb r3, [r3, #2] 8061246: b2db uxtb r3, r3 8061248: 2b01 cmp r3, #1 806124a: d10e bne.n 806126a arm_rms_f32(In, len, &Third[k--]); 806124c: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8061250: 1e5a subs r2, r3, #1 8061252: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 8061256: 463a mov r2, r7 8061258: 009b lsls r3, r3, #2 806125a: 4413 add r3, r2 806125c: 461a mov r2, r3 806125e: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8061262: 481d ldr r0, [pc, #116] ; (80612d8 ) 8061264: f068 fdfc bl 80c9e60 8061268: e053 b.n 8061312 else { arm_min_f32(In, len, &fn[0], &i); 806126a: f507 73e8 add.w r3, r7, #464 ; 0x1d0 806126e: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8061272: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8061276: 4818 ldr r0, [pc, #96] ; (80612d8 ) 8061278: f068 fe84 bl 80c9f84 arm_max_f32(In, len, &fn[1], &j); 806127c: f507 71e6 add.w r1, r7, #460 ; 0x1cc 8061280: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8061284: 1d1a adds r2, r3, #4 8061286: 460b mov r3, r1 8061288: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 806128c: 4812 ldr r0, [pc, #72] ; (80612d8 ) 806128e: f068 ff15 bl 80ca0bc fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 8061292: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8061296: eef5 7ac0 vcmpe.f32 s15, #0.0 806129a: eef1 fa10 vmrs APSR_nzcv, fpscr 806129e: dd02 ble.n 80612a6 80612a0: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 80612a4: e003 b.n 80612ae 80612a6: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 80612aa: eef1 7a67 vneg.f32 s15, s15 80612ae: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 80612b2: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 80612b6: eef5 7ac0 vcmpe.f32 s15, #0.0 80612ba: eef1 fa10 vmrs APSR_nzcv, fpscr 80612be: dd13 ble.n 80612e8 80612c0: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 80612c4: e014 b.n 80612f0 80612c6: bf00 nop 80612c8: 20037ae0 .word 0x20037ae0 80612cc: 20026a68 .word 0x20026a68 80612d0: 20021cdc .word 0x20021cdc 80612d4: 20025fe0 .word 0x20025fe0 80612d8: 200279c0 .word 0x200279c0 80612dc: 20023e60 .word 0x20023e60 80612e0: 20026bc8 .word 0x20026bc8 80612e4: 20057b38 .word 0x20057b38 80612e8: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 80612ec: eef1 7a67 vneg.f32 s15, s15 80612f0: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Third[k--], &j); 80612f4: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 80612f8: 1e5a subs r2, r3, #1 80612fa: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 80612fe: 463a mov r2, r7 8061300: 009b lsls r3, r3, #2 8061302: 441a add r2, r3 8061304: f507 73e6 add.w r3, r7, #460 ; 0x1cc 8061308: f507 70d8 add.w r0, r7, #432 ; 0x1b0 806130c: 2102 movs r1, #2 806130e: f068 fed5 bl 80ca0bc } cntOkt++; 8061312: 4bc9 ldr r3, [pc, #804] ; (8061638 ) 8061314: 681b ldr r3, [r3, #0] 8061316: 3301 adds r3, #1 8061318: 4ac7 ldr r2, [pc, #796] ; (8061638 ) 806131a: 6013 str r3, [r2, #0] arm_biquad_cascade_df2T_f64(&S_LP_8, &Buff64[0], &Buff64[0], len); 806131c: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8061320: 4ac6 ldr r2, [pc, #792] ; (806163c ) 8061322: 49c6 ldr r1, [pc, #792] ; (806163c ) 8061324: 48c6 ldr r0, [pc, #792] ; (8061640 ) 8061326: f068 ff3d bl 80ca1a4 len >>= 1; 806132a: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 806132e: 085b lsrs r3, r3, #1 8061330: f8c7 31e4 str.w r3, [r7, #484] ; 0x1e4 for(i = 0; i < len; i++) { 8061334: 2300 movs r3, #0 8061336: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 806133a: e012 b.n 8061362 Buff64[i] = Buff64[i << 1]; 806133c: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8061340: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8061344: 005b lsls r3, r3, #1 8061346: 49bd ldr r1, [pc, #756] ; (806163c ) 8061348: 00db lsls r3, r3, #3 806134a: 440b add r3, r1 806134c: cb18 ldmia r3, {r3, r4} 806134e: 49bb ldr r1, [pc, #748] ; (806163c ) 8061350: 00d2 lsls r2, r2, #3 8061352: 440a add r2, r1 8061354: e882 0018 stmia.w r2, {r3, r4} for(i = 0; i < len; i++) { 8061358: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 806135c: 3301 adds r3, #1 806135e: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8061362: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8061366: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 806136a: 429a cmp r2, r3 806136c: d3e6 bcc.n 806133c } //** 10 arm_biquad_cascade_df2T_f64(&S_OKT_10Hz, &Buff64[0], &Buff64[Ns], len); 806136e: 4bb5 ldr r3, [pc, #724] ; (8061644 ) 8061370: 681b ldr r3, [r3, #0] 8061372: 00db lsls r3, r3, #3 8061374: 4ab1 ldr r2, [pc, #708] ; (806163c ) 8061376: 441a add r2, r3 8061378: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 806137c: 49af ldr r1, [pc, #700] ; (806163c ) 806137e: 48b2 ldr r0, [pc, #712] ; (8061648 ) 8061380: f068 ff10 bl 80ca1a4 for(i = 0; i < len; i++) { 8061384: 2300 movs r3, #0 8061386: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 806138a: e017 b.n 80613bc In[i] = (float32_t) Buff64[Ns + i]; 806138c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8061390: 4aac ldr r2, [pc, #688] ; (8061644 ) 8061392: 6811 ldr r1, [r2, #0] 8061394: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8061398: 440a add r2, r1 806139a: 49a8 ldr r1, [pc, #672] ; (806163c ) 806139c: 00d2 lsls r2, r2, #3 806139e: 440a add r2, r1 80613a0: ed92 7b00 vldr d7, [r2] 80613a4: eef7 7bc7 vcvt.f32.f64 s15, d7 80613a8: 4aa8 ldr r2, [pc, #672] ; (806164c ) 80613aa: 009b lsls r3, r3, #2 80613ac: 4413 add r3, r2 80613ae: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 80613b2: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80613b6: 3301 adds r3, #1 80613b8: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 80613bc: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80613c0: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 80613c4: 429a cmp r2, r3 80613c6: d3e1 bcc.n 806138c } if(pardata.IVS[ACC] == RMS) 80613c8: 4ba1 ldr r3, [pc, #644] ; (8061650 ) 80613ca: 789b ldrb r3, [r3, #2] 80613cc: b2db uxtb r3, r3 80613ce: 2b01 cmp r3, #1 80613d0: d112 bne.n 80613f8 { arm_power_f32(In, len, &fl); 80613d2: f507 73de add.w r3, r7, #444 ; 0x1bc 80613d6: 461a mov r2, r3 80613d8: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 80613dc: 489b ldr r0, [pc, #620] ; (806164c ) 80613de: f068 fd97 bl 80c9f10 rms10 += fl; 80613e2: 4b9c ldr r3, [pc, #624] ; (8061654 ) 80613e4: ed93 7a00 vldr s14, [r3] 80613e8: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 80613ec: ee77 7a27 vadd.f32 s15, s14, s15 80613f0: 4b98 ldr r3, [pc, #608] ; (8061654 ) 80613f2: edc3 7a00 vstr s15, [r3] 80613f6: e04a b.n 806148e } else { arm_min_f32(In, len, &fn[0], &i); 80613f8: f507 73e8 add.w r3, r7, #464 ; 0x1d0 80613fc: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8061400: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8061404: 4891 ldr r0, [pc, #580] ; (806164c ) 8061406: f068 fdbd bl 80c9f84 arm_max_f32(In, len, &fn[1], &j); 806140a: f507 71e6 add.w r1, r7, #460 ; 0x1cc 806140e: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8061412: 1d1a adds r2, r3, #4 8061414: 460b mov r3, r1 8061416: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 806141a: 488c ldr r0, [pc, #560] ; (806164c ) 806141c: f068 fe4e bl 80ca0bc fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 8061420: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8061424: eef5 7ac0 vcmpe.f32 s15, #0.0 8061428: eef1 fa10 vmrs APSR_nzcv, fpscr 806142c: dd02 ble.n 8061434 806142e: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8061432: e003 b.n 806143c 8061434: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8061438: eef1 7a67 vneg.f32 s15, s15 806143c: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 8061440: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8061444: eef5 7ac0 vcmpe.f32 s15, #0.0 8061448: eef1 fa10 vmrs APSR_nzcv, fpscr 806144c: dd02 ble.n 8061454 806144e: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8061452: e003 b.n 806145c 8061454: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8061458: eef1 7a67 vneg.f32 s15, s15 806145c: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &fl, &j); 8061460: f507 73e6 add.w r3, r7, #460 ; 0x1cc 8061464: f507 72de add.w r2, r7, #444 ; 0x1bc 8061468: f507 70d8 add.w r0, r7, #432 ; 0x1b0 806146c: 2102 movs r1, #2 806146e: f068 fe25 bl 80ca0bc if(fl > rms10) 8061472: ed97 7a6f vldr s14, [r7, #444] ; 0x1bc 8061476: 4b77 ldr r3, [pc, #476] ; (8061654 ) 8061478: edd3 7a00 vldr s15, [r3] 806147c: eeb4 7ae7 vcmpe.f32 s14, s15 8061480: eef1 fa10 vmrs APSR_nzcv, fpscr 8061484: dd03 ble.n 806148e rms10 = fl; 8061486: f8d7 31bc ldr.w r3, [r7, #444] ; 0x1bc 806148a: 4a72 ldr r2, [pc, #456] ; (8061654 ) 806148c: 6013 str r3, [r2, #0] } //** 8 arm_biquad_cascade_df2T_f64(&S_OKT_8Hz, &Buff64[0], &Buff64[Ns], len); 806148e: 4b6d ldr r3, [pc, #436] ; (8061644 ) 8061490: 681b ldr r3, [r3, #0] 8061492: 00db lsls r3, r3, #3 8061494: 4a69 ldr r2, [pc, #420] ; (806163c ) 8061496: 441a add r2, r3 8061498: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 806149c: 4967 ldr r1, [pc, #412] ; (806163c ) 806149e: 486e ldr r0, [pc, #440] ; (8061658 ) 80614a0: f068 fe80 bl 80ca1a4 for(i = 0; i < len; i++) { 80614a4: 2300 movs r3, #0 80614a6: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 80614aa: e017 b.n 80614dc In[i] = (float32_t) Buff64[Ns + i]; 80614ac: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80614b0: 4a64 ldr r2, [pc, #400] ; (8061644 ) 80614b2: 6811 ldr r1, [r2, #0] 80614b4: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80614b8: 440a add r2, r1 80614ba: 4960 ldr r1, [pc, #384] ; (806163c ) 80614bc: 00d2 lsls r2, r2, #3 80614be: 440a add r2, r1 80614c0: ed92 7b00 vldr d7, [r2] 80614c4: eef7 7bc7 vcvt.f32.f64 s15, d7 80614c8: 4a60 ldr r2, [pc, #384] ; (806164c ) 80614ca: 009b lsls r3, r3, #2 80614cc: 4413 add r3, r2 80614ce: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 80614d2: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80614d6: 3301 adds r3, #1 80614d8: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 80614dc: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80614e0: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 80614e4: 429a cmp r2, r3 80614e6: d3e1 bcc.n 80614ac } if(pardata.IVS[ACC] == RMS) 80614e8: 4b59 ldr r3, [pc, #356] ; (8061650 ) 80614ea: 789b ldrb r3, [r3, #2] 80614ec: b2db uxtb r3, r3 80614ee: 2b01 cmp r3, #1 80614f0: d112 bne.n 8061518 { arm_power_f32(In, len, &fl); 80614f2: f507 73de add.w r3, r7, #444 ; 0x1bc 80614f6: 461a mov r2, r3 80614f8: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 80614fc: 4853 ldr r0, [pc, #332] ; (806164c ) 80614fe: f068 fd07 bl 80c9f10 rms8 += fl; 8061502: 4b56 ldr r3, [pc, #344] ; (806165c ) 8061504: ed93 7a00 vldr s14, [r3] 8061508: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 806150c: ee77 7a27 vadd.f32 s15, s14, s15 8061510: 4b52 ldr r3, [pc, #328] ; (806165c ) 8061512: edc3 7a00 vstr s15, [r3] 8061516: e04a b.n 80615ae } else { arm_min_f32(In, len, &fn[0], &i); 8061518: f507 73e8 add.w r3, r7, #464 ; 0x1d0 806151c: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8061520: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8061524: 4849 ldr r0, [pc, #292] ; (806164c ) 8061526: f068 fd2d bl 80c9f84 arm_max_f32(In, len, &fn[1], &j); 806152a: f507 71e6 add.w r1, r7, #460 ; 0x1cc 806152e: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8061532: 1d1a adds r2, r3, #4 8061534: 460b mov r3, r1 8061536: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 806153a: 4844 ldr r0, [pc, #272] ; (806164c ) 806153c: f068 fdbe bl 80ca0bc fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 8061540: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8061544: eef5 7ac0 vcmpe.f32 s15, #0.0 8061548: eef1 fa10 vmrs APSR_nzcv, fpscr 806154c: dd02 ble.n 8061554 806154e: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8061552: e003 b.n 806155c 8061554: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8061558: eef1 7a67 vneg.f32 s15, s15 806155c: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 8061560: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8061564: eef5 7ac0 vcmpe.f32 s15, #0.0 8061568: eef1 fa10 vmrs APSR_nzcv, fpscr 806156c: dd02 ble.n 8061574 806156e: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8061572: e003 b.n 806157c 8061574: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8061578: eef1 7a67 vneg.f32 s15, s15 806157c: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &fl, &j); 8061580: f507 73e6 add.w r3, r7, #460 ; 0x1cc 8061584: f507 72de add.w r2, r7, #444 ; 0x1bc 8061588: f507 70d8 add.w r0, r7, #432 ; 0x1b0 806158c: 2102 movs r1, #2 806158e: f068 fd95 bl 80ca0bc if(fl > rms8) 8061592: ed97 7a6f vldr s14, [r7, #444] ; 0x1bc 8061596: 4b31 ldr r3, [pc, #196] ; (806165c ) 8061598: edd3 7a00 vldr s15, [r3] 806159c: eeb4 7ae7 vcmpe.f32 s14, s15 80615a0: eef1 fa10 vmrs APSR_nzcv, fpscr 80615a4: dd03 ble.n 80615ae rms8 = fl; 80615a6: f8d7 31bc ldr.w r3, [r7, #444] ; 0x1bc 80615aa: 4a2c ldr r2, [pc, #176] ; (806165c ) 80615ac: 6013 str r3, [r2, #0] } //** 6,3 arm_biquad_cascade_df2T_f64(&S_OKT_6_3Hz, &Buff64[0], &Buff64[Ns], len); 80615ae: 4b25 ldr r3, [pc, #148] ; (8061644 ) 80615b0: 681b ldr r3, [r3, #0] 80615b2: 00db lsls r3, r3, #3 80615b4: 4a21 ldr r2, [pc, #132] ; (806163c ) 80615b6: 441a add r2, r3 80615b8: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 80615bc: 491f ldr r1, [pc, #124] ; (806163c ) 80615be: 4828 ldr r0, [pc, #160] ; (8061660 ) 80615c0: f068 fdf0 bl 80ca1a4 for(i = 0; i < len; i++) { 80615c4: 2300 movs r3, #0 80615c6: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 80615ca: e017 b.n 80615fc In[i] = (float32_t) Buff64[Ns + i]; 80615cc: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80615d0: 4a1c ldr r2, [pc, #112] ; (8061644 ) 80615d2: 6811 ldr r1, [r2, #0] 80615d4: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80615d8: 440a add r2, r1 80615da: 4918 ldr r1, [pc, #96] ; (806163c ) 80615dc: 00d2 lsls r2, r2, #3 80615de: 440a add r2, r1 80615e0: ed92 7b00 vldr d7, [r2] 80615e4: eef7 7bc7 vcvt.f32.f64 s15, d7 80615e8: 4a18 ldr r2, [pc, #96] ; (806164c ) 80615ea: 009b lsls r3, r3, #2 80615ec: 4413 add r3, r2 80615ee: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 80615f2: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80615f6: 3301 adds r3, #1 80615f8: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 80615fc: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8061600: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8061604: 429a cmp r2, r3 8061606: d3e1 bcc.n 80615cc } if(pardata.IVS[ACC] == RMS) 8061608: 4b11 ldr r3, [pc, #68] ; (8061650 ) 806160a: 789b ldrb r3, [r3, #2] 806160c: b2db uxtb r3, r3 806160e: 2b01 cmp r3, #1 8061610: d12a bne.n 8061668 { arm_power_f32(In, len, &fl); 8061612: f507 73de add.w r3, r7, #444 ; 0x1bc 8061616: 461a mov r2, r3 8061618: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 806161c: 480b ldr r0, [pc, #44] ; (806164c ) 806161e: f068 fc77 bl 80c9f10 rms6_3 += fl; 8061622: 4b10 ldr r3, [pc, #64] ; (8061664 ) 8061624: ed93 7a00 vldr s14, [r3] 8061628: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 806162c: ee77 7a27 vadd.f32 s15, s14, s15 8061630: 4b0c ldr r3, [pc, #48] ; (8061664 ) 8061632: edc3 7a00 vstr s15, [r3] 8061636: e062 b.n 80616fe 8061638: 20020d90 .word 0x20020d90 806163c: 20037ae0 .word 0x20037ae0 8061640: 2002633c .word 0x2002633c 8061644: 20021cdc .word 0x20021cdc 8061648: 20068080 .word 0x20068080 806164c: 200279c0 .word 0x200279c0 8061650: 20023e60 .word 0x20023e60 8061654: 20021d0c .word 0x20021d0c 8061658: 20057cc4 .word 0x20057cc4 806165c: 20021cd0 .word 0x20021cd0 8061660: 20057e5c .word 0x20057e5c 8061664: 20021ce0 .word 0x20021ce0 } else { arm_min_f32(In, len, &fn[0], &i); 8061668: f507 73e8 add.w r3, r7, #464 ; 0x1d0 806166c: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8061670: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8061674: 48ce ldr r0, [pc, #824] ; (80619b0 ) 8061676: f068 fc85 bl 80c9f84 arm_max_f32(In, len, &fn[1], &j); 806167a: f507 71e6 add.w r1, r7, #460 ; 0x1cc 806167e: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8061682: 1d1a adds r2, r3, #4 8061684: 460b mov r3, r1 8061686: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 806168a: 48c9 ldr r0, [pc, #804] ; (80619b0 ) 806168c: f068 fd16 bl 80ca0bc fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 8061690: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8061694: eef5 7ac0 vcmpe.f32 s15, #0.0 8061698: eef1 fa10 vmrs APSR_nzcv, fpscr 806169c: dd02 ble.n 80616a4 806169e: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 80616a2: e003 b.n 80616ac 80616a4: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 80616a8: eef1 7a67 vneg.f32 s15, s15 80616ac: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 80616b0: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 80616b4: eef5 7ac0 vcmpe.f32 s15, #0.0 80616b8: eef1 fa10 vmrs APSR_nzcv, fpscr 80616bc: dd02 ble.n 80616c4 80616be: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 80616c2: e003 b.n 80616cc 80616c4: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 80616c8: eef1 7a67 vneg.f32 s15, s15 80616cc: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &fl, &j); 80616d0: f507 73e6 add.w r3, r7, #460 ; 0x1cc 80616d4: f507 72de add.w r2, r7, #444 ; 0x1bc 80616d8: f507 70d8 add.w r0, r7, #432 ; 0x1b0 80616dc: 2102 movs r1, #2 80616de: f068 fced bl 80ca0bc if(fl > rms6_3) 80616e2: ed97 7a6f vldr s14, [r7, #444] ; 0x1bc 80616e6: 4bb3 ldr r3, [pc, #716] ; (80619b4 ) 80616e8: edd3 7a00 vldr s15, [r3] 80616ec: eeb4 7ae7 vcmpe.f32 s14, s15 80616f0: eef1 fa10 vmrs APSR_nzcv, fpscr 80616f4: dd03 ble.n 80616fe rms6_3 = fl; 80616f6: f8d7 31bc ldr.w r3, [r7, #444] ; 0x1bc 80616fa: 4aae ldr r2, [pc, #696] ; (80619b4 ) 80616fc: 6013 str r3, [r2, #0] arm_biquad_cascade_df2T_f64(&S_LP_4, &Buff64[0], &Buff64[0], len); 80616fe: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8061702: 4aad ldr r2, [pc, #692] ; (80619b8 ) 8061704: 49ac ldr r1, [pc, #688] ; (80619b8 ) 8061706: 48ad ldr r0, [pc, #692] ; (80619bc ) 8061708: f068 fd4c bl 80ca1a4 len >>= 1; 806170c: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8061710: 085b lsrs r3, r3, #1 8061712: f8c7 31e4 str.w r3, [r7, #484] ; 0x1e4 for(i = 0; i < len; i++) { 8061716: 2300 movs r3, #0 8061718: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 806171c: e012 b.n 8061744 Buff64[i] = Buff64[i << 1]; 806171e: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8061722: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8061726: 005b lsls r3, r3, #1 8061728: 49a3 ldr r1, [pc, #652] ; (80619b8 ) 806172a: 00db lsls r3, r3, #3 806172c: 440b add r3, r1 806172e: cb18 ldmia r3, {r3, r4} 8061730: 49a1 ldr r1, [pc, #644] ; (80619b8 ) 8061732: 00d2 lsls r2, r2, #3 8061734: 440a add r2, r1 8061736: e882 0018 stmia.w r2, {r3, r4} for(i = 0; i < len; i++) { 806173a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 806173e: 3301 adds r3, #1 8061740: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8061744: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8061748: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 806174c: 429a cmp r2, r3 806174e: d3e6 bcc.n 806171e } //** 5 arm_biquad_cascade_df2T_f64(&S_OKT_5Hz, &Buff64[0], &Buff64[Ns], len); 8061750: 4b9b ldr r3, [pc, #620] ; (80619c0 ) 8061752: 681b ldr r3, [r3, #0] 8061754: 00db lsls r3, r3, #3 8061756: 4a98 ldr r2, [pc, #608] ; (80619b8 ) 8061758: 441a add r2, r3 806175a: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 806175e: 4996 ldr r1, [pc, #600] ; (80619b8 ) 8061760: 4898 ldr r0, [pc, #608] ; (80619c4 ) 8061762: f068 fd1f bl 80ca1a4 for(i = 0; i < len; i++) { 8061766: 2300 movs r3, #0 8061768: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 806176c: e017 b.n 806179e In[i] = (float32_t) Buff64[Ns + i]; 806176e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8061772: 4a93 ldr r2, [pc, #588] ; (80619c0 ) 8061774: 6811 ldr r1, [r2, #0] 8061776: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 806177a: 440a add r2, r1 806177c: 498e ldr r1, [pc, #568] ; (80619b8 ) 806177e: 00d2 lsls r2, r2, #3 8061780: 440a add r2, r1 8061782: ed92 7b00 vldr d7, [r2] 8061786: eef7 7bc7 vcvt.f32.f64 s15, d7 806178a: 4a89 ldr r2, [pc, #548] ; (80619b0 ) 806178c: 009b lsls r3, r3, #2 806178e: 4413 add r3, r2 8061790: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 8061794: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8061798: 3301 adds r3, #1 806179a: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 806179e: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80617a2: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 80617a6: 429a cmp r2, r3 80617a8: d3e1 bcc.n 806176e } if(pardata.IVS[ACC] == RMS) 80617aa: 4b87 ldr r3, [pc, #540] ; (80619c8 ) 80617ac: 789b ldrb r3, [r3, #2] 80617ae: b2db uxtb r3, r3 80617b0: 2b01 cmp r3, #1 80617b2: d112 bne.n 80617da { arm_power_f32(In, len, &fl); 80617b4: f507 73de add.w r3, r7, #444 ; 0x1bc 80617b8: 461a mov r2, r3 80617ba: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 80617be: 487c ldr r0, [pc, #496] ; (80619b0 ) 80617c0: f068 fba6 bl 80c9f10 rms5 += fl; 80617c4: 4b81 ldr r3, [pc, #516] ; (80619cc ) 80617c6: ed93 7a00 vldr s14, [r3] 80617ca: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 80617ce: ee77 7a27 vadd.f32 s15, s14, s15 80617d2: 4b7e ldr r3, [pc, #504] ; (80619cc ) 80617d4: edc3 7a00 vstr s15, [r3] 80617d8: e04a b.n 8061870 } else { arm_min_f32(In, len, &fn[0], &i); 80617da: f507 73e8 add.w r3, r7, #464 ; 0x1d0 80617de: f507 72d8 add.w r2, r7, #432 ; 0x1b0 80617e2: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 80617e6: 4872 ldr r0, [pc, #456] ; (80619b0 ) 80617e8: f068 fbcc bl 80c9f84 arm_max_f32(In, len, &fn[1], &j); 80617ec: f507 71e6 add.w r1, r7, #460 ; 0x1cc 80617f0: f507 73d8 add.w r3, r7, #432 ; 0x1b0 80617f4: 1d1a adds r2, r3, #4 80617f6: 460b mov r3, r1 80617f8: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 80617fc: 486c ldr r0, [pc, #432] ; (80619b0 ) 80617fe: f068 fc5d bl 80ca0bc fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 8061802: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8061806: eef5 7ac0 vcmpe.f32 s15, #0.0 806180a: eef1 fa10 vmrs APSR_nzcv, fpscr 806180e: dd02 ble.n 8061816 8061810: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8061814: e003 b.n 806181e 8061816: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 806181a: eef1 7a67 vneg.f32 s15, s15 806181e: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 8061822: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8061826: eef5 7ac0 vcmpe.f32 s15, #0.0 806182a: eef1 fa10 vmrs APSR_nzcv, fpscr 806182e: dd02 ble.n 8061836 8061830: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8061834: e003 b.n 806183e 8061836: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 806183a: eef1 7a67 vneg.f32 s15, s15 806183e: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &fl, &j); 8061842: f507 73e6 add.w r3, r7, #460 ; 0x1cc 8061846: f507 72de add.w r2, r7, #444 ; 0x1bc 806184a: f507 70d8 add.w r0, r7, #432 ; 0x1b0 806184e: 2102 movs r1, #2 8061850: f068 fc34 bl 80ca0bc if(fl > rms5) 8061854: ed97 7a6f vldr s14, [r7, #444] ; 0x1bc 8061858: 4b5c ldr r3, [pc, #368] ; (80619cc ) 806185a: edd3 7a00 vldr s15, [r3] 806185e: eeb4 7ae7 vcmpe.f32 s14, s15 8061862: eef1 fa10 vmrs APSR_nzcv, fpscr 8061866: dd03 ble.n 8061870 rms5 = fl; 8061868: f8d7 31bc ldr.w r3, [r7, #444] ; 0x1bc 806186c: 4a57 ldr r2, [pc, #348] ; (80619cc ) 806186e: 6013 str r3, [r2, #0] } //** 4 arm_biquad_cascade_df2T_f64(&S_OKT_4Hz, &Buff64[0], &Buff64[Ns], len); 8061870: 4b53 ldr r3, [pc, #332] ; (80619c0 ) 8061872: 681b ldr r3, [r3, #0] 8061874: 00db lsls r3, r3, #3 8061876: 4a50 ldr r2, [pc, #320] ; (80619b8 ) 8061878: 441a add r2, r3 806187a: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 806187e: 494e ldr r1, [pc, #312] ; (80619b8 ) 8061880: 4853 ldr r0, [pc, #332] ; (80619d0 ) 8061882: f068 fc8f bl 80ca1a4 for(i = 0; i < len; i++) { 8061886: 2300 movs r3, #0 8061888: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 806188c: e017 b.n 80618be In[i] = (float32_t) Buff64[Ns + i]; 806188e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8061892: 4a4b ldr r2, [pc, #300] ; (80619c0 ) 8061894: 6811 ldr r1, [r2, #0] 8061896: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 806189a: 440a add r2, r1 806189c: 4946 ldr r1, [pc, #280] ; (80619b8 ) 806189e: 00d2 lsls r2, r2, #3 80618a0: 440a add r2, r1 80618a2: ed92 7b00 vldr d7, [r2] 80618a6: eef7 7bc7 vcvt.f32.f64 s15, d7 80618aa: 4a41 ldr r2, [pc, #260] ; (80619b0 ) 80618ac: 009b lsls r3, r3, #2 80618ae: 4413 add r3, r2 80618b0: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 80618b4: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80618b8: 3301 adds r3, #1 80618ba: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 80618be: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80618c2: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 80618c6: 429a cmp r2, r3 80618c8: d3e1 bcc.n 806188e } if(pardata.IVS[ACC] == RMS) 80618ca: 4b3f ldr r3, [pc, #252] ; (80619c8 ) 80618cc: 789b ldrb r3, [r3, #2] 80618ce: b2db uxtb r3, r3 80618d0: 2b01 cmp r3, #1 80618d2: d112 bne.n 80618fa { arm_power_f32(In, len, &fl); 80618d4: f507 73de add.w r3, r7, #444 ; 0x1bc 80618d8: 461a mov r2, r3 80618da: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 80618de: 4834 ldr r0, [pc, #208] ; (80619b0 ) 80618e0: f068 fb16 bl 80c9f10 rms4 += fl; 80618e4: 4b3b ldr r3, [pc, #236] ; (80619d4 ) 80618e6: ed93 7a00 vldr s14, [r3] 80618ea: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 80618ee: ee77 7a27 vadd.f32 s15, s14, s15 80618f2: 4b38 ldr r3, [pc, #224] ; (80619d4 ) 80618f4: edc3 7a00 vstr s15, [r3] 80618f8: e04a b.n 8061990 } else { arm_min_f32(In, len, &fn[0], &i); 80618fa: f507 73e8 add.w r3, r7, #464 ; 0x1d0 80618fe: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8061902: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8061906: 482a ldr r0, [pc, #168] ; (80619b0 ) 8061908: f068 fb3c bl 80c9f84 arm_max_f32(In, len, &fn[1], &j); 806190c: f507 71e6 add.w r1, r7, #460 ; 0x1cc 8061910: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8061914: 1d1a adds r2, r3, #4 8061916: 460b mov r3, r1 8061918: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 806191c: 4824 ldr r0, [pc, #144] ; (80619b0 ) 806191e: f068 fbcd bl 80ca0bc fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 8061922: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8061926: eef5 7ac0 vcmpe.f32 s15, #0.0 806192a: eef1 fa10 vmrs APSR_nzcv, fpscr 806192e: dd02 ble.n 8061936 8061930: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8061934: e003 b.n 806193e 8061936: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 806193a: eef1 7a67 vneg.f32 s15, s15 806193e: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 8061942: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8061946: eef5 7ac0 vcmpe.f32 s15, #0.0 806194a: eef1 fa10 vmrs APSR_nzcv, fpscr 806194e: dd02 ble.n 8061956 8061950: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8061954: e003 b.n 806195e 8061956: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 806195a: eef1 7a67 vneg.f32 s15, s15 806195e: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &fl, &j); 8061962: f507 73e6 add.w r3, r7, #460 ; 0x1cc 8061966: f507 72de add.w r2, r7, #444 ; 0x1bc 806196a: f507 70d8 add.w r0, r7, #432 ; 0x1b0 806196e: 2102 movs r1, #2 8061970: f068 fba4 bl 80ca0bc if(fl > rms4) 8061974: ed97 7a6f vldr s14, [r7, #444] ; 0x1bc 8061978: 4b16 ldr r3, [pc, #88] ; (80619d4 ) 806197a: edd3 7a00 vldr s15, [r3] 806197e: eeb4 7ae7 vcmpe.f32 s14, s15 8061982: eef1 fa10 vmrs APSR_nzcv, fpscr 8061986: dd03 ble.n 8061990 rms4 = fl; 8061988: f8d7 31bc ldr.w r3, [r7, #444] ; 0x1bc 806198c: 4a11 ldr r2, [pc, #68] ; (80619d4 ) 806198e: 6013 str r3, [r2, #0] } //** 3,15 arm_biquad_cascade_df2T_f64(&S_OKT_3_15Hz, &Buff64[0], &Buff64[Ns], len); 8061990: 4b0b ldr r3, [pc, #44] ; (80619c0 ) 8061992: 681b ldr r3, [r3, #0] 8061994: 00db lsls r3, r3, #3 8061996: 4a08 ldr r2, [pc, #32] ; (80619b8 ) 8061998: 441a add r2, r3 806199a: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 806199e: 4906 ldr r1, [pc, #24] ; (80619b8 ) 80619a0: 480d ldr r0, [pc, #52] ; (80619d8 ) 80619a2: f068 fbff bl 80ca1a4 for(i = 0; i < len; i++) { 80619a6: 2300 movs r3, #0 80619a8: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 80619ac: e02e b.n 8061a0c 80619ae: bf00 nop 80619b0: 200279c0 .word 0x200279c0 80619b4: 20021ce0 .word 0x20021ce0 80619b8: 20037ae0 .word 0x20037ae0 80619bc: 20057ae0 .word 0x20057ae0 80619c0: 20021cdc .word 0x20021cdc 80619c4: 20057cf0 .word 0x20057cf0 80619c8: 20023e60 .word 0x20023e60 80619cc: 20021ce4 .word 0x20021ce4 80619d0: 20026038 .word 0x20026038 80619d4: 20021d18 .word 0x20021d18 80619d8: 20068404 .word 0x20068404 In[i] = (float32_t) Buff64[Ns + i]; 80619dc: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80619e0: 4acd ldr r2, [pc, #820] ; (8061d18 ) 80619e2: 6811 ldr r1, [r2, #0] 80619e4: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80619e8: 440a add r2, r1 80619ea: 49cc ldr r1, [pc, #816] ; (8061d1c ) 80619ec: 00d2 lsls r2, r2, #3 80619ee: 440a add r2, r1 80619f0: ed92 7b00 vldr d7, [r2] 80619f4: eef7 7bc7 vcvt.f32.f64 s15, d7 80619f8: 4ac9 ldr r2, [pc, #804] ; (8061d20 ) 80619fa: 009b lsls r3, r3, #2 80619fc: 4413 add r3, r2 80619fe: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 8061a02: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8061a06: 3301 adds r3, #1 8061a08: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8061a0c: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8061a10: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8061a14: 429a cmp r2, r3 8061a16: d3e1 bcc.n 80619dc } if(pardata.IVS[ACC] == RMS) 8061a18: 4bc2 ldr r3, [pc, #776] ; (8061d24 ) 8061a1a: 789b ldrb r3, [r3, #2] 8061a1c: b2db uxtb r3, r3 8061a1e: 2b01 cmp r3, #1 8061a20: d112 bne.n 8061a48 { arm_power_f32(In, len, &fl); 8061a22: f507 73de add.w r3, r7, #444 ; 0x1bc 8061a26: 461a mov r2, r3 8061a28: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8061a2c: 48bc ldr r0, [pc, #752] ; (8061d20 ) 8061a2e: f068 fa6f bl 80c9f10 rms3_15 += fl; 8061a32: 4bbd ldr r3, [pc, #756] ; (8061d28 ) 8061a34: ed93 7a00 vldr s14, [r3] 8061a38: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 8061a3c: ee77 7a27 vadd.f32 s15, s14, s15 8061a40: 4bb9 ldr r3, [pc, #740] ; (8061d28 ) 8061a42: edc3 7a00 vstr s15, [r3] 8061a46: e04a b.n 8061ade } else { arm_min_f32(In, len, &fn[0], &i); 8061a48: f507 73e8 add.w r3, r7, #464 ; 0x1d0 8061a4c: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8061a50: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8061a54: 48b2 ldr r0, [pc, #712] ; (8061d20 ) 8061a56: f068 fa95 bl 80c9f84 arm_max_f32(In, len, &fn[1], &j); 8061a5a: f507 71e6 add.w r1, r7, #460 ; 0x1cc 8061a5e: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8061a62: 1d1a adds r2, r3, #4 8061a64: 460b mov r3, r1 8061a66: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8061a6a: 48ad ldr r0, [pc, #692] ; (8061d20 ) 8061a6c: f068 fb26 bl 80ca0bc fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 8061a70: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8061a74: eef5 7ac0 vcmpe.f32 s15, #0.0 8061a78: eef1 fa10 vmrs APSR_nzcv, fpscr 8061a7c: dd02 ble.n 8061a84 8061a7e: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8061a82: e003 b.n 8061a8c 8061a84: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8061a88: eef1 7a67 vneg.f32 s15, s15 8061a8c: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 8061a90: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8061a94: eef5 7ac0 vcmpe.f32 s15, #0.0 8061a98: eef1 fa10 vmrs APSR_nzcv, fpscr 8061a9c: dd02 ble.n 8061aa4 8061a9e: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8061aa2: e003 b.n 8061aac 8061aa4: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8061aa8: eef1 7a67 vneg.f32 s15, s15 8061aac: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &fl, &j); 8061ab0: f507 73e6 add.w r3, r7, #460 ; 0x1cc 8061ab4: f507 72de add.w r2, r7, #444 ; 0x1bc 8061ab8: f507 70d8 add.w r0, r7, #432 ; 0x1b0 8061abc: 2102 movs r1, #2 8061abe: f068 fafd bl 80ca0bc if(fl > rms3_15) 8061ac2: ed97 7a6f vldr s14, [r7, #444] ; 0x1bc 8061ac6: 4b98 ldr r3, [pc, #608] ; (8061d28 ) 8061ac8: edd3 7a00 vldr s15, [r3] 8061acc: eeb4 7ae7 vcmpe.f32 s14, s15 8061ad0: eef1 fa10 vmrs APSR_nzcv, fpscr 8061ad4: dd03 ble.n 8061ade rms3_15 = fl; 8061ad6: f8d7 31bc ldr.w r3, [r7, #444] ; 0x1bc 8061ada: 4a93 ldr r2, [pc, #588] ; (8061d28 ) 8061adc: 6013 str r3, [r2, #0] } arm_biquad_cascade_df2T_f64(&S_LP_2, &Buff64[0], &Buff64[0], len); 8061ade: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8061ae2: 4a8e ldr r2, [pc, #568] ; (8061d1c ) 8061ae4: 498d ldr r1, [pc, #564] ; (8061d1c ) 8061ae6: 4891 ldr r0, [pc, #580] ; (8061d2c ) 8061ae8: f068 fb5c bl 80ca1a4 len >>= 1; 8061aec: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8061af0: 085b lsrs r3, r3, #1 8061af2: f8c7 31e4 str.w r3, [r7, #484] ; 0x1e4 for(i = 0; i < len; i++) { 8061af6: 2300 movs r3, #0 8061af8: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8061afc: e012 b.n 8061b24 Buff64[i] = Buff64[i << 1]; 8061afe: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8061b02: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8061b06: 005b lsls r3, r3, #1 8061b08: 4984 ldr r1, [pc, #528] ; (8061d1c ) 8061b0a: 00db lsls r3, r3, #3 8061b0c: 440b add r3, r1 8061b0e: cb18 ldmia r3, {r3, r4} 8061b10: 4982 ldr r1, [pc, #520] ; (8061d1c ) 8061b12: 00d2 lsls r2, r2, #3 8061b14: 440a add r2, r1 8061b16: e882 0018 stmia.w r2, {r3, r4} for(i = 0; i < len; i++) { 8061b1a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8061b1e: 3301 adds r3, #1 8061b20: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8061b24: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8061b28: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8061b2c: 429a cmp r2, r3 8061b2e: d3e6 bcc.n 8061afe } //** 2,5 arm_biquad_cascade_df2T_f64(&S_OKT_2_5Hz, &Buff64[0], &Buff64[Ns], len); 8061b30: 4b79 ldr r3, [pc, #484] ; (8061d18 ) 8061b32: 681b ldr r3, [r3, #0] 8061b34: 00db lsls r3, r3, #3 8061b36: 4a79 ldr r2, [pc, #484] ; (8061d1c ) 8061b38: 441a add r2, r3 8061b3a: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8061b3e: 4977 ldr r1, [pc, #476] ; (8061d1c ) 8061b40: 487b ldr r0, [pc, #492] ; (8061d30 ) 8061b42: f068 fb2f bl 80ca1a4 for(i = 0; i < len; i++) { 8061b46: 2300 movs r3, #0 8061b48: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8061b4c: e017 b.n 8061b7e In[i] = (float32_t) Buff64[Ns + i]; 8061b4e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8061b52: 4a71 ldr r2, [pc, #452] ; (8061d18 ) 8061b54: 6811 ldr r1, [r2, #0] 8061b56: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8061b5a: 440a add r2, r1 8061b5c: 496f ldr r1, [pc, #444] ; (8061d1c ) 8061b5e: 00d2 lsls r2, r2, #3 8061b60: 440a add r2, r1 8061b62: ed92 7b00 vldr d7, [r2] 8061b66: eef7 7bc7 vcvt.f32.f64 s15, d7 8061b6a: 4a6d ldr r2, [pc, #436] ; (8061d20 ) 8061b6c: 009b lsls r3, r3, #2 8061b6e: 4413 add r3, r2 8061b70: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 8061b74: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8061b78: 3301 adds r3, #1 8061b7a: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8061b7e: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8061b82: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8061b86: 429a cmp r2, r3 8061b88: d3e1 bcc.n 8061b4e } if(pardata.IVS[ACC] == RMS) 8061b8a: 4b66 ldr r3, [pc, #408] ; (8061d24 ) 8061b8c: 789b ldrb r3, [r3, #2] 8061b8e: b2db uxtb r3, r3 8061b90: 2b01 cmp r3, #1 8061b92: d112 bne.n 8061bba { arm_power_f32(In, len, &fl); 8061b94: f507 73de add.w r3, r7, #444 ; 0x1bc 8061b98: 461a mov r2, r3 8061b9a: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8061b9e: 4860 ldr r0, [pc, #384] ; (8061d20 ) 8061ba0: f068 f9b6 bl 80c9f10 rms2_5 += fl; 8061ba4: 4b63 ldr r3, [pc, #396] ; (8061d34 ) 8061ba6: ed93 7a00 vldr s14, [r3] 8061baa: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 8061bae: ee77 7a27 vadd.f32 s15, s14, s15 8061bb2: 4b60 ldr r3, [pc, #384] ; (8061d34 ) 8061bb4: edc3 7a00 vstr s15, [r3] 8061bb8: e04a b.n 8061c50 } else { arm_min_f32(In, len, &fn[0], &i); 8061bba: f507 73e8 add.w r3, r7, #464 ; 0x1d0 8061bbe: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8061bc2: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8061bc6: 4856 ldr r0, [pc, #344] ; (8061d20 ) 8061bc8: f068 f9dc bl 80c9f84 arm_max_f32(In, len, &fn[1], &j); 8061bcc: f507 71e6 add.w r1, r7, #460 ; 0x1cc 8061bd0: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8061bd4: 1d1a adds r2, r3, #4 8061bd6: 460b mov r3, r1 8061bd8: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8061bdc: 4850 ldr r0, [pc, #320] ; (8061d20 ) 8061bde: f068 fa6d bl 80ca0bc fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 8061be2: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8061be6: eef5 7ac0 vcmpe.f32 s15, #0.0 8061bea: eef1 fa10 vmrs APSR_nzcv, fpscr 8061bee: dd02 ble.n 8061bf6 8061bf0: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8061bf4: e003 b.n 8061bfe 8061bf6: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8061bfa: eef1 7a67 vneg.f32 s15, s15 8061bfe: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 8061c02: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8061c06: eef5 7ac0 vcmpe.f32 s15, #0.0 8061c0a: eef1 fa10 vmrs APSR_nzcv, fpscr 8061c0e: dd02 ble.n 8061c16 8061c10: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8061c14: e003 b.n 8061c1e 8061c16: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8061c1a: eef1 7a67 vneg.f32 s15, s15 8061c1e: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &fl, &j); 8061c22: f507 73e6 add.w r3, r7, #460 ; 0x1cc 8061c26: f507 72de add.w r2, r7, #444 ; 0x1bc 8061c2a: f507 70d8 add.w r0, r7, #432 ; 0x1b0 8061c2e: 2102 movs r1, #2 8061c30: f068 fa44 bl 80ca0bc if(fl > rms2_5) 8061c34: ed97 7a6f vldr s14, [r7, #444] ; 0x1bc 8061c38: 4b3e ldr r3, [pc, #248] ; (8061d34 ) 8061c3a: edd3 7a00 vldr s15, [r3] 8061c3e: eeb4 7ae7 vcmpe.f32 s14, s15 8061c42: eef1 fa10 vmrs APSR_nzcv, fpscr 8061c46: dd03 ble.n 8061c50 rms2_5 = fl; 8061c48: f8d7 31bc ldr.w r3, [r7, #444] ; 0x1bc 8061c4c: 4a39 ldr r2, [pc, #228] ; (8061d34 ) 8061c4e: 6013 str r3, [r2, #0] } //** 2 arm_biquad_cascade_df2T_f64(&S_OKT_2Hz, &Buff64[0], &Buff64[Ns], len); 8061c50: 4b31 ldr r3, [pc, #196] ; (8061d18 ) 8061c52: 681b ldr r3, [r3, #0] 8061c54: 00db lsls r3, r3, #3 8061c56: 4a31 ldr r2, [pc, #196] ; (8061d1c ) 8061c58: 441a add r2, r3 8061c5a: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8061c5e: 492f ldr r1, [pc, #188] ; (8061d1c ) 8061c60: 4835 ldr r0, [pc, #212] ; (8061d38 ) 8061c62: f068 fa9f bl 80ca1a4 for(i = 0; i < len; i++) { 8061c66: 2300 movs r3, #0 8061c68: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8061c6c: e017 b.n 8061c9e In[i] = (float32_t) Buff64[Ns + i]; 8061c6e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8061c72: 4a29 ldr r2, [pc, #164] ; (8061d18 ) 8061c74: 6811 ldr r1, [r2, #0] 8061c76: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8061c7a: 440a add r2, r1 8061c7c: 4927 ldr r1, [pc, #156] ; (8061d1c ) 8061c7e: 00d2 lsls r2, r2, #3 8061c80: 440a add r2, r1 8061c82: ed92 7b00 vldr d7, [r2] 8061c86: eef7 7bc7 vcvt.f32.f64 s15, d7 8061c8a: 4a25 ldr r2, [pc, #148] ; (8061d20 ) 8061c8c: 009b lsls r3, r3, #2 8061c8e: 4413 add r3, r2 8061c90: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 8061c94: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8061c98: 3301 adds r3, #1 8061c9a: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8061c9e: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8061ca2: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8061ca6: 429a cmp r2, r3 8061ca8: d3e1 bcc.n 8061c6e } if(pardata.IVS[ACC] == RMS) 8061caa: 4b1e ldr r3, [pc, #120] ; (8061d24 ) 8061cac: 789b ldrb r3, [r3, #2] 8061cae: b2db uxtb r3, r3 8061cb0: 2b01 cmp r3, #1 8061cb2: d112 bne.n 8061cda { arm_power_f32(In, len, &fl); 8061cb4: f507 73de add.w r3, r7, #444 ; 0x1bc 8061cb8: 461a mov r2, r3 8061cba: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8061cbe: 4818 ldr r0, [pc, #96] ; (8061d20 ) 8061cc0: f068 f926 bl 80c9f10 rms2 += fl; 8061cc4: 4b1d ldr r3, [pc, #116] ; (8061d3c ) 8061cc6: ed93 7a00 vldr s14, [r3] 8061cca: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 8061cce: ee77 7a27 vadd.f32 s15, s14, s15 8061cd2: 4b1a ldr r3, [pc, #104] ; (8061d3c ) 8061cd4: edc3 7a00 vstr s15, [r3] 8061cd8: e05f b.n 8061d9a } else { arm_min_f32(In, len, &fn[0], &i); 8061cda: f507 73e8 add.w r3, r7, #464 ; 0x1d0 8061cde: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8061ce2: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8061ce6: 480e ldr r0, [pc, #56] ; (8061d20 ) 8061ce8: f068 f94c bl 80c9f84 arm_max_f32(In, len, &fn[1], &j); 8061cec: f507 71e6 add.w r1, r7, #460 ; 0x1cc 8061cf0: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8061cf4: 1d1a adds r2, r3, #4 8061cf6: 460b mov r3, r1 8061cf8: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8061cfc: 4808 ldr r0, [pc, #32] ; (8061d20 ) 8061cfe: f068 f9dd bl 80ca0bc fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 8061d02: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8061d06: eef5 7ac0 vcmpe.f32 s15, #0.0 8061d0a: eef1 fa10 vmrs APSR_nzcv, fpscr 8061d0e: dd17 ble.n 8061d40 8061d10: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8061d14: e018 b.n 8061d48 8061d16: bf00 nop 8061d18: 20021cdc .word 0x20021cdc 8061d1c: 20037ae0 .word 0x20037ae0 8061d20: 200279c0 .word 0x200279c0 8061d24: 20023e60 .word 0x20023e60 8061d28: 20021d14 .word 0x20021d14 8061d2c: 20057cfc .word 0x20057cfc 8061d30: 20057d78 .word 0x20057d78 8061d34: 20021cf8 .word 0x20021cf8 8061d38: 20026408 .word 0x20026408 8061d3c: 20021cd8 .word 0x20021cd8 8061d40: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8061d44: eef1 7a67 vneg.f32 s15, s15 8061d48: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 8061d4c: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8061d50: eef5 7ac0 vcmpe.f32 s15, #0.0 8061d54: eef1 fa10 vmrs APSR_nzcv, fpscr 8061d58: dd02 ble.n 8061d60 8061d5a: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8061d5e: e003 b.n 8061d68 8061d60: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8061d64: eef1 7a67 vneg.f32 s15, s15 8061d68: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &fl, &j); 8061d6c: f507 73e6 add.w r3, r7, #460 ; 0x1cc 8061d70: f507 72de add.w r2, r7, #444 ; 0x1bc 8061d74: f507 70d8 add.w r0, r7, #432 ; 0x1b0 8061d78: 2102 movs r1, #2 8061d7a: f068 f99f bl 80ca0bc if(fl > rms2) 8061d7e: ed97 7a6f vldr s14, [r7, #444] ; 0x1bc 8061d82: 4bcd ldr r3, [pc, #820] ; (80620b8 ) 8061d84: edd3 7a00 vldr s15, [r3] 8061d88: eeb4 7ae7 vcmpe.f32 s14, s15 8061d8c: eef1 fa10 vmrs APSR_nzcv, fpscr 8061d90: dd03 ble.n 8061d9a rms2 = fl; 8061d92: f8d7 31bc ldr.w r3, [r7, #444] ; 0x1bc 8061d96: 4ac8 ldr r2, [pc, #800] ; (80620b8 ) 8061d98: 6013 str r3, [r2, #0] } //** 1,6 arm_biquad_cascade_df2T_f64(&S_OKT_1_6Hz, &Buff64[0], &Buff64[Ns], len); 8061d9a: 4bc8 ldr r3, [pc, #800] ; (80620bc ) 8061d9c: 681b ldr r3, [r3, #0] 8061d9e: 00db lsls r3, r3, #3 8061da0: 4ac7 ldr r2, [pc, #796] ; (80620c0 ) 8061da2: 441a add r2, r3 8061da4: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8061da8: 49c5 ldr r1, [pc, #788] ; (80620c0 ) 8061daa: 48c6 ldr r0, [pc, #792] ; (80620c4 ) 8061dac: f068 f9fa bl 80ca1a4 for(i = 0; i < len; i++) { 8061db0: 2300 movs r3, #0 8061db2: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8061db6: e017 b.n 8061de8 In[i] = (float32_t) Buff64[Ns + i]; 8061db8: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8061dbc: 4abf ldr r2, [pc, #764] ; (80620bc ) 8061dbe: 6811 ldr r1, [r2, #0] 8061dc0: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8061dc4: 440a add r2, r1 8061dc6: 49be ldr r1, [pc, #760] ; (80620c0 ) 8061dc8: 00d2 lsls r2, r2, #3 8061dca: 440a add r2, r1 8061dcc: ed92 7b00 vldr d7, [r2] 8061dd0: eef7 7bc7 vcvt.f32.f64 s15, d7 8061dd4: 4abc ldr r2, [pc, #752] ; (80620c8 ) 8061dd6: 009b lsls r3, r3, #2 8061dd8: 4413 add r3, r2 8061dda: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 8061dde: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8061de2: 3301 adds r3, #1 8061de4: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8061de8: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8061dec: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8061df0: 429a cmp r2, r3 8061df2: d3e1 bcc.n 8061db8 } if(pardata.IVS[ACC] == RMS) 8061df4: 4bb5 ldr r3, [pc, #724] ; (80620cc ) 8061df6: 789b ldrb r3, [r3, #2] 8061df8: b2db uxtb r3, r3 8061dfa: 2b01 cmp r3, #1 8061dfc: d112 bne.n 8061e24 { arm_power_f32(In, len, &fl); 8061dfe: f507 73de add.w r3, r7, #444 ; 0x1bc 8061e02: 461a mov r2, r3 8061e04: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8061e08: 48af ldr r0, [pc, #700] ; (80620c8 ) 8061e0a: f068 f881 bl 80c9f10 rms1_6 += fl; 8061e0e: 4bb0 ldr r3, [pc, #704] ; (80620d0 ) 8061e10: ed93 7a00 vldr s14, [r3] 8061e14: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 8061e18: ee77 7a27 vadd.f32 s15, s14, s15 8061e1c: 4bac ldr r3, [pc, #688] ; (80620d0 ) 8061e1e: edc3 7a00 vstr s15, [r3] 8061e22: e04a b.n 8061eba } else { arm_min_f32(In, len, &fn[0], &i); 8061e24: f507 73e8 add.w r3, r7, #464 ; 0x1d0 8061e28: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8061e2c: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8061e30: 48a5 ldr r0, [pc, #660] ; (80620c8 ) 8061e32: f068 f8a7 bl 80c9f84 arm_max_f32(In, len, &fn[1], &j); 8061e36: f507 71e6 add.w r1, r7, #460 ; 0x1cc 8061e3a: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8061e3e: 1d1a adds r2, r3, #4 8061e40: 460b mov r3, r1 8061e42: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8061e46: 48a0 ldr r0, [pc, #640] ; (80620c8 ) 8061e48: f068 f938 bl 80ca0bc fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 8061e4c: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8061e50: eef5 7ac0 vcmpe.f32 s15, #0.0 8061e54: eef1 fa10 vmrs APSR_nzcv, fpscr 8061e58: dd02 ble.n 8061e60 8061e5a: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8061e5e: e003 b.n 8061e68 8061e60: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8061e64: eef1 7a67 vneg.f32 s15, s15 8061e68: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 8061e6c: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8061e70: eef5 7ac0 vcmpe.f32 s15, #0.0 8061e74: eef1 fa10 vmrs APSR_nzcv, fpscr 8061e78: dd02 ble.n 8061e80 8061e7a: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8061e7e: e003 b.n 8061e88 8061e80: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8061e84: eef1 7a67 vneg.f32 s15, s15 8061e88: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &fl, &j); 8061e8c: f507 73e6 add.w r3, r7, #460 ; 0x1cc 8061e90: f507 72de add.w r2, r7, #444 ; 0x1bc 8061e94: f507 70d8 add.w r0, r7, #432 ; 0x1b0 8061e98: 2102 movs r1, #2 8061e9a: f068 f90f bl 80ca0bc if(fl > rms1_6) 8061e9e: ed97 7a6f vldr s14, [r7, #444] ; 0x1bc 8061ea2: 4b8b ldr r3, [pc, #556] ; (80620d0 ) 8061ea4: edd3 7a00 vldr s15, [r3] 8061ea8: eeb4 7ae7 vcmpe.f32 s14, s15 8061eac: eef1 fa10 vmrs APSR_nzcv, fpscr 8061eb0: dd03 ble.n 8061eba rms1_6 = fl; 8061eb2: f8d7 31bc ldr.w r3, [r7, #444] ; 0x1bc 8061eb6: 4a86 ldr r2, [pc, #536] ; (80620d0 ) 8061eb8: 6013 str r3, [r2, #0] } arm_biquad_cascade_df2T_f64(&S_LP_1, &Buff64[0], &Buff64[0], len); 8061eba: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8061ebe: 4a80 ldr r2, [pc, #512] ; (80620c0 ) 8061ec0: 497f ldr r1, [pc, #508] ; (80620c0 ) 8061ec2: 4884 ldr r0, [pc, #528] ; (80620d4 ) 8061ec4: f068 f96e bl 80ca1a4 len >>= 1; 8061ec8: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8061ecc: 085b lsrs r3, r3, #1 8061ece: f8c7 31e4 str.w r3, [r7, #484] ; 0x1e4 for(i = 0; i < len; i++) { 8061ed2: 2300 movs r3, #0 8061ed4: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8061ed8: e012 b.n 8061f00 Buff64[i] = Buff64[i << 1]; 8061eda: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8061ede: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8061ee2: 005b lsls r3, r3, #1 8061ee4: 4976 ldr r1, [pc, #472] ; (80620c0 ) 8061ee6: 00db lsls r3, r3, #3 8061ee8: 440b add r3, r1 8061eea: cb18 ldmia r3, {r3, r4} 8061eec: 4974 ldr r1, [pc, #464] ; (80620c0 ) 8061eee: 00d2 lsls r2, r2, #3 8061ef0: 440a add r2, r1 8061ef2: e882 0018 stmia.w r2, {r3, r4} for(i = 0; i < len; i++) { 8061ef6: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8061efa: 3301 adds r3, #1 8061efc: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8061f00: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8061f04: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8061f08: 429a cmp r2, r3 8061f0a: d3e6 bcc.n 8061eda } //** 1,25 arm_biquad_cascade_df2T_f64(&S_OKT_1_25Hz, &Buff64[0], &Buff64[Ns], len); 8061f0c: 4b6b ldr r3, [pc, #428] ; (80620bc ) 8061f0e: 681b ldr r3, [r3, #0] 8061f10: 00db lsls r3, r3, #3 8061f12: 4a6b ldr r2, [pc, #428] ; (80620c0 ) 8061f14: 441a add r2, r3 8061f16: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8061f1a: 4969 ldr r1, [pc, #420] ; (80620c0 ) 8061f1c: 486e ldr r0, [pc, #440] ; (80620d8 ) 8061f1e: f068 f941 bl 80ca1a4 for(i = 0; i < len; i++) { 8061f22: 2300 movs r3, #0 8061f24: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8061f28: e017 b.n 8061f5a In[i] = (float32_t) Buff64[Ns + i]; 8061f2a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8061f2e: 4a63 ldr r2, [pc, #396] ; (80620bc ) 8061f30: 6811 ldr r1, [r2, #0] 8061f32: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8061f36: 440a add r2, r1 8061f38: 4961 ldr r1, [pc, #388] ; (80620c0 ) 8061f3a: 00d2 lsls r2, r2, #3 8061f3c: 440a add r2, r1 8061f3e: ed92 7b00 vldr d7, [r2] 8061f42: eef7 7bc7 vcvt.f32.f64 s15, d7 8061f46: 4a60 ldr r2, [pc, #384] ; (80620c8 ) 8061f48: 009b lsls r3, r3, #2 8061f4a: 4413 add r3, r2 8061f4c: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 8061f50: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8061f54: 3301 adds r3, #1 8061f56: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8061f5a: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8061f5e: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8061f62: 429a cmp r2, r3 8061f64: d3e1 bcc.n 8061f2a } if(pardata.IVS[ACC] == RMS) 8061f66: 4b59 ldr r3, [pc, #356] ; (80620cc ) 8061f68: 789b ldrb r3, [r3, #2] 8061f6a: b2db uxtb r3, r3 8061f6c: 2b01 cmp r3, #1 8061f6e: d112 bne.n 8061f96 { arm_power_f32(In, len, &fl); 8061f70: f507 73de add.w r3, r7, #444 ; 0x1bc 8061f74: 461a mov r2, r3 8061f76: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8061f7a: 4853 ldr r0, [pc, #332] ; (80620c8 ) 8061f7c: f067 ffc8 bl 80c9f10 rms1_25 += fl; 8061f80: 4b56 ldr r3, [pc, #344] ; (80620dc ) 8061f82: ed93 7a00 vldr s14, [r3] 8061f86: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 8061f8a: ee77 7a27 vadd.f32 s15, s14, s15 8061f8e: 4b53 ldr r3, [pc, #332] ; (80620dc ) 8061f90: edc3 7a00 vstr s15, [r3] 8061f94: e04a b.n 806202c } else { arm_min_f32(In, len, &fn[0], &i); 8061f96: f507 73e8 add.w r3, r7, #464 ; 0x1d0 8061f9a: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8061f9e: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8061fa2: 4849 ldr r0, [pc, #292] ; (80620c8 ) 8061fa4: f067 ffee bl 80c9f84 arm_max_f32(In, len, &fn[1], &j); 8061fa8: f507 71e6 add.w r1, r7, #460 ; 0x1cc 8061fac: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8061fb0: 1d1a adds r2, r3, #4 8061fb2: 460b mov r3, r1 8061fb4: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8061fb8: 4843 ldr r0, [pc, #268] ; (80620c8 ) 8061fba: f068 f87f bl 80ca0bc fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 8061fbe: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8061fc2: eef5 7ac0 vcmpe.f32 s15, #0.0 8061fc6: eef1 fa10 vmrs APSR_nzcv, fpscr 8061fca: dd02 ble.n 8061fd2 8061fcc: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8061fd0: e003 b.n 8061fda 8061fd2: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8061fd6: eef1 7a67 vneg.f32 s15, s15 8061fda: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 8061fde: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8061fe2: eef5 7ac0 vcmpe.f32 s15, #0.0 8061fe6: eef1 fa10 vmrs APSR_nzcv, fpscr 8061fea: dd02 ble.n 8061ff2 8061fec: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8061ff0: e003 b.n 8061ffa 8061ff2: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8061ff6: eef1 7a67 vneg.f32 s15, s15 8061ffa: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &fl, &j); 8061ffe: f507 73e6 add.w r3, r7, #460 ; 0x1cc 8062002: f507 72de add.w r2, r7, #444 ; 0x1bc 8062006: f507 70d8 add.w r0, r7, #432 ; 0x1b0 806200a: 2102 movs r1, #2 806200c: f068 f856 bl 80ca0bc if(fl > rms1_25) 8062010: ed97 7a6f vldr s14, [r7, #444] ; 0x1bc 8062014: 4b31 ldr r3, [pc, #196] ; (80620dc ) 8062016: edd3 7a00 vldr s15, [r3] 806201a: eeb4 7ae7 vcmpe.f32 s14, s15 806201e: eef1 fa10 vmrs APSR_nzcv, fpscr 8062022: dd03 ble.n 806202c rms1_25 = fl; 8062024: f8d7 31bc ldr.w r3, [r7, #444] ; 0x1bc 8062028: 4a2c ldr r2, [pc, #176] ; (80620dc ) 806202a: 6013 str r3, [r2, #0] } //** 1 arm_biquad_cascade_df2T_f64(&S_OKT_1Hz, &Buff64[0], &Buff64[Ns], len); 806202c: 4b23 ldr r3, [pc, #140] ; (80620bc ) 806202e: 681b ldr r3, [r3, #0] 8062030: 00db lsls r3, r3, #3 8062032: 4a23 ldr r2, [pc, #140] ; (80620c0 ) 8062034: 441a add r2, r3 8062036: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 806203a: 4921 ldr r1, [pc, #132] ; (80620c0 ) 806203c: 4828 ldr r0, [pc, #160] ; (80620e0 ) 806203e: f068 f8b1 bl 80ca1a4 for(i = 0; i < len; i++) { 8062042: 2300 movs r3, #0 8062044: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8062048: e017 b.n 806207a In[i] = (float32_t) Buff64[Ns + i]; 806204a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 806204e: 4a1b ldr r2, [pc, #108] ; (80620bc ) 8062050: 6811 ldr r1, [r2, #0] 8062052: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8062056: 440a add r2, r1 8062058: 4919 ldr r1, [pc, #100] ; (80620c0 ) 806205a: 00d2 lsls r2, r2, #3 806205c: 440a add r2, r1 806205e: ed92 7b00 vldr d7, [r2] 8062062: eef7 7bc7 vcvt.f32.f64 s15, d7 8062066: 4a18 ldr r2, [pc, #96] ; (80620c8 ) 8062068: 009b lsls r3, r3, #2 806206a: 4413 add r3, r2 806206c: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 8062070: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8062074: 3301 adds r3, #1 8062076: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 806207a: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 806207e: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8062082: 429a cmp r2, r3 8062084: d3e1 bcc.n 806204a } if(pardata.IVS[ACC] == RMS) 8062086: 4b11 ldr r3, [pc, #68] ; (80620cc ) 8062088: 789b ldrb r3, [r3, #2] 806208a: b2db uxtb r3, r3 806208c: 2b01 cmp r3, #1 806208e: d12b bne.n 80620e8 { arm_power_f32(In, len, &fl); 8062090: f507 73de add.w r3, r7, #444 ; 0x1bc 8062094: 461a mov r2, r3 8062096: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 806209a: 480b ldr r0, [pc, #44] ; (80620c8 ) 806209c: f067 ff38 bl 80c9f10 rms1 += fl; 80620a0: 4b10 ldr r3, [pc, #64] ; (80620e4 ) 80620a2: ed93 7a00 vldr s14, [r3] 80620a6: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 80620aa: ee77 7a27 vadd.f32 s15, s14, s15 80620ae: 4b0d ldr r3, [pc, #52] ; (80620e4 ) 80620b0: edc3 7a00 vstr s15, [r3] 80620b4: e063 b.n 806217e 80620b6: bf00 nop 80620b8: 20021cd8 .word 0x20021cd8 80620bc: 20021cdc .word 0x20021cdc 80620c0: 20037ae0 .word 0x20037ae0 80620c4: 20026808 .word 0x20026808 80620c8: 200279c0 .word 0x200279c0 80620cc: 20023e60 .word 0x20023e60 80620d0: 20021ccc .word 0x20021ccc 80620d4: 20026188 .word 0x20026188 80620d8: 20026f04 .word 0x20026f04 80620dc: 20021cc8 .word 0x20021cc8 80620e0: 20057dc0 .word 0x20057dc0 80620e4: 20021d10 .word 0x20021d10 } else { arm_min_f32(In, len, &fn[0], &i); 80620e8: f507 73e8 add.w r3, r7, #464 ; 0x1d0 80620ec: f507 72d8 add.w r2, r7, #432 ; 0x1b0 80620f0: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 80620f4: 485b ldr r0, [pc, #364] ; (8062264 ) 80620f6: f067 ff45 bl 80c9f84 arm_max_f32(In, len, &fn[1], &j); 80620fa: f507 71e6 add.w r1, r7, #460 ; 0x1cc 80620fe: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8062102: 1d1a adds r2, r3, #4 8062104: 460b mov r3, r1 8062106: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 806210a: 4856 ldr r0, [pc, #344] ; (8062264 ) 806210c: f067 ffd6 bl 80ca0bc fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 8062110: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8062114: eef5 7ac0 vcmpe.f32 s15, #0.0 8062118: eef1 fa10 vmrs APSR_nzcv, fpscr 806211c: dd02 ble.n 8062124 806211e: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8062122: e003 b.n 806212c 8062124: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8062128: eef1 7a67 vneg.f32 s15, s15 806212c: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 8062130: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8062134: eef5 7ac0 vcmpe.f32 s15, #0.0 8062138: eef1 fa10 vmrs APSR_nzcv, fpscr 806213c: dd02 ble.n 8062144 806213e: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8062142: e003 b.n 806214c 8062144: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8062148: eef1 7a67 vneg.f32 s15, s15 806214c: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &fl, &j); 8062150: f507 73e6 add.w r3, r7, #460 ; 0x1cc 8062154: f507 72de add.w r2, r7, #444 ; 0x1bc 8062158: f507 70d8 add.w r0, r7, #432 ; 0x1b0 806215c: 2102 movs r1, #2 806215e: f067 ffad bl 80ca0bc if(fl > rms1) 8062162: ed97 7a6f vldr s14, [r7, #444] ; 0x1bc 8062166: 4b40 ldr r3, [pc, #256] ; (8062268 ) 8062168: edd3 7a00 vldr s15, [r3] 806216c: eeb4 7ae7 vcmpe.f32 s14, s15 8062170: eef1 fa10 vmrs APSR_nzcv, fpscr 8062174: dd03 ble.n 806217e rms1 = fl; 8062176: f8d7 31bc ldr.w r3, [r7, #444] ; 0x1bc 806217a: 4a3b ldr r2, [pc, #236] ; (8062268 ) 806217c: 6013 str r3, [r2, #0] } //** 0,8 arm_biquad_cascade_df2T_f64(&S_OKT_0_8Hz, &Buff64[0], &Buff64[Ns], len); 806217e: 4b3b ldr r3, [pc, #236] ; (806226c ) 8062180: 681b ldr r3, [r3, #0] 8062182: 00db lsls r3, r3, #3 8062184: 4a3a ldr r2, [pc, #232] ; (8062270 ) 8062186: 441a add r2, r3 8062188: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 806218c: 4938 ldr r1, [pc, #224] ; (8062270 ) 806218e: 4839 ldr r0, [pc, #228] ; (8062274 ) 8062190: f068 f808 bl 80ca1a4 for(i = 0; i < len; i++) { 8062194: 2300 movs r3, #0 8062196: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 806219a: e017 b.n 80621cc In[i] = (float32_t) Buff64[Ns + i]; 806219c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80621a0: 4a32 ldr r2, [pc, #200] ; (806226c ) 80621a2: 6811 ldr r1, [r2, #0] 80621a4: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80621a8: 440a add r2, r1 80621aa: 4931 ldr r1, [pc, #196] ; (8062270 ) 80621ac: 00d2 lsls r2, r2, #3 80621ae: 440a add r2, r1 80621b0: ed92 7b00 vldr d7, [r2] 80621b4: eef7 7bc7 vcvt.f32.f64 s15, d7 80621b8: 4a2a ldr r2, [pc, #168] ; (8062264 ) 80621ba: 009b lsls r3, r3, #2 80621bc: 4413 add r3, r2 80621be: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 80621c2: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80621c6: 3301 adds r3, #1 80621c8: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 80621cc: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80621d0: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 80621d4: 429a cmp r2, r3 80621d6: d3e1 bcc.n 806219c } if(pardata.IVS[ACC] == RMS) 80621d8: 4b27 ldr r3, [pc, #156] ; (8062278 ) 80621da: 789b ldrb r3, [r3, #2] 80621dc: b2db uxtb r3, r3 80621de: 2b01 cmp r3, #1 80621e0: d112 bne.n 8062208 { arm_power_f32(In, len, &fl); 80621e2: f507 73de add.w r3, r7, #444 ; 0x1bc 80621e6: 461a mov r2, r3 80621e8: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 80621ec: 481d ldr r0, [pc, #116] ; (8062264 ) 80621ee: f067 fe8f bl 80c9f10 rms0_8 += fl; 80621f2: 4b22 ldr r3, [pc, #136] ; (806227c ) 80621f4: ed93 7a00 vldr s14, [r3] 80621f8: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 80621fc: ee77 7a27 vadd.f32 s15, s14, s15 8062200: 4b1e ldr r3, [pc, #120] ; (806227c ) 8062202: edc3 7a00 vstr s15, [r3] 8062206: e058 b.n 80622ba } else { arm_min_f32(In, len, &fn[0], &i); 8062208: f507 73e8 add.w r3, r7, #464 ; 0x1d0 806220c: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8062210: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8062214: 4813 ldr r0, [pc, #76] ; (8062264 ) 8062216: f067 feb5 bl 80c9f84 arm_max_f32(In, len, &fn[1], &j); 806221a: f507 71e6 add.w r1, r7, #460 ; 0x1cc 806221e: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8062222: 1d1a adds r2, r3, #4 8062224: 460b mov r3, r1 8062226: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 806222a: 480e ldr r0, [pc, #56] ; (8062264 ) 806222c: f067 ff46 bl 80ca0bc fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 8062230: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8062234: eef5 7ac0 vcmpe.f32 s15, #0.0 8062238: eef1 fa10 vmrs APSR_nzcv, fpscr 806223c: dd02 ble.n 8062244 806223e: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8062242: e003 b.n 806224c 8062244: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8062248: eef1 7a67 vneg.f32 s15, s15 806224c: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 8062250: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8062254: eef5 7ac0 vcmpe.f32 s15, #0.0 8062258: eef1 fa10 vmrs APSR_nzcv, fpscr 806225c: dd10 ble.n 8062280 806225e: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8062262: e011 b.n 8062288 8062264: 200279c0 .word 0x200279c0 8062268: 20021d10 .word 0x20021d10 806226c: 20021cdc .word 0x20021cdc 8062270: 20037ae0 .word 0x20037ae0 8062274: 2002792c .word 0x2002792c 8062278: 20023e60 .word 0x20023e60 806227c: 20021cd4 .word 0x20021cd4 8062280: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8062284: eef1 7a67 vneg.f32 s15, s15 8062288: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &fl, &j); 806228c: f507 73e6 add.w r3, r7, #460 ; 0x1cc 8062290: f507 72de add.w r2, r7, #444 ; 0x1bc 8062294: f507 70d8 add.w r0, r7, #432 ; 0x1b0 8062298: 2102 movs r1, #2 806229a: f067 ff0f bl 80ca0bc if(fl > rms0_8) 806229e: ed97 7a6f vldr s14, [r7, #444] ; 0x1bc 80622a2: 4bc9 ldr r3, [pc, #804] ; (80625c8 ) 80622a4: edd3 7a00 vldr s15, [r3] 80622a8: eeb4 7ae7 vcmpe.f32 s14, s15 80622ac: eef1 fa10 vmrs APSR_nzcv, fpscr 80622b0: dd03 ble.n 80622ba rms0_8 = fl; 80622b2: f8d7 31bc ldr.w r3, [r7, #444] ; 0x1bc 80622b6: 4ac4 ldr r2, [pc, #784] ; (80625c8 ) 80622b8: 6013 str r3, [r2, #0] } cntcnt = DWT->CYCCNT - cntcnt; 80622ba: 4bc4 ldr r3, [pc, #784] ; (80625cc ) 80622bc: 685b ldr r3, [r3, #4] 80622be: 4619 mov r1, r3 80622c0: f04f 0200 mov.w r2, #0 80622c4: f507 73f4 add.w r3, r7, #488 ; 0x1e8 80622c8: cb18 ldmia r3, {r3, r4} 80622ca: 1acb subs r3, r1, r3 80622cc: eb62 0404 sbc.w r4, r2, r4 80622d0: f507 72f4 add.w r2, r7, #488 ; 0x1e8 80622d4: e882 0018 stmia.w r2, {r3, r4} cntcnt = 0; 80622d8: f04f 0300 mov.w r3, #0 80622dc: f04f 0400 mov.w r4, #0 80622e0: f507 72f4 add.w r2, r7, #488 ; 0x1e8 80622e4: e882 0018 stmia.w r2, {r3, r4} if(cntOkt == 8) 80622e8: 4bb9 ldr r3, [pc, #740] ; (80625d0 ) 80622ea: 681b ldr r3, [r3, #0] 80622ec: 2b08 cmp r3, #8 80622ee: f040 8256 bne.w 806279e { MeanCnt++; 80622f2: 4bb8 ldr r3, [pc, #736] ; (80625d4 ) 80622f4: 681b ldr r3, [r3, #0] 80622f6: 3301 adds r3, #1 80622f8: 4ab6 ldr r2, [pc, #728] ; (80625d4 ) 80622fa: 6013 str r3, [r2, #0] cntOkt = 0; 80622fc: 4bb4 ldr r3, [pc, #720] ; (80625d0 ) 80622fe: 2200 movs r2, #0 8062300: 601a str r2, [r3, #0] if(MeanCnt == AVG[pardata.AVG]) 8062302: 4bb5 ldr r3, [pc, #724] ; (80625d8 ) 8062304: 7b5b ldrb r3, [r3, #13] 8062306: b2db uxtb r3, r3 8062308: 461a mov r2, r3 806230a: 4bb4 ldr r3, [pc, #720] ; (80625dc ) 806230c: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 8062310: 461a mov r2, r3 8062312: 4bb0 ldr r3, [pc, #704] ; (80625d4 ) 8062314: 681b ldr r3, [r3, #0] 8062316: 429a cmp r2, r3 8062318: f040 8241 bne.w 806279e { if(pardata.IVS[ACC] == RMS) 806231c: 4bae ldr r3, [pc, #696] ; (80625d8 ) 806231e: 789b ldrb r3, [r3, #2] 8062320: b2db uxtb r3, r3 8062322: 2b01 cmp r3, #1 8062324: f040 8176 bne.w 8062614 { rms10 /= (64.0f * (float32_t) MeanCnt); 8062328: 4baa ldr r3, [pc, #680] ; (80625d4 ) 806232a: 681b ldr r3, [r3, #0] 806232c: ee07 3a90 vmov s15, r3 8062330: eef8 7a67 vcvt.f32.u32 s15, s15 8062334: ed9f 7aaa vldr s14, [pc, #680] ; 80625e0 8062338: ee27 7a87 vmul.f32 s14, s15, s14 806233c: 4ba9 ldr r3, [pc, #676] ; (80625e4 ) 806233e: edd3 6a00 vldr s13, [r3] 8062342: eec6 7a87 vdiv.f32 s15, s13, s14 8062346: 4ba7 ldr r3, [pc, #668] ; (80625e4 ) 8062348: edc3 7a00 vstr s15, [r3] arm_sqrt_f32(rms10, &Third[11]); 806234c: 4ba5 ldr r3, [pc, #660] ; (80625e4 ) 806234e: edd3 7a00 vldr s15, [r3] 8062352: 463b mov r3, r7 8062354: 332c adds r3, #44 ; 0x2c 8062356: 4618 mov r0, r3 8062358: eeb0 0a67 vmov.f32 s0, s15 806235c: f7f3 fb28 bl 80559b0 rms8 /= (64.0f * (float32_t) MeanCnt); 8062360: 4b9c ldr r3, [pc, #624] ; (80625d4 ) 8062362: 681b ldr r3, [r3, #0] 8062364: ee07 3a90 vmov s15, r3 8062368: eef8 7a67 vcvt.f32.u32 s15, s15 806236c: ed9f 7a9c vldr s14, [pc, #624] ; 80625e0 8062370: ee27 7a87 vmul.f32 s14, s15, s14 8062374: 4b9c ldr r3, [pc, #624] ; (80625e8 ) 8062376: edd3 6a00 vldr s13, [r3] 806237a: eec6 7a87 vdiv.f32 s15, s13, s14 806237e: 4b9a ldr r3, [pc, #616] ; (80625e8 ) 8062380: edc3 7a00 vstr s15, [r3] arm_sqrt_f32(rms8, &Third[10]); 8062384: 4b98 ldr r3, [pc, #608] ; (80625e8 ) 8062386: edd3 7a00 vldr s15, [r3] 806238a: 463b mov r3, r7 806238c: 3328 adds r3, #40 ; 0x28 806238e: 4618 mov r0, r3 8062390: eeb0 0a67 vmov.f32 s0, s15 8062394: f7f3 fb0c bl 80559b0 rms6_3 /= (64.0f * (float32_t) MeanCnt); 8062398: 4b8e ldr r3, [pc, #568] ; (80625d4 ) 806239a: 681b ldr r3, [r3, #0] 806239c: ee07 3a90 vmov s15, r3 80623a0: eef8 7a67 vcvt.f32.u32 s15, s15 80623a4: ed9f 7a8e vldr s14, [pc, #568] ; 80625e0 80623a8: ee27 7a87 vmul.f32 s14, s15, s14 80623ac: 4b8f ldr r3, [pc, #572] ; (80625ec ) 80623ae: edd3 6a00 vldr s13, [r3] 80623b2: eec6 7a87 vdiv.f32 s15, s13, s14 80623b6: 4b8d ldr r3, [pc, #564] ; (80625ec ) 80623b8: edc3 7a00 vstr s15, [r3] arm_sqrt_f32(rms6_3, &Third[9]); 80623bc: 4b8b ldr r3, [pc, #556] ; (80625ec ) 80623be: edd3 7a00 vldr s15, [r3] 80623c2: 463b mov r3, r7 80623c4: 3324 adds r3, #36 ; 0x24 80623c6: 4618 mov r0, r3 80623c8: eeb0 0a67 vmov.f32 s0, s15 80623cc: f7f3 faf0 bl 80559b0 rms5 /= (32.0f * (float32_t) MeanCnt); 80623d0: 4b80 ldr r3, [pc, #512] ; (80625d4 ) 80623d2: 681b ldr r3, [r3, #0] 80623d4: ee07 3a90 vmov s15, r3 80623d8: eef8 7a67 vcvt.f32.u32 s15, s15 80623dc: ed9f 7a84 vldr s14, [pc, #528] ; 80625f0 80623e0: ee27 7a87 vmul.f32 s14, s15, s14 80623e4: 4b83 ldr r3, [pc, #524] ; (80625f4 ) 80623e6: edd3 6a00 vldr s13, [r3] 80623ea: eec6 7a87 vdiv.f32 s15, s13, s14 80623ee: 4b81 ldr r3, [pc, #516] ; (80625f4 ) 80623f0: edc3 7a00 vstr s15, [r3] arm_sqrt_f32(rms5, &Third[8]); 80623f4: 4b7f ldr r3, [pc, #508] ; (80625f4 ) 80623f6: edd3 7a00 vldr s15, [r3] 80623fa: 463b mov r3, r7 80623fc: 3320 adds r3, #32 80623fe: 4618 mov r0, r3 8062400: eeb0 0a67 vmov.f32 s0, s15 8062404: f7f3 fad4 bl 80559b0 rms4 /= (32.0f * (float32_t) MeanCnt); 8062408: 4b72 ldr r3, [pc, #456] ; (80625d4 ) 806240a: 681b ldr r3, [r3, #0] 806240c: ee07 3a90 vmov s15, r3 8062410: eef8 7a67 vcvt.f32.u32 s15, s15 8062414: ed9f 7a76 vldr s14, [pc, #472] ; 80625f0 8062418: ee27 7a87 vmul.f32 s14, s15, s14 806241c: 4b76 ldr r3, [pc, #472] ; (80625f8 ) 806241e: edd3 6a00 vldr s13, [r3] 8062422: eec6 7a87 vdiv.f32 s15, s13, s14 8062426: 4b74 ldr r3, [pc, #464] ; (80625f8 ) 8062428: edc3 7a00 vstr s15, [r3] arm_sqrt_f32(rms4, &Third[7]); 806242c: 4b72 ldr r3, [pc, #456] ; (80625f8 ) 806242e: edd3 7a00 vldr s15, [r3] 8062432: 463b mov r3, r7 8062434: 331c adds r3, #28 8062436: 4618 mov r0, r3 8062438: eeb0 0a67 vmov.f32 s0, s15 806243c: f7f3 fab8 bl 80559b0 rms3_15 /= (32.0f * (float32_t) MeanCnt); 8062440: 4b64 ldr r3, [pc, #400] ; (80625d4 ) 8062442: 681b ldr r3, [r3, #0] 8062444: ee07 3a90 vmov s15, r3 8062448: eef8 7a67 vcvt.f32.u32 s15, s15 806244c: ed9f 7a68 vldr s14, [pc, #416] ; 80625f0 8062450: ee27 7a87 vmul.f32 s14, s15, s14 8062454: 4b69 ldr r3, [pc, #420] ; (80625fc ) 8062456: edd3 6a00 vldr s13, [r3] 806245a: eec6 7a87 vdiv.f32 s15, s13, s14 806245e: 4b67 ldr r3, [pc, #412] ; (80625fc ) 8062460: edc3 7a00 vstr s15, [r3] arm_sqrt_f32(rms3_15, &Third[6]); 8062464: 4b65 ldr r3, [pc, #404] ; (80625fc ) 8062466: edd3 7a00 vldr s15, [r3] 806246a: 463b mov r3, r7 806246c: 3318 adds r3, #24 806246e: 4618 mov r0, r3 8062470: eeb0 0a67 vmov.f32 s0, s15 8062474: f7f3 fa9c bl 80559b0 rms2_5 /= (16.0f * (float32_t) MeanCnt); 8062478: 4b56 ldr r3, [pc, #344] ; (80625d4 ) 806247a: 681b ldr r3, [r3, #0] 806247c: ee07 3a90 vmov s15, r3 8062480: eef8 7a67 vcvt.f32.u32 s15, s15 8062484: eeb3 7a00 vmov.f32 s14, #48 ; 0x41800000 16.0 8062488: ee27 7a87 vmul.f32 s14, s15, s14 806248c: 4b5c ldr r3, [pc, #368] ; (8062600 ) 806248e: edd3 6a00 vldr s13, [r3] 8062492: eec6 7a87 vdiv.f32 s15, s13, s14 8062496: 4b5a ldr r3, [pc, #360] ; (8062600 ) 8062498: edc3 7a00 vstr s15, [r3] arm_sqrt_f32(rms2_5, &Third[5]); 806249c: 4b58 ldr r3, [pc, #352] ; (8062600 ) 806249e: edd3 7a00 vldr s15, [r3] 80624a2: 463b mov r3, r7 80624a4: 3314 adds r3, #20 80624a6: 4618 mov r0, r3 80624a8: eeb0 0a67 vmov.f32 s0, s15 80624ac: f7f3 fa80 bl 80559b0 rms2 /= (16.0f * (float32_t) MeanCnt); 80624b0: 4b48 ldr r3, [pc, #288] ; (80625d4 ) 80624b2: 681b ldr r3, [r3, #0] 80624b4: ee07 3a90 vmov s15, r3 80624b8: eef8 7a67 vcvt.f32.u32 s15, s15 80624bc: eeb3 7a00 vmov.f32 s14, #48 ; 0x41800000 16.0 80624c0: ee27 7a87 vmul.f32 s14, s15, s14 80624c4: 4b4f ldr r3, [pc, #316] ; (8062604 ) 80624c6: edd3 6a00 vldr s13, [r3] 80624ca: eec6 7a87 vdiv.f32 s15, s13, s14 80624ce: 4b4d ldr r3, [pc, #308] ; (8062604 ) 80624d0: edc3 7a00 vstr s15, [r3] arm_sqrt_f32(rms2, &Third[4]); 80624d4: 4b4b ldr r3, [pc, #300] ; (8062604 ) 80624d6: edd3 7a00 vldr s15, [r3] 80624da: 463b mov r3, r7 80624dc: 3310 adds r3, #16 80624de: 4618 mov r0, r3 80624e0: eeb0 0a67 vmov.f32 s0, s15 80624e4: f7f3 fa64 bl 80559b0 rms1_6 /= (16.0f * (float32_t) MeanCnt); 80624e8: 4b3a ldr r3, [pc, #232] ; (80625d4 ) 80624ea: 681b ldr r3, [r3, #0] 80624ec: ee07 3a90 vmov s15, r3 80624f0: eef8 7a67 vcvt.f32.u32 s15, s15 80624f4: eeb3 7a00 vmov.f32 s14, #48 ; 0x41800000 16.0 80624f8: ee27 7a87 vmul.f32 s14, s15, s14 80624fc: 4b42 ldr r3, [pc, #264] ; (8062608 ) 80624fe: edd3 6a00 vldr s13, [r3] 8062502: eec6 7a87 vdiv.f32 s15, s13, s14 8062506: 4b40 ldr r3, [pc, #256] ; (8062608 ) 8062508: edc3 7a00 vstr s15, [r3] arm_sqrt_f32(rms1_6, &Third[3]); 806250c: 4b3e ldr r3, [pc, #248] ; (8062608 ) 806250e: edd3 7a00 vldr s15, [r3] 8062512: 463b mov r3, r7 8062514: 330c adds r3, #12 8062516: 4618 mov r0, r3 8062518: eeb0 0a67 vmov.f32 s0, s15 806251c: f7f3 fa48 bl 80559b0 rms1_25 /= (8.0f * (float32_t) MeanCnt); 8062520: 4b2c ldr r3, [pc, #176] ; (80625d4 ) 8062522: 681b ldr r3, [r3, #0] 8062524: ee07 3a90 vmov s15, r3 8062528: eef8 7a67 vcvt.f32.u32 s15, s15 806252c: eeb2 7a00 vmov.f32 s14, #32 ; 0x41000000 8.0 8062530: ee27 7a87 vmul.f32 s14, s15, s14 8062534: 4b35 ldr r3, [pc, #212] ; (806260c ) 8062536: edd3 6a00 vldr s13, [r3] 806253a: eec6 7a87 vdiv.f32 s15, s13, s14 806253e: 4b33 ldr r3, [pc, #204] ; (806260c ) 8062540: edc3 7a00 vstr s15, [r3] arm_sqrt_f32(rms1_25, &Third[2]); 8062544: 4b31 ldr r3, [pc, #196] ; (806260c ) 8062546: edd3 7a00 vldr s15, [r3] 806254a: 463b mov r3, r7 806254c: 3308 adds r3, #8 806254e: 4618 mov r0, r3 8062550: eeb0 0a67 vmov.f32 s0, s15 8062554: f7f3 fa2c bl 80559b0 rms1 /= (8.0f * (float32_t) MeanCnt); 8062558: 4b1e ldr r3, [pc, #120] ; (80625d4 ) 806255a: 681b ldr r3, [r3, #0] 806255c: ee07 3a90 vmov s15, r3 8062560: eef8 7a67 vcvt.f32.u32 s15, s15 8062564: eeb2 7a00 vmov.f32 s14, #32 ; 0x41000000 8.0 8062568: ee27 7a87 vmul.f32 s14, s15, s14 806256c: 4b28 ldr r3, [pc, #160] ; (8062610 ) 806256e: edd3 6a00 vldr s13, [r3] 8062572: eec6 7a87 vdiv.f32 s15, s13, s14 8062576: 4b26 ldr r3, [pc, #152] ; (8062610 ) 8062578: edc3 7a00 vstr s15, [r3] arm_sqrt_f32(rms1, &Third[1]); 806257c: 4b24 ldr r3, [pc, #144] ; (8062610 ) 806257e: edd3 7a00 vldr s15, [r3] 8062582: 463b mov r3, r7 8062584: 3304 adds r3, #4 8062586: 4618 mov r0, r3 8062588: eeb0 0a67 vmov.f32 s0, s15 806258c: f7f3 fa10 bl 80559b0 rms0_8 /= (8.0f * (float32_t) MeanCnt); 8062590: 4b10 ldr r3, [pc, #64] ; (80625d4 ) 8062592: 681b ldr r3, [r3, #0] 8062594: ee07 3a90 vmov s15, r3 8062598: eef8 7a67 vcvt.f32.u32 s15, s15 806259c: eeb2 7a00 vmov.f32 s14, #32 ; 0x41000000 8.0 80625a0: ee27 7a87 vmul.f32 s14, s15, s14 80625a4: 4b08 ldr r3, [pc, #32] ; (80625c8 ) 80625a6: edd3 6a00 vldr s13, [r3] 80625aa: eec6 7a87 vdiv.f32 s15, s13, s14 80625ae: 4b06 ldr r3, [pc, #24] ; (80625c8 ) 80625b0: edc3 7a00 vstr s15, [r3] arm_sqrt_f32(rms0_8, &Third[0]); 80625b4: 4b04 ldr r3, [pc, #16] ; (80625c8 ) 80625b6: edd3 7a00 vldr s15, [r3] 80625ba: 463b mov r3, r7 80625bc: 4618 mov r0, r3 80625be: eeb0 0a67 vmov.f32 s0, s15 80625c2: f7f3 f9f5 bl 80559b0 80625c6: e055 b.n 8062674 80625c8: 20021cd4 .word 0x20021cd4 80625cc: e0001000 .word 0xe0001000 80625d0: 20020d90 .word 0x20020d90 80625d4: 20020db8 .word 0x20020db8 80625d8: 20023e60 .word 0x20023e60 80625dc: 080eeb00 .word 0x080eeb00 80625e0: 42800000 .word 0x42800000 80625e4: 20021d0c .word 0x20021d0c 80625e8: 20021cd0 .word 0x20021cd0 80625ec: 20021ce0 .word 0x20021ce0 80625f0: 42000000 .word 0x42000000 80625f4: 20021ce4 .word 0x20021ce4 80625f8: 20021d18 .word 0x20021d18 80625fc: 20021d14 .word 0x20021d14 8062600: 20021cf8 .word 0x20021cf8 8062604: 20021cd8 .word 0x20021cd8 8062608: 20021ccc .word 0x20021ccc 806260c: 20021cc8 .word 0x20021cc8 8062610: 20021d10 .word 0x20021d10 } else { Third[11] = rms10; 8062614: 4baa ldr r3, [pc, #680] ; (80628c0 ) 8062616: 681a ldr r2, [r3, #0] 8062618: 463b mov r3, r7 806261a: 62da str r2, [r3, #44] ; 0x2c Third[10] = rms8; 806261c: 4ba9 ldr r3, [pc, #676] ; (80628c4 ) 806261e: 681a ldr r2, [r3, #0] 8062620: 463b mov r3, r7 8062622: 629a str r2, [r3, #40] ; 0x28 Third[9] = rms6_3; 8062624: 4ba8 ldr r3, [pc, #672] ; (80628c8 ) 8062626: 681a ldr r2, [r3, #0] 8062628: 463b mov r3, r7 806262a: 625a str r2, [r3, #36] ; 0x24 Third[8] = rms5; 806262c: 4ba7 ldr r3, [pc, #668] ; (80628cc ) 806262e: 681a ldr r2, [r3, #0] 8062630: 463b mov r3, r7 8062632: 621a str r2, [r3, #32] Third[7] = rms4; 8062634: 4ba6 ldr r3, [pc, #664] ; (80628d0 ) 8062636: 681a ldr r2, [r3, #0] 8062638: 463b mov r3, r7 806263a: 61da str r2, [r3, #28] Third[6] = rms3_15; 806263c: 4ba5 ldr r3, [pc, #660] ; (80628d4 ) 806263e: 681a ldr r2, [r3, #0] 8062640: 463b mov r3, r7 8062642: 619a str r2, [r3, #24] Third[5] = rms2_5; 8062644: 4ba4 ldr r3, [pc, #656] ; (80628d8 ) 8062646: 681a ldr r2, [r3, #0] 8062648: 463b mov r3, r7 806264a: 615a str r2, [r3, #20] Third[4] = rms2; 806264c: 4ba3 ldr r3, [pc, #652] ; (80628dc ) 806264e: 681a ldr r2, [r3, #0] 8062650: 463b mov r3, r7 8062652: 611a str r2, [r3, #16] Third[3] = rms1_6; 8062654: 4ba2 ldr r3, [pc, #648] ; (80628e0 ) 8062656: 681a ldr r2, [r3, #0] 8062658: 463b mov r3, r7 806265a: 60da str r2, [r3, #12] Third[2] = rms1_25; 806265c: 4ba1 ldr r3, [pc, #644] ; (80628e4 ) 806265e: 681a ldr r2, [r3, #0] 8062660: 463b mov r3, r7 8062662: 609a str r2, [r3, #8] Third[1] = rms1; 8062664: 4ba0 ldr r3, [pc, #640] ; (80628e8 ) 8062666: 681a ldr r2, [r3, #0] 8062668: 463b mov r3, r7 806266a: 605a str r2, [r3, #4] Third[0] = rms0_8; 806266c: 4b9f ldr r3, [pc, #636] ; (80628ec ) 806266e: 681a ldr r2, [r3, #0] 8062670: 463b mov r3, r7 8062672: 601a str r2, [r3, #0] } fs = 1.0f; 8062674: f04f 537e mov.w r3, #1065353216 ; 0x3f800000 8062678: f8c7 31b8 str.w r3, [r7, #440] ; 0x1b8 if(pardata.IPR == VEL) 806267c: 4b9c ldr r3, [pc, #624] ; (80628f0 ) 806267e: 785b ldrb r3, [r3, #1] 8062680: b2db uxtb r3, r3 8062682: 2b01 cmp r3, #1 8062684: d103 bne.n 806268e fs = 249.135f; 8062686: 4b9b ldr r3, [pc, #620] ; (80628f4 ) 8062688: f8c7 31b8 str.w r3, [r7, #440] ; 0x1b8 806268c: e007 b.n 806269e else if(pardata.IPR == DIS) 806268e: 4b98 ldr r3, [pc, #608] ; (80628f0 ) 8062690: 785b ldrb r3, [r3, #1] 8062692: b2db uxtb r3, r3 8062694: 2b02 cmp r3, #2 8062696: d102 bne.n 806269e fs = 61400.171f; 8062698: 4b97 ldr r3, [pc, #604] ; (80628f8 ) 806269a: f8c7 31b8 str.w r3, [r7, #440] ; 0x1b8 for(i = 0; i < 39; i++) { 806269e: 2300 movs r3, #0 80626a0: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 80626a4: e016 b.n 80626d4 In[i] = Third[i] * fs; 80626a6: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80626aa: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80626ae: 4639 mov r1, r7 80626b0: 0092 lsls r2, r2, #2 80626b2: 440a add r2, r1 80626b4: ed92 7a00 vldr s14, [r2] 80626b8: edd7 7a6e vldr s15, [r7, #440] ; 0x1b8 80626bc: ee67 7a27 vmul.f32 s15, s14, s15 80626c0: 4a8e ldr r2, [pc, #568] ; (80628fc ) 80626c2: 009b lsls r3, r3, #2 80626c4: 4413 add r3, r2 80626c6: edc3 7a00 vstr s15, [r3] for(i = 0; i < 39; i++) { 80626ca: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80626ce: 3301 adds r3, #1 80626d0: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 80626d4: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80626d8: 2b26 cmp r3, #38 ; 0x26 80626da: d9e4 bls.n 80626a6 } if(pardata.IPR > ACC) { 80626dc: 4b84 ldr r3, [pc, #528] ; (80628f0 ) 80626de: 785b ldrb r3, [r3, #1] 80626e0: b2db uxtb r3, r3 80626e2: 2b00 cmp r3, #0 80626e4: d015 beq.n 8062712 In[0] = In[1] = In[2] = In[3] = In[41] = 0.0f; 80626e6: 4b85 ldr r3, [pc, #532] ; (80628fc ) 80626e8: f04f 0200 mov.w r2, #0 80626ec: f8c3 20a4 str.w r2, [r3, #164] ; 0xa4 80626f0: 4b82 ldr r3, [pc, #520] ; (80628fc ) 80626f2: f8d3 30a4 ldr.w r3, [r3, #164] ; 0xa4 80626f6: 4a81 ldr r2, [pc, #516] ; (80628fc ) 80626f8: 60d3 str r3, [r2, #12] 80626fa: 4b80 ldr r3, [pc, #512] ; (80628fc ) 80626fc: 68db ldr r3, [r3, #12] 80626fe: 4a7f ldr r2, [pc, #508] ; (80628fc ) 8062700: 6093 str r3, [r2, #8] 8062702: 4b7e ldr r3, [pc, #504] ; (80628fc ) 8062704: 689b ldr r3, [r3, #8] 8062706: 4a7d ldr r2, [pc, #500] ; (80628fc ) 8062708: 6053 str r3, [r2, #4] 806270a: 4b7c ldr r3, [pc, #496] ; (80628fc ) 806270c: 685b ldr r3, [r3, #4] 806270e: 4a7b ldr r2, [pc, #492] ; (80628fc ) 8062710: 6013 str r3, [r2, #0] } rms0_8 = 0.0f; 8062712: 4b76 ldr r3, [pc, #472] ; (80628ec ) 8062714: f04f 0200 mov.w r2, #0 8062718: 601a str r2, [r3, #0] rms1 = 0.0f; 806271a: 4b73 ldr r3, [pc, #460] ; (80628e8 ) 806271c: f04f 0200 mov.w r2, #0 8062720: 601a str r2, [r3, #0] rms1_25 = 0.0f; 8062722: 4b70 ldr r3, [pc, #448] ; (80628e4 ) 8062724: f04f 0200 mov.w r2, #0 8062728: 601a str r2, [r3, #0] rms1_6 = 0.0f; 806272a: 4b6d ldr r3, [pc, #436] ; (80628e0 ) 806272c: f04f 0200 mov.w r2, #0 8062730: 601a str r2, [r3, #0] rms2 = 0.0f; 8062732: 4b6a ldr r3, [pc, #424] ; (80628dc ) 8062734: f04f 0200 mov.w r2, #0 8062738: 601a str r2, [r3, #0] rms2_5 = 0.0f; 806273a: 4b67 ldr r3, [pc, #412] ; (80628d8 ) 806273c: f04f 0200 mov.w r2, #0 8062740: 601a str r2, [r3, #0] rms3_15 = 0.0f; 8062742: 4b64 ldr r3, [pc, #400] ; (80628d4 ) 8062744: f04f 0200 mov.w r2, #0 8062748: 601a str r2, [r3, #0] rms4 = 0.0f; 806274a: 4b61 ldr r3, [pc, #388] ; (80628d0 ) 806274c: f04f 0200 mov.w r2, #0 8062750: 601a str r2, [r3, #0] rms5 = 0.0f; 8062752: 4b5e ldr r3, [pc, #376] ; (80628cc ) 8062754: f04f 0200 mov.w r2, #0 8062758: 601a str r2, [r3, #0] rms6_3 = 0.0f; 806275a: 4b5b ldr r3, [pc, #364] ; (80628c8 ) 806275c: f04f 0200 mov.w r2, #0 8062760: 601a str r2, [r3, #0] rms8 = 0.0f; 8062762: 4b58 ldr r3, [pc, #352] ; (80628c4 ) 8062764: f04f 0200 mov.w r2, #0 8062768: 601a str r2, [r3, #0] rms10 = 0.0f; 806276a: 4b55 ldr r3, [pc, #340] ; (80628c0 ) 806276c: f04f 0200 mov.w r2, #0 8062770: 601a str r2, [r3, #0] FastCopy16(IN_Reg, SCR_Reg, 84); 8062772: 2254 movs r2, #84 ; 0x54 8062774: 2104 movs r1, #4 8062776: 2001 movs r0, #1 8062778: f001 fde2 bl 8064340 if(firstOkt) 806277c: 4b60 ldr r3, [pc, #384] ; (8062900 ) 806277e: 781b ldrb r3, [r3, #0] 8062780: b2db uxtb r3, r3 8062782: 2b00 cmp r3, #0 8062784: d005 beq.n 8062792 { firstOkt = false; 8062786: 4b5e ldr r3, [pc, #376] ; (8062900 ) 8062788: 2200 movs r2, #0 806278a: 701a strb r2, [r3, #0] AUTOZOOM = true; 806278c: 4b5d ldr r3, [pc, #372] ; (8062904 ) 806278e: 2201 movs r2, #1 8062790: 701a strb r2, [r3, #0] } READY_TO_SEE = true; 8062792: 4b5d ldr r3, [pc, #372] ; (8062908 ) 8062794: 2201 movs r2, #1 8062796: 701a strb r2, [r3, #0] MeanCnt = 0; 8062798: 4b5c ldr r3, [pc, #368] ; (806290c ) 806279a: 2200 movs r2, #0 806279c: 601a str r2, [r3, #0] } } //**************************************************************************** cntcnt = DWT->CYCCNT - cntcnt; 806279e: 4b5c ldr r3, [pc, #368] ; (8062910 ) 80627a0: 685b ldr r3, [r3, #4] 80627a2: 4619 mov r1, r3 80627a4: f04f 0200 mov.w r2, #0 80627a8: f507 73f4 add.w r3, r7, #488 ; 0x1e8 80627ac: cb18 ldmia r3, {r3, r4} 80627ae: 1acb subs r3, r1, r3 80627b0: eb62 0404 sbc.w r4, r2, r4 80627b4: f507 72f4 add.w r2, r7, #488 ; 0x1e8 80627b8: e882 0018 stmia.w r2, {r3, r4} cntcnt = 0; 80627bc: f04f 0300 mov.w r3, #0 80627c0: f04f 0400 mov.w r4, #0 80627c4: f507 72f4 add.w r2, r7, #488 ; 0x1e8 80627c8: e882 0018 stmia.w r2, {r3, r4} { 80627cc: bf00 nop else { RepeatKm = true; } } break; 80627ce: f001 bc74 b.w 80640ba RepeatKm = true; 80627d2: 4b50 ldr r3, [pc, #320] ; (8062914 ) 80627d4: 2201 movs r2, #1 80627d6: 701a strb r2, [r3, #0] break; 80627d8: f001 bc6f b.w 80640ba case OSC: // TODO if(measuring) 80627dc: 4b4e ldr r3, [pc, #312] ; (8062918 ) 80627de: 781b ldrb r3, [r3, #0] 80627e0: b2db uxtb r3, r3 80627e2: 2b00 cmp r3, #0 80627e4: f001 846b beq.w 80640be { tick = DWT->CYCCNT; 80627e8: 4b49 ldr r3, [pc, #292] ; (8062910 ) 80627ea: 685b ldr r3, [r3, #4] 80627ec: f8c7 321c str.w r3, [r7, #540] ; 0x21c GetData(); 80627f0: f001 ff1c bl 806462c j = 0; 80627f4: 2300 movs r3, #0 80627f6: f8c7 31cc str.w r3, [r7, #460] ; 0x1cc if(Threshold) 80627fa: 4b48 ldr r3, [pc, #288] ; (806291c ) 80627fc: 781b ldrb r3, [r3, #0] 80627fe: b2db uxtb r3, r3 8062800: 2b00 cmp r3, #0 8062802: d00b beq.n 806281c { Flag_Set_KU = 0; 8062804: 4b46 ldr r3, [pc, #280] ; (8062920 ) 8062806: 2200 movs r2, #0 8062808: 701a strb r2, [r3, #0] Stability = (Nr * 4) + 1; 806280a: 4b46 ldr r3, [pc, #280] ; (8062924 ) 806280c: 881b ldrh r3, [r3, #0] 806280e: b29b uxth r3, r3 8062810: 009b lsls r3, r3, #2 8062812: 3301 adds r3, #1 8062814: 461a mov r2, r3 8062816: 4b44 ldr r3, [pc, #272] ; (8062928 ) 8062818: 601a str r2, [r3, #0] 806281a: e03e b.n 806289a } else { if(pardata.OPTIONS & 0x4) 806281c: 4b34 ldr r3, [pc, #208] ; (80628f0 ) 806281e: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8062822: f003 0304 and.w r3, r3, #4 8062826: 2b00 cmp r3, #0 8062828: d005 beq.n 8062836 CalculateGain(Ns); 806282a: 4b40 ldr r3, [pc, #256] ; (806292c ) 806282c: 681b ldr r3, [r3, #0] 806282e: 4618 mov r0, r3 8062830: f7f3 f8e0 bl 80559f4 8062834: e031 b.n 806289a else { Stability = (Nr * 4) + 1; 8062836: 4b3b ldr r3, [pc, #236] ; (8062924 ) 8062838: 881b ldrh r3, [r3, #0] 806283a: b29b uxth r3, r3 806283c: 009b lsls r3, r3, #2 806283e: 3301 adds r3, #1 8062840: 461a mov r2, r3 8062842: 4b39 ldr r3, [pc, #228] ; (8062928 ) 8062844: 601a str r2, [r3, #0] j = 0; 8062846: 2300 movs r3, #0 8062848: f8c7 31cc str.w r3, [r7, #460] ; 0x1cc /*if(pardata.IPR > ACC) blockSize = (Ns << 1); else blockSize = Ns;*/ for(i = 0; i < Ns; i++) 806284c: 2300 movs r3, #0 806284e: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8062852: e011 b.n 8062878 { if(In16[i].lg > 0xE00000) 8062854: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8062858: 4a35 ldr r2, [pc, #212] ; (8062930 ) 806285a: f852 3023 ldr.w r3, [r2, r3, lsl #2] 806285e: f5b3 0f60 cmp.w r3, #14680064 ; 0xe00000 8062862: d904 bls.n 806286e j++; 8062864: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 8062868: 3301 adds r3, #1 806286a: f8c7 31cc str.w r3, [r7, #460] ; 0x1cc for(i = 0; i < Ns; i++) 806286e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8062872: 3301 adds r3, #1 8062874: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8062878: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 806287c: 4b2b ldr r3, [pc, #172] ; (806292c ) 806287e: 681b ldr r3, [r3, #0] 8062880: 429a cmp r2, r3 8062882: d3e7 bcc.n 8062854 } if(j >= 2) 8062884: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 8062888: 2b01 cmp r3, #1 806288a: d903 bls.n 8062894 OVERDRIVE = true; 806288c: 4b29 ldr r3, [pc, #164] ; (8062934 ) 806288e: 2201 movs r2, #1 8062890: 701a strb r2, [r3, #0] 8062892: e002 b.n 806289a else OVERDRIVE = false; 8062894: 4b27 ldr r3, [pc, #156] ; (8062934 ) 8062896: 2200 movs r2, #0 8062898: 701a strb r2, [r3, #0] } } if(Flag_Set_KU) 806289a: 4b21 ldr r3, [pc, #132] ; (8062920 ) 806289c: 781b ldrb r3, [r3, #0] 806289e: b2db uxtb r3, r3 80628a0: 2b00 cmp r3, #0 80628a2: d04f beq.n 8062944 { Stability = 0; 80628a4: 4b20 ldr r3, [pc, #128] ; (8062928 ) 80628a6: 2200 movs r2, #0 80628a8: 601a str r2, [r3, #0] NSamples = 0xffffffff; 80628aa: 4b23 ldr r3, [pc, #140] ; (8062938 ) 80628ac: f04f 32ff mov.w r2, #4294967295 80628b0: 601a str r2, [r3, #0] timeRelax = RELAX + 1; 80628b2: 4b22 ldr r3, [pc, #136] ; (806293c ) 80628b4: 681b ldr r3, [r3, #0] 80628b6: 3301 adds r3, #1 80628b8: 4a21 ldr r2, [pc, #132] ; (8062940 ) 80628ba: 6013 str r3, [r2, #0] 80628bc: e050 b.n 8062960 80628be: bf00 nop 80628c0: 20021d0c .word 0x20021d0c 80628c4: 20021cd0 .word 0x20021cd0 80628c8: 20021ce0 .word 0x20021ce0 80628cc: 20021ce4 .word 0x20021ce4 80628d0: 20021d18 .word 0x20021d18 80628d4: 20021d14 .word 0x20021d14 80628d8: 20021cf8 .word 0x20021cf8 80628dc: 20021cd8 .word 0x20021cd8 80628e0: 20021ccc .word 0x20021ccc 80628e4: 20021cc8 .word 0x20021cc8 80628e8: 20021d10 .word 0x20021d10 80628ec: 20021cd4 .word 0x20021cd4 80628f0: 20023e60 .word 0x20023e60 80628f4: 4379228f .word 0x4379228f 80628f8: 476fd82c .word 0x476fd82c 80628fc: 200279c0 .word 0x200279c0 8062900: 20020d94 .word 0x20020d94 8062904: 2002098c .word 0x2002098c 8062908: 20020d8e .word 0x20020d8e 806290c: 20020db8 .word 0x20020db8 8062910: e0001000 .word 0xe0001000 8062914: 20020dac .word 0x20020dac 8062918: 20020daf .word 0x20020daf 806291c: 20020db1 .word 0x20020db1 8062920: 20020d7e .word 0x20020d7e 8062924: 20021d20 .word 0x20021d20 8062928: 20020da8 .word 0x20020da8 806292c: 20021cdc .word 0x20021cdc 8062930: 20058020 .word 0x20058020 8062934: 20021531 .word 0x20021531 8062938: 20020d88 .word 0x20020d88 806293c: 20020d70 .word 0x20020d70 8062940: 20020d6c .word 0x20020d6c len = strlen((void *) pBuff_u8); SendData(pBuff_u8, len + 1);*/ } else { if(Stability <= (Nr * 4)) 8062944: 4bbe ldr r3, [pc, #760] ; (8062c40 ) 8062946: 881b ldrh r3, [r3, #0] 8062948: b29b uxth r3, r3 806294a: 009b lsls r3, r3, #2 806294c: 461a mov r2, r3 806294e: 4bbd ldr r3, [pc, #756] ; (8062c44 ) 8062950: 681b ldr r3, [r3, #0] 8062952: 429a cmp r2, r3 8062954: d304 bcc.n 8062960 Stability++; 8062956: 4bbb ldr r3, [pc, #748] ; (8062c44 ) 8062958: 681b ldr r3, [r3, #0] 806295a: 3301 adds r3, #1 806295c: 4ab9 ldr r2, [pc, #740] ; (8062c44 ) 806295e: 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)))) 8062960: 4bb9 ldr r3, [pc, #740] ; (8062c48 ) 8062962: 781b ldrb r3, [r3, #0] 8062964: b2db uxtb r3, r3 8062966: 2b00 cmp r3, #0 8062968: f041 8015 bne.w 8063996 806296c: 4bb7 ldr r3, [pc, #732] ; (8062c4c ) 806296e: 781b ldrb r3, [r3, #0] 8062970: b2db uxtb r3, r3 8062972: 2b00 cmp r3, #0 8062974: d109 bne.n 806298a 8062976: 4bb2 ldr r3, [pc, #712] ; (8062c40 ) 8062978: 881b ldrh r3, [r3, #0] 806297a: b29b uxth r3, r3 806297c: 009b lsls r3, r3, #2 806297e: 461a mov r2, r3 8062980: 4bb0 ldr r3, [pc, #704] ; (8062c44 ) 8062982: 681b ldr r3, [r3, #0] 8062984: 429a cmp r2, r3 8062986: f081 8006 bcs.w 8063996 { if(pardata.IPR == ACC) 806298a: 4bb1 ldr r3, [pc, #708] ; (8062c50 ) 806298c: 785b ldrb r3, [r3, #1] 806298e: b2db uxtb r3, r3 8062990: 2b00 cmp r3, #0 8062992: f040 8082 bne.w 8062a9a { fNrm = 1.0f / (float32_t) (Ns >> 1); 8062996: 4baf ldr r3, [pc, #700] ; (8062c54 ) 8062998: 681b ldr r3, [r3, #0] 806299a: 085b lsrs r3, r3, #1 806299c: ee07 3a90 vmov s15, r3 80629a0: eeb8 7a67 vcvt.f32.u32 s14, s15 80629a4: eef7 6a00 vmov.f32 s13, #112 ; 0x3f800000 1.0 80629a8: eec6 7a87 vdiv.f32 s15, s13, s14 80629ac: edc7 7a85 vstr s15, [r7, #532] ; 0x214 sc = (6.0 / 16777215.0) * (float64_t) CorrKk[ACC]; 80629b0: 4ba9 ldr r3, [pc, #676] ; (8062c58 ) 80629b2: edd3 7a00 vldr s15, [r3] 80629b6: eeb7 7ae7 vcvt.f64.f32 d7, s15 80629ba: ed9f 6b9f vldr d6, [pc, #636] ; 8062c38 80629be: ee27 7b06 vmul.f64 d7, d7, d6 80629c2: ed87 7b82 vstr d7, [r7, #520] ; 0x208 sc /= (float64_t) pardata.IKK; 80629c6: 4ba2 ldr r3, [pc, #648] ; (8062c50 ) 80629c8: edd3 7a04 vldr s15, [r3, #16] 80629cc: eeb7 6ae7 vcvt.f64.f32 d6, s15 80629d0: ed97 5b82 vldr d5, [r7, #520] ; 0x208 80629d4: ee85 7b06 vdiv.f64 d7, d5, d6 80629d8: ed87 7b82 vstr d7, [r7, #520] ; 0x208 for(i = 0; i < Ns; i++) 80629dc: 2300 movs r3, #0 80629de: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 80629e2: e026 b.n 8062a32 { Buff64[i] = (float64_t) In16[i].lg; 80629e4: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80629e8: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80629ec: 499b ldr r1, [pc, #620] ; (8062c5c ) 80629ee: f851 2022 ldr.w r2, [r1, r2, lsl #2] 80629f2: ee07 2a90 vmov s15, r2 80629f6: eeb8 7b67 vcvt.f64.u32 d7, s15 80629fa: 4a99 ldr r2, [pc, #612] ; (8062c60 ) 80629fc: 00db lsls r3, r3, #3 80629fe: 4413 add r3, r2 8062a00: ed83 7b00 vstr d7, [r3] Buff64[i] *= sc; 8062a04: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8062a08: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8062a0c: 4994 ldr r1, [pc, #592] ; (8062c60 ) 8062a0e: 00d2 lsls r2, r2, #3 8062a10: 440a add r2, r1 8062a12: ed92 6b00 vldr d6, [r2] 8062a16: ed97 7b82 vldr d7, [r7, #520] ; 0x208 8062a1a: ee26 7b07 vmul.f64 d7, d6, d7 8062a1e: 4a90 ldr r2, [pc, #576] ; (8062c60 ) 8062a20: 00db lsls r3, r3, #3 8062a22: 4413 add r3, r2 8062a24: ed83 7b00 vstr d7, [r3] for(i = 0; i < Ns; i++) 8062a28: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8062a2c: 3301 adds r3, #1 8062a2e: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8062a32: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8062a36: 4b87 ldr r3, [pc, #540] ; (8062c54 ) 8062a38: 681b ldr r3, [r3, #0] 8062a3a: 429a cmp r2, r3 8062a3c: d3d2 bcc.n 80629e4 } arm_biquad_cascade_df2T_f64(&S_LP, Buff64, Buff64, Ns); 8062a3e: 4b85 ldr r3, [pc, #532] ; (8062c54 ) 8062a40: 681b ldr r3, [r3, #0] 8062a42: 4a87 ldr r2, [pc, #540] ; (8062c60 ) 8062a44: 4986 ldr r1, [pc, #536] ; (8062c60 ) 8062a46: 4887 ldr r0, [pc, #540] ; (8062c64 ) 8062a48: f067 fbac bl 80ca1a4 arm_biquad_cascade_df2T_f64(&S_HP_ACC, Buff64, Buff64, Ns); 8062a4c: 4b81 ldr r3, [pc, #516] ; (8062c54 ) 8062a4e: 681b ldr r3, [r3, #0] 8062a50: 4a83 ldr r2, [pc, #524] ; (8062c60 ) 8062a52: 4983 ldr r1, [pc, #524] ; (8062c60 ) 8062a54: 4884 ldr r0, [pc, #528] ; (8062c68 ) 8062a56: f067 fba5 bl 80ca1a4 for(i = 0; i < Ns; i++) 8062a5a: 2300 movs r3, #0 8062a5c: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8062a60: e014 b.n 8062a8c Out[i] = (float32_t) Buff64[i]; 8062a62: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8062a66: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8062a6a: 497d ldr r1, [pc, #500] ; (8062c60 ) 8062a6c: 00d2 lsls r2, r2, #3 8062a6e: 440a add r2, r1 8062a70: ed92 7b00 vldr d7, [r2] 8062a74: eef7 7bc7 vcvt.f32.f64 s15, d7 8062a78: 4a7c ldr r2, [pc, #496] ; (8062c6c ) 8062a7a: 009b lsls r3, r3, #2 8062a7c: 4413 add r3, r2 8062a7e: edc3 7a00 vstr s15, [r3] for(i = 0; i < Ns; i++) 8062a82: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8062a86: 3301 adds r3, #1 8062a88: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8062a8c: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8062a90: 4b70 ldr r3, [pc, #448] ; (8062c54 ) 8062a92: 681b ldr r3, [r3, #0] 8062a94: 429a cmp r2, r3 8062a96: d3e4 bcc.n 8062a62 8062a98: e087 b.n 8062baa } else { fNrm = 1.0f / (float32_t) (Ns >> 1); 8062a9a: 4b6e ldr r3, [pc, #440] ; (8062c54 ) 8062a9c: 681b ldr r3, [r3, #0] 8062a9e: 085b lsrs r3, r3, #1 8062aa0: ee07 3a90 vmov s15, r3 8062aa4: eeb8 7a67 vcvt.f32.u32 s14, s15 8062aa8: eef7 6a00 vmov.f32 s13, #112 ; 0x3f800000 1.0 8062aac: eec6 7a87 vdiv.f32 s15, s13, s14 8062ab0: edc7 7a85 vstr s15, [r7, #532] ; 0x214 sc = (6.0 / 16777215.0) * (float64_t) CorrKk[ACC]; 8062ab4: 4b68 ldr r3, [pc, #416] ; (8062c58 ) 8062ab6: edd3 7a00 vldr s15, [r3] 8062aba: eeb7 7ae7 vcvt.f64.f32 d7, s15 8062abe: ed9f 6b5e vldr d6, [pc, #376] ; 8062c38 8062ac2: ee27 7b06 vmul.f64 d7, d7, d6 8062ac6: ed87 7b82 vstr d7, [r7, #520] ; 0x208 fs = _b24 * CorrKk[ACC]; 8062aca: 4b63 ldr r3, [pc, #396] ; (8062c58 ) 8062acc: edd3 7a00 vldr s15, [r3] 8062ad0: ed9f 7a67 vldr s14, [pc, #412] ; 8062c70 8062ad4: ee67 7a87 vmul.f32 s15, s15, s14 8062ad8: edc7 7a6e vstr s15, [r7, #440] ; 0x1b8 for(i = 0; i < Ns; i++) 8062adc: 2300 movs r3, #0 8062ade: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8062ae2: e049 b.n 8062b78 { Buff64[i] = (float64_t) In16[i].lg; 8062ae4: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8062ae8: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8062aec: 495b ldr r1, [pc, #364] ; (8062c5c ) 8062aee: f851 2022 ldr.w r2, [r1, r2, lsl #2] 8062af2: ee07 2a90 vmov s15, r2 8062af6: eeb8 7b67 vcvt.f64.u32 d7, s15 8062afa: 4a59 ldr r2, [pc, #356] ; (8062c60 ) 8062afc: 00db lsls r3, r3, #3 8062afe: 4413 add r3, r2 8062b00: ed83 7b00 vstr d7, [r3] Buff64[i] *= sc; 8062b04: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8062b08: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8062b0c: 4954 ldr r1, [pc, #336] ; (8062c60 ) 8062b0e: 00d2 lsls r2, r2, #3 8062b10: 440a add r2, r1 8062b12: ed92 6b00 vldr d6, [r2] 8062b16: ed97 7b82 vldr d7, [r7, #520] ; 0x208 8062b1a: ee26 7b07 vmul.f64 d7, d6, d7 8062b1e: 4a50 ldr r2, [pc, #320] ; (8062c60 ) 8062b20: 00db lsls r3, r3, #3 8062b22: 4413 add r3, r2 8062b24: ed83 7b00 vstr d7, [r3] In[i] = (float32_t) In16[i].lg; 8062b28: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8062b2c: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8062b30: 494a ldr r1, [pc, #296] ; (8062c5c ) 8062b32: f851 2022 ldr.w r2, [r1, r2, lsl #2] 8062b36: ee07 2a90 vmov s15, r2 8062b3a: eef8 7a67 vcvt.f32.u32 s15, s15 8062b3e: 4a4d ldr r2, [pc, #308] ; (8062c74 ) 8062b40: 009b lsls r3, r3, #2 8062b42: 4413 add r3, r2 8062b44: edc3 7a00 vstr s15, [r3] In[i] -= MEAN; 8062b48: 4b4b ldr r3, [pc, #300] ; (8062c78 ) 8062b4a: edd3 7a00 vldr s15, [r3] 8062b4e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8062b52: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8062b56: 4947 ldr r1, [pc, #284] ; (8062c74 ) 8062b58: 0092 lsls r2, r2, #2 8062b5a: 440a add r2, r1 8062b5c: ed92 7a00 vldr s14, [r2] 8062b60: ee77 7a67 vsub.f32 s15, s14, s15 8062b64: 4a43 ldr r2, [pc, #268] ; (8062c74 ) 8062b66: 009b lsls r3, r3, #2 8062b68: 4413 add r3, r2 8062b6a: edc3 7a00 vstr s15, [r3] for(i = 0; i < Ns; i++) 8062b6e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8062b72: 3301 adds r3, #1 8062b74: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8062b78: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8062b7c: 4b35 ldr r3, [pc, #212] ; (8062c54 ) 8062b7e: 681b ldr r3, [r3, #0] 8062b80: 429a cmp r2, r3 8062b82: d3af bcc.n 8062ae4 } arm_scale_f32(In, fs, Out, Ns); 8062b84: edd7 7a6e vldr s15, [r7, #440] ; 0x1b8 8062b88: 4b32 ldr r3, [pc, #200] ; (8062c54 ) 8062b8a: 681b ldr r3, [r3, #0] 8062b8c: 461a mov r2, r3 8062b8e: 4937 ldr r1, [pc, #220] ; (8062c6c ) 8062b90: eeb0 0a67 vmov.f32 s0, s15 8062b94: 4837 ldr r0, [pc, #220] ; (8062c74 ) 8062b96: f067 fdbb bl 80ca710 arm_rms_f32(Out, Ns, &rms); 8062b9a: 4b2e ldr r3, [pc, #184] ; (8062c54 ) 8062b9c: 681b ldr r3, [r3, #0] 8062b9e: f507 7286 add.w r2, r7, #268 ; 0x10c 8062ba2: 4619 mov r1, r3 8062ba4: 4831 ldr r0, [pc, #196] ; (8062c6c ) 8062ba6: f067 f95b bl 80c9e60 } MeanCnt++; 8062baa: 4b34 ldr r3, [pc, #208] ; (8062c7c ) 8062bac: 681b ldr r3, [r3, #0] 8062bae: 3301 adds r3, #1 8062bb0: 4a32 ldr r2, [pc, #200] ; (8062c7c ) 8062bb2: 6013 str r3, [r2, #0] if(pardata.IPR == ACC) 8062bb4: 4b26 ldr r3, [pc, #152] ; (8062c50 ) 8062bb6: 785b ldrb r3, [r3, #1] 8062bb8: b2db uxtb r3, r3 8062bba: 2b00 cmp r3, #0 8062bbc: f040 851d bne.w 80635fa { if(Threshold) 8062bc0: 4b22 ldr r3, [pc, #136] ; (8062c4c ) 8062bc2: 781b ldrb r3, [r3, #0] 8062bc4: b2db uxtb r3, r3 8062bc6: 2b00 cmp r3, #0 8062bc8: f000 8498 beq.w 80634fc { if(timeRelax) 8062bcc: 4b2c ldr r3, [pc, #176] ; (8062c80 ) 8062bce: 681b ldr r3, [r3, #0] 8062bd0: 2b00 cmp r3, #0 8062bd2: d01b beq.n 8062c0c { timeRelax--; 8062bd4: 4b2a ldr r3, [pc, #168] ; (8062c80 ) 8062bd6: 681b ldr r3, [r3, #0] 8062bd8: 3b01 subs r3, #1 8062bda: 4a29 ldr r2, [pc, #164] ; (8062c80 ) 8062bdc: 6013 str r3, [r2, #0] skz[pardata.IPR] = skzDB[pardata.IPR] = 0.0f; 8062bde: 4b1c ldr r3, [pc, #112] ; (8062c50 ) 8062be0: 785b ldrb r3, [r3, #1] 8062be2: b2db uxtb r3, r3 8062be4: 4618 mov r0, r3 8062be6: 4b1a ldr r3, [pc, #104] ; (8062c50 ) 8062be8: 785b ldrb r3, [r3, #1] 8062bea: b2db uxtb r3, r3 8062bec: 4925 ldr r1, [pc, #148] ; (8062c84 ) 8062bee: 009a lsls r2, r3, #2 8062bf0: 440a add r2, r1 8062bf2: f04f 0100 mov.w r1, #0 8062bf6: 6011 str r1, [r2, #0] 8062bf8: 4a22 ldr r2, [pc, #136] ; (8062c84 ) 8062bfa: 009b lsls r3, r3, #2 8062bfc: 4413 add r3, r2 8062bfe: 681a ldr r2, [r3, #0] 8062c00: 4921 ldr r1, [pc, #132] ; (8062c88 ) 8062c02: 0083 lsls r3, r0, #2 8062c04: 440b add r3, r1 8062c06: 601a str r2, [r3, #0] 8062c08: f000 be47 b.w 806389a } else { if(AutoStop == false) // åñëè ïðåâûøåíèÿ ïîðîãà íå áûëî 8062c0c: 4b1f ldr r3, [pc, #124] ; (8062c8c ) 8062c0e: 781b ldrb r3, [r3, #0] 8062c10: b2db uxtb r3, r3 8062c12: f083 0301 eor.w r3, r3, #1 8062c16: b2db uxtb r3, r3 8062c18: 2b00 cmp r3, #0 8062c1a: f000 8288 beq.w 806312e { j = 0; 8062c1e: 2300 movs r3, #0 8062c20: f8c7 31cc str.w r3, [r7, #460] ; 0x1cc IndexAutoStop = 0xffffffff; 8062c24: 4b1a ldr r3, [pc, #104] ; (8062c90 ) 8062c26: f04f 32ff mov.w r2, #4294967295 8062c2a: 601a str r2, [r3, #0] for(i = 0; i < Ns; i++) 8062c2c: 2300 movs r3, #0 8062c2e: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8062c32: e267 b.n 8063104 8062c34: f3af 8000 nop.w 8062c38: 18000018 .word 0x18000018 8062c3c: 3e980000 .word 0x3e980000 8062c40: 20021d20 .word 0x20021d20 8062c44: 20020da8 .word 0x20020da8 8062c48: 20020d7e .word 0x20020d7e 8062c4c: 20020db1 .word 0x20020db1 8062c50: 20023e60 .word 0x20023e60 8062c54: 20021cdc .word 0x20021cdc 8062c58: 20020080 .word 0x20020080 8062c5c: 20058020 .word 0x20058020 8062c60: 20037ae0 .word 0x20037ae0 8062c64: 20026564 .word 0x20026564 8062c68: 20025f00 .word 0x20025f00 8062c6c: 20008000 .word 0x20008000 8062c70: 34400000 .word 0x34400000 8062c74: 200279c0 .word 0x200279c0 8062c78: 200209cc .word 0x200209cc 8062c7c: 20020db8 .word 0x20020db8 8062c80: 20020d6c .word 0x20020d6c 8062c84: 2002154c .word 0x2002154c 8062c88: 20021540 .word 0x20021540 8062c8c: 20021524 .word 0x20021524 8062c90: 20021600 .word 0x20021600 { if(ABS(Out[i]) >= (pardata.THR_VAL - 0.05f)) 8062c94: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8062c98: 4a9c ldr r2, [pc, #624] ; (8062f0c ) 8062c9a: 009b lsls r3, r3, #2 8062c9c: 4413 add r3, r2 8062c9e: edd3 7a00 vldr s15, [r3] 8062ca2: eef5 7ac0 vcmpe.f32 s15, #0.0 8062ca6: eef1 fa10 vmrs APSR_nzcv, fpscr 8062caa: dd07 ble.n 8062cbc 8062cac: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8062cb0: 4a96 ldr r2, [pc, #600] ; (8062f0c ) 8062cb2: 009b lsls r3, r3, #2 8062cb4: 4413 add r3, r2 8062cb6: edd3 7a00 vldr s15, [r3] 8062cba: e008 b.n 8062cce 8062cbc: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8062cc0: 4a92 ldr r2, [pc, #584] ; (8062f0c ) 8062cc2: 009b lsls r3, r3, #2 8062cc4: 4413 add r3, r2 8062cc6: edd3 7a00 vldr s15, [r3] 8062cca: eef1 7a67 vneg.f32 s15, s15 8062cce: 4b90 ldr r3, [pc, #576] ; (8062f10 ) 8062cd0: ed93 7a05 vldr s14, [r3, #20] 8062cd4: eddf 6a8f vldr s13, [pc, #572] ; 8062f14 8062cd8: ee37 7a66 vsub.f32 s14, s14, s13 8062cdc: eef4 7ac7 vcmpe.f32 s15, s14 8062ce0: eef1 fa10 vmrs APSR_nzcv, fpscr 8062ce4: f2c0 8206 blt.w 80630f4 { j++; 8062ce8: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 8062cec: 3301 adds r3, #1 8062cee: f8c7 31cc str.w r3, [r7, #460] ; 0x1cc if(j >= 2) // åñëè ïðåâûøåíèå ïîðîãà áûëî ÈÑÒÈÃÃÃŽ 8062cf2: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 8062cf6: 2b01 cmp r3, #1 8062cf8: f240 81ff bls.w 80630fa { IndexAutoStop = i - 1; 8062cfc: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8062d00: 3b01 subs r3, #1 8062d02: 4a85 ldr r2, [pc, #532] ; (8062f18 ) 8062d04: 6013 str r3, [r2, #0] AutoStop = true; 8062d06: 4b85 ldr r3, [pc, #532] ; (8062f1c ) 8062d08: 2201 movs r2, #1 8062d0a: 701a strb r2, [r3, #0] if(IndexAutoStop <= (Ns >> 2)) // åñëè èíäåêñ ïîðîãà â âûáîðêå ìåíüøå èëè ðàâåí 1/4 Ns 8062d0c: 4b84 ldr r3, [pc, #528] ; (8062f20 ) 8062d0e: 681b ldr r3, [r3, #0] 8062d10: 089a lsrs r2, r3, #2 8062d12: 4b81 ldr r3, [pc, #516] ; (8062f18 ) 8062d14: 681b ldr r3, [r3, #0] 8062d16: 429a cmp r2, r3 8062d18: f0c0 81e3 bcc.w 80630e2 { if(NSamples > 0) // åñëè ýòî íå ïåðâàÿ âûáîðêà 8062d1c: 4b81 ldr r3, [pc, #516] ; (8062f24 ) 8062d1e: 681b ldr r3, [r3, #0] 8062d20: 2b00 cmp r3, #0 8062d22: d02f beq.n 8062d84 { k = IndexAutoStop + Ns; 8062d24: 4b7c ldr r3, [pc, #496] ; (8062f18 ) 8062d26: 681a ldr r2, [r3, #0] 8062d28: 4b7d ldr r3, [pc, #500] ; (8062f20 ) 8062d2a: 681b ldr r3, [r3, #0] 8062d2c: 4413 add r3, r2 8062d2e: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 k -= (Ns >> 2); 8062d32: 4b7b ldr r3, [pc, #492] ; (8062f20 ) 8062d34: 681b ldr r3, [r3, #0] 8062d36: 089b lsrs r3, r3, #2 8062d38: f8d7 21c8 ldr.w r2, [r7, #456] ; 0x1c8 8062d3c: 1ad3 subs r3, r2, r3 8062d3e: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 blockSize = Ns - k; 8062d42: 4b77 ldr r3, [pc, #476] ; (8062f20 ) 8062d44: 681a ldr r2, [r3, #0] 8062d46: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8062d4a: 1ad3 subs r3, r2, r3 8062d4c: 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)); 8062d50: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8062d54: 009a lsls r2, r3, #2 8062d56: 4b74 ldr r3, [pc, #464] ; (8062f28 ) 8062d58: 4413 add r3, r2 8062d5a: 4619 mov r1, r3 8062d5c: f8d7 3220 ldr.w r3, [r7, #544] ; 0x220 8062d60: 009b lsls r3, r3, #2 8062d62: 461a mov r2, r3 8062d64: 4871 ldr r0, [pc, #452] ; (8062f2c ) 8062d66: f06a f964 bl 80cd032 memcpy((void *) &In[blockSize], (void *) Out, (k << 2)); 8062d6a: f8d7 3220 ldr.w r3, [r7, #544] ; 0x220 8062d6e: 009b lsls r3, r3, #2 8062d70: 4a6e ldr r2, [pc, #440] ; (8062f2c ) 8062d72: 1898 adds r0, r3, r2 8062d74: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8062d78: 009b lsls r3, r3, #2 8062d7a: 461a mov r2, r3 8062d7c: 4963 ldr r1, [pc, #396] ; (8062f0c ) 8062d7e: f06a f958 bl 80cd032 8062d82: e007 b.n 8062d94 else // ýòî ïåðâàÿ âûáîðêà, ñðàçó ðèñóåì è îñòàíàâëèâàåì { #ifdef USE_DMA_MEMCPY DMA_MemToMem_HALFWORD((uint32_t) Out, (uint32_t) In, (Ns << 1)); #else memcpy((void *) In, (void *) Out, (Ns << 2)); 8062d84: 4b66 ldr r3, [pc, #408] ; (8062f20 ) 8062d86: 681b ldr r3, [r3, #0] 8062d88: 009b lsls r3, r3, #2 8062d8a: 461a mov r2, r3 8062d8c: 495f ldr r1, [pc, #380] ; (8062f0c ) 8062d8e: 4867 ldr r0, [pc, #412] ; (8062f2c ) 8062d90: f06a f94f bl 80cd032 #endif } NeedSTOP = true; 8062d94: 4b66 ldr r3, [pc, #408] ; (8062f30 ) 8062d96: 2201 movs r2, #1 8062d98: 701a strb r2, [r3, #0] arm_max_f32(In, Ns, &maxf, &imax); 8062d9a: 4b61 ldr r3, [pc, #388] ; (8062f20 ) 8062d9c: 6819 ldr r1, [r3, #0] 8062d9e: f507 73e0 add.w r3, r7, #448 ; 0x1c0 8062da2: f507 7288 add.w r2, r7, #272 ; 0x110 8062da6: 4861 ldr r0, [pc, #388] ; (8062f2c ) 8062da8: f067 f988 bl 80ca0bc arm_min_f32(In, Ns, &minf, &imin); 8062dac: 4b5c ldr r3, [pc, #368] ; (8062f20 ) 8062dae: 6819 ldr r1, [r3, #0] 8062db0: f507 73e2 add.w r3, r7, #452 ; 0x1c4 8062db4: f507 728a add.w r2, r7, #276 ; 0x114 8062db8: 485c ldr r0, [pc, #368] ; (8062f2c ) 8062dba: f067 f8e3 bl 80c9f84 //*********************************************************************************************** if(ABS(minf) > ABS(maxf)) 8062dbe: f507 738a add.w r3, r7, #276 ; 0x114 8062dc2: edd3 7a00 vldr s15, [r3] 8062dc6: eef5 7ac0 vcmpe.f32 s15, #0.0 8062dca: eef1 fa10 vmrs APSR_nzcv, fpscr 8062dce: dd04 ble.n 8062dda 8062dd0: f507 738a add.w r3, r7, #276 ; 0x114 8062dd4: ed93 7a00 vldr s14, [r3] 8062dd8: e005 b.n 8062de6 8062dda: f507 738a add.w r3, r7, #276 ; 0x114 8062dde: edd3 7a00 vldr s15, [r3] 8062de2: eeb1 7a67 vneg.f32 s14, s15 8062de6: f507 7388 add.w r3, r7, #272 ; 0x110 8062dea: edd3 7a00 vldr s15, [r3] 8062dee: eef5 7ac0 vcmpe.f32 s15, #0.0 8062df2: eef1 fa10 vmrs APSR_nzcv, fpscr 8062df6: dd04 ble.n 8062e02 8062df8: f507 7388 add.w r3, r7, #272 ; 0x110 8062dfc: edd3 7a00 vldr s15, [r3] 8062e00: e005 b.n 8062e0e 8062e02: f507 7388 add.w r3, r7, #272 ; 0x110 8062e06: edd3 7a00 vldr s15, [r3] 8062e0a: eef1 7a67 vneg.f32 s15, s15 8062e0e: eeb4 7ae7 vcmpe.f32 s14, s15 8062e12: eef1 fa10 vmrs APSR_nzcv, fpscr 8062e16: dd03 ble.n 8062e20 imax = imin; 8062e18: f8d7 31c4 ldr.w r3, [r7, #452] ; 0x1c4 8062e1c: f8c7 31c0 str.w r3, [r7, #448] ; 0x1c0 while(ViewLevel > 0) 8062e20: e11c b.n 806305c { lvl_0 = 0; 8062e22: 2300 movs r3, #0 8062e24: f8c7 31fc str.w r3, [r7, #508] ; 0x1fc MaxLevel = 6; 8062e28: 2306 movs r3, #6 8062e2a: f8a7 31f8 strh.w r3, [r7, #504] ; 0x1f8 dXold = Avg[0][5 * ViewLevel + pardata.LNE]; 8062e2e: 4b41 ldr r3, [pc, #260] ; (8062f34 ) 8062e30: 781b ldrb r3, [r3, #0] 8062e32: b2db uxtb r3, r3 8062e34: 461a mov r2, r3 8062e36: 4613 mov r3, r2 8062e38: 009b lsls r3, r3, #2 8062e3a: 4413 add r3, r2 8062e3c: 4a34 ldr r2, [pc, #208] ; (8062f10 ) 8062e3e: 79d2 ldrb r2, [r2, #7] 8062e40: b2d2 uxtb r2, r2 8062e42: 4413 add r3, r2 8062e44: 4a3c ldr r2, [pc, #240] ; (8062f38 ) 8062e46: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 8062e4a: f8a7 31e2 strh.w r3, [r7, #482] ; 0x1e2 if(ViewLevel) 8062e4e: 4b39 ldr r3, [pc, #228] ; (8062f34 ) 8062e50: 781b ldrb r3, [r3, #0] 8062e52: b2db uxtb r3, r3 8062e54: 2b00 cmp r3, #0 8062e56: f000 8101 beq.w 806305c { ViewLevel--; 8062e5a: 4b36 ldr r3, [pc, #216] ; (8062f34 ) 8062e5c: 781b ldrb r3, [r3, #0] 8062e5e: b2db uxtb r3, r3 8062e60: 3b01 subs r3, #1 8062e62: b2da uxtb r2, r3 8062e64: 4b33 ldr r3, [pc, #204] ; (8062f34 ) 8062e66: 701a strb r2, [r3, #0] dX = Avg[0][5 * ViewLevel + pardata.LNE]; 8062e68: 4b32 ldr r3, [pc, #200] ; (8062f34 ) 8062e6a: 781b ldrb r3, [r3, #0] 8062e6c: b2db uxtb r3, r3 8062e6e: 461a mov r2, r3 8062e70: 4613 mov r3, r2 8062e72: 009b lsls r3, r3, #2 8062e74: 4413 add r3, r2 8062e76: 4a26 ldr r2, [pc, #152] ; (8062f10 ) 8062e78: 79d2 ldrb r2, [r2, #7] 8062e7a: b2d2 uxtb r2, r2 8062e7c: 4413 add r3, r2 8062e7e: 4a2e ldr r2, [pc, #184] ; (8062f38 ) 8062e80: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 8062e84: f8a7 31fa strh.w r3, [r7, #506] ; 0x1fa if(ViewLevel == 0) 8062e88: 4b2a ldr r3, [pc, #168] ; (8062f34 ) 8062e8a: 781b ldrb r3, [r3, #0] 8062e8c: b2db uxtb r3, r3 8062e8e: 2b00 cmp r3, #0 8062e90: d130 bne.n 8062ef4 { X0 = lX = 0; 8062e92: 2100 movs r1, #0 8062e94: 4b29 ldr r3, [pc, #164] ; (8062f3c ) 8062e96: 460a mov r2, r1 8062e98: 801a strh r2, [r3, #0] 8062e9a: 4b29 ldr r3, [pc, #164] ; (8062f40 ) 8062e9c: 460a mov r2, r1 8062e9e: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 8062ea0: f8b7 31fa ldrh.w r3, [r7, #506] ; 0x1fa 8062ea4: 021b lsls r3, r3, #8 8062ea6: b29a uxth r2, r3 8062ea8: 4b24 ldr r3, [pc, #144] ; (8062f3c ) 8062eaa: 881b ldrh r3, [r3, #0] 8062eac: b29b uxth r3, r3 8062eae: 4413 add r3, r2 8062eb0: b29a uxth r2, r3 8062eb2: 4b24 ldr r3, [pc, #144] ; (8062f44 ) 8062eb4: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 8062eb6: 4b24 ldr r3, [pc, #144] ; (8062f48 ) 8062eb8: 881b ldrh r3, [r3, #0] 8062eba: b29b uxth r3, r3 8062ebc: 461a mov r2, r3 8062ebe: 4b1f ldr r3, [pc, #124] ; (8062f3c ) 8062ec0: 881b ldrh r3, [r3, #0] 8062ec2: b29b uxth r3, r3 8062ec4: 1ad2 subs r2, r2, r3 8062ec6: f8b7 31fa ldrh.w r3, [r7, #506] ; 0x1fa 8062eca: fb92 f3f3 sdiv r3, r2, r3 8062ece: 461a mov r2, r3 8062ed0: 4b1e ldr r3, [pc, #120] ; (8062f4c ) 8062ed2: 601a str r2, [r3, #0] Mpos = X0 + CURSOR * dX; 8062ed4: 4b1d ldr r3, [pc, #116] ; (8062f4c ) 8062ed6: 681b ldr r3, [r3, #0] 8062ed8: b29b uxth r3, r3 8062eda: f8b7 21fa ldrh.w r2, [r7, #506] ; 0x1fa 8062ede: fb12 f303 smulbb r3, r2, r3 8062ee2: b29a uxth r2, r3 8062ee4: 4b16 ldr r3, [pc, #88] ; (8062f40 ) 8062ee6: 881b ldrh r3, [r3, #0] 8062ee8: b29b uxth r3, r3 8062eea: 4413 add r3, r2 8062eec: b29a uxth r2, r3 8062eee: 4b18 ldr r3, [pc, #96] ; (8062f50 ) 8062ef0: 801a strh r2, [r3, #0] 8062ef2: e0b3 b.n 806305c } else { if(CURSOR * dX > Mpos) 8062ef4: f8b7 31fa ldrh.w r3, [r7, #506] ; 0x1fa 8062ef8: 4a14 ldr r2, [pc, #80] ; (8062f4c ) 8062efa: 6812 ldr r2, [r2, #0] 8062efc: fb02 f303 mul.w r3, r2, r3 8062f00: 4a13 ldr r2, [pc, #76] ; (8062f50 ) 8062f02: 8812 ldrh r2, [r2, #0] 8062f04: b292 uxth r2, r2 8062f06: 4293 cmp r3, r2 8062f08: d943 bls.n 8062f92 { while(CURSOR * dX > Mpos) 8062f0a: e028 b.n 8062f5e 8062f0c: 20008000 .word 0x20008000 8062f10: 20023e60 .word 0x20023e60 8062f14: 3d4ccccd .word 0x3d4ccccd 8062f18: 20021600 .word 0x20021600 8062f1c: 20021524 .word 0x20021524 8062f20: 20021cdc .word 0x20021cdc 8062f24: 20020d88 .word 0x20020d88 8062f28: 64080000 .word 0x64080000 8062f2c: 200279c0 .word 0x200279c0 8062f30: 20020f7e .word 0x20020f7e 8062f34: 20020f74 .word 0x20020f74 8062f38: 080eea74 .word 0x080eea74 8062f3c: 20025d1a .word 0x20025d1a 8062f40: 20025d1e .word 0x20025d1e 8062f44: 20025d20 .word 0x20025d20 8062f48: 20025d1c .word 0x20025d1c 8062f4c: 2002006c .word 0x2002006c 8062f50: 20025d16 .word 0x20025d16 CURSOR--; 8062f54: 4baf ldr r3, [pc, #700] ; (8063214 ) 8062f56: 681b ldr r3, [r3, #0] 8062f58: 3b01 subs r3, #1 8062f5a: 4aae ldr r2, [pc, #696] ; (8063214 ) 8062f5c: 6013 str r3, [r2, #0] while(CURSOR * dX > Mpos) 8062f5e: f8b7 31fa ldrh.w r3, [r7, #506] ; 0x1fa 8062f62: 4aac ldr r2, [pc, #688] ; (8063214 ) 8062f64: 6812 ldr r2, [r2, #0] 8062f66: fb02 f303 mul.w r3, r2, r3 8062f6a: 4aab ldr r2, [pc, #684] ; (8063218 ) 8062f6c: 8812 ldrh r2, [r2, #0] 8062f6e: b292 uxth r2, r2 8062f70: 4293 cmp r3, r2 8062f72: d8ef bhi.n 8062f54 Mpos = X0 + CURSOR * dX; 8062f74: 4ba7 ldr r3, [pc, #668] ; (8063214 ) 8062f76: 681b ldr r3, [r3, #0] 8062f78: b29b uxth r3, r3 8062f7a: f8b7 21fa ldrh.w r2, [r7, #506] ; 0x1fa 8062f7e: fb12 f303 smulbb r3, r2, r3 8062f82: b29a uxth r2, r3 8062f84: 4ba5 ldr r3, [pc, #660] ; (806321c ) 8062f86: 881b ldrh r3, [r3, #0] 8062f88: b29b uxth r3, r3 8062f8a: 4413 add r3, r2 8062f8c: b29a uxth r2, r3 8062f8e: 4ba2 ldr r3, [pc, #648] ; (8063218 ) 8062f90: 801a strh r2, [r3, #0] } i = Mpos - CURSOR * dX; 8062f92: 4ba1 ldr r3, [pc, #644] ; (8063218 ) 8062f94: 881b ldrh r3, [r3, #0] 8062f96: b29b uxth r3, r3 8062f98: 4619 mov r1, r3 8062f9a: f8b7 31fa ldrh.w r3, [r7, #506] ; 0x1fa 8062f9e: 4a9d ldr r2, [pc, #628] ; (8063214 ) 8062fa0: 6812 ldr r2, [r2, #0] 8062fa2: fb02 f303 mul.w r3, r2, r3 8062fa6: 1acb subs r3, r1, r3 8062fa8: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 j = 256 * dX; 8062fac: f8b7 31fa ldrh.w r3, [r7, #506] ; 0x1fa 8062fb0: 021b lsls r3, r3, #8 8062fb2: f8c7 31cc str.w r3, [r7, #460] ; 0x1cc k = 256 * Avg[0][5 * lvl_0 + pardata.LNE]; // 3200 8062fb6: f8d7 21fc ldr.w r2, [r7, #508] ; 0x1fc 8062fba: 4613 mov r3, r2 8062fbc: 009b lsls r3, r3, #2 8062fbe: 4413 add r3, r2 8062fc0: 4a97 ldr r2, [pc, #604] ; (8063220 ) 8062fc2: 79d2 ldrb r2, [r2, #7] 8062fc4: b2d2 uxtb r2, r2 8062fc6: 4413 add r3, r2 8062fc8: 4a96 ldr r2, [pc, #600] ; (8063224 ) 8062fca: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 8062fce: 021b lsls r3, r3, #8 8062fd0: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 while(i + j > k) { 8062fd4: e006 b.n 8062fe4 i -= dXold; 8062fd6: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8062fda: f8b7 31e2 ldrh.w r3, [r7, #482] ; 0x1e2 8062fde: 1ad3 subs r3, r2, r3 8062fe0: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 while(i + j > k) { 8062fe4: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8062fe8: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 8062fec: 441a add r2, r3 8062fee: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8062ff2: 429a cmp r2, r3 8062ff4: d8ef bhi.n 8062fd6 } X0 = (uint16_t) i; 8062ff6: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8062ffa: b29a uxth r2, r3 8062ffc: 4b87 ldr r3, [pc, #540] ; (806321c ) 8062ffe: 801a strh r2, [r3, #0] lX = X0; 8063000: 4b86 ldr r3, [pc, #536] ; (806321c ) 8063002: 881b ldrh r3, [r3, #0] 8063004: b29a uxth r2, r3 8063006: 4b88 ldr r3, [pc, #544] ; (8063228 ) 8063008: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 806300a: f8b7 31fa ldrh.w r3, [r7, #506] ; 0x1fa 806300e: 021b lsls r3, r3, #8 8063010: b29a uxth r2, r3 8063012: 4b85 ldr r3, [pc, #532] ; (8063228 ) 8063014: 881b ldrh r3, [r3, #0] 8063016: b29b uxth r3, r3 8063018: 4413 add r3, r2 806301a: b29a uxth r2, r3 806301c: 4b83 ldr r3, [pc, #524] ; (806322c ) 806301e: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 8063020: 4b83 ldr r3, [pc, #524] ; (8063230 ) 8063022: 881b ldrh r3, [r3, #0] 8063024: b29b uxth r3, r3 8063026: 461a mov r2, r3 8063028: 4b7f ldr r3, [pc, #508] ; (8063228 ) 806302a: 881b ldrh r3, [r3, #0] 806302c: b29b uxth r3, r3 806302e: 1ad2 subs r2, r2, r3 8063030: f8b7 31fa ldrh.w r3, [r7, #506] ; 0x1fa 8063034: fb92 f3f3 sdiv r3, r2, r3 8063038: 461a mov r2, r3 806303a: 4b76 ldr r3, [pc, #472] ; (8063214 ) 806303c: 601a str r2, [r3, #0] Mpos = X0 + CURSOR * dX; 806303e: 4b75 ldr r3, [pc, #468] ; (8063214 ) 8063040: 681b ldr r3, [r3, #0] 8063042: b29b uxth r3, r3 8063044: f8b7 21fa ldrh.w r2, [r7, #506] ; 0x1fa 8063048: fb12 f303 smulbb r3, r2, r3 806304c: b29a uxth r2, r3 806304e: 4b73 ldr r3, [pc, #460] ; (806321c ) 8063050: 881b ldrh r3, [r3, #0] 8063052: b29b uxth r3, r3 8063054: 4413 add r3, r2 8063056: b29a uxth r2, r3 8063058: 4b6f ldr r3, [pc, #444] ; (8063218 ) 806305a: 801a strh r2, [r3, #0] while(ViewLevel > 0) 806305c: 4b75 ldr r3, [pc, #468] ; (8063234 ) 806305e: 781b ldrb r3, [r3, #0] 8063060: b2db uxtb r3, r3 8063062: 2b00 cmp r3, #0 8063064: f47f aedd bne.w 8062e22 } } } dX = Avg[0][5 * ViewLevel + pardata.LNE]; 8063068: 4b72 ldr r3, [pc, #456] ; (8063234 ) 806306a: 781b ldrb r3, [r3, #0] 806306c: b2db uxtb r3, r3 806306e: 461a mov r2, r3 8063070: 4613 mov r3, r2 8063072: 009b lsls r3, r3, #2 8063074: 4413 add r3, r2 8063076: 4a6a ldr r2, [pc, #424] ; (8063220 ) 8063078: 79d2 ldrb r2, [r2, #7] 806307a: b2d2 uxtb r2, r2 806307c: 4413 add r3, r2 806307e: 4a69 ldr r2, [pc, #420] ; (8063224 ) 8063080: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 8063084: f8a7 31fa strh.w r3, [r7, #506] ; 0x1fa fineMpos = imax; 8063088: f8d7 31c0 ldr.w r3, [r7, #448] ; 0x1c0 806308c: b29a uxth r2, r3 806308e: 4b68 ldr r3, [pc, #416] ; (8063230 ) 8063090: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 8063092: 4b67 ldr r3, [pc, #412] ; (8063230 ) 8063094: 881b ldrh r3, [r3, #0] 8063096: b29b uxth r3, r3 8063098: 461a mov r2, r3 806309a: 4b63 ldr r3, [pc, #396] ; (8063228 ) 806309c: 881b ldrh r3, [r3, #0] 806309e: b29b uxth r3, r3 80630a0: 1ad2 subs r2, r2, r3 80630a2: f8b7 31fa ldrh.w r3, [r7, #506] ; 0x1fa 80630a6: fb92 f3f3 sdiv r3, r2, r3 80630aa: 461a mov r2, r3 80630ac: 4b59 ldr r3, [pc, #356] ; (8063214 ) 80630ae: 601a str r2, [r3, #0] Mpos = X0 + CURSOR * dX; 80630b0: 4b58 ldr r3, [pc, #352] ; (8063214 ) 80630b2: 681b ldr r3, [r3, #0] 80630b4: b29b uxth r3, r3 80630b6: f8b7 21fa ldrh.w r2, [r7, #506] ; 0x1fa 80630ba: fb12 f303 smulbb r3, r2, r3 80630be: b29a uxth r2, r3 80630c0: 4b56 ldr r3, [pc, #344] ; (806321c ) 80630c2: 881b ldrh r3, [r3, #0] 80630c4: b29b uxth r3, r3 80630c6: 4413 add r3, r2 80630c8: b29a uxth r2, r3 80630ca: 4b53 ldr r3, [pc, #332] ; (8063218 ) 80630cc: 801a strh r2, [r3, #0] AUTOZOOM = true; 80630ce: 4b5a ldr r3, [pc, #360] ; (8063238 ) 80630d0: 2201 movs r2, #1 80630d2: 701a strb r2, [r3, #0] lastmenupos = StartStop; 80630d4: 4b59 ldr r3, [pc, #356] ; (806323c ) 80630d6: 2200 movs r2, #0 80630d8: 701a strb r2, [r3, #0] menupos = Cursor; 80630da: 4b59 ldr r3, [pc, #356] ; (8063240 ) 80630dc: 2206 movs r2, #6 80630de: 701a strb r2, [r3, #0] #else memcpy((void *) In, (void *) Out, (Ns << 2)); #endif } break; 80630e0: e017 b.n 8063112 memcpy((void *) In, (void *) Out, (Ns << 2)); 80630e2: 4b58 ldr r3, [pc, #352] ; (8063244 ) 80630e4: 681b ldr r3, [r3, #0] 80630e6: 009b lsls r3, r3, #2 80630e8: 461a mov r2, r3 80630ea: 4957 ldr r1, [pc, #348] ; (8063248 ) 80630ec: 4857 ldr r0, [pc, #348] ; (806324c ) 80630ee: f069 ffa0 bl 80cd032 break; 80630f2: e00e b.n 8063112 } } else { j = 0; 80630f4: 2300 movs r3, #0 80630f6: f8c7 31cc str.w r3, [r7, #460] ; 0x1cc for(i = 0; i < Ns; i++) 80630fa: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80630fe: 3301 adds r3, #1 8063100: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8063104: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8063108: 4b4e ldr r3, [pc, #312] ; (8063244 ) 806310a: 681b ldr r3, [r3, #0] 806310c: 429a cmp r2, r3 806310e: f4ff adc1 bcc.w 8062c94 } } if(j < 2) 8063112: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 8063116: 2b01 cmp r3, #1 8063118: f200 81db bhi.w 80634d2 { #ifdef USE_DMA_MEMCPY DMA_MemToMem_HALFWORD((uint32_t) Out, (uint32_t) In, (Ns << 1)); #else memcpy((void *) In, (void *) Out, (Ns << 2)); 806311c: 4b49 ldr r3, [pc, #292] ; (8063244 ) 806311e: 681b ldr r3, [r3, #0] 8063120: 009b lsls r3, r3, #2 8063122: 461a mov r2, r3 8063124: 4948 ldr r1, [pc, #288] ; (8063248 ) 8063126: 4849 ldr r0, [pc, #292] ; (806324c ) 8063128: f069 ff83 bl 80cd032 806312c: e1d1 b.n 80634d2 #endif } } else // åñëè áûëî ïðåâûøåíèÿ ïîðîãà â ïðåäûäóùåé âûáîðêå { k = IndexAutoStop; 806312e: 4b48 ldr r3, [pc, #288] ; (8063250 ) 8063130: 681b ldr r3, [r3, #0] 8063132: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 k -= (Ns >> 2); 8063136: 4b43 ldr r3, [pc, #268] ; (8063244 ) 8063138: 681b ldr r3, [r3, #0] 806313a: 089b lsrs r3, r3, #2 806313c: f8d7 21c8 ldr.w r2, [r7, #456] ; 0x1c8 8063140: 1ad3 subs r3, r2, r3 8063142: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 blockSize = Ns - k; 8063146: 4b3f ldr r3, [pc, #252] ; (8063244 ) 8063148: 681a ldr r2, [r3, #0] 806314a: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 806314e: 1ad3 subs r3, r2, r3 8063150: 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)); 8063154: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8063158: 009a lsls r2, r3, #2 806315a: 4b3e ldr r3, [pc, #248] ; (8063254 ) 806315c: 4413 add r3, r2 806315e: 4619 mov r1, r3 8063160: f8d7 3220 ldr.w r3, [r7, #544] ; 0x220 8063164: 009b lsls r3, r3, #2 8063166: 461a mov r2, r3 8063168: 4838 ldr r0, [pc, #224] ; (806324c ) 806316a: f069 ff62 bl 80cd032 memcpy((void *) &In[blockSize], (void *) Out, (k << 2)); 806316e: f8d7 3220 ldr.w r3, [r7, #544] ; 0x220 8063172: 009b lsls r3, r3, #2 8063174: 4a35 ldr r2, [pc, #212] ; (806324c ) 8063176: 1898 adds r0, r3, r2 8063178: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 806317c: 009b lsls r3, r3, #2 806317e: 461a mov r2, r3 8063180: 4931 ldr r1, [pc, #196] ; (8063248 ) 8063182: f069 ff56 bl 80cd032 #endif NeedSTOP = true; 8063186: 4b34 ldr r3, [pc, #208] ; (8063258 ) 8063188: 2201 movs r2, #1 806318a: 701a strb r2, [r3, #0] arm_max_f32(In, Ns, &maxf, &imax); 806318c: 4b2d ldr r3, [pc, #180] ; (8063244 ) 806318e: 6819 ldr r1, [r3, #0] 8063190: f507 73e0 add.w r3, r7, #448 ; 0x1c0 8063194: f507 7288 add.w r2, r7, #272 ; 0x110 8063198: 482c ldr r0, [pc, #176] ; (806324c ) 806319a: f066 ff8f bl 80ca0bc arm_min_f32(In, Ns, &minf, &imin); 806319e: 4b29 ldr r3, [pc, #164] ; (8063244 ) 80631a0: 6819 ldr r1, [r3, #0] 80631a2: f507 73e2 add.w r3, r7, #452 ; 0x1c4 80631a6: f507 728a add.w r2, r7, #276 ; 0x114 80631aa: 4828 ldr r0, [pc, #160] ; (806324c ) 80631ac: f066 feea bl 80c9f84 //*********************************************************************************************** if(ABS(minf) > ABS(maxf)) 80631b0: f507 738a add.w r3, r7, #276 ; 0x114 80631b4: edd3 7a00 vldr s15, [r3] 80631b8: eef5 7ac0 vcmpe.f32 s15, #0.0 80631bc: eef1 fa10 vmrs APSR_nzcv, fpscr 80631c0: dd04 ble.n 80631cc 80631c2: f507 738a add.w r3, r7, #276 ; 0x114 80631c6: ed93 7a00 vldr s14, [r3] 80631ca: e005 b.n 80631d8 80631cc: f507 738a add.w r3, r7, #276 ; 0x114 80631d0: edd3 7a00 vldr s15, [r3] 80631d4: eeb1 7a67 vneg.f32 s14, s15 80631d8: f507 7388 add.w r3, r7, #272 ; 0x110 80631dc: edd3 7a00 vldr s15, [r3] 80631e0: eef5 7ac0 vcmpe.f32 s15, #0.0 80631e4: eef1 fa10 vmrs APSR_nzcv, fpscr 80631e8: dd04 ble.n 80631f4 80631ea: f507 7388 add.w r3, r7, #272 ; 0x110 80631ee: edd3 7a00 vldr s15, [r3] 80631f2: e005 b.n 8063200 80631f4: f507 7388 add.w r3, r7, #272 ; 0x110 80631f8: edd3 7a00 vldr s15, [r3] 80631fc: eef1 7a67 vneg.f32 s15, s15 8063200: eeb4 7ae7 vcmpe.f32 s14, s15 8063204: eef1 fa10 vmrs APSR_nzcv, fpscr 8063208: dd03 ble.n 8063212 imax = imin; 806320a: f8d7 31c4 ldr.w r3, [r7, #452] ; 0x1c4 806320e: f8c7 31c0 str.w r3, [r7, #448] ; 0x1c0 while(ViewLevel > 0) 8063212: e11c b.n 806344e 8063214: 2002006c .word 0x2002006c 8063218: 20025d16 .word 0x20025d16 806321c: 20025d1e .word 0x20025d1e 8063220: 20023e60 .word 0x20023e60 8063224: 080eea74 .word 0x080eea74 8063228: 20025d1a .word 0x20025d1a 806322c: 20025d20 .word 0x20025d20 8063230: 20025d1c .word 0x20025d1c 8063234: 20020f74 .word 0x20020f74 8063238: 2002098c .word 0x2002098c 806323c: 20020071 .word 0x20020071 8063240: 20020070 .word 0x20020070 8063244: 20021cdc .word 0x20021cdc 8063248: 20008000 .word 0x20008000 806324c: 200279c0 .word 0x200279c0 8063250: 20021600 .word 0x20021600 8063254: 64080000 .word 0x64080000 8063258: 20020f7e .word 0x20020f7e { lvl_0 = 0; 806325c: 2300 movs r3, #0 806325e: f8c7 31fc str.w r3, [r7, #508] ; 0x1fc MaxLevel = 6; 8063262: 2306 movs r3, #6 8063264: f8a7 31f8 strh.w r3, [r7, #504] ; 0x1f8 dXold = Avg[0][5 * ViewLevel + pardata.LNE]; 8063268: 4ba6 ldr r3, [pc, #664] ; (8063504 ) 806326a: 781b ldrb r3, [r3, #0] 806326c: b2db uxtb r3, r3 806326e: 461a mov r2, r3 8063270: 4613 mov r3, r2 8063272: 009b lsls r3, r3, #2 8063274: 4413 add r3, r2 8063276: 4aa4 ldr r2, [pc, #656] ; (8063508 ) 8063278: 79d2 ldrb r2, [r2, #7] 806327a: b2d2 uxtb r2, r2 806327c: 4413 add r3, r2 806327e: 4aa3 ldr r2, [pc, #652] ; (806350c ) 8063280: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 8063284: f8a7 31e2 strh.w r3, [r7, #482] ; 0x1e2 if(ViewLevel) 8063288: 4b9e ldr r3, [pc, #632] ; (8063504 ) 806328a: 781b ldrb r3, [r3, #0] 806328c: b2db uxtb r3, r3 806328e: 2b00 cmp r3, #0 8063290: f000 80dd beq.w 806344e { ViewLevel--; 8063294: 4b9b ldr r3, [pc, #620] ; (8063504 ) 8063296: 781b ldrb r3, [r3, #0] 8063298: b2db uxtb r3, r3 806329a: 3b01 subs r3, #1 806329c: b2da uxtb r2, r3 806329e: 4b99 ldr r3, [pc, #612] ; (8063504 ) 80632a0: 701a strb r2, [r3, #0] dX = Avg[0][5 * ViewLevel + pardata.LNE]; 80632a2: 4b98 ldr r3, [pc, #608] ; (8063504 ) 80632a4: 781b ldrb r3, [r3, #0] 80632a6: b2db uxtb r3, r3 80632a8: 461a mov r2, r3 80632aa: 4613 mov r3, r2 80632ac: 009b lsls r3, r3, #2 80632ae: 4413 add r3, r2 80632b0: 4a95 ldr r2, [pc, #596] ; (8063508 ) 80632b2: 79d2 ldrb r2, [r2, #7] 80632b4: b2d2 uxtb r2, r2 80632b6: 4413 add r3, r2 80632b8: 4a94 ldr r2, [pc, #592] ; (806350c ) 80632ba: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 80632be: f8a7 31fa strh.w r3, [r7, #506] ; 0x1fa if(ViewLevel == 0) 80632c2: 4b90 ldr r3, [pc, #576] ; (8063504 ) 80632c4: 781b ldrb r3, [r3, #0] 80632c6: b2db uxtb r3, r3 80632c8: 2b00 cmp r3, #0 80632ca: d130 bne.n 806332e { X0 = lX = 0; 80632cc: 2100 movs r1, #0 80632ce: 4b90 ldr r3, [pc, #576] ; (8063510 ) 80632d0: 460a mov r2, r1 80632d2: 801a strh r2, [r3, #0] 80632d4: 4b8f ldr r3, [pc, #572] ; (8063514 ) 80632d6: 460a mov r2, r1 80632d8: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 80632da: f8b7 31fa ldrh.w r3, [r7, #506] ; 0x1fa 80632de: 021b lsls r3, r3, #8 80632e0: b29a uxth r2, r3 80632e2: 4b8b ldr r3, [pc, #556] ; (8063510 ) 80632e4: 881b ldrh r3, [r3, #0] 80632e6: b29b uxth r3, r3 80632e8: 4413 add r3, r2 80632ea: b29a uxth r2, r3 80632ec: 4b8a ldr r3, [pc, #552] ; (8063518 ) 80632ee: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 80632f0: 4b8a ldr r3, [pc, #552] ; (806351c ) 80632f2: 881b ldrh r3, [r3, #0] 80632f4: b29b uxth r3, r3 80632f6: 461a mov r2, r3 80632f8: 4b85 ldr r3, [pc, #532] ; (8063510 ) 80632fa: 881b ldrh r3, [r3, #0] 80632fc: b29b uxth r3, r3 80632fe: 1ad2 subs r2, r2, r3 8063300: f8b7 31fa ldrh.w r3, [r7, #506] ; 0x1fa 8063304: fb92 f3f3 sdiv r3, r2, r3 8063308: 461a mov r2, r3 806330a: 4b85 ldr r3, [pc, #532] ; (8063520 ) 806330c: 601a str r2, [r3, #0] Mpos = X0 + CURSOR * dX; 806330e: 4b84 ldr r3, [pc, #528] ; (8063520 ) 8063310: 681b ldr r3, [r3, #0] 8063312: b29b uxth r3, r3 8063314: f8b7 21fa ldrh.w r2, [r7, #506] ; 0x1fa 8063318: fb12 f303 smulbb r3, r2, r3 806331c: b29a uxth r2, r3 806331e: 4b7d ldr r3, [pc, #500] ; (8063514 ) 8063320: 881b ldrh r3, [r3, #0] 8063322: b29b uxth r3, r3 8063324: 4413 add r3, r2 8063326: b29a uxth r2, r3 8063328: 4b7e ldr r3, [pc, #504] ; (8063524 ) 806332a: 801a strh r2, [r3, #0] 806332c: e08f b.n 806344e } else { if(CURSOR * dX > Mpos) 806332e: f8b7 31fa ldrh.w r3, [r7, #506] ; 0x1fa 8063332: 4a7b ldr r2, [pc, #492] ; (8063520 ) 8063334: 6812 ldr r2, [r2, #0] 8063336: fb02 f303 mul.w r3, r2, r3 806333a: 4a7a ldr r2, [pc, #488] ; (8063524 ) 806333c: 8812 ldrh r2, [r2, #0] 806333e: b292 uxth r2, r2 8063340: 4293 cmp r3, r2 8063342: d91f bls.n 8063384 { while(CURSOR * dX > Mpos) 8063344: e004 b.n 8063350 CURSOR--; 8063346: 4b76 ldr r3, [pc, #472] ; (8063520 ) 8063348: 681b ldr r3, [r3, #0] 806334a: 3b01 subs r3, #1 806334c: 4a74 ldr r2, [pc, #464] ; (8063520 ) 806334e: 6013 str r3, [r2, #0] while(CURSOR * dX > Mpos) 8063350: f8b7 31fa ldrh.w r3, [r7, #506] ; 0x1fa 8063354: 4a72 ldr r2, [pc, #456] ; (8063520 ) 8063356: 6812 ldr r2, [r2, #0] 8063358: fb02 f303 mul.w r3, r2, r3 806335c: 4a71 ldr r2, [pc, #452] ; (8063524 ) 806335e: 8812 ldrh r2, [r2, #0] 8063360: b292 uxth r2, r2 8063362: 4293 cmp r3, r2 8063364: d8ef bhi.n 8063346 Mpos = X0 + CURSOR * dX; 8063366: 4b6e ldr r3, [pc, #440] ; (8063520 ) 8063368: 681b ldr r3, [r3, #0] 806336a: b29b uxth r3, r3 806336c: f8b7 21fa ldrh.w r2, [r7, #506] ; 0x1fa 8063370: fb12 f303 smulbb r3, r2, r3 8063374: b29a uxth r2, r3 8063376: 4b67 ldr r3, [pc, #412] ; (8063514 ) 8063378: 881b ldrh r3, [r3, #0] 806337a: b29b uxth r3, r3 806337c: 4413 add r3, r2 806337e: b29a uxth r2, r3 8063380: 4b68 ldr r3, [pc, #416] ; (8063524 ) 8063382: 801a strh r2, [r3, #0] } i = Mpos - CURSOR * dX; 8063384: 4b67 ldr r3, [pc, #412] ; (8063524 ) 8063386: 881b ldrh r3, [r3, #0] 8063388: b29b uxth r3, r3 806338a: 4619 mov r1, r3 806338c: f8b7 31fa ldrh.w r3, [r7, #506] ; 0x1fa 8063390: 4a63 ldr r2, [pc, #396] ; (8063520 ) 8063392: 6812 ldr r2, [r2, #0] 8063394: fb02 f303 mul.w r3, r2, r3 8063398: 1acb subs r3, r1, r3 806339a: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 j = 256 * dX; 806339e: f8b7 31fa ldrh.w r3, [r7, #506] ; 0x1fa 80633a2: 021b lsls r3, r3, #8 80633a4: f8c7 31cc str.w r3, [r7, #460] ; 0x1cc k = 256 * Avg[0][5 * lvl_0 + pardata.LNE]; // 3200 80633a8: f8d7 21fc ldr.w r2, [r7, #508] ; 0x1fc 80633ac: 4613 mov r3, r2 80633ae: 009b lsls r3, r3, #2 80633b0: 4413 add r3, r2 80633b2: 4a55 ldr r2, [pc, #340] ; (8063508 ) 80633b4: 79d2 ldrb r2, [r2, #7] 80633b6: b2d2 uxtb r2, r2 80633b8: 4413 add r3, r2 80633ba: 4a54 ldr r2, [pc, #336] ; (806350c ) 80633bc: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 80633c0: 021b lsls r3, r3, #8 80633c2: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 while(i + j > k) { 80633c6: e006 b.n 80633d6 i -= dXold; 80633c8: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80633cc: f8b7 31e2 ldrh.w r3, [r7, #482] ; 0x1e2 80633d0: 1ad3 subs r3, r2, r3 80633d2: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 while(i + j > k) { 80633d6: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80633da: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 80633de: 441a add r2, r3 80633e0: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 80633e4: 429a cmp r2, r3 80633e6: d8ef bhi.n 80633c8 } X0 = (uint16_t) i; 80633e8: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80633ec: b29a uxth r2, r3 80633ee: 4b49 ldr r3, [pc, #292] ; (8063514 ) 80633f0: 801a strh r2, [r3, #0] lX = X0; 80633f2: 4b48 ldr r3, [pc, #288] ; (8063514 ) 80633f4: 881b ldrh r3, [r3, #0] 80633f6: b29a uxth r2, r3 80633f8: 4b45 ldr r3, [pc, #276] ; (8063510 ) 80633fa: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 80633fc: f8b7 31fa ldrh.w r3, [r7, #506] ; 0x1fa 8063400: 021b lsls r3, r3, #8 8063402: b29a uxth r2, r3 8063404: 4b42 ldr r3, [pc, #264] ; (8063510 ) 8063406: 881b ldrh r3, [r3, #0] 8063408: b29b uxth r3, r3 806340a: 4413 add r3, r2 806340c: b29a uxth r2, r3 806340e: 4b42 ldr r3, [pc, #264] ; (8063518 ) 8063410: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 8063412: 4b42 ldr r3, [pc, #264] ; (806351c ) 8063414: 881b ldrh r3, [r3, #0] 8063416: b29b uxth r3, r3 8063418: 461a mov r2, r3 806341a: 4b3d ldr r3, [pc, #244] ; (8063510 ) 806341c: 881b ldrh r3, [r3, #0] 806341e: b29b uxth r3, r3 8063420: 1ad2 subs r2, r2, r3 8063422: f8b7 31fa ldrh.w r3, [r7, #506] ; 0x1fa 8063426: fb92 f3f3 sdiv r3, r2, r3 806342a: 461a mov r2, r3 806342c: 4b3c ldr r3, [pc, #240] ; (8063520 ) 806342e: 601a str r2, [r3, #0] Mpos = X0 + CURSOR * dX; 8063430: 4b3b ldr r3, [pc, #236] ; (8063520 ) 8063432: 681b ldr r3, [r3, #0] 8063434: b29b uxth r3, r3 8063436: f8b7 21fa ldrh.w r2, [r7, #506] ; 0x1fa 806343a: fb12 f303 smulbb r3, r2, r3 806343e: b29a uxth r2, r3 8063440: 4b34 ldr r3, [pc, #208] ; (8063514 ) 8063442: 881b ldrh r3, [r3, #0] 8063444: b29b uxth r3, r3 8063446: 4413 add r3, r2 8063448: b29a uxth r2, r3 806344a: 4b36 ldr r3, [pc, #216] ; (8063524 ) 806344c: 801a strh r2, [r3, #0] while(ViewLevel > 0) 806344e: 4b2d ldr r3, [pc, #180] ; (8063504 ) 8063450: 781b ldrb r3, [r3, #0] 8063452: b2db uxtb r3, r3 8063454: 2b00 cmp r3, #0 8063456: f47f af01 bne.w 806325c } } } dX = Avg[0][5 * ViewLevel + pardata.LNE]; 806345a: 4b2a ldr r3, [pc, #168] ; (8063504 ) 806345c: 781b ldrb r3, [r3, #0] 806345e: b2db uxtb r3, r3 8063460: 461a mov r2, r3 8063462: 4613 mov r3, r2 8063464: 009b lsls r3, r3, #2 8063466: 4413 add r3, r2 8063468: 4a27 ldr r2, [pc, #156] ; (8063508 ) 806346a: 79d2 ldrb r2, [r2, #7] 806346c: b2d2 uxtb r2, r2 806346e: 4413 add r3, r2 8063470: 4a26 ldr r2, [pc, #152] ; (806350c ) 8063472: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 8063476: f8a7 31fa strh.w r3, [r7, #506] ; 0x1fa fineMpos = imax; 806347a: f8d7 31c0 ldr.w r3, [r7, #448] ; 0x1c0 806347e: b29a uxth r2, r3 8063480: 4b26 ldr r3, [pc, #152] ; (806351c ) 8063482: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 8063484: 4b25 ldr r3, [pc, #148] ; (806351c ) 8063486: 881b ldrh r3, [r3, #0] 8063488: b29b uxth r3, r3 806348a: 461a mov r2, r3 806348c: 4b20 ldr r3, [pc, #128] ; (8063510 ) 806348e: 881b ldrh r3, [r3, #0] 8063490: b29b uxth r3, r3 8063492: 1ad2 subs r2, r2, r3 8063494: f8b7 31fa ldrh.w r3, [r7, #506] ; 0x1fa 8063498: fb92 f3f3 sdiv r3, r2, r3 806349c: 461a mov r2, r3 806349e: 4b20 ldr r3, [pc, #128] ; (8063520 ) 80634a0: 601a str r2, [r3, #0] Mpos = X0 + CURSOR * dX; 80634a2: 4b1f ldr r3, [pc, #124] ; (8063520 ) 80634a4: 681b ldr r3, [r3, #0] 80634a6: b29b uxth r3, r3 80634a8: f8b7 21fa ldrh.w r2, [r7, #506] ; 0x1fa 80634ac: fb12 f303 smulbb r3, r2, r3 80634b0: b29a uxth r2, r3 80634b2: 4b18 ldr r3, [pc, #96] ; (8063514 ) 80634b4: 881b ldrh r3, [r3, #0] 80634b6: b29b uxth r3, r3 80634b8: 4413 add r3, r2 80634ba: b29a uxth r2, r3 80634bc: 4b19 ldr r3, [pc, #100] ; (8063524 ) 80634be: 801a strh r2, [r3, #0] AUTOZOOM = true; 80634c0: 4b19 ldr r3, [pc, #100] ; (8063528 ) 80634c2: 2201 movs r2, #1 80634c4: 701a strb r2, [r3, #0] lastmenupos = StartStop; 80634c6: 4b19 ldr r3, [pc, #100] ; (806352c ) 80634c8: 2200 movs r2, #0 80634ca: 701a strb r2, [r3, #0] menupos = Cursor; 80634cc: 4b18 ldr r3, [pc, #96] ; (8063530 ) 80634ce: 2206 movs r2, #6 80634d0: 701a strb r2, [r3, #0] //*********************************************************************************************** } arm_rms_f32(In, Ns, &skz[pardata.IPR]); 80634d2: 4b18 ldr r3, [pc, #96] ; (8063534 ) 80634d4: 6819 ldr r1, [r3, #0] 80634d6: 4b0c ldr r3, [pc, #48] ; (8063508 ) 80634d8: 785b ldrb r3, [r3, #1] 80634da: b2db uxtb r3, r3 80634dc: 009b lsls r3, r3, #2 80634de: 4a16 ldr r2, [pc, #88] ; (8063538 ) 80634e0: 4413 add r3, r2 80634e2: 461a mov r2, r3 80634e4: 4815 ldr r0, [pc, #84] ; (806353c ) 80634e6: f066 fcbb bl 80c9e60 FastCopy16(IN_Reg, SCR_Reg, _2Ns); 80634ea: 4b12 ldr r3, [pc, #72] ; (8063534 ) 80634ec: 681b ldr r3, [r3, #0] 80634ee: 005b lsls r3, r3, #1 80634f0: 461a mov r2, r3 80634f2: 2104 movs r1, #4 80634f4: 2001 movs r0, #1 80634f6: f000 ff23 bl 8064340 80634fa: e1ce b.n 806389a } } else { // åñëè íåò ïîðîãà for(i = 0; i < Ns; i++) { 80634fc: 2300 movs r3, #0 80634fe: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8063502: e02e b.n 8063562 8063504: 20020f74 .word 0x20020f74 8063508: 20023e60 .word 0x20023e60 806350c: 080eea74 .word 0x080eea74 8063510: 20025d1a .word 0x20025d1a 8063514: 20025d1e .word 0x20025d1e 8063518: 20025d20 .word 0x20025d20 806351c: 20025d1c .word 0x20025d1c 8063520: 2002006c .word 0x2002006c 8063524: 20025d16 .word 0x20025d16 8063528: 2002098c .word 0x2002098c 806352c: 20020071 .word 0x20020071 8063530: 20020070 .word 0x20020070 8063534: 20021cdc .word 0x20021cdc 8063538: 20021540 .word 0x20021540 806353c: 200279c0 .word 0x200279c0 In[i] = Out[i]; 8063540: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8063544: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8063548: 4985 ldr r1, [pc, #532] ; (8063760 ) 806354a: 0092 lsls r2, r2, #2 806354c: 440a add r2, r1 806354e: 6812 ldr r2, [r2, #0] 8063550: 4984 ldr r1, [pc, #528] ; (8063764 ) 8063552: 009b lsls r3, r3, #2 8063554: 440b add r3, r1 8063556: 601a str r2, [r3, #0] for(i = 0; i < Ns; i++) { 8063558: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 806355c: 3301 adds r3, #1 806355e: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8063562: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8063566: 4b80 ldr r3, [pc, #512] ; (8063768 ) 8063568: 681b ldr r3, [r3, #0] 806356a: 429a cmp r2, r3 806356c: d3e8 bcc.n 8063540 } arm_rms_f32(In, Ns, &skz[pardata.IPR]); 806356e: 4b7e ldr r3, [pc, #504] ; (8063768 ) 8063570: 6819 ldr r1, [r3, #0] 8063572: 4b7e ldr r3, [pc, #504] ; (806376c ) 8063574: 785b ldrb r3, [r3, #1] 8063576: b2db uxtb r3, r3 8063578: 009b lsls r3, r3, #2 806357a: 4a7d ldr r2, [pc, #500] ; (8063770 ) 806357c: 4413 add r3, r2 806357e: 461a mov r2, r3 8063580: 4878 ldr r0, [pc, #480] ; (8063764 ) 8063582: f066 fc6d bl 80c9e60 if(timeRelax > 1) 8063586: 4b7b ldr r3, [pc, #492] ; (8063774 ) 8063588: 681b ldr r3, [r3, #0] 806358a: 2b01 cmp r3, #1 806358c: d91a bls.n 80635c4 { timeRelax--; 806358e: 4b79 ldr r3, [pc, #484] ; (8063774 ) 8063590: 681b ldr r3, [r3, #0] 8063592: 3b01 subs r3, #1 8063594: 4a77 ldr r2, [pc, #476] ; (8063774 ) 8063596: 6013 str r3, [r2, #0] skz[pardata.IPR] = skzDB[pardata.IPR] = 0.0f; 8063598: 4b74 ldr r3, [pc, #464] ; (806376c ) 806359a: 785b ldrb r3, [r3, #1] 806359c: b2db uxtb r3, r3 806359e: 4618 mov r0, r3 80635a0: 4b72 ldr r3, [pc, #456] ; (806376c ) 80635a2: 785b ldrb r3, [r3, #1] 80635a4: b2db uxtb r3, r3 80635a6: 4974 ldr r1, [pc, #464] ; (8063778 ) 80635a8: 009a lsls r2, r3, #2 80635aa: 440a add r2, r1 80635ac: f04f 0100 mov.w r1, #0 80635b0: 6011 str r1, [r2, #0] 80635b2: 4a71 ldr r2, [pc, #452] ; (8063778 ) 80635b4: 009b lsls r3, r3, #2 80635b6: 4413 add r3, r2 80635b8: 681a ldr r2, [r3, #0] 80635ba: 496d ldr r1, [pc, #436] ; (8063770 ) 80635bc: 0083 lsls r3, r0, #2 80635be: 440b add r3, r1 80635c0: 601a str r2, [r3, #0] 80635c2: e16a b.n 806389a } else if(timeRelax == 1) 80635c4: 4b6b ldr r3, [pc, #428] ; (8063774 ) 80635c6: 681b ldr r3, [r3, #0] 80635c8: 2b01 cmp r3, #1 80635ca: d10d bne.n 80635e8 { timeRelax--; 80635cc: 4b69 ldr r3, [pc, #420] ; (8063774 ) 80635ce: 681b ldr r3, [r3, #0] 80635d0: 3b01 subs r3, #1 80635d2: 4a68 ldr r2, [pc, #416] ; (8063774 ) 80635d4: 6013 str r3, [r2, #0] FastCopy16(IN_Reg, SCR_Reg, _2Ns); 80635d6: 4b64 ldr r3, [pc, #400] ; (8063768 ) 80635d8: 681b ldr r3, [r3, #0] 80635da: 005b lsls r3, r3, #1 80635dc: 461a mov r2, r3 80635de: 2104 movs r1, #4 80635e0: 2001 movs r0, #1 80635e2: f000 fead bl 8064340 80635e6: e158 b.n 806389a } else { FastCopy16(IN_Reg, SCR_Reg, _2Ns); 80635e8: 4b5f ldr r3, [pc, #380] ; (8063768 ) 80635ea: 681b ldr r3, [r3, #0] 80635ec: 005b lsls r3, r3, #1 80635ee: 461a mov r2, r3 80635f0: 2104 movs r1, #4 80635f2: 2001 movs r0, #1 80635f4: f000 fea4 bl 8064340 80635f8: e14f b.n 806389a } } } else if(pardata.IPR == VEL) 80635fa: 4b5c ldr r3, [pc, #368] ; (806376c ) 80635fc: 785b ldrb r3, [r3, #1] 80635fe: b2db uxtb r3, r3 8063600: 2b01 cmp r3, #1 8063602: f040 8094 bne.w 806372e { arm_biquad_cascade_df2T_f64(&S_INT1, Buff64, Buff64, Ns); 8063606: 4b58 ldr r3, [pc, #352] ; (8063768 ) 8063608: 681b ldr r3, [r3, #0] 806360a: 4a5c ldr r2, [pc, #368] ; (806377c ) 806360c: 495b ldr r1, [pc, #364] ; (806377c ) 806360e: 485c ldr r0, [pc, #368] ; (8063780 ) 8063610: f066 fdc8 bl 80ca1a4 arm_biquad_cascade_df2T_f64(&S_HP_VEL, Buff64, Buff64, Ns); 8063614: 4b54 ldr r3, [pc, #336] ; (8063768 ) 8063616: 681b ldr r3, [r3, #0] 8063618: 4a58 ldr r2, [pc, #352] ; (806377c ) 806361a: 4958 ldr r1, [pc, #352] ; (806377c ) 806361c: 4859 ldr r0, [pc, #356] ; (8063784 ) 806361e: f066 fdc1 bl 80ca1a4 for(i = 0; i < Ns; i++) 8063622: 2300 movs r3, #0 8063624: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8063628: e014 b.n 8063654 In[i] = (float32_t) Buff64[i]; 806362a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 806362e: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8063632: 4952 ldr r1, [pc, #328] ; (806377c ) 8063634: 00d2 lsls r2, r2, #3 8063636: 440a add r2, r1 8063638: ed92 7b00 vldr d7, [r2] 806363c: eef7 7bc7 vcvt.f32.f64 s15, d7 8063640: 4a48 ldr r2, [pc, #288] ; (8063764 ) 8063642: 009b lsls r3, r3, #2 8063644: 4413 add r3, r2 8063646: edc3 7a00 vstr s15, [r3] for(i = 0; i < Ns; i++) 806364a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 806364e: 3301 adds r3, #1 8063650: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8063654: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8063658: 4b43 ldr r3, [pc, #268] ; (8063768 ) 806365a: 681b ldr r3, [r3, #0] 806365c: 429a cmp r2, r3 806365e: d3e4 bcc.n 806362a fs = 249.135f / pardata.IKK; 8063660: 4b42 ldr r3, [pc, #264] ; (806376c ) 8063662: ed93 7a04 vldr s14, [r3, #16] 8063666: eddf 6a48 vldr s13, [pc, #288] ; 8063788 806366a: eec6 7a87 vdiv.f32 s15, s13, s14 806366e: edc7 7a6e vstr s15, [r7, #440] ; 0x1b8 if(pardata.IIN == VOLTS) { 8063672: 4b3e ldr r3, [pc, #248] ; (806376c ) 8063674: 799b ldrb r3, [r3, #6] 8063676: b2db uxtb r3, r3 8063678: 2b02 cmp r3, #2 806367a: d107 bne.n 806368c fs *= 0.001f; 806367c: edd7 7a6e vldr s15, [r7, #440] ; 0x1b8 8063680: ed9f 7a42 vldr s14, [pc, #264] ; 806378c 8063684: ee67 7a87 vmul.f32 s15, s15, s14 8063688: edc7 7a6e vstr s15, [r7, #440] ; 0x1b8 } arm_scale_f32(In, fs, In, Ns); 806368c: edd7 7a6e vldr s15, [r7, #440] ; 0x1b8 8063690: 4b35 ldr r3, [pc, #212] ; (8063768 ) 8063692: 681b ldr r3, [r3, #0] 8063694: 461a mov r2, r3 8063696: 4933 ldr r1, [pc, #204] ; (8063764 ) 8063698: eeb0 0a67 vmov.f32 s0, s15 806369c: 4831 ldr r0, [pc, #196] ; (8063764 ) 806369e: f067 f837 bl 80ca710 arm_rms_f32(In, Ns, &skz[pardata.IPR]); 80636a2: 4b31 ldr r3, [pc, #196] ; (8063768 ) 80636a4: 6819 ldr r1, [r3, #0] 80636a6: 4b31 ldr r3, [pc, #196] ; (806376c ) 80636a8: 785b ldrb r3, [r3, #1] 80636aa: b2db uxtb r3, r3 80636ac: 009b lsls r3, r3, #2 80636ae: 4a30 ldr r2, [pc, #192] ; (8063770 ) 80636b0: 4413 add r3, r2 80636b2: 461a mov r2, r3 80636b4: 482b ldr r0, [pc, #172] ; (8063764 ) 80636b6: f066 fbd3 bl 80c9e60 if(timeRelax > 1) 80636ba: 4b2e ldr r3, [pc, #184] ; (8063774 ) 80636bc: 681b ldr r3, [r3, #0] 80636be: 2b01 cmp r3, #1 80636c0: d91a bls.n 80636f8 { timeRelax--; 80636c2: 4b2c ldr r3, [pc, #176] ; (8063774 ) 80636c4: 681b ldr r3, [r3, #0] 80636c6: 3b01 subs r3, #1 80636c8: 4a2a ldr r2, [pc, #168] ; (8063774 ) 80636ca: 6013 str r3, [r2, #0] skz[pardata.IPR] = skzDB[pardata.IPR] = 0.0f; 80636cc: 4b27 ldr r3, [pc, #156] ; (806376c ) 80636ce: 785b ldrb r3, [r3, #1] 80636d0: b2db uxtb r3, r3 80636d2: 4618 mov r0, r3 80636d4: 4b25 ldr r3, [pc, #148] ; (806376c ) 80636d6: 785b ldrb r3, [r3, #1] 80636d8: b2db uxtb r3, r3 80636da: 4927 ldr r1, [pc, #156] ; (8063778 ) 80636dc: 009a lsls r2, r3, #2 80636de: 440a add r2, r1 80636e0: f04f 0100 mov.w r1, #0 80636e4: 6011 str r1, [r2, #0] 80636e6: 4a24 ldr r2, [pc, #144] ; (8063778 ) 80636e8: 009b lsls r3, r3, #2 80636ea: 4413 add r3, r2 80636ec: 681a ldr r2, [r3, #0] 80636ee: 4920 ldr r1, [pc, #128] ; (8063770 ) 80636f0: 0083 lsls r3, r0, #2 80636f2: 440b add r3, r1 80636f4: 601a str r2, [r3, #0] 80636f6: e0d0 b.n 806389a } else if(timeRelax == 1) 80636f8: 4b1e ldr r3, [pc, #120] ; (8063774 ) 80636fa: 681b ldr r3, [r3, #0] 80636fc: 2b01 cmp r3, #1 80636fe: d10d bne.n 806371c { timeRelax--; 8063700: 4b1c ldr r3, [pc, #112] ; (8063774 ) 8063702: 681b ldr r3, [r3, #0] 8063704: 3b01 subs r3, #1 8063706: 4a1b ldr r2, [pc, #108] ; (8063774 ) 8063708: 6013 str r3, [r2, #0] FastCopy16(IN_Reg, SCR_Reg, _2Ns); 806370a: 4b17 ldr r3, [pc, #92] ; (8063768 ) 806370c: 681b ldr r3, [r3, #0] 806370e: 005b lsls r3, r3, #1 8063710: 461a mov r2, r3 8063712: 2104 movs r1, #4 8063714: 2001 movs r0, #1 8063716: f000 fe13 bl 8064340 806371a: e0be b.n 806389a } else { FastCopy16(IN_Reg, SCR_Reg, _2Ns); 806371c: 4b12 ldr r3, [pc, #72] ; (8063768 ) 806371e: 681b ldr r3, [r3, #0] 8063720: 005b lsls r3, r3, #1 8063722: 461a mov r2, r3 8063724: 2104 movs r1, #4 8063726: 2001 movs r0, #1 8063728: f000 fe0a bl 8064340 806372c: e0b5 b.n 806389a } } else if(pardata.IPR == DIS) 806372e: 4b0f ldr r3, [pc, #60] ; (806376c ) 8063730: 785b ldrb r3, [r3, #1] 8063732: b2db uxtb r3, r3 8063734: 2b02 cmp r3, #2 8063736: f040 80b0 bne.w 806389a { arm_biquad_cascade_df2T_f64(&S_INT2, Buff64, Buff64, Ns); 806373a: 4b0b ldr r3, [pc, #44] ; (8063768 ) 806373c: 681b ldr r3, [r3, #0] 806373e: 4a0f ldr r2, [pc, #60] ; (806377c ) 8063740: 490e ldr r1, [pc, #56] ; (806377c ) 8063742: 4813 ldr r0, [pc, #76] ; (8063790 ) 8063744: f066 fd2e bl 80ca1a4 arm_biquad_cascade_df2T_f64(&S_HP_DIS, Buff64, Buff64, Ns); 8063748: 4b07 ldr r3, [pc, #28] ; (8063768 ) 806374a: 681b ldr r3, [r3, #0] 806374c: 4a0b ldr r2, [pc, #44] ; (806377c ) 806374e: 490b ldr r1, [pc, #44] ; (806377c ) 8063750: 4810 ldr r0, [pc, #64] ; (8063794 ) 8063752: f066 fd27 bl 80ca1a4 for(i = 0; i < Ns; i++) 8063756: 2300 movs r3, #0 8063758: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 806375c: e031 b.n 80637c2 806375e: bf00 nop 8063760: 20008000 .word 0x20008000 8063764: 200279c0 .word 0x200279c0 8063768: 20021cdc .word 0x20021cdc 806376c: 20023e60 .word 0x20023e60 8063770: 20021540 .word 0x20021540 8063774: 20020d6c .word 0x20020d6c 8063778: 2002154c .word 0x2002154c 806377c: 20037ae0 .word 0x20037ae0 8063780: 20026170 .word 0x20026170 8063784: 20025e78 .word 0x20025e78 8063788: 4379228f .word 0x4379228f 806378c: 3a83126f .word 0x3a83126f 8063790: 200278c4 .word 0x200278c4 8063794: 20027950 .word 0x20027950 In[i] = (float32_t) Buff64[i]; 8063798: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 806379c: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80637a0: 499c ldr r1, [pc, #624] ; (8063a14 ) 80637a2: 00d2 lsls r2, r2, #3 80637a4: 440a add r2, r1 80637a6: ed92 7b00 vldr d7, [r2] 80637aa: eef7 7bc7 vcvt.f32.f64 s15, d7 80637ae: 4a9a ldr r2, [pc, #616] ; (8063a18 ) 80637b0: 009b lsls r3, r3, #2 80637b2: 4413 add r3, r2 80637b4: edc3 7a00 vstr s15, [r3] for(i = 0; i < Ns; i++) 80637b8: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80637bc: 3301 adds r3, #1 80637be: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 80637c2: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80637c6: 4b95 ldr r3, [pc, #596] ; (8063a1c ) 80637c8: 681b ldr r3, [r3, #0] 80637ca: 429a cmp r2, r3 80637cc: d3e4 bcc.n 8063798 fs = 61400.171f / pardata.IKK; 80637ce: 4b94 ldr r3, [pc, #592] ; (8063a20 ) 80637d0: ed93 7a04 vldr s14, [r3, #16] 80637d4: eddf 6a93 vldr s13, [pc, #588] ; 8063a24 80637d8: eec6 7a87 vdiv.f32 s15, s13, s14 80637dc: edc7 7a6e vstr s15, [r7, #440] ; 0x1b8 if(pardata.IIN == VOLTS) { 80637e0: 4b8f ldr r3, [pc, #572] ; (8063a20 ) 80637e2: 799b ldrb r3, [r3, #6] 80637e4: b2db uxtb r3, r3 80637e6: 2b02 cmp r3, #2 80637e8: d107 bne.n 80637fa fs *= 0.000001f; 80637ea: edd7 7a6e vldr s15, [r7, #440] ; 0x1b8 80637ee: ed9f 7a8e vldr s14, [pc, #568] ; 8063a28 80637f2: ee67 7a87 vmul.f32 s15, s15, s14 80637f6: edc7 7a6e vstr s15, [r7, #440] ; 0x1b8 } arm_scale_f32(In, fs, In, Ns); 80637fa: edd7 7a6e vldr s15, [r7, #440] ; 0x1b8 80637fe: 4b87 ldr r3, [pc, #540] ; (8063a1c ) 8063800: 681b ldr r3, [r3, #0] 8063802: 461a mov r2, r3 8063804: 4984 ldr r1, [pc, #528] ; (8063a18 ) 8063806: eeb0 0a67 vmov.f32 s0, s15 806380a: 4883 ldr r0, [pc, #524] ; (8063a18 ) 806380c: f066 ff80 bl 80ca710 arm_rms_f32(In, Ns, &skz[pardata.IPR]); 8063810: 4b82 ldr r3, [pc, #520] ; (8063a1c ) 8063812: 6819 ldr r1, [r3, #0] 8063814: 4b82 ldr r3, [pc, #520] ; (8063a20 ) 8063816: 785b ldrb r3, [r3, #1] 8063818: b2db uxtb r3, r3 806381a: 009b lsls r3, r3, #2 806381c: 4a83 ldr r2, [pc, #524] ; (8063a2c ) 806381e: 4413 add r3, r2 8063820: 461a mov r2, r3 8063822: 487d ldr r0, [pc, #500] ; (8063a18 ) 8063824: f066 fb1c bl 80c9e60 if(timeRelax > 1) 8063828: 4b81 ldr r3, [pc, #516] ; (8063a30 ) 806382a: 681b ldr r3, [r3, #0] 806382c: 2b01 cmp r3, #1 806382e: d91a bls.n 8063866 { timeRelax--; 8063830: 4b7f ldr r3, [pc, #508] ; (8063a30 ) 8063832: 681b ldr r3, [r3, #0] 8063834: 3b01 subs r3, #1 8063836: 4a7e ldr r2, [pc, #504] ; (8063a30 ) 8063838: 6013 str r3, [r2, #0] skz[pardata.IPR] = skzDB[pardata.IPR] = 0.0f; 806383a: 4b79 ldr r3, [pc, #484] ; (8063a20 ) 806383c: 785b ldrb r3, [r3, #1] 806383e: b2db uxtb r3, r3 8063840: 4618 mov r0, r3 8063842: 4b77 ldr r3, [pc, #476] ; (8063a20 ) 8063844: 785b ldrb r3, [r3, #1] 8063846: b2db uxtb r3, r3 8063848: 497a ldr r1, [pc, #488] ; (8063a34 ) 806384a: 009a lsls r2, r3, #2 806384c: 440a add r2, r1 806384e: f04f 0100 mov.w r1, #0 8063852: 6011 str r1, [r2, #0] 8063854: 4a77 ldr r2, [pc, #476] ; (8063a34 ) 8063856: 009b lsls r3, r3, #2 8063858: 4413 add r3, r2 806385a: 681a ldr r2, [r3, #0] 806385c: 4973 ldr r1, [pc, #460] ; (8063a2c ) 806385e: 0083 lsls r3, r0, #2 8063860: 440b add r3, r1 8063862: 601a str r2, [r3, #0] 8063864: e019 b.n 806389a } else if(timeRelax == 1) 8063866: 4b72 ldr r3, [pc, #456] ; (8063a30 ) 8063868: 681b ldr r3, [r3, #0] 806386a: 2b01 cmp r3, #1 806386c: d10d bne.n 806388a { timeRelax--; 806386e: 4b70 ldr r3, [pc, #448] ; (8063a30 ) 8063870: 681b ldr r3, [r3, #0] 8063872: 3b01 subs r3, #1 8063874: 4a6e ldr r2, [pc, #440] ; (8063a30 ) 8063876: 6013 str r3, [r2, #0] FastCopy16(IN_Reg, SCR_Reg, _2Ns); 8063878: 4b68 ldr r3, [pc, #416] ; (8063a1c ) 806387a: 681b ldr r3, [r3, #0] 806387c: 005b lsls r3, r3, #1 806387e: 461a mov r2, r3 8063880: 2104 movs r1, #4 8063882: 2001 movs r0, #1 8063884: f000 fd5c bl 8064340 8063888: e007 b.n 806389a } else { FastCopy16(IN_Reg, SCR_Reg, _2Ns); 806388a: 4b64 ldr r3, [pc, #400] ; (8063a1c ) 806388c: 681b ldr r3, [r3, #0] 806388e: 005b lsls r3, r3, #1 8063890: 461a mov r2, r3 8063892: 2104 movs r1, #4 8063894: 2001 movs r0, #1 8063896: f000 fd53 bl 8064340 //=========================================================// //======================= SEND BT==========================// //=========================================================// if(GoSend) 806389a: 4b67 ldr r3, [pc, #412] ; (8063a38 ) 806389c: 781b ldrb r3, [r3, #0] 806389e: b2db uxtb r3, r3 80638a0: 2b00 cmp r3, #0 80638a2: d075 beq.n 8063990 static uint32_t cn = 0; //memcpy(&Buff_u8(0), (void *) &In[0], Ns * 4u); tick = HAL_GetTick(); 80638a4: f04f fcc8 bl 80b3238 80638a8: f8c7 021c str.w r0, [r7, #540] ; 0x21c result = f_lseek (&F, f_size(&F)); 80638ac: 4b63 ldr r3, [pc, #396] ; (8063a3c ) 80638ae: e9d3 3404 ldrd r3, r4, [r3, #16] 80638b2: 461a mov r2, r3 80638b4: 4623 mov r3, r4 80638b6: 4861 ldr r0, [pc, #388] ; (8063a3c ) 80638b8: f063 f96a bl 80c6b90 80638bc: 4603 mov r3, r0 80638be: f887 31e1 strb.w r3, [r7, #481] ; 0x1e1 if(result == FR_OK) 80638c2: f897 31e1 ldrb.w r3, [r7, #481] ; 0x1e1 80638c6: 2b00 cmp r3, #0 80638c8: d13d bne.n 8063946 { memcpy((void *) &SD_Buff[0].fl, (void *) &In[0], Ns * 4u); 80638ca: 4b54 ldr r3, [pc, #336] ; (8063a1c ) 80638cc: 681b ldr r3, [r3, #0] 80638ce: 009b lsls r3, r3, #2 80638d0: 461a mov r2, r3 80638d2: 4951 ldr r1, [pc, #324] ; (8063a18 ) 80638d4: 485a ldr r0, [pc, #360] ; (8063a40 ) 80638d6: f069 fbac bl 80cd032 if(cn >= 163840) cn = 0;*/ //f_sync(&F); result = f_write(&F, (void *) &SD_Buff[0].fl, (Ns * 4u), (UINT *) &i); 80638da: 4b50 ldr r3, [pc, #320] ; (8063a1c ) 80638dc: 681b ldr r3, [r3, #0] 80638de: 009a lsls r2, r3, #2 80638e0: f507 73e8 add.w r3, r7, #464 ; 0x1d0 80638e4: 4956 ldr r1, [pc, #344] ; (8063a40 ) 80638e6: 4855 ldr r0, [pc, #340] ; (8063a3c ) 80638e8: f062 fe8e bl 80c6608 80638ec: 4603 mov r3, r0 80638ee: f887 31e1 strb.w r3, [r7, #481] ; 0x1e1 if(result != FR_OK) 80638f2: f897 31e1 ldrb.w r3, [r7, #481] ; 0x1e1 80638f6: 2b00 cmp r3, #0 80638f8: d016 beq.n 8063928 { NeedSTOP = true; 80638fa: 4b52 ldr r3, [pc, #328] ; (8063a44 ) 80638fc: 2201 movs r2, #1 80638fe: 701a strb r2, [r3, #0] GoSend = false; 8063900: 4b4d ldr r3, [pc, #308] ; (8063a38 ) 8063902: 2200 movs r2, #0 8063904: 701a strb r2, [r3, #0] pWrite = pRead = 0; 8063906: f04f 0300 mov.w r3, #0 806390a: f04f 0400 mov.w r4, #0 806390e: 4a4e ldr r2, [pc, #312] ; (8063a48 ) 8063910: e882 0018 stmia.w r2, {r3, r4} 8063914: 4a4d ldr r2, [pc, #308] ; (8063a4c ) 8063916: e882 0018 stmia.w r2, {r3, r4} SendBuf = 0; 806391a: 4b4d ldr r3, [pc, #308] ; (8063a50 ) 806391c: 2200 movs r2, #0 806391e: 601a str r2, [r3, #0] f_close(&F); 8063920: 4846 ldr r0, [pc, #280] ; (8063a3c ) 8063922: f063 f915 bl 80c6b50 8063926: e024 b.n 8063972 } else { pWrite += (Ns * 4u); 8063928: 4b3c ldr r3, [pc, #240] ; (8063a1c ) 806392a: 681b ldr r3, [r3, #0] 806392c: 009b lsls r3, r3, #2 806392e: 4619 mov r1, r3 8063930: f04f 0200 mov.w r2, #0 8063934: 4b45 ldr r3, [pc, #276] ; (8063a4c ) 8063936: cb18 ldmia r3, {r3, r4} 8063938: 185b adds r3, r3, r1 806393a: eb44 0402 adc.w r4, r4, r2 806393e: 4a43 ldr r2, [pc, #268] ; (8063a4c ) 8063940: e882 0018 stmia.w r2, {r3, r4} 8063944: e015 b.n 8063972 } } else { NeedSTOP = true; 8063946: 4b3f ldr r3, [pc, #252] ; (8063a44 ) 8063948: 2201 movs r2, #1 806394a: 701a strb r2, [r3, #0] GoSend = false; 806394c: 4b3a ldr r3, [pc, #232] ; (8063a38 ) 806394e: 2200 movs r2, #0 8063950: 701a strb r2, [r3, #0] pWrite = pRead = 0; 8063952: f04f 0300 mov.w r3, #0 8063956: f04f 0400 mov.w r4, #0 806395a: 4a3b ldr r2, [pc, #236] ; (8063a48 ) 806395c: e882 0018 stmia.w r2, {r3, r4} 8063960: 4a3a ldr r2, [pc, #232] ; (8063a4c ) 8063962: e882 0018 stmia.w r2, {r3, r4} SendBuf = 0; 8063966: 4b3a ldr r3, [pc, #232] ; (8063a50 ) 8063968: 2200 movs r2, #0 806396a: 601a str r2, [r3, #0] f_close(&F); 806396c: 4833 ldr r0, [pc, #204] ; (8063a3c ) 806396e: f063 f8ef bl 80c6b50 } tick = HAL_GetTick() - tick; 8063972: f04f fc61 bl 80b3238 8063976: 4602 mov r2, r0 8063978: f8d7 321c ldr.w r3, [r7, #540] ; 0x21c 806397c: 1ad3 subs r3, r2, r3 806397e: f8c7 321c str.w r3, [r7, #540] ; 0x21c if(tick > 128) 8063982: f8d7 321c ldr.w r3, [r7, #540] ; 0x21c 8063986: 2b80 cmp r3, #128 ; 0x80 8063988: d902 bls.n 8063990 { tick = 0; 806398a: 2300 movs r3, #0 806398c: f8c7 321c str.w r3, [r7, #540] ; 0x21c //*********************************************************// //*********************************************************// if(pardata.IPR > ACC) 8063990: 4b23 ldr r3, [pc, #140] ; (8063a20 ) 8063992: 785b ldrb r3, [r3, #1] 8063994: e007 b.n 80639a6 }*/ } } else { RepeatKm = true; 8063996: 4b2f ldr r3, [pc, #188] ; (8063a54 ) 8063998: 2201 movs r2, #1 806399a: 701a strb r2, [r3, #0] timeRelax = RELAX + 1; 806399c: 4b2e ldr r3, [pc, #184] ; (8063a58 ) 806399e: 681b ldr r3, [r3, #0] 80639a0: 3301 adds r3, #1 80639a2: 4a23 ldr r2, [pc, #140] ; (8063a30 ) 80639a4: 6013 str r3, [r2, #0] tick = DWT->CYCCNT - tick; 80639a6: 4b2d ldr r3, [pc, #180] ; (8063a5c ) 80639a8: 685a ldr r2, [r3, #4] 80639aa: f8d7 321c ldr.w r3, [r7, #540] ; 0x21c 80639ae: 1ad3 subs r3, r2, r3 80639b0: f8c7 321c str.w r3, [r7, #540] ; 0x21c if(tick > maxtick) 80639b4: 4b2a ldr r3, [pc, #168] ; (8063a60 ) 80639b6: 681b ldr r3, [r3, #0] 80639b8: f8d7 221c ldr.w r2, [r7, #540] ; 0x21c 80639bc: 429a cmp r2, r3 80639be: f240 837e bls.w 80640be maxtick = tick; 80639c2: 4a27 ldr r2, [pc, #156] ; (8063a60 ) 80639c4: f8d7 321c ldr.w r3, [r7, #540] ; 0x21c 80639c8: 6013 str r3, [r2, #0] //*========================================================================================================================= //*========================================================================================================================= //*========================================================================================================================= } break; 80639ca: e378 b.n 80640be case WAVE: //TODO WAVE if(measuring) 80639cc: 4b25 ldr r3, [pc, #148] ; (8063a64 ) 80639ce: 781b ldrb r3, [r3, #0] 80639d0: b2db uxtb r3, r3 80639d2: 2b00 cmp r3, #0 80639d4: f000 8375 beq.w 80640c2 { if(pardata.OPTIONS & BIT7) 80639d8: 4b11 ldr r3, [pc, #68] ; (8063a20 ) 80639da: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80639de: f003 0380 and.w r3, r3, #128 ; 0x80 80639e2: 2b00 cmp r3, #0 80639e4: f000 81a2 beq.w 8063d2c { /// TACHO if(menupos == CalculatingFreq) 80639e8: 4b1f ldr r3, [pc, #124] ; (8063a68 ) 80639ea: 781b ldrb r3, [r3, #0] 80639ec: b2db uxtb r3, r3 80639ee: 2b04 cmp r3, #4 80639f0: f040 80c2 bne.w 8063b78 { if(CALC_FREQ) 80639f4: 4b1d ldr r3, [pc, #116] ; (8063a6c ) 80639f6: 781b ldrb r3, [r3, #0] 80639f8: b2db uxtb r3, r3 80639fa: 2b00 cmp r3, #0 80639fc: f000 8361 beq.w 80640c2 { GetDataTacho(); 8063a00: f003 fb20 bl 8067044 READY = 0; 8063a04: 4b1a ldr r3, [pc, #104] ; (8063a70 ) 8063a06: 2200 movs r2, #0 8063a08: 701a strb r2, [r3, #0] i = 8192; 8063a0a: f44f 5300 mov.w r3, #8192 ; 0x2000 8063a0e: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 while(i > 0) 8063a12: e060 b.n 8063ad6 8063a14: 20037ae0 .word 0x20037ae0 8063a18: 200279c0 .word 0x200279c0 8063a1c: 20021cdc .word 0x20021cdc 8063a20: 20023e60 .word 0x20023e60 8063a24: 476fd82c .word 0x476fd82c 8063a28: 358637bd .word 0x358637bd 8063a2c: 20021540 .word 0x20021540 8063a30: 20020d6c .word 0x20020d6c 8063a34: 2002154c .word 0x2002154c 8063a38: 20020f5c .word 0x20020f5c 8063a3c: 20022e20 .word 0x20022e20 8063a40: 20000000 .word 0x20000000 8063a44: 20020f7e .word 0x20020f7e 8063a48: 20020f50 .word 0x20020f50 8063a4c: 20020f48 .word 0x20020f48 8063a50: 20020f58 .word 0x20020f58 8063a54: 20020dac .word 0x20020dac 8063a58: 20020d70 .word 0x20020d70 8063a5c: e0001000 .word 0xe0001000 8063a60: 20021630 .word 0x20021630 8063a64: 20020daf .word 0x20020daf 8063a68: 20020070 .word 0x20020070 8063a6c: 20021010 .word 0x20021010 8063a70: 20020d7f .word 0x20020d7f { i--; 8063a74: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8063a78: 3b01 subs r3, #1 8063a7a: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 Buff64[(i << 1)] = (float64_t) (In16[i].sh[0] & 0xffc); 8063a7e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8063a82: 005a lsls r2, r3, #1 8063a84: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8063a88: 49ba ldr r1, [pc, #744] ; (8063d74 ) 8063a8a: f831 3023 ldrh.w r3, [r1, r3, lsl #2] 8063a8e: 4619 mov r1, r3 8063a90: f640 73fc movw r3, #4092 ; 0xffc 8063a94: 400b ands r3, r1 8063a96: ee07 3a90 vmov s15, r3 8063a9a: eeb8 7be7 vcvt.f64.s32 d7, s15 8063a9e: 49b6 ldr r1, [pc, #728] ; (8063d78 ) 8063aa0: 00d3 lsls r3, r2, #3 8063aa2: 440b add r3, r1 8063aa4: ed83 7b00 vstr d7, [r3] Buff64[(i << 1) + 1] = (float64_t) (In16[i].sh[1] & 0xffc); 8063aa8: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8063aac: 005b lsls r3, r3, #1 8063aae: 1c5a adds r2, r3, #1 8063ab0: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8063ab4: 49af ldr r1, [pc, #700] ; (8063d74 ) 8063ab6: 009b lsls r3, r3, #2 8063ab8: 440b add r3, r1 8063aba: 885b ldrh r3, [r3, #2] 8063abc: 4619 mov r1, r3 8063abe: f640 73fc movw r3, #4092 ; 0xffc 8063ac2: 400b ands r3, r1 8063ac4: ee07 3a90 vmov s15, r3 8063ac8: eeb8 7be7 vcvt.f64.s32 d7, s15 8063acc: 49aa ldr r1, [pc, #680] ; (8063d78 ) 8063ace: 00d3 lsls r3, r2, #3 8063ad0: 440b add r3, r1 8063ad2: ed83 7b00 vstr d7, [r3] while(i > 0) 8063ad6: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8063ada: 2b00 cmp r3, #0 8063adc: d1ca bne.n 8063a74 } arm_biquad_cascade_df2T_f64(&S_LP_TACHO, Buff64, Buff64, 16384); 8063ade: f44f 4380 mov.w r3, #16384 ; 0x4000 8063ae2: 4aa5 ldr r2, [pc, #660] ; (8063d78 ) 8063ae4: 49a4 ldr r1, [pc, #656] ; (8063d78 ) 8063ae6: 48a5 ldr r0, [pc, #660] ; (8063d7c ) 8063ae8: f066 fb5c bl 80ca1a4 arm_biquad_cascade_df2T_f64(&S_HP_TACHO, Buff64, Buff64, 16384); 8063aec: f44f 4380 mov.w r3, #16384 ; 0x4000 8063af0: 4aa1 ldr r2, [pc, #644] ; (8063d78 ) 8063af2: 49a1 ldr r1, [pc, #644] ; (8063d78 ) 8063af4: 48a2 ldr r0, [pc, #648] ; (8063d80 ) 8063af6: f066 fb55 bl 80ca1a4 for(i = 0; i < 16384; i++) { 8063afa: 2300 movs r3, #0 8063afc: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8063b00: e014 b.n 8063b2c Out[i] = (float32_t) Buff64[i]; 8063b02: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8063b06: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8063b0a: 499b ldr r1, [pc, #620] ; (8063d78 ) 8063b0c: 00d2 lsls r2, r2, #3 8063b0e: 440a add r2, r1 8063b10: ed92 7b00 vldr d7, [r2] 8063b14: eef7 7bc7 vcvt.f32.f64 s15, d7 8063b18: 4a9a ldr r2, [pc, #616] ; (8063d84 ) 8063b1a: 009b lsls r3, r3, #2 8063b1c: 4413 add r3, r2 8063b1e: edc3 7a00 vstr s15, [r3] for(i = 0; i < 16384; i++) { 8063b22: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8063b26: 3301 adds r3, #1 8063b28: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8063b2c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8063b30: f5b3 4f80 cmp.w r3, #16384 ; 0x4000 8063b34: d3e5 bcc.n 8063b02 } ///////////////////////////////////////////////////////////////////// memcpy((void *) &Freq_f32(stage * 16384u), (void *) Out, 65536); 8063b36: 4b94 ldr r3, [pc, #592] ; (8063d88 ) 8063b38: 781b ldrb r3, [r3, #0] 8063b3a: b2db uxtb r3, r3 8063b3c: 039b lsls r3, r3, #14 8063b3e: 009a lsls r2, r3, #2 8063b40: 4b92 ldr r3, [pc, #584] ; (8063d8c ) 8063b42: 4413 add r3, r2 8063b44: f44f 3280 mov.w r2, #65536 ; 0x10000 8063b48: 498e ldr r1, [pc, #568] ; (8063d84 ) 8063b4a: 4618 mov r0, r3 8063b4c: f069 fa71 bl 80cd032 stage++; 8063b50: 4b8d ldr r3, [pc, #564] ; (8063d88 ) 8063b52: 781b ldrb r3, [r3, #0] 8063b54: b2db uxtb r3, r3 8063b56: 3301 adds r3, #1 8063b58: b2da uxtb r2, r3 8063b5a: 4b8b ldr r3, [pc, #556] ; (8063d88 ) 8063b5c: 701a strb r2, [r3, #0] if(stage >= 8) // >= 131072 meas 8063b5e: 4b8a ldr r3, [pc, #552] ; (8063d88 ) 8063b60: 781b ldrb r3, [r3, #0] 8063b62: b2db uxtb r3, r3 8063b64: 2b07 cmp r3, #7 8063b66: f240 82ac bls.w 80640c2 { stage = 0; 8063b6a: 4b87 ldr r3, [pc, #540] ; (8063d88 ) 8063b6c: 2200 movs r2, #0 8063b6e: 701a strb r2, [r3, #0] NeedFreqTacho = true; 8063b70: 4b87 ldr r3, [pc, #540] ; (8063d90 ) 8063b72: 2201 movs r2, #1 8063b74: 701a strb r2, [r3, #0] } } } } } break; 8063b76: e2a4 b.n 80640c2 blockSize = measlen; 8063b78: 4b86 ldr r3, [pc, #536] ; (8063d94 ) 8063b7a: 881b ldrh r3, [r3, #0] 8063b7c: b29b uxth r3, r3 8063b7e: f8c7 3220 str.w r3, [r7, #544] ; 0x220 GetData(); 8063b82: f000 fd53 bl 806462c j = 0; 8063b86: 2300 movs r3, #0 8063b88: f8c7 31cc str.w r3, [r7, #460] ; 0x1cc if(menupos == GainSelecting) 8063b8c: 4b82 ldr r3, [pc, #520] ; (8063d98 ) 8063b8e: 781b ldrb r3, [r3, #0] 8063b90: b2db uxtb r3, r3 8063b92: 2b02 cmp r3, #2 8063b94: d148 bne.n 8063c28 if(CalculateGain(Ns) == 0) 8063b96: 4b81 ldr r3, [pc, #516] ; (8063d9c ) 8063b98: 681b ldr r3, [r3, #0] 8063b9a: 4618 mov r0, r3 8063b9c: f7f1 ff2a bl 80559f4 8063ba0: 4603 mov r3, r0 8063ba2: 2b00 cmp r3, #0 8063ba4: f040 828d bne.w 80640c2 if(Flag_Set_KU) 8063ba8: 4b7d ldr r3, [pc, #500] ; (8063da0 ) 8063baa: 781b ldrb r3, [r3, #0] 8063bac: b2db uxtb r3, r3 8063bae: 2b00 cmp r3, #0 8063bb0: d01b beq.n 8063bea SetKU(); 8063bb2: f7bd fe5f bl 8021874 HAL_Delay(1000); 8063bb6: f44f 707a mov.w r0, #1000 ; 0x3e8 8063bba: f04f fb49 bl 80b3250 MeanCnt = 0; 8063bbe: 4b79 ldr r3, [pc, #484] ; (8063da4 ) 8063bc0: 2200 movs r2, #0 8063bc2: 601a str r2, [r3, #0] RepeatKm = true; 8063bc4: 4b78 ldr r3, [pc, #480] ; (8063da8 ) 8063bc6: 2201 movs r2, #1 8063bc8: 701a strb r2, [r3, #0] FirstTime = true; 8063bca: 4b78 ldr r3, [pc, #480] ; (8063dac ) 8063bcc: 2201 movs r2, #1 8063bce: 701a strb r2, [r3, #0] FIRST = false; 8063bd0: 4b77 ldr r3, [pc, #476] ; (8063db0 ) 8063bd2: 2200 movs r2, #0 8063bd4: 701a strb r2, [r3, #0] cntADC = 0; 8063bd6: 4b77 ldr r3, [pc, #476] ; (8063db4 ) 8063bd8: 2200 movs r2, #0 8063bda: 801a strh r2, [r3, #0] Flag_Set_KU = 0; 8063bdc: 4b70 ldr r3, [pc, #448] ; (8063da0 ) 8063bde: 2200 movs r2, #0 8063be0: 701a strb r2, [r3, #0] cntmeas = 0; 8063be2: 4b75 ldr r3, [pc, #468] ; (8063db8 ) 8063be4: 2200 movs r2, #0 8063be6: 801a strh r2, [r3, #0] break; 8063be8: e26b b.n 80640c2 menupos = ReadyRec; 8063bea: 4b6b ldr r3, [pc, #428] ; (8063d98 ) 8063bec: 2203 movs r2, #3 8063bee: 701a strb r2, [r3, #0] Recording = false; 8063bf0: 4b72 ldr r3, [pc, #456] ; (8063dbc ) 8063bf2: 2200 movs r2, #0 8063bf4: 701a strb r2, [r3, #0] RepeatKm = false; 8063bf6: 4b6c ldr r3, [pc, #432] ; (8063da8 ) 8063bf8: 2200 movs r2, #0 8063bfa: 701a strb r2, [r3, #0] FirstTime = false; 8063bfc: 4b6b ldr r3, [pc, #428] ; (8063dac ) 8063bfe: 2200 movs r2, #0 8063c00: 701a strb r2, [r3, #0] cntADC = 0; 8063c02: 4b6c ldr r3, [pc, #432] ; (8063db4 ) 8063c04: 2200 movs r2, #0 8063c06: 801a strh r2, [r3, #0] cntmeas = 0; 8063c08: 4b6b ldr r3, [pc, #428] ; (8063db8 ) 8063c0a: 2200 movs r2, #0 8063c0c: 801a strh r2, [r3, #0] MultRec = _b24V * CorrKk[ACC] * 2; 8063c0e: 4b6c ldr r3, [pc, #432] ; (8063dc0 ) 8063c10: edd3 7a00 vldr s15, [r3] 8063c14: ed9f 7a6b vldr s14, [pc, #428] ; 8063dc4 8063c18: ee67 7a87 vmul.f32 s15, s15, s14 8063c1c: ee77 7aa7 vadd.f32 s15, s15, s15 8063c20: 4b69 ldr r3, [pc, #420] ; (8063dc8 ) 8063c22: edc3 7a00 vstr s15, [r3] break; 8063c26: e24c b.n 80640c2 if(Recording) 8063c28: 4b64 ldr r3, [pc, #400] ; (8063dbc ) 8063c2a: 781b ldrb r3, [r3, #0] 8063c2c: b2db uxtb r3, r3 8063c2e: 2b00 cmp r3, #0 8063c30: f000 8247 beq.w 80640c2 for(i = 0; i < blockSize; i++) 8063c34: 2300 movs r3, #0 8063c36: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8063c3a: e034 b.n 8063ca6 In[i] = (float32_t) In16[i].lg; 8063c3c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8063c40: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8063c44: 494b ldr r1, [pc, #300] ; (8063d74 ) 8063c46: f851 2022 ldr.w r2, [r1, r2, lsl #2] 8063c4a: ee07 2a90 vmov s15, r2 8063c4e: eef8 7a67 vcvt.f32.u32 s15, s15 8063c52: 4a5e ldr r2, [pc, #376] ; (8063dcc ) 8063c54: 009b lsls r3, r3, #2 8063c56: 4413 add r3, r2 8063c58: edc3 7a00 vstr s15, [r3] In[i] -= MEAN; 8063c5c: 4b5c ldr r3, [pc, #368] ; (8063dd0 ) 8063c5e: edd3 7a00 vldr s15, [r3] 8063c62: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8063c66: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8063c6a: 4958 ldr r1, [pc, #352] ; (8063dcc ) 8063c6c: 0092 lsls r2, r2, #2 8063c6e: 440a add r2, r1 8063c70: ed92 7a00 vldr s14, [r2] 8063c74: ee77 7a67 vsub.f32 s15, s14, s15 8063c78: 4a54 ldr r2, [pc, #336] ; (8063dcc ) 8063c7a: 009b lsls r3, r3, #2 8063c7c: 4413 add r3, r2 8063c7e: edc3 7a00 vstr s15, [r3] if(In16[i].lg > 0xE00000) 8063c82: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8063c86: 4a3b ldr r2, [pc, #236] ; (8063d74 ) 8063c88: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8063c8c: f5b3 0f60 cmp.w r3, #14680064 ; 0xe00000 8063c90: d904 bls.n 8063c9c j++; 8063c92: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 8063c96: 3301 adds r3, #1 8063c98: f8c7 31cc str.w r3, [r7, #460] ; 0x1cc for(i = 0; i < blockSize; i++) 8063c9c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8063ca0: 3301 adds r3, #1 8063ca2: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8063ca6: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8063caa: f8d7 3220 ldr.w r3, [r7, #544] ; 0x220 8063cae: 429a cmp r2, r3 8063cb0: d3c4 bcc.n 8063c3c if(j >= 2) 8063cb2: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 8063cb6: 2b01 cmp r3, #1 8063cb8: d903 bls.n 8063cc2 OVERDRIVE = true; 8063cba: 4b46 ldr r3, [pc, #280] ; (8063dd4 ) 8063cbc: 2201 movs r2, #1 8063cbe: 701a strb r2, [r3, #0] 8063cc0: e002 b.n 8063cc8 else OVERDRIVE = false; 8063cc2: 4b44 ldr r3, [pc, #272] ; (8063dd4 ) 8063cc4: 2200 movs r2, #0 8063cc6: 701a strb r2, [r3, #0] arm_scale_f32(In, MultRec, &SD_Buff[0].fl, blockSize); 8063cc8: 4b3f ldr r3, [pc, #252] ; (8063dc8 ) 8063cca: edd3 7a00 vldr s15, [r3] 8063cce: f8d7 2220 ldr.w r2, [r7, #544] ; 0x220 8063cd2: 4941 ldr r1, [pc, #260] ; (8063dd8 ) 8063cd4: eeb0 0a67 vmov.f32 s0, s15 8063cd8: 483c ldr r0, [pc, #240] ; (8063dcc ) 8063cda: f066 fd19 bl 80ca710 TimeRec += Ns; 8063cde: 4b2f ldr r3, [pc, #188] ; (8063d9c ) 8063ce0: 681a ldr r2, [r3, #0] 8063ce2: 4b3e ldr r3, [pc, #248] ; (8063ddc ) 8063ce4: 681b ldr r3, [r3, #0] 8063ce6: 4413 add r3, r2 8063ce8: 4a3c ldr r2, [pc, #240] ; (8063ddc ) 8063cea: 6013 str r3, [r2, #0] result = f_write(&F, (uint32_t *) &SD_Buff[0].fl, (blockSize << 2), (UINT *) &i); 8063cec: f8d7 3220 ldr.w r3, [r7, #544] ; 0x220 8063cf0: 009a lsls r2, r3, #2 8063cf2: f507 73e8 add.w r3, r7, #464 ; 0x1d0 8063cf6: 4938 ldr r1, [pc, #224] ; (8063dd8 ) 8063cf8: 4839 ldr r0, [pc, #228] ; (8063de0 ) 8063cfa: f062 fc85 bl 80c6608 8063cfe: 4603 mov r3, r0 8063d00: f887 31e1 strb.w r3, [r7, #481] ; 0x1e1 if((result != FR_OK) || (TimeRec >= TIMEREC[5][pardata.TME])) { 8063d04: f897 31e1 ldrb.w r3, [r7, #481] ; 0x1e1 8063d08: 2b00 cmp r3, #0 8063d0a: d10b bne.n 8063d24 8063d0c: 4b35 ldr r3, [pc, #212] ; (8063de4 ) 8063d0e: 7b9b ldrb r3, [r3, #14] 8063d10: b2db uxtb r3, r3 8063d12: 4a35 ldr r2, [pc, #212] ; (8063de8 ) 8063d14: 3337 adds r3, #55 ; 0x37 8063d16: f852 2023 ldr.w r2, [r2, r3, lsl #2] 8063d1a: 4b30 ldr r3, [pc, #192] ; (8063ddc ) 8063d1c: 681b ldr r3, [r3, #0] 8063d1e: 429a cmp r2, r3 8063d20: f200 81cf bhi.w 80640c2 NeedSTOP = true; 8063d24: 4b31 ldr r3, [pc, #196] ; (8063dec ) 8063d26: 2201 movs r2, #1 8063d28: 701a strb r2, [r3, #0] break; 8063d2a: e1ca b.n 80640c2 blockSize = measlen; 8063d2c: 4b19 ldr r3, [pc, #100] ; (8063d94 ) 8063d2e: 881b ldrh r3, [r3, #0] 8063d30: b29b uxth r3, r3 8063d32: f8c7 3220 str.w r3, [r7, #544] ; 0x220 GetData(); 8063d36: f000 fc79 bl 806462c j = 0; 8063d3a: 2300 movs r3, #0 8063d3c: f8c7 31cc str.w r3, [r7, #460] ; 0x1cc if(Threshold) 8063d40: 4b2b ldr r3, [pc, #172] ; (8063df0 ) 8063d42: 781b ldrb r3, [r3, #0] 8063d44: b2db uxtb r3, r3 8063d46: 2b00 cmp r3, #0 8063d48: f000 80da beq.w 8063f00 MultRec = _b24V * CorrKk[ACC] * 2; 8063d4c: 4b1c ldr r3, [pc, #112] ; (8063dc0 ) 8063d4e: edd3 7a00 vldr s15, [r3] 8063d52: ed9f 7a1c vldr s14, [pc, #112] ; 8063dc4 8063d56: ee67 7a87 vmul.f32 s15, s15, s14 8063d5a: ee77 7aa7 vadd.f32 s15, s15, s15 8063d5e: 4b1a ldr r3, [pc, #104] ; (8063dc8 ) 8063d60: edc3 7a00 vstr s15, [r3] j = 0; 8063d64: 2300 movs r3, #0 8063d66: f8c7 31cc str.w r3, [r7, #460] ; 0x1cc for(i = 0; i < blockSize; i++) 8063d6a: 2300 movs r3, #0 8063d6c: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8063d70: e075 b.n 8063e5e 8063d72: bf00 nop 8063d74: 20058020 .word 0x20058020 8063d78: 20037ae0 .word 0x20037ae0 8063d7c: 2006826c .word 0x2006826c 8063d80: 20057cb8 .word 0x20057cb8 8063d84: 20008000 .word 0x20008000 8063d88: 20021518 .word 0x20021518 8063d8c: 64080000 .word 0x64080000 8063d90: 20020d76 .word 0x20020d76 8063d94: 20020d8c .word 0x20020d8c 8063d98: 20020070 .word 0x20020070 8063d9c: 20021cdc .word 0x20021cdc 8063da0: 20020d7e .word 0x20020d7e 8063da4: 20020db8 .word 0x20020db8 8063da8: 20020dac .word 0x20020dac 8063dac: 20020dae .word 0x20020dae 8063db0: 20020db2 .word 0x20020db2 8063db4: 20020d7c .word 0x20020d7c 8063db8: 20020d80 .word 0x20020d80 8063dbc: 20020db0 .word 0x20020db0 8063dc0: 20020080 .word 0x20020080 8063dc4: 2f449ba8 .word 0x2f449ba8 8063dc8: 200261c8 .word 0x200261c8 8063dcc: 200279c0 .word 0x200279c0 8063dd0: 200209cc .word 0x200209cc 8063dd4: 20021531 .word 0x20021531 8063dd8: 20000000 .word 0x20000000 8063ddc: 20021684 .word 0x20021684 8063de0: 20022e20 .word 0x20022e20 8063de4: 20023e60 .word 0x20023e60 8063de8: 080ee96c .word 0x080ee96c 8063dec: 20020f7e .word 0x20020f7e 8063df0: 20020db1 .word 0x20020db1 In[i] = (float32_t) In16[i].lg; 8063df4: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8063df8: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8063dfc: 49b7 ldr r1, [pc, #732] ; (80640dc ) 8063dfe: f851 2022 ldr.w r2, [r1, r2, lsl #2] 8063e02: ee07 2a90 vmov s15, r2 8063e06: eef8 7a67 vcvt.f32.u32 s15, s15 8063e0a: 4ab5 ldr r2, [pc, #724] ; (80640e0 ) 8063e0c: 009b lsls r3, r3, #2 8063e0e: 4413 add r3, r2 8063e10: edc3 7a00 vstr s15, [r3] In[i] -= MEAN; 8063e14: 4bb3 ldr r3, [pc, #716] ; (80640e4 ) 8063e16: edd3 7a00 vldr s15, [r3] 8063e1a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8063e1e: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8063e22: 49af ldr r1, [pc, #700] ; (80640e0 ) 8063e24: 0092 lsls r2, r2, #2 8063e26: 440a add r2, r1 8063e28: ed92 7a00 vldr s14, [r2] 8063e2c: ee77 7a67 vsub.f32 s15, s14, s15 8063e30: 4aab ldr r2, [pc, #684] ; (80640e0 ) 8063e32: 009b lsls r3, r3, #2 8063e34: 4413 add r3, r2 8063e36: edc3 7a00 vstr s15, [r3] if(In16[i].lg > 0xE00000) 8063e3a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8063e3e: 4aa7 ldr r2, [pc, #668] ; (80640dc ) 8063e40: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8063e44: f5b3 0f60 cmp.w r3, #14680064 ; 0xe00000 8063e48: d904 bls.n 8063e54 j++; 8063e4a: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 8063e4e: 3301 adds r3, #1 8063e50: f8c7 31cc str.w r3, [r7, #460] ; 0x1cc for(i = 0; i < blockSize; i++) 8063e54: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8063e58: 3301 adds r3, #1 8063e5a: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8063e5e: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8063e62: f8d7 3220 ldr.w r3, [r7, #544] ; 0x220 8063e66: 429a cmp r2, r3 8063e68: d3c4 bcc.n 8063df4 if(j >= 2) 8063e6a: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 8063e6e: 2b01 cmp r3, #1 8063e70: d903 bls.n 8063e7a OVERDRIVE = true; 8063e72: 4b9d ldr r3, [pc, #628] ; (80640e8 ) 8063e74: 2201 movs r2, #1 8063e76: 701a strb r2, [r3, #0] 8063e78: e002 b.n 8063e80 else OVERDRIVE = false; 8063e7a: 4b9b ldr r3, [pc, #620] ; (80640e8 ) 8063e7c: 2200 movs r2, #0 8063e7e: 701a strb r2, [r3, #0] arm_scale_f32(In, MultRec, &SD_Buff[0].fl, blockSize); 8063e80: 4b9a ldr r3, [pc, #616] ; (80640ec ) 8063e82: edd3 7a00 vldr s15, [r3] 8063e86: f8d7 2220 ldr.w r2, [r7, #544] ; 0x220 8063e8a: 4999 ldr r1, [pc, #612] ; (80640f0 ) 8063e8c: eeb0 0a67 vmov.f32 s0, s15 8063e90: 4893 ldr r0, [pc, #588] ; (80640e0 ) 8063e92: f066 fc3d bl 80ca710 if((pardata.IVS[ACC] & 0x3) != RMS) 8063e96: 4b97 ldr r3, [pc, #604] ; (80640f4 ) 8063e98: 789b ldrb r3, [r3, #2] 8063e9a: b2db uxtb r3, r3 8063e9c: f003 0303 and.w r3, r3, #3 8063ea0: 2b01 cmp r3, #1 8063ea2: f000 810e beq.w 80640c2 if(Recording) 8063ea6: 4b94 ldr r3, [pc, #592] ; (80640f8 ) 8063ea8: 781b ldrb r3, [r3, #0] 8063eaa: b2db uxtb r3, r3 8063eac: 2b00 cmp r3, #0 8063eae: f000 8108 beq.w 80640c2 TimeRec += Ns; 8063eb2: 4b92 ldr r3, [pc, #584] ; (80640fc ) 8063eb4: 681a ldr r2, [r3, #0] 8063eb6: 4b92 ldr r3, [pc, #584] ; (8064100 ) 8063eb8: 681b ldr r3, [r3, #0] 8063eba: 4413 add r3, r2 8063ebc: 4a90 ldr r2, [pc, #576] ; (8064100 ) 8063ebe: 6013 str r3, [r2, #0] result = f_write(&F, (void *) &SD_Buff[0].fl, (blockSize << 2), (UINT *) &i); 8063ec0: f8d7 3220 ldr.w r3, [r7, #544] ; 0x220 8063ec4: 009a lsls r2, r3, #2 8063ec6: f507 73e8 add.w r3, r7, #464 ; 0x1d0 8063eca: 4989 ldr r1, [pc, #548] ; (80640f0 ) 8063ecc: 488d ldr r0, [pc, #564] ; (8064104 ) 8063ece: f062 fb9b bl 80c6608 8063ed2: 4603 mov r3, r0 8063ed4: f887 31e1 strb.w r3, [r7, #481] ; 0x1e1 if((result != FR_OK) || (TimeRec >= TIMEREC[5][pardata.TME])) { 8063ed8: f897 31e1 ldrb.w r3, [r7, #481] ; 0x1e1 8063edc: 2b00 cmp r3, #0 8063ede: d10b bne.n 8063ef8 8063ee0: 4b84 ldr r3, [pc, #528] ; (80640f4 ) 8063ee2: 7b9b ldrb r3, [r3, #14] 8063ee4: b2db uxtb r3, r3 8063ee6: 4a88 ldr r2, [pc, #544] ; (8064108 ) 8063ee8: 3337 adds r3, #55 ; 0x37 8063eea: f852 2023 ldr.w r2, [r2, r3, lsl #2] 8063eee: 4b84 ldr r3, [pc, #528] ; (8064100 ) 8063ef0: 681b ldr r3, [r3, #0] 8063ef2: 429a cmp r2, r3 8063ef4: f200 80e5 bhi.w 80640c2 NeedSTOP = true; 8063ef8: 4b84 ldr r3, [pc, #528] ; (806410c ) 8063efa: 2201 movs r2, #1 8063efc: 701a strb r2, [r3, #0] break; 8063efe: e0e0 b.n 80640c2 if(menupos == GainSelecting) 8063f00: 4b83 ldr r3, [pc, #524] ; (8064110 ) 8063f02: 781b ldrb r3, [r3, #0] 8063f04: b2db uxtb r3, r3 8063f06: 2b02 cmp r3, #2 8063f08: d148 bne.n 8063f9c if(CalculateGain(Ns) == 0) 8063f0a: 4b7c ldr r3, [pc, #496] ; (80640fc ) 8063f0c: 681b ldr r3, [r3, #0] 8063f0e: 4618 mov r0, r3 8063f10: f7f1 fd70 bl 80559f4 8063f14: 4603 mov r3, r0 8063f16: 2b00 cmp r3, #0 8063f18: f040 80d3 bne.w 80640c2 if(Flag_Set_KU) 8063f1c: 4b7d ldr r3, [pc, #500] ; (8064114 ) 8063f1e: 781b ldrb r3, [r3, #0] 8063f20: b2db uxtb r3, r3 8063f22: 2b00 cmp r3, #0 8063f24: d01b beq.n 8063f5e SetKU(); 8063f26: f7bd fca5 bl 8021874 HAL_Delay(1000); 8063f2a: f44f 707a mov.w r0, #1000 ; 0x3e8 8063f2e: f04f f98f bl 80b3250 MeanCnt = 0; 8063f32: 4b79 ldr r3, [pc, #484] ; (8064118 ) 8063f34: 2200 movs r2, #0 8063f36: 601a str r2, [r3, #0] RepeatKm = true; 8063f38: 4b78 ldr r3, [pc, #480] ; (806411c ) 8063f3a: 2201 movs r2, #1 8063f3c: 701a strb r2, [r3, #0] FirstTime = true; 8063f3e: 4b78 ldr r3, [pc, #480] ; (8064120 ) 8063f40: 2201 movs r2, #1 8063f42: 701a strb r2, [r3, #0] FIRST = false; 8063f44: 4b77 ldr r3, [pc, #476] ; (8064124 ) 8063f46: 2200 movs r2, #0 8063f48: 701a strb r2, [r3, #0] cntADC = 0; 8063f4a: 4b77 ldr r3, [pc, #476] ; (8064128 ) 8063f4c: 2200 movs r2, #0 8063f4e: 801a strh r2, [r3, #0] Flag_Set_KU = 0; 8063f50: 4b70 ldr r3, [pc, #448] ; (8064114 ) 8063f52: 2200 movs r2, #0 8063f54: 701a strb r2, [r3, #0] cntmeas = 0; 8063f56: 4b75 ldr r3, [pc, #468] ; (806412c ) 8063f58: 2200 movs r2, #0 8063f5a: 801a strh r2, [r3, #0] break; 8063f5c: e0b1 b.n 80640c2 menupos = ReadyRec; 8063f5e: 4b6c ldr r3, [pc, #432] ; (8064110 ) 8063f60: 2203 movs r2, #3 8063f62: 701a strb r2, [r3, #0] Recording = false; 8063f64: 4b64 ldr r3, [pc, #400] ; (80640f8 ) 8063f66: 2200 movs r2, #0 8063f68: 701a strb r2, [r3, #0] RepeatKm = false; 8063f6a: 4b6c ldr r3, [pc, #432] ; (806411c ) 8063f6c: 2200 movs r2, #0 8063f6e: 701a strb r2, [r3, #0] FirstTime = false; 8063f70: 4b6b ldr r3, [pc, #428] ; (8064120 ) 8063f72: 2200 movs r2, #0 8063f74: 701a strb r2, [r3, #0] cntADC = 0; 8063f76: 4b6c ldr r3, [pc, #432] ; (8064128 ) 8063f78: 2200 movs r2, #0 8063f7a: 801a strh r2, [r3, #0] cntmeas = 0; 8063f7c: 4b6b ldr r3, [pc, #428] ; (806412c ) 8063f7e: 2200 movs r2, #0 8063f80: 801a strh r2, [r3, #0] MultRec = _b24V * CorrKk[ACC] * 2; 8063f82: 4b6b ldr r3, [pc, #428] ; (8064130 ) 8063f84: edd3 7a00 vldr s15, [r3] 8063f88: ed9f 7a6a vldr s14, [pc, #424] ; 8064134 8063f8c: ee67 7a87 vmul.f32 s15, s15, s14 8063f90: ee77 7aa7 vadd.f32 s15, s15, s15 8063f94: 4b55 ldr r3, [pc, #340] ; (80640ec ) 8063f96: edc3 7a00 vstr s15, [r3] break; 8063f9a: e092 b.n 80640c2 if(Recording) 8063f9c: 4b56 ldr r3, [pc, #344] ; (80640f8 ) 8063f9e: 781b ldrb r3, [r3, #0] 8063fa0: b2db uxtb r3, r3 8063fa2: 2b00 cmp r3, #0 8063fa4: f000 808d beq.w 80640c2 for(i = 0; i < blockSize; i++) 8063fa8: 2300 movs r3, #0 8063faa: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8063fae: e034 b.n 806401a In[i] = (float32_t) In16[i].lg; 8063fb0: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8063fb4: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8063fb8: 4948 ldr r1, [pc, #288] ; (80640dc ) 8063fba: f851 2022 ldr.w r2, [r1, r2, lsl #2] 8063fbe: ee07 2a90 vmov s15, r2 8063fc2: eef8 7a67 vcvt.f32.u32 s15, s15 8063fc6: 4a46 ldr r2, [pc, #280] ; (80640e0 ) 8063fc8: 009b lsls r3, r3, #2 8063fca: 4413 add r3, r2 8063fcc: edc3 7a00 vstr s15, [r3] In[i] -= MEAN; 8063fd0: 4b44 ldr r3, [pc, #272] ; (80640e4 ) 8063fd2: edd3 7a00 vldr s15, [r3] 8063fd6: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8063fda: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8063fde: 4940 ldr r1, [pc, #256] ; (80640e0 ) 8063fe0: 0092 lsls r2, r2, #2 8063fe2: 440a add r2, r1 8063fe4: ed92 7a00 vldr s14, [r2] 8063fe8: ee77 7a67 vsub.f32 s15, s14, s15 8063fec: 4a3c ldr r2, [pc, #240] ; (80640e0 ) 8063fee: 009b lsls r3, r3, #2 8063ff0: 4413 add r3, r2 8063ff2: edc3 7a00 vstr s15, [r3] if(In16[i].lg > 0xE00000) 8063ff6: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8063ffa: 4a38 ldr r2, [pc, #224] ; (80640dc ) 8063ffc: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8064000: f5b3 0f60 cmp.w r3, #14680064 ; 0xe00000 8064004: d904 bls.n 8064010 j++; 8064006: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 806400a: 3301 adds r3, #1 806400c: f8c7 31cc str.w r3, [r7, #460] ; 0x1cc for(i = 0; i < blockSize; i++) 8064010: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8064014: 3301 adds r3, #1 8064016: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 806401a: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 806401e: f8d7 3220 ldr.w r3, [r7, #544] ; 0x220 8064022: 429a cmp r2, r3 8064024: d3c4 bcc.n 8063fb0 if(j >= 2) 8064026: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 806402a: 2b01 cmp r3, #1 806402c: d903 bls.n 8064036 OVERDRIVE = true; 806402e: 4b2e ldr r3, [pc, #184] ; (80640e8 ) 8064030: 2201 movs r2, #1 8064032: 701a strb r2, [r3, #0] 8064034: e002 b.n 806403c else OVERDRIVE = false; 8064036: 4b2c ldr r3, [pc, #176] ; (80640e8 ) 8064038: 2200 movs r2, #0 806403a: 701a strb r2, [r3, #0] arm_scale_f32(In, MultRec, &SD_Buff[0].fl, blockSize); 806403c: 4b2b ldr r3, [pc, #172] ; (80640ec ) 806403e: edd3 7a00 vldr s15, [r3] 8064042: f8d7 2220 ldr.w r2, [r7, #544] ; 0x220 8064046: 492a ldr r1, [pc, #168] ; (80640f0 ) 8064048: eeb0 0a67 vmov.f32 s0, s15 806404c: 4824 ldr r0, [pc, #144] ; (80640e0 ) 806404e: f066 fb5f bl 80ca710 TimeRec += Ns; 8064052: 4b2a ldr r3, [pc, #168] ; (80640fc ) 8064054: 681a ldr r2, [r3, #0] 8064056: 4b2a ldr r3, [pc, #168] ; (8064100 ) 8064058: 681b ldr r3, [r3, #0] 806405a: 4413 add r3, r2 806405c: 4a28 ldr r2, [pc, #160] ; (8064100 ) 806405e: 6013 str r3, [r2, #0] result = f_write(&F, (uint32_t *) &SD_Buff[0].fl, (blockSize << 2), (UINT *) &i); 8064060: f8d7 3220 ldr.w r3, [r7, #544] ; 0x220 8064064: 009a lsls r2, r3, #2 8064066: f507 73e8 add.w r3, r7, #464 ; 0x1d0 806406a: 4921 ldr r1, [pc, #132] ; (80640f0 ) 806406c: 4825 ldr r0, [pc, #148] ; (8064104 ) 806406e: f062 facb bl 80c6608 8064072: 4603 mov r3, r0 8064074: f887 31e1 strb.w r3, [r7, #481] ; 0x1e1 if((result != FR_OK) || (TimeRec >= TIMEREC[5][pardata.TME])) { 8064078: f897 31e1 ldrb.w r3, [r7, #481] ; 0x1e1 806407c: 2b00 cmp r3, #0 806407e: d10a bne.n 8064096 8064080: 4b1c ldr r3, [pc, #112] ; (80640f4 ) 8064082: 7b9b ldrb r3, [r3, #14] 8064084: b2db uxtb r3, r3 8064086: 4a20 ldr r2, [pc, #128] ; (8064108 ) 8064088: 3337 adds r3, #55 ; 0x37 806408a: f852 2023 ldr.w r2, [r2, r3, lsl #2] 806408e: 4b1c ldr r3, [pc, #112] ; (8064100 ) 8064090: 681b ldr r3, [r3, #0] 8064092: 429a cmp r2, r3 8064094: d815 bhi.n 80640c2 NeedSTOP = true; 8064096: 4b1d ldr r3, [pc, #116] ; (806410c ) 8064098: 2201 movs r2, #1 806409a: 701a strb r2, [r3, #0] break; 806409c: e011 b.n 80640c2 break; 806409e: bf00 nop 80640a0: e010 b.n 80640c4 break; 80640a2: bf00 nop 80640a4: e00e b.n 80640c4 break; 80640a6: bf00 nop 80640a8: e00c b.n 80640c4 break; 80640aa: bf00 nop 80640ac: e00a b.n 80640c4 break; 80640ae: bf00 nop 80640b0: e008 b.n 80640c4 break; 80640b2: bf00 nop 80640b4: e006 b.n 80640c4 break; 80640b6: bf00 nop 80640b8: e004 b.n 80640c4 break; 80640ba: bf00 nop 80640bc: e002 b.n 80640c4 break; 80640be: bf00 nop 80640c0: e000 b.n 80640c4 break; 80640c2: bf00 nop } } Processing(); 80640c4: f000 f83a bl 806413c READY = DATA_FREE; 80640c8: 4b1b ldr r3, [pc, #108] ; (8064138 ) 80640ca: 2200 movs r2, #0 80640cc: 701a strb r2, [r3, #0] /*if(Initialized) { BT_SendMeas(); }*/ } 80640ce: f507 770b add.w r7, r7, #556 ; 0x22c 80640d2: 46bd mov sp, r7 80640d4: ecbd 8b04 vpop {d8-d9} 80640d8: bd90 pop {r4, r7, pc} 80640da: bf00 nop 80640dc: 20058020 .word 0x20058020 80640e0: 200279c0 .word 0x200279c0 80640e4: 200209cc .word 0x200209cc 80640e8: 20021531 .word 0x20021531 80640ec: 200261c8 .word 0x200261c8 80640f0: 20000000 .word 0x20000000 80640f4: 20023e60 .word 0x20023e60 80640f8: 20020db0 .word 0x20020db0 80640fc: 20021cdc .word 0x20021cdc 8064100: 20021684 .word 0x20021684 8064104: 20022e20 .word 0x20022e20 8064108: 080ee96c .word 0x080ee96c 806410c: 20020f7e .word 0x20020f7e 8064110: 20020070 .word 0x20020070 8064114: 20020d7e .word 0x20020d7e 8064118: 20020db8 .word 0x20020db8 806411c: 20020dac .word 0x20020dac 8064120: 20020dae .word 0x20020dae 8064124: 20020db2 .word 0x20020db2 8064128: 20020d7c .word 0x20020d7c 806412c: 20020d80 .word 0x20020d80 8064130: 20020080 .word 0x20020080 8064134: 2f449ba8 .word 0x2f449ba8 8064138: 20020d7f .word 0x20020d7f 0806413c : void Processing(void) { 806413c: b580 push {r7, lr} 806413e: af00 add r7, sp, #0 if(pardata.SYG != WAVE) 8064140: 4b64 ldr r3, [pc, #400] ; (80642d4 ) 8064142: 781b ldrb r3, [r3, #0] 8064144: b2db uxtb r3, r3 8064146: 2b04 cmp r3, #4 8064148: f000 80b5 beq.w 80642b6 { if(Flag_Set_KU) 806414c: 4b62 ldr r3, [pc, #392] ; (80642d8 ) 806414e: 781b ldrb r3, [r3, #0] 8064150: b2db uxtb r3, r3 8064152: 2b00 cmp r3, #0 8064154: d04e beq.n 80641f4 { SetKU(); 8064156: f7bd fb8d bl 8021874 HAL_Delay(300); 806415a: f44f 7096 mov.w r0, #300 ; 0x12c 806415e: f04f f877 bl 80b3250 MeanCnt = 0; 8064162: 4b5e ldr r3, [pc, #376] ; (80642dc ) 8064164: 2200 movs r2, #0 8064166: 601a str r2, [r3, #0] RepeatKm = true; 8064168: 4b5d ldr r3, [pc, #372] ; (80642e0 ) 806416a: 2201 movs r2, #1 806416c: 701a strb r2, [r3, #0] FirstTime = true; 806416e: 4b5d ldr r3, [pc, #372] ; (80642e4 ) 8064170: 2201 movs r2, #1 8064172: 701a strb r2, [r3, #0] //initFilters(); firstOkt = true; 8064174: 4b5c ldr r3, [pc, #368] ; (80642e8 ) 8064176: 2201 movs r2, #1 8064178: 701a strb r2, [r3, #0] cntOkt = 0; 806417a: 4b5c ldr r3, [pc, #368] ; (80642ec ) 806417c: 2200 movs r2, #0 806417e: 601a str r2, [r3, #0] rms0_8 = 0.0f; 8064180: 4b5b ldr r3, [pc, #364] ; (80642f0 ) 8064182: f04f 0200 mov.w r2, #0 8064186: 601a str r2, [r3, #0] rms1 = 0.0f; 8064188: 4b5a ldr r3, [pc, #360] ; (80642f4 ) 806418a: f04f 0200 mov.w r2, #0 806418e: 601a str r2, [r3, #0] rms1_25 = 0.0f; 8064190: 4b59 ldr r3, [pc, #356] ; (80642f8 ) 8064192: f04f 0200 mov.w r2, #0 8064196: 601a str r2, [r3, #0] rms1_6 = 0.0f; 8064198: 4b58 ldr r3, [pc, #352] ; (80642fc ) 806419a: f04f 0200 mov.w r2, #0 806419e: 601a str r2, [r3, #0] rms2 = 0.0f; 80641a0: 4b57 ldr r3, [pc, #348] ; (8064300 ) 80641a2: f04f 0200 mov.w r2, #0 80641a6: 601a str r2, [r3, #0] rms2_5 = 0.0f; 80641a8: 4b56 ldr r3, [pc, #344] ; (8064304 ) 80641aa: f04f 0200 mov.w r2, #0 80641ae: 601a str r2, [r3, #0] rms3_15 = 0.0f; 80641b0: 4b55 ldr r3, [pc, #340] ; (8064308 ) 80641b2: f04f 0200 mov.w r2, #0 80641b6: 601a str r2, [r3, #0] rms4 = 0.0f; 80641b8: 4b54 ldr r3, [pc, #336] ; (806430c ) 80641ba: f04f 0200 mov.w r2, #0 80641be: 601a str r2, [r3, #0] rms5 = 0.0f; 80641c0: 4b53 ldr r3, [pc, #332] ; (8064310 ) 80641c2: f04f 0200 mov.w r2, #0 80641c6: 601a str r2, [r3, #0] rms6_3 = 0.0f; 80641c8: 4b52 ldr r3, [pc, #328] ; (8064314 ) 80641ca: f04f 0200 mov.w r2, #0 80641ce: 601a str r2, [r3, #0] rms8 = 0.0f; 80641d0: 4b51 ldr r3, [pc, #324] ; (8064318 ) 80641d2: f04f 0200 mov.w r2, #0 80641d6: 601a str r2, [r3, #0] rms10 = 0.0f; 80641d8: 4b50 ldr r3, [pc, #320] ; (806431c ) 80641da: f04f 0200 mov.w r2, #0 80641de: 601a str r2, [r3, #0] cntADC = 0; 80641e0: 4b4f ldr r3, [pc, #316] ; (8064320 ) 80641e2: 2200 movs r2, #0 80641e4: 801a strh r2, [r3, #0] cntmeas = 0; 80641e6: 4b4f ldr r3, [pc, #316] ; (8064324 ) 80641e8: 2200 movs r2, #0 80641ea: 801a strh r2, [r3, #0] Flag_Set_KU = 0; 80641ec: 4b3a ldr r3, [pc, #232] ; (80642d8 ) 80641ee: 2200 movs r2, #0 80641f0: 701a strb r2, [r3, #0] 80641f2: e063 b.n 80642bc } else { if(FirstTime) 80641f4: 4b3b ldr r3, [pc, #236] ; (80642e4 ) 80641f6: 781b ldrb r3, [r3, #0] 80641f8: b2db uxtb r3, r3 80641fa: 2b00 cmp r3, #0 80641fc: d008 beq.n 8064210 { FirstTime = false; 80641fe: 4b39 ldr r3, [pc, #228] ; (80642e4 ) 8064200: 2200 movs r2, #0 8064202: 701a strb r2, [r3, #0] cntADC = 0; 8064204: 4b46 ldr r3, [pc, #280] ; (8064320 ) 8064206: 2200 movs r2, #0 8064208: 801a strh r2, [r3, #0] cntmeas = 0; 806420a: 4b46 ldr r3, [pc, #280] ; (8064324 ) 806420c: 2200 movs r2, #0 806420e: 801a strh r2, [r3, #0] } if(RepeatKm) 8064210: 4b33 ldr r3, [pc, #204] ; (80642e0 ) 8064212: 781b ldrb r3, [r3, #0] 8064214: b2db uxtb r3, r3 8064216: 2b00 cmp r3, #0 8064218: d01c beq.n 8064254 { RepeatKm = false; 806421a: 4b31 ldr r3, [pc, #196] ; (80642e0 ) 806421c: 2200 movs r2, #0 806421e: 701a strb r2, [r3, #0] FIRST = false; 8064220: 4b41 ldr r3, [pc, #260] ; (8064328 ) 8064222: 2200 movs r2, #0 8064224: 701a strb r2, [r3, #0] if((pardata.SYG == OSC) || ((pardata.SYG == SPEC) || (pardata.SYG == SPEC_OGIB) || (pardata.SYG == ROLL))) { 8064226: 4b2b ldr r3, [pc, #172] ; (80642d4 ) 8064228: 781b ldrb r3, [r3, #0] 806422a: b2db uxtb r3, r3 806422c: 2b02 cmp r3, #2 806422e: d00e beq.n 806424e 8064230: 4b28 ldr r3, [pc, #160] ; (80642d4 ) 8064232: 781b ldrb r3, [r3, #0] 8064234: b2db uxtb r3, r3 8064236: 2b01 cmp r3, #1 8064238: d009 beq.n 806424e 806423a: 4b26 ldr r3, [pc, #152] ; (80642d4 ) 806423c: 781b ldrb r3, [r3, #0] 806423e: b2db uxtb r3, r3 8064240: 2b05 cmp r3, #5 8064242: d004 beq.n 806424e 8064244: 4b23 ldr r3, [pc, #140] ; (80642d4 ) 8064246: 781b ldrb r3, [r3, #0] 8064248: b2db uxtb r3, r3 806424a: 2b08 cmp r3, #8 806424c: d102 bne.n 8064254 AUTOZOOM = true; 806424e: 4b37 ldr r3, [pc, #220] ; (806432c ) 8064250: 2201 movs r2, #1 8064252: 701a strb r2, [r3, #0] } } if(firstmeas) 8064254: 4b36 ldr r3, [pc, #216] ; (8064330 ) 8064256: 781b ldrb r3, [r3, #0] 8064258: b2db uxtb r3, r3 806425a: 2b00 cmp r3, #0 806425c: d020 beq.n 80642a0 { firstmeas = false; 806425e: 4b34 ldr r3, [pc, #208] ; (8064330 ) 8064260: 2200 movs r2, #0 8064262: 701a strb r2, [r3, #0] FIRST = false; 8064264: 4b30 ldr r3, [pc, #192] ; (8064328 ) 8064266: 2200 movs r2, #0 8064268: 701a strb r2, [r3, #0] NSamples = 1; 806426a: 4b32 ldr r3, [pc, #200] ; (8064334 ) 806426c: 2201 movs r2, #1 806426e: 601a str r2, [r3, #0] if((pardata.SYG == OSC) || (pardata.SYG == SPEC) || (pardata.SYG == SPEC_OGIB) || (pardata.SYG == ROLL)) { 8064270: 4b18 ldr r3, [pc, #96] ; (80642d4 ) 8064272: 781b ldrb r3, [r3, #0] 8064274: b2db uxtb r3, r3 8064276: 2b02 cmp r3, #2 8064278: d00e beq.n 8064298 806427a: 4b16 ldr r3, [pc, #88] ; (80642d4 ) 806427c: 781b ldrb r3, [r3, #0] 806427e: b2db uxtb r3, r3 8064280: 2b01 cmp r3, #1 8064282: d009 beq.n 8064298 8064284: 4b13 ldr r3, [pc, #76] ; (80642d4 ) 8064286: 781b ldrb r3, [r3, #0] 8064288: b2db uxtb r3, r3 806428a: 2b05 cmp r3, #5 806428c: d004 beq.n 8064298 806428e: 4b11 ldr r3, [pc, #68] ; (80642d4 ) 8064290: 781b ldrb r3, [r3, #0] 8064292: b2db uxtb r3, r3 8064294: 2b08 cmp r3, #8 8064296: d111 bne.n 80642bc AUTOZOOM = true; 8064298: 4b24 ldr r3, [pc, #144] ; (806432c ) 806429a: 2201 movs r2, #1 806429c: 701a strb r2, [r3, #0] 806429e: e00d b.n 80642bc } } else { if(measuring) { 80642a0: 4b25 ldr r3, [pc, #148] ; (8064338 ) 80642a2: 781b ldrb r3, [r3, #0] 80642a4: b2db uxtb r3, r3 80642a6: 2b00 cmp r3, #0 80642a8: d008 beq.n 80642bc NSamples++; 80642aa: 4b22 ldr r3, [pc, #136] ; (8064334 ) 80642ac: 681b ldr r3, [r3, #0] 80642ae: 3301 adds r3, #1 80642b0: 4a20 ldr r2, [pc, #128] ; (8064334 ) 80642b2: 6013 str r3, [r2, #0] 80642b4: e002 b.n 80642bc } } } else { Flag_Set_KU = 0; 80642b6: 4b08 ldr r3, [pc, #32] ; (80642d8 ) 80642b8: 2200 movs r2, #0 80642ba: 701a strb r2, [r3, #0] } if(NeedSTOP) 80642bc: 4b1f ldr r3, [pc, #124] ; (806433c ) 80642be: 781b ldrb r3, [r3, #0] 80642c0: b2db uxtb r3, r3 80642c2: 2b00 cmp r3, #0 80642c4: d004 beq.n 80642d0 { NeedSTOP = false; 80642c6: 4b1d ldr r3, [pc, #116] ; (806433c ) 80642c8: 2200 movs r2, #0 80642ca: 701a strb r2, [r3, #0] StopMeas(); 80642cc: f7bf fa66 bl 802379c } } 80642d0: bf00 nop 80642d2: bd80 pop {r7, pc} 80642d4: 20023e60 .word 0x20023e60 80642d8: 20020d7e .word 0x20020d7e 80642dc: 20020db8 .word 0x20020db8 80642e0: 20020dac .word 0x20020dac 80642e4: 20020dae .word 0x20020dae 80642e8: 20020d94 .word 0x20020d94 80642ec: 20020d90 .word 0x20020d90 80642f0: 20021cd4 .word 0x20021cd4 80642f4: 20021d10 .word 0x20021d10 80642f8: 20021cc8 .word 0x20021cc8 80642fc: 20021ccc .word 0x20021ccc 8064300: 20021cd8 .word 0x20021cd8 8064304: 20021cf8 .word 0x20021cf8 8064308: 20021d14 .word 0x20021d14 806430c: 20021d18 .word 0x20021d18 8064310: 20021ce4 .word 0x20021ce4 8064314: 20021ce0 .word 0x20021ce0 8064318: 20021cd0 .word 0x20021cd0 806431c: 20021d0c .word 0x20021d0c 8064320: 20020d7c .word 0x20020d7c 8064324: 20020d80 .word 0x20020d80 8064328: 20020db2 .word 0x20020db2 806432c: 2002098c .word 0x2002098c 8064330: 20020dad .word 0x20020dad 8064334: 20020d88 .word 0x20020d88 8064338: 20020daf .word 0x20020daf 806433c: 20020f7e .word 0x20020f7e 08064340 : void FastCopy16(DMA_DataType Src, DMA_DataType Dst, uint32_t NumHalfWords) { 8064340: b580 push {r7, lr} 8064342: b084 sub sp, #16 8064344: af00 add r7, sp, #0 8064346: 4603 mov r3, r0 8064348: 603a str r2, [r7, #0] 806434a: 71fb strb r3, [r7, #7] 806434c: 460b mov r3, r1 806434e: 71bb strb r3, [r7, #6] uint32_t AddrSrc, AddrDst; if(Src == IN_Reg) 8064350: 79fb ldrb r3, [r7, #7] 8064352: 2b01 cmp r3, #1 8064354: d102 bne.n 806435c AddrSrc = (uint32_t) In; 8064356: 4b39 ldr r3, [pc, #228] ; (806443c ) 8064358: 60fb str r3, [r7, #12] 806435a: e02e b.n 80643ba else if(Src == OUT_Reg) 806435c: 79fb ldrb r3, [r7, #7] 806435e: 2b09 cmp r3, #9 8064360: d102 bne.n 8064368 AddrSrc = (uint32_t) Out; 8064362: 4b37 ldr r3, [pc, #220] ; (8064440 ) 8064364: 60fb str r3, [r7, #12] 8064366: e028 b.n 80643ba else if(Src == IN16_Reg) 8064368: 79fb ldrb r3, [r7, #7] 806436a: 2b00 cmp r3, #0 806436c: d102 bne.n 8064374 AddrSrc = (uint32_t) In16; 806436e: 4b35 ldr r3, [pc, #212] ; (8064444 ) 8064370: 60fb str r3, [r7, #12] 8064372: e022 b.n 80643ba else if(Src == MEAN_Reg) 8064374: 79fb ldrb r3, [r7, #7] 8064376: 2b03 cmp r3, #3 8064378: d102 bne.n 8064380 AddrSrc = (uint32_t) pMeanA_u16; 806437a: 4b33 ldr r3, [pc, #204] ; (8064448 ) 806437c: 60fb str r3, [r7, #12] 806437e: e01c b.n 80643ba else if(Src == SCR_Reg) 8064380: 79fb ldrb r3, [r7, #7] 8064382: 2b04 cmp r3, #4 8064384: d102 bne.n 806438c AddrSrc = (uint32_t) pScrA_u16; 8064386: 4b31 ldr r3, [pc, #196] ; (806444c ) 8064388: 60fb str r3, [r7, #12] 806438a: e016 b.n 80643ba else if(Src == CMPLX_A) 806438c: 79fb ldrb r3, [r7, #7] 806438e: 2b05 cmp r3, #5 8064390: d102 bne.n 8064398 AddrSrc = (uint32_t) pCmplxA_u16; 8064392: 4b2f ldr r3, [pc, #188] ; (8064450 ) 8064394: 60fb str r3, [r7, #12] 8064396: e010 b.n 80643ba else if(Src == CMPLX_V) 8064398: 79fb ldrb r3, [r7, #7] 806439a: 2b06 cmp r3, #6 806439c: d102 bne.n 80643a4 AddrSrc = (uint32_t) pCmplxA_u16; 806439e: 4b2c ldr r3, [pc, #176] ; (8064450 ) 80643a0: 60fb str r3, [r7, #12] 80643a2: e00a b.n 80643ba else if(Src == CMPLX_S) 80643a4: 79fb ldrb r3, [r7, #7] 80643a6: 2b07 cmp r3, #7 80643a8: d102 bne.n 80643b0 AddrSrc = (uint32_t) pCmplxA_u16; 80643aa: 4b29 ldr r3, [pc, #164] ; (8064450 ) 80643ac: 60fb str r3, [r7, #12] 80643ae: e004 b.n 80643ba else if(Src == WAV_SECTOR) 80643b0: 79fb ldrb r3, [r7, #7] 80643b2: 2b08 cmp r3, #8 80643b4: d101 bne.n 80643ba AddrSrc = (uint32_t) sector; 80643b6: 4b27 ldr r3, [pc, #156] ; (8064454 ) 80643b8: 60fb str r3, [r7, #12] if(Dst == IN_Reg) 80643ba: 79bb ldrb r3, [r7, #6] 80643bc: 2b01 cmp r3, #1 80643be: d102 bne.n 80643c6 AddrDst = (uint32_t) In; 80643c0: 4b1e ldr r3, [pc, #120] ; (806443c ) 80643c2: 60bb str r3, [r7, #8] 80643c4: e02e b.n 8064424 else if(Dst == OUT_Reg) 80643c6: 79bb ldrb r3, [r7, #6] 80643c8: 2b09 cmp r3, #9 80643ca: d102 bne.n 80643d2 AddrDst = (uint32_t) Out; 80643cc: 4b1c ldr r3, [pc, #112] ; (8064440 ) 80643ce: 60bb str r3, [r7, #8] 80643d0: e028 b.n 8064424 else if(Dst == IN16_Reg) 80643d2: 79bb ldrb r3, [r7, #6] 80643d4: 2b00 cmp r3, #0 80643d6: d102 bne.n 80643de AddrDst = (uint32_t) In16; 80643d8: 4b1a ldr r3, [pc, #104] ; (8064444 ) 80643da: 60bb str r3, [r7, #8] 80643dc: e022 b.n 8064424 else if(Dst == MEAN_Reg) 80643de: 79bb ldrb r3, [r7, #6] 80643e0: 2b03 cmp r3, #3 80643e2: d102 bne.n 80643ea AddrDst = (uint32_t) pMeanA_u16; 80643e4: 4b18 ldr r3, [pc, #96] ; (8064448 ) 80643e6: 60bb str r3, [r7, #8] 80643e8: e01c b.n 8064424 else if(Dst == SCR_Reg) 80643ea: 79bb ldrb r3, [r7, #6] 80643ec: 2b04 cmp r3, #4 80643ee: d102 bne.n 80643f6 AddrDst = (uint32_t) pScrA_u16; 80643f0: 4b16 ldr r3, [pc, #88] ; (806444c ) 80643f2: 60bb str r3, [r7, #8] 80643f4: e016 b.n 8064424 else if(Dst == CMPLX_A) 80643f6: 79bb ldrb r3, [r7, #6] 80643f8: 2b05 cmp r3, #5 80643fa: d102 bne.n 8064402 AddrDst = (uint32_t) pCmplxA_u16; 80643fc: 4b14 ldr r3, [pc, #80] ; (8064450 ) 80643fe: 60bb str r3, [r7, #8] 8064400: e010 b.n 8064424 else if(Dst == CMPLX_V) 8064402: 79bb ldrb r3, [r7, #6] 8064404: 2b06 cmp r3, #6 8064406: d102 bne.n 806440e AddrDst = (uint32_t) pCmplxA_u16; 8064408: 4b11 ldr r3, [pc, #68] ; (8064450 ) 806440a: 60bb str r3, [r7, #8] 806440c: e00a b.n 8064424 else if(Dst == CMPLX_S) 806440e: 79bb ldrb r3, [r7, #6] 8064410: 2b07 cmp r3, #7 8064412: d102 bne.n 806441a AddrDst = (uint32_t) pCmplxA_u16; 8064414: 4b0e ldr r3, [pc, #56] ; (8064450 ) 8064416: 60bb str r3, [r7, #8] 8064418: e004 b.n 8064424 else if(Dst == WAV_SECTOR) 806441a: 79bb ldrb r3, [r7, #6] 806441c: 2b08 cmp r3, #8 806441e: d101 bne.n 8064424 AddrDst = (uint32_t) sector; 8064420: 4b0c ldr r3, [pc, #48] ; (8064454 ) 8064422: 60bb str r3, [r7, #8] #ifdef USE_DMA_MEMCPY DMA_MemToMem_HALFWORD(AddrSrc, AddrDst, NumHalfWords); #else memcpy((void *) AddrDst, (void *) AddrSrc, (NumHalfWords << 1)); 8064424: 68b8 ldr r0, [r7, #8] 8064426: 68f9 ldr r1, [r7, #12] 8064428: 683b ldr r3, [r7, #0] 806442a: 005b lsls r3, r3, #1 806442c: 461a mov r2, r3 806442e: f068 fe00 bl 80cd032 #endif } 8064432: bf00 nop 8064434: 3710 adds r7, #16 8064436: 46bd mov sp, r7 8064438: bd80 pop {r7, pc} 806443a: bf00 nop 806443c: 200279c0 .word 0x200279c0 8064440: 20008000 .word 0x20008000 8064444: 20058020 .word 0x20058020 8064448: 640a0000 .word 0x640a0000 806444c: 64080000 .word 0x64080000 8064450: 64090000 .word 0x64090000 8064454: 2007c000 .word 0x2007c000 08064458 : void ARM_ADD_F32(DMA_DataType A, DMA_DataType B, DMA_DataType Dst, uint32_t BlockSize) { 8064458: b580 push {r7, lr} 806445a: b086 sub sp, #24 806445c: af00 add r7, sp, #0 806445e: 603b str r3, [r7, #0] 8064460: 4603 mov r3, r0 8064462: 71fb strb r3, [r7, #7] 8064464: 460b mov r3, r1 8064466: 71bb strb r3, [r7, #6] 8064468: 4613 mov r3, r2 806446a: 717b strb r3, [r7, #5] float32_t *AddrSrc1; float32_t *AddrSrc2; float32_t *AddrDst; if(A == IN_Reg) 806446c: 79fb ldrb r3, [r7, #7] 806446e: 2b01 cmp r3, #1 8064470: d102 bne.n 8064478 AddrSrc1 = In; 8064472: 4b38 ldr r3, [pc, #224] ; (8064554 ) 8064474: 617b str r3, [r7, #20] 8064476: e01c b.n 80644b2 else if(A == MEAN_Reg) 8064478: 79fb ldrb r3, [r7, #7] 806447a: 2b03 cmp r3, #3 806447c: d102 bne.n 8064484 AddrSrc1 = pMeanA_f32; 806447e: 4b36 ldr r3, [pc, #216] ; (8064558 ) 8064480: 617b str r3, [r7, #20] 8064482: e016 b.n 80644b2 else if(A == SCR_Reg) 8064484: 79fb ldrb r3, [r7, #7] 8064486: 2b04 cmp r3, #4 8064488: d102 bne.n 8064490 AddrSrc1 = pScrA_f32; 806448a: 4b34 ldr r3, [pc, #208] ; (806455c ) 806448c: 617b str r3, [r7, #20] 806448e: e010 b.n 80644b2 else if(A == CMPLX_A) 8064490: 79fb ldrb r3, [r7, #7] 8064492: 2b05 cmp r3, #5 8064494: d102 bne.n 806449c AddrSrc1 = pCmplxA_f32; 8064496: 4b32 ldr r3, [pc, #200] ; (8064560 ) 8064498: 617b str r3, [r7, #20] 806449a: e00a b.n 80644b2 else if(A == CMPLX_V) 806449c: 79fb ldrb r3, [r7, #7] 806449e: 2b06 cmp r3, #6 80644a0: d102 bne.n 80644a8 AddrSrc1 = pCmplxA_f32; 80644a2: 4b2f ldr r3, [pc, #188] ; (8064560 ) 80644a4: 617b str r3, [r7, #20] 80644a6: e004 b.n 80644b2 else if(A == CMPLX_S) 80644a8: 79fb ldrb r3, [r7, #7] 80644aa: 2b07 cmp r3, #7 80644ac: d101 bne.n 80644b2 AddrSrc1 = pCmplxA_f32; 80644ae: 4b2c ldr r3, [pc, #176] ; (8064560 ) 80644b0: 617b str r3, [r7, #20] if(B == IN_Reg) 80644b2: 79bb ldrb r3, [r7, #6] 80644b4: 2b01 cmp r3, #1 80644b6: d102 bne.n 80644be AddrSrc2 = In; 80644b8: 4b26 ldr r3, [pc, #152] ; (8064554 ) 80644ba: 613b str r3, [r7, #16] 80644bc: e01c b.n 80644f8 else if(B == MEAN_Reg) 80644be: 79bb ldrb r3, [r7, #6] 80644c0: 2b03 cmp r3, #3 80644c2: d102 bne.n 80644ca AddrSrc2 = pMeanA_f32; 80644c4: 4b24 ldr r3, [pc, #144] ; (8064558 ) 80644c6: 613b str r3, [r7, #16] 80644c8: e016 b.n 80644f8 else if(B == SCR_Reg) 80644ca: 79bb ldrb r3, [r7, #6] 80644cc: 2b04 cmp r3, #4 80644ce: d102 bne.n 80644d6 AddrSrc2 = pScrA_f32; 80644d0: 4b22 ldr r3, [pc, #136] ; (806455c ) 80644d2: 613b str r3, [r7, #16] 80644d4: e010 b.n 80644f8 else if(B == CMPLX_A) 80644d6: 79bb ldrb r3, [r7, #6] 80644d8: 2b05 cmp r3, #5 80644da: d102 bne.n 80644e2 AddrSrc2 = pCmplxA_f32; 80644dc: 4b20 ldr r3, [pc, #128] ; (8064560 ) 80644de: 613b str r3, [r7, #16] 80644e0: e00a b.n 80644f8 else if(B == CMPLX_V) 80644e2: 79bb ldrb r3, [r7, #6] 80644e4: 2b06 cmp r3, #6 80644e6: d102 bne.n 80644ee AddrSrc2 = pCmplxA_f32; 80644e8: 4b1d ldr r3, [pc, #116] ; (8064560 ) 80644ea: 613b str r3, [r7, #16] 80644ec: e004 b.n 80644f8 else if(B == CMPLX_S) 80644ee: 79bb ldrb r3, [r7, #6] 80644f0: 2b07 cmp r3, #7 80644f2: d101 bne.n 80644f8 AddrSrc2 = pCmplxA_f32; 80644f4: 4b1a ldr r3, [pc, #104] ; (8064560 ) 80644f6: 613b str r3, [r7, #16] if(Dst == IN_Reg) 80644f8: 797b ldrb r3, [r7, #5] 80644fa: 2b01 cmp r3, #1 80644fc: d102 bne.n 8064504 AddrDst = In; 80644fe: 4b15 ldr r3, [pc, #84] ; (8064554 ) 8064500: 60fb str r3, [r7, #12] 8064502: e01c b.n 806453e else if(Dst == MEAN_Reg) 8064504: 797b ldrb r3, [r7, #5] 8064506: 2b03 cmp r3, #3 8064508: d102 bne.n 8064510 AddrDst = pMeanA_f32; 806450a: 4b13 ldr r3, [pc, #76] ; (8064558 ) 806450c: 60fb str r3, [r7, #12] 806450e: e016 b.n 806453e else if(Dst == SCR_Reg) 8064510: 797b ldrb r3, [r7, #5] 8064512: 2b04 cmp r3, #4 8064514: d102 bne.n 806451c AddrDst = pScrA_f32; 8064516: 4b11 ldr r3, [pc, #68] ; (806455c ) 8064518: 60fb str r3, [r7, #12] 806451a: e010 b.n 806453e else if(Dst == CMPLX_A) 806451c: 797b ldrb r3, [r7, #5] 806451e: 2b05 cmp r3, #5 8064520: d102 bne.n 8064528 AddrDst = pCmplxA_f32; 8064522: 4b0f ldr r3, [pc, #60] ; (8064560 ) 8064524: 60fb str r3, [r7, #12] 8064526: e00a b.n 806453e else if(Dst == CMPLX_V) 8064528: 797b ldrb r3, [r7, #5] 806452a: 2b06 cmp r3, #6 806452c: d102 bne.n 8064534 AddrDst = pCmplxA_f32; 806452e: 4b0c ldr r3, [pc, #48] ; (8064560 ) 8064530: 60fb str r3, [r7, #12] 8064532: e004 b.n 806453e else if(Dst == CMPLX_S) 8064534: 797b ldrb r3, [r7, #5] 8064536: 2b07 cmp r3, #7 8064538: d101 bne.n 806453e AddrDst = pCmplxA_f32; 806453a: 4b09 ldr r3, [pc, #36] ; (8064560 ) 806453c: 60fb str r3, [r7, #12] arm_add_f32(AddrSrc1, AddrSrc2, AddrDst, BlockSize); 806453e: 683b ldr r3, [r7, #0] 8064540: 68fa ldr r2, [r7, #12] 8064542: 6939 ldr r1, [r7, #16] 8064544: 6978 ldr r0, [r7, #20] 8064546: f066 f995 bl 80ca874 } 806454a: bf00 nop 806454c: 3718 adds r7, #24 806454e: 46bd mov sp, r7 8064550: bd80 pop {r7, pc} 8064552: bf00 nop 8064554: 200279c0 .word 0x200279c0 8064558: 640a0000 .word 0x640a0000 806455c: 64080000 .word 0x64080000 8064560: 64090000 .word 0x64090000 08064564 : void ARM_SCALE_F32(DMA_DataType Src, float32_t Scale, DMA_DataType Dst, uint32_t BlockSize) { 8064564: b580 push {r7, lr} 8064566: b086 sub sp, #24 8064568: af00 add r7, sp, #0 806456a: 4603 mov r3, r0 806456c: ed87 0a02 vstr s0, [r7, #8] 8064570: 607a str r2, [r7, #4] 8064572: 73fb strb r3, [r7, #15] 8064574: 460b mov r3, r1 8064576: 73bb strb r3, [r7, #14] float32_t *AddrSrc; float32_t *AddrDst; if(Src == IN_Reg) 8064578: 7bfb ldrb r3, [r7, #15] 806457a: 2b01 cmp r3, #1 806457c: d102 bne.n 8064584 AddrSrc = In; 806457e: 4b27 ldr r3, [pc, #156] ; (806461c ) 8064580: 617b str r3, [r7, #20] 8064582: e01c b.n 80645be else if(Src == MEAN_Reg) 8064584: 7bfb ldrb r3, [r7, #15] 8064586: 2b03 cmp r3, #3 8064588: d102 bne.n 8064590 AddrSrc = pMeanA_f32; 806458a: 4b25 ldr r3, [pc, #148] ; (8064620 ) 806458c: 617b str r3, [r7, #20] 806458e: e016 b.n 80645be else if(Src == SCR_Reg) 8064590: 7bfb ldrb r3, [r7, #15] 8064592: 2b04 cmp r3, #4 8064594: d102 bne.n 806459c AddrSrc = pScrA_f32; 8064596: 4b23 ldr r3, [pc, #140] ; (8064624 ) 8064598: 617b str r3, [r7, #20] 806459a: e010 b.n 80645be else if(Src == CMPLX_A) 806459c: 7bfb ldrb r3, [r7, #15] 806459e: 2b05 cmp r3, #5 80645a0: d102 bne.n 80645a8 AddrSrc = pCmplxA_f32; 80645a2: 4b21 ldr r3, [pc, #132] ; (8064628 ) 80645a4: 617b str r3, [r7, #20] 80645a6: e00a b.n 80645be else if(Src == CMPLX_V) 80645a8: 7bfb ldrb r3, [r7, #15] 80645aa: 2b06 cmp r3, #6 80645ac: d102 bne.n 80645b4 AddrSrc = pCmplxA_f32; 80645ae: 4b1e ldr r3, [pc, #120] ; (8064628 ) 80645b0: 617b str r3, [r7, #20] 80645b2: e004 b.n 80645be else if(Src == CMPLX_S) 80645b4: 7bfb ldrb r3, [r7, #15] 80645b6: 2b07 cmp r3, #7 80645b8: d101 bne.n 80645be AddrSrc = pCmplxA_f32; 80645ba: 4b1b ldr r3, [pc, #108] ; (8064628 ) 80645bc: 617b str r3, [r7, #20] if(Dst == IN_Reg) 80645be: 7bbb ldrb r3, [r7, #14] 80645c0: 2b01 cmp r3, #1 80645c2: d102 bne.n 80645ca AddrDst = In; 80645c4: 4b15 ldr r3, [pc, #84] ; (806461c ) 80645c6: 613b str r3, [r7, #16] 80645c8: e01c b.n 8064604 else if(Dst == MEAN_Reg) 80645ca: 7bbb ldrb r3, [r7, #14] 80645cc: 2b03 cmp r3, #3 80645ce: d102 bne.n 80645d6 AddrDst = pMeanA_f32; 80645d0: 4b13 ldr r3, [pc, #76] ; (8064620 ) 80645d2: 613b str r3, [r7, #16] 80645d4: e016 b.n 8064604 else if(Dst == SCR_Reg) 80645d6: 7bbb ldrb r3, [r7, #14] 80645d8: 2b04 cmp r3, #4 80645da: d102 bne.n 80645e2 AddrDst = pScrA_f32; 80645dc: 4b11 ldr r3, [pc, #68] ; (8064624 ) 80645de: 613b str r3, [r7, #16] 80645e0: e010 b.n 8064604 else if(Dst == CMPLX_A) 80645e2: 7bbb ldrb r3, [r7, #14] 80645e4: 2b05 cmp r3, #5 80645e6: d102 bne.n 80645ee AddrDst = pCmplxA_f32; 80645e8: 4b0f ldr r3, [pc, #60] ; (8064628 ) 80645ea: 613b str r3, [r7, #16] 80645ec: e00a b.n 8064604 else if(Dst == CMPLX_V) 80645ee: 7bbb ldrb r3, [r7, #14] 80645f0: 2b06 cmp r3, #6 80645f2: d102 bne.n 80645fa AddrDst = pCmplxA_f32; 80645f4: 4b0c ldr r3, [pc, #48] ; (8064628 ) 80645f6: 613b str r3, [r7, #16] 80645f8: e004 b.n 8064604 else if(Dst == CMPLX_S) 80645fa: 7bbb ldrb r3, [r7, #14] 80645fc: 2b07 cmp r3, #7 80645fe: d101 bne.n 8064604 AddrDst = pCmplxA_f32; 8064600: 4b09 ldr r3, [pc, #36] ; (8064628 ) 8064602: 613b str r3, [r7, #16] arm_scale_f32(AddrSrc, Scale, AddrDst, BlockSize); 8064604: 687a ldr r2, [r7, #4] 8064606: 6939 ldr r1, [r7, #16] 8064608: ed97 0a02 vldr s0, [r7, #8] 806460c: 6978 ldr r0, [r7, #20] 806460e: f066 f87f bl 80ca710 } 8064612: bf00 nop 8064614: 3718 adds r7, #24 8064616: 46bd mov sp, r7 8064618: bd80 pop {r7, pc} 806461a: bf00 nop 806461c: 200279c0 .word 0x200279c0 8064620: 640a0000 .word 0x640a0000 8064624: 64080000 .word 0x64080000 8064628: 64090000 .word 0x64090000 0806462c : void GetData(void) { 806462c: b580 push {r7, lr} 806462e: b082 sub sp, #8 8064630: af00 add r7, sp, #0 volatile uint16_t n; volatile uint16_t BlockSize; ADC_POINT = lastcntmeas; 8064632: 4b3b ldr r3, [pc, #236] ; (8064720 ) 8064634: 881b ldrh r3, [r3, #0] 8064636: b29a uxth r2, r3 8064638: 4b3a ldr r3, [pc, #232] ; (8064724 ) 806463a: 801a strh r2, [r3, #0] TIMEOUT_OFF = min15; 806463c: 4b3a ldr r3, [pc, #232] ; (8064728 ) 806463e: f44f 12e1 mov.w r2, #1843200 ; 0x1c2000 8064642: 601a str r2, [r3, #0] TIMEOUT_OFF2 = sec10; 8064644: 4b39 ldr r3, [pc, #228] ; (806472c ) 8064646: f44f 42a0 mov.w r2, #20480 ; 0x5000 806464a: 601a str r2, [r3, #0] if(pardata.SYG == UDAR) 806464c: 4b38 ldr r3, [pc, #224] ; (8064730 ) 806464e: 781b ldrb r3, [r3, #0] 8064650: b2db uxtb r3, r3 8064652: 2b09 cmp r3, #9 8064654: d112 bne.n 806467c { if(READY == 1) 8064656: 4b37 ldr r3, [pc, #220] ; (8064734 ) 8064658: 781b ldrb r3, [r3, #0] 806465a: b2db uxtb r3, r3 806465c: 2b01 cmp r3, #1 806465e: d106 bne.n 806466e memcpy((void *) In16, (void *) &AdcBuff_16(0), 32768); 8064660: f44f 4200 mov.w r2, #32768 ; 0x8000 8064664: 4934 ldr r1, [pc, #208] ; (8064738 ) 8064666: 4835 ldr r0, [pc, #212] ; (806473c ) 8064668: f068 fce3 bl 80cd032 memcpy((void *) &In16[n].lg, (void *) &AdcBuff(0), (ADC_POINT << 2)); #endif /**/ } } } 806466c: e053 b.n 8064716 else memcpy((void *) In16, (void *) &AdcBuff_16(HALF_UDAR_BUFF), 32768); 806466e: f44f 4200 mov.w r2, #32768 ; 0x8000 8064672: 4933 ldr r1, [pc, #204] ; (8064740 ) 8064674: 4831 ldr r0, [pc, #196] ; (806473c ) 8064676: f068 fcdc bl 80cd032 } 806467a: e04c b.n 8064716 if(pardata.SYG == WAVE) 806467c: 4b2c ldr r3, [pc, #176] ; (8064730 ) 806467e: 781b ldrb r3, [r3, #0] 8064680: b2db uxtb r3, r3 8064682: 2b04 cmp r3, #4 8064684: d104 bne.n 8064690 BlockSize = measlen; 8064686: 4b2f ldr r3, [pc, #188] ; (8064744 ) 8064688: 881b ldrh r3, [r3, #0] 806468a: b29b uxth r3, r3 806468c: 80bb strh r3, [r7, #4] 806468e: e003 b.n 8064698 BlockSize = Ns; 8064690: 4b2d ldr r3, [pc, #180] ; (8064748 ) 8064692: 681b ldr r3, [r3, #0] 8064694: b29b uxth r3, r3 8064696: 80bb strh r3, [r7, #4] if(ADC_POINT >= BlockSize) 8064698: 4b22 ldr r3, [pc, #136] ; (8064724 ) 806469a: 881b ldrh r3, [r3, #0] 806469c: b29a uxth r2, r3 806469e: 88bb ldrh r3, [r7, #4] 80646a0: b29b uxth r3, r3 80646a2: 429a cmp r2, r3 80646a4: d313 bcc.n 80646ce memcpy((void *) In16, (void *) &AdcBuff(ADC_POINT - BlockSize), (BlockSize << 2)); 80646a6: 4b1f ldr r3, [pc, #124] ; (8064724 ) 80646a8: 881b ldrh r3, [r3, #0] 80646aa: b29b uxth r3, r3 80646ac: 461a mov r2, r3 80646ae: 88bb ldrh r3, [r7, #4] 80646b0: b29b uxth r3, r3 80646b2: 1ad3 subs r3, r2, r3 80646b4: 009b lsls r3, r3, #2 80646b6: 461a mov r2, r3 80646b8: 4b1f ldr r3, [pc, #124] ; (8064738 ) 80646ba: 4413 add r3, r2 80646bc: 4619 mov r1, r3 80646be: 88bb ldrh r3, [r7, #4] 80646c0: b29b uxth r3, r3 80646c2: 009b lsls r3, r3, #2 80646c4: 461a mov r2, r3 80646c6: 481d ldr r0, [pc, #116] ; (806473c ) 80646c8: f068 fcb3 bl 80cd032 } 80646cc: e023 b.n 8064716 n = (BlockSize - ADC_POINT); 80646ce: 88bb ldrh r3, [r7, #4] 80646d0: b29a uxth r2, r3 80646d2: 4b14 ldr r3, [pc, #80] ; (8064724 ) 80646d4: 881b ldrh r3, [r3, #0] 80646d6: b29b uxth r3, r3 80646d8: 1ad3 subs r3, r2, r3 80646da: b29b uxth r3, r3 80646dc: 80fb strh r3, [r7, #6] memcpy((void *) In16, (void *) &AdcBuff(SIZE_ADC_BUFF - n), (n << 2)); 80646de: 88fb ldrh r3, [r7, #6] 80646e0: b29b uxth r3, r3 80646e2: f5c3 4300 rsb r3, r3, #32768 ; 0x8000 80646e6: 009a lsls r2, r3, #2 80646e8: 4b13 ldr r3, [pc, #76] ; (8064738 ) 80646ea: 4413 add r3, r2 80646ec: 4619 mov r1, r3 80646ee: 88fb ldrh r3, [r7, #6] 80646f0: b29b uxth r3, r3 80646f2: 009b lsls r3, r3, #2 80646f4: 461a mov r2, r3 80646f6: 4811 ldr r0, [pc, #68] ; (806473c ) 80646f8: f068 fc9b bl 80cd032 memcpy((void *) &In16[n].lg, (void *) &AdcBuff(0), (ADC_POINT << 2)); 80646fc: 88fb ldrh r3, [r7, #6] 80646fe: b29b uxth r3, r3 8064700: 009b lsls r3, r3, #2 8064702: 4a0e ldr r2, [pc, #56] ; (806473c ) 8064704: 1898 adds r0, r3, r2 8064706: 4b07 ldr r3, [pc, #28] ; (8064724 ) 8064708: 881b ldrh r3, [r3, #0] 806470a: b29b uxth r3, r3 806470c: 009b lsls r3, r3, #2 806470e: 461a mov r2, r3 8064710: 4909 ldr r1, [pc, #36] ; (8064738 ) 8064712: f068 fc8e bl 80cd032 } 8064716: bf00 nop 8064718: 3708 adds r7, #8 806471a: 46bd mov sp, r7 806471c: bd80 pop {r7, pc} 806471e: bf00 nop 8064720: 20020d84 .word 0x20020d84 8064724: 20021608 .word 0x20021608 8064728: 200209c0 .word 0x200209c0 806472c: 200209c4 .word 0x200209c4 8064730: 20023e60 .word 0x20023e60 8064734: 20020d7f .word 0x20020d7f 8064738: 64060000 .word 0x64060000 806473c: 20058020 .word 0x20058020 8064740: 64068000 .word 0x64068000 8064744: 20020d8c .word 0x20020d8c 8064748: 20021cdc .word 0x20021cdc 0806474c : void WindowFunc(uint8_t Window, uint16_t Samples) { 806474c: b580 push {r7, lr} 806474e: b08e sub sp, #56 ; 0x38 8064750: af00 add r7, sp, #0 8064752: 4603 mov r3, r0 8064754: 460a mov r2, r1 8064756: 71fb strb r3, [r7, #7] 8064758: 4613 mov r3, r2 806475a: 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; 806475c: 88bb ldrh r3, [r7, #4] 806475e: ee07 3a90 vmov s15, r3 8064762: eeb8 7a67 vcvt.f32.u32 s14, s15 8064766: eef7 6a00 vmov.f32 s13, #112 ; 0x3f800000 1.0 806476a: eec6 7a87 vdiv.f32 s15, s13, s14 806476e: edc7 7a0c vstr s15, [r7, #48] ; 0x30 switch(Window) 8064772: 79fb ldrb r3, [r7, #7] 8064774: 3b01 subs r3, #1 8064776: 2b04 cmp r3, #4 8064778: f200 82d4 bhi.w 8064d24 806477c: a201 add r2, pc, #4 ; (adr r2, 8064784 ) 806477e: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8064782: bf00 nop 8064784: 08064799 .word 0x08064799 8064788: 08064841 .word 0x08064841 806478c: 08064965 .word 0x08064965 8064790: 08064b25 .word 0x08064b25 8064794: 08064bcf .word 0x08064bcf { case HANN: for(i = 0; i < Samples; i++) 8064798: 2300 movs r3, #0 806479a: 86fb strh r3, [r7, #54] ; 0x36 806479c: e04b b.n 8064836 { //*******Îêîííîå ïðåîáðàçîâàíèå Õàííà tmp0 = _2PI; tmp1 = (float32_t)i; 806479e: 4bd7 ldr r3, [pc, #860] ; (8064afc ) 80647a0: 613b str r3, [r7, #16] 80647a2: 8efb ldrh r3, [r7, #54] ; 0x36 80647a4: ee07 3a90 vmov s15, r3 80647a8: eef8 7a67 vcvt.f32.u32 s15, s15 80647ac: edc7 7a03 vstr s15, [r7, #12] arm_mult_f32(&tmp0, &tmp1, &tmp0, 1); 80647b0: f107 0210 add.w r2, r7, #16 80647b4: f107 010c add.w r1, r7, #12 80647b8: f107 0010 add.w r0, r7, #16 80647bc: 2301 movs r3, #1 80647be: f066 f813 bl 80ca7e8 tmp1 = _Samples; 80647c2: 6b3b ldr r3, [r7, #48] ; 0x30 80647c4: 60fb str r3, [r7, #12] arm_mult_f32(&tmp0, &tmp1, &tmp0, 1); 80647c6: f107 0210 add.w r2, r7, #16 80647ca: f107 010c add.w r1, r7, #12 80647ce: f107 0010 add.w r0, r7, #16 80647d2: 2301 movs r3, #1 80647d4: f066 f808 bl 80ca7e8 tmp0 = arm_cos_f32(tmp0); 80647d8: edd7 7a04 vldr s15, [r7, #16] 80647dc: eeb0 0a67 vmov.f32 s0, s15 80647e0: f04d fecc bl 80b257c 80647e4: eef0 7a40 vmov.f32 s15, s0 80647e8: edc7 7a04 vstr s15, [r7, #16] tmp1 = 0.5; 80647ec: f04f 537c mov.w r3, #1056964608 ; 0x3f000000 80647f0: 60fb str r3, [r7, #12] arm_mult_f32(&tmp0, &tmp1, &tmp0, 1); 80647f2: f107 0210 add.w r2, r7, #16 80647f6: f107 010c add.w r1, r7, #12 80647fa: f107 0010 add.w r0, r7, #16 80647fe: 2301 movs r3, #1 8064800: f065 fff2 bl 80ca7e8 arm_sub_f32(&tmp1, &tmp0, &tmp0, 1); 8064804: f107 0210 add.w r2, r7, #16 8064808: f107 0110 add.w r1, r7, #16 806480c: f107 000c add.w r0, r7, #12 8064810: 2301 movs r3, #1 8064812: f065 ff37 bl 80ca684 arm_mult_f32(&tmp0, &Out[i], &Out[i], 1); 8064816: 8efb ldrh r3, [r7, #54] ; 0x36 8064818: 009b lsls r3, r3, #2 806481a: 4ab9 ldr r2, [pc, #740] ; (8064b00 ) 806481c: 1899 adds r1, r3, r2 806481e: 8efb ldrh r3, [r7, #54] ; 0x36 8064820: 009b lsls r3, r3, #2 8064822: 4ab7 ldr r2, [pc, #732] ; (8064b00 ) 8064824: 441a add r2, r3 8064826: f107 0010 add.w r0, r7, #16 806482a: 2301 movs r3, #1 806482c: f065 ffdc bl 80ca7e8 for(i = 0; i < Samples; i++) 8064830: 8efb ldrh r3, [r7, #54] ; 0x36 8064832: 3301 adds r3, #1 8064834: 86fb strh r3, [r7, #54] ; 0x36 8064836: 8efa ldrh r2, [r7, #54] ; 0x36 8064838: 88bb ldrh r3, [r7, #4] 806483a: 429a cmp r2, r3 806483c: d3af bcc.n 806479e } break; 806483e: e271 b.n 8064d24 case BLACK: for(i = 0; i < Samples; i++) 8064840: 2300 movs r3, #0 8064842: 86fb strh r3, [r7, #54] ; 0x36 8064844: e088 b.n 8064958 { a0 = 0.42; 8064846: 4baf ldr r3, [pc, #700] ; (8064b04 ) 8064848: 623b str r3, [r7, #32] tmp0 = _2PI; tmp1 = (float32_t)i; 806484a: 4bac ldr r3, [pc, #688] ; (8064afc ) 806484c: 613b str r3, [r7, #16] 806484e: 8efb ldrh r3, [r7, #54] ; 0x36 8064850: ee07 3a90 vmov s15, r3 8064854: eef8 7a67 vcvt.f32.u32 s15, s15 8064858: edc7 7a03 vstr s15, [r7, #12] arm_mult_f32(&tmp0, &tmp1, &tmp0, 1); 806485c: f107 0210 add.w r2, r7, #16 8064860: f107 010c add.w r1, r7, #12 8064864: f107 0010 add.w r0, r7, #16 8064868: 2301 movs r3, #1 806486a: f065 ffbd bl 80ca7e8 tmp1 = _Samples; 806486e: 6b3b ldr r3, [r7, #48] ; 0x30 8064870: 60fb str r3, [r7, #12] arm_mult_f32(&tmp0, &tmp1, &tmp0, 1); 8064872: f107 0210 add.w r2, r7, #16 8064876: f107 010c add.w r1, r7, #12 806487a: f107 0010 add.w r0, r7, #16 806487e: 2301 movs r3, #1 8064880: f065 ffb2 bl 80ca7e8 tmp0 = arm_cos_f32(tmp0); 8064884: edd7 7a04 vldr s15, [r7, #16] 8064888: eeb0 0a67 vmov.f32 s0, s15 806488c: f04d fe76 bl 80b257c 8064890: eef0 7a40 vmov.f32 s15, s0 8064894: edc7 7a04 vstr s15, [r7, #16] a1 = 0.5; 8064898: f04f 537c mov.w r3, #1056964608 ; 0x3f000000 806489c: 61fb str r3, [r7, #28] arm_mult_f32(&a1, &tmp0, &a1, 1); 806489e: f107 021c add.w r2, r7, #28 80648a2: f107 0110 add.w r1, r7, #16 80648a6: f107 001c add.w r0, r7, #28 80648aa: 2301 movs r3, #1 80648ac: f065 ff9c bl 80ca7e8 tmp0 = _4PI; tmp1 = (float32_t)i; 80648b0: 4b95 ldr r3, [pc, #596] ; (8064b08 ) 80648b2: 613b str r3, [r7, #16] 80648b4: 8efb ldrh r3, [r7, #54] ; 0x36 80648b6: ee07 3a90 vmov s15, r3 80648ba: eef8 7a67 vcvt.f32.u32 s15, s15 80648be: edc7 7a03 vstr s15, [r7, #12] arm_mult_f32(&tmp0, &tmp1, &tmp0, 1); 80648c2: f107 0210 add.w r2, r7, #16 80648c6: f107 010c add.w r1, r7, #12 80648ca: f107 0010 add.w r0, r7, #16 80648ce: 2301 movs r3, #1 80648d0: f065 ff8a bl 80ca7e8 tmp1 = _Samples; 80648d4: 6b3b ldr r3, [r7, #48] ; 0x30 80648d6: 60fb str r3, [r7, #12] arm_mult_f32(&tmp0, &tmp1, &tmp0, 1); 80648d8: f107 0210 add.w r2, r7, #16 80648dc: f107 010c add.w r1, r7, #12 80648e0: f107 0010 add.w r0, r7, #16 80648e4: 2301 movs r3, #1 80648e6: f065 ff7f bl 80ca7e8 tmp0 = arm_cos_f32(tmp0); 80648ea: edd7 7a04 vldr s15, [r7, #16] 80648ee: eeb0 0a67 vmov.f32 s0, s15 80648f2: f04d fe43 bl 80b257c 80648f6: eef0 7a40 vmov.f32 s15, s0 80648fa: edc7 7a04 vstr s15, [r7, #16] a2 = 0.08; 80648fe: 4b83 ldr r3, [pc, #524] ; (8064b0c ) 8064900: 61bb str r3, [r7, #24] arm_mult_f32(&a2, &tmp0, &a2, 1); 8064902: f107 0218 add.w r2, r7, #24 8064906: f107 0110 add.w r1, r7, #16 806490a: f107 0018 add.w r0, r7, #24 806490e: 2301 movs r3, #1 8064910: f065 ff6a bl 80ca7e8 arm_sub_f32(&a0, &a1, &tmp0, 1); 8064914: f107 0210 add.w r2, r7, #16 8064918: f107 011c add.w r1, r7, #28 806491c: f107 0020 add.w r0, r7, #32 8064920: 2301 movs r3, #1 8064922: f065 feaf bl 80ca684 arm_add_f32(&tmp0, &a2, &tmp0, 1); 8064926: f107 0210 add.w r2, r7, #16 806492a: f107 0118 add.w r1, r7, #24 806492e: f107 0010 add.w r0, r7, #16 8064932: 2301 movs r3, #1 8064934: f065 ff9e bl 80ca874 arm_mult_f32(&tmp0, &Out[i], &Out[i], 1); 8064938: 8efb ldrh r3, [r7, #54] ; 0x36 806493a: 009b lsls r3, r3, #2 806493c: 4a70 ldr r2, [pc, #448] ; (8064b00 ) 806493e: 1899 adds r1, r3, r2 8064940: 8efb ldrh r3, [r7, #54] ; 0x36 8064942: 009b lsls r3, r3, #2 8064944: 4a6e ldr r2, [pc, #440] ; (8064b00 ) 8064946: 441a add r2, r3 8064948: f107 0010 add.w r0, r7, #16 806494c: 2301 movs r3, #1 806494e: f065 ff4b bl 80ca7e8 for(i = 0; i < Samples; i++) 8064952: 8efb ldrh r3, [r7, #54] ; 0x36 8064954: 3301 adds r3, #1 8064956: 86fb strh r3, [r7, #54] ; 0x36 8064958: 8efa ldrh r2, [r7, #54] ; 0x36 806495a: 88bb ldrh r3, [r7, #4] 806495c: 429a cmp r2, r3 806495e: f4ff af72 bcc.w 8064846 } break; 8064962: e1df b.n 8064d24 case BLACK_NAT: for(i = 0; i < Samples; i++) 8064964: 2300 movs r3, #0 8064966: 86fb strh r3, [r7, #54] ; 0x36 8064968: e0c2 b.n 8064af0 { a0 = 0.3635819; 806496a: 4b69 ldr r3, [pc, #420] ; (8064b10 ) 806496c: 623b str r3, [r7, #32] tmp0 = _2PI; tmp1 = (float32_t)i; 806496e: 4b63 ldr r3, [pc, #396] ; (8064afc ) 8064970: 613b str r3, [r7, #16] 8064972: 8efb ldrh r3, [r7, #54] ; 0x36 8064974: ee07 3a90 vmov s15, r3 8064978: eef8 7a67 vcvt.f32.u32 s15, s15 806497c: edc7 7a03 vstr s15, [r7, #12] arm_mult_f32(&tmp0, &tmp1, &tmp0, 1); 8064980: f107 0210 add.w r2, r7, #16 8064984: f107 010c add.w r1, r7, #12 8064988: f107 0010 add.w r0, r7, #16 806498c: 2301 movs r3, #1 806498e: f065 ff2b bl 80ca7e8 tmp1 = _Samples; 8064992: 6b3b ldr r3, [r7, #48] ; 0x30 8064994: 60fb str r3, [r7, #12] arm_mult_f32(&tmp0, &tmp1, &tmp0, 1); 8064996: f107 0210 add.w r2, r7, #16 806499a: f107 010c add.w r1, r7, #12 806499e: f107 0010 add.w r0, r7, #16 80649a2: 2301 movs r3, #1 80649a4: f065 ff20 bl 80ca7e8 tmp0 = arm_cos_f32(tmp0); 80649a8: edd7 7a04 vldr s15, [r7, #16] 80649ac: eeb0 0a67 vmov.f32 s0, s15 80649b0: f04d fde4 bl 80b257c 80649b4: eef0 7a40 vmov.f32 s15, s0 80649b8: edc7 7a04 vstr s15, [r7, #16] a1 = 0.4891775; 80649bc: 4b55 ldr r3, [pc, #340] ; (8064b14 ) 80649be: 61fb str r3, [r7, #28] arm_mult_f32(&a1, &tmp0, &a1, 1); 80649c0: f107 021c add.w r2, r7, #28 80649c4: f107 0110 add.w r1, r7, #16 80649c8: f107 001c add.w r0, r7, #28 80649cc: 2301 movs r3, #1 80649ce: f065 ff0b bl 80ca7e8 tmp0 = _4PI; tmp1 = (float32_t)i; 80649d2: 4b4d ldr r3, [pc, #308] ; (8064b08 ) 80649d4: 613b str r3, [r7, #16] 80649d6: 8efb ldrh r3, [r7, #54] ; 0x36 80649d8: ee07 3a90 vmov s15, r3 80649dc: eef8 7a67 vcvt.f32.u32 s15, s15 80649e0: edc7 7a03 vstr s15, [r7, #12] arm_mult_f32(&tmp0, &tmp1, &tmp0, 1); 80649e4: f107 0210 add.w r2, r7, #16 80649e8: f107 010c add.w r1, r7, #12 80649ec: f107 0010 add.w r0, r7, #16 80649f0: 2301 movs r3, #1 80649f2: f065 fef9 bl 80ca7e8 tmp1 = _Samples; 80649f6: 6b3b ldr r3, [r7, #48] ; 0x30 80649f8: 60fb str r3, [r7, #12] arm_mult_f32(&tmp0, &tmp1, &tmp0, 1); 80649fa: f107 0210 add.w r2, r7, #16 80649fe: f107 010c add.w r1, r7, #12 8064a02: f107 0010 add.w r0, r7, #16 8064a06: 2301 movs r3, #1 8064a08: f065 feee bl 80ca7e8 tmp0 = arm_cos_f32(tmp0); 8064a0c: edd7 7a04 vldr s15, [r7, #16] 8064a10: eeb0 0a67 vmov.f32 s0, s15 8064a14: f04d fdb2 bl 80b257c 8064a18: eef0 7a40 vmov.f32 s15, s0 8064a1c: edc7 7a04 vstr s15, [r7, #16] a2 = 0.1365995; 8064a20: 4b3d ldr r3, [pc, #244] ; (8064b18 ) 8064a22: 61bb str r3, [r7, #24] arm_mult_f32(&a2, &tmp0, &a2, 1); 8064a24: f107 0218 add.w r2, r7, #24 8064a28: f107 0110 add.w r1, r7, #16 8064a2c: f107 0018 add.w r0, r7, #24 8064a30: 2301 movs r3, #1 8064a32: f065 fed9 bl 80ca7e8 tmp0 = _6PI; tmp1 = (float32_t)i; 8064a36: 4b39 ldr r3, [pc, #228] ; (8064b1c ) 8064a38: 613b str r3, [r7, #16] 8064a3a: 8efb ldrh r3, [r7, #54] ; 0x36 8064a3c: ee07 3a90 vmov s15, r3 8064a40: eef8 7a67 vcvt.f32.u32 s15, s15 8064a44: edc7 7a03 vstr s15, [r7, #12] arm_mult_f32(&tmp0, &tmp1, &tmp0, 1); 8064a48: f107 0210 add.w r2, r7, #16 8064a4c: f107 010c add.w r1, r7, #12 8064a50: f107 0010 add.w r0, r7, #16 8064a54: 2301 movs r3, #1 8064a56: f065 fec7 bl 80ca7e8 tmp1 = _Samples; 8064a5a: 6b3b ldr r3, [r7, #48] ; 0x30 8064a5c: 60fb str r3, [r7, #12] arm_mult_f32(&tmp0, &tmp1, &tmp0, 1); 8064a5e: f107 0210 add.w r2, r7, #16 8064a62: f107 010c add.w r1, r7, #12 8064a66: f107 0010 add.w r0, r7, #16 8064a6a: 2301 movs r3, #1 8064a6c: f065 febc bl 80ca7e8 tmp0 = arm_cos_f32(tmp0); 8064a70: edd7 7a04 vldr s15, [r7, #16] 8064a74: eeb0 0a67 vmov.f32 s0, s15 8064a78: f04d fd80 bl 80b257c 8064a7c: eef0 7a40 vmov.f32 s15, s0 8064a80: edc7 7a04 vstr s15, [r7, #16] a3 = 0.0106411; 8064a84: 4b26 ldr r3, [pc, #152] ; (8064b20 ) 8064a86: 617b str r3, [r7, #20] arm_mult_f32(&a3, &tmp0, &a3, 1); 8064a88: f107 0214 add.w r2, r7, #20 8064a8c: f107 0110 add.w r1, r7, #16 8064a90: f107 0014 add.w r0, r7, #20 8064a94: 2301 movs r3, #1 8064a96: f065 fea7 bl 80ca7e8 arm_sub_f32(&a0, &a1, &tmp0, 1); 8064a9a: f107 0210 add.w r2, r7, #16 8064a9e: f107 011c add.w r1, r7, #28 8064aa2: f107 0020 add.w r0, r7, #32 8064aa6: 2301 movs r3, #1 8064aa8: f065 fdec bl 80ca684 arm_add_f32(&tmp0, &a2, &tmp0, 1); 8064aac: f107 0210 add.w r2, r7, #16 8064ab0: f107 0118 add.w r1, r7, #24 8064ab4: f107 0010 add.w r0, r7, #16 8064ab8: 2301 movs r3, #1 8064aba: f065 fedb bl 80ca874 arm_sub_f32(&tmp0, &a3, &tmp0, 1); 8064abe: f107 0210 add.w r2, r7, #16 8064ac2: f107 0114 add.w r1, r7, #20 8064ac6: f107 0010 add.w r0, r7, #16 8064aca: 2301 movs r3, #1 8064acc: f065 fdda bl 80ca684 arm_mult_f32(&tmp0, &Out[i], &Out[i], 1); 8064ad0: 8efb ldrh r3, [r7, #54] ; 0x36 8064ad2: 009b lsls r3, r3, #2 8064ad4: 4a0a ldr r2, [pc, #40] ; (8064b00 ) 8064ad6: 1899 adds r1, r3, r2 8064ad8: 8efb ldrh r3, [r7, #54] ; 0x36 8064ada: 009b lsls r3, r3, #2 8064adc: 4a08 ldr r2, [pc, #32] ; (8064b00 ) 8064ade: 441a add r2, r3 8064ae0: f107 0010 add.w r0, r7, #16 8064ae4: 2301 movs r3, #1 8064ae6: f065 fe7f bl 80ca7e8 for(i = 0; i < Samples; i++) 8064aea: 8efb ldrh r3, [r7, #54] ; 0x36 8064aec: 3301 adds r3, #1 8064aee: 86fb strh r3, [r7, #54] ; 0x36 8064af0: 8efa ldrh r2, [r7, #54] ; 0x36 8064af2: 88bb ldrh r3, [r7, #4] 8064af4: 429a cmp r2, r3 8064af6: f4ff af38 bcc.w 806496a } break; 8064afa: e113 b.n 8064d24 8064afc: 40c90fdb .word 0x40c90fdb 8064b00: 20008000 .word 0x20008000 8064b04: 3ed70a3d .word 0x3ed70a3d 8064b08: 41490fdb .word 0x41490fdb 8064b0c: 3da3d70a .word 0x3da3d70a 8064b10: 3eba2768 .word 0x3eba2768 8064b14: 3efa7579 .word 0x3efa7579 8064b18: 3e0be0bd .word 0x3e0be0bd 8064b1c: 4196cbe4 .word 0x4196cbe4 8064b20: 3c2e5802 .word 0x3c2e5802 case HAMMING: for(i = 0; i < Samples; i++) 8064b24: 2300 movs r3, #0 8064b26: 86fb strh r3, [r7, #54] ; 0x36 8064b28: e04c b.n 8064bc4 { //*******Îêîííîå ïðåîáðàçîâàíèå Õàííà tmp0 = _2PI; tmp1 = (float32_t)i; 8064b2a: 4b80 ldr r3, [pc, #512] ; (8064d2c ) 8064b2c: 613b str r3, [r7, #16] 8064b2e: 8efb ldrh r3, [r7, #54] ; 0x36 8064b30: ee07 3a90 vmov s15, r3 8064b34: eef8 7a67 vcvt.f32.u32 s15, s15 8064b38: edc7 7a03 vstr s15, [r7, #12] arm_mult_f32(&tmp0, &tmp1, &tmp0, 1); 8064b3c: f107 0210 add.w r2, r7, #16 8064b40: f107 010c add.w r1, r7, #12 8064b44: f107 0010 add.w r0, r7, #16 8064b48: 2301 movs r3, #1 8064b4a: f065 fe4d bl 80ca7e8 tmp1 = _Samples; 8064b4e: 6b3b ldr r3, [r7, #48] ; 0x30 8064b50: 60fb str r3, [r7, #12] arm_mult_f32(&tmp0, &tmp1, &tmp0, 1); 8064b52: f107 0210 add.w r2, r7, #16 8064b56: f107 010c add.w r1, r7, #12 8064b5a: f107 0010 add.w r0, r7, #16 8064b5e: 2301 movs r3, #1 8064b60: f065 fe42 bl 80ca7e8 tmp0 = arm_cos_f32(tmp0); 8064b64: edd7 7a04 vldr s15, [r7, #16] 8064b68: eeb0 0a67 vmov.f32 s0, s15 8064b6c: f04d fd06 bl 80b257c 8064b70: eef0 7a40 vmov.f32 s15, s0 8064b74: edc7 7a04 vstr s15, [r7, #16] a1 = 0.46; 8064b78: 4b6d ldr r3, [pc, #436] ; (8064d30 ) 8064b7a: 61fb str r3, [r7, #28] arm_mult_f32(&tmp0, &a1, &tmp0, 1); 8064b7c: f107 0210 add.w r2, r7, #16 8064b80: f107 011c add.w r1, r7, #28 8064b84: f107 0010 add.w r0, r7, #16 8064b88: 2301 movs r3, #1 8064b8a: f065 fe2d bl 80ca7e8 a0 = 0.54; 8064b8e: 4b69 ldr r3, [pc, #420] ; (8064d34 ) 8064b90: 623b str r3, [r7, #32] arm_sub_f32(&a0, &tmp0, &tmp0, 1); 8064b92: f107 0210 add.w r2, r7, #16 8064b96: f107 0110 add.w r1, r7, #16 8064b9a: f107 0020 add.w r0, r7, #32 8064b9e: 2301 movs r3, #1 8064ba0: f065 fd70 bl 80ca684 arm_mult_f32(&tmp0, &Out[i], &Out[i], 1); 8064ba4: 8efb ldrh r3, [r7, #54] ; 0x36 8064ba6: 009b lsls r3, r3, #2 8064ba8: 4a63 ldr r2, [pc, #396] ; (8064d38 ) 8064baa: 1899 adds r1, r3, r2 8064bac: 8efb ldrh r3, [r7, #54] ; 0x36 8064bae: 009b lsls r3, r3, #2 8064bb0: 4a61 ldr r2, [pc, #388] ; (8064d38 ) 8064bb2: 441a add r2, r3 8064bb4: f107 0010 add.w r0, r7, #16 8064bb8: 2301 movs r3, #1 8064bba: f065 fe15 bl 80ca7e8 for(i = 0; i < Samples; i++) 8064bbe: 8efb ldrh r3, [r7, #54] ; 0x36 8064bc0: 3301 adds r3, #1 8064bc2: 86fb strh r3, [r7, #54] ; 0x36 8064bc4: 8efa ldrh r2, [r7, #54] ; 0x36 8064bc6: 88bb ldrh r3, [r7, #4] 8064bc8: 429a cmp r2, r3 8064bca: d3ae bcc.n 8064b2a } break; 8064bcc: e0aa b.n 8064d24 case FLAT_TOP: a0 = 1.0f; 8064bce: f04f 537e mov.w r3, #1065353216 ; 0x3f800000 8064bd2: 623b str r3, [r7, #32] a1 = 1.93f; 8064bd4: 4b59 ldr r3, [pc, #356] ; (8064d3c ) 8064bd6: 61fb str r3, [r7, #28] a2 = 1.29f; 8064bd8: 4b59 ldr r3, [pc, #356] ; (8064d40 ) 8064bda: 61bb str r3, [r7, #24] a3 = 0.388f; 8064bdc: 4b59 ldr r3, [pc, #356] ; (8064d44 ) 8064bde: 617b str r3, [r7, #20] a4 = 0.032f; 8064be0: 4b59 ldr r3, [pc, #356] ; (8064d48 ) 8064be2: 62fb str r3, [r7, #44] ; 0x2c for(i = 0; i < Samples; i++) 8064be4: 2300 movs r3, #0 8064be6: 86fb strh r3, [r7, #54] ; 0x36 8064be8: e096 b.n 8064d18 { tmp0 = _2PI * (float32_t)i; 8064bea: 8efb ldrh r3, [r7, #54] ; 0x36 8064bec: ee07 3a90 vmov s15, r3 8064bf0: eef8 7a67 vcvt.f32.u32 s15, s15 8064bf4: ed9f 7a55 vldr s14, [pc, #340] ; 8064d4c 8064bf8: ee67 7a87 vmul.f32 s15, s15, s14 8064bfc: edc7 7a04 vstr s15, [r7, #16] tmp1 = _4PI * (float32_t)i; 8064c00: 8efb ldrh r3, [r7, #54] ; 0x36 8064c02: ee07 3a90 vmov s15, r3 8064c06: eef8 7a67 vcvt.f32.u32 s15, s15 8064c0a: ed9f 7a51 vldr s14, [pc, #324] ; 8064d50 8064c0e: ee67 7a87 vmul.f32 s15, s15, s14 8064c12: edc7 7a03 vstr s15, [r7, #12] tmp2 = _6PI * (float32_t)i; 8064c16: 8efb ldrh r3, [r7, #54] ; 0x36 8064c18: ee07 3a90 vmov s15, r3 8064c1c: eef8 7a67 vcvt.f32.u32 s15, s15 8064c20: ed9f 7a4c vldr s14, [pc, #304] ; 8064d54 8064c24: ee67 7a87 vmul.f32 s15, s15, s14 8064c28: edc7 7a0a vstr s15, [r7, #40] ; 0x28 tmp3 = _8PI * (float32_t)i; 8064c2c: 8efb ldrh r3, [r7, #54] ; 0x36 8064c2e: ee07 3a90 vmov s15, r3 8064c32: eef8 7a67 vcvt.f32.u32 s15, s15 8064c36: ed9f 7a48 vldr s14, [pc, #288] ; 8064d58 8064c3a: ee67 7a87 vmul.f32 s15, s15, s14 8064c3e: edc7 7a09 vstr s15, [r7, #36] ; 0x24 tmp0 = a1 * arm_cos_f32(tmp0 * _Samples); 8064c42: ed97 7a04 vldr s14, [r7, #16] 8064c46: edd7 7a0c vldr s15, [r7, #48] ; 0x30 8064c4a: ee67 7a27 vmul.f32 s15, s14, s15 8064c4e: eeb0 0a67 vmov.f32 s0, s15 8064c52: f04d fc93 bl 80b257c 8064c56: eeb0 7a40 vmov.f32 s14, s0 8064c5a: edd7 7a07 vldr s15, [r7, #28] 8064c5e: ee67 7a27 vmul.f32 s15, s14, s15 8064c62: edc7 7a04 vstr s15, [r7, #16] tmp1 = a2 * arm_cos_f32(tmp1 * _Samples); 8064c66: ed97 7a03 vldr s14, [r7, #12] 8064c6a: edd7 7a0c vldr s15, [r7, #48] ; 0x30 8064c6e: ee67 7a27 vmul.f32 s15, s14, s15 8064c72: eeb0 0a67 vmov.f32 s0, s15 8064c76: f04d fc81 bl 80b257c 8064c7a: eeb0 7a40 vmov.f32 s14, s0 8064c7e: edd7 7a06 vldr s15, [r7, #24] 8064c82: ee67 7a27 vmul.f32 s15, s14, s15 8064c86: edc7 7a03 vstr s15, [r7, #12] tmp2 = a3 * arm_cos_f32(tmp2 * _Samples); 8064c8a: ed97 7a0a vldr s14, [r7, #40] ; 0x28 8064c8e: edd7 7a0c vldr s15, [r7, #48] ; 0x30 8064c92: ee67 7a27 vmul.f32 s15, s14, s15 8064c96: eeb0 0a67 vmov.f32 s0, s15 8064c9a: f04d fc6f bl 80b257c 8064c9e: eeb0 7a40 vmov.f32 s14, s0 8064ca2: edd7 7a05 vldr s15, [r7, #20] 8064ca6: ee67 7a27 vmul.f32 s15, s14, s15 8064caa: edc7 7a0a vstr s15, [r7, #40] ; 0x28 tmp3 = a4 * arm_cos_f32(tmp3 * _Samples); 8064cae: ed97 7a09 vldr s14, [r7, #36] ; 0x24 8064cb2: edd7 7a0c vldr s15, [r7, #48] ; 0x30 8064cb6: ee67 7a27 vmul.f32 s15, s14, s15 8064cba: eeb0 0a67 vmov.f32 s0, s15 8064cbe: f04d fc5d bl 80b257c 8064cc2: eeb0 7a40 vmov.f32 s14, s0 8064cc6: edd7 7a0b vldr s15, [r7, #44] ; 0x2c 8064cca: ee67 7a27 vmul.f32 s15, s14, s15 8064cce: edc7 7a09 vstr s15, [r7, #36] ; 0x24 Out[i] = Out[i] * (a0 - tmp0 + tmp1 - tmp2 + tmp3); 8064cd2: 8efb ldrh r3, [r7, #54] ; 0x36 8064cd4: 8efa ldrh r2, [r7, #54] ; 0x36 8064cd6: 4918 ldr r1, [pc, #96] ; (8064d38 ) 8064cd8: 0092 lsls r2, r2, #2 8064cda: 440a add r2, r1 8064cdc: ed92 7a00 vldr s14, [r2] 8064ce0: edd7 6a08 vldr s13, [r7, #32] 8064ce4: edd7 7a04 vldr s15, [r7, #16] 8064ce8: ee76 6ae7 vsub.f32 s13, s13, s15 8064cec: edd7 7a03 vldr s15, [r7, #12] 8064cf0: ee76 6aa7 vadd.f32 s13, s13, s15 8064cf4: edd7 7a0a vldr s15, [r7, #40] ; 0x28 8064cf8: ee76 6ae7 vsub.f32 s13, s13, s15 8064cfc: edd7 7a09 vldr s15, [r7, #36] ; 0x24 8064d00: ee76 7aa7 vadd.f32 s15, s13, s15 8064d04: ee67 7a27 vmul.f32 s15, s14, s15 8064d08: 4a0b ldr r2, [pc, #44] ; (8064d38 ) 8064d0a: 009b lsls r3, r3, #2 8064d0c: 4413 add r3, r2 8064d0e: edc3 7a00 vstr s15, [r3] for(i = 0; i < Samples; i++) 8064d12: 8efb ldrh r3, [r7, #54] ; 0x36 8064d14: 3301 adds r3, #1 8064d16: 86fb strh r3, [r7, #54] ; 0x36 8064d18: 8efa ldrh r2, [r7, #54] ; 0x36 8064d1a: 88bb ldrh r3, [r7, #4] 8064d1c: 429a cmp r2, r3 8064d1e: f4ff af64 bcc.w 8064bea } break; 8064d22: bf00 nop } } 8064d24: bf00 nop 8064d26: 3738 adds r7, #56 ; 0x38 8064d28: 46bd mov sp, r7 8064d2a: bd80 pop {r7, pc} 8064d2c: 40c90fdb .word 0x40c90fdb 8064d30: 3eeb851f .word 0x3eeb851f 8064d34: 3f0a3d71 .word 0x3f0a3d71 8064d38: 20008000 .word 0x20008000 8064d3c: 3ff70a3d .word 0x3ff70a3d 8064d40: 3fa51eb8 .word 0x3fa51eb8 8064d44: 3ec6a7f0 .word 0x3ec6a7f0 8064d48: 3d03126f .word 0x3d03126f 8064d4c: 40c90fdb .word 0x40c90fdb 8064d50: 41490fdb .word 0x41490fdb 8064d54: 4196cbe4 .word 0x4196cbe4 8064d58: 41c90fdb .word 0x41c90fdb 08064d5c : void INTEGR_NEW(void) { 8064d5c: b580 push {r7, lr} 8064d5e: b084 sub sp, #16 8064d60: af00 add r7, sp, #0 uint32_t i, k; float32_t fl, fl1; k = (Ns >> 1); 8064d62: 4b49 ldr r3, [pc, #292] ; (8064e88 ) 8064d64: 681b ldr r3, [r3, #0] 8064d66: 085b lsrs r3, r3, #1 8064d68: 60bb str r3, [r7, #8] fl1 = (_2PI * Delta_SPC[pardata.FRQ][pardata.LNE]); 8064d6a: 4b48 ldr r3, [pc, #288] ; (8064e8c ) 8064d6c: 7adb ldrb r3, [r3, #11] 8064d6e: b2db uxtb r3, r3 8064d70: 4618 mov r0, r3 8064d72: 4b46 ldr r3, [pc, #280] ; (8064e8c ) 8064d74: 79db ldrb r3, [r3, #7] 8064d76: b2db uxtb r3, r3 8064d78: 4619 mov r1, r3 8064d7a: 4a45 ldr r2, [pc, #276] ; (8064e90 ) 8064d7c: 0083 lsls r3, r0, #2 8064d7e: 440b add r3, r1 8064d80: 009b lsls r3, r3, #2 8064d82: 4413 add r3, r2 8064d84: edd3 7a00 vldr s15, [r3] 8064d88: ed9f 7a42 vldr s14, [pc, #264] ; 8064e94 8064d8c: ee67 7a87 vmul.f32 s15, s15, s14 8064d90: edc7 7a01 vstr s15, [r7, #4] //pDst[0] = pDst[1] = 0.0f; Out[0] = 0.0f; 8064d94: 4b40 ldr r3, [pc, #256] ; (8064e98 ) 8064d96: f04f 0200 mov.w r2, #0 8064d9a: 601a str r2, [r3, #0] for(i = 1; i < k; i++) 8064d9c: 2301 movs r3, #1 8064d9e: 60fb str r3, [r7, #12] 8064da0: e063 b.n 8064e6a { fl = (float32_t) i; 8064da2: 68fb ldr r3, [r7, #12] 8064da4: ee07 3a90 vmov s15, r3 8064da8: eef8 7a67 vcvt.f32.u32 s15, s15 8064dac: edc7 7a00 vstr s15, [r7] fl *= fl1; 8064db0: ed97 7a00 vldr s14, [r7] 8064db4: edd7 7a01 vldr s15, [r7, #4] 8064db8: ee67 7a27 vmul.f32 s15, s14, s15 8064dbc: edc7 7a00 vstr s15, [r7] if(pardata.IIN != VOLTS) 8064dc0: 4b32 ldr r3, [pc, #200] ; (8064e8c ) 8064dc2: 799b ldrb r3, [r3, #6] 8064dc4: b2db uxtb r3, r3 8064dc6: 2b02 cmp r3, #2 8064dc8: d022 beq.n 8064e10 { if(pardata.IPR == VEL) 8064dca: 4b30 ldr r3, [pc, #192] ; (8064e8c ) 8064dcc: 785b ldrb r3, [r3, #1] 8064dce: b2db uxtb r3, r3 8064dd0: 2b01 cmp r3, #1 8064dd2: d10c bne.n 8064dee Out[i] = 1000.0f / fl; 8064dd4: eddf 6a31 vldr s13, [pc, #196] ; 8064e9c 8064dd8: ed97 7a00 vldr s14, [r7] 8064ddc: eec6 7a87 vdiv.f32 s15, s13, s14 8064de0: 4a2d ldr r2, [pc, #180] ; (8064e98 ) 8064de2: 68fb ldr r3, [r7, #12] 8064de4: 009b lsls r3, r3, #2 8064de6: 4413 add r3, r2 8064de8: edc3 7a00 vstr s15, [r3] 8064dec: e03a b.n 8064e64 else Out[i] = 1000000.0f / (fl * fl); 8064dee: ed97 7a00 vldr s14, [r7] 8064df2: edd7 7a00 vldr s15, [r7] 8064df6: ee27 7a27 vmul.f32 s14, s14, s15 8064dfa: eddf 6a29 vldr s13, [pc, #164] ; 8064ea0 8064dfe: eec6 7a87 vdiv.f32 s15, s13, s14 8064e02: 4a25 ldr r2, [pc, #148] ; (8064e98 ) 8064e04: 68fb ldr r3, [r7, #12] 8064e06: 009b lsls r3, r3, #2 8064e08: 4413 add r3, r2 8064e0a: edc3 7a00 vstr s15, [r3] 8064e0e: e029 b.n 8064e64 } else { if(pardata.IPR == VEL) 8064e10: 4b1e ldr r3, [pc, #120] ; (8064e8c ) 8064e12: 785b ldrb r3, [r3, #1] 8064e14: b2db uxtb r3, r3 8064e16: 2b01 cmp r3, #1 8064e18: d110 bne.n 8064e3c Out[i] /= fl; 8064e1a: 4a1f ldr r2, [pc, #124] ; (8064e98 ) 8064e1c: 68fb ldr r3, [r7, #12] 8064e1e: 009b lsls r3, r3, #2 8064e20: 4413 add r3, r2 8064e22: edd3 6a00 vldr s13, [r3] 8064e26: ed97 7a00 vldr s14, [r7] 8064e2a: eec6 7a87 vdiv.f32 s15, s13, s14 8064e2e: 4a1a ldr r2, [pc, #104] ; (8064e98 ) 8064e30: 68fb ldr r3, [r7, #12] 8064e32: 009b lsls r3, r3, #2 8064e34: 4413 add r3, r2 8064e36: edc3 7a00 vstr s15, [r3] 8064e3a: e013 b.n 8064e64 else Out[i] /= (fl * fl); 8064e3c: 4a16 ldr r2, [pc, #88] ; (8064e98 ) 8064e3e: 68fb ldr r3, [r7, #12] 8064e40: 009b lsls r3, r3, #2 8064e42: 4413 add r3, r2 8064e44: edd3 6a00 vldr s13, [r3] 8064e48: ed97 7a00 vldr s14, [r7] 8064e4c: edd7 7a00 vldr s15, [r7] 8064e50: ee27 7a27 vmul.f32 s14, s14, s15 8064e54: eec6 7a87 vdiv.f32 s15, s13, s14 8064e58: 4a0f ldr r2, [pc, #60] ; (8064e98 ) 8064e5a: 68fb ldr r3, [r7, #12] 8064e5c: 009b lsls r3, r3, #2 8064e5e: 4413 add r3, r2 8064e60: edc3 7a00 vstr s15, [r3] for(i = 1; i < k; i++) 8064e64: 68fb ldr r3, [r7, #12] 8064e66: 3301 adds r3, #1 8064e68: 60fb str r3, [r7, #12] 8064e6a: 68fa ldr r2, [r7, #12] 8064e6c: 68bb ldr r3, [r7, #8] 8064e6e: 429a cmp r2, r3 8064e70: d397 bcc.n 8064da2 } } arm_mult_f32(Out, In, In, k); 8064e72: 68bb ldr r3, [r7, #8] 8064e74: 4a0b ldr r2, [pc, #44] ; (8064ea4 ) 8064e76: 490b ldr r1, [pc, #44] ; (8064ea4 ) 8064e78: 4807 ldr r0, [pc, #28] ; (8064e98 ) 8064e7a: f065 fcb5 bl 80ca7e8 } 8064e7e: bf00 nop 8064e80: 3710 adds r7, #16 8064e82: 46bd mov sp, r7 8064e84: bd80 pop {r7, pc} 8064e86: bf00 nop 8064e88: 20021cdc .word 0x20021cdc 8064e8c: 20023e60 .word 0x20023e60 8064e90: 080eeb18 .word 0x080eeb18 8064e94: 40c90fdb .word 0x40c90fdb 8064e98: 20008000 .word 0x20008000 8064e9c: 447a0000 .word 0x447a0000 8064ea0: 49742400 .word 0x49742400 8064ea4: 200279c0 .word 0x200279c0 08064ea8 : } } void LinToLog(float32_t *pSrc, float32_t *pDst) { 8064ea8: b580 push {r7, lr} 8064eaa: b084 sub sp, #16 8064eac: af00 add r7, sp, #0 8064eae: 6078 str r0, [r7, #4] 8064eb0: 6039 str r1, [r7, #0] float32_t f = *pSrc; 8064eb2: 687b ldr r3, [r7, #4] 8064eb4: 681b ldr r3, [r3, #0] 8064eb6: 60fb str r3, [r7, #12] if(f <= 0.000001f) { 8064eb8: edd7 7a03 vldr s15, [r7, #12] 8064ebc: ed9f 7a0f vldr s14, [pc, #60] ; 8064efc 8064ec0: eef4 7ac7 vcmpe.f32 s15, s14 8064ec4: eef1 fa10 vmrs APSR_nzcv, fpscr 8064ec8: d801 bhi.n 8064ece f = 0.000001f; 8064eca: 4b0d ldr r3, [pc, #52] ; (8064f00 ) 8064ecc: 60fb str r3, [r7, #12] } *pDst = 20 * log10f(f * 1000000); 8064ece: edd7 7a03 vldr s15, [r7, #12] 8064ed2: ed9f 7a0c vldr s14, [pc, #48] ; 8064f04 8064ed6: ee67 7a87 vmul.f32 s15, s15, s14 8064eda: eeb0 0a67 vmov.f32 s0, s15 8064ede: f066 f941 bl 80cb164 8064ee2: eeb0 7a40 vmov.f32 s14, s0 8064ee6: eef3 7a04 vmov.f32 s15, #52 ; 0x41a00000 20.0 8064eea: ee67 7a27 vmul.f32 s15, s14, s15 8064eee: 683b ldr r3, [r7, #0] 8064ef0: edc3 7a00 vstr s15, [r3] } 8064ef4: bf00 nop 8064ef6: 3710 adds r7, #16 8064ef8: 46bd mov sp, r7 8064efa: bd80 pop {r7, pc} 8064efc: 358637bd .word 0x358637bd 8064f00: 358637bd .word 0x358637bd 8064f04: 49742400 .word 0x49742400 08064f08 : void LinToLog_mV(float32_t *pSrc, float32_t *pDst, uint8_t IPR) { 8064f08: b580 push {r7, lr} 8064f0a: b086 sub sp, #24 8064f0c: af00 add r7, sp, #0 8064f0e: 60f8 str r0, [r7, #12] 8064f10: 60b9 str r1, [r7, #8] 8064f12: 4613 mov r3, r2 8064f14: 71fb strb r3, [r7, #7] float32_t f = *pSrc; 8064f16: 68fb ldr r3, [r7, #12] 8064f18: 681b ldr r3, [r3, #0] 8064f1a: 617b str r3, [r7, #20] f *= 1000.000f; //â ìê 8064f1c: edd7 7a05 vldr s15, [r7, #20] 8064f20: ed9f 7a10 vldr s14, [pc, #64] ; 8064f64 8064f24: ee67 7a87 vmul.f32 s15, s15, s14 8064f28: edc7 7a05 vstr s15, [r7, #20] if(f <= 0.000001f) { 8064f2c: edd7 7a05 vldr s15, [r7, #20] 8064f30: ed9f 7a0d vldr s14, [pc, #52] ; 8064f68 8064f34: eef4 7ac7 vcmpe.f32 s15, s14 8064f38: eef1 fa10 vmrs APSR_nzcv, fpscr 8064f3c: d801 bhi.n 8064f42 f = 0.000001f; 8064f3e: 4b0b ldr r3, [pc, #44] ; (8064f6c ) 8064f40: 617b str r3, [r7, #20] } *pDst = 20 * log10f(f); 8064f42: ed97 0a05 vldr s0, [r7, #20] 8064f46: f066 f90d bl 80cb164 8064f4a: eeb0 7a40 vmov.f32 s14, s0 8064f4e: eef3 7a04 vmov.f32 s15, #52 ; 0x41a00000 20.0 8064f52: ee67 7a27 vmul.f32 s15, s14, s15 8064f56: 68bb ldr r3, [r7, #8] 8064f58: edc3 7a00 vstr s15, [r3] } 8064f5c: bf00 nop 8064f5e: 3718 adds r7, #24 8064f60: 46bd mov sp, r7 8064f62: bd80 pop {r7, pc} 8064f64: 447a0000 .word 0x447a0000 8064f68: 358637bd .word 0x358637bd 8064f6c: 358637bd .word 0x358637bd 08064f70 : void LinToLog_UDAR(float32_t *pSrc, float32_t *pDst) { 8064f70: b580 push {r7, lr} 8064f72: b084 sub sp, #16 8064f74: af00 add r7, sp, #0 8064f76: 6078 str r0, [r7, #4] 8064f78: 6039 str r1, [r7, #0] float32_t f = *pSrc; 8064f7a: 687b ldr r3, [r7, #4] 8064f7c: 681b ldr r3, [r3, #0] 8064f7e: 60fb str r3, [r7, #12] if(f <= 0.1f) { 8064f80: edd7 7a03 vldr s15, [r7, #12] 8064f84: ed9f 7a0e vldr s14, [pc, #56] ; 8064fc0 8064f88: eef4 7ac7 vcmpe.f32 s15, s14 8064f8c: eef1 fa10 vmrs APSR_nzcv, fpscr 8064f90: d801 bhi.n 8064f96 f = 0.1f; 8064f92: 4b0c ldr r3, [pc, #48] ; (8064fc4 ) 8064f94: 60fb str r3, [r7, #12] } *pDst = 20 * log10f(*pSrc); 8064f96: 687b ldr r3, [r7, #4] 8064f98: edd3 7a00 vldr s15, [r3] 8064f9c: eeb0 0a67 vmov.f32 s0, s15 8064fa0: f066 f8e0 bl 80cb164 8064fa4: eeb0 7a40 vmov.f32 s14, s0 8064fa8: eef3 7a04 vmov.f32 s15, #52 ; 0x41a00000 20.0 8064fac: ee67 7a27 vmul.f32 s15, s14, s15 8064fb0: 683b ldr r3, [r7, #0] 8064fb2: edc3 7a00 vstr s15, [r3] /*if(f <= 0.000001f) { f = 0.000001f; } *pDst = 20 * log10f(f * 1000000);*/ } 8064fb6: bf00 nop 8064fb8: 3710 adds r7, #16 8064fba: 46bd mov sp, r7 8064fbc: bd80 pop {r7, pc} 8064fbe: bf00 nop 8064fc0: 3dcccccd .word 0x3dcccccd 8064fc4: 3dcccccd .word 0x3dcccccd 08064fc8 : float32_t MedMeas(uint8_t AVS, float32_t InVal) { 8064fc8: b480 push {r7} 8064fca: b08d sub sp, #52 ; 0x34 8064fcc: af00 add r7, sp, #0 8064fce: 4603 mov r3, r0 8064fd0: ed87 0a00 vstr s0, [r7] 8064fd4: 71fb strb r3, [r7, #7] uint8_t k = 0; 8064fd6: 2300 movs r3, #0 8064fd8: f887 302f strb.w r3, [r7, #47] ; 0x2f uint32_t i = 0, j = 0; 8064fdc: 2300 movs r3, #0 8064fde: 62bb str r3, [r7, #40] ; 0x28 8064fe0: 2300 movs r3, #0 8064fe2: 627b str r3, [r7, #36] ; 0x24 float32_t temp[N_MED_MEAS]; float32_t OutVal; if(pardata.OPTIONS & 0x00000001) 8064fe4: 4ba6 ldr r3, [pc, #664] ; (8065280 ) 8064fe6: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8064fea: f003 0301 and.w r3, r3, #1 8064fee: 2b00 cmp r3, #0 8064ff0: f000 813c beq.w 806526c { switch(AVS) 8064ff4: 79fb ldrb r3, [r7, #7] 8064ff6: 2b01 cmp r3, #1 8064ff8: d041 beq.n 806507e 8064ffa: 2b02 cmp r3, #2 8064ffc: d07c beq.n 80650f8 8064ffe: 2b00 cmp r3, #0 8065000: f040 80b7 bne.w 8065172 { case ACC: for(i = N_MED_MEAS - 1; i > 0; i--) 8065004: 2304 movs r3, #4 8065006: 62bb str r3, [r7, #40] ; 0x28 8065008: e00d b.n 8065026 medA[i] = medA[i - 1]; 806500a: 6abb ldr r3, [r7, #40] ; 0x28 806500c: 3b01 subs r3, #1 806500e: 4a9d ldr r2, [pc, #628] ; (8065284 ) 8065010: 009b lsls r3, r3, #2 8065012: 4413 add r3, r2 8065014: 681a ldr r2, [r3, #0] 8065016: 499b ldr r1, [pc, #620] ; (8065284 ) 8065018: 6abb ldr r3, [r7, #40] ; 0x28 806501a: 009b lsls r3, r3, #2 806501c: 440b add r3, r1 806501e: 601a str r2, [r3, #0] for(i = N_MED_MEAS - 1; i > 0; i--) 8065020: 6abb ldr r3, [r7, #40] ; 0x28 8065022: 3b01 subs r3, #1 8065024: 62bb str r3, [r7, #40] ; 0x28 8065026: 6abb ldr r3, [r7, #40] ; 0x28 8065028: 2b00 cmp r3, #0 806502a: d1ee bne.n 806500a medA[0] = InVal; 806502c: 4a95 ldr r2, [pc, #596] ; (8065284 ) 806502e: 683b ldr r3, [r7, #0] 8065030: 6013 str r3, [r2, #0] for(i = 0; i < N_MED_MEAS; i++) 8065032: 2300 movs r3, #0 8065034: 62bb str r3, [r7, #40] ; 0x28 8065036: e00e b.n 8065056 temp[i] = medA[i]; 8065038: 4a92 ldr r2, [pc, #584] ; (8065284 ) 806503a: 6abb ldr r3, [r7, #40] ; 0x28 806503c: 009b lsls r3, r3, #2 806503e: 4413 add r3, r2 8065040: 681a ldr r2, [r3, #0] 8065042: 6abb ldr r3, [r7, #40] ; 0x28 8065044: 009b lsls r3, r3, #2 8065046: f107 0130 add.w r1, r7, #48 ; 0x30 806504a: 440b add r3, r1 806504c: 3b24 subs r3, #36 ; 0x24 806504e: 601a str r2, [r3, #0] for(i = 0; i < N_MED_MEAS; i++) 8065050: 6abb ldr r3, [r7, #40] ; 0x28 8065052: 3301 adds r3, #1 8065054: 62bb str r3, [r7, #40] ; 0x28 8065056: 6abb ldr r3, [r7, #40] ; 0x28 8065058: 2b04 cmp r3, #4 806505a: d9ed bls.n 8065038 if(CounterA < N_MED_MEAS) 806505c: 4b8a ldr r3, [pc, #552] ; (8065288 ) 806505e: 781b ldrb r3, [r3, #0] 8065060: b2db uxtb r3, r3 8065062: 2b04 cmp r3, #4 8065064: d806 bhi.n 8065074 CounterA++; 8065066: 4b88 ldr r3, [pc, #544] ; (8065288 ) 8065068: 781b ldrb r3, [r3, #0] 806506a: b2db uxtb r3, r3 806506c: 3301 adds r3, #1 806506e: b2da uxtb r2, r3 8065070: 4b85 ldr r3, [pc, #532] ; (8065288 ) 8065072: 701a strb r2, [r3, #0] k = CounterA; 8065074: 4b84 ldr r3, [pc, #528] ; (8065288 ) 8065076: 781b ldrb r3, [r3, #0] 8065078: f887 302f strb.w r3, [r7, #47] ; 0x2f break; 806507c: e07b b.n 8065176 case VEL: for(i = N_MED_MEAS - 1; i > 0; i--) 806507e: 2304 movs r3, #4 8065080: 62bb str r3, [r7, #40] ; 0x28 8065082: e00d b.n 80650a0 medV[i] = medV[i - 1]; 8065084: 6abb ldr r3, [r7, #40] ; 0x28 8065086: 3b01 subs r3, #1 8065088: 4a80 ldr r2, [pc, #512] ; (806528c ) 806508a: 009b lsls r3, r3, #2 806508c: 4413 add r3, r2 806508e: 681a ldr r2, [r3, #0] 8065090: 497e ldr r1, [pc, #504] ; (806528c ) 8065092: 6abb ldr r3, [r7, #40] ; 0x28 8065094: 009b lsls r3, r3, #2 8065096: 440b add r3, r1 8065098: 601a str r2, [r3, #0] for(i = N_MED_MEAS - 1; i > 0; i--) 806509a: 6abb ldr r3, [r7, #40] ; 0x28 806509c: 3b01 subs r3, #1 806509e: 62bb str r3, [r7, #40] ; 0x28 80650a0: 6abb ldr r3, [r7, #40] ; 0x28 80650a2: 2b00 cmp r3, #0 80650a4: d1ee bne.n 8065084 medV[0] = InVal; 80650a6: 4a79 ldr r2, [pc, #484] ; (806528c ) 80650a8: 683b ldr r3, [r7, #0] 80650aa: 6013 str r3, [r2, #0] for(i = 0; i < N_MED_MEAS; i++) 80650ac: 2300 movs r3, #0 80650ae: 62bb str r3, [r7, #40] ; 0x28 80650b0: e00e b.n 80650d0 temp[i] = medV[i]; 80650b2: 4a76 ldr r2, [pc, #472] ; (806528c ) 80650b4: 6abb ldr r3, [r7, #40] ; 0x28 80650b6: 009b lsls r3, r3, #2 80650b8: 4413 add r3, r2 80650ba: 681a ldr r2, [r3, #0] 80650bc: 6abb ldr r3, [r7, #40] ; 0x28 80650be: 009b lsls r3, r3, #2 80650c0: f107 0130 add.w r1, r7, #48 ; 0x30 80650c4: 440b add r3, r1 80650c6: 3b24 subs r3, #36 ; 0x24 80650c8: 601a str r2, [r3, #0] for(i = 0; i < N_MED_MEAS; i++) 80650ca: 6abb ldr r3, [r7, #40] ; 0x28 80650cc: 3301 adds r3, #1 80650ce: 62bb str r3, [r7, #40] ; 0x28 80650d0: 6abb ldr r3, [r7, #40] ; 0x28 80650d2: 2b04 cmp r3, #4 80650d4: d9ed bls.n 80650b2 if(CounterV < N_MED_MEAS) 80650d6: 4b6e ldr r3, [pc, #440] ; (8065290 ) 80650d8: 781b ldrb r3, [r3, #0] 80650da: b2db uxtb r3, r3 80650dc: 2b04 cmp r3, #4 80650de: d806 bhi.n 80650ee CounterV++; 80650e0: 4b6b ldr r3, [pc, #428] ; (8065290 ) 80650e2: 781b ldrb r3, [r3, #0] 80650e4: b2db uxtb r3, r3 80650e6: 3301 adds r3, #1 80650e8: b2da uxtb r2, r3 80650ea: 4b69 ldr r3, [pc, #420] ; (8065290 ) 80650ec: 701a strb r2, [r3, #0] k = CounterV; 80650ee: 4b68 ldr r3, [pc, #416] ; (8065290 ) 80650f0: 781b ldrb r3, [r3, #0] 80650f2: f887 302f strb.w r3, [r7, #47] ; 0x2f break; 80650f6: e03e b.n 8065176 case DIS: for(i = N_MED_MEAS - 1; i > 0; i--) 80650f8: 2304 movs r3, #4 80650fa: 62bb str r3, [r7, #40] ; 0x28 80650fc: e00d b.n 806511a medS[i] = medS[i - 1]; 80650fe: 6abb ldr r3, [r7, #40] ; 0x28 8065100: 3b01 subs r3, #1 8065102: 4a64 ldr r2, [pc, #400] ; (8065294 ) 8065104: 009b lsls r3, r3, #2 8065106: 4413 add r3, r2 8065108: 681a ldr r2, [r3, #0] 806510a: 4962 ldr r1, [pc, #392] ; (8065294 ) 806510c: 6abb ldr r3, [r7, #40] ; 0x28 806510e: 009b lsls r3, r3, #2 8065110: 440b add r3, r1 8065112: 601a str r2, [r3, #0] for(i = N_MED_MEAS - 1; i > 0; i--) 8065114: 6abb ldr r3, [r7, #40] ; 0x28 8065116: 3b01 subs r3, #1 8065118: 62bb str r3, [r7, #40] ; 0x28 806511a: 6abb ldr r3, [r7, #40] ; 0x28 806511c: 2b00 cmp r3, #0 806511e: d1ee bne.n 80650fe medS[0] = InVal; 8065120: 4a5c ldr r2, [pc, #368] ; (8065294 ) 8065122: 683b ldr r3, [r7, #0] 8065124: 6013 str r3, [r2, #0] for(i = 0; i < N_MED_MEAS; i++) 8065126: 2300 movs r3, #0 8065128: 62bb str r3, [r7, #40] ; 0x28 806512a: e00e b.n 806514a temp[i] = medS[i]; 806512c: 4a59 ldr r2, [pc, #356] ; (8065294 ) 806512e: 6abb ldr r3, [r7, #40] ; 0x28 8065130: 009b lsls r3, r3, #2 8065132: 4413 add r3, r2 8065134: 681a ldr r2, [r3, #0] 8065136: 6abb ldr r3, [r7, #40] ; 0x28 8065138: 009b lsls r3, r3, #2 806513a: f107 0130 add.w r1, r7, #48 ; 0x30 806513e: 440b add r3, r1 8065140: 3b24 subs r3, #36 ; 0x24 8065142: 601a str r2, [r3, #0] for(i = 0; i < N_MED_MEAS; i++) 8065144: 6abb ldr r3, [r7, #40] ; 0x28 8065146: 3301 adds r3, #1 8065148: 62bb str r3, [r7, #40] ; 0x28 806514a: 6abb ldr r3, [r7, #40] ; 0x28 806514c: 2b04 cmp r3, #4 806514e: d9ed bls.n 806512c if(CounterS < N_MED_MEAS) 8065150: 4b51 ldr r3, [pc, #324] ; (8065298 ) 8065152: 781b ldrb r3, [r3, #0] 8065154: b2db uxtb r3, r3 8065156: 2b04 cmp r3, #4 8065158: d806 bhi.n 8065168 CounterS++; 806515a: 4b4f ldr r3, [pc, #316] ; (8065298 ) 806515c: 781b ldrb r3, [r3, #0] 806515e: b2db uxtb r3, r3 8065160: 3301 adds r3, #1 8065162: b2da uxtb r2, r3 8065164: 4b4c ldr r3, [pc, #304] ; (8065298 ) 8065166: 701a strb r2, [r3, #0] k = CounterS; 8065168: 4b4b ldr r3, [pc, #300] ; (8065298 ) 806516a: 781b ldrb r3, [r3, #0] 806516c: f887 302f strb.w r3, [r7, #47] ; 0x2f break; 8065170: e001 b.n 8065176 default: return InVal; 8065172: 683b ldr r3, [r7, #0] 8065174: e07b b.n 806526e break; } for(j = 0; j < k; j++) 8065176: 2300 movs r3, #0 8065178: 627b str r3, [r7, #36] ; 0x24 806517a: e040 b.n 80651fe { for(i = j; i < k; i++) 806517c: 6a7b ldr r3, [r7, #36] ; 0x24 806517e: 62bb str r3, [r7, #40] ; 0x28 8065180: e035 b.n 80651ee { if(temp[i] < temp[j]) 8065182: 6abb ldr r3, [r7, #40] ; 0x28 8065184: 009b lsls r3, r3, #2 8065186: f107 0230 add.w r2, r7, #48 ; 0x30 806518a: 4413 add r3, r2 806518c: 3b24 subs r3, #36 ; 0x24 806518e: ed93 7a00 vldr s14, [r3] 8065192: 6a7b ldr r3, [r7, #36] ; 0x24 8065194: 009b lsls r3, r3, #2 8065196: f107 0230 add.w r2, r7, #48 ; 0x30 806519a: 4413 add r3, r2 806519c: 3b24 subs r3, #36 ; 0x24 806519e: edd3 7a00 vldr s15, [r3] 80651a2: eeb4 7ae7 vcmpe.f32 s14, s15 80651a6: eef1 fa10 vmrs APSR_nzcv, fpscr 80651aa: d51d bpl.n 80651e8 { OutVal = temp[j]; 80651ac: 6a7b ldr r3, [r7, #36] ; 0x24 80651ae: 009b lsls r3, r3, #2 80651b0: f107 0230 add.w r2, r7, #48 ; 0x30 80651b4: 4413 add r3, r2 80651b6: 3b24 subs r3, #36 ; 0x24 80651b8: 681b ldr r3, [r3, #0] 80651ba: 623b str r3, [r7, #32] temp[j] = temp[i]; 80651bc: 6abb ldr r3, [r7, #40] ; 0x28 80651be: 009b lsls r3, r3, #2 80651c0: f107 0230 add.w r2, r7, #48 ; 0x30 80651c4: 4413 add r3, r2 80651c6: 3b24 subs r3, #36 ; 0x24 80651c8: 681a ldr r2, [r3, #0] 80651ca: 6a7b ldr r3, [r7, #36] ; 0x24 80651cc: 009b lsls r3, r3, #2 80651ce: f107 0130 add.w r1, r7, #48 ; 0x30 80651d2: 440b add r3, r1 80651d4: 3b24 subs r3, #36 ; 0x24 80651d6: 601a str r2, [r3, #0] temp[i] = OutVal; 80651d8: 6abb ldr r3, [r7, #40] ; 0x28 80651da: 009b lsls r3, r3, #2 80651dc: f107 0230 add.w r2, r7, #48 ; 0x30 80651e0: 4413 add r3, r2 80651e2: 3b24 subs r3, #36 ; 0x24 80651e4: 6a3a ldr r2, [r7, #32] 80651e6: 601a str r2, [r3, #0] for(i = j; i < k; i++) 80651e8: 6abb ldr r3, [r7, #40] ; 0x28 80651ea: 3301 adds r3, #1 80651ec: 62bb str r3, [r7, #40] ; 0x28 80651ee: f897 202f ldrb.w r2, [r7, #47] ; 0x2f 80651f2: 6abb ldr r3, [r7, #40] ; 0x28 80651f4: 429a cmp r2, r3 80651f6: d8c4 bhi.n 8065182 for(j = 0; j < k; j++) 80651f8: 6a7b ldr r3, [r7, #36] ; 0x24 80651fa: 3301 adds r3, #1 80651fc: 627b str r3, [r7, #36] ; 0x24 80651fe: f897 202f ldrb.w r2, [r7, #47] ; 0x2f 8065202: 6a7b ldr r3, [r7, #36] ; 0x24 8065204: 429a cmp r2, r3 8065206: d8b9 bhi.n 806517c } } } i = (k >> 1); 8065208: f897 302f ldrb.w r3, [r7, #47] ; 0x2f 806520c: 085b lsrs r3, r3, #1 806520e: b2db uxtb r3, r3 8065210: 62bb str r3, [r7, #40] ; 0x28 if((k & 0x1) || (i == 0)) 8065212: f897 302f ldrb.w r3, [r7, #47] ; 0x2f 8065216: f003 0301 and.w r3, r3, #1 806521a: 2b00 cmp r3, #0 806521c: d102 bne.n 8065224 806521e: 6abb ldr r3, [r7, #40] ; 0x28 8065220: 2b00 cmp r3, #0 8065222: d108 bne.n 8065236 OutVal = temp[i]; 8065224: 6abb ldr r3, [r7, #40] ; 0x28 8065226: 009b lsls r3, r3, #2 8065228: f107 0230 add.w r2, r7, #48 ; 0x30 806522c: 4413 add r3, r2 806522e: 3b24 subs r3, #36 ; 0x24 8065230: 681b ldr r3, [r3, #0] 8065232: 623b str r3, [r7, #32] 8065234: e018 b.n 8065268 else OutVal = (temp[i] + temp[i - 1]) * 0.5f; 8065236: 6abb ldr r3, [r7, #40] ; 0x28 8065238: 009b lsls r3, r3, #2 806523a: f107 0230 add.w r2, r7, #48 ; 0x30 806523e: 4413 add r3, r2 8065240: 3b24 subs r3, #36 ; 0x24 8065242: ed93 7a00 vldr s14, [r3] 8065246: 6abb ldr r3, [r7, #40] ; 0x28 8065248: 3b01 subs r3, #1 806524a: 009b lsls r3, r3, #2 806524c: f107 0230 add.w r2, r7, #48 ; 0x30 8065250: 4413 add r3, r2 8065252: 3b24 subs r3, #36 ; 0x24 8065254: edd3 7a00 vldr s15, [r3] 8065258: ee77 7a27 vadd.f32 s15, s14, s15 806525c: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8065260: ee67 7a87 vmul.f32 s15, s15, s14 8065264: edc7 7a08 vstr s15, [r7, #32] return OutVal; 8065268: 6a3b ldr r3, [r7, #32] 806526a: e000 b.n 806526e } return InVal; 806526c: 683b ldr r3, [r7, #0] 806526e: ee07 3a90 vmov s15, r3 } 8065272: eeb0 0a67 vmov.f32 s0, s15 8065276: 3734 adds r7, #52 ; 0x34 8065278: 46bd mov sp, r7 806527a: f85d 7b04 ldr.w r7, [sp], #4 806527e: 4770 bx lr 8065280: 20023e60 .word 0x20023e60 8065284: 20057e68 .word 0x20057e68 8065288: 20021521 .word 0x20021521 806528c: 20057fd0 .word 0x20057fd0 8065290: 20021522 .word 0x20021522 8065294: 20026550 .word 0x20026550 8065298: 20021523 .word 0x20021523 806529c: 00000000 .word 0x00000000 080652a0 : void initFilters(void) { 80652a0: b590 push {r4, r7, lr} 80652a2: b083 sub sp, #12 80652a4: 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); 80652a6: 4ba8 ldr r3, [pc, #672] ; (8065548 ) 80652a8: 4aa8 ldr r2, [pc, #672] ; (806554c ) 80652aa: 2104 movs r1, #4 80652ac: 48a8 ldr r0, [pc, #672] ; (8065550 ) 80652ae: f064 ff6b bl 80ca188 arm_biquad_cascade_df2T_init_f64(&S_IIR_2Hz, 4, (float64_t *) BAND_OKT, State_IIR_2Hz); 80652b2: 4ba8 ldr r3, [pc, #672] ; (8065554 ) 80652b4: 4aa5 ldr r2, [pc, #660] ; (806554c ) 80652b6: 2104 movs r1, #4 80652b8: 48a7 ldr r0, [pc, #668] ; (8065558 ) 80652ba: f064 ff65 bl 80ca188 arm_biquad_cascade_df2T_init_f64(&S_IIR_4Hz, 4, (float64_t *) BAND_OKT, State_IIR_4Hz); 80652be: 4ba7 ldr r3, [pc, #668] ; (806555c ) 80652c0: 4aa2 ldr r2, [pc, #648] ; (806554c ) 80652c2: 2104 movs r1, #4 80652c4: 48a6 ldr r0, [pc, #664] ; (8065560 ) 80652c6: f064 ff5f bl 80ca188 arm_biquad_cascade_df2T_init_f64(&S_IIR_8Hz, 4, (float64_t *) BAND_OKT, State_IIR_8Hz); 80652ca: 4ba6 ldr r3, [pc, #664] ; (8065564 ) 80652cc: 4a9f ldr r2, [pc, #636] ; (806554c ) 80652ce: 2104 movs r1, #4 80652d0: 48a5 ldr r0, [pc, #660] ; (8065568 ) 80652d2: f064 ff59 bl 80ca188 arm_biquad_cascade_df2T_init_f64(&S_IIR_16Hz, 4, (float64_t *) BAND_OKT, State_IIR_16Hz); 80652d6: 4ba5 ldr r3, [pc, #660] ; (806556c ) 80652d8: 4a9c ldr r2, [pc, #624] ; (806554c ) 80652da: 2104 movs r1, #4 80652dc: 48a4 ldr r0, [pc, #656] ; (8065570 ) 80652de: f064 ff53 bl 80ca188 arm_biquad_cascade_df2T_init_f64(&S_IIR_32Hz, 4, (float64_t *) BAND_OKT, State_IIR_32Hz); 80652e2: 4ba4 ldr r3, [pc, #656] ; (8065574 ) 80652e4: 4a99 ldr r2, [pc, #612] ; (806554c ) 80652e6: 2104 movs r1, #4 80652e8: 48a3 ldr r0, [pc, #652] ; (8065578 ) 80652ea: f064 ff4d bl 80ca188 arm_biquad_cascade_df2T_init_f64(&S_IIR_63Hz, 4, (float64_t *) BAND_OKT, State_IIR_63Hz); 80652ee: 4ba3 ldr r3, [pc, #652] ; (806557c ) 80652f0: 4a96 ldr r2, [pc, #600] ; (806554c ) 80652f2: 2104 movs r1, #4 80652f4: 48a2 ldr r0, [pc, #648] ; (8065580 ) 80652f6: f064 ff47 bl 80ca188 arm_biquad_cascade_df2T_init_f64(&S_IIR_125Hz, 4, (float64_t *) BAND_OKT, State_IIR_125Hz); 80652fa: 4ba2 ldr r3, [pc, #648] ; (8065584 ) 80652fc: 4a93 ldr r2, [pc, #588] ; (806554c ) 80652fe: 2104 movs r1, #4 8065300: 48a1 ldr r0, [pc, #644] ; (8065588 ) 8065302: f064 ff41 bl 80ca188 arm_biquad_cascade_df2T_init_f64(&S_IIR_250Hz, 4, (float64_t *) BAND_OKT, State_IIR_250Hz); 8065306: 4ba1 ldr r3, [pc, #644] ; (806558c ) 8065308: 4a90 ldr r2, [pc, #576] ; (806554c ) 806530a: 2104 movs r1, #4 806530c: 48a0 ldr r0, [pc, #640] ; (8065590 ) 806530e: f064 ff3b bl 80ca188 arm_biquad_cascade_df2T_init_f64(&S_IIR_500Hz, 4, (float64_t *) BAND_OKT, State_IIR_500Hz); 8065312: 4ba0 ldr r3, [pc, #640] ; (8065594 ) 8065314: 4a8d ldr r2, [pc, #564] ; (806554c ) 8065316: 2104 movs r1, #4 8065318: 489f ldr r0, [pc, #636] ; (8065598 ) 806531a: f064 ff35 bl 80ca188 arm_biquad_cascade_df2T_init_f64(&S_IIR_1000Hz, 4, (float64_t *) BAND_OKT, State_IIR_1000Hz); 806531e: 4b9f ldr r3, [pc, #636] ; (806559c ) 8065320: 4a8a ldr r2, [pc, #552] ; (806554c ) 8065322: 2104 movs r1, #4 8065324: 489e ldr r0, [pc, #632] ; (80655a0 ) 8065326: f064 ff2f bl 80ca188 arm_biquad_cascade_df2T_init_f64(&S_IIR_2000Hz, 4, (float64_t *) BAND_OKT, State_IIR_2000Hz); 806532a: 4b9e ldr r3, [pc, #632] ; (80655a4 ) 806532c: 4a87 ldr r2, [pc, #540] ; (806554c ) 806532e: 2104 movs r1, #4 8065330: 489d ldr r0, [pc, #628] ; (80655a8 ) 8065332: f064 ff29 bl 80ca188 arm_biquad_cascade_df2T_init_f64(&S_IIR_4000Hz, 4, (float64_t *) BAND_OKT, State_IIR_4000Hz); 8065336: 4b9d ldr r3, [pc, #628] ; (80655ac ) 8065338: 4a84 ldr r2, [pc, #528] ; (806554c ) 806533a: 2104 movs r1, #4 806533c: 489c ldr r0, [pc, #624] ; (80655b0 ) 806533e: f064 ff23 bl 80ca188 arm_biquad_cascade_df2T_init_f64(&S_IIR_8000Hz, 4, (float64_t *) BAND_OKT, State_IIR_8000Hz); 8065342: 4b9c ldr r3, [pc, #624] ; (80655b4 ) 8065344: 4a81 ldr r2, [pc, #516] ; (806554c ) 8065346: 2104 movs r1, #4 8065348: 489b ldr r0, [pc, #620] ; (80655b8 ) 806534a: f064 ff1d bl 80ca188 arm_biquad_cascade_df2T_init_f64(&S_IIR_16000Hz, 4, (float64_t *) BAND_OKT, State_IIR_16000Hz); 806534e: 4b9b ldr r3, [pc, #620] ; (80655bc ) 8065350: 4a7e ldr r2, [pc, #504] ; (806554c ) 8065352: 2104 movs r1, #4 8065354: 489a ldr r0, [pc, #616] ; (80655c0 ) 8065356: f064 ff17 bl 80ca188 arm_biquad_cascade_df2T_init_f64(&S_LP_1, 4, (float64_t *) COEFF_LP_OKT, State_LP_1); 806535a: 4b9a ldr r3, [pc, #616] ; (80655c4 ) 806535c: 4a9a ldr r2, [pc, #616] ; (80655c8 ) 806535e: 2104 movs r1, #4 8065360: 489a ldr r0, [pc, #616] ; (80655cc ) 8065362: f064 ff11 bl 80ca188 arm_biquad_cascade_df2T_init_f64(&S_LP_2, 4, (float64_t *) COEFF_LP_OKT, State_LP_2); 8065366: 4b9a ldr r3, [pc, #616] ; (80655d0 ) 8065368: 4a97 ldr r2, [pc, #604] ; (80655c8 ) 806536a: 2104 movs r1, #4 806536c: 4899 ldr r0, [pc, #612] ; (80655d4 ) 806536e: f064 ff0b bl 80ca188 arm_biquad_cascade_df2T_init_f64(&S_LP_4, 4, (float64_t *) COEFF_LP_OKT, State_LP_4); 8065372: 4b99 ldr r3, [pc, #612] ; (80655d8 ) 8065374: 4a94 ldr r2, [pc, #592] ; (80655c8 ) 8065376: 2104 movs r1, #4 8065378: 4898 ldr r0, [pc, #608] ; (80655dc ) 806537a: f064 ff05 bl 80ca188 arm_biquad_cascade_df2T_init_f64(&S_LP_8, 4, (float64_t *) COEFF_LP_OKT, State_LP_8); 806537e: 4b98 ldr r3, [pc, #608] ; (80655e0 ) 8065380: 4a91 ldr r2, [pc, #580] ; (80655c8 ) 8065382: 2104 movs r1, #4 8065384: 4897 ldr r0, [pc, #604] ; (80655e4 ) 8065386: f064 feff bl 80ca188 arm_biquad_cascade_df2T_init_f64(&S_LP_16, 4, (float64_t *) COEFF_LP_OKT, State_LP_16); 806538a: 4b97 ldr r3, [pc, #604] ; (80655e8 ) 806538c: 4a8e ldr r2, [pc, #568] ; (80655c8 ) 806538e: 2104 movs r1, #4 8065390: 4896 ldr r0, [pc, #600] ; (80655ec ) 8065392: f064 fef9 bl 80ca188 arm_biquad_cascade_df2T_init_f64(&S_LP_32, 4, (float64_t *) COEFF_LP_OKT, State_LP_32); 8065396: 4b96 ldr r3, [pc, #600] ; (80655f0 ) 8065398: 4a8b ldr r2, [pc, #556] ; (80655c8 ) 806539a: 2104 movs r1, #4 806539c: 4895 ldr r0, [pc, #596] ; (80655f4 ) 806539e: f064 fef3 bl 80ca188 arm_biquad_cascade_df2T_init_f64(&S_LP_63, 4, (float64_t *) COEFF_LP_OKT, State_LP_63); 80653a2: 4b95 ldr r3, [pc, #596] ; (80655f8 ) 80653a4: 4a88 ldr r2, [pc, #544] ; (80655c8 ) 80653a6: 2104 movs r1, #4 80653a8: 4894 ldr r0, [pc, #592] ; (80655fc ) 80653aa: f064 feed bl 80ca188 arm_biquad_cascade_df2T_init_f64(&S_LP_125, 4, (float64_t *) COEFF_LP_OKT, State_LP_125); 80653ae: 4b94 ldr r3, [pc, #592] ; (8065600 ) 80653b0: 4a85 ldr r2, [pc, #532] ; (80655c8 ) 80653b2: 2104 movs r1, #4 80653b4: 4893 ldr r0, [pc, #588] ; (8065604 ) 80653b6: f064 fee7 bl 80ca188 arm_biquad_cascade_df2T_init_f64(&S_LP_250, 4, (float64_t *) COEFF_LP_OKT, State_LP_250); 80653ba: 4b93 ldr r3, [pc, #588] ; (8065608 ) 80653bc: 4a82 ldr r2, [pc, #520] ; (80655c8 ) 80653be: 2104 movs r1, #4 80653c0: 4892 ldr r0, [pc, #584] ; (806560c ) 80653c2: f064 fee1 bl 80ca188 arm_biquad_cascade_df2T_init_f64(&S_LP_500, 4, (float64_t *) COEFF_LP_OKT, State_LP_500); 80653c6: 4b92 ldr r3, [pc, #584] ; (8065610 ) 80653c8: 4a7f ldr r2, [pc, #508] ; (80655c8 ) 80653ca: 2104 movs r1, #4 80653cc: 4891 ldr r0, [pc, #580] ; (8065614 ) 80653ce: f064 fedb bl 80ca188 arm_biquad_cascade_df2T_init_f64(&S_LP_1000, 4, (float64_t *) COEFF_LP_OKT, State_LP_1000); 80653d2: 4b91 ldr r3, [pc, #580] ; (8065618 ) 80653d4: 4a7c ldr r2, [pc, #496] ; (80655c8 ) 80653d6: 2104 movs r1, #4 80653d8: 4890 ldr r0, [pc, #576] ; (806561c ) 80653da: f064 fed5 bl 80ca188 arm_biquad_cascade_df2T_init_f64(&S_LP_2000, 4, (float64_t *) COEFF_LP_OKT, State_LP_2000); 80653de: 4b90 ldr r3, [pc, #576] ; (8065620 ) 80653e0: 4a79 ldr r2, [pc, #484] ; (80655c8 ) 80653e2: 2104 movs r1, #4 80653e4: 488f ldr r0, [pc, #572] ; (8065624 ) 80653e6: f064 fecf bl 80ca188 arm_biquad_cascade_df2T_init_f64(&S_LP_4000, 4, (float64_t *) COEFF_LP_OKT, State_LP_4000); 80653ea: 4b8f ldr r3, [pc, #572] ; (8065628 ) 80653ec: 4a76 ldr r2, [pc, #472] ; (80655c8 ) 80653ee: 2104 movs r1, #4 80653f0: 488e ldr r0, [pc, #568] ; (806562c ) 80653f2: f064 fec9 bl 80ca188 arm_biquad_cascade_df2T_init_f64(&S_LP_8000, 4, (float64_t *) COEFF_LP_OKT, State_LP_8000); 80653f6: 4b8e ldr r3, [pc, #568] ; (8065630 ) 80653f8: 4a73 ldr r2, [pc, #460] ; (80655c8 ) 80653fa: 2104 movs r1, #4 80653fc: 488d ldr r0, [pc, #564] ; (8065634 ) 80653fe: f064 fec3 bl 80ca188 //*************************************************************************************************************************** // THIRD //*************************************************************************************************************************** arm_biquad_cascade_df2T_init_f64(&S_OKT_10000Hz, 4, (float64_t *) BAND_5kHz, State_OKT_10000Hz); 8065402: 4b8d ldr r3, [pc, #564] ; (8065638 ) 8065404: 4a8d ldr r2, [pc, #564] ; (806563c ) 8065406: 2104 movs r1, #4 8065408: 488d ldr r0, [pc, #564] ; (8065640 ) 806540a: f064 febd bl 80ca188 arm_biquad_cascade_df2T_init_f64(&S_OKT_8000Hz, 4, (float64_t *) BAND_4kHz, State_OKT_8000Hz); 806540e: 4b8d ldr r3, [pc, #564] ; (8065644 ) 8065410: 4a8d ldr r2, [pc, #564] ; (8065648 ) 8065412: 2104 movs r1, #4 8065414: 488d ldr r0, [pc, #564] ; (806564c ) 8065416: f064 feb7 bl 80ca188 arm_biquad_cascade_df2T_init_f64(&S_OKT_6300Hz, 4, (float64_t *) BAND_3_15kHz, State_OKT_6300Hz); 806541a: 4b8d ldr r3, [pc, #564] ; (8065650 ) 806541c: 4a8d ldr r2, [pc, #564] ; (8065654 ) 806541e: 2104 movs r1, #4 8065420: 488d ldr r0, [pc, #564] ; (8065658 ) 8065422: f064 feb1 bl 80ca188 arm_biquad_cascade_df2T_init_f64(&S_OKT_5000Hz, 4, (float64_t *) BAND_5kHz, State_OKT_5000Hz); 8065426: 4b8d ldr r3, [pc, #564] ; (806565c ) 8065428: 4a84 ldr r2, [pc, #528] ; (806563c ) 806542a: 2104 movs r1, #4 806542c: 488c ldr r0, [pc, #560] ; (8065660 ) 806542e: f064 feab bl 80ca188 arm_biquad_cascade_df2T_init_f64(&S_OKT_4000Hz, 4, (float64_t *) BAND_4kHz, State_OKT_4000Hz); 8065432: 4b8c ldr r3, [pc, #560] ; (8065664 ) 8065434: 4a84 ldr r2, [pc, #528] ; (8065648 ) 8065436: 2104 movs r1, #4 8065438: 488b ldr r0, [pc, #556] ; (8065668 ) 806543a: f064 fea5 bl 80ca188 arm_biquad_cascade_df2T_init_f64(&S_OKT_3150Hz, 4, (float64_t *) BAND_3_15kHz, State_OKT_3150Hz); 806543e: 4b8b ldr r3, [pc, #556] ; (806566c ) 8065440: 4a84 ldr r2, [pc, #528] ; (8065654 ) 8065442: 2104 movs r1, #4 8065444: 488a ldr r0, [pc, #552] ; (8065670 ) 8065446: f064 fe9f bl 80ca188 arm_biquad_cascade_df2T_init_f64(&S_OKT_2500Hz, 4, (float64_t *) BAND_5kHz, State_OKT_2500Hz); 806544a: 4b8a ldr r3, [pc, #552] ; (8065674 ) 806544c: 4a7b ldr r2, [pc, #492] ; (806563c ) 806544e: 2104 movs r1, #4 8065450: 4889 ldr r0, [pc, #548] ; (8065678 ) 8065452: f064 fe99 bl 80ca188 arm_biquad_cascade_df2T_init_f64(&S_OKT_2000Hz, 4, (float64_t *) BAND_4kHz, State_OKT_2000Hz); 8065456: 4b89 ldr r3, [pc, #548] ; (806567c ) 8065458: 4a7b ldr r2, [pc, #492] ; (8065648 ) 806545a: 2104 movs r1, #4 806545c: 4888 ldr r0, [pc, #544] ; (8065680 ) 806545e: f064 fe93 bl 80ca188 arm_biquad_cascade_df2T_init_f64(&S_OKT_1600Hz, 4, (float64_t *) BAND_3_15kHz, State_OKT_1600Hz); 8065462: 4b88 ldr r3, [pc, #544] ; (8065684 ) 8065464: 4a7b ldr r2, [pc, #492] ; (8065654 ) 8065466: 2104 movs r1, #4 8065468: 4887 ldr r0, [pc, #540] ; (8065688 ) 806546a: f064 fe8d bl 80ca188 arm_biquad_cascade_df2T_init_f64(&S_OKT_1250Hz, 4, (float64_t *) BAND_5kHz, State_OKT_1250Hz); 806546e: 4b87 ldr r3, [pc, #540] ; (806568c ) 8065470: 4a72 ldr r2, [pc, #456] ; (806563c ) 8065472: 2104 movs r1, #4 8065474: 4886 ldr r0, [pc, #536] ; (8065690 ) 8065476: f064 fe87 bl 80ca188 arm_biquad_cascade_df2T_init_f64(&S_OKT_1000Hz, 4, (float64_t *) BAND_4kHz, State_OKT_1000Hz); 806547a: 4b86 ldr r3, [pc, #536] ; (8065694 ) 806547c: 4a72 ldr r2, [pc, #456] ; (8065648 ) 806547e: 2104 movs r1, #4 8065480: 4885 ldr r0, [pc, #532] ; (8065698 ) 8065482: f064 fe81 bl 80ca188 arm_biquad_cascade_df2T_init_f64(&S_OKT_800Hz, 4, (float64_t *) BAND_3_15kHz, State_OKT_800Hz); 8065486: 4b85 ldr r3, [pc, #532] ; (806569c ) 8065488: 4a72 ldr r2, [pc, #456] ; (8065654 ) 806548a: 2104 movs r1, #4 806548c: 4884 ldr r0, [pc, #528] ; (80656a0 ) 806548e: f064 fe7b bl 80ca188 arm_biquad_cascade_df2T_init_f64(&S_OKT_630Hz, 4, (float64_t *) BAND_5kHz, State_OKT_630Hz); 8065492: 4b84 ldr r3, [pc, #528] ; (80656a4 ) 8065494: 4a69 ldr r2, [pc, #420] ; (806563c ) 8065496: 2104 movs r1, #4 8065498: 4883 ldr r0, [pc, #524] ; (80656a8 ) 806549a: f064 fe75 bl 80ca188 arm_biquad_cascade_df2T_init_f64(&S_OKT_500Hz, 4, (float64_t *) BAND_4kHz, State_OKT_500Hz); 806549e: 4b83 ldr r3, [pc, #524] ; (80656ac ) 80654a0: 4a69 ldr r2, [pc, #420] ; (8065648 ) 80654a2: 2104 movs r1, #4 80654a4: 4882 ldr r0, [pc, #520] ; (80656b0 ) 80654a6: f064 fe6f bl 80ca188 arm_biquad_cascade_df2T_init_f64(&S_OKT_400Hz, 4, (float64_t *) BAND_3_15kHz, State_OKT_400Hz); 80654aa: 4b82 ldr r3, [pc, #520] ; (80656b4 ) 80654ac: 4a69 ldr r2, [pc, #420] ; (8065654 ) 80654ae: 2104 movs r1, #4 80654b0: 4881 ldr r0, [pc, #516] ; (80656b8 ) 80654b2: f064 fe69 bl 80ca188 arm_biquad_cascade_df2T_init_f64(&S_OKT_315Hz, 4, (float64_t *) BAND_5kHz, State_OKT_315Hz); 80654b6: 4b81 ldr r3, [pc, #516] ; (80656bc ) 80654b8: 4a60 ldr r2, [pc, #384] ; (806563c ) 80654ba: 2104 movs r1, #4 80654bc: 4880 ldr r0, [pc, #512] ; (80656c0 ) 80654be: f064 fe63 bl 80ca188 arm_biquad_cascade_df2T_init_f64(&S_OKT_250Hz, 4, (float64_t *) BAND_4kHz, State_OKT_250Hz); 80654c2: 4b80 ldr r3, [pc, #512] ; (80656c4 ) 80654c4: 4a60 ldr r2, [pc, #384] ; (8065648 ) 80654c6: 2104 movs r1, #4 80654c8: 487f ldr r0, [pc, #508] ; (80656c8 ) 80654ca: f064 fe5d bl 80ca188 arm_biquad_cascade_df2T_init_f64(&S_OKT_200Hz, 4, (float64_t *) BAND_3_15kHz, State_OKT_200Hz); 80654ce: 4b7f ldr r3, [pc, #508] ; (80656cc ) 80654d0: 4a60 ldr r2, [pc, #384] ; (8065654 ) 80654d2: 2104 movs r1, #4 80654d4: 487e ldr r0, [pc, #504] ; (80656d0 ) 80654d6: f064 fe57 bl 80ca188 arm_biquad_cascade_df2T_init_f64(&S_OKT_160Hz, 4, (float64_t *) BAND_5kHz, State_OKT_160Hz); 80654da: 4b7e ldr r3, [pc, #504] ; (80656d4 ) 80654dc: 4a57 ldr r2, [pc, #348] ; (806563c ) 80654de: 2104 movs r1, #4 80654e0: 487d ldr r0, [pc, #500] ; (80656d8 ) 80654e2: f064 fe51 bl 80ca188 arm_biquad_cascade_df2T_init_f64(&S_OKT_125Hz, 4, (float64_t *) BAND_4kHz, State_OKT_125Hz); 80654e6: 4b7d ldr r3, [pc, #500] ; (80656dc ) 80654e8: 4a57 ldr r2, [pc, #348] ; (8065648 ) 80654ea: 2104 movs r1, #4 80654ec: 487c ldr r0, [pc, #496] ; (80656e0 ) 80654ee: f064 fe4b bl 80ca188 arm_biquad_cascade_df2T_init_f64(&S_OKT_100Hz, 4, (float64_t *) BAND_3_15kHz, State_OKT_100Hz); 80654f2: 4b7c ldr r3, [pc, #496] ; (80656e4 ) 80654f4: 4a57 ldr r2, [pc, #348] ; (8065654 ) 80654f6: 2104 movs r1, #4 80654f8: 487b ldr r0, [pc, #492] ; (80656e8 ) 80654fa: f064 fe45 bl 80ca188 arm_biquad_cascade_df2T_init_f64(&S_OKT_80Hz, 4, (float64_t *) BAND_5kHz, State_OKT_80Hz); 80654fe: 4b7b ldr r3, [pc, #492] ; (80656ec ) 8065500: 4a4e ldr r2, [pc, #312] ; (806563c ) 8065502: 2104 movs r1, #4 8065504: 487a ldr r0, [pc, #488] ; (80656f0 ) 8065506: f064 fe3f bl 80ca188 arm_biquad_cascade_df2T_init_f64(&S_OKT_63Hz, 4, (float64_t *) BAND_4kHz, State_OKT_63Hz); 806550a: 4b7a ldr r3, [pc, #488] ; (80656f4 ) 806550c: 4a4e ldr r2, [pc, #312] ; (8065648 ) 806550e: 2104 movs r1, #4 8065510: 4879 ldr r0, [pc, #484] ; (80656f8 ) 8065512: f064 fe39 bl 80ca188 arm_biquad_cascade_df2T_init_f64(&S_OKT_50Hz, 4, (float64_t *) BAND_3_15kHz, State_OKT_50Hz); 8065516: 4b79 ldr r3, [pc, #484] ; (80656fc ) 8065518: 4a4e ldr r2, [pc, #312] ; (8065654 ) 806551a: 2104 movs r1, #4 806551c: 4878 ldr r0, [pc, #480] ; (8065700 ) 806551e: f064 fe33 bl 80ca188 arm_biquad_cascade_df2T_init_f64(&S_OKT_40Hz, 4, (float64_t *) BAND_5kHz, State_OKT_40Hz); 8065522: 4b78 ldr r3, [pc, #480] ; (8065704 ) 8065524: 4a45 ldr r2, [pc, #276] ; (806563c ) 8065526: 2104 movs r1, #4 8065528: 4877 ldr r0, [pc, #476] ; (8065708 ) 806552a: f064 fe2d bl 80ca188 arm_biquad_cascade_df2T_init_f64(&S_OKT_32Hz, 4, (float64_t *) BAND_4kHz, State_OKT_32Hz); 806552e: 4b77 ldr r3, [pc, #476] ; (806570c ) 8065530: 4a45 ldr r2, [pc, #276] ; (8065648 ) 8065532: 2104 movs r1, #4 8065534: 4876 ldr r0, [pc, #472] ; (8065710 ) 8065536: f064 fe27 bl 80ca188 arm_biquad_cascade_df2T_init_f64(&S_OKT_25Hz, 4, (float64_t *) BAND_3_15kHz, State_OKT_25Hz); 806553a: 4b76 ldr r3, [pc, #472] ; (8065714 ) 806553c: 4a45 ldr r2, [pc, #276] ; (8065654 ) 806553e: 2104 movs r1, #4 8065540: 4875 ldr r0, [pc, #468] ; (8065718 ) 8065542: f064 fe21 bl 80ca188 8065546: e0e9 b.n 806571c 8065548: 20026eb8 .word 0x20026eb8 806554c: 080eec58 .word 0x080eec58 8065550: 2002786c .word 0x2002786c 8065554: 20026d10 .word 0x20026d10 8065558: 20057fe4 .word 0x20057fe4 806555c: 20037a50 .word 0x20037a50 8065560: 200278d4 .word 0x200278d4 8065564: 20057b50 .word 0x20057b50 8065568: 20057f48 .word 0x20057f48 806556c: 20026db8 .word 0x20026db8 8065570: 20026e88 .word 0x20026e88 8065574: 20057c78 .word 0x20057c78 8065578: 200684f0 .word 0x200684f0 806557c: 200269a8 .word 0x200269a8 8065580: 200683e8 .word 0x200683e8 8065584: 20068460 .word 0x20068460 8065588: 200266f0 .word 0x200266f0 806558c: 200684b0 .word 0x200684b0 8065590: 200268e8 .word 0x200268e8 8065594: 20026df8 .word 0x20026df8 8065598: 20068020 .word 0x20068020 806559c: 20026818 .word 0x20026818 80655a0: 20026660 .word 0x20026660 80655a4: 20057bf8 .word 0x20057bf8 80655a8: 20026ef8 .word 0x20026ef8 80655ac: 20057f90 .word 0x20057f90 80655b0: 20057b90 .word 0x20057b90 80655b4: 20027820 .word 0x20027820 80655b8: 20025dec .word 0x20025dec 80655bc: 20027760 .word 0x20027760 80655c0: 20057b9c .word 0x20057b9c 80655c4: 20026250 .word 0x20026250 80655c8: 080eebb8 .word 0x080eebb8 80655cc: 20026188 .word 0x20026188 80655d0: 20068130 .word 0x20068130 80655d4: 20057cfc .word 0x20057cfc 80655d8: 20026898 .word 0x20026898 80655dc: 20057ae0 .word 0x20057ae0 80655e0: 200269e8 .word 0x200269e8 80655e4: 2002633c .word 0x2002633c 80655e8: 20025fa0 .word 0x20025fa0 80655ec: 20026a68 .word 0x20026a68 80655f0: 20026af0 .word 0x20026af0 80655f4: 200278b8 .word 0x200278b8 80655f8: 20057c38 .word 0x20057c38 80655fc: 20026330 .word 0x20026330 8065600: 20026858 .word 0x20026858 8065604: 20026020 .word 0x20026020 8065608: 20068508 .word 0x20068508 806560c: 20068548 .word 0x20068548 8065610: 200278e0 .word 0x200278e0 8065614: 2002795c .word 0x2002795c 8065618: 20025e90 .word 0x20025e90 806561c: 200682c4 .word 0x200682c4 8065620: 20057ec8 .word 0x20057ec8 8065624: 20027920 .word 0x20027920 8065628: 20068328 .word 0x20068328 806562c: 20026cd4 .word 0x20026cd4 8065630: 20057af8 .word 0x20057af8 8065634: 20068564 .word 0x20068564 8065638: 20026e48 .word 0x20026e48 806563c: 080eecf8 .word 0x080eecf8 8065640: 20057e40 .word 0x20057e40 8065644: 20026348 .word 0x20026348 8065648: 080eed98 .word 0x080eed98 806564c: 20057df0 .word 0x20057df0 8065650: 20026210 .word 0x20026210 8065654: 080eee38 .word 0x080eee38 8065658: 20027810 .word 0x20027810 806565c: 20057f08 .word 0x20057f08 8065660: 200683f4 .word 0x200683f4 8065664: 20026928 .word 0x20026928 8065668: 200682b8 .word 0x200682b8 806566c: 20068220 .word 0x20068220 8065670: 20025e84 .word 0x20025e84 8065674: 20026d60 .word 0x20026d60 8065678: 20026738 .word 0x20026738 806567c: 20026620 .word 0x20026620 8065680: 20026b7c .word 0x20026b7c 8065684: 20057e00 .word 0x20057e00 8065688: 20027878 .word 0x20027878 806568c: 20057d08 .word 0x20057d08 8065690: 20068410 .word 0x20068410 8065694: 20026420 .word 0x20026420 8065698: 200261b8 .word 0x200261b8 806569c: 20068278 .word 0x20068278 80656a0: 20068450 .word 0x20068450 80656a4: 200681b0 .word 0x200681b0 80656a8: 20025f90 .word 0x20025f90 80656ac: 20026c38 .word 0x20026c38 80656b0: 20057aec .word 0x20057aec 80656b4: 200682e0 .word 0x200682e0 80656b8: 20026044 .word 0x20026044 80656bc: 200262f0 .word 0x200262f0 80656c0: 20026414 .word 0x20026414 80656c4: 200261d0 .word 0x200261d0 80656c8: 20068554 .word 0x20068554 80656cc: 200265d0 .word 0x200265d0 80656d0: 20026590 .word 0x20026590 80656d4: 20025f10 .word 0x20025f10 80656d8: 2002602c .word 0x2002602c 80656dc: 20025e38 .word 0x20025e38 80656e0: 20057be8 .word 0x20057be8 80656e4: 200267c8 .word 0x200267c8 80656e8: 200277a0 .word 0x200277a0 80656ec: 20025df8 .word 0x20025df8 80656f0: 200267ac .word 0x200267ac 80656f4: 20057e80 .word 0x20057e80 80656f8: 20057b44 .word 0x20057b44 80656fc: 20026b88 .word 0x20026b88 8065700: 20057d84 .word 0x20057d84 8065704: 20026f20 .word 0x20026f20 8065708: 20026610 .word 0x20026610 806570c: 200683a8 .word 0x200683a8 8065710: 20057f54 .word 0x20057f54 8065714: 200266b0 .word 0x200266b0 8065718: 20026da0 .word 0x20026da0 arm_biquad_cascade_df2T_init_f64(&S_OKT_20Hz, 4, (float64_t *) BAND_5kHz, State_OKT_20Hz); 806571c: 4ba0 ldr r3, [pc, #640] ; (80659a0 ) 806571e: 4aa1 ldr r2, [pc, #644] ; (80659a4 ) 8065720: 2104 movs r1, #4 8065722: 48a1 ldr r0, [pc, #644] ; (80659a8 ) 8065724: f064 fd30 bl 80ca188 arm_biquad_cascade_df2T_init_f64(&S_OKT_16Hz, 4, (float64_t *) BAND_4kHz, State_OKT_16Hz); 8065728: 4ba0 ldr r3, [pc, #640] ; (80659ac ) 806572a: 4aa1 ldr r2, [pc, #644] ; (80659b0 ) 806572c: 2104 movs r1, #4 806572e: 48a1 ldr r0, [pc, #644] ; (80659b4 ) 8065730: f064 fd2a bl 80ca188 arm_biquad_cascade_df2T_init_f64(&S_OKT_12_5Hz, 4, (float64_t *) BAND_3_15kHz, State_OKT_12_5Hz); 8065734: 4ba0 ldr r3, [pc, #640] ; (80659b8 ) 8065736: 4aa1 ldr r2, [pc, #644] ; (80659bc ) 8065738: 2104 movs r1, #4 806573a: 48a1 ldr r0, [pc, #644] ; (80659c0 ) 806573c: f064 fd24 bl 80ca188 arm_biquad_cascade_df2T_init_f64(&S_OKT_10Hz, 4, (float64_t *) BAND_5kHz, State_OKT_10Hz); 8065740: 4ba0 ldr r3, [pc, #640] ; (80659c4 ) 8065742: 4a98 ldr r2, [pc, #608] ; (80659a4 ) 8065744: 2104 movs r1, #4 8065746: 48a0 ldr r0, [pc, #640] ; (80659c8 ) 8065748: f064 fd1e bl 80ca188 arm_biquad_cascade_df2T_init_f64(&S_OKT_8Hz, 4, (float64_t *) BAND_4kHz, State_OKT_8Hz); 806574c: 4b9f ldr r3, [pc, #636] ; (80659cc ) 806574e: 4a98 ldr r2, [pc, #608] ; (80659b0 ) 8065750: 2104 movs r1, #4 8065752: 489f ldr r0, [pc, #636] ; (80659d0 ) 8065754: f064 fd18 bl 80ca188 arm_biquad_cascade_df2T_init_f64(&S_OKT_6_3Hz, 4, (float64_t *) BAND_3_15kHz, State_OKT_6_3Hz); 8065758: 4b9e ldr r3, [pc, #632] ; (80659d4 ) 806575a: 4a98 ldr r2, [pc, #608] ; (80659bc ) 806575c: 2104 movs r1, #4 806575e: 489e ldr r0, [pc, #632] ; (80659d8 ) 8065760: f064 fd12 bl 80ca188 arm_biquad_cascade_df2T_init_f64(&S_OKT_5Hz, 4, (float64_t *) BAND_5kHz, State_OKT_5Hz); 8065764: 4b9d ldr r3, [pc, #628] ; (80659dc ) 8065766: 4a8f ldr r2, [pc, #572] ; (80659a4 ) 8065768: 2104 movs r1, #4 806576a: 489d ldr r0, [pc, #628] ; (80659e0 ) 806576c: f064 fd0c bl 80ca188 arm_biquad_cascade_df2T_init_f64(&S_OKT_4Hz, 4, (float64_t *) BAND_4kHz, State_OKT_4Hz); 8065770: 4b9c ldr r3, [pc, #624] ; (80659e4 ) 8065772: 4a8f ldr r2, [pc, #572] ; (80659b0 ) 8065774: 2104 movs r1, #4 8065776: 489c ldr r0, [pc, #624] ; (80659e8 ) 8065778: f064 fd06 bl 80ca188 arm_biquad_cascade_df2T_init_f64(&S_OKT_3_15Hz, 4, (float64_t *) BAND_3_15kHz, State_OKT_3_15Hz); 806577c: 4b9b ldr r3, [pc, #620] ; (80659ec ) 806577e: 4a8f ldr r2, [pc, #572] ; (80659bc ) 8065780: 2104 movs r1, #4 8065782: 489b ldr r0, [pc, #620] ; (80659f0 ) 8065784: f064 fd00 bl 80ca188 arm_biquad_cascade_df2T_init_f64(&S_OKT_2_5Hz, 4, (float64_t *) BAND_5kHz, State_OKT_2_5Hz); 8065788: 4b9a ldr r3, [pc, #616] ; (80659f4 ) 806578a: 4a86 ldr r2, [pc, #536] ; (80659a4 ) 806578c: 2104 movs r1, #4 806578e: 489a ldr r0, [pc, #616] ; (80659f8 ) 8065790: f064 fcfa bl 80ca188 arm_biquad_cascade_df2T_init_f64(&S_OKT_2Hz, 4, (float64_t *) BAND_4kHz, State_OKT_2Hz); 8065794: 4b99 ldr r3, [pc, #612] ; (80659fc ) 8065796: 4a86 ldr r2, [pc, #536] ; (80659b0 ) 8065798: 2104 movs r1, #4 806579a: 4899 ldr r0, [pc, #612] ; (8065a00 ) 806579c: f064 fcf4 bl 80ca188 arm_biquad_cascade_df2T_init_f64(&S_OKT_1_6Hz, 4, (float64_t *) BAND_3_15kHz, State_OKT_1_6Hz); 80657a0: 4b98 ldr r3, [pc, #608] ; (8065a04 ) 80657a2: 4a86 ldr r2, [pc, #536] ; (80659bc ) 80657a4: 2104 movs r1, #4 80657a6: 4898 ldr r0, [pc, #608] ; (8065a08 ) 80657a8: f064 fcee bl 80ca188 arm_biquad_cascade_df2T_init_f64(&S_OKT_1_25Hz, 4, (float64_t *) BAND_5kHz, State_OKT_1_25Hz); 80657ac: 4b97 ldr r3, [pc, #604] ; (8065a0c ) 80657ae: 4a7d ldr r2, [pc, #500] ; (80659a4 ) 80657b0: 2104 movs r1, #4 80657b2: 4897 ldr r0, [pc, #604] ; (8065a10 ) 80657b4: f064 fce8 bl 80ca188 arm_biquad_cascade_df2T_init_f64(&S_OKT_1Hz, 4, (float64_t *) BAND_4kHz, State_OKT_1Hz); 80657b8: 4b96 ldr r3, [pc, #600] ; (8065a14 ) 80657ba: 4a7d ldr r2, [pc, #500] ; (80659b0 ) 80657bc: 2104 movs r1, #4 80657be: 4896 ldr r0, [pc, #600] ; (8065a18 ) 80657c0: f064 fce2 bl 80ca188 arm_biquad_cascade_df2T_init_f64(&S_OKT_0_8Hz, 4, (float64_t *) BAND_3_15kHz, State_OKT_0_8Hz); 80657c4: 4b95 ldr r3, [pc, #596] ; (8065a1c ) 80657c6: 4a7d ldr r2, [pc, #500] ; (80659bc ) 80657c8: 2104 movs r1, #4 80657ca: 4895 ldr r0, [pc, #596] ; (8065a20 ) 80657cc: f064 fcdc bl 80ca188 //todo if(pardata.SYG != UDAR) 80657d0: 4b94 ldr r3, [pc, #592] ; (8065a24 ) 80657d2: 781b ldrb r3, [r3, #0] 80657d4: b2db uxtb r3, r3 80657d6: 2b09 cmp r3, #9 80657d8: d047 beq.n 806586a { initINT1_INT2(0.640); 80657da: ed9f 0b63 vldr d0, [pc, #396] ; 8065968 80657de: f000 f937 bl 8065a50 initLP((float64_t) pardata.LP); 80657e2: 4b90 ldr r3, [pc, #576] ; (8065a24 ) 80657e4: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 80657e8: eeb7 7ae7 vcvt.f64.f32 d7, s15 80657ec: eeb0 0b47 vmov.f64 d0, d7 80657f0: f000 fbde bl 8065fb0 initHP((float64_t) pardata.HP); 80657f4: 4b8b ldr r3, [pc, #556] ; (8065a24 ) 80657f6: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 80657fa: eeb7 7ae7 vcvt.f64.f32 d7, s15 80657fe: eeb0 0b47 vmov.f64 d0, d7 8065802: f000 fa35 bl 8065c70 for(i = 0; i < 4; i++) 8065806: 2300 movs r3, #0 8065808: 607b str r3, [r7, #4] 806580a: e02a b.n 8065862 { initLP_1(i, (float64_t) pardata.DIAGN_LP[CURR_POINT][i]); 806580c: 4b86 ldr r3, [pc, #536] ; (8065a28 ) 806580e: 781b ldrb r3, [r3, #0] 8065810: b2db uxtb r3, r3 8065812: 4984 ldr r1, [pc, #528] ; (8065a24 ) 8065814: 009a lsls r2, r3, #2 8065816: 687b ldr r3, [r7, #4] 8065818: 4413 add r3, r2 806581a: 33b6 adds r3, #182 ; 0xb6 806581c: 009b lsls r3, r3, #2 806581e: 440b add r3, r1 8065820: 3304 adds r3, #4 8065822: edd3 7a00 vldr s15, [r3] 8065826: eeb7 7ae7 vcvt.f64.f32 d7, s15 806582a: eeb0 0b47 vmov.f64 d0, d7 806582e: 6878 ldr r0, [r7, #4] 8065830: f000 fd1a bl 8066268 initHP_1(i, (float64_t) pardata.DIAGN_HP[CURR_POINT][i]); 8065834: 4b7c ldr r3, [pc, #496] ; (8065a28 ) 8065836: 781b ldrb r3, [r3, #0] 8065838: b2db uxtb r3, r3 806583a: 497a ldr r1, [pc, #488] ; (8065a24 ) 806583c: 009a lsls r2, r3, #2 806583e: 687b ldr r3, [r7, #4] 8065840: 4413 add r3, r2 8065842: 3396 adds r3, #150 ; 0x96 8065844: 009b lsls r3, r3, #2 8065846: 440b add r3, r1 8065848: 3304 adds r3, #4 806584a: edd3 7a00 vldr s15, [r3] 806584e: eeb7 7ae7 vcvt.f64.f32 d7, s15 8065852: eeb0 0b47 vmov.f64 d0, d7 8065856: 6878 ldr r0, [r7, #4] 8065858: f000 fac6 bl 8065de8 for(i = 0; i < 4; i++) 806585c: 687b ldr r3, [r7, #4] 806585e: 3301 adds r3, #1 8065860: 607b str r3, [r7, #4] 8065862: 687b ldr r3, [r7, #4] 8065864: 2b03 cmp r3, #3 8065866: d9d1 bls.n 806580c 8065868: e06b b.n 8065942 } } else { k = 0; 806586a: 2300 movs r3, #0 806586c: 603b str r3, [r7, #0] MY_COEFF_HP[k++] = 0.779283316385214975; //Fs=250000, Fc=11200 806586e: 683b ldr r3, [r7, #0] 8065870: 1c5a adds r2, r3, #1 8065872: 603a str r2, [r7, #0] 8065874: 4a6d ldr r2, [pc, #436] ; (8065a2c ) 8065876: 00db lsls r3, r3, #3 8065878: 441a add r2, r3 806587a: a43d add r4, pc, #244 ; (adr r4, 8065970 ) 806587c: cc18 ldmia r4, {r3, r4} 806587e: e882 0018 stmia.w r2, {r3, r4} MY_COEFF_HP[k++] = -1.558566632770429950; 8065882: 683b ldr r3, [r7, #0] 8065884: 1c5a adds r2, r3, #1 8065886: 603a str r2, [r7, #0] 8065888: 4a68 ldr r2, [pc, #416] ; (8065a2c ) 806588a: 00db lsls r3, r3, #3 806588c: 441a add r2, r3 806588e: a43a add r4, pc, #232 ; (adr r4, 8065978 ) 8065890: cc18 ldmia r4, {r3, r4} 8065892: e882 0018 stmia.w r2, {r3, r4} MY_COEFF_HP[k++] = 0.779283316385214975; 8065896: 683b ldr r3, [r7, #0] 8065898: 1c5a adds r2, r3, #1 806589a: 603a str r2, [r7, #0] 806589c: 4a63 ldr r2, [pc, #396] ; (8065a2c ) 806589e: 00db lsls r3, r3, #3 80658a0: 441a add r2, r3 80658a2: a433 add r4, pc, #204 ; (adr r4, 8065970 ) 80658a4: cc18 ldmia r4, {r3, r4} 80658a6: e882 0018 stmia.w r2, {r3, r4} MY_COEFF_HP[k++] = 1.526997415838100560; 80658aa: 683b ldr r3, [r7, #0] 80658ac: 1c5a adds r2, r3, #1 80658ae: 603a str r2, [r7, #0] 80658b0: 4a5e ldr r2, [pc, #376] ; (8065a2c ) 80658b2: 00db lsls r3, r3, #3 80658b4: 441a add r2, r3 80658b6: a432 add r4, pc, #200 ; (adr r4, 8065980 ) 80658b8: cc18 ldmia r4, {r3, r4} 80658ba: e882 0018 stmia.w r2, {r3, r4} MY_COEFF_HP[k++] = -0.590135849702759563; 80658be: 683b ldr r3, [r7, #0] 80658c0: 1c5a adds r2, r3, #1 80658c2: 603a str r2, [r7, #0] 80658c4: 4a59 ldr r2, [pc, #356] ; (8065a2c ) 80658c6: 00db lsls r3, r3, #3 80658c8: 441a add r2, r3 80658ca: a42f add r4, pc, #188 ; (adr r4, 8065988 ) 80658cc: cc18 ldmia r4, {r3, r4} 80658ce: e882 0018 stmia.w r2, {r3, r4} MY_COEFF_HP[k++] = 0.885595948673332356; 80658d2: 683b ldr r3, [r7, #0] 80658d4: 1c5a adds r2, r3, #1 80658d6: 603a str r2, [r7, #0] 80658d8: 4a54 ldr r2, [pc, #336] ; (8065a2c ) 80658da: 00db lsls r3, r3, #3 80658dc: 441a add r2, r3 80658de: a42c add r4, pc, #176 ; (adr r4, 8065990 ) 80658e0: cc18 ldmia r4, {r3, r4} 80658e2: e882 0018 stmia.w r2, {r3, r4} MY_COEFF_HP[k++] = -1.771191897346664710; 80658e6: 683b ldr r3, [r7, #0] 80658e8: 1c5a adds r2, r3, #1 80658ea: 603a str r2, [r7, #0] 80658ec: 4a4f ldr r2, [pc, #316] ; (8065a2c ) 80658ee: 00db lsls r3, r3, #3 80658f0: 441a add r2, r3 80658f2: a429 add r4, pc, #164 ; (adr r4, 8065998 ) 80658f4: cc18 ldmia r4, {r3, r4} 80658f6: e882 0018 stmia.w r2, {r3, r4} MY_COEFF_HP[k++] = 0.885595948673332356; 80658fa: 683b ldr r3, [r7, #0] 80658fc: 1c5a adds r2, r3, #1 80658fe: 603a str r2, [r7, #0] 8065900: 4a4a ldr r2, [pc, #296] ; (8065a2c ) 8065902: 00db lsls r3, r3, #3 8065904: 441a add r2, r3 8065906: a422 add r4, pc, #136 ; (adr r4, 8065990 ) 8065908: cc18 ldmia r4, {r3, r4} 806590a: e882 0018 stmia.w r2, {r3, r4} MY_COEFF_HP[k++] = 1.526997415838100560; 806590e: 683b ldr r3, [r7, #0] 8065910: 1c5a adds r2, r3, #1 8065912: 603a str r2, [r7, #0] 8065914: 4a45 ldr r2, [pc, #276] ; (8065a2c ) 8065916: 00db lsls r3, r3, #3 8065918: 441a add r2, r3 806591a: a419 add r4, pc, #100 ; (adr r4, 8065980 ) 806591c: cc18 ldmia r4, {r3, r4} 806591e: e882 0018 stmia.w r2, {r3, r4} MY_COEFF_HP[k++] = -0.590135849702759563; 8065922: 683b ldr r3, [r7, #0] 8065924: 1c5a adds r2, r3, #1 8065926: 603a str r2, [r7, #0] 8065928: 4a40 ldr r2, [pc, #256] ; (8065a2c ) 806592a: 00db lsls r3, r3, #3 806592c: 441a add r2, r3 806592e: a416 add r4, pc, #88 ; (adr r4, 8065988 ) 8065930: cc18 ldmia r4, {r3, r4} 8065932: 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); 8065936: 4b3e ldr r3, [pc, #248] ; (8065a30 ) 8065938: 4a3c ldr r2, [pc, #240] ; (8065a2c ) 806593a: 2102 movs r1, #2 806593c: 483d ldr r0, [pc, #244] ; (8065a34 ) 806593e: f064 fc23 bl 80ca188 } /// TACHO arm_biquad_cascade_df2T_init_f64(&S_HP_TACHO, 1, (float64_t *) COEFF_HP_TACHO, State_HP_TACHO); 8065942: 4b3d ldr r3, [pc, #244] ; (8065a38 ) 8065944: 4a3d ldr r2, [pc, #244] ; (8065a3c ) 8065946: 2101 movs r1, #1 8065948: 483d ldr r0, [pc, #244] ; (8065a40 ) 806594a: f064 fc1d bl 80ca188 arm_biquad_cascade_df2T_init_f64(&S_LP_TACHO, 2, (float64_t *) COEFF_LP_TACHO, State_LP_TACHO); 806594e: 4b3d ldr r3, [pc, #244] ; (8065a44 ) 8065950: 4a3d ldr r2, [pc, #244] ; (8065a48 ) 8065952: 2102 movs r1, #2 8065954: 483d ldr r0, [pc, #244] ; (8065a4c ) 8065956: f064 fc17 bl 80ca188 } 806595a: bf00 nop 806595c: 370c adds r7, #12 806595e: 46bd mov sp, r7 8065960: bd90 pop {r4, r7, pc} 8065962: bf00 nop 8065964: f3af 8000 nop.w 8065968: 47ae147b .word 0x47ae147b 806596c: 3fe47ae1 .word 0x3fe47ae1 8065970: 90c62c65 .word 0x90c62c65 8065974: 3fe8efe3 .word 0x3fe8efe3 8065978: 90c62c65 .word 0x90c62c65 806597c: bff8efe3 .word 0xbff8efe3 8065980: d7a19e54 .word 0xd7a19e54 8065984: 3ff86e94 .word 0x3ff86e94 8065988: 93d574ee .word 0x93d574ee 806598c: bfe2e264 .word 0xbfe2e264 8065990: 50a0b4b1 .word 0x50a0b4b1 8065994: 3fec56cd .word 0x3fec56cd 8065998: 50a0b4b1 .word 0x50a0b4b1 806599c: bffc56cd .word 0xbffc56cd 80659a0: 20026388 .word 0x20026388 80659a4: 080eecf8 .word 0x080eecf8 80659a8: 20025fe0 .word 0x20025fe0 80659ac: 20026510 .word 0x20026510 80659b0: 080eed98 .word 0x080eed98 80659b4: 20026bc8 .word 0x20026bc8 80659b8: 20026c78 .word 0x20026c78 80659bc: 080eee38 .word 0x080eee38 80659c0: 20057b38 .word 0x20057b38 80659c4: 200277d0 .word 0x200277d0 80659c8: 20068080 .word 0x20068080 80659cc: 20026b30 .word 0x20026b30 80659d0: 20057cc4 .word 0x20057cc4 80659d4: 20027968 .word 0x20027968 80659d8: 20057e5c .word 0x20057e5c 80659dc: 20068170 .word 0x20068170 80659e0: 20057cf0 .word 0x20057cf0 80659e4: 20068090 .word 0x20068090 80659e8: 20026038 .word 0x20026038 80659ec: 20026968 .word 0x20026968 80659f0: 20068404 .word 0x20068404 80659f4: 20026ab0 .word 0x20026ab0 80659f8: 20057d78 .word 0x20057d78 80659fc: 20057ba8 .word 0x20057ba8 8065a00: 20026408 .word 0x20026408 8065a04: 20026a28 .word 0x20026a28 8065a08: 20026808 .word 0x20026808 8065a0c: 200680f0 .word 0x200680f0 8065a10: 20026f04 .word 0x20026f04 8065a14: 20037a90 .word 0x20037a90 8065a18: 20057dc0 .word 0x20057dc0 8065a1c: 20026670 .word 0x20026670 8065a20: 2002792c .word 0x2002792c 8065a24: 20023e60 .word 0x20023e60 8065a28: 20021011 .word 0x20021011 8065a2c: 20021018 .word 0x20021018 8065a30: 200680d0 .word 0x200680d0 8065a34: 20025f00 .word 0x20025f00 8065a38: 20026580 .word 0x20026580 8065a3c: 080ef068 .word 0x080ef068 8065a40: 20057cb8 .word 0x20057cb8 8065a44: 20057dd0 .word 0x20057dd0 8065a48: 080ef090 .word 0x080ef090 8065a4c: 2006826c .word 0x2006826c 08065a50 : //************************************************************************************************************************************************** //************************************************************************************************************************************************** //************************************************************************************************************************************************** void initINT1_INT2(float64_t Fc) { 8065a50: b590 push {r4, r7, lr} 8065a52: f5ad 7d4f sub.w sp, sp, #828 ; 0x33c 8065a56: af00 add r7, sp, #0 8065a58: 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); 8065a5c: 4b6c ldr r3, [pc, #432] ; (8065c10 ) 8065a5e: 7adb ldrb r3, [r3, #11] 8065a60: b2db uxtb r3, r3 8065a62: 461a mov r2, r3 8065a64: 4613 mov r3, r2 8065a66: 009b lsls r3, r3, #2 8065a68: 4413 add r3, r2 8065a6a: 00db lsls r3, r3, #3 8065a6c: 4a69 ldr r2, [pc, #420] ; (8065c14 ) 8065a6e: 441a add r2, r3 8065a70: 4b69 ldr r3, [pc, #420] ; (8065c18 ) 8065a72: 2101 movs r1, #1 8065a74: 4869 ldr r0, [pc, #420] ; (8065c1c ) 8065a76: f064 fb87 bl 80ca188 arm_biquad_cascade_df2T_init_f64(&D_INT1[0], 1, (float64_t *) MY_COEFF[pardata.FRQ], &State_D_INT1[0][0]); 8065a7a: 4b65 ldr r3, [pc, #404] ; (8065c10 ) 8065a7c: 7adb ldrb r3, [r3, #11] 8065a7e: b2db uxtb r3, r3 8065a80: 461a mov r2, r3 8065a82: 4613 mov r3, r2 8065a84: 009b lsls r3, r3, #2 8065a86: 4413 add r3, r2 8065a88: 00db lsls r3, r3, #3 8065a8a: 4a62 ldr r2, [pc, #392] ; (8065c14 ) 8065a8c: 441a add r2, r3 8065a8e: 4b64 ldr r3, [pc, #400] ; (8065c20 ) 8065a90: 2101 movs r1, #1 8065a92: 4864 ldr r0, [pc, #400] ; (8065c24 ) 8065a94: f064 fb78 bl 80ca188 arm_biquad_cascade_df2T_init_f64(&D_INT1[1], 1, (float64_t *) MY_COEFF[pardata.FRQ], &State_D_INT1[1][0]); 8065a98: 4b5d ldr r3, [pc, #372] ; (8065c10 ) 8065a9a: 7adb ldrb r3, [r3, #11] 8065a9c: b2db uxtb r3, r3 8065a9e: 461a mov r2, r3 8065aa0: 4613 mov r3, r2 8065aa2: 009b lsls r3, r3, #2 8065aa4: 4413 add r3, r2 8065aa6: 00db lsls r3, r3, #3 8065aa8: 4a5a ldr r2, [pc, #360] ; (8065c14 ) 8065aaa: 441a add r2, r3 8065aac: 4b5e ldr r3, [pc, #376] ; (8065c28 ) 8065aae: 2101 movs r1, #1 8065ab0: 485e ldr r0, [pc, #376] ; (8065c2c ) 8065ab2: f064 fb69 bl 80ca188 arm_biquad_cascade_df2T_init_f64(&D_INT1[2], 1, (float64_t *) MY_COEFF[pardata.FRQ], &State_D_INT1[2][0]); 8065ab6: 4b56 ldr r3, [pc, #344] ; (8065c10 ) 8065ab8: 7adb ldrb r3, [r3, #11] 8065aba: b2db uxtb r3, r3 8065abc: 461a mov r2, r3 8065abe: 4613 mov r3, r2 8065ac0: 009b lsls r3, r3, #2 8065ac2: 4413 add r3, r2 8065ac4: 00db lsls r3, r3, #3 8065ac6: 4a53 ldr r2, [pc, #332] ; (8065c14 ) 8065ac8: 441a add r2, r3 8065aca: 4b59 ldr r3, [pc, #356] ; (8065c30 ) 8065acc: 2101 movs r1, #1 8065ace: 4859 ldr r0, [pc, #356] ; (8065c34 ) 8065ad0: f064 fb5a bl 80ca188 arm_biquad_cascade_df2T_init_f64(&D_INT1[3], 1, (float64_t *) MY_COEFF[pardata.FRQ], &State_D_INT1[3][0]); 8065ad4: 4b4e ldr r3, [pc, #312] ; (8065c10 ) 8065ad6: 7adb ldrb r3, [r3, #11] 8065ad8: b2db uxtb r3, r3 8065ada: 461a mov r2, r3 8065adc: 4613 mov r3, r2 8065ade: 009b lsls r3, r3, #2 8065ae0: 4413 add r3, r2 8065ae2: 00db lsls r3, r3, #3 8065ae4: 4a4b ldr r2, [pc, #300] ; (8065c14 ) 8065ae6: 441a add r2, r3 8065ae8: 4b53 ldr r3, [pc, #332] ; (8065c38 ) 8065aea: 2101 movs r1, #1 8065aec: 4853 ldr r0, [pc, #332] ; (8065c3c ) 8065aee: f064 fb4b bl 80ca188 k = 0; 8065af2: 2300 movs r3, #0 8065af4: f887 3337 strb.w r3, [r7, #823] ; 0x337 IIR = CalcIIRFilterCoeff(ftBUTTERWORTH, 0, iirLPF, 2, Fc, 0.1); 8065af8: 4c51 ldr r4, [pc, #324] ; (8065c40 ) 8065afa: 4638 mov r0, r7 8065afc: ed9f 2b40 vldr d2, [pc, #256] ; 8065c00 8065b00: ed97 1bca vldr d1, [r7, #808] ; 0x328 8065b04: 2302 movs r3, #2 8065b06: 2200 movs r2, #0 8065b08: ed9f 0b3f vldr d0, [pc, #252] ; 8065c08 8065b0c: 2100 movs r1, #0 8065b0e: f7c9 ffd7 bl 802fac0 8065b12: 463b mov r3, r7 8065b14: 4620 mov r0, r4 8065b16: 4619 mov r1, r3 8065b18: f44f 734a mov.w r3, #808 ; 0x328 8065b1c: 461a mov r2, r3 8065b1e: f067 fa88 bl 80cd032 MY_COEFF_INT2[k++] = IIR.b0[0]; 8065b22: f897 3337 ldrb.w r3, [r7, #823] ; 0x337 8065b26: 1c5a adds r2, r3, #1 8065b28: f887 2337 strb.w r2, [r7, #823] ; 0x337 8065b2c: 461a mov r2, r3 8065b2e: 4b44 ldr r3, [pc, #272] ; (8065c40 ) 8065b30: e9d3 3464 ldrd r3, r4, [r3, #400] ; 0x190 8065b34: 4943 ldr r1, [pc, #268] ; (8065c44 ) 8065b36: 00d2 lsls r2, r2, #3 8065b38: 440a add r2, r1 8065b3a: e882 0018 stmia.w r2, {r3, r4} MY_COEFF_INT2[k++] = IIR.b1[0]; 8065b3e: f897 3337 ldrb.w r3, [r7, #823] ; 0x337 8065b42: 1c5a adds r2, r3, #1 8065b44: f887 2337 strb.w r2, [r7, #823] ; 0x337 8065b48: 461a mov r2, r3 8065b4a: 4b3d ldr r3, [pc, #244] ; (8065c40 ) 8065b4c: e9d3 3478 ldrd r3, r4, [r3, #480] ; 0x1e0 8065b50: 493c ldr r1, [pc, #240] ; (8065c44 ) 8065b52: 00d2 lsls r2, r2, #3 8065b54: 440a add r2, r1 8065b56: e882 0018 stmia.w r2, {r3, r4} MY_COEFF_INT2[k++] = IIR.b2[0]; 8065b5a: f897 3337 ldrb.w r3, [r7, #823] ; 0x337 8065b5e: 1c5a adds r2, r3, #1 8065b60: f887 2337 strb.w r2, [r7, #823] ; 0x337 8065b64: 461a mov r2, r3 8065b66: 4b36 ldr r3, [pc, #216] ; (8065c40 ) 8065b68: e9d3 348c ldrd r3, r4, [r3, #560] ; 0x230 8065b6c: 4935 ldr r1, [pc, #212] ; (8065c44 ) 8065b6e: 00d2 lsls r2, r2, #3 8065b70: 440a add r2, r1 8065b72: e882 0018 stmia.w r2, {r3, r4} MY_COEFF_INT2[k++] = -IIR.a1[0]; 8065b76: f897 3337 ldrb.w r3, [r7, #823] ; 0x337 8065b7a: 1c5a adds r2, r3, #1 8065b7c: f887 2337 strb.w r2, [r7, #823] ; 0x337 8065b80: 4619 mov r1, r3 8065b82: 4b2f ldr r3, [pc, #188] ; (8065c40 ) 8065b84: ed93 7b14 vldr d7, [r3, #80] ; 0x50 8065b88: eeb1 7b47 vneg.f64 d7, d7 8065b8c: 4a2d ldr r2, [pc, #180] ; (8065c44 ) 8065b8e: 00cb lsls r3, r1, #3 8065b90: 4413 add r3, r2 8065b92: ed83 7b00 vstr d7, [r3] MY_COEFF_INT2[k++] = -IIR.a2[0]; 8065b96: f897 3337 ldrb.w r3, [r7, #823] ; 0x337 8065b9a: 1c5a adds r2, r3, #1 8065b9c: f887 2337 strb.w r2, [r7, #823] ; 0x337 8065ba0: 4619 mov r1, r3 8065ba2: 4b27 ldr r3, [pc, #156] ; (8065c40 ) 8065ba4: ed93 7b28 vldr d7, [r3, #160] ; 0xa0 8065ba8: eeb1 7b47 vneg.f64 d7, d7 8065bac: 4a25 ldr r2, [pc, #148] ; (8065c44 ) 8065bae: 00cb lsls r3, r1, #3 8065bb0: 4413 add r3, r2 8065bb2: ed83 7b00 vstr d7, [r3] arm_biquad_cascade_df2T_init_f64(&S_INT2, 1, (float64_t *) MY_COEFF_INT2, State_INT2); 8065bb6: 4b24 ldr r3, [pc, #144] ; (8065c48 ) 8065bb8: 4a22 ldr r2, [pc, #136] ; (8065c44 ) 8065bba: 2101 movs r1, #1 8065bbc: 4823 ldr r0, [pc, #140] ; (8065c4c ) 8065bbe: f064 fae3 bl 80ca188 arm_biquad_cascade_df2T_init_f64(&D_INT2[0], 1, (float64_t *) MY_COEFF_INT2, &State_D_INT2[0][0]); 8065bc2: 4b23 ldr r3, [pc, #140] ; (8065c50 ) 8065bc4: 4a1f ldr r2, [pc, #124] ; (8065c44 ) 8065bc6: 2101 movs r1, #1 8065bc8: 4822 ldr r0, [pc, #136] ; (8065c54 ) 8065bca: f064 fadd bl 80ca188 arm_biquad_cascade_df2T_init_f64(&D_INT2[1], 1, (float64_t *) MY_COEFF_INT2, &State_D_INT2[1][0]); 8065bce: 4b22 ldr r3, [pc, #136] ; (8065c58 ) 8065bd0: 4a1c ldr r2, [pc, #112] ; (8065c44 ) 8065bd2: 2101 movs r1, #1 8065bd4: 4821 ldr r0, [pc, #132] ; (8065c5c ) 8065bd6: f064 fad7 bl 80ca188 arm_biquad_cascade_df2T_init_f64(&D_INT2[2], 1, (float64_t *) MY_COEFF_INT2, &State_D_INT2[2][0]); 8065bda: 4b21 ldr r3, [pc, #132] ; (8065c60 ) 8065bdc: 4a19 ldr r2, [pc, #100] ; (8065c44 ) 8065bde: 2101 movs r1, #1 8065be0: 4820 ldr r0, [pc, #128] ; (8065c64 ) 8065be2: f064 fad1 bl 80ca188 arm_biquad_cascade_df2T_init_f64(&D_INT2[3], 1, (float64_t *) MY_COEFF_INT2, &State_D_INT2[3][0]); 8065be6: 4b20 ldr r3, [pc, #128] ; (8065c68 ) 8065be8: 4a16 ldr r2, [pc, #88] ; (8065c44 ) 8065bea: 2101 movs r1, #1 8065bec: 481f ldr r0, [pc, #124] ; (8065c6c ) 8065bee: f064 facb bl 80ca188 } 8065bf2: bf00 nop 8065bf4: f507 774f add.w r7, r7, #828 ; 0x33c 8065bf8: 46bd mov sp, r7 8065bfa: bd90 pop {r4, r7, pc} 8065bfc: f3af 8000 nop.w 8065c00: 9999999a .word 0x9999999a 8065c04: 3fb99999 .word 0x3fb99999 ... 8065c10: 20023e60 .word 0x20023e60 8065c14: 080eeed8 .word 0x080eeed8 8065c18: 20068030 .word 0x20068030 8065c1c: 20026170 .word 0x20026170 8065c20: 200263c8 .word 0x200263c8 8065c24: 200268f4 .word 0x200268f4 8065c28: 200263d8 .word 0x200263d8 8065c2c: 20026900 .word 0x20026900 8065c30: 200263e8 .word 0x200263e8 8065c34: 2002690c .word 0x2002690c 8065c38: 200263f8 .word 0x200263f8 8065c3c: 20026918 .word 0x20026918 8065c40: 20025918 .word 0x20025918 8065c44: 20021108 .word 0x20021108 8065c48: 200267b8 .word 0x200267b8 8065c4c: 200278c4 .word 0x200278c4 8065c50: 20025f50 .word 0x20025f50 8065c54: 20057d90 .word 0x20057d90 8065c58: 20025f60 .word 0x20025f60 8065c5c: 20057d9c .word 0x20057d9c 8065c60: 20025f70 .word 0x20025f70 8065c64: 20057da8 .word 0x20057da8 8065c68: 20025f80 .word 0x20025f80 8065c6c: 20057db4 .word 0x20057db4 08065c70 : void initHP(float64_t Fc) { 8065c70: b590 push {r4, r7, lr} 8065c72: f5ad 7d4f sub.w sp, sp, #828 ; 0x33c 8065c76: af00 add r7, sp, #0 8065c78: ed87 0bca vstr d0, [r7, #808] ; 0x328 uint8_t i, k; k = 0; 8065c7c: 2300 movs r3, #0 8065c7e: f887 3336 strb.w r3, [r7, #822] ; 0x336 IIR = CalcIIRFilterCoeff(ftBUTTERWORTH, 0, iirHPF, 4, Fc, 0.1); 8065c82: 4c51 ldr r4, [pc, #324] ; (8065dc8 ) 8065c84: 4638 mov r0, r7 8065c86: ed9f 2b4c vldr d2, [pc, #304] ; 8065db8 8065c8a: ed97 1bca vldr d1, [r7, #808] ; 0x328 8065c8e: 2304 movs r3, #4 8065c90: 2201 movs r2, #1 8065c92: ed9f 0b4b vldr d0, [pc, #300] ; 8065dc0 8065c96: 2100 movs r1, #0 8065c98: f7c9 ff12 bl 802fac0 8065c9c: 463b mov r3, r7 8065c9e: 4620 mov r0, r4 8065ca0: 4619 mov r1, r3 8065ca2: f44f 734a mov.w r3, #808 ; 0x328 8065ca6: 461a mov r2, r3 8065ca8: f067 f9c3 bl 80cd032 for(i = 0; i < 2; i++) 8065cac: 2300 movs r3, #0 8065cae: f887 3337 strb.w r3, [r7, #823] ; 0x337 8065cb2: e064 b.n 8065d7e { MY_COEFF_HP[k++] = IIR.b0[i]; 8065cb4: f897 3336 ldrb.w r3, [r7, #822] ; 0x336 8065cb8: 1c5a adds r2, r3, #1 8065cba: f887 2336 strb.w r2, [r7, #822] ; 0x336 8065cbe: 4618 mov r0, r3 8065cc0: f897 3337 ldrb.w r3, [r7, #823] ; 0x337 8065cc4: 4a40 ldr r2, [pc, #256] ; (8065dc8 ) 8065cc6: 3332 adds r3, #50 ; 0x32 8065cc8: 00db lsls r3, r3, #3 8065cca: 4413 add r3, r2 8065ccc: cb18 ldmia r3, {r3, r4} 8065cce: 493f ldr r1, [pc, #252] ; (8065dcc ) 8065cd0: 00c2 lsls r2, r0, #3 8065cd2: 440a add r2, r1 8065cd4: e882 0018 stmia.w r2, {r3, r4} MY_COEFF_HP[k++] = IIR.b1[i]; 8065cd8: f897 3336 ldrb.w r3, [r7, #822] ; 0x336 8065cdc: 1c5a adds r2, r3, #1 8065cde: f887 2336 strb.w r2, [r7, #822] ; 0x336 8065ce2: 4618 mov r0, r3 8065ce4: f897 3337 ldrb.w r3, [r7, #823] ; 0x337 8065ce8: 4a37 ldr r2, [pc, #220] ; (8065dc8 ) 8065cea: 333c adds r3, #60 ; 0x3c 8065cec: 00db lsls r3, r3, #3 8065cee: 4413 add r3, r2 8065cf0: cb18 ldmia r3, {r3, r4} 8065cf2: 4936 ldr r1, [pc, #216] ; (8065dcc ) 8065cf4: 00c2 lsls r2, r0, #3 8065cf6: 440a add r2, r1 8065cf8: e882 0018 stmia.w r2, {r3, r4} MY_COEFF_HP[k++] = IIR.b2[i]; 8065cfc: f897 3336 ldrb.w r3, [r7, #822] ; 0x336 8065d00: 1c5a adds r2, r3, #1 8065d02: f887 2336 strb.w r2, [r7, #822] ; 0x336 8065d06: 4618 mov r0, r3 8065d08: f897 3337 ldrb.w r3, [r7, #823] ; 0x337 8065d0c: 4a2e ldr r2, [pc, #184] ; (8065dc8 ) 8065d0e: 3346 adds r3, #70 ; 0x46 8065d10: 00db lsls r3, r3, #3 8065d12: 4413 add r3, r2 8065d14: cb18 ldmia r3, {r3, r4} 8065d16: 492d ldr r1, [pc, #180] ; (8065dcc ) 8065d18: 00c2 lsls r2, r0, #3 8065d1a: 440a add r2, r1 8065d1c: e882 0018 stmia.w r2, {r3, r4} MY_COEFF_HP[k++] = -IIR.a1[i]; 8065d20: f897 3336 ldrb.w r3, [r7, #822] ; 0x336 8065d24: 1c5a adds r2, r3, #1 8065d26: f887 2336 strb.w r2, [r7, #822] ; 0x336 8065d2a: 4619 mov r1, r3 8065d2c: f897 3337 ldrb.w r3, [r7, #823] ; 0x337 8065d30: 4a25 ldr r2, [pc, #148] ; (8065dc8 ) 8065d32: 330a adds r3, #10 8065d34: 00db lsls r3, r3, #3 8065d36: 4413 add r3, r2 8065d38: ed93 7b00 vldr d7, [r3] 8065d3c: eeb1 7b47 vneg.f64 d7, d7 8065d40: 4a22 ldr r2, [pc, #136] ; (8065dcc ) 8065d42: 00cb lsls r3, r1, #3 8065d44: 4413 add r3, r2 8065d46: ed83 7b00 vstr d7, [r3] MY_COEFF_HP[k++] = -IIR.a2[i]; 8065d4a: f897 3336 ldrb.w r3, [r7, #822] ; 0x336 8065d4e: 1c5a adds r2, r3, #1 8065d50: f887 2336 strb.w r2, [r7, #822] ; 0x336 8065d54: 4619 mov r1, r3 8065d56: f897 3337 ldrb.w r3, [r7, #823] ; 0x337 8065d5a: 4a1b ldr r2, [pc, #108] ; (8065dc8 ) 8065d5c: 3314 adds r3, #20 8065d5e: 00db lsls r3, r3, #3 8065d60: 4413 add r3, r2 8065d62: ed93 7b00 vldr d7, [r3] 8065d66: eeb1 7b47 vneg.f64 d7, d7 8065d6a: 4a18 ldr r2, [pc, #96] ; (8065dcc ) 8065d6c: 00cb lsls r3, r1, #3 8065d6e: 4413 add r3, r2 8065d70: ed83 7b00 vstr d7, [r3] for(i = 0; i < 2; i++) 8065d74: f897 3337 ldrb.w r3, [r7, #823] ; 0x337 8065d78: 3301 adds r3, #1 8065d7a: f887 3337 strb.w r3, [r7, #823] ; 0x337 8065d7e: f897 3337 ldrb.w r3, [r7, #823] ; 0x337 8065d82: 2b01 cmp r3, #1 8065d84: d996 bls.n 8065cb4 } arm_biquad_cascade_df2T_init_f64(&S_HP_ACC, 2, (float64_t *) MY_COEFF_HP, State_HP_ACC); 8065d86: 4b12 ldr r3, [pc, #72] ; (8065dd0 ) 8065d88: 4a10 ldr r2, [pc, #64] ; (8065dcc ) 8065d8a: 2102 movs r1, #2 8065d8c: 4811 ldr r0, [pc, #68] ; (8065dd4 ) 8065d8e: f064 f9fb bl 80ca188 arm_biquad_cascade_df2T_init_f64(&S_HP_VEL, 2, (float64_t *) MY_COEFF_HP, State_HP_VEL); 8065d92: 4b11 ldr r3, [pc, #68] ; (8065dd8 ) 8065d94: 4a0d ldr r2, [pc, #52] ; (8065dcc ) 8065d96: 2102 movs r1, #2 8065d98: 4810 ldr r0, [pc, #64] ; (8065ddc ) 8065d9a: f064 f9f5 bl 80ca188 arm_biquad_cascade_df2T_init_f64(&S_HP_DIS, 2, (float64_t *) MY_COEFF_HP, State_HP_DIS); 8065d9e: 4b10 ldr r3, [pc, #64] ; (8065de0 ) 8065da0: 4a0a ldr r2, [pc, #40] ; (8065dcc ) 8065da2: 2102 movs r1, #2 8065da4: 480f ldr r0, [pc, #60] ; (8065de4 ) 8065da6: f064 f9ef bl 80ca188 } 8065daa: bf00 nop 8065dac: f507 774f add.w r7, r7, #828 ; 0x33c 8065db0: 46bd mov sp, r7 8065db2: bd90 pop {r4, r7, pc} 8065db4: f3af 8000 nop.w 8065db8: 9999999a .word 0x9999999a 8065dbc: 3fb99999 .word 0x3fb99999 ... 8065dc8: 20025918 .word 0x20025918 8065dcc: 20021018 .word 0x20021018 8065dd0: 200680d0 .word 0x200680d0 8065dd4: 20025f00 .word 0x20025f00 8065dd8: 200277b0 .word 0x200277b0 8065ddc: 20025e78 .word 0x20025e78 8065de0: 20026ce0 .word 0x20026ce0 8065de4: 20027950 .word 0x20027950 08065de8 : void initHP_1(uint32_t n, float64_t Fc) { 8065de8: b5b0 push {r4, r5, r7, lr} 8065dea: f5ad 7d50 sub.w sp, sp, #832 ; 0x340 8065dee: af00 add r7, sp, #0 8065df0: f8c7 0334 str.w r0, [r7, #820] ; 0x334 8065df4: ed87 0bca vstr d0, [r7, #808] ; 0x328 uint8_t i, k; k = 0; 8065df8: 2300 movs r3, #0 8065dfa: f887 333e strb.w r3, [r7, #830] ; 0x33e IIR = CalcIIRFilterCoeff(ftBUTTERWORTH, 0, iirHPF, 4, Fc, 0.1); 8065dfe: 4c68 ldr r4, [pc, #416] ; (8065fa0 ) 8065e00: 4638 mov r0, r7 8065e02: ed9f 2b63 vldr d2, [pc, #396] ; 8065f90 8065e06: ed97 1bca vldr d1, [r7, #808] ; 0x328 8065e0a: 2304 movs r3, #4 8065e0c: 2201 movs r2, #1 8065e0e: ed9f 0b62 vldr d0, [pc, #392] ; 8065f98 8065e12: 2100 movs r1, #0 8065e14: f7c9 fe54 bl 802fac0 8065e18: 463b mov r3, r7 8065e1a: 4620 mov r0, r4 8065e1c: 4619 mov r1, r3 8065e1e: f44f 734a mov.w r3, #808 ; 0x328 8065e22: 461a mov r2, r3 8065e24: f067 f905 bl 80cd032 for(i = 0; i < 2; i++) 8065e28: 2300 movs r3, #0 8065e2a: f887 333f strb.w r3, [r7, #831] ; 0x33f 8065e2e: e08a b.n 8065f46 { D_COEFF_HP[n][k++] = IIR.b0[i]; 8065e30: f897 333e ldrb.w r3, [r7, #830] ; 0x33e 8065e34: 1c5a adds r2, r3, #1 8065e36: f887 233e strb.w r2, [r7, #830] ; 0x33e 8065e3a: 461d mov r5, r3 8065e3c: f897 333f ldrb.w r3, [r7, #831] ; 0x33f 8065e40: 4a57 ldr r2, [pc, #348] ; (8065fa0 ) 8065e42: 3332 adds r3, #50 ; 0x32 8065e44: 00db lsls r3, r3, #3 8065e46: 4413 add r3, r2 8065e48: e893 0006 ldmia.w r3, {r1, r2} 8065e4c: 4c55 ldr r4, [pc, #340] ; (8065fa4 ) 8065e4e: f8d7 0334 ldr.w r0, [r7, #820] ; 0x334 8065e52: 4603 mov r3, r0 8065e54: 009b lsls r3, r3, #2 8065e56: 4403 add r3, r0 8065e58: 005b lsls r3, r3, #1 8065e5a: 442b add r3, r5 8065e5c: 00db lsls r3, r3, #3 8065e5e: 4423 add r3, r4 8065e60: e883 0006 stmia.w r3, {r1, r2} D_COEFF_HP[n][k++] = IIR.b1[i]; 8065e64: f897 333e ldrb.w r3, [r7, #830] ; 0x33e 8065e68: 1c5a adds r2, r3, #1 8065e6a: f887 233e strb.w r2, [r7, #830] ; 0x33e 8065e6e: 461d mov r5, r3 8065e70: f897 333f ldrb.w r3, [r7, #831] ; 0x33f 8065e74: 4a4a ldr r2, [pc, #296] ; (8065fa0 ) 8065e76: 333c adds r3, #60 ; 0x3c 8065e78: 00db lsls r3, r3, #3 8065e7a: 4413 add r3, r2 8065e7c: e893 0006 ldmia.w r3, {r1, r2} 8065e80: 4c48 ldr r4, [pc, #288] ; (8065fa4 ) 8065e82: f8d7 0334 ldr.w r0, [r7, #820] ; 0x334 8065e86: 4603 mov r3, r0 8065e88: 009b lsls r3, r3, #2 8065e8a: 4403 add r3, r0 8065e8c: 005b lsls r3, r3, #1 8065e8e: 442b add r3, r5 8065e90: 00db lsls r3, r3, #3 8065e92: 4423 add r3, r4 8065e94: e883 0006 stmia.w r3, {r1, r2} D_COEFF_HP[n][k++] = IIR.b2[i]; 8065e98: f897 333e ldrb.w r3, [r7, #830] ; 0x33e 8065e9c: 1c5a adds r2, r3, #1 8065e9e: f887 233e strb.w r2, [r7, #830] ; 0x33e 8065ea2: 461d mov r5, r3 8065ea4: f897 333f ldrb.w r3, [r7, #831] ; 0x33f 8065ea8: 4a3d ldr r2, [pc, #244] ; (8065fa0 ) 8065eaa: 3346 adds r3, #70 ; 0x46 8065eac: 00db lsls r3, r3, #3 8065eae: 4413 add r3, r2 8065eb0: e893 0006 ldmia.w r3, {r1, r2} 8065eb4: 4c3b ldr r4, [pc, #236] ; (8065fa4 ) 8065eb6: f8d7 0334 ldr.w r0, [r7, #820] ; 0x334 8065eba: 4603 mov r3, r0 8065ebc: 009b lsls r3, r3, #2 8065ebe: 4403 add r3, r0 8065ec0: 005b lsls r3, r3, #1 8065ec2: 442b add r3, r5 8065ec4: 00db lsls r3, r3, #3 8065ec6: 4423 add r3, r4 8065ec8: e883 0006 stmia.w r3, {r1, r2} D_COEFF_HP[n][k++] = -IIR.a1[i]; 8065ecc: f897 333e ldrb.w r3, [r7, #830] ; 0x33e 8065ed0: 1c5a adds r2, r3, #1 8065ed2: f887 233e strb.w r2, [r7, #830] ; 0x33e 8065ed6: 4618 mov r0, r3 8065ed8: f897 333f ldrb.w r3, [r7, #831] ; 0x33f 8065edc: 4a30 ldr r2, [pc, #192] ; (8065fa0 ) 8065ede: 330a adds r3, #10 8065ee0: 00db lsls r3, r3, #3 8065ee2: 4413 add r3, r2 8065ee4: ed93 7b00 vldr d7, [r3] 8065ee8: eeb1 7b47 vneg.f64 d7, d7 8065eec: 492d ldr r1, [pc, #180] ; (8065fa4 ) 8065eee: f8d7 2334 ldr.w r2, [r7, #820] ; 0x334 8065ef2: 4613 mov r3, r2 8065ef4: 009b lsls r3, r3, #2 8065ef6: 4413 add r3, r2 8065ef8: 005b lsls r3, r3, #1 8065efa: 4403 add r3, r0 8065efc: 00db lsls r3, r3, #3 8065efe: 440b add r3, r1 8065f00: ed83 7b00 vstr d7, [r3] D_COEFF_HP[n][k++] = -IIR.a2[i]; 8065f04: f897 333e ldrb.w r3, [r7, #830] ; 0x33e 8065f08: 1c5a adds r2, r3, #1 8065f0a: f887 233e strb.w r2, [r7, #830] ; 0x33e 8065f0e: 4618 mov r0, r3 8065f10: f897 333f ldrb.w r3, [r7, #831] ; 0x33f 8065f14: 4a22 ldr r2, [pc, #136] ; (8065fa0 ) 8065f16: 3314 adds r3, #20 8065f18: 00db lsls r3, r3, #3 8065f1a: 4413 add r3, r2 8065f1c: ed93 7b00 vldr d7, [r3] 8065f20: eeb1 7b47 vneg.f64 d7, d7 8065f24: 491f ldr r1, [pc, #124] ; (8065fa4 ) 8065f26: f8d7 2334 ldr.w r2, [r7, #820] ; 0x334 8065f2a: 4613 mov r3, r2 8065f2c: 009b lsls r3, r3, #2 8065f2e: 4413 add r3, r2 8065f30: 005b lsls r3, r3, #1 8065f32: 4403 add r3, r0 8065f34: 00db lsls r3, r3, #3 8065f36: 440b add r3, r1 8065f38: ed83 7b00 vstr d7, [r3] for(i = 0; i < 2; i++) 8065f3c: f897 333f ldrb.w r3, [r7, #831] ; 0x33f 8065f40: 3301 adds r3, #1 8065f42: f887 333f strb.w r3, [r7, #831] ; 0x33f 8065f46: f897 333f ldrb.w r3, [r7, #831] ; 0x33f 8065f4a: 2b01 cmp r3, #1 8065f4c: f67f af70 bls.w 8065e30 } arm_biquad_cascade_df2T_init_f64(&D_HP[n], 2, (float64_t *) &D_COEFF_HP[n][0], &State_D_HP[n][0]); 8065f50: f8d7 2334 ldr.w r2, [r7, #820] ; 0x334 8065f54: 4613 mov r3, r2 8065f56: 005b lsls r3, r3, #1 8065f58: 4413 add r3, r2 8065f5a: 009b lsls r3, r3, #2 8065f5c: 4a12 ldr r2, [pc, #72] ; (8065fa8 ) 8065f5e: 1898 adds r0, r3, r2 8065f60: f8d7 2334 ldr.w r2, [r7, #820] ; 0x334 8065f64: 4613 mov r3, r2 8065f66: 009b lsls r3, r3, #2 8065f68: 4413 add r3, r2 8065f6a: 011b lsls r3, r3, #4 8065f6c: 4a0d ldr r2, [pc, #52] ; (8065fa4 ) 8065f6e: 1899 adds r1, r3, r2 8065f70: f8d7 3334 ldr.w r3, [r7, #820] ; 0x334 8065f74: 015b lsls r3, r3, #5 8065f76: 4a0d ldr r2, [pc, #52] ; (8065fac ) 8065f78: 4413 add r3, r2 8065f7a: 460a mov r2, r1 8065f7c: 2102 movs r1, #2 8065f7e: f064 f903 bl 80ca188 } 8065f82: bf00 nop 8065f84: f507 7750 add.w r7, r7, #832 ; 0x340 8065f88: 46bd mov sp, r7 8065f8a: bdb0 pop {r4, r5, r7, pc} 8065f8c: f3af 8000 nop.w 8065f90: 9999999a .word 0x9999999a 8065f94: 3fb99999 .word 0x3fb99999 ... 8065fa0: 20025918 .word 0x20025918 8065fa4: 20021158 .word 0x20021158 8065fa8: 20068368 .word 0x20068368 8065fac: 20026460 .word 0x20026460 08065fb0 : void initLP(float64_t Fc) { 8065fb0: b590 push {r4, r7, lr} 8065fb2: f5ad 7d51 sub.w sp, sp, #836 ; 0x344 8065fb6: af00 add r7, sp, #0 8065fb8: ed87 0bca vstr d0, [r7, #808] ; 0x328 f = Fc; 8065fbc: e9d7 34ca ldrd r3, r4, [r7, #808] ; 0x328 8065fc0: e9c7 34cc strd r3, r4, [r7, #816] ; 0x330 if(((float64_t) Fs / Fc) < 25.0) { 8065fc4: 4ba0 ldr r3, [pc, #640] ; (8066248 ) 8065fc6: 681b ldr r3, [r3, #0] 8065fc8: ee07 3a90 vmov s15, r3 8065fcc: eeb8 5b67 vcvt.f64.u32 d5, s15 8065fd0: ed97 6bca vldr d6, [r7, #808] ; 0x328 8065fd4: ee85 7b06 vdiv.f64 d7, d5, d6 8065fd8: eeb3 6b09 vmov.f64 d6, #57 ; 0x41c80000 25.0 8065fdc: eeb4 7bc6 vcmpe.f64 d7, d6 8065fe0: eef1 fa10 vmrs APSR_nzcv, fpscr 8065fe4: f140 8095 bpl.w 8066112 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]; 8065fe8: 4b98 ldr r3, [pc, #608] ; (806624c ) 8065fea: 7adb ldrb r3, [r3, #11] 8065fec: b2db uxtb r3, r3 8065fee: 4619 mov r1, r3 8065ff0: 4a97 ldr r2, [pc, #604] ; (8066250 ) 8065ff2: 460b mov r3, r1 8065ff4: 005b lsls r3, r3, #1 8065ff6: 440b add r3, r1 8065ff8: 011b lsls r3, r3, #4 8065ffa: 4413 add r3, r2 8065ffc: ed93 6b00 vldr d6, [r3] 8066000: ed97 7bca vldr d7, [r7, #808] ; 0x328 8066004: ee26 6b07 vmul.f64 d6, d6, d7 8066008: ed97 7bca vldr d7, [r7, #808] ; 0x328 806600c: ee26 6b07 vmul.f64 d6, d6, d7 8066010: ed97 7bca vldr d7, [r7, #808] ; 0x328 8066014: ee26 6b07 vmul.f64 d6, d6, d7 8066018: ed97 7bca vldr d7, [r7, #808] ; 0x328 806601c: ee26 6b07 vmul.f64 d6, d6, d7 8066020: ed97 7bca vldr d7, [r7, #808] ; 0x328 8066024: ee26 6b07 vmul.f64 d6, d6, d7 8066028: 4b88 ldr r3, [pc, #544] ; (806624c ) 806602a: 7adb ldrb r3, [r3, #11] 806602c: b2db uxtb r3, r3 806602e: 4619 mov r1, r3 8066030: 4a87 ldr r2, [pc, #540] ; (8066250 ) 8066032: 460b mov r3, r1 8066034: 005b lsls r3, r3, #1 8066036: 440b add r3, r1 8066038: 011b lsls r3, r3, #4 806603a: 4413 add r3, r2 806603c: 3308 adds r3, #8 806603e: ed93 5b00 vldr d5, [r3] 8066042: ed97 7bca vldr d7, [r7, #808] ; 0x328 8066046: ee25 5b07 vmul.f64 d5, d5, d7 806604a: ed97 7bca vldr d7, [r7, #808] ; 0x328 806604e: ee25 5b07 vmul.f64 d5, d5, d7 8066052: ed97 7bca vldr d7, [r7, #808] ; 0x328 8066056: ee25 5b07 vmul.f64 d5, d5, d7 806605a: ed97 7bca vldr d7, [r7, #808] ; 0x328 806605e: ee25 7b07 vmul.f64 d7, d5, d7 8066062: ee36 6b07 vadd.f64 d6, d6, d7 8066066: 4b79 ldr r3, [pc, #484] ; (806624c ) 8066068: 7adb ldrb r3, [r3, #11] 806606a: b2db uxtb r3, r3 806606c: 4619 mov r1, r3 806606e: 4a78 ldr r2, [pc, #480] ; (8066250 ) 8066070: 460b mov r3, r1 8066072: 005b lsls r3, r3, #1 8066074: 440b add r3, r1 8066076: 011b lsls r3, r3, #4 8066078: 4413 add r3, r2 806607a: 3310 adds r3, #16 806607c: ed93 5b00 vldr d5, [r3] 8066080: ed97 7bca vldr d7, [r7, #808] ; 0x328 8066084: ee25 5b07 vmul.f64 d5, d5, d7 8066088: ed97 7bca vldr d7, [r7, #808] ; 0x328 806608c: ee25 5b07 vmul.f64 d5, d5, d7 8066090: ed97 7bca vldr d7, [r7, #808] ; 0x328 8066094: ee25 7b07 vmul.f64 d7, d5, d7 8066098: ee36 6b07 vadd.f64 d6, d6, d7 806609c: 4b6b ldr r3, [pc, #428] ; (806624c ) 806609e: 7adb ldrb r3, [r3, #11] 80660a0: b2db uxtb r3, r3 80660a2: 4619 mov r1, r3 80660a4: 4a6a ldr r2, [pc, #424] ; (8066250 ) 80660a6: 460b mov r3, r1 80660a8: 005b lsls r3, r3, #1 80660aa: 440b add r3, r1 80660ac: 011b lsls r3, r3, #4 80660ae: 4413 add r3, r2 80660b0: 3318 adds r3, #24 80660b2: ed93 5b00 vldr d5, [r3] 80660b6: ed97 7bca vldr d7, [r7, #808] ; 0x328 80660ba: ee25 5b07 vmul.f64 d5, d5, d7 80660be: ed97 7bca vldr d7, [r7, #808] ; 0x328 80660c2: ee25 7b07 vmul.f64 d7, d5, d7 80660c6: ee36 6b07 vadd.f64 d6, d6, d7 80660ca: 4b60 ldr r3, [pc, #384] ; (806624c ) 80660cc: 7adb ldrb r3, [r3, #11] 80660ce: b2db uxtb r3, r3 80660d0: 4619 mov r1, r3 80660d2: 4a5f ldr r2, [pc, #380] ; (8066250 ) 80660d4: 460b mov r3, r1 80660d6: 005b lsls r3, r3, #1 80660d8: 440b add r3, r1 80660da: 011b lsls r3, r3, #4 80660dc: 4413 add r3, r2 80660de: 3320 adds r3, #32 80660e0: ed93 5b00 vldr d5, [r3] 80660e4: ed97 7bca vldr d7, [r7, #808] ; 0x328 80660e8: ee25 7b07 vmul.f64 d7, d5, d7 80660ec: ee36 6b07 vadd.f64 d6, d6, d7 80660f0: 4b56 ldr r3, [pc, #344] ; (806624c ) 80660f2: 7adb ldrb r3, [r3, #11] 80660f4: b2db uxtb r3, r3 80660f6: 4619 mov r1, r3 80660f8: 4a55 ldr r2, [pc, #340] ; (8066250 ) 80660fa: 460b mov r3, r1 80660fc: 005b lsls r3, r3, #1 80660fe: 440b add r3, r1 8066100: 011b lsls r3, r3, #4 8066102: 4413 add r3, r2 8066104: 3328 adds r3, #40 ; 0x28 8066106: ed93 7b00 vldr d7, [r3] 806610a: ee36 7b07 vadd.f64 d7, d6, d7 806610e: ed87 7bcc vstr d7, [r7, #816] ; 0x330 } k = 0; 8066112: 2300 movs r3, #0 8066114: f887 333e strb.w r3, [r7, #830] ; 0x33e IIR = CalcIIRFilterCoeff(ftBUTTERWORTH, 0, iirLPF, 8, f, 0.1); 8066118: 4c4e ldr r4, [pc, #312] ; (8066254 ) 806611a: 4638 mov r0, r7 806611c: ed9f 2b46 vldr d2, [pc, #280] ; 8066238 8066120: ed97 1bcc vldr d1, [r7, #816] ; 0x330 8066124: 2308 movs r3, #8 8066126: 2200 movs r2, #0 8066128: ed9f 0b45 vldr d0, [pc, #276] ; 8066240 806612c: 2100 movs r1, #0 806612e: f7c9 fcc7 bl 802fac0 8066132: 463b mov r3, r7 8066134: 4620 mov r0, r4 8066136: 4619 mov r1, r3 8066138: f44f 734a mov.w r3, #808 ; 0x328 806613c: 461a mov r2, r3 806613e: f066 ff78 bl 80cd032 for(i = 0; i < 4; i++) 8066142: 2300 movs r3, #0 8066144: f887 333f strb.w r3, [r7, #831] ; 0x33f 8066148: e064 b.n 8066214 { MY_COEFF_LP[k++] = IIR.b0[i]; 806614a: f897 333e ldrb.w r3, [r7, #830] ; 0x33e 806614e: 1c5a adds r2, r3, #1 8066150: f887 233e strb.w r2, [r7, #830] ; 0x33e 8066154: 4618 mov r0, r3 8066156: f897 333f ldrb.w r3, [r7, #831] ; 0x33f 806615a: 4a3e ldr r2, [pc, #248] ; (8066254 ) 806615c: 3332 adds r3, #50 ; 0x32 806615e: 00db lsls r3, r3, #3 8066160: 4413 add r3, r2 8066162: cb18 ldmia r3, {r3, r4} 8066164: 493c ldr r1, [pc, #240] ; (8066258 ) 8066166: 00c2 lsls r2, r0, #3 8066168: 440a add r2, r1 806616a: e882 0018 stmia.w r2, {r3, r4} MY_COEFF_LP[k++] = IIR.b1[i]; 806616e: f897 333e ldrb.w r3, [r7, #830] ; 0x33e 8066172: 1c5a adds r2, r3, #1 8066174: f887 233e strb.w r2, [r7, #830] ; 0x33e 8066178: 4618 mov r0, r3 806617a: f897 333f ldrb.w r3, [r7, #831] ; 0x33f 806617e: 4a35 ldr r2, [pc, #212] ; (8066254 ) 8066180: 333c adds r3, #60 ; 0x3c 8066182: 00db lsls r3, r3, #3 8066184: 4413 add r3, r2 8066186: cb18 ldmia r3, {r3, r4} 8066188: 4933 ldr r1, [pc, #204] ; (8066258 ) 806618a: 00c2 lsls r2, r0, #3 806618c: 440a add r2, r1 806618e: e882 0018 stmia.w r2, {r3, r4} MY_COEFF_LP[k++] = IIR.b2[i]; 8066192: f897 333e ldrb.w r3, [r7, #830] ; 0x33e 8066196: 1c5a adds r2, r3, #1 8066198: f887 233e strb.w r2, [r7, #830] ; 0x33e 806619c: 4618 mov r0, r3 806619e: f897 333f ldrb.w r3, [r7, #831] ; 0x33f 80661a2: 4a2c ldr r2, [pc, #176] ; (8066254 ) 80661a4: 3346 adds r3, #70 ; 0x46 80661a6: 00db lsls r3, r3, #3 80661a8: 4413 add r3, r2 80661aa: cb18 ldmia r3, {r3, r4} 80661ac: 492a ldr r1, [pc, #168] ; (8066258 ) 80661ae: 00c2 lsls r2, r0, #3 80661b0: 440a add r2, r1 80661b2: e882 0018 stmia.w r2, {r3, r4} MY_COEFF_LP[k++] = -IIR.a1[i]; 80661b6: f897 333e ldrb.w r3, [r7, #830] ; 0x33e 80661ba: 1c5a adds r2, r3, #1 80661bc: f887 233e strb.w r2, [r7, #830] ; 0x33e 80661c0: 4619 mov r1, r3 80661c2: f897 333f ldrb.w r3, [r7, #831] ; 0x33f 80661c6: 4a23 ldr r2, [pc, #140] ; (8066254 ) 80661c8: 330a adds r3, #10 80661ca: 00db lsls r3, r3, #3 80661cc: 4413 add r3, r2 80661ce: ed93 7b00 vldr d7, [r3] 80661d2: eeb1 7b47 vneg.f64 d7, d7 80661d6: 4a20 ldr r2, [pc, #128] ; (8066258 ) 80661d8: 00cb lsls r3, r1, #3 80661da: 4413 add r3, r2 80661dc: ed83 7b00 vstr d7, [r3] MY_COEFF_LP[k++] = -IIR.a2[i]; 80661e0: f897 333e ldrb.w r3, [r7, #830] ; 0x33e 80661e4: 1c5a adds r2, r3, #1 80661e6: f887 233e strb.w r2, [r7, #830] ; 0x33e 80661ea: 4619 mov r1, r3 80661ec: f897 333f ldrb.w r3, [r7, #831] ; 0x33f 80661f0: 4a18 ldr r2, [pc, #96] ; (8066254 ) 80661f2: 3314 adds r3, #20 80661f4: 00db lsls r3, r3, #3 80661f6: 4413 add r3, r2 80661f8: ed93 7b00 vldr d7, [r3] 80661fc: eeb1 7b47 vneg.f64 d7, d7 8066200: 4a15 ldr r2, [pc, #84] ; (8066258 ) 8066202: 00cb lsls r3, r1, #3 8066204: 4413 add r3, r2 8066206: ed83 7b00 vstr d7, [r3] for(i = 0; i < 4; i++) 806620a: f897 333f ldrb.w r3, [r7, #831] ; 0x33f 806620e: 3301 adds r3, #1 8066210: f887 333f strb.w r3, [r7, #831] ; 0x33f 8066214: f897 333f ldrb.w r3, [r7, #831] ; 0x33f 8066218: 2b03 cmp r3, #3 806621a: d996 bls.n 806614a } arm_biquad_cascade_df2T_init_f64(&S_LP, 4, (float64_t *) MY_COEFF_LP, State_LP); 806621c: 4b0f ldr r3, [pc, #60] ; (806625c ) 806621e: 4a0e ldr r2, [pc, #56] ; (8066258 ) 8066220: 2104 movs r1, #4 8066222: 480f ldr r0, [pc, #60] ; (8066260 ) 8066224: f063 ffb0 bl 80ca188 } 8066228: bf00 nop 806622a: f507 7751 add.w r7, r7, #836 ; 0x344 806622e: 46bd mov sp, r7 8066230: bd90 pop {r4, r7, pc} 8066232: bf00 nop 8066234: f3af 8000 nop.w 8066238: 9999999a .word 0x9999999a 806623c: 3fb99999 .word 0x3fb99999 ... 8066248: 20021d1c .word 0x20021d1c 806624c: 20023e60 .word 0x20023e60 8066250: 080ef0e0 .word 0x080ef0e0 8066254: 20025918 .word 0x20025918 8066258: 20021068 .word 0x20021068 806625c: 200379c0 .word 0x200379c0 8066260: 20026564 .word 0x20026564 8066264: 00000000 .word 0x00000000 08066268 : void initLP_1(uint32_t n, float64_t Fc) { 8066268: b5b0 push {r4, r5, r7, lr} 806626a: f5ad 7d52 sub.w sp, sp, #840 ; 0x348 806626e: af00 add r7, sp, #0 8066270: f8c7 0334 str.w r0, [r7, #820] ; 0x334 8066274: ed87 0bca vstr d0, [r7, #808] ; 0x328 f = Fc; 8066278: e9d7 34ca ldrd r3, r4, [r7, #808] ; 0x328 806627c: e9c7 34ce strd r3, r4, [r7, #824] ; 0x338 if(((float64_t) Fs / Fc) < 25.0) { 8066280: 4bbd ldr r3, [pc, #756] ; (8066578 ) 8066282: 681b ldr r3, [r3, #0] 8066284: ee07 3a90 vmov s15, r3 8066288: eeb8 5b67 vcvt.f64.u32 d5, s15 806628c: ed97 6bca vldr d6, [r7, #808] ; 0x328 8066290: ee85 7b06 vdiv.f64 d7, d5, d6 8066294: eeb3 6b09 vmov.f64 d6, #57 ; 0x41c80000 25.0 8066298: eeb4 7bc6 vcmpe.f64 d7, d6 806629c: eef1 fa10 vmrs APSR_nzcv, fpscr 80662a0: f140 8095 bpl.w 80663ce 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]; 80662a4: 4bb5 ldr r3, [pc, #724] ; (806657c ) 80662a6: 7adb ldrb r3, [r3, #11] 80662a8: b2db uxtb r3, r3 80662aa: 4619 mov r1, r3 80662ac: 4ab4 ldr r2, [pc, #720] ; (8066580 ) 80662ae: 460b mov r3, r1 80662b0: 005b lsls r3, r3, #1 80662b2: 440b add r3, r1 80662b4: 011b lsls r3, r3, #4 80662b6: 4413 add r3, r2 80662b8: ed93 6b00 vldr d6, [r3] 80662bc: ed97 7bca vldr d7, [r7, #808] ; 0x328 80662c0: ee26 6b07 vmul.f64 d6, d6, d7 80662c4: ed97 7bca vldr d7, [r7, #808] ; 0x328 80662c8: ee26 6b07 vmul.f64 d6, d6, d7 80662cc: ed97 7bca vldr d7, [r7, #808] ; 0x328 80662d0: ee26 6b07 vmul.f64 d6, d6, d7 80662d4: ed97 7bca vldr d7, [r7, #808] ; 0x328 80662d8: ee26 6b07 vmul.f64 d6, d6, d7 80662dc: ed97 7bca vldr d7, [r7, #808] ; 0x328 80662e0: ee26 6b07 vmul.f64 d6, d6, d7 80662e4: 4ba5 ldr r3, [pc, #660] ; (806657c ) 80662e6: 7adb ldrb r3, [r3, #11] 80662e8: b2db uxtb r3, r3 80662ea: 4619 mov r1, r3 80662ec: 4aa4 ldr r2, [pc, #656] ; (8066580 ) 80662ee: 460b mov r3, r1 80662f0: 005b lsls r3, r3, #1 80662f2: 440b add r3, r1 80662f4: 011b lsls r3, r3, #4 80662f6: 4413 add r3, r2 80662f8: 3308 adds r3, #8 80662fa: ed93 5b00 vldr d5, [r3] 80662fe: ed97 7bca vldr d7, [r7, #808] ; 0x328 8066302: ee25 5b07 vmul.f64 d5, d5, d7 8066306: ed97 7bca vldr d7, [r7, #808] ; 0x328 806630a: ee25 5b07 vmul.f64 d5, d5, d7 806630e: ed97 7bca vldr d7, [r7, #808] ; 0x328 8066312: ee25 5b07 vmul.f64 d5, d5, d7 8066316: ed97 7bca vldr d7, [r7, #808] ; 0x328 806631a: ee25 7b07 vmul.f64 d7, d5, d7 806631e: ee36 6b07 vadd.f64 d6, d6, d7 8066322: 4b96 ldr r3, [pc, #600] ; (806657c ) 8066324: 7adb ldrb r3, [r3, #11] 8066326: b2db uxtb r3, r3 8066328: 4619 mov r1, r3 806632a: 4a95 ldr r2, [pc, #596] ; (8066580 ) 806632c: 460b mov r3, r1 806632e: 005b lsls r3, r3, #1 8066330: 440b add r3, r1 8066332: 011b lsls r3, r3, #4 8066334: 4413 add r3, r2 8066336: 3310 adds r3, #16 8066338: ed93 5b00 vldr d5, [r3] 806633c: ed97 7bca vldr d7, [r7, #808] ; 0x328 8066340: ee25 5b07 vmul.f64 d5, d5, d7 8066344: ed97 7bca vldr d7, [r7, #808] ; 0x328 8066348: ee25 5b07 vmul.f64 d5, d5, d7 806634c: ed97 7bca vldr d7, [r7, #808] ; 0x328 8066350: ee25 7b07 vmul.f64 d7, d5, d7 8066354: ee36 6b07 vadd.f64 d6, d6, d7 8066358: 4b88 ldr r3, [pc, #544] ; (806657c ) 806635a: 7adb ldrb r3, [r3, #11] 806635c: b2db uxtb r3, r3 806635e: 4619 mov r1, r3 8066360: 4a87 ldr r2, [pc, #540] ; (8066580 ) 8066362: 460b mov r3, r1 8066364: 005b lsls r3, r3, #1 8066366: 440b add r3, r1 8066368: 011b lsls r3, r3, #4 806636a: 4413 add r3, r2 806636c: 3318 adds r3, #24 806636e: ed93 5b00 vldr d5, [r3] 8066372: ed97 7bca vldr d7, [r7, #808] ; 0x328 8066376: ee25 5b07 vmul.f64 d5, d5, d7 806637a: ed97 7bca vldr d7, [r7, #808] ; 0x328 806637e: ee25 7b07 vmul.f64 d7, d5, d7 8066382: ee36 6b07 vadd.f64 d6, d6, d7 8066386: 4b7d ldr r3, [pc, #500] ; (806657c ) 8066388: 7adb ldrb r3, [r3, #11] 806638a: b2db uxtb r3, r3 806638c: 4619 mov r1, r3 806638e: 4a7c ldr r2, [pc, #496] ; (8066580 ) 8066390: 460b mov r3, r1 8066392: 005b lsls r3, r3, #1 8066394: 440b add r3, r1 8066396: 011b lsls r3, r3, #4 8066398: 4413 add r3, r2 806639a: 3320 adds r3, #32 806639c: ed93 5b00 vldr d5, [r3] 80663a0: ed97 7bca vldr d7, [r7, #808] ; 0x328 80663a4: ee25 7b07 vmul.f64 d7, d5, d7 80663a8: ee36 6b07 vadd.f64 d6, d6, d7 80663ac: 4b73 ldr r3, [pc, #460] ; (806657c ) 80663ae: 7adb ldrb r3, [r3, #11] 80663b0: b2db uxtb r3, r3 80663b2: 4619 mov r1, r3 80663b4: 4a72 ldr r2, [pc, #456] ; (8066580 ) 80663b6: 460b mov r3, r1 80663b8: 005b lsls r3, r3, #1 80663ba: 440b add r3, r1 80663bc: 011b lsls r3, r3, #4 80663be: 4413 add r3, r2 80663c0: 3328 adds r3, #40 ; 0x28 80663c2: ed93 7b00 vldr d7, [r3] 80663c6: ee36 7b07 vadd.f64 d7, d6, d7 80663ca: ed87 7bce vstr d7, [r7, #824] ; 0x338 } k = 0; 80663ce: 2300 movs r3, #0 80663d0: f887 3346 strb.w r3, [r7, #838] ; 0x346 IIR = CalcIIRFilterCoeff(ftBUTTERWORTH, 0, iirLPF, 8, f, 0.1); 80663d4: 4c6b ldr r4, [pc, #428] ; (8066584 ) 80663d6: 4638 mov r0, r7 80663d8: ed9f 2b63 vldr d2, [pc, #396] ; 8066568 80663dc: ed97 1bce vldr d1, [r7, #824] ; 0x338 80663e0: 2308 movs r3, #8 80663e2: 2200 movs r2, #0 80663e4: ed9f 0b62 vldr d0, [pc, #392] ; 8066570 80663e8: 2100 movs r1, #0 80663ea: f7c9 fb69 bl 802fac0 80663ee: 463b mov r3, r7 80663f0: 4620 mov r0, r4 80663f2: 4619 mov r1, r3 80663f4: f44f 734a mov.w r3, #808 ; 0x328 80663f8: 461a mov r2, r3 80663fa: f066 fe1a bl 80cd032 for(i = 0; i < 4; i++) 80663fe: 2300 movs r3, #0 8066400: f887 3347 strb.w r3, [r7, #839] ; 0x347 8066404: e08a b.n 806651c { D_COEFF_LP[n][k++] = IIR.b0[i]; 8066406: f897 3346 ldrb.w r3, [r7, #838] ; 0x346 806640a: 1c5a adds r2, r3, #1 806640c: f887 2346 strb.w r2, [r7, #838] ; 0x346 8066410: 461d mov r5, r3 8066412: f897 3347 ldrb.w r3, [r7, #839] ; 0x347 8066416: 4a5b ldr r2, [pc, #364] ; (8066584 ) 8066418: 3332 adds r3, #50 ; 0x32 806641a: 00db lsls r3, r3, #3 806641c: 4413 add r3, r2 806641e: e893 0006 ldmia.w r3, {r1, r2} 8066422: 4c59 ldr r4, [pc, #356] ; (8066588 ) 8066424: f8d7 0334 ldr.w r0, [r7, #820] ; 0x334 8066428: 4603 mov r3, r0 806642a: 009b lsls r3, r3, #2 806642c: 4403 add r3, r0 806642e: 009b lsls r3, r3, #2 8066430: 442b add r3, r5 8066432: 00db lsls r3, r3, #3 8066434: 4423 add r3, r4 8066436: e883 0006 stmia.w r3, {r1, r2} D_COEFF_LP[n][k++] = IIR.b1[i]; 806643a: f897 3346 ldrb.w r3, [r7, #838] ; 0x346 806643e: 1c5a adds r2, r3, #1 8066440: f887 2346 strb.w r2, [r7, #838] ; 0x346 8066444: 461d mov r5, r3 8066446: f897 3347 ldrb.w r3, [r7, #839] ; 0x347 806644a: 4a4e ldr r2, [pc, #312] ; (8066584 ) 806644c: 333c adds r3, #60 ; 0x3c 806644e: 00db lsls r3, r3, #3 8066450: 4413 add r3, r2 8066452: e893 0006 ldmia.w r3, {r1, r2} 8066456: 4c4c ldr r4, [pc, #304] ; (8066588 ) 8066458: f8d7 0334 ldr.w r0, [r7, #820] ; 0x334 806645c: 4603 mov r3, r0 806645e: 009b lsls r3, r3, #2 8066460: 4403 add r3, r0 8066462: 009b lsls r3, r3, #2 8066464: 442b add r3, r5 8066466: 00db lsls r3, r3, #3 8066468: 4423 add r3, r4 806646a: e883 0006 stmia.w r3, {r1, r2} D_COEFF_LP[n][k++] = IIR.b2[i]; 806646e: f897 3346 ldrb.w r3, [r7, #838] ; 0x346 8066472: 1c5a adds r2, r3, #1 8066474: f887 2346 strb.w r2, [r7, #838] ; 0x346 8066478: 461d mov r5, r3 806647a: f897 3347 ldrb.w r3, [r7, #839] ; 0x347 806647e: 4a41 ldr r2, [pc, #260] ; (8066584 ) 8066480: 3346 adds r3, #70 ; 0x46 8066482: 00db lsls r3, r3, #3 8066484: 4413 add r3, r2 8066486: e893 0006 ldmia.w r3, {r1, r2} 806648a: 4c3f ldr r4, [pc, #252] ; (8066588 ) 806648c: f8d7 0334 ldr.w r0, [r7, #820] ; 0x334 8066490: 4603 mov r3, r0 8066492: 009b lsls r3, r3, #2 8066494: 4403 add r3, r0 8066496: 009b lsls r3, r3, #2 8066498: 442b add r3, r5 806649a: 00db lsls r3, r3, #3 806649c: 4423 add r3, r4 806649e: e883 0006 stmia.w r3, {r1, r2} D_COEFF_LP[n][k++] = -IIR.a1[i]; 80664a2: f897 3346 ldrb.w r3, [r7, #838] ; 0x346 80664a6: 1c5a adds r2, r3, #1 80664a8: f887 2346 strb.w r2, [r7, #838] ; 0x346 80664ac: 4618 mov r0, r3 80664ae: f897 3347 ldrb.w r3, [r7, #839] ; 0x347 80664b2: 4a34 ldr r2, [pc, #208] ; (8066584 ) 80664b4: 330a adds r3, #10 80664b6: 00db lsls r3, r3, #3 80664b8: 4413 add r3, r2 80664ba: ed93 7b00 vldr d7, [r3] 80664be: eeb1 7b47 vneg.f64 d7, d7 80664c2: 4931 ldr r1, [pc, #196] ; (8066588 ) 80664c4: f8d7 2334 ldr.w r2, [r7, #820] ; 0x334 80664c8: 4613 mov r3, r2 80664ca: 009b lsls r3, r3, #2 80664cc: 4413 add r3, r2 80664ce: 009b lsls r3, r3, #2 80664d0: 4403 add r3, r0 80664d2: 00db lsls r3, r3, #3 80664d4: 440b add r3, r1 80664d6: ed83 7b00 vstr d7, [r3] D_COEFF_LP[n][k++] = -IIR.a2[i]; 80664da: f897 3346 ldrb.w r3, [r7, #838] ; 0x346 80664de: 1c5a adds r2, r3, #1 80664e0: f887 2346 strb.w r2, [r7, #838] ; 0x346 80664e4: 4618 mov r0, r3 80664e6: f897 3347 ldrb.w r3, [r7, #839] ; 0x347 80664ea: 4a26 ldr r2, [pc, #152] ; (8066584 ) 80664ec: 3314 adds r3, #20 80664ee: 00db lsls r3, r3, #3 80664f0: 4413 add r3, r2 80664f2: ed93 7b00 vldr d7, [r3] 80664f6: eeb1 7b47 vneg.f64 d7, d7 80664fa: 4923 ldr r1, [pc, #140] ; (8066588 ) 80664fc: f8d7 2334 ldr.w r2, [r7, #820] ; 0x334 8066500: 4613 mov r3, r2 8066502: 009b lsls r3, r3, #2 8066504: 4413 add r3, r2 8066506: 009b lsls r3, r3, #2 8066508: 4403 add r3, r0 806650a: 00db lsls r3, r3, #3 806650c: 440b add r3, r1 806650e: ed83 7b00 vstr d7, [r3] for(i = 0; i < 4; i++) 8066512: f897 3347 ldrb.w r3, [r7, #839] ; 0x347 8066516: 3301 adds r3, #1 8066518: f887 3347 strb.w r3, [r7, #839] ; 0x347 806651c: f897 3347 ldrb.w r3, [r7, #839] ; 0x347 8066520: 2b03 cmp r3, #3 8066522: f67f af70 bls.w 8066406 } arm_biquad_cascade_df2T_init_f64(&D_LP[n], 4, (float64_t *) &D_COEFF_LP[n][0], &State_D_LP[n][0]); 8066526: f8d7 2334 ldr.w r2, [r7, #820] ; 0x334 806652a: 4613 mov r3, r2 806652c: 005b lsls r3, r3, #1 806652e: 4413 add r3, r2 8066530: 009b lsls r3, r3, #2 8066532: 4a16 ldr r2, [pc, #88] ; (806658c ) 8066534: 1898 adds r0, r3, r2 8066536: f8d7 2334 ldr.w r2, [r7, #820] ; 0x334 806653a: 4613 mov r3, r2 806653c: 009b lsls r3, r3, #2 806653e: 4413 add r3, r2 8066540: 015b lsls r3, r3, #5 8066542: 4a11 ldr r2, [pc, #68] ; (8066588 ) 8066544: 1899 adds r1, r3, r2 8066546: f8d7 3334 ldr.w r3, [r7, #820] ; 0x334 806654a: 019b lsls r3, r3, #6 806654c: 4a10 ldr r2, [pc, #64] ; (8066590 ) 806654e: 4413 add r3, r2 8066550: 460a mov r2, r1 8066552: 2104 movs r1, #4 8066554: f063 fe18 bl 80ca188 } 8066558: bf00 nop 806655a: f507 7752 add.w r7, r7, #840 ; 0x348 806655e: 46bd mov sp, r7 8066560: bdb0 pop {r4, r5, r7, pc} 8066562: bf00 nop 8066564: f3af 8000 nop.w 8066568: 9999999a .word 0x9999999a 806656c: 3fb99999 .word 0x3fb99999 ... 8066578: 20021d1c .word 0x20021d1c 806657c: 20023e60 .word 0x20023e60 8066580: 080ef2c0 .word 0x080ef2c0 8066584: 20025918 .word 0x20025918 8066588: 20021298 .word 0x20021298 806658c: 2002629c .word 0x2002629c 8066590: 20026050 .word 0x20026050 08066594 : void initMemCopy(void) { 8066594: b580 push {r7, lr} 8066596: af00 add r7, sp, #0 __HAL_DMA_DISABLE(&hdma_memtomem16); 8066598: 4b20 ldr r3, [pc, #128] ; (806661c ) 806659a: 681b ldr r3, [r3, #0] 806659c: 4a1f ldr r2, [pc, #124] ; (806661c ) 806659e: 6812 ldr r2, [r2, #0] 80665a0: 6812 ldr r2, [r2, #0] 80665a2: f022 0201 bic.w r2, r2, #1 80665a6: 601a str r2, [r3, #0] while(HAL_DMA_GetState(&hdma_memtomem16) == HAL_DMA_STATE_BUSY); 80665a8: bf00 nop 80665aa: 481c ldr r0, [pc, #112] ; (806661c ) 80665ac: f04e f9e4 bl 80b4978 80665b0: 4603 mov r3, r0 80665b2: 2b02 cmp r3, #2 80665b4: d0f9 beq.n 80665aa hdma_memtomem16.Instance = DMA2_Stream0; 80665b6: 4b19 ldr r3, [pc, #100] ; (806661c ) 80665b8: 4a19 ldr r2, [pc, #100] ; (8066620 ) 80665ba: 601a str r2, [r3, #0] hdma_memtomem16.Init.Channel = DMA_CHANNEL_0; 80665bc: 4b17 ldr r3, [pc, #92] ; (806661c ) 80665be: 2200 movs r2, #0 80665c0: 605a str r2, [r3, #4] hdma_memtomem16.Init.Direction = DMA_MEMORY_TO_MEMORY; 80665c2: 4b16 ldr r3, [pc, #88] ; (806661c ) 80665c4: 2280 movs r2, #128 ; 0x80 80665c6: 609a str r2, [r3, #8] hdma_memtomem16.Init.PeriphInc = DMA_PINC_ENABLE; 80665c8: 4b14 ldr r3, [pc, #80] ; (806661c ) 80665ca: f44f 7200 mov.w r2, #512 ; 0x200 80665ce: 60da str r2, [r3, #12] hdma_memtomem16.Init.MemInc = DMA_MINC_ENABLE; 80665d0: 4b12 ldr r3, [pc, #72] ; (806661c ) 80665d2: f44f 6280 mov.w r2, #1024 ; 0x400 80665d6: 611a str r2, [r3, #16] hdma_memtomem16.Init.PeriphDataAlignment = DMA_PDATAALIGN_HALFWORD; //DMA_PDATAALIGN_HALFWORD; 80665d8: 4b10 ldr r3, [pc, #64] ; (806661c ) 80665da: f44f 6200 mov.w r2, #2048 ; 0x800 80665de: 615a str r2, [r3, #20] hdma_memtomem16.Init.MemDataAlignment = DMA_MDATAALIGN_HALFWORD; //DMA_MDATAALIGN_HALFWORD; 80665e0: 4b0e ldr r3, [pc, #56] ; (806661c ) 80665e2: f44f 5200 mov.w r2, #8192 ; 0x2000 80665e6: 619a str r2, [r3, #24] hdma_memtomem16.Init.Mode = DMA_NORMAL; 80665e8: 4b0c ldr r3, [pc, #48] ; (806661c ) 80665ea: 2200 movs r2, #0 80665ec: 61da str r2, [r3, #28] hdma_memtomem16.Init.Priority = DMA_PRIORITY_VERY_HIGH; 80665ee: 4b0b ldr r3, [pc, #44] ; (806661c ) 80665f0: f44f 3240 mov.w r2, #196608 ; 0x30000 80665f4: 621a str r2, [r3, #32] hdma_memtomem16.Init.FIFOMode = DMA_FIFOMODE_DISABLE; 80665f6: 4b09 ldr r3, [pc, #36] ; (806661c ) 80665f8: 2200 movs r2, #0 80665fa: 625a str r2, [r3, #36] ; 0x24 hdma_memtomem16.XferCpltCallback = MEMTOMEM_DMACopyTransferCplt; 80665fc: 4b07 ldr r3, [pc, #28] ; (806661c ) 80665fe: 4a09 ldr r2, [pc, #36] ; (8066624 ) 8066600: 63da str r2, [r3, #60] ; 0x3c if(HAL_DMA_Init(&hdma_memtomem16) != HAL_OK) { 8066602: 4806 ldr r0, [pc, #24] ; (806661c ) 8066604: f04d fe30 bl 80b4268 8066608: 4603 mov r3, r0 806660a: 2b00 cmp r3, #0 806660c: d001 beq.n 8066612 Error_Handler(); 806660e: f7ee fbff bl 8054e10 } DMA_ACTIVE = 0; 8066612: 4b05 ldr r3, [pc, #20] ; (8066628 ) 8066614: 2200 movs r2, #0 8066616: 601a str r2, [r3, #0] } 8066618: bf00 nop 806661a: bd80 pop {r7, pc} 806661c: 20026bd4 .word 0x20026bd4 8066620: 40026410 .word 0x40026410 8066624: 0806662d .word 0x0806662d 8066628: 2002151c .word 0x2002151c 0806662c : } } } static void MEMTOMEM_DMACopyTransferCplt(DMA_HandleTypeDef *hdma) { 806662c: b480 push {r7} 806662e: b083 sub sp, #12 8066630: af00 add r7, sp, #0 8066632: 6078 str r0, [r7, #4] DMA_ACTIVE = 0; 8066634: 4b04 ldr r3, [pc, #16] ; (8066648 ) 8066636: 2200 movs r2, #0 8066638: 601a str r2, [r3, #0] } 806663a: bf00 nop 806663c: 370c adds r7, #12 806663e: 46bd mov sp, r7 8066640: f85d 7b04 ldr.w r7, [sp], #4 8066644: 4770 bx lr 8066646: bf00 nop 8066648: 2002151c .word 0x2002151c 0806664c : uint32_t FsIndex(void) { 806664c: b480 push {r7} 806664e: af00 add r7, sp, #0 if(Fs == 125) 8066650: 4b28 ldr r3, [pc, #160] ; (80666f4 ) 8066652: 681b ldr r3, [r3, #0] 8066654: 2b7d cmp r3, #125 ; 0x7d 8066656: d101 bne.n 806665c return 0; 8066658: 2300 movs r3, #0 806665a: e045 b.n 80666e8 else if(Fs == 250) 806665c: 4b25 ldr r3, [pc, #148] ; (80666f4 ) 806665e: 681b ldr r3, [r3, #0] 8066660: 2bfa cmp r3, #250 ; 0xfa 8066662: d101 bne.n 8066668 return 1; 8066664: 2301 movs r3, #1 8066666: e03f b.n 80666e8 else if(Fs == 500) 8066668: 4b22 ldr r3, [pc, #136] ; (80666f4 ) 806666a: 681b ldr r3, [r3, #0] 806666c: f5b3 7ffa cmp.w r3, #500 ; 0x1f4 8066670: d101 bne.n 8066676 return 2; 8066672: 2302 movs r3, #2 8066674: e038 b.n 80666e8 else if(Fs == 1000) 8066676: 4b1f ldr r3, [pc, #124] ; (80666f4 ) 8066678: 681b ldr r3, [r3, #0] 806667a: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 806667e: d101 bne.n 8066684 return 3; 8066680: 2303 movs r3, #3 8066682: e031 b.n 80666e8 else if(Fs == 2000) 8066684: 4b1b ldr r3, [pc, #108] ; (80666f4 ) 8066686: 681b ldr r3, [r3, #0] 8066688: f5b3 6ffa cmp.w r3, #2000 ; 0x7d0 806668c: d101 bne.n 8066692 return 4; 806668e: 2304 movs r3, #4 8066690: e02a b.n 80666e8 else if(Fs == 4000) 8066692: 4b18 ldr r3, [pc, #96] ; (80666f4 ) 8066694: 681b ldr r3, [r3, #0] 8066696: f5b3 6f7a cmp.w r3, #4000 ; 0xfa0 806669a: d101 bne.n 80666a0 return 5; 806669c: 2305 movs r3, #5 806669e: e023 b.n 80666e8 else if(Fs == 8000) 80666a0: 4b14 ldr r3, [pc, #80] ; (80666f4 ) 80666a2: 681b ldr r3, [r3, #0] 80666a4: f5b3 5ffa cmp.w r3, #8000 ; 0x1f40 80666a8: d101 bne.n 80666ae return 6; 80666aa: 2306 movs r3, #6 80666ac: e01c b.n 80666e8 else if(Fs == 16000) 80666ae: 4b11 ldr r3, [pc, #68] ; (80666f4 ) 80666b0: 681b ldr r3, [r3, #0] 80666b2: f5b3 5f7a cmp.w r3, #16000 ; 0x3e80 80666b6: d101 bne.n 80666bc return 7; 80666b8: 2307 movs r3, #7 80666ba: e015 b.n 80666e8 else if(Fs == 32000) 80666bc: 4b0d ldr r3, [pc, #52] ; (80666f4 ) 80666be: 681b ldr r3, [r3, #0] 80666c0: f5b3 4ffa cmp.w r3, #32000 ; 0x7d00 80666c4: d101 bne.n 80666ca return 8; 80666c6: 2308 movs r3, #8 80666c8: e00e b.n 80666e8 else if(Fs == 64000) 80666ca: 4b0a ldr r3, [pc, #40] ; (80666f4 ) 80666cc: 681b ldr r3, [r3, #0] 80666ce: f5b3 4f7a cmp.w r3, #64000 ; 0xfa00 80666d2: d101 bne.n 80666d8 return 9; 80666d4: 2309 movs r3, #9 80666d6: e007 b.n 80666e8 else { pardata.FRQ = _64000Hz; 80666d8: 4b07 ldr r3, [pc, #28] ; (80666f8 ) 80666da: 2209 movs r2, #9 80666dc: 72da strb r2, [r3, #11] Fs = 64000; 80666de: 4b05 ldr r3, [pc, #20] ; (80666f4 ) 80666e0: f44f 427a mov.w r2, #64000 ; 0xfa00 80666e4: 601a str r2, [r3, #0] return 9; 80666e6: 2309 movs r3, #9 } } 80666e8: 4618 mov r0, r3 80666ea: 46bd mov sp, r7 80666ec: f85d 7b04 ldr.w r7, [sp], #4 80666f0: 4770 bx lr 80666f2: bf00 nop 80666f4: 20021d1c .word 0x20021d1c 80666f8: 20023e60 .word 0x20023e60 80666fc: 00000000 .word 0x00000000 08066700 : uint8_t * FloatToASCII(float32_t Val, int32_t RoundTo) { 8066700: b580 push {r7, lr} 8066702: b098 sub sp, #96 ; 0x60 8066704: af00 add r7, sp, #0 8066706: ed87 0a01 vstr s0, [r7, #4] 806670a: 6038 str r0, [r7, #0] uint8_t idx = 0; 806670c: 2300 movs r3, #0 806670e: f887 305f strb.w r3, [r7, #95] ; 0x5f int32_t i; float32_t value, F, I; uint32_t rnd = 0; 8066712: 2300 movs r3, #0 8066714: 653b str r3, [r7, #80] ; 0x50 uint32_t Tmp32 = 0; 8066716: 2300 movs r3, #0 8066718: 63fb str r3, [r7, #60] ; 0x3c uint32_t Int32 = 0; 806671a: 2300 movs r3, #0 806671c: 64fb str r3, [r7, #76] ; 0x4c uint32_t Frac32 = 0; 806671e: 2300 movs r3, #0 8066720: 64bb str r3, [r7, #72] ; 0x48 uint32_t _I32 = 0; 8066722: 2300 movs r3, #0 8066724: 63bb str r3, [r7, #56] ; 0x38 uint32_t _F32 = 0; 8066726: 2300 movs r3, #0 8066728: 637b str r3, [r7, #52] ; 0x34 uint32_t d = 0, dd = 0; 806672a: 2300 movs r3, #0 806672c: 647b str r3, [r7, #68] ; 0x44 806672e: 2300 movs r3, #0 8066730: 643b str r3, [r7, #64] ; 0x40 char tmparray[32]; volatile bool minus = false; 8066732: 2300 movs r3, #0 8066734: 72fb strb r3, [r7, #11] memset(tmparray, 0, 32); 8066736: f107 030c add.w r3, r7, #12 806673a: 2220 movs r2, #32 806673c: 2100 movs r1, #0 806673e: 4618 mov r0, r3 8066740: f066 fc82 bl 80cd048 memset(pString, 0, 16); 8066744: 2210 movs r2, #16 8066746: 2100 movs r1, #0 8066748: 48b7 ldr r0, [pc, #732] ; (8066a28 ) 806674a: f066 fc7d bl 80cd048 value = Val; 806674e: 687b ldr r3, [r7, #4] 8066750: 633b str r3, [r7, #48] ; 0x30 if(value < 0) 8066752: edd7 7a0c vldr s15, [r7, #48] ; 0x30 8066756: eef5 7ac0 vcmpe.f32 s15, #0.0 806675a: eef1 fa10 vmrs APSR_nzcv, fpscr 806675e: d501 bpl.n 8066764 minus = true; 8066760: 2301 movs r3, #1 8066762: 72fb strb r3, [r7, #11] if((Val >= 99999999.9) || (Val <= -99999999.9)) 8066764: edd7 7a01 vldr s15, [r7, #4] 8066768: eeb7 7ae7 vcvt.f64.f32 d7, s15 806676c: ed9f 6baa vldr d6, [pc, #680] ; 8066a18 8066770: eeb4 7bc6 vcmpe.f64 d7, d6 8066774: eef1 fa10 vmrs APSR_nzcv, fpscr 8066778: da0a bge.n 8066790 806677a: edd7 7a01 vldr s15, [r7, #4] 806677e: eeb7 7ae7 vcvt.f64.f32 d7, s15 8066782: ed9f 6ba7 vldr d6, [pc, #668] ; 8066a20 8066786: eeb4 7bc6 vcmpe.f64 d7, d6 806678a: eef1 fa10 vmrs APSR_nzcv, fpscr 806678e: d83c bhi.n 806680a { if(Val < 0) 8066790: edd7 7a01 vldr s15, [r7, #4] 8066794: eef5 7ac0 vcmpe.f32 s15, #0.0 8066798: eef1 fa10 vmrs APSR_nzcv, fpscr 806679c: d51b bpl.n 80667d6 { pString[0] = '-'; 806679e: 4ba2 ldr r3, [pc, #648] ; (8066a28 ) 80667a0: 222d movs r2, #45 ; 0x2d 80667a2: 701a strb r2, [r3, #0] pString[1] = '9'; 80667a4: 4ba0 ldr r3, [pc, #640] ; (8066a28 ) 80667a6: 2239 movs r2, #57 ; 0x39 80667a8: 705a strb r2, [r3, #1] pString[2] = '9'; 80667aa: 4b9f ldr r3, [pc, #636] ; (8066a28 ) 80667ac: 2239 movs r2, #57 ; 0x39 80667ae: 709a strb r2, [r3, #2] pString[3] = '9'; 80667b0: 4b9d ldr r3, [pc, #628] ; (8066a28 ) 80667b2: 2239 movs r2, #57 ; 0x39 80667b4: 70da strb r2, [r3, #3] pString[4] = '9'; 80667b6: 4b9c ldr r3, [pc, #624] ; (8066a28 ) 80667b8: 2239 movs r2, #57 ; 0x39 80667ba: 711a strb r2, [r3, #4] pString[5] = '9'; 80667bc: 4b9a ldr r3, [pc, #616] ; (8066a28 ) 80667be: 2239 movs r2, #57 ; 0x39 80667c0: 715a strb r2, [r3, #5] pString[6] = '.'; 80667c2: 4b99 ldr r3, [pc, #612] ; (8066a28 ) 80667c4: 222e movs r2, #46 ; 0x2e 80667c6: 719a strb r2, [r3, #6] pString[7] = '9'; 80667c8: 4b97 ldr r3, [pc, #604] ; (8066a28 ) 80667ca: 2239 movs r2, #57 ; 0x39 80667cc: 71da strb r2, [r3, #7] pString[8] = '\0'; 80667ce: 4b96 ldr r3, [pc, #600] ; (8066a28 ) 80667d0: 2200 movs r2, #0 80667d2: 721a strb r2, [r3, #8] 80667d4: e017 b.n 8066806 } else { pString[0] = '9'; 80667d6: 4b94 ldr r3, [pc, #592] ; (8066a28 ) 80667d8: 2239 movs r2, #57 ; 0x39 80667da: 701a strb r2, [r3, #0] pString[1] = '9'; 80667dc: 4b92 ldr r3, [pc, #584] ; (8066a28 ) 80667de: 2239 movs r2, #57 ; 0x39 80667e0: 705a strb r2, [r3, #1] pString[2] = '9'; 80667e2: 4b91 ldr r3, [pc, #580] ; (8066a28 ) 80667e4: 2239 movs r2, #57 ; 0x39 80667e6: 709a strb r2, [r3, #2] pString[3] = '9'; 80667e8: 4b8f ldr r3, [pc, #572] ; (8066a28 ) 80667ea: 2239 movs r2, #57 ; 0x39 80667ec: 70da strb r2, [r3, #3] pString[4] = '9'; 80667ee: 4b8e ldr r3, [pc, #568] ; (8066a28 ) 80667f0: 2239 movs r2, #57 ; 0x39 80667f2: 711a strb r2, [r3, #4] pString[5] = '.'; 80667f4: 4b8c ldr r3, [pc, #560] ; (8066a28 ) 80667f6: 222e movs r2, #46 ; 0x2e 80667f8: 715a strb r2, [r3, #5] pString[6] = '9'; 80667fa: 4b8b ldr r3, [pc, #556] ; (8066a28 ) 80667fc: 2239 movs r2, #57 ; 0x39 80667fe: 719a strb r2, [r3, #6] pString[7] = '\0'; 8066800: 4b89 ldr r3, [pc, #548] ; (8066a28 ) 8066802: 2200 movs r2, #0 8066804: 71da strb r2, [r3, #7] } return pString; 8066806: 4b88 ldr r3, [pc, #544] ; (8066a28 ) 8066808: e171 b.n 8066aee } value = ABS(Val); 806680a: edd7 7a01 vldr s15, [r7, #4] 806680e: eef5 7ac0 vcmpe.f32 s15, #0.0 8066812: eef1 fa10 vmrs APSR_nzcv, fpscr 8066816: dd02 ble.n 806681e 8066818: edd7 7a01 vldr s15, [r7, #4] 806681c: e003 b.n 8066826 806681e: edd7 7a01 vldr s15, [r7, #4] 8066822: eef1 7a67 vneg.f32 s15, s15 8066826: edc7 7a0c vstr s15, [r7, #48] ; 0x30 rnd = ABS(RoundTo); 806682a: 683b ldr r3, [r7, #0] 806682c: 2b00 cmp r3, #0 806682e: bfb8 it lt 8066830: 425b neglt r3, r3 8066832: 653b str r3, [r7, #80] ; 0x50 if(RoundTo < 0) 8066834: 683b ldr r3, [r7, #0] 8066836: 2b00 cmp r3, #0 8066838: da47 bge.n 80668ca { F = modff(value, &I); 806683a: f107 032c add.w r3, r7, #44 ; 0x2c 806683e: 4618 mov r0, r3 8066840: ed97 0a0c vldr s0, [r7, #48] ; 0x30 8066844: f064 f9da bl 80cabfc 8066848: ed87 0a15 vstr s0, [r7, #84] ; 0x54 while(rnd) 806684c: e00d b.n 806686a { F *= 10.0f; 806684e: edd7 7a15 vldr s15, [r7, #84] ; 0x54 8066852: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 8066856: ee67 7a87 vmul.f32 s15, s15, s14 806685a: edc7 7a15 vstr s15, [r7, #84] ; 0x54 rnd--; 806685e: 6d3b ldr r3, [r7, #80] ; 0x50 8066860: 3b01 subs r3, #1 8066862: 653b str r3, [r7, #80] ; 0x50 d++; 8066864: 6c7b ldr r3, [r7, #68] ; 0x44 8066866: 3301 adds r3, #1 8066868: 647b str r3, [r7, #68] ; 0x44 while(rnd) 806686a: 6d3b ldr r3, [r7, #80] ; 0x50 806686c: 2b00 cmp r3, #0 806686e: d1ee bne.n 806684e } F = roundf(F); 8066870: ed97 0a15 vldr s0, [r7, #84] ; 0x54 8066874: f064 f9ea bl 80cac4c 8066878: ed87 0a15 vstr s0, [r7, #84] ; 0x54 dd = 1; 806687c: 2301 movs r3, #1 806687e: 643b str r3, [r7, #64] ; 0x40 for(i = 0; i < d; i++) 8066880: 2300 movs r3, #0 8066882: 65bb str r3, [r7, #88] ; 0x58 8066884: e008 b.n 8066898 dd *= 10; 8066886: 6c3a ldr r2, [r7, #64] ; 0x40 8066888: 4613 mov r3, r2 806688a: 009b lsls r3, r3, #2 806688c: 4413 add r3, r2 806688e: 005b lsls r3, r3, #1 8066890: 643b str r3, [r7, #64] ; 0x40 for(i = 0; i < d; i++) 8066892: 6dbb ldr r3, [r7, #88] ; 0x58 8066894: 3301 adds r3, #1 8066896: 65bb str r3, [r7, #88] ; 0x58 8066898: 6dba ldr r2, [r7, #88] ; 0x58 806689a: 6c7b ldr r3, [r7, #68] ; 0x44 806689c: 429a cmp r2, r3 806689e: d3f2 bcc.n 8066886 if((uint32_t) F == dd) 80668a0: edd7 7a15 vldr s15, [r7, #84] ; 0x54 80668a4: eefc 7ae7 vcvt.u32.f32 s15, s15 80668a8: ee17 2a90 vmov r2, s15 80668ac: 6c3b ldr r3, [r7, #64] ; 0x40 80668ae: 429a cmp r2, r3 80668b0: d116 bne.n 80668e0 { F = 0; 80668b2: f04f 0300 mov.w r3, #0 80668b6: 657b str r3, [r7, #84] ; 0x54 I += 1; 80668b8: edd7 7a0b vldr s15, [r7, #44] ; 0x2c 80668bc: eeb7 7a00 vmov.f32 s14, #112 ; 0x3f800000 1.0 80668c0: ee77 7a87 vadd.f32 s15, s15, s14 80668c4: edc7 7a0b vstr s15, [r7, #44] ; 0x2c 80668c8: e00a b.n 80668e0 } } else { I = roundf(value); 80668ca: ed97 0a0c vldr s0, [r7, #48] ; 0x30 80668ce: f064 f9bd bl 80cac4c 80668d2: eef0 7a40 vmov.f32 s15, s0 80668d6: edc7 7a0b vstr s15, [r7, #44] ; 0x2c F = 0.0f; 80668da: f04f 0300 mov.w r3, #0 80668de: 657b str r3, [r7, #84] ; 0x54 } Int32 = (uint32_t) I; 80668e0: edd7 7a0b vldr s15, [r7, #44] ; 0x2c 80668e4: eefc 7ae7 vcvt.u32.f32 s15, s15 80668e8: ee17 3a90 vmov r3, s15 80668ec: 64fb str r3, [r7, #76] ; 0x4c Frac32 = (uint32_t) F; 80668ee: edd7 7a15 vldr s15, [r7, #84] ; 0x54 80668f2: eefc 7ae7 vcvt.u32.f32 s15, s15 80668f6: ee17 3a90 vmov r3, s15 80668fa: 64bb str r3, [r7, #72] ; 0x48 _I32 = Int32; 80668fc: 6cfb ldr r3, [r7, #76] ; 0x4c 80668fe: 63bb str r3, [r7, #56] ; 0x38 _F32 = Frac32; 8066900: 6cbb ldr r3, [r7, #72] ; 0x48 8066902: 637b str r3, [r7, #52] ; 0x34 idx = 0; 8066904: 2300 movs r3, #0 8066906: f887 305f strb.w r3, [r7, #95] ; 0x5f tmparray[idx++] = '\0'; 806690a: f897 305f ldrb.w r3, [r7, #95] ; 0x5f 806690e: 1c5a adds r2, r3, #1 8066910: f887 205f strb.w r2, [r7, #95] ; 0x5f 8066914: f107 0260 add.w r2, r7, #96 ; 0x60 8066918: 4413 add r3, r2 806691a: 2200 movs r2, #0 806691c: f803 2c54 strb.w r2, [r3, #-84] if((Int32 == 0) && (Frac32 == 0)) 8066920: 6cfb ldr r3, [r7, #76] ; 0x4c 8066922: 2b00 cmp r3, #0 8066924: d135 bne.n 8066992 8066926: 6cbb ldr r3, [r7, #72] ; 0x48 8066928: 2b00 cmp r3, #0 806692a: d132 bne.n 8066992 { if(RoundTo < 0) 806692c: 683b ldr r3, [r7, #0] 806692e: 2b00 cmp r3, #0 8066930: da23 bge.n 806697a { for(i = 0; i < ABS(RoundTo); i++) 8066932: 2300 movs r3, #0 8066934: 65bb str r3, [r7, #88] ; 0x58 8066936: e00d b.n 8066954 tmparray[idx++] = '0'; 8066938: f897 305f ldrb.w r3, [r7, #95] ; 0x5f 806693c: 1c5a adds r2, r3, #1 806693e: f887 205f strb.w r2, [r7, #95] ; 0x5f 8066942: f107 0260 add.w r2, r7, #96 ; 0x60 8066946: 4413 add r3, r2 8066948: 2230 movs r2, #48 ; 0x30 806694a: f803 2c54 strb.w r2, [r3, #-84] for(i = 0; i < ABS(RoundTo); i++) 806694e: 6dbb ldr r3, [r7, #88] ; 0x58 8066950: 3301 adds r3, #1 8066952: 65bb str r3, [r7, #88] ; 0x58 8066954: 683b ldr r3, [r7, #0] 8066956: ea83 72e3 eor.w r2, r3, r3, asr #31 806695a: eba2 72e3 sub.w r2, r2, r3, asr #31 806695e: 6dbb ldr r3, [r7, #88] ; 0x58 8066960: 429a cmp r2, r3 8066962: dce9 bgt.n 8066938 tmparray[idx++] = '.'; 8066964: f897 305f ldrb.w r3, [r7, #95] ; 0x5f 8066968: 1c5a adds r2, r3, #1 806696a: f887 205f strb.w r2, [r7, #95] ; 0x5f 806696e: f107 0260 add.w r2, r7, #96 ; 0x60 8066972: 4413 add r3, r2 8066974: 222e movs r2, #46 ; 0x2e 8066976: f803 2c54 strb.w r2, [r3, #-84] } tmparray[idx++] = '0'; 806697a: f897 305f ldrb.w r3, [r7, #95] ; 0x5f 806697e: 1c5a adds r2, r3, #1 8066980: f887 205f strb.w r2, [r7, #95] ; 0x5f 8066984: f107 0260 add.w r2, r7, #96 ; 0x60 8066988: 4413 add r3, r2 806698a: 2230 movs r2, #48 ; 0x30 806698c: f803 2c54 strb.w r2, [r3, #-84] 8066990: e092 b.n 8066ab8 } else { if(RoundTo < 0) 8066992: 683b ldr r3, [r7, #0] 8066994: 2b00 cmp r3, #0 8066996: da38 bge.n 8066a0a { for(i = 0; i < ABS(RoundTo); i++) 8066998: 2300 movs r3, #0 806699a: 65bb str r3, [r7, #88] ; 0x58 806699c: e022 b.n 80669e4 { Tmp32 = Frac32; 806699e: 6cbb ldr r3, [r7, #72] ; 0x48 80669a0: 63fb str r3, [r7, #60] ; 0x3c Frac32 /= 10; 80669a2: 6cbb ldr r3, [r7, #72] ; 0x48 80669a4: 4a21 ldr r2, [pc, #132] ; (8066a2c ) 80669a6: fba2 2303 umull r2, r3, r2, r3 80669aa: 08db lsrs r3, r3, #3 80669ac: 64bb str r3, [r7, #72] ; 0x48 Tmp32 = Tmp32 - Frac32 * 10; 80669ae: 6cba ldr r2, [r7, #72] ; 0x48 80669b0: 4613 mov r3, r2 80669b2: 009b lsls r3, r3, #2 80669b4: 4413 add r3, r2 80669b6: 005b lsls r3, r3, #1 80669b8: 461a mov r2, r3 80669ba: 6bfb ldr r3, [r7, #60] ; 0x3c 80669bc: 1a9b subs r3, r3, r2 80669be: 63fb str r3, [r7, #60] ; 0x3c tmparray[idx++] = '0' + Tmp32; 80669c0: f897 305f ldrb.w r3, [r7, #95] ; 0x5f 80669c4: 1c5a adds r2, r3, #1 80669c6: f887 205f strb.w r2, [r7, #95] ; 0x5f 80669ca: 4619 mov r1, r3 80669cc: 6bfb ldr r3, [r7, #60] ; 0x3c 80669ce: b2db uxtb r3, r3 80669d0: 3330 adds r3, #48 ; 0x30 80669d2: b2da uxtb r2, r3 80669d4: f107 0360 add.w r3, r7, #96 ; 0x60 80669d8: 440b add r3, r1 80669da: f803 2c54 strb.w r2, [r3, #-84] for(i = 0; i < ABS(RoundTo); i++) 80669de: 6dbb ldr r3, [r7, #88] ; 0x58 80669e0: 3301 adds r3, #1 80669e2: 65bb str r3, [r7, #88] ; 0x58 80669e4: 683b ldr r3, [r7, #0] 80669e6: ea83 72e3 eor.w r2, r3, r3, asr #31 80669ea: eba2 72e3 sub.w r2, r2, r3, asr #31 80669ee: 6dbb ldr r3, [r7, #88] ; 0x58 80669f0: 429a cmp r2, r3 80669f2: dcd4 bgt.n 806699e } tmparray[idx++] = '.'; 80669f4: f897 305f ldrb.w r3, [r7, #95] ; 0x5f 80669f8: 1c5a adds r2, r3, #1 80669fa: f887 205f strb.w r2, [r7, #95] ; 0x5f 80669fe: f107 0260 add.w r2, r7, #96 ; 0x60 8066a02: 4413 add r3, r2 8066a04: 222e movs r2, #46 ; 0x2e 8066a06: f803 2c54 strb.w r2, [r3, #-84] } if(Int32 != 0) 8066a0a: 6cfb ldr r3, [r7, #76] ; 0x4c 8066a0c: 2b00 cmp r3, #0 8066a0e: d033 beq.n 8066a78 { while(Int32) 8066a10: e02e b.n 8066a70 8066a12: bf00 nop 8066a14: f3af 8000 nop.w 8066a18: ff99999a .word 0xff99999a 8066a1c: 4197d783 .word 0x4197d783 8066a20: ff99999a .word 0xff99999a 8066a24: c197d783 .word 0xc197d783 8066a28: 20026cb8 .word 0x20026cb8 8066a2c: cccccccd .word 0xcccccccd { Tmp32 = Int32; 8066a30: 6cfb ldr r3, [r7, #76] ; 0x4c 8066a32: 63fb str r3, [r7, #60] ; 0x3c Int32 /= 10; 8066a34: 6cfb ldr r3, [r7, #76] ; 0x4c 8066a36: 4a30 ldr r2, [pc, #192] ; (8066af8 ) 8066a38: fba2 2303 umull r2, r3, r2, r3 8066a3c: 08db lsrs r3, r3, #3 8066a3e: 64fb str r3, [r7, #76] ; 0x4c Tmp32 = Tmp32 - Int32 * 10; 8066a40: 6cfa ldr r2, [r7, #76] ; 0x4c 8066a42: 4613 mov r3, r2 8066a44: 009b lsls r3, r3, #2 8066a46: 4413 add r3, r2 8066a48: 005b lsls r3, r3, #1 8066a4a: 461a mov r2, r3 8066a4c: 6bfb ldr r3, [r7, #60] ; 0x3c 8066a4e: 1a9b subs r3, r3, r2 8066a50: 63fb str r3, [r7, #60] ; 0x3c tmparray[idx++] = '0' + Tmp32; 8066a52: f897 305f ldrb.w r3, [r7, #95] ; 0x5f 8066a56: 1c5a adds r2, r3, #1 8066a58: f887 205f strb.w r2, [r7, #95] ; 0x5f 8066a5c: 4619 mov r1, r3 8066a5e: 6bfb ldr r3, [r7, #60] ; 0x3c 8066a60: b2db uxtb r3, r3 8066a62: 3330 adds r3, #48 ; 0x30 8066a64: b2da uxtb r2, r3 8066a66: f107 0360 add.w r3, r7, #96 ; 0x60 8066a6a: 440b add r3, r1 8066a6c: f803 2c54 strb.w r2, [r3, #-84] while(Int32) 8066a70: 6cfb ldr r3, [r7, #76] ; 0x4c 8066a72: 2b00 cmp r3, #0 8066a74: d1dc bne.n 8066a30 8066a76: e00a b.n 8066a8e } } else tmparray[idx++] = '0'; 8066a78: f897 305f ldrb.w r3, [r7, #95] ; 0x5f 8066a7c: 1c5a adds r2, r3, #1 8066a7e: f887 205f strb.w r2, [r7, #95] ; 0x5f 8066a82: f107 0260 add.w r2, r7, #96 ; 0x60 8066a86: 4413 add r3, r2 8066a88: 2230 movs r2, #48 ; 0x30 8066a8a: f803 2c54 strb.w r2, [r3, #-84] if(minus) 8066a8e: 7afb ldrb r3, [r7, #11] 8066a90: b2db uxtb r3, r3 8066a92: 2b00 cmp r3, #0 8066a94: d010 beq.n 8066ab8 { if((_I32 != 0) || (_F32 != 0)) 8066a96: 6bbb ldr r3, [r7, #56] ; 0x38 8066a98: 2b00 cmp r3, #0 8066a9a: d102 bne.n 8066aa2 8066a9c: 6b7b ldr r3, [r7, #52] ; 0x34 8066a9e: 2b00 cmp r3, #0 8066aa0: d00a beq.n 8066ab8 tmparray[idx++] = '-'; 8066aa2: f897 305f ldrb.w r3, [r7, #95] ; 0x5f 8066aa6: 1c5a adds r2, r3, #1 8066aa8: f887 205f strb.w r2, [r7, #95] ; 0x5f 8066aac: f107 0260 add.w r2, r7, #96 ; 0x60 8066ab0: 4413 add r3, r2 8066ab2: 222d movs r2, #45 ; 0x2d 8066ab4: f803 2c54 strb.w r2, [r3, #-84] } } for(i = 0; i < idx; i++) 8066ab8: 2300 movs r3, #0 8066aba: 65bb str r3, [r7, #88] ; 0x58 8066abc: e011 b.n 8066ae2 pString[i] = tmparray[idx - i - 1]; 8066abe: f897 205f ldrb.w r2, [r7, #95] ; 0x5f 8066ac2: 6dbb ldr r3, [r7, #88] ; 0x58 8066ac4: 1ad3 subs r3, r2, r3 8066ac6: 3b01 subs r3, #1 8066ac8: f107 0260 add.w r2, r7, #96 ; 0x60 8066acc: 4413 add r3, r2 8066ace: f813 1c54 ldrb.w r1, [r3, #-84] 8066ad2: 4a0a ldr r2, [pc, #40] ; (8066afc ) 8066ad4: 6dbb ldr r3, [r7, #88] ; 0x58 8066ad6: 4413 add r3, r2 8066ad8: 460a mov r2, r1 8066ada: 701a strb r2, [r3, #0] for(i = 0; i < idx; i++) 8066adc: 6dbb ldr r3, [r7, #88] ; 0x58 8066ade: 3301 adds r3, #1 8066ae0: 65bb str r3, [r7, #88] ; 0x58 8066ae2: f897 205f ldrb.w r2, [r7, #95] ; 0x5f 8066ae6: 6dbb ldr r3, [r7, #88] ; 0x58 8066ae8: 429a cmp r2, r3 8066aea: dce8 bgt.n 8066abe return pString; 8066aec: 4b03 ldr r3, [pc, #12] ; (8066afc ) } 8066aee: 4618 mov r0, r3 8066af0: 3760 adds r7, #96 ; 0x60 8066af2: 46bd mov sp, r7 8066af4: bd80 pop {r7, pc} 8066af6: bf00 nop 8066af8: cccccccd .word 0xcccccccd 8066afc: 20026cb8 .word 0x20026cb8 08066b00 : void MyFFT(uint32_t len, int32_t inverse) { 8066b00: b580 push {r7, lr} 8066b02: b098 sub sp, #96 ; 0x60 8066b04: af00 add r7, sp, #0 8066b06: 6078 str r0, [r7, #4] 8066b08: 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); 8066b0a: 687b ldr r3, [r7, #4] 8066b0c: ee07 3a90 vmov s15, r3 8066b10: eef8 7a67 vcvt.f32.u32 s15, s15 8066b14: eeb0 0a67 vmov.f32 s0, s15 8066b18: f064 f866 bl 80cabe8 8066b1c: eeb0 7a40 vmov.f32 s14, s0 8066b20: eef6 7a00 vmov.f32 s15, #96 ; 0x3f000000 0.5 8066b24: ee77 7a27 vadd.f32 s15, s14, s15 8066b28: eefc 7ae7 vcvt.u32.f32 s15, s15 8066b2c: ee17 3a90 vmov r3, s15 8066b30: 643b str r3, [r7, #64] ; 0x40 for(l = 1; l <= n; l++) 8066b32: 2301 movs r3, #1 8066b34: 65fb str r3, [r7, #92] ; 0x5c 8066b36: e0ea b.n 8066d0e { u = 1.0f; 8066b38: f04f 537e mov.w r3, #1065353216 ; 0x3f800000 8066b3c: 64fb str r3, [r7, #76] ; 0x4c v = 0.0f; 8066b3e: f04f 0300 mov.w r3, #0 8066b42: 64bb str r3, [r7, #72] ; 0x48 e = (1 << (n - l + 1)); 8066b44: 6c3a ldr r2, [r7, #64] ; 0x40 8066b46: 6dfb ldr r3, [r7, #92] ; 0x5c 8066b48: 1ad3 subs r3, r2, r3 8066b4a: 3301 adds r3, #1 8066b4c: 2201 movs r2, #1 8066b4e: fa02 f303 lsl.w r3, r2, r3 8066b52: 63fb str r3, [r7, #60] ; 0x3c f = (e >> 1); 8066b54: 6bfb ldr r3, [r7, #60] ; 0x3c 8066b56: 085b lsrs r3, r3, #1 8066b58: 63bb str r3, [r7, #56] ; 0x38 z = PI / f; 8066b5a: 6bbb ldr r3, [r7, #56] ; 0x38 8066b5c: ee07 3a90 vmov s15, r3 8066b60: eeb8 7a67 vcvt.f32.u32 s14, s15 8066b64: eddf 6ab8 vldr s13, [pc, #736] ; 8066e48 8066b68: eec6 7a87 vdiv.f32 s15, s13, s14 8066b6c: edc7 7a0d vstr s15, [r7, #52] ; 0x34 c = arm_cos_f32(z); 8066b70: ed97 0a0d vldr s0, [r7, #52] ; 0x34 8066b74: f04b fd02 bl 80b257c 8066b78: ed87 0a0c vstr s0, [r7, #48] ; 0x30 s = arm_sin_f32(z); 8066b7c: ed97 0a0d vldr s0, [r7, #52] ; 0x34 8066b80: f04c fa82 bl 80b3088 8066b84: ed87 0a11 vstr s0, [r7, #68] ; 0x44 if(inverse == 0) { 8066b88: 683b ldr r3, [r7, #0] 8066b8a: 2b00 cmp r3, #0 8066b8c: d105 bne.n 8066b9a s = -s; 8066b8e: edd7 7a11 vldr s15, [r7, #68] ; 0x44 8066b92: eef1 7a67 vneg.f32 s15, s15 8066b96: edc7 7a11 vstr s15, [r7, #68] ; 0x44 } for(j = 1; j <= f; j++) 8066b9a: 2301 movs r3, #1 8066b9c: 657b str r3, [r7, #84] ; 0x54 8066b9e: e0ae b.n 8066cfe { i = j; 8066ba0: 6d7b ldr r3, [r7, #84] ; 0x54 8066ba2: 65bb str r3, [r7, #88] ; 0x58 while(i <= len) 8066ba4: e081 b.n 8066caa { o = i + f - 1; 8066ba6: 6dba ldr r2, [r7, #88] ; 0x58 8066ba8: 6bbb ldr r3, [r7, #56] ; 0x38 8066baa: 4413 add r3, r2 8066bac: 3b01 subs r3, #1 8066bae: 62fb str r3, [r7, #44] ; 0x2c o1 = i - 1; 8066bb0: 6dbb ldr r3, [r7, #88] ; 0x58 8066bb2: 3b01 subs r3, #1 8066bb4: 62bb str r3, [r7, #40] ; 0x28 p = Real(o1) + Real(o); 8066bb6: 6abb ldr r3, [r7, #40] ; 0x28 8066bb8: 009a lsls r2, r3, #2 8066bba: 4ba4 ldr r3, [pc, #656] ; (8066e4c ) 8066bbc: 4413 add r3, r2 8066bbe: ed93 7a00 vldr s14, [r3] 8066bc2: 6afb ldr r3, [r7, #44] ; 0x2c 8066bc4: 009a lsls r2, r3, #2 8066bc6: 4ba1 ldr r3, [pc, #644] ; (8066e4c ) 8066bc8: 4413 add r3, r2 8066bca: edd3 7a00 vldr s15, [r3] 8066bce: ee77 7a27 vadd.f32 s15, s14, s15 8066bd2: edc7 7a09 vstr s15, [r7, #36] ; 0x24 r = Real(o1) - Real(o); 8066bd6: 6abb ldr r3, [r7, #40] ; 0x28 8066bd8: 009a lsls r2, r3, #2 8066bda: 4b9c ldr r3, [pc, #624] ; (8066e4c ) 8066bdc: 4413 add r3, r2 8066bde: ed93 7a00 vldr s14, [r3] 8066be2: 6afb ldr r3, [r7, #44] ; 0x2c 8066be4: 009a lsls r2, r3, #2 8066be6: 4b99 ldr r3, [pc, #612] ; (8066e4c ) 8066be8: 4413 add r3, r2 8066bea: edd3 7a00 vldr s15, [r3] 8066bee: ee77 7a67 vsub.f32 s15, s14, s15 8066bf2: edc7 7a08 vstr s15, [r7, #32] q = Image(o1) + Image(o); 8066bf6: 6abb ldr r3, [r7, #40] ; 0x28 8066bf8: 009a lsls r2, r3, #2 8066bfa: 4b95 ldr r3, [pc, #596] ; (8066e50 ) 8066bfc: 4413 add r3, r2 8066bfe: ed93 7a00 vldr s14, [r3] 8066c02: 6afb ldr r3, [r7, #44] ; 0x2c 8066c04: 009a lsls r2, r3, #2 8066c06: 4b92 ldr r3, [pc, #584] ; (8066e50 ) 8066c08: 4413 add r3, r2 8066c0a: edd3 7a00 vldr s15, [r3] 8066c0e: ee77 7a27 vadd.f32 s15, s14, s15 8066c12: edc7 7a07 vstr s15, [r7, #28] t = Image(o1) - Image(o); 8066c16: 6abb ldr r3, [r7, #40] ; 0x28 8066c18: 009a lsls r2, r3, #2 8066c1a: 4b8d ldr r3, [pc, #564] ; (8066e50 ) 8066c1c: 4413 add r3, r2 8066c1e: ed93 7a00 vldr s14, [r3] 8066c22: 6afb ldr r3, [r7, #44] ; 0x2c 8066c24: 009a lsls r2, r3, #2 8066c26: 4b8a ldr r3, [pc, #552] ; (8066e50 ) 8066c28: 4413 add r3, r2 8066c2a: edd3 7a00 vldr s15, [r3] 8066c2e: ee77 7a67 vsub.f32 s15, s14, s15 8066c32: edc7 7a06 vstr s15, [r7, #24] Real(o) = r * u - t * v; 8066c36: 6afb ldr r3, [r7, #44] ; 0x2c 8066c38: 009a lsls r2, r3, #2 8066c3a: 4b84 ldr r3, [pc, #528] ; (8066e4c ) 8066c3c: 4413 add r3, r2 8066c3e: ed97 7a08 vldr s14, [r7, #32] 8066c42: edd7 7a13 vldr s15, [r7, #76] ; 0x4c 8066c46: ee27 7a27 vmul.f32 s14, s14, s15 8066c4a: edd7 6a06 vldr s13, [r7, #24] 8066c4e: edd7 7a12 vldr s15, [r7, #72] ; 0x48 8066c52: ee66 7aa7 vmul.f32 s15, s13, s15 8066c56: ee77 7a67 vsub.f32 s15, s14, s15 8066c5a: edc3 7a00 vstr s15, [r3] Image(o) = t * u + r * v; 8066c5e: 6afb ldr r3, [r7, #44] ; 0x2c 8066c60: 009a lsls r2, r3, #2 8066c62: 4b7b ldr r3, [pc, #492] ; (8066e50 ) 8066c64: 4413 add r3, r2 8066c66: ed97 7a06 vldr s14, [r7, #24] 8066c6a: edd7 7a13 vldr s15, [r7, #76] ; 0x4c 8066c6e: ee27 7a27 vmul.f32 s14, s14, s15 8066c72: edd7 6a08 vldr s13, [r7, #32] 8066c76: edd7 7a12 vldr s15, [r7, #72] ; 0x48 8066c7a: ee66 7aa7 vmul.f32 s15, s13, s15 8066c7e: ee77 7a27 vadd.f32 s15, s14, s15 8066c82: edc3 7a00 vstr s15, [r3] Real(o1) = p; 8066c86: 6abb ldr r3, [r7, #40] ; 0x28 8066c88: 009a lsls r2, r3, #2 8066c8a: 4b70 ldr r3, [pc, #448] ; (8066e4c ) 8066c8c: 4413 add r3, r2 8066c8e: 461a mov r2, r3 8066c90: 6a7b ldr r3, [r7, #36] ; 0x24 8066c92: 6013 str r3, [r2, #0] Image(o1) = q; 8066c94: 6abb ldr r3, [r7, #40] ; 0x28 8066c96: 009a lsls r2, r3, #2 8066c98: 4b6d ldr r3, [pc, #436] ; (8066e50 ) 8066c9a: 4413 add r3, r2 8066c9c: 461a mov r2, r3 8066c9e: 69fb ldr r3, [r7, #28] 8066ca0: 6013 str r3, [r2, #0] i = i + e; 8066ca2: 6dba ldr r2, [r7, #88] ; 0x58 8066ca4: 6bfb ldr r3, [r7, #60] ; 0x3c 8066ca6: 4413 add r3, r2 8066ca8: 65bb str r3, [r7, #88] ; 0x58 while(i <= len) 8066caa: 6dba ldr r2, [r7, #88] ; 0x58 8066cac: 687b ldr r3, [r7, #4] 8066cae: 429a cmp r2, r3 8066cb0: f67f af79 bls.w 8066ba6 } w = u * c - v * s; 8066cb4: ed97 7a13 vldr s14, [r7, #76] ; 0x4c 8066cb8: edd7 7a0c vldr s15, [r7, #48] ; 0x30 8066cbc: ee27 7a27 vmul.f32 s14, s14, s15 8066cc0: edd7 6a12 vldr s13, [r7, #72] ; 0x48 8066cc4: edd7 7a11 vldr s15, [r7, #68] ; 0x44 8066cc8: ee66 7aa7 vmul.f32 s15, s13, s15 8066ccc: ee77 7a67 vsub.f32 s15, s14, s15 8066cd0: edc7 7a05 vstr s15, [r7, #20] v = v * c + u * s; 8066cd4: ed97 7a12 vldr s14, [r7, #72] ; 0x48 8066cd8: edd7 7a0c vldr s15, [r7, #48] ; 0x30 8066cdc: ee27 7a27 vmul.f32 s14, s14, s15 8066ce0: edd7 6a13 vldr s13, [r7, #76] ; 0x4c 8066ce4: edd7 7a11 vldr s15, [r7, #68] ; 0x44 8066ce8: ee66 7aa7 vmul.f32 s15, s13, s15 8066cec: ee77 7a27 vadd.f32 s15, s14, s15 8066cf0: edc7 7a12 vstr s15, [r7, #72] ; 0x48 u = w; 8066cf4: 697b ldr r3, [r7, #20] 8066cf6: 64fb str r3, [r7, #76] ; 0x4c for(j = 1; j <= f; j++) 8066cf8: 6d7b ldr r3, [r7, #84] ; 0x54 8066cfa: 3301 adds r3, #1 8066cfc: 657b str r3, [r7, #84] ; 0x54 8066cfe: 6d7a ldr r2, [r7, #84] ; 0x54 8066d00: 6bbb ldr r3, [r7, #56] ; 0x38 8066d02: 429a cmp r2, r3 8066d04: f67f af4c bls.w 8066ba0 for(l = 1; l <= n; l++) 8066d08: 6dfb ldr r3, [r7, #92] ; 0x5c 8066d0a: 3301 adds r3, #1 8066d0c: 65fb str r3, [r7, #92] ; 0x5c 8066d0e: 6dfa ldr r2, [r7, #92] ; 0x5c 8066d10: 6c3b ldr r3, [r7, #64] ; 0x40 8066d12: 429a cmp r2, r3 8066d14: f67f af10 bls.w 8066b38 } } j = 1; 8066d18: 2301 movs r3, #1 8066d1a: 657b str r3, [r7, #84] ; 0x54 for(i = 1; i < len; i++) 8066d1c: 2301 movs r3, #1 8066d1e: 65bb str r3, [r7, #88] ; 0x58 8066d20: e04f b.n 8066dc2 { if(i < j) 8066d22: 6dba ldr r2, [r7, #88] ; 0x58 8066d24: 6d7b ldr r3, [r7, #84] ; 0x54 8066d26: 429a cmp r2, r3 8066d28: d235 bcs.n 8066d96 { j1 = j - 1; 8066d2a: 6d7b ldr r3, [r7, #84] ; 0x54 8066d2c: 3b01 subs r3, #1 8066d2e: 613b str r3, [r7, #16] i1 = i - 1; 8066d30: 6dbb ldr r3, [r7, #88] ; 0x58 8066d32: 3b01 subs r3, #1 8066d34: 60fb str r3, [r7, #12] p = Real(j1); 8066d36: 693b ldr r3, [r7, #16] 8066d38: 009a lsls r2, r3, #2 8066d3a: 4b44 ldr r3, [pc, #272] ; (8066e4c ) 8066d3c: 4413 add r3, r2 8066d3e: 681b ldr r3, [r3, #0] 8066d40: 627b str r3, [r7, #36] ; 0x24 q = Image(j1); 8066d42: 693b ldr r3, [r7, #16] 8066d44: 009a lsls r2, r3, #2 8066d46: 4b42 ldr r3, [pc, #264] ; (8066e50 ) 8066d48: 4413 add r3, r2 8066d4a: 681b ldr r3, [r3, #0] 8066d4c: 61fb str r3, [r7, #28] Real(j1) = Real(i1); 8066d4e: 693b ldr r3, [r7, #16] 8066d50: 009a lsls r2, r3, #2 8066d52: 4b3e ldr r3, [pc, #248] ; (8066e4c ) 8066d54: 4413 add r3, r2 8066d56: 4619 mov r1, r3 8066d58: 68fb ldr r3, [r7, #12] 8066d5a: 009a lsls r2, r3, #2 8066d5c: 4b3b ldr r3, [pc, #236] ; (8066e4c ) 8066d5e: 4413 add r3, r2 8066d60: 681b ldr r3, [r3, #0] 8066d62: 600b str r3, [r1, #0] Image(j1) = Image(i1); 8066d64: 693b ldr r3, [r7, #16] 8066d66: 009a lsls r2, r3, #2 8066d68: 4b39 ldr r3, [pc, #228] ; (8066e50 ) 8066d6a: 4413 add r3, r2 8066d6c: 4619 mov r1, r3 8066d6e: 68fb ldr r3, [r7, #12] 8066d70: 009a lsls r2, r3, #2 8066d72: 4b37 ldr r3, [pc, #220] ; (8066e50 ) 8066d74: 4413 add r3, r2 8066d76: 681b ldr r3, [r3, #0] 8066d78: 600b str r3, [r1, #0] Real(i1) = p; 8066d7a: 68fb ldr r3, [r7, #12] 8066d7c: 009a lsls r2, r3, #2 8066d7e: 4b33 ldr r3, [pc, #204] ; (8066e4c ) 8066d80: 4413 add r3, r2 8066d82: 461a mov r2, r3 8066d84: 6a7b ldr r3, [r7, #36] ; 0x24 8066d86: 6013 str r3, [r2, #0] Image(i1) = q; 8066d88: 68fb ldr r3, [r7, #12] 8066d8a: 009a lsls r2, r3, #2 8066d8c: 4b30 ldr r3, [pc, #192] ; (8066e50 ) 8066d8e: 4413 add r3, r2 8066d90: 461a mov r2, r3 8066d92: 69fb ldr r3, [r7, #28] 8066d94: 6013 str r3, [r2, #0] } k = (len >> 1); 8066d96: 687b ldr r3, [r7, #4] 8066d98: 085b lsrs r3, r3, #1 8066d9a: 653b str r3, [r7, #80] ; 0x50 while(k < j) 8066d9c: e006 b.n 8066dac { j = j - k; 8066d9e: 6d7a ldr r2, [r7, #84] ; 0x54 8066da0: 6d3b ldr r3, [r7, #80] ; 0x50 8066da2: 1ad3 subs r3, r2, r3 8066da4: 657b str r3, [r7, #84] ; 0x54 k = (k >> 1); 8066da6: 6d3b ldr r3, [r7, #80] ; 0x50 8066da8: 085b lsrs r3, r3, #1 8066daa: 653b str r3, [r7, #80] ; 0x50 while(k < j) 8066dac: 6d3a ldr r2, [r7, #80] ; 0x50 8066dae: 6d7b ldr r3, [r7, #84] ; 0x54 8066db0: 429a cmp r2, r3 8066db2: d3f4 bcc.n 8066d9e } j = j + k; 8066db4: 6d7a ldr r2, [r7, #84] ; 0x54 8066db6: 6d3b ldr r3, [r7, #80] ; 0x50 8066db8: 4413 add r3, r2 8066dba: 657b str r3, [r7, #84] ; 0x54 for(i = 1; i < len; i++) 8066dbc: 6dbb ldr r3, [r7, #88] ; 0x58 8066dbe: 3301 adds r3, #1 8066dc0: 65bb str r3, [r7, #88] ; 0x58 8066dc2: 6dba ldr r2, [r7, #88] ; 0x58 8066dc4: 687b ldr r3, [r7, #4] 8066dc6: 429a cmp r2, r3 8066dc8: d3ab bcc.n 8066d22 } if(inverse == 0) { 8066dca: 683b ldr r3, [r7, #0] 8066dcc: 2b00 cmp r3, #0 8066dce: d037 beq.n 8066e40 return; } a = 1.0f / len; 8066dd0: 687b ldr r3, [r7, #4] 8066dd2: ee07 3a90 vmov s15, r3 8066dd6: eeb8 7a67 vcvt.f32.u32 s14, s15 8066dda: eef7 6a00 vmov.f32 s13, #112 ; 0x3f800000 1.0 8066dde: eec6 7a87 vdiv.f32 s15, s13, s14 8066de2: edc7 7a02 vstr s15, [r7, #8] for(k = 0; k < len; k++) 8066de6: 2300 movs r3, #0 8066de8: 653b str r3, [r7, #80] ; 0x50 8066dea: e024 b.n 8066e36 { Real(k) = Real(k) * a; 8066dec: 6d3b ldr r3, [r7, #80] ; 0x50 8066dee: 009a lsls r2, r3, #2 8066df0: 4b16 ldr r3, [pc, #88] ; (8066e4c ) 8066df2: 4413 add r3, r2 8066df4: 4619 mov r1, r3 8066df6: 6d3b ldr r3, [r7, #80] ; 0x50 8066df8: 009a lsls r2, r3, #2 8066dfa: 4b14 ldr r3, [pc, #80] ; (8066e4c ) 8066dfc: 4413 add r3, r2 8066dfe: ed93 7a00 vldr s14, [r3] 8066e02: edd7 7a02 vldr s15, [r7, #8] 8066e06: ee67 7a27 vmul.f32 s15, s14, s15 8066e0a: edc1 7a00 vstr s15, [r1] Image(k) = Image(k) * a; 8066e0e: 6d3b ldr r3, [r7, #80] ; 0x50 8066e10: 009a lsls r2, r3, #2 8066e12: 4b0f ldr r3, [pc, #60] ; (8066e50 ) 8066e14: 4413 add r3, r2 8066e16: 4619 mov r1, r3 8066e18: 6d3b ldr r3, [r7, #80] ; 0x50 8066e1a: 009a lsls r2, r3, #2 8066e1c: 4b0c ldr r3, [pc, #48] ; (8066e50 ) 8066e1e: 4413 add r3, r2 8066e20: ed93 7a00 vldr s14, [r3] 8066e24: edd7 7a02 vldr s15, [r7, #8] 8066e28: ee67 7a27 vmul.f32 s15, s14, s15 8066e2c: edc1 7a00 vstr s15, [r1] for(k = 0; k < len; k++) 8066e30: 6d3b ldr r3, [r7, #80] ; 0x50 8066e32: 3301 adds r3, #1 8066e34: 653b str r3, [r7, #80] ; 0x50 8066e36: 6d3a ldr r2, [r7, #80] ; 0x50 8066e38: 687b ldr r3, [r7, #4] 8066e3a: 429a cmp r2, r3 8066e3c: d3d6 bcc.n 8066dec 8066e3e: e000 b.n 8066e42 return; 8066e40: bf00 nop } } 8066e42: 3760 adds r7, #96 ; 0x60 8066e44: 46bd mov sp, r7 8066e46: bd80 pop {r7, pc} 8066e48: 40490fdb .word 0x40490fdb 8066e4c: 64090000 .word 0x64090000 8066e50: 64098000 .word 0x64098000 08066e54 : void CALC_MEAN(uint32_t smooth) { 8066e54: b580 push {r7, lr} 8066e56: b088 sub sp, #32 8066e58: af00 add r7, sp, #0 8066e5a: 6078 str r0, [r7, #4] uint32_t sm = smooth + 1; 8066e5c: 687b ldr r3, [r7, #4] 8066e5e: 3301 adds r3, #1 8066e60: 613b str r3, [r7, #16] uint32_t i, j, k; float32_t fs; Out[0] = 0.0f; 8066e62: 4b75 ldr r3, [pc, #468] ; (8067038 ) 8066e64: f04f 0200 mov.w r2, #0 8066e68: 601a str r2, [r3, #0] for(i = 1; i < 4096; i++) 8066e6a: 2301 movs r3, #1 8066e6c: 61fb str r3, [r7, #28] 8066e6e: e0d3 b.n 8067018 { fs = In[i]; 8066e70: 4a72 ldr r2, [pc, #456] ; (806703c ) 8066e72: 69fb ldr r3, [r7, #28] 8066e74: 009b lsls r3, r3, #2 8066e76: 4413 add r3, r2 8066e78: 681b ldr r3, [r3, #0] 8066e7a: 617b str r3, [r7, #20] if(i < sm) 8066e7c: 69fa ldr r2, [r7, #28] 8066e7e: 693b ldr r3, [r7, #16] 8066e80: 429a cmp r2, r3 8066e82: d243 bcs.n 8066f0c { for(j = 1; j < sm; j++) { 8066e84: 2301 movs r3, #1 8066e86: 61bb str r3, [r7, #24] 8066e88: e010 b.n 8066eac fs += In[i + j]; 8066e8a: 69fa ldr r2, [r7, #28] 8066e8c: 69bb ldr r3, [r7, #24] 8066e8e: 4413 add r3, r2 8066e90: 4a6a ldr r2, [pc, #424] ; (806703c ) 8066e92: 009b lsls r3, r3, #2 8066e94: 4413 add r3, r2 8066e96: edd3 7a00 vldr s15, [r3] 8066e9a: ed97 7a05 vldr s14, [r7, #20] 8066e9e: ee77 7a27 vadd.f32 s15, s14, s15 8066ea2: edc7 7a05 vstr s15, [r7, #20] for(j = 1; j < sm; j++) { 8066ea6: 69bb ldr r3, [r7, #24] 8066ea8: 3301 adds r3, #1 8066eaa: 61bb str r3, [r7, #24] 8066eac: 69ba ldr r2, [r7, #24] 8066eae: 693b ldr r3, [r7, #16] 8066eb0: 429a cmp r2, r3 8066eb2: d3ea bcc.n 8066e8a } k = i; 8066eb4: 69fb ldr r3, [r7, #28] 8066eb6: 60fb str r3, [r7, #12] for(j = 1; j < k; j++) { 8066eb8: 2301 movs r3, #1 8066eba: 61bb str r3, [r7, #24] 8066ebc: e010 b.n 8066ee0 fs += In[i - j]; 8066ebe: 69fa ldr r2, [r7, #28] 8066ec0: 69bb ldr r3, [r7, #24] 8066ec2: 1ad3 subs r3, r2, r3 8066ec4: 4a5d ldr r2, [pc, #372] ; (806703c ) 8066ec6: 009b lsls r3, r3, #2 8066ec8: 4413 add r3, r2 8066eca: edd3 7a00 vldr s15, [r3] 8066ece: ed97 7a05 vldr s14, [r7, #20] 8066ed2: ee77 7a27 vadd.f32 s15, s14, s15 8066ed6: edc7 7a05 vstr s15, [r7, #20] for(j = 1; j < k; j++) { 8066eda: 69bb ldr r3, [r7, #24] 8066edc: 3301 adds r3, #1 8066ede: 61bb str r3, [r7, #24] 8066ee0: 69ba ldr r2, [r7, #24] 8066ee2: 68fb ldr r3, [r7, #12] 8066ee4: 429a cmp r2, r3 8066ee6: d3ea bcc.n 8066ebe } Out[i] = fs / (float32_t) (smooth + k); 8066ee8: 687a ldr r2, [r7, #4] 8066eea: 68fb ldr r3, [r7, #12] 8066eec: 4413 add r3, r2 8066eee: ee07 3a90 vmov s15, r3 8066ef2: eeb8 7a67 vcvt.f32.u32 s14, s15 8066ef6: edd7 6a05 vldr s13, [r7, #20] 8066efa: eec6 7a87 vdiv.f32 s15, s13, s14 8066efe: 4a4e ldr r2, [pc, #312] ; (8067038 ) 8066f00: 69fb ldr r3, [r7, #28] 8066f02: 009b lsls r3, r3, #2 8066f04: 4413 add r3, r2 8066f06: edc3 7a00 vstr s15, [r3] 8066f0a: e082 b.n 8067012 } else if(i > 4096 - sm) 8066f0c: 693b ldr r3, [r7, #16] 8066f0e: f5c3 5280 rsb r2, r3, #4096 ; 0x1000 8066f12: 69fb ldr r3, [r7, #28] 8066f14: 429a cmp r2, r3 8066f16: d245 bcs.n 8066fa4 { for(j = 1; j < sm; j++) { 8066f18: 2301 movs r3, #1 8066f1a: 61bb str r3, [r7, #24] 8066f1c: e010 b.n 8066f40 fs += In[i - j]; 8066f1e: 69fa ldr r2, [r7, #28] 8066f20: 69bb ldr r3, [r7, #24] 8066f22: 1ad3 subs r3, r2, r3 8066f24: 4a45 ldr r2, [pc, #276] ; (806703c ) 8066f26: 009b lsls r3, r3, #2 8066f28: 4413 add r3, r2 8066f2a: edd3 7a00 vldr s15, [r3] 8066f2e: ed97 7a05 vldr s14, [r7, #20] 8066f32: ee77 7a27 vadd.f32 s15, s14, s15 8066f36: edc7 7a05 vstr s15, [r7, #20] for(j = 1; j < sm; j++) { 8066f3a: 69bb ldr r3, [r7, #24] 8066f3c: 3301 adds r3, #1 8066f3e: 61bb str r3, [r7, #24] 8066f40: 69ba ldr r2, [r7, #24] 8066f42: 693b ldr r3, [r7, #16] 8066f44: 429a cmp r2, r3 8066f46: d3ea bcc.n 8066f1e } k = 4096 - i; 8066f48: 69fb ldr r3, [r7, #28] 8066f4a: f5c3 5380 rsb r3, r3, #4096 ; 0x1000 8066f4e: 60fb str r3, [r7, #12] for(j = 1; j < sm; j++) { 8066f50: 2301 movs r3, #1 8066f52: 61bb str r3, [r7, #24] 8066f54: e010 b.n 8066f78 fs += In[i + j]; 8066f56: 69fa ldr r2, [r7, #28] 8066f58: 69bb ldr r3, [r7, #24] 8066f5a: 4413 add r3, r2 8066f5c: 4a37 ldr r2, [pc, #220] ; (806703c ) 8066f5e: 009b lsls r3, r3, #2 8066f60: 4413 add r3, r2 8066f62: edd3 7a00 vldr s15, [r3] 8066f66: ed97 7a05 vldr s14, [r7, #20] 8066f6a: ee77 7a27 vadd.f32 s15, s14, s15 8066f6e: edc7 7a05 vstr s15, [r7, #20] for(j = 1; j < sm; j++) { 8066f72: 69bb ldr r3, [r7, #24] 8066f74: 3301 adds r3, #1 8066f76: 61bb str r3, [r7, #24] 8066f78: 69ba ldr r2, [r7, #24] 8066f7a: 693b ldr r3, [r7, #16] 8066f7c: 429a cmp r2, r3 8066f7e: d3ea bcc.n 8066f56 } Out[i] = fs / (float32_t) (smooth + k); 8066f80: 687a ldr r2, [r7, #4] 8066f82: 68fb ldr r3, [r7, #12] 8066f84: 4413 add r3, r2 8066f86: ee07 3a90 vmov s15, r3 8066f8a: eeb8 7a67 vcvt.f32.u32 s14, s15 8066f8e: edd7 6a05 vldr s13, [r7, #20] 8066f92: eec6 7a87 vdiv.f32 s15, s13, s14 8066f96: 4a28 ldr r2, [pc, #160] ; (8067038 ) 8066f98: 69fb ldr r3, [r7, #28] 8066f9a: 009b lsls r3, r3, #2 8066f9c: 4413 add r3, r2 8066f9e: edc3 7a00 vstr s15, [r3] 8066fa2: e036 b.n 8067012 } else { for(j = 1; j < sm; j++) 8066fa4: 2301 movs r3, #1 8066fa6: 61bb str r3, [r7, #24] 8066fa8: e01e b.n 8066fe8 { fs += In[i - j]; 8066faa: 69fa ldr r2, [r7, #28] 8066fac: 69bb ldr r3, [r7, #24] 8066fae: 1ad3 subs r3, r2, r3 8066fb0: 4a22 ldr r2, [pc, #136] ; (806703c ) 8066fb2: 009b lsls r3, r3, #2 8066fb4: 4413 add r3, r2 8066fb6: edd3 7a00 vldr s15, [r3] 8066fba: ed97 7a05 vldr s14, [r7, #20] 8066fbe: ee77 7a27 vadd.f32 s15, s14, s15 8066fc2: edc7 7a05 vstr s15, [r7, #20] fs += In[i + j]; 8066fc6: 69fa ldr r2, [r7, #28] 8066fc8: 69bb ldr r3, [r7, #24] 8066fca: 4413 add r3, r2 8066fcc: 4a1b ldr r2, [pc, #108] ; (806703c ) 8066fce: 009b lsls r3, r3, #2 8066fd0: 4413 add r3, r2 8066fd2: edd3 7a00 vldr s15, [r3] 8066fd6: ed97 7a05 vldr s14, [r7, #20] 8066fda: ee77 7a27 vadd.f32 s15, s14, s15 8066fde: edc7 7a05 vstr s15, [r7, #20] for(j = 1; j < sm; j++) 8066fe2: 69bb ldr r3, [r7, #24] 8066fe4: 3301 adds r3, #1 8066fe6: 61bb str r3, [r7, #24] 8066fe8: 69ba ldr r2, [r7, #24] 8066fea: 693b ldr r3, [r7, #16] 8066fec: 429a cmp r2, r3 8066fee: d3dc bcc.n 8066faa } Out[i] = fs / (float32_t) ((smooth << 1) + 1); 8066ff0: 687b ldr r3, [r7, #4] 8066ff2: 005b lsls r3, r3, #1 8066ff4: 3301 adds r3, #1 8066ff6: ee07 3a90 vmov s15, r3 8066ffa: eeb8 7a67 vcvt.f32.u32 s14, s15 8066ffe: edd7 6a05 vldr s13, [r7, #20] 8067002: eec6 7a87 vdiv.f32 s15, s13, s14 8067006: 4a0c ldr r2, [pc, #48] ; (8067038 ) 8067008: 69fb ldr r3, [r7, #28] 806700a: 009b lsls r3, r3, #2 806700c: 4413 add r3, r2 806700e: edc3 7a00 vstr s15, [r3] for(i = 1; i < 4096; i++) 8067012: 69fb ldr r3, [r7, #28] 8067014: 3301 adds r3, #1 8067016: 61fb str r3, [r7, #28] 8067018: 69fb ldr r3, [r7, #28] 806701a: f5b3 5f80 cmp.w r3, #4096 ; 0x1000 806701e: f4ff af27 bcc.w 8066e70 } } FastCopy16(OUT_Reg, CMPLX_A, Ns); // Ñðåäíÿÿ ëèíèÿ*/ 8067022: 4b07 ldr r3, [pc, #28] ; (8067040 ) 8067024: 681b ldr r3, [r3, #0] 8067026: 461a mov r2, r3 8067028: 2105 movs r1, #5 806702a: 2009 movs r0, #9 806702c: f7fd f988 bl 8064340 } 8067030: bf00 nop 8067032: 3720 adds r7, #32 8067034: 46bd mov sp, r7 8067036: bd80 pop {r7, pc} 8067038: 20008000 .word 0x20008000 806703c: 200279c0 .word 0x200279c0 8067040: 20021cdc .word 0x20021cdc 08067044 : //îðà void GetDataTacho(void) { 8067044: b580 push {r7, lr} 8067046: b082 sub sp, #8 8067048: af00 add r7, sp, #0 volatile uint16_t n; volatile uint16_t BlockSize; if(READY == 1) 806704a: 4b0b ldr r3, [pc, #44] ; (8067078 ) 806704c: 781b ldrb r3, [r3, #0] 806704e: b2db uxtb r3, r3 8067050: 2b01 cmp r3, #1 8067052: d106 bne.n 8067062 memcpy((void *) In16, (void *) &AdcBuff_16(0), 32768); 8067054: f44f 4200 mov.w r2, #32768 ; 0x8000 8067058: 4908 ldr r1, [pc, #32] ; (806707c ) 806705a: 4809 ldr r0, [pc, #36] ; (8067080 ) 806705c: f065 ffe9 bl 80cd032 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 }*/ } 8067060: e005 b.n 806706e else memcpy((void *) In16, (void *) &AdcBuff_16(HALF_UDAR_BUFF), 32768); 8067062: f44f 4200 mov.w r2, #32768 ; 0x8000 8067066: 4907 ldr r1, [pc, #28] ; (8067084 ) 8067068: 4805 ldr r0, [pc, #20] ; (8067080 ) 806706a: f065 ffe2 bl 80cd032 } 806706e: bf00 nop 8067070: 3708 adds r7, #8 8067072: 46bd mov sp, r7 8067074: bd80 pop {r7, pc} 8067076: bf00 nop 8067078: 20020d7f .word 0x20020d7f 806707c: 64060000 .word 0x64060000 8067080: 20058020 .word 0x20058020 8067084: 64068000 .word 0x64068000 08067088 : float32_t CalcExcess(float32_t *data, uint32_t n) { 8067088: b580 push {r7, lr} 806708a: b08e sub sp, #56 ; 0x38 806708c: af00 add r7, sp, #0 806708e: 6078 str r0, [r7, #4] 8067090: 6039 str r1, [r7, #0] uint32_t i, blkCnt; float32_t f1, f2, f3, f4; float32_t mean = 0; 8067092: f04f 0300 mov.w r3, #0 8067096: 60fb str r3, [r7, #12] float32_t var = 0; 8067098: f04f 0300 mov.w r3, #0 806709c: 60bb str r3, [r7, #8] float32_t div = 0; 806709e: f04f 0300 mov.w r3, #0 80670a2: 62fb str r3, [r7, #44] ; 0x2c float32_t k1 = 0, k2 = 0, sigma = 0; 80670a4: f04f 0300 mov.w r3, #0 80670a8: 62bb str r3, [r7, #40] ; 0x28 80670aa: f04f 0300 mov.w r3, #0 80670ae: 627b str r3, [r7, #36] ; 0x24 80670b0: f04f 0300 mov.w r3, #0 80670b4: 633b str r3, [r7, #48] ; 0x30 uint32_t tick = HAL_GetTick(); 80670b6: f04c f8bf bl 80b3238 80670ba: 6238 str r0, [r7, #32] if(n > 3) 80670bc: 683b ldr r3, [r7, #0] 80670be: 2b03 cmp r3, #3 80670c0: f240 80ff bls.w 80672c2 var += powf((*(data + i) - mean), 2); } var /= (float32_t) (n - 1); arm_sqrt_f32(var, &div);*/ arm_mean_f32(data, n, &mean); 80670c4: f107 030c add.w r3, r7, #12 80670c8: 461a mov r2, r3 80670ca: 6839 ldr r1, [r7, #0] 80670cc: 6878 ldr r0, [r7, #4] 80670ce: f062 ffbf bl 80ca050 /**arm_var_f32(data, n, &var); arm_sqrt_f32(var, &div);*/ //arm_std_f32(data, n, &div); arm_var_f32(data, n, &var); 80670d2: f107 0308 add.w r3, r7, #8 80670d6: 461a mov r2, r3 80670d8: 6839 ldr r1, [r7, #0] 80670da: 6878 ldr r0, [r7, #4] 80670dc: f062 fe60 bl 80c9da0 k1 = (float32_t) (n * n - 1.0f) / (float32_t) ((n - 2.0f) * (n - 3.0f)); 80670e0: 683b ldr r3, [r7, #0] 80670e2: 683a ldr r2, [r7, #0] 80670e4: fb02 f303 mul.w r3, r2, r3 80670e8: ee07 3a90 vmov s15, r3 80670ec: eef8 7a67 vcvt.f32.u32 s15, s15 80670f0: eeb7 7a00 vmov.f32 s14, #112 ; 0x3f800000 1.0 80670f4: ee77 6ac7 vsub.f32 s13, s15, s14 80670f8: 683b ldr r3, [r7, #0] 80670fa: ee07 3a90 vmov s15, r3 80670fe: eef8 7a67 vcvt.f32.u32 s15, s15 8067102: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 8067106: ee37 7ac7 vsub.f32 s14, s15, s14 806710a: 683b ldr r3, [r7, #0] 806710c: ee07 3a90 vmov s15, r3 8067110: eef8 7a67 vcvt.f32.u32 s15, s15 8067114: eeb0 6a08 vmov.f32 s12, #8 ; 0x40400000 3.0 8067118: ee77 7ac6 vsub.f32 s15, s15, s12 806711c: ee27 7a27 vmul.f32 s14, s14, s15 8067120: eec6 7a87 vdiv.f32 s15, s13, s14 8067124: edc7 7a0a vstr s15, [r7, #40] ; 0x28 k2 = (float32_t) (6.0f / ((float32_t) n + 1.0f)) - 3.0f; 8067128: 683b ldr r3, [r7, #0] 806712a: ee07 3a90 vmov s15, r3 806712e: eef8 7a67 vcvt.f32.u32 s15, s15 8067132: eeb7 7a00 vmov.f32 s14, #112 ; 0x3f800000 1.0 8067136: ee37 7a87 vadd.f32 s14, s15, s14 806713a: eef1 6a08 vmov.f32 s13, #24 ; 0x40c00000 6.0 806713e: eec6 7a87 vdiv.f32 s15, s13, s14 8067142: eeb0 7a08 vmov.f32 s14, #8 ; 0x40400000 3.0 8067146: ee77 7ac7 vsub.f32 s15, s15, s14 806714a: edc7 7a09 vstr s15, [r7, #36] ; 0x24 //div = 1.0f / div; //k1 = (float32_t) (n * (n + 1)) / (float32_t) ((n - 1) * (n - 2) * (n - 3)); //k2 = (float32_t) (3 * powf((n - 1), 2)) / (float32_t) ((n - 2) * (n - 3)); blkCnt = n >> 2; 806714e: 683b ldr r3, [r7, #0] 8067150: 089b lsrs r3, r3, #2 8067152: 637b str r3, [r7, #52] ; 0x34 while(blkCnt > 0u) 8067154: e08a b.n 806726c { f1 = *data++; 8067156: 687b ldr r3, [r7, #4] 8067158: 1d1a adds r2, r3, #4 806715a: 607a str r2, [r7, #4] 806715c: 681b ldr r3, [r3, #0] 806715e: 61fb str r3, [r7, #28] f1 = (f1 - mean); 8067160: edd7 7a03 vldr s15, [r7, #12] 8067164: ed97 7a07 vldr s14, [r7, #28] 8067168: ee77 7a67 vsub.f32 s15, s14, s15 806716c: edc7 7a07 vstr s15, [r7, #28] f1 = f1 * f1 * f1 * f1; 8067170: ed97 7a07 vldr s14, [r7, #28] 8067174: edd7 7a07 vldr s15, [r7, #28] 8067178: ee27 7a27 vmul.f32 s14, s14, s15 806717c: edd7 7a07 vldr s15, [r7, #28] 8067180: ee67 7a27 vmul.f32 s15, s14, s15 8067184: ed97 7a07 vldr s14, [r7, #28] 8067188: ee67 7a27 vmul.f32 s15, s14, s15 806718c: edc7 7a07 vstr s15, [r7, #28] f2 = *data++; 8067190: 687b ldr r3, [r7, #4] 8067192: 1d1a adds r2, r3, #4 8067194: 607a str r2, [r7, #4] 8067196: 681b ldr r3, [r3, #0] 8067198: 61bb str r3, [r7, #24] f2 = (f2 - mean); 806719a: edd7 7a03 vldr s15, [r7, #12] 806719e: ed97 7a06 vldr s14, [r7, #24] 80671a2: ee77 7a67 vsub.f32 s15, s14, s15 80671a6: edc7 7a06 vstr s15, [r7, #24] f2 = f2 * f2 * f2 * f2; 80671aa: ed97 7a06 vldr s14, [r7, #24] 80671ae: edd7 7a06 vldr s15, [r7, #24] 80671b2: ee27 7a27 vmul.f32 s14, s14, s15 80671b6: edd7 7a06 vldr s15, [r7, #24] 80671ba: ee67 7a27 vmul.f32 s15, s14, s15 80671be: ed97 7a06 vldr s14, [r7, #24] 80671c2: ee67 7a27 vmul.f32 s15, s14, s15 80671c6: edc7 7a06 vstr s15, [r7, #24] f3 = *data++; 80671ca: 687b ldr r3, [r7, #4] 80671cc: 1d1a adds r2, r3, #4 80671ce: 607a str r2, [r7, #4] 80671d0: 681b ldr r3, [r3, #0] 80671d2: 617b str r3, [r7, #20] f3 = (f3 - mean); 80671d4: edd7 7a03 vldr s15, [r7, #12] 80671d8: ed97 7a05 vldr s14, [r7, #20] 80671dc: ee77 7a67 vsub.f32 s15, s14, s15 80671e0: edc7 7a05 vstr s15, [r7, #20] f3 = f3 * f3 * f3 * f3; 80671e4: ed97 7a05 vldr s14, [r7, #20] 80671e8: edd7 7a05 vldr s15, [r7, #20] 80671ec: ee27 7a27 vmul.f32 s14, s14, s15 80671f0: edd7 7a05 vldr s15, [r7, #20] 80671f4: ee67 7a27 vmul.f32 s15, s14, s15 80671f8: ed97 7a05 vldr s14, [r7, #20] 80671fc: ee67 7a27 vmul.f32 s15, s14, s15 8067200: edc7 7a05 vstr s15, [r7, #20] f4 = *data++; 8067204: 687b ldr r3, [r7, #4] 8067206: 1d1a adds r2, r3, #4 8067208: 607a str r2, [r7, #4] 806720a: 681b ldr r3, [r3, #0] 806720c: 613b str r3, [r7, #16] f4 = (f4 - mean); 806720e: edd7 7a03 vldr s15, [r7, #12] 8067212: ed97 7a04 vldr s14, [r7, #16] 8067216: ee77 7a67 vsub.f32 s15, s14, s15 806721a: edc7 7a04 vstr s15, [r7, #16] f4 = f4 * f4 * f4 * f4; 806721e: ed97 7a04 vldr s14, [r7, #16] 8067222: edd7 7a04 vldr s15, [r7, #16] 8067226: ee27 7a27 vmul.f32 s14, s14, s15 806722a: edd7 7a04 vldr s15, [r7, #16] 806722e: ee67 7a27 vmul.f32 s15, s14, s15 8067232: ed97 7a04 vldr s14, [r7, #16] 8067236: ee67 7a27 vmul.f32 s15, s14, s15 806723a: edc7 7a04 vstr s15, [r7, #16] sigma += (f1 + f2 + f3 + f4); 806723e: ed97 7a07 vldr s14, [r7, #28] 8067242: edd7 7a06 vldr s15, [r7, #24] 8067246: ee37 7a27 vadd.f32 s14, s14, s15 806724a: edd7 7a05 vldr s15, [r7, #20] 806724e: ee37 7a27 vadd.f32 s14, s14, s15 8067252: edd7 7a04 vldr s15, [r7, #16] 8067256: ee77 7a27 vadd.f32 s15, s14, s15 806725a: ed97 7a0c vldr s14, [r7, #48] ; 0x30 806725e: ee77 7a27 vadd.f32 s15, s14, s15 8067262: edc7 7a0c vstr s15, [r7, #48] ; 0x30 /* Decrement the loop counter */ blkCnt--; 8067266: 6b7b ldr r3, [r7, #52] ; 0x34 8067268: 3b01 subs r3, #1 806726a: 637b str r3, [r7, #52] ; 0x34 while(blkCnt > 0u) 806726c: 6b7b ldr r3, [r7, #52] ; 0x34 806726e: 2b00 cmp r3, #0 8067270: f47f af71 bne.w 8067156 } sigma /= (float32_t) n; 8067274: 683b ldr r3, [r7, #0] 8067276: ee07 3a90 vmov s15, r3 806727a: eeb8 7a67 vcvt.f32.u32 s14, s15 806727e: edd7 6a0c vldr s13, [r7, #48] ; 0x30 8067282: eec6 7a87 vdiv.f32 s15, s13, s14 8067286: edc7 7a0c vstr s15, [r7, #48] ; 0x30 f1 = k1 * (sigma / (var * var)) + k2; 806728a: ed97 7a02 vldr s14, [r7, #8] 806728e: edd7 7a02 vldr s15, [r7, #8] 8067292: ee67 7a27 vmul.f32 s15, s14, s15 8067296: edd7 6a0c vldr s13, [r7, #48] ; 0x30 806729a: ee86 7aa7 vdiv.f32 s14, s13, s15 806729e: edd7 7a0a vldr s15, [r7, #40] ; 0x28 80672a2: ee27 7a27 vmul.f32 s14, s14, s15 80672a6: edd7 7a09 vldr s15, [r7, #36] ; 0x24 80672aa: ee77 7a27 vadd.f32 s15, s14, s15 80672ae: edc7 7a07 vstr s15, [r7, #28] tick = HAL_GetTick() - tick; 80672b2: f04b ffc1 bl 80b3238 80672b6: 4602 mov r2, r0 80672b8: 6a3b ldr r3, [r7, #32] 80672ba: 1ad3 subs r3, r2, r3 80672bc: 623b str r3, [r7, #32] return f1; 80672be: 69fb ldr r3, [r7, #28] 80672c0: e001 b.n 80672c6 } return 0; 80672c2: f04f 0300 mov.w r3, #0 80672c6: ee07 3a90 vmov s15, r3 } 80672ca: eeb0 0a67 vmov.f32 s0, s15 80672ce: 3738 adds r7, #56 ; 0x38 80672d0: 46bd mov sp, r7 80672d2: bd80 pop {r7, pc} 080672d4 : 0xAA55, 0x55AA, 0xAA55, 0x55AA, 0xAA55, 0x55AA, 0xAA55, 0x55AA, 0xAA55}; volatile uint16_t RAMin[19]; void RAMTest(void) { 80672d4: b580 push {r7, lr} 80672d6: b084 sub sp, #16 80672d8: af00 add r7, sp, #0 volatile uint32_t i, j, addr; uint8_t *p; memset((( uint8_t *) (((volatile uint32_t) 0x64000000))), 0, 0x000C0000); 80672da: f44f 2240 mov.w r2, #786432 ; 0xc0000 80672de: 2100 movs r1, #0 80672e0: f04f 40c8 mov.w r0, #1677721600 ; 0x64000000 80672e4: f065 feb0 bl 80cd048 for(p = (uint8_t *) SRAM_ADDR_OFFSET; p < (uint8_t *)0x640C0000; ) 80672e8: f04f 43c8 mov.w r3, #1677721600 ; 0x64000000 80672ec: 60fb str r3, [r7, #12] 80672ee: e007 b.n 8067300 { memcpy((void *)p, (void *)RAMDat, sizeof(RAMDat)); 80672f0: 220c movs r2, #12 80672f2: 4940 ldr r1, [pc, #256] ; (80673f4 ) 80672f4: 68f8 ldr r0, [r7, #12] 80672f6: f065 fe9c bl 80cd032 p += sizeof(RAMDat); 80672fa: 68fb ldr r3, [r7, #12] 80672fc: 330c adds r3, #12 80672fe: 60fb str r3, [r7, #12] for(p = (uint8_t *) SRAM_ADDR_OFFSET; p < (uint8_t *)0x640C0000; ) 8067300: 68fb ldr r3, [r7, #12] 8067302: 4a3d ldr r2, [pc, #244] ; (80673f8 ) 8067304: 4293 cmp r3, r2 8067306: d9f3 bls.n 80672f0 } for(p = (uint8_t *) SRAM_ADDR_OFFSET; p < (uint8_t *)0x640C0000; ) 8067308: f04f 43c8 mov.w r3, #1677721600 ; 0x64000000 806730c: 60fb str r3, [r7, #12] 806730e: e00b b.n 8067328 { if(memcmp((void *)p, (void *)RAMDat, sizeof(RAMDat)) != 0) 8067310: 220c movs r2, #12 8067312: 4938 ldr r1, [pc, #224] ; (80673f4 ) 8067314: 68f8 ldr r0, [r7, #12] 8067316: f065 fe7d bl 80cd014 806731a: 4603 mov r3, r0 806731c: 2b00 cmp r3, #0 806731e: d000 beq.n 8067322 while(1); 8067320: e7fe b.n 8067320 p += sizeof(RAMDat); 8067322: 68fb ldr r3, [r7, #12] 8067324: 330c adds r3, #12 8067326: 60fb str r3, [r7, #12] for(p = (uint8_t *) SRAM_ADDR_OFFSET; p < (uint8_t *)0x640C0000; ) 8067328: 68fb ldr r3, [r7, #12] 806732a: 4a33 ldr r2, [pc, #204] ; (80673f8 ) 806732c: 4293 cmp r3, r2 806732e: d9ef bls.n 8067310 } for(j = 0; j < 10000; j++) 8067330: 2300 movs r3, #0 8067332: 607b str r3, [r7, #4] 8067334: e052 b.n 80673dc { i = 0; addr = 0; 8067336: 2300 movs r3, #0 8067338: 60bb str r3, [r7, #8] 806733a: 2300 movs r3, #0 806733c: 603b str r3, [r7, #0] while(i < 19) 806733e: e01b b.n 8067378 { if(!(i & 1)) 8067340: 68bb ldr r3, [r7, #8] 8067342: f003 0301 and.w r3, r3, #1 8067346: 2b00 cmp r3, #0 8067348: d105 bne.n 8067356 addr = (addr << 1) | 0x1; 806734a: 683b ldr r3, [r7, #0] 806734c: 005b lsls r3, r3, #1 806734e: f043 0301 orr.w r3, r3, #1 8067352: 603b str r3, [r7, #0] 8067354: e002 b.n 806735c else addr = (addr << 1); 8067356: 683b ldr r3, [r7, #0] 8067358: 005b lsls r3, r3, #1 806735a: 603b str r3, [r7, #0] RAM_WR32(addr) = RAMout[i]; 806735c: 683b ldr r3, [r7, #0] 806735e: 005b lsls r3, r3, #1 8067360: f103 43c8 add.w r3, r3, #1677721600 ; 0x64000000 8067364: 4619 mov r1, r3 8067366: 68bb ldr r3, [r7, #8] 8067368: 4a24 ldr r2, [pc, #144] ; (80673fc ) 806736a: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 806736e: b29b uxth r3, r3 8067370: 600b str r3, [r1, #0] i++; 8067372: 68bb ldr r3, [r7, #8] 8067374: 3301 adds r3, #1 8067376: 60bb str r3, [r7, #8] while(i < 19) 8067378: 68bb ldr r3, [r7, #8] 806737a: 2b12 cmp r3, #18 806737c: d9e0 bls.n 8067340 } i = 0; addr = 0; 806737e: 2300 movs r3, #0 8067380: 60bb str r3, [r7, #8] 8067382: 2300 movs r3, #0 8067384: 603b str r3, [r7, #0] while(i < 19) 8067386: e01a b.n 80673be { if(!(i & 1)) 8067388: 68bb ldr r3, [r7, #8] 806738a: f003 0301 and.w r3, r3, #1 806738e: 2b00 cmp r3, #0 8067390: d105 bne.n 806739e addr = (addr << 1) | 0x1; 8067392: 683b ldr r3, [r7, #0] 8067394: 005b lsls r3, r3, #1 8067396: f043 0301 orr.w r3, r3, #1 806739a: 603b str r3, [r7, #0] 806739c: e002 b.n 80673a4 else addr = (addr << 1); 806739e: 683b ldr r3, [r7, #0] 80673a0: 005b lsls r3, r3, #1 80673a2: 603b str r3, [r7, #0] RAMin[i] = RAM_RD32(addr); 80673a4: 68bb ldr r3, [r7, #8] 80673a6: 683a ldr r2, [r7, #0] 80673a8: 0052 lsls r2, r2, #1 80673aa: f102 42c8 add.w r2, r2, #1677721600 ; 0x64000000 80673ae: 6812 ldr r2, [r2, #0] 80673b0: b291 uxth r1, r2 80673b2: 4a13 ldr r2, [pc, #76] ; (8067400 ) 80673b4: f822 1013 strh.w r1, [r2, r3, lsl #1] i++; 80673b8: 68bb ldr r3, [r7, #8] 80673ba: 3301 adds r3, #1 80673bc: 60bb str r3, [r7, #8] while(i < 19) 80673be: 68bb ldr r3, [r7, #8] 80673c0: 2b12 cmp r3, #18 80673c2: d9e1 bls.n 8067388 } if(memcmp((void *)RAMout, (void *)RAMin, sizeof(RAMout)) != 0) 80673c4: 2226 movs r2, #38 ; 0x26 80673c6: 490e ldr r1, [pc, #56] ; (8067400 ) 80673c8: 480c ldr r0, [pc, #48] ; (80673fc ) 80673ca: f065 fe23 bl 80cd014 80673ce: 4603 mov r3, r0 80673d0: 2b00 cmp r3, #0 80673d2: d000 beq.n 80673d6 while(1); 80673d4: e7fe b.n 80673d4 for(j = 0; j < 10000; j++) 80673d6: 687b ldr r3, [r7, #4] 80673d8: 3301 adds r3, #1 80673da: 607b str r3, [r7, #4] 80673dc: 687b ldr r3, [r7, #4] 80673de: f242 720f movw r2, #9999 ; 0x270f 80673e2: 4293 cmp r3, r2 80673e4: d9a7 bls.n 8067336 } i = 0; 80673e6: 2300 movs r3, #0 80673e8: 60bb str r3, [r7, #8] } 80673ea: bf00 nop 80673ec: 3710 adds r7, #16 80673ee: 46bd mov sp, r7 80673f0: bd80 pop {r7, pc} 80673f2: bf00 nop 80673f4: 20020098 .word 0x20020098 80673f8: 640bffff .word 0x640bffff 80673fc: 200200a4 .word 0x200200a4 8067400: 20068570 .word 0x20068570 08067404 : /* RTC init function */ void MX_RTC_Init(void) { 8067404: b580 push {r7, lr} 8067406: b08a sub sp, #40 ; 0x28 8067408: 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(); 806740a: 4a40 ldr r2, [pc, #256] ; (806750c ) 806740c: 4b3f ldr r3, [pc, #252] ; (806750c ) 806740e: 6c1b ldr r3, [r3, #64] ; 0x40 8067410: f043 5380 orr.w r3, r3, #268435456 ; 0x10000000 8067414: 6413 str r3, [r2, #64] ; 0x40 8067416: 4b3d ldr r3, [pc, #244] ; (806750c ) 8067418: 6c1b ldr r3, [r3, #64] ; 0x40 806741a: f003 5380 and.w r3, r3, #268435456 ; 0x10000000 806741e: 60bb str r3, [r7, #8] 8067420: 68bb ldr r3, [r7, #8] __HAL_RCC_BKPSRAM_CLK_ENABLE(); 8067422: 4a3a ldr r2, [pc, #232] ; (806750c ) 8067424: 4b39 ldr r3, [pc, #228] ; (806750c ) 8067426: 6b1b ldr r3, [r3, #48] ; 0x30 8067428: f443 2380 orr.w r3, r3, #262144 ; 0x40000 806742c: 6313 str r3, [r2, #48] ; 0x30 806742e: 4b37 ldr r3, [pc, #220] ; (806750c ) 8067430: 6b1b ldr r3, [r3, #48] ; 0x30 8067432: f403 2380 and.w r3, r3, #262144 ; 0x40000 8067436: 607b str r3, [r7, #4] 8067438: 687b ldr r3, [r7, #4] HAL_PWR_EnableBkUpAccess(); 806743a: f050 f9a3 bl 80b7784 hrtc.Instance = RTC; 806743e: 4b34 ldr r3, [pc, #208] ; (8067510 ) 8067440: 4a34 ldr r2, [pc, #208] ; (8067514 ) 8067442: 601a str r2, [r3, #0] hrtc.Init.HourFormat = RTC_HOURFORMAT_24; 8067444: 4b32 ldr r3, [pc, #200] ; (8067510 ) 8067446: 2200 movs r2, #0 8067448: 605a str r2, [r3, #4] hrtc.Init.AsynchPrediv = RTC_ASYNCH_PREDIV; 806744a: 4b31 ldr r3, [pc, #196] ; (8067510 ) 806744c: 227f movs r2, #127 ; 0x7f 806744e: 609a str r2, [r3, #8] hrtc.Init.SynchPrediv = RTC_SYNCH_PREDIV; 8067450: 4b2f ldr r3, [pc, #188] ; (8067510 ) 8067452: 22ff movs r2, #255 ; 0xff 8067454: 60da str r2, [r3, #12] hrtc.Init.OutPut = RTC_OUTPUT_DISABLE; 8067456: 4b2e ldr r3, [pc, #184] ; (8067510 ) 8067458: 2200 movs r2, #0 806745a: 611a str r2, [r3, #16] hrtc.Init.OutPutPolarity = RTC_OUTPUT_POLARITY_HIGH; 806745c: 4b2c ldr r3, [pc, #176] ; (8067510 ) 806745e: 2200 movs r2, #0 8067460: 615a str r2, [r3, #20] hrtc.Init.OutPutType = RTC_OUTPUT_TYPE_OPENDRAIN; 8067462: 4b2b ldr r3, [pc, #172] ; (8067510 ) 8067464: 2200 movs r2, #0 8067466: 619a str r2, [r3, #24] if (HAL_RTC_Init(&hrtc) != HAL_OK) 8067468: 4829 ldr r0, [pc, #164] ; (8067510 ) 806746a: f051 fa6d bl 80b8948 806746e: 4603 mov r3, r0 8067470: 2b00 cmp r3, #0 8067472: d001 beq.n 8067478 { Error_Handler(); 8067474: f7ed fccc bl 8054e10 } if(HAL_RTCEx_BKUPRead(&hrtc, RTC_BKP_DR1) == 0x3264) 8067478: 2101 movs r1, #1 806747a: 4825 ldr r0, [pc, #148] ; (8067510 ) 806747c: f051 fdb4 bl 80b8fe8 8067480: 4602 mov r2, r0 8067482: f243 2364 movw r3, #12900 ; 0x3264 8067486: 429a cmp r2, r3 8067488: d106 bne.n 8067498 { __HAL_RCC_CLEAR_RESET_FLAGS(); 806748a: 4a20 ldr r2, [pc, #128] ; (806750c ) 806748c: 4b1f ldr r3, [pc, #124] ; (806750c ) 806748e: 6f5b ldr r3, [r3, #116] ; 0x74 8067490: f043 7380 orr.w r3, r3, #16777216 ; 0x1000000 8067494: 6753 str r3, [r2, #116] ; 0x74 /*if (HAL_RTCEx_SetWakeUpTimer(&hrtc, 0x7ff, RTC_WAKEUPCLOCK_RTCCLK_DIV16) != HAL_OK) { _Error_Handler(__FILE__, __LINE__); }*/ } 8067496: e034 b.n 8067502 sTime.Hours = 0; 8067498: 2300 movs r3, #0 806749a: 743b strb r3, [r7, #16] sTime.Minutes = 0; 806749c: 2300 movs r3, #0 806749e: 747b strb r3, [r7, #17] sTime.Seconds = 0; 80674a0: 2300 movs r3, #0 80674a2: 74bb strb r3, [r7, #18] sTime.DayLightSaving = RTC_DAYLIGHTSAVING_NONE; 80674a4: 2300 movs r3, #0 80674a6: 623b str r3, [r7, #32] sTime.StoreOperation = RTC_STOREOPERATION_RESET; 80674a8: 2300 movs r3, #0 80674aa: 627b str r3, [r7, #36] ; 0x24 if (HAL_RTC_SetTime(&hrtc, &sTime, RTC_FORMAT_BIN) != HAL_OK) { 80674ac: f107 0310 add.w r3, r7, #16 80674b0: 2200 movs r2, #0 80674b2: 4619 mov r1, r3 80674b4: 4816 ldr r0, [pc, #88] ; (8067510 ) 80674b6: f051 fad9 bl 80b8a6c 80674ba: 4603 mov r3, r0 80674bc: 2b00 cmp r3, #0 80674be: d001 beq.n 80674c4 Error_Handler(); 80674c0: f7ed fca6 bl 8054e10 sDate.WeekDay = RTC_WEEKDAY_FRIDAY; 80674c4: 2305 movs r3, #5 80674c6: 733b strb r3, [r7, #12] sDate.Month = RTC_MONTH_JANUARY; 80674c8: 2301 movs r3, #1 80674ca: 737b strb r3, [r7, #13] sDate.Date = 1; 80674cc: 2301 movs r3, #1 80674ce: 73bb strb r3, [r7, #14] sDate.Year = 21; 80674d0: 2315 movs r3, #21 80674d2: 73fb strb r3, [r7, #15] if (HAL_RTC_SetDate(&hrtc, &sDate, RTC_FORMAT_BIN) != HAL_OK) { 80674d4: f107 030c add.w r3, r7, #12 80674d8: 2200 movs r2, #0 80674da: 4619 mov r1, r3 80674dc: 480c ldr r0, [pc, #48] ; (8067510 ) 80674de: f051 fbe1 bl 80b8ca4 80674e2: 4603 mov r3, r0 80674e4: 2b00 cmp r3, #0 80674e6: d001 beq.n 80674ec Error_Handler(); 80674e8: f7ed fc92 bl 8054e10 HAL_RTCEx_BKUPWrite(&hrtc, RTC_BKP_DR1, 0x3264); 80674ec: f243 2264 movw r2, #12900 ; 0x3264 80674f0: 2101 movs r1, #1 80674f2: 4807 ldr r0, [pc, #28] ; (8067510 ) 80674f4: f051 fd5e bl 80b8fb4 HAL_RTCEx_BKUPWrite(&hrtc, RTC_BKP_DR2, 0); 80674f8: 2200 movs r2, #0 80674fa: 2102 movs r1, #2 80674fc: 4804 ldr r0, [pc, #16] ; (8067510 ) 80674fe: f051 fd59 bl 80b8fb4 } 8067502: bf00 nop 8067504: 3728 adds r7, #40 ; 0x28 8067506: 46bd mov sp, r7 8067508: bd80 pop {r7, pc} 806750a: bf00 nop 806750c: 40023800 .word 0x40023800 8067510: 20068598 .word 0x20068598 8067514: 40002800 .word 0x40002800 08067518 : void HAL_RTC_MspInit(RTC_HandleTypeDef* rtcHandle) { 8067518: b480 push {r7} 806751a: b083 sub sp, #12 806751c: af00 add r7, sp, #0 806751e: 6078 str r0, [r7, #4] if(rtcHandle->Instance==RTC) 8067520: 687b ldr r3, [r7, #4] 8067522: 681b ldr r3, [r3, #0] 8067524: 4a07 ldr r2, [pc, #28] ; (8067544 ) 8067526: 4293 cmp r3, r2 8067528: d105 bne.n 8067536 { __HAL_RCC_RTC_ENABLE(); 806752a: 4a07 ldr r2, [pc, #28] ; (8067548 ) 806752c: 4b06 ldr r3, [pc, #24] ; (8067548 ) 806752e: 6f1b ldr r3, [r3, #112] ; 0x70 8067530: f443 4300 orr.w r3, r3, #32768 ; 0x8000 8067534: 6713 str r3, [r2, #112] ; 0x70 } } 8067536: bf00 nop 8067538: 370c adds r7, #12 806753a: 46bd mov sp, r7 806753c: f85d 7b04 ldr.w r7, [sp], #4 8067540: 4770 bx lr 8067542: bf00 nop 8067544: 40002800 .word 0x40002800 8067548: 40023800 .word 0x40023800 0806754c : void GetDateTimeFromUnix(TimeDate_TypeDef* data, uint32_t unix) { 806754c: b480 push {r7} 806754e: b083 sub sp, #12 8067550: af00 add r7, sp, #0 8067552: 6078 str r0, [r7, #4] 8067554: 6039 str r1, [r7, #0] data->Year = (unix >> 25) - 20; 8067556: 683b ldr r3, [r7, #0] 8067558: 0e5b lsrs r3, r3, #25 806755a: b2db uxtb r3, r3 806755c: 3b14 subs r3, #20 806755e: b2da uxtb r2, r3 8067560: 687b ldr r3, [r7, #4] 8067562: 709a strb r2, [r3, #2] data->Month = (unix >> 21) & 0xf; 8067564: 683b ldr r3, [r7, #0] 8067566: 0d5b lsrs r3, r3, #21 8067568: b2db uxtb r3, r3 806756a: f003 030f and.w r3, r3, #15 806756e: b2da uxtb r2, r3 8067570: 687b ldr r3, [r7, #4] 8067572: 701a strb r2, [r3, #0] data->Date = (unix >> 16) & 0x1f; 8067574: 683b ldr r3, [r7, #0] 8067576: 0c1b lsrs r3, r3, #16 8067578: b2db uxtb r3, r3 806757a: f003 031f and.w r3, r3, #31 806757e: b2da uxtb r2, r3 8067580: 687b ldr r3, [r7, #4] 8067582: 705a strb r2, [r3, #1] data->Hours = (unix >> 11) & 0x1f; 8067584: 683b ldr r3, [r7, #0] 8067586: 0adb lsrs r3, r3, #11 8067588: b2db uxtb r3, r3 806758a: f003 031f and.w r3, r3, #31 806758e: b2da uxtb r2, r3 8067590: 687b ldr r3, [r7, #4] 8067592: 70da strb r2, [r3, #3] data->Minutes = (unix >> 5) & 0x3f; 8067594: 683b ldr r3, [r7, #0] 8067596: 095b lsrs r3, r3, #5 8067598: b2db uxtb r3, r3 806759a: f003 033f and.w r3, r3, #63 ; 0x3f 806759e: b2da uxtb r2, r3 80675a0: 687b ldr r3, [r7, #4] 80675a2: 711a strb r2, [r3, #4] data->Seconds = ((unix << 1) & 0x3f) + 1; 80675a4: 683b ldr r3, [r7, #0] 80675a6: b2db uxtb r3, r3 80675a8: 005b lsls r3, r3, #1 80675aa: b2db uxtb r3, r3 80675ac: f003 033f and.w r3, r3, #63 ; 0x3f 80675b0: b2db uxtb r3, r3 80675b2: 3301 adds r3, #1 80675b4: b2da uxtb r2, r3 80675b6: 687b ldr r3, [r7, #4] 80675b8: 715a strb r2, [r3, #5] } 80675ba: bf00 nop 80675bc: 370c adds r7, #12 80675be: 46bd mov sp, r7 80675c0: f85d 7b04 ldr.w r7, [sp], #4 80675c4: 4770 bx lr ... 080675c8 : | ((DWORD)Sec >> 1); /* Sec 0 */ } void ChangeTime(int8_t chHours, int8_t chMinutes) { 80675c8: b580 push {r7, lr} 80675ca: b082 sub sp, #8 80675cc: af00 add r7, sp, #0 80675ce: 4603 mov r3, r0 80675d0: 460a mov r2, r1 80675d2: 71fb strb r3, [r7, #7] 80675d4: 4613 mov r3, r2 80675d6: 71bb strb r3, [r7, #6] HAL_RTC_GetTime(&hrtc, &RTC_TimeStruct, RTC_FORMAT_BIN); 80675d8: 2200 movs r2, #0 80675da: 492e ldr r1, [pc, #184] ; (8067694 ) 80675dc: 482e ldr r0, [pc, #184] ; (8067698 ) 80675de: f051 fb03 bl 80b8be8 if(chHours == -1) 80675e2: f997 3007 ldrsb.w r3, [r7, #7] 80675e6: f1b3 3fff cmp.w r3, #4294967295 80675ea: d10e bne.n 806760a { if(RTC_TimeStruct.Hours > 0) 80675ec: 4b29 ldr r3, [pc, #164] ; (8067694 ) 80675ee: 781b ldrb r3, [r3, #0] 80675f0: 2b00 cmp r3, #0 80675f2: d006 beq.n 8067602 RTC_TimeStruct.Hours--; 80675f4: 4b27 ldr r3, [pc, #156] ; (8067694 ) 80675f6: 781b ldrb r3, [r3, #0] 80675f8: 3b01 subs r3, #1 80675fa: b2da uxtb r2, r3 80675fc: 4b25 ldr r3, [pc, #148] ; (8067694 ) 80675fe: 701a strb r2, [r3, #0] 8067600: e03c b.n 806767c else RTC_TimeStruct.Hours = 23; 8067602: 4b24 ldr r3, [pc, #144] ; (8067694 ) 8067604: 2217 movs r2, #23 8067606: 701a strb r2, [r3, #0] 8067608: e038 b.n 806767c } else if(chHours == 1) 806760a: f997 3007 ldrsb.w r3, [r7, #7] 806760e: 2b01 cmp r3, #1 8067610: d10e bne.n 8067630 { if(RTC_TimeStruct.Hours < 23) 8067612: 4b20 ldr r3, [pc, #128] ; (8067694 ) 8067614: 781b ldrb r3, [r3, #0] 8067616: 2b16 cmp r3, #22 8067618: d806 bhi.n 8067628 RTC_TimeStruct.Hours++; 806761a: 4b1e ldr r3, [pc, #120] ; (8067694 ) 806761c: 781b ldrb r3, [r3, #0] 806761e: 3301 adds r3, #1 8067620: b2da uxtb r2, r3 8067622: 4b1c ldr r3, [pc, #112] ; (8067694 ) 8067624: 701a strb r2, [r3, #0] 8067626: e029 b.n 806767c else RTC_TimeStruct.Hours = 0; 8067628: 4b1a ldr r3, [pc, #104] ; (8067694 ) 806762a: 2200 movs r2, #0 806762c: 701a strb r2, [r3, #0] 806762e: e025 b.n 806767c } else if(chMinutes == -1) 8067630: f997 3006 ldrsb.w r3, [r7, #6] 8067634: f1b3 3fff cmp.w r3, #4294967295 8067638: d10e bne.n 8067658 { if(RTC_TimeStruct.Minutes > 0) 806763a: 4b16 ldr r3, [pc, #88] ; (8067694 ) 806763c: 785b ldrb r3, [r3, #1] 806763e: 2b00 cmp r3, #0 8067640: d006 beq.n 8067650 RTC_TimeStruct.Minutes--; 8067642: 4b14 ldr r3, [pc, #80] ; (8067694 ) 8067644: 785b ldrb r3, [r3, #1] 8067646: 3b01 subs r3, #1 8067648: b2da uxtb r2, r3 806764a: 4b12 ldr r3, [pc, #72] ; (8067694 ) 806764c: 705a strb r2, [r3, #1] 806764e: e015 b.n 806767c else RTC_TimeStruct.Minutes = 59; 8067650: 4b10 ldr r3, [pc, #64] ; (8067694 ) 8067652: 223b movs r2, #59 ; 0x3b 8067654: 705a strb r2, [r3, #1] 8067656: e011 b.n 806767c } else if(chMinutes == 1) 8067658: f997 3006 ldrsb.w r3, [r7, #6] 806765c: 2b01 cmp r3, #1 806765e: d10d bne.n 806767c { if(RTC_TimeStruct.Minutes < 59) 8067660: 4b0c ldr r3, [pc, #48] ; (8067694 ) 8067662: 785b ldrb r3, [r3, #1] 8067664: 2b3a cmp r3, #58 ; 0x3a 8067666: d806 bhi.n 8067676 RTC_TimeStruct.Minutes++; 8067668: 4b0a ldr r3, [pc, #40] ; (8067694 ) 806766a: 785b ldrb r3, [r3, #1] 806766c: 3301 adds r3, #1 806766e: b2da uxtb r2, r3 8067670: 4b08 ldr r3, [pc, #32] ; (8067694 ) 8067672: 705a strb r2, [r3, #1] 8067674: e002 b.n 806767c else RTC_TimeStruct.Minutes = 0; 8067676: 4b07 ldr r3, [pc, #28] ; (8067694 ) 8067678: 2200 movs r2, #0 806767a: 705a strb r2, [r3, #1] } RTC_TimeStruct.Seconds = 0; 806767c: 4b05 ldr r3, [pc, #20] ; (8067694 ) 806767e: 2200 movs r2, #0 8067680: 709a strb r2, [r3, #2] HAL_RTC_SetTime(&hrtc, &RTC_TimeStruct, RTC_FORMAT_BIN); 8067682: 2200 movs r2, #0 8067684: 4903 ldr r1, [pc, #12] ; (8067694 ) 8067686: 4804 ldr r0, [pc, #16] ; (8067698 ) 8067688: f051 f9f0 bl 80b8a6c } 806768c: bf00 nop 806768e: 3708 adds r7, #8 8067690: 46bd mov sp, r7 8067692: bd80 pop {r7, pc} 8067694: 20025c68 .word 0x20025c68 8067698: 20068598 .word 0x20068598 0806769c : void ChangeDate(int8_t chDay, int8_t chMonth, int8_t chYear) { 806769c: b580 push {r7, lr} 806769e: b086 sub sp, #24 80676a0: af00 add r7, sp, #0 80676a2: 4603 mov r3, r0 80676a4: 71fb strb r3, [r7, #7] 80676a6: 460b mov r3, r1 80676a8: 71bb strb r3, [r7, #6] 80676aa: 4613 mov r3, r2 80676ac: 717b strb r3, [r7, #5] #define VISOKOSNIY (1) uint32_t j, k; HAL_RTC_GetDate(&hrtc, &RTC_DateStruct, RTC_FORMAT_BIN); 80676ae: 2200 movs r2, #0 80676b0: 49a1 ldr r1, [pc, #644] ; (8067938 ) 80676b2: 48a2 ldr r0, [pc, #648] ; (806793c ) 80676b4: f051 fb9e bl 80b8df4 j = 0; 80676b8: 2300 movs r3, #0 80676ba: 617b str r3, [r7, #20] k = RTC_DateStruct.Year + 2000; 80676bc: 4b9e ldr r3, [pc, #632] ; (8067938 ) 80676be: 78db ldrb r3, [r3, #3] 80676c0: f503 63fa add.w r3, r3, #2000 ; 0x7d0 80676c4: 613b str r3, [r7, #16] if(!(k % 4)) 80676c6: 693b ldr r3, [r7, #16] 80676c8: f003 0303 and.w r3, r3, #3 80676cc: 2b00 cmp r3, #0 80676ce: d11b bne.n 8067708 { if(k % 100) j = VISOKOSNIY; 80676d0: 693a ldr r2, [r7, #16] 80676d2: 4b9b ldr r3, [pc, #620] ; (8067940 ) 80676d4: fba3 1302 umull r1, r3, r3, r2 80676d8: 095b lsrs r3, r3, #5 80676da: 2164 movs r1, #100 ; 0x64 80676dc: fb01 f303 mul.w r3, r1, r3 80676e0: 1ad3 subs r3, r2, r3 80676e2: 2b00 cmp r3, #0 80676e4: d002 beq.n 80676ec 80676e6: 2301 movs r3, #1 80676e8: 617b str r3, [r7, #20] 80676ea: e00d b.n 8067708 else if(!(k % 400)) j = VISOKOSNIY; 80676ec: 693a ldr r2, [r7, #16] 80676ee: 4b94 ldr r3, [pc, #592] ; (8067940 ) 80676f0: fba3 1302 umull r1, r3, r3, r2 80676f4: 09db lsrs r3, r3, #7 80676f6: f44f 71c8 mov.w r1, #400 ; 0x190 80676fa: fb01 f303 mul.w r3, r1, r3 80676fe: 1ad3 subs r3, r2, r3 8067700: 2b00 cmp r3, #0 8067702: d101 bne.n 8067708 8067704: 2301 movs r3, #1 8067706: 617b str r3, [r7, #20] } if(chDay == -1) 8067708: f997 3007 ldrsb.w r3, [r7, #7] 806770c: f1b3 3fff cmp.w r3, #4294967295 8067710: d13d bne.n 806778e { if(RTC_DateStruct.Date > 1) 8067712: 4b89 ldr r3, [pc, #548] ; (8067938 ) 8067714: 789b ldrb r3, [r3, #2] 8067716: 2b01 cmp r3, #1 8067718: d906 bls.n 8067728 RTC_DateStruct.Date--; 806771a: 4b87 ldr r3, [pc, #540] ; (8067938 ) 806771c: 789b ldrb r3, [r3, #2] 806771e: 3b01 subs r3, #1 8067720: b2da uxtb r2, r3 8067722: 4b85 ldr r3, [pc, #532] ; (8067938 ) 8067724: 709a strb r2, [r3, #2] 8067726: e233 b.n 8067b90 else { if(RTC_DateStruct.Month < 8) 8067728: 4b83 ldr r3, [pc, #524] ; (8067938 ) 806772a: 785b ldrb r3, [r3, #1] 806772c: 2b07 cmp r3, #7 806772e: d820 bhi.n 8067772 { if(RTC_DateStruct.Month & 0x1) 8067730: 4b81 ldr r3, [pc, #516] ; (8067938 ) 8067732: 785b ldrb r3, [r3, #1] 8067734: f003 0301 and.w r3, r3, #1 8067738: 2b00 cmp r3, #0 806773a: d003 beq.n 8067744 RTC_DateStruct.Date = 31; 806773c: 4b7e ldr r3, [pc, #504] ; (8067938 ) 806773e: 221f movs r2, #31 8067740: 709a strb r2, [r3, #2] 8067742: e225 b.n 8067b90 else { if(( j ) && (RTC_DateStruct.Month == 2)) 8067744: 697b ldr r3, [r7, #20] 8067746: 2b00 cmp r3, #0 8067748: d007 beq.n 806775a 806774a: 4b7b ldr r3, [pc, #492] ; (8067938 ) 806774c: 785b ldrb r3, [r3, #1] 806774e: 2b02 cmp r3, #2 8067750: d103 bne.n 806775a RTC_DateStruct.Date = 29; 8067752: 4b79 ldr r3, [pc, #484] ; (8067938 ) 8067754: 221d movs r2, #29 8067756: 709a strb r2, [r3, #2] 8067758: e21a b.n 8067b90 else { if(RTC_DateStruct.Month == 2) 806775a: 4b77 ldr r3, [pc, #476] ; (8067938 ) 806775c: 785b ldrb r3, [r3, #1] 806775e: 2b02 cmp r3, #2 8067760: d103 bne.n 806776a RTC_DateStruct.Date = 28; 8067762: 4b75 ldr r3, [pc, #468] ; (8067938 ) 8067764: 221c movs r2, #28 8067766: 709a strb r2, [r3, #2] 8067768: e212 b.n 8067b90 else RTC_DateStruct.Date = 30; 806776a: 4b73 ldr r3, [pc, #460] ; (8067938 ) 806776c: 221e movs r2, #30 806776e: 709a strb r2, [r3, #2] 8067770: e20e b.n 8067b90 } } } else { if(RTC_DateStruct.Month & 0x1) 8067772: 4b71 ldr r3, [pc, #452] ; (8067938 ) 8067774: 785b ldrb r3, [r3, #1] 8067776: f003 0301 and.w r3, r3, #1 806777a: 2b00 cmp r3, #0 806777c: d003 beq.n 8067786 RTC_DateStruct.Date = 30; 806777e: 4b6e ldr r3, [pc, #440] ; (8067938 ) 8067780: 221e movs r2, #30 8067782: 709a strb r2, [r3, #2] 8067784: e204 b.n 8067b90 else RTC_DateStruct.Date = 31; 8067786: 4b6c ldr r3, [pc, #432] ; (8067938 ) 8067788: 221f movs r2, #31 806778a: 709a strb r2, [r3, #2] 806778c: e200 b.n 8067b90 } } } else if(chDay == 1) 806778e: f997 3007 ldrsb.w r3, [r7, #7] 8067792: 2b01 cmp r3, #1 8067794: d13c bne.n 8067810 { if(RTC_DateStruct.Month < 8) 8067796: 4b68 ldr r3, [pc, #416] ; (8067938 ) 8067798: 785b ldrb r3, [r3, #1] 806779a: 2b07 cmp r3, #7 806779c: d81c bhi.n 80677d8 { if(RTC_DateStruct.Month & 0x1) 806779e: 4b66 ldr r3, [pc, #408] ; (8067938 ) 80677a0: 785b ldrb r3, [r3, #1] 80677a2: f003 0301 and.w r3, r3, #1 80677a6: 2b00 cmp r3, #0 80677a8: d002 beq.n 80677b0 k = 31; 80677aa: 231f movs r3, #31 80677ac: 613b str r3, [r7, #16] 80677ae: e01e b.n 80677ee else { if(( j ) && (RTC_DateStruct.Month == 2)) 80677b0: 697b ldr r3, [r7, #20] 80677b2: 2b00 cmp r3, #0 80677b4: d006 beq.n 80677c4 80677b6: 4b60 ldr r3, [pc, #384] ; (8067938 ) 80677b8: 785b ldrb r3, [r3, #1] 80677ba: 2b02 cmp r3, #2 80677bc: d102 bne.n 80677c4 k = 29; 80677be: 231d movs r3, #29 80677c0: 613b str r3, [r7, #16] 80677c2: e014 b.n 80677ee else { if(RTC_DateStruct.Month == 2) 80677c4: 4b5c ldr r3, [pc, #368] ; (8067938 ) 80677c6: 785b ldrb r3, [r3, #1] 80677c8: 2b02 cmp r3, #2 80677ca: d102 bne.n 80677d2 k = 28; 80677cc: 231c movs r3, #28 80677ce: 613b str r3, [r7, #16] 80677d0: e00d b.n 80677ee else k = 30; 80677d2: 231e movs r3, #30 80677d4: 613b str r3, [r7, #16] 80677d6: e00a b.n 80677ee } } } else { if(RTC_DateStruct.Month & 0x1) 80677d8: 4b57 ldr r3, [pc, #348] ; (8067938 ) 80677da: 785b ldrb r3, [r3, #1] 80677dc: f003 0301 and.w r3, r3, #1 80677e0: 2b00 cmp r3, #0 80677e2: d002 beq.n 80677ea k = 30; 80677e4: 231e movs r3, #30 80677e6: 613b str r3, [r7, #16] 80677e8: e001 b.n 80677ee else k = 31; 80677ea: 231f movs r3, #31 80677ec: 613b str r3, [r7, #16] } if(RTC_DateStruct.Date < k) 80677ee: 4b52 ldr r3, [pc, #328] ; (8067938 ) 80677f0: 789b ldrb r3, [r3, #2] 80677f2: 461a mov r2, r3 80677f4: 693b ldr r3, [r7, #16] 80677f6: 429a cmp r2, r3 80677f8: d206 bcs.n 8067808 RTC_DateStruct.Date++; 80677fa: 4b4f ldr r3, [pc, #316] ; (8067938 ) 80677fc: 789b ldrb r3, [r3, #2] 80677fe: 3301 adds r3, #1 8067800: b2da uxtb r2, r3 8067802: 4b4d ldr r3, [pc, #308] ; (8067938 ) 8067804: 709a strb r2, [r3, #2] 8067806: e1c3 b.n 8067b90 else RTC_DateStruct.Date = 1; 8067808: 4b4b ldr r3, [pc, #300] ; (8067938 ) 806780a: 2201 movs r2, #1 806780c: 709a strb r2, [r3, #2] 806780e: e1bf b.n 8067b90 } else if(chMonth == -1) 8067810: f997 3006 ldrsb.w r3, [r7, #6] 8067814: f1b3 3fff cmp.w r3, #4294967295 8067818: d157 bne.n 80678ca { if(RTC_DateStruct.Month > 1) 806781a: 4b47 ldr r3, [pc, #284] ; (8067938 ) 806781c: 785b ldrb r3, [r3, #1] 806781e: 2b01 cmp r3, #1 8067820: d906 bls.n 8067830 RTC_DateStruct.Month--; 8067822: 4b45 ldr r3, [pc, #276] ; (8067938 ) 8067824: 785b ldrb r3, [r3, #1] 8067826: 3b01 subs r3, #1 8067828: b2da uxtb r2, r3 806782a: 4b43 ldr r3, [pc, #268] ; (8067938 ) 806782c: 705a strb r2, [r3, #1] 806782e: e002 b.n 8067836 else RTC_DateStruct.Month = 12; 8067830: 4b41 ldr r3, [pc, #260] ; (8067938 ) 8067832: 220c movs r2, #12 8067834: 705a strb r2, [r3, #1] if(RTC_DateStruct.Month < 8) 8067836: 4b40 ldr r3, [pc, #256] ; (8067938 ) 8067838: 785b ldrb r3, [r3, #1] 806783a: 2b07 cmp r3, #7 806783c: d835 bhi.n 80678aa { if(!(RTC_DateStruct.Month & 0x1)) 806783e: 4b3e ldr r3, [pc, #248] ; (8067938 ) 8067840: 785b ldrb r3, [r3, #1] 8067842: f003 0301 and.w r3, r3, #1 8067846: 2b00 cmp r3, #0 8067848: f040 81a2 bne.w 8067b90 { if(j) 806784c: 697b ldr r3, [r7, #20] 806784e: 2b00 cmp r3, #0 8067850: d015 beq.n 806787e { if(RTC_DateStruct.Month == 2) 8067852: 4b39 ldr r3, [pc, #228] ; (8067938 ) 8067854: 785b ldrb r3, [r3, #1] 8067856: 2b02 cmp r3, #2 8067858: d108 bne.n 806786c { if(RTC_DateStruct.Date > 29) 806785a: 4b37 ldr r3, [pc, #220] ; (8067938 ) 806785c: 789b ldrb r3, [r3, #2] 806785e: 2b1d cmp r3, #29 8067860: f240 8196 bls.w 8067b90 RTC_DateStruct.Date = 29; 8067864: 4b34 ldr r3, [pc, #208] ; (8067938 ) 8067866: 221d movs r2, #29 8067868: 709a strb r2, [r3, #2] 806786a: e191 b.n 8067b90 } else { if(RTC_DateStruct.Date > 30) 806786c: 4b32 ldr r3, [pc, #200] ; (8067938 ) 806786e: 789b ldrb r3, [r3, #2] 8067870: 2b1e cmp r3, #30 8067872: f240 818d bls.w 8067b90 RTC_DateStruct.Date = 30; 8067876: 4b30 ldr r3, [pc, #192] ; (8067938 ) 8067878: 221e movs r2, #30 806787a: 709a strb r2, [r3, #2] 806787c: e188 b.n 8067b90 } } else { if(RTC_DateStruct.Month == 2) 806787e: 4b2e ldr r3, [pc, #184] ; (8067938 ) 8067880: 785b ldrb r3, [r3, #1] 8067882: 2b02 cmp r3, #2 8067884: d108 bne.n 8067898 { if(RTC_DateStruct.Date > 28) 8067886: 4b2c ldr r3, [pc, #176] ; (8067938 ) 8067888: 789b ldrb r3, [r3, #2] 806788a: 2b1c cmp r3, #28 806788c: f240 8180 bls.w 8067b90 RTC_DateStruct.Date = 28; 8067890: 4b29 ldr r3, [pc, #164] ; (8067938 ) 8067892: 221c movs r2, #28 8067894: 709a strb r2, [r3, #2] 8067896: e17b b.n 8067b90 } else { if(RTC_DateStruct.Date > 30) 8067898: 4b27 ldr r3, [pc, #156] ; (8067938 ) 806789a: 789b ldrb r3, [r3, #2] 806789c: 2b1e cmp r3, #30 806789e: f240 8177 bls.w 8067b90 RTC_DateStruct.Date = 30; 80678a2: 4b25 ldr r3, [pc, #148] ; (8067938 ) 80678a4: 221e movs r2, #30 80678a6: 709a strb r2, [r3, #2] 80678a8: e172 b.n 8067b90 } } } else { if(RTC_DateStruct.Month & 0x1) 80678aa: 4b23 ldr r3, [pc, #140] ; (8067938 ) 80678ac: 785b ldrb r3, [r3, #1] 80678ae: f003 0301 and.w r3, r3, #1 80678b2: 2b00 cmp r3, #0 80678b4: f000 816c beq.w 8067b90 { if(RTC_DateStruct.Date > 30) 80678b8: 4b1f ldr r3, [pc, #124] ; (8067938 ) 80678ba: 789b ldrb r3, [r3, #2] 80678bc: 2b1e cmp r3, #30 80678be: f240 8167 bls.w 8067b90 RTC_DateStruct.Date = 30; 80678c2: 4b1d ldr r3, [pc, #116] ; (8067938 ) 80678c4: 221e movs r2, #30 80678c6: 709a strb r2, [r3, #2] 80678c8: e162 b.n 8067b90 } } } else if(chMonth == 1) 80678ca: f997 3006 ldrsb.w r3, [r7, #6] 80678ce: 2b01 cmp r3, #1 80678d0: d15e bne.n 8067990 { if(RTC_DateStruct.Month < 12) 80678d2: 4b19 ldr r3, [pc, #100] ; (8067938 ) 80678d4: 785b ldrb r3, [r3, #1] 80678d6: 2b0b cmp r3, #11 80678d8: d806 bhi.n 80678e8 RTC_DateStruct.Month++; 80678da: 4b17 ldr r3, [pc, #92] ; (8067938 ) 80678dc: 785b ldrb r3, [r3, #1] 80678de: 3301 adds r3, #1 80678e0: b2da uxtb r2, r3 80678e2: 4b15 ldr r3, [pc, #84] ; (8067938 ) 80678e4: 705a strb r2, [r3, #1] 80678e6: e002 b.n 80678ee else RTC_DateStruct.Month = 1; 80678e8: 4b13 ldr r3, [pc, #76] ; (8067938 ) 80678ea: 2201 movs r2, #1 80678ec: 705a strb r2, [r3, #1] if(RTC_DateStruct.Month < 8) 80678ee: 4b12 ldr r3, [pc, #72] ; (8067938 ) 80678f0: 785b ldrb r3, [r3, #1] 80678f2: 2b07 cmp r3, #7 80678f4: d83c bhi.n 8067970 { if(!(RTC_DateStruct.Month & 0x1)) 80678f6: 4b10 ldr r3, [pc, #64] ; (8067938 ) 80678f8: 785b ldrb r3, [r3, #1] 80678fa: f003 0301 and.w r3, r3, #1 80678fe: 2b00 cmp r3, #0 8067900: f040 8146 bne.w 8067b90 { if(j) 8067904: 697b ldr r3, [r7, #20] 8067906: 2b00 cmp r3, #0 8067908: d01c beq.n 8067944 { if(RTC_DateStruct.Month == 2) 806790a: 4b0b ldr r3, [pc, #44] ; (8067938 ) 806790c: 785b ldrb r3, [r3, #1] 806790e: 2b02 cmp r3, #2 8067910: d108 bne.n 8067924 { if(RTC_DateStruct.Date > 29) 8067912: 4b09 ldr r3, [pc, #36] ; (8067938 ) 8067914: 789b ldrb r3, [r3, #2] 8067916: 2b1d cmp r3, #29 8067918: f240 813a bls.w 8067b90 RTC_DateStruct.Date = 29; 806791c: 4b06 ldr r3, [pc, #24] ; (8067938 ) 806791e: 221d movs r2, #29 8067920: 709a strb r2, [r3, #2] 8067922: e135 b.n 8067b90 } else { if(RTC_DateStruct.Date > 30) 8067924: 4b04 ldr r3, [pc, #16] ; (8067938 ) 8067926: 789b ldrb r3, [r3, #2] 8067928: 2b1e cmp r3, #30 806792a: f240 8131 bls.w 8067b90 RTC_DateStruct.Date = 30; 806792e: 4b02 ldr r3, [pc, #8] ; (8067938 ) 8067930: 221e movs r2, #30 8067932: 709a strb r2, [r3, #2] 8067934: e12c b.n 8067b90 8067936: bf00 nop 8067938: 20025cec .word 0x20025cec 806793c: 20068598 .word 0x20068598 8067940: 51eb851f .word 0x51eb851f } } else { if(RTC_DateStruct.Month == 2) 8067944: 4ba1 ldr r3, [pc, #644] ; (8067bcc ) 8067946: 785b ldrb r3, [r3, #1] 8067948: 2b02 cmp r3, #2 806794a: d108 bne.n 806795e { if(RTC_DateStruct.Date > 28) 806794c: 4b9f ldr r3, [pc, #636] ; (8067bcc ) 806794e: 789b ldrb r3, [r3, #2] 8067950: 2b1c cmp r3, #28 8067952: f240 811d bls.w 8067b90 RTC_DateStruct.Date = 28; 8067956: 4b9d ldr r3, [pc, #628] ; (8067bcc ) 8067958: 221c movs r2, #28 806795a: 709a strb r2, [r3, #2] 806795c: e118 b.n 8067b90 } else { if(RTC_DateStruct.Date > 30) 806795e: 4b9b ldr r3, [pc, #620] ; (8067bcc ) 8067960: 789b ldrb r3, [r3, #2] 8067962: 2b1e cmp r3, #30 8067964: f240 8114 bls.w 8067b90 RTC_DateStruct.Date = 30; 8067968: 4b98 ldr r3, [pc, #608] ; (8067bcc ) 806796a: 221e movs r2, #30 806796c: 709a strb r2, [r3, #2] 806796e: e10f b.n 8067b90 } } } else { if(RTC_DateStruct.Month & 0x1) 8067970: 4b96 ldr r3, [pc, #600] ; (8067bcc ) 8067972: 785b ldrb r3, [r3, #1] 8067974: f003 0301 and.w r3, r3, #1 8067978: 2b00 cmp r3, #0 806797a: f000 8109 beq.w 8067b90 { if(RTC_DateStruct.Date > 30) 806797e: 4b93 ldr r3, [pc, #588] ; (8067bcc ) 8067980: 789b ldrb r3, [r3, #2] 8067982: 2b1e cmp r3, #30 8067984: f240 8104 bls.w 8067b90 RTC_DateStruct.Date = 30; 8067988: 4b90 ldr r3, [pc, #576] ; (8067bcc ) 806798a: 221e movs r2, #30 806798c: 709a strb r2, [r3, #2] 806798e: e0ff b.n 8067b90 } } } else if(chYear == -1) 8067990: f997 3005 ldrsb.w r3, [r7, #5] 8067994: f1b3 3fff cmp.w r3, #4294967295 8067998: d17e bne.n 8067a98 { if(RTC_DateStruct.Year > 1) 806799a: 4b8c ldr r3, [pc, #560] ; (8067bcc ) 806799c: 78db ldrb r3, [r3, #3] 806799e: 2b01 cmp r3, #1 80679a0: d906 bls.n 80679b0 RTC_DateStruct.Year--; 80679a2: 4b8a ldr r3, [pc, #552] ; (8067bcc ) 80679a4: 78db ldrb r3, [r3, #3] 80679a6: 3b01 subs r3, #1 80679a8: b2da uxtb r2, r3 80679aa: 4b88 ldr r3, [pc, #544] ; (8067bcc ) 80679ac: 70da strb r2, [r3, #3] 80679ae: e002 b.n 80679b6 else RTC_DateStruct.Year = 99; 80679b0: 4b86 ldr r3, [pc, #536] ; (8067bcc ) 80679b2: 2263 movs r2, #99 ; 0x63 80679b4: 70da strb r2, [r3, #3] j = 0; 80679b6: 2300 movs r3, #0 80679b8: 617b str r3, [r7, #20] k = RTC_DateStruct.Year + 2000; 80679ba: 4b84 ldr r3, [pc, #528] ; (8067bcc ) 80679bc: 78db ldrb r3, [r3, #3] 80679be: f503 63fa add.w r3, r3, #2000 ; 0x7d0 80679c2: 613b str r3, [r7, #16] if(!(k % 4)) 80679c4: 693b ldr r3, [r7, #16] 80679c6: f003 0303 and.w r3, r3, #3 80679ca: 2b00 cmp r3, #0 80679cc: d11b bne.n 8067a06 { if(k % 100) j = 1; 80679ce: 693a ldr r2, [r7, #16] 80679d0: 4b7f ldr r3, [pc, #508] ; (8067bd0 ) 80679d2: fba3 1302 umull r1, r3, r3, r2 80679d6: 095b lsrs r3, r3, #5 80679d8: 2164 movs r1, #100 ; 0x64 80679da: fb01 f303 mul.w r3, r1, r3 80679de: 1ad3 subs r3, r2, r3 80679e0: 2b00 cmp r3, #0 80679e2: d002 beq.n 80679ea 80679e4: 2301 movs r3, #1 80679e6: 617b str r3, [r7, #20] 80679e8: e00d b.n 8067a06 else if(!(k % 400)) j = 1; 80679ea: 693a ldr r2, [r7, #16] 80679ec: 4b78 ldr r3, [pc, #480] ; (8067bd0 ) 80679ee: fba3 1302 umull r1, r3, r3, r2 80679f2: 09db lsrs r3, r3, #7 80679f4: f44f 71c8 mov.w r1, #400 ; 0x190 80679f8: fb01 f303 mul.w r3, r1, r3 80679fc: 1ad3 subs r3, r2, r3 80679fe: 2b00 cmp r3, #0 8067a00: d101 bne.n 8067a06 8067a02: 2301 movs r3, #1 8067a04: 617b str r3, [r7, #20] } if(RTC_DateStruct.Month < 8) 8067a06: 4b71 ldr r3, [pc, #452] ; (8067bcc ) 8067a08: 785b ldrb r3, [r3, #1] 8067a0a: 2b07 cmp r3, #7 8067a0c: d835 bhi.n 8067a7a { if(!(RTC_DateStruct.Month & 0x1)) 8067a0e: 4b6f ldr r3, [pc, #444] ; (8067bcc ) 8067a10: 785b ldrb r3, [r3, #1] 8067a12: f003 0301 and.w r3, r3, #1 8067a16: 2b00 cmp r3, #0 8067a18: f040 80ba bne.w 8067b90 { if(j) 8067a1c: 697b ldr r3, [r7, #20] 8067a1e: 2b00 cmp r3, #0 8067a20: d015 beq.n 8067a4e { if(RTC_DateStruct.Month == 2) 8067a22: 4b6a ldr r3, [pc, #424] ; (8067bcc ) 8067a24: 785b ldrb r3, [r3, #1] 8067a26: 2b02 cmp r3, #2 8067a28: d108 bne.n 8067a3c { if(RTC_DateStruct.Date > 29) 8067a2a: 4b68 ldr r3, [pc, #416] ; (8067bcc ) 8067a2c: 789b ldrb r3, [r3, #2] 8067a2e: 2b1d cmp r3, #29 8067a30: f240 80ae bls.w 8067b90 RTC_DateStruct.Date = 29; 8067a34: 4b65 ldr r3, [pc, #404] ; (8067bcc ) 8067a36: 221d movs r2, #29 8067a38: 709a strb r2, [r3, #2] 8067a3a: e0a9 b.n 8067b90 } else { if(RTC_DateStruct.Date > 30) 8067a3c: 4b63 ldr r3, [pc, #396] ; (8067bcc ) 8067a3e: 789b ldrb r3, [r3, #2] 8067a40: 2b1e cmp r3, #30 8067a42: f240 80a5 bls.w 8067b90 RTC_DateStruct.Date = 30; 8067a46: 4b61 ldr r3, [pc, #388] ; (8067bcc ) 8067a48: 221e movs r2, #30 8067a4a: 709a strb r2, [r3, #2] 8067a4c: e0a0 b.n 8067b90 } } else { if(RTC_DateStruct.Month == 2) 8067a4e: 4b5f ldr r3, [pc, #380] ; (8067bcc ) 8067a50: 785b ldrb r3, [r3, #1] 8067a52: 2b02 cmp r3, #2 8067a54: d108 bne.n 8067a68 { if(RTC_DateStruct.Date > 28) 8067a56: 4b5d ldr r3, [pc, #372] ; (8067bcc ) 8067a58: 789b ldrb r3, [r3, #2] 8067a5a: 2b1c cmp r3, #28 8067a5c: f240 8098 bls.w 8067b90 RTC_DateStruct.Date = 28; 8067a60: 4b5a ldr r3, [pc, #360] ; (8067bcc ) 8067a62: 221c movs r2, #28 8067a64: 709a strb r2, [r3, #2] 8067a66: e093 b.n 8067b90 } else { if(RTC_DateStruct.Date > 30) 8067a68: 4b58 ldr r3, [pc, #352] ; (8067bcc ) 8067a6a: 789b ldrb r3, [r3, #2] 8067a6c: 2b1e cmp r3, #30 8067a6e: f240 808f bls.w 8067b90 RTC_DateStruct.Date = 30; 8067a72: 4b56 ldr r3, [pc, #344] ; (8067bcc ) 8067a74: 221e movs r2, #30 8067a76: 709a strb r2, [r3, #2] 8067a78: e08a b.n 8067b90 } } } else { if(RTC_DateStruct.Month & 0x1) 8067a7a: 4b54 ldr r3, [pc, #336] ; (8067bcc ) 8067a7c: 785b ldrb r3, [r3, #1] 8067a7e: f003 0301 and.w r3, r3, #1 8067a82: 2b00 cmp r3, #0 8067a84: f000 8084 beq.w 8067b90 { if(RTC_DateStruct.Date > 30) 8067a88: 4b50 ldr r3, [pc, #320] ; (8067bcc ) 8067a8a: 789b ldrb r3, [r3, #2] 8067a8c: 2b1e cmp r3, #30 8067a8e: d97f bls.n 8067b90 RTC_DateStruct.Date = 30; 8067a90: 4b4e ldr r3, [pc, #312] ; (8067bcc ) 8067a92: 221e movs r2, #30 8067a94: 709a strb r2, [r3, #2] 8067a96: e07b b.n 8067b90 } } } else if(chYear == 1) 8067a98: f997 3005 ldrsb.w r3, [r7, #5] 8067a9c: 2b01 cmp r3, #1 8067a9e: d177 bne.n 8067b90 { if(RTC_DateStruct.Year < 99) 8067aa0: 4b4a ldr r3, [pc, #296] ; (8067bcc ) 8067aa2: 78db ldrb r3, [r3, #3] 8067aa4: 2b62 cmp r3, #98 ; 0x62 8067aa6: d806 bhi.n 8067ab6 RTC_DateStruct.Year++; 8067aa8: 4b48 ldr r3, [pc, #288] ; (8067bcc ) 8067aaa: 78db ldrb r3, [r3, #3] 8067aac: 3301 adds r3, #1 8067aae: b2da uxtb r2, r3 8067ab0: 4b46 ldr r3, [pc, #280] ; (8067bcc ) 8067ab2: 70da strb r2, [r3, #3] 8067ab4: e002 b.n 8067abc else RTC_DateStruct.Year = 0; 8067ab6: 4b45 ldr r3, [pc, #276] ; (8067bcc ) 8067ab8: 2200 movs r2, #0 8067aba: 70da strb r2, [r3, #3] j = 0; 8067abc: 2300 movs r3, #0 8067abe: 617b str r3, [r7, #20] k = RTC_DateStruct.Year + 2000; 8067ac0: 4b42 ldr r3, [pc, #264] ; (8067bcc ) 8067ac2: 78db ldrb r3, [r3, #3] 8067ac4: f503 63fa add.w r3, r3, #2000 ; 0x7d0 8067ac8: 613b str r3, [r7, #16] if(!(k % 4)) 8067aca: 693b ldr r3, [r7, #16] 8067acc: f003 0303 and.w r3, r3, #3 8067ad0: 2b00 cmp r3, #0 8067ad2: d11b bne.n 8067b0c { if(k % 100) j = 1; 8067ad4: 693a ldr r2, [r7, #16] 8067ad6: 4b3e ldr r3, [pc, #248] ; (8067bd0 ) 8067ad8: fba3 1302 umull r1, r3, r3, r2 8067adc: 095b lsrs r3, r3, #5 8067ade: 2164 movs r1, #100 ; 0x64 8067ae0: fb01 f303 mul.w r3, r1, r3 8067ae4: 1ad3 subs r3, r2, r3 8067ae6: 2b00 cmp r3, #0 8067ae8: d002 beq.n 8067af0 8067aea: 2301 movs r3, #1 8067aec: 617b str r3, [r7, #20] 8067aee: e00d b.n 8067b0c else if(!(k % 400)) j = 1; 8067af0: 693a ldr r2, [r7, #16] 8067af2: 4b37 ldr r3, [pc, #220] ; (8067bd0 ) 8067af4: fba3 1302 umull r1, r3, r3, r2 8067af8: 09db lsrs r3, r3, #7 8067afa: f44f 71c8 mov.w r1, #400 ; 0x190 8067afe: fb01 f303 mul.w r3, r1, r3 8067b02: 1ad3 subs r3, r2, r3 8067b04: 2b00 cmp r3, #0 8067b06: d101 bne.n 8067b0c 8067b08: 2301 movs r3, #1 8067b0a: 617b str r3, [r7, #20] } if(RTC_DateStruct.Month < 8) 8067b0c: 4b2f ldr r3, [pc, #188] ; (8067bcc ) 8067b0e: 785b ldrb r3, [r3, #1] 8067b10: 2b07 cmp r3, #7 8067b12: d830 bhi.n 8067b76 { if(!(RTC_DateStruct.Month & 0x1)) 8067b14: 4b2d ldr r3, [pc, #180] ; (8067bcc ) 8067b16: 785b ldrb r3, [r3, #1] 8067b18: f003 0301 and.w r3, r3, #1 8067b1c: 2b00 cmp r3, #0 8067b1e: d137 bne.n 8067b90 { if(j) 8067b20: 697b ldr r3, [r7, #20] 8067b22: 2b00 cmp r3, #0 8067b24: d013 beq.n 8067b4e { if(RTC_DateStruct.Month == 2) 8067b26: 4b29 ldr r3, [pc, #164] ; (8067bcc ) 8067b28: 785b ldrb r3, [r3, #1] 8067b2a: 2b02 cmp r3, #2 8067b2c: d107 bne.n 8067b3e { if(RTC_DateStruct.Date > 29) 8067b2e: 4b27 ldr r3, [pc, #156] ; (8067bcc ) 8067b30: 789b ldrb r3, [r3, #2] 8067b32: 2b1d cmp r3, #29 8067b34: d92c bls.n 8067b90 RTC_DateStruct.Date = 29; 8067b36: 4b25 ldr r3, [pc, #148] ; (8067bcc ) 8067b38: 221d movs r2, #29 8067b3a: 709a strb r2, [r3, #2] 8067b3c: e028 b.n 8067b90 } else { if(RTC_DateStruct.Date > 30) 8067b3e: 4b23 ldr r3, [pc, #140] ; (8067bcc ) 8067b40: 789b ldrb r3, [r3, #2] 8067b42: 2b1e cmp r3, #30 8067b44: d924 bls.n 8067b90 RTC_DateStruct.Date = 30; 8067b46: 4b21 ldr r3, [pc, #132] ; (8067bcc ) 8067b48: 221e movs r2, #30 8067b4a: 709a strb r2, [r3, #2] 8067b4c: e020 b.n 8067b90 } } else { if(RTC_DateStruct.Month == 2) 8067b4e: 4b1f ldr r3, [pc, #124] ; (8067bcc ) 8067b50: 785b ldrb r3, [r3, #1] 8067b52: 2b02 cmp r3, #2 8067b54: d107 bne.n 8067b66 { if(RTC_DateStruct.Date > 28) 8067b56: 4b1d ldr r3, [pc, #116] ; (8067bcc ) 8067b58: 789b ldrb r3, [r3, #2] 8067b5a: 2b1c cmp r3, #28 8067b5c: d918 bls.n 8067b90 RTC_DateStruct.Date = 28; 8067b5e: 4b1b ldr r3, [pc, #108] ; (8067bcc ) 8067b60: 221c movs r2, #28 8067b62: 709a strb r2, [r3, #2] 8067b64: e014 b.n 8067b90 } else { if(RTC_DateStruct.Date > 30) 8067b66: 4b19 ldr r3, [pc, #100] ; (8067bcc ) 8067b68: 789b ldrb r3, [r3, #2] 8067b6a: 2b1e cmp r3, #30 8067b6c: d910 bls.n 8067b90 RTC_DateStruct.Date = 30; 8067b6e: 4b17 ldr r3, [pc, #92] ; (8067bcc ) 8067b70: 221e movs r2, #30 8067b72: 709a strb r2, [r3, #2] 8067b74: e00c b.n 8067b90 } } } else { if(RTC_DateStruct.Month & 0x1) 8067b76: 4b15 ldr r3, [pc, #84] ; (8067bcc ) 8067b78: 785b ldrb r3, [r3, #1] 8067b7a: f003 0301 and.w r3, r3, #1 8067b7e: 2b00 cmp r3, #0 8067b80: d006 beq.n 8067b90 { if(RTC_DateStruct.Date > 30) 8067b82: 4b12 ldr r3, [pc, #72] ; (8067bcc ) 8067b84: 789b ldrb r3, [r3, #2] 8067b86: 2b1e cmp r3, #30 8067b88: d902 bls.n 8067b90 RTC_DateStruct.Date = 30; 8067b8a: 4b10 ldr r3, [pc, #64] ; (8067bcc ) 8067b8c: 221e movs r2, #30 8067b8e: 709a strb r2, [r3, #2] uint32_t d, i; //01.01.2000 - SATURDAY d = 0; 8067b90: 2300 movs r3, #0 8067b92: 60fb str r3, [r7, #12] for(i = 0; i < RTC_DateStruct.Year; i++) 8067b94: 2300 movs r3, #0 8067b96: 60bb str r3, [r7, #8] 8067b98: e033 b.n 8067c02 { j = 0; 8067b9a: 2300 movs r3, #0 8067b9c: 617b str r3, [r7, #20] k = i + 2000; 8067b9e: 68bb ldr r3, [r7, #8] 8067ba0: f503 63fa add.w r3, r3, #2000 ; 0x7d0 8067ba4: 613b str r3, [r7, #16] if(!(k % 4)) 8067ba6: 693b ldr r3, [r7, #16] 8067ba8: f003 0303 and.w r3, r3, #3 8067bac: 2b00 cmp r3, #0 8067bae: d11f bne.n 8067bf0 { if(k % 100) j = VISOKOSNIY; 8067bb0: 693a ldr r2, [r7, #16] 8067bb2: 4b07 ldr r3, [pc, #28] ; (8067bd0 ) 8067bb4: fba3 1302 umull r1, r3, r3, r2 8067bb8: 095b lsrs r3, r3, #5 8067bba: 2164 movs r1, #100 ; 0x64 8067bbc: fb01 f303 mul.w r3, r1, r3 8067bc0: 1ad3 subs r3, r2, r3 8067bc2: 2b00 cmp r3, #0 8067bc4: d006 beq.n 8067bd4 8067bc6: 2301 movs r3, #1 8067bc8: 617b str r3, [r7, #20] 8067bca: e011 b.n 8067bf0 8067bcc: 20025cec .word 0x20025cec 8067bd0: 51eb851f .word 0x51eb851f else if(!(k % 400)) j = VISOKOSNIY; 8067bd4: 693a ldr r2, [r7, #16] 8067bd6: 4b4c ldr r3, [pc, #304] ; (8067d08 ) 8067bd8: fba3 1302 umull r1, r3, r3, r2 8067bdc: 09db lsrs r3, r3, #7 8067bde: f44f 71c8 mov.w r1, #400 ; 0x190 8067be2: fb01 f303 mul.w r3, r1, r3 8067be6: 1ad3 subs r3, r2, r3 8067be8: 2b00 cmp r3, #0 8067bea: d101 bne.n 8067bf0 8067bec: 2301 movs r3, #1 8067bee: 617b str r3, [r7, #20] } d += (365 + j); 8067bf0: 697a ldr r2, [r7, #20] 8067bf2: 68fb ldr r3, [r7, #12] 8067bf4: 4413 add r3, r2 8067bf6: f203 136d addw r3, r3, #365 ; 0x16d 8067bfa: 60fb str r3, [r7, #12] for(i = 0; i < RTC_DateStruct.Year; i++) 8067bfc: 68bb ldr r3, [r7, #8] 8067bfe: 3301 adds r3, #1 8067c00: 60bb str r3, [r7, #8] 8067c02: 4b42 ldr r3, [pc, #264] ; (8067d0c ) 8067c04: 78db ldrb r3, [r3, #3] 8067c06: 461a mov r2, r3 8067c08: 68bb ldr r3, [r7, #8] 8067c0a: 429a cmp r2, r3 8067c0c: d8c5 bhi.n 8067b9a } k++; 8067c0e: 693b ldr r3, [r7, #16] 8067c10: 3301 adds r3, #1 8067c12: 613b str r3, [r7, #16] j = 0; 8067c14: 2300 movs r3, #0 8067c16: 617b str r3, [r7, #20] if(!(k % 4)) 8067c18: 693b ldr r3, [r7, #16] 8067c1a: f003 0303 and.w r3, r3, #3 8067c1e: 2b00 cmp r3, #0 8067c20: d11b bne.n 8067c5a { if(k % 100) j = VISOKOSNIY; 8067c22: 693a ldr r2, [r7, #16] 8067c24: 4b38 ldr r3, [pc, #224] ; (8067d08 ) 8067c26: fba3 1302 umull r1, r3, r3, r2 8067c2a: 095b lsrs r3, r3, #5 8067c2c: 2164 movs r1, #100 ; 0x64 8067c2e: fb01 f303 mul.w r3, r1, r3 8067c32: 1ad3 subs r3, r2, r3 8067c34: 2b00 cmp r3, #0 8067c36: d002 beq.n 8067c3e 8067c38: 2301 movs r3, #1 8067c3a: 617b str r3, [r7, #20] 8067c3c: e00d b.n 8067c5a else if(!(k % 400)) j = VISOKOSNIY; 8067c3e: 693a ldr r2, [r7, #16] 8067c40: 4b31 ldr r3, [pc, #196] ; (8067d08 ) 8067c42: fba3 1302 umull r1, r3, r3, r2 8067c46: 09db lsrs r3, r3, #7 8067c48: f44f 71c8 mov.w r1, #400 ; 0x190 8067c4c: fb01 f303 mul.w r3, r1, r3 8067c50: 1ad3 subs r3, r2, r3 8067c52: 2b00 cmp r3, #0 8067c54: d101 bne.n 8067c5a 8067c56: 2301 movs r3, #1 8067c58: 617b str r3, [r7, #20] } for(i = 1; i < RTC_DateStruct.Month; i++) 8067c5a: 2301 movs r3, #1 8067c5c: 60bb str r3, [r7, #8] 8067c5e: e02c b.n 8067cba { if(i < RTC_MONTH_AUGUST) 8067c60: 68bb ldr r3, [r7, #8] 8067c62: 2b07 cmp r3, #7 8067c64: d81a bhi.n 8067c9c { if(i & 1) 8067c66: 68bb ldr r3, [r7, #8] 8067c68: f003 0301 and.w r3, r3, #1 8067c6c: 2b00 cmp r3, #0 8067c6e: d003 beq.n 8067c78 d += 31; 8067c70: 68fb ldr r3, [r7, #12] 8067c72: 331f adds r3, #31 8067c74: 60fb str r3, [r7, #12] 8067c76: e01d b.n 8067cb4 else { if(i == RTC_MONTH_FEBRUARY) 8067c78: 68bb ldr r3, [r7, #8] 8067c7a: 2b02 cmp r3, #2 8067c7c: d10a bne.n 8067c94 { if(j != VISOKOSNIY) 8067c7e: 697b ldr r3, [r7, #20] 8067c80: 2b01 cmp r3, #1 8067c82: d003 beq.n 8067c8c d += 28; 8067c84: 68fb ldr r3, [r7, #12] 8067c86: 331c adds r3, #28 8067c88: 60fb str r3, [r7, #12] 8067c8a: e013 b.n 8067cb4 else d += 29; 8067c8c: 68fb ldr r3, [r7, #12] 8067c8e: 331d adds r3, #29 8067c90: 60fb str r3, [r7, #12] 8067c92: e00f b.n 8067cb4 } else d += 30; 8067c94: 68fb ldr r3, [r7, #12] 8067c96: 331e adds r3, #30 8067c98: 60fb str r3, [r7, #12] 8067c9a: e00b b.n 8067cb4 } } else { if(i & 1) 8067c9c: 68bb ldr r3, [r7, #8] 8067c9e: f003 0301 and.w r3, r3, #1 8067ca2: 2b00 cmp r3, #0 8067ca4: d003 beq.n 8067cae d += 30; 8067ca6: 68fb ldr r3, [r7, #12] 8067ca8: 331e adds r3, #30 8067caa: 60fb str r3, [r7, #12] 8067cac: e002 b.n 8067cb4 else d += 31; 8067cae: 68fb ldr r3, [r7, #12] 8067cb0: 331f adds r3, #31 8067cb2: 60fb str r3, [r7, #12] for(i = 1; i < RTC_DateStruct.Month; i++) 8067cb4: 68bb ldr r3, [r7, #8] 8067cb6: 3301 adds r3, #1 8067cb8: 60bb str r3, [r7, #8] 8067cba: 4b14 ldr r3, [pc, #80] ; (8067d0c ) 8067cbc: 785b ldrb r3, [r3, #1] 8067cbe: 461a mov r2, r3 8067cc0: 68bb ldr r3, [r7, #8] 8067cc2: 429a cmp r2, r3 8067cc4: d8cc bhi.n 8067c60 } } d += RTC_DateStruct.Date; 8067cc6: 4b11 ldr r3, [pc, #68] ; (8067d0c ) 8067cc8: 789b ldrb r3, [r3, #2] 8067cca: 461a mov r2, r3 8067ccc: 68fb ldr r3, [r7, #12] 8067cce: 4413 add r3, r2 8067cd0: 60fb str r3, [r7, #12] d += (RTC_WEEKDAY_SATURDAY - 1); 8067cd2: 68fb ldr r3, [r7, #12] 8067cd4: 3305 adds r3, #5 8067cd6: 60fb str r3, [r7, #12] RTC_DateStruct.WeekDay = d % 7; 8067cd8: 68fa ldr r2, [r7, #12] 8067cda: 4b0d ldr r3, [pc, #52] ; (8067d10 ) 8067cdc: fba3 1302 umull r1, r3, r3, r2 8067ce0: 1ad1 subs r1, r2, r3 8067ce2: 0849 lsrs r1, r1, #1 8067ce4: 440b add r3, r1 8067ce6: 0899 lsrs r1, r3, #2 8067ce8: 460b mov r3, r1 8067cea: 00db lsls r3, r3, #3 8067cec: 1a5b subs r3, r3, r1 8067cee: 1ad1 subs r1, r2, r3 8067cf0: b2ca uxtb r2, r1 8067cf2: 4b06 ldr r3, [pc, #24] ; (8067d0c ) 8067cf4: 701a strb r2, [r3, #0] HAL_RTC_SetDate(&hrtc, &RTC_DateStruct, RTC_FORMAT_BIN); 8067cf6: 2200 movs r2, #0 8067cf8: 4904 ldr r1, [pc, #16] ; (8067d0c ) 8067cfa: 4806 ldr r0, [pc, #24] ; (8067d14 ) 8067cfc: f050 ffd2 bl 80b8ca4 } 8067d00: bf00 nop 8067d02: 3718 adds r7, #24 8067d04: 46bd mov sp, r7 8067d06: bd80 pop {r7, pc} 8067d08: 51eb851f .word 0x51eb851f 8067d0c: 20025cec .word 0x20025cec 8067d10: 24924925 .word 0x24924925 8067d14: 20068598 .word 0x20068598 08067d18 : void EXTI_Config(void) { 8067d18: b580 push {r7, lr} 8067d1a: b086 sub sp, #24 8067d1c: af00 add r7, sp, #0 GPIO_InitTypeDef EXTILineStruct; __HAL_RCC_SYSCFG_CLK_ENABLE(); 8067d1e: 4a1c ldr r2, [pc, #112] ; (8067d90 ) 8067d20: 4b1b ldr r3, [pc, #108] ; (8067d90 ) 8067d22: 6c5b ldr r3, [r3, #68] ; 0x44 8067d24: f443 4380 orr.w r3, r3, #16384 ; 0x4000 8067d28: 6453 str r3, [r2, #68] ; 0x44 8067d2a: 4b19 ldr r3, [pc, #100] ; (8067d90 ) 8067d2c: 6c5b ldr r3, [r3, #68] ; 0x44 8067d2e: f403 4380 and.w r3, r3, #16384 ; 0x4000 8067d32: 603b str r3, [r7, #0] 8067d34: 683b ldr r3, [r7, #0] EXTILineStruct.Pin = GPIO_PIN_2; 8067d36: 2304 movs r3, #4 8067d38: 607b str r3, [r7, #4] EXTILineStruct.Mode = GPIO_MODE_IT_RISING; 8067d3a: f44f 1388 mov.w r3, #1114112 ; 0x110000 8067d3e: 60bb str r3, [r7, #8] EXTILineStruct.Pull = GPIO_NOPULL; 8067d40: 2300 movs r3, #0 8067d42: 60fb str r3, [r7, #12] HAL_GPIO_Init(GPIOC, &EXTILineStruct); 8067d44: 1d3b adds r3, r7, #4 8067d46: 4619 mov r1, r3 8067d48: 4812 ldr r0, [pc, #72] ; (8067d94 ) 8067d4a: f04d fc63 bl 80b5614 HAL_NVIC_SetPriority(EXTI2_IRQn, 8, 0); 8067d4e: 2200 movs r2, #0 8067d50: 2108 movs r1, #8 8067d52: 2008 movs r0, #8 8067d54: f04c f9c7 bl 80b40e6 HAL_NVIC_EnableIRQ(EXTI2_IRQn); 8067d58: 2008 movs r0, #8 8067d5a: f04c f9e0 bl 80b411e EXTILineStruct.Pin = RDYB_Pin; 8067d5e: 2308 movs r3, #8 8067d60: 607b str r3, [r7, #4] EXTILineStruct.Mode = GPIO_MODE_IT_FALLING; 8067d62: f44f 1304 mov.w r3, #2162688 ; 0x210000 8067d66: 60bb str r3, [r7, #8] EXTILineStruct.Pull = GPIO_PULLUP; 8067d68: 2301 movs r3, #1 8067d6a: 60fb str r3, [r7, #12] HAL_GPIO_Init(RDYB_GPIO_Port, &EXTILineStruct); 8067d6c: 1d3b adds r3, r7, #4 8067d6e: 4619 mov r1, r3 8067d70: 4809 ldr r0, [pc, #36] ; (8067d98 ) 8067d72: f04d fc4f bl 80b5614 HAL_NVIC_SetPriority(EXTI3_IRQn, 1, 0); 8067d76: 2200 movs r2, #0 8067d78: 2101 movs r1, #1 8067d7a: 2009 movs r0, #9 8067d7c: f04c f9b3 bl 80b40e6 HAL_NVIC_EnableIRQ(EXTI3_IRQn); 8067d80: 2009 movs r0, #9 8067d82: f04c f9cc bl 80b411e } 8067d86: bf00 nop 8067d88: 3718 adds r7, #24 8067d8a: 46bd mov sp, r7 8067d8c: bd80 pop {r7, pc} 8067d8e: bf00 nop 8067d90: 40023800 .word 0x40023800 8067d94: 40020800 .word 0x40020800 8067d98: 40020400 .word 0x40020400 08067d9c : void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin) { 8067d9c: b580 push {r7, lr} 8067d9e: b082 sub sp, #8 8067da0: af00 add r7, sp, #0 8067da2: 4603 mov r3, r0 8067da4: 80fb strh r3, [r7, #6] if(GPIO_Pin == GPIO_PIN_2) 8067da6: 88fb ldrh r3, [r7, #6] 8067da8: 2b04 cmp r3, #4 8067daa: d115 bne.n 8067dd8 { __HAL_GPIO_EXTI_CLEAR_FLAG(GPIO_PIN_2); 8067dac: 4b0f ldr r3, [pc, #60] ; (8067dec ) 8067dae: 2204 movs r2, #4 8067db0: 615a str r2, [r3, #20] if((RefreshScreen == false) && (screen == true)) 8067db2: 4b0f ldr r3, [pc, #60] ; (8067df0 ) 8067db4: 781b ldrb r3, [r3, #0] 8067db6: b2db uxtb r3, r3 8067db8: f083 0301 eor.w r3, r3, #1 8067dbc: b2db uxtb r3, r3 8067dbe: 2b00 cmp r3, #0 8067dc0: d00f beq.n 8067de2 8067dc2: 4b0c ldr r3, [pc, #48] ; (8067df4 ) 8067dc4: 781b ldrb r3, [r3, #0] 8067dc6: b2db uxtb r3, r3 8067dc8: 2b00 cmp r3, #0 8067dca: d00a beq.n 8067de2 { screen = false; 8067dcc: 4b09 ldr r3, [pc, #36] ; (8067df4 ) 8067dce: 2200 movs r2, #0 8067dd0: 701a strb r2, [r3, #0] Display(); 8067dd2: f000 fa7d bl 80682d0 else { __HAL_GPIO_EXTI_CLEAR_FLAG(RDYB_Pin); MAX11270_IRQ(); } } 8067dd6: e004 b.n 8067de2 __HAL_GPIO_EXTI_CLEAR_FLAG(RDYB_Pin); 8067dd8: 4b04 ldr r3, [pc, #16] ; (8067dec ) 8067dda: 2208 movs r2, #8 8067ddc: 615a str r2, [r3, #20] MAX11270_IRQ(); 8067dde: f7ed f9d5 bl 805518c } 8067de2: bf00 nop 8067de4: 3708 adds r7, #8 8067de6: 46bd mov sp, r7 8067de8: bd80 pop {r7, pc} 8067dea: bf00 nop 8067dec: 40013c00 .word 0x40013c00 8067df0: 20021000 .word 0x20021000 8067df4: 200200ca .word 0x200200ca 08067df8 : void RedrawScreen(void) { 8067df8: b480 push {r7} 8067dfa: af00 add r7, sp, #0 __HAL_GPIO_EXTI_GENERATE_SWIT(GPIO_PIN_2); 8067dfc: 4a05 ldr r2, [pc, #20] ; (8067e14 ) 8067dfe: 4b05 ldr r3, [pc, #20] ; (8067e14 ) 8067e00: 691b ldr r3, [r3, #16] 8067e02: f043 0304 orr.w r3, r3, #4 8067e06: 6113 str r3, [r2, #16] } 8067e08: bf00 nop 8067e0a: 46bd mov sp, r7 8067e0c: f85d 7b04 ldr.w r7, [sp], #4 8067e10: 4770 bx lr 8067e12: bf00 nop 8067e14: 40013c00 .word 0x40013c00 08067e18 : void Logo(void) { 8067e18: b580 push {r7, lr} 8067e1a: b082 sub sp, #8 8067e1c: af00 add r7, sp, #0 uint32_t i; uint32_t color = 0xFF212829;//0xFF0A0F1F; 8067e1e: 4b6b ldr r3, [pc, #428] ; (8067fcc ) 8067e20: 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(); 8067e22: f7eb fb45 bl 80534b0 HAL_NVIC_DisableIRQ(EXTI2_IRQn); 8067e26: 2008 movs r0, #8 8067e28: f04c f987 bl 80b413a //********************************************************* BSP_LCD_SetFont(&Font12); 8067e2c: 4868 ldr r0, [pc, #416] ; (8067fd0 ) 8067e2e: f7eb fcf9 bl 8053824 for(i = 0; i < 3; i++) 8067e32: 2300 movs r3, #0 8067e34: 607b str r3, [r7, #4] 8067e36: e032 b.n 8067e9e { BSP_LCD_Clear(color); 8067e38: 6838 ldr r0, [r7, #0] 8067e3a: f7eb fd11 bl 8053860 LOGO_IMAGE; 8067e3e: 2250 movs r2, #80 ; 0x50 8067e40: 2100 movs r1, #0 8067e42: 4864 ldr r0, [pc, #400] ; (8067fd4 ) 8067e44: f7ec fba6 bl 8054594 RefreshScreen = true; 8067e48: 4b63 ldr r3, [pc, #396] ; (8067fd8 ) 8067e4a: 2201 movs r2, #1 8067e4c: 701a strb r2, [r3, #0] HAL_LTDC_ProgramLineEvent(&hLtdcHandler, 0); 8067e4e: 2100 movs r1, #0 8067e50: 4862 ldr r0, [pc, #392] ; (8067fdc ) 8067e52: f04e f8a5 bl 80b5fa0 while(RefreshScreen); 8067e56: bf00 nop 8067e58: 4b5f ldr r3, [pc, #380] ; (8067fd8 ) 8067e5a: 781b ldrb r3, [r3, #0] 8067e5c: b2db uxtb r3, r3 8067e5e: 2b00 cmp r3, #0 8067e60: d1fa bne.n 8067e58 HAL_Delay(50); 8067e62: 2032 movs r0, #50 ; 0x32 8067e64: f04b f9f4 bl 80b3250 BSP_LCD_Clear(color); 8067e68: 6838 ldr r0, [r7, #0] 8067e6a: f7eb fcf9 bl 8053860 LOGO_IMAGE_1; 8067e6e: 2250 movs r2, #80 ; 0x50 8067e70: 2100 movs r1, #0 8067e72: 4858 ldr r0, [pc, #352] ; (8067fd4 ) 8067e74: f7ec fb8e bl 8054594 RefreshScreen = true; 8067e78: 4b57 ldr r3, [pc, #348] ; (8067fd8 ) 8067e7a: 2201 movs r2, #1 8067e7c: 701a strb r2, [r3, #0] HAL_LTDC_ProgramLineEvent(&hLtdcHandler, 0); 8067e7e: 2100 movs r1, #0 8067e80: 4856 ldr r0, [pc, #344] ; (8067fdc ) 8067e82: f04e f88d bl 80b5fa0 while(RefreshScreen); 8067e86: bf00 nop 8067e88: 4b53 ldr r3, [pc, #332] ; (8067fd8 ) 8067e8a: 781b ldrb r3, [r3, #0] 8067e8c: b2db uxtb r3, r3 8067e8e: 2b00 cmp r3, #0 8067e90: d1fa bne.n 8067e88 HAL_Delay(50); 8067e92: 2032 movs r0, #50 ; 0x32 8067e94: f04b f9dc bl 80b3250 for(i = 0; i < 3; i++) 8067e98: 687b ldr r3, [r7, #4] 8067e9a: 3301 adds r3, #1 8067e9c: 607b str r3, [r7, #4] 8067e9e: 687b ldr r3, [r7, #4] 8067ea0: 2b02 cmp r3, #2 8067ea2: d9c9 bls.n 8067e38 } HAL_GPIO_WritePin(DISP_ON_GPIO_Port, DISP_ON_Pin, GPIO_PIN_RESET); // BACKLIGHT_ON 8067ea4: 2200 movs r2, #0 8067ea6: f44f 7180 mov.w r1, #256 ; 0x100 8067eaa: 484d ldr r0, [pc, #308] ; (8067fe0 ) 8067eac: f04d fe80 bl 80b5bb0 //********************************************************* BSP_LCD_Clear(color); 8067eb0: 6838 ldr r0, [r7, #0] 8067eb2: f7eb fcd5 bl 8053860 DrawImage(&bmLOGO_Pantone_1, 0, 80); 8067eb6: 2250 movs r2, #80 ; 0x50 8067eb8: 2100 movs r1, #0 8067eba: 4846 ldr r0, [pc, #280] ; (8067fd4 ) 8067ebc: f7ec fb6a bl 8054594 RefreshScreen = true; 8067ec0: 4b45 ldr r3, [pc, #276] ; (8067fd8 ) 8067ec2: 2201 movs r2, #1 8067ec4: 701a strb r2, [r3, #0] HAL_LTDC_ProgramLineEvent(&hLtdcHandler, 0); 8067ec6: 2100 movs r1, #0 8067ec8: 4844 ldr r0, [pc, #272] ; (8067fdc ) 8067eca: f04e f869 bl 80b5fa0 while(RefreshScreen); 8067ece: bf00 nop 8067ed0: 4b41 ldr r3, [pc, #260] ; (8067fd8 ) 8067ed2: 781b ldrb r3, [r3, #0] 8067ed4: b2db uxtb r3, r3 8067ed6: 2b00 cmp r3, #0 8067ed8: d1fa bne.n 8067ed0 HAL_Delay(50); 8067eda: 2032 movs r0, #50 ; 0x32 8067edc: f04b f9b8 bl 80b3250 BSP_LCD_Clear(color); 8067ee0: 6838 ldr r0, [r7, #0] 8067ee2: f7eb fcbd bl 8053860 DrawImage(&bmLOGO_Pantone_1, 0, 80); 8067ee6: 2250 movs r2, #80 ; 0x50 8067ee8: 2100 movs r1, #0 8067eea: 483a ldr r0, [pc, #232] ; (8067fd4 ) 8067eec: f7ec fb52 bl 8054594 RefreshScreen = true; 8067ef0: 4b39 ldr r3, [pc, #228] ; (8067fd8 ) 8067ef2: 2201 movs r2, #1 8067ef4: 701a strb r2, [r3, #0] HAL_LTDC_ProgramLineEvent(&hLtdcHandler, 0); 8067ef6: 2100 movs r1, #0 8067ef8: 4838 ldr r0, [pc, #224] ; (8067fdc ) 8067efa: f04e f851 bl 80b5fa0 while(RefreshScreen); 8067efe: bf00 nop 8067f00: 4b35 ldr r3, [pc, #212] ; (8067fd8 ) 8067f02: 781b ldrb r3, [r3, #0] 8067f04: b2db uxtb r3, r3 8067f06: 2b00 cmp r3, #0 8067f08: d1fa bne.n 8067f00 HAL_Delay(50); 8067f0a: 2032 movs r0, #50 ; 0x32 8067f0c: f04b f9a0 bl 80b3250 LCD_SetColors(0xFFFFFFFF, color); 8067f10: 6839 ldr r1, [r7, #0] 8067f12: f04f 30ff mov.w r0, #4294967295 8067f16: f7eb fc49 bl 80537ac BSP_LCD_SetFont(&Font12); 8067f1a: 482d ldr r0, [pc, #180] ; (8067fd0 ) 8067f1c: f7eb fc82 bl 8053824 #ifdef USE_BLUETOOTH if(pardata.LANG == RUS) BSP_LCD_DisplayStringAt(165, 209, "Âèáðîìåòð D141 BLE", CENTER_MODE); else BSP_LCD_DisplayStringAt(165, 209, "Vibrometer D141 BLE", CENTER_MODE); #else if(pardata.LANG == RUS) 8067f20: 4b30 ldr r3, [pc, #192] ; (8067fe4 ) 8067f22: 7b1b ldrb r3, [r3, #12] 8067f24: b2db uxtb r3, r3 8067f26: 2b00 cmp r3, #0 8067f28: d106 bne.n 8067f38 BSP_LCD_DisplayStringAt(165, 209, "Âèáðîìåòð D141", CENTER_MODE); 8067f2a: 2301 movs r3, #1 8067f2c: 4a2e ldr r2, [pc, #184] ; (8067fe8 ) 8067f2e: 21d1 movs r1, #209 ; 0xd1 8067f30: 20a5 movs r0, #165 ; 0xa5 8067f32: f7eb fd01 bl 8053938 8067f36: e005 b.n 8067f44 else BSP_LCD_DisplayStringAt(165, 209, "Vibrometer D141", CENTER_MODE); 8067f38: 2301 movs r3, #1 8067f3a: 4a2c ldr r2, [pc, #176] ; (8067fec ) 8067f3c: 21d1 movs r1, #209 ; 0xd1 8067f3e: 20a5 movs r0, #165 ; 0xa5 8067f40: f7eb fcfa bl 8053938 BSP_LCD_DisplayStringAt(165, 209, "Âèáðîìåòð D142", CENTER_MODE); else BSP_LCD_DisplayStringAt(165, 209, "Vibrometer D142", CENTER_MODE); #endif #endif LCD_SetColors(0xFFFFFFFF, color); 8067f44: 6839 ldr r1, [r7, #0] 8067f46: f04f 30ff mov.w r0, #4294967295 8067f4a: f7eb fc2f bl 80537ac BSP_LCD_SetFont(&Font12); 8067f4e: 4820 ldr r0, [pc, #128] ; (8067fd0 ) 8067f50: f7eb fc68 bl 8053824 BSP_LCD_DisplayStringAt(165, 221, (char *) _VERSION, CENTER_MODE); 8067f54: 2301 movs r3, #1 8067f56: 4a26 ldr r2, [pc, #152] ; (8067ff0 ) 8067f58: 21dd movs r1, #221 ; 0xdd 8067f5a: 20a5 movs r0, #165 ; 0xa5 8067f5c: f7eb fcec bl 8053938 BSP_LCD_DisplayStringAt(165, 4, (char *) _SERIAL_DRAW, CENTER_MODE); 8067f60: 2301 movs r3, #1 8067f62: 4a24 ldr r2, [pc, #144] ; (8067ff4 ) 8067f64: 2104 movs r1, #4 8067f66: 20a5 movs r0, #165 ; 0xa5 8067f68: f7eb fce6 bl 8053938 if(CORRECTION == false) { 8067f6c: 4b22 ldr r3, [pc, #136] ; (8067ff8 ) 8067f6e: 781b ldrb r3, [r3, #0] 8067f70: b2db uxtb r3, r3 8067f72: f083 0301 eor.w r3, r3, #1 8067f76: b2db uxtb r3, r3 8067f78: 2b00 cmp r3, #0 8067f7a: d005 beq.n 8067f88 BSP_LCD_DisplayStringAt(0, 4, ".", LEFT_MODE); 8067f7c: 2303 movs r3, #3 8067f7e: 4a1f ldr r2, [pc, #124] ; (8067ffc ) 8067f80: 2104 movs r1, #4 8067f82: 2000 movs r0, #0 8067f84: f7eb fcd8 bl 8053938 } RefreshScreen = true; 8067f88: 4b13 ldr r3, [pc, #76] ; (8067fd8 ) 8067f8a: 2201 movs r2, #1 8067f8c: 701a strb r2, [r3, #0] HAL_LTDC_ProgramLineEvent(&hLtdcHandler, 0); 8067f8e: 2100 movs r1, #0 8067f90: 4812 ldr r0, [pc, #72] ; (8067fdc ) 8067f92: f04e f805 bl 80b5fa0 while(RefreshScreen); 8067f96: bf00 nop 8067f98: 4b0f ldr r3, [pc, #60] ; (8067fd8 ) 8067f9a: 781b ldrb r3, [r3, #0] 8067f9c: b2db uxtb r3, r3 8067f9e: 2b00 cmp r3, #0 8067fa0: d1fa bne.n 8067f98 HAL_Delay(100); 8067fa2: 2064 movs r0, #100 ; 0x64 8067fa4: f04b f954 bl 80b3250 //********************************************************* HAL_GPIO_WritePin(DISP_ON_GPIO_Port, DISP_ON_Pin, GPIO_PIN_RESET); // BACKLIGHT_ON 8067fa8: 2200 movs r2, #0 8067faa: f44f 7180 mov.w r1, #256 ; 0x100 8067fae: 480c ldr r0, [pc, #48] ; (8067fe0 ) 8067fb0: f04d fdfe bl 80b5bb0 HAL_Delay(1000); 8067fb4: f44f 707a mov.w r0, #1000 ; 0x3e8 8067fb8: f04b f94a bl 80b3250 HAL_NVIC_EnableIRQ(EXTI2_IRQn); 8067fbc: 2008 movs r0, #8 8067fbe: f04c f8ae bl 80b411e #endif } 8067fc2: bf00 nop 8067fc4: 3708 adds r7, #8 8067fc6: 46bd mov sp, r7 8067fc8: bd80 pop {r7, pc} 8067fca: bf00 nop 8067fcc: ff212829 .word 0xff212829 8067fd0: 20020038 .word 0x20020038 8067fd4: 0813a93c .word 0x0813a93c 8067fd8: 20021000 .word 0x20021000 8067fdc: 20025d28 .word 0x20025d28 8067fe0: 40020000 .word 0x40020000 8067fe4: 20023e60 .word 0x20023e60 8067fe8: 080cf7c8 .word 0x080cf7c8 8067fec: 080cf7d8 .word 0x080cf7d8 8067ff0: 080ee8e0 .word 0x080ee8e0 8067ff4: 20020f1c .word 0x20020f1c 8067ff8: 20020f10 .word 0x20020f10 8067ffc: 080cf7e8 .word 0x080cf7e8 08068000 : void DrawTime(void) { 8068000: b580 push {r7, lr} 8068002: b08a sub sp, #40 ; 0x28 8068004: 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); 8068006: 2200 movs r2, #0 8068008: 492d ldr r1, [pc, #180] ; (80680c0 ) 806800a: 482e ldr r0, [pc, #184] ; (80680c4 ) 806800c: f050 fdec bl 80b8be8 HAL_RTC_GetDate(&hrtc, &RTC_DateStruct, RTC_FORMAT_BIN); 8068010: 2200 movs r2, #0 8068012: 492d ldr r1, [pc, #180] ; (80680c8 ) 8068014: 482b ldr r0, [pc, #172] ; (80680c4 ) 8068016: f050 feed bl 80b8df4 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 806801a: 492c ldr r1, [pc, #176] ; (80680cc ) 806801c: f04f 30ff mov.w r0, #4294967295 8068020: f7eb fbc4 bl 80537ac BSP_LCD_SetFont(&Font12); 8068024: 482a ldr r0, [pc, #168] ; (80680d0 ) 8068026: f7eb fbfd bl 8053824 hr = RTC_TimeStruct.Hours; 806802a: 4b25 ldr r3, [pc, #148] ; (80680c0 ) 806802c: 781b ldrb r3, [r3, #0] 806802e: 60fb str r3, [r7, #12] mn = RTC_TimeStruct.Minutes; 8068030: 4b23 ldr r3, [pc, #140] ; (80680c0 ) 8068032: 785b ldrb r3, [r3, #1] 8068034: 60bb str r3, [r7, #8] memset(str, 0, sizeof(str)); 8068036: f107 031c add.w r3, r7, #28 806803a: 220c movs r2, #12 806803c: 2100 movs r1, #0 806803e: 4618 mov r0, r3 8068040: f065 f802 bl 80cd048 str[0] = (hr / 10) + 48; 8068044: 68fb ldr r3, [r7, #12] 8068046: 4a23 ldr r2, [pc, #140] ; (80680d4 ) 8068048: fba2 2303 umull r2, r3, r2, r3 806804c: 08db lsrs r3, r3, #3 806804e: b2db uxtb r3, r3 8068050: 3330 adds r3, #48 ; 0x30 8068052: b2db uxtb r3, r3 8068054: 773b strb r3, [r7, #28] str[1] = (hr % 10) + 48; 8068056: 68f9 ldr r1, [r7, #12] 8068058: 4b1e ldr r3, [pc, #120] ; (80680d4 ) 806805a: fba3 2301 umull r2, r3, r3, r1 806805e: 08da lsrs r2, r3, #3 8068060: 4613 mov r3, r2 8068062: 009b lsls r3, r3, #2 8068064: 4413 add r3, r2 8068066: 005b lsls r3, r3, #1 8068068: 1aca subs r2, r1, r3 806806a: b2d3 uxtb r3, r2 806806c: 3330 adds r3, #48 ; 0x30 806806e: b2db uxtb r3, r3 8068070: 777b strb r3, [r7, #29] str[2] = ':'; 8068072: 233a movs r3, #58 ; 0x3a 8068074: 77bb strb r3, [r7, #30] str[3] = (mn / 10) + 48; 8068076: 68bb ldr r3, [r7, #8] 8068078: 4a16 ldr r2, [pc, #88] ; (80680d4 ) 806807a: fba2 2303 umull r2, r3, r2, r3 806807e: 08db lsrs r3, r3, #3 8068080: b2db uxtb r3, r3 8068082: 3330 adds r3, #48 ; 0x30 8068084: b2db uxtb r3, r3 8068086: 77fb strb r3, [r7, #31] str[4] = (mn % 10) + 48; 8068088: 68b9 ldr r1, [r7, #8] 806808a: 4b12 ldr r3, [pc, #72] ; (80680d4 ) 806808c: fba3 2301 umull r2, r3, r3, r1 8068090: 08da lsrs r2, r3, #3 8068092: 4613 mov r3, r2 8068094: 009b lsls r3, r3, #2 8068096: 4413 add r3, r2 8068098: 005b lsls r3, r3, #1 806809a: 1aca subs r2, r1, r3 806809c: b2d3 uxtb r3, r2 806809e: 3330 adds r3, #48 ; 0x30 80680a0: b2db uxtb r3, r3 80680a2: f887 3020 strb.w r3, [r7, #32] BSP_LCD_DisplayStringAt(297, 18+4, str, CENTER_MODE); 80680a6: f107 021c add.w r2, r7, #28 80680aa: 2301 movs r3, #1 80680ac: 2116 movs r1, #22 80680ae: f240 1029 movw r0, #297 ; 0x129 80680b2: f7eb fc41 bl 8053938 str[5] = ':'; str[6] = (sec / 10) + 48; str[7] = (sec % 10) + 48; BSP_LCD_DisplayStringAt(165, 18, str, CENTER_MODE);*/ } 80680b6: bf00 nop 80680b8: 3728 adds r7, #40 ; 0x28 80680ba: 46bd mov sp, r7 80680bc: bd80 pop {r7, pc} 80680be: bf00 nop 80680c0: 20025c68 .word 0x20025c68 80680c4: 20068598 .word 0x20068598 80680c8: 20025cec .word 0x20025cec 80680cc: ff0a0f1f .word 0xff0a0f1f 80680d0: 20020038 .word 0x20020038 80680d4: cccccccd .word 0xcccccccd 080680d8 : } } void DrawBat(void) { 80680d8: b580 push {r7, lr} 80680da: b08e sub sp, #56 ; 0x38 80680dc: af00 add r7, sp, #0 uint16_t x, y; static uint8_t ChrgState = 0; GUI_BITMAP img100, img75, img50, img25; if(menu == POWER_OFF) 80680de: 4b6d ldr r3, [pc, #436] ; (8068294 ) 80680e0: 781b ldrb r3, [r3, #0] 80680e2: b2db uxtb r3, r3 80680e4: 2b43 cmp r3, #67 ; 0x43 80680e6: d11b bne.n 8068120 { x = 136; 80680e8: 2388 movs r3, #136 ; 0x88 80680ea: 86fb strh r3, [r7, #54] ; 0x36 y = 61; 80680ec: 233d movs r3, #61 ; 0x3d 80680ee: 86bb strh r3, [r7, #52] ; 0x34 img100 = bmB100; 80680f0: 4a69 ldr r2, [pc, #420] ; (8068298 ) 80680f2: f107 0328 add.w r3, r7, #40 ; 0x28 80680f6: ca07 ldmia r2, {r0, r1, r2} 80680f8: e883 0007 stmia.w r3, {r0, r1, r2} img75 = bmB75; 80680fc: 4a67 ldr r2, [pc, #412] ; (806829c ) 80680fe: f107 031c add.w r3, r7, #28 8068102: ca07 ldmia r2, {r0, r1, r2} 8068104: e883 0007 stmia.w r3, {r0, r1, r2} img50 = bmB50; 8068108: 4a65 ldr r2, [pc, #404] ; (80682a0 ) 806810a: f107 0310 add.w r3, r7, #16 806810e: ca07 ldmia r2, {r0, r1, r2} 8068110: e883 0007 stmia.w r3, {r0, r1, r2} img25 = bmB25; 8068114: 4a63 ldr r2, [pc, #396] ; (80682a4 ) 8068116: 1d3b adds r3, r7, #4 8068118: ca07 ldmia r2, {r0, r1, r2} 806811a: e883 0007 stmia.w r3, {r0, r1, r2} 806811e: e01a b.n 8068156 } else { x = 255;//235; 8068120: 23ff movs r3, #255 ; 0xff 8068122: 86fb strh r3, [r7, #54] ; 0x36 y = 0+4; 8068124: 2304 movs r3, #4 8068126: 86bb strh r3, [r7, #52] ; 0x34 img100 = bmBat100; 8068128: 4a5f ldr r2, [pc, #380] ; (80682a8 ) 806812a: f107 0328 add.w r3, r7, #40 ; 0x28 806812e: ca07 ldmia r2, {r0, r1, r2} 8068130: e883 0007 stmia.w r3, {r0, r1, r2} img75 = bmBat75; 8068134: 4a5d ldr r2, [pc, #372] ; (80682ac ) 8068136: f107 031c add.w r3, r7, #28 806813a: ca07 ldmia r2, {r0, r1, r2} 806813c: e883 0007 stmia.w r3, {r0, r1, r2} img50 = bmBat50; 8068140: 4a5b ldr r2, [pc, #364] ; (80682b0 ) 8068142: f107 0310 add.w r3, r7, #16 8068146: ca07 ldmia r2, {r0, r1, r2} 8068148: e883 0007 stmia.w r3, {r0, r1, r2} img25 = bmBat25; 806814c: 4a59 ldr r2, [pc, #356] ; (80682b4 ) 806814e: 1d3b adds r3, r7, #4 8068150: ca07 ldmia r2, {r0, r1, r2} 8068152: 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) 8068156: 4b58 ldr r3, [pc, #352] ; (80682b8 ) 8068158: 781b ldrb r3, [r3, #0] 806815a: b2db uxtb r3, r3 806815c: f083 0301 eor.w r3, r3, #1 8068160: b2db uxtb r3, r3 8068162: 2b00 cmp r3, #0 8068164: d041 beq.n 80681ea { if(!TIMEOUT_BAT) 8068166: 4b55 ldr r3, [pc, #340] ; (80682bc ) 8068168: 681b ldr r3, [r3, #0] 806816a: 2b00 cmp r3, #0 806816c: f040 808e bne.w 806828c { if((StateBattery == 0xf) || (StateBattery == 0x1f)) 8068170: 4b53 ldr r3, [pc, #332] ; (80682c0 ) 8068172: 781b ldrb r3, [r3, #0] 8068174: b2db uxtb r3, r3 8068176: 2b0f cmp r3, #15 8068178: d004 beq.n 8068184 806817a: 4b51 ldr r3, [pc, #324] ; (80682c0 ) 806817c: 781b ldrb r3, [r3, #0] 806817e: b2db uxtb r3, r3 8068180: 2b1f cmp r3, #31 8068182: d107 bne.n 8068194 DrawImage(&img100, x, y); 8068184: 8eba ldrh r2, [r7, #52] ; 0x34 8068186: 8ef9 ldrh r1, [r7, #54] ; 0x36 8068188: f107 0328 add.w r3, r7, #40 ; 0x28 806818c: 4618 mov r0, r3 806818e: f7ec fa01 bl 8054594 else { DrawImage(&img100, x, y); // BATTERY FULLY CHARGED } } } 8068192: e07b b.n 806828c if(StateBattery == 0x7) 8068194: 4b4a ldr r3, [pc, #296] ; (80682c0 ) 8068196: 781b ldrb r3, [r3, #0] 8068198: b2db uxtb r3, r3 806819a: 2b07 cmp r3, #7 806819c: d107 bne.n 80681ae DrawImage(&img75, x, y); 806819e: 8eba ldrh r2, [r7, #52] ; 0x34 80681a0: 8ef9 ldrh r1, [r7, #54] ; 0x36 80681a2: f107 031c add.w r3, r7, #28 80681a6: 4618 mov r0, r3 80681a8: f7ec f9f4 bl 8054594 } 80681ac: e06e b.n 806828c if(StateBattery == 0x3) 80681ae: 4b44 ldr r3, [pc, #272] ; (80682c0 ) 80681b0: 781b ldrb r3, [r3, #0] 80681b2: b2db uxtb r3, r3 80681b4: 2b03 cmp r3, #3 80681b6: d107 bne.n 80681c8 DrawImage(&img50, x, y); 80681b8: 8eba ldrh r2, [r7, #52] ; 0x34 80681ba: 8ef9 ldrh r1, [r7, #54] ; 0x36 80681bc: f107 0310 add.w r3, r7, #16 80681c0: 4618 mov r0, r3 80681c2: f7ec f9e7 bl 8054594 } 80681c6: e061 b.n 806828c if((StateBattery == 0x1) || (StateBattery == 0)) 80681c8: 4b3d ldr r3, [pc, #244] ; (80682c0 ) 80681ca: 781b ldrb r3, [r3, #0] 80681cc: b2db uxtb r3, r3 80681ce: 2b01 cmp r3, #1 80681d0: d004 beq.n 80681dc 80681d2: 4b3b ldr r3, [pc, #236] ; (80682c0 ) 80681d4: 781b ldrb r3, [r3, #0] 80681d6: b2db uxtb r3, r3 80681d8: 2b00 cmp r3, #0 80681da: d157 bne.n 806828c DrawImage(&img25, x, y); 80681dc: 8eba ldrh r2, [r7, #52] ; 0x34 80681de: 8ef9 ldrh r1, [r7, #54] ; 0x36 80681e0: 1d3b adds r3, r7, #4 80681e2: 4618 mov r0, r3 80681e4: f7ec f9d6 bl 8054594 } 80681e8: e050 b.n 806828c if(StateBattery != 0x1f) 80681ea: 4b35 ldr r3, [pc, #212] ; (80682c0 ) 80681ec: 781b ldrb r3, [r3, #0] 80681ee: b2db uxtb r3, r3 80681f0: 2b1f cmp r3, #31 80681f2: d044 beq.n 806827e if(cntBat) 80681f4: 4b33 ldr r3, [pc, #204] ; (80682c4 ) 80681f6: 781b ldrb r3, [r3, #0] 80681f8: b2db uxtb r3, r3 80681fa: 2b00 cmp r3, #0 80681fc: d010 beq.n 8068220 cntBat = 0; 80681fe: 4b31 ldr r3, [pc, #196] ; (80682c4 ) 8068200: 2200 movs r2, #0 8068202: 701a strb r2, [r3, #0] if(ChrgState < 3) 8068204: 4b30 ldr r3, [pc, #192] ; (80682c8 ) 8068206: 781b ldrb r3, [r3, #0] 8068208: 2b02 cmp r3, #2 806820a: d806 bhi.n 806821a ChrgState++; 806820c: 4b2e ldr r3, [pc, #184] ; (80682c8 ) 806820e: 781b ldrb r3, [r3, #0] 8068210: 3301 adds r3, #1 8068212: b2da uxtb r2, r3 8068214: 4b2c ldr r3, [pc, #176] ; (80682c8 ) 8068216: 701a strb r2, [r3, #0] 8068218: e002 b.n 8068220 else ChrgState = 0; 806821a: 4b2b ldr r3, [pc, #172] ; (80682c8 ) 806821c: 2200 movs r2, #0 806821e: 701a strb r2, [r3, #0] if(ChrgState == 0) 8068220: 4b29 ldr r3, [pc, #164] ; (80682c8 ) 8068222: 781b ldrb r3, [r3, #0] 8068224: 2b00 cmp r3, #0 8068226: d106 bne.n 8068236 DrawImage(&img25, x, y); 8068228: 8eba ldrh r2, [r7, #52] ; 0x34 806822a: 8ef9 ldrh r1, [r7, #54] ; 0x36 806822c: 1d3b adds r3, r7, #4 806822e: 4618 mov r0, r3 8068230: f7ec f9b0 bl 8054594 } 8068234: e02a b.n 806828c if(ChrgState == 1) 8068236: 4b24 ldr r3, [pc, #144] ; (80682c8 ) 8068238: 781b ldrb r3, [r3, #0] 806823a: 2b01 cmp r3, #1 806823c: d107 bne.n 806824e DrawImage(&img50, x, y); 806823e: 8eba ldrh r2, [r7, #52] ; 0x34 8068240: 8ef9 ldrh r1, [r7, #54] ; 0x36 8068242: f107 0310 add.w r3, r7, #16 8068246: 4618 mov r0, r3 8068248: f7ec f9a4 bl 8054594 } 806824c: e01e b.n 806828c if(ChrgState == 2) 806824e: 4b1e ldr r3, [pc, #120] ; (80682c8 ) 8068250: 781b ldrb r3, [r3, #0] 8068252: 2b02 cmp r3, #2 8068254: d107 bne.n 8068266 DrawImage(&img75, x, y); 8068256: 8eba ldrh r2, [r7, #52] ; 0x34 8068258: 8ef9 ldrh r1, [r7, #54] ; 0x36 806825a: f107 031c add.w r3, r7, #28 806825e: 4618 mov r0, r3 8068260: f7ec f998 bl 8054594 } 8068264: e012 b.n 806828c if(ChrgState == 3) 8068266: 4b18 ldr r3, [pc, #96] ; (80682c8 ) 8068268: 781b ldrb r3, [r3, #0] 806826a: 2b03 cmp r3, #3 806826c: d10e bne.n 806828c DrawImage(&img100, x, y); 806826e: 8eba ldrh r2, [r7, #52] ; 0x34 8068270: 8ef9 ldrh r1, [r7, #54] ; 0x36 8068272: f107 0328 add.w r3, r7, #40 ; 0x28 8068276: 4618 mov r0, r3 8068278: f7ec f98c bl 8054594 } 806827c: e006 b.n 806828c DrawImage(&img100, x, y); // BATTERY FULLY CHARGED 806827e: 8eba ldrh r2, [r7, #52] ; 0x34 8068280: 8ef9 ldrh r1, [r7, #54] ; 0x36 8068282: f107 0328 add.w r3, r7, #40 ; 0x28 8068286: 4618 mov r0, r3 8068288: f7ec f984 bl 8054594 } 806828c: bf00 nop 806828e: 3738 adds r7, #56 ; 0x38 8068290: 46bd mov sp, r7 8068292: bd80 pop {r7, pc} 8068294: 20020f78 .word 0x20020f78 8068298: 081071d0 .word 0x081071d0 806829c: 08111100 .word 0x08111100 80682a0: 0810dbf0 .word 0x0810dbf0 80682a4: 0810a6e0 .word 0x0810a6e0 80682a8: 08111e80 .word 0x08111e80 80682ac: 08112a74 .word 0x08112a74 80682b0: 08112678 .word 0x08112678 80682b4: 0811227c .word 0x0811227c 80682b8: 20021b22 .word 0x20021b22 80682bc: 200209c8 .word 0x200209c8 80682c0: 20020008 .word 0x20020008 80682c4: 2002168b .word 0x2002168b 80682c8: 20021659 .word 0x20021659 80682cc: 00000000 .word 0x00000000 080682d0 : void Display(void) { 80682d0: e92d 43f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} 80682d4: f2ad 4d74 subw sp, sp, #1140 ; 0x474 80682d8: 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;; 80682da: 2300 movs r3, #0 80682dc: f8c7 3444 str.w r3, [r7, #1092] ; 0x444 80682e0: 2300 movs r3, #0 80682e2: 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; 80682e6: 2300 movs r3, #0 80682e8: 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; 80682ec: 2300 movs r3, #0 80682ee: 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)) 80682f2: 4b8f ldr r3, [pc, #572] ; (8068530 ) 80682f4: 781b ldrb r3, [r3, #0] 80682f6: b2db uxtb r3, r3 80682f8: 2b00 cmp r3, #0 80682fa: d005 beq.n 8068308 80682fc: 4b8d ldr r3, [pc, #564] ; (8068534 ) 80682fe: 781b ldrb r3, [r3, #0] 8068300: b2db uxtb r3, r3 8068302: 2b25 cmp r3, #37 ; 0x25 8068304: f02f 818a beq.w 809761c return; blk++; 8068308: 4b8b ldr r3, [pc, #556] ; (8068538 ) 806830a: 681b ldr r3, [r3, #0] 806830c: 3301 adds r3, #1 806830e: 4a8a ldr r2, [pc, #552] ; (8068538 ) 8068310: 6013 str r3, [r2, #0] if(blk > 3) 8068312: 4b89 ldr r3, [pc, #548] ; (8068538 ) 8068314: 681b ldr r3, [r3, #0] 8068316: 2b03 cmp r3, #3 8068318: d905 bls.n 8068326 { blk = 0; 806831a: 4b87 ldr r3, [pc, #540] ; (8068538 ) 806831c: 2200 movs r2, #0 806831e: 601a str r2, [r3, #0] bll = true; 8068320: 2301 movs r3, #1 8068322: f887 343f strb.w r3, [r7, #1087] ; 0x43f } blink++; 8068326: 4b85 ldr r3, [pc, #532] ; (806853c ) 8068328: 681b ldr r3, [r3, #0] 806832a: 3301 adds r3, #1 806832c: 4a83 ldr r2, [pc, #524] ; (806853c ) 806832e: 6013 str r3, [r2, #0] if(blink > 8) 8068330: 4b82 ldr r3, [pc, #520] ; (806853c ) 8068332: 681b ldr r3, [r3, #0] 8068334: 2b08 cmp r3, #8 8068336: d905 bls.n 8068344 { blink = 0; 8068338: 4b80 ldr r3, [pc, #512] ; (806853c ) 806833a: 2200 movs r2, #0 806833c: 601a str r2, [r3, #0] bl = true; 806833e: 2301 movs r3, #1 8068340: f887 3453 strb.w r3, [r7, #1107] ; 0x453 } Redrawing = true; 8068344: 4b7e ldr r3, [pc, #504] ; (8068540 ) 8068346: 2201 movs r2, #1 8068348: 701a strb r2, [r3, #0] BSP_LCD_Clear(LCD_COLOR_CLEAR); 806834a: 487e ldr r0, [pc, #504] ; (8068544 ) 806834c: f7eb fa88 bl 8053860 //*************************************************** ÎÒÐÈÑÎÂÊÀ ÑÒÐÎÊÈ ÑÒÀÒÓÑÀ (ÂÅÐÕ ÄÈÑÏËÅß Ñ ×ÀÑÀÌÈ È ÁÀÒÀÐÅÅÉ) **************************************************************// if(Initialized) 8068350: 4b7d ldr r3, [pc, #500] ; (8068548 ) 8068352: 781b ldrb r3, [r3, #0] 8068354: b2db uxtb r3, r3 8068356: 2b00 cmp r3, #0 8068358: d005 beq.n 8068366 { DrawImage(&bmBLE, 308-16, 4); //todo 806835a: 2204 movs r2, #4 806835c: f44f 7192 mov.w r1, #292 ; 0x124 8068360: 487a ldr r0, [pc, #488] ; (806854c ) 8068362: f7ec f917 bl 8054594 } DrawTime(); 8068366: f7ff fe4b bl 8068000 DrawBat(); 806836a: f7ff feb5 bl 80680d8 //DrawTemperature(); if(CardState & MSD_PRESENT) 806836e: 4b78 ldr r3, [pc, #480] ; (8068550 ) 8068370: 781b ldrb r3, [r3, #0] 8068372: b2db uxtb r3, r3 8068374: f003 0301 and.w r3, r3, #1 8068378: 2b00 cmp r3, #0 806837a: d014 beq.n 80683a6 { xz = 45; 806837c: 232d movs r3, #45 ; 0x2d 806837e: f8a7 346e strh.w r3, [r7, #1134] ; 0x46e DrawImage(&bmSD_Card, 5, 3+4); 8068382: 2207 movs r2, #7 8068384: 2105 movs r1, #5 8068386: 4873 ldr r0, [pc, #460] ; (8068554 ) 8068388: f7ec f904 bl 8054594 if((CardState == MSD_READY) && (menu != LINK_PC)) { 806838c: 4b70 ldr r3, [pc, #448] ; (8068550 ) 806838e: 781b ldrb r3, [r3, #0] 8068390: b2db uxtb r3, r3 8068392: 2b03 cmp r3, #3 8068394: d10a bne.n 80683ac 8068396: 4b67 ldr r3, [pc, #412] ; (8068534 ) 8068398: 781b ldrb r3, [r3, #0] 806839a: b2db uxtb r3, r3 806839c: 2b42 cmp r3, #66 ; 0x42 806839e: d005 beq.n 80683ac DrawSizeSD(); 80683a0: f045 fd08 bl 80addb4 80683a4: e002 b.n 80683ac } } else xz = 5; 80683a6: 2305 movs r3, #5 80683a8: f8a7 346e strh.w r3, [r7, #1134] ; 0x46e if((menu == MAIN_ROLL) || (menu == PARAM_ROLL) || (menu == ROLL_RESULTS) || (menu == VIEW_PORTRET)) 80683ac: 4b61 ldr r3, [pc, #388] ; (8068534 ) 80683ae: 781b ldrb r3, [r3, #0] 80683b0: b2db uxtb r3, r3 80683b2: 2b24 cmp r3, #36 ; 0x24 80683b4: d00e beq.n 80683d4 80683b6: 4b5f ldr r3, [pc, #380] ; (8068534 ) 80683b8: 781b ldrb r3, [r3, #0] 80683ba: b2db uxtb r3, r3 80683bc: 2b0d cmp r3, #13 80683be: d009 beq.n 80683d4 80683c0: 4b5c ldr r3, [pc, #368] ; (8068534 ) 80683c2: 781b ldrb r3, [r3, #0] 80683c4: b2db uxtb r3, r3 80683c6: 2b27 cmp r3, #39 ; 0x27 80683c8: d004 beq.n 80683d4 80683ca: 4b5a ldr r3, [pc, #360] ; (8068534 ) 80683cc: 781b ldrb r3, [r3, #0] 80683ce: b2db uxtb r3, r3 80683d0: 2b28 cmp r3, #40 ; 0x28 80683d2: d107 bne.n 80683e4 { DrawImage(&bmBRNico, xz, 1+4); 80683d4: f8b7 346e ldrh.w r3, [r7, #1134] ; 0x46e 80683d8: 2205 movs r2, #5 80683da: 4619 mov r1, r3 80683dc: 485e ldr r0, [pc, #376] ; (8068558 ) 80683de: f7ec f8d9 bl 8054594 80683e2: e0dc b.n 806859e } else if((menu == MAIN) || (menu == MAIN_FRAN) || (menu == PARAM_VIB)) 80683e4: 4b53 ldr r3, [pc, #332] ; (8068534 ) 80683e6: 781b ldrb r3, [r3, #0] 80683e8: b2db uxtb r3, r3 80683ea: 2b00 cmp r3, #0 80683ec: d009 beq.n 8068402 80683ee: 4b51 ldr r3, [pc, #324] ; (8068534 ) 80683f0: 781b ldrb r3, [r3, #0] 80683f2: b2db uxtb r3, r3 80683f4: 2b1f cmp r3, #31 80683f6: d004 beq.n 8068402 80683f8: 4b4e ldr r3, [pc, #312] ; (8068534 ) 80683fa: 781b ldrb r3, [r3, #0] 80683fc: b2db uxtb r3, r3 80683fe: 2b06 cmp r3, #6 8068400: d107 bne.n 8068412 { DrawImage(&bmVIB, xz, 1+4); 8068402: f8b7 346e ldrh.w r3, [r7, #1134] ; 0x46e 8068406: 2205 movs r2, #5 8068408: 4619 mov r1, r3 806840a: 4854 ldr r0, [pc, #336] ; (806855c ) 806840c: f7ec f8c2 bl 8054594 8068410: e0c5 b.n 806859e } else if((menu == MAIN_OSC) || (menu == PARAM_OSC)) 8068412: 4b48 ldr r3, [pc, #288] ; (8068534 ) 8068414: 781b ldrb r3, [r3, #0] 8068416: b2db uxtb r3, r3 8068418: 2b1d cmp r3, #29 806841a: d004 beq.n 8068426 806841c: 4b45 ldr r3, [pc, #276] ; (8068534 ) 806841e: 781b ldrb r3, [r3, #0] 8068420: b2db uxtb r3, r3 8068422: 2b08 cmp r3, #8 8068424: d107 bne.n 8068436 { DrawImage(&bmOSC, xz, 1+4); 8068426: f8b7 346e ldrh.w r3, [r7, #1134] ; 0x46e 806842a: 2205 movs r2, #5 806842c: 4619 mov r1, r3 806842e: 484c ldr r0, [pc, #304] ; (8068560 ) 8068430: f7ec f8b0 bl 8054594 8068434: e0b3 b.n 806859e } else if(menu == PARAM_SPEC) 8068436: 4b3f ldr r3, [pc, #252] ; (8068534 ) 8068438: 781b ldrb r3, [r3, #0] 806843a: b2db uxtb r3, r3 806843c: 2b07 cmp r3, #7 806843e: d131 bne.n 80684a4 { switch(pardata.OPTIONS & maskFFT) 8068440: 4b48 ldr r3, [pc, #288] ; (8068564 ) 8068442: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8068446: f003 0330 and.w r3, r3, #48 ; 0x30 806844a: 2b10 cmp r3, #16 806844c: d011 beq.n 8068472 806844e: 2b10 cmp r3, #16 8068450: d802 bhi.n 8068458 8068452: 2b00 cmp r3, #0 8068454: d005 beq.n 8068462 8068456: e0a2 b.n 806859e 8068458: 2b20 cmp r3, #32 806845a: d012 beq.n 8068482 806845c: 2b30 cmp r3, #48 ; 0x30 806845e: d018 beq.n 8068492 8068460: e09d b.n 806859e { case fft: DrawImage(&bmFFT, xz, 1+4); break; 8068462: f8b7 346e ldrh.w r3, [r7, #1134] ; 0x46e 8068466: 2205 movs r2, #5 8068468: 4619 mov r1, r3 806846a: 483f ldr r0, [pc, #252] ; (8068568 ) 806846c: f7ec f892 bl 8054594 8068470: e095 b.n 806859e case env: DrawImage(&bmENV, xz, 1+4); break; 8068472: f8b7 346e ldrh.w r3, [r7, #1134] ; 0x46e 8068476: 2205 movs r2, #5 8068478: 4619 mov r1, r3 806847a: 483c ldr r0, [pc, #240] ; (806856c ) 806847c: f7ec f88a bl 8054594 8068480: e08d b.n 806859e case okt: DrawImage(&bmOKT, xz, 1+4); break; 8068482: f8b7 346e ldrh.w r3, [r7, #1134] ; 0x46e 8068486: 2205 movs r2, #5 8068488: 4619 mov r1, r3 806848a: 4839 ldr r0, [pc, #228] ; (8068570 ) 806848c: f7ec f882 bl 8054594 8068490: e085 b.n 806859e case third: DrawImage(&bmTHIRD, xz, 1+4); break; 8068492: f8b7 346e ldrh.w r3, [r7, #1134] ; 0x46e 8068496: 2205 movs r2, #5 8068498: 4619 mov r1, r3 806849a: 4836 ldr r0, [pc, #216] ; (8068574 ) 806849c: f7ec f87a bl 8054594 80684a0: bf00 nop 80684a2: e07c b.n 806859e } } else if(menu == MAIN_SPEC) 80684a4: 4b23 ldr r3, [pc, #140] ; (8068534 ) 80684a6: 781b ldrb r3, [r3, #0] 80684a8: b2db uxtb r3, r3 80684aa: 2b1c cmp r3, #28 80684ac: d107 bne.n 80684be { DrawImage(&bmFFT, xz, 1+4); 80684ae: f8b7 346e ldrh.w r3, [r7, #1134] ; 0x46e 80684b2: 2205 movs r2, #5 80684b4: 4619 mov r1, r3 80684b6: 482c ldr r0, [pc, #176] ; (8068568 ) 80684b8: f7ec f86c bl 8054594 80684bc: e06f b.n 806859e } else if(menu == MAIN_SPEC_OGIB) 80684be: 4b1d ldr r3, [pc, #116] ; (8068534 ) 80684c0: 781b ldrb r3, [r3, #0] 80684c2: b2db uxtb r3, r3 80684c4: 2b21 cmp r3, #33 ; 0x21 80684c6: d107 bne.n 80684d8 { DrawImage(&bmENV, xz, 1+4); 80684c8: f8b7 346e ldrh.w r3, [r7, #1134] ; 0x46e 80684cc: 2205 movs r2, #5 80684ce: 4619 mov r1, r3 80684d0: 4826 ldr r0, [pc, #152] ; (806856c ) 80684d2: f7ec f85f bl 8054594 80684d6: e062 b.n 806859e } else if(menu == MAIN_SPEC_OKT) 80684d8: 4b16 ldr r3, [pc, #88] ; (8068534 ) 80684da: 781b ldrb r3, [r3, #0] 80684dc: b2db uxtb r3, r3 80684de: 2b22 cmp r3, #34 ; 0x22 80684e0: d107 bne.n 80684f2 { DrawImage(&bmOKT, xz, 1+4); 80684e2: f8b7 346e ldrh.w r3, [r7, #1134] ; 0x46e 80684e6: 2205 movs r2, #5 80684e8: 4619 mov r1, r3 80684ea: 4821 ldr r0, [pc, #132] ; (8068570 ) 80684ec: f7ec f852 bl 8054594 80684f0: e055 b.n 806859e } else if(menu == MAIN_SPEC_THIRD) 80684f2: 4b10 ldr r3, [pc, #64] ; (8068534 ) 80684f4: 781b ldrb r3, [r3, #0] 80684f6: b2db uxtb r3, r3 80684f8: 2b23 cmp r3, #35 ; 0x23 80684fa: d107 bne.n 806850c { DrawImage(&bmTHIRD, xz, 1+4); 80684fc: f8b7 346e ldrh.w r3, [r7, #1134] ; 0x46e 8068500: 2205 movs r2, #5 8068502: 4619 mov r1, r3 8068504: 481b ldr r0, [pc, #108] ; (8068574 ) 8068506: f7ec f845 bl 8054594 806850a: e048 b.n 806859e } else if((menu == MAIN_WAVE) || (menu == PARAM_WAVE)) 806850c: 4b09 ldr r3, [pc, #36] ; (8068534 ) 806850e: 781b ldrb r3, [r3, #0] 8068510: b2db uxtb r3, r3 8068512: 2b1e cmp r3, #30 8068514: d004 beq.n 8068520 8068516: 4b07 ldr r3, [pc, #28] ; (8068534 ) 8068518: 781b ldrb r3, [r3, #0] 806851a: b2db uxtb r3, r3 806851c: 2b0a cmp r3, #10 806851e: d12d bne.n 806857c { DrawImage(&bmREC, xz, 1+4); 8068520: f8b7 346e ldrh.w r3, [r7, #1134] ; 0x46e 8068524: 2205 movs r2, #5 8068526: 4619 mov r1, r3 8068528: 4813 ldr r0, [pc, #76] ; (8068578 ) 806852a: f7ec f833 bl 8054594 806852e: e036 b.n 806859e 8068530: 20020d7f .word 0x20020d7f 8068534: 20020f78 .word 0x20020f78 8068538: 2002165c .word 0x2002165c 806853c: 20021660 .word 0x20021660 8068540: 20021638 .word 0x20021638 8068544: ff0a0f1f .word 0xff0a0f1f 8068548: 20020f35 .word 0x20020f35 806854c: 08111458 .word 0x08111458 8068550: 2002164c .word 0x2002164c 8068554: 08147edc .word 0x08147edc 8068558: 08111a84 .word 0x08111a84 806855c: 0815d3c4 .word 0x0815d3c4 8068560: 0813e424 .word 0x0813e424 8068564: 20023e60 .word 0x20023e60 8068568: 081136cc .word 0x081136cc 806856c: 081130a0 .word 0x081130a0 8068570: 0813c788 .word 0x0813c788 8068574: 08149b78 .word 0x08149b78 8068578: 08144a3c .word 0x08144a3c } else if((menu == MAIN_DIAGN) || (menu == PARAM_DIAGN)) 806857c: 4bcd ldr r3, [pc, #820] ; (80688b4 ) 806857e: 781b ldrb r3, [r3, #0] 8068580: b2db uxtb r3, r3 8068582: 2b26 cmp r3, #38 ; 0x26 8068584: d004 beq.n 8068590 8068586: 4bcb ldr r3, [pc, #812] ; (80688b4 ) 8068588: 781b ldrb r3, [r3, #0] 806858a: b2db uxtb r3, r3 806858c: 2b0f cmp r3, #15 806858e: d106 bne.n 806859e { DrawImage(&bmVCTico, xz, 1+4); 8068590: f8b7 346e ldrh.w r3, [r7, #1134] ; 0x46e 8068594: 2205 movs r2, #5 8068596: 4619 mov r1, r3 8068598: 48c7 ldr r0, [pc, #796] ; (80688b8 ) 806859a: f7eb fffb bl 8054594 } LCD_SetColors(LCD_COLOR_DARKCYAN, LCD_COLOR_BLACK); 806859e: 49c7 ldr r1, [pc, #796] ; (80688bc ) 80685a0: 48c7 ldr r0, [pc, #796] ; (80688c0 ) 80685a2: f7eb f903 bl 80537ac BSP_LCD_SetFont(&Font12); 80685a6: 48c7 ldr r0, [pc, #796] ; (80688c4 ) 80685a8: f7eb f93c bl 8053824 if((menu == MAIN) || (menu >= MAIN_SPEC && menu <= MAIN_DIAGN)) 80685ac: 4bc1 ldr r3, [pc, #772] ; (80688b4 ) 80685ae: 781b ldrb r3, [r3, #0] 80685b0: b2db uxtb r3, r3 80685b2: 2b00 cmp r3, #0 80685b4: d009 beq.n 80685ca 80685b6: 4bbf ldr r3, [pc, #764] ; (80688b4 ) 80685b8: 781b ldrb r3, [r3, #0] 80685ba: b2db uxtb r3, r3 80685bc: 2b1b cmp r3, #27 80685be: d928 bls.n 8068612 80685c0: 4bbc ldr r3, [pc, #752] ; (80688b4 ) 80685c2: 781b ldrb r3, [r3, #0] 80685c4: b2db uxtb r3, r3 80685c6: 2b26 cmp r3, #38 ; 0x26 80685c8: d823 bhi.n 8068612 { if((OVERDRIVE) && (bl) && (measuring)) 80685ca: 4bbf ldr r3, [pc, #764] ; (80688c8 ) 80685cc: 781b ldrb r3, [r3, #0] 80685ce: b2db uxtb r3, r3 80685d0: 2b00 cmp r3, #0 80685d2: d01e beq.n 8068612 80685d4: f897 3453 ldrb.w r3, [r7, #1107] ; 0x453 80685d8: 2b00 cmp r3, #0 80685da: d01a beq.n 8068612 80685dc: 4bbb ldr r3, [pc, #748] ; (80688cc ) 80685de: 781b ldrb r3, [r3, #0] 80685e0: b2db uxtb r3, r3 80685e2: 2b00 cmp r3, #0 80685e4: d015 beq.n 8068612 { LCD_SetColors(LCD_COLOR_RED, LCD_COLOR_BLACK); 80685e6: 49b5 ldr r1, [pc, #724] ; (80688bc ) 80685e8: 48b9 ldr r0, [pc, #740] ; (80688d0 ) 80685ea: f7eb f8df bl 80537ac if(pardata.LANG == RUS) 80685ee: 4bb9 ldr r3, [pc, #740] ; (80688d4 ) 80685f0: 7b1b ldrb r3, [r3, #12] 80685f2: b2db uxtb r3, r3 80685f4: 2b00 cmp r3, #0 80685f6: d106 bne.n 8068606 BSP_LCD_DisplayStringAt(165, 17+4, "ÏÅÐÅÃÐÓÇÊÀ", CENTER_MODE); 80685f8: 2301 movs r3, #1 80685fa: 4ab7 ldr r2, [pc, #732] ; (80688d8 ) 80685fc: 2115 movs r1, #21 80685fe: 20a5 movs r0, #165 ; 0xa5 8068600: f7eb f99a bl 8053938 8068604: e005 b.n 8068612 else BSP_LCD_DisplayStringAt(165, 17+4, "OVERLOAD", CENTER_MODE); 8068606: 2301 movs r3, #1 8068608: 4ab4 ldr r2, [pc, #720] ; (80688dc ) 806860a: 2115 movs r1, #21 806860c: 20a5 movs r0, #165 ; 0xa5 806860e: f7eb f993 bl 8053938 } } //==========================================================================================================================// //--------------------------------------------------------------------------------------------------------------------------// //==========================================================================================================================// switch(menu) 8068612: 4ba8 ldr r3, [pc, #672] ; (80688b4 ) 8068614: 781b ldrb r3, [r3, #0] 8068616: b2db uxtb r3, r3 8068618: 2b48 cmp r3, #72 ; 0x48 806861a: f22e 87eb bhi.w 80975f4 806861e: a201 add r2, pc, #4 ; (adr r2, 8068624 ) 8068620: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8068624: 080720fd .word 0x080720fd 8068628: 080749e1 .word 0x080749e1 806862c: 08075815 .word 0x08075815 8068630: 08095617 .word 0x08095617 8068634: 08068749 .word 0x08068749 8068638: 080975f5 .word 0x080975f5 806863c: 08079579 .word 0x08079579 8068640: 080829b3 .word 0x080829b3 8068644: 0808c9b9 .word 0x0808c9b9 8068648: 080975f5 .word 0x080975f5 806864c: 0808f4a1 .word 0x0808f4a1 8068650: 080975f5 .word 0x080975f5 8068654: 080975f5 .word 0x080975f5 8068658: 0807ea31 .word 0x0807ea31 806865c: 0807dcc5 .word 0x0807dcc5 8068660: 080889f7 .word 0x080889f7 8068664: 0808967d .word 0x0808967d 8068668: 08089b13 .word 0x08089b13 806866c: 08076065 .word 0x08076065 8068670: 080975f5 .word 0x080975f5 8068674: 080756db .word 0x080756db 8068678: 080933e7 .word 0x080933e7 806867c: 08093b6d .word 0x08093b6d 8068680: 0809423d .word 0x0809423d 8068684: 08078695 .word 0x08078695 8068688: 080975f5 .word 0x080975f5 806868c: 080975f5 .word 0x080975f5 8068690: 080975f5 .word 0x080975f5 8068694: 08072b19 .word 0x08072b19 8068698: 08072f5d .word 0x08072f5d 806869c: 08073067 .word 0x08073067 80686a0: 080720fd .word 0x080720fd 80686a4: 0807457b .word 0x0807457b 80686a8: 08072b19 .word 0x08072b19 80686ac: 08072c71 .word 0x08072c71 80686b0: 08072e05 .word 0x08072e05 80686b4: 08072861 .word 0x08072861 80686b8: 08073ca5 .word 0x08073ca5 80686bc: 08071ae3 .word 0x08071ae3 80686c0: 080729d9 .word 0x080729d9 80686c4: 0807299f .word 0x0807299f 80686c8: 0809234b .word 0x0809234b 80686cc: 08092a37 .word 0x08092a37 80686d0: 080931e1 .word 0x080931e1 80686d4: 080931e1 .word 0x080931e1 80686d8: 080931e1 .word 0x080931e1 80686dc: 080975f5 .word 0x080975f5 80686e0: 080931e1 .word 0x080931e1 80686e4: 080931e1 .word 0x080931e1 80686e8: 080931e1 .word 0x080931e1 80686ec: 080931e1 .word 0x080931e1 80686f0: 080931e1 .word 0x080931e1 80686f4: 08095b31 .word 0x08095b31 80686f8: 08095efb .word 0x08095efb 80686fc: 08096131 .word 0x08096131 8068700: 08096311 .word 0x08096311 8068704: 08096551 .word 0x08096551 8068708: 08096781 .word 0x08096781 806870c: 08096961 .word 0x08096961 8068710: 08096b9d .word 0x08096b9d 8068714: 08096dcd .word 0x08096dcd 8068718: 08096fa9 .word 0x08096fa9 806871c: 080971e3 .word 0x080971e3 8068720: 080972c9 .word 0x080972c9 8068724: 080973af .word 0x080973af 8068728: 080974e7 .word 0x080974e7 806872c: 0809754d .word 0x0809754d 8068730: 0809758d .word 0x0809758d 8068734: 080975f5 .word 0x080975f5 8068738: 0806a057 .word 0x0806a057 806873c: 0806a057 .word 0x0806a057 8068740: 0806a057 .word 0x0806a057 8068744: 08069fe7 .word 0x08069fe7 { case ROUTE_MAP: LCD_SetColors(LCD_COLOR_DARKCYAN, LCD_COLOR_BLACK); 8068748: 495c ldr r1, [pc, #368] ; (80688bc ) 806874a: 485d ldr r0, [pc, #372] ; (80688c0 ) 806874c: f7eb f82e bl 80537ac BSP_LCD_SetFont(&Font12); 8068750: 485c ldr r0, [pc, #368] ; (80688c4 ) 8068752: f7eb f867 bl 8053824 BSP_LCD_DisplayStringAt(315, 42, RouteName, RIGHT_MODE); 8068756: 2302 movs r3, #2 8068758: 4a61 ldr r2, [pc, #388] ; (80688e0 ) 806875a: 212a movs r1, #42 ; 0x2a 806875c: f240 103b movw r0, #315 ; 0x13b 8068760: f7eb f8ea bl 8053938 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); BSP_LCD_DisplayStringAt(5, 54, "[OK]", RIGHT_MODE); }*/ if(RoutePath[0]) 8068764: 4b5f ldr r3, [pc, #380] ; (80688e4 ) 8068766: 781b ldrb r3, [r3, #0] 8068768: 2b00 cmp r3, #0 806876a: f02e 8716 beq.w 809759a { k = 0; 806876e: 2300 movs r3, #0 8068770: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 l = strlen(RoutePath); 8068774: 485b ldr r0, [pc, #364] ; (80688e4 ) 8068776: f7b7 fdcd bl 8020314 806877a: 4603 mov r3, r0 806877c: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 for(i = 0; i < l; i++) 8068780: 2300 movs r3, #0 8068782: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 8068786: e183 b.n 8068a90 { if(RoutePath[i] == ';') 8068788: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806878c: 4a55 ldr r2, [pc, #340] ; (80688e4 ) 806878e: 5cd3 ldrb r3, [r2, r3] 8068790: 2b3b cmp r3, #59 ; 0x3b 8068792: f040 80c8 bne.w 8068926 { if(k == 0) 8068796: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806879a: 2b00 cmp r3, #0 806879c: d10a bne.n 80687b4 { k++; 806879e: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80687a2: 3301 adds r3, #1 80687a4: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 j = i + 1; 80687a8: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80687ac: 3301 adds r3, #1 80687ae: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 80687b2: e168 b.n 8068a86 } else if(k == 1) 80687b4: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80687b8: 2b01 cmp r3, #1 80687ba: f040 80a3 bne.w 8068904 { memset(str, 0, sizeof(str)); 80687be: f507 733b add.w r3, r7, #748 ; 0x2ec 80687c2: 223c movs r2, #60 ; 0x3c 80687c4: 2100 movs r1, #0 80687c6: 4618 mov r0, r3 80687c8: f064 fc3e bl 80cd048 memset(str1, 0, sizeof(str1)); 80687cc: f507 73f6 add.w r3, r7, #492 ; 0x1ec 80687d0: f44f 7280 mov.w r2, #256 ; 0x100 80687d4: 2100 movs r1, #0 80687d6: 4618 mov r0, r3 80687d8: f064 fc36 bl 80cd048 LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 80687dc: 4937 ldr r1, [pc, #220] ; (80688bc ) 80687de: 4842 ldr r0, [pc, #264] ; (80688e8 ) 80687e0: f7ea ffe4 bl 80537ac if(pardata.LANG == ENG) 80687e4: 4b3b ldr r3, [pc, #236] ; (80688d4 ) 80687e6: 7b1b ldrb r3, [r3, #12] 80687e8: b2db uxtb r3, r3 80687ea: 2b01 cmp r3, #1 80687ec: d106 bne.n 80687fc strcpy(str, "POINT: '"); 80687ee: f507 733b add.w r3, r7, #748 ; 0x2ec 80687f2: 4a3e ldr r2, [pc, #248] ; (80688ec ) 80687f4: ca07 ldmia r2, {r0, r1, r2} 80687f6: c303 stmia r3!, {r0, r1} 80687f8: 701a strb r2, [r3, #0] 80687fa: e005 b.n 8068808 else strcpy(str, "ÒÎ×ÊÀ: '"); 80687fc: f507 733b add.w r3, r7, #748 ; 0x2ec 8068800: 4a3b ldr r2, [pc, #236] ; (80688f0 ) 8068802: ca07 ldmia r2, {r0, r1, r2} 8068804: c303 stmia r3!, {r0, r1} 8068806: 701a strb r2, [r3, #0] //memcpy(str1, RoutePath, i); //Txxxxx memcpy(str1, &RoutePath[j], i - j); //Txxxxx 8068808: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 806880c: 4a35 ldr r2, [pc, #212] ; (80688e4 ) 806880e: 1899 adds r1, r3, r2 8068810: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 8068814: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 8068818: 1ad2 subs r2, r2, r3 806881a: f507 73f6 add.w r3, r7, #492 ; 0x1ec 806881e: 4618 mov r0, r3 8068820: f064 fc07 bl 80cd032 RoutePointID = atoi(&str1[1]); 8068824: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8068828: 3301 adds r3, #1 806882a: 4618 mov r0, r3 806882c: f064 fb99 bl 80ccf62 8068830: 4603 mov r3, r0 8068832: 461a mov r2, r3 8068834: 4b2f ldr r3, [pc, #188] ; (80688f4 ) 8068836: 601a str r2, [r3, #0] if(RouteMeas(RouteIndex)) 8068838: 4b2f ldr r3, [pc, #188] ; (80688f8 ) 806883a: 681a ldr r2, [r3, #0] 806883c: 4b2f ldr r3, [pc, #188] ; (80688fc ) 806883e: 4413 add r3, r2 8068840: 781b ldrb r3, [r3, #0] 8068842: 2b00 cmp r3, #0 8068844: d005 beq.n 8068852 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8068846: 491d ldr r1, [pc, #116] ; (80688bc ) 8068848: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 806884c: f7ea ffae bl 80537ac 8068850: e003 b.n 806885a else LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 8068852: 491a ldr r1, [pc, #104] ; (80688bc ) 8068854: 4824 ldr r0, [pc, #144] ; (80688e8 ) 8068856: f7ea ffa9 bl 80537ac strcat(str, str1); 806885a: f507 72f6 add.w r2, r7, #492 ; 0x1ec 806885e: f507 733b add.w r3, r7, #748 ; 0x2ec 8068862: 4611 mov r1, r2 8068864: 4618 mov r0, r3 8068866: f064 fcef bl 80cd248 strcat(str, "'"); 806886a: f507 733b add.w r3, r7, #748 ; 0x2ec 806886e: 4618 mov r0, r3 8068870: f7b7 fd50 bl 8020314 8068874: 4603 mov r3, r0 8068876: 461a mov r2, r3 8068878: f507 733b add.w r3, r7, #748 ; 0x2ec 806887c: 4413 add r3, r2 806887e: 4920 ldr r1, [pc, #128] ; (8068900 ) 8068880: 461a mov r2, r3 8068882: 460b mov r3, r1 8068884: 881b ldrh r3, [r3, #0] 8068886: 8013 strh r3, [r2, #0] BSP_LCD_DisplayStringAt(5, 42, str, LEFT_MODE); 8068888: f507 723b add.w r2, r7, #748 ; 0x2ec 806888c: 2303 movs r3, #3 806888e: 212a movs r1, #42 ; 0x2a 8068890: 2005 movs r0, #5 8068892: f7eb f851 bl 8053938 LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 8068896: 4909 ldr r1, [pc, #36] ; (80688bc ) 8068898: 4813 ldr r0, [pc, #76] ; (80688e8 ) 806889a: f7ea ff87 bl 80537ac j = i + 1; 806889e: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80688a2: 3301 adds r3, #1 80688a4: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc k++; 80688a8: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80688ac: 3301 adds r3, #1 80688ae: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 80688b2: e0e8 b.n 8068a86 80688b4: 20020f78 .word 0x20020f78 80688b8: 0814a390 .word 0x0814a390 80688bc: ff0a0f1f .word 0xff0a0f1f 80688c0: ff008080 .word 0xff008080 80688c4: 20020038 .word 0x20020038 80688c8: 20021531 .word 0x20021531 80688cc: 20020daf .word 0x20020daf 80688d0: ffff0000 .word 0xffff0000 80688d4: 20023e60 .word 0x20023e60 80688d8: 080cf7ec .word 0x080cf7ec 80688dc: 080cf7f8 .word 0x080cf7f8 80688e0: 20022628 .word 0x20022628 80688e4: 20022be0 .word 0x20022be0 80688e8: ffd3d3d3 .word 0xffd3d3d3 80688ec: 080cf804 .word 0x080cf804 80688f0: 080cf810 .word 0x080cf810 80688f4: 20020034 .word 0x20020034 80688f8: 20020f6c .word 0x20020f6c 80688fc: 64100000 .word 0x64100000 8068900: 080cf81c .word 0x080cf81c } else { if(i != j) 8068904: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 8068908: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 806890c: 429a cmp r2, r3 806890e: d004 beq.n 806891a else memcpy(str, &RoutePath[j], i - j); strcat(str, "|"); BSP_LCD_DisplayStringAt(k*7 - 2, 60 + k*12, str, LEFT_MODE);*/ k++; 8068910: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8068914: 3301 adds r3, #1 8068916: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 } j = i + 1; 806891a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806891e: 3301 adds r3, #1 8068920: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 8068924: e0af b.n 8068a86 } } else { if(i == (l - 1)) //åñëè äîøëè äî êîíöà òî ýòî êîììåíòàðèé (åñëè åñòü) 8068926: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806892a: 1e5a subs r2, r3, #1 806892c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8068930: 429a cmp r2, r3 8068932: f040 80a8 bne.w 8068a86 { if(RoutePath[i - 1] != ';') 8068936: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806893a: 3b01 subs r3, #1 806893c: 4a4b ldr r2, [pc, #300] ; (8068a6c ) 806893e: 5cd3 ldrb r3, [r2, r3] 8068940: 2b3b cmp r3, #59 ; 0x3b 8068942: f000 80a0 beq.w 8068a86 { memset(str, 0, sizeof(str)); 8068946: f507 733b add.w r3, r7, #748 ; 0x2ec 806894a: 223c movs r2, #60 ; 0x3c 806894c: 2100 movs r1, #0 806894e: 4618 mov r0, r3 8068950: f064 fb7a bl 80cd048 memset(str1, 0, sizeof(str1)); 8068954: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8068958: f44f 7280 mov.w r2, #256 ; 0x100 806895c: 2100 movs r1, #0 806895e: 4618 mov r0, r3 8068960: f064 fb72 bl 80cd048 LCD_SetColors(0xFFEFCC95, LCD_COLOR_BLACK); BSP_LCD_DisplayStringAt(160, 60, str, CENTER_MODE);*/ // strcpy(str1, "'"); memcpy(&str1[0], &RoutePath[j], i - j + 1); 8068964: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 8068968: 4a40 ldr r2, [pc, #256] ; (8068a6c ) 806896a: 1899 adds r1, r3, r2 806896c: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 8068970: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 8068974: 1ad3 subs r3, r2, r3 8068976: 1c5a adds r2, r3, #1 8068978: f507 73f6 add.w r3, r7, #492 ; 0x1ec 806897c: 4618 mov r0, r3 806897e: f064 fb58 bl 80cd032 x = strlen(str1); 8068982: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8068986: 4618 mov r0, r3 8068988: f7b7 fcc4 bl 8020314 806898c: f8c7 0468 str.w r0, [r7, #1128] ; 0x468 LCD_SetColors(0xFFEFCC95, LCD_COLOR_BLACK); 8068990: 4937 ldr r1, [pc, #220] ; (8068a70 ) 8068992: 4838 ldr r0, [pc, #224] ; (8068a74 ) 8068994: f7ea ff0a bl 80537ac if(x <= 40) 8068998: f8d7 3468 ldr.w r3, [r7, #1128] ; 0x468 806899c: 2b28 cmp r3, #40 ; 0x28 806899e: d807 bhi.n 80689b0 { BSP_LCD_DisplayStringAt(4, 60, str1, LEFT_MODE); 80689a0: f507 72f6 add.w r2, r7, #492 ; 0x1ec 80689a4: 2303 movs r3, #3 80689a6: 213c movs r1, #60 ; 0x3c 80689a8: 2004 movs r0, #4 80689aa: f7ea ffc5 bl 8053938 80689ae: e06a b.n 8068a86 } else { // nstr = x / 40; // laststr = x % 40; if(x > 270) { 80689b0: f8d7 3468 ldr.w r3, [r7, #1128] ; 0x468 80689b4: f5b3 7f87 cmp.w r3, #270 ; 0x10e 80689b8: d903 bls.n 80689c2 x = 270; 80689ba: f44f 7387 mov.w r3, #270 ; 0x10e 80689be: f8c7 3468 str.w r3, [r7, #1128] ; 0x468 } y = 0; 80689c2: 2300 movs r3, #0 80689c4: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 r = 0; 80689c8: 2300 movs r3, #0 80689ca: f8c7 33f0 str.w r3, [r7, #1008] ; 0x3f0 while(x > 0) 80689ce: e056 b.n 8068a7e { memset(str, 0, sizeof(str)); 80689d0: f507 733b add.w r3, r7, #748 ; 0x2ec 80689d4: 223c movs r2, #60 ; 0x3c 80689d6: 2100 movs r1, #0 80689d8: 4618 mov r0, r3 80689da: f064 fb35 bl 80cd048 if(x >= 45) 80689de: f8d7 3468 ldr.w r3, [r7, #1128] ; 0x468 80689e2: 2b2c cmp r3, #44 ; 0x2c 80689e4: d910 bls.n 8068a08 { memcpy(str, &str1[r], 45); 80689e6: f8d7 33f0 ldr.w r3, [r7, #1008] ; 0x3f0 80689ea: f507 72f6 add.w r2, r7, #492 ; 0x1ec 80689ee: 18d1 adds r1, r2, r3 80689f0: f507 733b add.w r3, r7, #748 ; 0x2ec 80689f4: 222d movs r2, #45 ; 0x2d 80689f6: 4618 mov r0, r3 80689f8: f064 fb1b bl 80cd032 r += 45; 80689fc: f8d7 33f0 ldr.w r3, [r7, #1008] ; 0x3f0 8068a00: 332d adds r3, #45 ; 0x2d 8068a02: f8c7 33f0 str.w r3, [r7, #1008] ; 0x3f0 8068a06: e012 b.n 8068a2e } else { memcpy(str, &str1[r], x); 8068a08: f8d7 33f0 ldr.w r3, [r7, #1008] ; 0x3f0 8068a0c: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8068a10: 18d1 adds r1, r2, r3 8068a12: f507 733b add.w r3, r7, #748 ; 0x2ec 8068a16: f8d7 2468 ldr.w r2, [r7, #1128] ; 0x468 8068a1a: 4618 mov r0, r3 8068a1c: f064 fb09 bl 80cd032 r += x; 8068a20: f8d7 23f0 ldr.w r2, [r7, #1008] ; 0x3f0 8068a24: f8d7 3468 ldr.w r3, [r7, #1128] ; 0x468 8068a28: 4413 add r3, r2 8068a2a: f8c7 33f0 str.w r3, [r7, #1008] ; 0x3f0 } BSP_LCD_DisplayStringAt(4, 60 + y*12, str, LEFT_MODE); 8068a2e: f8d7 3464 ldr.w r3, [r7, #1124] ; 0x464 8068a32: b29b uxth r3, r3 8068a34: 461a mov r2, r3 8068a36: 0052 lsls r2, r2, #1 8068a38: 4413 add r3, r2 8068a3a: 009b lsls r3, r3, #2 8068a3c: b29b uxth r3, r3 8068a3e: 333c adds r3, #60 ; 0x3c 8068a40: b299 uxth r1, r3 8068a42: f507 723b add.w r2, r7, #748 ; 0x2ec 8068a46: 2303 movs r3, #3 8068a48: 2004 movs r0, #4 8068a4a: f7ea ff75 bl 8053938 y++; 8068a4e: f8d7 3464 ldr.w r3, [r7, #1124] ; 0x464 8068a52: 3301 adds r3, #1 8068a54: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 if(x >= 45) x -= 45; 8068a58: f8d7 3468 ldr.w r3, [r7, #1128] ; 0x468 8068a5c: 2b2c cmp r3, #44 ; 0x2c 8068a5e: d90b bls.n 8068a78 8068a60: f8d7 3468 ldr.w r3, [r7, #1128] ; 0x468 8068a64: 3b2d subs r3, #45 ; 0x2d 8068a66: f8c7 3468 str.w r3, [r7, #1128] ; 0x468 8068a6a: e008 b.n 8068a7e 8068a6c: 20022be0 .word 0x20022be0 8068a70: ff0a0f1f .word 0xff0a0f1f 8068a74: ffefcc95 .word 0xffefcc95 else x = 0; 8068a78: 2300 movs r3, #0 8068a7a: f8c7 3468 str.w r3, [r7, #1128] ; 0x468 while(x > 0) 8068a7e: f8d7 3468 ldr.w r3, [r7, #1128] ; 0x468 8068a82: 2b00 cmp r3, #0 8068a84: d1a4 bne.n 80689d0 for(i = 0; i < l; i++) 8068a86: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8068a8a: 3301 adds r3, #1 8068a8c: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 8068a90: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 8068a94: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 8068a98: 429a cmp r2, r3 8068a9a: f4ff ae75 bcc.w 8068788 } } } LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 8068a9e: 49d3 ldr r1, [pc, #844] ; (8068dec ) 8068aa0: 48d3 ldr r0, [pc, #844] ; (8068df0 ) 8068aa2: f7ea fe83 bl 80537ac 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); 8068aa6: 4bd3 ldr r3, [pc, #844] ; (8068df4 ) 8068aa8: edd3 7a06 vldr s15, [r3, #24] 8068aac: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 8068ab0: ee67 7a87 vmul.f32 s15, s15, s14 8068ab4: eefc 7ae7 vcvt.u32.f32 s15, s15 8068ab8: ee17 3a90 vmov r3, s15 8068abc: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 idt2 = (uint8_t) (k / 100000); 8068ac0: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8068ac4: 095b lsrs r3, r3, #5 8068ac6: 4acc ldr r2, [pc, #816] ; (8068df8 ) 8068ac8: fba2 2303 umull r2, r3, r2, r3 8068acc: 09db lsrs r3, r3, #7 8068ace: b2db uxtb r3, r3 8068ad0: f887 33d8 strb.w r3, [r7, #984] ; 0x3d8 iet2 = (uint8_t) (k % 100000 / 10000); 8068ad4: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8068ad8: 0953 lsrs r3, r2, #5 8068ada: 49c7 ldr r1, [pc, #796] ; (8068df8 ) 8068adc: fba1 1303 umull r1, r3, r1, r3 8068ae0: 09db lsrs r3, r3, #7 8068ae2: 49c6 ldr r1, [pc, #792] ; (8068dfc ) 8068ae4: fb01 f303 mul.w r3, r1, r3 8068ae8: 1ad3 subs r3, r2, r3 8068aea: 4ac5 ldr r2, [pc, #788] ; (8068e00 ) 8068aec: fba2 2303 umull r2, r3, r2, r3 8068af0: 0b5b lsrs r3, r3, #13 8068af2: b2db uxtb r3, r3 8068af4: f887 33d7 strb.w r3, [r7, #983] ; 0x3d7 ies2 = (uint8_t) (k % 100000 % 10000 / 1000); 8068af8: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8068afc: 0953 lsrs r3, r2, #5 8068afe: 49be ldr r1, [pc, #760] ; (8068df8 ) 8068b00: fba1 1303 umull r1, r3, r1, r3 8068b04: 09db lsrs r3, r3, #7 8068b06: 49bd ldr r1, [pc, #756] ; (8068dfc ) 8068b08: fb01 f303 mul.w r3, r1, r3 8068b0c: 1ad3 subs r3, r2, r3 8068b0e: 4abc ldr r2, [pc, #752] ; (8068e00 ) 8068b10: fba2 1203 umull r1, r2, r2, r3 8068b14: 0b52 lsrs r2, r2, #13 8068b16: f242 7110 movw r1, #10000 ; 0x2710 8068b1a: fb01 f202 mul.w r2, r1, r2 8068b1e: 1a9a subs r2, r3, r2 8068b20: 4bb8 ldr r3, [pc, #736] ; (8068e04 ) 8068b22: fba3 2302 umull r2, r3, r3, r2 8068b26: 099b lsrs r3, r3, #6 8068b28: b2db uxtb r3, r3 8068b2a: f887 33d6 strb.w r3, [r7, #982] ; 0x3d6 ied2 = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 8068b2e: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8068b32: 095a lsrs r2, r3, #5 8068b34: 49b0 ldr r1, [pc, #704] ; (8068df8 ) 8068b36: fba1 1202 umull r1, r2, r1, r2 8068b3a: 09d2 lsrs r2, r2, #7 8068b3c: 49af ldr r1, [pc, #700] ; (8068dfc ) 8068b3e: fb01 f202 mul.w r2, r1, r2 8068b42: 1a9a subs r2, r3, r2 8068b44: 4bae ldr r3, [pc, #696] ; (8068e00 ) 8068b46: fba3 1302 umull r1, r3, r3, r2 8068b4a: 0b5b lsrs r3, r3, #13 8068b4c: f242 7110 movw r1, #10000 ; 0x2710 8068b50: fb01 f303 mul.w r3, r1, r3 8068b54: 1ad3 subs r3, r2, r3 8068b56: 4aab ldr r2, [pc, #684] ; (8068e04 ) 8068b58: fba2 1203 umull r1, r2, r2, r3 8068b5c: 0992 lsrs r2, r2, #6 8068b5e: f44f 717a mov.w r1, #1000 ; 0x3e8 8068b62: fb01 f202 mul.w r2, r1, r2 8068b66: 1a9a subs r2, r3, r2 8068b68: 4ba7 ldr r3, [pc, #668] ; (8068e08 ) 8068b6a: fba3 2302 umull r2, r3, r3, r2 8068b6e: 095b lsrs r3, r3, #5 8068b70: b2db uxtb r3, r3 8068b72: f887 33d5 strb.w r3, [r7, #981] ; 0x3d5 iee2 = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 8068b76: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8068b7a: 0953 lsrs r3, r2, #5 8068b7c: 499e ldr r1, [pc, #632] ; (8068df8 ) 8068b7e: fba1 1303 umull r1, r3, r1, r3 8068b82: 09db lsrs r3, r3, #7 8068b84: 499d ldr r1, [pc, #628] ; (8068dfc ) 8068b86: fb01 f303 mul.w r3, r1, r3 8068b8a: 1ad3 subs r3, r2, r3 8068b8c: 4a9c ldr r2, [pc, #624] ; (8068e00 ) 8068b8e: fba2 1203 umull r1, r2, r2, r3 8068b92: 0b52 lsrs r2, r2, #13 8068b94: f242 7110 movw r1, #10000 ; 0x2710 8068b98: fb01 f202 mul.w r2, r1, r2 8068b9c: 1a9a subs r2, r3, r2 8068b9e: 4b99 ldr r3, [pc, #612] ; (8068e04 ) 8068ba0: fba3 1302 umull r1, r3, r3, r2 8068ba4: 099b lsrs r3, r3, #6 8068ba6: f44f 717a mov.w r1, #1000 ; 0x3e8 8068baa: fb01 f303 mul.w r3, r1, r3 8068bae: 1ad3 subs r3, r2, r3 8068bb0: 4a95 ldr r2, [pc, #596] ; (8068e08 ) 8068bb2: fba2 1203 umull r1, r2, r2, r3 8068bb6: 0952 lsrs r2, r2, #5 8068bb8: 2164 movs r1, #100 ; 0x64 8068bba: fb01 f202 mul.w r2, r1, r2 8068bbe: 1a9a subs r2, r3, r2 8068bc0: 4b92 ldr r3, [pc, #584] ; (8068e0c ) 8068bc2: fba3 2302 umull r2, r3, r3, r2 8068bc6: 08db lsrs r3, r3, #3 8068bc8: b2db uxtb r3, r3 8068bca: f887 33d4 strb.w r3, [r7, #980] ; 0x3d4 ikd2 = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 8068bce: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8068bd2: 0953 lsrs r3, r2, #5 8068bd4: 4988 ldr r1, [pc, #544] ; (8068df8 ) 8068bd6: fba1 1303 umull r1, r3, r1, r3 8068bda: 09db lsrs r3, r3, #7 8068bdc: 4987 ldr r1, [pc, #540] ; (8068dfc ) 8068bde: fb01 f303 mul.w r3, r1, r3 8068be2: 1ad3 subs r3, r2, r3 8068be4: 4a86 ldr r2, [pc, #536] ; (8068e00 ) 8068be6: fba2 1203 umull r1, r2, r2, r3 8068bea: 0b52 lsrs r2, r2, #13 8068bec: f242 7110 movw r1, #10000 ; 0x2710 8068bf0: fb01 f202 mul.w r2, r1, r2 8068bf4: 1a9a subs r2, r3, r2 8068bf6: 4b83 ldr r3, [pc, #524] ; (8068e04 ) 8068bf8: fba3 1302 umull r1, r3, r3, r2 8068bfc: 099b lsrs r3, r3, #6 8068bfe: f44f 717a mov.w r1, #1000 ; 0x3e8 8068c02: fb01 f303 mul.w r3, r1, r3 8068c06: 1ad3 subs r3, r2, r3 8068c08: 4a7f ldr r2, [pc, #508] ; (8068e08 ) 8068c0a: fba2 1203 umull r1, r2, r2, r3 8068c0e: 0952 lsrs r2, r2, #5 8068c10: 2164 movs r1, #100 ; 0x64 8068c12: fb01 f202 mul.w r2, r1, r2 8068c16: 1a9a subs r2, r3, r2 8068c18: 4b7c ldr r3, [pc, #496] ; (8068e0c ) 8068c1a: fba3 1302 umull r1, r3, r3, r2 8068c1e: 08d9 lsrs r1, r3, #3 8068c20: 460b mov r3, r1 8068c22: 009b lsls r3, r3, #2 8068c24: 440b add r3, r1 8068c26: 005b lsls r3, r3, #1 8068c28: 1ad1 subs r1, r2, r3 8068c2a: b2cb uxtb r3, r1 8068c2c: f887 33d3 strb.w r3, [r7, #979] ; 0x3d3 i = 0; 8068c30: 2300 movs r3, #0 8068c32: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 memset(strMax, 0, sizeof(strMax)); 8068c36: f507 73c0 add.w r3, r7, #384 ; 0x180 8068c3a: 220c movs r2, #12 8068c3c: 2100 movs r1, #0 8068c3e: 4618 mov r0, r3 8068c40: f064 fa02 bl 80cd048 if(idt2 != 0) 8068c44: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 8068c48: b2db uxtb r3, r3 8068c4a: 2b00 cmp r3, #0 8068c4c: d00c beq.n 8068c68 strMax[i++] = idt2 + 48; 8068c4e: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8068c52: 1c5a adds r2, r3, #1 8068c54: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8068c58: f897 23d8 ldrb.w r2, [r7, #984] ; 0x3d8 8068c5c: b2d2 uxtb r2, r2 8068c5e: 3230 adds r2, #48 ; 0x30 8068c60: b2d1 uxtb r1, r2 8068c62: f507 72c0 add.w r2, r7, #384 ; 0x180 8068c66: 54d1 strb r1, [r2, r3] if((iet2 != 0) || (idt2 != 0)) 8068c68: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 8068c6c: b2db uxtb r3, r3 8068c6e: 2b00 cmp r3, #0 8068c70: d104 bne.n 8068c7c 8068c72: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 8068c76: b2db uxtb r3, r3 8068c78: 2b00 cmp r3, #0 8068c7a: d00c beq.n 8068c96 strMax[i++] = iet2 + 48; 8068c7c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8068c80: 1c5a adds r2, r3, #1 8068c82: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8068c86: f897 23d7 ldrb.w r2, [r7, #983] ; 0x3d7 8068c8a: b2d2 uxtb r2, r2 8068c8c: 3230 adds r2, #48 ; 0x30 8068c8e: b2d1 uxtb r1, r2 8068c90: f507 72c0 add.w r2, r7, #384 ; 0x180 8068c94: 54d1 strb r1, [r2, r3] if((ies2 != 0) || (iet2 != 0) || (idt2 != 0)) 8068c96: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 8068c9a: b2db uxtb r3, r3 8068c9c: 2b00 cmp r3, #0 8068c9e: d109 bne.n 8068cb4 8068ca0: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 8068ca4: b2db uxtb r3, r3 8068ca6: 2b00 cmp r3, #0 8068ca8: d104 bne.n 8068cb4 8068caa: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 8068cae: b2db uxtb r3, r3 8068cb0: 2b00 cmp r3, #0 8068cb2: d00c beq.n 8068cce strMax[i++] = ies2 + 48; 8068cb4: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8068cb8: 1c5a adds r2, r3, #1 8068cba: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8068cbe: f897 23d6 ldrb.w r2, [r7, #982] ; 0x3d6 8068cc2: b2d2 uxtb r2, r2 8068cc4: 3230 adds r2, #48 ; 0x30 8068cc6: b2d1 uxtb r1, r2 8068cc8: f507 72c0 add.w r2, r7, #384 ; 0x180 8068ccc: 54d1 strb r1, [r2, r3] if((ied2 != 0) || (ies2 != 0) || (iet2 != 0) || (idt2 != 0)) 8068cce: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 8068cd2: b2db uxtb r3, r3 8068cd4: 2b00 cmp r3, #0 8068cd6: d10e bne.n 8068cf6 8068cd8: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 8068cdc: b2db uxtb r3, r3 8068cde: 2b00 cmp r3, #0 8068ce0: d109 bne.n 8068cf6 8068ce2: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 8068ce6: b2db uxtb r3, r3 8068ce8: 2b00 cmp r3, #0 8068cea: d104 bne.n 8068cf6 8068cec: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 8068cf0: b2db uxtb r3, r3 8068cf2: 2b00 cmp r3, #0 8068cf4: d00c beq.n 8068d10 strMax[i++] = ied2 + 48; 8068cf6: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8068cfa: 1c5a adds r2, r3, #1 8068cfc: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8068d00: f897 23d5 ldrb.w r2, [r7, #981] ; 0x3d5 8068d04: b2d2 uxtb r2, r2 8068d06: 3230 adds r2, #48 ; 0x30 8068d08: b2d1 uxtb r1, r2 8068d0a: f507 72c0 add.w r2, r7, #384 ; 0x180 8068d0e: 54d1 strb r1, [r2, r3] strMax[i++] = iee2 + 48; 8068d10: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8068d14: 1c5a adds r2, r3, #1 8068d16: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8068d1a: f897 23d4 ldrb.w r2, [r7, #980] ; 0x3d4 8068d1e: b2d2 uxtb r2, r2 8068d20: 3230 adds r2, #48 ; 0x30 8068d22: b2d1 uxtb r1, r2 8068d24: f507 72c0 add.w r2, r7, #384 ; 0x180 8068d28: 54d1 strb r1, [r2, r3] strMax[i++] = '.'; 8068d2a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8068d2e: 1c5a adds r2, r3, #1 8068d30: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8068d34: f507 72c0 add.w r2, r7, #384 ; 0x180 8068d38: 212e movs r1, #46 ; 0x2e 8068d3a: 54d1 strb r1, [r2, r3] strMax[i++] = ikd2 + 48; 8068d3c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8068d40: 1c5a adds r2, r3, #1 8068d42: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8068d46: f897 23d3 ldrb.w r2, [r7, #979] ; 0x3d3 8068d4a: b2d2 uxtb r2, r2 8068d4c: 3230 adds r2, #48 ; 0x30 8068d4e: b2d1 uxtb r1, r2 8068d50: f507 72c0 add.w r2, r7, #384 ; 0x180 8068d54: 54d1 strb r1, [r2, r3] //**************************************************************** #ifndef USE_D101 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8068d56: 4925 ldr r1, [pc, #148] ; (8068dec ) 8068d58: f04f 30ff mov.w r0, #4294967295 8068d5c: f7ea fd26 bl 80537ac LCD_DisplayString(10, LCD_LINE_8, (char *) TEXT_PARAM_WAV[pardata.LANG][9]); //Òàõîìåòð 8068d60: 4b24 ldr r3, [pc, #144] ; (8068df4 ) 8068d62: 7b1b ldrb r3, [r3, #12] 8068d64: b2db uxtb r3, r3 8068d66: 4619 mov r1, r3 8068d68: 4a29 ldr r2, [pc, #164] ; (8068e10 ) 8068d6a: 460b mov r3, r1 8068d6c: 009b lsls r3, r3, #2 8068d6e: 440b add r3, r1 8068d70: 00db lsls r3, r3, #3 8068d72: 4413 add r3, r2 8068d74: 3324 adds r3, #36 ; 0x24 8068d76: 681b ldr r3, [r3, #0] 8068d78: 461a mov r2, r3 8068d7a: 218a movs r1, #138 ; 0x8a 8068d7c: 200a movs r0, #10 8068d7e: f7eb fabd bl 80542fc #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); 8068d82: 491a ldr r1, [pc, #104] ; (8068dec ) 8068d84: f04f 30ff mov.w r0, #4294967295 8068d88: f7ea fd10 bl 80537ac LCD_DisplayString(10, LCD_LINE_9, (char *) TEXT_PARAM_WAV[pardata.LANG][4]); //Âðåìÿ çàïèñè 8068d8c: 4b19 ldr r3, [pc, #100] ; (8068df4 ) 8068d8e: 7b1b ldrb r3, [r3, #12] 8068d90: b2db uxtb r3, r3 8068d92: 4619 mov r1, r3 8068d94: 4a1e ldr r2, [pc, #120] ; (8068e10 ) 8068d96: 460b mov r3, r1 8068d98: 009b lsls r3, r3, #2 8068d9a: 440b add r3, r1 8068d9c: 00db lsls r3, r3, #3 8068d9e: 4413 add r3, r2 8068da0: 3310 adds r3, #16 8068da2: 681b ldr r3, [r3, #0] 8068da4: 461a mov r2, r3 8068da6: 219a movs r1, #154 ; 0x9a 8068da8: 200a movs r0, #10 8068daa: f7eb faa7 bl 80542fc LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_PARAM_WAV[pardata.LANG][5]); //Àâòîóñèëåíèå 8068dae: 4b11 ldr r3, [pc, #68] ; (8068df4 ) 8068db0: 7b1b ldrb r3, [r3, #12] 8068db2: b2db uxtb r3, r3 8068db4: 4619 mov r1, r3 8068db6: 4a16 ldr r2, [pc, #88] ; (8068e10 ) 8068db8: 460b mov r3, r1 8068dba: 009b lsls r3, r3, #2 8068dbc: 440b add r3, r1 8068dbe: 00db lsls r3, r3, #3 8068dc0: 4413 add r3, r2 8068dc2: 3314 adds r3, #20 8068dc4: 681b ldr r3, [r3, #0] 8068dc6: 461a mov r2, r3 8068dc8: 21aa movs r1, #170 ; 0xaa 8068dca: 200a movs r0, #10 8068dcc: f7eb fa96 bl 80542fc if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 8068dd0: 4b08 ldr r3, [pc, #32] ; (8068df4 ) 8068dd2: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8068dd6: f003 0304 and.w r3, r3, #4 8068dda: 2b00 cmp r3, #0 8068ddc: d11a bne.n 8068e14 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8068dde: 4903 ldr r1, [pc, #12] ; (8068dec ) 8068de0: f04f 30ff mov.w r0, #4294967295 8068de4: f7ea fce2 bl 80537ac 8068de8: e018 b.n 8068e1c 8068dea: bf00 nop 8068dec: ff0a0f1f .word 0xff0a0f1f 8068df0: ffd3d3d3 .word 0xffd3d3d3 8068df4: 20023e60 .word 0x20023e60 8068df8: 0a7c5ac5 .word 0x0a7c5ac5 8068dfc: 000186a0 .word 0x000186a0 8068e00: d1b71759 .word 0xd1b71759 8068e04: 10624dd3 .word 0x10624dd3 8068e08: 51eb851f .word 0x51eb851f 8068e0c: cccccccd .word 0xcccccccd 8068e10: 2002083c .word 0x2002083c else LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8068e14: 49c0 ldr r1, [pc, #768] ; (8069118 ) 8068e16: 48c1 ldr r0, [pc, #772] ; (806911c ) 8068e18: f7ea fcc8 bl 80537ac LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_WAV[pardata.LANG][6]); //Ìax.àìïë.(ì/c^) 8068e1c: 4bc0 ldr r3, [pc, #768] ; (8069120 ) 8068e1e: 7b1b ldrb r3, [r3, #12] 8068e20: b2db uxtb r3, r3 8068e22: 4619 mov r1, r3 8068e24: 4abf ldr r2, [pc, #764] ; (8069124 ) 8068e26: 460b mov r3, r1 8068e28: 009b lsls r3, r3, #2 8068e2a: 440b add r3, r1 8068e2c: 00db lsls r3, r3, #3 8068e2e: 4413 add r3, r2 8068e30: 3318 adds r3, #24 8068e32: 681b ldr r3, [r3, #0] 8068e34: 461a mov r2, r3 8068e36: 21ba movs r1, #186 ; 0xba 8068e38: 200a movs r0, #10 8068e3a: f7eb fa5f bl 80542fc switch(menupos) 8068e3e: 4bba ldr r3, [pc, #744] ; (8069128 ) 8068e40: 781b ldrb r3, [r3, #0] 8068e42: b2db uxtb r3, r3 8068e44: 2b0e cmp r3, #14 8068e46: f201 80a1 bhi.w 8069f8c 8068e4a: a201 add r2, pc, #4 ; (adr r2, 8068e50 ) 8068e4c: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8068e50: 08068f4d .word 0x08068f4d 8068e54: 08068e8d .word 0x08068e8d 8068e58: 0806900d .word 0x0806900d 8068e5c: 08069b51 .word 0x08069b51 8068e60: 080690cd .word 0x080690cd 8068e64: 080691f7 .word 0x080691f7 8068e68: 080692c3 .word 0x080692c3 8068e6c: 08069385 .word 0x08069385 8068e70: 080694c5 .word 0x080694c5 8068e74: 0806962d .word 0x0806962d 8068e78: 0806976d .word 0x0806976d 8068e7c: 080698d5 .word 0x080698d5 8068e80: 08069a13 .word 0x08069a13 8068e84: 08069dd7 .word 0x08069dd7 8068e88: 08069c5b .word 0x08069c5b { case GoMeas: LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8068e8c: 49a2 ldr r1, [pc, #648] ; (8069118 ) 8068e8e: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8068e92: f7ea fc8b bl 80537ac LCD_DisplayStringC(160, LCD_LINE_13, "ÇÀÏÓÑÊ"); //Çàïóñê; 8068e96: 4aa5 ldr r2, [pc, #660] ; (806912c ) 8068e98: 21da movs r1, #218 ; 0xda 8068e9a: 20a0 movs r0, #160 ; 0xa0 8068e9c: f7eb fa46 bl 805432c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8068ea0: 499d ldr r1, [pc, #628] ; (8069118 ) 8068ea2: f04f 30ff mov.w r0, #4294967295 8068ea6: f7ea fc81 bl 80537ac LCD_DisplayString(10, LCD_LINE_13, "ÏÐÅÄ."); 8068eaa: 4aa1 ldr r2, [pc, #644] ; (8069130 ) 8068eac: 21da movs r1, #218 ; 0xda 8068eae: 200a movs r0, #10 8068eb0: f7eb fa24 bl 80542fc LCD_DisplayStringR(309, LCD_LINE_13, "ÑËÅÄ."); 8068eb4: 4a9f ldr r2, [pc, #636] ; (8069134 ) 8068eb6: 21da movs r1, #218 ; 0xda 8068eb8: f240 1035 movw r0, #309 ; 0x135 8068ebc: f7eb fa4e bl 805435c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8068ec0: 4995 ldr r1, [pc, #596] ; (8069118 ) 8068ec2: 489d ldr r0, [pc, #628] ; (8069138 ) 8068ec4: f7ea fc72 bl 80537ac LCD_DisplayStringC(260, LCD_LINE_9, (char *) pTME[pardata.LANG][pardata.TME]); 8068ec8: 4b95 ldr r3, [pc, #596] ; (8069120 ) 8068eca: 7b1b ldrb r3, [r3, #12] 8068ecc: b2db uxtb r3, r3 8068ece: 461a mov r2, r3 8068ed0: 4b93 ldr r3, [pc, #588] ; (8069120 ) 8068ed2: 7b9b ldrb r3, [r3, #14] 8068ed4: b2db uxtb r3, r3 8068ed6: 4618 mov r0, r3 8068ed8: 4998 ldr r1, [pc, #608] ; (806913c ) 8068eda: 4613 mov r3, r2 8068edc: 009b lsls r3, r3, #2 8068ede: 4413 add r3, r2 8068ee0: 005b lsls r3, r3, #1 8068ee2: 4413 add r3, r2 8068ee4: 4403 add r3, r0 8068ee6: f851 3023 ldr.w r3, [r1, r3, lsl #2] 8068eea: 461a mov r2, r3 8068eec: 219a movs r1, #154 ; 0x9a 8068eee: f44f 7082 mov.w r0, #260 ; 0x104 8068ef2: f7eb fa1b bl 805432c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8068ef6: 4988 ldr r1, [pc, #544] ; (8069118 ) 8068ef8: f04f 30ff mov.w r0, #4294967295 8068efc: f7ea fc56 bl 80537ac BSP_LCD_FillRect(255, CHECKBOX_LINE_8, 10, 10); 8068f00: 230a movs r3, #10 8068f02: 220a movs r2, #10 8068f04: 218d movs r1, #141 ; 0x8d 8068f06: 20ff movs r0, #255 ; 0xff 8068f08: f7eb f8de bl 80540c8 BSP_LCD_FillRect(255, CHECKBOX_LINE_10, 10, 10); 8068f0c: 230a movs r3, #10 8068f0e: 220a movs r2, #10 8068f10: 21ad movs r1, #173 ; 0xad 8068f12: 20ff movs r0, #255 ; 0xff 8068f14: f7eb f8d8 bl 80540c8 if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 8068f18: 4b81 ldr r3, [pc, #516] ; (8069120 ) 8068f1a: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8068f1e: f003 0304 and.w r3, r3, #4 8068f22: 2b00 cmp r3, #0 8068f24: d104 bne.n 8068f30 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8068f26: 497c ldr r1, [pc, #496] ; (8069118 ) 8068f28: 4883 ldr r0, [pc, #524] ; (8069138 ) 8068f2a: f7ea fc3f bl 80537ac 8068f2e: e003 b.n 8068f38 else LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8068f30: 4979 ldr r1, [pc, #484] ; (8069118 ) 8068f32: 487a ldr r0, [pc, #488] ; (806911c ) 8068f34: f7ea fc3a bl 80537ac LCD_DisplayStringC(260, LCD_LINE_11, strMax); 8068f38: f507 73c0 add.w r3, r7, #384 ; 0x180 8068f3c: 461a mov r2, r3 8068f3e: 21ba movs r1, #186 ; 0xba 8068f40: f44f 7082 mov.w r0, #260 ; 0x104 8068f44: f7eb f9f2 bl 805432c break; 8068f48: f001 b820 b.w 8069f8c case PrevPoint: LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8068f4c: 4972 ldr r1, [pc, #456] ; (8069118 ) 8068f4e: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8068f52: f7ea fc2b bl 80537ac LCD_DisplayString(10, LCD_LINE_13, "ÏÐÅÄ."); 8068f56: 4a76 ldr r2, [pc, #472] ; (8069130 ) 8068f58: 21da movs r1, #218 ; 0xda 8068f5a: 200a movs r0, #10 8068f5c: f7eb f9ce bl 80542fc LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8068f60: 496d ldr r1, [pc, #436] ; (8069118 ) 8068f62: f04f 30ff mov.w r0, #4294967295 8068f66: f7ea fc21 bl 80537ac LCD_DisplayStringC(160, LCD_LINE_13, "ÇÀÏÓÑÊ"); //Çàïóñê; 8068f6a: 4a70 ldr r2, [pc, #448] ; (806912c ) 8068f6c: 21da movs r1, #218 ; 0xda 8068f6e: 20a0 movs r0, #160 ; 0xa0 8068f70: f7eb f9dc bl 805432c LCD_DisplayStringR(309, LCD_LINE_13, "ÑËÅÄ."); 8068f74: 4a6f ldr r2, [pc, #444] ; (8069134 ) 8068f76: 21da movs r1, #218 ; 0xda 8068f78: f240 1035 movw r0, #309 ; 0x135 8068f7c: f7eb f9ee bl 805435c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8068f80: 4965 ldr r1, [pc, #404] ; (8069118 ) 8068f82: 486d ldr r0, [pc, #436] ; (8069138 ) 8068f84: f7ea fc12 bl 80537ac LCD_DisplayStringC(260, LCD_LINE_9, (char *) pTME[pardata.LANG][pardata.TME]); 8068f88: 4b65 ldr r3, [pc, #404] ; (8069120 ) 8068f8a: 7b1b ldrb r3, [r3, #12] 8068f8c: b2db uxtb r3, r3 8068f8e: 461a mov r2, r3 8068f90: 4b63 ldr r3, [pc, #396] ; (8069120 ) 8068f92: 7b9b ldrb r3, [r3, #14] 8068f94: b2db uxtb r3, r3 8068f96: 4618 mov r0, r3 8068f98: 4968 ldr r1, [pc, #416] ; (806913c ) 8068f9a: 4613 mov r3, r2 8068f9c: 009b lsls r3, r3, #2 8068f9e: 4413 add r3, r2 8068fa0: 005b lsls r3, r3, #1 8068fa2: 4413 add r3, r2 8068fa4: 4403 add r3, r0 8068fa6: f851 3023 ldr.w r3, [r1, r3, lsl #2] 8068faa: 461a mov r2, r3 8068fac: 219a movs r1, #154 ; 0x9a 8068fae: f44f 7082 mov.w r0, #260 ; 0x104 8068fb2: f7eb f9bb bl 805432c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8068fb6: 4958 ldr r1, [pc, #352] ; (8069118 ) 8068fb8: f04f 30ff mov.w r0, #4294967295 8068fbc: f7ea fbf6 bl 80537ac BSP_LCD_FillRect(255, CHECKBOX_LINE_8, 10, 10); 8068fc0: 230a movs r3, #10 8068fc2: 220a movs r2, #10 8068fc4: 218d movs r1, #141 ; 0x8d 8068fc6: 20ff movs r0, #255 ; 0xff 8068fc8: f7eb f87e bl 80540c8 BSP_LCD_FillRect(255, CHECKBOX_LINE_10, 10, 10); 8068fcc: 230a movs r3, #10 8068fce: 220a movs r2, #10 8068fd0: 21ad movs r1, #173 ; 0xad 8068fd2: 20ff movs r0, #255 ; 0xff 8068fd4: f7eb f878 bl 80540c8 if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 8068fd8: 4b51 ldr r3, [pc, #324] ; (8069120 ) 8068fda: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8068fde: f003 0304 and.w r3, r3, #4 8068fe2: 2b00 cmp r3, #0 8068fe4: d104 bne.n 8068ff0 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8068fe6: 494c ldr r1, [pc, #304] ; (8069118 ) 8068fe8: 4853 ldr r0, [pc, #332] ; (8069138 ) 8068fea: f7ea fbdf bl 80537ac 8068fee: e003 b.n 8068ff8 else LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8068ff0: 4949 ldr r1, [pc, #292] ; (8069118 ) 8068ff2: 484a ldr r0, [pc, #296] ; (806911c ) 8068ff4: f7ea fbda bl 80537ac LCD_DisplayStringC(260, LCD_LINE_11, strMax); 8068ff8: f507 73c0 add.w r3, r7, #384 ; 0x180 8068ffc: 461a mov r2, r3 8068ffe: 21ba movs r1, #186 ; 0xba 8069000: f44f 7082 mov.w r0, #260 ; 0x104 8069004: f7eb f992 bl 805432c break; 8069008: f000 bfc0 b.w 8069f8c case NextPoint: LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 806900c: 4942 ldr r1, [pc, #264] ; (8069118 ) 806900e: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8069012: f7ea fbcb bl 80537ac LCD_DisplayStringR(309, LCD_LINE_13, "ÑËÅÄ."); 8069016: 4a47 ldr r2, [pc, #284] ; (8069134 ) 8069018: 21da movs r1, #218 ; 0xda 806901a: f240 1035 movw r0, #309 ; 0x135 806901e: f7eb f99d bl 805435c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8069022: 493d ldr r1, [pc, #244] ; (8069118 ) 8069024: f04f 30ff mov.w r0, #4294967295 8069028: f7ea fbc0 bl 80537ac LCD_DisplayStringC(160, LCD_LINE_13, "ÇÀÏÓÑÊ"); //Çàïóñê; 806902c: 4a3f ldr r2, [pc, #252] ; (806912c ) 806902e: 21da movs r1, #218 ; 0xda 8069030: 20a0 movs r0, #160 ; 0xa0 8069032: f7eb f97b bl 805432c LCD_DisplayString(10, LCD_LINE_13, "ÏÐÅÄ."); 8069036: 4a3e ldr r2, [pc, #248] ; (8069130 ) 8069038: 21da movs r1, #218 ; 0xda 806903a: 200a movs r0, #10 806903c: f7eb f95e bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8069040: 4935 ldr r1, [pc, #212] ; (8069118 ) 8069042: 483d ldr r0, [pc, #244] ; (8069138 ) 8069044: f7ea fbb2 bl 80537ac LCD_DisplayStringC(260, LCD_LINE_9, (char *) pTME[pardata.LANG][pardata.TME]); 8069048: 4b35 ldr r3, [pc, #212] ; (8069120 ) 806904a: 7b1b ldrb r3, [r3, #12] 806904c: b2db uxtb r3, r3 806904e: 461a mov r2, r3 8069050: 4b33 ldr r3, [pc, #204] ; (8069120 ) 8069052: 7b9b ldrb r3, [r3, #14] 8069054: b2db uxtb r3, r3 8069056: 4618 mov r0, r3 8069058: 4938 ldr r1, [pc, #224] ; (806913c ) 806905a: 4613 mov r3, r2 806905c: 009b lsls r3, r3, #2 806905e: 4413 add r3, r2 8069060: 005b lsls r3, r3, #1 8069062: 4413 add r3, r2 8069064: 4403 add r3, r0 8069066: f851 3023 ldr.w r3, [r1, r3, lsl #2] 806906a: 461a mov r2, r3 806906c: 219a movs r1, #154 ; 0x9a 806906e: f44f 7082 mov.w r0, #260 ; 0x104 8069072: f7eb f95b bl 805432c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8069076: 4928 ldr r1, [pc, #160] ; (8069118 ) 8069078: f04f 30ff mov.w r0, #4294967295 806907c: f7ea fb96 bl 80537ac BSP_LCD_FillRect(255, CHECKBOX_LINE_8, 10, 10); 8069080: 230a movs r3, #10 8069082: 220a movs r2, #10 8069084: 218d movs r1, #141 ; 0x8d 8069086: 20ff movs r0, #255 ; 0xff 8069088: f7eb f81e bl 80540c8 BSP_LCD_FillRect(255, CHECKBOX_LINE_10, 10, 10); 806908c: 230a movs r3, #10 806908e: 220a movs r2, #10 8069090: 21ad movs r1, #173 ; 0xad 8069092: 20ff movs r0, #255 ; 0xff 8069094: f7eb f818 bl 80540c8 if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 8069098: 4b21 ldr r3, [pc, #132] ; (8069120 ) 806909a: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 806909e: f003 0304 and.w r3, r3, #4 80690a2: 2b00 cmp r3, #0 80690a4: d104 bne.n 80690b0 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80690a6: 491c ldr r1, [pc, #112] ; (8069118 ) 80690a8: 4823 ldr r0, [pc, #140] ; (8069138 ) 80690aa: f7ea fb7f bl 80537ac 80690ae: e003 b.n 80690b8 else LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80690b0: 4919 ldr r1, [pc, #100] ; (8069118 ) 80690b2: 481a ldr r0, [pc, #104] ; (806911c ) 80690b4: f7ea fb7a bl 80537ac LCD_DisplayStringC(260, LCD_LINE_11, strMax); 80690b8: f507 73c0 add.w r3, r7, #384 ; 0x180 80690bc: 461a mov r2, r3 80690be: 21ba movs r1, #186 ; 0xba 80690c0: f44f 7082 mov.w r0, #260 ; 0x104 80690c4: f7eb f932 bl 805432c break; 80690c8: f000 bf60 b.w 8069f8c case RouteTime: LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80690cc: 4912 ldr r1, [pc, #72] ; (8069118 ) 80690ce: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80690d2: f7ea fb6b bl 80537ac if(focused) 80690d6: 4b1a ldr r3, [pc, #104] ; (8069140 ) 80690d8: 781b ldrb r3, [r3, #0] 80690da: b2db uxtb r3, r3 80690dc: 2b00 cmp r3, #0 80690de: d033 beq.n 8069148 { if(blk) 80690e0: 4b18 ldr r3, [pc, #96] ; (8069144 ) 80690e2: 681b ldr r3, [r3, #0] 80690e4: 2b00 cmp r3, #0 80690e6: d046 beq.n 8069176 LCD_DisplayStringC(260, LCD_LINE_9, (char *) pTME[pardata.LANG][pardata.TME]); 80690e8: 4b0d ldr r3, [pc, #52] ; (8069120 ) 80690ea: 7b1b ldrb r3, [r3, #12] 80690ec: b2db uxtb r3, r3 80690ee: 461a mov r2, r3 80690f0: 4b0b ldr r3, [pc, #44] ; (8069120 ) 80690f2: 7b9b ldrb r3, [r3, #14] 80690f4: b2db uxtb r3, r3 80690f6: 4618 mov r0, r3 80690f8: 4910 ldr r1, [pc, #64] ; (806913c ) 80690fa: 4613 mov r3, r2 80690fc: 009b lsls r3, r3, #2 80690fe: 4413 add r3, r2 8069100: 005b lsls r3, r3, #1 8069102: 4413 add r3, r2 8069104: 4403 add r3, r0 8069106: f851 3023 ldr.w r3, [r1, r3, lsl #2] 806910a: 461a mov r2, r3 806910c: 219a movs r1, #154 ; 0x9a 806910e: f44f 7082 mov.w r0, #260 ; 0x104 8069112: f7eb f90b bl 805432c 8069116: e02e b.n 8069176 8069118: ff0a0f1f .word 0xff0a0f1f 806911c: ff808080 .word 0xff808080 8069120: 20023e60 .word 0x20023e60 8069124: 2002083c .word 0x2002083c 8069128: 20020070 .word 0x20020070 806912c: 080cf820 .word 0x080cf820 8069130: 080cf828 .word 0x080cf828 8069134: 080cf830 .word 0x080cf830 8069138: ffd8aa57 .word 0xffd8aa57 806913c: 20020334 .word 0x20020334 8069140: 20020f84 .word 0x20020f84 8069144: 2002165c .word 0x2002165c } else LCD_DisplayStringC(260, LCD_LINE_9, (char *) pTME[pardata.LANG][pardata.TME]); 8069148: 4b86 ldr r3, [pc, #536] ; (8069364 ) 806914a: 7b1b ldrb r3, [r3, #12] 806914c: b2db uxtb r3, r3 806914e: 461a mov r2, r3 8069150: 4b84 ldr r3, [pc, #528] ; (8069364 ) 8069152: 7b9b ldrb r3, [r3, #14] 8069154: b2db uxtb r3, r3 8069156: 4618 mov r0, r3 8069158: 4983 ldr r1, [pc, #524] ; (8069368 ) 806915a: 4613 mov r3, r2 806915c: 009b lsls r3, r3, #2 806915e: 4413 add r3, r2 8069160: 005b lsls r3, r3, #1 8069162: 4413 add r3, r2 8069164: 4403 add r3, r0 8069166: f851 3023 ldr.w r3, [r1, r3, lsl #2] 806916a: 461a mov r2, r3 806916c: 219a movs r1, #154 ; 0x9a 806916e: f44f 7082 mov.w r0, #260 ; 0x104 8069172: f7eb f8db bl 805432c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8069176: 497d ldr r1, [pc, #500] ; (806936c ) 8069178: f04f 30ff mov.w r0, #4294967295 806917c: f7ea fb16 bl 80537ac LCD_DisplayStringR(309, LCD_LINE_13, "ÑËÅÄ."); 8069180: 4a7b ldr r2, [pc, #492] ; (8069370 ) 8069182: 21da movs r1, #218 ; 0xda 8069184: f240 1035 movw r0, #309 ; 0x135 8069188: f7eb f8e8 bl 805435c LCD_DisplayStringC(160, LCD_LINE_13, "ÇÀÏÓÑÊ"); //Çàïóñê; 806918c: 4a79 ldr r2, [pc, #484] ; (8069374 ) 806918e: 21da movs r1, #218 ; 0xda 8069190: 20a0 movs r0, #160 ; 0xa0 8069192: f7eb f8cb bl 805432c LCD_DisplayString(10, LCD_LINE_13, "ÏÐÅÄ."); 8069196: 4a78 ldr r2, [pc, #480] ; (8069378 ) 8069198: 21da movs r1, #218 ; 0xda 806919a: 200a movs r0, #10 806919c: f7eb f8ae bl 80542fc LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80691a0: 4972 ldr r1, [pc, #456] ; (806936c ) 80691a2: f04f 30ff mov.w r0, #4294967295 80691a6: f7ea fb01 bl 80537ac BSP_LCD_FillRect(255, CHECKBOX_LINE_8, 10, 10); 80691aa: 230a movs r3, #10 80691ac: 220a movs r2, #10 80691ae: 218d movs r1, #141 ; 0x8d 80691b0: 20ff movs r0, #255 ; 0xff 80691b2: f7ea ff89 bl 80540c8 BSP_LCD_FillRect(255, CHECKBOX_LINE_10, 10, 10); 80691b6: 230a movs r3, #10 80691b8: 220a movs r2, #10 80691ba: 21ad movs r1, #173 ; 0xad 80691bc: 20ff movs r0, #255 ; 0xff 80691be: f7ea ff83 bl 80540c8 if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 80691c2: 4b68 ldr r3, [pc, #416] ; (8069364 ) 80691c4: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80691c8: f003 0304 and.w r3, r3, #4 80691cc: 2b00 cmp r3, #0 80691ce: d104 bne.n 80691da LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80691d0: 4966 ldr r1, [pc, #408] ; (806936c ) 80691d2: 486a ldr r0, [pc, #424] ; (806937c ) 80691d4: f7ea faea bl 80537ac 80691d8: e003 b.n 80691e2 else LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80691da: 4964 ldr r1, [pc, #400] ; (806936c ) 80691dc: 4868 ldr r0, [pc, #416] ; (8069380 ) 80691de: f7ea fae5 bl 80537ac LCD_DisplayStringC(260, LCD_LINE_11, strMax); 80691e2: f507 73c0 add.w r3, r7, #384 ; 0x180 80691e6: 461a mov r2, r3 80691e8: 21ba movs r1, #186 ; 0xba 80691ea: f44f 7082 mov.w r0, #260 ; 0x104 80691ee: f7eb f89d bl 805432c break; 80691f2: f000 becb b.w 8069f8c case RouteAutoKu: LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80691f6: 495d ldr r1, [pc, #372] ; (806936c ) 80691f8: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80691fc: f7ea fad6 bl 80537ac BSP_LCD_FillRect(253, CHECKBOX_LINE_10-2, 14, 14); 8069200: 230e movs r3, #14 8069202: 220e movs r2, #14 8069204: 21ab movs r1, #171 ; 0xab 8069206: 20fd movs r0, #253 ; 0xfd 8069208: f7ea ff5e bl 80540c8 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 806920c: 4957 ldr r1, [pc, #348] ; (806936c ) 806920e: f04f 30ff mov.w r0, #4294967295 8069212: f7ea facb bl 80537ac LCD_DisplayStringR(309, LCD_LINE_13, "ÑËÅÄ."); 8069216: 4a56 ldr r2, [pc, #344] ; (8069370 ) 8069218: 21da movs r1, #218 ; 0xda 806921a: f240 1035 movw r0, #309 ; 0x135 806921e: f7eb f89d bl 805435c LCD_DisplayStringC(160, LCD_LINE_13, "ÇÀÏÓÑÊ"); //Çàïóñê; 8069222: 4a54 ldr r2, [pc, #336] ; (8069374 ) 8069224: 21da movs r1, #218 ; 0xda 8069226: 20a0 movs r0, #160 ; 0xa0 8069228: f7eb f880 bl 805432c LCD_DisplayString(10, LCD_LINE_13, "ÏÐÅÄ."); 806922c: 4a52 ldr r2, [pc, #328] ; (8069378 ) 806922e: 21da movs r1, #218 ; 0xda 8069230: 200a movs r0, #10 8069232: f7eb f863 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8069236: 494d ldr r1, [pc, #308] ; (806936c ) 8069238: 4850 ldr r0, [pc, #320] ; (806937c ) 806923a: f7ea fab7 bl 80537ac LCD_DisplayStringC(260, LCD_LINE_9, (char *) pTME[pardata.LANG][pardata.TME]); 806923e: 4b49 ldr r3, [pc, #292] ; (8069364 ) 8069240: 7b1b ldrb r3, [r3, #12] 8069242: b2db uxtb r3, r3 8069244: 461a mov r2, r3 8069246: 4b47 ldr r3, [pc, #284] ; (8069364 ) 8069248: 7b9b ldrb r3, [r3, #14] 806924a: b2db uxtb r3, r3 806924c: 4618 mov r0, r3 806924e: 4946 ldr r1, [pc, #280] ; (8069368 ) 8069250: 4613 mov r3, r2 8069252: 009b lsls r3, r3, #2 8069254: 4413 add r3, r2 8069256: 005b lsls r3, r3, #1 8069258: 4413 add r3, r2 806925a: 4403 add r3, r0 806925c: f851 3023 ldr.w r3, [r1, r3, lsl #2] 8069260: 461a mov r2, r3 8069262: 219a movs r1, #154 ; 0x9a 8069264: f44f 7082 mov.w r0, #260 ; 0x104 8069268: f7eb f860 bl 805432c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 806926c: 493f ldr r1, [pc, #252] ; (806936c ) 806926e: f04f 30ff mov.w r0, #4294967295 8069272: f7ea fa9b bl 80537ac BSP_LCD_FillRect(255, CHECKBOX_LINE_8, 10, 10); 8069276: 230a movs r3, #10 8069278: 220a movs r2, #10 806927a: 218d movs r1, #141 ; 0x8d 806927c: 20ff movs r0, #255 ; 0xff 806927e: f7ea ff23 bl 80540c8 BSP_LCD_FillRect(255, CHECKBOX_LINE_10, 10, 10); 8069282: 230a movs r3, #10 8069284: 220a movs r2, #10 8069286: 21ad movs r1, #173 ; 0xad 8069288: 20ff movs r0, #255 ; 0xff 806928a: f7ea ff1d bl 80540c8 if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 806928e: 4b35 ldr r3, [pc, #212] ; (8069364 ) 8069290: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8069294: f003 0304 and.w r3, r3, #4 8069298: 2b00 cmp r3, #0 806929a: d104 bne.n 80692a6 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 806929c: 4933 ldr r1, [pc, #204] ; (806936c ) 806929e: 4837 ldr r0, [pc, #220] ; (806937c ) 80692a0: f7ea fa84 bl 80537ac 80692a4: e003 b.n 80692ae else LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80692a6: 4931 ldr r1, [pc, #196] ; (806936c ) 80692a8: 4835 ldr r0, [pc, #212] ; (8069380 ) 80692aa: f7ea fa7f bl 80537ac LCD_DisplayStringC(260, LCD_LINE_11, strMax); 80692ae: f507 73c0 add.w r3, r7, #384 ; 0x180 80692b2: 461a mov r2, r3 80692b4: 21ba movs r1, #186 ; 0xba 80692b6: f44f 7082 mov.w r0, #260 ; 0x104 80692ba: f7eb f837 bl 805432c break; 80692be: f000 be65 b.w 8069f8c case RouteMax_ALL: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80692c2: 492a ldr r1, [pc, #168] ; (806936c ) 80692c4: f04f 30ff mov.w r0, #4294967295 80692c8: f7ea fa70 bl 80537ac LCD_DisplayStringR(309, LCD_LINE_13, "ÑËÅÄ."); 80692cc: 4a28 ldr r2, [pc, #160] ; (8069370 ) 80692ce: 21da movs r1, #218 ; 0xda 80692d0: f240 1035 movw r0, #309 ; 0x135 80692d4: f7eb f842 bl 805435c LCD_DisplayStringC(160, LCD_LINE_13, "ÇÀÏÓÑÊ"); //Çàïóñê; 80692d8: 4a26 ldr r2, [pc, #152] ; (8069374 ) 80692da: 21da movs r1, #218 ; 0xda 80692dc: 20a0 movs r0, #160 ; 0xa0 80692de: f7eb f825 bl 805432c LCD_DisplayString(10, LCD_LINE_13, "ÏÐÅÄ."); 80692e2: 4a25 ldr r2, [pc, #148] ; (8069378 ) 80692e4: 21da movs r1, #218 ; 0xda 80692e6: 200a movs r0, #10 80692e8: f7eb f808 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80692ec: 491f ldr r1, [pc, #124] ; (806936c ) 80692ee: 4823 ldr r0, [pc, #140] ; (806937c ) 80692f0: f7ea fa5c bl 80537ac LCD_DisplayStringC(260, LCD_LINE_9, (char *) pTME[pardata.LANG][pardata.TME]); 80692f4: 4b1b ldr r3, [pc, #108] ; (8069364 ) 80692f6: 7b1b ldrb r3, [r3, #12] 80692f8: b2db uxtb r3, r3 80692fa: 461a mov r2, r3 80692fc: 4b19 ldr r3, [pc, #100] ; (8069364 ) 80692fe: 7b9b ldrb r3, [r3, #14] 8069300: b2db uxtb r3, r3 8069302: 4618 mov r0, r3 8069304: 4918 ldr r1, [pc, #96] ; (8069368 ) 8069306: 4613 mov r3, r2 8069308: 009b lsls r3, r3, #2 806930a: 4413 add r3, r2 806930c: 005b lsls r3, r3, #1 806930e: 4413 add r3, r2 8069310: 4403 add r3, r0 8069312: f851 3023 ldr.w r3, [r1, r3, lsl #2] 8069316: 461a mov r2, r3 8069318: 219a movs r1, #154 ; 0x9a 806931a: f44f 7082 mov.w r0, #260 ; 0x104 806931e: f7eb f805 bl 805432c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8069322: 4912 ldr r1, [pc, #72] ; (806936c ) 8069324: f04f 30ff mov.w r0, #4294967295 8069328: f7ea fa40 bl 80537ac BSP_LCD_FillRect(255, CHECKBOX_LINE_8, 10, 10); 806932c: 230a movs r3, #10 806932e: 220a movs r2, #10 8069330: 218d movs r1, #141 ; 0x8d 8069332: 20ff movs r0, #255 ; 0xff 8069334: f7ea fec8 bl 80540c8 BSP_LCD_FillRect(255, CHECKBOX_LINE_10, 10, 10); 8069338: 230a movs r3, #10 806933a: 220a movs r2, #10 806933c: 21ad movs r1, #173 ; 0xad 806933e: 20ff movs r0, #255 ; 0xff 8069340: f7ea fec2 bl 80540c8 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8069344: 4909 ldr r1, [pc, #36] ; (806936c ) 8069346: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 806934a: f7ea fa2f bl 80537ac LCD_DisplayStringC(260, LCD_LINE_11, strMax); 806934e: f507 73c0 add.w r3, r7, #384 ; 0x180 8069352: 461a mov r2, r3 8069354: 21ba movs r1, #186 ; 0xba 8069356: f44f 7082 mov.w r0, #260 ; 0x104 806935a: f7ea ffe7 bl 805432c break; 806935e: f000 be15 b.w 8069f8c 8069362: bf00 nop 8069364: 20023e60 .word 0x20023e60 8069368: 20020334 .word 0x20020334 806936c: ff0a0f1f .word 0xff0a0f1f 8069370: 080cf830 .word 0x080cf830 8069374: 080cf820 .word 0x080cf820 8069378: 080cf828 .word 0x080cf828 806937c: ffd8aa57 .word 0xffd8aa57 8069380: ff808080 .word 0xff808080 case RouteMax_IDT: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8069384: 499f ldr r1, [pc, #636] ; (8069604 ) 8069386: f04f 30ff mov.w r0, #4294967295 806938a: f7ea fa0f bl 80537ac LCD_DisplayStringR(309, LCD_LINE_13, "ÑËÅÄ."); 806938e: 4a9e ldr r2, [pc, #632] ; (8069608 ) 8069390: 21da movs r1, #218 ; 0xda 8069392: f240 1035 movw r0, #309 ; 0x135 8069396: f7ea ffe1 bl 805435c LCD_DisplayStringC(160, LCD_LINE_13, "ÇÀÏÓÑÊ"); //Çàïóñê; 806939a: 4a9c ldr r2, [pc, #624] ; (806960c ) 806939c: 21da movs r1, #218 ; 0xda 806939e: 20a0 movs r0, #160 ; 0xa0 80693a0: f7ea ffc4 bl 805432c LCD_DisplayString(10, LCD_LINE_13, "ÏÐÅÄ."); 80693a4: 4a9a ldr r2, [pc, #616] ; (8069610 ) 80693a6: 21da movs r1, #218 ; 0xda 80693a8: 200a movs r0, #10 80693aa: f7ea ffa7 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80693ae: 4995 ldr r1, [pc, #596] ; (8069604 ) 80693b0: 4898 ldr r0, [pc, #608] ; (8069614 ) 80693b2: f7ea f9fb bl 80537ac LCD_DisplayStringC(260, LCD_LINE_9, (char *) pTME[pardata.LANG][pardata.TME]); 80693b6: 4b98 ldr r3, [pc, #608] ; (8069618 ) 80693b8: 7b1b ldrb r3, [r3, #12] 80693ba: b2db uxtb r3, r3 80693bc: 461a mov r2, r3 80693be: 4b96 ldr r3, [pc, #600] ; (8069618 ) 80693c0: 7b9b ldrb r3, [r3, #14] 80693c2: b2db uxtb r3, r3 80693c4: 4618 mov r0, r3 80693c6: 4995 ldr r1, [pc, #596] ; (806961c ) 80693c8: 4613 mov r3, r2 80693ca: 009b lsls r3, r3, #2 80693cc: 4413 add r3, r2 80693ce: 005b lsls r3, r3, #1 80693d0: 4413 add r3, r2 80693d2: 4403 add r3, r0 80693d4: f851 3023 ldr.w r3, [r1, r3, lsl #2] 80693d8: 461a mov r2, r3 80693da: 219a movs r1, #154 ; 0x9a 80693dc: f44f 7082 mov.w r0, #260 ; 0x104 80693e0: f7ea ffa4 bl 805432c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80693e4: 4987 ldr r1, [pc, #540] ; (8069604 ) 80693e6: f04f 30ff mov.w r0, #4294967295 80693ea: f7ea f9df bl 80537ac BSP_LCD_FillRect(255, CHECKBOX_LINE_8, 10, 10); 80693ee: 230a movs r3, #10 80693f0: 220a movs r2, #10 80693f2: 218d movs r1, #141 ; 0x8d 80693f4: 20ff movs r0, #255 ; 0xff 80693f6: f7ea fe67 bl 80540c8 BSP_LCD_FillRect(255, CHECKBOX_LINE_10, 10, 10); 80693fa: 230a movs r3, #10 80693fc: 220a movs r2, #10 80693fe: 21ad movs r1, #173 ; 0xad 8069400: 20ff movs r0, #255 ; 0xff 8069402: f7ea fe61 bl 80540c8 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8069406: 497f ldr r1, [pc, #508] ; (8069604 ) 8069408: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 806940c: f7ea f9ce bl 80537ac if(blk) 8069410: 4b83 ldr r3, [pc, #524] ; (8069620 ) 8069412: 681b ldr r3, [r3, #0] 8069414: 2b00 cmp r3, #0 8069416: d00b beq.n 8069430 LCD_DisplayString(198, LCD_LINE_11, (char *) pNUMS[idt2]); 8069418: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 806941c: b2db uxtb r3, r3 806941e: 461a mov r2, r3 8069420: 4b80 ldr r3, [pc, #512] ; (8069624 ) 8069422: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8069426: 461a mov r2, r3 8069428: 21ba movs r1, #186 ; 0xba 806942a: 20c6 movs r0, #198 ; 0xc6 806942c: f7ea ff66 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8069430: 4974 ldr r1, [pc, #464] ; (8069604 ) 8069432: 4878 ldr r0, [pc, #480] ; (8069614 ) 8069434: f7ea f9ba bl 80537ac LCD_DisplayString(214, LCD_LINE_11, (char *) pNUMS[iet2]); 8069438: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 806943c: b2db uxtb r3, r3 806943e: 461a mov r2, r3 8069440: 4b78 ldr r3, [pc, #480] ; (8069624 ) 8069442: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8069446: 461a mov r2, r3 8069448: 21ba movs r1, #186 ; 0xba 806944a: 20d6 movs r0, #214 ; 0xd6 806944c: f7ea ff56 bl 80542fc LCD_DisplayString(230, LCD_LINE_11, (char *) pNUMS[ies2]); 8069450: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 8069454: b2db uxtb r3, r3 8069456: 461a mov r2, r3 8069458: 4b72 ldr r3, [pc, #456] ; (8069624 ) 806945a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 806945e: 461a mov r2, r3 8069460: 21ba movs r1, #186 ; 0xba 8069462: 20e6 movs r0, #230 ; 0xe6 8069464: f7ea ff4a bl 80542fc LCD_DisplayString(246, LCD_LINE_11, (char *) pNUMS[ied2]); 8069468: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 806946c: b2db uxtb r3, r3 806946e: 461a mov r2, r3 8069470: 4b6c ldr r3, [pc, #432] ; (8069624 ) 8069472: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8069476: 461a mov r2, r3 8069478: 21ba movs r1, #186 ; 0xba 806947a: 20f6 movs r0, #246 ; 0xf6 806947c: f7ea ff3e bl 80542fc LCD_DisplayString(262, LCD_LINE_11, (char *) pNUMS[iee2]); 8069480: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 8069484: b2db uxtb r3, r3 8069486: 461a mov r2, r3 8069488: 4b66 ldr r3, [pc, #408] ; (8069624 ) 806948a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 806948e: 461a mov r2, r3 8069490: 21ba movs r1, #186 ; 0xba 8069492: f44f 7083 mov.w r0, #262 ; 0x106 8069496: f7ea ff31 bl 80542fc LCD_DisplayString(278, LCD_LINE_11, "."); 806949a: 4a63 ldr r2, [pc, #396] ; (8069628 ) 806949c: 21ba movs r1, #186 ; 0xba 806949e: f44f 708b mov.w r0, #278 ; 0x116 80694a2: f7ea ff2b bl 80542fc LCD_DisplayString(294, LCD_LINE_11, (char *) pNUMS[ikd2]); 80694a6: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 80694aa: b2db uxtb r3, r3 80694ac: 461a mov r2, r3 80694ae: 4b5d ldr r3, [pc, #372] ; (8069624 ) 80694b0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80694b4: 461a mov r2, r3 80694b6: 21ba movs r1, #186 ; 0xba 80694b8: f44f 7093 mov.w r0, #294 ; 0x126 80694bc: f7ea ff1e bl 80542fc break; 80694c0: f000 bd64 b.w 8069f8c case RouteMax_IET: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80694c4: 494f ldr r1, [pc, #316] ; (8069604 ) 80694c6: f04f 30ff mov.w r0, #4294967295 80694ca: f7ea f96f bl 80537ac LCD_DisplayStringR(309, LCD_LINE_13, "ÑËÅÄ."); 80694ce: 4a4e ldr r2, [pc, #312] ; (8069608 ) 80694d0: 21da movs r1, #218 ; 0xda 80694d2: f240 1035 movw r0, #309 ; 0x135 80694d6: f7ea ff41 bl 805435c LCD_DisplayStringC(160, LCD_LINE_13, "ÇÀÏÓÑÊ"); //Çàïóñê; 80694da: 4a4c ldr r2, [pc, #304] ; (806960c ) 80694dc: 21da movs r1, #218 ; 0xda 80694de: 20a0 movs r0, #160 ; 0xa0 80694e0: f7ea ff24 bl 805432c LCD_DisplayString(10, LCD_LINE_13, "ÏÐÅÄ."); 80694e4: 4a4a ldr r2, [pc, #296] ; (8069610 ) 80694e6: 21da movs r1, #218 ; 0xda 80694e8: 200a movs r0, #10 80694ea: f7ea ff07 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80694ee: 4945 ldr r1, [pc, #276] ; (8069604 ) 80694f0: 4848 ldr r0, [pc, #288] ; (8069614 ) 80694f2: f7ea f95b bl 80537ac LCD_DisplayStringC(260, LCD_LINE_9, (char *) pTME[pardata.LANG][pardata.TME]); 80694f6: 4b48 ldr r3, [pc, #288] ; (8069618 ) 80694f8: 7b1b ldrb r3, [r3, #12] 80694fa: b2db uxtb r3, r3 80694fc: 461a mov r2, r3 80694fe: 4b46 ldr r3, [pc, #280] ; (8069618 ) 8069500: 7b9b ldrb r3, [r3, #14] 8069502: b2db uxtb r3, r3 8069504: 4618 mov r0, r3 8069506: 4945 ldr r1, [pc, #276] ; (806961c ) 8069508: 4613 mov r3, r2 806950a: 009b lsls r3, r3, #2 806950c: 4413 add r3, r2 806950e: 005b lsls r3, r3, #1 8069510: 4413 add r3, r2 8069512: 4403 add r3, r0 8069514: f851 3023 ldr.w r3, [r1, r3, lsl #2] 8069518: 461a mov r2, r3 806951a: 219a movs r1, #154 ; 0x9a 806951c: f44f 7082 mov.w r0, #260 ; 0x104 8069520: f7ea ff04 bl 805432c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8069524: 4937 ldr r1, [pc, #220] ; (8069604 ) 8069526: f04f 30ff mov.w r0, #4294967295 806952a: f7ea f93f bl 80537ac BSP_LCD_FillRect(255, CHECKBOX_LINE_8, 10, 10); 806952e: 230a movs r3, #10 8069530: 220a movs r2, #10 8069532: 218d movs r1, #141 ; 0x8d 8069534: 20ff movs r0, #255 ; 0xff 8069536: f7ea fdc7 bl 80540c8 BSP_LCD_FillRect(255, CHECKBOX_LINE_10, 10, 10); 806953a: 230a movs r3, #10 806953c: 220a movs r2, #10 806953e: 21ad movs r1, #173 ; 0xad 8069540: 20ff movs r0, #255 ; 0xff 8069542: f7ea fdc1 bl 80540c8 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8069546: 492f ldr r1, [pc, #188] ; (8069604 ) 8069548: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 806954c: f7ea f92e bl 80537ac if(blk) 8069550: 4b33 ldr r3, [pc, #204] ; (8069620 ) 8069552: 681b ldr r3, [r3, #0] 8069554: 2b00 cmp r3, #0 8069556: d00b beq.n 8069570 LCD_DisplayString(214, LCD_LINE_11, (char *) pNUMS[iet2]); 8069558: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 806955c: b2db uxtb r3, r3 806955e: 461a mov r2, r3 8069560: 4b30 ldr r3, [pc, #192] ; (8069624 ) 8069562: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8069566: 461a mov r2, r3 8069568: 21ba movs r1, #186 ; 0xba 806956a: 20d6 movs r0, #214 ; 0xd6 806956c: f7ea fec6 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8069570: 4924 ldr r1, [pc, #144] ; (8069604 ) 8069572: 4828 ldr r0, [pc, #160] ; (8069614 ) 8069574: f7ea f91a bl 80537ac LCD_DisplayString(198, LCD_LINE_11, (char *) pNUMS[idt2]); 8069578: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 806957c: b2db uxtb r3, r3 806957e: 461a mov r2, r3 8069580: 4b28 ldr r3, [pc, #160] ; (8069624 ) 8069582: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8069586: 461a mov r2, r3 8069588: 21ba movs r1, #186 ; 0xba 806958a: 20c6 movs r0, #198 ; 0xc6 806958c: f7ea feb6 bl 80542fc LCD_DisplayString(230, LCD_LINE_11, (char *) pNUMS[ies2]); 8069590: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 8069594: b2db uxtb r3, r3 8069596: 461a mov r2, r3 8069598: 4b22 ldr r3, [pc, #136] ; (8069624 ) 806959a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 806959e: 461a mov r2, r3 80695a0: 21ba movs r1, #186 ; 0xba 80695a2: 20e6 movs r0, #230 ; 0xe6 80695a4: f7ea feaa bl 80542fc LCD_DisplayString(246, LCD_LINE_11, (char *) pNUMS[ied2]); 80695a8: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 80695ac: b2db uxtb r3, r3 80695ae: 461a mov r2, r3 80695b0: 4b1c ldr r3, [pc, #112] ; (8069624 ) 80695b2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80695b6: 461a mov r2, r3 80695b8: 21ba movs r1, #186 ; 0xba 80695ba: 20f6 movs r0, #246 ; 0xf6 80695bc: f7ea fe9e bl 80542fc LCD_DisplayString(262, LCD_LINE_11, (char *) pNUMS[iee2]); 80695c0: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 80695c4: b2db uxtb r3, r3 80695c6: 461a mov r2, r3 80695c8: 4b16 ldr r3, [pc, #88] ; (8069624 ) 80695ca: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80695ce: 461a mov r2, r3 80695d0: 21ba movs r1, #186 ; 0xba 80695d2: f44f 7083 mov.w r0, #262 ; 0x106 80695d6: f7ea fe91 bl 80542fc LCD_DisplayString(278, LCD_LINE_11, "."); 80695da: 4a13 ldr r2, [pc, #76] ; (8069628 ) 80695dc: 21ba movs r1, #186 ; 0xba 80695de: f44f 708b mov.w r0, #278 ; 0x116 80695e2: f7ea fe8b bl 80542fc LCD_DisplayString(294, LCD_LINE_11, (char *) pNUMS[ikd2]); 80695e6: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 80695ea: b2db uxtb r3, r3 80695ec: 461a mov r2, r3 80695ee: 4b0d ldr r3, [pc, #52] ; (8069624 ) 80695f0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80695f4: 461a mov r2, r3 80695f6: 21ba movs r1, #186 ; 0xba 80695f8: f44f 7093 mov.w r0, #294 ; 0x126 80695fc: f7ea fe7e bl 80542fc break; 8069600: f000 bcc4 b.w 8069f8c 8069604: ff0a0f1f .word 0xff0a0f1f 8069608: 080cf830 .word 0x080cf830 806960c: 080cf820 .word 0x080cf820 8069610: 080cf828 .word 0x080cf828 8069614: ffd8aa57 .word 0xffd8aa57 8069618: 20023e60 .word 0x20023e60 806961c: 20020334 .word 0x20020334 8069620: 2002165c .word 0x2002165c 8069624: 20020964 .word 0x20020964 8069628: 080cf7e8 .word 0x080cf7e8 case RouteMax_IES: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 806962c: 499f ldr r1, [pc, #636] ; (80698ac ) 806962e: f04f 30ff mov.w r0, #4294967295 8069632: f7ea f8bb bl 80537ac LCD_DisplayStringR(309, LCD_LINE_13, "ÑËÅÄ."); 8069636: 4a9e ldr r2, [pc, #632] ; (80698b0 ) 8069638: 21da movs r1, #218 ; 0xda 806963a: f240 1035 movw r0, #309 ; 0x135 806963e: f7ea fe8d bl 805435c LCD_DisplayStringC(160, LCD_LINE_13, "ÇÀÏÓÑÊ"); //Çàïóñê; 8069642: 4a9c ldr r2, [pc, #624] ; (80698b4 ) 8069644: 21da movs r1, #218 ; 0xda 8069646: 20a0 movs r0, #160 ; 0xa0 8069648: f7ea fe70 bl 805432c LCD_DisplayString(10, LCD_LINE_13, "ÏÐÅÄ."); 806964c: 4a9a ldr r2, [pc, #616] ; (80698b8 ) 806964e: 21da movs r1, #218 ; 0xda 8069650: 200a movs r0, #10 8069652: f7ea fe53 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8069656: 4995 ldr r1, [pc, #596] ; (80698ac ) 8069658: 4898 ldr r0, [pc, #608] ; (80698bc ) 806965a: f7ea f8a7 bl 80537ac LCD_DisplayStringC(260, LCD_LINE_9, (char *) pTME[pardata.LANG][pardata.TME]); 806965e: 4b98 ldr r3, [pc, #608] ; (80698c0 ) 8069660: 7b1b ldrb r3, [r3, #12] 8069662: b2db uxtb r3, r3 8069664: 461a mov r2, r3 8069666: 4b96 ldr r3, [pc, #600] ; (80698c0 ) 8069668: 7b9b ldrb r3, [r3, #14] 806966a: b2db uxtb r3, r3 806966c: 4618 mov r0, r3 806966e: 4995 ldr r1, [pc, #596] ; (80698c4 ) 8069670: 4613 mov r3, r2 8069672: 009b lsls r3, r3, #2 8069674: 4413 add r3, r2 8069676: 005b lsls r3, r3, #1 8069678: 4413 add r3, r2 806967a: 4403 add r3, r0 806967c: f851 3023 ldr.w r3, [r1, r3, lsl #2] 8069680: 461a mov r2, r3 8069682: 219a movs r1, #154 ; 0x9a 8069684: f44f 7082 mov.w r0, #260 ; 0x104 8069688: f7ea fe50 bl 805432c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 806968c: 4987 ldr r1, [pc, #540] ; (80698ac ) 806968e: f04f 30ff mov.w r0, #4294967295 8069692: f7ea f88b bl 80537ac BSP_LCD_FillRect(255, CHECKBOX_LINE_8, 10, 10); 8069696: 230a movs r3, #10 8069698: 220a movs r2, #10 806969a: 218d movs r1, #141 ; 0x8d 806969c: 20ff movs r0, #255 ; 0xff 806969e: f7ea fd13 bl 80540c8 BSP_LCD_FillRect(255, CHECKBOX_LINE_10, 10, 10); 80696a2: 230a movs r3, #10 80696a4: 220a movs r2, #10 80696a6: 21ad movs r1, #173 ; 0xad 80696a8: 20ff movs r0, #255 ; 0xff 80696aa: f7ea fd0d bl 80540c8 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80696ae: 497f ldr r1, [pc, #508] ; (80698ac ) 80696b0: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80696b4: f7ea f87a bl 80537ac if(blk) 80696b8: 4b83 ldr r3, [pc, #524] ; (80698c8 ) 80696ba: 681b ldr r3, [r3, #0] 80696bc: 2b00 cmp r3, #0 80696be: d00b beq.n 80696d8 LCD_DisplayString(230, LCD_LINE_11, (char *) pNUMS[ies2]); 80696c0: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 80696c4: b2db uxtb r3, r3 80696c6: 461a mov r2, r3 80696c8: 4b80 ldr r3, [pc, #512] ; (80698cc ) 80696ca: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80696ce: 461a mov r2, r3 80696d0: 21ba movs r1, #186 ; 0xba 80696d2: 20e6 movs r0, #230 ; 0xe6 80696d4: f7ea fe12 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80696d8: 4974 ldr r1, [pc, #464] ; (80698ac ) 80696da: 4878 ldr r0, [pc, #480] ; (80698bc ) 80696dc: f7ea f866 bl 80537ac LCD_DisplayString(198, LCD_LINE_11, (char *) pNUMS[idt2]); 80696e0: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 80696e4: b2db uxtb r3, r3 80696e6: 461a mov r2, r3 80696e8: 4b78 ldr r3, [pc, #480] ; (80698cc ) 80696ea: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80696ee: 461a mov r2, r3 80696f0: 21ba movs r1, #186 ; 0xba 80696f2: 20c6 movs r0, #198 ; 0xc6 80696f4: f7ea fe02 bl 80542fc LCD_DisplayString(214, LCD_LINE_11, (char *) pNUMS[iet2]); 80696f8: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 80696fc: b2db uxtb r3, r3 80696fe: 461a mov r2, r3 8069700: 4b72 ldr r3, [pc, #456] ; (80698cc ) 8069702: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8069706: 461a mov r2, r3 8069708: 21ba movs r1, #186 ; 0xba 806970a: 20d6 movs r0, #214 ; 0xd6 806970c: f7ea fdf6 bl 80542fc LCD_DisplayString(246, LCD_LINE_11, (char *) pNUMS[ied2]); 8069710: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 8069714: b2db uxtb r3, r3 8069716: 461a mov r2, r3 8069718: 4b6c ldr r3, [pc, #432] ; (80698cc ) 806971a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 806971e: 461a mov r2, r3 8069720: 21ba movs r1, #186 ; 0xba 8069722: 20f6 movs r0, #246 ; 0xf6 8069724: f7ea fdea bl 80542fc LCD_DisplayString(262, LCD_LINE_11, (char *) pNUMS[iee2]); 8069728: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 806972c: b2db uxtb r3, r3 806972e: 461a mov r2, r3 8069730: 4b66 ldr r3, [pc, #408] ; (80698cc ) 8069732: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8069736: 461a mov r2, r3 8069738: 21ba movs r1, #186 ; 0xba 806973a: f44f 7083 mov.w r0, #262 ; 0x106 806973e: f7ea fddd bl 80542fc LCD_DisplayString(278, LCD_LINE_11, "."); 8069742: 4a63 ldr r2, [pc, #396] ; (80698d0 ) 8069744: 21ba movs r1, #186 ; 0xba 8069746: f44f 708b mov.w r0, #278 ; 0x116 806974a: f7ea fdd7 bl 80542fc LCD_DisplayString(294, LCD_LINE_11, (char *) pNUMS[ikd2]); 806974e: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 8069752: b2db uxtb r3, r3 8069754: 461a mov r2, r3 8069756: 4b5d ldr r3, [pc, #372] ; (80698cc ) 8069758: f853 3022 ldr.w r3, [r3, r2, lsl #2] 806975c: 461a mov r2, r3 806975e: 21ba movs r1, #186 ; 0xba 8069760: f44f 7093 mov.w r0, #294 ; 0x126 8069764: f7ea fdca bl 80542fc break; 8069768: f000 bc10 b.w 8069f8c case RouteMax_IED: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 806976c: 494f ldr r1, [pc, #316] ; (80698ac ) 806976e: f04f 30ff mov.w r0, #4294967295 8069772: f7ea f81b bl 80537ac LCD_DisplayStringR(309, LCD_LINE_13, "ÑËÅÄ."); 8069776: 4a4e ldr r2, [pc, #312] ; (80698b0 ) 8069778: 21da movs r1, #218 ; 0xda 806977a: f240 1035 movw r0, #309 ; 0x135 806977e: f7ea fded bl 805435c LCD_DisplayStringC(160, LCD_LINE_13, "ÇÀÏÓÑÊ"); //Çàïóñê; 8069782: 4a4c ldr r2, [pc, #304] ; (80698b4 ) 8069784: 21da movs r1, #218 ; 0xda 8069786: 20a0 movs r0, #160 ; 0xa0 8069788: f7ea fdd0 bl 805432c LCD_DisplayString(10, LCD_LINE_13, "ÏÐÅÄ."); 806978c: 4a4a ldr r2, [pc, #296] ; (80698b8 ) 806978e: 21da movs r1, #218 ; 0xda 8069790: 200a movs r0, #10 8069792: f7ea fdb3 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8069796: 4945 ldr r1, [pc, #276] ; (80698ac ) 8069798: 4848 ldr r0, [pc, #288] ; (80698bc ) 806979a: f7ea f807 bl 80537ac LCD_DisplayStringC(260, LCD_LINE_9, (char *) pTME[pardata.LANG][pardata.TME]); 806979e: 4b48 ldr r3, [pc, #288] ; (80698c0 ) 80697a0: 7b1b ldrb r3, [r3, #12] 80697a2: b2db uxtb r3, r3 80697a4: 461a mov r2, r3 80697a6: 4b46 ldr r3, [pc, #280] ; (80698c0 ) 80697a8: 7b9b ldrb r3, [r3, #14] 80697aa: b2db uxtb r3, r3 80697ac: 4618 mov r0, r3 80697ae: 4945 ldr r1, [pc, #276] ; (80698c4 ) 80697b0: 4613 mov r3, r2 80697b2: 009b lsls r3, r3, #2 80697b4: 4413 add r3, r2 80697b6: 005b lsls r3, r3, #1 80697b8: 4413 add r3, r2 80697ba: 4403 add r3, r0 80697bc: f851 3023 ldr.w r3, [r1, r3, lsl #2] 80697c0: 461a mov r2, r3 80697c2: 219a movs r1, #154 ; 0x9a 80697c4: f44f 7082 mov.w r0, #260 ; 0x104 80697c8: f7ea fdb0 bl 805432c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80697cc: 4937 ldr r1, [pc, #220] ; (80698ac ) 80697ce: f04f 30ff mov.w r0, #4294967295 80697d2: f7e9 ffeb bl 80537ac BSP_LCD_FillRect(255, CHECKBOX_LINE_8, 10, 10); 80697d6: 230a movs r3, #10 80697d8: 220a movs r2, #10 80697da: 218d movs r1, #141 ; 0x8d 80697dc: 20ff movs r0, #255 ; 0xff 80697de: f7ea fc73 bl 80540c8 BSP_LCD_FillRect(255, CHECKBOX_LINE_10, 10, 10); 80697e2: 230a movs r3, #10 80697e4: 220a movs r2, #10 80697e6: 21ad movs r1, #173 ; 0xad 80697e8: 20ff movs r0, #255 ; 0xff 80697ea: f7ea fc6d bl 80540c8 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80697ee: 492f ldr r1, [pc, #188] ; (80698ac ) 80697f0: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80697f4: f7e9 ffda bl 80537ac if(blk) 80697f8: 4b33 ldr r3, [pc, #204] ; (80698c8 ) 80697fa: 681b ldr r3, [r3, #0] 80697fc: 2b00 cmp r3, #0 80697fe: d00b beq.n 8069818 LCD_DisplayString(246, LCD_LINE_11, (char *) pNUMS[ied2]); 8069800: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 8069804: b2db uxtb r3, r3 8069806: 461a mov r2, r3 8069808: 4b30 ldr r3, [pc, #192] ; (80698cc ) 806980a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 806980e: 461a mov r2, r3 8069810: 21ba movs r1, #186 ; 0xba 8069812: 20f6 movs r0, #246 ; 0xf6 8069814: f7ea fd72 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8069818: 4924 ldr r1, [pc, #144] ; (80698ac ) 806981a: 4828 ldr r0, [pc, #160] ; (80698bc ) 806981c: f7e9 ffc6 bl 80537ac LCD_DisplayString(198, LCD_LINE_11, (char *) pNUMS[idt2]); 8069820: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 8069824: b2db uxtb r3, r3 8069826: 461a mov r2, r3 8069828: 4b28 ldr r3, [pc, #160] ; (80698cc ) 806982a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 806982e: 461a mov r2, r3 8069830: 21ba movs r1, #186 ; 0xba 8069832: 20c6 movs r0, #198 ; 0xc6 8069834: f7ea fd62 bl 80542fc LCD_DisplayString(214, LCD_LINE_11, (char *) pNUMS[iet2]); 8069838: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 806983c: b2db uxtb r3, r3 806983e: 461a mov r2, r3 8069840: 4b22 ldr r3, [pc, #136] ; (80698cc ) 8069842: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8069846: 461a mov r2, r3 8069848: 21ba movs r1, #186 ; 0xba 806984a: 20d6 movs r0, #214 ; 0xd6 806984c: f7ea fd56 bl 80542fc LCD_DisplayString(230, LCD_LINE_11, (char *) pNUMS[ies2]); 8069850: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 8069854: b2db uxtb r3, r3 8069856: 461a mov r2, r3 8069858: 4b1c ldr r3, [pc, #112] ; (80698cc ) 806985a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 806985e: 461a mov r2, r3 8069860: 21ba movs r1, #186 ; 0xba 8069862: 20e6 movs r0, #230 ; 0xe6 8069864: f7ea fd4a bl 80542fc LCD_DisplayString(262, LCD_LINE_11, (char *) pNUMS[iee2]); 8069868: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 806986c: b2db uxtb r3, r3 806986e: 461a mov r2, r3 8069870: 4b16 ldr r3, [pc, #88] ; (80698cc ) 8069872: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8069876: 461a mov r2, r3 8069878: 21ba movs r1, #186 ; 0xba 806987a: f44f 7083 mov.w r0, #262 ; 0x106 806987e: f7ea fd3d bl 80542fc LCD_DisplayString(278, LCD_LINE_11, "."); 8069882: 4a13 ldr r2, [pc, #76] ; (80698d0 ) 8069884: 21ba movs r1, #186 ; 0xba 8069886: f44f 708b mov.w r0, #278 ; 0x116 806988a: f7ea fd37 bl 80542fc LCD_DisplayString(294, LCD_LINE_11, (char *) pNUMS[ikd2]); 806988e: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 8069892: b2db uxtb r3, r3 8069894: 461a mov r2, r3 8069896: 4b0d ldr r3, [pc, #52] ; (80698cc ) 8069898: f853 3022 ldr.w r3, [r3, r2, lsl #2] 806989c: 461a mov r2, r3 806989e: 21ba movs r1, #186 ; 0xba 80698a0: f44f 7093 mov.w r0, #294 ; 0x126 80698a4: f7ea fd2a bl 80542fc break; 80698a8: e370 b.n 8069f8c 80698aa: bf00 nop 80698ac: ff0a0f1f .word 0xff0a0f1f 80698b0: 080cf830 .word 0x080cf830 80698b4: 080cf820 .word 0x080cf820 80698b8: 080cf828 .word 0x080cf828 80698bc: ffd8aa57 .word 0xffd8aa57 80698c0: 20023e60 .word 0x20023e60 80698c4: 20020334 .word 0x20020334 80698c8: 2002165c .word 0x2002165c 80698cc: 20020964 .word 0x20020964 80698d0: 080cf7e8 .word 0x080cf7e8 case RouteMax_IEE: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80698d4: 49d0 ldr r1, [pc, #832] ; (8069c18 ) 80698d6: f04f 30ff mov.w r0, #4294967295 80698da: f7e9 ff67 bl 80537ac LCD_DisplayStringR(309, LCD_LINE_13, "ÑËÅÄ."); 80698de: 4acf ldr r2, [pc, #828] ; (8069c1c ) 80698e0: 21da movs r1, #218 ; 0xda 80698e2: f240 1035 movw r0, #309 ; 0x135 80698e6: f7ea fd39 bl 805435c LCD_DisplayStringC(160, LCD_LINE_13, "ÇÀÏÓÑÊ"); //Çàïóñê; 80698ea: 4acd ldr r2, [pc, #820] ; (8069c20 ) 80698ec: 21da movs r1, #218 ; 0xda 80698ee: 20a0 movs r0, #160 ; 0xa0 80698f0: f7ea fd1c bl 805432c LCD_DisplayString(10, LCD_LINE_13, "ÏÐÅÄ."); 80698f4: 4acb ldr r2, [pc, #812] ; (8069c24 ) 80698f6: 21da movs r1, #218 ; 0xda 80698f8: 200a movs r0, #10 80698fa: f7ea fcff bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80698fe: 49c6 ldr r1, [pc, #792] ; (8069c18 ) 8069900: 48c9 ldr r0, [pc, #804] ; (8069c28 ) 8069902: f7e9 ff53 bl 80537ac LCD_DisplayStringC(260, LCD_LINE_9, (char *) pTME[pardata.LANG][pardata.TME]); 8069906: 4bc9 ldr r3, [pc, #804] ; (8069c2c ) 8069908: 7b1b ldrb r3, [r3, #12] 806990a: b2db uxtb r3, r3 806990c: 461a mov r2, r3 806990e: 4bc7 ldr r3, [pc, #796] ; (8069c2c ) 8069910: 7b9b ldrb r3, [r3, #14] 8069912: b2db uxtb r3, r3 8069914: 4618 mov r0, r3 8069916: 49c6 ldr r1, [pc, #792] ; (8069c30 ) 8069918: 4613 mov r3, r2 806991a: 009b lsls r3, r3, #2 806991c: 4413 add r3, r2 806991e: 005b lsls r3, r3, #1 8069920: 4413 add r3, r2 8069922: 4403 add r3, r0 8069924: f851 3023 ldr.w r3, [r1, r3, lsl #2] 8069928: 461a mov r2, r3 806992a: 219a movs r1, #154 ; 0x9a 806992c: f44f 7082 mov.w r0, #260 ; 0x104 8069930: f7ea fcfc bl 805432c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8069934: 49b8 ldr r1, [pc, #736] ; (8069c18 ) 8069936: f04f 30ff mov.w r0, #4294967295 806993a: f7e9 ff37 bl 80537ac BSP_LCD_FillRect(255, CHECKBOX_LINE_8, 10, 10); 806993e: 230a movs r3, #10 8069940: 220a movs r2, #10 8069942: 218d movs r1, #141 ; 0x8d 8069944: 20ff movs r0, #255 ; 0xff 8069946: f7ea fbbf bl 80540c8 BSP_LCD_FillRect(255, CHECKBOX_LINE_10, 10, 10); 806994a: 230a movs r3, #10 806994c: 220a movs r2, #10 806994e: 21ad movs r1, #173 ; 0xad 8069950: 20ff movs r0, #255 ; 0xff 8069952: f7ea fbb9 bl 80540c8 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8069956: 49b0 ldr r1, [pc, #704] ; (8069c18 ) 8069958: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 806995c: f7e9 ff26 bl 80537ac if(blk) 8069960: 4bb4 ldr r3, [pc, #720] ; (8069c34 ) 8069962: 681b ldr r3, [r3, #0] 8069964: 2b00 cmp r3, #0 8069966: d00c beq.n 8069982 LCD_DisplayString(262, LCD_LINE_11, (char *) pNUMS[iee2]); 8069968: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 806996c: b2db uxtb r3, r3 806996e: 461a mov r2, r3 8069970: 4bb1 ldr r3, [pc, #708] ; (8069c38 ) 8069972: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8069976: 461a mov r2, r3 8069978: 21ba movs r1, #186 ; 0xba 806997a: f44f 7083 mov.w r0, #262 ; 0x106 806997e: f7ea fcbd bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8069982: 49a5 ldr r1, [pc, #660] ; (8069c18 ) 8069984: 48a8 ldr r0, [pc, #672] ; (8069c28 ) 8069986: f7e9 ff11 bl 80537ac LCD_DisplayString(198, LCD_LINE_11, (char *) pNUMS[idt2]); 806998a: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 806998e: b2db uxtb r3, r3 8069990: 461a mov r2, r3 8069992: 4ba9 ldr r3, [pc, #676] ; (8069c38 ) 8069994: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8069998: 461a mov r2, r3 806999a: 21ba movs r1, #186 ; 0xba 806999c: 20c6 movs r0, #198 ; 0xc6 806999e: f7ea fcad bl 80542fc LCD_DisplayString(214, LCD_LINE_11, (char *) pNUMS[iet2]); 80699a2: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 80699a6: b2db uxtb r3, r3 80699a8: 461a mov r2, r3 80699aa: 4ba3 ldr r3, [pc, #652] ; (8069c38 ) 80699ac: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80699b0: 461a mov r2, r3 80699b2: 21ba movs r1, #186 ; 0xba 80699b4: 20d6 movs r0, #214 ; 0xd6 80699b6: f7ea fca1 bl 80542fc LCD_DisplayString(230, LCD_LINE_11, (char *) pNUMS[ies2]); 80699ba: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 80699be: b2db uxtb r3, r3 80699c0: 461a mov r2, r3 80699c2: 4b9d ldr r3, [pc, #628] ; (8069c38 ) 80699c4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80699c8: 461a mov r2, r3 80699ca: 21ba movs r1, #186 ; 0xba 80699cc: 20e6 movs r0, #230 ; 0xe6 80699ce: f7ea fc95 bl 80542fc LCD_DisplayString(246, LCD_LINE_11, (char *) pNUMS[ied2]); 80699d2: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 80699d6: b2db uxtb r3, r3 80699d8: 461a mov r2, r3 80699da: 4b97 ldr r3, [pc, #604] ; (8069c38 ) 80699dc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80699e0: 461a mov r2, r3 80699e2: 21ba movs r1, #186 ; 0xba 80699e4: 20f6 movs r0, #246 ; 0xf6 80699e6: f7ea fc89 bl 80542fc LCD_DisplayString(278, LCD_LINE_11, "."); 80699ea: 4a94 ldr r2, [pc, #592] ; (8069c3c ) 80699ec: 21ba movs r1, #186 ; 0xba 80699ee: f44f 708b mov.w r0, #278 ; 0x116 80699f2: f7ea fc83 bl 80542fc LCD_DisplayString(294, LCD_LINE_11, (char *) pNUMS[ikd2]); 80699f6: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 80699fa: b2db uxtb r3, r3 80699fc: 461a mov r2, r3 80699fe: 4b8e ldr r3, [pc, #568] ; (8069c38 ) 8069a00: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8069a04: 461a mov r2, r3 8069a06: 21ba movs r1, #186 ; 0xba 8069a08: f44f 7093 mov.w r0, #294 ; 0x126 8069a0c: f7ea fc76 bl 80542fc break; 8069a10: e2bc b.n 8069f8c case RouteMax_IKD: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8069a12: 4981 ldr r1, [pc, #516] ; (8069c18 ) 8069a14: f04f 30ff mov.w r0, #4294967295 8069a18: f7e9 fec8 bl 80537ac LCD_DisplayStringR(309, LCD_LINE_13, "ÑËÅÄ."); 8069a1c: 4a7f ldr r2, [pc, #508] ; (8069c1c ) 8069a1e: 21da movs r1, #218 ; 0xda 8069a20: f240 1035 movw r0, #309 ; 0x135 8069a24: f7ea fc9a bl 805435c LCD_DisplayStringC(160, LCD_LINE_13, "ÇÀÏÓÑÊ"); //Çàïóñê; 8069a28: 4a7d ldr r2, [pc, #500] ; (8069c20 ) 8069a2a: 21da movs r1, #218 ; 0xda 8069a2c: 20a0 movs r0, #160 ; 0xa0 8069a2e: f7ea fc7d bl 805432c LCD_DisplayString(10, LCD_LINE_13, "ÏÐÅÄ."); 8069a32: 4a7c ldr r2, [pc, #496] ; (8069c24 ) 8069a34: 21da movs r1, #218 ; 0xda 8069a36: 200a movs r0, #10 8069a38: f7ea fc60 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8069a3c: 4976 ldr r1, [pc, #472] ; (8069c18 ) 8069a3e: 487a ldr r0, [pc, #488] ; (8069c28 ) 8069a40: f7e9 feb4 bl 80537ac LCD_DisplayStringC(260, LCD_LINE_9, (char *) pTME[pardata.LANG][pardata.TME]); 8069a44: 4b79 ldr r3, [pc, #484] ; (8069c2c ) 8069a46: 7b1b ldrb r3, [r3, #12] 8069a48: b2db uxtb r3, r3 8069a4a: 461a mov r2, r3 8069a4c: 4b77 ldr r3, [pc, #476] ; (8069c2c ) 8069a4e: 7b9b ldrb r3, [r3, #14] 8069a50: b2db uxtb r3, r3 8069a52: 4618 mov r0, r3 8069a54: 4976 ldr r1, [pc, #472] ; (8069c30 ) 8069a56: 4613 mov r3, r2 8069a58: 009b lsls r3, r3, #2 8069a5a: 4413 add r3, r2 8069a5c: 005b lsls r3, r3, #1 8069a5e: 4413 add r3, r2 8069a60: 4403 add r3, r0 8069a62: f851 3023 ldr.w r3, [r1, r3, lsl #2] 8069a66: 461a mov r2, r3 8069a68: 219a movs r1, #154 ; 0x9a 8069a6a: f44f 7082 mov.w r0, #260 ; 0x104 8069a6e: f7ea fc5d bl 805432c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8069a72: 4969 ldr r1, [pc, #420] ; (8069c18 ) 8069a74: f04f 30ff mov.w r0, #4294967295 8069a78: f7e9 fe98 bl 80537ac BSP_LCD_FillRect(255, CHECKBOX_LINE_8, 10, 10); 8069a7c: 230a movs r3, #10 8069a7e: 220a movs r2, #10 8069a80: 218d movs r1, #141 ; 0x8d 8069a82: 20ff movs r0, #255 ; 0xff 8069a84: f7ea fb20 bl 80540c8 BSP_LCD_FillRect(255, CHECKBOX_LINE_10, 10, 10); 8069a88: 230a movs r3, #10 8069a8a: 220a movs r2, #10 8069a8c: 21ad movs r1, #173 ; 0xad 8069a8e: 20ff movs r0, #255 ; 0xff 8069a90: f7ea fb1a bl 80540c8 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8069a94: 4960 ldr r1, [pc, #384] ; (8069c18 ) 8069a96: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8069a9a: f7e9 fe87 bl 80537ac if(blk) 8069a9e: 4b65 ldr r3, [pc, #404] ; (8069c34 ) 8069aa0: 681b ldr r3, [r3, #0] 8069aa2: 2b00 cmp r3, #0 8069aa4: d00c beq.n 8069ac0 LCD_DisplayString(294, LCD_LINE_11, (char *) pNUMS[ikd2]); 8069aa6: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 8069aaa: b2db uxtb r3, r3 8069aac: 461a mov r2, r3 8069aae: 4b62 ldr r3, [pc, #392] ; (8069c38 ) 8069ab0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8069ab4: 461a mov r2, r3 8069ab6: 21ba movs r1, #186 ; 0xba 8069ab8: f44f 7093 mov.w r0, #294 ; 0x126 8069abc: f7ea fc1e bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8069ac0: 4955 ldr r1, [pc, #340] ; (8069c18 ) 8069ac2: 4859 ldr r0, [pc, #356] ; (8069c28 ) 8069ac4: f7e9 fe72 bl 80537ac LCD_DisplayString(198, LCD_LINE_11, (char *) pNUMS[idt2]); 8069ac8: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 8069acc: b2db uxtb r3, r3 8069ace: 461a mov r2, r3 8069ad0: 4b59 ldr r3, [pc, #356] ; (8069c38 ) 8069ad2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8069ad6: 461a mov r2, r3 8069ad8: 21ba movs r1, #186 ; 0xba 8069ada: 20c6 movs r0, #198 ; 0xc6 8069adc: f7ea fc0e bl 80542fc LCD_DisplayString(214, LCD_LINE_11, (char *) pNUMS[iet2]); 8069ae0: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 8069ae4: b2db uxtb r3, r3 8069ae6: 461a mov r2, r3 8069ae8: 4b53 ldr r3, [pc, #332] ; (8069c38 ) 8069aea: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8069aee: 461a mov r2, r3 8069af0: 21ba movs r1, #186 ; 0xba 8069af2: 20d6 movs r0, #214 ; 0xd6 8069af4: f7ea fc02 bl 80542fc LCD_DisplayString(230, LCD_LINE_11, (char *) pNUMS[ies2]); 8069af8: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 8069afc: b2db uxtb r3, r3 8069afe: 461a mov r2, r3 8069b00: 4b4d ldr r3, [pc, #308] ; (8069c38 ) 8069b02: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8069b06: 461a mov r2, r3 8069b08: 21ba movs r1, #186 ; 0xba 8069b0a: 20e6 movs r0, #230 ; 0xe6 8069b0c: f7ea fbf6 bl 80542fc LCD_DisplayString(246, LCD_LINE_11, (char *) pNUMS[ied2]); 8069b10: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 8069b14: b2db uxtb r3, r3 8069b16: 461a mov r2, r3 8069b18: 4b47 ldr r3, [pc, #284] ; (8069c38 ) 8069b1a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8069b1e: 461a mov r2, r3 8069b20: 21ba movs r1, #186 ; 0xba 8069b22: 20f6 movs r0, #246 ; 0xf6 8069b24: f7ea fbea bl 80542fc LCD_DisplayString(262, LCD_LINE_11, (char *) pNUMS[iee2]); 8069b28: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 8069b2c: b2db uxtb r3, r3 8069b2e: 461a mov r2, r3 8069b30: 4b41 ldr r3, [pc, #260] ; (8069c38 ) 8069b32: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8069b36: 461a mov r2, r3 8069b38: 21ba movs r1, #186 ; 0xba 8069b3a: f44f 7083 mov.w r0, #262 ; 0x106 8069b3e: f7ea fbdd bl 80542fc LCD_DisplayString(278, LCD_LINE_11, "."); 8069b42: 4a3e ldr r2, [pc, #248] ; (8069c3c ) 8069b44: 21ba movs r1, #186 ; 0xba 8069b46: f44f 708b mov.w r0, #278 ; 0x116 8069b4a: f7ea fbd7 bl 80542fc break; 8069b4e: e21d b.n 8069f8c case RouteTacho: LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8069b50: 4931 ldr r1, [pc, #196] ; (8069c18 ) 8069b52: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8069b56: f7e9 fe29 bl 80537ac BSP_LCD_FillRect(253, CHECKBOX_LINE_8-2, 14, 14); 8069b5a: 230e movs r3, #14 8069b5c: 220e movs r2, #14 8069b5e: 218b movs r1, #139 ; 0x8b 8069b60: 20fd movs r0, #253 ; 0xfd 8069b62: f7ea fab1 bl 80540c8 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8069b66: 492c ldr r1, [pc, #176] ; (8069c18 ) 8069b68: f04f 30ff mov.w r0, #4294967295 8069b6c: f7e9 fe1e bl 80537ac BSP_LCD_FillRect(255, CHECKBOX_LINE_8, 10, 10); 8069b70: 230a movs r3, #10 8069b72: 220a movs r2, #10 8069b74: 218d movs r1, #141 ; 0x8d 8069b76: 20ff movs r0, #255 ; 0xff 8069b78: f7ea faa6 bl 80540c8 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8069b7c: 4926 ldr r1, [pc, #152] ; (8069c18 ) 8069b7e: f04f 30ff mov.w r0, #4294967295 8069b82: f7e9 fe13 bl 80537ac LCD_DisplayStringR(309, LCD_LINE_13, "ÑËÅÄ."); 8069b86: 4a25 ldr r2, [pc, #148] ; (8069c1c ) 8069b88: 21da movs r1, #218 ; 0xda 8069b8a: f240 1035 movw r0, #309 ; 0x135 8069b8e: f7ea fbe5 bl 805435c LCD_DisplayStringC(160, LCD_LINE_13, "ÇÀÏÓÑÊ"); //Çàïóñê; 8069b92: 4a23 ldr r2, [pc, #140] ; (8069c20 ) 8069b94: 21da movs r1, #218 ; 0xda 8069b96: 20a0 movs r0, #160 ; 0xa0 8069b98: f7ea fbc8 bl 805432c LCD_DisplayString(10, LCD_LINE_13, "ÏÐÅÄ."); 8069b9c: 4a21 ldr r2, [pc, #132] ; (8069c24 ) 8069b9e: 21da movs r1, #218 ; 0xda 8069ba0: 200a movs r0, #10 8069ba2: f7ea fbab bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8069ba6: 491c ldr r1, [pc, #112] ; (8069c18 ) 8069ba8: 481f ldr r0, [pc, #124] ; (8069c28 ) 8069baa: f7e9 fdff bl 80537ac LCD_DisplayStringC(260, LCD_LINE_9, (char *) pTME[pardata.LANG][pardata.TME]); 8069bae: 4b1f ldr r3, [pc, #124] ; (8069c2c ) 8069bb0: 7b1b ldrb r3, [r3, #12] 8069bb2: b2db uxtb r3, r3 8069bb4: 461a mov r2, r3 8069bb6: 4b1d ldr r3, [pc, #116] ; (8069c2c ) 8069bb8: 7b9b ldrb r3, [r3, #14] 8069bba: b2db uxtb r3, r3 8069bbc: 4618 mov r0, r3 8069bbe: 491c ldr r1, [pc, #112] ; (8069c30 ) 8069bc0: 4613 mov r3, r2 8069bc2: 009b lsls r3, r3, #2 8069bc4: 4413 add r3, r2 8069bc6: 005b lsls r3, r3, #1 8069bc8: 4413 add r3, r2 8069bca: 4403 add r3, r0 8069bcc: f851 3023 ldr.w r3, [r1, r3, lsl #2] 8069bd0: 461a mov r2, r3 8069bd2: 219a movs r1, #154 ; 0x9a 8069bd4: f44f 7082 mov.w r0, #260 ; 0x104 8069bd8: f7ea fba8 bl 805432c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8069bdc: 490e ldr r1, [pc, #56] ; (8069c18 ) 8069bde: f04f 30ff mov.w r0, #4294967295 8069be2: f7e9 fde3 bl 80537ac BSP_LCD_FillRect(255, CHECKBOX_LINE_8, 10, 10); 8069be6: 230a movs r3, #10 8069be8: 220a movs r2, #10 8069bea: 218d movs r1, #141 ; 0x8d 8069bec: 20ff movs r0, #255 ; 0xff 8069bee: f7ea fa6b bl 80540c8 BSP_LCD_FillRect(255, CHECKBOX_LINE_10, 10, 10); 8069bf2: 230a movs r3, #10 8069bf4: 220a movs r2, #10 8069bf6: 21ad movs r1, #173 ; 0xad 8069bf8: 20ff movs r0, #255 ; 0xff 8069bfa: f7ea fa65 bl 80540c8 if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 8069bfe: 4b0b ldr r3, [pc, #44] ; (8069c2c ) 8069c00: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8069c04: f003 0304 and.w r3, r3, #4 8069c08: 2b00 cmp r3, #0 8069c0a: d119 bne.n 8069c40 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8069c0c: 4902 ldr r1, [pc, #8] ; (8069c18 ) 8069c0e: 4806 ldr r0, [pc, #24] ; (8069c28 ) 8069c10: f7e9 fdcc bl 80537ac 8069c14: e018 b.n 8069c48 8069c16: bf00 nop 8069c18: ff0a0f1f .word 0xff0a0f1f 8069c1c: 080cf830 .word 0x080cf830 8069c20: 080cf820 .word 0x080cf820 8069c24: 080cf828 .word 0x080cf828 8069c28: ffd8aa57 .word 0xffd8aa57 8069c2c: 20023e60 .word 0x20023e60 8069c30: 20020334 .word 0x20020334 8069c34: 2002165c .word 0x2002165c 8069c38: 20020964 .word 0x20020964 8069c3c: 080cf7e8 .word 0x080cf7e8 else LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8069c40: 498e ldr r1, [pc, #568] ; (8069e7c ) 8069c42: 488f ldr r0, [pc, #572] ; (8069e80 ) 8069c44: f7e9 fdb2 bl 80537ac LCD_DisplayStringC(260, LCD_LINE_11, strMax); 8069c48: f507 73c0 add.w r3, r7, #384 ; 0x180 8069c4c: 461a mov r2, r3 8069c4e: 21ba movs r1, #186 ; 0xba 8069c50: f44f 7082 mov.w r0, #260 ; 0x104 8069c54: f7ea fb6a bl 805432c break; 8069c58: e198 b.n 8069f8c case RouteNullNo: LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8069c5a: 4988 ldr r1, [pc, #544] ; (8069e7c ) 8069c5c: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8069c60: f7e9 fda4 bl 80537ac LCD_DisplayStringR(309, LCD_LINE_13, "ÑËÅÄ."); 8069c64: 4a87 ldr r2, [pc, #540] ; (8069e84 ) 8069c66: 21da movs r1, #218 ; 0xda 8069c68: f240 1035 movw r0, #309 ; 0x135 8069c6c: f7ea fb76 bl 805435c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8069c70: 4982 ldr r1, [pc, #520] ; (8069e7c ) 8069c72: f04f 30ff mov.w r0, #4294967295 8069c76: f7e9 fd99 bl 80537ac LCD_DisplayStringC(160, LCD_LINE_13, "ÇÀÏÓÑÊ"); //Çàïóñê; 8069c7a: 4a83 ldr r2, [pc, #524] ; (8069e88 ) 8069c7c: 21da movs r1, #218 ; 0xda 8069c7e: 20a0 movs r0, #160 ; 0xa0 8069c80: f7ea fb54 bl 805432c LCD_DisplayString(10, LCD_LINE_13, "ÏÐÅÄ."); 8069c84: 4a81 ldr r2, [pc, #516] ; (8069e8c ) 8069c86: 21da movs r1, #218 ; 0xda 8069c88: 200a movs r0, #10 8069c8a: f7ea fb37 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8069c8e: 497b ldr r1, [pc, #492] ; (8069e7c ) 8069c90: 487f ldr r0, [pc, #508] ; (8069e90 ) 8069c92: f7e9 fd8b bl 80537ac LCD_DisplayStringC(260, LCD_LINE_9, (char *) pTME[pardata.LANG][pardata.TME]); 8069c96: 4b7f ldr r3, [pc, #508] ; (8069e94 ) 8069c98: 7b1b ldrb r3, [r3, #12] 8069c9a: b2db uxtb r3, r3 8069c9c: 461a mov r2, r3 8069c9e: 4b7d ldr r3, [pc, #500] ; (8069e94 ) 8069ca0: 7b9b ldrb r3, [r3, #14] 8069ca2: b2db uxtb r3, r3 8069ca4: 4618 mov r0, r3 8069ca6: 497c ldr r1, [pc, #496] ; (8069e98 ) 8069ca8: 4613 mov r3, r2 8069caa: 009b lsls r3, r3, #2 8069cac: 4413 add r3, r2 8069cae: 005b lsls r3, r3, #1 8069cb0: 4413 add r3, r2 8069cb2: 4403 add r3, r0 8069cb4: f851 3023 ldr.w r3, [r1, r3, lsl #2] 8069cb8: 461a mov r2, r3 8069cba: 219a movs r1, #154 ; 0x9a 8069cbc: f44f 7082 mov.w r0, #260 ; 0x104 8069cc0: f7ea fb34 bl 805432c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8069cc4: 496d ldr r1, [pc, #436] ; (8069e7c ) 8069cc6: f04f 30ff mov.w r0, #4294967295 8069cca: f7e9 fd6f bl 80537ac BSP_LCD_FillRect(255, CHECKBOX_LINE_8, 10, 10); 8069cce: 230a movs r3, #10 8069cd0: 220a movs r2, #10 8069cd2: 218d movs r1, #141 ; 0x8d 8069cd4: 20ff movs r0, #255 ; 0xff 8069cd6: f7ea f9f7 bl 80540c8 BSP_LCD_FillRect(255, CHECKBOX_LINE_10, 10, 10); 8069cda: 230a movs r3, #10 8069cdc: 220a movs r2, #10 8069cde: 21ad movs r1, #173 ; 0xad 8069ce0: 20ff movs r0, #255 ; 0xff 8069ce2: f7ea f9f1 bl 80540c8 if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 8069ce6: 4b6b ldr r3, [pc, #428] ; (8069e94 ) 8069ce8: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8069cec: f003 0304 and.w r3, r3, #4 8069cf0: 2b00 cmp r3, #0 8069cf2: d104 bne.n 8069cfe LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8069cf4: 4961 ldr r1, [pc, #388] ; (8069e7c ) 8069cf6: 4866 ldr r0, [pc, #408] ; (8069e90 ) 8069cf8: f7e9 fd58 bl 80537ac 8069cfc: e003 b.n 8069d06 else LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8069cfe: 495f ldr r1, [pc, #380] ; (8069e7c ) 8069d00: 485f ldr r0, [pc, #380] ; (8069e80 ) 8069d02: f7e9 fd53 bl 80537ac LCD_DisplayStringC(260, LCD_LINE_11, strMax); 8069d06: f507 73c0 add.w r3, r7, #384 ; 0x180 8069d0a: 461a mov r2, r3 8069d0c: 21ba movs r1, #186 ; 0xba 8069d0e: f44f 7082 mov.w r0, #260 ; 0x104 8069d12: f7ea fb0b bl 805432c if(pardata.OPTIONS & 0x4) // Åñëè àâòîóñèëåíèå 8069d16: 4b5f ldr r3, [pc, #380] ; (8069e94 ) 8069d18: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8069d1c: f003 0304 and.w r3, r3, #4 8069d20: 2b00 cmp r3, #0 8069d22: d00a beq.n 8069d3a { LCD_SetColors(LCD_COLOR_DARKGRAY, LCD_COLOR_BLACK); 8069d24: 4955 ldr r1, [pc, #340] ; (8069e7c ) 8069d26: 485d ldr r0, [pc, #372] ; (8069e9c ) 8069d28: f7e9 fd40 bl 80537ac BSP_LCD_FillRect(257, CHECKBOX_LINE_10+2, 6, 6); 8069d2c: 2306 movs r3, #6 8069d2e: 2206 movs r2, #6 8069d30: 21af movs r1, #175 ; 0xaf 8069d32: f240 1001 movw r0, #257 ; 0x101 8069d36: f7ea f9c7 bl 80540c8 } if(pardata.OPTIONS & BIT7) 8069d3a: 4b56 ldr r3, [pc, #344] ; (8069e94 ) 8069d3c: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8069d40: f003 0380 and.w r3, r3, #128 ; 0x80 8069d44: 2b00 cmp r3, #0 8069d46: d00a beq.n 8069d5e { LCD_SetColors(LCD_COLOR_DARKGRAY, LCD_COLOR_BLACK); 8069d48: 494c ldr r1, [pc, #304] ; (8069e7c ) 8069d4a: 4854 ldr r0, [pc, #336] ; (8069e9c ) 8069d4c: f7e9 fd2e bl 80537ac BSP_LCD_FillRect(257, CHECKBOX_LINE_8+2, 6, 6); 8069d50: 2306 movs r3, #6 8069d52: 2206 movs r2, #6 8069d54: 218f movs r1, #143 ; 0x8f 8069d56: f240 1001 movw r0, #257 ; 0x101 8069d5a: f7ea f9b5 bl 80540c8 } LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8069d5e: 4947 ldr r1, [pc, #284] ; (8069e7c ) 8069d60: f04f 30ff mov.w r0, #4294967295 8069d64: f7e9 fd22 bl 80537ac BSP_LCD_FillRect(60-20, 72, 200+40, 124); 8069d68: 237c movs r3, #124 ; 0x7c 8069d6a: 22f0 movs r2, #240 ; 0xf0 8069d6c: 2148 movs r1, #72 ; 0x48 8069d6e: 2028 movs r0, #40 ; 0x28 8069d70: f7ea f9aa bl 80540c8 LCD_SetColors(LCD_COLOR_BLACK, LCD_COLOR_BLACK); 8069d74: 4941 ldr r1, [pc, #260] ; (8069e7c ) 8069d76: 4841 ldr r0, [pc, #260] ; (8069e7c ) 8069d78: f7e9 fd18 bl 80537ac BSP_LCD_FillRect(62-20, 74, 196+40, 120); 8069d7c: 2378 movs r3, #120 ; 0x78 8069d7e: 22ec movs r2, #236 ; 0xec 8069d80: 214a movs r1, #74 ; 0x4a 8069d82: 202a movs r0, #42 ; 0x2a 8069d84: f7ea f9a0 bl 80540c8 BSP_LCD_SetFont(&Font12); 8069d88: 4845 ldr r0, [pc, #276] ; (8069ea0 ) 8069d8a: f7e9 fd4b bl 8053824 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8069d8e: 493b ldr r1, [pc, #236] ; (8069e7c ) 8069d90: f04f 30ff mov.w r0, #4294967295 8069d94: f7e9 fd0a bl 80537ac BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "Õîòèòå íà÷àòü ìàðøðóò", CENTER_MODE); 8069d98: 2301 movs r3, #1 8069d9a: 4a42 ldr r2, [pc, #264] ; (8069ea4 ) 8069d9c: 217a movs r1, #122 ; 0x7a 8069d9e: 20a0 movs r0, #160 ; 0xa0 8069da0: f7e9 fdca bl 8053938 BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "çàíîâî?", CENTER_MODE); 8069da4: 2301 movs r3, #1 8069da6: 4a40 ldr r2, [pc, #256] ; (8069ea8 ) 8069da8: 218a movs r1, #138 ; 0x8a 8069daa: 20a0 movs r0, #160 ; 0xa0 8069dac: f7e9 fdc4 bl 8053938 BSP_LCD_DisplayStringAt(258, 170, "Äà", RIGHT_MODE); 8069db0: 2302 movs r3, #2 8069db2: 4a3e ldr r2, [pc, #248] ; (8069eac ) 8069db4: 21aa movs r1, #170 ; 0xaa 8069db6: f44f 7081 mov.w r0, #258 ; 0x102 8069dba: f7e9 fdbd bl 8053938 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8069dbe: 492f ldr r1, [pc, #188] ; (8069e7c ) 8069dc0: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8069dc4: f7e9 fcf2 bl 80537ac BSP_LCD_DisplayStringAt(62, 170, "Íåò", LEFT_MODE); 8069dc8: 2303 movs r3, #3 8069dca: 4a39 ldr r2, [pc, #228] ; (8069eb0 ) 8069dcc: 21aa movs r1, #170 ; 0xaa 8069dce: 203e movs r0, #62 ; 0x3e 8069dd0: f7e9 fdb2 bl 8053938 break; 8069dd4: e0da b.n 8069f8c case RouteNullYes: LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8069dd6: 4929 ldr r1, [pc, #164] ; (8069e7c ) 8069dd8: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8069ddc: f7e9 fce6 bl 80537ac LCD_DisplayStringR(309, LCD_LINE_13, "ÑËÅÄ."); 8069de0: 4a28 ldr r2, [pc, #160] ; (8069e84 ) 8069de2: 21da movs r1, #218 ; 0xda 8069de4: f240 1035 movw r0, #309 ; 0x135 8069de8: f7ea fab8 bl 805435c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8069dec: 4923 ldr r1, [pc, #140] ; (8069e7c ) 8069dee: f04f 30ff mov.w r0, #4294967295 8069df2: f7e9 fcdb bl 80537ac LCD_DisplayStringC(160, LCD_LINE_13, "ÇÀÏÓÑÊ"); //Çàïóñê; 8069df6: 4a24 ldr r2, [pc, #144] ; (8069e88 ) 8069df8: 21da movs r1, #218 ; 0xda 8069dfa: 20a0 movs r0, #160 ; 0xa0 8069dfc: f7ea fa96 bl 805432c LCD_DisplayString(10, LCD_LINE_13, "ÏÐÅÄ."); 8069e00: 4a22 ldr r2, [pc, #136] ; (8069e8c ) 8069e02: 21da movs r1, #218 ; 0xda 8069e04: 200a movs r0, #10 8069e06: f7ea fa79 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8069e0a: 491c ldr r1, [pc, #112] ; (8069e7c ) 8069e0c: 4820 ldr r0, [pc, #128] ; (8069e90 ) 8069e0e: f7e9 fccd bl 80537ac LCD_DisplayStringC(260, LCD_LINE_9, (char *) pTME[pardata.LANG][pardata.TME]); 8069e12: 4b20 ldr r3, [pc, #128] ; (8069e94 ) 8069e14: 7b1b ldrb r3, [r3, #12] 8069e16: b2db uxtb r3, r3 8069e18: 461a mov r2, r3 8069e1a: 4b1e ldr r3, [pc, #120] ; (8069e94 ) 8069e1c: 7b9b ldrb r3, [r3, #14] 8069e1e: b2db uxtb r3, r3 8069e20: 4618 mov r0, r3 8069e22: 491d ldr r1, [pc, #116] ; (8069e98 ) 8069e24: 4613 mov r3, r2 8069e26: 009b lsls r3, r3, #2 8069e28: 4413 add r3, r2 8069e2a: 005b lsls r3, r3, #1 8069e2c: 4413 add r3, r2 8069e2e: 4403 add r3, r0 8069e30: f851 3023 ldr.w r3, [r1, r3, lsl #2] 8069e34: 461a mov r2, r3 8069e36: 219a movs r1, #154 ; 0x9a 8069e38: f44f 7082 mov.w r0, #260 ; 0x104 8069e3c: f7ea fa76 bl 805432c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8069e40: 490e ldr r1, [pc, #56] ; (8069e7c ) 8069e42: f04f 30ff mov.w r0, #4294967295 8069e46: f7e9 fcb1 bl 80537ac BSP_LCD_FillRect(255, CHECKBOX_LINE_8, 10, 10); 8069e4a: 230a movs r3, #10 8069e4c: 220a movs r2, #10 8069e4e: 218d movs r1, #141 ; 0x8d 8069e50: 20ff movs r0, #255 ; 0xff 8069e52: f7ea f939 bl 80540c8 BSP_LCD_FillRect(255, CHECKBOX_LINE_10, 10, 10); 8069e56: 230a movs r3, #10 8069e58: 220a movs r2, #10 8069e5a: 21ad movs r1, #173 ; 0xad 8069e5c: 20ff movs r0, #255 ; 0xff 8069e5e: f7ea f933 bl 80540c8 if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 8069e62: 4b0c ldr r3, [pc, #48] ; (8069e94 ) 8069e64: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8069e68: f003 0304 and.w r3, r3, #4 8069e6c: 2b00 cmp r3, #0 8069e6e: d121 bne.n 8069eb4 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8069e70: 4902 ldr r1, [pc, #8] ; (8069e7c ) 8069e72: 4807 ldr r0, [pc, #28] ; (8069e90 ) 8069e74: f7e9 fc9a bl 80537ac 8069e78: e020 b.n 8069ebc 8069e7a: bf00 nop 8069e7c: ff0a0f1f .word 0xff0a0f1f 8069e80: ff808080 .word 0xff808080 8069e84: 080cf830 .word 0x080cf830 8069e88: 080cf820 .word 0x080cf820 8069e8c: 080cf828 .word 0x080cf828 8069e90: ffd8aa57 .word 0xffd8aa57 8069e94: 20023e60 .word 0x20023e60 8069e98: 20020334 .word 0x20020334 8069e9c: ff404040 .word 0xff404040 8069ea0: 20020038 .word 0x20020038 8069ea4: 080cf838 .word 0x080cf838 8069ea8: 080cf850 .word 0x080cf850 8069eac: 080cf858 .word 0x080cf858 8069eb0: 080ce6a8 .word 0x080ce6a8 else LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8069eb4: 49cf ldr r1, [pc, #828] ; (806a1f4 ) 8069eb6: 48d0 ldr r0, [pc, #832] ; (806a1f8 ) 8069eb8: f7e9 fc78 bl 80537ac LCD_DisplayStringC(260, LCD_LINE_11, strMax); 8069ebc: f507 73c0 add.w r3, r7, #384 ; 0x180 8069ec0: 461a mov r2, r3 8069ec2: 21ba movs r1, #186 ; 0xba 8069ec4: f44f 7082 mov.w r0, #260 ; 0x104 8069ec8: f7ea fa30 bl 805432c if(pardata.OPTIONS & 0x4) // Åñëè àâòîóñèëåíèå 8069ecc: 4bcb ldr r3, [pc, #812] ; (806a1fc ) 8069ece: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8069ed2: f003 0304 and.w r3, r3, #4 8069ed6: 2b00 cmp r3, #0 8069ed8: d00a beq.n 8069ef0 { LCD_SetColors(LCD_COLOR_DARKGRAY, LCD_COLOR_BLACK); 8069eda: 49c6 ldr r1, [pc, #792] ; (806a1f4 ) 8069edc: 48c8 ldr r0, [pc, #800] ; (806a200 ) 8069ede: f7e9 fc65 bl 80537ac BSP_LCD_FillRect(257, CHECKBOX_LINE_10+2, 6, 6); 8069ee2: 2306 movs r3, #6 8069ee4: 2206 movs r2, #6 8069ee6: 21af movs r1, #175 ; 0xaf 8069ee8: f240 1001 movw r0, #257 ; 0x101 8069eec: f7ea f8ec bl 80540c8 } if(pardata.OPTIONS & BIT7) 8069ef0: 4bc2 ldr r3, [pc, #776] ; (806a1fc ) 8069ef2: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8069ef6: f003 0380 and.w r3, r3, #128 ; 0x80 8069efa: 2b00 cmp r3, #0 8069efc: d00a beq.n 8069f14 { LCD_SetColors(LCD_COLOR_DARKGRAY, LCD_COLOR_BLACK); 8069efe: 49bd ldr r1, [pc, #756] ; (806a1f4 ) 8069f00: 48bf ldr r0, [pc, #764] ; (806a200 ) 8069f02: f7e9 fc53 bl 80537ac BSP_LCD_FillRect(257, CHECKBOX_LINE_8+2, 6, 6); 8069f06: 2306 movs r3, #6 8069f08: 2206 movs r2, #6 8069f0a: 218f movs r1, #143 ; 0x8f 8069f0c: f240 1001 movw r0, #257 ; 0x101 8069f10: f7ea f8da bl 80540c8 } LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8069f14: 49b7 ldr r1, [pc, #732] ; (806a1f4 ) 8069f16: f04f 30ff mov.w r0, #4294967295 8069f1a: f7e9 fc47 bl 80537ac BSP_LCD_FillRect(60-20, 72, 200+40, 124); 8069f1e: 237c movs r3, #124 ; 0x7c 8069f20: 22f0 movs r2, #240 ; 0xf0 8069f22: 2148 movs r1, #72 ; 0x48 8069f24: 2028 movs r0, #40 ; 0x28 8069f26: f7ea f8cf bl 80540c8 LCD_SetColors(LCD_COLOR_BLACK, LCD_COLOR_BLACK); 8069f2a: 49b2 ldr r1, [pc, #712] ; (806a1f4 ) 8069f2c: 48b1 ldr r0, [pc, #708] ; (806a1f4 ) 8069f2e: f7e9 fc3d bl 80537ac BSP_LCD_FillRect(62-20, 74, 196+40, 120); 8069f32: 2378 movs r3, #120 ; 0x78 8069f34: 22ec movs r2, #236 ; 0xec 8069f36: 214a movs r1, #74 ; 0x4a 8069f38: 202a movs r0, #42 ; 0x2a 8069f3a: f7ea f8c5 bl 80540c8 BSP_LCD_SetFont(&Font12); 8069f3e: 48b1 ldr r0, [pc, #708] ; (806a204 ) 8069f40: f7e9 fc70 bl 8053824 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8069f44: 49ab ldr r1, [pc, #684] ; (806a1f4 ) 8069f46: f04f 30ff mov.w r0, #4294967295 8069f4a: f7e9 fc2f bl 80537ac BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "Õîòèòå íà÷àòü ìàðøðóò", CENTER_MODE); 8069f4e: 2301 movs r3, #1 8069f50: 4aad ldr r2, [pc, #692] ; (806a208 ) 8069f52: 217a movs r1, #122 ; 0x7a 8069f54: 20a0 movs r0, #160 ; 0xa0 8069f56: f7e9 fcef bl 8053938 BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "çàíîâî?", CENTER_MODE); 8069f5a: 2301 movs r3, #1 8069f5c: 4aab ldr r2, [pc, #684] ; (806a20c ) 8069f5e: 218a movs r1, #138 ; 0x8a 8069f60: 20a0 movs r0, #160 ; 0xa0 8069f62: f7e9 fce9 bl 8053938 BSP_LCD_DisplayStringAt(62, 170, "Íåò", LEFT_MODE); 8069f66: 2303 movs r3, #3 8069f68: 4aa9 ldr r2, [pc, #676] ; (806a210 ) 8069f6a: 21aa movs r1, #170 ; 0xaa 8069f6c: 203e movs r0, #62 ; 0x3e 8069f6e: f7e9 fce3 bl 8053938 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8069f72: 49a0 ldr r1, [pc, #640] ; (806a1f4 ) 8069f74: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8069f78: f7e9 fc18 bl 80537ac BSP_LCD_DisplayStringAt(258, 170, "Äà", RIGHT_MODE); 8069f7c: 2302 movs r3, #2 8069f7e: 4aa5 ldr r2, [pc, #660] ; (806a214 ) 8069f80: 21aa movs r1, #170 ; 0xaa 8069f82: f44f 7081 mov.w r0, #258 ; 0x102 8069f86: f7e9 fcd7 bl 8053938 break; 8069f8a: bf00 nop } if(menupos < RouteNullYes) 8069f8c: 4ba2 ldr r3, [pc, #648] ; (806a218 ) 8069f8e: 781b ldrb r3, [r3, #0] 8069f90: b2db uxtb r3, r3 8069f92: 2b0c cmp r3, #12 8069f94: f22d 8301 bhi.w 809759a { if(pardata.OPTIONS & 0x4) // Åñëè àâòîóñèëåíèå 8069f98: 4b98 ldr r3, [pc, #608] ; (806a1fc ) 8069f9a: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8069f9e: f003 0304 and.w r3, r3, #4 8069fa2: 2b00 cmp r3, #0 8069fa4: d00a beq.n 8069fbc { LCD_SetColors(LCD_COLOR_DARKGRAY, LCD_COLOR_BLACK); 8069fa6: 4993 ldr r1, [pc, #588] ; (806a1f4 ) 8069fa8: 4895 ldr r0, [pc, #596] ; (806a200 ) 8069faa: f7e9 fbff bl 80537ac BSP_LCD_FillRect(257, CHECKBOX_LINE_10+2, 6, 6); 8069fae: 2306 movs r3, #6 8069fb0: 2206 movs r2, #6 8069fb2: 21af movs r1, #175 ; 0xaf 8069fb4: f240 1001 movw r0, #257 ; 0x101 8069fb8: f7ea f886 bl 80540c8 } if(pardata.OPTIONS & BIT7) 8069fbc: 4b8f ldr r3, [pc, #572] ; (806a1fc ) 8069fbe: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8069fc2: f003 0380 and.w r3, r3, #128 ; 0x80 8069fc6: 2b00 cmp r3, #0 8069fc8: f02d 82e7 beq.w 809759a { LCD_SetColors(LCD_COLOR_DARKGRAY, LCD_COLOR_BLACK); 8069fcc: 4989 ldr r1, [pc, #548] ; (806a1f4 ) 8069fce: 488c ldr r0, [pc, #560] ; (806a200 ) 8069fd0: f7e9 fbec bl 80537ac BSP_LCD_FillRect(257, CHECKBOX_LINE_8+2, 6, 6); 8069fd4: 2306 movs r3, #6 8069fd6: 2206 movs r2, #6 8069fd8: 218f movs r1, #143 ; 0x8f 8069fda: f240 1001 movw r0, #257 ; 0x101 8069fde: f7ea f873 bl 80540c8 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; 8069fe2: f02d bada b.w 809759a case LOW_BAT: memset(str, 0, sizeof(str)); 8069fe6: f507 733b add.w r3, r7, #748 ; 0x2ec 8069fea: 223c movs r2, #60 ; 0x3c 8069fec: 2100 movs r1, #0 8069fee: 4618 mov r0, r3 8069ff0: f063 f82a bl 80cd048 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8069ff4: 497f ldr r1, [pc, #508] ; (806a1f4 ) 8069ff6: f04f 30ff mov.w r0, #4294967295 8069ffa: f7e9 fbd7 bl 80537ac BSP_LCD_SetFont(&Font12); 8069ffe: 4881 ldr r0, [pc, #516] ; (806a204 ) 806a000: f7e9 fc10 bl 8053824 if(pardata.LANG == RUS) 806a004: 4b7d ldr r3, [pc, #500] ; (806a1fc ) 806a006: 7b1b ldrb r3, [r3, #12] 806a008: b2db uxtb r3, r3 806a00a: 2b00 cmp r3, #0 806a00c: d10d bne.n 806a02a strcpy(str, "Áàòàðåÿ ðàçðÿæåíà!"); 806a00e: f507 733b add.w r3, r7, #748 ; 0x2ec 806a012: 4a82 ldr r2, [pc, #520] ; (806a21c ) 806a014: 461c mov r4, r3 806a016: 4615 mov r5, r2 806a018: cd0f ldmia r5!, {r0, r1, r2, r3} 806a01a: c40f stmia r4!, {r0, r1, r2, r3} 806a01c: 682b ldr r3, [r5, #0] 806a01e: 461a mov r2, r3 806a020: 8022 strh r2, [r4, #0] 806a022: 3402 adds r4, #2 806a024: 0c1b lsrs r3, r3, #16 806a026: 7023 strb r3, [r4, #0] 806a028: e00c b.n 806a044 else strcpy(str, "Low battery level!"); 806a02a: f507 733b add.w r3, r7, #748 ; 0x2ec 806a02e: 4a7c ldr r2, [pc, #496] ; (806a220 ) 806a030: 461c mov r4, r3 806a032: 4615 mov r5, r2 806a034: cd0f ldmia r5!, {r0, r1, r2, r3} 806a036: c40f stmia r4!, {r0, r1, r2, r3} 806a038: 682b ldr r3, [r5, #0] 806a03a: 461a mov r2, r3 806a03c: 8022 strh r2, [r4, #0] 806a03e: 3402 adds r4, #2 806a040: 0c1b lsrs r3, r3, #16 806a042: 7023 strb r3, [r4, #0] BSP_LCD_DisplayStringAt(160, 115, str, CENTER_MODE); 806a044: f507 723b add.w r2, r7, #748 ; 0x2ec 806a048: 2301 movs r3, #1 806a04a: 2173 movs r1, #115 ; 0x73 806a04c: 20a0 movs r0, #160 ; 0xa0 806a04e: f7e9 fc73 bl 8053938 break; 806a052: f02d bacf b.w 80975f4 case TREND_A: //TODO case TREND_V: case TREND_S: memset(str, 0, sizeof(str)); 806a056: f507 733b add.w r3, r7, #748 ; 0x2ec 806a05a: 223c movs r2, #60 ; 0x3c 806a05c: 2100 movs r1, #0 806a05e: 4618 mov r0, r3 806a060: f062 fff2 bl 80cd048 strcpy(str, MeasFileName); 806a064: f507 733b add.w r3, r7, #748 ; 0x2ec 806a068: 496e ldr r1, [pc, #440] ; (806a224 ) 806a06a: 4618 mov r0, r3 806a06c: f063 f909 bl 80cd282 l = strlen(str); 806a070: f507 733b add.w r3, r7, #748 ; 0x2ec 806a074: 4618 mov r0, r3 806a076: f7b6 f94d bl 8020314 806a07a: 4603 mov r3, r0 806a07c: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 str[l - 4] = '\0'; 806a080: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806a084: 3b04 subs r3, #4 806a086: f507 723b add.w r2, r7, #748 ; 0x2ec 806a08a: 2100 movs r1, #0 806a08c: 54d1 strb r1, [r2, r3] LCD_SetColors(LCD_COLOR_LIGHTGREEN, LCD_COLOR_BLACK); 806a08e: 4959 ldr r1, [pc, #356] ; (806a1f4 ) 806a090: f06f 107f mvn.w r0, #8323199 ; 0x7f007f 806a094: f7e9 fb8a bl 80537ac BSP_LCD_SetFont(&Font12); 806a098: 485a ldr r0, [pc, #360] ; (806a204 ) 806a09a: f7e9 fbc3 bl 8053824 BSP_LCD_DisplayStringAt(318, 35, str, RIGHT_MODE); 806a09e: f507 723b add.w r2, r7, #748 ; 0x2ec 806a0a2: 2302 movs r3, #2 806a0a4: 2123 movs r1, #35 ; 0x23 806a0a6: f44f 709f mov.w r0, #318 ; 0x13e 806a0aa: f7e9 fc45 bl 8053938 if(NEWFILE) 806a0ae: 4b5e ldr r3, [pc, #376] ; (806a228 ) 806a0b0: 781b ldrb r3, [r3, #0] 806a0b2: b2db uxtb r3, r3 806a0b4: 2b00 cmp r3, #0 806a0b6: f000 80c5 beq.w 806a244 { LCD_SetColors(0xFFEFCC95, LCD_COLOR_BLACK); 806a0ba: 494e ldr r1, [pc, #312] ; (806a1f4 ) 806a0bc: 485b ldr r0, [pc, #364] ; (806a22c ) 806a0be: f7e9 fb75 bl 80537ac if(strlen(Comment)) 806a0c2: 4b5b ldr r3, [pc, #364] ; (806a230 ) 806a0c4: 781b ldrb r3, [r3, #0] 806a0c6: 2b00 cmp r3, #0 806a0c8: d025 beq.n 806a116 { BSP_LCD_SetFont(&Font12); 806a0ca: 484e ldr r0, [pc, #312] ; (806a204 ) 806a0cc: f7e9 fbaa bl 8053824 memset(str, 0, sizeof(str)); 806a0d0: f507 733b add.w r3, r7, #748 ; 0x2ec 806a0d4: 223c movs r2, #60 ; 0x3c 806a0d6: 2100 movs r1, #0 806a0d8: 4618 mov r0, r3 806a0da: f062 ffb5 bl 80cd048 str[0] = '"'; 806a0de: f507 733b add.w r3, r7, #748 ; 0x2ec 806a0e2: 2222 movs r2, #34 ; 0x22 806a0e4: 701a strb r2, [r3, #0] strcat(str, Comment); 806a0e6: f507 733b add.w r3, r7, #748 ; 0x2ec 806a0ea: 4951 ldr r1, [pc, #324] ; (806a230 ) 806a0ec: 4618 mov r0, r3 806a0ee: f063 f8ab bl 80cd248 str[strlen(str)] = '"'; 806a0f2: f507 733b add.w r3, r7, #748 ; 0x2ec 806a0f6: 4618 mov r0, r3 806a0f8: f7b6 f90c bl 8020314 806a0fc: 4602 mov r2, r0 806a0fe: f507 733b add.w r3, r7, #748 ; 0x2ec 806a102: 2122 movs r1, #34 ; 0x22 806a104: 5499 strb r1, [r3, r2] BSP_LCD_DisplayStringAt(189, 55, str, CENTER_MODE); 806a106: f507 723b add.w r2, r7, #748 ; 0x2ec 806a10a: 2301 movs r3, #1 806a10c: 2137 movs r1, #55 ; 0x37 806a10e: 20bd movs r0, #189 ; 0xbd 806a110: f7e9 fc12 bl 8053938 806a114: e107 b.n 806a326 } else { memset(str, 0, sizeof(str)); 806a116: f507 733b add.w r3, r7, #748 ; 0x2ec 806a11a: 223c movs r2, #60 ; 0x3c 806a11c: 2100 movs r1, #0 806a11e: 4618 mov r0, r3 806a120: f062 ff92 bl 80cd048 str[0] = '"'; 806a124: f507 733b add.w r3, r7, #748 ; 0x2ec 806a128: 2222 movs r2, #34 ; 0x22 806a12a: 701a strb r2, [r3, #0] if(pardata.LANG == RUS) 806a12c: 4b33 ldr r3, [pc, #204] ; (806a1fc ) 806a12e: 7b1b ldrb r3, [r3, #12] 806a130: b2db uxtb r3, r3 806a132: 2b00 cmp r3, #0 806a134: d111 bne.n 806a15a strcat(str, "ÒÎ×ÊÀ "); 806a136: f507 733b add.w r3, r7, #748 ; 0x2ec 806a13a: 4618 mov r0, r3 806a13c: f7b6 f8ea bl 8020314 806a140: 4603 mov r3, r0 806a142: 461a mov r2, r3 806a144: f507 733b add.w r3, r7, #748 ; 0x2ec 806a148: 4413 add r3, r2 806a14a: 4a3a ldr r2, [pc, #232] ; (806a234 ) 806a14c: 6810 ldr r0, [r2, #0] 806a14e: 6018 str r0, [r3, #0] 806a150: 8891 ldrh r1, [r2, #4] 806a152: 7992 ldrb r2, [r2, #6] 806a154: 8099 strh r1, [r3, #4] 806a156: 719a strb r2, [r3, #6] 806a158: e010 b.n 806a17c else strcat(str, "POINT "); 806a15a: f507 733b add.w r3, r7, #748 ; 0x2ec 806a15e: 4618 mov r0, r3 806a160: f7b6 f8d8 bl 8020314 806a164: 4603 mov r3, r0 806a166: 461a mov r2, r3 806a168: f507 733b add.w r3, r7, #748 ; 0x2ec 806a16c: 4413 add r3, r2 806a16e: 4a32 ldr r2, [pc, #200] ; (806a238 ) 806a170: 6810 ldr r0, [r2, #0] 806a172: 6018 str r0, [r3, #0] 806a174: 8891 ldrh r1, [r2, #4] 806a176: 7992 ldrb r2, [r2, #6] 806a178: 8099 strh r1, [r3, #4] 806a17a: 719a strb r2, [r3, #6] l = strlen(str); 806a17c: f507 733b add.w r3, r7, #748 ; 0x2ec 806a180: 4618 mov r0, r3 806a182: f7b6 f8c7 bl 8020314 806a186: 4603 mov r3, r0 806a188: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 str[l] = ((NextIndexPoint + 1) / 10) + 48; 806a18c: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806a190: 4a2a ldr r2, [pc, #168] ; (806a23c ) 806a192: 6812 ldr r2, [r2, #0] 806a194: 3201 adds r2, #1 806a196: 492a ldr r1, [pc, #168] ; (806a240 ) 806a198: fba1 1202 umull r1, r2, r1, r2 806a19c: 08d2 lsrs r2, r2, #3 806a19e: b2d2 uxtb r2, r2 806a1a0: 3230 adds r2, #48 ; 0x30 806a1a2: b2d1 uxtb r1, r2 806a1a4: f507 723b add.w r2, r7, #748 ; 0x2ec 806a1a8: 54d1 strb r1, [r2, r3] str[l + 1] = ((NextIndexPoint + 1) % 10) + 48; 806a1aa: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806a1ae: 1c58 adds r0, r3, #1 806a1b0: 4b22 ldr r3, [pc, #136] ; (806a23c ) 806a1b2: 681b ldr r3, [r3, #0] 806a1b4: 1c59 adds r1, r3, #1 806a1b6: 4b22 ldr r3, [pc, #136] ; (806a240 ) 806a1b8: fba3 2301 umull r2, r3, r3, r1 806a1bc: 08da lsrs r2, r3, #3 806a1be: 4613 mov r3, r2 806a1c0: 009b lsls r3, r3, #2 806a1c2: 4413 add r3, r2 806a1c4: 005b lsls r3, r3, #1 806a1c6: 1aca subs r2, r1, r3 806a1c8: b2d3 uxtb r3, r2 806a1ca: 3330 adds r3, #48 ; 0x30 806a1cc: b2da uxtb r2, r3 806a1ce: f507 733b add.w r3, r7, #748 ; 0x2ec 806a1d2: 541a strb r2, [r3, r0] str[l + 2] = '"'; 806a1d4: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806a1d8: 3302 adds r3, #2 806a1da: f507 723b add.w r2, r7, #748 ; 0x2ec 806a1de: 2122 movs r1, #34 ; 0x22 806a1e0: 54d1 strb r1, [r2, r3] BSP_LCD_DisplayStringAt(189, 55, str, CENTER_MODE); 806a1e2: f507 723b add.w r2, r7, #748 ; 0x2ec 806a1e6: 2301 movs r3, #1 806a1e8: 2137 movs r1, #55 ; 0x37 806a1ea: 20bd movs r0, #189 ; 0xbd 806a1ec: f7e9 fba4 bl 8053938 806a1f0: e099 b.n 806a326 806a1f2: bf00 nop 806a1f4: ff0a0f1f .word 0xff0a0f1f 806a1f8: ff808080 .word 0xff808080 806a1fc: 20023e60 .word 0x20023e60 806a200: ff404040 .word 0xff404040 806a204: 20020038 .word 0x20020038 806a208: 080cf838 .word 0x080cf838 806a20c: 080cf850 .word 0x080cf850 806a210: 080ce6a8 .word 0x080ce6a8 806a214: 080cf858 .word 0x080cf858 806a218: 20020070 .word 0x20020070 806a21c: 080cf85c .word 0x080cf85c 806a220: 080cf870 .word 0x080cf870 806a224: 20020e58 .word 0x20020e58 806a228: 20020e14 .word 0x20020e14 806a22c: ffefcc95 .word 0xffefcc95 806a230: 20022650 .word 0x20022650 806a234: 080cf884 .word 0x080cf884 806a238: 080cf88c .word 0x080cf88c 806a23c: 20021f9c .word 0x20021f9c 806a240: cccccccd .word 0xcccccccd } } else { LCD_SetColors(0xFFEFCC95, LCD_COLOR_BLACK); 806a244: 49ba ldr r1, [pc, #744] ; (806a530 ) 806a246: 48bb ldr r0, [pc, #748] ; (806a534 ) 806a248: f7e9 fab0 bl 80537ac memset(str, 0, sizeof(str)); 806a24c: f507 733b add.w r3, r7, #748 ; 0x2ec 806a250: 223c movs r2, #60 ; 0x3c 806a252: 2100 movs r1, #0 806a254: 4618 mov r0, r3 806a256: f062 fef7 bl 80cd048 str[0] = '"'; 806a25a: f507 733b add.w r3, r7, #748 ; 0x2ec 806a25e: 2222 movs r2, #34 ; 0x22 806a260: 701a strb r2, [r3, #0] if(pardata.LANG == RUS) 806a262: 4bb5 ldr r3, [pc, #724] ; (806a538 ) 806a264: 7b1b ldrb r3, [r3, #12] 806a266: b2db uxtb r3, r3 806a268: 2b00 cmp r3, #0 806a26a: d111 bne.n 806a290 strcat(str, "ÒÎ×ÊÀ "); 806a26c: f507 733b add.w r3, r7, #748 ; 0x2ec 806a270: 4618 mov r0, r3 806a272: f7b6 f84f bl 8020314 806a276: 4603 mov r3, r0 806a278: 461a mov r2, r3 806a27a: f507 733b add.w r3, r7, #748 ; 0x2ec 806a27e: 4413 add r3, r2 806a280: 4aae ldr r2, [pc, #696] ; (806a53c ) 806a282: 6810 ldr r0, [r2, #0] 806a284: 6018 str r0, [r3, #0] 806a286: 8891 ldrh r1, [r2, #4] 806a288: 7992 ldrb r2, [r2, #6] 806a28a: 8099 strh r1, [r3, #4] 806a28c: 719a strb r2, [r3, #6] 806a28e: e010 b.n 806a2b2 else strcat(str, "POINT "); 806a290: f507 733b add.w r3, r7, #748 ; 0x2ec 806a294: 4618 mov r0, r3 806a296: f7b6 f83d bl 8020314 806a29a: 4603 mov r3, r0 806a29c: 461a mov r2, r3 806a29e: f507 733b add.w r3, r7, #748 ; 0x2ec 806a2a2: 4413 add r3, r2 806a2a4: 4aa6 ldr r2, [pc, #664] ; (806a540 ) 806a2a6: 6810 ldr r0, [r2, #0] 806a2a8: 6018 str r0, [r3, #0] 806a2aa: 8891 ldrh r1, [r2, #4] 806a2ac: 7992 ldrb r2, [r2, #6] 806a2ae: 8099 strh r1, [r3, #4] 806a2b0: 719a strb r2, [r3, #6] l = strlen(str); 806a2b2: f507 733b add.w r3, r7, #748 ; 0x2ec 806a2b6: 4618 mov r0, r3 806a2b8: f7b6 f82c bl 8020314 806a2bc: 4603 mov r3, r0 806a2be: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 str[l] = ((NextIndexPoint + 1) / 10) + 48; 806a2c2: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806a2c6: 4a9f ldr r2, [pc, #636] ; (806a544 ) 806a2c8: 6812 ldr r2, [r2, #0] 806a2ca: 3201 adds r2, #1 806a2cc: 499e ldr r1, [pc, #632] ; (806a548 ) 806a2ce: fba1 1202 umull r1, r2, r1, r2 806a2d2: 08d2 lsrs r2, r2, #3 806a2d4: b2d2 uxtb r2, r2 806a2d6: 3230 adds r2, #48 ; 0x30 806a2d8: b2d1 uxtb r1, r2 806a2da: f507 723b add.w r2, r7, #748 ; 0x2ec 806a2de: 54d1 strb r1, [r2, r3] str[l + 1] = ((NextIndexPoint + 1) % 10) + 48; 806a2e0: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806a2e4: 1c58 adds r0, r3, #1 806a2e6: 4b97 ldr r3, [pc, #604] ; (806a544 ) 806a2e8: 681b ldr r3, [r3, #0] 806a2ea: 1c59 adds r1, r3, #1 806a2ec: 4b96 ldr r3, [pc, #600] ; (806a548 ) 806a2ee: fba3 2301 umull r2, r3, r3, r1 806a2f2: 08da lsrs r2, r3, #3 806a2f4: 4613 mov r3, r2 806a2f6: 009b lsls r3, r3, #2 806a2f8: 4413 add r3, r2 806a2fa: 005b lsls r3, r3, #1 806a2fc: 1aca subs r2, r1, r3 806a2fe: b2d3 uxtb r3, r2 806a300: 3330 adds r3, #48 ; 0x30 806a302: b2da uxtb r2, r3 806a304: f507 733b add.w r3, r7, #748 ; 0x2ec 806a308: 541a strb r2, [r3, r0] str[l + 2] = '"'; 806a30a: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806a30e: 3302 adds r3, #2 806a310: f507 723b add.w r2, r7, #748 ; 0x2ec 806a314: 2122 movs r1, #34 ; 0x22 806a316: 54d1 strb r1, [r2, r3] BSP_LCD_DisplayStringAt(189, 55, str, CENTER_MODE); 806a318: f507 723b add.w r2, r7, #748 ; 0x2ec 806a31c: 2301 movs r3, #1 806a31e: 2137 movs r1, #55 ; 0x37 806a320: 20bd movs r0, #189 ; 0xbd 806a322: f7e9 fb09 bl 8053938 } LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 806a326: 4982 ldr r1, [pc, #520] ; (806a530 ) 806a328: f04f 30ff mov.w r0, #4294967295 806a32c: f7e9 fa3e bl 80537ac DrawImage(&bmUPDN, 8, 205); 806a330: 22cd movs r2, #205 ; 0xcd 806a332: 2108 movs r1, #8 806a334: 4885 ldr r0, [pc, #532] ; (806a54c ) 806a336: f7ea f92d bl 8054594 BSP_LCD_DisplayStringAt(25, 208, "AVS", LEFT_MODE); 806a33a: 2303 movs r3, #3 806a33c: 4a84 ldr r2, [pc, #528] ; (806a550 ) 806a33e: 21d0 movs r1, #208 ; 0xd0 806a340: 2019 movs r0, #25 806a342: f7e9 faf9 bl 8053938 DrawImage(&bmLTRT, 8, 223); 806a346: 22df movs r2, #223 ; 0xdf 806a348: 2108 movs r1, #8 806a34a: 4882 ldr r0, [pc, #520] ; (806a554 ) 806a34c: f7ea f922 bl 8054594 if(pardata.LANG == RUS) 806a350: 4b79 ldr r3, [pc, #484] ; (806a538 ) 806a352: 7b1b ldrb r3, [r3, #12] 806a354: b2db uxtb r3, r3 806a356: 2b00 cmp r3, #0 806a358: d106 bne.n 806a368 BSP_LCD_DisplayStringAt(25, 224, "Çíà÷", LEFT_MODE); 806a35a: 2303 movs r3, #3 806a35c: 4a7e ldr r2, [pc, #504] ; (806a558 ) 806a35e: 21e0 movs r1, #224 ; 0xe0 806a360: 2019 movs r0, #25 806a362: f7e9 fae9 bl 8053938 806a366: e005 b.n 806a374 else BSP_LCD_DisplayStringAt(25, 224, "Val", LEFT_MODE); 806a368: 2303 movs r3, #3 806a36a: 4a7c ldr r2, [pc, #496] ; (806a55c ) 806a36c: 21e0 movs r1, #224 ; 0xe0 806a36e: 2019 movs r0, #25 806a370: f7e9 fae2 bl 8053938 LCD_SetColors(0xFF202020, LCD_COLOR_BLACK); 806a374: 496e ldr r1, [pc, #440] ; (806a530 ) 806a376: 487a ldr r0, [pc, #488] ; (806a560 ) 806a378: f7e9 fa18 bl 80537ac BSP_LCD_DrawHLine(61, 67, 256); 806a37c: f44f 7280 mov.w r2, #256 ; 0x100 806a380: 2143 movs r1, #67 ; 0x43 806a382: 203d movs r0, #61 ; 0x3d 806a384: f7e9 fb8c bl 8053aa0 BSP_LCD_DrawHLine(61, 92, 256); 806a388: f44f 7280 mov.w r2, #256 ; 0x100 806a38c: 215c movs r1, #92 ; 0x5c 806a38e: 203d movs r0, #61 ; 0x3d 806a390: f7e9 fb86 bl 8053aa0 for(i = 0; i < 4; i++) { 806a394: 2300 movs r3, #0 806a396: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806a39a: e010 b.n 806a3be BSP_LCD_DrawVLine(61 + (i << 6), 67, 148); 806a39c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806a3a0: b29b uxth r3, r3 806a3a2: 019b lsls r3, r3, #6 806a3a4: b29b uxth r3, r3 806a3a6: 333d adds r3, #61 ; 0x3d 806a3a8: b29b uxth r3, r3 806a3aa: 2294 movs r2, #148 ; 0x94 806a3ac: 2143 movs r1, #67 ; 0x43 806a3ae: 4618 mov r0, r3 806a3b0: f7e9 fbd4 bl 8053b5c for(i = 0; i < 4; i++) { 806a3b4: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806a3b8: 3301 adds r3, #1 806a3ba: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806a3be: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806a3c2: 2b03 cmp r3, #3 806a3c4: d9ea bls.n 806a39c } for(i = 0; i < 5; i++) { 806a3c6: 2300 movs r3, #0 806a3c8: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806a3cc: e018 b.n 806a400 BSP_LCD_DrawHLine(61, 117 + i*25, 256); 806a3ce: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806a3d2: b29b uxth r3, r3 806a3d4: 461a mov r2, r3 806a3d6: 0092 lsls r2, r2, #2 806a3d8: 4413 add r3, r2 806a3da: 461a mov r2, r3 806a3dc: 0091 lsls r1, r2, #2 806a3de: 461a mov r2, r3 806a3e0: 460b mov r3, r1 806a3e2: 4413 add r3, r2 806a3e4: b29b uxth r3, r3 806a3e6: 3375 adds r3, #117 ; 0x75 806a3e8: b29b uxth r3, r3 806a3ea: f44f 7280 mov.w r2, #256 ; 0x100 806a3ee: 4619 mov r1, r3 806a3f0: 203d movs r0, #61 ; 0x3d 806a3f2: f7e9 fb55 bl 8053aa0 for(i = 0; i < 5; i++) { 806a3f6: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806a3fa: 3301 adds r3, #1 806a3fc: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806a400: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806a404: 2b04 cmp r3, #4 806a406: d9e2 bls.n 806a3ce } LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 806a408: 4949 ldr r1, [pc, #292] ; (806a530 ) 806a40a: f04f 30ff mov.w r0, #4294967295 806a40e: f7e9 f9cd bl 80537ac BSP_LCD_DrawVLine(60, 63-9, 155+9); 806a412: 22a4 movs r2, #164 ; 0xa4 806a414: 2136 movs r1, #54 ; 0x36 806a416: 203c movs r0, #60 ; 0x3c 806a418: f7e9 fba0 bl 8053b5c BSP_LCD_DrawHLine(60, 218, 258); 806a41c: f44f 7281 mov.w r2, #258 ; 0x102 806a420: 21da movs r1, #218 ; 0xda 806a422: 203c movs r0, #60 ; 0x3c 806a424: f7e9 fb3c bl 8053aa0 //BSP_LCD_DrawHLine(60, 63-9, 258); BSP_LCD_SetFont(&Font12); 806a428: 484e ldr r0, [pc, #312] ; (806a564 ) 806a42a: f7e9 f9fb bl 8053824 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 806a42e: 4940 ldr r1, [pc, #256] ; (806a530 ) 806a430: f04f 30ff mov.w r0, #4294967295 806a434: f7e9 f9ba bl 80537ac if(menu == TREND_A) 806a438: 4b4b ldr r3, [pc, #300] ; (806a568 ) 806a43a: 781b ldrb r3, [r3, #0] 806a43c: b2db uxtb r3, r3 806a43e: 2b45 cmp r3, #69 ; 0x45 806a440: f040 8726 bne.w 806b290 { if(menupos == Trend_pk) 806a444: 4b49 ldr r3, [pc, #292] ; (806a56c ) 806a446: 781b ldrb r3, [r3, #0] 806a448: b2db uxtb r3, r3 806a44a: 2b00 cmp r3, #0 806a44c: f040 8174 bne.w 806a738 { if(pardata.LANG == RUS) 806a450: 4b39 ldr r3, [pc, #228] ; (806a538 ) 806a452: 7b1b ldrb r3, [r3, #12] 806a454: b2db uxtb r3, r3 806a456: 2b00 cmp r3, #0 806a458: d106 bne.n 806a468 BSP_LCD_DisplayStringAt(8, 35, "A(ïèê),ì/ñ^", LEFT_MODE); 806a45a: 2303 movs r3, #3 806a45c: 4a44 ldr r2, [pc, #272] ; (806a570 ) 806a45e: 2123 movs r1, #35 ; 0x23 806a460: 2008 movs r0, #8 806a462: f7e9 fa69 bl 8053938 806a466: e005 b.n 806a474 else BSP_LCD_DisplayStringAt(8, 35, "A(peak),m/s^", LEFT_MODE); 806a468: 2303 movs r3, #3 806a46a: 4a42 ldr r2, [pc, #264] ; (806a574 ) 806a46c: 2123 movs r1, #35 ; 0x23 806a46e: 2008 movs r0, #8 806a470: f7e9 fa62 bl 8053938 // Ñ÷èòàåì êîë-âî èçìåðåíèé ñ òàêèì äåòåêòîðîì è ïåðåíîñèì â TrendRAM_TEMP() l = 0; 806a474: 2300 movs r3, #0 806a476: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 for(i = 0; i < NumTrendMeas; i++) 806a47a: 2300 movs r3, #0 806a47c: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806a480: e042 b.n 806a508 { TrendData = TrendRAM(i); 806a482: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806a486: 4613 mov r3, r2 806a488: 009b lsls r3, r3, #2 806a48a: 4413 add r3, r2 806a48c: 009b lsls r3, r3, #2 806a48e: 461a mov r2, r3 806a490: 4b39 ldr r3, [pc, #228] ; (806a578 ) 806a492: 4413 add r3, r2 806a494: 461a mov r2, r3 806a496: 4b39 ldr r3, [pc, #228] ; (806a57c ) 806a498: 461c mov r4, r3 806a49a: 4615 mov r5, r2 806a49c: cd0f ldmia r5!, {r0, r1, r2, r3} 806a49e: c40f stmia r4!, {r0, r1, r2, r3} 806a4a0: 682b ldr r3, [r5, #0] 806a4a2: 6023 str r3, [r4, #0] if((TrendData.Aivs == 'P') && (TrendData.Aval.fl != -1.0f)) 806a4a4: 4b35 ldr r3, [pc, #212] ; (806a57c ) 806a4a6: 7c1b ldrb r3, [r3, #16] 806a4a8: b2db uxtb r3, r3 806a4aa: 2b50 cmp r3, #80 ; 0x50 806a4ac: d127 bne.n 806a4fe 806a4ae: 4b33 ldr r3, [pc, #204] ; (806a57c ) 806a4b0: edd3 7a00 vldr s15, [r3] 806a4b4: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 806a4b8: eef4 7a47 vcmp.f32 s15, s14 806a4bc: eef1 fa10 vmrs APSR_nzcv, fpscr 806a4c0: d01d beq.n 806a4fe { TrendRAM_TEMP(l) = TrendRAM(i); 806a4c2: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 806a4c6: 4613 mov r3, r2 806a4c8: 009b lsls r3, r3, #2 806a4ca: 4413 add r3, r2 806a4cc: 009b lsls r3, r3, #2 806a4ce: 461a mov r2, r3 806a4d0: 4b2b ldr r3, [pc, #172] ; (806a580 ) 806a4d2: 4413 add r3, r2 806a4d4: 4619 mov r1, r3 806a4d6: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806a4da: 4613 mov r3, r2 806a4dc: 009b lsls r3, r3, #2 806a4de: 4413 add r3, r2 806a4e0: 009b lsls r3, r3, #2 806a4e2: 461a mov r2, r3 806a4e4: 4b24 ldr r3, [pc, #144] ; (806a578 ) 806a4e6: 4413 add r3, r2 806a4e8: 460c mov r4, r1 806a4ea: 461d mov r5, r3 806a4ec: cd0f ldmia r5!, {r0, r1, r2, r3} 806a4ee: c40f stmia r4!, {r0, r1, r2, r3} 806a4f0: 682b ldr r3, [r5, #0] 806a4f2: 6023 str r3, [r4, #0] l++; 806a4f4: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806a4f8: 3301 adds r3, #1 806a4fa: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 for(i = 0; i < NumTrendMeas; i++) 806a4fe: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806a502: 3301 adds r3, #1 806a504: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806a508: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806a50c: 4b1d ldr r3, [pc, #116] ; (806a584 ) 806a50e: 681b ldr r3, [r3, #0] 806a510: 429a cmp r2, r3 806a512: d3b6 bcc.n 806a482 } } /////////////////////////////////////////////////////////////////////////// if(l) // Åñëè èìåþòñÿ çàïèñè ñ òàêèì äåòåêòîðîì 806a514: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806a518: 2b00 cmp r3, #0 806a51a: f002 84d7 beq.w 806cecc { for(j = 0; j < l; j++) // Ðàñêëàäûâàåì ïî âîçðàñòàíèþ äàòû 806a51e: 2300 movs r3, #0 806a520: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 806a524: e0a3 b.n 806a66e { for(i = j; i < l; i++) 806a526: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 806a52a: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806a52e: e093 b.n 806a658 806a530: ff0a0f1f .word 0xff0a0f1f 806a534: ffefcc95 .word 0xffefcc95 806a538: 20023e60 .word 0x20023e60 806a53c: 080cf884 .word 0x080cf884 806a540: 080cf88c .word 0x080cf88c 806a544: 20021f9c .word 0x20021f9c 806a548: cccccccd .word 0xcccccccd 806a54c: 08149d64 .word 0x08149d64 806a550: 080cf894 .word 0x080cf894 806a554: 0813aaec .word 0x0813aaec 806a558: 080cf898 .word 0x080cf898 806a55c: 080cf8a0 .word 0x080cf8a0 806a560: ff202020 .word 0xff202020 806a564: 20020038 .word 0x20020038 806a568: 20020f78 .word 0x20020f78 806a56c: 20020070 .word 0x20020070 806a570: 080cf8a4 .word 0x080cf8a4 806a574: 080cf8b0 .word 0x080cf8b0 806a578: 640a0000 .word 0x640a0000 806a57c: 20021f88 .word 0x20021f88 806a580: 64090000 .word 0x64090000 806a584: 20020e10 .word 0x20020e10 { TrendData1 = TrendRAM_TEMP(i); 806a588: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806a58c: 4613 mov r3, r2 806a58e: 009b lsls r3, r3, #2 806a590: 4413 add r3, r2 806a592: 009b lsls r3, r3, #2 806a594: 461a mov r2, r3 806a596: 4ba3 ldr r3, [pc, #652] ; (806a824 ) 806a598: 4413 add r3, r2 806a59a: 461a mov r2, r3 806a59c: 4ba2 ldr r3, [pc, #648] ; (806a828 ) 806a59e: 461c mov r4, r3 806a5a0: 4615 mov r5, r2 806a5a2: cd0f ldmia r5!, {r0, r1, r2, r3} 806a5a4: c40f stmia r4!, {r0, r1, r2, r3} 806a5a6: 682b ldr r3, [r5, #0] 806a5a8: 6023 str r3, [r4, #0] TrendData2 = TrendRAM_TEMP(j); 806a5aa: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806a5ae: 4613 mov r3, r2 806a5b0: 009b lsls r3, r3, #2 806a5b2: 4413 add r3, r2 806a5b4: 009b lsls r3, r3, #2 806a5b6: 461a mov r2, r3 806a5b8: 4b9a ldr r3, [pc, #616] ; (806a824 ) 806a5ba: 4413 add r3, r2 806a5bc: 461a mov r2, r3 806a5be: 4b9b ldr r3, [pc, #620] ; (806a82c ) 806a5c0: 461c mov r4, r3 806a5c2: 4615 mov r5, r2 806a5c4: cd0f ldmia r5!, {r0, r1, r2, r3} 806a5c6: c40f stmia r4!, {r0, r1, r2, r3} 806a5c8: 682b ldr r3, [r5, #0] 806a5ca: 6023 str r3, [r4, #0] if(TrendData1.DateTime < TrendData2.DateTime) 806a5cc: 4b96 ldr r3, [pc, #600] ; (806a828 ) 806a5ce: 68da ldr r2, [r3, #12] 806a5d0: 4b96 ldr r3, [pc, #600] ; (806a82c ) 806a5d2: 68db ldr r3, [r3, #12] 806a5d4: 429a cmp r2, r3 806a5d6: d23a bcs.n 806a64e { TrendData = TrendRAM_TEMP(j); 806a5d8: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806a5dc: 4613 mov r3, r2 806a5de: 009b lsls r3, r3, #2 806a5e0: 4413 add r3, r2 806a5e2: 009b lsls r3, r3, #2 806a5e4: 461a mov r2, r3 806a5e6: 4b8f ldr r3, [pc, #572] ; (806a824 ) 806a5e8: 4413 add r3, r2 806a5ea: 461a mov r2, r3 806a5ec: 4b90 ldr r3, [pc, #576] ; (806a830 ) 806a5ee: 461c mov r4, r3 806a5f0: 4615 mov r5, r2 806a5f2: cd0f ldmia r5!, {r0, r1, r2, r3} 806a5f4: c40f stmia r4!, {r0, r1, r2, r3} 806a5f6: 682b ldr r3, [r5, #0] 806a5f8: 6023 str r3, [r4, #0] TrendRAM_TEMP(j) = TrendRAM_TEMP(i); 806a5fa: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806a5fe: 4613 mov r3, r2 806a600: 009b lsls r3, r3, #2 806a602: 4413 add r3, r2 806a604: 009b lsls r3, r3, #2 806a606: 461a mov r2, r3 806a608: 4b86 ldr r3, [pc, #536] ; (806a824 ) 806a60a: 4413 add r3, r2 806a60c: 4619 mov r1, r3 806a60e: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806a612: 4613 mov r3, r2 806a614: 009b lsls r3, r3, #2 806a616: 4413 add r3, r2 806a618: 009b lsls r3, r3, #2 806a61a: 461a mov r2, r3 806a61c: 4b81 ldr r3, [pc, #516] ; (806a824 ) 806a61e: 4413 add r3, r2 806a620: 460c mov r4, r1 806a622: 461d mov r5, r3 806a624: cd0f ldmia r5!, {r0, r1, r2, r3} 806a626: c40f stmia r4!, {r0, r1, r2, r3} 806a628: 682b ldr r3, [r5, #0] 806a62a: 6023 str r3, [r4, #0] TrendRAM_TEMP(i) = TrendData; 806a62c: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806a630: 4613 mov r3, r2 806a632: 009b lsls r3, r3, #2 806a634: 4413 add r3, r2 806a636: 009b lsls r3, r3, #2 806a638: 461a mov r2, r3 806a63a: 4b7a ldr r3, [pc, #488] ; (806a824 ) 806a63c: 4413 add r3, r2 806a63e: 461a mov r2, r3 806a640: 4b7b ldr r3, [pc, #492] ; (806a830 ) 806a642: 4614 mov r4, r2 806a644: 461d mov r5, r3 806a646: cd0f ldmia r5!, {r0, r1, r2, r3} 806a648: c40f stmia r4!, {r0, r1, r2, r3} 806a64a: 682b ldr r3, [r5, #0] 806a64c: 6023 str r3, [r4, #0] for(i = j; i < l; i++) 806a64e: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806a652: 3301 adds r3, #1 806a654: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806a658: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806a65c: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806a660: 429a cmp r2, r3 806a662: d391 bcc.n 806a588 for(j = 0; j < l; j++) // Ðàñêëàäûâàåì ïî âîçðàñòàíèþ äàòû 806a664: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 806a668: 3301 adds r3, #1 806a66a: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 806a66e: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806a672: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806a676: 429a cmp r2, r3 806a678: f4ff af55 bcc.w 806a526 } } } // Èùåì ìàêñèìóì è ìèíèìóì ïî îñè Y fmax = -10000000000.0f; 806a67c: 4b6d ldr r3, [pc, #436] ; (806a834 ) 806a67e: f207 424c addw r2, r7, #1100 ; 0x44c 806a682: 6013 str r3, [r2, #0] fmin = 10000000000.0f; 806a684: 4b6c ldr r3, [pc, #432] ; (806a838 ) 806a686: f507 6289 add.w r2, r7, #1096 ; 0x448 806a68a: 6013 str r3, [r2, #0] for(i = 0; i < l; i++) 806a68c: 2300 movs r3, #0 806a68e: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806a692: e049 b.n 806a728 { TrendData = TrendRAM_TEMP(i); 806a694: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806a698: 4613 mov r3, r2 806a69a: 009b lsls r3, r3, #2 806a69c: 4413 add r3, r2 806a69e: 009b lsls r3, r3, #2 806a6a0: 461a mov r2, r3 806a6a2: 4b60 ldr r3, [pc, #384] ; (806a824 ) 806a6a4: 4413 add r3, r2 806a6a6: 461a mov r2, r3 806a6a8: 4b61 ldr r3, [pc, #388] ; (806a830 ) 806a6aa: 461c mov r4, r3 806a6ac: 4615 mov r5, r2 806a6ae: cd0f ldmia r5!, {r0, r1, r2, r3} 806a6b0: c40f stmia r4!, {r0, r1, r2, r3} 806a6b2: 682b ldr r3, [r5, #0] 806a6b4: 6023 str r3, [r4, #0] if(TrendData.Aval.fl > fmax) fmax = TrendData.Aval.fl; 806a6b6: 4b5e ldr r3, [pc, #376] ; (806a830 ) 806a6b8: ed93 7a00 vldr s14, [r3] 806a6bc: f207 434c addw r3, r7, #1100 ; 0x44c 806a6c0: edd3 7a00 vldr s15, [r3] 806a6c4: eeb4 7ae7 vcmpe.f32 s14, s15 806a6c8: eef1 fa10 vmrs APSR_nzcv, fpscr 806a6cc: dd04 ble.n 806a6d8 806a6ce: 4b58 ldr r3, [pc, #352] ; (806a830 ) 806a6d0: 681b ldr r3, [r3, #0] 806a6d2: f207 424c addw r2, r7, #1100 ; 0x44c 806a6d6: 6013 str r3, [r2, #0] if(TrendData.Aval.fl < fmin) fmin = TrendData.Aval.fl; 806a6d8: 4b55 ldr r3, [pc, #340] ; (806a830 ) 806a6da: ed93 7a00 vldr s14, [r3] 806a6de: f507 6389 add.w r3, r7, #1096 ; 0x448 806a6e2: edd3 7a00 vldr s15, [r3] 806a6e6: eeb4 7ae7 vcmpe.f32 s14, s15 806a6ea: eef1 fa10 vmrs APSR_nzcv, fpscr 806a6ee: d504 bpl.n 806a6fa 806a6f0: 4b4f ldr r3, [pc, #316] ; (806a830 ) 806a6f2: 681b ldr r3, [r3, #0] 806a6f4: f507 6289 add.w r2, r7, #1096 ; 0x448 806a6f8: 6013 str r3, [r2, #0] ScrA_f32(i) = TrendData.Aval.fl; 806a6fa: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806a6fe: 009a lsls r2, r3, #2 806a700: 4b4e ldr r3, [pc, #312] ; (806a83c ) 806a702: 4413 add r3, r2 806a704: 461a mov r2, r3 806a706: 4b4a ldr r3, [pc, #296] ; (806a830 ) 806a708: 681b ldr r3, [r3, #0] 806a70a: 6013 str r3, [r2, #0] CmplxA_u32(i) = TrendData.DateTime; 806a70c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806a710: 009a lsls r2, r3, #2 806a712: 4b44 ldr r3, [pc, #272] ; (806a824 ) 806a714: 4413 add r3, r2 806a716: 461a mov r2, r3 806a718: 4b45 ldr r3, [pc, #276] ; (806a830 ) 806a71a: 68db ldr r3, [r3, #12] 806a71c: 6013 str r3, [r2, #0] for(i = 0; i < l; i++) 806a71e: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806a722: 3301 adds r3, #1 806a724: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806a728: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806a72c: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806a730: 429a cmp r2, r3 806a732: d3af bcc.n 806a694 806a734: f002 bbca b.w 806cecc } } // end if(l) òå åñëè èìåþòñÿ çàïèñè ñ òàêèì äåòåêòîðîì } else if(menupos == Trend_rms) 806a738: 4b41 ldr r3, [pc, #260] ; (806a840 ) 806a73a: 781b ldrb r3, [r3, #0] 806a73c: b2db uxtb r3, r3 806a73e: 2b01 cmp r3, #1 806a740: f040 8162 bne.w 806aa08 { if(pardata.LANG == RUS) 806a744: 4b3f ldr r3, [pc, #252] ; (806a844 ) 806a746: 7b1b ldrb r3, [r3, #12] 806a748: b2db uxtb r3, r3 806a74a: 2b00 cmp r3, #0 806a74c: d106 bne.n 806a75c BSP_LCD_DisplayStringAt(8, 35, "A(ñêç),ì/ñ^", LEFT_MODE); 806a74e: 2303 movs r3, #3 806a750: 4a3d ldr r2, [pc, #244] ; (806a848 ) 806a752: 2123 movs r1, #35 ; 0x23 806a754: 2008 movs r0, #8 806a756: f7e9 f8ef bl 8053938 806a75a: e005 b.n 806a768 else BSP_LCD_DisplayStringAt(8, 35, "A(rms),m/s^", LEFT_MODE); 806a75c: 2303 movs r3, #3 806a75e: 4a3b ldr r2, [pc, #236] ; (806a84c ) 806a760: 2123 movs r1, #35 ; 0x23 806a762: 2008 movs r0, #8 806a764: f7e9 f8e8 bl 8053938 // Ñ÷èòàåì êîë-âî èçìåðåíèé ñ òàêèì äåòåêòîðîì è ïåðåíîñèì â TrendRAM_TEMP() l = 0; 806a768: 2300 movs r3, #0 806a76a: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 for(i = 0; i < NumTrendMeas; i++) 806a76e: 2300 movs r3, #0 806a770: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806a774: e042 b.n 806a7fc { TrendData = TrendRAM(i); 806a776: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806a77a: 4613 mov r3, r2 806a77c: 009b lsls r3, r3, #2 806a77e: 4413 add r3, r2 806a780: 009b lsls r3, r3, #2 806a782: 461a mov r2, r3 806a784: 4b32 ldr r3, [pc, #200] ; (806a850 ) 806a786: 4413 add r3, r2 806a788: 461a mov r2, r3 806a78a: 4b29 ldr r3, [pc, #164] ; (806a830 ) 806a78c: 461c mov r4, r3 806a78e: 4615 mov r5, r2 806a790: cd0f ldmia r5!, {r0, r1, r2, r3} 806a792: c40f stmia r4!, {r0, r1, r2, r3} 806a794: 682b ldr r3, [r5, #0] 806a796: 6023 str r3, [r4, #0] if((TrendData.Aivs == 'S') && (TrendData.Aval.fl != -1.0f)) 806a798: 4b25 ldr r3, [pc, #148] ; (806a830 ) 806a79a: 7c1b ldrb r3, [r3, #16] 806a79c: b2db uxtb r3, r3 806a79e: 2b53 cmp r3, #83 ; 0x53 806a7a0: d127 bne.n 806a7f2 806a7a2: 4b23 ldr r3, [pc, #140] ; (806a830 ) 806a7a4: edd3 7a00 vldr s15, [r3] 806a7a8: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 806a7ac: eef4 7a47 vcmp.f32 s15, s14 806a7b0: eef1 fa10 vmrs APSR_nzcv, fpscr 806a7b4: d01d beq.n 806a7f2 { TrendRAM_TEMP(l) = TrendRAM(i); 806a7b6: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 806a7ba: 4613 mov r3, r2 806a7bc: 009b lsls r3, r3, #2 806a7be: 4413 add r3, r2 806a7c0: 009b lsls r3, r3, #2 806a7c2: 461a mov r2, r3 806a7c4: 4b17 ldr r3, [pc, #92] ; (806a824 ) 806a7c6: 4413 add r3, r2 806a7c8: 4619 mov r1, r3 806a7ca: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806a7ce: 4613 mov r3, r2 806a7d0: 009b lsls r3, r3, #2 806a7d2: 4413 add r3, r2 806a7d4: 009b lsls r3, r3, #2 806a7d6: 461a mov r2, r3 806a7d8: 4b1d ldr r3, [pc, #116] ; (806a850 ) 806a7da: 4413 add r3, r2 806a7dc: 460c mov r4, r1 806a7de: 461d mov r5, r3 806a7e0: cd0f ldmia r5!, {r0, r1, r2, r3} 806a7e2: c40f stmia r4!, {r0, r1, r2, r3} 806a7e4: 682b ldr r3, [r5, #0] 806a7e6: 6023 str r3, [r4, #0] l++; 806a7e8: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806a7ec: 3301 adds r3, #1 806a7ee: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 for(i = 0; i < NumTrendMeas; i++) 806a7f2: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806a7f6: 3301 adds r3, #1 806a7f8: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806a7fc: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806a800: 4b14 ldr r3, [pc, #80] ; (806a854 ) 806a802: 681b ldr r3, [r3, #0] 806a804: 429a cmp r2, r3 806a806: d3b6 bcc.n 806a776 } } /////////////////////////////////////////////////////////////////////////// if(l) // Åñëè èìåþòñÿ çàïèñè ñ òàêèì äåòåêòîðîì 806a808: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806a80c: 2b00 cmp r3, #0 806a80e: f002 835d beq.w 806cecc { for(j = 0; j < l; j++) // Ðàñêëàäûâàåì ïî âîçðàñòàíèþ äàòû 806a812: 2300 movs r3, #0 806a814: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 806a818: e091 b.n 806a93e { for(i = j; i < l; i++) 806a81a: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 806a81e: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806a822: e081 b.n 806a928 806a824: 64090000 .word 0x64090000 806a828: 20022314 .word 0x20022314 806a82c: 20022900 .word 0x20022900 806a830: 20021f88 .word 0x20021f88 806a834: d01502f9 .word 0xd01502f9 806a838: 501502f9 .word 0x501502f9 806a83c: 64080000 .word 0x64080000 806a840: 20020070 .word 0x20020070 806a844: 20023e60 .word 0x20023e60 806a848: 080cf8c0 .word 0x080cf8c0 806a84c: 080cf8cc .word 0x080cf8cc 806a850: 640a0000 .word 0x640a0000 806a854: 20020e10 .word 0x20020e10 { TrendData1 = TrendRAM_TEMP(i); 806a858: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806a85c: 4613 mov r3, r2 806a85e: 009b lsls r3, r3, #2 806a860: 4413 add r3, r2 806a862: 009b lsls r3, r3, #2 806a864: 461a mov r2, r3 806a866: 4ba3 ldr r3, [pc, #652] ; (806aaf4 ) 806a868: 4413 add r3, r2 806a86a: 461a mov r2, r3 806a86c: 4ba2 ldr r3, [pc, #648] ; (806aaf8 ) 806a86e: 461c mov r4, r3 806a870: 4615 mov r5, r2 806a872: cd0f ldmia r5!, {r0, r1, r2, r3} 806a874: c40f stmia r4!, {r0, r1, r2, r3} 806a876: 682b ldr r3, [r5, #0] 806a878: 6023 str r3, [r4, #0] TrendData2 = TrendRAM_TEMP(j); 806a87a: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806a87e: 4613 mov r3, r2 806a880: 009b lsls r3, r3, #2 806a882: 4413 add r3, r2 806a884: 009b lsls r3, r3, #2 806a886: 461a mov r2, r3 806a888: 4b9a ldr r3, [pc, #616] ; (806aaf4 ) 806a88a: 4413 add r3, r2 806a88c: 461a mov r2, r3 806a88e: 4b9b ldr r3, [pc, #620] ; (806aafc ) 806a890: 461c mov r4, r3 806a892: 4615 mov r5, r2 806a894: cd0f ldmia r5!, {r0, r1, r2, r3} 806a896: c40f stmia r4!, {r0, r1, r2, r3} 806a898: 682b ldr r3, [r5, #0] 806a89a: 6023 str r3, [r4, #0] if(TrendData1.DateTime < TrendData2.DateTime) 806a89c: 4b96 ldr r3, [pc, #600] ; (806aaf8 ) 806a89e: 68da ldr r2, [r3, #12] 806a8a0: 4b96 ldr r3, [pc, #600] ; (806aafc ) 806a8a2: 68db ldr r3, [r3, #12] 806a8a4: 429a cmp r2, r3 806a8a6: d23a bcs.n 806a91e { TrendData = TrendRAM_TEMP(j); 806a8a8: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806a8ac: 4613 mov r3, r2 806a8ae: 009b lsls r3, r3, #2 806a8b0: 4413 add r3, r2 806a8b2: 009b lsls r3, r3, #2 806a8b4: 461a mov r2, r3 806a8b6: 4b8f ldr r3, [pc, #572] ; (806aaf4 ) 806a8b8: 4413 add r3, r2 806a8ba: 461a mov r2, r3 806a8bc: 4b90 ldr r3, [pc, #576] ; (806ab00 ) 806a8be: 461c mov r4, r3 806a8c0: 4615 mov r5, r2 806a8c2: cd0f ldmia r5!, {r0, r1, r2, r3} 806a8c4: c40f stmia r4!, {r0, r1, r2, r3} 806a8c6: 682b ldr r3, [r5, #0] 806a8c8: 6023 str r3, [r4, #0] TrendRAM_TEMP(j) = TrendRAM_TEMP(i); 806a8ca: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806a8ce: 4613 mov r3, r2 806a8d0: 009b lsls r3, r3, #2 806a8d2: 4413 add r3, r2 806a8d4: 009b lsls r3, r3, #2 806a8d6: 461a mov r2, r3 806a8d8: 4b86 ldr r3, [pc, #536] ; (806aaf4 ) 806a8da: 4413 add r3, r2 806a8dc: 4619 mov r1, r3 806a8de: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806a8e2: 4613 mov r3, r2 806a8e4: 009b lsls r3, r3, #2 806a8e6: 4413 add r3, r2 806a8e8: 009b lsls r3, r3, #2 806a8ea: 461a mov r2, r3 806a8ec: 4b81 ldr r3, [pc, #516] ; (806aaf4 ) 806a8ee: 4413 add r3, r2 806a8f0: 460c mov r4, r1 806a8f2: 461d mov r5, r3 806a8f4: cd0f ldmia r5!, {r0, r1, r2, r3} 806a8f6: c40f stmia r4!, {r0, r1, r2, r3} 806a8f8: 682b ldr r3, [r5, #0] 806a8fa: 6023 str r3, [r4, #0] TrendRAM_TEMP(i) = TrendData; 806a8fc: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806a900: 4613 mov r3, r2 806a902: 009b lsls r3, r3, #2 806a904: 4413 add r3, r2 806a906: 009b lsls r3, r3, #2 806a908: 461a mov r2, r3 806a90a: 4b7a ldr r3, [pc, #488] ; (806aaf4 ) 806a90c: 4413 add r3, r2 806a90e: 461a mov r2, r3 806a910: 4b7b ldr r3, [pc, #492] ; (806ab00 ) 806a912: 4614 mov r4, r2 806a914: 461d mov r5, r3 806a916: cd0f ldmia r5!, {r0, r1, r2, r3} 806a918: c40f stmia r4!, {r0, r1, r2, r3} 806a91a: 682b ldr r3, [r5, #0] 806a91c: 6023 str r3, [r4, #0] for(i = j; i < l; i++) 806a91e: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806a922: 3301 adds r3, #1 806a924: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806a928: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806a92c: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806a930: 429a cmp r2, r3 806a932: d391 bcc.n 806a858 for(j = 0; j < l; j++) // Ðàñêëàäûâàåì ïî âîçðàñòàíèþ äàòû 806a934: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 806a938: 3301 adds r3, #1 806a93a: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 806a93e: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806a942: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806a946: 429a cmp r2, r3 806a948: f4ff af67 bcc.w 806a81a } } } // Èùåì ìàêñèìóì è ìèíèìóì ïî îñè Y fmax = -10000000000.0f; 806a94c: 4b6d ldr r3, [pc, #436] ; (806ab04 ) 806a94e: f207 424c addw r2, r7, #1100 ; 0x44c 806a952: 6013 str r3, [r2, #0] fmin = 10000000000.0f; 806a954: 4b6c ldr r3, [pc, #432] ; (806ab08 ) 806a956: f507 6289 add.w r2, r7, #1096 ; 0x448 806a95a: 6013 str r3, [r2, #0] for(i = 0; i < l; i++) 806a95c: 2300 movs r3, #0 806a95e: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806a962: e049 b.n 806a9f8 { TrendData = TrendRAM_TEMP(i); 806a964: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806a968: 4613 mov r3, r2 806a96a: 009b lsls r3, r3, #2 806a96c: 4413 add r3, r2 806a96e: 009b lsls r3, r3, #2 806a970: 461a mov r2, r3 806a972: 4b60 ldr r3, [pc, #384] ; (806aaf4 ) 806a974: 4413 add r3, r2 806a976: 461a mov r2, r3 806a978: 4b61 ldr r3, [pc, #388] ; (806ab00 ) 806a97a: 461c mov r4, r3 806a97c: 4615 mov r5, r2 806a97e: cd0f ldmia r5!, {r0, r1, r2, r3} 806a980: c40f stmia r4!, {r0, r1, r2, r3} 806a982: 682b ldr r3, [r5, #0] 806a984: 6023 str r3, [r4, #0] if(TrendData.Aval.fl > fmax) fmax = TrendData.Aval.fl; 806a986: 4b5e ldr r3, [pc, #376] ; (806ab00 ) 806a988: ed93 7a00 vldr s14, [r3] 806a98c: f207 434c addw r3, r7, #1100 ; 0x44c 806a990: edd3 7a00 vldr s15, [r3] 806a994: eeb4 7ae7 vcmpe.f32 s14, s15 806a998: eef1 fa10 vmrs APSR_nzcv, fpscr 806a99c: dd04 ble.n 806a9a8 806a99e: 4b58 ldr r3, [pc, #352] ; (806ab00 ) 806a9a0: 681b ldr r3, [r3, #0] 806a9a2: f207 424c addw r2, r7, #1100 ; 0x44c 806a9a6: 6013 str r3, [r2, #0] if(TrendData.Aval.fl < fmin) fmin = TrendData.Aval.fl; 806a9a8: 4b55 ldr r3, [pc, #340] ; (806ab00 ) 806a9aa: ed93 7a00 vldr s14, [r3] 806a9ae: f507 6389 add.w r3, r7, #1096 ; 0x448 806a9b2: edd3 7a00 vldr s15, [r3] 806a9b6: eeb4 7ae7 vcmpe.f32 s14, s15 806a9ba: eef1 fa10 vmrs APSR_nzcv, fpscr 806a9be: d504 bpl.n 806a9ca 806a9c0: 4b4f ldr r3, [pc, #316] ; (806ab00 ) 806a9c2: 681b ldr r3, [r3, #0] 806a9c4: f507 6289 add.w r2, r7, #1096 ; 0x448 806a9c8: 6013 str r3, [r2, #0] ScrA_f32(i) = TrendData.Aval.fl; 806a9ca: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806a9ce: 009a lsls r2, r3, #2 806a9d0: 4b4e ldr r3, [pc, #312] ; (806ab0c ) 806a9d2: 4413 add r3, r2 806a9d4: 461a mov r2, r3 806a9d6: 4b4a ldr r3, [pc, #296] ; (806ab00 ) 806a9d8: 681b ldr r3, [r3, #0] 806a9da: 6013 str r3, [r2, #0] CmplxA_u32(i) = TrendData.DateTime; 806a9dc: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806a9e0: 009a lsls r2, r3, #2 806a9e2: 4b44 ldr r3, [pc, #272] ; (806aaf4 ) 806a9e4: 4413 add r3, r2 806a9e6: 461a mov r2, r3 806a9e8: 4b45 ldr r3, [pc, #276] ; (806ab00 ) 806a9ea: 68db ldr r3, [r3, #12] 806a9ec: 6013 str r3, [r2, #0] for(i = 0; i < l; i++) 806a9ee: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806a9f2: 3301 adds r3, #1 806a9f4: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806a9f8: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806a9fc: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806aa00: 429a cmp r2, r3 806aa02: d3af bcc.n 806a964 806aa04: f002 ba62 b.w 806cecc } } // end if(l) òå åñëè èìåþòñÿ çàïèñè ñ òàêèì äåòåêòîðîì } else if(menupos == Trend_pkpk) 806aa08: 4b41 ldr r3, [pc, #260] ; (806ab10 ) 806aa0a: 781b ldrb r3, [r3, #0] 806aa0c: b2db uxtb r3, r3 806aa0e: 2b02 cmp r3, #2 806aa10: f040 8162 bne.w 806acd8 { if(pardata.LANG == RUS) 806aa14: 4b3f ldr r3, [pc, #252] ; (806ab14 ) 806aa16: 7b1b ldrb r3, [r3, #12] 806aa18: b2db uxtb r3, r3 806aa1a: 2b00 cmp r3, #0 806aa1c: d106 bne.n 806aa2c BSP_LCD_DisplayStringAt(8, 35, "A(ðàçìàõ),ì/ñ^", LEFT_MODE); 806aa1e: 2303 movs r3, #3 806aa20: 4a3d ldr r2, [pc, #244] ; (806ab18 ) 806aa22: 2123 movs r1, #35 ; 0x23 806aa24: 2008 movs r0, #8 806aa26: f7e8 ff87 bl 8053938 806aa2a: e005 b.n 806aa38 else BSP_LCD_DisplayStringAt(8, 35, "A(peak-peak),m/s^", LEFT_MODE); 806aa2c: 2303 movs r3, #3 806aa2e: 4a3b ldr r2, [pc, #236] ; (806ab1c ) 806aa30: 2123 movs r1, #35 ; 0x23 806aa32: 2008 movs r0, #8 806aa34: f7e8 ff80 bl 8053938 // Ñ÷èòàåì êîë-âî èçìåðåíèé ñ òàêèì äåòåêòîðîì è ïåðåíîñèì â TrendRAM_TEMP() l = 0; 806aa38: 2300 movs r3, #0 806aa3a: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 for(i = 0; i < NumTrendMeas; i++) 806aa3e: 2300 movs r3, #0 806aa40: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806aa44: e042 b.n 806aacc { TrendData = TrendRAM(i); 806aa46: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806aa4a: 4613 mov r3, r2 806aa4c: 009b lsls r3, r3, #2 806aa4e: 4413 add r3, r2 806aa50: 009b lsls r3, r3, #2 806aa52: 461a mov r2, r3 806aa54: 4b32 ldr r3, [pc, #200] ; (806ab20 ) 806aa56: 4413 add r3, r2 806aa58: 461a mov r2, r3 806aa5a: 4b29 ldr r3, [pc, #164] ; (806ab00 ) 806aa5c: 461c mov r4, r3 806aa5e: 4615 mov r5, r2 806aa60: cd0f ldmia r5!, {r0, r1, r2, r3} 806aa62: c40f stmia r4!, {r0, r1, r2, r3} 806aa64: 682b ldr r3, [r5, #0] 806aa66: 6023 str r3, [r4, #0] if((TrendData.Aivs == 'R') && (TrendData.Aval.fl != -1.0f)) 806aa68: 4b25 ldr r3, [pc, #148] ; (806ab00 ) 806aa6a: 7c1b ldrb r3, [r3, #16] 806aa6c: b2db uxtb r3, r3 806aa6e: 2b52 cmp r3, #82 ; 0x52 806aa70: d127 bne.n 806aac2 806aa72: 4b23 ldr r3, [pc, #140] ; (806ab00 ) 806aa74: edd3 7a00 vldr s15, [r3] 806aa78: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 806aa7c: eef4 7a47 vcmp.f32 s15, s14 806aa80: eef1 fa10 vmrs APSR_nzcv, fpscr 806aa84: d01d beq.n 806aac2 { TrendRAM_TEMP(l) = TrendRAM(i); 806aa86: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 806aa8a: 4613 mov r3, r2 806aa8c: 009b lsls r3, r3, #2 806aa8e: 4413 add r3, r2 806aa90: 009b lsls r3, r3, #2 806aa92: 461a mov r2, r3 806aa94: 4b17 ldr r3, [pc, #92] ; (806aaf4 ) 806aa96: 4413 add r3, r2 806aa98: 4619 mov r1, r3 806aa9a: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806aa9e: 4613 mov r3, r2 806aaa0: 009b lsls r3, r3, #2 806aaa2: 4413 add r3, r2 806aaa4: 009b lsls r3, r3, #2 806aaa6: 461a mov r2, r3 806aaa8: 4b1d ldr r3, [pc, #116] ; (806ab20 ) 806aaaa: 4413 add r3, r2 806aaac: 460c mov r4, r1 806aaae: 461d mov r5, r3 806aab0: cd0f ldmia r5!, {r0, r1, r2, r3} 806aab2: c40f stmia r4!, {r0, r1, r2, r3} 806aab4: 682b ldr r3, [r5, #0] 806aab6: 6023 str r3, [r4, #0] l++; 806aab8: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806aabc: 3301 adds r3, #1 806aabe: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 for(i = 0; i < NumTrendMeas; i++) 806aac2: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806aac6: 3301 adds r3, #1 806aac8: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806aacc: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806aad0: 4b14 ldr r3, [pc, #80] ; (806ab24 ) 806aad2: 681b ldr r3, [r3, #0] 806aad4: 429a cmp r2, r3 806aad6: d3b6 bcc.n 806aa46 } } /////////////////////////////////////////////////////////////////////////// if(l) // Åñëè èìåþòñÿ çàïèñè ñ òàêèì äåòåêòîðîì 806aad8: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806aadc: 2b00 cmp r3, #0 806aade: f002 81f5 beq.w 806cecc { for(j = 0; j < l; j++) // Ðàñêëàäûâàåì ïî âîçðàñòàíèþ äàòû 806aae2: 2300 movs r3, #0 806aae4: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 806aae8: e091 b.n 806ac0e { for(i = j; i < l; i++) 806aaea: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 806aaee: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806aaf2: e081 b.n 806abf8 806aaf4: 64090000 .word 0x64090000 806aaf8: 20022314 .word 0x20022314 806aafc: 20022900 .word 0x20022900 806ab00: 20021f88 .word 0x20021f88 806ab04: d01502f9 .word 0xd01502f9 806ab08: 501502f9 .word 0x501502f9 806ab0c: 64080000 .word 0x64080000 806ab10: 20020070 .word 0x20020070 806ab14: 20023e60 .word 0x20023e60 806ab18: 080cf8d8 .word 0x080cf8d8 806ab1c: 080cf8e8 .word 0x080cf8e8 806ab20: 640a0000 .word 0x640a0000 806ab24: 20020e10 .word 0x20020e10 { TrendData1 = TrendRAM_TEMP(i); 806ab28: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806ab2c: 4613 mov r3, r2 806ab2e: 009b lsls r3, r3, #2 806ab30: 4413 add r3, r2 806ab32: 009b lsls r3, r3, #2 806ab34: 461a mov r2, r3 806ab36: 4ba6 ldr r3, [pc, #664] ; (806add0 ) 806ab38: 4413 add r3, r2 806ab3a: 461a mov r2, r3 806ab3c: 4ba5 ldr r3, [pc, #660] ; (806add4 ) 806ab3e: 461c mov r4, r3 806ab40: 4615 mov r5, r2 806ab42: cd0f ldmia r5!, {r0, r1, r2, r3} 806ab44: c40f stmia r4!, {r0, r1, r2, r3} 806ab46: 682b ldr r3, [r5, #0] 806ab48: 6023 str r3, [r4, #0] TrendData2 = TrendRAM_TEMP(j); 806ab4a: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806ab4e: 4613 mov r3, r2 806ab50: 009b lsls r3, r3, #2 806ab52: 4413 add r3, r2 806ab54: 009b lsls r3, r3, #2 806ab56: 461a mov r2, r3 806ab58: 4b9d ldr r3, [pc, #628] ; (806add0 ) 806ab5a: 4413 add r3, r2 806ab5c: 461a mov r2, r3 806ab5e: 4b9e ldr r3, [pc, #632] ; (806add8 ) 806ab60: 461c mov r4, r3 806ab62: 4615 mov r5, r2 806ab64: cd0f ldmia r5!, {r0, r1, r2, r3} 806ab66: c40f stmia r4!, {r0, r1, r2, r3} 806ab68: 682b ldr r3, [r5, #0] 806ab6a: 6023 str r3, [r4, #0] if(TrendData1.DateTime < TrendData2.DateTime) 806ab6c: 4b99 ldr r3, [pc, #612] ; (806add4 ) 806ab6e: 68da ldr r2, [r3, #12] 806ab70: 4b99 ldr r3, [pc, #612] ; (806add8 ) 806ab72: 68db ldr r3, [r3, #12] 806ab74: 429a cmp r2, r3 806ab76: d23a bcs.n 806abee { TrendData = TrendRAM_TEMP(j); 806ab78: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806ab7c: 4613 mov r3, r2 806ab7e: 009b lsls r3, r3, #2 806ab80: 4413 add r3, r2 806ab82: 009b lsls r3, r3, #2 806ab84: 461a mov r2, r3 806ab86: 4b92 ldr r3, [pc, #584] ; (806add0 ) 806ab88: 4413 add r3, r2 806ab8a: 461a mov r2, r3 806ab8c: 4b93 ldr r3, [pc, #588] ; (806addc ) 806ab8e: 461c mov r4, r3 806ab90: 4615 mov r5, r2 806ab92: cd0f ldmia r5!, {r0, r1, r2, r3} 806ab94: c40f stmia r4!, {r0, r1, r2, r3} 806ab96: 682b ldr r3, [r5, #0] 806ab98: 6023 str r3, [r4, #0] TrendRAM_TEMP(j) = TrendRAM_TEMP(i); 806ab9a: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806ab9e: 4613 mov r3, r2 806aba0: 009b lsls r3, r3, #2 806aba2: 4413 add r3, r2 806aba4: 009b lsls r3, r3, #2 806aba6: 461a mov r2, r3 806aba8: 4b89 ldr r3, [pc, #548] ; (806add0 ) 806abaa: 4413 add r3, r2 806abac: 4619 mov r1, r3 806abae: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806abb2: 4613 mov r3, r2 806abb4: 009b lsls r3, r3, #2 806abb6: 4413 add r3, r2 806abb8: 009b lsls r3, r3, #2 806abba: 461a mov r2, r3 806abbc: 4b84 ldr r3, [pc, #528] ; (806add0 ) 806abbe: 4413 add r3, r2 806abc0: 460c mov r4, r1 806abc2: 461d mov r5, r3 806abc4: cd0f ldmia r5!, {r0, r1, r2, r3} 806abc6: c40f stmia r4!, {r0, r1, r2, r3} 806abc8: 682b ldr r3, [r5, #0] 806abca: 6023 str r3, [r4, #0] TrendRAM_TEMP(i) = TrendData; 806abcc: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806abd0: 4613 mov r3, r2 806abd2: 009b lsls r3, r3, #2 806abd4: 4413 add r3, r2 806abd6: 009b lsls r3, r3, #2 806abd8: 461a mov r2, r3 806abda: 4b7d ldr r3, [pc, #500] ; (806add0 ) 806abdc: 4413 add r3, r2 806abde: 461a mov r2, r3 806abe0: 4b7e ldr r3, [pc, #504] ; (806addc ) 806abe2: 4614 mov r4, r2 806abe4: 461d mov r5, r3 806abe6: cd0f ldmia r5!, {r0, r1, r2, r3} 806abe8: c40f stmia r4!, {r0, r1, r2, r3} 806abea: 682b ldr r3, [r5, #0] 806abec: 6023 str r3, [r4, #0] for(i = j; i < l; i++) 806abee: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806abf2: 3301 adds r3, #1 806abf4: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806abf8: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806abfc: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806ac00: 429a cmp r2, r3 806ac02: d391 bcc.n 806ab28 for(j = 0; j < l; j++) // Ðàñêëàäûâàåì ïî âîçðàñòàíèþ äàòû 806ac04: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 806ac08: 3301 adds r3, #1 806ac0a: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 806ac0e: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806ac12: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806ac16: 429a cmp r2, r3 806ac18: f4ff af67 bcc.w 806aaea } } } // Èùåì ìàêñèìóì è ìèíèìóì ïî îñè Y fmax = -10000000000.0f; 806ac1c: 4b70 ldr r3, [pc, #448] ; (806ade0 ) 806ac1e: f207 424c addw r2, r7, #1100 ; 0x44c 806ac22: 6013 str r3, [r2, #0] fmin = 10000000000.0f; 806ac24: 4b6f ldr r3, [pc, #444] ; (806ade4 ) 806ac26: f507 6289 add.w r2, r7, #1096 ; 0x448 806ac2a: 6013 str r3, [r2, #0] for(i = 0; i < l; i++) 806ac2c: 2300 movs r3, #0 806ac2e: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806ac32: e049 b.n 806acc8 { TrendData = TrendRAM_TEMP(i); 806ac34: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806ac38: 4613 mov r3, r2 806ac3a: 009b lsls r3, r3, #2 806ac3c: 4413 add r3, r2 806ac3e: 009b lsls r3, r3, #2 806ac40: 461a mov r2, r3 806ac42: 4b63 ldr r3, [pc, #396] ; (806add0 ) 806ac44: 4413 add r3, r2 806ac46: 461a mov r2, r3 806ac48: 4b64 ldr r3, [pc, #400] ; (806addc ) 806ac4a: 461c mov r4, r3 806ac4c: 4615 mov r5, r2 806ac4e: cd0f ldmia r5!, {r0, r1, r2, r3} 806ac50: c40f stmia r4!, {r0, r1, r2, r3} 806ac52: 682b ldr r3, [r5, #0] 806ac54: 6023 str r3, [r4, #0] if(TrendData.Aval.fl > fmax) fmax = TrendData.Aval.fl; 806ac56: 4b61 ldr r3, [pc, #388] ; (806addc ) 806ac58: ed93 7a00 vldr s14, [r3] 806ac5c: f207 434c addw r3, r7, #1100 ; 0x44c 806ac60: edd3 7a00 vldr s15, [r3] 806ac64: eeb4 7ae7 vcmpe.f32 s14, s15 806ac68: eef1 fa10 vmrs APSR_nzcv, fpscr 806ac6c: dd04 ble.n 806ac78 806ac6e: 4b5b ldr r3, [pc, #364] ; (806addc ) 806ac70: 681b ldr r3, [r3, #0] 806ac72: f207 424c addw r2, r7, #1100 ; 0x44c 806ac76: 6013 str r3, [r2, #0] if(TrendData.Aval.fl < fmin) fmin = TrendData.Aval.fl; 806ac78: 4b58 ldr r3, [pc, #352] ; (806addc ) 806ac7a: ed93 7a00 vldr s14, [r3] 806ac7e: f507 6389 add.w r3, r7, #1096 ; 0x448 806ac82: edd3 7a00 vldr s15, [r3] 806ac86: eeb4 7ae7 vcmpe.f32 s14, s15 806ac8a: eef1 fa10 vmrs APSR_nzcv, fpscr 806ac8e: d504 bpl.n 806ac9a 806ac90: 4b52 ldr r3, [pc, #328] ; (806addc ) 806ac92: 681b ldr r3, [r3, #0] 806ac94: f507 6289 add.w r2, r7, #1096 ; 0x448 806ac98: 6013 str r3, [r2, #0] ScrA_f32(i) = TrendData.Aval.fl; 806ac9a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806ac9e: 009a lsls r2, r3, #2 806aca0: 4b51 ldr r3, [pc, #324] ; (806ade8 ) 806aca2: 4413 add r3, r2 806aca4: 461a mov r2, r3 806aca6: 4b4d ldr r3, [pc, #308] ; (806addc ) 806aca8: 681b ldr r3, [r3, #0] 806acaa: 6013 str r3, [r2, #0] CmplxA_u32(i) = TrendData.DateTime; 806acac: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806acb0: 009a lsls r2, r3, #2 806acb2: 4b47 ldr r3, [pc, #284] ; (806add0 ) 806acb4: 4413 add r3, r2 806acb6: 461a mov r2, r3 806acb8: 4b48 ldr r3, [pc, #288] ; (806addc ) 806acba: 68db ldr r3, [r3, #12] 806acbc: 6013 str r3, [r2, #0] for(i = 0; i < l; i++) 806acbe: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806acc2: 3301 adds r3, #1 806acc4: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806acc8: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806accc: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806acd0: 429a cmp r2, r3 806acd2: d3af bcc.n 806ac34 806acd4: f002 b8fa b.w 806cecc } } // end if(l) òå åñëè èìåþòñÿ çàïèñè ñ òàêèì äåòåêòîðîì } else if(menupos == Trend_factor) 806acd8: 4b44 ldr r3, [pc, #272] ; (806adec ) 806acda: 781b ldrb r3, [r3, #0] 806acdc: b2db uxtb r3, r3 806acde: 2b03 cmp r3, #3 806ace0: f040 8168 bne.w 806afb4 { if(pardata.LANG == RUS) 806ace4: 4b42 ldr r3, [pc, #264] ; (806adf0 ) 806ace6: 7b1b ldrb r3, [r3, #12] 806ace8: b2db uxtb r3, r3 806acea: 2b00 cmp r3, #0 806acec: d106 bne.n 806acfc BSP_LCD_DisplayStringAt(8, 35, "A(ïèê-ôàêòîð)", LEFT_MODE); 806acee: 2303 movs r3, #3 806acf0: 4a40 ldr r2, [pc, #256] ; (806adf4 ) 806acf2: 2123 movs r1, #35 ; 0x23 806acf4: 2008 movs r0, #8 806acf6: f7e8 fe1f bl 8053938 806acfa: e005 b.n 806ad08 else BSP_LCD_DisplayStringAt(8, 35, "A(peak-factor)", LEFT_MODE); 806acfc: 2303 movs r3, #3 806acfe: 4a3e ldr r2, [pc, #248] ; (806adf8 ) 806ad00: 2123 movs r1, #35 ; 0x23 806ad02: 2008 movs r0, #8 806ad04: f7e8 fe18 bl 8053938 // Ñ÷èòàåì êîë-âî èçìåðåíèé ñ òàêèì äåòåêòîðîì è ïåðåíîñèì â TrendRAM_TEMP() l = 0; 806ad08: 2300 movs r3, #0 806ad0a: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 for(i = 0; i < NumTrendMeas; i++) 806ad0e: 2300 movs r3, #0 806ad10: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806ad14: e047 b.n 806ada6 { TrendData = TrendRAM(i); 806ad16: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806ad1a: 4613 mov r3, r2 806ad1c: 009b lsls r3, r3, #2 806ad1e: 4413 add r3, r2 806ad20: 009b lsls r3, r3, #2 806ad22: 461a mov r2, r3 806ad24: 4b35 ldr r3, [pc, #212] ; (806adfc ) 806ad26: 4413 add r3, r2 806ad28: 461a mov r2, r3 806ad2a: 4b2c ldr r3, [pc, #176] ; (806addc ) 806ad2c: 461c mov r4, r3 806ad2e: 4615 mov r5, r2 806ad30: cd0f ldmia r5!, {r0, r1, r2, r3} 806ad32: c40f stmia r4!, {r0, r1, r2, r3} 806ad34: 682b ldr r3, [r5, #0] 806ad36: 6023 str r3, [r4, #0] if(((TrendData.Aivs == 'Ô') || (TrendData.Aivs == 'F')) && (TrendData.Aval.fl != -1.0f)) 806ad38: 4b28 ldr r3, [pc, #160] ; (806addc ) 806ad3a: 7c1b ldrb r3, [r3, #16] 806ad3c: b2db uxtb r3, r3 806ad3e: 2bd4 cmp r3, #212 ; 0xd4 806ad40: d004 beq.n 806ad4c 806ad42: 4b26 ldr r3, [pc, #152] ; (806addc ) 806ad44: 7c1b ldrb r3, [r3, #16] 806ad46: b2db uxtb r3, r3 806ad48: 2b46 cmp r3, #70 ; 0x46 806ad4a: d127 bne.n 806ad9c 806ad4c: 4b23 ldr r3, [pc, #140] ; (806addc ) 806ad4e: edd3 7a00 vldr s15, [r3] 806ad52: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 806ad56: eef4 7a47 vcmp.f32 s15, s14 806ad5a: eef1 fa10 vmrs APSR_nzcv, fpscr 806ad5e: d01d beq.n 806ad9c { TrendRAM_TEMP(l) = TrendRAM(i); 806ad60: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 806ad64: 4613 mov r3, r2 806ad66: 009b lsls r3, r3, #2 806ad68: 4413 add r3, r2 806ad6a: 009b lsls r3, r3, #2 806ad6c: 461a mov r2, r3 806ad6e: 4b18 ldr r3, [pc, #96] ; (806add0 ) 806ad70: 4413 add r3, r2 806ad72: 4619 mov r1, r3 806ad74: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806ad78: 4613 mov r3, r2 806ad7a: 009b lsls r3, r3, #2 806ad7c: 4413 add r3, r2 806ad7e: 009b lsls r3, r3, #2 806ad80: 461a mov r2, r3 806ad82: 4b1e ldr r3, [pc, #120] ; (806adfc ) 806ad84: 4413 add r3, r2 806ad86: 460c mov r4, r1 806ad88: 461d mov r5, r3 806ad8a: cd0f ldmia r5!, {r0, r1, r2, r3} 806ad8c: c40f stmia r4!, {r0, r1, r2, r3} 806ad8e: 682b ldr r3, [r5, #0] 806ad90: 6023 str r3, [r4, #0] l++; 806ad92: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806ad96: 3301 adds r3, #1 806ad98: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 for(i = 0; i < NumTrendMeas; i++) 806ad9c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806ada0: 3301 adds r3, #1 806ada2: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806ada6: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806adaa: 4b15 ldr r3, [pc, #84] ; (806ae00 ) 806adac: 681b ldr r3, [r3, #0] 806adae: 429a cmp r2, r3 806adb0: d3b1 bcc.n 806ad16 } } /////////////////////////////////////////////////////////////////////////// if(l) // Åñëè èìåþòñÿ çàïèñè ñ òàêèì äåòåêòîðîì 806adb2: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806adb6: 2b00 cmp r3, #0 806adb8: f002 8088 beq.w 806cecc { for(j = 0; j < l; j++) // Ðàñêëàäûâàåì ïî âîçðàñòàíèþ äàòû 806adbc: 2300 movs r3, #0 806adbe: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 806adc2: e092 b.n 806aeea { for(i = j; i < l; i++) 806adc4: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 806adc8: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806adcc: e082 b.n 806aed4 806adce: bf00 nop 806add0: 64090000 .word 0x64090000 806add4: 20022314 .word 0x20022314 806add8: 20022900 .word 0x20022900 806addc: 20021f88 .word 0x20021f88 806ade0: d01502f9 .word 0xd01502f9 806ade4: 501502f9 .word 0x501502f9 806ade8: 64080000 .word 0x64080000 806adec: 20020070 .word 0x20020070 806adf0: 20023e60 .word 0x20023e60 806adf4: 080cf8fc .word 0x080cf8fc 806adf8: 080cf90c .word 0x080cf90c 806adfc: 640a0000 .word 0x640a0000 806ae00: 20020e10 .word 0x20020e10 { TrendData1 = TrendRAM_TEMP(i); 806ae04: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806ae08: 4613 mov r3, r2 806ae0a: 009b lsls r3, r3, #2 806ae0c: 4413 add r3, r2 806ae0e: 009b lsls r3, r3, #2 806ae10: 461a mov r2, r3 806ae12: 4ba6 ldr r3, [pc, #664] ; (806b0ac ) 806ae14: 4413 add r3, r2 806ae16: 461a mov r2, r3 806ae18: 4ba5 ldr r3, [pc, #660] ; (806b0b0 ) 806ae1a: 461c mov r4, r3 806ae1c: 4615 mov r5, r2 806ae1e: cd0f ldmia r5!, {r0, r1, r2, r3} 806ae20: c40f stmia r4!, {r0, r1, r2, r3} 806ae22: 682b ldr r3, [r5, #0] 806ae24: 6023 str r3, [r4, #0] TrendData2 = TrendRAM_TEMP(j); 806ae26: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806ae2a: 4613 mov r3, r2 806ae2c: 009b lsls r3, r3, #2 806ae2e: 4413 add r3, r2 806ae30: 009b lsls r3, r3, #2 806ae32: 461a mov r2, r3 806ae34: 4b9d ldr r3, [pc, #628] ; (806b0ac ) 806ae36: 4413 add r3, r2 806ae38: 461a mov r2, r3 806ae3a: 4b9e ldr r3, [pc, #632] ; (806b0b4 ) 806ae3c: 461c mov r4, r3 806ae3e: 4615 mov r5, r2 806ae40: cd0f ldmia r5!, {r0, r1, r2, r3} 806ae42: c40f stmia r4!, {r0, r1, r2, r3} 806ae44: 682b ldr r3, [r5, #0] 806ae46: 6023 str r3, [r4, #0] if(TrendData1.DateTime < TrendData2.DateTime) 806ae48: 4b99 ldr r3, [pc, #612] ; (806b0b0 ) 806ae4a: 68da ldr r2, [r3, #12] 806ae4c: 4b99 ldr r3, [pc, #612] ; (806b0b4 ) 806ae4e: 68db ldr r3, [r3, #12] 806ae50: 429a cmp r2, r3 806ae52: d23a bcs.n 806aeca { TrendData = TrendRAM_TEMP(j); 806ae54: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806ae58: 4613 mov r3, r2 806ae5a: 009b lsls r3, r3, #2 806ae5c: 4413 add r3, r2 806ae5e: 009b lsls r3, r3, #2 806ae60: 461a mov r2, r3 806ae62: 4b92 ldr r3, [pc, #584] ; (806b0ac ) 806ae64: 4413 add r3, r2 806ae66: 461a mov r2, r3 806ae68: 4b93 ldr r3, [pc, #588] ; (806b0b8 ) 806ae6a: 461c mov r4, r3 806ae6c: 4615 mov r5, r2 806ae6e: cd0f ldmia r5!, {r0, r1, r2, r3} 806ae70: c40f stmia r4!, {r0, r1, r2, r3} 806ae72: 682b ldr r3, [r5, #0] 806ae74: 6023 str r3, [r4, #0] TrendRAM_TEMP(j) = TrendRAM_TEMP(i); 806ae76: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806ae7a: 4613 mov r3, r2 806ae7c: 009b lsls r3, r3, #2 806ae7e: 4413 add r3, r2 806ae80: 009b lsls r3, r3, #2 806ae82: 461a mov r2, r3 806ae84: 4b89 ldr r3, [pc, #548] ; (806b0ac ) 806ae86: 4413 add r3, r2 806ae88: 4619 mov r1, r3 806ae8a: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806ae8e: 4613 mov r3, r2 806ae90: 009b lsls r3, r3, #2 806ae92: 4413 add r3, r2 806ae94: 009b lsls r3, r3, #2 806ae96: 461a mov r2, r3 806ae98: 4b84 ldr r3, [pc, #528] ; (806b0ac ) 806ae9a: 4413 add r3, r2 806ae9c: 460c mov r4, r1 806ae9e: 461d mov r5, r3 806aea0: cd0f ldmia r5!, {r0, r1, r2, r3} 806aea2: c40f stmia r4!, {r0, r1, r2, r3} 806aea4: 682b ldr r3, [r5, #0] 806aea6: 6023 str r3, [r4, #0] TrendRAM_TEMP(i) = TrendData; 806aea8: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806aeac: 4613 mov r3, r2 806aeae: 009b lsls r3, r3, #2 806aeb0: 4413 add r3, r2 806aeb2: 009b lsls r3, r3, #2 806aeb4: 461a mov r2, r3 806aeb6: 4b7d ldr r3, [pc, #500] ; (806b0ac ) 806aeb8: 4413 add r3, r2 806aeba: 461a mov r2, r3 806aebc: 4b7e ldr r3, [pc, #504] ; (806b0b8 ) 806aebe: 4614 mov r4, r2 806aec0: 461d mov r5, r3 806aec2: cd0f ldmia r5!, {r0, r1, r2, r3} 806aec4: c40f stmia r4!, {r0, r1, r2, r3} 806aec6: 682b ldr r3, [r5, #0] 806aec8: 6023 str r3, [r4, #0] for(i = j; i < l; i++) 806aeca: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806aece: 3301 adds r3, #1 806aed0: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806aed4: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806aed8: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806aedc: 429a cmp r2, r3 806aede: d391 bcc.n 806ae04 for(j = 0; j < l; j++) // Ðàñêëàäûâàåì ïî âîçðàñòàíèþ äàòû 806aee0: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 806aee4: 3301 adds r3, #1 806aee6: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 806aeea: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806aeee: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806aef2: 429a cmp r2, r3 806aef4: f4ff af66 bcc.w 806adc4 } } } // Èùåì ìàêñèìóì è ìèíèìóì ïî îñè Y fmax = -10000000000.0f; 806aef8: 4b70 ldr r3, [pc, #448] ; (806b0bc ) 806aefa: f207 424c addw r2, r7, #1100 ; 0x44c 806aefe: 6013 str r3, [r2, #0] fmin = 10000000000.0f; 806af00: 4b6f ldr r3, [pc, #444] ; (806b0c0 ) 806af02: f507 6289 add.w r2, r7, #1096 ; 0x448 806af06: 6013 str r3, [r2, #0] for(i = 0; i < l; i++) 806af08: 2300 movs r3, #0 806af0a: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806af0e: e049 b.n 806afa4 { TrendData = TrendRAM_TEMP(i); 806af10: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806af14: 4613 mov r3, r2 806af16: 009b lsls r3, r3, #2 806af18: 4413 add r3, r2 806af1a: 009b lsls r3, r3, #2 806af1c: 461a mov r2, r3 806af1e: 4b63 ldr r3, [pc, #396] ; (806b0ac ) 806af20: 4413 add r3, r2 806af22: 461a mov r2, r3 806af24: 4b64 ldr r3, [pc, #400] ; (806b0b8 ) 806af26: 461c mov r4, r3 806af28: 4615 mov r5, r2 806af2a: cd0f ldmia r5!, {r0, r1, r2, r3} 806af2c: c40f stmia r4!, {r0, r1, r2, r3} 806af2e: 682b ldr r3, [r5, #0] 806af30: 6023 str r3, [r4, #0] if(TrendData.Aval.fl > fmax) fmax = TrendData.Aval.fl; 806af32: 4b61 ldr r3, [pc, #388] ; (806b0b8 ) 806af34: ed93 7a00 vldr s14, [r3] 806af38: f207 434c addw r3, r7, #1100 ; 0x44c 806af3c: edd3 7a00 vldr s15, [r3] 806af40: eeb4 7ae7 vcmpe.f32 s14, s15 806af44: eef1 fa10 vmrs APSR_nzcv, fpscr 806af48: dd04 ble.n 806af54 806af4a: 4b5b ldr r3, [pc, #364] ; (806b0b8 ) 806af4c: 681b ldr r3, [r3, #0] 806af4e: f207 424c addw r2, r7, #1100 ; 0x44c 806af52: 6013 str r3, [r2, #0] if(TrendData.Aval.fl < fmin) fmin = TrendData.Aval.fl; 806af54: 4b58 ldr r3, [pc, #352] ; (806b0b8 ) 806af56: ed93 7a00 vldr s14, [r3] 806af5a: f507 6389 add.w r3, r7, #1096 ; 0x448 806af5e: edd3 7a00 vldr s15, [r3] 806af62: eeb4 7ae7 vcmpe.f32 s14, s15 806af66: eef1 fa10 vmrs APSR_nzcv, fpscr 806af6a: d504 bpl.n 806af76 806af6c: 4b52 ldr r3, [pc, #328] ; (806b0b8 ) 806af6e: 681b ldr r3, [r3, #0] 806af70: f507 6289 add.w r2, r7, #1096 ; 0x448 806af74: 6013 str r3, [r2, #0] ScrA_f32(i) = TrendData.Aval.fl; 806af76: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806af7a: 009a lsls r2, r3, #2 806af7c: 4b51 ldr r3, [pc, #324] ; (806b0c4 ) 806af7e: 4413 add r3, r2 806af80: 461a mov r2, r3 806af82: 4b4d ldr r3, [pc, #308] ; (806b0b8 ) 806af84: 681b ldr r3, [r3, #0] 806af86: 6013 str r3, [r2, #0] CmplxA_u32(i) = TrendData.DateTime; 806af88: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806af8c: 009a lsls r2, r3, #2 806af8e: 4b47 ldr r3, [pc, #284] ; (806b0ac ) 806af90: 4413 add r3, r2 806af92: 461a mov r2, r3 806af94: 4b48 ldr r3, [pc, #288] ; (806b0b8 ) 806af96: 68db ldr r3, [r3, #12] 806af98: 6013 str r3, [r2, #0] for(i = 0; i < l; i++) 806af9a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806af9e: 3301 adds r3, #1 806afa0: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806afa4: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806afa8: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806afac: 429a cmp r2, r3 806afae: d3af bcc.n 806af10 806afb0: f001 bf8c b.w 806cecc } } // end if(l) òå åñëè èìåþòñÿ çàïèñè ñ òàêèì äåòåêòîðîì } else if(menupos == Trend_excess) 806afb4: 4b44 ldr r3, [pc, #272] ; (806b0c8 ) 806afb6: 781b ldrb r3, [r3, #0] 806afb8: b2db uxtb r3, r3 806afba: 2b04 cmp r3, #4 806afbc: f041 8786 bne.w 806cecc { if(pardata.LANG == RUS) 806afc0: 4b42 ldr r3, [pc, #264] ; (806b0cc ) 806afc2: 7b1b ldrb r3, [r3, #12] 806afc4: b2db uxtb r3, r3 806afc6: 2b00 cmp r3, #0 806afc8: d106 bne.n 806afd8 BSP_LCD_DisplayStringAt(8, 35, "A(ýêñöåññ)", LEFT_MODE); 806afca: 2303 movs r3, #3 806afcc: 4a40 ldr r2, [pc, #256] ; (806b0d0 ) 806afce: 2123 movs r1, #35 ; 0x23 806afd0: 2008 movs r0, #8 806afd2: f7e8 fcb1 bl 8053938 806afd6: e005 b.n 806afe4 else BSP_LCD_DisplayStringAt(8, 35, "A(excess)", LEFT_MODE); 806afd8: 2303 movs r3, #3 806afda: 4a3e ldr r2, [pc, #248] ; (806b0d4 ) 806afdc: 2123 movs r1, #35 ; 0x23 806afde: 2008 movs r0, #8 806afe0: f7e8 fcaa bl 8053938 // Ñ÷èòàåì êîë-âî èçìåðåíèé ñ òàêèì äåòåêòîðîì è ïåðåíîñèì â TrendRAM_TEMP() l = 0; 806afe4: 2300 movs r3, #0 806afe6: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 for(i = 0; i < NumTrendMeas; i++) 806afea: 2300 movs r3, #0 806afec: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806aff0: e047 b.n 806b082 { TrendData = TrendRAM(i); 806aff2: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806aff6: 4613 mov r3, r2 806aff8: 009b lsls r3, r3, #2 806affa: 4413 add r3, r2 806affc: 009b lsls r3, r3, #2 806affe: 461a mov r2, r3 806b000: 4b35 ldr r3, [pc, #212] ; (806b0d8 ) 806b002: 4413 add r3, r2 806b004: 461a mov r2, r3 806b006: 4b2c ldr r3, [pc, #176] ; (806b0b8 ) 806b008: 461c mov r4, r3 806b00a: 4615 mov r5, r2 806b00c: cd0f ldmia r5!, {r0, r1, r2, r3} 806b00e: c40f stmia r4!, {r0, r1, r2, r3} 806b010: 682b ldr r3, [r5, #0] 806b012: 6023 str r3, [r4, #0] if(((TrendData.Aivs == 'Ý') || (TrendData.Aivs == 'E')) && (TrendData.Aval.fl != -1.0f)) 806b014: 4b28 ldr r3, [pc, #160] ; (806b0b8 ) 806b016: 7c1b ldrb r3, [r3, #16] 806b018: b2db uxtb r3, r3 806b01a: 2bdd cmp r3, #221 ; 0xdd 806b01c: d004 beq.n 806b028 806b01e: 4b26 ldr r3, [pc, #152] ; (806b0b8 ) 806b020: 7c1b ldrb r3, [r3, #16] 806b022: b2db uxtb r3, r3 806b024: 2b45 cmp r3, #69 ; 0x45 806b026: d127 bne.n 806b078 806b028: 4b23 ldr r3, [pc, #140] ; (806b0b8 ) 806b02a: edd3 7a00 vldr s15, [r3] 806b02e: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 806b032: eef4 7a47 vcmp.f32 s15, s14 806b036: eef1 fa10 vmrs APSR_nzcv, fpscr 806b03a: d01d beq.n 806b078 { TrendRAM_TEMP(l) = TrendRAM(i); 806b03c: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 806b040: 4613 mov r3, r2 806b042: 009b lsls r3, r3, #2 806b044: 4413 add r3, r2 806b046: 009b lsls r3, r3, #2 806b048: 461a mov r2, r3 806b04a: 4b18 ldr r3, [pc, #96] ; (806b0ac ) 806b04c: 4413 add r3, r2 806b04e: 4619 mov r1, r3 806b050: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806b054: 4613 mov r3, r2 806b056: 009b lsls r3, r3, #2 806b058: 4413 add r3, r2 806b05a: 009b lsls r3, r3, #2 806b05c: 461a mov r2, r3 806b05e: 4b1e ldr r3, [pc, #120] ; (806b0d8 ) 806b060: 4413 add r3, r2 806b062: 460c mov r4, r1 806b064: 461d mov r5, r3 806b066: cd0f ldmia r5!, {r0, r1, r2, r3} 806b068: c40f stmia r4!, {r0, r1, r2, r3} 806b06a: 682b ldr r3, [r5, #0] 806b06c: 6023 str r3, [r4, #0] l++; 806b06e: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806b072: 3301 adds r3, #1 806b074: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 for(i = 0; i < NumTrendMeas; i++) 806b078: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806b07c: 3301 adds r3, #1 806b07e: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806b082: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806b086: 4b15 ldr r3, [pc, #84] ; (806b0dc ) 806b088: 681b ldr r3, [r3, #0] 806b08a: 429a cmp r2, r3 806b08c: d3b1 bcc.n 806aff2 } } /////////////////////////////////////////////////////////////////////////// if(l) // Åñëè èìåþòñÿ çàïèñè ñ òàêèì äåòåêòîðîì 806b08e: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806b092: 2b00 cmp r3, #0 806b094: f001 871a beq.w 806cecc { for(j = 0; j < l; j++) // Ðàñêëàäûâàåì ïî âîçðàñòàíèþ äàòû 806b098: 2300 movs r3, #0 806b09a: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 806b09e: e092 b.n 806b1c6 { for(i = j; i < l; i++) 806b0a0: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 806b0a4: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806b0a8: e082 b.n 806b1b0 806b0aa: bf00 nop 806b0ac: 64090000 .word 0x64090000 806b0b0: 20022314 .word 0x20022314 806b0b4: 20022900 .word 0x20022900 806b0b8: 20021f88 .word 0x20021f88 806b0bc: d01502f9 .word 0xd01502f9 806b0c0: 501502f9 .word 0x501502f9 806b0c4: 64080000 .word 0x64080000 806b0c8: 20020070 .word 0x20020070 806b0cc: 20023e60 .word 0x20023e60 806b0d0: 080cf91c .word 0x080cf91c 806b0d4: 080cf928 .word 0x080cf928 806b0d8: 640a0000 .word 0x640a0000 806b0dc: 20020e10 .word 0x20020e10 { TrendData1 = TrendRAM_TEMP(i); 806b0e0: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806b0e4: 4613 mov r3, r2 806b0e6: 009b lsls r3, r3, #2 806b0e8: 4413 add r3, r2 806b0ea: 009b lsls r3, r3, #2 806b0ec: 461a mov r2, r3 806b0ee: 4ba6 ldr r3, [pc, #664] ; (806b388 ) 806b0f0: 4413 add r3, r2 806b0f2: 461a mov r2, r3 806b0f4: 4ba5 ldr r3, [pc, #660] ; (806b38c ) 806b0f6: 461c mov r4, r3 806b0f8: 4615 mov r5, r2 806b0fa: cd0f ldmia r5!, {r0, r1, r2, r3} 806b0fc: c40f stmia r4!, {r0, r1, r2, r3} 806b0fe: 682b ldr r3, [r5, #0] 806b100: 6023 str r3, [r4, #0] TrendData2 = TrendRAM_TEMP(j); 806b102: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806b106: 4613 mov r3, r2 806b108: 009b lsls r3, r3, #2 806b10a: 4413 add r3, r2 806b10c: 009b lsls r3, r3, #2 806b10e: 461a mov r2, r3 806b110: 4b9d ldr r3, [pc, #628] ; (806b388 ) 806b112: 4413 add r3, r2 806b114: 461a mov r2, r3 806b116: 4b9e ldr r3, [pc, #632] ; (806b390 ) 806b118: 461c mov r4, r3 806b11a: 4615 mov r5, r2 806b11c: cd0f ldmia r5!, {r0, r1, r2, r3} 806b11e: c40f stmia r4!, {r0, r1, r2, r3} 806b120: 682b ldr r3, [r5, #0] 806b122: 6023 str r3, [r4, #0] if(TrendData1.DateTime < TrendData2.DateTime) 806b124: 4b99 ldr r3, [pc, #612] ; (806b38c ) 806b126: 68da ldr r2, [r3, #12] 806b128: 4b99 ldr r3, [pc, #612] ; (806b390 ) 806b12a: 68db ldr r3, [r3, #12] 806b12c: 429a cmp r2, r3 806b12e: d23a bcs.n 806b1a6 { TrendData = TrendRAM_TEMP(j); 806b130: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806b134: 4613 mov r3, r2 806b136: 009b lsls r3, r3, #2 806b138: 4413 add r3, r2 806b13a: 009b lsls r3, r3, #2 806b13c: 461a mov r2, r3 806b13e: 4b92 ldr r3, [pc, #584] ; (806b388 ) 806b140: 4413 add r3, r2 806b142: 461a mov r2, r3 806b144: 4b93 ldr r3, [pc, #588] ; (806b394 ) 806b146: 461c mov r4, r3 806b148: 4615 mov r5, r2 806b14a: cd0f ldmia r5!, {r0, r1, r2, r3} 806b14c: c40f stmia r4!, {r0, r1, r2, r3} 806b14e: 682b ldr r3, [r5, #0] 806b150: 6023 str r3, [r4, #0] TrendRAM_TEMP(j) = TrendRAM_TEMP(i); 806b152: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806b156: 4613 mov r3, r2 806b158: 009b lsls r3, r3, #2 806b15a: 4413 add r3, r2 806b15c: 009b lsls r3, r3, #2 806b15e: 461a mov r2, r3 806b160: 4b89 ldr r3, [pc, #548] ; (806b388 ) 806b162: 4413 add r3, r2 806b164: 4619 mov r1, r3 806b166: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806b16a: 4613 mov r3, r2 806b16c: 009b lsls r3, r3, #2 806b16e: 4413 add r3, r2 806b170: 009b lsls r3, r3, #2 806b172: 461a mov r2, r3 806b174: 4b84 ldr r3, [pc, #528] ; (806b388 ) 806b176: 4413 add r3, r2 806b178: 460c mov r4, r1 806b17a: 461d mov r5, r3 806b17c: cd0f ldmia r5!, {r0, r1, r2, r3} 806b17e: c40f stmia r4!, {r0, r1, r2, r3} 806b180: 682b ldr r3, [r5, #0] 806b182: 6023 str r3, [r4, #0] TrendRAM_TEMP(i) = TrendData; 806b184: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806b188: 4613 mov r3, r2 806b18a: 009b lsls r3, r3, #2 806b18c: 4413 add r3, r2 806b18e: 009b lsls r3, r3, #2 806b190: 461a mov r2, r3 806b192: 4b7d ldr r3, [pc, #500] ; (806b388 ) 806b194: 4413 add r3, r2 806b196: 461a mov r2, r3 806b198: 4b7e ldr r3, [pc, #504] ; (806b394 ) 806b19a: 4614 mov r4, r2 806b19c: 461d mov r5, r3 806b19e: cd0f ldmia r5!, {r0, r1, r2, r3} 806b1a0: c40f stmia r4!, {r0, r1, r2, r3} 806b1a2: 682b ldr r3, [r5, #0] 806b1a4: 6023 str r3, [r4, #0] for(i = j; i < l; i++) 806b1a6: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806b1aa: 3301 adds r3, #1 806b1ac: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806b1b0: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806b1b4: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806b1b8: 429a cmp r2, r3 806b1ba: d391 bcc.n 806b0e0 for(j = 0; j < l; j++) // Ðàñêëàäûâàåì ïî âîçðàñòàíèþ äàòû 806b1bc: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 806b1c0: 3301 adds r3, #1 806b1c2: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 806b1c6: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806b1ca: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806b1ce: 429a cmp r2, r3 806b1d0: f4ff af66 bcc.w 806b0a0 } } } // Èùåì ìàêñèìóì è ìèíèìóì ïî îñè Y fmax = -10000000000.0f; 806b1d4: 4b70 ldr r3, [pc, #448] ; (806b398 ) 806b1d6: f207 424c addw r2, r7, #1100 ; 0x44c 806b1da: 6013 str r3, [r2, #0] fmin = 10000000000.0f; 806b1dc: 4b6f ldr r3, [pc, #444] ; (806b39c ) 806b1de: f507 6289 add.w r2, r7, #1096 ; 0x448 806b1e2: 6013 str r3, [r2, #0] for(i = 0; i < l; i++) 806b1e4: 2300 movs r3, #0 806b1e6: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806b1ea: e049 b.n 806b280 { TrendData = TrendRAM_TEMP(i); 806b1ec: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806b1f0: 4613 mov r3, r2 806b1f2: 009b lsls r3, r3, #2 806b1f4: 4413 add r3, r2 806b1f6: 009b lsls r3, r3, #2 806b1f8: 461a mov r2, r3 806b1fa: 4b63 ldr r3, [pc, #396] ; (806b388 ) 806b1fc: 4413 add r3, r2 806b1fe: 461a mov r2, r3 806b200: 4b64 ldr r3, [pc, #400] ; (806b394 ) 806b202: 461c mov r4, r3 806b204: 4615 mov r5, r2 806b206: cd0f ldmia r5!, {r0, r1, r2, r3} 806b208: c40f stmia r4!, {r0, r1, r2, r3} 806b20a: 682b ldr r3, [r5, #0] 806b20c: 6023 str r3, [r4, #0] if(TrendData.Aval.fl > fmax) fmax = TrendData.Aval.fl; 806b20e: 4b61 ldr r3, [pc, #388] ; (806b394 ) 806b210: ed93 7a00 vldr s14, [r3] 806b214: f207 434c addw r3, r7, #1100 ; 0x44c 806b218: edd3 7a00 vldr s15, [r3] 806b21c: eeb4 7ae7 vcmpe.f32 s14, s15 806b220: eef1 fa10 vmrs APSR_nzcv, fpscr 806b224: dd04 ble.n 806b230 806b226: 4b5b ldr r3, [pc, #364] ; (806b394 ) 806b228: 681b ldr r3, [r3, #0] 806b22a: f207 424c addw r2, r7, #1100 ; 0x44c 806b22e: 6013 str r3, [r2, #0] if(TrendData.Aval.fl < fmin) fmin = TrendData.Aval.fl; 806b230: 4b58 ldr r3, [pc, #352] ; (806b394 ) 806b232: ed93 7a00 vldr s14, [r3] 806b236: f507 6389 add.w r3, r7, #1096 ; 0x448 806b23a: edd3 7a00 vldr s15, [r3] 806b23e: eeb4 7ae7 vcmpe.f32 s14, s15 806b242: eef1 fa10 vmrs APSR_nzcv, fpscr 806b246: d504 bpl.n 806b252 806b248: 4b52 ldr r3, [pc, #328] ; (806b394 ) 806b24a: 681b ldr r3, [r3, #0] 806b24c: f507 6289 add.w r2, r7, #1096 ; 0x448 806b250: 6013 str r3, [r2, #0] ScrA_f32(i) = TrendData.Aval.fl; 806b252: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806b256: 009a lsls r2, r3, #2 806b258: 4b51 ldr r3, [pc, #324] ; (806b3a0 ) 806b25a: 4413 add r3, r2 806b25c: 461a mov r2, r3 806b25e: 4b4d ldr r3, [pc, #308] ; (806b394 ) 806b260: 681b ldr r3, [r3, #0] 806b262: 6013 str r3, [r2, #0] CmplxA_u32(i) = TrendData.DateTime; 806b264: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806b268: 009a lsls r2, r3, #2 806b26a: 4b47 ldr r3, [pc, #284] ; (806b388 ) 806b26c: 4413 add r3, r2 806b26e: 461a mov r2, r3 806b270: 4b48 ldr r3, [pc, #288] ; (806b394 ) 806b272: 68db ldr r3, [r3, #12] 806b274: 6013 str r3, [r2, #0] for(i = 0; i < l; i++) 806b276: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806b27a: 3301 adds r3, #1 806b27c: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806b280: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806b284: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806b288: 429a cmp r2, r3 806b28a: d3af bcc.n 806b1ec 806b28c: f001 be1e b.w 806cecc } } // end if(l) òå åñëè èìåþòñÿ çàïèñè ñ òàêèì äåòåêòîðîì } } else if(menu == TREND_V) 806b290: 4b44 ldr r3, [pc, #272] ; (806b3a4 ) 806b292: 781b ldrb r3, [r3, #0] 806b294: b2db uxtb r3, r3 806b296: 2b46 cmp r3, #70 ; 0x46 806b298: f040 870a bne.w 806c0b0 { if(menupos == Trend_pk) 806b29c: 4b42 ldr r3, [pc, #264] ; (806b3a8 ) 806b29e: 781b ldrb r3, [r3, #0] 806b2a0: b2db uxtb r3, r3 806b2a2: 2b00 cmp r3, #0 806b2a4: f040 8164 bne.w 806b570 { if(pardata.LANG == RUS) 806b2a8: 4b40 ldr r3, [pc, #256] ; (806b3ac ) 806b2aa: 7b1b ldrb r3, [r3, #12] 806b2ac: b2db uxtb r3, r3 806b2ae: 2b00 cmp r3, #0 806b2b0: d106 bne.n 806b2c0 BSP_LCD_DisplayStringAt(8, 35, "V(ïèê),ìì/ñ", LEFT_MODE); 806b2b2: 2303 movs r3, #3 806b2b4: 4a3e ldr r2, [pc, #248] ; (806b3b0 ) 806b2b6: 2123 movs r1, #35 ; 0x23 806b2b8: 2008 movs r0, #8 806b2ba: f7e8 fb3d bl 8053938 806b2be: e005 b.n 806b2cc else BSP_LCD_DisplayStringAt(8, 35, "V(peak),mm/s", LEFT_MODE); 806b2c0: 2303 movs r3, #3 806b2c2: 4a3c ldr r2, [pc, #240] ; (806b3b4 ) 806b2c4: 2123 movs r1, #35 ; 0x23 806b2c6: 2008 movs r0, #8 806b2c8: f7e8 fb36 bl 8053938 // Ñ÷èòàåì êîë-âî èçìåðåíèé ñ òàêèì äåòåêòîðîì è ïåðåíîñèì â TrendRAM_TEMP() l = 0; 806b2cc: 2300 movs r3, #0 806b2ce: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 for(i = 0; i < NumTrendMeas; i++) 806b2d2: 2300 movs r3, #0 806b2d4: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806b2d8: e042 b.n 806b360 { TrendData = TrendRAM(i); 806b2da: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806b2de: 4613 mov r3, r2 806b2e0: 009b lsls r3, r3, #2 806b2e2: 4413 add r3, r2 806b2e4: 009b lsls r3, r3, #2 806b2e6: 461a mov r2, r3 806b2e8: 4b33 ldr r3, [pc, #204] ; (806b3b8 ) 806b2ea: 4413 add r3, r2 806b2ec: 461a mov r2, r3 806b2ee: 4b29 ldr r3, [pc, #164] ; (806b394 ) 806b2f0: 461c mov r4, r3 806b2f2: 4615 mov r5, r2 806b2f4: cd0f ldmia r5!, {r0, r1, r2, r3} 806b2f6: c40f stmia r4!, {r0, r1, r2, r3} 806b2f8: 682b ldr r3, [r5, #0] 806b2fa: 6023 str r3, [r4, #0] if((TrendData.Vivs == 'P') && (TrendData.Vval.fl != -1.0f)) 806b2fc: 4b25 ldr r3, [pc, #148] ; (806b394 ) 806b2fe: 7c5b ldrb r3, [r3, #17] 806b300: b2db uxtb r3, r3 806b302: 2b50 cmp r3, #80 ; 0x50 806b304: d127 bne.n 806b356 806b306: 4b23 ldr r3, [pc, #140] ; (806b394 ) 806b308: edd3 7a01 vldr s15, [r3, #4] 806b30c: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 806b310: eef4 7a47 vcmp.f32 s15, s14 806b314: eef1 fa10 vmrs APSR_nzcv, fpscr 806b318: d01d beq.n 806b356 { TrendRAM_TEMP(l) = TrendRAM(i); 806b31a: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 806b31e: 4613 mov r3, r2 806b320: 009b lsls r3, r3, #2 806b322: 4413 add r3, r2 806b324: 009b lsls r3, r3, #2 806b326: 461a mov r2, r3 806b328: 4b17 ldr r3, [pc, #92] ; (806b388 ) 806b32a: 4413 add r3, r2 806b32c: 4619 mov r1, r3 806b32e: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806b332: 4613 mov r3, r2 806b334: 009b lsls r3, r3, #2 806b336: 4413 add r3, r2 806b338: 009b lsls r3, r3, #2 806b33a: 461a mov r2, r3 806b33c: 4b1e ldr r3, [pc, #120] ; (806b3b8 ) 806b33e: 4413 add r3, r2 806b340: 460c mov r4, r1 806b342: 461d mov r5, r3 806b344: cd0f ldmia r5!, {r0, r1, r2, r3} 806b346: c40f stmia r4!, {r0, r1, r2, r3} 806b348: 682b ldr r3, [r5, #0] 806b34a: 6023 str r3, [r4, #0] l++; 806b34c: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806b350: 3301 adds r3, #1 806b352: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 for(i = 0; i < NumTrendMeas; i++) 806b356: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806b35a: 3301 adds r3, #1 806b35c: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806b360: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806b364: 4b15 ldr r3, [pc, #84] ; (806b3bc ) 806b366: 681b ldr r3, [r3, #0] 806b368: 429a cmp r2, r3 806b36a: d3b6 bcc.n 806b2da } } /////////////////////////////////////////////////////////////////////////// if(l) // Åñëè èìåþòñÿ çàïèñè ñ òàêèì äåòåêòîðîì 806b36c: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806b370: 2b00 cmp r3, #0 806b372: f001 85ab beq.w 806cecc { for(j = 0; j < l; j++) // Ðàñêëàäûâàåì ïî âîçðàñòàíèþ äàòû 806b376: 2300 movs r3, #0 806b378: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 806b37c: e093 b.n 806b4a6 { for(i = j; i < l; i++) 806b37e: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 806b382: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806b386: e083 b.n 806b490 806b388: 64090000 .word 0x64090000 806b38c: 20022314 .word 0x20022314 806b390: 20022900 .word 0x20022900 806b394: 20021f88 .word 0x20021f88 806b398: d01502f9 .word 0xd01502f9 806b39c: 501502f9 .word 0x501502f9 806b3a0: 64080000 .word 0x64080000 806b3a4: 20020f78 .word 0x20020f78 806b3a8: 20020070 .word 0x20020070 806b3ac: 20023e60 .word 0x20023e60 806b3b0: 080cf934 .word 0x080cf934 806b3b4: 080cf940 .word 0x080cf940 806b3b8: 640a0000 .word 0x640a0000 806b3bc: 20020e10 .word 0x20020e10 { TrendData1 = TrendRAM_TEMP(i); 806b3c0: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806b3c4: 4613 mov r3, r2 806b3c6: 009b lsls r3, r3, #2 806b3c8: 4413 add r3, r2 806b3ca: 009b lsls r3, r3, #2 806b3cc: 461a mov r2, r3 806b3ce: 4ba3 ldr r3, [pc, #652] ; (806b65c ) 806b3d0: 4413 add r3, r2 806b3d2: 461a mov r2, r3 806b3d4: 4ba2 ldr r3, [pc, #648] ; (806b660 ) 806b3d6: 461c mov r4, r3 806b3d8: 4615 mov r5, r2 806b3da: cd0f ldmia r5!, {r0, r1, r2, r3} 806b3dc: c40f stmia r4!, {r0, r1, r2, r3} 806b3de: 682b ldr r3, [r5, #0] 806b3e0: 6023 str r3, [r4, #0] TrendData2 = TrendRAM_TEMP(j); 806b3e2: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806b3e6: 4613 mov r3, r2 806b3e8: 009b lsls r3, r3, #2 806b3ea: 4413 add r3, r2 806b3ec: 009b lsls r3, r3, #2 806b3ee: 461a mov r2, r3 806b3f0: 4b9a ldr r3, [pc, #616] ; (806b65c ) 806b3f2: 4413 add r3, r2 806b3f4: 461a mov r2, r3 806b3f6: 4b9b ldr r3, [pc, #620] ; (806b664 ) 806b3f8: 461c mov r4, r3 806b3fa: 4615 mov r5, r2 806b3fc: cd0f ldmia r5!, {r0, r1, r2, r3} 806b3fe: c40f stmia r4!, {r0, r1, r2, r3} 806b400: 682b ldr r3, [r5, #0] 806b402: 6023 str r3, [r4, #0] if(TrendData1.DateTime < TrendData2.DateTime) 806b404: 4b96 ldr r3, [pc, #600] ; (806b660 ) 806b406: 68da ldr r2, [r3, #12] 806b408: 4b96 ldr r3, [pc, #600] ; (806b664 ) 806b40a: 68db ldr r3, [r3, #12] 806b40c: 429a cmp r2, r3 806b40e: d23a bcs.n 806b486 { TrendData = TrendRAM_TEMP(j); 806b410: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806b414: 4613 mov r3, r2 806b416: 009b lsls r3, r3, #2 806b418: 4413 add r3, r2 806b41a: 009b lsls r3, r3, #2 806b41c: 461a mov r2, r3 806b41e: 4b8f ldr r3, [pc, #572] ; (806b65c ) 806b420: 4413 add r3, r2 806b422: 461a mov r2, r3 806b424: 4b90 ldr r3, [pc, #576] ; (806b668 ) 806b426: 461c mov r4, r3 806b428: 4615 mov r5, r2 806b42a: cd0f ldmia r5!, {r0, r1, r2, r3} 806b42c: c40f stmia r4!, {r0, r1, r2, r3} 806b42e: 682b ldr r3, [r5, #0] 806b430: 6023 str r3, [r4, #0] TrendRAM_TEMP(j) = TrendRAM_TEMP(i); 806b432: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806b436: 4613 mov r3, r2 806b438: 009b lsls r3, r3, #2 806b43a: 4413 add r3, r2 806b43c: 009b lsls r3, r3, #2 806b43e: 461a mov r2, r3 806b440: 4b86 ldr r3, [pc, #536] ; (806b65c ) 806b442: 4413 add r3, r2 806b444: 4619 mov r1, r3 806b446: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806b44a: 4613 mov r3, r2 806b44c: 009b lsls r3, r3, #2 806b44e: 4413 add r3, r2 806b450: 009b lsls r3, r3, #2 806b452: 461a mov r2, r3 806b454: 4b81 ldr r3, [pc, #516] ; (806b65c ) 806b456: 4413 add r3, r2 806b458: 460c mov r4, r1 806b45a: 461d mov r5, r3 806b45c: cd0f ldmia r5!, {r0, r1, r2, r3} 806b45e: c40f stmia r4!, {r0, r1, r2, r3} 806b460: 682b ldr r3, [r5, #0] 806b462: 6023 str r3, [r4, #0] TrendRAM_TEMP(i) = TrendData; 806b464: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806b468: 4613 mov r3, r2 806b46a: 009b lsls r3, r3, #2 806b46c: 4413 add r3, r2 806b46e: 009b lsls r3, r3, #2 806b470: 461a mov r2, r3 806b472: 4b7a ldr r3, [pc, #488] ; (806b65c ) 806b474: 4413 add r3, r2 806b476: 461a mov r2, r3 806b478: 4b7b ldr r3, [pc, #492] ; (806b668 ) 806b47a: 4614 mov r4, r2 806b47c: 461d mov r5, r3 806b47e: cd0f ldmia r5!, {r0, r1, r2, r3} 806b480: c40f stmia r4!, {r0, r1, r2, r3} 806b482: 682b ldr r3, [r5, #0] 806b484: 6023 str r3, [r4, #0] for(i = j; i < l; i++) 806b486: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806b48a: 3301 adds r3, #1 806b48c: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806b490: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806b494: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806b498: 429a cmp r2, r3 806b49a: d391 bcc.n 806b3c0 for(j = 0; j < l; j++) // Ðàñêëàäûâàåì ïî âîçðàñòàíèþ äàòû 806b49c: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 806b4a0: 3301 adds r3, #1 806b4a2: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 806b4a6: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806b4aa: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806b4ae: 429a cmp r2, r3 806b4b0: f4ff af65 bcc.w 806b37e } } } // Èùåì ìàêñèìóì è ìèíèìóì ïî îñè Y fmax = -10000000000.0f; 806b4b4: 4b6d ldr r3, [pc, #436] ; (806b66c ) 806b4b6: f207 424c addw r2, r7, #1100 ; 0x44c 806b4ba: 6013 str r3, [r2, #0] fmin = 10000000000.0f; 806b4bc: 4b6c ldr r3, [pc, #432] ; (806b670 ) 806b4be: f507 6289 add.w r2, r7, #1096 ; 0x448 806b4c2: 6013 str r3, [r2, #0] for(i = 0; i < l; i++) 806b4c4: 2300 movs r3, #0 806b4c6: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806b4ca: e049 b.n 806b560 { TrendData = TrendRAM_TEMP(i); 806b4cc: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806b4d0: 4613 mov r3, r2 806b4d2: 009b lsls r3, r3, #2 806b4d4: 4413 add r3, r2 806b4d6: 009b lsls r3, r3, #2 806b4d8: 461a mov r2, r3 806b4da: 4b60 ldr r3, [pc, #384] ; (806b65c ) 806b4dc: 4413 add r3, r2 806b4de: 461a mov r2, r3 806b4e0: 4b61 ldr r3, [pc, #388] ; (806b668 ) 806b4e2: 461c mov r4, r3 806b4e4: 4615 mov r5, r2 806b4e6: cd0f ldmia r5!, {r0, r1, r2, r3} 806b4e8: c40f stmia r4!, {r0, r1, r2, r3} 806b4ea: 682b ldr r3, [r5, #0] 806b4ec: 6023 str r3, [r4, #0] if(TrendData.Vval.fl > fmax) fmax = TrendData.Vval.fl; 806b4ee: 4b5e ldr r3, [pc, #376] ; (806b668 ) 806b4f0: ed93 7a01 vldr s14, [r3, #4] 806b4f4: f207 434c addw r3, r7, #1100 ; 0x44c 806b4f8: edd3 7a00 vldr s15, [r3] 806b4fc: eeb4 7ae7 vcmpe.f32 s14, s15 806b500: eef1 fa10 vmrs APSR_nzcv, fpscr 806b504: dd04 ble.n 806b510 806b506: 4b58 ldr r3, [pc, #352] ; (806b668 ) 806b508: 685b ldr r3, [r3, #4] 806b50a: f207 424c addw r2, r7, #1100 ; 0x44c 806b50e: 6013 str r3, [r2, #0] if(TrendData.Vval.fl < fmin) fmin = TrendData.Vval.fl; 806b510: 4b55 ldr r3, [pc, #340] ; (806b668 ) 806b512: ed93 7a01 vldr s14, [r3, #4] 806b516: f507 6389 add.w r3, r7, #1096 ; 0x448 806b51a: edd3 7a00 vldr s15, [r3] 806b51e: eeb4 7ae7 vcmpe.f32 s14, s15 806b522: eef1 fa10 vmrs APSR_nzcv, fpscr 806b526: d504 bpl.n 806b532 806b528: 4b4f ldr r3, [pc, #316] ; (806b668 ) 806b52a: 685b ldr r3, [r3, #4] 806b52c: f507 6289 add.w r2, r7, #1096 ; 0x448 806b530: 6013 str r3, [r2, #0] ScrA_f32(i) = TrendData.Vval.fl; 806b532: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806b536: 009a lsls r2, r3, #2 806b538: 4b4e ldr r3, [pc, #312] ; (806b674 ) 806b53a: 4413 add r3, r2 806b53c: 461a mov r2, r3 806b53e: 4b4a ldr r3, [pc, #296] ; (806b668 ) 806b540: 685b ldr r3, [r3, #4] 806b542: 6013 str r3, [r2, #0] CmplxA_u32(i) = TrendData.DateTime; 806b544: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806b548: 009a lsls r2, r3, #2 806b54a: 4b44 ldr r3, [pc, #272] ; (806b65c ) 806b54c: 4413 add r3, r2 806b54e: 461a mov r2, r3 806b550: 4b45 ldr r3, [pc, #276] ; (806b668 ) 806b552: 68db ldr r3, [r3, #12] 806b554: 6013 str r3, [r2, #0] for(i = 0; i < l; i++) 806b556: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806b55a: 3301 adds r3, #1 806b55c: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806b560: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806b564: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806b568: 429a cmp r2, r3 806b56a: d3af bcc.n 806b4cc 806b56c: f001 bcae b.w 806cecc } } // end if(l) òå åñëè èìåþòñÿ çàïèñè ñ òàêèì äåòåêòîðîì } else if(menupos == Trend_rms) 806b570: 4b41 ldr r3, [pc, #260] ; (806b678 ) 806b572: 781b ldrb r3, [r3, #0] 806b574: b2db uxtb r3, r3 806b576: 2b01 cmp r3, #1 806b578: f040 8162 bne.w 806b840 { if(pardata.LANG == RUS) 806b57c: 4b3f ldr r3, [pc, #252] ; (806b67c ) 806b57e: 7b1b ldrb r3, [r3, #12] 806b580: b2db uxtb r3, r3 806b582: 2b00 cmp r3, #0 806b584: d106 bne.n 806b594 BSP_LCD_DisplayStringAt(8, 35, "V(ñêç),ìì/ñ", LEFT_MODE); 806b586: 2303 movs r3, #3 806b588: 4a3d ldr r2, [pc, #244] ; (806b680 ) 806b58a: 2123 movs r1, #35 ; 0x23 806b58c: 2008 movs r0, #8 806b58e: f7e8 f9d3 bl 8053938 806b592: e005 b.n 806b5a0 else BSP_LCD_DisplayStringAt(8, 35, "V(rms),mm/s", LEFT_MODE); 806b594: 2303 movs r3, #3 806b596: 4a3b ldr r2, [pc, #236] ; (806b684 ) 806b598: 2123 movs r1, #35 ; 0x23 806b59a: 2008 movs r0, #8 806b59c: f7e8 f9cc bl 8053938 // Ñ÷èòàåì êîë-âî èçìåðåíèé ñ òàêèì äåòåêòîðîì è ïåðåíîñèì â TrendRAM_TEMP() l = 0; 806b5a0: 2300 movs r3, #0 806b5a2: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 for(i = 0; i < NumTrendMeas; i++) 806b5a6: 2300 movs r3, #0 806b5a8: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806b5ac: e042 b.n 806b634 { TrendData = TrendRAM(i); 806b5ae: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806b5b2: 4613 mov r3, r2 806b5b4: 009b lsls r3, r3, #2 806b5b6: 4413 add r3, r2 806b5b8: 009b lsls r3, r3, #2 806b5ba: 461a mov r2, r3 806b5bc: 4b32 ldr r3, [pc, #200] ; (806b688 ) 806b5be: 4413 add r3, r2 806b5c0: 461a mov r2, r3 806b5c2: 4b29 ldr r3, [pc, #164] ; (806b668 ) 806b5c4: 461c mov r4, r3 806b5c6: 4615 mov r5, r2 806b5c8: cd0f ldmia r5!, {r0, r1, r2, r3} 806b5ca: c40f stmia r4!, {r0, r1, r2, r3} 806b5cc: 682b ldr r3, [r5, #0] 806b5ce: 6023 str r3, [r4, #0] if((TrendData.Vivs == 'S') && (TrendData.Vval.fl != -1.0f)) 806b5d0: 4b25 ldr r3, [pc, #148] ; (806b668 ) 806b5d2: 7c5b ldrb r3, [r3, #17] 806b5d4: b2db uxtb r3, r3 806b5d6: 2b53 cmp r3, #83 ; 0x53 806b5d8: d127 bne.n 806b62a 806b5da: 4b23 ldr r3, [pc, #140] ; (806b668 ) 806b5dc: edd3 7a01 vldr s15, [r3, #4] 806b5e0: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 806b5e4: eef4 7a47 vcmp.f32 s15, s14 806b5e8: eef1 fa10 vmrs APSR_nzcv, fpscr 806b5ec: d01d beq.n 806b62a { TrendRAM_TEMP(l) = TrendRAM(i); 806b5ee: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 806b5f2: 4613 mov r3, r2 806b5f4: 009b lsls r3, r3, #2 806b5f6: 4413 add r3, r2 806b5f8: 009b lsls r3, r3, #2 806b5fa: 461a mov r2, r3 806b5fc: 4b17 ldr r3, [pc, #92] ; (806b65c ) 806b5fe: 4413 add r3, r2 806b600: 4619 mov r1, r3 806b602: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806b606: 4613 mov r3, r2 806b608: 009b lsls r3, r3, #2 806b60a: 4413 add r3, r2 806b60c: 009b lsls r3, r3, #2 806b60e: 461a mov r2, r3 806b610: 4b1d ldr r3, [pc, #116] ; (806b688 ) 806b612: 4413 add r3, r2 806b614: 460c mov r4, r1 806b616: 461d mov r5, r3 806b618: cd0f ldmia r5!, {r0, r1, r2, r3} 806b61a: c40f stmia r4!, {r0, r1, r2, r3} 806b61c: 682b ldr r3, [r5, #0] 806b61e: 6023 str r3, [r4, #0] l++; 806b620: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806b624: 3301 adds r3, #1 806b626: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 for(i = 0; i < NumTrendMeas; i++) 806b62a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806b62e: 3301 adds r3, #1 806b630: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806b634: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806b638: 4b14 ldr r3, [pc, #80] ; (806b68c ) 806b63a: 681b ldr r3, [r3, #0] 806b63c: 429a cmp r2, r3 806b63e: d3b6 bcc.n 806b5ae } } /////////////////////////////////////////////////////////////////////////// if(l) // Åñëè èìåþòñÿ çàïèñè ñ òàêèì äåòåêòîðîì 806b640: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806b644: 2b00 cmp r3, #0 806b646: f001 8441 beq.w 806cecc { for(j = 0; j < l; j++) // Ðàñêëàäûâàåì ïî âîçðàñòàíèþ äàòû 806b64a: 2300 movs r3, #0 806b64c: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 806b650: e091 b.n 806b776 { for(i = j; i < l; i++) 806b652: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 806b656: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806b65a: e081 b.n 806b760 806b65c: 64090000 .word 0x64090000 806b660: 20022314 .word 0x20022314 806b664: 20022900 .word 0x20022900 806b668: 20021f88 .word 0x20021f88 806b66c: d01502f9 .word 0xd01502f9 806b670: 501502f9 .word 0x501502f9 806b674: 64080000 .word 0x64080000 806b678: 20020070 .word 0x20020070 806b67c: 20023e60 .word 0x20023e60 806b680: 080cf950 .word 0x080cf950 806b684: 080cf95c .word 0x080cf95c 806b688: 640a0000 .word 0x640a0000 806b68c: 20020e10 .word 0x20020e10 { TrendData1 = TrendRAM_TEMP(i); 806b690: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806b694: 4613 mov r3, r2 806b696: 009b lsls r3, r3, #2 806b698: 4413 add r3, r2 806b69a: 009b lsls r3, r3, #2 806b69c: 461a mov r2, r3 806b69e: 4ba3 ldr r3, [pc, #652] ; (806b92c ) 806b6a0: 4413 add r3, r2 806b6a2: 461a mov r2, r3 806b6a4: 4ba2 ldr r3, [pc, #648] ; (806b930 ) 806b6a6: 461c mov r4, r3 806b6a8: 4615 mov r5, r2 806b6aa: cd0f ldmia r5!, {r0, r1, r2, r3} 806b6ac: c40f stmia r4!, {r0, r1, r2, r3} 806b6ae: 682b ldr r3, [r5, #0] 806b6b0: 6023 str r3, [r4, #0] TrendData2 = TrendRAM_TEMP(j); 806b6b2: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806b6b6: 4613 mov r3, r2 806b6b8: 009b lsls r3, r3, #2 806b6ba: 4413 add r3, r2 806b6bc: 009b lsls r3, r3, #2 806b6be: 461a mov r2, r3 806b6c0: 4b9a ldr r3, [pc, #616] ; (806b92c ) 806b6c2: 4413 add r3, r2 806b6c4: 461a mov r2, r3 806b6c6: 4b9b ldr r3, [pc, #620] ; (806b934 ) 806b6c8: 461c mov r4, r3 806b6ca: 4615 mov r5, r2 806b6cc: cd0f ldmia r5!, {r0, r1, r2, r3} 806b6ce: c40f stmia r4!, {r0, r1, r2, r3} 806b6d0: 682b ldr r3, [r5, #0] 806b6d2: 6023 str r3, [r4, #0] if(TrendData1.DateTime < TrendData2.DateTime) 806b6d4: 4b96 ldr r3, [pc, #600] ; (806b930 ) 806b6d6: 68da ldr r2, [r3, #12] 806b6d8: 4b96 ldr r3, [pc, #600] ; (806b934 ) 806b6da: 68db ldr r3, [r3, #12] 806b6dc: 429a cmp r2, r3 806b6de: d23a bcs.n 806b756 { TrendData = TrendRAM_TEMP(j); 806b6e0: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806b6e4: 4613 mov r3, r2 806b6e6: 009b lsls r3, r3, #2 806b6e8: 4413 add r3, r2 806b6ea: 009b lsls r3, r3, #2 806b6ec: 461a mov r2, r3 806b6ee: 4b8f ldr r3, [pc, #572] ; (806b92c ) 806b6f0: 4413 add r3, r2 806b6f2: 461a mov r2, r3 806b6f4: 4b90 ldr r3, [pc, #576] ; (806b938 ) 806b6f6: 461c mov r4, r3 806b6f8: 4615 mov r5, r2 806b6fa: cd0f ldmia r5!, {r0, r1, r2, r3} 806b6fc: c40f stmia r4!, {r0, r1, r2, r3} 806b6fe: 682b ldr r3, [r5, #0] 806b700: 6023 str r3, [r4, #0] TrendRAM_TEMP(j) = TrendRAM_TEMP(i); 806b702: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806b706: 4613 mov r3, r2 806b708: 009b lsls r3, r3, #2 806b70a: 4413 add r3, r2 806b70c: 009b lsls r3, r3, #2 806b70e: 461a mov r2, r3 806b710: 4b86 ldr r3, [pc, #536] ; (806b92c ) 806b712: 4413 add r3, r2 806b714: 4619 mov r1, r3 806b716: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806b71a: 4613 mov r3, r2 806b71c: 009b lsls r3, r3, #2 806b71e: 4413 add r3, r2 806b720: 009b lsls r3, r3, #2 806b722: 461a mov r2, r3 806b724: 4b81 ldr r3, [pc, #516] ; (806b92c ) 806b726: 4413 add r3, r2 806b728: 460c mov r4, r1 806b72a: 461d mov r5, r3 806b72c: cd0f ldmia r5!, {r0, r1, r2, r3} 806b72e: c40f stmia r4!, {r0, r1, r2, r3} 806b730: 682b ldr r3, [r5, #0] 806b732: 6023 str r3, [r4, #0] TrendRAM_TEMP(i) = TrendData; 806b734: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806b738: 4613 mov r3, r2 806b73a: 009b lsls r3, r3, #2 806b73c: 4413 add r3, r2 806b73e: 009b lsls r3, r3, #2 806b740: 461a mov r2, r3 806b742: 4b7a ldr r3, [pc, #488] ; (806b92c ) 806b744: 4413 add r3, r2 806b746: 461a mov r2, r3 806b748: 4b7b ldr r3, [pc, #492] ; (806b938 ) 806b74a: 4614 mov r4, r2 806b74c: 461d mov r5, r3 806b74e: cd0f ldmia r5!, {r0, r1, r2, r3} 806b750: c40f stmia r4!, {r0, r1, r2, r3} 806b752: 682b ldr r3, [r5, #0] 806b754: 6023 str r3, [r4, #0] for(i = j; i < l; i++) 806b756: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806b75a: 3301 adds r3, #1 806b75c: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806b760: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806b764: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806b768: 429a cmp r2, r3 806b76a: d391 bcc.n 806b690 for(j = 0; j < l; j++) // Ðàñêëàäûâàåì ïî âîçðàñòàíèþ äàòû 806b76c: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 806b770: 3301 adds r3, #1 806b772: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 806b776: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806b77a: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806b77e: 429a cmp r2, r3 806b780: f4ff af67 bcc.w 806b652 } } } // Èùåì ìàêñèìóì è ìèíèìóì ïî îñè Y fmax = -10000000000.0f; 806b784: 4b6d ldr r3, [pc, #436] ; (806b93c ) 806b786: f207 424c addw r2, r7, #1100 ; 0x44c 806b78a: 6013 str r3, [r2, #0] fmin = 10000000000.0f; 806b78c: 4b6c ldr r3, [pc, #432] ; (806b940 ) 806b78e: f507 6289 add.w r2, r7, #1096 ; 0x448 806b792: 6013 str r3, [r2, #0] for(i = 0; i < l; i++) 806b794: 2300 movs r3, #0 806b796: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806b79a: e049 b.n 806b830 { TrendData = TrendRAM_TEMP(i); 806b79c: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806b7a0: 4613 mov r3, r2 806b7a2: 009b lsls r3, r3, #2 806b7a4: 4413 add r3, r2 806b7a6: 009b lsls r3, r3, #2 806b7a8: 461a mov r2, r3 806b7aa: 4b60 ldr r3, [pc, #384] ; (806b92c ) 806b7ac: 4413 add r3, r2 806b7ae: 461a mov r2, r3 806b7b0: 4b61 ldr r3, [pc, #388] ; (806b938 ) 806b7b2: 461c mov r4, r3 806b7b4: 4615 mov r5, r2 806b7b6: cd0f ldmia r5!, {r0, r1, r2, r3} 806b7b8: c40f stmia r4!, {r0, r1, r2, r3} 806b7ba: 682b ldr r3, [r5, #0] 806b7bc: 6023 str r3, [r4, #0] if(TrendData.Vval.fl > fmax) fmax = TrendData.Vval.fl; 806b7be: 4b5e ldr r3, [pc, #376] ; (806b938 ) 806b7c0: ed93 7a01 vldr s14, [r3, #4] 806b7c4: f207 434c addw r3, r7, #1100 ; 0x44c 806b7c8: edd3 7a00 vldr s15, [r3] 806b7cc: eeb4 7ae7 vcmpe.f32 s14, s15 806b7d0: eef1 fa10 vmrs APSR_nzcv, fpscr 806b7d4: dd04 ble.n 806b7e0 806b7d6: 4b58 ldr r3, [pc, #352] ; (806b938 ) 806b7d8: 685b ldr r3, [r3, #4] 806b7da: f207 424c addw r2, r7, #1100 ; 0x44c 806b7de: 6013 str r3, [r2, #0] if(TrendData.Vval.fl < fmin) fmin = TrendData.Vval.fl; 806b7e0: 4b55 ldr r3, [pc, #340] ; (806b938 ) 806b7e2: ed93 7a01 vldr s14, [r3, #4] 806b7e6: f507 6389 add.w r3, r7, #1096 ; 0x448 806b7ea: edd3 7a00 vldr s15, [r3] 806b7ee: eeb4 7ae7 vcmpe.f32 s14, s15 806b7f2: eef1 fa10 vmrs APSR_nzcv, fpscr 806b7f6: d504 bpl.n 806b802 806b7f8: 4b4f ldr r3, [pc, #316] ; (806b938 ) 806b7fa: 685b ldr r3, [r3, #4] 806b7fc: f507 6289 add.w r2, r7, #1096 ; 0x448 806b800: 6013 str r3, [r2, #0] ScrA_f32(i) = TrendData.Vval.fl; 806b802: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806b806: 009a lsls r2, r3, #2 806b808: 4b4e ldr r3, [pc, #312] ; (806b944 ) 806b80a: 4413 add r3, r2 806b80c: 461a mov r2, r3 806b80e: 4b4a ldr r3, [pc, #296] ; (806b938 ) 806b810: 685b ldr r3, [r3, #4] 806b812: 6013 str r3, [r2, #0] CmplxA_u32(i) = TrendData.DateTime; 806b814: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806b818: 009a lsls r2, r3, #2 806b81a: 4b44 ldr r3, [pc, #272] ; (806b92c ) 806b81c: 4413 add r3, r2 806b81e: 461a mov r2, r3 806b820: 4b45 ldr r3, [pc, #276] ; (806b938 ) 806b822: 68db ldr r3, [r3, #12] 806b824: 6013 str r3, [r2, #0] for(i = 0; i < l; i++) 806b826: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806b82a: 3301 adds r3, #1 806b82c: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806b830: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806b834: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806b838: 429a cmp r2, r3 806b83a: d3af bcc.n 806b79c 806b83c: f001 bb46 b.w 806cecc } } // end if(l) òå åñëè èìåþòñÿ çàïèñè ñ òàêèì äåòåêòîðîì } else if(menupos == Trend_pkpk) 806b840: 4b41 ldr r3, [pc, #260] ; (806b948 ) 806b842: 781b ldrb r3, [r3, #0] 806b844: b2db uxtb r3, r3 806b846: 2b02 cmp r3, #2 806b848: f040 8162 bne.w 806bb10 { if(pardata.LANG == RUS) 806b84c: 4b3f ldr r3, [pc, #252] ; (806b94c ) 806b84e: 7b1b ldrb r3, [r3, #12] 806b850: b2db uxtb r3, r3 806b852: 2b00 cmp r3, #0 806b854: d106 bne.n 806b864 BSP_LCD_DisplayStringAt(8, 35, "V(ðàçìàõ),ìì/ñ", LEFT_MODE); 806b856: 2303 movs r3, #3 806b858: 4a3d ldr r2, [pc, #244] ; (806b950 ) 806b85a: 2123 movs r1, #35 ; 0x23 806b85c: 2008 movs r0, #8 806b85e: f7e8 f86b bl 8053938 806b862: e005 b.n 806b870 else BSP_LCD_DisplayStringAt(8, 35, "V(peak-peak),mm/s", LEFT_MODE); 806b864: 2303 movs r3, #3 806b866: 4a3b ldr r2, [pc, #236] ; (806b954 ) 806b868: 2123 movs r1, #35 ; 0x23 806b86a: 2008 movs r0, #8 806b86c: f7e8 f864 bl 8053938 // Ñ÷èòàåì êîë-âî èçìåðåíèé ñ òàêèì äåòåêòîðîì è ïåðåíîñèì â TrendRAM_TEMP() l = 0; 806b870: 2300 movs r3, #0 806b872: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 for(i = 0; i < NumTrendMeas; i++) 806b876: 2300 movs r3, #0 806b878: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806b87c: e042 b.n 806b904 { TrendData = TrendRAM(i); 806b87e: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806b882: 4613 mov r3, r2 806b884: 009b lsls r3, r3, #2 806b886: 4413 add r3, r2 806b888: 009b lsls r3, r3, #2 806b88a: 461a mov r2, r3 806b88c: 4b32 ldr r3, [pc, #200] ; (806b958 ) 806b88e: 4413 add r3, r2 806b890: 461a mov r2, r3 806b892: 4b29 ldr r3, [pc, #164] ; (806b938 ) 806b894: 461c mov r4, r3 806b896: 4615 mov r5, r2 806b898: cd0f ldmia r5!, {r0, r1, r2, r3} 806b89a: c40f stmia r4!, {r0, r1, r2, r3} 806b89c: 682b ldr r3, [r5, #0] 806b89e: 6023 str r3, [r4, #0] if((TrendData.Vivs == 'R') && (TrendData.Vval.fl != -1.0f)) 806b8a0: 4b25 ldr r3, [pc, #148] ; (806b938 ) 806b8a2: 7c5b ldrb r3, [r3, #17] 806b8a4: b2db uxtb r3, r3 806b8a6: 2b52 cmp r3, #82 ; 0x52 806b8a8: d127 bne.n 806b8fa 806b8aa: 4b23 ldr r3, [pc, #140] ; (806b938 ) 806b8ac: edd3 7a01 vldr s15, [r3, #4] 806b8b0: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 806b8b4: eef4 7a47 vcmp.f32 s15, s14 806b8b8: eef1 fa10 vmrs APSR_nzcv, fpscr 806b8bc: d01d beq.n 806b8fa { TrendRAM_TEMP(l) = TrendRAM(i); 806b8be: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 806b8c2: 4613 mov r3, r2 806b8c4: 009b lsls r3, r3, #2 806b8c6: 4413 add r3, r2 806b8c8: 009b lsls r3, r3, #2 806b8ca: 461a mov r2, r3 806b8cc: 4b17 ldr r3, [pc, #92] ; (806b92c ) 806b8ce: 4413 add r3, r2 806b8d0: 4619 mov r1, r3 806b8d2: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806b8d6: 4613 mov r3, r2 806b8d8: 009b lsls r3, r3, #2 806b8da: 4413 add r3, r2 806b8dc: 009b lsls r3, r3, #2 806b8de: 461a mov r2, r3 806b8e0: 4b1d ldr r3, [pc, #116] ; (806b958 ) 806b8e2: 4413 add r3, r2 806b8e4: 460c mov r4, r1 806b8e6: 461d mov r5, r3 806b8e8: cd0f ldmia r5!, {r0, r1, r2, r3} 806b8ea: c40f stmia r4!, {r0, r1, r2, r3} 806b8ec: 682b ldr r3, [r5, #0] 806b8ee: 6023 str r3, [r4, #0] l++; 806b8f0: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806b8f4: 3301 adds r3, #1 806b8f6: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 for(i = 0; i < NumTrendMeas; i++) 806b8fa: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806b8fe: 3301 adds r3, #1 806b900: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806b904: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806b908: 4b14 ldr r3, [pc, #80] ; (806b95c ) 806b90a: 681b ldr r3, [r3, #0] 806b90c: 429a cmp r2, r3 806b90e: d3b6 bcc.n 806b87e } } /////////////////////////////////////////////////////////////////////////// if(l) // Åñëè èìåþòñÿ çàïèñè ñ òàêèì äåòåêòîðîì 806b910: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806b914: 2b00 cmp r3, #0 806b916: f001 82d9 beq.w 806cecc { for(j = 0; j < l; j++) // Ðàñêëàäûâàåì ïî âîçðàñòàíèþ äàòû 806b91a: 2300 movs r3, #0 806b91c: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 806b920: e091 b.n 806ba46 { for(i = j; i < l; i++) 806b922: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 806b926: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806b92a: e081 b.n 806ba30 806b92c: 64090000 .word 0x64090000 806b930: 20022314 .word 0x20022314 806b934: 20022900 .word 0x20022900 806b938: 20021f88 .word 0x20021f88 806b93c: d01502f9 .word 0xd01502f9 806b940: 501502f9 .word 0x501502f9 806b944: 64080000 .word 0x64080000 806b948: 20020070 .word 0x20020070 806b94c: 20023e60 .word 0x20023e60 806b950: 080cf968 .word 0x080cf968 806b954: 080cf978 .word 0x080cf978 806b958: 640a0000 .word 0x640a0000 806b95c: 20020e10 .word 0x20020e10 { TrendData1 = TrendRAM_TEMP(i); 806b960: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806b964: 4613 mov r3, r2 806b966: 009b lsls r3, r3, #2 806b968: 4413 add r3, r2 806b96a: 009b lsls r3, r3, #2 806b96c: 461a mov r2, r3 806b96e: 4ba3 ldr r3, [pc, #652] ; (806bbfc ) 806b970: 4413 add r3, r2 806b972: 461a mov r2, r3 806b974: 4ba2 ldr r3, [pc, #648] ; (806bc00 ) 806b976: 461c mov r4, r3 806b978: 4615 mov r5, r2 806b97a: cd0f ldmia r5!, {r0, r1, r2, r3} 806b97c: c40f stmia r4!, {r0, r1, r2, r3} 806b97e: 682b ldr r3, [r5, #0] 806b980: 6023 str r3, [r4, #0] TrendData2 = TrendRAM_TEMP(j); 806b982: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806b986: 4613 mov r3, r2 806b988: 009b lsls r3, r3, #2 806b98a: 4413 add r3, r2 806b98c: 009b lsls r3, r3, #2 806b98e: 461a mov r2, r3 806b990: 4b9a ldr r3, [pc, #616] ; (806bbfc ) 806b992: 4413 add r3, r2 806b994: 461a mov r2, r3 806b996: 4b9b ldr r3, [pc, #620] ; (806bc04 ) 806b998: 461c mov r4, r3 806b99a: 4615 mov r5, r2 806b99c: cd0f ldmia r5!, {r0, r1, r2, r3} 806b99e: c40f stmia r4!, {r0, r1, r2, r3} 806b9a0: 682b ldr r3, [r5, #0] 806b9a2: 6023 str r3, [r4, #0] if(TrendData1.DateTime < TrendData2.DateTime) 806b9a4: 4b96 ldr r3, [pc, #600] ; (806bc00 ) 806b9a6: 68da ldr r2, [r3, #12] 806b9a8: 4b96 ldr r3, [pc, #600] ; (806bc04 ) 806b9aa: 68db ldr r3, [r3, #12] 806b9ac: 429a cmp r2, r3 806b9ae: d23a bcs.n 806ba26 { TrendData = TrendRAM_TEMP(j); 806b9b0: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806b9b4: 4613 mov r3, r2 806b9b6: 009b lsls r3, r3, #2 806b9b8: 4413 add r3, r2 806b9ba: 009b lsls r3, r3, #2 806b9bc: 461a mov r2, r3 806b9be: 4b8f ldr r3, [pc, #572] ; (806bbfc ) 806b9c0: 4413 add r3, r2 806b9c2: 461a mov r2, r3 806b9c4: 4b90 ldr r3, [pc, #576] ; (806bc08 ) 806b9c6: 461c mov r4, r3 806b9c8: 4615 mov r5, r2 806b9ca: cd0f ldmia r5!, {r0, r1, r2, r3} 806b9cc: c40f stmia r4!, {r0, r1, r2, r3} 806b9ce: 682b ldr r3, [r5, #0] 806b9d0: 6023 str r3, [r4, #0] TrendRAM_TEMP(j) = TrendRAM_TEMP(i); 806b9d2: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806b9d6: 4613 mov r3, r2 806b9d8: 009b lsls r3, r3, #2 806b9da: 4413 add r3, r2 806b9dc: 009b lsls r3, r3, #2 806b9de: 461a mov r2, r3 806b9e0: 4b86 ldr r3, [pc, #536] ; (806bbfc ) 806b9e2: 4413 add r3, r2 806b9e4: 4619 mov r1, r3 806b9e6: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806b9ea: 4613 mov r3, r2 806b9ec: 009b lsls r3, r3, #2 806b9ee: 4413 add r3, r2 806b9f0: 009b lsls r3, r3, #2 806b9f2: 461a mov r2, r3 806b9f4: 4b81 ldr r3, [pc, #516] ; (806bbfc ) 806b9f6: 4413 add r3, r2 806b9f8: 460c mov r4, r1 806b9fa: 461d mov r5, r3 806b9fc: cd0f ldmia r5!, {r0, r1, r2, r3} 806b9fe: c40f stmia r4!, {r0, r1, r2, r3} 806ba00: 682b ldr r3, [r5, #0] 806ba02: 6023 str r3, [r4, #0] TrendRAM_TEMP(i) = TrendData; 806ba04: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806ba08: 4613 mov r3, r2 806ba0a: 009b lsls r3, r3, #2 806ba0c: 4413 add r3, r2 806ba0e: 009b lsls r3, r3, #2 806ba10: 461a mov r2, r3 806ba12: 4b7a ldr r3, [pc, #488] ; (806bbfc ) 806ba14: 4413 add r3, r2 806ba16: 461a mov r2, r3 806ba18: 4b7b ldr r3, [pc, #492] ; (806bc08 ) 806ba1a: 4614 mov r4, r2 806ba1c: 461d mov r5, r3 806ba1e: cd0f ldmia r5!, {r0, r1, r2, r3} 806ba20: c40f stmia r4!, {r0, r1, r2, r3} 806ba22: 682b ldr r3, [r5, #0] 806ba24: 6023 str r3, [r4, #0] for(i = j; i < l; i++) 806ba26: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806ba2a: 3301 adds r3, #1 806ba2c: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806ba30: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806ba34: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806ba38: 429a cmp r2, r3 806ba3a: d391 bcc.n 806b960 for(j = 0; j < l; j++) // Ðàñêëàäûâàåì ïî âîçðàñòàíèþ äàòû 806ba3c: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 806ba40: 3301 adds r3, #1 806ba42: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 806ba46: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806ba4a: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806ba4e: 429a cmp r2, r3 806ba50: f4ff af67 bcc.w 806b922 } } } // Èùåì ìàêñèìóì è ìèíèìóì ïî îñè Y fmax = -10000000000.0f; 806ba54: 4b6d ldr r3, [pc, #436] ; (806bc0c ) 806ba56: f207 424c addw r2, r7, #1100 ; 0x44c 806ba5a: 6013 str r3, [r2, #0] fmin = 10000000000.0f; 806ba5c: 4b6c ldr r3, [pc, #432] ; (806bc10 ) 806ba5e: f507 6289 add.w r2, r7, #1096 ; 0x448 806ba62: 6013 str r3, [r2, #0] for(i = 0; i < l; i++) 806ba64: 2300 movs r3, #0 806ba66: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806ba6a: e049 b.n 806bb00 { TrendData = TrendRAM_TEMP(i); 806ba6c: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806ba70: 4613 mov r3, r2 806ba72: 009b lsls r3, r3, #2 806ba74: 4413 add r3, r2 806ba76: 009b lsls r3, r3, #2 806ba78: 461a mov r2, r3 806ba7a: 4b60 ldr r3, [pc, #384] ; (806bbfc ) 806ba7c: 4413 add r3, r2 806ba7e: 461a mov r2, r3 806ba80: 4b61 ldr r3, [pc, #388] ; (806bc08 ) 806ba82: 461c mov r4, r3 806ba84: 4615 mov r5, r2 806ba86: cd0f ldmia r5!, {r0, r1, r2, r3} 806ba88: c40f stmia r4!, {r0, r1, r2, r3} 806ba8a: 682b ldr r3, [r5, #0] 806ba8c: 6023 str r3, [r4, #0] if(TrendData.Vval.fl > fmax) fmax = TrendData.Vval.fl; 806ba8e: 4b5e ldr r3, [pc, #376] ; (806bc08 ) 806ba90: ed93 7a01 vldr s14, [r3, #4] 806ba94: f207 434c addw r3, r7, #1100 ; 0x44c 806ba98: edd3 7a00 vldr s15, [r3] 806ba9c: eeb4 7ae7 vcmpe.f32 s14, s15 806baa0: eef1 fa10 vmrs APSR_nzcv, fpscr 806baa4: dd04 ble.n 806bab0 806baa6: 4b58 ldr r3, [pc, #352] ; (806bc08 ) 806baa8: 685b ldr r3, [r3, #4] 806baaa: f207 424c addw r2, r7, #1100 ; 0x44c 806baae: 6013 str r3, [r2, #0] if(TrendData.Vval.fl < fmin) fmin = TrendData.Vval.fl; 806bab0: 4b55 ldr r3, [pc, #340] ; (806bc08 ) 806bab2: ed93 7a01 vldr s14, [r3, #4] 806bab6: f507 6389 add.w r3, r7, #1096 ; 0x448 806baba: edd3 7a00 vldr s15, [r3] 806babe: eeb4 7ae7 vcmpe.f32 s14, s15 806bac2: eef1 fa10 vmrs APSR_nzcv, fpscr 806bac6: d504 bpl.n 806bad2 806bac8: 4b4f ldr r3, [pc, #316] ; (806bc08 ) 806baca: 685b ldr r3, [r3, #4] 806bacc: f507 6289 add.w r2, r7, #1096 ; 0x448 806bad0: 6013 str r3, [r2, #0] ScrA_f32(i) = TrendData.Vval.fl; 806bad2: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806bad6: 009a lsls r2, r3, #2 806bad8: 4b4e ldr r3, [pc, #312] ; (806bc14 ) 806bada: 4413 add r3, r2 806badc: 461a mov r2, r3 806bade: 4b4a ldr r3, [pc, #296] ; (806bc08 ) 806bae0: 685b ldr r3, [r3, #4] 806bae2: 6013 str r3, [r2, #0] CmplxA_u32(i) = TrendData.DateTime; 806bae4: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806bae8: 009a lsls r2, r3, #2 806baea: 4b44 ldr r3, [pc, #272] ; (806bbfc ) 806baec: 4413 add r3, r2 806baee: 461a mov r2, r3 806baf0: 4b45 ldr r3, [pc, #276] ; (806bc08 ) 806baf2: 68db ldr r3, [r3, #12] 806baf4: 6013 str r3, [r2, #0] for(i = 0; i < l; i++) 806baf6: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806bafa: 3301 adds r3, #1 806bafc: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806bb00: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806bb04: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806bb08: 429a cmp r2, r3 806bb0a: d3af bcc.n 806ba6c 806bb0c: f001 b9de b.w 806cecc } } // end if(l) òå åñëè èìåþòñÿ çàïèñè ñ òàêèì äåòåêòîðîì } else if(menupos == Trend_factor) 806bb10: 4b41 ldr r3, [pc, #260] ; (806bc18 ) 806bb12: 781b ldrb r3, [r3, #0] 806bb14: b2db uxtb r3, r3 806bb16: 2b03 cmp r3, #3 806bb18: f040 8162 bne.w 806bde0 { if(pardata.LANG == RUS) 806bb1c: 4b3f ldr r3, [pc, #252] ; (806bc1c ) 806bb1e: 7b1b ldrb r3, [r3, #12] 806bb20: b2db uxtb r3, r3 806bb22: 2b00 cmp r3, #0 806bb24: d106 bne.n 806bb34 BSP_LCD_DisplayStringAt(8, 35, "V(ïèê-ôàêòîð)", LEFT_MODE); 806bb26: 2303 movs r3, #3 806bb28: 4a3d ldr r2, [pc, #244] ; (806bc20 ) 806bb2a: 2123 movs r1, #35 ; 0x23 806bb2c: 2008 movs r0, #8 806bb2e: f7e7 ff03 bl 8053938 806bb32: e005 b.n 806bb40 else BSP_LCD_DisplayStringAt(8, 35, "V(peak-factor)", LEFT_MODE); 806bb34: 2303 movs r3, #3 806bb36: 4a3b ldr r2, [pc, #236] ; (806bc24 ) 806bb38: 2123 movs r1, #35 ; 0x23 806bb3a: 2008 movs r0, #8 806bb3c: f7e7 fefc bl 8053938 // Ñ÷èòàåì êîë-âî èçìåðåíèé ñ òàêèì äåòåêòîðîì è ïåðåíîñèì â TrendRAM_TEMP() l = 0; 806bb40: 2300 movs r3, #0 806bb42: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 for(i = 0; i < NumTrendMeas; i++) 806bb46: 2300 movs r3, #0 806bb48: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806bb4c: e042 b.n 806bbd4 { TrendData = TrendRAM(i); 806bb4e: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806bb52: 4613 mov r3, r2 806bb54: 009b lsls r3, r3, #2 806bb56: 4413 add r3, r2 806bb58: 009b lsls r3, r3, #2 806bb5a: 461a mov r2, r3 806bb5c: 4b32 ldr r3, [pc, #200] ; (806bc28 ) 806bb5e: 4413 add r3, r2 806bb60: 461a mov r2, r3 806bb62: 4b29 ldr r3, [pc, #164] ; (806bc08 ) 806bb64: 461c mov r4, r3 806bb66: 4615 mov r5, r2 806bb68: cd0f ldmia r5!, {r0, r1, r2, r3} 806bb6a: c40f stmia r4!, {r0, r1, r2, r3} 806bb6c: 682b ldr r3, [r5, #0] 806bb6e: 6023 str r3, [r4, #0] if((TrendData.Vivs == 'F') && (TrendData.Vval.fl != -1.0f)) 806bb70: 4b25 ldr r3, [pc, #148] ; (806bc08 ) 806bb72: 7c5b ldrb r3, [r3, #17] 806bb74: b2db uxtb r3, r3 806bb76: 2b46 cmp r3, #70 ; 0x46 806bb78: d127 bne.n 806bbca 806bb7a: 4b23 ldr r3, [pc, #140] ; (806bc08 ) 806bb7c: edd3 7a01 vldr s15, [r3, #4] 806bb80: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 806bb84: eef4 7a47 vcmp.f32 s15, s14 806bb88: eef1 fa10 vmrs APSR_nzcv, fpscr 806bb8c: d01d beq.n 806bbca { TrendRAM_TEMP(l) = TrendRAM(i); 806bb8e: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 806bb92: 4613 mov r3, r2 806bb94: 009b lsls r3, r3, #2 806bb96: 4413 add r3, r2 806bb98: 009b lsls r3, r3, #2 806bb9a: 461a mov r2, r3 806bb9c: 4b17 ldr r3, [pc, #92] ; (806bbfc ) 806bb9e: 4413 add r3, r2 806bba0: 4619 mov r1, r3 806bba2: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806bba6: 4613 mov r3, r2 806bba8: 009b lsls r3, r3, #2 806bbaa: 4413 add r3, r2 806bbac: 009b lsls r3, r3, #2 806bbae: 461a mov r2, r3 806bbb0: 4b1d ldr r3, [pc, #116] ; (806bc28 ) 806bbb2: 4413 add r3, r2 806bbb4: 460c mov r4, r1 806bbb6: 461d mov r5, r3 806bbb8: cd0f ldmia r5!, {r0, r1, r2, r3} 806bbba: c40f stmia r4!, {r0, r1, r2, r3} 806bbbc: 682b ldr r3, [r5, #0] 806bbbe: 6023 str r3, [r4, #0] l++; 806bbc0: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806bbc4: 3301 adds r3, #1 806bbc6: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 for(i = 0; i < NumTrendMeas; i++) 806bbca: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806bbce: 3301 adds r3, #1 806bbd0: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806bbd4: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806bbd8: 4b14 ldr r3, [pc, #80] ; (806bc2c ) 806bbda: 681b ldr r3, [r3, #0] 806bbdc: 429a cmp r2, r3 806bbde: d3b6 bcc.n 806bb4e } } /////////////////////////////////////////////////////////////////////////// if(l) // Åñëè èìåþòñÿ çàïèñè ñ òàêèì äåòåêòîðîì 806bbe0: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806bbe4: 2b00 cmp r3, #0 806bbe6: f001 8171 beq.w 806cecc { for(j = 0; j < l; j++) // Ðàñêëàäûâàåì ïî âîçðàñòàíèþ äàòû 806bbea: 2300 movs r3, #0 806bbec: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 806bbf0: e091 b.n 806bd16 { for(i = j; i < l; i++) 806bbf2: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 806bbf6: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806bbfa: e081 b.n 806bd00 806bbfc: 64090000 .word 0x64090000 806bc00: 20022314 .word 0x20022314 806bc04: 20022900 .word 0x20022900 806bc08: 20021f88 .word 0x20021f88 806bc0c: d01502f9 .word 0xd01502f9 806bc10: 501502f9 .word 0x501502f9 806bc14: 64080000 .word 0x64080000 806bc18: 20020070 .word 0x20020070 806bc1c: 20023e60 .word 0x20023e60 806bc20: 080cf98c .word 0x080cf98c 806bc24: 080cf99c .word 0x080cf99c 806bc28: 640a0000 .word 0x640a0000 806bc2c: 20020e10 .word 0x20020e10 { TrendData1 = TrendRAM_TEMP(i); 806bc30: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806bc34: 4613 mov r3, r2 806bc36: 009b lsls r3, r3, #2 806bc38: 4413 add r3, r2 806bc3a: 009b lsls r3, r3, #2 806bc3c: 461a mov r2, r3 806bc3e: 4ba3 ldr r3, [pc, #652] ; (806becc ) 806bc40: 4413 add r3, r2 806bc42: 461a mov r2, r3 806bc44: 4ba2 ldr r3, [pc, #648] ; (806bed0 ) 806bc46: 461c mov r4, r3 806bc48: 4615 mov r5, r2 806bc4a: cd0f ldmia r5!, {r0, r1, r2, r3} 806bc4c: c40f stmia r4!, {r0, r1, r2, r3} 806bc4e: 682b ldr r3, [r5, #0] 806bc50: 6023 str r3, [r4, #0] TrendData2 = TrendRAM_TEMP(j); 806bc52: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806bc56: 4613 mov r3, r2 806bc58: 009b lsls r3, r3, #2 806bc5a: 4413 add r3, r2 806bc5c: 009b lsls r3, r3, #2 806bc5e: 461a mov r2, r3 806bc60: 4b9a ldr r3, [pc, #616] ; (806becc ) 806bc62: 4413 add r3, r2 806bc64: 461a mov r2, r3 806bc66: 4b9b ldr r3, [pc, #620] ; (806bed4 ) 806bc68: 461c mov r4, r3 806bc6a: 4615 mov r5, r2 806bc6c: cd0f ldmia r5!, {r0, r1, r2, r3} 806bc6e: c40f stmia r4!, {r0, r1, r2, r3} 806bc70: 682b ldr r3, [r5, #0] 806bc72: 6023 str r3, [r4, #0] if(TrendData1.DateTime < TrendData2.DateTime) 806bc74: 4b96 ldr r3, [pc, #600] ; (806bed0 ) 806bc76: 68da ldr r2, [r3, #12] 806bc78: 4b96 ldr r3, [pc, #600] ; (806bed4 ) 806bc7a: 68db ldr r3, [r3, #12] 806bc7c: 429a cmp r2, r3 806bc7e: d23a bcs.n 806bcf6 { TrendData = TrendRAM_TEMP(j); 806bc80: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806bc84: 4613 mov r3, r2 806bc86: 009b lsls r3, r3, #2 806bc88: 4413 add r3, r2 806bc8a: 009b lsls r3, r3, #2 806bc8c: 461a mov r2, r3 806bc8e: 4b8f ldr r3, [pc, #572] ; (806becc ) 806bc90: 4413 add r3, r2 806bc92: 461a mov r2, r3 806bc94: 4b90 ldr r3, [pc, #576] ; (806bed8 ) 806bc96: 461c mov r4, r3 806bc98: 4615 mov r5, r2 806bc9a: cd0f ldmia r5!, {r0, r1, r2, r3} 806bc9c: c40f stmia r4!, {r0, r1, r2, r3} 806bc9e: 682b ldr r3, [r5, #0] 806bca0: 6023 str r3, [r4, #0] TrendRAM_TEMP(j) = TrendRAM_TEMP(i); 806bca2: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806bca6: 4613 mov r3, r2 806bca8: 009b lsls r3, r3, #2 806bcaa: 4413 add r3, r2 806bcac: 009b lsls r3, r3, #2 806bcae: 461a mov r2, r3 806bcb0: 4b86 ldr r3, [pc, #536] ; (806becc ) 806bcb2: 4413 add r3, r2 806bcb4: 4619 mov r1, r3 806bcb6: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806bcba: 4613 mov r3, r2 806bcbc: 009b lsls r3, r3, #2 806bcbe: 4413 add r3, r2 806bcc0: 009b lsls r3, r3, #2 806bcc2: 461a mov r2, r3 806bcc4: 4b81 ldr r3, [pc, #516] ; (806becc ) 806bcc6: 4413 add r3, r2 806bcc8: 460c mov r4, r1 806bcca: 461d mov r5, r3 806bccc: cd0f ldmia r5!, {r0, r1, r2, r3} 806bcce: c40f stmia r4!, {r0, r1, r2, r3} 806bcd0: 682b ldr r3, [r5, #0] 806bcd2: 6023 str r3, [r4, #0] TrendRAM_TEMP(i) = TrendData; 806bcd4: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806bcd8: 4613 mov r3, r2 806bcda: 009b lsls r3, r3, #2 806bcdc: 4413 add r3, r2 806bcde: 009b lsls r3, r3, #2 806bce0: 461a mov r2, r3 806bce2: 4b7a ldr r3, [pc, #488] ; (806becc ) 806bce4: 4413 add r3, r2 806bce6: 461a mov r2, r3 806bce8: 4b7b ldr r3, [pc, #492] ; (806bed8 ) 806bcea: 4614 mov r4, r2 806bcec: 461d mov r5, r3 806bcee: cd0f ldmia r5!, {r0, r1, r2, r3} 806bcf0: c40f stmia r4!, {r0, r1, r2, r3} 806bcf2: 682b ldr r3, [r5, #0] 806bcf4: 6023 str r3, [r4, #0] for(i = j; i < l; i++) 806bcf6: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806bcfa: 3301 adds r3, #1 806bcfc: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806bd00: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806bd04: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806bd08: 429a cmp r2, r3 806bd0a: d391 bcc.n 806bc30 for(j = 0; j < l; j++) // Ðàñêëàäûâàåì ïî âîçðàñòàíèþ äàòû 806bd0c: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 806bd10: 3301 adds r3, #1 806bd12: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 806bd16: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806bd1a: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806bd1e: 429a cmp r2, r3 806bd20: f4ff af67 bcc.w 806bbf2 } } } // Èùåì ìàêñèìóì è ìèíèìóì ïî îñè Y fmax = -10000000000.0f; 806bd24: 4b6d ldr r3, [pc, #436] ; (806bedc ) 806bd26: f207 424c addw r2, r7, #1100 ; 0x44c 806bd2a: 6013 str r3, [r2, #0] fmin = 10000000000.0f; 806bd2c: 4b6c ldr r3, [pc, #432] ; (806bee0 ) 806bd2e: f507 6289 add.w r2, r7, #1096 ; 0x448 806bd32: 6013 str r3, [r2, #0] for(i = 0; i < l; i++) 806bd34: 2300 movs r3, #0 806bd36: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806bd3a: e049 b.n 806bdd0 { TrendData = TrendRAM_TEMP(i); 806bd3c: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806bd40: 4613 mov r3, r2 806bd42: 009b lsls r3, r3, #2 806bd44: 4413 add r3, r2 806bd46: 009b lsls r3, r3, #2 806bd48: 461a mov r2, r3 806bd4a: 4b60 ldr r3, [pc, #384] ; (806becc ) 806bd4c: 4413 add r3, r2 806bd4e: 461a mov r2, r3 806bd50: 4b61 ldr r3, [pc, #388] ; (806bed8 ) 806bd52: 461c mov r4, r3 806bd54: 4615 mov r5, r2 806bd56: cd0f ldmia r5!, {r0, r1, r2, r3} 806bd58: c40f stmia r4!, {r0, r1, r2, r3} 806bd5a: 682b ldr r3, [r5, #0] 806bd5c: 6023 str r3, [r4, #0] if(TrendData.Vval.fl > fmax) fmax = TrendData.Vval.fl; 806bd5e: 4b5e ldr r3, [pc, #376] ; (806bed8 ) 806bd60: ed93 7a01 vldr s14, [r3, #4] 806bd64: f207 434c addw r3, r7, #1100 ; 0x44c 806bd68: edd3 7a00 vldr s15, [r3] 806bd6c: eeb4 7ae7 vcmpe.f32 s14, s15 806bd70: eef1 fa10 vmrs APSR_nzcv, fpscr 806bd74: dd04 ble.n 806bd80 806bd76: 4b58 ldr r3, [pc, #352] ; (806bed8 ) 806bd78: 685b ldr r3, [r3, #4] 806bd7a: f207 424c addw r2, r7, #1100 ; 0x44c 806bd7e: 6013 str r3, [r2, #0] if(TrendData.Vval.fl < fmin) fmin = TrendData.Vval.fl; 806bd80: 4b55 ldr r3, [pc, #340] ; (806bed8 ) 806bd82: ed93 7a01 vldr s14, [r3, #4] 806bd86: f507 6389 add.w r3, r7, #1096 ; 0x448 806bd8a: edd3 7a00 vldr s15, [r3] 806bd8e: eeb4 7ae7 vcmpe.f32 s14, s15 806bd92: eef1 fa10 vmrs APSR_nzcv, fpscr 806bd96: d504 bpl.n 806bda2 806bd98: 4b4f ldr r3, [pc, #316] ; (806bed8 ) 806bd9a: 685b ldr r3, [r3, #4] 806bd9c: f507 6289 add.w r2, r7, #1096 ; 0x448 806bda0: 6013 str r3, [r2, #0] ScrA_f32(i) = TrendData.Vval.fl; 806bda2: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806bda6: 009a lsls r2, r3, #2 806bda8: 4b4e ldr r3, [pc, #312] ; (806bee4 ) 806bdaa: 4413 add r3, r2 806bdac: 461a mov r2, r3 806bdae: 4b4a ldr r3, [pc, #296] ; (806bed8 ) 806bdb0: 685b ldr r3, [r3, #4] 806bdb2: 6013 str r3, [r2, #0] CmplxA_u32(i) = TrendData.DateTime; 806bdb4: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806bdb8: 009a lsls r2, r3, #2 806bdba: 4b44 ldr r3, [pc, #272] ; (806becc ) 806bdbc: 4413 add r3, r2 806bdbe: 461a mov r2, r3 806bdc0: 4b45 ldr r3, [pc, #276] ; (806bed8 ) 806bdc2: 68db ldr r3, [r3, #12] 806bdc4: 6013 str r3, [r2, #0] for(i = 0; i < l; i++) 806bdc6: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806bdca: 3301 adds r3, #1 806bdcc: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806bdd0: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806bdd4: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806bdd8: 429a cmp r2, r3 806bdda: d3af bcc.n 806bd3c 806bddc: f001 b876 b.w 806cecc } } // end if(l) òå åñëè èìåþòñÿ çàïèñè ñ òàêèì äåòåêòîðîì } else if(menupos == Trend_excess) 806bde0: 4b41 ldr r3, [pc, #260] ; (806bee8 ) 806bde2: 781b ldrb r3, [r3, #0] 806bde4: b2db uxtb r3, r3 806bde6: 2b04 cmp r3, #4 806bde8: f041 8070 bne.w 806cecc { if(pardata.LANG == RUS) 806bdec: 4b3f ldr r3, [pc, #252] ; (806beec ) 806bdee: 7b1b ldrb r3, [r3, #12] 806bdf0: b2db uxtb r3, r3 806bdf2: 2b00 cmp r3, #0 806bdf4: d106 bne.n 806be04 BSP_LCD_DisplayStringAt(8, 35, "V(ýêñöåññ)", LEFT_MODE); 806bdf6: 2303 movs r3, #3 806bdf8: 4a3d ldr r2, [pc, #244] ; (806bef0 ) 806bdfa: 2123 movs r1, #35 ; 0x23 806bdfc: 2008 movs r0, #8 806bdfe: f7e7 fd9b bl 8053938 806be02: e005 b.n 806be10 else BSP_LCD_DisplayStringAt(8, 35, "V(excess)", LEFT_MODE); 806be04: 2303 movs r3, #3 806be06: 4a3b ldr r2, [pc, #236] ; (806bef4 ) 806be08: 2123 movs r1, #35 ; 0x23 806be0a: 2008 movs r0, #8 806be0c: f7e7 fd94 bl 8053938 // Ñ÷èòàåì êîë-âî èçìåðåíèé ñ òàêèì äåòåêòîðîì è ïåðåíîñèì â TrendRAM_TEMP() l = 0; 806be10: 2300 movs r3, #0 806be12: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 for(i = 0; i < NumTrendMeas; i++) 806be16: 2300 movs r3, #0 806be18: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806be1c: e042 b.n 806bea4 { TrendData = TrendRAM(i); 806be1e: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806be22: 4613 mov r3, r2 806be24: 009b lsls r3, r3, #2 806be26: 4413 add r3, r2 806be28: 009b lsls r3, r3, #2 806be2a: 461a mov r2, r3 806be2c: 4b32 ldr r3, [pc, #200] ; (806bef8 ) 806be2e: 4413 add r3, r2 806be30: 461a mov r2, r3 806be32: 4b29 ldr r3, [pc, #164] ; (806bed8 ) 806be34: 461c mov r4, r3 806be36: 4615 mov r5, r2 806be38: cd0f ldmia r5!, {r0, r1, r2, r3} 806be3a: c40f stmia r4!, {r0, r1, r2, r3} 806be3c: 682b ldr r3, [r5, #0] 806be3e: 6023 str r3, [r4, #0] if((TrendData.Vivs == 'E') && (TrendData.Vval.fl != -1.0f)) 806be40: 4b25 ldr r3, [pc, #148] ; (806bed8 ) 806be42: 7c5b ldrb r3, [r3, #17] 806be44: b2db uxtb r3, r3 806be46: 2b45 cmp r3, #69 ; 0x45 806be48: d127 bne.n 806be9a 806be4a: 4b23 ldr r3, [pc, #140] ; (806bed8 ) 806be4c: edd3 7a01 vldr s15, [r3, #4] 806be50: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 806be54: eef4 7a47 vcmp.f32 s15, s14 806be58: eef1 fa10 vmrs APSR_nzcv, fpscr 806be5c: d01d beq.n 806be9a { TrendRAM_TEMP(l) = TrendRAM(i); 806be5e: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 806be62: 4613 mov r3, r2 806be64: 009b lsls r3, r3, #2 806be66: 4413 add r3, r2 806be68: 009b lsls r3, r3, #2 806be6a: 461a mov r2, r3 806be6c: 4b17 ldr r3, [pc, #92] ; (806becc ) 806be6e: 4413 add r3, r2 806be70: 4619 mov r1, r3 806be72: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806be76: 4613 mov r3, r2 806be78: 009b lsls r3, r3, #2 806be7a: 4413 add r3, r2 806be7c: 009b lsls r3, r3, #2 806be7e: 461a mov r2, r3 806be80: 4b1d ldr r3, [pc, #116] ; (806bef8 ) 806be82: 4413 add r3, r2 806be84: 460c mov r4, r1 806be86: 461d mov r5, r3 806be88: cd0f ldmia r5!, {r0, r1, r2, r3} 806be8a: c40f stmia r4!, {r0, r1, r2, r3} 806be8c: 682b ldr r3, [r5, #0] 806be8e: 6023 str r3, [r4, #0] l++; 806be90: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806be94: 3301 adds r3, #1 806be96: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 for(i = 0; i < NumTrendMeas; i++) 806be9a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806be9e: 3301 adds r3, #1 806bea0: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806bea4: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806bea8: 4b14 ldr r3, [pc, #80] ; (806befc ) 806beaa: 681b ldr r3, [r3, #0] 806beac: 429a cmp r2, r3 806beae: d3b6 bcc.n 806be1e } } /////////////////////////////////////////////////////////////////////////// if(l) // Åñëè èìåþòñÿ çàïèñè ñ òàêèì äåòåêòîðîì 806beb0: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806beb4: 2b00 cmp r3, #0 806beb6: f001 8009 beq.w 806cecc { for(j = 0; j < l; j++) // Ðàñêëàäûâàåì ïî âîçðàñòàíèþ äàòû 806beba: 2300 movs r3, #0 806bebc: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 806bec0: e091 b.n 806bfe6 { for(i = j; i < l; i++) 806bec2: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 806bec6: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806beca: e081 b.n 806bfd0 806becc: 64090000 .word 0x64090000 806bed0: 20022314 .word 0x20022314 806bed4: 20022900 .word 0x20022900 806bed8: 20021f88 .word 0x20021f88 806bedc: d01502f9 .word 0xd01502f9 806bee0: 501502f9 .word 0x501502f9 806bee4: 64080000 .word 0x64080000 806bee8: 20020070 .word 0x20020070 806beec: 20023e60 .word 0x20023e60 806bef0: 080cf9ac .word 0x080cf9ac 806bef4: 080cf9b8 .word 0x080cf9b8 806bef8: 640a0000 .word 0x640a0000 806befc: 20020e10 .word 0x20020e10 { TrendData1 = TrendRAM_TEMP(i); 806bf00: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806bf04: 4613 mov r3, r2 806bf06: 009b lsls r3, r3, #2 806bf08: 4413 add r3, r2 806bf0a: 009b lsls r3, r3, #2 806bf0c: 461a mov r2, r3 806bf0e: 4ba6 ldr r3, [pc, #664] ; (806c1a8 ) 806bf10: 4413 add r3, r2 806bf12: 461a mov r2, r3 806bf14: 4ba5 ldr r3, [pc, #660] ; (806c1ac ) 806bf16: 461c mov r4, r3 806bf18: 4615 mov r5, r2 806bf1a: cd0f ldmia r5!, {r0, r1, r2, r3} 806bf1c: c40f stmia r4!, {r0, r1, r2, r3} 806bf1e: 682b ldr r3, [r5, #0] 806bf20: 6023 str r3, [r4, #0] TrendData2 = TrendRAM_TEMP(j); 806bf22: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806bf26: 4613 mov r3, r2 806bf28: 009b lsls r3, r3, #2 806bf2a: 4413 add r3, r2 806bf2c: 009b lsls r3, r3, #2 806bf2e: 461a mov r2, r3 806bf30: 4b9d ldr r3, [pc, #628] ; (806c1a8 ) 806bf32: 4413 add r3, r2 806bf34: 461a mov r2, r3 806bf36: 4b9e ldr r3, [pc, #632] ; (806c1b0 ) 806bf38: 461c mov r4, r3 806bf3a: 4615 mov r5, r2 806bf3c: cd0f ldmia r5!, {r0, r1, r2, r3} 806bf3e: c40f stmia r4!, {r0, r1, r2, r3} 806bf40: 682b ldr r3, [r5, #0] 806bf42: 6023 str r3, [r4, #0] if(TrendData1.DateTime < TrendData2.DateTime) 806bf44: 4b99 ldr r3, [pc, #612] ; (806c1ac ) 806bf46: 68da ldr r2, [r3, #12] 806bf48: 4b99 ldr r3, [pc, #612] ; (806c1b0 ) 806bf4a: 68db ldr r3, [r3, #12] 806bf4c: 429a cmp r2, r3 806bf4e: d23a bcs.n 806bfc6 { TrendData = TrendRAM_TEMP(j); 806bf50: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806bf54: 4613 mov r3, r2 806bf56: 009b lsls r3, r3, #2 806bf58: 4413 add r3, r2 806bf5a: 009b lsls r3, r3, #2 806bf5c: 461a mov r2, r3 806bf5e: 4b92 ldr r3, [pc, #584] ; (806c1a8 ) 806bf60: 4413 add r3, r2 806bf62: 461a mov r2, r3 806bf64: 4b93 ldr r3, [pc, #588] ; (806c1b4 ) 806bf66: 461c mov r4, r3 806bf68: 4615 mov r5, r2 806bf6a: cd0f ldmia r5!, {r0, r1, r2, r3} 806bf6c: c40f stmia r4!, {r0, r1, r2, r3} 806bf6e: 682b ldr r3, [r5, #0] 806bf70: 6023 str r3, [r4, #0] TrendRAM_TEMP(j) = TrendRAM_TEMP(i); 806bf72: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806bf76: 4613 mov r3, r2 806bf78: 009b lsls r3, r3, #2 806bf7a: 4413 add r3, r2 806bf7c: 009b lsls r3, r3, #2 806bf7e: 461a mov r2, r3 806bf80: 4b89 ldr r3, [pc, #548] ; (806c1a8 ) 806bf82: 4413 add r3, r2 806bf84: 4619 mov r1, r3 806bf86: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806bf8a: 4613 mov r3, r2 806bf8c: 009b lsls r3, r3, #2 806bf8e: 4413 add r3, r2 806bf90: 009b lsls r3, r3, #2 806bf92: 461a mov r2, r3 806bf94: 4b84 ldr r3, [pc, #528] ; (806c1a8 ) 806bf96: 4413 add r3, r2 806bf98: 460c mov r4, r1 806bf9a: 461d mov r5, r3 806bf9c: cd0f ldmia r5!, {r0, r1, r2, r3} 806bf9e: c40f stmia r4!, {r0, r1, r2, r3} 806bfa0: 682b ldr r3, [r5, #0] 806bfa2: 6023 str r3, [r4, #0] TrendRAM_TEMP(i) = TrendData; 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: 4b7d ldr r3, [pc, #500] ; (806c1a8 ) 806bfb4: 4413 add r3, r2 806bfb6: 461a mov r2, r3 806bfb8: 4b7e ldr r3, [pc, #504] ; (806c1b4 ) 806bfba: 4614 mov r4, r2 806bfbc: 461d mov r5, r3 806bfbe: cd0f ldmia r5!, {r0, r1, r2, r3} 806bfc0: c40f stmia r4!, {r0, r1, r2, r3} 806bfc2: 682b ldr r3, [r5, #0] 806bfc4: 6023 str r3, [r4, #0] for(i = j; i < l; i++) 806bfc6: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806bfca: 3301 adds r3, #1 806bfcc: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806bfd0: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806bfd4: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806bfd8: 429a cmp r2, r3 806bfda: d391 bcc.n 806bf00 for(j = 0; j < l; j++) // Ðàñêëàäûâàåì ïî âîçðàñòàíèþ äàòû 806bfdc: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 806bfe0: 3301 adds r3, #1 806bfe2: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 806bfe6: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806bfea: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806bfee: 429a cmp r2, r3 806bff0: f4ff af67 bcc.w 806bec2 } } } // Èùåì ìàêñèìóì è ìèíèìóì ïî îñè Y fmax = -10000000000.0f; 806bff4: 4b70 ldr r3, [pc, #448] ; (806c1b8 ) 806bff6: f207 424c addw r2, r7, #1100 ; 0x44c 806bffa: 6013 str r3, [r2, #0] fmin = 10000000000.0f; 806bffc: 4b6f ldr r3, [pc, #444] ; (806c1bc ) 806bffe: f507 6289 add.w r2, r7, #1096 ; 0x448 806c002: 6013 str r3, [r2, #0] for(i = 0; i < l; i++) 806c004: 2300 movs r3, #0 806c006: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806c00a: e049 b.n 806c0a0 { TrendData = TrendRAM_TEMP(i); 806c00c: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806c010: 4613 mov r3, r2 806c012: 009b lsls r3, r3, #2 806c014: 4413 add r3, r2 806c016: 009b lsls r3, r3, #2 806c018: 461a mov r2, r3 806c01a: 4b63 ldr r3, [pc, #396] ; (806c1a8 ) 806c01c: 4413 add r3, r2 806c01e: 461a mov r2, r3 806c020: 4b64 ldr r3, [pc, #400] ; (806c1b4 ) 806c022: 461c mov r4, r3 806c024: 4615 mov r5, r2 806c026: cd0f ldmia r5!, {r0, r1, r2, r3} 806c028: c40f stmia r4!, {r0, r1, r2, r3} 806c02a: 682b ldr r3, [r5, #0] 806c02c: 6023 str r3, [r4, #0] if(TrendData.Vval.fl > fmax) fmax = TrendData.Vval.fl; 806c02e: 4b61 ldr r3, [pc, #388] ; (806c1b4 ) 806c030: ed93 7a01 vldr s14, [r3, #4] 806c034: f207 434c addw r3, r7, #1100 ; 0x44c 806c038: edd3 7a00 vldr s15, [r3] 806c03c: eeb4 7ae7 vcmpe.f32 s14, s15 806c040: eef1 fa10 vmrs APSR_nzcv, fpscr 806c044: dd04 ble.n 806c050 806c046: 4b5b ldr r3, [pc, #364] ; (806c1b4 ) 806c048: 685b ldr r3, [r3, #4] 806c04a: f207 424c addw r2, r7, #1100 ; 0x44c 806c04e: 6013 str r3, [r2, #0] if(TrendData.Vval.fl < fmin) fmin = TrendData.Vval.fl; 806c050: 4b58 ldr r3, [pc, #352] ; (806c1b4 ) 806c052: ed93 7a01 vldr s14, [r3, #4] 806c056: f507 6389 add.w r3, r7, #1096 ; 0x448 806c05a: edd3 7a00 vldr s15, [r3] 806c05e: eeb4 7ae7 vcmpe.f32 s14, s15 806c062: eef1 fa10 vmrs APSR_nzcv, fpscr 806c066: d504 bpl.n 806c072 806c068: 4b52 ldr r3, [pc, #328] ; (806c1b4 ) 806c06a: 685b ldr r3, [r3, #4] 806c06c: f507 6289 add.w r2, r7, #1096 ; 0x448 806c070: 6013 str r3, [r2, #0] ScrA_f32(i) = TrendData.Vval.fl; 806c072: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806c076: 009a lsls r2, r3, #2 806c078: 4b51 ldr r3, [pc, #324] ; (806c1c0 ) 806c07a: 4413 add r3, r2 806c07c: 461a mov r2, r3 806c07e: 4b4d ldr r3, [pc, #308] ; (806c1b4 ) 806c080: 685b ldr r3, [r3, #4] 806c082: 6013 str r3, [r2, #0] CmplxA_u32(i) = TrendData.DateTime; 806c084: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806c088: 009a lsls r2, r3, #2 806c08a: 4b47 ldr r3, [pc, #284] ; (806c1a8 ) 806c08c: 4413 add r3, r2 806c08e: 461a mov r2, r3 806c090: 4b48 ldr r3, [pc, #288] ; (806c1b4 ) 806c092: 68db ldr r3, [r3, #12] 806c094: 6013 str r3, [r2, #0] for(i = 0; i < l; i++) 806c096: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806c09a: 3301 adds r3, #1 806c09c: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806c0a0: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806c0a4: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806c0a8: 429a cmp r2, r3 806c0aa: d3af bcc.n 806c00c 806c0ac: f000 bf0e b.w 806cecc } } // end if(l) òå åñëè èìåþòñÿ çàïèñè ñ òàêèì äåòåêòîðîì } } else if(menu == TREND_S) 806c0b0: 4b44 ldr r3, [pc, #272] ; (806c1c4 ) 806c0b2: 781b ldrb r3, [r3, #0] 806c0b4: b2db uxtb r3, r3 806c0b6: 2b47 cmp r3, #71 ; 0x47 806c0b8: f040 8708 bne.w 806cecc { if(menupos == Trend_pk) 806c0bc: 4b42 ldr r3, [pc, #264] ; (806c1c8 ) 806c0be: 781b ldrb r3, [r3, #0] 806c0c0: b2db uxtb r3, r3 806c0c2: 2b00 cmp r3, #0 806c0c4: f040 8164 bne.w 806c390 { if(pardata.LANG == RUS) 806c0c8: 4b40 ldr r3, [pc, #256] ; (806c1cc ) 806c0ca: 7b1b ldrb r3, [r3, #12] 806c0cc: b2db uxtb r3, r3 806c0ce: 2b00 cmp r3, #0 806c0d0: d106 bne.n 806c0e0 BSP_LCD_DisplayStringAt(8, 35, "S(ïèê),ìêì", LEFT_MODE); 806c0d2: 2303 movs r3, #3 806c0d4: 4a3e ldr r2, [pc, #248] ; (806c1d0 ) 806c0d6: 2123 movs r1, #35 ; 0x23 806c0d8: 2008 movs r0, #8 806c0da: f7e7 fc2d bl 8053938 806c0de: e005 b.n 806c0ec else BSP_LCD_DisplayStringAt(8, 35, "S(peak),um", LEFT_MODE); 806c0e0: 2303 movs r3, #3 806c0e2: 4a3c ldr r2, [pc, #240] ; (806c1d4 ) 806c0e4: 2123 movs r1, #35 ; 0x23 806c0e6: 2008 movs r0, #8 806c0e8: f7e7 fc26 bl 8053938 // Ñ÷èòàåì êîë-âî èçìåðåíèé ñ òàêèì äåòåêòîðîì è ïåðåíîñèì â TrendRAM_TEMP() l = 0; 806c0ec: 2300 movs r3, #0 806c0ee: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 for(i = 0; i < NumTrendMeas; i++) 806c0f2: 2300 movs r3, #0 806c0f4: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806c0f8: e042 b.n 806c180 { TrendData = TrendRAM(i); 806c0fa: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806c0fe: 4613 mov r3, r2 806c100: 009b lsls r3, r3, #2 806c102: 4413 add r3, r2 806c104: 009b lsls r3, r3, #2 806c106: 461a mov r2, r3 806c108: 4b33 ldr r3, [pc, #204] ; (806c1d8 ) 806c10a: 4413 add r3, r2 806c10c: 461a mov r2, r3 806c10e: 4b29 ldr r3, [pc, #164] ; (806c1b4 ) 806c110: 461c mov r4, r3 806c112: 4615 mov r5, r2 806c114: cd0f ldmia r5!, {r0, r1, r2, r3} 806c116: c40f stmia r4!, {r0, r1, r2, r3} 806c118: 682b ldr r3, [r5, #0] 806c11a: 6023 str r3, [r4, #0] if((TrendData.Sivs == 'P') && (TrendData.Sval.fl != -1.0f)) 806c11c: 4b25 ldr r3, [pc, #148] ; (806c1b4 ) 806c11e: 7c9b ldrb r3, [r3, #18] 806c120: b2db uxtb r3, r3 806c122: 2b50 cmp r3, #80 ; 0x50 806c124: d127 bne.n 806c176 806c126: 4b23 ldr r3, [pc, #140] ; (806c1b4 ) 806c128: edd3 7a02 vldr s15, [r3, #8] 806c12c: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 806c130: eef4 7a47 vcmp.f32 s15, s14 806c134: eef1 fa10 vmrs APSR_nzcv, fpscr 806c138: d01d beq.n 806c176 { TrendRAM_TEMP(l) = TrendRAM(i); 806c13a: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 806c13e: 4613 mov r3, r2 806c140: 009b lsls r3, r3, #2 806c142: 4413 add r3, r2 806c144: 009b lsls r3, r3, #2 806c146: 461a mov r2, r3 806c148: 4b17 ldr r3, [pc, #92] ; (806c1a8 ) 806c14a: 4413 add r3, r2 806c14c: 4619 mov r1, r3 806c14e: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806c152: 4613 mov r3, r2 806c154: 009b lsls r3, r3, #2 806c156: 4413 add r3, r2 806c158: 009b lsls r3, r3, #2 806c15a: 461a mov r2, r3 806c15c: 4b1e ldr r3, [pc, #120] ; (806c1d8 ) 806c15e: 4413 add r3, r2 806c160: 460c mov r4, r1 806c162: 461d mov r5, r3 806c164: cd0f ldmia r5!, {r0, r1, r2, r3} 806c166: c40f stmia r4!, {r0, r1, r2, r3} 806c168: 682b ldr r3, [r5, #0] 806c16a: 6023 str r3, [r4, #0] l++; 806c16c: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806c170: 3301 adds r3, #1 806c172: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 for(i = 0; i < NumTrendMeas; i++) 806c176: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806c17a: 3301 adds r3, #1 806c17c: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806c180: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806c184: 4b15 ldr r3, [pc, #84] ; (806c1dc ) 806c186: 681b ldr r3, [r3, #0] 806c188: 429a cmp r2, r3 806c18a: d3b6 bcc.n 806c0fa } } /////////////////////////////////////////////////////////////////////////// if(l) // Åñëè èìåþòñÿ çàïèñè ñ òàêèì äåòåêòîðîì 806c18c: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806c190: 2b00 cmp r3, #0 806c192: f000 869b beq.w 806cecc { for(j = 0; j < l; j++) // Ðàñêëàäûâàåì ïî âîçðàñòàíèþ äàòû 806c196: 2300 movs r3, #0 806c198: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 806c19c: e093 b.n 806c2c6 { for(i = j; i < l; i++) 806c19e: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 806c1a2: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806c1a6: e083 b.n 806c2b0 806c1a8: 64090000 .word 0x64090000 806c1ac: 20022314 .word 0x20022314 806c1b0: 20022900 .word 0x20022900 806c1b4: 20021f88 .word 0x20021f88 806c1b8: d01502f9 .word 0xd01502f9 806c1bc: 501502f9 .word 0x501502f9 806c1c0: 64080000 .word 0x64080000 806c1c4: 20020f78 .word 0x20020f78 806c1c8: 20020070 .word 0x20020070 806c1cc: 20023e60 .word 0x20023e60 806c1d0: 080cf9c4 .word 0x080cf9c4 806c1d4: 080cf9d0 .word 0x080cf9d0 806c1d8: 640a0000 .word 0x640a0000 806c1dc: 20020e10 .word 0x20020e10 { TrendData1 = TrendRAM_TEMP(i); 806c1e0: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806c1e4: 4613 mov r3, r2 806c1e6: 009b lsls r3, r3, #2 806c1e8: 4413 add r3, r2 806c1ea: 009b lsls r3, r3, #2 806c1ec: 461a mov r2, r3 806c1ee: 4ba3 ldr r3, [pc, #652] ; (806c47c ) 806c1f0: 4413 add r3, r2 806c1f2: 461a mov r2, r3 806c1f4: 4ba2 ldr r3, [pc, #648] ; (806c480 ) 806c1f6: 461c mov r4, r3 806c1f8: 4615 mov r5, r2 806c1fa: cd0f ldmia r5!, {r0, r1, r2, r3} 806c1fc: c40f stmia r4!, {r0, r1, r2, r3} 806c1fe: 682b ldr r3, [r5, #0] 806c200: 6023 str r3, [r4, #0] TrendData2 = TrendRAM_TEMP(j); 806c202: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806c206: 4613 mov r3, r2 806c208: 009b lsls r3, r3, #2 806c20a: 4413 add r3, r2 806c20c: 009b lsls r3, r3, #2 806c20e: 461a mov r2, r3 806c210: 4b9a ldr r3, [pc, #616] ; (806c47c ) 806c212: 4413 add r3, r2 806c214: 461a mov r2, r3 806c216: 4b9b ldr r3, [pc, #620] ; (806c484 ) 806c218: 461c mov r4, r3 806c21a: 4615 mov r5, r2 806c21c: cd0f ldmia r5!, {r0, r1, r2, r3} 806c21e: c40f stmia r4!, {r0, r1, r2, r3} 806c220: 682b ldr r3, [r5, #0] 806c222: 6023 str r3, [r4, #0] if(TrendData1.DateTime < TrendData2.DateTime) 806c224: 4b96 ldr r3, [pc, #600] ; (806c480 ) 806c226: 68da ldr r2, [r3, #12] 806c228: 4b96 ldr r3, [pc, #600] ; (806c484 ) 806c22a: 68db ldr r3, [r3, #12] 806c22c: 429a cmp r2, r3 806c22e: d23a bcs.n 806c2a6 { TrendData = TrendRAM_TEMP(j); 806c230: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806c234: 4613 mov r3, r2 806c236: 009b lsls r3, r3, #2 806c238: 4413 add r3, r2 806c23a: 009b lsls r3, r3, #2 806c23c: 461a mov r2, r3 806c23e: 4b8f ldr r3, [pc, #572] ; (806c47c ) 806c240: 4413 add r3, r2 806c242: 461a mov r2, r3 806c244: 4b90 ldr r3, [pc, #576] ; (806c488 ) 806c246: 461c mov r4, r3 806c248: 4615 mov r5, r2 806c24a: cd0f ldmia r5!, {r0, r1, r2, r3} 806c24c: c40f stmia r4!, {r0, r1, r2, r3} 806c24e: 682b ldr r3, [r5, #0] 806c250: 6023 str r3, [r4, #0] TrendRAM_TEMP(j) = TrendRAM_TEMP(i); 806c252: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806c256: 4613 mov r3, r2 806c258: 009b lsls r3, r3, #2 806c25a: 4413 add r3, r2 806c25c: 009b lsls r3, r3, #2 806c25e: 461a mov r2, r3 806c260: 4b86 ldr r3, [pc, #536] ; (806c47c ) 806c262: 4413 add r3, r2 806c264: 4619 mov r1, r3 806c266: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806c26a: 4613 mov r3, r2 806c26c: 009b lsls r3, r3, #2 806c26e: 4413 add r3, r2 806c270: 009b lsls r3, r3, #2 806c272: 461a mov r2, r3 806c274: 4b81 ldr r3, [pc, #516] ; (806c47c ) 806c276: 4413 add r3, r2 806c278: 460c mov r4, r1 806c27a: 461d mov r5, r3 806c27c: cd0f ldmia r5!, {r0, r1, r2, r3} 806c27e: c40f stmia r4!, {r0, r1, r2, r3} 806c280: 682b ldr r3, [r5, #0] 806c282: 6023 str r3, [r4, #0] TrendRAM_TEMP(i) = TrendData; 806c284: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806c288: 4613 mov r3, r2 806c28a: 009b lsls r3, r3, #2 806c28c: 4413 add r3, r2 806c28e: 009b lsls r3, r3, #2 806c290: 461a mov r2, r3 806c292: 4b7a ldr r3, [pc, #488] ; (806c47c ) 806c294: 4413 add r3, r2 806c296: 461a mov r2, r3 806c298: 4b7b ldr r3, [pc, #492] ; (806c488 ) 806c29a: 4614 mov r4, r2 806c29c: 461d mov r5, r3 806c29e: cd0f ldmia r5!, {r0, r1, r2, r3} 806c2a0: c40f stmia r4!, {r0, r1, r2, r3} 806c2a2: 682b ldr r3, [r5, #0] 806c2a4: 6023 str r3, [r4, #0] for(i = j; i < l; i++) 806c2a6: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806c2aa: 3301 adds r3, #1 806c2ac: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806c2b0: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806c2b4: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806c2b8: 429a cmp r2, r3 806c2ba: d391 bcc.n 806c1e0 for(j = 0; j < l; j++) // Ðàñêëàäûâàåì ïî âîçðàñòàíèþ äàòû 806c2bc: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 806c2c0: 3301 adds r3, #1 806c2c2: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 806c2c6: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806c2ca: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806c2ce: 429a cmp r2, r3 806c2d0: f4ff af65 bcc.w 806c19e } } } // Èùåì ìàêñèìóì è ìèíèìóì ïî îñè Y fmax = -10000000000.0f; 806c2d4: 4b6d ldr r3, [pc, #436] ; (806c48c ) 806c2d6: f207 424c addw r2, r7, #1100 ; 0x44c 806c2da: 6013 str r3, [r2, #0] fmin = 10000000000.0f; 806c2dc: 4b6c ldr r3, [pc, #432] ; (806c490 ) 806c2de: f507 6289 add.w r2, r7, #1096 ; 0x448 806c2e2: 6013 str r3, [r2, #0] for(i = 0; i < l; i++) 806c2e4: 2300 movs r3, #0 806c2e6: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806c2ea: e049 b.n 806c380 { TrendData = TrendRAM_TEMP(i); 806c2ec: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806c2f0: 4613 mov r3, r2 806c2f2: 009b lsls r3, r3, #2 806c2f4: 4413 add r3, r2 806c2f6: 009b lsls r3, r3, #2 806c2f8: 461a mov r2, r3 806c2fa: 4b60 ldr r3, [pc, #384] ; (806c47c ) 806c2fc: 4413 add r3, r2 806c2fe: 461a mov r2, r3 806c300: 4b61 ldr r3, [pc, #388] ; (806c488 ) 806c302: 461c mov r4, r3 806c304: 4615 mov r5, r2 806c306: cd0f ldmia r5!, {r0, r1, r2, r3} 806c308: c40f stmia r4!, {r0, r1, r2, r3} 806c30a: 682b ldr r3, [r5, #0] 806c30c: 6023 str r3, [r4, #0] if(TrendData.Sval.fl > fmax) fmax = TrendData.Sval.fl; 806c30e: 4b5e ldr r3, [pc, #376] ; (806c488 ) 806c310: ed93 7a02 vldr s14, [r3, #8] 806c314: f207 434c addw r3, r7, #1100 ; 0x44c 806c318: edd3 7a00 vldr s15, [r3] 806c31c: eeb4 7ae7 vcmpe.f32 s14, s15 806c320: eef1 fa10 vmrs APSR_nzcv, fpscr 806c324: dd04 ble.n 806c330 806c326: 4b58 ldr r3, [pc, #352] ; (806c488 ) 806c328: 689b ldr r3, [r3, #8] 806c32a: f207 424c addw r2, r7, #1100 ; 0x44c 806c32e: 6013 str r3, [r2, #0] if(TrendData.Sval.fl < fmin) fmin = TrendData.Sval.fl; 806c330: 4b55 ldr r3, [pc, #340] ; (806c488 ) 806c332: ed93 7a02 vldr s14, [r3, #8] 806c336: f507 6389 add.w r3, r7, #1096 ; 0x448 806c33a: edd3 7a00 vldr s15, [r3] 806c33e: eeb4 7ae7 vcmpe.f32 s14, s15 806c342: eef1 fa10 vmrs APSR_nzcv, fpscr 806c346: d504 bpl.n 806c352 806c348: 4b4f ldr r3, [pc, #316] ; (806c488 ) 806c34a: 689b ldr r3, [r3, #8] 806c34c: f507 6289 add.w r2, r7, #1096 ; 0x448 806c350: 6013 str r3, [r2, #0] ScrA_f32(i) = TrendData.Sval.fl; 806c352: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806c356: 009a lsls r2, r3, #2 806c358: 4b4e ldr r3, [pc, #312] ; (806c494 ) 806c35a: 4413 add r3, r2 806c35c: 461a mov r2, r3 806c35e: 4b4a ldr r3, [pc, #296] ; (806c488 ) 806c360: 689b ldr r3, [r3, #8] 806c362: 6013 str r3, [r2, #0] CmplxA_u32(i) = TrendData.DateTime; 806c364: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806c368: 009a lsls r2, r3, #2 806c36a: 4b44 ldr r3, [pc, #272] ; (806c47c ) 806c36c: 4413 add r3, r2 806c36e: 461a mov r2, r3 806c370: 4b45 ldr r3, [pc, #276] ; (806c488 ) 806c372: 68db ldr r3, [r3, #12] 806c374: 6013 str r3, [r2, #0] for(i = 0; i < l; i++) 806c376: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806c37a: 3301 adds r3, #1 806c37c: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806c380: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806c384: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806c388: 429a cmp r2, r3 806c38a: d3af bcc.n 806c2ec 806c38c: f000 bd9e b.w 806cecc } } // end if(l) òå åñëè èìåþòñÿ çàïèñè ñ òàêèì äåòåêòîðîì } else if(menupos == Trend_rms) 806c390: 4b41 ldr r3, [pc, #260] ; (806c498 ) 806c392: 781b ldrb r3, [r3, #0] 806c394: b2db uxtb r3, r3 806c396: 2b01 cmp r3, #1 806c398: f040 8162 bne.w 806c660 { if(pardata.LANG == RUS) 806c39c: 4b3f ldr r3, [pc, #252] ; (806c49c ) 806c39e: 7b1b ldrb r3, [r3, #12] 806c3a0: b2db uxtb r3, r3 806c3a2: 2b00 cmp r3, #0 806c3a4: d106 bne.n 806c3b4 BSP_LCD_DisplayStringAt(8, 35, "S(ñêç),ìêì", LEFT_MODE); 806c3a6: 2303 movs r3, #3 806c3a8: 4a3d ldr r2, [pc, #244] ; (806c4a0 ) 806c3aa: 2123 movs r1, #35 ; 0x23 806c3ac: 2008 movs r0, #8 806c3ae: f7e7 fac3 bl 8053938 806c3b2: e005 b.n 806c3c0 else BSP_LCD_DisplayStringAt(8, 35, "S(rms),um", LEFT_MODE); 806c3b4: 2303 movs r3, #3 806c3b6: 4a3b ldr r2, [pc, #236] ; (806c4a4 ) 806c3b8: 2123 movs r1, #35 ; 0x23 806c3ba: 2008 movs r0, #8 806c3bc: f7e7 fabc bl 8053938 // Ñ÷èòàåì êîë-âî èçìåðåíèé ñ òàêèì äåòåêòîðîì è ïåðåíîñèì â TrendRAM_TEMP() l = 0; 806c3c0: 2300 movs r3, #0 806c3c2: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 for(i = 0; i < NumTrendMeas; i++) 806c3c6: 2300 movs r3, #0 806c3c8: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806c3cc: e042 b.n 806c454 { TrendData = TrendRAM(i); 806c3ce: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806c3d2: 4613 mov r3, r2 806c3d4: 009b lsls r3, r3, #2 806c3d6: 4413 add r3, r2 806c3d8: 009b lsls r3, r3, #2 806c3da: 461a mov r2, r3 806c3dc: 4b32 ldr r3, [pc, #200] ; (806c4a8 ) 806c3de: 4413 add r3, r2 806c3e0: 461a mov r2, r3 806c3e2: 4b29 ldr r3, [pc, #164] ; (806c488 ) 806c3e4: 461c mov r4, r3 806c3e6: 4615 mov r5, r2 806c3e8: cd0f ldmia r5!, {r0, r1, r2, r3} 806c3ea: c40f stmia r4!, {r0, r1, r2, r3} 806c3ec: 682b ldr r3, [r5, #0] 806c3ee: 6023 str r3, [r4, #0] if((TrendData.Sivs == 'S') && (TrendData.Sval.fl != -1.0f)) 806c3f0: 4b25 ldr r3, [pc, #148] ; (806c488 ) 806c3f2: 7c9b ldrb r3, [r3, #18] 806c3f4: b2db uxtb r3, r3 806c3f6: 2b53 cmp r3, #83 ; 0x53 806c3f8: d127 bne.n 806c44a 806c3fa: 4b23 ldr r3, [pc, #140] ; (806c488 ) 806c3fc: edd3 7a02 vldr s15, [r3, #8] 806c400: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 806c404: eef4 7a47 vcmp.f32 s15, s14 806c408: eef1 fa10 vmrs APSR_nzcv, fpscr 806c40c: d01d beq.n 806c44a { TrendRAM_TEMP(l) = TrendRAM(i); 806c40e: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 806c412: 4613 mov r3, r2 806c414: 009b lsls r3, r3, #2 806c416: 4413 add r3, r2 806c418: 009b lsls r3, r3, #2 806c41a: 461a mov r2, r3 806c41c: 4b17 ldr r3, [pc, #92] ; (806c47c ) 806c41e: 4413 add r3, r2 806c420: 4619 mov r1, r3 806c422: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806c426: 4613 mov r3, r2 806c428: 009b lsls r3, r3, #2 806c42a: 4413 add r3, r2 806c42c: 009b lsls r3, r3, #2 806c42e: 461a mov r2, r3 806c430: 4b1d ldr r3, [pc, #116] ; (806c4a8 ) 806c432: 4413 add r3, r2 806c434: 460c mov r4, r1 806c436: 461d mov r5, r3 806c438: cd0f ldmia r5!, {r0, r1, r2, r3} 806c43a: c40f stmia r4!, {r0, r1, r2, r3} 806c43c: 682b ldr r3, [r5, #0] 806c43e: 6023 str r3, [r4, #0] l++; 806c440: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806c444: 3301 adds r3, #1 806c446: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 for(i = 0; i < NumTrendMeas; i++) 806c44a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806c44e: 3301 adds r3, #1 806c450: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806c454: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806c458: 4b14 ldr r3, [pc, #80] ; (806c4ac ) 806c45a: 681b ldr r3, [r3, #0] 806c45c: 429a cmp r2, r3 806c45e: d3b6 bcc.n 806c3ce } } /////////////////////////////////////////////////////////////////////////// if(l) // Åñëè èìåþòñÿ çàïèñè ñ òàêèì äåòåêòîðîì 806c460: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806c464: 2b00 cmp r3, #0 806c466: f000 8531 beq.w 806cecc { for(j = 0; j < l; j++) // Ðàñêëàäûâàåì ïî âîçðàñòàíèþ äàòû 806c46a: 2300 movs r3, #0 806c46c: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 806c470: e091 b.n 806c596 { for(i = j; i < l; i++) 806c472: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 806c476: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806c47a: e081 b.n 806c580 806c47c: 64090000 .word 0x64090000 806c480: 20022314 .word 0x20022314 806c484: 20022900 .word 0x20022900 806c488: 20021f88 .word 0x20021f88 806c48c: d01502f9 .word 0xd01502f9 806c490: 501502f9 .word 0x501502f9 806c494: 64080000 .word 0x64080000 806c498: 20020070 .word 0x20020070 806c49c: 20023e60 .word 0x20023e60 806c4a0: 080cf9dc .word 0x080cf9dc 806c4a4: 080cf9e8 .word 0x080cf9e8 806c4a8: 640a0000 .word 0x640a0000 806c4ac: 20020e10 .word 0x20020e10 { TrendData1 = TrendRAM_TEMP(i); 806c4b0: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806c4b4: 4613 mov r3, r2 806c4b6: 009b lsls r3, r3, #2 806c4b8: 4413 add r3, r2 806c4ba: 009b lsls r3, r3, #2 806c4bc: 461a mov r2, r3 806c4be: 4ba3 ldr r3, [pc, #652] ; (806c74c ) 806c4c0: 4413 add r3, r2 806c4c2: 461a mov r2, r3 806c4c4: 4ba2 ldr r3, [pc, #648] ; (806c750 ) 806c4c6: 461c mov r4, r3 806c4c8: 4615 mov r5, r2 806c4ca: cd0f ldmia r5!, {r0, r1, r2, r3} 806c4cc: c40f stmia r4!, {r0, r1, r2, r3} 806c4ce: 682b ldr r3, [r5, #0] 806c4d0: 6023 str r3, [r4, #0] TrendData2 = TrendRAM_TEMP(j); 806c4d2: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806c4d6: 4613 mov r3, r2 806c4d8: 009b lsls r3, r3, #2 806c4da: 4413 add r3, r2 806c4dc: 009b lsls r3, r3, #2 806c4de: 461a mov r2, r3 806c4e0: 4b9a ldr r3, [pc, #616] ; (806c74c ) 806c4e2: 4413 add r3, r2 806c4e4: 461a mov r2, r3 806c4e6: 4b9b ldr r3, [pc, #620] ; (806c754 ) 806c4e8: 461c mov r4, r3 806c4ea: 4615 mov r5, r2 806c4ec: cd0f ldmia r5!, {r0, r1, r2, r3} 806c4ee: c40f stmia r4!, {r0, r1, r2, r3} 806c4f0: 682b ldr r3, [r5, #0] 806c4f2: 6023 str r3, [r4, #0] if(TrendData1.DateTime < TrendData2.DateTime) 806c4f4: 4b96 ldr r3, [pc, #600] ; (806c750 ) 806c4f6: 68da ldr r2, [r3, #12] 806c4f8: 4b96 ldr r3, [pc, #600] ; (806c754 ) 806c4fa: 68db ldr r3, [r3, #12] 806c4fc: 429a cmp r2, r3 806c4fe: d23a bcs.n 806c576 { TrendData = TrendRAM_TEMP(j); 806c500: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806c504: 4613 mov r3, r2 806c506: 009b lsls r3, r3, #2 806c508: 4413 add r3, r2 806c50a: 009b lsls r3, r3, #2 806c50c: 461a mov r2, r3 806c50e: 4b8f ldr r3, [pc, #572] ; (806c74c ) 806c510: 4413 add r3, r2 806c512: 461a mov r2, r3 806c514: 4b90 ldr r3, [pc, #576] ; (806c758 ) 806c516: 461c mov r4, r3 806c518: 4615 mov r5, r2 806c51a: cd0f ldmia r5!, {r0, r1, r2, r3} 806c51c: c40f stmia r4!, {r0, r1, r2, r3} 806c51e: 682b ldr r3, [r5, #0] 806c520: 6023 str r3, [r4, #0] TrendRAM_TEMP(j) = TrendRAM_TEMP(i); 806c522: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806c526: 4613 mov r3, r2 806c528: 009b lsls r3, r3, #2 806c52a: 4413 add r3, r2 806c52c: 009b lsls r3, r3, #2 806c52e: 461a mov r2, r3 806c530: 4b86 ldr r3, [pc, #536] ; (806c74c ) 806c532: 4413 add r3, r2 806c534: 4619 mov r1, r3 806c536: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806c53a: 4613 mov r3, r2 806c53c: 009b lsls r3, r3, #2 806c53e: 4413 add r3, r2 806c540: 009b lsls r3, r3, #2 806c542: 461a mov r2, r3 806c544: 4b81 ldr r3, [pc, #516] ; (806c74c ) 806c546: 4413 add r3, r2 806c548: 460c mov r4, r1 806c54a: 461d mov r5, r3 806c54c: cd0f ldmia r5!, {r0, r1, r2, r3} 806c54e: c40f stmia r4!, {r0, r1, r2, r3} 806c550: 682b ldr r3, [r5, #0] 806c552: 6023 str r3, [r4, #0] TrendRAM_TEMP(i) = TrendData; 806c554: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806c558: 4613 mov r3, r2 806c55a: 009b lsls r3, r3, #2 806c55c: 4413 add r3, r2 806c55e: 009b lsls r3, r3, #2 806c560: 461a mov r2, r3 806c562: 4b7a ldr r3, [pc, #488] ; (806c74c ) 806c564: 4413 add r3, r2 806c566: 461a mov r2, r3 806c568: 4b7b ldr r3, [pc, #492] ; (806c758 ) 806c56a: 4614 mov r4, r2 806c56c: 461d mov r5, r3 806c56e: cd0f ldmia r5!, {r0, r1, r2, r3} 806c570: c40f stmia r4!, {r0, r1, r2, r3} 806c572: 682b ldr r3, [r5, #0] 806c574: 6023 str r3, [r4, #0] for(i = j; i < l; i++) 806c576: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806c57a: 3301 adds r3, #1 806c57c: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806c580: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806c584: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806c588: 429a cmp r2, r3 806c58a: d391 bcc.n 806c4b0 for(j = 0; j < l; j++) // Ðàñêëàäûâàåì ïî âîçðàñòàíèþ äàòû 806c58c: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 806c590: 3301 adds r3, #1 806c592: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 806c596: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806c59a: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806c59e: 429a cmp r2, r3 806c5a0: f4ff af67 bcc.w 806c472 } } } // Èùåì ìàêñèìóì è ìèíèìóì ïî îñè Y fmax = -10000000000.0f; 806c5a4: 4b6d ldr r3, [pc, #436] ; (806c75c ) 806c5a6: f207 424c addw r2, r7, #1100 ; 0x44c 806c5aa: 6013 str r3, [r2, #0] fmin = 10000000000.0f; 806c5ac: 4b6c ldr r3, [pc, #432] ; (806c760 ) 806c5ae: f507 6289 add.w r2, r7, #1096 ; 0x448 806c5b2: 6013 str r3, [r2, #0] for(i = 0; i < l; i++) 806c5b4: 2300 movs r3, #0 806c5b6: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806c5ba: e049 b.n 806c650 { TrendData = TrendRAM_TEMP(i); 806c5bc: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806c5c0: 4613 mov r3, r2 806c5c2: 009b lsls r3, r3, #2 806c5c4: 4413 add r3, r2 806c5c6: 009b lsls r3, r3, #2 806c5c8: 461a mov r2, r3 806c5ca: 4b60 ldr r3, [pc, #384] ; (806c74c ) 806c5cc: 4413 add r3, r2 806c5ce: 461a mov r2, r3 806c5d0: 4b61 ldr r3, [pc, #388] ; (806c758 ) 806c5d2: 461c mov r4, r3 806c5d4: 4615 mov r5, r2 806c5d6: cd0f ldmia r5!, {r0, r1, r2, r3} 806c5d8: c40f stmia r4!, {r0, r1, r2, r3} 806c5da: 682b ldr r3, [r5, #0] 806c5dc: 6023 str r3, [r4, #0] if(TrendData.Sval.fl > fmax) fmax = TrendData.Sval.fl; 806c5de: 4b5e ldr r3, [pc, #376] ; (806c758 ) 806c5e0: ed93 7a02 vldr s14, [r3, #8] 806c5e4: f207 434c addw r3, r7, #1100 ; 0x44c 806c5e8: edd3 7a00 vldr s15, [r3] 806c5ec: eeb4 7ae7 vcmpe.f32 s14, s15 806c5f0: eef1 fa10 vmrs APSR_nzcv, fpscr 806c5f4: dd04 ble.n 806c600 806c5f6: 4b58 ldr r3, [pc, #352] ; (806c758 ) 806c5f8: 689b ldr r3, [r3, #8] 806c5fa: f207 424c addw r2, r7, #1100 ; 0x44c 806c5fe: 6013 str r3, [r2, #0] if(TrendData.Sval.fl < fmin) fmin = TrendData.Sval.fl; 806c600: 4b55 ldr r3, [pc, #340] ; (806c758 ) 806c602: ed93 7a02 vldr s14, [r3, #8] 806c606: f507 6389 add.w r3, r7, #1096 ; 0x448 806c60a: edd3 7a00 vldr s15, [r3] 806c60e: eeb4 7ae7 vcmpe.f32 s14, s15 806c612: eef1 fa10 vmrs APSR_nzcv, fpscr 806c616: d504 bpl.n 806c622 806c618: 4b4f ldr r3, [pc, #316] ; (806c758 ) 806c61a: 689b ldr r3, [r3, #8] 806c61c: f507 6289 add.w r2, r7, #1096 ; 0x448 806c620: 6013 str r3, [r2, #0] ScrA_f32(i) = TrendData.Sval.fl; 806c622: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806c626: 009a lsls r2, r3, #2 806c628: 4b4e ldr r3, [pc, #312] ; (806c764 ) 806c62a: 4413 add r3, r2 806c62c: 461a mov r2, r3 806c62e: 4b4a ldr r3, [pc, #296] ; (806c758 ) 806c630: 689b ldr r3, [r3, #8] 806c632: 6013 str r3, [r2, #0] CmplxA_u32(i) = TrendData.DateTime; 806c634: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806c638: 009a lsls r2, r3, #2 806c63a: 4b44 ldr r3, [pc, #272] ; (806c74c ) 806c63c: 4413 add r3, r2 806c63e: 461a mov r2, r3 806c640: 4b45 ldr r3, [pc, #276] ; (806c758 ) 806c642: 68db ldr r3, [r3, #12] 806c644: 6013 str r3, [r2, #0] for(i = 0; i < l; i++) 806c646: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806c64a: 3301 adds r3, #1 806c64c: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806c650: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806c654: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806c658: 429a cmp r2, r3 806c65a: d3af bcc.n 806c5bc 806c65c: f000 bc36 b.w 806cecc } } // end if(l) òå åñëè èìåþòñÿ çàïèñè ñ òàêèì äåòåêòîðîì } else if(menupos == Trend_pkpk) 806c660: 4b41 ldr r3, [pc, #260] ; (806c768 ) 806c662: 781b ldrb r3, [r3, #0] 806c664: b2db uxtb r3, r3 806c666: 2b02 cmp r3, #2 806c668: f040 8161 bne.w 806c92e { if(pardata.LANG == RUS) 806c66c: 4b3f ldr r3, [pc, #252] ; (806c76c ) 806c66e: 7b1b ldrb r3, [r3, #12] 806c670: b2db uxtb r3, r3 806c672: 2b00 cmp r3, #0 806c674: d106 bne.n 806c684 BSP_LCD_DisplayStringAt(8, 35, "S(ðàçìàõ),ìêì", LEFT_MODE); 806c676: 2303 movs r3, #3 806c678: 4a3d ldr r2, [pc, #244] ; (806c770 ) 806c67a: 2123 movs r1, #35 ; 0x23 806c67c: 2008 movs r0, #8 806c67e: f7e7 f95b bl 8053938 806c682: e005 b.n 806c690 else BSP_LCD_DisplayStringAt(8, 35, "S(peak-peak),um", LEFT_MODE); 806c684: 2303 movs r3, #3 806c686: 4a3b ldr r2, [pc, #236] ; (806c774 ) 806c688: 2123 movs r1, #35 ; 0x23 806c68a: 2008 movs r0, #8 806c68c: f7e7 f954 bl 8053938 // Ñ÷èòàåì êîë-âî èçìåðåíèé ñ òàêèì äåòåêòîðîì è ïåðåíîñèì â TrendRAM_TEMP() l = 0; 806c690: 2300 movs r3, #0 806c692: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 for(i = 0; i < NumTrendMeas; i++) 806c696: 2300 movs r3, #0 806c698: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806c69c: e042 b.n 806c724 { TrendData = TrendRAM(i); 806c69e: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806c6a2: 4613 mov r3, r2 806c6a4: 009b lsls r3, r3, #2 806c6a6: 4413 add r3, r2 806c6a8: 009b lsls r3, r3, #2 806c6aa: 461a mov r2, r3 806c6ac: 4b32 ldr r3, [pc, #200] ; (806c778 ) 806c6ae: 4413 add r3, r2 806c6b0: 461a mov r2, r3 806c6b2: 4b29 ldr r3, [pc, #164] ; (806c758 ) 806c6b4: 461c mov r4, r3 806c6b6: 4615 mov r5, r2 806c6b8: cd0f ldmia r5!, {r0, r1, r2, r3} 806c6ba: c40f stmia r4!, {r0, r1, r2, r3} 806c6bc: 682b ldr r3, [r5, #0] 806c6be: 6023 str r3, [r4, #0] if((TrendData.Sivs == 'R') && (TrendData.Sval.fl != -1.0f)) 806c6c0: 4b25 ldr r3, [pc, #148] ; (806c758 ) 806c6c2: 7c9b ldrb r3, [r3, #18] 806c6c4: b2db uxtb r3, r3 806c6c6: 2b52 cmp r3, #82 ; 0x52 806c6c8: d127 bne.n 806c71a 806c6ca: 4b23 ldr r3, [pc, #140] ; (806c758 ) 806c6cc: edd3 7a02 vldr s15, [r3, #8] 806c6d0: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 806c6d4: eef4 7a47 vcmp.f32 s15, s14 806c6d8: eef1 fa10 vmrs APSR_nzcv, fpscr 806c6dc: d01d beq.n 806c71a { TrendRAM_TEMP(l) = TrendRAM(i); 806c6de: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 806c6e2: 4613 mov r3, r2 806c6e4: 009b lsls r3, r3, #2 806c6e6: 4413 add r3, r2 806c6e8: 009b lsls r3, r3, #2 806c6ea: 461a mov r2, r3 806c6ec: 4b17 ldr r3, [pc, #92] ; (806c74c ) 806c6ee: 4413 add r3, r2 806c6f0: 4619 mov r1, r3 806c6f2: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806c6f6: 4613 mov r3, r2 806c6f8: 009b lsls r3, r3, #2 806c6fa: 4413 add r3, r2 806c6fc: 009b lsls r3, r3, #2 806c6fe: 461a mov r2, r3 806c700: 4b1d ldr r3, [pc, #116] ; (806c778 ) 806c702: 4413 add r3, r2 806c704: 460c mov r4, r1 806c706: 461d mov r5, r3 806c708: cd0f ldmia r5!, {r0, r1, r2, r3} 806c70a: c40f stmia r4!, {r0, r1, r2, r3} 806c70c: 682b ldr r3, [r5, #0] 806c70e: 6023 str r3, [r4, #0] l++; 806c710: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806c714: 3301 adds r3, #1 806c716: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 for(i = 0; i < NumTrendMeas; i++) 806c71a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806c71e: 3301 adds r3, #1 806c720: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806c724: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806c728: 4b14 ldr r3, [pc, #80] ; (806c77c ) 806c72a: 681b ldr r3, [r3, #0] 806c72c: 429a cmp r2, r3 806c72e: d3b6 bcc.n 806c69e } } /////////////////////////////////////////////////////////////////////////// if(l) // Åñëè èìåþòñÿ çàïèñè ñ òàêèì äåòåêòîðîì 806c730: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806c734: 2b00 cmp r3, #0 806c736: f000 83c9 beq.w 806cecc { for(j = 0; j < l; j++) // Ðàñêëàäûâàåì ïî âîçðàñòàíèþ äàòû 806c73a: 2300 movs r3, #0 806c73c: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 806c740: e091 b.n 806c866 { for(i = j; i < l; i++) 806c742: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 806c746: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806c74a: e081 b.n 806c850 806c74c: 64090000 .word 0x64090000 806c750: 20022314 .word 0x20022314 806c754: 20022900 .word 0x20022900 806c758: 20021f88 .word 0x20021f88 806c75c: d01502f9 .word 0xd01502f9 806c760: 501502f9 .word 0x501502f9 806c764: 64080000 .word 0x64080000 806c768: 20020070 .word 0x20020070 806c76c: 20023e60 .word 0x20023e60 806c770: 080cf9f4 .word 0x080cf9f4 806c774: 080cfa04 .word 0x080cfa04 806c778: 640a0000 .word 0x640a0000 806c77c: 20020e10 .word 0x20020e10 { TrendData1 = TrendRAM_TEMP(i); 806c780: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806c784: 4613 mov r3, r2 806c786: 009b lsls r3, r3, #2 806c788: 4413 add r3, r2 806c78a: 009b lsls r3, r3, #2 806c78c: 461a mov r2, r3 806c78e: 4ba3 ldr r3, [pc, #652] ; (806ca1c ) 806c790: 4413 add r3, r2 806c792: 461a mov r2, r3 806c794: 4ba2 ldr r3, [pc, #648] ; (806ca20 ) 806c796: 461c mov r4, r3 806c798: 4615 mov r5, r2 806c79a: cd0f ldmia r5!, {r0, r1, r2, r3} 806c79c: c40f stmia r4!, {r0, r1, r2, r3} 806c79e: 682b ldr r3, [r5, #0] 806c7a0: 6023 str r3, [r4, #0] TrendData2 = TrendRAM_TEMP(j); 806c7a2: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806c7a6: 4613 mov r3, r2 806c7a8: 009b lsls r3, r3, #2 806c7aa: 4413 add r3, r2 806c7ac: 009b lsls r3, r3, #2 806c7ae: 461a mov r2, r3 806c7b0: 4b9a ldr r3, [pc, #616] ; (806ca1c ) 806c7b2: 4413 add r3, r2 806c7b4: 461a mov r2, r3 806c7b6: 4b9b ldr r3, [pc, #620] ; (806ca24 ) 806c7b8: 461c mov r4, r3 806c7ba: 4615 mov r5, r2 806c7bc: cd0f ldmia r5!, {r0, r1, r2, r3} 806c7be: c40f stmia r4!, {r0, r1, r2, r3} 806c7c0: 682b ldr r3, [r5, #0] 806c7c2: 6023 str r3, [r4, #0] if(TrendData1.DateTime < TrendData2.DateTime) 806c7c4: 4b96 ldr r3, [pc, #600] ; (806ca20 ) 806c7c6: 68da ldr r2, [r3, #12] 806c7c8: 4b96 ldr r3, [pc, #600] ; (806ca24 ) 806c7ca: 68db ldr r3, [r3, #12] 806c7cc: 429a cmp r2, r3 806c7ce: d23a bcs.n 806c846 { TrendData = TrendRAM_TEMP(j); 806c7d0: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806c7d4: 4613 mov r3, r2 806c7d6: 009b lsls r3, r3, #2 806c7d8: 4413 add r3, r2 806c7da: 009b lsls r3, r3, #2 806c7dc: 461a mov r2, r3 806c7de: 4b8f ldr r3, [pc, #572] ; (806ca1c ) 806c7e0: 4413 add r3, r2 806c7e2: 461a mov r2, r3 806c7e4: 4b90 ldr r3, [pc, #576] ; (806ca28 ) 806c7e6: 461c mov r4, r3 806c7e8: 4615 mov r5, r2 806c7ea: cd0f ldmia r5!, {r0, r1, r2, r3} 806c7ec: c40f stmia r4!, {r0, r1, r2, r3} 806c7ee: 682b ldr r3, [r5, #0] 806c7f0: 6023 str r3, [r4, #0] TrendRAM_TEMP(j) = TrendRAM_TEMP(i); 806c7f2: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806c7f6: 4613 mov r3, r2 806c7f8: 009b lsls r3, r3, #2 806c7fa: 4413 add r3, r2 806c7fc: 009b lsls r3, r3, #2 806c7fe: 461a mov r2, r3 806c800: 4b86 ldr r3, [pc, #536] ; (806ca1c ) 806c802: 4413 add r3, r2 806c804: 4619 mov r1, r3 806c806: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806c80a: 4613 mov r3, r2 806c80c: 009b lsls r3, r3, #2 806c80e: 4413 add r3, r2 806c810: 009b lsls r3, r3, #2 806c812: 461a mov r2, r3 806c814: 4b81 ldr r3, [pc, #516] ; (806ca1c ) 806c816: 4413 add r3, r2 806c818: 460c mov r4, r1 806c81a: 461d mov r5, r3 806c81c: cd0f ldmia r5!, {r0, r1, r2, r3} 806c81e: c40f stmia r4!, {r0, r1, r2, r3} 806c820: 682b ldr r3, [r5, #0] 806c822: 6023 str r3, [r4, #0] TrendRAM_TEMP(i) = TrendData; 806c824: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806c828: 4613 mov r3, r2 806c82a: 009b lsls r3, r3, #2 806c82c: 4413 add r3, r2 806c82e: 009b lsls r3, r3, #2 806c830: 461a mov r2, r3 806c832: 4b7a ldr r3, [pc, #488] ; (806ca1c ) 806c834: 4413 add r3, r2 806c836: 461a mov r2, r3 806c838: 4b7b ldr r3, [pc, #492] ; (806ca28 ) 806c83a: 4614 mov r4, r2 806c83c: 461d mov r5, r3 806c83e: cd0f ldmia r5!, {r0, r1, r2, r3} 806c840: c40f stmia r4!, {r0, r1, r2, r3} 806c842: 682b ldr r3, [r5, #0] 806c844: 6023 str r3, [r4, #0] for(i = j; i < l; i++) 806c846: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806c84a: 3301 adds r3, #1 806c84c: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806c850: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806c854: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806c858: 429a cmp r2, r3 806c85a: d391 bcc.n 806c780 for(j = 0; j < l; j++) // Ðàñêëàäûâàåì ïî âîçðàñòàíèþ äàòû 806c85c: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 806c860: 3301 adds r3, #1 806c862: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 806c866: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806c86a: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806c86e: 429a cmp r2, r3 806c870: f4ff af67 bcc.w 806c742 } } } // Èùåì ìàêñèìóì è ìèíèìóì ïî îñè Y fmax = -10000000000.0f; 806c874: 4b6d ldr r3, [pc, #436] ; (806ca2c ) 806c876: f207 424c addw r2, r7, #1100 ; 0x44c 806c87a: 6013 str r3, [r2, #0] fmin = 10000000000.0f; 806c87c: 4b6c ldr r3, [pc, #432] ; (806ca30 ) 806c87e: f507 6289 add.w r2, r7, #1096 ; 0x448 806c882: 6013 str r3, [r2, #0] for(i = 0; i < l; i++) 806c884: 2300 movs r3, #0 806c886: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806c88a: e049 b.n 806c920 { TrendData = TrendRAM_TEMP(i); 806c88c: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806c890: 4613 mov r3, r2 806c892: 009b lsls r3, r3, #2 806c894: 4413 add r3, r2 806c896: 009b lsls r3, r3, #2 806c898: 461a mov r2, r3 806c89a: 4b60 ldr r3, [pc, #384] ; (806ca1c ) 806c89c: 4413 add r3, r2 806c89e: 461a mov r2, r3 806c8a0: 4b61 ldr r3, [pc, #388] ; (806ca28 ) 806c8a2: 461c mov r4, r3 806c8a4: 4615 mov r5, r2 806c8a6: cd0f ldmia r5!, {r0, r1, r2, r3} 806c8a8: c40f stmia r4!, {r0, r1, r2, r3} 806c8aa: 682b ldr r3, [r5, #0] 806c8ac: 6023 str r3, [r4, #0] if(TrendData.Sval.fl > fmax) fmax = TrendData.Sval.fl; 806c8ae: 4b5e ldr r3, [pc, #376] ; (806ca28 ) 806c8b0: ed93 7a02 vldr s14, [r3, #8] 806c8b4: f207 434c addw r3, r7, #1100 ; 0x44c 806c8b8: edd3 7a00 vldr s15, [r3] 806c8bc: eeb4 7ae7 vcmpe.f32 s14, s15 806c8c0: eef1 fa10 vmrs APSR_nzcv, fpscr 806c8c4: dd04 ble.n 806c8d0 806c8c6: 4b58 ldr r3, [pc, #352] ; (806ca28 ) 806c8c8: 689b ldr r3, [r3, #8] 806c8ca: f207 424c addw r2, r7, #1100 ; 0x44c 806c8ce: 6013 str r3, [r2, #0] if(TrendData.Sval.fl < fmin) fmin = TrendData.Sval.fl; 806c8d0: 4b55 ldr r3, [pc, #340] ; (806ca28 ) 806c8d2: ed93 7a02 vldr s14, [r3, #8] 806c8d6: f507 6389 add.w r3, r7, #1096 ; 0x448 806c8da: edd3 7a00 vldr s15, [r3] 806c8de: eeb4 7ae7 vcmpe.f32 s14, s15 806c8e2: eef1 fa10 vmrs APSR_nzcv, fpscr 806c8e6: d504 bpl.n 806c8f2 806c8e8: 4b4f ldr r3, [pc, #316] ; (806ca28 ) 806c8ea: 689b ldr r3, [r3, #8] 806c8ec: f507 6289 add.w r2, r7, #1096 ; 0x448 806c8f0: 6013 str r3, [r2, #0] ScrA_f32(i) = TrendData.Sval.fl; 806c8f2: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806c8f6: 009a lsls r2, r3, #2 806c8f8: 4b4e ldr r3, [pc, #312] ; (806ca34 ) 806c8fa: 4413 add r3, r2 806c8fc: 461a mov r2, r3 806c8fe: 4b4a ldr r3, [pc, #296] ; (806ca28 ) 806c900: 689b ldr r3, [r3, #8] 806c902: 6013 str r3, [r2, #0] CmplxA_u32(i) = TrendData.DateTime; 806c904: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806c908: 009a lsls r2, r3, #2 806c90a: 4b44 ldr r3, [pc, #272] ; (806ca1c ) 806c90c: 4413 add r3, r2 806c90e: 461a mov r2, r3 806c910: 4b45 ldr r3, [pc, #276] ; (806ca28 ) 806c912: 68db ldr r3, [r3, #12] 806c914: 6013 str r3, [r2, #0] for(i = 0; i < l; i++) 806c916: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806c91a: 3301 adds r3, #1 806c91c: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806c920: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806c924: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806c928: 429a cmp r2, r3 806c92a: d3af bcc.n 806c88c 806c92c: e2ce b.n 806cecc } } // end if(l) òå åñëè èìåþòñÿ çàïèñè ñ òàêèì äåòåêòîðîì } else if(menupos == Trend_factor) 806c92e: 4b42 ldr r3, [pc, #264] ; (806ca38 ) 806c930: 781b ldrb r3, [r3, #0] 806c932: b2db uxtb r3, r3 806c934: 2b03 cmp r3, #3 806c936: f040 8162 bne.w 806cbfe { if(pardata.LANG == RUS) 806c93a: 4b40 ldr r3, [pc, #256] ; (806ca3c ) 806c93c: 7b1b ldrb r3, [r3, #12] 806c93e: b2db uxtb r3, r3 806c940: 2b00 cmp r3, #0 806c942: d106 bne.n 806c952 BSP_LCD_DisplayStringAt(8, 35, "S(ïèê-ôàêòîð)", LEFT_MODE); 806c944: 2303 movs r3, #3 806c946: 4a3e ldr r2, [pc, #248] ; (806ca40 ) 806c948: 2123 movs r1, #35 ; 0x23 806c94a: 2008 movs r0, #8 806c94c: f7e6 fff4 bl 8053938 806c950: e005 b.n 806c95e else BSP_LCD_DisplayStringAt(8, 35, "S(peak-factor)", LEFT_MODE); 806c952: 2303 movs r3, #3 806c954: 4a3b ldr r2, [pc, #236] ; (806ca44 ) 806c956: 2123 movs r1, #35 ; 0x23 806c958: 2008 movs r0, #8 806c95a: f7e6 ffed bl 8053938 // Ñ÷èòàåì êîë-âî èçìåðåíèé ñ òàêèì äåòåêòîðîì è ïåðåíîñèì â TrendRAM_TEMP() l = 0; 806c95e: 2300 movs r3, #0 806c960: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 for(i = 0; i < NumTrendMeas; i++) 806c964: 2300 movs r3, #0 806c966: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806c96a: e042 b.n 806c9f2 { TrendData = TrendRAM(i); 806c96c: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806c970: 4613 mov r3, r2 806c972: 009b lsls r3, r3, #2 806c974: 4413 add r3, r2 806c976: 009b lsls r3, r3, #2 806c978: 461a mov r2, r3 806c97a: 4b33 ldr r3, [pc, #204] ; (806ca48 ) 806c97c: 4413 add r3, r2 806c97e: 461a mov r2, r3 806c980: 4b29 ldr r3, [pc, #164] ; (806ca28 ) 806c982: 461c mov r4, r3 806c984: 4615 mov r5, r2 806c986: cd0f ldmia r5!, {r0, r1, r2, r3} 806c988: c40f stmia r4!, {r0, r1, r2, r3} 806c98a: 682b ldr r3, [r5, #0] 806c98c: 6023 str r3, [r4, #0] if((TrendData.Sivs == 'F') && (TrendData.Sval.fl != -1.0f)) 806c98e: 4b26 ldr r3, [pc, #152] ; (806ca28 ) 806c990: 7c9b ldrb r3, [r3, #18] 806c992: b2db uxtb r3, r3 806c994: 2b46 cmp r3, #70 ; 0x46 806c996: d127 bne.n 806c9e8 806c998: 4b23 ldr r3, [pc, #140] ; (806ca28 ) 806c99a: edd3 7a02 vldr s15, [r3, #8] 806c99e: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 806c9a2: eef4 7a47 vcmp.f32 s15, s14 806c9a6: eef1 fa10 vmrs APSR_nzcv, fpscr 806c9aa: d01d beq.n 806c9e8 { TrendRAM_TEMP(l) = TrendRAM(i); 806c9ac: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 806c9b0: 4613 mov r3, r2 806c9b2: 009b lsls r3, r3, #2 806c9b4: 4413 add r3, r2 806c9b6: 009b lsls r3, r3, #2 806c9b8: 461a mov r2, r3 806c9ba: 4b18 ldr r3, [pc, #96] ; (806ca1c ) 806c9bc: 4413 add r3, r2 806c9be: 4619 mov r1, r3 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: 4b1e ldr r3, [pc, #120] ; (806ca48 ) 806c9d0: 4413 add r3, r2 806c9d2: 460c mov r4, r1 806c9d4: 461d mov r5, r3 806c9d6: cd0f ldmia r5!, {r0, r1, r2, r3} 806c9d8: c40f stmia r4!, {r0, r1, r2, r3} 806c9da: 682b ldr r3, [r5, #0] 806c9dc: 6023 str r3, [r4, #0] l++; 806c9de: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806c9e2: 3301 adds r3, #1 806c9e4: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 for(i = 0; i < NumTrendMeas; i++) 806c9e8: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806c9ec: 3301 adds r3, #1 806c9ee: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806c9f2: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806c9f6: 4b15 ldr r3, [pc, #84] ; (806ca4c ) 806c9f8: 681b ldr r3, [r3, #0] 806c9fa: 429a cmp r2, r3 806c9fc: d3b6 bcc.n 806c96c } } /////////////////////////////////////////////////////////////////////////// if(l) // Åñëè èìåþòñÿ çàïèñè ñ òàêèì äåòåêòîðîì 806c9fe: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806ca02: 2b00 cmp r3, #0 806ca04: f000 8262 beq.w 806cecc { for(j = 0; j < l; j++) // Ðàñêëàäûâàåì ïî âîçðàñòàíèþ äàòû 806ca08: 2300 movs r3, #0 806ca0a: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 806ca0e: e092 b.n 806cb36 { for(i = j; i < l; i++) 806ca10: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 806ca14: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806ca18: e082 b.n 806cb20 806ca1a: bf00 nop 806ca1c: 64090000 .word 0x64090000 806ca20: 20022314 .word 0x20022314 806ca24: 20022900 .word 0x20022900 806ca28: 20021f88 .word 0x20021f88 806ca2c: d01502f9 .word 0xd01502f9 806ca30: 501502f9 .word 0x501502f9 806ca34: 64080000 .word 0x64080000 806ca38: 20020070 .word 0x20020070 806ca3c: 20023e60 .word 0x20023e60 806ca40: 080cfa14 .word 0x080cfa14 806ca44: 080cfa24 .word 0x080cfa24 806ca48: 640a0000 .word 0x640a0000 806ca4c: 20020e10 .word 0x20020e10 { TrendData1 = TrendRAM_TEMP(i); 806ca50: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806ca54: 4613 mov r3, r2 806ca56: 009b lsls r3, r3, #2 806ca58: 4413 add r3, r2 806ca5a: 009b lsls r3, r3, #2 806ca5c: 461a mov r2, r3 806ca5e: 4ba3 ldr r3, [pc, #652] ; (806ccec ) 806ca60: 4413 add r3, r2 806ca62: 461a mov r2, r3 806ca64: 4ba2 ldr r3, [pc, #648] ; (806ccf0 ) 806ca66: 461c mov r4, r3 806ca68: 4615 mov r5, r2 806ca6a: cd0f ldmia r5!, {r0, r1, r2, r3} 806ca6c: c40f stmia r4!, {r0, r1, r2, r3} 806ca6e: 682b ldr r3, [r5, #0] 806ca70: 6023 str r3, [r4, #0] TrendData2 = TrendRAM_TEMP(j); 806ca72: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806ca76: 4613 mov r3, r2 806ca78: 009b lsls r3, r3, #2 806ca7a: 4413 add r3, r2 806ca7c: 009b lsls r3, r3, #2 806ca7e: 461a mov r2, r3 806ca80: 4b9a ldr r3, [pc, #616] ; (806ccec ) 806ca82: 4413 add r3, r2 806ca84: 461a mov r2, r3 806ca86: 4b9b ldr r3, [pc, #620] ; (806ccf4 ) 806ca88: 461c mov r4, r3 806ca8a: 4615 mov r5, r2 806ca8c: cd0f ldmia r5!, {r0, r1, r2, r3} 806ca8e: c40f stmia r4!, {r0, r1, r2, r3} 806ca90: 682b ldr r3, [r5, #0] 806ca92: 6023 str r3, [r4, #0] if(TrendData1.DateTime < TrendData2.DateTime) 806ca94: 4b96 ldr r3, [pc, #600] ; (806ccf0 ) 806ca96: 68da ldr r2, [r3, #12] 806ca98: 4b96 ldr r3, [pc, #600] ; (806ccf4 ) 806ca9a: 68db ldr r3, [r3, #12] 806ca9c: 429a cmp r2, r3 806ca9e: d23a bcs.n 806cb16 { TrendData = TrendRAM_TEMP(j); 806caa0: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806caa4: 4613 mov r3, r2 806caa6: 009b lsls r3, r3, #2 806caa8: 4413 add r3, r2 806caaa: 009b lsls r3, r3, #2 806caac: 461a mov r2, r3 806caae: 4b8f ldr r3, [pc, #572] ; (806ccec ) 806cab0: 4413 add r3, r2 806cab2: 461a mov r2, r3 806cab4: 4b90 ldr r3, [pc, #576] ; (806ccf8 ) 806cab6: 461c mov r4, r3 806cab8: 4615 mov r5, r2 806caba: cd0f ldmia r5!, {r0, r1, r2, r3} 806cabc: c40f stmia r4!, {r0, r1, r2, r3} 806cabe: 682b ldr r3, [r5, #0] 806cac0: 6023 str r3, [r4, #0] TrendRAM_TEMP(j) = TrendRAM_TEMP(i); 806cac2: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806cac6: 4613 mov r3, r2 806cac8: 009b lsls r3, r3, #2 806caca: 4413 add r3, r2 806cacc: 009b lsls r3, r3, #2 806cace: 461a mov r2, r3 806cad0: 4b86 ldr r3, [pc, #536] ; (806ccec ) 806cad2: 4413 add r3, r2 806cad4: 4619 mov r1, r3 806cad6: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806cada: 4613 mov r3, r2 806cadc: 009b lsls r3, r3, #2 806cade: 4413 add r3, r2 806cae0: 009b lsls r3, r3, #2 806cae2: 461a mov r2, r3 806cae4: 4b81 ldr r3, [pc, #516] ; (806ccec ) 806cae6: 4413 add r3, r2 806cae8: 460c mov r4, r1 806caea: 461d mov r5, r3 806caec: cd0f ldmia r5!, {r0, r1, r2, r3} 806caee: c40f stmia r4!, {r0, r1, r2, r3} 806caf0: 682b ldr r3, [r5, #0] 806caf2: 6023 str r3, [r4, #0] TrendRAM_TEMP(i) = TrendData; 806caf4: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806caf8: 4613 mov r3, r2 806cafa: 009b lsls r3, r3, #2 806cafc: 4413 add r3, r2 806cafe: 009b lsls r3, r3, #2 806cb00: 461a mov r2, r3 806cb02: 4b7a ldr r3, [pc, #488] ; (806ccec ) 806cb04: 4413 add r3, r2 806cb06: 461a mov r2, r3 806cb08: 4b7b ldr r3, [pc, #492] ; (806ccf8 ) 806cb0a: 4614 mov r4, r2 806cb0c: 461d mov r5, r3 806cb0e: cd0f ldmia r5!, {r0, r1, r2, r3} 806cb10: c40f stmia r4!, {r0, r1, r2, r3} 806cb12: 682b ldr r3, [r5, #0] 806cb14: 6023 str r3, [r4, #0] for(i = j; i < l; i++) 806cb16: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806cb1a: 3301 adds r3, #1 806cb1c: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806cb20: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806cb24: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806cb28: 429a cmp r2, r3 806cb2a: d391 bcc.n 806ca50 for(j = 0; j < l; j++) // Ðàñêëàäûâàåì ïî âîçðàñòàíèþ äàòû 806cb2c: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 806cb30: 3301 adds r3, #1 806cb32: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 806cb36: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806cb3a: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806cb3e: 429a cmp r2, r3 806cb40: f4ff af66 bcc.w 806ca10 } } } // Èùåì ìàêñèìóì è ìèíèìóì ïî îñè Y fmax = -10000000000.0f; 806cb44: 4b6d ldr r3, [pc, #436] ; (806ccfc ) 806cb46: f207 424c addw r2, r7, #1100 ; 0x44c 806cb4a: 6013 str r3, [r2, #0] fmin = 10000000000.0f; 806cb4c: 4b6c ldr r3, [pc, #432] ; (806cd00 ) 806cb4e: f507 6289 add.w r2, r7, #1096 ; 0x448 806cb52: 6013 str r3, [r2, #0] for(i = 0; i < l; i++) 806cb54: 2300 movs r3, #0 806cb56: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806cb5a: e049 b.n 806cbf0 { TrendData = TrendRAM_TEMP(i); 806cb5c: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806cb60: 4613 mov r3, r2 806cb62: 009b lsls r3, r3, #2 806cb64: 4413 add r3, r2 806cb66: 009b lsls r3, r3, #2 806cb68: 461a mov r2, r3 806cb6a: 4b60 ldr r3, [pc, #384] ; (806ccec ) 806cb6c: 4413 add r3, r2 806cb6e: 461a mov r2, r3 806cb70: 4b61 ldr r3, [pc, #388] ; (806ccf8 ) 806cb72: 461c mov r4, r3 806cb74: 4615 mov r5, r2 806cb76: cd0f ldmia r5!, {r0, r1, r2, r3} 806cb78: c40f stmia r4!, {r0, r1, r2, r3} 806cb7a: 682b ldr r3, [r5, #0] 806cb7c: 6023 str r3, [r4, #0] if(TrendData.Sval.fl > fmax) fmax = TrendData.Sval.fl; 806cb7e: 4b5e ldr r3, [pc, #376] ; (806ccf8 ) 806cb80: ed93 7a02 vldr s14, [r3, #8] 806cb84: f207 434c addw r3, r7, #1100 ; 0x44c 806cb88: edd3 7a00 vldr s15, [r3] 806cb8c: eeb4 7ae7 vcmpe.f32 s14, s15 806cb90: eef1 fa10 vmrs APSR_nzcv, fpscr 806cb94: dd04 ble.n 806cba0 806cb96: 4b58 ldr r3, [pc, #352] ; (806ccf8 ) 806cb98: 689b ldr r3, [r3, #8] 806cb9a: f207 424c addw r2, r7, #1100 ; 0x44c 806cb9e: 6013 str r3, [r2, #0] if(TrendData.Sval.fl < fmin) fmin = TrendData.Sval.fl; 806cba0: 4b55 ldr r3, [pc, #340] ; (806ccf8 ) 806cba2: ed93 7a02 vldr s14, [r3, #8] 806cba6: f507 6389 add.w r3, r7, #1096 ; 0x448 806cbaa: edd3 7a00 vldr s15, [r3] 806cbae: eeb4 7ae7 vcmpe.f32 s14, s15 806cbb2: eef1 fa10 vmrs APSR_nzcv, fpscr 806cbb6: d504 bpl.n 806cbc2 806cbb8: 4b4f ldr r3, [pc, #316] ; (806ccf8 ) 806cbba: 689b ldr r3, [r3, #8] 806cbbc: f507 6289 add.w r2, r7, #1096 ; 0x448 806cbc0: 6013 str r3, [r2, #0] ScrA_f32(i) = TrendData.Sval.fl; 806cbc2: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806cbc6: 009a lsls r2, r3, #2 806cbc8: 4b4e ldr r3, [pc, #312] ; (806cd04 ) 806cbca: 4413 add r3, r2 806cbcc: 461a mov r2, r3 806cbce: 4b4a ldr r3, [pc, #296] ; (806ccf8 ) 806cbd0: 689b ldr r3, [r3, #8] 806cbd2: 6013 str r3, [r2, #0] CmplxA_u32(i) = TrendData.DateTime; 806cbd4: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806cbd8: 009a lsls r2, r3, #2 806cbda: 4b44 ldr r3, [pc, #272] ; (806ccec ) 806cbdc: 4413 add r3, r2 806cbde: 461a mov r2, r3 806cbe0: 4b45 ldr r3, [pc, #276] ; (806ccf8 ) 806cbe2: 68db ldr r3, [r3, #12] 806cbe4: 6013 str r3, [r2, #0] for(i = 0; i < l; i++) 806cbe6: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806cbea: 3301 adds r3, #1 806cbec: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806cbf0: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806cbf4: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806cbf8: 429a cmp r2, r3 806cbfa: d3af bcc.n 806cb5c 806cbfc: e166 b.n 806cecc } } // end if(l) òå åñëè èìåþòñÿ çàïèñè ñ òàêèì äåòåêòîðîì } else if(menupos == Trend_excess) 806cbfe: 4b42 ldr r3, [pc, #264] ; (806cd08 ) 806cc00: 781b ldrb r3, [r3, #0] 806cc02: b2db uxtb r3, r3 806cc04: 2b04 cmp r3, #4 806cc06: f040 8161 bne.w 806cecc { if(pardata.LANG == RUS) 806cc0a: 4b40 ldr r3, [pc, #256] ; (806cd0c ) 806cc0c: 7b1b ldrb r3, [r3, #12] 806cc0e: b2db uxtb r3, r3 806cc10: 2b00 cmp r3, #0 806cc12: d106 bne.n 806cc22 BSP_LCD_DisplayStringAt(8, 35, "S(ýêñöåññ)", LEFT_MODE); 806cc14: 2303 movs r3, #3 806cc16: 4a3e ldr r2, [pc, #248] ; (806cd10 ) 806cc18: 2123 movs r1, #35 ; 0x23 806cc1a: 2008 movs r0, #8 806cc1c: f7e6 fe8c bl 8053938 806cc20: e005 b.n 806cc2e else BSP_LCD_DisplayStringAt(8, 35, "S(excess)", LEFT_MODE); 806cc22: 2303 movs r3, #3 806cc24: 4a3b ldr r2, [pc, #236] ; (806cd14 ) 806cc26: 2123 movs r1, #35 ; 0x23 806cc28: 2008 movs r0, #8 806cc2a: f7e6 fe85 bl 8053938 // Ñ÷èòàåì êîë-âî èçìåðåíèé ñ òàêèì äåòåêòîðîì è ïåðåíîñèì â TrendRAM_TEMP() l = 0; 806cc2e: 2300 movs r3, #0 806cc30: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 for(i = 0; i < NumTrendMeas; i++) 806cc34: 2300 movs r3, #0 806cc36: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806cc3a: e042 b.n 806ccc2 { TrendData = TrendRAM(i); 806cc3c: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806cc40: 4613 mov r3, r2 806cc42: 009b lsls r3, r3, #2 806cc44: 4413 add r3, r2 806cc46: 009b lsls r3, r3, #2 806cc48: 461a mov r2, r3 806cc4a: 4b33 ldr r3, [pc, #204] ; (806cd18 ) 806cc4c: 4413 add r3, r2 806cc4e: 461a mov r2, r3 806cc50: 4b29 ldr r3, [pc, #164] ; (806ccf8 ) 806cc52: 461c mov r4, r3 806cc54: 4615 mov r5, r2 806cc56: cd0f ldmia r5!, {r0, r1, r2, r3} 806cc58: c40f stmia r4!, {r0, r1, r2, r3} 806cc5a: 682b ldr r3, [r5, #0] 806cc5c: 6023 str r3, [r4, #0] if((TrendData.Sivs == 'E') && (TrendData.Sval.fl != -1.0f)) 806cc5e: 4b26 ldr r3, [pc, #152] ; (806ccf8 ) 806cc60: 7c9b ldrb r3, [r3, #18] 806cc62: b2db uxtb r3, r3 806cc64: 2b45 cmp r3, #69 ; 0x45 806cc66: d127 bne.n 806ccb8 806cc68: 4b23 ldr r3, [pc, #140] ; (806ccf8 ) 806cc6a: edd3 7a02 vldr s15, [r3, #8] 806cc6e: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 806cc72: eef4 7a47 vcmp.f32 s15, s14 806cc76: eef1 fa10 vmrs APSR_nzcv, fpscr 806cc7a: d01d beq.n 806ccb8 { TrendRAM_TEMP(l) = TrendRAM(i); 806cc7c: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 806cc80: 4613 mov r3, r2 806cc82: 009b lsls r3, r3, #2 806cc84: 4413 add r3, r2 806cc86: 009b lsls r3, r3, #2 806cc88: 461a mov r2, r3 806cc8a: 4b18 ldr r3, [pc, #96] ; (806ccec ) 806cc8c: 4413 add r3, r2 806cc8e: 4619 mov r1, r3 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: 4b1e ldr r3, [pc, #120] ; (806cd18 ) 806cca0: 4413 add r3, r2 806cca2: 460c mov r4, r1 806cca4: 461d mov r5, r3 806cca6: cd0f ldmia r5!, {r0, r1, r2, r3} 806cca8: c40f stmia r4!, {r0, r1, r2, r3} 806ccaa: 682b ldr r3, [r5, #0] 806ccac: 6023 str r3, [r4, #0] l++; 806ccae: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806ccb2: 3301 adds r3, #1 806ccb4: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 for(i = 0; i < NumTrendMeas; i++) 806ccb8: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806ccbc: 3301 adds r3, #1 806ccbe: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806ccc2: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806ccc6: 4b15 ldr r3, [pc, #84] ; (806cd1c ) 806ccc8: 681b ldr r3, [r3, #0] 806ccca: 429a cmp r2, r3 806cccc: d3b6 bcc.n 806cc3c } } /////////////////////////////////////////////////////////////////////////// if(l) // Åñëè èìåþòñÿ çàïèñè ñ òàêèì äåòåêòîðîì 806ccce: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806ccd2: 2b00 cmp r3, #0 806ccd4: f000 80fa beq.w 806cecc { for(j = 0; j < l; j++) // Ðàñêëàäûâàåì ïî âîçðàñòàíèþ äàòû 806ccd8: 2300 movs r3, #0 806ccda: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 806ccde: e092 b.n 806ce06 { for(i = j; i < l; i++) 806cce0: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 806cce4: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806cce8: e082 b.n 806cdf0 806ccea: bf00 nop 806ccec: 64090000 .word 0x64090000 806ccf0: 20022314 .word 0x20022314 806ccf4: 20022900 .word 0x20022900 806ccf8: 20021f88 .word 0x20021f88 806ccfc: d01502f9 .word 0xd01502f9 806cd00: 501502f9 .word 0x501502f9 806cd04: 64080000 .word 0x64080000 806cd08: 20020070 .word 0x20020070 806cd0c: 20023e60 .word 0x20023e60 806cd10: 080cfa34 .word 0x080cfa34 806cd14: 080cfa40 .word 0x080cfa40 806cd18: 640a0000 .word 0x640a0000 806cd1c: 20020e10 .word 0x20020e10 { TrendData1 = TrendRAM_TEMP(i); 806cd20: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806cd24: 4613 mov r3, r2 806cd26: 009b lsls r3, r3, #2 806cd28: 4413 add r3, r2 806cd2a: 009b lsls r3, r3, #2 806cd2c: 461a mov r2, r3 806cd2e: 4bb4 ldr r3, [pc, #720] ; (806d000 ) 806cd30: 4413 add r3, r2 806cd32: 461a mov r2, r3 806cd34: 4bb3 ldr r3, [pc, #716] ; (806d004 ) 806cd36: 461c mov r4, r3 806cd38: 4615 mov r5, r2 806cd3a: cd0f ldmia r5!, {r0, r1, r2, r3} 806cd3c: c40f stmia r4!, {r0, r1, r2, r3} 806cd3e: 682b ldr r3, [r5, #0] 806cd40: 6023 str r3, [r4, #0] TrendData2 = TrendRAM_TEMP(j); 806cd42: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806cd46: 4613 mov r3, r2 806cd48: 009b lsls r3, r3, #2 806cd4a: 4413 add r3, r2 806cd4c: 009b lsls r3, r3, #2 806cd4e: 461a mov r2, r3 806cd50: 4bab ldr r3, [pc, #684] ; (806d000 ) 806cd52: 4413 add r3, r2 806cd54: 461a mov r2, r3 806cd56: 4bac ldr r3, [pc, #688] ; (806d008 ) 806cd58: 461c mov r4, r3 806cd5a: 4615 mov r5, r2 806cd5c: cd0f ldmia r5!, {r0, r1, r2, r3} 806cd5e: c40f stmia r4!, {r0, r1, r2, r3} 806cd60: 682b ldr r3, [r5, #0] 806cd62: 6023 str r3, [r4, #0] if(TrendData1.DateTime < TrendData2.DateTime) 806cd64: 4ba7 ldr r3, [pc, #668] ; (806d004 ) 806cd66: 68da ldr r2, [r3, #12] 806cd68: 4ba7 ldr r3, [pc, #668] ; (806d008 ) 806cd6a: 68db ldr r3, [r3, #12] 806cd6c: 429a cmp r2, r3 806cd6e: d23a bcs.n 806cde6 { TrendData = TrendRAM_TEMP(j); 806cd70: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806cd74: 4613 mov r3, r2 806cd76: 009b lsls r3, r3, #2 806cd78: 4413 add r3, r2 806cd7a: 009b lsls r3, r3, #2 806cd7c: 461a mov r2, r3 806cd7e: 4ba0 ldr r3, [pc, #640] ; (806d000 ) 806cd80: 4413 add r3, r2 806cd82: 461a mov r2, r3 806cd84: 4ba1 ldr r3, [pc, #644] ; (806d00c ) 806cd86: 461c mov r4, r3 806cd88: 4615 mov r5, r2 806cd8a: cd0f ldmia r5!, {r0, r1, r2, r3} 806cd8c: c40f stmia r4!, {r0, r1, r2, r3} 806cd8e: 682b ldr r3, [r5, #0] 806cd90: 6023 str r3, [r4, #0] TrendRAM_TEMP(j) = TrendRAM_TEMP(i); 806cd92: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806cd96: 4613 mov r3, r2 806cd98: 009b lsls r3, r3, #2 806cd9a: 4413 add r3, r2 806cd9c: 009b lsls r3, r3, #2 806cd9e: 461a mov r2, r3 806cda0: 4b97 ldr r3, [pc, #604] ; (806d000 ) 806cda2: 4413 add r3, r2 806cda4: 4619 mov r1, r3 806cda6: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806cdaa: 4613 mov r3, r2 806cdac: 009b lsls r3, r3, #2 806cdae: 4413 add r3, r2 806cdb0: 009b lsls r3, r3, #2 806cdb2: 461a mov r2, r3 806cdb4: 4b92 ldr r3, [pc, #584] ; (806d000 ) 806cdb6: 4413 add r3, r2 806cdb8: 460c mov r4, r1 806cdba: 461d mov r5, r3 806cdbc: cd0f ldmia r5!, {r0, r1, r2, r3} 806cdbe: c40f stmia r4!, {r0, r1, r2, r3} 806cdc0: 682b ldr r3, [r5, #0] 806cdc2: 6023 str r3, [r4, #0] TrendRAM_TEMP(i) = TrendData; 806cdc4: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806cdc8: 4613 mov r3, r2 806cdca: 009b lsls r3, r3, #2 806cdcc: 4413 add r3, r2 806cdce: 009b lsls r3, r3, #2 806cdd0: 461a mov r2, r3 806cdd2: 4b8b ldr r3, [pc, #556] ; (806d000 ) 806cdd4: 4413 add r3, r2 806cdd6: 461a mov r2, r3 806cdd8: 4b8c ldr r3, [pc, #560] ; (806d00c ) 806cdda: 4614 mov r4, r2 806cddc: 461d mov r5, r3 806cdde: cd0f ldmia r5!, {r0, r1, r2, r3} 806cde0: c40f stmia r4!, {r0, r1, r2, r3} 806cde2: 682b ldr r3, [r5, #0] 806cde4: 6023 str r3, [r4, #0] for(i = j; i < l; i++) 806cde6: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806cdea: 3301 adds r3, #1 806cdec: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806cdf0: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806cdf4: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806cdf8: 429a cmp r2, r3 806cdfa: d391 bcc.n 806cd20 for(j = 0; j < l; j++) // Ðàñêëàäûâàåì ïî âîçðàñòàíèþ äàòû 806cdfc: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 806ce00: 3301 adds r3, #1 806ce02: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 806ce06: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806ce0a: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806ce0e: 429a cmp r2, r3 806ce10: f4ff af66 bcc.w 806cce0 } } } // Èùåì ìàêñèìóì è ìèíèìóì ïî îñè Y fmax = -10000000000.0f; 806ce14: 4b7e ldr r3, [pc, #504] ; (806d010 ) 806ce16: f207 424c addw r2, r7, #1100 ; 0x44c 806ce1a: 6013 str r3, [r2, #0] fmin = 10000000000.0f; 806ce1c: 4b7d ldr r3, [pc, #500] ; (806d014 ) 806ce1e: f507 6289 add.w r2, r7, #1096 ; 0x448 806ce22: 6013 str r3, [r2, #0] for(i = 0; i < l; i++) 806ce24: 2300 movs r3, #0 806ce26: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806ce2a: e049 b.n 806cec0 { TrendData = TrendRAM_TEMP(i); 806ce2c: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806ce30: 4613 mov r3, r2 806ce32: 009b lsls r3, r3, #2 806ce34: 4413 add r3, r2 806ce36: 009b lsls r3, r3, #2 806ce38: 461a mov r2, r3 806ce3a: 4b71 ldr r3, [pc, #452] ; (806d000 ) 806ce3c: 4413 add r3, r2 806ce3e: 461a mov r2, r3 806ce40: 4b72 ldr r3, [pc, #456] ; (806d00c ) 806ce42: 461c mov r4, r3 806ce44: 4615 mov r5, r2 806ce46: cd0f ldmia r5!, {r0, r1, r2, r3} 806ce48: c40f stmia r4!, {r0, r1, r2, r3} 806ce4a: 682b ldr r3, [r5, #0] 806ce4c: 6023 str r3, [r4, #0] if(TrendData.Sval.fl > fmax) fmax = TrendData.Sval.fl; 806ce4e: 4b6f ldr r3, [pc, #444] ; (806d00c ) 806ce50: ed93 7a02 vldr s14, [r3, #8] 806ce54: f207 434c addw r3, r7, #1100 ; 0x44c 806ce58: edd3 7a00 vldr s15, [r3] 806ce5c: eeb4 7ae7 vcmpe.f32 s14, s15 806ce60: eef1 fa10 vmrs APSR_nzcv, fpscr 806ce64: dd04 ble.n 806ce70 806ce66: 4b69 ldr r3, [pc, #420] ; (806d00c ) 806ce68: 689b ldr r3, [r3, #8] 806ce6a: f207 424c addw r2, r7, #1100 ; 0x44c 806ce6e: 6013 str r3, [r2, #0] if(TrendData.Sval.fl < fmin) fmin = TrendData.Sval.fl; 806ce70: 4b66 ldr r3, [pc, #408] ; (806d00c ) 806ce72: ed93 7a02 vldr s14, [r3, #8] 806ce76: f507 6389 add.w r3, r7, #1096 ; 0x448 806ce7a: edd3 7a00 vldr s15, [r3] 806ce7e: eeb4 7ae7 vcmpe.f32 s14, s15 806ce82: eef1 fa10 vmrs APSR_nzcv, fpscr 806ce86: d504 bpl.n 806ce92 806ce88: 4b60 ldr r3, [pc, #384] ; (806d00c ) 806ce8a: 689b ldr r3, [r3, #8] 806ce8c: f507 6289 add.w r2, r7, #1096 ; 0x448 806ce90: 6013 str r3, [r2, #0] ScrA_f32(i) = TrendData.Sval.fl; 806ce92: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806ce96: 009a lsls r2, r3, #2 806ce98: 4b5f ldr r3, [pc, #380] ; (806d018 ) 806ce9a: 4413 add r3, r2 806ce9c: 461a mov r2, r3 806ce9e: 4b5b ldr r3, [pc, #364] ; (806d00c ) 806cea0: 689b ldr r3, [r3, #8] 806cea2: 6013 str r3, [r2, #0] CmplxA_u32(i) = TrendData.DateTime; 806cea4: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806cea8: 009a lsls r2, r3, #2 806ceaa: 4b55 ldr r3, [pc, #340] ; (806d000 ) 806ceac: 4413 add r3, r2 806ceae: 461a mov r2, r3 806ceb0: 4b56 ldr r3, [pc, #344] ; (806d00c ) 806ceb2: 68db ldr r3, [r3, #12] 806ceb4: 6013 str r3, [r2, #0] for(i = 0; i < l; i++) 806ceb6: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806ceba: 3301 adds r3, #1 806cebc: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806cec0: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806cec4: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806cec8: 429a cmp r2, r3 806ceca: d3af bcc.n 806ce2c } //////////////////////////////////////////////////////////////////////// /////////////////////////// ÐÈÑÓÅÌ ÒÐÅÍÄ /////////////////////////////// if(menupos == Trend_excess) 806cecc: 4b53 ldr r3, [pc, #332] ; (806d01c ) 806cece: 781b ldrb r3, [r3, #0] 806ced0: b2db uxtb r3, r3 806ced2: 2b04 cmp r3, #4 806ced4: f041 83ba bne.w 806e64c { if(l) 806ced8: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806cedc: 2b00 cmp r3, #0 806cede: f02a 835e beq.w 809759e { y0 = 217; 806cee2: 23d9 movs r3, #217 ; 0xd9 806cee4: f8a7 343c strh.w r3, [r7, #1084] ; 0x43c y1 = 192; 806cee8: 23c0 movs r3, #192 ; 0xc0 806ceea: f8a7 343a strh.w r3, [r7, #1082] ; 0x43a y2 = 167; 806ceee: 23a7 movs r3, #167 ; 0xa7 806cef0: f8a7 3438 strh.w r3, [r7, #1080] ; 0x438 y3 = 142; 806cef4: 238e movs r3, #142 ; 0x8e 806cef6: f8a7 3436 strh.w r3, [r7, #1078] ; 0x436 y4 = 117; 806cefa: 2375 movs r3, #117 ; 0x75 806cefc: f8a7 3434 strh.w r3, [r7, #1076] ; 0x434 y5 = 92; 806cf00: 235c movs r3, #92 ; 0x5c 806cf02: f8a7 3432 strh.w r3, [r7, #1074] ; 0x432 y6 = 67; 806cf06: 2343 movs r3, #67 ; 0x43 806cf08: f8a7 3430 strh.w r3, [r7, #1072] ; 0x430 BSP_LCD_SetFont(&Font8); 806cf0c: 4844 ldr r0, [pc, #272] ; (806d020 ) 806cf0e: f7e6 fc89 bl 8053824 LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 806cf12: 4944 ldr r1, [pc, #272] ; (806d024 ) 806cf14: 4844 ldr r0, [pc, #272] ; (806d028 ) 806cf16: f7e6 fc49 bl 80537ac if(fmax <= 15.0f) 806cf1a: f207 434c addw r3, r7, #1100 ; 0x44c 806cf1e: edd3 7a00 vldr s15, [r3] 806cf22: eeb2 7a0e vmov.f32 s14, #46 ; 0x41700000 15.0 806cf26: eef4 7ac7 vcmpe.f32 s15, s14 806cf2a: eef1 fa10 vmrs APSR_nzcv, fpscr 806cf2e: d82d bhi.n 806cf8c { BSP_LCD_DisplayStringAt(59, y5 - 2, "15", RIGHT_MODE); 806cf30: f8b7 3432 ldrh.w r3, [r7, #1074] ; 0x432 806cf34: 3b02 subs r3, #2 806cf36: b299 uxth r1, r3 806cf38: 2302 movs r3, #2 806cf3a: 4a3c ldr r2, [pc, #240] ; (806d02c ) 806cf3c: 203b movs r0, #59 ; 0x3b 806cf3e: f7e6 fcfb bl 8053938 BSP_LCD_DisplayStringAt(59, y4 - 2, "10", RIGHT_MODE); 806cf42: f8b7 3434 ldrh.w r3, [r7, #1076] ; 0x434 806cf46: 3b02 subs r3, #2 806cf48: b299 uxth r1, r3 806cf4a: 2302 movs r3, #2 806cf4c: 4a38 ldr r2, [pc, #224] ; (806d030 ) 806cf4e: 203b movs r0, #59 ; 0x3b 806cf50: f7e6 fcf2 bl 8053938 BSP_LCD_DisplayStringAt(59, y3 - 2, "5", RIGHT_MODE); 806cf54: f8b7 3436 ldrh.w r3, [r7, #1078] ; 0x436 806cf58: 3b02 subs r3, #2 806cf5a: b299 uxth r1, r3 806cf5c: 2302 movs r3, #2 806cf5e: 4a35 ldr r2, [pc, #212] ; (806d034 ) 806cf60: 203b movs r0, #59 ; 0x3b 806cf62: f7e6 fce9 bl 8053938 BSP_LCD_DisplayStringAt(59, y2 - 2, "0", RIGHT_MODE); 806cf66: f8b7 3438 ldrh.w r3, [r7, #1080] ; 0x438 806cf6a: 3b02 subs r3, #2 806cf6c: b299 uxth r1, r3 806cf6e: 2302 movs r3, #2 806cf70: 4a31 ldr r2, [pc, #196] ; (806d038 ) 806cf72: 203b movs r0, #59 ; 0x3b 806cf74: f7e6 fce0 bl 8053938 BSP_LCD_DisplayStringAt(59, y1 - 2, "-5", RIGHT_MODE); 806cf78: f8b7 343a ldrh.w r3, [r7, #1082] ; 0x43a 806cf7c: 3b02 subs r3, #2 806cf7e: b299 uxth r1, r3 806cf80: 2302 movs r3, #2 806cf82: 4a2e ldr r2, [pc, #184] ; (806d03c ) 806cf84: 203b movs r0, #59 ; 0x3b 806cf86: f7e6 fcd7 bl 8053938 806cf8a: e0d2 b.n 806d132 } else if(fmax <= 100.0f) 806cf8c: f207 434c addw r3, r7, #1100 ; 0x44c 806cf90: edd3 7a00 vldr s15, [r3] 806cf94: ed9f 7a2a vldr s14, [pc, #168] ; 806d040 806cf98: eef4 7ac7 vcmpe.f32 s15, s14 806cf9c: eef1 fa10 vmrs APSR_nzcv, fpscr 806cfa0: d856 bhi.n 806d050 { BSP_LCD_DisplayStringAt(59, y5 - 2, "100", RIGHT_MODE); 806cfa2: f8b7 3432 ldrh.w r3, [r7, #1074] ; 0x432 806cfa6: 3b02 subs r3, #2 806cfa8: b299 uxth r1, r3 806cfaa: 2302 movs r3, #2 806cfac: 4a25 ldr r2, [pc, #148] ; (806d044 ) 806cfae: 203b movs r0, #59 ; 0x3b 806cfb0: f7e6 fcc2 bl 8053938 BSP_LCD_DisplayStringAt(59, y4 - 2, "50", RIGHT_MODE); 806cfb4: f8b7 3434 ldrh.w r3, [r7, #1076] ; 0x434 806cfb8: 3b02 subs r3, #2 806cfba: b299 uxth r1, r3 806cfbc: 2302 movs r3, #2 806cfbe: 4a22 ldr r2, [pc, #136] ; (806d048 ) 806cfc0: 203b movs r0, #59 ; 0x3b 806cfc2: f7e6 fcb9 bl 8053938 BSP_LCD_DisplayStringAt(59, y3 - 2, "10", RIGHT_MODE); 806cfc6: f8b7 3436 ldrh.w r3, [r7, #1078] ; 0x436 806cfca: 3b02 subs r3, #2 806cfcc: b299 uxth r1, r3 806cfce: 2302 movs r3, #2 806cfd0: 4a17 ldr r2, [pc, #92] ; (806d030 ) 806cfd2: 203b movs r0, #59 ; 0x3b 806cfd4: f7e6 fcb0 bl 8053938 BSP_LCD_DisplayStringAt(59, y2 - 2, "0", RIGHT_MODE); 806cfd8: f8b7 3438 ldrh.w r3, [r7, #1080] ; 0x438 806cfdc: 3b02 subs r3, #2 806cfde: b299 uxth r1, r3 806cfe0: 2302 movs r3, #2 806cfe2: 4a15 ldr r2, [pc, #84] ; (806d038 ) 806cfe4: 203b movs r0, #59 ; 0x3b 806cfe6: f7e6 fca7 bl 8053938 BSP_LCD_DisplayStringAt(59, y1 - 2, "-5", RIGHT_MODE); 806cfea: f8b7 343a ldrh.w r3, [r7, #1082] ; 0x43a 806cfee: 3b02 subs r3, #2 806cff0: b299 uxth r1, r3 806cff2: 2302 movs r3, #2 806cff4: 4a11 ldr r2, [pc, #68] ; (806d03c ) 806cff6: 203b movs r0, #59 ; 0x3b 806cff8: f7e6 fc9e bl 8053938 806cffc: e099 b.n 806d132 806cffe: bf00 nop 806d000: 64090000 .word 0x64090000 806d004: 20022314 .word 0x20022314 806d008: 20022900 .word 0x20022900 806d00c: 20021f88 .word 0x20021f88 806d010: d01502f9 .word 0xd01502f9 806d014: 501502f9 .word 0x501502f9 806d018: 64080000 .word 0x64080000 806d01c: 20020070 .word 0x20020070 806d020: 20020060 .word 0x20020060 806d024: ff0a0f1f .word 0xff0a0f1f 806d028: ffd3d3d3 .word 0xffd3d3d3 806d02c: 080cfa4c .word 0x080cfa4c 806d030: 080cfa50 .word 0x080cfa50 806d034: 080cf7b8 .word 0x080cf7b8 806d038: 080cf7b0 .word 0x080cf7b0 806d03c: 080cfa54 .word 0x080cfa54 806d040: 42c80000 .word 0x42c80000 806d044: 080cfa58 .word 0x080cfa58 806d048: 080cfa5c .word 0x080cfa5c 806d04c: 447a0000 .word 0x447a0000 } else if(fmax <= 1000.0f) 806d050: f207 434c addw r3, r7, #1100 ; 0x44c 806d054: edd3 7a00 vldr s15, [r3] 806d058: ed1f 7a04 vldr s14, [pc, #-16] ; 806d04c 806d05c: eef4 7ac7 vcmpe.f32 s15, s14 806d060: eef1 fa10 vmrs APSR_nzcv, fpscr 806d064: d82d bhi.n 806d0c2 { BSP_LCD_DisplayStringAt(59, y5 - 2, "1000", RIGHT_MODE); 806d066: f8b7 3432 ldrh.w r3, [r7, #1074] ; 0x432 806d06a: 3b02 subs r3, #2 806d06c: b299 uxth r1, r3 806d06e: 2302 movs r3, #2 806d070: 4ab7 ldr r2, [pc, #732] ; (806d350 ) 806d072: 203b movs r0, #59 ; 0x3b 806d074: f7e6 fc60 bl 8053938 BSP_LCD_DisplayStringAt(59, y4 - 2, "500", RIGHT_MODE); 806d078: f8b7 3434 ldrh.w r3, [r7, #1076] ; 0x434 806d07c: 3b02 subs r3, #2 806d07e: b299 uxth r1, r3 806d080: 2302 movs r3, #2 806d082: 4ab4 ldr r2, [pc, #720] ; (806d354 ) 806d084: 203b movs r0, #59 ; 0x3b 806d086: f7e6 fc57 bl 8053938 BSP_LCD_DisplayStringAt(59, y3 - 2, "100", RIGHT_MODE); 806d08a: f8b7 3436 ldrh.w r3, [r7, #1078] ; 0x436 806d08e: 3b02 subs r3, #2 806d090: b299 uxth r1, r3 806d092: 2302 movs r3, #2 806d094: 4ab0 ldr r2, [pc, #704] ; (806d358 ) 806d096: 203b movs r0, #59 ; 0x3b 806d098: f7e6 fc4e bl 8053938 BSP_LCD_DisplayStringAt(59, y2 - 2, "0", RIGHT_MODE); 806d09c: f8b7 3438 ldrh.w r3, [r7, #1080] ; 0x438 806d0a0: 3b02 subs r3, #2 806d0a2: b299 uxth r1, r3 806d0a4: 2302 movs r3, #2 806d0a6: 4aad ldr r2, [pc, #692] ; (806d35c ) 806d0a8: 203b movs r0, #59 ; 0x3b 806d0aa: f7e6 fc45 bl 8053938 BSP_LCD_DisplayStringAt(59, y1 - 2, "-5", RIGHT_MODE); 806d0ae: f8b7 343a ldrh.w r3, [r7, #1082] ; 0x43a 806d0b2: 3b02 subs r3, #2 806d0b4: b299 uxth r1, r3 806d0b6: 2302 movs r3, #2 806d0b8: 4aa9 ldr r2, [pc, #676] ; (806d360 ) 806d0ba: 203b movs r0, #59 ; 0x3b 806d0bc: f7e6 fc3c bl 8053938 806d0c0: e037 b.n 806d132 } else if(fmax <= 10000.0f) 806d0c2: f207 434c addw r3, r7, #1100 ; 0x44c 806d0c6: edd3 7a00 vldr s15, [r3] 806d0ca: ed9f 7aa6 vldr s14, [pc, #664] ; 806d364 806d0ce: eef4 7ac7 vcmpe.f32 s15, s14 806d0d2: eef1 fa10 vmrs APSR_nzcv, fpscr 806d0d6: d82c bhi.n 806d132 { BSP_LCD_DisplayStringAt(59, y5 - 2, "10000", RIGHT_MODE); 806d0d8: f8b7 3432 ldrh.w r3, [r7, #1074] ; 0x432 806d0dc: 3b02 subs r3, #2 806d0de: b299 uxth r1, r3 806d0e0: 2302 movs r3, #2 806d0e2: 4aa1 ldr r2, [pc, #644] ; (806d368 ) 806d0e4: 203b movs r0, #59 ; 0x3b 806d0e6: f7e6 fc27 bl 8053938 BSP_LCD_DisplayStringAt(59, y4 - 2, "5000", RIGHT_MODE); 806d0ea: f8b7 3434 ldrh.w r3, [r7, #1076] ; 0x434 806d0ee: 3b02 subs r3, #2 806d0f0: b299 uxth r1, r3 806d0f2: 2302 movs r3, #2 806d0f4: 4a9d ldr r2, [pc, #628] ; (806d36c ) 806d0f6: 203b movs r0, #59 ; 0x3b 806d0f8: f7e6 fc1e bl 8053938 BSP_LCD_DisplayStringAt(59, y3 - 2, "1000", RIGHT_MODE); 806d0fc: f8b7 3436 ldrh.w r3, [r7, #1078] ; 0x436 806d100: 3b02 subs r3, #2 806d102: b299 uxth r1, r3 806d104: 2302 movs r3, #2 806d106: 4a92 ldr r2, [pc, #584] ; (806d350 ) 806d108: 203b movs r0, #59 ; 0x3b 806d10a: f7e6 fc15 bl 8053938 BSP_LCD_DisplayStringAt(59, y2 - 2, "0", RIGHT_MODE); 806d10e: f8b7 3438 ldrh.w r3, [r7, #1080] ; 0x438 806d112: 3b02 subs r3, #2 806d114: b299 uxth r1, r3 806d116: 2302 movs r3, #2 806d118: 4a90 ldr r2, [pc, #576] ; (806d35c ) 806d11a: 203b movs r0, #59 ; 0x3b 806d11c: f7e6 fc0c bl 8053938 BSP_LCD_DisplayStringAt(59, y1 - 2, "-5", RIGHT_MODE); 806d120: f8b7 343a ldrh.w r3, [r7, #1082] ; 0x43a 806d124: 3b02 subs r3, #2 806d126: b299 uxth r1, r3 806d128: 2302 movs r3, #2 806d12a: 4a8d ldr r2, [pc, #564] ; (806d360 ) 806d12c: 203b movs r0, #59 ; 0x3b 806d12e: f7e6 fc03 bl 8053938 } if(l == 1) 806d132: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806d136: 2b01 cmp r3, #1 806d138: f040 811e bne.w 806d378 { k = CmplxA_u32(0); 806d13c: 4b8c ldr r3, [pc, #560] ; (806d370 ) 806d13e: 681b ldr r3, [r3, #0] 806d140: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 Year = (k >> 25) - 20; 806d144: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806d148: 0e5b lsrs r3, r3, #25 806d14a: 3b14 subs r3, #20 806d14c: f8c7 342c str.w r3, [r7, #1068] ; 0x42c Month = (k >> 21) & 0xf; 806d150: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806d154: 0d5b lsrs r3, r3, #21 806d156: f003 030f and.w r3, r3, #15 806d15a: f8c7 3428 str.w r3, [r7, #1064] ; 0x428 Day = (k >> 16) & 0x1f; 806d15e: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806d162: 0c1b lsrs r3, r3, #16 806d164: f003 031f and.w r3, r3, #31 806d168: f8c7 3424 str.w r3, [r7, #1060] ; 0x424 Hour = (k >> 11) & 0x1f; 806d16c: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806d170: 0adb lsrs r3, r3, #11 806d172: f003 031f and.w r3, r3, #31 806d176: f8c7 3420 str.w r3, [r7, #1056] ; 0x420 Min = (k >> 5) & 0x3f; 806d17a: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806d17e: 095b lsrs r3, r3, #5 806d180: f003 033f and.w r3, r3, #63 ; 0x3f 806d184: f8c7 341c str.w r3, [r7, #1052] ; 0x41c Sec = ((k << 1) & 0x1f) + 1; 806d188: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806d18c: 005b lsls r3, r3, #1 806d18e: f003 031f and.w r3, r3, #31 806d192: 3301 adds r3, #1 806d194: f8c7 3418 str.w r3, [r7, #1048] ; 0x418 memset(str, 0, sizeof(str)); 806d198: f507 733b add.w r3, r7, #748 ; 0x2ec 806d19c: 223c movs r2, #60 ; 0x3c 806d19e: 2100 movs r1, #0 806d1a0: 4618 mov r0, r3 806d1a2: f05f ff51 bl 80cd048 str[0] = (Day / 10) + 48; 806d1a6: f8d7 3424 ldr.w r3, [r7, #1060] ; 0x424 806d1aa: 4a72 ldr r2, [pc, #456] ; (806d374 ) 806d1ac: fba2 2303 umull r2, r3, r2, r3 806d1b0: 08db lsrs r3, r3, #3 806d1b2: b2db uxtb r3, r3 806d1b4: 3330 adds r3, #48 ; 0x30 806d1b6: b2da uxtb r2, r3 806d1b8: f507 733b add.w r3, r7, #748 ; 0x2ec 806d1bc: 701a strb r2, [r3, #0] str[1] = (Day % 10) + 48; 806d1be: f8d7 1424 ldr.w r1, [r7, #1060] ; 0x424 806d1c2: 4b6c ldr r3, [pc, #432] ; (806d374 ) 806d1c4: fba3 2301 umull r2, r3, r3, r1 806d1c8: 08da lsrs r2, r3, #3 806d1ca: 4613 mov r3, r2 806d1cc: 009b lsls r3, r3, #2 806d1ce: 4413 add r3, r2 806d1d0: 005b lsls r3, r3, #1 806d1d2: 1aca subs r2, r1, r3 806d1d4: b2d3 uxtb r3, r2 806d1d6: 3330 adds r3, #48 ; 0x30 806d1d8: b2da uxtb r2, r3 806d1da: f507 733b add.w r3, r7, #748 ; 0x2ec 806d1de: 705a strb r2, [r3, #1] str[2] = '.'; 806d1e0: f507 733b add.w r3, r7, #748 ; 0x2ec 806d1e4: 222e movs r2, #46 ; 0x2e 806d1e6: 709a strb r2, [r3, #2] str[3] = (Month / 10) + 48; 806d1e8: f8d7 3428 ldr.w r3, [r7, #1064] ; 0x428 806d1ec: 4a61 ldr r2, [pc, #388] ; (806d374 ) 806d1ee: fba2 2303 umull r2, r3, r2, r3 806d1f2: 08db lsrs r3, r3, #3 806d1f4: b2db uxtb r3, r3 806d1f6: 3330 adds r3, #48 ; 0x30 806d1f8: b2da uxtb r2, r3 806d1fa: f507 733b add.w r3, r7, #748 ; 0x2ec 806d1fe: 70da strb r2, [r3, #3] str[4] = (Month % 10) + 48; 806d200: f8d7 1428 ldr.w r1, [r7, #1064] ; 0x428 806d204: 4b5b ldr r3, [pc, #364] ; (806d374 ) 806d206: fba3 2301 umull r2, r3, r3, r1 806d20a: 08da lsrs r2, r3, #3 806d20c: 4613 mov r3, r2 806d20e: 009b lsls r3, r3, #2 806d210: 4413 add r3, r2 806d212: 005b lsls r3, r3, #1 806d214: 1aca subs r2, r1, r3 806d216: b2d3 uxtb r3, r2 806d218: 3330 adds r3, #48 ; 0x30 806d21a: b2da uxtb r2, r3 806d21c: f507 733b add.w r3, r7, #748 ; 0x2ec 806d220: 711a strb r2, [r3, #4] str[5] = '.'; 806d222: f507 733b add.w r3, r7, #748 ; 0x2ec 806d226: 222e movs r2, #46 ; 0x2e 806d228: 715a strb r2, [r3, #5] str[6] = (Year / 10) + 48; 806d22a: f8d7 342c ldr.w r3, [r7, #1068] ; 0x42c 806d22e: 4a51 ldr r2, [pc, #324] ; (806d374 ) 806d230: fba2 2303 umull r2, r3, r2, r3 806d234: 08db lsrs r3, r3, #3 806d236: b2db uxtb r3, r3 806d238: 3330 adds r3, #48 ; 0x30 806d23a: b2da uxtb r2, r3 806d23c: f507 733b add.w r3, r7, #748 ; 0x2ec 806d240: 719a strb r2, [r3, #6] str[7] = (Year % 10) + 48; 806d242: f8d7 142c ldr.w r1, [r7, #1068] ; 0x42c 806d246: 4b4b ldr r3, [pc, #300] ; (806d374 ) 806d248: fba3 2301 umull r2, r3, r3, r1 806d24c: 08da lsrs r2, r3, #3 806d24e: 4613 mov r3, r2 806d250: 009b lsls r3, r3, #2 806d252: 4413 add r3, r2 806d254: 005b lsls r3, r3, #1 806d256: 1aca subs r2, r1, r3 806d258: b2d3 uxtb r3, r2 806d25a: 3330 adds r3, #48 ; 0x30 806d25c: b2da uxtb r2, r3 806d25e: f507 733b add.w r3, r7, #748 ; 0x2ec 806d262: 71da strb r2, [r3, #7] BSP_LCD_DisplayStringAt(190, 220, str, CENTER_MODE); 806d264: f507 723b add.w r2, r7, #748 ; 0x2ec 806d268: 2301 movs r3, #1 806d26a: 21dc movs r1, #220 ; 0xdc 806d26c: 20be movs r0, #190 ; 0xbe 806d26e: f7e6 fb63 bl 8053938 memset(str, 0, sizeof(str)); 806d272: f507 733b add.w r3, r7, #748 ; 0x2ec 806d276: 223c movs r2, #60 ; 0x3c 806d278: 2100 movs r1, #0 806d27a: 4618 mov r0, r3 806d27c: f05f fee4 bl 80cd048 str[0] = (Hour / 10) + 48; 806d280: f8d7 3420 ldr.w r3, [r7, #1056] ; 0x420 806d284: 4a3b ldr r2, [pc, #236] ; (806d374 ) 806d286: fba2 2303 umull r2, r3, r2, r3 806d28a: 08db lsrs r3, r3, #3 806d28c: b2db uxtb r3, r3 806d28e: 3330 adds r3, #48 ; 0x30 806d290: b2da uxtb r2, r3 806d292: f507 733b add.w r3, r7, #748 ; 0x2ec 806d296: 701a strb r2, [r3, #0] str[1] = (Hour % 10) + 48; 806d298: f8d7 1420 ldr.w r1, [r7, #1056] ; 0x420 806d29c: 4b35 ldr r3, [pc, #212] ; (806d374 ) 806d29e: fba3 2301 umull r2, r3, r3, r1 806d2a2: 08da lsrs r2, r3, #3 806d2a4: 4613 mov r3, r2 806d2a6: 009b lsls r3, r3, #2 806d2a8: 4413 add r3, r2 806d2aa: 005b lsls r3, r3, #1 806d2ac: 1aca subs r2, r1, r3 806d2ae: b2d3 uxtb r3, r2 806d2b0: 3330 adds r3, #48 ; 0x30 806d2b2: b2da uxtb r2, r3 806d2b4: f507 733b add.w r3, r7, #748 ; 0x2ec 806d2b8: 705a strb r2, [r3, #1] str[2] = ':'; 806d2ba: f507 733b add.w r3, r7, #748 ; 0x2ec 806d2be: 223a movs r2, #58 ; 0x3a 806d2c0: 709a strb r2, [r3, #2] str[3] = (Min / 10) + 48; 806d2c2: f8d7 341c ldr.w r3, [r7, #1052] ; 0x41c 806d2c6: 4a2b ldr r2, [pc, #172] ; (806d374 ) 806d2c8: fba2 2303 umull r2, r3, r2, r3 806d2cc: 08db lsrs r3, r3, #3 806d2ce: b2db uxtb r3, r3 806d2d0: 3330 adds r3, #48 ; 0x30 806d2d2: b2da uxtb r2, r3 806d2d4: f507 733b add.w r3, r7, #748 ; 0x2ec 806d2d8: 70da strb r2, [r3, #3] str[4] = (Min % 10) + 48; 806d2da: f8d7 141c ldr.w r1, [r7, #1052] ; 0x41c 806d2de: 4b25 ldr r3, [pc, #148] ; (806d374 ) 806d2e0: fba3 2301 umull r2, r3, r3, r1 806d2e4: 08da lsrs r2, r3, #3 806d2e6: 4613 mov r3, r2 806d2e8: 009b lsls r3, r3, #2 806d2ea: 4413 add r3, r2 806d2ec: 005b lsls r3, r3, #1 806d2ee: 1aca subs r2, r1, r3 806d2f0: b2d3 uxtb r3, r2 806d2f2: 3330 adds r3, #48 ; 0x30 806d2f4: b2da uxtb r2, r3 806d2f6: f507 733b add.w r3, r7, #748 ; 0x2ec 806d2fa: 711a strb r2, [r3, #4] str[5] = ':'; 806d2fc: f507 733b add.w r3, r7, #748 ; 0x2ec 806d300: 223a movs r2, #58 ; 0x3a 806d302: 715a strb r2, [r3, #5] str[6] = (Sec / 10) + 48; 806d304: f8d7 3418 ldr.w r3, [r7, #1048] ; 0x418 806d308: 4a1a ldr r2, [pc, #104] ; (806d374 ) 806d30a: fba2 2303 umull r2, r3, r2, r3 806d30e: 08db lsrs r3, r3, #3 806d310: b2db uxtb r3, r3 806d312: 3330 adds r3, #48 ; 0x30 806d314: b2da uxtb r2, r3 806d316: f507 733b add.w r3, r7, #748 ; 0x2ec 806d31a: 719a strb r2, [r3, #6] str[7] = (Sec % 10) + 48; 806d31c: f8d7 1418 ldr.w r1, [r7, #1048] ; 0x418 806d320: 4b14 ldr r3, [pc, #80] ; (806d374 ) 806d322: fba3 2301 umull r2, r3, r3, r1 806d326: 08da lsrs r2, r3, #3 806d328: 4613 mov r3, r2 806d32a: 009b lsls r3, r3, #2 806d32c: 4413 add r3, r2 806d32e: 005b lsls r3, r3, #1 806d330: 1aca subs r2, r1, r3 806d332: b2d3 uxtb r3, r2 806d334: 3330 adds r3, #48 ; 0x30 806d336: b2da uxtb r2, r3 806d338: f507 733b add.w r3, r7, #748 ; 0x2ec 806d33c: 71da strb r2, [r3, #7] BSP_LCD_DisplayStringAt(190, 228, str, CENTER_MODE); 806d33e: f507 723b add.w r2, r7, #748 ; 0x2ec 806d342: 2301 movs r3, #1 806d344: 21e4 movs r1, #228 ; 0xe4 806d346: 20be movs r0, #190 ; 0xbe 806d348: f7e6 faf6 bl 8053938 806d34c: f000 bd7b b.w 806de46 806d350: 080cfa60 .word 0x080cfa60 806d354: 080cfa68 .word 0x080cfa68 806d358: 080cfa58 .word 0x080cfa58 806d35c: 080cf7b0 .word 0x080cf7b0 806d360: 080cfa54 .word 0x080cfa54 806d364: 461c4000 .word 0x461c4000 806d368: 080cfa6c .word 0x080cfa6c 806d36c: 080cfa74 .word 0x080cfa74 806d370: 64090000 .word 0x64090000 806d374: cccccccd .word 0xcccccccd } else if(l == 2) 806d378: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806d37c: 2b02 cmp r3, #2 806d37e: f040 821d bne.w 806d7bc { k = CmplxA_u32(0); 806d382: 4bde ldr r3, [pc, #888] ; (806d6fc ) 806d384: 681b ldr r3, [r3, #0] 806d386: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 Year = (k >> 25) - 20; 806d38a: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806d38e: 0e5b lsrs r3, r3, #25 806d390: 3b14 subs r3, #20 806d392: f8c7 342c str.w r3, [r7, #1068] ; 0x42c Month = (k >> 21) & 0xf; 806d396: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806d39a: 0d5b lsrs r3, r3, #21 806d39c: f003 030f and.w r3, r3, #15 806d3a0: f8c7 3428 str.w r3, [r7, #1064] ; 0x428 Day = (k >> 16) & 0x1f; 806d3a4: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806d3a8: 0c1b lsrs r3, r3, #16 806d3aa: f003 031f and.w r3, r3, #31 806d3ae: f8c7 3424 str.w r3, [r7, #1060] ; 0x424 Hour = (k >> 11) & 0x1f; 806d3b2: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806d3b6: 0adb lsrs r3, r3, #11 806d3b8: f003 031f and.w r3, r3, #31 806d3bc: f8c7 3420 str.w r3, [r7, #1056] ; 0x420 Min = (k >> 5) & 0x3f; 806d3c0: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806d3c4: 095b lsrs r3, r3, #5 806d3c6: f003 033f and.w r3, r3, #63 ; 0x3f 806d3ca: f8c7 341c str.w r3, [r7, #1052] ; 0x41c Sec = ((k << 1) & 0x1f) + 1; 806d3ce: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806d3d2: 005b lsls r3, r3, #1 806d3d4: f003 031f and.w r3, r3, #31 806d3d8: 3301 adds r3, #1 806d3da: f8c7 3418 str.w r3, [r7, #1048] ; 0x418 memset(str, 0, sizeof(str)); 806d3de: f507 733b add.w r3, r7, #748 ; 0x2ec 806d3e2: 223c movs r2, #60 ; 0x3c 806d3e4: 2100 movs r1, #0 806d3e6: 4618 mov r0, r3 806d3e8: f05f fe2e bl 80cd048 str[0] = (Day / 10) + 48; 806d3ec: f8d7 3424 ldr.w r3, [r7, #1060] ; 0x424 806d3f0: 4ac3 ldr r2, [pc, #780] ; (806d700 ) 806d3f2: fba2 2303 umull r2, r3, r2, r3 806d3f6: 08db lsrs r3, r3, #3 806d3f8: b2db uxtb r3, r3 806d3fa: 3330 adds r3, #48 ; 0x30 806d3fc: b2da uxtb r2, r3 806d3fe: f507 733b add.w r3, r7, #748 ; 0x2ec 806d402: 701a strb r2, [r3, #0] str[1] = (Day % 10) + 48; 806d404: f8d7 1424 ldr.w r1, [r7, #1060] ; 0x424 806d408: 4bbd ldr r3, [pc, #756] ; (806d700 ) 806d40a: fba3 2301 umull r2, r3, r3, r1 806d40e: 08da lsrs r2, r3, #3 806d410: 4613 mov r3, r2 806d412: 009b lsls r3, r3, #2 806d414: 4413 add r3, r2 806d416: 005b lsls r3, r3, #1 806d418: 1aca subs r2, r1, r3 806d41a: b2d3 uxtb r3, r2 806d41c: 3330 adds r3, #48 ; 0x30 806d41e: b2da uxtb r2, r3 806d420: f507 733b add.w r3, r7, #748 ; 0x2ec 806d424: 705a strb r2, [r3, #1] str[2] = '.'; 806d426: f507 733b add.w r3, r7, #748 ; 0x2ec 806d42a: 222e movs r2, #46 ; 0x2e 806d42c: 709a strb r2, [r3, #2] str[3] = (Month / 10) + 48; 806d42e: f8d7 3428 ldr.w r3, [r7, #1064] ; 0x428 806d432: 4ab3 ldr r2, [pc, #716] ; (806d700 ) 806d434: fba2 2303 umull r2, r3, r2, r3 806d438: 08db lsrs r3, r3, #3 806d43a: b2db uxtb r3, r3 806d43c: 3330 adds r3, #48 ; 0x30 806d43e: b2da uxtb r2, r3 806d440: f507 733b add.w r3, r7, #748 ; 0x2ec 806d444: 70da strb r2, [r3, #3] str[4] = (Month % 10) + 48; 806d446: f8d7 1428 ldr.w r1, [r7, #1064] ; 0x428 806d44a: 4bad ldr r3, [pc, #692] ; (806d700 ) 806d44c: fba3 2301 umull r2, r3, r3, r1 806d450: 08da lsrs r2, r3, #3 806d452: 4613 mov r3, r2 806d454: 009b lsls r3, r3, #2 806d456: 4413 add r3, r2 806d458: 005b lsls r3, r3, #1 806d45a: 1aca subs r2, r1, r3 806d45c: b2d3 uxtb r3, r2 806d45e: 3330 adds r3, #48 ; 0x30 806d460: b2da uxtb r2, r3 806d462: f507 733b add.w r3, r7, #748 ; 0x2ec 806d466: 711a strb r2, [r3, #4] str[5] = '.'; 806d468: f507 733b add.w r3, r7, #748 ; 0x2ec 806d46c: 222e movs r2, #46 ; 0x2e 806d46e: 715a strb r2, [r3, #5] str[6] = (Year / 10) + 48; 806d470: f8d7 342c ldr.w r3, [r7, #1068] ; 0x42c 806d474: 4aa2 ldr r2, [pc, #648] ; (806d700 ) 806d476: fba2 2303 umull r2, r3, r2, r3 806d47a: 08db lsrs r3, r3, #3 806d47c: b2db uxtb r3, r3 806d47e: 3330 adds r3, #48 ; 0x30 806d480: b2da uxtb r2, r3 806d482: f507 733b add.w r3, r7, #748 ; 0x2ec 806d486: 719a strb r2, [r3, #6] str[7] = (Year % 10) + 48; 806d488: f8d7 142c ldr.w r1, [r7, #1068] ; 0x42c 806d48c: 4b9c ldr r3, [pc, #624] ; (806d700 ) 806d48e: fba3 2301 umull r2, r3, r3, r1 806d492: 08da lsrs r2, r3, #3 806d494: 4613 mov r3, r2 806d496: 009b lsls r3, r3, #2 806d498: 4413 add r3, r2 806d49a: 005b lsls r3, r3, #1 806d49c: 1aca subs r2, r1, r3 806d49e: b2d3 uxtb r3, r2 806d4a0: 3330 adds r3, #48 ; 0x30 806d4a2: b2da uxtb r2, r3 806d4a4: f507 733b add.w r3, r7, #748 ; 0x2ec 806d4a8: 71da strb r2, [r3, #7] BSP_LCD_DisplayStringAt(80, 220, str, CENTER_MODE); 806d4aa: f507 723b add.w r2, r7, #748 ; 0x2ec 806d4ae: 2301 movs r3, #1 806d4b0: 21dc movs r1, #220 ; 0xdc 806d4b2: 2050 movs r0, #80 ; 0x50 806d4b4: f7e6 fa40 bl 8053938 memset(str, 0, sizeof(str)); 806d4b8: f507 733b add.w r3, r7, #748 ; 0x2ec 806d4bc: 223c movs r2, #60 ; 0x3c 806d4be: 2100 movs r1, #0 806d4c0: 4618 mov r0, r3 806d4c2: f05f fdc1 bl 80cd048 str[0] = (Hour / 10) + 48; 806d4c6: f8d7 3420 ldr.w r3, [r7, #1056] ; 0x420 806d4ca: 4a8d ldr r2, [pc, #564] ; (806d700 ) 806d4cc: fba2 2303 umull r2, r3, r2, r3 806d4d0: 08db lsrs r3, r3, #3 806d4d2: b2db uxtb r3, r3 806d4d4: 3330 adds r3, #48 ; 0x30 806d4d6: b2da uxtb r2, r3 806d4d8: f507 733b add.w r3, r7, #748 ; 0x2ec 806d4dc: 701a strb r2, [r3, #0] str[1] = (Hour % 10) + 48; 806d4de: f8d7 1420 ldr.w r1, [r7, #1056] ; 0x420 806d4e2: 4b87 ldr r3, [pc, #540] ; (806d700 ) 806d4e4: fba3 2301 umull r2, r3, r3, r1 806d4e8: 08da lsrs r2, r3, #3 806d4ea: 4613 mov r3, r2 806d4ec: 009b lsls r3, r3, #2 806d4ee: 4413 add r3, r2 806d4f0: 005b lsls r3, r3, #1 806d4f2: 1aca subs r2, r1, r3 806d4f4: b2d3 uxtb r3, r2 806d4f6: 3330 adds r3, #48 ; 0x30 806d4f8: b2da uxtb r2, r3 806d4fa: f507 733b add.w r3, r7, #748 ; 0x2ec 806d4fe: 705a strb r2, [r3, #1] str[2] = ':'; 806d500: f507 733b add.w r3, r7, #748 ; 0x2ec 806d504: 223a movs r2, #58 ; 0x3a 806d506: 709a strb r2, [r3, #2] str[3] = (Min / 10) + 48; 806d508: f8d7 341c ldr.w r3, [r7, #1052] ; 0x41c 806d50c: 4a7c ldr r2, [pc, #496] ; (806d700 ) 806d50e: fba2 2303 umull r2, r3, r2, r3 806d512: 08db lsrs r3, r3, #3 806d514: b2db uxtb r3, r3 806d516: 3330 adds r3, #48 ; 0x30 806d518: b2da uxtb r2, r3 806d51a: f507 733b add.w r3, r7, #748 ; 0x2ec 806d51e: 70da strb r2, [r3, #3] str[4] = (Min % 10) + 48; 806d520: f8d7 141c ldr.w r1, [r7, #1052] ; 0x41c 806d524: 4b76 ldr r3, [pc, #472] ; (806d700 ) 806d526: fba3 2301 umull r2, r3, r3, r1 806d52a: 08da lsrs r2, r3, #3 806d52c: 4613 mov r3, r2 806d52e: 009b lsls r3, r3, #2 806d530: 4413 add r3, r2 806d532: 005b lsls r3, r3, #1 806d534: 1aca subs r2, r1, r3 806d536: b2d3 uxtb r3, r2 806d538: 3330 adds r3, #48 ; 0x30 806d53a: b2da uxtb r2, r3 806d53c: f507 733b add.w r3, r7, #748 ; 0x2ec 806d540: 711a strb r2, [r3, #4] str[5] = ':'; 806d542: f507 733b add.w r3, r7, #748 ; 0x2ec 806d546: 223a movs r2, #58 ; 0x3a 806d548: 715a strb r2, [r3, #5] str[6] = (Sec / 10) + 48; 806d54a: f8d7 3418 ldr.w r3, [r7, #1048] ; 0x418 806d54e: 4a6c ldr r2, [pc, #432] ; (806d700 ) 806d550: fba2 2303 umull r2, r3, r2, r3 806d554: 08db lsrs r3, r3, #3 806d556: b2db uxtb r3, r3 806d558: 3330 adds r3, #48 ; 0x30 806d55a: b2da uxtb r2, r3 806d55c: f507 733b add.w r3, r7, #748 ; 0x2ec 806d560: 719a strb r2, [r3, #6] str[7] = (Sec % 10) + 48; 806d562: f8d7 1418 ldr.w r1, [r7, #1048] ; 0x418 806d566: 4b66 ldr r3, [pc, #408] ; (806d700 ) 806d568: fba3 2301 umull r2, r3, r3, r1 806d56c: 08da lsrs r2, r3, #3 806d56e: 4613 mov r3, r2 806d570: 009b lsls r3, r3, #2 806d572: 4413 add r3, r2 806d574: 005b lsls r3, r3, #1 806d576: 1aca subs r2, r1, r3 806d578: b2d3 uxtb r3, r2 806d57a: 3330 adds r3, #48 ; 0x30 806d57c: b2da uxtb r2, r3 806d57e: f507 733b add.w r3, r7, #748 ; 0x2ec 806d582: 71da strb r2, [r3, #7] BSP_LCD_DisplayStringAt(80, 228, str, CENTER_MODE); 806d584: f507 723b add.w r2, r7, #748 ; 0x2ec 806d588: 2301 movs r3, #1 806d58a: 21e4 movs r1, #228 ; 0xe4 806d58c: 2050 movs r0, #80 ; 0x50 806d58e: f7e6 f9d3 bl 8053938 k = CmplxA_u32(1); 806d592: 4b5c ldr r3, [pc, #368] ; (806d704 ) 806d594: 681b ldr r3, [r3, #0] 806d596: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 Year = (k >> 25) - 20; 806d59a: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806d59e: 0e5b lsrs r3, r3, #25 806d5a0: 3b14 subs r3, #20 806d5a2: f8c7 342c str.w r3, [r7, #1068] ; 0x42c Month = (k >> 21) & 0xf; 806d5a6: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806d5aa: 0d5b lsrs r3, r3, #21 806d5ac: f003 030f and.w r3, r3, #15 806d5b0: f8c7 3428 str.w r3, [r7, #1064] ; 0x428 Day = (k >> 16) & 0x1f; 806d5b4: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806d5b8: 0c1b lsrs r3, r3, #16 806d5ba: f003 031f and.w r3, r3, #31 806d5be: f8c7 3424 str.w r3, [r7, #1060] ; 0x424 Hour = (k >> 11) & 0x1f; 806d5c2: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806d5c6: 0adb lsrs r3, r3, #11 806d5c8: f003 031f and.w r3, r3, #31 806d5cc: f8c7 3420 str.w r3, [r7, #1056] ; 0x420 Min = (k >> 5) & 0x3f; 806d5d0: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806d5d4: 095b lsrs r3, r3, #5 806d5d6: f003 033f and.w r3, r3, #63 ; 0x3f 806d5da: f8c7 341c str.w r3, [r7, #1052] ; 0x41c Sec = ((k << 1) & 0x1f) + 1; 806d5de: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806d5e2: 005b lsls r3, r3, #1 806d5e4: f003 031f and.w r3, r3, #31 806d5e8: 3301 adds r3, #1 806d5ea: f8c7 3418 str.w r3, [r7, #1048] ; 0x418 memset(str, 0, sizeof(str)); 806d5ee: f507 733b add.w r3, r7, #748 ; 0x2ec 806d5f2: 223c movs r2, #60 ; 0x3c 806d5f4: 2100 movs r1, #0 806d5f6: 4618 mov r0, r3 806d5f8: f05f fd26 bl 80cd048 str[0] = (Day / 10) + 48; 806d5fc: f8d7 3424 ldr.w r3, [r7, #1060] ; 0x424 806d600: 4a3f ldr r2, [pc, #252] ; (806d700 ) 806d602: fba2 2303 umull r2, r3, r2, r3 806d606: 08db lsrs r3, r3, #3 806d608: b2db uxtb r3, r3 806d60a: 3330 adds r3, #48 ; 0x30 806d60c: b2da uxtb r2, r3 806d60e: f507 733b add.w r3, r7, #748 ; 0x2ec 806d612: 701a strb r2, [r3, #0] str[1] = (Day % 10) + 48; 806d614: f8d7 1424 ldr.w r1, [r7, #1060] ; 0x424 806d618: 4b39 ldr r3, [pc, #228] ; (806d700 ) 806d61a: fba3 2301 umull r2, r3, r3, r1 806d61e: 08da lsrs r2, r3, #3 806d620: 4613 mov r3, r2 806d622: 009b lsls r3, r3, #2 806d624: 4413 add r3, r2 806d626: 005b lsls r3, r3, #1 806d628: 1aca subs r2, r1, r3 806d62a: b2d3 uxtb r3, r2 806d62c: 3330 adds r3, #48 ; 0x30 806d62e: b2da uxtb r2, r3 806d630: f507 733b add.w r3, r7, #748 ; 0x2ec 806d634: 705a strb r2, [r3, #1] str[2] = '.'; 806d636: f507 733b add.w r3, r7, #748 ; 0x2ec 806d63a: 222e movs r2, #46 ; 0x2e 806d63c: 709a strb r2, [r3, #2] str[3] = (Month / 10) + 48; 806d63e: f8d7 3428 ldr.w r3, [r7, #1064] ; 0x428 806d642: 4a2f ldr r2, [pc, #188] ; (806d700 ) 806d644: fba2 2303 umull r2, r3, r2, r3 806d648: 08db lsrs r3, r3, #3 806d64a: b2db uxtb r3, r3 806d64c: 3330 adds r3, #48 ; 0x30 806d64e: b2da uxtb r2, r3 806d650: f507 733b add.w r3, r7, #748 ; 0x2ec 806d654: 70da strb r2, [r3, #3] str[4] = (Month % 10) + 48; 806d656: f8d7 1428 ldr.w r1, [r7, #1064] ; 0x428 806d65a: 4b29 ldr r3, [pc, #164] ; (806d700 ) 806d65c: fba3 2301 umull r2, r3, r3, r1 806d660: 08da lsrs r2, r3, #3 806d662: 4613 mov r3, r2 806d664: 009b lsls r3, r3, #2 806d666: 4413 add r3, r2 806d668: 005b lsls r3, r3, #1 806d66a: 1aca subs r2, r1, r3 806d66c: b2d3 uxtb r3, r2 806d66e: 3330 adds r3, #48 ; 0x30 806d670: b2da uxtb r2, r3 806d672: f507 733b add.w r3, r7, #748 ; 0x2ec 806d676: 711a strb r2, [r3, #4] str[5] = '.'; 806d678: f507 733b add.w r3, r7, #748 ; 0x2ec 806d67c: 222e movs r2, #46 ; 0x2e 806d67e: 715a strb r2, [r3, #5] str[6] = (Year / 10) + 48; 806d680: f8d7 342c ldr.w r3, [r7, #1068] ; 0x42c 806d684: 4a1e ldr r2, [pc, #120] ; (806d700 ) 806d686: fba2 2303 umull r2, r3, r2, r3 806d68a: 08db lsrs r3, r3, #3 806d68c: b2db uxtb r3, r3 806d68e: 3330 adds r3, #48 ; 0x30 806d690: b2da uxtb r2, r3 806d692: f507 733b add.w r3, r7, #748 ; 0x2ec 806d696: 719a strb r2, [r3, #6] str[7] = (Year % 10) + 48; 806d698: f8d7 142c ldr.w r1, [r7, #1068] ; 0x42c 806d69c: 4b18 ldr r3, [pc, #96] ; (806d700 ) 806d69e: fba3 2301 umull r2, r3, r3, r1 806d6a2: 08da lsrs r2, r3, #3 806d6a4: 4613 mov r3, r2 806d6a6: 009b lsls r3, r3, #2 806d6a8: 4413 add r3, r2 806d6aa: 005b lsls r3, r3, #1 806d6ac: 1aca subs r2, r1, r3 806d6ae: b2d3 uxtb r3, r2 806d6b0: 3330 adds r3, #48 ; 0x30 806d6b2: b2da uxtb r2, r3 806d6b4: f507 733b add.w r3, r7, #748 ; 0x2ec 806d6b8: 71da strb r2, [r3, #7] BSP_LCD_DisplayStringAt(298, 220, str, CENTER_MODE); 806d6ba: f507 723b add.w r2, r7, #748 ; 0x2ec 806d6be: 2301 movs r3, #1 806d6c0: 21dc movs r1, #220 ; 0xdc 806d6c2: f44f 7095 mov.w r0, #298 ; 0x12a 806d6c6: f7e6 f937 bl 8053938 memset(str, 0, sizeof(str)); 806d6ca: f507 733b add.w r3, r7, #748 ; 0x2ec 806d6ce: 223c movs r2, #60 ; 0x3c 806d6d0: 2100 movs r1, #0 806d6d2: 4618 mov r0, r3 806d6d4: f05f fcb8 bl 80cd048 str[0] = (Hour / 10) + 48; 806d6d8: f8d7 3420 ldr.w r3, [r7, #1056] ; 0x420 806d6dc: 4a08 ldr r2, [pc, #32] ; (806d700 ) 806d6de: fba2 2303 umull r2, r3, r2, r3 806d6e2: 08db lsrs r3, r3, #3 806d6e4: b2db uxtb r3, r3 806d6e6: 3330 adds r3, #48 ; 0x30 806d6e8: b2da uxtb r2, r3 806d6ea: f507 733b add.w r3, r7, #748 ; 0x2ec 806d6ee: 701a strb r2, [r3, #0] str[1] = (Hour % 10) + 48; 806d6f0: f8d7 1420 ldr.w r1, [r7, #1056] ; 0x420 806d6f4: 4b02 ldr r3, [pc, #8] ; (806d700 ) 806d6f6: fba3 2301 umull r2, r3, r3, r1 806d6fa: e005 b.n 806d708 806d6fc: 64090000 .word 0x64090000 806d700: cccccccd .word 0xcccccccd 806d704: 64090004 .word 0x64090004 806d708: 08da lsrs r2, r3, #3 806d70a: 4613 mov r3, r2 806d70c: 009b lsls r3, r3, #2 806d70e: 4413 add r3, r2 806d710: 005b lsls r3, r3, #1 806d712: 1aca subs r2, r1, r3 806d714: b2d3 uxtb r3, r2 806d716: 3330 adds r3, #48 ; 0x30 806d718: b2da uxtb r2, r3 806d71a: f507 733b add.w r3, r7, #748 ; 0x2ec 806d71e: 705a strb r2, [r3, #1] str[2] = ':'; 806d720: f507 733b add.w r3, r7, #748 ; 0x2ec 806d724: 223a movs r2, #58 ; 0x3a 806d726: 709a strb r2, [r3, #2] str[3] = (Min / 10) + 48; 806d728: f8d7 341c ldr.w r3, [r7, #1052] ; 0x41c 806d72c: 4a22 ldr r2, [pc, #136] ; (806d7b8 ) 806d72e: fba2 2303 umull r2, r3, r2, r3 806d732: 08db lsrs r3, r3, #3 806d734: b2db uxtb r3, r3 806d736: 3330 adds r3, #48 ; 0x30 806d738: b2da uxtb r2, r3 806d73a: f507 733b add.w r3, r7, #748 ; 0x2ec 806d73e: 70da strb r2, [r3, #3] str[4] = (Min % 10) + 48; 806d740: f8d7 141c ldr.w r1, [r7, #1052] ; 0x41c 806d744: 4b1c ldr r3, [pc, #112] ; (806d7b8 ) 806d746: fba3 2301 umull r2, r3, r3, r1 806d74a: 08da lsrs r2, r3, #3 806d74c: 4613 mov r3, r2 806d74e: 009b lsls r3, r3, #2 806d750: 4413 add r3, r2 806d752: 005b lsls r3, r3, #1 806d754: 1aca subs r2, r1, r3 806d756: b2d3 uxtb r3, r2 806d758: 3330 adds r3, #48 ; 0x30 806d75a: b2da uxtb r2, r3 806d75c: f507 733b add.w r3, r7, #748 ; 0x2ec 806d760: 711a strb r2, [r3, #4] str[5] = ':'; 806d762: f507 733b add.w r3, r7, #748 ; 0x2ec 806d766: 223a movs r2, #58 ; 0x3a 806d768: 715a strb r2, [r3, #5] str[6] = (Sec / 10) + 48; 806d76a: f8d7 3418 ldr.w r3, [r7, #1048] ; 0x418 806d76e: 4a12 ldr r2, [pc, #72] ; (806d7b8 ) 806d770: fba2 2303 umull r2, r3, r2, r3 806d774: 08db lsrs r3, r3, #3 806d776: b2db uxtb r3, r3 806d778: 3330 adds r3, #48 ; 0x30 806d77a: b2da uxtb r2, r3 806d77c: f507 733b add.w r3, r7, #748 ; 0x2ec 806d780: 719a strb r2, [r3, #6] str[7] = (Sec % 10) + 48; 806d782: f8d7 1418 ldr.w r1, [r7, #1048] ; 0x418 806d786: 4b0c ldr r3, [pc, #48] ; (806d7b8 ) 806d788: fba3 2301 umull r2, r3, r3, r1 806d78c: 08da lsrs r2, r3, #3 806d78e: 4613 mov r3, r2 806d790: 009b lsls r3, r3, #2 806d792: 4413 add r3, r2 806d794: 005b lsls r3, r3, #1 806d796: 1aca subs r2, r1, r3 806d798: b2d3 uxtb r3, r2 806d79a: 3330 adds r3, #48 ; 0x30 806d79c: b2da uxtb r2, r3 806d79e: f507 733b add.w r3, r7, #748 ; 0x2ec 806d7a2: 71da strb r2, [r3, #7] BSP_LCD_DisplayStringAt(298, 228, str, CENTER_MODE); 806d7a4: f507 723b add.w r2, r7, #748 ; 0x2ec 806d7a8: 2301 movs r3, #1 806d7aa: 21e4 movs r1, #228 ; 0xe4 806d7ac: f44f 7095 mov.w r0, #298 ; 0x12a 806d7b0: f7e6 f8c2 bl 8053938 806d7b4: e347 b.n 806de46 806d7b6: bf00 nop 806d7b8: cccccccd .word 0xcccccccd } else { k = CmplxA_u32(0); 806d7bc: 4be0 ldr r3, [pc, #896] ; (806db40 ) 806d7be: 681b ldr r3, [r3, #0] 806d7c0: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 Year = (k >> 25) - 20; 806d7c4: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806d7c8: 0e5b lsrs r3, r3, #25 806d7ca: 3b14 subs r3, #20 806d7cc: f8c7 342c str.w r3, [r7, #1068] ; 0x42c Month = (k >> 21) & 0xf; 806d7d0: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806d7d4: 0d5b lsrs r3, r3, #21 806d7d6: f003 030f and.w r3, r3, #15 806d7da: f8c7 3428 str.w r3, [r7, #1064] ; 0x428 Day = (k >> 16) & 0x1f; 806d7de: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806d7e2: 0c1b lsrs r3, r3, #16 806d7e4: f003 031f and.w r3, r3, #31 806d7e8: f8c7 3424 str.w r3, [r7, #1060] ; 0x424 Hour = (k >> 11) & 0x1f; 806d7ec: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806d7f0: 0adb lsrs r3, r3, #11 806d7f2: f003 031f and.w r3, r3, #31 806d7f6: f8c7 3420 str.w r3, [r7, #1056] ; 0x420 Min = (k >> 5) & 0x3f; 806d7fa: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806d7fe: 095b lsrs r3, r3, #5 806d800: f003 033f and.w r3, r3, #63 ; 0x3f 806d804: f8c7 341c str.w r3, [r7, #1052] ; 0x41c Sec = ((k << 1) & 0x1f) + 1; 806d808: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806d80c: 005b lsls r3, r3, #1 806d80e: f003 031f and.w r3, r3, #31 806d812: 3301 adds r3, #1 806d814: f8c7 3418 str.w r3, [r7, #1048] ; 0x418 memset(str, 0, sizeof(str)); 806d818: f507 733b add.w r3, r7, #748 ; 0x2ec 806d81c: 223c movs r2, #60 ; 0x3c 806d81e: 2100 movs r1, #0 806d820: 4618 mov r0, r3 806d822: f05f fc11 bl 80cd048 str[0] = (Day / 10) + 48; 806d826: f8d7 3424 ldr.w r3, [r7, #1060] ; 0x424 806d82a: 4ac6 ldr r2, [pc, #792] ; (806db44 ) 806d82c: fba2 2303 umull r2, r3, r2, r3 806d830: 08db lsrs r3, r3, #3 806d832: b2db uxtb r3, r3 806d834: 3330 adds r3, #48 ; 0x30 806d836: b2da uxtb r2, r3 806d838: f507 733b add.w r3, r7, #748 ; 0x2ec 806d83c: 701a strb r2, [r3, #0] str[1] = (Day % 10) + 48; 806d83e: f8d7 1424 ldr.w r1, [r7, #1060] ; 0x424 806d842: 4bc0 ldr r3, [pc, #768] ; (806db44 ) 806d844: fba3 2301 umull r2, r3, r3, r1 806d848: 08da lsrs r2, r3, #3 806d84a: 4613 mov r3, r2 806d84c: 009b lsls r3, r3, #2 806d84e: 4413 add r3, r2 806d850: 005b lsls r3, r3, #1 806d852: 1aca subs r2, r1, r3 806d854: b2d3 uxtb r3, r2 806d856: 3330 adds r3, #48 ; 0x30 806d858: b2da uxtb r2, r3 806d85a: f507 733b add.w r3, r7, #748 ; 0x2ec 806d85e: 705a strb r2, [r3, #1] str[2] = '.'; 806d860: f507 733b add.w r3, r7, #748 ; 0x2ec 806d864: 222e movs r2, #46 ; 0x2e 806d866: 709a strb r2, [r3, #2] str[3] = (Month / 10) + 48; 806d868: f8d7 3428 ldr.w r3, [r7, #1064] ; 0x428 806d86c: 4ab5 ldr r2, [pc, #724] ; (806db44 ) 806d86e: fba2 2303 umull r2, r3, r2, r3 806d872: 08db lsrs r3, r3, #3 806d874: b2db uxtb r3, r3 806d876: 3330 adds r3, #48 ; 0x30 806d878: b2da uxtb r2, r3 806d87a: f507 733b add.w r3, r7, #748 ; 0x2ec 806d87e: 70da strb r2, [r3, #3] str[4] = (Month % 10) + 48; 806d880: f8d7 1428 ldr.w r1, [r7, #1064] ; 0x428 806d884: 4baf ldr r3, [pc, #700] ; (806db44 ) 806d886: fba3 2301 umull r2, r3, r3, r1 806d88a: 08da lsrs r2, r3, #3 806d88c: 4613 mov r3, r2 806d88e: 009b lsls r3, r3, #2 806d890: 4413 add r3, r2 806d892: 005b lsls r3, r3, #1 806d894: 1aca subs r2, r1, r3 806d896: b2d3 uxtb r3, r2 806d898: 3330 adds r3, #48 ; 0x30 806d89a: b2da uxtb r2, r3 806d89c: f507 733b add.w r3, r7, #748 ; 0x2ec 806d8a0: 711a strb r2, [r3, #4] str[5] = '.'; 806d8a2: f507 733b add.w r3, r7, #748 ; 0x2ec 806d8a6: 222e movs r2, #46 ; 0x2e 806d8a8: 715a strb r2, [r3, #5] str[6] = (Year / 10) + 48; 806d8aa: f8d7 342c ldr.w r3, [r7, #1068] ; 0x42c 806d8ae: 4aa5 ldr r2, [pc, #660] ; (806db44 ) 806d8b0: fba2 2303 umull r2, r3, r2, r3 806d8b4: 08db lsrs r3, r3, #3 806d8b6: b2db uxtb r3, r3 806d8b8: 3330 adds r3, #48 ; 0x30 806d8ba: b2da uxtb r2, r3 806d8bc: f507 733b add.w r3, r7, #748 ; 0x2ec 806d8c0: 719a strb r2, [r3, #6] str[7] = (Year % 10) + 48; 806d8c2: f8d7 142c ldr.w r1, [r7, #1068] ; 0x42c 806d8c6: 4b9f ldr r3, [pc, #636] ; (806db44 ) 806d8c8: fba3 2301 umull r2, r3, r3, r1 806d8cc: 08da lsrs r2, r3, #3 806d8ce: 4613 mov r3, r2 806d8d0: 009b lsls r3, r3, #2 806d8d2: 4413 add r3, r2 806d8d4: 005b lsls r3, r3, #1 806d8d6: 1aca subs r2, r1, r3 806d8d8: b2d3 uxtb r3, r2 806d8da: 3330 adds r3, #48 ; 0x30 806d8dc: b2da uxtb r2, r3 806d8de: f507 733b add.w r3, r7, #748 ; 0x2ec 806d8e2: 71da strb r2, [r3, #7] BSP_LCD_DisplayStringAt(80, 220, str, CENTER_MODE); 806d8e4: f507 723b add.w r2, r7, #748 ; 0x2ec 806d8e8: 2301 movs r3, #1 806d8ea: 21dc movs r1, #220 ; 0xdc 806d8ec: 2050 movs r0, #80 ; 0x50 806d8ee: f7e6 f823 bl 8053938 memset(str, 0, sizeof(str)); 806d8f2: f507 733b add.w r3, r7, #748 ; 0x2ec 806d8f6: 223c movs r2, #60 ; 0x3c 806d8f8: 2100 movs r1, #0 806d8fa: 4618 mov r0, r3 806d8fc: f05f fba4 bl 80cd048 str[0] = (Hour / 10) + 48; 806d900: f8d7 3420 ldr.w r3, [r7, #1056] ; 0x420 806d904: 4a8f ldr r2, [pc, #572] ; (806db44 ) 806d906: fba2 2303 umull r2, r3, r2, r3 806d90a: 08db lsrs r3, r3, #3 806d90c: b2db uxtb r3, r3 806d90e: 3330 adds r3, #48 ; 0x30 806d910: b2da uxtb r2, r3 806d912: f507 733b add.w r3, r7, #748 ; 0x2ec 806d916: 701a strb r2, [r3, #0] str[1] = (Hour % 10) + 48; 806d918: f8d7 1420 ldr.w r1, [r7, #1056] ; 0x420 806d91c: 4b89 ldr r3, [pc, #548] ; (806db44 ) 806d91e: fba3 2301 umull r2, r3, r3, r1 806d922: 08da lsrs r2, r3, #3 806d924: 4613 mov r3, r2 806d926: 009b lsls r3, r3, #2 806d928: 4413 add r3, r2 806d92a: 005b lsls r3, r3, #1 806d92c: 1aca subs r2, r1, r3 806d92e: b2d3 uxtb r3, r2 806d930: 3330 adds r3, #48 ; 0x30 806d932: b2da uxtb r2, r3 806d934: f507 733b add.w r3, r7, #748 ; 0x2ec 806d938: 705a strb r2, [r3, #1] str[2] = ':'; 806d93a: f507 733b add.w r3, r7, #748 ; 0x2ec 806d93e: 223a movs r2, #58 ; 0x3a 806d940: 709a strb r2, [r3, #2] str[3] = (Min / 10) + 48; 806d942: f8d7 341c ldr.w r3, [r7, #1052] ; 0x41c 806d946: 4a7f ldr r2, [pc, #508] ; (806db44 ) 806d948: fba2 2303 umull r2, r3, r2, r3 806d94c: 08db lsrs r3, r3, #3 806d94e: b2db uxtb r3, r3 806d950: 3330 adds r3, #48 ; 0x30 806d952: b2da uxtb r2, r3 806d954: f507 733b add.w r3, r7, #748 ; 0x2ec 806d958: 70da strb r2, [r3, #3] str[4] = (Min % 10) + 48; 806d95a: f8d7 141c ldr.w r1, [r7, #1052] ; 0x41c 806d95e: 4b79 ldr r3, [pc, #484] ; (806db44 ) 806d960: fba3 2301 umull r2, r3, r3, r1 806d964: 08da lsrs r2, r3, #3 806d966: 4613 mov r3, r2 806d968: 009b lsls r3, r3, #2 806d96a: 4413 add r3, r2 806d96c: 005b lsls r3, r3, #1 806d96e: 1aca subs r2, r1, r3 806d970: b2d3 uxtb r3, r2 806d972: 3330 adds r3, #48 ; 0x30 806d974: b2da uxtb r2, r3 806d976: f507 733b add.w r3, r7, #748 ; 0x2ec 806d97a: 711a strb r2, [r3, #4] str[5] = ':'; 806d97c: f507 733b add.w r3, r7, #748 ; 0x2ec 806d980: 223a movs r2, #58 ; 0x3a 806d982: 715a strb r2, [r3, #5] str[6] = (Sec / 10) + 48; 806d984: f8d7 3418 ldr.w r3, [r7, #1048] ; 0x418 806d988: 4a6e ldr r2, [pc, #440] ; (806db44 ) 806d98a: fba2 2303 umull r2, r3, r2, r3 806d98e: 08db lsrs r3, r3, #3 806d990: b2db uxtb r3, r3 806d992: 3330 adds r3, #48 ; 0x30 806d994: b2da uxtb r2, r3 806d996: f507 733b add.w r3, r7, #748 ; 0x2ec 806d99a: 719a strb r2, [r3, #6] str[7] = (Sec % 10) + 48; 806d99c: f8d7 1418 ldr.w r1, [r7, #1048] ; 0x418 806d9a0: 4b68 ldr r3, [pc, #416] ; (806db44 ) 806d9a2: fba3 2301 umull r2, r3, r3, r1 806d9a6: 08da lsrs r2, r3, #3 806d9a8: 4613 mov r3, r2 806d9aa: 009b lsls r3, r3, #2 806d9ac: 4413 add r3, r2 806d9ae: 005b lsls r3, r3, #1 806d9b0: 1aca subs r2, r1, r3 806d9b2: b2d3 uxtb r3, r2 806d9b4: 3330 adds r3, #48 ; 0x30 806d9b6: b2da uxtb r2, r3 806d9b8: f507 733b add.w r3, r7, #748 ; 0x2ec 806d9bc: 71da strb r2, [r3, #7] BSP_LCD_DisplayStringAt(80, 228, str, CENTER_MODE); 806d9be: f507 723b add.w r2, r7, #748 ; 0x2ec 806d9c2: 2301 movs r3, #1 806d9c4: 21e4 movs r1, #228 ; 0xe4 806d9c6: 2050 movs r0, #80 ; 0x50 806d9c8: f7e5 ffb6 bl 8053938 f = (float32_t) l / 2; 806d9cc: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806d9d0: ee07 3a90 vmov s15, r3 806d9d4: eeb8 7a67 vcvt.f32.u32 s14, s15 806d9d8: eef0 6a00 vmov.f32 s13, #0 ; 0x40000000 2.0 806d9dc: eec7 7a26 vdiv.f32 s15, s14, s13 806d9e0: f507 638b add.w r3, r7, #1112 ; 0x458 806d9e4: edc3 7a00 vstr s15, [r3] i = (uint32_t) (f + 0.5f); 806d9e8: f507 638b add.w r3, r7, #1112 ; 0x458 806d9ec: edd3 7a00 vldr s15, [r3] 806d9f0: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 806d9f4: ee77 7a87 vadd.f32 s15, s15, s14 806d9f8: eefc 7ae7 vcvt.u32.f32 s15, s15 806d9fc: ee17 3a90 vmov r3, s15 806da00: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 k = CmplxA_u32(i); 806da04: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806da08: 009a lsls r2, r3, #2 806da0a: 4b4d ldr r3, [pc, #308] ; (806db40 ) 806da0c: 4413 add r3, r2 806da0e: 681b ldr r3, [r3, #0] 806da10: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 Year = (k >> 25) - 20; 806da14: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806da18: 0e5b lsrs r3, r3, #25 806da1a: 3b14 subs r3, #20 806da1c: f8c7 342c str.w r3, [r7, #1068] ; 0x42c Month = (k >> 21) & 0xf; 806da20: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806da24: 0d5b lsrs r3, r3, #21 806da26: f003 030f and.w r3, r3, #15 806da2a: f8c7 3428 str.w r3, [r7, #1064] ; 0x428 Day = (k >> 16) & 0x1f; 806da2e: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806da32: 0c1b lsrs r3, r3, #16 806da34: f003 031f and.w r3, r3, #31 806da38: f8c7 3424 str.w r3, [r7, #1060] ; 0x424 Hour = (k >> 11) & 0x1f; 806da3c: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806da40: 0adb lsrs r3, r3, #11 806da42: f003 031f and.w r3, r3, #31 806da46: f8c7 3420 str.w r3, [r7, #1056] ; 0x420 Min = (k >> 5) & 0x3f; 806da4a: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806da4e: 095b lsrs r3, r3, #5 806da50: f003 033f and.w r3, r3, #63 ; 0x3f 806da54: f8c7 341c str.w r3, [r7, #1052] ; 0x41c Sec = ((k << 1) & 0x1f) + 1; 806da58: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806da5c: 005b lsls r3, r3, #1 806da5e: f003 031f and.w r3, r3, #31 806da62: 3301 adds r3, #1 806da64: f8c7 3418 str.w r3, [r7, #1048] ; 0x418 memset(str, 0, sizeof(str)); 806da68: f507 733b add.w r3, r7, #748 ; 0x2ec 806da6c: 223c movs r2, #60 ; 0x3c 806da6e: 2100 movs r1, #0 806da70: 4618 mov r0, r3 806da72: f05f fae9 bl 80cd048 str[0] = (Day / 10) + 48; 806da76: f8d7 3424 ldr.w r3, [r7, #1060] ; 0x424 806da7a: 4a32 ldr r2, [pc, #200] ; (806db44 ) 806da7c: fba2 2303 umull r2, r3, r2, r3 806da80: 08db lsrs r3, r3, #3 806da82: b2db uxtb r3, r3 806da84: 3330 adds r3, #48 ; 0x30 806da86: b2da uxtb r2, r3 806da88: f507 733b add.w r3, r7, #748 ; 0x2ec 806da8c: 701a strb r2, [r3, #0] str[1] = (Day % 10) + 48; 806da8e: f8d7 1424 ldr.w r1, [r7, #1060] ; 0x424 806da92: 4b2c ldr r3, [pc, #176] ; (806db44 ) 806da94: fba3 2301 umull r2, r3, r3, r1 806da98: 08da lsrs r2, r3, #3 806da9a: 4613 mov r3, r2 806da9c: 009b lsls r3, r3, #2 806da9e: 4413 add r3, r2 806daa0: 005b lsls r3, r3, #1 806daa2: 1aca subs r2, r1, r3 806daa4: b2d3 uxtb r3, r2 806daa6: 3330 adds r3, #48 ; 0x30 806daa8: b2da uxtb r2, r3 806daaa: f507 733b add.w r3, r7, #748 ; 0x2ec 806daae: 705a strb r2, [r3, #1] str[2] = '.'; 806dab0: f507 733b add.w r3, r7, #748 ; 0x2ec 806dab4: 222e movs r2, #46 ; 0x2e 806dab6: 709a strb r2, [r3, #2] str[3] = (Month / 10) + 48; 806dab8: f8d7 3428 ldr.w r3, [r7, #1064] ; 0x428 806dabc: 4a21 ldr r2, [pc, #132] ; (806db44 ) 806dabe: fba2 2303 umull r2, r3, r2, r3 806dac2: 08db lsrs r3, r3, #3 806dac4: b2db uxtb r3, r3 806dac6: 3330 adds r3, #48 ; 0x30 806dac8: b2da uxtb r2, r3 806daca: f507 733b add.w r3, r7, #748 ; 0x2ec 806dace: 70da strb r2, [r3, #3] str[4] = (Month % 10) + 48; 806dad0: f8d7 1428 ldr.w r1, [r7, #1064] ; 0x428 806dad4: 4b1b ldr r3, [pc, #108] ; (806db44 ) 806dad6: fba3 2301 umull r2, r3, r3, r1 806dada: 08da lsrs r2, r3, #3 806dadc: 4613 mov r3, r2 806dade: 009b lsls r3, r3, #2 806dae0: 4413 add r3, r2 806dae2: 005b lsls r3, r3, #1 806dae4: 1aca subs r2, r1, r3 806dae6: b2d3 uxtb r3, r2 806dae8: 3330 adds r3, #48 ; 0x30 806daea: b2da uxtb r2, r3 806daec: f507 733b add.w r3, r7, #748 ; 0x2ec 806daf0: 711a strb r2, [r3, #4] str[5] = '.'; 806daf2: f507 733b add.w r3, r7, #748 ; 0x2ec 806daf6: 222e movs r2, #46 ; 0x2e 806daf8: 715a strb r2, [r3, #5] str[6] = (Year / 10) + 48; 806dafa: f8d7 342c ldr.w r3, [r7, #1068] ; 0x42c 806dafe: 4a11 ldr r2, [pc, #68] ; (806db44 ) 806db00: fba2 2303 umull r2, r3, r2, r3 806db04: 08db lsrs r3, r3, #3 806db06: b2db uxtb r3, r3 806db08: 3330 adds r3, #48 ; 0x30 806db0a: b2da uxtb r2, r3 806db0c: f507 733b add.w r3, r7, #748 ; 0x2ec 806db10: 719a strb r2, [r3, #6] str[7] = (Year % 10) + 48; 806db12: f8d7 142c ldr.w r1, [r7, #1068] ; 0x42c 806db16: 4b0b ldr r3, [pc, #44] ; (806db44 ) 806db18: fba3 2301 umull r2, r3, r3, r1 806db1c: 08da lsrs r2, r3, #3 806db1e: 4613 mov r3, r2 806db20: 009b lsls r3, r3, #2 806db22: 4413 add r3, r2 806db24: 005b lsls r3, r3, #1 806db26: 1aca subs r2, r1, r3 806db28: b2d3 uxtb r3, r2 806db2a: 3330 adds r3, #48 ; 0x30 806db2c: b2da uxtb r2, r3 806db2e: f507 733b add.w r3, r7, #748 ; 0x2ec 806db32: 71da strb r2, [r3, #7] BSP_LCD_DisplayStringAt(190, 220, str, CENTER_MODE); 806db34: f507 723b add.w r2, r7, #748 ; 0x2ec 806db38: 2301 movs r3, #1 806db3a: 21dc movs r1, #220 ; 0xdc 806db3c: e004 b.n 806db48 806db3e: bf00 nop 806db40: 64090000 .word 0x64090000 806db44: cccccccd .word 0xcccccccd 806db48: 20be movs r0, #190 ; 0xbe 806db4a: f7e5 fef5 bl 8053938 memset(str, 0, sizeof(str)); 806db4e: f507 733b add.w r3, r7, #748 ; 0x2ec 806db52: 223c movs r2, #60 ; 0x3c 806db54: 2100 movs r1, #0 806db56: 4618 mov r0, r3 806db58: f05f fa76 bl 80cd048 str[0] = (Hour / 10) + 48; 806db5c: f8d7 3420 ldr.w r3, [r7, #1056] ; 0x420 806db60: 4abd ldr r2, [pc, #756] ; (806de58 ) 806db62: fba2 2303 umull r2, r3, r2, r3 806db66: 08db lsrs r3, r3, #3 806db68: b2db uxtb r3, r3 806db6a: 3330 adds r3, #48 ; 0x30 806db6c: b2da uxtb r2, r3 806db6e: f507 733b add.w r3, r7, #748 ; 0x2ec 806db72: 701a strb r2, [r3, #0] str[1] = (Hour % 10) + 48; 806db74: f8d7 1420 ldr.w r1, [r7, #1056] ; 0x420 806db78: 4bb7 ldr r3, [pc, #732] ; (806de58 ) 806db7a: fba3 2301 umull r2, r3, r3, r1 806db7e: 08da lsrs r2, r3, #3 806db80: 4613 mov r3, r2 806db82: 009b lsls r3, r3, #2 806db84: 4413 add r3, r2 806db86: 005b lsls r3, r3, #1 806db88: 1aca subs r2, r1, r3 806db8a: b2d3 uxtb r3, r2 806db8c: 3330 adds r3, #48 ; 0x30 806db8e: b2da uxtb r2, r3 806db90: f507 733b add.w r3, r7, #748 ; 0x2ec 806db94: 705a strb r2, [r3, #1] str[2] = ':'; 806db96: f507 733b add.w r3, r7, #748 ; 0x2ec 806db9a: 223a movs r2, #58 ; 0x3a 806db9c: 709a strb r2, [r3, #2] str[3] = (Min / 10) + 48; 806db9e: f8d7 341c ldr.w r3, [r7, #1052] ; 0x41c 806dba2: 4aad ldr r2, [pc, #692] ; (806de58 ) 806dba4: fba2 2303 umull r2, r3, r2, r3 806dba8: 08db lsrs r3, r3, #3 806dbaa: b2db uxtb r3, r3 806dbac: 3330 adds r3, #48 ; 0x30 806dbae: b2da uxtb r2, r3 806dbb0: f507 733b add.w r3, r7, #748 ; 0x2ec 806dbb4: 70da strb r2, [r3, #3] str[4] = (Min % 10) + 48; 806dbb6: f8d7 141c ldr.w r1, [r7, #1052] ; 0x41c 806dbba: 4ba7 ldr r3, [pc, #668] ; (806de58 ) 806dbbc: fba3 2301 umull r2, r3, r3, r1 806dbc0: 08da lsrs r2, r3, #3 806dbc2: 4613 mov r3, r2 806dbc4: 009b lsls r3, r3, #2 806dbc6: 4413 add r3, r2 806dbc8: 005b lsls r3, r3, #1 806dbca: 1aca subs r2, r1, r3 806dbcc: b2d3 uxtb r3, r2 806dbce: 3330 adds r3, #48 ; 0x30 806dbd0: b2da uxtb r2, r3 806dbd2: f507 733b add.w r3, r7, #748 ; 0x2ec 806dbd6: 711a strb r2, [r3, #4] str[5] = ':'; 806dbd8: f507 733b add.w r3, r7, #748 ; 0x2ec 806dbdc: 223a movs r2, #58 ; 0x3a 806dbde: 715a strb r2, [r3, #5] str[6] = (Sec / 10) + 48; 806dbe0: f8d7 3418 ldr.w r3, [r7, #1048] ; 0x418 806dbe4: 4a9c ldr r2, [pc, #624] ; (806de58 ) 806dbe6: fba2 2303 umull r2, r3, r2, r3 806dbea: 08db lsrs r3, r3, #3 806dbec: b2db uxtb r3, r3 806dbee: 3330 adds r3, #48 ; 0x30 806dbf0: b2da uxtb r2, r3 806dbf2: f507 733b add.w r3, r7, #748 ; 0x2ec 806dbf6: 719a strb r2, [r3, #6] str[7] = (Sec % 10) + 48; 806dbf8: f8d7 1418 ldr.w r1, [r7, #1048] ; 0x418 806dbfc: 4b96 ldr r3, [pc, #600] ; (806de58 ) 806dbfe: fba3 2301 umull r2, r3, r3, r1 806dc02: 08da lsrs r2, r3, #3 806dc04: 4613 mov r3, r2 806dc06: 009b lsls r3, r3, #2 806dc08: 4413 add r3, r2 806dc0a: 005b lsls r3, r3, #1 806dc0c: 1aca subs r2, r1, r3 806dc0e: b2d3 uxtb r3, r2 806dc10: 3330 adds r3, #48 ; 0x30 806dc12: b2da uxtb r2, r3 806dc14: f507 733b add.w r3, r7, #748 ; 0x2ec 806dc18: 71da strb r2, [r3, #7] BSP_LCD_DisplayStringAt(190, 228, str, CENTER_MODE); 806dc1a: f507 723b add.w r2, r7, #748 ; 0x2ec 806dc1e: 2301 movs r3, #1 806dc20: 21e4 movs r1, #228 ; 0xe4 806dc22: 20be movs r0, #190 ; 0xbe 806dc24: f7e5 fe88 bl 8053938 k = CmplxA_u32(l - 1); 806dc28: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806dc2c: 3b01 subs r3, #1 806dc2e: 009a lsls r2, r3, #2 806dc30: 4b8a ldr r3, [pc, #552] ; (806de5c ) 806dc32: 4413 add r3, r2 806dc34: 681b ldr r3, [r3, #0] 806dc36: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 Year = (k >> 25) - 20; 806dc3a: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806dc3e: 0e5b lsrs r3, r3, #25 806dc40: 3b14 subs r3, #20 806dc42: f8c7 342c str.w r3, [r7, #1068] ; 0x42c Month = (k >> 21) & 0xf; 806dc46: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806dc4a: 0d5b lsrs r3, r3, #21 806dc4c: f003 030f and.w r3, r3, #15 806dc50: f8c7 3428 str.w r3, [r7, #1064] ; 0x428 Day = (k >> 16) & 0x1f; 806dc54: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806dc58: 0c1b lsrs r3, r3, #16 806dc5a: f003 031f and.w r3, r3, #31 806dc5e: f8c7 3424 str.w r3, [r7, #1060] ; 0x424 Hour = (k >> 11) & 0x1f; 806dc62: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806dc66: 0adb lsrs r3, r3, #11 806dc68: f003 031f and.w r3, r3, #31 806dc6c: f8c7 3420 str.w r3, [r7, #1056] ; 0x420 Min = (k >> 5) & 0x3f; 806dc70: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806dc74: 095b lsrs r3, r3, #5 806dc76: f003 033f and.w r3, r3, #63 ; 0x3f 806dc7a: f8c7 341c str.w r3, [r7, #1052] ; 0x41c Sec = ((k << 1) & 0x1f) + 1; 806dc7e: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806dc82: 005b lsls r3, r3, #1 806dc84: f003 031f and.w r3, r3, #31 806dc88: 3301 adds r3, #1 806dc8a: f8c7 3418 str.w r3, [r7, #1048] ; 0x418 memset(str, 0, sizeof(str)); 806dc8e: f507 733b add.w r3, r7, #748 ; 0x2ec 806dc92: 223c movs r2, #60 ; 0x3c 806dc94: 2100 movs r1, #0 806dc96: 4618 mov r0, r3 806dc98: f05f f9d6 bl 80cd048 str[0] = (Day / 10) + 48; 806dc9c: f8d7 3424 ldr.w r3, [r7, #1060] ; 0x424 806dca0: 4a6d ldr r2, [pc, #436] ; (806de58 ) 806dca2: fba2 2303 umull r2, r3, r2, r3 806dca6: 08db lsrs r3, r3, #3 806dca8: b2db uxtb r3, r3 806dcaa: 3330 adds r3, #48 ; 0x30 806dcac: b2da uxtb r2, r3 806dcae: f507 733b add.w r3, r7, #748 ; 0x2ec 806dcb2: 701a strb r2, [r3, #0] str[1] = (Day % 10) + 48; 806dcb4: f8d7 1424 ldr.w r1, [r7, #1060] ; 0x424 806dcb8: 4b67 ldr r3, [pc, #412] ; (806de58 ) 806dcba: fba3 2301 umull r2, r3, r3, r1 806dcbe: 08da lsrs r2, r3, #3 806dcc0: 4613 mov r3, r2 806dcc2: 009b lsls r3, r3, #2 806dcc4: 4413 add r3, r2 806dcc6: 005b lsls r3, r3, #1 806dcc8: 1aca subs r2, r1, r3 806dcca: b2d3 uxtb r3, r2 806dccc: 3330 adds r3, #48 ; 0x30 806dcce: b2da uxtb r2, r3 806dcd0: f507 733b add.w r3, r7, #748 ; 0x2ec 806dcd4: 705a strb r2, [r3, #1] str[2] = '.'; 806dcd6: f507 733b add.w r3, r7, #748 ; 0x2ec 806dcda: 222e movs r2, #46 ; 0x2e 806dcdc: 709a strb r2, [r3, #2] str[3] = (Month / 10) + 48; 806dcde: f8d7 3428 ldr.w r3, [r7, #1064] ; 0x428 806dce2: 4a5d ldr r2, [pc, #372] ; (806de58 ) 806dce4: fba2 2303 umull r2, r3, r2, r3 806dce8: 08db lsrs r3, r3, #3 806dcea: b2db uxtb r3, r3 806dcec: 3330 adds r3, #48 ; 0x30 806dcee: b2da uxtb r2, r3 806dcf0: f507 733b add.w r3, r7, #748 ; 0x2ec 806dcf4: 70da strb r2, [r3, #3] str[4] = (Month % 10) + 48; 806dcf6: f8d7 1428 ldr.w r1, [r7, #1064] ; 0x428 806dcfa: 4b57 ldr r3, [pc, #348] ; (806de58 ) 806dcfc: fba3 2301 umull r2, r3, r3, r1 806dd00: 08da lsrs r2, r3, #3 806dd02: 4613 mov r3, r2 806dd04: 009b lsls r3, r3, #2 806dd06: 4413 add r3, r2 806dd08: 005b lsls r3, r3, #1 806dd0a: 1aca subs r2, r1, r3 806dd0c: b2d3 uxtb r3, r2 806dd0e: 3330 adds r3, #48 ; 0x30 806dd10: b2da uxtb r2, r3 806dd12: f507 733b add.w r3, r7, #748 ; 0x2ec 806dd16: 711a strb r2, [r3, #4] str[5] = '.'; 806dd18: f507 733b add.w r3, r7, #748 ; 0x2ec 806dd1c: 222e movs r2, #46 ; 0x2e 806dd1e: 715a strb r2, [r3, #5] str[6] = (Year / 10) + 48; 806dd20: f8d7 342c ldr.w r3, [r7, #1068] ; 0x42c 806dd24: 4a4c ldr r2, [pc, #304] ; (806de58 ) 806dd26: fba2 2303 umull r2, r3, r2, r3 806dd2a: 08db lsrs r3, r3, #3 806dd2c: b2db uxtb r3, r3 806dd2e: 3330 adds r3, #48 ; 0x30 806dd30: b2da uxtb r2, r3 806dd32: f507 733b add.w r3, r7, #748 ; 0x2ec 806dd36: 719a strb r2, [r3, #6] str[7] = (Year % 10) + 48; 806dd38: f8d7 142c ldr.w r1, [r7, #1068] ; 0x42c 806dd3c: 4b46 ldr r3, [pc, #280] ; (806de58 ) 806dd3e: fba3 2301 umull r2, r3, r3, r1 806dd42: 08da lsrs r2, r3, #3 806dd44: 4613 mov r3, r2 806dd46: 009b lsls r3, r3, #2 806dd48: 4413 add r3, r2 806dd4a: 005b lsls r3, r3, #1 806dd4c: 1aca subs r2, r1, r3 806dd4e: b2d3 uxtb r3, r2 806dd50: 3330 adds r3, #48 ; 0x30 806dd52: b2da uxtb r2, r3 806dd54: f507 733b add.w r3, r7, #748 ; 0x2ec 806dd58: 71da strb r2, [r3, #7] BSP_LCD_DisplayStringAt(298, 220, str, CENTER_MODE); 806dd5a: f507 723b add.w r2, r7, #748 ; 0x2ec 806dd5e: 2301 movs r3, #1 806dd60: 21dc movs r1, #220 ; 0xdc 806dd62: f44f 7095 mov.w r0, #298 ; 0x12a 806dd66: f7e5 fde7 bl 8053938 memset(str, 0, sizeof(str)); 806dd6a: f507 733b add.w r3, r7, #748 ; 0x2ec 806dd6e: 223c movs r2, #60 ; 0x3c 806dd70: 2100 movs r1, #0 806dd72: 4618 mov r0, r3 806dd74: f05f f968 bl 80cd048 str[0] = (Hour / 10) + 48; 806dd78: f8d7 3420 ldr.w r3, [r7, #1056] ; 0x420 806dd7c: 4a36 ldr r2, [pc, #216] ; (806de58 ) 806dd7e: fba2 2303 umull r2, r3, r2, r3 806dd82: 08db lsrs r3, r3, #3 806dd84: b2db uxtb r3, r3 806dd86: 3330 adds r3, #48 ; 0x30 806dd88: b2da uxtb r2, r3 806dd8a: f507 733b add.w r3, r7, #748 ; 0x2ec 806dd8e: 701a strb r2, [r3, #0] str[1] = (Hour % 10) + 48; 806dd90: f8d7 1420 ldr.w r1, [r7, #1056] ; 0x420 806dd94: 4b30 ldr r3, [pc, #192] ; (806de58 ) 806dd96: fba3 2301 umull r2, r3, r3, r1 806dd9a: 08da lsrs r2, r3, #3 806dd9c: 4613 mov r3, r2 806dd9e: 009b lsls r3, r3, #2 806dda0: 4413 add r3, r2 806dda2: 005b lsls r3, r3, #1 806dda4: 1aca subs r2, r1, r3 806dda6: b2d3 uxtb r3, r2 806dda8: 3330 adds r3, #48 ; 0x30 806ddaa: b2da uxtb r2, r3 806ddac: f507 733b add.w r3, r7, #748 ; 0x2ec 806ddb0: 705a strb r2, [r3, #1] str[2] = ':'; 806ddb2: f507 733b add.w r3, r7, #748 ; 0x2ec 806ddb6: 223a movs r2, #58 ; 0x3a 806ddb8: 709a strb r2, [r3, #2] str[3] = (Min / 10) + 48; 806ddba: f8d7 341c ldr.w r3, [r7, #1052] ; 0x41c 806ddbe: 4a26 ldr r2, [pc, #152] ; (806de58 ) 806ddc0: fba2 2303 umull r2, r3, r2, r3 806ddc4: 08db lsrs r3, r3, #3 806ddc6: b2db uxtb r3, r3 806ddc8: 3330 adds r3, #48 ; 0x30 806ddca: b2da uxtb r2, r3 806ddcc: f507 733b add.w r3, r7, #748 ; 0x2ec 806ddd0: 70da strb r2, [r3, #3] str[4] = (Min % 10) + 48; 806ddd2: f8d7 141c ldr.w r1, [r7, #1052] ; 0x41c 806ddd6: 4b20 ldr r3, [pc, #128] ; (806de58 ) 806ddd8: fba3 2301 umull r2, r3, r3, r1 806dddc: 08da lsrs r2, r3, #3 806ddde: 4613 mov r3, r2 806dde0: 009b lsls r3, r3, #2 806dde2: 4413 add r3, r2 806dde4: 005b lsls r3, r3, #1 806dde6: 1aca subs r2, r1, r3 806dde8: b2d3 uxtb r3, r2 806ddea: 3330 adds r3, #48 ; 0x30 806ddec: b2da uxtb r2, r3 806ddee: f507 733b add.w r3, r7, #748 ; 0x2ec 806ddf2: 711a strb r2, [r3, #4] str[5] = ':'; 806ddf4: f507 733b add.w r3, r7, #748 ; 0x2ec 806ddf8: 223a movs r2, #58 ; 0x3a 806ddfa: 715a strb r2, [r3, #5] str[6] = (Sec / 10) + 48; 806ddfc: f8d7 3418 ldr.w r3, [r7, #1048] ; 0x418 806de00: 4a15 ldr r2, [pc, #84] ; (806de58 ) 806de02: fba2 2303 umull r2, r3, r2, r3 806de06: 08db lsrs r3, r3, #3 806de08: b2db uxtb r3, r3 806de0a: 3330 adds r3, #48 ; 0x30 806de0c: b2da uxtb r2, r3 806de0e: f507 733b add.w r3, r7, #748 ; 0x2ec 806de12: 719a strb r2, [r3, #6] str[7] = (Sec % 10) + 48; 806de14: f8d7 1418 ldr.w r1, [r7, #1048] ; 0x418 806de18: 4b0f ldr r3, [pc, #60] ; (806de58 ) 806de1a: fba3 2301 umull r2, r3, r3, r1 806de1e: 08da lsrs r2, r3, #3 806de20: 4613 mov r3, r2 806de22: 009b lsls r3, r3, #2 806de24: 4413 add r3, r2 806de26: 005b lsls r3, r3, #1 806de28: 1aca subs r2, r1, r3 806de2a: b2d3 uxtb r3, r2 806de2c: 3330 adds r3, #48 ; 0x30 806de2e: b2da uxtb r2, r3 806de30: f507 733b add.w r3, r7, #748 ; 0x2ec 806de34: 71da strb r2, [r3, #7] BSP_LCD_DisplayStringAt(298, 228, str, CENTER_MODE); 806de36: f507 723b add.w r2, r7, #748 ; 0x2ec 806de3a: 2301 movs r3, #1 806de3c: 21e4 movs r1, #228 ; 0xe4 806de3e: f44f 7095 mov.w r0, #298 ; 0x12a 806de42: f7e5 fd79 bl 8053938 } LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 806de46: 4906 ldr r1, [pc, #24] ; (806de60 ) 806de48: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 806de4c: f7e5 fcae bl 80537ac for(i = 0; i < l; i++) 806de50: 2300 movs r3, #0 806de52: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806de56: e3f0 b.n 806e63a 806de58: cccccccd .word 0xcccccccd 806de5c: 64090000 .word 0x64090000 806de60: ff0a0f1f .word 0xff0a0f1f { f = ScrA_f32(i); 806de64: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806de68: 009a lsls r2, r3, #2 806de6a: 4bd8 ldr r3, [pc, #864] ; (806e1cc ) 806de6c: 4413 add r3, r2 806de6e: 681b ldr r3, [r3, #0] 806de70: f507 628b add.w r2, r7, #1112 ; 0x458 806de74: 6013 str r3, [r2, #0] if(fmax <= 15.0f) ///////// 806de76: f207 434c addw r3, r7, #1100 ; 0x44c 806de7a: edd3 7a00 vldr s15, [r3] 806de7e: eeb2 7a0e vmov.f32 s14, #46 ; 0x41700000 15.0 806de82: eef4 7ac7 vcmpe.f32 s15, s14 806de86: eef1 fa10 vmrs APSR_nzcv, fpscr 806de8a: f200 80c9 bhi.w 806e020 { if(f < 0.0f) 806de8e: f507 638b add.w r3, r7, #1112 ; 0x458 806de92: edd3 7a00 vldr s15, [r3] 806de96: eef5 7ac0 vcmpe.f32 s15, #0.0 806de9a: eef1 fa10 vmrs APSR_nzcv, fpscr 806de9e: d521 bpl.n 806dee4 { f = (25 * f / 5.0f) + 0.5f; 806dea0: f507 638b add.w r3, r7, #1112 ; 0x458 806dea4: edd3 7a00 vldr s15, [r3] 806dea8: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 806deac: ee27 7a87 vmul.f32 s14, s15, s14 806deb0: eef1 6a04 vmov.f32 s13, #20 ; 0x40a00000 5.0 806deb4: eec7 7a26 vdiv.f32 s15, s14, s13 806deb8: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 806debc: ee77 7a87 vadd.f32 s15, s15, s14 806dec0: f507 638b add.w r3, r7, #1112 ; 0x458 806dec4: edc3 7a00 vstr s15, [r3] y = y2 - (int32_t) f; 806dec8: f8b7 3438 ldrh.w r3, [r7, #1080] ; 0x438 806decc: f507 628b add.w r2, r7, #1112 ; 0x458 806ded0: edd2 7a00 vldr s15, [r2] 806ded4: eefd 7ae7 vcvt.s32.f32 s15, s15 806ded8: ee17 2a90 vmov r2, s15 806dedc: 1a9b subs r3, r3, r2 806dede: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 806dee2: e331 b.n 806e548 } else if(f == 0.0f) 806dee4: f507 638b add.w r3, r7, #1112 ; 0x458 806dee8: edd3 7a00 vldr s15, [r3] 806deec: eef5 7a40 vcmp.f32 s15, #0.0 806def0: eef1 fa10 vmrs APSR_nzcv, fpscr 806def4: d104 bne.n 806df00 { y = y2; 806def6: f8b7 3438 ldrh.w r3, [r7, #1080] ; 0x438 806defa: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 806defe: e323 b.n 806e548 } else if(f <= 5.0f) 806df00: f507 638b add.w r3, r7, #1112 ; 0x458 806df04: edd3 7a00 vldr s15, [r3] 806df08: eeb1 7a04 vmov.f32 s14, #20 ; 0x40a00000 5.0 806df0c: eef4 7ac7 vcmpe.f32 s15, s14 806df10: eef1 fa10 vmrs APSR_nzcv, fpscr 806df14: d821 bhi.n 806df5a { f = (25 * f / 5.0f) + 0.5f; 806df16: f507 638b add.w r3, r7, #1112 ; 0x458 806df1a: edd3 7a00 vldr s15, [r3] 806df1e: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 806df22: ee27 7a87 vmul.f32 s14, s15, s14 806df26: eef1 6a04 vmov.f32 s13, #20 ; 0x40a00000 5.0 806df2a: eec7 7a26 vdiv.f32 s15, s14, s13 806df2e: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 806df32: ee77 7a87 vadd.f32 s15, s15, s14 806df36: f507 638b add.w r3, r7, #1112 ; 0x458 806df3a: edc3 7a00 vstr s15, [r3] y = y2 - (int32_t) f; 806df3e: f8b7 3438 ldrh.w r3, [r7, #1080] ; 0x438 806df42: f507 628b add.w r2, r7, #1112 ; 0x458 806df46: edd2 7a00 vldr s15, [r2] 806df4a: eefd 7ae7 vcvt.s32.f32 s15, s15 806df4e: ee17 2a90 vmov r2, s15 806df52: 1a9b subs r3, r3, r2 806df54: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 806df58: e2f6 b.n 806e548 } else if(f <= 10.0f) 806df5a: f507 638b add.w r3, r7, #1112 ; 0x458 806df5e: edd3 7a00 vldr s15, [r3] 806df62: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 806df66: eef4 7ac7 vcmpe.f32 s15, s14 806df6a: eef1 fa10 vmrs APSR_nzcv, fpscr 806df6e: d825 bhi.n 806dfbc { f = (25 * (f - 5.0f) / 5.0f) + 0.5f; 806df70: f507 638b add.w r3, r7, #1112 ; 0x458 806df74: edd3 7a00 vldr s15, [r3] 806df78: eeb1 7a04 vmov.f32 s14, #20 ; 0x40a00000 5.0 806df7c: ee77 7ac7 vsub.f32 s15, s15, s14 806df80: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 806df84: ee27 7a87 vmul.f32 s14, s15, s14 806df88: eef1 6a04 vmov.f32 s13, #20 ; 0x40a00000 5.0 806df8c: eec7 7a26 vdiv.f32 s15, s14, s13 806df90: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 806df94: ee77 7a87 vadd.f32 s15, s15, s14 806df98: f507 638b add.w r3, r7, #1112 ; 0x458 806df9c: edc3 7a00 vstr s15, [r3] y = y3 - (int32_t) f; 806dfa0: f8b7 3436 ldrh.w r3, [r7, #1078] ; 0x436 806dfa4: f507 628b add.w r2, r7, #1112 ; 0x458 806dfa8: edd2 7a00 vldr s15, [r2] 806dfac: eefd 7ae7 vcvt.s32.f32 s15, s15 806dfb0: ee17 2a90 vmov r2, s15 806dfb4: 1a9b subs r3, r3, r2 806dfb6: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 806dfba: e2c5 b.n 806e548 } else if(f <= 15.0f) 806dfbc: f507 638b add.w r3, r7, #1112 ; 0x458 806dfc0: edd3 7a00 vldr s15, [r3] 806dfc4: eeb2 7a0e vmov.f32 s14, #46 ; 0x41700000 15.0 806dfc8: eef4 7ac7 vcmpe.f32 s15, s14 806dfcc: eef1 fa10 vmrs APSR_nzcv, fpscr 806dfd0: f200 82ba bhi.w 806e548 { f = (25 * (f - 10.0f) / 5.0f) + 0.5f; 806dfd4: f507 638b add.w r3, r7, #1112 ; 0x458 806dfd8: edd3 7a00 vldr s15, [r3] 806dfdc: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 806dfe0: ee77 7ac7 vsub.f32 s15, s15, s14 806dfe4: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 806dfe8: ee27 7a87 vmul.f32 s14, s15, s14 806dfec: eef1 6a04 vmov.f32 s13, #20 ; 0x40a00000 5.0 806dff0: eec7 7a26 vdiv.f32 s15, s14, s13 806dff4: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 806dff8: ee77 7a87 vadd.f32 s15, s15, s14 806dffc: f507 638b add.w r3, r7, #1112 ; 0x458 806e000: edc3 7a00 vstr s15, [r3] y = y4 - (int32_t) f; 806e004: f8b7 3434 ldrh.w r3, [r7, #1076] ; 0x434 806e008: f507 628b add.w r2, r7, #1112 ; 0x458 806e00c: edd2 7a00 vldr s15, [r2] 806e010: eefd 7ae7 vcvt.s32.f32 s15, s15 806e014: ee17 2a90 vmov r2, s15 806e018: 1a9b subs r3, r3, r2 806e01a: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 806e01e: e293 b.n 806e548 } } else if(fmax <= 100.0f) ///////// 806e020: f207 434c addw r3, r7, #1100 ; 0x44c 806e024: edd3 7a00 vldr s15, [r3] 806e028: ed9f 7a6b vldr s14, [pc, #428] ; 806e1d8 806e02c: eef4 7ac7 vcmpe.f32 s15, s14 806e030: eef1 fa10 vmrs APSR_nzcv, fpscr 806e034: f200 80e0 bhi.w 806e1f8 { if(f < 0.0f) 806e038: f507 638b add.w r3, r7, #1112 ; 0x458 806e03c: edd3 7a00 vldr s15, [r3] 806e040: eef5 7ac0 vcmpe.f32 s15, #0.0 806e044: eef1 fa10 vmrs APSR_nzcv, fpscr 806e048: d521 bpl.n 806e08e { f = (25 * f / 5.0f) + 0.5f; 806e04a: f507 638b add.w r3, r7, #1112 ; 0x458 806e04e: edd3 7a00 vldr s15, [r3] 806e052: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 806e056: ee27 7a87 vmul.f32 s14, s15, s14 806e05a: eef1 6a04 vmov.f32 s13, #20 ; 0x40a00000 5.0 806e05e: eec7 7a26 vdiv.f32 s15, s14, s13 806e062: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 806e066: ee77 7a87 vadd.f32 s15, s15, s14 806e06a: f507 638b add.w r3, r7, #1112 ; 0x458 806e06e: edc3 7a00 vstr s15, [r3] y = y2 - (int32_t) f; 806e072: f8b7 3438 ldrh.w r3, [r7, #1080] ; 0x438 806e076: f507 628b add.w r2, r7, #1112 ; 0x458 806e07a: edd2 7a00 vldr s15, [r2] 806e07e: eefd 7ae7 vcvt.s32.f32 s15, s15 806e082: ee17 2a90 vmov r2, s15 806e086: 1a9b subs r3, r3, r2 806e088: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 806e08c: e25c b.n 806e548 } else if(f == 0.0f) 806e08e: f507 638b add.w r3, r7, #1112 ; 0x458 806e092: edd3 7a00 vldr s15, [r3] 806e096: eef5 7a40 vcmp.f32 s15, #0.0 806e09a: eef1 fa10 vmrs APSR_nzcv, fpscr 806e09e: d104 bne.n 806e0aa { y = y2; 806e0a0: f8b7 3438 ldrh.w r3, [r7, #1080] ; 0x438 806e0a4: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 806e0a8: e24e b.n 806e548 } else if(f <= 10.0f) 806e0aa: f507 638b add.w r3, r7, #1112 ; 0x458 806e0ae: edd3 7a00 vldr s15, [r3] 806e0b2: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 806e0b6: eef4 7ac7 vcmpe.f32 s15, s14 806e0ba: eef1 fa10 vmrs APSR_nzcv, fpscr 806e0be: d821 bhi.n 806e104 { f = (25 * f / 10.0f) + 0.5f; 806e0c0: f507 638b add.w r3, r7, #1112 ; 0x458 806e0c4: edd3 7a00 vldr s15, [r3] 806e0c8: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 806e0cc: ee27 7a87 vmul.f32 s14, s15, s14 806e0d0: eef2 6a04 vmov.f32 s13, #36 ; 0x41200000 10.0 806e0d4: eec7 7a26 vdiv.f32 s15, s14, s13 806e0d8: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 806e0dc: ee77 7a87 vadd.f32 s15, s15, s14 806e0e0: f507 638b add.w r3, r7, #1112 ; 0x458 806e0e4: edc3 7a00 vstr s15, [r3] y = y2 - (int32_t) f; 806e0e8: f8b7 3438 ldrh.w r3, [r7, #1080] ; 0x438 806e0ec: f507 628b add.w r2, r7, #1112 ; 0x458 806e0f0: edd2 7a00 vldr s15, [r2] 806e0f4: eefd 7ae7 vcvt.s32.f32 s15, s15 806e0f8: ee17 2a90 vmov r2, s15 806e0fc: 1a9b subs r3, r3, r2 806e0fe: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 806e102: e221 b.n 806e548 } else if(f <= 50.0f) 806e104: f507 638b add.w r3, r7, #1112 ; 0x458 806e108: edd3 7a00 vldr s15, [r3] 806e10c: ed9f 7a30 vldr s14, [pc, #192] ; 806e1d0 806e110: eef4 7ac7 vcmpe.f32 s15, s14 806e114: eef1 fa10 vmrs APSR_nzcv, fpscr 806e118: d825 bhi.n 806e166 { f = (25 * (f - 10.0f) / (50.0f - 10.0f)) + 0.5f; 806e11a: f507 638b add.w r3, r7, #1112 ; 0x458 806e11e: edd3 7a00 vldr s15, [r3] 806e122: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 806e126: ee77 7ac7 vsub.f32 s15, s15, s14 806e12a: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 806e12e: ee27 7a87 vmul.f32 s14, s15, s14 806e132: eddf 6a28 vldr s13, [pc, #160] ; 806e1d4 806e136: eec7 7a26 vdiv.f32 s15, s14, s13 806e13a: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 806e13e: ee77 7a87 vadd.f32 s15, s15, s14 806e142: f507 638b add.w r3, r7, #1112 ; 0x458 806e146: edc3 7a00 vstr s15, [r3] y = y3 - (int32_t) f; 806e14a: f8b7 3436 ldrh.w r3, [r7, #1078] ; 0x436 806e14e: f507 628b add.w r2, r7, #1112 ; 0x458 806e152: edd2 7a00 vldr s15, [r2] 806e156: eefd 7ae7 vcvt.s32.f32 s15, s15 806e15a: ee17 2a90 vmov r2, s15 806e15e: 1a9b subs r3, r3, r2 806e160: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 806e164: e1f0 b.n 806e548 } else if(f <= 100.0f) 806e166: f507 638b add.w r3, r7, #1112 ; 0x458 806e16a: edd3 7a00 vldr s15, [r3] 806e16e: ed9f 7a1a vldr s14, [pc, #104] ; 806e1d8 806e172: eef4 7ac7 vcmpe.f32 s15, s14 806e176: eef1 fa10 vmrs APSR_nzcv, fpscr 806e17a: f200 81e5 bhi.w 806e548 { f = (25 * (f - 50.0f) / (100.0f - 50.0f)) + 0.5f; 806e17e: f507 638b add.w r3, r7, #1112 ; 0x458 806e182: edd3 7a00 vldr s15, [r3] 806e186: ed9f 7a12 vldr s14, [pc, #72] ; 806e1d0 806e18a: ee77 7ac7 vsub.f32 s15, s15, s14 806e18e: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 806e192: ee27 7a87 vmul.f32 s14, s15, s14 806e196: eddf 6a0e vldr s13, [pc, #56] ; 806e1d0 806e19a: eec7 7a26 vdiv.f32 s15, s14, s13 806e19e: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 806e1a2: ee77 7a87 vadd.f32 s15, s15, s14 806e1a6: f507 638b add.w r3, r7, #1112 ; 0x458 806e1aa: edc3 7a00 vstr s15, [r3] y = y4 - (int32_t) f; 806e1ae: f8b7 3434 ldrh.w r3, [r7, #1076] ; 0x434 806e1b2: f507 628b add.w r2, r7, #1112 ; 0x458 806e1b6: edd2 7a00 vldr s15, [r2] 806e1ba: eefd 7ae7 vcvt.s32.f32 s15, s15 806e1be: ee17 2a90 vmov r2, s15 806e1c2: 1a9b subs r3, r3, r2 806e1c4: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 806e1c8: e1be b.n 806e548 806e1ca: bf00 nop 806e1cc: 64080000 .word 0x64080000 806e1d0: 42480000 .word 0x42480000 806e1d4: 42200000 .word 0x42200000 806e1d8: 42c80000 .word 0x42c80000 806e1dc: 43c80000 .word 0x43c80000 806e1e0: 43fa0000 .word 0x43fa0000 806e1e4: 447a0000 .word 0x447a0000 806e1e8: 457a0000 .word 0x457a0000 806e1ec: 461c4000 .word 0x461c4000 806e1f0: 459c4000 .word 0x459c4000 806e1f4: 43800000 .word 0x43800000 } } else if(fmax <= 1000.0f) ///////// 806e1f8: f207 434c addw r3, r7, #1100 ; 0x44c 806e1fc: edd3 7a00 vldr s15, [r3] 806e200: ed1f 7a08 vldr s14, [pc, #-32] ; 806e1e4 806e204: eef4 7ac7 vcmpe.f32 s15, s14 806e208: eef1 fa10 vmrs APSR_nzcv, fpscr 806e20c: f200 80c9 bhi.w 806e3a2 { if(f < 0.0f) 806e210: f507 638b add.w r3, r7, #1112 ; 0x458 806e214: edd3 7a00 vldr s15, [r3] 806e218: eef5 7ac0 vcmpe.f32 s15, #0.0 806e21c: eef1 fa10 vmrs APSR_nzcv, fpscr 806e220: d521 bpl.n 806e266 { f = (25 * f / 5.0f) + 0.5f; 806e222: f507 638b add.w r3, r7, #1112 ; 0x458 806e226: edd3 7a00 vldr s15, [r3] 806e22a: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 806e22e: ee27 7a87 vmul.f32 s14, s15, s14 806e232: eef1 6a04 vmov.f32 s13, #20 ; 0x40a00000 5.0 806e236: eec7 7a26 vdiv.f32 s15, s14, s13 806e23a: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 806e23e: ee77 7a87 vadd.f32 s15, s15, s14 806e242: f507 638b add.w r3, r7, #1112 ; 0x458 806e246: edc3 7a00 vstr s15, [r3] y = y2 - (int32_t) f; 806e24a: f8b7 3438 ldrh.w r3, [r7, #1080] ; 0x438 806e24e: f507 628b add.w r2, r7, #1112 ; 0x458 806e252: edd2 7a00 vldr s15, [r2] 806e256: eefd 7ae7 vcvt.s32.f32 s15, s15 806e25a: ee17 2a90 vmov r2, s15 806e25e: 1a9b subs r3, r3, r2 806e260: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 806e264: e170 b.n 806e548 } else if(f == 0.0f) 806e266: f507 638b add.w r3, r7, #1112 ; 0x458 806e26a: edd3 7a00 vldr s15, [r3] 806e26e: eef5 7a40 vcmp.f32 s15, #0.0 806e272: eef1 fa10 vmrs APSR_nzcv, fpscr 806e276: d104 bne.n 806e282 { y = y2; 806e278: f8b7 3438 ldrh.w r3, [r7, #1080] ; 0x438 806e27c: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 806e280: e162 b.n 806e548 } else if(f <= 100.0f) 806e282: f507 638b add.w r3, r7, #1112 ; 0x458 806e286: edd3 7a00 vldr s15, [r3] 806e28a: ed1f 7a2d vldr s14, [pc, #-180] ; 806e1d8 806e28e: eef4 7ac7 vcmpe.f32 s15, s14 806e292: eef1 fa10 vmrs APSR_nzcv, fpscr 806e296: d821 bhi.n 806e2dc { f = (25 * f / 100.0f) + 0.5f; 806e298: f507 638b add.w r3, r7, #1112 ; 0x458 806e29c: edd3 7a00 vldr s15, [r3] 806e2a0: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 806e2a4: ee27 7a87 vmul.f32 s14, s15, s14 806e2a8: ed5f 6a35 vldr s13, [pc, #-212] ; 806e1d8 806e2ac: eec7 7a26 vdiv.f32 s15, s14, s13 806e2b0: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 806e2b4: ee77 7a87 vadd.f32 s15, s15, s14 806e2b8: f507 638b add.w r3, r7, #1112 ; 0x458 806e2bc: edc3 7a00 vstr s15, [r3] y = y2 - (int32_t) f; 806e2c0: f8b7 3438 ldrh.w r3, [r7, #1080] ; 0x438 806e2c4: f507 628b add.w r2, r7, #1112 ; 0x458 806e2c8: edd2 7a00 vldr s15, [r2] 806e2cc: eefd 7ae7 vcvt.s32.f32 s15, s15 806e2d0: ee17 2a90 vmov r2, s15 806e2d4: 1a9b subs r3, r3, r2 806e2d6: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 806e2da: e135 b.n 806e548 } else if(f <= 500.0f) 806e2dc: f507 638b add.w r3, r7, #1112 ; 0x458 806e2e0: edd3 7a00 vldr s15, [r3] 806e2e4: ed1f 7a42 vldr s14, [pc, #-264] ; 806e1e0 806e2e8: eef4 7ac7 vcmpe.f32 s15, s14 806e2ec: eef1 fa10 vmrs APSR_nzcv, fpscr 806e2f0: d825 bhi.n 806e33e { f = (25 * (f - 100.0f) / (500.0f - 100.0f)) + 0.5f; 806e2f2: f507 638b add.w r3, r7, #1112 ; 0x458 806e2f6: edd3 7a00 vldr s15, [r3] 806e2fa: ed1f 7a49 vldr s14, [pc, #-292] ; 806e1d8 806e2fe: ee77 7ac7 vsub.f32 s15, s15, s14 806e302: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 806e306: ee27 7a87 vmul.f32 s14, s15, s14 806e30a: ed5f 6a4c vldr s13, [pc, #-304] ; 806e1dc 806e30e: eec7 7a26 vdiv.f32 s15, s14, s13 806e312: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 806e316: ee77 7a87 vadd.f32 s15, s15, s14 806e31a: f507 638b add.w r3, r7, #1112 ; 0x458 806e31e: edc3 7a00 vstr s15, [r3] y = y3 - (int32_t) f; 806e322: f8b7 3436 ldrh.w r3, [r7, #1078] ; 0x436 806e326: f507 628b add.w r2, r7, #1112 ; 0x458 806e32a: edd2 7a00 vldr s15, [r2] 806e32e: eefd 7ae7 vcvt.s32.f32 s15, s15 806e332: ee17 2a90 vmov r2, s15 806e336: 1a9b subs r3, r3, r2 806e338: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 806e33c: e104 b.n 806e548 } else if(f <= 1000.0f) 806e33e: f507 638b add.w r3, r7, #1112 ; 0x458 806e342: edd3 7a00 vldr s15, [r3] 806e346: ed1f 7a59 vldr s14, [pc, #-356] ; 806e1e4 806e34a: eef4 7ac7 vcmpe.f32 s15, s14 806e34e: eef1 fa10 vmrs APSR_nzcv, fpscr 806e352: f200 80f9 bhi.w 806e548 { f = (25 * (f - 500.0f) / (1000.0f - 500.0f)) + 0.5f; 806e356: f507 638b add.w r3, r7, #1112 ; 0x458 806e35a: edd3 7a00 vldr s15, [r3] 806e35e: ed1f 7a60 vldr s14, [pc, #-384] ; 806e1e0 806e362: ee77 7ac7 vsub.f32 s15, s15, s14 806e366: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 806e36a: ee27 7a87 vmul.f32 s14, s15, s14 806e36e: ed5f 6a64 vldr s13, [pc, #-400] ; 806e1e0 806e372: eec7 7a26 vdiv.f32 s15, s14, s13 806e376: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 806e37a: ee77 7a87 vadd.f32 s15, s15, s14 806e37e: f507 638b add.w r3, r7, #1112 ; 0x458 806e382: edc3 7a00 vstr s15, [r3] y = y4 - (int32_t) f; 806e386: f8b7 3434 ldrh.w r3, [r7, #1076] ; 0x434 806e38a: f507 628b add.w r2, r7, #1112 ; 0x458 806e38e: edd2 7a00 vldr s15, [r2] 806e392: eefd 7ae7 vcvt.s32.f32 s15, s15 806e396: ee17 2a90 vmov r2, s15 806e39a: 1a9b subs r3, r3, r2 806e39c: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 806e3a0: e0d2 b.n 806e548 } } else if(fmax <= 10000.0f) ///////// 806e3a2: f207 434c addw r3, r7, #1100 ; 0x44c 806e3a6: edd3 7a00 vldr s15, [r3] 806e3aa: ed1f 7a70 vldr s14, [pc, #-448] ; 806e1ec 806e3ae: eef4 7ac7 vcmpe.f32 s15, s14 806e3b2: eef1 fa10 vmrs APSR_nzcv, fpscr 806e3b6: f200 80c7 bhi.w 806e548 { if(f < 0.0f) 806e3ba: f507 638b add.w r3, r7, #1112 ; 0x458 806e3be: edd3 7a00 vldr s15, [r3] 806e3c2: eef5 7ac0 vcmpe.f32 s15, #0.0 806e3c6: eef1 fa10 vmrs APSR_nzcv, fpscr 806e3ca: d521 bpl.n 806e410 { f = (25 * f / 5.0f) + 0.5f; 806e3cc: f507 638b add.w r3, r7, #1112 ; 0x458 806e3d0: edd3 7a00 vldr s15, [r3] 806e3d4: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 806e3d8: ee27 7a87 vmul.f32 s14, s15, s14 806e3dc: eef1 6a04 vmov.f32 s13, #20 ; 0x40a00000 5.0 806e3e0: eec7 7a26 vdiv.f32 s15, s14, s13 806e3e4: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 806e3e8: ee77 7a87 vadd.f32 s15, s15, s14 806e3ec: f507 638b add.w r3, r7, #1112 ; 0x458 806e3f0: edc3 7a00 vstr s15, [r3] y = y2 - (int32_t) f; 806e3f4: f8b7 3438 ldrh.w r3, [r7, #1080] ; 0x438 806e3f8: f507 628b add.w r2, r7, #1112 ; 0x458 806e3fc: edd2 7a00 vldr s15, [r2] 806e400: eefd 7ae7 vcvt.s32.f32 s15, s15 806e404: ee17 2a90 vmov r2, s15 806e408: 1a9b subs r3, r3, r2 806e40a: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 806e40e: e09b b.n 806e548 } else if(f == 0.0f) 806e410: f507 638b add.w r3, r7, #1112 ; 0x458 806e414: edd3 7a00 vldr s15, [r3] 806e418: eef5 7a40 vcmp.f32 s15, #0.0 806e41c: eef1 fa10 vmrs APSR_nzcv, fpscr 806e420: d104 bne.n 806e42c { y = y2; 806e422: f8b7 3438 ldrh.w r3, [r7, #1080] ; 0x438 806e426: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 806e42a: e08d b.n 806e548 } else if(f <= 1000.0f) 806e42c: f507 638b add.w r3, r7, #1112 ; 0x458 806e430: edd3 7a00 vldr s15, [r3] 806e434: ed1f 7a95 vldr s14, [pc, #-596] ; 806e1e4 806e438: eef4 7ac7 vcmpe.f32 s15, s14 806e43c: eef1 fa10 vmrs APSR_nzcv, fpscr 806e440: d821 bhi.n 806e486 { f = (25 * f / 1000.0f) + 0.5f; 806e442: f507 638b add.w r3, r7, #1112 ; 0x458 806e446: edd3 7a00 vldr s15, [r3] 806e44a: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 806e44e: ee27 7a87 vmul.f32 s14, s15, s14 806e452: ed5f 6a9c vldr s13, [pc, #-624] ; 806e1e4 806e456: eec7 7a26 vdiv.f32 s15, s14, s13 806e45a: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 806e45e: ee77 7a87 vadd.f32 s15, s15, s14 806e462: f507 638b add.w r3, r7, #1112 ; 0x458 806e466: edc3 7a00 vstr s15, [r3] y = y2 - (int32_t) f; 806e46a: f8b7 3438 ldrh.w r3, [r7, #1080] ; 0x438 806e46e: f507 628b add.w r2, r7, #1112 ; 0x458 806e472: edd2 7a00 vldr s15, [r2] 806e476: eefd 7ae7 vcvt.s32.f32 s15, s15 806e47a: ee17 2a90 vmov r2, s15 806e47e: 1a9b subs r3, r3, r2 806e480: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 806e484: e060 b.n 806e548 } else if(f <= 5000.0f) 806e486: f507 638b add.w r3, r7, #1112 ; 0x458 806e48a: edd3 7a00 vldr s15, [r3] 806e48e: ed1f 7aa8 vldr s14, [pc, #-672] ; 806e1f0 806e492: eef4 7ac7 vcmpe.f32 s15, s14 806e496: eef1 fa10 vmrs APSR_nzcv, fpscr 806e49a: d825 bhi.n 806e4e8 { f = (25 * (f - 1000.0f) / (5000.0f - 1000.0f)) + 0.5f; 806e49c: f507 638b add.w r3, r7, #1112 ; 0x458 806e4a0: edd3 7a00 vldr s15, [r3] 806e4a4: ed1f 7ab1 vldr s14, [pc, #-708] ; 806e1e4 806e4a8: ee77 7ac7 vsub.f32 s15, s15, s14 806e4ac: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 806e4b0: ee27 7a87 vmul.f32 s14, s15, s14 806e4b4: ed5f 6ab4 vldr s13, [pc, #-720] ; 806e1e8 806e4b8: eec7 7a26 vdiv.f32 s15, s14, s13 806e4bc: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 806e4c0: ee77 7a87 vadd.f32 s15, s15, s14 806e4c4: f507 638b add.w r3, r7, #1112 ; 0x458 806e4c8: edc3 7a00 vstr s15, [r3] y = y3 - (int32_t) f; 806e4cc: f8b7 3436 ldrh.w r3, [r7, #1078] ; 0x436 806e4d0: f507 628b add.w r2, r7, #1112 ; 0x458 806e4d4: edd2 7a00 vldr s15, [r2] 806e4d8: eefd 7ae7 vcvt.s32.f32 s15, s15 806e4dc: ee17 2a90 vmov r2, s15 806e4e0: 1a9b subs r3, r3, r2 806e4e2: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 806e4e6: e02f b.n 806e548 } else if(f <= 10000.0f) 806e4e8: f507 638b add.w r3, r7, #1112 ; 0x458 806e4ec: edd3 7a00 vldr s15, [r3] 806e4f0: ed1f 7ac2 vldr s14, [pc, #-776] ; 806e1ec 806e4f4: eef4 7ac7 vcmpe.f32 s15, s14 806e4f8: eef1 fa10 vmrs APSR_nzcv, fpscr 806e4fc: d824 bhi.n 806e548 { f = (25 * (f - 5000.0f) / (10000.0f - 5000.0f)) + 0.5f; 806e4fe: f507 638b add.w r3, r7, #1112 ; 0x458 806e502: edd3 7a00 vldr s15, [r3] 806e506: ed1f 7ac6 vldr s14, [pc, #-792] ; 806e1f0 806e50a: ee77 7ac7 vsub.f32 s15, s15, s14 806e50e: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 806e512: ee27 7a87 vmul.f32 s14, s15, s14 806e516: ed5f 6aca vldr s13, [pc, #-808] ; 806e1f0 806e51a: eec7 7a26 vdiv.f32 s15, s14, s13 806e51e: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 806e522: ee77 7a87 vadd.f32 s15, s15, s14 806e526: f507 638b add.w r3, r7, #1112 ; 0x458 806e52a: edc3 7a00 vstr s15, [r3] y = y4 - (int32_t) f; 806e52e: f8b7 3434 ldrh.w r3, [r7, #1076] ; 0x434 806e532: f507 628b add.w r2, r7, #1112 ; 0x458 806e536: edd2 7a00 vldr s15, [r2] 806e53a: eefd 7ae7 vcvt.s32.f32 s15, s15 806e53e: ee17 2a90 vmov r2, s15 806e542: 1a9b subs r3, r3, r2 806e544: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 } } if(l == 1) 806e548: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806e54c: 2b01 cmp r3, #1 806e54e: d119 bne.n 806e584 { x = 256; 806e550: f44f 7380 mov.w r3, #256 ; 0x100 806e554: f8c7 3468 str.w r3, [r7, #1128] ; 0x468 oldx = 0; 806e558: 2300 movs r3, #0 806e55a: f8c7 3460 str.w r3, [r7, #1120] ; 0x460 BSP_LCD_DrawLine(62 + oldx, y, 62 + x, y); 806e55e: f8d7 3460 ldr.w r3, [r7, #1120] ; 0x460 806e562: b29b uxth r3, r3 806e564: 333e adds r3, #62 ; 0x3e 806e566: b298 uxth r0, r3 806e568: f8d7 3464 ldr.w r3, [r7, #1124] ; 0x464 806e56c: b299 uxth r1, r3 806e56e: f8d7 3468 ldr.w r3, [r7, #1128] ; 0x468 806e572: b29b uxth r3, r3 806e574: 333e adds r3, #62 ; 0x3e 806e576: b29a uxth r2, r3 806e578: f8d7 3464 ldr.w r3, [r7, #1124] ; 0x464 806e57c: b29b uxth r3, r3 806e57e: f7e5 fb4f bl 8053c20 806e582: e055 b.n 806e630 } else { fs = 256.0f / (float32_t) (l - 1); 806e584: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806e588: 3b01 subs r3, #1 806e58a: ee07 3a90 vmov s15, r3 806e58e: eeb8 7a67 vcvt.f32.u32 s14, s15 806e592: ed5f 6ae8 vldr s13, [pc, #-928] ; 806e1f4 806e596: eec6 7a87 vdiv.f32 s15, s13, s14 806e59a: f207 4314 addw r3, r7, #1044 ; 0x414 806e59e: edc3 7a00 vstr s15, [r3] x = (uint32_t) ((fs * (float32_t) i) + 0.5f); 806e5a2: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806e5a6: ee07 3a90 vmov s15, r3 806e5aa: eeb8 7a67 vcvt.f32.u32 s14, s15 806e5ae: f207 4314 addw r3, r7, #1044 ; 0x414 806e5b2: edd3 7a00 vldr s15, [r3] 806e5b6: ee67 7a27 vmul.f32 s15, s14, s15 806e5ba: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 806e5be: ee77 7a87 vadd.f32 s15, s15, s14 806e5c2: eefc 7ae7 vcvt.u32.f32 s15, s15 806e5c6: ee17 3a90 vmov r3, s15 806e5ca: f8c7 3468 str.w r3, [r7, #1128] ; 0x468 if(i == 0) 806e5ce: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806e5d2: 2b00 cmp r3, #0 806e5d4: d112 bne.n 806e5fc BSP_LCD_DrawLine(62 + x, y, 62 + x, y); 806e5d6: f8d7 3468 ldr.w r3, [r7, #1128] ; 0x468 806e5da: b29b uxth r3, r3 806e5dc: 333e adds r3, #62 ; 0x3e 806e5de: b298 uxth r0, r3 806e5e0: f8d7 3464 ldr.w r3, [r7, #1124] ; 0x464 806e5e4: b299 uxth r1, r3 806e5e6: f8d7 3468 ldr.w r3, [r7, #1128] ; 0x468 806e5ea: b29b uxth r3, r3 806e5ec: 333e adds r3, #62 ; 0x3e 806e5ee: b29a uxth r2, r3 806e5f0: f8d7 3464 ldr.w r3, [r7, #1124] ; 0x464 806e5f4: b29b uxth r3, r3 806e5f6: f7e5 fb13 bl 8053c20 806e5fa: e011 b.n 806e620 else BSP_LCD_DrawLine(62 + oldx, oldy, 62 + x, y); 806e5fc: f8d7 3460 ldr.w r3, [r7, #1120] ; 0x460 806e600: b29b uxth r3, r3 806e602: 333e adds r3, #62 ; 0x3e 806e604: b298 uxth r0, r3 806e606: f8d7 345c ldr.w r3, [r7, #1116] ; 0x45c 806e60a: b299 uxth r1, r3 806e60c: f8d7 3468 ldr.w r3, [r7, #1128] ; 0x468 806e610: b29b uxth r3, r3 806e612: 333e adds r3, #62 ; 0x3e 806e614: b29a uxth r2, r3 806e616: f8d7 3464 ldr.w r3, [r7, #1124] ; 0x464 806e61a: b29b uxth r3, r3 806e61c: f7e5 fb00 bl 8053c20 oldx = x; 806e620: f8d7 3468 ldr.w r3, [r7, #1128] ; 0x468 806e624: f8c7 3460 str.w r3, [r7, #1120] ; 0x460 oldy = y; 806e628: f8d7 3464 ldr.w r3, [r7, #1124] ; 0x464 806e62c: f8c7 345c str.w r3, [r7, #1116] ; 0x45c for(i = 0; i < l; i++) 806e630: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806e634: 3301 adds r3, #1 806e636: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806e63a: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806e63e: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806e642: 429a cmp r2, r3 806e644: f4ff ac0e bcc.w 806de64 oldy = y; } } } } break; 806e648: f028 bfa9 b.w 809759e if(menupos == Trend_factor) 806e64c: 4b68 ldr r3, [pc, #416] ; (806e7f0 ) 806e64e: 781b ldrb r3, [r3, #0] 806e650: b2db uxtb r3, r3 806e652: 2b03 cmp r3, #3 806e654: f041 8288 bne.w 806fb68 if(l) 806e658: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806e65c: 2b00 cmp r3, #0 806e65e: f028 879e beq.w 809759e y0 = 217; 806e662: 23d9 movs r3, #217 ; 0xd9 806e664: f8a7 343c strh.w r3, [r7, #1084] ; 0x43c y1 = 192; 806e668: 23c0 movs r3, #192 ; 0xc0 806e66a: f8a7 343a strh.w r3, [r7, #1082] ; 0x43a y2 = 167; 806e66e: 23a7 movs r3, #167 ; 0xa7 806e670: f8a7 3438 strh.w r3, [r7, #1080] ; 0x438 y3 = 142; 806e674: 238e movs r3, #142 ; 0x8e 806e676: f8a7 3436 strh.w r3, [r7, #1078] ; 0x436 y4 = 117; 806e67a: 2375 movs r3, #117 ; 0x75 806e67c: f8a7 3434 strh.w r3, [r7, #1076] ; 0x434 y5 = 92; 806e680: 235c movs r3, #92 ; 0x5c 806e682: f8a7 3432 strh.w r3, [r7, #1074] ; 0x432 y6 = 67; 806e686: 2343 movs r3, #67 ; 0x43 806e688: f8a7 3430 strh.w r3, [r7, #1072] ; 0x430 BSP_LCD_SetFont(&Font8); 806e68c: 4859 ldr r0, [pc, #356] ; (806e7f4 ) 806e68e: f7e5 f8c9 bl 8053824 LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 806e692: 4959 ldr r1, [pc, #356] ; (806e7f8 ) 806e694: 4859 ldr r0, [pc, #356] ; (806e7fc ) 806e696: f7e5 f889 bl 80537ac if(fmax <= 10.0f) 806e69a: f207 434c addw r3, r7, #1100 ; 0x44c 806e69e: edd3 7a00 vldr s15, [r3] 806e6a2: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 806e6a6: eef4 7ac7 vcmpe.f32 s15, s14 806e6aa: eef1 fa10 vmrs APSR_nzcv, fpscr 806e6ae: d82d bhi.n 806e70c BSP_LCD_DisplayStringAt(59, y5 - 2, "10", RIGHT_MODE); 806e6b0: f8b7 3432 ldrh.w r3, [r7, #1074] ; 0x432 806e6b4: 3b02 subs r3, #2 806e6b6: b299 uxth r1, r3 806e6b8: 2302 movs r3, #2 806e6ba: 4a51 ldr r2, [pc, #324] ; (806e800 ) 806e6bc: 203b movs r0, #59 ; 0x3b 806e6be: f7e5 f93b bl 8053938 BSP_LCD_DisplayStringAt(59, y4 - 2, "7.75", RIGHT_MODE); 806e6c2: f8b7 3434 ldrh.w r3, [r7, #1076] ; 0x434 806e6c6: 3b02 subs r3, #2 806e6c8: b299 uxth r1, r3 806e6ca: 2302 movs r3, #2 806e6cc: 4a4d ldr r2, [pc, #308] ; (806e804 ) 806e6ce: 203b movs r0, #59 ; 0x3b 806e6d0: f7e5 f932 bl 8053938 BSP_LCD_DisplayStringAt(59, y3 - 2, "5.5", RIGHT_MODE); 806e6d4: f8b7 3436 ldrh.w r3, [r7, #1078] ; 0x436 806e6d8: 3b02 subs r3, #2 806e6da: b299 uxth r1, r3 806e6dc: 2302 movs r3, #2 806e6de: 4a4a ldr r2, [pc, #296] ; (806e808 ) 806e6e0: 203b movs r0, #59 ; 0x3b 806e6e2: f7e5 f929 bl 8053938 BSP_LCD_DisplayStringAt(59, y2 - 2, "3.25", RIGHT_MODE); 806e6e6: f8b7 3438 ldrh.w r3, [r7, #1080] ; 0x438 806e6ea: 3b02 subs r3, #2 806e6ec: b299 uxth r1, r3 806e6ee: 2302 movs r3, #2 806e6f0: 4a46 ldr r2, [pc, #280] ; (806e80c ) 806e6f2: 203b movs r0, #59 ; 0x3b 806e6f4: f7e5 f920 bl 8053938 BSP_LCD_DisplayStringAt(59, y1 - 2, "1", RIGHT_MODE); 806e6f8: f8b7 343a ldrh.w r3, [r7, #1082] ; 0x43a 806e6fc: 3b02 subs r3, #2 806e6fe: b299 uxth r1, r3 806e700: 2302 movs r3, #2 806e702: 4a43 ldr r2, [pc, #268] ; (806e810 ) 806e704: 203b movs r0, #59 ; 0x3b 806e706: f7e5 f917 bl 8053938 806e70a: e0cb b.n 806e8a4 if(fmax <= 100.0f) 806e70c: f207 434c addw r3, r7, #1100 ; 0x44c 806e710: edd3 7a00 vldr s15, [r3] 806e714: ed9f 7a3f vldr s14, [pc, #252] ; 806e814 806e718: eef4 7ac7 vcmpe.f32 s15, s14 806e71c: eef1 fa10 vmrs APSR_nzcv, fpscr 806e720: d82d bhi.n 806e77e BSP_LCD_DisplayStringAt(59, y5 - 2, "100", RIGHT_MODE); 806e722: f8b7 3432 ldrh.w r3, [r7, #1074] ; 0x432 806e726: 3b02 subs r3, #2 806e728: b299 uxth r1, r3 806e72a: 2302 movs r3, #2 806e72c: 4a3a ldr r2, [pc, #232] ; (806e818 ) 806e72e: 203b movs r0, #59 ; 0x3b 806e730: f7e5 f902 bl 8053938 BSP_LCD_DisplayStringAt(59, y4 - 2, "50", RIGHT_MODE); 806e734: f8b7 3434 ldrh.w r3, [r7, #1076] ; 0x434 806e738: 3b02 subs r3, #2 806e73a: b299 uxth r1, r3 806e73c: 2302 movs r3, #2 806e73e: 4a37 ldr r2, [pc, #220] ; (806e81c ) 806e740: 203b movs r0, #59 ; 0x3b 806e742: f7e5 f8f9 bl 8053938 BSP_LCD_DisplayStringAt(59, y3 - 2, "10", RIGHT_MODE); 806e746: f8b7 3436 ldrh.w r3, [r7, #1078] ; 0x436 806e74a: 3b02 subs r3, #2 806e74c: b299 uxth r1, r3 806e74e: 2302 movs r3, #2 806e750: 4a2b ldr r2, [pc, #172] ; (806e800 ) 806e752: 203b movs r0, #59 ; 0x3b 806e754: f7e5 f8f0 bl 8053938 BSP_LCD_DisplayStringAt(59, y2 - 2, "5", RIGHT_MODE); 806e758: f8b7 3438 ldrh.w r3, [r7, #1080] ; 0x438 806e75c: 3b02 subs r3, #2 806e75e: b299 uxth r1, r3 806e760: 2302 movs r3, #2 806e762: 4a2f ldr r2, [pc, #188] ; (806e820 ) 806e764: 203b movs r0, #59 ; 0x3b 806e766: f7e5 f8e7 bl 8053938 BSP_LCD_DisplayStringAt(59, y1 - 2, "1", RIGHT_MODE); 806e76a: f8b7 343a ldrh.w r3, [r7, #1082] ; 0x43a 806e76e: 3b02 subs r3, #2 806e770: b299 uxth r1, r3 806e772: 2302 movs r3, #2 806e774: 4a26 ldr r2, [pc, #152] ; (806e810 ) 806e776: 203b movs r0, #59 ; 0x3b 806e778: f7e5 f8de bl 8053938 806e77c: e092 b.n 806e8a4 if(fmax <= 1000.0f) 806e77e: f207 434c addw r3, r7, #1100 ; 0x44c 806e782: edd3 7a00 vldr s15, [r3] 806e786: ed9f 7a27 vldr s14, [pc, #156] ; 806e824 806e78a: eef4 7ac7 vcmpe.f32 s15, s14 806e78e: eef1 fa10 vmrs APSR_nzcv, fpscr 806e792: d84f bhi.n 806e834 BSP_LCD_DisplayStringAt(59, y5 - 2, "1000", RIGHT_MODE); 806e794: f8b7 3432 ldrh.w r3, [r7, #1074] ; 0x432 806e798: 3b02 subs r3, #2 806e79a: b299 uxth r1, r3 806e79c: 2302 movs r3, #2 806e79e: 4a22 ldr r2, [pc, #136] ; (806e828 ) 806e7a0: 203b movs r0, #59 ; 0x3b 806e7a2: f7e5 f8c9 bl 8053938 BSP_LCD_DisplayStringAt(59, y4 - 2, "500", RIGHT_MODE); 806e7a6: f8b7 3434 ldrh.w r3, [r7, #1076] ; 0x434 806e7aa: 3b02 subs r3, #2 806e7ac: b299 uxth r1, r3 806e7ae: 2302 movs r3, #2 806e7b0: 4a1e ldr r2, [pc, #120] ; (806e82c ) 806e7b2: 203b movs r0, #59 ; 0x3b 806e7b4: f7e5 f8c0 bl 8053938 BSP_LCD_DisplayStringAt(59, y3 - 2, "100", RIGHT_MODE); 806e7b8: f8b7 3436 ldrh.w r3, [r7, #1078] ; 0x436 806e7bc: 3b02 subs r3, #2 806e7be: b299 uxth r1, r3 806e7c0: 2302 movs r3, #2 806e7c2: 4a15 ldr r2, [pc, #84] ; (806e818 ) 806e7c4: 203b movs r0, #59 ; 0x3b 806e7c6: f7e5 f8b7 bl 8053938 BSP_LCD_DisplayStringAt(59, y2 - 2, "50", RIGHT_MODE); 806e7ca: f8b7 3438 ldrh.w r3, [r7, #1080] ; 0x438 806e7ce: 3b02 subs r3, #2 806e7d0: b299 uxth r1, r3 806e7d2: 2302 movs r3, #2 806e7d4: 4a11 ldr r2, [pc, #68] ; (806e81c ) 806e7d6: 203b movs r0, #59 ; 0x3b 806e7d8: f7e5 f8ae bl 8053938 BSP_LCD_DisplayStringAt(59, y1 - 2, "10", RIGHT_MODE); 806e7dc: f8b7 343a ldrh.w r3, [r7, #1082] ; 0x43a 806e7e0: 3b02 subs r3, #2 806e7e2: b299 uxth r1, r3 806e7e4: 2302 movs r3, #2 806e7e6: 4a06 ldr r2, [pc, #24] ; (806e800 ) 806e7e8: 203b movs r0, #59 ; 0x3b 806e7ea: f7e5 f8a5 bl 8053938 806e7ee: e059 b.n 806e8a4 806e7f0: 20020070 .word 0x20020070 806e7f4: 20020060 .word 0x20020060 806e7f8: ff0a0f1f .word 0xff0a0f1f 806e7fc: ffd3d3d3 .word 0xffd3d3d3 806e800: 080cfa50 .word 0x080cfa50 806e804: 080cfa7c .word 0x080cfa7c 806e808: 080cfa84 .word 0x080cfa84 806e80c: 080cfa88 .word 0x080cfa88 806e810: 080ce854 .word 0x080ce854 806e814: 42c80000 .word 0x42c80000 806e818: 080cfa58 .word 0x080cfa58 806e81c: 080cfa5c .word 0x080cfa5c 806e820: 080cf7b8 .word 0x080cf7b8 806e824: 447a0000 .word 0x447a0000 806e828: 080cfa60 .word 0x080cfa60 806e82c: 080cfa68 .word 0x080cfa68 806e830: 461c4000 .word 0x461c4000 if(fmax <= 10000.0f) 806e834: f207 434c addw r3, r7, #1100 ; 0x44c 806e838: edd3 7a00 vldr s15, [r3] 806e83c: ed1f 7a04 vldr s14, [pc, #-16] ; 806e830 806e840: eef4 7ac7 vcmpe.f32 s15, s14 806e844: eef1 fa10 vmrs APSR_nzcv, fpscr 806e848: d82c bhi.n 806e8a4 BSP_LCD_DisplayStringAt(59, y5 - 2, "10000", RIGHT_MODE); 806e84a: f8b7 3432 ldrh.w r3, [r7, #1074] ; 0x432 806e84e: 3b02 subs r3, #2 806e850: b299 uxth r1, r3 806e852: 2302 movs r3, #2 806e854: 4a9b ldr r2, [pc, #620] ; (806eac4 ) 806e856: 203b movs r0, #59 ; 0x3b 806e858: f7e5 f86e bl 8053938 BSP_LCD_DisplayStringAt(59, y4 - 2, "1000", RIGHT_MODE); 806e85c: f8b7 3434 ldrh.w r3, [r7, #1076] ; 0x434 806e860: 3b02 subs r3, #2 806e862: b299 uxth r1, r3 806e864: 2302 movs r3, #2 806e866: 4a98 ldr r2, [pc, #608] ; (806eac8 ) 806e868: 203b movs r0, #59 ; 0x3b 806e86a: f7e5 f865 bl 8053938 BSP_LCD_DisplayStringAt(59, y3 - 2, "100", RIGHT_MODE); 806e86e: f8b7 3436 ldrh.w r3, [r7, #1078] ; 0x436 806e872: 3b02 subs r3, #2 806e874: b299 uxth r1, r3 806e876: 2302 movs r3, #2 806e878: 4a94 ldr r2, [pc, #592] ; (806eacc ) 806e87a: 203b movs r0, #59 ; 0x3b 806e87c: f7e5 f85c bl 8053938 BSP_LCD_DisplayStringAt(59, y2 - 2, "10", RIGHT_MODE); 806e880: f8b7 3438 ldrh.w r3, [r7, #1080] ; 0x438 806e884: 3b02 subs r3, #2 806e886: b299 uxth r1, r3 806e888: 2302 movs r3, #2 806e88a: 4a91 ldr r2, [pc, #580] ; (806ead0 ) 806e88c: 203b movs r0, #59 ; 0x3b 806e88e: f7e5 f853 bl 8053938 BSP_LCD_DisplayStringAt(59, y1 - 2, "1", RIGHT_MODE); 806e892: f8b7 343a ldrh.w r3, [r7, #1082] ; 0x43a 806e896: 3b02 subs r3, #2 806e898: b299 uxth r1, r3 806e89a: 2302 movs r3, #2 806e89c: 4a8d ldr r2, [pc, #564] ; (806ead4 ) 806e89e: 203b movs r0, #59 ; 0x3b 806e8a0: f7e5 f84a bl 8053938 if(l == 1) 806e8a4: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806e8a8: 2b01 cmp r3, #1 806e8aa: f040 8119 bne.w 806eae0 k = CmplxA_u32(0); 806e8ae: 4b8a ldr r3, [pc, #552] ; (806ead8 ) 806e8b0: 681b ldr r3, [r3, #0] 806e8b2: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 Year = (k >> 25) - 20; 806e8b6: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806e8ba: 0e5b lsrs r3, r3, #25 806e8bc: 3b14 subs r3, #20 806e8be: f8c7 342c str.w r3, [r7, #1068] ; 0x42c Month = (k >> 21) & 0xf; 806e8c2: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806e8c6: 0d5b lsrs r3, r3, #21 806e8c8: f003 030f and.w r3, r3, #15 806e8cc: f8c7 3428 str.w r3, [r7, #1064] ; 0x428 Day = (k >> 16) & 0x1f; 806e8d0: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806e8d4: 0c1b lsrs r3, r3, #16 806e8d6: f003 031f and.w r3, r3, #31 806e8da: f8c7 3424 str.w r3, [r7, #1060] ; 0x424 Hour = (k >> 11) & 0x1f; 806e8de: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806e8e2: 0adb lsrs r3, r3, #11 806e8e4: f003 031f and.w r3, r3, #31 806e8e8: f8c7 3420 str.w r3, [r7, #1056] ; 0x420 Min = (k >> 5) & 0x3f; 806e8ec: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806e8f0: 095b lsrs r3, r3, #5 806e8f2: f003 033f and.w r3, r3, #63 ; 0x3f 806e8f6: f8c7 341c str.w r3, [r7, #1052] ; 0x41c Sec = ((k << 1) & 0x1f) + 1; 806e8fa: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806e8fe: 005b lsls r3, r3, #1 806e900: f003 031f and.w r3, r3, #31 806e904: 3301 adds r3, #1 806e906: f8c7 3418 str.w r3, [r7, #1048] ; 0x418 memset(str, 0, sizeof(str)); 806e90a: f507 733b add.w r3, r7, #748 ; 0x2ec 806e90e: 223c movs r2, #60 ; 0x3c 806e910: 2100 movs r1, #0 806e912: 4618 mov r0, r3 806e914: f05e fb98 bl 80cd048 str[0] = (Day / 10) + 48; 806e918: f8d7 3424 ldr.w r3, [r7, #1060] ; 0x424 806e91c: 4a6f ldr r2, [pc, #444] ; (806eadc ) 806e91e: fba2 2303 umull r2, r3, r2, r3 806e922: 08db lsrs r3, r3, #3 806e924: b2db uxtb r3, r3 806e926: 3330 adds r3, #48 ; 0x30 806e928: b2da uxtb r2, r3 806e92a: f507 733b add.w r3, r7, #748 ; 0x2ec 806e92e: 701a strb r2, [r3, #0] str[1] = (Day % 10) + 48; 806e930: f8d7 1424 ldr.w r1, [r7, #1060] ; 0x424 806e934: 4b69 ldr r3, [pc, #420] ; (806eadc ) 806e936: fba3 2301 umull r2, r3, r3, r1 806e93a: 08da lsrs r2, r3, #3 806e93c: 4613 mov r3, r2 806e93e: 009b lsls r3, r3, #2 806e940: 4413 add r3, r2 806e942: 005b lsls r3, r3, #1 806e944: 1aca subs r2, r1, r3 806e946: b2d3 uxtb r3, r2 806e948: 3330 adds r3, #48 ; 0x30 806e94a: b2da uxtb r2, r3 806e94c: f507 733b add.w r3, r7, #748 ; 0x2ec 806e950: 705a strb r2, [r3, #1] str[2] = '.'; 806e952: f507 733b add.w r3, r7, #748 ; 0x2ec 806e956: 222e movs r2, #46 ; 0x2e 806e958: 709a strb r2, [r3, #2] str[3] = (Month / 10) + 48; 806e95a: f8d7 3428 ldr.w r3, [r7, #1064] ; 0x428 806e95e: 4a5f ldr r2, [pc, #380] ; (806eadc ) 806e960: fba2 2303 umull r2, r3, r2, r3 806e964: 08db lsrs r3, r3, #3 806e966: b2db uxtb r3, r3 806e968: 3330 adds r3, #48 ; 0x30 806e96a: b2da uxtb r2, r3 806e96c: f507 733b add.w r3, r7, #748 ; 0x2ec 806e970: 70da strb r2, [r3, #3] str[4] = (Month % 10) + 48; 806e972: f8d7 1428 ldr.w r1, [r7, #1064] ; 0x428 806e976: 4b59 ldr r3, [pc, #356] ; (806eadc ) 806e978: fba3 2301 umull r2, r3, r3, r1 806e97c: 08da lsrs r2, r3, #3 806e97e: 4613 mov r3, r2 806e980: 009b lsls r3, r3, #2 806e982: 4413 add r3, r2 806e984: 005b lsls r3, r3, #1 806e986: 1aca subs r2, r1, r3 806e988: b2d3 uxtb r3, r2 806e98a: 3330 adds r3, #48 ; 0x30 806e98c: b2da uxtb r2, r3 806e98e: f507 733b add.w r3, r7, #748 ; 0x2ec 806e992: 711a strb r2, [r3, #4] str[5] = '.'; 806e994: f507 733b add.w r3, r7, #748 ; 0x2ec 806e998: 222e movs r2, #46 ; 0x2e 806e99a: 715a strb r2, [r3, #5] str[6] = (Year / 10) + 48; 806e99c: f8d7 342c ldr.w r3, [r7, #1068] ; 0x42c 806e9a0: 4a4e ldr r2, [pc, #312] ; (806eadc ) 806e9a2: fba2 2303 umull r2, r3, r2, r3 806e9a6: 08db lsrs r3, r3, #3 806e9a8: b2db uxtb r3, r3 806e9aa: 3330 adds r3, #48 ; 0x30 806e9ac: b2da uxtb r2, r3 806e9ae: f507 733b add.w r3, r7, #748 ; 0x2ec 806e9b2: 719a strb r2, [r3, #6] str[7] = (Year % 10) + 48; 806e9b4: f8d7 142c ldr.w r1, [r7, #1068] ; 0x42c 806e9b8: 4b48 ldr r3, [pc, #288] ; (806eadc ) 806e9ba: fba3 2301 umull r2, r3, r3, r1 806e9be: 08da lsrs r2, r3, #3 806e9c0: 4613 mov r3, r2 806e9c2: 009b lsls r3, r3, #2 806e9c4: 4413 add r3, r2 806e9c6: 005b lsls r3, r3, #1 806e9c8: 1aca subs r2, r1, r3 806e9ca: b2d3 uxtb r3, r2 806e9cc: 3330 adds r3, #48 ; 0x30 806e9ce: b2da uxtb r2, r3 806e9d0: f507 733b add.w r3, r7, #748 ; 0x2ec 806e9d4: 71da strb r2, [r3, #7] BSP_LCD_DisplayStringAt(190, 220, str, CENTER_MODE); 806e9d6: f507 723b add.w r2, r7, #748 ; 0x2ec 806e9da: 2301 movs r3, #1 806e9dc: 21dc movs r1, #220 ; 0xdc 806e9de: 20be movs r0, #190 ; 0xbe 806e9e0: f7e4 ffaa bl 8053938 memset(str, 0, sizeof(str)); 806e9e4: f507 733b add.w r3, r7, #748 ; 0x2ec 806e9e8: 223c movs r2, #60 ; 0x3c 806e9ea: 2100 movs r1, #0 806e9ec: 4618 mov r0, r3 806e9ee: f05e fb2b bl 80cd048 str[0] = (Hour / 10) + 48; 806e9f2: f8d7 3420 ldr.w r3, [r7, #1056] ; 0x420 806e9f6: 4a39 ldr r2, [pc, #228] ; (806eadc ) 806e9f8: fba2 2303 umull r2, r3, r2, r3 806e9fc: 08db lsrs r3, r3, #3 806e9fe: b2db uxtb r3, r3 806ea00: 3330 adds r3, #48 ; 0x30 806ea02: b2da uxtb r2, r3 806ea04: f507 733b add.w r3, r7, #748 ; 0x2ec 806ea08: 701a strb r2, [r3, #0] str[1] = (Hour % 10) + 48; 806ea0a: f8d7 1420 ldr.w r1, [r7, #1056] ; 0x420 806ea0e: 4b33 ldr r3, [pc, #204] ; (806eadc ) 806ea10: fba3 2301 umull r2, r3, r3, r1 806ea14: 08da lsrs r2, r3, #3 806ea16: 4613 mov r3, r2 806ea18: 009b lsls r3, r3, #2 806ea1a: 4413 add r3, r2 806ea1c: 005b lsls r3, r3, #1 806ea1e: 1aca subs r2, r1, r3 806ea20: b2d3 uxtb r3, r2 806ea22: 3330 adds r3, #48 ; 0x30 806ea24: b2da uxtb r2, r3 806ea26: f507 733b add.w r3, r7, #748 ; 0x2ec 806ea2a: 705a strb r2, [r3, #1] str[2] = ':'; 806ea2c: f507 733b add.w r3, r7, #748 ; 0x2ec 806ea30: 223a movs r2, #58 ; 0x3a 806ea32: 709a strb r2, [r3, #2] str[3] = (Min / 10) + 48; 806ea34: f8d7 341c ldr.w r3, [r7, #1052] ; 0x41c 806ea38: 4a28 ldr r2, [pc, #160] ; (806eadc ) 806ea3a: fba2 2303 umull r2, r3, r2, r3 806ea3e: 08db lsrs r3, r3, #3 806ea40: b2db uxtb r3, r3 806ea42: 3330 adds r3, #48 ; 0x30 806ea44: b2da uxtb r2, r3 806ea46: f507 733b add.w r3, r7, #748 ; 0x2ec 806ea4a: 70da strb r2, [r3, #3] str[4] = (Min % 10) + 48; 806ea4c: f8d7 141c ldr.w r1, [r7, #1052] ; 0x41c 806ea50: 4b22 ldr r3, [pc, #136] ; (806eadc ) 806ea52: fba3 2301 umull r2, r3, r3, r1 806ea56: 08da lsrs r2, r3, #3 806ea58: 4613 mov r3, r2 806ea5a: 009b lsls r3, r3, #2 806ea5c: 4413 add r3, r2 806ea5e: 005b lsls r3, r3, #1 806ea60: 1aca subs r2, r1, r3 806ea62: b2d3 uxtb r3, r2 806ea64: 3330 adds r3, #48 ; 0x30 806ea66: b2da uxtb r2, r3 806ea68: f507 733b add.w r3, r7, #748 ; 0x2ec 806ea6c: 711a strb r2, [r3, #4] str[5] = ':'; 806ea6e: f507 733b add.w r3, r7, #748 ; 0x2ec 806ea72: 223a movs r2, #58 ; 0x3a 806ea74: 715a strb r2, [r3, #5] str[6] = (Sec / 10) + 48; 806ea76: f8d7 3418 ldr.w r3, [r7, #1048] ; 0x418 806ea7a: 4a18 ldr r2, [pc, #96] ; (806eadc ) 806ea7c: fba2 2303 umull r2, r3, r2, r3 806ea80: 08db lsrs r3, r3, #3 806ea82: b2db uxtb r3, r3 806ea84: 3330 adds r3, #48 ; 0x30 806ea86: b2da uxtb r2, r3 806ea88: f507 733b add.w r3, r7, #748 ; 0x2ec 806ea8c: 719a strb r2, [r3, #6] str[7] = (Sec % 10) + 48; 806ea8e: f8d7 1418 ldr.w r1, [r7, #1048] ; 0x418 806ea92: 4b12 ldr r3, [pc, #72] ; (806eadc ) 806ea94: fba3 2301 umull r2, r3, r3, r1 806ea98: 08da lsrs r2, r3, #3 806ea9a: 4613 mov r3, r2 806ea9c: 009b lsls r3, r3, #2 806ea9e: 4413 add r3, r2 806eaa0: 005b lsls r3, r3, #1 806eaa2: 1aca subs r2, r1, r3 806eaa4: b2d3 uxtb r3, r2 806eaa6: 3330 adds r3, #48 ; 0x30 806eaa8: b2da uxtb r2, r3 806eaaa: f507 733b add.w r3, r7, #748 ; 0x2ec 806eaae: 71da strb r2, [r3, #7] BSP_LCD_DisplayStringAt(190, 228, str, CENTER_MODE); 806eab0: f507 723b add.w r2, r7, #748 ; 0x2ec 806eab4: 2301 movs r3, #1 806eab6: 21e4 movs r1, #228 ; 0xe4 806eab8: 20be movs r0, #190 ; 0xbe 806eaba: f7e4 ff3d bl 8053938 806eabe: f000 bd76 b.w 806f5ae 806eac2: bf00 nop 806eac4: 080cfa6c .word 0x080cfa6c 806eac8: 080cfa60 .word 0x080cfa60 806eacc: 080cfa58 .word 0x080cfa58 806ead0: 080cfa50 .word 0x080cfa50 806ead4: 080ce854 .word 0x080ce854 806ead8: 64090000 .word 0x64090000 806eadc: cccccccd .word 0xcccccccd if(l == 2) 806eae0: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806eae4: 2b02 cmp r3, #2 806eae6: f040 821d bne.w 806ef24 k = CmplxA_u32(0); 806eaea: 4bde ldr r3, [pc, #888] ; (806ee64 ) 806eaec: 681b ldr r3, [r3, #0] 806eaee: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 Year = (k >> 25) - 20; 806eaf2: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806eaf6: 0e5b lsrs r3, r3, #25 806eaf8: 3b14 subs r3, #20 806eafa: f8c7 342c str.w r3, [r7, #1068] ; 0x42c Month = (k >> 21) & 0xf; 806eafe: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806eb02: 0d5b lsrs r3, r3, #21 806eb04: f003 030f and.w r3, r3, #15 806eb08: f8c7 3428 str.w r3, [r7, #1064] ; 0x428 Day = (k >> 16) & 0x1f; 806eb0c: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806eb10: 0c1b lsrs r3, r3, #16 806eb12: f003 031f and.w r3, r3, #31 806eb16: f8c7 3424 str.w r3, [r7, #1060] ; 0x424 Hour = (k >> 11) & 0x1f; 806eb1a: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806eb1e: 0adb lsrs r3, r3, #11 806eb20: f003 031f and.w r3, r3, #31 806eb24: f8c7 3420 str.w r3, [r7, #1056] ; 0x420 Min = (k >> 5) & 0x3f; 806eb28: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806eb2c: 095b lsrs r3, r3, #5 806eb2e: f003 033f and.w r3, r3, #63 ; 0x3f 806eb32: f8c7 341c str.w r3, [r7, #1052] ; 0x41c Sec = ((k << 1) & 0x1f) + 1; 806eb36: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806eb3a: 005b lsls r3, r3, #1 806eb3c: f003 031f and.w r3, r3, #31 806eb40: 3301 adds r3, #1 806eb42: f8c7 3418 str.w r3, [r7, #1048] ; 0x418 memset(str, 0, sizeof(str)); 806eb46: f507 733b add.w r3, r7, #748 ; 0x2ec 806eb4a: 223c movs r2, #60 ; 0x3c 806eb4c: 2100 movs r1, #0 806eb4e: 4618 mov r0, r3 806eb50: f05e fa7a bl 80cd048 str[0] = (Day / 10) + 48; 806eb54: f8d7 3424 ldr.w r3, [r7, #1060] ; 0x424 806eb58: 4ac3 ldr r2, [pc, #780] ; (806ee68 ) 806eb5a: fba2 2303 umull r2, r3, r2, r3 806eb5e: 08db lsrs r3, r3, #3 806eb60: b2db uxtb r3, r3 806eb62: 3330 adds r3, #48 ; 0x30 806eb64: b2da uxtb r2, r3 806eb66: f507 733b add.w r3, r7, #748 ; 0x2ec 806eb6a: 701a strb r2, [r3, #0] str[1] = (Day % 10) + 48; 806eb6c: f8d7 1424 ldr.w r1, [r7, #1060] ; 0x424 806eb70: 4bbd ldr r3, [pc, #756] ; (806ee68 ) 806eb72: fba3 2301 umull r2, r3, r3, r1 806eb76: 08da lsrs r2, r3, #3 806eb78: 4613 mov r3, r2 806eb7a: 009b lsls r3, r3, #2 806eb7c: 4413 add r3, r2 806eb7e: 005b lsls r3, r3, #1 806eb80: 1aca subs r2, r1, r3 806eb82: b2d3 uxtb r3, r2 806eb84: 3330 adds r3, #48 ; 0x30 806eb86: b2da uxtb r2, r3 806eb88: f507 733b add.w r3, r7, #748 ; 0x2ec 806eb8c: 705a strb r2, [r3, #1] str[2] = '.'; 806eb8e: f507 733b add.w r3, r7, #748 ; 0x2ec 806eb92: 222e movs r2, #46 ; 0x2e 806eb94: 709a strb r2, [r3, #2] str[3] = (Month / 10) + 48; 806eb96: f8d7 3428 ldr.w r3, [r7, #1064] ; 0x428 806eb9a: 4ab3 ldr r2, [pc, #716] ; (806ee68 ) 806eb9c: fba2 2303 umull r2, r3, r2, r3 806eba0: 08db lsrs r3, r3, #3 806eba2: b2db uxtb r3, r3 806eba4: 3330 adds r3, #48 ; 0x30 806eba6: b2da uxtb r2, r3 806eba8: f507 733b add.w r3, r7, #748 ; 0x2ec 806ebac: 70da strb r2, [r3, #3] str[4] = (Month % 10) + 48; 806ebae: f8d7 1428 ldr.w r1, [r7, #1064] ; 0x428 806ebb2: 4bad ldr r3, [pc, #692] ; (806ee68 ) 806ebb4: fba3 2301 umull r2, r3, r3, r1 806ebb8: 08da lsrs r2, r3, #3 806ebba: 4613 mov r3, r2 806ebbc: 009b lsls r3, r3, #2 806ebbe: 4413 add r3, r2 806ebc0: 005b lsls r3, r3, #1 806ebc2: 1aca subs r2, r1, r3 806ebc4: b2d3 uxtb r3, r2 806ebc6: 3330 adds r3, #48 ; 0x30 806ebc8: b2da uxtb r2, r3 806ebca: f507 733b add.w r3, r7, #748 ; 0x2ec 806ebce: 711a strb r2, [r3, #4] str[5] = '.'; 806ebd0: f507 733b add.w r3, r7, #748 ; 0x2ec 806ebd4: 222e movs r2, #46 ; 0x2e 806ebd6: 715a strb r2, [r3, #5] str[6] = (Year / 10) + 48; 806ebd8: f8d7 342c ldr.w r3, [r7, #1068] ; 0x42c 806ebdc: 4aa2 ldr r2, [pc, #648] ; (806ee68 ) 806ebde: fba2 2303 umull r2, r3, r2, r3 806ebe2: 08db lsrs r3, r3, #3 806ebe4: b2db uxtb r3, r3 806ebe6: 3330 adds r3, #48 ; 0x30 806ebe8: b2da uxtb r2, r3 806ebea: f507 733b add.w r3, r7, #748 ; 0x2ec 806ebee: 719a strb r2, [r3, #6] str[7] = (Year % 10) + 48; 806ebf0: f8d7 142c ldr.w r1, [r7, #1068] ; 0x42c 806ebf4: 4b9c ldr r3, [pc, #624] ; (806ee68 ) 806ebf6: fba3 2301 umull r2, r3, r3, r1 806ebfa: 08da lsrs r2, r3, #3 806ebfc: 4613 mov r3, r2 806ebfe: 009b lsls r3, r3, #2 806ec00: 4413 add r3, r2 806ec02: 005b lsls r3, r3, #1 806ec04: 1aca subs r2, r1, r3 806ec06: b2d3 uxtb r3, r2 806ec08: 3330 adds r3, #48 ; 0x30 806ec0a: b2da uxtb r2, r3 806ec0c: f507 733b add.w r3, r7, #748 ; 0x2ec 806ec10: 71da strb r2, [r3, #7] BSP_LCD_DisplayStringAt(80, 220, str, CENTER_MODE); 806ec12: f507 723b add.w r2, r7, #748 ; 0x2ec 806ec16: 2301 movs r3, #1 806ec18: 21dc movs r1, #220 ; 0xdc 806ec1a: 2050 movs r0, #80 ; 0x50 806ec1c: f7e4 fe8c bl 8053938 memset(str, 0, sizeof(str)); 806ec20: f507 733b add.w r3, r7, #748 ; 0x2ec 806ec24: 223c movs r2, #60 ; 0x3c 806ec26: 2100 movs r1, #0 806ec28: 4618 mov r0, r3 806ec2a: f05e fa0d bl 80cd048 str[0] = (Hour / 10) + 48; 806ec2e: f8d7 3420 ldr.w r3, [r7, #1056] ; 0x420 806ec32: 4a8d ldr r2, [pc, #564] ; (806ee68 ) 806ec34: fba2 2303 umull r2, r3, r2, r3 806ec38: 08db lsrs r3, r3, #3 806ec3a: b2db uxtb r3, r3 806ec3c: 3330 adds r3, #48 ; 0x30 806ec3e: b2da uxtb r2, r3 806ec40: f507 733b add.w r3, r7, #748 ; 0x2ec 806ec44: 701a strb r2, [r3, #0] str[1] = (Hour % 10) + 48; 806ec46: f8d7 1420 ldr.w r1, [r7, #1056] ; 0x420 806ec4a: 4b87 ldr r3, [pc, #540] ; (806ee68 ) 806ec4c: fba3 2301 umull r2, r3, r3, r1 806ec50: 08da lsrs r2, r3, #3 806ec52: 4613 mov r3, r2 806ec54: 009b lsls r3, r3, #2 806ec56: 4413 add r3, r2 806ec58: 005b lsls r3, r3, #1 806ec5a: 1aca subs r2, r1, r3 806ec5c: b2d3 uxtb r3, r2 806ec5e: 3330 adds r3, #48 ; 0x30 806ec60: b2da uxtb r2, r3 806ec62: f507 733b add.w r3, r7, #748 ; 0x2ec 806ec66: 705a strb r2, [r3, #1] str[2] = ':'; 806ec68: f507 733b add.w r3, r7, #748 ; 0x2ec 806ec6c: 223a movs r2, #58 ; 0x3a 806ec6e: 709a strb r2, [r3, #2] str[3] = (Min / 10) + 48; 806ec70: f8d7 341c ldr.w r3, [r7, #1052] ; 0x41c 806ec74: 4a7c ldr r2, [pc, #496] ; (806ee68 ) 806ec76: fba2 2303 umull r2, r3, r2, r3 806ec7a: 08db lsrs r3, r3, #3 806ec7c: b2db uxtb r3, r3 806ec7e: 3330 adds r3, #48 ; 0x30 806ec80: b2da uxtb r2, r3 806ec82: f507 733b add.w r3, r7, #748 ; 0x2ec 806ec86: 70da strb r2, [r3, #3] str[4] = (Min % 10) + 48; 806ec88: f8d7 141c ldr.w r1, [r7, #1052] ; 0x41c 806ec8c: 4b76 ldr r3, [pc, #472] ; (806ee68 ) 806ec8e: fba3 2301 umull r2, r3, r3, r1 806ec92: 08da lsrs r2, r3, #3 806ec94: 4613 mov r3, r2 806ec96: 009b lsls r3, r3, #2 806ec98: 4413 add r3, r2 806ec9a: 005b lsls r3, r3, #1 806ec9c: 1aca subs r2, r1, r3 806ec9e: b2d3 uxtb r3, r2 806eca0: 3330 adds r3, #48 ; 0x30 806eca2: b2da uxtb r2, r3 806eca4: f507 733b add.w r3, r7, #748 ; 0x2ec 806eca8: 711a strb r2, [r3, #4] str[5] = ':'; 806ecaa: f507 733b add.w r3, r7, #748 ; 0x2ec 806ecae: 223a movs r2, #58 ; 0x3a 806ecb0: 715a strb r2, [r3, #5] str[6] = (Sec / 10) + 48; 806ecb2: f8d7 3418 ldr.w r3, [r7, #1048] ; 0x418 806ecb6: 4a6c ldr r2, [pc, #432] ; (806ee68 ) 806ecb8: fba2 2303 umull r2, r3, r2, r3 806ecbc: 08db lsrs r3, r3, #3 806ecbe: b2db uxtb r3, r3 806ecc0: 3330 adds r3, #48 ; 0x30 806ecc2: b2da uxtb r2, r3 806ecc4: f507 733b add.w r3, r7, #748 ; 0x2ec 806ecc8: 719a strb r2, [r3, #6] str[7] = (Sec % 10) + 48; 806ecca: f8d7 1418 ldr.w r1, [r7, #1048] ; 0x418 806ecce: 4b66 ldr r3, [pc, #408] ; (806ee68 ) 806ecd0: fba3 2301 umull r2, r3, r3, r1 806ecd4: 08da lsrs r2, r3, #3 806ecd6: 4613 mov r3, r2 806ecd8: 009b lsls r3, r3, #2 806ecda: 4413 add r3, r2 806ecdc: 005b lsls r3, r3, #1 806ecde: 1aca subs r2, r1, r3 806ece0: b2d3 uxtb r3, r2 806ece2: 3330 adds r3, #48 ; 0x30 806ece4: b2da uxtb r2, r3 806ece6: f507 733b add.w r3, r7, #748 ; 0x2ec 806ecea: 71da strb r2, [r3, #7] BSP_LCD_DisplayStringAt(80, 228, str, CENTER_MODE); 806ecec: f507 723b add.w r2, r7, #748 ; 0x2ec 806ecf0: 2301 movs r3, #1 806ecf2: 21e4 movs r1, #228 ; 0xe4 806ecf4: 2050 movs r0, #80 ; 0x50 806ecf6: f7e4 fe1f bl 8053938 k = CmplxA_u32(1); 806ecfa: 4b5c ldr r3, [pc, #368] ; (806ee6c ) 806ecfc: 681b ldr r3, [r3, #0] 806ecfe: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 Year = (k >> 25) - 20; 806ed02: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806ed06: 0e5b lsrs r3, r3, #25 806ed08: 3b14 subs r3, #20 806ed0a: f8c7 342c str.w r3, [r7, #1068] ; 0x42c Month = (k >> 21) & 0xf; 806ed0e: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806ed12: 0d5b lsrs r3, r3, #21 806ed14: f003 030f and.w r3, r3, #15 806ed18: f8c7 3428 str.w r3, [r7, #1064] ; 0x428 Day = (k >> 16) & 0x1f; 806ed1c: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806ed20: 0c1b lsrs r3, r3, #16 806ed22: f003 031f and.w r3, r3, #31 806ed26: f8c7 3424 str.w r3, [r7, #1060] ; 0x424 Hour = (k >> 11) & 0x1f; 806ed2a: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806ed2e: 0adb lsrs r3, r3, #11 806ed30: f003 031f and.w r3, r3, #31 806ed34: f8c7 3420 str.w r3, [r7, #1056] ; 0x420 Min = (k >> 5) & 0x3f; 806ed38: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806ed3c: 095b lsrs r3, r3, #5 806ed3e: f003 033f and.w r3, r3, #63 ; 0x3f 806ed42: f8c7 341c str.w r3, [r7, #1052] ; 0x41c Sec = ((k << 1) & 0x1f) + 1; 806ed46: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806ed4a: 005b lsls r3, r3, #1 806ed4c: f003 031f and.w r3, r3, #31 806ed50: 3301 adds r3, #1 806ed52: f8c7 3418 str.w r3, [r7, #1048] ; 0x418 memset(str, 0, sizeof(str)); 806ed56: f507 733b add.w r3, r7, #748 ; 0x2ec 806ed5a: 223c movs r2, #60 ; 0x3c 806ed5c: 2100 movs r1, #0 806ed5e: 4618 mov r0, r3 806ed60: f05e f972 bl 80cd048 str[0] = (Day / 10) + 48; 806ed64: f8d7 3424 ldr.w r3, [r7, #1060] ; 0x424 806ed68: 4a3f ldr r2, [pc, #252] ; (806ee68 ) 806ed6a: fba2 2303 umull r2, r3, r2, r3 806ed6e: 08db lsrs r3, r3, #3 806ed70: b2db uxtb r3, r3 806ed72: 3330 adds r3, #48 ; 0x30 806ed74: b2da uxtb r2, r3 806ed76: f507 733b add.w r3, r7, #748 ; 0x2ec 806ed7a: 701a strb r2, [r3, #0] str[1] = (Day % 10) + 48; 806ed7c: f8d7 1424 ldr.w r1, [r7, #1060] ; 0x424 806ed80: 4b39 ldr r3, [pc, #228] ; (806ee68 ) 806ed82: fba3 2301 umull r2, r3, r3, r1 806ed86: 08da lsrs r2, r3, #3 806ed88: 4613 mov r3, r2 806ed8a: 009b lsls r3, r3, #2 806ed8c: 4413 add r3, r2 806ed8e: 005b lsls r3, r3, #1 806ed90: 1aca subs r2, r1, r3 806ed92: b2d3 uxtb r3, r2 806ed94: 3330 adds r3, #48 ; 0x30 806ed96: b2da uxtb r2, r3 806ed98: f507 733b add.w r3, r7, #748 ; 0x2ec 806ed9c: 705a strb r2, [r3, #1] str[2] = '.'; 806ed9e: f507 733b add.w r3, r7, #748 ; 0x2ec 806eda2: 222e movs r2, #46 ; 0x2e 806eda4: 709a strb r2, [r3, #2] str[3] = (Month / 10) + 48; 806eda6: f8d7 3428 ldr.w r3, [r7, #1064] ; 0x428 806edaa: 4a2f ldr r2, [pc, #188] ; (806ee68 ) 806edac: fba2 2303 umull r2, r3, r2, r3 806edb0: 08db lsrs r3, r3, #3 806edb2: b2db uxtb r3, r3 806edb4: 3330 adds r3, #48 ; 0x30 806edb6: b2da uxtb r2, r3 806edb8: f507 733b add.w r3, r7, #748 ; 0x2ec 806edbc: 70da strb r2, [r3, #3] str[4] = (Month % 10) + 48; 806edbe: f8d7 1428 ldr.w r1, [r7, #1064] ; 0x428 806edc2: 4b29 ldr r3, [pc, #164] ; (806ee68 ) 806edc4: fba3 2301 umull r2, r3, r3, r1 806edc8: 08da lsrs r2, r3, #3 806edca: 4613 mov r3, r2 806edcc: 009b lsls r3, r3, #2 806edce: 4413 add r3, r2 806edd0: 005b lsls r3, r3, #1 806edd2: 1aca subs r2, r1, r3 806edd4: b2d3 uxtb r3, r2 806edd6: 3330 adds r3, #48 ; 0x30 806edd8: b2da uxtb r2, r3 806edda: f507 733b add.w r3, r7, #748 ; 0x2ec 806edde: 711a strb r2, [r3, #4] str[5] = '.'; 806ede0: f507 733b add.w r3, r7, #748 ; 0x2ec 806ede4: 222e movs r2, #46 ; 0x2e 806ede6: 715a strb r2, [r3, #5] str[6] = (Year / 10) + 48; 806ede8: f8d7 342c ldr.w r3, [r7, #1068] ; 0x42c 806edec: 4a1e ldr r2, [pc, #120] ; (806ee68 ) 806edee: fba2 2303 umull r2, r3, r2, r3 806edf2: 08db lsrs r3, r3, #3 806edf4: b2db uxtb r3, r3 806edf6: 3330 adds r3, #48 ; 0x30 806edf8: b2da uxtb r2, r3 806edfa: f507 733b add.w r3, r7, #748 ; 0x2ec 806edfe: 719a strb r2, [r3, #6] str[7] = (Year % 10) + 48; 806ee00: f8d7 142c ldr.w r1, [r7, #1068] ; 0x42c 806ee04: 4b18 ldr r3, [pc, #96] ; (806ee68 ) 806ee06: fba3 2301 umull r2, r3, r3, r1 806ee0a: 08da lsrs r2, r3, #3 806ee0c: 4613 mov r3, r2 806ee0e: 009b lsls r3, r3, #2 806ee10: 4413 add r3, r2 806ee12: 005b lsls r3, r3, #1 806ee14: 1aca subs r2, r1, r3 806ee16: b2d3 uxtb r3, r2 806ee18: 3330 adds r3, #48 ; 0x30 806ee1a: b2da uxtb r2, r3 806ee1c: f507 733b add.w r3, r7, #748 ; 0x2ec 806ee20: 71da strb r2, [r3, #7] BSP_LCD_DisplayStringAt(298, 220, str, CENTER_MODE); 806ee22: f507 723b add.w r2, r7, #748 ; 0x2ec 806ee26: 2301 movs r3, #1 806ee28: 21dc movs r1, #220 ; 0xdc 806ee2a: f44f 7095 mov.w r0, #298 ; 0x12a 806ee2e: f7e4 fd83 bl 8053938 memset(str, 0, sizeof(str)); 806ee32: f507 733b add.w r3, r7, #748 ; 0x2ec 806ee36: 223c movs r2, #60 ; 0x3c 806ee38: 2100 movs r1, #0 806ee3a: 4618 mov r0, r3 806ee3c: f05e f904 bl 80cd048 str[0] = (Hour / 10) + 48; 806ee40: f8d7 3420 ldr.w r3, [r7, #1056] ; 0x420 806ee44: 4a08 ldr r2, [pc, #32] ; (806ee68 ) 806ee46: fba2 2303 umull r2, r3, r2, r3 806ee4a: 08db lsrs r3, r3, #3 806ee4c: b2db uxtb r3, r3 806ee4e: 3330 adds r3, #48 ; 0x30 806ee50: b2da uxtb r2, r3 806ee52: f507 733b add.w r3, r7, #748 ; 0x2ec 806ee56: 701a strb r2, [r3, #0] str[1] = (Hour % 10) + 48; 806ee58: f8d7 1420 ldr.w r1, [r7, #1056] ; 0x420 806ee5c: 4b02 ldr r3, [pc, #8] ; (806ee68 ) 806ee5e: fba3 2301 umull r2, r3, r3, r1 806ee62: e005 b.n 806ee70 806ee64: 64090000 .word 0x64090000 806ee68: cccccccd .word 0xcccccccd 806ee6c: 64090004 .word 0x64090004 806ee70: 08da lsrs r2, r3, #3 806ee72: 4613 mov r3, r2 806ee74: 009b lsls r3, r3, #2 806ee76: 4413 add r3, r2 806ee78: 005b lsls r3, r3, #1 806ee7a: 1aca subs r2, r1, r3 806ee7c: b2d3 uxtb r3, r2 806ee7e: 3330 adds r3, #48 ; 0x30 806ee80: b2da uxtb r2, r3 806ee82: f507 733b add.w r3, r7, #748 ; 0x2ec 806ee86: 705a strb r2, [r3, #1] str[2] = ':'; 806ee88: f507 733b add.w r3, r7, #748 ; 0x2ec 806ee8c: 223a movs r2, #58 ; 0x3a 806ee8e: 709a strb r2, [r3, #2] str[3] = (Min / 10) + 48; 806ee90: f8d7 341c ldr.w r3, [r7, #1052] ; 0x41c 806ee94: 4a22 ldr r2, [pc, #136] ; (806ef20 ) 806ee96: fba2 2303 umull r2, r3, r2, r3 806ee9a: 08db lsrs r3, r3, #3 806ee9c: b2db uxtb r3, r3 806ee9e: 3330 adds r3, #48 ; 0x30 806eea0: b2da uxtb r2, r3 806eea2: f507 733b add.w r3, r7, #748 ; 0x2ec 806eea6: 70da strb r2, [r3, #3] str[4] = (Min % 10) + 48; 806eea8: f8d7 141c ldr.w r1, [r7, #1052] ; 0x41c 806eeac: 4b1c ldr r3, [pc, #112] ; (806ef20 ) 806eeae: fba3 2301 umull r2, r3, r3, r1 806eeb2: 08da lsrs r2, r3, #3 806eeb4: 4613 mov r3, r2 806eeb6: 009b lsls r3, r3, #2 806eeb8: 4413 add r3, r2 806eeba: 005b lsls r3, r3, #1 806eebc: 1aca subs r2, r1, r3 806eebe: b2d3 uxtb r3, r2 806eec0: 3330 adds r3, #48 ; 0x30 806eec2: b2da uxtb r2, r3 806eec4: f507 733b add.w r3, r7, #748 ; 0x2ec 806eec8: 711a strb r2, [r3, #4] str[5] = ':'; 806eeca: f507 733b add.w r3, r7, #748 ; 0x2ec 806eece: 223a movs r2, #58 ; 0x3a 806eed0: 715a strb r2, [r3, #5] str[6] = (Sec / 10) + 48; 806eed2: f8d7 3418 ldr.w r3, [r7, #1048] ; 0x418 806eed6: 4a12 ldr r2, [pc, #72] ; (806ef20 ) 806eed8: fba2 2303 umull r2, r3, r2, r3 806eedc: 08db lsrs r3, r3, #3 806eede: b2db uxtb r3, r3 806eee0: 3330 adds r3, #48 ; 0x30 806eee2: b2da uxtb r2, r3 806eee4: f507 733b add.w r3, r7, #748 ; 0x2ec 806eee8: 719a strb r2, [r3, #6] str[7] = (Sec % 10) + 48; 806eeea: f8d7 1418 ldr.w r1, [r7, #1048] ; 0x418 806eeee: 4b0c ldr r3, [pc, #48] ; (806ef20 ) 806eef0: fba3 2301 umull r2, r3, r3, r1 806eef4: 08da lsrs r2, r3, #3 806eef6: 4613 mov r3, r2 806eef8: 009b lsls r3, r3, #2 806eefa: 4413 add r3, r2 806eefc: 005b lsls r3, r3, #1 806eefe: 1aca subs r2, r1, r3 806ef00: b2d3 uxtb r3, r2 806ef02: 3330 adds r3, #48 ; 0x30 806ef04: b2da uxtb r2, r3 806ef06: f507 733b add.w r3, r7, #748 ; 0x2ec 806ef0a: 71da strb r2, [r3, #7] BSP_LCD_DisplayStringAt(298, 228, str, CENTER_MODE); 806ef0c: f507 723b add.w r2, r7, #748 ; 0x2ec 806ef10: 2301 movs r3, #1 806ef12: 21e4 movs r1, #228 ; 0xe4 806ef14: f44f 7095 mov.w r0, #298 ; 0x12a 806ef18: f7e4 fd0e bl 8053938 806ef1c: e347 b.n 806f5ae 806ef1e: bf00 nop 806ef20: cccccccd .word 0xcccccccd k = CmplxA_u32(0); 806ef24: 4be0 ldr r3, [pc, #896] ; (806f2a8 ) 806ef26: 681b ldr r3, [r3, #0] 806ef28: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 Year = (k >> 25) - 20; 806ef2c: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806ef30: 0e5b lsrs r3, r3, #25 806ef32: 3b14 subs r3, #20 806ef34: f8c7 342c str.w r3, [r7, #1068] ; 0x42c Month = (k >> 21) & 0xf; 806ef38: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806ef3c: 0d5b lsrs r3, r3, #21 806ef3e: f003 030f and.w r3, r3, #15 806ef42: f8c7 3428 str.w r3, [r7, #1064] ; 0x428 Day = (k >> 16) & 0x1f; 806ef46: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806ef4a: 0c1b lsrs r3, r3, #16 806ef4c: f003 031f and.w r3, r3, #31 806ef50: f8c7 3424 str.w r3, [r7, #1060] ; 0x424 Hour = (k >> 11) & 0x1f; 806ef54: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806ef58: 0adb lsrs r3, r3, #11 806ef5a: f003 031f and.w r3, r3, #31 806ef5e: f8c7 3420 str.w r3, [r7, #1056] ; 0x420 Min = (k >> 5) & 0x3f; 806ef62: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806ef66: 095b lsrs r3, r3, #5 806ef68: f003 033f and.w r3, r3, #63 ; 0x3f 806ef6c: f8c7 341c str.w r3, [r7, #1052] ; 0x41c Sec = ((k << 1) & 0x1f) + 1; 806ef70: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806ef74: 005b lsls r3, r3, #1 806ef76: f003 031f and.w r3, r3, #31 806ef7a: 3301 adds r3, #1 806ef7c: f8c7 3418 str.w r3, [r7, #1048] ; 0x418 memset(str, 0, sizeof(str)); 806ef80: f507 733b add.w r3, r7, #748 ; 0x2ec 806ef84: 223c movs r2, #60 ; 0x3c 806ef86: 2100 movs r1, #0 806ef88: 4618 mov r0, r3 806ef8a: f05e f85d bl 80cd048 str[0] = (Day / 10) + 48; 806ef8e: f8d7 3424 ldr.w r3, [r7, #1060] ; 0x424 806ef92: 4ac6 ldr r2, [pc, #792] ; (806f2ac ) 806ef94: fba2 2303 umull r2, r3, r2, r3 806ef98: 08db lsrs r3, r3, #3 806ef9a: b2db uxtb r3, r3 806ef9c: 3330 adds r3, #48 ; 0x30 806ef9e: b2da uxtb r2, r3 806efa0: f507 733b add.w r3, r7, #748 ; 0x2ec 806efa4: 701a strb r2, [r3, #0] str[1] = (Day % 10) + 48; 806efa6: f8d7 1424 ldr.w r1, [r7, #1060] ; 0x424 806efaa: 4bc0 ldr r3, [pc, #768] ; (806f2ac ) 806efac: fba3 2301 umull r2, r3, r3, r1 806efb0: 08da lsrs r2, r3, #3 806efb2: 4613 mov r3, r2 806efb4: 009b lsls r3, r3, #2 806efb6: 4413 add r3, r2 806efb8: 005b lsls r3, r3, #1 806efba: 1aca subs r2, r1, r3 806efbc: b2d3 uxtb r3, r2 806efbe: 3330 adds r3, #48 ; 0x30 806efc0: b2da uxtb r2, r3 806efc2: f507 733b add.w r3, r7, #748 ; 0x2ec 806efc6: 705a strb r2, [r3, #1] str[2] = '.'; 806efc8: f507 733b add.w r3, r7, #748 ; 0x2ec 806efcc: 222e movs r2, #46 ; 0x2e 806efce: 709a strb r2, [r3, #2] str[3] = (Month / 10) + 48; 806efd0: f8d7 3428 ldr.w r3, [r7, #1064] ; 0x428 806efd4: 4ab5 ldr r2, [pc, #724] ; (806f2ac ) 806efd6: fba2 2303 umull r2, r3, r2, r3 806efda: 08db lsrs r3, r3, #3 806efdc: b2db uxtb r3, r3 806efde: 3330 adds r3, #48 ; 0x30 806efe0: b2da uxtb r2, r3 806efe2: f507 733b add.w r3, r7, #748 ; 0x2ec 806efe6: 70da strb r2, [r3, #3] str[4] = (Month % 10) + 48; 806efe8: f8d7 1428 ldr.w r1, [r7, #1064] ; 0x428 806efec: 4baf ldr r3, [pc, #700] ; (806f2ac ) 806efee: fba3 2301 umull r2, r3, r3, r1 806eff2: 08da lsrs r2, r3, #3 806eff4: 4613 mov r3, r2 806eff6: 009b lsls r3, r3, #2 806eff8: 4413 add r3, r2 806effa: 005b lsls r3, r3, #1 806effc: 1aca subs r2, r1, r3 806effe: b2d3 uxtb r3, r2 806f000: 3330 adds r3, #48 ; 0x30 806f002: b2da uxtb r2, r3 806f004: f507 733b add.w r3, r7, #748 ; 0x2ec 806f008: 711a strb r2, [r3, #4] str[5] = '.'; 806f00a: f507 733b add.w r3, r7, #748 ; 0x2ec 806f00e: 222e movs r2, #46 ; 0x2e 806f010: 715a strb r2, [r3, #5] str[6] = (Year / 10) + 48; 806f012: f8d7 342c ldr.w r3, [r7, #1068] ; 0x42c 806f016: 4aa5 ldr r2, [pc, #660] ; (806f2ac ) 806f018: fba2 2303 umull r2, r3, r2, r3 806f01c: 08db lsrs r3, r3, #3 806f01e: b2db uxtb r3, r3 806f020: 3330 adds r3, #48 ; 0x30 806f022: b2da uxtb r2, r3 806f024: f507 733b add.w r3, r7, #748 ; 0x2ec 806f028: 719a strb r2, [r3, #6] str[7] = (Year % 10) + 48; 806f02a: f8d7 142c ldr.w r1, [r7, #1068] ; 0x42c 806f02e: 4b9f ldr r3, [pc, #636] ; (806f2ac ) 806f030: fba3 2301 umull r2, r3, r3, r1 806f034: 08da lsrs r2, r3, #3 806f036: 4613 mov r3, r2 806f038: 009b lsls r3, r3, #2 806f03a: 4413 add r3, r2 806f03c: 005b lsls r3, r3, #1 806f03e: 1aca subs r2, r1, r3 806f040: b2d3 uxtb r3, r2 806f042: 3330 adds r3, #48 ; 0x30 806f044: b2da uxtb r2, r3 806f046: f507 733b add.w r3, r7, #748 ; 0x2ec 806f04a: 71da strb r2, [r3, #7] BSP_LCD_DisplayStringAt(80, 220, str, CENTER_MODE); 806f04c: f507 723b add.w r2, r7, #748 ; 0x2ec 806f050: 2301 movs r3, #1 806f052: 21dc movs r1, #220 ; 0xdc 806f054: 2050 movs r0, #80 ; 0x50 806f056: f7e4 fc6f bl 8053938 memset(str, 0, sizeof(str)); 806f05a: f507 733b add.w r3, r7, #748 ; 0x2ec 806f05e: 223c movs r2, #60 ; 0x3c 806f060: 2100 movs r1, #0 806f062: 4618 mov r0, r3 806f064: f05d fff0 bl 80cd048 str[0] = (Hour / 10) + 48; 806f068: f8d7 3420 ldr.w r3, [r7, #1056] ; 0x420 806f06c: 4a8f ldr r2, [pc, #572] ; (806f2ac ) 806f06e: fba2 2303 umull r2, r3, r2, r3 806f072: 08db lsrs r3, r3, #3 806f074: b2db uxtb r3, r3 806f076: 3330 adds r3, #48 ; 0x30 806f078: b2da uxtb r2, r3 806f07a: f507 733b add.w r3, r7, #748 ; 0x2ec 806f07e: 701a strb r2, [r3, #0] str[1] = (Hour % 10) + 48; 806f080: f8d7 1420 ldr.w r1, [r7, #1056] ; 0x420 806f084: 4b89 ldr r3, [pc, #548] ; (806f2ac ) 806f086: fba3 2301 umull r2, r3, r3, r1 806f08a: 08da lsrs r2, r3, #3 806f08c: 4613 mov r3, r2 806f08e: 009b lsls r3, r3, #2 806f090: 4413 add r3, r2 806f092: 005b lsls r3, r3, #1 806f094: 1aca subs r2, r1, r3 806f096: b2d3 uxtb r3, r2 806f098: 3330 adds r3, #48 ; 0x30 806f09a: b2da uxtb r2, r3 806f09c: f507 733b add.w r3, r7, #748 ; 0x2ec 806f0a0: 705a strb r2, [r3, #1] str[2] = ':'; 806f0a2: f507 733b add.w r3, r7, #748 ; 0x2ec 806f0a6: 223a movs r2, #58 ; 0x3a 806f0a8: 709a strb r2, [r3, #2] str[3] = (Min / 10) + 48; 806f0aa: f8d7 341c ldr.w r3, [r7, #1052] ; 0x41c 806f0ae: 4a7f ldr r2, [pc, #508] ; (806f2ac ) 806f0b0: fba2 2303 umull r2, r3, r2, r3 806f0b4: 08db lsrs r3, r3, #3 806f0b6: b2db uxtb r3, r3 806f0b8: 3330 adds r3, #48 ; 0x30 806f0ba: b2da uxtb r2, r3 806f0bc: f507 733b add.w r3, r7, #748 ; 0x2ec 806f0c0: 70da strb r2, [r3, #3] str[4] = (Min % 10) + 48; 806f0c2: f8d7 141c ldr.w r1, [r7, #1052] ; 0x41c 806f0c6: 4b79 ldr r3, [pc, #484] ; (806f2ac ) 806f0c8: fba3 2301 umull r2, r3, r3, r1 806f0cc: 08da lsrs r2, r3, #3 806f0ce: 4613 mov r3, r2 806f0d0: 009b lsls r3, r3, #2 806f0d2: 4413 add r3, r2 806f0d4: 005b lsls r3, r3, #1 806f0d6: 1aca subs r2, r1, r3 806f0d8: b2d3 uxtb r3, r2 806f0da: 3330 adds r3, #48 ; 0x30 806f0dc: b2da uxtb r2, r3 806f0de: f507 733b add.w r3, r7, #748 ; 0x2ec 806f0e2: 711a strb r2, [r3, #4] str[5] = ':'; 806f0e4: f507 733b add.w r3, r7, #748 ; 0x2ec 806f0e8: 223a movs r2, #58 ; 0x3a 806f0ea: 715a strb r2, [r3, #5] str[6] = (Sec / 10) + 48; 806f0ec: f8d7 3418 ldr.w r3, [r7, #1048] ; 0x418 806f0f0: 4a6e ldr r2, [pc, #440] ; (806f2ac ) 806f0f2: fba2 2303 umull r2, r3, r2, r3 806f0f6: 08db lsrs r3, r3, #3 806f0f8: b2db uxtb r3, r3 806f0fa: 3330 adds r3, #48 ; 0x30 806f0fc: b2da uxtb r2, r3 806f0fe: f507 733b add.w r3, r7, #748 ; 0x2ec 806f102: 719a strb r2, [r3, #6] str[7] = (Sec % 10) + 48; 806f104: f8d7 1418 ldr.w r1, [r7, #1048] ; 0x418 806f108: 4b68 ldr r3, [pc, #416] ; (806f2ac ) 806f10a: fba3 2301 umull r2, r3, r3, r1 806f10e: 08da lsrs r2, r3, #3 806f110: 4613 mov r3, r2 806f112: 009b lsls r3, r3, #2 806f114: 4413 add r3, r2 806f116: 005b lsls r3, r3, #1 806f118: 1aca subs r2, r1, r3 806f11a: b2d3 uxtb r3, r2 806f11c: 3330 adds r3, #48 ; 0x30 806f11e: b2da uxtb r2, r3 806f120: f507 733b add.w r3, r7, #748 ; 0x2ec 806f124: 71da strb r2, [r3, #7] BSP_LCD_DisplayStringAt(80, 228, str, CENTER_MODE); 806f126: f507 723b add.w r2, r7, #748 ; 0x2ec 806f12a: 2301 movs r3, #1 806f12c: 21e4 movs r1, #228 ; 0xe4 806f12e: 2050 movs r0, #80 ; 0x50 806f130: f7e4 fc02 bl 8053938 f = (float32_t) l / 2; 806f134: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806f138: ee07 3a90 vmov s15, r3 806f13c: eeb8 7a67 vcvt.f32.u32 s14, s15 806f140: eef0 6a00 vmov.f32 s13, #0 ; 0x40000000 2.0 806f144: eec7 7a26 vdiv.f32 s15, s14, s13 806f148: f507 638b add.w r3, r7, #1112 ; 0x458 806f14c: edc3 7a00 vstr s15, [r3] i = (uint32_t) (f + 0.5f); 806f150: f507 638b add.w r3, r7, #1112 ; 0x458 806f154: edd3 7a00 vldr s15, [r3] 806f158: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 806f15c: ee77 7a87 vadd.f32 s15, s15, s14 806f160: eefc 7ae7 vcvt.u32.f32 s15, s15 806f164: ee17 3a90 vmov r3, s15 806f168: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 k = CmplxA_u32(i); 806f16c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806f170: 009a lsls r2, r3, #2 806f172: 4b4d ldr r3, [pc, #308] ; (806f2a8 ) 806f174: 4413 add r3, r2 806f176: 681b ldr r3, [r3, #0] 806f178: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 Year = (k >> 25) - 20; 806f17c: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806f180: 0e5b lsrs r3, r3, #25 806f182: 3b14 subs r3, #20 806f184: f8c7 342c str.w r3, [r7, #1068] ; 0x42c Month = (k >> 21) & 0xf; 806f188: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806f18c: 0d5b lsrs r3, r3, #21 806f18e: f003 030f and.w r3, r3, #15 806f192: f8c7 3428 str.w r3, [r7, #1064] ; 0x428 Day = (k >> 16) & 0x1f; 806f196: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806f19a: 0c1b lsrs r3, r3, #16 806f19c: f003 031f and.w r3, r3, #31 806f1a0: f8c7 3424 str.w r3, [r7, #1060] ; 0x424 Hour = (k >> 11) & 0x1f; 806f1a4: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806f1a8: 0adb lsrs r3, r3, #11 806f1aa: f003 031f and.w r3, r3, #31 806f1ae: f8c7 3420 str.w r3, [r7, #1056] ; 0x420 Min = (k >> 5) & 0x3f; 806f1b2: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806f1b6: 095b lsrs r3, r3, #5 806f1b8: f003 033f and.w r3, r3, #63 ; 0x3f 806f1bc: f8c7 341c str.w r3, [r7, #1052] ; 0x41c Sec = ((k << 1) & 0x1f) + 1; 806f1c0: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806f1c4: 005b lsls r3, r3, #1 806f1c6: f003 031f and.w r3, r3, #31 806f1ca: 3301 adds r3, #1 806f1cc: f8c7 3418 str.w r3, [r7, #1048] ; 0x418 memset(str, 0, sizeof(str)); 806f1d0: f507 733b add.w r3, r7, #748 ; 0x2ec 806f1d4: 223c movs r2, #60 ; 0x3c 806f1d6: 2100 movs r1, #0 806f1d8: 4618 mov r0, r3 806f1da: f05d ff35 bl 80cd048 str[0] = (Day / 10) + 48; 806f1de: f8d7 3424 ldr.w r3, [r7, #1060] ; 0x424 806f1e2: 4a32 ldr r2, [pc, #200] ; (806f2ac ) 806f1e4: fba2 2303 umull r2, r3, r2, r3 806f1e8: 08db lsrs r3, r3, #3 806f1ea: b2db uxtb r3, r3 806f1ec: 3330 adds r3, #48 ; 0x30 806f1ee: b2da uxtb r2, r3 806f1f0: f507 733b add.w r3, r7, #748 ; 0x2ec 806f1f4: 701a strb r2, [r3, #0] str[1] = (Day % 10) + 48; 806f1f6: f8d7 1424 ldr.w r1, [r7, #1060] ; 0x424 806f1fa: 4b2c ldr r3, [pc, #176] ; (806f2ac ) 806f1fc: fba3 2301 umull r2, r3, r3, r1 806f200: 08da lsrs r2, r3, #3 806f202: 4613 mov r3, r2 806f204: 009b lsls r3, r3, #2 806f206: 4413 add r3, r2 806f208: 005b lsls r3, r3, #1 806f20a: 1aca subs r2, r1, r3 806f20c: b2d3 uxtb r3, r2 806f20e: 3330 adds r3, #48 ; 0x30 806f210: b2da uxtb r2, r3 806f212: f507 733b add.w r3, r7, #748 ; 0x2ec 806f216: 705a strb r2, [r3, #1] str[2] = '.'; 806f218: f507 733b add.w r3, r7, #748 ; 0x2ec 806f21c: 222e movs r2, #46 ; 0x2e 806f21e: 709a strb r2, [r3, #2] str[3] = (Month / 10) + 48; 806f220: f8d7 3428 ldr.w r3, [r7, #1064] ; 0x428 806f224: 4a21 ldr r2, [pc, #132] ; (806f2ac ) 806f226: fba2 2303 umull r2, r3, r2, r3 806f22a: 08db lsrs r3, r3, #3 806f22c: b2db uxtb r3, r3 806f22e: 3330 adds r3, #48 ; 0x30 806f230: b2da uxtb r2, r3 806f232: f507 733b add.w r3, r7, #748 ; 0x2ec 806f236: 70da strb r2, [r3, #3] str[4] = (Month % 10) + 48; 806f238: f8d7 1428 ldr.w r1, [r7, #1064] ; 0x428 806f23c: 4b1b ldr r3, [pc, #108] ; (806f2ac ) 806f23e: fba3 2301 umull r2, r3, r3, r1 806f242: 08da lsrs r2, r3, #3 806f244: 4613 mov r3, r2 806f246: 009b lsls r3, r3, #2 806f248: 4413 add r3, r2 806f24a: 005b lsls r3, r3, #1 806f24c: 1aca subs r2, r1, r3 806f24e: b2d3 uxtb r3, r2 806f250: 3330 adds r3, #48 ; 0x30 806f252: b2da uxtb r2, r3 806f254: f507 733b add.w r3, r7, #748 ; 0x2ec 806f258: 711a strb r2, [r3, #4] str[5] = '.'; 806f25a: f507 733b add.w r3, r7, #748 ; 0x2ec 806f25e: 222e movs r2, #46 ; 0x2e 806f260: 715a strb r2, [r3, #5] str[6] = (Year / 10) + 48; 806f262: f8d7 342c ldr.w r3, [r7, #1068] ; 0x42c 806f266: 4a11 ldr r2, [pc, #68] ; (806f2ac ) 806f268: fba2 2303 umull r2, r3, r2, r3 806f26c: 08db lsrs r3, r3, #3 806f26e: b2db uxtb r3, r3 806f270: 3330 adds r3, #48 ; 0x30 806f272: b2da uxtb r2, r3 806f274: f507 733b add.w r3, r7, #748 ; 0x2ec 806f278: 719a strb r2, [r3, #6] str[7] = (Year % 10) + 48; 806f27a: f8d7 142c ldr.w r1, [r7, #1068] ; 0x42c 806f27e: 4b0b ldr r3, [pc, #44] ; (806f2ac ) 806f280: fba3 2301 umull r2, r3, r3, r1 806f284: 08da lsrs r2, r3, #3 806f286: 4613 mov r3, r2 806f288: 009b lsls r3, r3, #2 806f28a: 4413 add r3, r2 806f28c: 005b lsls r3, r3, #1 806f28e: 1aca subs r2, r1, r3 806f290: b2d3 uxtb r3, r2 806f292: 3330 adds r3, #48 ; 0x30 806f294: b2da uxtb r2, r3 806f296: f507 733b add.w r3, r7, #748 ; 0x2ec 806f29a: 71da strb r2, [r3, #7] BSP_LCD_DisplayStringAt(190, 220, str, CENTER_MODE); 806f29c: f507 723b add.w r2, r7, #748 ; 0x2ec 806f2a0: 2301 movs r3, #1 806f2a2: 21dc movs r1, #220 ; 0xdc 806f2a4: e004 b.n 806f2b0 806f2a6: bf00 nop 806f2a8: 64090000 .word 0x64090000 806f2ac: cccccccd .word 0xcccccccd 806f2b0: 20be movs r0, #190 ; 0xbe 806f2b2: f7e4 fb41 bl 8053938 memset(str, 0, sizeof(str)); 806f2b6: f507 733b add.w r3, r7, #748 ; 0x2ec 806f2ba: 223c movs r2, #60 ; 0x3c 806f2bc: 2100 movs r1, #0 806f2be: 4618 mov r0, r3 806f2c0: f05d fec2 bl 80cd048 str[0] = (Hour / 10) + 48; 806f2c4: f8d7 3420 ldr.w r3, [r7, #1056] ; 0x420 806f2c8: 4ad8 ldr r2, [pc, #864] ; (806f62c ) 806f2ca: fba2 2303 umull r2, r3, r2, r3 806f2ce: 08db lsrs r3, r3, #3 806f2d0: b2db uxtb r3, r3 806f2d2: 3330 adds r3, #48 ; 0x30 806f2d4: b2da uxtb r2, r3 806f2d6: f507 733b add.w r3, r7, #748 ; 0x2ec 806f2da: 701a strb r2, [r3, #0] str[1] = (Hour % 10) + 48; 806f2dc: f8d7 1420 ldr.w r1, [r7, #1056] ; 0x420 806f2e0: 4bd2 ldr r3, [pc, #840] ; (806f62c ) 806f2e2: fba3 2301 umull r2, r3, r3, r1 806f2e6: 08da lsrs r2, r3, #3 806f2e8: 4613 mov r3, r2 806f2ea: 009b lsls r3, r3, #2 806f2ec: 4413 add r3, r2 806f2ee: 005b lsls r3, r3, #1 806f2f0: 1aca subs r2, r1, r3 806f2f2: b2d3 uxtb r3, r2 806f2f4: 3330 adds r3, #48 ; 0x30 806f2f6: b2da uxtb r2, r3 806f2f8: f507 733b add.w r3, r7, #748 ; 0x2ec 806f2fc: 705a strb r2, [r3, #1] str[2] = ':'; 806f2fe: f507 733b add.w r3, r7, #748 ; 0x2ec 806f302: 223a movs r2, #58 ; 0x3a 806f304: 709a strb r2, [r3, #2] str[3] = (Min / 10) + 48; 806f306: f8d7 341c ldr.w r3, [r7, #1052] ; 0x41c 806f30a: 4ac8 ldr r2, [pc, #800] ; (806f62c ) 806f30c: fba2 2303 umull r2, r3, r2, r3 806f310: 08db lsrs r3, r3, #3 806f312: b2db uxtb r3, r3 806f314: 3330 adds r3, #48 ; 0x30 806f316: b2da uxtb r2, r3 806f318: f507 733b add.w r3, r7, #748 ; 0x2ec 806f31c: 70da strb r2, [r3, #3] str[4] = (Min % 10) + 48; 806f31e: f8d7 141c ldr.w r1, [r7, #1052] ; 0x41c 806f322: 4bc2 ldr r3, [pc, #776] ; (806f62c ) 806f324: fba3 2301 umull r2, r3, r3, r1 806f328: 08da lsrs r2, r3, #3 806f32a: 4613 mov r3, r2 806f32c: 009b lsls r3, r3, #2 806f32e: 4413 add r3, r2 806f330: 005b lsls r3, r3, #1 806f332: 1aca subs r2, r1, r3 806f334: b2d3 uxtb r3, r2 806f336: 3330 adds r3, #48 ; 0x30 806f338: b2da uxtb r2, r3 806f33a: f507 733b add.w r3, r7, #748 ; 0x2ec 806f33e: 711a strb r2, [r3, #4] str[5] = ':'; 806f340: f507 733b add.w r3, r7, #748 ; 0x2ec 806f344: 223a movs r2, #58 ; 0x3a 806f346: 715a strb r2, [r3, #5] str[6] = (Sec / 10) + 48; 806f348: f8d7 3418 ldr.w r3, [r7, #1048] ; 0x418 806f34c: 4ab7 ldr r2, [pc, #732] ; (806f62c ) 806f34e: fba2 2303 umull r2, r3, r2, r3 806f352: 08db lsrs r3, r3, #3 806f354: b2db uxtb r3, r3 806f356: 3330 adds r3, #48 ; 0x30 806f358: b2da uxtb r2, r3 806f35a: f507 733b add.w r3, r7, #748 ; 0x2ec 806f35e: 719a strb r2, [r3, #6] str[7] = (Sec % 10) + 48; 806f360: f8d7 1418 ldr.w r1, [r7, #1048] ; 0x418 806f364: 4bb1 ldr r3, [pc, #708] ; (806f62c ) 806f366: fba3 2301 umull r2, r3, r3, r1 806f36a: 08da lsrs r2, r3, #3 806f36c: 4613 mov r3, r2 806f36e: 009b lsls r3, r3, #2 806f370: 4413 add r3, r2 806f372: 005b lsls r3, r3, #1 806f374: 1aca subs r2, r1, r3 806f376: b2d3 uxtb r3, r2 806f378: 3330 adds r3, #48 ; 0x30 806f37a: b2da uxtb r2, r3 806f37c: f507 733b add.w r3, r7, #748 ; 0x2ec 806f380: 71da strb r2, [r3, #7] BSP_LCD_DisplayStringAt(190, 228, str, CENTER_MODE); 806f382: f507 723b add.w r2, r7, #748 ; 0x2ec 806f386: 2301 movs r3, #1 806f388: 21e4 movs r1, #228 ; 0xe4 806f38a: 20be movs r0, #190 ; 0xbe 806f38c: f7e4 fad4 bl 8053938 k = CmplxA_u32(l - 1); 806f390: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806f394: 3b01 subs r3, #1 806f396: 009a lsls r2, r3, #2 806f398: 4ba5 ldr r3, [pc, #660] ; (806f630 ) 806f39a: 4413 add r3, r2 806f39c: 681b ldr r3, [r3, #0] 806f39e: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 Year = (k >> 25) - 20; 806f3a2: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806f3a6: 0e5b lsrs r3, r3, #25 806f3a8: 3b14 subs r3, #20 806f3aa: f8c7 342c str.w r3, [r7, #1068] ; 0x42c Month = (k >> 21) & 0xf; 806f3ae: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806f3b2: 0d5b lsrs r3, r3, #21 806f3b4: f003 030f and.w r3, r3, #15 806f3b8: f8c7 3428 str.w r3, [r7, #1064] ; 0x428 Day = (k >> 16) & 0x1f; 806f3bc: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806f3c0: 0c1b lsrs r3, r3, #16 806f3c2: f003 031f and.w r3, r3, #31 806f3c6: f8c7 3424 str.w r3, [r7, #1060] ; 0x424 Hour = (k >> 11) & 0x1f; 806f3ca: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806f3ce: 0adb lsrs r3, r3, #11 806f3d0: f003 031f and.w r3, r3, #31 806f3d4: f8c7 3420 str.w r3, [r7, #1056] ; 0x420 Min = (k >> 5) & 0x3f; 806f3d8: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806f3dc: 095b lsrs r3, r3, #5 806f3de: f003 033f and.w r3, r3, #63 ; 0x3f 806f3e2: f8c7 341c str.w r3, [r7, #1052] ; 0x41c Sec = ((k << 1) & 0x1f) + 1; 806f3e6: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806f3ea: 005b lsls r3, r3, #1 806f3ec: f003 031f and.w r3, r3, #31 806f3f0: 3301 adds r3, #1 806f3f2: f8c7 3418 str.w r3, [r7, #1048] ; 0x418 memset(str, 0, sizeof(str)); 806f3f6: f507 733b add.w r3, r7, #748 ; 0x2ec 806f3fa: 223c movs r2, #60 ; 0x3c 806f3fc: 2100 movs r1, #0 806f3fe: 4618 mov r0, r3 806f400: f05d fe22 bl 80cd048 str[0] = (Day / 10) + 48; 806f404: f8d7 3424 ldr.w r3, [r7, #1060] ; 0x424 806f408: 4a88 ldr r2, [pc, #544] ; (806f62c ) 806f40a: fba2 2303 umull r2, r3, r2, r3 806f40e: 08db lsrs r3, r3, #3 806f410: b2db uxtb r3, r3 806f412: 3330 adds r3, #48 ; 0x30 806f414: b2da uxtb r2, r3 806f416: f507 733b add.w r3, r7, #748 ; 0x2ec 806f41a: 701a strb r2, [r3, #0] str[1] = (Day % 10) + 48; 806f41c: f8d7 1424 ldr.w r1, [r7, #1060] ; 0x424 806f420: 4b82 ldr r3, [pc, #520] ; (806f62c ) 806f422: fba3 2301 umull r2, r3, r3, r1 806f426: 08da lsrs r2, r3, #3 806f428: 4613 mov r3, r2 806f42a: 009b lsls r3, r3, #2 806f42c: 4413 add r3, r2 806f42e: 005b lsls r3, r3, #1 806f430: 1aca subs r2, r1, r3 806f432: b2d3 uxtb r3, r2 806f434: 3330 adds r3, #48 ; 0x30 806f436: b2da uxtb r2, r3 806f438: f507 733b add.w r3, r7, #748 ; 0x2ec 806f43c: 705a strb r2, [r3, #1] str[2] = '.'; 806f43e: f507 733b add.w r3, r7, #748 ; 0x2ec 806f442: 222e movs r2, #46 ; 0x2e 806f444: 709a strb r2, [r3, #2] str[3] = (Month / 10) + 48; 806f446: f8d7 3428 ldr.w r3, [r7, #1064] ; 0x428 806f44a: 4a78 ldr r2, [pc, #480] ; (806f62c ) 806f44c: fba2 2303 umull r2, r3, r2, r3 806f450: 08db lsrs r3, r3, #3 806f452: b2db uxtb r3, r3 806f454: 3330 adds r3, #48 ; 0x30 806f456: b2da uxtb r2, r3 806f458: f507 733b add.w r3, r7, #748 ; 0x2ec 806f45c: 70da strb r2, [r3, #3] str[4] = (Month % 10) + 48; 806f45e: f8d7 1428 ldr.w r1, [r7, #1064] ; 0x428 806f462: 4b72 ldr r3, [pc, #456] ; (806f62c ) 806f464: fba3 2301 umull r2, r3, r3, r1 806f468: 08da lsrs r2, r3, #3 806f46a: 4613 mov r3, r2 806f46c: 009b lsls r3, r3, #2 806f46e: 4413 add r3, r2 806f470: 005b lsls r3, r3, #1 806f472: 1aca subs r2, r1, r3 806f474: b2d3 uxtb r3, r2 806f476: 3330 adds r3, #48 ; 0x30 806f478: b2da uxtb r2, r3 806f47a: f507 733b add.w r3, r7, #748 ; 0x2ec 806f47e: 711a strb r2, [r3, #4] str[5] = '.'; 806f480: f507 733b add.w r3, r7, #748 ; 0x2ec 806f484: 222e movs r2, #46 ; 0x2e 806f486: 715a strb r2, [r3, #5] str[6] = (Year / 10) + 48; 806f488: f8d7 342c ldr.w r3, [r7, #1068] ; 0x42c 806f48c: 4a67 ldr r2, [pc, #412] ; (806f62c ) 806f48e: fba2 2303 umull r2, r3, r2, r3 806f492: 08db lsrs r3, r3, #3 806f494: b2db uxtb r3, r3 806f496: 3330 adds r3, #48 ; 0x30 806f498: b2da uxtb r2, r3 806f49a: f507 733b add.w r3, r7, #748 ; 0x2ec 806f49e: 719a strb r2, [r3, #6] str[7] = (Year % 10) + 48; 806f4a0: f8d7 142c ldr.w r1, [r7, #1068] ; 0x42c 806f4a4: 4b61 ldr r3, [pc, #388] ; (806f62c ) 806f4a6: fba3 2301 umull r2, r3, r3, r1 806f4aa: 08da lsrs r2, r3, #3 806f4ac: 4613 mov r3, r2 806f4ae: 009b lsls r3, r3, #2 806f4b0: 4413 add r3, r2 806f4b2: 005b lsls r3, r3, #1 806f4b4: 1aca subs r2, r1, r3 806f4b6: b2d3 uxtb r3, r2 806f4b8: 3330 adds r3, #48 ; 0x30 806f4ba: b2da uxtb r2, r3 806f4bc: f507 733b add.w r3, r7, #748 ; 0x2ec 806f4c0: 71da strb r2, [r3, #7] BSP_LCD_DisplayStringAt(298, 220, str, CENTER_MODE); 806f4c2: f507 723b add.w r2, r7, #748 ; 0x2ec 806f4c6: 2301 movs r3, #1 806f4c8: 21dc movs r1, #220 ; 0xdc 806f4ca: f44f 7095 mov.w r0, #298 ; 0x12a 806f4ce: f7e4 fa33 bl 8053938 memset(str, 0, sizeof(str)); 806f4d2: f507 733b add.w r3, r7, #748 ; 0x2ec 806f4d6: 223c movs r2, #60 ; 0x3c 806f4d8: 2100 movs r1, #0 806f4da: 4618 mov r0, r3 806f4dc: f05d fdb4 bl 80cd048 str[0] = (Hour / 10) + 48; 806f4e0: f8d7 3420 ldr.w r3, [r7, #1056] ; 0x420 806f4e4: 4a51 ldr r2, [pc, #324] ; (806f62c ) 806f4e6: fba2 2303 umull r2, r3, r2, r3 806f4ea: 08db lsrs r3, r3, #3 806f4ec: b2db uxtb r3, r3 806f4ee: 3330 adds r3, #48 ; 0x30 806f4f0: b2da uxtb r2, r3 806f4f2: f507 733b add.w r3, r7, #748 ; 0x2ec 806f4f6: 701a strb r2, [r3, #0] str[1] = (Hour % 10) + 48; 806f4f8: f8d7 1420 ldr.w r1, [r7, #1056] ; 0x420 806f4fc: 4b4b ldr r3, [pc, #300] ; (806f62c ) 806f4fe: fba3 2301 umull r2, r3, r3, r1 806f502: 08da lsrs r2, r3, #3 806f504: 4613 mov r3, r2 806f506: 009b lsls r3, r3, #2 806f508: 4413 add r3, r2 806f50a: 005b lsls r3, r3, #1 806f50c: 1aca subs r2, r1, r3 806f50e: b2d3 uxtb r3, r2 806f510: 3330 adds r3, #48 ; 0x30 806f512: b2da uxtb r2, r3 806f514: f507 733b add.w r3, r7, #748 ; 0x2ec 806f518: 705a strb r2, [r3, #1] str[2] = ':'; 806f51a: f507 733b add.w r3, r7, #748 ; 0x2ec 806f51e: 223a movs r2, #58 ; 0x3a 806f520: 709a strb r2, [r3, #2] str[3] = (Min / 10) + 48; 806f522: f8d7 341c ldr.w r3, [r7, #1052] ; 0x41c 806f526: 4a41 ldr r2, [pc, #260] ; (806f62c ) 806f528: fba2 2303 umull r2, r3, r2, r3 806f52c: 08db lsrs r3, r3, #3 806f52e: b2db uxtb r3, r3 806f530: 3330 adds r3, #48 ; 0x30 806f532: b2da uxtb r2, r3 806f534: f507 733b add.w r3, r7, #748 ; 0x2ec 806f538: 70da strb r2, [r3, #3] str[4] = (Min % 10) + 48; 806f53a: f8d7 141c ldr.w r1, [r7, #1052] ; 0x41c 806f53e: 4b3b ldr r3, [pc, #236] ; (806f62c ) 806f540: fba3 2301 umull r2, r3, r3, r1 806f544: 08da lsrs r2, r3, #3 806f546: 4613 mov r3, r2 806f548: 009b lsls r3, r3, #2 806f54a: 4413 add r3, r2 806f54c: 005b lsls r3, r3, #1 806f54e: 1aca subs r2, r1, r3 806f550: b2d3 uxtb r3, r2 806f552: 3330 adds r3, #48 ; 0x30 806f554: b2da uxtb r2, r3 806f556: f507 733b add.w r3, r7, #748 ; 0x2ec 806f55a: 711a strb r2, [r3, #4] str[5] = ':'; 806f55c: f507 733b add.w r3, r7, #748 ; 0x2ec 806f560: 223a movs r2, #58 ; 0x3a 806f562: 715a strb r2, [r3, #5] str[6] = (Sec / 10) + 48; 806f564: f8d7 3418 ldr.w r3, [r7, #1048] ; 0x418 806f568: 4a30 ldr r2, [pc, #192] ; (806f62c ) 806f56a: fba2 2303 umull r2, r3, r2, r3 806f56e: 08db lsrs r3, r3, #3 806f570: b2db uxtb r3, r3 806f572: 3330 adds r3, #48 ; 0x30 806f574: b2da uxtb r2, r3 806f576: f507 733b add.w r3, r7, #748 ; 0x2ec 806f57a: 719a strb r2, [r3, #6] str[7] = (Sec % 10) + 48; 806f57c: f8d7 1418 ldr.w r1, [r7, #1048] ; 0x418 806f580: 4b2a ldr r3, [pc, #168] ; (806f62c ) 806f582: fba3 2301 umull r2, r3, r3, r1 806f586: 08da lsrs r2, r3, #3 806f588: 4613 mov r3, r2 806f58a: 009b lsls r3, r3, #2 806f58c: 4413 add r3, r2 806f58e: 005b lsls r3, r3, #1 806f590: 1aca subs r2, r1, r3 806f592: b2d3 uxtb r3, r2 806f594: 3330 adds r3, #48 ; 0x30 806f596: b2da uxtb r2, r3 806f598: f507 733b add.w r3, r7, #748 ; 0x2ec 806f59c: 71da strb r2, [r3, #7] BSP_LCD_DisplayStringAt(298, 228, str, CENTER_MODE); 806f59e: f507 723b add.w r2, r7, #748 ; 0x2ec 806f5a2: 2301 movs r3, #1 806f5a4: 21e4 movs r1, #228 ; 0xe4 806f5a6: f44f 7095 mov.w r0, #298 ; 0x12a 806f5aa: f7e4 f9c5 bl 8053938 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 806f5ae: 4921 ldr r1, [pc, #132] ; (806f634 ) 806f5b0: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 806f5b4: f7e4 f8fa bl 80537ac for(i = 0; i < l; i++) 806f5b8: 2300 movs r3, #0 806f5ba: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806f5be: e2ca b.n 806fb56 f = ScrA_f32(i); 806f5c0: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806f5c4: 009a lsls r2, r3, #2 806f5c6: 4b1c ldr r3, [pc, #112] ; (806f638 ) 806f5c8: 4413 add r3, r2 806f5ca: 681b ldr r3, [r3, #0] 806f5cc: f507 628b add.w r2, r7, #1112 ; 0x458 806f5d0: 6013 str r3, [r2, #0] if(fmax <= 10.0f) ///////// 806f5d2: f207 434c addw r3, r7, #1100 ; 0x44c 806f5d6: edd3 7a00 vldr s15, [r3] 806f5da: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 806f5de: eef4 7ac7 vcmpe.f32 s15, s14 806f5e2: eef1 fa10 vmrs APSR_nzcv, fpscr 806f5e6: d831 bhi.n 806f64c f = (100 * f / 10.0f) + 0.5f; 806f5e8: f507 638b add.w r3, r7, #1112 ; 0x458 806f5ec: edd3 7a00 vldr s15, [r3] 806f5f0: ed9f 7a13 vldr s14, [pc, #76] ; 806f640 806f5f4: ee27 7a87 vmul.f32 s14, s15, s14 806f5f8: eef2 6a04 vmov.f32 s13, #36 ; 0x41200000 10.0 806f5fc: eec7 7a26 vdiv.f32 s15, s14, s13 806f600: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 806f604: ee77 7a87 vadd.f32 s15, s15, s14 806f608: f507 638b add.w r3, r7, #1112 ; 0x458 806f60c: edc3 7a00 vstr s15, [r3] y = y1 - (uint32_t) f; 806f610: f8b7 343a ldrh.w r3, [r7, #1082] ; 0x43a 806f614: f507 628b add.w r2, r7, #1112 ; 0x458 806f618: edd2 7a00 vldr s15, [r2] 806f61c: eefc 7ae7 vcvt.u32.f32 s15, s15 806f620: ee17 2a90 vmov r2, s15 806f624: 1a9b subs r3, r3, r2 806f626: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 806f62a: e21b b.n 806fa64 806f62c: cccccccd .word 0xcccccccd 806f630: 64090000 .word 0x64090000 806f634: ff0a0f1f .word 0xff0a0f1f 806f638: 64080000 .word 0x64080000 806f63c: 42480000 .word 0x42480000 806f640: 42c80000 .word 0x42c80000 806f644: 447a0000 .word 0x447a0000 806f648: 461c4000 .word 0x461c4000 if(fmax <= 100.0f) ///////// 806f64c: f207 434c addw r3, r7, #1100 ; 0x44c 806f650: edd3 7a00 vldr s15, [r3] 806f654: ed1f 7a06 vldr s14, [pc, #-24] ; 806f640 806f658: eef4 7ac7 vcmpe.f32 s15, s14 806f65c: eef1 fa10 vmrs APSR_nzcv, fpscr 806f660: f200 8084 bhi.w 806f76c if(f <= 1.0f) 806f664: f507 638b add.w r3, r7, #1112 ; 0x458 806f668: edd3 7a00 vldr s15, [r3] 806f66c: eeb7 7a00 vmov.f32 s14, #112 ; 0x3f800000 1.0 806f670: eef4 7ac7 vcmpe.f32 s15, s14 806f674: eef1 fa10 vmrs APSR_nzcv, fpscr 806f678: d81d bhi.n 806f6b6 f = (25 * f / 1.0f) + 0.5f; 806f67a: f507 638b add.w r3, r7, #1112 ; 0x458 806f67e: edd3 7a00 vldr s15, [r3] 806f682: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 806f686: ee67 7a87 vmul.f32 s15, s15, s14 806f68a: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 806f68e: ee77 7a87 vadd.f32 s15, s15, s14 806f692: f507 638b add.w r3, r7, #1112 ; 0x458 806f696: edc3 7a00 vstr s15, [r3] y = y0 - (uint32_t) f; 806f69a: f8b7 343c ldrh.w r3, [r7, #1084] ; 0x43c 806f69e: f507 628b add.w r2, r7, #1112 ; 0x458 806f6a2: edd2 7a00 vldr s15, [r2] 806f6a6: eefc 7ae7 vcvt.u32.f32 s15, s15 806f6aa: ee17 2a90 vmov r2, s15 806f6ae: 1a9b subs r3, r3, r2 806f6b0: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 806f6b4: e1d6 b.n 806fa64 if(f <= 10.0f) 806f6b6: f507 638b add.w r3, r7, #1112 ; 0x458 806f6ba: edd3 7a00 vldr s15, [r3] 806f6be: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 806f6c2: eef4 7ac7 vcmpe.f32 s15, s14 806f6c6: eef1 fa10 vmrs APSR_nzcv, fpscr 806f6ca: d821 bhi.n 806f710 f = (50 * f / 10.0f) + 0.5f; 806f6cc: f507 638b add.w r3, r7, #1112 ; 0x458 806f6d0: edd3 7a00 vldr s15, [r3] 806f6d4: ed1f 7a27 vldr s14, [pc, #-156] ; 806f63c 806f6d8: ee27 7a87 vmul.f32 s14, s15, s14 806f6dc: eef2 6a04 vmov.f32 s13, #36 ; 0x41200000 10.0 806f6e0: eec7 7a26 vdiv.f32 s15, s14, s13 806f6e4: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 806f6e8: ee77 7a87 vadd.f32 s15, s15, s14 806f6ec: f507 638b add.w r3, r7, #1112 ; 0x458 806f6f0: edc3 7a00 vstr s15, [r3] y = y1 - (uint32_t) f; 806f6f4: f8b7 343a ldrh.w r3, [r7, #1082] ; 0x43a 806f6f8: f507 628b add.w r2, r7, #1112 ; 0x458 806f6fc: edd2 7a00 vldr s15, [r2] 806f700: eefc 7ae7 vcvt.u32.f32 s15, s15 806f704: ee17 2a90 vmov r2, s15 806f708: 1a9b subs r3, r3, r2 806f70a: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 806f70e: e1a9 b.n 806fa64 if(f <= 100.0f) 806f710: f507 638b add.w r3, r7, #1112 ; 0x458 806f714: edd3 7a00 vldr s15, [r3] 806f718: ed1f 7a37 vldr s14, [pc, #-220] ; 806f640 806f71c: eef4 7ac7 vcmpe.f32 s15, s14 806f720: eef1 fa10 vmrs APSR_nzcv, fpscr 806f724: f200 819e bhi.w 806fa64 f = (50 * f / 100.0f) + 0.5f; 806f728: f507 638b add.w r3, r7, #1112 ; 0x458 806f72c: edd3 7a00 vldr s15, [r3] 806f730: ed1f 7a3e vldr s14, [pc, #-248] ; 806f63c 806f734: ee27 7a87 vmul.f32 s14, s15, s14 806f738: ed5f 6a3f vldr s13, [pc, #-252] ; 806f640 806f73c: eec7 7a26 vdiv.f32 s15, s14, s13 806f740: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 806f744: ee77 7a87 vadd.f32 s15, s15, s14 806f748: f507 638b add.w r3, r7, #1112 ; 0x458 806f74c: edc3 7a00 vstr s15, [r3] y = y3 - (uint32_t) f; 806f750: f8b7 3436 ldrh.w r3, [r7, #1078] ; 0x436 806f754: f507 628b add.w r2, r7, #1112 ; 0x458 806f758: edd2 7a00 vldr s15, [r2] 806f75c: eefc 7ae7 vcvt.u32.f32 s15, s15 806f760: ee17 2a90 vmov r2, s15 806f764: 1a9b subs r3, r3, r2 806f766: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 806f76a: e17b b.n 806fa64 if(fmax <= 1000.0f) ///////// 806f76c: f207 434c addw r3, r7, #1100 ; 0x44c 806f770: edd3 7a00 vldr s15, [r3] 806f774: ed1f 7a4d vldr s14, [pc, #-308] ; 806f644 806f778: eef4 7ac7 vcmpe.f32 s15, s14 806f77c: eef1 fa10 vmrs APSR_nzcv, fpscr 806f780: f200 8088 bhi.w 806f894 if(f <= 10.0f) 806f784: f507 638b add.w r3, r7, #1112 ; 0x458 806f788: edd3 7a00 vldr s15, [r3] 806f78c: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 806f790: eef4 7ac7 vcmpe.f32 s15, s14 806f794: eef1 fa10 vmrs APSR_nzcv, fpscr 806f798: d821 bhi.n 806f7de f = (25 * f / 10.0f) + 0.5f; 806f79a: f507 638b add.w r3, r7, #1112 ; 0x458 806f79e: edd3 7a00 vldr s15, [r3] 806f7a2: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 806f7a6: ee27 7a87 vmul.f32 s14, s15, s14 806f7aa: eef2 6a04 vmov.f32 s13, #36 ; 0x41200000 10.0 806f7ae: eec7 7a26 vdiv.f32 s15, s14, s13 806f7b2: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 806f7b6: ee77 7a87 vadd.f32 s15, s15, s14 806f7ba: f507 638b add.w r3, r7, #1112 ; 0x458 806f7be: edc3 7a00 vstr s15, [r3] y = y0 - (uint32_t) f; 806f7c2: f8b7 343c ldrh.w r3, [r7, #1084] ; 0x43c 806f7c6: f507 628b add.w r2, r7, #1112 ; 0x458 806f7ca: edd2 7a00 vldr s15, [r2] 806f7ce: eefc 7ae7 vcvt.u32.f32 s15, s15 806f7d2: ee17 2a90 vmov r2, s15 806f7d6: 1a9b subs r3, r3, r2 806f7d8: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 806f7dc: e142 b.n 806fa64 if(f <= 100.0f) 806f7de: f507 638b add.w r3, r7, #1112 ; 0x458 806f7e2: edd3 7a00 vldr s15, [r3] 806f7e6: ed1f 7a6a vldr s14, [pc, #-424] ; 806f640 806f7ea: eef4 7ac7 vcmpe.f32 s15, s14 806f7ee: eef1 fa10 vmrs APSR_nzcv, fpscr 806f7f2: d821 bhi.n 806f838 f = (50 * f / 100.0f) + 0.5f; 806f7f4: f507 638b add.w r3, r7, #1112 ; 0x458 806f7f8: edd3 7a00 vldr s15, [r3] 806f7fc: ed1f 7a71 vldr s14, [pc, #-452] ; 806f63c 806f800: ee27 7a87 vmul.f32 s14, s15, s14 806f804: ed5f 6a72 vldr s13, [pc, #-456] ; 806f640 806f808: eec7 7a26 vdiv.f32 s15, s14, s13 806f80c: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 806f810: ee77 7a87 vadd.f32 s15, s15, s14 806f814: f507 638b add.w r3, r7, #1112 ; 0x458 806f818: edc3 7a00 vstr s15, [r3] y = y1 - (uint32_t) f; 806f81c: f8b7 343a ldrh.w r3, [r7, #1082] ; 0x43a 806f820: f507 628b add.w r2, r7, #1112 ; 0x458 806f824: edd2 7a00 vldr s15, [r2] 806f828: eefc 7ae7 vcvt.u32.f32 s15, s15 806f82c: ee17 2a90 vmov r2, s15 806f830: 1a9b subs r3, r3, r2 806f832: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 806f836: e115 b.n 806fa64 if(f <= 1000.0f) 806f838: f507 638b add.w r3, r7, #1112 ; 0x458 806f83c: edd3 7a00 vldr s15, [r3] 806f840: ed1f 7a80 vldr s14, [pc, #-512] ; 806f644 806f844: eef4 7ac7 vcmpe.f32 s15, s14 806f848: eef1 fa10 vmrs APSR_nzcv, fpscr 806f84c: f200 810a bhi.w 806fa64 f = (50 * f / 1000.0f) + 0.5f; 806f850: f507 638b add.w r3, r7, #1112 ; 0x458 806f854: edd3 7a00 vldr s15, [r3] 806f858: ed1f 7a88 vldr s14, [pc, #-544] ; 806f63c 806f85c: ee27 7a87 vmul.f32 s14, s15, s14 806f860: ed5f 6a88 vldr s13, [pc, #-544] ; 806f644 806f864: eec7 7a26 vdiv.f32 s15, s14, s13 806f868: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 806f86c: ee77 7a87 vadd.f32 s15, s15, s14 806f870: f507 638b add.w r3, r7, #1112 ; 0x458 806f874: edc3 7a00 vstr s15, [r3] y = y3 - (uint32_t) f; 806f878: f8b7 3436 ldrh.w r3, [r7, #1078] ; 0x436 806f87c: f507 628b add.w r2, r7, #1112 ; 0x458 806f880: edd2 7a00 vldr s15, [r2] 806f884: eefc 7ae7 vcvt.u32.f32 s15, s15 806f888: ee17 2a90 vmov r2, s15 806f88c: 1a9b subs r3, r3, r2 806f88e: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 806f892: e0e7 b.n 806fa64 if(fmax <= 10000.0f) ///////// 806f894: f207 434c addw r3, r7, #1100 ; 0x44c 806f898: edd3 7a00 vldr s15, [r3] 806f89c: ed1f 7a96 vldr s14, [pc, #-600] ; 806f648 806f8a0: eef4 7ac7 vcmpe.f32 s15, s14 806f8a4: eef1 fa10 vmrs APSR_nzcv, fpscr 806f8a8: f200 80dc bhi.w 806fa64 if(f <= 1.0f) 806f8ac: f507 638b add.w r3, r7, #1112 ; 0x458 806f8b0: edd3 7a00 vldr s15, [r3] 806f8b4: eeb7 7a00 vmov.f32 s14, #112 ; 0x3f800000 1.0 806f8b8: eef4 7ac7 vcmpe.f32 s15, s14 806f8bc: eef1 fa10 vmrs APSR_nzcv, fpscr 806f8c0: d81d bhi.n 806f8fe f = (25 * f / 1.0f) + 0.5f; 806f8c2: f507 638b add.w r3, r7, #1112 ; 0x458 806f8c6: edd3 7a00 vldr s15, [r3] 806f8ca: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 806f8ce: ee67 7a87 vmul.f32 s15, s15, s14 806f8d2: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 806f8d6: ee77 7a87 vadd.f32 s15, s15, s14 806f8da: f507 638b add.w r3, r7, #1112 ; 0x458 806f8de: edc3 7a00 vstr s15, [r3] y = y0 - (uint32_t) f; 806f8e2: f8b7 343c ldrh.w r3, [r7, #1084] ; 0x43c 806f8e6: f507 628b add.w r2, r7, #1112 ; 0x458 806f8ea: edd2 7a00 vldr s15, [r2] 806f8ee: eefc 7ae7 vcvt.u32.f32 s15, s15 806f8f2: ee17 2a90 vmov r2, s15 806f8f6: 1a9b subs r3, r3, r2 806f8f8: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 806f8fc: e0b2 b.n 806fa64 if(f <= 10.0f) 806f8fe: f507 638b add.w r3, r7, #1112 ; 0x458 806f902: edd3 7a00 vldr s15, [r3] 806f906: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 806f90a: eef4 7ac7 vcmpe.f32 s15, s14 806f90e: eef1 fa10 vmrs APSR_nzcv, fpscr 806f912: d821 bhi.n 806f958 f = (25 * f / 10.0f) + 0.5f; 806f914: f507 638b add.w r3, r7, #1112 ; 0x458 806f918: edd3 7a00 vldr s15, [r3] 806f91c: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 806f920: ee27 7a87 vmul.f32 s14, s15, s14 806f924: eef2 6a04 vmov.f32 s13, #36 ; 0x41200000 10.0 806f928: eec7 7a26 vdiv.f32 s15, s14, s13 806f92c: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 806f930: ee77 7a87 vadd.f32 s15, s15, s14 806f934: f507 638b add.w r3, r7, #1112 ; 0x458 806f938: edc3 7a00 vstr s15, [r3] y = y1 - (uint32_t) f; 806f93c: f8b7 343a ldrh.w r3, [r7, #1082] ; 0x43a 806f940: f507 628b add.w r2, r7, #1112 ; 0x458 806f944: edd2 7a00 vldr s15, [r2] 806f948: eefc 7ae7 vcvt.u32.f32 s15, s15 806f94c: ee17 2a90 vmov r2, s15 806f950: 1a9b subs r3, r3, r2 806f952: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 806f956: e085 b.n 806fa64 if(f <= 100.0f) 806f958: f507 638b add.w r3, r7, #1112 ; 0x458 806f95c: edd3 7a00 vldr s15, [r3] 806f960: ed1f 7ac9 vldr s14, [pc, #-804] ; 806f640 806f964: eef4 7ac7 vcmpe.f32 s15, s14 806f968: eef1 fa10 vmrs APSR_nzcv, fpscr 806f96c: d821 bhi.n 806f9b2 f = (25 * f / 100.0f) + 0.5f; 806f96e: f507 638b add.w r3, r7, #1112 ; 0x458 806f972: edd3 7a00 vldr s15, [r3] 806f976: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 806f97a: ee27 7a87 vmul.f32 s14, s15, s14 806f97e: ed5f 6ad0 vldr s13, [pc, #-832] ; 806f640 806f982: eec7 7a26 vdiv.f32 s15, s14, s13 806f986: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 806f98a: ee77 7a87 vadd.f32 s15, s15, s14 806f98e: f507 638b add.w r3, r7, #1112 ; 0x458 806f992: edc3 7a00 vstr s15, [r3] y = y2 - (uint32_t) f; 806f996: f8b7 3438 ldrh.w r3, [r7, #1080] ; 0x438 806f99a: f507 628b add.w r2, r7, #1112 ; 0x458 806f99e: edd2 7a00 vldr s15, [r2] 806f9a2: eefc 7ae7 vcvt.u32.f32 s15, s15 806f9a6: ee17 2a90 vmov r2, s15 806f9aa: 1a9b subs r3, r3, r2 806f9ac: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 806f9b0: e058 b.n 806fa64 if(f <= 1000.0f) 806f9b2: f507 638b add.w r3, r7, #1112 ; 0x458 806f9b6: edd3 7a00 vldr s15, [r3] 806f9ba: ed1f 7ade vldr s14, [pc, #-888] ; 806f644 806f9be: eef4 7ac7 vcmpe.f32 s15, s14 806f9c2: eef1 fa10 vmrs APSR_nzcv, fpscr 806f9c6: d821 bhi.n 806fa0c f = (25 * f / 1000.0f) + 0.5f; 806f9c8: f507 638b add.w r3, r7, #1112 ; 0x458 806f9cc: edd3 7a00 vldr s15, [r3] 806f9d0: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 806f9d4: ee27 7a87 vmul.f32 s14, s15, s14 806f9d8: ed5f 6ae6 vldr s13, [pc, #-920] ; 806f644 806f9dc: eec7 7a26 vdiv.f32 s15, s14, s13 806f9e0: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 806f9e4: ee77 7a87 vadd.f32 s15, s15, s14 806f9e8: f507 638b add.w r3, r7, #1112 ; 0x458 806f9ec: edc3 7a00 vstr s15, [r3] y = y3 - (uint32_t) f; 806f9f0: f8b7 3436 ldrh.w r3, [r7, #1078] ; 0x436 806f9f4: f507 628b add.w r2, r7, #1112 ; 0x458 806f9f8: edd2 7a00 vldr s15, [r2] 806f9fc: eefc 7ae7 vcvt.u32.f32 s15, s15 806fa00: ee17 2a90 vmov r2, s15 806fa04: 1a9b subs r3, r3, r2 806fa06: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 806fa0a: e02b b.n 806fa64 if(f <= 10000.0f) 806fa0c: f507 638b add.w r3, r7, #1112 ; 0x458 806fa10: edd3 7a00 vldr s15, [r3] 806fa14: ed1f 7af4 vldr s14, [pc, #-976] ; 806f648 806fa18: eef4 7ac7 vcmpe.f32 s15, s14 806fa1c: eef1 fa10 vmrs APSR_nzcv, fpscr 806fa20: d820 bhi.n 806fa64 f = (25 * f / 10000.0f) + 0.5f; 806fa22: f507 638b add.w r3, r7, #1112 ; 0x458 806fa26: edd3 7a00 vldr s15, [r3] 806fa2a: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 806fa2e: ee27 7a87 vmul.f32 s14, s15, s14 806fa32: eddf 6ac1 vldr s13, [pc, #772] ; 806fd38 806fa36: eec7 7a26 vdiv.f32 s15, s14, s13 806fa3a: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 806fa3e: ee77 7a87 vadd.f32 s15, s15, s14 806fa42: f507 638b add.w r3, r7, #1112 ; 0x458 806fa46: edc3 7a00 vstr s15, [r3] y = y4 - (uint32_t) f; 806fa4a: f8b7 3434 ldrh.w r3, [r7, #1076] ; 0x434 806fa4e: f507 628b add.w r2, r7, #1112 ; 0x458 806fa52: edd2 7a00 vldr s15, [r2] 806fa56: eefc 7ae7 vcvt.u32.f32 s15, s15 806fa5a: ee17 2a90 vmov r2, s15 806fa5e: 1a9b subs r3, r3, r2 806fa60: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 if(l == 1) 806fa64: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806fa68: 2b01 cmp r3, #1 806fa6a: d119 bne.n 806faa0 x = 256; 806fa6c: f44f 7380 mov.w r3, #256 ; 0x100 806fa70: f8c7 3468 str.w r3, [r7, #1128] ; 0x468 oldx = 0; 806fa74: 2300 movs r3, #0 806fa76: f8c7 3460 str.w r3, [r7, #1120] ; 0x460 BSP_LCD_DrawLine(62 + oldx, y, 62 + x, y); 806fa7a: f8d7 3460 ldr.w r3, [r7, #1120] ; 0x460 806fa7e: b29b uxth r3, r3 806fa80: 333e adds r3, #62 ; 0x3e 806fa82: b298 uxth r0, r3 806fa84: f8d7 3464 ldr.w r3, [r7, #1124] ; 0x464 806fa88: b299 uxth r1, r3 806fa8a: f8d7 3468 ldr.w r3, [r7, #1128] ; 0x468 806fa8e: b29b uxth r3, r3 806fa90: 333e adds r3, #62 ; 0x3e 806fa92: b29a uxth r2, r3 806fa94: f8d7 3464 ldr.w r3, [r7, #1124] ; 0x464 806fa98: b29b uxth r3, r3 806fa9a: f7e4 f8c1 bl 8053c20 806fa9e: e055 b.n 806fb4c fs = 256.0f / (float32_t) (l - 1); 806faa0: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806faa4: 3b01 subs r3, #1 806faa6: ee07 3a90 vmov s15, r3 806faaa: eeb8 7a67 vcvt.f32.u32 s14, s15 806faae: eddf 6aa3 vldr s13, [pc, #652] ; 806fd3c 806fab2: eec6 7a87 vdiv.f32 s15, s13, s14 806fab6: f207 4314 addw r3, r7, #1044 ; 0x414 806faba: edc3 7a00 vstr s15, [r3] x = (uint32_t) ((fs * (float32_t) i) + 0.5f); 806fabe: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806fac2: ee07 3a90 vmov s15, r3 806fac6: eeb8 7a67 vcvt.f32.u32 s14, s15 806faca: f207 4314 addw r3, r7, #1044 ; 0x414 806face: edd3 7a00 vldr s15, [r3] 806fad2: ee67 7a27 vmul.f32 s15, s14, s15 806fad6: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 806fada: ee77 7a87 vadd.f32 s15, s15, s14 806fade: eefc 7ae7 vcvt.u32.f32 s15, s15 806fae2: ee17 3a90 vmov r3, s15 806fae6: f8c7 3468 str.w r3, [r7, #1128] ; 0x468 if(i == 0) 806faea: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806faee: 2b00 cmp r3, #0 806faf0: d112 bne.n 806fb18 BSP_LCD_DrawLine(62 + x, y, 62 + x, y); 806faf2: f8d7 3468 ldr.w r3, [r7, #1128] ; 0x468 806faf6: b29b uxth r3, r3 806faf8: 333e adds r3, #62 ; 0x3e 806fafa: b298 uxth r0, r3 806fafc: f8d7 3464 ldr.w r3, [r7, #1124] ; 0x464 806fb00: b299 uxth r1, r3 806fb02: f8d7 3468 ldr.w r3, [r7, #1128] ; 0x468 806fb06: b29b uxth r3, r3 806fb08: 333e adds r3, #62 ; 0x3e 806fb0a: b29a uxth r2, r3 806fb0c: f8d7 3464 ldr.w r3, [r7, #1124] ; 0x464 806fb10: b29b uxth r3, r3 806fb12: f7e4 f885 bl 8053c20 806fb16: e011 b.n 806fb3c else BSP_LCD_DrawLine(62 + oldx, oldy, 62 + x, y); 806fb18: f8d7 3460 ldr.w r3, [r7, #1120] ; 0x460 806fb1c: b29b uxth r3, r3 806fb1e: 333e adds r3, #62 ; 0x3e 806fb20: b298 uxth r0, r3 806fb22: f8d7 345c ldr.w r3, [r7, #1116] ; 0x45c 806fb26: b299 uxth r1, r3 806fb28: f8d7 3468 ldr.w r3, [r7, #1128] ; 0x468 806fb2c: b29b uxth r3, r3 806fb2e: 333e adds r3, #62 ; 0x3e 806fb30: b29a uxth r2, r3 806fb32: f8d7 3464 ldr.w r3, [r7, #1124] ; 0x464 806fb36: b29b uxth r3, r3 806fb38: f7e4 f872 bl 8053c20 oldx = x; 806fb3c: f8d7 3468 ldr.w r3, [r7, #1128] ; 0x468 806fb40: f8c7 3460 str.w r3, [r7, #1120] ; 0x460 oldy = y; 806fb44: f8d7 3464 ldr.w r3, [r7, #1124] ; 0x464 806fb48: f8c7 345c str.w r3, [r7, #1116] ; 0x45c for(i = 0; i < l; i++) 806fb4c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806fb50: 3301 adds r3, #1 806fb52: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806fb56: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806fb5a: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806fb5e: 429a cmp r2, r3 806fb60: f4ff ad2e bcc.w 806f5c0 break; 806fb64: f027 bd1b b.w 809759e if(l) 806fb68: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806fb6c: 2b00 cmp r3, #0 806fb6e: f027 8516 beq.w 809759e y0 = 217; 806fb72: 23d9 movs r3, #217 ; 0xd9 806fb74: f8a7 343c strh.w r3, [r7, #1084] ; 0x43c y1 = 192; 806fb78: 23c0 movs r3, #192 ; 0xc0 806fb7a: f8a7 343a strh.w r3, [r7, #1082] ; 0x43a y2 = 167; 806fb7e: 23a7 movs r3, #167 ; 0xa7 806fb80: f8a7 3438 strh.w r3, [r7, #1080] ; 0x438 y3 = 142; 806fb84: 238e movs r3, #142 ; 0x8e 806fb86: f8a7 3436 strh.w r3, [r7, #1078] ; 0x436 y4 = 117; 806fb8a: 2375 movs r3, #117 ; 0x75 806fb8c: f8a7 3434 strh.w r3, [r7, #1076] ; 0x434 y5 = 92; 806fb90: 235c movs r3, #92 ; 0x5c 806fb92: f8a7 3432 strh.w r3, [r7, #1074] ; 0x432 y6 = 67; 806fb96: 2343 movs r3, #67 ; 0x43 806fb98: f8a7 3430 strh.w r3, [r7, #1072] ; 0x430 BSP_LCD_SetFont(&Font8); 806fb9c: 4868 ldr r0, [pc, #416] ; (806fd40 ) 806fb9e: f7e3 fe41 bl 8053824 LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 806fba2: 4968 ldr r1, [pc, #416] ; (806fd44 ) 806fba4: 4868 ldr r0, [pc, #416] ; (806fd48 ) 806fba6: f7e3 fe01 bl 80537ac if(fmax <= 100.0f) 806fbaa: f207 434c addw r3, r7, #1100 ; 0x44c 806fbae: edd3 7a00 vldr s15, [r3] 806fbb2: ed9f 7a66 vldr s14, [pc, #408] ; 806fd4c 806fbb6: eef4 7ac7 vcmpe.f32 s15, s14 806fbba: eef1 fa10 vmrs APSR_nzcv, fpscr 806fbbe: d836 bhi.n 806fc2e BSP_LCD_DisplayStringAt(59, y6 - 2, "100", RIGHT_MODE); 806fbc0: f8b7 3430 ldrh.w r3, [r7, #1072] ; 0x430 806fbc4: 3b02 subs r3, #2 806fbc6: b299 uxth r1, r3 806fbc8: 2302 movs r3, #2 806fbca: 4a61 ldr r2, [pc, #388] ; (806fd50 ) 806fbcc: 203b movs r0, #59 ; 0x3b 806fbce: f7e3 feb3 bl 8053938 BSP_LCD_DisplayStringAt(59, y5 - 2, "10", RIGHT_MODE); 806fbd2: f8b7 3432 ldrh.w r3, [r7, #1074] ; 0x432 806fbd6: 3b02 subs r3, #2 806fbd8: b299 uxth r1, r3 806fbda: 2302 movs r3, #2 806fbdc: 4a5d ldr r2, [pc, #372] ; (806fd54 ) 806fbde: 203b movs r0, #59 ; 0x3b 806fbe0: f7e3 feaa bl 8053938 BSP_LCD_DisplayStringAt(59, y4 - 2, "1", RIGHT_MODE); 806fbe4: f8b7 3434 ldrh.w r3, [r7, #1076] ; 0x434 806fbe8: 3b02 subs r3, #2 806fbea: b299 uxth r1, r3 806fbec: 2302 movs r3, #2 806fbee: 4a5a ldr r2, [pc, #360] ; (806fd58 ) 806fbf0: 203b movs r0, #59 ; 0x3b 806fbf2: f7e3 fea1 bl 8053938 BSP_LCD_DisplayStringAt(59, y3 - 2, "0.1", RIGHT_MODE); 806fbf6: f8b7 3436 ldrh.w r3, [r7, #1078] ; 0x436 806fbfa: 3b02 subs r3, #2 806fbfc: b299 uxth r1, r3 806fbfe: 2302 movs r3, #2 806fc00: 4a56 ldr r2, [pc, #344] ; (806fd5c ) 806fc02: 203b movs r0, #59 ; 0x3b 806fc04: f7e3 fe98 bl 8053938 BSP_LCD_DisplayStringAt(59, y2 - 2, "0.01", RIGHT_MODE); 806fc08: f8b7 3438 ldrh.w r3, [r7, #1080] ; 0x438 806fc0c: 3b02 subs r3, #2 806fc0e: b299 uxth r1, r3 806fc10: 2302 movs r3, #2 806fc12: 4a53 ldr r2, [pc, #332] ; (806fd60 ) 806fc14: 203b movs r0, #59 ; 0x3b 806fc16: f7e3 fe8f bl 8053938 BSP_LCD_DisplayStringAt(59, y1 - 2, "0.001", RIGHT_MODE); 806fc1a: f8b7 343a ldrh.w r3, [r7, #1082] ; 0x43a 806fc1e: 3b02 subs r3, #2 806fc20: b299 uxth r1, r3 806fc22: 2302 movs r3, #2 806fc24: 4a4f ldr r2, [pc, #316] ; (806fd64 ) 806fc26: 203b movs r0, #59 ; 0x3b 806fc28: f7e3 fe86 bl 8053938 806fc2c: e17b b.n 806ff26 if(fmax <= 1000.0f) 806fc2e: f207 434c addw r3, r7, #1100 ; 0x44c 806fc32: edd3 7a00 vldr s15, [r3] 806fc36: ed9f 7a4c vldr s14, [pc, #304] ; 806fd68 806fc3a: eef4 7ac7 vcmpe.f32 s15, s14 806fc3e: eef1 fa10 vmrs APSR_nzcv, fpscr 806fc42: d836 bhi.n 806fcb2 BSP_LCD_DisplayStringAt(59, y6 - 2, "1000", RIGHT_MODE); 806fc44: f8b7 3430 ldrh.w r3, [r7, #1072] ; 0x430 806fc48: 3b02 subs r3, #2 806fc4a: b299 uxth r1, r3 806fc4c: 2302 movs r3, #2 806fc4e: 4a47 ldr r2, [pc, #284] ; (806fd6c ) 806fc50: 203b movs r0, #59 ; 0x3b 806fc52: f7e3 fe71 bl 8053938 BSP_LCD_DisplayStringAt(59, y5 - 2, "100", RIGHT_MODE); 806fc56: f8b7 3432 ldrh.w r3, [r7, #1074] ; 0x432 806fc5a: 3b02 subs r3, #2 806fc5c: b299 uxth r1, r3 806fc5e: 2302 movs r3, #2 806fc60: 4a3b ldr r2, [pc, #236] ; (806fd50 ) 806fc62: 203b movs r0, #59 ; 0x3b 806fc64: f7e3 fe68 bl 8053938 BSP_LCD_DisplayStringAt(59, y4 - 2, "10", RIGHT_MODE); 806fc68: f8b7 3434 ldrh.w r3, [r7, #1076] ; 0x434 806fc6c: 3b02 subs r3, #2 806fc6e: b299 uxth r1, r3 806fc70: 2302 movs r3, #2 806fc72: 4a38 ldr r2, [pc, #224] ; (806fd54 ) 806fc74: 203b movs r0, #59 ; 0x3b 806fc76: f7e3 fe5f bl 8053938 BSP_LCD_DisplayStringAt(59, y3 - 2, "1", RIGHT_MODE); 806fc7a: f8b7 3436 ldrh.w r3, [r7, #1078] ; 0x436 806fc7e: 3b02 subs r3, #2 806fc80: b299 uxth r1, r3 806fc82: 2302 movs r3, #2 806fc84: 4a34 ldr r2, [pc, #208] ; (806fd58 ) 806fc86: 203b movs r0, #59 ; 0x3b 806fc88: f7e3 fe56 bl 8053938 BSP_LCD_DisplayStringAt(59, y2 - 2, "0.1", RIGHT_MODE); 806fc8c: f8b7 3438 ldrh.w r3, [r7, #1080] ; 0x438 806fc90: 3b02 subs r3, #2 806fc92: b299 uxth r1, r3 806fc94: 2302 movs r3, #2 806fc96: 4a31 ldr r2, [pc, #196] ; (806fd5c ) 806fc98: 203b movs r0, #59 ; 0x3b 806fc9a: f7e3 fe4d bl 8053938 BSP_LCD_DisplayStringAt(59, y1 - 2, "0.01", RIGHT_MODE); 806fc9e: f8b7 343a ldrh.w r3, [r7, #1082] ; 0x43a 806fca2: 3b02 subs r3, #2 806fca4: b299 uxth r1, r3 806fca6: 2302 movs r3, #2 806fca8: 4a2d ldr r2, [pc, #180] ; (806fd60 ) 806fcaa: 203b movs r0, #59 ; 0x3b 806fcac: f7e3 fe44 bl 8053938 806fcb0: e139 b.n 806ff26 if(fmax <= 10000.0f) 806fcb2: f207 434c addw r3, r7, #1100 ; 0x44c 806fcb6: edd3 7a00 vldr s15, [r3] 806fcba: ed9f 7a1f vldr s14, [pc, #124] ; 806fd38 806fcbe: eef4 7ac7 vcmpe.f32 s15, s14 806fcc2: eef1 fa10 vmrs APSR_nzcv, fpscr 806fcc6: d857 bhi.n 806fd78 BSP_LCD_DisplayStringAt(59, y6 - 2, "10000", RIGHT_MODE); 806fcc8: f8b7 3430 ldrh.w r3, [r7, #1072] ; 0x430 806fccc: 3b02 subs r3, #2 806fcce: b299 uxth r1, r3 806fcd0: 2302 movs r3, #2 806fcd2: 4a27 ldr r2, [pc, #156] ; (806fd70 ) 806fcd4: 203b movs r0, #59 ; 0x3b 806fcd6: f7e3 fe2f bl 8053938 BSP_LCD_DisplayStringAt(59, y5 - 2, "1000", RIGHT_MODE); 806fcda: f8b7 3432 ldrh.w r3, [r7, #1074] ; 0x432 806fcde: 3b02 subs r3, #2 806fce0: b299 uxth r1, r3 806fce2: 2302 movs r3, #2 806fce4: 4a21 ldr r2, [pc, #132] ; (806fd6c ) 806fce6: 203b movs r0, #59 ; 0x3b 806fce8: f7e3 fe26 bl 8053938 BSP_LCD_DisplayStringAt(59, y4 - 2, "100", RIGHT_MODE); 806fcec: f8b7 3434 ldrh.w r3, [r7, #1076] ; 0x434 806fcf0: 3b02 subs r3, #2 806fcf2: b299 uxth r1, r3 806fcf4: 2302 movs r3, #2 806fcf6: 4a16 ldr r2, [pc, #88] ; (806fd50 ) 806fcf8: 203b movs r0, #59 ; 0x3b 806fcfa: f7e3 fe1d bl 8053938 BSP_LCD_DisplayStringAt(59, y3 - 2, "10", RIGHT_MODE); 806fcfe: f8b7 3436 ldrh.w r3, [r7, #1078] ; 0x436 806fd02: 3b02 subs r3, #2 806fd04: b299 uxth r1, r3 806fd06: 2302 movs r3, #2 806fd08: 4a12 ldr r2, [pc, #72] ; (806fd54 ) 806fd0a: 203b movs r0, #59 ; 0x3b 806fd0c: f7e3 fe14 bl 8053938 BSP_LCD_DisplayStringAt(59, y2 - 2, "1", RIGHT_MODE); 806fd10: f8b7 3438 ldrh.w r3, [r7, #1080] ; 0x438 806fd14: 3b02 subs r3, #2 806fd16: b299 uxth r1, r3 806fd18: 2302 movs r3, #2 806fd1a: 4a0f ldr r2, [pc, #60] ; (806fd58 ) 806fd1c: 203b movs r0, #59 ; 0x3b 806fd1e: f7e3 fe0b bl 8053938 BSP_LCD_DisplayStringAt(59, y1 - 2, "0.1", RIGHT_MODE); 806fd22: f8b7 343a ldrh.w r3, [r7, #1082] ; 0x43a 806fd26: 3b02 subs r3, #2 806fd28: b299 uxth r1, r3 806fd2a: 2302 movs r3, #2 806fd2c: 4a0b ldr r2, [pc, #44] ; (806fd5c ) 806fd2e: 203b movs r0, #59 ; 0x3b 806fd30: f7e3 fe02 bl 8053938 806fd34: e0f7 b.n 806ff26 806fd36: bf00 nop 806fd38: 461c4000 .word 0x461c4000 806fd3c: 43800000 .word 0x43800000 806fd40: 20020060 .word 0x20020060 806fd44: ff0a0f1f .word 0xff0a0f1f 806fd48: ffd3d3d3 .word 0xffd3d3d3 806fd4c: 42c80000 .word 0x42c80000 806fd50: 080cfa58 .word 0x080cfa58 806fd54: 080cfa50 .word 0x080cfa50 806fd58: 080ce854 .word 0x080ce854 806fd5c: 080cfa90 .word 0x080cfa90 806fd60: 080cfa94 .word 0x080cfa94 806fd64: 080cfa9c .word 0x080cfa9c 806fd68: 447a0000 .word 0x447a0000 806fd6c: 080cfa60 .word 0x080cfa60 806fd70: 080cfa6c .word 0x080cfa6c 806fd74: 47c35000 .word 0x47c35000 if(fmax <= 100000.0f) 806fd78: f207 434c addw r3, r7, #1100 ; 0x44c 806fd7c: edd3 7a00 vldr s15, [r3] 806fd80: ed1f 7a04 vldr s14, [pc, #-16] ; 806fd74 806fd84: eef4 7ac7 vcmpe.f32 s15, s14 806fd88: eef1 fa10 vmrs APSR_nzcv, fpscr 806fd8c: d836 bhi.n 806fdfc BSP_LCD_DisplayStringAt(59, y6 - 2, "100000", RIGHT_MODE); 806fd8e: f8b7 3430 ldrh.w r3, [r7, #1072] ; 0x430 806fd92: 3b02 subs r3, #2 806fd94: b299 uxth r1, r3 806fd96: 2302 movs r3, #2 806fd98: 4a39 ldr r2, [pc, #228] ; (806fe80 ) 806fd9a: 203b movs r0, #59 ; 0x3b 806fd9c: f7e3 fdcc bl 8053938 BSP_LCD_DisplayStringAt(59, y5 - 2, "10000", RIGHT_MODE); 806fda0: f8b7 3432 ldrh.w r3, [r7, #1074] ; 0x432 806fda4: 3b02 subs r3, #2 806fda6: b299 uxth r1, r3 806fda8: 2302 movs r3, #2 806fdaa: 4a36 ldr r2, [pc, #216] ; (806fe84 ) 806fdac: 203b movs r0, #59 ; 0x3b 806fdae: f7e3 fdc3 bl 8053938 BSP_LCD_DisplayStringAt(59, y4 - 2, "1000", RIGHT_MODE); 806fdb2: f8b7 3434 ldrh.w r3, [r7, #1076] ; 0x434 806fdb6: 3b02 subs r3, #2 806fdb8: b299 uxth r1, r3 806fdba: 2302 movs r3, #2 806fdbc: 4a32 ldr r2, [pc, #200] ; (806fe88 ) 806fdbe: 203b movs r0, #59 ; 0x3b 806fdc0: f7e3 fdba bl 8053938 BSP_LCD_DisplayStringAt(59, y3 - 2, "100", RIGHT_MODE); 806fdc4: f8b7 3436 ldrh.w r3, [r7, #1078] ; 0x436 806fdc8: 3b02 subs r3, #2 806fdca: b299 uxth r1, r3 806fdcc: 2302 movs r3, #2 806fdce: 4a2f ldr r2, [pc, #188] ; (806fe8c ) 806fdd0: 203b movs r0, #59 ; 0x3b 806fdd2: f7e3 fdb1 bl 8053938 BSP_LCD_DisplayStringAt(59, y2 - 2, "10", RIGHT_MODE); 806fdd6: f8b7 3438 ldrh.w r3, [r7, #1080] ; 0x438 806fdda: 3b02 subs r3, #2 806fddc: b299 uxth r1, r3 806fdde: 2302 movs r3, #2 806fde0: 4a2b ldr r2, [pc, #172] ; (806fe90 ) 806fde2: 203b movs r0, #59 ; 0x3b 806fde4: f7e3 fda8 bl 8053938 BSP_LCD_DisplayStringAt(59, y1 - 2, "1", RIGHT_MODE); 806fde8: f8b7 343a ldrh.w r3, [r7, #1082] ; 0x43a 806fdec: 3b02 subs r3, #2 806fdee: b299 uxth r1, r3 806fdf0: 2302 movs r3, #2 806fdf2: 4a28 ldr r2, [pc, #160] ; (806fe94 ) 806fdf4: 203b movs r0, #59 ; 0x3b 806fdf6: f7e3 fd9f bl 8053938 806fdfa: e094 b.n 806ff26 if(fmax <= 1000000.0f) 806fdfc: f207 434c addw r3, r7, #1100 ; 0x44c 806fe00: edd3 7a00 vldr s15, [r3] 806fe04: ed9f 7a24 vldr s14, [pc, #144] ; 806fe98 806fe08: eef4 7ac7 vcmpe.f32 s15, s14 806fe0c: eef1 fa10 vmrs APSR_nzcv, fpscr 806fe10: d848 bhi.n 806fea4 BSP_LCD_DisplayStringAt(59, y6 - 2, "1000000", RIGHT_MODE); 806fe12: f8b7 3430 ldrh.w r3, [r7, #1072] ; 0x430 806fe16: 3b02 subs r3, #2 806fe18: b299 uxth r1, r3 806fe1a: 2302 movs r3, #2 806fe1c: 4a1f ldr r2, [pc, #124] ; (806fe9c ) 806fe1e: 203b movs r0, #59 ; 0x3b 806fe20: f7e3 fd8a bl 8053938 BSP_LCD_DisplayStringAt(59, y5 - 2, "100000", RIGHT_MODE); 806fe24: f8b7 3432 ldrh.w r3, [r7, #1074] ; 0x432 806fe28: 3b02 subs r3, #2 806fe2a: b299 uxth r1, r3 806fe2c: 2302 movs r3, #2 806fe2e: 4a14 ldr r2, [pc, #80] ; (806fe80 ) 806fe30: 203b movs r0, #59 ; 0x3b 806fe32: f7e3 fd81 bl 8053938 BSP_LCD_DisplayStringAt(59, y4 - 2, "10000", RIGHT_MODE); 806fe36: f8b7 3434 ldrh.w r3, [r7, #1076] ; 0x434 806fe3a: 3b02 subs r3, #2 806fe3c: b299 uxth r1, r3 806fe3e: 2302 movs r3, #2 806fe40: 4a10 ldr r2, [pc, #64] ; (806fe84 ) 806fe42: 203b movs r0, #59 ; 0x3b 806fe44: f7e3 fd78 bl 8053938 BSP_LCD_DisplayStringAt(59, y3 - 2, "1000", RIGHT_MODE); 806fe48: f8b7 3436 ldrh.w r3, [r7, #1078] ; 0x436 806fe4c: 3b02 subs r3, #2 806fe4e: b299 uxth r1, r3 806fe50: 2302 movs r3, #2 806fe52: 4a0d ldr r2, [pc, #52] ; (806fe88 ) 806fe54: 203b movs r0, #59 ; 0x3b 806fe56: f7e3 fd6f bl 8053938 BSP_LCD_DisplayStringAt(59, y2 - 2, "100", RIGHT_MODE); 806fe5a: f8b7 3438 ldrh.w r3, [r7, #1080] ; 0x438 806fe5e: 3b02 subs r3, #2 806fe60: b299 uxth r1, r3 806fe62: 2302 movs r3, #2 806fe64: 4a09 ldr r2, [pc, #36] ; (806fe8c ) 806fe66: 203b movs r0, #59 ; 0x3b 806fe68: f7e3 fd66 bl 8053938 BSP_LCD_DisplayStringAt(59, y1 - 2, "10", RIGHT_MODE); 806fe6c: f8b7 343a ldrh.w r3, [r7, #1082] ; 0x43a 806fe70: 3b02 subs r3, #2 806fe72: b299 uxth r1, r3 806fe74: 2302 movs r3, #2 806fe76: 4a06 ldr r2, [pc, #24] ; (806fe90 ) 806fe78: 203b movs r0, #59 ; 0x3b 806fe7a: f7e3 fd5d bl 8053938 806fe7e: e052 b.n 806ff26 806fe80: 080cfaa4 .word 0x080cfaa4 806fe84: 080cfa6c .word 0x080cfa6c 806fe88: 080cfa60 .word 0x080cfa60 806fe8c: 080cfa58 .word 0x080cfa58 806fe90: 080cfa50 .word 0x080cfa50 806fe94: 080ce854 .word 0x080ce854 806fe98: 49742400 .word 0x49742400 806fe9c: 080cfaac .word 0x080cfaac 806fea0: 4b189680 .word 0x4b189680 if(fmax <= 10000000.0f) 806fea4: f207 434c addw r3, r7, #1100 ; 0x44c 806fea8: edd3 7a00 vldr s15, [r3] 806feac: ed1f 7a04 vldr s14, [pc, #-16] ; 806fea0 806feb0: eef4 7ac7 vcmpe.f32 s15, s14 806feb4: eef1 fa10 vmrs APSR_nzcv, fpscr 806feb8: d835 bhi.n 806ff26 BSP_LCD_DisplayStringAt(59, y6 - 2, "10000000", RIGHT_MODE); 806feba: f8b7 3430 ldrh.w r3, [r7, #1072] ; 0x430 806febe: 3b02 subs r3, #2 806fec0: b299 uxth r1, r3 806fec2: 2302 movs r3, #2 806fec4: 4a9f ldr r2, [pc, #636] ; (8070144 ) 806fec6: 203b movs r0, #59 ; 0x3b 806fec8: f7e3 fd36 bl 8053938 BSP_LCD_DisplayStringAt(59, y5 - 2, "1000000", RIGHT_MODE); 806fecc: f8b7 3432 ldrh.w r3, [r7, #1074] ; 0x432 806fed0: 3b02 subs r3, #2 806fed2: b299 uxth r1, r3 806fed4: 2302 movs r3, #2 806fed6: 4a9c ldr r2, [pc, #624] ; (8070148 ) 806fed8: 203b movs r0, #59 ; 0x3b 806feda: f7e3 fd2d bl 8053938 BSP_LCD_DisplayStringAt(59, y4 - 2, "100000", RIGHT_MODE); 806fede: f8b7 3434 ldrh.w r3, [r7, #1076] ; 0x434 806fee2: 3b02 subs r3, #2 806fee4: b299 uxth r1, r3 806fee6: 2302 movs r3, #2 806fee8: 4a98 ldr r2, [pc, #608] ; (807014c ) 806feea: 203b movs r0, #59 ; 0x3b 806feec: f7e3 fd24 bl 8053938 BSP_LCD_DisplayStringAt(59, y3 - 2, "10000", RIGHT_MODE); 806fef0: f8b7 3436 ldrh.w r3, [r7, #1078] ; 0x436 806fef4: 3b02 subs r3, #2 806fef6: b299 uxth r1, r3 806fef8: 2302 movs r3, #2 806fefa: 4a95 ldr r2, [pc, #596] ; (8070150 ) 806fefc: 203b movs r0, #59 ; 0x3b 806fefe: f7e3 fd1b bl 8053938 BSP_LCD_DisplayStringAt(59, y2 - 2, "1000", RIGHT_MODE); 806ff02: f8b7 3438 ldrh.w r3, [r7, #1080] ; 0x438 806ff06: 3b02 subs r3, #2 806ff08: b299 uxth r1, r3 806ff0a: 2302 movs r3, #2 806ff0c: 4a91 ldr r2, [pc, #580] ; (8070154 ) 806ff0e: 203b movs r0, #59 ; 0x3b 806ff10: f7e3 fd12 bl 8053938 BSP_LCD_DisplayStringAt(59, y1 - 2, "100", RIGHT_MODE); 806ff14: f8b7 343a ldrh.w r3, [r7, #1082] ; 0x43a 806ff18: 3b02 subs r3, #2 806ff1a: b299 uxth r1, r3 806ff1c: 2302 movs r3, #2 806ff1e: 4a8e ldr r2, [pc, #568] ; (8070158 ) 806ff20: 203b movs r0, #59 ; 0x3b 806ff22: f7e3 fd09 bl 8053938 if(l == 1) 806ff26: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806ff2a: 2b01 cmp r3, #1 806ff2c: f040 811a bne.w 8070164 k = CmplxA_u32(0); 806ff30: 4b8a ldr r3, [pc, #552] ; (807015c ) 806ff32: 681b ldr r3, [r3, #0] 806ff34: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 Year = (k >> 25) - 20; 806ff38: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806ff3c: 0e5b lsrs r3, r3, #25 806ff3e: 3b14 subs r3, #20 806ff40: f8c7 342c str.w r3, [r7, #1068] ; 0x42c Month = (k >> 21) & 0xf; 806ff44: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806ff48: 0d5b lsrs r3, r3, #21 806ff4a: f003 030f and.w r3, r3, #15 806ff4e: f8c7 3428 str.w r3, [r7, #1064] ; 0x428 Day = (k >> 16) & 0x1f; 806ff52: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806ff56: 0c1b lsrs r3, r3, #16 806ff58: f003 031f and.w r3, r3, #31 806ff5c: f8c7 3424 str.w r3, [r7, #1060] ; 0x424 Hour = (k >> 11) & 0x1f; 806ff60: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806ff64: 0adb lsrs r3, r3, #11 806ff66: f003 031f and.w r3, r3, #31 806ff6a: f8c7 3420 str.w r3, [r7, #1056] ; 0x420 Min = (k >> 5) & 0x3f; 806ff6e: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806ff72: 095b lsrs r3, r3, #5 806ff74: f003 033f and.w r3, r3, #63 ; 0x3f 806ff78: f8c7 341c str.w r3, [r7, #1052] ; 0x41c Sec = ((k << 1) & 0x1f) + 1; 806ff7c: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806ff80: 005b lsls r3, r3, #1 806ff82: f003 031f and.w r3, r3, #31 806ff86: 3301 adds r3, #1 806ff88: f8c7 3418 str.w r3, [r7, #1048] ; 0x418 memset(str, 0, sizeof(str)); 806ff8c: f507 733b add.w r3, r7, #748 ; 0x2ec 806ff90: 223c movs r2, #60 ; 0x3c 806ff92: 2100 movs r1, #0 806ff94: 4618 mov r0, r3 806ff96: f05d f857 bl 80cd048 str[0] = (Day / 10) + 48; 806ff9a: f8d7 3424 ldr.w r3, [r7, #1060] ; 0x424 806ff9e: 4a70 ldr r2, [pc, #448] ; (8070160 ) 806ffa0: fba2 2303 umull r2, r3, r2, r3 806ffa4: 08db lsrs r3, r3, #3 806ffa6: b2db uxtb r3, r3 806ffa8: 3330 adds r3, #48 ; 0x30 806ffaa: b2da uxtb r2, r3 806ffac: f507 733b add.w r3, r7, #748 ; 0x2ec 806ffb0: 701a strb r2, [r3, #0] str[1] = (Day % 10) + 48; 806ffb2: f8d7 1424 ldr.w r1, [r7, #1060] ; 0x424 806ffb6: 4b6a ldr r3, [pc, #424] ; (8070160 ) 806ffb8: fba3 2301 umull r2, r3, r3, r1 806ffbc: 08da lsrs r2, r3, #3 806ffbe: 4613 mov r3, r2 806ffc0: 009b lsls r3, r3, #2 806ffc2: 4413 add r3, r2 806ffc4: 005b lsls r3, r3, #1 806ffc6: 1aca subs r2, r1, r3 806ffc8: b2d3 uxtb r3, r2 806ffca: 3330 adds r3, #48 ; 0x30 806ffcc: b2da uxtb r2, r3 806ffce: f507 733b add.w r3, r7, #748 ; 0x2ec 806ffd2: 705a strb r2, [r3, #1] str[2] = '.'; 806ffd4: f507 733b add.w r3, r7, #748 ; 0x2ec 806ffd8: 222e movs r2, #46 ; 0x2e 806ffda: 709a strb r2, [r3, #2] str[3] = (Month / 10) + 48; 806ffdc: f8d7 3428 ldr.w r3, [r7, #1064] ; 0x428 806ffe0: 4a5f ldr r2, [pc, #380] ; (8070160 ) 806ffe2: fba2 2303 umull r2, r3, r2, r3 806ffe6: 08db lsrs r3, r3, #3 806ffe8: b2db uxtb r3, r3 806ffea: 3330 adds r3, #48 ; 0x30 806ffec: b2da uxtb r2, r3 806ffee: f507 733b add.w r3, r7, #748 ; 0x2ec 806fff2: 70da strb r2, [r3, #3] str[4] = (Month % 10) + 48; 806fff4: f8d7 1428 ldr.w r1, [r7, #1064] ; 0x428 806fff8: 4b59 ldr r3, [pc, #356] ; (8070160 ) 806fffa: fba3 2301 umull r2, r3, r3, r1 806fffe: 08da lsrs r2, r3, #3 8070000: 4613 mov r3, r2 8070002: 009b lsls r3, r3, #2 8070004: 4413 add r3, r2 8070006: 005b lsls r3, r3, #1 8070008: 1aca subs r2, r1, r3 807000a: b2d3 uxtb r3, r2 807000c: 3330 adds r3, #48 ; 0x30 807000e: b2da uxtb r2, r3 8070010: f507 733b add.w r3, r7, #748 ; 0x2ec 8070014: 711a strb r2, [r3, #4] str[5] = '.'; 8070016: f507 733b add.w r3, r7, #748 ; 0x2ec 807001a: 222e movs r2, #46 ; 0x2e 807001c: 715a strb r2, [r3, #5] str[6] = (Year / 10) + 48; 807001e: f8d7 342c ldr.w r3, [r7, #1068] ; 0x42c 8070022: 4a4f ldr r2, [pc, #316] ; (8070160 ) 8070024: fba2 2303 umull r2, r3, r2, r3 8070028: 08db lsrs r3, r3, #3 807002a: b2db uxtb r3, r3 807002c: 3330 adds r3, #48 ; 0x30 807002e: b2da uxtb r2, r3 8070030: f507 733b add.w r3, r7, #748 ; 0x2ec 8070034: 719a strb r2, [r3, #6] str[7] = (Year % 10) + 48; 8070036: f8d7 142c ldr.w r1, [r7, #1068] ; 0x42c 807003a: 4b49 ldr r3, [pc, #292] ; (8070160 ) 807003c: fba3 2301 umull r2, r3, r3, r1 8070040: 08da lsrs r2, r3, #3 8070042: 4613 mov r3, r2 8070044: 009b lsls r3, r3, #2 8070046: 4413 add r3, r2 8070048: 005b lsls r3, r3, #1 807004a: 1aca subs r2, r1, r3 807004c: b2d3 uxtb r3, r2 807004e: 3330 adds r3, #48 ; 0x30 8070050: b2da uxtb r2, r3 8070052: f507 733b add.w r3, r7, #748 ; 0x2ec 8070056: 71da strb r2, [r3, #7] BSP_LCD_DisplayStringAt(190, 220, str, CENTER_MODE); 8070058: f507 723b add.w r2, r7, #748 ; 0x2ec 807005c: 2301 movs r3, #1 807005e: 21dc movs r1, #220 ; 0xdc 8070060: 20be movs r0, #190 ; 0xbe 8070062: f7e3 fc69 bl 8053938 memset(str, 0, sizeof(str)); 8070066: f507 733b add.w r3, r7, #748 ; 0x2ec 807006a: 223c movs r2, #60 ; 0x3c 807006c: 2100 movs r1, #0 807006e: 4618 mov r0, r3 8070070: f05c ffea bl 80cd048 str[0] = (Hour / 10) + 48; 8070074: f8d7 3420 ldr.w r3, [r7, #1056] ; 0x420 8070078: 4a39 ldr r2, [pc, #228] ; (8070160 ) 807007a: fba2 2303 umull r2, r3, r2, r3 807007e: 08db lsrs r3, r3, #3 8070080: b2db uxtb r3, r3 8070082: 3330 adds r3, #48 ; 0x30 8070084: b2da uxtb r2, r3 8070086: f507 733b add.w r3, r7, #748 ; 0x2ec 807008a: 701a strb r2, [r3, #0] str[1] = (Hour % 10) + 48; 807008c: f8d7 1420 ldr.w r1, [r7, #1056] ; 0x420 8070090: 4b33 ldr r3, [pc, #204] ; (8070160 ) 8070092: fba3 2301 umull r2, r3, r3, r1 8070096: 08da lsrs r2, r3, #3 8070098: 4613 mov r3, r2 807009a: 009b lsls r3, r3, #2 807009c: 4413 add r3, r2 807009e: 005b lsls r3, r3, #1 80700a0: 1aca subs r2, r1, r3 80700a2: b2d3 uxtb r3, r2 80700a4: 3330 adds r3, #48 ; 0x30 80700a6: b2da uxtb r2, r3 80700a8: f507 733b add.w r3, r7, #748 ; 0x2ec 80700ac: 705a strb r2, [r3, #1] str[2] = ':'; 80700ae: f507 733b add.w r3, r7, #748 ; 0x2ec 80700b2: 223a movs r2, #58 ; 0x3a 80700b4: 709a strb r2, [r3, #2] str[3] = (Min / 10) + 48; 80700b6: f8d7 341c ldr.w r3, [r7, #1052] ; 0x41c 80700ba: 4a29 ldr r2, [pc, #164] ; (8070160 ) 80700bc: fba2 2303 umull r2, r3, r2, r3 80700c0: 08db lsrs r3, r3, #3 80700c2: b2db uxtb r3, r3 80700c4: 3330 adds r3, #48 ; 0x30 80700c6: b2da uxtb r2, r3 80700c8: f507 733b add.w r3, r7, #748 ; 0x2ec 80700cc: 70da strb r2, [r3, #3] str[4] = (Min % 10) + 48; 80700ce: f8d7 141c ldr.w r1, [r7, #1052] ; 0x41c 80700d2: 4b23 ldr r3, [pc, #140] ; (8070160 ) 80700d4: fba3 2301 umull r2, r3, r3, r1 80700d8: 08da lsrs r2, r3, #3 80700da: 4613 mov r3, r2 80700dc: 009b lsls r3, r3, #2 80700de: 4413 add r3, r2 80700e0: 005b lsls r3, r3, #1 80700e2: 1aca subs r2, r1, r3 80700e4: b2d3 uxtb r3, r2 80700e6: 3330 adds r3, #48 ; 0x30 80700e8: b2da uxtb r2, r3 80700ea: f507 733b add.w r3, r7, #748 ; 0x2ec 80700ee: 711a strb r2, [r3, #4] str[5] = ':'; 80700f0: f507 733b add.w r3, r7, #748 ; 0x2ec 80700f4: 223a movs r2, #58 ; 0x3a 80700f6: 715a strb r2, [r3, #5] str[6] = (Sec / 10) + 48; 80700f8: f8d7 3418 ldr.w r3, [r7, #1048] ; 0x418 80700fc: 4a18 ldr r2, [pc, #96] ; (8070160 ) 80700fe: fba2 2303 umull r2, r3, r2, r3 8070102: 08db lsrs r3, r3, #3 8070104: b2db uxtb r3, r3 8070106: 3330 adds r3, #48 ; 0x30 8070108: b2da uxtb r2, r3 807010a: f507 733b add.w r3, r7, #748 ; 0x2ec 807010e: 719a strb r2, [r3, #6] str[7] = (Sec % 10) + 48; 8070110: f8d7 1418 ldr.w r1, [r7, #1048] ; 0x418 8070114: 4b12 ldr r3, [pc, #72] ; (8070160 ) 8070116: fba3 2301 umull r2, r3, r3, r1 807011a: 08da lsrs r2, r3, #3 807011c: 4613 mov r3, r2 807011e: 009b lsls r3, r3, #2 8070120: 4413 add r3, r2 8070122: 005b lsls r3, r3, #1 8070124: 1aca subs r2, r1, r3 8070126: b2d3 uxtb r3, r2 8070128: 3330 adds r3, #48 ; 0x30 807012a: b2da uxtb r2, r3 807012c: f507 733b add.w r3, r7, #748 ; 0x2ec 8070130: 71da strb r2, [r3, #7] BSP_LCD_DisplayStringAt(190, 228, str, CENTER_MODE); 8070132: f507 723b add.w r2, r7, #748 ; 0x2ec 8070136: 2301 movs r3, #1 8070138: 21e4 movs r1, #228 ; 0xe4 807013a: 20be movs r0, #190 ; 0xbe 807013c: f7e3 fbfc bl 8053938 8070140: f000 bd77 b.w 8070c32 8070144: 080cfab4 .word 0x080cfab4 8070148: 080cfaac .word 0x080cfaac 807014c: 080cfaa4 .word 0x080cfaa4 8070150: 080cfa6c .word 0x080cfa6c 8070154: 080cfa60 .word 0x080cfa60 8070158: 080cfa58 .word 0x080cfa58 807015c: 64090000 .word 0x64090000 8070160: cccccccd .word 0xcccccccd if(l == 2) 8070164: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 8070168: 2b02 cmp r3, #2 807016a: f040 821d bne.w 80705a8 k = CmplxA_u32(0); 807016e: 4bde ldr r3, [pc, #888] ; (80704e8 ) 8070170: 681b ldr r3, [r3, #0] 8070172: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 Year = (k >> 25) - 20; 8070176: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 807017a: 0e5b lsrs r3, r3, #25 807017c: 3b14 subs r3, #20 807017e: f8c7 342c str.w r3, [r7, #1068] ; 0x42c Month = (k >> 21) & 0xf; 8070182: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8070186: 0d5b lsrs r3, r3, #21 8070188: f003 030f and.w r3, r3, #15 807018c: f8c7 3428 str.w r3, [r7, #1064] ; 0x428 Day = (k >> 16) & 0x1f; 8070190: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8070194: 0c1b lsrs r3, r3, #16 8070196: f003 031f and.w r3, r3, #31 807019a: f8c7 3424 str.w r3, [r7, #1060] ; 0x424 Hour = (k >> 11) & 0x1f; 807019e: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80701a2: 0adb lsrs r3, r3, #11 80701a4: f003 031f and.w r3, r3, #31 80701a8: f8c7 3420 str.w r3, [r7, #1056] ; 0x420 Min = (k >> 5) & 0x3f; 80701ac: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80701b0: 095b lsrs r3, r3, #5 80701b2: f003 033f and.w r3, r3, #63 ; 0x3f 80701b6: f8c7 341c str.w r3, [r7, #1052] ; 0x41c Sec = ((k << 1) & 0x1f) + 1; 80701ba: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80701be: 005b lsls r3, r3, #1 80701c0: f003 031f and.w r3, r3, #31 80701c4: 3301 adds r3, #1 80701c6: f8c7 3418 str.w r3, [r7, #1048] ; 0x418 memset(str, 0, sizeof(str)); 80701ca: f507 733b add.w r3, r7, #748 ; 0x2ec 80701ce: 223c movs r2, #60 ; 0x3c 80701d0: 2100 movs r1, #0 80701d2: 4618 mov r0, r3 80701d4: f05c ff38 bl 80cd048 str[0] = (Day / 10) + 48; 80701d8: f8d7 3424 ldr.w r3, [r7, #1060] ; 0x424 80701dc: 4ac3 ldr r2, [pc, #780] ; (80704ec ) 80701de: fba2 2303 umull r2, r3, r2, r3 80701e2: 08db lsrs r3, r3, #3 80701e4: b2db uxtb r3, r3 80701e6: 3330 adds r3, #48 ; 0x30 80701e8: b2da uxtb r2, r3 80701ea: f507 733b add.w r3, r7, #748 ; 0x2ec 80701ee: 701a strb r2, [r3, #0] str[1] = (Day % 10) + 48; 80701f0: f8d7 1424 ldr.w r1, [r7, #1060] ; 0x424 80701f4: 4bbd ldr r3, [pc, #756] ; (80704ec ) 80701f6: fba3 2301 umull r2, r3, r3, r1 80701fa: 08da lsrs r2, r3, #3 80701fc: 4613 mov r3, r2 80701fe: 009b lsls r3, r3, #2 8070200: 4413 add r3, r2 8070202: 005b lsls r3, r3, #1 8070204: 1aca subs r2, r1, r3 8070206: b2d3 uxtb r3, r2 8070208: 3330 adds r3, #48 ; 0x30 807020a: b2da uxtb r2, r3 807020c: f507 733b add.w r3, r7, #748 ; 0x2ec 8070210: 705a strb r2, [r3, #1] str[2] = '.'; 8070212: f507 733b add.w r3, r7, #748 ; 0x2ec 8070216: 222e movs r2, #46 ; 0x2e 8070218: 709a strb r2, [r3, #2] str[3] = (Month / 10) + 48; 807021a: f8d7 3428 ldr.w r3, [r7, #1064] ; 0x428 807021e: 4ab3 ldr r2, [pc, #716] ; (80704ec ) 8070220: fba2 2303 umull r2, r3, r2, r3 8070224: 08db lsrs r3, r3, #3 8070226: b2db uxtb r3, r3 8070228: 3330 adds r3, #48 ; 0x30 807022a: b2da uxtb r2, r3 807022c: f507 733b add.w r3, r7, #748 ; 0x2ec 8070230: 70da strb r2, [r3, #3] str[4] = (Month % 10) + 48; 8070232: f8d7 1428 ldr.w r1, [r7, #1064] ; 0x428 8070236: 4bad ldr r3, [pc, #692] ; (80704ec ) 8070238: fba3 2301 umull r2, r3, r3, r1 807023c: 08da lsrs r2, r3, #3 807023e: 4613 mov r3, r2 8070240: 009b lsls r3, r3, #2 8070242: 4413 add r3, r2 8070244: 005b lsls r3, r3, #1 8070246: 1aca subs r2, r1, r3 8070248: b2d3 uxtb r3, r2 807024a: 3330 adds r3, #48 ; 0x30 807024c: b2da uxtb r2, r3 807024e: f507 733b add.w r3, r7, #748 ; 0x2ec 8070252: 711a strb r2, [r3, #4] str[5] = '.'; 8070254: f507 733b add.w r3, r7, #748 ; 0x2ec 8070258: 222e movs r2, #46 ; 0x2e 807025a: 715a strb r2, [r3, #5] str[6] = (Year / 10) + 48; 807025c: f8d7 342c ldr.w r3, [r7, #1068] ; 0x42c 8070260: 4aa2 ldr r2, [pc, #648] ; (80704ec ) 8070262: fba2 2303 umull r2, r3, r2, r3 8070266: 08db lsrs r3, r3, #3 8070268: b2db uxtb r3, r3 807026a: 3330 adds r3, #48 ; 0x30 807026c: b2da uxtb r2, r3 807026e: f507 733b add.w r3, r7, #748 ; 0x2ec 8070272: 719a strb r2, [r3, #6] str[7] = (Year % 10) + 48; 8070274: f8d7 142c ldr.w r1, [r7, #1068] ; 0x42c 8070278: 4b9c ldr r3, [pc, #624] ; (80704ec ) 807027a: fba3 2301 umull r2, r3, r3, r1 807027e: 08da lsrs r2, r3, #3 8070280: 4613 mov r3, r2 8070282: 009b lsls r3, r3, #2 8070284: 4413 add r3, r2 8070286: 005b lsls r3, r3, #1 8070288: 1aca subs r2, r1, r3 807028a: b2d3 uxtb r3, r2 807028c: 3330 adds r3, #48 ; 0x30 807028e: b2da uxtb r2, r3 8070290: f507 733b add.w r3, r7, #748 ; 0x2ec 8070294: 71da strb r2, [r3, #7] BSP_LCD_DisplayStringAt(80, 220, str, CENTER_MODE); 8070296: f507 723b add.w r2, r7, #748 ; 0x2ec 807029a: 2301 movs r3, #1 807029c: 21dc movs r1, #220 ; 0xdc 807029e: 2050 movs r0, #80 ; 0x50 80702a0: f7e3 fb4a bl 8053938 memset(str, 0, sizeof(str)); 80702a4: f507 733b add.w r3, r7, #748 ; 0x2ec 80702a8: 223c movs r2, #60 ; 0x3c 80702aa: 2100 movs r1, #0 80702ac: 4618 mov r0, r3 80702ae: f05c fecb bl 80cd048 str[0] = (Hour / 10) + 48; 80702b2: f8d7 3420 ldr.w r3, [r7, #1056] ; 0x420 80702b6: 4a8d ldr r2, [pc, #564] ; (80704ec ) 80702b8: fba2 2303 umull r2, r3, r2, r3 80702bc: 08db lsrs r3, r3, #3 80702be: b2db uxtb r3, r3 80702c0: 3330 adds r3, #48 ; 0x30 80702c2: b2da uxtb r2, r3 80702c4: f507 733b add.w r3, r7, #748 ; 0x2ec 80702c8: 701a strb r2, [r3, #0] str[1] = (Hour % 10) + 48; 80702ca: f8d7 1420 ldr.w r1, [r7, #1056] ; 0x420 80702ce: 4b87 ldr r3, [pc, #540] ; (80704ec ) 80702d0: fba3 2301 umull r2, r3, r3, r1 80702d4: 08da lsrs r2, r3, #3 80702d6: 4613 mov r3, r2 80702d8: 009b lsls r3, r3, #2 80702da: 4413 add r3, r2 80702dc: 005b lsls r3, r3, #1 80702de: 1aca subs r2, r1, r3 80702e0: b2d3 uxtb r3, r2 80702e2: 3330 adds r3, #48 ; 0x30 80702e4: b2da uxtb r2, r3 80702e6: f507 733b add.w r3, r7, #748 ; 0x2ec 80702ea: 705a strb r2, [r3, #1] str[2] = ':'; 80702ec: f507 733b add.w r3, r7, #748 ; 0x2ec 80702f0: 223a movs r2, #58 ; 0x3a 80702f2: 709a strb r2, [r3, #2] str[3] = (Min / 10) + 48; 80702f4: f8d7 341c ldr.w r3, [r7, #1052] ; 0x41c 80702f8: 4a7c ldr r2, [pc, #496] ; (80704ec ) 80702fa: fba2 2303 umull r2, r3, r2, r3 80702fe: 08db lsrs r3, r3, #3 8070300: b2db uxtb r3, r3 8070302: 3330 adds r3, #48 ; 0x30 8070304: b2da uxtb r2, r3 8070306: f507 733b add.w r3, r7, #748 ; 0x2ec 807030a: 70da strb r2, [r3, #3] str[4] = (Min % 10) + 48; 807030c: f8d7 141c ldr.w r1, [r7, #1052] ; 0x41c 8070310: 4b76 ldr r3, [pc, #472] ; (80704ec ) 8070312: fba3 2301 umull r2, r3, r3, r1 8070316: 08da lsrs r2, r3, #3 8070318: 4613 mov r3, r2 807031a: 009b lsls r3, r3, #2 807031c: 4413 add r3, r2 807031e: 005b lsls r3, r3, #1 8070320: 1aca subs r2, r1, r3 8070322: b2d3 uxtb r3, r2 8070324: 3330 adds r3, #48 ; 0x30 8070326: b2da uxtb r2, r3 8070328: f507 733b add.w r3, r7, #748 ; 0x2ec 807032c: 711a strb r2, [r3, #4] str[5] = ':'; 807032e: f507 733b add.w r3, r7, #748 ; 0x2ec 8070332: 223a movs r2, #58 ; 0x3a 8070334: 715a strb r2, [r3, #5] str[6] = (Sec / 10) + 48; 8070336: f8d7 3418 ldr.w r3, [r7, #1048] ; 0x418 807033a: 4a6c ldr r2, [pc, #432] ; (80704ec ) 807033c: fba2 2303 umull r2, r3, r2, r3 8070340: 08db lsrs r3, r3, #3 8070342: b2db uxtb r3, r3 8070344: 3330 adds r3, #48 ; 0x30 8070346: b2da uxtb r2, r3 8070348: f507 733b add.w r3, r7, #748 ; 0x2ec 807034c: 719a strb r2, [r3, #6] str[7] = (Sec % 10) + 48; 807034e: f8d7 1418 ldr.w r1, [r7, #1048] ; 0x418 8070352: 4b66 ldr r3, [pc, #408] ; (80704ec ) 8070354: fba3 2301 umull r2, r3, r3, r1 8070358: 08da lsrs r2, r3, #3 807035a: 4613 mov r3, r2 807035c: 009b lsls r3, r3, #2 807035e: 4413 add r3, r2 8070360: 005b lsls r3, r3, #1 8070362: 1aca subs r2, r1, r3 8070364: b2d3 uxtb r3, r2 8070366: 3330 adds r3, #48 ; 0x30 8070368: b2da uxtb r2, r3 807036a: f507 733b add.w r3, r7, #748 ; 0x2ec 807036e: 71da strb r2, [r3, #7] BSP_LCD_DisplayStringAt(80, 228, str, CENTER_MODE); 8070370: f507 723b add.w r2, r7, #748 ; 0x2ec 8070374: 2301 movs r3, #1 8070376: 21e4 movs r1, #228 ; 0xe4 8070378: 2050 movs r0, #80 ; 0x50 807037a: f7e3 fadd bl 8053938 k = CmplxA_u32(1); 807037e: 4b5c ldr r3, [pc, #368] ; (80704f0 ) 8070380: 681b ldr r3, [r3, #0] 8070382: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 Year = (k >> 25) - 20; 8070386: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 807038a: 0e5b lsrs r3, r3, #25 807038c: 3b14 subs r3, #20 807038e: f8c7 342c str.w r3, [r7, #1068] ; 0x42c Month = (k >> 21) & 0xf; 8070392: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8070396: 0d5b lsrs r3, r3, #21 8070398: f003 030f and.w r3, r3, #15 807039c: f8c7 3428 str.w r3, [r7, #1064] ; 0x428 Day = (k >> 16) & 0x1f; 80703a0: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80703a4: 0c1b lsrs r3, r3, #16 80703a6: f003 031f and.w r3, r3, #31 80703aa: f8c7 3424 str.w r3, [r7, #1060] ; 0x424 Hour = (k >> 11) & 0x1f; 80703ae: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80703b2: 0adb lsrs r3, r3, #11 80703b4: f003 031f and.w r3, r3, #31 80703b8: f8c7 3420 str.w r3, [r7, #1056] ; 0x420 Min = (k >> 5) & 0x3f; 80703bc: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80703c0: 095b lsrs r3, r3, #5 80703c2: f003 033f and.w r3, r3, #63 ; 0x3f 80703c6: f8c7 341c str.w r3, [r7, #1052] ; 0x41c Sec = ((k << 1) & 0x1f) + 1; 80703ca: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80703ce: 005b lsls r3, r3, #1 80703d0: f003 031f and.w r3, r3, #31 80703d4: 3301 adds r3, #1 80703d6: f8c7 3418 str.w r3, [r7, #1048] ; 0x418 memset(str, 0, sizeof(str)); 80703da: f507 733b add.w r3, r7, #748 ; 0x2ec 80703de: 223c movs r2, #60 ; 0x3c 80703e0: 2100 movs r1, #0 80703e2: 4618 mov r0, r3 80703e4: f05c fe30 bl 80cd048 str[0] = (Day / 10) + 48; 80703e8: f8d7 3424 ldr.w r3, [r7, #1060] ; 0x424 80703ec: 4a3f ldr r2, [pc, #252] ; (80704ec ) 80703ee: fba2 2303 umull r2, r3, r2, r3 80703f2: 08db lsrs r3, r3, #3 80703f4: b2db uxtb r3, r3 80703f6: 3330 adds r3, #48 ; 0x30 80703f8: b2da uxtb r2, r3 80703fa: f507 733b add.w r3, r7, #748 ; 0x2ec 80703fe: 701a strb r2, [r3, #0] str[1] = (Day % 10) + 48; 8070400: f8d7 1424 ldr.w r1, [r7, #1060] ; 0x424 8070404: 4b39 ldr r3, [pc, #228] ; (80704ec ) 8070406: fba3 2301 umull r2, r3, r3, r1 807040a: 08da lsrs r2, r3, #3 807040c: 4613 mov r3, r2 807040e: 009b lsls r3, r3, #2 8070410: 4413 add r3, r2 8070412: 005b lsls r3, r3, #1 8070414: 1aca subs r2, r1, r3 8070416: b2d3 uxtb r3, r2 8070418: 3330 adds r3, #48 ; 0x30 807041a: b2da uxtb r2, r3 807041c: f507 733b add.w r3, r7, #748 ; 0x2ec 8070420: 705a strb r2, [r3, #1] str[2] = '.'; 8070422: f507 733b add.w r3, r7, #748 ; 0x2ec 8070426: 222e movs r2, #46 ; 0x2e 8070428: 709a strb r2, [r3, #2] str[3] = (Month / 10) + 48; 807042a: f8d7 3428 ldr.w r3, [r7, #1064] ; 0x428 807042e: 4a2f ldr r2, [pc, #188] ; (80704ec ) 8070430: fba2 2303 umull r2, r3, r2, r3 8070434: 08db lsrs r3, r3, #3 8070436: b2db uxtb r3, r3 8070438: 3330 adds r3, #48 ; 0x30 807043a: b2da uxtb r2, r3 807043c: f507 733b add.w r3, r7, #748 ; 0x2ec 8070440: 70da strb r2, [r3, #3] str[4] = (Month % 10) + 48; 8070442: f8d7 1428 ldr.w r1, [r7, #1064] ; 0x428 8070446: 4b29 ldr r3, [pc, #164] ; (80704ec ) 8070448: fba3 2301 umull r2, r3, r3, r1 807044c: 08da lsrs r2, r3, #3 807044e: 4613 mov r3, r2 8070450: 009b lsls r3, r3, #2 8070452: 4413 add r3, r2 8070454: 005b lsls r3, r3, #1 8070456: 1aca subs r2, r1, r3 8070458: b2d3 uxtb r3, r2 807045a: 3330 adds r3, #48 ; 0x30 807045c: b2da uxtb r2, r3 807045e: f507 733b add.w r3, r7, #748 ; 0x2ec 8070462: 711a strb r2, [r3, #4] str[5] = '.'; 8070464: f507 733b add.w r3, r7, #748 ; 0x2ec 8070468: 222e movs r2, #46 ; 0x2e 807046a: 715a strb r2, [r3, #5] str[6] = (Year / 10) + 48; 807046c: f8d7 342c ldr.w r3, [r7, #1068] ; 0x42c 8070470: 4a1e ldr r2, [pc, #120] ; (80704ec ) 8070472: fba2 2303 umull r2, r3, r2, r3 8070476: 08db lsrs r3, r3, #3 8070478: b2db uxtb r3, r3 807047a: 3330 adds r3, #48 ; 0x30 807047c: b2da uxtb r2, r3 807047e: f507 733b add.w r3, r7, #748 ; 0x2ec 8070482: 719a strb r2, [r3, #6] str[7] = (Year % 10) + 48; 8070484: f8d7 142c ldr.w r1, [r7, #1068] ; 0x42c 8070488: 4b18 ldr r3, [pc, #96] ; (80704ec ) 807048a: fba3 2301 umull r2, r3, r3, r1 807048e: 08da lsrs r2, r3, #3 8070490: 4613 mov r3, r2 8070492: 009b lsls r3, r3, #2 8070494: 4413 add r3, r2 8070496: 005b lsls r3, r3, #1 8070498: 1aca subs r2, r1, r3 807049a: b2d3 uxtb r3, r2 807049c: 3330 adds r3, #48 ; 0x30 807049e: b2da uxtb r2, r3 80704a0: f507 733b add.w r3, r7, #748 ; 0x2ec 80704a4: 71da strb r2, [r3, #7] BSP_LCD_DisplayStringAt(298, 220, str, CENTER_MODE); 80704a6: f507 723b add.w r2, r7, #748 ; 0x2ec 80704aa: 2301 movs r3, #1 80704ac: 21dc movs r1, #220 ; 0xdc 80704ae: f44f 7095 mov.w r0, #298 ; 0x12a 80704b2: f7e3 fa41 bl 8053938 memset(str, 0, sizeof(str)); 80704b6: f507 733b add.w r3, r7, #748 ; 0x2ec 80704ba: 223c movs r2, #60 ; 0x3c 80704bc: 2100 movs r1, #0 80704be: 4618 mov r0, r3 80704c0: f05c fdc2 bl 80cd048 str[0] = (Hour / 10) + 48; 80704c4: f8d7 3420 ldr.w r3, [r7, #1056] ; 0x420 80704c8: 4a08 ldr r2, [pc, #32] ; (80704ec ) 80704ca: fba2 2303 umull r2, r3, r2, r3 80704ce: 08db lsrs r3, r3, #3 80704d0: b2db uxtb r3, r3 80704d2: 3330 adds r3, #48 ; 0x30 80704d4: b2da uxtb r2, r3 80704d6: f507 733b add.w r3, r7, #748 ; 0x2ec 80704da: 701a strb r2, [r3, #0] str[1] = (Hour % 10) + 48; 80704dc: f8d7 1420 ldr.w r1, [r7, #1056] ; 0x420 80704e0: 4b02 ldr r3, [pc, #8] ; (80704ec ) 80704e2: fba3 2301 umull r2, r3, r3, r1 80704e6: e005 b.n 80704f4 80704e8: 64090000 .word 0x64090000 80704ec: cccccccd .word 0xcccccccd 80704f0: 64090004 .word 0x64090004 80704f4: 08da lsrs r2, r3, #3 80704f6: 4613 mov r3, r2 80704f8: 009b lsls r3, r3, #2 80704fa: 4413 add r3, r2 80704fc: 005b lsls r3, r3, #1 80704fe: 1aca subs r2, r1, r3 8070500: b2d3 uxtb r3, r2 8070502: 3330 adds r3, #48 ; 0x30 8070504: b2da uxtb r2, r3 8070506: f507 733b add.w r3, r7, #748 ; 0x2ec 807050a: 705a strb r2, [r3, #1] str[2] = ':'; 807050c: f507 733b add.w r3, r7, #748 ; 0x2ec 8070510: 223a movs r2, #58 ; 0x3a 8070512: 709a strb r2, [r3, #2] str[3] = (Min / 10) + 48; 8070514: f8d7 341c ldr.w r3, [r7, #1052] ; 0x41c 8070518: 4a22 ldr r2, [pc, #136] ; (80705a4 ) 807051a: fba2 2303 umull r2, r3, r2, r3 807051e: 08db lsrs r3, r3, #3 8070520: b2db uxtb r3, r3 8070522: 3330 adds r3, #48 ; 0x30 8070524: b2da uxtb r2, r3 8070526: f507 733b add.w r3, r7, #748 ; 0x2ec 807052a: 70da strb r2, [r3, #3] str[4] = (Min % 10) + 48; 807052c: f8d7 141c ldr.w r1, [r7, #1052] ; 0x41c 8070530: 4b1c ldr r3, [pc, #112] ; (80705a4 ) 8070532: fba3 2301 umull r2, r3, r3, r1 8070536: 08da lsrs r2, r3, #3 8070538: 4613 mov r3, r2 807053a: 009b lsls r3, r3, #2 807053c: 4413 add r3, r2 807053e: 005b lsls r3, r3, #1 8070540: 1aca subs r2, r1, r3 8070542: b2d3 uxtb r3, r2 8070544: 3330 adds r3, #48 ; 0x30 8070546: b2da uxtb r2, r3 8070548: f507 733b add.w r3, r7, #748 ; 0x2ec 807054c: 711a strb r2, [r3, #4] str[5] = ':'; 807054e: f507 733b add.w r3, r7, #748 ; 0x2ec 8070552: 223a movs r2, #58 ; 0x3a 8070554: 715a strb r2, [r3, #5] str[6] = (Sec / 10) + 48; 8070556: f8d7 3418 ldr.w r3, [r7, #1048] ; 0x418 807055a: 4a12 ldr r2, [pc, #72] ; (80705a4 ) 807055c: fba2 2303 umull r2, r3, r2, r3 8070560: 08db lsrs r3, r3, #3 8070562: b2db uxtb r3, r3 8070564: 3330 adds r3, #48 ; 0x30 8070566: b2da uxtb r2, r3 8070568: f507 733b add.w r3, r7, #748 ; 0x2ec 807056c: 719a strb r2, [r3, #6] str[7] = (Sec % 10) + 48; 807056e: f8d7 1418 ldr.w r1, [r7, #1048] ; 0x418 8070572: 4b0c ldr r3, [pc, #48] ; (80705a4 ) 8070574: fba3 2301 umull r2, r3, r3, r1 8070578: 08da lsrs r2, r3, #3 807057a: 4613 mov r3, r2 807057c: 009b lsls r3, r3, #2 807057e: 4413 add r3, r2 8070580: 005b lsls r3, r3, #1 8070582: 1aca subs r2, r1, r3 8070584: b2d3 uxtb r3, r2 8070586: 3330 adds r3, #48 ; 0x30 8070588: b2da uxtb r2, r3 807058a: f507 733b add.w r3, r7, #748 ; 0x2ec 807058e: 71da strb r2, [r3, #7] BSP_LCD_DisplayStringAt(298, 228, str, CENTER_MODE); 8070590: f507 723b add.w r2, r7, #748 ; 0x2ec 8070594: 2301 movs r3, #1 8070596: 21e4 movs r1, #228 ; 0xe4 8070598: f44f 7095 mov.w r0, #298 ; 0x12a 807059c: f7e3 f9cc bl 8053938 80705a0: e347 b.n 8070c32 80705a2: bf00 nop 80705a4: cccccccd .word 0xcccccccd k = CmplxA_u32(0); 80705a8: 4be0 ldr r3, [pc, #896] ; (807092c ) 80705aa: 681b ldr r3, [r3, #0] 80705ac: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 Year = (k >> 25) - 20; 80705b0: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80705b4: 0e5b lsrs r3, r3, #25 80705b6: 3b14 subs r3, #20 80705b8: f8c7 342c str.w r3, [r7, #1068] ; 0x42c Month = (k >> 21) & 0xf; 80705bc: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80705c0: 0d5b lsrs r3, r3, #21 80705c2: f003 030f and.w r3, r3, #15 80705c6: f8c7 3428 str.w r3, [r7, #1064] ; 0x428 Day = (k >> 16) & 0x1f; 80705ca: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80705ce: 0c1b lsrs r3, r3, #16 80705d0: f003 031f and.w r3, r3, #31 80705d4: f8c7 3424 str.w r3, [r7, #1060] ; 0x424 Hour = (k >> 11) & 0x1f; 80705d8: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80705dc: 0adb lsrs r3, r3, #11 80705de: f003 031f and.w r3, r3, #31 80705e2: f8c7 3420 str.w r3, [r7, #1056] ; 0x420 Min = (k >> 5) & 0x3f; 80705e6: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80705ea: 095b lsrs r3, r3, #5 80705ec: f003 033f and.w r3, r3, #63 ; 0x3f 80705f0: f8c7 341c str.w r3, [r7, #1052] ; 0x41c Sec = ((k << 1) & 0x1f) + 1; 80705f4: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80705f8: 005b lsls r3, r3, #1 80705fa: f003 031f and.w r3, r3, #31 80705fe: 3301 adds r3, #1 8070600: f8c7 3418 str.w r3, [r7, #1048] ; 0x418 memset(str, 0, sizeof(str)); 8070604: f507 733b add.w r3, r7, #748 ; 0x2ec 8070608: 223c movs r2, #60 ; 0x3c 807060a: 2100 movs r1, #0 807060c: 4618 mov r0, r3 807060e: f05c fd1b bl 80cd048 str[0] = (Day / 10) + 48; 8070612: f8d7 3424 ldr.w r3, [r7, #1060] ; 0x424 8070616: 4ac6 ldr r2, [pc, #792] ; (8070930 ) 8070618: fba2 2303 umull r2, r3, r2, r3 807061c: 08db lsrs r3, r3, #3 807061e: b2db uxtb r3, r3 8070620: 3330 adds r3, #48 ; 0x30 8070622: b2da uxtb r2, r3 8070624: f507 733b add.w r3, r7, #748 ; 0x2ec 8070628: 701a strb r2, [r3, #0] str[1] = (Day % 10) + 48; 807062a: f8d7 1424 ldr.w r1, [r7, #1060] ; 0x424 807062e: 4bc0 ldr r3, [pc, #768] ; (8070930 ) 8070630: fba3 2301 umull r2, r3, r3, r1 8070634: 08da lsrs r2, r3, #3 8070636: 4613 mov r3, r2 8070638: 009b lsls r3, r3, #2 807063a: 4413 add r3, r2 807063c: 005b lsls r3, r3, #1 807063e: 1aca subs r2, r1, r3 8070640: b2d3 uxtb r3, r2 8070642: 3330 adds r3, #48 ; 0x30 8070644: b2da uxtb r2, r3 8070646: f507 733b add.w r3, r7, #748 ; 0x2ec 807064a: 705a strb r2, [r3, #1] str[2] = '.'; 807064c: f507 733b add.w r3, r7, #748 ; 0x2ec 8070650: 222e movs r2, #46 ; 0x2e 8070652: 709a strb r2, [r3, #2] str[3] = (Month / 10) + 48; 8070654: f8d7 3428 ldr.w r3, [r7, #1064] ; 0x428 8070658: 4ab5 ldr r2, [pc, #724] ; (8070930 ) 807065a: fba2 2303 umull r2, r3, r2, r3 807065e: 08db lsrs r3, r3, #3 8070660: b2db uxtb r3, r3 8070662: 3330 adds r3, #48 ; 0x30 8070664: b2da uxtb r2, r3 8070666: f507 733b add.w r3, r7, #748 ; 0x2ec 807066a: 70da strb r2, [r3, #3] str[4] = (Month % 10) + 48; 807066c: f8d7 1428 ldr.w r1, [r7, #1064] ; 0x428 8070670: 4baf ldr r3, [pc, #700] ; (8070930 ) 8070672: fba3 2301 umull r2, r3, r3, r1 8070676: 08da lsrs r2, r3, #3 8070678: 4613 mov r3, r2 807067a: 009b lsls r3, r3, #2 807067c: 4413 add r3, r2 807067e: 005b lsls r3, r3, #1 8070680: 1aca subs r2, r1, r3 8070682: b2d3 uxtb r3, r2 8070684: 3330 adds r3, #48 ; 0x30 8070686: b2da uxtb r2, r3 8070688: f507 733b add.w r3, r7, #748 ; 0x2ec 807068c: 711a strb r2, [r3, #4] str[5] = '.'; 807068e: f507 733b add.w r3, r7, #748 ; 0x2ec 8070692: 222e movs r2, #46 ; 0x2e 8070694: 715a strb r2, [r3, #5] str[6] = (Year / 10) + 48; 8070696: f8d7 342c ldr.w r3, [r7, #1068] ; 0x42c 807069a: 4aa5 ldr r2, [pc, #660] ; (8070930 ) 807069c: fba2 2303 umull r2, r3, r2, r3 80706a0: 08db lsrs r3, r3, #3 80706a2: b2db uxtb r3, r3 80706a4: 3330 adds r3, #48 ; 0x30 80706a6: b2da uxtb r2, r3 80706a8: f507 733b add.w r3, r7, #748 ; 0x2ec 80706ac: 719a strb r2, [r3, #6] str[7] = (Year % 10) + 48; 80706ae: f8d7 142c ldr.w r1, [r7, #1068] ; 0x42c 80706b2: 4b9f ldr r3, [pc, #636] ; (8070930 ) 80706b4: fba3 2301 umull r2, r3, r3, r1 80706b8: 08da lsrs r2, r3, #3 80706ba: 4613 mov r3, r2 80706bc: 009b lsls r3, r3, #2 80706be: 4413 add r3, r2 80706c0: 005b lsls r3, r3, #1 80706c2: 1aca subs r2, r1, r3 80706c4: b2d3 uxtb r3, r2 80706c6: 3330 adds r3, #48 ; 0x30 80706c8: b2da uxtb r2, r3 80706ca: f507 733b add.w r3, r7, #748 ; 0x2ec 80706ce: 71da strb r2, [r3, #7] BSP_LCD_DisplayStringAt(80, 220, str, CENTER_MODE); 80706d0: f507 723b add.w r2, r7, #748 ; 0x2ec 80706d4: 2301 movs r3, #1 80706d6: 21dc movs r1, #220 ; 0xdc 80706d8: 2050 movs r0, #80 ; 0x50 80706da: f7e3 f92d bl 8053938 memset(str, 0, sizeof(str)); 80706de: f507 733b add.w r3, r7, #748 ; 0x2ec 80706e2: 223c movs r2, #60 ; 0x3c 80706e4: 2100 movs r1, #0 80706e6: 4618 mov r0, r3 80706e8: f05c fcae bl 80cd048 str[0] = (Hour / 10) + 48; 80706ec: f8d7 3420 ldr.w r3, [r7, #1056] ; 0x420 80706f0: 4a8f ldr r2, [pc, #572] ; (8070930 ) 80706f2: fba2 2303 umull r2, r3, r2, r3 80706f6: 08db lsrs r3, r3, #3 80706f8: b2db uxtb r3, r3 80706fa: 3330 adds r3, #48 ; 0x30 80706fc: b2da uxtb r2, r3 80706fe: f507 733b add.w r3, r7, #748 ; 0x2ec 8070702: 701a strb r2, [r3, #0] str[1] = (Hour % 10) + 48; 8070704: f8d7 1420 ldr.w r1, [r7, #1056] ; 0x420 8070708: 4b89 ldr r3, [pc, #548] ; (8070930 ) 807070a: fba3 2301 umull r2, r3, r3, r1 807070e: 08da lsrs r2, r3, #3 8070710: 4613 mov r3, r2 8070712: 009b lsls r3, r3, #2 8070714: 4413 add r3, r2 8070716: 005b lsls r3, r3, #1 8070718: 1aca subs r2, r1, r3 807071a: b2d3 uxtb r3, r2 807071c: 3330 adds r3, #48 ; 0x30 807071e: b2da uxtb r2, r3 8070720: f507 733b add.w r3, r7, #748 ; 0x2ec 8070724: 705a strb r2, [r3, #1] str[2] = ':'; 8070726: f507 733b add.w r3, r7, #748 ; 0x2ec 807072a: 223a movs r2, #58 ; 0x3a 807072c: 709a strb r2, [r3, #2] str[3] = (Min / 10) + 48; 807072e: f8d7 341c ldr.w r3, [r7, #1052] ; 0x41c 8070732: 4a7f ldr r2, [pc, #508] ; (8070930 ) 8070734: fba2 2303 umull r2, r3, r2, r3 8070738: 08db lsrs r3, r3, #3 807073a: b2db uxtb r3, r3 807073c: 3330 adds r3, #48 ; 0x30 807073e: b2da uxtb r2, r3 8070740: f507 733b add.w r3, r7, #748 ; 0x2ec 8070744: 70da strb r2, [r3, #3] str[4] = (Min % 10) + 48; 8070746: f8d7 141c ldr.w r1, [r7, #1052] ; 0x41c 807074a: 4b79 ldr r3, [pc, #484] ; (8070930 ) 807074c: fba3 2301 umull r2, r3, r3, r1 8070750: 08da lsrs r2, r3, #3 8070752: 4613 mov r3, r2 8070754: 009b lsls r3, r3, #2 8070756: 4413 add r3, r2 8070758: 005b lsls r3, r3, #1 807075a: 1aca subs r2, r1, r3 807075c: b2d3 uxtb r3, r2 807075e: 3330 adds r3, #48 ; 0x30 8070760: b2da uxtb r2, r3 8070762: f507 733b add.w r3, r7, #748 ; 0x2ec 8070766: 711a strb r2, [r3, #4] str[5] = ':'; 8070768: f507 733b add.w r3, r7, #748 ; 0x2ec 807076c: 223a movs r2, #58 ; 0x3a 807076e: 715a strb r2, [r3, #5] str[6] = (Sec / 10) + 48; 8070770: f8d7 3418 ldr.w r3, [r7, #1048] ; 0x418 8070774: 4a6e ldr r2, [pc, #440] ; (8070930 ) 8070776: fba2 2303 umull r2, r3, r2, r3 807077a: 08db lsrs r3, r3, #3 807077c: b2db uxtb r3, r3 807077e: 3330 adds r3, #48 ; 0x30 8070780: b2da uxtb r2, r3 8070782: f507 733b add.w r3, r7, #748 ; 0x2ec 8070786: 719a strb r2, [r3, #6] str[7] = (Sec % 10) + 48; 8070788: f8d7 1418 ldr.w r1, [r7, #1048] ; 0x418 807078c: 4b68 ldr r3, [pc, #416] ; (8070930 ) 807078e: fba3 2301 umull r2, r3, r3, r1 8070792: 08da lsrs r2, r3, #3 8070794: 4613 mov r3, r2 8070796: 009b lsls r3, r3, #2 8070798: 4413 add r3, r2 807079a: 005b lsls r3, r3, #1 807079c: 1aca subs r2, r1, r3 807079e: b2d3 uxtb r3, r2 80707a0: 3330 adds r3, #48 ; 0x30 80707a2: b2da uxtb r2, r3 80707a4: f507 733b add.w r3, r7, #748 ; 0x2ec 80707a8: 71da strb r2, [r3, #7] BSP_LCD_DisplayStringAt(80, 228, str, CENTER_MODE); 80707aa: f507 723b add.w r2, r7, #748 ; 0x2ec 80707ae: 2301 movs r3, #1 80707b0: 21e4 movs r1, #228 ; 0xe4 80707b2: 2050 movs r0, #80 ; 0x50 80707b4: f7e3 f8c0 bl 8053938 f = (float32_t) l / 2; 80707b8: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 80707bc: ee07 3a90 vmov s15, r3 80707c0: eeb8 7a67 vcvt.f32.u32 s14, s15 80707c4: eef0 6a00 vmov.f32 s13, #0 ; 0x40000000 2.0 80707c8: eec7 7a26 vdiv.f32 s15, s14, s13 80707cc: f507 638b add.w r3, r7, #1112 ; 0x458 80707d0: edc3 7a00 vstr s15, [r3] i = (uint32_t) (f + 0.5f); 80707d4: f507 638b add.w r3, r7, #1112 ; 0x458 80707d8: edd3 7a00 vldr s15, [r3] 80707dc: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80707e0: ee77 7a87 vadd.f32 s15, s15, s14 80707e4: eefc 7ae7 vcvt.u32.f32 s15, s15 80707e8: ee17 3a90 vmov r3, s15 80707ec: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 k = CmplxA_u32(i); 80707f0: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80707f4: 009a lsls r2, r3, #2 80707f6: 4b4d ldr r3, [pc, #308] ; (807092c ) 80707f8: 4413 add r3, r2 80707fa: 681b ldr r3, [r3, #0] 80707fc: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 Year = (k >> 25) - 20; 8070800: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8070804: 0e5b lsrs r3, r3, #25 8070806: 3b14 subs r3, #20 8070808: f8c7 342c str.w r3, [r7, #1068] ; 0x42c Month = (k >> 21) & 0xf; 807080c: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8070810: 0d5b lsrs r3, r3, #21 8070812: f003 030f and.w r3, r3, #15 8070816: f8c7 3428 str.w r3, [r7, #1064] ; 0x428 Day = (k >> 16) & 0x1f; 807081a: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 807081e: 0c1b lsrs r3, r3, #16 8070820: f003 031f and.w r3, r3, #31 8070824: f8c7 3424 str.w r3, [r7, #1060] ; 0x424 Hour = (k >> 11) & 0x1f; 8070828: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 807082c: 0adb lsrs r3, r3, #11 807082e: f003 031f and.w r3, r3, #31 8070832: f8c7 3420 str.w r3, [r7, #1056] ; 0x420 Min = (k >> 5) & 0x3f; 8070836: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 807083a: 095b lsrs r3, r3, #5 807083c: f003 033f and.w r3, r3, #63 ; 0x3f 8070840: f8c7 341c str.w r3, [r7, #1052] ; 0x41c Sec = ((k << 1) & 0x1f) + 1; 8070844: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8070848: 005b lsls r3, r3, #1 807084a: f003 031f and.w r3, r3, #31 807084e: 3301 adds r3, #1 8070850: f8c7 3418 str.w r3, [r7, #1048] ; 0x418 memset(str, 0, sizeof(str)); 8070854: f507 733b add.w r3, r7, #748 ; 0x2ec 8070858: 223c movs r2, #60 ; 0x3c 807085a: 2100 movs r1, #0 807085c: 4618 mov r0, r3 807085e: f05c fbf3 bl 80cd048 str[0] = (Day / 10) + 48; 8070862: f8d7 3424 ldr.w r3, [r7, #1060] ; 0x424 8070866: 4a32 ldr r2, [pc, #200] ; (8070930 ) 8070868: fba2 2303 umull r2, r3, r2, r3 807086c: 08db lsrs r3, r3, #3 807086e: b2db uxtb r3, r3 8070870: 3330 adds r3, #48 ; 0x30 8070872: b2da uxtb r2, r3 8070874: f507 733b add.w r3, r7, #748 ; 0x2ec 8070878: 701a strb r2, [r3, #0] str[1] = (Day % 10) + 48; 807087a: f8d7 1424 ldr.w r1, [r7, #1060] ; 0x424 807087e: 4b2c ldr r3, [pc, #176] ; (8070930 ) 8070880: fba3 2301 umull r2, r3, r3, r1 8070884: 08da lsrs r2, r3, #3 8070886: 4613 mov r3, r2 8070888: 009b lsls r3, r3, #2 807088a: 4413 add r3, r2 807088c: 005b lsls r3, r3, #1 807088e: 1aca subs r2, r1, r3 8070890: b2d3 uxtb r3, r2 8070892: 3330 adds r3, #48 ; 0x30 8070894: b2da uxtb r2, r3 8070896: f507 733b add.w r3, r7, #748 ; 0x2ec 807089a: 705a strb r2, [r3, #1] str[2] = '.'; 807089c: f507 733b add.w r3, r7, #748 ; 0x2ec 80708a0: 222e movs r2, #46 ; 0x2e 80708a2: 709a strb r2, [r3, #2] str[3] = (Month / 10) + 48; 80708a4: f8d7 3428 ldr.w r3, [r7, #1064] ; 0x428 80708a8: 4a21 ldr r2, [pc, #132] ; (8070930 ) 80708aa: fba2 2303 umull r2, r3, r2, r3 80708ae: 08db lsrs r3, r3, #3 80708b0: b2db uxtb r3, r3 80708b2: 3330 adds r3, #48 ; 0x30 80708b4: b2da uxtb r2, r3 80708b6: f507 733b add.w r3, r7, #748 ; 0x2ec 80708ba: 70da strb r2, [r3, #3] str[4] = (Month % 10) + 48; 80708bc: f8d7 1428 ldr.w r1, [r7, #1064] ; 0x428 80708c0: 4b1b ldr r3, [pc, #108] ; (8070930 ) 80708c2: fba3 2301 umull r2, r3, r3, r1 80708c6: 08da lsrs r2, r3, #3 80708c8: 4613 mov r3, r2 80708ca: 009b lsls r3, r3, #2 80708cc: 4413 add r3, r2 80708ce: 005b lsls r3, r3, #1 80708d0: 1aca subs r2, r1, r3 80708d2: b2d3 uxtb r3, r2 80708d4: 3330 adds r3, #48 ; 0x30 80708d6: b2da uxtb r2, r3 80708d8: f507 733b add.w r3, r7, #748 ; 0x2ec 80708dc: 711a strb r2, [r3, #4] str[5] = '.'; 80708de: f507 733b add.w r3, r7, #748 ; 0x2ec 80708e2: 222e movs r2, #46 ; 0x2e 80708e4: 715a strb r2, [r3, #5] str[6] = (Year / 10) + 48; 80708e6: f8d7 342c ldr.w r3, [r7, #1068] ; 0x42c 80708ea: 4a11 ldr r2, [pc, #68] ; (8070930 ) 80708ec: fba2 2303 umull r2, r3, r2, r3 80708f0: 08db lsrs r3, r3, #3 80708f2: b2db uxtb r3, r3 80708f4: 3330 adds r3, #48 ; 0x30 80708f6: b2da uxtb r2, r3 80708f8: f507 733b add.w r3, r7, #748 ; 0x2ec 80708fc: 719a strb r2, [r3, #6] str[7] = (Year % 10) + 48; 80708fe: f8d7 142c ldr.w r1, [r7, #1068] ; 0x42c 8070902: 4b0b ldr r3, [pc, #44] ; (8070930 ) 8070904: fba3 2301 umull r2, r3, r3, r1 8070908: 08da lsrs r2, r3, #3 807090a: 4613 mov r3, r2 807090c: 009b lsls r3, r3, #2 807090e: 4413 add r3, r2 8070910: 005b lsls r3, r3, #1 8070912: 1aca subs r2, r1, r3 8070914: b2d3 uxtb r3, r2 8070916: 3330 adds r3, #48 ; 0x30 8070918: b2da uxtb r2, r3 807091a: f507 733b add.w r3, r7, #748 ; 0x2ec 807091e: 71da strb r2, [r3, #7] BSP_LCD_DisplayStringAt(190, 220, str, CENTER_MODE); 8070920: f507 723b add.w r2, r7, #748 ; 0x2ec 8070924: 2301 movs r3, #1 8070926: 21dc movs r1, #220 ; 0xdc 8070928: e004 b.n 8070934 807092a: bf00 nop 807092c: 64090000 .word 0x64090000 8070930: cccccccd .word 0xcccccccd 8070934: 20be movs r0, #190 ; 0xbe 8070936: f7e2 ffff bl 8053938 memset(str, 0, sizeof(str)); 807093a: f507 733b add.w r3, r7, #748 ; 0x2ec 807093e: 223c movs r2, #60 ; 0x3c 8070940: 2100 movs r1, #0 8070942: 4618 mov r0, r3 8070944: f05c fb80 bl 80cd048 str[0] = (Hour / 10) + 48; 8070948: f8d7 3420 ldr.w r3, [r7, #1056] ; 0x420 807094c: 4abe ldr r2, [pc, #760] ; (8070c48 ) 807094e: fba2 2303 umull r2, r3, r2, r3 8070952: 08db lsrs r3, r3, #3 8070954: b2db uxtb r3, r3 8070956: 3330 adds r3, #48 ; 0x30 8070958: b2da uxtb r2, r3 807095a: f507 733b add.w r3, r7, #748 ; 0x2ec 807095e: 701a strb r2, [r3, #0] str[1] = (Hour % 10) + 48; 8070960: f8d7 1420 ldr.w r1, [r7, #1056] ; 0x420 8070964: 4bb8 ldr r3, [pc, #736] ; (8070c48 ) 8070966: fba3 2301 umull r2, r3, r3, r1 807096a: 08da lsrs r2, r3, #3 807096c: 4613 mov r3, r2 807096e: 009b lsls r3, r3, #2 8070970: 4413 add r3, r2 8070972: 005b lsls r3, r3, #1 8070974: 1aca subs r2, r1, r3 8070976: b2d3 uxtb r3, r2 8070978: 3330 adds r3, #48 ; 0x30 807097a: b2da uxtb r2, r3 807097c: f507 733b add.w r3, r7, #748 ; 0x2ec 8070980: 705a strb r2, [r3, #1] str[2] = ':'; 8070982: f507 733b add.w r3, r7, #748 ; 0x2ec 8070986: 223a movs r2, #58 ; 0x3a 8070988: 709a strb r2, [r3, #2] str[3] = (Min / 10) + 48; 807098a: f8d7 341c ldr.w r3, [r7, #1052] ; 0x41c 807098e: 4aae ldr r2, [pc, #696] ; (8070c48 ) 8070990: fba2 2303 umull r2, r3, r2, r3 8070994: 08db lsrs r3, r3, #3 8070996: b2db uxtb r3, r3 8070998: 3330 adds r3, #48 ; 0x30 807099a: b2da uxtb r2, r3 807099c: f507 733b add.w r3, r7, #748 ; 0x2ec 80709a0: 70da strb r2, [r3, #3] str[4] = (Min % 10) + 48; 80709a2: f8d7 141c ldr.w r1, [r7, #1052] ; 0x41c 80709a6: 4ba8 ldr r3, [pc, #672] ; (8070c48 ) 80709a8: fba3 2301 umull r2, r3, r3, r1 80709ac: 08da lsrs r2, r3, #3 80709ae: 4613 mov r3, r2 80709b0: 009b lsls r3, r3, #2 80709b2: 4413 add r3, r2 80709b4: 005b lsls r3, r3, #1 80709b6: 1aca subs r2, r1, r3 80709b8: b2d3 uxtb r3, r2 80709ba: 3330 adds r3, #48 ; 0x30 80709bc: b2da uxtb r2, r3 80709be: f507 733b add.w r3, r7, #748 ; 0x2ec 80709c2: 711a strb r2, [r3, #4] str[5] = ':'; 80709c4: f507 733b add.w r3, r7, #748 ; 0x2ec 80709c8: 223a movs r2, #58 ; 0x3a 80709ca: 715a strb r2, [r3, #5] str[6] = (Sec / 10) + 48; 80709cc: f8d7 3418 ldr.w r3, [r7, #1048] ; 0x418 80709d0: 4a9d ldr r2, [pc, #628] ; (8070c48 ) 80709d2: fba2 2303 umull r2, r3, r2, r3 80709d6: 08db lsrs r3, r3, #3 80709d8: b2db uxtb r3, r3 80709da: 3330 adds r3, #48 ; 0x30 80709dc: b2da uxtb r2, r3 80709de: f507 733b add.w r3, r7, #748 ; 0x2ec 80709e2: 719a strb r2, [r3, #6] str[7] = (Sec % 10) + 48; 80709e4: f8d7 1418 ldr.w r1, [r7, #1048] ; 0x418 80709e8: 4b97 ldr r3, [pc, #604] ; (8070c48 ) 80709ea: fba3 2301 umull r2, r3, r3, r1 80709ee: 08da lsrs r2, r3, #3 80709f0: 4613 mov r3, r2 80709f2: 009b lsls r3, r3, #2 80709f4: 4413 add r3, r2 80709f6: 005b lsls r3, r3, #1 80709f8: 1aca subs r2, r1, r3 80709fa: b2d3 uxtb r3, r2 80709fc: 3330 adds r3, #48 ; 0x30 80709fe: b2da uxtb r2, r3 8070a00: f507 733b add.w r3, r7, #748 ; 0x2ec 8070a04: 71da strb r2, [r3, #7] BSP_LCD_DisplayStringAt(190, 228, str, CENTER_MODE); 8070a06: f507 723b add.w r2, r7, #748 ; 0x2ec 8070a0a: 2301 movs r3, #1 8070a0c: 21e4 movs r1, #228 ; 0xe4 8070a0e: 20be movs r0, #190 ; 0xbe 8070a10: f7e2 ff92 bl 8053938 k = CmplxA_u32(l - 1); 8070a14: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 8070a18: 3b01 subs r3, #1 8070a1a: 009a lsls r2, r3, #2 8070a1c: 4b8b ldr r3, [pc, #556] ; (8070c4c ) 8070a1e: 4413 add r3, r2 8070a20: 681b ldr r3, [r3, #0] 8070a22: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 Year = (k >> 25) - 20; 8070a26: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8070a2a: 0e5b lsrs r3, r3, #25 8070a2c: 3b14 subs r3, #20 8070a2e: f8c7 342c str.w r3, [r7, #1068] ; 0x42c Month = (k >> 21) & 0xf; 8070a32: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8070a36: 0d5b lsrs r3, r3, #21 8070a38: f003 030f and.w r3, r3, #15 8070a3c: f8c7 3428 str.w r3, [r7, #1064] ; 0x428 Day = (k >> 16) & 0x1f; 8070a40: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8070a44: 0c1b lsrs r3, r3, #16 8070a46: f003 031f and.w r3, r3, #31 8070a4a: f8c7 3424 str.w r3, [r7, #1060] ; 0x424 Hour = (k >> 11) & 0x1f; 8070a4e: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8070a52: 0adb lsrs r3, r3, #11 8070a54: f003 031f and.w r3, r3, #31 8070a58: f8c7 3420 str.w r3, [r7, #1056] ; 0x420 Min = (k >> 5) & 0x3f; 8070a5c: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8070a60: 095b lsrs r3, r3, #5 8070a62: f003 033f and.w r3, r3, #63 ; 0x3f 8070a66: f8c7 341c str.w r3, [r7, #1052] ; 0x41c Sec = ((k << 1) & 0x1f) + 1; 8070a6a: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8070a6e: 005b lsls r3, r3, #1 8070a70: f003 031f and.w r3, r3, #31 8070a74: 3301 adds r3, #1 8070a76: f8c7 3418 str.w r3, [r7, #1048] ; 0x418 memset(str, 0, sizeof(str)); 8070a7a: f507 733b add.w r3, r7, #748 ; 0x2ec 8070a7e: 223c movs r2, #60 ; 0x3c 8070a80: 2100 movs r1, #0 8070a82: 4618 mov r0, r3 8070a84: f05c fae0 bl 80cd048 str[0] = (Day / 10) + 48; 8070a88: f8d7 3424 ldr.w r3, [r7, #1060] ; 0x424 8070a8c: 4a6e ldr r2, [pc, #440] ; (8070c48 ) 8070a8e: fba2 2303 umull r2, r3, r2, r3 8070a92: 08db lsrs r3, r3, #3 8070a94: b2db uxtb r3, r3 8070a96: 3330 adds r3, #48 ; 0x30 8070a98: b2da uxtb r2, r3 8070a9a: f507 733b add.w r3, r7, #748 ; 0x2ec 8070a9e: 701a strb r2, [r3, #0] str[1] = (Day % 10) + 48; 8070aa0: f8d7 1424 ldr.w r1, [r7, #1060] ; 0x424 8070aa4: 4b68 ldr r3, [pc, #416] ; (8070c48 ) 8070aa6: fba3 2301 umull r2, r3, r3, r1 8070aaa: 08da lsrs r2, r3, #3 8070aac: 4613 mov r3, r2 8070aae: 009b lsls r3, r3, #2 8070ab0: 4413 add r3, r2 8070ab2: 005b lsls r3, r3, #1 8070ab4: 1aca subs r2, r1, r3 8070ab6: b2d3 uxtb r3, r2 8070ab8: 3330 adds r3, #48 ; 0x30 8070aba: b2da uxtb r2, r3 8070abc: f507 733b add.w r3, r7, #748 ; 0x2ec 8070ac0: 705a strb r2, [r3, #1] str[2] = '.'; 8070ac2: f507 733b add.w r3, r7, #748 ; 0x2ec 8070ac6: 222e movs r2, #46 ; 0x2e 8070ac8: 709a strb r2, [r3, #2] str[3] = (Month / 10) + 48; 8070aca: f8d7 3428 ldr.w r3, [r7, #1064] ; 0x428 8070ace: 4a5e ldr r2, [pc, #376] ; (8070c48 ) 8070ad0: fba2 2303 umull r2, r3, r2, r3 8070ad4: 08db lsrs r3, r3, #3 8070ad6: b2db uxtb r3, r3 8070ad8: 3330 adds r3, #48 ; 0x30 8070ada: b2da uxtb r2, r3 8070adc: f507 733b add.w r3, r7, #748 ; 0x2ec 8070ae0: 70da strb r2, [r3, #3] str[4] = (Month % 10) + 48; 8070ae2: f8d7 1428 ldr.w r1, [r7, #1064] ; 0x428 8070ae6: 4b58 ldr r3, [pc, #352] ; (8070c48 ) 8070ae8: fba3 2301 umull r2, r3, r3, r1 8070aec: 08da lsrs r2, r3, #3 8070aee: 4613 mov r3, r2 8070af0: 009b lsls r3, r3, #2 8070af2: 4413 add r3, r2 8070af4: 005b lsls r3, r3, #1 8070af6: 1aca subs r2, r1, r3 8070af8: b2d3 uxtb r3, r2 8070afa: 3330 adds r3, #48 ; 0x30 8070afc: b2da uxtb r2, r3 8070afe: f507 733b add.w r3, r7, #748 ; 0x2ec 8070b02: 711a strb r2, [r3, #4] str[5] = '.'; 8070b04: f507 733b add.w r3, r7, #748 ; 0x2ec 8070b08: 222e movs r2, #46 ; 0x2e 8070b0a: 715a strb r2, [r3, #5] str[6] = (Year / 10) + 48; 8070b0c: f8d7 342c ldr.w r3, [r7, #1068] ; 0x42c 8070b10: 4a4d ldr r2, [pc, #308] ; (8070c48 ) 8070b12: fba2 2303 umull r2, r3, r2, r3 8070b16: 08db lsrs r3, r3, #3 8070b18: b2db uxtb r3, r3 8070b1a: 3330 adds r3, #48 ; 0x30 8070b1c: b2da uxtb r2, r3 8070b1e: f507 733b add.w r3, r7, #748 ; 0x2ec 8070b22: 719a strb r2, [r3, #6] str[7] = (Year % 10) + 48; 8070b24: f8d7 142c ldr.w r1, [r7, #1068] ; 0x42c 8070b28: 4b47 ldr r3, [pc, #284] ; (8070c48 ) 8070b2a: fba3 2301 umull r2, r3, r3, r1 8070b2e: 08da lsrs r2, r3, #3 8070b30: 4613 mov r3, r2 8070b32: 009b lsls r3, r3, #2 8070b34: 4413 add r3, r2 8070b36: 005b lsls r3, r3, #1 8070b38: 1aca subs r2, r1, r3 8070b3a: b2d3 uxtb r3, r2 8070b3c: 3330 adds r3, #48 ; 0x30 8070b3e: b2da uxtb r2, r3 8070b40: f507 733b add.w r3, r7, #748 ; 0x2ec 8070b44: 71da strb r2, [r3, #7] BSP_LCD_DisplayStringAt(298, 220, str, CENTER_MODE); 8070b46: f507 723b add.w r2, r7, #748 ; 0x2ec 8070b4a: 2301 movs r3, #1 8070b4c: 21dc movs r1, #220 ; 0xdc 8070b4e: f44f 7095 mov.w r0, #298 ; 0x12a 8070b52: f7e2 fef1 bl 8053938 memset(str, 0, sizeof(str)); 8070b56: f507 733b add.w r3, r7, #748 ; 0x2ec 8070b5a: 223c movs r2, #60 ; 0x3c 8070b5c: 2100 movs r1, #0 8070b5e: 4618 mov r0, r3 8070b60: f05c fa72 bl 80cd048 str[0] = (Hour / 10) + 48; 8070b64: f8d7 3420 ldr.w r3, [r7, #1056] ; 0x420 8070b68: 4a37 ldr r2, [pc, #220] ; (8070c48 ) 8070b6a: fba2 2303 umull r2, r3, r2, r3 8070b6e: 08db lsrs r3, r3, #3 8070b70: b2db uxtb r3, r3 8070b72: 3330 adds r3, #48 ; 0x30 8070b74: b2da uxtb r2, r3 8070b76: f507 733b add.w r3, r7, #748 ; 0x2ec 8070b7a: 701a strb r2, [r3, #0] str[1] = (Hour % 10) + 48; 8070b7c: f8d7 1420 ldr.w r1, [r7, #1056] ; 0x420 8070b80: 4b31 ldr r3, [pc, #196] ; (8070c48 ) 8070b82: fba3 2301 umull r2, r3, r3, r1 8070b86: 08da lsrs r2, r3, #3 8070b88: 4613 mov r3, r2 8070b8a: 009b lsls r3, r3, #2 8070b8c: 4413 add r3, r2 8070b8e: 005b lsls r3, r3, #1 8070b90: 1aca subs r2, r1, r3 8070b92: b2d3 uxtb r3, r2 8070b94: 3330 adds r3, #48 ; 0x30 8070b96: b2da uxtb r2, r3 8070b98: f507 733b add.w r3, r7, #748 ; 0x2ec 8070b9c: 705a strb r2, [r3, #1] str[2] = ':'; 8070b9e: f507 733b add.w r3, r7, #748 ; 0x2ec 8070ba2: 223a movs r2, #58 ; 0x3a 8070ba4: 709a strb r2, [r3, #2] str[3] = (Min / 10) + 48; 8070ba6: f8d7 341c ldr.w r3, [r7, #1052] ; 0x41c 8070baa: 4a27 ldr r2, [pc, #156] ; (8070c48 ) 8070bac: fba2 2303 umull r2, r3, r2, r3 8070bb0: 08db lsrs r3, r3, #3 8070bb2: b2db uxtb r3, r3 8070bb4: 3330 adds r3, #48 ; 0x30 8070bb6: b2da uxtb r2, r3 8070bb8: f507 733b add.w r3, r7, #748 ; 0x2ec 8070bbc: 70da strb r2, [r3, #3] str[4] = (Min % 10) + 48; 8070bbe: f8d7 141c ldr.w r1, [r7, #1052] ; 0x41c 8070bc2: 4b21 ldr r3, [pc, #132] ; (8070c48 ) 8070bc4: fba3 2301 umull r2, r3, r3, r1 8070bc8: 08da lsrs r2, r3, #3 8070bca: 4613 mov r3, r2 8070bcc: 009b lsls r3, r3, #2 8070bce: 4413 add r3, r2 8070bd0: 005b lsls r3, r3, #1 8070bd2: 1aca subs r2, r1, r3 8070bd4: b2d3 uxtb r3, r2 8070bd6: 3330 adds r3, #48 ; 0x30 8070bd8: b2da uxtb r2, r3 8070bda: f507 733b add.w r3, r7, #748 ; 0x2ec 8070bde: 711a strb r2, [r3, #4] str[5] = ':'; 8070be0: f507 733b add.w r3, r7, #748 ; 0x2ec 8070be4: 223a movs r2, #58 ; 0x3a 8070be6: 715a strb r2, [r3, #5] str[6] = (Sec / 10) + 48; 8070be8: f8d7 3418 ldr.w r3, [r7, #1048] ; 0x418 8070bec: 4a16 ldr r2, [pc, #88] ; (8070c48 ) 8070bee: fba2 2303 umull r2, r3, r2, r3 8070bf2: 08db lsrs r3, r3, #3 8070bf4: b2db uxtb r3, r3 8070bf6: 3330 adds r3, #48 ; 0x30 8070bf8: b2da uxtb r2, r3 8070bfa: f507 733b add.w r3, r7, #748 ; 0x2ec 8070bfe: 719a strb r2, [r3, #6] str[7] = (Sec % 10) + 48; 8070c00: f8d7 1418 ldr.w r1, [r7, #1048] ; 0x418 8070c04: 4b10 ldr r3, [pc, #64] ; (8070c48 ) 8070c06: fba3 2301 umull r2, r3, r3, r1 8070c0a: 08da lsrs r2, r3, #3 8070c0c: 4613 mov r3, r2 8070c0e: 009b lsls r3, r3, #2 8070c10: 4413 add r3, r2 8070c12: 005b lsls r3, r3, #1 8070c14: 1aca subs r2, r1, r3 8070c16: b2d3 uxtb r3, r2 8070c18: 3330 adds r3, #48 ; 0x30 8070c1a: b2da uxtb r2, r3 8070c1c: f507 733b add.w r3, r7, #748 ; 0x2ec 8070c20: 71da strb r2, [r3, #7] BSP_LCD_DisplayStringAt(298, 228, str, CENTER_MODE); 8070c22: f507 723b add.w r2, r7, #748 ; 0x2ec 8070c26: 2301 movs r3, #1 8070c28: 21e4 movs r1, #228 ; 0xe4 8070c2a: f44f 7095 mov.w r0, #298 ; 0x12a 8070c2e: f7e2 fe83 bl 8053938 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8070c32: 4907 ldr r1, [pc, #28] ; (8070c50 ) 8070c34: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8070c38: f7e2 fdb8 bl 80537ac for(i = 0; i < l; i++) 8070c3c: 2300 movs r3, #0 8070c3e: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 8070c42: f000 bf45 b.w 8071ad0 8070c46: bf00 nop 8070c48: cccccccd .word 0xcccccccd 8070c4c: 64090000 .word 0x64090000 8070c50: ff0a0f1f .word 0xff0a0f1f f = ScrA_f32(i); 8070c54: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8070c58: 009a lsls r2, r3, #2 8070c5a: 4bf1 ldr r3, [pc, #964] ; (8071020 ) 8070c5c: 4413 add r3, r2 8070c5e: 681b ldr r3, [r3, #0] 8070c60: f507 628b add.w r2, r7, #1112 ; 0x458 8070c64: 6013 str r3, [r2, #0] if(fmax <= 100.0f) ///////// 8070c66: f207 434c addw r3, r7, #1100 ; 0x44c 8070c6a: edd3 7a00 vldr s15, [r3] 8070c6e: ed9f 7af3 vldr s14, [pc, #972] ; 807103c 8070c72: eef4 7ac7 vcmpe.f32 s15, s14 8070c76: eef1 fa10 vmrs APSR_nzcv, fpscr 8070c7a: f200 8111 bhi.w 8070ea0 if(f <= 0.001f) 8070c7e: f507 638b add.w r3, r7, #1112 ; 0x458 8070c82: edd3 7a00 vldr s15, [r3] 8070c86: ed9f 7ae7 vldr s14, [pc, #924] ; 8071024 8070c8a: eef4 7ac7 vcmpe.f32 s15, s14 8070c8e: eef1 fa10 vmrs APSR_nzcv, fpscr 8070c92: d822 bhi.n 8070cda f = (25 * f / 0.001f) + 0.5f; 8070c94: f507 638b add.w r3, r7, #1112 ; 0x458 8070c98: edd3 7a00 vldr s15, [r3] 8070c9c: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 8070ca0: ee27 7a87 vmul.f32 s14, s15, s14 8070ca4: eddf 6adf vldr s13, [pc, #892] ; 8071024 8070ca8: eec7 7a26 vdiv.f32 s15, s14, s13 8070cac: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8070cb0: ee77 7a87 vadd.f32 s15, s15, s14 8070cb4: f507 638b add.w r3, r7, #1112 ; 0x458 8070cb8: edc3 7a00 vstr s15, [r3] y = y0 - (uint32_t) f; 8070cbc: f8b7 343c ldrh.w r3, [r7, #1084] ; 0x43c 8070cc0: f507 628b add.w r2, r7, #1112 ; 0x458 8070cc4: edd2 7a00 vldr s15, [r2] 8070cc8: eefc 7ae7 vcvt.u32.f32 s15, s15 8070ccc: ee17 2a90 vmov r2, s15 8070cd0: 1a9b subs r3, r3, r2 8070cd2: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 8070cd6: f000 be82 b.w 80719de if(f <= 0.01f) 8070cda: f507 638b add.w r3, r7, #1112 ; 0x458 8070cde: edd3 7a00 vldr s15, [r3] 8070ce2: ed9f 7ad1 vldr s14, [pc, #836] ; 8071028 8070ce6: eef4 7ac7 vcmpe.f32 s15, s14 8070cea: eef1 fa10 vmrs APSR_nzcv, fpscr 8070cee: d822 bhi.n 8070d36 f = (25 * f / 0.01f) + 0.5f; 8070cf0: f507 638b add.w r3, r7, #1112 ; 0x458 8070cf4: edd3 7a00 vldr s15, [r3] 8070cf8: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 8070cfc: ee27 7a87 vmul.f32 s14, s15, s14 8070d00: eddf 6ac9 vldr s13, [pc, #804] ; 8071028 8070d04: eec7 7a26 vdiv.f32 s15, s14, s13 8070d08: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8070d0c: ee77 7a87 vadd.f32 s15, s15, s14 8070d10: f507 638b add.w r3, r7, #1112 ; 0x458 8070d14: edc3 7a00 vstr s15, [r3] y = y1 - (uint32_t) f; 8070d18: f8b7 343a ldrh.w r3, [r7, #1082] ; 0x43a 8070d1c: f507 628b add.w r2, r7, #1112 ; 0x458 8070d20: edd2 7a00 vldr s15, [r2] 8070d24: eefc 7ae7 vcvt.u32.f32 s15, s15 8070d28: ee17 2a90 vmov r2, s15 8070d2c: 1a9b subs r3, r3, r2 8070d2e: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 8070d32: f000 be54 b.w 80719de if(f <= 0.1f) 8070d36: f507 638b add.w r3, r7, #1112 ; 0x458 8070d3a: edd3 7a00 vldr s15, [r3] 8070d3e: ed9f 7abb vldr s14, [pc, #748] ; 807102c 8070d42: eef4 7ac7 vcmpe.f32 s15, s14 8070d46: eef1 fa10 vmrs APSR_nzcv, fpscr 8070d4a: d822 bhi.n 8070d92 f = (25 * f / 0.1f) + 0.5f; 8070d4c: f507 638b add.w r3, r7, #1112 ; 0x458 8070d50: edd3 7a00 vldr s15, [r3] 8070d54: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 8070d58: ee27 7a87 vmul.f32 s14, s15, s14 8070d5c: eddf 6ab3 vldr s13, [pc, #716] ; 807102c 8070d60: eec7 7a26 vdiv.f32 s15, s14, s13 8070d64: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8070d68: ee77 7a87 vadd.f32 s15, s15, s14 8070d6c: f507 638b add.w r3, r7, #1112 ; 0x458 8070d70: edc3 7a00 vstr s15, [r3] y = y2 - (uint32_t) f; 8070d74: f8b7 3438 ldrh.w r3, [r7, #1080] ; 0x438 8070d78: f507 628b add.w r2, r7, #1112 ; 0x458 8070d7c: edd2 7a00 vldr s15, [r2] 8070d80: eefc 7ae7 vcvt.u32.f32 s15, s15 8070d84: ee17 2a90 vmov r2, s15 8070d88: 1a9b subs r3, r3, r2 8070d8a: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 8070d8e: f000 be26 b.w 80719de if(f <= 1.0f) 8070d92: f507 638b add.w r3, r7, #1112 ; 0x458 8070d96: edd3 7a00 vldr s15, [r3] 8070d9a: eeb7 7a00 vmov.f32 s14, #112 ; 0x3f800000 1.0 8070d9e: eef4 7ac7 vcmpe.f32 s15, s14 8070da2: eef1 fa10 vmrs APSR_nzcv, fpscr 8070da6: d81e bhi.n 8070de6 f = (25 * f / 1.0f) + 0.5f; 8070da8: f507 638b add.w r3, r7, #1112 ; 0x458 8070dac: edd3 7a00 vldr s15, [r3] 8070db0: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 8070db4: ee67 7a87 vmul.f32 s15, s15, s14 8070db8: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8070dbc: ee77 7a87 vadd.f32 s15, s15, s14 8070dc0: f507 638b add.w r3, r7, #1112 ; 0x458 8070dc4: edc3 7a00 vstr s15, [r3] y = y3 - (uint32_t) f; 8070dc8: f8b7 3436 ldrh.w r3, [r7, #1078] ; 0x436 8070dcc: f507 628b add.w r2, r7, #1112 ; 0x458 8070dd0: edd2 7a00 vldr s15, [r2] 8070dd4: eefc 7ae7 vcvt.u32.f32 s15, s15 8070dd8: ee17 2a90 vmov r2, s15 8070ddc: 1a9b subs r3, r3, r2 8070dde: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 8070de2: f000 bdfc b.w 80719de if(f <= 10.0f) 8070de6: f507 638b add.w r3, r7, #1112 ; 0x458 8070dea: edd3 7a00 vldr s15, [r3] 8070dee: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 8070df2: eef4 7ac7 vcmpe.f32 s15, s14 8070df6: eef1 fa10 vmrs APSR_nzcv, fpscr 8070dfa: d822 bhi.n 8070e42 f = (25 * f / 10.0f) + 0.5f; 8070dfc: f507 638b add.w r3, r7, #1112 ; 0x458 8070e00: edd3 7a00 vldr s15, [r3] 8070e04: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 8070e08: ee27 7a87 vmul.f32 s14, s15, s14 8070e0c: eef2 6a04 vmov.f32 s13, #36 ; 0x41200000 10.0 8070e10: eec7 7a26 vdiv.f32 s15, s14, s13 8070e14: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8070e18: ee77 7a87 vadd.f32 s15, s15, s14 8070e1c: f507 638b add.w r3, r7, #1112 ; 0x458 8070e20: edc3 7a00 vstr s15, [r3] y = y4 - (uint32_t) f; 8070e24: f8b7 3434 ldrh.w r3, [r7, #1076] ; 0x434 8070e28: f507 628b add.w r2, r7, #1112 ; 0x458 8070e2c: edd2 7a00 vldr s15, [r2] 8070e30: eefc 7ae7 vcvt.u32.f32 s15, s15 8070e34: ee17 2a90 vmov r2, s15 8070e38: 1a9b subs r3, r3, r2 8070e3a: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 8070e3e: f000 bdce b.w 80719de if(f <= 100.0f) 8070e42: f507 638b add.w r3, r7, #1112 ; 0x458 8070e46: edd3 7a00 vldr s15, [r3] 8070e4a: ed9f 7a7c vldr s14, [pc, #496] ; 807103c 8070e4e: eef4 7ac7 vcmpe.f32 s15, s14 8070e52: eef1 fa10 vmrs APSR_nzcv, fpscr 8070e56: f200 85c2 bhi.w 80719de f = (25 * f / 100.0f) + 0.5f; 8070e5a: f507 638b add.w r3, r7, #1112 ; 0x458 8070e5e: edd3 7a00 vldr s15, [r3] 8070e62: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 8070e66: ee27 7a87 vmul.f32 s14, s15, s14 8070e6a: eddf 6a74 vldr s13, [pc, #464] ; 807103c 8070e6e: eec7 7a26 vdiv.f32 s15, s14, s13 8070e72: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8070e76: ee77 7a87 vadd.f32 s15, s15, s14 8070e7a: f507 638b add.w r3, r7, #1112 ; 0x458 8070e7e: edc3 7a00 vstr s15, [r3] y = y5 - (uint32_t) f; 8070e82: f8b7 3432 ldrh.w r3, [r7, #1074] ; 0x432 8070e86: f507 628b add.w r2, r7, #1112 ; 0x458 8070e8a: edd2 7a00 vldr s15, [r2] 8070e8e: eefc 7ae7 vcvt.u32.f32 s15, s15 8070e92: ee17 2a90 vmov r2, s15 8070e96: 1a9b subs r3, r3, r2 8070e98: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 8070e9c: f000 bd9f b.w 80719de if(fmax <= 1000.0f) ///////// 8070ea0: f207 434c addw r3, r7, #1100 ; 0x44c 8070ea4: edd3 7a00 vldr s15, [r3] 8070ea8: ed9f 7a61 vldr s14, [pc, #388] ; 8071030 8070eac: eef4 7ac7 vcmpe.f32 s15, s14 8070eb0: eef1 fa10 vmrs APSR_nzcv, fpscr 8070eb4: f200 8121 bhi.w 80710fa if(f <= 0.01f) 8070eb8: f507 638b add.w r3, r7, #1112 ; 0x458 8070ebc: edd3 7a00 vldr s15, [r3] 8070ec0: ed9f 7a59 vldr s14, [pc, #356] ; 8071028 8070ec4: eef4 7ac7 vcmpe.f32 s15, s14 8070ec8: eef1 fa10 vmrs APSR_nzcv, fpscr 8070ecc: d822 bhi.n 8070f14 f = (25 * f / 0.01f) + 0.5f; 8070ece: f507 638b add.w r3, r7, #1112 ; 0x458 8070ed2: edd3 7a00 vldr s15, [r3] 8070ed6: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 8070eda: ee27 7a87 vmul.f32 s14, s15, s14 8070ede: eddf 6a52 vldr s13, [pc, #328] ; 8071028 8070ee2: eec7 7a26 vdiv.f32 s15, s14, s13 8070ee6: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8070eea: ee77 7a87 vadd.f32 s15, s15, s14 8070eee: f507 638b add.w r3, r7, #1112 ; 0x458 8070ef2: edc3 7a00 vstr s15, [r3] y = y0 - (uint32_t) f; 8070ef6: f8b7 343c ldrh.w r3, [r7, #1084] ; 0x43c 8070efa: f507 628b add.w r2, r7, #1112 ; 0x458 8070efe: edd2 7a00 vldr s15, [r2] 8070f02: eefc 7ae7 vcvt.u32.f32 s15, s15 8070f06: ee17 2a90 vmov r2, s15 8070f0a: 1a9b subs r3, r3, r2 8070f0c: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 8070f10: f000 bd65 b.w 80719de if(f <= 0.1f) 8070f14: f507 638b add.w r3, r7, #1112 ; 0x458 8070f18: edd3 7a00 vldr s15, [r3] 8070f1c: ed9f 7a43 vldr s14, [pc, #268] ; 807102c 8070f20: eef4 7ac7 vcmpe.f32 s15, s14 8070f24: eef1 fa10 vmrs APSR_nzcv, fpscr 8070f28: d822 bhi.n 8070f70 f = (25 * f / 0.1f) + 0.5f; 8070f2a: f507 638b add.w r3, r7, #1112 ; 0x458 8070f2e: edd3 7a00 vldr s15, [r3] 8070f32: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 8070f36: ee27 7a87 vmul.f32 s14, s15, s14 8070f3a: eddf 6a3c vldr s13, [pc, #240] ; 807102c 8070f3e: eec7 7a26 vdiv.f32 s15, s14, s13 8070f42: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8070f46: ee77 7a87 vadd.f32 s15, s15, s14 8070f4a: f507 638b add.w r3, r7, #1112 ; 0x458 8070f4e: edc3 7a00 vstr s15, [r3] y = y1 - (uint32_t) f; 8070f52: f8b7 343a ldrh.w r3, [r7, #1082] ; 0x43a 8070f56: f507 628b add.w r2, r7, #1112 ; 0x458 8070f5a: edd2 7a00 vldr s15, [r2] 8070f5e: eefc 7ae7 vcvt.u32.f32 s15, s15 8070f62: ee17 2a90 vmov r2, s15 8070f66: 1a9b subs r3, r3, r2 8070f68: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 8070f6c: f000 bd37 b.w 80719de if(f <= 1.0f) 8070f70: f507 638b add.w r3, r7, #1112 ; 0x458 8070f74: edd3 7a00 vldr s15, [r3] 8070f78: eeb7 7a00 vmov.f32 s14, #112 ; 0x3f800000 1.0 8070f7c: eef4 7ac7 vcmpe.f32 s15, s14 8070f80: eef1 fa10 vmrs APSR_nzcv, fpscr 8070f84: d81e bhi.n 8070fc4 f = (25 * f / 1.0f) + 0.5f; 8070f86: f507 638b add.w r3, r7, #1112 ; 0x458 8070f8a: edd3 7a00 vldr s15, [r3] 8070f8e: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 8070f92: ee67 7a87 vmul.f32 s15, s15, s14 8070f96: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8070f9a: ee77 7a87 vadd.f32 s15, s15, s14 8070f9e: f507 638b add.w r3, r7, #1112 ; 0x458 8070fa2: edc3 7a00 vstr s15, [r3] y = y2 - (uint32_t) f; 8070fa6: f8b7 3438 ldrh.w r3, [r7, #1080] ; 0x438 8070faa: f507 628b add.w r2, r7, #1112 ; 0x458 8070fae: edd2 7a00 vldr s15, [r2] 8070fb2: eefc 7ae7 vcvt.u32.f32 s15, s15 8070fb6: ee17 2a90 vmov r2, s15 8070fba: 1a9b subs r3, r3, r2 8070fbc: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 8070fc0: f000 bd0d b.w 80719de if(f <= 10.0f) 8070fc4: f507 638b add.w r3, r7, #1112 ; 0x458 8070fc8: edd3 7a00 vldr s15, [r3] 8070fcc: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 8070fd0: eef4 7ac7 vcmpe.f32 s15, s14 8070fd4: eef1 fa10 vmrs APSR_nzcv, fpscr 8070fd8: d832 bhi.n 8071040 f = (25 * f / 10.0f) + 0.5f; 8070fda: f507 638b add.w r3, r7, #1112 ; 0x458 8070fde: edd3 7a00 vldr s15, [r3] 8070fe2: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 8070fe6: ee27 7a87 vmul.f32 s14, s15, s14 8070fea: eef2 6a04 vmov.f32 s13, #36 ; 0x41200000 10.0 8070fee: eec7 7a26 vdiv.f32 s15, s14, s13 8070ff2: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8070ff6: ee77 7a87 vadd.f32 s15, s15, s14 8070ffa: f507 638b add.w r3, r7, #1112 ; 0x458 8070ffe: edc3 7a00 vstr s15, [r3] y = y3 - (uint32_t) f; 8071002: f8b7 3436 ldrh.w r3, [r7, #1078] ; 0x436 8071006: f507 628b add.w r2, r7, #1112 ; 0x458 807100a: edd2 7a00 vldr s15, [r2] 807100e: eefc 7ae7 vcvt.u32.f32 s15, s15 8071012: ee17 2a90 vmov r2, s15 8071016: 1a9b subs r3, r3, r2 8071018: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 807101c: f000 bcdf b.w 80719de 8071020: 64080000 .word 0x64080000 8071024: 3a83126f .word 0x3a83126f 8071028: 3c23d70a .word 0x3c23d70a 807102c: 3dcccccd .word 0x3dcccccd 8071030: 447a0000 .word 0x447a0000 8071034: 461c4000 .word 0x461c4000 8071038: 47c35000 .word 0x47c35000 807103c: 42c80000 .word 0x42c80000 if(f <= 100.0f) 8071040: f507 638b add.w r3, r7, #1112 ; 0x458 8071044: edd3 7a00 vldr s15, [r3] 8071048: ed1f 7a04 vldr s14, [pc, #-16] ; 807103c 807104c: eef4 7ac7 vcmpe.f32 s15, s14 8071050: eef1 fa10 vmrs APSR_nzcv, fpscr 8071054: d822 bhi.n 807109c f = (25 * f / 100.0f) + 0.5f; 8071056: f507 638b add.w r3, r7, #1112 ; 0x458 807105a: edd3 7a00 vldr s15, [r3] 807105e: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 8071062: ee27 7a87 vmul.f32 s14, s15, s14 8071066: ed5f 6a0b vldr s13, [pc, #-44] ; 807103c 807106a: eec7 7a26 vdiv.f32 s15, s14, s13 807106e: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8071072: ee77 7a87 vadd.f32 s15, s15, s14 8071076: f507 638b add.w r3, r7, #1112 ; 0x458 807107a: edc3 7a00 vstr s15, [r3] y = y4 - (uint32_t) f; 807107e: f8b7 3434 ldrh.w r3, [r7, #1076] ; 0x434 8071082: f507 628b add.w r2, r7, #1112 ; 0x458 8071086: edd2 7a00 vldr s15, [r2] 807108a: eefc 7ae7 vcvt.u32.f32 s15, s15 807108e: ee17 2a90 vmov r2, s15 8071092: 1a9b subs r3, r3, r2 8071094: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 8071098: f000 bca1 b.w 80719de if(f <= 1000.0f) 807109c: f507 638b add.w r3, r7, #1112 ; 0x458 80710a0: edd3 7a00 vldr s15, [r3] 80710a4: ed1f 7a1e vldr s14, [pc, #-120] ; 8071030 80710a8: eef4 7ac7 vcmpe.f32 s15, s14 80710ac: eef1 fa10 vmrs APSR_nzcv, fpscr 80710b0: f200 8495 bhi.w 80719de f = (25 * f / 1000.0f) + 0.5f; 80710b4: f507 638b add.w r3, r7, #1112 ; 0x458 80710b8: edd3 7a00 vldr s15, [r3] 80710bc: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 80710c0: ee27 7a87 vmul.f32 s14, s15, s14 80710c4: ed5f 6a26 vldr s13, [pc, #-152] ; 8071030 80710c8: eec7 7a26 vdiv.f32 s15, s14, s13 80710cc: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80710d0: ee77 7a87 vadd.f32 s15, s15, s14 80710d4: f507 638b add.w r3, r7, #1112 ; 0x458 80710d8: edc3 7a00 vstr s15, [r3] y = y5 - (uint32_t) f; 80710dc: f8b7 3432 ldrh.w r3, [r7, #1074] ; 0x432 80710e0: f507 628b add.w r2, r7, #1112 ; 0x458 80710e4: edd2 7a00 vldr s15, [r2] 80710e8: eefc 7ae7 vcvt.u32.f32 s15, s15 80710ec: ee17 2a90 vmov r2, s15 80710f0: 1a9b subs r3, r3, r2 80710f2: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 80710f6: f000 bc72 b.w 80719de if(fmax <= 10000.0f) ///////// 80710fa: f207 434c addw r3, r7, #1100 ; 0x44c 80710fe: edd3 7a00 vldr s15, [r3] 8071102: ed1f 7a34 vldr s14, [pc, #-208] ; 8071034 8071106: eef4 7ac7 vcmpe.f32 s15, s14 807110a: eef1 fa10 vmrs APSR_nzcv, fpscr 807110e: f200 810d bhi.w 807132c if(f <= 0.1f) 8071112: f507 638b add.w r3, r7, #1112 ; 0x458 8071116: edd3 7a00 vldr s15, [r3] 807111a: ed1f 7a3c vldr s14, [pc, #-240] ; 807102c 807111e: eef4 7ac7 vcmpe.f32 s15, s14 8071122: eef1 fa10 vmrs APSR_nzcv, fpscr 8071126: d822 bhi.n 807116e f = (25 * f / 0.1f) + 0.5f; 8071128: f507 638b add.w r3, r7, #1112 ; 0x458 807112c: edd3 7a00 vldr s15, [r3] 8071130: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 8071134: ee27 7a87 vmul.f32 s14, s15, s14 8071138: ed5f 6a44 vldr s13, [pc, #-272] ; 807102c 807113c: eec7 7a26 vdiv.f32 s15, s14, s13 8071140: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8071144: ee77 7a87 vadd.f32 s15, s15, s14 8071148: f507 638b add.w r3, r7, #1112 ; 0x458 807114c: edc3 7a00 vstr s15, [r3] y = y0 - (uint32_t) f; 8071150: f8b7 343c ldrh.w r3, [r7, #1084] ; 0x43c 8071154: f507 628b add.w r2, r7, #1112 ; 0x458 8071158: edd2 7a00 vldr s15, [r2] 807115c: eefc 7ae7 vcvt.u32.f32 s15, s15 8071160: ee17 2a90 vmov r2, s15 8071164: 1a9b subs r3, r3, r2 8071166: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 807116a: f000 bc38 b.w 80719de if(f <= 1.0f) 807116e: f507 638b add.w r3, r7, #1112 ; 0x458 8071172: edd3 7a00 vldr s15, [r3] 8071176: eeb7 7a00 vmov.f32 s14, #112 ; 0x3f800000 1.0 807117a: eef4 7ac7 vcmpe.f32 s15, s14 807117e: eef1 fa10 vmrs APSR_nzcv, fpscr 8071182: d81e bhi.n 80711c2 f = (25 * f / 1.0f) + 0.5f; 8071184: f507 638b add.w r3, r7, #1112 ; 0x458 8071188: edd3 7a00 vldr s15, [r3] 807118c: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 8071190: ee67 7a87 vmul.f32 s15, s15, s14 8071194: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8071198: ee77 7a87 vadd.f32 s15, s15, s14 807119c: f507 638b add.w r3, r7, #1112 ; 0x458 80711a0: edc3 7a00 vstr s15, [r3] y = y1 - (uint32_t) f; 80711a4: f8b7 343a ldrh.w r3, [r7, #1082] ; 0x43a 80711a8: f507 628b add.w r2, r7, #1112 ; 0x458 80711ac: edd2 7a00 vldr s15, [r2] 80711b0: eefc 7ae7 vcvt.u32.f32 s15, s15 80711b4: ee17 2a90 vmov r2, s15 80711b8: 1a9b subs r3, r3, r2 80711ba: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 80711be: f000 bc0e b.w 80719de if(f <= 10.0f) 80711c2: f507 638b add.w r3, r7, #1112 ; 0x458 80711c6: edd3 7a00 vldr s15, [r3] 80711ca: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80711ce: eef4 7ac7 vcmpe.f32 s15, s14 80711d2: eef1 fa10 vmrs APSR_nzcv, fpscr 80711d6: d821 bhi.n 807121c f = (25 * f / 10.0f) + 0.5f; 80711d8: f507 638b add.w r3, r7, #1112 ; 0x458 80711dc: edd3 7a00 vldr s15, [r3] 80711e0: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 80711e4: ee27 7a87 vmul.f32 s14, s15, s14 80711e8: eef2 6a04 vmov.f32 s13, #36 ; 0x41200000 10.0 80711ec: eec7 7a26 vdiv.f32 s15, s14, s13 80711f0: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80711f4: ee77 7a87 vadd.f32 s15, s15, s14 80711f8: f507 638b add.w r3, r7, #1112 ; 0x458 80711fc: edc3 7a00 vstr s15, [r3] y = y2 - (uint32_t) f; 8071200: f8b7 3438 ldrh.w r3, [r7, #1080] ; 0x438 8071204: f507 628b add.w r2, r7, #1112 ; 0x458 8071208: edd2 7a00 vldr s15, [r2] 807120c: eefc 7ae7 vcvt.u32.f32 s15, s15 8071210: ee17 2a90 vmov r2, s15 8071214: 1a9b subs r3, r3, r2 8071216: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 807121a: e3e0 b.n 80719de if(f <= 100.0f) 807121c: f507 638b add.w r3, r7, #1112 ; 0x458 8071220: edd3 7a00 vldr s15, [r3] 8071224: ed1f 7a7b vldr s14, [pc, #-492] ; 807103c 8071228: eef4 7ac7 vcmpe.f32 s15, s14 807122c: eef1 fa10 vmrs APSR_nzcv, fpscr 8071230: d821 bhi.n 8071276 f = (25 * f / 100.0f) + 0.5f; 8071232: f507 638b add.w r3, r7, #1112 ; 0x458 8071236: edd3 7a00 vldr s15, [r3] 807123a: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 807123e: ee27 7a87 vmul.f32 s14, s15, s14 8071242: ed5f 6a82 vldr s13, [pc, #-520] ; 807103c 8071246: eec7 7a26 vdiv.f32 s15, s14, s13 807124a: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 807124e: ee77 7a87 vadd.f32 s15, s15, s14 8071252: f507 638b add.w r3, r7, #1112 ; 0x458 8071256: edc3 7a00 vstr s15, [r3] y = y3 - (uint32_t) f; 807125a: f8b7 3436 ldrh.w r3, [r7, #1078] ; 0x436 807125e: f507 628b add.w r2, r7, #1112 ; 0x458 8071262: edd2 7a00 vldr s15, [r2] 8071266: eefc 7ae7 vcvt.u32.f32 s15, s15 807126a: ee17 2a90 vmov r2, s15 807126e: 1a9b subs r3, r3, r2 8071270: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 8071274: e3b3 b.n 80719de if(f <= 1000.0f) 8071276: f507 638b add.w r3, r7, #1112 ; 0x458 807127a: edd3 7a00 vldr s15, [r3] 807127e: ed1f 7a94 vldr s14, [pc, #-592] ; 8071030 8071282: eef4 7ac7 vcmpe.f32 s15, s14 8071286: eef1 fa10 vmrs APSR_nzcv, fpscr 807128a: d821 bhi.n 80712d0 f = (25 * f / 1000.0f) + 0.5f; 807128c: f507 638b add.w r3, r7, #1112 ; 0x458 8071290: edd3 7a00 vldr s15, [r3] 8071294: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 8071298: ee27 7a87 vmul.f32 s14, s15, s14 807129c: ed5f 6a9c vldr s13, [pc, #-624] ; 8071030 80712a0: eec7 7a26 vdiv.f32 s15, s14, s13 80712a4: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80712a8: ee77 7a87 vadd.f32 s15, s15, s14 80712ac: f507 638b add.w r3, r7, #1112 ; 0x458 80712b0: edc3 7a00 vstr s15, [r3] y = y4 - (uint32_t) f; 80712b4: f8b7 3434 ldrh.w r3, [r7, #1076] ; 0x434 80712b8: f507 628b add.w r2, r7, #1112 ; 0x458 80712bc: edd2 7a00 vldr s15, [r2] 80712c0: eefc 7ae7 vcvt.u32.f32 s15, s15 80712c4: ee17 2a90 vmov r2, s15 80712c8: 1a9b subs r3, r3, r2 80712ca: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 80712ce: e386 b.n 80719de if(f <= 10000.0f) 80712d0: f507 638b add.w r3, r7, #1112 ; 0x458 80712d4: edd3 7a00 vldr s15, [r3] 80712d8: ed1f 7aaa vldr s14, [pc, #-680] ; 8071034 80712dc: eef4 7ac7 vcmpe.f32 s15, s14 80712e0: eef1 fa10 vmrs APSR_nzcv, fpscr 80712e4: f200 837b bhi.w 80719de f = (25 * f / 10000.0f) + 0.5f; 80712e8: f507 638b add.w r3, r7, #1112 ; 0x458 80712ec: edd3 7a00 vldr s15, [r3] 80712f0: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 80712f4: ee27 7a87 vmul.f32 s14, s15, s14 80712f8: ed5f 6ab2 vldr s13, [pc, #-712] ; 8071034 80712fc: eec7 7a26 vdiv.f32 s15, s14, s13 8071300: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8071304: ee77 7a87 vadd.f32 s15, s15, s14 8071308: f507 638b add.w r3, r7, #1112 ; 0x458 807130c: edc3 7a00 vstr s15, [r3] y = y5 - (uint32_t) f; 8071310: f8b7 3432 ldrh.w r3, [r7, #1074] ; 0x432 8071314: f507 628b add.w r2, r7, #1112 ; 0x458 8071318: edd2 7a00 vldr s15, [r2] 807131c: eefc 7ae7 vcvt.u32.f32 s15, s15 8071320: ee17 2a90 vmov r2, s15 8071324: 1a9b subs r3, r3, r2 8071326: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 807132a: e358 b.n 80719de if(fmax <= 100000.0f) ///////// 807132c: f207 434c addw r3, r7, #1100 ; 0x44c 8071330: edd3 7a00 vldr s15, [r3] 8071334: ed1f 7ac0 vldr s14, [pc, #-768] ; 8071038 8071338: eef4 7ac7 vcmpe.f32 s15, s14 807133c: eef1 fa10 vmrs APSR_nzcv, fpscr 8071340: f200 810b bhi.w 807155a if(f <= 1.0f) 8071344: f507 638b add.w r3, r7, #1112 ; 0x458 8071348: edd3 7a00 vldr s15, [r3] 807134c: eeb7 7a00 vmov.f32 s14, #112 ; 0x3f800000 1.0 8071350: eef4 7ac7 vcmpe.f32 s15, s14 8071354: eef1 fa10 vmrs APSR_nzcv, fpscr 8071358: d81d bhi.n 8071396 f = (25 * f / 1.0f) + 0.5f; 807135a: f507 638b add.w r3, r7, #1112 ; 0x458 807135e: edd3 7a00 vldr s15, [r3] 8071362: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 8071366: ee67 7a87 vmul.f32 s15, s15, s14 807136a: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 807136e: ee77 7a87 vadd.f32 s15, s15, s14 8071372: f507 638b add.w r3, r7, #1112 ; 0x458 8071376: edc3 7a00 vstr s15, [r3] y = y0 - (uint32_t) f; 807137a: f8b7 343c ldrh.w r3, [r7, #1084] ; 0x43c 807137e: f507 628b add.w r2, r7, #1112 ; 0x458 8071382: edd2 7a00 vldr s15, [r2] 8071386: eefc 7ae7 vcvt.u32.f32 s15, s15 807138a: ee17 2a90 vmov r2, s15 807138e: 1a9b subs r3, r3, r2 8071390: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 8071394: e323 b.n 80719de if(f <= 10.0f) 8071396: f507 638b add.w r3, r7, #1112 ; 0x458 807139a: edd3 7a00 vldr s15, [r3] 807139e: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80713a2: eef4 7ac7 vcmpe.f32 s15, s14 80713a6: eef1 fa10 vmrs APSR_nzcv, fpscr 80713aa: d821 bhi.n 80713f0 f = (25 * f / 10.0f) + 0.5f; 80713ac: f507 638b add.w r3, r7, #1112 ; 0x458 80713b0: edd3 7a00 vldr s15, [r3] 80713b4: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 80713b8: ee27 7a87 vmul.f32 s14, s15, s14 80713bc: eef2 6a04 vmov.f32 s13, #36 ; 0x41200000 10.0 80713c0: eec7 7a26 vdiv.f32 s15, s14, s13 80713c4: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80713c8: ee77 7a87 vadd.f32 s15, s15, s14 80713cc: f507 638b add.w r3, r7, #1112 ; 0x458 80713d0: edc3 7a00 vstr s15, [r3] y = y1 - (uint32_t) f; 80713d4: f8b7 343a ldrh.w r3, [r7, #1082] ; 0x43a 80713d8: f507 628b add.w r2, r7, #1112 ; 0x458 80713dc: edd2 7a00 vldr s15, [r2] 80713e0: eefc 7ae7 vcvt.u32.f32 s15, s15 80713e4: ee17 2a90 vmov r2, s15 80713e8: 1a9b subs r3, r3, r2 80713ea: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 80713ee: e2f6 b.n 80719de if(f <= 100.0f) 80713f0: f507 638b add.w r3, r7, #1112 ; 0x458 80713f4: edd3 7a00 vldr s15, [r3] 80713f8: ed1f 7af0 vldr s14, [pc, #-960] ; 807103c 80713fc: eef4 7ac7 vcmpe.f32 s15, s14 8071400: eef1 fa10 vmrs APSR_nzcv, fpscr 8071404: d821 bhi.n 807144a f = (25 * f / 100.0f) + 0.5f; 8071406: f507 638b add.w r3, r7, #1112 ; 0x458 807140a: edd3 7a00 vldr s15, [r3] 807140e: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 8071412: ee27 7a87 vmul.f32 s14, s15, s14 8071416: eddf 6ade vldr s13, [pc, #888] ; 8071790 807141a: eec7 7a26 vdiv.f32 s15, s14, s13 807141e: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8071422: ee77 7a87 vadd.f32 s15, s15, s14 8071426: f507 638b add.w r3, r7, #1112 ; 0x458 807142a: edc3 7a00 vstr s15, [r3] y = y2 - (uint32_t) f; 807142e: f8b7 3438 ldrh.w r3, [r7, #1080] ; 0x438 8071432: f507 628b add.w r2, r7, #1112 ; 0x458 8071436: edd2 7a00 vldr s15, [r2] 807143a: eefc 7ae7 vcvt.u32.f32 s15, s15 807143e: ee17 2a90 vmov r2, s15 8071442: 1a9b subs r3, r3, r2 8071444: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 8071448: e2c9 b.n 80719de if(f <= 1000.0f) 807144a: f507 638b add.w r3, r7, #1112 ; 0x458 807144e: edd3 7a00 vldr s15, [r3] 8071452: ed9f 7ad0 vldr s14, [pc, #832] ; 8071794 8071456: eef4 7ac7 vcmpe.f32 s15, s14 807145a: eef1 fa10 vmrs APSR_nzcv, fpscr 807145e: d821 bhi.n 80714a4 f = (25 * f / 1000.0f) + 0.5f; 8071460: f507 638b add.w r3, r7, #1112 ; 0x458 8071464: edd3 7a00 vldr s15, [r3] 8071468: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 807146c: ee27 7a87 vmul.f32 s14, s15, s14 8071470: eddf 6ac8 vldr s13, [pc, #800] ; 8071794 8071474: eec7 7a26 vdiv.f32 s15, s14, s13 8071478: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 807147c: ee77 7a87 vadd.f32 s15, s15, s14 8071480: f507 638b add.w r3, r7, #1112 ; 0x458 8071484: edc3 7a00 vstr s15, [r3] y = y3 - (uint32_t) f; 8071488: f8b7 3436 ldrh.w r3, [r7, #1078] ; 0x436 807148c: f507 628b add.w r2, r7, #1112 ; 0x458 8071490: edd2 7a00 vldr s15, [r2] 8071494: eefc 7ae7 vcvt.u32.f32 s15, s15 8071498: ee17 2a90 vmov r2, s15 807149c: 1a9b subs r3, r3, r2 807149e: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 80714a2: e29c b.n 80719de if(f <= 10000.0f) 80714a4: f507 638b add.w r3, r7, #1112 ; 0x458 80714a8: edd3 7a00 vldr s15, [r3] 80714ac: ed9f 7aba vldr s14, [pc, #744] ; 8071798 80714b0: eef4 7ac7 vcmpe.f32 s15, s14 80714b4: eef1 fa10 vmrs APSR_nzcv, fpscr 80714b8: d821 bhi.n 80714fe f = (25 * f / 10000.0f) + 0.5f; 80714ba: f507 638b add.w r3, r7, #1112 ; 0x458 80714be: edd3 7a00 vldr s15, [r3] 80714c2: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 80714c6: ee27 7a87 vmul.f32 s14, s15, s14 80714ca: eddf 6ab3 vldr s13, [pc, #716] ; 8071798 80714ce: eec7 7a26 vdiv.f32 s15, s14, s13 80714d2: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80714d6: ee77 7a87 vadd.f32 s15, s15, s14 80714da: f507 638b add.w r3, r7, #1112 ; 0x458 80714de: edc3 7a00 vstr s15, [r3] y = y4 - (uint32_t) f; 80714e2: f8b7 3434 ldrh.w r3, [r7, #1076] ; 0x434 80714e6: f507 628b add.w r2, r7, #1112 ; 0x458 80714ea: edd2 7a00 vldr s15, [r2] 80714ee: eefc 7ae7 vcvt.u32.f32 s15, s15 80714f2: ee17 2a90 vmov r2, s15 80714f6: 1a9b subs r3, r3, r2 80714f8: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 80714fc: e26f b.n 80719de if(f <= 100000.0f) 80714fe: f507 638b add.w r3, r7, #1112 ; 0x458 8071502: edd3 7a00 vldr s15, [r3] 8071506: ed9f 7aa5 vldr s14, [pc, #660] ; 807179c 807150a: eef4 7ac7 vcmpe.f32 s15, s14 807150e: eef1 fa10 vmrs APSR_nzcv, fpscr 8071512: f200 8264 bhi.w 80719de f = (25 * f / 100000.0f) + 0.5f; 8071516: f507 638b add.w r3, r7, #1112 ; 0x458 807151a: edd3 7a00 vldr s15, [r3] 807151e: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 8071522: ee27 7a87 vmul.f32 s14, s15, s14 8071526: eddf 6a9d vldr s13, [pc, #628] ; 807179c 807152a: eec7 7a26 vdiv.f32 s15, s14, s13 807152e: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8071532: ee77 7a87 vadd.f32 s15, s15, s14 8071536: f507 638b add.w r3, r7, #1112 ; 0x458 807153a: edc3 7a00 vstr s15, [r3] y = y5 - (uint32_t) f; 807153e: f8b7 3432 ldrh.w r3, [r7, #1074] ; 0x432 8071542: f507 628b add.w r2, r7, #1112 ; 0x458 8071546: edd2 7a00 vldr s15, [r2] 807154a: eefc 7ae7 vcvt.u32.f32 s15, s15 807154e: ee17 2a90 vmov r2, s15 8071552: 1a9b subs r3, r3, r2 8071554: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 8071558: e241 b.n 80719de if(fmax <= 1000000.0f) 807155a: f207 434c addw r3, r7, #1100 ; 0x44c 807155e: edd3 7a00 vldr s15, [r3] 8071562: ed9f 7a8f vldr s14, [pc, #572] ; 80717a0 8071566: eef4 7ac7 vcmpe.f32 s15, s14 807156a: eef1 fa10 vmrs APSR_nzcv, fpscr 807156e: f200 811d bhi.w 80717ac if(f <= 10.0f) 8071572: f507 638b add.w r3, r7, #1112 ; 0x458 8071576: edd3 7a00 vldr s15, [r3] 807157a: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 807157e: eef4 7ac7 vcmpe.f32 s15, s14 8071582: eef1 fa10 vmrs APSR_nzcv, fpscr 8071586: d821 bhi.n 80715cc f = (25 * f / 10.0f) + 0.5f; 8071588: f507 638b add.w r3, r7, #1112 ; 0x458 807158c: edd3 7a00 vldr s15, [r3] 8071590: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 8071594: ee27 7a87 vmul.f32 s14, s15, s14 8071598: eef2 6a04 vmov.f32 s13, #36 ; 0x41200000 10.0 807159c: eec7 7a26 vdiv.f32 s15, s14, s13 80715a0: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80715a4: ee77 7a87 vadd.f32 s15, s15, s14 80715a8: f507 638b add.w r3, r7, #1112 ; 0x458 80715ac: edc3 7a00 vstr s15, [r3] y = y0 - (uint32_t) f; 80715b0: f8b7 343c ldrh.w r3, [r7, #1084] ; 0x43c 80715b4: f507 628b add.w r2, r7, #1112 ; 0x458 80715b8: edd2 7a00 vldr s15, [r2] 80715bc: eefc 7ae7 vcvt.u32.f32 s15, s15 80715c0: ee17 2a90 vmov r2, s15 80715c4: 1a9b subs r3, r3, r2 80715c6: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 80715ca: e208 b.n 80719de if(f <= 100.0f) 80715cc: f507 638b add.w r3, r7, #1112 ; 0x458 80715d0: edd3 7a00 vldr s15, [r3] 80715d4: ed9f 7a6e vldr s14, [pc, #440] ; 8071790 80715d8: eef4 7ac7 vcmpe.f32 s15, s14 80715dc: eef1 fa10 vmrs APSR_nzcv, fpscr 80715e0: d821 bhi.n 8071626 f = (25 * f / 100.0f) + 0.5f; 80715e2: f507 638b add.w r3, r7, #1112 ; 0x458 80715e6: edd3 7a00 vldr s15, [r3] 80715ea: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 80715ee: ee27 7a87 vmul.f32 s14, s15, s14 80715f2: eddf 6a67 vldr s13, [pc, #412] ; 8071790 80715f6: eec7 7a26 vdiv.f32 s15, s14, s13 80715fa: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80715fe: ee77 7a87 vadd.f32 s15, s15, s14 8071602: f507 638b add.w r3, r7, #1112 ; 0x458 8071606: edc3 7a00 vstr s15, [r3] y = y1 - (uint32_t) f; 807160a: f8b7 343a ldrh.w r3, [r7, #1082] ; 0x43a 807160e: f507 628b add.w r2, r7, #1112 ; 0x458 8071612: edd2 7a00 vldr s15, [r2] 8071616: eefc 7ae7 vcvt.u32.f32 s15, s15 807161a: ee17 2a90 vmov r2, s15 807161e: 1a9b subs r3, r3, r2 8071620: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 8071624: e1db b.n 80719de if(f <= 1000.0f) 8071626: f507 638b add.w r3, r7, #1112 ; 0x458 807162a: edd3 7a00 vldr s15, [r3] 807162e: ed9f 7a59 vldr s14, [pc, #356] ; 8071794 8071632: eef4 7ac7 vcmpe.f32 s15, s14 8071636: eef1 fa10 vmrs APSR_nzcv, fpscr 807163a: d821 bhi.n 8071680 f = (25 * f / 1000.0f) + 0.5f; 807163c: f507 638b add.w r3, r7, #1112 ; 0x458 8071640: edd3 7a00 vldr s15, [r3] 8071644: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 8071648: ee27 7a87 vmul.f32 s14, s15, s14 807164c: eddf 6a51 vldr s13, [pc, #324] ; 8071794 8071650: eec7 7a26 vdiv.f32 s15, s14, s13 8071654: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8071658: ee77 7a87 vadd.f32 s15, s15, s14 807165c: f507 638b add.w r3, r7, #1112 ; 0x458 8071660: edc3 7a00 vstr s15, [r3] y = y2 - (uint32_t) f; 8071664: f8b7 3438 ldrh.w r3, [r7, #1080] ; 0x438 8071668: f507 628b add.w r2, r7, #1112 ; 0x458 807166c: edd2 7a00 vldr s15, [r2] 8071670: eefc 7ae7 vcvt.u32.f32 s15, s15 8071674: ee17 2a90 vmov r2, s15 8071678: 1a9b subs r3, r3, r2 807167a: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 807167e: e1ae b.n 80719de if(f <= 10000.0f) 8071680: f507 638b add.w r3, r7, #1112 ; 0x458 8071684: edd3 7a00 vldr s15, [r3] 8071688: ed9f 7a43 vldr s14, [pc, #268] ; 8071798 807168c: eef4 7ac7 vcmpe.f32 s15, s14 8071690: eef1 fa10 vmrs APSR_nzcv, fpscr 8071694: d821 bhi.n 80716da f = (25 * f / 10000.0f) + 0.5f; 8071696: f507 638b add.w r3, r7, #1112 ; 0x458 807169a: edd3 7a00 vldr s15, [r3] 807169e: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 80716a2: ee27 7a87 vmul.f32 s14, s15, s14 80716a6: eddf 6a3c vldr s13, [pc, #240] ; 8071798 80716aa: eec7 7a26 vdiv.f32 s15, s14, s13 80716ae: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80716b2: ee77 7a87 vadd.f32 s15, s15, s14 80716b6: f507 638b add.w r3, r7, #1112 ; 0x458 80716ba: edc3 7a00 vstr s15, [r3] y = y3 - (uint32_t) f; 80716be: f8b7 3436 ldrh.w r3, [r7, #1078] ; 0x436 80716c2: f507 628b add.w r2, r7, #1112 ; 0x458 80716c6: edd2 7a00 vldr s15, [r2] 80716ca: eefc 7ae7 vcvt.u32.f32 s15, s15 80716ce: ee17 2a90 vmov r2, s15 80716d2: 1a9b subs r3, r3, r2 80716d4: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 80716d8: e181 b.n 80719de if(f <= 100000.0f) 80716da: f507 638b add.w r3, r7, #1112 ; 0x458 80716de: edd3 7a00 vldr s15, [r3] 80716e2: ed9f 7a2e vldr s14, [pc, #184] ; 807179c 80716e6: eef4 7ac7 vcmpe.f32 s15, s14 80716ea: eef1 fa10 vmrs APSR_nzcv, fpscr 80716ee: d821 bhi.n 8071734 f = (25 * f / 100000.0f) + 0.5f; 80716f0: f507 638b add.w r3, r7, #1112 ; 0x458 80716f4: edd3 7a00 vldr s15, [r3] 80716f8: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 80716fc: ee27 7a87 vmul.f32 s14, s15, s14 8071700: eddf 6a26 vldr s13, [pc, #152] ; 807179c 8071704: eec7 7a26 vdiv.f32 s15, s14, s13 8071708: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 807170c: ee77 7a87 vadd.f32 s15, s15, s14 8071710: f507 638b add.w r3, r7, #1112 ; 0x458 8071714: edc3 7a00 vstr s15, [r3] y = y4 - (uint32_t) f; 8071718: f8b7 3434 ldrh.w r3, [r7, #1076] ; 0x434 807171c: f507 628b add.w r2, r7, #1112 ; 0x458 8071720: edd2 7a00 vldr s15, [r2] 8071724: eefc 7ae7 vcvt.u32.f32 s15, s15 8071728: ee17 2a90 vmov r2, s15 807172c: 1a9b subs r3, r3, r2 807172e: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 8071732: e154 b.n 80719de if(f <= 1000000.0f) 8071734: f507 638b add.w r3, r7, #1112 ; 0x458 8071738: edd3 7a00 vldr s15, [r3] 807173c: ed9f 7a18 vldr s14, [pc, #96] ; 80717a0 8071740: eef4 7ac7 vcmpe.f32 s15, s14 8071744: eef1 fa10 vmrs APSR_nzcv, fpscr 8071748: f200 8149 bhi.w 80719de f = (25 * f / 1000000.0f) + 0.5f; 807174c: f507 638b add.w r3, r7, #1112 ; 0x458 8071750: edd3 7a00 vldr s15, [r3] 8071754: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 8071758: ee27 7a87 vmul.f32 s14, s15, s14 807175c: eddf 6a10 vldr s13, [pc, #64] ; 80717a0 8071760: eec7 7a26 vdiv.f32 s15, s14, s13 8071764: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8071768: ee77 7a87 vadd.f32 s15, s15, s14 807176c: f507 638b add.w r3, r7, #1112 ; 0x458 8071770: edc3 7a00 vstr s15, [r3] y = y5 - (uint32_t) f; 8071774: f8b7 3432 ldrh.w r3, [r7, #1074] ; 0x432 8071778: f507 628b add.w r2, r7, #1112 ; 0x458 807177c: edd2 7a00 vldr s15, [r2] 8071780: eefc 7ae7 vcvt.u32.f32 s15, s15 8071784: ee17 2a90 vmov r2, s15 8071788: 1a9b subs r3, r3, r2 807178a: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 807178e: e126 b.n 80719de 8071790: 42c80000 .word 0x42c80000 8071794: 447a0000 .word 0x447a0000 8071798: 461c4000 .word 0x461c4000 807179c: 47c35000 .word 0x47c35000 80717a0: 49742400 .word 0x49742400 80717a4: 4b189680 .word 0x4b189680 80717a8: 43800000 .word 0x43800000 if(fmax <= 10000000.0f) 80717ac: f207 434c addw r3, r7, #1100 ; 0x44c 80717b0: edd3 7a00 vldr s15, [r3] 80717b4: ed1f 7a05 vldr s14, [pc, #-20] ; 80717a4 80717b8: eef4 7ac7 vcmpe.f32 s15, s14 80717bc: eef1 fa10 vmrs APSR_nzcv, fpscr 80717c0: f200 810d bhi.w 80719de if(f <= 100.0f) 80717c4: f507 638b add.w r3, r7, #1112 ; 0x458 80717c8: edd3 7a00 vldr s15, [r3] 80717cc: ed1f 7a10 vldr s14, [pc, #-64] ; 8071790 80717d0: eef4 7ac7 vcmpe.f32 s15, s14 80717d4: eef1 fa10 vmrs APSR_nzcv, fpscr 80717d8: d821 bhi.n 807181e f = (25 * f / 100.0f) + 0.5f; 80717da: f507 638b add.w r3, r7, #1112 ; 0x458 80717de: edd3 7a00 vldr s15, [r3] 80717e2: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 80717e6: ee27 7a87 vmul.f32 s14, s15, s14 80717ea: ed5f 6a17 vldr s13, [pc, #-92] ; 8071790 80717ee: eec7 7a26 vdiv.f32 s15, s14, s13 80717f2: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80717f6: ee77 7a87 vadd.f32 s15, s15, s14 80717fa: f507 638b add.w r3, r7, #1112 ; 0x458 80717fe: edc3 7a00 vstr s15, [r3] y = y0 - (uint32_t) f; 8071802: f8b7 343c ldrh.w r3, [r7, #1084] ; 0x43c 8071806: f507 628b add.w r2, r7, #1112 ; 0x458 807180a: edd2 7a00 vldr s15, [r2] 807180e: eefc 7ae7 vcvt.u32.f32 s15, s15 8071812: ee17 2a90 vmov r2, s15 8071816: 1a9b subs r3, r3, r2 8071818: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 807181c: e0df b.n 80719de if(f <= 1000.0f) 807181e: f507 638b add.w r3, r7, #1112 ; 0x458 8071822: edd3 7a00 vldr s15, [r3] 8071826: ed1f 7a25 vldr s14, [pc, #-148] ; 8071794 807182a: eef4 7ac7 vcmpe.f32 s15, s14 807182e: eef1 fa10 vmrs APSR_nzcv, fpscr 8071832: d821 bhi.n 8071878 f = (25 * f / 1000.0f) + 0.5f; 8071834: f507 638b add.w r3, r7, #1112 ; 0x458 8071838: edd3 7a00 vldr s15, [r3] 807183c: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 8071840: ee27 7a87 vmul.f32 s14, s15, s14 8071844: ed5f 6a2d vldr s13, [pc, #-180] ; 8071794 8071848: eec7 7a26 vdiv.f32 s15, s14, s13 807184c: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8071850: ee77 7a87 vadd.f32 s15, s15, s14 8071854: f507 638b add.w r3, r7, #1112 ; 0x458 8071858: edc3 7a00 vstr s15, [r3] y = y1 - (uint32_t) f; 807185c: f8b7 343a ldrh.w r3, [r7, #1082] ; 0x43a 8071860: f507 628b add.w r2, r7, #1112 ; 0x458 8071864: edd2 7a00 vldr s15, [r2] 8071868: eefc 7ae7 vcvt.u32.f32 s15, s15 807186c: ee17 2a90 vmov r2, s15 8071870: 1a9b subs r3, r3, r2 8071872: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 8071876: e0b2 b.n 80719de if(f <= 10000.0f) 8071878: f507 638b add.w r3, r7, #1112 ; 0x458 807187c: edd3 7a00 vldr s15, [r3] 8071880: ed1f 7a3b vldr s14, [pc, #-236] ; 8071798 8071884: eef4 7ac7 vcmpe.f32 s15, s14 8071888: eef1 fa10 vmrs APSR_nzcv, fpscr 807188c: d821 bhi.n 80718d2 f = (25 * f / 10000.0f) + 0.5f; 807188e: f507 638b add.w r3, r7, #1112 ; 0x458 8071892: edd3 7a00 vldr s15, [r3] 8071896: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 807189a: ee27 7a87 vmul.f32 s14, s15, s14 807189e: ed5f 6a42 vldr s13, [pc, #-264] ; 8071798 80718a2: eec7 7a26 vdiv.f32 s15, s14, s13 80718a6: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80718aa: ee77 7a87 vadd.f32 s15, s15, s14 80718ae: f507 638b add.w r3, r7, #1112 ; 0x458 80718b2: edc3 7a00 vstr s15, [r3] y = y2 - (uint32_t) f; 80718b6: f8b7 3438 ldrh.w r3, [r7, #1080] ; 0x438 80718ba: f507 628b add.w r2, r7, #1112 ; 0x458 80718be: edd2 7a00 vldr s15, [r2] 80718c2: eefc 7ae7 vcvt.u32.f32 s15, s15 80718c6: ee17 2a90 vmov r2, s15 80718ca: 1a9b subs r3, r3, r2 80718cc: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 80718d0: e085 b.n 80719de if(f <= 100000.0f) 80718d2: f507 638b add.w r3, r7, #1112 ; 0x458 80718d6: edd3 7a00 vldr s15, [r3] 80718da: ed1f 7a50 vldr s14, [pc, #-320] ; 807179c 80718de: eef4 7ac7 vcmpe.f32 s15, s14 80718e2: eef1 fa10 vmrs APSR_nzcv, fpscr 80718e6: d821 bhi.n 807192c f = (25 * f / 100000.0f) + 0.5f; 80718e8: f507 638b add.w r3, r7, #1112 ; 0x458 80718ec: edd3 7a00 vldr s15, [r3] 80718f0: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 80718f4: ee27 7a87 vmul.f32 s14, s15, s14 80718f8: ed5f 6a58 vldr s13, [pc, #-352] ; 807179c 80718fc: eec7 7a26 vdiv.f32 s15, s14, s13 8071900: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8071904: ee77 7a87 vadd.f32 s15, s15, s14 8071908: f507 638b add.w r3, r7, #1112 ; 0x458 807190c: edc3 7a00 vstr s15, [r3] y = y3 - (uint32_t) f; 8071910: f8b7 3436 ldrh.w r3, [r7, #1078] ; 0x436 8071914: f507 628b add.w r2, r7, #1112 ; 0x458 8071918: edd2 7a00 vldr s15, [r2] 807191c: eefc 7ae7 vcvt.u32.f32 s15, s15 8071920: ee17 2a90 vmov r2, s15 8071924: 1a9b subs r3, r3, r2 8071926: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 807192a: e058 b.n 80719de if(f <= 1000000.0f) 807192c: f507 638b add.w r3, r7, #1112 ; 0x458 8071930: edd3 7a00 vldr s15, [r3] 8071934: ed1f 7a66 vldr s14, [pc, #-408] ; 80717a0 8071938: eef4 7ac7 vcmpe.f32 s15, s14 807193c: eef1 fa10 vmrs APSR_nzcv, fpscr 8071940: d821 bhi.n 8071986 f = (25 * f / 1000000.0f) + 0.5f; 8071942: f507 638b add.w r3, r7, #1112 ; 0x458 8071946: edd3 7a00 vldr s15, [r3] 807194a: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 807194e: ee27 7a87 vmul.f32 s14, s15, s14 8071952: ed5f 6a6d vldr s13, [pc, #-436] ; 80717a0 8071956: eec7 7a26 vdiv.f32 s15, s14, s13 807195a: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 807195e: ee77 7a87 vadd.f32 s15, s15, s14 8071962: f507 638b add.w r3, r7, #1112 ; 0x458 8071966: edc3 7a00 vstr s15, [r3] y = y4 - (uint32_t) f; 807196a: f8b7 3434 ldrh.w r3, [r7, #1076] ; 0x434 807196e: f507 628b add.w r2, r7, #1112 ; 0x458 8071972: edd2 7a00 vldr s15, [r2] 8071976: eefc 7ae7 vcvt.u32.f32 s15, s15 807197a: ee17 2a90 vmov r2, s15 807197e: 1a9b subs r3, r3, r2 8071980: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 8071984: e02b b.n 80719de if(f <= 10000000.0f) 8071986: f507 638b add.w r3, r7, #1112 ; 0x458 807198a: edd3 7a00 vldr s15, [r3] 807198e: ed1f 7a7b vldr s14, [pc, #-492] ; 80717a4 8071992: eef4 7ac7 vcmpe.f32 s15, s14 8071996: eef1 fa10 vmrs APSR_nzcv, fpscr 807199a: d820 bhi.n 80719de f = (25 * f / 10000000.0f) + 0.5f; 807199c: f507 638b add.w r3, r7, #1112 ; 0x458 80719a0: edd3 7a00 vldr s15, [r3] 80719a4: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 80719a8: ee27 7a87 vmul.f32 s14, s15, s14 80719ac: ed5f 6a83 vldr s13, [pc, #-524] ; 80717a4 80719b0: eec7 7a26 vdiv.f32 s15, s14, s13 80719b4: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80719b8: ee77 7a87 vadd.f32 s15, s15, s14 80719bc: f507 638b add.w r3, r7, #1112 ; 0x458 80719c0: edc3 7a00 vstr s15, [r3] y = y5 - (uint32_t) f; 80719c4: f8b7 3432 ldrh.w r3, [r7, #1074] ; 0x432 80719c8: f507 628b add.w r2, r7, #1112 ; 0x458 80719cc: edd2 7a00 vldr s15, [r2] 80719d0: eefc 7ae7 vcvt.u32.f32 s15, s15 80719d4: ee17 2a90 vmov r2, s15 80719d8: 1a9b subs r3, r3, r2 80719da: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 if(l == 1) 80719de: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 80719e2: 2b01 cmp r3, #1 80719e4: d119 bne.n 8071a1a x = 256; 80719e6: f44f 7380 mov.w r3, #256 ; 0x100 80719ea: f8c7 3468 str.w r3, [r7, #1128] ; 0x468 oldx = 0; 80719ee: 2300 movs r3, #0 80719f0: f8c7 3460 str.w r3, [r7, #1120] ; 0x460 BSP_LCD_DrawLine(62 + oldx, y, 62 + x, y); 80719f4: f8d7 3460 ldr.w r3, [r7, #1120] ; 0x460 80719f8: b29b uxth r3, r3 80719fa: 333e adds r3, #62 ; 0x3e 80719fc: b298 uxth r0, r3 80719fe: f8d7 3464 ldr.w r3, [r7, #1124] ; 0x464 8071a02: b299 uxth r1, r3 8071a04: f8d7 3468 ldr.w r3, [r7, #1128] ; 0x468 8071a08: b29b uxth r3, r3 8071a0a: 333e adds r3, #62 ; 0x3e 8071a0c: b29a uxth r2, r3 8071a0e: f8d7 3464 ldr.w r3, [r7, #1124] ; 0x464 8071a12: b29b uxth r3, r3 8071a14: f7e2 f904 bl 8053c20 8071a18: e055 b.n 8071ac6 fs = 256.0f / (float32_t) (l - 1); 8071a1a: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 8071a1e: 3b01 subs r3, #1 8071a20: ee07 3a90 vmov s15, r3 8071a24: eeb8 7a67 vcvt.f32.u32 s14, s15 8071a28: ed5f 6aa1 vldr s13, [pc, #-644] ; 80717a8 8071a2c: eec6 7a87 vdiv.f32 s15, s13, s14 8071a30: f207 4314 addw r3, r7, #1044 ; 0x414 8071a34: edc3 7a00 vstr s15, [r3] x = (uint32_t) ((fs * (float32_t) i) + 0.5f); 8071a38: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8071a3c: ee07 3a90 vmov s15, r3 8071a40: eeb8 7a67 vcvt.f32.u32 s14, s15 8071a44: f207 4314 addw r3, r7, #1044 ; 0x414 8071a48: edd3 7a00 vldr s15, [r3] 8071a4c: ee67 7a27 vmul.f32 s15, s14, s15 8071a50: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8071a54: ee77 7a87 vadd.f32 s15, s15, s14 8071a58: eefc 7ae7 vcvt.u32.f32 s15, s15 8071a5c: ee17 3a90 vmov r3, s15 8071a60: f8c7 3468 str.w r3, [r7, #1128] ; 0x468 if(i == 0) 8071a64: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8071a68: 2b00 cmp r3, #0 8071a6a: d112 bne.n 8071a92 BSP_LCD_DrawLine(62 + x, y, 62 + x, y); 8071a6c: f8d7 3468 ldr.w r3, [r7, #1128] ; 0x468 8071a70: b29b uxth r3, r3 8071a72: 333e adds r3, #62 ; 0x3e 8071a74: b298 uxth r0, r3 8071a76: f8d7 3464 ldr.w r3, [r7, #1124] ; 0x464 8071a7a: b299 uxth r1, r3 8071a7c: f8d7 3468 ldr.w r3, [r7, #1128] ; 0x468 8071a80: b29b uxth r3, r3 8071a82: 333e adds r3, #62 ; 0x3e 8071a84: b29a uxth r2, r3 8071a86: f8d7 3464 ldr.w r3, [r7, #1124] ; 0x464 8071a8a: b29b uxth r3, r3 8071a8c: f7e2 f8c8 bl 8053c20 8071a90: e011 b.n 8071ab6 else BSP_LCD_DrawLine(62 + oldx, oldy, 62 + x, y); 8071a92: f8d7 3460 ldr.w r3, [r7, #1120] ; 0x460 8071a96: b29b uxth r3, r3 8071a98: 333e adds r3, #62 ; 0x3e 8071a9a: b298 uxth r0, r3 8071a9c: f8d7 345c ldr.w r3, [r7, #1116] ; 0x45c 8071aa0: b299 uxth r1, r3 8071aa2: f8d7 3468 ldr.w r3, [r7, #1128] ; 0x468 8071aa6: b29b uxth r3, r3 8071aa8: 333e adds r3, #62 ; 0x3e 8071aaa: b29a uxth r2, r3 8071aac: f8d7 3464 ldr.w r3, [r7, #1124] ; 0x464 8071ab0: b29b uxth r3, r3 8071ab2: f7e2 f8b5 bl 8053c20 oldx = x; 8071ab6: f8d7 3468 ldr.w r3, [r7, #1128] ; 0x468 8071aba: f8c7 3460 str.w r3, [r7, #1120] ; 0x460 oldy = y; 8071abe: f8d7 3464 ldr.w r3, [r7, #1124] ; 0x464 8071ac2: f8c7 345c str.w r3, [r7, #1116] ; 0x45c for(i = 0; i < l; i++) 8071ac6: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8071aca: 3301 adds r3, #1 8071acc: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 8071ad0: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 8071ad4: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 8071ad8: 429a cmp r2, r3 8071ada: f4ff a8bb bcc.w 8070c54 break; 8071ade: f025 bd5e b.w 809759e case MAIN_DIAGN: //TODO switch(menupos) 8071ae2: 4ba9 ldr r3, [pc, #676] ; (8071d88 ) 8071ae4: 781b ldrb r3, [r3, #0] 8071ae6: b2db uxtb r3, r3 8071ae8: 2b04 cmp r3, #4 8071aea: f200 8123 bhi.w 8071d34 8071aee: a201 add r2, pc, #4 ; (adr r2, 8071af4 ) 8071af0: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8071af4: 08071b09 .word 0x08071b09 8071af8: 08071d35 .word 0x08071d35 8071afc: 08071bb5 .word 0x08071bb5 8071b00: 08071c35 .word 0x08071c35 8071b04: 08071cb5 .word 0x08071cb5 { case StartStop: if(pardata.LANG == RUS) 8071b08: 4ba0 ldr r3, [pc, #640] ; (8071d8c ) 8071b0a: 7b1b ldrb r3, [r3, #12] 8071b0c: b2db uxtb r3, r3 8071b0e: 2b00 cmp r3, #0 8071b10: d125 bne.n 8071b5e { DrawImage(&bmVIB_POINT, 88, 211); 8071b12: 22d3 movs r2, #211 ; 0xd3 8071b14: 2158 movs r1, #88 ; 0x58 8071b16: 489e ldr r0, [pc, #632] ; (8071d90 ) 8071b18: f7e2 fd3c bl 8054594 DrawImage(&bmVIB_MEAS, 168, 211); 8071b1c: 22d3 movs r2, #211 ; 0xd3 8071b1e: 21a8 movs r1, #168 ; 0xa8 8071b20: 489c ldr r0, [pc, #624] ; (8071d94 ) 8071b22: f7e2 fd37 bl 8054594 if(NeedSTOP) 8071b26: 4b9c ldr r3, [pc, #624] ; (8071d98 ) 8071b28: 781b ldrb r3, [r3, #0] 8071b2a: b2db uxtb r3, r3 8071b2c: 2b00 cmp r3, #0 8071b2e: d005 beq.n 8071b3c DrawImage(&bmVIB_PLAY_LIGHT, 8, 211); 8071b30: 22d3 movs r2, #211 ; 0xd3 8071b32: 2108 movs r1, #8 8071b34: 4899 ldr r0, [pc, #612] ; (8071d9c ) 8071b36: f7e2 fd2d bl 8054594 8071b3a: e035 b.n 8071ba8 else { if(measuring) 8071b3c: 4b98 ldr r3, [pc, #608] ; (8071da0 ) 8071b3e: 781b ldrb r3, [r3, #0] 8071b40: b2db uxtb r3, r3 8071b42: 2b00 cmp r3, #0 8071b44: d005 beq.n 8071b52 DrawImage(&bmVIB_STOP_LIGHT, 8, 211); 8071b46: 22d3 movs r2, #211 ; 0xd3 8071b48: 2108 movs r1, #8 8071b4a: 4896 ldr r0, [pc, #600] ; (8071da4 ) 8071b4c: f7e2 fd22 bl 8054594 8071b50: e02a b.n 8071ba8 else DrawImage(&bmVIB_PLAY_LIGHT, 8, 211); 8071b52: 22d3 movs r2, #211 ; 0xd3 8071b54: 2108 movs r1, #8 8071b56: 4891 ldr r0, [pc, #580] ; (8071d9c ) 8071b58: f7e2 fd1c bl 8054594 8071b5c: e024 b.n 8071ba8 } } else { DrawImage(&bmVIB_POINT_ENG, 88, 211); 8071b5e: 22d3 movs r2, #211 ; 0xd3 8071b60: 2158 movs r1, #88 ; 0x58 8071b62: 4891 ldr r0, [pc, #580] ; (8071da8 ) 8071b64: f7e2 fd16 bl 8054594 DrawImage(&bmVIB_MEAS_ENG, 168, 211); 8071b68: 22d3 movs r2, #211 ; 0xd3 8071b6a: 21a8 movs r1, #168 ; 0xa8 8071b6c: 488f ldr r0, [pc, #572] ; (8071dac ) 8071b6e: f7e2 fd11 bl 8054594 if(NeedSTOP) 8071b72: 4b89 ldr r3, [pc, #548] ; (8071d98 ) 8071b74: 781b ldrb r3, [r3, #0] 8071b76: b2db uxtb r3, r3 8071b78: 2b00 cmp r3, #0 8071b7a: d005 beq.n 8071b88 DrawImage(&bmVIB_PLAY_LIGHT_ENG, 8, 211); 8071b7c: 22d3 movs r2, #211 ; 0xd3 8071b7e: 2108 movs r1, #8 8071b80: 488b ldr r0, [pc, #556] ; (8071db0 ) 8071b82: f7e2 fd07 bl 8054594 8071b86: e00f b.n 8071ba8 else { if(measuring) 8071b88: 4b85 ldr r3, [pc, #532] ; (8071da0 ) 8071b8a: 781b ldrb r3, [r3, #0] 8071b8c: b2db uxtb r3, r3 8071b8e: 2b00 cmp r3, #0 8071b90: d005 beq.n 8071b9e DrawImage(&bmVIB_STOP_LIGHT_ENG, 8, 211); 8071b92: 22d3 movs r2, #211 ; 0xd3 8071b94: 2108 movs r1, #8 8071b96: 4887 ldr r0, [pc, #540] ; (8071db4 ) 8071b98: f7e2 fcfc bl 8054594 8071b9c: e004 b.n 8071ba8 else DrawImage(&bmVIB_PLAY_LIGHT_ENG, 8, 211); 8071b9e: 22d3 movs r2, #211 ; 0xd3 8071ba0: 2108 movs r1, #8 8071ba2: 4883 ldr r0, [pc, #524] ; (8071db0 ) 8071ba4: f7e2 fcf6 bl 8054594 } } DrawImage(&bmVIB_SAVE, 248, 211); 8071ba8: 22d3 movs r2, #211 ; 0xd3 8071baa: 21f8 movs r1, #248 ; 0xf8 8071bac: 4882 ldr r0, [pc, #520] ; (8071db8 ) 8071bae: f7e2 fcf1 bl 8054594 break; 8071bb2: e0bf b.n 8071d34 case Record: if(pardata.LANG == RUS) 8071bb4: 4b75 ldr r3, [pc, #468] ; (8071d8c ) 8071bb6: 7b1b ldrb r3, [r3, #12] 8071bb8: b2db uxtb r3, r3 8071bba: 2b00 cmp r3, #0 8071bbc: d11a bne.n 8071bf4 { DrawImage(&bmVIB_POINT, 88, 211); 8071bbe: 22d3 movs r2, #211 ; 0xd3 8071bc0: 2158 movs r1, #88 ; 0x58 8071bc2: 4873 ldr r0, [pc, #460] ; (8071d90 ) 8071bc4: f7e2 fce6 bl 8054594 DrawImage(&bmVIB_MEAS, 168, 211); 8071bc8: 22d3 movs r2, #211 ; 0xd3 8071bca: 21a8 movs r1, #168 ; 0xa8 8071bcc: 4871 ldr r0, [pc, #452] ; (8071d94 ) 8071bce: f7e2 fce1 bl 8054594 if(measuring) 8071bd2: 4b73 ldr r3, [pc, #460] ; (8071da0 ) 8071bd4: 781b ldrb r3, [r3, #0] 8071bd6: b2db uxtb r3, r3 8071bd8: 2b00 cmp r3, #0 8071bda: d005 beq.n 8071be8 DrawImage(&bmVIB_STOP, 8, 211); 8071bdc: 22d3 movs r2, #211 ; 0xd3 8071bde: 2108 movs r1, #8 8071be0: 4876 ldr r0, [pc, #472] ; (8071dbc ) 8071be2: f7e2 fcd7 bl 8054594 8071be6: e01f b.n 8071c28 else DrawImage(&bmVIB_PLAY, 8, 211); 8071be8: 22d3 movs r2, #211 ; 0xd3 8071bea: 2108 movs r1, #8 8071bec: 4874 ldr r0, [pc, #464] ; (8071dc0 ) 8071bee: f7e2 fcd1 bl 8054594 8071bf2: e019 b.n 8071c28 } else { DrawImage(&bmVIB_POINT_ENG, 88, 211); 8071bf4: 22d3 movs r2, #211 ; 0xd3 8071bf6: 2158 movs r1, #88 ; 0x58 8071bf8: 486b ldr r0, [pc, #428] ; (8071da8 ) 8071bfa: f7e2 fccb bl 8054594 DrawImage(&bmVIB_MEAS_ENG, 168, 211); 8071bfe: 22d3 movs r2, #211 ; 0xd3 8071c00: 21a8 movs r1, #168 ; 0xa8 8071c02: 486a ldr r0, [pc, #424] ; (8071dac ) 8071c04: f7e2 fcc6 bl 8054594 if(measuring) 8071c08: 4b65 ldr r3, [pc, #404] ; (8071da0 ) 8071c0a: 781b ldrb r3, [r3, #0] 8071c0c: b2db uxtb r3, r3 8071c0e: 2b00 cmp r3, #0 8071c10: d005 beq.n 8071c1e DrawImage(&bmVIB_STOP_ENG, 8, 211); 8071c12: 22d3 movs r2, #211 ; 0xd3 8071c14: 2108 movs r1, #8 8071c16: 486b ldr r0, [pc, #428] ; (8071dc4 ) 8071c18: f7e2 fcbc bl 8054594 8071c1c: e004 b.n 8071c28 else DrawImage(&bmVIB_PLAY_ENG, 8, 211); 8071c1e: 22d3 movs r2, #211 ; 0xd3 8071c20: 2108 movs r1, #8 8071c22: 4869 ldr r0, [pc, #420] ; (8071dc8 ) 8071c24: f7e2 fcb6 bl 8054594 } DrawImage(&bmVIB_SAVE_LIGHT, 248, 211); 8071c28: 22d3 movs r2, #211 ; 0xd3 8071c2a: 21f8 movs r1, #248 ; 0xf8 8071c2c: 4867 ldr r0, [pc, #412] ; (8071dcc ) 8071c2e: f7e2 fcb1 bl 8054594 break; 8071c32: e07f b.n 8071d34 case MyPoint: if(pardata.LANG == RUS) 8071c34: 4b55 ldr r3, [pc, #340] ; (8071d8c ) 8071c36: 7b1b ldrb r3, [r3, #12] 8071c38: b2db uxtb r3, r3 8071c3a: 2b00 cmp r3, #0 8071c3c: d11a bne.n 8071c74 { DrawImage(&bmVIB_POINT_LIGHT, 88, 211); 8071c3e: 22d3 movs r2, #211 ; 0xd3 8071c40: 2158 movs r1, #88 ; 0x58 8071c42: 4863 ldr r0, [pc, #396] ; (8071dd0 ) 8071c44: f7e2 fca6 bl 8054594 DrawImage(&bmVIB_MEAS, 168, 211); 8071c48: 22d3 movs r2, #211 ; 0xd3 8071c4a: 21a8 movs r1, #168 ; 0xa8 8071c4c: 4851 ldr r0, [pc, #324] ; (8071d94 ) 8071c4e: f7e2 fca1 bl 8054594 if(measuring) 8071c52: 4b53 ldr r3, [pc, #332] ; (8071da0 ) 8071c54: 781b ldrb r3, [r3, #0] 8071c56: b2db uxtb r3, r3 8071c58: 2b00 cmp r3, #0 8071c5a: d005 beq.n 8071c68 DrawImage(&bmVIB_STOP, 8, 211); 8071c5c: 22d3 movs r2, #211 ; 0xd3 8071c5e: 2108 movs r1, #8 8071c60: 4856 ldr r0, [pc, #344] ; (8071dbc ) 8071c62: f7e2 fc97 bl 8054594 8071c66: e01f b.n 8071ca8 else DrawImage(&bmVIB_PLAY, 8, 211); 8071c68: 22d3 movs r2, #211 ; 0xd3 8071c6a: 2108 movs r1, #8 8071c6c: 4854 ldr r0, [pc, #336] ; (8071dc0 ) 8071c6e: f7e2 fc91 bl 8054594 8071c72: e019 b.n 8071ca8 } else { DrawImage(&bmVIB_POINT_LIGHT_ENG, 88, 211); 8071c74: 22d3 movs r2, #211 ; 0xd3 8071c76: 2158 movs r1, #88 ; 0x58 8071c78: 4856 ldr r0, [pc, #344] ; (8071dd4 ) 8071c7a: f7e2 fc8b bl 8054594 DrawImage(&bmVIB_MEAS_ENG, 168, 211); 8071c7e: 22d3 movs r2, #211 ; 0xd3 8071c80: 21a8 movs r1, #168 ; 0xa8 8071c82: 484a ldr r0, [pc, #296] ; (8071dac ) 8071c84: f7e2 fc86 bl 8054594 if(measuring) 8071c88: 4b45 ldr r3, [pc, #276] ; (8071da0 ) 8071c8a: 781b ldrb r3, [r3, #0] 8071c8c: b2db uxtb r3, r3 8071c8e: 2b00 cmp r3, #0 8071c90: d005 beq.n 8071c9e DrawImage(&bmVIB_STOP_ENG, 8, 211); 8071c92: 22d3 movs r2, #211 ; 0xd3 8071c94: 2108 movs r1, #8 8071c96: 484b ldr r0, [pc, #300] ; (8071dc4 ) 8071c98: f7e2 fc7c bl 8054594 8071c9c: e004 b.n 8071ca8 else DrawImage(&bmVIB_PLAY_ENG, 8, 211); 8071c9e: 22d3 movs r2, #211 ; 0xd3 8071ca0: 2108 movs r1, #8 8071ca2: 4849 ldr r0, [pc, #292] ; (8071dc8 ) 8071ca4: f7e2 fc76 bl 8054594 } DrawImage(&bmVIB_SAVE, 248, 211); 8071ca8: 22d3 movs r2, #211 ; 0xd3 8071caa: 21f8 movs r1, #248 ; 0xf8 8071cac: 4842 ldr r0, [pc, #264] ; (8071db8 ) 8071cae: f7e2 fc71 bl 8054594 break; 8071cb2: e03f b.n 8071d34 case MyMeasure: if(pardata.LANG == RUS) 8071cb4: 4b35 ldr r3, [pc, #212] ; (8071d8c ) 8071cb6: 7b1b ldrb r3, [r3, #12] 8071cb8: b2db uxtb r3, r3 8071cba: 2b00 cmp r3, #0 8071cbc: d11a bne.n 8071cf4 { DrawImage(&bmVIB_POINT, 88, 211); 8071cbe: 22d3 movs r2, #211 ; 0xd3 8071cc0: 2158 movs r1, #88 ; 0x58 8071cc2: 4833 ldr r0, [pc, #204] ; (8071d90 ) 8071cc4: f7e2 fc66 bl 8054594 DrawImage(&bmVIB_MEAS_LIGHT, 168, 211); 8071cc8: 22d3 movs r2, #211 ; 0xd3 8071cca: 21a8 movs r1, #168 ; 0xa8 8071ccc: 4842 ldr r0, [pc, #264] ; (8071dd8 ) 8071cce: f7e2 fc61 bl 8054594 if(measuring) 8071cd2: 4b33 ldr r3, [pc, #204] ; (8071da0 ) 8071cd4: 781b ldrb r3, [r3, #0] 8071cd6: b2db uxtb r3, r3 8071cd8: 2b00 cmp r3, #0 8071cda: d005 beq.n 8071ce8 DrawImage(&bmVIB_STOP, 8, 211); 8071cdc: 22d3 movs r2, #211 ; 0xd3 8071cde: 2108 movs r1, #8 8071ce0: 4836 ldr r0, [pc, #216] ; (8071dbc ) 8071ce2: f7e2 fc57 bl 8054594 8071ce6: e01f b.n 8071d28 else DrawImage(&bmVIB_PLAY, 8, 211); 8071ce8: 22d3 movs r2, #211 ; 0xd3 8071cea: 2108 movs r1, #8 8071cec: 4834 ldr r0, [pc, #208] ; (8071dc0 ) 8071cee: f7e2 fc51 bl 8054594 8071cf2: e019 b.n 8071d28 } else { DrawImage(&bmVIB_POINT_ENG, 88, 211); 8071cf4: 22d3 movs r2, #211 ; 0xd3 8071cf6: 2158 movs r1, #88 ; 0x58 8071cf8: 482b ldr r0, [pc, #172] ; (8071da8 ) 8071cfa: f7e2 fc4b bl 8054594 DrawImage(&bmVIB_MEAS_LIGHT_ENG, 168, 211); 8071cfe: 22d3 movs r2, #211 ; 0xd3 8071d00: 21a8 movs r1, #168 ; 0xa8 8071d02: 4836 ldr r0, [pc, #216] ; (8071ddc ) 8071d04: f7e2 fc46 bl 8054594 if(measuring) 8071d08: 4b25 ldr r3, [pc, #148] ; (8071da0 ) 8071d0a: 781b ldrb r3, [r3, #0] 8071d0c: b2db uxtb r3, r3 8071d0e: 2b00 cmp r3, #0 8071d10: d005 beq.n 8071d1e DrawImage(&bmVIB_STOP_ENG, 8, 211); 8071d12: 22d3 movs r2, #211 ; 0xd3 8071d14: 2108 movs r1, #8 8071d16: 482b ldr r0, [pc, #172] ; (8071dc4 ) 8071d18: f7e2 fc3c bl 8054594 8071d1c: e004 b.n 8071d28 else DrawImage(&bmVIB_PLAY_ENG, 8, 211); 8071d1e: 22d3 movs r2, #211 ; 0xd3 8071d20: 2108 movs r1, #8 8071d22: 4829 ldr r0, [pc, #164] ; (8071dc8 ) 8071d24: f7e2 fc36 bl 8054594 } DrawImage(&bmVIB_SAVE, 248, 211); 8071d28: 22d3 movs r2, #211 ; 0xd3 8071d2a: 21f8 movs r1, #248 ; 0xf8 8071d2c: 4822 ldr r0, [pc, #136] ; (8071db8 ) 8071d2e: f7e2 fc31 bl 8054594 break; 8071d32: bf00 nop } BSP_LCD_SetFont(&Font15); 8071d34: 482a ldr r0, [pc, #168] ; (8071de0 ) 8071d36: f7e1 fd75 bl 8053824 if(strcmp(DiagFileName, "") != 0) 8071d3a: 4b2a ldr r3, [pc, #168] ; (8071de4 ) 8071d3c: 781b ldrb r3, [r3, #0] 8071d3e: 2b00 cmp r3, #0 8071d40: f000 8185 beq.w 807204e { BSP_LCD_SetFont(&Font12); 8071d44: 4828 ldr r0, [pc, #160] ; (8071de8 ) 8071d46: f7e1 fd6d bl 8053824 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8071d4a: 4928 ldr r1, [pc, #160] ; (8071dec ) 8071d4c: 4828 ldr r0, [pc, #160] ; (8071df0 ) 8071d4e: f7e1 fd2d bl 80537ac if(pardata.LANG == RUS) 8071d52: 4b0e ldr r3, [pc, #56] ; (8071d8c ) 8071d54: 7b1b ldrb r3, [r3, #12] 8071d56: b2db uxtb r3, r3 8071d58: 2b00 cmp r3, #0 8071d5a: d153 bne.n 8071e04 { BSP_LCD_DisplayStringAt(4, 35, "ÔÀÉË:", LEFT_MODE); 8071d5c: 2303 movs r3, #3 8071d5e: 4a25 ldr r2, [pc, #148] ; (8071df4 ) 8071d60: 2123 movs r1, #35 ; 0x23 8071d62: 2004 movs r0, #4 8071d64: f7e1 fde8 bl 8053938 if((NEWFILE) && (strlen(Comment))) 8071d68: 4b23 ldr r3, [pc, #140] ; (8071df8 ) 8071d6a: 781b ldrb r3, [r3, #0] 8071d6c: b2db uxtb r3, r3 8071d6e: 2b00 cmp r3, #0 8071d70: d05d beq.n 8071e2e 8071d72: 4b22 ldr r3, [pc, #136] ; (8071dfc ) 8071d74: 781b ldrb r3, [r3, #0] 8071d76: 2b00 cmp r3, #0 8071d78: d059 beq.n 8071e2e BSP_LCD_DisplayStringAt(4, 49, "ÒÎ×ÊÀ:", LEFT_MODE); 8071d7a: 2303 movs r3, #3 8071d7c: 4a20 ldr r2, [pc, #128] ; (8071e00 ) 8071d7e: 2131 movs r1, #49 ; 0x31 8071d80: 2004 movs r0, #4 8071d82: f7e1 fdd9 bl 8053938 8071d86: e052 b.n 8071e2e 8071d88: 20020070 .word 0x20020070 8071d8c: 20023e60 .word 0x20023e60 8071d90: 081553ac .word 0x081553ac 8071d94: 0814e74c .word 0x0814e74c 8071d98: 20020f7e .word 0x20020f7e 8071d9c: 08153894 .word 0x08153894 8071da0: 20020daf .word 0x20020daf 8071da4: 0815c00c .word 0x0815c00c 8071da8: 08156138 .word 0x08156138 8071dac: 0814f4d8 .word 0x0814f4d8 8071db0: 08154620 .word 0x08154620 8071db4: 0815cd98 .word 0x0815cd98 8071db8: 081589dc .word 0x081589dc 8071dbc: 0815a4f4 .word 0x0815a4f4 8071dc0: 08151d7c .word 0x08151d7c 8071dc4: 0815b280 .word 0x0815b280 8071dc8: 08152b08 .word 0x08152b08 8071dcc: 08159768 .word 0x08159768 8071dd0: 08156ec4 .word 0x08156ec4 8071dd4: 08157c50 .word 0x08157c50 8071dd8: 08150264 .word 0x08150264 8071ddc: 08150ff0 .word 0x08150ff0 8071de0: 20020040 .word 0x20020040 8071de4: 20020e7c .word 0x20020e7c 8071de8: 20020038 .word 0x20020038 8071dec: ff0a0f1f .word 0xff0a0f1f 8071df0: ff808080 .word 0xff808080 8071df4: 080cfac0 .word 0x080cfac0 8071df8: 20020e14 .word 0x20020e14 8071dfc: 20022650 .word 0x20022650 8071e00: 080cfac8 .word 0x080cfac8 } else { BSP_LCD_DisplayStringAt(4, 35, "FILE:", LEFT_MODE); 8071e04: 2303 movs r3, #3 8071e06: 4ac9 ldr r2, [pc, #804] ; (807212c ) 8071e08: 2123 movs r1, #35 ; 0x23 8071e0a: 2004 movs r0, #4 8071e0c: f7e1 fd94 bl 8053938 if((NEWFILE) && (strlen(Comment))) 8071e10: 4bc7 ldr r3, [pc, #796] ; (8072130 ) 8071e12: 781b ldrb r3, [r3, #0] 8071e14: b2db uxtb r3, r3 8071e16: 2b00 cmp r3, #0 8071e18: d009 beq.n 8071e2e 8071e1a: 4bc6 ldr r3, [pc, #792] ; (8072134 ) 8071e1c: 781b ldrb r3, [r3, #0] 8071e1e: 2b00 cmp r3, #0 8071e20: d005 beq.n 8071e2e BSP_LCD_DisplayStringAt(4, 49, "POINT:", LEFT_MODE); 8071e22: 2303 movs r3, #3 8071e24: 4ac4 ldr r2, [pc, #784] ; (8072138 ) 8071e26: 2131 movs r1, #49 ; 0x31 8071e28: 2004 movs r0, #4 8071e2a: f7e1 fd85 bl 8053938 } memset(str, 0, sizeof(str)); 8071e2e: f507 733b add.w r3, r7, #748 ; 0x2ec 8071e32: 223c movs r2, #60 ; 0x3c 8071e34: 2100 movs r1, #0 8071e36: 4618 mov r0, r3 8071e38: f05b f906 bl 80cd048 strcpy(str, DiagFileName); 8071e3c: f507 733b add.w r3, r7, #748 ; 0x2ec 8071e40: 49be ldr r1, [pc, #760] ; (807213c ) 8071e42: 4618 mov r0, r3 8071e44: f05b fa1d bl 80cd282 l = strlen(str); 8071e48: f507 733b add.w r3, r7, #748 ; 0x2ec 8071e4c: 4618 mov r0, r3 8071e4e: f7ae fa61 bl 8020314 8071e52: 4603 mov r3, r0 8071e54: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 str[l - 4] = '\0'; 8071e58: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 8071e5c: 3b04 subs r3, #4 8071e5e: f507 723b add.w r2, r7, #748 ; 0x2ec 8071e62: 2100 movs r1, #0 8071e64: 54d1 strb r1, [r2, r3] BSP_LCD_SetFont(&Font12); 8071e66: 48b6 ldr r0, [pc, #728] ; (8072140 ) 8071e68: f7e1 fcdc bl 8053824 LCD_SetColors(LCD_COLOR_LIGHTGREEN, LCD_COLOR_BLACK); 8071e6c: 49b5 ldr r1, [pc, #724] ; (8072144 ) 8071e6e: f06f 107f mvn.w r0, #8323199 ; 0x7f007f 8071e72: f7e1 fc9b bl 80537ac BSP_LCD_DisplayStringAt(46, 35, str, LEFT_MODE); 8071e76: f507 723b add.w r2, r7, #748 ; 0x2ec 8071e7a: 2303 movs r3, #3 8071e7c: 2123 movs r1, #35 ; 0x23 8071e7e: 202e movs r0, #46 ; 0x2e 8071e80: f7e1 fd5a bl 8053938 if((NEWFILE) && (strlen(Comment))) 8071e84: 4baa ldr r3, [pc, #680] ; (8072130 ) 8071e86: 781b ldrb r3, [r3, #0] 8071e88: b2db uxtb r3, r3 8071e8a: 2b00 cmp r3, #0 8071e8c: d02c beq.n 8071ee8 8071e8e: 4ba9 ldr r3, [pc, #676] ; (8072134 ) 8071e90: 781b ldrb r3, [r3, #0] 8071e92: 2b00 cmp r3, #0 8071e94: d028 beq.n 8071ee8 { LCD_SetColors(0xFFEFCC95, LCD_COLOR_BLACK); 8071e96: 49ab ldr r1, [pc, #684] ; (8072144 ) 8071e98: 48ab ldr r0, [pc, #684] ; (8072148 ) 8071e9a: f7e1 fc87 bl 80537ac BSP_LCD_SetFont(&Font12); 8071e9e: 48a8 ldr r0, [pc, #672] ; (8072140 ) 8071ea0: f7e1 fcc0 bl 8053824 memset(str, 0, sizeof(str)); 8071ea4: f507 733b add.w r3, r7, #748 ; 0x2ec 8071ea8: 223c movs r2, #60 ; 0x3c 8071eaa: 2100 movs r1, #0 8071eac: 4618 mov r0, r3 8071eae: f05b f8cb bl 80cd048 str[0] = '"'; 8071eb2: f507 733b add.w r3, r7, #748 ; 0x2ec 8071eb6: 2222 movs r2, #34 ; 0x22 8071eb8: 701a strb r2, [r3, #0] strcat(str, Comment); 8071eba: f507 733b add.w r3, r7, #748 ; 0x2ec 8071ebe: 499d ldr r1, [pc, #628] ; (8072134 ) 8071ec0: 4618 mov r0, r3 8071ec2: f05b f9c1 bl 80cd248 str[strlen(str)] = '"'; 8071ec6: f507 733b add.w r3, r7, #748 ; 0x2ec 8071eca: 4618 mov r0, r3 8071ecc: f7ae fa22 bl 8020314 8071ed0: 4602 mov r2, r0 8071ed2: f507 733b add.w r3, r7, #748 ; 0x2ec 8071ed6: 2122 movs r1, #34 ; 0x22 8071ed8: 5499 strb r1, [r3, r2] BSP_LCD_DisplayStringAt(46, 49, str, LEFT_MODE); 8071eda: f507 723b add.w r2, r7, #748 ; 0x2ec 8071ede: 2303 movs r3, #3 8071ee0: 2131 movs r1, #49 ; 0x31 8071ee2: 202e movs r0, #46 ; 0x2e 8071ee4: f7e1 fd28 bl 8053938 } BSP_LCD_SetFont(&Font15); 8071ee8: 4898 ldr r0, [pc, #608] ; (807214c ) 8071eea: f7e1 fc9b bl 8053824 memset(str, 0, sizeof(str)); 8071eee: f507 733b add.w r3, r7, #748 ; 0x2ec 8071ef2: 223c movs r2, #60 ; 0x3c 8071ef4: 2100 movs r1, #0 8071ef6: 4618 mov r0, r3 8071ef8: f05b f8a6 bl 80cd048 str[0] = ((NextIndexPoint + 1) / 100) + 48; 8071efc: 4b94 ldr r3, [pc, #592] ; (8072150 ) 8071efe: 681b ldr r3, [r3, #0] 8071f00: 3301 adds r3, #1 8071f02: 4a94 ldr r2, [pc, #592] ; (8072154 ) 8071f04: fba2 2303 umull r2, r3, r2, r3 8071f08: 095b lsrs r3, r3, #5 8071f0a: b2db uxtb r3, r3 8071f0c: 3330 adds r3, #48 ; 0x30 8071f0e: b2da uxtb r2, r3 8071f10: f507 733b add.w r3, r7, #748 ; 0x2ec 8071f14: 701a strb r2, [r3, #0] str[1] = ((NextIndexPoint + 1) % 100 / 10) + 48; 8071f16: 4b8e ldr r3, [pc, #568] ; (8072150 ) 8071f18: 681b ldr r3, [r3, #0] 8071f1a: 1c5a adds r2, r3, #1 8071f1c: 4b8d ldr r3, [pc, #564] ; (8072154 ) 8071f1e: fba3 1302 umull r1, r3, r3, r2 8071f22: 095b lsrs r3, r3, #5 8071f24: 2164 movs r1, #100 ; 0x64 8071f26: fb01 f303 mul.w r3, r1, r3 8071f2a: 1ad3 subs r3, r2, r3 8071f2c: 4a8a ldr r2, [pc, #552] ; (8072158 ) 8071f2e: fba2 2303 umull r2, r3, r2, r3 8071f32: 08db lsrs r3, r3, #3 8071f34: b2db uxtb r3, r3 8071f36: 3330 adds r3, #48 ; 0x30 8071f38: b2da uxtb r2, r3 8071f3a: f507 733b add.w r3, r7, #748 ; 0x2ec 8071f3e: 705a strb r2, [r3, #1] str[2] = ((NextIndexPoint + 1) % 100 % 10) + 48; 8071f40: 4b83 ldr r3, [pc, #524] ; (8072150 ) 8071f42: 681b ldr r3, [r3, #0] 8071f44: 3301 adds r3, #1 8071f46: 4a83 ldr r2, [pc, #524] ; (8072154 ) 8071f48: fba2 1203 umull r1, r2, r2, r3 8071f4c: 0952 lsrs r2, r2, #5 8071f4e: 2164 movs r1, #100 ; 0x64 8071f50: fb01 f202 mul.w r2, r1, r2 8071f54: 1a9a subs r2, r3, r2 8071f56: 4b80 ldr r3, [pc, #512] ; (8072158 ) 8071f58: fba3 1302 umull r1, r3, r3, r2 8071f5c: 08d9 lsrs r1, r3, #3 8071f5e: 460b mov r3, r1 8071f60: 009b lsls r3, r3, #2 8071f62: 440b add r3, r1 8071f64: 005b lsls r3, r3, #1 8071f66: 1ad1 subs r1, r2, r3 8071f68: b2cb uxtb r3, r1 8071f6a: 3330 adds r3, #48 ; 0x30 8071f6c: b2da uxtb r2, r3 8071f6e: f507 733b add.w r3, r7, #748 ; 0x2ec 8071f72: 709a strb r2, [r3, #2] if(menupos == MyPoint) 8071f74: 4b79 ldr r3, [pc, #484] ; (807215c ) 8071f76: 781b ldrb r3, [r3, #0] 8071f78: b2db uxtb r3, r3 8071f7a: 2b03 cmp r3, #3 8071f7c: d104 bne.n 8071f88 LCD_SetColors(LCD_COLOR_VIBGREEN, LCD_COLOR_BLACK); 8071f7e: 4971 ldr r1, [pc, #452] ; (8072144 ) 8071f80: 4877 ldr r0, [pc, #476] ; (8072160 ) 8071f82: f7e1 fc13 bl 80537ac 8071f86: e004 b.n 8071f92 else LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8071f88: 496e ldr r1, [pc, #440] ; (8072144 ) 8071f8a: f04f 30ff mov.w r0, #4294967295 8071f8e: f7e1 fc0d bl 80537ac BSP_LCD_DisplayStringAt(168-29, 218, str, RIGHT_MODE); 8071f92: f507 723b add.w r2, r7, #748 ; 0x2ec 8071f96: 2302 movs r3, #2 8071f98: 21da movs r1, #218 ; 0xda 8071f9a: 208b movs r0, #139 ; 0x8b 8071f9c: f7e1 fccc bl 8053938 memset(str, 0, sizeof(str)); 8071fa0: f507 733b add.w r3, r7, #748 ; 0x2ec 8071fa4: 223c movs r2, #60 ; 0x3c 8071fa6: 2100 movs r1, #0 8071fa8: 4618 mov r0, r3 8071faa: f05b f84d bl 80cd048 str[0] = (NextIndexMeas / 100) + 48; 8071fae: 4b6d ldr r3, [pc, #436] ; (8072164 ) 8071fb0: 681b ldr r3, [r3, #0] 8071fb2: 4a68 ldr r2, [pc, #416] ; (8072154 ) 8071fb4: fba2 2303 umull r2, r3, r2, r3 8071fb8: 095b lsrs r3, r3, #5 8071fba: b2db uxtb r3, r3 8071fbc: 3330 adds r3, #48 ; 0x30 8071fbe: b2da uxtb r2, r3 8071fc0: f507 733b add.w r3, r7, #748 ; 0x2ec 8071fc4: 701a strb r2, [r3, #0] str[1] = (NextIndexMeas % 100 / 10) + 48; 8071fc6: 4b67 ldr r3, [pc, #412] ; (8072164 ) 8071fc8: 681a ldr r2, [r3, #0] 8071fca: 4b62 ldr r3, [pc, #392] ; (8072154 ) 8071fcc: fba3 1302 umull r1, r3, r3, r2 8071fd0: 095b lsrs r3, r3, #5 8071fd2: 2164 movs r1, #100 ; 0x64 8071fd4: fb01 f303 mul.w r3, r1, r3 8071fd8: 1ad3 subs r3, r2, r3 8071fda: 4a5f ldr r2, [pc, #380] ; (8072158 ) 8071fdc: fba2 2303 umull r2, r3, r2, r3 8071fe0: 08db lsrs r3, r3, #3 8071fe2: b2db uxtb r3, r3 8071fe4: 3330 adds r3, #48 ; 0x30 8071fe6: b2da uxtb r2, r3 8071fe8: f507 733b add.w r3, r7, #748 ; 0x2ec 8071fec: 705a strb r2, [r3, #1] str[2] = (NextIndexMeas % 100 % 10) + 48; 8071fee: 4b5d ldr r3, [pc, #372] ; (8072164 ) 8071ff0: 681b ldr r3, [r3, #0] 8071ff2: 4a58 ldr r2, [pc, #352] ; (8072154 ) 8071ff4: fba2 1203 umull r1, r2, r2, r3 8071ff8: 0952 lsrs r2, r2, #5 8071ffa: 2164 movs r1, #100 ; 0x64 8071ffc: fb01 f202 mul.w r2, r1, r2 8072000: 1a9a subs r2, r3, r2 8072002: 4b55 ldr r3, [pc, #340] ; (8072158 ) 8072004: fba3 1302 umull r1, r3, r3, r2 8072008: 08d9 lsrs r1, r3, #3 807200a: 460b mov r3, r1 807200c: 009b lsls r3, r3, #2 807200e: 440b add r3, r1 8072010: 005b lsls r3, r3, #1 8072012: 1ad1 subs r1, r2, r3 8072014: b2cb uxtb r3, r1 8072016: 3330 adds r3, #48 ; 0x30 8072018: b2da uxtb r2, r3 807201a: f507 733b add.w r3, r7, #748 ; 0x2ec 807201e: 709a strb r2, [r3, #2] if(menupos == MyMeasure) 8072020: 4b4e ldr r3, [pc, #312] ; (807215c ) 8072022: 781b ldrb r3, [r3, #0] 8072024: b2db uxtb r3, r3 8072026: 2b04 cmp r3, #4 8072028: d104 bne.n 8072034 LCD_SetColors(LCD_COLOR_VIBGREEN, LCD_COLOR_BLACK); 807202a: 4946 ldr r1, [pc, #280] ; (8072144 ) 807202c: 484c ldr r0, [pc, #304] ; (8072160 ) 807202e: f7e1 fbbd bl 80537ac 8072032: e004 b.n 807203e else LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8072034: 4943 ldr r1, [pc, #268] ; (8072144 ) 8072036: f04f 30ff mov.w r0, #4294967295 807203a: f7e1 fbb7 bl 80537ac BSP_LCD_DisplayStringAt(248-29, 218, str, RIGHT_MODE); 807203e: f507 723b add.w r2, r7, #748 ; 0x2ec 8072042: 2302 movs r3, #2 8072044: 21da movs r1, #218 ; 0xda 8072046: 20db movs r0, #219 ; 0xdb 8072048: f7e1 fc76 bl 8053938 807204c: e029 b.n 80720a2 } else { if(menupos == MyPoint) 807204e: 4b43 ldr r3, [pc, #268] ; (807215c ) 8072050: 781b ldrb r3, [r3, #0] 8072052: b2db uxtb r3, r3 8072054: 2b03 cmp r3, #3 8072056: d104 bne.n 8072062 LCD_SetColors(LCD_COLOR_VIBGREEN, LCD_COLOR_BLACK); 8072058: 493a ldr r1, [pc, #232] ; (8072144 ) 807205a: 4841 ldr r0, [pc, #260] ; (8072160 ) 807205c: f7e1 fba6 bl 80537ac 8072060: e004 b.n 807206c else LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8072062: 4938 ldr r1, [pc, #224] ; (8072144 ) 8072064: f04f 30ff mov.w r0, #4294967295 8072068: f7e1 fba0 bl 80537ac BSP_LCD_DisplayStringAt(168-29, 218, "---", RIGHT_MODE); 807206c: 2302 movs r3, #2 807206e: 4a3e ldr r2, [pc, #248] ; (8072168 ) 8072070: 21da movs r1, #218 ; 0xda 8072072: 208b movs r0, #139 ; 0x8b 8072074: f7e1 fc60 bl 8053938 if(menupos == MyMeasure) 8072078: 4b38 ldr r3, [pc, #224] ; (807215c ) 807207a: 781b ldrb r3, [r3, #0] 807207c: b2db uxtb r3, r3 807207e: 2b04 cmp r3, #4 8072080: d104 bne.n 807208c LCD_SetColors(LCD_COLOR_VIBGREEN, LCD_COLOR_BLACK); 8072082: 4930 ldr r1, [pc, #192] ; (8072144 ) 8072084: 4836 ldr r0, [pc, #216] ; (8072160 ) 8072086: f7e1 fb91 bl 80537ac 807208a: e004 b.n 8072096 else LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807208c: 492d ldr r1, [pc, #180] ; (8072144 ) 807208e: f04f 30ff mov.w r0, #4294967295 8072092: f7e1 fb8b bl 80537ac BSP_LCD_DisplayStringAt(248-29, 218, "---", RIGHT_MODE); 8072096: 2302 movs r3, #2 8072098: 4a33 ldr r2, [pc, #204] ; (8072168 ) 807209a: 21da movs r1, #218 ; 0xda 807209c: 20db movs r0, #219 ; 0xdb 807209e: f7e1 fc4b bl 8053938 //****************************************************** BSP_LCD_SetFont(&Font12); 80720a2: 4827 ldr r0, [pc, #156] ; (8072140 ) 80720a4: f7e1 fbbe bl 8053824 //LEGEND LCD_SetColors(LCD_COLOR_DARKGRAY, LCD_COLOR_BLACK); 80720a8: 4926 ldr r1, [pc, #152] ; (8072144 ) 80720aa: 4830 ldr r0, [pc, #192] ; (807216c ) 80720ac: f7e1 fb7e bl 80537ac BSP_LCD_DrawLine(9, 124, 9 + 229, 124); 80720b0: 237c movs r3, #124 ; 0x7c 80720b2: 22ee movs r2, #238 ; 0xee 80720b4: 217c movs r1, #124 ; 0x7c 80720b6: 2009 movs r0, #9 80720b8: f7e1 fdb2 bl 8053c20 BSP_LCD_DrawLine(9, 160, 9 + 229, 160); 80720bc: 23a0 movs r3, #160 ; 0xa0 80720be: 22ee movs r2, #238 ; 0xee 80720c0: 21a0 movs r1, #160 ; 0xa0 80720c2: 2009 movs r0, #9 80720c4: f7e1 fdac bl 8053c20 LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 80720c8: 491e ldr r1, [pc, #120] ; (8072144 ) 80720ca: 4829 ldr r0, [pc, #164] ; (8072170 ) 80720cc: f7e1 fb6e bl 80537ac BSP_LCD_DisplayStringAt(12, 101, "1", LEFT_MODE); 80720d0: 2303 movs r3, #3 80720d2: 4a28 ldr r2, [pc, #160] ; (8072174 ) 80720d4: 2165 movs r1, #101 ; 0x65 80720d6: 200c movs r0, #12 80720d8: f7e1 fc2e bl 8053938 BSP_LCD_DisplayStringAt(12, 137, "2", LEFT_MODE); 80720dc: 2303 movs r3, #3 80720de: 4a26 ldr r2, [pc, #152] ; (8072178 ) 80720e0: 2189 movs r1, #137 ; 0x89 80720e2: 200c movs r0, #12 80720e4: f7e1 fc28 bl 8053938 BSP_LCD_DisplayStringAt(12, 173, "3", LEFT_MODE); 80720e8: 2303 movs r3, #3 80720ea: 4a24 ldr r2, [pc, #144] ; (807217c ) 80720ec: 21ad movs r1, #173 ; 0xad 80720ee: 200c movs r0, #12 80720f0: f7e1 fc22 bl 8053938 RedrawNums(); 80720f4: f026 fb76 bl 80987e4 break; 80720f8: f025 ba7c b.w 80975f4 case MAIN: case MAIN_FRAN: switch(menupos) 80720fc: 4b17 ldr r3, [pc, #92] ; (807215c ) 80720fe: 781b ldrb r3, [r3, #0] 8072100: b2db uxtb r3, r3 8072102: 2b06 cmp r3, #6 8072104: f200 81fa bhi.w 80724fc 8072108: a201 add r2, pc, #4 ; (adr r2, 8072110 ) 807210a: f852 f023 ldr.w pc, [r2, r3, lsl #2] 807210e: bf00 nop 8072110: 08072181 .word 0x08072181 8072114: 080724fd .word 0x080724fd 8072118: 08072243 .word 0x08072243 807211c: 080722d9 .word 0x080722d9 8072120: 0807236f .word 0x0807236f 8072124: 080724fd .word 0x080724fd 8072128: 08072405 .word 0x08072405 807212c: 080cfad0 .word 0x080cfad0 8072130: 20020e14 .word 0x20020e14 8072134: 20022650 .word 0x20022650 8072138: 080cfad8 .word 0x080cfad8 807213c: 20020e7c .word 0x20020e7c 8072140: 20020038 .word 0x20020038 8072144: ff0a0f1f .word 0xff0a0f1f 8072148: ffefcc95 .word 0xffefcc95 807214c: 20020040 .word 0x20020040 8072150: 20021f9c .word 0x20021f9c 8072154: 51eb851f .word 0x51eb851f 8072158: cccccccd .word 0xcccccccd 807215c: 20020070 .word 0x20020070 8072160: ff29eb19 .word 0xff29eb19 8072164: 20022310 .word 0x20022310 8072168: 080cfae0 .word 0x080cfae0 807216c: ff404040 .word 0xff404040 8072170: ffd3d3d3 .word 0xffd3d3d3 8072174: 080ce854 .word 0x080ce854 8072178: 080ce858 .word 0x080ce858 807217c: 080cf7b4 .word 0x080cf7b4 { case StartStop: if(pardata.LANG == RUS) 8072180: 4bb3 ldr r3, [pc, #716] ; (8072450 ) 8072182: 7b1b ldrb r3, [r3, #12] 8072184: b2db uxtb r3, r3 8072186: 2b00 cmp r3, #0 8072188: d12a bne.n 80721e0 { DrawImage(&bmVIB_LOG, 64, 211); 807218a: 22d3 movs r2, #211 ; 0xd3 807218c: 2140 movs r1, #64 ; 0x40 807218e: 48b1 ldr r0, [pc, #708] ; (8072454 ) 8072190: f7e2 fa00 bl 8054594 DrawImage(&bmVIB_POINT, 128, 211); 8072194: 22d3 movs r2, #211 ; 0xd3 8072196: 2180 movs r1, #128 ; 0x80 8072198: 48af ldr r0, [pc, #700] ; (8072458 ) 807219a: f7e2 f9fb bl 8054594 DrawImage(&bmVIB_MEAS, 192, 211); 807219e: 22d3 movs r2, #211 ; 0xd3 80721a0: 21c0 movs r1, #192 ; 0xc0 80721a2: 48ae ldr r0, [pc, #696] ; (807245c ) 80721a4: f7e2 f9f6 bl 8054594 if(NeedSTOP) 80721a8: 4bad ldr r3, [pc, #692] ; (8072460 ) 80721aa: 781b ldrb r3, [r3, #0] 80721ac: b2db uxtb r3, r3 80721ae: 2b00 cmp r3, #0 80721b0: d005 beq.n 80721be DrawImage(&bmVIB_PLAY_LIGHT, 0, 211); 80721b2: 22d3 movs r2, #211 ; 0xd3 80721b4: 2100 movs r1, #0 80721b6: 48ab ldr r0, [pc, #684] ; (8072464 ) 80721b8: f7e2 f9ec bl 8054594 80721bc: e03a b.n 8072234 else { if(measuring) 80721be: 4baa ldr r3, [pc, #680] ; (8072468 ) 80721c0: 781b ldrb r3, [r3, #0] 80721c2: b2db uxtb r3, r3 80721c4: 2b00 cmp r3, #0 80721c6: d005 beq.n 80721d4 DrawImage(&bmVIB_STOP_LIGHT, 0, 211); 80721c8: 22d3 movs r2, #211 ; 0xd3 80721ca: 2100 movs r1, #0 80721cc: 48a7 ldr r0, [pc, #668] ; (807246c ) 80721ce: f7e2 f9e1 bl 8054594 80721d2: e02f b.n 8072234 else DrawImage(&bmVIB_PLAY_LIGHT, 0, 211); 80721d4: 22d3 movs r2, #211 ; 0xd3 80721d6: 2100 movs r1, #0 80721d8: 48a2 ldr r0, [pc, #648] ; (8072464 ) 80721da: f7e2 f9db bl 8054594 80721de: e029 b.n 8072234 } } else { DrawImage(&bmVIB_LOG_ENG, 64, 211); 80721e0: 22d3 movs r2, #211 ; 0xd3 80721e2: 2140 movs r1, #64 ; 0x40 80721e4: 48a2 ldr r0, [pc, #648] ; (8072470 ) 80721e6: f7e2 f9d5 bl 8054594 DrawImage(&bmVIB_POINT_ENG, 128, 211); 80721ea: 22d3 movs r2, #211 ; 0xd3 80721ec: 2180 movs r1, #128 ; 0x80 80721ee: 48a1 ldr r0, [pc, #644] ; (8072474 ) 80721f0: f7e2 f9d0 bl 8054594 DrawImage(&bmVIB_MEAS_ENG, 192, 211); 80721f4: 22d3 movs r2, #211 ; 0xd3 80721f6: 21c0 movs r1, #192 ; 0xc0 80721f8: 489f ldr r0, [pc, #636] ; (8072478 ) 80721fa: f7e2 f9cb bl 8054594 if(NeedSTOP) 80721fe: 4b98 ldr r3, [pc, #608] ; (8072460 ) 8072200: 781b ldrb r3, [r3, #0] 8072202: b2db uxtb r3, r3 8072204: 2b00 cmp r3, #0 8072206: d005 beq.n 8072214 DrawImage(&bmVIB_PLAY_LIGHT_ENG, 0, 211); 8072208: 22d3 movs r2, #211 ; 0xd3 807220a: 2100 movs r1, #0 807220c: 489b ldr r0, [pc, #620] ; (807247c ) 807220e: f7e2 f9c1 bl 8054594 8072212: e00f b.n 8072234 else { if(measuring) 8072214: 4b94 ldr r3, [pc, #592] ; (8072468 ) 8072216: 781b ldrb r3, [r3, #0] 8072218: b2db uxtb r3, r3 807221a: 2b00 cmp r3, #0 807221c: d005 beq.n 807222a DrawImage(&bmVIB_STOP_LIGHT_ENG, 0, 211); 807221e: 22d3 movs r2, #211 ; 0xd3 8072220: 2100 movs r1, #0 8072222: 4897 ldr r0, [pc, #604] ; (8072480 ) 8072224: f7e2 f9b6 bl 8054594 8072228: e004 b.n 8072234 else DrawImage(&bmVIB_PLAY_LIGHT_ENG, 0, 211); 807222a: 22d3 movs r2, #211 ; 0xd3 807222c: 2100 movs r1, #0 807222e: 4893 ldr r0, [pc, #588] ; (807247c ) 8072230: f7e2 f9b0 bl 8054594 } } DrawImage(&bmVIB_SAVE, 256, 211); 8072234: 22d3 movs r2, #211 ; 0xd3 8072236: f44f 7180 mov.w r1, #256 ; 0x100 807223a: 4892 ldr r0, [pc, #584] ; (8072484 ) 807223c: f7e2 f9aa bl 8054594 break; 8072240: e15c b.n 80724fc case Record: if(pardata.LANG == RUS) 8072242: 4b83 ldr r3, [pc, #524] ; (8072450 ) 8072244: 7b1b ldrb r3, [r3, #12] 8072246: b2db uxtb r3, r3 8072248: 2b00 cmp r3, #0 807224a: d11f bne.n 807228c { DrawImage(&bmVIB_LOG, 64, 211); 807224c: 22d3 movs r2, #211 ; 0xd3 807224e: 2140 movs r1, #64 ; 0x40 8072250: 4880 ldr r0, [pc, #512] ; (8072454 ) 8072252: f7e2 f99f bl 8054594 DrawImage(&bmVIB_POINT, 128, 211); 8072256: 22d3 movs r2, #211 ; 0xd3 8072258: 2180 movs r1, #128 ; 0x80 807225a: 487f ldr r0, [pc, #508] ; (8072458 ) 807225c: f7e2 f99a bl 8054594 DrawImage(&bmVIB_MEAS, 192, 211); 8072260: 22d3 movs r2, #211 ; 0xd3 8072262: 21c0 movs r1, #192 ; 0xc0 8072264: 487d ldr r0, [pc, #500] ; (807245c ) 8072266: f7e2 f995 bl 8054594 if(measuring) 807226a: 4b7f ldr r3, [pc, #508] ; (8072468 ) 807226c: 781b ldrb r3, [r3, #0] 807226e: b2db uxtb r3, r3 8072270: 2b00 cmp r3, #0 8072272: d005 beq.n 8072280 DrawImage(&bmVIB_STOP, 0, 211); 8072274: 22d3 movs r2, #211 ; 0xd3 8072276: 2100 movs r1, #0 8072278: 4883 ldr r0, [pc, #524] ; (8072488 ) 807227a: f7e2 f98b bl 8054594 807227e: e024 b.n 80722ca else DrawImage(&bmVIB_PLAY, 0, 211); 8072280: 22d3 movs r2, #211 ; 0xd3 8072282: 2100 movs r1, #0 8072284: 4881 ldr r0, [pc, #516] ; (807248c ) 8072286: f7e2 f985 bl 8054594 807228a: e01e b.n 80722ca } else { DrawImage(&bmVIB_LOG_ENG, 64, 211); 807228c: 22d3 movs r2, #211 ; 0xd3 807228e: 2140 movs r1, #64 ; 0x40 8072290: 4877 ldr r0, [pc, #476] ; (8072470 ) 8072292: f7e2 f97f bl 8054594 DrawImage(&bmVIB_POINT_ENG, 128, 211); 8072296: 22d3 movs r2, #211 ; 0xd3 8072298: 2180 movs r1, #128 ; 0x80 807229a: 4876 ldr r0, [pc, #472] ; (8072474 ) 807229c: f7e2 f97a bl 8054594 DrawImage(&bmVIB_MEAS_ENG, 192, 211); 80722a0: 22d3 movs r2, #211 ; 0xd3 80722a2: 21c0 movs r1, #192 ; 0xc0 80722a4: 4874 ldr r0, [pc, #464] ; (8072478 ) 80722a6: f7e2 f975 bl 8054594 if(measuring) 80722aa: 4b6f ldr r3, [pc, #444] ; (8072468 ) 80722ac: 781b ldrb r3, [r3, #0] 80722ae: b2db uxtb r3, r3 80722b0: 2b00 cmp r3, #0 80722b2: d005 beq.n 80722c0 DrawImage(&bmVIB_STOP_ENG, 0, 211); 80722b4: 22d3 movs r2, #211 ; 0xd3 80722b6: 2100 movs r1, #0 80722b8: 4875 ldr r0, [pc, #468] ; (8072490 ) 80722ba: f7e2 f96b bl 8054594 80722be: e004 b.n 80722ca else DrawImage(&bmVIB_PLAY_ENG, 0, 211); 80722c0: 22d3 movs r2, #211 ; 0xd3 80722c2: 2100 movs r1, #0 80722c4: 4873 ldr r0, [pc, #460] ; (8072494 ) 80722c6: f7e2 f965 bl 8054594 } DrawImage(&bmVIB_SAVE_LIGHT, 256, 211); 80722ca: 22d3 movs r2, #211 ; 0xd3 80722cc: f44f 7180 mov.w r1, #256 ; 0x100 80722d0: 4871 ldr r0, [pc, #452] ; (8072498 ) 80722d2: f7e2 f95f bl 8054594 break; 80722d6: e111 b.n 80724fc case MyPoint: if(pardata.LANG == RUS) 80722d8: 4b5d ldr r3, [pc, #372] ; (8072450 ) 80722da: 7b1b ldrb r3, [r3, #12] 80722dc: b2db uxtb r3, r3 80722de: 2b00 cmp r3, #0 80722e0: d11f bne.n 8072322 { DrawImage(&bmVIB_LOG, 64, 211); 80722e2: 22d3 movs r2, #211 ; 0xd3 80722e4: 2140 movs r1, #64 ; 0x40 80722e6: 485b ldr r0, [pc, #364] ; (8072454 ) 80722e8: f7e2 f954 bl 8054594 DrawImage(&bmVIB_POINT_LIGHT, 128, 211); 80722ec: 22d3 movs r2, #211 ; 0xd3 80722ee: 2180 movs r1, #128 ; 0x80 80722f0: 486a ldr r0, [pc, #424] ; (807249c ) 80722f2: f7e2 f94f bl 8054594 DrawImage(&bmVIB_MEAS, 192, 211); 80722f6: 22d3 movs r2, #211 ; 0xd3 80722f8: 21c0 movs r1, #192 ; 0xc0 80722fa: 4858 ldr r0, [pc, #352] ; (807245c ) 80722fc: f7e2 f94a bl 8054594 if(measuring) 8072300: 4b59 ldr r3, [pc, #356] ; (8072468 ) 8072302: 781b ldrb r3, [r3, #0] 8072304: b2db uxtb r3, r3 8072306: 2b00 cmp r3, #0 8072308: d005 beq.n 8072316 DrawImage(&bmVIB_STOP, 0, 211); 807230a: 22d3 movs r2, #211 ; 0xd3 807230c: 2100 movs r1, #0 807230e: 485e ldr r0, [pc, #376] ; (8072488 ) 8072310: f7e2 f940 bl 8054594 8072314: e024 b.n 8072360 else DrawImage(&bmVIB_PLAY, 0, 211); 8072316: 22d3 movs r2, #211 ; 0xd3 8072318: 2100 movs r1, #0 807231a: 485c ldr r0, [pc, #368] ; (807248c ) 807231c: f7e2 f93a bl 8054594 8072320: e01e b.n 8072360 } else { DrawImage(&bmVIB_LOG_ENG, 64, 211); 8072322: 22d3 movs r2, #211 ; 0xd3 8072324: 2140 movs r1, #64 ; 0x40 8072326: 4852 ldr r0, [pc, #328] ; (8072470 ) 8072328: f7e2 f934 bl 8054594 DrawImage(&bmVIB_POINT_LIGHT_ENG, 128, 211); 807232c: 22d3 movs r2, #211 ; 0xd3 807232e: 2180 movs r1, #128 ; 0x80 8072330: 485b ldr r0, [pc, #364] ; (80724a0 ) 8072332: f7e2 f92f bl 8054594 DrawImage(&bmVIB_MEAS_ENG, 192, 211); 8072336: 22d3 movs r2, #211 ; 0xd3 8072338: 21c0 movs r1, #192 ; 0xc0 807233a: 484f ldr r0, [pc, #316] ; (8072478 ) 807233c: f7e2 f92a bl 8054594 if(measuring) 8072340: 4b49 ldr r3, [pc, #292] ; (8072468 ) 8072342: 781b ldrb r3, [r3, #0] 8072344: b2db uxtb r3, r3 8072346: 2b00 cmp r3, #0 8072348: d005 beq.n 8072356 DrawImage(&bmVIB_STOP_ENG, 0, 211); 807234a: 22d3 movs r2, #211 ; 0xd3 807234c: 2100 movs r1, #0 807234e: 4850 ldr r0, [pc, #320] ; (8072490 ) 8072350: f7e2 f920 bl 8054594 8072354: e004 b.n 8072360 else DrawImage(&bmVIB_PLAY_ENG, 0, 211); 8072356: 22d3 movs r2, #211 ; 0xd3 8072358: 2100 movs r1, #0 807235a: 484e ldr r0, [pc, #312] ; (8072494 ) 807235c: f7e2 f91a bl 8054594 } DrawImage(&bmVIB_SAVE, 256, 211); 8072360: 22d3 movs r2, #211 ; 0xd3 8072362: f44f 7180 mov.w r1, #256 ; 0x100 8072366: 4847 ldr r0, [pc, #284] ; (8072484 ) 8072368: f7e2 f914 bl 8054594 break; 807236c: e0c6 b.n 80724fc case MyMeasure: if(pardata.LANG == RUS) 807236e: 4b38 ldr r3, [pc, #224] ; (8072450 ) 8072370: 7b1b ldrb r3, [r3, #12] 8072372: b2db uxtb r3, r3 8072374: 2b00 cmp r3, #0 8072376: d11f bne.n 80723b8 { DrawImage(&bmVIB_LOG, 64, 211); 8072378: 22d3 movs r2, #211 ; 0xd3 807237a: 2140 movs r1, #64 ; 0x40 807237c: 4835 ldr r0, [pc, #212] ; (8072454 ) 807237e: f7e2 f909 bl 8054594 DrawImage(&bmVIB_POINT, 128, 211); 8072382: 22d3 movs r2, #211 ; 0xd3 8072384: 2180 movs r1, #128 ; 0x80 8072386: 4834 ldr r0, [pc, #208] ; (8072458 ) 8072388: f7e2 f904 bl 8054594 DrawImage(&bmVIB_MEAS_LIGHT, 192, 211); 807238c: 22d3 movs r2, #211 ; 0xd3 807238e: 21c0 movs r1, #192 ; 0xc0 8072390: 4844 ldr r0, [pc, #272] ; (80724a4 ) 8072392: f7e2 f8ff bl 8054594 if(measuring) 8072396: 4b34 ldr r3, [pc, #208] ; (8072468 ) 8072398: 781b ldrb r3, [r3, #0] 807239a: b2db uxtb r3, r3 807239c: 2b00 cmp r3, #0 807239e: d005 beq.n 80723ac DrawImage(&bmVIB_STOP, 0, 211); 80723a0: 22d3 movs r2, #211 ; 0xd3 80723a2: 2100 movs r1, #0 80723a4: 4838 ldr r0, [pc, #224] ; (8072488 ) 80723a6: f7e2 f8f5 bl 8054594 80723aa: e024 b.n 80723f6 else DrawImage(&bmVIB_PLAY, 0, 211); 80723ac: 22d3 movs r2, #211 ; 0xd3 80723ae: 2100 movs r1, #0 80723b0: 4836 ldr r0, [pc, #216] ; (807248c ) 80723b2: f7e2 f8ef bl 8054594 80723b6: e01e b.n 80723f6 } else { DrawImage(&bmVIB_LOG_ENG, 64, 211); 80723b8: 22d3 movs r2, #211 ; 0xd3 80723ba: 2140 movs r1, #64 ; 0x40 80723bc: 482c ldr r0, [pc, #176] ; (8072470 ) 80723be: f7e2 f8e9 bl 8054594 DrawImage(&bmVIB_POINT_ENG, 128, 211); 80723c2: 22d3 movs r2, #211 ; 0xd3 80723c4: 2180 movs r1, #128 ; 0x80 80723c6: 482b ldr r0, [pc, #172] ; (8072474 ) 80723c8: f7e2 f8e4 bl 8054594 DrawImage(&bmVIB_MEAS_LIGHT_ENG, 192, 211); 80723cc: 22d3 movs r2, #211 ; 0xd3 80723ce: 21c0 movs r1, #192 ; 0xc0 80723d0: 4835 ldr r0, [pc, #212] ; (80724a8 ) 80723d2: f7e2 f8df bl 8054594 if(measuring) 80723d6: 4b24 ldr r3, [pc, #144] ; (8072468 ) 80723d8: 781b ldrb r3, [r3, #0] 80723da: b2db uxtb r3, r3 80723dc: 2b00 cmp r3, #0 80723de: d005 beq.n 80723ec DrawImage(&bmVIB_STOP_ENG, 0, 211); 80723e0: 22d3 movs r2, #211 ; 0xd3 80723e2: 2100 movs r1, #0 80723e4: 482a ldr r0, [pc, #168] ; (8072490 ) 80723e6: f7e2 f8d5 bl 8054594 80723ea: e004 b.n 80723f6 else DrawImage(&bmVIB_PLAY_ENG, 0, 211); 80723ec: 22d3 movs r2, #211 ; 0xd3 80723ee: 2100 movs r1, #0 80723f0: 4828 ldr r0, [pc, #160] ; (8072494 ) 80723f2: f7e2 f8cf bl 8054594 } DrawImage(&bmVIB_SAVE, 256, 211); 80723f6: 22d3 movs r2, #211 ; 0xd3 80723f8: f44f 7180 mov.w r1, #256 ; 0x100 80723fc: 4821 ldr r0, [pc, #132] ; (8072484 ) 80723fe: f7e2 f8c9 bl 8054594 break; 8072402: e07b b.n 80724fc case MyLinLog: if(pardata.LANG == RUS) 8072404: 4b12 ldr r3, [pc, #72] ; (8072450 ) 8072406: 7b1b ldrb r3, [r3, #12] 8072408: b2db uxtb r3, r3 807240a: 2b00 cmp r3, #0 807240c: d150 bne.n 80724b0 { DrawImage(&bmVIB_LOG_LIGHT, 64, 211); 807240e: 22d3 movs r2, #211 ; 0xd3 8072410: 2140 movs r1, #64 ; 0x40 8072412: 4826 ldr r0, [pc, #152] ; (80724ac ) 8072414: f7e2 f8be bl 8054594 DrawImage(&bmVIB_POINT, 128, 211); 8072418: 22d3 movs r2, #211 ; 0xd3 807241a: 2180 movs r1, #128 ; 0x80 807241c: 480e ldr r0, [pc, #56] ; (8072458 ) 807241e: f7e2 f8b9 bl 8054594 DrawImage(&bmVIB_MEAS, 192, 211); 8072422: 22d3 movs r2, #211 ; 0xd3 8072424: 21c0 movs r1, #192 ; 0xc0 8072426: 480d ldr r0, [pc, #52] ; (807245c ) 8072428: f7e2 f8b4 bl 8054594 if(measuring) 807242c: 4b0e ldr r3, [pc, #56] ; (8072468 ) 807242e: 781b ldrb r3, [r3, #0] 8072430: b2db uxtb r3, r3 8072432: 2b00 cmp r3, #0 8072434: d005 beq.n 8072442 DrawImage(&bmVIB_STOP, 0, 211); 8072436: 22d3 movs r2, #211 ; 0xd3 8072438: 2100 movs r1, #0 807243a: 4813 ldr r0, [pc, #76] ; (8072488 ) 807243c: f7e2 f8aa bl 8054594 8072440: e055 b.n 80724ee else DrawImage(&bmVIB_PLAY, 0, 211); 8072442: 22d3 movs r2, #211 ; 0xd3 8072444: 2100 movs r1, #0 8072446: 4811 ldr r0, [pc, #68] ; (807248c ) 8072448: f7e2 f8a4 bl 8054594 807244c: e04f b.n 80724ee 807244e: bf00 nop 8072450: 20023e60 .word 0x20023e60 8072454: 0814b11c .word 0x0814b11c 8072458: 081553ac .word 0x081553ac 807245c: 0814e74c .word 0x0814e74c 8072460: 20020f7e .word 0x20020f7e 8072464: 08153894 .word 0x08153894 8072468: 20020daf .word 0x20020daf 807246c: 0815c00c .word 0x0815c00c 8072470: 0814bea8 .word 0x0814bea8 8072474: 08156138 .word 0x08156138 8072478: 0814f4d8 .word 0x0814f4d8 807247c: 08154620 .word 0x08154620 8072480: 0815cd98 .word 0x0815cd98 8072484: 081589dc .word 0x081589dc 8072488: 0815a4f4 .word 0x0815a4f4 807248c: 08151d7c .word 0x08151d7c 8072490: 0815b280 .word 0x0815b280 8072494: 08152b08 .word 0x08152b08 8072498: 08159768 .word 0x08159768 807249c: 08156ec4 .word 0x08156ec4 80724a0: 08157c50 .word 0x08157c50 80724a4: 08150264 .word 0x08150264 80724a8: 08150ff0 .word 0x08150ff0 80724ac: 0814cc34 .word 0x0814cc34 } else { DrawImage(&bmVIB_LOG_LIGHT_ENG, 64, 211); 80724b0: 22d3 movs r2, #211 ; 0xd3 80724b2: 2140 movs r1, #64 ; 0x40 80724b4: 48be ldr r0, [pc, #760] ; (80727b0 ) 80724b6: f7e2 f86d bl 8054594 DrawImage(&bmVIB_POINT_ENG, 128, 211); 80724ba: 22d3 movs r2, #211 ; 0xd3 80724bc: 2180 movs r1, #128 ; 0x80 80724be: 48bd ldr r0, [pc, #756] ; (80727b4 ) 80724c0: f7e2 f868 bl 8054594 DrawImage(&bmVIB_MEAS_ENG, 192, 211); 80724c4: 22d3 movs r2, #211 ; 0xd3 80724c6: 21c0 movs r1, #192 ; 0xc0 80724c8: 48bb ldr r0, [pc, #748] ; (80727b8 ) 80724ca: f7e2 f863 bl 8054594 if(measuring) 80724ce: 4bbb ldr r3, [pc, #748] ; (80727bc ) 80724d0: 781b ldrb r3, [r3, #0] 80724d2: b2db uxtb r3, r3 80724d4: 2b00 cmp r3, #0 80724d6: d005 beq.n 80724e4 DrawImage(&bmVIB_STOP_ENG, 0, 211); 80724d8: 22d3 movs r2, #211 ; 0xd3 80724da: 2100 movs r1, #0 80724dc: 48b8 ldr r0, [pc, #736] ; (80727c0 ) 80724de: f7e2 f859 bl 8054594 80724e2: e004 b.n 80724ee else DrawImage(&bmVIB_PLAY_ENG, 0, 211); 80724e4: 22d3 movs r2, #211 ; 0xd3 80724e6: 2100 movs r1, #0 80724e8: 48b6 ldr r0, [pc, #728] ; (80727c4 ) 80724ea: f7e2 f853 bl 8054594 } DrawImage(&bmVIB_SAVE, 256, 211); 80724ee: 22d3 movs r2, #211 ; 0xd3 80724f0: f44f 7180 mov.w r1, #256 ; 0x100 80724f4: 48b4 ldr r0, [pc, #720] ; (80727c8 ) 80724f6: f7e2 f84d bl 8054594 break; 80724fa: bf00 nop } BSP_LCD_SetFont(&Font15); 80724fc: 48b3 ldr r0, [pc, #716] ; (80727cc ) 80724fe: f7e1 f991 bl 8053824 if(strcmp(MeasFileName, "") != 0) 8072502: 4bb3 ldr r3, [pc, #716] ; (80727d0 ) 8072504: 781b ldrb r3, [r3, #0] 8072506: 2b00 cmp r3, #0 8072508: f000 8147 beq.w 807279a { BSP_LCD_SetFont(&Font12); 807250c: 48b1 ldr r0, [pc, #708] ; (80727d4 ) 807250e: f7e1 f989 bl 8053824 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8072512: 49b1 ldr r1, [pc, #708] ; (80727d8 ) 8072514: 48b1 ldr r0, [pc, #708] ; (80727dc ) 8072516: f7e1 f949 bl 80537ac if(pardata.LANG == RUS) 807251a: 4bb1 ldr r3, [pc, #708] ; (80727e0 ) 807251c: 7b1b ldrb r3, [r3, #12] 807251e: b2db uxtb r3, r3 8072520: 2b00 cmp r3, #0 8072522: d115 bne.n 8072550 { BSP_LCD_DisplayStringAt(4, 35, "ÔÀÉË:", LEFT_MODE); 8072524: 2303 movs r3, #3 8072526: 4aaf ldr r2, [pc, #700] ; (80727e4 ) 8072528: 2123 movs r1, #35 ; 0x23 807252a: 2004 movs r0, #4 807252c: f7e1 fa04 bl 8053938 if((NEWFILE) && (strlen(Comment))) 8072530: 4bad ldr r3, [pc, #692] ; (80727e8 ) 8072532: 781b ldrb r3, [r3, #0] 8072534: b2db uxtb r3, r3 8072536: 2b00 cmp r3, #0 8072538: d01f beq.n 807257a 807253a: 4bac ldr r3, [pc, #688] ; (80727ec ) 807253c: 781b ldrb r3, [r3, #0] 807253e: 2b00 cmp r3, #0 8072540: d01b beq.n 807257a BSP_LCD_DisplayStringAt(4, 49, "ÒÎ×ÊÀ:", LEFT_MODE); 8072542: 2303 movs r3, #3 8072544: 4aaa ldr r2, [pc, #680] ; (80727f0 ) 8072546: 2131 movs r1, #49 ; 0x31 8072548: 2004 movs r0, #4 807254a: f7e1 f9f5 bl 8053938 807254e: e014 b.n 807257a } else { BSP_LCD_DisplayStringAt(4, 35, "FILE:", LEFT_MODE); 8072550: 2303 movs r3, #3 8072552: 4aa8 ldr r2, [pc, #672] ; (80727f4 ) 8072554: 2123 movs r1, #35 ; 0x23 8072556: 2004 movs r0, #4 8072558: f7e1 f9ee bl 8053938 if((NEWFILE) && (strlen(Comment))) 807255c: 4ba2 ldr r3, [pc, #648] ; (80727e8 ) 807255e: 781b ldrb r3, [r3, #0] 8072560: b2db uxtb r3, r3 8072562: 2b00 cmp r3, #0 8072564: d009 beq.n 807257a 8072566: 4ba1 ldr r3, [pc, #644] ; (80727ec ) 8072568: 781b ldrb r3, [r3, #0] 807256a: 2b00 cmp r3, #0 807256c: d005 beq.n 807257a BSP_LCD_DisplayStringAt(4, 49, "POINT:", LEFT_MODE); 807256e: 2303 movs r3, #3 8072570: 4aa1 ldr r2, [pc, #644] ; (80727f8 ) 8072572: 2131 movs r1, #49 ; 0x31 8072574: 2004 movs r0, #4 8072576: f7e1 f9df bl 8053938 } memset(str, 0, sizeof(str)); 807257a: f507 733b add.w r3, r7, #748 ; 0x2ec 807257e: 223c movs r2, #60 ; 0x3c 8072580: 2100 movs r1, #0 8072582: 4618 mov r0, r3 8072584: f05a fd60 bl 80cd048 strcpy(str, MeasFileName); 8072588: f507 733b add.w r3, r7, #748 ; 0x2ec 807258c: 4990 ldr r1, [pc, #576] ; (80727d0 ) 807258e: 4618 mov r0, r3 8072590: f05a fe77 bl 80cd282 l = strlen(str); 8072594: f507 733b add.w r3, r7, #748 ; 0x2ec 8072598: 4618 mov r0, r3 807259a: f7ad febb bl 8020314 807259e: 4603 mov r3, r0 80725a0: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 str[l - 4] = '\0'; 80725a4: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 80725a8: 3b04 subs r3, #4 80725aa: f507 723b add.w r2, r7, #748 ; 0x2ec 80725ae: 2100 movs r1, #0 80725b0: 54d1 strb r1, [r2, r3] BSP_LCD_SetFont(&Font12); 80725b2: 4888 ldr r0, [pc, #544] ; (80727d4 ) 80725b4: f7e1 f936 bl 8053824 LCD_SetColors(LCD_COLOR_LIGHTGREEN, LCD_COLOR_BLACK); 80725b8: 4987 ldr r1, [pc, #540] ; (80727d8 ) 80725ba: f06f 107f mvn.w r0, #8323199 ; 0x7f007f 80725be: f7e1 f8f5 bl 80537ac BSP_LCD_DisplayStringAt(46, 35, str, LEFT_MODE); 80725c2: f507 723b add.w r2, r7, #748 ; 0x2ec 80725c6: 2303 movs r3, #3 80725c8: 2123 movs r1, #35 ; 0x23 80725ca: 202e movs r0, #46 ; 0x2e 80725cc: f7e1 f9b4 bl 8053938 if((NEWFILE) && (strlen(Comment))) 80725d0: 4b85 ldr r3, [pc, #532] ; (80727e8 ) 80725d2: 781b ldrb r3, [r3, #0] 80725d4: b2db uxtb r3, r3 80725d6: 2b00 cmp r3, #0 80725d8: d02c beq.n 8072634 80725da: 4b84 ldr r3, [pc, #528] ; (80727ec ) 80725dc: 781b ldrb r3, [r3, #0] 80725de: 2b00 cmp r3, #0 80725e0: d028 beq.n 8072634 { LCD_SetColors(0xFFEFCC95, LCD_COLOR_BLACK); 80725e2: 497d ldr r1, [pc, #500] ; (80727d8 ) 80725e4: 4885 ldr r0, [pc, #532] ; (80727fc ) 80725e6: f7e1 f8e1 bl 80537ac BSP_LCD_SetFont(&Font12); 80725ea: 487a ldr r0, [pc, #488] ; (80727d4 ) 80725ec: f7e1 f91a bl 8053824 memset(str, 0, sizeof(str)); 80725f0: f507 733b add.w r3, r7, #748 ; 0x2ec 80725f4: 223c movs r2, #60 ; 0x3c 80725f6: 2100 movs r1, #0 80725f8: 4618 mov r0, r3 80725fa: f05a fd25 bl 80cd048 str[0] = '"'; 80725fe: f507 733b add.w r3, r7, #748 ; 0x2ec 8072602: 2222 movs r2, #34 ; 0x22 8072604: 701a strb r2, [r3, #0] strcat(str, Comment); 8072606: f507 733b add.w r3, r7, #748 ; 0x2ec 807260a: 4978 ldr r1, [pc, #480] ; (80727ec ) 807260c: 4618 mov r0, r3 807260e: f05a fe1b bl 80cd248 str[strlen(str)] = '"'; 8072612: f507 733b add.w r3, r7, #748 ; 0x2ec 8072616: 4618 mov r0, r3 8072618: f7ad fe7c bl 8020314 807261c: 4602 mov r2, r0 807261e: f507 733b add.w r3, r7, #748 ; 0x2ec 8072622: 2122 movs r1, #34 ; 0x22 8072624: 5499 strb r1, [r3, r2] BSP_LCD_DisplayStringAt(46, 49, str, LEFT_MODE); 8072626: f507 723b add.w r2, r7, #748 ; 0x2ec 807262a: 2303 movs r3, #3 807262c: 2131 movs r1, #49 ; 0x31 807262e: 202e movs r0, #46 ; 0x2e 8072630: f7e1 f982 bl 8053938 } BSP_LCD_SetFont(&Font15); 8072634: 4865 ldr r0, [pc, #404] ; (80727cc ) 8072636: f7e1 f8f5 bl 8053824 memset(str, 0, sizeof(str)); 807263a: f507 733b add.w r3, r7, #748 ; 0x2ec 807263e: 223c movs r2, #60 ; 0x3c 8072640: 2100 movs r1, #0 8072642: 4618 mov r0, r3 8072644: f05a fd00 bl 80cd048 str[0] = ((NextIndexPoint + 1) / 100) + 48; 8072648: 4b6d ldr r3, [pc, #436] ; (8072800 ) 807264a: 681b ldr r3, [r3, #0] 807264c: 3301 adds r3, #1 807264e: 4a6d ldr r2, [pc, #436] ; (8072804 ) 8072650: fba2 2303 umull r2, r3, r2, r3 8072654: 095b lsrs r3, r3, #5 8072656: b2db uxtb r3, r3 8072658: 3330 adds r3, #48 ; 0x30 807265a: b2da uxtb r2, r3 807265c: f507 733b add.w r3, r7, #748 ; 0x2ec 8072660: 701a strb r2, [r3, #0] str[1] = ((NextIndexPoint + 1) % 100 / 10) + 48; 8072662: 4b67 ldr r3, [pc, #412] ; (8072800 ) 8072664: 681b ldr r3, [r3, #0] 8072666: 1c5a adds r2, r3, #1 8072668: 4b66 ldr r3, [pc, #408] ; (8072804 ) 807266a: fba3 1302 umull r1, r3, r3, r2 807266e: 095b lsrs r3, r3, #5 8072670: 2164 movs r1, #100 ; 0x64 8072672: fb01 f303 mul.w r3, r1, r3 8072676: 1ad3 subs r3, r2, r3 8072678: 4a63 ldr r2, [pc, #396] ; (8072808 ) 807267a: fba2 2303 umull r2, r3, r2, r3 807267e: 08db lsrs r3, r3, #3 8072680: b2db uxtb r3, r3 8072682: 3330 adds r3, #48 ; 0x30 8072684: b2da uxtb r2, r3 8072686: f507 733b add.w r3, r7, #748 ; 0x2ec 807268a: 705a strb r2, [r3, #1] str[2] = ((NextIndexPoint + 1) % 100 % 10) + 48; 807268c: 4b5c ldr r3, [pc, #368] ; (8072800 ) 807268e: 681b ldr r3, [r3, #0] 8072690: 3301 adds r3, #1 8072692: 4a5c ldr r2, [pc, #368] ; (8072804 ) 8072694: fba2 1203 umull r1, r2, r2, r3 8072698: 0952 lsrs r2, r2, #5 807269a: 2164 movs r1, #100 ; 0x64 807269c: fb01 f202 mul.w r2, r1, r2 80726a0: 1a9a subs r2, r3, r2 80726a2: 4b59 ldr r3, [pc, #356] ; (8072808 ) 80726a4: fba3 1302 umull r1, r3, r3, r2 80726a8: 08d9 lsrs r1, r3, #3 80726aa: 460b mov r3, r1 80726ac: 009b lsls r3, r3, #2 80726ae: 440b add r3, r1 80726b0: 005b lsls r3, r3, #1 80726b2: 1ad1 subs r1, r2, r3 80726b4: b2cb uxtb r3, r1 80726b6: 3330 adds r3, #48 ; 0x30 80726b8: b2da uxtb r2, r3 80726ba: f507 733b add.w r3, r7, #748 ; 0x2ec 80726be: 709a strb r2, [r3, #2] if(menupos == MyPoint) 80726c0: 4b52 ldr r3, [pc, #328] ; (807280c ) 80726c2: 781b ldrb r3, [r3, #0] 80726c4: b2db uxtb r3, r3 80726c6: 2b03 cmp r3, #3 80726c8: d104 bne.n 80726d4 LCD_SetColors(LCD_COLOR_VIBGREEN, LCD_COLOR_BLACK); 80726ca: 4943 ldr r1, [pc, #268] ; (80727d8 ) 80726cc: 4850 ldr r0, [pc, #320] ; (8072810 ) 80726ce: f7e1 f86d bl 80537ac 80726d2: e004 b.n 80726de else LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80726d4: 4940 ldr r1, [pc, #256] ; (80727d8 ) 80726d6: f04f 30ff mov.w r0, #4294967295 80726da: f7e1 f867 bl 80537ac BSP_LCD_DisplayStringAt(192-13, 218, str, RIGHT_MODE); 80726de: f507 723b add.w r2, r7, #748 ; 0x2ec 80726e2: 2302 movs r3, #2 80726e4: 21da movs r1, #218 ; 0xda 80726e6: 20b3 movs r0, #179 ; 0xb3 80726e8: f7e1 f926 bl 8053938 memset(str, 0, sizeof(str)); 80726ec: f507 733b add.w r3, r7, #748 ; 0x2ec 80726f0: 223c movs r2, #60 ; 0x3c 80726f2: 2100 movs r1, #0 80726f4: 4618 mov r0, r3 80726f6: f05a fca7 bl 80cd048 str[0] = (NextIndexMeas / 100) + 48; 80726fa: 4b46 ldr r3, [pc, #280] ; (8072814 ) 80726fc: 681b ldr r3, [r3, #0] 80726fe: 4a41 ldr r2, [pc, #260] ; (8072804 ) 8072700: fba2 2303 umull r2, r3, r2, r3 8072704: 095b lsrs r3, r3, #5 8072706: b2db uxtb r3, r3 8072708: 3330 adds r3, #48 ; 0x30 807270a: b2da uxtb r2, r3 807270c: f507 733b add.w r3, r7, #748 ; 0x2ec 8072710: 701a strb r2, [r3, #0] str[1] = (NextIndexMeas % 100 / 10) + 48; 8072712: 4b40 ldr r3, [pc, #256] ; (8072814 ) 8072714: 681a ldr r2, [r3, #0] 8072716: 4b3b ldr r3, [pc, #236] ; (8072804 ) 8072718: fba3 1302 umull r1, r3, r3, r2 807271c: 095b lsrs r3, r3, #5 807271e: 2164 movs r1, #100 ; 0x64 8072720: fb01 f303 mul.w r3, r1, r3 8072724: 1ad3 subs r3, r2, r3 8072726: 4a38 ldr r2, [pc, #224] ; (8072808 ) 8072728: fba2 2303 umull r2, r3, r2, r3 807272c: 08db lsrs r3, r3, #3 807272e: b2db uxtb r3, r3 8072730: 3330 adds r3, #48 ; 0x30 8072732: b2da uxtb r2, r3 8072734: f507 733b add.w r3, r7, #748 ; 0x2ec 8072738: 705a strb r2, [r3, #1] str[2] = (NextIndexMeas % 100 % 10) + 48; 807273a: 4b36 ldr r3, [pc, #216] ; (8072814 ) 807273c: 681b ldr r3, [r3, #0] 807273e: 4a31 ldr r2, [pc, #196] ; (8072804 ) 8072740: fba2 1203 umull r1, r2, r2, r3 8072744: 0952 lsrs r2, r2, #5 8072746: 2164 movs r1, #100 ; 0x64 8072748: fb01 f202 mul.w r2, r1, r2 807274c: 1a9a subs r2, r3, r2 807274e: 4b2e ldr r3, [pc, #184] ; (8072808 ) 8072750: fba3 1302 umull r1, r3, r3, r2 8072754: 08d9 lsrs r1, r3, #3 8072756: 460b mov r3, r1 8072758: 009b lsls r3, r3, #2 807275a: 440b add r3, r1 807275c: 005b lsls r3, r3, #1 807275e: 1ad1 subs r1, r2, r3 8072760: b2cb uxtb r3, r1 8072762: 3330 adds r3, #48 ; 0x30 8072764: b2da uxtb r2, r3 8072766: f507 733b add.w r3, r7, #748 ; 0x2ec 807276a: 709a strb r2, [r3, #2] if(menupos == MyMeasure) 807276c: 4b27 ldr r3, [pc, #156] ; (807280c ) 807276e: 781b ldrb r3, [r3, #0] 8072770: b2db uxtb r3, r3 8072772: 2b04 cmp r3, #4 8072774: d104 bne.n 8072780 LCD_SetColors(LCD_COLOR_VIBGREEN, LCD_COLOR_BLACK); 8072776: 4918 ldr r1, [pc, #96] ; (80727d8 ) 8072778: 4825 ldr r0, [pc, #148] ; (8072810 ) 807277a: f7e1 f817 bl 80537ac 807277e: e004 b.n 807278a else LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8072780: 4915 ldr r1, [pc, #84] ; (80727d8 ) 8072782: f04f 30ff mov.w r0, #4294967295 8072786: f7e1 f811 bl 80537ac BSP_LCD_DisplayStringAt(256-13, 218, str, RIGHT_MODE); 807278a: f507 723b add.w r2, r7, #748 ; 0x2ec 807278e: 2302 movs r3, #2 8072790: 21da movs r1, #218 ; 0xda 8072792: 20f3 movs r0, #243 ; 0xf3 8072794: f7e1 f8d0 bl 8053938 8072798: e05e b.n 8072858 } else { if(menupos == MyPoint) 807279a: 4b1c ldr r3, [pc, #112] ; (807280c ) 807279c: 781b ldrb r3, [r3, #0] 807279e: b2db uxtb r3, r3 80727a0: 2b03 cmp r3, #3 80727a2: d139 bne.n 8072818 LCD_SetColors(LCD_COLOR_VIBGREEN, LCD_COLOR_BLACK); 80727a4: 490c ldr r1, [pc, #48] ; (80727d8 ) 80727a6: 481a ldr r0, [pc, #104] ; (8072810 ) 80727a8: f7e1 f800 bl 80537ac 80727ac: e039 b.n 8072822 80727ae: bf00 nop 80727b0: 0814d9c0 .word 0x0814d9c0 80727b4: 08156138 .word 0x08156138 80727b8: 0814f4d8 .word 0x0814f4d8 80727bc: 20020daf .word 0x20020daf 80727c0: 0815b280 .word 0x0815b280 80727c4: 08152b08 .word 0x08152b08 80727c8: 081589dc .word 0x081589dc 80727cc: 20020040 .word 0x20020040 80727d0: 20020e58 .word 0x20020e58 80727d4: 20020038 .word 0x20020038 80727d8: ff0a0f1f .word 0xff0a0f1f 80727dc: ff808080 .word 0xff808080 80727e0: 20023e60 .word 0x20023e60 80727e4: 080cfac0 .word 0x080cfac0 80727e8: 20020e14 .word 0x20020e14 80727ec: 20022650 .word 0x20022650 80727f0: 080cfac8 .word 0x080cfac8 80727f4: 080cfad0 .word 0x080cfad0 80727f8: 080cfad8 .word 0x080cfad8 80727fc: ffefcc95 .word 0xffefcc95 8072800: 20021f9c .word 0x20021f9c 8072804: 51eb851f .word 0x51eb851f 8072808: cccccccd .word 0xcccccccd 807280c: 20020070 .word 0x20020070 8072810: ff29eb19 .word 0xff29eb19 8072814: 20022310 .word 0x20022310 else LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8072818: 49ab ldr r1, [pc, #684] ; (8072ac8 ) 807281a: f04f 30ff mov.w r0, #4294967295 807281e: f7e0 ffc5 bl 80537ac BSP_LCD_DisplayStringAt(192-13, 218, "---", RIGHT_MODE); 8072822: 2302 movs r3, #2 8072824: 4aa9 ldr r2, [pc, #676] ; (8072acc ) 8072826: 21da movs r1, #218 ; 0xda 8072828: 20b3 movs r0, #179 ; 0xb3 807282a: f7e1 f885 bl 8053938 if(menupos == MyMeasure) 807282e: 4ba8 ldr r3, [pc, #672] ; (8072ad0 ) 8072830: 781b ldrb r3, [r3, #0] 8072832: b2db uxtb r3, r3 8072834: 2b04 cmp r3, #4 8072836: d104 bne.n 8072842 LCD_SetColors(LCD_COLOR_VIBGREEN, LCD_COLOR_BLACK); 8072838: 49a3 ldr r1, [pc, #652] ; (8072ac8 ) 807283a: 48a6 ldr r0, [pc, #664] ; (8072ad4 ) 807283c: f7e0 ffb6 bl 80537ac 8072840: e004 b.n 807284c else LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8072842: 49a1 ldr r1, [pc, #644] ; (8072ac8 ) 8072844: f04f 30ff mov.w r0, #4294967295 8072848: f7e0 ffb0 bl 80537ac BSP_LCD_DisplayStringAt(256-13, 218, "---", RIGHT_MODE); 807284c: 2302 movs r3, #2 807284e: 4a9f ldr r2, [pc, #636] ; (8072acc ) 8072850: 21da movs r1, #218 ; 0xda 8072852: 20f3 movs r0, #243 ; 0xf3 8072854: f7e1 f870 bl 8053938 } //******************************************************************************************** //******************************************************************************************** RedrawNums(); 8072858: f025 ffc4 bl 80987e4 //******************************************************************************************** //******************************************************************************************** break; 807285c: f024 beca b.w 80975f4 case MAIN_ROLL: DrawLegend(); 8072860: f03a fd66 bl 80ad330 DrawButtons(menupos); 8072864: 4b9a ldr r3, [pc, #616] ; (8072ad0 ) 8072866: 781b ldrb r3, [r3, #0] 8072868: b2db uxtb r3, r3 807286a: 4618 mov r0, r3 807286c: f03a f81e bl 80ac8ac if(Stability > (Nr * 4)) 8072870: 4b99 ldr r3, [pc, #612] ; (8072ad8 ) 8072872: 881b ldrh r3, [r3, #0] 8072874: b29b uxth r3, r3 8072876: 009b lsls r3, r3, #2 8072878: 461a mov r2, r3 807287a: 4b98 ldr r3, [pc, #608] ; (8072adc ) 807287c: 681b ldr r3, [r3, #0] 807287e: 429a cmp r2, r3 8072880: d20a bcs.n 8072898 { DrawGraph(); 8072882: f033 fbf5 bl 80a6070 if(SeeResults) 8072886: 4b96 ldr r3, [pc, #600] ; (8072ae0 ) 8072888: 781b ldrb r3, [r3, #0] 807288a: b2db uxtb r3, r3 807288c: 2b00 cmp r3, #0 807288e: d001 beq.n 8072894 DrawCursorData(); 8072890: f031 f906 bl 80a3aa0 DrawScaleValue(); 8072894: f039 faec bl 80abe70 } DrawAVS(); 8072898: f03a ffa8 bl 80ad7ec if(measuring) 807289c: 4b91 ldr r3, [pc, #580] ; (8072ae4 ) 807289e: 781b ldrb r3, [r3, #0] 80728a0: b2db uxtb r3, r3 80728a2: 2b00 cmp r3, #0 80728a4: f024 867d beq.w 80975a2 { if((Flag_Set_KU == 0) && (Stability > (Nr * 4)) && (NSamples >= 20)) 80728a8: 4b8f ldr r3, [pc, #572] ; (8072ae8 ) 80728aa: 781b ldrb r3, [r3, #0] 80728ac: b2db uxtb r3, r3 80728ae: 2b00 cmp r3, #0 80728b0: f064 8677 bne.w 80975a2 80728b4: 4b88 ldr r3, [pc, #544] ; (8072ad8 ) 80728b6: 881b ldrh r3, [r3, #0] 80728b8: b29b uxth r3, r3 80728ba: 009b lsls r3, r3, #2 80728bc: 461a mov r2, r3 80728be: 4b87 ldr r3, [pc, #540] ; (8072adc ) 80728c0: 681b ldr r3, [r3, #0] 80728c2: 429a cmp r2, r3 80728c4: f0a4 866d bcs.w 80975a2 80728c8: 4b88 ldr r3, [pc, #544] ; (8072aec ) 80728ca: 681b ldr r3, [r3, #0] 80728cc: 2b13 cmp r3, #19 80728ce: f264 8668 bls.w 80975a2 { uint16_t ww; LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80728d2: 497d ldr r1, [pc, #500] ; (8072ac8 ) 80728d4: f04f 30ff mov.w r0, #4294967295 80728d8: f7e0 ff68 bl 80537ac BSP_LCD_FillRect(126, 137, 127, 8); 80728dc: 2308 movs r3, #8 80728de: 227f movs r2, #127 ; 0x7f 80728e0: 2189 movs r1, #137 ; 0x89 80728e2: 207e movs r0, #126 ; 0x7e 80728e4: f7e1 fbf0 bl 80540c8 f = (float32_t) MeanCnt / (float32_t) AVG[pardata.AVG]; 80728e8: 4b81 ldr r3, [pc, #516] ; (8072af0 ) 80728ea: 681b ldr r3, [r3, #0] 80728ec: ee07 3a90 vmov s15, r3 80728f0: eef8 6a67 vcvt.f32.u32 s13, s15 80728f4: 4b7f ldr r3, [pc, #508] ; (8072af4 ) 80728f6: 7b5b ldrb r3, [r3, #13] 80728f8: b2db uxtb r3, r3 80728fa: 461a mov r2, r3 80728fc: 4b7e ldr r3, [pc, #504] ; (8072af8 ) 80728fe: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 8072902: ee07 3a90 vmov s15, r3 8072906: eeb8 7a67 vcvt.f32.u32 s14, s15 807290a: eec6 7a87 vdiv.f32 s15, s13, s14 807290e: f507 638b add.w r3, r7, #1112 ; 0x458 8072912: edc3 7a00 vstr s15, [r3] f *= 125.0f; 8072916: f507 638b add.w r3, r7, #1112 ; 0x458 807291a: edd3 7a00 vldr s15, [r3] 807291e: ed9f 7a77 vldr s14, [pc, #476] ; 8072afc 8072922: ee67 7a87 vmul.f32 s15, s15, s14 8072926: f507 638b add.w r3, r7, #1112 ; 0x458 807292a: edc3 7a00 vstr s15, [r3] if(f < 1.0f) f = 1.0f; 807292e: f507 638b add.w r3, r7, #1112 ; 0x458 8072932: edd3 7a00 vldr s15, [r3] 8072936: eeb7 7a00 vmov.f32 s14, #112 ; 0x3f800000 1.0 807293a: eef4 7ac7 vcmpe.f32 s15, s14 807293e: eef1 fa10 vmrs APSR_nzcv, fpscr 8072942: d504 bpl.n 807294e 8072944: f04f 537e mov.w r3, #1065353216 ; 0x3f800000 8072948: f507 628b add.w r2, r7, #1112 ; 0x458 807294c: 6013 str r3, [r2, #0] if(f > 125.0f) f = 125.0f; 807294e: f507 638b add.w r3, r7, #1112 ; 0x458 8072952: edd3 7a00 vldr s15, [r3] 8072956: ed9f 7a69 vldr s14, [pc, #420] ; 8072afc 807295a: eef4 7ac7 vcmpe.f32 s15, s14 807295e: eef1 fa10 vmrs APSR_nzcv, fpscr 8072962: dd03 ble.n 807296c 8072964: 4b66 ldr r3, [pc, #408] ; (8072b00 ) 8072966: f507 628b add.w r2, r7, #1112 ; 0x458 807296a: 6013 str r3, [r2, #0] ww = (uint16_t) f; 807296c: f507 638b add.w r3, r7, #1112 ; 0x458 8072970: edd3 7a00 vldr s15, [r3] 8072974: eefc 7ae7 vcvt.u32.f32 s15, s15 8072978: edc7 7a01 vstr s15, [r7, #4] 807297c: 88bb ldrh r3, [r7, #4] 807297e: f8a7 3412 strh.w r3, [r7, #1042] ; 0x412 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8072982: 4951 ldr r1, [pc, #324] ; (8072ac8 ) 8072984: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8072988: f7e0 ff10 bl 80537ac BSP_LCD_FillRect(127, 138, ww, 6); 807298c: f8b7 2412 ldrh.w r2, [r7, #1042] ; 0x412 8072990: 2306 movs r3, #6 8072992: 218a movs r1, #138 ; 0x8a 8072994: 207f movs r0, #127 ; 0x7f 8072996: f7e1 fb97 bl 80540c8 } } break; 807299a: f024 be02 b.w 80975a2 case VIEW_PORTRET: DrawLegend(); 807299e: f03a fcc7 bl 80ad330 DrawButtons(menupos); 80729a2: 4b4b ldr r3, [pc, #300] ; (8072ad0 ) 80729a4: 781b ldrb r3, [r3, #0] 80729a6: b2db uxtb r3, r3 80729a8: 4618 mov r0, r3 80729aa: f039 ff7f bl 80ac8ac BSP_LCD_SetFont(&Font12); 80729ae: 4855 ldr r0, [pc, #340] ; (8072b04 ) 80729b0: f7e0 ff38 bl 8053824 if(SeeResults) 80729b4: 4b4a ldr r3, [pc, #296] ; (8072ae0 ) 80729b6: 781b ldrb r3, [r3, #0] 80729b8: b2db uxtb r3, r3 80729ba: 2b00 cmp r3, #0 80729bc: d003 beq.n 80729c6 { DrawGraph(); 80729be: f033 fb57 bl 80a6070 DrawCursorData(); 80729c2: f031 f86d bl 80a3aa0 } DrawScaleValue(); 80729c6: f039 fa53 bl 80abe70 DrawAVS(); 80729ca: f03a ff0f bl 80ad7ec BSP_LCD_SetFont(&Font12); 80729ce: 484d ldr r0, [pc, #308] ; (8072b04 ) 80729d0: f7e0 ff28 bl 8053824 break; 80729d4: f024 be0e b.w 80975f4 * 10) Íåóðàâíîâåøåííîñòü ðîòîðà * 11) Äåôåêòû óçëîâ êðåïëåíèÿ * 12) Íåñîîñíîñòü */ DrawLegend(); 80729d8: f03a fcaa bl 80ad330 DrawButtons(Results); 80729dc: 2008 movs r0, #8 80729de: f039 ff65 bl 80ac8ac DrawGraph(); 80729e2: f033 fb45 bl 80a6070 DrawCursorData(); 80729e6: f031 f85b bl 80a3aa0 DrawScaleValue(); 80729ea: f039 fa41 bl 80abe70 DrawAVS(); 80729ee: f03a fefd bl 80ad7ec LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80729f2: 4935 ldr r1, [pc, #212] ; (8072ac8 ) 80729f4: f04f 30ff mov.w r0, #4294967295 80729f8: f7e0 fed8 bl 80537ac BSP_LCD_FillRect(25+10, 41+10, 267, 154); 80729fc: 239a movs r3, #154 ; 0x9a 80729fe: f240 120b movw r2, #267 ; 0x10b 8072a02: 2133 movs r1, #51 ; 0x33 8072a04: 2023 movs r0, #35 ; 0x23 8072a06: f7e1 fb5f bl 80540c8 LCD_SetColors(LCD_COLOR_BLACK, LCD_COLOR_BLACK); 8072a0a: 492f ldr r1, [pc, #188] ; (8072ac8 ) 8072a0c: 482e ldr r0, [pc, #184] ; (8072ac8 ) 8072a0e: f7e0 fecd bl 80537ac BSP_LCD_FillRect(27+10, 43+10, 263, 150); 8072a12: 2396 movs r3, #150 ; 0x96 8072a14: f240 1207 movw r2, #263 ; 0x107 8072a18: 2135 movs r1, #53 ; 0x35 8072a1a: 2025 movs r0, #37 ; 0x25 8072a1c: f7e1 fb54 bl 80540c8 BSP_LCD_SetFont(&Font12); 8072a20: 4838 ldr r0, [pc, #224] ; (8072b04 ) 8072a22: f7e0 feff bl 8053824 for(i = 0; i < NUM_DEFECTS; i++) 8072a26: 2300 movs r3, #0 8072a28: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 8072a2c: e045 b.n 8072aba { if(i == menupos) 8072a2e: 4b28 ldr r3, [pc, #160] ; (8072ad0 ) 8072a30: 781b ldrb r3, [r3, #0] 8072a32: b2db uxtb r3, r3 8072a34: 461a mov r2, r3 8072a36: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8072a3a: 429a cmp r2, r3 8072a3c: d103 bne.n 8072a46 j = 0xFF9DAD8E; 8072a3e: 4b32 ldr r3, [pc, #200] ; (8072b08 ) 8072a40: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 8072a44: e002 b.n 8072a4c else j = LCD_COLOR_CLEAR; 8072a46: 4b20 ldr r3, [pc, #128] ; (8072ac8 ) 8072a48: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc if(DEFECTS[i]) 8072a4c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8072a50: 4a2e ldr r2, [pc, #184] ; (8072b0c ) 8072a52: 5cd3 ldrb r3, [r2, r3] 8072a54: b2db uxtb r3, r3 8072a56: 2b00 cmp r3, #0 8072a58: d006 beq.n 8072a68 LCD_SetColors(0xFFF42817, j); 8072a5a: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 8072a5e: 4619 mov r1, r3 8072a60: 482b ldr r0, [pc, #172] ; (8072b10 ) 8072a62: f7e0 fea3 bl 80537ac 8072a66: e006 b.n 8072a76 else LCD_SetColors(LCD_COLOR_WHITE, j); 8072a68: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 8072a6c: 4619 mov r1, r3 8072a6e: f04f 30ff mov.w r0, #4294967295 8072a72: f7e0 fe9b bl 80537ac BSP_LCD_DisplayStringAt(34+10, 46+10 + 12*i, (char *) DEFECTS_STRING[pardata.LANG][i], LEFT_MODE); 8072a76: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8072a7a: b29b uxth r3, r3 8072a7c: 461a mov r2, r3 8072a7e: 0052 lsls r2, r2, #1 8072a80: 4413 add r3, r2 8072a82: 009b lsls r3, r3, #2 8072a84: b29b uxth r3, r3 8072a86: 3338 adds r3, #56 ; 0x38 8072a88: b29c uxth r4, r3 8072a8a: 4b1a ldr r3, [pc, #104] ; (8072af4 ) 8072a8c: 7b1b ldrb r3, [r3, #12] 8072a8e: b2db uxtb r3, r3 8072a90: 4618 mov r0, r3 8072a92: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 8072a96: 491f ldr r1, [pc, #124] ; (8072b14 ) 8072a98: 4603 mov r3, r0 8072a9a: 005b lsls r3, r3, #1 8072a9c: 4403 add r3, r0 8072a9e: 009b lsls r3, r3, #2 8072aa0: 4413 add r3, r2 8072aa2: f851 2023 ldr.w r2, [r1, r3, lsl #2] 8072aa6: 2303 movs r3, #3 8072aa8: 4621 mov r1, r4 8072aaa: 202c movs r0, #44 ; 0x2c 8072aac: f7e0 ff44 bl 8053938 for(i = 0; i < NUM_DEFECTS; i++) 8072ab0: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8072ab4: 3301 adds r3, #1 8072ab6: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 8072aba: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8072abe: 2b0b cmp r3, #11 8072ac0: d9b5 bls.n 8072a2e } break; 8072ac2: f024 bd97 b.w 80975f4 8072ac6: bf00 nop 8072ac8: ff0a0f1f .word 0xff0a0f1f 8072acc: 080cfae0 .word 0x080cfae0 8072ad0: 20020070 .word 0x20020070 8072ad4: ff29eb19 .word 0xff29eb19 8072ad8: 20021d20 .word 0x20021d20 8072adc: 20020da8 .word 0x20020da8 8072ae0: 20020d68 .word 0x20020d68 8072ae4: 20020daf .word 0x20020daf 8072ae8: 20020d7e .word 0x20020d7e 8072aec: 20020d88 .word 0x20020d88 8072af0: 20020db8 .word 0x20020db8 8072af4: 20023e60 .word 0x20023e60 8072af8: 080ef628 .word 0x080ef628 8072afc: 42fa0000 .word 0x42fa0000 8072b00: 42fa0000 .word 0x42fa0000 8072b04: 20020038 .word 0x20020038 8072b08: ff9dad8e .word 0xff9dad8e 8072b0c: 20026f10 .word 0x20026f10 8072b10: fff42817 .word 0xfff42817 8072b14: 2002061c .word 0x2002061c case MAIN_SPEC: case MAIN_SPEC_OGIB: ////////////////////////////////////////////////////////////////////////////////////////////// DrawLegend(); 8072b18: f03a fc0a bl 80ad330 DrawButtons(menupos); 8072b1c: 4baa ldr r3, [pc, #680] ; (8072dc8 ) 8072b1e: 781b ldrb r3, [r3, #0] 8072b20: b2db uxtb r3, r3 8072b22: 4618 mov r0, r3 8072b24: f039 fec2 bl 80ac8ac if(Stability > (Nr * 4)) 8072b28: 4ba8 ldr r3, [pc, #672] ; (8072dcc ) 8072b2a: 881b ldrh r3, [r3, #0] 8072b2c: b29b uxth r3, r3 8072b2e: 009b lsls r3, r3, #2 8072b30: 461a mov r2, r3 8072b32: 4ba7 ldr r3, [pc, #668] ; (8072dd0 ) 8072b34: 681b ldr r3, [r3, #0] 8072b36: 429a cmp r2, r3 8072b38: d20a bcs.n 8072b50 { DrawGraph(); 8072b3a: f033 fa99 bl 80a6070 if(READY_TO_SEE) 8072b3e: 4ba5 ldr r3, [pc, #660] ; (8072dd4 ) 8072b40: 781b ldrb r3, [r3, #0] 8072b42: b2db uxtb r3, r3 8072b44: 2b00 cmp r3, #0 8072b46: d001 beq.n 8072b4c DrawCursorData(); 8072b48: f030 ffaa bl 80a3aa0 DrawScaleValue(); 8072b4c: f039 f990 bl 80abe70 } if((measuring) && (!READY_TO_SEE)) 8072b50: 4ba1 ldr r3, [pc, #644] ; (8072dd8 ) 8072b52: 781b ldrb r3, [r3, #0] 8072b54: b2db uxtb r3, r3 8072b56: 2b00 cmp r3, #0 8072b58: f000 8086 beq.w 8072c68 8072b5c: 4b9d ldr r3, [pc, #628] ; (8072dd4 ) 8072b5e: 781b ldrb r3, [r3, #0] 8072b60: b2db uxtb r3, r3 8072b62: f083 0301 eor.w r3, r3, #1 8072b66: b2db uxtb r3, r3 8072b68: 2b00 cmp r3, #0 8072b6a: d07d beq.n 8072c68 { if(MeanCnt < AVG[pardata.AVG]) 8072b6c: 4b9b ldr r3, [pc, #620] ; (8072ddc ) 8072b6e: 7b5b ldrb r3, [r3, #13] 8072b70: b2db uxtb r3, r3 8072b72: 461a mov r2, r3 8072b74: 4b9a ldr r3, [pc, #616] ; (8072de0 ) 8072b76: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 8072b7a: 461a mov r2, r3 8072b7c: 4b99 ldr r3, [pc, #612] ; (8072de4 ) 8072b7e: 681b ldr r3, [r3, #0] 8072b80: 429a cmp r2, r3 8072b82: d971 bls.n 8072c68 { if((Flag_Set_KU == 0) && (Stability > (Nr * 4))) 8072b84: 4b98 ldr r3, [pc, #608] ; (8072de8 ) 8072b86: 781b ldrb r3, [r3, #0] 8072b88: b2db uxtb r3, r3 8072b8a: 2b00 cmp r3, #0 8072b8c: d16c bne.n 8072c68 8072b8e: 4b8f ldr r3, [pc, #572] ; (8072dcc ) 8072b90: 881b ldrh r3, [r3, #0] 8072b92: b29b uxth r3, r3 8072b94: 009b lsls r3, r3, #2 8072b96: 461a mov r2, r3 8072b98: 4b8d ldr r3, [pc, #564] ; (8072dd0 ) 8072b9a: 681b ldr r3, [r3, #0] 8072b9c: 429a cmp r2, r3 8072b9e: d263 bcs.n 8072c68 { uint16_t ww; LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8072ba0: 4992 ldr r1, [pc, #584] ; (8072dec ) 8072ba2: f04f 30ff mov.w r0, #4294967295 8072ba6: f7e0 fe01 bl 80537ac BSP_LCD_FillRect(126, 137, 127, 8); 8072baa: 2308 movs r3, #8 8072bac: 227f movs r2, #127 ; 0x7f 8072bae: 2189 movs r1, #137 ; 0x89 8072bb0: 207e movs r0, #126 ; 0x7e 8072bb2: f7e1 fa89 bl 80540c8 f = (float32_t) MeanCnt / (float32_t) AVG[pardata.AVG]; 8072bb6: 4b8b ldr r3, [pc, #556] ; (8072de4 ) 8072bb8: 681b ldr r3, [r3, #0] 8072bba: ee07 3a90 vmov s15, r3 8072bbe: eef8 6a67 vcvt.f32.u32 s13, s15 8072bc2: 4b86 ldr r3, [pc, #536] ; (8072ddc ) 8072bc4: 7b5b ldrb r3, [r3, #13] 8072bc6: b2db uxtb r3, r3 8072bc8: 461a mov r2, r3 8072bca: 4b85 ldr r3, [pc, #532] ; (8072de0 ) 8072bcc: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 8072bd0: ee07 3a90 vmov s15, r3 8072bd4: eeb8 7a67 vcvt.f32.u32 s14, s15 8072bd8: eec6 7a87 vdiv.f32 s15, s13, s14 8072bdc: f507 638b add.w r3, r7, #1112 ; 0x458 8072be0: edc3 7a00 vstr s15, [r3] f *= 125.0f; 8072be4: f507 638b add.w r3, r7, #1112 ; 0x458 8072be8: edd3 7a00 vldr s15, [r3] 8072bec: ed9f 7a80 vldr s14, [pc, #512] ; 8072df0 8072bf0: ee67 7a87 vmul.f32 s15, s15, s14 8072bf4: f507 638b add.w r3, r7, #1112 ; 0x458 8072bf8: edc3 7a00 vstr s15, [r3] if(f < 1.0f) f = 1.0f; 8072bfc: f507 638b add.w r3, r7, #1112 ; 0x458 8072c00: edd3 7a00 vldr s15, [r3] 8072c04: eeb7 7a00 vmov.f32 s14, #112 ; 0x3f800000 1.0 8072c08: eef4 7ac7 vcmpe.f32 s15, s14 8072c0c: eef1 fa10 vmrs APSR_nzcv, fpscr 8072c10: d504 bpl.n 8072c1c 8072c12: f04f 537e mov.w r3, #1065353216 ; 0x3f800000 8072c16: f507 628b add.w r2, r7, #1112 ; 0x458 8072c1a: 6013 str r3, [r2, #0] if(f > 125.0f) f = 125.0f; 8072c1c: f507 638b add.w r3, r7, #1112 ; 0x458 8072c20: edd3 7a00 vldr s15, [r3] 8072c24: ed9f 7a72 vldr s14, [pc, #456] ; 8072df0 8072c28: eef4 7ac7 vcmpe.f32 s15, s14 8072c2c: eef1 fa10 vmrs APSR_nzcv, fpscr 8072c30: dd03 ble.n 8072c3a 8072c32: 4b70 ldr r3, [pc, #448] ; (8072df4 ) 8072c34: f507 628b add.w r2, r7, #1112 ; 0x458 8072c38: 6013 str r3, [r2, #0] ww = (uint16_t) f; 8072c3a: f507 638b add.w r3, r7, #1112 ; 0x458 8072c3e: edd3 7a00 vldr s15, [r3] 8072c42: eefc 7ae7 vcvt.u32.f32 s15, s15 8072c46: edc7 7a01 vstr s15, [r7, #4] 8072c4a: 88bb ldrh r3, [r7, #4] 8072c4c: f8a7 3410 strh.w r3, [r7, #1040] ; 0x410 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8072c50: 4966 ldr r1, [pc, #408] ; (8072dec ) 8072c52: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8072c56: f7e0 fda9 bl 80537ac BSP_LCD_FillRect(127, 138, ww, 6); 8072c5a: f8b7 2410 ldrh.w r2, [r7, #1040] ; 0x410 8072c5e: 2306 movs r3, #6 8072c60: 218a movs r1, #138 ; 0x8a 8072c62: 207f movs r0, #127 ; 0x7f 8072c64: f7e1 fa30 bl 80540c8 BSP_LCD_DisplayStringAt(3, 46, "CK3,", LEFT_MODE); else BSP_LCD_DisplayStringAt(3, 46, "RMS,", LEFT_MODE); DrawRMS(); }*/ DrawAVS(); 8072c68: f03a fdc0 bl 80ad7ec break; 8072c6c: f024 bcc2 b.w 80975f4 case MAIN_SPEC_OKT: //TODO ////////////////////////////////////////////////////////////////////////////////////////// DrawLegend(); 8072c70: f03a fb5e bl 80ad330 DrawButtons(menupos); 8072c74: 4b54 ldr r3, [pc, #336] ; (8072dc8 ) 8072c76: 781b ldrb r3, [r3, #0] 8072c78: b2db uxtb r3, r3 8072c7a: 4618 mov r0, r3 8072c7c: f039 fe16 bl 80ac8ac if(Stability > (Nr * 4)) 8072c80: 4b52 ldr r3, [pc, #328] ; (8072dcc ) 8072c82: 881b ldrh r3, [r3, #0] 8072c84: b29b uxth r3, r3 8072c86: 009b lsls r3, r3, #2 8072c88: 461a mov r2, r3 8072c8a: 4b51 ldr r3, [pc, #324] ; (8072dd0 ) 8072c8c: 681b ldr r3, [r3, #0] 8072c8e: 429a cmp r2, r3 8072c90: d20d bcs.n 8072cae { DrawGraph(); 8072c92: f033 f9ed bl 80a6070 if(!firstOkt) 8072c96: 4b58 ldr r3, [pc, #352] ; (8072df8 ) 8072c98: 781b ldrb r3, [r3, #0] 8072c9a: b2db uxtb r3, r3 8072c9c: f083 0301 eor.w r3, r3, #1 8072ca0: b2db uxtb r3, r3 8072ca2: 2b00 cmp r3, #0 8072ca4: d001 beq.n 8072caa DrawCursorData(); 8072ca6: f030 fefb bl 80a3aa0 DrawScaleValue(); 8072caa: f039 f8e1 bl 80abe70 } ////////////////////////////////////////////////////////////////////////////////////////////// BSP_LCD_SetFont(&Font12); 8072cae: 4853 ldr r0, [pc, #332] ; (8072dfc ) 8072cb0: f7e0 fdb8 bl 8053824 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8072cb4: 494d ldr r1, [pc, #308] ; (8072dec ) 8072cb6: f04f 30ff mov.w r0, #4294967295 8072cba: f7e0 fd77 bl 80537ac /*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)) 8072cbe: 4b46 ldr r3, [pc, #280] ; (8072dd8 ) 8072cc0: 781b ldrb r3, [r3, #0] 8072cc2: b2db uxtb r3, r3 8072cc4: 2b00 cmp r3, #0 8072cc6: d07b beq.n 8072dc0 8072cc8: 4b4b ldr r3, [pc, #300] ; (8072df8 ) 8072cca: 781b ldrb r3, [r3, #0] 8072ccc: b2db uxtb r3, r3 8072cce: 2b00 cmp r3, #0 8072cd0: d076 beq.n 8072dc0 8072cd2: 4b4b ldr r3, [pc, #300] ; (8072e00 ) 8072cd4: 681b ldr r3, [r3, #0] 8072cd6: f1b3 3fff cmp.w r3, #4294967295 8072cda: d071 beq.n 8072dc0 { if((Flag_Set_KU == 0) && (Stability > (Nr * 4))) 8072cdc: 4b42 ldr r3, [pc, #264] ; (8072de8 ) 8072cde: 781b ldrb r3, [r3, #0] 8072ce0: b2db uxtb r3, r3 8072ce2: 2b00 cmp r3, #0 8072ce4: d16c bne.n 8072dc0 8072ce6: 4b39 ldr r3, [pc, #228] ; (8072dcc ) 8072ce8: 881b ldrh r3, [r3, #0] 8072cea: b29b uxth r3, r3 8072cec: 009b lsls r3, r3, #2 8072cee: 461a mov r2, r3 8072cf0: 4b37 ldr r3, [pc, #220] ; (8072dd0 ) 8072cf2: 681b ldr r3, [r3, #0] 8072cf4: 429a cmp r2, r3 8072cf6: d263 bcs.n 8072dc0 { uint16_t ww; LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8072cf8: 493c ldr r1, [pc, #240] ; (8072dec ) 8072cfa: f04f 30ff mov.w r0, #4294967295 8072cfe: f7e0 fd55 bl 80537ac BSP_LCD_FillRect(126, 137, 127, 8); 8072d02: 2308 movs r3, #8 8072d04: 227f movs r2, #127 ; 0x7f 8072d06: 2189 movs r1, #137 ; 0x89 8072d08: 207e movs r0, #126 ; 0x7e 8072d0a: f7e1 f9dd bl 80540c8 f = (float32_t) MeanCnt / (float32_t) AVG[pardata.AVG]; 8072d0e: 4b35 ldr r3, [pc, #212] ; (8072de4 ) 8072d10: 681b ldr r3, [r3, #0] 8072d12: ee07 3a90 vmov s15, r3 8072d16: eef8 6a67 vcvt.f32.u32 s13, s15 8072d1a: 4b30 ldr r3, [pc, #192] ; (8072ddc ) 8072d1c: 7b5b ldrb r3, [r3, #13] 8072d1e: b2db uxtb r3, r3 8072d20: 461a mov r2, r3 8072d22: 4b2f ldr r3, [pc, #188] ; (8072de0 ) 8072d24: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 8072d28: ee07 3a90 vmov s15, r3 8072d2c: eeb8 7a67 vcvt.f32.u32 s14, s15 8072d30: eec6 7a87 vdiv.f32 s15, s13, s14 8072d34: f507 638b add.w r3, r7, #1112 ; 0x458 8072d38: edc3 7a00 vstr s15, [r3] f *= 125.0f; 8072d3c: f507 638b add.w r3, r7, #1112 ; 0x458 8072d40: edd3 7a00 vldr s15, [r3] 8072d44: ed9f 7a2a vldr s14, [pc, #168] ; 8072df0 8072d48: ee67 7a87 vmul.f32 s15, s15, s14 8072d4c: f507 638b add.w r3, r7, #1112 ; 0x458 8072d50: edc3 7a00 vstr s15, [r3] if(f < 1.0f) f = 1.0f; 8072d54: f507 638b add.w r3, r7, #1112 ; 0x458 8072d58: edd3 7a00 vldr s15, [r3] 8072d5c: eeb7 7a00 vmov.f32 s14, #112 ; 0x3f800000 1.0 8072d60: eef4 7ac7 vcmpe.f32 s15, s14 8072d64: eef1 fa10 vmrs APSR_nzcv, fpscr 8072d68: d504 bpl.n 8072d74 8072d6a: f04f 537e mov.w r3, #1065353216 ; 0x3f800000 8072d6e: f507 628b add.w r2, r7, #1112 ; 0x458 8072d72: 6013 str r3, [r2, #0] if(f > 125.0f) f = 125.0f; 8072d74: f507 638b add.w r3, r7, #1112 ; 0x458 8072d78: edd3 7a00 vldr s15, [r3] 8072d7c: ed9f 7a1c vldr s14, [pc, #112] ; 8072df0 8072d80: eef4 7ac7 vcmpe.f32 s15, s14 8072d84: eef1 fa10 vmrs APSR_nzcv, fpscr 8072d88: dd03 ble.n 8072d92 8072d8a: 4b1a ldr r3, [pc, #104] ; (8072df4 ) 8072d8c: f507 628b add.w r2, r7, #1112 ; 0x458 8072d90: 6013 str r3, [r2, #0] ww = (uint16_t) f; 8072d92: f507 638b add.w r3, r7, #1112 ; 0x458 8072d96: edd3 7a00 vldr s15, [r3] 8072d9a: eefc 7ae7 vcvt.u32.f32 s15, s15 8072d9e: edc7 7a01 vstr s15, [r7, #4] 8072da2: 88bb ldrh r3, [r7, #4] 8072da4: f8a7 340e strh.w r3, [r7, #1038] ; 0x40e LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8072da8: 4910 ldr r1, [pc, #64] ; (8072dec ) 8072daa: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8072dae: f7e0 fcfd bl 80537ac BSP_LCD_FillRect(127, 138, ww, 6); 8072db2: f8b7 240e ldrh.w r2, [r7, #1038] ; 0x40e 8072db6: 2306 movs r3, #6 8072db8: 218a movs r1, #138 ; 0x8a 8072dba: 207f movs r0, #127 ; 0x7f 8072dbc: f7e1 f984 bl 80540c8 } } //DrawRMS(); DrawAVS(); 8072dc0: f03a fd14 bl 80ad7ec break; 8072dc4: f024 bc16 b.w 80975f4 8072dc8: 20020070 .word 0x20020070 8072dcc: 20021d20 .word 0x20021d20 8072dd0: 20020da8 .word 0x20020da8 8072dd4: 20020d8e .word 0x20020d8e 8072dd8: 20020daf .word 0x20020daf 8072ddc: 20023e60 .word 0x20023e60 8072de0: 080ef628 .word 0x080ef628 8072de4: 20020db8 .word 0x20020db8 8072de8: 20020d7e .word 0x20020d7e 8072dec: ff0a0f1f .word 0xff0a0f1f 8072df0: 42fa0000 .word 0x42fa0000 8072df4: 42fa0000 .word 0x42fa0000 8072df8: 20020d94 .word 0x20020d94 8072dfc: 20020038 .word 0x20020038 8072e00: 20020d88 .word 0x20020d88 case MAIN_SPEC_THIRD: //TODO ////////////////////////////////////////////////////////////////////////////////////////// DrawLegend(); 8072e04: f03a fa94 bl 80ad330 DrawButtons(menupos); 8072e08: 4bbd ldr r3, [pc, #756] ; (8073100 ) 8072e0a: 781b ldrb r3, [r3, #0] 8072e0c: b2db uxtb r3, r3 8072e0e: 4618 mov r0, r3 8072e10: f039 fd4c bl 80ac8ac if(Stability > (Nr * 4)) 8072e14: 4bbb ldr r3, [pc, #748] ; (8073104 ) 8072e16: 881b ldrh r3, [r3, #0] 8072e18: b29b uxth r3, r3 8072e1a: 009b lsls r3, r3, #2 8072e1c: 461a mov r2, r3 8072e1e: 4bba ldr r3, [pc, #744] ; (8073108 ) 8072e20: 681b ldr r3, [r3, #0] 8072e22: 429a cmp r2, r3 8072e24: d20d bcs.n 8072e42 { DrawGraph(); 8072e26: f033 f923 bl 80a6070 if(!firstOkt) 8072e2a: 4bb8 ldr r3, [pc, #736] ; (807310c ) 8072e2c: 781b ldrb r3, [r3, #0] 8072e2e: b2db uxtb r3, r3 8072e30: f083 0301 eor.w r3, r3, #1 8072e34: b2db uxtb r3, r3 8072e36: 2b00 cmp r3, #0 8072e38: d001 beq.n 8072e3e DrawCursorData(); 8072e3a: f030 fe31 bl 80a3aa0 DrawScaleValue(); 8072e3e: f039 f817 bl 80abe70 } ////////////////////////////////////////////////////////////////////////////////////////////// BSP_LCD_SetFont(&Font12); 8072e42: 48b3 ldr r0, [pc, #716] ; (8073110 ) 8072e44: f7e0 fcee bl 8053824 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8072e48: 49b2 ldr r1, [pc, #712] ; (8073114 ) 8072e4a: f04f 30ff mov.w r0, #4294967295 8072e4e: f7e0 fcad bl 80537ac /*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)) 8072e52: 4bb1 ldr r3, [pc, #708] ; (8073118 ) 8072e54: 781b ldrb r3, [r3, #0] 8072e56: b2db uxtb r3, r3 8072e58: 2b00 cmp r3, #0 8072e5a: d07b beq.n 8072f54 8072e5c: 4bab ldr r3, [pc, #684] ; (807310c ) 8072e5e: 781b ldrb r3, [r3, #0] 8072e60: b2db uxtb r3, r3 8072e62: 2b00 cmp r3, #0 8072e64: d076 beq.n 8072f54 8072e66: 4bad ldr r3, [pc, #692] ; (807311c ) 8072e68: 681b ldr r3, [r3, #0] 8072e6a: f1b3 3fff cmp.w r3, #4294967295 8072e6e: d071 beq.n 8072f54 { if((Flag_Set_KU == 0) && (Stability > (Nr * 4))) 8072e70: 4bab ldr r3, [pc, #684] ; (8073120 ) 8072e72: 781b ldrb r3, [r3, #0] 8072e74: b2db uxtb r3, r3 8072e76: 2b00 cmp r3, #0 8072e78: d16c bne.n 8072f54 8072e7a: 4ba2 ldr r3, [pc, #648] ; (8073104 ) 8072e7c: 881b ldrh r3, [r3, #0] 8072e7e: b29b uxth r3, r3 8072e80: 009b lsls r3, r3, #2 8072e82: 461a mov r2, r3 8072e84: 4ba0 ldr r3, [pc, #640] ; (8073108 ) 8072e86: 681b ldr r3, [r3, #0] 8072e88: 429a cmp r2, r3 8072e8a: d263 bcs.n 8072f54 { uint16_t ww; LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8072e8c: 49a1 ldr r1, [pc, #644] ; (8073114 ) 8072e8e: f04f 30ff mov.w r0, #4294967295 8072e92: f7e0 fc8b bl 80537ac BSP_LCD_FillRect(126, 137, 127, 8); 8072e96: 2308 movs r3, #8 8072e98: 227f movs r2, #127 ; 0x7f 8072e9a: 2189 movs r1, #137 ; 0x89 8072e9c: 207e movs r0, #126 ; 0x7e 8072e9e: f7e1 f913 bl 80540c8 f = (float32_t) MeanCnt / (float32_t) AVG[pardata.AVG]; 8072ea2: 4ba0 ldr r3, [pc, #640] ; (8073124 ) 8072ea4: 681b ldr r3, [r3, #0] 8072ea6: ee07 3a90 vmov s15, r3 8072eaa: eef8 6a67 vcvt.f32.u32 s13, s15 8072eae: 4b9e ldr r3, [pc, #632] ; (8073128 ) 8072eb0: 7b5b ldrb r3, [r3, #13] 8072eb2: b2db uxtb r3, r3 8072eb4: 461a mov r2, r3 8072eb6: 4b9d ldr r3, [pc, #628] ; (807312c ) 8072eb8: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 8072ebc: ee07 3a90 vmov s15, r3 8072ec0: eeb8 7a67 vcvt.f32.u32 s14, s15 8072ec4: eec6 7a87 vdiv.f32 s15, s13, s14 8072ec8: f507 638b add.w r3, r7, #1112 ; 0x458 8072ecc: edc3 7a00 vstr s15, [r3] f *= 125.0f; 8072ed0: f507 638b add.w r3, r7, #1112 ; 0x458 8072ed4: edd3 7a00 vldr s15, [r3] 8072ed8: ed9f 7a95 vldr s14, [pc, #596] ; 8073130 8072edc: ee67 7a87 vmul.f32 s15, s15, s14 8072ee0: f507 638b add.w r3, r7, #1112 ; 0x458 8072ee4: edc3 7a00 vstr s15, [r3] if(f < 1.0f) f = 1.0f; 8072ee8: f507 638b add.w r3, r7, #1112 ; 0x458 8072eec: edd3 7a00 vldr s15, [r3] 8072ef0: eeb7 7a00 vmov.f32 s14, #112 ; 0x3f800000 1.0 8072ef4: eef4 7ac7 vcmpe.f32 s15, s14 8072ef8: eef1 fa10 vmrs APSR_nzcv, fpscr 8072efc: d504 bpl.n 8072f08 8072efe: f04f 537e mov.w r3, #1065353216 ; 0x3f800000 8072f02: f507 628b add.w r2, r7, #1112 ; 0x458 8072f06: 6013 str r3, [r2, #0] if(f > 125.0f) f = 125.0f; 8072f08: f507 638b add.w r3, r7, #1112 ; 0x458 8072f0c: edd3 7a00 vldr s15, [r3] 8072f10: ed9f 7a87 vldr s14, [pc, #540] ; 8073130 8072f14: eef4 7ac7 vcmpe.f32 s15, s14 8072f18: eef1 fa10 vmrs APSR_nzcv, fpscr 8072f1c: dd03 ble.n 8072f26 8072f1e: 4b85 ldr r3, [pc, #532] ; (8073134 ) 8072f20: f507 628b add.w r2, r7, #1112 ; 0x458 8072f24: 6013 str r3, [r2, #0] ww = (uint16_t) f; 8072f26: f507 638b add.w r3, r7, #1112 ; 0x458 8072f2a: edd3 7a00 vldr s15, [r3] 8072f2e: eefc 7ae7 vcvt.u32.f32 s15, s15 8072f32: edc7 7a01 vstr s15, [r7, #4] 8072f36: 88bb ldrh r3, [r7, #4] 8072f38: f8a7 340c strh.w r3, [r7, #1036] ; 0x40c LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8072f3c: 4975 ldr r1, [pc, #468] ; (8073114 ) 8072f3e: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8072f42: f7e0 fc33 bl 80537ac BSP_LCD_FillRect(127, 138, ww, 6); 8072f46: f8b7 240c ldrh.w r2, [r7, #1036] ; 0x40c 8072f4a: 2306 movs r3, #6 8072f4c: 218a movs r1, #138 ; 0x8a 8072f4e: 207f movs r0, #127 ; 0x7f 8072f50: f7e1 f8ba bl 80540c8 } } //DrawRMS(); DrawAVS(); 8072f54: f03a fc4a bl 80ad7ec break; 8072f58: f024 bb4c b.w 80975f4 case MAIN_OSC: // /////////////////////////////////////////////////////////////////////////////////// DrawLegend(); 8072f5c: f03a f9e8 bl 80ad330 DrawButtons(menupos); 8072f60: 4b67 ldr r3, [pc, #412] ; (8073100 ) 8072f62: 781b ldrb r3, [r3, #0] 8072f64: b2db uxtb r3, r3 8072f66: 4618 mov r0, r3 8072f68: f039 fca0 bl 80ac8ac if((Threshold) || (Stability > (Nr * 4))) 8072f6c: 4b72 ldr r3, [pc, #456] ; (8073138 ) 8072f6e: 781b ldrb r3, [r3, #0] 8072f70: b2db uxtb r3, r3 8072f72: 2b00 cmp r3, #0 8072f74: d108 bne.n 8072f88 8072f76: 4b63 ldr r3, [pc, #396] ; (8073104 ) 8072f78: 881b ldrh r3, [r3, #0] 8072f7a: b29b uxth r3, r3 8072f7c: 009b lsls r3, r3, #2 8072f7e: 461a mov r2, r3 8072f80: 4b61 ldr r3, [pc, #388] ; (8073108 ) 8072f82: 681b ldr r3, [r3, #0] 8072f84: 429a cmp r2, r3 8072f86: d21e bcs.n 8072fc6 { if((pardata.IPR == ACC) || ((pardata.IPR > ACC) && (skz[pardata.IPR] != -1.0f))) 8072f88: 4b67 ldr r3, [pc, #412] ; (8073128 ) 8072f8a: 785b ldrb r3, [r3, #1] 8072f8c: b2db uxtb r3, r3 8072f8e: 2b00 cmp r3, #0 8072f90: d013 beq.n 8072fba 8072f92: 4b65 ldr r3, [pc, #404] ; (8073128 ) 8072f94: 785b ldrb r3, [r3, #1] 8072f96: b2db uxtb r3, r3 8072f98: 2b00 cmp r3, #0 8072f9a: d014 beq.n 8072fc6 8072f9c: 4b62 ldr r3, [pc, #392] ; (8073128 ) 8072f9e: 785b ldrb r3, [r3, #1] 8072fa0: b2db uxtb r3, r3 8072fa2: 4a66 ldr r2, [pc, #408] ; (807313c ) 8072fa4: 009b lsls r3, r3, #2 8072fa6: 4413 add r3, r2 8072fa8: edd3 7a00 vldr s15, [r3] 8072fac: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 8072fb0: eef4 7a47 vcmp.f32 s15, s14 8072fb4: eef1 fa10 vmrs APSR_nzcv, fpscr 8072fb8: d005 beq.n 8072fc6 { DrawGraph(); 8072fba: f033 f859 bl 80a6070 DrawCursorData(); 8072fbe: f030 fd6f bl 80a3aa0 DrawScaleValue(); 8072fc2: f038 ff55 bl 80abe70 } } /////////////////////////////////////////////////////////////////////////////////// BSP_LCD_SetFont(&Font12); 8072fc6: 4852 ldr r0, [pc, #328] ; (8073110 ) 8072fc8: f7e0 fc2c bl 8053824 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8072fcc: 4951 ldr r1, [pc, #324] ; (8073114 ) 8072fce: f04f 30ff mov.w r0, #4294967295 8072fd2: f7e0 fbeb bl 80537ac if(pardata.LANG == RUS) 8072fd6: 4b54 ldr r3, [pc, #336] ; (8073128 ) 8072fd8: 7b1b ldrb r3, [r3, #12] 8072fda: b2db uxtb r3, r3 8072fdc: 2b00 cmp r3, #0 8072fde: d106 bne.n 8072fee BSP_LCD_DisplayStringAt(3, 46, "CK3,", LEFT_MODE); 8072fe0: 2303 movs r3, #3 8072fe2: 4a57 ldr r2, [pc, #348] ; (8073140 ) 8072fe4: 212e movs r1, #46 ; 0x2e 8072fe6: 2003 movs r0, #3 8072fe8: f7e0 fca6 bl 8053938 8072fec: e005 b.n 8072ffa else BSP_LCD_DisplayStringAt(3, 46, "RMS,", LEFT_MODE); 8072fee: 2303 movs r3, #3 8072ff0: 4a54 ldr r2, [pc, #336] ; (8073144 ) 8072ff2: 212e movs r1, #46 ; 0x2e 8072ff4: 2003 movs r0, #3 8072ff6: f7e0 fc9f bl 8053938 if((pardata.IPR == ACC) || ((pardata.IPR > ACC) && (skz[pardata.IPR] != -1.0f))) { 8072ffa: 4b4b ldr r3, [pc, #300] ; (8073128 ) 8072ffc: 785b ldrb r3, [r3, #1] 8072ffe: b2db uxtb r3, r3 8073000: 2b00 cmp r3, #0 8073002: d013 beq.n 807302c 8073004: 4b48 ldr r3, [pc, #288] ; (8073128 ) 8073006: 785b ldrb r3, [r3, #1] 8073008: b2db uxtb r3, r3 807300a: 2b00 cmp r3, #0 807300c: d011 beq.n 8073032 807300e: 4b46 ldr r3, [pc, #280] ; (8073128 ) 8073010: 785b ldrb r3, [r3, #1] 8073012: b2db uxtb r3, r3 8073014: 4a49 ldr r2, [pc, #292] ; (807313c ) 8073016: 009b lsls r3, r3, #2 8073018: 4413 add r3, r2 807301a: edd3 7a00 vldr s15, [r3] 807301e: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 8073022: eef4 7a47 vcmp.f32 s15, s14 8073026: eef1 fa10 vmrs APSR_nzcv, fpscr 807302a: d002 beq.n 8073032 DrawRMS(); 807302c: f03a f9d2 bl 80ad3d4 8073030: e015 b.n 807305e } else { LCD_SetColors(LCD_COLOR_DARKYELLOW, LCD_COLOR_BLACK); 8073032: 4938 ldr r1, [pc, #224] ; (8073114 ) 8073034: 4844 ldr r0, [pc, #272] ; (8073148 ) 8073036: f7e0 fbb9 bl 80537ac if(pardata.LANG == RUS) 807303a: 4b3b ldr r3, [pc, #236] ; (8073128 ) 807303c: 7b1b ldrb r3, [r3, #12] 807303e: b2db uxtb r3, r3 8073040: 2b00 cmp r3, #0 8073042: d106 bne.n 8073052 BSP_LCD_DisplayStringAt(185, 123, "ÍÅÒ ÄÀÍÍÛÕ", CENTER_MODE); 8073044: 2301 movs r3, #1 8073046: 4a41 ldr r2, [pc, #260] ; (807314c ) 8073048: 217b movs r1, #123 ; 0x7b 807304a: 20b9 movs r0, #185 ; 0xb9 807304c: f7e0 fc74 bl 8053938 8073050: e005 b.n 807305e else BSP_LCD_DisplayStringAt(185, 123, "NO DATA", CENTER_MODE); 8073052: 2301 movs r3, #1 8073054: 4a3e ldr r2, [pc, #248] ; (8073150 ) 8073056: 217b movs r1, #123 ; 0x7b 8073058: 20b9 movs r0, #185 ; 0xb9 807305a: f7e0 fc6d bl 8053938 } DrawAVS(); 807305e: f03a fbc5 bl 80ad7ec break; 8073062: f024 bac7 b.w 80975f4 case MAIN_WAVE: LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 8073066: 492b ldr r1, [pc, #172] ; (8073114 ) 8073068: 483a ldr r0, [pc, #232] ; (8073154 ) 807306a: f7e0 fb9f bl 80537ac BSP_LCD_DrawRect(2, 35, 314, 201); 807306e: 23c9 movs r3, #201 ; 0xc9 8073070: f44f 729d mov.w r2, #314 ; 0x13a 8073074: 2123 movs r1, #35 ; 0x23 8073076: 2002 movs r0, #2 8073078: f7e0 fe9e bl 8053db8 BSP_LCD_SetFont(&Font12); 807307c: 4824 ldr r0, [pc, #144] ; (8073110 ) 807307e: f7e0 fbd1 bl 8053824 if(CardState == MSD_NOCARD) 8073082: 4b35 ldr r3, [pc, #212] ; (8073158 ) 8073084: 781b ldrb r3, [r3, #0] 8073086: b2db uxtb r3, r3 8073088: 2b00 cmp r3, #0 807308a: d11d bne.n 80730c8 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807308c: 4921 ldr r1, [pc, #132] ; (8073114 ) 807308e: f04f 30ff mov.w r0, #4294967295 8073092: f7e0 fb8b bl 80537ac if(pardata.LANG == RUS) 8073096: 4b24 ldr r3, [pc, #144] ; (8073128 ) 8073098: 7b1b ldrb r3, [r3, #12] 807309a: b2db uxtb r3, r3 807309c: 2b00 cmp r3, #0 807309e: d10c bne.n 80730ba { BSP_LCD_DisplayStringAt(165, 120, "Çàïèñü âðåìåííîãî ñèãíàëà íåâîçìîæíà!", CENTER_MODE); 80730a0: 2301 movs r3, #1 80730a2: 4a2e ldr r2, [pc, #184] ; (807315c ) 80730a4: 2178 movs r1, #120 ; 0x78 80730a6: 20a5 movs r0, #165 ; 0xa5 80730a8: f7e0 fc46 bl 8053938 BSP_LCD_DisplayStringAt(165, 135, "Îòñóòñòâóåò êàðòà ïàìÿòè!", CENTER_MODE); 80730ac: 2301 movs r3, #1 80730ae: 4a2c ldr r2, [pc, #176] ; (8073160 ) 80730b0: 2187 movs r1, #135 ; 0x87 80730b2: 20a5 movs r0, #165 ; 0xa5 80730b4: f7e0 fc40 bl 8053938 80730b8: e103 b.n 80732c2 } else { BSP_LCD_DisplayStringAt(165, 120, "Drive is not present!", CENTER_MODE); 80730ba: 2301 movs r3, #1 80730bc: 4a29 ldr r2, [pc, #164] ; (8073164 ) 80730be: 2178 movs r1, #120 ; 0x78 80730c0: 20a5 movs r0, #165 ; 0xa5 80730c2: f7e0 fc39 bl 8053938 80730c6: e0fc b.n 80732c2 } } else if(CardState == MSD_PRESENT) 80730c8: 4b23 ldr r3, [pc, #140] ; (8073158 ) 80730ca: 781b ldrb r3, [r3, #0] 80730cc: b2db uxtb r3, r3 80730ce: 2b01 cmp r3, #1 80730d0: d153 bne.n 807317a { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80730d2: 4910 ldr r1, [pc, #64] ; (8073114 ) 80730d4: f04f 30ff mov.w r0, #4294967295 80730d8: f7e0 fb68 bl 80537ac if(pardata.LANG == RUS) 80730dc: 4b12 ldr r3, [pc, #72] ; (8073128 ) 80730de: 7b1b ldrb r3, [r3, #12] 80730e0: b2db uxtb r3, r3 80730e2: 2b00 cmp r3, #0 80730e4: d142 bne.n 807316c { BSP_LCD_DisplayStringAt(165, 120, "Çàïèñü âðåìåííîãî ñèãíàëà íåâîçìîæíà!", CENTER_MODE); 80730e6: 2301 movs r3, #1 80730e8: 4a1c ldr r2, [pc, #112] ; (807315c ) 80730ea: 2178 movs r1, #120 ; 0x78 80730ec: 20a5 movs r0, #165 ; 0xa5 80730ee: f7e0 fc23 bl 8053938 BSP_LCD_DisplayStringAt(165, 135, "Îòñóòñòâóåò ôàéëîâàÿ ñèñòåìà!", CENTER_MODE); 80730f2: 2301 movs r3, #1 80730f4: 4a1c ldr r2, [pc, #112] ; (8073168 ) 80730f6: 2187 movs r1, #135 ; 0x87 80730f8: 20a5 movs r0, #165 ; 0xa5 80730fa: f7e0 fc1d bl 8053938 80730fe: e0e0 b.n 80732c2 8073100: 20020070 .word 0x20020070 8073104: 20021d20 .word 0x20021d20 8073108: 20020da8 .word 0x20020da8 807310c: 20020d94 .word 0x20020d94 8073110: 20020038 .word 0x20020038 8073114: ff0a0f1f .word 0xff0a0f1f 8073118: 20020daf .word 0x20020daf 807311c: 20020d88 .word 0x20020d88 8073120: 20020d7e .word 0x20020d7e 8073124: 20020db8 .word 0x20020db8 8073128: 20023e60 .word 0x20023e60 807312c: 080ef628 .word 0x080ef628 8073130: 42fa0000 .word 0x42fa0000 8073134: 42fa0000 .word 0x42fa0000 8073138: 20020db1 .word 0x20020db1 807313c: 20021540 .word 0x20021540 8073140: 080cfae4 .word 0x080cfae4 8073144: 080cfaec .word 0x080cfaec 8073148: ff808000 .word 0xff808000 807314c: 080cfaf4 .word 0x080cfaf4 8073150: 080cfb00 .word 0x080cfb00 8073154: ffd3d3d3 .word 0xffd3d3d3 8073158: 2002164c .word 0x2002164c 807315c: 080cfb08 .word 0x080cfb08 8073160: 080cfb30 .word 0x080cfb30 8073164: 080cfb4c .word 0x080cfb4c 8073168: 080cfb64 .word 0x080cfb64 } else { BSP_LCD_DisplayStringAt(165, 120, "File system is not found!", CENTER_MODE); 807316c: 2301 movs r3, #1 807316e: 4a70 ldr r2, [pc, #448] ; (8073330 ) 8073170: 2178 movs r1, #120 ; 0x78 8073172: 20a5 movs r0, #165 ; 0xa5 8073174: f7e0 fbe0 bl 8053938 8073178: e0a3 b.n 80732c2 } } else if(CardState == MSD_READY) 807317a: 4b6e ldr r3, [pc, #440] ; (8073334 ) 807317c: 781b ldrb r3, [r3, #0] 807317e: b2db uxtb r3, r3 8073180: 2b03 cmp r3, #3 8073182: f040 809e bne.w 80732c2 { if(IS_ROUTE == false) 8073186: 4b6c ldr r3, [pc, #432] ; (8073338 ) 8073188: 781b ldrb r3, [r3, #0] 807318a: b2db uxtb r3, r3 807318c: f083 0301 eor.w r3, r3, #1 8073190: b2db uxtb r3, r3 8073192: 2b00 cmp r3, #0 8073194: d009 beq.n 80731aa strcpy(str1, "//Records/"); 8073196: f507 73f6 add.w r3, r7, #492 ; 0x1ec 807319a: 4a68 ldr r2, [pc, #416] ; (807333c ) 807319c: ca07 ldmia r2, {r0, r1, r2} 807319e: c303 stmia r3!, {r0, r1} 80731a0: 801a strh r2, [r3, #0] 80731a2: 3302 adds r3, #2 80731a4: 0c12 lsrs r2, r2, #16 80731a6: 701a strb r2, [r3, #0] 80731a8: e025 b.n 80731f6 else { strcpy(str1, "../POINT "); 80731aa: f507 73f6 add.w r3, r7, #492 ; 0x1ec 80731ae: 4a64 ldr r2, [pc, #400] ; (8073340 ) 80731b0: ca07 ldmia r2, {r0, r1, r2} 80731b2: c303 stmia r3!, {r0, r1} 80731b4: 801a strh r2, [r3, #0] itoa(RoutePointID, &str1[strlen(str1)], 10); 80731b6: 4b63 ldr r3, [pc, #396] ; (8073344 ) 80731b8: 681b ldr r3, [r3, #0] 80731ba: 461c mov r4, r3 80731bc: f507 73f6 add.w r3, r7, #492 ; 0x1ec 80731c0: 4618 mov r0, r3 80731c2: f7ad f8a7 bl 8020314 80731c6: 4602 mov r2, r0 80731c8: f507 73f6 add.w r3, r7, #492 ; 0x1ec 80731cc: 4413 add r3, r2 80731ce: 220a movs r2, #10 80731d0: 4619 mov r1, r3 80731d2: 4620 mov r0, r4 80731d4: f059 ff0c bl 80ccff0 strcat(str1, "/"); 80731d8: f507 73f6 add.w r3, r7, #492 ; 0x1ec 80731dc: 4618 mov r0, r3 80731de: f7ad f899 bl 8020314 80731e2: 4603 mov r3, r0 80731e4: 461a mov r2, r3 80731e6: f507 73f6 add.w r3, r7, #492 ; 0x1ec 80731ea: 4413 add r3, r2 80731ec: 4956 ldr r1, [pc, #344] ; (8073348 ) 80731ee: 461a mov r2, r3 80731f0: 460b mov r3, r1 80731f2: 881b ldrh r3, [r3, #0] 80731f4: 8013 strh r3, [r2, #0] } if(strlen(WavFileName) > 0) 80731f6: 4b55 ldr r3, [pc, #340] ; (807334c ) 80731f8: 781b ldrb r3, [r3, #0] 80731fa: 2b00 cmp r3, #0 80731fc: d048 beq.n 8073290 { strcat(str1, WavFileName); 80731fe: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8073202: 4952 ldr r1, [pc, #328] ; (807334c ) 8073204: 4618 mov r0, r3 8073206: f05a f81f bl 80cd248 k = strcspn(str1, "\t\n."); 807320a: f507 73f6 add.w r3, r7, #492 ; 0x1ec 807320e: 4950 ldr r1, [pc, #320] ; (8073350 ) 8073210: 4618 mov r0, r3 8073212: f05a f83e bl 80cd292 8073216: 4603 mov r3, r0 8073218: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 str1[k] = '\0'; 807321c: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8073220: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8073224: 2100 movs r1, #0 8073226: 54d1 strb r1, [r2, r3] strcat(str1, "/"); 8073228: f507 73f6 add.w r3, r7, #492 ; 0x1ec 807322c: 4618 mov r0, r3 807322e: f7ad f871 bl 8020314 8073232: 4603 mov r3, r0 8073234: 461a mov r2, r3 8073236: f507 73f6 add.w r3, r7, #492 ; 0x1ec 807323a: 4413 add r3, r2 807323c: 4942 ldr r1, [pc, #264] ; (8073348 ) 807323e: 461a mov r2, r3 8073240: 460b mov r3, r1 8073242: 881b ldrh r3, [r3, #0] 8073244: 8013 strh r3, [r2, #0] if(Recording) 8073246: 4b43 ldr r3, [pc, #268] ; (8073354 ) 8073248: 781b ldrb r3, [r3, #0] 807324a: b2db uxtb r3, r3 807324c: 2b00 cmp r3, #0 807324e: d005 beq.n 807325c strcat(str1, RecordingName); 8073250: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8073254: 4940 ldr r1, [pc, #256] ; (8073358 ) 8073256: 4618 mov r0, r3 8073258: f059 fff6 bl 80cd248 k = strlen(str1); 807325c: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8073260: 4618 mov r0, r3 8073262: f7ad f857 bl 8020314 8073266: 4603 mov r3, r0 8073268: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 if(k > 31) 807326c: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8073270: 2b1f cmp r3, #31 8073272: d918 bls.n 80732a6 { str1[k - 1] = '~'; 8073274: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8073278: 3b01 subs r3, #1 807327a: f507 72f6 add.w r2, r7, #492 ; 0x1ec 807327e: 217e movs r1, #126 ; 0x7e 8073280: 54d1 strb r1, [r2, r3] str1[k] = '\0'; 8073282: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8073286: f507 72f6 add.w r2, r7, #492 ; 0x1ec 807328a: 2100 movs r1, #0 807328c: 54d1 strb r1, [r2, r3] 807328e: e00a b.n 80732a6 } } else { if(Recording) 8073290: 4b30 ldr r3, [pc, #192] ; (8073354 ) 8073292: 781b ldrb r3, [r3, #0] 8073294: b2db uxtb r3, r3 8073296: 2b00 cmp r3, #0 8073298: d005 beq.n 80732a6 strcat(str1, RecordingName); 807329a: f507 73f6 add.w r3, r7, #492 ; 0x1ec 807329e: 492e ldr r1, [pc, #184] ; (8073358 ) 80732a0: 4618 mov r0, r3 80732a2: f059 ffd1 bl 80cd248 } LCD_SetColors(LCD_COLOR_MYBROWN, LCD_COLOR_BLACK); 80732a6: 492d ldr r1, [pc, #180] ; (807335c ) 80732a8: 482d ldr r0, [pc, #180] ; (8073360 ) 80732aa: f7e0 fa7f bl 80537ac BSP_LCD_SetFont(&Font12); 80732ae: 482d ldr r0, [pc, #180] ; (8073364 ) 80732b0: f7e0 fab8 bl 8053824 BSP_LCD_DisplayStringAt(165, 40, str1, CENTER_MODE); 80732b4: f507 72f6 add.w r2, r7, #492 ; 0x1ec 80732b8: 2301 movs r3, #1 80732ba: 2128 movs r1, #40 ; 0x28 80732bc: 20a5 movs r0, #165 ; 0xa5 80732be: f7e0 fb3b bl 8053938 if(Threshold) 80732c2: 4b29 ldr r3, [pc, #164] ; (8073368 ) 80732c4: 781b ldrb r3, [r3, #0] 80732c6: b2db uxtb r3, r3 80732c8: 2b00 cmp r3, #0 80732ca: f000 8176 beq.w 80735ba { BSP_LCD_SetFont(&Font12); 80732ce: 4825 ldr r0, [pc, #148] ; (8073364 ) 80732d0: f7e0 faa8 bl 8053824 if(measuring) 80732d4: 4b25 ldr r3, [pc, #148] ; (807336c ) 80732d6: 781b ldrb r3, [r3, #0] 80732d8: b2db uxtb r3, r3 80732da: 2b00 cmp r3, #0 80732dc: f000 8144 beq.w 8073568 { if(Recording == false) 80732e0: 4b1c ldr r3, [pc, #112] ; (8073354 ) 80732e2: 781b ldrb r3, [r3, #0] 80732e4: b2db uxtb r3, r3 80732e6: f083 0301 eor.w r3, r3, #1 80732ea: b2db uxtb r3, r3 80732ec: 2b00 cmp r3, #0 80732ee: d045 beq.n 807337c { if(CardState == MSD_READY) 80732f0: 4b10 ldr r3, [pc, #64] ; (8073334 ) 80732f2: 781b ldrb r3, [r3, #0] 80732f4: b2db uxtb r3, r3 80732f6: 2b03 cmp r3, #3 80732f8: f064 8155 bne.w 80975a6 { LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_BLACK); 80732fc: 4917 ldr r1, [pc, #92] ; (807335c ) 80732fe: f06f 00ff mvn.w r0, #255 ; 0xff 8073302: f7e0 fa53 bl 80537ac if(pardata.LANG == RUS) 8073306: 4b1a ldr r3, [pc, #104] ; (8073370 ) 8073308: 7b1b ldrb r3, [r3, #12] 807330a: b2db uxtb r3, r3 807330c: 2b00 cmp r3, #0 807330e: d107 bne.n 8073320 { BSP_LCD_DisplayStringAt(165, 120, "Îæèäàíèå ïîðîãà ñðàáàòûâàíèÿ...", CENTER_MODE); 8073310: 2301 movs r3, #1 8073312: 4a18 ldr r2, [pc, #96] ; (8073374 ) 8073314: 2178 movs r1, #120 ; 0x78 8073316: 20a5 movs r0, #165 ; 0xa5 8073318: f7e0 fb0e bl 8053938 BSP_LCD_DisplayStringAt(165, 220, "To stop recording click [OK]...", CENTER_MODE); } break; } } break; 807331c: f024 b943 b.w 80975a6 BSP_LCD_DisplayStringAt(165, 120, "Waiting for trigger threshold...", CENTER_MODE); 8073320: 2301 movs r3, #1 8073322: 4a15 ldr r2, [pc, #84] ; (8073378 ) 8073324: 2178 movs r1, #120 ; 0x78 8073326: 20a5 movs r0, #165 ; 0xa5 8073328: f7e0 fb06 bl 8053938 break; 807332c: f024 b93b b.w 80975a6 8073330: 080cfb84 .word 0x080cfb84 8073334: 2002164c .word 0x2002164c 8073338: 20020db3 .word 0x20020db3 807333c: 080cfba0 .word 0x080cfba0 8073340: 080cfbac .word 0x080cfbac 8073344: 20020034 .word 0x20020034 8073348: 080cfbb8 .word 0x080cfbb8 807334c: 20020e34 .word 0x20020e34 8073350: 080cfbbc .word 0x080cfbbc 8073354: 20020db0 .word 0x20020db0 8073358: 20022328 .word 0x20022328 807335c: ff0a0f1f .word 0xff0a0f1f 8073360: ffd3b36e .word 0xffd3b36e 8073364: 20020038 .word 0x20020038 8073368: 20020db1 .word 0x20020db1 807336c: 20020daf .word 0x20020daf 8073370: 20023e60 .word 0x20023e60 8073374: 080cfbc0 .word 0x080cfbc0 8073378: 080cfbe0 .word 0x080cfbe0 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807337c: 49b2 ldr r1, [pc, #712] ; (8073648 ) 807337e: f04f 30ff mov.w r0, #4294967295 8073382: f7e0 fa13 bl 80537ac BSP_LCD_SetFont(&Font12); 8073386: 48b1 ldr r0, [pc, #708] ; (807364c ) 8073388: f7e0 fa4c bl 8053824 k = TimeRec; 807338c: 4bb0 ldr r3, [pc, #704] ; (8073650 ) 807338e: 681b ldr r3, [r3, #0] 8073390: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 if(k > TIMEREC[5][pardata.TME]) 8073394: 4baf ldr r3, [pc, #700] ; (8073654 ) 8073396: 7b9b ldrb r3, [r3, #14] 8073398: b2db uxtb r3, r3 807339a: 4aaf ldr r2, [pc, #700] ; (8073658 ) 807339c: 3337 adds r3, #55 ; 0x37 807339e: f852 2023 ldr.w r2, [r2, r3, lsl #2] 80733a2: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80733a6: 429a cmp r2, r3 80733a8: d208 bcs.n 80733bc k = TIMEREC[5][pardata.TME]; 80733aa: 4baa ldr r3, [pc, #680] ; (8073654 ) 80733ac: 7b9b ldrb r3, [r3, #14] 80733ae: b2db uxtb r3, r3 80733b0: 4aa9 ldr r2, [pc, #676] ; (8073658 ) 80733b2: 3337 adds r3, #55 ; 0x37 80733b4: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80733b8: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 Hours = ((k / Fs) / 60) / 60; 80733bc: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 80733c0: 4ba6 ldr r3, [pc, #664] ; (807365c ) 80733c2: 681b ldr r3, [r3, #0] 80733c4: fbb2 f3f3 udiv r3, r2, r3 80733c8: 4aa5 ldr r2, [pc, #660] ; (8073660 ) 80733ca: fba2 2303 umull r2, r3, r2, r3 80733ce: 0adb lsrs r3, r3, #11 80733d0: 4aa4 ldr r2, [pc, #656] ; (8073664 ) 80733d2: 6013 str r3, [r2, #0] Minutes = ((k / Fs) / 60) % 60; 80733d4: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 80733d8: 4ba0 ldr r3, [pc, #640] ; (807365c ) 80733da: 681b ldr r3, [r3, #0] 80733dc: fbb2 f3f3 udiv r3, r2, r3 80733e0: 4aa1 ldr r2, [pc, #644] ; (8073668 ) 80733e2: fba2 2303 umull r2, r3, r2, r3 80733e6: 0959 lsrs r1, r3, #5 80733e8: 4b9f ldr r3, [pc, #636] ; (8073668 ) 80733ea: fba3 2301 umull r2, r3, r3, r1 80733ee: 095a lsrs r2, r3, #5 80733f0: 4613 mov r3, r2 80733f2: 011b lsls r3, r3, #4 80733f4: 1a9b subs r3, r3, r2 80733f6: 009b lsls r3, r3, #2 80733f8: 1aca subs r2, r1, r3 80733fa: 4b9c ldr r3, [pc, #624] ; (807366c ) 80733fc: 601a str r2, [r3, #0] Seconds = (k / Fs) % 60; 80733fe: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8073402: 4b96 ldr r3, [pc, #600] ; (807365c ) 8073404: 681b ldr r3, [r3, #0] 8073406: fbb2 f1f3 udiv r1, r2, r3 807340a: 4b97 ldr r3, [pc, #604] ; (8073668 ) 807340c: fba3 2301 umull r2, r3, r3, r1 8073410: 095a lsrs r2, r3, #5 8073412: 4613 mov r3, r2 8073414: 011b lsls r3, r3, #4 8073416: 1a9b subs r3, r3, r2 8073418: 009b lsls r3, r3, #2 807341a: 1aca subs r2, r1, r3 807341c: 4b94 ldr r3, [pc, #592] ; (8073670 ) 807341e: 601a str r2, [r3, #0] str[0] = (Hours / 10) + 48; 8073420: 4b90 ldr r3, [pc, #576] ; (8073664 ) 8073422: 681b ldr r3, [r3, #0] 8073424: 4a93 ldr r2, [pc, #588] ; (8073674 ) 8073426: fba2 2303 umull r2, r3, r2, r3 807342a: 08db lsrs r3, r3, #3 807342c: b2db uxtb r3, r3 807342e: 3330 adds r3, #48 ; 0x30 8073430: b2da uxtb r2, r3 8073432: f507 733b add.w r3, r7, #748 ; 0x2ec 8073436: 701a strb r2, [r3, #0] str[1] = (Hours % 10) + 48; 8073438: 4b8a ldr r3, [pc, #552] ; (8073664 ) 807343a: 6819 ldr r1, [r3, #0] 807343c: 4b8d ldr r3, [pc, #564] ; (8073674 ) 807343e: fba3 2301 umull r2, r3, r3, r1 8073442: 08da lsrs r2, r3, #3 8073444: 4613 mov r3, r2 8073446: 009b lsls r3, r3, #2 8073448: 4413 add r3, r2 807344a: 005b lsls r3, r3, #1 807344c: 1aca subs r2, r1, r3 807344e: b2d3 uxtb r3, r2 8073450: 3330 adds r3, #48 ; 0x30 8073452: b2da uxtb r2, r3 8073454: f507 733b add.w r3, r7, #748 ; 0x2ec 8073458: 705a strb r2, [r3, #1] str[2] = ':'; 807345a: f507 733b add.w r3, r7, #748 ; 0x2ec 807345e: 223a movs r2, #58 ; 0x3a 8073460: 709a strb r2, [r3, #2] str[3] = (Minutes / 10) + 48; 8073462: 4b82 ldr r3, [pc, #520] ; (807366c ) 8073464: 681b ldr r3, [r3, #0] 8073466: 4a83 ldr r2, [pc, #524] ; (8073674 ) 8073468: fba2 2303 umull r2, r3, r2, r3 807346c: 08db lsrs r3, r3, #3 807346e: b2db uxtb r3, r3 8073470: 3330 adds r3, #48 ; 0x30 8073472: b2da uxtb r2, r3 8073474: f507 733b add.w r3, r7, #748 ; 0x2ec 8073478: 70da strb r2, [r3, #3] str[4] = (Minutes % 10) + 48; 807347a: 4b7c ldr r3, [pc, #496] ; (807366c ) 807347c: 6819 ldr r1, [r3, #0] 807347e: 4b7d ldr r3, [pc, #500] ; (8073674 ) 8073480: fba3 2301 umull r2, r3, r3, r1 8073484: 08da lsrs r2, r3, #3 8073486: 4613 mov r3, r2 8073488: 009b lsls r3, r3, #2 807348a: 4413 add r3, r2 807348c: 005b lsls r3, r3, #1 807348e: 1aca subs r2, r1, r3 8073490: b2d3 uxtb r3, r2 8073492: 3330 adds r3, #48 ; 0x30 8073494: b2da uxtb r2, r3 8073496: f507 733b add.w r3, r7, #748 ; 0x2ec 807349a: 711a strb r2, [r3, #4] str[5] = ':'; 807349c: f507 733b add.w r3, r7, #748 ; 0x2ec 80734a0: 223a movs r2, #58 ; 0x3a 80734a2: 715a strb r2, [r3, #5] str[6] = (Seconds / 10) + 48; 80734a4: 4b72 ldr r3, [pc, #456] ; (8073670 ) 80734a6: 681b ldr r3, [r3, #0] 80734a8: 4a72 ldr r2, [pc, #456] ; (8073674 ) 80734aa: fba2 2303 umull r2, r3, r2, r3 80734ae: 08db lsrs r3, r3, #3 80734b0: b2db uxtb r3, r3 80734b2: 3330 adds r3, #48 ; 0x30 80734b4: b2da uxtb r2, r3 80734b6: f507 733b add.w r3, r7, #748 ; 0x2ec 80734ba: 719a strb r2, [r3, #6] str[7] = (Seconds % 10) + 48; 80734bc: 4b6c ldr r3, [pc, #432] ; (8073670 ) 80734be: 6819 ldr r1, [r3, #0] 80734c0: 4b6c ldr r3, [pc, #432] ; (8073674 ) 80734c2: fba3 2301 umull r2, r3, r3, r1 80734c6: 08da lsrs r2, r3, #3 80734c8: 4613 mov r3, r2 80734ca: 009b lsls r3, r3, #2 80734cc: 4413 add r3, r2 80734ce: 005b lsls r3, r3, #1 80734d0: 1aca subs r2, r1, r3 80734d2: b2d3 uxtb r3, r2 80734d4: 3330 adds r3, #48 ; 0x30 80734d6: b2da uxtb r2, r3 80734d8: f507 733b add.w r3, r7, #748 ; 0x2ec 80734dc: 71da strb r2, [r3, #7] str[8] = '\0'; 80734de: f507 733b add.w r3, r7, #748 ; 0x2ec 80734e2: 2200 movs r2, #0 80734e4: 721a strb r2, [r3, #8] LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80734e6: 4958 ldr r1, [pc, #352] ; (8073648 ) 80734e8: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80734ec: f7e0 f95e bl 80537ac BSP_LCD_SetFont(&Font20); 80734f0: 4861 ldr r0, [pc, #388] ; (8073678 ) 80734f2: f7e0 f997 bl 8053824 BSP_LCD_DisplayStringAt(165, 120, str, CENTER_MODE); 80734f6: f507 723b add.w r2, r7, #748 ; 0x2ec 80734fa: 2301 movs r3, #1 80734fc: 2178 movs r1, #120 ; 0x78 80734fe: 20a5 movs r0, #165 ; 0xa5 8073500: f7e0 fa1a bl 8053938 if(old_second != Seconds) 8073504: 4b5d ldr r3, [pc, #372] ; (807367c ) 8073506: 681a ldr r2, [r3, #0] 8073508: 4b59 ldr r3, [pc, #356] ; (8073670 ) 807350a: 681b ldr r3, [r3, #0] 807350c: 429a cmp r2, r3 807350e: d004 beq.n 807351a DrawImage(&bmREC1, 151, 145); 8073510: 2291 movs r2, #145 ; 0x91 8073512: 2197 movs r1, #151 ; 0x97 8073514: 485a ldr r0, [pc, #360] ; (8073680 ) 8073516: f7e1 f83d bl 8054594 old_second = Seconds; 807351a: 4b55 ldr r3, [pc, #340] ; (8073670 ) 807351c: 681b ldr r3, [r3, #0] 807351e: 4a57 ldr r2, [pc, #348] ; (807367c ) 8073520: 6013 str r3, [r2, #0] BSP_LCD_SetFont(&Font12); 8073522: 484a ldr r0, [pc, #296] ; (807364c ) 8073524: f7e0 f97e bl 8053824 LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_BLACK); 8073528: 4947 ldr r1, [pc, #284] ; (8073648 ) 807352a: f06f 00ff mvn.w r0, #255 ; 0xff 807352e: f7e0 f93d bl 80537ac if(pardata.LANG == RUS) 8073532: 4b48 ldr r3, [pc, #288] ; (8073654 ) 8073534: 7b1b ldrb r3, [r3, #12] 8073536: b2db uxtb r3, r3 8073538: 2b00 cmp r3, #0 807353a: d10d bne.n 8073558 BSP_LCD_DisplayStringAt(165, 205, "×òîáû îñòàíîâèòü çàïèñü", CENTER_MODE); 807353c: 2301 movs r3, #1 807353e: 4a51 ldr r2, [pc, #324] ; (8073684 ) 8073540: 21cd movs r1, #205 ; 0xcd 8073542: 20a5 movs r0, #165 ; 0xa5 8073544: f7e0 f9f8 bl 8053938 BSP_LCD_DisplayStringAt(165, 220, "íàæìèòå êíîïêó [OK]...", CENTER_MODE); 8073548: 2301 movs r3, #1 807354a: 4a4f ldr r2, [pc, #316] ; (8073688 ) 807354c: 21dc movs r1, #220 ; 0xdc 807354e: 20a5 movs r0, #165 ; 0xa5 8073550: f7e0 f9f2 bl 8053938 break; 8073554: f024 b827 b.w 80975a6 BSP_LCD_DisplayStringAt(165, 220, "To stop recording click [OK]...", CENTER_MODE); 8073558: 2301 movs r3, #1 807355a: 4a4c ldr r2, [pc, #304] ; (807368c ) 807355c: 21dc movs r1, #220 ; 0xdc 807355e: 20a5 movs r0, #165 ; 0xa5 8073560: f7e0 f9ea bl 8053938 break; 8073564: f024 b81f b.w 80975a6 BSP_LCD_SetFont(&Font12); 8073568: 4838 ldr r0, [pc, #224] ; (807364c ) 807356a: f7e0 f95b bl 8053824 if(CardState == MSD_READY) 807356e: 4b48 ldr r3, [pc, #288] ; (8073690 ) 8073570: 781b ldrb r3, [r3, #0] 8073572: b2db uxtb r3, r3 8073574: 2b03 cmp r3, #3 8073576: f064 8016 bne.w 80975a6 LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_BLACK); 807357a: 4933 ldr r1, [pc, #204] ; (8073648 ) 807357c: f06f 00ff mvn.w r0, #255 ; 0xff 8073580: f7e0 f914 bl 80537ac if(pardata.LANG == RUS) 8073584: 4b33 ldr r3, [pc, #204] ; (8073654 ) 8073586: 7b1b ldrb r3, [r3, #12] 8073588: b2db uxtb r3, r3 807358a: 2b00 cmp r3, #0 807358c: d10d bne.n 80735aa BSP_LCD_DisplayStringAt(165, 120, "×òîáû íà÷àòü çàïèñü", CENTER_MODE); 807358e: 2301 movs r3, #1 8073590: 4a40 ldr r2, [pc, #256] ; (8073694 ) 8073592: 2178 movs r1, #120 ; 0x78 8073594: 20a5 movs r0, #165 ; 0xa5 8073596: f7e0 f9cf bl 8053938 BSP_LCD_DisplayStringAt(165, 135, "íàæìèòå êíîïêó [OK]...", CENTER_MODE); 807359a: 2301 movs r3, #1 807359c: 4a3a ldr r2, [pc, #232] ; (8073688 ) 807359e: 2187 movs r1, #135 ; 0x87 80735a0: 20a5 movs r0, #165 ; 0xa5 80735a2: f7e0 f9c9 bl 8053938 break; 80735a6: f023 bffe b.w 80975a6 BSP_LCD_DisplayStringAt(165, 120, "To start recording click [OK]...", CENTER_MODE); 80735aa: 2301 movs r3, #1 80735ac: 4a3a ldr r2, [pc, #232] ; (8073698 ) 80735ae: 2178 movs r1, #120 ; 0x78 80735b0: 20a5 movs r0, #165 ; 0xa5 80735b2: f7e0 f9c1 bl 8053938 break; 80735b6: f023 bff6 b.w 80975a6 switch(menupos) 80735ba: 4b38 ldr r3, [pc, #224] ; (807369c ) 80735bc: 781b ldrb r3, [r3, #0] 80735be: b2db uxtb r3, r3 80735c0: 2b04 cmp r3, #4 80735c2: f223 87f0 bhi.w 80975a6 80735c6: a201 add r2, pc, #4 ; (adr r2, 80735cc ) 80735c8: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80735cc: 08073923 .word 0x08073923 80735d0: 080735e1 .word 0x080735e1 80735d4: 080739e9 .word 0x080739e9 80735d8: 08073a43 .word 0x08073a43 80735dc: 08073895 .word 0x08073895 if(oldmenupos == ReadyRec) 80735e0: 4b2f ldr r3, [pc, #188] ; (80736a0 ) 80735e2: 781b ldrb r3, [r3, #0] 80735e4: b2db uxtb r3, r3 80735e6: 2b03 cmp r3, #3 80735e8: f040 834d bne.w 8073c86 if(Recording == false) 80735ec: 4b2d ldr r3, [pc, #180] ; (80736a4 ) 80735ee: 781b ldrb r3, [r3, #0] 80735f0: b2db uxtb r3, r3 80735f2: f083 0301 eor.w r3, r3, #1 80735f6: b2db uxtb r3, r3 80735f8: 2b00 cmp r3, #0 80735fa: d057 beq.n 80736ac if(CardState == MSD_READY) 80735fc: 4b24 ldr r3, [pc, #144] ; (8073690 ) 80735fe: 781b ldrb r3, [r3, #0] 8073600: b2db uxtb r3, r3 8073602: 2b03 cmp r3, #3 8073604: f040 833f bne.w 8073c86 BSP_LCD_SetFont(&Font12); 8073608: 4810 ldr r0, [pc, #64] ; (807364c ) 807360a: f7e0 f90b bl 8053824 LCD_SetColors(LCD_COLOR_VIBGREEN, LCD_COLOR_BLACK); 807360e: 490e ldr r1, [pc, #56] ; (8073648 ) 8073610: 4825 ldr r0, [pc, #148] ; (80736a8 ) 8073612: f7e0 f8cb bl 80537ac if(pardata.LANG == RUS) 8073616: 4b0f ldr r3, [pc, #60] ; (8073654 ) 8073618: 7b1b ldrb r3, [r3, #12] 807361a: b2db uxtb r3, r3 807361c: 2b00 cmp r3, #0 807361e: d10c bne.n 807363a BSP_LCD_DisplayStringAt(165, 120, "×òîáû íà÷àòü çàïèñü", CENTER_MODE); 8073620: 2301 movs r3, #1 8073622: 4a1c ldr r2, [pc, #112] ; (8073694 ) 8073624: 2178 movs r1, #120 ; 0x78 8073626: 20a5 movs r0, #165 ; 0xa5 8073628: f7e0 f986 bl 8053938 BSP_LCD_DisplayStringAt(165, 135, "íàæìèòå êíîïêó [OK]...", CENTER_MODE); 807362c: 2301 movs r3, #1 807362e: 4a16 ldr r2, [pc, #88] ; (8073688 ) 8073630: 2187 movs r1, #135 ; 0x87 8073632: 20a5 movs r0, #165 ; 0xa5 8073634: f7e0 f980 bl 8053938 break; 8073638: e325 b.n 8073c86 BSP_LCD_DisplayStringAt(165, 120, "To start recording click [OK]...", CENTER_MODE); 807363a: 2301 movs r3, #1 807363c: 4a16 ldr r2, [pc, #88] ; (8073698 ) 807363e: 2178 movs r1, #120 ; 0x78 8073640: 20a5 movs r0, #165 ; 0xa5 8073642: f7e0 f979 bl 8053938 break; 8073646: e31e b.n 8073c86 8073648: ff0a0f1f .word 0xff0a0f1f 807364c: 20020038 .word 0x20020038 8073650: 20021684 .word 0x20021684 8073654: 20023e60 .word 0x20023e60 8073658: 080ef4c0 .word 0x080ef4c0 807365c: 20021d1c .word 0x20021d1c 8073660: 91a2b3c5 .word 0x91a2b3c5 8073664: 2002163c .word 0x2002163c 8073668: 88888889 .word 0x88888889 807366c: 20021640 .word 0x20021640 8073670: 20021644 .word 0x20021644 8073674: cccccccd .word 0xcccccccd 8073678: 20020050 .word 0x20020050 807367c: 20021664 .word 0x20021664 8073680: 08144410 .word 0x08144410 8073684: 080cfc04 .word 0x080cfc04 8073688: 080cfc1c .word 0x080cfc1c 807368c: 080cfc34 .word 0x080cfc34 8073690: 2002164c .word 0x2002164c 8073694: 080cfc54 .word 0x080cfc54 8073698: 080cfc68 .word 0x080cfc68 807369c: 20020070 .word 0x20020070 80736a0: 20020f7a .word 0x20020f7a 80736a4: 20020db0 .word 0x20020db0 80736a8: ff29eb19 .word 0xff29eb19 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80736ac: 49b6 ldr r1, [pc, #728] ; (8073988 ) 80736ae: f04f 30ff mov.w r0, #4294967295 80736b2: f7e0 f87b bl 80537ac BSP_LCD_SetFont(&Font12); 80736b6: 48b5 ldr r0, [pc, #724] ; (807398c ) 80736b8: f7e0 f8b4 bl 8053824 k = TimeRec; 80736bc: 4bb4 ldr r3, [pc, #720] ; (8073990 ) 80736be: 681b ldr r3, [r3, #0] 80736c0: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 if(k > TIMEREC[5][pardata.TME]) 80736c4: 4bb3 ldr r3, [pc, #716] ; (8073994 ) 80736c6: 7b9b ldrb r3, [r3, #14] 80736c8: b2db uxtb r3, r3 80736ca: 4ab3 ldr r2, [pc, #716] ; (8073998 ) 80736cc: 3337 adds r3, #55 ; 0x37 80736ce: f852 2023 ldr.w r2, [r2, r3, lsl #2] 80736d2: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80736d6: 429a cmp r2, r3 80736d8: d208 bcs.n 80736ec k = TIMEREC[5][pardata.TME]; 80736da: 4bae ldr r3, [pc, #696] ; (8073994 ) 80736dc: 7b9b ldrb r3, [r3, #14] 80736de: b2db uxtb r3, r3 80736e0: 4aad ldr r2, [pc, #692] ; (8073998 ) 80736e2: 3337 adds r3, #55 ; 0x37 80736e4: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80736e8: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 Hours = ((k / Fs) / 60) / 60; 80736ec: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 80736f0: 4baa ldr r3, [pc, #680] ; (807399c ) 80736f2: 681b ldr r3, [r3, #0] 80736f4: fbb2 f3f3 udiv r3, r2, r3 80736f8: 4aa9 ldr r2, [pc, #676] ; (80739a0 ) 80736fa: fba2 2303 umull r2, r3, r2, r3 80736fe: 0adb lsrs r3, r3, #11 8073700: 4aa8 ldr r2, [pc, #672] ; (80739a4 ) 8073702: 6013 str r3, [r2, #0] Minutes = ((k / Fs) / 60) % 60; 8073704: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8073708: 4ba4 ldr r3, [pc, #656] ; (807399c ) 807370a: 681b ldr r3, [r3, #0] 807370c: fbb2 f3f3 udiv r3, r2, r3 8073710: 4aa5 ldr r2, [pc, #660] ; (80739a8 ) 8073712: fba2 2303 umull r2, r3, r2, r3 8073716: 0959 lsrs r1, r3, #5 8073718: 4ba3 ldr r3, [pc, #652] ; (80739a8 ) 807371a: fba3 2301 umull r2, r3, r3, r1 807371e: 095a lsrs r2, r3, #5 8073720: 4613 mov r3, r2 8073722: 011b lsls r3, r3, #4 8073724: 1a9b subs r3, r3, r2 8073726: 009b lsls r3, r3, #2 8073728: 1aca subs r2, r1, r3 807372a: 4ba0 ldr r3, [pc, #640] ; (80739ac ) 807372c: 601a str r2, [r3, #0] Seconds = (k / Fs) % 60; 807372e: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8073732: 4b9a ldr r3, [pc, #616] ; (807399c ) 8073734: 681b ldr r3, [r3, #0] 8073736: fbb2 f1f3 udiv r1, r2, r3 807373a: 4b9b ldr r3, [pc, #620] ; (80739a8 ) 807373c: fba3 2301 umull r2, r3, r3, r1 8073740: 095a lsrs r2, r3, #5 8073742: 4613 mov r3, r2 8073744: 011b lsls r3, r3, #4 8073746: 1a9b subs r3, r3, r2 8073748: 009b lsls r3, r3, #2 807374a: 1aca subs r2, r1, r3 807374c: 4b98 ldr r3, [pc, #608] ; (80739b0 ) 807374e: 601a str r2, [r3, #0] str[0] = (Hours / 10) + 48; 8073750: 4b94 ldr r3, [pc, #592] ; (80739a4 ) 8073752: 681b ldr r3, [r3, #0] 8073754: 4a97 ldr r2, [pc, #604] ; (80739b4 ) 8073756: fba2 2303 umull r2, r3, r2, r3 807375a: 08db lsrs r3, r3, #3 807375c: b2db uxtb r3, r3 807375e: 3330 adds r3, #48 ; 0x30 8073760: b2da uxtb r2, r3 8073762: f507 733b add.w r3, r7, #748 ; 0x2ec 8073766: 701a strb r2, [r3, #0] str[1] = (Hours % 10) + 48; 8073768: 4b8e ldr r3, [pc, #568] ; (80739a4 ) 807376a: 6819 ldr r1, [r3, #0] 807376c: 4b91 ldr r3, [pc, #580] ; (80739b4 ) 807376e: fba3 2301 umull r2, r3, r3, r1 8073772: 08da lsrs r2, r3, #3 8073774: 4613 mov r3, r2 8073776: 009b lsls r3, r3, #2 8073778: 4413 add r3, r2 807377a: 005b lsls r3, r3, #1 807377c: 1aca subs r2, r1, r3 807377e: b2d3 uxtb r3, r2 8073780: 3330 adds r3, #48 ; 0x30 8073782: b2da uxtb r2, r3 8073784: f507 733b add.w r3, r7, #748 ; 0x2ec 8073788: 705a strb r2, [r3, #1] str[2] = ':'; 807378a: f507 733b add.w r3, r7, #748 ; 0x2ec 807378e: 223a movs r2, #58 ; 0x3a 8073790: 709a strb r2, [r3, #2] str[3] = (Minutes / 10) + 48; 8073792: 4b86 ldr r3, [pc, #536] ; (80739ac ) 8073794: 681b ldr r3, [r3, #0] 8073796: 4a87 ldr r2, [pc, #540] ; (80739b4 ) 8073798: fba2 2303 umull r2, r3, r2, r3 807379c: 08db lsrs r3, r3, #3 807379e: b2db uxtb r3, r3 80737a0: 3330 adds r3, #48 ; 0x30 80737a2: b2da uxtb r2, r3 80737a4: f507 733b add.w r3, r7, #748 ; 0x2ec 80737a8: 70da strb r2, [r3, #3] str[4] = (Minutes % 10) + 48; 80737aa: 4b80 ldr r3, [pc, #512] ; (80739ac ) 80737ac: 6819 ldr r1, [r3, #0] 80737ae: 4b81 ldr r3, [pc, #516] ; (80739b4 ) 80737b0: fba3 2301 umull r2, r3, r3, r1 80737b4: 08da lsrs r2, r3, #3 80737b6: 4613 mov r3, r2 80737b8: 009b lsls r3, r3, #2 80737ba: 4413 add r3, r2 80737bc: 005b lsls r3, r3, #1 80737be: 1aca subs r2, r1, r3 80737c0: b2d3 uxtb r3, r2 80737c2: 3330 adds r3, #48 ; 0x30 80737c4: b2da uxtb r2, r3 80737c6: f507 733b add.w r3, r7, #748 ; 0x2ec 80737ca: 711a strb r2, [r3, #4] str[5] = ':'; 80737cc: f507 733b add.w r3, r7, #748 ; 0x2ec 80737d0: 223a movs r2, #58 ; 0x3a 80737d2: 715a strb r2, [r3, #5] str[6] = (Seconds / 10) + 48; 80737d4: 4b76 ldr r3, [pc, #472] ; (80739b0 ) 80737d6: 681b ldr r3, [r3, #0] 80737d8: 4a76 ldr r2, [pc, #472] ; (80739b4 ) 80737da: fba2 2303 umull r2, r3, r2, r3 80737de: 08db lsrs r3, r3, #3 80737e0: b2db uxtb r3, r3 80737e2: 3330 adds r3, #48 ; 0x30 80737e4: b2da uxtb r2, r3 80737e6: f507 733b add.w r3, r7, #748 ; 0x2ec 80737ea: 719a strb r2, [r3, #6] str[7] = (Seconds % 10) + 48; 80737ec: 4b70 ldr r3, [pc, #448] ; (80739b0 ) 80737ee: 6819 ldr r1, [r3, #0] 80737f0: 4b70 ldr r3, [pc, #448] ; (80739b4 ) 80737f2: fba3 2301 umull r2, r3, r3, r1 80737f6: 08da lsrs r2, r3, #3 80737f8: 4613 mov r3, r2 80737fa: 009b lsls r3, r3, #2 80737fc: 4413 add r3, r2 80737fe: 005b lsls r3, r3, #1 8073800: 1aca subs r2, r1, r3 8073802: b2d3 uxtb r3, r2 8073804: 3330 adds r3, #48 ; 0x30 8073806: b2da uxtb r2, r3 8073808: f507 733b add.w r3, r7, #748 ; 0x2ec 807380c: 71da strb r2, [r3, #7] str[8] = '\0'; 807380e: f507 733b add.w r3, r7, #748 ; 0x2ec 8073812: 2200 movs r2, #0 8073814: 721a strb r2, [r3, #8] LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8073816: 495c ldr r1, [pc, #368] ; (8073988 ) 8073818: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807381c: f7df ffc6 bl 80537ac BSP_LCD_SetFont(&Font20); 8073820: 4865 ldr r0, [pc, #404] ; (80739b8 ) 8073822: f7df ffff bl 8053824 BSP_LCD_DisplayStringAt(165, 120, str, CENTER_MODE); 8073826: f507 723b add.w r2, r7, #748 ; 0x2ec 807382a: 2301 movs r3, #1 807382c: 2178 movs r1, #120 ; 0x78 807382e: 20a5 movs r0, #165 ; 0xa5 8073830: f7e0 f882 bl 8053938 if(old_second != Seconds) 8073834: 4b61 ldr r3, [pc, #388] ; (80739bc ) 8073836: 681a ldr r2, [r3, #0] 8073838: 4b5d ldr r3, [pc, #372] ; (80739b0 ) 807383a: 681b ldr r3, [r3, #0] 807383c: 429a cmp r2, r3 807383e: d004 beq.n 807384a DrawImage(&bmREC1, 151, 145); 8073840: 2291 movs r2, #145 ; 0x91 8073842: 2197 movs r1, #151 ; 0x97 8073844: 485e ldr r0, [pc, #376] ; (80739c0 ) 8073846: f7e0 fea5 bl 8054594 old_second = Seconds; 807384a: 4b59 ldr r3, [pc, #356] ; (80739b0 ) 807384c: 681b ldr r3, [r3, #0] 807384e: 4a5b ldr r2, [pc, #364] ; (80739bc ) 8073850: 6013 str r3, [r2, #0] BSP_LCD_SetFont(&Font12); 8073852: 484e ldr r0, [pc, #312] ; (807398c ) 8073854: f7df ffe6 bl 8053824 LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_BLACK); 8073858: 494b ldr r1, [pc, #300] ; (8073988 ) 807385a: f06f 00ff mvn.w r0, #255 ; 0xff 807385e: f7df ffa5 bl 80537ac if(pardata.LANG == RUS) 8073862: 4b4c ldr r3, [pc, #304] ; (8073994 ) 8073864: 7b1b ldrb r3, [r3, #12] 8073866: b2db uxtb r3, r3 8073868: 2b00 cmp r3, #0 807386a: d10c bne.n 8073886 BSP_LCD_DisplayStringAt(165, 205, "×òîáû îñòàíîâèòü çàïèñü", CENTER_MODE); 807386c: 2301 movs r3, #1 807386e: 4a55 ldr r2, [pc, #340] ; (80739c4 ) 8073870: 21cd movs r1, #205 ; 0xcd 8073872: 20a5 movs r0, #165 ; 0xa5 8073874: f7e0 f860 bl 8053938 BSP_LCD_DisplayStringAt(165, 220, "íàæìèòå êíîïêó [OK]...", CENTER_MODE); 8073878: 2301 movs r3, #1 807387a: 4a53 ldr r2, [pc, #332] ; (80739c8 ) 807387c: 21dc movs r1, #220 ; 0xdc 807387e: 20a5 movs r0, #165 ; 0xa5 8073880: f7e0 f85a bl 8053938 break; 8073884: e1ff b.n 8073c86 BSP_LCD_DisplayStringAt(165, 220, "To stop recording click [OK]...", CENTER_MODE); 8073886: 2301 movs r3, #1 8073888: 4a50 ldr r2, [pc, #320] ; (80739cc ) 807388a: 21dc movs r1, #220 ; 0xdc 807388c: 20a5 movs r0, #165 ; 0xa5 807388e: f7e0 f853 bl 8053938 break; 8073892: e1f8 b.n 8073c86 BSP_LCD_SetFont(&Font12); 8073894: 483d ldr r0, [pc, #244] ; (807398c ) 8073896: f7df ffc5 bl 8053824 if(CardState == MSD_READY) 807389a: 4b4d ldr r3, [pc, #308] ; (80739d0 ) 807389c: 781b ldrb r3, [r3, #0] 807389e: b2db uxtb r3, r3 80738a0: 2b03 cmp r3, #3 80738a2: f040 81f3 bne.w 8073c8c if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 80738a6: 4b3b ldr r3, [pc, #236] ; (8073994 ) 80738a8: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80738ac: f003 0304 and.w r3, r3, #4 80738b0: 2b00 cmp r3, #0 80738b2: d104 bne.n 80738be LCD_SetColors(LCD_COLOR_VIBGREEN, LCD_COLOR_BLACK); 80738b4: 4934 ldr r1, [pc, #208] ; (8073988 ) 80738b6: 4847 ldr r0, [pc, #284] ; (80739d4 ) 80738b8: f7df ff78 bl 80537ac 80738bc: e004 b.n 80738c8 else LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_BLACK); 80738be: 4932 ldr r1, [pc, #200] ; (8073988 ) 80738c0: f06f 00ff mvn.w r0, #255 ; 0xff 80738c4: f7df ff72 bl 80537ac if(pardata.LANG == RUS) 80738c8: 4b32 ldr r3, [pc, #200] ; (8073994 ) 80738ca: 7b1b ldrb r3, [r3, #12] 80738cc: b2db uxtb r3, r3 80738ce: 2b00 cmp r3, #0 80738d0: d120 bne.n 8073914 BSP_LCD_DisplayStringAt(165, 120, "f= Ãö", CENTER_MODE); 80738d2: 2301 movs r3, #1 80738d4: 4a40 ldr r2, [pc, #256] ; (80739d8 ) 80738d6: 2178 movs r1, #120 ; 0x78 80738d8: 20a5 movs r0, #165 ; 0xa5 80738da: f7e0 f82d bl 8053938 if(FreqFran) 80738de: 4b3f ldr r3, [pc, #252] ; (80739dc ) 80738e0: edd3 7a00 vldr s15, [r3] 80738e4: eef5 7a40 vcmp.f32 s15, #0.0 80738e8: eef1 fa10 vmrs APSR_nzcv, fpscr 80738ec: d00f beq.n 807390e BSP_LCD_DisplayStringAt(170, 120, (char *) FloatToASCII(FreqFran, -3), CENTER_MODE); 80738ee: 4b3b ldr r3, [pc, #236] ; (80739dc ) 80738f0: edd3 7a00 vldr s15, [r3] 80738f4: f06f 0002 mvn.w r0, #2 80738f8: eeb0 0a67 vmov.f32 s0, s15 80738fc: f7f2 ff00 bl 8066700 8073900: 4602 mov r2, r0 8073902: 2301 movs r3, #1 8073904: 2178 movs r1, #120 ; 0x78 8073906: 20aa movs r0, #170 ; 0xaa 8073908: f7e0 f816 bl 8053938 break; 807390c: e1be b.n 8073c8c DrawSpinner(); 807390e: f024 f9c7 bl 8097ca0 break; 8073912: e1bb b.n 8073c8c BSP_LCD_DisplayStringAt(165, 120, "To start recording click [OK]...", CENTER_MODE); 8073914: 2301 movs r3, #1 8073916: 4a32 ldr r2, [pc, #200] ; (80739e0 ) 8073918: 2178 movs r1, #120 ; 0x78 807391a: 20a5 movs r0, #165 ; 0xa5 807391c: f7e0 f80c bl 8053938 break; 8073920: e1b4 b.n 8073c8c BSP_LCD_SetFont(&Font12); 8073922: 481a ldr r0, [pc, #104] ; (807398c ) 8073924: f7df ff7e bl 8053824 if(CardState == MSD_READY) 8073928: 4b29 ldr r3, [pc, #164] ; (80739d0 ) 807392a: 781b ldrb r3, [r3, #0] 807392c: b2db uxtb r3, r3 807392e: 2b03 cmp r3, #3 8073930: f040 81af bne.w 8073c92 if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 8073934: 4b17 ldr r3, [pc, #92] ; (8073994 ) 8073936: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 807393a: f003 0304 and.w r3, r3, #4 807393e: 2b00 cmp r3, #0 8073940: d104 bne.n 807394c LCD_SetColors(LCD_COLOR_VIBGREEN, LCD_COLOR_BLACK); 8073942: 4911 ldr r1, [pc, #68] ; (8073988 ) 8073944: 4823 ldr r0, [pc, #140] ; (80739d4 ) 8073946: f7df ff31 bl 80537ac 807394a: e004 b.n 8073956 else LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_BLACK); 807394c: 490e ldr r1, [pc, #56] ; (8073988 ) 807394e: f06f 00ff mvn.w r0, #255 ; 0xff 8073952: f7df ff2b bl 80537ac if(pardata.LANG == RUS) 8073956: 4b0f ldr r3, [pc, #60] ; (8073994 ) 8073958: 7b1b ldrb r3, [r3, #12] 807395a: b2db uxtb r3, r3 807395c: 2b00 cmp r3, #0 807395e: d10c bne.n 807397a BSP_LCD_DisplayStringAt(165, 120, "×òîáû íà÷àòü çàïèñü", CENTER_MODE); 8073960: 2301 movs r3, #1 8073962: 4a20 ldr r2, [pc, #128] ; (80739e4 ) 8073964: 2178 movs r1, #120 ; 0x78 8073966: 20a5 movs r0, #165 ; 0xa5 8073968: f7df ffe6 bl 8053938 BSP_LCD_DisplayStringAt(165, 135, "íàæìèòå êíîïêó [OK]...", CENTER_MODE); 807396c: 2301 movs r3, #1 807396e: 4a16 ldr r2, [pc, #88] ; (80739c8 ) 8073970: 2187 movs r1, #135 ; 0x87 8073972: 20a5 movs r0, #165 ; 0xa5 8073974: f7df ffe0 bl 8053938 break; 8073978: e18b b.n 8073c92 BSP_LCD_DisplayStringAt(165, 120, "To start recording click [OK]...", CENTER_MODE); 807397a: 2301 movs r3, #1 807397c: 4a18 ldr r2, [pc, #96] ; (80739e0 ) 807397e: 2178 movs r1, #120 ; 0x78 8073980: 20a5 movs r0, #165 ; 0xa5 8073982: f7df ffd9 bl 8053938 break; 8073986: e184 b.n 8073c92 8073988: ff0a0f1f .word 0xff0a0f1f 807398c: 20020038 .word 0x20020038 8073990: 20021684 .word 0x20021684 8073994: 20023e60 .word 0x20023e60 8073998: 080ef4c0 .word 0x080ef4c0 807399c: 20021d1c .word 0x20021d1c 80739a0: 91a2b3c5 .word 0x91a2b3c5 80739a4: 2002163c .word 0x2002163c 80739a8: 88888889 .word 0x88888889 80739ac: 20021640 .word 0x20021640 80739b0: 20021644 .word 0x20021644 80739b4: cccccccd .word 0xcccccccd 80739b8: 20020050 .word 0x20020050 80739bc: 20021664 .word 0x20021664 80739c0: 08144410 .word 0x08144410 80739c4: 080cfc04 .word 0x080cfc04 80739c8: 080cfc1c .word 0x080cfc1c 80739cc: 080cfc34 .word 0x080cfc34 80739d0: 2002164c .word 0x2002164c 80739d4: ff29eb19 .word 0xff29eb19 80739d8: 080cfc8c .word 0x080cfc8c 80739dc: 20021564 .word 0x20021564 80739e0: 080cfc68 .word 0x080cfc68 80739e4: 080cfc54 .word 0x080cfc54 if(CardState == MSD_READY) 80739e8: 4bb2 ldr r3, [pc, #712] ; (8073cb4 ) 80739ea: 781b ldrb r3, [r3, #0] 80739ec: b2db uxtb r3, r3 80739ee: 2b03 cmp r3, #3 80739f0: f040 8152 bne.w 8073c98 BSP_LCD_SetFont(&Font12); 80739f4: 48b0 ldr r0, [pc, #704] ; (8073cb8 ) 80739f6: f7df ff15 bl 8053824 LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_BLACK); 80739fa: 49b0 ldr r1, [pc, #704] ; (8073cbc ) 80739fc: f06f 00ff mvn.w r0, #255 ; 0xff 8073a00: f7df fed4 bl 80537ac if(pardata.LANG == RUS) 8073a04: 4bae ldr r3, [pc, #696] ; (8073cc0 ) 8073a06: 7b1b ldrb r3, [r3, #12] 8073a08: b2db uxtb r3, r3 8073a0a: 2b00 cmp r3, #0 8073a0c: d10c bne.n 8073a28 BSP_LCD_DisplayStringAt(165, 120, "Àâòîìàòè÷åñêèé ïîäáîð êîýôôèöèåíòà", CENTER_MODE); 8073a0e: 2301 movs r3, #1 8073a10: 4aac ldr r2, [pc, #688] ; (8073cc4 ) 8073a12: 2178 movs r1, #120 ; 0x78 8073a14: 20a5 movs r0, #165 ; 0xa5 8073a16: f7df ff8f bl 8053938 BSP_LCD_DisplayStringAt(165, 135, "óñèëåíèÿ. Æäèòå...", CENTER_MODE); 8073a1a: 2301 movs r3, #1 8073a1c: 4aaa ldr r2, [pc, #680] ; (8073cc8 ) 8073a1e: 2187 movs r1, #135 ; 0x87 8073a20: 20a5 movs r0, #165 ; 0xa5 8073a22: f7df ff89 bl 8053938 break; 8073a26: e137 b.n 8073c98 BSP_LCD_DisplayStringAt(165, 120, "Automatic gain selection.", CENTER_MODE); 8073a28: 2301 movs r3, #1 8073a2a: 4aa8 ldr r2, [pc, #672] ; (8073ccc ) 8073a2c: 2178 movs r1, #120 ; 0x78 8073a2e: 20a5 movs r0, #165 ; 0xa5 8073a30: f7df ff82 bl 8053938 BSP_LCD_DisplayStringAt(165, 135, "Please wait...", CENTER_MODE); 8073a34: 2301 movs r3, #1 8073a36: 4aa6 ldr r2, [pc, #664] ; (8073cd0 ) 8073a38: 2187 movs r1, #135 ; 0x87 8073a3a: 20a5 movs r0, #165 ; 0xa5 8073a3c: f7df ff7c bl 8053938 break; 8073a40: e12a b.n 8073c98 if(Recording == false) 8073a42: 4ba4 ldr r3, [pc, #656] ; (8073cd4 ) 8073a44: 781b ldrb r3, [r3, #0] 8073a46: b2db uxtb r3, r3 8073a48: f083 0301 eor.w r3, r3, #1 8073a4c: b2db uxtb r3, r3 8073a4e: 2b00 cmp r3, #0 8073a50: d025 beq.n 8073a9e if(CardState == MSD_READY) 8073a52: 4b98 ldr r3, [pc, #608] ; (8073cb4 ) 8073a54: 781b ldrb r3, [r3, #0] 8073a56: b2db uxtb r3, r3 8073a58: 2b03 cmp r3, #3 8073a5a: f040 8120 bne.w 8073c9e BSP_LCD_SetFont(&Font12); 8073a5e: 4896 ldr r0, [pc, #600] ; (8073cb8 ) 8073a60: f7df fee0 bl 8053824 LCD_SetColors(LCD_COLOR_VIBGREEN, LCD_COLOR_BLACK); 8073a64: 4995 ldr r1, [pc, #596] ; (8073cbc ) 8073a66: 489c ldr r0, [pc, #624] ; (8073cd8 ) 8073a68: f7df fea0 bl 80537ac if(pardata.LANG == RUS) 8073a6c: 4b94 ldr r3, [pc, #592] ; (8073cc0 ) 8073a6e: 7b1b ldrb r3, [r3, #12] 8073a70: b2db uxtb r3, r3 8073a72: 2b00 cmp r3, #0 8073a74: d10c bne.n 8073a90 BSP_LCD_DisplayStringAt(165, 120, "×òîáû íà÷àòü çàïèñü", CENTER_MODE); 8073a76: 2301 movs r3, #1 8073a78: 4a98 ldr r2, [pc, #608] ; (8073cdc ) 8073a7a: 2178 movs r1, #120 ; 0x78 8073a7c: 20a5 movs r0, #165 ; 0xa5 8073a7e: f7df ff5b bl 8053938 BSP_LCD_DisplayStringAt(165, 135, "íàæìèòå êíîïêó [OK]...", CENTER_MODE); 8073a82: 2301 movs r3, #1 8073a84: 4a96 ldr r2, [pc, #600] ; (8073ce0 ) 8073a86: 2187 movs r1, #135 ; 0x87 8073a88: 20a5 movs r0, #165 ; 0xa5 8073a8a: f7df ff55 bl 8053938 break; 8073a8e: e106 b.n 8073c9e BSP_LCD_DisplayStringAt(165, 120, "To start recording click [OK]...", CENTER_MODE); 8073a90: 2301 movs r3, #1 8073a92: 4a94 ldr r2, [pc, #592] ; (8073ce4 ) 8073a94: 2178 movs r1, #120 ; 0x78 8073a96: 20a5 movs r0, #165 ; 0xa5 8073a98: f7df ff4e bl 8053938 break; 8073a9c: e0ff b.n 8073c9e LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8073a9e: 4987 ldr r1, [pc, #540] ; (8073cbc ) 8073aa0: f04f 30ff mov.w r0, #4294967295 8073aa4: f7df fe82 bl 80537ac BSP_LCD_SetFont(&Font12); 8073aa8: 4883 ldr r0, [pc, #524] ; (8073cb8 ) 8073aaa: f7df febb bl 8053824 k = TimeRec; 8073aae: 4b8e ldr r3, [pc, #568] ; (8073ce8 ) 8073ab0: 681b ldr r3, [r3, #0] 8073ab2: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 if(k > TIMEREC[5][pardata.TME]) 8073ab6: 4b82 ldr r3, [pc, #520] ; (8073cc0 ) 8073ab8: 7b9b ldrb r3, [r3, #14] 8073aba: b2db uxtb r3, r3 8073abc: 4a8b ldr r2, [pc, #556] ; (8073cec ) 8073abe: 3337 adds r3, #55 ; 0x37 8073ac0: f852 2023 ldr.w r2, [r2, r3, lsl #2] 8073ac4: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8073ac8: 429a cmp r2, r3 8073aca: d208 bcs.n 8073ade k = TIMEREC[5][pardata.TME]; 8073acc: 4b7c ldr r3, [pc, #496] ; (8073cc0 ) 8073ace: 7b9b ldrb r3, [r3, #14] 8073ad0: b2db uxtb r3, r3 8073ad2: 4a86 ldr r2, [pc, #536] ; (8073cec ) 8073ad4: 3337 adds r3, #55 ; 0x37 8073ad6: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8073ada: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 Hours = ((k / Fs) / 60) / 60; 8073ade: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8073ae2: 4b83 ldr r3, [pc, #524] ; (8073cf0 ) 8073ae4: 681b ldr r3, [r3, #0] 8073ae6: fbb2 f3f3 udiv r3, r2, r3 8073aea: 4a82 ldr r2, [pc, #520] ; (8073cf4 ) 8073aec: fba2 2303 umull r2, r3, r2, r3 8073af0: 0adb lsrs r3, r3, #11 8073af2: 4a81 ldr r2, [pc, #516] ; (8073cf8 ) 8073af4: 6013 str r3, [r2, #0] Minutes = ((k / Fs) / 60) % 60; 8073af6: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8073afa: 4b7d ldr r3, [pc, #500] ; (8073cf0 ) 8073afc: 681b ldr r3, [r3, #0] 8073afe: fbb2 f3f3 udiv r3, r2, r3 8073b02: 4a7e ldr r2, [pc, #504] ; (8073cfc ) 8073b04: fba2 2303 umull r2, r3, r2, r3 8073b08: 0959 lsrs r1, r3, #5 8073b0a: 4b7c ldr r3, [pc, #496] ; (8073cfc ) 8073b0c: fba3 2301 umull r2, r3, r3, r1 8073b10: 095a lsrs r2, r3, #5 8073b12: 4613 mov r3, r2 8073b14: 011b lsls r3, r3, #4 8073b16: 1a9b subs r3, r3, r2 8073b18: 009b lsls r3, r3, #2 8073b1a: 1aca subs r2, r1, r3 8073b1c: 4b78 ldr r3, [pc, #480] ; (8073d00 ) 8073b1e: 601a str r2, [r3, #0] Seconds = (k / Fs) % 60; 8073b20: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8073b24: 4b72 ldr r3, [pc, #456] ; (8073cf0 ) 8073b26: 681b ldr r3, [r3, #0] 8073b28: fbb2 f1f3 udiv r1, r2, r3 8073b2c: 4b73 ldr r3, [pc, #460] ; (8073cfc ) 8073b2e: fba3 2301 umull r2, r3, r3, r1 8073b32: 095a lsrs r2, r3, #5 8073b34: 4613 mov r3, r2 8073b36: 011b lsls r3, r3, #4 8073b38: 1a9b subs r3, r3, r2 8073b3a: 009b lsls r3, r3, #2 8073b3c: 1aca subs r2, r1, r3 8073b3e: 4b71 ldr r3, [pc, #452] ; (8073d04 ) 8073b40: 601a str r2, [r3, #0] str[0] = (Hours / 10) + 48; 8073b42: 4b6d ldr r3, [pc, #436] ; (8073cf8 ) 8073b44: 681b ldr r3, [r3, #0] 8073b46: 4a70 ldr r2, [pc, #448] ; (8073d08 ) 8073b48: fba2 2303 umull r2, r3, r2, r3 8073b4c: 08db lsrs r3, r3, #3 8073b4e: b2db uxtb r3, r3 8073b50: 3330 adds r3, #48 ; 0x30 8073b52: b2da uxtb r2, r3 8073b54: f507 733b add.w r3, r7, #748 ; 0x2ec 8073b58: 701a strb r2, [r3, #0] str[1] = (Hours % 10) + 48; 8073b5a: 4b67 ldr r3, [pc, #412] ; (8073cf8 ) 8073b5c: 6819 ldr r1, [r3, #0] 8073b5e: 4b6a ldr r3, [pc, #424] ; (8073d08 ) 8073b60: fba3 2301 umull r2, r3, r3, r1 8073b64: 08da lsrs r2, r3, #3 8073b66: 4613 mov r3, r2 8073b68: 009b lsls r3, r3, #2 8073b6a: 4413 add r3, r2 8073b6c: 005b lsls r3, r3, #1 8073b6e: 1aca subs r2, r1, r3 8073b70: b2d3 uxtb r3, r2 8073b72: 3330 adds r3, #48 ; 0x30 8073b74: b2da uxtb r2, r3 8073b76: f507 733b add.w r3, r7, #748 ; 0x2ec 8073b7a: 705a strb r2, [r3, #1] str[2] = ':'; 8073b7c: f507 733b add.w r3, r7, #748 ; 0x2ec 8073b80: 223a movs r2, #58 ; 0x3a 8073b82: 709a strb r2, [r3, #2] str[3] = (Minutes / 10) + 48; 8073b84: 4b5e ldr r3, [pc, #376] ; (8073d00 ) 8073b86: 681b ldr r3, [r3, #0] 8073b88: 4a5f ldr r2, [pc, #380] ; (8073d08 ) 8073b8a: fba2 2303 umull r2, r3, r2, r3 8073b8e: 08db lsrs r3, r3, #3 8073b90: b2db uxtb r3, r3 8073b92: 3330 adds r3, #48 ; 0x30 8073b94: b2da uxtb r2, r3 8073b96: f507 733b add.w r3, r7, #748 ; 0x2ec 8073b9a: 70da strb r2, [r3, #3] str[4] = (Minutes % 10) + 48; 8073b9c: 4b58 ldr r3, [pc, #352] ; (8073d00 ) 8073b9e: 6819 ldr r1, [r3, #0] 8073ba0: 4b59 ldr r3, [pc, #356] ; (8073d08 ) 8073ba2: fba3 2301 umull r2, r3, r3, r1 8073ba6: 08da lsrs r2, r3, #3 8073ba8: 4613 mov r3, r2 8073baa: 009b lsls r3, r3, #2 8073bac: 4413 add r3, r2 8073bae: 005b lsls r3, r3, #1 8073bb0: 1aca subs r2, r1, r3 8073bb2: b2d3 uxtb r3, r2 8073bb4: 3330 adds r3, #48 ; 0x30 8073bb6: b2da uxtb r2, r3 8073bb8: f507 733b add.w r3, r7, #748 ; 0x2ec 8073bbc: 711a strb r2, [r3, #4] str[5] = ':'; 8073bbe: f507 733b add.w r3, r7, #748 ; 0x2ec 8073bc2: 223a movs r2, #58 ; 0x3a 8073bc4: 715a strb r2, [r3, #5] str[6] = (Seconds / 10) + 48; 8073bc6: 4b4f ldr r3, [pc, #316] ; (8073d04 ) 8073bc8: 681b ldr r3, [r3, #0] 8073bca: 4a4f ldr r2, [pc, #316] ; (8073d08 ) 8073bcc: fba2 2303 umull r2, r3, r2, r3 8073bd0: 08db lsrs r3, r3, #3 8073bd2: b2db uxtb r3, r3 8073bd4: 3330 adds r3, #48 ; 0x30 8073bd6: b2da uxtb r2, r3 8073bd8: f507 733b add.w r3, r7, #748 ; 0x2ec 8073bdc: 719a strb r2, [r3, #6] str[7] = (Seconds % 10) + 48; 8073bde: 4b49 ldr r3, [pc, #292] ; (8073d04 ) 8073be0: 6819 ldr r1, [r3, #0] 8073be2: 4b49 ldr r3, [pc, #292] ; (8073d08 ) 8073be4: fba3 2301 umull r2, r3, r3, r1 8073be8: 08da lsrs r2, r3, #3 8073bea: 4613 mov r3, r2 8073bec: 009b lsls r3, r3, #2 8073bee: 4413 add r3, r2 8073bf0: 005b lsls r3, r3, #1 8073bf2: 1aca subs r2, r1, r3 8073bf4: b2d3 uxtb r3, r2 8073bf6: 3330 adds r3, #48 ; 0x30 8073bf8: b2da uxtb r2, r3 8073bfa: f507 733b add.w r3, r7, #748 ; 0x2ec 8073bfe: 71da strb r2, [r3, #7] str[8] = '\0'; 8073c00: f507 733b add.w r3, r7, #748 ; 0x2ec 8073c04: 2200 movs r2, #0 8073c06: 721a strb r2, [r3, #8] LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8073c08: 492c ldr r1, [pc, #176] ; (8073cbc ) 8073c0a: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8073c0e: f7df fdcd bl 80537ac BSP_LCD_SetFont(&Font20); 8073c12: 483e ldr r0, [pc, #248] ; (8073d0c ) 8073c14: f7df fe06 bl 8053824 BSP_LCD_DisplayStringAt(165, 120, str, CENTER_MODE); 8073c18: f507 723b add.w r2, r7, #748 ; 0x2ec 8073c1c: 2301 movs r3, #1 8073c1e: 2178 movs r1, #120 ; 0x78 8073c20: 20a5 movs r0, #165 ; 0xa5 8073c22: f7df fe89 bl 8053938 if(old_second != Seconds) 8073c26: 4b3a ldr r3, [pc, #232] ; (8073d10 ) 8073c28: 681a ldr r2, [r3, #0] 8073c2a: 4b36 ldr r3, [pc, #216] ; (8073d04 ) 8073c2c: 681b ldr r3, [r3, #0] 8073c2e: 429a cmp r2, r3 8073c30: d004 beq.n 8073c3c DrawImage(&bmREC1, 151, 145); 8073c32: 2291 movs r2, #145 ; 0x91 8073c34: 2197 movs r1, #151 ; 0x97 8073c36: 4837 ldr r0, [pc, #220] ; (8073d14 ) 8073c38: f7e0 fcac bl 8054594 old_second = Seconds; 8073c3c: 4b31 ldr r3, [pc, #196] ; (8073d04 ) 8073c3e: 681b ldr r3, [r3, #0] 8073c40: 4a33 ldr r2, [pc, #204] ; (8073d10 ) 8073c42: 6013 str r3, [r2, #0] BSP_LCD_SetFont(&Font12); 8073c44: 481c ldr r0, [pc, #112] ; (8073cb8 ) 8073c46: f7df fded bl 8053824 LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_BLACK); 8073c4a: 491c ldr r1, [pc, #112] ; (8073cbc ) 8073c4c: f06f 00ff mvn.w r0, #255 ; 0xff 8073c50: f7df fdac bl 80537ac if(pardata.LANG == RUS) 8073c54: 4b1a ldr r3, [pc, #104] ; (8073cc0 ) 8073c56: 7b1b ldrb r3, [r3, #12] 8073c58: b2db uxtb r3, r3 8073c5a: 2b00 cmp r3, #0 8073c5c: d10c bne.n 8073c78 BSP_LCD_DisplayStringAt(165, 205, "×òîáû îñòàíîâèòü çàïèñü", CENTER_MODE); 8073c5e: 2301 movs r3, #1 8073c60: 4a2d ldr r2, [pc, #180] ; (8073d18 ) 8073c62: 21cd movs r1, #205 ; 0xcd 8073c64: 20a5 movs r0, #165 ; 0xa5 8073c66: f7df fe67 bl 8053938 BSP_LCD_DisplayStringAt(165, 220, "íàæìèòå êíîïêó [OK]...", CENTER_MODE); 8073c6a: 2301 movs r3, #1 8073c6c: 4a1c ldr r2, [pc, #112] ; (8073ce0 ) 8073c6e: 21dc movs r1, #220 ; 0xdc 8073c70: 20a5 movs r0, #165 ; 0xa5 8073c72: f7df fe61 bl 8053938 break; 8073c76: e012 b.n 8073c9e BSP_LCD_DisplayStringAt(165, 220, "To stop recording click [OK]...", CENTER_MODE); 8073c78: 2301 movs r3, #1 8073c7a: 4a28 ldr r2, [pc, #160] ; (8073d1c ) 8073c7c: 21dc movs r1, #220 ; 0xdc 8073c7e: 20a5 movs r0, #165 ; 0xa5 8073c80: f7df fe5a bl 8053938 break; 8073c84: e00b b.n 8073c9e break; 8073c86: bf00 nop 8073c88: f023 bc8d b.w 80975a6 break; 8073c8c: bf00 nop 8073c8e: f023 bc8a b.w 80975a6 break; 8073c92: bf00 nop 8073c94: f023 bc87 b.w 80975a6 break; 8073c98: bf00 nop 8073c9a: f023 bc84 b.w 80975a6 break; 8073c9e: bf00 nop break; 8073ca0: f023 bc81 b.w 80975a6 * */ u_y[0] = 203; 8073ca4: 23cb movs r3, #203 ; 0xcb 8073ca6: f887 3404 strb.w r3, [r7, #1028] ; 0x404 for(i = 1; i < sizeof(u_y); i++) { 8073caa: 2301 movs r3, #1 8073cac: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 8073cb0: e04e b.n 8073d50 8073cb2: bf00 nop 8073cb4: 2002164c .word 0x2002164c 8073cb8: 20020038 .word 0x20020038 8073cbc: ff0a0f1f .word 0xff0a0f1f 8073cc0: 20023e60 .word 0x20023e60 8073cc4: 080cfc9c .word 0x080cfc9c 8073cc8: 080cfcc0 .word 0x080cfcc0 8073ccc: 080cfcd4 .word 0x080cfcd4 8073cd0: 080cfcf0 .word 0x080cfcf0 8073cd4: 20020db0 .word 0x20020db0 8073cd8: ff29eb19 .word 0xff29eb19 8073cdc: 080cfc54 .word 0x080cfc54 8073ce0: 080cfc1c .word 0x080cfc1c 8073ce4: 080cfc68 .word 0x080cfc68 8073ce8: 20021684 .word 0x20021684 8073cec: 080ef4c0 .word 0x080ef4c0 8073cf0: 20021d1c .word 0x20021d1c 8073cf4: 91a2b3c5 .word 0x91a2b3c5 8073cf8: 2002163c .word 0x2002163c 8073cfc: 88888889 .word 0x88888889 8073d00: 20021640 .word 0x20021640 8073d04: 20021644 .word 0x20021644 8073d08: cccccccd .word 0xcccccccd 8073d0c: 20020050 .word 0x20020050 8073d10: 20021664 .word 0x20021664 8073d14: 08144410 .word 0x08144410 8073d18: 080cfc04 .word 0x080cfc04 8073d1c: 080cfc34 .word 0x080cfc34 u_y[i] = u_y[0] - i * 24; 8073d20: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8073d24: f897 1404 ldrb.w r1, [r7, #1028] ; 0x404 8073d28: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 8073d2c: b2d2 uxtb r2, r2 8073d2e: 4610 mov r0, r2 8073d30: 0040 lsls r0, r0, #1 8073d32: 4402 add r2, r0 8073d34: 00d2 lsls r2, r2, #3 8073d36: b2d2 uxtb r2, r2 8073d38: 1a8a subs r2, r1, r2 8073d3a: b2d2 uxtb r2, r2 8073d3c: f507 618e add.w r1, r7, #1136 ; 0x470 8073d40: 440b add r3, r1 8073d42: f803 2c6c strb.w r2, [r3, #-108] for(i = 1; i < sizeof(u_y); i++) { 8073d46: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8073d4a: 3301 adds r3, #1 8073d4c: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 8073d50: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8073d54: 2b06 cmp r3, #6 8073d56: d9e3 bls.n 8073d20 BSP_LCD_DisplayStringAt(29, u_y[i] - 2, (char *) FloatToASCII(Pfy[i], -1), RIGHT_MODE);*/ BSP_LCD_SetFont(&Font12); 8073d58: 48cd ldr r0, [pc, #820] ; (8074090 ) 8073d5a: f7df fd63 bl 8053824 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8073d5e: 49cd ldr r1, [pc, #820] ; (8074094 ) 8073d60: f04f 30ff mov.w r0, #4294967295 8073d64: f7df fd22 bl 80537ac else if(menupos == StartStop) {*/ //DrawImage(&bmLEFT_1, 9, 214); //DrawImage(&bmMINUS_1, 71, 214); DrawImage(&bmPLAY_1_LIGHT, 133, 214); 8073d68: 22d6 movs r2, #214 ; 0xd6 8073d6a: 2185 movs r1, #133 ; 0x85 8073d6c: 48ca ldr r0, [pc, #808] ; (8074098 ) 8073d6e: f7e0 fc11 bl 8054594 if(measuring) 8073d72: 4bca ldr r3, [pc, #808] ; (807409c ) 8073d74: 781b ldrb r3, [r3, #0] 8073d76: b2db uxtb r3, r3 8073d78: 2b00 cmp r3, #0 8073d7a: d00c beq.n 8073d96 BSP_LCD_DisplayStringAt(133 + 27, 221, (char *) pSTART_STOP[pardata.LANG][1], CENTER_MODE); 8073d7c: 4bc8 ldr r3, [pc, #800] ; (80740a0 ) 8073d7e: 7b1b ldrb r3, [r3, #12] 8073d80: b2db uxtb r3, r3 8073d82: 4ac8 ldr r2, [pc, #800] ; (80740a4 ) 8073d84: 00db lsls r3, r3, #3 8073d86: 4413 add r3, r2 8073d88: 685a ldr r2, [r3, #4] 8073d8a: 2301 movs r3, #1 8073d8c: 21dd movs r1, #221 ; 0xdd 8073d8e: 20a0 movs r0, #160 ; 0xa0 8073d90: f7df fdd2 bl 8053938 8073d94: e00b b.n 8073dae else BSP_LCD_DisplayStringAt(133 + 27, 221, (char *) pSTART_STOP[pardata.LANG][0], CENTER_MODE); 8073d96: 4bc2 ldr r3, [pc, #776] ; (80740a0 ) 8073d98: 7b1b ldrb r3, [r3, #12] 8073d9a: b2db uxtb r3, r3 8073d9c: 461a mov r2, r3 8073d9e: 4bc1 ldr r3, [pc, #772] ; (80740a4 ) 8073da0: f853 2032 ldr.w r2, [r3, r2, lsl #3] 8073da4: 2301 movs r3, #1 8073da6: 21dd movs r1, #221 ; 0xdd 8073da8: 20a0 movs r0, #160 ; 0xa0 8073daa: f7df fdc5 bl 8053938 DrawImage(&bmPLUS_1, 195, 214); DrawImage(&bmRIGHT_1, 257, 214); }*/ LCD_SetColors(0xFF000000, 0xFF000000); 8073dae: f04f 417f mov.w r1, #4278190080 ; 0xff000000 8073db2: f04f 407f mov.w r0, #4278190080 ; 0xff000000 8073db6: f7df fcf9 bl 80537ac BSP_LCD_FillRect(32, 35, 256, 178); 8073dba: 23b2 movs r3, #178 ; 0xb2 8073dbc: f44f 7280 mov.w r2, #256 ; 0x100 8073dc0: 2123 movs r1, #35 ; 0x23 8073dc2: 2020 movs r0, #32 8073dc4: f7e0 f980 bl 80540c8 LCD_SetColors(0xFF131313, LCD_COLOR_BLACK); 8073dc8: 49b2 ldr r1, [pc, #712] ; (8074094 ) 8073dca: 48b7 ldr r0, [pc, #732] ; (80740a8 ) 8073dcc: f7df fcee bl 80537ac for(i = 0; i < 4; i++) { 8073dd0: 2300 movs r3, #0 8073dd2: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 8073dd6: e010 b.n 8073dfa BSP_LCD_DrawVLine(32 + (i << 6), 35, 168); 8073dd8: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8073ddc: b29b uxth r3, r3 8073dde: 019b lsls r3, r3, #6 8073de0: b29b uxth r3, r3 8073de2: 3320 adds r3, #32 8073de4: b29b uxth r3, r3 8073de6: 22a8 movs r2, #168 ; 0xa8 8073de8: 2123 movs r1, #35 ; 0x23 8073dea: 4618 mov r0, r3 8073dec: f7df feb6 bl 8053b5c for(i = 0; i < 4; i++) { 8073df0: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8073df4: 3301 adds r3, #1 8073df6: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 8073dfa: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8073dfe: 2b03 cmp r3, #3 8073e00: d9ea bls.n 8073dd8 } for(i = 0; i < 8; i++) { 8073e02: 2300 movs r3, #0 8073e04: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 8073e08: e014 b.n 8073e34 BSP_LCD_DrawHLine(32, 35 + i*24, 256); 8073e0a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8073e0e: b29b uxth r3, r3 8073e10: 461a mov r2, r3 8073e12: 0052 lsls r2, r2, #1 8073e14: 4413 add r3, r2 8073e16: 00db lsls r3, r3, #3 8073e18: b29b uxth r3, r3 8073e1a: 3323 adds r3, #35 ; 0x23 8073e1c: b29b uxth r3, r3 8073e1e: f44f 7280 mov.w r2, #256 ; 0x100 8073e22: 4619 mov r1, r3 8073e24: 2020 movs r0, #32 8073e26: f7df fe3b bl 8053aa0 for(i = 0; i < 8; i++) { 8073e2a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8073e2e: 3301 adds r3, #1 8073e30: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 8073e34: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8073e38: 2b07 cmp r3, #7 8073e3a: d9e6 bls.n 8073e0a } LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8073e3c: 4995 ldr r1, [pc, #596] ; (8074094 ) 8073e3e: f04f 30ff mov.w r0, #4294967295 8073e42: f7df fcb3 bl 80537ac BSP_LCD_DrawVLine(31, 34, 179); 8073e46: 22b3 movs r2, #179 ; 0xb3 8073e48: 2122 movs r1, #34 ; 0x22 8073e4a: 201f movs r0, #31 8073e4c: f7df fe86 bl 8053b5c BSP_LCD_DrawVLine(288, 34, 179); 8073e50: 22b3 movs r2, #179 ; 0xb3 8073e52: 2122 movs r1, #34 ; 0x22 8073e54: f44f 7090 mov.w r0, #288 ; 0x120 8073e58: f7df fe80 bl 8053b5c BSP_LCD_DrawHLine(31, 34, 258); 8073e5c: f44f 7281 mov.w r2, #258 ; 0x102 8073e60: 2122 movs r1, #34 ; 0x22 8073e62: 201f movs r0, #31 8073e64: f7df fe1c bl 8053aa0 BSP_LCD_DrawHLine(31, 213, 258); 8073e68: f44f 7281 mov.w r2, #258 ; 0x102 8073e6c: 21d5 movs r1, #213 ; 0xd5 8073e6e: 201f movs r0, #31 8073e70: f7df fe16 bl 8053aa0 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8073e74: 4987 ldr r1, [pc, #540] ; (8074094 ) 8073e76: f04f 30ff mov.w r0, #4294967295 8073e7a: f7df fc97 bl 80537ac BSP_LCD_SetFont(&Font12); 8073e7e: 4884 ldr r0, [pc, #528] ; (8074090 ) 8073e80: f7df fcd0 bl 8053824 BSP_LCD_DisplayStringAt(256, 36, "dBm=", RIGHT_MODE); 8073e84: 2302 movs r3, #2 8073e86: 4a89 ldr r2, [pc, #548] ; (80740ac ) 8073e88: 2124 movs r1, #36 ; 0x24 8073e8a: f44f 7080 mov.w r0, #256 ; 0x100 8073e8e: f7df fd53 bl 8053938 BSP_LCD_DisplayStringAt(256, 48, "dBi=", RIGHT_MODE); 8073e92: 2302 movs r3, #2 8073e94: 4a86 ldr r2, [pc, #536] ; (80740b0 ) 8073e96: 2130 movs r1, #48 ; 0x30 8073e98: f44f 7080 mov.w r0, #256 ; 0x100 8073e9c: f7df fd4c bl 8053938 BSP_LCD_DisplayStringAt(256, 60, "dBc=", RIGHT_MODE); 8073ea0: 2302 movs r3, #2 8073ea2: 4a84 ldr r2, [pc, #528] ; (80740b4 ) 8073ea4: 213c movs r1, #60 ; 0x3c 8073ea6: f44f 7080 mov.w r0, #256 ; 0x100 8073eaa: f7df fd45 bl 8053938 BSP_LCD_DisplayStringAt( 30, 37, "dBsv", RIGHT_MODE); 8073eae: 2302 movs r3, #2 8073eb0: 4a81 ldr r2, [pc, #516] ; (80740b8 ) 8073eb2: 2125 movs r1, #37 ; 0x25 8073eb4: 201e movs r0, #30 8073eb6: f7df fd3f bl 8053938 if((Stability > (Nr * 4)) && (!timeRelax)) 8073eba: 4b80 ldr r3, [pc, #512] ; (80740bc ) 8073ebc: 881b ldrh r3, [r3, #0] 8073ebe: b29b uxth r3, r3 8073ec0: 009b lsls r3, r3, #2 8073ec2: 461a mov r2, r3 8073ec4: 4b7e ldr r3, [pc, #504] ; (80740c0 ) 8073ec6: 681b ldr r3, [r3, #0] 8073ec8: 429a cmp r2, r3 8073eca: f080 8303 bcs.w 80744d4 8073ece: 4b7d ldr r3, [pc, #500] ; (80740c4 ) 8073ed0: 681b ldr r3, [r3, #0] 8073ed2: 2b00 cmp r3, #0 8073ed4: f040 82fe bne.w 80744d4 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8073ed8: 496e ldr r1, [pc, #440] ; (8074094 ) 8073eda: f04f 30ff mov.w r0, #4294967295 8073ede: f7df fc65 bl 80537ac Pfy[0] = -20.0; 8073ee2: 4b79 ldr r3, [pc, #484] ; (80740c8 ) 8073ee4: 4a79 ldr r2, [pc, #484] ; (80740cc ) 8073ee6: 601a str r2, [r3, #0] Pfy[1] = 0.0; 8073ee8: 4b77 ldr r3, [pc, #476] ; (80740c8 ) 8073eea: f04f 0200 mov.w r2, #0 8073eee: 605a str r2, [r3, #4] Pfy[2] = 20.0; 8073ef0: 4b75 ldr r3, [pc, #468] ; (80740c8 ) 8073ef2: 4a77 ldr r2, [pc, #476] ; (80740d0 ) 8073ef4: 609a str r2, [r3, #8] Pfy[3] = 40.0; 8073ef6: 4b74 ldr r3, [pc, #464] ; (80740c8 ) 8073ef8: 4a76 ldr r2, [pc, #472] ; (80740d4 ) 8073efa: 60da str r2, [r3, #12] Pfy[4] = 60.0; 8073efc: 4b72 ldr r3, [pc, #456] ; (80740c8 ) 8073efe: 4a76 ldr r2, [pc, #472] ; (80740d8 ) 8073f00: 611a str r2, [r3, #16] Pfy[5] = 80.0; 8073f02: 4b71 ldr r3, [pc, #452] ; (80740c8 ) 8073f04: 4a75 ldr r2, [pc, #468] ; (80740dc ) 8073f06: 615a str r2, [r3, #20] Pfy[6] = 100.0; 8073f08: 4b6f ldr r3, [pc, #444] ; (80740c8 ) 8073f0a: 4a75 ldr r2, [pc, #468] ; (80740e0 ) 8073f0c: 619a str r2, [r3, #24] BSP_LCD_SetFont(&Font8); 8073f0e: 4875 ldr r0, [pc, #468] ; (80740e4 ) 8073f10: f7df fc88 bl 8053824 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8073f14: 495f ldr r1, [pc, #380] ; (8074094 ) 8073f16: 4874 ldr r0, [pc, #464] ; (80740e8 ) 8073f18: f7df fc48 bl 80537ac for(i = 0; i < 7; i++) 8073f1c: 2300 movs r3, #0 8073f1e: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 8073f22: e021 b.n 8073f68 BSP_LCD_DisplayStringAt(29, u_y[i] - 2, (char *) FloatToASCII(Pfy[i], -1), RIGHT_MODE); 8073f24: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8073f28: f507 628e add.w r2, r7, #1136 ; 0x470 8073f2c: 4413 add r3, r2 8073f2e: f813 3c6c ldrb.w r3, [r3, #-108] 8073f32: b29b uxth r3, r3 8073f34: 3b02 subs r3, #2 8073f36: b29c uxth r4, r3 8073f38: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8073f3c: 4a62 ldr r2, [pc, #392] ; (80740c8 ) 8073f3e: 009b lsls r3, r3, #2 8073f40: 4413 add r3, r2 8073f42: edd3 7a00 vldr s15, [r3] 8073f46: f04f 30ff mov.w r0, #4294967295 8073f4a: eeb0 0a67 vmov.f32 s0, s15 8073f4e: f7f2 fbd7 bl 8066700 8073f52: 4602 mov r2, r0 8073f54: 2302 movs r3, #2 8073f56: 4621 mov r1, r4 8073f58: 201d movs r0, #29 8073f5a: f7df fced bl 8053938 for(i = 0; i < 7; i++) 8073f5e: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8073f62: 3301 adds r3, #1 8073f64: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 8073f68: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8073f6c: 2b06 cmp r3, #6 8073f6e: d9d9 bls.n 8073f24 LCD_SetColors(LCD_COLOR_MYGREEN, LCD_COLOR_BLACK); 8073f70: 4948 ldr r1, [pc, #288] ; (8074094 ) 8073f72: 485e ldr r0, [pc, #376] ; (80740ec ) 8073f74: f7df fc1a bl 80537ac for(i = 0; i < 256; i++) 8073f78: 2300 movs r3, #0 8073f7a: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 8073f7e: e1d0 b.n 8074322 { f = ScrA_f32(i); 8073f80: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8073f84: 009a lsls r2, r3, #2 8073f86: 4b5a ldr r3, [pc, #360] ; (80740f0 ) 8073f88: 4413 add r3, r2 8073f8a: 681b ldr r3, [r3, #0] 8073f8c: f507 628b add.w r2, r7, #1112 ; 0x458 8073f90: 6013 str r3, [r2, #0] if(f < -20.0f) 8073f92: f507 638b add.w r3, r7, #1112 ; 0x458 8073f96: edd3 7a00 vldr s15, [r3] 8073f9a: eebb 7a04 vmov.f32 s14, #180 ; 0xc1a00000 -20.0 8073f9e: eef4 7ac7 vcmpe.f32 s15, s14 8073fa2: eef1 fa10 vmrs APSR_nzcv, fpscr 8073fa6: d503 bpl.n 8073fb0 f = -20.0f; 8073fa8: 4b48 ldr r3, [pc, #288] ; (80740cc ) 8073faa: f507 628b add.w r2, r7, #1112 ; 0x458 8073fae: 6013 str r3, [r2, #0] if(f > 100.0f) 8073fb0: f507 638b add.w r3, r7, #1112 ; 0x458 8073fb4: edd3 7a00 vldr s15, [r3] 8073fb8: ed9f 7a4e vldr s14, [pc, #312] ; 80740f4 8073fbc: eef4 7ac7 vcmpe.f32 s15, s14 8073fc0: eef1 fa10 vmrs APSR_nzcv, fpscr 8073fc4: dd03 ble.n 8073fce f = 100.0f; 8073fc6: 4b46 ldr r3, [pc, #280] ; (80740e0 ) 8073fc8: f507 628b add.w r2, r7, #1112 ; 0x458 8073fcc: 6013 str r3, [r2, #0] if(f < 0.0f) 8073fce: f507 638b add.w r3, r7, #1112 ; 0x458 8073fd2: edd3 7a00 vldr s15, [r3] 8073fd6: eef5 7ac0 vcmpe.f32 s15, #0.0 8073fda: eef1 fa10 vmrs APSR_nzcv, fpscr 8073fde: d537 bpl.n 8074050 { f = (24 - (24 * f / Pfy[0])) + 0.5f; 8073fe0: f507 638b add.w r3, r7, #1112 ; 0x458 8073fe4: edd3 7a00 vldr s15, [r3] 8073fe8: eeb3 7a08 vmov.f32 s14, #56 ; 0x41c00000 24.0 8073fec: ee67 6a87 vmul.f32 s13, s15, s14 8073ff0: 4b35 ldr r3, [pc, #212] ; (80740c8 ) 8073ff2: ed93 7a00 vldr s14, [r3] 8073ff6: eec6 7a87 vdiv.f32 s15, s13, s14 8073ffa: eeb3 7a08 vmov.f32 s14, #56 ; 0x41c00000 24.0 8073ffe: ee77 7a67 vsub.f32 s15, s14, s15 8074002: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8074006: ee77 7a87 vadd.f32 s15, s15, s14 807400a: f507 638b add.w r3, r7, #1112 ; 0x458 807400e: edc3 7a00 vstr s15, [r3] y = u_y[0] - (uint32_t) f; 8074012: f897 3404 ldrb.w r3, [r7, #1028] ; 0x404 8074016: f507 628b add.w r2, r7, #1112 ; 0x458 807401a: edd2 7a00 vldr s15, [r2] 807401e: eefc 7ae7 vcvt.u32.f32 s15, s15 8074022: ee17 2a90 vmov r2, s15 8074026: 1a9b subs r3, r3, r2 8074028: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 if(f <= Pfy[0])// <= -20 807402c: 4b26 ldr r3, [pc, #152] ; (80740c8 ) 807402e: ed93 7a00 vldr s14, [r3] 8074032: f507 638b add.w r3, r7, #1112 ; 0x458 8074036: edd3 7a00 vldr s15, [r3] 807403a: eeb4 7ae7 vcmpe.f32 s14, s15 807403e: eef1 fa10 vmrs APSR_nzcv, fpscr 8074042: f2c0 8155 blt.w 80742f0 y = u_y[0]; 8074046: f897 3404 ldrb.w r3, [r7, #1028] ; 0x404 807404a: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 807404e: e14f b.n 80742f0 } else if(f == 0.0f) 8074050: f507 638b add.w r3, r7, #1112 ; 0x458 8074054: edd3 7a00 vldr s15, [r3] 8074058: eef5 7a40 vcmp.f32 s15, #0.0 807405c: eef1 fa10 vmrs APSR_nzcv, fpscr 8074060: d104 bne.n 807406c { y = u_y[1]; 8074062: f897 3405 ldrb.w r3, [r7, #1029] ; 0x405 8074066: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 807406a: e141 b.n 80742f0 } else if(f >= Pfy[6]) // >= 100 807406c: 4b16 ldr r3, [pc, #88] ; (80740c8 ) 807406e: ed93 7a06 vldr s14, [r3, #24] 8074072: f507 638b add.w r3, r7, #1112 ; 0x458 8074076: edd3 7a00 vldr s15, [r3] 807407a: eeb4 7ae7 vcmpe.f32 s14, s15 807407e: eef1 fa10 vmrs APSR_nzcv, fpscr 8074082: d839 bhi.n 80740f8 { y = u_y[6]; 8074084: f897 340a ldrb.w r3, [r7, #1034] ; 0x40a 8074088: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 807408c: e130 b.n 80742f0 807408e: bf00 nop 8074090: 20020038 .word 0x20020038 8074094: ff0a0f1f .word 0xff0a0f1f 8074098: 08142774 .word 0x08142774 807409c: 20020daf .word 0x20020daf 80740a0: 20023e60 .word 0x20023e60 80740a4: 200201cc .word 0x200201cc 80740a8: ff131313 .word 0xff131313 80740ac: 080cfd00 .word 0x080cfd00 80740b0: 080cfd08 .word 0x080cfd08 80740b4: 080cfd10 .word 0x080cfd10 80740b8: 080cfd18 .word 0x080cfd18 80740bc: 20021d20 .word 0x20021d20 80740c0: 20020da8 .word 0x20020da8 80740c4: 20020d6c .word 0x20020d6c 80740c8: 200685c8 .word 0x200685c8 80740cc: c1a00000 .word 0xc1a00000 80740d0: 41a00000 .word 0x41a00000 80740d4: 42200000 .word 0x42200000 80740d8: 42700000 .word 0x42700000 80740dc: 42a00000 .word 0x42a00000 80740e0: 42c80000 .word 0x42c80000 80740e4: 20020060 .word 0x20020060 80740e8: ff808080 .word 0xff808080 80740ec: ff26a01f .word 0xff26a01f 80740f0: 64080000 .word 0x64080000 80740f4: 42c80000 .word 0x42c80000 } else if(f <= Pfy[2]) // <= 20 80740f8: 4bd8 ldr r3, [pc, #864] ; (807445c ) 80740fa: ed93 7a02 vldr s14, [r3, #8] 80740fe: f507 638b add.w r3, r7, #1112 ; 0x458 8074102: edd3 7a00 vldr s15, [r3] 8074106: eeb4 7ae7 vcmpe.f32 s14, s15 807410a: eef1 fa10 vmrs APSR_nzcv, fpscr 807410e: db21 blt.n 8074154 { f = (24 * f / 20.0f) + 0.5f; 8074110: f507 638b add.w r3, r7, #1112 ; 0x458 8074114: edd3 7a00 vldr s15, [r3] 8074118: eeb3 7a08 vmov.f32 s14, #56 ; 0x41c00000 24.0 807411c: ee27 7a87 vmul.f32 s14, s15, s14 8074120: eef3 6a04 vmov.f32 s13, #52 ; 0x41a00000 20.0 8074124: eec7 7a26 vdiv.f32 s15, s14, s13 8074128: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 807412c: ee77 7a87 vadd.f32 s15, s15, s14 8074130: f507 638b add.w r3, r7, #1112 ; 0x458 8074134: edc3 7a00 vstr s15, [r3] y = u_y[1] - (uint32_t) f; 8074138: f897 3405 ldrb.w r3, [r7, #1029] ; 0x405 807413c: f507 628b add.w r2, r7, #1112 ; 0x458 8074140: edd2 7a00 vldr s15, [r2] 8074144: eefc 7ae7 vcvt.u32.f32 s15, s15 8074148: ee17 2a90 vmov r2, s15 807414c: 1a9b subs r3, r3, r2 807414e: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 8074152: e0cd b.n 80742f0 } else if(f <= Pfy[3]) // <= 40 8074154: 4bc1 ldr r3, [pc, #772] ; (807445c ) 8074156: ed93 7a03 vldr s14, [r3, #12] 807415a: f507 638b add.w r3, r7, #1112 ; 0x458 807415e: edd3 7a00 vldr s15, [r3] 8074162: eeb4 7ae7 vcmpe.f32 s14, s15 8074166: eef1 fa10 vmrs APSR_nzcv, fpscr 807416a: db25 blt.n 80741b8 { f = (24 * ((f - 20.0f) / 20.0f)) + 0.5f; 807416c: f507 638b add.w r3, r7, #1112 ; 0x458 8074170: edd3 7a00 vldr s15, [r3] 8074174: eeb3 7a04 vmov.f32 s14, #52 ; 0x41a00000 20.0 8074178: ee37 7ac7 vsub.f32 s14, s15, s14 807417c: eef3 6a04 vmov.f32 s13, #52 ; 0x41a00000 20.0 8074180: eec7 7a26 vdiv.f32 s15, s14, s13 8074184: eeb3 7a08 vmov.f32 s14, #56 ; 0x41c00000 24.0 8074188: ee67 7a87 vmul.f32 s15, s15, s14 807418c: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8074190: ee77 7a87 vadd.f32 s15, s15, s14 8074194: f507 638b add.w r3, r7, #1112 ; 0x458 8074198: edc3 7a00 vstr s15, [r3] y = u_y[2] - (uint32_t) f; 807419c: f897 3406 ldrb.w r3, [r7, #1030] ; 0x406 80741a0: f507 628b add.w r2, r7, #1112 ; 0x458 80741a4: edd2 7a00 vldr s15, [r2] 80741a8: eefc 7ae7 vcvt.u32.f32 s15, s15 80741ac: ee17 2a90 vmov r2, s15 80741b0: 1a9b subs r3, r3, r2 80741b2: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 80741b6: e09b b.n 80742f0 } else if(f <= Pfy[4]) // <= 60 80741b8: 4ba8 ldr r3, [pc, #672] ; (807445c ) 80741ba: ed93 7a04 vldr s14, [r3, #16] 80741be: f507 638b add.w r3, r7, #1112 ; 0x458 80741c2: edd3 7a00 vldr s15, [r3] 80741c6: eeb4 7ae7 vcmpe.f32 s14, s15 80741ca: eef1 fa10 vmrs APSR_nzcv, fpscr 80741ce: db25 blt.n 807421c { f = (24 * ((f - 40.0f) / 20.0f)) + 0.5f; 80741d0: f507 638b add.w r3, r7, #1112 ; 0x458 80741d4: edd3 7a00 vldr s15, [r3] 80741d8: ed9f 7aa1 vldr s14, [pc, #644] ; 8074460 80741dc: ee37 7ac7 vsub.f32 s14, s15, s14 80741e0: eef3 6a04 vmov.f32 s13, #52 ; 0x41a00000 20.0 80741e4: eec7 7a26 vdiv.f32 s15, s14, s13 80741e8: eeb3 7a08 vmov.f32 s14, #56 ; 0x41c00000 24.0 80741ec: ee67 7a87 vmul.f32 s15, s15, s14 80741f0: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80741f4: ee77 7a87 vadd.f32 s15, s15, s14 80741f8: f507 638b add.w r3, r7, #1112 ; 0x458 80741fc: edc3 7a00 vstr s15, [r3] y = u_y[3] - (uint32_t) f; 8074200: f897 3407 ldrb.w r3, [r7, #1031] ; 0x407 8074204: f507 628b add.w r2, r7, #1112 ; 0x458 8074208: edd2 7a00 vldr s15, [r2] 807420c: eefc 7ae7 vcvt.u32.f32 s15, s15 8074210: ee17 2a90 vmov r2, s15 8074214: 1a9b subs r3, r3, r2 8074216: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 807421a: e069 b.n 80742f0 } else if(f <= Pfy[5]) // <= 80 807421c: 4b8f ldr r3, [pc, #572] ; (807445c ) 807421e: ed93 7a05 vldr s14, [r3, #20] 8074222: f507 638b add.w r3, r7, #1112 ; 0x458 8074226: edd3 7a00 vldr s15, [r3] 807422a: eeb4 7ae7 vcmpe.f32 s14, s15 807422e: eef1 fa10 vmrs APSR_nzcv, fpscr 8074232: db25 blt.n 8074280 { f = (24 * ((f - 60.0f) / 20.0f)) + 0.5f; 8074234: f507 638b add.w r3, r7, #1112 ; 0x458 8074238: edd3 7a00 vldr s15, [r3] 807423c: ed9f 7a89 vldr s14, [pc, #548] ; 8074464 8074240: ee37 7ac7 vsub.f32 s14, s15, s14 8074244: eef3 6a04 vmov.f32 s13, #52 ; 0x41a00000 20.0 8074248: eec7 7a26 vdiv.f32 s15, s14, s13 807424c: eeb3 7a08 vmov.f32 s14, #56 ; 0x41c00000 24.0 8074250: ee67 7a87 vmul.f32 s15, s15, s14 8074254: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8074258: ee77 7a87 vadd.f32 s15, s15, s14 807425c: f507 638b add.w r3, r7, #1112 ; 0x458 8074260: edc3 7a00 vstr s15, [r3] y = u_y[4] - (uint32_t) f; 8074264: f897 3408 ldrb.w r3, [r7, #1032] ; 0x408 8074268: f507 628b add.w r2, r7, #1112 ; 0x458 807426c: edd2 7a00 vldr s15, [r2] 8074270: eefc 7ae7 vcvt.u32.f32 s15, s15 8074274: ee17 2a90 vmov r2, s15 8074278: 1a9b subs r3, r3, r2 807427a: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 807427e: e037 b.n 80742f0 } else if(f <= Pfy[6]) // <= 100 8074280: 4b76 ldr r3, [pc, #472] ; (807445c ) 8074282: ed93 7a06 vldr s14, [r3, #24] 8074286: f507 638b add.w r3, r7, #1112 ; 0x458 807428a: edd3 7a00 vldr s15, [r3] 807428e: eeb4 7ae7 vcmpe.f32 s14, s15 8074292: eef1 fa10 vmrs APSR_nzcv, fpscr 8074296: db2b blt.n 80742f0 { f = (24 * ((f - 80.0f) / 20.0f)) + 0.5f; 8074298: f507 638b add.w r3, r7, #1112 ; 0x458 807429c: edd3 7a00 vldr s15, [r3] 80742a0: ed9f 7a71 vldr s14, [pc, #452] ; 8074468 80742a4: ee37 7ac7 vsub.f32 s14, s15, s14 80742a8: eef3 6a04 vmov.f32 s13, #52 ; 0x41a00000 20.0 80742ac: eec7 7a26 vdiv.f32 s15, s14, s13 80742b0: eeb3 7a08 vmov.f32 s14, #56 ; 0x41c00000 24.0 80742b4: ee67 7a87 vmul.f32 s15, s15, s14 80742b8: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80742bc: ee77 7a87 vadd.f32 s15, s15, s14 80742c0: f507 638b add.w r3, r7, #1112 ; 0x458 80742c4: edc3 7a00 vstr s15, [r3] y = u_y[5] - (uint32_t) f; 80742c8: f897 3409 ldrb.w r3, [r7, #1033] ; 0x409 80742cc: f507 628b add.w r2, r7, #1112 ; 0x458 80742d0: edd2 7a00 vldr s15, [r2] 80742d4: eefc 7ae7 vcvt.u32.f32 s15, s15 80742d8: ee17 2a90 vmov r2, s15 80742dc: 1a9b subs r3, r3, r2 80742de: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 if(y > 24) y = 24; 80742e2: f8d7 3464 ldr.w r3, [r7, #1124] ; 0x464 80742e6: 2b18 cmp r3, #24 80742e8: d902 bls.n 80742f0 80742ea: 2318 movs r3, #24 80742ec: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 } BSP_LCD_DrawLine(32 + i, y, 32 + i, 203); 80742f0: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80742f4: b29b uxth r3, r3 80742f6: 3320 adds r3, #32 80742f8: b298 uxth r0, r3 80742fa: f8d7 3464 ldr.w r3, [r7, #1124] ; 0x464 80742fe: b299 uxth r1, r3 8074300: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8074304: b29b uxth r3, r3 8074306: 3320 adds r3, #32 8074308: b29a uxth r2, r3 807430a: 23cb movs r3, #203 ; 0xcb 807430c: f7df fc88 bl 8053c20 oldy = y; 8074310: f8d7 3464 ldr.w r3, [r7, #1124] ; 0x464 8074314: f8c7 345c str.w r3, [r7, #1116] ; 0x45c for(i = 0; i < 256; i++) 8074318: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807431c: 3301 adds r3, #1 807431e: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 8074322: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8074326: 2bff cmp r3, #255 ; 0xff 8074328: f67f ae2a bls.w 8073f80 } BSP_LCD_SetFont(&Font12); 807432c: 484f ldr r0, [pc, #316] ; (807446c ) 807432e: f7df fa79 bl 8053824 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8074332: 494f ldr r1, [pc, #316] ; (8074470 ) 8074334: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8074338: f7df fa38 bl 80537ac if(dBm != -100.0f) 807433c: 4b4d ldr r3, [pc, #308] ; (8074474 ) 807433e: edd3 7a00 vldr s15, [r3] 8074342: ed9f 7a4d vldr s14, [pc, #308] ; 8074478 8074346: eef4 7a47 vcmp.f32 s15, s14 807434a: eef1 fa10 vmrs APSR_nzcv, fpscr 807434e: f000 80e2 beq.w 8074516 { BSP_LCD_DisplayStringAt(286, 36, (char *) FloatToASCII(dBm, 0), RIGHT_MODE); 8074352: 4b48 ldr r3, [pc, #288] ; (8074474 ) 8074354: edd3 7a00 vldr s15, [r3] 8074358: 2000 movs r0, #0 807435a: eeb0 0a67 vmov.f32 s0, s15 807435e: f7f2 f9cf bl 8066700 8074362: 4602 mov r2, r0 8074364: 2302 movs r3, #2 8074366: 2124 movs r1, #36 ; 0x24 8074368: f44f 708f mov.w r0, #286 ; 0x11e 807436c: f7df fae4 bl 8053938 BSP_LCD_DisplayStringAt(286, 48, (char *) FloatToASCII(dBi, 0), RIGHT_MODE); 8074370: 4b42 ldr r3, [pc, #264] ; (807447c ) 8074372: edd3 7a00 vldr s15, [r3] 8074376: 2000 movs r0, #0 8074378: eeb0 0a67 vmov.f32 s0, s15 807437c: f7f2 f9c0 bl 8066700 8074380: 4602 mov r2, r0 8074382: 2302 movs r3, #2 8074384: 2130 movs r1, #48 ; 0x30 8074386: f44f 708f mov.w r0, #286 ; 0x11e 807438a: f7df fad5 bl 8053938 BSP_LCD_DisplayStringAt(286, 60, (char *) FloatToASCII(dBc, 0), RIGHT_MODE); 807438e: 4b3c ldr r3, [pc, #240] ; (8074480 ) 8074390: edd3 7a00 vldr s15, [r3] 8074394: 2000 movs r0, #0 8074396: eeb0 0a67 vmov.f32 s0, s15 807439a: f7f2 f9b1 bl 8066700 807439e: 4602 mov r2, r0 80743a0: 2302 movs r3, #2 80743a2: 213c movs r1, #60 ; 0x3c 80743a4: f44f 708f mov.w r0, #286 ; 0x11e 80743a8: f7df fac6 bl 8053938 // 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) 80743ac: 4b31 ldr r3, [pc, #196] ; (8074474 ) 80743ae: edd3 7a00 vldr s15, [r3] 80743b2: eef5 7ac0 vcmpe.f32 s15, #0.0 80743b6: eef1 fa10 vmrs APSR_nzcv, fpscr 80743ba: d822 bhi.n 8074402 { LCD_SetColors(MY_LCD_COLOR_DARKRED, LCD_COLOR_BLACK); 80743bc: 492c ldr r1, [pc, #176] ; (8074470 ) 80743be: 4831 ldr r0, [pc, #196] ; (8074484 ) 80743c0: f7df f9f4 bl 80537ac BSP_LCD_FillRect(293, 35, 14, 59); 80743c4: 233b movs r3, #59 ; 0x3b 80743c6: 220e movs r2, #14 80743c8: 2123 movs r1, #35 ; 0x23 80743ca: f240 1025 movw r0, #293 ; 0x125 80743ce: f7df fe7b bl 80540c8 LCD_SetColors(MY_LCD_COLOR_DARKYELLOW, LCD_COLOR_BLACK); 80743d2: 4927 ldr r1, [pc, #156] ; (8074470 ) 80743d4: 482c ldr r0, [pc, #176] ; (8074488 ) 80743d6: f7df f9e9 bl 80537ac BSP_LCD_FillRect(293, 35 + 59, 14, 59); 80743da: 233b movs r3, #59 ; 0x3b 80743dc: 220e movs r2, #14 80743de: 215e movs r1, #94 ; 0x5e 80743e0: f240 1025 movw r0, #293 ; 0x125 80743e4: f7df fe70 bl 80540c8 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80743e8: 4921 ldr r1, [pc, #132] ; (8074470 ) 80743ea: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80743ee: f7df f9dd bl 80537ac BSP_LCD_FillRect(293, 35 + 59 + 59, 14, 59); 80743f2: 233b movs r3, #59 ; 0x3b 80743f4: 220e movs r2, #14 80743f6: 2199 movs r1, #153 ; 0x99 80743f8: f240 1025 movw r0, #293 ; 0x125 80743fc: f7df fe64 bl 80540c8 if(dBm != -100.0f) 8074400: e089 b.n 8074516 } else if(dBm <= 15.0f) 8074402: 4b1c ldr r3, [pc, #112] ; (8074474 ) 8074404: edd3 7a00 vldr s15, [r3] 8074408: eeb2 7a0e vmov.f32 s14, #46 ; 0x41700000 15.0 807440c: eef4 7ac7 vcmpe.f32 s15, s14 8074410: eef1 fa10 vmrs APSR_nzcv, fpscr 8074414: d83c bhi.n 8074490 { LCD_SetColors(MY_LCD_COLOR_DARKRED, LCD_COLOR_BLACK); 8074416: 4916 ldr r1, [pc, #88] ; (8074470 ) 8074418: 481a ldr r0, [pc, #104] ; (8074484 ) 807441a: f7df f9c7 bl 80537ac BSP_LCD_FillRect(293, 35, 14, 59); 807441e: 233b movs r3, #59 ; 0x3b 8074420: 220e movs r2, #14 8074422: 2123 movs r1, #35 ; 0x23 8074424: f240 1025 movw r0, #293 ; 0x125 8074428: f7df fe4e bl 80540c8 LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_BLACK); 807442c: 4910 ldr r1, [pc, #64] ; (8074470 ) 807442e: f06f 00ff mvn.w r0, #255 ; 0xff 8074432: f7df f9bb bl 80537ac BSP_LCD_FillRect(293, 35 + 59, 14, 59); 8074436: 233b movs r3, #59 ; 0x3b 8074438: 220e movs r2, #14 807443a: 215e movs r1, #94 ; 0x5e 807443c: f240 1025 movw r0, #293 ; 0x125 8074440: f7df fe42 bl 80540c8 LCD_SetColors(MY_LCD_COLOR_DARKGREEN, LCD_COLOR_BLACK); 8074444: 490a ldr r1, [pc, #40] ; (8074470 ) 8074446: 4811 ldr r0, [pc, #68] ; (807448c ) 8074448: f7df f9b0 bl 80537ac BSP_LCD_FillRect(293, 35 + 59 + 59, 14, 59); 807444c: 233b movs r3, #59 ; 0x3b 807444e: 220e movs r2, #14 8074450: 2199 movs r1, #153 ; 0x99 8074452: f240 1025 movw r0, #293 ; 0x125 8074456: f7df fe37 bl 80540c8 if(dBm != -100.0f) 807445a: e05c b.n 8074516 807445c: 200685c8 .word 0x200685c8 8074460: 42200000 .word 0x42200000 8074464: 42700000 .word 0x42700000 8074468: 42a00000 .word 0x42a00000 807446c: 20020038 .word 0x20020038 8074470: ff0a0f1f .word 0xff0a0f1f 8074474: 20020da0 .word 0x20020da0 8074478: c2c80000 .word 0xc2c80000 807447c: 20020d98 .word 0x20020d98 8074480: 20020d9c .word 0x20020d9c 8074484: ff400000 .word 0xff400000 8074488: ff404000 .word 0xff404000 807448c: ff004000 .word 0xff004000 } else { LCD_SetColors(LCD_COLOR_RED, LCD_COLOR_BLACK); 8074490: 49c5 ldr r1, [pc, #788] ; (80747a8 ) 8074492: 48c6 ldr r0, [pc, #792] ; (80747ac ) 8074494: f7df f98a bl 80537ac BSP_LCD_FillRect(293, 35, 14, 59); 8074498: 233b movs r3, #59 ; 0x3b 807449a: 220e movs r2, #14 807449c: 2123 movs r1, #35 ; 0x23 807449e: f240 1025 movw r0, #293 ; 0x125 80744a2: f7df fe11 bl 80540c8 LCD_SetColors(MY_LCD_COLOR_DARKYELLOW, LCD_COLOR_BLACK); 80744a6: 49c0 ldr r1, [pc, #768] ; (80747a8 ) 80744a8: 48c1 ldr r0, [pc, #772] ; (80747b0 ) 80744aa: f7df f97f bl 80537ac BSP_LCD_FillRect(293, 35 + 59, 14, 59); 80744ae: 233b movs r3, #59 ; 0x3b 80744b0: 220e movs r2, #14 80744b2: 215e movs r1, #94 ; 0x5e 80744b4: f240 1025 movw r0, #293 ; 0x125 80744b8: f7df fe06 bl 80540c8 LCD_SetColors(MY_LCD_COLOR_DARKGREEN, LCD_COLOR_BLACK); 80744bc: 49ba ldr r1, [pc, #744] ; (80747a8 ) 80744be: 48bd ldr r0, [pc, #756] ; (80747b4 ) 80744c0: f7df f974 bl 80537ac BSP_LCD_FillRect(293, 35 + 59 + 59, 14, 59); 80744c4: 233b movs r3, #59 ; 0x3b 80744c6: 220e movs r2, #14 80744c8: 2199 movs r1, #153 ; 0x99 80744ca: f240 1025 movw r0, #293 ; 0x125 80744ce: f7df fdfb bl 80540c8 if(dBm != -100.0f) 80744d2: e020 b.n 8074516 } } else { LCD_SetColors(MY_LCD_COLOR_DARKRED, LCD_COLOR_BLACK); 80744d4: 49b4 ldr r1, [pc, #720] ; (80747a8 ) 80744d6: 48b8 ldr r0, [pc, #736] ; (80747b8 ) 80744d8: f7df f968 bl 80537ac BSP_LCD_FillRect(293, 35, 14, 59); 80744dc: 233b movs r3, #59 ; 0x3b 80744de: 220e movs r2, #14 80744e0: 2123 movs r1, #35 ; 0x23 80744e2: f240 1025 movw r0, #293 ; 0x125 80744e6: f7df fdef bl 80540c8 LCD_SetColors(MY_LCD_COLOR_DARKYELLOW, LCD_COLOR_BLACK); 80744ea: 49af ldr r1, [pc, #700] ; (80747a8 ) 80744ec: 48b0 ldr r0, [pc, #704] ; (80747b0 ) 80744ee: f7df f95d bl 80537ac BSP_LCD_FillRect(293, 35 + 59, 14, 59); 80744f2: 233b movs r3, #59 ; 0x3b 80744f4: 220e movs r2, #14 80744f6: 215e movs r1, #94 ; 0x5e 80744f8: f240 1025 movw r0, #293 ; 0x125 80744fc: f7df fde4 bl 80540c8 LCD_SetColors(MY_LCD_COLOR_DARKGREEN, LCD_COLOR_BLACK); 8074500: 49a9 ldr r1, [pc, #676] ; (80747a8 ) 8074502: 48ac ldr r0, [pc, #688] ; (80747b4 ) 8074504: f7df f952 bl 80537ac BSP_LCD_FillRect(293, 35 + 59 + 59, 14, 59); 8074508: 233b movs r3, #59 ; 0x3b 807450a: 220e movs r2, #14 807450c: 2199 movs r1, #153 ; 0x99 807450e: f240 1025 movw r0, #293 ; 0x125 8074512: f7df fdd9 bl 80540c8 } BSP_LCD_SetFont(&Font12); 8074516: 48a9 ldr r0, [pc, #676] ; (80747bc ) 8074518: f7df f984 bl 8053824 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807451c: 49a2 ldr r1, [pc, #648] ; (80747a8 ) 807451e: f04f 30ff mov.w r0, #4294967295 8074522: f7df f943 bl 80537ac BSP_LCD_DisplayStringAt(160, 37, (char *) pKU_UDAR[pardata.IKU], CENTER_MODE); 8074526: 4ba6 ldr r3, [pc, #664] ; (80747c0 ) 8074528: 7a1b ldrb r3, [r3, #8] 807452a: b2db uxtb r3, r3 807452c: 461a mov r2, r3 807452e: 4ba5 ldr r3, [pc, #660] ; (80747c4 ) 8074530: f853 2022 ldr.w r2, [r3, r2, lsl #2] 8074534: 2301 movs r3, #1 8074536: 2125 movs r1, #37 ; 0x25 8074538: 20a0 movs r0, #160 ; 0xa0 807453a: f7df f9fd bl 8053938 if(AUTOKU) 807453e: 4ba2 ldr r3, [pc, #648] ; (80747c8 ) 8074540: 781b ldrb r3, [r3, #0] 8074542: b2db uxtb r3, r3 8074544: 2b00 cmp r3, #0 8074546: d00b beq.n 8074560 { LCD_SetColors(LCD_COLOR_LIGHTRED, LCD_COLOR_BLACK); 8074548: 4997 ldr r1, [pc, #604] ; (80747a8 ) 807454a: 48a0 ldr r0, [pc, #640] ; (80747cc ) 807454c: f7df f92e bl 80537ac BSP_LCD_DisplayStringAt(40, 37, "AUTO", LEFT_MODE); 8074550: 2303 movs r3, #3 8074552: 4a9f ldr r2, [pc, #636] ; (80747d0 ) 8074554: 2125 movs r1, #37 ; 0x25 8074556: 2028 movs r0, #40 ; 0x28 8074558: f7df f9ee bl 8053938 } } }*/ break; 807455c: f023 b84a b.w 80975f4 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8074560: 4991 ldr r1, [pc, #580] ; (80747a8 ) 8074562: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8074566: f7df f921 bl 80537ac BSP_LCD_DisplayStringAt(40, 37, "MANUAL", LEFT_MODE); 807456a: 2303 movs r3, #3 807456c: 4a99 ldr r2, [pc, #612] ; (80747d4 ) 807456e: 2125 movs r1, #37 ; 0x25 8074570: 2028 movs r0, #40 ; 0x28 8074572: f7df f9e1 bl 8053938 break; 8074576: f023 b83d b.w 80975f4 case MAIN_SYGNAL: DrawLegend(); 807457a: f038 fed9 bl 80ad330 LCD_SetColors(LCD_COLOR_MYBROWN, LCD_COLOR_BLACK); 807457e: 498a ldr r1, [pc, #552] ; (80747a8 ) 8074580: 4895 ldr r0, [pc, #596] ; (80747d8 ) 8074582: f7df f913 bl 80537ac memset(str, 0, sizeof(str)); 8074586: f507 733b add.w r3, r7, #748 ; 0x2ec 807458a: 223c movs r2, #60 ; 0x3c 807458c: 2100 movs r1, #0 807458e: 4618 mov r0, r3 8074590: f058 fd5a bl 80cd048 str[0] = '"'; 8074594: f507 733b add.w r3, r7, #748 ; 0x2ec 8074598: 2222 movs r2, #34 ; 0x22 807459a: 701a strb r2, [r3, #0] strcat(str, FileName); 807459c: f507 733b add.w r3, r7, #748 ; 0x2ec 80745a0: 498e ldr r1, [pc, #568] ; (80747dc ) 80745a2: 4618 mov r0, r3 80745a4: f058 fe50 bl 80cd248 l = strlen(str); 80745a8: f507 733b add.w r3, r7, #748 ; 0x2ec 80745ac: 4618 mov r0, r3 80745ae: f7ab feb1 bl 8020314 80745b2: 4603 mov r3, r0 80745b4: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 str[l] = '"'; 80745b8: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 80745bc: f507 723b add.w r2, r7, #748 ; 0x2ec 80745c0: 2122 movs r1, #34 ; 0x22 80745c2: 54d1 strb r1, [r2, r3] BSP_LCD_DisplayStringAt(3, 30, str, LEFT_MODE); 80745c4: f507 723b add.w r2, r7, #748 ; 0x2ec 80745c8: 2303 movs r3, #3 80745ca: 211e movs r1, #30 80745cc: 2003 movs r0, #3 80745ce: f7df f9b3 bl 8053938 switch(menupos) 80745d2: 4b83 ldr r3, [pc, #524] ; (80747e0 ) 80745d4: 781b ldrb r3, [r3, #0] 80745d6: b2db uxtb r3, r3 80745d8: 2b07 cmp r3, #7 80745da: f200 81e4 bhi.w 80749a6 80745de: a201 add r2, pc, #4 ; (adr r2, 80745e4 ) 80745e0: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80745e4: 0807484b .word 0x0807484b 80745e8: 080749a7 .word 0x080749a7 80745ec: 08074605 .word 0x08074605 80745f0: 08074679 .word 0x08074679 80745f4: 080746ed .word 0x080746ed 80745f8: 08074761 .word 0x08074761 80745fc: 08074933 .word 0x08074933 8074600: 080748bf .word 0x080748bf { case ImageLeft: DrawImage(&bmSTOP41, 3, 108-26); 8074604: 2252 movs r2, #82 ; 0x52 8074606: 2103 movs r1, #3 8074608: 4876 ldr r0, [pc, #472] ; (80747e4 ) 807460a: f7df ffc3 bl 8054594 DrawImage(&bmLEFT_1_LIGHT, 3, 108); 807460e: 226c movs r2, #108 ; 0x6c 8074610: 2103 movs r1, #3 8074612: 4875 ldr r0, [pc, #468] ; (80747e8 ) 8074614: f7df ffbe bl 8054594 DrawImage(&bmRIGHT_1, 3, 108+26); 8074618: 2286 movs r2, #134 ; 0x86 807461a: 2103 movs r1, #3 807461c: 4873 ldr r0, [pc, #460] ; (80747ec ) 807461e: f7df ffb9 bl 8054594 DrawImage(&bmPLUS_1, 3, 108+52); 8074622: 22a0 movs r2, #160 ; 0xa0 8074624: 2103 movs r1, #3 8074626: 4872 ldr r0, [pc, #456] ; (80747f0 ) 8074628: f7df ffb4 bl 8054594 DrawImage(&bmMINUS_1, 3, 108+78); 807462c: 22ba movs r2, #186 ; 0xba 807462e: 2103 movs r1, #3 8074630: 4870 ldr r0, [pc, #448] ; (80747f4 ) 8074632: f7df ffaf bl 8054594 if(PlayingState.State == PLAYING) 8074636: 4b70 ldr r3, [pc, #448] ; (80747f8 ) 8074638: 6a5b ldr r3, [r3, #36] ; 0x24 807463a: 2b01 cmp r3, #1 807463c: d105 bne.n 807464a DrawImage(&bmPAUSE41, 3, 108+104); 807463e: 22d4 movs r2, #212 ; 0xd4 8074640: 2103 movs r1, #3 8074642: 486e ldr r0, [pc, #440] ; (80747fc ) 8074644: f7df ffa6 bl 8054594 8074648: e004 b.n 8074654 else DrawImage(&bmPLAY41, 3, 108+104); 807464a: 22d4 movs r2, #212 ; 0xd4 807464c: 2103 movs r1, #3 807464e: 486c ldr r0, [pc, #432] ; (8074800 ) 8074650: f7df ffa0 bl 8054594 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8074654: 4954 ldr r1, [pc, #336] ; (80747a8 ) 8074656: 486b ldr r0, [pc, #428] ; (8074804 ) 8074658: f7df f8a8 bl 80537ac x = 62 + CURSOR; 807465c: 4b6a ldr r3, [pc, #424] ; (8074808 ) 807465e: 681b ldr r3, [r3, #0] 8074660: 333e adds r3, #62 ; 0x3e 8074662: f8c7 3468 str.w r3, [r7, #1128] ; 0x468 BSP_LCD_DrawVLine(x, 44, 191); 8074666: f8d7 3468 ldr.w r3, [r7, #1128] ; 0x468 807466a: b29b uxth r3, r3 807466c: 22bf movs r2, #191 ; 0xbf 807466e: 212c movs r1, #44 ; 0x2c 8074670: 4618 mov r0, r3 8074672: f7df fa73 bl 8053b5c break; 8074676: e196 b.n 80749a6 case ZoomIn: DrawImage(&bmSTOP41, 3, 108-26); 8074678: 2252 movs r2, #82 ; 0x52 807467a: 2103 movs r1, #3 807467c: 4859 ldr r0, [pc, #356] ; (80747e4 ) 807467e: f7df ff89 bl 8054594 DrawImage(&bmLEFT_1, 3, 108); 8074682: 226c movs r2, #108 ; 0x6c 8074684: 2103 movs r1, #3 8074686: 4861 ldr r0, [pc, #388] ; (807480c ) 8074688: f7df ff84 bl 8054594 DrawImage(&bmRIGHT_1, 3, 108+26); 807468c: 2286 movs r2, #134 ; 0x86 807468e: 2103 movs r1, #3 8074690: 4856 ldr r0, [pc, #344] ; (80747ec ) 8074692: f7df ff7f bl 8054594 DrawImage(&bmPLUS_1_LIGHT, 3, 108+52); 8074696: 22a0 movs r2, #160 ; 0xa0 8074698: 2103 movs r1, #3 807469a: 485d ldr r0, [pc, #372] ; (8074810 ) 807469c: f7df ff7a bl 8054594 DrawImage(&bmMINUS_1, 3, 108+78); 80746a0: 22ba movs r2, #186 ; 0xba 80746a2: 2103 movs r1, #3 80746a4: 4853 ldr r0, [pc, #332] ; (80747f4 ) 80746a6: f7df ff75 bl 8054594 if(PlayingState.State == PLAYING) 80746aa: 4b53 ldr r3, [pc, #332] ; (80747f8 ) 80746ac: 6a5b ldr r3, [r3, #36] ; 0x24 80746ae: 2b01 cmp r3, #1 80746b0: d105 bne.n 80746be DrawImage(&bmPAUSE41, 3, 108+104); 80746b2: 22d4 movs r2, #212 ; 0xd4 80746b4: 2103 movs r1, #3 80746b6: 4851 ldr r0, [pc, #324] ; (80747fc ) 80746b8: f7df ff6c bl 8054594 80746bc: e004 b.n 80746c8 else DrawImage(&bmPLAY41, 3, 108+104); 80746be: 22d4 movs r2, #212 ; 0xd4 80746c0: 2103 movs r1, #3 80746c2: 484f ldr r0, [pc, #316] ; (8074800 ) 80746c4: f7df ff66 bl 8054594 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80746c8: 4937 ldr r1, [pc, #220] ; (80747a8 ) 80746ca: 484e ldr r0, [pc, #312] ; (8074804 ) 80746cc: f7df f86e bl 80537ac x = 62 + CURSOR; 80746d0: 4b4d ldr r3, [pc, #308] ; (8074808 ) 80746d2: 681b ldr r3, [r3, #0] 80746d4: 333e adds r3, #62 ; 0x3e 80746d6: f8c7 3468 str.w r3, [r7, #1128] ; 0x468 BSP_LCD_DrawVLine(x, 44, 191); 80746da: f8d7 3468 ldr.w r3, [r7, #1128] ; 0x468 80746de: b29b uxth r3, r3 80746e0: 22bf movs r2, #191 ; 0xbf 80746e2: 212c movs r1, #44 ; 0x2c 80746e4: 4618 mov r0, r3 80746e6: f7df fa39 bl 8053b5c break; 80746ea: e15c b.n 80749a6 case ZoomOut: DrawImage(&bmSTOP41, 3, 108-26); 80746ec: 2252 movs r2, #82 ; 0x52 80746ee: 2103 movs r1, #3 80746f0: 483c ldr r0, [pc, #240] ; (80747e4 ) 80746f2: f7df ff4f bl 8054594 DrawImage(&bmLEFT_1, 3, 108); 80746f6: 226c movs r2, #108 ; 0x6c 80746f8: 2103 movs r1, #3 80746fa: 4844 ldr r0, [pc, #272] ; (807480c ) 80746fc: f7df ff4a bl 8054594 DrawImage(&bmRIGHT_1, 3, 108+26); 8074700: 2286 movs r2, #134 ; 0x86 8074702: 2103 movs r1, #3 8074704: 4839 ldr r0, [pc, #228] ; (80747ec ) 8074706: f7df ff45 bl 8054594 DrawImage(&bmPLUS_1, 3, 108+52); 807470a: 22a0 movs r2, #160 ; 0xa0 807470c: 2103 movs r1, #3 807470e: 4838 ldr r0, [pc, #224] ; (80747f0 ) 8074710: f7df ff40 bl 8054594 DrawImage(&bmMINUS_1_LIGHT, 3, 108+78); 8074714: 22ba movs r2, #186 ; 0xba 8074716: 2103 movs r1, #3 8074718: 483e ldr r0, [pc, #248] ; (8074814 ) 807471a: f7df ff3b bl 8054594 if(PlayingState.State == PLAYING) 807471e: 4b36 ldr r3, [pc, #216] ; (80747f8 ) 8074720: 6a5b ldr r3, [r3, #36] ; 0x24 8074722: 2b01 cmp r3, #1 8074724: d105 bne.n 8074732 DrawImage(&bmPAUSE41, 3, 108+104); 8074726: 22d4 movs r2, #212 ; 0xd4 8074728: 2103 movs r1, #3 807472a: 4834 ldr r0, [pc, #208] ; (80747fc ) 807472c: f7df ff32 bl 8054594 8074730: e004 b.n 807473c else DrawImage(&bmPLAY41, 3, 108+104); 8074732: 22d4 movs r2, #212 ; 0xd4 8074734: 2103 movs r1, #3 8074736: 4832 ldr r0, [pc, #200] ; (8074800 ) 8074738: f7df ff2c bl 8054594 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 807473c: 491a ldr r1, [pc, #104] ; (80747a8 ) 807473e: 4831 ldr r0, [pc, #196] ; (8074804 ) 8074740: f7df f834 bl 80537ac x = 62 + CURSOR; 8074744: 4b30 ldr r3, [pc, #192] ; (8074808 ) 8074746: 681b ldr r3, [r3, #0] 8074748: 333e adds r3, #62 ; 0x3e 807474a: f8c7 3468 str.w r3, [r7, #1128] ; 0x468 BSP_LCD_DrawVLine(x, 44, 191); 807474e: f8d7 3468 ldr.w r3, [r7, #1128] ; 0x468 8074752: b29b uxth r3, r3 8074754: 22bf movs r2, #191 ; 0xbf 8074756: 212c movs r1, #44 ; 0x2c 8074758: 4618 mov r0, r3 807475a: f7df f9ff bl 8053b5c break; 807475e: e122 b.n 80749a6 case ImageRight: DrawImage(&bmSTOP41, 3, 108-26); 8074760: 2252 movs r2, #82 ; 0x52 8074762: 2103 movs r1, #3 8074764: 481f ldr r0, [pc, #124] ; (80747e4 ) 8074766: f7df ff15 bl 8054594 DrawImage(&bmLEFT_1, 3, 108); 807476a: 226c movs r2, #108 ; 0x6c 807476c: 2103 movs r1, #3 807476e: 4827 ldr r0, [pc, #156] ; (807480c ) 8074770: f7df ff10 bl 8054594 DrawImage(&bmRIGHT_1_LIGHT, 3, 108+26); 8074774: 2286 movs r2, #134 ; 0x86 8074776: 2103 movs r1, #3 8074778: 4827 ldr r0, [pc, #156] ; (8074818 ) 807477a: f7df ff0b bl 8054594 DrawImage(&bmPLUS_1, 3, 108+52); 807477e: 22a0 movs r2, #160 ; 0xa0 8074780: 2103 movs r1, #3 8074782: 481b ldr r0, [pc, #108] ; (80747f0 ) 8074784: f7df ff06 bl 8054594 DrawImage(&bmMINUS_1, 3, 108+78); 8074788: 22ba movs r2, #186 ; 0xba 807478a: 2103 movs r1, #3 807478c: 4819 ldr r0, [pc, #100] ; (80747f4 ) 807478e: f7df ff01 bl 8054594 if(PlayingState.State == PLAYING) 8074792: 4b19 ldr r3, [pc, #100] ; (80747f8 ) 8074794: 6a5b ldr r3, [r3, #36] ; 0x24 8074796: 2b01 cmp r3, #1 8074798: d140 bne.n 807481c DrawImage(&bmPAUSE41, 3, 108+104); 807479a: 22d4 movs r2, #212 ; 0xd4 807479c: 2103 movs r1, #3 807479e: 4817 ldr r0, [pc, #92] ; (80747fc ) 80747a0: f7df fef8 bl 8054594 80747a4: e03f b.n 8074826 80747a6: bf00 nop 80747a8: ff0a0f1f .word 0xff0a0f1f 80747ac: ffff0000 .word 0xffff0000 80747b0: ff404000 .word 0xff404000 80747b4: ff004000 .word 0xff004000 80747b8: ff400000 .word 0xff400000 80747bc: 20020038 .word 0x20020038 80747c0: 20023e60 .word 0x20023e60 80747c4: 200201dc .word 0x200201dc 80747c8: 20020029 .word 0x20020029 80747cc: ffff8080 .word 0xffff8080 80747d0: 080cfd20 .word 0x080cfd20 80747d4: 080cfd28 .word 0x080cfd28 80747d8: ffd3b36e .word 0xffd3b36e 80747dc: 20022bb8 .word 0x20022bb8 80747e0: 20020070 .word 0x20020070 80747e4: 08148a14 .word 0x08148a14 80747e8: 08114d3c .word 0x08114d3c 80747ec: 08146be4 .word 0x08146be4 80747f0: 081432ac .word 0x081432ac 80747f4: 0813b624 .word 0x0813b624 80747f8: 200228d8 .word 0x200228d8 80747fc: 0813ef5c .word 0x0813ef5c 8074800: 081405cc .word 0x081405cc 8074804: ff808080 .word 0xff808080 8074808: 2002006c .word 0x2002006c 807480c: 08114204 .word 0x08114204 8074810: 08143de4 .word 0x08143de4 8074814: 0813c15c .word 0x0813c15c 8074818: 0814771c .word 0x0814771c else DrawImage(&bmPLAY41, 3, 108+104); 807481c: 22d4 movs r2, #212 ; 0xd4 807481e: 2103 movs r1, #3 8074820: 48bd ldr r0, [pc, #756] ; (8074b18 ) 8074822: f7df feb7 bl 8054594 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8074826: 49bd ldr r1, [pc, #756] ; (8074b1c ) 8074828: 48bd ldr r0, [pc, #756] ; (8074b20 ) 807482a: f7de ffbf bl 80537ac x = 62 + CURSOR; 807482e: 4bbd ldr r3, [pc, #756] ; (8074b24 ) 8074830: 681b ldr r3, [r3, #0] 8074832: 333e adds r3, #62 ; 0x3e 8074834: f8c7 3468 str.w r3, [r7, #1128] ; 0x468 BSP_LCD_DrawVLine(x, 44, 191); 8074838: f8d7 3468 ldr.w r3, [r7, #1128] ; 0x468 807483c: b29b uxth r3, r3 807483e: 22bf movs r2, #191 ; 0xbf 8074840: 212c movs r1, #44 ; 0x2c 8074842: 4618 mov r0, r3 8074844: f7df f98a bl 8053b5c break; 8074848: e0ad b.n 80749a6 case StartStop: DrawImage(&bmSTOP41, 3, 108-26); 807484a: 2252 movs r2, #82 ; 0x52 807484c: 2103 movs r1, #3 807484e: 48b6 ldr r0, [pc, #728] ; (8074b28 ) 8074850: f7df fea0 bl 8054594 DrawImage(&bmLEFT_1, 3, 108); 8074854: 226c movs r2, #108 ; 0x6c 8074856: 2103 movs r1, #3 8074858: 48b4 ldr r0, [pc, #720] ; (8074b2c ) 807485a: f7df fe9b bl 8054594 DrawImage(&bmRIGHT_1, 3, 108+26); 807485e: 2286 movs r2, #134 ; 0x86 8074860: 2103 movs r1, #3 8074862: 48b3 ldr r0, [pc, #716] ; (8074b30 ) 8074864: f7df fe96 bl 8054594 DrawImage(&bmPLUS_1, 3, 108+52); 8074868: 22a0 movs r2, #160 ; 0xa0 807486a: 2103 movs r1, #3 807486c: 48b1 ldr r0, [pc, #708] ; (8074b34 ) 807486e: f7df fe91 bl 8054594 DrawImage(&bmMINUS_1, 3, 108+78); 8074872: 22ba movs r2, #186 ; 0xba 8074874: 2103 movs r1, #3 8074876: 48b0 ldr r0, [pc, #704] ; (8074b38 ) 8074878: f7df fe8c bl 8054594 if(PlayingState.State == PLAYING) 807487c: 4baf ldr r3, [pc, #700] ; (8074b3c ) 807487e: 6a5b ldr r3, [r3, #36] ; 0x24 8074880: 2b01 cmp r3, #1 8074882: d105 bne.n 8074890 DrawImage(&bmPAUSE41_LIGHT, 3, 108+104); 8074884: 22d4 movs r2, #212 ; 0xd4 8074886: 2103 movs r1, #3 8074888: 48ad ldr r0, [pc, #692] ; (8074b40 ) 807488a: f7df fe83 bl 8054594 807488e: e004 b.n 807489a else DrawImage(&bmPLAY41_LIGHT, 3, 108+104); 8074890: 22d4 movs r2, #212 ; 0xd4 8074892: 2103 movs r1, #3 8074894: 48ab ldr r0, [pc, #684] ; (8074b44 ) 8074896: f7df fe7d bl 8054594 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 807489a: 49a0 ldr r1, [pc, #640] ; (8074b1c ) 807489c: 48a0 ldr r0, [pc, #640] ; (8074b20 ) 807489e: f7de ff85 bl 80537ac x = 62 + CURSOR; 80748a2: 4ba0 ldr r3, [pc, #640] ; (8074b24 ) 80748a4: 681b ldr r3, [r3, #0] 80748a6: 333e adds r3, #62 ; 0x3e 80748a8: f8c7 3468 str.w r3, [r7, #1128] ; 0x468 BSP_LCD_DrawVLine(x, 44, 191); 80748ac: f8d7 3468 ldr.w r3, [r7, #1128] ; 0x468 80748b0: b29b uxth r3, r3 80748b2: 22bf movs r2, #191 ; 0xbf 80748b4: 212c movs r1, #44 ; 0x2c 80748b6: 4618 mov r0, r3 80748b8: f7df f950 bl 8053b5c break; 80748bc: e073 b.n 80749a6 case Stop: DrawImage(&bmSTOP41_LIGHT, 3, 108-26); 80748be: 2252 movs r2, #82 ; 0x52 80748c0: 2103 movs r1, #3 80748c2: 48a1 ldr r0, [pc, #644] ; (8074b48 ) 80748c4: f7df fe66 bl 8054594 DrawImage(&bmLEFT_1, 3, 108); 80748c8: 226c movs r2, #108 ; 0x6c 80748ca: 2103 movs r1, #3 80748cc: 4897 ldr r0, [pc, #604] ; (8074b2c ) 80748ce: f7df fe61 bl 8054594 DrawImage(&bmRIGHT_1, 3, 108+26); 80748d2: 2286 movs r2, #134 ; 0x86 80748d4: 2103 movs r1, #3 80748d6: 4896 ldr r0, [pc, #600] ; (8074b30 ) 80748d8: f7df fe5c bl 8054594 DrawImage(&bmPLUS_1, 3, 108+52); 80748dc: 22a0 movs r2, #160 ; 0xa0 80748de: 2103 movs r1, #3 80748e0: 4894 ldr r0, [pc, #592] ; (8074b34 ) 80748e2: f7df fe57 bl 8054594 DrawImage(&bmMINUS_1, 3, 108+78); 80748e6: 22ba movs r2, #186 ; 0xba 80748e8: 2103 movs r1, #3 80748ea: 4893 ldr r0, [pc, #588] ; (8074b38 ) 80748ec: f7df fe52 bl 8054594 if(PlayingState.State == PLAYING) 80748f0: 4b92 ldr r3, [pc, #584] ; (8074b3c ) 80748f2: 6a5b ldr r3, [r3, #36] ; 0x24 80748f4: 2b01 cmp r3, #1 80748f6: d105 bne.n 8074904 DrawImage(&bmPAUSE41, 3, 108+104); 80748f8: 22d4 movs r2, #212 ; 0xd4 80748fa: 2103 movs r1, #3 80748fc: 4893 ldr r0, [pc, #588] ; (8074b4c ) 80748fe: f7df fe49 bl 8054594 8074902: e004 b.n 807490e else DrawImage(&bmPLAY41, 3, 108+104); 8074904: 22d4 movs r2, #212 ; 0xd4 8074906: 2103 movs r1, #3 8074908: 4883 ldr r0, [pc, #524] ; (8074b18 ) 807490a: f7df fe43 bl 8054594 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 807490e: 4983 ldr r1, [pc, #524] ; (8074b1c ) 8074910: 4883 ldr r0, [pc, #524] ; (8074b20 ) 8074912: f7de ff4b bl 80537ac x = 62 + CURSOR; 8074916: 4b83 ldr r3, [pc, #524] ; (8074b24 ) 8074918: 681b ldr r3, [r3, #0] 807491a: 333e adds r3, #62 ; 0x3e 807491c: f8c7 3468 str.w r3, [r7, #1128] ; 0x468 BSP_LCD_DrawVLine(x, 44, 191); 8074920: f8d7 3468 ldr.w r3, [r7, #1128] ; 0x468 8074924: b29b uxth r3, r3 8074926: 22bf movs r2, #191 ; 0xbf 8074928: 212c movs r1, #44 ; 0x2c 807492a: 4618 mov r0, r3 807492c: f7df f916 bl 8053b5c break; 8074930: e039 b.n 80749a6 case Cursor: DrawImage(&bmSTOP41, 3, 108-26); 8074932: 2252 movs r2, #82 ; 0x52 8074934: 2103 movs r1, #3 8074936: 487c ldr r0, [pc, #496] ; (8074b28 ) 8074938: f7df fe2c bl 8054594 DrawImage(&bmLEFT_1, 3, 108); 807493c: 226c movs r2, #108 ; 0x6c 807493e: 2103 movs r1, #3 8074940: 487a ldr r0, [pc, #488] ; (8074b2c ) 8074942: f7df fe27 bl 8054594 DrawImage(&bmRIGHT_1, 3, 108+26); 8074946: 2286 movs r2, #134 ; 0x86 8074948: 2103 movs r1, #3 807494a: 4879 ldr r0, [pc, #484] ; (8074b30 ) 807494c: f7df fe22 bl 8054594 DrawImage(&bmPLUS_1, 3, 108+52); 8074950: 22a0 movs r2, #160 ; 0xa0 8074952: 2103 movs r1, #3 8074954: 4877 ldr r0, [pc, #476] ; (8074b34 ) 8074956: f7df fe1d bl 8054594 DrawImage(&bmMINUS_1, 3, 108+78); 807495a: 22ba movs r2, #186 ; 0xba 807495c: 2103 movs r1, #3 807495e: 4876 ldr r0, [pc, #472] ; (8074b38 ) 8074960: f7df fe18 bl 8054594 if(PlayingState.State == PLAYING) 8074964: 4b75 ldr r3, [pc, #468] ; (8074b3c ) 8074966: 6a5b ldr r3, [r3, #36] ; 0x24 8074968: 2b01 cmp r3, #1 807496a: d105 bne.n 8074978 DrawImage(&bmPAUSE41, 3, 108+104); 807496c: 22d4 movs r2, #212 ; 0xd4 807496e: 2103 movs r1, #3 8074970: 4876 ldr r0, [pc, #472] ; (8074b4c ) 8074972: f7df fe0f bl 8054594 8074976: e004 b.n 8074982 else DrawImage(&bmPLAY41, 3, 108+104); 8074978: 22d4 movs r2, #212 ; 0xd4 807497a: 2103 movs r1, #3 807497c: 4866 ldr r0, [pc, #408] ; (8074b18 ) 807497e: f7df fe09 bl 8054594 LCD_SetColors(LCD_COLOR_RED, LCD_COLOR_BLACK); 8074982: 4966 ldr r1, [pc, #408] ; (8074b1c ) 8074984: 4872 ldr r0, [pc, #456] ; (8074b50 ) 8074986: f7de ff11 bl 80537ac x = 62 + CURSOR; 807498a: 4b66 ldr r3, [pc, #408] ; (8074b24 ) 807498c: 681b ldr r3, [r3, #0] 807498e: 333e adds r3, #62 ; 0x3e 8074990: f8c7 3468 str.w r3, [r7, #1128] ; 0x468 BSP_LCD_DrawVLine(x, 44, 191); 8074994: f8d7 3468 ldr.w r3, [r7, #1128] ; 0x468 8074998: b29b uxth r3, r3 807499a: 22bf movs r2, #191 ; 0xbf 807499c: 212c movs r1, #44 ; 0x2c 807499e: 4618 mov r0, r3 80749a0: f7df f8dc bl 8053b5c break; 80749a4: bf00 nop } //************************* if(PlayingState.State == PLAYING) { 80749a6: 4b65 ldr r3, [pc, #404] ; (8074b3c ) 80749a8: 6a5b ldr r3, [r3, #36] ; 0x24 80749aa: 2b01 cmp r3, #1 80749ac: d101 bne.n 80749b2 SeekFileGTR(); 80749ae: f7b4 fab7 bl 8028f20 } //************************* DrawGraph(); 80749b2: f031 fb5d bl 80a6070 DrawCursorData(); 80749b6: f02f f873 bl 80a3aa0 DrawScaleValue(); 80749ba: f037 fa59 bl 80abe70 BSP_LCD_SetFont(&Font24); 80749be: 4865 ldr r0, [pc, #404] ; (8074b54 ) 80749c0: f7de ff30 bl 8053824 LCD_SetColors(LCD_COLOR_WHITE, 0xFF000000); 80749c4: f04f 417f mov.w r1, #4278190080 ; 0xff000000 80749c8: f04f 30ff mov.w r0, #4294967295 80749cc: f7de feee bl 80537ac BSP_LCD_DisplayStringAt(66, 45, "A", LEFT_MODE); 80749d0: 2303 movs r3, #3 80749d2: 4a61 ldr r2, [pc, #388] ; (8074b58 ) 80749d4: 212d movs r1, #45 ; 0x2d 80749d6: 2042 movs r0, #66 ; 0x42 80749d8: f7de ffae bl 8053938 break; 80749dc: f022 be0a b.w 80975f4 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); 80749e0: 494e ldr r1, [pc, #312] ; (8074b1c ) 80749e2: 485e ldr r0, [pc, #376] ; (8074b5c ) 80749e4: f7de fee2 bl 80537ac BSP_LCD_DrawRect(2, 35, 314, 201); 80749e8: 23c9 movs r3, #201 ; 0xc9 80749ea: f44f 729d mov.w r2, #314 ; 0x13a 80749ee: 2123 movs r1, #35 ; 0x23 80749f0: 2002 movs r0, #2 80749f2: f7df f9e1 bl 8053db8 if(menupos == Mode) 80749f6: 4b5a ldr r3, [pc, #360] ; (8074b60 ) 80749f8: 781b ldrb r3, [r3, #0] 80749fa: b2db uxtb r3, r3 80749fc: 2b01 cmp r3, #1 80749fe: d140 bne.n 8074a82 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8074a00: 4946 ldr r1, [pc, #280] ; (8074b1c ) 8074a02: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8074a06: f7de fed1 bl 80537ac if(pardata.LANG == RUS) 8074a0a: 4b56 ldr r3, [pc, #344] ; (8074b64 ) 8074a0c: 7b1b ldrb r3, [r3, #12] 8074a0e: b2db uxtb r3, r3 8074a10: 2b00 cmp r3, #0 8074a12: d105 bne.n 8074a20 LCD_DisplayString(10, LCD_LINE_5, "Âèðòóàëüíûå ïðèáîðû"); 8074a14: 4a54 ldr r2, [pc, #336] ; (8074b68 ) 8074a16: 215a movs r1, #90 ; 0x5a 8074a18: 200a movs r0, #10 8074a1a: f7df fc6f bl 80542fc 8074a1e: e004 b.n 8074a2a else LCD_DisplayString(10, LCD_LINE_5, "Virtual instruments"); 8074a20: 4a52 ldr r2, [pc, #328] ; (8074b6c ) 8074a22: 215a movs r1, #90 ; 0x5a 8074a24: 200a movs r0, #10 8074a26: f7df fc69 bl 80542fc LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8074a2a: 493c ldr r1, [pc, #240] ; (8074b1c ) 8074a2c: f04f 30ff mov.w r0, #4294967295 8074a30: f7de febc bl 80537ac if(pardata.LANG == RUS) 8074a34: 4b4b ldr r3, [pc, #300] ; (8074b64 ) 8074a36: 7b1b ldrb r3, [r3, #12] 8074a38: b2db uxtb r3, r3 8074a3a: 2b00 cmp r3, #0 8074a3c: d110 bne.n 8074a60 { LCD_DisplayString(10, LCD_LINE_6, "Íàñòðîéêè"); 8074a3e: 4a4c ldr r2, [pc, #304] ; (8074b70 ) 8074a40: 216a movs r1, #106 ; 0x6a 8074a42: 200a movs r0, #10 8074a44: f7df fc5a bl 80542fc LCD_DisplayString(10, LCD_LINE_7, "Ôàéëû"); 8074a48: 4a4a ldr r2, [pc, #296] ; (8074b74 ) 8074a4a: 217a movs r1, #122 ; 0x7a 8074a4c: 200a movs r0, #10 8074a4e: f7df fc55 bl 80542fc LCD_DisplayString(10, LCD_LINE_8, "Ìàðøðóòû"); 8074a52: 4a49 ldr r2, [pc, #292] ; (8074b78 ) 8074a54: 218a movs r1, #138 ; 0x8a 8074a56: 200a movs r0, #10 8074a58: f7df fc50 bl 80542fc } } } } break; 8074a5c: f022 bda5 b.w 80975aa LCD_DisplayString(10, LCD_LINE_6, "Setup"); 8074a60: 4a46 ldr r2, [pc, #280] ; (8074b7c ) 8074a62: 216a movs r1, #106 ; 0x6a 8074a64: 200a movs r0, #10 8074a66: f7df fc49 bl 80542fc LCD_DisplayString(10, LCD_LINE_7, "Files"); 8074a6a: 4a45 ldr r2, [pc, #276] ; (8074b80 ) 8074a6c: 217a movs r1, #122 ; 0x7a 8074a6e: 200a movs r0, #10 8074a70: f7df fc44 bl 80542fc LCD_DisplayString(10, LCD_LINE_8, "Routes"); 8074a74: 4a43 ldr r2, [pc, #268] ; (8074b84 ) 8074a76: 218a movs r1, #138 ; 0x8a 8074a78: 200a movs r0, #10 8074a7a: f7df fc3f bl 80542fc break; 8074a7e: f022 bd94 b.w 80975aa if(menupos == Settings) 8074a82: 4b37 ldr r3, [pc, #220] ; (8074b60 ) 8074a84: 781b ldrb r3, [r3, #0] 8074a86: b2db uxtb r3, r3 8074a88: 2b02 cmp r3, #2 8074a8a: d17d bne.n 8074b88 if(pardata.LANG == RUS) 8074a8c: 4b35 ldr r3, [pc, #212] ; (8074b64 ) 8074a8e: 7b1b ldrb r3, [r3, #12] 8074a90: b2db uxtb r3, r3 8074a92: 2b00 cmp r3, #0 8074a94: d11f bne.n 8074ad6 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8074a96: 4921 ldr r1, [pc, #132] ; (8074b1c ) 8074a98: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8074a9c: f7de fe86 bl 80537ac LCD_DisplayString(10, LCD_LINE_6, "Íàñòðîéêè"); 8074aa0: 4a33 ldr r2, [pc, #204] ; (8074b70 ) 8074aa2: 216a movs r1, #106 ; 0x6a 8074aa4: 200a movs r0, #10 8074aa6: f7df fc29 bl 80542fc LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8074aaa: 491c ldr r1, [pc, #112] ; (8074b1c ) 8074aac: f04f 30ff mov.w r0, #4294967295 8074ab0: f7de fe7c bl 80537ac LCD_DisplayString(10, LCD_LINE_5, "Âèðòóàëüíûå ïðèáîðû"); 8074ab4: 4a2c ldr r2, [pc, #176] ; (8074b68 ) 8074ab6: 215a movs r1, #90 ; 0x5a 8074ab8: 200a movs r0, #10 8074aba: f7df fc1f bl 80542fc LCD_DisplayString(10, LCD_LINE_7, "Ôàéëû"); 8074abe: 4a2d ldr r2, [pc, #180] ; (8074b74 ) 8074ac0: 217a movs r1, #122 ; 0x7a 8074ac2: 200a movs r0, #10 8074ac4: f7df fc1a bl 80542fc LCD_DisplayString(10, LCD_LINE_8, "Ìàðøðóòû"); 8074ac8: 4a2b ldr r2, [pc, #172] ; (8074b78 ) 8074aca: 218a movs r1, #138 ; 0x8a 8074acc: 200a movs r0, #10 8074ace: f7df fc15 bl 80542fc break; 8074ad2: f022 bd6a b.w 80975aa LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8074ad6: 4911 ldr r1, [pc, #68] ; (8074b1c ) 8074ad8: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8074adc: f7de fe66 bl 80537ac LCD_DisplayString(10, LCD_LINE_6, "Setup"); 8074ae0: 4a26 ldr r2, [pc, #152] ; (8074b7c ) 8074ae2: 216a movs r1, #106 ; 0x6a 8074ae4: 200a movs r0, #10 8074ae6: f7df fc09 bl 80542fc LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8074aea: 490c ldr r1, [pc, #48] ; (8074b1c ) 8074aec: f04f 30ff mov.w r0, #4294967295 8074af0: f7de fe5c bl 80537ac LCD_DisplayString(10, LCD_LINE_5, "Virtual instruments"); 8074af4: 4a1d ldr r2, [pc, #116] ; (8074b6c ) 8074af6: 215a movs r1, #90 ; 0x5a 8074af8: 200a movs r0, #10 8074afa: f7df fbff bl 80542fc LCD_DisplayString(10, LCD_LINE_7, "Files"); 8074afe: 4a20 ldr r2, [pc, #128] ; (8074b80 ) 8074b00: 217a movs r1, #122 ; 0x7a 8074b02: 200a movs r0, #10 8074b04: f7df fbfa bl 80542fc LCD_DisplayString(10, LCD_LINE_8, "Routes"); 8074b08: 4a1e ldr r2, [pc, #120] ; (8074b84 ) 8074b0a: 218a movs r1, #138 ; 0x8a 8074b0c: 200a movs r0, #10 8074b0e: f7df fbf5 bl 80542fc break; 8074b12: f022 bd4a b.w 80975aa 8074b16: bf00 nop 8074b18: 081405cc .word 0x081405cc 8074b1c: ff0a0f1f .word 0xff0a0f1f 8074b20: ff808080 .word 0xff808080 8074b24: 2002006c .word 0x2002006c 8074b28: 08148a14 .word 0x08148a14 8074b2c: 08114204 .word 0x08114204 8074b30: 08146be4 .word 0x08146be4 8074b34: 081432ac .word 0x081432ac 8074b38: 0813b624 .word 0x0813b624 8074b3c: 200228d8 .word 0x200228d8 8074b40: 0813fa94 .word 0x0813fa94 8074b44: 08141104 .word 0x08141104 8074b48: 0814954c .word 0x0814954c 8074b4c: 0813ef5c .word 0x0813ef5c 8074b50: ffff0000 .word 0xffff0000 8074b54: 20020058 .word 0x20020058 8074b58: 080ce69c .word 0x080ce69c 8074b5c: ffd3d3d3 .word 0xffd3d3d3 8074b60: 20020070 .word 0x20020070 8074b64: 20023e60 .word 0x20023e60 8074b68: 080cfd30 .word 0x080cfd30 8074b6c: 080cfd44 .word 0x080cfd44 8074b70: 080cfd58 .word 0x080cfd58 8074b74: 080cfd64 .word 0x080cfd64 8074b78: 080cfd6c .word 0x080cfd6c 8074b7c: 080cfd78 .word 0x080cfd78 8074b80: 080cfd80 .word 0x080cfd80 8074b84: 080cfd88 .word 0x080cfd88 if(menupos == PlayFiles) 8074b88: 4bc2 ldr r3, [pc, #776] ; (8074e94 ) 8074b8a: 781b ldrb r3, [r3, #0] 8074b8c: b2db uxtb r3, r3 8074b8e: 2b03 cmp r3, #3 8074b90: d144 bne.n 8074c1c if(pardata.LANG == RUS) 8074b92: 4bc1 ldr r3, [pc, #772] ; (8074e98 ) 8074b94: 7b1b ldrb r3, [r3, #12] 8074b96: b2db uxtb r3, r3 8074b98: 2b00 cmp r3, #0 8074b9a: d11f bne.n 8074bdc LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8074b9c: 49bf ldr r1, [pc, #764] ; (8074e9c ) 8074b9e: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8074ba2: f7de fe03 bl 80537ac LCD_DisplayString(10, LCD_LINE_7, "Ôàéëû"); 8074ba6: 4abe ldr r2, [pc, #760] ; (8074ea0 ) 8074ba8: 217a movs r1, #122 ; 0x7a 8074baa: 200a movs r0, #10 8074bac: f7df fba6 bl 80542fc LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8074bb0: 49ba ldr r1, [pc, #744] ; (8074e9c ) 8074bb2: f04f 30ff mov.w r0, #4294967295 8074bb6: f7de fdf9 bl 80537ac LCD_DisplayString(10, LCD_LINE_5, "Âèðòóàëüíûå ïðèáîðû"); 8074bba: 4aba ldr r2, [pc, #744] ; (8074ea4 ) 8074bbc: 215a movs r1, #90 ; 0x5a 8074bbe: 200a movs r0, #10 8074bc0: f7df fb9c bl 80542fc LCD_DisplayString(10, LCD_LINE_6, "Íàñòðîéêè"); 8074bc4: 4ab8 ldr r2, [pc, #736] ; (8074ea8 ) 8074bc6: 216a movs r1, #106 ; 0x6a 8074bc8: 200a movs r0, #10 8074bca: f7df fb97 bl 80542fc LCD_DisplayString(10, LCD_LINE_8, "Ìàðøðóòû"); 8074bce: 4ab7 ldr r2, [pc, #732] ; (8074eac ) 8074bd0: 218a movs r1, #138 ; 0x8a 8074bd2: 200a movs r0, #10 8074bd4: f7df fb92 bl 80542fc break; 8074bd8: f022 bce7 b.w 80975aa LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8074bdc: 49af ldr r1, [pc, #700] ; (8074e9c ) 8074bde: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8074be2: f7de fde3 bl 80537ac LCD_DisplayString(10, LCD_LINE_7, "Files"); 8074be6: 4ab2 ldr r2, [pc, #712] ; (8074eb0 ) 8074be8: 217a movs r1, #122 ; 0x7a 8074bea: 200a movs r0, #10 8074bec: f7df fb86 bl 80542fc LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8074bf0: 49aa ldr r1, [pc, #680] ; (8074e9c ) 8074bf2: f04f 30ff mov.w r0, #4294967295 8074bf6: f7de fdd9 bl 80537ac LCD_DisplayString(10, LCD_LINE_5, "Virtual instruments"); 8074bfa: 4aae ldr r2, [pc, #696] ; (8074eb4 ) 8074bfc: 215a movs r1, #90 ; 0x5a 8074bfe: 200a movs r0, #10 8074c00: f7df fb7c bl 80542fc LCD_DisplayString(10, LCD_LINE_6, "Setup"); 8074c04: 4aac ldr r2, [pc, #688] ; (8074eb8 ) 8074c06: 216a movs r1, #106 ; 0x6a 8074c08: 200a movs r0, #10 8074c0a: f7df fb77 bl 80542fc LCD_DisplayString(10, LCD_LINE_8, "Routes"); 8074c0e: 4aab ldr r2, [pc, #684] ; (8074ebc ) 8074c10: 218a movs r1, #138 ; 0x8a 8074c12: 200a movs r0, #10 8074c14: f7df fb72 bl 80542fc break; 8074c18: f022 bcc7 b.w 80975aa if(menupos == Route) 8074c1c: 4b9d ldr r3, [pc, #628] ; (8074e94 ) 8074c1e: 781b ldrb r3, [r3, #0] 8074c20: b2db uxtb r3, r3 8074c22: 2b04 cmp r3, #4 8074c24: d144 bne.n 8074cb0 if(pardata.LANG == RUS) 8074c26: 4b9c ldr r3, [pc, #624] ; (8074e98 ) 8074c28: 7b1b ldrb r3, [r3, #12] 8074c2a: b2db uxtb r3, r3 8074c2c: 2b00 cmp r3, #0 8074c2e: d11f bne.n 8074c70 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8074c30: 499a ldr r1, [pc, #616] ; (8074e9c ) 8074c32: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8074c36: f7de fdb9 bl 80537ac LCD_DisplayString(10, LCD_LINE_8, "Ìàðøðóòû"); 8074c3a: 4a9c ldr r2, [pc, #624] ; (8074eac ) 8074c3c: 218a movs r1, #138 ; 0x8a 8074c3e: 200a movs r0, #10 8074c40: f7df fb5c bl 80542fc LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8074c44: 4995 ldr r1, [pc, #596] ; (8074e9c ) 8074c46: f04f 30ff mov.w r0, #4294967295 8074c4a: f7de fdaf bl 80537ac LCD_DisplayString(10, LCD_LINE_5, "Âèðòóàëüíûå ïðèáîðû"); 8074c4e: 4a95 ldr r2, [pc, #596] ; (8074ea4 ) 8074c50: 215a movs r1, #90 ; 0x5a 8074c52: 200a movs r0, #10 8074c54: f7df fb52 bl 80542fc LCD_DisplayString(10, LCD_LINE_6, "Íàñòðîéêè"); 8074c58: 4a93 ldr r2, [pc, #588] ; (8074ea8 ) 8074c5a: 216a movs r1, #106 ; 0x6a 8074c5c: 200a movs r0, #10 8074c5e: f7df fb4d bl 80542fc LCD_DisplayString(10, LCD_LINE_7, "Ôàéëû"); 8074c62: 4a8f ldr r2, [pc, #572] ; (8074ea0 ) 8074c64: 217a movs r1, #122 ; 0x7a 8074c66: 200a movs r0, #10 8074c68: f7df fb48 bl 80542fc break; 8074c6c: f022 bc9d b.w 80975aa LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8074c70: 498a ldr r1, [pc, #552] ; (8074e9c ) 8074c72: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8074c76: f7de fd99 bl 80537ac LCD_DisplayString(10, LCD_LINE_8, "Routes"); 8074c7a: 4a90 ldr r2, [pc, #576] ; (8074ebc ) 8074c7c: 218a movs r1, #138 ; 0x8a 8074c7e: 200a movs r0, #10 8074c80: f7df fb3c bl 80542fc LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8074c84: 4985 ldr r1, [pc, #532] ; (8074e9c ) 8074c86: f04f 30ff mov.w r0, #4294967295 8074c8a: f7de fd8f bl 80537ac LCD_DisplayString(10, LCD_LINE_5, "Virtual instruments"); 8074c8e: 4a89 ldr r2, [pc, #548] ; (8074eb4 ) 8074c90: 215a movs r1, #90 ; 0x5a 8074c92: 200a movs r0, #10 8074c94: f7df fb32 bl 80542fc LCD_DisplayString(10, LCD_LINE_6, "Setup"); 8074c98: 4a87 ldr r2, [pc, #540] ; (8074eb8 ) 8074c9a: 216a movs r1, #106 ; 0x6a 8074c9c: 200a movs r0, #10 8074c9e: f7df fb2d bl 80542fc LCD_DisplayString(10, LCD_LINE_7, "Files"); 8074ca2: 4a83 ldr r2, [pc, #524] ; (8074eb0 ) 8074ca4: 217a movs r1, #122 ; 0x7a 8074ca6: 200a movs r0, #10 8074ca8: f7df fb28 bl 80542fc break; 8074cac: f022 bc7d b.w 80975aa if(menupos == AskRouteNo) 8074cb0: 4b78 ldr r3, [pc, #480] ; (8074e94 ) 8074cb2: 781b ldrb r3, [r3, #0] 8074cb4: b2db uxtb r3, r3 8074cb6: 2b09 cmp r3, #9 8074cb8: f040 8114 bne.w 8074ee4 if(pardata.LANG == RUS) 8074cbc: 4b76 ldr r3, [pc, #472] ; (8074e98 ) 8074cbe: 7b1b ldrb r3, [r3, #12] 8074cc0: b2db uxtb r3, r3 8074cc2: 2b00 cmp r3, #0 8074cc4: d172 bne.n 8074dac LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8074cc6: 4975 ldr r1, [pc, #468] ; (8074e9c ) 8074cc8: f04f 30ff mov.w r0, #4294967295 8074ccc: f7de fd6e bl 80537ac LCD_DisplayString(10, LCD_LINE_5, "Âèðòóàëüíûå ïðèáîðû"); 8074cd0: 4a74 ldr r2, [pc, #464] ; (8074ea4 ) 8074cd2: 215a movs r1, #90 ; 0x5a 8074cd4: 200a movs r0, #10 8074cd6: f7df fb11 bl 80542fc LCD_DisplayString(10, LCD_LINE_6, "Íàñòðîéêè"); 8074cda: 4a73 ldr r2, [pc, #460] ; (8074ea8 ) 8074cdc: 216a movs r1, #106 ; 0x6a 8074cde: 200a movs r0, #10 8074ce0: f7df fb0c bl 80542fc LCD_DisplayString(10, LCD_LINE_7, "Ôàéëû"); 8074ce4: 4a6e ldr r2, [pc, #440] ; (8074ea0 ) 8074ce6: 217a movs r1, #122 ; 0x7a 8074ce8: 200a movs r0, #10 8074cea: f7df fb07 bl 80542fc LCD_DisplayString(10, LCD_LINE_8, "Ìàðøðóòû"); 8074cee: 4a6f ldr r2, [pc, #444] ; (8074eac ) 8074cf0: 218a movs r1, #138 ; 0x8a 8074cf2: 200a movs r0, #10 8074cf4: f7df fb02 bl 80542fc LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8074cf8: 4968 ldr r1, [pc, #416] ; (8074e9c ) 8074cfa: f04f 30ff mov.w r0, #4294967295 8074cfe: f7de fd55 bl 80537ac BSP_LCD_FillRect(60-20, 72, 200+40, 124); 8074d02: 237c movs r3, #124 ; 0x7c 8074d04: 22f0 movs r2, #240 ; 0xf0 8074d06: 2148 movs r1, #72 ; 0x48 8074d08: 2028 movs r0, #40 ; 0x28 8074d0a: f7df f9dd bl 80540c8 LCD_SetColors(LCD_COLOR_BLACK, LCD_COLOR_BLACK); 8074d0e: 4963 ldr r1, [pc, #396] ; (8074e9c ) 8074d10: 4862 ldr r0, [pc, #392] ; (8074e9c ) 8074d12: f7de fd4b bl 80537ac BSP_LCD_FillRect(62-20, 74, 196+40, 120); 8074d16: 2378 movs r3, #120 ; 0x78 8074d18: 22ec movs r2, #236 ; 0xec 8074d1a: 214a movs r1, #74 ; 0x4a 8074d1c: 202a movs r0, #42 ; 0x2a 8074d1e: f7df f9d3 bl 80540c8 BSP_LCD_SetFont(&Font12); 8074d22: 4867 ldr r0, [pc, #412] ; (8074ec0 ) 8074d24: f7de fd7e bl 8053824 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8074d28: 495c ldr r1, [pc, #368] ; (8074e9c ) 8074d2a: f04f 30ff mov.w r0, #4294967295 8074d2e: f7de fd3d bl 80537ac BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "Õîòèòå ïðîäîëæèòü ìàðøðóò", CENTER_MODE); 8074d32: 2301 movs r3, #1 8074d34: 4a63 ldr r2, [pc, #396] ; (8074ec4 ) 8074d36: 217a movs r1, #122 ; 0x7a 8074d38: 20a0 movs r0, #160 ; 0xa0 8074d3a: f7de fdfd bl 8053938 memset(str2, 0, sizeof(str2)); 8074d3e: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8074d42: 223c movs r2, #60 ; 0x3c 8074d44: 2100 movs r1, #0 8074d46: 4618 mov r0, r3 8074d48: f058 f97e bl 80cd048 strcpy(str2, (void *) &pardata.ROUTE_NAME); 8074d4c: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8074d50: 495d ldr r1, [pc, #372] ; (8074ec8 ) 8074d52: 4618 mov r0, r3 8074d54: f058 fa95 bl 80cd282 strcat(str2, "?"); 8074d58: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8074d5c: 4618 mov r0, r3 8074d5e: f7ab fad9 bl 8020314 8074d62: 4603 mov r3, r0 8074d64: 461a mov r2, r3 8074d66: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8074d6a: 4413 add r3, r2 8074d6c: 4957 ldr r1, [pc, #348] ; (8074ecc ) 8074d6e: 461a mov r2, r3 8074d70: 460b mov r3, r1 8074d72: 881b ldrh r3, [r3, #0] 8074d74: 8013 strh r3, [r2, #0] BSP_LCD_DisplayStringAt(160, LCD_LINE_8, str2, CENTER_MODE); 8074d76: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8074d7a: 2301 movs r3, #1 8074d7c: 218a movs r1, #138 ; 0x8a 8074d7e: 20a0 movs r0, #160 ; 0xa0 8074d80: f7de fdda bl 8053938 BSP_LCD_DisplayStringAt(258, 170, "Äà", RIGHT_MODE); 8074d84: 2302 movs r3, #2 8074d86: 4a52 ldr r2, [pc, #328] ; (8074ed0 ) 8074d88: 21aa movs r1, #170 ; 0xaa 8074d8a: f44f 7081 mov.w r0, #258 ; 0x102 8074d8e: f7de fdd3 bl 8053938 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8074d92: 4942 ldr r1, [pc, #264] ; (8074e9c ) 8074d94: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8074d98: f7de fd08 bl 80537ac BSP_LCD_DisplayStringAt(62, 170, "Íåò", LEFT_MODE); 8074d9c: 2303 movs r3, #3 8074d9e: 4a4d ldr r2, [pc, #308] ; (8074ed4 ) 8074da0: 21aa movs r1, #170 ; 0xaa 8074da2: 203e movs r0, #62 ; 0x3e 8074da4: f7de fdc8 bl 8053938 break; 8074da8: f022 bbff b.w 80975aa LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8074dac: 493b ldr r1, [pc, #236] ; (8074e9c ) 8074dae: f04f 30ff mov.w r0, #4294967295 8074db2: f7de fcfb bl 80537ac LCD_DisplayString(10, LCD_LINE_5, "Virtual instruments"); 8074db6: 4a3f ldr r2, [pc, #252] ; (8074eb4 ) 8074db8: 215a movs r1, #90 ; 0x5a 8074dba: 200a movs r0, #10 8074dbc: f7df fa9e bl 80542fc LCD_DisplayString(10, LCD_LINE_6, "Setup"); 8074dc0: 4a3d ldr r2, [pc, #244] ; (8074eb8 ) 8074dc2: 216a movs r1, #106 ; 0x6a 8074dc4: 200a movs r0, #10 8074dc6: f7df fa99 bl 80542fc LCD_DisplayString(10, LCD_LINE_7, "Files"); 8074dca: 4a39 ldr r2, [pc, #228] ; (8074eb0 ) 8074dcc: 217a movs r1, #122 ; 0x7a 8074dce: 200a movs r0, #10 8074dd0: f7df fa94 bl 80542fc LCD_DisplayString(10, LCD_LINE_8, "Routes"); 8074dd4: 4a39 ldr r2, [pc, #228] ; (8074ebc ) 8074dd6: 218a movs r1, #138 ; 0x8a 8074dd8: 200a movs r0, #10 8074dda: f7df fa8f bl 80542fc LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8074dde: 492f ldr r1, [pc, #188] ; (8074e9c ) 8074de0: f04f 30ff mov.w r0, #4294967295 8074de4: f7de fce2 bl 80537ac BSP_LCD_FillRect(60-20, 72, 200+40, 124); 8074de8: 237c movs r3, #124 ; 0x7c 8074dea: 22f0 movs r2, #240 ; 0xf0 8074dec: 2148 movs r1, #72 ; 0x48 8074dee: 2028 movs r0, #40 ; 0x28 8074df0: f7df f96a bl 80540c8 LCD_SetColors(LCD_COLOR_BLACK, LCD_COLOR_BLACK); 8074df4: 4929 ldr r1, [pc, #164] ; (8074e9c ) 8074df6: 4829 ldr r0, [pc, #164] ; (8074e9c ) 8074df8: f7de fcd8 bl 80537ac BSP_LCD_FillRect(62-20, 74, 196+40, 120); 8074dfc: 2378 movs r3, #120 ; 0x78 8074dfe: 22ec movs r2, #236 ; 0xec 8074e00: 214a movs r1, #74 ; 0x4a 8074e02: 202a movs r0, #42 ; 0x2a 8074e04: f7df f960 bl 80540c8 BSP_LCD_SetFont(&Font12); 8074e08: 482d ldr r0, [pc, #180] ; (8074ec0 ) 8074e0a: f7de fd0b bl 8053824 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8074e0e: 4923 ldr r1, [pc, #140] ; (8074e9c ) 8074e10: f04f 30ff mov.w r0, #4294967295 8074e14: f7de fcca bl 80537ac BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "Continue the route", CENTER_MODE); 8074e18: 2301 movs r3, #1 8074e1a: 4a2f ldr r2, [pc, #188] ; (8074ed8 ) 8074e1c: 217a movs r1, #122 ; 0x7a 8074e1e: 20a0 movs r0, #160 ; 0xa0 8074e20: f7de fd8a bl 8053938 memset(str2, 0, sizeof(str2)); 8074e24: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8074e28: 223c movs r2, #60 ; 0x3c 8074e2a: 2100 movs r1, #0 8074e2c: 4618 mov r0, r3 8074e2e: f058 f90b bl 80cd048 strcpy(str2, (void *) &pardata.ROUTE_NAME); 8074e32: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8074e36: 4924 ldr r1, [pc, #144] ; (8074ec8 ) 8074e38: 4618 mov r0, r3 8074e3a: f058 fa22 bl 80cd282 strcat(str2, "?"); 8074e3e: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8074e42: 4618 mov r0, r3 8074e44: f7ab fa66 bl 8020314 8074e48: 4603 mov r3, r0 8074e4a: 461a mov r2, r3 8074e4c: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8074e50: 4413 add r3, r2 8074e52: 491e ldr r1, [pc, #120] ; (8074ecc ) 8074e54: 461a mov r2, r3 8074e56: 460b mov r3, r1 8074e58: 881b ldrh r3, [r3, #0] 8074e5a: 8013 strh r3, [r2, #0] BSP_LCD_DisplayStringAt(160, LCD_LINE_8, str2, CENTER_MODE); 8074e5c: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8074e60: 2301 movs r3, #1 8074e62: 218a movs r1, #138 ; 0x8a 8074e64: 20a0 movs r0, #160 ; 0xa0 8074e66: f7de fd67 bl 8053938 BSP_LCD_DisplayStringAt(258, 170, "Yes", RIGHT_MODE); 8074e6a: 2302 movs r3, #2 8074e6c: 4a1b ldr r2, [pc, #108] ; (8074edc ) 8074e6e: 21aa movs r1, #170 ; 0xaa 8074e70: f44f 7081 mov.w r0, #258 ; 0x102 8074e74: f7de fd60 bl 8053938 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8074e78: 4908 ldr r1, [pc, #32] ; (8074e9c ) 8074e7a: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8074e7e: f7de fc95 bl 80537ac BSP_LCD_DisplayStringAt(62, 170, "No", LEFT_MODE); 8074e82: 2303 movs r3, #3 8074e84: 4a16 ldr r2, [pc, #88] ; (8074ee0 ) 8074e86: 21aa movs r1, #170 ; 0xaa 8074e88: 203e movs r0, #62 ; 0x3e 8074e8a: f7de fd55 bl 8053938 break; 8074e8e: f022 bb8c b.w 80975aa 8074e92: bf00 nop 8074e94: 20020070 .word 0x20020070 8074e98: 20023e60 .word 0x20023e60 8074e9c: ff0a0f1f .word 0xff0a0f1f 8074ea0: 080cfd64 .word 0x080cfd64 8074ea4: 080cfd30 .word 0x080cfd30 8074ea8: 080cfd58 .word 0x080cfd58 8074eac: 080cfd6c .word 0x080cfd6c 8074eb0: 080cfd80 .word 0x080cfd80 8074eb4: 080cfd44 .word 0x080cfd44 8074eb8: 080cfd78 .word 0x080cfd78 8074ebc: 080cfd88 .word 0x080cfd88 8074ec0: 20020038 .word 0x20020038 8074ec4: 080cfd90 .word 0x080cfd90 8074ec8: 200242e4 .word 0x200242e4 8074ecc: 080cfdac .word 0x080cfdac 8074ed0: 080cf858 .word 0x080cf858 8074ed4: 080ce6a8 .word 0x080ce6a8 8074ed8: 080cfdb0 .word 0x080cfdb0 8074edc: 080cfdc4 .word 0x080cfdc4 8074ee0: 080cfdc8 .word 0x080cfdc8 if(menupos == AskRouteYes) 8074ee4: 4bac ldr r3, [pc, #688] ; (8075198 ) 8074ee6: 781b ldrb r3, [r3, #0] 8074ee8: b2db uxtb r3, r3 8074eea: 2b0a cmp r3, #10 8074eec: f040 80eb bne.w 80750c6 if(pardata.LANG == RUS) 8074ef0: 4baa ldr r3, [pc, #680] ; (807519c ) 8074ef2: 7b1b ldrb r3, [r3, #12] 8074ef4: b2db uxtb r3, r3 8074ef6: 2b00 cmp r3, #0 8074ef8: d172 bne.n 8074fe0 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8074efa: 49a9 ldr r1, [pc, #676] ; (80751a0 ) 8074efc: f04f 30ff mov.w r0, #4294967295 8074f00: f7de fc54 bl 80537ac LCD_DisplayString(10, LCD_LINE_5, "Âèðòóàëüíûå ïðèáîðû"); 8074f04: 4aa7 ldr r2, [pc, #668] ; (80751a4 ) 8074f06: 215a movs r1, #90 ; 0x5a 8074f08: 200a movs r0, #10 8074f0a: f7df f9f7 bl 80542fc LCD_DisplayString(10, LCD_LINE_6, "Íàñòðîéêè"); 8074f0e: 4aa6 ldr r2, [pc, #664] ; (80751a8 ) 8074f10: 216a movs r1, #106 ; 0x6a 8074f12: 200a movs r0, #10 8074f14: f7df f9f2 bl 80542fc LCD_DisplayString(10, LCD_LINE_7, "Ôàéëû"); 8074f18: 4aa4 ldr r2, [pc, #656] ; (80751ac ) 8074f1a: 217a movs r1, #122 ; 0x7a 8074f1c: 200a movs r0, #10 8074f1e: f7df f9ed bl 80542fc LCD_DisplayString(10, LCD_LINE_8, "Ìàðøðóòû"); 8074f22: 4aa3 ldr r2, [pc, #652] ; (80751b0 ) 8074f24: 218a movs r1, #138 ; 0x8a 8074f26: 200a movs r0, #10 8074f28: f7df f9e8 bl 80542fc LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8074f2c: 499c ldr r1, [pc, #624] ; (80751a0 ) 8074f2e: f04f 30ff mov.w r0, #4294967295 8074f32: f7de fc3b bl 80537ac BSP_LCD_FillRect(60-20, 72, 200+40, 124); 8074f36: 237c movs r3, #124 ; 0x7c 8074f38: 22f0 movs r2, #240 ; 0xf0 8074f3a: 2148 movs r1, #72 ; 0x48 8074f3c: 2028 movs r0, #40 ; 0x28 8074f3e: f7df f8c3 bl 80540c8 LCD_SetColors(LCD_COLOR_BLACK, LCD_COLOR_BLACK); 8074f42: 4997 ldr r1, [pc, #604] ; (80751a0 ) 8074f44: 4896 ldr r0, [pc, #600] ; (80751a0 ) 8074f46: f7de fc31 bl 80537ac BSP_LCD_FillRect(62-20, 74, 196+40, 120); 8074f4a: 2378 movs r3, #120 ; 0x78 8074f4c: 22ec movs r2, #236 ; 0xec 8074f4e: 214a movs r1, #74 ; 0x4a 8074f50: 202a movs r0, #42 ; 0x2a 8074f52: f7df f8b9 bl 80540c8 BSP_LCD_SetFont(&Font12); 8074f56: 4897 ldr r0, [pc, #604] ; (80751b4 ) 8074f58: f7de fc64 bl 8053824 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8074f5c: 4990 ldr r1, [pc, #576] ; (80751a0 ) 8074f5e: f04f 30ff mov.w r0, #4294967295 8074f62: f7de fc23 bl 80537ac BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "Õîòèòå ïðîäîëæèòü ìàðøðóò", CENTER_MODE); 8074f66: 2301 movs r3, #1 8074f68: 4a93 ldr r2, [pc, #588] ; (80751b8 ) 8074f6a: 217a movs r1, #122 ; 0x7a 8074f6c: 20a0 movs r0, #160 ; 0xa0 8074f6e: f7de fce3 bl 8053938 memset(str2, 0, sizeof(str2)); 8074f72: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8074f76: 223c movs r2, #60 ; 0x3c 8074f78: 2100 movs r1, #0 8074f7a: 4618 mov r0, r3 8074f7c: f058 f864 bl 80cd048 strcpy(str2, (void *) &pardata.ROUTE_NAME); 8074f80: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8074f84: 498d ldr r1, [pc, #564] ; (80751bc ) 8074f86: 4618 mov r0, r3 8074f88: f058 f97b bl 80cd282 strcat(str2, "?"); 8074f8c: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8074f90: 4618 mov r0, r3 8074f92: f7ab f9bf bl 8020314 8074f96: 4603 mov r3, r0 8074f98: 461a mov r2, r3 8074f9a: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8074f9e: 4413 add r3, r2 8074fa0: 4987 ldr r1, [pc, #540] ; (80751c0 ) 8074fa2: 461a mov r2, r3 8074fa4: 460b mov r3, r1 8074fa6: 881b ldrh r3, [r3, #0] 8074fa8: 8013 strh r3, [r2, #0] BSP_LCD_DisplayStringAt(160, LCD_LINE_8, str2, CENTER_MODE); 8074faa: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8074fae: 2301 movs r3, #1 8074fb0: 218a movs r1, #138 ; 0x8a 8074fb2: 20a0 movs r0, #160 ; 0xa0 8074fb4: f7de fcc0 bl 8053938 BSP_LCD_DisplayStringAt(62, 170, "Íåò", LEFT_MODE); 8074fb8: 2303 movs r3, #3 8074fba: 4a82 ldr r2, [pc, #520] ; (80751c4 ) 8074fbc: 21aa movs r1, #170 ; 0xaa 8074fbe: 203e movs r0, #62 ; 0x3e 8074fc0: f7de fcba bl 8053938 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8074fc4: 4976 ldr r1, [pc, #472] ; (80751a0 ) 8074fc6: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8074fca: f7de fbef bl 80537ac BSP_LCD_DisplayStringAt(258, 170, "Äà", RIGHT_MODE); 8074fce: 2302 movs r3, #2 8074fd0: 4a7d ldr r2, [pc, #500] ; (80751c8 ) 8074fd2: 21aa movs r1, #170 ; 0xaa 8074fd4: f44f 7081 mov.w r0, #258 ; 0x102 8074fd8: f7de fcae bl 8053938 break; 8074fdc: f022 bae5 b.w 80975aa LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8074fe0: 496f ldr r1, [pc, #444] ; (80751a0 ) 8074fe2: f04f 30ff mov.w r0, #4294967295 8074fe6: f7de fbe1 bl 80537ac LCD_DisplayString(10, LCD_LINE_5, "Virtual instruments"); 8074fea: 4a78 ldr r2, [pc, #480] ; (80751cc ) 8074fec: 215a movs r1, #90 ; 0x5a 8074fee: 200a movs r0, #10 8074ff0: f7df f984 bl 80542fc LCD_DisplayString(10, LCD_LINE_6, "Setup"); 8074ff4: 4a76 ldr r2, [pc, #472] ; (80751d0 ) 8074ff6: 216a movs r1, #106 ; 0x6a 8074ff8: 200a movs r0, #10 8074ffa: f7df f97f bl 80542fc LCD_DisplayString(10, LCD_LINE_7, "Files"); 8074ffe: 4a75 ldr r2, [pc, #468] ; (80751d4 ) 8075000: 217a movs r1, #122 ; 0x7a 8075002: 200a movs r0, #10 8075004: f7df f97a bl 80542fc LCD_DisplayString(10, LCD_LINE_8, "Routes"); 8075008: 4a73 ldr r2, [pc, #460] ; (80751d8 ) 807500a: 218a movs r1, #138 ; 0x8a 807500c: 200a movs r0, #10 807500e: f7df f975 bl 80542fc LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8075012: 4963 ldr r1, [pc, #396] ; (80751a0 ) 8075014: f04f 30ff mov.w r0, #4294967295 8075018: f7de fbc8 bl 80537ac BSP_LCD_FillRect(60-20, 72, 200+40, 124); 807501c: 237c movs r3, #124 ; 0x7c 807501e: 22f0 movs r2, #240 ; 0xf0 8075020: 2148 movs r1, #72 ; 0x48 8075022: 2028 movs r0, #40 ; 0x28 8075024: f7df f850 bl 80540c8 LCD_SetColors(LCD_COLOR_BLACK, LCD_COLOR_BLACK); 8075028: 495d ldr r1, [pc, #372] ; (80751a0 ) 807502a: 485d ldr r0, [pc, #372] ; (80751a0 ) 807502c: f7de fbbe bl 80537ac BSP_LCD_FillRect(62-20, 74, 196+40, 120); 8075030: 2378 movs r3, #120 ; 0x78 8075032: 22ec movs r2, #236 ; 0xec 8075034: 214a movs r1, #74 ; 0x4a 8075036: 202a movs r0, #42 ; 0x2a 8075038: f7df f846 bl 80540c8 BSP_LCD_SetFont(&Font12); 807503c: 485d ldr r0, [pc, #372] ; (80751b4 ) 807503e: f7de fbf1 bl 8053824 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8075042: 4957 ldr r1, [pc, #348] ; (80751a0 ) 8075044: f04f 30ff mov.w r0, #4294967295 8075048: f7de fbb0 bl 80537ac BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "Continue the route", CENTER_MODE); 807504c: 2301 movs r3, #1 807504e: 4a63 ldr r2, [pc, #396] ; (80751dc ) 8075050: 217a movs r1, #122 ; 0x7a 8075052: 20a0 movs r0, #160 ; 0xa0 8075054: f7de fc70 bl 8053938 memset(str2, 0, sizeof(str2)); 8075058: f507 73d8 add.w r3, r7, #432 ; 0x1b0 807505c: 223c movs r2, #60 ; 0x3c 807505e: 2100 movs r1, #0 8075060: 4618 mov r0, r3 8075062: f057 fff1 bl 80cd048 strcpy(str2, (void *) &pardata.ROUTE_NAME); 8075066: f507 73d8 add.w r3, r7, #432 ; 0x1b0 807506a: 4954 ldr r1, [pc, #336] ; (80751bc ) 807506c: 4618 mov r0, r3 807506e: f058 f908 bl 80cd282 strcat(str2, "?"); 8075072: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8075076: 4618 mov r0, r3 8075078: f7ab f94c bl 8020314 807507c: 4603 mov r3, r0 807507e: 461a mov r2, r3 8075080: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8075084: 4413 add r3, r2 8075086: 494e ldr r1, [pc, #312] ; (80751c0 ) 8075088: 461a mov r2, r3 807508a: 460b mov r3, r1 807508c: 881b ldrh r3, [r3, #0] 807508e: 8013 strh r3, [r2, #0] BSP_LCD_DisplayStringAt(160, LCD_LINE_8, str2, CENTER_MODE); 8075090: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8075094: 2301 movs r3, #1 8075096: 218a movs r1, #138 ; 0x8a 8075098: 20a0 movs r0, #160 ; 0xa0 807509a: f7de fc4d bl 8053938 BSP_LCD_DisplayStringAt(62, 170, "No", LEFT_MODE); 807509e: 2303 movs r3, #3 80750a0: 4a4f ldr r2, [pc, #316] ; (80751e0 ) 80750a2: 21aa movs r1, #170 ; 0xaa 80750a4: 203e movs r0, #62 ; 0x3e 80750a6: f7de fc47 bl 8053938 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80750aa: 493d ldr r1, [pc, #244] ; (80751a0 ) 80750ac: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80750b0: f7de fb7c bl 80537ac BSP_LCD_DisplayStringAt(258, 170, "Yes", RIGHT_MODE); 80750b4: 2302 movs r3, #2 80750b6: 4a4b ldr r2, [pc, #300] ; (80751e4 ) 80750b8: 21aa movs r1, #170 ; 0xaa 80750ba: f44f 7081 mov.w r0, #258 ; 0x102 80750be: f7de fc3b bl 8053938 break; 80750c2: f022 ba72 b.w 80975aa if(menupos == AskFormatNo) 80750c6: 4b34 ldr r3, [pc, #208] ; (8075198 ) 80750c8: 781b ldrb r3, [r3, #0] 80750ca: b2db uxtb r3, r3 80750cc: 2b05 cmp r3, #5 80750ce: f040 80ed bne.w 80752ac if(pardata.LANG == RUS) 80750d2: 4b32 ldr r3, [pc, #200] ; (807519c ) 80750d4: 7b1b ldrb r3, [r3, #12] 80750d6: b2db uxtb r3, r3 80750d8: 2b00 cmp r3, #0 80750da: f040 808b bne.w 80751f4 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80750de: 4930 ldr r1, [pc, #192] ; (80751a0 ) 80750e0: f04f 30ff mov.w r0, #4294967295 80750e4: f7de fb62 bl 80537ac LCD_DisplayString(10, LCD_LINE_5, "Âèðòóàëüíûå ïðèáîðû"); 80750e8: 4a2e ldr r2, [pc, #184] ; (80751a4 ) 80750ea: 215a movs r1, #90 ; 0x5a 80750ec: 200a movs r0, #10 80750ee: f7df f905 bl 80542fc LCD_DisplayString(10, LCD_LINE_6, "Íàñòðîéêè"); 80750f2: 4a2d ldr r2, [pc, #180] ; (80751a8 ) 80750f4: 216a movs r1, #106 ; 0x6a 80750f6: 200a movs r0, #10 80750f8: f7df f900 bl 80542fc LCD_DisplayString(10, LCD_LINE_7, "Ôàéëû"); 80750fc: 4a2b ldr r2, [pc, #172] ; (80751ac ) 80750fe: 217a movs r1, #122 ; 0x7a 8075100: 200a movs r0, #10 8075102: f7df f8fb bl 80542fc LCD_DisplayString(10, LCD_LINE_8, "Ìàðøðóòû"); 8075106: 4a2a ldr r2, [pc, #168] ; (80751b0 ) 8075108: 218a movs r1, #138 ; 0x8a 807510a: 200a movs r0, #10 807510c: f7df f8f6 bl 80542fc LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8075110: 4923 ldr r1, [pc, #140] ; (80751a0 ) 8075112: f04f 30ff mov.w r0, #4294967295 8075116: f7de fb49 bl 80537ac BSP_LCD_FillRect(60-20, 72, 200+40, 124); 807511a: 237c movs r3, #124 ; 0x7c 807511c: 22f0 movs r2, #240 ; 0xf0 807511e: 2148 movs r1, #72 ; 0x48 8075120: 2028 movs r0, #40 ; 0x28 8075122: f7de ffd1 bl 80540c8 LCD_SetColors(LCD_COLOR_BLACK, LCD_COLOR_BLACK); 8075126: 491e ldr r1, [pc, #120] ; (80751a0 ) 8075128: 481d ldr r0, [pc, #116] ; (80751a0 ) 807512a: f7de fb3f bl 80537ac BSP_LCD_FillRect(62-20, 74, 196+40, 120); 807512e: 2378 movs r3, #120 ; 0x78 8075130: 22ec movs r2, #236 ; 0xec 8075132: 214a movs r1, #74 ; 0x4a 8075134: 202a movs r0, #42 ; 0x2a 8075136: f7de ffc7 bl 80540c8 BSP_LCD_SetFont(&Font12); 807513a: 481e ldr r0, [pc, #120] ; (80751b4 ) 807513c: f7de fb72 bl 8053824 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8075140: 4917 ldr r1, [pc, #92] ; (80751a0 ) 8075142: f04f 30ff mov.w r0, #4294967295 8075146: f7de fb31 bl 80537ac BSP_LCD_DisplayStringAt(160, LCD_LINE_6, "Êàðòà íåèñïðàâíà èëè îòñóòñòâóåò", CENTER_MODE); 807514a: 2301 movs r3, #1 807514c: 4a26 ldr r2, [pc, #152] ; (80751e8 ) 807514e: 216a movs r1, #106 ; 0x6a 8075150: 20a0 movs r0, #160 ; 0xa0 8075152: f7de fbf1 bl 8053938 BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "ôàéëîâàÿ ñèñòåìà.", CENTER_MODE); 8075156: 2301 movs r3, #1 8075158: 4a24 ldr r2, [pc, #144] ; (80751ec ) 807515a: 217a movs r1, #122 ; 0x7a 807515c: 20a0 movs r0, #160 ; 0xa0 807515e: f7de fbeb bl 8053938 BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "Ôîðìàòèðîâàòü êàðòó?", CENTER_MODE); 8075162: 2301 movs r3, #1 8075164: 4a22 ldr r2, [pc, #136] ; (80751f0 ) 8075166: 218a movs r1, #138 ; 0x8a 8075168: 20a0 movs r0, #160 ; 0xa0 807516a: f7de fbe5 bl 8053938 BSP_LCD_DisplayStringAt(258, 170, "Äà", RIGHT_MODE); 807516e: 2302 movs r3, #2 8075170: 4a15 ldr r2, [pc, #84] ; (80751c8 ) 8075172: 21aa movs r1, #170 ; 0xaa 8075174: f44f 7081 mov.w r0, #258 ; 0x102 8075178: f7de fbde bl 8053938 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807517c: 4908 ldr r1, [pc, #32] ; (80751a0 ) 807517e: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8075182: f7de fb13 bl 80537ac BSP_LCD_DisplayStringAt(62, 170, "Íåò", LEFT_MODE); 8075186: 2303 movs r3, #3 8075188: 4a0e ldr r2, [pc, #56] ; (80751c4 ) 807518a: 21aa movs r1, #170 ; 0xaa 807518c: 203e movs r0, #62 ; 0x3e 807518e: f7de fbd3 bl 8053938 break; 8075192: f022 ba0a b.w 80975aa 8075196: bf00 nop 8075198: 20020070 .word 0x20020070 807519c: 20023e60 .word 0x20023e60 80751a0: ff0a0f1f .word 0xff0a0f1f 80751a4: 080cfd30 .word 0x080cfd30 80751a8: 080cfd58 .word 0x080cfd58 80751ac: 080cfd64 .word 0x080cfd64 80751b0: 080cfd6c .word 0x080cfd6c 80751b4: 20020038 .word 0x20020038 80751b8: 080cfd90 .word 0x080cfd90 80751bc: 200242e4 .word 0x200242e4 80751c0: 080cfdac .word 0x080cfdac 80751c4: 080ce6a8 .word 0x080ce6a8 80751c8: 080cf858 .word 0x080cf858 80751cc: 080cfd44 .word 0x080cfd44 80751d0: 080cfd78 .word 0x080cfd78 80751d4: 080cfd80 .word 0x080cfd80 80751d8: 080cfd88 .word 0x080cfd88 80751dc: 080cfdb0 .word 0x080cfdb0 80751e0: 080cfdc8 .word 0x080cfdc8 80751e4: 080cfdc4 .word 0x080cfdc4 80751e8: 080cfdcc .word 0x080cfdcc 80751ec: 080cfdf0 .word 0x080cfdf0 80751f0: 080cfe04 .word 0x080cfe04 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80751f4: 49cc ldr r1, [pc, #816] ; (8075528 ) 80751f6: f04f 30ff mov.w r0, #4294967295 80751fa: f7de fad7 bl 80537ac LCD_DisplayString(10, LCD_LINE_5, "Virtual instruments"); 80751fe: 4acb ldr r2, [pc, #812] ; (807552c ) 8075200: 215a movs r1, #90 ; 0x5a 8075202: 200a movs r0, #10 8075204: f7df f87a bl 80542fc LCD_DisplayString(10, LCD_LINE_6, "Setup"); 8075208: 4ac9 ldr r2, [pc, #804] ; (8075530 ) 807520a: 216a movs r1, #106 ; 0x6a 807520c: 200a movs r0, #10 807520e: f7df f875 bl 80542fc LCD_DisplayString(10, LCD_LINE_7, "Files"); 8075212: 4ac8 ldr r2, [pc, #800] ; (8075534 ) 8075214: 217a movs r1, #122 ; 0x7a 8075216: 200a movs r0, #10 8075218: f7df f870 bl 80542fc LCD_DisplayString(10, LCD_LINE_8, "Routes"); 807521c: 4ac6 ldr r2, [pc, #792] ; (8075538 ) 807521e: 218a movs r1, #138 ; 0x8a 8075220: 200a movs r0, #10 8075222: f7df f86b bl 80542fc LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8075226: 49c0 ldr r1, [pc, #768] ; (8075528 ) 8075228: f04f 30ff mov.w r0, #4294967295 807522c: f7de fabe bl 80537ac BSP_LCD_FillRect(60-20, 72, 200+40, 124); 8075230: 237c movs r3, #124 ; 0x7c 8075232: 22f0 movs r2, #240 ; 0xf0 8075234: 2148 movs r1, #72 ; 0x48 8075236: 2028 movs r0, #40 ; 0x28 8075238: f7de ff46 bl 80540c8 LCD_SetColors(LCD_COLOR_BLACK, LCD_COLOR_BLACK); 807523c: 49ba ldr r1, [pc, #744] ; (8075528 ) 807523e: 48ba ldr r0, [pc, #744] ; (8075528 ) 8075240: f7de fab4 bl 80537ac BSP_LCD_FillRect(62-20, 74, 196+40, 120); 8075244: 2378 movs r3, #120 ; 0x78 8075246: 22ec movs r2, #236 ; 0xec 8075248: 214a movs r1, #74 ; 0x4a 807524a: 202a movs r0, #42 ; 0x2a 807524c: f7de ff3c bl 80540c8 BSP_LCD_SetFont(&Font12); 8075250: 48ba ldr r0, [pc, #744] ; (807553c ) 8075252: f7de fae7 bl 8053824 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8075256: 49b4 ldr r1, [pc, #720] ; (8075528 ) 8075258: f04f 30ff mov.w r0, #4294967295 807525c: f7de faa6 bl 80537ac BSP_LCD_DisplayStringAt(160, LCD_LINE_6, "The card is faulty or the", CENTER_MODE); 8075260: 2301 movs r3, #1 8075262: 4ab7 ldr r2, [pc, #732] ; (8075540 ) 8075264: 216a movs r1, #106 ; 0x6a 8075266: 20a0 movs r0, #160 ; 0xa0 8075268: f7de fb66 bl 8053938 BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "file system is missing.", CENTER_MODE); 807526c: 2301 movs r3, #1 807526e: 4ab5 ldr r2, [pc, #724] ; (8075544 ) 8075270: 217a movs r1, #122 ; 0x7a 8075272: 20a0 movs r0, #160 ; 0xa0 8075274: f7de fb60 bl 8053938 BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "Format the card?", CENTER_MODE); 8075278: 2301 movs r3, #1 807527a: 4ab3 ldr r2, [pc, #716] ; (8075548 ) 807527c: 218a movs r1, #138 ; 0x8a 807527e: 20a0 movs r0, #160 ; 0xa0 8075280: f7de fb5a bl 8053938 BSP_LCD_DisplayStringAt(258, 170, "Yes", RIGHT_MODE); 8075284: 2302 movs r3, #2 8075286: 4ab1 ldr r2, [pc, #708] ; (807554c ) 8075288: 21aa movs r1, #170 ; 0xaa 807528a: f44f 7081 mov.w r0, #258 ; 0x102 807528e: f7de fb53 bl 8053938 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8075292: 49a5 ldr r1, [pc, #660] ; (8075528 ) 8075294: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8075298: f7de fa88 bl 80537ac BSP_LCD_DisplayStringAt(62, 170, "No", LEFT_MODE); 807529c: 2303 movs r3, #3 807529e: 4aac ldr r2, [pc, #688] ; (8075550 ) 80752a0: 21aa movs r1, #170 ; 0xaa 80752a2: 203e movs r0, #62 ; 0x3e 80752a4: f7de fb48 bl 8053938 break; 80752a8: f022 b97f b.w 80975aa if(menupos == AskFormatYes) 80752ac: 4ba9 ldr r3, [pc, #676] ; (8075554 ) 80752ae: 781b ldrb r3, [r3, #0] 80752b0: b2db uxtb r3, r3 80752b2: 2b06 cmp r3, #6 80752b4: f040 80bd bne.w 8075432 if(pardata.LANG == RUS) 80752b8: 4ba7 ldr r3, [pc, #668] ; (8075558 ) 80752ba: 7b1b ldrb r3, [r3, #12] 80752bc: b2db uxtb r3, r3 80752be: 2b00 cmp r3, #0 80752c0: d15b bne.n 807537a LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80752c2: 4999 ldr r1, [pc, #612] ; (8075528 ) 80752c4: f04f 30ff mov.w r0, #4294967295 80752c8: f7de fa70 bl 80537ac LCD_DisplayString(10, LCD_LINE_5, "Âèðòóàëüíûå ïðèáîðû"); 80752cc: 4aa3 ldr r2, [pc, #652] ; (807555c ) 80752ce: 215a movs r1, #90 ; 0x5a 80752d0: 200a movs r0, #10 80752d2: f7df f813 bl 80542fc LCD_DisplayString(10, LCD_LINE_6, "Íàñòðîéêè"); 80752d6: 4aa2 ldr r2, [pc, #648] ; (8075560 ) 80752d8: 216a movs r1, #106 ; 0x6a 80752da: 200a movs r0, #10 80752dc: f7df f80e bl 80542fc LCD_DisplayString(10, LCD_LINE_7, "Ôàéëû"); 80752e0: 4aa0 ldr r2, [pc, #640] ; (8075564 ) 80752e2: 217a movs r1, #122 ; 0x7a 80752e4: 200a movs r0, #10 80752e6: f7df f809 bl 80542fc LCD_DisplayString(10, LCD_LINE_8, "Ìàðøðóòû"); 80752ea: 4a9f ldr r2, [pc, #636] ; (8075568 ) 80752ec: 218a movs r1, #138 ; 0x8a 80752ee: 200a movs r0, #10 80752f0: f7df f804 bl 80542fc LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80752f4: 498c ldr r1, [pc, #560] ; (8075528 ) 80752f6: f04f 30ff mov.w r0, #4294967295 80752fa: f7de fa57 bl 80537ac BSP_LCD_FillRect(60-20, 72, 200+40, 124); 80752fe: 237c movs r3, #124 ; 0x7c 8075300: 22f0 movs r2, #240 ; 0xf0 8075302: 2148 movs r1, #72 ; 0x48 8075304: 2028 movs r0, #40 ; 0x28 8075306: f7de fedf bl 80540c8 LCD_SetColors(LCD_COLOR_BLACK, LCD_COLOR_BLACK); 807530a: 4987 ldr r1, [pc, #540] ; (8075528 ) 807530c: 4886 ldr r0, [pc, #536] ; (8075528 ) 807530e: f7de fa4d bl 80537ac BSP_LCD_FillRect(62-20, 74, 196+40, 120); 8075312: 2378 movs r3, #120 ; 0x78 8075314: 22ec movs r2, #236 ; 0xec 8075316: 214a movs r1, #74 ; 0x4a 8075318: 202a movs r0, #42 ; 0x2a 807531a: f7de fed5 bl 80540c8 BSP_LCD_SetFont(&Font12); 807531e: 4887 ldr r0, [pc, #540] ; (807553c ) 8075320: f7de fa80 bl 8053824 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8075324: 4980 ldr r1, [pc, #512] ; (8075528 ) 8075326: f04f 30ff mov.w r0, #4294967295 807532a: f7de fa3f bl 80537ac BSP_LCD_DisplayStringAt(160, LCD_LINE_6, "Êàðòà íåèñïðàâíà èëè îòñóòñòâóåò", CENTER_MODE); 807532e: 2301 movs r3, #1 8075330: 4a8e ldr r2, [pc, #568] ; (807556c ) 8075332: 216a movs r1, #106 ; 0x6a 8075334: 20a0 movs r0, #160 ; 0xa0 8075336: f7de faff bl 8053938 BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "ôàéëîâàÿ ñèñòåìà.", CENTER_MODE); 807533a: 2301 movs r3, #1 807533c: 4a8c ldr r2, [pc, #560] ; (8075570 ) 807533e: 217a movs r1, #122 ; 0x7a 8075340: 20a0 movs r0, #160 ; 0xa0 8075342: f7de faf9 bl 8053938 BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "Ôîðìàòèðîâàòü êàðòó?", CENTER_MODE); 8075346: 2301 movs r3, #1 8075348: 4a8a ldr r2, [pc, #552] ; (8075574 ) 807534a: 218a movs r1, #138 ; 0x8a 807534c: 20a0 movs r0, #160 ; 0xa0 807534e: f7de faf3 bl 8053938 BSP_LCD_DisplayStringAt(62, 170, "Íåò", LEFT_MODE); 8075352: 2303 movs r3, #3 8075354: 4a88 ldr r2, [pc, #544] ; (8075578 ) 8075356: 21aa movs r1, #170 ; 0xaa 8075358: 203e movs r0, #62 ; 0x3e 807535a: f7de faed bl 8053938 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807535e: 4972 ldr r1, [pc, #456] ; (8075528 ) 8075360: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8075364: f7de fa22 bl 80537ac BSP_LCD_DisplayStringAt(258, 170, "Äà", RIGHT_MODE); 8075368: 2302 movs r3, #2 807536a: 4a84 ldr r2, [pc, #528] ; (807557c ) 807536c: 21aa movs r1, #170 ; 0xaa 807536e: f44f 7081 mov.w r0, #258 ; 0x102 8075372: f7de fae1 bl 8053938 break; 8075376: f022 b918 b.w 80975aa LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807537a: 496b ldr r1, [pc, #428] ; (8075528 ) 807537c: f04f 30ff mov.w r0, #4294967295 8075380: f7de fa14 bl 80537ac LCD_DisplayString(10, LCD_LINE_5, "Virtual instruments"); 8075384: 4a69 ldr r2, [pc, #420] ; (807552c ) 8075386: 215a movs r1, #90 ; 0x5a 8075388: 200a movs r0, #10 807538a: f7de ffb7 bl 80542fc LCD_DisplayString(10, LCD_LINE_6, "Setup"); 807538e: 4a68 ldr r2, [pc, #416] ; (8075530 ) 8075390: 216a movs r1, #106 ; 0x6a 8075392: 200a movs r0, #10 8075394: f7de ffb2 bl 80542fc LCD_DisplayString(10, LCD_LINE_7, "Files"); 8075398: 4a66 ldr r2, [pc, #408] ; (8075534 ) 807539a: 217a movs r1, #122 ; 0x7a 807539c: 200a movs r0, #10 807539e: f7de ffad bl 80542fc LCD_DisplayString(10, LCD_LINE_8, "Routes"); 80753a2: 4a65 ldr r2, [pc, #404] ; (8075538 ) 80753a4: 218a movs r1, #138 ; 0x8a 80753a6: 200a movs r0, #10 80753a8: f7de ffa8 bl 80542fc LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80753ac: 495e ldr r1, [pc, #376] ; (8075528 ) 80753ae: f04f 30ff mov.w r0, #4294967295 80753b2: f7de f9fb bl 80537ac BSP_LCD_FillRect(60-20, 72, 200+40, 124); 80753b6: 237c movs r3, #124 ; 0x7c 80753b8: 22f0 movs r2, #240 ; 0xf0 80753ba: 2148 movs r1, #72 ; 0x48 80753bc: 2028 movs r0, #40 ; 0x28 80753be: f7de fe83 bl 80540c8 LCD_SetColors(LCD_COLOR_BLACK, LCD_COLOR_BLACK); 80753c2: 4959 ldr r1, [pc, #356] ; (8075528 ) 80753c4: 4858 ldr r0, [pc, #352] ; (8075528 ) 80753c6: f7de f9f1 bl 80537ac BSP_LCD_FillRect(62-20, 74, 196+40, 120); 80753ca: 2378 movs r3, #120 ; 0x78 80753cc: 22ec movs r2, #236 ; 0xec 80753ce: 214a movs r1, #74 ; 0x4a 80753d0: 202a movs r0, #42 ; 0x2a 80753d2: f7de fe79 bl 80540c8 BSP_LCD_SetFont(&Font12); 80753d6: 4859 ldr r0, [pc, #356] ; (807553c ) 80753d8: f7de fa24 bl 8053824 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80753dc: 4952 ldr r1, [pc, #328] ; (8075528 ) 80753de: f04f 30ff mov.w r0, #4294967295 80753e2: f7de f9e3 bl 80537ac BSP_LCD_DisplayStringAt(160, LCD_LINE_6, "The card is faulty or the", CENTER_MODE); 80753e6: 2301 movs r3, #1 80753e8: 4a55 ldr r2, [pc, #340] ; (8075540 ) 80753ea: 216a movs r1, #106 ; 0x6a 80753ec: 20a0 movs r0, #160 ; 0xa0 80753ee: f7de faa3 bl 8053938 BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "file system is missing.", CENTER_MODE); 80753f2: 2301 movs r3, #1 80753f4: 4a53 ldr r2, [pc, #332] ; (8075544 ) 80753f6: 217a movs r1, #122 ; 0x7a 80753f8: 20a0 movs r0, #160 ; 0xa0 80753fa: f7de fa9d bl 8053938 BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "Format the card?", CENTER_MODE); 80753fe: 2301 movs r3, #1 8075400: 4a51 ldr r2, [pc, #324] ; (8075548 ) 8075402: 218a movs r1, #138 ; 0x8a 8075404: 20a0 movs r0, #160 ; 0xa0 8075406: f7de fa97 bl 8053938 BSP_LCD_DisplayStringAt(62, 170, "No", LEFT_MODE); 807540a: 2303 movs r3, #3 807540c: 4a50 ldr r2, [pc, #320] ; (8075550 ) 807540e: 21aa movs r1, #170 ; 0xaa 8075410: 203e movs r0, #62 ; 0x3e 8075412: f7de fa91 bl 8053938 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8075416: 4944 ldr r1, [pc, #272] ; (8075528 ) 8075418: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807541c: f7de f9c6 bl 80537ac BSP_LCD_DisplayStringAt(258, 170, "Yes", RIGHT_MODE); 8075420: 2302 movs r3, #2 8075422: 4a4a ldr r2, [pc, #296] ; (807554c ) 8075424: 21aa movs r1, #170 ; 0xaa 8075426: f44f 7081 mov.w r0, #258 ; 0x102 807542a: f7de fa85 bl 8053938 break; 807542e: f022 b8bc b.w 80975aa if(menupos == AskFormatResult) 8075432: 4b48 ldr r3, [pc, #288] ; (8075554 ) 8075434: 781b ldrb r3, [r3, #0] 8075436: b2db uxtb r3, r3 8075438: 2b08 cmp r3, #8 807543a: f062 80b6 bne.w 80975aa if(pardata.LANG == RUS) 807543e: 4b46 ldr r3, [pc, #280] ; (8075558 ) 8075440: 7b1b ldrb r3, [r3, #12] 8075442: b2db uxtb r3, r3 8075444: 2b00 cmp r3, #0 8075446: f040 80c4 bne.w 80755d2 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807544a: 4937 ldr r1, [pc, #220] ; (8075528 ) 807544c: f04f 30ff mov.w r0, #4294967295 8075450: f7de f9ac bl 80537ac LCD_DisplayString(10, LCD_LINE_5, "Âèðòóàëüíûå ïðèáîðû"); 8075454: 4a41 ldr r2, [pc, #260] ; (807555c ) 8075456: 215a movs r1, #90 ; 0x5a 8075458: 200a movs r0, #10 807545a: f7de ff4f bl 80542fc LCD_DisplayString(10, LCD_LINE_6, "Íàñòðîéêè"); 807545e: 4a40 ldr r2, [pc, #256] ; (8075560 ) 8075460: 216a movs r1, #106 ; 0x6a 8075462: 200a movs r0, #10 8075464: f7de ff4a bl 80542fc LCD_DisplayString(10, LCD_LINE_7, "Ôàéëû"); 8075468: 4a3e ldr r2, [pc, #248] ; (8075564 ) 807546a: 217a movs r1, #122 ; 0x7a 807546c: 200a movs r0, #10 807546e: f7de ff45 bl 80542fc LCD_DisplayString(10, LCD_LINE_8, "Ìàðøðóòû"); 8075472: 4a3d ldr r2, [pc, #244] ; (8075568 ) 8075474: 218a movs r1, #138 ; 0x8a 8075476: 200a movs r0, #10 8075478: f7de ff40 bl 80542fc LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807547c: 492a ldr r1, [pc, #168] ; (8075528 ) 807547e: f04f 30ff mov.w r0, #4294967295 8075482: f7de f993 bl 80537ac BSP_LCD_FillRect(60-20, 72, 200+40, 124); 8075486: 237c movs r3, #124 ; 0x7c 8075488: 22f0 movs r2, #240 ; 0xf0 807548a: 2148 movs r1, #72 ; 0x48 807548c: 2028 movs r0, #40 ; 0x28 807548e: f7de fe1b bl 80540c8 LCD_SetColors(LCD_COLOR_BLACK, LCD_COLOR_BLACK); 8075492: 4925 ldr r1, [pc, #148] ; (8075528 ) 8075494: 4824 ldr r0, [pc, #144] ; (8075528 ) 8075496: f7de f989 bl 80537ac BSP_LCD_FillRect(62-20, 74, 196+40, 120); 807549a: 2378 movs r3, #120 ; 0x78 807549c: 22ec movs r2, #236 ; 0xec 807549e: 214a movs r1, #74 ; 0x4a 80754a0: 202a movs r0, #42 ; 0x2a 80754a2: f7de fe11 bl 80540c8 if(NeedFormat) 80754a6: 4b36 ldr r3, [pc, #216] ; (8075580 ) 80754a8: 781b ldrb r3, [r3, #0] 80754aa: b2db uxtb r3, r3 80754ac: 2b00 cmp r3, #0 80754ae: d015 beq.n 80754dc BSP_LCD_SetFont(&Font12); 80754b0: 4822 ldr r0, [pc, #136] ; (807553c ) 80754b2: f7de f9b7 bl 8053824 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80754b6: 491c ldr r1, [pc, #112] ; (8075528 ) 80754b8: f04f 30ff mov.w r0, #4294967295 80754bc: f7de f976 bl 80537ac BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "Ôîðìàòèðîâàíèå,", CENTER_MODE); 80754c0: 2301 movs r3, #1 80754c2: 4a30 ldr r2, [pc, #192] ; (8075584 ) 80754c4: 217a movs r1, #122 ; 0x7a 80754c6: 20a0 movs r0, #160 ; 0xa0 80754c8: f7de fa36 bl 8053938 BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "Æäèòå...", CENTER_MODE); 80754cc: 2301 movs r3, #1 80754ce: 4a2e ldr r2, [pc, #184] ; (8075588 ) 80754d0: 218a movs r1, #138 ; 0x8a 80754d2: 20a0 movs r0, #160 ; 0xa0 80754d4: f7de fa30 bl 8053938 break; 80754d8: f022 b867 b.w 80975aa if(FormatStatus == AP_OK) 80754dc: 4b2b ldr r3, [pc, #172] ; (807558c ) 80754de: 781b ldrb r3, [r3, #0] 80754e0: b2db uxtb r3, r3 80754e2: 2b00 cmp r3, #0 80754e4: d15a bne.n 807559c BSP_LCD_SetFont(&Font12); 80754e6: 4815 ldr r0, [pc, #84] ; (807553c ) 80754e8: f7de f99c bl 8053824 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80754ec: 490e ldr r1, [pc, #56] ; (8075528 ) 80754ee: f04f 30ff mov.w r0, #4294967295 80754f2: f7de f95b bl 80537ac BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "Ôîðìàòèðîâàíèå", CENTER_MODE); 80754f6: 2301 movs r3, #1 80754f8: 4a25 ldr r2, [pc, #148] ; (8075590 ) 80754fa: 217a movs r1, #122 ; 0x7a 80754fc: 20a0 movs r0, #160 ; 0xa0 80754fe: f7de fa1b bl 8053938 BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "çàâåðøåíî óñïåøíî!", CENTER_MODE); 8075502: 2301 movs r3, #1 8075504: 4a23 ldr r2, [pc, #140] ; (8075594 ) 8075506: 218a movs r1, #138 ; 0x8a 8075508: 20a0 movs r0, #160 ; 0xa0 807550a: f7de fa15 bl 8053938 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807550e: 4906 ldr r1, [pc, #24] ; (8075528 ) 8075510: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8075514: f7de f94a bl 80537ac BSP_LCD_DisplayStringAt(160, 170, "Ok", CENTER_MODE); 8075518: 2301 movs r3, #1 807551a: 4a1f ldr r2, [pc, #124] ; (8075598 ) 807551c: 21aa movs r1, #170 ; 0xaa 807551e: 20a0 movs r0, #160 ; 0xa0 8075520: f7de fa0a bl 8053938 break; 8075524: f022 b841 b.w 80975aa 8075528: ff0a0f1f .word 0xff0a0f1f 807552c: 080cfd44 .word 0x080cfd44 8075530: 080cfd78 .word 0x080cfd78 8075534: 080cfd80 .word 0x080cfd80 8075538: 080cfd88 .word 0x080cfd88 807553c: 20020038 .word 0x20020038 8075540: 080cfe1c .word 0x080cfe1c 8075544: 080cfe38 .word 0x080cfe38 8075548: 080cfe50 .word 0x080cfe50 807554c: 080cfdc4 .word 0x080cfdc4 8075550: 080cfdc8 .word 0x080cfdc8 8075554: 20020070 .word 0x20020070 8075558: 20023e60 .word 0x20023e60 807555c: 080cfd30 .word 0x080cfd30 8075560: 080cfd58 .word 0x080cfd58 8075564: 080cfd64 .word 0x080cfd64 8075568: 080cfd6c .word 0x080cfd6c 807556c: 080cfdcc .word 0x080cfdcc 8075570: 080cfdf0 .word 0x080cfdf0 8075574: 080cfe04 .word 0x080cfe04 8075578: 080ce6a8 .word 0x080ce6a8 807557c: 080cf858 .word 0x080cf858 8075580: 20020ddd .word 0x20020ddd 8075584: 080cfe64 .word 0x080cfe64 8075588: 080cfe74 .word 0x080cfe74 807558c: 20020dd1 .word 0x20020dd1 8075590: 080cfe80 .word 0x080cfe80 8075594: 080cfe90 .word 0x080cfe90 8075598: 080cfea4 .word 0x080cfea4 BSP_LCD_SetFont(&Font12); 807559c: 4887 ldr r0, [pc, #540] ; (80757bc ) 807559e: f7de f941 bl 8053824 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80755a2: 4987 ldr r1, [pc, #540] ; (80757c0 ) 80755a4: f04f 30ff mov.w r0, #4294967295 80755a8: f7de f900 bl 80537ac BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "Îøèáêà ôîðìàòèðîâàíèÿ...", CENTER_MODE); 80755ac: 2301 movs r3, #1 80755ae: 4a85 ldr r2, [pc, #532] ; (80757c4 ) 80755b0: 218a movs r1, #138 ; 0x8a 80755b2: 20a0 movs r0, #160 ; 0xa0 80755b4: f7de f9c0 bl 8053938 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80755b8: 4981 ldr r1, [pc, #516] ; (80757c0 ) 80755ba: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80755be: f7de f8f5 bl 80537ac BSP_LCD_DisplayStringAt(160, 170, "Ok", CENTER_MODE); 80755c2: 2301 movs r3, #1 80755c4: 4a80 ldr r2, [pc, #512] ; (80757c8 ) 80755c6: 21aa movs r1, #170 ; 0xaa 80755c8: 20a0 movs r0, #160 ; 0xa0 80755ca: f7de f9b5 bl 8053938 break; 80755ce: f021 bfec b.w 80975aa LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80755d2: 497b ldr r1, [pc, #492] ; (80757c0 ) 80755d4: f04f 30ff mov.w r0, #4294967295 80755d8: f7de f8e8 bl 80537ac LCD_DisplayString(10, LCD_LINE_5, "Virtual instruments"); 80755dc: 4a7b ldr r2, [pc, #492] ; (80757cc ) 80755de: 215a movs r1, #90 ; 0x5a 80755e0: 200a movs r0, #10 80755e2: f7de fe8b bl 80542fc LCD_DisplayString(10, LCD_LINE_6, "Setup"); 80755e6: 4a7a ldr r2, [pc, #488] ; (80757d0 ) 80755e8: 216a movs r1, #106 ; 0x6a 80755ea: 200a movs r0, #10 80755ec: f7de fe86 bl 80542fc LCD_DisplayString(10, LCD_LINE_7, "Files"); 80755f0: 4a78 ldr r2, [pc, #480] ; (80757d4 ) 80755f2: 217a movs r1, #122 ; 0x7a 80755f4: 200a movs r0, #10 80755f6: f7de fe81 bl 80542fc LCD_DisplayString(10, LCD_LINE_8, "Routes"); 80755fa: 4a77 ldr r2, [pc, #476] ; (80757d8 ) 80755fc: 218a movs r1, #138 ; 0x8a 80755fe: 200a movs r0, #10 8075600: f7de fe7c bl 80542fc LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8075604: 496e ldr r1, [pc, #440] ; (80757c0 ) 8075606: f04f 30ff mov.w r0, #4294967295 807560a: f7de f8cf bl 80537ac BSP_LCD_FillRect(60-20, 72, 200+40, 124); 807560e: 237c movs r3, #124 ; 0x7c 8075610: 22f0 movs r2, #240 ; 0xf0 8075612: 2148 movs r1, #72 ; 0x48 8075614: 2028 movs r0, #40 ; 0x28 8075616: f7de fd57 bl 80540c8 LCD_SetColors(LCD_COLOR_BLACK, LCD_COLOR_BLACK); 807561a: 4969 ldr r1, [pc, #420] ; (80757c0 ) 807561c: 4868 ldr r0, [pc, #416] ; (80757c0 ) 807561e: f7de f8c5 bl 80537ac BSP_LCD_FillRect(62-20, 74, 196+40, 120); 8075622: 2378 movs r3, #120 ; 0x78 8075624: 22ec movs r2, #236 ; 0xec 8075626: 214a movs r1, #74 ; 0x4a 8075628: 202a movs r0, #42 ; 0x2a 807562a: f7de fd4d bl 80540c8 if(NeedFormat) 807562e: 4b6b ldr r3, [pc, #428] ; (80757dc ) 8075630: 781b ldrb r3, [r3, #0] 8075632: b2db uxtb r3, r3 8075634: 2b00 cmp r3, #0 8075636: d015 beq.n 8075664 BSP_LCD_SetFont(&Font12); 8075638: 4860 ldr r0, [pc, #384] ; (80757bc ) 807563a: f7de f8f3 bl 8053824 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807563e: 4960 ldr r1, [pc, #384] ; (80757c0 ) 8075640: f04f 30ff mov.w r0, #4294967295 8075644: f7de f8b2 bl 80537ac BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "Formatting...", CENTER_MODE); 8075648: 2301 movs r3, #1 807564a: 4a65 ldr r2, [pc, #404] ; (80757e0 ) 807564c: 217a movs r1, #122 ; 0x7a 807564e: 20a0 movs r0, #160 ; 0xa0 8075650: f7de f972 bl 8053938 BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "Pleae, wait...", CENTER_MODE); 8075654: 2301 movs r3, #1 8075656: 4a63 ldr r2, [pc, #396] ; (80757e4 ) 8075658: 218a movs r1, #138 ; 0x8a 807565a: 20a0 movs r0, #160 ; 0xa0 807565c: f7de f96c bl 8053938 break; 8075660: f021 bfa3 b.w 80975aa if(FormatStatus == AP_OK) 8075664: 4b60 ldr r3, [pc, #384] ; (80757e8 ) 8075666: 781b ldrb r3, [r3, #0] 8075668: b2db uxtb r3, r3 807566a: 2b00 cmp r3, #0 807566c: d11a bne.n 80756a4 BSP_LCD_SetFont(&Font12); 807566e: 4853 ldr r0, [pc, #332] ; (80757bc ) 8075670: f7de f8d8 bl 8053824 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8075674: 4952 ldr r1, [pc, #328] ; (80757c0 ) 8075676: f04f 30ff mov.w r0, #4294967295 807567a: f7de f897 bl 80537ac BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "Formatting successful!", CENTER_MODE); 807567e: 2301 movs r3, #1 8075680: 4a5a ldr r2, [pc, #360] ; (80757ec ) 8075682: 218a movs r1, #138 ; 0x8a 8075684: 20a0 movs r0, #160 ; 0xa0 8075686: f7de f957 bl 8053938 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807568a: 494d ldr r1, [pc, #308] ; (80757c0 ) 807568c: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8075690: f7de f88c bl 80537ac BSP_LCD_DisplayStringAt(160, 170, "Ok", CENTER_MODE); 8075694: 2301 movs r3, #1 8075696: 4a4c ldr r2, [pc, #304] ; (80757c8 ) 8075698: 21aa movs r1, #170 ; 0xaa 807569a: 20a0 movs r0, #160 ; 0xa0 807569c: f7de f94c bl 8053938 break; 80756a0: f021 bf83 b.w 80975aa BSP_LCD_SetFont(&Font12); 80756a4: 4845 ldr r0, [pc, #276] ; (80757bc ) 80756a6: f7de f8bd bl 8053824 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80756aa: 4945 ldr r1, [pc, #276] ; (80757c0 ) 80756ac: f04f 30ff mov.w r0, #4294967295 80756b0: f7de f87c bl 80537ac BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "A format error...", CENTER_MODE); 80756b4: 2301 movs r3, #1 80756b6: 4a4e ldr r2, [pc, #312] ; (80757f0 ) 80756b8: 218a movs r1, #138 ; 0x8a 80756ba: 20a0 movs r0, #160 ; 0xa0 80756bc: f7de f93c bl 8053938 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80756c0: 493f ldr r1, [pc, #252] ; (80757c0 ) 80756c2: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80756c6: f7de f871 bl 80537ac BSP_LCD_DisplayStringAt(160, 170, "Ok", CENTER_MODE); 80756ca: 2301 movs r3, #1 80756cc: 4a3e ldr r2, [pc, #248] ; (80757c8 ) 80756ce: 21aa movs r1, #170 ; 0xaa 80756d0: 20a0 movs r0, #160 ; 0xa0 80756d2: f7de f931 bl 8053938 break; 80756d6: f021 bf68 b.w 80975aa case ARCHIVE: LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 80756da: 4939 ldr r1, [pc, #228] ; (80757c0 ) 80756dc: 4845 ldr r0, [pc, #276] ; (80757f4 ) 80756de: f7de f865 bl 80537ac BSP_LCD_DrawHLine(7, 52, 308); 80756e2: f44f 729a mov.w r2, #308 ; 0x134 80756e6: 2134 movs r1, #52 ; 0x34 80756e8: 2007 movs r0, #7 80756ea: f7de f9d9 bl 8053aa0 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80756ee: 4934 ldr r1, [pc, #208] ; (80757c0 ) 80756f0: 4841 ldr r0, [pc, #260] ; (80757f8 ) 80756f2: f7de f85b bl 80537ac if(pardata.LANG == RUS) 80756f6: 4b41 ldr r3, [pc, #260] ; (80757fc ) 80756f8: 7b1b ldrb r3, [r3, #12] 80756fa: b2db uxtb r3, r3 80756fc: 2b00 cmp r3, #0 80756fe: d105 bne.n 807570c LCD_DisplayString(7, LCD_LINE_2, "..|Âîñïðîèçâåäåíèå ñèãíàëîâ"); 8075700: 4a3f ldr r2, [pc, #252] ; (8075800 ) 8075702: 2127 movs r1, #39 ; 0x27 8075704: 2007 movs r0, #7 8075706: f7de fdf9 bl 80542fc 807570a: e004 b.n 8075716 else LCD_DisplayString(7, LCD_LINE_2, "..|Playing signals"); 807570c: 4a3d ldr r2, [pc, #244] ; (8075804 ) 807570e: 2127 movs r1, #39 ; 0x27 8075710: 2007 movs r0, #7 8075712: f7de fdf3 bl 80542fc if(menupos == ArchiveFran) 8075716: 4b3c ldr r3, [pc, #240] ; (8075808 ) 8075718: 781b ldrb r3, [r3, #0] 807571a: b2db uxtb r3, r3 807571c: 2b01 cmp r3, #1 807571e: d123 bne.n 8075768 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8075720: 493a ldr r1, [pc, #232] ; (807580c ) 8075722: f04f 30ff mov.w r0, #4294967295 8075726: f7de f841 bl 80537ac LCD_DisplayString(12, LCD_LINE_5, (char *) TEXT_ARCHIVE[pardata.LANG][0]); 807572a: 4b34 ldr r3, [pc, #208] ; (80757fc ) 807572c: 7b1b ldrb r3, [r3, #12] 807572e: b2db uxtb r3, r3 8075730: 461a mov r2, r3 8075732: 4b37 ldr r3, [pc, #220] ; (8075810 ) 8075734: f853 3032 ldr.w r3, [r3, r2, lsl #3] 8075738: 461a mov r2, r3 807573a: 215a movs r1, #90 ; 0x5a 807573c: 200c movs r0, #12 807573e: f7de fddd bl 80542fc LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8075742: 491f ldr r1, [pc, #124] ; (80757c0 ) 8075744: f04f 30ff mov.w r0, #4294967295 8075748: f7de f830 bl 80537ac LCD_DisplayString(12, LCD_LINE_6, (char *) TEXT_ARCHIVE[pardata.LANG][1]); 807574c: 4b2b ldr r3, [pc, #172] ; (80757fc ) 807574e: 7b1b ldrb r3, [r3, #12] 8075750: b2db uxtb r3, r3 8075752: 4a2f ldr r2, [pc, #188] ; (8075810 ) 8075754: 00db lsls r3, r3, #3 8075756: 4413 add r3, r2 8075758: 685b ldr r3, [r3, #4] 807575a: 461a mov r2, r3 807575c: 216a movs r1, #106 ; 0x6a 807575e: 200c movs r0, #12 8075760: f7de fdcc bl 80542fc 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; 8075764: f021 bf23 b.w 80975ae if(menupos == ArchiveWave) 8075768: 4b27 ldr r3, [pc, #156] ; (8075808 ) 807576a: 781b ldrb r3, [r3, #0] 807576c: b2db uxtb r3, r3 807576e: 2b02 cmp r3, #2 8075770: f061 871d bne.w 80975ae LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8075774: 4925 ldr r1, [pc, #148] ; (807580c ) 8075776: f04f 30ff mov.w r0, #4294967295 807577a: f7de f817 bl 80537ac LCD_DisplayString(12, LCD_LINE_6, (char *) TEXT_ARCHIVE[pardata.LANG][1]); 807577e: 4b1f ldr r3, [pc, #124] ; (80757fc ) 8075780: 7b1b ldrb r3, [r3, #12] 8075782: b2db uxtb r3, r3 8075784: 4a22 ldr r2, [pc, #136] ; (8075810 ) 8075786: 00db lsls r3, r3, #3 8075788: 4413 add r3, r2 807578a: 685b ldr r3, [r3, #4] 807578c: 461a mov r2, r3 807578e: 216a movs r1, #106 ; 0x6a 8075790: 200c movs r0, #12 8075792: f7de fdb3 bl 80542fc LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8075796: 490a ldr r1, [pc, #40] ; (80757c0 ) 8075798: f04f 30ff mov.w r0, #4294967295 807579c: f7de f806 bl 80537ac LCD_DisplayString(12, LCD_LINE_5, (char *) TEXT_ARCHIVE[pardata.LANG][0]); 80757a0: 4b16 ldr r3, [pc, #88] ; (80757fc ) 80757a2: 7b1b ldrb r3, [r3, #12] 80757a4: b2db uxtb r3, r3 80757a6: 461a mov r2, r3 80757a8: 4b19 ldr r3, [pc, #100] ; (8075810 ) 80757aa: f853 3032 ldr.w r3, [r3, r2, lsl #3] 80757ae: 461a mov r2, r3 80757b0: 215a movs r1, #90 ; 0x5a 80757b2: 200c movs r0, #12 80757b4: f7de fda2 bl 80542fc break; 80757b8: f021 bef9 b.w 80975ae 80757bc: 20020038 .word 0x20020038 80757c0: ff0a0f1f .word 0xff0a0f1f 80757c4: 080cfea8 .word 0x080cfea8 80757c8: 080cfea4 .word 0x080cfea4 80757cc: 080cfd44 .word 0x080cfd44 80757d0: 080cfd78 .word 0x080cfd78 80757d4: 080cfd80 .word 0x080cfd80 80757d8: 080cfd88 .word 0x080cfd88 80757dc: 20020ddd .word 0x20020ddd 80757e0: 080cfec4 .word 0x080cfec4 80757e4: 080cfed4 .word 0x080cfed4 80757e8: 20020dd1 .word 0x20020dd1 80757ec: 080cfee4 .word 0x080cfee4 80757f0: 080cfefc .word 0x080cfefc 80757f4: ffd3d3d3 .word 0xffd3d3d3 80757f8: ff808080 .word 0xff808080 80757fc: 20023e60 .word 0x20023e60 8075800: 080cff10 .word 0x080cff10 8075804: 080cff2c .word 0x080cff2c 8075808: 20020070 .word 0x20020070 807580c: ff606060 .word 0xff606060 8075810: 20020954 .word 0x20020954 case MEAS_MODE: // LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 8075814: 498c ldr r1, [pc, #560] ; (8075a48 ) 8075816: 488d ldr r0, [pc, #564] ; (8075a4c ) 8075818: f7dd ffc8 bl 80537ac BSP_LCD_DrawRect(2, 35, 314, 201); 807581c: 23c9 movs r3, #201 ; 0xc9 807581e: f44f 729d mov.w r2, #314 ; 0x13a 8075822: 2123 movs r1, #35 ; 0x23 8075824: 2002 movs r0, #2 8075826: f7de fac7 bl 8053db8 #ifdef USE_ROLL if(menupos == Vibrometer) 807582a: 4b89 ldr r3, [pc, #548] ; (8075a50 ) 807582c: 781b ldrb r3, [r3, #0] 807582e: b2db uxtb r3, r3 8075830: 2b01 cmp r3, #1 8075832: f040 8081 bne.w 8075938 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8075836: 4984 ldr r1, [pc, #528] ; (8075a48 ) 8075838: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807583c: f7dd ffb6 bl 80537ac LCD_DisplayString(10, LCD_LINE_4, (char *) TEXT_MEAS_MODE[pardata.LANG][0]); //Vibr 8075840: 4b84 ldr r3, [pc, #528] ; (8075a54 ) 8075842: 7b1b ldrb r3, [r3, #12] 8075844: b2db uxtb r3, r3 8075846: 4619 mov r1, r3 8075848: 4a83 ldr r2, [pc, #524] ; (8075a58 ) 807584a: 460b mov r3, r1 807584c: 009b lsls r3, r3, #2 807584e: 440b add r3, r1 8075850: 00db lsls r3, r3, #3 8075852: 4413 add r3, r2 8075854: 681b ldr r3, [r3, #0] 8075856: 461a mov r2, r3 8075858: 214a movs r1, #74 ; 0x4a 807585a: 200a movs r0, #10 807585c: f7de fd4e bl 80542fc LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8075860: 4979 ldr r1, [pc, #484] ; (8075a48 ) 8075862: f04f 30ff mov.w r0, #4294967295 8075866: f7dd ffa1 bl 80537ac LCD_DisplayString(10, LCD_LINE_5, (char *) TEXT_MEAS_MODE[pardata.LANG][1]); //Osc 807586a: 4b7a ldr r3, [pc, #488] ; (8075a54 ) 807586c: 7b1b ldrb r3, [r3, #12] 807586e: b2db uxtb r3, r3 8075870: 4619 mov r1, r3 8075872: 4a79 ldr r2, [pc, #484] ; (8075a58 ) 8075874: 460b mov r3, r1 8075876: 009b lsls r3, r3, #2 8075878: 440b add r3, r1 807587a: 00db lsls r3, r3, #3 807587c: 4413 add r3, r2 807587e: 3304 adds r3, #4 8075880: 681b ldr r3, [r3, #0] 8075882: 461a mov r2, r3 8075884: 215a movs r1, #90 ; 0x5a 8075886: 200a movs r0, #10 8075888: f7de fd38 bl 80542fc LCD_DisplayString(10, LCD_LINE_6, (char *) TEXT_MEAS_MODE[pardata.LANG][2]); //Spectr 807588c: 4b71 ldr r3, [pc, #452] ; (8075a54 ) 807588e: 7b1b ldrb r3, [r3, #12] 8075890: b2db uxtb r3, r3 8075892: 4619 mov r1, r3 8075894: 4a70 ldr r2, [pc, #448] ; (8075a58 ) 8075896: 460b mov r3, r1 8075898: 009b lsls r3, r3, #2 807589a: 440b add r3, r1 807589c: 00db lsls r3, r3, #3 807589e: 4413 add r3, r2 80758a0: 3308 adds r3, #8 80758a2: 681b ldr r3, [r3, #0] 80758a4: 461a mov r2, r3 80758a6: 216a movs r1, #106 ; 0x6a 80758a8: 200a movs r0, #10 80758aa: f7de fd27 bl 80542fc LCD_DisplayString(10, LCD_LINE_7, (char *) TEXT_MEAS_MODE[pardata.LANG][3]); //Record 80758ae: 4b69 ldr r3, [pc, #420] ; (8075a54 ) 80758b0: 7b1b ldrb r3, [r3, #12] 80758b2: b2db uxtb r3, r3 80758b4: 4619 mov r1, r3 80758b6: 4a68 ldr r2, [pc, #416] ; (8075a58 ) 80758b8: 460b mov r3, r1 80758ba: 009b lsls r3, r3, #2 80758bc: 440b add r3, r1 80758be: 00db lsls r3, r3, #3 80758c0: 4413 add r3, r2 80758c2: 330c adds r3, #12 80758c4: 681b ldr r3, [r3, #0] 80758c6: 461a mov r2, r3 80758c8: 217a movs r1, #122 ; 0x7a 80758ca: 200a movs r0, #10 80758cc: f7de fd16 bl 80542fc LCD_DisplayString(10, LCD_LINE_8, (char *) TEXT_MEAS_MODE[pardata.LANG][4]); //Diagn 80758d0: 4b60 ldr r3, [pc, #384] ; (8075a54 ) 80758d2: 7b1b ldrb r3, [r3, #12] 80758d4: b2db uxtb r3, r3 80758d6: 4619 mov r1, r3 80758d8: 4a5f ldr r2, [pc, #380] ; (8075a58 ) 80758da: 460b mov r3, r1 80758dc: 009b lsls r3, r3, #2 80758de: 440b add r3, r1 80758e0: 00db lsls r3, r3, #3 80758e2: 4413 add r3, r2 80758e4: 3310 adds r3, #16 80758e6: 681b ldr r3, [r3, #0] 80758e8: 461a mov r2, r3 80758ea: 218a movs r1, #138 ; 0x8a 80758ec: 200a movs r0, #10 80758ee: f7de fd05 bl 80542fc LCD_DisplayString(10, LCD_LINE_9, (char *) TEXT_MEAS_MODE[pardata.LANG][8]); //Roll 80758f2: 4b58 ldr r3, [pc, #352] ; (8075a54 ) 80758f4: 7b1b ldrb r3, [r3, #12] 80758f6: b2db uxtb r3, r3 80758f8: 4619 mov r1, r3 80758fa: 4a57 ldr r2, [pc, #348] ; (8075a58 ) 80758fc: 460b mov r3, r1 80758fe: 009b lsls r3, r3, #2 8075900: 440b add r3, r1 8075902: 00db lsls r3, r3, #3 8075904: 4413 add r3, r2 8075906: 3320 adds r3, #32 8075908: 681b ldr r3, [r3, #0] 807590a: 461a mov r2, r3 807590c: 219a movs r1, #154 ; 0x9a 807590e: 200a movs r0, #10 8075910: f7de fcf4 bl 80542fc LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_MEAS_MODE[pardata.LANG][9]);//Udar 8075914: 4b4f ldr r3, [pc, #316] ; (8075a54 ) 8075916: 7b1b ldrb r3, [r3, #12] 8075918: b2db uxtb r3, r3 807591a: 4619 mov r1, r3 807591c: 4a4e ldr r2, [pc, #312] ; (8075a58 ) 807591e: 460b mov r3, r1 8075920: 009b lsls r3, r3, #2 8075922: 440b add r3, r1 8075924: 00db lsls r3, r3, #3 8075926: 4413 add r3, r2 8075928: 3324 adds r3, #36 ; 0x24 807592a: 681b ldr r3, [r3, #0] 807592c: 461a mov r2, r3 807592e: 21aa movs r1, #170 ; 0xaa 8075930: 200a movs r0, #10 8075932: f7de fce3 bl 80542fc 8075936: e33b b.n 8075fb0 } else if(menupos == Osc) 8075938: 4b45 ldr r3, [pc, #276] ; (8075a50 ) 807593a: 781b ldrb r3, [r3, #0] 807593c: b2db uxtb r3, r3 807593e: 2b02 cmp r3, #2 8075940: f040 808c bne.w 8075a5c { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8075944: 4940 ldr r1, [pc, #256] ; (8075a48 ) 8075946: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807594a: f7dd ff2f bl 80537ac LCD_DisplayString(10, LCD_LINE_5, (char *) TEXT_MEAS_MODE[pardata.LANG][1]); //Osc 807594e: 4b41 ldr r3, [pc, #260] ; (8075a54 ) 8075950: 7b1b ldrb r3, [r3, #12] 8075952: b2db uxtb r3, r3 8075954: 4619 mov r1, r3 8075956: 4a40 ldr r2, [pc, #256] ; (8075a58 ) 8075958: 460b mov r3, r1 807595a: 009b lsls r3, r3, #2 807595c: 440b add r3, r1 807595e: 00db lsls r3, r3, #3 8075960: 4413 add r3, r2 8075962: 3304 adds r3, #4 8075964: 681b ldr r3, [r3, #0] 8075966: 461a mov r2, r3 8075968: 215a movs r1, #90 ; 0x5a 807596a: 200a movs r0, #10 807596c: f7de fcc6 bl 80542fc LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8075970: 4935 ldr r1, [pc, #212] ; (8075a48 ) 8075972: f04f 30ff mov.w r0, #4294967295 8075976: f7dd ff19 bl 80537ac LCD_DisplayString(10, LCD_LINE_4, (char *) TEXT_MEAS_MODE[pardata.LANG][0]); //Vibr 807597a: 4b36 ldr r3, [pc, #216] ; (8075a54 ) 807597c: 7b1b ldrb r3, [r3, #12] 807597e: b2db uxtb r3, r3 8075980: 4619 mov r1, r3 8075982: 4a35 ldr r2, [pc, #212] ; (8075a58 ) 8075984: 460b mov r3, r1 8075986: 009b lsls r3, r3, #2 8075988: 440b add r3, r1 807598a: 00db lsls r3, r3, #3 807598c: 4413 add r3, r2 807598e: 681b ldr r3, [r3, #0] 8075990: 461a mov r2, r3 8075992: 214a movs r1, #74 ; 0x4a 8075994: 200a movs r0, #10 8075996: f7de fcb1 bl 80542fc LCD_DisplayString(10, LCD_LINE_6, (char *) TEXT_MEAS_MODE[pardata.LANG][2]); //Spectr 807599a: 4b2e ldr r3, [pc, #184] ; (8075a54 ) 807599c: 7b1b ldrb r3, [r3, #12] 807599e: b2db uxtb r3, r3 80759a0: 4619 mov r1, r3 80759a2: 4a2d ldr r2, [pc, #180] ; (8075a58 ) 80759a4: 460b mov r3, r1 80759a6: 009b lsls r3, r3, #2 80759a8: 440b add r3, r1 80759aa: 00db lsls r3, r3, #3 80759ac: 4413 add r3, r2 80759ae: 3308 adds r3, #8 80759b0: 681b ldr r3, [r3, #0] 80759b2: 461a mov r2, r3 80759b4: 216a movs r1, #106 ; 0x6a 80759b6: 200a movs r0, #10 80759b8: f7de fca0 bl 80542fc LCD_DisplayString(10, LCD_LINE_7, (char *) TEXT_MEAS_MODE[pardata.LANG][3]); //Record 80759bc: 4b25 ldr r3, [pc, #148] ; (8075a54 ) 80759be: 7b1b ldrb r3, [r3, #12] 80759c0: b2db uxtb r3, r3 80759c2: 4619 mov r1, r3 80759c4: 4a24 ldr r2, [pc, #144] ; (8075a58 ) 80759c6: 460b mov r3, r1 80759c8: 009b lsls r3, r3, #2 80759ca: 440b add r3, r1 80759cc: 00db lsls r3, r3, #3 80759ce: 4413 add r3, r2 80759d0: 330c adds r3, #12 80759d2: 681b ldr r3, [r3, #0] 80759d4: 461a mov r2, r3 80759d6: 217a movs r1, #122 ; 0x7a 80759d8: 200a movs r0, #10 80759da: f7de fc8f bl 80542fc LCD_DisplayString(10, LCD_LINE_8, (char *) TEXT_MEAS_MODE[pardata.LANG][4]); //Diagn 80759de: 4b1d ldr r3, [pc, #116] ; (8075a54 ) 80759e0: 7b1b ldrb r3, [r3, #12] 80759e2: b2db uxtb r3, r3 80759e4: 4619 mov r1, r3 80759e6: 4a1c ldr r2, [pc, #112] ; (8075a58 ) 80759e8: 460b mov r3, r1 80759ea: 009b lsls r3, r3, #2 80759ec: 440b add r3, r1 80759ee: 00db lsls r3, r3, #3 80759f0: 4413 add r3, r2 80759f2: 3310 adds r3, #16 80759f4: 681b ldr r3, [r3, #0] 80759f6: 461a mov r2, r3 80759f8: 218a movs r1, #138 ; 0x8a 80759fa: 200a movs r0, #10 80759fc: f7de fc7e bl 80542fc LCD_DisplayString(10, LCD_LINE_9, (char *) TEXT_MEAS_MODE[pardata.LANG][8]); //Roll 8075a00: 4b14 ldr r3, [pc, #80] ; (8075a54 ) 8075a02: 7b1b ldrb r3, [r3, #12] 8075a04: b2db uxtb r3, r3 8075a06: 4619 mov r1, r3 8075a08: 4a13 ldr r2, [pc, #76] ; (8075a58 ) 8075a0a: 460b mov r3, r1 8075a0c: 009b lsls r3, r3, #2 8075a0e: 440b add r3, r1 8075a10: 00db lsls r3, r3, #3 8075a12: 4413 add r3, r2 8075a14: 3320 adds r3, #32 8075a16: 681b ldr r3, [r3, #0] 8075a18: 461a mov r2, r3 8075a1a: 219a movs r1, #154 ; 0x9a 8075a1c: 200a movs r0, #10 8075a1e: f7de fc6d bl 80542fc LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_MEAS_MODE[pardata.LANG][9]);//Udar 8075a22: 4b0c ldr r3, [pc, #48] ; (8075a54 ) 8075a24: 7b1b ldrb r3, [r3, #12] 8075a26: b2db uxtb r3, r3 8075a28: 4619 mov r1, r3 8075a2a: 4a0b ldr r2, [pc, #44] ; (8075a58 ) 8075a2c: 460b mov r3, r1 8075a2e: 009b lsls r3, r3, #2 8075a30: 440b add r3, r1 8075a32: 00db lsls r3, r3, #3 8075a34: 4413 add r3, r2 8075a36: 3324 adds r3, #36 ; 0x24 8075a38: 681b ldr r3, [r3, #0] 8075a3a: 461a mov r2, r3 8075a3c: 21aa movs r1, #170 ; 0xaa 8075a3e: 200a movs r0, #10 8075a40: f7de fc5c bl 80542fc 8075a44: e2b4 b.n 8075fb0 8075a46: bf00 nop 8075a48: ff0a0f1f .word 0xff0a0f1f 8075a4c: ffd3d3d3 .word 0xffd3d3d3 8075a50: 20020070 .word 0x20020070 8075a54: 20023e60 .word 0x20023e60 8075a58: 200208dc .word 0x200208dc } else if(menupos == FFT) 8075a5c: 4bca ldr r3, [pc, #808] ; (8075d88 ) 8075a5e: 781b ldrb r3, [r3, #0] 8075a60: b2db uxtb r3, r3 8075a62: 2b03 cmp r3, #3 8075a64: f040 8081 bne.w 8075b6a { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8075a68: 49c8 ldr r1, [pc, #800] ; (8075d8c ) 8075a6a: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8075a6e: f7dd fe9d bl 80537ac LCD_DisplayString(10, LCD_LINE_6, (char *) TEXT_MEAS_MODE[pardata.LANG][2]); //Spectr 8075a72: 4bc7 ldr r3, [pc, #796] ; (8075d90 ) 8075a74: 7b1b ldrb r3, [r3, #12] 8075a76: b2db uxtb r3, r3 8075a78: 4619 mov r1, r3 8075a7a: 4ac6 ldr r2, [pc, #792] ; (8075d94 ) 8075a7c: 460b mov r3, r1 8075a7e: 009b lsls r3, r3, #2 8075a80: 440b add r3, r1 8075a82: 00db lsls r3, r3, #3 8075a84: 4413 add r3, r2 8075a86: 3308 adds r3, #8 8075a88: 681b ldr r3, [r3, #0] 8075a8a: 461a mov r2, r3 8075a8c: 216a movs r1, #106 ; 0x6a 8075a8e: 200a movs r0, #10 8075a90: f7de fc34 bl 80542fc LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8075a94: 49bd ldr r1, [pc, #756] ; (8075d8c ) 8075a96: f04f 30ff mov.w r0, #4294967295 8075a9a: f7dd fe87 bl 80537ac LCD_DisplayString(10, LCD_LINE_4, (char *) TEXT_MEAS_MODE[pardata.LANG][0]); //Vibr 8075a9e: 4bbc ldr r3, [pc, #752] ; (8075d90 ) 8075aa0: 7b1b ldrb r3, [r3, #12] 8075aa2: b2db uxtb r3, r3 8075aa4: 4619 mov r1, r3 8075aa6: 4abb ldr r2, [pc, #748] ; (8075d94 ) 8075aa8: 460b mov r3, r1 8075aaa: 009b lsls r3, r3, #2 8075aac: 440b add r3, r1 8075aae: 00db lsls r3, r3, #3 8075ab0: 4413 add r3, r2 8075ab2: 681b ldr r3, [r3, #0] 8075ab4: 461a mov r2, r3 8075ab6: 214a movs r1, #74 ; 0x4a 8075ab8: 200a movs r0, #10 8075aba: f7de fc1f bl 80542fc LCD_DisplayString(10, LCD_LINE_5, (char *) TEXT_MEAS_MODE[pardata.LANG][1]); //Osc 8075abe: 4bb4 ldr r3, [pc, #720] ; (8075d90 ) 8075ac0: 7b1b ldrb r3, [r3, #12] 8075ac2: b2db uxtb r3, r3 8075ac4: 4619 mov r1, r3 8075ac6: 4ab3 ldr r2, [pc, #716] ; (8075d94 ) 8075ac8: 460b mov r3, r1 8075aca: 009b lsls r3, r3, #2 8075acc: 440b add r3, r1 8075ace: 00db lsls r3, r3, #3 8075ad0: 4413 add r3, r2 8075ad2: 3304 adds r3, #4 8075ad4: 681b ldr r3, [r3, #0] 8075ad6: 461a mov r2, r3 8075ad8: 215a movs r1, #90 ; 0x5a 8075ada: 200a movs r0, #10 8075adc: f7de fc0e bl 80542fc LCD_DisplayString(10, LCD_LINE_7, (char *) TEXT_MEAS_MODE[pardata.LANG][3]); //Record 8075ae0: 4bab ldr r3, [pc, #684] ; (8075d90 ) 8075ae2: 7b1b ldrb r3, [r3, #12] 8075ae4: b2db uxtb r3, r3 8075ae6: 4619 mov r1, r3 8075ae8: 4aaa ldr r2, [pc, #680] ; (8075d94 ) 8075aea: 460b mov r3, r1 8075aec: 009b lsls r3, r3, #2 8075aee: 440b add r3, r1 8075af0: 00db lsls r3, r3, #3 8075af2: 4413 add r3, r2 8075af4: 330c adds r3, #12 8075af6: 681b ldr r3, [r3, #0] 8075af8: 461a mov r2, r3 8075afa: 217a movs r1, #122 ; 0x7a 8075afc: 200a movs r0, #10 8075afe: f7de fbfd bl 80542fc LCD_DisplayString(10, LCD_LINE_8, (char *) TEXT_MEAS_MODE[pardata.LANG][4]); //Diagn 8075b02: 4ba3 ldr r3, [pc, #652] ; (8075d90 ) 8075b04: 7b1b ldrb r3, [r3, #12] 8075b06: b2db uxtb r3, r3 8075b08: 4619 mov r1, r3 8075b0a: 4aa2 ldr r2, [pc, #648] ; (8075d94 ) 8075b0c: 460b mov r3, r1 8075b0e: 009b lsls r3, r3, #2 8075b10: 440b add r3, r1 8075b12: 00db lsls r3, r3, #3 8075b14: 4413 add r3, r2 8075b16: 3310 adds r3, #16 8075b18: 681b ldr r3, [r3, #0] 8075b1a: 461a mov r2, r3 8075b1c: 218a movs r1, #138 ; 0x8a 8075b1e: 200a movs r0, #10 8075b20: f7de fbec bl 80542fc LCD_DisplayString(10, LCD_LINE_9, (char *) TEXT_MEAS_MODE[pardata.LANG][8]); //Roll 8075b24: 4b9a ldr r3, [pc, #616] ; (8075d90 ) 8075b26: 7b1b ldrb r3, [r3, #12] 8075b28: b2db uxtb r3, r3 8075b2a: 4619 mov r1, r3 8075b2c: 4a99 ldr r2, [pc, #612] ; (8075d94 ) 8075b2e: 460b mov r3, r1 8075b30: 009b lsls r3, r3, #2 8075b32: 440b add r3, r1 8075b34: 00db lsls r3, r3, #3 8075b36: 4413 add r3, r2 8075b38: 3320 adds r3, #32 8075b3a: 681b ldr r3, [r3, #0] 8075b3c: 461a mov r2, r3 8075b3e: 219a movs r1, #154 ; 0x9a 8075b40: 200a movs r0, #10 8075b42: f7de fbdb bl 80542fc LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_MEAS_MODE[pardata.LANG][9]);//Udar 8075b46: 4b92 ldr r3, [pc, #584] ; (8075d90 ) 8075b48: 7b1b ldrb r3, [r3, #12] 8075b4a: b2db uxtb r3, r3 8075b4c: 4619 mov r1, r3 8075b4e: 4a91 ldr r2, [pc, #580] ; (8075d94 ) 8075b50: 460b mov r3, r1 8075b52: 009b lsls r3, r3, #2 8075b54: 440b add r3, r1 8075b56: 00db lsls r3, r3, #3 8075b58: 4413 add r3, r2 8075b5a: 3324 adds r3, #36 ; 0x24 8075b5c: 681b ldr r3, [r3, #0] 8075b5e: 461a mov r2, r3 8075b60: 21aa movs r1, #170 ; 0xaa 8075b62: 200a movs r0, #10 8075b64: f7de fbca bl 80542fc 8075b68: e222 b.n 8075fb0 } else if(menupos == Wave) 8075b6a: 4b87 ldr r3, [pc, #540] ; (8075d88 ) 8075b6c: 781b ldrb r3, [r3, #0] 8075b6e: b2db uxtb r3, r3 8075b70: 2b04 cmp r3, #4 8075b72: f040 8081 bne.w 8075c78 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8075b76: 4985 ldr r1, [pc, #532] ; (8075d8c ) 8075b78: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8075b7c: f7dd fe16 bl 80537ac LCD_DisplayString(10, LCD_LINE_7, (char *) TEXT_MEAS_MODE[pardata.LANG][3]); //Record 8075b80: 4b83 ldr r3, [pc, #524] ; (8075d90 ) 8075b82: 7b1b ldrb r3, [r3, #12] 8075b84: b2db uxtb r3, r3 8075b86: 4619 mov r1, r3 8075b88: 4a82 ldr r2, [pc, #520] ; (8075d94 ) 8075b8a: 460b mov r3, r1 8075b8c: 009b lsls r3, r3, #2 8075b8e: 440b add r3, r1 8075b90: 00db lsls r3, r3, #3 8075b92: 4413 add r3, r2 8075b94: 330c adds r3, #12 8075b96: 681b ldr r3, [r3, #0] 8075b98: 461a mov r2, r3 8075b9a: 217a movs r1, #122 ; 0x7a 8075b9c: 200a movs r0, #10 8075b9e: f7de fbad bl 80542fc LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8075ba2: 497a ldr r1, [pc, #488] ; (8075d8c ) 8075ba4: f04f 30ff mov.w r0, #4294967295 8075ba8: f7dd fe00 bl 80537ac LCD_DisplayString(10, LCD_LINE_4, (char *) TEXT_MEAS_MODE[pardata.LANG][0]); //Vibr 8075bac: 4b78 ldr r3, [pc, #480] ; (8075d90 ) 8075bae: 7b1b ldrb r3, [r3, #12] 8075bb0: b2db uxtb r3, r3 8075bb2: 4619 mov r1, r3 8075bb4: 4a77 ldr r2, [pc, #476] ; (8075d94 ) 8075bb6: 460b mov r3, r1 8075bb8: 009b lsls r3, r3, #2 8075bba: 440b add r3, r1 8075bbc: 00db lsls r3, r3, #3 8075bbe: 4413 add r3, r2 8075bc0: 681b ldr r3, [r3, #0] 8075bc2: 461a mov r2, r3 8075bc4: 214a movs r1, #74 ; 0x4a 8075bc6: 200a movs r0, #10 8075bc8: f7de fb98 bl 80542fc LCD_DisplayString(10, LCD_LINE_5, (char *) TEXT_MEAS_MODE[pardata.LANG][1]); //Osc 8075bcc: 4b70 ldr r3, [pc, #448] ; (8075d90 ) 8075bce: 7b1b ldrb r3, [r3, #12] 8075bd0: b2db uxtb r3, r3 8075bd2: 4619 mov r1, r3 8075bd4: 4a6f ldr r2, [pc, #444] ; (8075d94 ) 8075bd6: 460b mov r3, r1 8075bd8: 009b lsls r3, r3, #2 8075bda: 440b add r3, r1 8075bdc: 00db lsls r3, r3, #3 8075bde: 4413 add r3, r2 8075be0: 3304 adds r3, #4 8075be2: 681b ldr r3, [r3, #0] 8075be4: 461a mov r2, r3 8075be6: 215a movs r1, #90 ; 0x5a 8075be8: 200a movs r0, #10 8075bea: f7de fb87 bl 80542fc LCD_DisplayString(10, LCD_LINE_6, (char *) TEXT_MEAS_MODE[pardata.LANG][2]); //Spectr 8075bee: 4b68 ldr r3, [pc, #416] ; (8075d90 ) 8075bf0: 7b1b ldrb r3, [r3, #12] 8075bf2: b2db uxtb r3, r3 8075bf4: 4619 mov r1, r3 8075bf6: 4a67 ldr r2, [pc, #412] ; (8075d94 ) 8075bf8: 460b mov r3, r1 8075bfa: 009b lsls r3, r3, #2 8075bfc: 440b add r3, r1 8075bfe: 00db lsls r3, r3, #3 8075c00: 4413 add r3, r2 8075c02: 3308 adds r3, #8 8075c04: 681b ldr r3, [r3, #0] 8075c06: 461a mov r2, r3 8075c08: 216a movs r1, #106 ; 0x6a 8075c0a: 200a movs r0, #10 8075c0c: f7de fb76 bl 80542fc LCD_DisplayString(10, LCD_LINE_8, (char *) TEXT_MEAS_MODE[pardata.LANG][4]); //Diagn 8075c10: 4b5f ldr r3, [pc, #380] ; (8075d90 ) 8075c12: 7b1b ldrb r3, [r3, #12] 8075c14: b2db uxtb r3, r3 8075c16: 4619 mov r1, r3 8075c18: 4a5e ldr r2, [pc, #376] ; (8075d94 ) 8075c1a: 460b mov r3, r1 8075c1c: 009b lsls r3, r3, #2 8075c1e: 440b add r3, r1 8075c20: 00db lsls r3, r3, #3 8075c22: 4413 add r3, r2 8075c24: 3310 adds r3, #16 8075c26: 681b ldr r3, [r3, #0] 8075c28: 461a mov r2, r3 8075c2a: 218a movs r1, #138 ; 0x8a 8075c2c: 200a movs r0, #10 8075c2e: f7de fb65 bl 80542fc LCD_DisplayString(10, LCD_LINE_9, (char *) TEXT_MEAS_MODE[pardata.LANG][8]); //Roll 8075c32: 4b57 ldr r3, [pc, #348] ; (8075d90 ) 8075c34: 7b1b ldrb r3, [r3, #12] 8075c36: b2db uxtb r3, r3 8075c38: 4619 mov r1, r3 8075c3a: 4a56 ldr r2, [pc, #344] ; (8075d94 ) 8075c3c: 460b mov r3, r1 8075c3e: 009b lsls r3, r3, #2 8075c40: 440b add r3, r1 8075c42: 00db lsls r3, r3, #3 8075c44: 4413 add r3, r2 8075c46: 3320 adds r3, #32 8075c48: 681b ldr r3, [r3, #0] 8075c4a: 461a mov r2, r3 8075c4c: 219a movs r1, #154 ; 0x9a 8075c4e: 200a movs r0, #10 8075c50: f7de fb54 bl 80542fc LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_MEAS_MODE[pardata.LANG][9]);//Udar 8075c54: 4b4e ldr r3, [pc, #312] ; (8075d90 ) 8075c56: 7b1b ldrb r3, [r3, #12] 8075c58: b2db uxtb r3, r3 8075c5a: 4619 mov r1, r3 8075c5c: 4a4d ldr r2, [pc, #308] ; (8075d94 ) 8075c5e: 460b mov r3, r1 8075c60: 009b lsls r3, r3, #2 8075c62: 440b add r3, r1 8075c64: 00db lsls r3, r3, #3 8075c66: 4413 add r3, r2 8075c68: 3324 adds r3, #36 ; 0x24 8075c6a: 681b ldr r3, [r3, #0] 8075c6c: 461a mov r2, r3 8075c6e: 21aa movs r1, #170 ; 0xaa 8075c70: 200a movs r0, #10 8075c72: f7de fb43 bl 80542fc 8075c76: e19b b.n 8075fb0 } else if(menupos == Diagn) 8075c78: 4b43 ldr r3, [pc, #268] ; (8075d88 ) 8075c7a: 781b ldrb r3, [r3, #0] 8075c7c: b2db uxtb r3, r3 8075c7e: 2b05 cmp r3, #5 8075c80: f040 808a bne.w 8075d98 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8075c84: 4941 ldr r1, [pc, #260] ; (8075d8c ) 8075c86: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8075c8a: f7dd fd8f bl 80537ac LCD_DisplayString(10, LCD_LINE_8, (char *) TEXT_MEAS_MODE[pardata.LANG][4]); //Diagn 8075c8e: 4b40 ldr r3, [pc, #256] ; (8075d90 ) 8075c90: 7b1b ldrb r3, [r3, #12] 8075c92: b2db uxtb r3, r3 8075c94: 4619 mov r1, r3 8075c96: 4a3f ldr r2, [pc, #252] ; (8075d94 ) 8075c98: 460b mov r3, r1 8075c9a: 009b lsls r3, r3, #2 8075c9c: 440b add r3, r1 8075c9e: 00db lsls r3, r3, #3 8075ca0: 4413 add r3, r2 8075ca2: 3310 adds r3, #16 8075ca4: 681b ldr r3, [r3, #0] 8075ca6: 461a mov r2, r3 8075ca8: 218a movs r1, #138 ; 0x8a 8075caa: 200a movs r0, #10 8075cac: f7de fb26 bl 80542fc LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8075cb0: 4936 ldr r1, [pc, #216] ; (8075d8c ) 8075cb2: f04f 30ff mov.w r0, #4294967295 8075cb6: f7dd fd79 bl 80537ac LCD_DisplayString(10, LCD_LINE_4, (char *) TEXT_MEAS_MODE[pardata.LANG][0]); //Vibr 8075cba: 4b35 ldr r3, [pc, #212] ; (8075d90 ) 8075cbc: 7b1b ldrb r3, [r3, #12] 8075cbe: b2db uxtb r3, r3 8075cc0: 4619 mov r1, r3 8075cc2: 4a34 ldr r2, [pc, #208] ; (8075d94 ) 8075cc4: 460b mov r3, r1 8075cc6: 009b lsls r3, r3, #2 8075cc8: 440b add r3, r1 8075cca: 00db lsls r3, r3, #3 8075ccc: 4413 add r3, r2 8075cce: 681b ldr r3, [r3, #0] 8075cd0: 461a mov r2, r3 8075cd2: 214a movs r1, #74 ; 0x4a 8075cd4: 200a movs r0, #10 8075cd6: f7de fb11 bl 80542fc LCD_DisplayString(10, LCD_LINE_5, (char *) TEXT_MEAS_MODE[pardata.LANG][1]); //Osc 8075cda: 4b2d ldr r3, [pc, #180] ; (8075d90 ) 8075cdc: 7b1b ldrb r3, [r3, #12] 8075cde: b2db uxtb r3, r3 8075ce0: 4619 mov r1, r3 8075ce2: 4a2c ldr r2, [pc, #176] ; (8075d94 ) 8075ce4: 460b mov r3, r1 8075ce6: 009b lsls r3, r3, #2 8075ce8: 440b add r3, r1 8075cea: 00db lsls r3, r3, #3 8075cec: 4413 add r3, r2 8075cee: 3304 adds r3, #4 8075cf0: 681b ldr r3, [r3, #0] 8075cf2: 461a mov r2, r3 8075cf4: 215a movs r1, #90 ; 0x5a 8075cf6: 200a movs r0, #10 8075cf8: f7de fb00 bl 80542fc LCD_DisplayString(10, LCD_LINE_6, (char *) TEXT_MEAS_MODE[pardata.LANG][2]); //Spectr 8075cfc: 4b24 ldr r3, [pc, #144] ; (8075d90 ) 8075cfe: 7b1b ldrb r3, [r3, #12] 8075d00: b2db uxtb r3, r3 8075d02: 4619 mov r1, r3 8075d04: 4a23 ldr r2, [pc, #140] ; (8075d94 ) 8075d06: 460b mov r3, r1 8075d08: 009b lsls r3, r3, #2 8075d0a: 440b add r3, r1 8075d0c: 00db lsls r3, r3, #3 8075d0e: 4413 add r3, r2 8075d10: 3308 adds r3, #8 8075d12: 681b ldr r3, [r3, #0] 8075d14: 461a mov r2, r3 8075d16: 216a movs r1, #106 ; 0x6a 8075d18: 200a movs r0, #10 8075d1a: f7de faef bl 80542fc LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_MEAS_MODE[pardata.LANG][9]);//Udar 8075d1e: 4b1c ldr r3, [pc, #112] ; (8075d90 ) 8075d20: 7b1b ldrb r3, [r3, #12] 8075d22: b2db uxtb r3, r3 8075d24: 4619 mov r1, r3 8075d26: 4a1b ldr r2, [pc, #108] ; (8075d94 ) 8075d28: 460b mov r3, r1 8075d2a: 009b lsls r3, r3, #2 8075d2c: 440b add r3, r1 8075d2e: 00db lsls r3, r3, #3 8075d30: 4413 add r3, r2 8075d32: 3324 adds r3, #36 ; 0x24 8075d34: 681b ldr r3, [r3, #0] 8075d36: 461a mov r2, r3 8075d38: 21aa movs r1, #170 ; 0xaa 8075d3a: 200a movs r0, #10 8075d3c: f7de fade bl 80542fc LCD_DisplayString(10, LCD_LINE_7, (char *) TEXT_MEAS_MODE[pardata.LANG][3]); //Record 8075d40: 4b13 ldr r3, [pc, #76] ; (8075d90 ) 8075d42: 7b1b ldrb r3, [r3, #12] 8075d44: b2db uxtb r3, r3 8075d46: 4619 mov r1, r3 8075d48: 4a12 ldr r2, [pc, #72] ; (8075d94 ) 8075d4a: 460b mov r3, r1 8075d4c: 009b lsls r3, r3, #2 8075d4e: 440b add r3, r1 8075d50: 00db lsls r3, r3, #3 8075d52: 4413 add r3, r2 8075d54: 330c adds r3, #12 8075d56: 681b ldr r3, [r3, #0] 8075d58: 461a mov r2, r3 8075d5a: 217a movs r1, #122 ; 0x7a 8075d5c: 200a movs r0, #10 8075d5e: f7de facd bl 80542fc LCD_DisplayString(10, LCD_LINE_9, (char *) TEXT_MEAS_MODE[pardata.LANG][8]); //Roll 8075d62: 4b0b ldr r3, [pc, #44] ; (8075d90 ) 8075d64: 7b1b ldrb r3, [r3, #12] 8075d66: b2db uxtb r3, r3 8075d68: 4619 mov r1, r3 8075d6a: 4a0a ldr r2, [pc, #40] ; (8075d94 ) 8075d6c: 460b mov r3, r1 8075d6e: 009b lsls r3, r3, #2 8075d70: 440b add r3, r1 8075d72: 00db lsls r3, r3, #3 8075d74: 4413 add r3, r2 8075d76: 3320 adds r3, #32 8075d78: 681b ldr r3, [r3, #0] 8075d7a: 461a mov r2, r3 8075d7c: 219a movs r1, #154 ; 0x9a 8075d7e: 200a movs r0, #10 8075d80: f7de fabc bl 80542fc 8075d84: e114 b.n 8075fb0 8075d86: bf00 nop 8075d88: 20020070 .word 0x20020070 8075d8c: ff0a0f1f .word 0xff0a0f1f 8075d90: 20023e60 .word 0x20023e60 8075d94: 200208dc .word 0x200208dc } else if(menupos == Roll) 8075d98: 4bad ldr r3, [pc, #692] ; (8076050 ) 8075d9a: 781b ldrb r3, [r3, #0] 8075d9c: b2db uxtb r3, r3 8075d9e: 2b06 cmp r3, #6 8075da0: f040 8081 bne.w 8075ea6 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8075da4: 49ab ldr r1, [pc, #684] ; (8076054 ) 8075da6: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8075daa: f7dd fcff bl 80537ac LCD_DisplayString(10, LCD_LINE_9, (char *) TEXT_MEAS_MODE[pardata.LANG][8]); //Roll 8075dae: 4baa ldr r3, [pc, #680] ; (8076058 ) 8075db0: 7b1b ldrb r3, [r3, #12] 8075db2: b2db uxtb r3, r3 8075db4: 4619 mov r1, r3 8075db6: 4aa9 ldr r2, [pc, #676] ; (807605c ) 8075db8: 460b mov r3, r1 8075dba: 009b lsls r3, r3, #2 8075dbc: 440b add r3, r1 8075dbe: 00db lsls r3, r3, #3 8075dc0: 4413 add r3, r2 8075dc2: 3320 adds r3, #32 8075dc4: 681b ldr r3, [r3, #0] 8075dc6: 461a mov r2, r3 8075dc8: 219a movs r1, #154 ; 0x9a 8075dca: 200a movs r0, #10 8075dcc: f7de fa96 bl 80542fc LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8075dd0: 49a0 ldr r1, [pc, #640] ; (8076054 ) 8075dd2: f04f 30ff mov.w r0, #4294967295 8075dd6: f7dd fce9 bl 80537ac LCD_DisplayString(10, LCD_LINE_4, (char *) TEXT_MEAS_MODE[pardata.LANG][0]); //Vibr 8075dda: 4b9f ldr r3, [pc, #636] ; (8076058 ) 8075ddc: 7b1b ldrb r3, [r3, #12] 8075dde: b2db uxtb r3, r3 8075de0: 4619 mov r1, r3 8075de2: 4a9e ldr r2, [pc, #632] ; (807605c ) 8075de4: 460b mov r3, r1 8075de6: 009b lsls r3, r3, #2 8075de8: 440b add r3, r1 8075dea: 00db lsls r3, r3, #3 8075dec: 4413 add r3, r2 8075dee: 681b ldr r3, [r3, #0] 8075df0: 461a mov r2, r3 8075df2: 214a movs r1, #74 ; 0x4a 8075df4: 200a movs r0, #10 8075df6: f7de fa81 bl 80542fc LCD_DisplayString(10, LCD_LINE_5, (char *) TEXT_MEAS_MODE[pardata.LANG][1]); //Osc 8075dfa: 4b97 ldr r3, [pc, #604] ; (8076058 ) 8075dfc: 7b1b ldrb r3, [r3, #12] 8075dfe: b2db uxtb r3, r3 8075e00: 4619 mov r1, r3 8075e02: 4a96 ldr r2, [pc, #600] ; (807605c ) 8075e04: 460b mov r3, r1 8075e06: 009b lsls r3, r3, #2 8075e08: 440b add r3, r1 8075e0a: 00db lsls r3, r3, #3 8075e0c: 4413 add r3, r2 8075e0e: 3304 adds r3, #4 8075e10: 681b ldr r3, [r3, #0] 8075e12: 461a mov r2, r3 8075e14: 215a movs r1, #90 ; 0x5a 8075e16: 200a movs r0, #10 8075e18: f7de fa70 bl 80542fc LCD_DisplayString(10, LCD_LINE_6, (char *) TEXT_MEAS_MODE[pardata.LANG][2]); //Spectr 8075e1c: 4b8e ldr r3, [pc, #568] ; (8076058 ) 8075e1e: 7b1b ldrb r3, [r3, #12] 8075e20: b2db uxtb r3, r3 8075e22: 4619 mov r1, r3 8075e24: 4a8d ldr r2, [pc, #564] ; (807605c ) 8075e26: 460b mov r3, r1 8075e28: 009b lsls r3, r3, #2 8075e2a: 440b add r3, r1 8075e2c: 00db lsls r3, r3, #3 8075e2e: 4413 add r3, r2 8075e30: 3308 adds r3, #8 8075e32: 681b ldr r3, [r3, #0] 8075e34: 461a mov r2, r3 8075e36: 216a movs r1, #106 ; 0x6a 8075e38: 200a movs r0, #10 8075e3a: f7de fa5f bl 80542fc LCD_DisplayString(10, LCD_LINE_8, (char *) TEXT_MEAS_MODE[pardata.LANG][4]); //Diagn 8075e3e: 4b86 ldr r3, [pc, #536] ; (8076058 ) 8075e40: 7b1b ldrb r3, [r3, #12] 8075e42: b2db uxtb r3, r3 8075e44: 4619 mov r1, r3 8075e46: 4a85 ldr r2, [pc, #532] ; (807605c ) 8075e48: 460b mov r3, r1 8075e4a: 009b lsls r3, r3, #2 8075e4c: 440b add r3, r1 8075e4e: 00db lsls r3, r3, #3 8075e50: 4413 add r3, r2 8075e52: 3310 adds r3, #16 8075e54: 681b ldr r3, [r3, #0] 8075e56: 461a mov r2, r3 8075e58: 218a movs r1, #138 ; 0x8a 8075e5a: 200a movs r0, #10 8075e5c: f7de fa4e bl 80542fc LCD_DisplayString(10, LCD_LINE_7, (char *) TEXT_MEAS_MODE[pardata.LANG][3]); //Record 8075e60: 4b7d ldr r3, [pc, #500] ; (8076058 ) 8075e62: 7b1b ldrb r3, [r3, #12] 8075e64: b2db uxtb r3, r3 8075e66: 4619 mov r1, r3 8075e68: 4a7c ldr r2, [pc, #496] ; (807605c ) 8075e6a: 460b mov r3, r1 8075e6c: 009b lsls r3, r3, #2 8075e6e: 440b add r3, r1 8075e70: 00db lsls r3, r3, #3 8075e72: 4413 add r3, r2 8075e74: 330c adds r3, #12 8075e76: 681b ldr r3, [r3, #0] 8075e78: 461a mov r2, r3 8075e7a: 217a movs r1, #122 ; 0x7a 8075e7c: 200a movs r0, #10 8075e7e: f7de fa3d bl 80542fc LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_MEAS_MODE[pardata.LANG][9]);//Udar 8075e82: 4b75 ldr r3, [pc, #468] ; (8076058 ) 8075e84: 7b1b ldrb r3, [r3, #12] 8075e86: b2db uxtb r3, r3 8075e88: 4619 mov r1, r3 8075e8a: 4a74 ldr r2, [pc, #464] ; (807605c ) 8075e8c: 460b mov r3, r1 8075e8e: 009b lsls r3, r3, #2 8075e90: 440b add r3, r1 8075e92: 00db lsls r3, r3, #3 8075e94: 4413 add r3, r2 8075e96: 3324 adds r3, #36 ; 0x24 8075e98: 681b ldr r3, [r3, #0] 8075e9a: 461a mov r2, r3 8075e9c: 21aa movs r1, #170 ; 0xaa 8075e9e: 200a movs r0, #10 8075ea0: f7de fa2c bl 80542fc 8075ea4: e084 b.n 8075fb0 } else if(menupos == Udar) 8075ea6: 4b6a ldr r3, [pc, #424] ; (8076050 ) 8075ea8: 781b ldrb r3, [r3, #0] 8075eaa: b2db uxtb r3, r3 8075eac: 2b07 cmp r3, #7 8075eae: d17f bne.n 8075fb0 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8075eb0: 4968 ldr r1, [pc, #416] ; (8076054 ) 8075eb2: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8075eb6: f7dd fc79 bl 80537ac LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_MEAS_MODE[pardata.LANG][9]);//Udar 8075eba: 4b67 ldr r3, [pc, #412] ; (8076058 ) 8075ebc: 7b1b ldrb r3, [r3, #12] 8075ebe: b2db uxtb r3, r3 8075ec0: 4619 mov r1, r3 8075ec2: 4a66 ldr r2, [pc, #408] ; (807605c ) 8075ec4: 460b mov r3, r1 8075ec6: 009b lsls r3, r3, #2 8075ec8: 440b add r3, r1 8075eca: 00db lsls r3, r3, #3 8075ecc: 4413 add r3, r2 8075ece: 3324 adds r3, #36 ; 0x24 8075ed0: 681b ldr r3, [r3, #0] 8075ed2: 461a mov r2, r3 8075ed4: 21aa movs r1, #170 ; 0xaa 8075ed6: 200a movs r0, #10 8075ed8: f7de fa10 bl 80542fc LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8075edc: 495d ldr r1, [pc, #372] ; (8076054 ) 8075ede: f04f 30ff mov.w r0, #4294967295 8075ee2: f7dd fc63 bl 80537ac LCD_DisplayString(10, LCD_LINE_4, (char *) TEXT_MEAS_MODE[pardata.LANG][0]); //Vibr 8075ee6: 4b5c ldr r3, [pc, #368] ; (8076058 ) 8075ee8: 7b1b ldrb r3, [r3, #12] 8075eea: b2db uxtb r3, r3 8075eec: 4619 mov r1, r3 8075eee: 4a5b ldr r2, [pc, #364] ; (807605c ) 8075ef0: 460b mov r3, r1 8075ef2: 009b lsls r3, r3, #2 8075ef4: 440b add r3, r1 8075ef6: 00db lsls r3, r3, #3 8075ef8: 4413 add r3, r2 8075efa: 681b ldr r3, [r3, #0] 8075efc: 461a mov r2, r3 8075efe: 214a movs r1, #74 ; 0x4a 8075f00: 200a movs r0, #10 8075f02: f7de f9fb bl 80542fc LCD_DisplayString(10, LCD_LINE_5, (char *) TEXT_MEAS_MODE[pardata.LANG][1]); //Osc 8075f06: 4b54 ldr r3, [pc, #336] ; (8076058 ) 8075f08: 7b1b ldrb r3, [r3, #12] 8075f0a: b2db uxtb r3, r3 8075f0c: 4619 mov r1, r3 8075f0e: 4a53 ldr r2, [pc, #332] ; (807605c ) 8075f10: 460b mov r3, r1 8075f12: 009b lsls r3, r3, #2 8075f14: 440b add r3, r1 8075f16: 00db lsls r3, r3, #3 8075f18: 4413 add r3, r2 8075f1a: 3304 adds r3, #4 8075f1c: 681b ldr r3, [r3, #0] 8075f1e: 461a mov r2, r3 8075f20: 215a movs r1, #90 ; 0x5a 8075f22: 200a movs r0, #10 8075f24: f7de f9ea bl 80542fc LCD_DisplayString(10, LCD_LINE_6, (char *) TEXT_MEAS_MODE[pardata.LANG][2]); //Spectr 8075f28: 4b4b ldr r3, [pc, #300] ; (8076058 ) 8075f2a: 7b1b ldrb r3, [r3, #12] 8075f2c: b2db uxtb r3, r3 8075f2e: 4619 mov r1, r3 8075f30: 4a4a ldr r2, [pc, #296] ; (807605c ) 8075f32: 460b mov r3, r1 8075f34: 009b lsls r3, r3, #2 8075f36: 440b add r3, r1 8075f38: 00db lsls r3, r3, #3 8075f3a: 4413 add r3, r2 8075f3c: 3308 adds r3, #8 8075f3e: 681b ldr r3, [r3, #0] 8075f40: 461a mov r2, r3 8075f42: 216a movs r1, #106 ; 0x6a 8075f44: 200a movs r0, #10 8075f46: f7de f9d9 bl 80542fc LCD_DisplayString(10, LCD_LINE_8, (char *) TEXT_MEAS_MODE[pardata.LANG][4]); //Diagn 8075f4a: 4b43 ldr r3, [pc, #268] ; (8076058 ) 8075f4c: 7b1b ldrb r3, [r3, #12] 8075f4e: b2db uxtb r3, r3 8075f50: 4619 mov r1, r3 8075f52: 4a42 ldr r2, [pc, #264] ; (807605c ) 8075f54: 460b mov r3, r1 8075f56: 009b lsls r3, r3, #2 8075f58: 440b add r3, r1 8075f5a: 00db lsls r3, r3, #3 8075f5c: 4413 add r3, r2 8075f5e: 3310 adds r3, #16 8075f60: 681b ldr r3, [r3, #0] 8075f62: 461a mov r2, r3 8075f64: 218a movs r1, #138 ; 0x8a 8075f66: 200a movs r0, #10 8075f68: f7de f9c8 bl 80542fc LCD_DisplayString(10, LCD_LINE_7, (char *) TEXT_MEAS_MODE[pardata.LANG][3]); //Record 8075f6c: 4b3a ldr r3, [pc, #232] ; (8076058 ) 8075f6e: 7b1b ldrb r3, [r3, #12] 8075f70: b2db uxtb r3, r3 8075f72: 4619 mov r1, r3 8075f74: 4a39 ldr r2, [pc, #228] ; (807605c ) 8075f76: 460b mov r3, r1 8075f78: 009b lsls r3, r3, #2 8075f7a: 440b add r3, r1 8075f7c: 00db lsls r3, r3, #3 8075f7e: 4413 add r3, r2 8075f80: 330c adds r3, #12 8075f82: 681b ldr r3, [r3, #0] 8075f84: 461a mov r2, r3 8075f86: 217a movs r1, #122 ; 0x7a 8075f88: 200a movs r0, #10 8075f8a: f7de f9b7 bl 80542fc LCD_DisplayString(10, LCD_LINE_9, (char *) TEXT_MEAS_MODE[pardata.LANG][8]); //Roll 8075f8e: 4b32 ldr r3, [pc, #200] ; (8076058 ) 8075f90: 7b1b ldrb r3, [r3, #12] 8075f92: b2db uxtb r3, r3 8075f94: 4619 mov r1, r3 8075f96: 4a31 ldr r2, [pc, #196] ; (807605c ) 8075f98: 460b mov r3, r1 8075f9a: 009b lsls r3, r3, #2 8075f9c: 440b add r3, r1 8075f9e: 00db lsls r3, r3, #3 8075fa0: 4413 add r3, r2 8075fa2: 3320 adds r3, #32 8075fa4: 681b ldr r3, [r3, #0] 8075fa6: 461a mov r2, r3 8075fa8: 219a movs r1, #154 ; 0x9a 8075faa: 200a movs r0, #10 8075fac: f7de f9a6 bl 80542fc 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) 8075fb0: 4b29 ldr r3, [pc, #164] ; (8076058 ) 8075fb2: 799b ldrb r3, [r3, #6] 8075fb4: b2db uxtb r3, r3 8075fb6: 2b02 cmp r3, #2 8075fb8: f061 82fb bne.w 80975b2 { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8075fbc: 4925 ldr r1, [pc, #148] ; (8076054 ) 8075fbe: 4828 ldr r0, [pc, #160] ; (8076060 ) 8075fc0: f7dd fbf4 bl 80537ac #ifdef USE_ROLL LCD_DisplayString(10, LCD_LINE_7, (char *) TEXT_MEAS_MODE[pardata.LANG][3]); //Record 8075fc4: 4b24 ldr r3, [pc, #144] ; (8076058 ) 8075fc6: 7b1b ldrb r3, [r3, #12] 8075fc8: b2db uxtb r3, r3 8075fca: 4619 mov r1, r3 8075fcc: 4a23 ldr r2, [pc, #140] ; (807605c ) 8075fce: 460b mov r3, r1 8075fd0: 009b lsls r3, r3, #2 8075fd2: 440b add r3, r1 8075fd4: 00db lsls r3, r3, #3 8075fd6: 4413 add r3, r2 8075fd8: 330c adds r3, #12 8075fda: 681b ldr r3, [r3, #0] 8075fdc: 461a mov r2, r3 8075fde: 217a movs r1, #122 ; 0x7a 8075fe0: 200a movs r0, #10 8075fe2: f7de f98b bl 80542fc LCD_DisplayString(10, LCD_LINE_8, (char *) TEXT_MEAS_MODE[pardata.LANG][4]); //Diagn 8075fe6: 4b1c ldr r3, [pc, #112] ; (8076058 ) 8075fe8: 7b1b ldrb r3, [r3, #12] 8075fea: b2db uxtb r3, r3 8075fec: 4619 mov r1, r3 8075fee: 4a1b ldr r2, [pc, #108] ; (807605c ) 8075ff0: 460b mov r3, r1 8075ff2: 009b lsls r3, r3, #2 8075ff4: 440b add r3, r1 8075ff6: 00db lsls r3, r3, #3 8075ff8: 4413 add r3, r2 8075ffa: 3310 adds r3, #16 8075ffc: 681b ldr r3, [r3, #0] 8075ffe: 461a mov r2, r3 8076000: 218a movs r1, #138 ; 0x8a 8076002: 200a movs r0, #10 8076004: f7de f97a bl 80542fc LCD_DisplayString(10, LCD_LINE_9, (char *) TEXT_MEAS_MODE[pardata.LANG][8]); //Roll 8076008: 4b13 ldr r3, [pc, #76] ; (8076058 ) 807600a: 7b1b ldrb r3, [r3, #12] 807600c: b2db uxtb r3, r3 807600e: 4619 mov r1, r3 8076010: 4a12 ldr r2, [pc, #72] ; (807605c ) 8076012: 460b mov r3, r1 8076014: 009b lsls r3, r3, #2 8076016: 440b add r3, r1 8076018: 00db lsls r3, r3, #3 807601a: 4413 add r3, r2 807601c: 3320 adds r3, #32 807601e: 681b ldr r3, [r3, #0] 8076020: 461a mov r2, r3 8076022: 219a movs r1, #154 ; 0x9a 8076024: 200a movs r0, #10 8076026: f7de f969 bl 80542fc LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_MEAS_MODE[pardata.LANG][9]);//Udar 807602a: 4b0b ldr r3, [pc, #44] ; (8076058 ) 807602c: 7b1b ldrb r3, [r3, #12] 807602e: b2db uxtb r3, r3 8076030: 4619 mov r1, r3 8076032: 4a0a ldr r2, [pc, #40] ; (807605c ) 8076034: 460b mov r3, r1 8076036: 009b lsls r3, r3, #2 8076038: 440b add r3, r1 807603a: 00db lsls r3, r3, #3 807603c: 4413 add r3, r2 807603e: 3324 adds r3, #36 ; 0x24 8076040: 681b ldr r3, [r3, #0] 8076042: 461a mov r2, r3 8076044: 21aa movs r1, #170 ; 0xaa 8076046: 200a movs r0, #10 8076048: f7de f958 bl 80542fc break; 807604c: f021 bab1 b.w 80975b2 8076050: 20020070 .word 0x20020070 8076054: ff0a0f1f .word 0xff0a0f1f 8076058: 20023e60 .word 0x20023e60 807605c: 200208dc .word 0x200208dc 8076060: ff808080 .word 0xff808080 case SETTINGS: //todo LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 8076064: 4984 ldr r1, [pc, #528] ; (8076278 ) 8076066: 4885 ldr r0, [pc, #532] ; (807627c ) 8076068: f7dd fba0 bl 80537ac BSP_LCD_DrawRect(2, 35, 314, 201); 807606c: 23c9 movs r3, #201 ; 0xc9 807606e: f44f 729d mov.w r2, #314 ; 0x13a 8076072: 2123 movs r1, #35 ; 0x23 8076074: 2002 movs r0, #2 8076076: f7dd fe9f bl 8053db8 k = (uint32_t) (pardata.IKK * 1000.0f); 807607a: 4b81 ldr r3, [pc, #516] ; (8076280 ) 807607c: edd3 7a04 vldr s15, [r3, #16] 8076080: ed9f 7a80 vldr s14, [pc, #512] ; 8076284 8076084: ee67 7a87 vmul.f32 s15, s15, s14 8076088: eefc 7ae7 vcvt.u32.f32 s15, s15 807608c: ee17 3a90 vmov r3, s15 8076090: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 ies = k / 100000; 8076094: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8076098: 095b lsrs r3, r3, #5 807609a: 4a7b ldr r2, [pc, #492] ; (8076288 ) 807609c: fba2 2303 umull r2, r3, r2, r3 80760a0: 09db lsrs r3, r3, #7 80760a2: b2db uxtb r3, r3 80760a4: f887 33e5 strb.w r3, [r7, #997] ; 0x3e5 ied = k % 100000 / 10000; 80760a8: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 80760ac: 0953 lsrs r3, r2, #5 80760ae: 4976 ldr r1, [pc, #472] ; (8076288 ) 80760b0: fba1 1303 umull r1, r3, r1, r3 80760b4: 09db lsrs r3, r3, #7 80760b6: 4975 ldr r1, [pc, #468] ; (807628c ) 80760b8: fb01 f303 mul.w r3, r1, r3 80760bc: 1ad3 subs r3, r2, r3 80760be: 4a74 ldr r2, [pc, #464] ; (8076290 ) 80760c0: fba2 2303 umull r2, r3, r2, r3 80760c4: 0b5b lsrs r3, r3, #13 80760c6: b2db uxtb r3, r3 80760c8: f887 33e4 strb.w r3, [r7, #996] ; 0x3e4 iee = k % 100000 % 10000 / 1000; 80760cc: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 80760d0: 0953 lsrs r3, r2, #5 80760d2: 496d ldr r1, [pc, #436] ; (8076288 ) 80760d4: fba1 1303 umull r1, r3, r1, r3 80760d8: 09db lsrs r3, r3, #7 80760da: 496c ldr r1, [pc, #432] ; (807628c ) 80760dc: fb01 f303 mul.w r3, r1, r3 80760e0: 1ad3 subs r3, r2, r3 80760e2: 4a6b ldr r2, [pc, #428] ; (8076290 ) 80760e4: fba2 1203 umull r1, r2, r2, r3 80760e8: 0b52 lsrs r2, r2, #13 80760ea: f242 7110 movw r1, #10000 ; 0x2710 80760ee: fb01 f202 mul.w r2, r1, r2 80760f2: 1a9a subs r2, r3, r2 80760f4: 4b67 ldr r3, [pc, #412] ; (8076294 ) 80760f6: fba3 2302 umull r2, r3, r3, r2 80760fa: 099b lsrs r3, r3, #6 80760fc: b2db uxtb r3, r3 80760fe: f887 33e3 strb.w r3, [r7, #995] ; 0x3e3 ikd = k % 100000 % 10000 % 1000 / 100; 8076102: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8076106: 095a lsrs r2, r3, #5 8076108: 495f ldr r1, [pc, #380] ; (8076288 ) 807610a: fba1 1202 umull r1, r2, r1, r2 807610e: 09d2 lsrs r2, r2, #7 8076110: 495e ldr r1, [pc, #376] ; (807628c ) 8076112: fb01 f202 mul.w r2, r1, r2 8076116: 1a9a subs r2, r3, r2 8076118: 4b5d ldr r3, [pc, #372] ; (8076290 ) 807611a: fba3 1302 umull r1, r3, r3, r2 807611e: 0b5b lsrs r3, r3, #13 8076120: f242 7110 movw r1, #10000 ; 0x2710 8076124: fb01 f303 mul.w r3, r1, r3 8076128: 1ad3 subs r3, r2, r3 807612a: 4a5a ldr r2, [pc, #360] ; (8076294 ) 807612c: fba2 1203 umull r1, r2, r2, r3 8076130: 0992 lsrs r2, r2, #6 8076132: f44f 717a mov.w r1, #1000 ; 0x3e8 8076136: fb01 f202 mul.w r2, r1, r2 807613a: 1a9a subs r2, r3, r2 807613c: 4b56 ldr r3, [pc, #344] ; (8076298 ) 807613e: fba3 2302 umull r2, r3, r3, r2 8076142: 095b lsrs r3, r3, #5 8076144: b2db uxtb r3, r3 8076146: f887 33e2 strb.w r3, [r7, #994] ; 0x3e2 iks = k % 100000 % 10000 % 1000 % 100 / 10; 807614a: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 807614e: 0953 lsrs r3, r2, #5 8076150: 494d ldr r1, [pc, #308] ; (8076288 ) 8076152: fba1 1303 umull r1, r3, r1, r3 8076156: 09db lsrs r3, r3, #7 8076158: 494c ldr r1, [pc, #304] ; (807628c ) 807615a: fb01 f303 mul.w r3, r1, r3 807615e: 1ad3 subs r3, r2, r3 8076160: 4a4b ldr r2, [pc, #300] ; (8076290 ) 8076162: fba2 1203 umull r1, r2, r2, r3 8076166: 0b52 lsrs r2, r2, #13 8076168: f242 7110 movw r1, #10000 ; 0x2710 807616c: fb01 f202 mul.w r2, r1, r2 8076170: 1a9a subs r2, r3, r2 8076172: 4b48 ldr r3, [pc, #288] ; (8076294 ) 8076174: fba3 1302 umull r1, r3, r3, r2 8076178: 099b lsrs r3, r3, #6 807617a: f44f 717a mov.w r1, #1000 ; 0x3e8 807617e: fb01 f303 mul.w r3, r1, r3 8076182: 1ad3 subs r3, r2, r3 8076184: 4a44 ldr r2, [pc, #272] ; (8076298 ) 8076186: fba2 1203 umull r1, r2, r2, r3 807618a: 0952 lsrs r2, r2, #5 807618c: 2164 movs r1, #100 ; 0x64 807618e: fb01 f202 mul.w r2, r1, r2 8076192: 1a9a subs r2, r3, r2 8076194: 4b41 ldr r3, [pc, #260] ; (807629c ) 8076196: fba3 2302 umull r2, r3, r3, r2 807619a: 08db lsrs r3, r3, #3 807619c: b2db uxtb r3, r3 807619e: f887 33e1 strb.w r3, [r7, #993] ; 0x3e1 ikt = k % 100000 % 10000 % 1000 % 100 % 10; 80761a2: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 80761a6: 0953 lsrs r3, r2, #5 80761a8: 4937 ldr r1, [pc, #220] ; (8076288 ) 80761aa: fba1 1303 umull r1, r3, r1, r3 80761ae: 09db lsrs r3, r3, #7 80761b0: 4936 ldr r1, [pc, #216] ; (807628c ) 80761b2: fb01 f303 mul.w r3, r1, r3 80761b6: 1ad3 subs r3, r2, r3 80761b8: 4a35 ldr r2, [pc, #212] ; (8076290 ) 80761ba: fba2 1203 umull r1, r2, r2, r3 80761be: 0b52 lsrs r2, r2, #13 80761c0: f242 7110 movw r1, #10000 ; 0x2710 80761c4: fb01 f202 mul.w r2, r1, r2 80761c8: 1a9a subs r2, r3, r2 80761ca: 4b32 ldr r3, [pc, #200] ; (8076294 ) 80761cc: fba3 1302 umull r1, r3, r3, r2 80761d0: 099b lsrs r3, r3, #6 80761d2: f44f 717a mov.w r1, #1000 ; 0x3e8 80761d6: fb01 f303 mul.w r3, r1, r3 80761da: 1ad3 subs r3, r2, r3 80761dc: 4a2e ldr r2, [pc, #184] ; (8076298 ) 80761de: fba2 1203 umull r1, r2, r2, r3 80761e2: 0952 lsrs r2, r2, #5 80761e4: 2164 movs r1, #100 ; 0x64 80761e6: fb01 f202 mul.w r2, r1, r2 80761ea: 1a9a subs r2, r3, r2 80761ec: 4b2b ldr r3, [pc, #172] ; (807629c ) 80761ee: fba3 1302 umull r1, r3, r3, r2 80761f2: 08d9 lsrs r1, r3, #3 80761f4: 460b mov r3, r1 80761f6: 009b lsls r3, r3, #2 80761f8: 440b add r3, r1 80761fa: 005b lsls r3, r3, #1 80761fc: 1ad1 subs r1, r2, r3 80761fe: b2cb uxtb r3, r1 8076200: f887 33e0 strb.w r3, [r7, #992] ; 0x3e0 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8076204: 491c ldr r1, [pc, #112] ; (8076278 ) 8076206: f04f 30ff mov.w r0, #4294967295 807620a: f7dd facf bl 80537ac LCD_DisplayString(10, LCD_LINE_4, (char *)TEXT_SensType[pardata.LANG]); 807620e: 4b1c ldr r3, [pc, #112] ; (8076280 ) 8076210: 7b1b ldrb r3, [r3, #12] 8076212: b2db uxtb r3, r3 8076214: 461a mov r2, r3 8076216: 4b22 ldr r3, [pc, #136] ; (80762a0 ) 8076218: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807621c: 461a mov r2, r3 807621e: 214a movs r1, #74 ; 0x4a 8076220: 200a movs r0, #10 8076222: f7de f86b bl 80542fc } LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); BSP_LCD_FillRect(255, CHECKBOX_LINE_9, 10, 10); //173 #endif if(menupos == Type) 8076226: 4b1f ldr r3, [pc, #124] ; (80762a4 ) 8076228: 781b ldrb r3, [r3, #0] 807622a: b2db uxtb r3, r3 807622c: 2b01 cmp r3, #1 807622e: f040 8139 bne.w 80764a4 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8076232: 4911 ldr r1, [pc, #68] ; (8076278 ) 8076234: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8076238: f7dd fab8 bl 80537ac if(focused) 807623c: 4b1a ldr r3, [pc, #104] ; (80762a8 ) 807623e: 781b ldrb r3, [r3, #0] 8076240: b2db uxtb r3, r3 8076242: 2b00 cmp r3, #0 8076244: d036 beq.n 80762b4 { if(blk) 8076246: 4b19 ldr r3, [pc, #100] ; (80762ac ) 8076248: 681b ldr r3, [r3, #0] 807624a: 2b00 cmp r3, #0 807624c: d046 beq.n 80762dc LCD_DisplayStringC(255, LCD_LINE_4, (char *) pIIN[pardata.LANG][pardata.IIN]); 807624e: 4b0c ldr r3, [pc, #48] ; (8076280 ) 8076250: 7b1b ldrb r3, [r3, #12] 8076252: b2db uxtb r3, r3 8076254: 4619 mov r1, r3 8076256: 4b0a ldr r3, [pc, #40] ; (8076280 ) 8076258: 799b ldrb r3, [r3, #6] 807625a: b2db uxtb r3, r3 807625c: 4618 mov r0, r3 807625e: 4a14 ldr r2, [pc, #80] ; (80762b0 ) 8076260: 460b mov r3, r1 8076262: 005b lsls r3, r3, #1 8076264: 440b add r3, r1 8076266: 4403 add r3, r0 8076268: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807626c: 461a mov r2, r3 807626e: 214a movs r1, #74 ; 0x4a 8076270: 20ff movs r0, #255 ; 0xff 8076272: f7de f85b bl 805432c 8076276: e031 b.n 80762dc 8076278: ff0a0f1f .word 0xff0a0f1f 807627c: ffd3d3d3 .word 0xffd3d3d3 8076280: 20023e60 .word 0x20023e60 8076284: 447a0000 .word 0x447a0000 8076288: 0a7c5ac5 .word 0x0a7c5ac5 807628c: 000186a0 .word 0x000186a0 8076290: d1b71759 .word 0xd1b71759 8076294: 10624dd3 .word 0x10624dd3 8076298: 51eb851f .word 0x51eb851f 807629c: cccccccd .word 0xcccccccd 80762a0: 200205cc .word 0x200205cc 80762a4: 20020070 .word 0x20020070 80762a8: 20020f84 .word 0x20020f84 80762ac: 2002165c .word 0x2002165c 80762b0: 2002014c .word 0x2002014c } else LCD_DisplayStringC(255, LCD_LINE_4, (char *) pIIN[pardata.LANG][pardata.IIN]); 80762b4: 4b74 ldr r3, [pc, #464] ; (8076488 ) 80762b6: 7b1b ldrb r3, [r3, #12] 80762b8: b2db uxtb r3, r3 80762ba: 4619 mov r1, r3 80762bc: 4b72 ldr r3, [pc, #456] ; (8076488 ) 80762be: 799b ldrb r3, [r3, #6] 80762c0: b2db uxtb r3, r3 80762c2: 4618 mov r0, r3 80762c4: 4a71 ldr r2, [pc, #452] ; (807648c ) 80762c6: 460b mov r3, r1 80762c8: 005b lsls r3, r3, #1 80762ca: 440b add r3, r1 80762cc: 4403 add r3, r0 80762ce: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80762d2: 461a mov r2, r3 80762d4: 214a movs r1, #74 ; 0x4a 80762d6: 20ff movs r0, #255 ; 0xff 80762d8: f7de f828 bl 805432c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80762dc: 496c ldr r1, [pc, #432] ; (8076490 ) 80762de: f04f 30ff mov.w r0, #4294967295 80762e2: f7dd fa63 bl 80537ac LCD_DisplayString(10, LCD_LINE_5, (char *)TEXT_Kpr[pardata.LANG][pardata.IIN]); 80762e6: 4b68 ldr r3, [pc, #416] ; (8076488 ) 80762e8: 7b1b ldrb r3, [r3, #12] 80762ea: b2db uxtb r3, r3 80762ec: 4619 mov r1, r3 80762ee: 4b66 ldr r3, [pc, #408] ; (8076488 ) 80762f0: 799b ldrb r3, [r3, #6] 80762f2: b2db uxtb r3, r3 80762f4: 4618 mov r0, r3 80762f6: 4a67 ldr r2, [pc, #412] ; (8076494 ) 80762f8: 460b mov r3, r1 80762fa: 005b lsls r3, r3, #1 80762fc: 440b add r3, r1 80762fe: 4403 add r3, r0 8076300: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8076304: 461a mov r2, r3 8076306: 215a movs r1, #90 ; 0x5a 8076308: 200a movs r0, #10 807630a: f7dd fff7 bl 80542fc LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_OPTIONS[pardata.LANG][2]);//"ßçûê" 807630e: 4b5e ldr r3, [pc, #376] ; (8076488 ) 8076310: 7b1b ldrb r3, [r3, #12] 8076312: b2db uxtb r3, r3 8076314: 4619 mov r1, r3 8076316: 4a60 ldr r2, [pc, #384] ; (8076498 ) 8076318: 460b mov r3, r1 807631a: 009b lsls r3, r3, #2 807631c: 440b add r3, r1 807631e: 009b lsls r3, r3, #2 8076320: 4413 add r3, r2 8076322: 3308 adds r3, #8 8076324: 681b ldr r3, [r3, #0] 8076326: 461a mov r2, r3 8076328: 216a movs r1, #106 ; 0x6a 807632a: 200a movs r0, #10 807632c: f7dd ffe6 bl 80542fc LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_OPTIONS[pardata.LANG][1]);//"Äàòà è âðåìÿ" 8076330: 4b55 ldr r3, [pc, #340] ; (8076488 ) 8076332: 7b1b ldrb r3, [r3, #12] 8076334: b2db uxtb r3, r3 8076336: 4619 mov r1, r3 8076338: 4a57 ldr r2, [pc, #348] ; (8076498 ) 807633a: 460b mov r3, r1 807633c: 009b lsls r3, r3, #2 807633e: 440b add r3, r1 8076340: 009b lsls r3, r3, #2 8076342: 4413 add r3, r2 8076344: 3304 adds r3, #4 8076346: 681b ldr r3, [r3, #0] 8076348: 461a mov r2, r3 807634a: 217a movs r1, #122 ; 0x7a 807634c: 200a movs r0, #10 807634e: f7dd ffd5 bl 80542fc LCD_DisplayString(10, LCD_LINE_8, (char *)TEXT_OPTIONS[pardata.LANG][3]);//"Ôîðìàòèðîâàíèå äèñêà" 8076352: 4b4d ldr r3, [pc, #308] ; (8076488 ) 8076354: 7b1b ldrb r3, [r3, #12] 8076356: b2db uxtb r3, r3 8076358: 4619 mov r1, r3 807635a: 4a4f ldr r2, [pc, #316] ; (8076498 ) 807635c: 460b mov r3, r1 807635e: 009b lsls r3, r3, #2 8076360: 440b add r3, r1 8076362: 009b lsls r3, r3, #2 8076364: 4413 add r3, r2 8076366: 330c adds r3, #12 8076368: 681b ldr r3, [r3, #0] 807636a: 461a mov r2, r3 807636c: 218a movs r1, #138 ; 0x8a 807636e: 200a movs r0, #10 8076370: f7dd ffc4 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8076374: 4946 ldr r1, [pc, #280] ; (8076490 ) 8076376: 4849 ldr r0, [pc, #292] ; (807649c ) 8076378: f7dd fa18 bl 80537ac LCD_DisplayStringC(255, LCD_LINE_6, (char *) pLANG[pardata.LANG]); 807637c: 4b42 ldr r3, [pc, #264] ; (8076488 ) 807637e: 7b1b ldrb r3, [r3, #12] 8076380: b2db uxtb r3, r3 8076382: 461a mov r2, r3 8076384: 4b46 ldr r3, [pc, #280] ; (80764a0 ) 8076386: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807638a: 461a mov r2, r3 807638c: 216a movs r1, #106 ; 0x6a 807638e: 20ff movs r0, #255 ; 0xff 8076390: f7dd ffcc bl 805432c memset(str, 0, sizeof(str)); 8076394: f507 733b add.w r3, r7, #748 ; 0x2ec 8076398: 223c movs r2, #60 ; 0x3c 807639a: 2100 movs r1, #0 807639c: 4618 mov r0, r3 807639e: f056 fe53 bl 80cd048 i = 0; 80763a2: 2300 movs r3, #0 80763a4: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 if(ies != 0) 80763a8: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 80763ac: b2db uxtb r3, r3 80763ae: 2b00 cmp r3, #0 80763b0: d00c beq.n 80763cc str[i++] = ies + 48; 80763b2: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80763b6: 1c5a adds r2, r3, #1 80763b8: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 80763bc: f897 23e5 ldrb.w r2, [r7, #997] ; 0x3e5 80763c0: b2d2 uxtb r2, r2 80763c2: 3230 adds r2, #48 ; 0x30 80763c4: b2d1 uxtb r1, r2 80763c6: f507 723b add.w r2, r7, #748 ; 0x2ec 80763ca: 54d1 strb r1, [r2, r3] if((ies != 0) || (ied != 0)) 80763cc: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 80763d0: b2db uxtb r3, r3 80763d2: 2b00 cmp r3, #0 80763d4: d104 bne.n 80763e0 80763d6: f897 33e4 ldrb.w r3, [r7, #996] ; 0x3e4 80763da: b2db uxtb r3, r3 80763dc: 2b00 cmp r3, #0 80763de: d00c beq.n 80763fa str[i++] = ied + 48; 80763e0: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80763e4: 1c5a adds r2, r3, #1 80763e6: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 80763ea: f897 23e4 ldrb.w r2, [r7, #996] ; 0x3e4 80763ee: b2d2 uxtb r2, r2 80763f0: 3230 adds r2, #48 ; 0x30 80763f2: b2d1 uxtb r1, r2 80763f4: f507 723b add.w r2, r7, #748 ; 0x2ec 80763f8: 54d1 strb r1, [r2, r3] str[i++] = iee + 48; 80763fa: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80763fe: 1c5a adds r2, r3, #1 8076400: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8076404: f897 23e3 ldrb.w r2, [r7, #995] ; 0x3e3 8076408: b2d2 uxtb r2, r2 807640a: 3230 adds r2, #48 ; 0x30 807640c: b2d1 uxtb r1, r2 807640e: f507 723b add.w r2, r7, #748 ; 0x2ec 8076412: 54d1 strb r1, [r2, r3] str[i++] = '.'; 8076414: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8076418: 1c5a adds r2, r3, #1 807641a: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807641e: f507 723b add.w r2, r7, #748 ; 0x2ec 8076422: 212e movs r1, #46 ; 0x2e 8076424: 54d1 strb r1, [r2, r3] str[i++] = ikd + 48; 8076426: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807642a: 1c5a adds r2, r3, #1 807642c: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8076430: f897 23e2 ldrb.w r2, [r7, #994] ; 0x3e2 8076434: b2d2 uxtb r2, r2 8076436: 3230 adds r2, #48 ; 0x30 8076438: b2d1 uxtb r1, r2 807643a: f507 723b add.w r2, r7, #748 ; 0x2ec 807643e: 54d1 strb r1, [r2, r3] str[i++] = iks + 48; 8076440: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8076444: 1c5a adds r2, r3, #1 8076446: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807644a: f897 23e1 ldrb.w r2, [r7, #993] ; 0x3e1 807644e: b2d2 uxtb r2, r2 8076450: 3230 adds r2, #48 ; 0x30 8076452: b2d1 uxtb r1, r2 8076454: f507 723b add.w r2, r7, #748 ; 0x2ec 8076458: 54d1 strb r1, [r2, r3] str[i++] = ikt + 48; 807645a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807645e: 1c5a adds r2, r3, #1 8076460: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8076464: f897 23e0 ldrb.w r2, [r7, #992] ; 0x3e0 8076468: b2d2 uxtb r2, r2 807646a: 3230 adds r2, #48 ; 0x30 807646c: b2d1 uxtb r1, r2 807646e: f507 723b add.w r2, r7, #748 ; 0x2ec 8076472: 54d1 strb r1, [r2, r3] LCD_DisplayStringC(255, LCD_LINE_5, str); 8076474: f507 733b add.w r3, r7, #748 ; 0x2ec 8076478: 461a mov r2, r3 807647a: 215a movs r1, #90 ; 0x5a 807647c: 20ff movs r0, #255 ; 0xff 807647e: f7dd ff55 bl 805432c 8076482: f002 b8da b.w 807863a 8076486: bf00 nop 8076488: 20023e60 .word 0x20023e60 807648c: 2002014c .word 0x2002014c 8076490: ff0a0f1f .word 0xff0a0f1f 8076494: 200205d4 .word 0x200205d4 8076498: 2002067c .word 0x2002067c 807649c: ffd8aa57 .word 0xffd8aa57 80764a0: 200205bc .word 0x200205bc } else if(menupos == Bluetooth) 80764a4: 4b79 ldr r3, [pc, #484] ; (807668c ) 80764a6: 781b ldrb r3, [r3, #0] 80764a8: b2db uxtb r3, r3 80764aa: 2b06 cmp r3, #6 80764ac: f040 80fe bne.w 80766ac { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80764b0: 4977 ldr r1, [pc, #476] ; (8076690 ) 80764b2: f04f 30ff mov.w r0, #4294967295 80764b6: f7dd f979 bl 80537ac LCD_DisplayString(10, LCD_LINE_5, (char *)TEXT_Kpr[pardata.LANG][pardata.IIN]); 80764ba: 4b76 ldr r3, [pc, #472] ; (8076694 ) 80764bc: 7b1b ldrb r3, [r3, #12] 80764be: b2db uxtb r3, r3 80764c0: 4619 mov r1, r3 80764c2: 4b74 ldr r3, [pc, #464] ; (8076694 ) 80764c4: 799b ldrb r3, [r3, #6] 80764c6: b2db uxtb r3, r3 80764c8: 4618 mov r0, r3 80764ca: 4a73 ldr r2, [pc, #460] ; (8076698 ) 80764cc: 460b mov r3, r1 80764ce: 005b lsls r3, r3, #1 80764d0: 440b add r3, r1 80764d2: 4403 add r3, r0 80764d4: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80764d8: 461a mov r2, r3 80764da: 215a movs r1, #90 ; 0x5a 80764dc: 200a movs r0, #10 80764de: f7dd ff0d bl 80542fc LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_OPTIONS[pardata.LANG][2]);//"ßçûê" 80764e2: 4b6c ldr r3, [pc, #432] ; (8076694 ) 80764e4: 7b1b ldrb r3, [r3, #12] 80764e6: b2db uxtb r3, r3 80764e8: 4619 mov r1, r3 80764ea: 4a6c ldr r2, [pc, #432] ; (807669c ) 80764ec: 460b mov r3, r1 80764ee: 009b lsls r3, r3, #2 80764f0: 440b add r3, r1 80764f2: 009b lsls r3, r3, #2 80764f4: 4413 add r3, r2 80764f6: 3308 adds r3, #8 80764f8: 681b ldr r3, [r3, #0] 80764fa: 461a mov r2, r3 80764fc: 216a movs r1, #106 ; 0x6a 80764fe: 200a movs r0, #10 8076500: f7dd fefc bl 80542fc LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_OPTIONS[pardata.LANG][1]);//"Äàòà è âðåìÿ" 8076504: 4b63 ldr r3, [pc, #396] ; (8076694 ) 8076506: 7b1b ldrb r3, [r3, #12] 8076508: b2db uxtb r3, r3 807650a: 4619 mov r1, r3 807650c: 4a63 ldr r2, [pc, #396] ; (807669c ) 807650e: 460b mov r3, r1 8076510: 009b lsls r3, r3, #2 8076512: 440b add r3, r1 8076514: 009b lsls r3, r3, #2 8076516: 4413 add r3, r2 8076518: 3304 adds r3, #4 807651a: 681b ldr r3, [r3, #0] 807651c: 461a mov r2, r3 807651e: 217a movs r1, #122 ; 0x7a 8076520: 200a movs r0, #10 8076522: f7dd feeb bl 80542fc LCD_DisplayString(10, LCD_LINE_8, (char *)TEXT_OPTIONS[pardata.LANG][3]);//"Ôîðìàòèðîâàíèå äèñêà" 8076526: 4b5b ldr r3, [pc, #364] ; (8076694 ) 8076528: 7b1b ldrb r3, [r3, #12] 807652a: b2db uxtb r3, r3 807652c: 4619 mov r1, r3 807652e: 4a5b ldr r2, [pc, #364] ; (807669c ) 8076530: 460b mov r3, r1 8076532: 009b lsls r3, r3, #2 8076534: 440b add r3, r1 8076536: 009b lsls r3, r3, #2 8076538: 4413 add r3, r2 807653a: 330c adds r3, #12 807653c: 681b ldr r3, [r3, #0] 807653e: 461a mov r2, r3 8076540: 218a movs r1, #138 ; 0x8a 8076542: 200a movs r0, #10 8076544: f7dd feda bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8076548: 4951 ldr r1, [pc, #324] ; (8076690 ) 807654a: 4855 ldr r0, [pc, #340] ; (80766a0 ) 807654c: f7dd f92e bl 80537ac LCD_DisplayStringC(255, LCD_LINE_6, (char *) pLANG[pardata.LANG]); 8076550: 4b50 ldr r3, [pc, #320] ; (8076694 ) 8076552: 7b1b ldrb r3, [r3, #12] 8076554: b2db uxtb r3, r3 8076556: 461a mov r2, r3 8076558: 4b52 ldr r3, [pc, #328] ; (80766a4 ) 807655a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807655e: 461a mov r2, r3 8076560: 216a movs r1, #106 ; 0x6a 8076562: 20ff movs r0, #255 ; 0xff 8076564: f7dd fee2 bl 805432c #if (defined(USE_D101) || defined(USE_D102)) LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); #endif LCD_DisplayStringC(255, LCD_LINE_4, (char *) pIIN[pardata.LANG][pardata.IIN]); 8076568: 4b4a ldr r3, [pc, #296] ; (8076694 ) 807656a: 7b1b ldrb r3, [r3, #12] 807656c: b2db uxtb r3, r3 807656e: 4619 mov r1, r3 8076570: 4b48 ldr r3, [pc, #288] ; (8076694 ) 8076572: 799b ldrb r3, [r3, #6] 8076574: b2db uxtb r3, r3 8076576: 4618 mov r0, r3 8076578: 4a4b ldr r2, [pc, #300] ; (80766a8 ) 807657a: 460b mov r3, r1 807657c: 005b lsls r3, r3, #1 807657e: 440b add r3, r1 8076580: 4403 add r3, r0 8076582: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8076586: 461a mov r2, r3 8076588: 214a movs r1, #74 ; 0x4a 807658a: 20ff movs r0, #255 ; 0xff 807658c: f7dd fece bl 805432c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8076590: 493f ldr r1, [pc, #252] ; (8076690 ) 8076592: 4843 ldr r0, [pc, #268] ; (80766a0 ) 8076594: f7dd f90a bl 80537ac memset(str, 0, sizeof(str)); 8076598: f507 733b add.w r3, r7, #748 ; 0x2ec 807659c: 223c movs r2, #60 ; 0x3c 807659e: 2100 movs r1, #0 80765a0: 4618 mov r0, r3 80765a2: f056 fd51 bl 80cd048 i = 0; 80765a6: 2300 movs r3, #0 80765a8: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 if(ies != 0) 80765ac: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 80765b0: b2db uxtb r3, r3 80765b2: 2b00 cmp r3, #0 80765b4: d00c beq.n 80765d0 str[i++] = ies + 48; 80765b6: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80765ba: 1c5a adds r2, r3, #1 80765bc: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 80765c0: f897 23e5 ldrb.w r2, [r7, #997] ; 0x3e5 80765c4: b2d2 uxtb r2, r2 80765c6: 3230 adds r2, #48 ; 0x30 80765c8: b2d1 uxtb r1, r2 80765ca: f507 723b add.w r2, r7, #748 ; 0x2ec 80765ce: 54d1 strb r1, [r2, r3] if((ies != 0) || (ied != 0)) 80765d0: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 80765d4: b2db uxtb r3, r3 80765d6: 2b00 cmp r3, #0 80765d8: d104 bne.n 80765e4 80765da: f897 33e4 ldrb.w r3, [r7, #996] ; 0x3e4 80765de: b2db uxtb r3, r3 80765e0: 2b00 cmp r3, #0 80765e2: d00c beq.n 80765fe str[i++] = ied + 48; 80765e4: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80765e8: 1c5a adds r2, r3, #1 80765ea: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 80765ee: f897 23e4 ldrb.w r2, [r7, #996] ; 0x3e4 80765f2: b2d2 uxtb r2, r2 80765f4: 3230 adds r2, #48 ; 0x30 80765f6: b2d1 uxtb r1, r2 80765f8: f507 723b add.w r2, r7, #748 ; 0x2ec 80765fc: 54d1 strb r1, [r2, r3] str[i++] = iee + 48; 80765fe: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8076602: 1c5a adds r2, r3, #1 8076604: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8076608: f897 23e3 ldrb.w r2, [r7, #995] ; 0x3e3 807660c: b2d2 uxtb r2, r2 807660e: 3230 adds r2, #48 ; 0x30 8076610: b2d1 uxtb r1, r2 8076612: f507 723b add.w r2, r7, #748 ; 0x2ec 8076616: 54d1 strb r1, [r2, r3] str[i++] = '.'; 8076618: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807661c: 1c5a adds r2, r3, #1 807661e: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8076622: f507 723b add.w r2, r7, #748 ; 0x2ec 8076626: 212e movs r1, #46 ; 0x2e 8076628: 54d1 strb r1, [r2, r3] str[i++] = ikd + 48; 807662a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807662e: 1c5a adds r2, r3, #1 8076630: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8076634: f897 23e2 ldrb.w r2, [r7, #994] ; 0x3e2 8076638: b2d2 uxtb r2, r2 807663a: 3230 adds r2, #48 ; 0x30 807663c: b2d1 uxtb r1, r2 807663e: f507 723b add.w r2, r7, #748 ; 0x2ec 8076642: 54d1 strb r1, [r2, r3] str[i++] = iks + 48; 8076644: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8076648: 1c5a adds r2, r3, #1 807664a: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807664e: f897 23e1 ldrb.w r2, [r7, #993] ; 0x3e1 8076652: b2d2 uxtb r2, r2 8076654: 3230 adds r2, #48 ; 0x30 8076656: b2d1 uxtb r1, r2 8076658: f507 723b add.w r2, r7, #748 ; 0x2ec 807665c: 54d1 strb r1, [r2, r3] str[i++] = ikt + 48; 807665e: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8076662: 1c5a adds r2, r3, #1 8076664: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8076668: f897 23e0 ldrb.w r2, [r7, #992] ; 0x3e0 807666c: b2d2 uxtb r2, r2 807666e: 3230 adds r2, #48 ; 0x30 8076670: b2d1 uxtb r1, r2 8076672: f507 723b add.w r2, r7, #748 ; 0x2ec 8076676: 54d1 strb r1, [r2, r3] LCD_DisplayStringC(255, LCD_LINE_5, str); 8076678: f507 733b add.w r3, r7, #748 ; 0x2ec 807667c: 461a mov r2, r3 807667e: 215a movs r1, #90 ; 0x5a 8076680: 20ff movs r0, #255 ; 0xff 8076682: f7dd fe53 bl 805432c 8076686: f001 bfd8 b.w 807863a 807668a: bf00 nop 807668c: 20020070 .word 0x20020070 8076690: ff0a0f1f .word 0xff0a0f1f 8076694: 20023e60 .word 0x20023e60 8076698: 200205d4 .word 0x200205d4 807669c: 2002067c .word 0x2002067c 80766a0: ffd8aa57 .word 0xffd8aa57 80766a4: 200205bc .word 0x200205bc 80766a8: 2002014c .word 0x2002014c } else if(menupos == Sens) 80766ac: 4b7b ldr r3, [pc, #492] ; (807689c ) 80766ae: 781b ldrb r3, [r3, #0] 80766b0: b2db uxtb r3, r3 80766b2: 2b02 cmp r3, #2 80766b4: f040 8102 bne.w 80768bc { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80766b8: 4979 ldr r1, [pc, #484] ; (80768a0 ) 80766ba: f04f 30ff mov.w r0, #4294967295 80766be: f7dd f875 bl 80537ac LCD_DisplayString(10, LCD_LINE_5, (char *)TEXT_Kpr[pardata.LANG][pardata.IIN]); //"Êïð,ìÂ/ì/ñ^" 80766c2: 4b78 ldr r3, [pc, #480] ; (80768a4 ) 80766c4: 7b1b ldrb r3, [r3, #12] 80766c6: b2db uxtb r3, r3 80766c8: 4619 mov r1, r3 80766ca: 4b76 ldr r3, [pc, #472] ; (80768a4 ) 80766cc: 799b ldrb r3, [r3, #6] 80766ce: b2db uxtb r3, r3 80766d0: 4618 mov r0, r3 80766d2: 4a75 ldr r2, [pc, #468] ; (80768a8 ) 80766d4: 460b mov r3, r1 80766d6: 005b lsls r3, r3, #1 80766d8: 440b add r3, r1 80766da: 4403 add r3, r0 80766dc: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80766e0: 461a mov r2, r3 80766e2: 215a movs r1, #90 ; 0x5a 80766e4: 200a movs r0, #10 80766e6: f7dd fe09 bl 80542fc LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_OPTIONS[pardata.LANG][1]);//"Äàòà è âðåìÿ" 80766ea: 4b6e ldr r3, [pc, #440] ; (80768a4 ) 80766ec: 7b1b ldrb r3, [r3, #12] 80766ee: b2db uxtb r3, r3 80766f0: 4619 mov r1, r3 80766f2: 4a6e ldr r2, [pc, #440] ; (80768ac ) 80766f4: 460b mov r3, r1 80766f6: 009b lsls r3, r3, #2 80766f8: 440b add r3, r1 80766fa: 009b lsls r3, r3, #2 80766fc: 4413 add r3, r2 80766fe: 3304 adds r3, #4 8076700: 681b ldr r3, [r3, #0] 8076702: 461a mov r2, r3 8076704: 217a movs r1, #122 ; 0x7a 8076706: 200a movs r0, #10 8076708: f7dd fdf8 bl 80542fc LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_OPTIONS[pardata.LANG][2]);//"ßçûê" 807670c: 4b65 ldr r3, [pc, #404] ; (80768a4 ) 807670e: 7b1b ldrb r3, [r3, #12] 8076710: b2db uxtb r3, r3 8076712: 4619 mov r1, r3 8076714: 4a65 ldr r2, [pc, #404] ; (80768ac ) 8076716: 460b mov r3, r1 8076718: 009b lsls r3, r3, #2 807671a: 440b add r3, r1 807671c: 009b lsls r3, r3, #2 807671e: 4413 add r3, r2 8076720: 3308 adds r3, #8 8076722: 681b ldr r3, [r3, #0] 8076724: 461a mov r2, r3 8076726: 216a movs r1, #106 ; 0x6a 8076728: 200a movs r0, #10 807672a: f7dd fde7 bl 80542fc LCD_DisplayString(10, LCD_LINE_8, (char *)TEXT_OPTIONS[pardata.LANG][3]);//"Ôîðìàòèðîâàíèå äèñêà" 807672e: 4b5d ldr r3, [pc, #372] ; (80768a4 ) 8076730: 7b1b ldrb r3, [r3, #12] 8076732: b2db uxtb r3, r3 8076734: 4619 mov r1, r3 8076736: 4a5d ldr r2, [pc, #372] ; (80768ac ) 8076738: 460b mov r3, r1 807673a: 009b lsls r3, r3, #2 807673c: 440b add r3, r1 807673e: 009b lsls r3, r3, #2 8076740: 4413 add r3, r2 8076742: 330c adds r3, #12 8076744: 681b ldr r3, [r3, #0] 8076746: 461a mov r2, r3 8076748: 218a movs r1, #138 ; 0x8a 807674a: 200a movs r0, #10 807674c: f7dd fdd6 bl 80542fc LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8076750: 4953 ldr r1, [pc, #332] ; (80768a0 ) 8076752: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8076756: f7dd f829 bl 80537ac memset(str, 0, sizeof(str)); 807675a: f507 733b add.w r3, r7, #748 ; 0x2ec 807675e: 223c movs r2, #60 ; 0x3c 8076760: 2100 movs r1, #0 8076762: 4618 mov r0, r3 8076764: f056 fc70 bl 80cd048 i = 0; 8076768: 2300 movs r3, #0 807676a: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 if(ies != 0) 807676e: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 8076772: b2db uxtb r3, r3 8076774: 2b00 cmp r3, #0 8076776: d00c beq.n 8076792 str[i++] = ies + 48; 8076778: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807677c: 1c5a adds r2, r3, #1 807677e: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8076782: f897 23e5 ldrb.w r2, [r7, #997] ; 0x3e5 8076786: b2d2 uxtb r2, r2 8076788: 3230 adds r2, #48 ; 0x30 807678a: b2d1 uxtb r1, r2 807678c: f507 723b add.w r2, r7, #748 ; 0x2ec 8076790: 54d1 strb r1, [r2, r3] if((ies != 0) || (ied != 0)) 8076792: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 8076796: b2db uxtb r3, r3 8076798: 2b00 cmp r3, #0 807679a: d104 bne.n 80767a6 807679c: f897 33e4 ldrb.w r3, [r7, #996] ; 0x3e4 80767a0: b2db uxtb r3, r3 80767a2: 2b00 cmp r3, #0 80767a4: d00c beq.n 80767c0 str[i++] = ied + 48; 80767a6: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80767aa: 1c5a adds r2, r3, #1 80767ac: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 80767b0: f897 23e4 ldrb.w r2, [r7, #996] ; 0x3e4 80767b4: b2d2 uxtb r2, r2 80767b6: 3230 adds r2, #48 ; 0x30 80767b8: b2d1 uxtb r1, r2 80767ba: f507 723b add.w r2, r7, #748 ; 0x2ec 80767be: 54d1 strb r1, [r2, r3] str[i++] = iee + 48; 80767c0: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80767c4: 1c5a adds r2, r3, #1 80767c6: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 80767ca: f897 23e3 ldrb.w r2, [r7, #995] ; 0x3e3 80767ce: b2d2 uxtb r2, r2 80767d0: 3230 adds r2, #48 ; 0x30 80767d2: b2d1 uxtb r1, r2 80767d4: f507 723b add.w r2, r7, #748 ; 0x2ec 80767d8: 54d1 strb r1, [r2, r3] str[i++] = '.'; 80767da: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80767de: 1c5a adds r2, r3, #1 80767e0: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 80767e4: f507 723b add.w r2, r7, #748 ; 0x2ec 80767e8: 212e movs r1, #46 ; 0x2e 80767ea: 54d1 strb r1, [r2, r3] str[i++] = ikd + 48; 80767ec: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80767f0: 1c5a adds r2, r3, #1 80767f2: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 80767f6: f897 23e2 ldrb.w r2, [r7, #994] ; 0x3e2 80767fa: b2d2 uxtb r2, r2 80767fc: 3230 adds r2, #48 ; 0x30 80767fe: b2d1 uxtb r1, r2 8076800: f507 723b add.w r2, r7, #748 ; 0x2ec 8076804: 54d1 strb r1, [r2, r3] str[i++] = iks + 48; 8076806: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807680a: 1c5a adds r2, r3, #1 807680c: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8076810: f897 23e1 ldrb.w r2, [r7, #993] ; 0x3e1 8076814: b2d2 uxtb r2, r2 8076816: 3230 adds r2, #48 ; 0x30 8076818: b2d1 uxtb r1, r2 807681a: f507 723b add.w r2, r7, #748 ; 0x2ec 807681e: 54d1 strb r1, [r2, r3] str[i++] = ikt + 48; 8076820: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8076824: 1c5a adds r2, r3, #1 8076826: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807682a: f897 23e0 ldrb.w r2, [r7, #992] ; 0x3e0 807682e: b2d2 uxtb r2, r2 8076830: 3230 adds r2, #48 ; 0x30 8076832: b2d1 uxtb r1, r2 8076834: f507 723b add.w r2, r7, #748 ; 0x2ec 8076838: 54d1 strb r1, [r2, r3] LCD_DisplayStringC(255, LCD_LINE_5, str); 807683a: f507 733b add.w r3, r7, #748 ; 0x2ec 807683e: 461a mov r2, r3 8076840: 215a movs r1, #90 ; 0x5a 8076842: 20ff movs r0, #255 ; 0xff 8076844: f7dd fd72 bl 805432c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8076848: 4915 ldr r1, [pc, #84] ; (80768a0 ) 807684a: 4819 ldr r0, [pc, #100] ; (80768b0 ) 807684c: f7dc ffae bl 80537ac LCD_DisplayStringC(255, LCD_LINE_6, (char *) pLANG[pardata.LANG]); 8076850: 4b14 ldr r3, [pc, #80] ; (80768a4 ) 8076852: 7b1b ldrb r3, [r3, #12] 8076854: b2db uxtb r3, r3 8076856: 461a mov r2, r3 8076858: 4b16 ldr r3, [pc, #88] ; (80768b4 ) 807685a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807685e: 461a mov r2, r3 8076860: 216a movs r1, #106 ; 0x6a 8076862: 20ff movs r0, #255 ; 0xff 8076864: f7dd fd62 bl 805432c #if (defined(USE_D101) || defined(USE_D102)) LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); #endif LCD_DisplayStringC(255, LCD_LINE_4, (char *) pIIN[pardata.LANG][pardata.IIN]); 8076868: 4b0e ldr r3, [pc, #56] ; (80768a4 ) 807686a: 7b1b ldrb r3, [r3, #12] 807686c: b2db uxtb r3, r3 807686e: 4619 mov r1, r3 8076870: 4b0c ldr r3, [pc, #48] ; (80768a4 ) 8076872: 799b ldrb r3, [r3, #6] 8076874: b2db uxtb r3, r3 8076876: 4618 mov r0, r3 8076878: 4a0f ldr r2, [pc, #60] ; (80768b8 ) 807687a: 460b mov r3, r1 807687c: 005b lsls r3, r3, #1 807687e: 440b add r3, r1 8076880: 4403 add r3, r0 8076882: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8076886: 461a mov r2, r3 8076888: 214a movs r1, #74 ; 0x4a 807688a: 20ff movs r0, #255 ; 0xff 807688c: f7dd fd4e bl 805432c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8076890: 4903 ldr r1, [pc, #12] ; (80768a0 ) 8076892: 4807 ldr r0, [pc, #28] ; (80768b0 ) 8076894: f7dc ff8a bl 80537ac 8076898: f001 becf b.w 807863a 807689c: 20020070 .word 0x20020070 80768a0: ff0a0f1f .word 0xff0a0f1f 80768a4: 20023e60 .word 0x20023e60 80768a8: 200205d4 .word 0x200205d4 80768ac: 2002067c .word 0x2002067c 80768b0: ffd8aa57 .word 0xffd8aa57 80768b4: 200205bc .word 0x200205bc 80768b8: 2002014c .word 0x2002014c } else if(menupos == DateTime) 80768bc: 4bb2 ldr r3, [pc, #712] ; (8076b88 ) 80768be: 781b ldrb r3, [r3, #0] 80768c0: b2db uxtb r3, r3 80768c2: 2b04 cmp r3, #4 80768c4: f040 80f2 bne.w 8076aac { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80768c8: 49b0 ldr r1, [pc, #704] ; (8076b8c ) 80768ca: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80768ce: f7dc ff6d bl 80537ac LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_OPTIONS[pardata.LANG][1]);//"Äàòà è âðåìÿ" 80768d2: 4baf ldr r3, [pc, #700] ; (8076b90 ) 80768d4: 7b1b ldrb r3, [r3, #12] 80768d6: b2db uxtb r3, r3 80768d8: 4619 mov r1, r3 80768da: 4aae ldr r2, [pc, #696] ; (8076b94 ) 80768dc: 460b mov r3, r1 80768de: 009b lsls r3, r3, #2 80768e0: 440b add r3, r1 80768e2: 009b lsls r3, r3, #2 80768e4: 4413 add r3, r2 80768e6: 3304 adds r3, #4 80768e8: 681b ldr r3, [r3, #0] 80768ea: 461a mov r2, r3 80768ec: 217a movs r1, #122 ; 0x7a 80768ee: 200a movs r0, #10 80768f0: f7dd fd04 bl 80542fc LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80768f4: 49a5 ldr r1, [pc, #660] ; (8076b8c ) 80768f6: f04f 30ff mov.w r0, #4294967295 80768fa: f7dc ff57 bl 80537ac LCD_DisplayString(10, LCD_LINE_5, (char *)TEXT_Kpr[pardata.LANG][pardata.IIN]); //"Êïð,ìÂ/ì/ñ^" 80768fe: 4ba4 ldr r3, [pc, #656] ; (8076b90 ) 8076900: 7b1b ldrb r3, [r3, #12] 8076902: b2db uxtb r3, r3 8076904: 4619 mov r1, r3 8076906: 4ba2 ldr r3, [pc, #648] ; (8076b90 ) 8076908: 799b ldrb r3, [r3, #6] 807690a: b2db uxtb r3, r3 807690c: 4618 mov r0, r3 807690e: 4aa2 ldr r2, [pc, #648] ; (8076b98 ) 8076910: 460b mov r3, r1 8076912: 005b lsls r3, r3, #1 8076914: 440b add r3, r1 8076916: 4403 add r3, r0 8076918: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807691c: 461a mov r2, r3 807691e: 215a movs r1, #90 ; 0x5a 8076920: 200a movs r0, #10 8076922: f7dd fceb bl 80542fc LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_OPTIONS[pardata.LANG][2]);//"ßçûê" 8076926: 4b9a ldr r3, [pc, #616] ; (8076b90 ) 8076928: 7b1b ldrb r3, [r3, #12] 807692a: b2db uxtb r3, r3 807692c: 4619 mov r1, r3 807692e: 4a99 ldr r2, [pc, #612] ; (8076b94 ) 8076930: 460b mov r3, r1 8076932: 009b lsls r3, r3, #2 8076934: 440b add r3, r1 8076936: 009b lsls r3, r3, #2 8076938: 4413 add r3, r2 807693a: 3308 adds r3, #8 807693c: 681b ldr r3, [r3, #0] 807693e: 461a mov r2, r3 8076940: 216a movs r1, #106 ; 0x6a 8076942: 200a movs r0, #10 8076944: f7dd fcda bl 80542fc LCD_DisplayString(10, LCD_LINE_8, (char *)TEXT_OPTIONS[pardata.LANG][3]);//"Ôîðìàòèðîâàíèå äèñêà" 8076948: 4b91 ldr r3, [pc, #580] ; (8076b90 ) 807694a: 7b1b ldrb r3, [r3, #12] 807694c: b2db uxtb r3, r3 807694e: 4619 mov r1, r3 8076950: 4a90 ldr r2, [pc, #576] ; (8076b94 ) 8076952: 460b mov r3, r1 8076954: 009b lsls r3, r3, #2 8076956: 440b add r3, r1 8076958: 009b lsls r3, r3, #2 807695a: 4413 add r3, r2 807695c: 330c adds r3, #12 807695e: 681b ldr r3, [r3, #0] 8076960: 461a mov r2, r3 8076962: 218a movs r1, #138 ; 0x8a 8076964: 200a movs r0, #10 8076966: f7dd fcc9 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807696a: 4988 ldr r1, [pc, #544] ; (8076b8c ) 807696c: 488b ldr r0, [pc, #556] ; (8076b9c ) 807696e: f7dc ff1d bl 80537ac //LCD_DisplayStringC(255, LCD_LINE_4, (char *) pIIN[pardata.LANG][pardata.IIN]); LCD_DisplayStringC(255, LCD_LINE_6, (char *) pLANG[pardata.LANG]); 8076972: 4b87 ldr r3, [pc, #540] ; (8076b90 ) 8076974: 7b1b ldrb r3, [r3, #12] 8076976: b2db uxtb r3, r3 8076978: 461a mov r2, r3 807697a: 4b89 ldr r3, [pc, #548] ; (8076ba0 ) 807697c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8076980: 461a mov r2, r3 8076982: 216a movs r1, #106 ; 0x6a 8076984: 20ff movs r0, #255 ; 0xff 8076986: f7dd fcd1 bl 805432c #if (defined(USE_D101) || defined(USE_D102)) LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); #endif LCD_DisplayStringC(255, LCD_LINE_4, (char *) pIIN[pardata.LANG][pardata.IIN]); 807698a: 4b81 ldr r3, [pc, #516] ; (8076b90 ) 807698c: 7b1b ldrb r3, [r3, #12] 807698e: b2db uxtb r3, r3 8076990: 4619 mov r1, r3 8076992: 4b7f ldr r3, [pc, #508] ; (8076b90 ) 8076994: 799b ldrb r3, [r3, #6] 8076996: b2db uxtb r3, r3 8076998: 4618 mov r0, r3 807699a: 4a82 ldr r2, [pc, #520] ; (8076ba4 ) 807699c: 460b mov r3, r1 807699e: 005b lsls r3, r3, #1 80769a0: 440b add r3, r1 80769a2: 4403 add r3, r0 80769a4: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80769a8: 461a mov r2, r3 80769aa: 214a movs r1, #74 ; 0x4a 80769ac: 20ff movs r0, #255 ; 0xff 80769ae: f7dd fcbd bl 805432c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80769b2: 4976 ldr r1, [pc, #472] ; (8076b8c ) 80769b4: 4879 ldr r0, [pc, #484] ; (8076b9c ) 80769b6: f7dc fef9 bl 80537ac memset(str, 0, sizeof(str)); 80769ba: f507 733b add.w r3, r7, #748 ; 0x2ec 80769be: 223c movs r2, #60 ; 0x3c 80769c0: 2100 movs r1, #0 80769c2: 4618 mov r0, r3 80769c4: f056 fb40 bl 80cd048 i = 0; 80769c8: 2300 movs r3, #0 80769ca: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 if(ies != 0) 80769ce: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 80769d2: b2db uxtb r3, r3 80769d4: 2b00 cmp r3, #0 80769d6: d00c beq.n 80769f2 str[i++] = ies + 48; 80769d8: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80769dc: 1c5a adds r2, r3, #1 80769de: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 80769e2: f897 23e5 ldrb.w r2, [r7, #997] ; 0x3e5 80769e6: b2d2 uxtb r2, r2 80769e8: 3230 adds r2, #48 ; 0x30 80769ea: b2d1 uxtb r1, r2 80769ec: f507 723b add.w r2, r7, #748 ; 0x2ec 80769f0: 54d1 strb r1, [r2, r3] if((ies != 0) || (ied != 0)) 80769f2: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 80769f6: b2db uxtb r3, r3 80769f8: 2b00 cmp r3, #0 80769fa: d104 bne.n 8076a06 80769fc: f897 33e4 ldrb.w r3, [r7, #996] ; 0x3e4 8076a00: b2db uxtb r3, r3 8076a02: 2b00 cmp r3, #0 8076a04: d00c beq.n 8076a20 str[i++] = ied + 48; 8076a06: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8076a0a: 1c5a adds r2, r3, #1 8076a0c: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8076a10: f897 23e4 ldrb.w r2, [r7, #996] ; 0x3e4 8076a14: b2d2 uxtb r2, r2 8076a16: 3230 adds r2, #48 ; 0x30 8076a18: b2d1 uxtb r1, r2 8076a1a: f507 723b add.w r2, r7, #748 ; 0x2ec 8076a1e: 54d1 strb r1, [r2, r3] str[i++] = iee + 48; 8076a20: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8076a24: 1c5a adds r2, r3, #1 8076a26: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8076a2a: f897 23e3 ldrb.w r2, [r7, #995] ; 0x3e3 8076a2e: b2d2 uxtb r2, r2 8076a30: 3230 adds r2, #48 ; 0x30 8076a32: b2d1 uxtb r1, r2 8076a34: f507 723b add.w r2, r7, #748 ; 0x2ec 8076a38: 54d1 strb r1, [r2, r3] str[i++] = '.'; 8076a3a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8076a3e: 1c5a adds r2, r3, #1 8076a40: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8076a44: f507 723b add.w r2, r7, #748 ; 0x2ec 8076a48: 212e movs r1, #46 ; 0x2e 8076a4a: 54d1 strb r1, [r2, r3] str[i++] = ikd + 48; 8076a4c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8076a50: 1c5a adds r2, r3, #1 8076a52: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8076a56: f897 23e2 ldrb.w r2, [r7, #994] ; 0x3e2 8076a5a: b2d2 uxtb r2, r2 8076a5c: 3230 adds r2, #48 ; 0x30 8076a5e: b2d1 uxtb r1, r2 8076a60: f507 723b add.w r2, r7, #748 ; 0x2ec 8076a64: 54d1 strb r1, [r2, r3] str[i++] = iks + 48; 8076a66: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8076a6a: 1c5a adds r2, r3, #1 8076a6c: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8076a70: f897 23e1 ldrb.w r2, [r7, #993] ; 0x3e1 8076a74: b2d2 uxtb r2, r2 8076a76: 3230 adds r2, #48 ; 0x30 8076a78: b2d1 uxtb r1, r2 8076a7a: f507 723b add.w r2, r7, #748 ; 0x2ec 8076a7e: 54d1 strb r1, [r2, r3] str[i++] = ikt + 48; 8076a80: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8076a84: 1c5a adds r2, r3, #1 8076a86: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8076a8a: f897 23e0 ldrb.w r2, [r7, #992] ; 0x3e0 8076a8e: b2d2 uxtb r2, r2 8076a90: 3230 adds r2, #48 ; 0x30 8076a92: b2d1 uxtb r1, r2 8076a94: f507 723b add.w r2, r7, #748 ; 0x2ec 8076a98: 54d1 strb r1, [r2, r3] LCD_DisplayStringC(255, LCD_LINE_5, str); 8076a9a: f507 733b add.w r3, r7, #748 ; 0x2ec 8076a9e: 461a mov r2, r3 8076aa0: 215a movs r1, #90 ; 0x5a 8076aa2: 20ff movs r0, #255 ; 0xff 8076aa4: f7dd fc42 bl 805432c 8076aa8: f001 bdc7 b.w 807863a } else if(menupos == Lang) 8076aac: 4b36 ldr r3, [pc, #216] ; (8076b88 ) 8076aae: 781b ldrb r3, [r3, #0] 8076ab0: b2db uxtb r3, r3 8076ab2: 2b03 cmp r3, #3 8076ab4: f040 8119 bne.w 8076cea { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8076ab8: 4934 ldr r1, [pc, #208] ; (8076b8c ) 8076aba: f04f 30ff mov.w r0, #4294967295 8076abe: f7dc fe75 bl 80537ac LCD_DisplayString(10, LCD_LINE_5, (char *)TEXT_Kpr[pardata.LANG][pardata.IIN]); //"Êïð,ìÂ/ì/ñ^" 8076ac2: 4b33 ldr r3, [pc, #204] ; (8076b90 ) 8076ac4: 7b1b ldrb r3, [r3, #12] 8076ac6: b2db uxtb r3, r3 8076ac8: 4619 mov r1, r3 8076aca: 4b31 ldr r3, [pc, #196] ; (8076b90 ) 8076acc: 799b ldrb r3, [r3, #6] 8076ace: b2db uxtb r3, r3 8076ad0: 4618 mov r0, r3 8076ad2: 4a31 ldr r2, [pc, #196] ; (8076b98 ) 8076ad4: 460b mov r3, r1 8076ad6: 005b lsls r3, r3, #1 8076ad8: 440b add r3, r1 8076ada: 4403 add r3, r0 8076adc: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8076ae0: 461a mov r2, r3 8076ae2: 215a movs r1, #90 ; 0x5a 8076ae4: 200a movs r0, #10 8076ae6: f7dd fc09 bl 80542fc LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_OPTIONS[pardata.LANG][1]);//"Äàòà è âðåìÿ" 8076aea: 4b29 ldr r3, [pc, #164] ; (8076b90 ) 8076aec: 7b1b ldrb r3, [r3, #12] 8076aee: b2db uxtb r3, r3 8076af0: 4619 mov r1, r3 8076af2: 4a28 ldr r2, [pc, #160] ; (8076b94 ) 8076af4: 460b mov r3, r1 8076af6: 009b lsls r3, r3, #2 8076af8: 440b add r3, r1 8076afa: 009b lsls r3, r3, #2 8076afc: 4413 add r3, r2 8076afe: 3304 adds r3, #4 8076b00: 681b ldr r3, [r3, #0] 8076b02: 461a mov r2, r3 8076b04: 217a movs r1, #122 ; 0x7a 8076b06: 200a movs r0, #10 8076b08: f7dd fbf8 bl 80542fc LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_OPTIONS[pardata.LANG][2]);//"ßçûê" 8076b0c: 4b20 ldr r3, [pc, #128] ; (8076b90 ) 8076b0e: 7b1b ldrb r3, [r3, #12] 8076b10: b2db uxtb r3, r3 8076b12: 4619 mov r1, r3 8076b14: 4a1f ldr r2, [pc, #124] ; (8076b94 ) 8076b16: 460b mov r3, r1 8076b18: 009b lsls r3, r3, #2 8076b1a: 440b add r3, r1 8076b1c: 009b lsls r3, r3, #2 8076b1e: 4413 add r3, r2 8076b20: 3308 adds r3, #8 8076b22: 681b ldr r3, [r3, #0] 8076b24: 461a mov r2, r3 8076b26: 216a movs r1, #106 ; 0x6a 8076b28: 200a movs r0, #10 8076b2a: f7dd fbe7 bl 80542fc LCD_DisplayString(10, LCD_LINE_8, (char *)TEXT_OPTIONS[pardata.LANG][3]);//"Ôîðìàòèðîâàíèå äèñêà" 8076b2e: 4b18 ldr r3, [pc, #96] ; (8076b90 ) 8076b30: 7b1b ldrb r3, [r3, #12] 8076b32: b2db uxtb r3, r3 8076b34: 4619 mov r1, r3 8076b36: 4a17 ldr r2, [pc, #92] ; (8076b94 ) 8076b38: 460b mov r3, r1 8076b3a: 009b lsls r3, r3, #2 8076b3c: 440b add r3, r1 8076b3e: 009b lsls r3, r3, #2 8076b40: 4413 add r3, r2 8076b42: 330c adds r3, #12 8076b44: 681b ldr r3, [r3, #0] 8076b46: 461a mov r2, r3 8076b48: 218a movs r1, #138 ; 0x8a 8076b4a: 200a movs r0, #10 8076b4c: f7dd fbd6 bl 80542fc LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8076b50: 490e ldr r1, [pc, #56] ; (8076b8c ) 8076b52: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8076b56: f7dc fe29 bl 80537ac if(focused) 8076b5a: 4b13 ldr r3, [pc, #76] ; (8076ba8 ) 8076b5c: 781b ldrb r3, [r3, #0] 8076b5e: b2db uxtb r3, r3 8076b60: 2b00 cmp r3, #0 8076b62: d025 beq.n 8076bb0 { if(blk) 8076b64: 4b11 ldr r3, [pc, #68] ; (8076bac ) 8076b66: 681b ldr r3, [r3, #0] 8076b68: 2b00 cmp r3, #0 8076b6a: d02d beq.n 8076bc8 LCD_DisplayStringC(255, LCD_LINE_6, (char *) pLANG[pardata.LANG]); 8076b6c: 4b08 ldr r3, [pc, #32] ; (8076b90 ) 8076b6e: 7b1b ldrb r3, [r3, #12] 8076b70: b2db uxtb r3, r3 8076b72: 461a mov r2, r3 8076b74: 4b0a ldr r3, [pc, #40] ; (8076ba0 ) 8076b76: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8076b7a: 461a mov r2, r3 8076b7c: 216a movs r1, #106 ; 0x6a 8076b7e: 20ff movs r0, #255 ; 0xff 8076b80: f7dd fbd4 bl 805432c 8076b84: e020 b.n 8076bc8 8076b86: bf00 nop 8076b88: 20020070 .word 0x20020070 8076b8c: ff0a0f1f .word 0xff0a0f1f 8076b90: 20023e60 .word 0x20023e60 8076b94: 2002067c .word 0x2002067c 8076b98: 200205d4 .word 0x200205d4 8076b9c: ffd8aa57 .word 0xffd8aa57 8076ba0: 200205bc .word 0x200205bc 8076ba4: 2002014c .word 0x2002014c 8076ba8: 20020f84 .word 0x20020f84 8076bac: 2002165c .word 0x2002165c } else LCD_DisplayStringC(255, LCD_LINE_6, (char *) pLANG[pardata.LANG]); 8076bb0: 4bca ldr r3, [pc, #808] ; (8076edc ) 8076bb2: 7b1b ldrb r3, [r3, #12] 8076bb4: b2db uxtb r3, r3 8076bb6: 461a mov r2, r3 8076bb8: 4bc9 ldr r3, [pc, #804] ; (8076ee0 ) 8076bba: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8076bbe: 461a mov r2, r3 8076bc0: 216a movs r1, #106 ; 0x6a 8076bc2: 20ff movs r0, #255 ; 0xff 8076bc4: f7dd fbb2 bl 805432c #if (defined(USE_D101) || defined(USE_D102)) LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); #endif LCD_DisplayStringC(255, LCD_LINE_4, (char *) pIIN[pardata.LANG][pardata.IIN]); 8076bc8: 4bc4 ldr r3, [pc, #784] ; (8076edc ) 8076bca: 7b1b ldrb r3, [r3, #12] 8076bcc: b2db uxtb r3, r3 8076bce: 4619 mov r1, r3 8076bd0: 4bc2 ldr r3, [pc, #776] ; (8076edc ) 8076bd2: 799b ldrb r3, [r3, #6] 8076bd4: b2db uxtb r3, r3 8076bd6: 4618 mov r0, r3 8076bd8: 4ac2 ldr r2, [pc, #776] ; (8076ee4 ) 8076bda: 460b mov r3, r1 8076bdc: 005b lsls r3, r3, #1 8076bde: 440b add r3, r1 8076be0: 4403 add r3, r0 8076be2: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8076be6: 461a mov r2, r3 8076be8: 214a movs r1, #74 ; 0x4a 8076bea: 20ff movs r0, #255 ; 0xff 8076bec: f7dd fb9e bl 805432c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8076bf0: 49bd ldr r1, [pc, #756] ; (8076ee8 ) 8076bf2: 48be ldr r0, [pc, #760] ; (8076eec ) 8076bf4: f7dc fdda bl 80537ac memset(str, 0, sizeof(str)); 8076bf8: f507 733b add.w r3, r7, #748 ; 0x2ec 8076bfc: 223c movs r2, #60 ; 0x3c 8076bfe: 2100 movs r1, #0 8076c00: 4618 mov r0, r3 8076c02: f056 fa21 bl 80cd048 i = 0; 8076c06: 2300 movs r3, #0 8076c08: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 if(ies != 0) 8076c0c: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 8076c10: b2db uxtb r3, r3 8076c12: 2b00 cmp r3, #0 8076c14: d00c beq.n 8076c30 str[i++] = ies + 48; 8076c16: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8076c1a: 1c5a adds r2, r3, #1 8076c1c: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8076c20: f897 23e5 ldrb.w r2, [r7, #997] ; 0x3e5 8076c24: b2d2 uxtb r2, r2 8076c26: 3230 adds r2, #48 ; 0x30 8076c28: b2d1 uxtb r1, r2 8076c2a: f507 723b add.w r2, r7, #748 ; 0x2ec 8076c2e: 54d1 strb r1, [r2, r3] if((ies != 0) || (ied != 0)) 8076c30: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 8076c34: b2db uxtb r3, r3 8076c36: 2b00 cmp r3, #0 8076c38: d104 bne.n 8076c44 8076c3a: f897 33e4 ldrb.w r3, [r7, #996] ; 0x3e4 8076c3e: b2db uxtb r3, r3 8076c40: 2b00 cmp r3, #0 8076c42: d00c beq.n 8076c5e str[i++] = ied + 48; 8076c44: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8076c48: 1c5a adds r2, r3, #1 8076c4a: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8076c4e: f897 23e4 ldrb.w r2, [r7, #996] ; 0x3e4 8076c52: b2d2 uxtb r2, r2 8076c54: 3230 adds r2, #48 ; 0x30 8076c56: b2d1 uxtb r1, r2 8076c58: f507 723b add.w r2, r7, #748 ; 0x2ec 8076c5c: 54d1 strb r1, [r2, r3] str[i++] = iee + 48; 8076c5e: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8076c62: 1c5a adds r2, r3, #1 8076c64: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8076c68: f897 23e3 ldrb.w r2, [r7, #995] ; 0x3e3 8076c6c: b2d2 uxtb r2, r2 8076c6e: 3230 adds r2, #48 ; 0x30 8076c70: b2d1 uxtb r1, r2 8076c72: f507 723b add.w r2, r7, #748 ; 0x2ec 8076c76: 54d1 strb r1, [r2, r3] str[i++] = '.'; 8076c78: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8076c7c: 1c5a adds r2, r3, #1 8076c7e: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8076c82: f507 723b add.w r2, r7, #748 ; 0x2ec 8076c86: 212e movs r1, #46 ; 0x2e 8076c88: 54d1 strb r1, [r2, r3] str[i++] = ikd + 48; 8076c8a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8076c8e: 1c5a adds r2, r3, #1 8076c90: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8076c94: f897 23e2 ldrb.w r2, [r7, #994] ; 0x3e2 8076c98: b2d2 uxtb r2, r2 8076c9a: 3230 adds r2, #48 ; 0x30 8076c9c: b2d1 uxtb r1, r2 8076c9e: f507 723b add.w r2, r7, #748 ; 0x2ec 8076ca2: 54d1 strb r1, [r2, r3] str[i++] = iks + 48; 8076ca4: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8076ca8: 1c5a adds r2, r3, #1 8076caa: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8076cae: f897 23e1 ldrb.w r2, [r7, #993] ; 0x3e1 8076cb2: b2d2 uxtb r2, r2 8076cb4: 3230 adds r2, #48 ; 0x30 8076cb6: b2d1 uxtb r1, r2 8076cb8: f507 723b add.w r2, r7, #748 ; 0x2ec 8076cbc: 54d1 strb r1, [r2, r3] str[i++] = ikt + 48; 8076cbe: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8076cc2: 1c5a adds r2, r3, #1 8076cc4: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8076cc8: f897 23e0 ldrb.w r2, [r7, #992] ; 0x3e0 8076ccc: b2d2 uxtb r2, r2 8076cce: 3230 adds r2, #48 ; 0x30 8076cd0: b2d1 uxtb r1, r2 8076cd2: f507 723b add.w r2, r7, #748 ; 0x2ec 8076cd6: 54d1 strb r1, [r2, r3] LCD_DisplayStringC(255, LCD_LINE_5, str); 8076cd8: f507 733b add.w r3, r7, #748 ; 0x2ec 8076cdc: 461a mov r2, r3 8076cde: 215a movs r1, #90 ; 0x5a 8076ce0: 20ff movs r0, #255 ; 0xff 8076ce2: f7dd fb23 bl 805432c 8076ce6: f001 bca8 b.w 807863a } else if(menupos == FormatDisk) 8076cea: 4b81 ldr r3, [pc, #516] ; (8076ef0 ) 8076cec: 781b ldrb r3, [r3, #0] 8076cee: b2db uxtb r3, r3 8076cf0: 2b05 cmp r3, #5 8076cf2: f040 8103 bne.w 8076efc { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8076cf6: 497c ldr r1, [pc, #496] ; (8076ee8 ) 8076cf8: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8076cfc: f7dc fd56 bl 80537ac LCD_DisplayString(10, LCD_LINE_8, (char *)TEXT_OPTIONS[pardata.LANG][3]);//"Ôîðìàòèðîâàíèå äèñêà" 8076d00: 4b76 ldr r3, [pc, #472] ; (8076edc ) 8076d02: 7b1b ldrb r3, [r3, #12] 8076d04: b2db uxtb r3, r3 8076d06: 4619 mov r1, r3 8076d08: 4a7a ldr r2, [pc, #488] ; (8076ef4 ) 8076d0a: 460b mov r3, r1 8076d0c: 009b lsls r3, r3, #2 8076d0e: 440b add r3, r1 8076d10: 009b lsls r3, r3, #2 8076d12: 4413 add r3, r2 8076d14: 330c adds r3, #12 8076d16: 681b ldr r3, [r3, #0] 8076d18: 461a mov r2, r3 8076d1a: 218a movs r1, #138 ; 0x8a 8076d1c: 200a movs r0, #10 8076d1e: f7dd faed bl 80542fc LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8076d22: 4971 ldr r1, [pc, #452] ; (8076ee8 ) 8076d24: f04f 30ff mov.w r0, #4294967295 8076d28: f7dc fd40 bl 80537ac LCD_DisplayString(10, LCD_LINE_5, (char *)TEXT_Kpr[pardata.LANG][pardata.IIN]); //"Êïð,ìÂ/ì/ñ^" 8076d2c: 4b6b ldr r3, [pc, #428] ; (8076edc ) 8076d2e: 7b1b ldrb r3, [r3, #12] 8076d30: b2db uxtb r3, r3 8076d32: 4619 mov r1, r3 8076d34: 4b69 ldr r3, [pc, #420] ; (8076edc ) 8076d36: 799b ldrb r3, [r3, #6] 8076d38: b2db uxtb r3, r3 8076d3a: 4618 mov r0, r3 8076d3c: 4a6e ldr r2, [pc, #440] ; (8076ef8 ) 8076d3e: 460b mov r3, r1 8076d40: 005b lsls r3, r3, #1 8076d42: 440b add r3, r1 8076d44: 4403 add r3, r0 8076d46: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8076d4a: 461a mov r2, r3 8076d4c: 215a movs r1, #90 ; 0x5a 8076d4e: 200a movs r0, #10 8076d50: f7dd fad4 bl 80542fc LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_OPTIONS[pardata.LANG][1]);//"Äàòà è âðåìÿ" 8076d54: 4b61 ldr r3, [pc, #388] ; (8076edc ) 8076d56: 7b1b ldrb r3, [r3, #12] 8076d58: b2db uxtb r3, r3 8076d5a: 4619 mov r1, r3 8076d5c: 4a65 ldr r2, [pc, #404] ; (8076ef4 ) 8076d5e: 460b mov r3, r1 8076d60: 009b lsls r3, r3, #2 8076d62: 440b add r3, r1 8076d64: 009b lsls r3, r3, #2 8076d66: 4413 add r3, r2 8076d68: 3304 adds r3, #4 8076d6a: 681b ldr r3, [r3, #0] 8076d6c: 461a mov r2, r3 8076d6e: 217a movs r1, #122 ; 0x7a 8076d70: 200a movs r0, #10 8076d72: f7dd fac3 bl 80542fc LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_OPTIONS[pardata.LANG][2]);//"ßçûê" 8076d76: 4b59 ldr r3, [pc, #356] ; (8076edc ) 8076d78: 7b1b ldrb r3, [r3, #12] 8076d7a: b2db uxtb r3, r3 8076d7c: 4619 mov r1, r3 8076d7e: 4a5d ldr r2, [pc, #372] ; (8076ef4 ) 8076d80: 460b mov r3, r1 8076d82: 009b lsls r3, r3, #2 8076d84: 440b add r3, r1 8076d86: 009b lsls r3, r3, #2 8076d88: 4413 add r3, r2 8076d8a: 3308 adds r3, #8 8076d8c: 681b ldr r3, [r3, #0] 8076d8e: 461a mov r2, r3 8076d90: 216a movs r1, #106 ; 0x6a 8076d92: 200a movs r0, #10 8076d94: f7dd fab2 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8076d98: 4953 ldr r1, [pc, #332] ; (8076ee8 ) 8076d9a: 4854 ldr r0, [pc, #336] ; (8076eec ) 8076d9c: f7dc fd06 bl 80537ac LCD_DisplayStringC(255, LCD_LINE_6, (char *) pLANG[pardata.LANG]); 8076da0: 4b4e ldr r3, [pc, #312] ; (8076edc ) 8076da2: 7b1b ldrb r3, [r3, #12] 8076da4: b2db uxtb r3, r3 8076da6: 461a mov r2, r3 8076da8: 4b4d ldr r3, [pc, #308] ; (8076ee0 ) 8076daa: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8076dae: 461a mov r2, r3 8076db0: 216a movs r1, #106 ; 0x6a 8076db2: 20ff movs r0, #255 ; 0xff 8076db4: f7dd faba bl 805432c #if (defined(USE_D101) || defined(USE_D102)) LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); #endif LCD_DisplayStringC(255, LCD_LINE_4, (char *) pIIN[pardata.LANG][pardata.IIN]); 8076db8: 4b48 ldr r3, [pc, #288] ; (8076edc ) 8076dba: 7b1b ldrb r3, [r3, #12] 8076dbc: b2db uxtb r3, r3 8076dbe: 4619 mov r1, r3 8076dc0: 4b46 ldr r3, [pc, #280] ; (8076edc ) 8076dc2: 799b ldrb r3, [r3, #6] 8076dc4: b2db uxtb r3, r3 8076dc6: 4618 mov r0, r3 8076dc8: 4a46 ldr r2, [pc, #280] ; (8076ee4 ) 8076dca: 460b mov r3, r1 8076dcc: 005b lsls r3, r3, #1 8076dce: 440b add r3, r1 8076dd0: 4403 add r3, r0 8076dd2: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8076dd6: 461a mov r2, r3 8076dd8: 214a movs r1, #74 ; 0x4a 8076dda: 20ff movs r0, #255 ; 0xff 8076ddc: f7dd faa6 bl 805432c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8076de0: 4941 ldr r1, [pc, #260] ; (8076ee8 ) 8076de2: 4842 ldr r0, [pc, #264] ; (8076eec ) 8076de4: f7dc fce2 bl 80537ac memset(str, 0, sizeof(str)); 8076de8: f507 733b add.w r3, r7, #748 ; 0x2ec 8076dec: 223c movs r2, #60 ; 0x3c 8076dee: 2100 movs r1, #0 8076df0: 4618 mov r0, r3 8076df2: f056 f929 bl 80cd048 i = 0; 8076df6: 2300 movs r3, #0 8076df8: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 if(ies != 0) 8076dfc: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 8076e00: b2db uxtb r3, r3 8076e02: 2b00 cmp r3, #0 8076e04: d00c beq.n 8076e20 str[i++] = ies + 48; 8076e06: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8076e0a: 1c5a adds r2, r3, #1 8076e0c: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8076e10: f897 23e5 ldrb.w r2, [r7, #997] ; 0x3e5 8076e14: b2d2 uxtb r2, r2 8076e16: 3230 adds r2, #48 ; 0x30 8076e18: b2d1 uxtb r1, r2 8076e1a: f507 723b add.w r2, r7, #748 ; 0x2ec 8076e1e: 54d1 strb r1, [r2, r3] if((ies != 0) || (ied != 0)) 8076e20: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 8076e24: b2db uxtb r3, r3 8076e26: 2b00 cmp r3, #0 8076e28: d104 bne.n 8076e34 8076e2a: f897 33e4 ldrb.w r3, [r7, #996] ; 0x3e4 8076e2e: b2db uxtb r3, r3 8076e30: 2b00 cmp r3, #0 8076e32: d00c beq.n 8076e4e str[i++] = ied + 48; 8076e34: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8076e38: 1c5a adds r2, r3, #1 8076e3a: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8076e3e: f897 23e4 ldrb.w r2, [r7, #996] ; 0x3e4 8076e42: b2d2 uxtb r2, r2 8076e44: 3230 adds r2, #48 ; 0x30 8076e46: b2d1 uxtb r1, r2 8076e48: f507 723b add.w r2, r7, #748 ; 0x2ec 8076e4c: 54d1 strb r1, [r2, r3] str[i++] = iee + 48; 8076e4e: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8076e52: 1c5a adds r2, r3, #1 8076e54: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8076e58: f897 23e3 ldrb.w r2, [r7, #995] ; 0x3e3 8076e5c: b2d2 uxtb r2, r2 8076e5e: 3230 adds r2, #48 ; 0x30 8076e60: b2d1 uxtb r1, r2 8076e62: f507 723b add.w r2, r7, #748 ; 0x2ec 8076e66: 54d1 strb r1, [r2, r3] str[i++] = '.'; 8076e68: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8076e6c: 1c5a adds r2, r3, #1 8076e6e: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8076e72: f507 723b add.w r2, r7, #748 ; 0x2ec 8076e76: 212e movs r1, #46 ; 0x2e 8076e78: 54d1 strb r1, [r2, r3] str[i++] = ikd + 48; 8076e7a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8076e7e: 1c5a adds r2, r3, #1 8076e80: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8076e84: f897 23e2 ldrb.w r2, [r7, #994] ; 0x3e2 8076e88: b2d2 uxtb r2, r2 8076e8a: 3230 adds r2, #48 ; 0x30 8076e8c: b2d1 uxtb r1, r2 8076e8e: f507 723b add.w r2, r7, #748 ; 0x2ec 8076e92: 54d1 strb r1, [r2, r3] str[i++] = iks + 48; 8076e94: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8076e98: 1c5a adds r2, r3, #1 8076e9a: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8076e9e: f897 23e1 ldrb.w r2, [r7, #993] ; 0x3e1 8076ea2: b2d2 uxtb r2, r2 8076ea4: 3230 adds r2, #48 ; 0x30 8076ea6: b2d1 uxtb r1, r2 8076ea8: f507 723b add.w r2, r7, #748 ; 0x2ec 8076eac: 54d1 strb r1, [r2, r3] str[i++] = ikt + 48; 8076eae: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8076eb2: 1c5a adds r2, r3, #1 8076eb4: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8076eb8: f897 23e0 ldrb.w r2, [r7, #992] ; 0x3e0 8076ebc: b2d2 uxtb r2, r2 8076ebe: 3230 adds r2, #48 ; 0x30 8076ec0: b2d1 uxtb r1, r2 8076ec2: f507 723b add.w r2, r7, #748 ; 0x2ec 8076ec6: 54d1 strb r1, [r2, r3] LCD_DisplayStringC(255, LCD_LINE_5, str); 8076ec8: f507 733b add.w r3, r7, #748 ; 0x2ec 8076ecc: 461a mov r2, r3 8076ece: 215a movs r1, #90 ; 0x5a 8076ed0: 20ff movs r0, #255 ; 0xff 8076ed2: f7dd fa2b bl 805432c 8076ed6: f001 bbb0 b.w 807863a 8076eda: bf00 nop 8076edc: 20023e60 .word 0x20023e60 8076ee0: 200205bc .word 0x200205bc 8076ee4: 2002014c .word 0x2002014c 8076ee8: ff0a0f1f .word 0xff0a0f1f 8076eec: ffd8aa57 .word 0xffd8aa57 8076ef0: 20020070 .word 0x20020070 8076ef4: 2002067c .word 0x2002067c 8076ef8: 200205d4 .word 0x200205d4 } else if(menupos == FormatDiskNo) 8076efc: 4bab ldr r3, [pc, #684] ; (80771ac ) 8076efe: 781b ldrb r3, [r3, #0] 8076f00: b2db uxtb r3, r3 8076f02: 2b07 cmp r3, #7 8076f04: f040 8176 bne.w 80771f4 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8076f08: 49a9 ldr r1, [pc, #676] ; (80771b0 ) 8076f0a: f04f 30ff mov.w r0, #4294967295 8076f0e: f7dc fc4d bl 80537ac LCD_DisplayString(10, LCD_LINE_5, (char *)TEXT_Kpr[pardata.LANG][pardata.IIN]); //"Êïð,ìÂ/ì/ñ^" 8076f12: 4ba8 ldr r3, [pc, #672] ; (80771b4 ) 8076f14: 7b1b ldrb r3, [r3, #12] 8076f16: b2db uxtb r3, r3 8076f18: 4619 mov r1, r3 8076f1a: 4ba6 ldr r3, [pc, #664] ; (80771b4 ) 8076f1c: 799b ldrb r3, [r3, #6] 8076f1e: b2db uxtb r3, r3 8076f20: 4618 mov r0, r3 8076f22: 4aa5 ldr r2, [pc, #660] ; (80771b8 ) 8076f24: 460b mov r3, r1 8076f26: 005b lsls r3, r3, #1 8076f28: 440b add r3, r1 8076f2a: 4403 add r3, r0 8076f2c: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8076f30: 461a mov r2, r3 8076f32: 215a movs r1, #90 ; 0x5a 8076f34: 200a movs r0, #10 8076f36: f7dd f9e1 bl 80542fc LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_OPTIONS[pardata.LANG][1]);//"Äàòà è âðåìÿ" 8076f3a: 4b9e ldr r3, [pc, #632] ; (80771b4 ) 8076f3c: 7b1b ldrb r3, [r3, #12] 8076f3e: b2db uxtb r3, r3 8076f40: 4619 mov r1, r3 8076f42: 4a9e ldr r2, [pc, #632] ; (80771bc ) 8076f44: 460b mov r3, r1 8076f46: 009b lsls r3, r3, #2 8076f48: 440b add r3, r1 8076f4a: 009b lsls r3, r3, #2 8076f4c: 4413 add r3, r2 8076f4e: 3304 adds r3, #4 8076f50: 681b ldr r3, [r3, #0] 8076f52: 461a mov r2, r3 8076f54: 217a movs r1, #122 ; 0x7a 8076f56: 200a movs r0, #10 8076f58: f7dd f9d0 bl 80542fc LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_OPTIONS[pardata.LANG][2]);//"ßçûê" 8076f5c: 4b95 ldr r3, [pc, #596] ; (80771b4 ) 8076f5e: 7b1b ldrb r3, [r3, #12] 8076f60: b2db uxtb r3, r3 8076f62: 4619 mov r1, r3 8076f64: 4a95 ldr r2, [pc, #596] ; (80771bc ) 8076f66: 460b mov r3, r1 8076f68: 009b lsls r3, r3, #2 8076f6a: 440b add r3, r1 8076f6c: 009b lsls r3, r3, #2 8076f6e: 4413 add r3, r2 8076f70: 3308 adds r3, #8 8076f72: 681b ldr r3, [r3, #0] 8076f74: 461a mov r2, r3 8076f76: 216a movs r1, #106 ; 0x6a 8076f78: 200a movs r0, #10 8076f7a: f7dd f9bf bl 80542fc LCD_DisplayString(10, LCD_LINE_8, (char *)TEXT_OPTIONS[pardata.LANG][3]);//"Ôîðìàòèðîâàíèå äèñêà" 8076f7e: 4b8d ldr r3, [pc, #564] ; (80771b4 ) 8076f80: 7b1b ldrb r3, [r3, #12] 8076f82: b2db uxtb r3, r3 8076f84: 4619 mov r1, r3 8076f86: 4a8d ldr r2, [pc, #564] ; (80771bc ) 8076f88: 460b mov r3, r1 8076f8a: 009b lsls r3, r3, #2 8076f8c: 440b add r3, r1 8076f8e: 009b lsls r3, r3, #2 8076f90: 4413 add r3, r2 8076f92: 330c adds r3, #12 8076f94: 681b ldr r3, [r3, #0] 8076f96: 461a mov r2, r3 8076f98: 218a movs r1, #138 ; 0x8a 8076f9a: 200a movs r0, #10 8076f9c: f7dd f9ae bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8076fa0: 4983 ldr r1, [pc, #524] ; (80771b0 ) 8076fa2: 4887 ldr r0, [pc, #540] ; (80771c0 ) 8076fa4: f7dc fc02 bl 80537ac //LCD_DisplayStringC(255, LCD_LINE_4, (char *) pIIN[pardata.LANG][pardata.IIN]); LCD_DisplayStringC(255, LCD_LINE_6, (char *) pLANG[pardata.LANG]); 8076fa8: 4b82 ldr r3, [pc, #520] ; (80771b4 ) 8076faa: 7b1b ldrb r3, [r3, #12] 8076fac: b2db uxtb r3, r3 8076fae: 461a mov r2, r3 8076fb0: 4b84 ldr r3, [pc, #528] ; (80771c4 ) 8076fb2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8076fb6: 461a mov r2, r3 8076fb8: 216a movs r1, #106 ; 0x6a 8076fba: 20ff movs r0, #255 ; 0xff 8076fbc: f7dd f9b6 bl 805432c #if (defined(USE_D101) || defined(USE_D102)) LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); #endif LCD_DisplayStringC(255, LCD_LINE_4, (char *) pIIN[pardata.LANG][pardata.IIN]); 8076fc0: 4b7c ldr r3, [pc, #496] ; (80771b4 ) 8076fc2: 7b1b ldrb r3, [r3, #12] 8076fc4: b2db uxtb r3, r3 8076fc6: 4619 mov r1, r3 8076fc8: 4b7a ldr r3, [pc, #488] ; (80771b4 ) 8076fca: 799b ldrb r3, [r3, #6] 8076fcc: b2db uxtb r3, r3 8076fce: 4618 mov r0, r3 8076fd0: 4a7d ldr r2, [pc, #500] ; (80771c8 ) 8076fd2: 460b mov r3, r1 8076fd4: 005b lsls r3, r3, #1 8076fd6: 440b add r3, r1 8076fd8: 4403 add r3, r0 8076fda: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8076fde: 461a mov r2, r3 8076fe0: 214a movs r1, #74 ; 0x4a 8076fe2: 20ff movs r0, #255 ; 0xff 8076fe4: f7dd f9a2 bl 805432c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8076fe8: 4971 ldr r1, [pc, #452] ; (80771b0 ) 8076fea: 4875 ldr r0, [pc, #468] ; (80771c0 ) 8076fec: f7dc fbde bl 80537ac memset(str, 0, sizeof(str)); 8076ff0: f507 733b add.w r3, r7, #748 ; 0x2ec 8076ff4: 223c movs r2, #60 ; 0x3c 8076ff6: 2100 movs r1, #0 8076ff8: 4618 mov r0, r3 8076ffa: f056 f825 bl 80cd048 i = 0; 8076ffe: 2300 movs r3, #0 8077000: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 if(ies != 0) 8077004: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 8077008: b2db uxtb r3, r3 807700a: 2b00 cmp r3, #0 807700c: d00c beq.n 8077028 str[i++] = ies + 48; 807700e: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8077012: 1c5a adds r2, r3, #1 8077014: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8077018: f897 23e5 ldrb.w r2, [r7, #997] ; 0x3e5 807701c: b2d2 uxtb r2, r2 807701e: 3230 adds r2, #48 ; 0x30 8077020: b2d1 uxtb r1, r2 8077022: f507 723b add.w r2, r7, #748 ; 0x2ec 8077026: 54d1 strb r1, [r2, r3] if((ies != 0) || (ied != 0)) 8077028: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 807702c: b2db uxtb r3, r3 807702e: 2b00 cmp r3, #0 8077030: d104 bne.n 807703c 8077032: f897 33e4 ldrb.w r3, [r7, #996] ; 0x3e4 8077036: b2db uxtb r3, r3 8077038: 2b00 cmp r3, #0 807703a: d00c beq.n 8077056 str[i++] = ied + 48; 807703c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8077040: 1c5a adds r2, r3, #1 8077042: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8077046: f897 23e4 ldrb.w r2, [r7, #996] ; 0x3e4 807704a: b2d2 uxtb r2, r2 807704c: 3230 adds r2, #48 ; 0x30 807704e: b2d1 uxtb r1, r2 8077050: f507 723b add.w r2, r7, #748 ; 0x2ec 8077054: 54d1 strb r1, [r2, r3] str[i++] = iee + 48; 8077056: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807705a: 1c5a adds r2, r3, #1 807705c: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8077060: f897 23e3 ldrb.w r2, [r7, #995] ; 0x3e3 8077064: b2d2 uxtb r2, r2 8077066: 3230 adds r2, #48 ; 0x30 8077068: b2d1 uxtb r1, r2 807706a: f507 723b add.w r2, r7, #748 ; 0x2ec 807706e: 54d1 strb r1, [r2, r3] str[i++] = '.'; 8077070: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8077074: 1c5a adds r2, r3, #1 8077076: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807707a: f507 723b add.w r2, r7, #748 ; 0x2ec 807707e: 212e movs r1, #46 ; 0x2e 8077080: 54d1 strb r1, [r2, r3] str[i++] = ikd + 48; 8077082: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8077086: 1c5a adds r2, r3, #1 8077088: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807708c: f897 23e2 ldrb.w r2, [r7, #994] ; 0x3e2 8077090: b2d2 uxtb r2, r2 8077092: 3230 adds r2, #48 ; 0x30 8077094: b2d1 uxtb r1, r2 8077096: f507 723b add.w r2, r7, #748 ; 0x2ec 807709a: 54d1 strb r1, [r2, r3] str[i++] = iks + 48; 807709c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80770a0: 1c5a adds r2, r3, #1 80770a2: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 80770a6: f897 23e1 ldrb.w r2, [r7, #993] ; 0x3e1 80770aa: b2d2 uxtb r2, r2 80770ac: 3230 adds r2, #48 ; 0x30 80770ae: b2d1 uxtb r1, r2 80770b0: f507 723b add.w r2, r7, #748 ; 0x2ec 80770b4: 54d1 strb r1, [r2, r3] str[i++] = ikt + 48; 80770b6: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80770ba: 1c5a adds r2, r3, #1 80770bc: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 80770c0: f897 23e0 ldrb.w r2, [r7, #992] ; 0x3e0 80770c4: b2d2 uxtb r2, r2 80770c6: 3230 adds r2, #48 ; 0x30 80770c8: b2d1 uxtb r1, r2 80770ca: f507 723b add.w r2, r7, #748 ; 0x2ec 80770ce: 54d1 strb r1, [r2, r3] LCD_DisplayStringC(255, LCD_LINE_5, str); 80770d0: f507 733b add.w r3, r7, #748 ; 0x2ec 80770d4: 461a mov r2, r3 80770d6: 215a movs r1, #90 ; 0x5a 80770d8: 20ff movs r0, #255 ; 0xff 80770da: f7dd f927 bl 805432c LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 80770de: 4934 ldr r1, [pc, #208] ; (80771b0 ) 80770e0: 483a ldr r0, [pc, #232] ; (80771cc ) 80770e2: f7dc fb63 bl 80537ac BSP_LCD_FillRect(60, 73, 200, 124); 80770e6: 237c movs r3, #124 ; 0x7c 80770e8: 22c8 movs r2, #200 ; 0xc8 80770ea: 2149 movs r1, #73 ; 0x49 80770ec: 203c movs r0, #60 ; 0x3c 80770ee: f7dc ffeb bl 80540c8 LCD_SetColors(LCD_COLOR_BLACK, LCD_COLOR_BLACK); 80770f2: 492f ldr r1, [pc, #188] ; (80771b0 ) 80770f4: 482e ldr r0, [pc, #184] ; (80771b0 ) 80770f6: f7dc fb59 bl 80537ac BSP_LCD_FillRect(62, 75, 196, 120); 80770fa: 2378 movs r3, #120 ; 0x78 80770fc: 22c4 movs r2, #196 ; 0xc4 80770fe: 214b movs r1, #75 ; 0x4b 8077100: 203e movs r0, #62 ; 0x3e 8077102: f7dc ffe1 bl 80540c8 if(pardata.LANG == RUS) 8077106: 4b2b ldr r3, [pc, #172] ; (80771b4 ) 8077108: 7b1b ldrb r3, [r3, #12] 807710a: b2db uxtb r3, r3 807710c: 2b00 cmp r3, #0 807710e: d126 bne.n 807715e { BSP_LCD_SetFont(&Font12); 8077110: 482f ldr r0, [pc, #188] ; (80771d0 ) 8077112: f7dc fb87 bl 8053824 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8077116: 4926 ldr r1, [pc, #152] ; (80771b0 ) 8077118: f04f 30ff mov.w r0, #4294967295 807711c: f7dc fb46 bl 80537ac BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "Êàðòà ïàìÿòè áóäåò", CENTER_MODE); 8077120: 2301 movs r3, #1 8077122: 4a2c ldr r2, [pc, #176] ; (80771d4 ) 8077124: 217a movs r1, #122 ; 0x7a 8077126: 20a0 movs r0, #160 ; 0xa0 8077128: f7dc fc06 bl 8053938 BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "î÷èùåíà. Ïðîäîëæèòü?", CENTER_MODE); 807712c: 2301 movs r3, #1 807712e: 4a2a ldr r2, [pc, #168] ; (80771d8 ) 8077130: 218a movs r1, #138 ; 0x8a 8077132: 20a0 movs r0, #160 ; 0xa0 8077134: f7dc fc00 bl 8053938 BSP_LCD_DisplayStringAt(258-20, 170, "Äà", RIGHT_MODE); 8077138: 2302 movs r3, #2 807713a: 4a28 ldr r2, [pc, #160] ; (80771dc ) 807713c: 21aa movs r1, #170 ; 0xaa 807713e: 20ee movs r0, #238 ; 0xee 8077140: f7dc fbfa bl 8053938 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8077144: 491a ldr r1, [pc, #104] ; (80771b0 ) 8077146: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807714a: f7dc fb2f bl 80537ac BSP_LCD_DisplayStringAt(62+20, 170, "Íåò", LEFT_MODE); 807714e: 2303 movs r3, #3 8077150: 4a23 ldr r2, [pc, #140] ; (80771e0 ) 8077152: 21aa movs r1, #170 ; 0xaa 8077154: 2052 movs r0, #82 ; 0x52 8077156: f7dc fbef bl 8053938 807715a: f001 ba6e b.w 807863a } else { BSP_LCD_SetFont(&Font12); 807715e: 481c ldr r0, [pc, #112] ; (80771d0 ) 8077160: f7dc fb60 bl 8053824 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8077164: 4912 ldr r1, [pc, #72] ; (80771b0 ) 8077166: f04f 30ff mov.w r0, #4294967295 807716a: f7dc fb1f bl 80537ac BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "The memory card will", CENTER_MODE); 807716e: 2301 movs r3, #1 8077170: 4a1c ldr r2, [pc, #112] ; (80771e4 ) 8077172: 217a movs r1, #122 ; 0x7a 8077174: 20a0 movs r0, #160 ; 0xa0 8077176: f7dc fbdf bl 8053938 BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "be cleared. Continue?", CENTER_MODE); 807717a: 2301 movs r3, #1 807717c: 4a1a ldr r2, [pc, #104] ; (80771e8 ) 807717e: 218a movs r1, #138 ; 0x8a 8077180: 20a0 movs r0, #160 ; 0xa0 8077182: f7dc fbd9 bl 8053938 BSP_LCD_DisplayStringAt(258-20, 170, "Yes", RIGHT_MODE); 8077186: 2302 movs r3, #2 8077188: 4a18 ldr r2, [pc, #96] ; (80771ec ) 807718a: 21aa movs r1, #170 ; 0xaa 807718c: 20ee movs r0, #238 ; 0xee 807718e: f7dc fbd3 bl 8053938 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8077192: 4907 ldr r1, [pc, #28] ; (80771b0 ) 8077194: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8077198: f7dc fb08 bl 80537ac BSP_LCD_DisplayStringAt(62+20, 170, "No", LEFT_MODE); 807719c: 2303 movs r3, #3 807719e: 4a14 ldr r2, [pc, #80] ; (80771f0 ) 80771a0: 21aa movs r1, #170 ; 0xaa 80771a2: 2052 movs r0, #82 ; 0x52 80771a4: f7dc fbc8 bl 8053938 80771a8: f001 ba47 b.w 807863a 80771ac: 20020070 .word 0x20020070 80771b0: ff0a0f1f .word 0xff0a0f1f 80771b4: 20023e60 .word 0x20023e60 80771b8: 200205d4 .word 0x200205d4 80771bc: 2002067c .word 0x2002067c 80771c0: ffd8aa57 .word 0xffd8aa57 80771c4: 200205bc .word 0x200205bc 80771c8: 2002014c .word 0x2002014c 80771cc: ffd3d3d3 .word 0xffd3d3d3 80771d0: 20020038 .word 0x20020038 80771d4: 080cff40 .word 0x080cff40 80771d8: 080cff54 .word 0x080cff54 80771dc: 080cf858 .word 0x080cf858 80771e0: 080ce6a8 .word 0x080ce6a8 80771e4: 080cff6c .word 0x080cff6c 80771e8: 080cff84 .word 0x080cff84 80771ec: 080cfdc4 .word 0x080cfdc4 80771f0: 080cfdc8 .word 0x080cfdc8 } } else if(menupos == FormatDiskYes) 80771f4: 4bab ldr r3, [pc, #684] ; (80774a4 ) 80771f6: 781b ldrb r3, [r3, #0] 80771f8: b2db uxtb r3, r3 80771fa: 2b08 cmp r3, #8 80771fc: f040 8176 bne.w 80774ec { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8077200: 49a9 ldr r1, [pc, #676] ; (80774a8 ) 8077202: f04f 30ff mov.w r0, #4294967295 8077206: f7dc fad1 bl 80537ac LCD_DisplayString(10, LCD_LINE_5, (char *)TEXT_Kpr[pardata.LANG][pardata.IIN]); //"Êïð,ìÂ/ì/ñ^" 807720a: 4ba8 ldr r3, [pc, #672] ; (80774ac ) 807720c: 7b1b ldrb r3, [r3, #12] 807720e: b2db uxtb r3, r3 8077210: 4619 mov r1, r3 8077212: 4ba6 ldr r3, [pc, #664] ; (80774ac ) 8077214: 799b ldrb r3, [r3, #6] 8077216: b2db uxtb r3, r3 8077218: 4618 mov r0, r3 807721a: 4aa5 ldr r2, [pc, #660] ; (80774b0 ) 807721c: 460b mov r3, r1 807721e: 005b lsls r3, r3, #1 8077220: 440b add r3, r1 8077222: 4403 add r3, r0 8077224: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8077228: 461a mov r2, r3 807722a: 215a movs r1, #90 ; 0x5a 807722c: 200a movs r0, #10 807722e: f7dd f865 bl 80542fc LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_OPTIONS[pardata.LANG][1]);//"Äàòà è âðåìÿ" 8077232: 4b9e ldr r3, [pc, #632] ; (80774ac ) 8077234: 7b1b ldrb r3, [r3, #12] 8077236: b2db uxtb r3, r3 8077238: 4619 mov r1, r3 807723a: 4a9e ldr r2, [pc, #632] ; (80774b4 ) 807723c: 460b mov r3, r1 807723e: 009b lsls r3, r3, #2 8077240: 440b add r3, r1 8077242: 009b lsls r3, r3, #2 8077244: 4413 add r3, r2 8077246: 3304 adds r3, #4 8077248: 681b ldr r3, [r3, #0] 807724a: 461a mov r2, r3 807724c: 217a movs r1, #122 ; 0x7a 807724e: 200a movs r0, #10 8077250: f7dd f854 bl 80542fc LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_OPTIONS[pardata.LANG][2]);//"ßçûê" 8077254: 4b95 ldr r3, [pc, #596] ; (80774ac ) 8077256: 7b1b ldrb r3, [r3, #12] 8077258: b2db uxtb r3, r3 807725a: 4619 mov r1, r3 807725c: 4a95 ldr r2, [pc, #596] ; (80774b4 ) 807725e: 460b mov r3, r1 8077260: 009b lsls r3, r3, #2 8077262: 440b add r3, r1 8077264: 009b lsls r3, r3, #2 8077266: 4413 add r3, r2 8077268: 3308 adds r3, #8 807726a: 681b ldr r3, [r3, #0] 807726c: 461a mov r2, r3 807726e: 216a movs r1, #106 ; 0x6a 8077270: 200a movs r0, #10 8077272: f7dd f843 bl 80542fc LCD_DisplayString(10, LCD_LINE_8, (char *)TEXT_OPTIONS[pardata.LANG][3]);//"Ôîðìàòèðîâàíèå äèñêà" 8077276: 4b8d ldr r3, [pc, #564] ; (80774ac ) 8077278: 7b1b ldrb r3, [r3, #12] 807727a: b2db uxtb r3, r3 807727c: 4619 mov r1, r3 807727e: 4a8d ldr r2, [pc, #564] ; (80774b4 ) 8077280: 460b mov r3, r1 8077282: 009b lsls r3, r3, #2 8077284: 440b add r3, r1 8077286: 009b lsls r3, r3, #2 8077288: 4413 add r3, r2 807728a: 330c adds r3, #12 807728c: 681b ldr r3, [r3, #0] 807728e: 461a mov r2, r3 8077290: 218a movs r1, #138 ; 0x8a 8077292: 200a movs r0, #10 8077294: f7dd f832 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8077298: 4983 ldr r1, [pc, #524] ; (80774a8 ) 807729a: 4887 ldr r0, [pc, #540] ; (80774b8 ) 807729c: f7dc fa86 bl 80537ac //LCD_DisplayStringC(255, LCD_LINE_4, (char *) pIIN[pardata.LANG][pardata.IIN]); LCD_DisplayStringC(255, LCD_LINE_6, (char *) pLANG[pardata.LANG]); 80772a0: 4b82 ldr r3, [pc, #520] ; (80774ac ) 80772a2: 7b1b ldrb r3, [r3, #12] 80772a4: b2db uxtb r3, r3 80772a6: 461a mov r2, r3 80772a8: 4b84 ldr r3, [pc, #528] ; (80774bc ) 80772aa: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80772ae: 461a mov r2, r3 80772b0: 216a movs r1, #106 ; 0x6a 80772b2: 20ff movs r0, #255 ; 0xff 80772b4: f7dd f83a bl 805432c #if (defined(USE_D101) || defined(USE_D102)) LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); #endif LCD_DisplayStringC(255, LCD_LINE_4, (char *) pIIN[pardata.LANG][pardata.IIN]); 80772b8: 4b7c ldr r3, [pc, #496] ; (80774ac ) 80772ba: 7b1b ldrb r3, [r3, #12] 80772bc: b2db uxtb r3, r3 80772be: 4619 mov r1, r3 80772c0: 4b7a ldr r3, [pc, #488] ; (80774ac ) 80772c2: 799b ldrb r3, [r3, #6] 80772c4: b2db uxtb r3, r3 80772c6: 4618 mov r0, r3 80772c8: 4a7d ldr r2, [pc, #500] ; (80774c0 ) 80772ca: 460b mov r3, r1 80772cc: 005b lsls r3, r3, #1 80772ce: 440b add r3, r1 80772d0: 4403 add r3, r0 80772d2: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80772d6: 461a mov r2, r3 80772d8: 214a movs r1, #74 ; 0x4a 80772da: 20ff movs r0, #255 ; 0xff 80772dc: f7dd f826 bl 805432c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80772e0: 4971 ldr r1, [pc, #452] ; (80774a8 ) 80772e2: 4875 ldr r0, [pc, #468] ; (80774b8 ) 80772e4: f7dc fa62 bl 80537ac memset(str, 0, sizeof(str)); 80772e8: f507 733b add.w r3, r7, #748 ; 0x2ec 80772ec: 223c movs r2, #60 ; 0x3c 80772ee: 2100 movs r1, #0 80772f0: 4618 mov r0, r3 80772f2: f055 fea9 bl 80cd048 i = 0; 80772f6: 2300 movs r3, #0 80772f8: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 if(ies != 0) 80772fc: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 8077300: b2db uxtb r3, r3 8077302: 2b00 cmp r3, #0 8077304: d00c beq.n 8077320 str[i++] = ies + 48; 8077306: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807730a: 1c5a adds r2, r3, #1 807730c: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8077310: f897 23e5 ldrb.w r2, [r7, #997] ; 0x3e5 8077314: b2d2 uxtb r2, r2 8077316: 3230 adds r2, #48 ; 0x30 8077318: b2d1 uxtb r1, r2 807731a: f507 723b add.w r2, r7, #748 ; 0x2ec 807731e: 54d1 strb r1, [r2, r3] if((ies != 0) || (ied != 0)) 8077320: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 8077324: b2db uxtb r3, r3 8077326: 2b00 cmp r3, #0 8077328: d104 bne.n 8077334 807732a: f897 33e4 ldrb.w r3, [r7, #996] ; 0x3e4 807732e: b2db uxtb r3, r3 8077330: 2b00 cmp r3, #0 8077332: d00c beq.n 807734e str[i++] = ied + 48; 8077334: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8077338: 1c5a adds r2, r3, #1 807733a: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807733e: f897 23e4 ldrb.w r2, [r7, #996] ; 0x3e4 8077342: b2d2 uxtb r2, r2 8077344: 3230 adds r2, #48 ; 0x30 8077346: b2d1 uxtb r1, r2 8077348: f507 723b add.w r2, r7, #748 ; 0x2ec 807734c: 54d1 strb r1, [r2, r3] str[i++] = iee + 48; 807734e: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8077352: 1c5a adds r2, r3, #1 8077354: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8077358: f897 23e3 ldrb.w r2, [r7, #995] ; 0x3e3 807735c: b2d2 uxtb r2, r2 807735e: 3230 adds r2, #48 ; 0x30 8077360: b2d1 uxtb r1, r2 8077362: f507 723b add.w r2, r7, #748 ; 0x2ec 8077366: 54d1 strb r1, [r2, r3] str[i++] = '.'; 8077368: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807736c: 1c5a adds r2, r3, #1 807736e: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8077372: f507 723b add.w r2, r7, #748 ; 0x2ec 8077376: 212e movs r1, #46 ; 0x2e 8077378: 54d1 strb r1, [r2, r3] str[i++] = ikd + 48; 807737a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807737e: 1c5a adds r2, r3, #1 8077380: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8077384: f897 23e2 ldrb.w r2, [r7, #994] ; 0x3e2 8077388: b2d2 uxtb r2, r2 807738a: 3230 adds r2, #48 ; 0x30 807738c: b2d1 uxtb r1, r2 807738e: f507 723b add.w r2, r7, #748 ; 0x2ec 8077392: 54d1 strb r1, [r2, r3] str[i++] = iks + 48; 8077394: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8077398: 1c5a adds r2, r3, #1 807739a: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807739e: f897 23e1 ldrb.w r2, [r7, #993] ; 0x3e1 80773a2: b2d2 uxtb r2, r2 80773a4: 3230 adds r2, #48 ; 0x30 80773a6: b2d1 uxtb r1, r2 80773a8: f507 723b add.w r2, r7, #748 ; 0x2ec 80773ac: 54d1 strb r1, [r2, r3] str[i++] = ikt + 48; 80773ae: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80773b2: 1c5a adds r2, r3, #1 80773b4: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 80773b8: f897 23e0 ldrb.w r2, [r7, #992] ; 0x3e0 80773bc: b2d2 uxtb r2, r2 80773be: 3230 adds r2, #48 ; 0x30 80773c0: b2d1 uxtb r1, r2 80773c2: f507 723b add.w r2, r7, #748 ; 0x2ec 80773c6: 54d1 strb r1, [r2, r3] LCD_DisplayStringC(255, LCD_LINE_5, str); 80773c8: f507 733b add.w r3, r7, #748 ; 0x2ec 80773cc: 461a mov r2, r3 80773ce: 215a movs r1, #90 ; 0x5a 80773d0: 20ff movs r0, #255 ; 0xff 80773d2: f7dc ffab bl 805432c LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 80773d6: 4934 ldr r1, [pc, #208] ; (80774a8 ) 80773d8: 483a ldr r0, [pc, #232] ; (80774c4 ) 80773da: f7dc f9e7 bl 80537ac BSP_LCD_FillRect(60, 73, 200, 124); 80773de: 237c movs r3, #124 ; 0x7c 80773e0: 22c8 movs r2, #200 ; 0xc8 80773e2: 2149 movs r1, #73 ; 0x49 80773e4: 203c movs r0, #60 ; 0x3c 80773e6: f7dc fe6f bl 80540c8 LCD_SetColors(LCD_COLOR_BLACK, LCD_COLOR_BLACK); 80773ea: 492f ldr r1, [pc, #188] ; (80774a8 ) 80773ec: 482e ldr r0, [pc, #184] ; (80774a8 ) 80773ee: f7dc f9dd bl 80537ac BSP_LCD_FillRect(62, 75, 196, 120); 80773f2: 2378 movs r3, #120 ; 0x78 80773f4: 22c4 movs r2, #196 ; 0xc4 80773f6: 214b movs r1, #75 ; 0x4b 80773f8: 203e movs r0, #62 ; 0x3e 80773fa: f7dc fe65 bl 80540c8 if(pardata.LANG == RUS) 80773fe: 4b2b ldr r3, [pc, #172] ; (80774ac ) 8077400: 7b1b ldrb r3, [r3, #12] 8077402: b2db uxtb r3, r3 8077404: 2b00 cmp r3, #0 8077406: d126 bne.n 8077456 { BSP_LCD_SetFont(&Font12); 8077408: 482f ldr r0, [pc, #188] ; (80774c8 ) 807740a: f7dc fa0b bl 8053824 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807740e: 4926 ldr r1, [pc, #152] ; (80774a8 ) 8077410: f04f 30ff mov.w r0, #4294967295 8077414: f7dc f9ca bl 80537ac BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "Êàðòà ïàìÿòè áóäåò", CENTER_MODE); 8077418: 2301 movs r3, #1 807741a: 4a2c ldr r2, [pc, #176] ; (80774cc ) 807741c: 217a movs r1, #122 ; 0x7a 807741e: 20a0 movs r0, #160 ; 0xa0 8077420: f7dc fa8a bl 8053938 BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "î÷èùåíà. Ïðîäîëæèòü?", CENTER_MODE); 8077424: 2301 movs r3, #1 8077426: 4a2a ldr r2, [pc, #168] ; (80774d0 ) 8077428: 218a movs r1, #138 ; 0x8a 807742a: 20a0 movs r0, #160 ; 0xa0 807742c: f7dc fa84 bl 8053938 BSP_LCD_DisplayStringAt(62+20, 170, "Íåò", LEFT_MODE); 8077430: 2303 movs r3, #3 8077432: 4a28 ldr r2, [pc, #160] ; (80774d4 ) 8077434: 21aa movs r1, #170 ; 0xaa 8077436: 2052 movs r0, #82 ; 0x52 8077438: f7dc fa7e bl 8053938 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807743c: 491a ldr r1, [pc, #104] ; (80774a8 ) 807743e: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8077442: f7dc f9b3 bl 80537ac BSP_LCD_DisplayStringAt(258-20, 170, "Äà", RIGHT_MODE); 8077446: 2302 movs r3, #2 8077448: 4a23 ldr r2, [pc, #140] ; (80774d8 ) 807744a: 21aa movs r1, #170 ; 0xaa 807744c: 20ee movs r0, #238 ; 0xee 807744e: f7dc fa73 bl 8053938 8077452: f001 b8f2 b.w 807863a } else { BSP_LCD_SetFont(&Font12); 8077456: 481c ldr r0, [pc, #112] ; (80774c8 ) 8077458: f7dc f9e4 bl 8053824 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807745c: 4912 ldr r1, [pc, #72] ; (80774a8 ) 807745e: f04f 30ff mov.w r0, #4294967295 8077462: f7dc f9a3 bl 80537ac BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "The memory card will", CENTER_MODE); 8077466: 2301 movs r3, #1 8077468: 4a1c ldr r2, [pc, #112] ; (80774dc ) 807746a: 217a movs r1, #122 ; 0x7a 807746c: 20a0 movs r0, #160 ; 0xa0 807746e: f7dc fa63 bl 8053938 BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "be cleared. Continue?", CENTER_MODE); 8077472: 2301 movs r3, #1 8077474: 4a1a ldr r2, [pc, #104] ; (80774e0 ) 8077476: 218a movs r1, #138 ; 0x8a 8077478: 20a0 movs r0, #160 ; 0xa0 807747a: f7dc fa5d bl 8053938 BSP_LCD_DisplayStringAt(62+20, 170, "No", LEFT_MODE); 807747e: 2303 movs r3, #3 8077480: 4a18 ldr r2, [pc, #96] ; (80774e4 ) 8077482: 21aa movs r1, #170 ; 0xaa 8077484: 2052 movs r0, #82 ; 0x52 8077486: f7dc fa57 bl 8053938 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807748a: 4907 ldr r1, [pc, #28] ; (80774a8 ) 807748c: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8077490: f7dc f98c bl 80537ac BSP_LCD_DisplayStringAt(258-20, 170, "Yes", RIGHT_MODE); 8077494: 2302 movs r3, #2 8077496: 4a14 ldr r2, [pc, #80] ; (80774e8 ) 8077498: 21aa movs r1, #170 ; 0xaa 807749a: 20ee movs r0, #238 ; 0xee 807749c: f7dc fa4c bl 8053938 80774a0: f001 b8cb b.w 807863a 80774a4: 20020070 .word 0x20020070 80774a8: ff0a0f1f .word 0xff0a0f1f 80774ac: 20023e60 .word 0x20023e60 80774b0: 200205d4 .word 0x200205d4 80774b4: 2002067c .word 0x2002067c 80774b8: ffd8aa57 .word 0xffd8aa57 80774bc: 200205bc .word 0x200205bc 80774c0: 2002014c .word 0x2002014c 80774c4: ffd3d3d3 .word 0xffd3d3d3 80774c8: 20020038 .word 0x20020038 80774cc: 080cff40 .word 0x080cff40 80774d0: 080cff54 .word 0x080cff54 80774d4: 080ce6a8 .word 0x080ce6a8 80774d8: 080cf858 .word 0x080cf858 80774dc: 080cff6c .word 0x080cff6c 80774e0: 080cff84 .word 0x080cff84 80774e4: 080cfdc8 .word 0x080cfdc8 80774e8: 080cfdc4 .word 0x080cfdc4 } } else if(menupos == FormatDiskProcessing) 80774ec: 4b9a ldr r3, [pc, #616] ; (8077758 ) 80774ee: 781b ldrb r3, [r3, #0] 80774f0: b2db uxtb r3, r3 80774f2: 2b0a cmp r3, #10 80774f4: f040 814c bne.w 8077790 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80774f8: 4998 ldr r1, [pc, #608] ; (807775c ) 80774fa: f04f 30ff mov.w r0, #4294967295 80774fe: f7dc f955 bl 80537ac LCD_DisplayString(10, LCD_LINE_5, (char *)TEXT_Kpr[pardata.LANG][pardata.IIN]); //"Êïð,ìÂ/ì/ñ^" 8077502: 4b97 ldr r3, [pc, #604] ; (8077760 ) 8077504: 7b1b ldrb r3, [r3, #12] 8077506: b2db uxtb r3, r3 8077508: 4619 mov r1, r3 807750a: 4b95 ldr r3, [pc, #596] ; (8077760 ) 807750c: 799b ldrb r3, [r3, #6] 807750e: b2db uxtb r3, r3 8077510: 4618 mov r0, r3 8077512: 4a94 ldr r2, [pc, #592] ; (8077764 ) 8077514: 460b mov r3, r1 8077516: 005b lsls r3, r3, #1 8077518: 440b add r3, r1 807751a: 4403 add r3, r0 807751c: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8077520: 461a mov r2, r3 8077522: 215a movs r1, #90 ; 0x5a 8077524: 200a movs r0, #10 8077526: f7dc fee9 bl 80542fc LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_OPTIONS[pardata.LANG][1]);//"Äàòà è âðåìÿ" 807752a: 4b8d ldr r3, [pc, #564] ; (8077760 ) 807752c: 7b1b ldrb r3, [r3, #12] 807752e: b2db uxtb r3, r3 8077530: 4619 mov r1, r3 8077532: 4a8d ldr r2, [pc, #564] ; (8077768 ) 8077534: 460b mov r3, r1 8077536: 009b lsls r3, r3, #2 8077538: 440b add r3, r1 807753a: 009b lsls r3, r3, #2 807753c: 4413 add r3, r2 807753e: 3304 adds r3, #4 8077540: 681b ldr r3, [r3, #0] 8077542: 461a mov r2, r3 8077544: 217a movs r1, #122 ; 0x7a 8077546: 200a movs r0, #10 8077548: f7dc fed8 bl 80542fc LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_OPTIONS[pardata.LANG][2]);//"ßçûê" 807754c: 4b84 ldr r3, [pc, #528] ; (8077760 ) 807754e: 7b1b ldrb r3, [r3, #12] 8077550: b2db uxtb r3, r3 8077552: 4619 mov r1, r3 8077554: 4a84 ldr r2, [pc, #528] ; (8077768 ) 8077556: 460b mov r3, r1 8077558: 009b lsls r3, r3, #2 807755a: 440b add r3, r1 807755c: 009b lsls r3, r3, #2 807755e: 4413 add r3, r2 8077560: 3308 adds r3, #8 8077562: 681b ldr r3, [r3, #0] 8077564: 461a mov r2, r3 8077566: 216a movs r1, #106 ; 0x6a 8077568: 200a movs r0, #10 807756a: f7dc fec7 bl 80542fc LCD_DisplayString(10, LCD_LINE_8, (char *)TEXT_OPTIONS[pardata.LANG][3]);//"Ôîðìàòèðîâàíèå äèñêà" 807756e: 4b7c ldr r3, [pc, #496] ; (8077760 ) 8077570: 7b1b ldrb r3, [r3, #12] 8077572: b2db uxtb r3, r3 8077574: 4619 mov r1, r3 8077576: 4a7c ldr r2, [pc, #496] ; (8077768 ) 8077578: 460b mov r3, r1 807757a: 009b lsls r3, r3, #2 807757c: 440b add r3, r1 807757e: 009b lsls r3, r3, #2 8077580: 4413 add r3, r2 8077582: 330c adds r3, #12 8077584: 681b ldr r3, [r3, #0] 8077586: 461a mov r2, r3 8077588: 218a movs r1, #138 ; 0x8a 807758a: 200a movs r0, #10 807758c: f7dc feb6 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8077590: 4972 ldr r1, [pc, #456] ; (807775c ) 8077592: 4876 ldr r0, [pc, #472] ; (807776c ) 8077594: f7dc f90a bl 80537ac //LCD_DisplayStringC(255, LCD_LINE_4, (char *) pIIN[pardata.LANG][pardata.IIN]); LCD_DisplayStringC(255, LCD_LINE_6, (char *) pLANG[pardata.LANG]); 8077598: 4b71 ldr r3, [pc, #452] ; (8077760 ) 807759a: 7b1b ldrb r3, [r3, #12] 807759c: b2db uxtb r3, r3 807759e: 461a mov r2, r3 80775a0: 4b73 ldr r3, [pc, #460] ; (8077770 ) 80775a2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80775a6: 461a mov r2, r3 80775a8: 216a movs r1, #106 ; 0x6a 80775aa: 20ff movs r0, #255 ; 0xff 80775ac: f7dc febe bl 805432c #if (defined(USE_D101) || defined(USE_D102)) LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); #endif LCD_DisplayStringC(255, LCD_LINE_4, (char *) pIIN[pardata.LANG][pardata.IIN]); 80775b0: 4b6b ldr r3, [pc, #428] ; (8077760 ) 80775b2: 7b1b ldrb r3, [r3, #12] 80775b4: b2db uxtb r3, r3 80775b6: 4619 mov r1, r3 80775b8: 4b69 ldr r3, [pc, #420] ; (8077760 ) 80775ba: 799b ldrb r3, [r3, #6] 80775bc: b2db uxtb r3, r3 80775be: 4618 mov r0, r3 80775c0: 4a6c ldr r2, [pc, #432] ; (8077774 ) 80775c2: 460b mov r3, r1 80775c4: 005b lsls r3, r3, #1 80775c6: 440b add r3, r1 80775c8: 4403 add r3, r0 80775ca: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80775ce: 461a mov r2, r3 80775d0: 214a movs r1, #74 ; 0x4a 80775d2: 20ff movs r0, #255 ; 0xff 80775d4: f7dc feaa bl 805432c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80775d8: 4960 ldr r1, [pc, #384] ; (807775c ) 80775da: 4864 ldr r0, [pc, #400] ; (807776c ) 80775dc: f7dc f8e6 bl 80537ac memset(str, 0, sizeof(str)); 80775e0: f507 733b add.w r3, r7, #748 ; 0x2ec 80775e4: 223c movs r2, #60 ; 0x3c 80775e6: 2100 movs r1, #0 80775e8: 4618 mov r0, r3 80775ea: f055 fd2d bl 80cd048 i = 0; 80775ee: 2300 movs r3, #0 80775f0: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 if(ies != 0) 80775f4: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 80775f8: b2db uxtb r3, r3 80775fa: 2b00 cmp r3, #0 80775fc: d00c beq.n 8077618 str[i++] = ies + 48; 80775fe: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8077602: 1c5a adds r2, r3, #1 8077604: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8077608: f897 23e5 ldrb.w r2, [r7, #997] ; 0x3e5 807760c: b2d2 uxtb r2, r2 807760e: 3230 adds r2, #48 ; 0x30 8077610: b2d1 uxtb r1, r2 8077612: f507 723b add.w r2, r7, #748 ; 0x2ec 8077616: 54d1 strb r1, [r2, r3] if((ies != 0) || (ied != 0)) 8077618: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 807761c: b2db uxtb r3, r3 807761e: 2b00 cmp r3, #0 8077620: d104 bne.n 807762c 8077622: f897 33e4 ldrb.w r3, [r7, #996] ; 0x3e4 8077626: b2db uxtb r3, r3 8077628: 2b00 cmp r3, #0 807762a: d00c beq.n 8077646 str[i++] = ied + 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 23e4 ldrb.w r2, [r7, #996] ; 0x3e4 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] str[i++] = iee + 48; 8077646: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807764a: 1c5a adds r2, r3, #1 807764c: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8077650: f897 23e3 ldrb.w r2, [r7, #995] ; 0x3e3 8077654: b2d2 uxtb r2, r2 8077656: 3230 adds r2, #48 ; 0x30 8077658: b2d1 uxtb r1, r2 807765a: f507 723b add.w r2, r7, #748 ; 0x2ec 807765e: 54d1 strb r1, [r2, r3] str[i++] = '.'; 8077660: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8077664: 1c5a adds r2, r3, #1 8077666: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807766a: f507 723b add.w r2, r7, #748 ; 0x2ec 807766e: 212e movs r1, #46 ; 0x2e 8077670: 54d1 strb r1, [r2, r3] str[i++] = ikd + 48; 8077672: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8077676: 1c5a adds r2, r3, #1 8077678: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807767c: f897 23e2 ldrb.w r2, [r7, #994] ; 0x3e2 8077680: b2d2 uxtb r2, r2 8077682: 3230 adds r2, #48 ; 0x30 8077684: b2d1 uxtb r1, r2 8077686: f507 723b add.w r2, r7, #748 ; 0x2ec 807768a: 54d1 strb r1, [r2, r3] str[i++] = iks + 48; 807768c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8077690: 1c5a adds r2, r3, #1 8077692: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8077696: f897 23e1 ldrb.w r2, [r7, #993] ; 0x3e1 807769a: b2d2 uxtb r2, r2 807769c: 3230 adds r2, #48 ; 0x30 807769e: b2d1 uxtb r1, r2 80776a0: f507 723b add.w r2, r7, #748 ; 0x2ec 80776a4: 54d1 strb r1, [r2, r3] str[i++] = ikt + 48; 80776a6: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80776aa: 1c5a adds r2, r3, #1 80776ac: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 80776b0: f897 23e0 ldrb.w r2, [r7, #992] ; 0x3e0 80776b4: b2d2 uxtb r2, r2 80776b6: 3230 adds r2, #48 ; 0x30 80776b8: b2d1 uxtb r1, r2 80776ba: f507 723b add.w r2, r7, #748 ; 0x2ec 80776be: 54d1 strb r1, [r2, r3] LCD_DisplayStringC(255, LCD_LINE_5, str); 80776c0: f507 733b add.w r3, r7, #748 ; 0x2ec 80776c4: 461a mov r2, r3 80776c6: 215a movs r1, #90 ; 0x5a 80776c8: 20ff movs r0, #255 ; 0xff 80776ca: f7dc fe2f bl 805432c LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 80776ce: 4923 ldr r1, [pc, #140] ; (807775c ) 80776d0: 4829 ldr r0, [pc, #164] ; (8077778 ) 80776d2: f7dc f86b bl 80537ac BSP_LCD_FillRect(60, 73, 200, 124); 80776d6: 237c movs r3, #124 ; 0x7c 80776d8: 22c8 movs r2, #200 ; 0xc8 80776da: 2149 movs r1, #73 ; 0x49 80776dc: 203c movs r0, #60 ; 0x3c 80776de: f7dc fcf3 bl 80540c8 LCD_SetColors(LCD_COLOR_BLACK, LCD_COLOR_BLACK); 80776e2: 491e ldr r1, [pc, #120] ; (807775c ) 80776e4: 481d ldr r0, [pc, #116] ; (807775c ) 80776e6: f7dc f861 bl 80537ac BSP_LCD_FillRect(62, 75, 196, 120); 80776ea: 2378 movs r3, #120 ; 0x78 80776ec: 22c4 movs r2, #196 ; 0xc4 80776ee: 214b movs r1, #75 ; 0x4b 80776f0: 203e movs r0, #62 ; 0x3e 80776f2: f7dc fce9 bl 80540c8 if(pardata.LANG == RUS) 80776f6: 4b1a ldr r3, [pc, #104] ; (8077760 ) 80776f8: 7b1b ldrb r3, [r3, #12] 80776fa: b2db uxtb r3, r3 80776fc: 2b00 cmp r3, #0 80776fe: d115 bne.n 807772c { BSP_LCD_SetFont(&Font12); 8077700: 481e ldr r0, [pc, #120] ; (807777c ) 8077702: f7dc f88f bl 8053824 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8077706: 4915 ldr r1, [pc, #84] ; (807775c ) 8077708: f04f 30ff mov.w r0, #4294967295 807770c: f7dc f84e bl 80537ac BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "Ôîðìàòèðîâàíèå äèñêà.", CENTER_MODE); 8077710: 2301 movs r3, #1 8077712: 4a1b ldr r2, [pc, #108] ; (8077780 ) 8077714: 217a movs r1, #122 ; 0x7a 8077716: 20a0 movs r0, #160 ; 0xa0 8077718: f7dc f90e bl 8053938 BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "Æäèòå...", CENTER_MODE); 807771c: 2301 movs r3, #1 807771e: 4a19 ldr r2, [pc, #100] ; (8077784 ) 8077720: 218a movs r1, #138 ; 0x8a 8077722: 20a0 movs r0, #160 ; 0xa0 8077724: f7dc f908 bl 8053938 8077728: f000 bf87 b.w 807863a } else { BSP_LCD_SetFont(&Font12); 807772c: 4813 ldr r0, [pc, #76] ; (807777c ) 807772e: f7dc f879 bl 8053824 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8077732: 490a ldr r1, [pc, #40] ; (807775c ) 8077734: f04f 30ff mov.w r0, #4294967295 8077738: f7dc f838 bl 80537ac BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "Formatting the drive.", CENTER_MODE); 807773c: 2301 movs r3, #1 807773e: 4a12 ldr r2, [pc, #72] ; (8077788 ) 8077740: 217a movs r1, #122 ; 0x7a 8077742: 20a0 movs r0, #160 ; 0xa0 8077744: f7dc f8f8 bl 8053938 BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "Please, wait...", CENTER_MODE); 8077748: 2301 movs r3, #1 807774a: 4a10 ldr r2, [pc, #64] ; (807778c ) 807774c: 218a movs r1, #138 ; 0x8a 807774e: 20a0 movs r0, #160 ; 0xa0 8077750: f7dc f8f2 bl 8053938 8077754: f000 bf71 b.w 807863a 8077758: 20020070 .word 0x20020070 807775c: ff0a0f1f .word 0xff0a0f1f 8077760: 20023e60 .word 0x20023e60 8077764: 200205d4 .word 0x200205d4 8077768: 2002067c .word 0x2002067c 807776c: ffd8aa57 .word 0xffd8aa57 8077770: 200205bc .word 0x200205bc 8077774: 2002014c .word 0x2002014c 8077778: ffd3d3d3 .word 0xffd3d3d3 807777c: 20020038 .word 0x20020038 8077780: 080cff9c .word 0x080cff9c 8077784: 080cfe74 .word 0x080cfe74 8077788: 080cffb4 .word 0x080cffb4 807778c: 080cffcc .word 0x080cffcc } } else if(menupos == FormatDiskResult) 8077790: 4bc3 ldr r3, [pc, #780] ; (8077aa0 ) 8077792: 781b ldrb r3, [r3, #0] 8077794: b2db uxtb r3, r3 8077796: 2b09 cmp r3, #9 8077798: f040 81ca bne.w 8077b30 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807779c: 49c1 ldr r1, [pc, #772] ; (8077aa4 ) 807779e: f04f 30ff mov.w r0, #4294967295 80777a2: f7dc f803 bl 80537ac LCD_DisplayString(10, LCD_LINE_5, (char *)TEXT_Kpr[pardata.LANG][pardata.IIN]); //"Êïð,ìÂ/ì/ñ^" 80777a6: 4bc0 ldr r3, [pc, #768] ; (8077aa8 ) 80777a8: 7b1b ldrb r3, [r3, #12] 80777aa: b2db uxtb r3, r3 80777ac: 4619 mov r1, r3 80777ae: 4bbe ldr r3, [pc, #760] ; (8077aa8 ) 80777b0: 799b ldrb r3, [r3, #6] 80777b2: b2db uxtb r3, r3 80777b4: 4618 mov r0, r3 80777b6: 4abd ldr r2, [pc, #756] ; (8077aac ) 80777b8: 460b mov r3, r1 80777ba: 005b lsls r3, r3, #1 80777bc: 440b add r3, r1 80777be: 4403 add r3, r0 80777c0: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80777c4: 461a mov r2, r3 80777c6: 215a movs r1, #90 ; 0x5a 80777c8: 200a movs r0, #10 80777ca: f7dc fd97 bl 80542fc LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_OPTIONS[pardata.LANG][1]);//"Äàòà è âðåìÿ" 80777ce: 4bb6 ldr r3, [pc, #728] ; (8077aa8 ) 80777d0: 7b1b ldrb r3, [r3, #12] 80777d2: b2db uxtb r3, r3 80777d4: 4619 mov r1, r3 80777d6: 4ab6 ldr r2, [pc, #728] ; (8077ab0 ) 80777d8: 460b mov r3, r1 80777da: 009b lsls r3, r3, #2 80777dc: 440b add r3, r1 80777de: 009b lsls r3, r3, #2 80777e0: 4413 add r3, r2 80777e2: 3304 adds r3, #4 80777e4: 681b ldr r3, [r3, #0] 80777e6: 461a mov r2, r3 80777e8: 217a movs r1, #122 ; 0x7a 80777ea: 200a movs r0, #10 80777ec: f7dc fd86 bl 80542fc LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_OPTIONS[pardata.LANG][2]);//"ßçûê" 80777f0: 4bad ldr r3, [pc, #692] ; (8077aa8 ) 80777f2: 7b1b ldrb r3, [r3, #12] 80777f4: b2db uxtb r3, r3 80777f6: 4619 mov r1, r3 80777f8: 4aad ldr r2, [pc, #692] ; (8077ab0 ) 80777fa: 460b mov r3, r1 80777fc: 009b lsls r3, r3, #2 80777fe: 440b add r3, r1 8077800: 009b lsls r3, r3, #2 8077802: 4413 add r3, r2 8077804: 3308 adds r3, #8 8077806: 681b ldr r3, [r3, #0] 8077808: 461a mov r2, r3 807780a: 216a movs r1, #106 ; 0x6a 807780c: 200a movs r0, #10 807780e: f7dc fd75 bl 80542fc LCD_DisplayString(10, LCD_LINE_8, (char *)TEXT_OPTIONS[pardata.LANG][3]);//"Ôîðìàòèðîâàíèå äèñêà" 8077812: 4ba5 ldr r3, [pc, #660] ; (8077aa8 ) 8077814: 7b1b ldrb r3, [r3, #12] 8077816: b2db uxtb r3, r3 8077818: 4619 mov r1, r3 807781a: 4aa5 ldr r2, [pc, #660] ; (8077ab0 ) 807781c: 460b mov r3, r1 807781e: 009b lsls r3, r3, #2 8077820: 440b add r3, r1 8077822: 009b lsls r3, r3, #2 8077824: 4413 add r3, r2 8077826: 330c adds r3, #12 8077828: 681b ldr r3, [r3, #0] 807782a: 461a mov r2, r3 807782c: 218a movs r1, #138 ; 0x8a 807782e: 200a movs r0, #10 8077830: f7dc fd64 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8077834: 499b ldr r1, [pc, #620] ; (8077aa4 ) 8077836: 489f ldr r0, [pc, #636] ; (8077ab4 ) 8077838: f7db ffb8 bl 80537ac //LCD_DisplayStringC(255, LCD_LINE_4, (char *) pIIN[pardata.LANG][pardata.IIN]); LCD_DisplayStringC(255, LCD_LINE_6, (char *) pLANG[pardata.LANG]); 807783c: 4b9a ldr r3, [pc, #616] ; (8077aa8 ) 807783e: 7b1b ldrb r3, [r3, #12] 8077840: b2db uxtb r3, r3 8077842: 461a mov r2, r3 8077844: 4b9c ldr r3, [pc, #624] ; (8077ab8 ) 8077846: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807784a: 461a mov r2, r3 807784c: 216a movs r1, #106 ; 0x6a 807784e: 20ff movs r0, #255 ; 0xff 8077850: f7dc fd6c bl 805432c #if (defined(USE_D101) || defined(USE_D102)) LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); #endif LCD_DisplayStringC(255, LCD_LINE_4, (char *) pIIN[pardata.LANG][pardata.IIN]); 8077854: 4b94 ldr r3, [pc, #592] ; (8077aa8 ) 8077856: 7b1b ldrb r3, [r3, #12] 8077858: b2db uxtb r3, r3 807785a: 4619 mov r1, r3 807785c: 4b92 ldr r3, [pc, #584] ; (8077aa8 ) 807785e: 799b ldrb r3, [r3, #6] 8077860: b2db uxtb r3, r3 8077862: 4618 mov r0, r3 8077864: 4a95 ldr r2, [pc, #596] ; (8077abc ) 8077866: 460b mov r3, r1 8077868: 005b lsls r3, r3, #1 807786a: 440b add r3, r1 807786c: 4403 add r3, r0 807786e: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8077872: 461a mov r2, r3 8077874: 214a movs r1, #74 ; 0x4a 8077876: 20ff movs r0, #255 ; 0xff 8077878: f7dc fd58 bl 805432c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807787c: 4989 ldr r1, [pc, #548] ; (8077aa4 ) 807787e: 488d ldr r0, [pc, #564] ; (8077ab4 ) 8077880: f7db ff94 bl 80537ac memset(str, 0, sizeof(str)); 8077884: f507 733b add.w r3, r7, #748 ; 0x2ec 8077888: 223c movs r2, #60 ; 0x3c 807788a: 2100 movs r1, #0 807788c: 4618 mov r0, r3 807788e: f055 fbdb bl 80cd048 i = 0; 8077892: 2300 movs r3, #0 8077894: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 if(ies != 0) 8077898: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 807789c: b2db uxtb r3, r3 807789e: 2b00 cmp r3, #0 80778a0: d00c beq.n 80778bc str[i++] = ies + 48; 80778a2: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80778a6: 1c5a adds r2, r3, #1 80778a8: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 80778ac: f897 23e5 ldrb.w r2, [r7, #997] ; 0x3e5 80778b0: b2d2 uxtb r2, r2 80778b2: 3230 adds r2, #48 ; 0x30 80778b4: b2d1 uxtb r1, r2 80778b6: f507 723b add.w r2, r7, #748 ; 0x2ec 80778ba: 54d1 strb r1, [r2, r3] if((ies != 0) || (ied != 0)) 80778bc: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 80778c0: b2db uxtb r3, r3 80778c2: 2b00 cmp r3, #0 80778c4: d104 bne.n 80778d0 80778c6: f897 33e4 ldrb.w r3, [r7, #996] ; 0x3e4 80778ca: b2db uxtb r3, r3 80778cc: 2b00 cmp r3, #0 80778ce: d00c beq.n 80778ea str[i++] = ied + 48; 80778d0: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80778d4: 1c5a adds r2, r3, #1 80778d6: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 80778da: f897 23e4 ldrb.w r2, [r7, #996] ; 0x3e4 80778de: b2d2 uxtb r2, r2 80778e0: 3230 adds r2, #48 ; 0x30 80778e2: b2d1 uxtb r1, r2 80778e4: f507 723b add.w r2, r7, #748 ; 0x2ec 80778e8: 54d1 strb r1, [r2, r3] str[i++] = iee + 48; 80778ea: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80778ee: 1c5a adds r2, r3, #1 80778f0: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 80778f4: f897 23e3 ldrb.w r2, [r7, #995] ; 0x3e3 80778f8: b2d2 uxtb r2, r2 80778fa: 3230 adds r2, #48 ; 0x30 80778fc: b2d1 uxtb r1, r2 80778fe: f507 723b add.w r2, r7, #748 ; 0x2ec 8077902: 54d1 strb r1, [r2, r3] str[i++] = '.'; 8077904: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8077908: 1c5a adds r2, r3, #1 807790a: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807790e: f507 723b add.w r2, r7, #748 ; 0x2ec 8077912: 212e movs r1, #46 ; 0x2e 8077914: 54d1 strb r1, [r2, r3] str[i++] = ikd + 48; 8077916: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807791a: 1c5a adds r2, r3, #1 807791c: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8077920: f897 23e2 ldrb.w r2, [r7, #994] ; 0x3e2 8077924: b2d2 uxtb r2, r2 8077926: 3230 adds r2, #48 ; 0x30 8077928: b2d1 uxtb r1, r2 807792a: f507 723b add.w r2, r7, #748 ; 0x2ec 807792e: 54d1 strb r1, [r2, r3] str[i++] = iks + 48; 8077930: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8077934: 1c5a adds r2, r3, #1 8077936: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807793a: f897 23e1 ldrb.w r2, [r7, #993] ; 0x3e1 807793e: b2d2 uxtb r2, r2 8077940: 3230 adds r2, #48 ; 0x30 8077942: b2d1 uxtb r1, r2 8077944: f507 723b add.w r2, r7, #748 ; 0x2ec 8077948: 54d1 strb r1, [r2, r3] str[i++] = ikt + 48; 807794a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807794e: 1c5a adds r2, r3, #1 8077950: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8077954: f897 23e0 ldrb.w r2, [r7, #992] ; 0x3e0 8077958: b2d2 uxtb r2, r2 807795a: 3230 adds r2, #48 ; 0x30 807795c: b2d1 uxtb r1, r2 807795e: f507 723b add.w r2, r7, #748 ; 0x2ec 8077962: 54d1 strb r1, [r2, r3] LCD_DisplayStringC(255, LCD_LINE_5, str); 8077964: f507 733b add.w r3, r7, #748 ; 0x2ec 8077968: 461a mov r2, r3 807796a: 215a movs r1, #90 ; 0x5a 807796c: 20ff movs r0, #255 ; 0xff 807796e: f7dc fcdd bl 805432c LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 8077972: 494c ldr r1, [pc, #304] ; (8077aa4 ) 8077974: 4852 ldr r0, [pc, #328] ; (8077ac0 ) 8077976: f7db ff19 bl 80537ac BSP_LCD_FillRect(60, 73, 200, 124); 807797a: 237c movs r3, #124 ; 0x7c 807797c: 22c8 movs r2, #200 ; 0xc8 807797e: 2149 movs r1, #73 ; 0x49 8077980: 203c movs r0, #60 ; 0x3c 8077982: f7dc fba1 bl 80540c8 LCD_SetColors(LCD_COLOR_BLACK, LCD_COLOR_BLACK); 8077986: 4947 ldr r1, [pc, #284] ; (8077aa4 ) 8077988: 4846 ldr r0, [pc, #280] ; (8077aa4 ) 807798a: f7db ff0f bl 80537ac BSP_LCD_FillRect(61, 74, 198, 122); 807798e: 237a movs r3, #122 ; 0x7a 8077990: 22c6 movs r2, #198 ; 0xc6 8077992: 214a movs r1, #74 ; 0x4a 8077994: 203d movs r0, #61 ; 0x3d 8077996: f7dc fb97 bl 80540c8 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807799a: 4942 ldr r1, [pc, #264] ; (8077aa4 ) 807799c: f04f 30ff mov.w r0, #4294967295 80779a0: f7db ff04 bl 80537ac if(NeedFormat) 80779a4: 4b47 ldr r3, [pc, #284] ; (8077ac4 ) 80779a6: 781b ldrb r3, [r3, #0] 80779a8: b2db uxtb r3, r3 80779aa: 2b00 cmp r3, #0 80779ac: d030 beq.n 8077a10 { if(pardata.LANG == RUS) 80779ae: 4b3e ldr r3, [pc, #248] ; (8077aa8 ) 80779b0: 7b1b ldrb r3, [r3, #12] 80779b2: b2db uxtb r3, r3 80779b4: 2b00 cmp r3, #0 80779b6: d115 bne.n 80779e4 { BSP_LCD_SetFont(&Font12); 80779b8: 4843 ldr r0, [pc, #268] ; (8077ac8 ) 80779ba: f7db ff33 bl 8053824 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80779be: 4939 ldr r1, [pc, #228] ; (8077aa4 ) 80779c0: f04f 30ff mov.w r0, #4294967295 80779c4: f7db fef2 bl 80537ac BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "Ôîðìàòèðîâàíèå äèñêà.", CENTER_MODE); 80779c8: 2301 movs r3, #1 80779ca: 4a40 ldr r2, [pc, #256] ; (8077acc ) 80779cc: 217a movs r1, #122 ; 0x7a 80779ce: 20a0 movs r0, #160 ; 0xa0 80779d0: f7db ffb2 bl 8053938 BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "Æäèòå...", CENTER_MODE); 80779d4: 2301 movs r3, #1 80779d6: 4a3e ldr r2, [pc, #248] ; (8077ad0 ) 80779d8: 218a movs r1, #138 ; 0x8a 80779da: 20a0 movs r0, #160 ; 0xa0 80779dc: f7db ffac bl 8053938 80779e0: f000 be2b b.w 807863a } else { BSP_LCD_SetFont(&Font12); 80779e4: 4838 ldr r0, [pc, #224] ; (8077ac8 ) 80779e6: f7db ff1d bl 8053824 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80779ea: 492e ldr r1, [pc, #184] ; (8077aa4 ) 80779ec: f04f 30ff mov.w r0, #4294967295 80779f0: f7db fedc bl 80537ac BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "Formatting the drive.", CENTER_MODE); 80779f4: 2301 movs r3, #1 80779f6: 4a37 ldr r2, [pc, #220] ; (8077ad4 ) 80779f8: 217a movs r1, #122 ; 0x7a 80779fa: 20a0 movs r0, #160 ; 0xa0 80779fc: f7db ff9c bl 8053938 BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "Please, wait...", CENTER_MODE); 8077a00: 2301 movs r3, #1 8077a02: 4a35 ldr r2, [pc, #212] ; (8077ad8 ) 8077a04: 218a movs r1, #138 ; 0x8a 8077a06: 20a0 movs r0, #160 ; 0xa0 8077a08: f7db ff96 bl 8053938 8077a0c: f000 be15 b.w 807863a } } else { if(FormatStatus == AP_OK) 8077a10: 4b32 ldr r3, [pc, #200] ; (8077adc ) 8077a12: 781b ldrb r3, [r3, #0] 8077a14: b2db uxtb r3, r3 8077a16: 2b00 cmp r3, #0 8077a18: d128 bne.n 8077a6c { if(pardata.LANG == RUS) 8077a1a: 4b23 ldr r3, [pc, #140] ; (8077aa8 ) 8077a1c: 7b1b ldrb r3, [r3, #12] 8077a1e: b2db uxtb r3, r3 8077a20: 2b00 cmp r3, #0 8077a22: d114 bne.n 8077a4e { BSP_LCD_SetFont(&Font12); 8077a24: 4828 ldr r0, [pc, #160] ; (8077ac8 ) 8077a26: f7db fefd bl 8053824 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8077a2a: 491e ldr r1, [pc, #120] ; (8077aa4 ) 8077a2c: f04f 30ff mov.w r0, #4294967295 8077a30: f7db febc bl 80537ac BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "Ôîðìàòèðîâàíèå çàâåðøåíî", CENTER_MODE); 8077a34: 2301 movs r3, #1 8077a36: 4a2a ldr r2, [pc, #168] ; (8077ae0 ) 8077a38: 217a movs r1, #122 ; 0x7a 8077a3a: 20a0 movs r0, #160 ; 0xa0 8077a3c: f7db ff7c bl 8053938 BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "óñïåøíî!", CENTER_MODE); 8077a40: 2301 movs r3, #1 8077a42: 4a28 ldr r2, [pc, #160] ; (8077ae4 ) 8077a44: 218a movs r1, #138 ; 0x8a 8077a46: 20a0 movs r0, #160 ; 0xa0 8077a48: f7db ff76 bl 8053938 8077a4c: e060 b.n 8077b10 } else { BSP_LCD_SetFont(&Font12); 8077a4e: 481e ldr r0, [pc, #120] ; (8077ac8 ) 8077a50: f7db fee8 bl 8053824 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8077a54: 4913 ldr r1, [pc, #76] ; (8077aa4 ) 8077a56: f04f 30ff mov.w r0, #4294967295 8077a5a: f7db fea7 bl 80537ac BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "Formatting successful!", CENTER_MODE); 8077a5e: 2301 movs r3, #1 8077a60: 4a21 ldr r2, [pc, #132] ; (8077ae8 ) 8077a62: 218a movs r1, #138 ; 0x8a 8077a64: 20a0 movs r0, #160 ; 0xa0 8077a66: f7db ff67 bl 8053938 8077a6a: e051 b.n 8077b10 } } else { if(pardata.LANG == RUS) 8077a6c: 4b0e ldr r3, [pc, #56] ; (8077aa8 ) 8077a6e: 7b1b ldrb r3, [r3, #12] 8077a70: b2db uxtb r3, r3 8077a72: 2b00 cmp r3, #0 8077a74: d13e bne.n 8077af4 { BSP_LCD_SetFont(&Font12); 8077a76: 4814 ldr r0, [pc, #80] ; (8077ac8 ) 8077a78: f7db fed4 bl 8053824 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8077a7c: 4909 ldr r1, [pc, #36] ; (8077aa4 ) 8077a7e: f04f 30ff mov.w r0, #4294967295 8077a82: f7db fe93 bl 80537ac BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "Îøèáêà â ïðîöåññå", CENTER_MODE); 8077a86: 2301 movs r3, #1 8077a88: 4a18 ldr r2, [pc, #96] ; (8077aec ) 8077a8a: 217a movs r1, #122 ; 0x7a 8077a8c: 20a0 movs r0, #160 ; 0xa0 8077a8e: f7db ff53 bl 8053938 BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "ôîðìàòèðîâàíèÿ...", CENTER_MODE); 8077a92: 2301 movs r3, #1 8077a94: 4a16 ldr r2, [pc, #88] ; (8077af0 ) 8077a96: 218a movs r1, #138 ; 0x8a 8077a98: 20a0 movs r0, #160 ; 0xa0 8077a9a: f7db ff4d bl 8053938 8077a9e: e037 b.n 8077b10 8077aa0: 20020070 .word 0x20020070 8077aa4: ff0a0f1f .word 0xff0a0f1f 8077aa8: 20023e60 .word 0x20023e60 8077aac: 200205d4 .word 0x200205d4 8077ab0: 2002067c .word 0x2002067c 8077ab4: ffd8aa57 .word 0xffd8aa57 8077ab8: 200205bc .word 0x200205bc 8077abc: 2002014c .word 0x2002014c 8077ac0: ffd3d3d3 .word 0xffd3d3d3 8077ac4: 20020ddd .word 0x20020ddd 8077ac8: 20020038 .word 0x20020038 8077acc: 080cff9c .word 0x080cff9c 8077ad0: 080cfe74 .word 0x080cfe74 8077ad4: 080cffb4 .word 0x080cffb4 8077ad8: 080cffcc .word 0x080cffcc 8077adc: 20020dd1 .word 0x20020dd1 8077ae0: 080cffdc .word 0x080cffdc 8077ae4: 080cfff8 .word 0x080cfff8 8077ae8: 080cfee4 .word 0x080cfee4 8077aec: 080d0004 .word 0x080d0004 8077af0: 080d0018 .word 0x080d0018 } else { BSP_LCD_SetFont(&Font12); 8077af4: 487b ldr r0, [pc, #492] ; (8077ce4 ) 8077af6: f7db fe95 bl 8053824 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8077afa: 497b ldr r1, [pc, #492] ; (8077ce8 ) 8077afc: f04f 30ff mov.w r0, #4294967295 8077b00: f7db fe54 bl 80537ac BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "Format error...", CENTER_MODE); 8077b04: 2301 movs r3, #1 8077b06: 4a79 ldr r2, [pc, #484] ; (8077cec ) 8077b08: 218a movs r1, #138 ; 0x8a 8077b0a: 20a0 movs r0, #160 ; 0xa0 8077b0c: f7db ff14 bl 8053938 } } BSP_LCD_SetFont(&Font12); 8077b10: 4874 ldr r0, [pc, #464] ; (8077ce4 ) 8077b12: f7db fe87 bl 8053824 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8077b16: 4974 ldr r1, [pc, #464] ; (8077ce8 ) 8077b18: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8077b1c: f7db fe46 bl 80537ac BSP_LCD_DisplayStringAt(160, 170, "Ok", CENTER_MODE); 8077b20: 2301 movs r3, #1 8077b22: 4a73 ldr r2, [pc, #460] ; (8077cf0 ) 8077b24: 21aa movs r1, #170 ; 0xaa 8077b26: 20a0 movs r0, #160 ; 0xa0 8077b28: f7db ff06 bl 8053938 8077b2c: f000 bd85 b.w 807863a } } else if(menupos == Ies) 8077b30: 4b70 ldr r3, [pc, #448] ; (8077cf4 ) 8077b32: 781b ldrb r3, [r3, #0] 8077b34: b2db uxtb r3, r3 8077b36: 2b0c cmp r3, #12 8077b38: f040 80f0 bne.w 8077d1c { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8077b3c: 496a ldr r1, [pc, #424] ; (8077ce8 ) 8077b3e: f04f 30ff mov.w r0, #4294967295 8077b42: f7db fe33 bl 80537ac LCD_DisplayString(10, LCD_LINE_5, (char *)TEXT_Kpr[pardata.LANG][pardata.IIN]); //"Êïð,ìÂ/ì/ñ^" 8077b46: 4b6c ldr r3, [pc, #432] ; (8077cf8 ) 8077b48: 7b1b ldrb r3, [r3, #12] 8077b4a: b2db uxtb r3, r3 8077b4c: 4619 mov r1, r3 8077b4e: 4b6a ldr r3, [pc, #424] ; (8077cf8 ) 8077b50: 799b ldrb r3, [r3, #6] 8077b52: b2db uxtb r3, r3 8077b54: 4618 mov r0, r3 8077b56: 4a69 ldr r2, [pc, #420] ; (8077cfc ) 8077b58: 460b mov r3, r1 8077b5a: 005b lsls r3, r3, #1 8077b5c: 440b add r3, r1 8077b5e: 4403 add r3, r0 8077b60: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8077b64: 461a mov r2, r3 8077b66: 215a movs r1, #90 ; 0x5a 8077b68: 200a movs r0, #10 8077b6a: f7dc fbc7 bl 80542fc LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_OPTIONS[pardata.LANG][1]);//"Äàòà è âðåìÿ" 8077b6e: 4b62 ldr r3, [pc, #392] ; (8077cf8 ) 8077b70: 7b1b ldrb r3, [r3, #12] 8077b72: b2db uxtb r3, r3 8077b74: 4619 mov r1, r3 8077b76: 4a62 ldr r2, [pc, #392] ; (8077d00 ) 8077b78: 460b mov r3, r1 8077b7a: 009b lsls r3, r3, #2 8077b7c: 440b add r3, r1 8077b7e: 009b lsls r3, r3, #2 8077b80: 4413 add r3, r2 8077b82: 3304 adds r3, #4 8077b84: 681b ldr r3, [r3, #0] 8077b86: 461a mov r2, r3 8077b88: 217a movs r1, #122 ; 0x7a 8077b8a: 200a movs r0, #10 8077b8c: f7dc fbb6 bl 80542fc LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_OPTIONS[pardata.LANG][2]);//"ßçûê" 8077b90: 4b59 ldr r3, [pc, #356] ; (8077cf8 ) 8077b92: 7b1b ldrb r3, [r3, #12] 8077b94: b2db uxtb r3, r3 8077b96: 4619 mov r1, r3 8077b98: 4a59 ldr r2, [pc, #356] ; (8077d00 ) 8077b9a: 460b mov r3, r1 8077b9c: 009b lsls r3, r3, #2 8077b9e: 440b add r3, r1 8077ba0: 009b lsls r3, r3, #2 8077ba2: 4413 add r3, r2 8077ba4: 3308 adds r3, #8 8077ba6: 681b ldr r3, [r3, #0] 8077ba8: 461a mov r2, r3 8077baa: 216a movs r1, #106 ; 0x6a 8077bac: 200a movs r0, #10 8077bae: f7dc fba5 bl 80542fc LCD_DisplayString(10, LCD_LINE_8, (char *)TEXT_OPTIONS[pardata.LANG][3]);//"Ôîðìàòèðîâàíèå äèñêà" 8077bb2: 4b51 ldr r3, [pc, #324] ; (8077cf8 ) 8077bb4: 7b1b ldrb r3, [r3, #12] 8077bb6: b2db uxtb r3, r3 8077bb8: 4619 mov r1, r3 8077bba: 4a51 ldr r2, [pc, #324] ; (8077d00 ) 8077bbc: 460b mov r3, r1 8077bbe: 009b lsls r3, r3, #2 8077bc0: 440b add r3, r1 8077bc2: 009b lsls r3, r3, #2 8077bc4: 4413 add r3, r2 8077bc6: 330c adds r3, #12 8077bc8: 681b ldr r3, [r3, #0] 8077bca: 461a mov r2, r3 8077bcc: 218a movs r1, #138 ; 0x8a 8077bce: 200a movs r0, #10 8077bd0: f7dc fb94 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8077bd4: 4944 ldr r1, [pc, #272] ; (8077ce8 ) 8077bd6: 484b ldr r0, [pc, #300] ; (8077d04 ) 8077bd8: f7db fde8 bl 80537ac //LCD_DisplayStringC(255, LCD_LINE_4, (char *) pIIN[pardata.LANG][pardata.IIN]); LCD_DisplayStringC(255, LCD_LINE_6, (char *) pLANG[pardata.LANG]); 8077bdc: 4b46 ldr r3, [pc, #280] ; (8077cf8 ) 8077bde: 7b1b ldrb r3, [r3, #12] 8077be0: b2db uxtb r3, r3 8077be2: 461a mov r2, r3 8077be4: 4b48 ldr r3, [pc, #288] ; (8077d08 ) 8077be6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8077bea: 461a mov r2, r3 8077bec: 216a movs r1, #106 ; 0x6a 8077bee: 20ff movs r0, #255 ; 0xff 8077bf0: f7dc fb9c bl 805432c #if (defined(USE_D101) || defined(USE_D102)) LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); #endif LCD_DisplayStringC(255, LCD_LINE_4, (char *) pIIN[pardata.LANG][pardata.IIN]); 8077bf4: 4b40 ldr r3, [pc, #256] ; (8077cf8 ) 8077bf6: 7b1b ldrb r3, [r3, #12] 8077bf8: b2db uxtb r3, r3 8077bfa: 4619 mov r1, r3 8077bfc: 4b3e ldr r3, [pc, #248] ; (8077cf8 ) 8077bfe: 799b ldrb r3, [r3, #6] 8077c00: b2db uxtb r3, r3 8077c02: 4618 mov r0, r3 8077c04: 4a41 ldr r2, [pc, #260] ; (8077d0c ) 8077c06: 460b mov r3, r1 8077c08: 005b lsls r3, r3, #1 8077c0a: 440b add r3, r1 8077c0c: 4403 add r3, r0 8077c0e: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8077c12: 461a mov r2, r3 8077c14: 214a movs r1, #74 ; 0x4a 8077c16: 20ff movs r0, #255 ; 0xff 8077c18: f7dc fb88 bl 805432c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8077c1c: 4932 ldr r1, [pc, #200] ; (8077ce8 ) 8077c1e: 4839 ldr r0, [pc, #228] ; (8077d04 ) 8077c20: f7db fdc4 bl 80537ac LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8077c24: 4930 ldr r1, [pc, #192] ; (8077ce8 ) 8077c26: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8077c2a: f7db fdbf bl 80537ac if(blk) 8077c2e: 4b38 ldr r3, [pc, #224] ; (8077d10 ) 8077c30: 681b ldr r3, [r3, #0] 8077c32: 2b00 cmp r3, #0 8077c34: d00b beq.n 8077c4e LCD_DisplayString(198, LCD_LINE_5, (char *) pNUMS[ies]); 8077c36: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 8077c3a: b2db uxtb r3, r3 8077c3c: 461a mov r2, r3 8077c3e: 4b35 ldr r3, [pc, #212] ; (8077d14 ) 8077c40: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8077c44: 461a mov r2, r3 8077c46: 215a movs r1, #90 ; 0x5a 8077c48: 20c6 movs r0, #198 ; 0xc6 8077c4a: f7dc fb57 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8077c4e: 4926 ldr r1, [pc, #152] ; (8077ce8 ) 8077c50: 482c ldr r0, [pc, #176] ; (8077d04 ) 8077c52: f7db fdab bl 80537ac LCD_DisplayString(214, LCD_LINE_5, (char *) pNUMS[ied]); 8077c56: f897 33e4 ldrb.w r3, [r7, #996] ; 0x3e4 8077c5a: b2db uxtb r3, r3 8077c5c: 461a mov r2, r3 8077c5e: 4b2d ldr r3, [pc, #180] ; (8077d14 ) 8077c60: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8077c64: 461a mov r2, r3 8077c66: 215a movs r1, #90 ; 0x5a 8077c68: 20d6 movs r0, #214 ; 0xd6 8077c6a: f7dc fb47 bl 80542fc LCD_DisplayString(230, LCD_LINE_5, (char *) pNUMS[iee]); 8077c6e: f897 33e3 ldrb.w r3, [r7, #995] ; 0x3e3 8077c72: b2db uxtb r3, r3 8077c74: 461a mov r2, r3 8077c76: 4b27 ldr r3, [pc, #156] ; (8077d14 ) 8077c78: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8077c7c: 461a mov r2, r3 8077c7e: 215a movs r1, #90 ; 0x5a 8077c80: 20e6 movs r0, #230 ; 0xe6 8077c82: f7dc fb3b bl 80542fc LCD_DisplayString(246, LCD_LINE_5, "."); 8077c86: 4a24 ldr r2, [pc, #144] ; (8077d18 ) 8077c88: 215a movs r1, #90 ; 0x5a 8077c8a: 20f6 movs r0, #246 ; 0xf6 8077c8c: f7dc fb36 bl 80542fc LCD_DisplayString(262, LCD_LINE_5, (char *) pNUMS[ikd]); 8077c90: f897 33e2 ldrb.w r3, [r7, #994] ; 0x3e2 8077c94: b2db uxtb r3, r3 8077c96: 461a mov r2, r3 8077c98: 4b1e ldr r3, [pc, #120] ; (8077d14 ) 8077c9a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8077c9e: 461a mov r2, r3 8077ca0: 215a movs r1, #90 ; 0x5a 8077ca2: f44f 7083 mov.w r0, #262 ; 0x106 8077ca6: f7dc fb29 bl 80542fc LCD_DisplayString(278, LCD_LINE_5, (char *) pNUMS[iks]); 8077caa: f897 33e1 ldrb.w r3, [r7, #993] ; 0x3e1 8077cae: b2db uxtb r3, r3 8077cb0: 461a mov r2, r3 8077cb2: 4b18 ldr r3, [pc, #96] ; (8077d14 ) 8077cb4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8077cb8: 461a mov r2, r3 8077cba: 215a movs r1, #90 ; 0x5a 8077cbc: f44f 708b mov.w r0, #278 ; 0x116 8077cc0: f7dc fb1c bl 80542fc LCD_DisplayString(294, LCD_LINE_5, (char *) pNUMS[ikt]); 8077cc4: f897 33e0 ldrb.w r3, [r7, #992] ; 0x3e0 8077cc8: b2db uxtb r3, r3 8077cca: 461a mov r2, r3 8077ccc: 4b11 ldr r3, [pc, #68] ; (8077d14 ) 8077cce: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8077cd2: 461a mov r2, r3 8077cd4: 215a movs r1, #90 ; 0x5a 8077cd6: f44f 7093 mov.w r0, #294 ; 0x126 8077cda: f7dc fb0f bl 80542fc 8077cde: f000 bcac b.w 807863a 8077ce2: bf00 nop 8077ce4: 20020038 .word 0x20020038 8077ce8: ff0a0f1f .word 0xff0a0f1f 8077cec: 080d002c .word 0x080d002c 8077cf0: 080cfea4 .word 0x080cfea4 8077cf4: 20020070 .word 0x20020070 8077cf8: 20023e60 .word 0x20023e60 8077cfc: 200205d4 .word 0x200205d4 8077d00: 2002067c .word 0x2002067c 8077d04: ffd8aa57 .word 0xffd8aa57 8077d08: 200205bc .word 0x200205bc 8077d0c: 2002014c .word 0x2002014c 8077d10: 2002165c .word 0x2002165c 8077d14: 20020964 .word 0x20020964 8077d18: 080cf7e8 .word 0x080cf7e8 } else if(menupos == Ied) 8077d1c: 4b6b ldr r3, [pc, #428] ; (8077ecc ) 8077d1e: 781b ldrb r3, [r3, #0] 8077d20: b2db uxtb r3, r3 8077d22: 2b0d cmp r3, #13 8077d24: f040 80e8 bne.w 8077ef8 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8077d28: 4969 ldr r1, [pc, #420] ; (8077ed0 ) 8077d2a: f04f 30ff mov.w r0, #4294967295 8077d2e: f7db fd3d bl 80537ac LCD_DisplayString(10, LCD_LINE_5, (char *)TEXT_Kpr[pardata.LANG][pardata.IIN]); //"Êïð,ìÂ/ì/ñ^" 8077d32: 4b68 ldr r3, [pc, #416] ; (8077ed4 ) 8077d34: 7b1b ldrb r3, [r3, #12] 8077d36: b2db uxtb r3, r3 8077d38: 4619 mov r1, r3 8077d3a: 4b66 ldr r3, [pc, #408] ; (8077ed4 ) 8077d3c: 799b ldrb r3, [r3, #6] 8077d3e: b2db uxtb r3, r3 8077d40: 4618 mov r0, r3 8077d42: 4a65 ldr r2, [pc, #404] ; (8077ed8 ) 8077d44: 460b mov r3, r1 8077d46: 005b lsls r3, r3, #1 8077d48: 440b add r3, r1 8077d4a: 4403 add r3, r0 8077d4c: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8077d50: 461a mov r2, r3 8077d52: 215a movs r1, #90 ; 0x5a 8077d54: 200a movs r0, #10 8077d56: f7dc fad1 bl 80542fc LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_OPTIONS[pardata.LANG][1]);//"Äàòà è âðåìÿ" 8077d5a: 4b5e ldr r3, [pc, #376] ; (8077ed4 ) 8077d5c: 7b1b ldrb r3, [r3, #12] 8077d5e: b2db uxtb r3, r3 8077d60: 4619 mov r1, r3 8077d62: 4a5e ldr r2, [pc, #376] ; (8077edc ) 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: 3304 adds r3, #4 8077d70: 681b ldr r3, [r3, #0] 8077d72: 461a mov r2, r3 8077d74: 217a movs r1, #122 ; 0x7a 8077d76: 200a movs r0, #10 8077d78: f7dc fac0 bl 80542fc LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_OPTIONS[pardata.LANG][2]);//"ßçûê" 8077d7c: 4b55 ldr r3, [pc, #340] ; (8077ed4 ) 8077d7e: 7b1b ldrb r3, [r3, #12] 8077d80: b2db uxtb r3, r3 8077d82: 4619 mov r1, r3 8077d84: 4a55 ldr r2, [pc, #340] ; (8077edc ) 8077d86: 460b mov r3, r1 8077d88: 009b lsls r3, r3, #2 8077d8a: 440b add r3, r1 8077d8c: 009b lsls r3, r3, #2 8077d8e: 4413 add r3, r2 8077d90: 3308 adds r3, #8 8077d92: 681b ldr r3, [r3, #0] 8077d94: 461a mov r2, r3 8077d96: 216a movs r1, #106 ; 0x6a 8077d98: 200a movs r0, #10 8077d9a: f7dc faaf bl 80542fc LCD_DisplayString(10, LCD_LINE_8, (char *)TEXT_OPTIONS[pardata.LANG][3]);//"Ôîðìàòèðîâàíèå äèñêà" 8077d9e: 4b4d ldr r3, [pc, #308] ; (8077ed4 ) 8077da0: 7b1b ldrb r3, [r3, #12] 8077da2: b2db uxtb r3, r3 8077da4: 4619 mov r1, r3 8077da6: 4a4d ldr r2, [pc, #308] ; (8077edc ) 8077da8: 460b mov r3, r1 8077daa: 009b lsls r3, r3, #2 8077dac: 440b add r3, r1 8077dae: 009b lsls r3, r3, #2 8077db0: 4413 add r3, r2 8077db2: 330c adds r3, #12 8077db4: 681b ldr r3, [r3, #0] 8077db6: 461a mov r2, r3 8077db8: 218a movs r1, #138 ; 0x8a 8077dba: 200a movs r0, #10 8077dbc: f7dc fa9e bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8077dc0: 4943 ldr r1, [pc, #268] ; (8077ed0 ) 8077dc2: 4847 ldr r0, [pc, #284] ; (8077ee0 ) 8077dc4: f7db fcf2 bl 80537ac //LCD_DisplayStringC(255, LCD_LINE_4, (char *) pIIN[pardata.LANG][pardata.IIN]); LCD_DisplayStringC(255, LCD_LINE_6, (char *) pLANG[pardata.LANG]); 8077dc8: 4b42 ldr r3, [pc, #264] ; (8077ed4 ) 8077dca: 7b1b ldrb r3, [r3, #12] 8077dcc: b2db uxtb r3, r3 8077dce: 461a mov r2, r3 8077dd0: 4b44 ldr r3, [pc, #272] ; (8077ee4 ) 8077dd2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8077dd6: 461a mov r2, r3 8077dd8: 216a movs r1, #106 ; 0x6a 8077dda: 20ff movs r0, #255 ; 0xff 8077ddc: f7dc faa6 bl 805432c #if (defined(USE_D101) || defined(USE_D102)) LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); #endif LCD_DisplayStringC(255, LCD_LINE_4, (char *) pIIN[pardata.LANG][pardata.IIN]); 8077de0: 4b3c ldr r3, [pc, #240] ; (8077ed4 ) 8077de2: 7b1b ldrb r3, [r3, #12] 8077de4: b2db uxtb r3, r3 8077de6: 4619 mov r1, r3 8077de8: 4b3a ldr r3, [pc, #232] ; (8077ed4 ) 8077dea: 799b ldrb r3, [r3, #6] 8077dec: b2db uxtb r3, r3 8077dee: 4618 mov r0, r3 8077df0: 4a3d ldr r2, [pc, #244] ; (8077ee8 ) 8077df2: 460b mov r3, r1 8077df4: 005b lsls r3, r3, #1 8077df6: 440b add r3, r1 8077df8: 4403 add r3, r0 8077dfa: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8077dfe: 461a mov r2, r3 8077e00: 214a movs r1, #74 ; 0x4a 8077e02: 20ff movs r0, #255 ; 0xff 8077e04: f7dc fa92 bl 805432c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8077e08: 4931 ldr r1, [pc, #196] ; (8077ed0 ) 8077e0a: 4835 ldr r0, [pc, #212] ; (8077ee0 ) 8077e0c: f7db fcce bl 80537ac LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8077e10: 492f ldr r1, [pc, #188] ; (8077ed0 ) 8077e12: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8077e16: f7db fcc9 bl 80537ac if(blk) 8077e1a: 4b34 ldr r3, [pc, #208] ; (8077eec ) 8077e1c: 681b ldr r3, [r3, #0] 8077e1e: 2b00 cmp r3, #0 8077e20: d00b beq.n 8077e3a LCD_DisplayString(214, LCD_LINE_5, (char *) pNUMS[ied]); 8077e22: f897 33e4 ldrb.w r3, [r7, #996] ; 0x3e4 8077e26: b2db uxtb r3, r3 8077e28: 461a mov r2, r3 8077e2a: 4b31 ldr r3, [pc, #196] ; (8077ef0 ) 8077e2c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8077e30: 461a mov r2, r3 8077e32: 215a movs r1, #90 ; 0x5a 8077e34: 20d6 movs r0, #214 ; 0xd6 8077e36: f7dc fa61 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8077e3a: 4925 ldr r1, [pc, #148] ; (8077ed0 ) 8077e3c: 4828 ldr r0, [pc, #160] ; (8077ee0 ) 8077e3e: f7db fcb5 bl 80537ac LCD_DisplayString(198, LCD_LINE_5, (char *) pNUMS[ies]); 8077e42: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 8077e46: b2db uxtb r3, r3 8077e48: 461a mov r2, r3 8077e4a: 4b29 ldr r3, [pc, #164] ; (8077ef0 ) 8077e4c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8077e50: 461a mov r2, r3 8077e52: 215a movs r1, #90 ; 0x5a 8077e54: 20c6 movs r0, #198 ; 0xc6 8077e56: f7dc fa51 bl 80542fc LCD_DisplayString(230, LCD_LINE_5, (char *) pNUMS[iee]); 8077e5a: f897 33e3 ldrb.w r3, [r7, #995] ; 0x3e3 8077e5e: b2db uxtb r3, r3 8077e60: 461a mov r2, r3 8077e62: 4b23 ldr r3, [pc, #140] ; (8077ef0 ) 8077e64: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8077e68: 461a mov r2, r3 8077e6a: 215a movs r1, #90 ; 0x5a 8077e6c: 20e6 movs r0, #230 ; 0xe6 8077e6e: f7dc fa45 bl 80542fc LCD_DisplayString(246, LCD_LINE_5, "."); 8077e72: 4a20 ldr r2, [pc, #128] ; (8077ef4 ) 8077e74: 215a movs r1, #90 ; 0x5a 8077e76: 20f6 movs r0, #246 ; 0xf6 8077e78: f7dc fa40 bl 80542fc LCD_DisplayString(262, LCD_LINE_5, (char *) pNUMS[ikd]); 8077e7c: f897 33e2 ldrb.w r3, [r7, #994] ; 0x3e2 8077e80: b2db uxtb r3, r3 8077e82: 461a mov r2, r3 8077e84: 4b1a ldr r3, [pc, #104] ; (8077ef0 ) 8077e86: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8077e8a: 461a mov r2, r3 8077e8c: 215a movs r1, #90 ; 0x5a 8077e8e: f44f 7083 mov.w r0, #262 ; 0x106 8077e92: f7dc fa33 bl 80542fc LCD_DisplayString(278, LCD_LINE_5, (char *) pNUMS[iks]); 8077e96: f897 33e1 ldrb.w r3, [r7, #993] ; 0x3e1 8077e9a: b2db uxtb r3, r3 8077e9c: 461a mov r2, r3 8077e9e: 4b14 ldr r3, [pc, #80] ; (8077ef0 ) 8077ea0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8077ea4: 461a mov r2, r3 8077ea6: 215a movs r1, #90 ; 0x5a 8077ea8: f44f 708b mov.w r0, #278 ; 0x116 8077eac: f7dc fa26 bl 80542fc LCD_DisplayString(294, LCD_LINE_5, (char *) pNUMS[ikt]); 8077eb0: f897 33e0 ldrb.w r3, [r7, #992] ; 0x3e0 8077eb4: b2db uxtb r3, r3 8077eb6: 461a mov r2, r3 8077eb8: 4b0d ldr r3, [pc, #52] ; (8077ef0 ) 8077eba: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8077ebe: 461a mov r2, r3 8077ec0: 215a movs r1, #90 ; 0x5a 8077ec2: f44f 7093 mov.w r0, #294 ; 0x126 8077ec6: f7dc fa19 bl 80542fc 8077eca: e3b6 b.n 807863a 8077ecc: 20020070 .word 0x20020070 8077ed0: ff0a0f1f .word 0xff0a0f1f 8077ed4: 20023e60 .word 0x20023e60 8077ed8: 200205d4 .word 0x200205d4 8077edc: 2002067c .word 0x2002067c 8077ee0: ffd8aa57 .word 0xffd8aa57 8077ee4: 200205bc .word 0x200205bc 8077ee8: 2002014c .word 0x2002014c 8077eec: 2002165c .word 0x2002165c 8077ef0: 20020964 .word 0x20020964 8077ef4: 080cf7e8 .word 0x080cf7e8 } else if(menupos == Iee) 8077ef8: 4b6b ldr r3, [pc, #428] ; (80780a8 ) 8077efa: 781b ldrb r3, [r3, #0] 8077efc: b2db uxtb r3, r3 8077efe: 2b0e cmp r3, #14 8077f00: f040 80e8 bne.w 80780d4 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8077f04: 4969 ldr r1, [pc, #420] ; (80780ac ) 8077f06: f04f 30ff mov.w r0, #4294967295 8077f0a: f7db fc4f bl 80537ac LCD_DisplayString(10, LCD_LINE_5, (char *)TEXT_Kpr[pardata.LANG][pardata.IIN]); //"Êïð,ìÂ/ì/ñ^" 8077f0e: 4b68 ldr r3, [pc, #416] ; (80780b0 ) 8077f10: 7b1b ldrb r3, [r3, #12] 8077f12: b2db uxtb r3, r3 8077f14: 4619 mov r1, r3 8077f16: 4b66 ldr r3, [pc, #408] ; (80780b0 ) 8077f18: 799b ldrb r3, [r3, #6] 8077f1a: b2db uxtb r3, r3 8077f1c: 4618 mov r0, r3 8077f1e: 4a65 ldr r2, [pc, #404] ; (80780b4 ) 8077f20: 460b mov r3, r1 8077f22: 005b lsls r3, r3, #1 8077f24: 440b add r3, r1 8077f26: 4403 add r3, r0 8077f28: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8077f2c: 461a mov r2, r3 8077f2e: 215a movs r1, #90 ; 0x5a 8077f30: 200a movs r0, #10 8077f32: f7dc f9e3 bl 80542fc LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_OPTIONS[pardata.LANG][1]);//"Äàòà è âðåìÿ" 8077f36: 4b5e ldr r3, [pc, #376] ; (80780b0 ) 8077f38: 7b1b ldrb r3, [r3, #12] 8077f3a: b2db uxtb r3, r3 8077f3c: 4619 mov r1, r3 8077f3e: 4a5e ldr r2, [pc, #376] ; (80780b8 ) 8077f40: 460b mov r3, r1 8077f42: 009b lsls r3, r3, #2 8077f44: 440b add r3, r1 8077f46: 009b lsls r3, r3, #2 8077f48: 4413 add r3, r2 8077f4a: 3304 adds r3, #4 8077f4c: 681b ldr r3, [r3, #0] 8077f4e: 461a mov r2, r3 8077f50: 217a movs r1, #122 ; 0x7a 8077f52: 200a movs r0, #10 8077f54: f7dc f9d2 bl 80542fc LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_OPTIONS[pardata.LANG][2]);//"ßçûê" 8077f58: 4b55 ldr r3, [pc, #340] ; (80780b0 ) 8077f5a: 7b1b ldrb r3, [r3, #12] 8077f5c: b2db uxtb r3, r3 8077f5e: 4619 mov r1, r3 8077f60: 4a55 ldr r2, [pc, #340] ; (80780b8 ) 8077f62: 460b mov r3, r1 8077f64: 009b lsls r3, r3, #2 8077f66: 440b add r3, r1 8077f68: 009b lsls r3, r3, #2 8077f6a: 4413 add r3, r2 8077f6c: 3308 adds r3, #8 8077f6e: 681b ldr r3, [r3, #0] 8077f70: 461a mov r2, r3 8077f72: 216a movs r1, #106 ; 0x6a 8077f74: 200a movs r0, #10 8077f76: f7dc f9c1 bl 80542fc LCD_DisplayString(10, LCD_LINE_8, (char *)TEXT_OPTIONS[pardata.LANG][3]);//"Ôîðìàòèðîâàíèå äèñêà" 8077f7a: 4b4d ldr r3, [pc, #308] ; (80780b0 ) 8077f7c: 7b1b ldrb r3, [r3, #12] 8077f7e: b2db uxtb r3, r3 8077f80: 4619 mov r1, r3 8077f82: 4a4d ldr r2, [pc, #308] ; (80780b8 ) 8077f84: 460b mov r3, r1 8077f86: 009b lsls r3, r3, #2 8077f88: 440b add r3, r1 8077f8a: 009b lsls r3, r3, #2 8077f8c: 4413 add r3, r2 8077f8e: 330c adds r3, #12 8077f90: 681b ldr r3, [r3, #0] 8077f92: 461a mov r2, r3 8077f94: 218a movs r1, #138 ; 0x8a 8077f96: 200a movs r0, #10 8077f98: f7dc f9b0 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8077f9c: 4943 ldr r1, [pc, #268] ; (80780ac ) 8077f9e: 4847 ldr r0, [pc, #284] ; (80780bc ) 8077fa0: f7db fc04 bl 80537ac //LCD_DisplayStringC(255, LCD_LINE_4, (char *) pIIN[pardata.LANG][pardata.IIN]); LCD_DisplayStringC(255, LCD_LINE_6, (char *) pLANG[pardata.LANG]); 8077fa4: 4b42 ldr r3, [pc, #264] ; (80780b0 ) 8077fa6: 7b1b ldrb r3, [r3, #12] 8077fa8: b2db uxtb r3, r3 8077faa: 461a mov r2, r3 8077fac: 4b44 ldr r3, [pc, #272] ; (80780c0 ) 8077fae: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8077fb2: 461a mov r2, r3 8077fb4: 216a movs r1, #106 ; 0x6a 8077fb6: 20ff movs r0, #255 ; 0xff 8077fb8: f7dc f9b8 bl 805432c #if (defined(USE_D101) || defined(USE_D102)) LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); #endif LCD_DisplayStringC(255, LCD_LINE_4, (char *) pIIN[pardata.LANG][pardata.IIN]); 8077fbc: 4b3c ldr r3, [pc, #240] ; (80780b0 ) 8077fbe: 7b1b ldrb r3, [r3, #12] 8077fc0: b2db uxtb r3, r3 8077fc2: 4619 mov r1, r3 8077fc4: 4b3a ldr r3, [pc, #232] ; (80780b0 ) 8077fc6: 799b ldrb r3, [r3, #6] 8077fc8: b2db uxtb r3, r3 8077fca: 4618 mov r0, r3 8077fcc: 4a3d ldr r2, [pc, #244] ; (80780c4 ) 8077fce: 460b mov r3, r1 8077fd0: 005b lsls r3, r3, #1 8077fd2: 440b add r3, r1 8077fd4: 4403 add r3, r0 8077fd6: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8077fda: 461a mov r2, r3 8077fdc: 214a movs r1, #74 ; 0x4a 8077fde: 20ff movs r0, #255 ; 0xff 8077fe0: f7dc f9a4 bl 805432c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8077fe4: 4931 ldr r1, [pc, #196] ; (80780ac ) 8077fe6: 4835 ldr r0, [pc, #212] ; (80780bc ) 8077fe8: f7db fbe0 bl 80537ac LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8077fec: 492f ldr r1, [pc, #188] ; (80780ac ) 8077fee: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8077ff2: f7db fbdb bl 80537ac if(blk) 8077ff6: 4b34 ldr r3, [pc, #208] ; (80780c8 ) 8077ff8: 681b ldr r3, [r3, #0] 8077ffa: 2b00 cmp r3, #0 8077ffc: d00b beq.n 8078016 LCD_DisplayString(230, LCD_LINE_5, (char *) pNUMS[iee]); 8077ffe: f897 33e3 ldrb.w r3, [r7, #995] ; 0x3e3 8078002: b2db uxtb r3, r3 8078004: 461a mov r2, r3 8078006: 4b31 ldr r3, [pc, #196] ; (80780cc ) 8078008: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807800c: 461a mov r2, r3 807800e: 215a movs r1, #90 ; 0x5a 8078010: 20e6 movs r0, #230 ; 0xe6 8078012: f7dc f973 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8078016: 4925 ldr r1, [pc, #148] ; (80780ac ) 8078018: 4828 ldr r0, [pc, #160] ; (80780bc ) 807801a: f7db fbc7 bl 80537ac LCD_DisplayString(198, LCD_LINE_5, (char *) pNUMS[ies]); 807801e: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 8078022: b2db uxtb r3, r3 8078024: 461a mov r2, r3 8078026: 4b29 ldr r3, [pc, #164] ; (80780cc ) 8078028: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807802c: 461a mov r2, r3 807802e: 215a movs r1, #90 ; 0x5a 8078030: 20c6 movs r0, #198 ; 0xc6 8078032: f7dc f963 bl 80542fc LCD_DisplayString(214, LCD_LINE_5, (char *) pNUMS[ied]); 8078036: f897 33e4 ldrb.w r3, [r7, #996] ; 0x3e4 807803a: b2db uxtb r3, r3 807803c: 461a mov r2, r3 807803e: 4b23 ldr r3, [pc, #140] ; (80780cc ) 8078040: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8078044: 461a mov r2, r3 8078046: 215a movs r1, #90 ; 0x5a 8078048: 20d6 movs r0, #214 ; 0xd6 807804a: f7dc f957 bl 80542fc LCD_DisplayString(246, LCD_LINE_5, "."); 807804e: 4a20 ldr r2, [pc, #128] ; (80780d0 ) 8078050: 215a movs r1, #90 ; 0x5a 8078052: 20f6 movs r0, #246 ; 0xf6 8078054: f7dc f952 bl 80542fc LCD_DisplayString(262, LCD_LINE_5, (char *) pNUMS[ikd]); 8078058: f897 33e2 ldrb.w r3, [r7, #994] ; 0x3e2 807805c: b2db uxtb r3, r3 807805e: 461a mov r2, r3 8078060: 4b1a ldr r3, [pc, #104] ; (80780cc ) 8078062: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8078066: 461a mov r2, r3 8078068: 215a movs r1, #90 ; 0x5a 807806a: f44f 7083 mov.w r0, #262 ; 0x106 807806e: f7dc f945 bl 80542fc LCD_DisplayString(278, LCD_LINE_5, (char *) pNUMS[iks]); 8078072: f897 33e1 ldrb.w r3, [r7, #993] ; 0x3e1 8078076: b2db uxtb r3, r3 8078078: 461a mov r2, r3 807807a: 4b14 ldr r3, [pc, #80] ; (80780cc ) 807807c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8078080: 461a mov r2, r3 8078082: 215a movs r1, #90 ; 0x5a 8078084: f44f 708b mov.w r0, #278 ; 0x116 8078088: f7dc f938 bl 80542fc LCD_DisplayString(294, LCD_LINE_5, (char *) pNUMS[ikt]); 807808c: f897 33e0 ldrb.w r3, [r7, #992] ; 0x3e0 8078090: b2db uxtb r3, r3 8078092: 461a mov r2, r3 8078094: 4b0d ldr r3, [pc, #52] ; (80780cc ) 8078096: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807809a: 461a mov r2, r3 807809c: 215a movs r1, #90 ; 0x5a 807809e: f44f 7093 mov.w r0, #294 ; 0x126 80780a2: f7dc f92b bl 80542fc 80780a6: e2c8 b.n 807863a 80780a8: 20020070 .word 0x20020070 80780ac: ff0a0f1f .word 0xff0a0f1f 80780b0: 20023e60 .word 0x20023e60 80780b4: 200205d4 .word 0x200205d4 80780b8: 2002067c .word 0x2002067c 80780bc: ffd8aa57 .word 0xffd8aa57 80780c0: 200205bc .word 0x200205bc 80780c4: 2002014c .word 0x2002014c 80780c8: 2002165c .word 0x2002165c 80780cc: 20020964 .word 0x20020964 80780d0: 080cf7e8 .word 0x080cf7e8 } else if(menupos == Ikd) 80780d4: 4b6b ldr r3, [pc, #428] ; (8078284 ) 80780d6: 781b ldrb r3, [r3, #0] 80780d8: b2db uxtb r3, r3 80780da: 2b0f cmp r3, #15 80780dc: f040 80e8 bne.w 80782b0 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80780e0: 4969 ldr r1, [pc, #420] ; (8078288 ) 80780e2: f04f 30ff mov.w r0, #4294967295 80780e6: f7db fb61 bl 80537ac LCD_DisplayString(10, LCD_LINE_5, (char *)TEXT_Kpr[pardata.LANG][pardata.IIN]); //"Êïð,ìÂ/ì/ñ^" 80780ea: 4b68 ldr r3, [pc, #416] ; (807828c ) 80780ec: 7b1b ldrb r3, [r3, #12] 80780ee: b2db uxtb r3, r3 80780f0: 4619 mov r1, r3 80780f2: 4b66 ldr r3, [pc, #408] ; (807828c ) 80780f4: 799b ldrb r3, [r3, #6] 80780f6: b2db uxtb r3, r3 80780f8: 4618 mov r0, r3 80780fa: 4a65 ldr r2, [pc, #404] ; (8078290 ) 80780fc: 460b mov r3, r1 80780fe: 005b lsls r3, r3, #1 8078100: 440b add r3, r1 8078102: 4403 add r3, r0 8078104: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8078108: 461a mov r2, r3 807810a: 215a movs r1, #90 ; 0x5a 807810c: 200a movs r0, #10 807810e: f7dc f8f5 bl 80542fc LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_OPTIONS[pardata.LANG][1]);//"Äàòà è âðåìÿ" 8078112: 4b5e ldr r3, [pc, #376] ; (807828c ) 8078114: 7b1b ldrb r3, [r3, #12] 8078116: b2db uxtb r3, r3 8078118: 4619 mov r1, r3 807811a: 4a5e ldr r2, [pc, #376] ; (8078294 ) 807811c: 460b mov r3, r1 807811e: 009b lsls r3, r3, #2 8078120: 440b add r3, r1 8078122: 009b lsls r3, r3, #2 8078124: 4413 add r3, r2 8078126: 3304 adds r3, #4 8078128: 681b ldr r3, [r3, #0] 807812a: 461a mov r2, r3 807812c: 217a movs r1, #122 ; 0x7a 807812e: 200a movs r0, #10 8078130: f7dc f8e4 bl 80542fc LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_OPTIONS[pardata.LANG][2]);//"ßçûê" 8078134: 4b55 ldr r3, [pc, #340] ; (807828c ) 8078136: 7b1b ldrb r3, [r3, #12] 8078138: b2db uxtb r3, r3 807813a: 4619 mov r1, r3 807813c: 4a55 ldr r2, [pc, #340] ; (8078294 ) 807813e: 460b mov r3, r1 8078140: 009b lsls r3, r3, #2 8078142: 440b add r3, r1 8078144: 009b lsls r3, r3, #2 8078146: 4413 add r3, r2 8078148: 3308 adds r3, #8 807814a: 681b ldr r3, [r3, #0] 807814c: 461a mov r2, r3 807814e: 216a movs r1, #106 ; 0x6a 8078150: 200a movs r0, #10 8078152: f7dc f8d3 bl 80542fc LCD_DisplayString(10, LCD_LINE_8, (char *)TEXT_OPTIONS[pardata.LANG][3]);//"Ôîðìàòèðîâàíèå äèñêà" 8078156: 4b4d ldr r3, [pc, #308] ; (807828c ) 8078158: 7b1b ldrb r3, [r3, #12] 807815a: b2db uxtb r3, r3 807815c: 4619 mov r1, r3 807815e: 4a4d ldr r2, [pc, #308] ; (8078294 ) 8078160: 460b mov r3, r1 8078162: 009b lsls r3, r3, #2 8078164: 440b add r3, r1 8078166: 009b lsls r3, r3, #2 8078168: 4413 add r3, r2 807816a: 330c adds r3, #12 807816c: 681b ldr r3, [r3, #0] 807816e: 461a mov r2, r3 8078170: 218a movs r1, #138 ; 0x8a 8078172: 200a movs r0, #10 8078174: f7dc f8c2 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8078178: 4943 ldr r1, [pc, #268] ; (8078288 ) 807817a: 4847 ldr r0, [pc, #284] ; (8078298 ) 807817c: f7db fb16 bl 80537ac //LCD_DisplayStringC(255, LCD_LINE_4, (char *) pIIN[pardata.LANG][pardata.IIN]); LCD_DisplayStringC(255, LCD_LINE_6, (char *) pLANG[pardata.LANG]); 8078180: 4b42 ldr r3, [pc, #264] ; (807828c ) 8078182: 7b1b ldrb r3, [r3, #12] 8078184: b2db uxtb r3, r3 8078186: 461a mov r2, r3 8078188: 4b44 ldr r3, [pc, #272] ; (807829c ) 807818a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807818e: 461a mov r2, r3 8078190: 216a movs r1, #106 ; 0x6a 8078192: 20ff movs r0, #255 ; 0xff 8078194: f7dc f8ca bl 805432c #if (defined(USE_D101) || defined(USE_D102)) LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); #endif LCD_DisplayStringC(255, LCD_LINE_4, (char *) pIIN[pardata.LANG][pardata.IIN]); 8078198: 4b3c ldr r3, [pc, #240] ; (807828c ) 807819a: 7b1b ldrb r3, [r3, #12] 807819c: b2db uxtb r3, r3 807819e: 4619 mov r1, r3 80781a0: 4b3a ldr r3, [pc, #232] ; (807828c ) 80781a2: 799b ldrb r3, [r3, #6] 80781a4: b2db uxtb r3, r3 80781a6: 4618 mov r0, r3 80781a8: 4a3d ldr r2, [pc, #244] ; (80782a0 ) 80781aa: 460b mov r3, r1 80781ac: 005b lsls r3, r3, #1 80781ae: 440b add r3, r1 80781b0: 4403 add r3, r0 80781b2: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80781b6: 461a mov r2, r3 80781b8: 214a movs r1, #74 ; 0x4a 80781ba: 20ff movs r0, #255 ; 0xff 80781bc: f7dc f8b6 bl 805432c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80781c0: 4931 ldr r1, [pc, #196] ; (8078288 ) 80781c2: 4835 ldr r0, [pc, #212] ; (8078298 ) 80781c4: f7db faf2 bl 80537ac LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80781c8: 492f ldr r1, [pc, #188] ; (8078288 ) 80781ca: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80781ce: f7db faed bl 80537ac if(blk) 80781d2: 4b34 ldr r3, [pc, #208] ; (80782a4 ) 80781d4: 681b ldr r3, [r3, #0] 80781d6: 2b00 cmp r3, #0 80781d8: d00c beq.n 80781f4 LCD_DisplayString(262, LCD_LINE_5, (char *) pNUMS[ikd]); 80781da: f897 33e2 ldrb.w r3, [r7, #994] ; 0x3e2 80781de: b2db uxtb r3, r3 80781e0: 461a mov r2, r3 80781e2: 4b31 ldr r3, [pc, #196] ; (80782a8 ) 80781e4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80781e8: 461a mov r2, r3 80781ea: 215a movs r1, #90 ; 0x5a 80781ec: f44f 7083 mov.w r0, #262 ; 0x106 80781f0: f7dc f884 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80781f4: 4924 ldr r1, [pc, #144] ; (8078288 ) 80781f6: 4828 ldr r0, [pc, #160] ; (8078298 ) 80781f8: f7db fad8 bl 80537ac LCD_DisplayString(198, LCD_LINE_5, (char *) pNUMS[ies]); 80781fc: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 8078200: b2db uxtb r3, r3 8078202: 461a mov r2, r3 8078204: 4b28 ldr r3, [pc, #160] ; (80782a8 ) 8078206: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807820a: 461a mov r2, r3 807820c: 215a movs r1, #90 ; 0x5a 807820e: 20c6 movs r0, #198 ; 0xc6 8078210: f7dc f874 bl 80542fc LCD_DisplayString(214, LCD_LINE_5, (char *) pNUMS[ied]); 8078214: f897 33e4 ldrb.w r3, [r7, #996] ; 0x3e4 8078218: b2db uxtb r3, r3 807821a: 461a mov r2, r3 807821c: 4b22 ldr r3, [pc, #136] ; (80782a8 ) 807821e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8078222: 461a mov r2, r3 8078224: 215a movs r1, #90 ; 0x5a 8078226: 20d6 movs r0, #214 ; 0xd6 8078228: f7dc f868 bl 80542fc LCD_DisplayString(230, LCD_LINE_5, (char *) pNUMS[iee]); 807822c: f897 33e3 ldrb.w r3, [r7, #995] ; 0x3e3 8078230: b2db uxtb r3, r3 8078232: 461a mov r2, r3 8078234: 4b1c ldr r3, [pc, #112] ; (80782a8 ) 8078236: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807823a: 461a mov r2, r3 807823c: 215a movs r1, #90 ; 0x5a 807823e: 20e6 movs r0, #230 ; 0xe6 8078240: f7dc f85c bl 80542fc LCD_DisplayString(246, LCD_LINE_5, "."); 8078244: 4a19 ldr r2, [pc, #100] ; (80782ac ) 8078246: 215a movs r1, #90 ; 0x5a 8078248: 20f6 movs r0, #246 ; 0xf6 807824a: f7dc f857 bl 80542fc LCD_DisplayString(278, LCD_LINE_5, (char *) pNUMS[iks]); 807824e: f897 33e1 ldrb.w r3, [r7, #993] ; 0x3e1 8078252: b2db uxtb r3, r3 8078254: 461a mov r2, r3 8078256: 4b14 ldr r3, [pc, #80] ; (80782a8 ) 8078258: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807825c: 461a mov r2, r3 807825e: 215a movs r1, #90 ; 0x5a 8078260: f44f 708b mov.w r0, #278 ; 0x116 8078264: f7dc f84a bl 80542fc LCD_DisplayString(294, LCD_LINE_5, (char *) pNUMS[ikt]); 8078268: f897 33e0 ldrb.w r3, [r7, #992] ; 0x3e0 807826c: b2db uxtb r3, r3 807826e: 461a mov r2, r3 8078270: 4b0d ldr r3, [pc, #52] ; (80782a8 ) 8078272: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8078276: 461a mov r2, r3 8078278: 215a movs r1, #90 ; 0x5a 807827a: f44f 7093 mov.w r0, #294 ; 0x126 807827e: f7dc f83d bl 80542fc 8078282: e1da b.n 807863a 8078284: 20020070 .word 0x20020070 8078288: ff0a0f1f .word 0xff0a0f1f 807828c: 20023e60 .word 0x20023e60 8078290: 200205d4 .word 0x200205d4 8078294: 2002067c .word 0x2002067c 8078298: ffd8aa57 .word 0xffd8aa57 807829c: 200205bc .word 0x200205bc 80782a0: 2002014c .word 0x2002014c 80782a4: 2002165c .word 0x2002165c 80782a8: 20020964 .word 0x20020964 80782ac: 080cf7e8 .word 0x080cf7e8 } else if(menupos == Iks) 80782b0: 4b6b ldr r3, [pc, #428] ; (8078460 ) 80782b2: 781b ldrb r3, [r3, #0] 80782b4: b2db uxtb r3, r3 80782b6: 2b10 cmp r3, #16 80782b8: f040 80e8 bne.w 807848c { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80782bc: 4969 ldr r1, [pc, #420] ; (8078464 ) 80782be: f04f 30ff mov.w r0, #4294967295 80782c2: f7db fa73 bl 80537ac LCD_DisplayString(10, LCD_LINE_5, (char *)TEXT_Kpr[pardata.LANG][pardata.IIN]); //"Êïð,ìÂ/ì/ñ^" 80782c6: 4b68 ldr r3, [pc, #416] ; (8078468 ) 80782c8: 7b1b ldrb r3, [r3, #12] 80782ca: b2db uxtb r3, r3 80782cc: 4619 mov r1, r3 80782ce: 4b66 ldr r3, [pc, #408] ; (8078468 ) 80782d0: 799b ldrb r3, [r3, #6] 80782d2: b2db uxtb r3, r3 80782d4: 4618 mov r0, r3 80782d6: 4a65 ldr r2, [pc, #404] ; (807846c ) 80782d8: 460b mov r3, r1 80782da: 005b lsls r3, r3, #1 80782dc: 440b add r3, r1 80782de: 4403 add r3, r0 80782e0: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80782e4: 461a mov r2, r3 80782e6: 215a movs r1, #90 ; 0x5a 80782e8: 200a movs r0, #10 80782ea: f7dc f807 bl 80542fc LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_OPTIONS[pardata.LANG][1]);//"Äàòà è âðåìÿ" 80782ee: 4b5e ldr r3, [pc, #376] ; (8078468 ) 80782f0: 7b1b ldrb r3, [r3, #12] 80782f2: b2db uxtb r3, r3 80782f4: 4619 mov r1, r3 80782f6: 4a5e ldr r2, [pc, #376] ; (8078470 ) 80782f8: 460b mov r3, r1 80782fa: 009b lsls r3, r3, #2 80782fc: 440b add r3, r1 80782fe: 009b lsls r3, r3, #2 8078300: 4413 add r3, r2 8078302: 3304 adds r3, #4 8078304: 681b ldr r3, [r3, #0] 8078306: 461a mov r2, r3 8078308: 217a movs r1, #122 ; 0x7a 807830a: 200a movs r0, #10 807830c: f7db fff6 bl 80542fc LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_OPTIONS[pardata.LANG][2]);//"ßçûê" 8078310: 4b55 ldr r3, [pc, #340] ; (8078468 ) 8078312: 7b1b ldrb r3, [r3, #12] 8078314: b2db uxtb r3, r3 8078316: 4619 mov r1, r3 8078318: 4a55 ldr r2, [pc, #340] ; (8078470 ) 807831a: 460b mov r3, r1 807831c: 009b lsls r3, r3, #2 807831e: 440b add r3, r1 8078320: 009b lsls r3, r3, #2 8078322: 4413 add r3, r2 8078324: 3308 adds r3, #8 8078326: 681b ldr r3, [r3, #0] 8078328: 461a mov r2, r3 807832a: 216a movs r1, #106 ; 0x6a 807832c: 200a movs r0, #10 807832e: f7db ffe5 bl 80542fc LCD_DisplayString(10, LCD_LINE_8, (char *)TEXT_OPTIONS[pardata.LANG][3]);//"Ôîðìàòèðîâàíèå äèñêà" 8078332: 4b4d ldr r3, [pc, #308] ; (8078468 ) 8078334: 7b1b ldrb r3, [r3, #12] 8078336: b2db uxtb r3, r3 8078338: 4619 mov r1, r3 807833a: 4a4d ldr r2, [pc, #308] ; (8078470 ) 807833c: 460b mov r3, r1 807833e: 009b lsls r3, r3, #2 8078340: 440b add r3, r1 8078342: 009b lsls r3, r3, #2 8078344: 4413 add r3, r2 8078346: 330c adds r3, #12 8078348: 681b ldr r3, [r3, #0] 807834a: 461a mov r2, r3 807834c: 218a movs r1, #138 ; 0x8a 807834e: 200a movs r0, #10 8078350: f7db ffd4 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8078354: 4943 ldr r1, [pc, #268] ; (8078464 ) 8078356: 4847 ldr r0, [pc, #284] ; (8078474 ) 8078358: f7db fa28 bl 80537ac //LCD_DisplayStringC(255, LCD_LINE_4, (char *) pIIN[pardata.LANG][pardata.IIN]); LCD_DisplayStringC(255, LCD_LINE_6, (char *) pLANG[pardata.LANG]); 807835c: 4b42 ldr r3, [pc, #264] ; (8078468 ) 807835e: 7b1b ldrb r3, [r3, #12] 8078360: b2db uxtb r3, r3 8078362: 461a mov r2, r3 8078364: 4b44 ldr r3, [pc, #272] ; (8078478 ) 8078366: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807836a: 461a mov r2, r3 807836c: 216a movs r1, #106 ; 0x6a 807836e: 20ff movs r0, #255 ; 0xff 8078370: f7db ffdc bl 805432c #if (defined(USE_D101) || defined(USE_D102)) LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); #endif LCD_DisplayStringC(255, LCD_LINE_4, (char *) pIIN[pardata.LANG][pardata.IIN]); 8078374: 4b3c ldr r3, [pc, #240] ; (8078468 ) 8078376: 7b1b ldrb r3, [r3, #12] 8078378: b2db uxtb r3, r3 807837a: 4619 mov r1, r3 807837c: 4b3a ldr r3, [pc, #232] ; (8078468 ) 807837e: 799b ldrb r3, [r3, #6] 8078380: b2db uxtb r3, r3 8078382: 4618 mov r0, r3 8078384: 4a3d ldr r2, [pc, #244] ; (807847c ) 8078386: 460b mov r3, r1 8078388: 005b lsls r3, r3, #1 807838a: 440b add r3, r1 807838c: 4403 add r3, r0 807838e: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8078392: 461a mov r2, r3 8078394: 214a movs r1, #74 ; 0x4a 8078396: 20ff movs r0, #255 ; 0xff 8078398: f7db ffc8 bl 805432c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807839c: 4931 ldr r1, [pc, #196] ; (8078464 ) 807839e: 4835 ldr r0, [pc, #212] ; (8078474 ) 80783a0: f7db fa04 bl 80537ac LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80783a4: 492f ldr r1, [pc, #188] ; (8078464 ) 80783a6: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80783aa: f7db f9ff bl 80537ac if(blk) 80783ae: 4b34 ldr r3, [pc, #208] ; (8078480 ) 80783b0: 681b ldr r3, [r3, #0] 80783b2: 2b00 cmp r3, #0 80783b4: d00c beq.n 80783d0 LCD_DisplayString(278, LCD_LINE_5, (char *) pNUMS[iks]); 80783b6: f897 33e1 ldrb.w r3, [r7, #993] ; 0x3e1 80783ba: b2db uxtb r3, r3 80783bc: 461a mov r2, r3 80783be: 4b31 ldr r3, [pc, #196] ; (8078484 ) 80783c0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80783c4: 461a mov r2, r3 80783c6: 215a movs r1, #90 ; 0x5a 80783c8: f44f 708b mov.w r0, #278 ; 0x116 80783cc: f7db ff96 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80783d0: 4924 ldr r1, [pc, #144] ; (8078464 ) 80783d2: 4828 ldr r0, [pc, #160] ; (8078474 ) 80783d4: f7db f9ea bl 80537ac LCD_DisplayString(198, LCD_LINE_5, (char *) pNUMS[ies]); 80783d8: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 80783dc: b2db uxtb r3, r3 80783de: 461a mov r2, r3 80783e0: 4b28 ldr r3, [pc, #160] ; (8078484 ) 80783e2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80783e6: 461a mov r2, r3 80783e8: 215a movs r1, #90 ; 0x5a 80783ea: 20c6 movs r0, #198 ; 0xc6 80783ec: f7db ff86 bl 80542fc LCD_DisplayString(214, LCD_LINE_5, (char *) pNUMS[ied]); 80783f0: f897 33e4 ldrb.w r3, [r7, #996] ; 0x3e4 80783f4: b2db uxtb r3, r3 80783f6: 461a mov r2, r3 80783f8: 4b22 ldr r3, [pc, #136] ; (8078484 ) 80783fa: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80783fe: 461a mov r2, r3 8078400: 215a movs r1, #90 ; 0x5a 8078402: 20d6 movs r0, #214 ; 0xd6 8078404: f7db ff7a bl 80542fc LCD_DisplayString(230, LCD_LINE_5, (char *) pNUMS[iee]); 8078408: f897 33e3 ldrb.w r3, [r7, #995] ; 0x3e3 807840c: b2db uxtb r3, r3 807840e: 461a mov r2, r3 8078410: 4b1c ldr r3, [pc, #112] ; (8078484 ) 8078412: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8078416: 461a mov r2, r3 8078418: 215a movs r1, #90 ; 0x5a 807841a: 20e6 movs r0, #230 ; 0xe6 807841c: f7db ff6e bl 80542fc LCD_DisplayString(246, LCD_LINE_5, "."); 8078420: 4a19 ldr r2, [pc, #100] ; (8078488 ) 8078422: 215a movs r1, #90 ; 0x5a 8078424: 20f6 movs r0, #246 ; 0xf6 8078426: f7db ff69 bl 80542fc LCD_DisplayString(262, LCD_LINE_5, (char *) pNUMS[ikd]); 807842a: f897 33e2 ldrb.w r3, [r7, #994] ; 0x3e2 807842e: b2db uxtb r3, r3 8078430: 461a mov r2, r3 8078432: 4b14 ldr r3, [pc, #80] ; (8078484 ) 8078434: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8078438: 461a mov r2, r3 807843a: 215a movs r1, #90 ; 0x5a 807843c: f44f 7083 mov.w r0, #262 ; 0x106 8078440: f7db ff5c bl 80542fc LCD_DisplayString(294, LCD_LINE_5, (char *) pNUMS[ikt]); 8078444: f897 33e0 ldrb.w r3, [r7, #992] ; 0x3e0 8078448: b2db uxtb r3, r3 807844a: 461a mov r2, r3 807844c: 4b0d ldr r3, [pc, #52] ; (8078484 ) 807844e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8078452: 461a mov r2, r3 8078454: 215a movs r1, #90 ; 0x5a 8078456: f44f 7093 mov.w r0, #294 ; 0x126 807845a: f7db ff4f bl 80542fc 807845e: e0ec b.n 807863a 8078460: 20020070 .word 0x20020070 8078464: ff0a0f1f .word 0xff0a0f1f 8078468: 20023e60 .word 0x20023e60 807846c: 200205d4 .word 0x200205d4 8078470: 2002067c .word 0x2002067c 8078474: ffd8aa57 .word 0xffd8aa57 8078478: 200205bc .word 0x200205bc 807847c: 2002014c .word 0x2002014c 8078480: 2002165c .word 0x2002165c 8078484: 20020964 .word 0x20020964 8078488: 080cf7e8 .word 0x080cf7e8 } else if(menupos == Ikt) 807848c: 4b75 ldr r3, [pc, #468] ; (8078664 ) 807848e: 781b ldrb r3, [r3, #0] 8078490: b2db uxtb r3, r3 8078492: 2b11 cmp r3, #17 8078494: f040 80d1 bne.w 807863a { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8078498: 4973 ldr r1, [pc, #460] ; (8078668 ) 807849a: f04f 30ff mov.w r0, #4294967295 807849e: f7db f985 bl 80537ac LCD_DisplayString(10, LCD_LINE_5, (char *)TEXT_Kpr[pardata.LANG][pardata.IIN]); //"Êïð,ìÂ/ì/ñ^" 80784a2: 4b72 ldr r3, [pc, #456] ; (807866c ) 80784a4: 7b1b ldrb r3, [r3, #12] 80784a6: b2db uxtb r3, r3 80784a8: 4619 mov r1, r3 80784aa: 4b70 ldr r3, [pc, #448] ; (807866c ) 80784ac: 799b ldrb r3, [r3, #6] 80784ae: b2db uxtb r3, r3 80784b0: 4618 mov r0, r3 80784b2: 4a6f ldr r2, [pc, #444] ; (8078670 ) 80784b4: 460b mov r3, r1 80784b6: 005b lsls r3, r3, #1 80784b8: 440b add r3, r1 80784ba: 4403 add r3, r0 80784bc: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80784c0: 461a mov r2, r3 80784c2: 215a movs r1, #90 ; 0x5a 80784c4: 200a movs r0, #10 80784c6: f7db ff19 bl 80542fc LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_OPTIONS[pardata.LANG][1]);//"Äàòà è âðåìÿ" 80784ca: 4b68 ldr r3, [pc, #416] ; (807866c ) 80784cc: 7b1b ldrb r3, [r3, #12] 80784ce: b2db uxtb r3, r3 80784d0: 4619 mov r1, r3 80784d2: 4a68 ldr r2, [pc, #416] ; (8078674 ) 80784d4: 460b mov r3, r1 80784d6: 009b lsls r3, r3, #2 80784d8: 440b add r3, r1 80784da: 009b lsls r3, r3, #2 80784dc: 4413 add r3, r2 80784de: 3304 adds r3, #4 80784e0: 681b ldr r3, [r3, #0] 80784e2: 461a mov r2, r3 80784e4: 217a movs r1, #122 ; 0x7a 80784e6: 200a movs r0, #10 80784e8: f7db ff08 bl 80542fc LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_OPTIONS[pardata.LANG][2]);//"ßçûê" 80784ec: 4b5f ldr r3, [pc, #380] ; (807866c ) 80784ee: 7b1b ldrb r3, [r3, #12] 80784f0: b2db uxtb r3, r3 80784f2: 4619 mov r1, r3 80784f4: 4a5f ldr r2, [pc, #380] ; (8078674 ) 80784f6: 460b mov r3, r1 80784f8: 009b lsls r3, r3, #2 80784fa: 440b add r3, r1 80784fc: 009b lsls r3, r3, #2 80784fe: 4413 add r3, r2 8078500: 3308 adds r3, #8 8078502: 681b ldr r3, [r3, #0] 8078504: 461a mov r2, r3 8078506: 216a movs r1, #106 ; 0x6a 8078508: 200a movs r0, #10 807850a: f7db fef7 bl 80542fc LCD_DisplayString(10, LCD_LINE_8, (char *)TEXT_OPTIONS[pardata.LANG][3]);//"Ôîðìàòèðîâàíèå äèñêà" 807850e: 4b57 ldr r3, [pc, #348] ; (807866c ) 8078510: 7b1b ldrb r3, [r3, #12] 8078512: b2db uxtb r3, r3 8078514: 4619 mov r1, r3 8078516: 4a57 ldr r2, [pc, #348] ; (8078674 ) 8078518: 460b mov r3, r1 807851a: 009b lsls r3, r3, #2 807851c: 440b add r3, r1 807851e: 009b lsls r3, r3, #2 8078520: 4413 add r3, r2 8078522: 330c adds r3, #12 8078524: 681b ldr r3, [r3, #0] 8078526: 461a mov r2, r3 8078528: 218a movs r1, #138 ; 0x8a 807852a: 200a movs r0, #10 807852c: f7db fee6 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8078530: 494d ldr r1, [pc, #308] ; (8078668 ) 8078532: 4851 ldr r0, [pc, #324] ; (8078678 ) 8078534: f7db f93a bl 80537ac //LCD_DisplayStringC(255, LCD_LINE_4, (char *) pIIN[pardata.LANG][pardata.IIN]); LCD_DisplayStringC(255, LCD_LINE_6, (char *) pLANG[pardata.LANG]); 8078538: 4b4c ldr r3, [pc, #304] ; (807866c ) 807853a: 7b1b ldrb r3, [r3, #12] 807853c: b2db uxtb r3, r3 807853e: 461a mov r2, r3 8078540: 4b4e ldr r3, [pc, #312] ; (807867c ) 8078542: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8078546: 461a mov r2, r3 8078548: 216a movs r1, #106 ; 0x6a 807854a: 20ff movs r0, #255 ; 0xff 807854c: f7db feee bl 805432c #if (defined(USE_D101) || defined(USE_D102)) LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); #endif LCD_DisplayStringC(255, LCD_LINE_4, (char *) pIIN[pardata.LANG][pardata.IIN]); 8078550: 4b46 ldr r3, [pc, #280] ; (807866c ) 8078552: 7b1b ldrb r3, [r3, #12] 8078554: b2db uxtb r3, r3 8078556: 4619 mov r1, r3 8078558: 4b44 ldr r3, [pc, #272] ; (807866c ) 807855a: 799b ldrb r3, [r3, #6] 807855c: b2db uxtb r3, r3 807855e: 4618 mov r0, r3 8078560: 4a47 ldr r2, [pc, #284] ; (8078680 ) 8078562: 460b mov r3, r1 8078564: 005b lsls r3, r3, #1 8078566: 440b add r3, r1 8078568: 4403 add r3, r0 807856a: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807856e: 461a mov r2, r3 8078570: 214a movs r1, #74 ; 0x4a 8078572: 20ff movs r0, #255 ; 0xff 8078574: f7db feda bl 805432c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8078578: 493b ldr r1, [pc, #236] ; (8078668 ) 807857a: 483f ldr r0, [pc, #252] ; (8078678 ) 807857c: f7db f916 bl 80537ac LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8078580: 4939 ldr r1, [pc, #228] ; (8078668 ) 8078582: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8078586: f7db f911 bl 80537ac if(blk) 807858a: 4b3e ldr r3, [pc, #248] ; (8078684 ) 807858c: 681b ldr r3, [r3, #0] 807858e: 2b00 cmp r3, #0 8078590: d00c beq.n 80785ac LCD_DisplayString(294, LCD_LINE_5, (char *) pNUMS[ikt]); 8078592: f897 33e0 ldrb.w r3, [r7, #992] ; 0x3e0 8078596: b2db uxtb r3, r3 8078598: 461a mov r2, r3 807859a: 4b3b ldr r3, [pc, #236] ; (8078688 ) 807859c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80785a0: 461a mov r2, r3 80785a2: 215a movs r1, #90 ; 0x5a 80785a4: f44f 7093 mov.w r0, #294 ; 0x126 80785a8: f7db fea8 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80785ac: 492e ldr r1, [pc, #184] ; (8078668 ) 80785ae: 4832 ldr r0, [pc, #200] ; (8078678 ) 80785b0: f7db f8fc bl 80537ac LCD_DisplayString(198, LCD_LINE_5, (char *) pNUMS[ies]); 80785b4: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 80785b8: b2db uxtb r3, r3 80785ba: 461a mov r2, r3 80785bc: 4b32 ldr r3, [pc, #200] ; (8078688 ) 80785be: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80785c2: 461a mov r2, r3 80785c4: 215a movs r1, #90 ; 0x5a 80785c6: 20c6 movs r0, #198 ; 0xc6 80785c8: f7db fe98 bl 80542fc LCD_DisplayString(214, LCD_LINE_5, (char *) pNUMS[ied]); 80785cc: f897 33e4 ldrb.w r3, [r7, #996] ; 0x3e4 80785d0: b2db uxtb r3, r3 80785d2: 461a mov r2, r3 80785d4: 4b2c ldr r3, [pc, #176] ; (8078688 ) 80785d6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80785da: 461a mov r2, r3 80785dc: 215a movs r1, #90 ; 0x5a 80785de: 20d6 movs r0, #214 ; 0xd6 80785e0: f7db fe8c bl 80542fc LCD_DisplayString(230, LCD_LINE_5, (char *) pNUMS[iee]); 80785e4: f897 33e3 ldrb.w r3, [r7, #995] ; 0x3e3 80785e8: b2db uxtb r3, r3 80785ea: 461a mov r2, r3 80785ec: 4b26 ldr r3, [pc, #152] ; (8078688 ) 80785ee: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80785f2: 461a mov r2, r3 80785f4: 215a movs r1, #90 ; 0x5a 80785f6: 20e6 movs r0, #230 ; 0xe6 80785f8: f7db fe80 bl 80542fc LCD_DisplayString(246, LCD_LINE_5, "."); 80785fc: 4a23 ldr r2, [pc, #140] ; (807868c ) 80785fe: 215a movs r1, #90 ; 0x5a 8078600: 20f6 movs r0, #246 ; 0xf6 8078602: f7db fe7b bl 80542fc LCD_DisplayString(262, LCD_LINE_5, (char *) pNUMS[ikd]); 8078606: f897 33e2 ldrb.w r3, [r7, #994] ; 0x3e2 807860a: b2db uxtb r3, r3 807860c: 461a mov r2, r3 807860e: 4b1e ldr r3, [pc, #120] ; (8078688 ) 8078610: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8078614: 461a mov r2, r3 8078616: 215a movs r1, #90 ; 0x5a 8078618: f44f 7083 mov.w r0, #262 ; 0x106 807861c: f7db fe6e bl 80542fc LCD_DisplayString(278, LCD_LINE_5, (char *) pNUMS[iks]); 8078620: f897 33e1 ldrb.w r3, [r7, #993] ; 0x3e1 8078624: b2db uxtb r3, r3 8078626: 461a mov r2, r3 8078628: 4b17 ldr r3, [pc, #92] ; (8078688 ) 807862a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807862e: 461a mov r2, r3 8078630: 215a movs r1, #90 ; 0x5a 8078632: f44f 708b mov.w r0, #278 ; 0x116 8078636: f7db fe61 bl 80542fc } if(pardata.OPTIONS & BIT6) // Åñëè àâòîóñèëåíèå 807863a: 4b0c ldr r3, [pc, #48] ; (807866c ) 807863c: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8078640: f003 0340 and.w r3, r3, #64 ; 0x40 8078644: 2b00 cmp r3, #0 8078646: f01e 87b6 beq.w 80975b6 { LCD_SetColors(LCD_COLOR_DARKGRAY, LCD_COLOR_BLACK); 807864a: 4907 ldr r1, [pc, #28] ; (8078668 ) 807864c: 4810 ldr r0, [pc, #64] ; (8078690 ) 807864e: f7db f8ad bl 80537ac BSP_LCD_FillRect(257, CHECKBOX_LINE_9+2, 6, 6); 8078652: 2306 movs r3, #6 8078654: 2206 movs r2, #6 8078656: 219f movs r1, #159 ; 0x9f 8078658: f240 1001 movw r0, #257 ; 0x101 807865c: f7db fd34 bl 80540c8 } break; 8078660: f01e bfa9 b.w 80975b6 8078664: 20020070 .word 0x20020070 8078668: ff0a0f1f .word 0xff0a0f1f 807866c: 20023e60 .word 0x20023e60 8078670: 200205d4 .word 0x200205d4 8078674: 2002067c .word 0x2002067c 8078678: ffd8aa57 .word 0xffd8aa57 807867c: 200205bc .word 0x200205bc 8078680: 2002014c .word 0x2002014c 8078684: 2002165c .word 0x2002165c 8078688: 20020964 .word 0x20020964 807868c: 080cf7e8 .word 0x080cf7e8 8078690: ff404040 .word 0xff404040 case DATETIME: // LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 8078694: 4983 ldr r1, [pc, #524] ; (80788a4 ) 8078696: 4884 ldr r0, [pc, #528] ; (80788a8 ) 8078698: f7db f888 bl 80537ac BSP_LCD_DrawRect(2, 35, 314, 201); 807869c: 23c9 movs r3, #201 ; 0xc9 807869e: f44f 729d mov.w r2, #314 ; 0x13a 80786a2: 2123 movs r1, #35 ; 0x23 80786a4: 2002 movs r0, #2 80786a6: f7db fb87 bl 8053db8 Hours = RTC_TimeStruct.Hours; 80786aa: 4b80 ldr r3, [pc, #512] ; (80788ac ) 80786ac: 781b ldrb r3, [r3, #0] 80786ae: 461a mov r2, r3 80786b0: 4b7f ldr r3, [pc, #508] ; (80788b0 ) 80786b2: 601a str r2, [r3, #0] Minutes = RTC_TimeStruct.Minutes; 80786b4: 4b7d ldr r3, [pc, #500] ; (80788ac ) 80786b6: 785b ldrb r3, [r3, #1] 80786b8: 461a mov r2, r3 80786ba: 4b7e ldr r3, [pc, #504] ; (80788b4 ) 80786bc: 601a str r2, [r3, #0] i = RTC_DateStruct.Date; 80786be: 4b7e ldr r3, [pc, #504] ; (80788b8 ) 80786c0: 789b ldrb r3, [r3, #2] 80786c2: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 j = RTC_DateStruct.Month; 80786c6: 4b7c ldr r3, [pc, #496] ; (80788b8 ) 80786c8: 785b ldrb r3, [r3, #1] 80786ca: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc k = RTC_DateStruct.Year; 80786ce: 4b7a ldr r3, [pc, #488] ; (80788b8 ) 80786d0: 78db ldrb r3, [r3, #3] 80786d2: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 if(menupos == DateAll) 80786d6: 4b79 ldr r3, [pc, #484] ; (80788bc ) 80786d8: 781b ldrb r3, [r3, #0] 80786da: b2db uxtb r3, r3 80786dc: 2b01 cmp r3, #1 80786de: f040 80f7 bne.w 80788d0 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80786e2: 4970 ldr r1, [pc, #448] ; (80788a4 ) 80786e4: f04f 30ff mov.w r0, #4294967295 80786e8: f7db f860 bl 80537ac LCD_DisplayString(10, LCD_LINE_4, (char *)TEXT_DATETIME[pardata.LANG][0]);//"Äàòà(ÄÄ.ÌÌ.ÃÃ)" 80786ec: 4b74 ldr r3, [pc, #464] ; (80788c0 ) 80786ee: 7b1b ldrb r3, [r3, #12] 80786f0: b2db uxtb r3, r3 80786f2: 461a mov r2, r3 80786f4: 4b73 ldr r3, [pc, #460] ; (80788c4 ) 80786f6: f853 3032 ldr.w r3, [r3, r2, lsl #3] 80786fa: 461a mov r2, r3 80786fc: 214a movs r1, #74 ; 0x4a 80786fe: 200a movs r0, #10 8078700: f7db fdfc bl 80542fc LCD_DisplayString(10, LCD_LINE_5, (char *)TEXT_DATETIME[pardata.LANG][1]);//"Âðåìÿ(××:ÌÌ)" 8078704: 4b6e ldr r3, [pc, #440] ; (80788c0 ) 8078706: 7b1b ldrb r3, [r3, #12] 8078708: b2db uxtb r3, r3 807870a: 4a6e ldr r2, [pc, #440] ; (80788c4 ) 807870c: 00db lsls r3, r3, #3 807870e: 4413 add r3, r2 8078710: 685b ldr r3, [r3, #4] 8078712: 461a mov r2, r3 8078714: 215a movs r1, #90 ; 0x5a 8078716: 200a movs r0, #10 8078718: f7db fdf0 bl 80542fc LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807871c: 4961 ldr r1, [pc, #388] ; (80788a4 ) 807871e: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8078722: f7db f843 bl 80537ac memset(str, 0, sizeof(str)); 8078726: f507 733b add.w r3, r7, #748 ; 0x2ec 807872a: 223c movs r2, #60 ; 0x3c 807872c: 2100 movs r1, #0 807872e: 4618 mov r0, r3 8078730: f054 fc8a bl 80cd048 str[0] = (i / 10) + 48; 8078734: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8078738: 4a63 ldr r2, [pc, #396] ; (80788c8 ) 807873a: fba2 2303 umull r2, r3, r2, r3 807873e: 08db lsrs r3, r3, #3 8078740: b2db uxtb r3, r3 8078742: 3330 adds r3, #48 ; 0x30 8078744: b2da uxtb r2, r3 8078746: f507 733b add.w r3, r7, #748 ; 0x2ec 807874a: 701a strb r2, [r3, #0] str[1] = (i % 10) + 48; 807874c: f8d7 1400 ldr.w r1, [r7, #1024] ; 0x400 8078750: 4b5d ldr r3, [pc, #372] ; (80788c8 ) 8078752: fba3 2301 umull r2, r3, r3, r1 8078756: 08da lsrs r2, r3, #3 8078758: 4613 mov r3, r2 807875a: 009b lsls r3, r3, #2 807875c: 4413 add r3, r2 807875e: 005b lsls r3, r3, #1 8078760: 1aca subs r2, r1, r3 8078762: b2d3 uxtb r3, r2 8078764: 3330 adds r3, #48 ; 0x30 8078766: b2da uxtb r2, r3 8078768: f507 733b add.w r3, r7, #748 ; 0x2ec 807876c: 705a strb r2, [r3, #1] str[2] = '.'; 807876e: f507 733b add.w r3, r7, #748 ; 0x2ec 8078772: 222e movs r2, #46 ; 0x2e 8078774: 709a strb r2, [r3, #2] str[3] = (j / 10) + 48; 8078776: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 807877a: 4a53 ldr r2, [pc, #332] ; (80788c8 ) 807877c: fba2 2303 umull r2, r3, r2, r3 8078780: 08db lsrs r3, r3, #3 8078782: b2db uxtb r3, r3 8078784: 3330 adds r3, #48 ; 0x30 8078786: b2da uxtb r2, r3 8078788: f507 733b add.w r3, r7, #748 ; 0x2ec 807878c: 70da strb r2, [r3, #3] str[4] = (j % 10) + 48; 807878e: f8d7 13fc ldr.w r1, [r7, #1020] ; 0x3fc 8078792: 4b4d ldr r3, [pc, #308] ; (80788c8 ) 8078794: fba3 2301 umull r2, r3, r3, r1 8078798: 08da lsrs r2, r3, #3 807879a: 4613 mov r3, r2 807879c: 009b lsls r3, r3, #2 807879e: 4413 add r3, r2 80787a0: 005b lsls r3, r3, #1 80787a2: 1aca subs r2, r1, r3 80787a4: b2d3 uxtb r3, r2 80787a6: 3330 adds r3, #48 ; 0x30 80787a8: b2da uxtb r2, r3 80787aa: f507 733b add.w r3, r7, #748 ; 0x2ec 80787ae: 711a strb r2, [r3, #4] str[5] = '.'; 80787b0: f507 733b add.w r3, r7, #748 ; 0x2ec 80787b4: 222e movs r2, #46 ; 0x2e 80787b6: 715a strb r2, [r3, #5] str[6] = (k / 10) + 48; 80787b8: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80787bc: 4a42 ldr r2, [pc, #264] ; (80788c8 ) 80787be: fba2 2303 umull r2, r3, r2, r3 80787c2: 08db lsrs r3, r3, #3 80787c4: b2db uxtb r3, r3 80787c6: 3330 adds r3, #48 ; 0x30 80787c8: b2da uxtb r2, r3 80787ca: f507 733b add.w r3, r7, #748 ; 0x2ec 80787ce: 719a strb r2, [r3, #6] str[7] = (k % 10) + 48; 80787d0: f8d7 13f8 ldr.w r1, [r7, #1016] ; 0x3f8 80787d4: 4b3c ldr r3, [pc, #240] ; (80788c8 ) 80787d6: fba3 2301 umull r2, r3, r3, r1 80787da: 08da lsrs r2, r3, #3 80787dc: 4613 mov r3, r2 80787de: 009b lsls r3, r3, #2 80787e0: 4413 add r3, r2 80787e2: 005b lsls r3, r3, #1 80787e4: 1aca subs r2, r1, r3 80787e6: b2d3 uxtb r3, r2 80787e8: 3330 adds r3, #48 ; 0x30 80787ea: b2da uxtb r2, r3 80787ec: f507 733b add.w r3, r7, #748 ; 0x2ec 80787f0: 71da strb r2, [r3, #7] LCD_DisplayString(203, LCD_LINE_4, str); 80787f2: f507 733b add.w r3, r7, #748 ; 0x2ec 80787f6: 461a mov r2, r3 80787f8: 214a movs r1, #74 ; 0x4a 80787fa: 20cb movs r0, #203 ; 0xcb 80787fc: f7db fd7e bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8078800: 4928 ldr r1, [pc, #160] ; (80788a4 ) 8078802: 4832 ldr r0, [pc, #200] ; (80788cc ) 8078804: f7da ffd2 bl 80537ac memset(str, 0, sizeof(str)); 8078808: f507 733b add.w r3, r7, #748 ; 0x2ec 807880c: 223c movs r2, #60 ; 0x3c 807880e: 2100 movs r1, #0 8078810: 4618 mov r0, r3 8078812: f054 fc19 bl 80cd048 str[0] = (Hours / 10) + 48; 8078816: 4b26 ldr r3, [pc, #152] ; (80788b0 ) 8078818: 681b ldr r3, [r3, #0] 807881a: 4a2b ldr r2, [pc, #172] ; (80788c8 ) 807881c: fba2 2303 umull r2, r3, r2, r3 8078820: 08db lsrs r3, r3, #3 8078822: b2db uxtb r3, r3 8078824: 3330 adds r3, #48 ; 0x30 8078826: b2da uxtb r2, r3 8078828: f507 733b add.w r3, r7, #748 ; 0x2ec 807882c: 701a strb r2, [r3, #0] str[1] = (Hours % 10) + 48; 807882e: 4b20 ldr r3, [pc, #128] ; (80788b0 ) 8078830: 6819 ldr r1, [r3, #0] 8078832: 4b25 ldr r3, [pc, #148] ; (80788c8 ) 8078834: fba3 2301 umull r2, r3, r3, r1 8078838: 08da lsrs r2, r3, #3 807883a: 4613 mov r3, r2 807883c: 009b lsls r3, r3, #2 807883e: 4413 add r3, r2 8078840: 005b lsls r3, r3, #1 8078842: 1aca subs r2, r1, r3 8078844: b2d3 uxtb r3, r2 8078846: 3330 adds r3, #48 ; 0x30 8078848: b2da uxtb r2, r3 807884a: f507 733b add.w r3, r7, #748 ; 0x2ec 807884e: 705a strb r2, [r3, #1] str[2] = ':'; 8078850: f507 733b add.w r3, r7, #748 ; 0x2ec 8078854: 223a movs r2, #58 ; 0x3a 8078856: 709a strb r2, [r3, #2] str[3] = (Minutes / 10) + 48; 8078858: 4b16 ldr r3, [pc, #88] ; (80788b4 ) 807885a: 681b ldr r3, [r3, #0] 807885c: 4a1a ldr r2, [pc, #104] ; (80788c8 ) 807885e: fba2 2303 umull r2, r3, r2, r3 8078862: 08db lsrs r3, r3, #3 8078864: b2db uxtb r3, r3 8078866: 3330 adds r3, #48 ; 0x30 8078868: b2da uxtb r2, r3 807886a: f507 733b add.w r3, r7, #748 ; 0x2ec 807886e: 70da strb r2, [r3, #3] str[4] = (Minutes % 10) + 48; 8078870: 4b10 ldr r3, [pc, #64] ; (80788b4 ) 8078872: 6819 ldr r1, [r3, #0] 8078874: 4b14 ldr r3, [pc, #80] ; (80788c8 ) 8078876: fba3 2301 umull r2, r3, r3, r1 807887a: 08da lsrs r2, r3, #3 807887c: 4613 mov r3, r2 807887e: 009b lsls r3, r3, #2 8078880: 4413 add r3, r2 8078882: 005b lsls r3, r3, #1 8078884: 1aca subs r2, r1, r3 8078886: b2d3 uxtb r3, r2 8078888: 3330 adds r3, #48 ; 0x30 807888a: b2da uxtb r2, r3 807888c: f507 733b add.w r3, r7, #748 ; 0x2ec 8078890: 711a strb r2, [r3, #4] LCD_DisplayString(223, LCD_LINE_5, str); 8078892: f507 733b add.w r3, r7, #748 ; 0x2ec 8078896: 461a mov r2, r3 8078898: 215a movs r1, #90 ; 0x5a 807889a: 20df movs r0, #223 ; 0xdf 807889c: f7db fd2e bl 80542fc str[0] = (Minutes / 10) + 48; str[1] = (Minutes % 10) + 48; if(blk) LCD_DisplayString(223 + 33, LCD_LINE_5, str); } break; 80788a0: f01e be8b b.w 80975ba 80788a4: ff0a0f1f .word 0xff0a0f1f 80788a8: ffd3d3d3 .word 0xffd3d3d3 80788ac: 20025c68 .word 0x20025c68 80788b0: 2002163c .word 0x2002163c 80788b4: 20021640 .word 0x20021640 80788b8: 20025cec .word 0x20025cec 80788bc: 20020070 .word 0x20020070 80788c0: 20023e60 .word 0x20023e60 80788c4: 200206a4 .word 0x200206a4 80788c8: cccccccd .word 0xcccccccd 80788cc: ffd8aa57 .word 0xffd8aa57 if(menupos == TimeAll) 80788d0: 4b73 ldr r3, [pc, #460] ; (8078aa0 ) 80788d2: 781b ldrb r3, [r3, #0] 80788d4: b2db uxtb r3, r3 80788d6: 2b02 cmp r3, #2 80788d8: f040 80f2 bne.w 8078ac0 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80788dc: 4971 ldr r1, [pc, #452] ; (8078aa4 ) 80788de: f04f 30ff mov.w r0, #4294967295 80788e2: f7da ff63 bl 80537ac LCD_DisplayString(10, LCD_LINE_4, (char *)TEXT_DATETIME[pardata.LANG][0]);//"Äàòà(ÄÄ.ÌÌ.ÃÃ)" 80788e6: 4b70 ldr r3, [pc, #448] ; (8078aa8 ) 80788e8: 7b1b ldrb r3, [r3, #12] 80788ea: b2db uxtb r3, r3 80788ec: 461a mov r2, r3 80788ee: 4b6f ldr r3, [pc, #444] ; (8078aac ) 80788f0: f853 3032 ldr.w r3, [r3, r2, lsl #3] 80788f4: 461a mov r2, r3 80788f6: 214a movs r1, #74 ; 0x4a 80788f8: 200a movs r0, #10 80788fa: f7db fcff bl 80542fc LCD_DisplayString(10, LCD_LINE_5, (char *)TEXT_DATETIME[pardata.LANG][1]);//"Âðåìÿ(××:ÌÌ)" 80788fe: 4b6a ldr r3, [pc, #424] ; (8078aa8 ) 8078900: 7b1b ldrb r3, [r3, #12] 8078902: b2db uxtb r3, r3 8078904: 4a69 ldr r2, [pc, #420] ; (8078aac ) 8078906: 00db lsls r3, r3, #3 8078908: 4413 add r3, r2 807890a: 685b ldr r3, [r3, #4] 807890c: 461a mov r2, r3 807890e: 215a movs r1, #90 ; 0x5a 8078910: 200a movs r0, #10 8078912: f7db fcf3 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8078916: 4963 ldr r1, [pc, #396] ; (8078aa4 ) 8078918: 4865 ldr r0, [pc, #404] ; (8078ab0 ) 807891a: f7da ff47 bl 80537ac memset(str, 0, sizeof(str)); 807891e: f507 733b add.w r3, r7, #748 ; 0x2ec 8078922: 223c movs r2, #60 ; 0x3c 8078924: 2100 movs r1, #0 8078926: 4618 mov r0, r3 8078928: f054 fb8e bl 80cd048 str[0] = (i / 10) + 48; 807892c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8078930: 4a60 ldr r2, [pc, #384] ; (8078ab4 ) 8078932: fba2 2303 umull r2, r3, r2, r3 8078936: 08db lsrs r3, r3, #3 8078938: b2db uxtb r3, r3 807893a: 3330 adds r3, #48 ; 0x30 807893c: b2da uxtb r2, r3 807893e: f507 733b add.w r3, r7, #748 ; 0x2ec 8078942: 701a strb r2, [r3, #0] str[1] = (i % 10) + 48; 8078944: f8d7 1400 ldr.w r1, [r7, #1024] ; 0x400 8078948: 4b5a ldr r3, [pc, #360] ; (8078ab4 ) 807894a: fba3 2301 umull r2, r3, r3, r1 807894e: 08da lsrs r2, r3, #3 8078950: 4613 mov r3, r2 8078952: 009b lsls r3, r3, #2 8078954: 4413 add r3, r2 8078956: 005b lsls r3, r3, #1 8078958: 1aca subs r2, r1, r3 807895a: b2d3 uxtb r3, r2 807895c: 3330 adds r3, #48 ; 0x30 807895e: b2da uxtb r2, r3 8078960: f507 733b add.w r3, r7, #748 ; 0x2ec 8078964: 705a strb r2, [r3, #1] str[2] = '.'; 8078966: f507 733b add.w r3, r7, #748 ; 0x2ec 807896a: 222e movs r2, #46 ; 0x2e 807896c: 709a strb r2, [r3, #2] str[3] = (j / 10) + 48; 807896e: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 8078972: 4a50 ldr r2, [pc, #320] ; (8078ab4 ) 8078974: fba2 2303 umull r2, r3, r2, r3 8078978: 08db lsrs r3, r3, #3 807897a: b2db uxtb r3, r3 807897c: 3330 adds r3, #48 ; 0x30 807897e: b2da uxtb r2, r3 8078980: f507 733b add.w r3, r7, #748 ; 0x2ec 8078984: 70da strb r2, [r3, #3] str[4] = (j % 10) + 48; 8078986: f8d7 13fc ldr.w r1, [r7, #1020] ; 0x3fc 807898a: 4b4a ldr r3, [pc, #296] ; (8078ab4 ) 807898c: fba3 2301 umull r2, r3, r3, r1 8078990: 08da lsrs r2, r3, #3 8078992: 4613 mov r3, r2 8078994: 009b lsls r3, r3, #2 8078996: 4413 add r3, r2 8078998: 005b lsls r3, r3, #1 807899a: 1aca subs r2, r1, r3 807899c: b2d3 uxtb r3, r2 807899e: 3330 adds r3, #48 ; 0x30 80789a0: b2da uxtb r2, r3 80789a2: f507 733b add.w r3, r7, #748 ; 0x2ec 80789a6: 711a strb r2, [r3, #4] str[5] = '.'; 80789a8: f507 733b add.w r3, r7, #748 ; 0x2ec 80789ac: 222e movs r2, #46 ; 0x2e 80789ae: 715a strb r2, [r3, #5] str[6] = (k / 10) + 48; 80789b0: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80789b4: 4a3f ldr r2, [pc, #252] ; (8078ab4 ) 80789b6: fba2 2303 umull r2, r3, r2, r3 80789ba: 08db lsrs r3, r3, #3 80789bc: b2db uxtb r3, r3 80789be: 3330 adds r3, #48 ; 0x30 80789c0: b2da uxtb r2, r3 80789c2: f507 733b add.w r3, r7, #748 ; 0x2ec 80789c6: 719a strb r2, [r3, #6] str[7] = (k % 10) + 48; 80789c8: f8d7 13f8 ldr.w r1, [r7, #1016] ; 0x3f8 80789cc: 4b39 ldr r3, [pc, #228] ; (8078ab4 ) 80789ce: fba3 2301 umull r2, r3, r3, r1 80789d2: 08da lsrs r2, r3, #3 80789d4: 4613 mov r3, r2 80789d6: 009b lsls r3, r3, #2 80789d8: 4413 add r3, r2 80789da: 005b lsls r3, r3, #1 80789dc: 1aca subs r2, r1, r3 80789de: b2d3 uxtb r3, r2 80789e0: 3330 adds r3, #48 ; 0x30 80789e2: b2da uxtb r2, r3 80789e4: f507 733b add.w r3, r7, #748 ; 0x2ec 80789e8: 71da strb r2, [r3, #7] LCD_DisplayString(203, LCD_LINE_4, str); 80789ea: f507 733b add.w r3, r7, #748 ; 0x2ec 80789ee: 461a mov r2, r3 80789f0: 214a movs r1, #74 ; 0x4a 80789f2: 20cb movs r0, #203 ; 0xcb 80789f4: f7db fc82 bl 80542fc LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80789f8: 492a ldr r1, [pc, #168] ; (8078aa4 ) 80789fa: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80789fe: f7da fed5 bl 80537ac memset(str, 0, sizeof(str)); 8078a02: f507 733b add.w r3, r7, #748 ; 0x2ec 8078a06: 223c movs r2, #60 ; 0x3c 8078a08: 2100 movs r1, #0 8078a0a: 4618 mov r0, r3 8078a0c: f054 fb1c bl 80cd048 str[0] = (Hours / 10) + 48; 8078a10: 4b29 ldr r3, [pc, #164] ; (8078ab8 ) 8078a12: 681b ldr r3, [r3, #0] 8078a14: 4a27 ldr r2, [pc, #156] ; (8078ab4 ) 8078a16: fba2 2303 umull r2, r3, r2, r3 8078a1a: 08db lsrs r3, r3, #3 8078a1c: b2db uxtb r3, r3 8078a1e: 3330 adds r3, #48 ; 0x30 8078a20: b2da uxtb r2, r3 8078a22: f507 733b add.w r3, r7, #748 ; 0x2ec 8078a26: 701a strb r2, [r3, #0] str[1] = (Hours % 10) + 48; 8078a28: 4b23 ldr r3, [pc, #140] ; (8078ab8 ) 8078a2a: 6819 ldr r1, [r3, #0] 8078a2c: 4b21 ldr r3, [pc, #132] ; (8078ab4 ) 8078a2e: fba3 2301 umull r2, r3, r3, r1 8078a32: 08da lsrs r2, r3, #3 8078a34: 4613 mov r3, r2 8078a36: 009b lsls r3, r3, #2 8078a38: 4413 add r3, r2 8078a3a: 005b lsls r3, r3, #1 8078a3c: 1aca subs r2, r1, r3 8078a3e: b2d3 uxtb r3, r2 8078a40: 3330 adds r3, #48 ; 0x30 8078a42: b2da uxtb r2, r3 8078a44: f507 733b add.w r3, r7, #748 ; 0x2ec 8078a48: 705a strb r2, [r3, #1] str[2] = ':'; 8078a4a: f507 733b add.w r3, r7, #748 ; 0x2ec 8078a4e: 223a movs r2, #58 ; 0x3a 8078a50: 709a strb r2, [r3, #2] str[3] = (Minutes / 10) + 48; 8078a52: 4b1a ldr r3, [pc, #104] ; (8078abc ) 8078a54: 681b ldr r3, [r3, #0] 8078a56: 4a17 ldr r2, [pc, #92] ; (8078ab4 ) 8078a58: fba2 2303 umull r2, r3, r2, r3 8078a5c: 08db lsrs r3, r3, #3 8078a5e: b2db uxtb r3, r3 8078a60: 3330 adds r3, #48 ; 0x30 8078a62: b2da uxtb r2, r3 8078a64: f507 733b add.w r3, r7, #748 ; 0x2ec 8078a68: 70da strb r2, [r3, #3] str[4] = (Minutes % 10) + 48; 8078a6a: 4b14 ldr r3, [pc, #80] ; (8078abc ) 8078a6c: 6819 ldr r1, [r3, #0] 8078a6e: 4b11 ldr r3, [pc, #68] ; (8078ab4 ) 8078a70: fba3 2301 umull r2, r3, r3, r1 8078a74: 08da lsrs r2, r3, #3 8078a76: 4613 mov r3, r2 8078a78: 009b lsls r3, r3, #2 8078a7a: 4413 add r3, r2 8078a7c: 005b lsls r3, r3, #1 8078a7e: 1aca subs r2, r1, r3 8078a80: b2d3 uxtb r3, r2 8078a82: 3330 adds r3, #48 ; 0x30 8078a84: b2da uxtb r2, r3 8078a86: f507 733b add.w r3, r7, #748 ; 0x2ec 8078a8a: 711a strb r2, [r3, #4] LCD_DisplayString(223, LCD_LINE_5, str); 8078a8c: f507 733b add.w r3, r7, #748 ; 0x2ec 8078a90: 461a mov r2, r3 8078a92: 215a movs r1, #90 ; 0x5a 8078a94: 20df movs r0, #223 ; 0xdf 8078a96: f7db fc31 bl 80542fc break; 8078a9a: f01e bd8e b.w 80975ba 8078a9e: bf00 nop 8078aa0: 20020070 .word 0x20020070 8078aa4: ff0a0f1f .word 0xff0a0f1f 8078aa8: 20023e60 .word 0x20023e60 8078aac: 200206a4 .word 0x200206a4 8078ab0: ffd8aa57 .word 0xffd8aa57 8078ab4: cccccccd .word 0xcccccccd 8078ab8: 2002163c .word 0x2002163c 8078abc: 20021640 .word 0x20021640 if(menupos == DateD) 8078ac0: 4b7c ldr r3, [pc, #496] ; (8078cb4 ) 8078ac2: 781b ldrb r3, [r3, #0] 8078ac4: b2db uxtb r3, r3 8078ac6: 2b03 cmp r3, #3 8078ac8: f040 8106 bne.w 8078cd8 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8078acc: 497a ldr r1, [pc, #488] ; (8078cb8 ) 8078ace: f04f 30ff mov.w r0, #4294967295 8078ad2: f7da fe6b bl 80537ac LCD_DisplayString(10, LCD_LINE_4, (char *)TEXT_DATETIME[pardata.LANG][0]/*"Äàòà(ÄÄ.ÌÌ.ÃÃ)"*/); 8078ad6: 4b79 ldr r3, [pc, #484] ; (8078cbc ) 8078ad8: 7b1b ldrb r3, [r3, #12] 8078ada: b2db uxtb r3, r3 8078adc: 461a mov r2, r3 8078ade: 4b78 ldr r3, [pc, #480] ; (8078cc0 ) 8078ae0: f853 3032 ldr.w r3, [r3, r2, lsl #3] 8078ae4: 461a mov r2, r3 8078ae6: 214a movs r1, #74 ; 0x4a 8078ae8: 200a movs r0, #10 8078aea: f7db fc07 bl 80542fc LCD_DisplayString(10, LCD_LINE_5, (char *)TEXT_DATETIME[pardata.LANG][1]/*"Âðåìÿ(××:ÌÌ)"*/); 8078aee: 4b73 ldr r3, [pc, #460] ; (8078cbc ) 8078af0: 7b1b ldrb r3, [r3, #12] 8078af2: b2db uxtb r3, r3 8078af4: 4a72 ldr r2, [pc, #456] ; (8078cc0 ) 8078af6: 00db lsls r3, r3, #3 8078af8: 4413 add r3, r2 8078afa: 685b ldr r3, [r3, #4] 8078afc: 461a mov r2, r3 8078afe: 215a movs r1, #90 ; 0x5a 8078b00: 200a movs r0, #10 8078b02: f7db fbfb bl 80542fc LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8078b06: 496c ldr r1, [pc, #432] ; (8078cb8 ) 8078b08: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8078b0c: f7da fe4e bl 80537ac memset(str, 0, sizeof(str)); 8078b10: f507 733b add.w r3, r7, #748 ; 0x2ec 8078b14: 223c movs r2, #60 ; 0x3c 8078b16: 2100 movs r1, #0 8078b18: 4618 mov r0, r3 8078b1a: f054 fa95 bl 80cd048 str[0] = (i / 10) + 48; 8078b1e: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8078b22: 4a68 ldr r2, [pc, #416] ; (8078cc4 ) 8078b24: fba2 2303 umull r2, r3, r2, r3 8078b28: 08db lsrs r3, r3, #3 8078b2a: b2db uxtb r3, r3 8078b2c: 3330 adds r3, #48 ; 0x30 8078b2e: b2da uxtb r2, r3 8078b30: f507 733b add.w r3, r7, #748 ; 0x2ec 8078b34: 701a strb r2, [r3, #0] str[1] = (i % 10) + 48; 8078b36: f8d7 1400 ldr.w r1, [r7, #1024] ; 0x400 8078b3a: 4b62 ldr r3, [pc, #392] ; (8078cc4 ) 8078b3c: fba3 2301 umull r2, r3, r3, r1 8078b40: 08da lsrs r2, r3, #3 8078b42: 4613 mov r3, r2 8078b44: 009b lsls r3, r3, #2 8078b46: 4413 add r3, r2 8078b48: 005b lsls r3, r3, #1 8078b4a: 1aca subs r2, r1, r3 8078b4c: b2d3 uxtb r3, r2 8078b4e: 3330 adds r3, #48 ; 0x30 8078b50: b2da uxtb r2, r3 8078b52: f507 733b add.w r3, r7, #748 ; 0x2ec 8078b56: 705a strb r2, [r3, #1] if(blk) 8078b58: 4b5b ldr r3, [pc, #364] ; (8078cc8 ) 8078b5a: 681b ldr r3, [r3, #0] 8078b5c: 2b00 cmp r3, #0 8078b5e: d006 beq.n 8078b6e LCD_DisplayString(203, LCD_LINE_4, str); 8078b60: f507 733b add.w r3, r7, #748 ; 0x2ec 8078b64: 461a mov r2, r3 8078b66: 214a movs r1, #74 ; 0x4a 8078b68: 20cb movs r0, #203 ; 0xcb 8078b6a: f7db fbc7 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8078b6e: 4952 ldr r1, [pc, #328] ; (8078cb8 ) 8078b70: 4856 ldr r0, [pc, #344] ; (8078ccc ) 8078b72: f7da fe1b bl 80537ac memset(str, 0, sizeof(str)); 8078b76: f507 733b add.w r3, r7, #748 ; 0x2ec 8078b7a: 223c movs r2, #60 ; 0x3c 8078b7c: 2100 movs r1, #0 8078b7e: 4618 mov r0, r3 8078b80: f054 fa62 bl 80cd048 str[0] = '.'; 8078b84: f507 733b add.w r3, r7, #748 ; 0x2ec 8078b88: 222e movs r2, #46 ; 0x2e 8078b8a: 701a strb r2, [r3, #0] str[1] = (j / 10) + 48; 8078b8c: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 8078b90: 4a4c ldr r2, [pc, #304] ; (8078cc4 ) 8078b92: fba2 2303 umull r2, r3, r2, r3 8078b96: 08db lsrs r3, r3, #3 8078b98: b2db uxtb r3, r3 8078b9a: 3330 adds r3, #48 ; 0x30 8078b9c: b2da uxtb r2, r3 8078b9e: f507 733b add.w r3, r7, #748 ; 0x2ec 8078ba2: 705a strb r2, [r3, #1] str[2] = (j % 10) + 48; 8078ba4: f8d7 13fc ldr.w r1, [r7, #1020] ; 0x3fc 8078ba8: 4b46 ldr r3, [pc, #280] ; (8078cc4 ) 8078baa: fba3 2301 umull r2, r3, r3, r1 8078bae: 08da lsrs r2, r3, #3 8078bb0: 4613 mov r3, r2 8078bb2: 009b lsls r3, r3, #2 8078bb4: 4413 add r3, r2 8078bb6: 005b lsls r3, r3, #1 8078bb8: 1aca subs r2, r1, r3 8078bba: b2d3 uxtb r3, r2 8078bbc: 3330 adds r3, #48 ; 0x30 8078bbe: b2da uxtb r2, r3 8078bc0: f507 733b add.w r3, r7, #748 ; 0x2ec 8078bc4: 709a strb r2, [r3, #2] str[3] = '.'; 8078bc6: f507 733b add.w r3, r7, #748 ; 0x2ec 8078bca: 222e movs r2, #46 ; 0x2e 8078bcc: 70da strb r2, [r3, #3] str[4] = (k / 10) + 48; 8078bce: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8078bd2: 4a3c ldr r2, [pc, #240] ; (8078cc4 ) 8078bd4: fba2 2303 umull r2, r3, r2, r3 8078bd8: 08db lsrs r3, r3, #3 8078bda: b2db uxtb r3, r3 8078bdc: 3330 adds r3, #48 ; 0x30 8078bde: b2da uxtb r2, r3 8078be0: f507 733b add.w r3, r7, #748 ; 0x2ec 8078be4: 711a strb r2, [r3, #4] str[5] = (k % 10) + 48; 8078be6: f8d7 13f8 ldr.w r1, [r7, #1016] ; 0x3f8 8078bea: 4b36 ldr r3, [pc, #216] ; (8078cc4 ) 8078bec: fba3 2301 umull r2, r3, r3, r1 8078bf0: 08da lsrs r2, r3, #3 8078bf2: 4613 mov r3, r2 8078bf4: 009b lsls r3, r3, #2 8078bf6: 4413 add r3, r2 8078bf8: 005b lsls r3, r3, #1 8078bfa: 1aca subs r2, r1, r3 8078bfc: b2d3 uxtb r3, r2 8078bfe: 3330 adds r3, #48 ; 0x30 8078c00: b2da uxtb r2, r3 8078c02: f507 733b add.w r3, r7, #748 ; 0x2ec 8078c06: 715a strb r2, [r3, #5] LCD_DisplayString(203 + 22, LCD_LINE_4, str); 8078c08: f507 733b add.w r3, r7, #748 ; 0x2ec 8078c0c: 461a mov r2, r3 8078c0e: 214a movs r1, #74 ; 0x4a 8078c10: 20e1 movs r0, #225 ; 0xe1 8078c12: f7db fb73 bl 80542fc memset(str, 0, sizeof(str)); 8078c16: f507 733b add.w r3, r7, #748 ; 0x2ec 8078c1a: 223c movs r2, #60 ; 0x3c 8078c1c: 2100 movs r1, #0 8078c1e: 4618 mov r0, r3 8078c20: f054 fa12 bl 80cd048 str[0] = (Hours / 10) + 48; 8078c24: 4b2a ldr r3, [pc, #168] ; (8078cd0 ) 8078c26: 681b ldr r3, [r3, #0] 8078c28: 4a26 ldr r2, [pc, #152] ; (8078cc4 ) 8078c2a: fba2 2303 umull r2, r3, r2, r3 8078c2e: 08db lsrs r3, r3, #3 8078c30: b2db uxtb r3, r3 8078c32: 3330 adds r3, #48 ; 0x30 8078c34: b2da uxtb r2, r3 8078c36: f507 733b add.w r3, r7, #748 ; 0x2ec 8078c3a: 701a strb r2, [r3, #0] str[1] = (Hours % 10) + 48; 8078c3c: 4b24 ldr r3, [pc, #144] ; (8078cd0 ) 8078c3e: 6819 ldr r1, [r3, #0] 8078c40: 4b20 ldr r3, [pc, #128] ; (8078cc4 ) 8078c42: fba3 2301 umull r2, r3, r3, r1 8078c46: 08da lsrs r2, r3, #3 8078c48: 4613 mov r3, r2 8078c4a: 009b lsls r3, r3, #2 8078c4c: 4413 add r3, r2 8078c4e: 005b lsls r3, r3, #1 8078c50: 1aca subs r2, r1, r3 8078c52: b2d3 uxtb r3, r2 8078c54: 3330 adds r3, #48 ; 0x30 8078c56: b2da uxtb r2, r3 8078c58: f507 733b add.w r3, r7, #748 ; 0x2ec 8078c5c: 705a strb r2, [r3, #1] str[2] = ':'; 8078c5e: f507 733b add.w r3, r7, #748 ; 0x2ec 8078c62: 223a movs r2, #58 ; 0x3a 8078c64: 709a strb r2, [r3, #2] str[3] = (Minutes / 10) + 48; 8078c66: 4b1b ldr r3, [pc, #108] ; (8078cd4 ) 8078c68: 681b ldr r3, [r3, #0] 8078c6a: 4a16 ldr r2, [pc, #88] ; (8078cc4 ) 8078c6c: fba2 2303 umull r2, r3, r2, r3 8078c70: 08db lsrs r3, r3, #3 8078c72: b2db uxtb r3, r3 8078c74: 3330 adds r3, #48 ; 0x30 8078c76: b2da uxtb r2, r3 8078c78: f507 733b add.w r3, r7, #748 ; 0x2ec 8078c7c: 70da strb r2, [r3, #3] str[4] = (Minutes % 10) + 48; 8078c7e: 4b15 ldr r3, [pc, #84] ; (8078cd4 ) 8078c80: 6819 ldr r1, [r3, #0] 8078c82: 4b10 ldr r3, [pc, #64] ; (8078cc4 ) 8078c84: fba3 2301 umull r2, r3, r3, r1 8078c88: 08da lsrs r2, r3, #3 8078c8a: 4613 mov r3, r2 8078c8c: 009b lsls r3, r3, #2 8078c8e: 4413 add r3, r2 8078c90: 005b lsls r3, r3, #1 8078c92: 1aca subs r2, r1, r3 8078c94: b2d3 uxtb r3, r2 8078c96: 3330 adds r3, #48 ; 0x30 8078c98: b2da uxtb r2, r3 8078c9a: f507 733b add.w r3, r7, #748 ; 0x2ec 8078c9e: 711a strb r2, [r3, #4] LCD_DisplayString(223, LCD_LINE_5, str); 8078ca0: f507 733b add.w r3, r7, #748 ; 0x2ec 8078ca4: 461a mov r2, r3 8078ca6: 215a movs r1, #90 ; 0x5a 8078ca8: 20df movs r0, #223 ; 0xdf 8078caa: f7db fb27 bl 80542fc break; 8078cae: f01e bc84 b.w 80975ba 8078cb2: bf00 nop 8078cb4: 20020070 .word 0x20020070 8078cb8: ff0a0f1f .word 0xff0a0f1f 8078cbc: 20023e60 .word 0x20023e60 8078cc0: 200206a4 .word 0x200206a4 8078cc4: cccccccd .word 0xcccccccd 8078cc8: 2002165c .word 0x2002165c 8078ccc: ffd8aa57 .word 0xffd8aa57 8078cd0: 2002163c .word 0x2002163c 8078cd4: 20021640 .word 0x20021640 if(menupos == DateM) 8078cd8: 4b85 ldr r3, [pc, #532] ; (8078ef0 ) 8078cda: 781b ldrb r3, [r3, #0] 8078cdc: b2db uxtb r3, r3 8078cde: 2b04 cmp r3, #4 8078ce0: f040 8118 bne.w 8078f14 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8078ce4: 4983 ldr r1, [pc, #524] ; (8078ef4 ) 8078ce6: f04f 30ff mov.w r0, #4294967295 8078cea: f7da fd5f bl 80537ac LCD_DisplayString(10, LCD_LINE_4, (char *)TEXT_DATETIME[pardata.LANG][0]/*"Äàòà(ÄÄ.ÌÌ.ÃÃ)"*/); 8078cee: 4b82 ldr r3, [pc, #520] ; (8078ef8 ) 8078cf0: 7b1b ldrb r3, [r3, #12] 8078cf2: b2db uxtb r3, r3 8078cf4: 461a mov r2, r3 8078cf6: 4b81 ldr r3, [pc, #516] ; (8078efc ) 8078cf8: f853 3032 ldr.w r3, [r3, r2, lsl #3] 8078cfc: 461a mov r2, r3 8078cfe: 214a movs r1, #74 ; 0x4a 8078d00: 200a movs r0, #10 8078d02: f7db fafb bl 80542fc LCD_DisplayString(10, LCD_LINE_5, (char *)TEXT_DATETIME[pardata.LANG][1]/*"Âðåìÿ(××:ÌÌ)"*/); 8078d06: 4b7c ldr r3, [pc, #496] ; (8078ef8 ) 8078d08: 7b1b ldrb r3, [r3, #12] 8078d0a: b2db uxtb r3, r3 8078d0c: 4a7b ldr r2, [pc, #492] ; (8078efc ) 8078d0e: 00db lsls r3, r3, #3 8078d10: 4413 add r3, r2 8078d12: 685b ldr r3, [r3, #4] 8078d14: 461a mov r2, r3 8078d16: 215a movs r1, #90 ; 0x5a 8078d18: 200a movs r0, #10 8078d1a: f7db faef bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8078d1e: 4975 ldr r1, [pc, #468] ; (8078ef4 ) 8078d20: 4877 ldr r0, [pc, #476] ; (8078f00 ) 8078d22: f7da fd43 bl 80537ac memset(str, 0, sizeof(str)); 8078d26: f507 733b add.w r3, r7, #748 ; 0x2ec 8078d2a: 223c movs r2, #60 ; 0x3c 8078d2c: 2100 movs r1, #0 8078d2e: 4618 mov r0, r3 8078d30: f054 f98a bl 80cd048 str[0] = (i / 10) + 48; 8078d34: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8078d38: 4a72 ldr r2, [pc, #456] ; (8078f04 ) 8078d3a: fba2 2303 umull r2, r3, r2, r3 8078d3e: 08db lsrs r3, r3, #3 8078d40: b2db uxtb r3, r3 8078d42: 3330 adds r3, #48 ; 0x30 8078d44: b2da uxtb r2, r3 8078d46: f507 733b add.w r3, r7, #748 ; 0x2ec 8078d4a: 701a strb r2, [r3, #0] str[1] = (i % 10) + 48; 8078d4c: f8d7 1400 ldr.w r1, [r7, #1024] ; 0x400 8078d50: 4b6c ldr r3, [pc, #432] ; (8078f04 ) 8078d52: fba3 2301 umull r2, r3, r3, r1 8078d56: 08da lsrs r2, r3, #3 8078d58: 4613 mov r3, r2 8078d5a: 009b lsls r3, r3, #2 8078d5c: 4413 add r3, r2 8078d5e: 005b lsls r3, r3, #1 8078d60: 1aca subs r2, r1, r3 8078d62: b2d3 uxtb r3, r2 8078d64: 3330 adds r3, #48 ; 0x30 8078d66: b2da uxtb r2, r3 8078d68: f507 733b add.w r3, r7, #748 ; 0x2ec 8078d6c: 705a strb r2, [r3, #1] str[2] = '.'; 8078d6e: f507 733b add.w r3, r7, #748 ; 0x2ec 8078d72: 222e movs r2, #46 ; 0x2e 8078d74: 709a strb r2, [r3, #2] LCD_DisplayString(203, LCD_LINE_4, str); 8078d76: f507 733b add.w r3, r7, #748 ; 0x2ec 8078d7a: 461a mov r2, r3 8078d7c: 214a movs r1, #74 ; 0x4a 8078d7e: 20cb movs r0, #203 ; 0xcb 8078d80: f7db fabc bl 80542fc LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8078d84: 495b ldr r1, [pc, #364] ; (8078ef4 ) 8078d86: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8078d8a: f7da fd0f bl 80537ac memset(str, 0, sizeof(str)); 8078d8e: f507 733b add.w r3, r7, #748 ; 0x2ec 8078d92: 223c movs r2, #60 ; 0x3c 8078d94: 2100 movs r1, #0 8078d96: 4618 mov r0, r3 8078d98: f054 f956 bl 80cd048 str[0] = (j / 10) + 48; 8078d9c: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 8078da0: 4a58 ldr r2, [pc, #352] ; (8078f04 ) 8078da2: fba2 2303 umull r2, r3, r2, r3 8078da6: 08db lsrs r3, r3, #3 8078da8: b2db uxtb r3, r3 8078daa: 3330 adds r3, #48 ; 0x30 8078dac: b2da uxtb r2, r3 8078dae: f507 733b add.w r3, r7, #748 ; 0x2ec 8078db2: 701a strb r2, [r3, #0] str[1] = (j % 10) + 48; 8078db4: f8d7 13fc ldr.w r1, [r7, #1020] ; 0x3fc 8078db8: 4b52 ldr r3, [pc, #328] ; (8078f04 ) 8078dba: fba3 2301 umull r2, r3, r3, r1 8078dbe: 08da lsrs r2, r3, #3 8078dc0: 4613 mov r3, r2 8078dc2: 009b lsls r3, r3, #2 8078dc4: 4413 add r3, r2 8078dc6: 005b lsls r3, r3, #1 8078dc8: 1aca subs r2, r1, r3 8078dca: b2d3 uxtb r3, r2 8078dcc: 3330 adds r3, #48 ; 0x30 8078dce: b2da uxtb r2, r3 8078dd0: f507 733b add.w r3, r7, #748 ; 0x2ec 8078dd4: 705a strb r2, [r3, #1] if(blk) 8078dd6: 4b4c ldr r3, [pc, #304] ; (8078f08 ) 8078dd8: 681b ldr r3, [r3, #0] 8078dda: 2b00 cmp r3, #0 8078ddc: d006 beq.n 8078dec LCD_DisplayString(203 + 33, LCD_LINE_4, str); 8078dde: f507 733b add.w r3, r7, #748 ; 0x2ec 8078de2: 461a mov r2, r3 8078de4: 214a movs r1, #74 ; 0x4a 8078de6: 20ec movs r0, #236 ; 0xec 8078de8: f7db fa88 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8078dec: 4941 ldr r1, [pc, #260] ; (8078ef4 ) 8078dee: 4844 ldr r0, [pc, #272] ; (8078f00 ) 8078df0: f7da fcdc bl 80537ac memset(str, 0, sizeof(str)); 8078df4: f507 733b add.w r3, r7, #748 ; 0x2ec 8078df8: 223c movs r2, #60 ; 0x3c 8078dfa: 2100 movs r1, #0 8078dfc: 4618 mov r0, r3 8078dfe: f054 f923 bl 80cd048 str[0] = '.'; 8078e02: f507 733b add.w r3, r7, #748 ; 0x2ec 8078e06: 222e movs r2, #46 ; 0x2e 8078e08: 701a strb r2, [r3, #0] str[1] = (k / 10) + 48; 8078e0a: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8078e0e: 4a3d ldr r2, [pc, #244] ; (8078f04 ) 8078e10: fba2 2303 umull r2, r3, r2, r3 8078e14: 08db lsrs r3, r3, #3 8078e16: b2db uxtb r3, r3 8078e18: 3330 adds r3, #48 ; 0x30 8078e1a: b2da uxtb r2, r3 8078e1c: f507 733b add.w r3, r7, #748 ; 0x2ec 8078e20: 705a strb r2, [r3, #1] str[2] = (k % 10) + 48; 8078e22: f8d7 13f8 ldr.w r1, [r7, #1016] ; 0x3f8 8078e26: 4b37 ldr r3, [pc, #220] ; (8078f04 ) 8078e28: fba3 2301 umull r2, r3, r3, r1 8078e2c: 08da lsrs r2, r3, #3 8078e2e: 4613 mov r3, r2 8078e30: 009b lsls r3, r3, #2 8078e32: 4413 add r3, r2 8078e34: 005b lsls r3, r3, #1 8078e36: 1aca subs r2, r1, r3 8078e38: b2d3 uxtb r3, r2 8078e3a: 3330 adds r3, #48 ; 0x30 8078e3c: b2da uxtb r2, r3 8078e3e: f507 733b add.w r3, r7, #748 ; 0x2ec 8078e42: 709a strb r2, [r3, #2] LCD_DisplayString(203 + 55, LCD_LINE_4, str); 8078e44: f507 733b add.w r3, r7, #748 ; 0x2ec 8078e48: 461a mov r2, r3 8078e4a: 214a movs r1, #74 ; 0x4a 8078e4c: f44f 7081 mov.w r0, #258 ; 0x102 8078e50: f7db fa54 bl 80542fc memset(str, 0, sizeof(str)); 8078e54: f507 733b add.w r3, r7, #748 ; 0x2ec 8078e58: 223c movs r2, #60 ; 0x3c 8078e5a: 2100 movs r1, #0 8078e5c: 4618 mov r0, r3 8078e5e: f054 f8f3 bl 80cd048 str[0] = (Hours / 10) + 48; 8078e62: 4b2a ldr r3, [pc, #168] ; (8078f0c ) 8078e64: 681b ldr r3, [r3, #0] 8078e66: 4a27 ldr r2, [pc, #156] ; (8078f04 ) 8078e68: fba2 2303 umull r2, r3, r2, r3 8078e6c: 08db lsrs r3, r3, #3 8078e6e: b2db uxtb r3, r3 8078e70: 3330 adds r3, #48 ; 0x30 8078e72: b2da uxtb r2, r3 8078e74: f507 733b add.w r3, r7, #748 ; 0x2ec 8078e78: 701a strb r2, [r3, #0] str[1] = (Hours % 10) + 48; 8078e7a: 4b24 ldr r3, [pc, #144] ; (8078f0c ) 8078e7c: 6819 ldr r1, [r3, #0] 8078e7e: 4b21 ldr r3, [pc, #132] ; (8078f04 ) 8078e80: fba3 2301 umull r2, r3, r3, r1 8078e84: 08da lsrs r2, r3, #3 8078e86: 4613 mov r3, r2 8078e88: 009b lsls r3, r3, #2 8078e8a: 4413 add r3, r2 8078e8c: 005b lsls r3, r3, #1 8078e8e: 1aca subs r2, r1, r3 8078e90: b2d3 uxtb r3, r2 8078e92: 3330 adds r3, #48 ; 0x30 8078e94: b2da uxtb r2, r3 8078e96: f507 733b add.w r3, r7, #748 ; 0x2ec 8078e9a: 705a strb r2, [r3, #1] str[2] = ':'; 8078e9c: f507 733b add.w r3, r7, #748 ; 0x2ec 8078ea0: 223a movs r2, #58 ; 0x3a 8078ea2: 709a strb r2, [r3, #2] str[3] = (Minutes / 10) + 48; 8078ea4: 4b1a ldr r3, [pc, #104] ; (8078f10 ) 8078ea6: 681b ldr r3, [r3, #0] 8078ea8: 4a16 ldr r2, [pc, #88] ; (8078f04 ) 8078eaa: fba2 2303 umull r2, r3, r2, r3 8078eae: 08db lsrs r3, r3, #3 8078eb0: b2db uxtb r3, r3 8078eb2: 3330 adds r3, #48 ; 0x30 8078eb4: b2da uxtb r2, r3 8078eb6: f507 733b add.w r3, r7, #748 ; 0x2ec 8078eba: 70da strb r2, [r3, #3] str[4] = (Minutes % 10) + 48; 8078ebc: 4b14 ldr r3, [pc, #80] ; (8078f10 ) 8078ebe: 6819 ldr r1, [r3, #0] 8078ec0: 4b10 ldr r3, [pc, #64] ; (8078f04 ) 8078ec2: fba3 2301 umull r2, r3, r3, r1 8078ec6: 08da lsrs r2, r3, #3 8078ec8: 4613 mov r3, r2 8078eca: 009b lsls r3, r3, #2 8078ecc: 4413 add r3, r2 8078ece: 005b lsls r3, r3, #1 8078ed0: 1aca subs r2, r1, r3 8078ed2: b2d3 uxtb r3, r2 8078ed4: 3330 adds r3, #48 ; 0x30 8078ed6: b2da uxtb r2, r3 8078ed8: f507 733b add.w r3, r7, #748 ; 0x2ec 8078edc: 711a strb r2, [r3, #4] LCD_DisplayString(223, LCD_LINE_5, str); 8078ede: f507 733b add.w r3, r7, #748 ; 0x2ec 8078ee2: 461a mov r2, r3 8078ee4: 215a movs r1, #90 ; 0x5a 8078ee6: 20df movs r0, #223 ; 0xdf 8078ee8: f7db fa08 bl 80542fc break; 8078eec: f01e bb65 b.w 80975ba 8078ef0: 20020070 .word 0x20020070 8078ef4: ff0a0f1f .word 0xff0a0f1f 8078ef8: 20023e60 .word 0x20023e60 8078efc: 200206a4 .word 0x200206a4 8078f00: ffd8aa57 .word 0xffd8aa57 8078f04: cccccccd .word 0xcccccccd 8078f08: 2002165c .word 0x2002165c 8078f0c: 2002163c .word 0x2002163c 8078f10: 20021640 .word 0x20021640 if(menupos == DateY) 8078f14: 4b7e ldr r3, [pc, #504] ; (8079110 ) 8078f16: 781b ldrb r3, [r3, #0] 8078f18: b2db uxtb r3, r3 8078f1a: 2b05 cmp r3, #5 8078f1c: f040 810a bne.w 8079134 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8078f20: 497c ldr r1, [pc, #496] ; (8079114 ) 8078f22: f04f 30ff mov.w r0, #4294967295 8078f26: f7da fc41 bl 80537ac LCD_DisplayString(10, LCD_LINE_4, (char *)TEXT_DATETIME[pardata.LANG][0]/*"Äàòà(ÄÄ.ÌÌ.ÃÃ)"*/); 8078f2a: 4b7b ldr r3, [pc, #492] ; (8079118 ) 8078f2c: 7b1b ldrb r3, [r3, #12] 8078f2e: b2db uxtb r3, r3 8078f30: 461a mov r2, r3 8078f32: 4b7a ldr r3, [pc, #488] ; (807911c ) 8078f34: f853 3032 ldr.w r3, [r3, r2, lsl #3] 8078f38: 461a mov r2, r3 8078f3a: 214a movs r1, #74 ; 0x4a 8078f3c: 200a movs r0, #10 8078f3e: f7db f9dd bl 80542fc LCD_DisplayString(10, LCD_LINE_5, (char *)TEXT_DATETIME[pardata.LANG][1]/*"Âðåìÿ(××:ÌÌ)"*/); 8078f42: 4b75 ldr r3, [pc, #468] ; (8079118 ) 8078f44: 7b1b ldrb r3, [r3, #12] 8078f46: b2db uxtb r3, r3 8078f48: 4a74 ldr r2, [pc, #464] ; (807911c ) 8078f4a: 00db lsls r3, r3, #3 8078f4c: 4413 add r3, r2 8078f4e: 685b ldr r3, [r3, #4] 8078f50: 461a mov r2, r3 8078f52: 215a movs r1, #90 ; 0x5a 8078f54: 200a movs r0, #10 8078f56: f7db f9d1 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8078f5a: 496e ldr r1, [pc, #440] ; (8079114 ) 8078f5c: 4870 ldr r0, [pc, #448] ; (8079120 ) 8078f5e: f7da fc25 bl 80537ac memset(str, 0, sizeof(str)); 8078f62: f507 733b add.w r3, r7, #748 ; 0x2ec 8078f66: 223c movs r2, #60 ; 0x3c 8078f68: 2100 movs r1, #0 8078f6a: 4618 mov r0, r3 8078f6c: f054 f86c bl 80cd048 str[0] = (i / 10) + 48; 8078f70: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8078f74: 4a6b ldr r2, [pc, #428] ; (8079124 ) 8078f76: fba2 2303 umull r2, r3, r2, r3 8078f7a: 08db lsrs r3, r3, #3 8078f7c: b2db uxtb r3, r3 8078f7e: 3330 adds r3, #48 ; 0x30 8078f80: b2da uxtb r2, r3 8078f82: f507 733b add.w r3, r7, #748 ; 0x2ec 8078f86: 701a strb r2, [r3, #0] str[1] = (i % 10) + 48; 8078f88: f8d7 1400 ldr.w r1, [r7, #1024] ; 0x400 8078f8c: 4b65 ldr r3, [pc, #404] ; (8079124 ) 8078f8e: fba3 2301 umull r2, r3, r3, r1 8078f92: 08da lsrs r2, r3, #3 8078f94: 4613 mov r3, r2 8078f96: 009b lsls r3, r3, #2 8078f98: 4413 add r3, r2 8078f9a: 005b lsls r3, r3, #1 8078f9c: 1aca subs r2, r1, r3 8078f9e: b2d3 uxtb r3, r2 8078fa0: 3330 adds r3, #48 ; 0x30 8078fa2: b2da uxtb r2, r3 8078fa4: f507 733b add.w r3, r7, #748 ; 0x2ec 8078fa8: 705a strb r2, [r3, #1] str[2] = '.'; 8078faa: f507 733b add.w r3, r7, #748 ; 0x2ec 8078fae: 222e movs r2, #46 ; 0x2e 8078fb0: 709a strb r2, [r3, #2] str[3] = (j / 10) + 48; 8078fb2: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 8078fb6: 4a5b ldr r2, [pc, #364] ; (8079124 ) 8078fb8: fba2 2303 umull r2, r3, r2, r3 8078fbc: 08db lsrs r3, r3, #3 8078fbe: b2db uxtb r3, r3 8078fc0: 3330 adds r3, #48 ; 0x30 8078fc2: b2da uxtb r2, r3 8078fc4: f507 733b add.w r3, r7, #748 ; 0x2ec 8078fc8: 70da strb r2, [r3, #3] str[4] = (j % 10) + 48; 8078fca: f8d7 13fc ldr.w r1, [r7, #1020] ; 0x3fc 8078fce: 4b55 ldr r3, [pc, #340] ; (8079124 ) 8078fd0: fba3 2301 umull r2, r3, r3, r1 8078fd4: 08da lsrs r2, r3, #3 8078fd6: 4613 mov r3, r2 8078fd8: 009b lsls r3, r3, #2 8078fda: 4413 add r3, r2 8078fdc: 005b lsls r3, r3, #1 8078fde: 1aca subs r2, r1, r3 8078fe0: b2d3 uxtb r3, r2 8078fe2: 3330 adds r3, #48 ; 0x30 8078fe4: b2da uxtb r2, r3 8078fe6: f507 733b add.w r3, r7, #748 ; 0x2ec 8078fea: 711a strb r2, [r3, #4] str[5] = '.'; 8078fec: f507 733b add.w r3, r7, #748 ; 0x2ec 8078ff0: 222e movs r2, #46 ; 0x2e 8078ff2: 715a strb r2, [r3, #5] LCD_DisplayString(203, LCD_LINE_4, str); 8078ff4: f507 733b add.w r3, r7, #748 ; 0x2ec 8078ff8: 461a mov r2, r3 8078ffa: 214a movs r1, #74 ; 0x4a 8078ffc: 20cb movs r0, #203 ; 0xcb 8078ffe: f7db f97d bl 80542fc LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8079002: 4944 ldr r1, [pc, #272] ; (8079114 ) 8079004: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8079008: f7da fbd0 bl 80537ac memset(str, 0, sizeof(str)); 807900c: f507 733b add.w r3, r7, #748 ; 0x2ec 8079010: 223c movs r2, #60 ; 0x3c 8079012: 2100 movs r1, #0 8079014: 4618 mov r0, r3 8079016: f054 f817 bl 80cd048 str[0] = (k / 10) + 48; 807901a: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 807901e: 4a41 ldr r2, [pc, #260] ; (8079124 ) 8079020: fba2 2303 umull r2, r3, r2, r3 8079024: 08db lsrs r3, r3, #3 8079026: b2db uxtb r3, r3 8079028: 3330 adds r3, #48 ; 0x30 807902a: b2da uxtb r2, r3 807902c: f507 733b add.w r3, r7, #748 ; 0x2ec 8079030: 701a strb r2, [r3, #0] str[1] = (k % 10) + 48; 8079032: f8d7 13f8 ldr.w r1, [r7, #1016] ; 0x3f8 8079036: 4b3b ldr r3, [pc, #236] ; (8079124 ) 8079038: fba3 2301 umull r2, r3, r3, r1 807903c: 08da lsrs r2, r3, #3 807903e: 4613 mov r3, r2 8079040: 009b lsls r3, r3, #2 8079042: 4413 add r3, r2 8079044: 005b lsls r3, r3, #1 8079046: 1aca subs r2, r1, r3 8079048: b2d3 uxtb r3, r2 807904a: 3330 adds r3, #48 ; 0x30 807904c: b2da uxtb r2, r3 807904e: f507 733b add.w r3, r7, #748 ; 0x2ec 8079052: 705a strb r2, [r3, #1] if(blk) 8079054: 4b34 ldr r3, [pc, #208] ; (8079128 ) 8079056: 681b ldr r3, [r3, #0] 8079058: 2b00 cmp r3, #0 807905a: d007 beq.n 807906c LCD_DisplayString(203 + 66, LCD_LINE_4, str); 807905c: f507 733b add.w r3, r7, #748 ; 0x2ec 8079060: 461a mov r2, r3 8079062: 214a movs r1, #74 ; 0x4a 8079064: f240 100d movw r0, #269 ; 0x10d 8079068: f7db f948 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807906c: 4929 ldr r1, [pc, #164] ; (8079114 ) 807906e: 482c ldr r0, [pc, #176] ; (8079120 ) 8079070: f7da fb9c bl 80537ac memset(str, 0, sizeof(str)); 8079074: f507 733b add.w r3, r7, #748 ; 0x2ec 8079078: 223c movs r2, #60 ; 0x3c 807907a: 2100 movs r1, #0 807907c: 4618 mov r0, r3 807907e: f053 ffe3 bl 80cd048 str[0] = (Hours / 10) + 48; 8079082: 4b2a ldr r3, [pc, #168] ; (807912c ) 8079084: 681b ldr r3, [r3, #0] 8079086: 4a27 ldr r2, [pc, #156] ; (8079124 ) 8079088: fba2 2303 umull r2, r3, r2, r3 807908c: 08db lsrs r3, r3, #3 807908e: b2db uxtb r3, r3 8079090: 3330 adds r3, #48 ; 0x30 8079092: b2da uxtb r2, r3 8079094: f507 733b add.w r3, r7, #748 ; 0x2ec 8079098: 701a strb r2, [r3, #0] str[1] = (Hours % 10) + 48; 807909a: 4b24 ldr r3, [pc, #144] ; (807912c ) 807909c: 6819 ldr r1, [r3, #0] 807909e: 4b21 ldr r3, [pc, #132] ; (8079124 ) 80790a0: fba3 2301 umull r2, r3, r3, r1 80790a4: 08da lsrs r2, r3, #3 80790a6: 4613 mov r3, r2 80790a8: 009b lsls r3, r3, #2 80790aa: 4413 add r3, r2 80790ac: 005b lsls r3, r3, #1 80790ae: 1aca subs r2, r1, r3 80790b0: b2d3 uxtb r3, r2 80790b2: 3330 adds r3, #48 ; 0x30 80790b4: b2da uxtb r2, r3 80790b6: f507 733b add.w r3, r7, #748 ; 0x2ec 80790ba: 705a strb r2, [r3, #1] str[2] = ':'; 80790bc: f507 733b add.w r3, r7, #748 ; 0x2ec 80790c0: 223a movs r2, #58 ; 0x3a 80790c2: 709a strb r2, [r3, #2] str[3] = (Minutes / 10) + 48; 80790c4: 4b1a ldr r3, [pc, #104] ; (8079130 ) 80790c6: 681b ldr r3, [r3, #0] 80790c8: 4a16 ldr r2, [pc, #88] ; (8079124 ) 80790ca: fba2 2303 umull r2, r3, r2, r3 80790ce: 08db lsrs r3, r3, #3 80790d0: b2db uxtb r3, r3 80790d2: 3330 adds r3, #48 ; 0x30 80790d4: b2da uxtb r2, r3 80790d6: f507 733b add.w r3, r7, #748 ; 0x2ec 80790da: 70da strb r2, [r3, #3] str[4] = (Minutes % 10) + 48; 80790dc: 4b14 ldr r3, [pc, #80] ; (8079130 ) 80790de: 6819 ldr r1, [r3, #0] 80790e0: 4b10 ldr r3, [pc, #64] ; (8079124 ) 80790e2: fba3 2301 umull r2, r3, r3, r1 80790e6: 08da lsrs r2, r3, #3 80790e8: 4613 mov r3, r2 80790ea: 009b lsls r3, r3, #2 80790ec: 4413 add r3, r2 80790ee: 005b lsls r3, r3, #1 80790f0: 1aca subs r2, r1, r3 80790f2: b2d3 uxtb r3, r2 80790f4: 3330 adds r3, #48 ; 0x30 80790f6: b2da uxtb r2, r3 80790f8: f507 733b add.w r3, r7, #748 ; 0x2ec 80790fc: 711a strb r2, [r3, #4] LCD_DisplayString(223, LCD_LINE_5, str); 80790fe: f507 733b add.w r3, r7, #748 ; 0x2ec 8079102: 461a mov r2, r3 8079104: 215a movs r1, #90 ; 0x5a 8079106: 20df movs r0, #223 ; 0xdf 8079108: f7db f8f8 bl 80542fc break; 807910c: f01e ba55 b.w 80975ba 8079110: 20020070 .word 0x20020070 8079114: ff0a0f1f .word 0xff0a0f1f 8079118: 20023e60 .word 0x20023e60 807911c: 200206a4 .word 0x200206a4 8079120: ffd8aa57 .word 0xffd8aa57 8079124: cccccccd .word 0xcccccccd 8079128: 2002165c .word 0x2002165c 807912c: 2002163c .word 0x2002163c 8079130: 20021640 .word 0x20021640 if(menupos == TimeH) 8079134: 4b7e ldr r3, [pc, #504] ; (8079330 ) 8079136: 781b ldrb r3, [r3, #0] 8079138: b2db uxtb r3, r3 807913a: 2b06 cmp r3, #6 807913c: f040 810a bne.w 8079354 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8079140: 497c ldr r1, [pc, #496] ; (8079334 ) 8079142: f04f 30ff mov.w r0, #4294967295 8079146: f7da fb31 bl 80537ac LCD_DisplayString(10, LCD_LINE_4, (char *)TEXT_DATETIME[pardata.LANG][0]/*"Äàòà(ÄÄ.ÌÌ.ÃÃ)"*/); 807914a: 4b7b ldr r3, [pc, #492] ; (8079338 ) 807914c: 7b1b ldrb r3, [r3, #12] 807914e: b2db uxtb r3, r3 8079150: 461a mov r2, r3 8079152: 4b7a ldr r3, [pc, #488] ; (807933c ) 8079154: f853 3032 ldr.w r3, [r3, r2, lsl #3] 8079158: 461a mov r2, r3 807915a: 214a movs r1, #74 ; 0x4a 807915c: 200a movs r0, #10 807915e: f7db f8cd bl 80542fc LCD_DisplayString(10, LCD_LINE_5, (char *)TEXT_DATETIME[pardata.LANG][1]/*"Âðåìÿ(××:ÌÌ)"*/); 8079162: 4b75 ldr r3, [pc, #468] ; (8079338 ) 8079164: 7b1b ldrb r3, [r3, #12] 8079166: b2db uxtb r3, r3 8079168: 4a74 ldr r2, [pc, #464] ; (807933c ) 807916a: 00db lsls r3, r3, #3 807916c: 4413 add r3, r2 807916e: 685b ldr r3, [r3, #4] 8079170: 461a mov r2, r3 8079172: 215a movs r1, #90 ; 0x5a 8079174: 200a movs r0, #10 8079176: f7db f8c1 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807917a: 496e ldr r1, [pc, #440] ; (8079334 ) 807917c: 4870 ldr r0, [pc, #448] ; (8079340 ) 807917e: f7da fb15 bl 80537ac memset(str, 0, sizeof(str)); 8079182: f507 733b add.w r3, r7, #748 ; 0x2ec 8079186: 223c movs r2, #60 ; 0x3c 8079188: 2100 movs r1, #0 807918a: 4618 mov r0, r3 807918c: f053 ff5c bl 80cd048 str[0] = (i / 10) + 48; 8079190: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8079194: 4a6b ldr r2, [pc, #428] ; (8079344 ) 8079196: fba2 2303 umull r2, r3, r2, r3 807919a: 08db lsrs r3, r3, #3 807919c: b2db uxtb r3, r3 807919e: 3330 adds r3, #48 ; 0x30 80791a0: b2da uxtb r2, r3 80791a2: f507 733b add.w r3, r7, #748 ; 0x2ec 80791a6: 701a strb r2, [r3, #0] str[1] = (i % 10) + 48; 80791a8: f8d7 1400 ldr.w r1, [r7, #1024] ; 0x400 80791ac: 4b65 ldr r3, [pc, #404] ; (8079344 ) 80791ae: fba3 2301 umull r2, r3, r3, r1 80791b2: 08da lsrs r2, r3, #3 80791b4: 4613 mov r3, r2 80791b6: 009b lsls r3, r3, #2 80791b8: 4413 add r3, r2 80791ba: 005b lsls r3, r3, #1 80791bc: 1aca subs r2, r1, r3 80791be: b2d3 uxtb r3, r2 80791c0: 3330 adds r3, #48 ; 0x30 80791c2: b2da uxtb r2, r3 80791c4: f507 733b add.w r3, r7, #748 ; 0x2ec 80791c8: 705a strb r2, [r3, #1] str[2] = '.'; 80791ca: f507 733b add.w r3, r7, #748 ; 0x2ec 80791ce: 222e movs r2, #46 ; 0x2e 80791d0: 709a strb r2, [r3, #2] str[3] = (j / 10) + 48; 80791d2: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 80791d6: 4a5b ldr r2, [pc, #364] ; (8079344 ) 80791d8: fba2 2303 umull r2, r3, r2, r3 80791dc: 08db lsrs r3, r3, #3 80791de: b2db uxtb r3, r3 80791e0: 3330 adds r3, #48 ; 0x30 80791e2: b2da uxtb r2, r3 80791e4: f507 733b add.w r3, r7, #748 ; 0x2ec 80791e8: 70da strb r2, [r3, #3] str[4] = (j % 10) + 48; 80791ea: f8d7 13fc ldr.w r1, [r7, #1020] ; 0x3fc 80791ee: 4b55 ldr r3, [pc, #340] ; (8079344 ) 80791f0: fba3 2301 umull r2, r3, r3, r1 80791f4: 08da lsrs r2, r3, #3 80791f6: 4613 mov r3, r2 80791f8: 009b lsls r3, r3, #2 80791fa: 4413 add r3, r2 80791fc: 005b lsls r3, r3, #1 80791fe: 1aca subs r2, r1, r3 8079200: b2d3 uxtb r3, r2 8079202: 3330 adds r3, #48 ; 0x30 8079204: b2da uxtb r2, r3 8079206: f507 733b add.w r3, r7, #748 ; 0x2ec 807920a: 711a strb r2, [r3, #4] str[5] = '.'; 807920c: f507 733b add.w r3, r7, #748 ; 0x2ec 8079210: 222e movs r2, #46 ; 0x2e 8079212: 715a strb r2, [r3, #5] str[6] = (k / 10) + 48; 8079214: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8079218: 4a4a ldr r2, [pc, #296] ; (8079344 ) 807921a: fba2 2303 umull r2, r3, r2, r3 807921e: 08db lsrs r3, r3, #3 8079220: b2db uxtb r3, r3 8079222: 3330 adds r3, #48 ; 0x30 8079224: b2da uxtb r2, r3 8079226: f507 733b add.w r3, r7, #748 ; 0x2ec 807922a: 719a strb r2, [r3, #6] str[7] = (k % 10) + 48; 807922c: f8d7 13f8 ldr.w r1, [r7, #1016] ; 0x3f8 8079230: 4b44 ldr r3, [pc, #272] ; (8079344 ) 8079232: fba3 2301 umull r2, r3, r3, r1 8079236: 08da lsrs r2, r3, #3 8079238: 4613 mov r3, r2 807923a: 009b lsls r3, r3, #2 807923c: 4413 add r3, r2 807923e: 005b lsls r3, r3, #1 8079240: 1aca subs r2, r1, r3 8079242: b2d3 uxtb r3, r2 8079244: 3330 adds r3, #48 ; 0x30 8079246: b2da uxtb r2, r3 8079248: f507 733b add.w r3, r7, #748 ; 0x2ec 807924c: 71da strb r2, [r3, #7] LCD_DisplayString(203, LCD_LINE_4, str); 807924e: f507 733b add.w r3, r7, #748 ; 0x2ec 8079252: 461a mov r2, r3 8079254: 214a movs r1, #74 ; 0x4a 8079256: 20cb movs r0, #203 ; 0xcb 8079258: f7db f850 bl 80542fc LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807925c: 4935 ldr r1, [pc, #212] ; (8079334 ) 807925e: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8079262: f7da faa3 bl 80537ac memset(str, 0, sizeof(str)); 8079266: f507 733b add.w r3, r7, #748 ; 0x2ec 807926a: 223c movs r2, #60 ; 0x3c 807926c: 2100 movs r1, #0 807926e: 4618 mov r0, r3 8079270: f053 feea bl 80cd048 str[0] = (Hours / 10) + 48; 8079274: 4b34 ldr r3, [pc, #208] ; (8079348 ) 8079276: 681b ldr r3, [r3, #0] 8079278: 4a32 ldr r2, [pc, #200] ; (8079344 ) 807927a: fba2 2303 umull r2, r3, r2, r3 807927e: 08db lsrs r3, r3, #3 8079280: b2db uxtb r3, r3 8079282: 3330 adds r3, #48 ; 0x30 8079284: b2da uxtb r2, r3 8079286: f507 733b add.w r3, r7, #748 ; 0x2ec 807928a: 701a strb r2, [r3, #0] str[1] = (Hours % 10) + 48; 807928c: 4b2e ldr r3, [pc, #184] ; (8079348 ) 807928e: 6819 ldr r1, [r3, #0] 8079290: 4b2c ldr r3, [pc, #176] ; (8079344 ) 8079292: fba3 2301 umull r2, r3, r3, r1 8079296: 08da lsrs r2, r3, #3 8079298: 4613 mov r3, r2 807929a: 009b lsls r3, r3, #2 807929c: 4413 add r3, r2 807929e: 005b lsls r3, r3, #1 80792a0: 1aca subs r2, r1, r3 80792a2: b2d3 uxtb r3, r2 80792a4: 3330 adds r3, #48 ; 0x30 80792a6: b2da uxtb r2, r3 80792a8: f507 733b add.w r3, r7, #748 ; 0x2ec 80792ac: 705a strb r2, [r3, #1] if(blk) 80792ae: 4b27 ldr r3, [pc, #156] ; (807934c ) 80792b0: 681b ldr r3, [r3, #0] 80792b2: 2b00 cmp r3, #0 80792b4: d006 beq.n 80792c4 LCD_DisplayString(223, LCD_LINE_5, str); 80792b6: f507 733b add.w r3, r7, #748 ; 0x2ec 80792ba: 461a mov r2, r3 80792bc: 215a movs r1, #90 ; 0x5a 80792be: 20df movs r0, #223 ; 0xdf 80792c0: f7db f81c bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80792c4: 491b ldr r1, [pc, #108] ; (8079334 ) 80792c6: 481e ldr r0, [pc, #120] ; (8079340 ) 80792c8: f7da fa70 bl 80537ac memset(str, 0, sizeof(str)); 80792cc: f507 733b add.w r3, r7, #748 ; 0x2ec 80792d0: 223c movs r2, #60 ; 0x3c 80792d2: 2100 movs r1, #0 80792d4: 4618 mov r0, r3 80792d6: f053 feb7 bl 80cd048 str[0] = ':'; 80792da: f507 733b add.w r3, r7, #748 ; 0x2ec 80792de: 223a movs r2, #58 ; 0x3a 80792e0: 701a strb r2, [r3, #0] str[1] = (Minutes / 10) + 48; 80792e2: 4b1b ldr r3, [pc, #108] ; (8079350 ) 80792e4: 681b ldr r3, [r3, #0] 80792e6: 4a17 ldr r2, [pc, #92] ; (8079344 ) 80792e8: fba2 2303 umull r2, r3, r2, r3 80792ec: 08db lsrs r3, r3, #3 80792ee: b2db uxtb r3, r3 80792f0: 3330 adds r3, #48 ; 0x30 80792f2: b2da uxtb r2, r3 80792f4: f507 733b add.w r3, r7, #748 ; 0x2ec 80792f8: 705a strb r2, [r3, #1] str[2] = (Minutes % 10) + 48; 80792fa: 4b15 ldr r3, [pc, #84] ; (8079350 ) 80792fc: 6819 ldr r1, [r3, #0] 80792fe: 4b11 ldr r3, [pc, #68] ; (8079344 ) 8079300: fba3 2301 umull r2, r3, r3, r1 8079304: 08da lsrs r2, r3, #3 8079306: 4613 mov r3, r2 8079308: 009b lsls r3, r3, #2 807930a: 4413 add r3, r2 807930c: 005b lsls r3, r3, #1 807930e: 1aca subs r2, r1, r3 8079310: b2d3 uxtb r3, r2 8079312: 3330 adds r3, #48 ; 0x30 8079314: b2da uxtb r2, r3 8079316: f507 733b add.w r3, r7, #748 ; 0x2ec 807931a: 709a strb r2, [r3, #2] LCD_DisplayString(223 + 22, LCD_LINE_5, str); 807931c: f507 733b add.w r3, r7, #748 ; 0x2ec 8079320: 461a mov r2, r3 8079322: 215a movs r1, #90 ; 0x5a 8079324: 20f5 movs r0, #245 ; 0xf5 8079326: f7da ffe9 bl 80542fc break; 807932a: f01e b946 b.w 80975ba 807932e: bf00 nop 8079330: 20020070 .word 0x20020070 8079334: ff0a0f1f .word 0xff0a0f1f 8079338: 20023e60 .word 0x20023e60 807933c: 200206a4 .word 0x200206a4 8079340: ffd8aa57 .word 0xffd8aa57 8079344: cccccccd .word 0xcccccccd 8079348: 2002163c .word 0x2002163c 807934c: 2002165c .word 0x2002165c 8079350: 20021640 .word 0x20021640 if(menupos == TimeM) 8079354: 4b7f ldr r3, [pc, #508] ; (8079554 ) 8079356: 781b ldrb r3, [r3, #0] 8079358: b2db uxtb r3, r3 807935a: 2b07 cmp r3, #7 807935c: f05e 812d bne.w 80975ba LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8079360: 497d ldr r1, [pc, #500] ; (8079558 ) 8079362: f04f 30ff mov.w r0, #4294967295 8079366: f7da fa21 bl 80537ac LCD_DisplayString(10, LCD_LINE_4, (char *)TEXT_DATETIME[pardata.LANG][0]/*"Äàòà(ÄÄ.ÌÌ.ÃÃ)"*/); 807936a: 4b7c ldr r3, [pc, #496] ; (807955c ) 807936c: 7b1b ldrb r3, [r3, #12] 807936e: b2db uxtb r3, r3 8079370: 461a mov r2, r3 8079372: 4b7b ldr r3, [pc, #492] ; (8079560 ) 8079374: f853 3032 ldr.w r3, [r3, r2, lsl #3] 8079378: 461a mov r2, r3 807937a: 214a movs r1, #74 ; 0x4a 807937c: 200a movs r0, #10 807937e: f7da ffbd bl 80542fc LCD_DisplayString(10, LCD_LINE_5, (char *)TEXT_DATETIME[pardata.LANG][1]/*"Âðåìÿ(××:ÌÌ)"*/); 8079382: 4b76 ldr r3, [pc, #472] ; (807955c ) 8079384: 7b1b ldrb r3, [r3, #12] 8079386: b2db uxtb r3, r3 8079388: 4a75 ldr r2, [pc, #468] ; (8079560 ) 807938a: 00db lsls r3, r3, #3 807938c: 4413 add r3, r2 807938e: 685b ldr r3, [r3, #4] 8079390: 461a mov r2, r3 8079392: 215a movs r1, #90 ; 0x5a 8079394: 200a movs r0, #10 8079396: f7da ffb1 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807939a: 496f ldr r1, [pc, #444] ; (8079558 ) 807939c: 4871 ldr r0, [pc, #452] ; (8079564 ) 807939e: f7da fa05 bl 80537ac memset(str, 0, sizeof(str)); 80793a2: f507 733b add.w r3, r7, #748 ; 0x2ec 80793a6: 223c movs r2, #60 ; 0x3c 80793a8: 2100 movs r1, #0 80793aa: 4618 mov r0, r3 80793ac: f053 fe4c bl 80cd048 str[0] = (i / 10) + 48; 80793b0: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80793b4: 4a6c ldr r2, [pc, #432] ; (8079568 ) 80793b6: fba2 2303 umull r2, r3, r2, r3 80793ba: 08db lsrs r3, r3, #3 80793bc: b2db uxtb r3, r3 80793be: 3330 adds r3, #48 ; 0x30 80793c0: b2da uxtb r2, r3 80793c2: f507 733b add.w r3, r7, #748 ; 0x2ec 80793c6: 701a strb r2, [r3, #0] str[1] = (i % 10) + 48; 80793c8: f8d7 1400 ldr.w r1, [r7, #1024] ; 0x400 80793cc: 4b66 ldr r3, [pc, #408] ; (8079568 ) 80793ce: fba3 2301 umull r2, r3, r3, r1 80793d2: 08da lsrs r2, r3, #3 80793d4: 4613 mov r3, r2 80793d6: 009b lsls r3, r3, #2 80793d8: 4413 add r3, r2 80793da: 005b lsls r3, r3, #1 80793dc: 1aca subs r2, r1, r3 80793de: b2d3 uxtb r3, r2 80793e0: 3330 adds r3, #48 ; 0x30 80793e2: b2da uxtb r2, r3 80793e4: f507 733b add.w r3, r7, #748 ; 0x2ec 80793e8: 705a strb r2, [r3, #1] str[2] = '.'; 80793ea: f507 733b add.w r3, r7, #748 ; 0x2ec 80793ee: 222e movs r2, #46 ; 0x2e 80793f0: 709a strb r2, [r3, #2] str[3] = (j / 10) + 48; 80793f2: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 80793f6: 4a5c ldr r2, [pc, #368] ; (8079568 ) 80793f8: fba2 2303 umull r2, r3, r2, r3 80793fc: 08db lsrs r3, r3, #3 80793fe: b2db uxtb r3, r3 8079400: 3330 adds r3, #48 ; 0x30 8079402: b2da uxtb r2, r3 8079404: f507 733b add.w r3, r7, #748 ; 0x2ec 8079408: 70da strb r2, [r3, #3] str[4] = (j % 10) + 48; 807940a: f8d7 13fc ldr.w r1, [r7, #1020] ; 0x3fc 807940e: 4b56 ldr r3, [pc, #344] ; (8079568 ) 8079410: fba3 2301 umull r2, r3, r3, r1 8079414: 08da lsrs r2, r3, #3 8079416: 4613 mov r3, r2 8079418: 009b lsls r3, r3, #2 807941a: 4413 add r3, r2 807941c: 005b lsls r3, r3, #1 807941e: 1aca subs r2, r1, r3 8079420: b2d3 uxtb r3, r2 8079422: 3330 adds r3, #48 ; 0x30 8079424: b2da uxtb r2, r3 8079426: f507 733b add.w r3, r7, #748 ; 0x2ec 807942a: 711a strb r2, [r3, #4] str[5] = '.'; 807942c: f507 733b add.w r3, r7, #748 ; 0x2ec 8079430: 222e movs r2, #46 ; 0x2e 8079432: 715a strb r2, [r3, #5] str[6] = (k / 10) + 48; 8079434: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8079438: 4a4b ldr r2, [pc, #300] ; (8079568 ) 807943a: fba2 2303 umull r2, r3, r2, r3 807943e: 08db lsrs r3, r3, #3 8079440: b2db uxtb r3, r3 8079442: 3330 adds r3, #48 ; 0x30 8079444: b2da uxtb r2, r3 8079446: f507 733b add.w r3, r7, #748 ; 0x2ec 807944a: 719a strb r2, [r3, #6] str[7] = (k % 10) + 48; 807944c: f8d7 13f8 ldr.w r1, [r7, #1016] ; 0x3f8 8079450: 4b45 ldr r3, [pc, #276] ; (8079568 ) 8079452: fba3 2301 umull r2, r3, r3, r1 8079456: 08da lsrs r2, r3, #3 8079458: 4613 mov r3, r2 807945a: 009b lsls r3, r3, #2 807945c: 4413 add r3, r2 807945e: 005b lsls r3, r3, #1 8079460: 1aca subs r2, r1, r3 8079462: b2d3 uxtb r3, r2 8079464: 3330 adds r3, #48 ; 0x30 8079466: b2da uxtb r2, r3 8079468: f507 733b add.w r3, r7, #748 ; 0x2ec 807946c: 71da strb r2, [r3, #7] LCD_DisplayString(203, LCD_LINE_4, str); 807946e: f507 733b add.w r3, r7, #748 ; 0x2ec 8079472: 461a mov r2, r3 8079474: 214a movs r1, #74 ; 0x4a 8079476: 20cb movs r0, #203 ; 0xcb 8079478: f7da ff40 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807947c: 4936 ldr r1, [pc, #216] ; (8079558 ) 807947e: 4839 ldr r0, [pc, #228] ; (8079564 ) 8079480: f7da f994 bl 80537ac memset(str, 0, sizeof(str)); 8079484: f507 733b add.w r3, r7, #748 ; 0x2ec 8079488: 223c movs r2, #60 ; 0x3c 807948a: 2100 movs r1, #0 807948c: 4618 mov r0, r3 807948e: f053 fddb bl 80cd048 str[0] = (Hours / 10) + 48; 8079492: 4b36 ldr r3, [pc, #216] ; (807956c ) 8079494: 681b ldr r3, [r3, #0] 8079496: 4a34 ldr r2, [pc, #208] ; (8079568 ) 8079498: fba2 2303 umull r2, r3, r2, r3 807949c: 08db lsrs r3, r3, #3 807949e: b2db uxtb r3, r3 80794a0: 3330 adds r3, #48 ; 0x30 80794a2: b2da uxtb r2, r3 80794a4: f507 733b add.w r3, r7, #748 ; 0x2ec 80794a8: 701a strb r2, [r3, #0] str[1] = (Hours % 10) + 48; 80794aa: 4b30 ldr r3, [pc, #192] ; (807956c ) 80794ac: 6819 ldr r1, [r3, #0] 80794ae: 4b2e ldr r3, [pc, #184] ; (8079568 ) 80794b0: fba3 2301 umull r2, r3, r3, r1 80794b4: 08da lsrs r2, r3, #3 80794b6: 4613 mov r3, r2 80794b8: 009b lsls r3, r3, #2 80794ba: 4413 add r3, r2 80794bc: 005b lsls r3, r3, #1 80794be: 1aca subs r2, r1, r3 80794c0: b2d3 uxtb r3, r2 80794c2: 3330 adds r3, #48 ; 0x30 80794c4: b2da uxtb r2, r3 80794c6: f507 733b add.w r3, r7, #748 ; 0x2ec 80794ca: 705a strb r2, [r3, #1] str[2] = ':'; 80794cc: f507 733b add.w r3, r7, #748 ; 0x2ec 80794d0: 223a movs r2, #58 ; 0x3a 80794d2: 709a strb r2, [r3, #2] LCD_DisplayString(223, LCD_LINE_5, str); 80794d4: f507 733b add.w r3, r7, #748 ; 0x2ec 80794d8: 461a mov r2, r3 80794da: 215a movs r1, #90 ; 0x5a 80794dc: 20df movs r0, #223 ; 0xdf 80794de: f7da ff0d bl 80542fc LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80794e2: 491d ldr r1, [pc, #116] ; (8079558 ) 80794e4: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80794e8: f7da f960 bl 80537ac memset(str, 0, sizeof(str)); 80794ec: f507 733b add.w r3, r7, #748 ; 0x2ec 80794f0: 223c movs r2, #60 ; 0x3c 80794f2: 2100 movs r1, #0 80794f4: 4618 mov r0, r3 80794f6: f053 fda7 bl 80cd048 str[0] = (Minutes / 10) + 48; 80794fa: 4b1d ldr r3, [pc, #116] ; (8079570 ) 80794fc: 681b ldr r3, [r3, #0] 80794fe: 4a1a ldr r2, [pc, #104] ; (8079568 ) 8079500: fba2 2303 umull r2, r3, r2, r3 8079504: 08db lsrs r3, r3, #3 8079506: b2db uxtb r3, r3 8079508: 3330 adds r3, #48 ; 0x30 807950a: b2da uxtb r2, r3 807950c: f507 733b add.w r3, r7, #748 ; 0x2ec 8079510: 701a strb r2, [r3, #0] str[1] = (Minutes % 10) + 48; 8079512: 4b17 ldr r3, [pc, #92] ; (8079570 ) 8079514: 6819 ldr r1, [r3, #0] 8079516: 4b14 ldr r3, [pc, #80] ; (8079568 ) 8079518: fba3 2301 umull r2, r3, r3, r1 807951c: 08da lsrs r2, r3, #3 807951e: 4613 mov r3, r2 8079520: 009b lsls r3, r3, #2 8079522: 4413 add r3, r2 8079524: 005b lsls r3, r3, #1 8079526: 1aca subs r2, r1, r3 8079528: b2d3 uxtb r3, r2 807952a: 3330 adds r3, #48 ; 0x30 807952c: b2da uxtb r2, r3 807952e: f507 733b add.w r3, r7, #748 ; 0x2ec 8079532: 705a strb r2, [r3, #1] if(blk) 8079534: 4b0f ldr r3, [pc, #60] ; (8079574 ) 8079536: 681b ldr r3, [r3, #0] 8079538: 2b00 cmp r3, #0 807953a: f01e 803e beq.w 80975ba LCD_DisplayString(223 + 33, LCD_LINE_5, str); 807953e: f507 733b add.w r3, r7, #748 ; 0x2ec 8079542: 461a mov r2, r3 8079544: 215a movs r1, #90 ; 0x5a 8079546: f44f 7080 mov.w r0, #256 ; 0x100 807954a: f7da fed7 bl 80542fc break; 807954e: f01e b834 b.w 80975ba 8079552: bf00 nop 8079554: 20020070 .word 0x20020070 8079558: ff0a0f1f .word 0xff0a0f1f 807955c: 20023e60 .word 0x20023e60 8079560: 200206a4 .word 0x200206a4 8079564: ffd8aa57 .word 0xffd8aa57 8079568: cccccccd .word 0xcccccccd 807956c: 2002163c .word 0x2002163c 8079570: 20021640 .word 0x20021640 8079574: 2002165c .word 0x2002165c case PARAM_VIB: // LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 8079578: 49d5 ldr r1, [pc, #852] ; (80798d0 ) 807957a: 48d6 ldr r0, [pc, #856] ; (80798d4 ) 807957c: f7da f916 bl 80537ac BSP_LCD_DrawRect(2, 35, 314, 201); 8079580: 23c9 movs r3, #201 ; 0xc9 8079582: f44f 729d mov.w r2, #314 ; 0x13a 8079586: 2123 movs r1, #35 ; 0x23 8079588: 2002 movs r0, #2 807958a: f7da fc15 bl 8053db8 k = (uint32_t) (pardata.MAX_VAL * 10.0f); 807958e: 4bd2 ldr r3, [pc, #840] ; (80798d8 ) 8079590: edd3 7a06 vldr s15, [r3, #24] 8079594: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 8079598: ee67 7a87 vmul.f32 s15, s15, s14 807959c: eefc 7ae7 vcvt.u32.f32 s15, s15 80795a0: ee17 3a90 vmov r3, s15 80795a4: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 idt2 = (uint8_t) (k / 100000); 80795a8: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80795ac: 095b lsrs r3, r3, #5 80795ae: 4acb ldr r2, [pc, #812] ; (80798dc ) 80795b0: fba2 2303 umull r2, r3, r2, r3 80795b4: 09db lsrs r3, r3, #7 80795b6: b2db uxtb r3, r3 80795b8: f887 33d8 strb.w r3, [r7, #984] ; 0x3d8 iet2 = (uint8_t) (k % 100000 / 10000); 80795bc: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 80795c0: 0953 lsrs r3, r2, #5 80795c2: 49c6 ldr r1, [pc, #792] ; (80798dc ) 80795c4: fba1 1303 umull r1, r3, r1, r3 80795c8: 09db lsrs r3, r3, #7 80795ca: 49c5 ldr r1, [pc, #788] ; (80798e0 ) 80795cc: fb01 f303 mul.w r3, r1, r3 80795d0: 1ad3 subs r3, r2, r3 80795d2: 4ac4 ldr r2, [pc, #784] ; (80798e4 ) 80795d4: fba2 2303 umull r2, r3, r2, r3 80795d8: 0b5b lsrs r3, r3, #13 80795da: b2db uxtb r3, r3 80795dc: f887 33d7 strb.w r3, [r7, #983] ; 0x3d7 ies2 = (uint8_t) (k % 100000 % 10000 / 1000); 80795e0: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 80795e4: 0953 lsrs r3, r2, #5 80795e6: 49bd ldr r1, [pc, #756] ; (80798dc ) 80795e8: fba1 1303 umull r1, r3, r1, r3 80795ec: 09db lsrs r3, r3, #7 80795ee: 49bc ldr r1, [pc, #752] ; (80798e0 ) 80795f0: fb01 f303 mul.w r3, r1, r3 80795f4: 1ad3 subs r3, r2, r3 80795f6: 4abb ldr r2, [pc, #748] ; (80798e4 ) 80795f8: fba2 1203 umull r1, r2, r2, r3 80795fc: 0b52 lsrs r2, r2, #13 80795fe: f242 7110 movw r1, #10000 ; 0x2710 8079602: fb01 f202 mul.w r2, r1, r2 8079606: 1a9a subs r2, r3, r2 8079608: 4bb7 ldr r3, [pc, #732] ; (80798e8 ) 807960a: fba3 2302 umull r2, r3, r3, r2 807960e: 099b lsrs r3, r3, #6 8079610: b2db uxtb r3, r3 8079612: f887 33d6 strb.w r3, [r7, #982] ; 0x3d6 ied2 = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 8079616: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 807961a: 095a lsrs r2, r3, #5 807961c: 49af ldr r1, [pc, #700] ; (80798dc ) 807961e: fba1 1202 umull r1, r2, r1, r2 8079622: 09d2 lsrs r2, r2, #7 8079624: 49ae ldr r1, [pc, #696] ; (80798e0 ) 8079626: fb01 f202 mul.w r2, r1, r2 807962a: 1a9a subs r2, r3, r2 807962c: 4bad ldr r3, [pc, #692] ; (80798e4 ) 807962e: fba3 1302 umull r1, r3, r3, r2 8079632: 0b5b lsrs r3, r3, #13 8079634: f242 7110 movw r1, #10000 ; 0x2710 8079638: fb01 f303 mul.w r3, r1, r3 807963c: 1ad3 subs r3, r2, r3 807963e: 4aaa ldr r2, [pc, #680] ; (80798e8 ) 8079640: fba2 1203 umull r1, r2, r2, r3 8079644: 0992 lsrs r2, r2, #6 8079646: f44f 717a mov.w r1, #1000 ; 0x3e8 807964a: fb01 f202 mul.w r2, r1, r2 807964e: 1a9a subs r2, r3, r2 8079650: 4ba6 ldr r3, [pc, #664] ; (80798ec ) 8079652: fba3 2302 umull r2, r3, r3, r2 8079656: 095b lsrs r3, r3, #5 8079658: b2db uxtb r3, r3 807965a: f887 33d5 strb.w r3, [r7, #981] ; 0x3d5 iee2 = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 807965e: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8079662: 0953 lsrs r3, r2, #5 8079664: 499d ldr r1, [pc, #628] ; (80798dc ) 8079666: fba1 1303 umull r1, r3, r1, r3 807966a: 09db lsrs r3, r3, #7 807966c: 499c ldr r1, [pc, #624] ; (80798e0 ) 807966e: fb01 f303 mul.w r3, r1, r3 8079672: 1ad3 subs r3, r2, r3 8079674: 4a9b ldr r2, [pc, #620] ; (80798e4 ) 8079676: fba2 1203 umull r1, r2, r2, r3 807967a: 0b52 lsrs r2, r2, #13 807967c: f242 7110 movw r1, #10000 ; 0x2710 8079680: fb01 f202 mul.w r2, r1, r2 8079684: 1a9a subs r2, r3, r2 8079686: 4b98 ldr r3, [pc, #608] ; (80798e8 ) 8079688: fba3 1302 umull r1, r3, r3, r2 807968c: 099b lsrs r3, r3, #6 807968e: f44f 717a mov.w r1, #1000 ; 0x3e8 8079692: fb01 f303 mul.w r3, r1, r3 8079696: 1ad3 subs r3, r2, r3 8079698: 4a94 ldr r2, [pc, #592] ; (80798ec ) 807969a: fba2 1203 umull r1, r2, r2, r3 807969e: 0952 lsrs r2, r2, #5 80796a0: 2164 movs r1, #100 ; 0x64 80796a2: fb01 f202 mul.w r2, r1, r2 80796a6: 1a9a subs r2, r3, r2 80796a8: 4b91 ldr r3, [pc, #580] ; (80798f0 ) 80796aa: fba3 2302 umull r2, r3, r3, r2 80796ae: 08db lsrs r3, r3, #3 80796b0: b2db uxtb r3, r3 80796b2: f887 33d4 strb.w r3, [r7, #980] ; 0x3d4 ikd2 = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 80796b6: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 80796ba: 0953 lsrs r3, r2, #5 80796bc: 4987 ldr r1, [pc, #540] ; (80798dc ) 80796be: fba1 1303 umull r1, r3, r1, r3 80796c2: 09db lsrs r3, r3, #7 80796c4: 4986 ldr r1, [pc, #536] ; (80798e0 ) 80796c6: fb01 f303 mul.w r3, r1, r3 80796ca: 1ad3 subs r3, r2, r3 80796cc: 4a85 ldr r2, [pc, #532] ; (80798e4 ) 80796ce: fba2 1203 umull r1, r2, r2, r3 80796d2: 0b52 lsrs r2, r2, #13 80796d4: f242 7110 movw r1, #10000 ; 0x2710 80796d8: fb01 f202 mul.w r2, r1, r2 80796dc: 1a9a subs r2, r3, r2 80796de: 4b82 ldr r3, [pc, #520] ; (80798e8 ) 80796e0: fba3 1302 umull r1, r3, r3, r2 80796e4: 099b lsrs r3, r3, #6 80796e6: f44f 717a mov.w r1, #1000 ; 0x3e8 80796ea: fb01 f303 mul.w r3, r1, r3 80796ee: 1ad3 subs r3, r2, r3 80796f0: 4a7e ldr r2, [pc, #504] ; (80798ec ) 80796f2: fba2 1203 umull r1, r2, r2, r3 80796f6: 0952 lsrs r2, r2, #5 80796f8: 2164 movs r1, #100 ; 0x64 80796fa: fb01 f202 mul.w r2, r1, r2 80796fe: 1a9a subs r2, r3, r2 8079700: 4b7b ldr r3, [pc, #492] ; (80798f0 ) 8079702: fba3 1302 umull r1, r3, r3, r2 8079706: 08d9 lsrs r1, r3, #3 8079708: 460b mov r3, r1 807970a: 009b lsls r3, r3, #2 807970c: 440b add r3, r1 807970e: 005b lsls r3, r3, #1 8079710: 1ad1 subs r1, r2, r3 8079712: b2cb uxtb r3, r1 8079714: f887 33d3 strb.w r3, [r7, #979] ; 0x3d3 i = 0; 8079718: 2300 movs r3, #0 807971a: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 memset(str, 0, sizeof(str)); 807971e: f507 733b add.w r3, r7, #748 ; 0x2ec 8079722: 223c movs r2, #60 ; 0x3c 8079724: 2100 movs r1, #0 8079726: 4618 mov r0, r3 8079728: f053 fc8e bl 80cd048 if(idt2 != 0) 807972c: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 8079730: b2db uxtb r3, r3 8079732: 2b00 cmp r3, #0 8079734: d00c beq.n 8079750 str[i++] = idt2 + 48; 8079736: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807973a: 1c5a adds r2, r3, #1 807973c: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8079740: f897 23d8 ldrb.w r2, [r7, #984] ; 0x3d8 8079744: b2d2 uxtb r2, r2 8079746: 3230 adds r2, #48 ; 0x30 8079748: b2d1 uxtb r1, r2 807974a: f507 723b add.w r2, r7, #748 ; 0x2ec 807974e: 54d1 strb r1, [r2, r3] if((iet2 != 0) || (idt2 != 0)) 8079750: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 8079754: b2db uxtb r3, r3 8079756: 2b00 cmp r3, #0 8079758: d104 bne.n 8079764 807975a: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 807975e: b2db uxtb r3, r3 8079760: 2b00 cmp r3, #0 8079762: d00c beq.n 807977e str[i++] = iet2 + 48; 8079764: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8079768: 1c5a adds r2, r3, #1 807976a: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807976e: f897 23d7 ldrb.w r2, [r7, #983] ; 0x3d7 8079772: b2d2 uxtb r2, r2 8079774: 3230 adds r2, #48 ; 0x30 8079776: b2d1 uxtb r1, r2 8079778: f507 723b add.w r2, r7, #748 ; 0x2ec 807977c: 54d1 strb r1, [r2, r3] if((ies2 != 0) || (iet2 != 0) || (idt2 != 0)) 807977e: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 8079782: b2db uxtb r3, r3 8079784: 2b00 cmp r3, #0 8079786: d109 bne.n 807979c 8079788: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 807978c: b2db uxtb r3, r3 807978e: 2b00 cmp r3, #0 8079790: d104 bne.n 807979c 8079792: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 8079796: b2db uxtb r3, r3 8079798: 2b00 cmp r3, #0 807979a: d00c beq.n 80797b6 str[i++] = ies2 + 48; 807979c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80797a0: 1c5a adds r2, r3, #1 80797a2: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 80797a6: f897 23d6 ldrb.w r2, [r7, #982] ; 0x3d6 80797aa: b2d2 uxtb r2, r2 80797ac: 3230 adds r2, #48 ; 0x30 80797ae: b2d1 uxtb r1, r2 80797b0: f507 723b add.w r2, r7, #748 ; 0x2ec 80797b4: 54d1 strb r1, [r2, r3] if((ied2 != 0) || (ies2 != 0) || (iet2 != 0) || (idt2 != 0)) 80797b6: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 80797ba: b2db uxtb r3, r3 80797bc: 2b00 cmp r3, #0 80797be: d10e bne.n 80797de 80797c0: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 80797c4: b2db uxtb r3, r3 80797c6: 2b00 cmp r3, #0 80797c8: d109 bne.n 80797de 80797ca: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 80797ce: b2db uxtb r3, r3 80797d0: 2b00 cmp r3, #0 80797d2: d104 bne.n 80797de 80797d4: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 80797d8: b2db uxtb r3, r3 80797da: 2b00 cmp r3, #0 80797dc: d00c beq.n 80797f8 str[i++] = ied2 + 48; 80797de: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80797e2: 1c5a adds r2, r3, #1 80797e4: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 80797e8: f897 23d5 ldrb.w r2, [r7, #981] ; 0x3d5 80797ec: b2d2 uxtb r2, r2 80797ee: 3230 adds r2, #48 ; 0x30 80797f0: b2d1 uxtb r1, r2 80797f2: f507 723b add.w r2, r7, #748 ; 0x2ec 80797f6: 54d1 strb r1, [r2, r3] str[i++] = iee2 + 48; 80797f8: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80797fc: 1c5a adds r2, r3, #1 80797fe: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8079802: f897 23d4 ldrb.w r2, [r7, #980] ; 0x3d4 8079806: b2d2 uxtb r2, r2 8079808: 3230 adds r2, #48 ; 0x30 807980a: b2d1 uxtb r1, r2 807980c: f507 723b add.w r2, r7, #748 ; 0x2ec 8079810: 54d1 strb r1, [r2, r3] str[i++] = '.'; 8079812: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8079816: 1c5a adds r2, r3, #1 8079818: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807981c: f507 723b add.w r2, r7, #748 ; 0x2ec 8079820: 212e movs r1, #46 ; 0x2e 8079822: 54d1 strb r1, [r2, r3] str[i++] = ikd2 + 48; 8079824: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8079828: 1c5a adds r2, r3, #1 807982a: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807982e: f897 23d3 ldrb.w r2, [r7, #979] ; 0x3d3 8079832: b2d2 uxtb r2, r2 8079834: 3230 adds r2, #48 ; 0x30 8079836: b2d1 uxtb r1, r2 8079838: f507 723b add.w r2, r7, #748 ; 0x2ec 807983c: 54d1 strb r1, [r2, r3] k = (uint32_t) (pardata.HP * 10.0f); 807983e: 4b26 ldr r3, [pc, #152] ; (80798d8 ) 8079840: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 8079844: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 8079848: ee67 7a87 vmul.f32 s15, s15, s14 807984c: eefc 7ae7 vcvt.u32.f32 s15, s15 8079850: ee17 3a90 vmov r3, s15 8079854: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 idtHP = (uint8_t) (k / 100000); 8079858: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 807985c: 095b lsrs r3, r3, #5 807985e: 4a1f ldr r2, [pc, #124] ; (80798dc ) 8079860: fba2 2303 umull r2, r3, r2, r3 8079864: 09db lsrs r3, r3, #7 8079866: b2db uxtb r3, r3 8079868: f887 33d1 strb.w r3, [r7, #977] ; 0x3d1 ietHP = (uint8_t) (k % 100000 / 10000); 807986c: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8079870: 0953 lsrs r3, r2, #5 8079872: 491a ldr r1, [pc, #104] ; (80798dc ) 8079874: fba1 1303 umull r1, r3, r1, r3 8079878: 09db lsrs r3, r3, #7 807987a: 4919 ldr r1, [pc, #100] ; (80798e0 ) 807987c: fb01 f303 mul.w r3, r1, r3 8079880: 1ad3 subs r3, r2, r3 8079882: 4a18 ldr r2, [pc, #96] ; (80798e4 ) 8079884: fba2 2303 umull r2, r3, r2, r3 8079888: 0b5b lsrs r3, r3, #13 807988a: b2db uxtb r3, r3 807988c: f887 33d0 strb.w r3, [r7, #976] ; 0x3d0 iesHP = (uint8_t) (k % 100000 % 10000 / 1000); 8079890: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8079894: 0953 lsrs r3, r2, #5 8079896: 4911 ldr r1, [pc, #68] ; (80798dc ) 8079898: fba1 1303 umull r1, r3, r1, r3 807989c: 09db lsrs r3, r3, #7 807989e: 4910 ldr r1, [pc, #64] ; (80798e0 ) 80798a0: fb01 f303 mul.w r3, r1, r3 80798a4: 1ad3 subs r3, r2, r3 80798a6: 4a0f ldr r2, [pc, #60] ; (80798e4 ) 80798a8: fba2 1203 umull r1, r2, r2, r3 80798ac: 0b52 lsrs r2, r2, #13 80798ae: f242 7110 movw r1, #10000 ; 0x2710 80798b2: fb01 f202 mul.w r2, r1, r2 80798b6: 1a9a subs r2, r3, r2 80798b8: 4b0b ldr r3, [pc, #44] ; (80798e8 ) 80798ba: fba3 2302 umull r2, r3, r3, r2 80798be: 099b lsrs r3, r3, #6 80798c0: b2db uxtb r3, r3 80798c2: f887 33cf strb.w r3, [r7, #975] ; 0x3cf iedHP = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 80798c6: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80798ca: 095a lsrs r2, r3, #5 80798cc: e012 b.n 80798f4 80798ce: bf00 nop 80798d0: ff0a0f1f .word 0xff0a0f1f 80798d4: ffd3d3d3 .word 0xffd3d3d3 80798d8: 20023e60 .word 0x20023e60 80798dc: 0a7c5ac5 .word 0x0a7c5ac5 80798e0: 000186a0 .word 0x000186a0 80798e4: d1b71759 .word 0xd1b71759 80798e8: 10624dd3 .word 0x10624dd3 80798ec: 51eb851f .word 0x51eb851f 80798f0: cccccccd .word 0xcccccccd 80798f4: 49d6 ldr r1, [pc, #856] ; (8079c50 ) 80798f6: fba1 1202 umull r1, r2, r1, r2 80798fa: 09d2 lsrs r2, r2, #7 80798fc: 49d5 ldr r1, [pc, #852] ; (8079c54 ) 80798fe: fb01 f202 mul.w r2, r1, r2 8079902: 1a9a subs r2, r3, r2 8079904: 4bd4 ldr r3, [pc, #848] ; (8079c58 ) 8079906: fba3 1302 umull r1, r3, r3, r2 807990a: 0b5b lsrs r3, r3, #13 807990c: f242 7110 movw r1, #10000 ; 0x2710 8079910: fb01 f303 mul.w r3, r1, r3 8079914: 1ad3 subs r3, r2, r3 8079916: 4ad1 ldr r2, [pc, #836] ; (8079c5c ) 8079918: fba2 1203 umull r1, r2, r2, r3 807991c: 0992 lsrs r2, r2, #6 807991e: f44f 717a mov.w r1, #1000 ; 0x3e8 8079922: fb01 f202 mul.w r2, r1, r2 8079926: 1a9a subs r2, r3, r2 8079928: 4bcd ldr r3, [pc, #820] ; (8079c60 ) 807992a: fba3 2302 umull r2, r3, r3, r2 807992e: 095b lsrs r3, r3, #5 8079930: b2db uxtb r3, r3 8079932: f887 33ce strb.w r3, [r7, #974] ; 0x3ce ieeHP = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 8079936: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 807993a: 0953 lsrs r3, r2, #5 807993c: 49c4 ldr r1, [pc, #784] ; (8079c50 ) 807993e: fba1 1303 umull r1, r3, r1, r3 8079942: 09db lsrs r3, r3, #7 8079944: 49c3 ldr r1, [pc, #780] ; (8079c54 ) 8079946: fb01 f303 mul.w r3, r1, r3 807994a: 1ad3 subs r3, r2, r3 807994c: 4ac2 ldr r2, [pc, #776] ; (8079c58 ) 807994e: fba2 1203 umull r1, r2, r2, r3 8079952: 0b52 lsrs r2, r2, #13 8079954: f242 7110 movw r1, #10000 ; 0x2710 8079958: fb01 f202 mul.w r2, r1, r2 807995c: 1a9a subs r2, r3, r2 807995e: 4bbf ldr r3, [pc, #764] ; (8079c5c ) 8079960: fba3 1302 umull r1, r3, r3, r2 8079964: 099b lsrs r3, r3, #6 8079966: f44f 717a mov.w r1, #1000 ; 0x3e8 807996a: fb01 f303 mul.w r3, r1, r3 807996e: 1ad3 subs r3, r2, r3 8079970: 4abb ldr r2, [pc, #748] ; (8079c60 ) 8079972: fba2 1203 umull r1, r2, r2, r3 8079976: 0952 lsrs r2, r2, #5 8079978: 2164 movs r1, #100 ; 0x64 807997a: fb01 f202 mul.w r2, r1, r2 807997e: 1a9a subs r2, r3, r2 8079980: 4bb8 ldr r3, [pc, #736] ; (8079c64 ) 8079982: fba3 2302 umull r2, r3, r3, r2 8079986: 08db lsrs r3, r3, #3 8079988: b2db uxtb r3, r3 807998a: f887 33cd strb.w r3, [r7, #973] ; 0x3cd ikdHP = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 807998e: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8079992: 0953 lsrs r3, r2, #5 8079994: 49ae ldr r1, [pc, #696] ; (8079c50 ) 8079996: fba1 1303 umull r1, r3, r1, r3 807999a: 09db lsrs r3, r3, #7 807999c: 49ad ldr r1, [pc, #692] ; (8079c54 ) 807999e: fb01 f303 mul.w r3, r1, r3 80799a2: 1ad3 subs r3, r2, r3 80799a4: 4aac ldr r2, [pc, #688] ; (8079c58 ) 80799a6: fba2 1203 umull r1, r2, r2, r3 80799aa: 0b52 lsrs r2, r2, #13 80799ac: f242 7110 movw r1, #10000 ; 0x2710 80799b0: fb01 f202 mul.w r2, r1, r2 80799b4: 1a9a subs r2, r3, r2 80799b6: 4ba9 ldr r3, [pc, #676] ; (8079c5c ) 80799b8: fba3 1302 umull r1, r3, r3, r2 80799bc: 099b lsrs r3, r3, #6 80799be: f44f 717a mov.w r1, #1000 ; 0x3e8 80799c2: fb01 f303 mul.w r3, r1, r3 80799c6: 1ad3 subs r3, r2, r3 80799c8: 4aa5 ldr r2, [pc, #660] ; (8079c60 ) 80799ca: fba2 1203 umull r1, r2, r2, r3 80799ce: 0952 lsrs r2, r2, #5 80799d0: 2164 movs r1, #100 ; 0x64 80799d2: fb01 f202 mul.w r2, r1, r2 80799d6: 1a9a subs r2, r3, r2 80799d8: 4ba2 ldr r3, [pc, #648] ; (8079c64 ) 80799da: fba3 1302 umull r1, r3, r3, r2 80799de: 08d9 lsrs r1, r3, #3 80799e0: 460b mov r3, r1 80799e2: 009b lsls r3, r3, #2 80799e4: 440b add r3, r1 80799e6: 005b lsls r3, r3, #1 80799e8: 1ad1 subs r1, r2, r3 80799ea: b2cb uxtb r3, r1 80799ec: f887 33cc strb.w r3, [r7, #972] ; 0x3cc i = 0; 80799f0: 2300 movs r3, #0 80799f2: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 memset(strHP, 0, sizeof(strHP)); 80799f6: f507 73d2 add.w r3, r7, #420 ; 0x1a4 80799fa: 220c movs r2, #12 80799fc: 2100 movs r1, #0 80799fe: 4618 mov r0, r3 8079a00: f053 fb22 bl 80cd048 if(idtHP != 0) 8079a04: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 8079a08: b2db uxtb r3, r3 8079a0a: 2b00 cmp r3, #0 8079a0c: d00c beq.n 8079a28 strHP[i++] = idtHP + 48; 8079a0e: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8079a12: 1c5a adds r2, r3, #1 8079a14: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8079a18: f897 23d1 ldrb.w r2, [r7, #977] ; 0x3d1 8079a1c: b2d2 uxtb r2, r2 8079a1e: 3230 adds r2, #48 ; 0x30 8079a20: b2d1 uxtb r1, r2 8079a22: f507 72d2 add.w r2, r7, #420 ; 0x1a4 8079a26: 54d1 strb r1, [r2, r3] if((ietHP != 0) || (idtHP != 0)) 8079a28: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 8079a2c: b2db uxtb r3, r3 8079a2e: 2b00 cmp r3, #0 8079a30: d104 bne.n 8079a3c 8079a32: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 8079a36: b2db uxtb r3, r3 8079a38: 2b00 cmp r3, #0 8079a3a: d00c beq.n 8079a56 strHP[i++] = ietHP + 48; 8079a3c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8079a40: 1c5a adds r2, r3, #1 8079a42: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8079a46: f897 23d0 ldrb.w r2, [r7, #976] ; 0x3d0 8079a4a: b2d2 uxtb r2, r2 8079a4c: 3230 adds r2, #48 ; 0x30 8079a4e: b2d1 uxtb r1, r2 8079a50: f507 72d2 add.w r2, r7, #420 ; 0x1a4 8079a54: 54d1 strb r1, [r2, r3] if((iesHP != 0) || (ietHP != 0) || (idtHP != 0)) 8079a56: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 8079a5a: b2db uxtb r3, r3 8079a5c: 2b00 cmp r3, #0 8079a5e: d109 bne.n 8079a74 8079a60: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 8079a64: b2db uxtb r3, r3 8079a66: 2b00 cmp r3, #0 8079a68: d104 bne.n 8079a74 8079a6a: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 8079a6e: b2db uxtb r3, r3 8079a70: 2b00 cmp r3, #0 8079a72: d00c beq.n 8079a8e strHP[i++] = iesHP + 48; 8079a74: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8079a78: 1c5a adds r2, r3, #1 8079a7a: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8079a7e: f897 23cf ldrb.w r2, [r7, #975] ; 0x3cf 8079a82: b2d2 uxtb r2, r2 8079a84: 3230 adds r2, #48 ; 0x30 8079a86: b2d1 uxtb r1, r2 8079a88: f507 72d2 add.w r2, r7, #420 ; 0x1a4 8079a8c: 54d1 strb r1, [r2, r3] if((iedHP != 0) || (iesHP != 0) || (ietHP != 0) || (idtHP != 0)) 8079a8e: f897 33ce ldrb.w r3, [r7, #974] ; 0x3ce 8079a92: b2db uxtb r3, r3 8079a94: 2b00 cmp r3, #0 8079a96: d10e bne.n 8079ab6 8079a98: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 8079a9c: b2db uxtb r3, r3 8079a9e: 2b00 cmp r3, #0 8079aa0: d109 bne.n 8079ab6 8079aa2: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 8079aa6: b2db uxtb r3, r3 8079aa8: 2b00 cmp r3, #0 8079aaa: d104 bne.n 8079ab6 8079aac: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 8079ab0: b2db uxtb r3, r3 8079ab2: 2b00 cmp r3, #0 8079ab4: d00c beq.n 8079ad0 strHP[i++] = iedHP + 48; 8079ab6: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8079aba: 1c5a adds r2, r3, #1 8079abc: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8079ac0: f897 23ce ldrb.w r2, [r7, #974] ; 0x3ce 8079ac4: b2d2 uxtb r2, r2 8079ac6: 3230 adds r2, #48 ; 0x30 8079ac8: b2d1 uxtb r1, r2 8079aca: f507 72d2 add.w r2, r7, #420 ; 0x1a4 8079ace: 54d1 strb r1, [r2, r3] strHP[i++] = ieeHP + 48; 8079ad0: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8079ad4: 1c5a adds r2, r3, #1 8079ad6: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8079ada: f897 23cd ldrb.w r2, [r7, #973] ; 0x3cd 8079ade: b2d2 uxtb r2, r2 8079ae0: 3230 adds r2, #48 ; 0x30 8079ae2: b2d1 uxtb r1, r2 8079ae4: f507 72d2 add.w r2, r7, #420 ; 0x1a4 8079ae8: 54d1 strb r1, [r2, r3] strHP[i++] = '.'; 8079aea: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8079aee: 1c5a adds r2, r3, #1 8079af0: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8079af4: f507 72d2 add.w r2, r7, #420 ; 0x1a4 8079af8: 212e movs r1, #46 ; 0x2e 8079afa: 54d1 strb r1, [r2, r3] strHP[i++] = ikdHP + 48; 8079afc: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8079b00: 1c5a adds r2, r3, #1 8079b02: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8079b06: f897 23cc ldrb.w r2, [r7, #972] ; 0x3cc 8079b0a: b2d2 uxtb r2, r2 8079b0c: 3230 adds r2, #48 ; 0x30 8079b0e: b2d1 uxtb r1, r2 8079b10: f507 72d2 add.w r2, r7, #420 ; 0x1a4 8079b14: 54d1 strb r1, [r2, r3] k = (uint32_t) (pardata.LP * 10.0f); 8079b16: 4b54 ldr r3, [pc, #336] ; (8079c68 ) 8079b18: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 8079b1c: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 8079b20: ee67 7a87 vmul.f32 s15, s15, s14 8079b24: eefc 7ae7 vcvt.u32.f32 s15, s15 8079b28: ee17 3a90 vmov r3, s15 8079b2c: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 idtLP = (uint8_t) (k / 100000); 8079b30: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8079b34: 095b lsrs r3, r3, #5 8079b36: 4a46 ldr r2, [pc, #280] ; (8079c50 ) 8079b38: fba2 2303 umull r2, r3, r2, r3 8079b3c: 09db lsrs r3, r3, #7 8079b3e: b2db uxtb r3, r3 8079b40: f887 33ca strb.w r3, [r7, #970] ; 0x3ca ietLP = (uint8_t) (k % 100000 / 10000); 8079b44: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8079b48: 0953 lsrs r3, r2, #5 8079b4a: 4941 ldr r1, [pc, #260] ; (8079c50 ) 8079b4c: fba1 1303 umull r1, r3, r1, r3 8079b50: 09db lsrs r3, r3, #7 8079b52: 4940 ldr r1, [pc, #256] ; (8079c54 ) 8079b54: fb01 f303 mul.w r3, r1, r3 8079b58: 1ad3 subs r3, r2, r3 8079b5a: 4a3f ldr r2, [pc, #252] ; (8079c58 ) 8079b5c: fba2 2303 umull r2, r3, r2, r3 8079b60: 0b5b lsrs r3, r3, #13 8079b62: b2db uxtb r3, r3 8079b64: f887 33c9 strb.w r3, [r7, #969] ; 0x3c9 iesLP = (uint8_t) (k % 100000 % 10000 / 1000); 8079b68: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8079b6c: 0953 lsrs r3, r2, #5 8079b6e: 4938 ldr r1, [pc, #224] ; (8079c50 ) 8079b70: fba1 1303 umull r1, r3, r1, r3 8079b74: 09db lsrs r3, r3, #7 8079b76: 4937 ldr r1, [pc, #220] ; (8079c54 ) 8079b78: fb01 f303 mul.w r3, r1, r3 8079b7c: 1ad3 subs r3, r2, r3 8079b7e: 4a36 ldr r2, [pc, #216] ; (8079c58 ) 8079b80: fba2 1203 umull r1, r2, r2, r3 8079b84: 0b52 lsrs r2, r2, #13 8079b86: f242 7110 movw r1, #10000 ; 0x2710 8079b8a: fb01 f202 mul.w r2, r1, r2 8079b8e: 1a9a subs r2, r3, r2 8079b90: 4b32 ldr r3, [pc, #200] ; (8079c5c ) 8079b92: fba3 2302 umull r2, r3, r3, r2 8079b96: 099b lsrs r3, r3, #6 8079b98: b2db uxtb r3, r3 8079b9a: f887 33c8 strb.w r3, [r7, #968] ; 0x3c8 iedLP = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 8079b9e: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8079ba2: 095a lsrs r2, r3, #5 8079ba4: 492a ldr r1, [pc, #168] ; (8079c50 ) 8079ba6: fba1 1202 umull r1, r2, r1, r2 8079baa: 09d2 lsrs r2, r2, #7 8079bac: 4929 ldr r1, [pc, #164] ; (8079c54 ) 8079bae: fb01 f202 mul.w r2, r1, r2 8079bb2: 1a9a subs r2, r3, r2 8079bb4: 4b28 ldr r3, [pc, #160] ; (8079c58 ) 8079bb6: fba3 1302 umull r1, r3, r3, r2 8079bba: 0b5b lsrs r3, r3, #13 8079bbc: f242 7110 movw r1, #10000 ; 0x2710 8079bc0: fb01 f303 mul.w r3, r1, r3 8079bc4: 1ad3 subs r3, r2, r3 8079bc6: 4a25 ldr r2, [pc, #148] ; (8079c5c ) 8079bc8: fba2 1203 umull r1, r2, r2, r3 8079bcc: 0992 lsrs r2, r2, #6 8079bce: f44f 717a mov.w r1, #1000 ; 0x3e8 8079bd2: fb01 f202 mul.w r2, r1, r2 8079bd6: 1a9a subs r2, r3, r2 8079bd8: 4b21 ldr r3, [pc, #132] ; (8079c60 ) 8079bda: fba3 2302 umull r2, r3, r3, r2 8079bde: 095b lsrs r3, r3, #5 8079be0: b2db uxtb r3, r3 8079be2: f887 33c7 strb.w r3, [r7, #967] ; 0x3c7 ieeLP = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 8079be6: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8079bea: 0953 lsrs r3, r2, #5 8079bec: 4918 ldr r1, [pc, #96] ; (8079c50 ) 8079bee: fba1 1303 umull r1, r3, r1, r3 8079bf2: 09db lsrs r3, r3, #7 8079bf4: 4917 ldr r1, [pc, #92] ; (8079c54 ) 8079bf6: fb01 f303 mul.w r3, r1, r3 8079bfa: 1ad3 subs r3, r2, r3 8079bfc: 4a16 ldr r2, [pc, #88] ; (8079c58 ) 8079bfe: fba2 1203 umull r1, r2, r2, r3 8079c02: 0b52 lsrs r2, r2, #13 8079c04: f242 7110 movw r1, #10000 ; 0x2710 8079c08: fb01 f202 mul.w r2, r1, r2 8079c0c: 1a9a subs r2, r3, r2 8079c0e: 4b13 ldr r3, [pc, #76] ; (8079c5c ) 8079c10: fba3 1302 umull r1, r3, r3, r2 8079c14: 099b lsrs r3, r3, #6 8079c16: f44f 717a mov.w r1, #1000 ; 0x3e8 8079c1a: fb01 f303 mul.w r3, r1, r3 8079c1e: 1ad3 subs r3, r2, r3 8079c20: 4a0f ldr r2, [pc, #60] ; (8079c60 ) 8079c22: fba2 1203 umull r1, r2, r2, r3 8079c26: 0952 lsrs r2, r2, #5 8079c28: 2164 movs r1, #100 ; 0x64 8079c2a: fb01 f202 mul.w r2, r1, r2 8079c2e: 1a9a subs r2, r3, r2 8079c30: 4b0c ldr r3, [pc, #48] ; (8079c64 ) 8079c32: fba3 2302 umull r2, r3, r3, r2 8079c36: 08db lsrs r3, r3, #3 8079c38: b2db uxtb r3, r3 8079c3a: f887 33c6 strb.w r3, [r7, #966] ; 0x3c6 ikdLP = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 8079c3e: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8079c42: 0953 lsrs r3, r2, #5 8079c44: 4902 ldr r1, [pc, #8] ; (8079c50 ) 8079c46: fba1 1303 umull r1, r3, r1, r3 8079c4a: 09db lsrs r3, r3, #7 8079c4c: e00e b.n 8079c6c 8079c4e: bf00 nop 8079c50: 0a7c5ac5 .word 0x0a7c5ac5 8079c54: 000186a0 .word 0x000186a0 8079c58: d1b71759 .word 0xd1b71759 8079c5c: 10624dd3 .word 0x10624dd3 8079c60: 51eb851f .word 0x51eb851f 8079c64: cccccccd .word 0xcccccccd 8079c68: 20023e60 .word 0x20023e60 8079c6c: 497e ldr r1, [pc, #504] ; (8079e68 ) 8079c6e: fb01 f303 mul.w r3, r1, r3 8079c72: 1ad3 subs r3, r2, r3 8079c74: 4a7d ldr r2, [pc, #500] ; (8079e6c ) 8079c76: fba2 1203 umull r1, r2, r2, r3 8079c7a: 0b52 lsrs r2, r2, #13 8079c7c: f242 7110 movw r1, #10000 ; 0x2710 8079c80: fb01 f202 mul.w r2, r1, r2 8079c84: 1a9a subs r2, r3, r2 8079c86: 4b7a ldr r3, [pc, #488] ; (8079e70 ) 8079c88: fba3 1302 umull r1, r3, r3, r2 8079c8c: 099b lsrs r3, r3, #6 8079c8e: f44f 717a mov.w r1, #1000 ; 0x3e8 8079c92: fb01 f303 mul.w r3, r1, r3 8079c96: 1ad3 subs r3, r2, r3 8079c98: 4a76 ldr r2, [pc, #472] ; (8079e74 ) 8079c9a: fba2 1203 umull r1, r2, r2, r3 8079c9e: 0952 lsrs r2, r2, #5 8079ca0: 2164 movs r1, #100 ; 0x64 8079ca2: fb01 f202 mul.w r2, r1, r2 8079ca6: 1a9a subs r2, r3, r2 8079ca8: 4b73 ldr r3, [pc, #460] ; (8079e78 ) 8079caa: fba3 1302 umull r1, r3, r3, r2 8079cae: 08d9 lsrs r1, r3, #3 8079cb0: 460b mov r3, r1 8079cb2: 009b lsls r3, r3, #2 8079cb4: 440b add r3, r1 8079cb6: 005b lsls r3, r3, #1 8079cb8: 1ad1 subs r1, r2, r3 8079cba: b2cb uxtb r3, r1 8079cbc: f887 33c5 strb.w r3, [r7, #965] ; 0x3c5 i = 0; 8079cc0: 2300 movs r3, #0 8079cc2: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 memset(strLP, 0, sizeof(strLP)); 8079cc6: f507 73cc add.w r3, r7, #408 ; 0x198 8079cca: 220c movs r2, #12 8079ccc: 2100 movs r1, #0 8079cce: 4618 mov r0, r3 8079cd0: f053 f9ba bl 80cd048 if(idtLP != 0) 8079cd4: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 8079cd8: b2db uxtb r3, r3 8079cda: 2b00 cmp r3, #0 8079cdc: d00c beq.n 8079cf8 strLP[i++] = idtLP + 48; 8079cde: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8079ce2: 1c5a adds r2, r3, #1 8079ce4: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8079ce8: f897 23ca ldrb.w r2, [r7, #970] ; 0x3ca 8079cec: b2d2 uxtb r2, r2 8079cee: 3230 adds r2, #48 ; 0x30 8079cf0: b2d1 uxtb r1, r2 8079cf2: f507 72cc add.w r2, r7, #408 ; 0x198 8079cf6: 54d1 strb r1, [r2, r3] if((ietLP != 0) || (idtLP != 0)) 8079cf8: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 8079cfc: b2db uxtb r3, r3 8079cfe: 2b00 cmp r3, #0 8079d00: d104 bne.n 8079d0c 8079d02: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 8079d06: b2db uxtb r3, r3 8079d08: 2b00 cmp r3, #0 8079d0a: d00c beq.n 8079d26 strLP[i++] = ietLP + 48; 8079d0c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8079d10: 1c5a adds r2, r3, #1 8079d12: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8079d16: f897 23c9 ldrb.w r2, [r7, #969] ; 0x3c9 8079d1a: b2d2 uxtb r2, r2 8079d1c: 3230 adds r2, #48 ; 0x30 8079d1e: b2d1 uxtb r1, r2 8079d20: f507 72cc add.w r2, r7, #408 ; 0x198 8079d24: 54d1 strb r1, [r2, r3] if((iesLP != 0) || (ietLP != 0) || (idtLP != 0)) 8079d26: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 8079d2a: b2db uxtb r3, r3 8079d2c: 2b00 cmp r3, #0 8079d2e: d109 bne.n 8079d44 8079d30: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 8079d34: b2db uxtb r3, r3 8079d36: 2b00 cmp r3, #0 8079d38: d104 bne.n 8079d44 8079d3a: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 8079d3e: b2db uxtb r3, r3 8079d40: 2b00 cmp r3, #0 8079d42: d00c beq.n 8079d5e strLP[i++] = iesLP + 48; 8079d44: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8079d48: 1c5a adds r2, r3, #1 8079d4a: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8079d4e: f897 23c8 ldrb.w r2, [r7, #968] ; 0x3c8 8079d52: b2d2 uxtb r2, r2 8079d54: 3230 adds r2, #48 ; 0x30 8079d56: b2d1 uxtb r1, r2 8079d58: f507 72cc add.w r2, r7, #408 ; 0x198 8079d5c: 54d1 strb r1, [r2, r3] if((iedLP != 0) || (iesLP != 0) || (ietLP != 0) || (idtLP != 0)) 8079d5e: f897 33c7 ldrb.w r3, [r7, #967] ; 0x3c7 8079d62: b2db uxtb r3, r3 8079d64: 2b00 cmp r3, #0 8079d66: d10e bne.n 8079d86 8079d68: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 8079d6c: b2db uxtb r3, r3 8079d6e: 2b00 cmp r3, #0 8079d70: d109 bne.n 8079d86 8079d72: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 8079d76: b2db uxtb r3, r3 8079d78: 2b00 cmp r3, #0 8079d7a: d104 bne.n 8079d86 8079d7c: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 8079d80: b2db uxtb r3, r3 8079d82: 2b00 cmp r3, #0 8079d84: d00c beq.n 8079da0 strLP[i++] = iedLP + 48; 8079d86: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8079d8a: 1c5a adds r2, r3, #1 8079d8c: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8079d90: f897 23c7 ldrb.w r2, [r7, #967] ; 0x3c7 8079d94: b2d2 uxtb r2, r2 8079d96: 3230 adds r2, #48 ; 0x30 8079d98: b2d1 uxtb r1, r2 8079d9a: f507 72cc add.w r2, r7, #408 ; 0x198 8079d9e: 54d1 strb r1, [r2, r3] strLP[i++] = ieeLP + 48; 8079da0: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8079da4: 1c5a adds r2, r3, #1 8079da6: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8079daa: f897 23c6 ldrb.w r2, [r7, #966] ; 0x3c6 8079dae: b2d2 uxtb r2, r2 8079db0: 3230 adds r2, #48 ; 0x30 8079db2: b2d1 uxtb r1, r2 8079db4: f507 72cc add.w r2, r7, #408 ; 0x198 8079db8: 54d1 strb r1, [r2, r3] strLP[i++] = '.'; 8079dba: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8079dbe: 1c5a adds r2, r3, #1 8079dc0: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8079dc4: f507 72cc add.w r2, r7, #408 ; 0x198 8079dc8: 212e movs r1, #46 ; 0x2e 8079dca: 54d1 strb r1, [r2, r3] strLP[i++] = ikdLP + 48; 8079dcc: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8079dd0: 1c5a adds r2, r3, #1 8079dd2: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8079dd6: f897 23c5 ldrb.w r2, [r7, #965] ; 0x3c5 8079dda: b2d2 uxtb r2, r2 8079ddc: 3230 adds r2, #48 ; 0x30 8079dde: b2d1 uxtb r1, r2 8079de0: f507 72cc add.w r2, r7, #408 ; 0x198 8079de4: 54d1 strb r1, [r2, r3] //**************************************************************** l = strlen(MeasFileName); 8079de6: 4825 ldr r0, [pc, #148] ; (8079e7c ) 8079de8: f7a6 fa94 bl 8020314 8079dec: 4603 mov r3, r0 8079dee: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 if(l < 10) 8079df2: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 8079df6: 2b09 cmp r3, #9 8079df8: d806 bhi.n 8079e08 { strcpy(str1, MeasFileName); 8079dfa: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8079dfe: 491f ldr r1, [pc, #124] ; (8079e7c ) 8079e00: 4618 mov r0, r3 8079e02: f053 fa3e bl 80cd282 8079e06: e070 b.n 8079eea } else { memset(str1, 0x20, sizeof(str1)); 8079e08: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8079e0c: f44f 7280 mov.w r2, #256 ; 0x100 8079e10: 2120 movs r1, #32 8079e12: 4618 mov r0, r3 8079e14: f053 f918 bl 80cd048 if(tme <= l) 8079e18: 4b19 ldr r3, [pc, #100] ; (8079e80 ) 8079e1a: 681a ldr r2, [r3, #0] 8079e1c: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 8079e20: 429a cmp r2, r3 8079e22: d82f bhi.n 8079e84 { if(l - tme >= 9) 8079e24: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 8079e28: 4b15 ldr r3, [pc, #84] ; (8079e80 ) 8079e2a: 681b ldr r3, [r3, #0] 8079e2c: 1ad3 subs r3, r2, r3 8079e2e: 2b08 cmp r3, #8 8079e30: d90a bls.n 8079e48 memcpy(str1, &MeasFileName[tme], 9); 8079e32: 4b13 ldr r3, [pc, #76] ; (8079e80 ) 8079e34: 681b ldr r3, [r3, #0] 8079e36: 4a11 ldr r2, [pc, #68] ; (8079e7c ) 8079e38: 1899 adds r1, r3, r2 8079e3a: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8079e3e: 2209 movs r2, #9 8079e40: 4618 mov r0, r3 8079e42: f053 f8f6 bl 80cd032 8079e46: e02f b.n 8079ea8 else memcpy(str1, &MeasFileName[tme], l - tme); 8079e48: 4b0d ldr r3, [pc, #52] ; (8079e80 ) 8079e4a: 681b ldr r3, [r3, #0] 8079e4c: 4a0b ldr r2, [pc, #44] ; (8079e7c ) 8079e4e: 1899 adds r1, r3, r2 8079e50: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 8079e54: 4b0a ldr r3, [pc, #40] ; (8079e80 ) 8079e56: 681b ldr r3, [r3, #0] 8079e58: 1ad2 subs r2, r2, r3 8079e5a: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8079e5e: 4618 mov r0, r3 8079e60: f053 f8e7 bl 80cd032 8079e64: e020 b.n 8079ea8 8079e66: bf00 nop 8079e68: 000186a0 .word 0x000186a0 8079e6c: d1b71759 .word 0xd1b71759 8079e70: 10624dd3 .word 0x10624dd3 8079e74: 51eb851f .word 0x51eb851f 8079e78: cccccccd .word 0xcccccccd 8079e7c: 20020e58 .word 0x20020e58 8079e80: 20021668 .word 0x20021668 } else { memcpy(&str1[9 - (tme - l)], MeasFileName, tme - l); 8079e84: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 8079e88: 4b97 ldr r3, [pc, #604] ; (807a0e8 ) 8079e8a: 681b ldr r3, [r3, #0] 8079e8c: 1ad3 subs r3, r2, r3 8079e8e: 3309 adds r3, #9 8079e90: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8079e94: 18d0 adds r0, r2, r3 8079e96: 4b94 ldr r3, [pc, #592] ; (807a0e8 ) 8079e98: 681a ldr r2, [r3, #0] 8079e9a: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 8079e9e: 1ad3 subs r3, r2, r3 8079ea0: 461a mov r2, r3 8079ea2: 4992 ldr r1, [pc, #584] ; (807a0ec ) 8079ea4: f053 f8c5 bl 80cd032 } str1[10] = '\0'; 8079ea8: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8079eac: 2200 movs r2, #0 8079eae: 729a strb r2, [r3, #10] tt++; 8079eb0: 4b8f ldr r3, [pc, #572] ; (807a0f0 ) 8079eb2: 781b ldrb r3, [r3, #0] 8079eb4: 3301 adds r3, #1 8079eb6: b2da uxtb r2, r3 8079eb8: 4b8d ldr r3, [pc, #564] ; (807a0f0 ) 8079eba: 701a strb r2, [r3, #0] if(tt >= 4) 8079ebc: 4b8c ldr r3, [pc, #560] ; (807a0f0 ) 8079ebe: 781b ldrb r3, [r3, #0] 8079ec0: 2b03 cmp r3, #3 8079ec2: d912 bls.n 8079eea { tt = 0; 8079ec4: 4b8a ldr r3, [pc, #552] ; (807a0f0 ) 8079ec6: 2200 movs r2, #0 8079ec8: 701a strb r2, [r3, #0] tme++; 8079eca: 4b87 ldr r3, [pc, #540] ; (807a0e8 ) 8079ecc: 681b ldr r3, [r3, #0] 8079ece: 3301 adds r3, #1 8079ed0: 4a85 ldr r2, [pc, #532] ; (807a0e8 ) 8079ed2: 6013 str r3, [r2, #0] if(9 - (tme - l) == 0) 8079ed4: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 8079ed8: 4b83 ldr r3, [pc, #524] ; (807a0e8 ) 8079eda: 681b ldr r3, [r3, #0] 8079edc: 1ad3 subs r3, r2, r3 8079ede: f113 0f09 cmn.w r3, #9 8079ee2: d102 bne.n 8079eea { tme = 0; 8079ee4: 4b80 ldr r3, [pc, #512] ; (807a0e8 ) 8079ee6: 2200 movs r2, #0 8079ee8: 601a str r2, [r3, #0] } //**************************************************************** LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8079eea: 4982 ldr r1, [pc, #520] ; (807a0f4 ) 8079eec: f04f 30ff mov.w r0, #4294967295 8079ef0: f7d9 fc5c bl 80537ac LCD_DisplayString(10, LCD_LINE_3, (char *)TEXT_PARAM_VIB[pardata.LANG][0]); //"ÔÂ×" 8079ef4: 4b80 ldr r3, [pc, #512] ; (807a0f8 ) 8079ef6: 7b1b ldrb r3, [r3, #12] 8079ef8: b2db uxtb r3, r3 8079efa: 4619 mov r1, r3 8079efc: 4a7f ldr r2, [pc, #508] ; (807a0fc ) 8079efe: 232c movs r3, #44 ; 0x2c 8079f00: fb03 f301 mul.w r3, r3, r1 8079f04: 4413 add r3, r2 8079f06: 681b ldr r3, [r3, #0] 8079f08: 461a mov r2, r3 8079f0a: 213a movs r1, #58 ; 0x3a 8079f0c: 200a movs r0, #10 8079f0e: f7da f9f5 bl 80542fc LCD_DisplayString(10, LCD_LINE_4, (char *)TEXT_PARAM_VIB[pardata.LANG][1]); //"ÔÍ×" 8079f12: 4b79 ldr r3, [pc, #484] ; (807a0f8 ) 8079f14: 7b1b ldrb r3, [r3, #12] 8079f16: b2db uxtb r3, r3 8079f18: 4619 mov r1, r3 8079f1a: 4a78 ldr r2, [pc, #480] ; (807a0fc ) 8079f1c: 232c movs r3, #44 ; 0x2c 8079f1e: fb03 f301 mul.w r3, r3, r1 8079f22: 4413 add r3, r2 8079f24: 3304 adds r3, #4 8079f26: 681b ldr r3, [r3, #0] 8079f28: 461a mov r2, r3 8079f2a: 214a movs r1, #74 ; 0x4a 8079f2c: 200a movs r0, #10 8079f2e: f7da f9e5 bl 80542fc LCD_DisplayString(10, LCD_LINE_5, (char *)TEXT_PARAM_VIB[pardata.LANG][2]); //"Çíà÷åíèå Óñêîð-èÿ" 8079f32: 4b71 ldr r3, [pc, #452] ; (807a0f8 ) 8079f34: 7b1b ldrb r3, [r3, #12] 8079f36: b2db uxtb r3, r3 8079f38: 4619 mov r1, r3 8079f3a: 4a70 ldr r2, [pc, #448] ; (807a0fc ) 8079f3c: 232c movs r3, #44 ; 0x2c 8079f3e: fb03 f301 mul.w r3, r3, r1 8079f42: 4413 add r3, r2 8079f44: 3308 adds r3, #8 8079f46: 681b ldr r3, [r3, #0] 8079f48: 461a mov r2, r3 8079f4a: 215a movs r1, #90 ; 0x5a 8079f4c: 200a movs r0, #10 8079f4e: f7da f9d5 bl 80542fc LCD_DisplayString(10, LCD_LINE_8, (char *)TEXT_PARAM_VIB[pardata.LANG][5]); //"Óñðåäíåíèå" 8079f52: 4b69 ldr r3, [pc, #420] ; (807a0f8 ) 8079f54: 7b1b ldrb r3, [r3, #12] 8079f56: b2db uxtb r3, r3 8079f58: 4619 mov r1, r3 8079f5a: 4a68 ldr r2, [pc, #416] ; (807a0fc ) 8079f5c: 232c movs r3, #44 ; 0x2c 8079f5e: fb03 f301 mul.w r3, r3, r1 8079f62: 4413 add r3, r2 8079f64: 3314 adds r3, #20 8079f66: 681b ldr r3, [r3, #0] 8079f68: 461a mov r2, r3 8079f6a: 218a movs r1, #138 ; 0x8a 8079f6c: 200a movs r0, #10 8079f6e: f7da f9c5 bl 80542fc LCD_DisplayString(10, LCD_LINE_9, (char *)TEXT_PARAM_VIB[pardata.LANG][6]); //"Ìåäèàíà" 8079f72: 4b61 ldr r3, [pc, #388] ; (807a0f8 ) 8079f74: 7b1b ldrb r3, [r3, #12] 8079f76: b2db uxtb r3, r3 8079f78: 4619 mov r1, r3 8079f7a: 4a60 ldr r2, [pc, #384] ; (807a0fc ) 8079f7c: 232c movs r3, #44 ; 0x2c 8079f7e: fb03 f301 mul.w r3, r3, r1 8079f82: 4413 add r3, r2 8079f84: 3318 adds r3, #24 8079f86: 681b ldr r3, [r3, #0] 8079f88: 461a mov r2, r3 8079f8a: 219a movs r1, #154 ; 0x9a 8079f8c: 200a movs r0, #10 8079f8e: f7da f9b5 bl 80542fc LCD_DisplayString(10, LCD_LINE_10, (char *)TEXT_PARAM_VIB[pardata.LANG][7]); //"×àñòîòà êîëåáàíèé" 8079f92: 4b59 ldr r3, [pc, #356] ; (807a0f8 ) 8079f94: 7b1b ldrb r3, [r3, #12] 8079f96: b2db uxtb r3, r3 8079f98: 4619 mov r1, r3 8079f9a: 4a58 ldr r2, [pc, #352] ; (807a0fc ) 8079f9c: 232c movs r3, #44 ; 0x2c 8079f9e: fb03 f301 mul.w r3, r3, r1 8079fa2: 4413 add r3, r2 8079fa4: 331c adds r3, #28 8079fa6: 681b ldr r3, [r3, #0] 8079fa8: 461a mov r2, r3 8079faa: 21aa movs r1, #170 ; 0xaa 8079fac: 200a movs r0, #10 8079fae: f7da f9a5 bl 80542fc LCD_DisplayString(10, LCD_LINE_11, (char *)TEXT_PARAM_VIB[pardata.LANG][8]); //"Àâòîóñèëåíèå" 8079fb2: 4b51 ldr r3, [pc, #324] ; (807a0f8 ) 8079fb4: 7b1b ldrb r3, [r3, #12] 8079fb6: b2db uxtb r3, r3 8079fb8: 4619 mov r1, r3 8079fba: 4a50 ldr r2, [pc, #320] ; (807a0fc ) 8079fbc: 232c movs r3, #44 ; 0x2c 8079fbe: fb03 f301 mul.w r3, r3, r1 8079fc2: 4413 add r3, r2 8079fc4: 3320 adds r3, #32 8079fc6: 681b ldr r3, [r3, #0] 8079fc8: 461a mov r2, r3 8079fca: 21ba movs r1, #186 ; 0xba 8079fcc: 200a movs r0, #10 8079fce: f7da f995 bl 80542fc LCD_DisplayString(10, LCD_LINE_13, (char *)TEXT_PARAM_VIB[pardata.LANG][10]); //"Çàïèñü â ôàéë" 8079fd2: 4b49 ldr r3, [pc, #292] ; (807a0f8 ) 8079fd4: 7b1b ldrb r3, [r3, #12] 8079fd6: b2db uxtb r3, r3 8079fd8: 4619 mov r1, r3 8079fda: 4a48 ldr r2, [pc, #288] ; (807a0fc ) 8079fdc: 232c movs r3, #44 ; 0x2c 8079fde: fb03 f301 mul.w r3, r3, r1 8079fe2: 4413 add r3, r2 8079fe4: 3328 adds r3, #40 ; 0x28 8079fe6: 681b ldr r3, [r3, #0] 8079fe8: 461a mov r2, r3 8079fea: 21da movs r1, #218 ; 0xda 8079fec: 200a movs r0, #10 8079fee: f7da f985 bl 80542fc if(menupos == Ok) 8079ff2: 4b43 ldr r3, [pc, #268] ; (807a100 ) 8079ff4: 781b ldrb r3, [r3, #0] 8079ff6: b2db uxtb r3, r3 8079ff8: 2b00 cmp r3, #0 8079ffa: f040 81b9 bne.w 807a370 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8079ffe: 493d ldr r1, [pc, #244] ; (807a0f4 ) 807a000: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807a004: f7d9 fbd2 bl 80537ac LCD_DisplayString(10, LCD_LINE_2, (char *)TEXT_Next[pardata.LANG]);//"Äàëåå" 807a008: 4b3b ldr r3, [pc, #236] ; (807a0f8 ) 807a00a: 7b1b ldrb r3, [r3, #12] 807a00c: b2db uxtb r3, r3 807a00e: 461a mov r2, r3 807a010: 4b3c ldr r3, [pc, #240] ; (807a104 ) 807a012: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807a016: 461a mov r2, r3 807a018: 2127 movs r1, #39 ; 0x27 807a01a: 200a movs r0, #10 807a01c: f7da f96e bl 80542fc LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807a020: 4934 ldr r1, [pc, #208] ; (807a0f4 ) 807a022: f04f 30ff mov.w r0, #4294967295 807a026: f7d9 fbc1 bl 80537ac if(pardata.HP >= 2.0f) 807a02a: 4b33 ldr r3, [pc, #204] ; (807a0f8 ) 807a02c: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 807a030: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 807a034: eef4 7ac7 vcmpe.f32 s15, s14 807a038: eef1 fa10 vmrs APSR_nzcv, fpscr 807a03c: db68 blt.n 807a110 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807a03e: 492d ldr r1, [pc, #180] ; (807a0f4 ) 807a040: f04f 30ff mov.w r0, #4294967295 807a044: f7d9 fbb2 bl 80537ac LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_PARAM_VIB[pardata.LANG][3]);//"Çíà÷åíèå Ñêîðîñòè" 807a048: 4b2b ldr r3, [pc, #172] ; (807a0f8 ) 807a04a: 7b1b ldrb r3, [r3, #12] 807a04c: b2db uxtb r3, r3 807a04e: 4619 mov r1, r3 807a050: 4a2a ldr r2, [pc, #168] ; (807a0fc ) 807a052: 232c movs r3, #44 ; 0x2c 807a054: fb03 f301 mul.w r3, r3, r1 807a058: 4413 add r3, r2 807a05a: 330c adds r3, #12 807a05c: 681b ldr r3, [r3, #0] 807a05e: 461a mov r2, r3 807a060: 216a movs r1, #106 ; 0x6a 807a062: 200a movs r0, #10 807a064: f7da f94a bl 80542fc LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_PARAM_VIB[pardata.LANG][4]);//"Çíà÷åíèå Ïåðåìåù" 807a068: 4b23 ldr r3, [pc, #140] ; (807a0f8 ) 807a06a: 7b1b ldrb r3, [r3, #12] 807a06c: b2db uxtb r3, r3 807a06e: 4619 mov r1, r3 807a070: 4a22 ldr r2, [pc, #136] ; (807a0fc ) 807a072: 232c movs r3, #44 ; 0x2c 807a074: fb03 f301 mul.w r3, r3, r1 807a078: 4413 add r3, r2 807a07a: 3310 adds r3, #16 807a07c: 681b ldr r3, [r3, #0] 807a07e: 461a mov r2, r3 807a080: 217a movs r1, #122 ; 0x7a 807a082: 200a movs r0, #10 807a084: f7da f93a bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807a088: 491a ldr r1, [pc, #104] ; (807a0f4 ) 807a08a: 481f ldr r0, [pc, #124] ; (807a108 ) 807a08c: f7d9 fb8e bl 80537ac LCD_DisplayStringC(260, LCD_LINE_6, (char *) pIVS[pardata.LANG][pardata.IVS[VEL]]); 807a090: 4b19 ldr r3, [pc, #100] ; (807a0f8 ) 807a092: 7b1b ldrb r3, [r3, #12] 807a094: b2db uxtb r3, r3 807a096: 4619 mov r1, r3 807a098: 4b17 ldr r3, [pc, #92] ; (807a0f8 ) 807a09a: 78db ldrb r3, [r3, #3] 807a09c: b2db uxtb r3, r3 807a09e: 4618 mov r0, r3 807a0a0: 4a1a ldr r2, [pc, #104] ; (807a10c ) 807a0a2: 460b mov r3, r1 807a0a4: 009b lsls r3, r3, #2 807a0a6: 440b add r3, r1 807a0a8: 4403 add r3, r0 807a0aa: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807a0ae: 461a mov r2, r3 807a0b0: 216a movs r1, #106 ; 0x6a 807a0b2: f44f 7082 mov.w r0, #260 ; 0x104 807a0b6: f7da f939 bl 805432c LCD_DisplayStringC(260, LCD_LINE_7, (char *) pIVS[pardata.LANG][pardata.IVS[DIS]]); 807a0ba: 4b0f ldr r3, [pc, #60] ; (807a0f8 ) 807a0bc: 7b1b ldrb r3, [r3, #12] 807a0be: b2db uxtb r3, r3 807a0c0: 4619 mov r1, r3 807a0c2: 4b0d ldr r3, [pc, #52] ; (807a0f8 ) 807a0c4: 791b ldrb r3, [r3, #4] 807a0c6: b2db uxtb r3, r3 807a0c8: 4618 mov r0, r3 807a0ca: 4a10 ldr r2, [pc, #64] ; (807a10c ) 807a0cc: 460b mov r3, r1 807a0ce: 009b lsls r3, r3, #2 807a0d0: 440b add r3, r1 807a0d2: 4403 add r3, r0 807a0d4: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807a0d8: 461a mov r2, r3 807a0da: 217a movs r1, #122 ; 0x7a 807a0dc: f44f 7082 mov.w r0, #260 ; 0x104 807a0e0: f7da f924 bl 805432c 807a0e4: e062 b.n 807a1ac 807a0e6: bf00 nop 807a0e8: 20021668 .word 0x20021668 807a0ec: 20020e58 .word 0x20020e58 807a0f0: 2002166c .word 0x2002166c 807a0f4: ff0a0f1f .word 0xff0a0f1f 807a0f8: 20023e60 .word 0x20023e60 807a0fc: 200206b4 .word 0x200206b4 807a100: 20020070 .word 0x20020070 807a104: 200205c4 .word 0x200205c4 807a108: ffd8aa57 .word 0xffd8aa57 807a10c: 200202bc .word 0x200202bc } else { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 807a110: 498f ldr r1, [pc, #572] ; (807a350 ) 807a112: 4890 ldr r0, [pc, #576] ; (807a354 ) 807a114: f7d9 fb4a bl 80537ac LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_PARAM_VIB[pardata.LANG][3]);//"Çíà÷åíèå Ñêîðîñòè" 807a118: 4b8f ldr r3, [pc, #572] ; (807a358 ) 807a11a: 7b1b ldrb r3, [r3, #12] 807a11c: b2db uxtb r3, r3 807a11e: 4619 mov r1, r3 807a120: 4a8e ldr r2, [pc, #568] ; (807a35c ) 807a122: 232c movs r3, #44 ; 0x2c 807a124: fb03 f301 mul.w r3, r3, r1 807a128: 4413 add r3, r2 807a12a: 330c adds r3, #12 807a12c: 681b ldr r3, [r3, #0] 807a12e: 461a mov r2, r3 807a130: 216a movs r1, #106 ; 0x6a 807a132: 200a movs r0, #10 807a134: f7da f8e2 bl 80542fc LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_PARAM_VIB[pardata.LANG][4]);//"Çíà÷åíèå Ïåðåìåù" 807a138: 4b87 ldr r3, [pc, #540] ; (807a358 ) 807a13a: 7b1b ldrb r3, [r3, #12] 807a13c: b2db uxtb r3, r3 807a13e: 4619 mov r1, r3 807a140: 4a86 ldr r2, [pc, #536] ; (807a35c ) 807a142: 232c movs r3, #44 ; 0x2c 807a144: fb03 f301 mul.w r3, r3, r1 807a148: 4413 add r3, r2 807a14a: 3310 adds r3, #16 807a14c: 681b ldr r3, [r3, #0] 807a14e: 461a mov r2, r3 807a150: 217a movs r1, #122 ; 0x7a 807a152: 200a movs r0, #10 807a154: f7da f8d2 bl 80542fc LCD_DisplayStringC(260, LCD_LINE_6, (char *) pIVS[pardata.LANG][pardata.IVS[VEL]]); 807a158: 4b7f ldr r3, [pc, #508] ; (807a358 ) 807a15a: 7b1b ldrb r3, [r3, #12] 807a15c: b2db uxtb r3, r3 807a15e: 4619 mov r1, r3 807a160: 4b7d ldr r3, [pc, #500] ; (807a358 ) 807a162: 78db ldrb r3, [r3, #3] 807a164: b2db uxtb r3, r3 807a166: 4618 mov r0, r3 807a168: 4a7d ldr r2, [pc, #500] ; (807a360 ) 807a16a: 460b mov r3, r1 807a16c: 009b lsls r3, r3, #2 807a16e: 440b add r3, r1 807a170: 4403 add r3, r0 807a172: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807a176: 461a mov r2, r3 807a178: 216a movs r1, #106 ; 0x6a 807a17a: f44f 7082 mov.w r0, #260 ; 0x104 807a17e: f7da f8d5 bl 805432c LCD_DisplayStringC(260, LCD_LINE_7, (char *) pIVS[pardata.LANG][pardata.IVS[DIS]]); 807a182: 4b75 ldr r3, [pc, #468] ; (807a358 ) 807a184: 7b1b ldrb r3, [r3, #12] 807a186: b2db uxtb r3, r3 807a188: 4619 mov r1, r3 807a18a: 4b73 ldr r3, [pc, #460] ; (807a358 ) 807a18c: 791b ldrb r3, [r3, #4] 807a18e: b2db uxtb r3, r3 807a190: 4618 mov r0, r3 807a192: 4a73 ldr r2, [pc, #460] ; (807a360 ) 807a194: 460b mov r3, r1 807a196: 009b lsls r3, r3, #2 807a198: 440b add r3, r1 807a19a: 4403 add r3, r0 807a19c: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807a1a0: 461a mov r2, r3 807a1a2: 217a movs r1, #122 ; 0x7a 807a1a4: f44f 7082 mov.w r0, #260 ; 0x104 807a1a8: f7da f8c0 bl 805432c } LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807a1ac: 4968 ldr r1, [pc, #416] ; (807a350 ) 807a1ae: 486d ldr r0, [pc, #436] ; (807a364 ) 807a1b0: f7d9 fafc bl 80537ac LCD_DisplayStringC(260, LCD_LINE_3, strHP); 807a1b4: f507 73d2 add.w r3, r7, #420 ; 0x1a4 807a1b8: 461a mov r2, r3 807a1ba: 213a movs r1, #58 ; 0x3a 807a1bc: f44f 7082 mov.w r0, #260 ; 0x104 807a1c0: f7da f8b4 bl 805432c LCD_DisplayStringC(260, LCD_LINE_4, strLP); 807a1c4: f507 73cc add.w r3, r7, #408 ; 0x198 807a1c8: 461a mov r2, r3 807a1ca: 214a movs r1, #74 ; 0x4a 807a1cc: f44f 7082 mov.w r0, #260 ; 0x104 807a1d0: f7da f8ac bl 805432c //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]]); 807a1d4: 4b60 ldr r3, [pc, #384] ; (807a358 ) 807a1d6: 7b1b ldrb r3, [r3, #12] 807a1d8: b2db uxtb r3, r3 807a1da: 4619 mov r1, r3 807a1dc: 4b5e ldr r3, [pc, #376] ; (807a358 ) 807a1de: 789b ldrb r3, [r3, #2] 807a1e0: b2db uxtb r3, r3 807a1e2: 4618 mov r0, r3 807a1e4: 4a5e ldr r2, [pc, #376] ; (807a360 ) 807a1e6: 460b mov r3, r1 807a1e8: 009b lsls r3, r3, #2 807a1ea: 440b add r3, r1 807a1ec: 4403 add r3, r0 807a1ee: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807a1f2: 461a mov r2, r3 807a1f4: 215a movs r1, #90 ; 0x5a 807a1f6: f44f 7082 mov.w r0, #260 ; 0x104 807a1fa: f7da f897 bl 805432c LCD_DisplayStringC(260, LCD_LINE_8, (char *) pAVERAGE_SEC[pardata.LANG][pardata.AVG]); 807a1fe: 4b56 ldr r3, [pc, #344] ; (807a358 ) 807a200: 7b1b ldrb r3, [r3, #12] 807a202: b2db uxtb r3, r3 807a204: 4619 mov r1, r3 807a206: 4b54 ldr r3, [pc, #336] ; (807a358 ) 807a208: 7b5b ldrb r3, [r3, #13] 807a20a: b2db uxtb r3, r3 807a20c: 4618 mov r0, r3 807a20e: 4a56 ldr r2, [pc, #344] ; (807a368 ) 807a210: 460b mov r3, r1 807a212: 009b lsls r3, r3, #2 807a214: 440b add r3, r1 807a216: 005b lsls r3, r3, #1 807a218: 4403 add r3, r0 807a21a: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807a21e: 461a mov r2, r3 807a220: 218a movs r1, #138 ; 0x8a 807a222: f44f 7082 mov.w r0, #260 ; 0x104 807a226: f7da f881 bl 805432c LCD_DisplayStringC(260, LCD_LINE_13, str1); 807a22a: f507 73f6 add.w r3, r7, #492 ; 0x1ec 807a22e: 461a mov r2, r3 807a230: 21da movs r1, #218 ; 0xda 807a232: f44f 7082 mov.w r0, #260 ; 0x104 807a236: f7da f879 bl 805432c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807a23a: 4945 ldr r1, [pc, #276] ; (807a350 ) 807a23c: f04f 30ff mov.w r0, #4294967295 807a240: f7d9 fab4 bl 80537ac BSP_LCD_FillRect(255, 157, 10, 10); 807a244: 230a movs r3, #10 807a246: 220a movs r2, #10 807a248: 219d movs r1, #157 ; 0x9d 807a24a: 20ff movs r0, #255 ; 0xff 807a24c: f7d9 ff3c bl 80540c8 BSP_LCD_FillRect(255, 173, 10, 10); 807a250: 230a movs r3, #10 807a252: 220a movs r2, #10 807a254: 21ad movs r1, #173 ; 0xad 807a256: 20ff movs r0, #255 ; 0xff 807a258: f7d9 ff36 bl 80540c8 BSP_LCD_FillRect(255, 189, 10, 10); 807a25c: 230a movs r3, #10 807a25e: 220a movs r2, #10 807a260: 21bd movs r1, #189 ; 0xbd 807a262: 20ff movs r0, #255 ; 0xff 807a264: f7d9 ff30 bl 80540c8 if(pardata.OPTIONS & 0x4) // åñëè àâòîóñèëåíèå 807a268: 4b3b ldr r3, [pc, #236] ; (807a358 ) 807a26a: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 807a26e: f003 0304 and.w r3, r3, #4 807a272: 2b00 cmp r3, #0 807a274: d033 beq.n 807a2de { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 807a276: 4936 ldr r1, [pc, #216] ; (807a350 ) 807a278: 4836 ldr r0, [pc, #216] ; (807a354 ) 807a27a: f7d9 fa97 bl 80537ac if(pardata.IIN != VOLTS) 807a27e: 4b36 ldr r3, [pc, #216] ; (807a358 ) 807a280: 799b ldrb r3, [r3, #6] 807a282: b2db uxtb r3, r3 807a284: 2b02 cmp r3, #2 807a286: d010 beq.n 807a2aa LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807a288: 4b33 ldr r3, [pc, #204] ; (807a358 ) 807a28a: 7b1b ldrb r3, [r3, #12] 807a28c: b2db uxtb r3, r3 807a28e: 4619 mov r1, r3 807a290: 4a32 ldr r2, [pc, #200] ; (807a35c ) 807a292: 232c movs r3, #44 ; 0x2c 807a294: fb03 f301 mul.w r3, r3, r1 807a298: 4413 add r3, r2 807a29a: 3324 adds r3, #36 ; 0x24 807a29c: 681b ldr r3, [r3, #0] 807a29e: 461a mov r2, r3 807a2a0: 21ca movs r1, #202 ; 0xca 807a2a2: 200a movs r0, #10 807a2a4: f7da f82a bl 80542fc 807a2a8: e00f b.n 807a2ca else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807a2aa: 4b2b ldr r3, [pc, #172] ; (807a358 ) 807a2ac: 7b1b ldrb r3, [r3, #12] 807a2ae: b2db uxtb r3, r3 807a2b0: 4619 mov r1, r3 807a2b2: 4a2e ldr r2, [pc, #184] ; (807a36c ) 807a2b4: 232c movs r3, #44 ; 0x2c 807a2b6: fb03 f301 mul.w r3, r3, r1 807a2ba: 4413 add r3, r2 807a2bc: 3324 adds r3, #36 ; 0x24 807a2be: 681b ldr r3, [r3, #0] 807a2c0: 461a mov r2, r3 807a2c2: 21ca movs r1, #202 ; 0xca 807a2c4: 200a movs r0, #10 807a2c6: f7da f819 bl 80542fc LCD_DisplayStringC(260, LCD_LINE_12, str); 807a2ca: f507 733b add.w r3, r7, #748 ; 0x2ec 807a2ce: 461a mov r2, r3 807a2d0: 21ca movs r1, #202 ; 0xca 807a2d2: f44f 7082 mov.w r0, #260 ; 0x104 807a2d6: f7da f829 bl 805432c 807a2da: f003 bca9 b.w 807dc30 } else { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807a2de: 491c ldr r1, [pc, #112] ; (807a350 ) 807a2e0: f04f 30ff mov.w r0, #4294967295 807a2e4: f7d9 fa62 bl 80537ac if(pardata.IIN != VOLTS) 807a2e8: 4b1b ldr r3, [pc, #108] ; (807a358 ) 807a2ea: 799b ldrb r3, [r3, #6] 807a2ec: b2db uxtb r3, r3 807a2ee: 2b02 cmp r3, #2 807a2f0: d010 beq.n 807a314 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807a2f2: 4b19 ldr r3, [pc, #100] ; (807a358 ) 807a2f4: 7b1b ldrb r3, [r3, #12] 807a2f6: b2db uxtb r3, r3 807a2f8: 4619 mov r1, r3 807a2fa: 4a18 ldr r2, [pc, #96] ; (807a35c ) 807a2fc: 232c movs r3, #44 ; 0x2c 807a2fe: fb03 f301 mul.w r3, r3, r1 807a302: 4413 add r3, r2 807a304: 3324 adds r3, #36 ; 0x24 807a306: 681b ldr r3, [r3, #0] 807a308: 461a mov r2, r3 807a30a: 21ca movs r1, #202 ; 0xca 807a30c: 200a movs r0, #10 807a30e: f7d9 fff5 bl 80542fc 807a312: e00f b.n 807a334 else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807a314: 4b10 ldr r3, [pc, #64] ; (807a358 ) 807a316: 7b1b ldrb r3, [r3, #12] 807a318: b2db uxtb r3, r3 807a31a: 4619 mov r1, r3 807a31c: 4a13 ldr r2, [pc, #76] ; (807a36c ) 807a31e: 232c movs r3, #44 ; 0x2c 807a320: fb03 f301 mul.w r3, r3, r1 807a324: 4413 add r3, r2 807a326: 3324 adds r3, #36 ; 0x24 807a328: 681b ldr r3, [r3, #0] 807a32a: 461a mov r2, r3 807a32c: 21ca movs r1, #202 ; 0xca 807a32e: 200a movs r0, #10 807a330: f7d9 ffe4 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807a334: 4906 ldr r1, [pc, #24] ; (807a350 ) 807a336: 480b ldr r0, [pc, #44] ; (807a364 ) 807a338: f7d9 fa38 bl 80537ac LCD_DisplayStringC(260, LCD_LINE_12, str); 807a33c: f507 733b add.w r3, r7, #748 ; 0x2ec 807a340: 461a mov r2, r3 807a342: 21ca movs r1, #202 ; 0xca 807a344: f44f 7082 mov.w r0, #260 ; 0x104 807a348: f7d9 fff0 bl 805432c 807a34c: f003 bc70 b.w 807dc30 807a350: ff0a0f1f .word 0xff0a0f1f 807a354: ff808080 .word 0xff808080 807a358: 20023e60 .word 0x20023e60 807a35c: 200206b4 .word 0x200206b4 807a360: 200202bc .word 0x200202bc 807a364: ffd8aa57 .word 0xffd8aa57 807a368: 2002024c .word 0x2002024c 807a36c: 2002070c .word 0x2002070c } } else if(menupos == FilterHP) // filter 807a370: 4bcc ldr r3, [pc, #816] ; (807a6a4 ) 807a372: 781b ldrb r3, [r3, #0] 807a374: b2db uxtb r3, r3 807a376: 2b17 cmp r3, #23 807a378: f040 81a8 bne.w 807a6cc { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807a37c: 49ca ldr r1, [pc, #808] ; (807a6a8 ) 807a37e: f04f 30ff mov.w r0, #4294967295 807a382: f7d9 fa13 bl 80537ac LCD_DisplayString(10, LCD_LINE_2, (char *)TEXT_Next[pardata.LANG]);//"Äàëåå" 807a386: 4bc9 ldr r3, [pc, #804] ; (807a6ac ) 807a388: 7b1b ldrb r3, [r3, #12] 807a38a: b2db uxtb r3, r3 807a38c: 461a mov r2, r3 807a38e: 4bc8 ldr r3, [pc, #800] ; (807a6b0 ) 807a390: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807a394: 461a mov r2, r3 807a396: 2127 movs r1, #39 ; 0x27 807a398: 200a movs r0, #10 807a39a: f7d9 ffaf bl 80542fc LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807a39e: 49c2 ldr r1, [pc, #776] ; (807a6a8 ) 807a3a0: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807a3a4: f7d9 fa02 bl 80537ac LCD_DisplayStringC(260, LCD_LINE_3, strHP); 807a3a8: f507 73d2 add.w r3, r7, #420 ; 0x1a4 807a3ac: 461a mov r2, r3 807a3ae: 213a movs r1, #58 ; 0x3a 807a3b0: f44f 7082 mov.w r0, #260 ; 0x104 807a3b4: f7d9 ffba bl 805432c if(pardata.HP >= 2.0f) 807a3b8: 4bbc ldr r3, [pc, #752] ; (807a6ac ) 807a3ba: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 807a3be: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 807a3c2: eef4 7ac7 vcmpe.f32 s15, s14 807a3c6: eef1 fa10 vmrs APSR_nzcv, fpscr 807a3ca: db53 blt.n 807a474 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807a3cc: 49b6 ldr r1, [pc, #728] ; (807a6a8 ) 807a3ce: f04f 30ff mov.w r0, #4294967295 807a3d2: f7d9 f9eb bl 80537ac LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_PARAM_VIB[pardata.LANG][3]);//"Çíà÷åíèå Ñêîðîñòè" 807a3d6: 4bb5 ldr r3, [pc, #724] ; (807a6ac ) 807a3d8: 7b1b ldrb r3, [r3, #12] 807a3da: b2db uxtb r3, r3 807a3dc: 4619 mov r1, r3 807a3de: 4ab5 ldr r2, [pc, #724] ; (807a6b4 ) 807a3e0: 232c movs r3, #44 ; 0x2c 807a3e2: fb03 f301 mul.w r3, r3, r1 807a3e6: 4413 add r3, r2 807a3e8: 330c adds r3, #12 807a3ea: 681b ldr r3, [r3, #0] 807a3ec: 461a mov r2, r3 807a3ee: 216a movs r1, #106 ; 0x6a 807a3f0: 200a movs r0, #10 807a3f2: f7d9 ff83 bl 80542fc LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_PARAM_VIB[pardata.LANG][4]);//"Çíà÷åíèå Ïåðåìåù" 807a3f6: 4bad ldr r3, [pc, #692] ; (807a6ac ) 807a3f8: 7b1b ldrb r3, [r3, #12] 807a3fa: b2db uxtb r3, r3 807a3fc: 4619 mov r1, r3 807a3fe: 4aad ldr r2, [pc, #692] ; (807a6b4 ) 807a400: 232c movs r3, #44 ; 0x2c 807a402: fb03 f301 mul.w r3, r3, r1 807a406: 4413 add r3, r2 807a408: 3310 adds r3, #16 807a40a: 681b ldr r3, [r3, #0] 807a40c: 461a mov r2, r3 807a40e: 217a movs r1, #122 ; 0x7a 807a410: 200a movs r0, #10 807a412: f7d9 ff73 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807a416: 49a4 ldr r1, [pc, #656] ; (807a6a8 ) 807a418: 48a7 ldr r0, [pc, #668] ; (807a6b8 ) 807a41a: f7d9 f9c7 bl 80537ac LCD_DisplayStringC(260, LCD_LINE_6, (char *) pIVS[pardata.LANG][pardata.IVS[VEL]]); 807a41e: 4ba3 ldr r3, [pc, #652] ; (807a6ac ) 807a420: 7b1b ldrb r3, [r3, #12] 807a422: b2db uxtb r3, r3 807a424: 4619 mov r1, r3 807a426: 4ba1 ldr r3, [pc, #644] ; (807a6ac ) 807a428: 78db ldrb r3, [r3, #3] 807a42a: b2db uxtb r3, r3 807a42c: 4618 mov r0, r3 807a42e: 4aa3 ldr r2, [pc, #652] ; (807a6bc ) 807a430: 460b mov r3, r1 807a432: 009b lsls r3, r3, #2 807a434: 440b add r3, r1 807a436: 4403 add r3, r0 807a438: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807a43c: 461a mov r2, r3 807a43e: 216a movs r1, #106 ; 0x6a 807a440: f44f 7082 mov.w r0, #260 ; 0x104 807a444: f7d9 ff72 bl 805432c LCD_DisplayStringC(260, LCD_LINE_7, (char *) pIVS[pardata.LANG][pardata.IVS[DIS]]); 807a448: 4b98 ldr r3, [pc, #608] ; (807a6ac ) 807a44a: 7b1b ldrb r3, [r3, #12] 807a44c: b2db uxtb r3, r3 807a44e: 4619 mov r1, r3 807a450: 4b96 ldr r3, [pc, #600] ; (807a6ac ) 807a452: 791b ldrb r3, [r3, #4] 807a454: b2db uxtb r3, r3 807a456: 4618 mov r0, r3 807a458: 4a98 ldr r2, [pc, #608] ; (807a6bc ) 807a45a: 460b mov r3, r1 807a45c: 009b lsls r3, r3, #2 807a45e: 440b add r3, r1 807a460: 4403 add r3, r0 807a462: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807a466: 461a mov r2, r3 807a468: 217a movs r1, #122 ; 0x7a 807a46a: f44f 7082 mov.w r0, #260 ; 0x104 807a46e: f7d9 ff5d bl 805432c 807a472: e04d b.n 807a510 } else { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 807a474: 498c ldr r1, [pc, #560] ; (807a6a8 ) 807a476: 4892 ldr r0, [pc, #584] ; (807a6c0 ) 807a478: f7d9 f998 bl 80537ac LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_PARAM_VIB[pardata.LANG][3]);//"Çíà÷åíèå Ñêîðîñòè" 807a47c: 4b8b ldr r3, [pc, #556] ; (807a6ac ) 807a47e: 7b1b ldrb r3, [r3, #12] 807a480: b2db uxtb r3, r3 807a482: 4619 mov r1, r3 807a484: 4a8b ldr r2, [pc, #556] ; (807a6b4 ) 807a486: 232c movs r3, #44 ; 0x2c 807a488: fb03 f301 mul.w r3, r3, r1 807a48c: 4413 add r3, r2 807a48e: 330c adds r3, #12 807a490: 681b ldr r3, [r3, #0] 807a492: 461a mov r2, r3 807a494: 216a movs r1, #106 ; 0x6a 807a496: 200a movs r0, #10 807a498: f7d9 ff30 bl 80542fc LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_PARAM_VIB[pardata.LANG][4]);//"Çíà÷åíèå Ïåðåìåù" 807a49c: 4b83 ldr r3, [pc, #524] ; (807a6ac ) 807a49e: 7b1b ldrb r3, [r3, #12] 807a4a0: b2db uxtb r3, r3 807a4a2: 4619 mov r1, r3 807a4a4: 4a83 ldr r2, [pc, #524] ; (807a6b4 ) 807a4a6: 232c movs r3, #44 ; 0x2c 807a4a8: fb03 f301 mul.w r3, r3, r1 807a4ac: 4413 add r3, r2 807a4ae: 3310 adds r3, #16 807a4b0: 681b ldr r3, [r3, #0] 807a4b2: 461a mov r2, r3 807a4b4: 217a movs r1, #122 ; 0x7a 807a4b6: 200a movs r0, #10 807a4b8: f7d9 ff20 bl 80542fc LCD_DisplayStringC(260, LCD_LINE_6, (char *) pIVS[pardata.LANG][pardata.IVS[VEL]]); 807a4bc: 4b7b ldr r3, [pc, #492] ; (807a6ac ) 807a4be: 7b1b ldrb r3, [r3, #12] 807a4c0: b2db uxtb r3, r3 807a4c2: 4619 mov r1, r3 807a4c4: 4b79 ldr r3, [pc, #484] ; (807a6ac ) 807a4c6: 78db ldrb r3, [r3, #3] 807a4c8: b2db uxtb r3, r3 807a4ca: 4618 mov r0, r3 807a4cc: 4a7b ldr r2, [pc, #492] ; (807a6bc ) 807a4ce: 460b mov r3, r1 807a4d0: 009b lsls r3, r3, #2 807a4d2: 440b add r3, r1 807a4d4: 4403 add r3, r0 807a4d6: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807a4da: 461a mov r2, r3 807a4dc: 216a movs r1, #106 ; 0x6a 807a4de: f44f 7082 mov.w r0, #260 ; 0x104 807a4e2: f7d9 ff23 bl 805432c LCD_DisplayStringC(260, LCD_LINE_7, (char *) pIVS[pardata.LANG][pardata.IVS[DIS]]); 807a4e6: 4b71 ldr r3, [pc, #452] ; (807a6ac ) 807a4e8: 7b1b ldrb r3, [r3, #12] 807a4ea: b2db uxtb r3, r3 807a4ec: 4619 mov r1, r3 807a4ee: 4b6f ldr r3, [pc, #444] ; (807a6ac ) 807a4f0: 791b ldrb r3, [r3, #4] 807a4f2: b2db uxtb r3, r3 807a4f4: 4618 mov r0, r3 807a4f6: 4a71 ldr r2, [pc, #452] ; (807a6bc ) 807a4f8: 460b mov r3, r1 807a4fa: 009b lsls r3, r3, #2 807a4fc: 440b add r3, r1 807a4fe: 4403 add r3, r0 807a500: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807a504: 461a mov r2, r3 807a506: 217a movs r1, #122 ; 0x7a 807a508: f44f 7082 mov.w r0, #260 ; 0x104 807a50c: f7d9 ff0e bl 805432c } LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807a510: 4965 ldr r1, [pc, #404] ; (807a6a8 ) 807a512: 4869 ldr r0, [pc, #420] ; (807a6b8 ) 807a514: f7d9 f94a bl 80537ac LCD_DisplayStringC(260, LCD_LINE_4, strLP); 807a518: f507 73cc add.w r3, r7, #408 ; 0x198 807a51c: 461a mov r2, r3 807a51e: 214a movs r1, #74 ; 0x4a 807a520: f44f 7082 mov.w r0, #260 ; 0x104 807a524: f7d9 ff02 bl 805432c LCD_DisplayStringC(260, LCD_LINE_5, (char *) pIVS[pardata.LANG][pardata.IVS[ACC]]); 807a528: 4b60 ldr r3, [pc, #384] ; (807a6ac ) 807a52a: 7b1b ldrb r3, [r3, #12] 807a52c: b2db uxtb r3, r3 807a52e: 4619 mov r1, r3 807a530: 4b5e ldr r3, [pc, #376] ; (807a6ac ) 807a532: 789b ldrb r3, [r3, #2] 807a534: b2db uxtb r3, r3 807a536: 4618 mov r0, r3 807a538: 4a60 ldr r2, [pc, #384] ; (807a6bc ) 807a53a: 460b mov r3, r1 807a53c: 009b lsls r3, r3, #2 807a53e: 440b add r3, r1 807a540: 4403 add r3, r0 807a542: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807a546: 461a mov r2, r3 807a548: 215a movs r1, #90 ; 0x5a 807a54a: f44f 7082 mov.w r0, #260 ; 0x104 807a54e: f7d9 feed bl 805432c LCD_DisplayStringC(260, LCD_LINE_8, (char *) pAVERAGE_SEC[pardata.LANG][pardata.AVG]); 807a552: 4b56 ldr r3, [pc, #344] ; (807a6ac ) 807a554: 7b1b ldrb r3, [r3, #12] 807a556: b2db uxtb r3, r3 807a558: 4619 mov r1, r3 807a55a: 4b54 ldr r3, [pc, #336] ; (807a6ac ) 807a55c: 7b5b ldrb r3, [r3, #13] 807a55e: b2db uxtb r3, r3 807a560: 4618 mov r0, r3 807a562: 4a58 ldr r2, [pc, #352] ; (807a6c4 ) 807a564: 460b mov r3, r1 807a566: 009b lsls r3, r3, #2 807a568: 440b add r3, r1 807a56a: 005b lsls r3, r3, #1 807a56c: 4403 add r3, r0 807a56e: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807a572: 461a mov r2, r3 807a574: 218a movs r1, #138 ; 0x8a 807a576: f44f 7082 mov.w r0, #260 ; 0x104 807a57a: f7d9 fed7 bl 805432c LCD_DisplayStringC(260, LCD_LINE_13, str1); 807a57e: f507 73f6 add.w r3, r7, #492 ; 0x1ec 807a582: 461a mov r2, r3 807a584: 21da movs r1, #218 ; 0xda 807a586: f44f 7082 mov.w r0, #260 ; 0x104 807a58a: f7d9 fecf bl 805432c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807a58e: 4946 ldr r1, [pc, #280] ; (807a6a8 ) 807a590: f04f 30ff mov.w r0, #4294967295 807a594: f7d9 f90a bl 80537ac BSP_LCD_FillRect(255, 157, 10, 10); 807a598: 230a movs r3, #10 807a59a: 220a movs r2, #10 807a59c: 219d movs r1, #157 ; 0x9d 807a59e: 20ff movs r0, #255 ; 0xff 807a5a0: f7d9 fd92 bl 80540c8 BSP_LCD_FillRect(255, 173, 10, 10); 807a5a4: 230a movs r3, #10 807a5a6: 220a movs r2, #10 807a5a8: 21ad movs r1, #173 ; 0xad 807a5aa: 20ff movs r0, #255 ; 0xff 807a5ac: f7d9 fd8c bl 80540c8 BSP_LCD_FillRect(255, 189, 10, 10); 807a5b0: 230a movs r3, #10 807a5b2: 220a movs r2, #10 807a5b4: 21bd movs r1, #189 ; 0xbd 807a5b6: 20ff movs r0, #255 ; 0xff 807a5b8: f7d9 fd86 bl 80540c8 if(pardata.OPTIONS & 0x4) // åñëè àâòîóñèëåíèå 807a5bc: 4b3b ldr r3, [pc, #236] ; (807a6ac ) 807a5be: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 807a5c2: f003 0304 and.w r3, r3, #4 807a5c6: 2b00 cmp r3, #0 807a5c8: d033 beq.n 807a632 { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 807a5ca: 4937 ldr r1, [pc, #220] ; (807a6a8 ) 807a5cc: 483c ldr r0, [pc, #240] ; (807a6c0 ) 807a5ce: f7d9 f8ed bl 80537ac if(pardata.IIN != VOLTS) 807a5d2: 4b36 ldr r3, [pc, #216] ; (807a6ac ) 807a5d4: 799b ldrb r3, [r3, #6] 807a5d6: b2db uxtb r3, r3 807a5d8: 2b02 cmp r3, #2 807a5da: d010 beq.n 807a5fe LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807a5dc: 4b33 ldr r3, [pc, #204] ; (807a6ac ) 807a5de: 7b1b ldrb r3, [r3, #12] 807a5e0: b2db uxtb r3, r3 807a5e2: 4619 mov r1, r3 807a5e4: 4a33 ldr r2, [pc, #204] ; (807a6b4 ) 807a5e6: 232c movs r3, #44 ; 0x2c 807a5e8: fb03 f301 mul.w r3, r3, r1 807a5ec: 4413 add r3, r2 807a5ee: 3324 adds r3, #36 ; 0x24 807a5f0: 681b ldr r3, [r3, #0] 807a5f2: 461a mov r2, r3 807a5f4: 21ca movs r1, #202 ; 0xca 807a5f6: 200a movs r0, #10 807a5f8: f7d9 fe80 bl 80542fc 807a5fc: e00f b.n 807a61e else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807a5fe: 4b2b ldr r3, [pc, #172] ; (807a6ac ) 807a600: 7b1b ldrb r3, [r3, #12] 807a602: b2db uxtb r3, r3 807a604: 4619 mov r1, r3 807a606: 4a30 ldr r2, [pc, #192] ; (807a6c8 ) 807a608: 232c movs r3, #44 ; 0x2c 807a60a: fb03 f301 mul.w r3, r3, r1 807a60e: 4413 add r3, r2 807a610: 3324 adds r3, #36 ; 0x24 807a612: 681b ldr r3, [r3, #0] 807a614: 461a mov r2, r3 807a616: 21ca movs r1, #202 ; 0xca 807a618: 200a movs r0, #10 807a61a: f7d9 fe6f bl 80542fc LCD_DisplayStringC(260, LCD_LINE_12, str); 807a61e: f507 733b add.w r3, r7, #748 ; 0x2ec 807a622: 461a mov r2, r3 807a624: 21ca movs r1, #202 ; 0xca 807a626: f44f 7082 mov.w r0, #260 ; 0x104 807a62a: f7d9 fe7f bl 805432c 807a62e: f003 baff b.w 807dc30 } else { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807a632: 491d ldr r1, [pc, #116] ; (807a6a8 ) 807a634: f04f 30ff mov.w r0, #4294967295 807a638: f7d9 f8b8 bl 80537ac if(pardata.IIN != VOLTS) 807a63c: 4b1b ldr r3, [pc, #108] ; (807a6ac ) 807a63e: 799b ldrb r3, [r3, #6] 807a640: b2db uxtb r3, r3 807a642: 2b02 cmp r3, #2 807a644: d010 beq.n 807a668 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807a646: 4b19 ldr r3, [pc, #100] ; (807a6ac ) 807a648: 7b1b ldrb r3, [r3, #12] 807a64a: b2db uxtb r3, r3 807a64c: 4619 mov r1, r3 807a64e: 4a19 ldr r2, [pc, #100] ; (807a6b4 ) 807a650: 232c movs r3, #44 ; 0x2c 807a652: fb03 f301 mul.w r3, r3, r1 807a656: 4413 add r3, r2 807a658: 3324 adds r3, #36 ; 0x24 807a65a: 681b ldr r3, [r3, #0] 807a65c: 461a mov r2, r3 807a65e: 21ca movs r1, #202 ; 0xca 807a660: 200a movs r0, #10 807a662: f7d9 fe4b bl 80542fc 807a666: e00f b.n 807a688 else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807a668: 4b10 ldr r3, [pc, #64] ; (807a6ac ) 807a66a: 7b1b ldrb r3, [r3, #12] 807a66c: b2db uxtb r3, r3 807a66e: 4619 mov r1, r3 807a670: 4a15 ldr r2, [pc, #84] ; (807a6c8 ) 807a672: 232c movs r3, #44 ; 0x2c 807a674: fb03 f301 mul.w r3, r3, r1 807a678: 4413 add r3, r2 807a67a: 3324 adds r3, #36 ; 0x24 807a67c: 681b ldr r3, [r3, #0] 807a67e: 461a mov r2, r3 807a680: 21ca movs r1, #202 ; 0xca 807a682: 200a movs r0, #10 807a684: f7d9 fe3a bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807a688: 4907 ldr r1, [pc, #28] ; (807a6a8 ) 807a68a: 480b ldr r0, [pc, #44] ; (807a6b8 ) 807a68c: f7d9 f88e bl 80537ac LCD_DisplayStringC(260, LCD_LINE_12, str); 807a690: f507 733b add.w r3, r7, #748 ; 0x2ec 807a694: 461a mov r2, r3 807a696: 21ca movs r1, #202 ; 0xca 807a698: f44f 7082 mov.w r0, #260 ; 0x104 807a69c: f7d9 fe46 bl 805432c 807a6a0: f003 bac6 b.w 807dc30 807a6a4: 20020070 .word 0x20020070 807a6a8: ff0a0f1f .word 0xff0a0f1f 807a6ac: 20023e60 .word 0x20023e60 807a6b0: 200205c4 .word 0x200205c4 807a6b4: 200206b4 .word 0x200206b4 807a6b8: ffd8aa57 .word 0xffd8aa57 807a6bc: 200202bc .word 0x200202bc 807a6c0: ff808080 .word 0xff808080 807a6c4: 2002024c .word 0x2002024c 807a6c8: 2002070c .word 0x2002070c } } else if(menupos == FilterLP) // filter 807a6cc: 4bcc ldr r3, [pc, #816] ; (807aa00 ) 807a6ce: 781b ldrb r3, [r3, #0] 807a6d0: b2db uxtb r3, r3 807a6d2: 2b18 cmp r3, #24 807a6d4: f040 81a8 bne.w 807aa28 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807a6d8: 49ca ldr r1, [pc, #808] ; (807aa04 ) 807a6da: f04f 30ff mov.w r0, #4294967295 807a6de: f7d9 f865 bl 80537ac LCD_DisplayString(10, LCD_LINE_2, (char *)TEXT_Next[pardata.LANG]);//"Äàëåå" 807a6e2: 4bc9 ldr r3, [pc, #804] ; (807aa08 ) 807a6e4: 7b1b ldrb r3, [r3, #12] 807a6e6: b2db uxtb r3, r3 807a6e8: 461a mov r2, r3 807a6ea: 4bc8 ldr r3, [pc, #800] ; (807aa0c ) 807a6ec: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807a6f0: 461a mov r2, r3 807a6f2: 2127 movs r1, #39 ; 0x27 807a6f4: 200a movs r0, #10 807a6f6: f7d9 fe01 bl 80542fc LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807a6fa: 49c2 ldr r1, [pc, #776] ; (807aa04 ) 807a6fc: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807a700: f7d9 f854 bl 80537ac LCD_DisplayStringC(260, LCD_LINE_4, strLP); 807a704: f507 73cc add.w r3, r7, #408 ; 0x198 807a708: 461a mov r2, r3 807a70a: 214a movs r1, #74 ; 0x4a 807a70c: f44f 7082 mov.w r0, #260 ; 0x104 807a710: f7d9 fe0c bl 805432c if(pardata.HP >= 2.0f) 807a714: 4bbc ldr r3, [pc, #752] ; (807aa08 ) 807a716: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 807a71a: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 807a71e: eef4 7ac7 vcmpe.f32 s15, s14 807a722: eef1 fa10 vmrs APSR_nzcv, fpscr 807a726: db53 blt.n 807a7d0 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807a728: 49b6 ldr r1, [pc, #728] ; (807aa04 ) 807a72a: f04f 30ff mov.w r0, #4294967295 807a72e: f7d9 f83d bl 80537ac LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_PARAM_VIB[pardata.LANG][3]);//"Çíà÷åíèå Ñêîðîñòè" 807a732: 4bb5 ldr r3, [pc, #724] ; (807aa08 ) 807a734: 7b1b ldrb r3, [r3, #12] 807a736: b2db uxtb r3, r3 807a738: 4619 mov r1, r3 807a73a: 4ab5 ldr r2, [pc, #724] ; (807aa10 ) 807a73c: 232c movs r3, #44 ; 0x2c 807a73e: fb03 f301 mul.w r3, r3, r1 807a742: 4413 add r3, r2 807a744: 330c adds r3, #12 807a746: 681b ldr r3, [r3, #0] 807a748: 461a mov r2, r3 807a74a: 216a movs r1, #106 ; 0x6a 807a74c: 200a movs r0, #10 807a74e: f7d9 fdd5 bl 80542fc LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_PARAM_VIB[pardata.LANG][4]);//"Çíà÷åíèå Ïåðåìåù" 807a752: 4bad ldr r3, [pc, #692] ; (807aa08 ) 807a754: 7b1b ldrb r3, [r3, #12] 807a756: b2db uxtb r3, r3 807a758: 4619 mov r1, r3 807a75a: 4aad ldr r2, [pc, #692] ; (807aa10 ) 807a75c: 232c movs r3, #44 ; 0x2c 807a75e: fb03 f301 mul.w r3, r3, r1 807a762: 4413 add r3, r2 807a764: 3310 adds r3, #16 807a766: 681b ldr r3, [r3, #0] 807a768: 461a mov r2, r3 807a76a: 217a movs r1, #122 ; 0x7a 807a76c: 200a movs r0, #10 807a76e: f7d9 fdc5 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807a772: 49a4 ldr r1, [pc, #656] ; (807aa04 ) 807a774: 48a7 ldr r0, [pc, #668] ; (807aa14 ) 807a776: f7d9 f819 bl 80537ac LCD_DisplayStringC(260, LCD_LINE_6, (char *) pIVS[pardata.LANG][pardata.IVS[VEL]]); 807a77a: 4ba3 ldr r3, [pc, #652] ; (807aa08 ) 807a77c: 7b1b ldrb r3, [r3, #12] 807a77e: b2db uxtb r3, r3 807a780: 4619 mov r1, r3 807a782: 4ba1 ldr r3, [pc, #644] ; (807aa08 ) 807a784: 78db ldrb r3, [r3, #3] 807a786: b2db uxtb r3, r3 807a788: 4618 mov r0, r3 807a78a: 4aa3 ldr r2, [pc, #652] ; (807aa18 ) 807a78c: 460b mov r3, r1 807a78e: 009b lsls r3, r3, #2 807a790: 440b add r3, r1 807a792: 4403 add r3, r0 807a794: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807a798: 461a mov r2, r3 807a79a: 216a movs r1, #106 ; 0x6a 807a79c: f44f 7082 mov.w r0, #260 ; 0x104 807a7a0: f7d9 fdc4 bl 805432c LCD_DisplayStringC(260, LCD_LINE_7, (char *) pIVS[pardata.LANG][pardata.IVS[DIS]]); 807a7a4: 4b98 ldr r3, [pc, #608] ; (807aa08 ) 807a7a6: 7b1b ldrb r3, [r3, #12] 807a7a8: b2db uxtb r3, r3 807a7aa: 4619 mov r1, r3 807a7ac: 4b96 ldr r3, [pc, #600] ; (807aa08 ) 807a7ae: 791b ldrb r3, [r3, #4] 807a7b0: b2db uxtb r3, r3 807a7b2: 4618 mov r0, r3 807a7b4: 4a98 ldr r2, [pc, #608] ; (807aa18 ) 807a7b6: 460b mov r3, r1 807a7b8: 009b lsls r3, r3, #2 807a7ba: 440b add r3, r1 807a7bc: 4403 add r3, r0 807a7be: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807a7c2: 461a mov r2, r3 807a7c4: 217a movs r1, #122 ; 0x7a 807a7c6: f44f 7082 mov.w r0, #260 ; 0x104 807a7ca: f7d9 fdaf bl 805432c 807a7ce: e04d b.n 807a86c } else { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 807a7d0: 498c ldr r1, [pc, #560] ; (807aa04 ) 807a7d2: 4892 ldr r0, [pc, #584] ; (807aa1c ) 807a7d4: f7d8 ffea bl 80537ac LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_PARAM_VIB[pardata.LANG][3]);//"Çíà÷åíèå Ñêîðîñòè" 807a7d8: 4b8b ldr r3, [pc, #556] ; (807aa08 ) 807a7da: 7b1b ldrb r3, [r3, #12] 807a7dc: b2db uxtb r3, r3 807a7de: 4619 mov r1, r3 807a7e0: 4a8b ldr r2, [pc, #556] ; (807aa10 ) 807a7e2: 232c movs r3, #44 ; 0x2c 807a7e4: fb03 f301 mul.w r3, r3, r1 807a7e8: 4413 add r3, r2 807a7ea: 330c adds r3, #12 807a7ec: 681b ldr r3, [r3, #0] 807a7ee: 461a mov r2, r3 807a7f0: 216a movs r1, #106 ; 0x6a 807a7f2: 200a movs r0, #10 807a7f4: f7d9 fd82 bl 80542fc LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_PARAM_VIB[pardata.LANG][4]);//"Çíà÷åíèå Ïåðåìåù" 807a7f8: 4b83 ldr r3, [pc, #524] ; (807aa08 ) 807a7fa: 7b1b ldrb r3, [r3, #12] 807a7fc: b2db uxtb r3, r3 807a7fe: 4619 mov r1, r3 807a800: 4a83 ldr r2, [pc, #524] ; (807aa10 ) 807a802: 232c movs r3, #44 ; 0x2c 807a804: fb03 f301 mul.w r3, r3, r1 807a808: 4413 add r3, r2 807a80a: 3310 adds r3, #16 807a80c: 681b ldr r3, [r3, #0] 807a80e: 461a mov r2, r3 807a810: 217a movs r1, #122 ; 0x7a 807a812: 200a movs r0, #10 807a814: f7d9 fd72 bl 80542fc LCD_DisplayStringC(260, LCD_LINE_6, (char *) pIVS[pardata.LANG][pardata.IVS[VEL]]); 807a818: 4b7b ldr r3, [pc, #492] ; (807aa08 ) 807a81a: 7b1b ldrb r3, [r3, #12] 807a81c: b2db uxtb r3, r3 807a81e: 4619 mov r1, r3 807a820: 4b79 ldr r3, [pc, #484] ; (807aa08 ) 807a822: 78db ldrb r3, [r3, #3] 807a824: b2db uxtb r3, r3 807a826: 4618 mov r0, r3 807a828: 4a7b ldr r2, [pc, #492] ; (807aa18 ) 807a82a: 460b mov r3, r1 807a82c: 009b lsls r3, r3, #2 807a82e: 440b add r3, r1 807a830: 4403 add r3, r0 807a832: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807a836: 461a mov r2, r3 807a838: 216a movs r1, #106 ; 0x6a 807a83a: f44f 7082 mov.w r0, #260 ; 0x104 807a83e: f7d9 fd75 bl 805432c LCD_DisplayStringC(260, LCD_LINE_7, (char *) pIVS[pardata.LANG][pardata.IVS[DIS]]); 807a842: 4b71 ldr r3, [pc, #452] ; (807aa08 ) 807a844: 7b1b ldrb r3, [r3, #12] 807a846: b2db uxtb r3, r3 807a848: 4619 mov r1, r3 807a84a: 4b6f ldr r3, [pc, #444] ; (807aa08 ) 807a84c: 791b ldrb r3, [r3, #4] 807a84e: b2db uxtb r3, r3 807a850: 4618 mov r0, r3 807a852: 4a71 ldr r2, [pc, #452] ; (807aa18 ) 807a854: 460b mov r3, r1 807a856: 009b lsls r3, r3, #2 807a858: 440b add r3, r1 807a85a: 4403 add r3, r0 807a85c: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807a860: 461a mov r2, r3 807a862: 217a movs r1, #122 ; 0x7a 807a864: f44f 7082 mov.w r0, #260 ; 0x104 807a868: f7d9 fd60 bl 805432c } LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807a86c: 4965 ldr r1, [pc, #404] ; (807aa04 ) 807a86e: 4869 ldr r0, [pc, #420] ; (807aa14 ) 807a870: f7d8 ff9c bl 80537ac LCD_DisplayStringC(260, LCD_LINE_3, strHP); 807a874: f507 73d2 add.w r3, r7, #420 ; 0x1a4 807a878: 461a mov r2, r3 807a87a: 213a movs r1, #58 ; 0x3a 807a87c: f44f 7082 mov.w r0, #260 ; 0x104 807a880: f7d9 fd54 bl 805432c LCD_DisplayStringC(260, LCD_LINE_5, (char *) pIVS[pardata.LANG][pardata.IVS[ACC]]); 807a884: 4b60 ldr r3, [pc, #384] ; (807aa08 ) 807a886: 7b1b ldrb r3, [r3, #12] 807a888: b2db uxtb r3, r3 807a88a: 4619 mov r1, r3 807a88c: 4b5e ldr r3, [pc, #376] ; (807aa08 ) 807a88e: 789b ldrb r3, [r3, #2] 807a890: b2db uxtb r3, r3 807a892: 4618 mov r0, r3 807a894: 4a60 ldr r2, [pc, #384] ; (807aa18 ) 807a896: 460b mov r3, r1 807a898: 009b lsls r3, r3, #2 807a89a: 440b add r3, r1 807a89c: 4403 add r3, r0 807a89e: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807a8a2: 461a mov r2, r3 807a8a4: 215a movs r1, #90 ; 0x5a 807a8a6: f44f 7082 mov.w r0, #260 ; 0x104 807a8aa: f7d9 fd3f bl 805432c LCD_DisplayStringC(260, LCD_LINE_8, (char *) pAVERAGE_SEC[pardata.LANG][pardata.AVG]); 807a8ae: 4b56 ldr r3, [pc, #344] ; (807aa08 ) 807a8b0: 7b1b ldrb r3, [r3, #12] 807a8b2: b2db uxtb r3, r3 807a8b4: 4619 mov r1, r3 807a8b6: 4b54 ldr r3, [pc, #336] ; (807aa08 ) 807a8b8: 7b5b ldrb r3, [r3, #13] 807a8ba: b2db uxtb r3, r3 807a8bc: 4618 mov r0, r3 807a8be: 4a58 ldr r2, [pc, #352] ; (807aa20 ) 807a8c0: 460b mov r3, r1 807a8c2: 009b lsls r3, r3, #2 807a8c4: 440b add r3, r1 807a8c6: 005b lsls r3, r3, #1 807a8c8: 4403 add r3, r0 807a8ca: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807a8ce: 461a mov r2, r3 807a8d0: 218a movs r1, #138 ; 0x8a 807a8d2: f44f 7082 mov.w r0, #260 ; 0x104 807a8d6: f7d9 fd29 bl 805432c LCD_DisplayStringC(260, LCD_LINE_13, str1); 807a8da: f507 73f6 add.w r3, r7, #492 ; 0x1ec 807a8de: 461a mov r2, r3 807a8e0: 21da movs r1, #218 ; 0xda 807a8e2: f44f 7082 mov.w r0, #260 ; 0x104 807a8e6: f7d9 fd21 bl 805432c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807a8ea: 4946 ldr r1, [pc, #280] ; (807aa04 ) 807a8ec: f04f 30ff mov.w r0, #4294967295 807a8f0: f7d8 ff5c bl 80537ac BSP_LCD_FillRect(255, 157, 10, 10); 807a8f4: 230a movs r3, #10 807a8f6: 220a movs r2, #10 807a8f8: 219d movs r1, #157 ; 0x9d 807a8fa: 20ff movs r0, #255 ; 0xff 807a8fc: f7d9 fbe4 bl 80540c8 BSP_LCD_FillRect(255, 173, 10, 10); 807a900: 230a movs r3, #10 807a902: 220a movs r2, #10 807a904: 21ad movs r1, #173 ; 0xad 807a906: 20ff movs r0, #255 ; 0xff 807a908: f7d9 fbde bl 80540c8 BSP_LCD_FillRect(255, 189, 10, 10); 807a90c: 230a movs r3, #10 807a90e: 220a movs r2, #10 807a910: 21bd movs r1, #189 ; 0xbd 807a912: 20ff movs r0, #255 ; 0xff 807a914: f7d9 fbd8 bl 80540c8 if(pardata.OPTIONS & 0x4) // åñëè àâòîóñèëåíèå 807a918: 4b3b ldr r3, [pc, #236] ; (807aa08 ) 807a91a: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 807a91e: f003 0304 and.w r3, r3, #4 807a922: 2b00 cmp r3, #0 807a924: d033 beq.n 807a98e { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 807a926: 4937 ldr r1, [pc, #220] ; (807aa04 ) 807a928: 483c ldr r0, [pc, #240] ; (807aa1c ) 807a92a: f7d8 ff3f bl 80537ac if(pardata.IIN != VOLTS) 807a92e: 4b36 ldr r3, [pc, #216] ; (807aa08 ) 807a930: 799b ldrb r3, [r3, #6] 807a932: b2db uxtb r3, r3 807a934: 2b02 cmp r3, #2 807a936: d010 beq.n 807a95a LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807a938: 4b33 ldr r3, [pc, #204] ; (807aa08 ) 807a93a: 7b1b ldrb r3, [r3, #12] 807a93c: b2db uxtb r3, r3 807a93e: 4619 mov r1, r3 807a940: 4a33 ldr r2, [pc, #204] ; (807aa10 ) 807a942: 232c movs r3, #44 ; 0x2c 807a944: fb03 f301 mul.w r3, r3, r1 807a948: 4413 add r3, r2 807a94a: 3324 adds r3, #36 ; 0x24 807a94c: 681b ldr r3, [r3, #0] 807a94e: 461a mov r2, r3 807a950: 21ca movs r1, #202 ; 0xca 807a952: 200a movs r0, #10 807a954: f7d9 fcd2 bl 80542fc 807a958: e00f b.n 807a97a else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807a95a: 4b2b ldr r3, [pc, #172] ; (807aa08 ) 807a95c: 7b1b ldrb r3, [r3, #12] 807a95e: b2db uxtb r3, r3 807a960: 4619 mov r1, r3 807a962: 4a30 ldr r2, [pc, #192] ; (807aa24 ) 807a964: 232c movs r3, #44 ; 0x2c 807a966: fb03 f301 mul.w r3, r3, r1 807a96a: 4413 add r3, r2 807a96c: 3324 adds r3, #36 ; 0x24 807a96e: 681b ldr r3, [r3, #0] 807a970: 461a mov r2, r3 807a972: 21ca movs r1, #202 ; 0xca 807a974: 200a movs r0, #10 807a976: f7d9 fcc1 bl 80542fc LCD_DisplayStringC(260, LCD_LINE_12, str); 807a97a: f507 733b add.w r3, r7, #748 ; 0x2ec 807a97e: 461a mov r2, r3 807a980: 21ca movs r1, #202 ; 0xca 807a982: f44f 7082 mov.w r0, #260 ; 0x104 807a986: f7d9 fcd1 bl 805432c 807a98a: f003 b951 b.w 807dc30 } else { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807a98e: 491d ldr r1, [pc, #116] ; (807aa04 ) 807a990: f04f 30ff mov.w r0, #4294967295 807a994: f7d8 ff0a bl 80537ac if(pardata.IIN != VOLTS) 807a998: 4b1b ldr r3, [pc, #108] ; (807aa08 ) 807a99a: 799b ldrb r3, [r3, #6] 807a99c: b2db uxtb r3, r3 807a99e: 2b02 cmp r3, #2 807a9a0: d010 beq.n 807a9c4 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807a9a2: 4b19 ldr r3, [pc, #100] ; (807aa08 ) 807a9a4: 7b1b ldrb r3, [r3, #12] 807a9a6: b2db uxtb r3, r3 807a9a8: 4619 mov r1, r3 807a9aa: 4a19 ldr r2, [pc, #100] ; (807aa10 ) 807a9ac: 232c movs r3, #44 ; 0x2c 807a9ae: fb03 f301 mul.w r3, r3, r1 807a9b2: 4413 add r3, r2 807a9b4: 3324 adds r3, #36 ; 0x24 807a9b6: 681b ldr r3, [r3, #0] 807a9b8: 461a mov r2, r3 807a9ba: 21ca movs r1, #202 ; 0xca 807a9bc: 200a movs r0, #10 807a9be: f7d9 fc9d bl 80542fc 807a9c2: e00f b.n 807a9e4 else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807a9c4: 4b10 ldr r3, [pc, #64] ; (807aa08 ) 807a9c6: 7b1b ldrb r3, [r3, #12] 807a9c8: b2db uxtb r3, r3 807a9ca: 4619 mov r1, r3 807a9cc: 4a15 ldr r2, [pc, #84] ; (807aa24 ) 807a9ce: 232c movs r3, #44 ; 0x2c 807a9d0: fb03 f301 mul.w r3, r3, r1 807a9d4: 4413 add r3, r2 807a9d6: 3324 adds r3, #36 ; 0x24 807a9d8: 681b ldr r3, [r3, #0] 807a9da: 461a mov r2, r3 807a9dc: 21ca movs r1, #202 ; 0xca 807a9de: 200a movs r0, #10 807a9e0: f7d9 fc8c bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807a9e4: 4907 ldr r1, [pc, #28] ; (807aa04 ) 807a9e6: 480b ldr r0, [pc, #44] ; (807aa14 ) 807a9e8: f7d8 fee0 bl 80537ac LCD_DisplayStringC(260, LCD_LINE_12, str); 807a9ec: f507 733b add.w r3, r7, #748 ; 0x2ec 807a9f0: 461a mov r2, r3 807a9f2: 21ca movs r1, #202 ; 0xca 807a9f4: f44f 7082 mov.w r0, #260 ; 0x104 807a9f8: f7d9 fc98 bl 805432c 807a9fc: f003 b918 b.w 807dc30 807aa00: 20020070 .word 0x20020070 807aa04: ff0a0f1f .word 0xff0a0f1f 807aa08: 20023e60 .word 0x20023e60 807aa0c: 200205c4 .word 0x200205c4 807aa10: 200206b4 .word 0x200206b4 807aa14: ffd8aa57 .word 0xffd8aa57 807aa18: 200202bc .word 0x200202bc 807aa1c: ff808080 .word 0xff808080 807aa20: 2002024c .word 0x2002024c 807aa24: 2002070c .word 0x2002070c } } else if(menupos == ValueA) 807aa28: 4bbf ldr r3, [pc, #764] ; (807ad28 ) 807aa2a: 781b ldrb r3, [r3, #0] 807aa2c: b2db uxtb r3, r3 807aa2e: 2b02 cmp r3, #2 807aa30: f040 81cb bne.w 807adca { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807aa34: 49bd ldr r1, [pc, #756] ; (807ad2c ) 807aa36: f04f 30ff mov.w r0, #4294967295 807aa3a: f7d8 feb7 bl 80537ac LCD_DisplayString(10, LCD_LINE_2, (char *)TEXT_Next[pardata.LANG]);//"Äàëåå" 807aa3e: 4bbc ldr r3, [pc, #752] ; (807ad30 ) 807aa40: 7b1b ldrb r3, [r3, #12] 807aa42: b2db uxtb r3, r3 807aa44: 461a mov r2, r3 807aa46: 4bbb ldr r3, [pc, #748] ; (807ad34 ) 807aa48: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807aa4c: 461a mov r2, r3 807aa4e: 2127 movs r1, #39 ; 0x27 807aa50: 200a movs r0, #10 807aa52: f7d9 fc53 bl 80542fc LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807aa56: 49b5 ldr r1, [pc, #724] ; (807ad2c ) 807aa58: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807aa5c: f7d8 fea6 bl 80537ac if(focused) 807aa60: 4bb5 ldr r3, [pc, #724] ; (807ad38 ) 807aa62: 781b ldrb r3, [r3, #0] 807aa64: b2db uxtb r3, r3 807aa66: 2b00 cmp r3, #0 807aa68: d019 beq.n 807aa9e { if(blk) 807aa6a: 4bb4 ldr r3, [pc, #720] ; (807ad3c ) 807aa6c: 681b ldr r3, [r3, #0] 807aa6e: 2b00 cmp r3, #0 807aa70: d02a beq.n 807aac8 LCD_DisplayStringC(260, LCD_LINE_5, (char *) pIVS[pardata.LANG][pardata.IVS[ACC]]); 807aa72: 4baf ldr r3, [pc, #700] ; (807ad30 ) 807aa74: 7b1b ldrb r3, [r3, #12] 807aa76: b2db uxtb r3, r3 807aa78: 4619 mov r1, r3 807aa7a: 4bad ldr r3, [pc, #692] ; (807ad30 ) 807aa7c: 789b ldrb r3, [r3, #2] 807aa7e: b2db uxtb r3, r3 807aa80: 4618 mov r0, r3 807aa82: 4aaf ldr r2, [pc, #700] ; (807ad40 ) 807aa84: 460b mov r3, r1 807aa86: 009b lsls r3, r3, #2 807aa88: 440b add r3, r1 807aa8a: 4403 add r3, r0 807aa8c: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807aa90: 461a mov r2, r3 807aa92: 215a movs r1, #90 ; 0x5a 807aa94: f44f 7082 mov.w r0, #260 ; 0x104 807aa98: f7d9 fc48 bl 805432c 807aa9c: e014 b.n 807aac8 } else LCD_DisplayStringC(260, LCD_LINE_5, (char *) pIVS[pardata.LANG][pardata.IVS[ACC]]); 807aa9e: 4ba4 ldr r3, [pc, #656] ; (807ad30 ) 807aaa0: 7b1b ldrb r3, [r3, #12] 807aaa2: b2db uxtb r3, r3 807aaa4: 4619 mov r1, r3 807aaa6: 4ba2 ldr r3, [pc, #648] ; (807ad30 ) 807aaa8: 789b ldrb r3, [r3, #2] 807aaaa: b2db uxtb r3, r3 807aaac: 4618 mov r0, r3 807aaae: 4aa4 ldr r2, [pc, #656] ; (807ad40 ) 807aab0: 460b mov r3, r1 807aab2: 009b lsls r3, r3, #2 807aab4: 440b add r3, r1 807aab6: 4403 add r3, r0 807aab8: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807aabc: 461a mov r2, r3 807aabe: 215a movs r1, #90 ; 0x5a 807aac0: f44f 7082 mov.w r0, #260 ; 0x104 807aac4: f7d9 fc32 bl 805432c if(pardata.HP >= 2.0f) 807aac8: 4b99 ldr r3, [pc, #612] ; (807ad30 ) 807aaca: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 807aace: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 807aad2: eef4 7ac7 vcmpe.f32 s15, s14 807aad6: eef1 fa10 vmrs APSR_nzcv, fpscr 807aada: db53 blt.n 807ab84 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807aadc: 4993 ldr r1, [pc, #588] ; (807ad2c ) 807aade: f04f 30ff mov.w r0, #4294967295 807aae2: f7d8 fe63 bl 80537ac LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_PARAM_VIB[pardata.LANG][3]);//"Çíà÷åíèå Ñêîðîñòè" 807aae6: 4b92 ldr r3, [pc, #584] ; (807ad30 ) 807aae8: 7b1b ldrb r3, [r3, #12] 807aaea: b2db uxtb r3, r3 807aaec: 4619 mov r1, r3 807aaee: 4a95 ldr r2, [pc, #596] ; (807ad44 ) 807aaf0: 232c movs r3, #44 ; 0x2c 807aaf2: fb03 f301 mul.w r3, r3, r1 807aaf6: 4413 add r3, r2 807aaf8: 330c adds r3, #12 807aafa: 681b ldr r3, [r3, #0] 807aafc: 461a mov r2, r3 807aafe: 216a movs r1, #106 ; 0x6a 807ab00: 200a movs r0, #10 807ab02: f7d9 fbfb bl 80542fc LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_PARAM_VIB[pardata.LANG][4]);//"Çíà÷åíèå Ïåðåìåù" 807ab06: 4b8a ldr r3, [pc, #552] ; (807ad30 ) 807ab08: 7b1b ldrb r3, [r3, #12] 807ab0a: b2db uxtb r3, r3 807ab0c: 4619 mov r1, r3 807ab0e: 4a8d ldr r2, [pc, #564] ; (807ad44 ) 807ab10: 232c movs r3, #44 ; 0x2c 807ab12: fb03 f301 mul.w r3, r3, r1 807ab16: 4413 add r3, r2 807ab18: 3310 adds r3, #16 807ab1a: 681b ldr r3, [r3, #0] 807ab1c: 461a mov r2, r3 807ab1e: 217a movs r1, #122 ; 0x7a 807ab20: 200a movs r0, #10 807ab22: f7d9 fbeb bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807ab26: 4981 ldr r1, [pc, #516] ; (807ad2c ) 807ab28: 4887 ldr r0, [pc, #540] ; (807ad48 ) 807ab2a: f7d8 fe3f bl 80537ac LCD_DisplayStringC(260, LCD_LINE_6, (char *) pIVS[pardata.LANG][pardata.IVS[VEL]]); 807ab2e: 4b80 ldr r3, [pc, #512] ; (807ad30 ) 807ab30: 7b1b ldrb r3, [r3, #12] 807ab32: b2db uxtb r3, r3 807ab34: 4619 mov r1, r3 807ab36: 4b7e ldr r3, [pc, #504] ; (807ad30 ) 807ab38: 78db ldrb r3, [r3, #3] 807ab3a: b2db uxtb r3, r3 807ab3c: 4618 mov r0, r3 807ab3e: 4a80 ldr r2, [pc, #512] ; (807ad40 ) 807ab40: 460b mov r3, r1 807ab42: 009b lsls r3, r3, #2 807ab44: 440b add r3, r1 807ab46: 4403 add r3, r0 807ab48: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807ab4c: 461a mov r2, r3 807ab4e: 216a movs r1, #106 ; 0x6a 807ab50: f44f 7082 mov.w r0, #260 ; 0x104 807ab54: f7d9 fbea bl 805432c LCD_DisplayStringC(260, LCD_LINE_7, (char *) pIVS[pardata.LANG][pardata.IVS[DIS]]); 807ab58: 4b75 ldr r3, [pc, #468] ; (807ad30 ) 807ab5a: 7b1b ldrb r3, [r3, #12] 807ab5c: b2db uxtb r3, r3 807ab5e: 4619 mov r1, r3 807ab60: 4b73 ldr r3, [pc, #460] ; (807ad30 ) 807ab62: 791b ldrb r3, [r3, #4] 807ab64: b2db uxtb r3, r3 807ab66: 4618 mov r0, r3 807ab68: 4a75 ldr r2, [pc, #468] ; (807ad40 ) 807ab6a: 460b mov r3, r1 807ab6c: 009b lsls r3, r3, #2 807ab6e: 440b add r3, r1 807ab70: 4403 add r3, r0 807ab72: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807ab76: 461a mov r2, r3 807ab78: 217a movs r1, #122 ; 0x7a 807ab7a: f44f 7082 mov.w r0, #260 ; 0x104 807ab7e: f7d9 fbd5 bl 805432c 807ab82: e04d b.n 807ac20 } else { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 807ab84: 4969 ldr r1, [pc, #420] ; (807ad2c ) 807ab86: 4871 ldr r0, [pc, #452] ; (807ad4c ) 807ab88: f7d8 fe10 bl 80537ac LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_PARAM_VIB[pardata.LANG][3]);//"Çíà÷åíèå Ñêîðîñòè" 807ab8c: 4b68 ldr r3, [pc, #416] ; (807ad30 ) 807ab8e: 7b1b ldrb r3, [r3, #12] 807ab90: b2db uxtb r3, r3 807ab92: 4619 mov r1, r3 807ab94: 4a6b ldr r2, [pc, #428] ; (807ad44 ) 807ab96: 232c movs r3, #44 ; 0x2c 807ab98: fb03 f301 mul.w r3, r3, r1 807ab9c: 4413 add r3, r2 807ab9e: 330c adds r3, #12 807aba0: 681b ldr r3, [r3, #0] 807aba2: 461a mov r2, r3 807aba4: 216a movs r1, #106 ; 0x6a 807aba6: 200a movs r0, #10 807aba8: f7d9 fba8 bl 80542fc LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_PARAM_VIB[pardata.LANG][4]);//"Çíà÷åíèå Ïåðåìåù" 807abac: 4b60 ldr r3, [pc, #384] ; (807ad30 ) 807abae: 7b1b ldrb r3, [r3, #12] 807abb0: b2db uxtb r3, r3 807abb2: 4619 mov r1, r3 807abb4: 4a63 ldr r2, [pc, #396] ; (807ad44 ) 807abb6: 232c movs r3, #44 ; 0x2c 807abb8: fb03 f301 mul.w r3, r3, r1 807abbc: 4413 add r3, r2 807abbe: 3310 adds r3, #16 807abc0: 681b ldr r3, [r3, #0] 807abc2: 461a mov r2, r3 807abc4: 217a movs r1, #122 ; 0x7a 807abc6: 200a movs r0, #10 807abc8: f7d9 fb98 bl 80542fc LCD_DisplayStringC(260, LCD_LINE_6, (char *) pIVS[pardata.LANG][pardata.IVS[VEL]]); 807abcc: 4b58 ldr r3, [pc, #352] ; (807ad30 ) 807abce: 7b1b ldrb r3, [r3, #12] 807abd0: b2db uxtb r3, r3 807abd2: 4619 mov r1, r3 807abd4: 4b56 ldr r3, [pc, #344] ; (807ad30 ) 807abd6: 78db ldrb r3, [r3, #3] 807abd8: b2db uxtb r3, r3 807abda: 4618 mov r0, r3 807abdc: 4a58 ldr r2, [pc, #352] ; (807ad40 ) 807abde: 460b mov r3, r1 807abe0: 009b lsls r3, r3, #2 807abe2: 440b add r3, r1 807abe4: 4403 add r3, r0 807abe6: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807abea: 461a mov r2, r3 807abec: 216a movs r1, #106 ; 0x6a 807abee: f44f 7082 mov.w r0, #260 ; 0x104 807abf2: f7d9 fb9b bl 805432c LCD_DisplayStringC(260, LCD_LINE_7, (char *) pIVS[pardata.LANG][pardata.IVS[DIS]]); 807abf6: 4b4e ldr r3, [pc, #312] ; (807ad30 ) 807abf8: 7b1b ldrb r3, [r3, #12] 807abfa: b2db uxtb r3, r3 807abfc: 4619 mov r1, r3 807abfe: 4b4c ldr r3, [pc, #304] ; (807ad30 ) 807ac00: 791b ldrb r3, [r3, #4] 807ac02: b2db uxtb r3, r3 807ac04: 4618 mov r0, r3 807ac06: 4a4e ldr r2, [pc, #312] ; (807ad40 ) 807ac08: 460b mov r3, r1 807ac0a: 009b lsls r3, r3, #2 807ac0c: 440b add r3, r1 807ac0e: 4403 add r3, r0 807ac10: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807ac14: 461a mov r2, r3 807ac16: 217a movs r1, #122 ; 0x7a 807ac18: f44f 7082 mov.w r0, #260 ; 0x104 807ac1c: f7d9 fb86 bl 805432c } LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807ac20: 4942 ldr r1, [pc, #264] ; (807ad2c ) 807ac22: 4849 ldr r0, [pc, #292] ; (807ad48 ) 807ac24: f7d8 fdc2 bl 80537ac LCD_DisplayStringC(260, LCD_LINE_3, strHP); 807ac28: f507 73d2 add.w r3, r7, #420 ; 0x1a4 807ac2c: 461a mov r2, r3 807ac2e: 213a movs r1, #58 ; 0x3a 807ac30: f44f 7082 mov.w r0, #260 ; 0x104 807ac34: f7d9 fb7a bl 805432c LCD_DisplayStringC(260, LCD_LINE_4, strLP); 807ac38: f507 73cc add.w r3, r7, #408 ; 0x198 807ac3c: 461a mov r2, r3 807ac3e: 214a movs r1, #74 ; 0x4a 807ac40: f44f 7082 mov.w r0, #260 ; 0x104 807ac44: f7d9 fb72 bl 805432c LCD_DisplayStringC(260, LCD_LINE_8, (char *) pAVERAGE_SEC[pardata.LANG][pardata.AVG]); 807ac48: 4b39 ldr r3, [pc, #228] ; (807ad30 ) 807ac4a: 7b1b ldrb r3, [r3, #12] 807ac4c: b2db uxtb r3, r3 807ac4e: 4619 mov r1, r3 807ac50: 4b37 ldr r3, [pc, #220] ; (807ad30 ) 807ac52: 7b5b ldrb r3, [r3, #13] 807ac54: b2db uxtb r3, r3 807ac56: 4618 mov r0, r3 807ac58: 4a3d ldr r2, [pc, #244] ; (807ad50 ) 807ac5a: 460b mov r3, r1 807ac5c: 009b lsls r3, r3, #2 807ac5e: 440b add r3, r1 807ac60: 005b lsls r3, r3, #1 807ac62: 4403 add r3, r0 807ac64: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807ac68: 461a mov r2, r3 807ac6a: 218a movs r1, #138 ; 0x8a 807ac6c: f44f 7082 mov.w r0, #260 ; 0x104 807ac70: f7d9 fb5c bl 805432c LCD_DisplayStringC(260, LCD_LINE_13, str1); 807ac74: f507 73f6 add.w r3, r7, #492 ; 0x1ec 807ac78: 461a mov r2, r3 807ac7a: 21da movs r1, #218 ; 0xda 807ac7c: f44f 7082 mov.w r0, #260 ; 0x104 807ac80: f7d9 fb54 bl 805432c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807ac84: 4929 ldr r1, [pc, #164] ; (807ad2c ) 807ac86: f04f 30ff mov.w r0, #4294967295 807ac8a: f7d8 fd8f bl 80537ac BSP_LCD_FillRect(255, 157, 10, 10); 807ac8e: 230a movs r3, #10 807ac90: 220a movs r2, #10 807ac92: 219d movs r1, #157 ; 0x9d 807ac94: 20ff movs r0, #255 ; 0xff 807ac96: f7d9 fa17 bl 80540c8 BSP_LCD_FillRect(255, 173, 10, 10); 807ac9a: 230a movs r3, #10 807ac9c: 220a movs r2, #10 807ac9e: 21ad movs r1, #173 ; 0xad 807aca0: 20ff movs r0, #255 ; 0xff 807aca2: f7d9 fa11 bl 80540c8 BSP_LCD_FillRect(255, 189, 10, 10); 807aca6: 230a movs r3, #10 807aca8: 220a movs r2, #10 807acaa: 21bd movs r1, #189 ; 0xbd 807acac: 20ff movs r0, #255 ; 0xff 807acae: f7d9 fa0b bl 80540c8 if(pardata.OPTIONS & 0x4) // åñëè àâòîóñèëåíèå 807acb2: 4b1f ldr r3, [pc, #124] ; (807ad30 ) 807acb4: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 807acb8: f003 0304 and.w r3, r3, #4 807acbc: 2b00 cmp r3, #0 807acbe: d04b beq.n 807ad58 { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 807acc0: 491a ldr r1, [pc, #104] ; (807ad2c ) 807acc2: 4822 ldr r0, [pc, #136] ; (807ad4c ) 807acc4: f7d8 fd72 bl 80537ac if(pardata.IIN != VOLTS) 807acc8: 4b19 ldr r3, [pc, #100] ; (807ad30 ) 807acca: 799b ldrb r3, [r3, #6] 807accc: b2db uxtb r3, r3 807acce: 2b02 cmp r3, #2 807acd0: d010 beq.n 807acf4 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807acd2: 4b17 ldr r3, [pc, #92] ; (807ad30 ) 807acd4: 7b1b ldrb r3, [r3, #12] 807acd6: b2db uxtb r3, r3 807acd8: 4619 mov r1, r3 807acda: 4a1a ldr r2, [pc, #104] ; (807ad44 ) 807acdc: 232c movs r3, #44 ; 0x2c 807acde: fb03 f301 mul.w r3, r3, r1 807ace2: 4413 add r3, r2 807ace4: 3324 adds r3, #36 ; 0x24 807ace6: 681b ldr r3, [r3, #0] 807ace8: 461a mov r2, r3 807acea: 21ca movs r1, #202 ; 0xca 807acec: 200a movs r0, #10 807acee: f7d9 fb05 bl 80542fc 807acf2: e00f b.n 807ad14 else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807acf4: 4b0e ldr r3, [pc, #56] ; (807ad30 ) 807acf6: 7b1b ldrb r3, [r3, #12] 807acf8: b2db uxtb r3, r3 807acfa: 4619 mov r1, r3 807acfc: 4a15 ldr r2, [pc, #84] ; (807ad54 ) 807acfe: 232c movs r3, #44 ; 0x2c 807ad00: fb03 f301 mul.w r3, r3, r1 807ad04: 4413 add r3, r2 807ad06: 3324 adds r3, #36 ; 0x24 807ad08: 681b ldr r3, [r3, #0] 807ad0a: 461a mov r2, r3 807ad0c: 21ca movs r1, #202 ; 0xca 807ad0e: 200a movs r0, #10 807ad10: f7d9 faf4 bl 80542fc LCD_DisplayStringC(260, LCD_LINE_12, str); 807ad14: f507 733b add.w r3, r7, #748 ; 0x2ec 807ad18: 461a mov r2, r3 807ad1a: 21ca movs r1, #202 ; 0xca 807ad1c: f44f 7082 mov.w r0, #260 ; 0x104 807ad20: f7d9 fb04 bl 805432c 807ad24: f002 bf84 b.w 807dc30 807ad28: 20020070 .word 0x20020070 807ad2c: ff0a0f1f .word 0xff0a0f1f 807ad30: 20023e60 .word 0x20023e60 807ad34: 200205c4 .word 0x200205c4 807ad38: 20020f84 .word 0x20020f84 807ad3c: 2002165c .word 0x2002165c 807ad40: 200202bc .word 0x200202bc 807ad44: 200206b4 .word 0x200206b4 807ad48: ffd8aa57 .word 0xffd8aa57 807ad4c: ff808080 .word 0xff808080 807ad50: 2002024c .word 0x2002024c 807ad54: 2002070c .word 0x2002070c } else { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807ad58: 49c7 ldr r1, [pc, #796] ; (807b078 ) 807ad5a: f04f 30ff mov.w r0, #4294967295 807ad5e: f7d8 fd25 bl 80537ac if(pardata.IIN != VOLTS) 807ad62: 4bc6 ldr r3, [pc, #792] ; (807b07c ) 807ad64: 799b ldrb r3, [r3, #6] 807ad66: b2db uxtb r3, r3 807ad68: 2b02 cmp r3, #2 807ad6a: d010 beq.n 807ad8e LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807ad6c: 4bc3 ldr r3, [pc, #780] ; (807b07c ) 807ad6e: 7b1b ldrb r3, [r3, #12] 807ad70: b2db uxtb r3, r3 807ad72: 4619 mov r1, r3 807ad74: 4ac2 ldr r2, [pc, #776] ; (807b080 ) 807ad76: 232c movs r3, #44 ; 0x2c 807ad78: fb03 f301 mul.w r3, r3, r1 807ad7c: 4413 add r3, r2 807ad7e: 3324 adds r3, #36 ; 0x24 807ad80: 681b ldr r3, [r3, #0] 807ad82: 461a mov r2, r3 807ad84: 21ca movs r1, #202 ; 0xca 807ad86: 200a movs r0, #10 807ad88: f7d9 fab8 bl 80542fc 807ad8c: e00f b.n 807adae else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807ad8e: 4bbb ldr r3, [pc, #748] ; (807b07c ) 807ad90: 7b1b ldrb r3, [r3, #12] 807ad92: b2db uxtb r3, r3 807ad94: 4619 mov r1, r3 807ad96: 4abb ldr r2, [pc, #748] ; (807b084 ) 807ad98: 232c movs r3, #44 ; 0x2c 807ad9a: fb03 f301 mul.w r3, r3, r1 807ad9e: 4413 add r3, r2 807ada0: 3324 adds r3, #36 ; 0x24 807ada2: 681b ldr r3, [r3, #0] 807ada4: 461a mov r2, r3 807ada6: 21ca movs r1, #202 ; 0xca 807ada8: 200a movs r0, #10 807adaa: f7d9 faa7 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807adae: 49b2 ldr r1, [pc, #712] ; (807b078 ) 807adb0: 48b5 ldr r0, [pc, #724] ; (807b088 ) 807adb2: f7d8 fcfb bl 80537ac LCD_DisplayStringC(260, LCD_LINE_12, str); 807adb6: f507 733b add.w r3, r7, #748 ; 0x2ec 807adba: 461a mov r2, r3 807adbc: 21ca movs r1, #202 ; 0xca 807adbe: f44f 7082 mov.w r0, #260 ; 0x104 807adc2: f7d9 fab3 bl 805432c 807adc6: f002 bf33 b.w 807dc30 } } else if(menupos == ValueV) 807adca: 4bb0 ldr r3, [pc, #704] ; (807b08c ) 807adcc: 781b ldrb r3, [r3, #0] 807adce: b2db uxtb r3, r3 807add0: 2b03 cmp r3, #3 807add2: f040 8169 bne.w 807b0a8 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807add6: 49a8 ldr r1, [pc, #672] ; (807b078 ) 807add8: f04f 30ff mov.w r0, #4294967295 807addc: f7d8 fce6 bl 80537ac LCD_DisplayString(10, LCD_LINE_2, (char *)TEXT_Next[pardata.LANG]);//"Äàëåå" 807ade0: 4ba6 ldr r3, [pc, #664] ; (807b07c ) 807ade2: 7b1b ldrb r3, [r3, #12] 807ade4: b2db uxtb r3, r3 807ade6: 461a mov r2, r3 807ade8: 4ba9 ldr r3, [pc, #676] ; (807b090 ) 807adea: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807adee: 461a mov r2, r3 807adf0: 2127 movs r1, #39 ; 0x27 807adf2: 200a movs r0, #10 807adf4: f7d9 fa82 bl 80542fc LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_PARAM_VIB[pardata.LANG][3]);//"Çíà÷åíèå Ñêîðîñòè" 807adf8: 4ba0 ldr r3, [pc, #640] ; (807b07c ) 807adfa: 7b1b ldrb r3, [r3, #12] 807adfc: b2db uxtb r3, r3 807adfe: 4619 mov r1, r3 807ae00: 4a9f ldr r2, [pc, #636] ; (807b080 ) 807ae02: 232c movs r3, #44 ; 0x2c 807ae04: fb03 f301 mul.w r3, r3, r1 807ae08: 4413 add r3, r2 807ae0a: 330c adds r3, #12 807ae0c: 681b ldr r3, [r3, #0] 807ae0e: 461a mov r2, r3 807ae10: 216a movs r1, #106 ; 0x6a 807ae12: 200a movs r0, #10 807ae14: f7d9 fa72 bl 80542fc LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_PARAM_VIB[pardata.LANG][4]);//"Çíà÷åíèå Ïåðåìåù" 807ae18: 4b98 ldr r3, [pc, #608] ; (807b07c ) 807ae1a: 7b1b ldrb r3, [r3, #12] 807ae1c: b2db uxtb r3, r3 807ae1e: 4619 mov r1, r3 807ae20: 4a97 ldr r2, [pc, #604] ; (807b080 ) 807ae22: 232c movs r3, #44 ; 0x2c 807ae24: fb03 f301 mul.w r3, r3, r1 807ae28: 4413 add r3, r2 807ae2a: 3310 adds r3, #16 807ae2c: 681b ldr r3, [r3, #0] 807ae2e: 461a mov r2, r3 807ae30: 217a movs r1, #122 ; 0x7a 807ae32: 200a movs r0, #10 807ae34: f7d9 fa62 bl 80542fc LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807ae38: 498f ldr r1, [pc, #572] ; (807b078 ) 807ae3a: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807ae3e: f7d8 fcb5 bl 80537ac if(focused) 807ae42: 4b94 ldr r3, [pc, #592] ; (807b094 ) 807ae44: 781b ldrb r3, [r3, #0] 807ae46: b2db uxtb r3, r3 807ae48: 2b00 cmp r3, #0 807ae4a: d019 beq.n 807ae80 { if(blk) 807ae4c: 4b92 ldr r3, [pc, #584] ; (807b098 ) 807ae4e: 681b ldr r3, [r3, #0] 807ae50: 2b00 cmp r3, #0 807ae52: d02a beq.n 807aeaa LCD_DisplayStringC(260, LCD_LINE_6, (char *) pIVS[pardata.LANG][pardata.IVS[VEL]]); 807ae54: 4b89 ldr r3, [pc, #548] ; (807b07c ) 807ae56: 7b1b ldrb r3, [r3, #12] 807ae58: b2db uxtb r3, r3 807ae5a: 4619 mov r1, r3 807ae5c: 4b87 ldr r3, [pc, #540] ; (807b07c ) 807ae5e: 78db ldrb r3, [r3, #3] 807ae60: b2db uxtb r3, r3 807ae62: 4618 mov r0, r3 807ae64: 4a8d ldr r2, [pc, #564] ; (807b09c ) 807ae66: 460b mov r3, r1 807ae68: 009b lsls r3, r3, #2 807ae6a: 440b add r3, r1 807ae6c: 4403 add r3, r0 807ae6e: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807ae72: 461a mov r2, r3 807ae74: 216a movs r1, #106 ; 0x6a 807ae76: f44f 7082 mov.w r0, #260 ; 0x104 807ae7a: f7d9 fa57 bl 805432c 807ae7e: e014 b.n 807aeaa } else LCD_DisplayStringC(260, LCD_LINE_6, (char *) pIVS[pardata.LANG][pardata.IVS[VEL]]); 807ae80: 4b7e ldr r3, [pc, #504] ; (807b07c ) 807ae82: 7b1b ldrb r3, [r3, #12] 807ae84: b2db uxtb r3, r3 807ae86: 4619 mov r1, r3 807ae88: 4b7c ldr r3, [pc, #496] ; (807b07c ) 807ae8a: 78db ldrb r3, [r3, #3] 807ae8c: b2db uxtb r3, r3 807ae8e: 4618 mov r0, r3 807ae90: 4a82 ldr r2, [pc, #520] ; (807b09c ) 807ae92: 460b mov r3, r1 807ae94: 009b lsls r3, r3, #2 807ae96: 440b add r3, r1 807ae98: 4403 add r3, r0 807ae9a: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807ae9e: 461a mov r2, r3 807aea0: 216a movs r1, #106 ; 0x6a 807aea2: f44f 7082 mov.w r0, #260 ; 0x104 807aea6: f7d9 fa41 bl 805432c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807aeaa: 4973 ldr r1, [pc, #460] ; (807b078 ) 807aeac: 4876 ldr r0, [pc, #472] ; (807b088 ) 807aeae: f7d8 fc7d bl 80537ac LCD_DisplayStringC(260, LCD_LINE_3, strHP); 807aeb2: f507 73d2 add.w r3, r7, #420 ; 0x1a4 807aeb6: 461a mov r2, r3 807aeb8: 213a movs r1, #58 ; 0x3a 807aeba: f44f 7082 mov.w r0, #260 ; 0x104 807aebe: f7d9 fa35 bl 805432c LCD_DisplayStringC(260, LCD_LINE_4, strLP); 807aec2: f507 73cc add.w r3, r7, #408 ; 0x198 807aec6: 461a mov r2, r3 807aec8: 214a movs r1, #74 ; 0x4a 807aeca: f44f 7082 mov.w r0, #260 ; 0x104 807aece: f7d9 fa2d bl 805432c LCD_DisplayStringC(260, LCD_LINE_5, (char *) pIVS[pardata.LANG][pardata.IVS[ACC]]); 807aed2: 4b6a ldr r3, [pc, #424] ; (807b07c ) 807aed4: 7b1b ldrb r3, [r3, #12] 807aed6: b2db uxtb r3, r3 807aed8: 4619 mov r1, r3 807aeda: 4b68 ldr r3, [pc, #416] ; (807b07c ) 807aedc: 789b ldrb r3, [r3, #2] 807aede: b2db uxtb r3, r3 807aee0: 4618 mov r0, r3 807aee2: 4a6e ldr r2, [pc, #440] ; (807b09c ) 807aee4: 460b mov r3, r1 807aee6: 009b lsls r3, r3, #2 807aee8: 440b add r3, r1 807aeea: 4403 add r3, r0 807aeec: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807aef0: 461a mov r2, r3 807aef2: 215a movs r1, #90 ; 0x5a 807aef4: f44f 7082 mov.w r0, #260 ; 0x104 807aef8: f7d9 fa18 bl 805432c LCD_DisplayStringC(260, LCD_LINE_7, (char *) pIVS[pardata.LANG][pardata.IVS[DIS]]); 807aefc: 4b5f ldr r3, [pc, #380] ; (807b07c ) 807aefe: 7b1b ldrb r3, [r3, #12] 807af00: b2db uxtb r3, r3 807af02: 4619 mov r1, r3 807af04: 4b5d ldr r3, [pc, #372] ; (807b07c ) 807af06: 791b ldrb r3, [r3, #4] 807af08: b2db uxtb r3, r3 807af0a: 4618 mov r0, r3 807af0c: 4a63 ldr r2, [pc, #396] ; (807b09c ) 807af0e: 460b mov r3, r1 807af10: 009b lsls r3, r3, #2 807af12: 440b add r3, r1 807af14: 4403 add r3, r0 807af16: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807af1a: 461a mov r2, r3 807af1c: 217a movs r1, #122 ; 0x7a 807af1e: f44f 7082 mov.w r0, #260 ; 0x104 807af22: f7d9 fa03 bl 805432c LCD_DisplayStringC(260, LCD_LINE_8, (char *) pAVERAGE_SEC[pardata.LANG][pardata.AVG]); 807af26: 4b55 ldr r3, [pc, #340] ; (807b07c ) 807af28: 7b1b ldrb r3, [r3, #12] 807af2a: b2db uxtb r3, r3 807af2c: 4619 mov r1, r3 807af2e: 4b53 ldr r3, [pc, #332] ; (807b07c ) 807af30: 7b5b ldrb r3, [r3, #13] 807af32: b2db uxtb r3, r3 807af34: 4618 mov r0, r3 807af36: 4a5a ldr r2, [pc, #360] ; (807b0a0 ) 807af38: 460b mov r3, r1 807af3a: 009b lsls r3, r3, #2 807af3c: 440b add r3, r1 807af3e: 005b lsls r3, r3, #1 807af40: 4403 add r3, r0 807af42: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807af46: 461a mov r2, r3 807af48: 218a movs r1, #138 ; 0x8a 807af4a: f44f 7082 mov.w r0, #260 ; 0x104 807af4e: f7d9 f9ed bl 805432c LCD_DisplayStringC(260, LCD_LINE_13, str1); 807af52: f507 73f6 add.w r3, r7, #492 ; 0x1ec 807af56: 461a mov r2, r3 807af58: 21da movs r1, #218 ; 0xda 807af5a: f44f 7082 mov.w r0, #260 ; 0x104 807af5e: f7d9 f9e5 bl 805432c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807af62: 4945 ldr r1, [pc, #276] ; (807b078 ) 807af64: f04f 30ff mov.w r0, #4294967295 807af68: f7d8 fc20 bl 80537ac BSP_LCD_FillRect(255, 157, 10, 10); 807af6c: 230a movs r3, #10 807af6e: 220a movs r2, #10 807af70: 219d movs r1, #157 ; 0x9d 807af72: 20ff movs r0, #255 ; 0xff 807af74: f7d9 f8a8 bl 80540c8 BSP_LCD_FillRect(255, 173, 10, 10); 807af78: 230a movs r3, #10 807af7a: 220a movs r2, #10 807af7c: 21ad movs r1, #173 ; 0xad 807af7e: 20ff movs r0, #255 ; 0xff 807af80: f7d9 f8a2 bl 80540c8 BSP_LCD_FillRect(255, 189, 10, 10); 807af84: 230a movs r3, #10 807af86: 220a movs r2, #10 807af88: 21bd movs r1, #189 ; 0xbd 807af8a: 20ff movs r0, #255 ; 0xff 807af8c: f7d9 f89c bl 80540c8 if(pardata.OPTIONS & 0x4) // åñëè àâòîóñèëåíèå 807af90: 4b3a ldr r3, [pc, #232] ; (807b07c ) 807af92: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 807af96: f003 0304 and.w r3, r3, #4 807af9a: 2b00 cmp r3, #0 807af9c: d033 beq.n 807b006 { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 807af9e: 4936 ldr r1, [pc, #216] ; (807b078 ) 807afa0: 4840 ldr r0, [pc, #256] ; (807b0a4 ) 807afa2: f7d8 fc03 bl 80537ac if(pardata.IIN != VOLTS) 807afa6: 4b35 ldr r3, [pc, #212] ; (807b07c ) 807afa8: 799b ldrb r3, [r3, #6] 807afaa: b2db uxtb r3, r3 807afac: 2b02 cmp r3, #2 807afae: d010 beq.n 807afd2 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807afb0: 4b32 ldr r3, [pc, #200] ; (807b07c ) 807afb2: 7b1b ldrb r3, [r3, #12] 807afb4: b2db uxtb r3, r3 807afb6: 4619 mov r1, r3 807afb8: 4a31 ldr r2, [pc, #196] ; (807b080 ) 807afba: 232c movs r3, #44 ; 0x2c 807afbc: fb03 f301 mul.w r3, r3, r1 807afc0: 4413 add r3, r2 807afc2: 3324 adds r3, #36 ; 0x24 807afc4: 681b ldr r3, [r3, #0] 807afc6: 461a mov r2, r3 807afc8: 21ca movs r1, #202 ; 0xca 807afca: 200a movs r0, #10 807afcc: f7d9 f996 bl 80542fc 807afd0: e00f b.n 807aff2 else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807afd2: 4b2a ldr r3, [pc, #168] ; (807b07c ) 807afd4: 7b1b ldrb r3, [r3, #12] 807afd6: b2db uxtb r3, r3 807afd8: 4619 mov r1, r3 807afda: 4a2a ldr r2, [pc, #168] ; (807b084 ) 807afdc: 232c movs r3, #44 ; 0x2c 807afde: fb03 f301 mul.w r3, r3, r1 807afe2: 4413 add r3, r2 807afe4: 3324 adds r3, #36 ; 0x24 807afe6: 681b ldr r3, [r3, #0] 807afe8: 461a mov r2, r3 807afea: 21ca movs r1, #202 ; 0xca 807afec: 200a movs r0, #10 807afee: f7d9 f985 bl 80542fc LCD_DisplayStringC(260, LCD_LINE_12, str); 807aff2: f507 733b add.w r3, r7, #748 ; 0x2ec 807aff6: 461a mov r2, r3 807aff8: 21ca movs r1, #202 ; 0xca 807affa: f44f 7082 mov.w r0, #260 ; 0x104 807affe: f7d9 f995 bl 805432c 807b002: f002 be15 b.w 807dc30 } else { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807b006: 491c ldr r1, [pc, #112] ; (807b078 ) 807b008: f04f 30ff mov.w r0, #4294967295 807b00c: f7d8 fbce bl 80537ac if(pardata.IIN != VOLTS) 807b010: 4b1a ldr r3, [pc, #104] ; (807b07c ) 807b012: 799b ldrb r3, [r3, #6] 807b014: b2db uxtb r3, r3 807b016: 2b02 cmp r3, #2 807b018: d010 beq.n 807b03c LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807b01a: 4b18 ldr r3, [pc, #96] ; (807b07c ) 807b01c: 7b1b ldrb r3, [r3, #12] 807b01e: b2db uxtb r3, r3 807b020: 4619 mov r1, r3 807b022: 4a17 ldr r2, [pc, #92] ; (807b080 ) 807b024: 232c movs r3, #44 ; 0x2c 807b026: fb03 f301 mul.w r3, r3, r1 807b02a: 4413 add r3, r2 807b02c: 3324 adds r3, #36 ; 0x24 807b02e: 681b ldr r3, [r3, #0] 807b030: 461a mov r2, r3 807b032: 21ca movs r1, #202 ; 0xca 807b034: 200a movs r0, #10 807b036: f7d9 f961 bl 80542fc 807b03a: e00f b.n 807b05c else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807b03c: 4b0f ldr r3, [pc, #60] ; (807b07c ) 807b03e: 7b1b ldrb r3, [r3, #12] 807b040: b2db uxtb r3, r3 807b042: 4619 mov r1, r3 807b044: 4a0f ldr r2, [pc, #60] ; (807b084 ) 807b046: 232c movs r3, #44 ; 0x2c 807b048: fb03 f301 mul.w r3, r3, r1 807b04c: 4413 add r3, r2 807b04e: 3324 adds r3, #36 ; 0x24 807b050: 681b ldr r3, [r3, #0] 807b052: 461a mov r2, r3 807b054: 21ca movs r1, #202 ; 0xca 807b056: 200a movs r0, #10 807b058: f7d9 f950 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807b05c: 4906 ldr r1, [pc, #24] ; (807b078 ) 807b05e: 480a ldr r0, [pc, #40] ; (807b088 ) 807b060: f7d8 fba4 bl 80537ac LCD_DisplayStringC(260, LCD_LINE_12, str); 807b064: f507 733b add.w r3, r7, #748 ; 0x2ec 807b068: 461a mov r2, r3 807b06a: 21ca movs r1, #202 ; 0xca 807b06c: f44f 7082 mov.w r0, #260 ; 0x104 807b070: f7d9 f95c bl 805432c 807b074: f002 bddc b.w 807dc30 807b078: ff0a0f1f .word 0xff0a0f1f 807b07c: 20023e60 .word 0x20023e60 807b080: 200206b4 .word 0x200206b4 807b084: 2002070c .word 0x2002070c 807b088: ffd8aa57 .word 0xffd8aa57 807b08c: 20020070 .word 0x20020070 807b090: 200205c4 .word 0x200205c4 807b094: 20020f84 .word 0x20020f84 807b098: 2002165c .word 0x2002165c 807b09c: 200202bc .word 0x200202bc 807b0a0: 2002024c .word 0x2002024c 807b0a4: ff808080 .word 0xff808080 } } else if(menupos == ValueS) 807b0a8: 4bc9 ldr r3, [pc, #804] ; (807b3d0 ) 807b0aa: 781b ldrb r3, [r3, #0] 807b0ac: b2db uxtb r3, r3 807b0ae: 2b04 cmp r3, #4 807b0b0: f040 8151 bne.w 807b356 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807b0b4: 49c7 ldr r1, [pc, #796] ; (807b3d4 ) 807b0b6: f04f 30ff mov.w r0, #4294967295 807b0ba: f7d8 fb77 bl 80537ac LCD_DisplayString(10, LCD_LINE_2, (char *)TEXT_Next[pardata.LANG]);//"Äàëåå" 807b0be: 4bc6 ldr r3, [pc, #792] ; (807b3d8 ) 807b0c0: 7b1b ldrb r3, [r3, #12] 807b0c2: b2db uxtb r3, r3 807b0c4: 461a mov r2, r3 807b0c6: 4bc5 ldr r3, [pc, #788] ; (807b3dc ) 807b0c8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807b0cc: 461a mov r2, r3 807b0ce: 2127 movs r1, #39 ; 0x27 807b0d0: 200a movs r0, #10 807b0d2: f7d9 f913 bl 80542fc LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_PARAM_VIB[pardata.LANG][3]);//"Çíà÷åíèå Ñêîðîñòè" 807b0d6: 4bc0 ldr r3, [pc, #768] ; (807b3d8 ) 807b0d8: 7b1b ldrb r3, [r3, #12] 807b0da: b2db uxtb r3, r3 807b0dc: 4619 mov r1, r3 807b0de: 4ac0 ldr r2, [pc, #768] ; (807b3e0 ) 807b0e0: 232c movs r3, #44 ; 0x2c 807b0e2: fb03 f301 mul.w r3, r3, r1 807b0e6: 4413 add r3, r2 807b0e8: 330c adds r3, #12 807b0ea: 681b ldr r3, [r3, #0] 807b0ec: 461a mov r2, r3 807b0ee: 216a movs r1, #106 ; 0x6a 807b0f0: 200a movs r0, #10 807b0f2: f7d9 f903 bl 80542fc LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_PARAM_VIB[pardata.LANG][4]);//"Çíà÷åíèå Ïåðåìåù" 807b0f6: 4bb8 ldr r3, [pc, #736] ; (807b3d8 ) 807b0f8: 7b1b ldrb r3, [r3, #12] 807b0fa: b2db uxtb r3, r3 807b0fc: 4619 mov r1, r3 807b0fe: 4ab8 ldr r2, [pc, #736] ; (807b3e0 ) 807b100: 232c movs r3, #44 ; 0x2c 807b102: fb03 f301 mul.w r3, r3, r1 807b106: 4413 add r3, r2 807b108: 3310 adds r3, #16 807b10a: 681b ldr r3, [r3, #0] 807b10c: 461a mov r2, r3 807b10e: 217a movs r1, #122 ; 0x7a 807b110: 200a movs r0, #10 807b112: f7d9 f8f3 bl 80542fc LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807b116: 49af ldr r1, [pc, #700] ; (807b3d4 ) 807b118: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807b11c: f7d8 fb46 bl 80537ac if(focused) 807b120: 4bb0 ldr r3, [pc, #704] ; (807b3e4 ) 807b122: 781b ldrb r3, [r3, #0] 807b124: b2db uxtb r3, r3 807b126: 2b00 cmp r3, #0 807b128: d019 beq.n 807b15e { if(blk) 807b12a: 4baf ldr r3, [pc, #700] ; (807b3e8 ) 807b12c: 681b ldr r3, [r3, #0] 807b12e: 2b00 cmp r3, #0 807b130: d02a beq.n 807b188 LCD_DisplayStringC(260, LCD_LINE_7, (char *) pIVS[pardata.LANG][pardata.IVS[DIS]]); 807b132: 4ba9 ldr r3, [pc, #676] ; (807b3d8 ) 807b134: 7b1b ldrb r3, [r3, #12] 807b136: b2db uxtb r3, r3 807b138: 4619 mov r1, r3 807b13a: 4ba7 ldr r3, [pc, #668] ; (807b3d8 ) 807b13c: 791b ldrb r3, [r3, #4] 807b13e: b2db uxtb r3, r3 807b140: 4618 mov r0, r3 807b142: 4aaa ldr r2, [pc, #680] ; (807b3ec ) 807b144: 460b mov r3, r1 807b146: 009b lsls r3, r3, #2 807b148: 440b add r3, r1 807b14a: 4403 add r3, r0 807b14c: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807b150: 461a mov r2, r3 807b152: 217a movs r1, #122 ; 0x7a 807b154: f44f 7082 mov.w r0, #260 ; 0x104 807b158: f7d9 f8e8 bl 805432c 807b15c: e014 b.n 807b188 } else LCD_DisplayStringC(260, LCD_LINE_7, (char *) pIVS[pardata.LANG][pardata.IVS[DIS]]); 807b15e: 4b9e ldr r3, [pc, #632] ; (807b3d8 ) 807b160: 7b1b ldrb r3, [r3, #12] 807b162: b2db uxtb r3, r3 807b164: 4619 mov r1, r3 807b166: 4b9c ldr r3, [pc, #624] ; (807b3d8 ) 807b168: 791b ldrb r3, [r3, #4] 807b16a: b2db uxtb r3, r3 807b16c: 4618 mov r0, r3 807b16e: 4a9f ldr r2, [pc, #636] ; (807b3ec ) 807b170: 460b mov r3, r1 807b172: 009b lsls r3, r3, #2 807b174: 440b add r3, r1 807b176: 4403 add r3, r0 807b178: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807b17c: 461a mov r2, r3 807b17e: 217a movs r1, #122 ; 0x7a 807b180: f44f 7082 mov.w r0, #260 ; 0x104 807b184: f7d9 f8d2 bl 805432c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807b188: 4992 ldr r1, [pc, #584] ; (807b3d4 ) 807b18a: 4899 ldr r0, [pc, #612] ; (807b3f0 ) 807b18c: f7d8 fb0e bl 80537ac LCD_DisplayStringC(260, LCD_LINE_3, strHP); 807b190: f507 73d2 add.w r3, r7, #420 ; 0x1a4 807b194: 461a mov r2, r3 807b196: 213a movs r1, #58 ; 0x3a 807b198: f44f 7082 mov.w r0, #260 ; 0x104 807b19c: f7d9 f8c6 bl 805432c LCD_DisplayStringC(260, LCD_LINE_4, strLP); 807b1a0: f507 73cc add.w r3, r7, #408 ; 0x198 807b1a4: 461a mov r2, r3 807b1a6: 214a movs r1, #74 ; 0x4a 807b1a8: f44f 7082 mov.w r0, #260 ; 0x104 807b1ac: f7d9 f8be bl 805432c LCD_DisplayStringC(260, LCD_LINE_5, (char *) pIVS[pardata.LANG][pardata.IVS[ACC]]); 807b1b0: 4b89 ldr r3, [pc, #548] ; (807b3d8 ) 807b1b2: 7b1b ldrb r3, [r3, #12] 807b1b4: b2db uxtb r3, r3 807b1b6: 4619 mov r1, r3 807b1b8: 4b87 ldr r3, [pc, #540] ; (807b3d8 ) 807b1ba: 789b ldrb r3, [r3, #2] 807b1bc: b2db uxtb r3, r3 807b1be: 4618 mov r0, r3 807b1c0: 4a8a ldr r2, [pc, #552] ; (807b3ec ) 807b1c2: 460b mov r3, r1 807b1c4: 009b lsls r3, r3, #2 807b1c6: 440b add r3, r1 807b1c8: 4403 add r3, r0 807b1ca: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807b1ce: 461a mov r2, r3 807b1d0: 215a movs r1, #90 ; 0x5a 807b1d2: f44f 7082 mov.w r0, #260 ; 0x104 807b1d6: f7d9 f8a9 bl 805432c LCD_DisplayStringC(260, LCD_LINE_6, (char *) pIVS[pardata.LANG][pardata.IVS[VEL]]); 807b1da: 4b7f ldr r3, [pc, #508] ; (807b3d8 ) 807b1dc: 7b1b ldrb r3, [r3, #12] 807b1de: b2db uxtb r3, r3 807b1e0: 4619 mov r1, r3 807b1e2: 4b7d ldr r3, [pc, #500] ; (807b3d8 ) 807b1e4: 78db ldrb r3, [r3, #3] 807b1e6: b2db uxtb r3, r3 807b1e8: 4618 mov r0, r3 807b1ea: 4a80 ldr r2, [pc, #512] ; (807b3ec ) 807b1ec: 460b mov r3, r1 807b1ee: 009b lsls r3, r3, #2 807b1f0: 440b add r3, r1 807b1f2: 4403 add r3, r0 807b1f4: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807b1f8: 461a mov r2, r3 807b1fa: 216a movs r1, #106 ; 0x6a 807b1fc: f44f 7082 mov.w r0, #260 ; 0x104 807b200: f7d9 f894 bl 805432c LCD_DisplayStringC(260, LCD_LINE_8, (char *) pAVERAGE_SEC[pardata.LANG][pardata.AVG]); 807b204: 4b74 ldr r3, [pc, #464] ; (807b3d8 ) 807b206: 7b1b ldrb r3, [r3, #12] 807b208: b2db uxtb r3, r3 807b20a: 4619 mov r1, r3 807b20c: 4b72 ldr r3, [pc, #456] ; (807b3d8 ) 807b20e: 7b5b ldrb r3, [r3, #13] 807b210: b2db uxtb r3, r3 807b212: 4618 mov r0, r3 807b214: 4a77 ldr r2, [pc, #476] ; (807b3f4 ) 807b216: 460b mov r3, r1 807b218: 009b lsls r3, r3, #2 807b21a: 440b add r3, r1 807b21c: 005b lsls r3, r3, #1 807b21e: 4403 add r3, r0 807b220: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807b224: 461a mov r2, r3 807b226: 218a movs r1, #138 ; 0x8a 807b228: f44f 7082 mov.w r0, #260 ; 0x104 807b22c: f7d9 f87e bl 805432c LCD_DisplayStringC(260, LCD_LINE_13, str1); 807b230: f507 73f6 add.w r3, r7, #492 ; 0x1ec 807b234: 461a mov r2, r3 807b236: 21da movs r1, #218 ; 0xda 807b238: f44f 7082 mov.w r0, #260 ; 0x104 807b23c: f7d9 f876 bl 805432c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807b240: 4964 ldr r1, [pc, #400] ; (807b3d4 ) 807b242: f04f 30ff mov.w r0, #4294967295 807b246: f7d8 fab1 bl 80537ac BSP_LCD_FillRect(255, 157, 10, 10); 807b24a: 230a movs r3, #10 807b24c: 220a movs r2, #10 807b24e: 219d movs r1, #157 ; 0x9d 807b250: 20ff movs r0, #255 ; 0xff 807b252: f7d8 ff39 bl 80540c8 BSP_LCD_FillRect(255, 173, 10, 10); 807b256: 230a movs r3, #10 807b258: 220a movs r2, #10 807b25a: 21ad movs r1, #173 ; 0xad 807b25c: 20ff movs r0, #255 ; 0xff 807b25e: f7d8 ff33 bl 80540c8 BSP_LCD_FillRect(255, 189, 10, 10); 807b262: 230a movs r3, #10 807b264: 220a movs r2, #10 807b266: 21bd movs r1, #189 ; 0xbd 807b268: 20ff movs r0, #255 ; 0xff 807b26a: f7d8 ff2d bl 80540c8 if(pardata.OPTIONS & 0x4) // åñëè àâòîóñèëåíèå 807b26e: 4b5a ldr r3, [pc, #360] ; (807b3d8 ) 807b270: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 807b274: f003 0304 and.w r3, r3, #4 807b278: 2b00 cmp r3, #0 807b27a: d033 beq.n 807b2e4 { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 807b27c: 4955 ldr r1, [pc, #340] ; (807b3d4 ) 807b27e: 485e ldr r0, [pc, #376] ; (807b3f8 ) 807b280: f7d8 fa94 bl 80537ac if(pardata.IIN != VOLTS) 807b284: 4b54 ldr r3, [pc, #336] ; (807b3d8 ) 807b286: 799b ldrb r3, [r3, #6] 807b288: b2db uxtb r3, r3 807b28a: 2b02 cmp r3, #2 807b28c: d010 beq.n 807b2b0 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807b28e: 4b52 ldr r3, [pc, #328] ; (807b3d8 ) 807b290: 7b1b ldrb r3, [r3, #12] 807b292: b2db uxtb r3, r3 807b294: 4619 mov r1, r3 807b296: 4a52 ldr r2, [pc, #328] ; (807b3e0 ) 807b298: 232c movs r3, #44 ; 0x2c 807b29a: fb03 f301 mul.w r3, r3, r1 807b29e: 4413 add r3, r2 807b2a0: 3324 adds r3, #36 ; 0x24 807b2a2: 681b ldr r3, [r3, #0] 807b2a4: 461a mov r2, r3 807b2a6: 21ca movs r1, #202 ; 0xca 807b2a8: 200a movs r0, #10 807b2aa: f7d9 f827 bl 80542fc 807b2ae: e00f b.n 807b2d0 else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807b2b0: 4b49 ldr r3, [pc, #292] ; (807b3d8 ) 807b2b2: 7b1b ldrb r3, [r3, #12] 807b2b4: b2db uxtb r3, r3 807b2b6: 4619 mov r1, r3 807b2b8: 4a50 ldr r2, [pc, #320] ; (807b3fc ) 807b2ba: 232c movs r3, #44 ; 0x2c 807b2bc: fb03 f301 mul.w r3, r3, r1 807b2c0: 4413 add r3, r2 807b2c2: 3324 adds r3, #36 ; 0x24 807b2c4: 681b ldr r3, [r3, #0] 807b2c6: 461a mov r2, r3 807b2c8: 21ca movs r1, #202 ; 0xca 807b2ca: 200a movs r0, #10 807b2cc: f7d9 f816 bl 80542fc LCD_DisplayStringC(260, LCD_LINE_12, str); 807b2d0: f507 733b add.w r3, r7, #748 ; 0x2ec 807b2d4: 461a mov r2, r3 807b2d6: 21ca movs r1, #202 ; 0xca 807b2d8: f44f 7082 mov.w r0, #260 ; 0x104 807b2dc: f7d9 f826 bl 805432c 807b2e0: f002 bca6 b.w 807dc30 } else { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807b2e4: 493b ldr r1, [pc, #236] ; (807b3d4 ) 807b2e6: f04f 30ff mov.w r0, #4294967295 807b2ea: f7d8 fa5f bl 80537ac if(pardata.IIN != VOLTS) 807b2ee: 4b3a ldr r3, [pc, #232] ; (807b3d8 ) 807b2f0: 799b ldrb r3, [r3, #6] 807b2f2: b2db uxtb r3, r3 807b2f4: 2b02 cmp r3, #2 807b2f6: d010 beq.n 807b31a LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807b2f8: 4b37 ldr r3, [pc, #220] ; (807b3d8 ) 807b2fa: 7b1b ldrb r3, [r3, #12] 807b2fc: b2db uxtb r3, r3 807b2fe: 4619 mov r1, r3 807b300: 4a37 ldr r2, [pc, #220] ; (807b3e0 ) 807b302: 232c movs r3, #44 ; 0x2c 807b304: fb03 f301 mul.w r3, r3, r1 807b308: 4413 add r3, r2 807b30a: 3324 adds r3, #36 ; 0x24 807b30c: 681b ldr r3, [r3, #0] 807b30e: 461a mov r2, r3 807b310: 21ca movs r1, #202 ; 0xca 807b312: 200a movs r0, #10 807b314: f7d8 fff2 bl 80542fc 807b318: e00f b.n 807b33a else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807b31a: 4b2f ldr r3, [pc, #188] ; (807b3d8 ) 807b31c: 7b1b ldrb r3, [r3, #12] 807b31e: b2db uxtb r3, r3 807b320: 4619 mov r1, r3 807b322: 4a36 ldr r2, [pc, #216] ; (807b3fc ) 807b324: 232c movs r3, #44 ; 0x2c 807b326: fb03 f301 mul.w r3, r3, r1 807b32a: 4413 add r3, r2 807b32c: 3324 adds r3, #36 ; 0x24 807b32e: 681b ldr r3, [r3, #0] 807b330: 461a mov r2, r3 807b332: 21ca movs r1, #202 ; 0xca 807b334: 200a movs r0, #10 807b336: f7d8 ffe1 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807b33a: 4926 ldr r1, [pc, #152] ; (807b3d4 ) 807b33c: 482c ldr r0, [pc, #176] ; (807b3f0 ) 807b33e: f7d8 fa35 bl 80537ac LCD_DisplayStringC(260, LCD_LINE_12, str); 807b342: f507 733b add.w r3, r7, #748 ; 0x2ec 807b346: 461a mov r2, r3 807b348: 21ca movs r1, #202 ; 0xca 807b34a: f44f 7082 mov.w r0, #260 ; 0x104 807b34e: f7d8 ffed bl 805432c 807b352: f002 bc6d b.w 807dc30 } } else if(menupos == Average) 807b356: 4b1e ldr r3, [pc, #120] ; (807b3d0 ) 807b358: 781b ldrb r3, [r3, #0] 807b35a: b2db uxtb r3, r3 807b35c: 2b05 cmp r3, #5 807b35e: f040 81dd bne.w 807b71c { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807b362: 491c ldr r1, [pc, #112] ; (807b3d4 ) 807b364: f04f 30ff mov.w r0, #4294967295 807b368: f7d8 fa20 bl 80537ac LCD_DisplayString(10, LCD_LINE_2, (char *)TEXT_Next[pardata.LANG]);//"Äàëåå" 807b36c: 4b1a ldr r3, [pc, #104] ; (807b3d8 ) 807b36e: 7b1b ldrb r3, [r3, #12] 807b370: b2db uxtb r3, r3 807b372: 461a mov r2, r3 807b374: 4b19 ldr r3, [pc, #100] ; (807b3dc ) 807b376: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807b37a: 461a mov r2, r3 807b37c: 2127 movs r1, #39 ; 0x27 807b37e: 200a movs r0, #10 807b380: f7d8 ffbc bl 80542fc LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807b384: 4913 ldr r1, [pc, #76] ; (807b3d4 ) 807b386: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807b38a: f7d8 fa0f bl 80537ac if(focused) 807b38e: 4b15 ldr r3, [pc, #84] ; (807b3e4 ) 807b390: 781b ldrb r3, [r3, #0] 807b392: b2db uxtb r3, r3 807b394: 2b00 cmp r3, #0 807b396: d033 beq.n 807b400 { if(blk) 807b398: 4b13 ldr r3, [pc, #76] ; (807b3e8 ) 807b39a: 681b ldr r3, [r3, #0] 807b39c: 2b00 cmp r3, #0 807b39e: d045 beq.n 807b42c LCD_DisplayStringC(260, LCD_LINE_8, (char *) pAVERAGE_SEC[pardata.LANG][pardata.AVG]); 807b3a0: 4b0d ldr r3, [pc, #52] ; (807b3d8 ) 807b3a2: 7b1b ldrb r3, [r3, #12] 807b3a4: b2db uxtb r3, r3 807b3a6: 4619 mov r1, r3 807b3a8: 4b0b ldr r3, [pc, #44] ; (807b3d8 ) 807b3aa: 7b5b ldrb r3, [r3, #13] 807b3ac: b2db uxtb r3, r3 807b3ae: 4618 mov r0, r3 807b3b0: 4a10 ldr r2, [pc, #64] ; (807b3f4 ) 807b3b2: 460b mov r3, r1 807b3b4: 009b lsls r3, r3, #2 807b3b6: 440b add r3, r1 807b3b8: 005b lsls r3, r3, #1 807b3ba: 4403 add r3, r0 807b3bc: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807b3c0: 461a mov r2, r3 807b3c2: 218a movs r1, #138 ; 0x8a 807b3c4: f44f 7082 mov.w r0, #260 ; 0x104 807b3c8: f7d8 ffb0 bl 805432c 807b3cc: e02e b.n 807b42c 807b3ce: bf00 nop 807b3d0: 20020070 .word 0x20020070 807b3d4: ff0a0f1f .word 0xff0a0f1f 807b3d8: 20023e60 .word 0x20023e60 807b3dc: 200205c4 .word 0x200205c4 807b3e0: 200206b4 .word 0x200206b4 807b3e4: 20020f84 .word 0x20020f84 807b3e8: 2002165c .word 0x2002165c 807b3ec: 200202bc .word 0x200202bc 807b3f0: ffd8aa57 .word 0xffd8aa57 807b3f4: 2002024c .word 0x2002024c 807b3f8: ff808080 .word 0xff808080 807b3fc: 2002070c .word 0x2002070c } else LCD_DisplayStringC(260, LCD_LINE_8, (char *) pAVERAGE_SEC[pardata.LANG][pardata.AVG]); 807b400: 4bbe ldr r3, [pc, #760] ; (807b6fc ) 807b402: 7b1b ldrb r3, [r3, #12] 807b404: b2db uxtb r3, r3 807b406: 4619 mov r1, r3 807b408: 4bbc ldr r3, [pc, #752] ; (807b6fc ) 807b40a: 7b5b ldrb r3, [r3, #13] 807b40c: b2db uxtb r3, r3 807b40e: 4618 mov r0, r3 807b410: 4abb ldr r2, [pc, #748] ; (807b700 ) 807b412: 460b mov r3, r1 807b414: 009b lsls r3, r3, #2 807b416: 440b add r3, r1 807b418: 005b lsls r3, r3, #1 807b41a: 4403 add r3, r0 807b41c: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807b420: 461a mov r2, r3 807b422: 218a movs r1, #138 ; 0x8a 807b424: f44f 7082 mov.w r0, #260 ; 0x104 807b428: f7d8 ff80 bl 805432c if(pardata.HP >= 2.0f) 807b42c: 4bb3 ldr r3, [pc, #716] ; (807b6fc ) 807b42e: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 807b432: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 807b436: eef4 7ac7 vcmpe.f32 s15, s14 807b43a: eef1 fa10 vmrs APSR_nzcv, fpscr 807b43e: db53 blt.n 807b4e8 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807b440: 49b0 ldr r1, [pc, #704] ; (807b704 ) 807b442: f04f 30ff mov.w r0, #4294967295 807b446: f7d8 f9b1 bl 80537ac LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_PARAM_VIB[pardata.LANG][3]);//"Çíà÷åíèå Ñêîðîñòè" 807b44a: 4bac ldr r3, [pc, #688] ; (807b6fc ) 807b44c: 7b1b ldrb r3, [r3, #12] 807b44e: b2db uxtb r3, r3 807b450: 4619 mov r1, r3 807b452: 4aad ldr r2, [pc, #692] ; (807b708 ) 807b454: 232c movs r3, #44 ; 0x2c 807b456: fb03 f301 mul.w r3, r3, r1 807b45a: 4413 add r3, r2 807b45c: 330c adds r3, #12 807b45e: 681b ldr r3, [r3, #0] 807b460: 461a mov r2, r3 807b462: 216a movs r1, #106 ; 0x6a 807b464: 200a movs r0, #10 807b466: f7d8 ff49 bl 80542fc LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_PARAM_VIB[pardata.LANG][4]);//"Çíà÷åíèå Ïåðåìåù" 807b46a: 4ba4 ldr r3, [pc, #656] ; (807b6fc ) 807b46c: 7b1b ldrb r3, [r3, #12] 807b46e: b2db uxtb r3, r3 807b470: 4619 mov r1, r3 807b472: 4aa5 ldr r2, [pc, #660] ; (807b708 ) 807b474: 232c movs r3, #44 ; 0x2c 807b476: fb03 f301 mul.w r3, r3, r1 807b47a: 4413 add r3, r2 807b47c: 3310 adds r3, #16 807b47e: 681b ldr r3, [r3, #0] 807b480: 461a mov r2, r3 807b482: 217a movs r1, #122 ; 0x7a 807b484: 200a movs r0, #10 807b486: f7d8 ff39 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807b48a: 499e ldr r1, [pc, #632] ; (807b704 ) 807b48c: 489f ldr r0, [pc, #636] ; (807b70c ) 807b48e: f7d8 f98d bl 80537ac LCD_DisplayStringC(260, LCD_LINE_6, (char *) pIVS[pardata.LANG][pardata.IVS[VEL]]); 807b492: 4b9a ldr r3, [pc, #616] ; (807b6fc ) 807b494: 7b1b ldrb r3, [r3, #12] 807b496: b2db uxtb r3, r3 807b498: 4619 mov r1, r3 807b49a: 4b98 ldr r3, [pc, #608] ; (807b6fc ) 807b49c: 78db ldrb r3, [r3, #3] 807b49e: b2db uxtb r3, r3 807b4a0: 4618 mov r0, r3 807b4a2: 4a9b ldr r2, [pc, #620] ; (807b710 ) 807b4a4: 460b mov r3, r1 807b4a6: 009b lsls r3, r3, #2 807b4a8: 440b add r3, r1 807b4aa: 4403 add r3, r0 807b4ac: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807b4b0: 461a mov r2, r3 807b4b2: 216a movs r1, #106 ; 0x6a 807b4b4: f44f 7082 mov.w r0, #260 ; 0x104 807b4b8: f7d8 ff38 bl 805432c LCD_DisplayStringC(260, LCD_LINE_7, (char *) pIVS[pardata.LANG][pardata.IVS[DIS]]); 807b4bc: 4b8f ldr r3, [pc, #572] ; (807b6fc ) 807b4be: 7b1b ldrb r3, [r3, #12] 807b4c0: b2db uxtb r3, r3 807b4c2: 4619 mov r1, r3 807b4c4: 4b8d ldr r3, [pc, #564] ; (807b6fc ) 807b4c6: 791b ldrb r3, [r3, #4] 807b4c8: b2db uxtb r3, r3 807b4ca: 4618 mov r0, r3 807b4cc: 4a90 ldr r2, [pc, #576] ; (807b710 ) 807b4ce: 460b mov r3, r1 807b4d0: 009b lsls r3, r3, #2 807b4d2: 440b add r3, r1 807b4d4: 4403 add r3, r0 807b4d6: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807b4da: 461a mov r2, r3 807b4dc: 217a movs r1, #122 ; 0x7a 807b4de: f44f 7082 mov.w r0, #260 ; 0x104 807b4e2: f7d8 ff23 bl 805432c 807b4e6: e04d b.n 807b584 } else { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 807b4e8: 4986 ldr r1, [pc, #536] ; (807b704 ) 807b4ea: 488a ldr r0, [pc, #552] ; (807b714 ) 807b4ec: f7d8 f95e bl 80537ac LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_PARAM_VIB[pardata.LANG][3]);//"Çíà÷åíèå Ñêîðîñòè" 807b4f0: 4b82 ldr r3, [pc, #520] ; (807b6fc ) 807b4f2: 7b1b ldrb r3, [r3, #12] 807b4f4: b2db uxtb r3, r3 807b4f6: 4619 mov r1, r3 807b4f8: 4a83 ldr r2, [pc, #524] ; (807b708 ) 807b4fa: 232c movs r3, #44 ; 0x2c 807b4fc: fb03 f301 mul.w r3, r3, r1 807b500: 4413 add r3, r2 807b502: 330c adds r3, #12 807b504: 681b ldr r3, [r3, #0] 807b506: 461a mov r2, r3 807b508: 216a movs r1, #106 ; 0x6a 807b50a: 200a movs r0, #10 807b50c: f7d8 fef6 bl 80542fc LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_PARAM_VIB[pardata.LANG][4]);//"Çíà÷åíèå Ïåðåìåù" 807b510: 4b7a ldr r3, [pc, #488] ; (807b6fc ) 807b512: 7b1b ldrb r3, [r3, #12] 807b514: b2db uxtb r3, r3 807b516: 4619 mov r1, r3 807b518: 4a7b ldr r2, [pc, #492] ; (807b708 ) 807b51a: 232c movs r3, #44 ; 0x2c 807b51c: fb03 f301 mul.w r3, r3, r1 807b520: 4413 add r3, r2 807b522: 3310 adds r3, #16 807b524: 681b ldr r3, [r3, #0] 807b526: 461a mov r2, r3 807b528: 217a movs r1, #122 ; 0x7a 807b52a: 200a movs r0, #10 807b52c: f7d8 fee6 bl 80542fc LCD_DisplayStringC(260, LCD_LINE_6, (char *) pIVS[pardata.LANG][pardata.IVS[VEL]]); 807b530: 4b72 ldr r3, [pc, #456] ; (807b6fc ) 807b532: 7b1b ldrb r3, [r3, #12] 807b534: b2db uxtb r3, r3 807b536: 4619 mov r1, r3 807b538: 4b70 ldr r3, [pc, #448] ; (807b6fc ) 807b53a: 78db ldrb r3, [r3, #3] 807b53c: b2db uxtb r3, r3 807b53e: 4618 mov r0, r3 807b540: 4a73 ldr r2, [pc, #460] ; (807b710 ) 807b542: 460b mov r3, r1 807b544: 009b lsls r3, r3, #2 807b546: 440b add r3, r1 807b548: 4403 add r3, r0 807b54a: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807b54e: 461a mov r2, r3 807b550: 216a movs r1, #106 ; 0x6a 807b552: f44f 7082 mov.w r0, #260 ; 0x104 807b556: f7d8 fee9 bl 805432c LCD_DisplayStringC(260, LCD_LINE_7, (char *) pIVS[pardata.LANG][pardata.IVS[DIS]]); 807b55a: 4b68 ldr r3, [pc, #416] ; (807b6fc ) 807b55c: 7b1b ldrb r3, [r3, #12] 807b55e: b2db uxtb r3, r3 807b560: 4619 mov r1, r3 807b562: 4b66 ldr r3, [pc, #408] ; (807b6fc ) 807b564: 791b ldrb r3, [r3, #4] 807b566: b2db uxtb r3, r3 807b568: 4618 mov r0, r3 807b56a: 4a69 ldr r2, [pc, #420] ; (807b710 ) 807b56c: 460b mov r3, r1 807b56e: 009b lsls r3, r3, #2 807b570: 440b add r3, r1 807b572: 4403 add r3, r0 807b574: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807b578: 461a mov r2, r3 807b57a: 217a movs r1, #122 ; 0x7a 807b57c: f44f 7082 mov.w r0, #260 ; 0x104 807b580: f7d8 fed4 bl 805432c } LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807b584: 495f ldr r1, [pc, #380] ; (807b704 ) 807b586: 4861 ldr r0, [pc, #388] ; (807b70c ) 807b588: f7d8 f910 bl 80537ac LCD_DisplayStringC(260, LCD_LINE_3, strHP); 807b58c: f507 73d2 add.w r3, r7, #420 ; 0x1a4 807b590: 461a mov r2, r3 807b592: 213a movs r1, #58 ; 0x3a 807b594: f44f 7082 mov.w r0, #260 ; 0x104 807b598: f7d8 fec8 bl 805432c LCD_DisplayStringC(260, LCD_LINE_4, strLP); 807b59c: f507 73cc add.w r3, r7, #408 ; 0x198 807b5a0: 461a mov r2, r3 807b5a2: 214a movs r1, #74 ; 0x4a 807b5a4: f44f 7082 mov.w r0, #260 ; 0x104 807b5a8: f7d8 fec0 bl 805432c LCD_DisplayStringC(260, LCD_LINE_5, (char *) pIVS[pardata.LANG][pardata.IVS[ACC]]); 807b5ac: 4b53 ldr r3, [pc, #332] ; (807b6fc ) 807b5ae: 7b1b ldrb r3, [r3, #12] 807b5b0: b2db uxtb r3, r3 807b5b2: 4619 mov r1, r3 807b5b4: 4b51 ldr r3, [pc, #324] ; (807b6fc ) 807b5b6: 789b ldrb r3, [r3, #2] 807b5b8: b2db uxtb r3, r3 807b5ba: 4618 mov r0, r3 807b5bc: 4a54 ldr r2, [pc, #336] ; (807b710 ) 807b5be: 460b mov r3, r1 807b5c0: 009b lsls r3, r3, #2 807b5c2: 440b add r3, r1 807b5c4: 4403 add r3, r0 807b5c6: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807b5ca: 461a mov r2, r3 807b5cc: 215a movs r1, #90 ; 0x5a 807b5ce: f44f 7082 mov.w r0, #260 ; 0x104 807b5d2: f7d8 feab bl 805432c LCD_DisplayStringC(260, LCD_LINE_13, str1); 807b5d6: f507 73f6 add.w r3, r7, #492 ; 0x1ec 807b5da: 461a mov r2, r3 807b5dc: 21da movs r1, #218 ; 0xda 807b5de: f44f 7082 mov.w r0, #260 ; 0x104 807b5e2: f7d8 fea3 bl 805432c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807b5e6: 4947 ldr r1, [pc, #284] ; (807b704 ) 807b5e8: f04f 30ff mov.w r0, #4294967295 807b5ec: f7d8 f8de bl 80537ac BSP_LCD_FillRect(255, 157, 10, 10); 807b5f0: 230a movs r3, #10 807b5f2: 220a movs r2, #10 807b5f4: 219d movs r1, #157 ; 0x9d 807b5f6: 20ff movs r0, #255 ; 0xff 807b5f8: f7d8 fd66 bl 80540c8 BSP_LCD_FillRect(255, 173, 10, 10); 807b5fc: 230a movs r3, #10 807b5fe: 220a movs r2, #10 807b600: 21ad movs r1, #173 ; 0xad 807b602: 20ff movs r0, #255 ; 0xff 807b604: f7d8 fd60 bl 80540c8 BSP_LCD_FillRect(255, 189, 10, 10); 807b608: 230a movs r3, #10 807b60a: 220a movs r2, #10 807b60c: 21bd movs r1, #189 ; 0xbd 807b60e: 20ff movs r0, #255 ; 0xff 807b610: f7d8 fd5a bl 80540c8 if(pardata.OPTIONS & 0x4) // åñëè àâòîóñèëåíèå 807b614: 4b39 ldr r3, [pc, #228] ; (807b6fc ) 807b616: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 807b61a: f003 0304 and.w r3, r3, #4 807b61e: 2b00 cmp r3, #0 807b620: d033 beq.n 807b68a { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 807b622: 4938 ldr r1, [pc, #224] ; (807b704 ) 807b624: 483b ldr r0, [pc, #236] ; (807b714 ) 807b626: f7d8 f8c1 bl 80537ac if(pardata.IIN != VOLTS) 807b62a: 4b34 ldr r3, [pc, #208] ; (807b6fc ) 807b62c: 799b ldrb r3, [r3, #6] 807b62e: b2db uxtb r3, r3 807b630: 2b02 cmp r3, #2 807b632: d010 beq.n 807b656 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807b634: 4b31 ldr r3, [pc, #196] ; (807b6fc ) 807b636: 7b1b ldrb r3, [r3, #12] 807b638: b2db uxtb r3, r3 807b63a: 4619 mov r1, r3 807b63c: 4a32 ldr r2, [pc, #200] ; (807b708 ) 807b63e: 232c movs r3, #44 ; 0x2c 807b640: fb03 f301 mul.w r3, r3, r1 807b644: 4413 add r3, r2 807b646: 3324 adds r3, #36 ; 0x24 807b648: 681b ldr r3, [r3, #0] 807b64a: 461a mov r2, r3 807b64c: 21ca movs r1, #202 ; 0xca 807b64e: 200a movs r0, #10 807b650: f7d8 fe54 bl 80542fc 807b654: e00f b.n 807b676 else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807b656: 4b29 ldr r3, [pc, #164] ; (807b6fc ) 807b658: 7b1b ldrb r3, [r3, #12] 807b65a: b2db uxtb r3, r3 807b65c: 4619 mov r1, r3 807b65e: 4a2e ldr r2, [pc, #184] ; (807b718 ) 807b660: 232c movs r3, #44 ; 0x2c 807b662: fb03 f301 mul.w r3, r3, r1 807b666: 4413 add r3, r2 807b668: 3324 adds r3, #36 ; 0x24 807b66a: 681b ldr r3, [r3, #0] 807b66c: 461a mov r2, r3 807b66e: 21ca movs r1, #202 ; 0xca 807b670: 200a movs r0, #10 807b672: f7d8 fe43 bl 80542fc LCD_DisplayStringC(260, LCD_LINE_12, str); 807b676: f507 733b add.w r3, r7, #748 ; 0x2ec 807b67a: 461a mov r2, r3 807b67c: 21ca movs r1, #202 ; 0xca 807b67e: f44f 7082 mov.w r0, #260 ; 0x104 807b682: f7d8 fe53 bl 805432c 807b686: f002 bad3 b.w 807dc30 } else { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807b68a: 491e ldr r1, [pc, #120] ; (807b704 ) 807b68c: f04f 30ff mov.w r0, #4294967295 807b690: f7d8 f88c bl 80537ac if(pardata.IIN != VOLTS) 807b694: 4b19 ldr r3, [pc, #100] ; (807b6fc ) 807b696: 799b ldrb r3, [r3, #6] 807b698: b2db uxtb r3, r3 807b69a: 2b02 cmp r3, #2 807b69c: d010 beq.n 807b6c0 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807b69e: 4b17 ldr r3, [pc, #92] ; (807b6fc ) 807b6a0: 7b1b ldrb r3, [r3, #12] 807b6a2: b2db uxtb r3, r3 807b6a4: 4619 mov r1, r3 807b6a6: 4a18 ldr r2, [pc, #96] ; (807b708 ) 807b6a8: 232c movs r3, #44 ; 0x2c 807b6aa: fb03 f301 mul.w r3, r3, r1 807b6ae: 4413 add r3, r2 807b6b0: 3324 adds r3, #36 ; 0x24 807b6b2: 681b ldr r3, [r3, #0] 807b6b4: 461a mov r2, r3 807b6b6: 21ca movs r1, #202 ; 0xca 807b6b8: 200a movs r0, #10 807b6ba: f7d8 fe1f bl 80542fc 807b6be: e00f b.n 807b6e0 else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807b6c0: 4b0e ldr r3, [pc, #56] ; (807b6fc ) 807b6c2: 7b1b ldrb r3, [r3, #12] 807b6c4: b2db uxtb r3, r3 807b6c6: 4619 mov r1, r3 807b6c8: 4a13 ldr r2, [pc, #76] ; (807b718 ) 807b6ca: 232c movs r3, #44 ; 0x2c 807b6cc: fb03 f301 mul.w r3, r3, r1 807b6d0: 4413 add r3, r2 807b6d2: 3324 adds r3, #36 ; 0x24 807b6d4: 681b ldr r3, [r3, #0] 807b6d6: 461a mov r2, r3 807b6d8: 21ca movs r1, #202 ; 0xca 807b6da: 200a movs r0, #10 807b6dc: f7d8 fe0e bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807b6e0: 4908 ldr r1, [pc, #32] ; (807b704 ) 807b6e2: 480a ldr r0, [pc, #40] ; (807b70c ) 807b6e4: f7d8 f862 bl 80537ac LCD_DisplayStringC(260, LCD_LINE_12, str); 807b6e8: f507 733b add.w r3, r7, #748 ; 0x2ec 807b6ec: 461a mov r2, r3 807b6ee: 21ca movs r1, #202 ; 0xca 807b6f0: f44f 7082 mov.w r0, #260 ; 0x104 807b6f4: f7d8 fe1a bl 805432c 807b6f8: f002 ba9a b.w 807dc30 807b6fc: 20023e60 .word 0x20023e60 807b700: 2002024c .word 0x2002024c 807b704: ff0a0f1f .word 0xff0a0f1f 807b708: 200206b4 .word 0x200206b4 807b70c: ffd8aa57 .word 0xffd8aa57 807b710: 200202bc .word 0x200202bc 807b714: ff808080 .word 0xff808080 807b718: 2002070c .word 0x2002070c } } else if(menupos == Mediana) 807b71c: 4bc0 ldr r3, [pc, #768] ; (807ba20 ) 807b71e: 781b ldrb r3, [r3, #0] 807b720: b2db uxtb r3, r3 807b722: 2b06 cmp r3, #6 807b724: f040 81ae bne.w 807ba84 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807b728: 49be ldr r1, [pc, #760] ; (807ba24 ) 807b72a: f04f 30ff mov.w r0, #4294967295 807b72e: f7d8 f83d bl 80537ac LCD_DisplayString(10, LCD_LINE_2, (char *)TEXT_Next[pardata.LANG]);//"Äàëåå" 807b732: 4bbd ldr r3, [pc, #756] ; (807ba28 ) 807b734: 7b1b ldrb r3, [r3, #12] 807b736: b2db uxtb r3, r3 807b738: 461a mov r2, r3 807b73a: 4bbc ldr r3, [pc, #752] ; (807ba2c ) 807b73c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807b740: 461a mov r2, r3 807b742: 2127 movs r1, #39 ; 0x27 807b744: 200a movs r0, #10 807b746: f7d8 fdd9 bl 80542fc LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807b74a: 49b6 ldr r1, [pc, #728] ; (807ba24 ) 807b74c: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807b750: f7d8 f82c bl 80537ac BSP_LCD_FillRect(253, 155, 14, 14); 807b754: 230e movs r3, #14 807b756: 220e movs r2, #14 807b758: 219b movs r1, #155 ; 0x9b 807b75a: 20fd movs r0, #253 ; 0xfd 807b75c: f7d8 fcb4 bl 80540c8 if(pardata.HP >= 2.0f) 807b760: 4bb1 ldr r3, [pc, #708] ; (807ba28 ) 807b762: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 807b766: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 807b76a: eef4 7ac7 vcmpe.f32 s15, s14 807b76e: eef1 fa10 vmrs APSR_nzcv, fpscr 807b772: db53 blt.n 807b81c { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807b774: 49ab ldr r1, [pc, #684] ; (807ba24 ) 807b776: f04f 30ff mov.w r0, #4294967295 807b77a: f7d8 f817 bl 80537ac LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_PARAM_VIB[pardata.LANG][3]);//"Çíà÷åíèå Ñêîðîñòè" 807b77e: 4baa ldr r3, [pc, #680] ; (807ba28 ) 807b780: 7b1b ldrb r3, [r3, #12] 807b782: b2db uxtb r3, r3 807b784: 4619 mov r1, r3 807b786: 4aaa ldr r2, [pc, #680] ; (807ba30 ) 807b788: 232c movs r3, #44 ; 0x2c 807b78a: fb03 f301 mul.w r3, r3, r1 807b78e: 4413 add r3, r2 807b790: 330c adds r3, #12 807b792: 681b ldr r3, [r3, #0] 807b794: 461a mov r2, r3 807b796: 216a movs r1, #106 ; 0x6a 807b798: 200a movs r0, #10 807b79a: f7d8 fdaf bl 80542fc LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_PARAM_VIB[pardata.LANG][4]);//"Çíà÷åíèå Ïåðåìåù" 807b79e: 4ba2 ldr r3, [pc, #648] ; (807ba28 ) 807b7a0: 7b1b ldrb r3, [r3, #12] 807b7a2: b2db uxtb r3, r3 807b7a4: 4619 mov r1, r3 807b7a6: 4aa2 ldr r2, [pc, #648] ; (807ba30 ) 807b7a8: 232c movs r3, #44 ; 0x2c 807b7aa: fb03 f301 mul.w r3, r3, r1 807b7ae: 4413 add r3, r2 807b7b0: 3310 adds r3, #16 807b7b2: 681b ldr r3, [r3, #0] 807b7b4: 461a mov r2, r3 807b7b6: 217a movs r1, #122 ; 0x7a 807b7b8: 200a movs r0, #10 807b7ba: f7d8 fd9f bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807b7be: 4999 ldr r1, [pc, #612] ; (807ba24 ) 807b7c0: 489c ldr r0, [pc, #624] ; (807ba34 ) 807b7c2: f7d7 fff3 bl 80537ac LCD_DisplayStringC(260, LCD_LINE_6, (char *) pIVS[pardata.LANG][pardata.IVS[VEL]]); 807b7c6: 4b98 ldr r3, [pc, #608] ; (807ba28 ) 807b7c8: 7b1b ldrb r3, [r3, #12] 807b7ca: b2db uxtb r3, r3 807b7cc: 4619 mov r1, r3 807b7ce: 4b96 ldr r3, [pc, #600] ; (807ba28 ) 807b7d0: 78db ldrb r3, [r3, #3] 807b7d2: b2db uxtb r3, r3 807b7d4: 4618 mov r0, r3 807b7d6: 4a98 ldr r2, [pc, #608] ; (807ba38 ) 807b7d8: 460b mov r3, r1 807b7da: 009b lsls r3, r3, #2 807b7dc: 440b add r3, r1 807b7de: 4403 add r3, r0 807b7e0: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807b7e4: 461a mov r2, r3 807b7e6: 216a movs r1, #106 ; 0x6a 807b7e8: f44f 7082 mov.w r0, #260 ; 0x104 807b7ec: f7d8 fd9e bl 805432c LCD_DisplayStringC(260, LCD_LINE_7, (char *) pIVS[pardata.LANG][pardata.IVS[DIS]]); 807b7f0: 4b8d ldr r3, [pc, #564] ; (807ba28 ) 807b7f2: 7b1b ldrb r3, [r3, #12] 807b7f4: b2db uxtb r3, r3 807b7f6: 4619 mov r1, r3 807b7f8: 4b8b ldr r3, [pc, #556] ; (807ba28 ) 807b7fa: 791b ldrb r3, [r3, #4] 807b7fc: b2db uxtb r3, r3 807b7fe: 4618 mov r0, r3 807b800: 4a8d ldr r2, [pc, #564] ; (807ba38 ) 807b802: 460b mov r3, r1 807b804: 009b lsls r3, r3, #2 807b806: 440b add r3, r1 807b808: 4403 add r3, r0 807b80a: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807b80e: 461a mov r2, r3 807b810: 217a movs r1, #122 ; 0x7a 807b812: f44f 7082 mov.w r0, #260 ; 0x104 807b816: f7d8 fd89 bl 805432c 807b81a: e04d b.n 807b8b8 } else { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 807b81c: 4981 ldr r1, [pc, #516] ; (807ba24 ) 807b81e: 4887 ldr r0, [pc, #540] ; (807ba3c ) 807b820: f7d7 ffc4 bl 80537ac LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_PARAM_VIB[pardata.LANG][3]);//"Çíà÷åíèå Ñêîðîñòè" 807b824: 4b80 ldr r3, [pc, #512] ; (807ba28 ) 807b826: 7b1b ldrb r3, [r3, #12] 807b828: b2db uxtb r3, r3 807b82a: 4619 mov r1, r3 807b82c: 4a80 ldr r2, [pc, #512] ; (807ba30 ) 807b82e: 232c movs r3, #44 ; 0x2c 807b830: fb03 f301 mul.w r3, r3, r1 807b834: 4413 add r3, r2 807b836: 330c adds r3, #12 807b838: 681b ldr r3, [r3, #0] 807b83a: 461a mov r2, r3 807b83c: 216a movs r1, #106 ; 0x6a 807b83e: 200a movs r0, #10 807b840: f7d8 fd5c bl 80542fc LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_PARAM_VIB[pardata.LANG][4]);//"Çíà÷åíèå Ïåðåìåù" 807b844: 4b78 ldr r3, [pc, #480] ; (807ba28 ) 807b846: 7b1b ldrb r3, [r3, #12] 807b848: b2db uxtb r3, r3 807b84a: 4619 mov r1, r3 807b84c: 4a78 ldr r2, [pc, #480] ; (807ba30 ) 807b84e: 232c movs r3, #44 ; 0x2c 807b850: fb03 f301 mul.w r3, r3, r1 807b854: 4413 add r3, r2 807b856: 3310 adds r3, #16 807b858: 681b ldr r3, [r3, #0] 807b85a: 461a mov r2, r3 807b85c: 217a movs r1, #122 ; 0x7a 807b85e: 200a movs r0, #10 807b860: f7d8 fd4c bl 80542fc LCD_DisplayStringC(260, LCD_LINE_6, (char *) pIVS[pardata.LANG][pardata.IVS[VEL]]); 807b864: 4b70 ldr r3, [pc, #448] ; (807ba28 ) 807b866: 7b1b ldrb r3, [r3, #12] 807b868: b2db uxtb r3, r3 807b86a: 4619 mov r1, r3 807b86c: 4b6e ldr r3, [pc, #440] ; (807ba28 ) 807b86e: 78db ldrb r3, [r3, #3] 807b870: b2db uxtb r3, r3 807b872: 4618 mov r0, r3 807b874: 4a70 ldr r2, [pc, #448] ; (807ba38 ) 807b876: 460b mov r3, r1 807b878: 009b lsls r3, r3, #2 807b87a: 440b add r3, r1 807b87c: 4403 add r3, r0 807b87e: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807b882: 461a mov r2, r3 807b884: 216a movs r1, #106 ; 0x6a 807b886: f44f 7082 mov.w r0, #260 ; 0x104 807b88a: f7d8 fd4f bl 805432c LCD_DisplayStringC(260, LCD_LINE_7, (char *) pIVS[pardata.LANG][pardata.IVS[DIS]]); 807b88e: 4b66 ldr r3, [pc, #408] ; (807ba28 ) 807b890: 7b1b ldrb r3, [r3, #12] 807b892: b2db uxtb r3, r3 807b894: 4619 mov r1, r3 807b896: 4b64 ldr r3, [pc, #400] ; (807ba28 ) 807b898: 791b ldrb r3, [r3, #4] 807b89a: b2db uxtb r3, r3 807b89c: 4618 mov r0, r3 807b89e: 4a66 ldr r2, [pc, #408] ; (807ba38 ) 807b8a0: 460b mov r3, r1 807b8a2: 009b lsls r3, r3, #2 807b8a4: 440b add r3, r1 807b8a6: 4403 add r3, r0 807b8a8: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807b8ac: 461a mov r2, r3 807b8ae: 217a movs r1, #122 ; 0x7a 807b8b0: f44f 7082 mov.w r0, #260 ; 0x104 807b8b4: f7d8 fd3a bl 805432c } LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807b8b8: 495a ldr r1, [pc, #360] ; (807ba24 ) 807b8ba: 485e ldr r0, [pc, #376] ; (807ba34 ) 807b8bc: f7d7 ff76 bl 80537ac LCD_DisplayStringC(260, LCD_LINE_3, strHP); 807b8c0: f507 73d2 add.w r3, r7, #420 ; 0x1a4 807b8c4: 461a mov r2, r3 807b8c6: 213a movs r1, #58 ; 0x3a 807b8c8: f44f 7082 mov.w r0, #260 ; 0x104 807b8cc: f7d8 fd2e bl 805432c LCD_DisplayStringC(260, LCD_LINE_4, strLP); 807b8d0: f507 73cc add.w r3, r7, #408 ; 0x198 807b8d4: 461a mov r2, r3 807b8d6: 214a movs r1, #74 ; 0x4a 807b8d8: f44f 7082 mov.w r0, #260 ; 0x104 807b8dc: f7d8 fd26 bl 805432c LCD_DisplayStringC(260, LCD_LINE_5, (char *) pIVS[pardata.LANG][pardata.IVS[ACC]]); 807b8e0: 4b51 ldr r3, [pc, #324] ; (807ba28 ) 807b8e2: 7b1b ldrb r3, [r3, #12] 807b8e4: b2db uxtb r3, r3 807b8e6: 4619 mov r1, r3 807b8e8: 4b4f ldr r3, [pc, #316] ; (807ba28 ) 807b8ea: 789b ldrb r3, [r3, #2] 807b8ec: b2db uxtb r3, r3 807b8ee: 4618 mov r0, r3 807b8f0: 4a51 ldr r2, [pc, #324] ; (807ba38 ) 807b8f2: 460b mov r3, r1 807b8f4: 009b lsls r3, r3, #2 807b8f6: 440b add r3, r1 807b8f8: 4403 add r3, r0 807b8fa: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807b8fe: 461a mov r2, r3 807b900: 215a movs r1, #90 ; 0x5a 807b902: f44f 7082 mov.w r0, #260 ; 0x104 807b906: f7d8 fd11 bl 805432c LCD_DisplayStringC(260, LCD_LINE_8, (char *) pAVERAGE_SEC[pardata.LANG][pardata.AVG]); 807b90a: 4b47 ldr r3, [pc, #284] ; (807ba28 ) 807b90c: 7b1b ldrb r3, [r3, #12] 807b90e: b2db uxtb r3, r3 807b910: 4619 mov r1, r3 807b912: 4b45 ldr r3, [pc, #276] ; (807ba28 ) 807b914: 7b5b ldrb r3, [r3, #13] 807b916: b2db uxtb r3, r3 807b918: 4618 mov r0, r3 807b91a: 4a49 ldr r2, [pc, #292] ; (807ba40 ) 807b91c: 460b mov r3, r1 807b91e: 009b lsls r3, r3, #2 807b920: 440b add r3, r1 807b922: 005b lsls r3, r3, #1 807b924: 4403 add r3, r0 807b926: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807b92a: 461a mov r2, r3 807b92c: 218a movs r1, #138 ; 0x8a 807b92e: f44f 7082 mov.w r0, #260 ; 0x104 807b932: f7d8 fcfb bl 805432c LCD_DisplayStringC(260, LCD_LINE_13, str1); 807b936: f507 73f6 add.w r3, r7, #492 ; 0x1ec 807b93a: 461a mov r2, r3 807b93c: 21da movs r1, #218 ; 0xda 807b93e: f44f 7082 mov.w r0, #260 ; 0x104 807b942: f7d8 fcf3 bl 805432c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807b946: 4937 ldr r1, [pc, #220] ; (807ba24 ) 807b948: f04f 30ff mov.w r0, #4294967295 807b94c: f7d7 ff2e bl 80537ac BSP_LCD_FillRect(255, 157, 10, 10); 807b950: 230a movs r3, #10 807b952: 220a movs r2, #10 807b954: 219d movs r1, #157 ; 0x9d 807b956: 20ff movs r0, #255 ; 0xff 807b958: f7d8 fbb6 bl 80540c8 BSP_LCD_FillRect(255, 173, 10, 10); 807b95c: 230a movs r3, #10 807b95e: 220a movs r2, #10 807b960: 21ad movs r1, #173 ; 0xad 807b962: 20ff movs r0, #255 ; 0xff 807b964: f7d8 fbb0 bl 80540c8 BSP_LCD_FillRect(255, 189, 10, 10); 807b968: 230a movs r3, #10 807b96a: 220a movs r2, #10 807b96c: 21bd movs r1, #189 ; 0xbd 807b96e: 20ff movs r0, #255 ; 0xff 807b970: f7d8 fbaa bl 80540c8 if(pardata.OPTIONS & 0x4) // åñëè àâòîóñèëåíèå 807b974: 4b2c ldr r3, [pc, #176] ; (807ba28 ) 807b976: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 807b97a: f003 0304 and.w r3, r3, #4 807b97e: 2b00 cmp r3, #0 807b980: d033 beq.n 807b9ea { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 807b982: 4928 ldr r1, [pc, #160] ; (807ba24 ) 807b984: 482d ldr r0, [pc, #180] ; (807ba3c ) 807b986: f7d7 ff11 bl 80537ac if(pardata.IIN != VOLTS) 807b98a: 4b27 ldr r3, [pc, #156] ; (807ba28 ) 807b98c: 799b ldrb r3, [r3, #6] 807b98e: b2db uxtb r3, r3 807b990: 2b02 cmp r3, #2 807b992: d010 beq.n 807b9b6 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807b994: 4b24 ldr r3, [pc, #144] ; (807ba28 ) 807b996: 7b1b ldrb r3, [r3, #12] 807b998: b2db uxtb r3, r3 807b99a: 4619 mov r1, r3 807b99c: 4a24 ldr r2, [pc, #144] ; (807ba30 ) 807b99e: 232c movs r3, #44 ; 0x2c 807b9a0: fb03 f301 mul.w r3, r3, r1 807b9a4: 4413 add r3, r2 807b9a6: 3324 adds r3, #36 ; 0x24 807b9a8: 681b ldr r3, [r3, #0] 807b9aa: 461a mov r2, r3 807b9ac: 21ca movs r1, #202 ; 0xca 807b9ae: 200a movs r0, #10 807b9b0: f7d8 fca4 bl 80542fc 807b9b4: e00f b.n 807b9d6 else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807b9b6: 4b1c ldr r3, [pc, #112] ; (807ba28 ) 807b9b8: 7b1b ldrb r3, [r3, #12] 807b9ba: b2db uxtb r3, r3 807b9bc: 4619 mov r1, r3 807b9be: 4a21 ldr r2, [pc, #132] ; (807ba44 ) 807b9c0: 232c movs r3, #44 ; 0x2c 807b9c2: fb03 f301 mul.w r3, r3, r1 807b9c6: 4413 add r3, r2 807b9c8: 3324 adds r3, #36 ; 0x24 807b9ca: 681b ldr r3, [r3, #0] 807b9cc: 461a mov r2, r3 807b9ce: 21ca movs r1, #202 ; 0xca 807b9d0: 200a movs r0, #10 807b9d2: f7d8 fc93 bl 80542fc LCD_DisplayStringC(260, LCD_LINE_12, str); 807b9d6: f507 733b add.w r3, r7, #748 ; 0x2ec 807b9da: 461a mov r2, r3 807b9dc: 21ca movs r1, #202 ; 0xca 807b9de: f44f 7082 mov.w r0, #260 ; 0x104 807b9e2: f7d8 fca3 bl 805432c 807b9e6: f002 b923 b.w 807dc30 } else { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807b9ea: 490e ldr r1, [pc, #56] ; (807ba24 ) 807b9ec: f04f 30ff mov.w r0, #4294967295 807b9f0: f7d7 fedc bl 80537ac if(pardata.IIN != VOLTS) 807b9f4: 4b0c ldr r3, [pc, #48] ; (807ba28 ) 807b9f6: 799b ldrb r3, [r3, #6] 807b9f8: b2db uxtb r3, r3 807b9fa: 2b02 cmp r3, #2 807b9fc: d024 beq.n 807ba48 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807b9fe: 4b0a ldr r3, [pc, #40] ; (807ba28 ) 807ba00: 7b1b ldrb r3, [r3, #12] 807ba02: b2db uxtb r3, r3 807ba04: 4619 mov r1, r3 807ba06: 4a0a ldr r2, [pc, #40] ; (807ba30 ) 807ba08: 232c movs r3, #44 ; 0x2c 807ba0a: fb03 f301 mul.w r3, r3, r1 807ba0e: 4413 add r3, r2 807ba10: 3324 adds r3, #36 ; 0x24 807ba12: 681b ldr r3, [r3, #0] 807ba14: 461a mov r2, r3 807ba16: 21ca movs r1, #202 ; 0xca 807ba18: 200a movs r0, #10 807ba1a: f7d8 fc6f bl 80542fc 807ba1e: e023 b.n 807ba68 807ba20: 20020070 .word 0x20020070 807ba24: ff0a0f1f .word 0xff0a0f1f 807ba28: 20023e60 .word 0x20023e60 807ba2c: 200205c4 .word 0x200205c4 807ba30: 200206b4 .word 0x200206b4 807ba34: ffd8aa57 .word 0xffd8aa57 807ba38: 200202bc .word 0x200202bc 807ba3c: ff808080 .word 0xff808080 807ba40: 2002024c .word 0x2002024c 807ba44: 2002070c .word 0x2002070c else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807ba48: 4bc2 ldr r3, [pc, #776] ; (807bd54 ) 807ba4a: 7b1b ldrb r3, [r3, #12] 807ba4c: b2db uxtb r3, r3 807ba4e: 4619 mov r1, r3 807ba50: 4ac1 ldr r2, [pc, #772] ; (807bd58 ) 807ba52: 232c movs r3, #44 ; 0x2c 807ba54: fb03 f301 mul.w r3, r3, r1 807ba58: 4413 add r3, r2 807ba5a: 3324 adds r3, #36 ; 0x24 807ba5c: 681b ldr r3, [r3, #0] 807ba5e: 461a mov r2, r3 807ba60: 21ca movs r1, #202 ; 0xca 807ba62: 200a movs r0, #10 807ba64: f7d8 fc4a bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807ba68: 49bc ldr r1, [pc, #752] ; (807bd5c ) 807ba6a: 48bd ldr r0, [pc, #756] ; (807bd60 ) 807ba6c: f7d7 fe9e bl 80537ac LCD_DisplayStringC(260, LCD_LINE_12, str); 807ba70: f507 733b add.w r3, r7, #748 ; 0x2ec 807ba74: 461a mov r2, r3 807ba76: 21ca movs r1, #202 ; 0xca 807ba78: f44f 7082 mov.w r0, #260 ; 0x104 807ba7c: f7d8 fc56 bl 805432c 807ba80: f002 b8d6 b.w 807dc30 } } else if(menupos == ViewFreq) 807ba84: 4bb7 ldr r3, [pc, #732] ; (807bd64 ) 807ba86: 781b ldrb r3, [r3, #0] 807ba88: b2db uxtb r3, r3 807ba8a: 2b07 cmp r3, #7 807ba8c: f040 81af bne.w 807bdee { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807ba90: 49b2 ldr r1, [pc, #712] ; (807bd5c ) 807ba92: f04f 30ff mov.w r0, #4294967295 807ba96: f7d7 fe89 bl 80537ac LCD_DisplayString(10, LCD_LINE_2, (char *)TEXT_Next[pardata.LANG]);//"Äàëåå" 807ba9a: 4bae ldr r3, [pc, #696] ; (807bd54 ) 807ba9c: 7b1b ldrb r3, [r3, #12] 807ba9e: b2db uxtb r3, r3 807baa0: 461a mov r2, r3 807baa2: 4bb1 ldr r3, [pc, #708] ; (807bd68 ) 807baa4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807baa8: 461a mov r2, r3 807baaa: 2127 movs r1, #39 ; 0x27 807baac: 200a movs r0, #10 807baae: f7d8 fc25 bl 80542fc LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807bab2: 49aa ldr r1, [pc, #680] ; (807bd5c ) 807bab4: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807bab8: f7d7 fe78 bl 80537ac BSP_LCD_FillRect(253, 171, 14, 14); 807babc: 230e movs r3, #14 807babe: 220e movs r2, #14 807bac0: 21ab movs r1, #171 ; 0xab 807bac2: 20fd movs r0, #253 ; 0xfd 807bac4: f7d8 fb00 bl 80540c8 if(pardata.HP >= 2.0f) 807bac8: 4ba2 ldr r3, [pc, #648] ; (807bd54 ) 807baca: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 807bace: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 807bad2: eef4 7ac7 vcmpe.f32 s15, s14 807bad6: eef1 fa10 vmrs APSR_nzcv, fpscr 807bada: db53 blt.n 807bb84 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807badc: 499f ldr r1, [pc, #636] ; (807bd5c ) 807bade: f04f 30ff mov.w r0, #4294967295 807bae2: f7d7 fe63 bl 80537ac LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_PARAM_VIB[pardata.LANG][3]);//"Çíà÷åíèå Ñêîðîñòè" 807bae6: 4b9b ldr r3, [pc, #620] ; (807bd54 ) 807bae8: 7b1b ldrb r3, [r3, #12] 807baea: b2db uxtb r3, r3 807baec: 4619 mov r1, r3 807baee: 4a9f ldr r2, [pc, #636] ; (807bd6c ) 807baf0: 232c movs r3, #44 ; 0x2c 807baf2: fb03 f301 mul.w r3, r3, r1 807baf6: 4413 add r3, r2 807baf8: 330c adds r3, #12 807bafa: 681b ldr r3, [r3, #0] 807bafc: 461a mov r2, r3 807bafe: 216a movs r1, #106 ; 0x6a 807bb00: 200a movs r0, #10 807bb02: f7d8 fbfb bl 80542fc LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_PARAM_VIB[pardata.LANG][4]);//"Çíà÷åíèå Ïåðåìåù" 807bb06: 4b93 ldr r3, [pc, #588] ; (807bd54 ) 807bb08: 7b1b ldrb r3, [r3, #12] 807bb0a: b2db uxtb r3, r3 807bb0c: 4619 mov r1, r3 807bb0e: 4a97 ldr r2, [pc, #604] ; (807bd6c ) 807bb10: 232c movs r3, #44 ; 0x2c 807bb12: fb03 f301 mul.w r3, r3, r1 807bb16: 4413 add r3, r2 807bb18: 3310 adds r3, #16 807bb1a: 681b ldr r3, [r3, #0] 807bb1c: 461a mov r2, r3 807bb1e: 217a movs r1, #122 ; 0x7a 807bb20: 200a movs r0, #10 807bb22: f7d8 fbeb bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807bb26: 498d ldr r1, [pc, #564] ; (807bd5c ) 807bb28: 488d ldr r0, [pc, #564] ; (807bd60 ) 807bb2a: f7d7 fe3f bl 80537ac LCD_DisplayStringC(260, LCD_LINE_6, (char *) pIVS[pardata.LANG][pardata.IVS[VEL]]); 807bb2e: 4b89 ldr r3, [pc, #548] ; (807bd54 ) 807bb30: 7b1b ldrb r3, [r3, #12] 807bb32: b2db uxtb r3, r3 807bb34: 4619 mov r1, r3 807bb36: 4b87 ldr r3, [pc, #540] ; (807bd54 ) 807bb38: 78db ldrb r3, [r3, #3] 807bb3a: b2db uxtb r3, r3 807bb3c: 4618 mov r0, r3 807bb3e: 4a8c ldr r2, [pc, #560] ; (807bd70 ) 807bb40: 460b mov r3, r1 807bb42: 009b lsls r3, r3, #2 807bb44: 440b add r3, r1 807bb46: 4403 add r3, r0 807bb48: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807bb4c: 461a mov r2, r3 807bb4e: 216a movs r1, #106 ; 0x6a 807bb50: f44f 7082 mov.w r0, #260 ; 0x104 807bb54: f7d8 fbea bl 805432c LCD_DisplayStringC(260, LCD_LINE_7, (char *) pIVS[pardata.LANG][pardata.IVS[DIS]]); 807bb58: 4b7e ldr r3, [pc, #504] ; (807bd54 ) 807bb5a: 7b1b ldrb r3, [r3, #12] 807bb5c: b2db uxtb r3, r3 807bb5e: 4619 mov r1, r3 807bb60: 4b7c ldr r3, [pc, #496] ; (807bd54 ) 807bb62: 791b ldrb r3, [r3, #4] 807bb64: b2db uxtb r3, r3 807bb66: 4618 mov r0, r3 807bb68: 4a81 ldr r2, [pc, #516] ; (807bd70 ) 807bb6a: 460b mov r3, r1 807bb6c: 009b lsls r3, r3, #2 807bb6e: 440b add r3, r1 807bb70: 4403 add r3, r0 807bb72: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807bb76: 461a mov r2, r3 807bb78: 217a movs r1, #122 ; 0x7a 807bb7a: f44f 7082 mov.w r0, #260 ; 0x104 807bb7e: f7d8 fbd5 bl 805432c 807bb82: e04d b.n 807bc20 } else { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 807bb84: 4975 ldr r1, [pc, #468] ; (807bd5c ) 807bb86: 487b ldr r0, [pc, #492] ; (807bd74 ) 807bb88: f7d7 fe10 bl 80537ac LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_PARAM_VIB[pardata.LANG][3]);//"Çíà÷åíèå Ñêîðîñòè" 807bb8c: 4b71 ldr r3, [pc, #452] ; (807bd54 ) 807bb8e: 7b1b ldrb r3, [r3, #12] 807bb90: b2db uxtb r3, r3 807bb92: 4619 mov r1, r3 807bb94: 4a75 ldr r2, [pc, #468] ; (807bd6c ) 807bb96: 232c movs r3, #44 ; 0x2c 807bb98: fb03 f301 mul.w r3, r3, r1 807bb9c: 4413 add r3, r2 807bb9e: 330c adds r3, #12 807bba0: 681b ldr r3, [r3, #0] 807bba2: 461a mov r2, r3 807bba4: 216a movs r1, #106 ; 0x6a 807bba6: 200a movs r0, #10 807bba8: f7d8 fba8 bl 80542fc LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_PARAM_VIB[pardata.LANG][4]);//"Çíà÷åíèå Ïåðåìåù" 807bbac: 4b69 ldr r3, [pc, #420] ; (807bd54 ) 807bbae: 7b1b ldrb r3, [r3, #12] 807bbb0: b2db uxtb r3, r3 807bbb2: 4619 mov r1, r3 807bbb4: 4a6d ldr r2, [pc, #436] ; (807bd6c ) 807bbb6: 232c movs r3, #44 ; 0x2c 807bbb8: fb03 f301 mul.w r3, r3, r1 807bbbc: 4413 add r3, r2 807bbbe: 3310 adds r3, #16 807bbc0: 681b ldr r3, [r3, #0] 807bbc2: 461a mov r2, r3 807bbc4: 217a movs r1, #122 ; 0x7a 807bbc6: 200a movs r0, #10 807bbc8: f7d8 fb98 bl 80542fc LCD_DisplayStringC(260, LCD_LINE_6, (char *) pIVS[pardata.LANG][pardata.IVS[VEL]]); 807bbcc: 4b61 ldr r3, [pc, #388] ; (807bd54 ) 807bbce: 7b1b ldrb r3, [r3, #12] 807bbd0: b2db uxtb r3, r3 807bbd2: 4619 mov r1, r3 807bbd4: 4b5f ldr r3, [pc, #380] ; (807bd54 ) 807bbd6: 78db ldrb r3, [r3, #3] 807bbd8: b2db uxtb r3, r3 807bbda: 4618 mov r0, r3 807bbdc: 4a64 ldr r2, [pc, #400] ; (807bd70 ) 807bbde: 460b mov r3, r1 807bbe0: 009b lsls r3, r3, #2 807bbe2: 440b add r3, r1 807bbe4: 4403 add r3, r0 807bbe6: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807bbea: 461a mov r2, r3 807bbec: 216a movs r1, #106 ; 0x6a 807bbee: f44f 7082 mov.w r0, #260 ; 0x104 807bbf2: f7d8 fb9b bl 805432c LCD_DisplayStringC(260, LCD_LINE_7, (char *) pIVS[pardata.LANG][pardata.IVS[DIS]]); 807bbf6: 4b57 ldr r3, [pc, #348] ; (807bd54 ) 807bbf8: 7b1b ldrb r3, [r3, #12] 807bbfa: b2db uxtb r3, r3 807bbfc: 4619 mov r1, r3 807bbfe: 4b55 ldr r3, [pc, #340] ; (807bd54 ) 807bc00: 791b ldrb r3, [r3, #4] 807bc02: b2db uxtb r3, r3 807bc04: 4618 mov r0, r3 807bc06: 4a5a ldr r2, [pc, #360] ; (807bd70 ) 807bc08: 460b mov r3, r1 807bc0a: 009b lsls r3, r3, #2 807bc0c: 440b add r3, r1 807bc0e: 4403 add r3, r0 807bc10: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807bc14: 461a mov r2, r3 807bc16: 217a movs r1, #122 ; 0x7a 807bc18: f44f 7082 mov.w r0, #260 ; 0x104 807bc1c: f7d8 fb86 bl 805432c } LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807bc20: 494e ldr r1, [pc, #312] ; (807bd5c ) 807bc22: 484f ldr r0, [pc, #316] ; (807bd60 ) 807bc24: f7d7 fdc2 bl 80537ac LCD_DisplayStringC(260, LCD_LINE_3, strHP); 807bc28: f507 73d2 add.w r3, r7, #420 ; 0x1a4 807bc2c: 461a mov r2, r3 807bc2e: 213a movs r1, #58 ; 0x3a 807bc30: f44f 7082 mov.w r0, #260 ; 0x104 807bc34: f7d8 fb7a bl 805432c LCD_DisplayStringC(260, LCD_LINE_4, strLP); 807bc38: f507 73cc add.w r3, r7, #408 ; 0x198 807bc3c: 461a mov r2, r3 807bc3e: 214a movs r1, #74 ; 0x4a 807bc40: f44f 7082 mov.w r0, #260 ; 0x104 807bc44: f7d8 fb72 bl 805432c LCD_DisplayStringC(260, LCD_LINE_5, (char *) pIVS[pardata.LANG][pardata.IVS[ACC]]); 807bc48: 4b42 ldr r3, [pc, #264] ; (807bd54 ) 807bc4a: 7b1b ldrb r3, [r3, #12] 807bc4c: b2db uxtb r3, r3 807bc4e: 4619 mov r1, r3 807bc50: 4b40 ldr r3, [pc, #256] ; (807bd54 ) 807bc52: 789b ldrb r3, [r3, #2] 807bc54: b2db uxtb r3, r3 807bc56: 4618 mov r0, r3 807bc58: 4a45 ldr r2, [pc, #276] ; (807bd70 ) 807bc5a: 460b mov r3, r1 807bc5c: 009b lsls r3, r3, #2 807bc5e: 440b add r3, r1 807bc60: 4403 add r3, r0 807bc62: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807bc66: 461a mov r2, r3 807bc68: 215a movs r1, #90 ; 0x5a 807bc6a: f44f 7082 mov.w r0, #260 ; 0x104 807bc6e: f7d8 fb5d bl 805432c LCD_DisplayStringC(260, LCD_LINE_8, (char *) pAVERAGE_SEC[pardata.LANG][pardata.AVG]); 807bc72: 4b38 ldr r3, [pc, #224] ; (807bd54 ) 807bc74: 7b1b ldrb r3, [r3, #12] 807bc76: b2db uxtb r3, r3 807bc78: 4619 mov r1, r3 807bc7a: 4b36 ldr r3, [pc, #216] ; (807bd54 ) 807bc7c: 7b5b ldrb r3, [r3, #13] 807bc7e: b2db uxtb r3, r3 807bc80: 4618 mov r0, r3 807bc82: 4a3d ldr r2, [pc, #244] ; (807bd78 ) 807bc84: 460b mov r3, r1 807bc86: 009b lsls r3, r3, #2 807bc88: 440b add r3, r1 807bc8a: 005b lsls r3, r3, #1 807bc8c: 4403 add r3, r0 807bc8e: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807bc92: 461a mov r2, r3 807bc94: 218a movs r1, #138 ; 0x8a 807bc96: f44f 7082 mov.w r0, #260 ; 0x104 807bc9a: f7d8 fb47 bl 805432c LCD_DisplayStringC(260, LCD_LINE_13, str1); 807bc9e: f507 73f6 add.w r3, r7, #492 ; 0x1ec 807bca2: 461a mov r2, r3 807bca4: 21da movs r1, #218 ; 0xda 807bca6: f44f 7082 mov.w r0, #260 ; 0x104 807bcaa: f7d8 fb3f bl 805432c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807bcae: 492b ldr r1, [pc, #172] ; (807bd5c ) 807bcb0: f04f 30ff mov.w r0, #4294967295 807bcb4: f7d7 fd7a bl 80537ac BSP_LCD_FillRect(255, 157, 10, 10); 807bcb8: 230a movs r3, #10 807bcba: 220a movs r2, #10 807bcbc: 219d movs r1, #157 ; 0x9d 807bcbe: 20ff movs r0, #255 ; 0xff 807bcc0: f7d8 fa02 bl 80540c8 BSP_LCD_FillRect(255, 173, 10, 10); 807bcc4: 230a movs r3, #10 807bcc6: 220a movs r2, #10 807bcc8: 21ad movs r1, #173 ; 0xad 807bcca: 20ff movs r0, #255 ; 0xff 807bccc: f7d8 f9fc bl 80540c8 BSP_LCD_FillRect(255, 189, 10, 10); 807bcd0: 230a movs r3, #10 807bcd2: 220a movs r2, #10 807bcd4: 21bd movs r1, #189 ; 0xbd 807bcd6: 20ff movs r0, #255 ; 0xff 807bcd8: f7d8 f9f6 bl 80540c8 if(pardata.OPTIONS & 0x4) // åñëè àâòîóñèëåíèå 807bcdc: 4b1d ldr r3, [pc, #116] ; (807bd54 ) 807bcde: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 807bce2: f003 0304 and.w r3, r3, #4 807bce6: 2b00 cmp r3, #0 807bce8: d048 beq.n 807bd7c { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 807bcea: 491c ldr r1, [pc, #112] ; (807bd5c ) 807bcec: 4821 ldr r0, [pc, #132] ; (807bd74 ) 807bcee: f7d7 fd5d bl 80537ac if(pardata.IIN != VOLTS) 807bcf2: 4b18 ldr r3, [pc, #96] ; (807bd54 ) 807bcf4: 799b ldrb r3, [r3, #6] 807bcf6: b2db uxtb r3, r3 807bcf8: 2b02 cmp r3, #2 807bcfa: d010 beq.n 807bd1e LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807bcfc: 4b15 ldr r3, [pc, #84] ; (807bd54 ) 807bcfe: 7b1b ldrb r3, [r3, #12] 807bd00: b2db uxtb r3, r3 807bd02: 4619 mov r1, r3 807bd04: 4a19 ldr r2, [pc, #100] ; (807bd6c ) 807bd06: 232c movs r3, #44 ; 0x2c 807bd08: fb03 f301 mul.w r3, r3, r1 807bd0c: 4413 add r3, r2 807bd0e: 3324 adds r3, #36 ; 0x24 807bd10: 681b ldr r3, [r3, #0] 807bd12: 461a mov r2, r3 807bd14: 21ca movs r1, #202 ; 0xca 807bd16: 200a movs r0, #10 807bd18: f7d8 faf0 bl 80542fc 807bd1c: e00f b.n 807bd3e else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807bd1e: 4b0d ldr r3, [pc, #52] ; (807bd54 ) 807bd20: 7b1b ldrb r3, [r3, #12] 807bd22: b2db uxtb r3, r3 807bd24: 4619 mov r1, r3 807bd26: 4a0c ldr r2, [pc, #48] ; (807bd58 ) 807bd28: 232c movs r3, #44 ; 0x2c 807bd2a: fb03 f301 mul.w r3, r3, r1 807bd2e: 4413 add r3, r2 807bd30: 3324 adds r3, #36 ; 0x24 807bd32: 681b ldr r3, [r3, #0] 807bd34: 461a mov r2, r3 807bd36: 21ca movs r1, #202 ; 0xca 807bd38: 200a movs r0, #10 807bd3a: f7d8 fadf bl 80542fc LCD_DisplayStringC(260, LCD_LINE_12, str); 807bd3e: f507 733b add.w r3, r7, #748 ; 0x2ec 807bd42: 461a mov r2, r3 807bd44: 21ca movs r1, #202 ; 0xca 807bd46: f44f 7082 mov.w r0, #260 ; 0x104 807bd4a: f7d8 faef bl 805432c 807bd4e: f001 bf6f b.w 807dc30 807bd52: bf00 nop 807bd54: 20023e60 .word 0x20023e60 807bd58: 2002070c .word 0x2002070c 807bd5c: ff0a0f1f .word 0xff0a0f1f 807bd60: ffd8aa57 .word 0xffd8aa57 807bd64: 20020070 .word 0x20020070 807bd68: 200205c4 .word 0x200205c4 807bd6c: 200206b4 .word 0x200206b4 807bd70: 200202bc .word 0x200202bc 807bd74: ff808080 .word 0xff808080 807bd78: 2002024c .word 0x2002024c } else { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807bd7c: 49c2 ldr r1, [pc, #776] ; (807c088 ) 807bd7e: f04f 30ff mov.w r0, #4294967295 807bd82: f7d7 fd13 bl 80537ac if(pardata.IIN != VOLTS) 807bd86: 4bc1 ldr r3, [pc, #772] ; (807c08c ) 807bd88: 799b ldrb r3, [r3, #6] 807bd8a: b2db uxtb r3, r3 807bd8c: 2b02 cmp r3, #2 807bd8e: d010 beq.n 807bdb2 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807bd90: 4bbe ldr r3, [pc, #760] ; (807c08c ) 807bd92: 7b1b ldrb r3, [r3, #12] 807bd94: b2db uxtb r3, r3 807bd96: 4619 mov r1, r3 807bd98: 4abd ldr r2, [pc, #756] ; (807c090 ) 807bd9a: 232c movs r3, #44 ; 0x2c 807bd9c: fb03 f301 mul.w r3, r3, r1 807bda0: 4413 add r3, r2 807bda2: 3324 adds r3, #36 ; 0x24 807bda4: 681b ldr r3, [r3, #0] 807bda6: 461a mov r2, r3 807bda8: 21ca movs r1, #202 ; 0xca 807bdaa: 200a movs r0, #10 807bdac: f7d8 faa6 bl 80542fc 807bdb0: e00f b.n 807bdd2 else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807bdb2: 4bb6 ldr r3, [pc, #728] ; (807c08c ) 807bdb4: 7b1b ldrb r3, [r3, #12] 807bdb6: b2db uxtb r3, r3 807bdb8: 4619 mov r1, r3 807bdba: 4ab6 ldr r2, [pc, #728] ; (807c094 ) 807bdbc: 232c movs r3, #44 ; 0x2c 807bdbe: fb03 f301 mul.w r3, r3, r1 807bdc2: 4413 add r3, r2 807bdc4: 3324 adds r3, #36 ; 0x24 807bdc6: 681b ldr r3, [r3, #0] 807bdc8: 461a mov r2, r3 807bdca: 21ca movs r1, #202 ; 0xca 807bdcc: 200a movs r0, #10 807bdce: f7d8 fa95 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807bdd2: 49ad ldr r1, [pc, #692] ; (807c088 ) 807bdd4: 48b0 ldr r0, [pc, #704] ; (807c098 ) 807bdd6: f7d7 fce9 bl 80537ac LCD_DisplayStringC(260, LCD_LINE_12, str); 807bdda: f507 733b add.w r3, r7, #748 ; 0x2ec 807bdde: 461a mov r2, r3 807bde0: 21ca movs r1, #202 ; 0xca 807bde2: f44f 7082 mov.w r0, #260 ; 0x104 807bde6: f7d8 faa1 bl 805432c 807bdea: f001 bf21 b.w 807dc30 } } else if(menupos == VibAutoKu) 807bdee: 4bab ldr r3, [pc, #684] ; (807c09c ) 807bdf0: 781b ldrb r3, [r3, #0] 807bdf2: b2db uxtb r3, r3 807bdf4: 2b08 cmp r3, #8 807bdf6: f040 81ae bne.w 807c156 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807bdfa: 49a3 ldr r1, [pc, #652] ; (807c088 ) 807bdfc: f04f 30ff mov.w r0, #4294967295 807be00: f7d7 fcd4 bl 80537ac LCD_DisplayString(10, LCD_LINE_2, (char *)TEXT_Next[pardata.LANG]);//"Äàëåå" 807be04: 4ba1 ldr r3, [pc, #644] ; (807c08c ) 807be06: 7b1b ldrb r3, [r3, #12] 807be08: b2db uxtb r3, r3 807be0a: 461a mov r2, r3 807be0c: 4ba4 ldr r3, [pc, #656] ; (807c0a0 ) 807be0e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807be12: 461a mov r2, r3 807be14: 2127 movs r1, #39 ; 0x27 807be16: 200a movs r0, #10 807be18: f7d8 fa70 bl 80542fc LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807be1c: 499a ldr r1, [pc, #616] ; (807c088 ) 807be1e: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807be22: f7d7 fcc3 bl 80537ac BSP_LCD_FillRect(253, 187, 14, 14); 807be26: 230e movs r3, #14 807be28: 220e movs r2, #14 807be2a: 21bb movs r1, #187 ; 0xbb 807be2c: 20fd movs r0, #253 ; 0xfd 807be2e: f7d8 f94b bl 80540c8 if(pardata.HP >= 2.0f) 807be32: 4b96 ldr r3, [pc, #600] ; (807c08c ) 807be34: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 807be38: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 807be3c: eef4 7ac7 vcmpe.f32 s15, s14 807be40: eef1 fa10 vmrs APSR_nzcv, fpscr 807be44: db53 blt.n 807beee { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807be46: 4990 ldr r1, [pc, #576] ; (807c088 ) 807be48: f04f 30ff mov.w r0, #4294967295 807be4c: f7d7 fcae bl 80537ac LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_PARAM_VIB[pardata.LANG][3]);//"Çíà÷åíèå Ñêîðîñòè" 807be50: 4b8e ldr r3, [pc, #568] ; (807c08c ) 807be52: 7b1b ldrb r3, [r3, #12] 807be54: b2db uxtb r3, r3 807be56: 4619 mov r1, r3 807be58: 4a8d ldr r2, [pc, #564] ; (807c090 ) 807be5a: 232c movs r3, #44 ; 0x2c 807be5c: fb03 f301 mul.w r3, r3, r1 807be60: 4413 add r3, r2 807be62: 330c adds r3, #12 807be64: 681b ldr r3, [r3, #0] 807be66: 461a mov r2, r3 807be68: 216a movs r1, #106 ; 0x6a 807be6a: 200a movs r0, #10 807be6c: f7d8 fa46 bl 80542fc LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_PARAM_VIB[pardata.LANG][4]);//"Çíà÷åíèå Ïåðåìåù" 807be70: 4b86 ldr r3, [pc, #536] ; (807c08c ) 807be72: 7b1b ldrb r3, [r3, #12] 807be74: b2db uxtb r3, r3 807be76: 4619 mov r1, r3 807be78: 4a85 ldr r2, [pc, #532] ; (807c090 ) 807be7a: 232c movs r3, #44 ; 0x2c 807be7c: fb03 f301 mul.w r3, r3, r1 807be80: 4413 add r3, r2 807be82: 3310 adds r3, #16 807be84: 681b ldr r3, [r3, #0] 807be86: 461a mov r2, r3 807be88: 217a movs r1, #122 ; 0x7a 807be8a: 200a movs r0, #10 807be8c: f7d8 fa36 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807be90: 497d ldr r1, [pc, #500] ; (807c088 ) 807be92: 4881 ldr r0, [pc, #516] ; (807c098 ) 807be94: f7d7 fc8a bl 80537ac LCD_DisplayStringC(260, LCD_LINE_6, (char *) pIVS[pardata.LANG][pardata.IVS[VEL]]); 807be98: 4b7c ldr r3, [pc, #496] ; (807c08c ) 807be9a: 7b1b ldrb r3, [r3, #12] 807be9c: b2db uxtb r3, r3 807be9e: 4619 mov r1, r3 807bea0: 4b7a ldr r3, [pc, #488] ; (807c08c ) 807bea2: 78db ldrb r3, [r3, #3] 807bea4: b2db uxtb r3, r3 807bea6: 4618 mov r0, r3 807bea8: 4a7e ldr r2, [pc, #504] ; (807c0a4 ) 807beaa: 460b mov r3, r1 807beac: 009b lsls r3, r3, #2 807beae: 440b add r3, r1 807beb0: 4403 add r3, r0 807beb2: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807beb6: 461a mov r2, r3 807beb8: 216a movs r1, #106 ; 0x6a 807beba: f44f 7082 mov.w r0, #260 ; 0x104 807bebe: f7d8 fa35 bl 805432c LCD_DisplayStringC(260, LCD_LINE_7, (char *) pIVS[pardata.LANG][pardata.IVS[DIS]]); 807bec2: 4b72 ldr r3, [pc, #456] ; (807c08c ) 807bec4: 7b1b ldrb r3, [r3, #12] 807bec6: b2db uxtb r3, r3 807bec8: 4619 mov r1, r3 807beca: 4b70 ldr r3, [pc, #448] ; (807c08c ) 807becc: 791b ldrb r3, [r3, #4] 807bece: b2db uxtb r3, r3 807bed0: 4618 mov r0, r3 807bed2: 4a74 ldr r2, [pc, #464] ; (807c0a4 ) 807bed4: 460b mov r3, r1 807bed6: 009b lsls r3, r3, #2 807bed8: 440b add r3, r1 807beda: 4403 add r3, r0 807bedc: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807bee0: 461a mov r2, r3 807bee2: 217a movs r1, #122 ; 0x7a 807bee4: f44f 7082 mov.w r0, #260 ; 0x104 807bee8: f7d8 fa20 bl 805432c 807beec: e04d b.n 807bf8a } else { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 807beee: 4966 ldr r1, [pc, #408] ; (807c088 ) 807bef0: 486d ldr r0, [pc, #436] ; (807c0a8 ) 807bef2: f7d7 fc5b bl 80537ac LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_PARAM_VIB[pardata.LANG][3]);//"Çíà÷åíèå Ñêîðîñòè" 807bef6: 4b65 ldr r3, [pc, #404] ; (807c08c ) 807bef8: 7b1b ldrb r3, [r3, #12] 807befa: b2db uxtb r3, r3 807befc: 4619 mov r1, r3 807befe: 4a64 ldr r2, [pc, #400] ; (807c090 ) 807bf00: 232c movs r3, #44 ; 0x2c 807bf02: fb03 f301 mul.w r3, r3, r1 807bf06: 4413 add r3, r2 807bf08: 330c adds r3, #12 807bf0a: 681b ldr r3, [r3, #0] 807bf0c: 461a mov r2, r3 807bf0e: 216a movs r1, #106 ; 0x6a 807bf10: 200a movs r0, #10 807bf12: f7d8 f9f3 bl 80542fc LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_PARAM_VIB[pardata.LANG][4]);//"Çíà÷åíèå Ïåðåìåù" 807bf16: 4b5d ldr r3, [pc, #372] ; (807c08c ) 807bf18: 7b1b ldrb r3, [r3, #12] 807bf1a: b2db uxtb r3, r3 807bf1c: 4619 mov r1, r3 807bf1e: 4a5c ldr r2, [pc, #368] ; (807c090 ) 807bf20: 232c movs r3, #44 ; 0x2c 807bf22: fb03 f301 mul.w r3, r3, r1 807bf26: 4413 add r3, r2 807bf28: 3310 adds r3, #16 807bf2a: 681b ldr r3, [r3, #0] 807bf2c: 461a mov r2, r3 807bf2e: 217a movs r1, #122 ; 0x7a 807bf30: 200a movs r0, #10 807bf32: f7d8 f9e3 bl 80542fc LCD_DisplayStringC(260, LCD_LINE_6, (char *) pIVS[pardata.LANG][pardata.IVS[VEL]]); 807bf36: 4b55 ldr r3, [pc, #340] ; (807c08c ) 807bf38: 7b1b ldrb r3, [r3, #12] 807bf3a: b2db uxtb r3, r3 807bf3c: 4619 mov r1, r3 807bf3e: 4b53 ldr r3, [pc, #332] ; (807c08c ) 807bf40: 78db ldrb r3, [r3, #3] 807bf42: b2db uxtb r3, r3 807bf44: 4618 mov r0, r3 807bf46: 4a57 ldr r2, [pc, #348] ; (807c0a4 ) 807bf48: 460b mov r3, r1 807bf4a: 009b lsls r3, r3, #2 807bf4c: 440b add r3, r1 807bf4e: 4403 add r3, r0 807bf50: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807bf54: 461a mov r2, r3 807bf56: 216a movs r1, #106 ; 0x6a 807bf58: f44f 7082 mov.w r0, #260 ; 0x104 807bf5c: f7d8 f9e6 bl 805432c LCD_DisplayStringC(260, LCD_LINE_7, (char *) pIVS[pardata.LANG][pardata.IVS[DIS]]); 807bf60: 4b4a ldr r3, [pc, #296] ; (807c08c ) 807bf62: 7b1b ldrb r3, [r3, #12] 807bf64: b2db uxtb r3, r3 807bf66: 4619 mov r1, r3 807bf68: 4b48 ldr r3, [pc, #288] ; (807c08c ) 807bf6a: 791b ldrb r3, [r3, #4] 807bf6c: b2db uxtb r3, r3 807bf6e: 4618 mov r0, r3 807bf70: 4a4c ldr r2, [pc, #304] ; (807c0a4 ) 807bf72: 460b mov r3, r1 807bf74: 009b lsls r3, r3, #2 807bf76: 440b add r3, r1 807bf78: 4403 add r3, r0 807bf7a: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807bf7e: 461a mov r2, r3 807bf80: 217a movs r1, #122 ; 0x7a 807bf82: f44f 7082 mov.w r0, #260 ; 0x104 807bf86: f7d8 f9d1 bl 805432c } LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807bf8a: 493f ldr r1, [pc, #252] ; (807c088 ) 807bf8c: 4842 ldr r0, [pc, #264] ; (807c098 ) 807bf8e: f7d7 fc0d bl 80537ac LCD_DisplayStringC(260, LCD_LINE_3, strHP); 807bf92: f507 73d2 add.w r3, r7, #420 ; 0x1a4 807bf96: 461a mov r2, r3 807bf98: 213a movs r1, #58 ; 0x3a 807bf9a: f44f 7082 mov.w r0, #260 ; 0x104 807bf9e: f7d8 f9c5 bl 805432c LCD_DisplayStringC(260, LCD_LINE_4, strLP); 807bfa2: f507 73cc add.w r3, r7, #408 ; 0x198 807bfa6: 461a mov r2, r3 807bfa8: 214a movs r1, #74 ; 0x4a 807bfaa: f44f 7082 mov.w r0, #260 ; 0x104 807bfae: f7d8 f9bd bl 805432c LCD_DisplayStringC(260, LCD_LINE_5, (char *) pIVS[pardata.LANG][pardata.IVS[ACC]]); 807bfb2: 4b36 ldr r3, [pc, #216] ; (807c08c ) 807bfb4: 7b1b ldrb r3, [r3, #12] 807bfb6: b2db uxtb r3, r3 807bfb8: 4619 mov r1, r3 807bfba: 4b34 ldr r3, [pc, #208] ; (807c08c ) 807bfbc: 789b ldrb r3, [r3, #2] 807bfbe: b2db uxtb r3, r3 807bfc0: 4618 mov r0, r3 807bfc2: 4a38 ldr r2, [pc, #224] ; (807c0a4 ) 807bfc4: 460b mov r3, r1 807bfc6: 009b lsls r3, r3, #2 807bfc8: 440b add r3, r1 807bfca: 4403 add r3, r0 807bfcc: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807bfd0: 461a mov r2, r3 807bfd2: 215a movs r1, #90 ; 0x5a 807bfd4: f44f 7082 mov.w r0, #260 ; 0x104 807bfd8: f7d8 f9a8 bl 805432c LCD_DisplayStringC(260, LCD_LINE_8, (char *) pAVERAGE_SEC[pardata.LANG][pardata.AVG]); 807bfdc: 4b2b ldr r3, [pc, #172] ; (807c08c ) 807bfde: 7b1b ldrb r3, [r3, #12] 807bfe0: b2db uxtb r3, r3 807bfe2: 4619 mov r1, r3 807bfe4: 4b29 ldr r3, [pc, #164] ; (807c08c ) 807bfe6: 7b5b ldrb r3, [r3, #13] 807bfe8: b2db uxtb r3, r3 807bfea: 4618 mov r0, r3 807bfec: 4a2f ldr r2, [pc, #188] ; (807c0ac ) 807bfee: 460b mov r3, r1 807bff0: 009b lsls r3, r3, #2 807bff2: 440b add r3, r1 807bff4: 005b lsls r3, r3, #1 807bff6: 4403 add r3, r0 807bff8: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807bffc: 461a mov r2, r3 807bffe: 218a movs r1, #138 ; 0x8a 807c000: f44f 7082 mov.w r0, #260 ; 0x104 807c004: f7d8 f992 bl 805432c LCD_DisplayStringC(260, LCD_LINE_13, str1); 807c008: f507 73f6 add.w r3, r7, #492 ; 0x1ec 807c00c: 461a mov r2, r3 807c00e: 21da movs r1, #218 ; 0xda 807c010: f44f 7082 mov.w r0, #260 ; 0x104 807c014: f7d8 f98a bl 805432c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807c018: 491b ldr r1, [pc, #108] ; (807c088 ) 807c01a: f04f 30ff mov.w r0, #4294967295 807c01e: f7d7 fbc5 bl 80537ac BSP_LCD_FillRect(255, 157, 10, 10); 807c022: 230a movs r3, #10 807c024: 220a movs r2, #10 807c026: 219d movs r1, #157 ; 0x9d 807c028: 20ff movs r0, #255 ; 0xff 807c02a: f7d8 f84d bl 80540c8 BSP_LCD_FillRect(255, 173, 10, 10); 807c02e: 230a movs r3, #10 807c030: 220a movs r2, #10 807c032: 21ad movs r1, #173 ; 0xad 807c034: 20ff movs r0, #255 ; 0xff 807c036: f7d8 f847 bl 80540c8 BSP_LCD_FillRect(255, 189, 10, 10); 807c03a: 230a movs r3, #10 807c03c: 220a movs r2, #10 807c03e: 21bd movs r1, #189 ; 0xbd 807c040: 20ff movs r0, #255 ; 0xff 807c042: f7d8 f841 bl 80540c8 if(pardata.OPTIONS & 0x4) // åñëè àâòîóñèëåíèå 807c046: 4b11 ldr r3, [pc, #68] ; (807c08c ) 807c048: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 807c04c: f003 0304 and.w r3, r3, #4 807c050: 2b00 cmp r3, #0 807c052: d047 beq.n 807c0e4 { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 807c054: 490c ldr r1, [pc, #48] ; (807c088 ) 807c056: 4814 ldr r0, [pc, #80] ; (807c0a8 ) 807c058: f7d7 fba8 bl 80537ac if(pardata.IIN != VOLTS) 807c05c: 4b0b ldr r3, [pc, #44] ; (807c08c ) 807c05e: 799b ldrb r3, [r3, #6] 807c060: b2db uxtb r3, r3 807c062: 2b02 cmp r3, #2 807c064: d024 beq.n 807c0b0 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807c066: 4b09 ldr r3, [pc, #36] ; (807c08c ) 807c068: 7b1b ldrb r3, [r3, #12] 807c06a: b2db uxtb r3, r3 807c06c: 4619 mov r1, r3 807c06e: 4a08 ldr r2, [pc, #32] ; (807c090 ) 807c070: 232c movs r3, #44 ; 0x2c 807c072: fb03 f301 mul.w r3, r3, r1 807c076: 4413 add r3, r2 807c078: 3324 adds r3, #36 ; 0x24 807c07a: 681b ldr r3, [r3, #0] 807c07c: 461a mov r2, r3 807c07e: 21ca movs r1, #202 ; 0xca 807c080: 200a movs r0, #10 807c082: f7d8 f93b bl 80542fc 807c086: e023 b.n 807c0d0 807c088: ff0a0f1f .word 0xff0a0f1f 807c08c: 20023e60 .word 0x20023e60 807c090: 200206b4 .word 0x200206b4 807c094: 2002070c .word 0x2002070c 807c098: ffd8aa57 .word 0xffd8aa57 807c09c: 20020070 .word 0x20020070 807c0a0: 200205c4 .word 0x200205c4 807c0a4: 200202bc .word 0x200202bc 807c0a8: ff808080 .word 0xff808080 807c0ac: 2002024c .word 0x2002024c else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807c0b0: 4b74 ldr r3, [pc, #464] ; (807c284 ) 807c0b2: 7b1b ldrb r3, [r3, #12] 807c0b4: b2db uxtb r3, r3 807c0b6: 4619 mov r1, r3 807c0b8: 4a73 ldr r2, [pc, #460] ; (807c288 ) 807c0ba: 232c movs r3, #44 ; 0x2c 807c0bc: fb03 f301 mul.w r3, r3, r1 807c0c0: 4413 add r3, r2 807c0c2: 3324 adds r3, #36 ; 0x24 807c0c4: 681b ldr r3, [r3, #0] 807c0c6: 461a mov r2, r3 807c0c8: 21ca movs r1, #202 ; 0xca 807c0ca: 200a movs r0, #10 807c0cc: f7d8 f916 bl 80542fc LCD_DisplayStringC(260, LCD_LINE_12, str); 807c0d0: f507 733b add.w r3, r7, #748 ; 0x2ec 807c0d4: 461a mov r2, r3 807c0d6: 21ca movs r1, #202 ; 0xca 807c0d8: f44f 7082 mov.w r0, #260 ; 0x104 807c0dc: f7d8 f926 bl 805432c 807c0e0: f001 bda6 b.w 807dc30 } else { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807c0e4: 4969 ldr r1, [pc, #420] ; (807c28c ) 807c0e6: f04f 30ff mov.w r0, #4294967295 807c0ea: f7d7 fb5f bl 80537ac if(pardata.IIN != VOLTS) 807c0ee: 4b65 ldr r3, [pc, #404] ; (807c284 ) 807c0f0: 799b ldrb r3, [r3, #6] 807c0f2: b2db uxtb r3, r3 807c0f4: 2b02 cmp r3, #2 807c0f6: d010 beq.n 807c11a LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807c0f8: 4b62 ldr r3, [pc, #392] ; (807c284 ) 807c0fa: 7b1b ldrb r3, [r3, #12] 807c0fc: b2db uxtb r3, r3 807c0fe: 4619 mov r1, r3 807c100: 4a63 ldr r2, [pc, #396] ; (807c290 ) 807c102: 232c movs r3, #44 ; 0x2c 807c104: fb03 f301 mul.w r3, r3, r1 807c108: 4413 add r3, r2 807c10a: 3324 adds r3, #36 ; 0x24 807c10c: 681b ldr r3, [r3, #0] 807c10e: 461a mov r2, r3 807c110: 21ca movs r1, #202 ; 0xca 807c112: 200a movs r0, #10 807c114: f7d8 f8f2 bl 80542fc 807c118: e00f b.n 807c13a else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807c11a: 4b5a ldr r3, [pc, #360] ; (807c284 ) 807c11c: 7b1b ldrb r3, [r3, #12] 807c11e: b2db uxtb r3, r3 807c120: 4619 mov r1, r3 807c122: 4a59 ldr r2, [pc, #356] ; (807c288 ) 807c124: 232c movs r3, #44 ; 0x2c 807c126: fb03 f301 mul.w r3, r3, r1 807c12a: 4413 add r3, r2 807c12c: 3324 adds r3, #36 ; 0x24 807c12e: 681b ldr r3, [r3, #0] 807c130: 461a mov r2, r3 807c132: 21ca movs r1, #202 ; 0xca 807c134: 200a movs r0, #10 807c136: f7d8 f8e1 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807c13a: 4954 ldr r1, [pc, #336] ; (807c28c ) 807c13c: 4855 ldr r0, [pc, #340] ; (807c294 ) 807c13e: f7d7 fb35 bl 80537ac LCD_DisplayStringC(260, LCD_LINE_12, str); 807c142: f507 733b add.w r3, r7, #748 ; 0x2ec 807c146: 461a mov r2, r3 807c148: 21ca movs r1, #202 ; 0xca 807c14a: f44f 7082 mov.w r0, #260 ; 0x104 807c14e: f7d8 f8ed bl 805432c 807c152: f001 bd6d b.w 807dc30 } } else if(menupos == SaveToFile) 807c156: 4b50 ldr r3, [pc, #320] ; (807c298 ) 807c158: 781b ldrb r3, [r3, #0] 807c15a: b2db uxtb r3, r3 807c15c: 2b0a cmp r3, #10 807c15e: f040 81bb bne.w 807c4d8 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807c162: 494a ldr r1, [pc, #296] ; (807c28c ) 807c164: f04f 30ff mov.w r0, #4294967295 807c168: f7d7 fb20 bl 80537ac LCD_DisplayString(10, LCD_LINE_2, (char *)TEXT_Next[pardata.LANG]);//"Äàëåå" 807c16c: 4b45 ldr r3, [pc, #276] ; (807c284 ) 807c16e: 7b1b ldrb r3, [r3, #12] 807c170: b2db uxtb r3, r3 807c172: 461a mov r2, r3 807c174: 4b49 ldr r3, [pc, #292] ; (807c29c ) 807c176: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807c17a: 461a mov r2, r3 807c17c: 2127 movs r1, #39 ; 0x27 807c17e: 200a movs r0, #10 807c180: f7d8 f8bc bl 80542fc LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807c184: 4941 ldr r1, [pc, #260] ; (807c28c ) 807c186: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807c18a: f7d7 fb0f bl 80537ac if(strlen(MeasFileName)) 807c18e: 4b44 ldr r3, [pc, #272] ; (807c2a0 ) 807c190: 781b ldrb r3, [r3, #0] 807c192: 2b00 cmp r3, #0 807c194: d008 beq.n 807c1a8 LCD_DisplayStringC(260, LCD_LINE_13, str1); 807c196: f507 73f6 add.w r3, r7, #492 ; 0x1ec 807c19a: 461a mov r2, r3 807c19c: 21da movs r1, #218 ; 0xda 807c19e: f44f 7082 mov.w r0, #260 ; 0x104 807c1a2: f7d8 f8c3 bl 805432c 807c1a6: e00f b.n 807c1c8 else LCD_DisplayString(10, LCD_LINE_13, (char *)TEXT_PARAM_VIB[pardata.LANG][10]);//"Çàïèñü â ôàéë" 807c1a8: 4b36 ldr r3, [pc, #216] ; (807c284 ) 807c1aa: 7b1b ldrb r3, [r3, #12] 807c1ac: b2db uxtb r3, r3 807c1ae: 4619 mov r1, r3 807c1b0: 4a37 ldr r2, [pc, #220] ; (807c290 ) 807c1b2: 232c movs r3, #44 ; 0x2c 807c1b4: fb03 f301 mul.w r3, r3, r1 807c1b8: 4413 add r3, r2 807c1ba: 3328 adds r3, #40 ; 0x28 807c1bc: 681b ldr r3, [r3, #0] 807c1be: 461a mov r2, r3 807c1c0: 21da movs r1, #218 ; 0xda 807c1c2: 200a movs r0, #10 807c1c4: f7d8 f89a bl 80542fc if(pardata.HP >= 2.0f) 807c1c8: 4b2e ldr r3, [pc, #184] ; (807c284 ) 807c1ca: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 807c1ce: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 807c1d2: eef4 7ac7 vcmpe.f32 s15, s14 807c1d6: eef1 fa10 vmrs APSR_nzcv, fpscr 807c1da: db65 blt.n 807c2a8 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807c1dc: 492b ldr r1, [pc, #172] ; (807c28c ) 807c1de: f04f 30ff mov.w r0, #4294967295 807c1e2: f7d7 fae3 bl 80537ac LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_PARAM_VIB[pardata.LANG][3]);//"Çíà÷åíèå Ñêîðîñòè" 807c1e6: 4b27 ldr r3, [pc, #156] ; (807c284 ) 807c1e8: 7b1b ldrb r3, [r3, #12] 807c1ea: b2db uxtb r3, r3 807c1ec: 4619 mov r1, r3 807c1ee: 4a28 ldr r2, [pc, #160] ; (807c290 ) 807c1f0: 232c movs r3, #44 ; 0x2c 807c1f2: fb03 f301 mul.w r3, r3, r1 807c1f6: 4413 add r3, r2 807c1f8: 330c adds r3, #12 807c1fa: 681b ldr r3, [r3, #0] 807c1fc: 461a mov r2, r3 807c1fe: 216a movs r1, #106 ; 0x6a 807c200: 200a movs r0, #10 807c202: f7d8 f87b bl 80542fc LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_PARAM_VIB[pardata.LANG][4]);//"Çíà÷åíèå Ïåðåìåù" 807c206: 4b1f ldr r3, [pc, #124] ; (807c284 ) 807c208: 7b1b ldrb r3, [r3, #12] 807c20a: b2db uxtb r3, r3 807c20c: 4619 mov r1, r3 807c20e: 4a20 ldr r2, [pc, #128] ; (807c290 ) 807c210: 232c movs r3, #44 ; 0x2c 807c212: fb03 f301 mul.w r3, r3, r1 807c216: 4413 add r3, r2 807c218: 3310 adds r3, #16 807c21a: 681b ldr r3, [r3, #0] 807c21c: 461a mov r2, r3 807c21e: 217a movs r1, #122 ; 0x7a 807c220: 200a movs r0, #10 807c222: f7d8 f86b bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807c226: 4919 ldr r1, [pc, #100] ; (807c28c ) 807c228: 481a ldr r0, [pc, #104] ; (807c294 ) 807c22a: f7d7 fabf bl 80537ac LCD_DisplayStringC(260, LCD_LINE_6, (char *) pIVS[pardata.LANG][pardata.IVS[VEL]]); 807c22e: 4b15 ldr r3, [pc, #84] ; (807c284 ) 807c230: 7b1b ldrb r3, [r3, #12] 807c232: b2db uxtb r3, r3 807c234: 4619 mov r1, r3 807c236: 4b13 ldr r3, [pc, #76] ; (807c284 ) 807c238: 78db ldrb r3, [r3, #3] 807c23a: b2db uxtb r3, r3 807c23c: 4618 mov r0, r3 807c23e: 4a19 ldr r2, [pc, #100] ; (807c2a4 ) 807c240: 460b mov r3, r1 807c242: 009b lsls r3, r3, #2 807c244: 440b add r3, r1 807c246: 4403 add r3, r0 807c248: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807c24c: 461a mov r2, r3 807c24e: 216a movs r1, #106 ; 0x6a 807c250: f44f 7082 mov.w r0, #260 ; 0x104 807c254: f7d8 f86a bl 805432c LCD_DisplayStringC(260, LCD_LINE_7, (char *) pIVS[pardata.LANG][pardata.IVS[DIS]]); 807c258: 4b0a ldr r3, [pc, #40] ; (807c284 ) 807c25a: 7b1b ldrb r3, [r3, #12] 807c25c: b2db uxtb r3, r3 807c25e: 4619 mov r1, r3 807c260: 4b08 ldr r3, [pc, #32] ; (807c284 ) 807c262: 791b ldrb r3, [r3, #4] 807c264: b2db uxtb r3, r3 807c266: 4618 mov r0, r3 807c268: 4a0e ldr r2, [pc, #56] ; (807c2a4 ) 807c26a: 460b mov r3, r1 807c26c: 009b lsls r3, r3, #2 807c26e: 440b add r3, r1 807c270: 4403 add r3, r0 807c272: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807c276: 461a mov r2, r3 807c278: 217a movs r1, #122 ; 0x7a 807c27a: f44f 7082 mov.w r0, #260 ; 0x104 807c27e: f7d8 f855 bl 805432c 807c282: e05f b.n 807c344 807c284: 20023e60 .word 0x20023e60 807c288: 2002070c .word 0x2002070c 807c28c: ff0a0f1f .word 0xff0a0f1f 807c290: 200206b4 .word 0x200206b4 807c294: ffd8aa57 .word 0xffd8aa57 807c298: 20020070 .word 0x20020070 807c29c: 200205c4 .word 0x200205c4 807c2a0: 20020e58 .word 0x20020e58 807c2a4: 200202bc .word 0x200202bc } else { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 807c2a8: 49c6 ldr r1, [pc, #792] ; (807c5c4 ) 807c2aa: 48c7 ldr r0, [pc, #796] ; (807c5c8 ) 807c2ac: f7d7 fa7e bl 80537ac LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_PARAM_VIB[pardata.LANG][3]);//"Çíà÷åíèå Ñêîðîñòè" 807c2b0: 4bc6 ldr r3, [pc, #792] ; (807c5cc ) 807c2b2: 7b1b ldrb r3, [r3, #12] 807c2b4: b2db uxtb r3, r3 807c2b6: 4619 mov r1, r3 807c2b8: 4ac5 ldr r2, [pc, #788] ; (807c5d0 ) 807c2ba: 232c movs r3, #44 ; 0x2c 807c2bc: fb03 f301 mul.w r3, r3, r1 807c2c0: 4413 add r3, r2 807c2c2: 330c adds r3, #12 807c2c4: 681b ldr r3, [r3, #0] 807c2c6: 461a mov r2, r3 807c2c8: 216a movs r1, #106 ; 0x6a 807c2ca: 200a movs r0, #10 807c2cc: f7d8 f816 bl 80542fc LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_PARAM_VIB[pardata.LANG][4]);//"Çíà÷åíèå Ïåðåìåù" 807c2d0: 4bbe ldr r3, [pc, #760] ; (807c5cc ) 807c2d2: 7b1b ldrb r3, [r3, #12] 807c2d4: b2db uxtb r3, r3 807c2d6: 4619 mov r1, r3 807c2d8: 4abd ldr r2, [pc, #756] ; (807c5d0 ) 807c2da: 232c movs r3, #44 ; 0x2c 807c2dc: fb03 f301 mul.w r3, r3, r1 807c2e0: 4413 add r3, r2 807c2e2: 3310 adds r3, #16 807c2e4: 681b ldr r3, [r3, #0] 807c2e6: 461a mov r2, r3 807c2e8: 217a movs r1, #122 ; 0x7a 807c2ea: 200a movs r0, #10 807c2ec: f7d8 f806 bl 80542fc LCD_DisplayStringC(260, LCD_LINE_6, (char *) pIVS[pardata.LANG][pardata.IVS[VEL]]); 807c2f0: 4bb6 ldr r3, [pc, #728] ; (807c5cc ) 807c2f2: 7b1b ldrb r3, [r3, #12] 807c2f4: b2db uxtb r3, r3 807c2f6: 4619 mov r1, r3 807c2f8: 4bb4 ldr r3, [pc, #720] ; (807c5cc ) 807c2fa: 78db ldrb r3, [r3, #3] 807c2fc: b2db uxtb r3, r3 807c2fe: 4618 mov r0, r3 807c300: 4ab4 ldr r2, [pc, #720] ; (807c5d4 ) 807c302: 460b mov r3, r1 807c304: 009b lsls r3, r3, #2 807c306: 440b add r3, r1 807c308: 4403 add r3, r0 807c30a: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807c30e: 461a mov r2, r3 807c310: 216a movs r1, #106 ; 0x6a 807c312: f44f 7082 mov.w r0, #260 ; 0x104 807c316: f7d8 f809 bl 805432c LCD_DisplayStringC(260, LCD_LINE_7, (char *) pIVS[pardata.LANG][pardata.IVS[DIS]]); 807c31a: 4bac ldr r3, [pc, #688] ; (807c5cc ) 807c31c: 7b1b ldrb r3, [r3, #12] 807c31e: b2db uxtb r3, r3 807c320: 4619 mov r1, r3 807c322: 4baa ldr r3, [pc, #680] ; (807c5cc ) 807c324: 791b ldrb r3, [r3, #4] 807c326: b2db uxtb r3, r3 807c328: 4618 mov r0, r3 807c32a: 4aaa ldr r2, [pc, #680] ; (807c5d4 ) 807c32c: 460b mov r3, r1 807c32e: 009b lsls r3, r3, #2 807c330: 440b add r3, r1 807c332: 4403 add r3, r0 807c334: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807c338: 461a mov r2, r3 807c33a: 217a movs r1, #122 ; 0x7a 807c33c: f44f 7082 mov.w r0, #260 ; 0x104 807c340: f7d7 fff4 bl 805432c } LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807c344: 499f ldr r1, [pc, #636] ; (807c5c4 ) 807c346: 48a4 ldr r0, [pc, #656] ; (807c5d8 ) 807c348: f7d7 fa30 bl 80537ac LCD_DisplayStringC(260, LCD_LINE_3, strHP); 807c34c: f507 73d2 add.w r3, r7, #420 ; 0x1a4 807c350: 461a mov r2, r3 807c352: 213a movs r1, #58 ; 0x3a 807c354: f44f 7082 mov.w r0, #260 ; 0x104 807c358: f7d7 ffe8 bl 805432c LCD_DisplayStringC(260, LCD_LINE_4, strLP); 807c35c: f507 73cc add.w r3, r7, #408 ; 0x198 807c360: 461a mov r2, r3 807c362: 214a movs r1, #74 ; 0x4a 807c364: f44f 7082 mov.w r0, #260 ; 0x104 807c368: f7d7 ffe0 bl 805432c LCD_DisplayStringC(260, LCD_LINE_5, (char *) pIVS[pardata.LANG][pardata.IVS[ACC]]); 807c36c: 4b97 ldr r3, [pc, #604] ; (807c5cc ) 807c36e: 7b1b ldrb r3, [r3, #12] 807c370: b2db uxtb r3, r3 807c372: 4619 mov r1, r3 807c374: 4b95 ldr r3, [pc, #596] ; (807c5cc ) 807c376: 789b ldrb r3, [r3, #2] 807c378: b2db uxtb r3, r3 807c37a: 4618 mov r0, r3 807c37c: 4a95 ldr r2, [pc, #596] ; (807c5d4 ) 807c37e: 460b mov r3, r1 807c380: 009b lsls r3, r3, #2 807c382: 440b add r3, r1 807c384: 4403 add r3, r0 807c386: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807c38a: 461a mov r2, r3 807c38c: 215a movs r1, #90 ; 0x5a 807c38e: f44f 7082 mov.w r0, #260 ; 0x104 807c392: f7d7 ffcb bl 805432c LCD_DisplayStringC(260, LCD_LINE_8, (char *) pAVERAGE_SEC[pardata.LANG][pardata.AVG]); 807c396: 4b8d ldr r3, [pc, #564] ; (807c5cc ) 807c398: 7b1b ldrb r3, [r3, #12] 807c39a: b2db uxtb r3, r3 807c39c: 4619 mov r1, r3 807c39e: 4b8b ldr r3, [pc, #556] ; (807c5cc ) 807c3a0: 7b5b ldrb r3, [r3, #13] 807c3a2: b2db uxtb r3, r3 807c3a4: 4618 mov r0, r3 807c3a6: 4a8d ldr r2, [pc, #564] ; (807c5dc ) 807c3a8: 460b mov r3, r1 807c3aa: 009b lsls r3, r3, #2 807c3ac: 440b add r3, r1 807c3ae: 005b lsls r3, r3, #1 807c3b0: 4403 add r3, r0 807c3b2: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807c3b6: 461a mov r2, r3 807c3b8: 218a movs r1, #138 ; 0x8a 807c3ba: f44f 7082 mov.w r0, #260 ; 0x104 807c3be: f7d7 ffb5 bl 805432c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807c3c2: 4980 ldr r1, [pc, #512] ; (807c5c4 ) 807c3c4: f04f 30ff mov.w r0, #4294967295 807c3c8: f7d7 f9f0 bl 80537ac BSP_LCD_FillRect(255, 157, 10, 10); 807c3cc: 230a movs r3, #10 807c3ce: 220a movs r2, #10 807c3d0: 219d movs r1, #157 ; 0x9d 807c3d2: 20ff movs r0, #255 ; 0xff 807c3d4: f7d7 fe78 bl 80540c8 BSP_LCD_FillRect(255, 173, 10, 10); 807c3d8: 230a movs r3, #10 807c3da: 220a movs r2, #10 807c3dc: 21ad movs r1, #173 ; 0xad 807c3de: 20ff movs r0, #255 ; 0xff 807c3e0: f7d7 fe72 bl 80540c8 BSP_LCD_FillRect(255, 189, 10, 10); 807c3e4: 230a movs r3, #10 807c3e6: 220a movs r2, #10 807c3e8: 21bd movs r1, #189 ; 0xbd 807c3ea: 20ff movs r0, #255 ; 0xff 807c3ec: f7d7 fe6c bl 80540c8 if(pardata.OPTIONS & 0x4) // åñëè àâòîóñèëåíèå 807c3f0: 4b76 ldr r3, [pc, #472] ; (807c5cc ) 807c3f2: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 807c3f6: f003 0304 and.w r3, r3, #4 807c3fa: 2b00 cmp r3, #0 807c3fc: d033 beq.n 807c466 { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 807c3fe: 4971 ldr r1, [pc, #452] ; (807c5c4 ) 807c400: 4871 ldr r0, [pc, #452] ; (807c5c8 ) 807c402: f7d7 f9d3 bl 80537ac if(pardata.IIN != VOLTS) 807c406: 4b71 ldr r3, [pc, #452] ; (807c5cc ) 807c408: 799b ldrb r3, [r3, #6] 807c40a: b2db uxtb r3, r3 807c40c: 2b02 cmp r3, #2 807c40e: d010 beq.n 807c432 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807c410: 4b6e ldr r3, [pc, #440] ; (807c5cc ) 807c412: 7b1b ldrb r3, [r3, #12] 807c414: b2db uxtb r3, r3 807c416: 4619 mov r1, r3 807c418: 4a6d ldr r2, [pc, #436] ; (807c5d0 ) 807c41a: 232c movs r3, #44 ; 0x2c 807c41c: fb03 f301 mul.w r3, r3, r1 807c420: 4413 add r3, r2 807c422: 3324 adds r3, #36 ; 0x24 807c424: 681b ldr r3, [r3, #0] 807c426: 461a mov r2, r3 807c428: 21ca movs r1, #202 ; 0xca 807c42a: 200a movs r0, #10 807c42c: f7d7 ff66 bl 80542fc 807c430: e00f b.n 807c452 else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807c432: 4b66 ldr r3, [pc, #408] ; (807c5cc ) 807c434: 7b1b ldrb r3, [r3, #12] 807c436: b2db uxtb r3, r3 807c438: 4619 mov r1, r3 807c43a: 4a69 ldr r2, [pc, #420] ; (807c5e0 ) 807c43c: 232c movs r3, #44 ; 0x2c 807c43e: fb03 f301 mul.w r3, r3, r1 807c442: 4413 add r3, r2 807c444: 3324 adds r3, #36 ; 0x24 807c446: 681b ldr r3, [r3, #0] 807c448: 461a mov r2, r3 807c44a: 21ca movs r1, #202 ; 0xca 807c44c: 200a movs r0, #10 807c44e: f7d7 ff55 bl 80542fc LCD_DisplayStringC(260, LCD_LINE_12, str); 807c452: f507 733b add.w r3, r7, #748 ; 0x2ec 807c456: 461a mov r2, r3 807c458: 21ca movs r1, #202 ; 0xca 807c45a: f44f 7082 mov.w r0, #260 ; 0x104 807c45e: f7d7 ff65 bl 805432c 807c462: f001 bbe5 b.w 807dc30 } else { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807c466: 4957 ldr r1, [pc, #348] ; (807c5c4 ) 807c468: f04f 30ff mov.w r0, #4294967295 807c46c: f7d7 f99e bl 80537ac if(pardata.IIN != VOLTS) 807c470: 4b56 ldr r3, [pc, #344] ; (807c5cc ) 807c472: 799b ldrb r3, [r3, #6] 807c474: b2db uxtb r3, r3 807c476: 2b02 cmp r3, #2 807c478: d010 beq.n 807c49c LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807c47a: 4b54 ldr r3, [pc, #336] ; (807c5cc ) 807c47c: 7b1b ldrb r3, [r3, #12] 807c47e: b2db uxtb r3, r3 807c480: 4619 mov r1, r3 807c482: 4a53 ldr r2, [pc, #332] ; (807c5d0 ) 807c484: 232c movs r3, #44 ; 0x2c 807c486: fb03 f301 mul.w r3, r3, r1 807c48a: 4413 add r3, r2 807c48c: 3324 adds r3, #36 ; 0x24 807c48e: 681b ldr r3, [r3, #0] 807c490: 461a mov r2, r3 807c492: 21ca movs r1, #202 ; 0xca 807c494: 200a movs r0, #10 807c496: f7d7 ff31 bl 80542fc 807c49a: e00f b.n 807c4bc else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807c49c: 4b4b ldr r3, [pc, #300] ; (807c5cc ) 807c49e: 7b1b ldrb r3, [r3, #12] 807c4a0: b2db uxtb r3, r3 807c4a2: 4619 mov r1, r3 807c4a4: 4a4e ldr r2, [pc, #312] ; (807c5e0 ) 807c4a6: 232c movs r3, #44 ; 0x2c 807c4a8: fb03 f301 mul.w r3, r3, r1 807c4ac: 4413 add r3, r2 807c4ae: 3324 adds r3, #36 ; 0x24 807c4b0: 681b ldr r3, [r3, #0] 807c4b2: 461a mov r2, r3 807c4b4: 21ca movs r1, #202 ; 0xca 807c4b6: 200a movs r0, #10 807c4b8: f7d7 ff20 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807c4bc: 4941 ldr r1, [pc, #260] ; (807c5c4 ) 807c4be: 4846 ldr r0, [pc, #280] ; (807c5d8 ) 807c4c0: f7d7 f974 bl 80537ac LCD_DisplayStringC(260, LCD_LINE_12, str); 807c4c4: f507 733b add.w r3, r7, #748 ; 0x2ec 807c4c8: 461a mov r2, r3 807c4ca: 21ca movs r1, #202 ; 0xca 807c4cc: f44f 7082 mov.w r0, #260 ; 0x104 807c4d0: f7d7 ff2c bl 805432c 807c4d4: f001 bbac b.w 807dc30 } } else if(menupos == VibMax_ALL) 807c4d8: 4b42 ldr r3, [pc, #264] ; (807c5e4 ) 807c4da: 781b ldrb r3, [r3, #0] 807c4dc: b2db uxtb r3, r3 807c4de: 2b09 cmp r3, #9 807c4e0: f040 81a5 bne.w 807c82e { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807c4e4: 4937 ldr r1, [pc, #220] ; (807c5c4 ) 807c4e6: f04f 30ff mov.w r0, #4294967295 807c4ea: f7d7 f95f bl 80537ac LCD_DisplayString(10, LCD_LINE_2, (char *)TEXT_Next[pardata.LANG]);//"Äàëåå" 807c4ee: 4b37 ldr r3, [pc, #220] ; (807c5cc ) 807c4f0: 7b1b ldrb r3, [r3, #12] 807c4f2: b2db uxtb r3, r3 807c4f4: 461a mov r2, r3 807c4f6: 4b3c ldr r3, [pc, #240] ; (807c5e8 ) 807c4f8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807c4fc: 461a mov r2, r3 807c4fe: 2127 movs r1, #39 ; 0x27 807c500: 200a movs r0, #10 807c502: f7d7 fefb bl 80542fc if(pardata.HP >= 2.0f) 807c506: 4b31 ldr r3, [pc, #196] ; (807c5cc ) 807c508: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 807c50c: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 807c510: eef4 7ac7 vcmpe.f32 s15, s14 807c514: eef1 fa10 vmrs APSR_nzcv, fpscr 807c518: db68 blt.n 807c5ec { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807c51a: 492a ldr r1, [pc, #168] ; (807c5c4 ) 807c51c: f04f 30ff mov.w r0, #4294967295 807c520: f7d7 f944 bl 80537ac LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_PARAM_VIB[pardata.LANG][3]);//"Çíà÷åíèå Ñêîðîñòè" 807c524: 4b29 ldr r3, [pc, #164] ; (807c5cc ) 807c526: 7b1b ldrb r3, [r3, #12] 807c528: b2db uxtb r3, r3 807c52a: 4619 mov r1, r3 807c52c: 4a28 ldr r2, [pc, #160] ; (807c5d0 ) 807c52e: 232c movs r3, #44 ; 0x2c 807c530: fb03 f301 mul.w r3, r3, r1 807c534: 4413 add r3, r2 807c536: 330c adds r3, #12 807c538: 681b ldr r3, [r3, #0] 807c53a: 461a mov r2, r3 807c53c: 216a movs r1, #106 ; 0x6a 807c53e: 200a movs r0, #10 807c540: f7d7 fedc bl 80542fc LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_PARAM_VIB[pardata.LANG][4]);//"Çíà÷åíèå Ïåðåìåù" 807c544: 4b21 ldr r3, [pc, #132] ; (807c5cc ) 807c546: 7b1b ldrb r3, [r3, #12] 807c548: b2db uxtb r3, r3 807c54a: 4619 mov r1, r3 807c54c: 4a20 ldr r2, [pc, #128] ; (807c5d0 ) 807c54e: 232c movs r3, #44 ; 0x2c 807c550: fb03 f301 mul.w r3, r3, r1 807c554: 4413 add r3, r2 807c556: 3310 adds r3, #16 807c558: 681b ldr r3, [r3, #0] 807c55a: 461a mov r2, r3 807c55c: 217a movs r1, #122 ; 0x7a 807c55e: 200a movs r0, #10 807c560: f7d7 fecc bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807c564: 4917 ldr r1, [pc, #92] ; (807c5c4 ) 807c566: 481c ldr r0, [pc, #112] ; (807c5d8 ) 807c568: f7d7 f920 bl 80537ac LCD_DisplayStringC(260, LCD_LINE_6, (char *) pIVS[pardata.LANG][pardata.IVS[VEL]]); 807c56c: 4b17 ldr r3, [pc, #92] ; (807c5cc ) 807c56e: 7b1b ldrb r3, [r3, #12] 807c570: b2db uxtb r3, r3 807c572: 4619 mov r1, r3 807c574: 4b15 ldr r3, [pc, #84] ; (807c5cc ) 807c576: 78db ldrb r3, [r3, #3] 807c578: b2db uxtb r3, r3 807c57a: 4618 mov r0, r3 807c57c: 4a15 ldr r2, [pc, #84] ; (807c5d4 ) 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: f7d7 fecb bl 805432c LCD_DisplayStringC(260, LCD_LINE_7, (char *) pIVS[pardata.LANG][pardata.IVS[DIS]]); 807c596: 4b0d ldr r3, [pc, #52] ; (807c5cc ) 807c598: 7b1b ldrb r3, [r3, #12] 807c59a: b2db uxtb r3, r3 807c59c: 4619 mov r1, r3 807c59e: 4b0b ldr r3, [pc, #44] ; (807c5cc ) 807c5a0: 791b ldrb r3, [r3, #4] 807c5a2: b2db uxtb r3, r3 807c5a4: 4618 mov r0, r3 807c5a6: 4a0b ldr r2, [pc, #44] ; (807c5d4 ) 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: f7d7 feb6 bl 805432c 807c5c0: e062 b.n 807c688 807c5c2: bf00 nop 807c5c4: ff0a0f1f .word 0xff0a0f1f 807c5c8: ff808080 .word 0xff808080 807c5cc: 20023e60 .word 0x20023e60 807c5d0: 200206b4 .word 0x200206b4 807c5d4: 200202bc .word 0x200202bc 807c5d8: ffd8aa57 .word 0xffd8aa57 807c5dc: 2002024c .word 0x2002024c 807c5e0: 2002070c .word 0x2002070c 807c5e4: 20020070 .word 0x20020070 807c5e8: 200205c4 .word 0x200205c4 } else { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 807c5ec: 49c7 ldr r1, [pc, #796] ; (807c90c ) 807c5ee: 48c8 ldr r0, [pc, #800] ; (807c910 ) 807c5f0: f7d7 f8dc bl 80537ac LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_PARAM_VIB[pardata.LANG][3]);//"Çíà÷åíèå Ñêîðîñòè" 807c5f4: 4bc7 ldr r3, [pc, #796] ; (807c914 ) 807c5f6: 7b1b ldrb r3, [r3, #12] 807c5f8: b2db uxtb r3, r3 807c5fa: 4619 mov r1, r3 807c5fc: 4ac6 ldr r2, [pc, #792] ; (807c918 ) 807c5fe: 232c movs r3, #44 ; 0x2c 807c600: fb03 f301 mul.w r3, r3, r1 807c604: 4413 add r3, r2 807c606: 330c adds r3, #12 807c608: 681b ldr r3, [r3, #0] 807c60a: 461a mov r2, r3 807c60c: 216a movs r1, #106 ; 0x6a 807c60e: 200a movs r0, #10 807c610: f7d7 fe74 bl 80542fc LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_PARAM_VIB[pardata.LANG][4]);//"Çíà÷åíèå Ïåðåìåù" 807c614: 4bbf ldr r3, [pc, #764] ; (807c914 ) 807c616: 7b1b ldrb r3, [r3, #12] 807c618: b2db uxtb r3, r3 807c61a: 4619 mov r1, r3 807c61c: 4abe ldr r2, [pc, #760] ; (807c918 ) 807c61e: 232c movs r3, #44 ; 0x2c 807c620: fb03 f301 mul.w r3, r3, r1 807c624: 4413 add r3, r2 807c626: 3310 adds r3, #16 807c628: 681b ldr r3, [r3, #0] 807c62a: 461a mov r2, r3 807c62c: 217a movs r1, #122 ; 0x7a 807c62e: 200a movs r0, #10 807c630: f7d7 fe64 bl 80542fc LCD_DisplayStringC(260, LCD_LINE_6, (char *) pIVS[pardata.LANG][pardata.IVS[VEL]]); 807c634: 4bb7 ldr r3, [pc, #732] ; (807c914 ) 807c636: 7b1b ldrb r3, [r3, #12] 807c638: b2db uxtb r3, r3 807c63a: 4619 mov r1, r3 807c63c: 4bb5 ldr r3, [pc, #724] ; (807c914 ) 807c63e: 78db ldrb r3, [r3, #3] 807c640: b2db uxtb r3, r3 807c642: 4618 mov r0, r3 807c644: 4ab5 ldr r2, [pc, #724] ; (807c91c ) 807c646: 460b mov r3, r1 807c648: 009b lsls r3, r3, #2 807c64a: 440b add r3, r1 807c64c: 4403 add r3, r0 807c64e: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807c652: 461a mov r2, r3 807c654: 216a movs r1, #106 ; 0x6a 807c656: f44f 7082 mov.w r0, #260 ; 0x104 807c65a: f7d7 fe67 bl 805432c LCD_DisplayStringC(260, LCD_LINE_7, (char *) pIVS[pardata.LANG][pardata.IVS[DIS]]); 807c65e: 4bad ldr r3, [pc, #692] ; (807c914 ) 807c660: 7b1b ldrb r3, [r3, #12] 807c662: b2db uxtb r3, r3 807c664: 4619 mov r1, r3 807c666: 4bab ldr r3, [pc, #684] ; (807c914 ) 807c668: 791b ldrb r3, [r3, #4] 807c66a: b2db uxtb r3, r3 807c66c: 4618 mov r0, r3 807c66e: 4aab ldr r2, [pc, #684] ; (807c91c ) 807c670: 460b mov r3, r1 807c672: 009b lsls r3, r3, #2 807c674: 440b add r3, r1 807c676: 4403 add r3, r0 807c678: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807c67c: 461a mov r2, r3 807c67e: 217a movs r1, #122 ; 0x7a 807c680: f44f 7082 mov.w r0, #260 ; 0x104 807c684: f7d7 fe52 bl 805432c } LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807c688: 49a0 ldr r1, [pc, #640] ; (807c90c ) 807c68a: 48a5 ldr r0, [pc, #660] ; (807c920 ) 807c68c: f7d7 f88e bl 80537ac LCD_DisplayStringC(260, LCD_LINE_3, strHP); 807c690: f507 73d2 add.w r3, r7, #420 ; 0x1a4 807c694: 461a mov r2, r3 807c696: 213a movs r1, #58 ; 0x3a 807c698: f44f 7082 mov.w r0, #260 ; 0x104 807c69c: f7d7 fe46 bl 805432c LCD_DisplayStringC(260, LCD_LINE_4, strLP); 807c6a0: f507 73cc add.w r3, r7, #408 ; 0x198 807c6a4: 461a mov r2, r3 807c6a6: 214a movs r1, #74 ; 0x4a 807c6a8: f44f 7082 mov.w r0, #260 ; 0x104 807c6ac: f7d7 fe3e bl 805432c LCD_DisplayStringC(260, LCD_LINE_5, (char *) pIVS[pardata.LANG][pardata.IVS[ACC]]); 807c6b0: 4b98 ldr r3, [pc, #608] ; (807c914 ) 807c6b2: 7b1b ldrb r3, [r3, #12] 807c6b4: b2db uxtb r3, r3 807c6b6: 4619 mov r1, r3 807c6b8: 4b96 ldr r3, [pc, #600] ; (807c914 ) 807c6ba: 789b ldrb r3, [r3, #2] 807c6bc: b2db uxtb r3, r3 807c6be: 4618 mov r0, r3 807c6c0: 4a96 ldr r2, [pc, #600] ; (807c91c ) 807c6c2: 460b mov r3, r1 807c6c4: 009b lsls r3, r3, #2 807c6c6: 440b add r3, r1 807c6c8: 4403 add r3, r0 807c6ca: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807c6ce: 461a mov r2, r3 807c6d0: 215a movs r1, #90 ; 0x5a 807c6d2: f44f 7082 mov.w r0, #260 ; 0x104 807c6d6: f7d7 fe29 bl 805432c LCD_DisplayStringC(260, LCD_LINE_8, (char *) pAVERAGE_SEC[pardata.LANG][pardata.AVG]); 807c6da: 4b8e ldr r3, [pc, #568] ; (807c914 ) 807c6dc: 7b1b ldrb r3, [r3, #12] 807c6de: b2db uxtb r3, r3 807c6e0: 4619 mov r1, r3 807c6e2: 4b8c ldr r3, [pc, #560] ; (807c914 ) 807c6e4: 7b5b ldrb r3, [r3, #13] 807c6e6: b2db uxtb r3, r3 807c6e8: 4618 mov r0, r3 807c6ea: 4a8e ldr r2, [pc, #568] ; (807c924 ) 807c6ec: 460b mov r3, r1 807c6ee: 009b lsls r3, r3, #2 807c6f0: 440b add r3, r1 807c6f2: 005b lsls r3, r3, #1 807c6f4: 4403 add r3, r0 807c6f6: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807c6fa: 461a mov r2, r3 807c6fc: 218a movs r1, #138 ; 0x8a 807c6fe: f44f 7082 mov.w r0, #260 ; 0x104 807c702: f7d7 fe13 bl 805432c LCD_DisplayStringC(260, LCD_LINE_13, str1); 807c706: f507 73f6 add.w r3, r7, #492 ; 0x1ec 807c70a: 461a mov r2, r3 807c70c: 21da movs r1, #218 ; 0xda 807c70e: f44f 7082 mov.w r0, #260 ; 0x104 807c712: f7d7 fe0b bl 805432c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807c716: 497d ldr r1, [pc, #500] ; (807c90c ) 807c718: f04f 30ff mov.w r0, #4294967295 807c71c: f7d7 f846 bl 80537ac BSP_LCD_FillRect(255, 157, 10, 10); 807c720: 230a movs r3, #10 807c722: 220a movs r2, #10 807c724: 219d movs r1, #157 ; 0x9d 807c726: 20ff movs r0, #255 ; 0xff 807c728: f7d7 fcce bl 80540c8 BSP_LCD_FillRect(255, 173, 10, 10); 807c72c: 230a movs r3, #10 807c72e: 220a movs r2, #10 807c730: 21ad movs r1, #173 ; 0xad 807c732: 20ff movs r0, #255 ; 0xff 807c734: f7d7 fcc8 bl 80540c8 BSP_LCD_FillRect(255, 189, 10, 10); 807c738: 230a movs r3, #10 807c73a: 220a movs r2, #10 807c73c: 21bd movs r1, #189 ; 0xbd 807c73e: 20ff movs r0, #255 ; 0xff 807c740: f7d7 fcc2 bl 80540c8 if(pardata.OPTIONS & 0x4) // åñëè àâòîóñèëåíèå 807c744: 4b73 ldr r3, [pc, #460] ; (807c914 ) 807c746: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 807c74a: f003 0304 and.w r3, r3, #4 807c74e: 2b00 cmp r3, #0 807c750: d033 beq.n 807c7ba { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 807c752: 496e ldr r1, [pc, #440] ; (807c90c ) 807c754: 486e ldr r0, [pc, #440] ; (807c910 ) 807c756: f7d7 f829 bl 80537ac if(pardata.IIN != VOLTS) 807c75a: 4b6e ldr r3, [pc, #440] ; (807c914 ) 807c75c: 799b ldrb r3, [r3, #6] 807c75e: b2db uxtb r3, r3 807c760: 2b02 cmp r3, #2 807c762: d010 beq.n 807c786 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807c764: 4b6b ldr r3, [pc, #428] ; (807c914 ) 807c766: 7b1b ldrb r3, [r3, #12] 807c768: b2db uxtb r3, r3 807c76a: 4619 mov r1, r3 807c76c: 4a6a ldr r2, [pc, #424] ; (807c918 ) 807c76e: 232c movs r3, #44 ; 0x2c 807c770: fb03 f301 mul.w r3, r3, r1 807c774: 4413 add r3, r2 807c776: 3324 adds r3, #36 ; 0x24 807c778: 681b ldr r3, [r3, #0] 807c77a: 461a mov r2, r3 807c77c: 21ca movs r1, #202 ; 0xca 807c77e: 200a movs r0, #10 807c780: f7d7 fdbc bl 80542fc 807c784: e00f b.n 807c7a6 else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807c786: 4b63 ldr r3, [pc, #396] ; (807c914 ) 807c788: 7b1b ldrb r3, [r3, #12] 807c78a: b2db uxtb r3, r3 807c78c: 4619 mov r1, r3 807c78e: 4a66 ldr r2, [pc, #408] ; (807c928 ) 807c790: 232c movs r3, #44 ; 0x2c 807c792: fb03 f301 mul.w r3, r3, r1 807c796: 4413 add r3, r2 807c798: 3324 adds r3, #36 ; 0x24 807c79a: 681b ldr r3, [r3, #0] 807c79c: 461a mov r2, r3 807c79e: 21ca movs r1, #202 ; 0xca 807c7a0: 200a movs r0, #10 807c7a2: f7d7 fdab bl 80542fc LCD_DisplayStringC(260, LCD_LINE_12, str); 807c7a6: f507 733b add.w r3, r7, #748 ; 0x2ec 807c7aa: 461a mov r2, r3 807c7ac: 21ca movs r1, #202 ; 0xca 807c7ae: f44f 7082 mov.w r0, #260 ; 0x104 807c7b2: f7d7 fdbb bl 805432c 807c7b6: f001 ba3b b.w 807dc30 } else { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807c7ba: 4954 ldr r1, [pc, #336] ; (807c90c ) 807c7bc: f04f 30ff mov.w r0, #4294967295 807c7c0: f7d6 fff4 bl 80537ac if(pardata.IIN != VOLTS) 807c7c4: 4b53 ldr r3, [pc, #332] ; (807c914 ) 807c7c6: 799b ldrb r3, [r3, #6] 807c7c8: b2db uxtb r3, r3 807c7ca: 2b02 cmp r3, #2 807c7cc: d010 beq.n 807c7f0 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807c7ce: 4b51 ldr r3, [pc, #324] ; (807c914 ) 807c7d0: 7b1b ldrb r3, [r3, #12] 807c7d2: b2db uxtb r3, r3 807c7d4: 4619 mov r1, r3 807c7d6: 4a50 ldr r2, [pc, #320] ; (807c918 ) 807c7d8: 232c movs r3, #44 ; 0x2c 807c7da: fb03 f301 mul.w r3, r3, r1 807c7de: 4413 add r3, r2 807c7e0: 3324 adds r3, #36 ; 0x24 807c7e2: 681b ldr r3, [r3, #0] 807c7e4: 461a mov r2, r3 807c7e6: 21ca movs r1, #202 ; 0xca 807c7e8: 200a movs r0, #10 807c7ea: f7d7 fd87 bl 80542fc 807c7ee: e00f b.n 807c810 else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807c7f0: 4b48 ldr r3, [pc, #288] ; (807c914 ) 807c7f2: 7b1b ldrb r3, [r3, #12] 807c7f4: b2db uxtb r3, r3 807c7f6: 4619 mov r1, r3 807c7f8: 4a4b ldr r2, [pc, #300] ; (807c928 ) 807c7fa: 232c movs r3, #44 ; 0x2c 807c7fc: fb03 f301 mul.w r3, r3, r1 807c800: 4413 add r3, r2 807c802: 3324 adds r3, #36 ; 0x24 807c804: 681b ldr r3, [r3, #0] 807c806: 461a mov r2, r3 807c808: 21ca movs r1, #202 ; 0xca 807c80a: 200a movs r0, #10 807c80c: f7d7 fd76 bl 80542fc LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807c810: 493e ldr r1, [pc, #248] ; (807c90c ) 807c812: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807c816: f7d6 ffc9 bl 80537ac LCD_DisplayStringC(260, LCD_LINE_12, str); 807c81a: f507 733b add.w r3, r7, #748 ; 0x2ec 807c81e: 461a mov r2, r3 807c820: 21ca movs r1, #202 ; 0xca 807c822: f44f 7082 mov.w r0, #260 ; 0x104 807c826: f7d7 fd81 bl 805432c 807c82a: f001 ba01 b.w 807dc30 } } else { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807c82e: 4937 ldr r1, [pc, #220] ; (807c90c ) 807c830: f04f 30ff mov.w r0, #4294967295 807c834: f7d6 ffba bl 80537ac LCD_DisplayString(10, LCD_LINE_2, (char *)TEXT_Next[pardata.LANG]);//"Äàëåå" 807c838: 4b36 ldr r3, [pc, #216] ; (807c914 ) 807c83a: 7b1b ldrb r3, [r3, #12] 807c83c: b2db uxtb r3, r3 807c83e: 461a mov r2, r3 807c840: 4b3a ldr r3, [pc, #232] ; (807c92c ) 807c842: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807c846: 461a mov r2, r3 807c848: 2127 movs r1, #39 ; 0x27 807c84a: 200a movs r0, #10 807c84c: f7d7 fd56 bl 80542fc if(pardata.HP >= 2.0f) 807c850: 4b30 ldr r3, [pc, #192] ; (807c914 ) 807c852: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 807c856: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 807c85a: eef4 7ac7 vcmpe.f32 s15, s14 807c85e: eef1 fa10 vmrs APSR_nzcv, fpscr 807c862: db65 blt.n 807c930 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807c864: 4929 ldr r1, [pc, #164] ; (807c90c ) 807c866: f04f 30ff mov.w r0, #4294967295 807c86a: f7d6 ff9f bl 80537ac LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_PARAM_VIB[pardata.LANG][3]);//"Çíà÷åíèå Ñêîðîñòè" 807c86e: 4b29 ldr r3, [pc, #164] ; (807c914 ) 807c870: 7b1b ldrb r3, [r3, #12] 807c872: b2db uxtb r3, r3 807c874: 4619 mov r1, r3 807c876: 4a28 ldr r2, [pc, #160] ; (807c918 ) 807c878: 232c movs r3, #44 ; 0x2c 807c87a: fb03 f301 mul.w r3, r3, r1 807c87e: 4413 add r3, r2 807c880: 330c adds r3, #12 807c882: 681b ldr r3, [r3, #0] 807c884: 461a mov r2, r3 807c886: 216a movs r1, #106 ; 0x6a 807c888: 200a movs r0, #10 807c88a: f7d7 fd37 bl 80542fc LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_PARAM_VIB[pardata.LANG][4]);//"Çíà÷åíèå Ïåðåìåù" 807c88e: 4b21 ldr r3, [pc, #132] ; (807c914 ) 807c890: 7b1b ldrb r3, [r3, #12] 807c892: b2db uxtb r3, r3 807c894: 4619 mov r1, r3 807c896: 4a20 ldr r2, [pc, #128] ; (807c918 ) 807c898: 232c movs r3, #44 ; 0x2c 807c89a: fb03 f301 mul.w r3, r3, r1 807c89e: 4413 add r3, r2 807c8a0: 3310 adds r3, #16 807c8a2: 681b ldr r3, [r3, #0] 807c8a4: 461a mov r2, r3 807c8a6: 217a movs r1, #122 ; 0x7a 807c8a8: 200a movs r0, #10 807c8aa: f7d7 fd27 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807c8ae: 4917 ldr r1, [pc, #92] ; (807c90c ) 807c8b0: 481b ldr r0, [pc, #108] ; (807c920 ) 807c8b2: f7d6 ff7b bl 80537ac LCD_DisplayStringC(260, LCD_LINE_6, (char *) pIVS[pardata.LANG][pardata.IVS[VEL]]); 807c8b6: 4b17 ldr r3, [pc, #92] ; (807c914 ) 807c8b8: 7b1b ldrb r3, [r3, #12] 807c8ba: b2db uxtb r3, r3 807c8bc: 4619 mov r1, r3 807c8be: 4b15 ldr r3, [pc, #84] ; (807c914 ) 807c8c0: 78db ldrb r3, [r3, #3] 807c8c2: b2db uxtb r3, r3 807c8c4: 4618 mov r0, r3 807c8c6: 4a15 ldr r2, [pc, #84] ; (807c91c ) 807c8c8: 460b mov r3, r1 807c8ca: 009b lsls r3, r3, #2 807c8cc: 440b add r3, r1 807c8ce: 4403 add r3, r0 807c8d0: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807c8d4: 461a mov r2, r3 807c8d6: 216a movs r1, #106 ; 0x6a 807c8d8: f44f 7082 mov.w r0, #260 ; 0x104 807c8dc: f7d7 fd26 bl 805432c LCD_DisplayStringC(260, LCD_LINE_7, (char *) pIVS[pardata.LANG][pardata.IVS[DIS]]); 807c8e0: 4b0c ldr r3, [pc, #48] ; (807c914 ) 807c8e2: 7b1b ldrb r3, [r3, #12] 807c8e4: b2db uxtb r3, r3 807c8e6: 4619 mov r1, r3 807c8e8: 4b0a ldr r3, [pc, #40] ; (807c914 ) 807c8ea: 791b ldrb r3, [r3, #4] 807c8ec: b2db uxtb r3, r3 807c8ee: 4618 mov r0, r3 807c8f0: 4a0a ldr r2, [pc, #40] ; (807c91c ) 807c8f2: 460b mov r3, r1 807c8f4: 009b lsls r3, r3, #2 807c8f6: 440b add r3, r1 807c8f8: 4403 add r3, r0 807c8fa: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807c8fe: 461a mov r2, r3 807c900: 217a movs r1, #122 ; 0x7a 807c902: f44f 7082 mov.w r0, #260 ; 0x104 807c906: f7d7 fd11 bl 805432c 807c90a: e05f b.n 807c9cc 807c90c: ff0a0f1f .word 0xff0a0f1f 807c910: ff808080 .word 0xff808080 807c914: 20023e60 .word 0x20023e60 807c918: 200206b4 .word 0x200206b4 807c91c: 200202bc .word 0x200202bc 807c920: ffd8aa57 .word 0xffd8aa57 807c924: 2002024c .word 0x2002024c 807c928: 2002070c .word 0x2002070c 807c92c: 200205c4 .word 0x200205c4 } else { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 807c930: 49bb ldr r1, [pc, #748] ; (807cc20 ) 807c932: 48bc ldr r0, [pc, #752] ; (807cc24 ) 807c934: f7d6 ff3a bl 80537ac LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_PARAM_VIB[pardata.LANG][3]);//"Çíà÷åíèå Ñêîðîñòè" 807c938: 4bbb ldr r3, [pc, #748] ; (807cc28 ) 807c93a: 7b1b ldrb r3, [r3, #12] 807c93c: b2db uxtb r3, r3 807c93e: 4619 mov r1, r3 807c940: 4aba ldr r2, [pc, #744] ; (807cc2c ) 807c942: 232c movs r3, #44 ; 0x2c 807c944: fb03 f301 mul.w r3, r3, r1 807c948: 4413 add r3, r2 807c94a: 330c adds r3, #12 807c94c: 681b ldr r3, [r3, #0] 807c94e: 461a mov r2, r3 807c950: 216a movs r1, #106 ; 0x6a 807c952: 200a movs r0, #10 807c954: f7d7 fcd2 bl 80542fc LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_PARAM_VIB[pardata.LANG][4]);//"Çíà÷åíèå Ïåðåìåù" 807c958: 4bb3 ldr r3, [pc, #716] ; (807cc28 ) 807c95a: 7b1b ldrb r3, [r3, #12] 807c95c: b2db uxtb r3, r3 807c95e: 4619 mov r1, r3 807c960: 4ab2 ldr r2, [pc, #712] ; (807cc2c ) 807c962: 232c movs r3, #44 ; 0x2c 807c964: fb03 f301 mul.w r3, r3, r1 807c968: 4413 add r3, r2 807c96a: 3310 adds r3, #16 807c96c: 681b ldr r3, [r3, #0] 807c96e: 461a mov r2, r3 807c970: 217a movs r1, #122 ; 0x7a 807c972: 200a movs r0, #10 807c974: f7d7 fcc2 bl 80542fc LCD_DisplayStringC(260, LCD_LINE_6, (char *) pIVS[pardata.LANG][pardata.IVS[VEL]]); 807c978: 4bab ldr r3, [pc, #684] ; (807cc28 ) 807c97a: 7b1b ldrb r3, [r3, #12] 807c97c: b2db uxtb r3, r3 807c97e: 4619 mov r1, r3 807c980: 4ba9 ldr r3, [pc, #676] ; (807cc28 ) 807c982: 78db ldrb r3, [r3, #3] 807c984: b2db uxtb r3, r3 807c986: 4618 mov r0, r3 807c988: 4aa9 ldr r2, [pc, #676] ; (807cc30 ) 807c98a: 460b mov r3, r1 807c98c: 009b lsls r3, r3, #2 807c98e: 440b add r3, r1 807c990: 4403 add r3, r0 807c992: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807c996: 461a mov r2, r3 807c998: 216a movs r1, #106 ; 0x6a 807c99a: f44f 7082 mov.w r0, #260 ; 0x104 807c99e: f7d7 fcc5 bl 805432c LCD_DisplayStringC(260, LCD_LINE_7, (char *) pIVS[pardata.LANG][pardata.IVS[DIS]]); 807c9a2: 4ba1 ldr r3, [pc, #644] ; (807cc28 ) 807c9a4: 7b1b ldrb r3, [r3, #12] 807c9a6: b2db uxtb r3, r3 807c9a8: 4619 mov r1, r3 807c9aa: 4b9f ldr r3, [pc, #636] ; (807cc28 ) 807c9ac: 791b ldrb r3, [r3, #4] 807c9ae: b2db uxtb r3, r3 807c9b0: 4618 mov r0, r3 807c9b2: 4a9f ldr r2, [pc, #636] ; (807cc30 ) 807c9b4: 460b mov r3, r1 807c9b6: 009b lsls r3, r3, #2 807c9b8: 440b add r3, r1 807c9ba: 4403 add r3, r0 807c9bc: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807c9c0: 461a mov r2, r3 807c9c2: 217a movs r1, #122 ; 0x7a 807c9c4: f44f 7082 mov.w r0, #260 ; 0x104 807c9c8: f7d7 fcb0 bl 805432c } LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807c9cc: 4994 ldr r1, [pc, #592] ; (807cc20 ) 807c9ce: 4899 ldr r0, [pc, #612] ; (807cc34 ) 807c9d0: f7d6 feec bl 80537ac LCD_DisplayStringC(260, LCD_LINE_5, (char *) pIVS[pardata.LANG][pardata.IVS[ACC]]); 807c9d4: 4b94 ldr r3, [pc, #592] ; (807cc28 ) 807c9d6: 7b1b ldrb r3, [r3, #12] 807c9d8: b2db uxtb r3, r3 807c9da: 4619 mov r1, r3 807c9dc: 4b92 ldr r3, [pc, #584] ; (807cc28 ) 807c9de: 789b ldrb r3, [r3, #2] 807c9e0: b2db uxtb r3, r3 807c9e2: 4618 mov r0, r3 807c9e4: 4a92 ldr r2, [pc, #584] ; (807cc30 ) 807c9e6: 460b mov r3, r1 807c9e8: 009b lsls r3, r3, #2 807c9ea: 440b add r3, r1 807c9ec: 4403 add r3, r0 807c9ee: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807c9f2: 461a mov r2, r3 807c9f4: 215a movs r1, #90 ; 0x5a 807c9f6: f44f 7082 mov.w r0, #260 ; 0x104 807c9fa: f7d7 fc97 bl 805432c LCD_DisplayStringC(260, LCD_LINE_8, (char *) pAVERAGE_SEC[pardata.LANG][pardata.AVG]); 807c9fe: 4b8a ldr r3, [pc, #552] ; (807cc28 ) 807ca00: 7b1b ldrb r3, [r3, #12] 807ca02: b2db uxtb r3, r3 807ca04: 4619 mov r1, r3 807ca06: 4b88 ldr r3, [pc, #544] ; (807cc28 ) 807ca08: 7b5b ldrb r3, [r3, #13] 807ca0a: b2db uxtb r3, r3 807ca0c: 4618 mov r0, r3 807ca0e: 4a8a ldr r2, [pc, #552] ; (807cc38 ) 807ca10: 460b mov r3, r1 807ca12: 009b lsls r3, r3, #2 807ca14: 440b add r3, r1 807ca16: 005b lsls r3, r3, #1 807ca18: 4403 add r3, r0 807ca1a: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807ca1e: 461a mov r2, r3 807ca20: 218a movs r1, #138 ; 0x8a 807ca22: f44f 7082 mov.w r0, #260 ; 0x104 807ca26: f7d7 fc81 bl 805432c LCD_DisplayStringC(260, LCD_LINE_13, str1); 807ca2a: f507 73f6 add.w r3, r7, #492 ; 0x1ec 807ca2e: 461a mov r2, r3 807ca30: 21da movs r1, #218 ; 0xda 807ca32: f44f 7082 mov.w r0, #260 ; 0x104 807ca36: f7d7 fc79 bl 805432c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807ca3a: 4979 ldr r1, [pc, #484] ; (807cc20 ) 807ca3c: f04f 30ff mov.w r0, #4294967295 807ca40: f7d6 feb4 bl 80537ac BSP_LCD_FillRect(255, 157, 10, 10); 807ca44: 230a movs r3, #10 807ca46: 220a movs r2, #10 807ca48: 219d movs r1, #157 ; 0x9d 807ca4a: 20ff movs r0, #255 ; 0xff 807ca4c: f7d7 fb3c bl 80540c8 BSP_LCD_FillRect(255, 173, 10, 10); 807ca50: 230a movs r3, #10 807ca52: 220a movs r2, #10 807ca54: 21ad movs r1, #173 ; 0xad 807ca56: 20ff movs r0, #255 ; 0xff 807ca58: f7d7 fb36 bl 80540c8 BSP_LCD_FillRect(255, 189, 10, 10); 807ca5c: 230a movs r3, #10 807ca5e: 220a movs r2, #10 807ca60: 21bd movs r1, #189 ; 0xbd 807ca62: 20ff movs r0, #255 ; 0xff 807ca64: f7d7 fb30 bl 80540c8 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)) 807ca68: 4b74 ldr r3, [pc, #464] ; (807cc3c ) 807ca6a: 781b ldrb r3, [r3, #0] 807ca6c: b2db uxtb r3, r3 807ca6e: 2b18 cmp r3, #24 807ca70: f240 8083 bls.w 807cb7a 807ca74: 4b71 ldr r3, [pc, #452] ; (807cc3c ) 807ca76: 781b ldrb r3, [r3, #0] 807ca78: b2db uxtb r3, r3 807ca7a: 2b1e cmp r3, #30 807ca7c: d87d bhi.n 807cb7a { LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807ca7e: 4968 ldr r1, [pc, #416] ; (807cc20 ) 807ca80: 486c ldr r0, [pc, #432] ; (807cc34 ) 807ca82: f7d6 fe93 bl 80537ac LCD_DisplayStringC(260, LCD_LINE_4, strLP); 807ca86: f507 73cc add.w r3, r7, #408 ; 0x198 807ca8a: 461a mov r2, r3 807ca8c: 214a movs r1, #74 ; 0x4a 807ca8e: f44f 7082 mov.w r0, #260 ; 0x104 807ca92: f7d7 fc4b bl 805432c if(pardata.OPTIONS & 0x4) // åñëè àâòîóñèëåíèå 807ca96: 4b64 ldr r3, [pc, #400] ; (807cc28 ) 807ca98: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 807ca9c: f003 0304 and.w r3, r3, #4 807caa0: 2b00 cmp r3, #0 807caa2: d032 beq.n 807cb0a { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 807caa4: 495e ldr r1, [pc, #376] ; (807cc20 ) 807caa6: 485f ldr r0, [pc, #380] ; (807cc24 ) 807caa8: f7d6 fe80 bl 80537ac if(pardata.IIN != VOLTS) 807caac: 4b5e ldr r3, [pc, #376] ; (807cc28 ) 807caae: 799b ldrb r3, [r3, #6] 807cab0: b2db uxtb r3, r3 807cab2: 2b02 cmp r3, #2 807cab4: d010 beq.n 807cad8 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807cab6: 4b5c ldr r3, [pc, #368] ; (807cc28 ) 807cab8: 7b1b ldrb r3, [r3, #12] 807caba: b2db uxtb r3, r3 807cabc: 4619 mov r1, r3 807cabe: 4a5b ldr r2, [pc, #364] ; (807cc2c ) 807cac0: 232c movs r3, #44 ; 0x2c 807cac2: fb03 f301 mul.w r3, r3, r1 807cac6: 4413 add r3, r2 807cac8: 3324 adds r3, #36 ; 0x24 807caca: 681b ldr r3, [r3, #0] 807cacc: 461a mov r2, r3 807cace: 21ca movs r1, #202 ; 0xca 807cad0: 200a movs r0, #10 807cad2: f7d7 fc13 bl 80542fc 807cad6: e00f b.n 807caf8 else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807cad8: 4b53 ldr r3, [pc, #332] ; (807cc28 ) 807cada: 7b1b ldrb r3, [r3, #12] 807cadc: b2db uxtb r3, r3 807cade: 4619 mov r1, r3 807cae0: 4a57 ldr r2, [pc, #348] ; (807cc40 ) 807cae2: 232c movs r3, #44 ; 0x2c 807cae4: fb03 f301 mul.w r3, r3, r1 807cae8: 4413 add r3, r2 807caea: 3324 adds r3, #36 ; 0x24 807caec: 681b ldr r3, [r3, #0] 807caee: 461a mov r2, r3 807caf0: 21ca movs r1, #202 ; 0xca 807caf2: 200a movs r0, #10 807caf4: f7d7 fc02 bl 80542fc LCD_DisplayStringC(260, LCD_LINE_12, str); 807caf8: f507 733b add.w r3, r7, #748 ; 0x2ec 807cafc: 461a mov r2, r3 807cafe: 21ca movs r1, #202 ; 0xca 807cb00: f44f 7082 mov.w r0, #260 ; 0x104 807cb04: f7d7 fc12 bl 805432c if(pardata.OPTIONS & 0x4) // åñëè àâòîóñèëåíèå 807cb08: e157 b.n 807cdba } else { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807cb0a: 4945 ldr r1, [pc, #276] ; (807cc20 ) 807cb0c: f04f 30ff mov.w r0, #4294967295 807cb10: f7d6 fe4c bl 80537ac if(pardata.IIN != VOLTS) 807cb14: 4b44 ldr r3, [pc, #272] ; (807cc28 ) 807cb16: 799b ldrb r3, [r3, #6] 807cb18: b2db uxtb r3, r3 807cb1a: 2b02 cmp r3, #2 807cb1c: d010 beq.n 807cb40 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807cb1e: 4b42 ldr r3, [pc, #264] ; (807cc28 ) 807cb20: 7b1b ldrb r3, [r3, #12] 807cb22: b2db uxtb r3, r3 807cb24: 4619 mov r1, r3 807cb26: 4a41 ldr r2, [pc, #260] ; (807cc2c ) 807cb28: 232c movs r3, #44 ; 0x2c 807cb2a: fb03 f301 mul.w r3, r3, r1 807cb2e: 4413 add r3, r2 807cb30: 3324 adds r3, #36 ; 0x24 807cb32: 681b ldr r3, [r3, #0] 807cb34: 461a mov r2, r3 807cb36: 21ca movs r1, #202 ; 0xca 807cb38: 200a movs r0, #10 807cb3a: f7d7 fbdf bl 80542fc 807cb3e: e00f b.n 807cb60 else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807cb40: 4b39 ldr r3, [pc, #228] ; (807cc28 ) 807cb42: 7b1b ldrb r3, [r3, #12] 807cb44: b2db uxtb r3, r3 807cb46: 4619 mov r1, r3 807cb48: 4a3d ldr r2, [pc, #244] ; (807cc40 ) 807cb4a: 232c movs r3, #44 ; 0x2c 807cb4c: fb03 f301 mul.w r3, r3, r1 807cb50: 4413 add r3, r2 807cb52: 3324 adds r3, #36 ; 0x24 807cb54: 681b ldr r3, [r3, #0] 807cb56: 461a mov r2, r3 807cb58: 21ca movs r1, #202 ; 0xca 807cb5a: 200a movs r0, #10 807cb5c: f7d7 fbce bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807cb60: 492f ldr r1, [pc, #188] ; (807cc20 ) 807cb62: 4834 ldr r0, [pc, #208] ; (807cc34 ) 807cb64: f7d6 fe22 bl 80537ac LCD_DisplayStringC(260, LCD_LINE_12, str); 807cb68: f507 733b add.w r3, r7, #748 ; 0x2ec 807cb6c: 461a mov r2, r3 807cb6e: 21ca movs r1, #202 ; 0xca 807cb70: f44f 7082 mov.w r0, #260 ; 0x104 807cb74: f7d7 fbda bl 805432c if(pardata.OPTIONS & 0x4) // åñëè àâòîóñèëåíèå 807cb78: e11f b.n 807cdba } } else if((menupos >= FilterLP_IDT) && (menupos <= FilterLP_IKD)) 807cb7a: 4b30 ldr r3, [pc, #192] ; (807cc3c ) 807cb7c: 781b ldrb r3, [r3, #0] 807cb7e: b2db uxtb r3, r3 807cb80: 2b1e cmp r3, #30 807cb82: f240 8097 bls.w 807ccb4 807cb86: 4b2d ldr r3, [pc, #180] ; (807cc3c ) 807cb88: 781b ldrb r3, [r3, #0] 807cb8a: b2db uxtb r3, r3 807cb8c: 2b24 cmp r3, #36 ; 0x24 807cb8e: f200 8091 bhi.w 807ccb4 { LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807cb92: 4923 ldr r1, [pc, #140] ; (807cc20 ) 807cb94: 4827 ldr r0, [pc, #156] ; (807cc34 ) 807cb96: f7d6 fe09 bl 80537ac LCD_DisplayStringC(260, LCD_LINE_3, strHP); 807cb9a: f507 73d2 add.w r3, r7, #420 ; 0x1a4 807cb9e: 461a mov r2, r3 807cba0: 213a movs r1, #58 ; 0x3a 807cba2: f44f 7082 mov.w r0, #260 ; 0x104 807cba6: f7d7 fbc1 bl 805432c if(pardata.OPTIONS & 0x4) // åñëè àâòîóñèëåíèå 807cbaa: 4b1f ldr r3, [pc, #124] ; (807cc28 ) 807cbac: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 807cbb0: f003 0304 and.w r3, r3, #4 807cbb4: 2b00 cmp r3, #0 807cbb6: d045 beq.n 807cc44 { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 807cbb8: 4919 ldr r1, [pc, #100] ; (807cc20 ) 807cbba: 481a ldr r0, [pc, #104] ; (807cc24 ) 807cbbc: f7d6 fdf6 bl 80537ac if(pardata.IIN != VOLTS) 807cbc0: 4b19 ldr r3, [pc, #100] ; (807cc28 ) 807cbc2: 799b ldrb r3, [r3, #6] 807cbc4: b2db uxtb r3, r3 807cbc6: 2b02 cmp r3, #2 807cbc8: d010 beq.n 807cbec LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807cbca: 4b17 ldr r3, [pc, #92] ; (807cc28 ) 807cbcc: 7b1b ldrb r3, [r3, #12] 807cbce: b2db uxtb r3, r3 807cbd0: 4619 mov r1, r3 807cbd2: 4a16 ldr r2, [pc, #88] ; (807cc2c ) 807cbd4: 232c movs r3, #44 ; 0x2c 807cbd6: fb03 f301 mul.w r3, r3, r1 807cbda: 4413 add r3, r2 807cbdc: 3324 adds r3, #36 ; 0x24 807cbde: 681b ldr r3, [r3, #0] 807cbe0: 461a mov r2, r3 807cbe2: 21ca movs r1, #202 ; 0xca 807cbe4: 200a movs r0, #10 807cbe6: f7d7 fb89 bl 80542fc 807cbea: e00f b.n 807cc0c else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807cbec: 4b0e ldr r3, [pc, #56] ; (807cc28 ) 807cbee: 7b1b ldrb r3, [r3, #12] 807cbf0: b2db uxtb r3, r3 807cbf2: 4619 mov r1, r3 807cbf4: 4a12 ldr r2, [pc, #72] ; (807cc40 ) 807cbf6: 232c movs r3, #44 ; 0x2c 807cbf8: fb03 f301 mul.w r3, r3, r1 807cbfc: 4413 add r3, r2 807cbfe: 3324 adds r3, #36 ; 0x24 807cc00: 681b ldr r3, [r3, #0] 807cc02: 461a mov r2, r3 807cc04: 21ca movs r1, #202 ; 0xca 807cc06: 200a movs r0, #10 807cc08: f7d7 fb78 bl 80542fc LCD_DisplayStringC(260, LCD_LINE_12, str); 807cc0c: f507 733b add.w r3, r7, #748 ; 0x2ec 807cc10: 461a mov r2, r3 807cc12: 21ca movs r1, #202 ; 0xca 807cc14: f44f 7082 mov.w r0, #260 ; 0x104 807cc18: f7d7 fb88 bl 805432c if(pardata.OPTIONS & 0x4) // åñëè àâòîóñèëåíèå 807cc1c: e0cd b.n 807cdba 807cc1e: bf00 nop 807cc20: ff0a0f1f .word 0xff0a0f1f 807cc24: ff808080 .word 0xff808080 807cc28: 20023e60 .word 0x20023e60 807cc2c: 200206b4 .word 0x200206b4 807cc30: 200202bc .word 0x200202bc 807cc34: ffd8aa57 .word 0xffd8aa57 807cc38: 2002024c .word 0x2002024c 807cc3c: 20020070 .word 0x20020070 807cc40: 2002070c .word 0x2002070c } else { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807cc44: 49c0 ldr r1, [pc, #768] ; (807cf48 ) 807cc46: f04f 30ff mov.w r0, #4294967295 807cc4a: f7d6 fdaf bl 80537ac if(pardata.IIN != VOLTS) 807cc4e: 4bbf ldr r3, [pc, #764] ; (807cf4c ) 807cc50: 799b ldrb r3, [r3, #6] 807cc52: b2db uxtb r3, r3 807cc54: 2b02 cmp r3, #2 807cc56: d010 beq.n 807cc7a LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807cc58: 4bbc ldr r3, [pc, #752] ; (807cf4c ) 807cc5a: 7b1b ldrb r3, [r3, #12] 807cc5c: b2db uxtb r3, r3 807cc5e: 4619 mov r1, r3 807cc60: 4abb ldr r2, [pc, #748] ; (807cf50 ) 807cc62: 232c movs r3, #44 ; 0x2c 807cc64: fb03 f301 mul.w r3, r3, r1 807cc68: 4413 add r3, r2 807cc6a: 3324 adds r3, #36 ; 0x24 807cc6c: 681b ldr r3, [r3, #0] 807cc6e: 461a mov r2, r3 807cc70: 21ca movs r1, #202 ; 0xca 807cc72: 200a movs r0, #10 807cc74: f7d7 fb42 bl 80542fc 807cc78: e00f b.n 807cc9a else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807cc7a: 4bb4 ldr r3, [pc, #720] ; (807cf4c ) 807cc7c: 7b1b ldrb r3, [r3, #12] 807cc7e: b2db uxtb r3, r3 807cc80: 4619 mov r1, r3 807cc82: 4ab4 ldr r2, [pc, #720] ; (807cf54 ) 807cc84: 232c movs r3, #44 ; 0x2c 807cc86: fb03 f301 mul.w r3, r3, r1 807cc8a: 4413 add r3, r2 807cc8c: 3324 adds r3, #36 ; 0x24 807cc8e: 681b ldr r3, [r3, #0] 807cc90: 461a mov r2, r3 807cc92: 21ca movs r1, #202 ; 0xca 807cc94: 200a movs r0, #10 807cc96: f7d7 fb31 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807cc9a: 49ab ldr r1, [pc, #684] ; (807cf48 ) 807cc9c: 48ae ldr r0, [pc, #696] ; (807cf58 ) 807cc9e: f7d6 fd85 bl 80537ac LCD_DisplayStringC(260, LCD_LINE_12, str); 807cca2: f507 733b add.w r3, r7, #748 ; 0x2ec 807cca6: 461a mov r2, r3 807cca8: 21ca movs r1, #202 ; 0xca 807ccaa: f44f 7082 mov.w r0, #260 ; 0x104 807ccae: f7d7 fb3d bl 805432c if(pardata.OPTIONS & 0x4) // åñëè àâòîóñèëåíèå 807ccb2: e082 b.n 807cdba } } else if((menupos >= VibMax_IDT) && (menupos <= VibMax_IKD)) 807ccb4: 4ba9 ldr r3, [pc, #676] ; (807cf5c ) 807ccb6: 781b ldrb r3, [r3, #0] 807ccb8: b2db uxtb r3, r3 807ccba: 2b0a cmp r3, #10 807ccbc: d97d bls.n 807cdba 807ccbe: 4ba7 ldr r3, [pc, #668] ; (807cf5c ) 807ccc0: 781b ldrb r3, [r3, #0] 807ccc2: b2db uxtb r3, r3 807ccc4: 2b10 cmp r3, #16 807ccc6: d878 bhi.n 807cdba { LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807ccc8: 499f ldr r1, [pc, #636] ; (807cf48 ) 807ccca: 48a3 ldr r0, [pc, #652] ; (807cf58 ) 807cccc: f7d6 fd6e bl 80537ac LCD_DisplayStringC(260, LCD_LINE_3, strHP); 807ccd0: f507 73d2 add.w r3, r7, #420 ; 0x1a4 807ccd4: 461a mov r2, r3 807ccd6: 213a movs r1, #58 ; 0x3a 807ccd8: f44f 7082 mov.w r0, #260 ; 0x104 807ccdc: f7d7 fb26 bl 805432c LCD_DisplayStringC(260, LCD_LINE_4, strLP); 807cce0: f507 73cc add.w r3, r7, #408 ; 0x198 807cce4: 461a mov r2, r3 807cce6: 214a movs r1, #74 ; 0x4a 807cce8: f44f 7082 mov.w r0, #260 ; 0x104 807ccec: f7d7 fb1e bl 805432c if(pardata.OPTIONS & 0x4) // åñëè àâòîóñèëåíèå 807ccf0: 4b96 ldr r3, [pc, #600] ; (807cf4c ) 807ccf2: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 807ccf6: f003 0304 and.w r3, r3, #4 807ccfa: 2b00 cmp r3, #0 807ccfc: d032 beq.n 807cd64 { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 807ccfe: 4992 ldr r1, [pc, #584] ; (807cf48 ) 807cd00: 4897 ldr r0, [pc, #604] ; (807cf60 ) 807cd02: f7d6 fd53 bl 80537ac if(pardata.IIN != VOLTS) 807cd06: 4b91 ldr r3, [pc, #580] ; (807cf4c ) 807cd08: 799b ldrb r3, [r3, #6] 807cd0a: b2db uxtb r3, r3 807cd0c: 2b02 cmp r3, #2 807cd0e: d010 beq.n 807cd32 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807cd10: 4b8e ldr r3, [pc, #568] ; (807cf4c ) 807cd12: 7b1b ldrb r3, [r3, #12] 807cd14: b2db uxtb r3, r3 807cd16: 4619 mov r1, r3 807cd18: 4a8d ldr r2, [pc, #564] ; (807cf50 ) 807cd1a: 232c movs r3, #44 ; 0x2c 807cd1c: fb03 f301 mul.w r3, r3, r1 807cd20: 4413 add r3, r2 807cd22: 3324 adds r3, #36 ; 0x24 807cd24: 681b ldr r3, [r3, #0] 807cd26: 461a mov r2, r3 807cd28: 21ca movs r1, #202 ; 0xca 807cd2a: 200a movs r0, #10 807cd2c: f7d7 fae6 bl 80542fc 807cd30: e00f b.n 807cd52 else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807cd32: 4b86 ldr r3, [pc, #536] ; (807cf4c ) 807cd34: 7b1b ldrb r3, [r3, #12] 807cd36: b2db uxtb r3, r3 807cd38: 4619 mov r1, r3 807cd3a: 4a86 ldr r2, [pc, #536] ; (807cf54 ) 807cd3c: 232c movs r3, #44 ; 0x2c 807cd3e: fb03 f301 mul.w r3, r3, r1 807cd42: 4413 add r3, r2 807cd44: 3324 adds r3, #36 ; 0x24 807cd46: 681b ldr r3, [r3, #0] 807cd48: 461a mov r2, r3 807cd4a: 21ca movs r1, #202 ; 0xca 807cd4c: 200a movs r0, #10 807cd4e: f7d7 fad5 bl 80542fc LCD_DisplayStringC(260, LCD_LINE_12, str); 807cd52: f507 733b add.w r3, r7, #748 ; 0x2ec 807cd56: 461a mov r2, r3 807cd58: 21ca movs r1, #202 ; 0xca 807cd5a: f44f 7082 mov.w r0, #260 ; 0x104 807cd5e: f7d7 fae5 bl 805432c 807cd62: e02a b.n 807cdba } else { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807cd64: 4978 ldr r1, [pc, #480] ; (807cf48 ) 807cd66: f04f 30ff mov.w r0, #4294967295 807cd6a: f7d6 fd1f bl 80537ac if(pardata.IIN != VOLTS) 807cd6e: 4b77 ldr r3, [pc, #476] ; (807cf4c ) 807cd70: 799b ldrb r3, [r3, #6] 807cd72: b2db uxtb r3, r3 807cd74: 2b02 cmp r3, #2 807cd76: d010 beq.n 807cd9a LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807cd78: 4b74 ldr r3, [pc, #464] ; (807cf4c ) 807cd7a: 7b1b ldrb r3, [r3, #12] 807cd7c: b2db uxtb r3, r3 807cd7e: 4619 mov r1, r3 807cd80: 4a73 ldr r2, [pc, #460] ; (807cf50 ) 807cd82: 232c movs r3, #44 ; 0x2c 807cd84: fb03 f301 mul.w r3, r3, r1 807cd88: 4413 add r3, r2 807cd8a: 3324 adds r3, #36 ; 0x24 807cd8c: 681b ldr r3, [r3, #0] 807cd8e: 461a mov r2, r3 807cd90: 21ca movs r1, #202 ; 0xca 807cd92: 200a movs r0, #10 807cd94: f7d7 fab2 bl 80542fc 807cd98: e00f b.n 807cdba else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807cd9a: 4b6c ldr r3, [pc, #432] ; (807cf4c ) 807cd9c: 7b1b ldrb r3, [r3, #12] 807cd9e: b2db uxtb r3, r3 807cda0: 4619 mov r1, r3 807cda2: 4a6c ldr r2, [pc, #432] ; (807cf54 ) 807cda4: 232c movs r3, #44 ; 0x2c 807cda6: fb03 f301 mul.w r3, r3, r1 807cdaa: 4413 add r3, r2 807cdac: 3324 adds r3, #36 ; 0x24 807cdae: 681b ldr r3, [r3, #0] 807cdb0: 461a mov r2, r3 807cdb2: 21ca movs r1, #202 ; 0xca 807cdb4: 200a movs r0, #10 807cdb6: f7d7 faa1 bl 80542fc } if(menupos == FilterHP_IDT) 807cdba: 4b68 ldr r3, [pc, #416] ; (807cf5c ) 807cdbc: 781b ldrb r3, [r3, #0] 807cdbe: b2db uxtb r3, r3 807cdc0: 2b19 cmp r3, #25 807cdc2: d15d bne.n 807ce80 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807cdc4: 4960 ldr r1, [pc, #384] ; (807cf48 ) 807cdc6: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807cdca: f7d6 fcef bl 80537ac if(blk) 807cdce: 4b65 ldr r3, [pc, #404] ; (807cf64 ) 807cdd0: 681b ldr r3, [r3, #0] 807cdd2: 2b00 cmp r3, #0 807cdd4: d00b beq.n 807cdee LCD_DisplayString(198, LCD_LINE_3, (char *) pNUMS[idtHP]); 807cdd6: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 807cdda: b2db uxtb r3, r3 807cddc: 461a mov r2, r3 807cdde: 4b62 ldr r3, [pc, #392] ; (807cf68 ) 807cde0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807cde4: 461a mov r2, r3 807cde6: 213a movs r1, #58 ; 0x3a 807cde8: 20c6 movs r0, #198 ; 0xc6 807cdea: f7d7 fa87 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807cdee: 4956 ldr r1, [pc, #344] ; (807cf48 ) 807cdf0: 4859 ldr r0, [pc, #356] ; (807cf58 ) 807cdf2: f7d6 fcdb bl 80537ac LCD_DisplayString(214, LCD_LINE_3, (char *) pNUMS[ietHP]); 807cdf6: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 807cdfa: b2db uxtb r3, r3 807cdfc: 461a mov r2, r3 807cdfe: 4b5a ldr r3, [pc, #360] ; (807cf68 ) 807ce00: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807ce04: 461a mov r2, r3 807ce06: 213a movs r1, #58 ; 0x3a 807ce08: 20d6 movs r0, #214 ; 0xd6 807ce0a: f7d7 fa77 bl 80542fc LCD_DisplayString(230, LCD_LINE_3, (char *) pNUMS[iesHP]); 807ce0e: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 807ce12: b2db uxtb r3, r3 807ce14: 461a mov r2, r3 807ce16: 4b54 ldr r3, [pc, #336] ; (807cf68 ) 807ce18: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807ce1c: 461a mov r2, r3 807ce1e: 213a movs r1, #58 ; 0x3a 807ce20: 20e6 movs r0, #230 ; 0xe6 807ce22: f7d7 fa6b bl 80542fc LCD_DisplayString(246, LCD_LINE_3, (char *) pNUMS[iedHP]); 807ce26: f897 33ce ldrb.w r3, [r7, #974] ; 0x3ce 807ce2a: b2db uxtb r3, r3 807ce2c: 461a mov r2, r3 807ce2e: 4b4e ldr r3, [pc, #312] ; (807cf68 ) 807ce30: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807ce34: 461a mov r2, r3 807ce36: 213a movs r1, #58 ; 0x3a 807ce38: 20f6 movs r0, #246 ; 0xf6 807ce3a: f7d7 fa5f bl 80542fc LCD_DisplayString(262, LCD_LINE_3, (char *) pNUMS[ieeHP]); 807ce3e: f897 33cd ldrb.w r3, [r7, #973] ; 0x3cd 807ce42: b2db uxtb r3, r3 807ce44: 461a mov r2, r3 807ce46: 4b48 ldr r3, [pc, #288] ; (807cf68 ) 807ce48: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807ce4c: 461a mov r2, r3 807ce4e: 213a movs r1, #58 ; 0x3a 807ce50: f44f 7083 mov.w r0, #262 ; 0x106 807ce54: f7d7 fa52 bl 80542fc LCD_DisplayString(278, LCD_LINE_3, "."); 807ce58: 4a44 ldr r2, [pc, #272] ; (807cf6c ) 807ce5a: 213a movs r1, #58 ; 0x3a 807ce5c: f44f 708b mov.w r0, #278 ; 0x116 807ce60: f7d7 fa4c bl 80542fc LCD_DisplayString(294, LCD_LINE_3, (char *) pNUMS[ikdHP]); 807ce64: f897 33cc ldrb.w r3, [r7, #972] ; 0x3cc 807ce68: b2db uxtb r3, r3 807ce6a: 461a mov r2, r3 807ce6c: 4b3e ldr r3, [pc, #248] ; (807cf68 ) 807ce6e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807ce72: 461a mov r2, r3 807ce74: 213a movs r1, #58 ; 0x3a 807ce76: f44f 7093 mov.w r0, #294 ; 0x126 807ce7a: f7d7 fa3f bl 80542fc 807ce7e: e20f b.n 807d2a0 } else if(menupos == FilterHP_IET) 807ce80: 4b36 ldr r3, [pc, #216] ; (807cf5c ) 807ce82: 781b ldrb r3, [r3, #0] 807ce84: b2db uxtb r3, r3 807ce86: 2b1a cmp r3, #26 807ce88: d172 bne.n 807cf70 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807ce8a: 492f ldr r1, [pc, #188] ; (807cf48 ) 807ce8c: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807ce90: f7d6 fc8c bl 80537ac if(blk) 807ce94: 4b33 ldr r3, [pc, #204] ; (807cf64 ) 807ce96: 681b ldr r3, [r3, #0] 807ce98: 2b00 cmp r3, #0 807ce9a: d00b beq.n 807ceb4 LCD_DisplayString(214, LCD_LINE_3, (char *) pNUMS[ietHP]); 807ce9c: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 807cea0: b2db uxtb r3, r3 807cea2: 461a mov r2, r3 807cea4: 4b30 ldr r3, [pc, #192] ; (807cf68 ) 807cea6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807ceaa: 461a mov r2, r3 807ceac: 213a movs r1, #58 ; 0x3a 807ceae: 20d6 movs r0, #214 ; 0xd6 807ceb0: f7d7 fa24 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807ceb4: 4924 ldr r1, [pc, #144] ; (807cf48 ) 807ceb6: 4828 ldr r0, [pc, #160] ; (807cf58 ) 807ceb8: f7d6 fc78 bl 80537ac LCD_DisplayString(198, LCD_LINE_3, (char *) pNUMS[idtHP]); 807cebc: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 807cec0: b2db uxtb r3, r3 807cec2: 461a mov r2, r3 807cec4: 4b28 ldr r3, [pc, #160] ; (807cf68 ) 807cec6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807ceca: 461a mov r2, r3 807cecc: 213a movs r1, #58 ; 0x3a 807cece: 20c6 movs r0, #198 ; 0xc6 807ced0: f7d7 fa14 bl 80542fc LCD_DisplayString(230, LCD_LINE_3, (char *) pNUMS[iesHP]); 807ced4: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 807ced8: b2db uxtb r3, r3 807ceda: 461a mov r2, r3 807cedc: 4b22 ldr r3, [pc, #136] ; (807cf68 ) 807cede: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807cee2: 461a mov r2, r3 807cee4: 213a movs r1, #58 ; 0x3a 807cee6: 20e6 movs r0, #230 ; 0xe6 807cee8: f7d7 fa08 bl 80542fc LCD_DisplayString(246, LCD_LINE_3, (char *) pNUMS[iedHP]); 807ceec: f897 33ce ldrb.w r3, [r7, #974] ; 0x3ce 807cef0: b2db uxtb r3, r3 807cef2: 461a mov r2, r3 807cef4: 4b1c ldr r3, [pc, #112] ; (807cf68 ) 807cef6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807cefa: 461a mov r2, r3 807cefc: 213a movs r1, #58 ; 0x3a 807cefe: 20f6 movs r0, #246 ; 0xf6 807cf00: f7d7 f9fc bl 80542fc LCD_DisplayString(262, LCD_LINE_3, (char *) pNUMS[ieeHP]); 807cf04: f897 33cd ldrb.w r3, [r7, #973] ; 0x3cd 807cf08: b2db uxtb r3, r3 807cf0a: 461a mov r2, r3 807cf0c: 4b16 ldr r3, [pc, #88] ; (807cf68 ) 807cf0e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807cf12: 461a mov r2, r3 807cf14: 213a movs r1, #58 ; 0x3a 807cf16: f44f 7083 mov.w r0, #262 ; 0x106 807cf1a: f7d7 f9ef bl 80542fc LCD_DisplayString(278, LCD_LINE_3, "."); 807cf1e: 4a13 ldr r2, [pc, #76] ; (807cf6c ) 807cf20: 213a movs r1, #58 ; 0x3a 807cf22: f44f 708b mov.w r0, #278 ; 0x116 807cf26: f7d7 f9e9 bl 80542fc LCD_DisplayString(294, LCD_LINE_3, (char *) pNUMS[ikdHP]); 807cf2a: f897 33cc ldrb.w r3, [r7, #972] ; 0x3cc 807cf2e: b2db uxtb r3, r3 807cf30: 461a mov r2, r3 807cf32: 4b0d ldr r3, [pc, #52] ; (807cf68 ) 807cf34: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807cf38: 461a mov r2, r3 807cf3a: 213a movs r1, #58 ; 0x3a 807cf3c: f44f 7093 mov.w r0, #294 ; 0x126 807cf40: f7d7 f9dc bl 80542fc 807cf44: e1ac b.n 807d2a0 807cf46: bf00 nop 807cf48: ff0a0f1f .word 0xff0a0f1f 807cf4c: 20023e60 .word 0x20023e60 807cf50: 200206b4 .word 0x200206b4 807cf54: 2002070c .word 0x2002070c 807cf58: ffd8aa57 .word 0xffd8aa57 807cf5c: 20020070 .word 0x20020070 807cf60: ff808080 .word 0xff808080 807cf64: 2002165c .word 0x2002165c 807cf68: 20020964 .word 0x20020964 807cf6c: 080cf7e8 .word 0x080cf7e8 } else if(menupos == FilterHP_IES) 807cf70: 4b94 ldr r3, [pc, #592] ; (807d1c4 ) 807cf72: 781b ldrb r3, [r3, #0] 807cf74: b2db uxtb r3, r3 807cf76: 2b1b cmp r3, #27 807cf78: d15d bne.n 807d036 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807cf7a: 4993 ldr r1, [pc, #588] ; (807d1c8 ) 807cf7c: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807cf80: f7d6 fc14 bl 80537ac if(blk) 807cf84: 4b91 ldr r3, [pc, #580] ; (807d1cc ) 807cf86: 681b ldr r3, [r3, #0] 807cf88: 2b00 cmp r3, #0 807cf8a: d00b beq.n 807cfa4 LCD_DisplayString(230, LCD_LINE_3, (char *) pNUMS[iesHP]); 807cf8c: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 807cf90: b2db uxtb r3, r3 807cf92: 461a mov r2, r3 807cf94: 4b8e ldr r3, [pc, #568] ; (807d1d0 ) 807cf96: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807cf9a: 461a mov r2, r3 807cf9c: 213a movs r1, #58 ; 0x3a 807cf9e: 20e6 movs r0, #230 ; 0xe6 807cfa0: f7d7 f9ac bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807cfa4: 4988 ldr r1, [pc, #544] ; (807d1c8 ) 807cfa6: 488b ldr r0, [pc, #556] ; (807d1d4 ) 807cfa8: f7d6 fc00 bl 80537ac LCD_DisplayString(198, LCD_LINE_3, (char *) pNUMS[idtHP]); 807cfac: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 807cfb0: b2db uxtb r3, r3 807cfb2: 461a mov r2, r3 807cfb4: 4b86 ldr r3, [pc, #536] ; (807d1d0 ) 807cfb6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807cfba: 461a mov r2, r3 807cfbc: 213a movs r1, #58 ; 0x3a 807cfbe: 20c6 movs r0, #198 ; 0xc6 807cfc0: f7d7 f99c bl 80542fc LCD_DisplayString(214, LCD_LINE_3, (char *) pNUMS[ietHP]); 807cfc4: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 807cfc8: b2db uxtb r3, r3 807cfca: 461a mov r2, r3 807cfcc: 4b80 ldr r3, [pc, #512] ; (807d1d0 ) 807cfce: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807cfd2: 461a mov r2, r3 807cfd4: 213a movs r1, #58 ; 0x3a 807cfd6: 20d6 movs r0, #214 ; 0xd6 807cfd8: f7d7 f990 bl 80542fc LCD_DisplayString(246, LCD_LINE_3, (char *) pNUMS[iedHP]); 807cfdc: f897 33ce ldrb.w r3, [r7, #974] ; 0x3ce 807cfe0: b2db uxtb r3, r3 807cfe2: 461a mov r2, r3 807cfe4: 4b7a ldr r3, [pc, #488] ; (807d1d0 ) 807cfe6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807cfea: 461a mov r2, r3 807cfec: 213a movs r1, #58 ; 0x3a 807cfee: 20f6 movs r0, #246 ; 0xf6 807cff0: f7d7 f984 bl 80542fc LCD_DisplayString(262, LCD_LINE_3, (char *) pNUMS[ieeHP]); 807cff4: f897 33cd ldrb.w r3, [r7, #973] ; 0x3cd 807cff8: b2db uxtb r3, r3 807cffa: 461a mov r2, r3 807cffc: 4b74 ldr r3, [pc, #464] ; (807d1d0 ) 807cffe: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d002: 461a mov r2, r3 807d004: 213a movs r1, #58 ; 0x3a 807d006: f44f 7083 mov.w r0, #262 ; 0x106 807d00a: f7d7 f977 bl 80542fc LCD_DisplayString(278, LCD_LINE_3, "."); 807d00e: 4a72 ldr r2, [pc, #456] ; (807d1d8 ) 807d010: 213a movs r1, #58 ; 0x3a 807d012: f44f 708b mov.w r0, #278 ; 0x116 807d016: f7d7 f971 bl 80542fc LCD_DisplayString(294, LCD_LINE_3, (char *) pNUMS[ikdHP]); 807d01a: f897 33cc ldrb.w r3, [r7, #972] ; 0x3cc 807d01e: b2db uxtb r3, r3 807d020: 461a mov r2, r3 807d022: 4b6b ldr r3, [pc, #428] ; (807d1d0 ) 807d024: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d028: 461a mov r2, r3 807d02a: 213a movs r1, #58 ; 0x3a 807d02c: f44f 7093 mov.w r0, #294 ; 0x126 807d030: f7d7 f964 bl 80542fc 807d034: e134 b.n 807d2a0 } else if(menupos == FilterHP_IED) 807d036: 4b63 ldr r3, [pc, #396] ; (807d1c4 ) 807d038: 781b ldrb r3, [r3, #0] 807d03a: b2db uxtb r3, r3 807d03c: 2b1c cmp r3, #28 807d03e: d15d bne.n 807d0fc { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807d040: 4961 ldr r1, [pc, #388] ; (807d1c8 ) 807d042: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807d046: f7d6 fbb1 bl 80537ac if(blk) 807d04a: 4b60 ldr r3, [pc, #384] ; (807d1cc ) 807d04c: 681b ldr r3, [r3, #0] 807d04e: 2b00 cmp r3, #0 807d050: d00b beq.n 807d06a LCD_DisplayString(246, LCD_LINE_3, (char *) pNUMS[iedHP]); 807d052: f897 33ce ldrb.w r3, [r7, #974] ; 0x3ce 807d056: b2db uxtb r3, r3 807d058: 461a mov r2, r3 807d05a: 4b5d ldr r3, [pc, #372] ; (807d1d0 ) 807d05c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d060: 461a mov r2, r3 807d062: 213a movs r1, #58 ; 0x3a 807d064: 20f6 movs r0, #246 ; 0xf6 807d066: f7d7 f949 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807d06a: 4957 ldr r1, [pc, #348] ; (807d1c8 ) 807d06c: 4859 ldr r0, [pc, #356] ; (807d1d4 ) 807d06e: f7d6 fb9d bl 80537ac LCD_DisplayString(198, LCD_LINE_3, (char *) pNUMS[idtHP]); 807d072: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 807d076: b2db uxtb r3, r3 807d078: 461a mov r2, r3 807d07a: 4b55 ldr r3, [pc, #340] ; (807d1d0 ) 807d07c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d080: 461a mov r2, r3 807d082: 213a movs r1, #58 ; 0x3a 807d084: 20c6 movs r0, #198 ; 0xc6 807d086: f7d7 f939 bl 80542fc LCD_DisplayString(214, LCD_LINE_3, (char *) pNUMS[ietHP]); 807d08a: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 807d08e: b2db uxtb r3, r3 807d090: 461a mov r2, r3 807d092: 4b4f ldr r3, [pc, #316] ; (807d1d0 ) 807d094: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d098: 461a mov r2, r3 807d09a: 213a movs r1, #58 ; 0x3a 807d09c: 20d6 movs r0, #214 ; 0xd6 807d09e: f7d7 f92d bl 80542fc LCD_DisplayString(230, LCD_LINE_3, (char *) pNUMS[iesHP]); 807d0a2: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 807d0a6: b2db uxtb r3, r3 807d0a8: 461a mov r2, r3 807d0aa: 4b49 ldr r3, [pc, #292] ; (807d1d0 ) 807d0ac: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d0b0: 461a mov r2, r3 807d0b2: 213a movs r1, #58 ; 0x3a 807d0b4: 20e6 movs r0, #230 ; 0xe6 807d0b6: f7d7 f921 bl 80542fc LCD_DisplayString(262, LCD_LINE_3, (char *) pNUMS[ieeHP]); 807d0ba: f897 33cd ldrb.w r3, [r7, #973] ; 0x3cd 807d0be: b2db uxtb r3, r3 807d0c0: 461a mov r2, r3 807d0c2: 4b43 ldr r3, [pc, #268] ; (807d1d0 ) 807d0c4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d0c8: 461a mov r2, r3 807d0ca: 213a movs r1, #58 ; 0x3a 807d0cc: f44f 7083 mov.w r0, #262 ; 0x106 807d0d0: f7d7 f914 bl 80542fc LCD_DisplayString(278, LCD_LINE_3, "."); 807d0d4: 4a40 ldr r2, [pc, #256] ; (807d1d8 ) 807d0d6: 213a movs r1, #58 ; 0x3a 807d0d8: f44f 708b mov.w r0, #278 ; 0x116 807d0dc: f7d7 f90e bl 80542fc LCD_DisplayString(294, LCD_LINE_3, (char *) pNUMS[ikdHP]); 807d0e0: f897 33cc ldrb.w r3, [r7, #972] ; 0x3cc 807d0e4: b2db uxtb r3, r3 807d0e6: 461a mov r2, r3 807d0e8: 4b39 ldr r3, [pc, #228] ; (807d1d0 ) 807d0ea: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d0ee: 461a mov r2, r3 807d0f0: 213a movs r1, #58 ; 0x3a 807d0f2: f44f 7093 mov.w r0, #294 ; 0x126 807d0f6: f7d7 f901 bl 80542fc 807d0fa: e0d1 b.n 807d2a0 } else if(menupos == FilterHP_IEE) 807d0fc: 4b31 ldr r3, [pc, #196] ; (807d1c4 ) 807d0fe: 781b ldrb r3, [r3, #0] 807d100: b2db uxtb r3, r3 807d102: 2b1d cmp r3, #29 807d104: d16a bne.n 807d1dc { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807d106: 4930 ldr r1, [pc, #192] ; (807d1c8 ) 807d108: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807d10c: f7d6 fb4e bl 80537ac if(blk) 807d110: 4b2e ldr r3, [pc, #184] ; (807d1cc ) 807d112: 681b ldr r3, [r3, #0] 807d114: 2b00 cmp r3, #0 807d116: d00c beq.n 807d132 LCD_DisplayString(262, LCD_LINE_3, (char *) pNUMS[ieeHP]); 807d118: f897 33cd ldrb.w r3, [r7, #973] ; 0x3cd 807d11c: b2db uxtb r3, r3 807d11e: 461a mov r2, r3 807d120: 4b2b ldr r3, [pc, #172] ; (807d1d0 ) 807d122: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d126: 461a mov r2, r3 807d128: 213a movs r1, #58 ; 0x3a 807d12a: f44f 7083 mov.w r0, #262 ; 0x106 807d12e: f7d7 f8e5 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807d132: 4925 ldr r1, [pc, #148] ; (807d1c8 ) 807d134: 4827 ldr r0, [pc, #156] ; (807d1d4 ) 807d136: f7d6 fb39 bl 80537ac LCD_DisplayString(198, LCD_LINE_3, (char *) pNUMS[idtHP]); 807d13a: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 807d13e: b2db uxtb r3, r3 807d140: 461a mov r2, r3 807d142: 4b23 ldr r3, [pc, #140] ; (807d1d0 ) 807d144: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d148: 461a mov r2, r3 807d14a: 213a movs r1, #58 ; 0x3a 807d14c: 20c6 movs r0, #198 ; 0xc6 807d14e: f7d7 f8d5 bl 80542fc LCD_DisplayString(214, LCD_LINE_3, (char *) pNUMS[ietHP]); 807d152: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 807d156: b2db uxtb r3, r3 807d158: 461a mov r2, r3 807d15a: 4b1d ldr r3, [pc, #116] ; (807d1d0 ) 807d15c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d160: 461a mov r2, r3 807d162: 213a movs r1, #58 ; 0x3a 807d164: 20d6 movs r0, #214 ; 0xd6 807d166: f7d7 f8c9 bl 80542fc LCD_DisplayString(230, LCD_LINE_3, (char *) pNUMS[iesHP]); 807d16a: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 807d16e: b2db uxtb r3, r3 807d170: 461a mov r2, r3 807d172: 4b17 ldr r3, [pc, #92] ; (807d1d0 ) 807d174: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d178: 461a mov r2, r3 807d17a: 213a movs r1, #58 ; 0x3a 807d17c: 20e6 movs r0, #230 ; 0xe6 807d17e: f7d7 f8bd bl 80542fc LCD_DisplayString(246, LCD_LINE_3, (char *) pNUMS[iedHP]); 807d182: f897 33ce ldrb.w r3, [r7, #974] ; 0x3ce 807d186: b2db uxtb r3, r3 807d188: 461a mov r2, r3 807d18a: 4b11 ldr r3, [pc, #68] ; (807d1d0 ) 807d18c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d190: 461a mov r2, r3 807d192: 213a movs r1, #58 ; 0x3a 807d194: 20f6 movs r0, #246 ; 0xf6 807d196: f7d7 f8b1 bl 80542fc LCD_DisplayString(278, LCD_LINE_3, "."); 807d19a: 4a0f ldr r2, [pc, #60] ; (807d1d8 ) 807d19c: 213a movs r1, #58 ; 0x3a 807d19e: f44f 708b mov.w r0, #278 ; 0x116 807d1a2: f7d7 f8ab bl 80542fc LCD_DisplayString(294, LCD_LINE_3, (char *) pNUMS[ikdHP]); 807d1a6: f897 33cc ldrb.w r3, [r7, #972] ; 0x3cc 807d1aa: b2db uxtb r3, r3 807d1ac: 461a mov r2, r3 807d1ae: 4b08 ldr r3, [pc, #32] ; (807d1d0 ) 807d1b0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d1b4: 461a mov r2, r3 807d1b6: 213a movs r1, #58 ; 0x3a 807d1b8: f44f 7093 mov.w r0, #294 ; 0x126 807d1bc: f7d7 f89e bl 80542fc 807d1c0: e06e b.n 807d2a0 807d1c2: bf00 nop 807d1c4: 20020070 .word 0x20020070 807d1c8: ff0a0f1f .word 0xff0a0f1f 807d1cc: 2002165c .word 0x2002165c 807d1d0: 20020964 .word 0x20020964 807d1d4: ffd8aa57 .word 0xffd8aa57 807d1d8: 080cf7e8 .word 0x080cf7e8 } else if(menupos == FilterHP_IKD) 807d1dc: 4bc5 ldr r3, [pc, #788] ; (807d4f4 ) 807d1de: 781b ldrb r3, [r3, #0] 807d1e0: b2db uxtb r3, r3 807d1e2: 2b1e cmp r3, #30 807d1e4: d15c bne.n 807d2a0 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807d1e6: 49c4 ldr r1, [pc, #784] ; (807d4f8 ) 807d1e8: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807d1ec: f7d6 fade bl 80537ac if(blk) 807d1f0: 4bc2 ldr r3, [pc, #776] ; (807d4fc ) 807d1f2: 681b ldr r3, [r3, #0] 807d1f4: 2b00 cmp r3, #0 807d1f6: d00c beq.n 807d212 LCD_DisplayString(294, LCD_LINE_3, (char *) pNUMS[ikdHP]); 807d1f8: f897 33cc ldrb.w r3, [r7, #972] ; 0x3cc 807d1fc: b2db uxtb r3, r3 807d1fe: 461a mov r2, r3 807d200: 4bbf ldr r3, [pc, #764] ; (807d500 ) 807d202: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d206: 461a mov r2, r3 807d208: 213a movs r1, #58 ; 0x3a 807d20a: f44f 7093 mov.w r0, #294 ; 0x126 807d20e: f7d7 f875 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807d212: 49b9 ldr r1, [pc, #740] ; (807d4f8 ) 807d214: 48bb ldr r0, [pc, #748] ; (807d504 ) 807d216: f7d6 fac9 bl 80537ac LCD_DisplayString(198, LCD_LINE_3, (char *) pNUMS[idtHP]); 807d21a: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 807d21e: b2db uxtb r3, r3 807d220: 461a mov r2, r3 807d222: 4bb7 ldr r3, [pc, #732] ; (807d500 ) 807d224: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d228: 461a mov r2, r3 807d22a: 213a movs r1, #58 ; 0x3a 807d22c: 20c6 movs r0, #198 ; 0xc6 807d22e: f7d7 f865 bl 80542fc LCD_DisplayString(214, LCD_LINE_3, (char *) pNUMS[ietHP]); 807d232: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 807d236: b2db uxtb r3, r3 807d238: 461a mov r2, r3 807d23a: 4bb1 ldr r3, [pc, #708] ; (807d500 ) 807d23c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d240: 461a mov r2, r3 807d242: 213a movs r1, #58 ; 0x3a 807d244: 20d6 movs r0, #214 ; 0xd6 807d246: f7d7 f859 bl 80542fc LCD_DisplayString(230, LCD_LINE_3, (char *) pNUMS[iesHP]); 807d24a: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 807d24e: b2db uxtb r3, r3 807d250: 461a mov r2, r3 807d252: 4bab ldr r3, [pc, #684] ; (807d500 ) 807d254: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d258: 461a mov r2, r3 807d25a: 213a movs r1, #58 ; 0x3a 807d25c: 20e6 movs r0, #230 ; 0xe6 807d25e: f7d7 f84d bl 80542fc LCD_DisplayString(246, LCD_LINE_3, (char *) pNUMS[iedHP]); 807d262: f897 33ce ldrb.w r3, [r7, #974] ; 0x3ce 807d266: b2db uxtb r3, r3 807d268: 461a mov r2, r3 807d26a: 4ba5 ldr r3, [pc, #660] ; (807d500 ) 807d26c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d270: 461a mov r2, r3 807d272: 213a movs r1, #58 ; 0x3a 807d274: 20f6 movs r0, #246 ; 0xf6 807d276: f7d7 f841 bl 80542fc LCD_DisplayString(262, LCD_LINE_3, (char *) pNUMS[ieeHP]); 807d27a: f897 33cd ldrb.w r3, [r7, #973] ; 0x3cd 807d27e: b2db uxtb r3, r3 807d280: 461a mov r2, r3 807d282: 4b9f ldr r3, [pc, #636] ; (807d500 ) 807d284: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d288: 461a mov r2, r3 807d28a: 213a movs r1, #58 ; 0x3a 807d28c: f44f 7083 mov.w r0, #262 ; 0x106 807d290: f7d7 f834 bl 80542fc LCD_DisplayString(278, LCD_LINE_3, "."); 807d294: 4a9c ldr r2, [pc, #624] ; (807d508 ) 807d296: 213a movs r1, #58 ; 0x3a 807d298: f44f 708b mov.w r0, #278 ; 0x116 807d29c: f7d7 f82e bl 80542fc if(menupos == FilterLP_IDT) 807d2a0: 4b94 ldr r3, [pc, #592] ; (807d4f4 ) 807d2a2: 781b ldrb r3, [r3, #0] 807d2a4: b2db uxtb r3, r3 807d2a6: 2b1f cmp r3, #31 807d2a8: d15d bne.n 807d366 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807d2aa: 4993 ldr r1, [pc, #588] ; (807d4f8 ) 807d2ac: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807d2b0: f7d6 fa7c bl 80537ac if(blk) 807d2b4: 4b91 ldr r3, [pc, #580] ; (807d4fc ) 807d2b6: 681b ldr r3, [r3, #0] 807d2b8: 2b00 cmp r3, #0 807d2ba: d00b beq.n 807d2d4 LCD_DisplayString(198, LCD_LINE_4, (char *) pNUMS[idtLP]); 807d2bc: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 807d2c0: b2db uxtb r3, r3 807d2c2: 461a mov r2, r3 807d2c4: 4b8e ldr r3, [pc, #568] ; (807d500 ) 807d2c6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d2ca: 461a mov r2, r3 807d2cc: 214a movs r1, #74 ; 0x4a 807d2ce: 20c6 movs r0, #198 ; 0xc6 807d2d0: f7d7 f814 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807d2d4: 4988 ldr r1, [pc, #544] ; (807d4f8 ) 807d2d6: 488b ldr r0, [pc, #556] ; (807d504 ) 807d2d8: f7d6 fa68 bl 80537ac LCD_DisplayString(214, LCD_LINE_4, (char *) pNUMS[ietLP]); 807d2dc: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 807d2e0: b2db uxtb r3, r3 807d2e2: 461a mov r2, r3 807d2e4: 4b86 ldr r3, [pc, #536] ; (807d500 ) 807d2e6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d2ea: 461a mov r2, r3 807d2ec: 214a movs r1, #74 ; 0x4a 807d2ee: 20d6 movs r0, #214 ; 0xd6 807d2f0: f7d7 f804 bl 80542fc LCD_DisplayString(230, LCD_LINE_4, (char *) pNUMS[iesLP]); 807d2f4: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 807d2f8: b2db uxtb r3, r3 807d2fa: 461a mov r2, r3 807d2fc: 4b80 ldr r3, [pc, #512] ; (807d500 ) 807d2fe: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d302: 461a mov r2, r3 807d304: 214a movs r1, #74 ; 0x4a 807d306: 20e6 movs r0, #230 ; 0xe6 807d308: f7d6 fff8 bl 80542fc LCD_DisplayString(246, LCD_LINE_4, (char *) pNUMS[iedLP]); 807d30c: f897 33c7 ldrb.w r3, [r7, #967] ; 0x3c7 807d310: b2db uxtb r3, r3 807d312: 461a mov r2, r3 807d314: 4b7a ldr r3, [pc, #488] ; (807d500 ) 807d316: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d31a: 461a mov r2, r3 807d31c: 214a movs r1, #74 ; 0x4a 807d31e: 20f6 movs r0, #246 ; 0xf6 807d320: f7d6 ffec bl 80542fc LCD_DisplayString(262, LCD_LINE_4, (char *) pNUMS[ieeLP]); 807d324: f897 33c6 ldrb.w r3, [r7, #966] ; 0x3c6 807d328: b2db uxtb r3, r3 807d32a: 461a mov r2, r3 807d32c: 4b74 ldr r3, [pc, #464] ; (807d500 ) 807d32e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d332: 461a mov r2, r3 807d334: 214a movs r1, #74 ; 0x4a 807d336: f44f 7083 mov.w r0, #262 ; 0x106 807d33a: f7d6 ffdf bl 80542fc LCD_DisplayString(278, LCD_LINE_4, "."); 807d33e: 4a72 ldr r2, [pc, #456] ; (807d508 ) 807d340: 214a movs r1, #74 ; 0x4a 807d342: f44f 708b mov.w r0, #278 ; 0x116 807d346: f7d6 ffd9 bl 80542fc LCD_DisplayString(294, LCD_LINE_4, (char *) pNUMS[ikdLP]); 807d34a: f897 33c5 ldrb.w r3, [r7, #965] ; 0x3c5 807d34e: b2db uxtb r3, r3 807d350: 461a mov r2, r3 807d352: 4b6b ldr r3, [pc, #428] ; (807d500 ) 807d354: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d358: 461a mov r2, r3 807d35a: 214a movs r1, #74 ; 0x4a 807d35c: f44f 7093 mov.w r0, #294 ; 0x126 807d360: f7d6 ffcc bl 80542fc 807d364: e1fa b.n 807d75c } else if(menupos == FilterLP_IET) 807d366: 4b63 ldr r3, [pc, #396] ; (807d4f4 ) 807d368: 781b ldrb r3, [r3, #0] 807d36a: b2db uxtb r3, r3 807d36c: 2b20 cmp r3, #32 807d36e: d15d bne.n 807d42c { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807d370: 4961 ldr r1, [pc, #388] ; (807d4f8 ) 807d372: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807d376: f7d6 fa19 bl 80537ac if(blk) 807d37a: 4b60 ldr r3, [pc, #384] ; (807d4fc ) 807d37c: 681b ldr r3, [r3, #0] 807d37e: 2b00 cmp r3, #0 807d380: d00b beq.n 807d39a LCD_DisplayString(214, LCD_LINE_4, (char *) pNUMS[ietLP]); 807d382: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 807d386: b2db uxtb r3, r3 807d388: 461a mov r2, r3 807d38a: 4b5d ldr r3, [pc, #372] ; (807d500 ) 807d38c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d390: 461a mov r2, r3 807d392: 214a movs r1, #74 ; 0x4a 807d394: 20d6 movs r0, #214 ; 0xd6 807d396: f7d6 ffb1 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807d39a: 4957 ldr r1, [pc, #348] ; (807d4f8 ) 807d39c: 4859 ldr r0, [pc, #356] ; (807d504 ) 807d39e: f7d6 fa05 bl 80537ac LCD_DisplayString(198, LCD_LINE_4, (char *) pNUMS[idtLP]); 807d3a2: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 807d3a6: b2db uxtb r3, r3 807d3a8: 461a mov r2, r3 807d3aa: 4b55 ldr r3, [pc, #340] ; (807d500 ) 807d3ac: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d3b0: 461a mov r2, r3 807d3b2: 214a movs r1, #74 ; 0x4a 807d3b4: 20c6 movs r0, #198 ; 0xc6 807d3b6: f7d6 ffa1 bl 80542fc LCD_DisplayString(230, LCD_LINE_4, (char *) pNUMS[iesLP]); 807d3ba: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 807d3be: b2db uxtb r3, r3 807d3c0: 461a mov r2, r3 807d3c2: 4b4f ldr r3, [pc, #316] ; (807d500 ) 807d3c4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d3c8: 461a mov r2, r3 807d3ca: 214a movs r1, #74 ; 0x4a 807d3cc: 20e6 movs r0, #230 ; 0xe6 807d3ce: f7d6 ff95 bl 80542fc LCD_DisplayString(246, LCD_LINE_4, (char *) pNUMS[iedLP]); 807d3d2: f897 33c7 ldrb.w r3, [r7, #967] ; 0x3c7 807d3d6: b2db uxtb r3, r3 807d3d8: 461a mov r2, r3 807d3da: 4b49 ldr r3, [pc, #292] ; (807d500 ) 807d3dc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d3e0: 461a mov r2, r3 807d3e2: 214a movs r1, #74 ; 0x4a 807d3e4: 20f6 movs r0, #246 ; 0xf6 807d3e6: f7d6 ff89 bl 80542fc LCD_DisplayString(262, LCD_LINE_4, (char *) pNUMS[ieeLP]); 807d3ea: f897 33c6 ldrb.w r3, [r7, #966] ; 0x3c6 807d3ee: b2db uxtb r3, r3 807d3f0: 461a mov r2, r3 807d3f2: 4b43 ldr r3, [pc, #268] ; (807d500 ) 807d3f4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d3f8: 461a mov r2, r3 807d3fa: 214a movs r1, #74 ; 0x4a 807d3fc: f44f 7083 mov.w r0, #262 ; 0x106 807d400: f7d6 ff7c bl 80542fc LCD_DisplayString(278, LCD_LINE_4, "."); 807d404: 4a40 ldr r2, [pc, #256] ; (807d508 ) 807d406: 214a movs r1, #74 ; 0x4a 807d408: f44f 708b mov.w r0, #278 ; 0x116 807d40c: f7d6 ff76 bl 80542fc LCD_DisplayString(294, LCD_LINE_4, (char *) pNUMS[ikdLP]); 807d410: f897 33c5 ldrb.w r3, [r7, #965] ; 0x3c5 807d414: b2db uxtb r3, r3 807d416: 461a mov r2, r3 807d418: 4b39 ldr r3, [pc, #228] ; (807d500 ) 807d41a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d41e: 461a mov r2, r3 807d420: 214a movs r1, #74 ; 0x4a 807d422: f44f 7093 mov.w r0, #294 ; 0x126 807d426: f7d6 ff69 bl 80542fc 807d42a: e197 b.n 807d75c } else if(menupos == FilterLP_IES) 807d42c: 4b31 ldr r3, [pc, #196] ; (807d4f4 ) 807d42e: 781b ldrb r3, [r3, #0] 807d430: b2db uxtb r3, r3 807d432: 2b21 cmp r3, #33 ; 0x21 807d434: d16a bne.n 807d50c { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807d436: 4930 ldr r1, [pc, #192] ; (807d4f8 ) 807d438: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807d43c: f7d6 f9b6 bl 80537ac if(blk) 807d440: 4b2e ldr r3, [pc, #184] ; (807d4fc ) 807d442: 681b ldr r3, [r3, #0] 807d444: 2b00 cmp r3, #0 807d446: d00b beq.n 807d460 LCD_DisplayString(230, LCD_LINE_4, (char *) pNUMS[iesLP]); 807d448: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 807d44c: b2db uxtb r3, r3 807d44e: 461a mov r2, r3 807d450: 4b2b ldr r3, [pc, #172] ; (807d500 ) 807d452: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d456: 461a mov r2, r3 807d458: 214a movs r1, #74 ; 0x4a 807d45a: 20e6 movs r0, #230 ; 0xe6 807d45c: f7d6 ff4e bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807d460: 4925 ldr r1, [pc, #148] ; (807d4f8 ) 807d462: 4828 ldr r0, [pc, #160] ; (807d504 ) 807d464: f7d6 f9a2 bl 80537ac LCD_DisplayString(198, LCD_LINE_4, (char *) pNUMS[idtLP]); 807d468: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 807d46c: b2db uxtb r3, r3 807d46e: 461a mov r2, r3 807d470: 4b23 ldr r3, [pc, #140] ; (807d500 ) 807d472: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d476: 461a mov r2, r3 807d478: 214a movs r1, #74 ; 0x4a 807d47a: 20c6 movs r0, #198 ; 0xc6 807d47c: f7d6 ff3e bl 80542fc LCD_DisplayString(214, LCD_LINE_4, (char *) pNUMS[ietLP]); 807d480: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 807d484: b2db uxtb r3, r3 807d486: 461a mov r2, r3 807d488: 4b1d ldr r3, [pc, #116] ; (807d500 ) 807d48a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d48e: 461a mov r2, r3 807d490: 214a movs r1, #74 ; 0x4a 807d492: 20d6 movs r0, #214 ; 0xd6 807d494: f7d6 ff32 bl 80542fc LCD_DisplayString(246, LCD_LINE_4, (char *) pNUMS[iedLP]); 807d498: f897 33c7 ldrb.w r3, [r7, #967] ; 0x3c7 807d49c: b2db uxtb r3, r3 807d49e: 461a mov r2, r3 807d4a0: 4b17 ldr r3, [pc, #92] ; (807d500 ) 807d4a2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d4a6: 461a mov r2, r3 807d4a8: 214a movs r1, #74 ; 0x4a 807d4aa: 20f6 movs r0, #246 ; 0xf6 807d4ac: f7d6 ff26 bl 80542fc LCD_DisplayString(262, LCD_LINE_4, (char *) pNUMS[ieeLP]); 807d4b0: f897 33c6 ldrb.w r3, [r7, #966] ; 0x3c6 807d4b4: b2db uxtb r3, r3 807d4b6: 461a mov r2, r3 807d4b8: 4b11 ldr r3, [pc, #68] ; (807d500 ) 807d4ba: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d4be: 461a mov r2, r3 807d4c0: 214a movs r1, #74 ; 0x4a 807d4c2: f44f 7083 mov.w r0, #262 ; 0x106 807d4c6: f7d6 ff19 bl 80542fc LCD_DisplayString(278, LCD_LINE_4, "."); 807d4ca: 4a0f ldr r2, [pc, #60] ; (807d508 ) 807d4cc: 214a movs r1, #74 ; 0x4a 807d4ce: f44f 708b mov.w r0, #278 ; 0x116 807d4d2: f7d6 ff13 bl 80542fc LCD_DisplayString(294, LCD_LINE_4, (char *) pNUMS[ikdLP]); 807d4d6: f897 33c5 ldrb.w r3, [r7, #965] ; 0x3c5 807d4da: b2db uxtb r3, r3 807d4dc: 461a mov r2, r3 807d4de: 4b08 ldr r3, [pc, #32] ; (807d500 ) 807d4e0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d4e4: 461a mov r2, r3 807d4e6: 214a movs r1, #74 ; 0x4a 807d4e8: f44f 7093 mov.w r0, #294 ; 0x126 807d4ec: f7d6 ff06 bl 80542fc 807d4f0: e134 b.n 807d75c 807d4f2: bf00 nop 807d4f4: 20020070 .word 0x20020070 807d4f8: ff0a0f1f .word 0xff0a0f1f 807d4fc: 2002165c .word 0x2002165c 807d500: 20020964 .word 0x20020964 807d504: ffd8aa57 .word 0xffd8aa57 807d508: 080cf7e8 .word 0x080cf7e8 } else if(menupos == FilterLP_IED) 807d50c: 4bc5 ldr r3, [pc, #788] ; (807d824 ) 807d50e: 781b ldrb r3, [r3, #0] 807d510: b2db uxtb r3, r3 807d512: 2b22 cmp r3, #34 ; 0x22 807d514: d15d bne.n 807d5d2 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807d516: 49c4 ldr r1, [pc, #784] ; (807d828 ) 807d518: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807d51c: f7d6 f946 bl 80537ac if(blk) 807d520: 4bc2 ldr r3, [pc, #776] ; (807d82c ) 807d522: 681b ldr r3, [r3, #0] 807d524: 2b00 cmp r3, #0 807d526: d00b beq.n 807d540 LCD_DisplayString(246, LCD_LINE_4, (char *) pNUMS[iedLP]); 807d528: f897 33c7 ldrb.w r3, [r7, #967] ; 0x3c7 807d52c: b2db uxtb r3, r3 807d52e: 461a mov r2, r3 807d530: 4bbf ldr r3, [pc, #764] ; (807d830 ) 807d532: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d536: 461a mov r2, r3 807d538: 214a movs r1, #74 ; 0x4a 807d53a: 20f6 movs r0, #246 ; 0xf6 807d53c: f7d6 fede bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807d540: 49b9 ldr r1, [pc, #740] ; (807d828 ) 807d542: 48bc ldr r0, [pc, #752] ; (807d834 ) 807d544: f7d6 f932 bl 80537ac LCD_DisplayString(198, LCD_LINE_4, (char *) pNUMS[idtLP]); 807d548: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 807d54c: b2db uxtb r3, r3 807d54e: 461a mov r2, r3 807d550: 4bb7 ldr r3, [pc, #732] ; (807d830 ) 807d552: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d556: 461a mov r2, r3 807d558: 214a movs r1, #74 ; 0x4a 807d55a: 20c6 movs r0, #198 ; 0xc6 807d55c: f7d6 fece bl 80542fc LCD_DisplayString(214, LCD_LINE_4, (char *) pNUMS[ietLP]); 807d560: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 807d564: b2db uxtb r3, r3 807d566: 461a mov r2, r3 807d568: 4bb1 ldr r3, [pc, #708] ; (807d830 ) 807d56a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d56e: 461a mov r2, r3 807d570: 214a movs r1, #74 ; 0x4a 807d572: 20d6 movs r0, #214 ; 0xd6 807d574: f7d6 fec2 bl 80542fc LCD_DisplayString(230, LCD_LINE_4, (char *) pNUMS[iesLP]); 807d578: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 807d57c: b2db uxtb r3, r3 807d57e: 461a mov r2, r3 807d580: 4bab ldr r3, [pc, #684] ; (807d830 ) 807d582: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d586: 461a mov r2, r3 807d588: 214a movs r1, #74 ; 0x4a 807d58a: 20e6 movs r0, #230 ; 0xe6 807d58c: f7d6 feb6 bl 80542fc LCD_DisplayString(262, LCD_LINE_4, (char *) pNUMS[ieeLP]); 807d590: f897 33c6 ldrb.w r3, [r7, #966] ; 0x3c6 807d594: b2db uxtb r3, r3 807d596: 461a mov r2, r3 807d598: 4ba5 ldr r3, [pc, #660] ; (807d830 ) 807d59a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d59e: 461a mov r2, r3 807d5a0: 214a movs r1, #74 ; 0x4a 807d5a2: f44f 7083 mov.w r0, #262 ; 0x106 807d5a6: f7d6 fea9 bl 80542fc LCD_DisplayString(278, LCD_LINE_4, "."); 807d5aa: 4aa3 ldr r2, [pc, #652] ; (807d838 ) 807d5ac: 214a movs r1, #74 ; 0x4a 807d5ae: f44f 708b mov.w r0, #278 ; 0x116 807d5b2: f7d6 fea3 bl 80542fc LCD_DisplayString(294, LCD_LINE_4, (char *) pNUMS[ikdLP]); 807d5b6: f897 33c5 ldrb.w r3, [r7, #965] ; 0x3c5 807d5ba: b2db uxtb r3, r3 807d5bc: 461a mov r2, r3 807d5be: 4b9c ldr r3, [pc, #624] ; (807d830 ) 807d5c0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d5c4: 461a mov r2, r3 807d5c6: 214a movs r1, #74 ; 0x4a 807d5c8: f44f 7093 mov.w r0, #294 ; 0x126 807d5cc: f7d6 fe96 bl 80542fc 807d5d0: e0c4 b.n 807d75c } else if(menupos == FilterLP_IEE) 807d5d2: 4b94 ldr r3, [pc, #592] ; (807d824 ) 807d5d4: 781b ldrb r3, [r3, #0] 807d5d6: b2db uxtb r3, r3 807d5d8: 2b23 cmp r3, #35 ; 0x23 807d5da: d15d bne.n 807d698 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807d5dc: 4992 ldr r1, [pc, #584] ; (807d828 ) 807d5de: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807d5e2: f7d6 f8e3 bl 80537ac if(blk) 807d5e6: 4b91 ldr r3, [pc, #580] ; (807d82c ) 807d5e8: 681b ldr r3, [r3, #0] 807d5ea: 2b00 cmp r3, #0 807d5ec: d00c beq.n 807d608 LCD_DisplayString(262, LCD_LINE_4, (char *) pNUMS[ieeLP]); 807d5ee: f897 33c6 ldrb.w r3, [r7, #966] ; 0x3c6 807d5f2: b2db uxtb r3, r3 807d5f4: 461a mov r2, r3 807d5f6: 4b8e ldr r3, [pc, #568] ; (807d830 ) 807d5f8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d5fc: 461a mov r2, r3 807d5fe: 214a movs r1, #74 ; 0x4a 807d600: f44f 7083 mov.w r0, #262 ; 0x106 807d604: f7d6 fe7a bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807d608: 4987 ldr r1, [pc, #540] ; (807d828 ) 807d60a: 488a ldr r0, [pc, #552] ; (807d834 ) 807d60c: f7d6 f8ce bl 80537ac LCD_DisplayString(198, LCD_LINE_4, (char *) pNUMS[idtLP]); 807d610: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 807d614: b2db uxtb r3, r3 807d616: 461a mov r2, r3 807d618: 4b85 ldr r3, [pc, #532] ; (807d830 ) 807d61a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d61e: 461a mov r2, r3 807d620: 214a movs r1, #74 ; 0x4a 807d622: 20c6 movs r0, #198 ; 0xc6 807d624: f7d6 fe6a bl 80542fc LCD_DisplayString(214, LCD_LINE_4, (char *) pNUMS[ietLP]); 807d628: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 807d62c: b2db uxtb r3, r3 807d62e: 461a mov r2, r3 807d630: 4b7f ldr r3, [pc, #508] ; (807d830 ) 807d632: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d636: 461a mov r2, r3 807d638: 214a movs r1, #74 ; 0x4a 807d63a: 20d6 movs r0, #214 ; 0xd6 807d63c: f7d6 fe5e bl 80542fc LCD_DisplayString(230, LCD_LINE_4, (char *) pNUMS[iesLP]); 807d640: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 807d644: b2db uxtb r3, r3 807d646: 461a mov r2, r3 807d648: 4b79 ldr r3, [pc, #484] ; (807d830 ) 807d64a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d64e: 461a mov r2, r3 807d650: 214a movs r1, #74 ; 0x4a 807d652: 20e6 movs r0, #230 ; 0xe6 807d654: f7d6 fe52 bl 80542fc LCD_DisplayString(246, LCD_LINE_4, (char *) pNUMS[iedLP]); 807d658: f897 33c7 ldrb.w r3, [r7, #967] ; 0x3c7 807d65c: b2db uxtb r3, r3 807d65e: 461a mov r2, r3 807d660: 4b73 ldr r3, [pc, #460] ; (807d830 ) 807d662: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d666: 461a mov r2, r3 807d668: 214a movs r1, #74 ; 0x4a 807d66a: 20f6 movs r0, #246 ; 0xf6 807d66c: f7d6 fe46 bl 80542fc LCD_DisplayString(278, LCD_LINE_4, "."); 807d670: 4a71 ldr r2, [pc, #452] ; (807d838 ) 807d672: 214a movs r1, #74 ; 0x4a 807d674: f44f 708b mov.w r0, #278 ; 0x116 807d678: f7d6 fe40 bl 80542fc LCD_DisplayString(294, LCD_LINE_4, (char *) pNUMS[ikdLP]); 807d67c: f897 33c5 ldrb.w r3, [r7, #965] ; 0x3c5 807d680: b2db uxtb r3, r3 807d682: 461a mov r2, r3 807d684: 4b6a ldr r3, [pc, #424] ; (807d830 ) 807d686: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d68a: 461a mov r2, r3 807d68c: 214a movs r1, #74 ; 0x4a 807d68e: f44f 7093 mov.w r0, #294 ; 0x126 807d692: f7d6 fe33 bl 80542fc 807d696: e061 b.n 807d75c } else if(menupos == FilterLP_IKD) 807d698: 4b62 ldr r3, [pc, #392] ; (807d824 ) 807d69a: 781b ldrb r3, [r3, #0] 807d69c: b2db uxtb r3, r3 807d69e: 2b24 cmp r3, #36 ; 0x24 807d6a0: d15c bne.n 807d75c { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807d6a2: 4961 ldr r1, [pc, #388] ; (807d828 ) 807d6a4: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807d6a8: f7d6 f880 bl 80537ac if(blk) 807d6ac: 4b5f ldr r3, [pc, #380] ; (807d82c ) 807d6ae: 681b ldr r3, [r3, #0] 807d6b0: 2b00 cmp r3, #0 807d6b2: d00c beq.n 807d6ce LCD_DisplayString(294, LCD_LINE_4, (char *) pNUMS[ikdLP]); 807d6b4: f897 33c5 ldrb.w r3, [r7, #965] ; 0x3c5 807d6b8: b2db uxtb r3, r3 807d6ba: 461a mov r2, r3 807d6bc: 4b5c ldr r3, [pc, #368] ; (807d830 ) 807d6be: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d6c2: 461a mov r2, r3 807d6c4: 214a movs r1, #74 ; 0x4a 807d6c6: f44f 7093 mov.w r0, #294 ; 0x126 807d6ca: f7d6 fe17 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807d6ce: 4956 ldr r1, [pc, #344] ; (807d828 ) 807d6d0: 4858 ldr r0, [pc, #352] ; (807d834 ) 807d6d2: f7d6 f86b bl 80537ac LCD_DisplayString(198, LCD_LINE_4, (char *) pNUMS[idtLP]); 807d6d6: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 807d6da: b2db uxtb r3, r3 807d6dc: 461a mov r2, r3 807d6de: 4b54 ldr r3, [pc, #336] ; (807d830 ) 807d6e0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d6e4: 461a mov r2, r3 807d6e6: 214a movs r1, #74 ; 0x4a 807d6e8: 20c6 movs r0, #198 ; 0xc6 807d6ea: f7d6 fe07 bl 80542fc LCD_DisplayString(214, LCD_LINE_4, (char *) pNUMS[ietLP]); 807d6ee: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 807d6f2: b2db uxtb r3, r3 807d6f4: 461a mov r2, r3 807d6f6: 4b4e ldr r3, [pc, #312] ; (807d830 ) 807d6f8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d6fc: 461a mov r2, r3 807d6fe: 214a movs r1, #74 ; 0x4a 807d700: 20d6 movs r0, #214 ; 0xd6 807d702: f7d6 fdfb bl 80542fc LCD_DisplayString(230, LCD_LINE_4, (char *) pNUMS[iesLP]); 807d706: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 807d70a: b2db uxtb r3, r3 807d70c: 461a mov r2, r3 807d70e: 4b48 ldr r3, [pc, #288] ; (807d830 ) 807d710: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d714: 461a mov r2, r3 807d716: 214a movs r1, #74 ; 0x4a 807d718: 20e6 movs r0, #230 ; 0xe6 807d71a: f7d6 fdef bl 80542fc LCD_DisplayString(246, LCD_LINE_4, (char *) pNUMS[iedLP]); 807d71e: f897 33c7 ldrb.w r3, [r7, #967] ; 0x3c7 807d722: b2db uxtb r3, r3 807d724: 461a mov r2, r3 807d726: 4b42 ldr r3, [pc, #264] ; (807d830 ) 807d728: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d72c: 461a mov r2, r3 807d72e: 214a movs r1, #74 ; 0x4a 807d730: 20f6 movs r0, #246 ; 0xf6 807d732: f7d6 fde3 bl 80542fc LCD_DisplayString(262, LCD_LINE_4, (char *) pNUMS[ieeLP]); 807d736: f897 33c6 ldrb.w r3, [r7, #966] ; 0x3c6 807d73a: b2db uxtb r3, r3 807d73c: 461a mov r2, r3 807d73e: 4b3c ldr r3, [pc, #240] ; (807d830 ) 807d740: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d744: 461a mov r2, r3 807d746: 214a movs r1, #74 ; 0x4a 807d748: f44f 7083 mov.w r0, #262 ; 0x106 807d74c: f7d6 fdd6 bl 80542fc LCD_DisplayString(278, LCD_LINE_4, "."); 807d750: 4a39 ldr r2, [pc, #228] ; (807d838 ) 807d752: 214a movs r1, #74 ; 0x4a 807d754: f44f 708b mov.w r0, #278 ; 0x116 807d758: f7d6 fdd0 bl 80542fc if(menupos == VibMax_IDT) 807d75c: 4b31 ldr r3, [pc, #196] ; (807d824 ) 807d75e: 781b ldrb r3, [r3, #0] 807d760: b2db uxtb r3, r3 807d762: 2b0b cmp r3, #11 807d764: d16a bne.n 807d83c { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807d766: 4930 ldr r1, [pc, #192] ; (807d828 ) 807d768: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807d76c: f7d6 f81e bl 80537ac if(blk) 807d770: 4b2e ldr r3, [pc, #184] ; (807d82c ) 807d772: 681b ldr r3, [r3, #0] 807d774: 2b00 cmp r3, #0 807d776: d00b beq.n 807d790 LCD_DisplayString(198, LCD_LINE_12, (char *) pNUMS[idt2]); 807d778: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 807d77c: b2db uxtb r3, r3 807d77e: 461a mov r2, r3 807d780: 4b2b ldr r3, [pc, #172] ; (807d830 ) 807d782: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d786: 461a mov r2, r3 807d788: 21ca movs r1, #202 ; 0xca 807d78a: 20c6 movs r0, #198 ; 0xc6 807d78c: f7d6 fdb6 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807d790: 4925 ldr r1, [pc, #148] ; (807d828 ) 807d792: 4828 ldr r0, [pc, #160] ; (807d834 ) 807d794: f7d6 f80a bl 80537ac LCD_DisplayString(214, LCD_LINE_12, (char *) pNUMS[iet2]); 807d798: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 807d79c: b2db uxtb r3, r3 807d79e: 461a mov r2, r3 807d7a0: 4b23 ldr r3, [pc, #140] ; (807d830 ) 807d7a2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d7a6: 461a mov r2, r3 807d7a8: 21ca movs r1, #202 ; 0xca 807d7aa: 20d6 movs r0, #214 ; 0xd6 807d7ac: f7d6 fda6 bl 80542fc LCD_DisplayString(230, LCD_LINE_12, (char *) pNUMS[ies2]); 807d7b0: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 807d7b4: b2db uxtb r3, r3 807d7b6: 461a mov r2, r3 807d7b8: 4b1d ldr r3, [pc, #116] ; (807d830 ) 807d7ba: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d7be: 461a mov r2, r3 807d7c0: 21ca movs r1, #202 ; 0xca 807d7c2: 20e6 movs r0, #230 ; 0xe6 807d7c4: f7d6 fd9a bl 80542fc LCD_DisplayString(246, LCD_LINE_12, (char *) pNUMS[ied2]); 807d7c8: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 807d7cc: b2db uxtb r3, r3 807d7ce: 461a mov r2, r3 807d7d0: 4b17 ldr r3, [pc, #92] ; (807d830 ) 807d7d2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d7d6: 461a mov r2, r3 807d7d8: 21ca movs r1, #202 ; 0xca 807d7da: 20f6 movs r0, #246 ; 0xf6 807d7dc: f7d6 fd8e bl 80542fc LCD_DisplayString(262, LCD_LINE_12, (char *) pNUMS[iee2]); 807d7e0: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 807d7e4: b2db uxtb r3, r3 807d7e6: 461a mov r2, r3 807d7e8: 4b11 ldr r3, [pc, #68] ; (807d830 ) 807d7ea: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d7ee: 461a mov r2, r3 807d7f0: 21ca movs r1, #202 ; 0xca 807d7f2: f44f 7083 mov.w r0, #262 ; 0x106 807d7f6: f7d6 fd81 bl 80542fc LCD_DisplayString(278, LCD_LINE_12, "."); 807d7fa: 4a0f ldr r2, [pc, #60] ; (807d838 ) 807d7fc: 21ca movs r1, #202 ; 0xca 807d7fe: f44f 708b mov.w r0, #278 ; 0x116 807d802: f7d6 fd7b bl 80542fc LCD_DisplayString(294, LCD_LINE_12, (char *) pNUMS[ikd2]); 807d806: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 807d80a: b2db uxtb r3, r3 807d80c: 461a mov r2, r3 807d80e: 4b08 ldr r3, [pc, #32] ; (807d830 ) 807d810: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d814: 461a mov r2, r3 807d816: 21ca movs r1, #202 ; 0xca 807d818: f44f 7093 mov.w r0, #294 ; 0x126 807d81c: f7d6 fd6e bl 80542fc 807d820: e206 b.n 807dc30 807d822: bf00 nop 807d824: 20020070 .word 0x20020070 807d828: ff0a0f1f .word 0xff0a0f1f 807d82c: 2002165c .word 0x2002165c 807d830: 20020964 .word 0x20020964 807d834: ffd8aa57 .word 0xffd8aa57 807d838: 080cf7e8 .word 0x080cf7e8 } else if(menupos == VibMax_IET) 807d83c: 4bc5 ldr r3, [pc, #788] ; (807db54 ) 807d83e: 781b ldrb r3, [r3, #0] 807d840: b2db uxtb r3, r3 807d842: 2b0c cmp r3, #12 807d844: d15d bne.n 807d902 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807d846: 49c4 ldr r1, [pc, #784] ; (807db58 ) 807d848: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807d84c: f7d5 ffae bl 80537ac if(blk) 807d850: 4bc2 ldr r3, [pc, #776] ; (807db5c ) 807d852: 681b ldr r3, [r3, #0] 807d854: 2b00 cmp r3, #0 807d856: d00b beq.n 807d870 LCD_DisplayString(214, LCD_LINE_12, (char *) pNUMS[iet2]); 807d858: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 807d85c: b2db uxtb r3, r3 807d85e: 461a mov r2, r3 807d860: 4bbf ldr r3, [pc, #764] ; (807db60 ) 807d862: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d866: 461a mov r2, r3 807d868: 21ca movs r1, #202 ; 0xca 807d86a: 20d6 movs r0, #214 ; 0xd6 807d86c: f7d6 fd46 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807d870: 49b9 ldr r1, [pc, #740] ; (807db58 ) 807d872: 48bc ldr r0, [pc, #752] ; (807db64 ) 807d874: f7d5 ff9a bl 80537ac LCD_DisplayString(198, LCD_LINE_12, (char *) pNUMS[idt2]); 807d878: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 807d87c: b2db uxtb r3, r3 807d87e: 461a mov r2, r3 807d880: 4bb7 ldr r3, [pc, #732] ; (807db60 ) 807d882: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d886: 461a mov r2, r3 807d888: 21ca movs r1, #202 ; 0xca 807d88a: 20c6 movs r0, #198 ; 0xc6 807d88c: f7d6 fd36 bl 80542fc LCD_DisplayString(230, LCD_LINE_12, (char *) pNUMS[ies2]); 807d890: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 807d894: b2db uxtb r3, r3 807d896: 461a mov r2, r3 807d898: 4bb1 ldr r3, [pc, #708] ; (807db60 ) 807d89a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d89e: 461a mov r2, r3 807d8a0: 21ca movs r1, #202 ; 0xca 807d8a2: 20e6 movs r0, #230 ; 0xe6 807d8a4: f7d6 fd2a bl 80542fc LCD_DisplayString(246, LCD_LINE_12, (char *) pNUMS[ied2]); 807d8a8: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 807d8ac: b2db uxtb r3, r3 807d8ae: 461a mov r2, r3 807d8b0: 4bab ldr r3, [pc, #684] ; (807db60 ) 807d8b2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d8b6: 461a mov r2, r3 807d8b8: 21ca movs r1, #202 ; 0xca 807d8ba: 20f6 movs r0, #246 ; 0xf6 807d8bc: f7d6 fd1e bl 80542fc LCD_DisplayString(262, LCD_LINE_12, (char *) pNUMS[iee2]); 807d8c0: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 807d8c4: b2db uxtb r3, r3 807d8c6: 461a mov r2, r3 807d8c8: 4ba5 ldr r3, [pc, #660] ; (807db60 ) 807d8ca: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d8ce: 461a mov r2, r3 807d8d0: 21ca movs r1, #202 ; 0xca 807d8d2: f44f 7083 mov.w r0, #262 ; 0x106 807d8d6: f7d6 fd11 bl 80542fc LCD_DisplayString(278, LCD_LINE_12, "."); 807d8da: 4aa3 ldr r2, [pc, #652] ; (807db68 ) 807d8dc: 21ca movs r1, #202 ; 0xca 807d8de: f44f 708b mov.w r0, #278 ; 0x116 807d8e2: f7d6 fd0b bl 80542fc LCD_DisplayString(294, LCD_LINE_12, (char *) pNUMS[ikd2]); 807d8e6: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 807d8ea: b2db uxtb r3, r3 807d8ec: 461a mov r2, r3 807d8ee: 4b9c ldr r3, [pc, #624] ; (807db60 ) 807d8f0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d8f4: 461a mov r2, r3 807d8f6: 21ca movs r1, #202 ; 0xca 807d8f8: f44f 7093 mov.w r0, #294 ; 0x126 807d8fc: f7d6 fcfe bl 80542fc 807d900: e196 b.n 807dc30 } else if(menupos == VibMax_IES) 807d902: 4b94 ldr r3, [pc, #592] ; (807db54 ) 807d904: 781b ldrb r3, [r3, #0] 807d906: b2db uxtb r3, r3 807d908: 2b0d cmp r3, #13 807d90a: d15d bne.n 807d9c8 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807d90c: 4992 ldr r1, [pc, #584] ; (807db58 ) 807d90e: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807d912: f7d5 ff4b bl 80537ac if(blk) 807d916: 4b91 ldr r3, [pc, #580] ; (807db5c ) 807d918: 681b ldr r3, [r3, #0] 807d91a: 2b00 cmp r3, #0 807d91c: d00b beq.n 807d936 LCD_DisplayString(230, LCD_LINE_12, (char *) pNUMS[ies2]); 807d91e: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 807d922: b2db uxtb r3, r3 807d924: 461a mov r2, r3 807d926: 4b8e ldr r3, [pc, #568] ; (807db60 ) 807d928: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d92c: 461a mov r2, r3 807d92e: 21ca movs r1, #202 ; 0xca 807d930: 20e6 movs r0, #230 ; 0xe6 807d932: f7d6 fce3 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807d936: 4988 ldr r1, [pc, #544] ; (807db58 ) 807d938: 488a ldr r0, [pc, #552] ; (807db64 ) 807d93a: f7d5 ff37 bl 80537ac LCD_DisplayString(198, LCD_LINE_12, (char *) pNUMS[idt2]); 807d93e: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 807d942: b2db uxtb r3, r3 807d944: 461a mov r2, r3 807d946: 4b86 ldr r3, [pc, #536] ; (807db60 ) 807d948: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d94c: 461a mov r2, r3 807d94e: 21ca movs r1, #202 ; 0xca 807d950: 20c6 movs r0, #198 ; 0xc6 807d952: f7d6 fcd3 bl 80542fc LCD_DisplayString(214, LCD_LINE_12, (char *) pNUMS[iet2]); 807d956: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 807d95a: b2db uxtb r3, r3 807d95c: 461a mov r2, r3 807d95e: 4b80 ldr r3, [pc, #512] ; (807db60 ) 807d960: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d964: 461a mov r2, r3 807d966: 21ca movs r1, #202 ; 0xca 807d968: 20d6 movs r0, #214 ; 0xd6 807d96a: f7d6 fcc7 bl 80542fc LCD_DisplayString(246, LCD_LINE_12, (char *) pNUMS[ied2]); 807d96e: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 807d972: b2db uxtb r3, r3 807d974: 461a mov r2, r3 807d976: 4b7a ldr r3, [pc, #488] ; (807db60 ) 807d978: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d97c: 461a mov r2, r3 807d97e: 21ca movs r1, #202 ; 0xca 807d980: 20f6 movs r0, #246 ; 0xf6 807d982: f7d6 fcbb bl 80542fc LCD_DisplayString(262, LCD_LINE_12, (char *) pNUMS[iee2]); 807d986: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 807d98a: b2db uxtb r3, r3 807d98c: 461a mov r2, r3 807d98e: 4b74 ldr r3, [pc, #464] ; (807db60 ) 807d990: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d994: 461a mov r2, r3 807d996: 21ca movs r1, #202 ; 0xca 807d998: f44f 7083 mov.w r0, #262 ; 0x106 807d99c: f7d6 fcae bl 80542fc LCD_DisplayString(278, LCD_LINE_12, "."); 807d9a0: 4a71 ldr r2, [pc, #452] ; (807db68 ) 807d9a2: 21ca movs r1, #202 ; 0xca 807d9a4: f44f 708b mov.w r0, #278 ; 0x116 807d9a8: f7d6 fca8 bl 80542fc LCD_DisplayString(294, LCD_LINE_12, (char *) pNUMS[ikd2]); 807d9ac: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 807d9b0: b2db uxtb r3, r3 807d9b2: 461a mov r2, r3 807d9b4: 4b6a ldr r3, [pc, #424] ; (807db60 ) 807d9b6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d9ba: 461a mov r2, r3 807d9bc: 21ca movs r1, #202 ; 0xca 807d9be: f44f 7093 mov.w r0, #294 ; 0x126 807d9c2: f7d6 fc9b bl 80542fc 807d9c6: e133 b.n 807dc30 } else if(menupos == VibMax_IED) 807d9c8: 4b62 ldr r3, [pc, #392] ; (807db54 ) 807d9ca: 781b ldrb r3, [r3, #0] 807d9cc: b2db uxtb r3, r3 807d9ce: 2b0e cmp r3, #14 807d9d0: d15d bne.n 807da8e { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807d9d2: 4961 ldr r1, [pc, #388] ; (807db58 ) 807d9d4: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807d9d8: f7d5 fee8 bl 80537ac if(blk) 807d9dc: 4b5f ldr r3, [pc, #380] ; (807db5c ) 807d9de: 681b ldr r3, [r3, #0] 807d9e0: 2b00 cmp r3, #0 807d9e2: d00b beq.n 807d9fc LCD_DisplayString(246, LCD_LINE_12, (char *) pNUMS[ied2]); 807d9e4: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 807d9e8: b2db uxtb r3, r3 807d9ea: 461a mov r2, r3 807d9ec: 4b5c ldr r3, [pc, #368] ; (807db60 ) 807d9ee: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d9f2: 461a mov r2, r3 807d9f4: 21ca movs r1, #202 ; 0xca 807d9f6: 20f6 movs r0, #246 ; 0xf6 807d9f8: f7d6 fc80 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807d9fc: 4956 ldr r1, [pc, #344] ; (807db58 ) 807d9fe: 4859 ldr r0, [pc, #356] ; (807db64 ) 807da00: f7d5 fed4 bl 80537ac LCD_DisplayString(198, LCD_LINE_12, (char *) pNUMS[idt2]); 807da04: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 807da08: b2db uxtb r3, r3 807da0a: 461a mov r2, r3 807da0c: 4b54 ldr r3, [pc, #336] ; (807db60 ) 807da0e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807da12: 461a mov r2, r3 807da14: 21ca movs r1, #202 ; 0xca 807da16: 20c6 movs r0, #198 ; 0xc6 807da18: f7d6 fc70 bl 80542fc LCD_DisplayString(214, LCD_LINE_12, (char *) pNUMS[iet2]); 807da1c: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 807da20: b2db uxtb r3, r3 807da22: 461a mov r2, r3 807da24: 4b4e ldr r3, [pc, #312] ; (807db60 ) 807da26: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807da2a: 461a mov r2, r3 807da2c: 21ca movs r1, #202 ; 0xca 807da2e: 20d6 movs r0, #214 ; 0xd6 807da30: f7d6 fc64 bl 80542fc LCD_DisplayString(230, LCD_LINE_12, (char *) pNUMS[ies2]); 807da34: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 807da38: b2db uxtb r3, r3 807da3a: 461a mov r2, r3 807da3c: 4b48 ldr r3, [pc, #288] ; (807db60 ) 807da3e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807da42: 461a mov r2, r3 807da44: 21ca movs r1, #202 ; 0xca 807da46: 20e6 movs r0, #230 ; 0xe6 807da48: f7d6 fc58 bl 80542fc LCD_DisplayString(262, LCD_LINE_12, (char *) pNUMS[iee2]); 807da4c: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 807da50: b2db uxtb r3, r3 807da52: 461a mov r2, r3 807da54: 4b42 ldr r3, [pc, #264] ; (807db60 ) 807da56: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807da5a: 461a mov r2, r3 807da5c: 21ca movs r1, #202 ; 0xca 807da5e: f44f 7083 mov.w r0, #262 ; 0x106 807da62: f7d6 fc4b bl 80542fc LCD_DisplayString(278, LCD_LINE_12, "."); 807da66: 4a40 ldr r2, [pc, #256] ; (807db68 ) 807da68: 21ca movs r1, #202 ; 0xca 807da6a: f44f 708b mov.w r0, #278 ; 0x116 807da6e: f7d6 fc45 bl 80542fc LCD_DisplayString(294, LCD_LINE_12, (char *) pNUMS[ikd2]); 807da72: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 807da76: b2db uxtb r3, r3 807da78: 461a mov r2, r3 807da7a: 4b39 ldr r3, [pc, #228] ; (807db60 ) 807da7c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807da80: 461a mov r2, r3 807da82: 21ca movs r1, #202 ; 0xca 807da84: f44f 7093 mov.w r0, #294 ; 0x126 807da88: f7d6 fc38 bl 80542fc 807da8c: e0d0 b.n 807dc30 } else if(menupos == VibMax_IEE) 807da8e: 4b31 ldr r3, [pc, #196] ; (807db54 ) 807da90: 781b ldrb r3, [r3, #0] 807da92: b2db uxtb r3, r3 807da94: 2b0f cmp r3, #15 807da96: d169 bne.n 807db6c { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807da98: 492f ldr r1, [pc, #188] ; (807db58 ) 807da9a: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807da9e: f7d5 fe85 bl 80537ac if(blk) 807daa2: 4b2e ldr r3, [pc, #184] ; (807db5c ) 807daa4: 681b ldr r3, [r3, #0] 807daa6: 2b00 cmp r3, #0 807daa8: d00c beq.n 807dac4 LCD_DisplayString(262, LCD_LINE_12, (char *) pNUMS[iee2]); 807daaa: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 807daae: b2db uxtb r3, r3 807dab0: 461a mov r2, r3 807dab2: 4b2b ldr r3, [pc, #172] ; (807db60 ) 807dab4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807dab8: 461a mov r2, r3 807daba: 21ca movs r1, #202 ; 0xca 807dabc: f44f 7083 mov.w r0, #262 ; 0x106 807dac0: f7d6 fc1c bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807dac4: 4924 ldr r1, [pc, #144] ; (807db58 ) 807dac6: 4827 ldr r0, [pc, #156] ; (807db64 ) 807dac8: f7d5 fe70 bl 80537ac LCD_DisplayString(198, LCD_LINE_12, (char *) pNUMS[idt2]); 807dacc: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 807dad0: b2db uxtb r3, r3 807dad2: 461a mov r2, r3 807dad4: 4b22 ldr r3, [pc, #136] ; (807db60 ) 807dad6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807dada: 461a mov r2, r3 807dadc: 21ca movs r1, #202 ; 0xca 807dade: 20c6 movs r0, #198 ; 0xc6 807dae0: f7d6 fc0c bl 80542fc LCD_DisplayString(214, LCD_LINE_12, (char *) pNUMS[iet2]); 807dae4: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 807dae8: b2db uxtb r3, r3 807daea: 461a mov r2, r3 807daec: 4b1c ldr r3, [pc, #112] ; (807db60 ) 807daee: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807daf2: 461a mov r2, r3 807daf4: 21ca movs r1, #202 ; 0xca 807daf6: 20d6 movs r0, #214 ; 0xd6 807daf8: f7d6 fc00 bl 80542fc LCD_DisplayString(230, LCD_LINE_12, (char *) pNUMS[ies2]); 807dafc: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 807db00: b2db uxtb r3, r3 807db02: 461a mov r2, r3 807db04: 4b16 ldr r3, [pc, #88] ; (807db60 ) 807db06: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807db0a: 461a mov r2, r3 807db0c: 21ca movs r1, #202 ; 0xca 807db0e: 20e6 movs r0, #230 ; 0xe6 807db10: f7d6 fbf4 bl 80542fc LCD_DisplayString(246, LCD_LINE_12, (char *) pNUMS[ied2]); 807db14: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 807db18: b2db uxtb r3, r3 807db1a: 461a mov r2, r3 807db1c: 4b10 ldr r3, [pc, #64] ; (807db60 ) 807db1e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807db22: 461a mov r2, r3 807db24: 21ca movs r1, #202 ; 0xca 807db26: 20f6 movs r0, #246 ; 0xf6 807db28: f7d6 fbe8 bl 80542fc LCD_DisplayString(278, LCD_LINE_12, "."); 807db2c: 4a0e ldr r2, [pc, #56] ; (807db68 ) 807db2e: 21ca movs r1, #202 ; 0xca 807db30: f44f 708b mov.w r0, #278 ; 0x116 807db34: f7d6 fbe2 bl 80542fc LCD_DisplayString(294, LCD_LINE_12, (char *) pNUMS[ikd2]); 807db38: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 807db3c: b2db uxtb r3, r3 807db3e: 461a mov r2, r3 807db40: 4b07 ldr r3, [pc, #28] ; (807db60 ) 807db42: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807db46: 461a mov r2, r3 807db48: 21ca movs r1, #202 ; 0xca 807db4a: f44f 7093 mov.w r0, #294 ; 0x126 807db4e: f7d6 fbd5 bl 80542fc 807db52: e06d b.n 807dc30 807db54: 20020070 .word 0x20020070 807db58: ff0a0f1f .word 0xff0a0f1f 807db5c: 2002165c .word 0x2002165c 807db60: 20020964 .word 0x20020964 807db64: ffd8aa57 .word 0xffd8aa57 807db68: 080cf7e8 .word 0x080cf7e8 } else if(menupos == VibMax_IKD) 807db6c: 4b4d ldr r3, [pc, #308] ; (807dca4 ) 807db6e: 781b ldrb r3, [r3, #0] 807db70: b2db uxtb r3, r3 807db72: 2b10 cmp r3, #16 807db74: d15c bne.n 807dc30 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807db76: 494c ldr r1, [pc, #304] ; (807dca8 ) 807db78: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807db7c: f7d5 fe16 bl 80537ac if(blk) 807db80: 4b4a ldr r3, [pc, #296] ; (807dcac ) 807db82: 681b ldr r3, [r3, #0] 807db84: 2b00 cmp r3, #0 807db86: d00c beq.n 807dba2 LCD_DisplayString(294, LCD_LINE_12, (char *) pNUMS[ikd2]); 807db88: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 807db8c: b2db uxtb r3, r3 807db8e: 461a mov r2, r3 807db90: 4b47 ldr r3, [pc, #284] ; (807dcb0 ) 807db92: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807db96: 461a mov r2, r3 807db98: 21ca movs r1, #202 ; 0xca 807db9a: f44f 7093 mov.w r0, #294 ; 0x126 807db9e: f7d6 fbad bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807dba2: 4941 ldr r1, [pc, #260] ; (807dca8 ) 807dba4: 4843 ldr r0, [pc, #268] ; (807dcb4 ) 807dba6: f7d5 fe01 bl 80537ac LCD_DisplayString(198, LCD_LINE_12, (char *) pNUMS[idt2]); 807dbaa: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 807dbae: b2db uxtb r3, r3 807dbb0: 461a mov r2, r3 807dbb2: 4b3f ldr r3, [pc, #252] ; (807dcb0 ) 807dbb4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807dbb8: 461a mov r2, r3 807dbba: 21ca movs r1, #202 ; 0xca 807dbbc: 20c6 movs r0, #198 ; 0xc6 807dbbe: f7d6 fb9d bl 80542fc LCD_DisplayString(214, LCD_LINE_12, (char *) pNUMS[iet2]); 807dbc2: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 807dbc6: b2db uxtb r3, r3 807dbc8: 461a mov r2, r3 807dbca: 4b39 ldr r3, [pc, #228] ; (807dcb0 ) 807dbcc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807dbd0: 461a mov r2, r3 807dbd2: 21ca movs r1, #202 ; 0xca 807dbd4: 20d6 movs r0, #214 ; 0xd6 807dbd6: f7d6 fb91 bl 80542fc LCD_DisplayString(230, LCD_LINE_12, (char *) pNUMS[ies2]); 807dbda: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 807dbde: b2db uxtb r3, r3 807dbe0: 461a mov r2, r3 807dbe2: 4b33 ldr r3, [pc, #204] ; (807dcb0 ) 807dbe4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807dbe8: 461a mov r2, r3 807dbea: 21ca movs r1, #202 ; 0xca 807dbec: 20e6 movs r0, #230 ; 0xe6 807dbee: f7d6 fb85 bl 80542fc LCD_DisplayString(246, LCD_LINE_12, (char *) pNUMS[ied2]); 807dbf2: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 807dbf6: b2db uxtb r3, r3 807dbf8: 461a mov r2, r3 807dbfa: 4b2d ldr r3, [pc, #180] ; (807dcb0 ) 807dbfc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807dc00: 461a mov r2, r3 807dc02: 21ca movs r1, #202 ; 0xca 807dc04: 20f6 movs r0, #246 ; 0xf6 807dc06: f7d6 fb79 bl 80542fc LCD_DisplayString(262, LCD_LINE_12, (char *) pNUMS[iee2]); 807dc0a: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 807dc0e: b2db uxtb r3, r3 807dc10: 461a mov r2, r3 807dc12: 4b27 ldr r3, [pc, #156] ; (807dcb0 ) 807dc14: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807dc18: 461a mov r2, r3 807dc1a: 21ca movs r1, #202 ; 0xca 807dc1c: f44f 7083 mov.w r0, #262 ; 0x106 807dc20: f7d6 fb6c bl 80542fc LCD_DisplayString(278, LCD_LINE_12, "."); 807dc24: 4a24 ldr r2, [pc, #144] ; (807dcb8 ) 807dc26: 21ca movs r1, #202 ; 0xca 807dc28: f44f 708b mov.w r0, #278 ; 0x116 807dc2c: f7d6 fb66 bl 80542fc } } if(pardata.OPTIONS & BIT0) // Åñëè Ìåäèàíà âêë 807dc30: 4b22 ldr r3, [pc, #136] ; (807dcbc ) 807dc32: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 807dc36: f003 0301 and.w r3, r3, #1 807dc3a: 2b00 cmp r3, #0 807dc3c: d00a beq.n 807dc54 { LCD_SetColors(LCD_COLOR_DARKGRAY, LCD_COLOR_BLACK); 807dc3e: 491a ldr r1, [pc, #104] ; (807dca8 ) 807dc40: 481f ldr r0, [pc, #124] ; (807dcc0 ) 807dc42: f7d5 fdb3 bl 80537ac BSP_LCD_FillRect(257, 159, 6, 6); 807dc46: 2306 movs r3, #6 807dc48: 2206 movs r2, #6 807dc4a: 219f movs r1, #159 ; 0x9f 807dc4c: f240 1001 movw r0, #257 ; 0x101 807dc50: f7d6 fa3a bl 80540c8 /*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) // Åñëè àâòîóñèëåíèå 807dc54: 4b19 ldr r3, [pc, #100] ; (807dcbc ) 807dc56: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 807dc5a: f003 0304 and.w r3, r3, #4 807dc5e: 2b00 cmp r3, #0 807dc60: d00a beq.n 807dc78 { LCD_SetColors(LCD_COLOR_DARKGRAY, LCD_COLOR_BLACK); 807dc62: 4911 ldr r1, [pc, #68] ; (807dca8 ) 807dc64: 4816 ldr r0, [pc, #88] ; (807dcc0 ) 807dc66: f7d5 fda1 bl 80537ac BSP_LCD_FillRect(257, 191, 6, 6); 807dc6a: 2306 movs r3, #6 807dc6c: 2206 movs r2, #6 807dc6e: 21bf movs r1, #191 ; 0xbf 807dc70: f240 1001 movw r0, #257 ; 0x101 807dc74: f7d6 fa28 bl 80540c8 /*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) // Åñëè îòîáðàæàòü ÷àñòîòó 807dc78: 4b10 ldr r3, [pc, #64] ; (807dcbc ) 807dc7a: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 807dc7e: f003 0308 and.w r3, r3, #8 807dc82: 2b00 cmp r3, #0 807dc84: f019 849b beq.w 80975be { LCD_SetColors(LCD_COLOR_DARKGRAY, LCD_COLOR_BLACK); 807dc88: 4907 ldr r1, [pc, #28] ; (807dca8 ) 807dc8a: 480d ldr r0, [pc, #52] ; (807dcc0 ) 807dc8c: f7d5 fd8e bl 80537ac BSP_LCD_FillRect(257, 175, 6, 6); 807dc90: 2306 movs r3, #6 807dc92: 2206 movs r2, #6 807dc94: 21af movs r1, #175 ; 0xaf 807dc96: f240 1001 movw r0, #257 ; 0x101 807dc9a: f7d6 fa15 bl 80540c8 BSP_LCD_DrawLine(256, 177, 259, 182); BSP_LCD_DrawLine(260, 182, 264, 174); BSP_LCD_DrawLine(259, 182, 263, 174);*/ } break; 807dc9e: f019 bc8e b.w 80975be 807dca2: bf00 nop 807dca4: 20020070 .word 0x20020070 807dca8: ff0a0f1f .word 0xff0a0f1f 807dcac: 2002165c .word 0x2002165c 807dcb0: 20020964 .word 0x20020964 807dcb4: ffd8aa57 .word 0xffd8aa57 807dcb8: 080cf7e8 .word 0x080cf7e8 807dcbc: 20023e60 .word 0x20023e60 807dcc0: ff404040 .word 0xff404040 case PARAM_UDAR: //TODO PARAM UDAR LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 807dcc4: 49d2 ldr r1, [pc, #840] ; (807e010 ) 807dcc6: 48d3 ldr r0, [pc, #844] ; (807e014 ) 807dcc8: f7d5 fd70 bl 80537ac BSP_LCD_DrawRect(2, 35, 314, 201); 807dccc: 23c9 movs r3, #201 ; 0xc9 807dcce: f44f 729d mov.w r2, #314 ; 0x13a 807dcd2: 2123 movs r1, #35 ; 0x23 807dcd4: 2002 movs r0, #2 807dcd6: f7d6 f86f bl 8053db8 str[i++] = ied2 + 48; str[i++] = iee2 + 48; str[i++] = '.'; str[i++] = ikd2 + 48;*/ ////////////////////////////////////////////////////////////////// k = (uint32_t) (pardata.D_INNER * 1000.0f); 807dcda: 4bcf ldr r3, [pc, #828] ; (807e018 ) 807dcdc: edd3 7a32 vldr s15, [r3, #200] ; 0xc8 807dce0: ed9f 7ace vldr s14, [pc, #824] ; 807e01c 807dce4: ee67 7a87 vmul.f32 s15, s15, s14 807dce8: eefc 7ae7 vcvt.u32.f32 s15, s15 807dcec: ee17 3a90 vmov r3, s15 807dcf0: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 inner_ies = k / 100000; 807dcf4: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 807dcf8: 095b lsrs r3, r3, #5 807dcfa: 4ac9 ldr r2, [pc, #804] ; (807e020 ) 807dcfc: fba2 2303 umull r2, r3, r2, r3 807dd00: 09db lsrs r3, r3, #7 807dd02: b2db uxtb r3, r3 807dd04: f887 33a3 strb.w r3, [r7, #931] ; 0x3a3 inner_ied = k % 100000 / 10000; 807dd08: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 807dd0c: 0953 lsrs r3, r2, #5 807dd0e: 49c4 ldr r1, [pc, #784] ; (807e020 ) 807dd10: fba1 1303 umull r1, r3, r1, r3 807dd14: 09db lsrs r3, r3, #7 807dd16: 49c3 ldr r1, [pc, #780] ; (807e024 ) 807dd18: fb01 f303 mul.w r3, r1, r3 807dd1c: 1ad3 subs r3, r2, r3 807dd1e: 4ac2 ldr r2, [pc, #776] ; (807e028 ) 807dd20: fba2 2303 umull r2, r3, r2, r3 807dd24: 0b5b lsrs r3, r3, #13 807dd26: b2db uxtb r3, r3 807dd28: f887 33a2 strb.w r3, [r7, #930] ; 0x3a2 inner_iee = k % 100000 % 10000 / 1000; 807dd2c: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 807dd30: 0953 lsrs r3, r2, #5 807dd32: 49bb ldr r1, [pc, #748] ; (807e020 ) 807dd34: fba1 1303 umull r1, r3, r1, r3 807dd38: 09db lsrs r3, r3, #7 807dd3a: 49ba ldr r1, [pc, #744] ; (807e024 ) 807dd3c: fb01 f303 mul.w r3, r1, r3 807dd40: 1ad3 subs r3, r2, r3 807dd42: 4ab9 ldr r2, [pc, #740] ; (807e028 ) 807dd44: fba2 1203 umull r1, r2, r2, r3 807dd48: 0b52 lsrs r2, r2, #13 807dd4a: f242 7110 movw r1, #10000 ; 0x2710 807dd4e: fb01 f202 mul.w r2, r1, r2 807dd52: 1a9a subs r2, r3, r2 807dd54: 4bb5 ldr r3, [pc, #724] ; (807e02c ) 807dd56: fba3 2302 umull r2, r3, r3, r2 807dd5a: 099b lsrs r3, r3, #6 807dd5c: b2db uxtb r3, r3 807dd5e: f887 33a1 strb.w r3, [r7, #929] ; 0x3a1 inner_ikd = k % 100000 % 10000 % 1000 / 100; 807dd62: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 807dd66: 095a lsrs r2, r3, #5 807dd68: 49ad ldr r1, [pc, #692] ; (807e020 ) 807dd6a: fba1 1202 umull r1, r2, r1, r2 807dd6e: 09d2 lsrs r2, r2, #7 807dd70: 49ac ldr r1, [pc, #688] ; (807e024 ) 807dd72: fb01 f202 mul.w r2, r1, r2 807dd76: 1a9a subs r2, r3, r2 807dd78: 4bab ldr r3, [pc, #684] ; (807e028 ) 807dd7a: fba3 1302 umull r1, r3, r3, r2 807dd7e: 0b5b lsrs r3, r3, #13 807dd80: f242 7110 movw r1, #10000 ; 0x2710 807dd84: fb01 f303 mul.w r3, r1, r3 807dd88: 1ad3 subs r3, r2, r3 807dd8a: 4aa8 ldr r2, [pc, #672] ; (807e02c ) 807dd8c: fba2 1203 umull r1, r2, r2, r3 807dd90: 0992 lsrs r2, r2, #6 807dd92: f44f 717a mov.w r1, #1000 ; 0x3e8 807dd96: fb01 f202 mul.w r2, r1, r2 807dd9a: 1a9a subs r2, r3, r2 807dd9c: 4ba4 ldr r3, [pc, #656] ; (807e030 ) 807dd9e: fba3 2302 umull r2, r3, r3, r2 807dda2: 095b lsrs r3, r3, #5 807dda4: b2db uxtb r3, r3 807dda6: f887 33a0 strb.w r3, [r7, #928] ; 0x3a0 inner_iks = k % 100000 % 10000 % 1000 % 100 / 10; 807ddaa: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 807ddae: 0953 lsrs r3, r2, #5 807ddb0: 499b ldr r1, [pc, #620] ; (807e020 ) 807ddb2: fba1 1303 umull r1, r3, r1, r3 807ddb6: 09db lsrs r3, r3, #7 807ddb8: 499a ldr r1, [pc, #616] ; (807e024 ) 807ddba: fb01 f303 mul.w r3, r1, r3 807ddbe: 1ad3 subs r3, r2, r3 807ddc0: 4a99 ldr r2, [pc, #612] ; (807e028 ) 807ddc2: fba2 1203 umull r1, r2, r2, r3 807ddc6: 0b52 lsrs r2, r2, #13 807ddc8: f242 7110 movw r1, #10000 ; 0x2710 807ddcc: fb01 f202 mul.w r2, r1, r2 807ddd0: 1a9a subs r2, r3, r2 807ddd2: 4b96 ldr r3, [pc, #600] ; (807e02c ) 807ddd4: fba3 1302 umull r1, r3, r3, r2 807ddd8: 099b lsrs r3, r3, #6 807ddda: f44f 717a mov.w r1, #1000 ; 0x3e8 807ddde: fb01 f303 mul.w r3, r1, r3 807dde2: 1ad3 subs r3, r2, r3 807dde4: 4a92 ldr r2, [pc, #584] ; (807e030 ) 807dde6: fba2 1203 umull r1, r2, r2, r3 807ddea: 0952 lsrs r2, r2, #5 807ddec: 2164 movs r1, #100 ; 0x64 807ddee: fb01 f202 mul.w r2, r1, r2 807ddf2: 1a9a subs r2, r3, r2 807ddf4: 4b8f ldr r3, [pc, #572] ; (807e034 ) 807ddf6: fba3 2302 umull r2, r3, r3, r2 807ddfa: 08db lsrs r3, r3, #3 807ddfc: b2db uxtb r3, r3 807ddfe: f887 339f strb.w r3, [r7, #927] ; 0x39f inner_ikt = k % 100000 % 10000 % 1000 % 100 % 10; 807de02: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 807de06: 0953 lsrs r3, r2, #5 807de08: 4985 ldr r1, [pc, #532] ; (807e020 ) 807de0a: fba1 1303 umull r1, r3, r1, r3 807de0e: 09db lsrs r3, r3, #7 807de10: 4984 ldr r1, [pc, #528] ; (807e024 ) 807de12: fb01 f303 mul.w r3, r1, r3 807de16: 1ad3 subs r3, r2, r3 807de18: 4a83 ldr r2, [pc, #524] ; (807e028 ) 807de1a: fba2 1203 umull r1, r2, r2, r3 807de1e: 0b52 lsrs r2, r2, #13 807de20: f242 7110 movw r1, #10000 ; 0x2710 807de24: fb01 f202 mul.w r2, r1, r2 807de28: 1a9a subs r2, r3, r2 807de2a: 4b80 ldr r3, [pc, #512] ; (807e02c ) 807de2c: fba3 1302 umull r1, r3, r3, r2 807de30: 099b lsrs r3, r3, #6 807de32: f44f 717a mov.w r1, #1000 ; 0x3e8 807de36: fb01 f303 mul.w r3, r1, r3 807de3a: 1ad3 subs r3, r2, r3 807de3c: 4a7c ldr r2, [pc, #496] ; (807e030 ) 807de3e: fba2 1203 umull r1, r2, r2, r3 807de42: 0952 lsrs r2, r2, #5 807de44: 2164 movs r1, #100 ; 0x64 807de46: fb01 f202 mul.w r2, r1, r2 807de4a: 1a9a subs r2, r3, r2 807de4c: 4b79 ldr r3, [pc, #484] ; (807e034 ) 807de4e: fba3 1302 umull r1, r3, r3, r2 807de52: 08d9 lsrs r1, r3, #3 807de54: 460b mov r3, r1 807de56: 009b lsls r3, r3, #2 807de58: 440b add r3, r1 807de5a: 005b lsls r3, r3, #1 807de5c: 1ad1 subs r1, r2, r3 807de5e: b2cb uxtb r3, r1 807de60: f887 339e strb.w r3, [r7, #926] ; 0x39e i = 0; 807de64: 2300 movs r3, #0 807de66: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 memset(str_inner, 0, sizeof(str_inner)); 807de6a: f507 7354 add.w r3, r7, #848 ; 0x350 807de6e: 2214 movs r2, #20 807de70: 2100 movs r1, #0 807de72: 4618 mov r0, r3 807de74: f04f f8e8 bl 80cd048 if(inner_ies != 0) 807de78: f897 33a3 ldrb.w r3, [r7, #931] ; 0x3a3 807de7c: b2db uxtb r3, r3 807de7e: 2b00 cmp r3, #0 807de80: d00c beq.n 807de9c str_inner[i++] = inner_ies + 48; 807de82: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807de86: 1c5a adds r2, r3, #1 807de88: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807de8c: f897 23a3 ldrb.w r2, [r7, #931] ; 0x3a3 807de90: b2d2 uxtb r2, r2 807de92: 3230 adds r2, #48 ; 0x30 807de94: b2d1 uxtb r1, r2 807de96: f507 7254 add.w r2, r7, #848 ; 0x350 807de9a: 54d1 strb r1, [r2, r3] if((inner_ies != 0) || (inner_ied != 0)) 807de9c: f897 33a3 ldrb.w r3, [r7, #931] ; 0x3a3 807dea0: b2db uxtb r3, r3 807dea2: 2b00 cmp r3, #0 807dea4: d104 bne.n 807deb0 807dea6: f897 33a2 ldrb.w r3, [r7, #930] ; 0x3a2 807deaa: b2db uxtb r3, r3 807deac: 2b00 cmp r3, #0 807deae: d00c beq.n 807deca str_inner[i++] = inner_ied + 48; 807deb0: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807deb4: 1c5a adds r2, r3, #1 807deb6: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807deba: f897 23a2 ldrb.w r2, [r7, #930] ; 0x3a2 807debe: b2d2 uxtb r2, r2 807dec0: 3230 adds r2, #48 ; 0x30 807dec2: b2d1 uxtb r1, r2 807dec4: f507 7254 add.w r2, r7, #848 ; 0x350 807dec8: 54d1 strb r1, [r2, r3] str_inner[i++] = inner_iee + 48; 807deca: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807dece: 1c5a adds r2, r3, #1 807ded0: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807ded4: f897 23a1 ldrb.w r2, [r7, #929] ; 0x3a1 807ded8: b2d2 uxtb r2, r2 807deda: 3230 adds r2, #48 ; 0x30 807dedc: b2d1 uxtb r1, r2 807dede: f507 7254 add.w r2, r7, #848 ; 0x350 807dee2: 54d1 strb r1, [r2, r3] str_inner[i++] = '.'; 807dee4: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807dee8: 1c5a adds r2, r3, #1 807deea: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807deee: f507 7254 add.w r2, r7, #848 ; 0x350 807def2: 212e movs r1, #46 ; 0x2e 807def4: 54d1 strb r1, [r2, r3] str_inner[i++] = inner_ikd + 48; 807def6: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807defa: 1c5a adds r2, r3, #1 807defc: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807df00: f897 23a0 ldrb.w r2, [r7, #928] ; 0x3a0 807df04: b2d2 uxtb r2, r2 807df06: 3230 adds r2, #48 ; 0x30 807df08: b2d1 uxtb r1, r2 807df0a: f507 7254 add.w r2, r7, #848 ; 0x350 807df0e: 54d1 strb r1, [r2, r3] str_inner[i++] = inner_iks + 48; 807df10: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807df14: 1c5a adds r2, r3, #1 807df16: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807df1a: f897 239f ldrb.w r2, [r7, #927] ; 0x39f 807df1e: b2d2 uxtb r2, r2 807df20: 3230 adds r2, #48 ; 0x30 807df22: b2d1 uxtb r1, r2 807df24: f507 7254 add.w r2, r7, #848 ; 0x350 807df28: 54d1 strb r1, [r2, r3] str_inner[i++] = inner_ikt + 48; 807df2a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807df2e: 1c5a adds r2, r3, #1 807df30: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807df34: f897 239e ldrb.w r2, [r7, #926] ; 0x39e 807df38: b2d2 uxtb r2, r2 807df3a: 3230 adds r2, #48 ; 0x30 807df3c: b2d1 uxtb r1, r2 807df3e: f507 7254 add.w r2, r7, #848 ; 0x350 807df42: 54d1 strb r1, [r2, r3] ////////////////////////////////////////////////////////////////// k = pardata.D_RATE; 807df44: 4b34 ldr r3, [pc, #208] ; (807e018 ) 807df46: f8d3 30d0 ldr.w r3, [r3, #208] ; 0xd0 807df4a: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 rate_iet = k / 1000; 807df4e: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 807df52: 4a36 ldr r2, [pc, #216] ; (807e02c ) 807df54: fba2 2303 umull r2, r3, r2, r3 807df58: 099b lsrs r3, r3, #6 807df5a: b2db uxtb r3, r3 807df5c: f887 3394 strb.w r3, [r7, #916] ; 0x394 rate_ies = k % 1000 / 100; 807df60: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 807df64: 4b31 ldr r3, [pc, #196] ; (807e02c ) 807df66: fba3 1302 umull r1, r3, r3, r2 807df6a: 099b lsrs r3, r3, #6 807df6c: f44f 717a mov.w r1, #1000 ; 0x3e8 807df70: fb01 f303 mul.w r3, r1, r3 807df74: 1ad3 subs r3, r2, r3 807df76: 4a2e ldr r2, [pc, #184] ; (807e030 ) 807df78: fba2 2303 umull r2, r3, r2, r3 807df7c: 095b lsrs r3, r3, #5 807df7e: b2db uxtb r3, r3 807df80: f887 3393 strb.w r3, [r7, #915] ; 0x393 rate_ied = k % 1000 % 100 / 10; 807df84: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 807df88: 4b28 ldr r3, [pc, #160] ; (807e02c ) 807df8a: fba3 1302 umull r1, r3, r3, r2 807df8e: 099b lsrs r3, r3, #6 807df90: f44f 717a mov.w r1, #1000 ; 0x3e8 807df94: fb01 f303 mul.w r3, r1, r3 807df98: 1ad3 subs r3, r2, r3 807df9a: 4a25 ldr r2, [pc, #148] ; (807e030 ) 807df9c: fba2 1203 umull r1, r2, r2, r3 807dfa0: 0952 lsrs r2, r2, #5 807dfa2: 2164 movs r1, #100 ; 0x64 807dfa4: fb01 f202 mul.w r2, r1, r2 807dfa8: 1a9a subs r2, r3, r2 807dfaa: 4b22 ldr r3, [pc, #136] ; (807e034 ) 807dfac: fba3 2302 umull r2, r3, r3, r2 807dfb0: 08db lsrs r3, r3, #3 807dfb2: b2db uxtb r3, r3 807dfb4: f887 3392 strb.w r3, [r7, #914] ; 0x392 rate_iee = k % 1000 % 100 % 10; 807dfb8: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 807dfbc: 4b1b ldr r3, [pc, #108] ; (807e02c ) 807dfbe: fba3 1302 umull r1, r3, r3, r2 807dfc2: 099b lsrs r3, r3, #6 807dfc4: f44f 717a mov.w r1, #1000 ; 0x3e8 807dfc8: fb01 f303 mul.w r3, r1, r3 807dfcc: 1ad3 subs r3, r2, r3 807dfce: 4a18 ldr r2, [pc, #96] ; (807e030 ) 807dfd0: fba2 1203 umull r1, r2, r2, r3 807dfd4: 0952 lsrs r2, r2, #5 807dfd6: 2164 movs r1, #100 ; 0x64 807dfd8: fb01 f202 mul.w r2, r1, r2 807dfdc: 1a9a subs r2, r3, r2 807dfde: 4b15 ldr r3, [pc, #84] ; (807e034 ) 807dfe0: fba3 1302 umull r1, r3, r3, r2 807dfe4: 08d9 lsrs r1, r3, #3 807dfe6: 460b mov r3, r1 807dfe8: 009b lsls r3, r3, #2 807dfea: 440b add r3, r1 807dfec: 005b lsls r3, r3, #1 807dfee: 1ad1 subs r1, r2, r3 807dff0: b2cb uxtb r3, r1 807dff2: f887 3391 strb.w r3, [r7, #913] ; 0x391 memset(str_rate, 0, sizeof(str_rate)); 807dff6: f507 734a add.w r3, r7, #808 ; 0x328 807dffa: 2214 movs r2, #20 807dffc: 2100 movs r1, #0 807dffe: 4618 mov r0, r3 807e000: f04f f822 bl 80cd048 if(k >= 1000) 807e004: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 807e008: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 807e00c: d335 bcc.n 807e07a 807e00e: e013 b.n 807e038 807e010: ff0a0f1f .word 0xff0a0f1f 807e014: ffd3d3d3 .word 0xffd3d3d3 807e018: 20023e60 .word 0x20023e60 807e01c: 447a0000 .word 0x447a0000 807e020: 0a7c5ac5 .word 0x0a7c5ac5 807e024: 000186a0 .word 0x000186a0 807e028: d1b71759 .word 0xd1b71759 807e02c: 10624dd3 .word 0x10624dd3 807e030: 51eb851f .word 0x51eb851f 807e034: cccccccd .word 0xcccccccd { str_rate[0] = rate_iet + 48; 807e038: f897 3394 ldrb.w r3, [r7, #916] ; 0x394 807e03c: b2db uxtb r3, r3 807e03e: 3330 adds r3, #48 ; 0x30 807e040: b2da uxtb r2, r3 807e042: f507 734a add.w r3, r7, #808 ; 0x328 807e046: 701a strb r2, [r3, #0] str_rate[1] = rate_ies + 48; 807e048: f897 3393 ldrb.w r3, [r7, #915] ; 0x393 807e04c: b2db uxtb r3, r3 807e04e: 3330 adds r3, #48 ; 0x30 807e050: b2da uxtb r2, r3 807e052: f507 734a add.w r3, r7, #808 ; 0x328 807e056: 705a strb r2, [r3, #1] str_rate[2] = rate_ied + 48; 807e058: f897 3392 ldrb.w r3, [r7, #914] ; 0x392 807e05c: b2db uxtb r3, r3 807e05e: 3330 adds r3, #48 ; 0x30 807e060: b2da uxtb r2, r3 807e062: f507 734a add.w r3, r7, #808 ; 0x328 807e066: 709a strb r2, [r3, #2] str_rate[3] = rate_iee + 48; 807e068: f897 3391 ldrb.w r3, [r7, #913] ; 0x391 807e06c: b2db uxtb r3, r3 807e06e: 3330 adds r3, #48 ; 0x30 807e070: b2da uxtb r2, r3 807e072: f507 734a add.w r3, r7, #808 ; 0x328 807e076: 70da strb r2, [r3, #3] 807e078: e039 b.n 807e0ee } else if(k >= 100) 807e07a: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 807e07e: 2b63 cmp r3, #99 ; 0x63 807e080: d918 bls.n 807e0b4 { str_rate[0] = rate_ies + 48; 807e082: f897 3393 ldrb.w r3, [r7, #915] ; 0x393 807e086: b2db uxtb r3, r3 807e088: 3330 adds r3, #48 ; 0x30 807e08a: b2da uxtb r2, r3 807e08c: f507 734a add.w r3, r7, #808 ; 0x328 807e090: 701a strb r2, [r3, #0] str_rate[1] = rate_ied + 48; 807e092: f897 3392 ldrb.w r3, [r7, #914] ; 0x392 807e096: b2db uxtb r3, r3 807e098: 3330 adds r3, #48 ; 0x30 807e09a: b2da uxtb r2, r3 807e09c: f507 734a add.w r3, r7, #808 ; 0x328 807e0a0: 705a strb r2, [r3, #1] str_rate[2] = rate_iee + 48; 807e0a2: f897 3391 ldrb.w r3, [r7, #913] ; 0x391 807e0a6: b2db uxtb r3, r3 807e0a8: 3330 adds r3, #48 ; 0x30 807e0aa: b2da uxtb r2, r3 807e0ac: f507 734a add.w r3, r7, #808 ; 0x328 807e0b0: 709a strb r2, [r3, #2] 807e0b2: e01c b.n 807e0ee } else if(k >= 10) 807e0b4: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 807e0b8: 2b09 cmp r3, #9 807e0ba: d910 bls.n 807e0de { str_rate[0] = rate_ied + 48; 807e0bc: f897 3392 ldrb.w r3, [r7, #914] ; 0x392 807e0c0: b2db uxtb r3, r3 807e0c2: 3330 adds r3, #48 ; 0x30 807e0c4: b2da uxtb r2, r3 807e0c6: f507 734a add.w r3, r7, #808 ; 0x328 807e0ca: 701a strb r2, [r3, #0] str_rate[1] = rate_iee + 48; 807e0cc: f897 3391 ldrb.w r3, [r7, #913] ; 0x391 807e0d0: b2db uxtb r3, r3 807e0d2: 3330 adds r3, #48 ; 0x30 807e0d4: b2da uxtb r2, r3 807e0d6: f507 734a add.w r3, r7, #808 ; 0x328 807e0da: 705a strb r2, [r3, #1] 807e0dc: e007 b.n 807e0ee } else str_rate[0] = rate_iee + 48; 807e0de: f897 3391 ldrb.w r3, [r7, #913] ; 0x391 807e0e2: b2db uxtb r3, r3 807e0e4: 3330 adds r3, #48 ; 0x30 807e0e6: b2da uxtb r2, r3 807e0e8: f507 734a add.w r3, r7, #808 ; 0x328 807e0ec: 701a strb r2, [r3, #0] //////////////////////////////////////////////////////////// LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807e0ee: 49c2 ldr r1, [pc, #776] ; (807e3f8 ) 807e0f0: f04f 30ff mov.w r0, #4294967295 807e0f4: f7d5 fb5a bl 80537ac LCD_DisplayString(10, LCD_LINE_4, (char *)TEXT_PARAM_UDAR[pardata.LANG][3]); //"×àñòîòà âðàù.(îá/ìèí)" 807e0f8: 4bc0 ldr r3, [pc, #768] ; (807e3fc ) 807e0fa: 7b1b ldrb r3, [r3, #12] 807e0fc: b2db uxtb r3, r3 807e0fe: 4619 mov r1, r3 807e100: 4abf ldr r2, [pc, #764] ; (807e400 ) 807e102: 460b mov r3, r1 807e104: 00db lsls r3, r3, #3 807e106: 440b add r3, r1 807e108: 009b lsls r3, r3, #2 807e10a: 4413 add r3, r2 807e10c: 330c adds r3, #12 807e10e: 681b ldr r3, [r3, #0] 807e110: 461a mov r2, r3 807e112: 214a movs r1, #74 ; 0x4a 807e114: 200a movs r0, #10 807e116: f7d6 f8f1 bl 80542fc LCD_DisplayString(10, LCD_LINE_5, (char *)TEXT_PARAM_UDAR[pardata.LANG][4]); //"Âíóòð.d (ìì)" 807e11a: 4bb8 ldr r3, [pc, #736] ; (807e3fc ) 807e11c: 7b1b ldrb r3, [r3, #12] 807e11e: b2db uxtb r3, r3 807e120: 4619 mov r1, r3 807e122: 4ab7 ldr r2, [pc, #732] ; (807e400 ) 807e124: 460b mov r3, r1 807e126: 00db lsls r3, r3, #3 807e128: 440b add r3, r1 807e12a: 009b lsls r3, r3, #2 807e12c: 4413 add r3, r2 807e12e: 3310 adds r3, #16 807e130: 681b ldr r3, [r3, #0] 807e132: 461a mov r2, r3 807e134: 215a movs r1, #90 ; 0x5a 807e136: 200a movs r0, #10 807e138: f7d6 f8e0 bl 80542fc if(menupos == Ok) 807e13c: 4bb1 ldr r3, [pc, #708] ; (807e404 ) 807e13e: 781b ldrb r3, [r3, #0] 807e140: b2db uxtb r3, r3 807e142: 2b00 cmp r3, #0 807e144: d126 bne.n 807e194 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807e146: 49ac ldr r1, [pc, #688] ; (807e3f8 ) 807e148: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807e14c: f7d5 fb2e bl 80537ac LCD_DisplayString(10, LCD_LINE_3, (char *)TEXT_Next[pardata.LANG]);//"Äàëåå" 807e150: 4baa ldr r3, [pc, #680] ; (807e3fc ) 807e152: 7b1b ldrb r3, [r3, #12] 807e154: b2db uxtb r3, r3 807e156: 461a mov r2, r3 807e158: 4bab ldr r3, [pc, #684] ; (807e408 ) 807e15a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e15e: 461a mov r2, r3 807e160: 213a movs r1, #58 ; 0x3a 807e162: 200a movs r0, #10 807e164: f7d6 f8ca bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807e168: 49a3 ldr r1, [pc, #652] ; (807e3f8 ) 807e16a: 48a8 ldr r0, [pc, #672] ; (807e40c ) 807e16c: f7d5 fb1e bl 80537ac LCD_DisplayStringC(260, LCD_LINE_4, str_rate); 807e170: f507 734a add.w r3, r7, #808 ; 0x328 807e174: 461a mov r2, r3 807e176: 214a movs r1, #74 ; 0x4a 807e178: f44f 7082 mov.w r0, #260 ; 0x104 807e17c: f7d6 f8d6 bl 805432c LCD_DisplayStringC(260, LCD_LINE_5, str_inner); 807e180: f507 7354 add.w r3, r7, #848 ; 0x350 807e184: 461a mov r2, r3 807e186: 215a movs r1, #90 ; 0x5a 807e188: f44f 7082 mov.w r0, #260 ; 0x104 807e18c: f7d6 f8ce bl 805432c LCD_DisplayString(278, LCD_LINE_5, (char *) pNUMS[inner_iks]); } } } break; 807e190: f019 ba17 b.w 80975c2 if(menupos == UdarRate) 807e194: 4b9b ldr r3, [pc, #620] ; (807e404 ) 807e196: 781b ldrb r3, [r3, #0] 807e198: b2db uxtb r3, r3 807e19a: 2b01 cmp r3, #1 807e19c: d12b bne.n 807e1f6 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807e19e: 4996 ldr r1, [pc, #600] ; (807e3f8 ) 807e1a0: f04f 30ff mov.w r0, #4294967295 807e1a4: f7d5 fb02 bl 80537ac LCD_DisplayString(10, LCD_LINE_3, (char *)TEXT_Next[pardata.LANG]);//"Äàëåå" 807e1a8: 4b94 ldr r3, [pc, #592] ; (807e3fc ) 807e1aa: 7b1b ldrb r3, [r3, #12] 807e1ac: b2db uxtb r3, r3 807e1ae: 461a mov r2, r3 807e1b0: 4b95 ldr r3, [pc, #596] ; (807e408 ) 807e1b2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e1b6: 461a mov r2, r3 807e1b8: 213a movs r1, #58 ; 0x3a 807e1ba: 200a movs r0, #10 807e1bc: f7d6 f89e bl 80542fc LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807e1c0: 498d ldr r1, [pc, #564] ; (807e3f8 ) 807e1c2: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807e1c6: f7d5 faf1 bl 80537ac LCD_DisplayStringC(260, LCD_LINE_4, str_rate); 807e1ca: f507 734a add.w r3, r7, #808 ; 0x328 807e1ce: 461a mov r2, r3 807e1d0: 214a movs r1, #74 ; 0x4a 807e1d2: f44f 7082 mov.w r0, #260 ; 0x104 807e1d6: f7d6 f8a9 bl 805432c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807e1da: 4987 ldr r1, [pc, #540] ; (807e3f8 ) 807e1dc: 488b ldr r0, [pc, #556] ; (807e40c ) 807e1de: f7d5 fae5 bl 80537ac LCD_DisplayStringC(260, LCD_LINE_5, str_inner); 807e1e2: f507 7354 add.w r3, r7, #848 ; 0x350 807e1e6: 461a mov r2, r3 807e1e8: 215a movs r1, #90 ; 0x5a 807e1ea: f44f 7082 mov.w r0, #260 ; 0x104 807e1ee: f7d6 f89d bl 805432c break; 807e1f2: f019 b9e6 b.w 80975c2 if(menupos == UdarInner) 807e1f6: 4b83 ldr r3, [pc, #524] ; (807e404 ) 807e1f8: 781b ldrb r3, [r3, #0] 807e1fa: b2db uxtb r3, r3 807e1fc: 2b02 cmp r3, #2 807e1fe: d12b bne.n 807e258 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807e200: 497d ldr r1, [pc, #500] ; (807e3f8 ) 807e202: f04f 30ff mov.w r0, #4294967295 807e206: f7d5 fad1 bl 80537ac LCD_DisplayString(10, LCD_LINE_3, (char *)TEXT_Next[pardata.LANG]);//"Äàëåå" 807e20a: 4b7c ldr r3, [pc, #496] ; (807e3fc ) 807e20c: 7b1b ldrb r3, [r3, #12] 807e20e: b2db uxtb r3, r3 807e210: 461a mov r2, r3 807e212: 4b7d ldr r3, [pc, #500] ; (807e408 ) 807e214: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e218: 461a mov r2, r3 807e21a: 213a movs r1, #58 ; 0x3a 807e21c: 200a movs r0, #10 807e21e: f7d6 f86d bl 80542fc LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807e222: 4975 ldr r1, [pc, #468] ; (807e3f8 ) 807e224: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807e228: f7d5 fac0 bl 80537ac LCD_DisplayStringC(260, LCD_LINE_5, str_inner); 807e22c: f507 7354 add.w r3, r7, #848 ; 0x350 807e230: 461a mov r2, r3 807e232: 215a movs r1, #90 ; 0x5a 807e234: f44f 7082 mov.w r0, #260 ; 0x104 807e238: f7d6 f878 bl 805432c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807e23c: 496e ldr r1, [pc, #440] ; (807e3f8 ) 807e23e: 4873 ldr r0, [pc, #460] ; (807e40c ) 807e240: f7d5 fab4 bl 80537ac LCD_DisplayStringC(260, LCD_LINE_4, str_rate); 807e244: f507 734a add.w r3, r7, #808 ; 0x328 807e248: 461a mov r2, r3 807e24a: 214a movs r1, #74 ; 0x4a 807e24c: f44f 7082 mov.w r0, #260 ; 0x104 807e250: f7d6 f86c bl 805432c break; 807e254: f019 b9b5 b.w 80975c2 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807e258: 4967 ldr r1, [pc, #412] ; (807e3f8 ) 807e25a: f04f 30ff mov.w r0, #4294967295 807e25e: f7d5 faa5 bl 80537ac LCD_DisplayString(10, LCD_LINE_3, (char *)TEXT_Next[pardata.LANG]);//"Äàëåå" 807e262: 4b66 ldr r3, [pc, #408] ; (807e3fc ) 807e264: 7b1b ldrb r3, [r3, #12] 807e266: b2db uxtb r3, r3 807e268: 461a mov r2, r3 807e26a: 4b67 ldr r3, [pc, #412] ; (807e408 ) 807e26c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e270: 461a mov r2, r3 807e272: 213a movs r1, #58 ; 0x3a 807e274: 200a movs r0, #10 807e276: f7d6 f841 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807e27a: 495f ldr r1, [pc, #380] ; (807e3f8 ) 807e27c: 4863 ldr r0, [pc, #396] ; (807e40c ) 807e27e: f7d5 fa95 bl 80537ac if((menupos < UdarRate_IET) || (menupos > UdarRate_IEE)) 807e282: 4b60 ldr r3, [pc, #384] ; (807e404 ) 807e284: 781b ldrb r3, [r3, #0] 807e286: b2db uxtb r3, r3 807e288: 2b02 cmp r3, #2 807e28a: d904 bls.n 807e296 807e28c: 4b5d ldr r3, [pc, #372] ; (807e404 ) 807e28e: 781b ldrb r3, [r3, #0] 807e290: b2db uxtb r3, r3 807e292: 2b06 cmp r3, #6 807e294: d907 bls.n 807e2a6 LCD_DisplayStringC(260, LCD_LINE_4, str_rate); 807e296: f507 734a add.w r3, r7, #808 ; 0x328 807e29a: 461a mov r2, r3 807e29c: 214a movs r1, #74 ; 0x4a 807e29e: f44f 7082 mov.w r0, #260 ; 0x104 807e2a2: f7d6 f843 bl 805432c if((menupos < UdarInner_IES) || (menupos > UdarInner_IKT)) 807e2a6: 4b57 ldr r3, [pc, #348] ; (807e404 ) 807e2a8: 781b ldrb r3, [r3, #0] 807e2aa: b2db uxtb r3, r3 807e2ac: 2b06 cmp r3, #6 807e2ae: d904 bls.n 807e2ba 807e2b0: 4b54 ldr r3, [pc, #336] ; (807e404 ) 807e2b2: 781b ldrb r3, [r3, #0] 807e2b4: b2db uxtb r3, r3 807e2b6: 2b0c cmp r3, #12 807e2b8: d907 bls.n 807e2ca LCD_DisplayStringC(260, LCD_LINE_5, str_inner); 807e2ba: f507 7354 add.w r3, r7, #848 ; 0x350 807e2be: 461a mov r2, r3 807e2c0: 215a movs r1, #90 ; 0x5a 807e2c2: f44f 7082 mov.w r0, #260 ; 0x104 807e2c6: f7d6 f831 bl 805432c if((menupos >= UdarRate_IET) && (menupos <= UdarRate_IEE)) 807e2ca: 4b4e ldr r3, [pc, #312] ; (807e404 ) 807e2cc: 781b ldrb r3, [r3, #0] 807e2ce: b2db uxtb r3, r3 807e2d0: 2b02 cmp r3, #2 807e2d2: f240 812c bls.w 807e52e 807e2d6: 4b4b ldr r3, [pc, #300] ; (807e404 ) 807e2d8: 781b ldrb r3, [r3, #0] 807e2da: b2db uxtb r3, r3 807e2dc: 2b06 cmp r3, #6 807e2de: f200 8126 bhi.w 807e52e if(menupos == UdarRate_IET) 807e2e2: 4b48 ldr r3, [pc, #288] ; (807e404 ) 807e2e4: 781b ldrb r3, [r3, #0] 807e2e6: b2db uxtb r3, r3 807e2e8: 2b03 cmp r3, #3 807e2ea: d13f bne.n 807e36c LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807e2ec: 4942 ldr r1, [pc, #264] ; (807e3f8 ) 807e2ee: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807e2f2: f7d5 fa5b bl 80537ac if(blk) 807e2f6: 4b46 ldr r3, [pc, #280] ; (807e410 ) 807e2f8: 681b ldr r3, [r3, #0] 807e2fa: 2b00 cmp r3, #0 807e2fc: d00b beq.n 807e316 LCD_DisplayString(230, LCD_LINE_4, (char *) pNUMS[rate_iet]); 807e2fe: f897 3394 ldrb.w r3, [r7, #916] ; 0x394 807e302: b2db uxtb r3, r3 807e304: 461a mov r2, r3 807e306: 4b43 ldr r3, [pc, #268] ; (807e414 ) 807e308: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e30c: 461a mov r2, r3 807e30e: 214a movs r1, #74 ; 0x4a 807e310: 20e6 movs r0, #230 ; 0xe6 807e312: f7d5 fff3 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807e316: 4938 ldr r1, [pc, #224] ; (807e3f8 ) 807e318: 483c ldr r0, [pc, #240] ; (807e40c ) 807e31a: f7d5 fa47 bl 80537ac LCD_DisplayString(246, LCD_LINE_4, (char *) pNUMS[rate_ies]); 807e31e: f897 3393 ldrb.w r3, [r7, #915] ; 0x393 807e322: b2db uxtb r3, r3 807e324: 461a mov r2, r3 807e326: 4b3b ldr r3, [pc, #236] ; (807e414 ) 807e328: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e32c: 461a mov r2, r3 807e32e: 214a movs r1, #74 ; 0x4a 807e330: 20f6 movs r0, #246 ; 0xf6 807e332: f7d5 ffe3 bl 80542fc LCD_DisplayString(262, LCD_LINE_4, (char *) pNUMS[rate_ied]); 807e336: f897 3392 ldrb.w r3, [r7, #914] ; 0x392 807e33a: b2db uxtb r3, r3 807e33c: 461a mov r2, r3 807e33e: 4b35 ldr r3, [pc, #212] ; (807e414 ) 807e340: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e344: 461a mov r2, r3 807e346: 214a movs r1, #74 ; 0x4a 807e348: f44f 7083 mov.w r0, #262 ; 0x106 807e34c: f7d5 ffd6 bl 80542fc LCD_DisplayString(278, LCD_LINE_4, (char *) pNUMS[rate_iee]); 807e350: f897 3391 ldrb.w r3, [r7, #913] ; 0x391 807e354: b2db uxtb r3, r3 807e356: 461a mov r2, r3 807e358: 4b2e ldr r3, [pc, #184] ; (807e414 ) 807e35a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e35e: 461a mov r2, r3 807e360: 214a movs r1, #74 ; 0x4a 807e362: f44f 708b mov.w r0, #278 ; 0x116 807e366: f7d5 ffc9 bl 80542fc if(menupos == UdarRate_IET) 807e36a: e352 b.n 807ea12 if(menupos == UdarRate_IES) 807e36c: 4b25 ldr r3, [pc, #148] ; (807e404 ) 807e36e: 781b ldrb r3, [r3, #0] 807e370: b2db uxtb r3, r3 807e372: 2b04 cmp r3, #4 807e374: d150 bne.n 807e418 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807e376: 4920 ldr r1, [pc, #128] ; (807e3f8 ) 807e378: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807e37c: f7d5 fa16 bl 80537ac if(blk) 807e380: 4b23 ldr r3, [pc, #140] ; (807e410 ) 807e382: 681b ldr r3, [r3, #0] 807e384: 2b00 cmp r3, #0 807e386: d00b beq.n 807e3a0 LCD_DisplayString(246, LCD_LINE_4, (char *) pNUMS[rate_ies]); 807e388: f897 3393 ldrb.w r3, [r7, #915] ; 0x393 807e38c: b2db uxtb r3, r3 807e38e: 461a mov r2, r3 807e390: 4b20 ldr r3, [pc, #128] ; (807e414 ) 807e392: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e396: 461a mov r2, r3 807e398: 214a movs r1, #74 ; 0x4a 807e39a: 20f6 movs r0, #246 ; 0xf6 807e39c: f7d5 ffae bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807e3a0: 4915 ldr r1, [pc, #84] ; (807e3f8 ) 807e3a2: 481a ldr r0, [pc, #104] ; (807e40c ) 807e3a4: f7d5 fa02 bl 80537ac LCD_DisplayString(230, LCD_LINE_4, (char *) pNUMS[rate_iet]); 807e3a8: f897 3394 ldrb.w r3, [r7, #916] ; 0x394 807e3ac: b2db uxtb r3, r3 807e3ae: 461a mov r2, r3 807e3b0: 4b18 ldr r3, [pc, #96] ; (807e414 ) 807e3b2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e3b6: 461a mov r2, r3 807e3b8: 214a movs r1, #74 ; 0x4a 807e3ba: 20e6 movs r0, #230 ; 0xe6 807e3bc: f7d5 ff9e bl 80542fc LCD_DisplayString(262, LCD_LINE_4, (char *) pNUMS[rate_ied]); 807e3c0: f897 3392 ldrb.w r3, [r7, #914] ; 0x392 807e3c4: b2db uxtb r3, r3 807e3c6: 461a mov r2, r3 807e3c8: 4b12 ldr r3, [pc, #72] ; (807e414 ) 807e3ca: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e3ce: 461a mov r2, r3 807e3d0: 214a movs r1, #74 ; 0x4a 807e3d2: f44f 7083 mov.w r0, #262 ; 0x106 807e3d6: f7d5 ff91 bl 80542fc LCD_DisplayString(278, LCD_LINE_4, (char *) pNUMS[rate_iee]); 807e3da: f897 3391 ldrb.w r3, [r7, #913] ; 0x391 807e3de: b2db uxtb r3, r3 807e3e0: 461a mov r2, r3 807e3e2: 4b0c ldr r3, [pc, #48] ; (807e414 ) 807e3e4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e3e8: 461a mov r2, r3 807e3ea: 214a movs r1, #74 ; 0x4a 807e3ec: f44f 708b mov.w r0, #278 ; 0x116 807e3f0: f7d5 ff84 bl 80542fc if(menupos == UdarRate_IET) 807e3f4: e30d b.n 807ea12 807e3f6: bf00 nop 807e3f8: ff0a0f1f .word 0xff0a0f1f 807e3fc: 20023e60 .word 0x20023e60 807e400: 200207f4 .word 0x200207f4 807e404: 20020070 .word 0x20020070 807e408: 200205c4 .word 0x200205c4 807e40c: ffd8aa57 .word 0xffd8aa57 807e410: 2002165c .word 0x2002165c 807e414: 20020964 .word 0x20020964 if(menupos == UdarRate_IED) 807e418: 4baf ldr r3, [pc, #700] ; (807e6d8 ) 807e41a: 781b ldrb r3, [r3, #0] 807e41c: b2db uxtb r3, r3 807e41e: 2b05 cmp r3, #5 807e420: d13f bne.n 807e4a2 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807e422: 49ae ldr r1, [pc, #696] ; (807e6dc ) 807e424: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807e428: f7d5 f9c0 bl 80537ac if(blk) 807e42c: 4bac ldr r3, [pc, #688] ; (807e6e0 ) 807e42e: 681b ldr r3, [r3, #0] 807e430: 2b00 cmp r3, #0 807e432: d00c beq.n 807e44e LCD_DisplayString(262, LCD_LINE_4, (char *) pNUMS[rate_ied]); 807e434: f897 3392 ldrb.w r3, [r7, #914] ; 0x392 807e438: b2db uxtb r3, r3 807e43a: 461a mov r2, r3 807e43c: 4ba9 ldr r3, [pc, #676] ; (807e6e4 ) 807e43e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e442: 461a mov r2, r3 807e444: 214a movs r1, #74 ; 0x4a 807e446: f44f 7083 mov.w r0, #262 ; 0x106 807e44a: f7d5 ff57 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807e44e: 49a3 ldr r1, [pc, #652] ; (807e6dc ) 807e450: 48a5 ldr r0, [pc, #660] ; (807e6e8 ) 807e452: f7d5 f9ab bl 80537ac LCD_DisplayString(230, LCD_LINE_4, (char *) pNUMS[rate_iet]); 807e456: f897 3394 ldrb.w r3, [r7, #916] ; 0x394 807e45a: b2db uxtb r3, r3 807e45c: 461a mov r2, r3 807e45e: 4ba1 ldr r3, [pc, #644] ; (807e6e4 ) 807e460: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e464: 461a mov r2, r3 807e466: 214a movs r1, #74 ; 0x4a 807e468: 20e6 movs r0, #230 ; 0xe6 807e46a: f7d5 ff47 bl 80542fc LCD_DisplayString(246, LCD_LINE_4, (char *) pNUMS[rate_ies]); 807e46e: f897 3393 ldrb.w r3, [r7, #915] ; 0x393 807e472: b2db uxtb r3, r3 807e474: 461a mov r2, r3 807e476: 4b9b ldr r3, [pc, #620] ; (807e6e4 ) 807e478: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e47c: 461a mov r2, r3 807e47e: 214a movs r1, #74 ; 0x4a 807e480: 20f6 movs r0, #246 ; 0xf6 807e482: f7d5 ff3b bl 80542fc LCD_DisplayString(278, LCD_LINE_4, (char *) pNUMS[rate_iee]); 807e486: f897 3391 ldrb.w r3, [r7, #913] ; 0x391 807e48a: b2db uxtb r3, r3 807e48c: 461a mov r2, r3 807e48e: 4b95 ldr r3, [pc, #596] ; (807e6e4 ) 807e490: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e494: 461a mov r2, r3 807e496: 214a movs r1, #74 ; 0x4a 807e498: f44f 708b mov.w r0, #278 ; 0x116 807e49c: f7d5 ff2e bl 80542fc if(menupos == UdarRate_IET) 807e4a0: e2b7 b.n 807ea12 if(menupos == UdarRate_IEE) 807e4a2: 4b8d ldr r3, [pc, #564] ; (807e6d8 ) 807e4a4: 781b ldrb r3, [r3, #0] 807e4a6: b2db uxtb r3, r3 807e4a8: 2b06 cmp r3, #6 807e4aa: f040 82b2 bne.w 807ea12 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807e4ae: 498b ldr r1, [pc, #556] ; (807e6dc ) 807e4b0: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807e4b4: f7d5 f97a bl 80537ac if(blk) 807e4b8: 4b89 ldr r3, [pc, #548] ; (807e6e0 ) 807e4ba: 681b ldr r3, [r3, #0] 807e4bc: 2b00 cmp r3, #0 807e4be: d00c beq.n 807e4da LCD_DisplayString(278, LCD_LINE_4, (char *) pNUMS[rate_iee]); 807e4c0: f897 3391 ldrb.w r3, [r7, #913] ; 0x391 807e4c4: b2db uxtb r3, r3 807e4c6: 461a mov r2, r3 807e4c8: 4b86 ldr r3, [pc, #536] ; (807e6e4 ) 807e4ca: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e4ce: 461a mov r2, r3 807e4d0: 214a movs r1, #74 ; 0x4a 807e4d2: f44f 708b mov.w r0, #278 ; 0x116 807e4d6: f7d5 ff11 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807e4da: 4980 ldr r1, [pc, #512] ; (807e6dc ) 807e4dc: 4882 ldr r0, [pc, #520] ; (807e6e8 ) 807e4de: f7d5 f965 bl 80537ac LCD_DisplayString(230, LCD_LINE_4, (char *) pNUMS[rate_iet]); 807e4e2: f897 3394 ldrb.w r3, [r7, #916] ; 0x394 807e4e6: b2db uxtb r3, r3 807e4e8: 461a mov r2, r3 807e4ea: 4b7e ldr r3, [pc, #504] ; (807e6e4 ) 807e4ec: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e4f0: 461a mov r2, r3 807e4f2: 214a movs r1, #74 ; 0x4a 807e4f4: 20e6 movs r0, #230 ; 0xe6 807e4f6: f7d5 ff01 bl 80542fc LCD_DisplayString(246, LCD_LINE_4, (char *) pNUMS[rate_ies]); 807e4fa: f897 3393 ldrb.w r3, [r7, #915] ; 0x393 807e4fe: b2db uxtb r3, r3 807e500: 461a mov r2, r3 807e502: 4b78 ldr r3, [pc, #480] ; (807e6e4 ) 807e504: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e508: 461a mov r2, r3 807e50a: 214a movs r1, #74 ; 0x4a 807e50c: 20f6 movs r0, #246 ; 0xf6 807e50e: f7d5 fef5 bl 80542fc LCD_DisplayString(262, LCD_LINE_4, (char *) pNUMS[rate_ied]); 807e512: f897 3392 ldrb.w r3, [r7, #914] ; 0x392 807e516: b2db uxtb r3, r3 807e518: 461a mov r2, r3 807e51a: 4b72 ldr r3, [pc, #456] ; (807e6e4 ) 807e51c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e520: 461a mov r2, r3 807e522: 214a movs r1, #74 ; 0x4a 807e524: f44f 7083 mov.w r0, #262 ; 0x106 807e528: f7d5 fee8 bl 80542fc if(menupos == UdarRate_IET) 807e52c: e271 b.n 807ea12 if((menupos >= UdarInner_IES) && (menupos <= UdarInner_IKT)) 807e52e: 4b6a ldr r3, [pc, #424] ; (807e6d8 ) 807e530: 781b ldrb r3, [r3, #0] 807e532: b2db uxtb r3, r3 807e534: 2b06 cmp r3, #6 807e536: f259 8044 bls.w 80975c2 807e53a: 4b67 ldr r3, [pc, #412] ; (807e6d8 ) 807e53c: 781b ldrb r3, [r3, #0] 807e53e: b2db uxtb r3, r3 807e540: 2b0c cmp r3, #12 807e542: f219 803e bhi.w 80975c2 if(menupos == UdarInner_IES) 807e546: 4b64 ldr r3, [pc, #400] ; (807e6d8 ) 807e548: 781b ldrb r3, [r3, #0] 807e54a: b2db uxtb r3, r3 807e54c: 2b07 cmp r3, #7 807e54e: d15e bne.n 807e60e LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807e550: 4962 ldr r1, [pc, #392] ; (807e6dc ) 807e552: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807e556: f7d5 f929 bl 80537ac if(blk) 807e55a: 4b61 ldr r3, [pc, #388] ; (807e6e0 ) 807e55c: 681b ldr r3, [r3, #0] 807e55e: 2b00 cmp r3, #0 807e560: d00b beq.n 807e57a LCD_DisplayString(198, LCD_LINE_5, (char *) pNUMS[inner_ies]); 807e562: f897 33a3 ldrb.w r3, [r7, #931] ; 0x3a3 807e566: b2db uxtb r3, r3 807e568: 461a mov r2, r3 807e56a: 4b5e ldr r3, [pc, #376] ; (807e6e4 ) 807e56c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e570: 461a mov r2, r3 807e572: 215a movs r1, #90 ; 0x5a 807e574: 20c6 movs r0, #198 ; 0xc6 807e576: f7d5 fec1 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807e57a: 4958 ldr r1, [pc, #352] ; (807e6dc ) 807e57c: 485a ldr r0, [pc, #360] ; (807e6e8 ) 807e57e: f7d5 f915 bl 80537ac LCD_DisplayString(214, LCD_LINE_5, (char *) pNUMS[inner_ied]); 807e582: f897 33a2 ldrb.w r3, [r7, #930] ; 0x3a2 807e586: b2db uxtb r3, r3 807e588: 461a mov r2, r3 807e58a: 4b56 ldr r3, [pc, #344] ; (807e6e4 ) 807e58c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e590: 461a mov r2, r3 807e592: 215a movs r1, #90 ; 0x5a 807e594: 20d6 movs r0, #214 ; 0xd6 807e596: f7d5 feb1 bl 80542fc LCD_DisplayString(230, LCD_LINE_5, (char *) pNUMS[inner_iee]); 807e59a: f897 33a1 ldrb.w r3, [r7, #929] ; 0x3a1 807e59e: b2db uxtb r3, r3 807e5a0: 461a mov r2, r3 807e5a2: 4b50 ldr r3, [pc, #320] ; (807e6e4 ) 807e5a4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e5a8: 461a mov r2, r3 807e5aa: 215a movs r1, #90 ; 0x5a 807e5ac: 20e6 movs r0, #230 ; 0xe6 807e5ae: f7d5 fea5 bl 80542fc LCD_DisplayString(246, LCD_LINE_5, "."); 807e5b2: 4a4e ldr r2, [pc, #312] ; (807e6ec ) 807e5b4: 215a movs r1, #90 ; 0x5a 807e5b6: 20f6 movs r0, #246 ; 0xf6 807e5b8: f7d5 fea0 bl 80542fc LCD_DisplayString(262, LCD_LINE_5, (char *) pNUMS[inner_ikd]); 807e5bc: f897 33a0 ldrb.w r3, [r7, #928] ; 0x3a0 807e5c0: b2db uxtb r3, r3 807e5c2: 461a mov r2, r3 807e5c4: 4b47 ldr r3, [pc, #284] ; (807e6e4 ) 807e5c6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e5ca: 461a mov r2, r3 807e5cc: 215a movs r1, #90 ; 0x5a 807e5ce: f44f 7083 mov.w r0, #262 ; 0x106 807e5d2: f7d5 fe93 bl 80542fc LCD_DisplayString(278, LCD_LINE_5, (char *) pNUMS[inner_iks]); 807e5d6: f897 339f ldrb.w r3, [r7, #927] ; 0x39f 807e5da: b2db uxtb r3, r3 807e5dc: 461a mov r2, r3 807e5de: 4b41 ldr r3, [pc, #260] ; (807e6e4 ) 807e5e0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e5e4: 461a mov r2, r3 807e5e6: 215a movs r1, #90 ; 0x5a 807e5e8: f44f 708b mov.w r0, #278 ; 0x116 807e5ec: f7d5 fe86 bl 80542fc LCD_DisplayString(294, LCD_LINE_5, (char *) pNUMS[inner_ikt]); 807e5f0: f897 339e ldrb.w r3, [r7, #926] ; 0x39e 807e5f4: b2db uxtb r3, r3 807e5f6: 461a mov r2, r3 807e5f8: 4b3a ldr r3, [pc, #232] ; (807e6e4 ) 807e5fa: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e5fe: 461a mov r2, r3 807e600: 215a movs r1, #90 ; 0x5a 807e602: f44f 7093 mov.w r0, #294 ; 0x126 807e606: f7d5 fe79 bl 80542fc break; 807e60a: f018 bfda b.w 80975c2 if(menupos == UdarInner_IED) 807e60e: 4b32 ldr r3, [pc, #200] ; (807e6d8 ) 807e610: 781b ldrb r3, [r3, #0] 807e612: b2db uxtb r3, r3 807e614: 2b08 cmp r3, #8 807e616: d16b bne.n 807e6f0 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807e618: 4930 ldr r1, [pc, #192] ; (807e6dc ) 807e61a: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807e61e: f7d5 f8c5 bl 80537ac if(blk) 807e622: 4b2f ldr r3, [pc, #188] ; (807e6e0 ) 807e624: 681b ldr r3, [r3, #0] 807e626: 2b00 cmp r3, #0 807e628: d00b beq.n 807e642 LCD_DisplayString(214, LCD_LINE_5, (char *) pNUMS[inner_ied]); 807e62a: f897 33a2 ldrb.w r3, [r7, #930] ; 0x3a2 807e62e: b2db uxtb r3, r3 807e630: 461a mov r2, r3 807e632: 4b2c ldr r3, [pc, #176] ; (807e6e4 ) 807e634: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e638: 461a mov r2, r3 807e63a: 215a movs r1, #90 ; 0x5a 807e63c: 20d6 movs r0, #214 ; 0xd6 807e63e: f7d5 fe5d bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807e642: 4926 ldr r1, [pc, #152] ; (807e6dc ) 807e644: 4828 ldr r0, [pc, #160] ; (807e6e8 ) 807e646: f7d5 f8b1 bl 80537ac LCD_DisplayString(198, LCD_LINE_5, (char *) pNUMS[inner_ies]); 807e64a: f897 33a3 ldrb.w r3, [r7, #931] ; 0x3a3 807e64e: b2db uxtb r3, r3 807e650: 461a mov r2, r3 807e652: 4b24 ldr r3, [pc, #144] ; (807e6e4 ) 807e654: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e658: 461a mov r2, r3 807e65a: 215a movs r1, #90 ; 0x5a 807e65c: 20c6 movs r0, #198 ; 0xc6 807e65e: f7d5 fe4d bl 80542fc LCD_DisplayString(230, LCD_LINE_5, (char *) pNUMS[inner_iee]); 807e662: f897 33a1 ldrb.w r3, [r7, #929] ; 0x3a1 807e666: b2db uxtb r3, r3 807e668: 461a mov r2, r3 807e66a: 4b1e ldr r3, [pc, #120] ; (807e6e4 ) 807e66c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e670: 461a mov r2, r3 807e672: 215a movs r1, #90 ; 0x5a 807e674: 20e6 movs r0, #230 ; 0xe6 807e676: f7d5 fe41 bl 80542fc LCD_DisplayString(246, LCD_LINE_5, "."); 807e67a: 4a1c ldr r2, [pc, #112] ; (807e6ec ) 807e67c: 215a movs r1, #90 ; 0x5a 807e67e: 20f6 movs r0, #246 ; 0xf6 807e680: f7d5 fe3c bl 80542fc LCD_DisplayString(262, LCD_LINE_5, (char *) pNUMS[inner_ikd]); 807e684: f897 33a0 ldrb.w r3, [r7, #928] ; 0x3a0 807e688: b2db uxtb r3, r3 807e68a: 461a mov r2, r3 807e68c: 4b15 ldr r3, [pc, #84] ; (807e6e4 ) 807e68e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e692: 461a mov r2, r3 807e694: 215a movs r1, #90 ; 0x5a 807e696: f44f 7083 mov.w r0, #262 ; 0x106 807e69a: f7d5 fe2f bl 80542fc LCD_DisplayString(278, LCD_LINE_5, (char *) pNUMS[inner_iks]); 807e69e: f897 339f ldrb.w r3, [r7, #927] ; 0x39f 807e6a2: b2db uxtb r3, r3 807e6a4: 461a mov r2, r3 807e6a6: 4b0f ldr r3, [pc, #60] ; (807e6e4 ) 807e6a8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e6ac: 461a mov r2, r3 807e6ae: 215a movs r1, #90 ; 0x5a 807e6b0: f44f 708b mov.w r0, #278 ; 0x116 807e6b4: f7d5 fe22 bl 80542fc LCD_DisplayString(294, LCD_LINE_5, (char *) pNUMS[inner_ikt]); 807e6b8: f897 339e ldrb.w r3, [r7, #926] ; 0x39e 807e6bc: b2db uxtb r3, r3 807e6be: 461a mov r2, r3 807e6c0: 4b08 ldr r3, [pc, #32] ; (807e6e4 ) 807e6c2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e6c6: 461a mov r2, r3 807e6c8: 215a movs r1, #90 ; 0x5a 807e6ca: f44f 7093 mov.w r0, #294 ; 0x126 807e6ce: f7d5 fe15 bl 80542fc break; 807e6d2: f018 bf76 b.w 80975c2 807e6d6: bf00 nop 807e6d8: 20020070 .word 0x20020070 807e6dc: ff0a0f1f .word 0xff0a0f1f 807e6e0: 2002165c .word 0x2002165c 807e6e4: 20020964 .word 0x20020964 807e6e8: ffd8aa57 .word 0xffd8aa57 807e6ec: 080cf7e8 .word 0x080cf7e8 if(menupos == UdarInner_IEE) 807e6f0: 4bc9 ldr r3, [pc, #804] ; (807ea18 ) 807e6f2: 781b ldrb r3, [r3, #0] 807e6f4: b2db uxtb r3, r3 807e6f6: 2b09 cmp r3, #9 807e6f8: d15e bne.n 807e7b8 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807e6fa: 49c8 ldr r1, [pc, #800] ; (807ea1c ) 807e6fc: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807e700: f7d5 f854 bl 80537ac if(blk) 807e704: 4bc6 ldr r3, [pc, #792] ; (807ea20 ) 807e706: 681b ldr r3, [r3, #0] 807e708: 2b00 cmp r3, #0 807e70a: d00b beq.n 807e724 LCD_DisplayString(230, LCD_LINE_5, (char *) pNUMS[inner_iee]); 807e70c: f897 33a1 ldrb.w r3, [r7, #929] ; 0x3a1 807e710: b2db uxtb r3, r3 807e712: 461a mov r2, r3 807e714: 4bc3 ldr r3, [pc, #780] ; (807ea24 ) 807e716: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e71a: 461a mov r2, r3 807e71c: 215a movs r1, #90 ; 0x5a 807e71e: 20e6 movs r0, #230 ; 0xe6 807e720: f7d5 fdec bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807e724: 49bd ldr r1, [pc, #756] ; (807ea1c ) 807e726: 48c0 ldr r0, [pc, #768] ; (807ea28 ) 807e728: f7d5 f840 bl 80537ac LCD_DisplayString(198, LCD_LINE_5, (char *) pNUMS[inner_ies]); 807e72c: f897 33a3 ldrb.w r3, [r7, #931] ; 0x3a3 807e730: b2db uxtb r3, r3 807e732: 461a mov r2, r3 807e734: 4bbb ldr r3, [pc, #748] ; (807ea24 ) 807e736: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e73a: 461a mov r2, r3 807e73c: 215a movs r1, #90 ; 0x5a 807e73e: 20c6 movs r0, #198 ; 0xc6 807e740: f7d5 fddc bl 80542fc LCD_DisplayString(214, LCD_LINE_5, (char *) pNUMS[inner_ied]); 807e744: f897 33a2 ldrb.w r3, [r7, #930] ; 0x3a2 807e748: b2db uxtb r3, r3 807e74a: 461a mov r2, r3 807e74c: 4bb5 ldr r3, [pc, #724] ; (807ea24 ) 807e74e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e752: 461a mov r2, r3 807e754: 215a movs r1, #90 ; 0x5a 807e756: 20d6 movs r0, #214 ; 0xd6 807e758: f7d5 fdd0 bl 80542fc LCD_DisplayString(246, LCD_LINE_5, "."); 807e75c: 4ab3 ldr r2, [pc, #716] ; (807ea2c ) 807e75e: 215a movs r1, #90 ; 0x5a 807e760: 20f6 movs r0, #246 ; 0xf6 807e762: f7d5 fdcb bl 80542fc LCD_DisplayString(262, LCD_LINE_5, (char *) pNUMS[inner_ikd]); 807e766: f897 33a0 ldrb.w r3, [r7, #928] ; 0x3a0 807e76a: b2db uxtb r3, r3 807e76c: 461a mov r2, r3 807e76e: 4bad ldr r3, [pc, #692] ; (807ea24 ) 807e770: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e774: 461a mov r2, r3 807e776: 215a movs r1, #90 ; 0x5a 807e778: f44f 7083 mov.w r0, #262 ; 0x106 807e77c: f7d5 fdbe bl 80542fc LCD_DisplayString(278, LCD_LINE_5, (char *) pNUMS[inner_iks]); 807e780: f897 339f ldrb.w r3, [r7, #927] ; 0x39f 807e784: b2db uxtb r3, r3 807e786: 461a mov r2, r3 807e788: 4ba6 ldr r3, [pc, #664] ; (807ea24 ) 807e78a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e78e: 461a mov r2, r3 807e790: 215a movs r1, #90 ; 0x5a 807e792: f44f 708b mov.w r0, #278 ; 0x116 807e796: f7d5 fdb1 bl 80542fc LCD_DisplayString(294, LCD_LINE_5, (char *) pNUMS[inner_ikt]); 807e79a: f897 339e ldrb.w r3, [r7, #926] ; 0x39e 807e79e: b2db uxtb r3, r3 807e7a0: 461a mov r2, r3 807e7a2: 4ba0 ldr r3, [pc, #640] ; (807ea24 ) 807e7a4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e7a8: 461a mov r2, r3 807e7aa: 215a movs r1, #90 ; 0x5a 807e7ac: f44f 7093 mov.w r0, #294 ; 0x126 807e7b0: f7d5 fda4 bl 80542fc break; 807e7b4: f018 bf05 b.w 80975c2 if(menupos == UdarInner_IKD) 807e7b8: 4b97 ldr r3, [pc, #604] ; (807ea18 ) 807e7ba: 781b ldrb r3, [r3, #0] 807e7bc: b2db uxtb r3, r3 807e7be: 2b0a cmp r3, #10 807e7c0: d15e bne.n 807e880 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807e7c2: 4996 ldr r1, [pc, #600] ; (807ea1c ) 807e7c4: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807e7c8: f7d4 fff0 bl 80537ac if(blk) 807e7cc: 4b94 ldr r3, [pc, #592] ; (807ea20 ) 807e7ce: 681b ldr r3, [r3, #0] 807e7d0: 2b00 cmp r3, #0 807e7d2: d00c beq.n 807e7ee LCD_DisplayString(262, LCD_LINE_5, (char *) pNUMS[inner_ikd]); 807e7d4: f897 33a0 ldrb.w r3, [r7, #928] ; 0x3a0 807e7d8: b2db uxtb r3, r3 807e7da: 461a mov r2, r3 807e7dc: 4b91 ldr r3, [pc, #580] ; (807ea24 ) 807e7de: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e7e2: 461a mov r2, r3 807e7e4: 215a movs r1, #90 ; 0x5a 807e7e6: f44f 7083 mov.w r0, #262 ; 0x106 807e7ea: f7d5 fd87 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807e7ee: 498b ldr r1, [pc, #556] ; (807ea1c ) 807e7f0: 488d ldr r0, [pc, #564] ; (807ea28 ) 807e7f2: f7d4 ffdb bl 80537ac LCD_DisplayString(198, LCD_LINE_5, (char *) pNUMS[inner_ies]); 807e7f6: f897 33a3 ldrb.w r3, [r7, #931] ; 0x3a3 807e7fa: b2db uxtb r3, r3 807e7fc: 461a mov r2, r3 807e7fe: 4b89 ldr r3, [pc, #548] ; (807ea24 ) 807e800: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e804: 461a mov r2, r3 807e806: 215a movs r1, #90 ; 0x5a 807e808: 20c6 movs r0, #198 ; 0xc6 807e80a: f7d5 fd77 bl 80542fc LCD_DisplayString(214, LCD_LINE_5, (char *) pNUMS[inner_ied]); 807e80e: f897 33a2 ldrb.w r3, [r7, #930] ; 0x3a2 807e812: b2db uxtb r3, r3 807e814: 461a mov r2, r3 807e816: 4b83 ldr r3, [pc, #524] ; (807ea24 ) 807e818: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e81c: 461a mov r2, r3 807e81e: 215a movs r1, #90 ; 0x5a 807e820: 20d6 movs r0, #214 ; 0xd6 807e822: f7d5 fd6b bl 80542fc LCD_DisplayString(230, LCD_LINE_5, (char *) pNUMS[inner_iee]); 807e826: f897 33a1 ldrb.w r3, [r7, #929] ; 0x3a1 807e82a: b2db uxtb r3, r3 807e82c: 461a mov r2, r3 807e82e: 4b7d ldr r3, [pc, #500] ; (807ea24 ) 807e830: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e834: 461a mov r2, r3 807e836: 215a movs r1, #90 ; 0x5a 807e838: 20e6 movs r0, #230 ; 0xe6 807e83a: f7d5 fd5f bl 80542fc LCD_DisplayString(246, LCD_LINE_5, "."); 807e83e: 4a7b ldr r2, [pc, #492] ; (807ea2c ) 807e840: 215a movs r1, #90 ; 0x5a 807e842: 20f6 movs r0, #246 ; 0xf6 807e844: f7d5 fd5a bl 80542fc LCD_DisplayString(278, LCD_LINE_5, (char *) pNUMS[inner_iks]); 807e848: f897 339f ldrb.w r3, [r7, #927] ; 0x39f 807e84c: b2db uxtb r3, r3 807e84e: 461a mov r2, r3 807e850: 4b74 ldr r3, [pc, #464] ; (807ea24 ) 807e852: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e856: 461a mov r2, r3 807e858: 215a movs r1, #90 ; 0x5a 807e85a: f44f 708b mov.w r0, #278 ; 0x116 807e85e: f7d5 fd4d bl 80542fc LCD_DisplayString(294, LCD_LINE_5, (char *) pNUMS[inner_ikt]); 807e862: f897 339e ldrb.w r3, [r7, #926] ; 0x39e 807e866: b2db uxtb r3, r3 807e868: 461a mov r2, r3 807e86a: 4b6e ldr r3, [pc, #440] ; (807ea24 ) 807e86c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e870: 461a mov r2, r3 807e872: 215a movs r1, #90 ; 0x5a 807e874: f44f 7093 mov.w r0, #294 ; 0x126 807e878: f7d5 fd40 bl 80542fc break; 807e87c: f018 bea1 b.w 80975c2 if(menupos == UdarInner_IKS) 807e880: 4b65 ldr r3, [pc, #404] ; (807ea18 ) 807e882: 781b ldrb r3, [r3, #0] 807e884: b2db uxtb r3, r3 807e886: 2b0b cmp r3, #11 807e888: d15e bne.n 807e948 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807e88a: 4964 ldr r1, [pc, #400] ; (807ea1c ) 807e88c: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807e890: f7d4 ff8c bl 80537ac if(blk) 807e894: 4b62 ldr r3, [pc, #392] ; (807ea20 ) 807e896: 681b ldr r3, [r3, #0] 807e898: 2b00 cmp r3, #0 807e89a: d00c beq.n 807e8b6 LCD_DisplayString(278, LCD_LINE_5, (char *) pNUMS[inner_iks]); 807e89c: f897 339f ldrb.w r3, [r7, #927] ; 0x39f 807e8a0: b2db uxtb r3, r3 807e8a2: 461a mov r2, r3 807e8a4: 4b5f ldr r3, [pc, #380] ; (807ea24 ) 807e8a6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e8aa: 461a mov r2, r3 807e8ac: 215a movs r1, #90 ; 0x5a 807e8ae: f44f 708b mov.w r0, #278 ; 0x116 807e8b2: f7d5 fd23 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807e8b6: 4959 ldr r1, [pc, #356] ; (807ea1c ) 807e8b8: 485b ldr r0, [pc, #364] ; (807ea28 ) 807e8ba: f7d4 ff77 bl 80537ac LCD_DisplayString(198, LCD_LINE_5, (char *) pNUMS[inner_ies]); 807e8be: f897 33a3 ldrb.w r3, [r7, #931] ; 0x3a3 807e8c2: b2db uxtb r3, r3 807e8c4: 461a mov r2, r3 807e8c6: 4b57 ldr r3, [pc, #348] ; (807ea24 ) 807e8c8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e8cc: 461a mov r2, r3 807e8ce: 215a movs r1, #90 ; 0x5a 807e8d0: 20c6 movs r0, #198 ; 0xc6 807e8d2: f7d5 fd13 bl 80542fc LCD_DisplayString(214, LCD_LINE_5, (char *) pNUMS[inner_ied]); 807e8d6: f897 33a2 ldrb.w r3, [r7, #930] ; 0x3a2 807e8da: b2db uxtb r3, r3 807e8dc: 461a mov r2, r3 807e8de: 4b51 ldr r3, [pc, #324] ; (807ea24 ) 807e8e0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e8e4: 461a mov r2, r3 807e8e6: 215a movs r1, #90 ; 0x5a 807e8e8: 20d6 movs r0, #214 ; 0xd6 807e8ea: f7d5 fd07 bl 80542fc LCD_DisplayString(230, LCD_LINE_5, (char *) pNUMS[inner_iee]); 807e8ee: f897 33a1 ldrb.w r3, [r7, #929] ; 0x3a1 807e8f2: b2db uxtb r3, r3 807e8f4: 461a mov r2, r3 807e8f6: 4b4b ldr r3, [pc, #300] ; (807ea24 ) 807e8f8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e8fc: 461a mov r2, r3 807e8fe: 215a movs r1, #90 ; 0x5a 807e900: 20e6 movs r0, #230 ; 0xe6 807e902: f7d5 fcfb bl 80542fc LCD_DisplayString(246, LCD_LINE_5, "."); 807e906: 4a49 ldr r2, [pc, #292] ; (807ea2c ) 807e908: 215a movs r1, #90 ; 0x5a 807e90a: 20f6 movs r0, #246 ; 0xf6 807e90c: f7d5 fcf6 bl 80542fc LCD_DisplayString(262, LCD_LINE_5, (char *) pNUMS[inner_ikd]); 807e910: f897 33a0 ldrb.w r3, [r7, #928] ; 0x3a0 807e914: b2db uxtb r3, r3 807e916: 461a mov r2, r3 807e918: 4b42 ldr r3, [pc, #264] ; (807ea24 ) 807e91a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e91e: 461a mov r2, r3 807e920: 215a movs r1, #90 ; 0x5a 807e922: f44f 7083 mov.w r0, #262 ; 0x106 807e926: f7d5 fce9 bl 80542fc LCD_DisplayString(294, LCD_LINE_5, (char *) pNUMS[inner_ikt]); 807e92a: f897 339e ldrb.w r3, [r7, #926] ; 0x39e 807e92e: b2db uxtb r3, r3 807e930: 461a mov r2, r3 807e932: 4b3c ldr r3, [pc, #240] ; (807ea24 ) 807e934: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e938: 461a mov r2, r3 807e93a: 215a movs r1, #90 ; 0x5a 807e93c: f44f 7093 mov.w r0, #294 ; 0x126 807e940: f7d5 fcdc bl 80542fc break; 807e944: f018 be3d b.w 80975c2 if(menupos == UdarInner_IKT) 807e948: 4b33 ldr r3, [pc, #204] ; (807ea18 ) 807e94a: 781b ldrb r3, [r3, #0] 807e94c: b2db uxtb r3, r3 807e94e: 2b0c cmp r3, #12 807e950: f058 8637 bne.w 80975c2 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807e954: 4931 ldr r1, [pc, #196] ; (807ea1c ) 807e956: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807e95a: f7d4 ff27 bl 80537ac if(blk) 807e95e: 4b30 ldr r3, [pc, #192] ; (807ea20 ) 807e960: 681b ldr r3, [r3, #0] 807e962: 2b00 cmp r3, #0 807e964: d00c beq.n 807e980 LCD_DisplayString(294, LCD_LINE_5, (char *) pNUMS[inner_ikt]); 807e966: f897 339e ldrb.w r3, [r7, #926] ; 0x39e 807e96a: b2db uxtb r3, r3 807e96c: 461a mov r2, r3 807e96e: 4b2d ldr r3, [pc, #180] ; (807ea24 ) 807e970: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e974: 461a mov r2, r3 807e976: 215a movs r1, #90 ; 0x5a 807e978: f44f 7093 mov.w r0, #294 ; 0x126 807e97c: f7d5 fcbe bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807e980: 4926 ldr r1, [pc, #152] ; (807ea1c ) 807e982: 4829 ldr r0, [pc, #164] ; (807ea28 ) 807e984: f7d4 ff12 bl 80537ac LCD_DisplayString(198, LCD_LINE_5, (char *) pNUMS[inner_ies]); 807e988: f897 33a3 ldrb.w r3, [r7, #931] ; 0x3a3 807e98c: b2db uxtb r3, r3 807e98e: 461a mov r2, r3 807e990: 4b24 ldr r3, [pc, #144] ; (807ea24 ) 807e992: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e996: 461a mov r2, r3 807e998: 215a movs r1, #90 ; 0x5a 807e99a: 20c6 movs r0, #198 ; 0xc6 807e99c: f7d5 fcae bl 80542fc LCD_DisplayString(214, LCD_LINE_5, (char *) pNUMS[inner_ied]); 807e9a0: f897 33a2 ldrb.w r3, [r7, #930] ; 0x3a2 807e9a4: b2db uxtb r3, r3 807e9a6: 461a mov r2, r3 807e9a8: 4b1e ldr r3, [pc, #120] ; (807ea24 ) 807e9aa: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e9ae: 461a mov r2, r3 807e9b0: 215a movs r1, #90 ; 0x5a 807e9b2: 20d6 movs r0, #214 ; 0xd6 807e9b4: f7d5 fca2 bl 80542fc LCD_DisplayString(230, LCD_LINE_5, (char *) pNUMS[inner_iee]); 807e9b8: f897 33a1 ldrb.w r3, [r7, #929] ; 0x3a1 807e9bc: b2db uxtb r3, r3 807e9be: 461a mov r2, r3 807e9c0: 4b18 ldr r3, [pc, #96] ; (807ea24 ) 807e9c2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e9c6: 461a mov r2, r3 807e9c8: 215a movs r1, #90 ; 0x5a 807e9ca: 20e6 movs r0, #230 ; 0xe6 807e9cc: f7d5 fc96 bl 80542fc LCD_DisplayString(246, LCD_LINE_5, "."); 807e9d0: 4a16 ldr r2, [pc, #88] ; (807ea2c ) 807e9d2: 215a movs r1, #90 ; 0x5a 807e9d4: 20f6 movs r0, #246 ; 0xf6 807e9d6: f7d5 fc91 bl 80542fc LCD_DisplayString(262, LCD_LINE_5, (char *) pNUMS[inner_ikd]); 807e9da: f897 33a0 ldrb.w r3, [r7, #928] ; 0x3a0 807e9de: b2db uxtb r3, r3 807e9e0: 461a mov r2, r3 807e9e2: 4b10 ldr r3, [pc, #64] ; (807ea24 ) 807e9e4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e9e8: 461a mov r2, r3 807e9ea: 215a movs r1, #90 ; 0x5a 807e9ec: f44f 7083 mov.w r0, #262 ; 0x106 807e9f0: f7d5 fc84 bl 80542fc LCD_DisplayString(278, LCD_LINE_5, (char *) pNUMS[inner_iks]); 807e9f4: f897 339f ldrb.w r3, [r7, #927] ; 0x39f 807e9f8: b2db uxtb r3, r3 807e9fa: 461a mov r2, r3 807e9fc: 4b09 ldr r3, [pc, #36] ; (807ea24 ) 807e9fe: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807ea02: 461a mov r2, r3 807ea04: 215a movs r1, #90 ; 0x5a 807ea06: f44f 708b mov.w r0, #278 ; 0x116 807ea0a: f7d5 fc77 bl 80542fc break; 807ea0e: f018 bdd8 b.w 80975c2 if(menupos == UdarRate_IET) 807ea12: bf00 nop break; 807ea14: f018 bdd5 b.w 80975c2 807ea18: 20020070 .word 0x20020070 807ea1c: ff0a0f1f .word 0xff0a0f1f 807ea20: 2002165c .word 0x2002165c 807ea24: 20020964 .word 0x20020964 807ea28: ffd8aa57 .word 0xffd8aa57 807ea2c: 080cf7e8 .word 0x080cf7e8 case PARAM_ROLL: LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 807ea30: 49d5 ldr r1, [pc, #852] ; (807ed88 ) 807ea32: 48d6 ldr r0, [pc, #856] ; (807ed8c ) 807ea34: f7d4 feba bl 80537ac BSP_LCD_DrawRect(2, 35, 314, 201); 807ea38: 23c9 movs r3, #201 ; 0xc9 807ea3a: f44f 729d mov.w r2, #314 ; 0x13a 807ea3e: 2123 movs r1, #35 ; 0x23 807ea40: 2002 movs r0, #2 807ea42: f7d5 f9b9 bl 8053db8 ////////////////////////////////////////////////////////////////// k = (uint32_t) (pardata.MAX_VAL * 10.0f); 807ea46: 4bd2 ldr r3, [pc, #840] ; (807ed90 ) 807ea48: edd3 7a06 vldr s15, [r3, #24] 807ea4c: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 807ea50: ee67 7a87 vmul.f32 s15, s15, s14 807ea54: eefc 7ae7 vcvt.u32.f32 s15, s15 807ea58: ee17 3a90 vmov r3, s15 807ea5c: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 idt2 = (uint8_t) (k / 100000); 807ea60: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 807ea64: 095b lsrs r3, r3, #5 807ea66: 4acb ldr r2, [pc, #812] ; (807ed94 ) 807ea68: fba2 2303 umull r2, r3, r2, r3 807ea6c: 09db lsrs r3, r3, #7 807ea6e: b2db uxtb r3, r3 807ea70: f887 33d8 strb.w r3, [r7, #984] ; 0x3d8 iet2 = (uint8_t) (k % 100000 / 10000); 807ea74: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 807ea78: 0953 lsrs r3, r2, #5 807ea7a: 49c6 ldr r1, [pc, #792] ; (807ed94 ) 807ea7c: fba1 1303 umull r1, r3, r1, r3 807ea80: 09db lsrs r3, r3, #7 807ea82: 49c5 ldr r1, [pc, #788] ; (807ed98 ) 807ea84: fb01 f303 mul.w r3, r1, r3 807ea88: 1ad3 subs r3, r2, r3 807ea8a: 4ac4 ldr r2, [pc, #784] ; (807ed9c ) 807ea8c: fba2 2303 umull r2, r3, r2, r3 807ea90: 0b5b lsrs r3, r3, #13 807ea92: b2db uxtb r3, r3 807ea94: f887 33d7 strb.w r3, [r7, #983] ; 0x3d7 ies2 = (uint8_t) (k % 100000 % 10000 / 1000); 807ea98: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 807ea9c: 0953 lsrs r3, r2, #5 807ea9e: 49bd ldr r1, [pc, #756] ; (807ed94 ) 807eaa0: fba1 1303 umull r1, r3, r1, r3 807eaa4: 09db lsrs r3, r3, #7 807eaa6: 49bc ldr r1, [pc, #752] ; (807ed98 ) 807eaa8: fb01 f303 mul.w r3, r1, r3 807eaac: 1ad3 subs r3, r2, r3 807eaae: 4abb ldr r2, [pc, #748] ; (807ed9c ) 807eab0: fba2 1203 umull r1, r2, r2, r3 807eab4: 0b52 lsrs r2, r2, #13 807eab6: f242 7110 movw r1, #10000 ; 0x2710 807eaba: fb01 f202 mul.w r2, r1, r2 807eabe: 1a9a subs r2, r3, r2 807eac0: 4bb7 ldr r3, [pc, #732] ; (807eda0 ) 807eac2: fba3 2302 umull r2, r3, r3, r2 807eac6: 099b lsrs r3, r3, #6 807eac8: b2db uxtb r3, r3 807eaca: f887 33d6 strb.w r3, [r7, #982] ; 0x3d6 ied2 = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 807eace: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 807ead2: 095a lsrs r2, r3, #5 807ead4: 49af ldr r1, [pc, #700] ; (807ed94 ) 807ead6: fba1 1202 umull r1, r2, r1, r2 807eada: 09d2 lsrs r2, r2, #7 807eadc: 49ae ldr r1, [pc, #696] ; (807ed98 ) 807eade: fb01 f202 mul.w r2, r1, r2 807eae2: 1a9a subs r2, r3, r2 807eae4: 4bad ldr r3, [pc, #692] ; (807ed9c ) 807eae6: fba3 1302 umull r1, r3, r3, r2 807eaea: 0b5b lsrs r3, r3, #13 807eaec: f242 7110 movw r1, #10000 ; 0x2710 807eaf0: fb01 f303 mul.w r3, r1, r3 807eaf4: 1ad3 subs r3, r2, r3 807eaf6: 4aaa ldr r2, [pc, #680] ; (807eda0 ) 807eaf8: fba2 1203 umull r1, r2, r2, r3 807eafc: 0992 lsrs r2, r2, #6 807eafe: f44f 717a mov.w r1, #1000 ; 0x3e8 807eb02: fb01 f202 mul.w r2, r1, r2 807eb06: 1a9a subs r2, r3, r2 807eb08: 4ba6 ldr r3, [pc, #664] ; (807eda4 ) 807eb0a: fba3 2302 umull r2, r3, r3, r2 807eb0e: 095b lsrs r3, r3, #5 807eb10: b2db uxtb r3, r3 807eb12: f887 33d5 strb.w r3, [r7, #981] ; 0x3d5 iee2 = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 807eb16: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 807eb1a: 0953 lsrs r3, r2, #5 807eb1c: 499d ldr r1, [pc, #628] ; (807ed94 ) 807eb1e: fba1 1303 umull r1, r3, r1, r3 807eb22: 09db lsrs r3, r3, #7 807eb24: 499c ldr r1, [pc, #624] ; (807ed98 ) 807eb26: fb01 f303 mul.w r3, r1, r3 807eb2a: 1ad3 subs r3, r2, r3 807eb2c: 4a9b ldr r2, [pc, #620] ; (807ed9c ) 807eb2e: fba2 1203 umull r1, r2, r2, r3 807eb32: 0b52 lsrs r2, r2, #13 807eb34: f242 7110 movw r1, #10000 ; 0x2710 807eb38: fb01 f202 mul.w r2, r1, r2 807eb3c: 1a9a subs r2, r3, r2 807eb3e: 4b98 ldr r3, [pc, #608] ; (807eda0 ) 807eb40: fba3 1302 umull r1, r3, r3, r2 807eb44: 099b lsrs r3, r3, #6 807eb46: f44f 717a mov.w r1, #1000 ; 0x3e8 807eb4a: fb01 f303 mul.w r3, r1, r3 807eb4e: 1ad3 subs r3, r2, r3 807eb50: 4a94 ldr r2, [pc, #592] ; (807eda4 ) 807eb52: fba2 1203 umull r1, r2, r2, r3 807eb56: 0952 lsrs r2, r2, #5 807eb58: 2164 movs r1, #100 ; 0x64 807eb5a: fb01 f202 mul.w r2, r1, r2 807eb5e: 1a9a subs r2, r3, r2 807eb60: 4b91 ldr r3, [pc, #580] ; (807eda8 ) 807eb62: fba3 2302 umull r2, r3, r3, r2 807eb66: 08db lsrs r3, r3, #3 807eb68: b2db uxtb r3, r3 807eb6a: f887 33d4 strb.w r3, [r7, #980] ; 0x3d4 ikd2 = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 807eb6e: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 807eb72: 0953 lsrs r3, r2, #5 807eb74: 4987 ldr r1, [pc, #540] ; (807ed94 ) 807eb76: fba1 1303 umull r1, r3, r1, r3 807eb7a: 09db lsrs r3, r3, #7 807eb7c: 4986 ldr r1, [pc, #536] ; (807ed98 ) 807eb7e: fb01 f303 mul.w r3, r1, r3 807eb82: 1ad3 subs r3, r2, r3 807eb84: 4a85 ldr r2, [pc, #532] ; (807ed9c ) 807eb86: fba2 1203 umull r1, r2, r2, r3 807eb8a: 0b52 lsrs r2, r2, #13 807eb8c: f242 7110 movw r1, #10000 ; 0x2710 807eb90: fb01 f202 mul.w r2, r1, r2 807eb94: 1a9a subs r2, r3, r2 807eb96: 4b82 ldr r3, [pc, #520] ; (807eda0 ) 807eb98: fba3 1302 umull r1, r3, r3, r2 807eb9c: 099b lsrs r3, r3, #6 807eb9e: f44f 717a mov.w r1, #1000 ; 0x3e8 807eba2: fb01 f303 mul.w r3, r1, r3 807eba6: 1ad3 subs r3, r2, r3 807eba8: 4a7e ldr r2, [pc, #504] ; (807eda4 ) 807ebaa: fba2 1203 umull r1, r2, r2, r3 807ebae: 0952 lsrs r2, r2, #5 807ebb0: 2164 movs r1, #100 ; 0x64 807ebb2: fb01 f202 mul.w r2, r1, r2 807ebb6: 1a9a subs r2, r3, r2 807ebb8: 4b7b ldr r3, [pc, #492] ; (807eda8 ) 807ebba: fba3 1302 umull r1, r3, r3, r2 807ebbe: 08d9 lsrs r1, r3, #3 807ebc0: 460b mov r3, r1 807ebc2: 009b lsls r3, r3, #2 807ebc4: 440b add r3, r1 807ebc6: 005b lsls r3, r3, #1 807ebc8: 1ad1 subs r1, r2, r3 807ebca: b2cb uxtb r3, r1 807ebcc: f887 33d3 strb.w r3, [r7, #979] ; 0x3d3 i = 0; 807ebd0: 2300 movs r3, #0 807ebd2: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 memset(str, 0, sizeof(str)); 807ebd6: f507 733b add.w r3, r7, #748 ; 0x2ec 807ebda: 223c movs r2, #60 ; 0x3c 807ebdc: 2100 movs r1, #0 807ebde: 4618 mov r0, r3 807ebe0: f04e fa32 bl 80cd048 if(idt2 != 0) 807ebe4: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 807ebe8: b2db uxtb r3, r3 807ebea: 2b00 cmp r3, #0 807ebec: d00c beq.n 807ec08 str[i++] = idt2 + 48; 807ebee: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807ebf2: 1c5a adds r2, r3, #1 807ebf4: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807ebf8: f897 23d8 ldrb.w r2, [r7, #984] ; 0x3d8 807ebfc: b2d2 uxtb r2, r2 807ebfe: 3230 adds r2, #48 ; 0x30 807ec00: b2d1 uxtb r1, r2 807ec02: f507 723b add.w r2, r7, #748 ; 0x2ec 807ec06: 54d1 strb r1, [r2, r3] if((iet2 != 0) || (idt2 != 0)) 807ec08: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 807ec0c: b2db uxtb r3, r3 807ec0e: 2b00 cmp r3, #0 807ec10: d104 bne.n 807ec1c 807ec12: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 807ec16: b2db uxtb r3, r3 807ec18: 2b00 cmp r3, #0 807ec1a: d00c beq.n 807ec36 str[i++] = iet2 + 48; 807ec1c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807ec20: 1c5a adds r2, r3, #1 807ec22: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807ec26: f897 23d7 ldrb.w r2, [r7, #983] ; 0x3d7 807ec2a: b2d2 uxtb r2, r2 807ec2c: 3230 adds r2, #48 ; 0x30 807ec2e: b2d1 uxtb r1, r2 807ec30: f507 723b add.w r2, r7, #748 ; 0x2ec 807ec34: 54d1 strb r1, [r2, r3] if((ies2 != 0) || (iet2 != 0) || (idt2 != 0)) 807ec36: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 807ec3a: b2db uxtb r3, r3 807ec3c: 2b00 cmp r3, #0 807ec3e: d109 bne.n 807ec54 807ec40: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 807ec44: b2db uxtb r3, r3 807ec46: 2b00 cmp r3, #0 807ec48: d104 bne.n 807ec54 807ec4a: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 807ec4e: b2db uxtb r3, r3 807ec50: 2b00 cmp r3, #0 807ec52: d00c beq.n 807ec6e str[i++] = ies2 + 48; 807ec54: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807ec58: 1c5a adds r2, r3, #1 807ec5a: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807ec5e: f897 23d6 ldrb.w r2, [r7, #982] ; 0x3d6 807ec62: b2d2 uxtb r2, r2 807ec64: 3230 adds r2, #48 ; 0x30 807ec66: b2d1 uxtb r1, r2 807ec68: f507 723b add.w r2, r7, #748 ; 0x2ec 807ec6c: 54d1 strb r1, [r2, r3] if((ied2 != 0) || (ies2 != 0) || (iet2 != 0) || (idt2 != 0)) 807ec6e: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 807ec72: b2db uxtb r3, r3 807ec74: 2b00 cmp r3, #0 807ec76: d10e bne.n 807ec96 807ec78: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 807ec7c: b2db uxtb r3, r3 807ec7e: 2b00 cmp r3, #0 807ec80: d109 bne.n 807ec96 807ec82: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 807ec86: b2db uxtb r3, r3 807ec88: 2b00 cmp r3, #0 807ec8a: d104 bne.n 807ec96 807ec8c: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 807ec90: b2db uxtb r3, r3 807ec92: 2b00 cmp r3, #0 807ec94: d00c beq.n 807ecb0 str[i++] = ied2 + 48; 807ec96: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807ec9a: 1c5a adds r2, r3, #1 807ec9c: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807eca0: f897 23d5 ldrb.w r2, [r7, #981] ; 0x3d5 807eca4: b2d2 uxtb r2, r2 807eca6: 3230 adds r2, #48 ; 0x30 807eca8: b2d1 uxtb r1, r2 807ecaa: f507 723b add.w r2, r7, #748 ; 0x2ec 807ecae: 54d1 strb r1, [r2, r3] str[i++] = iee2 + 48; 807ecb0: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807ecb4: 1c5a adds r2, r3, #1 807ecb6: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807ecba: f897 23d4 ldrb.w r2, [r7, #980] ; 0x3d4 807ecbe: b2d2 uxtb r2, r2 807ecc0: 3230 adds r2, #48 ; 0x30 807ecc2: b2d1 uxtb r1, r2 807ecc4: f507 723b add.w r2, r7, #748 ; 0x2ec 807ecc8: 54d1 strb r1, [r2, r3] str[i++] = '.'; 807ecca: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807ecce: 1c5a adds r2, r3, #1 807ecd0: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807ecd4: f507 723b add.w r2, r7, #748 ; 0x2ec 807ecd8: 212e movs r1, #46 ; 0x2e 807ecda: 54d1 strb r1, [r2, r3] str[i++] = ikd2 + 48; 807ecdc: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807ece0: 1c5a adds r2, r3, #1 807ece2: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807ece6: f897 23d3 ldrb.w r2, [r7, #979] ; 0x3d3 807ecea: b2d2 uxtb r2, r2 807ecec: 3230 adds r2, #48 ; 0x30 807ecee: b2d1 uxtb r1, r2 807ecf0: f507 723b add.w r2, r7, #748 ; 0x2ec 807ecf4: 54d1 strb r1, [r2, r3] ////////////////////////////////////////////////////////////////// k = (uint32_t) (pardata.D_ROLL * 1000.0f); 807ecf6: 4b26 ldr r3, [pc, #152] ; (807ed90 ) 807ecf8: edd3 7a30 vldr s15, [r3, #192] ; 0xc0 807ecfc: ed9f 7a2b vldr s14, [pc, #172] ; 807edac 807ed00: ee67 7a87 vmul.f32 s15, s15, s14 807ed04: eefc 7ae7 vcvt.u32.f32 s15, s15 807ed08: ee17 3a90 vmov r3, s15 807ed0c: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 roll_ies = k / 100000; 807ed10: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 807ed14: 095b lsrs r3, r3, #5 807ed16: 4a1f ldr r2, [pc, #124] ; (807ed94 ) 807ed18: fba2 2303 umull r2, r3, r2, r3 807ed1c: 09db lsrs r3, r3, #7 807ed1e: b2db uxtb r3, r3 807ed20: f887 33b3 strb.w r3, [r7, #947] ; 0x3b3 roll_ied = k % 100000 / 10000; 807ed24: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 807ed28: 0953 lsrs r3, r2, #5 807ed2a: 491a ldr r1, [pc, #104] ; (807ed94 ) 807ed2c: fba1 1303 umull r1, r3, r1, r3 807ed30: 09db lsrs r3, r3, #7 807ed32: 4919 ldr r1, [pc, #100] ; (807ed98 ) 807ed34: fb01 f303 mul.w r3, r1, r3 807ed38: 1ad3 subs r3, r2, r3 807ed3a: 4a18 ldr r2, [pc, #96] ; (807ed9c ) 807ed3c: fba2 2303 umull r2, r3, r2, r3 807ed40: 0b5b lsrs r3, r3, #13 807ed42: b2db uxtb r3, r3 807ed44: f887 33b2 strb.w r3, [r7, #946] ; 0x3b2 roll_iee = k % 100000 % 10000 / 1000; 807ed48: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 807ed4c: 0953 lsrs r3, r2, #5 807ed4e: 4911 ldr r1, [pc, #68] ; (807ed94 ) 807ed50: fba1 1303 umull r1, r3, r1, r3 807ed54: 09db lsrs r3, r3, #7 807ed56: 4910 ldr r1, [pc, #64] ; (807ed98 ) 807ed58: fb01 f303 mul.w r3, r1, r3 807ed5c: 1ad3 subs r3, r2, r3 807ed5e: 4a0f ldr r2, [pc, #60] ; (807ed9c ) 807ed60: fba2 1203 umull r1, r2, r2, r3 807ed64: 0b52 lsrs r2, r2, #13 807ed66: f242 7110 movw r1, #10000 ; 0x2710 807ed6a: fb01 f202 mul.w r2, r1, r2 807ed6e: 1a9a subs r2, r3, r2 807ed70: 4b0b ldr r3, [pc, #44] ; (807eda0 ) 807ed72: fba3 2302 umull r2, r3, r3, r2 807ed76: 099b lsrs r3, r3, #6 807ed78: b2db uxtb r3, r3 807ed7a: f887 33b1 strb.w r3, [r7, #945] ; 0x3b1 roll_ikd = k % 100000 % 10000 % 1000 / 100; 807ed7e: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 807ed82: 095a lsrs r2, r3, #5 807ed84: e014 b.n 807edb0 807ed86: bf00 nop 807ed88: ff0a0f1f .word 0xff0a0f1f 807ed8c: ffd3d3d3 .word 0xffd3d3d3 807ed90: 20023e60 .word 0x20023e60 807ed94: 0a7c5ac5 .word 0x0a7c5ac5 807ed98: 000186a0 .word 0x000186a0 807ed9c: d1b71759 .word 0xd1b71759 807eda0: 10624dd3 .word 0x10624dd3 807eda4: 51eb851f .word 0x51eb851f 807eda8: cccccccd .word 0xcccccccd 807edac: 447a0000 .word 0x447a0000 807edb0: 49da ldr r1, [pc, #872] ; (807f11c ) 807edb2: fba1 1202 umull r1, r2, r1, r2 807edb6: 09d2 lsrs r2, r2, #7 807edb8: 49d9 ldr r1, [pc, #868] ; (807f120 ) 807edba: fb01 f202 mul.w r2, r1, r2 807edbe: 1a9a subs r2, r3, r2 807edc0: 4bd8 ldr r3, [pc, #864] ; (807f124 ) 807edc2: fba3 1302 umull r1, r3, r3, r2 807edc6: 0b5b lsrs r3, r3, #13 807edc8: f242 7110 movw r1, #10000 ; 0x2710 807edcc: fb01 f303 mul.w r3, r1, r3 807edd0: 1ad3 subs r3, r2, r3 807edd2: 4ad5 ldr r2, [pc, #852] ; (807f128 ) 807edd4: fba2 1203 umull r1, r2, r2, r3 807edd8: 0992 lsrs r2, r2, #6 807edda: f44f 717a mov.w r1, #1000 ; 0x3e8 807edde: fb01 f202 mul.w r2, r1, r2 807ede2: 1a9a subs r2, r3, r2 807ede4: 4bd1 ldr r3, [pc, #836] ; (807f12c ) 807ede6: fba3 2302 umull r2, r3, r3, r2 807edea: 095b lsrs r3, r3, #5 807edec: b2db uxtb r3, r3 807edee: f887 33b0 strb.w r3, [r7, #944] ; 0x3b0 roll_iks = k % 100000 % 10000 % 1000 % 100 / 10; 807edf2: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 807edf6: 0953 lsrs r3, r2, #5 807edf8: 49c8 ldr r1, [pc, #800] ; (807f11c ) 807edfa: fba1 1303 umull r1, r3, r1, r3 807edfe: 09db lsrs r3, r3, #7 807ee00: 49c7 ldr r1, [pc, #796] ; (807f120 ) 807ee02: fb01 f303 mul.w r3, r1, r3 807ee06: 1ad3 subs r3, r2, r3 807ee08: 4ac6 ldr r2, [pc, #792] ; (807f124 ) 807ee0a: fba2 1203 umull r1, r2, r2, r3 807ee0e: 0b52 lsrs r2, r2, #13 807ee10: f242 7110 movw r1, #10000 ; 0x2710 807ee14: fb01 f202 mul.w r2, r1, r2 807ee18: 1a9a subs r2, r3, r2 807ee1a: 4bc3 ldr r3, [pc, #780] ; (807f128 ) 807ee1c: fba3 1302 umull r1, r3, r3, r2 807ee20: 099b lsrs r3, r3, #6 807ee22: f44f 717a mov.w r1, #1000 ; 0x3e8 807ee26: fb01 f303 mul.w r3, r1, r3 807ee2a: 1ad3 subs r3, r2, r3 807ee2c: 4abf ldr r2, [pc, #764] ; (807f12c ) 807ee2e: fba2 1203 umull r1, r2, r2, r3 807ee32: 0952 lsrs r2, r2, #5 807ee34: 2164 movs r1, #100 ; 0x64 807ee36: fb01 f202 mul.w r2, r1, r2 807ee3a: 1a9a subs r2, r3, r2 807ee3c: 4bbc ldr r3, [pc, #752] ; (807f130 ) 807ee3e: fba3 2302 umull r2, r3, r3, r2 807ee42: 08db lsrs r3, r3, #3 807ee44: b2db uxtb r3, r3 807ee46: f887 33af strb.w r3, [r7, #943] ; 0x3af roll_ikt = k % 100000 % 10000 % 1000 % 100 % 10; 807ee4a: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 807ee4e: 0953 lsrs r3, r2, #5 807ee50: 49b2 ldr r1, [pc, #712] ; (807f11c ) 807ee52: fba1 1303 umull r1, r3, r1, r3 807ee56: 09db lsrs r3, r3, #7 807ee58: 49b1 ldr r1, [pc, #708] ; (807f120 ) 807ee5a: fb01 f303 mul.w r3, r1, r3 807ee5e: 1ad3 subs r3, r2, r3 807ee60: 4ab0 ldr r2, [pc, #704] ; (807f124 ) 807ee62: fba2 1203 umull r1, r2, r2, r3 807ee66: 0b52 lsrs r2, r2, #13 807ee68: f242 7110 movw r1, #10000 ; 0x2710 807ee6c: fb01 f202 mul.w r2, r1, r2 807ee70: 1a9a subs r2, r3, r2 807ee72: 4bad ldr r3, [pc, #692] ; (807f128 ) 807ee74: fba3 1302 umull r1, r3, r3, r2 807ee78: 099b lsrs r3, r3, #6 807ee7a: f44f 717a mov.w r1, #1000 ; 0x3e8 807ee7e: fb01 f303 mul.w r3, r1, r3 807ee82: 1ad3 subs r3, r2, r3 807ee84: 4aa9 ldr r2, [pc, #676] ; (807f12c ) 807ee86: fba2 1203 umull r1, r2, r2, r3 807ee8a: 0952 lsrs r2, r2, #5 807ee8c: 2164 movs r1, #100 ; 0x64 807ee8e: fb01 f202 mul.w r2, r1, r2 807ee92: 1a9a subs r2, r3, r2 807ee94: 4ba6 ldr r3, [pc, #664] ; (807f130 ) 807ee96: fba3 1302 umull r1, r3, r3, r2 807ee9a: 08d9 lsrs r1, r3, #3 807ee9c: 460b mov r3, r1 807ee9e: 009b lsls r3, r3, #2 807eea0: 440b add r3, r1 807eea2: 005b lsls r3, r3, #1 807eea4: 1ad1 subs r1, r2, r3 807eea6: b2cb uxtb r3, r1 807eea8: f887 33ae strb.w r3, [r7, #942] ; 0x3ae i = 0; 807eeac: 2300 movs r3, #0 807eeae: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 memset(str_roll, 0, sizeof(str_roll)); 807eeb2: f507 735e add.w r3, r7, #888 ; 0x378 807eeb6: 2214 movs r2, #20 807eeb8: 2100 movs r1, #0 807eeba: 4618 mov r0, r3 807eebc: f04e f8c4 bl 80cd048 if(roll_ies != 0) 807eec0: f897 33b3 ldrb.w r3, [r7, #947] ; 0x3b3 807eec4: b2db uxtb r3, r3 807eec6: 2b00 cmp r3, #0 807eec8: d00e beq.n 807eee8 str_roll[i++] = roll_ies + 48; 807eeca: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807eece: 1c5a adds r2, r3, #1 807eed0: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807eed4: f897 23b3 ldrb.w r2, [r7, #947] ; 0x3b3 807eed8: b2d2 uxtb r2, r2 807eeda: 3230 adds r2, #48 ; 0x30 807eedc: b2d2 uxtb r2, r2 807eede: f507 618e add.w r1, r7, #1136 ; 0x470 807eee2: 440b add r3, r1 807eee4: f803 2cf8 strb.w r2, [r3, #-248] if((roll_ies != 0) || (roll_ied != 0)) 807eee8: f897 33b3 ldrb.w r3, [r7, #947] ; 0x3b3 807eeec: b2db uxtb r3, r3 807eeee: 2b00 cmp r3, #0 807eef0: d104 bne.n 807eefc 807eef2: f897 33b2 ldrb.w r3, [r7, #946] ; 0x3b2 807eef6: b2db uxtb r3, r3 807eef8: 2b00 cmp r3, #0 807eefa: d00e beq.n 807ef1a str_roll[i++] = roll_ied + 48; 807eefc: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807ef00: 1c5a adds r2, r3, #1 807ef02: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807ef06: f897 23b2 ldrb.w r2, [r7, #946] ; 0x3b2 807ef0a: b2d2 uxtb r2, r2 807ef0c: 3230 adds r2, #48 ; 0x30 807ef0e: b2d2 uxtb r2, r2 807ef10: f507 618e add.w r1, r7, #1136 ; 0x470 807ef14: 440b add r3, r1 807ef16: f803 2cf8 strb.w r2, [r3, #-248] str_roll[i++] = roll_iee + 48; 807ef1a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807ef1e: 1c5a adds r2, r3, #1 807ef20: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807ef24: f897 23b1 ldrb.w r2, [r7, #945] ; 0x3b1 807ef28: b2d2 uxtb r2, r2 807ef2a: 3230 adds r2, #48 ; 0x30 807ef2c: b2d2 uxtb r2, r2 807ef2e: f507 618e add.w r1, r7, #1136 ; 0x470 807ef32: 440b add r3, r1 807ef34: f803 2cf8 strb.w r2, [r3, #-248] str_roll[i++] = '.'; 807ef38: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807ef3c: 1c5a adds r2, r3, #1 807ef3e: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807ef42: f507 628e add.w r2, r7, #1136 ; 0x470 807ef46: 4413 add r3, r2 807ef48: 222e movs r2, #46 ; 0x2e 807ef4a: f803 2cf8 strb.w r2, [r3, #-248] str_roll[i++] = roll_ikd + 48; 807ef4e: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807ef52: 1c5a adds r2, r3, #1 807ef54: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807ef58: f897 23b0 ldrb.w r2, [r7, #944] ; 0x3b0 807ef5c: b2d2 uxtb r2, r2 807ef5e: 3230 adds r2, #48 ; 0x30 807ef60: b2d2 uxtb r2, r2 807ef62: f507 618e add.w r1, r7, #1136 ; 0x470 807ef66: 440b add r3, r1 807ef68: f803 2cf8 strb.w r2, [r3, #-248] str_roll[i++] = roll_iks + 48; 807ef6c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807ef70: 1c5a adds r2, r3, #1 807ef72: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807ef76: f897 23af ldrb.w r2, [r7, #943] ; 0x3af 807ef7a: b2d2 uxtb r2, r2 807ef7c: 3230 adds r2, #48 ; 0x30 807ef7e: b2d2 uxtb r2, r2 807ef80: f507 618e add.w r1, r7, #1136 ; 0x470 807ef84: 440b add r3, r1 807ef86: f803 2cf8 strb.w r2, [r3, #-248] str_roll[i++] = roll_ikt + 48; 807ef8a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807ef8e: 1c5a adds r2, r3, #1 807ef90: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807ef94: f897 23ae ldrb.w r2, [r7, #942] ; 0x3ae 807ef98: b2d2 uxtb r2, r2 807ef9a: 3230 adds r2, #48 ; 0x30 807ef9c: b2d2 uxtb r2, r2 807ef9e: f507 618e add.w r1, r7, #1136 ; 0x470 807efa2: 440b add r3, r1 807efa4: f803 2cf8 strb.w r2, [r3, #-248] ////////////////////////////////////////////////////////////////// k = (uint32_t) (pardata.D_OUTER * 1000.0f); 807efa8: 4b62 ldr r3, [pc, #392] ; (807f134 ) 807efaa: edd3 7a31 vldr s15, [r3, #196] ; 0xc4 807efae: ed9f 7a62 vldr s14, [pc, #392] ; 807f138 807efb2: ee67 7a87 vmul.f32 s15, s15, s14 807efb6: eefc 7ae7 vcvt.u32.f32 s15, s15 807efba: ee17 3a90 vmov r3, s15 807efbe: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 outer_ies = k / 100000; 807efc2: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 807efc6: 095b lsrs r3, r3, #5 807efc8: 4a54 ldr r2, [pc, #336] ; (807f11c ) 807efca: fba2 2303 umull r2, r3, r2, r3 807efce: 09db lsrs r3, r3, #7 807efd0: b2db uxtb r3, r3 807efd2: f887 33ab strb.w r3, [r7, #939] ; 0x3ab outer_ied = k % 100000 / 10000; 807efd6: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 807efda: 0953 lsrs r3, r2, #5 807efdc: 494f ldr r1, [pc, #316] ; (807f11c ) 807efde: fba1 1303 umull r1, r3, r1, r3 807efe2: 09db lsrs r3, r3, #7 807efe4: 494e ldr r1, [pc, #312] ; (807f120 ) 807efe6: fb01 f303 mul.w r3, r1, r3 807efea: 1ad3 subs r3, r2, r3 807efec: 4a4d ldr r2, [pc, #308] ; (807f124 ) 807efee: fba2 2303 umull r2, r3, r2, r3 807eff2: 0b5b lsrs r3, r3, #13 807eff4: b2db uxtb r3, r3 807eff6: f887 33aa strb.w r3, [r7, #938] ; 0x3aa outer_iee = k % 100000 % 10000 / 1000; 807effa: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 807effe: 0953 lsrs r3, r2, #5 807f000: 4946 ldr r1, [pc, #280] ; (807f11c ) 807f002: fba1 1303 umull r1, r3, r1, r3 807f006: 09db lsrs r3, r3, #7 807f008: 4945 ldr r1, [pc, #276] ; (807f120 ) 807f00a: fb01 f303 mul.w r3, r1, r3 807f00e: 1ad3 subs r3, r2, r3 807f010: 4a44 ldr r2, [pc, #272] ; (807f124 ) 807f012: fba2 1203 umull r1, r2, r2, r3 807f016: 0b52 lsrs r2, r2, #13 807f018: f242 7110 movw r1, #10000 ; 0x2710 807f01c: fb01 f202 mul.w r2, r1, r2 807f020: 1a9a subs r2, r3, r2 807f022: 4b41 ldr r3, [pc, #260] ; (807f128 ) 807f024: fba3 2302 umull r2, r3, r3, r2 807f028: 099b lsrs r3, r3, #6 807f02a: b2db uxtb r3, r3 807f02c: f887 33a9 strb.w r3, [r7, #937] ; 0x3a9 outer_ikd = k % 100000 % 10000 % 1000 / 100; 807f030: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 807f034: 095a lsrs r2, r3, #5 807f036: 4939 ldr r1, [pc, #228] ; (807f11c ) 807f038: fba1 1202 umull r1, r2, r1, r2 807f03c: 09d2 lsrs r2, r2, #7 807f03e: 4938 ldr r1, [pc, #224] ; (807f120 ) 807f040: fb01 f202 mul.w r2, r1, r2 807f044: 1a9a subs r2, r3, r2 807f046: 4b37 ldr r3, [pc, #220] ; (807f124 ) 807f048: fba3 1302 umull r1, r3, r3, r2 807f04c: 0b5b lsrs r3, r3, #13 807f04e: f242 7110 movw r1, #10000 ; 0x2710 807f052: fb01 f303 mul.w r3, r1, r3 807f056: 1ad3 subs r3, r2, r3 807f058: 4a33 ldr r2, [pc, #204] ; (807f128 ) 807f05a: fba2 1203 umull r1, r2, r2, r3 807f05e: 0992 lsrs r2, r2, #6 807f060: f44f 717a mov.w r1, #1000 ; 0x3e8 807f064: fb01 f202 mul.w r2, r1, r2 807f068: 1a9a subs r2, r3, r2 807f06a: 4b30 ldr r3, [pc, #192] ; (807f12c ) 807f06c: fba3 2302 umull r2, r3, r3, r2 807f070: 095b lsrs r3, r3, #5 807f072: b2db uxtb r3, r3 807f074: f887 33a8 strb.w r3, [r7, #936] ; 0x3a8 outer_iks = k % 100000 % 10000 % 1000 % 100 / 10; 807f078: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 807f07c: 0953 lsrs r3, r2, #5 807f07e: 4927 ldr r1, [pc, #156] ; (807f11c ) 807f080: fba1 1303 umull r1, r3, r1, r3 807f084: 09db lsrs r3, r3, #7 807f086: 4926 ldr r1, [pc, #152] ; (807f120 ) 807f088: fb01 f303 mul.w r3, r1, r3 807f08c: 1ad3 subs r3, r2, r3 807f08e: 4a25 ldr r2, [pc, #148] ; (807f124 ) 807f090: fba2 1203 umull r1, r2, r2, r3 807f094: 0b52 lsrs r2, r2, #13 807f096: f242 7110 movw r1, #10000 ; 0x2710 807f09a: fb01 f202 mul.w r2, r1, r2 807f09e: 1a9a subs r2, r3, r2 807f0a0: 4b21 ldr r3, [pc, #132] ; (807f128 ) 807f0a2: fba3 1302 umull r1, r3, r3, r2 807f0a6: 099b lsrs r3, r3, #6 807f0a8: f44f 717a mov.w r1, #1000 ; 0x3e8 807f0ac: fb01 f303 mul.w r3, r1, r3 807f0b0: 1ad3 subs r3, r2, r3 807f0b2: 4a1e ldr r2, [pc, #120] ; (807f12c ) 807f0b4: fba2 1203 umull r1, r2, r2, r3 807f0b8: 0952 lsrs r2, r2, #5 807f0ba: 2164 movs r1, #100 ; 0x64 807f0bc: fb01 f202 mul.w r2, r1, r2 807f0c0: 1a9a subs r2, r3, r2 807f0c2: 4b1b ldr r3, [pc, #108] ; (807f130 ) 807f0c4: fba3 2302 umull r2, r3, r3, r2 807f0c8: 08db lsrs r3, r3, #3 807f0ca: b2db uxtb r3, r3 807f0cc: f887 33a7 strb.w r3, [r7, #935] ; 0x3a7 outer_ikt = k % 100000 % 10000 % 1000 % 100 % 10; 807f0d0: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 807f0d4: 0953 lsrs r3, r2, #5 807f0d6: 4911 ldr r1, [pc, #68] ; (807f11c ) 807f0d8: fba1 1303 umull r1, r3, r1, r3 807f0dc: 09db lsrs r3, r3, #7 807f0de: 4910 ldr r1, [pc, #64] ; (807f120 ) 807f0e0: fb01 f303 mul.w r3, r1, r3 807f0e4: 1ad3 subs r3, r2, r3 807f0e6: 4a0f ldr r2, [pc, #60] ; (807f124 ) 807f0e8: fba2 1203 umull r1, r2, r2, r3 807f0ec: 0b52 lsrs r2, r2, #13 807f0ee: f242 7110 movw r1, #10000 ; 0x2710 807f0f2: fb01 f202 mul.w r2, r1, r2 807f0f6: 1a9a subs r2, r3, r2 807f0f8: 4b0b ldr r3, [pc, #44] ; (807f128 ) 807f0fa: fba3 1302 umull r1, r3, r3, r2 807f0fe: 099b lsrs r3, r3, #6 807f100: f44f 717a mov.w r1, #1000 ; 0x3e8 807f104: fb01 f303 mul.w r3, r1, r3 807f108: 1ad3 subs r3, r2, r3 807f10a: 4a08 ldr r2, [pc, #32] ; (807f12c ) 807f10c: fba2 1203 umull r1, r2, r2, r3 807f110: 0952 lsrs r2, r2, #5 807f112: 2164 movs r1, #100 ; 0x64 807f114: fb01 f202 mul.w r2, r1, r2 807f118: 1a9a subs r2, r3, r2 807f11a: e00f b.n 807f13c 807f11c: 0a7c5ac5 .word 0x0a7c5ac5 807f120: 000186a0 .word 0x000186a0 807f124: d1b71759 .word 0xd1b71759 807f128: 10624dd3 .word 0x10624dd3 807f12c: 51eb851f .word 0x51eb851f 807f130: cccccccd .word 0xcccccccd 807f134: 20023e60 .word 0x20023e60 807f138: 447a0000 .word 0x447a0000 807f13c: 4bb3 ldr r3, [pc, #716] ; (807f40c ) 807f13e: fba3 1302 umull r1, r3, r3, r2 807f142: 08d9 lsrs r1, r3, #3 807f144: 460b mov r3, r1 807f146: 009b lsls r3, r3, #2 807f148: 440b add r3, r1 807f14a: 005b lsls r3, r3, #1 807f14c: 1ad1 subs r1, r2, r3 807f14e: b2cb uxtb r3, r1 807f150: f887 33a6 strb.w r3, [r7, #934] ; 0x3a6 i = 0; 807f154: 2300 movs r3, #0 807f156: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 memset(str_outer, 0, sizeof(str_outer)); 807f15a: f507 7359 add.w r3, r7, #868 ; 0x364 807f15e: 2214 movs r2, #20 807f160: 2100 movs r1, #0 807f162: 4618 mov r0, r3 807f164: f04d ff70 bl 80cd048 if(outer_ies != 0) 807f168: f897 33ab ldrb.w r3, [r7, #939] ; 0x3ab 807f16c: b2db uxtb r3, r3 807f16e: 2b00 cmp r3, #0 807f170: d00c beq.n 807f18c str_outer[i++] = outer_ies + 48; 807f172: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807f176: 1c5a adds r2, r3, #1 807f178: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807f17c: f897 23ab ldrb.w r2, [r7, #939] ; 0x3ab 807f180: b2d2 uxtb r2, r2 807f182: 3230 adds r2, #48 ; 0x30 807f184: b2d1 uxtb r1, r2 807f186: f507 7259 add.w r2, r7, #868 ; 0x364 807f18a: 54d1 strb r1, [r2, r3] if((outer_ies != 0) || (outer_ied != 0)) 807f18c: f897 33ab ldrb.w r3, [r7, #939] ; 0x3ab 807f190: b2db uxtb r3, r3 807f192: 2b00 cmp r3, #0 807f194: d104 bne.n 807f1a0 807f196: f897 33aa ldrb.w r3, [r7, #938] ; 0x3aa 807f19a: b2db uxtb r3, r3 807f19c: 2b00 cmp r3, #0 807f19e: d00c beq.n 807f1ba str_outer[i++] = outer_ied + 48; 807f1a0: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807f1a4: 1c5a adds r2, r3, #1 807f1a6: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807f1aa: f897 23aa ldrb.w r2, [r7, #938] ; 0x3aa 807f1ae: b2d2 uxtb r2, r2 807f1b0: 3230 adds r2, #48 ; 0x30 807f1b2: b2d1 uxtb r1, r2 807f1b4: f507 7259 add.w r2, r7, #868 ; 0x364 807f1b8: 54d1 strb r1, [r2, r3] str_outer[i++] = outer_iee + 48; 807f1ba: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807f1be: 1c5a adds r2, r3, #1 807f1c0: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807f1c4: f897 23a9 ldrb.w r2, [r7, #937] ; 0x3a9 807f1c8: b2d2 uxtb r2, r2 807f1ca: 3230 adds r2, #48 ; 0x30 807f1cc: b2d1 uxtb r1, r2 807f1ce: f507 7259 add.w r2, r7, #868 ; 0x364 807f1d2: 54d1 strb r1, [r2, r3] str_outer[i++] = '.'; 807f1d4: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807f1d8: 1c5a adds r2, r3, #1 807f1da: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807f1de: f507 7259 add.w r2, r7, #868 ; 0x364 807f1e2: 212e movs r1, #46 ; 0x2e 807f1e4: 54d1 strb r1, [r2, r3] str_outer[i++] = outer_ikd + 48; 807f1e6: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807f1ea: 1c5a adds r2, r3, #1 807f1ec: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807f1f0: f897 23a8 ldrb.w r2, [r7, #936] ; 0x3a8 807f1f4: b2d2 uxtb r2, r2 807f1f6: 3230 adds r2, #48 ; 0x30 807f1f8: b2d1 uxtb r1, r2 807f1fa: f507 7259 add.w r2, r7, #868 ; 0x364 807f1fe: 54d1 strb r1, [r2, r3] str_outer[i++] = outer_iks + 48; 807f200: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807f204: 1c5a adds r2, r3, #1 807f206: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807f20a: f897 23a7 ldrb.w r2, [r7, #935] ; 0x3a7 807f20e: b2d2 uxtb r2, r2 807f210: 3230 adds r2, #48 ; 0x30 807f212: b2d1 uxtb r1, r2 807f214: f507 7259 add.w r2, r7, #868 ; 0x364 807f218: 54d1 strb r1, [r2, r3] str_outer[i++] = outer_ikt + 48; 807f21a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807f21e: 1c5a adds r2, r3, #1 807f220: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807f224: f897 23a6 ldrb.w r2, [r7, #934] ; 0x3a6 807f228: b2d2 uxtb r2, r2 807f22a: 3230 adds r2, #48 ; 0x30 807f22c: b2d1 uxtb r1, r2 807f22e: f507 7259 add.w r2, r7, #868 ; 0x364 807f232: 54d1 strb r1, [r2, r3] ////////////////////////////////////////////////////////////////// k = (uint32_t) (pardata.D_INNER * 1000.0f); 807f234: 4b76 ldr r3, [pc, #472] ; (807f410 ) 807f236: edd3 7a32 vldr s15, [r3, #200] ; 0xc8 807f23a: ed9f 7a76 vldr s14, [pc, #472] ; 807f414 807f23e: ee67 7a87 vmul.f32 s15, s15, s14 807f242: eefc 7ae7 vcvt.u32.f32 s15, s15 807f246: ee17 3a90 vmov r3, s15 807f24a: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 inner_ies = k / 100000; 807f24e: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 807f252: 095b lsrs r3, r3, #5 807f254: 4a70 ldr r2, [pc, #448] ; (807f418 ) 807f256: fba2 2303 umull r2, r3, r2, r3 807f25a: 09db lsrs r3, r3, #7 807f25c: b2db uxtb r3, r3 807f25e: f887 33a3 strb.w r3, [r7, #931] ; 0x3a3 inner_ied = k % 100000 / 10000; 807f262: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 807f266: 0953 lsrs r3, r2, #5 807f268: 496b ldr r1, [pc, #428] ; (807f418 ) 807f26a: fba1 1303 umull r1, r3, r1, r3 807f26e: 09db lsrs r3, r3, #7 807f270: 496a ldr r1, [pc, #424] ; (807f41c ) 807f272: fb01 f303 mul.w r3, r1, r3 807f276: 1ad3 subs r3, r2, r3 807f278: 4a69 ldr r2, [pc, #420] ; (807f420 ) 807f27a: fba2 2303 umull r2, r3, r2, r3 807f27e: 0b5b lsrs r3, r3, #13 807f280: b2db uxtb r3, r3 807f282: f887 33a2 strb.w r3, [r7, #930] ; 0x3a2 inner_iee = k % 100000 % 10000 / 1000; 807f286: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 807f28a: 0953 lsrs r3, r2, #5 807f28c: 4962 ldr r1, [pc, #392] ; (807f418 ) 807f28e: fba1 1303 umull r1, r3, r1, r3 807f292: 09db lsrs r3, r3, #7 807f294: 4961 ldr r1, [pc, #388] ; (807f41c ) 807f296: fb01 f303 mul.w r3, r1, r3 807f29a: 1ad3 subs r3, r2, r3 807f29c: 4a60 ldr r2, [pc, #384] ; (807f420 ) 807f29e: fba2 1203 umull r1, r2, r2, r3 807f2a2: 0b52 lsrs r2, r2, #13 807f2a4: f242 7110 movw r1, #10000 ; 0x2710 807f2a8: fb01 f202 mul.w r2, r1, r2 807f2ac: 1a9a subs r2, r3, r2 807f2ae: 4b5d ldr r3, [pc, #372] ; (807f424 ) 807f2b0: fba3 2302 umull r2, r3, r3, r2 807f2b4: 099b lsrs r3, r3, #6 807f2b6: b2db uxtb r3, r3 807f2b8: f887 33a1 strb.w r3, [r7, #929] ; 0x3a1 inner_ikd = k % 100000 % 10000 % 1000 / 100; 807f2bc: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 807f2c0: 095a lsrs r2, r3, #5 807f2c2: 4955 ldr r1, [pc, #340] ; (807f418 ) 807f2c4: fba1 1202 umull r1, r2, r1, r2 807f2c8: 09d2 lsrs r2, r2, #7 807f2ca: 4954 ldr r1, [pc, #336] ; (807f41c ) 807f2cc: fb01 f202 mul.w r2, r1, r2 807f2d0: 1a9a subs r2, r3, r2 807f2d2: 4b53 ldr r3, [pc, #332] ; (807f420 ) 807f2d4: fba3 1302 umull r1, r3, r3, r2 807f2d8: 0b5b lsrs r3, r3, #13 807f2da: f242 7110 movw r1, #10000 ; 0x2710 807f2de: fb01 f303 mul.w r3, r1, r3 807f2e2: 1ad3 subs r3, r2, r3 807f2e4: 4a4f ldr r2, [pc, #316] ; (807f424 ) 807f2e6: fba2 1203 umull r1, r2, r2, r3 807f2ea: 0992 lsrs r2, r2, #6 807f2ec: f44f 717a mov.w r1, #1000 ; 0x3e8 807f2f0: fb01 f202 mul.w r2, r1, r2 807f2f4: 1a9a subs r2, r3, r2 807f2f6: 4b4c ldr r3, [pc, #304] ; (807f428 ) 807f2f8: fba3 2302 umull r2, r3, r3, r2 807f2fc: 095b lsrs r3, r3, #5 807f2fe: b2db uxtb r3, r3 807f300: f887 33a0 strb.w r3, [r7, #928] ; 0x3a0 inner_iks = k % 100000 % 10000 % 1000 % 100 / 10; 807f304: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 807f308: 0953 lsrs r3, r2, #5 807f30a: 4943 ldr r1, [pc, #268] ; (807f418 ) 807f30c: fba1 1303 umull r1, r3, r1, r3 807f310: 09db lsrs r3, r3, #7 807f312: 4942 ldr r1, [pc, #264] ; (807f41c ) 807f314: fb01 f303 mul.w r3, r1, r3 807f318: 1ad3 subs r3, r2, r3 807f31a: 4a41 ldr r2, [pc, #260] ; (807f420 ) 807f31c: fba2 1203 umull r1, r2, r2, r3 807f320: 0b52 lsrs r2, r2, #13 807f322: f242 7110 movw r1, #10000 ; 0x2710 807f326: fb01 f202 mul.w r2, r1, r2 807f32a: 1a9a subs r2, r3, r2 807f32c: 4b3d ldr r3, [pc, #244] ; (807f424 ) 807f32e: fba3 1302 umull r1, r3, r3, r2 807f332: 099b lsrs r3, r3, #6 807f334: f44f 717a mov.w r1, #1000 ; 0x3e8 807f338: fb01 f303 mul.w r3, r1, r3 807f33c: 1ad3 subs r3, r2, r3 807f33e: 4a3a ldr r2, [pc, #232] ; (807f428 ) 807f340: fba2 1203 umull r1, r2, r2, r3 807f344: 0952 lsrs r2, r2, #5 807f346: 2164 movs r1, #100 ; 0x64 807f348: fb01 f202 mul.w r2, r1, r2 807f34c: 1a9a subs r2, r3, r2 807f34e: 4b2f ldr r3, [pc, #188] ; (807f40c ) 807f350: fba3 2302 umull r2, r3, r3, r2 807f354: 08db lsrs r3, r3, #3 807f356: b2db uxtb r3, r3 807f358: f887 339f strb.w r3, [r7, #927] ; 0x39f inner_ikt = k % 100000 % 10000 % 1000 % 100 % 10; 807f35c: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 807f360: 0953 lsrs r3, r2, #5 807f362: 492d ldr r1, [pc, #180] ; (807f418 ) 807f364: fba1 1303 umull r1, r3, r1, r3 807f368: 09db lsrs r3, r3, #7 807f36a: 492c ldr r1, [pc, #176] ; (807f41c ) 807f36c: fb01 f303 mul.w r3, r1, r3 807f370: 1ad3 subs r3, r2, r3 807f372: 4a2b ldr r2, [pc, #172] ; (807f420 ) 807f374: fba2 1203 umull r1, r2, r2, r3 807f378: 0b52 lsrs r2, r2, #13 807f37a: f242 7110 movw r1, #10000 ; 0x2710 807f37e: fb01 f202 mul.w r2, r1, r2 807f382: 1a9a subs r2, r3, r2 807f384: 4b27 ldr r3, [pc, #156] ; (807f424 ) 807f386: fba3 1302 umull r1, r3, r3, r2 807f38a: 099b lsrs r3, r3, #6 807f38c: f44f 717a mov.w r1, #1000 ; 0x3e8 807f390: fb01 f303 mul.w r3, r1, r3 807f394: 1ad3 subs r3, r2, r3 807f396: 4a24 ldr r2, [pc, #144] ; (807f428 ) 807f398: fba2 1203 umull r1, r2, r2, r3 807f39c: 0952 lsrs r2, r2, #5 807f39e: 2164 movs r1, #100 ; 0x64 807f3a0: fb01 f202 mul.w r2, r1, r2 807f3a4: 1a9a subs r2, r3, r2 807f3a6: 4b19 ldr r3, [pc, #100] ; (807f40c ) 807f3a8: fba3 1302 umull r1, r3, r3, r2 807f3ac: 08d9 lsrs r1, r3, #3 807f3ae: 460b mov r3, r1 807f3b0: 009b lsls r3, r3, #2 807f3b2: 440b add r3, r1 807f3b4: 005b lsls r3, r3, #1 807f3b6: 1ad1 subs r1, r2, r3 807f3b8: b2cb uxtb r3, r1 807f3ba: f887 339e strb.w r3, [r7, #926] ; 0x39e i = 0; 807f3be: 2300 movs r3, #0 807f3c0: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 memset(str_inner, 0, sizeof(str_inner)); 807f3c4: f507 7354 add.w r3, r7, #848 ; 0x350 807f3c8: 2214 movs r2, #20 807f3ca: 2100 movs r1, #0 807f3cc: 4618 mov r0, r3 807f3ce: f04d fe3b bl 80cd048 if(inner_ies != 0) 807f3d2: f897 33a3 ldrb.w r3, [r7, #931] ; 0x3a3 807f3d6: b2db uxtb r3, r3 807f3d8: 2b00 cmp r3, #0 807f3da: d00c beq.n 807f3f6 str_inner[i++] = inner_ies + 48; 807f3dc: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807f3e0: 1c5a adds r2, r3, #1 807f3e2: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807f3e6: f897 23a3 ldrb.w r2, [r7, #931] ; 0x3a3 807f3ea: b2d2 uxtb r2, r2 807f3ec: 3230 adds r2, #48 ; 0x30 807f3ee: b2d1 uxtb r1, r2 807f3f0: f507 7254 add.w r2, r7, #848 ; 0x350 807f3f4: 54d1 strb r1, [r2, r3] if((inner_ies != 0) || (inner_ied != 0)) 807f3f6: f897 33a3 ldrb.w r3, [r7, #931] ; 0x3a3 807f3fa: b2db uxtb r3, r3 807f3fc: 2b00 cmp r3, #0 807f3fe: d115 bne.n 807f42c 807f400: f897 33a2 ldrb.w r3, [r7, #930] ; 0x3a2 807f404: b2db uxtb r3, r3 807f406: 2b00 cmp r3, #0 807f408: d01d beq.n 807f446 807f40a: e00f b.n 807f42c 807f40c: cccccccd .word 0xcccccccd 807f410: 20023e60 .word 0x20023e60 807f414: 447a0000 .word 0x447a0000 807f418: 0a7c5ac5 .word 0x0a7c5ac5 807f41c: 000186a0 .word 0x000186a0 807f420: d1b71759 .word 0xd1b71759 807f424: 10624dd3 .word 0x10624dd3 807f428: 51eb851f .word 0x51eb851f str_inner[i++] = inner_ied + 48; 807f42c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807f430: 1c5a adds r2, r3, #1 807f432: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807f436: f897 23a2 ldrb.w r2, [r7, #930] ; 0x3a2 807f43a: b2d2 uxtb r2, r2 807f43c: 3230 adds r2, #48 ; 0x30 807f43e: b2d1 uxtb r1, r2 807f440: f507 7254 add.w r2, r7, #848 ; 0x350 807f444: 54d1 strb r1, [r2, r3] str_inner[i++] = inner_iee + 48; 807f446: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807f44a: 1c5a adds r2, r3, #1 807f44c: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807f450: f897 23a1 ldrb.w r2, [r7, #929] ; 0x3a1 807f454: b2d2 uxtb r2, r2 807f456: 3230 adds r2, #48 ; 0x30 807f458: b2d1 uxtb r1, r2 807f45a: f507 7254 add.w r2, r7, #848 ; 0x350 807f45e: 54d1 strb r1, [r2, r3] str_inner[i++] = '.'; 807f460: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807f464: 1c5a adds r2, r3, #1 807f466: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807f46a: f507 7254 add.w r2, r7, #848 ; 0x350 807f46e: 212e movs r1, #46 ; 0x2e 807f470: 54d1 strb r1, [r2, r3] str_inner[i++] = inner_ikd + 48; 807f472: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807f476: 1c5a adds r2, r3, #1 807f478: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807f47c: f897 23a0 ldrb.w r2, [r7, #928] ; 0x3a0 807f480: b2d2 uxtb r2, r2 807f482: 3230 adds r2, #48 ; 0x30 807f484: b2d1 uxtb r1, r2 807f486: f507 7254 add.w r2, r7, #848 ; 0x350 807f48a: 54d1 strb r1, [r2, r3] str_inner[i++] = inner_iks + 48; 807f48c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807f490: 1c5a adds r2, r3, #1 807f492: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807f496: f897 239f ldrb.w r2, [r7, #927] ; 0x39f 807f49a: b2d2 uxtb r2, r2 807f49c: 3230 adds r2, #48 ; 0x30 807f49e: b2d1 uxtb r1, r2 807f4a0: f507 7254 add.w r2, r7, #848 ; 0x350 807f4a4: 54d1 strb r1, [r2, r3] str_inner[i++] = inner_ikt + 48; 807f4a6: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807f4aa: 1c5a adds r2, r3, #1 807f4ac: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807f4b0: f897 239e ldrb.w r2, [r7, #926] ; 0x39e 807f4b4: b2d2 uxtb r2, r2 807f4b6: 3230 adds r2, #48 ; 0x30 807f4b8: b2d1 uxtb r1, r2 807f4ba: f507 7254 add.w r2, r7, #848 ; 0x350 807f4be: 54d1 strb r1, [r2, r3] ////////////////////////////////////////////////////////////////// k = (uint32_t) (pardata.D_ANGLE * 1000.0f); 807f4c0: 4bcd ldr r3, [pc, #820] ; (807f7f8 ) 807f4c2: edd3 7a33 vldr s15, [r3, #204] ; 0xcc 807f4c6: ed9f 7acd vldr s14, [pc, #820] ; 807f7fc 807f4ca: ee67 7a87 vmul.f32 s15, s15, s14 807f4ce: eefc 7ae7 vcvt.u32.f32 s15, s15 807f4d2: ee17 3a90 vmov r3, s15 807f4d6: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 angle_ies = k / 100000; 807f4da: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 807f4de: 095b lsrs r3, r3, #5 807f4e0: 4ac7 ldr r2, [pc, #796] ; (807f800 ) 807f4e2: fba2 2303 umull r2, r3, r2, r3 807f4e6: 09db lsrs r3, r3, #7 807f4e8: b2db uxtb r3, r3 807f4ea: f887 339b strb.w r3, [r7, #923] ; 0x39b angle_ied = k % 100000 / 10000; 807f4ee: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 807f4f2: 0953 lsrs r3, r2, #5 807f4f4: 49c2 ldr r1, [pc, #776] ; (807f800 ) 807f4f6: fba1 1303 umull r1, r3, r1, r3 807f4fa: 09db lsrs r3, r3, #7 807f4fc: 49c1 ldr r1, [pc, #772] ; (807f804 ) 807f4fe: fb01 f303 mul.w r3, r1, r3 807f502: 1ad3 subs r3, r2, r3 807f504: 4ac0 ldr r2, [pc, #768] ; (807f808 ) 807f506: fba2 2303 umull r2, r3, r2, r3 807f50a: 0b5b lsrs r3, r3, #13 807f50c: b2db uxtb r3, r3 807f50e: f887 339a strb.w r3, [r7, #922] ; 0x39a angle_iee = k % 100000 % 10000 / 1000; 807f512: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 807f516: 0953 lsrs r3, r2, #5 807f518: 49b9 ldr r1, [pc, #740] ; (807f800 ) 807f51a: fba1 1303 umull r1, r3, r1, r3 807f51e: 09db lsrs r3, r3, #7 807f520: 49b8 ldr r1, [pc, #736] ; (807f804 ) 807f522: fb01 f303 mul.w r3, r1, r3 807f526: 1ad3 subs r3, r2, r3 807f528: 4ab7 ldr r2, [pc, #732] ; (807f808 ) 807f52a: fba2 1203 umull r1, r2, r2, r3 807f52e: 0b52 lsrs r2, r2, #13 807f530: f242 7110 movw r1, #10000 ; 0x2710 807f534: fb01 f202 mul.w r2, r1, r2 807f538: 1a9a subs r2, r3, r2 807f53a: 4bb4 ldr r3, [pc, #720] ; (807f80c ) 807f53c: fba3 2302 umull r2, r3, r3, r2 807f540: 099b lsrs r3, r3, #6 807f542: b2db uxtb r3, r3 807f544: f887 3399 strb.w r3, [r7, #921] ; 0x399 angle_ikd = k % 100000 % 10000 % 1000 / 100; 807f548: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 807f54c: 095a lsrs r2, r3, #5 807f54e: 49ac ldr r1, [pc, #688] ; (807f800 ) 807f550: fba1 1202 umull r1, r2, r1, r2 807f554: 09d2 lsrs r2, r2, #7 807f556: 49ab ldr r1, [pc, #684] ; (807f804 ) 807f558: fb01 f202 mul.w r2, r1, r2 807f55c: 1a9a subs r2, r3, r2 807f55e: 4baa ldr r3, [pc, #680] ; (807f808 ) 807f560: fba3 1302 umull r1, r3, r3, r2 807f564: 0b5b lsrs r3, r3, #13 807f566: f242 7110 movw r1, #10000 ; 0x2710 807f56a: fb01 f303 mul.w r3, r1, r3 807f56e: 1ad3 subs r3, r2, r3 807f570: 4aa6 ldr r2, [pc, #664] ; (807f80c ) 807f572: fba2 1203 umull r1, r2, r2, r3 807f576: 0992 lsrs r2, r2, #6 807f578: f44f 717a mov.w r1, #1000 ; 0x3e8 807f57c: fb01 f202 mul.w r2, r1, r2 807f580: 1a9a subs r2, r3, r2 807f582: 4ba3 ldr r3, [pc, #652] ; (807f810 ) 807f584: fba3 2302 umull r2, r3, r3, r2 807f588: 095b lsrs r3, r3, #5 807f58a: b2db uxtb r3, r3 807f58c: f887 3398 strb.w r3, [r7, #920] ; 0x398 angle_iks = k % 100000 % 10000 % 1000 % 100 / 10; 807f590: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 807f594: 0953 lsrs r3, r2, #5 807f596: 499a ldr r1, [pc, #616] ; (807f800 ) 807f598: fba1 1303 umull r1, r3, r1, r3 807f59c: 09db lsrs r3, r3, #7 807f59e: 4999 ldr r1, [pc, #612] ; (807f804 ) 807f5a0: fb01 f303 mul.w r3, r1, r3 807f5a4: 1ad3 subs r3, r2, r3 807f5a6: 4a98 ldr r2, [pc, #608] ; (807f808 ) 807f5a8: fba2 1203 umull r1, r2, r2, r3 807f5ac: 0b52 lsrs r2, r2, #13 807f5ae: f242 7110 movw r1, #10000 ; 0x2710 807f5b2: fb01 f202 mul.w r2, r1, r2 807f5b6: 1a9a subs r2, r3, r2 807f5b8: 4b94 ldr r3, [pc, #592] ; (807f80c ) 807f5ba: fba3 1302 umull r1, r3, r3, r2 807f5be: 099b lsrs r3, r3, #6 807f5c0: f44f 717a mov.w r1, #1000 ; 0x3e8 807f5c4: fb01 f303 mul.w r3, r1, r3 807f5c8: 1ad3 subs r3, r2, r3 807f5ca: 4a91 ldr r2, [pc, #580] ; (807f810 ) 807f5cc: fba2 1203 umull r1, r2, r2, r3 807f5d0: 0952 lsrs r2, r2, #5 807f5d2: 2164 movs r1, #100 ; 0x64 807f5d4: fb01 f202 mul.w r2, r1, r2 807f5d8: 1a9a subs r2, r3, r2 807f5da: 4b8e ldr r3, [pc, #568] ; (807f814 ) 807f5dc: fba3 2302 umull r2, r3, r3, r2 807f5e0: 08db lsrs r3, r3, #3 807f5e2: b2db uxtb r3, r3 807f5e4: f887 3397 strb.w r3, [r7, #919] ; 0x397 angle_ikt = k % 100000 % 10000 % 1000 % 100 % 10; 807f5e8: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 807f5ec: 0953 lsrs r3, r2, #5 807f5ee: 4984 ldr r1, [pc, #528] ; (807f800 ) 807f5f0: fba1 1303 umull r1, r3, r1, r3 807f5f4: 09db lsrs r3, r3, #7 807f5f6: 4983 ldr r1, [pc, #524] ; (807f804 ) 807f5f8: fb01 f303 mul.w r3, r1, r3 807f5fc: 1ad3 subs r3, r2, r3 807f5fe: 4a82 ldr r2, [pc, #520] ; (807f808 ) 807f600: fba2 1203 umull r1, r2, r2, r3 807f604: 0b52 lsrs r2, r2, #13 807f606: f242 7110 movw r1, #10000 ; 0x2710 807f60a: fb01 f202 mul.w r2, r1, r2 807f60e: 1a9a subs r2, r3, r2 807f610: 4b7e ldr r3, [pc, #504] ; (807f80c ) 807f612: fba3 1302 umull r1, r3, r3, r2 807f616: 099b lsrs r3, r3, #6 807f618: f44f 717a mov.w r1, #1000 ; 0x3e8 807f61c: fb01 f303 mul.w r3, r1, r3 807f620: 1ad3 subs r3, r2, r3 807f622: 4a7b ldr r2, [pc, #492] ; (807f810 ) 807f624: fba2 1203 umull r1, r2, r2, r3 807f628: 0952 lsrs r2, r2, #5 807f62a: 2164 movs r1, #100 ; 0x64 807f62c: fb01 f202 mul.w r2, r1, r2 807f630: 1a9a subs r2, r3, r2 807f632: 4b78 ldr r3, [pc, #480] ; (807f814 ) 807f634: fba3 1302 umull r1, r3, r3, r2 807f638: 08d9 lsrs r1, r3, #3 807f63a: 460b mov r3, r1 807f63c: 009b lsls r3, r3, #2 807f63e: 440b add r3, r1 807f640: 005b lsls r3, r3, #1 807f642: 1ad1 subs r1, r2, r3 807f644: b2cb uxtb r3, r1 807f646: f887 3396 strb.w r3, [r7, #918] ; 0x396 i = 0; 807f64a: 2300 movs r3, #0 807f64c: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 memset(str_angle, 0, sizeof(str_angle)); 807f650: f507 734f add.w r3, r7, #828 ; 0x33c 807f654: 2214 movs r2, #20 807f656: 2100 movs r1, #0 807f658: 4618 mov r0, r3 807f65a: f04d fcf5 bl 80cd048 if(angle_ies != 0) 807f65e: f897 339b ldrb.w r3, [r7, #923] ; 0x39b 807f662: b2db uxtb r3, r3 807f664: 2b00 cmp r3, #0 807f666: d00c beq.n 807f682 str_angle[i++] = angle_ies + 48; 807f668: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807f66c: 1c5a adds r2, r3, #1 807f66e: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807f672: f897 239b ldrb.w r2, [r7, #923] ; 0x39b 807f676: b2d2 uxtb r2, r2 807f678: 3230 adds r2, #48 ; 0x30 807f67a: b2d1 uxtb r1, r2 807f67c: f507 724f add.w r2, r7, #828 ; 0x33c 807f680: 54d1 strb r1, [r2, r3] if((angle_ies != 0) || (angle_ied != 0)) 807f682: f897 339b ldrb.w r3, [r7, #923] ; 0x39b 807f686: b2db uxtb r3, r3 807f688: 2b00 cmp r3, #0 807f68a: d104 bne.n 807f696 807f68c: f897 339a ldrb.w r3, [r7, #922] ; 0x39a 807f690: b2db uxtb r3, r3 807f692: 2b00 cmp r3, #0 807f694: d00c beq.n 807f6b0 str_angle[i++] = angle_ied + 48; 807f696: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807f69a: 1c5a adds r2, r3, #1 807f69c: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807f6a0: f897 239a ldrb.w r2, [r7, #922] ; 0x39a 807f6a4: b2d2 uxtb r2, r2 807f6a6: 3230 adds r2, #48 ; 0x30 807f6a8: b2d1 uxtb r1, r2 807f6aa: f507 724f add.w r2, r7, #828 ; 0x33c 807f6ae: 54d1 strb r1, [r2, r3] str_angle[i++] = angle_iee + 48; 807f6b0: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807f6b4: 1c5a adds r2, r3, #1 807f6b6: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807f6ba: f897 2399 ldrb.w r2, [r7, #921] ; 0x399 807f6be: b2d2 uxtb r2, r2 807f6c0: 3230 adds r2, #48 ; 0x30 807f6c2: b2d1 uxtb r1, r2 807f6c4: f507 724f add.w r2, r7, #828 ; 0x33c 807f6c8: 54d1 strb r1, [r2, r3] str_angle[i++] = '.'; 807f6ca: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807f6ce: 1c5a adds r2, r3, #1 807f6d0: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807f6d4: f507 724f add.w r2, r7, #828 ; 0x33c 807f6d8: 212e movs r1, #46 ; 0x2e 807f6da: 54d1 strb r1, [r2, r3] str_angle[i++] = angle_ikd + 48; 807f6dc: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807f6e0: 1c5a adds r2, r3, #1 807f6e2: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807f6e6: f897 2398 ldrb.w r2, [r7, #920] ; 0x398 807f6ea: b2d2 uxtb r2, r2 807f6ec: 3230 adds r2, #48 ; 0x30 807f6ee: b2d1 uxtb r1, r2 807f6f0: f507 724f add.w r2, r7, #828 ; 0x33c 807f6f4: 54d1 strb r1, [r2, r3] str_angle[i++] = angle_iks + 48; 807f6f6: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807f6fa: 1c5a adds r2, r3, #1 807f6fc: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807f700: f897 2397 ldrb.w r2, [r7, #919] ; 0x397 807f704: b2d2 uxtb r2, r2 807f706: 3230 adds r2, #48 ; 0x30 807f708: b2d1 uxtb r1, r2 807f70a: f507 724f add.w r2, r7, #828 ; 0x33c 807f70e: 54d1 strb r1, [r2, r3] str_angle[i++] = angle_ikt + 48; 807f710: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807f714: 1c5a adds r2, r3, #1 807f716: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807f71a: f897 2396 ldrb.w r2, [r7, #918] ; 0x396 807f71e: b2d2 uxtb r2, r2 807f720: 3230 adds r2, #48 ; 0x30 807f722: b2d1 uxtb r1, r2 807f724: f507 724f add.w r2, r7, #828 ; 0x33c 807f728: 54d1 strb r1, [r2, r3] ///////////////////////////////////////////////////////////// k = pardata.D_RATE; 807f72a: 4b33 ldr r3, [pc, #204] ; (807f7f8 ) 807f72c: f8d3 30d0 ldr.w r3, [r3, #208] ; 0xd0 807f730: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 rate_iet = k / 1000; 807f734: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 807f738: 4a34 ldr r2, [pc, #208] ; (807f80c ) 807f73a: fba2 2303 umull r2, r3, r2, r3 807f73e: 099b lsrs r3, r3, #6 807f740: b2db uxtb r3, r3 807f742: f887 3394 strb.w r3, [r7, #916] ; 0x394 rate_ies = k % 1000 / 100; 807f746: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 807f74a: 4b30 ldr r3, [pc, #192] ; (807f80c ) 807f74c: fba3 1302 umull r1, r3, r3, r2 807f750: 099b lsrs r3, r3, #6 807f752: f44f 717a mov.w r1, #1000 ; 0x3e8 807f756: fb01 f303 mul.w r3, r1, r3 807f75a: 1ad3 subs r3, r2, r3 807f75c: 4a2c ldr r2, [pc, #176] ; (807f810 ) 807f75e: fba2 2303 umull r2, r3, r2, r3 807f762: 095b lsrs r3, r3, #5 807f764: b2db uxtb r3, r3 807f766: f887 3393 strb.w r3, [r7, #915] ; 0x393 rate_ied = k % 1000 % 100 / 10; 807f76a: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 807f76e: 4b27 ldr r3, [pc, #156] ; (807f80c ) 807f770: fba3 1302 umull r1, r3, r3, r2 807f774: 099b lsrs r3, r3, #6 807f776: f44f 717a mov.w r1, #1000 ; 0x3e8 807f77a: fb01 f303 mul.w r3, r1, r3 807f77e: 1ad3 subs r3, r2, r3 807f780: 4a23 ldr r2, [pc, #140] ; (807f810 ) 807f782: fba2 1203 umull r1, r2, r2, r3 807f786: 0952 lsrs r2, r2, #5 807f788: 2164 movs r1, #100 ; 0x64 807f78a: fb01 f202 mul.w r2, r1, r2 807f78e: 1a9a subs r2, r3, r2 807f790: 4b20 ldr r3, [pc, #128] ; (807f814 ) 807f792: fba3 2302 umull r2, r3, r3, r2 807f796: 08db lsrs r3, r3, #3 807f798: b2db uxtb r3, r3 807f79a: f887 3392 strb.w r3, [r7, #914] ; 0x392 rate_iee = k % 1000 % 100 % 10; 807f79e: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 807f7a2: 4b1a ldr r3, [pc, #104] ; (807f80c ) 807f7a4: fba3 1302 umull r1, r3, r3, r2 807f7a8: 099b lsrs r3, r3, #6 807f7aa: f44f 717a mov.w r1, #1000 ; 0x3e8 807f7ae: fb01 f303 mul.w r3, r1, r3 807f7b2: 1ad3 subs r3, r2, r3 807f7b4: 4a16 ldr r2, [pc, #88] ; (807f810 ) 807f7b6: fba2 1203 umull r1, r2, r2, r3 807f7ba: 0952 lsrs r2, r2, #5 807f7bc: 2164 movs r1, #100 ; 0x64 807f7be: fb01 f202 mul.w r2, r1, r2 807f7c2: 1a9a subs r2, r3, r2 807f7c4: 4b13 ldr r3, [pc, #76] ; (807f814 ) 807f7c6: fba3 1302 umull r1, r3, r3, r2 807f7ca: 08d9 lsrs r1, r3, #3 807f7cc: 460b mov r3, r1 807f7ce: 009b lsls r3, r3, #2 807f7d0: 440b add r3, r1 807f7d2: 005b lsls r3, r3, #1 807f7d4: 1ad1 subs r1, r2, r3 807f7d6: b2cb uxtb r3, r1 807f7d8: f887 3391 strb.w r3, [r7, #913] ; 0x391 memset(str_rate, 0, sizeof(str_rate)); 807f7dc: f507 734a add.w r3, r7, #808 ; 0x328 807f7e0: 2214 movs r2, #20 807f7e2: 2100 movs r1, #0 807f7e4: 4618 mov r0, r3 807f7e6: f04d fc2f bl 80cd048 if(k >= 1000) 807f7ea: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 807f7ee: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 807f7f2: d332 bcc.n 807f85a 807f7f4: e010 b.n 807f818 807f7f6: bf00 nop 807f7f8: 20023e60 .word 0x20023e60 807f7fc: 447a0000 .word 0x447a0000 807f800: 0a7c5ac5 .word 0x0a7c5ac5 807f804: 000186a0 .word 0x000186a0 807f808: d1b71759 .word 0xd1b71759 807f80c: 10624dd3 .word 0x10624dd3 807f810: 51eb851f .word 0x51eb851f 807f814: cccccccd .word 0xcccccccd { str_rate[0] = rate_iet + 48; 807f818: f897 3394 ldrb.w r3, [r7, #916] ; 0x394 807f81c: b2db uxtb r3, r3 807f81e: 3330 adds r3, #48 ; 0x30 807f820: b2da uxtb r2, r3 807f822: f507 734a add.w r3, r7, #808 ; 0x328 807f826: 701a strb r2, [r3, #0] str_rate[1] = rate_ies + 48; 807f828: f897 3393 ldrb.w r3, [r7, #915] ; 0x393 807f82c: b2db uxtb r3, r3 807f82e: 3330 adds r3, #48 ; 0x30 807f830: b2da uxtb r2, r3 807f832: f507 734a add.w r3, r7, #808 ; 0x328 807f836: 705a strb r2, [r3, #1] str_rate[2] = rate_ied + 48; 807f838: f897 3392 ldrb.w r3, [r7, #914] ; 0x392 807f83c: b2db uxtb r3, r3 807f83e: 3330 adds r3, #48 ; 0x30 807f840: b2da uxtb r2, r3 807f842: f507 734a add.w r3, r7, #808 ; 0x328 807f846: 709a strb r2, [r3, #2] str_rate[3] = rate_iee + 48; 807f848: f897 3391 ldrb.w r3, [r7, #913] ; 0x391 807f84c: b2db uxtb r3, r3 807f84e: 3330 adds r3, #48 ; 0x30 807f850: b2da uxtb r2, r3 807f852: f507 734a add.w r3, r7, #808 ; 0x328 807f856: 70da strb r2, [r3, #3] 807f858: e039 b.n 807f8ce } else if(k >= 100) 807f85a: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 807f85e: 2b63 cmp r3, #99 ; 0x63 807f860: d918 bls.n 807f894 { str_rate[0] = rate_ies + 48; 807f862: f897 3393 ldrb.w r3, [r7, #915] ; 0x393 807f866: b2db uxtb r3, r3 807f868: 3330 adds r3, #48 ; 0x30 807f86a: b2da uxtb r2, r3 807f86c: f507 734a add.w r3, r7, #808 ; 0x328 807f870: 701a strb r2, [r3, #0] str_rate[1] = rate_ied + 48; 807f872: f897 3392 ldrb.w r3, [r7, #914] ; 0x392 807f876: b2db uxtb r3, r3 807f878: 3330 adds r3, #48 ; 0x30 807f87a: b2da uxtb r2, r3 807f87c: f507 734a add.w r3, r7, #808 ; 0x328 807f880: 705a strb r2, [r3, #1] str_rate[2] = rate_iee + 48; 807f882: f897 3391 ldrb.w r3, [r7, #913] ; 0x391 807f886: b2db uxtb r3, r3 807f888: 3330 adds r3, #48 ; 0x30 807f88a: b2da uxtb r2, r3 807f88c: f507 734a add.w r3, r7, #808 ; 0x328 807f890: 709a strb r2, [r3, #2] 807f892: e01c b.n 807f8ce } else if(k >= 10) 807f894: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 807f898: 2b09 cmp r3, #9 807f89a: d910 bls.n 807f8be { str_rate[0] = rate_ied + 48; 807f89c: f897 3392 ldrb.w r3, [r7, #914] ; 0x392 807f8a0: b2db uxtb r3, r3 807f8a2: 3330 adds r3, #48 ; 0x30 807f8a4: b2da uxtb r2, r3 807f8a6: f507 734a add.w r3, r7, #808 ; 0x328 807f8aa: 701a strb r2, [r3, #0] str_rate[1] = rate_iee + 48; 807f8ac: f897 3391 ldrb.w r3, [r7, #913] ; 0x391 807f8b0: b2db uxtb r3, r3 807f8b2: 3330 adds r3, #48 ; 0x30 807f8b4: b2da uxtb r2, r3 807f8b6: f507 734a add.w r3, r7, #808 ; 0x328 807f8ba: 705a strb r2, [r3, #1] 807f8bc: e007 b.n 807f8ce } else str_rate[0] = rate_iee + 48; 807f8be: f897 3391 ldrb.w r3, [r7, #913] ; 0x391 807f8c2: b2db uxtb r3, r3 807f8c4: 3330 adds r3, #48 ; 0x30 807f8c6: b2da uxtb r2, r3 807f8c8: f507 734a add.w r3, r7, #808 ; 0x328 807f8cc: 701a strb r2, [r3, #0] //////////////////////////////////////////////////////////// memset(str1, 0, sizeof(str1)); 807f8ce: f507 73f6 add.w r3, r7, #492 ; 0x1ec 807f8d2: f44f 7280 mov.w r2, #256 ; 0x100 807f8d6: 2100 movs r1, #0 807f8d8: 4618 mov r0, r3 807f8da: f04d fbb5 bl 80cd048 if(pardata.ROLL_COUNT < 10) 807f8de: 4bc3 ldr r3, [pc, #780] ; (807fbec ) 807f8e0: f8d3 30bc ldr.w r3, [r3, #188] ; 0xbc 807f8e4: 2b09 cmp r3, #9 807f8e6: d809 bhi.n 807f8fc str1[0] = (char) pardata.ROLL_COUNT + 48; 807f8e8: 4bc0 ldr r3, [pc, #768] ; (807fbec ) 807f8ea: f8d3 30bc ldr.w r3, [r3, #188] ; 0xbc 807f8ee: b2db uxtb r3, r3 807f8f0: 3330 adds r3, #48 ; 0x30 807f8f2: b2da uxtb r2, r3 807f8f4: f507 73f6 add.w r3, r7, #492 ; 0x1ec 807f8f8: 701a strb r2, [r3, #0] 807f8fa: e01e b.n 807f93a else { str1[0] = (char) ((pardata.ROLL_COUNT / 10) + 48); 807f8fc: 4bbb ldr r3, [pc, #748] ; (807fbec ) 807f8fe: f8d3 30bc ldr.w r3, [r3, #188] ; 0xbc 807f902: 4abb ldr r2, [pc, #748] ; (807fbf0 ) 807f904: fba2 2303 umull r2, r3, r2, r3 807f908: 08db lsrs r3, r3, #3 807f90a: b2db uxtb r3, r3 807f90c: 3330 adds r3, #48 ; 0x30 807f90e: b2da uxtb r2, r3 807f910: f507 73f6 add.w r3, r7, #492 ; 0x1ec 807f914: 701a strb r2, [r3, #0] str1[1] = (char) ((pardata.ROLL_COUNT % 10) + 48); 807f916: 4bb5 ldr r3, [pc, #724] ; (807fbec ) 807f918: f8d3 10bc ldr.w r1, [r3, #188] ; 0xbc 807f91c: 4bb4 ldr r3, [pc, #720] ; (807fbf0 ) 807f91e: fba3 2301 umull r2, r3, r3, r1 807f922: 08da lsrs r2, r3, #3 807f924: 4613 mov r3, r2 807f926: 009b lsls r3, r3, #2 807f928: 4413 add r3, r2 807f92a: 005b lsls r3, r3, #1 807f92c: 1aca subs r2, r1, r3 807f92e: b2d3 uxtb r3, r2 807f930: 3330 adds r3, #48 ; 0x30 807f932: b2da uxtb r2, r3 807f934: f507 73f6 add.w r3, r7, #492 ; 0x1ec 807f938: 705a strb r2, [r3, #1] } LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807f93a: 49ae ldr r1, [pc, #696] ; (807fbf4 ) 807f93c: f04f 30ff mov.w r0, #4294967295 807f940: f7d3 ff34 bl 80537ac LCD_DisplayString(10, LCD_LINE_4, (char *)TEXT_PARAM_ROLL[pardata.LANG][0]); //"Êîë-âî òåë êà÷åíèÿ" 807f944: 4ba9 ldr r3, [pc, #676] ; (807fbec ) 807f946: 7b1b ldrb r3, [r3, #12] 807f948: b2db uxtb r3, r3 807f94a: 4619 mov r1, r3 807f94c: 4aaa ldr r2, [pc, #680] ; (807fbf8 ) 807f94e: 460b mov r3, r1 807f950: 00db lsls r3, r3, #3 807f952: 440b add r3, r1 807f954: 009b lsls r3, r3, #2 807f956: 4413 add r3, r2 807f958: 681b ldr r3, [r3, #0] 807f95a: 461a mov r2, r3 807f95c: 214a movs r1, #74 ; 0x4a 807f95e: 200a movs r0, #10 807f960: f7d4 fccc bl 80542fc LCD_DisplayString(10, LCD_LINE_5, (char *)TEXT_PARAM_ROLL[pardata.LANG][1]); //"d òåë êà÷åíèÿ (ìì)" 807f964: 4ba1 ldr r3, [pc, #644] ; (807fbec ) 807f966: 7b1b ldrb r3, [r3, #12] 807f968: b2db uxtb r3, r3 807f96a: 4619 mov r1, r3 807f96c: 4aa2 ldr r2, [pc, #648] ; (807fbf8 ) 807f96e: 460b mov r3, r1 807f970: 00db lsls r3, r3, #3 807f972: 440b add r3, r1 807f974: 009b lsls r3, r3, #2 807f976: 4413 add r3, r2 807f978: 3304 adds r3, #4 807f97a: 681b ldr r3, [r3, #0] 807f97c: 461a mov r2, r3 807f97e: 215a movs r1, #90 ; 0x5a 807f980: 200a movs r0, #10 807f982: f7d4 fcbb bl 80542fc LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_PARAM_ROLL[pardata.LANG][2]); //"Âíåø.d (ìì)" 807f986: 4b99 ldr r3, [pc, #612] ; (807fbec ) 807f988: 7b1b ldrb r3, [r3, #12] 807f98a: b2db uxtb r3, r3 807f98c: 4619 mov r1, r3 807f98e: 4a9a ldr r2, [pc, #616] ; (807fbf8 ) 807f990: 460b mov r3, r1 807f992: 00db lsls r3, r3, #3 807f994: 440b add r3, r1 807f996: 009b lsls r3, r3, #2 807f998: 4413 add r3, r2 807f99a: 3308 adds r3, #8 807f99c: 681b ldr r3, [r3, #0] 807f99e: 461a mov r2, r3 807f9a0: 216a movs r1, #106 ; 0x6a 807f9a2: 200a movs r0, #10 807f9a4: f7d4 fcaa bl 80542fc LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_PARAM_ROLL[pardata.LANG][3]); //"Âíóòð.d (ìì)" 807f9a8: 4b90 ldr r3, [pc, #576] ; (807fbec ) 807f9aa: 7b1b ldrb r3, [r3, #12] 807f9ac: b2db uxtb r3, r3 807f9ae: 4619 mov r1, r3 807f9b0: 4a91 ldr r2, [pc, #580] ; (807fbf8 ) 807f9b2: 460b mov r3, r1 807f9b4: 00db lsls r3, r3, #3 807f9b6: 440b add r3, r1 807f9b8: 009b lsls r3, r3, #2 807f9ba: 4413 add r3, r2 807f9bc: 330c adds r3, #12 807f9be: 681b ldr r3, [r3, #0] 807f9c0: 461a mov r2, r3 807f9c2: 217a movs r1, #122 ; 0x7a 807f9c4: 200a movs r0, #10 807f9c6: f7d4 fc99 bl 80542fc LCD_DisplayString(10, LCD_LINE_8, (char *)TEXT_PARAM_ROLL[pardata.LANG][4]); //"Óãîë óñòàíîâ.(ãðàä)" 807f9ca: 4b88 ldr r3, [pc, #544] ; (807fbec ) 807f9cc: 7b1b ldrb r3, [r3, #12] 807f9ce: b2db uxtb r3, r3 807f9d0: 4619 mov r1, r3 807f9d2: 4a89 ldr r2, [pc, #548] ; (807fbf8 ) 807f9d4: 460b mov r3, r1 807f9d6: 00db lsls r3, r3, #3 807f9d8: 440b add r3, r1 807f9da: 009b lsls r3, r3, #2 807f9dc: 4413 add r3, r2 807f9de: 3310 adds r3, #16 807f9e0: 681b ldr r3, [r3, #0] 807f9e2: 461a mov r2, r3 807f9e4: 218a movs r1, #138 ; 0x8a 807f9e6: 200a movs r0, #10 807f9e8: f7d4 fc88 bl 80542fc LCD_DisplayString(10, LCD_LINE_9, (char *)TEXT_PARAM_ROLL[pardata.LANG][5]); //"Óñðåäíåíèå(êîë-âî)" 807f9ec: 4b7f ldr r3, [pc, #508] ; (807fbec ) 807f9ee: 7b1b ldrb r3, [r3, #12] 807f9f0: b2db uxtb r3, r3 807f9f2: 4619 mov r1, r3 807f9f4: 4a80 ldr r2, [pc, #512] ; (807fbf8 ) 807f9f6: 460b mov r3, r1 807f9f8: 00db lsls r3, r3, #3 807f9fa: 440b add r3, r1 807f9fc: 009b lsls r3, r3, #2 807f9fe: 4413 add r3, r2 807fa00: 3314 adds r3, #20 807fa02: 681b ldr r3, [r3, #0] 807fa04: 461a mov r2, r3 807fa06: 219a movs r1, #154 ; 0x9a 807fa08: 200a movs r0, #10 807fa0a: f7d4 fc77 bl 80542fc LCD_DisplayString(10, LCD_LINE_10, (char *)TEXT_PARAM_ROLL[pardata.LANG][6]); //"Àâòîóñèëåíèå" 807fa0e: 4b77 ldr r3, [pc, #476] ; (807fbec ) 807fa10: 7b1b ldrb r3, [r3, #12] 807fa12: b2db uxtb r3, r3 807fa14: 4619 mov r1, r3 807fa16: 4a78 ldr r2, [pc, #480] ; (807fbf8 ) 807fa18: 460b mov r3, r1 807fa1a: 00db lsls r3, r3, #3 807fa1c: 440b add r3, r1 807fa1e: 009b lsls r3, r3, #2 807fa20: 4413 add r3, r2 807fa22: 3318 adds r3, #24 807fa24: 681b ldr r3, [r3, #0] 807fa26: 461a mov r2, r3 807fa28: 21aa movs r1, #170 ; 0xaa 807fa2a: 200a movs r0, #10 807fa2c: f7d4 fc66 bl 80542fc LCD_DisplayString(10, LCD_LINE_12, (char *)TEXT_PARAM_ROLL[pardata.LANG][8]); //"×àñòîòà âðàù.(îá/ìèí)" 807fa30: 4b6e ldr r3, [pc, #440] ; (807fbec ) 807fa32: 7b1b ldrb r3, [r3, #12] 807fa34: b2db uxtb r3, r3 807fa36: 4619 mov r1, r3 807fa38: 4a6f ldr r2, [pc, #444] ; (807fbf8 ) 807fa3a: 460b mov r3, r1 807fa3c: 00db lsls r3, r3, #3 807fa3e: 440b add r3, r1 807fa40: 009b lsls r3, r3, #2 807fa42: 4413 add r3, r2 807fa44: 3320 adds r3, #32 807fa46: 681b ldr r3, [r3, #0] 807fa48: 461a mov r2, r3 807fa4a: 21ca movs r1, #202 ; 0xca 807fa4c: 200a movs r0, #10 807fa4e: f7d4 fc55 bl 80542fc if(menupos == RollAutoKu) 807fa52: 4b6a ldr r3, [pc, #424] ; (807fbfc ) 807fa54: 781b ldrb r3, [r3, #0] 807fa56: b2db uxtb r3, r3 807fa58: 2b07 cmp r3, #7 807fa5a: d10a bne.n 807fa72 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807fa5c: 4965 ldr r1, [pc, #404] ; (807fbf4 ) 807fa5e: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807fa62: f7d3 fea3 bl 80537ac BSP_LCD_FillRect(253, 171, 14, 14); 807fa66: 230e movs r3, #14 807fa68: 220e movs r2, #14 807fa6a: 21ab movs r1, #171 ; 0xab 807fa6c: 20fd movs r0, #253 ; 0xfd 807fa6e: f7d4 fb2b bl 80540c8 } LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807fa72: 4960 ldr r1, [pc, #384] ; (807fbf4 ) 807fa74: f04f 30ff mov.w r0, #4294967295 807fa78: f7d3 fe98 bl 80537ac BSP_LCD_FillRect(255, 173, 10, 10); 807fa7c: 230a movs r3, #10 807fa7e: 220a movs r2, #10 807fa80: 21ad movs r1, #173 ; 0xad 807fa82: 20ff movs r0, #255 ; 0xff 807fa84: f7d4 fb20 bl 80540c8 if(menupos == Ok) 807fa88: 4b5c ldr r3, [pc, #368] ; (807fbfc ) 807fa8a: 781b ldrb r3, [r3, #0] 807fa8c: b2db uxtb r3, r3 807fa8e: 2b00 cmp r3, #0 807fa90: f040 80df bne.w 807fc52 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807fa94: 4957 ldr r1, [pc, #348] ; (807fbf4 ) 807fa96: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807fa9a: f7d3 fe87 bl 80537ac LCD_DisplayString(10, LCD_LINE_3, (char *)TEXT_Next[pardata.LANG]);//"Äàëåå" 807fa9e: 4b53 ldr r3, [pc, #332] ; (807fbec ) 807faa0: 7b1b ldrb r3, [r3, #12] 807faa2: b2db uxtb r3, r3 807faa4: 461a mov r2, r3 807faa6: 4b56 ldr r3, [pc, #344] ; (807fc00 ) 807faa8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807faac: 461a mov r2, r3 807faae: 213a movs r1, #58 ; 0x3a 807fab0: 200a movs r0, #10 807fab2: f7d4 fc23 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807fab6: 494f ldr r1, [pc, #316] ; (807fbf4 ) 807fab8: 4852 ldr r0, [pc, #328] ; (807fc04 ) 807faba: f7d3 fe77 bl 80537ac LCD_DisplayStringC(260, LCD_LINE_4, str1); 807fabe: f507 73f6 add.w r3, r7, #492 ; 0x1ec 807fac2: 461a mov r2, r3 807fac4: 214a movs r1, #74 ; 0x4a 807fac6: f44f 7082 mov.w r0, #260 ; 0x104 807faca: f7d4 fc2f bl 805432c LCD_DisplayStringC(260, LCD_LINE_5, str_roll); 807face: f507 735e add.w r3, r7, #888 ; 0x378 807fad2: 461a mov r2, r3 807fad4: 215a movs r1, #90 ; 0x5a 807fad6: f44f 7082 mov.w r0, #260 ; 0x104 807fada: f7d4 fc27 bl 805432c LCD_DisplayStringC(260, LCD_LINE_6, str_outer); 807fade: f507 7359 add.w r3, r7, #868 ; 0x364 807fae2: 461a mov r2, r3 807fae4: 216a movs r1, #106 ; 0x6a 807fae6: f44f 7082 mov.w r0, #260 ; 0x104 807faea: f7d4 fc1f bl 805432c LCD_DisplayStringC(260, LCD_LINE_7, str_inner); 807faee: f507 7354 add.w r3, r7, #848 ; 0x350 807faf2: 461a mov r2, r3 807faf4: 217a movs r1, #122 ; 0x7a 807faf6: f44f 7082 mov.w r0, #260 ; 0x104 807fafa: f7d4 fc17 bl 805432c LCD_DisplayStringC(260, LCD_LINE_8, str_angle); 807fafe: f507 734f add.w r3, r7, #828 ; 0x33c 807fb02: 461a mov r2, r3 807fb04: 218a movs r1, #138 ; 0x8a 807fb06: f44f 7082 mov.w r0, #260 ; 0x104 807fb0a: f7d4 fc0f bl 805432c LCD_DisplayStringC(260, LCD_LINE_9, (char *) pAVERAGE[pardata.AVG]); 807fb0e: 4b37 ldr r3, [pc, #220] ; (807fbec ) 807fb10: 7b5b ldrb r3, [r3, #13] 807fb12: b2db uxtb r3, r3 807fb14: 461a mov r2, r3 807fb16: 4b3c ldr r3, [pc, #240] ; (807fc08 ) 807fb18: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807fb1c: 461a mov r2, r3 807fb1e: 219a movs r1, #154 ; 0x9a 807fb20: f44f 7082 mov.w r0, #260 ; 0x104 807fb24: f7d4 fc02 bl 805432c LCD_DisplayStringC(260, LCD_LINE_12, str_rate); 807fb28: f507 734a add.w r3, r7, #808 ; 0x328 807fb2c: 461a mov r2, r3 807fb2e: 21ca movs r1, #202 ; 0xca 807fb30: f44f 7082 mov.w r0, #260 ; 0x104 807fb34: f7d4 fbfa bl 805432c if(pardata.OPTIONS & 0x4) // åñëè àâòîóñèëåíèå 807fb38: 4b2c ldr r3, [pc, #176] ; (807fbec ) 807fb3a: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 807fb3e: f003 0304 and.w r3, r3, #4 807fb42: 2b00 cmp r3, #0 807fb44: d035 beq.n 807fbb2 { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 807fb46: 492b ldr r1, [pc, #172] ; (807fbf4 ) 807fb48: 4830 ldr r0, [pc, #192] ; (807fc0c ) 807fb4a: f7d3 fe2f bl 80537ac if(pardata.IIN != VOLTS) 807fb4e: 4b27 ldr r3, [pc, #156] ; (807fbec ) 807fb50: 799b ldrb r3, [r3, #6] 807fb52: b2db uxtb r3, r3 807fb54: 2b02 cmp r3, #2 807fb56: d011 beq.n 807fb7c LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL[pardata.LANG][7]);//"Max.âîçä.,ì/ñ2" 807fb58: 4b24 ldr r3, [pc, #144] ; (807fbec ) 807fb5a: 7b1b ldrb r3, [r3, #12] 807fb5c: b2db uxtb r3, r3 807fb5e: 4619 mov r1, r3 807fb60: 4a25 ldr r2, [pc, #148] ; (807fbf8 ) 807fb62: 460b mov r3, r1 807fb64: 00db lsls r3, r3, #3 807fb66: 440b add r3, r1 807fb68: 009b lsls r3, r3, #2 807fb6a: 4413 add r3, r2 807fb6c: 331c adds r3, #28 807fb6e: 681b ldr r3, [r3, #0] 807fb70: 461a mov r2, r3 807fb72: 21ba movs r1, #186 ; 0xba 807fb74: 200a movs r0, #10 807fb76: f7d4 fbc1 bl 80542fc 807fb7a: e010 b.n 807fb9e else LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL_mV[pardata.LANG][7]);//"Max.âîçä.,ìÂ" 807fb7c: 4b1b ldr r3, [pc, #108] ; (807fbec ) 807fb7e: 7b1b ldrb r3, [r3, #12] 807fb80: b2db uxtb r3, r3 807fb82: 4619 mov r1, r3 807fb84: 4a22 ldr r2, [pc, #136] ; (807fc10 ) 807fb86: 460b mov r3, r1 807fb88: 00db lsls r3, r3, #3 807fb8a: 440b add r3, r1 807fb8c: 009b lsls r3, r3, #2 807fb8e: 4413 add r3, r2 807fb90: 331c adds r3, #28 807fb92: 681b ldr r3, [r3, #0] 807fb94: 461a mov r2, r3 807fb96: 21ba movs r1, #186 ; 0xba 807fb98: 200a movs r0, #10 807fb9a: f7d4 fbaf bl 80542fc LCD_DisplayStringC(260, LCD_LINE_11, str); 807fb9e: f507 733b add.w r3, r7, #748 ; 0x2ec 807fba2: 461a mov r2, r3 807fba4: 21ba movs r1, #186 ; 0xba 807fba6: f44f 7082 mov.w r0, #260 ; 0x104 807fbaa: f7d4 fbbf bl 805432c 807fbae: f002 beeb b.w 8082988 } else { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807fbb2: 4910 ldr r1, [pc, #64] ; (807fbf4 ) 807fbb4: f04f 30ff mov.w r0, #4294967295 807fbb8: f7d3 fdf8 bl 80537ac if(pardata.IIN != VOLTS) 807fbbc: 4b0b ldr r3, [pc, #44] ; (807fbec ) 807fbbe: 799b ldrb r3, [r3, #6] 807fbc0: b2db uxtb r3, r3 807fbc2: 2b02 cmp r3, #2 807fbc4: d026 beq.n 807fc14 LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL[pardata.LANG][7]);//"Max.âîçä.,ì/ñ2" 807fbc6: 4b09 ldr r3, [pc, #36] ; (807fbec ) 807fbc8: 7b1b ldrb r3, [r3, #12] 807fbca: b2db uxtb r3, r3 807fbcc: 4619 mov r1, r3 807fbce: 4a0a ldr r2, [pc, #40] ; (807fbf8 ) 807fbd0: 460b mov r3, r1 807fbd2: 00db lsls r3, r3, #3 807fbd4: 440b add r3, r1 807fbd6: 009b lsls r3, r3, #2 807fbd8: 4413 add r3, r2 807fbda: 331c adds r3, #28 807fbdc: 681b ldr r3, [r3, #0] 807fbde: 461a mov r2, r3 807fbe0: 21ba movs r1, #186 ; 0xba 807fbe2: 200a movs r0, #10 807fbe4: f7d4 fb8a bl 80542fc 807fbe8: e025 b.n 807fc36 807fbea: bf00 nop 807fbec: 20023e60 .word 0x20023e60 807fbf0: cccccccd .word 0xcccccccd 807fbf4: ff0a0f1f .word 0xff0a0f1f 807fbf8: 20020764 .word 0x20020764 807fbfc: 20020070 .word 0x20020070 807fc00: 200205c4 .word 0x200205c4 807fc04: ffd8aa57 .word 0xffd8aa57 807fc08: 20020224 .word 0x20020224 807fc0c: ff808080 .word 0xff808080 807fc10: 200207ac .word 0x200207ac else LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL_mV[pardata.LANG][7]);//"Max.âîçä.,ìÂ" 807fc14: 4bcf ldr r3, [pc, #828] ; (807ff54 ) 807fc16: 7b1b ldrb r3, [r3, #12] 807fc18: b2db uxtb r3, r3 807fc1a: 4619 mov r1, r3 807fc1c: 4ace ldr r2, [pc, #824] ; (807ff58 ) 807fc1e: 460b mov r3, r1 807fc20: 00db lsls r3, r3, #3 807fc22: 440b add r3, r1 807fc24: 009b lsls r3, r3, #2 807fc26: 4413 add r3, r2 807fc28: 331c adds r3, #28 807fc2a: 681b ldr r3, [r3, #0] 807fc2c: 461a mov r2, r3 807fc2e: 21ba movs r1, #186 ; 0xba 807fc30: 200a movs r0, #10 807fc32: f7d4 fb63 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807fc36: 49c9 ldr r1, [pc, #804] ; (807ff5c ) 807fc38: 48c9 ldr r0, [pc, #804] ; (807ff60 ) 807fc3a: f7d3 fdb7 bl 80537ac LCD_DisplayStringC(260, LCD_LINE_11, str); 807fc3e: f507 733b add.w r3, r7, #748 ; 0x2ec 807fc42: 461a mov r2, r3 807fc44: 21ba movs r1, #186 ; 0xba 807fc46: f44f 7082 mov.w r0, #260 ; 0x104 807fc4a: f7d4 fb6f bl 805432c 807fc4e: f002 be9b b.w 8082988 } } else if(menupos == RollCount) 807fc52: 4bc4 ldr r3, [pc, #784] ; (807ff64 ) 807fc54: 781b ldrb r3, [r3, #0] 807fc56: b2db uxtb r3, r3 807fc58: 2b01 cmp r3, #1 807fc5a: f040 80e1 bne.w 807fe20 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807fc5e: 49bf ldr r1, [pc, #764] ; (807ff5c ) 807fc60: f04f 30ff mov.w r0, #4294967295 807fc64: f7d3 fda2 bl 80537ac LCD_DisplayString(10, LCD_LINE_3, (char *)TEXT_Next[pardata.LANG]);//"Äàëåå" 807fc68: 4bba ldr r3, [pc, #744] ; (807ff54 ) 807fc6a: 7b1b ldrb r3, [r3, #12] 807fc6c: b2db uxtb r3, r3 807fc6e: 461a mov r2, r3 807fc70: 4bbd ldr r3, [pc, #756] ; (807ff68 ) 807fc72: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807fc76: 461a mov r2, r3 807fc78: 213a movs r1, #58 ; 0x3a 807fc7a: 200a movs r0, #10 807fc7c: f7d4 fb3e bl 80542fc LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807fc80: 49b6 ldr r1, [pc, #728] ; (807ff5c ) 807fc82: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807fc86: f7d3 fd91 bl 80537ac if(focused) 807fc8a: 4bb8 ldr r3, [pc, #736] ; (807ff6c ) 807fc8c: 781b ldrb r3, [r3, #0] 807fc8e: b2db uxtb r3, r3 807fc90: 2b00 cmp r3, #0 807fc92: d00c beq.n 807fcae { if(blk) 807fc94: 4bb6 ldr r3, [pc, #728] ; (807ff70 ) 807fc96: 681b ldr r3, [r3, #0] 807fc98: 2b00 cmp r3, #0 807fc9a: d010 beq.n 807fcbe LCD_DisplayStringC(260, LCD_LINE_4, str1); 807fc9c: f507 73f6 add.w r3, r7, #492 ; 0x1ec 807fca0: 461a mov r2, r3 807fca2: 214a movs r1, #74 ; 0x4a 807fca4: f44f 7082 mov.w r0, #260 ; 0x104 807fca8: f7d4 fb40 bl 805432c 807fcac: e007 b.n 807fcbe } else LCD_DisplayStringC(260, LCD_LINE_4, str1); 807fcae: f507 73f6 add.w r3, r7, #492 ; 0x1ec 807fcb2: 461a mov r2, r3 807fcb4: 214a movs r1, #74 ; 0x4a 807fcb6: f44f 7082 mov.w r0, #260 ; 0x104 807fcba: f7d4 fb37 bl 805432c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807fcbe: 49a7 ldr r1, [pc, #668] ; (807ff5c ) 807fcc0: 48a7 ldr r0, [pc, #668] ; (807ff60 ) 807fcc2: f7d3 fd73 bl 80537ac LCD_DisplayStringC(260, LCD_LINE_5, str_roll); 807fcc6: f507 735e add.w r3, r7, #888 ; 0x378 807fcca: 461a mov r2, r3 807fccc: 215a movs r1, #90 ; 0x5a 807fcce: f44f 7082 mov.w r0, #260 ; 0x104 807fcd2: f7d4 fb2b bl 805432c LCD_DisplayStringC(260, LCD_LINE_6, str_outer); 807fcd6: f507 7359 add.w r3, r7, #868 ; 0x364 807fcda: 461a mov r2, r3 807fcdc: 216a movs r1, #106 ; 0x6a 807fcde: f44f 7082 mov.w r0, #260 ; 0x104 807fce2: f7d4 fb23 bl 805432c LCD_DisplayStringC(260, LCD_LINE_7, str_inner); 807fce6: f507 7354 add.w r3, r7, #848 ; 0x350 807fcea: 461a mov r2, r3 807fcec: 217a movs r1, #122 ; 0x7a 807fcee: f44f 7082 mov.w r0, #260 ; 0x104 807fcf2: f7d4 fb1b bl 805432c LCD_DisplayStringC(260, LCD_LINE_8, str_angle); 807fcf6: f507 734f add.w r3, r7, #828 ; 0x33c 807fcfa: 461a mov r2, r3 807fcfc: 218a movs r1, #138 ; 0x8a 807fcfe: f44f 7082 mov.w r0, #260 ; 0x104 807fd02: f7d4 fb13 bl 805432c LCD_DisplayStringC(260, LCD_LINE_9, (char *) pAVERAGE[pardata.AVG]); 807fd06: 4b93 ldr r3, [pc, #588] ; (807ff54 ) 807fd08: 7b5b ldrb r3, [r3, #13] 807fd0a: b2db uxtb r3, r3 807fd0c: 461a mov r2, r3 807fd0e: 4b99 ldr r3, [pc, #612] ; (807ff74 ) 807fd10: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807fd14: 461a mov r2, r3 807fd16: 219a movs r1, #154 ; 0x9a 807fd18: f44f 7082 mov.w r0, #260 ; 0x104 807fd1c: f7d4 fb06 bl 805432c LCD_DisplayStringC(260, LCD_LINE_12, str_rate); 807fd20: f507 734a add.w r3, r7, #808 ; 0x328 807fd24: 461a mov r2, r3 807fd26: 21ca movs r1, #202 ; 0xca 807fd28: f44f 7082 mov.w r0, #260 ; 0x104 807fd2c: f7d4 fafe bl 805432c if(pardata.OPTIONS & 0x4) // åñëè àâòîóñèëåíèå 807fd30: 4b88 ldr r3, [pc, #544] ; (807ff54 ) 807fd32: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 807fd36: f003 0304 and.w r3, r3, #4 807fd3a: 2b00 cmp r3, #0 807fd3c: d035 beq.n 807fdaa { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 807fd3e: 4987 ldr r1, [pc, #540] ; (807ff5c ) 807fd40: 488d ldr r0, [pc, #564] ; (807ff78 ) 807fd42: f7d3 fd33 bl 80537ac if(pardata.IIN != VOLTS) 807fd46: 4b83 ldr r3, [pc, #524] ; (807ff54 ) 807fd48: 799b ldrb r3, [r3, #6] 807fd4a: b2db uxtb r3, r3 807fd4c: 2b02 cmp r3, #2 807fd4e: d011 beq.n 807fd74 LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL[pardata.LANG][7]);//"Max.âîçä.,ì/ñ2" 807fd50: 4b80 ldr r3, [pc, #512] ; (807ff54 ) 807fd52: 7b1b ldrb r3, [r3, #12] 807fd54: b2db uxtb r3, r3 807fd56: 4619 mov r1, r3 807fd58: 4a88 ldr r2, [pc, #544] ; (807ff7c ) 807fd5a: 460b mov r3, r1 807fd5c: 00db lsls r3, r3, #3 807fd5e: 440b add r3, r1 807fd60: 009b lsls r3, r3, #2 807fd62: 4413 add r3, r2 807fd64: 331c adds r3, #28 807fd66: 681b ldr r3, [r3, #0] 807fd68: 461a mov r2, r3 807fd6a: 21ba movs r1, #186 ; 0xba 807fd6c: 200a movs r0, #10 807fd6e: f7d4 fac5 bl 80542fc 807fd72: e010 b.n 807fd96 else LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL_mV[pardata.LANG][7]);//"Max.âîçä.,ìÂ" 807fd74: 4b77 ldr r3, [pc, #476] ; (807ff54 ) 807fd76: 7b1b ldrb r3, [r3, #12] 807fd78: b2db uxtb r3, r3 807fd7a: 4619 mov r1, r3 807fd7c: 4a76 ldr r2, [pc, #472] ; (807ff58 ) 807fd7e: 460b mov r3, r1 807fd80: 00db lsls r3, r3, #3 807fd82: 440b add r3, r1 807fd84: 009b lsls r3, r3, #2 807fd86: 4413 add r3, r2 807fd88: 331c adds r3, #28 807fd8a: 681b ldr r3, [r3, #0] 807fd8c: 461a mov r2, r3 807fd8e: 21ba movs r1, #186 ; 0xba 807fd90: 200a movs r0, #10 807fd92: f7d4 fab3 bl 80542fc LCD_DisplayStringC(260, LCD_LINE_11, str); 807fd96: f507 733b add.w r3, r7, #748 ; 0x2ec 807fd9a: 461a mov r2, r3 807fd9c: 21ba movs r1, #186 ; 0xba 807fd9e: f44f 7082 mov.w r0, #260 ; 0x104 807fda2: f7d4 fac3 bl 805432c 807fda6: f002 bdef b.w 8082988 } else { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807fdaa: 496c ldr r1, [pc, #432] ; (807ff5c ) 807fdac: f04f 30ff mov.w r0, #4294967295 807fdb0: f7d3 fcfc bl 80537ac if(pardata.IIN != VOLTS) 807fdb4: 4b67 ldr r3, [pc, #412] ; (807ff54 ) 807fdb6: 799b ldrb r3, [r3, #6] 807fdb8: b2db uxtb r3, r3 807fdba: 2b02 cmp r3, #2 807fdbc: d011 beq.n 807fde2 LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL[pardata.LANG][7]);//"Max.âîçä.,ì/ñ2" 807fdbe: 4b65 ldr r3, [pc, #404] ; (807ff54 ) 807fdc0: 7b1b ldrb r3, [r3, #12] 807fdc2: b2db uxtb r3, r3 807fdc4: 4619 mov r1, r3 807fdc6: 4a6d ldr r2, [pc, #436] ; (807ff7c ) 807fdc8: 460b mov r3, r1 807fdca: 00db lsls r3, r3, #3 807fdcc: 440b add r3, r1 807fdce: 009b lsls r3, r3, #2 807fdd0: 4413 add r3, r2 807fdd2: 331c adds r3, #28 807fdd4: 681b ldr r3, [r3, #0] 807fdd6: 461a mov r2, r3 807fdd8: 21ba movs r1, #186 ; 0xba 807fdda: 200a movs r0, #10 807fddc: f7d4 fa8e bl 80542fc 807fde0: e010 b.n 807fe04 else LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL_mV[pardata.LANG][7]);//"Max.âîçä.,ìÂ" 807fde2: 4b5c ldr r3, [pc, #368] ; (807ff54 ) 807fde4: 7b1b ldrb r3, [r3, #12] 807fde6: b2db uxtb r3, r3 807fde8: 4619 mov r1, r3 807fdea: 4a5b ldr r2, [pc, #364] ; (807ff58 ) 807fdec: 460b mov r3, r1 807fdee: 00db lsls r3, r3, #3 807fdf0: 440b add r3, r1 807fdf2: 009b lsls r3, r3, #2 807fdf4: 4413 add r3, r2 807fdf6: 331c adds r3, #28 807fdf8: 681b ldr r3, [r3, #0] 807fdfa: 461a mov r2, r3 807fdfc: 21ba movs r1, #186 ; 0xba 807fdfe: 200a movs r0, #10 807fe00: f7d4 fa7c bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807fe04: 4955 ldr r1, [pc, #340] ; (807ff5c ) 807fe06: 4856 ldr r0, [pc, #344] ; (807ff60 ) 807fe08: f7d3 fcd0 bl 80537ac LCD_DisplayStringC(260, LCD_LINE_11, str); 807fe0c: f507 733b add.w r3, r7, #748 ; 0x2ec 807fe10: 461a mov r2, r3 807fe12: 21ba movs r1, #186 ; 0xba 807fe14: f44f 7082 mov.w r0, #260 ; 0x104 807fe18: f7d4 fa88 bl 805432c 807fe1c: f002 bdb4 b.w 8082988 } } else if(menupos == D_Roll) 807fe20: 4b50 ldr r3, [pc, #320] ; (807ff64 ) 807fe22: 781b ldrb r3, [r3, #0] 807fe24: b2db uxtb r3, r3 807fe26: 2b02 cmp r3, #2 807fe28: f040 80e5 bne.w 807fff6 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807fe2c: 494b ldr r1, [pc, #300] ; (807ff5c ) 807fe2e: f04f 30ff mov.w r0, #4294967295 807fe32: f7d3 fcbb bl 80537ac LCD_DisplayString(10, LCD_LINE_3, (char *)TEXT_Next[pardata.LANG]);//"Äàëåå" 807fe36: 4b47 ldr r3, [pc, #284] ; (807ff54 ) 807fe38: 7b1b ldrb r3, [r3, #12] 807fe3a: b2db uxtb r3, r3 807fe3c: 461a mov r2, r3 807fe3e: 4b4a ldr r3, [pc, #296] ; (807ff68 ) 807fe40: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807fe44: 461a mov r2, r3 807fe46: 213a movs r1, #58 ; 0x3a 807fe48: 200a movs r0, #10 807fe4a: f7d4 fa57 bl 80542fc LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807fe4e: 4943 ldr r1, [pc, #268] ; (807ff5c ) 807fe50: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807fe54: f7d3 fcaa bl 80537ac LCD_DisplayStringC(260, LCD_LINE_5, str_roll); 807fe58: f507 735e add.w r3, r7, #888 ; 0x378 807fe5c: 461a mov r2, r3 807fe5e: 215a movs r1, #90 ; 0x5a 807fe60: f44f 7082 mov.w r0, #260 ; 0x104 807fe64: f7d4 fa62 bl 805432c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807fe68: 493c ldr r1, [pc, #240] ; (807ff5c ) 807fe6a: 483d ldr r0, [pc, #244] ; (807ff60 ) 807fe6c: f7d3 fc9e bl 80537ac LCD_DisplayStringC(260, LCD_LINE_4, str1); 807fe70: f507 73f6 add.w r3, r7, #492 ; 0x1ec 807fe74: 461a mov r2, r3 807fe76: 214a movs r1, #74 ; 0x4a 807fe78: f44f 7082 mov.w r0, #260 ; 0x104 807fe7c: f7d4 fa56 bl 805432c LCD_DisplayStringC(260, LCD_LINE_6, str_outer); 807fe80: f507 7359 add.w r3, r7, #868 ; 0x364 807fe84: 461a mov r2, r3 807fe86: 216a movs r1, #106 ; 0x6a 807fe88: f44f 7082 mov.w r0, #260 ; 0x104 807fe8c: f7d4 fa4e bl 805432c LCD_DisplayStringC(260, LCD_LINE_7, str_inner); 807fe90: f507 7354 add.w r3, r7, #848 ; 0x350 807fe94: 461a mov r2, r3 807fe96: 217a movs r1, #122 ; 0x7a 807fe98: f44f 7082 mov.w r0, #260 ; 0x104 807fe9c: f7d4 fa46 bl 805432c LCD_DisplayStringC(260, LCD_LINE_8, str_angle); 807fea0: f507 734f add.w r3, r7, #828 ; 0x33c 807fea4: 461a mov r2, r3 807fea6: 218a movs r1, #138 ; 0x8a 807fea8: f44f 7082 mov.w r0, #260 ; 0x104 807feac: f7d4 fa3e bl 805432c LCD_DisplayStringC(260, LCD_LINE_9, (char *) pAVERAGE[pardata.AVG]); 807feb0: 4b28 ldr r3, [pc, #160] ; (807ff54 ) 807feb2: 7b5b ldrb r3, [r3, #13] 807feb4: b2db uxtb r3, r3 807feb6: 461a mov r2, r3 807feb8: 4b2e ldr r3, [pc, #184] ; (807ff74 ) 807feba: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807febe: 461a mov r2, r3 807fec0: 219a movs r1, #154 ; 0x9a 807fec2: f44f 7082 mov.w r0, #260 ; 0x104 807fec6: f7d4 fa31 bl 805432c LCD_DisplayStringC(260, LCD_LINE_12, str_rate); 807feca: f507 734a add.w r3, r7, #808 ; 0x328 807fece: 461a mov r2, r3 807fed0: 21ca movs r1, #202 ; 0xca 807fed2: f44f 7082 mov.w r0, #260 ; 0x104 807fed6: f7d4 fa29 bl 805432c if(pardata.OPTIONS & 0x4) // åñëè àâòîóñèëåíèå 807feda: 4b1e ldr r3, [pc, #120] ; (807ff54 ) 807fedc: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 807fee0: f003 0304 and.w r3, r3, #4 807fee4: 2b00 cmp r3, #0 807fee6: d04b beq.n 807ff80 { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 807fee8: 491c ldr r1, [pc, #112] ; (807ff5c ) 807feea: 4823 ldr r0, [pc, #140] ; (807ff78 ) 807feec: f7d3 fc5e bl 80537ac if(pardata.IIN != VOLTS) 807fef0: 4b18 ldr r3, [pc, #96] ; (807ff54 ) 807fef2: 799b ldrb r3, [r3, #6] 807fef4: b2db uxtb r3, r3 807fef6: 2b02 cmp r3, #2 807fef8: d011 beq.n 807ff1e LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL[pardata.LANG][7]);//"Max.âîçä.,ì/ñ2" 807fefa: 4b16 ldr r3, [pc, #88] ; (807ff54 ) 807fefc: 7b1b ldrb r3, [r3, #12] 807fefe: b2db uxtb r3, r3 807ff00: 4619 mov r1, r3 807ff02: 4a1e ldr r2, [pc, #120] ; (807ff7c ) 807ff04: 460b mov r3, r1 807ff06: 00db lsls r3, r3, #3 807ff08: 440b add r3, r1 807ff0a: 009b lsls r3, r3, #2 807ff0c: 4413 add r3, r2 807ff0e: 331c adds r3, #28 807ff10: 681b ldr r3, [r3, #0] 807ff12: 461a mov r2, r3 807ff14: 21ba movs r1, #186 ; 0xba 807ff16: 200a movs r0, #10 807ff18: f7d4 f9f0 bl 80542fc 807ff1c: e010 b.n 807ff40 else LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL_mV[pardata.LANG][7]);//"Max.âîçä.,ìÂ" 807ff1e: 4b0d ldr r3, [pc, #52] ; (807ff54 ) 807ff20: 7b1b ldrb r3, [r3, #12] 807ff22: b2db uxtb r3, r3 807ff24: 4619 mov r1, r3 807ff26: 4a0c ldr r2, [pc, #48] ; (807ff58 ) 807ff28: 460b mov r3, r1 807ff2a: 00db lsls r3, r3, #3 807ff2c: 440b add r3, r1 807ff2e: 009b lsls r3, r3, #2 807ff30: 4413 add r3, r2 807ff32: 331c adds r3, #28 807ff34: 681b ldr r3, [r3, #0] 807ff36: 461a mov r2, r3 807ff38: 21ba movs r1, #186 ; 0xba 807ff3a: 200a movs r0, #10 807ff3c: f7d4 f9de bl 80542fc LCD_DisplayStringC(260, LCD_LINE_11, str); 807ff40: f507 733b add.w r3, r7, #748 ; 0x2ec 807ff44: 461a mov r2, r3 807ff46: 21ba movs r1, #186 ; 0xba 807ff48: f44f 7082 mov.w r0, #260 ; 0x104 807ff4c: f7d4 f9ee bl 805432c 807ff50: f002 bd1a b.w 8082988 807ff54: 20023e60 .word 0x20023e60 807ff58: 200207ac .word 0x200207ac 807ff5c: ff0a0f1f .word 0xff0a0f1f 807ff60: ffd8aa57 .word 0xffd8aa57 807ff64: 20020070 .word 0x20020070 807ff68: 200205c4 .word 0x200205c4 807ff6c: 20020f84 .word 0x20020f84 807ff70: 2002165c .word 0x2002165c 807ff74: 20020224 .word 0x20020224 807ff78: ff808080 .word 0xff808080 807ff7c: 20020764 .word 0x20020764 } else { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807ff80: 49c7 ldr r1, [pc, #796] ; (80802a0 ) 807ff82: f04f 30ff mov.w r0, #4294967295 807ff86: f7d3 fc11 bl 80537ac if(pardata.IIN != VOLTS) 807ff8a: 4bc6 ldr r3, [pc, #792] ; (80802a4 ) 807ff8c: 799b ldrb r3, [r3, #6] 807ff8e: b2db uxtb r3, r3 807ff90: 2b02 cmp r3, #2 807ff92: d011 beq.n 807ffb8 LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL[pardata.LANG][7]);//"Max.âîçä.,ì/ñ2" 807ff94: 4bc3 ldr r3, [pc, #780] ; (80802a4 ) 807ff96: 7b1b ldrb r3, [r3, #12] 807ff98: b2db uxtb r3, r3 807ff9a: 4619 mov r1, r3 807ff9c: 4ac2 ldr r2, [pc, #776] ; (80802a8 ) 807ff9e: 460b mov r3, r1 807ffa0: 00db lsls r3, r3, #3 807ffa2: 440b add r3, r1 807ffa4: 009b lsls r3, r3, #2 807ffa6: 4413 add r3, r2 807ffa8: 331c adds r3, #28 807ffaa: 681b ldr r3, [r3, #0] 807ffac: 461a mov r2, r3 807ffae: 21ba movs r1, #186 ; 0xba 807ffb0: 200a movs r0, #10 807ffb2: f7d4 f9a3 bl 80542fc 807ffb6: e010 b.n 807ffda else LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL_mV[pardata.LANG][7]);//"Max.âîçä.,ìÂ" 807ffb8: 4bba ldr r3, [pc, #744] ; (80802a4 ) 807ffba: 7b1b ldrb r3, [r3, #12] 807ffbc: b2db uxtb r3, r3 807ffbe: 4619 mov r1, r3 807ffc0: 4aba ldr r2, [pc, #744] ; (80802ac ) 807ffc2: 460b mov r3, r1 807ffc4: 00db lsls r3, r3, #3 807ffc6: 440b add r3, r1 807ffc8: 009b lsls r3, r3, #2 807ffca: 4413 add r3, r2 807ffcc: 331c adds r3, #28 807ffce: 681b ldr r3, [r3, #0] 807ffd0: 461a mov r2, r3 807ffd2: 21ba movs r1, #186 ; 0xba 807ffd4: 200a movs r0, #10 807ffd6: f7d4 f991 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807ffda: 49b1 ldr r1, [pc, #708] ; (80802a0 ) 807ffdc: 48b4 ldr r0, [pc, #720] ; (80802b0 ) 807ffde: f7d3 fbe5 bl 80537ac LCD_DisplayStringC(260, LCD_LINE_11, str); 807ffe2: f507 733b add.w r3, r7, #748 ; 0x2ec 807ffe6: 461a mov r2, r3 807ffe8: 21ba movs r1, #186 ; 0xba 807ffea: f44f 7082 mov.w r0, #260 ; 0x104 807ffee: f7d4 f99d bl 805432c 807fff2: f002 bcc9 b.w 8082988 } } else if(menupos == D_Outer) 807fff6: 4baf ldr r3, [pc, #700] ; (80802b4 ) 807fff8: 781b ldrb r3, [r3, #0] 807fffa: b2db uxtb r3, r3 807fffc: 2b03 cmp r3, #3 807fffe: f040 80cf bne.w 80801a0 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8080002: 49a7 ldr r1, [pc, #668] ; (80802a0 ) 8080004: f04f 30ff mov.w r0, #4294967295 8080008: f7d3 fbd0 bl 80537ac LCD_DisplayString(10, LCD_LINE_3, (char *)TEXT_Next[pardata.LANG]);//"Äàëåå" 808000c: 4ba5 ldr r3, [pc, #660] ; (80802a4 ) 808000e: 7b1b ldrb r3, [r3, #12] 8080010: b2db uxtb r3, r3 8080012: 461a mov r2, r3 8080014: 4ba8 ldr r3, [pc, #672] ; (80802b8 ) 8080016: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808001a: 461a mov r2, r3 808001c: 213a movs r1, #58 ; 0x3a 808001e: 200a movs r0, #10 8080020: f7d4 f96c bl 80542fc LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8080024: 499e ldr r1, [pc, #632] ; (80802a0 ) 8080026: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808002a: f7d3 fbbf bl 80537ac LCD_DisplayStringC(260, LCD_LINE_6, str_outer); 808002e: f507 7359 add.w r3, r7, #868 ; 0x364 8080032: 461a mov r2, r3 8080034: 216a movs r1, #106 ; 0x6a 8080036: f44f 7082 mov.w r0, #260 ; 0x104 808003a: f7d4 f977 bl 805432c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808003e: 4998 ldr r1, [pc, #608] ; (80802a0 ) 8080040: 489b ldr r0, [pc, #620] ; (80802b0 ) 8080042: f7d3 fbb3 bl 80537ac LCD_DisplayStringC(260, LCD_LINE_4, str1); 8080046: f507 73f6 add.w r3, r7, #492 ; 0x1ec 808004a: 461a mov r2, r3 808004c: 214a movs r1, #74 ; 0x4a 808004e: f44f 7082 mov.w r0, #260 ; 0x104 8080052: f7d4 f96b bl 805432c LCD_DisplayStringC(260, LCD_LINE_5, str_roll); 8080056: f507 735e add.w r3, r7, #888 ; 0x378 808005a: 461a mov r2, r3 808005c: 215a movs r1, #90 ; 0x5a 808005e: f44f 7082 mov.w r0, #260 ; 0x104 8080062: f7d4 f963 bl 805432c LCD_DisplayStringC(260, LCD_LINE_7, str_inner); 8080066: f507 7354 add.w r3, r7, #848 ; 0x350 808006a: 461a mov r2, r3 808006c: 217a movs r1, #122 ; 0x7a 808006e: f44f 7082 mov.w r0, #260 ; 0x104 8080072: f7d4 f95b bl 805432c LCD_DisplayStringC(260, LCD_LINE_8, str_angle); 8080076: f507 734f add.w r3, r7, #828 ; 0x33c 808007a: 461a mov r2, r3 808007c: 218a movs r1, #138 ; 0x8a 808007e: f44f 7082 mov.w r0, #260 ; 0x104 8080082: f7d4 f953 bl 805432c LCD_DisplayStringC(260, LCD_LINE_9, (char *) pAVERAGE[pardata.AVG]); 8080086: 4b87 ldr r3, [pc, #540] ; (80802a4 ) 8080088: 7b5b ldrb r3, [r3, #13] 808008a: b2db uxtb r3, r3 808008c: 461a mov r2, r3 808008e: 4b8b ldr r3, [pc, #556] ; (80802bc ) 8080090: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8080094: 461a mov r2, r3 8080096: 219a movs r1, #154 ; 0x9a 8080098: f44f 7082 mov.w r0, #260 ; 0x104 808009c: f7d4 f946 bl 805432c LCD_DisplayStringC(260, LCD_LINE_12, str_rate); 80800a0: f507 734a add.w r3, r7, #808 ; 0x328 80800a4: 461a mov r2, r3 80800a6: 21ca movs r1, #202 ; 0xca 80800a8: f44f 7082 mov.w r0, #260 ; 0x104 80800ac: f7d4 f93e bl 805432c if(pardata.OPTIONS & 0x4) // åñëè àâòîóñèëåíèå 80800b0: 4b7c ldr r3, [pc, #496] ; (80802a4 ) 80800b2: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80800b6: f003 0304 and.w r3, r3, #4 80800ba: 2b00 cmp r3, #0 80800bc: d035 beq.n 808012a { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80800be: 4978 ldr r1, [pc, #480] ; (80802a0 ) 80800c0: 487f ldr r0, [pc, #508] ; (80802c0 ) 80800c2: f7d3 fb73 bl 80537ac if(pardata.IIN != VOLTS) 80800c6: 4b77 ldr r3, [pc, #476] ; (80802a4 ) 80800c8: 799b ldrb r3, [r3, #6] 80800ca: b2db uxtb r3, r3 80800cc: 2b02 cmp r3, #2 80800ce: d011 beq.n 80800f4 LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL[pardata.LANG][7]);//"Max.âîçä.,ì/ñ2" 80800d0: 4b74 ldr r3, [pc, #464] ; (80802a4 ) 80800d2: 7b1b ldrb r3, [r3, #12] 80800d4: b2db uxtb r3, r3 80800d6: 4619 mov r1, r3 80800d8: 4a73 ldr r2, [pc, #460] ; (80802a8 ) 80800da: 460b mov r3, r1 80800dc: 00db lsls r3, r3, #3 80800de: 440b add r3, r1 80800e0: 009b lsls r3, r3, #2 80800e2: 4413 add r3, r2 80800e4: 331c adds r3, #28 80800e6: 681b ldr r3, [r3, #0] 80800e8: 461a mov r2, r3 80800ea: 21ba movs r1, #186 ; 0xba 80800ec: 200a movs r0, #10 80800ee: f7d4 f905 bl 80542fc 80800f2: e010 b.n 8080116 else LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL_mV[pardata.LANG][7]);//"Max.âîçä.,ìÂ" 80800f4: 4b6b ldr r3, [pc, #428] ; (80802a4 ) 80800f6: 7b1b ldrb r3, [r3, #12] 80800f8: b2db uxtb r3, r3 80800fa: 4619 mov r1, r3 80800fc: 4a6b ldr r2, [pc, #428] ; (80802ac ) 80800fe: 460b mov r3, r1 8080100: 00db lsls r3, r3, #3 8080102: 440b add r3, r1 8080104: 009b lsls r3, r3, #2 8080106: 4413 add r3, r2 8080108: 331c adds r3, #28 808010a: 681b ldr r3, [r3, #0] 808010c: 461a mov r2, r3 808010e: 21ba movs r1, #186 ; 0xba 8080110: 200a movs r0, #10 8080112: f7d4 f8f3 bl 80542fc LCD_DisplayStringC(260, LCD_LINE_11, str); 8080116: f507 733b add.w r3, r7, #748 ; 0x2ec 808011a: 461a mov r2, r3 808011c: 21ba movs r1, #186 ; 0xba 808011e: f44f 7082 mov.w r0, #260 ; 0x104 8080122: f7d4 f903 bl 805432c 8080126: f002 bc2f b.w 8082988 } else { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808012a: 495d ldr r1, [pc, #372] ; (80802a0 ) 808012c: f04f 30ff mov.w r0, #4294967295 8080130: f7d3 fb3c bl 80537ac if(pardata.IIN != VOLTS) 8080134: 4b5b ldr r3, [pc, #364] ; (80802a4 ) 8080136: 799b ldrb r3, [r3, #6] 8080138: b2db uxtb r3, r3 808013a: 2b02 cmp r3, #2 808013c: d011 beq.n 8080162 LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL[pardata.LANG][7]);//"Max.âîçä.,ì/ñ2" 808013e: 4b59 ldr r3, [pc, #356] ; (80802a4 ) 8080140: 7b1b ldrb r3, [r3, #12] 8080142: b2db uxtb r3, r3 8080144: 4619 mov r1, r3 8080146: 4a58 ldr r2, [pc, #352] ; (80802a8 ) 8080148: 460b mov r3, r1 808014a: 00db lsls r3, r3, #3 808014c: 440b add r3, r1 808014e: 009b lsls r3, r3, #2 8080150: 4413 add r3, r2 8080152: 331c adds r3, #28 8080154: 681b ldr r3, [r3, #0] 8080156: 461a mov r2, r3 8080158: 21ba movs r1, #186 ; 0xba 808015a: 200a movs r0, #10 808015c: f7d4 f8ce bl 80542fc 8080160: e010 b.n 8080184 else LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL_mV[pardata.LANG][7]);//"Max.âîçä.,ìÂ" 8080162: 4b50 ldr r3, [pc, #320] ; (80802a4 ) 8080164: 7b1b ldrb r3, [r3, #12] 8080166: b2db uxtb r3, r3 8080168: 4619 mov r1, r3 808016a: 4a50 ldr r2, [pc, #320] ; (80802ac ) 808016c: 460b mov r3, r1 808016e: 00db lsls r3, r3, #3 8080170: 440b add r3, r1 8080172: 009b lsls r3, r3, #2 8080174: 4413 add r3, r2 8080176: 331c adds r3, #28 8080178: 681b ldr r3, [r3, #0] 808017a: 461a mov r2, r3 808017c: 21ba movs r1, #186 ; 0xba 808017e: 200a movs r0, #10 8080180: f7d4 f8bc bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8080184: 4946 ldr r1, [pc, #280] ; (80802a0 ) 8080186: 484a ldr r0, [pc, #296] ; (80802b0 ) 8080188: f7d3 fb10 bl 80537ac LCD_DisplayStringC(260, LCD_LINE_11, str); 808018c: f507 733b add.w r3, r7, #748 ; 0x2ec 8080190: 461a mov r2, r3 8080192: 21ba movs r1, #186 ; 0xba 8080194: f44f 7082 mov.w r0, #260 ; 0x104 8080198: f7d4 f8c8 bl 805432c 808019c: f002 bbf4 b.w 8082988 } } else if(menupos == D_Inner) 80801a0: 4b44 ldr r3, [pc, #272] ; (80802b4 ) 80801a2: 781b ldrb r3, [r3, #0] 80801a4: b2db uxtb r3, r3 80801a6: 2b04 cmp r3, #4 80801a8: f040 80e2 bne.w 8080370 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80801ac: 493c ldr r1, [pc, #240] ; (80802a0 ) 80801ae: f04f 30ff mov.w r0, #4294967295 80801b2: f7d3 fafb bl 80537ac LCD_DisplayString(10, LCD_LINE_3, (char *)TEXT_Next[pardata.LANG]);//"Äàëåå" 80801b6: 4b3b ldr r3, [pc, #236] ; (80802a4 ) 80801b8: 7b1b ldrb r3, [r3, #12] 80801ba: b2db uxtb r3, r3 80801bc: 461a mov r2, r3 80801be: 4b3e ldr r3, [pc, #248] ; (80802b8 ) 80801c0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80801c4: 461a mov r2, r3 80801c6: 213a movs r1, #58 ; 0x3a 80801c8: 200a movs r0, #10 80801ca: f7d4 f897 bl 80542fc LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80801ce: 4934 ldr r1, [pc, #208] ; (80802a0 ) 80801d0: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80801d4: f7d3 faea bl 80537ac LCD_DisplayStringC(260, LCD_LINE_7, str_inner); 80801d8: f507 7354 add.w r3, r7, #848 ; 0x350 80801dc: 461a mov r2, r3 80801de: 217a movs r1, #122 ; 0x7a 80801e0: f44f 7082 mov.w r0, #260 ; 0x104 80801e4: f7d4 f8a2 bl 805432c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80801e8: 492d ldr r1, [pc, #180] ; (80802a0 ) 80801ea: 4831 ldr r0, [pc, #196] ; (80802b0 ) 80801ec: f7d3 fade bl 80537ac LCD_DisplayStringC(260, LCD_LINE_4, str1); 80801f0: f507 73f6 add.w r3, r7, #492 ; 0x1ec 80801f4: 461a mov r2, r3 80801f6: 214a movs r1, #74 ; 0x4a 80801f8: f44f 7082 mov.w r0, #260 ; 0x104 80801fc: f7d4 f896 bl 805432c LCD_DisplayStringC(260, LCD_LINE_5, str_roll); 8080200: f507 735e add.w r3, r7, #888 ; 0x378 8080204: 461a mov r2, r3 8080206: 215a movs r1, #90 ; 0x5a 8080208: f44f 7082 mov.w r0, #260 ; 0x104 808020c: f7d4 f88e bl 805432c LCD_DisplayStringC(260, LCD_LINE_6, str_outer); 8080210: f507 7359 add.w r3, r7, #868 ; 0x364 8080214: 461a mov r2, r3 8080216: 216a movs r1, #106 ; 0x6a 8080218: f44f 7082 mov.w r0, #260 ; 0x104 808021c: f7d4 f886 bl 805432c LCD_DisplayStringC(260, LCD_LINE_8, str_angle); 8080220: f507 734f add.w r3, r7, #828 ; 0x33c 8080224: 461a mov r2, r3 8080226: 218a movs r1, #138 ; 0x8a 8080228: f44f 7082 mov.w r0, #260 ; 0x104 808022c: f7d4 f87e bl 805432c LCD_DisplayStringC(260, LCD_LINE_9, (char *) pAVERAGE[pardata.AVG]); 8080230: 4b1c ldr r3, [pc, #112] ; (80802a4 ) 8080232: 7b5b ldrb r3, [r3, #13] 8080234: b2db uxtb r3, r3 8080236: 461a mov r2, r3 8080238: 4b20 ldr r3, [pc, #128] ; (80802bc ) 808023a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808023e: 461a mov r2, r3 8080240: 219a movs r1, #154 ; 0x9a 8080242: f44f 7082 mov.w r0, #260 ; 0x104 8080246: f7d4 f871 bl 805432c LCD_DisplayStringC(260, LCD_LINE_12, str_rate); 808024a: f507 734a add.w r3, r7, #808 ; 0x328 808024e: 461a mov r2, r3 8080250: 21ca movs r1, #202 ; 0xca 8080252: f44f 7082 mov.w r0, #260 ; 0x104 8080256: f7d4 f869 bl 805432c if(pardata.OPTIONS & 0x4) // åñëè àâòîóñèëåíèå 808025a: 4b12 ldr r3, [pc, #72] ; (80802a4 ) 808025c: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8080260: f003 0304 and.w r3, r3, #4 8080264: 2b00 cmp r3, #0 8080266: d048 beq.n 80802fa { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8080268: 490d ldr r1, [pc, #52] ; (80802a0 ) 808026a: 4815 ldr r0, [pc, #84] ; (80802c0 ) 808026c: f7d3 fa9e bl 80537ac if(pardata.IIN != VOLTS) 8080270: 4b0c ldr r3, [pc, #48] ; (80802a4 ) 8080272: 799b ldrb r3, [r3, #6] 8080274: b2db uxtb r3, r3 8080276: 2b02 cmp r3, #2 8080278: d024 beq.n 80802c4 LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL[pardata.LANG][7]);//"Max.âîçä.,ì/ñ2" 808027a: 4b0a ldr r3, [pc, #40] ; (80802a4 ) 808027c: 7b1b ldrb r3, [r3, #12] 808027e: b2db uxtb r3, r3 8080280: 4619 mov r1, r3 8080282: 4a09 ldr r2, [pc, #36] ; (80802a8 ) 8080284: 460b mov r3, r1 8080286: 00db lsls r3, r3, #3 8080288: 440b add r3, r1 808028a: 009b lsls r3, r3, #2 808028c: 4413 add r3, r2 808028e: 331c adds r3, #28 8080290: 681b ldr r3, [r3, #0] 8080292: 461a mov r2, r3 8080294: 21ba movs r1, #186 ; 0xba 8080296: 200a movs r0, #10 8080298: f7d4 f830 bl 80542fc 808029c: e023 b.n 80802e6 808029e: bf00 nop 80802a0: ff0a0f1f .word 0xff0a0f1f 80802a4: 20023e60 .word 0x20023e60 80802a8: 20020764 .word 0x20020764 80802ac: 200207ac .word 0x200207ac 80802b0: ffd8aa57 .word 0xffd8aa57 80802b4: 20020070 .word 0x20020070 80802b8: 200205c4 .word 0x200205c4 80802bc: 20020224 .word 0x20020224 80802c0: ff808080 .word 0xff808080 else LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL_mV[pardata.LANG][7]);//"Max.âîçä.,ìÂ" 80802c4: 4bae ldr r3, [pc, #696] ; (8080580 ) 80802c6: 7b1b ldrb r3, [r3, #12] 80802c8: b2db uxtb r3, r3 80802ca: 4619 mov r1, r3 80802cc: 4aad ldr r2, [pc, #692] ; (8080584 ) 80802ce: 460b mov r3, r1 80802d0: 00db lsls r3, r3, #3 80802d2: 440b add r3, r1 80802d4: 009b lsls r3, r3, #2 80802d6: 4413 add r3, r2 80802d8: 331c adds r3, #28 80802da: 681b ldr r3, [r3, #0] 80802dc: 461a mov r2, r3 80802de: 21ba movs r1, #186 ; 0xba 80802e0: 200a movs r0, #10 80802e2: f7d4 f80b bl 80542fc LCD_DisplayStringC(260, LCD_LINE_11, str); 80802e6: f507 733b add.w r3, r7, #748 ; 0x2ec 80802ea: 461a mov r2, r3 80802ec: 21ba movs r1, #186 ; 0xba 80802ee: f44f 7082 mov.w r0, #260 ; 0x104 80802f2: f7d4 f81b bl 805432c 80802f6: f002 bb47 b.w 8082988 } else { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80802fa: 49a3 ldr r1, [pc, #652] ; (8080588 ) 80802fc: f04f 30ff mov.w r0, #4294967295 8080300: f7d3 fa54 bl 80537ac if(pardata.IIN != VOLTS) 8080304: 4b9e ldr r3, [pc, #632] ; (8080580 ) 8080306: 799b ldrb r3, [r3, #6] 8080308: b2db uxtb r3, r3 808030a: 2b02 cmp r3, #2 808030c: d011 beq.n 8080332 LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL[pardata.LANG][7]);//"Max.âîçä.,ì/ñ2" 808030e: 4b9c ldr r3, [pc, #624] ; (8080580 ) 8080310: 7b1b ldrb r3, [r3, #12] 8080312: b2db uxtb r3, r3 8080314: 4619 mov r1, r3 8080316: 4a9d ldr r2, [pc, #628] ; (808058c ) 8080318: 460b mov r3, r1 808031a: 00db lsls r3, r3, #3 808031c: 440b add r3, r1 808031e: 009b lsls r3, r3, #2 8080320: 4413 add r3, r2 8080322: 331c adds r3, #28 8080324: 681b ldr r3, [r3, #0] 8080326: 461a mov r2, r3 8080328: 21ba movs r1, #186 ; 0xba 808032a: 200a movs r0, #10 808032c: f7d3 ffe6 bl 80542fc 8080330: e010 b.n 8080354 else LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL_mV[pardata.LANG][7]);//"Max.âîçä.,ìÂ" 8080332: 4b93 ldr r3, [pc, #588] ; (8080580 ) 8080334: 7b1b ldrb r3, [r3, #12] 8080336: b2db uxtb r3, r3 8080338: 4619 mov r1, r3 808033a: 4a92 ldr r2, [pc, #584] ; (8080584 ) 808033c: 460b mov r3, r1 808033e: 00db lsls r3, r3, #3 8080340: 440b add r3, r1 8080342: 009b lsls r3, r3, #2 8080344: 4413 add r3, r2 8080346: 331c adds r3, #28 8080348: 681b ldr r3, [r3, #0] 808034a: 461a mov r2, r3 808034c: 21ba movs r1, #186 ; 0xba 808034e: 200a movs r0, #10 8080350: f7d3 ffd4 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8080354: 498c ldr r1, [pc, #560] ; (8080588 ) 8080356: 488e ldr r0, [pc, #568] ; (8080590 ) 8080358: f7d3 fa28 bl 80537ac LCD_DisplayStringC(260, LCD_LINE_11, str); 808035c: f507 733b add.w r3, r7, #748 ; 0x2ec 8080360: 461a mov r2, r3 8080362: 21ba movs r1, #186 ; 0xba 8080364: f44f 7082 mov.w r0, #260 ; 0x104 8080368: f7d3 ffe0 bl 805432c 808036c: f002 bb0c b.w 8082988 } } else if(menupos == D_Angle) 8080370: 4b88 ldr r3, [pc, #544] ; (8080594 ) 8080372: 781b ldrb r3, [r3, #0] 8080374: b2db uxtb r3, r3 8080376: 2b05 cmp r3, #5 8080378: f040 80cf bne.w 808051a { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808037c: 4982 ldr r1, [pc, #520] ; (8080588 ) 808037e: f04f 30ff mov.w r0, #4294967295 8080382: f7d3 fa13 bl 80537ac LCD_DisplayString(10, LCD_LINE_3, (char *)TEXT_Next[pardata.LANG]);//"Äàëåå" 8080386: 4b7e ldr r3, [pc, #504] ; (8080580 ) 8080388: 7b1b ldrb r3, [r3, #12] 808038a: b2db uxtb r3, r3 808038c: 461a mov r2, r3 808038e: 4b82 ldr r3, [pc, #520] ; (8080598 ) 8080390: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8080394: 461a mov r2, r3 8080396: 213a movs r1, #58 ; 0x3a 8080398: 200a movs r0, #10 808039a: f7d3 ffaf bl 80542fc LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808039e: 497a ldr r1, [pc, #488] ; (8080588 ) 80803a0: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80803a4: f7d3 fa02 bl 80537ac LCD_DisplayStringC(260, LCD_LINE_8, str_angle); 80803a8: f507 734f add.w r3, r7, #828 ; 0x33c 80803ac: 461a mov r2, r3 80803ae: 218a movs r1, #138 ; 0x8a 80803b0: f44f 7082 mov.w r0, #260 ; 0x104 80803b4: f7d3 ffba bl 805432c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80803b8: 4973 ldr r1, [pc, #460] ; (8080588 ) 80803ba: 4875 ldr r0, [pc, #468] ; (8080590 ) 80803bc: f7d3 f9f6 bl 80537ac LCD_DisplayStringC(260, LCD_LINE_4, str1); 80803c0: f507 73f6 add.w r3, r7, #492 ; 0x1ec 80803c4: 461a mov r2, r3 80803c6: 214a movs r1, #74 ; 0x4a 80803c8: f44f 7082 mov.w r0, #260 ; 0x104 80803cc: f7d3 ffae bl 805432c LCD_DisplayStringC(260, LCD_LINE_5, str_roll); 80803d0: f507 735e add.w r3, r7, #888 ; 0x378 80803d4: 461a mov r2, r3 80803d6: 215a movs r1, #90 ; 0x5a 80803d8: f44f 7082 mov.w r0, #260 ; 0x104 80803dc: f7d3 ffa6 bl 805432c LCD_DisplayStringC(260, LCD_LINE_6, str_outer); 80803e0: f507 7359 add.w r3, r7, #868 ; 0x364 80803e4: 461a mov r2, r3 80803e6: 216a movs r1, #106 ; 0x6a 80803e8: f44f 7082 mov.w r0, #260 ; 0x104 80803ec: f7d3 ff9e bl 805432c LCD_DisplayStringC(260, LCD_LINE_7, str_inner); 80803f0: f507 7354 add.w r3, r7, #848 ; 0x350 80803f4: 461a mov r2, r3 80803f6: 217a movs r1, #122 ; 0x7a 80803f8: f44f 7082 mov.w r0, #260 ; 0x104 80803fc: f7d3 ff96 bl 805432c LCD_DisplayStringC(260, LCD_LINE_9, (char *) pAVERAGE[pardata.AVG]); 8080400: 4b5f ldr r3, [pc, #380] ; (8080580 ) 8080402: 7b5b ldrb r3, [r3, #13] 8080404: b2db uxtb r3, r3 8080406: 461a mov r2, r3 8080408: 4b64 ldr r3, [pc, #400] ; (808059c ) 808040a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808040e: 461a mov r2, r3 8080410: 219a movs r1, #154 ; 0x9a 8080412: f44f 7082 mov.w r0, #260 ; 0x104 8080416: f7d3 ff89 bl 805432c LCD_DisplayStringC(260, LCD_LINE_12, str_rate); 808041a: f507 734a add.w r3, r7, #808 ; 0x328 808041e: 461a mov r2, r3 8080420: 21ca movs r1, #202 ; 0xca 8080422: f44f 7082 mov.w r0, #260 ; 0x104 8080426: f7d3 ff81 bl 805432c if(pardata.OPTIONS & 0x4) // åñëè àâòîóñèëåíèå 808042a: 4b55 ldr r3, [pc, #340] ; (8080580 ) 808042c: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8080430: f003 0304 and.w r3, r3, #4 8080434: 2b00 cmp r3, #0 8080436: d035 beq.n 80804a4 { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8080438: 4953 ldr r1, [pc, #332] ; (8080588 ) 808043a: 4859 ldr r0, [pc, #356] ; (80805a0 ) 808043c: f7d3 f9b6 bl 80537ac if(pardata.IIN != VOLTS) 8080440: 4b4f ldr r3, [pc, #316] ; (8080580 ) 8080442: 799b ldrb r3, [r3, #6] 8080444: b2db uxtb r3, r3 8080446: 2b02 cmp r3, #2 8080448: d011 beq.n 808046e LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL[pardata.LANG][7]);//"Max.âîçä.,ì/ñ2" 808044a: 4b4d ldr r3, [pc, #308] ; (8080580 ) 808044c: 7b1b ldrb r3, [r3, #12] 808044e: b2db uxtb r3, r3 8080450: 4619 mov r1, r3 8080452: 4a4e ldr r2, [pc, #312] ; (808058c ) 8080454: 460b mov r3, r1 8080456: 00db lsls r3, r3, #3 8080458: 440b add r3, r1 808045a: 009b lsls r3, r3, #2 808045c: 4413 add r3, r2 808045e: 331c adds r3, #28 8080460: 681b ldr r3, [r3, #0] 8080462: 461a mov r2, r3 8080464: 21ba movs r1, #186 ; 0xba 8080466: 200a movs r0, #10 8080468: f7d3 ff48 bl 80542fc 808046c: e010 b.n 8080490 else LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL_mV[pardata.LANG][7]);//"Max.âîçä.,ìÂ" 808046e: 4b44 ldr r3, [pc, #272] ; (8080580 ) 8080470: 7b1b ldrb r3, [r3, #12] 8080472: b2db uxtb r3, r3 8080474: 4619 mov r1, r3 8080476: 4a43 ldr r2, [pc, #268] ; (8080584 ) 8080478: 460b mov r3, r1 808047a: 00db lsls r3, r3, #3 808047c: 440b add r3, r1 808047e: 009b lsls r3, r3, #2 8080480: 4413 add r3, r2 8080482: 331c adds r3, #28 8080484: 681b ldr r3, [r3, #0] 8080486: 461a mov r2, r3 8080488: 21ba movs r1, #186 ; 0xba 808048a: 200a movs r0, #10 808048c: f7d3 ff36 bl 80542fc LCD_DisplayStringC(260, LCD_LINE_11, str); 8080490: f507 733b add.w r3, r7, #748 ; 0x2ec 8080494: 461a mov r2, r3 8080496: 21ba movs r1, #186 ; 0xba 8080498: f44f 7082 mov.w r0, #260 ; 0x104 808049c: f7d3 ff46 bl 805432c 80804a0: f002 ba72 b.w 8082988 } else { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80804a4: 4938 ldr r1, [pc, #224] ; (8080588 ) 80804a6: f04f 30ff mov.w r0, #4294967295 80804aa: f7d3 f97f bl 80537ac if(pardata.IIN != VOLTS) 80804ae: 4b34 ldr r3, [pc, #208] ; (8080580 ) 80804b0: 799b ldrb r3, [r3, #6] 80804b2: b2db uxtb r3, r3 80804b4: 2b02 cmp r3, #2 80804b6: d011 beq.n 80804dc LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL[pardata.LANG][7]);//"Max.âîçä.,ì/ñ2" 80804b8: 4b31 ldr r3, [pc, #196] ; (8080580 ) 80804ba: 7b1b ldrb r3, [r3, #12] 80804bc: b2db uxtb r3, r3 80804be: 4619 mov r1, r3 80804c0: 4a32 ldr r2, [pc, #200] ; (808058c ) 80804c2: 460b mov r3, r1 80804c4: 00db lsls r3, r3, #3 80804c6: 440b add r3, r1 80804c8: 009b lsls r3, r3, #2 80804ca: 4413 add r3, r2 80804cc: 331c adds r3, #28 80804ce: 681b ldr r3, [r3, #0] 80804d0: 461a mov r2, r3 80804d2: 21ba movs r1, #186 ; 0xba 80804d4: 200a movs r0, #10 80804d6: f7d3 ff11 bl 80542fc 80804da: e010 b.n 80804fe else LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL_mV[pardata.LANG][7]);//"Max.âîçä.,ìÂ" 80804dc: 4b28 ldr r3, [pc, #160] ; (8080580 ) 80804de: 7b1b ldrb r3, [r3, #12] 80804e0: b2db uxtb r3, r3 80804e2: 4619 mov r1, r3 80804e4: 4a27 ldr r2, [pc, #156] ; (8080584 ) 80804e6: 460b mov r3, r1 80804e8: 00db lsls r3, r3, #3 80804ea: 440b add r3, r1 80804ec: 009b lsls r3, r3, #2 80804ee: 4413 add r3, r2 80804f0: 331c adds r3, #28 80804f2: 681b ldr r3, [r3, #0] 80804f4: 461a mov r2, r3 80804f6: 21ba movs r1, #186 ; 0xba 80804f8: 200a movs r0, #10 80804fa: f7d3 feff bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80804fe: 4922 ldr r1, [pc, #136] ; (8080588 ) 8080500: 4823 ldr r0, [pc, #140] ; (8080590 ) 8080502: f7d3 f953 bl 80537ac LCD_DisplayStringC(260, LCD_LINE_11, str); 8080506: f507 733b add.w r3, r7, #748 ; 0x2ec 808050a: 461a mov r2, r3 808050c: 21ba movs r1, #186 ; 0xba 808050e: f44f 7082 mov.w r0, #260 ; 0x104 8080512: f7d3 ff0b bl 805432c 8080516: f002 ba37 b.w 8082988 } } else if(menupos == RollAverage) 808051a: 4b1e ldr r3, [pc, #120] ; (8080594 ) 808051c: 781b ldrb r3, [r3, #0] 808051e: b2db uxtb r3, r3 8080520: 2b06 cmp r3, #6 8080522: f040 80fc bne.w 808071e { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8080526: 4918 ldr r1, [pc, #96] ; (8080588 ) 8080528: f04f 30ff mov.w r0, #4294967295 808052c: f7d3 f93e bl 80537ac LCD_DisplayString(10, LCD_LINE_3, (char *)TEXT_Next[pardata.LANG]);//"Äàëåå" 8080530: 4b13 ldr r3, [pc, #76] ; (8080580 ) 8080532: 7b1b ldrb r3, [r3, #12] 8080534: b2db uxtb r3, r3 8080536: 461a mov r2, r3 8080538: 4b17 ldr r3, [pc, #92] ; (8080598 ) 808053a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808053e: 461a mov r2, r3 8080540: 213a movs r1, #58 ; 0x3a 8080542: 200a movs r0, #10 8080544: f7d3 feda bl 80542fc LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8080548: 490f ldr r1, [pc, #60] ; (8080588 ) 808054a: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808054e: f7d3 f92d bl 80537ac if(focused) 8080552: 4b14 ldr r3, [pc, #80] ; (80805a4 ) 8080554: 781b ldrb r3, [r3, #0] 8080556: b2db uxtb r3, r3 8080558: 2b00 cmp r3, #0 808055a: d027 beq.n 80805ac { if(blk) 808055c: 4b12 ldr r3, [pc, #72] ; (80805a8 ) 808055e: 681b ldr r3, [r3, #0] 8080560: 2b00 cmp r3, #0 8080562: d030 beq.n 80805c6 LCD_DisplayStringC(260, LCD_LINE_9, (char *) pAVERAGE[pardata.AVG]); 8080564: 4b06 ldr r3, [pc, #24] ; (8080580 ) 8080566: 7b5b ldrb r3, [r3, #13] 8080568: b2db uxtb r3, r3 808056a: 461a mov r2, r3 808056c: 4b0b ldr r3, [pc, #44] ; (808059c ) 808056e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8080572: 461a mov r2, r3 8080574: 219a movs r1, #154 ; 0x9a 8080576: f44f 7082 mov.w r0, #260 ; 0x104 808057a: f7d3 fed7 bl 805432c 808057e: e022 b.n 80805c6 8080580: 20023e60 .word 0x20023e60 8080584: 200207ac .word 0x200207ac 8080588: ff0a0f1f .word 0xff0a0f1f 808058c: 20020764 .word 0x20020764 8080590: ffd8aa57 .word 0xffd8aa57 8080594: 20020070 .word 0x20020070 8080598: 200205c4 .word 0x200205c4 808059c: 20020224 .word 0x20020224 80805a0: ff808080 .word 0xff808080 80805a4: 20020f84 .word 0x20020f84 80805a8: 2002165c .word 0x2002165c } else LCD_DisplayStringC(260, LCD_LINE_9, (char *) pAVERAGE[pardata.AVG]); 80805ac: 4bc4 ldr r3, [pc, #784] ; (80808c0 ) 80805ae: 7b5b ldrb r3, [r3, #13] 80805b0: b2db uxtb r3, r3 80805b2: 461a mov r2, r3 80805b4: 4bc3 ldr r3, [pc, #780] ; (80808c4 ) 80805b6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80805ba: 461a mov r2, r3 80805bc: 219a movs r1, #154 ; 0x9a 80805be: f44f 7082 mov.w r0, #260 ; 0x104 80805c2: f7d3 feb3 bl 805432c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80805c6: 49c0 ldr r1, [pc, #768] ; (80808c8 ) 80805c8: 48c0 ldr r0, [pc, #768] ; (80808cc ) 80805ca: f7d3 f8ef bl 80537ac LCD_DisplayStringC(260, LCD_LINE_4, str1); 80805ce: f507 73f6 add.w r3, r7, #492 ; 0x1ec 80805d2: 461a mov r2, r3 80805d4: 214a movs r1, #74 ; 0x4a 80805d6: f44f 7082 mov.w r0, #260 ; 0x104 80805da: f7d3 fea7 bl 805432c LCD_DisplayStringC(260, LCD_LINE_5, str_roll); 80805de: f507 735e add.w r3, r7, #888 ; 0x378 80805e2: 461a mov r2, r3 80805e4: 215a movs r1, #90 ; 0x5a 80805e6: f44f 7082 mov.w r0, #260 ; 0x104 80805ea: f7d3 fe9f bl 805432c LCD_DisplayStringC(260, LCD_LINE_6, str_outer); 80805ee: f507 7359 add.w r3, r7, #868 ; 0x364 80805f2: 461a mov r2, r3 80805f4: 216a movs r1, #106 ; 0x6a 80805f6: f44f 7082 mov.w r0, #260 ; 0x104 80805fa: f7d3 fe97 bl 805432c LCD_DisplayStringC(260, LCD_LINE_7, str_inner); 80805fe: f507 7354 add.w r3, r7, #848 ; 0x350 8080602: 461a mov r2, r3 8080604: 217a movs r1, #122 ; 0x7a 8080606: f44f 7082 mov.w r0, #260 ; 0x104 808060a: f7d3 fe8f bl 805432c LCD_DisplayStringC(260, LCD_LINE_8, str_angle); 808060e: f507 734f add.w r3, r7, #828 ; 0x33c 8080612: 461a mov r2, r3 8080614: 218a movs r1, #138 ; 0x8a 8080616: f44f 7082 mov.w r0, #260 ; 0x104 808061a: f7d3 fe87 bl 805432c LCD_DisplayStringC(260, LCD_LINE_12, str_rate); 808061e: f507 734a add.w r3, r7, #808 ; 0x328 8080622: 461a mov r2, r3 8080624: 21ca movs r1, #202 ; 0xca 8080626: f44f 7082 mov.w r0, #260 ; 0x104 808062a: f7d3 fe7f bl 805432c if(pardata.OPTIONS & 0x4) // åñëè àâòîóñèëåíèå 808062e: 4ba4 ldr r3, [pc, #656] ; (80808c0 ) 8080630: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8080634: f003 0304 and.w r3, r3, #4 8080638: 2b00 cmp r3, #0 808063a: d035 beq.n 80806a8 { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 808063c: 49a2 ldr r1, [pc, #648] ; (80808c8 ) 808063e: 48a4 ldr r0, [pc, #656] ; (80808d0 ) 8080640: f7d3 f8b4 bl 80537ac if(pardata.IIN != VOLTS) 8080644: 4b9e ldr r3, [pc, #632] ; (80808c0 ) 8080646: 799b ldrb r3, [r3, #6] 8080648: b2db uxtb r3, r3 808064a: 2b02 cmp r3, #2 808064c: d011 beq.n 8080672 LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL[pardata.LANG][7]);//"Max.âîçä.,ì/ñ2" 808064e: 4b9c ldr r3, [pc, #624] ; (80808c0 ) 8080650: 7b1b ldrb r3, [r3, #12] 8080652: b2db uxtb r3, r3 8080654: 4619 mov r1, r3 8080656: 4a9f ldr r2, [pc, #636] ; (80808d4 ) 8080658: 460b mov r3, r1 808065a: 00db lsls r3, r3, #3 808065c: 440b add r3, r1 808065e: 009b lsls r3, r3, #2 8080660: 4413 add r3, r2 8080662: 331c adds r3, #28 8080664: 681b ldr r3, [r3, #0] 8080666: 461a mov r2, r3 8080668: 21ba movs r1, #186 ; 0xba 808066a: 200a movs r0, #10 808066c: f7d3 fe46 bl 80542fc 8080670: e010 b.n 8080694 else LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL_mV[pardata.LANG][7]);//"Max.âîçä.,ìÂ" 8080672: 4b93 ldr r3, [pc, #588] ; (80808c0 ) 8080674: 7b1b ldrb r3, [r3, #12] 8080676: b2db uxtb r3, r3 8080678: 4619 mov r1, r3 808067a: 4a97 ldr r2, [pc, #604] ; (80808d8 ) 808067c: 460b mov r3, r1 808067e: 00db lsls r3, r3, #3 8080680: 440b add r3, r1 8080682: 009b lsls r3, r3, #2 8080684: 4413 add r3, r2 8080686: 331c adds r3, #28 8080688: 681b ldr r3, [r3, #0] 808068a: 461a mov r2, r3 808068c: 21ba movs r1, #186 ; 0xba 808068e: 200a movs r0, #10 8080690: f7d3 fe34 bl 80542fc LCD_DisplayStringC(260, LCD_LINE_11, str); 8080694: f507 733b add.w r3, r7, #748 ; 0x2ec 8080698: 461a mov r2, r3 808069a: 21ba movs r1, #186 ; 0xba 808069c: f44f 7082 mov.w r0, #260 ; 0x104 80806a0: f7d3 fe44 bl 805432c 80806a4: f002 b970 b.w 8082988 } else { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80806a8: 4987 ldr r1, [pc, #540] ; (80808c8 ) 80806aa: f04f 30ff mov.w r0, #4294967295 80806ae: f7d3 f87d bl 80537ac if(pardata.IIN != VOLTS) 80806b2: 4b83 ldr r3, [pc, #524] ; (80808c0 ) 80806b4: 799b ldrb r3, [r3, #6] 80806b6: b2db uxtb r3, r3 80806b8: 2b02 cmp r3, #2 80806ba: d011 beq.n 80806e0 LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL[pardata.LANG][7]);//"Max.âîçä.,ì/ñ2" 80806bc: 4b80 ldr r3, [pc, #512] ; (80808c0 ) 80806be: 7b1b ldrb r3, [r3, #12] 80806c0: b2db uxtb r3, r3 80806c2: 4619 mov r1, r3 80806c4: 4a83 ldr r2, [pc, #524] ; (80808d4 ) 80806c6: 460b mov r3, r1 80806c8: 00db lsls r3, r3, #3 80806ca: 440b add r3, r1 80806cc: 009b lsls r3, r3, #2 80806ce: 4413 add r3, r2 80806d0: 331c adds r3, #28 80806d2: 681b ldr r3, [r3, #0] 80806d4: 461a mov r2, r3 80806d6: 21ba movs r1, #186 ; 0xba 80806d8: 200a movs r0, #10 80806da: f7d3 fe0f bl 80542fc 80806de: e010 b.n 8080702 else LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL_mV[pardata.LANG][7]);//"Max.âîçä.,ìÂ" 80806e0: 4b77 ldr r3, [pc, #476] ; (80808c0 ) 80806e2: 7b1b ldrb r3, [r3, #12] 80806e4: b2db uxtb r3, r3 80806e6: 4619 mov r1, r3 80806e8: 4a7b ldr r2, [pc, #492] ; (80808d8 ) 80806ea: 460b mov r3, r1 80806ec: 00db lsls r3, r3, #3 80806ee: 440b add r3, r1 80806f0: 009b lsls r3, r3, #2 80806f2: 4413 add r3, r2 80806f4: 331c adds r3, #28 80806f6: 681b ldr r3, [r3, #0] 80806f8: 461a mov r2, r3 80806fa: 21ba movs r1, #186 ; 0xba 80806fc: 200a movs r0, #10 80806fe: f7d3 fdfd bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8080702: 4971 ldr r1, [pc, #452] ; (80808c8 ) 8080704: 4871 ldr r0, [pc, #452] ; (80808cc ) 8080706: f7d3 f851 bl 80537ac LCD_DisplayStringC(260, LCD_LINE_11, str); 808070a: f507 733b add.w r3, r7, #748 ; 0x2ec 808070e: 461a mov r2, r3 8080710: 21ba movs r1, #186 ; 0xba 8080712: f44f 7082 mov.w r0, #260 ; 0x104 8080716: f7d3 fe09 bl 805432c 808071a: f002 b935 b.w 8082988 } } else if(menupos == RollAutoKu) 808071e: 4b6f ldr r3, [pc, #444] ; (80808dc ) 8080720: 781b ldrb r3, [r3, #0] 8080722: b2db uxtb r3, r3 8080724: 2b07 cmp r3, #7 8080726: f040 80dd bne.w 80808e4 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808072a: 4967 ldr r1, [pc, #412] ; (80808c8 ) 808072c: f04f 30ff mov.w r0, #4294967295 8080730: f7d3 f83c bl 80537ac LCD_DisplayString(10, LCD_LINE_3, (char *)TEXT_Next[pardata.LANG]);//"Äàëåå" 8080734: 4b62 ldr r3, [pc, #392] ; (80808c0 ) 8080736: 7b1b ldrb r3, [r3, #12] 8080738: b2db uxtb r3, r3 808073a: 461a mov r2, r3 808073c: 4b68 ldr r3, [pc, #416] ; (80808e0 ) 808073e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8080742: 461a mov r2, r3 8080744: 213a movs r1, #58 ; 0x3a 8080746: 200a movs r0, #10 8080748: f7d3 fdd8 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808074c: 495e ldr r1, [pc, #376] ; (80808c8 ) 808074e: 485f ldr r0, [pc, #380] ; (80808cc ) 8080750: f7d3 f82c bl 80537ac LCD_DisplayStringC(260, LCD_LINE_4, str1); 8080754: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8080758: 461a mov r2, r3 808075a: 214a movs r1, #74 ; 0x4a 808075c: f44f 7082 mov.w r0, #260 ; 0x104 8080760: f7d3 fde4 bl 805432c LCD_DisplayStringC(260, LCD_LINE_5, str_roll); 8080764: f507 735e add.w r3, r7, #888 ; 0x378 8080768: 461a mov r2, r3 808076a: 215a movs r1, #90 ; 0x5a 808076c: f44f 7082 mov.w r0, #260 ; 0x104 8080770: f7d3 fddc bl 805432c LCD_DisplayStringC(260, LCD_LINE_6, str_outer); 8080774: f507 7359 add.w r3, r7, #868 ; 0x364 8080778: 461a mov r2, r3 808077a: 216a movs r1, #106 ; 0x6a 808077c: f44f 7082 mov.w r0, #260 ; 0x104 8080780: f7d3 fdd4 bl 805432c LCD_DisplayStringC(260, LCD_LINE_7, str_inner); 8080784: f507 7354 add.w r3, r7, #848 ; 0x350 8080788: 461a mov r2, r3 808078a: 217a movs r1, #122 ; 0x7a 808078c: f44f 7082 mov.w r0, #260 ; 0x104 8080790: f7d3 fdcc bl 805432c LCD_DisplayStringC(260, LCD_LINE_8, str_angle); 8080794: f507 734f add.w r3, r7, #828 ; 0x33c 8080798: 461a mov r2, r3 808079a: 218a movs r1, #138 ; 0x8a 808079c: f44f 7082 mov.w r0, #260 ; 0x104 80807a0: f7d3 fdc4 bl 805432c LCD_DisplayStringC(260, LCD_LINE_9, (char *) pAVERAGE[pardata.AVG]); 80807a4: 4b46 ldr r3, [pc, #280] ; (80808c0 ) 80807a6: 7b5b ldrb r3, [r3, #13] 80807a8: b2db uxtb r3, r3 80807aa: 461a mov r2, r3 80807ac: 4b45 ldr r3, [pc, #276] ; (80808c4 ) 80807ae: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80807b2: 461a mov r2, r3 80807b4: 219a movs r1, #154 ; 0x9a 80807b6: f44f 7082 mov.w r0, #260 ; 0x104 80807ba: f7d3 fdb7 bl 805432c LCD_DisplayStringC(260, LCD_LINE_12, str_rate); 80807be: f507 734a add.w r3, r7, #808 ; 0x328 80807c2: 461a mov r2, r3 80807c4: 21ca movs r1, #202 ; 0xca 80807c6: f44f 7082 mov.w r0, #260 ; 0x104 80807ca: f7d3 fdaf bl 805432c if(pardata.OPTIONS & 0x4) // åñëè àâòîóñèëåíèå 80807ce: 4b3c ldr r3, [pc, #240] ; (80808c0 ) 80807d0: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80807d4: f003 0304 and.w r3, r3, #4 80807d8: 2b00 cmp r3, #0 80807da: d035 beq.n 8080848 { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80807dc: 493a ldr r1, [pc, #232] ; (80808c8 ) 80807de: 483c ldr r0, [pc, #240] ; (80808d0 ) 80807e0: f7d2 ffe4 bl 80537ac if(pardata.IIN != VOLTS) 80807e4: 4b36 ldr r3, [pc, #216] ; (80808c0 ) 80807e6: 799b ldrb r3, [r3, #6] 80807e8: b2db uxtb r3, r3 80807ea: 2b02 cmp r3, #2 80807ec: d011 beq.n 8080812 LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL[pardata.LANG][7]);//"Max.âîçä.,ì/ñ2" 80807ee: 4b34 ldr r3, [pc, #208] ; (80808c0 ) 80807f0: 7b1b ldrb r3, [r3, #12] 80807f2: b2db uxtb r3, r3 80807f4: 4619 mov r1, r3 80807f6: 4a37 ldr r2, [pc, #220] ; (80808d4 ) 80807f8: 460b mov r3, r1 80807fa: 00db lsls r3, r3, #3 80807fc: 440b add r3, r1 80807fe: 009b lsls r3, r3, #2 8080800: 4413 add r3, r2 8080802: 331c adds r3, #28 8080804: 681b ldr r3, [r3, #0] 8080806: 461a mov r2, r3 8080808: 21ba movs r1, #186 ; 0xba 808080a: 200a movs r0, #10 808080c: f7d3 fd76 bl 80542fc 8080810: e010 b.n 8080834 else LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL_mV[pardata.LANG][7]);//"Max.âîçä.,ìÂ" 8080812: 4b2b ldr r3, [pc, #172] ; (80808c0 ) 8080814: 7b1b ldrb r3, [r3, #12] 8080816: b2db uxtb r3, r3 8080818: 4619 mov r1, r3 808081a: 4a2f ldr r2, [pc, #188] ; (80808d8 ) 808081c: 460b mov r3, r1 808081e: 00db lsls r3, r3, #3 8080820: 440b add r3, r1 8080822: 009b lsls r3, r3, #2 8080824: 4413 add r3, r2 8080826: 331c adds r3, #28 8080828: 681b ldr r3, [r3, #0] 808082a: 461a mov r2, r3 808082c: 21ba movs r1, #186 ; 0xba 808082e: 200a movs r0, #10 8080830: f7d3 fd64 bl 80542fc LCD_DisplayStringC(260, LCD_LINE_11, str); 8080834: f507 733b add.w r3, r7, #748 ; 0x2ec 8080838: 461a mov r2, r3 808083a: 21ba movs r1, #186 ; 0xba 808083c: f44f 7082 mov.w r0, #260 ; 0x104 8080840: f7d3 fd74 bl 805432c 8080844: f002 b8a0 b.w 8082988 } else { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8080848: 491f ldr r1, [pc, #124] ; (80808c8 ) 808084a: f04f 30ff mov.w r0, #4294967295 808084e: f7d2 ffad bl 80537ac if(pardata.IIN != VOLTS) 8080852: 4b1b ldr r3, [pc, #108] ; (80808c0 ) 8080854: 799b ldrb r3, [r3, #6] 8080856: b2db uxtb r3, r3 8080858: 2b02 cmp r3, #2 808085a: d011 beq.n 8080880 LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL[pardata.LANG][7]);//"Max.âîçä.,ì/ñ2" 808085c: 4b18 ldr r3, [pc, #96] ; (80808c0 ) 808085e: 7b1b ldrb r3, [r3, #12] 8080860: b2db uxtb r3, r3 8080862: 4619 mov r1, r3 8080864: 4a1b ldr r2, [pc, #108] ; (80808d4 ) 8080866: 460b mov r3, r1 8080868: 00db lsls r3, r3, #3 808086a: 440b add r3, r1 808086c: 009b lsls r3, r3, #2 808086e: 4413 add r3, r2 8080870: 331c adds r3, #28 8080872: 681b ldr r3, [r3, #0] 8080874: 461a mov r2, r3 8080876: 21ba movs r1, #186 ; 0xba 8080878: 200a movs r0, #10 808087a: f7d3 fd3f bl 80542fc 808087e: e010 b.n 80808a2 else LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL_mV[pardata.LANG][7]);//"Max.âîçä.,ìÂ" 8080880: 4b0f ldr r3, [pc, #60] ; (80808c0 ) 8080882: 7b1b ldrb r3, [r3, #12] 8080884: b2db uxtb r3, r3 8080886: 4619 mov r1, r3 8080888: 4a13 ldr r2, [pc, #76] ; (80808d8 ) 808088a: 460b mov r3, r1 808088c: 00db lsls r3, r3, #3 808088e: 440b add r3, r1 8080890: 009b lsls r3, r3, #2 8080892: 4413 add r3, r2 8080894: 331c adds r3, #28 8080896: 681b ldr r3, [r3, #0] 8080898: 461a mov r2, r3 808089a: 21ba movs r1, #186 ; 0xba 808089c: 200a movs r0, #10 808089e: f7d3 fd2d bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80808a2: 4909 ldr r1, [pc, #36] ; (80808c8 ) 80808a4: 4809 ldr r0, [pc, #36] ; (80808cc ) 80808a6: f7d2 ff81 bl 80537ac LCD_DisplayStringC(260, LCD_LINE_11, str); 80808aa: f507 733b add.w r3, r7, #748 ; 0x2ec 80808ae: 461a mov r2, r3 80808b0: 21ba movs r1, #186 ; 0xba 80808b2: f44f 7082 mov.w r0, #260 ; 0x104 80808b6: f7d3 fd39 bl 805432c 80808ba: f002 b865 b.w 8082988 80808be: bf00 nop 80808c0: 20023e60 .word 0x20023e60 80808c4: 20020224 .word 0x20020224 80808c8: ff0a0f1f .word 0xff0a0f1f 80808cc: ffd8aa57 .word 0xffd8aa57 80808d0: ff808080 .word 0xff808080 80808d4: 20020764 .word 0x20020764 80808d8: 200207ac .word 0x200207ac 80808dc: 20020070 .word 0x20020070 80808e0: 200205c4 .word 0x200205c4 } } else if(menupos == RollMax_ALL) 80808e4: 4bd2 ldr r3, [pc, #840] ; (8080c30 ) 80808e6: 781b ldrb r3, [r3, #0] 80808e8: b2db uxtb r3, r3 80808ea: 2b08 cmp r3, #8 80808ec: f040 80cb bne.w 8080a86 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80808f0: 49d0 ldr r1, [pc, #832] ; (8080c34 ) 80808f2: f04f 30ff mov.w r0, #4294967295 80808f6: f7d2 ff59 bl 80537ac LCD_DisplayString(10, LCD_LINE_3, (char *)TEXT_Next[pardata.LANG]);//"Äàëåå" 80808fa: 4bcf ldr r3, [pc, #828] ; (8080c38 ) 80808fc: 7b1b ldrb r3, [r3, #12] 80808fe: b2db uxtb r3, r3 8080900: 461a mov r2, r3 8080902: 4bce ldr r3, [pc, #824] ; (8080c3c ) 8080904: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8080908: 461a mov r2, r3 808090a: 213a movs r1, #58 ; 0x3a 808090c: 200a movs r0, #10 808090e: f7d3 fcf5 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8080912: 49c8 ldr r1, [pc, #800] ; (8080c34 ) 8080914: 48ca ldr r0, [pc, #808] ; (8080c40 ) 8080916: f7d2 ff49 bl 80537ac LCD_DisplayStringC(260, LCD_LINE_4, str1); 808091a: f507 73f6 add.w r3, r7, #492 ; 0x1ec 808091e: 461a mov r2, r3 8080920: 214a movs r1, #74 ; 0x4a 8080922: f44f 7082 mov.w r0, #260 ; 0x104 8080926: f7d3 fd01 bl 805432c LCD_DisplayStringC(260, LCD_LINE_5, str_roll); 808092a: f507 735e add.w r3, r7, #888 ; 0x378 808092e: 461a mov r2, r3 8080930: 215a movs r1, #90 ; 0x5a 8080932: f44f 7082 mov.w r0, #260 ; 0x104 8080936: f7d3 fcf9 bl 805432c LCD_DisplayStringC(260, LCD_LINE_6, str_outer); 808093a: f507 7359 add.w r3, r7, #868 ; 0x364 808093e: 461a mov r2, r3 8080940: 216a movs r1, #106 ; 0x6a 8080942: f44f 7082 mov.w r0, #260 ; 0x104 8080946: f7d3 fcf1 bl 805432c LCD_DisplayStringC(260, LCD_LINE_7, str_inner); 808094a: f507 7354 add.w r3, r7, #848 ; 0x350 808094e: 461a mov r2, r3 8080950: 217a movs r1, #122 ; 0x7a 8080952: f44f 7082 mov.w r0, #260 ; 0x104 8080956: f7d3 fce9 bl 805432c LCD_DisplayStringC(260, LCD_LINE_8, str_angle); 808095a: f507 734f add.w r3, r7, #828 ; 0x33c 808095e: 461a mov r2, r3 8080960: 218a movs r1, #138 ; 0x8a 8080962: f44f 7082 mov.w r0, #260 ; 0x104 8080966: f7d3 fce1 bl 805432c LCD_DisplayStringC(260, LCD_LINE_9, (char *) pAVERAGE[pardata.AVG]); 808096a: 4bb3 ldr r3, [pc, #716] ; (8080c38 ) 808096c: 7b5b ldrb r3, [r3, #13] 808096e: b2db uxtb r3, r3 8080970: 461a mov r2, r3 8080972: 4bb4 ldr r3, [pc, #720] ; (8080c44 ) 8080974: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8080978: 461a mov r2, r3 808097a: 219a movs r1, #154 ; 0x9a 808097c: f44f 7082 mov.w r0, #260 ; 0x104 8080980: f7d3 fcd4 bl 805432c LCD_DisplayStringC(260, LCD_LINE_12, str_rate); 8080984: f507 734a add.w r3, r7, #808 ; 0x328 8080988: 461a mov r2, r3 808098a: 21ca movs r1, #202 ; 0xca 808098c: f44f 7082 mov.w r0, #260 ; 0x104 8080990: f7d3 fccc bl 805432c if(pardata.OPTIONS & 0x4) // åñëè àâòîóñèëåíèå 8080994: 4ba8 ldr r3, [pc, #672] ; (8080c38 ) 8080996: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 808099a: f003 0304 and.w r3, r3, #4 808099e: 2b00 cmp r3, #0 80809a0: d035 beq.n 8080a0e { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80809a2: 49a4 ldr r1, [pc, #656] ; (8080c34 ) 80809a4: 48a8 ldr r0, [pc, #672] ; (8080c48 ) 80809a6: f7d2 ff01 bl 80537ac if(pardata.IIN != VOLTS) 80809aa: 4ba3 ldr r3, [pc, #652] ; (8080c38 ) 80809ac: 799b ldrb r3, [r3, #6] 80809ae: b2db uxtb r3, r3 80809b0: 2b02 cmp r3, #2 80809b2: d011 beq.n 80809d8 LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL[pardata.LANG][7]);//"Max.âîçä.,ì/ñ2" 80809b4: 4ba0 ldr r3, [pc, #640] ; (8080c38 ) 80809b6: 7b1b ldrb r3, [r3, #12] 80809b8: b2db uxtb r3, r3 80809ba: 4619 mov r1, r3 80809bc: 4aa3 ldr r2, [pc, #652] ; (8080c4c ) 80809be: 460b mov r3, r1 80809c0: 00db lsls r3, r3, #3 80809c2: 440b add r3, r1 80809c4: 009b lsls r3, r3, #2 80809c6: 4413 add r3, r2 80809c8: 331c adds r3, #28 80809ca: 681b ldr r3, [r3, #0] 80809cc: 461a mov r2, r3 80809ce: 21ba movs r1, #186 ; 0xba 80809d0: 200a movs r0, #10 80809d2: f7d3 fc93 bl 80542fc 80809d6: e010 b.n 80809fa else LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL_mV[pardata.LANG][7]);//"Max.âîçä.,ìÂ" 80809d8: 4b97 ldr r3, [pc, #604] ; (8080c38 ) 80809da: 7b1b ldrb r3, [r3, #12] 80809dc: b2db uxtb r3, r3 80809de: 4619 mov r1, r3 80809e0: 4a9b ldr r2, [pc, #620] ; (8080c50 ) 80809e2: 460b mov r3, r1 80809e4: 00db lsls r3, r3, #3 80809e6: 440b add r3, r1 80809e8: 009b lsls r3, r3, #2 80809ea: 4413 add r3, r2 80809ec: 331c adds r3, #28 80809ee: 681b ldr r3, [r3, #0] 80809f0: 461a mov r2, r3 80809f2: 21ba movs r1, #186 ; 0xba 80809f4: 200a movs r0, #10 80809f6: f7d3 fc81 bl 80542fc LCD_DisplayStringC(260, LCD_LINE_11, str); 80809fa: f507 733b add.w r3, r7, #748 ; 0x2ec 80809fe: 461a mov r2, r3 8080a00: 21ba movs r1, #186 ; 0xba 8080a02: f44f 7082 mov.w r0, #260 ; 0x104 8080a06: f7d3 fc91 bl 805432c 8080a0a: f001 bfbd b.w 8082988 } else { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8080a0e: 4989 ldr r1, [pc, #548] ; (8080c34 ) 8080a10: f04f 30ff mov.w r0, #4294967295 8080a14: f7d2 feca bl 80537ac if(pardata.IIN != VOLTS) 8080a18: 4b87 ldr r3, [pc, #540] ; (8080c38 ) 8080a1a: 799b ldrb r3, [r3, #6] 8080a1c: b2db uxtb r3, r3 8080a1e: 2b02 cmp r3, #2 8080a20: d011 beq.n 8080a46 LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL[pardata.LANG][7]);//"Max.âîçä.,ì/ñ2" 8080a22: 4b85 ldr r3, [pc, #532] ; (8080c38 ) 8080a24: 7b1b ldrb r3, [r3, #12] 8080a26: b2db uxtb r3, r3 8080a28: 4619 mov r1, r3 8080a2a: 4a88 ldr r2, [pc, #544] ; (8080c4c ) 8080a2c: 460b mov r3, r1 8080a2e: 00db lsls r3, r3, #3 8080a30: 440b add r3, r1 8080a32: 009b lsls r3, r3, #2 8080a34: 4413 add r3, r2 8080a36: 331c adds r3, #28 8080a38: 681b ldr r3, [r3, #0] 8080a3a: 461a mov r2, r3 8080a3c: 21ba movs r1, #186 ; 0xba 8080a3e: 200a movs r0, #10 8080a40: f7d3 fc5c bl 80542fc 8080a44: e010 b.n 8080a68 else LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL_mV[pardata.LANG][7]);//"Max.âîçä.,ìÂ" 8080a46: 4b7c ldr r3, [pc, #496] ; (8080c38 ) 8080a48: 7b1b ldrb r3, [r3, #12] 8080a4a: b2db uxtb r3, r3 8080a4c: 4619 mov r1, r3 8080a4e: 4a80 ldr r2, [pc, #512] ; (8080c50 ) 8080a50: 460b mov r3, r1 8080a52: 00db lsls r3, r3, #3 8080a54: 440b add r3, r1 8080a56: 009b lsls r3, r3, #2 8080a58: 4413 add r3, r2 8080a5a: 331c adds r3, #28 8080a5c: 681b ldr r3, [r3, #0] 8080a5e: 461a mov r2, r3 8080a60: 21ba movs r1, #186 ; 0xba 8080a62: 200a movs r0, #10 8080a64: f7d3 fc4a bl 80542fc LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8080a68: 4972 ldr r1, [pc, #456] ; (8080c34 ) 8080a6a: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8080a6e: f7d2 fe9d bl 80537ac LCD_DisplayStringC(260, LCD_LINE_11, str); 8080a72: f507 733b add.w r3, r7, #748 ; 0x2ec 8080a76: 461a mov r2, r3 8080a78: 21ba movs r1, #186 ; 0xba 8080a7a: f44f 7082 mov.w r0, #260 ; 0x104 8080a7e: f7d3 fc55 bl 805432c 8080a82: f001 bf81 b.w 8082988 } } else if(menupos == D_Rate) 8080a86: 4b6a ldr r3, [pc, #424] ; (8080c30 ) 8080a88: 781b ldrb r3, [r3, #0] 8080a8a: b2db uxtb r3, r3 8080a8c: 2b09 cmp r3, #9 8080a8e: f040 80e1 bne.w 8080c54 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8080a92: 4968 ldr r1, [pc, #416] ; (8080c34 ) 8080a94: f04f 30ff mov.w r0, #4294967295 8080a98: f7d2 fe88 bl 80537ac LCD_DisplayString(10, LCD_LINE_3, (char *)TEXT_Next[pardata.LANG]);//"Äàëåå" 8080a9c: 4b66 ldr r3, [pc, #408] ; (8080c38 ) 8080a9e: 7b1b ldrb r3, [r3, #12] 8080aa0: b2db uxtb r3, r3 8080aa2: 461a mov r2, r3 8080aa4: 4b65 ldr r3, [pc, #404] ; (8080c3c ) 8080aa6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8080aaa: 461a mov r2, r3 8080aac: 213a movs r1, #58 ; 0x3a 8080aae: 200a movs r0, #10 8080ab0: f7d3 fc24 bl 80542fc LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8080ab4: 495f ldr r1, [pc, #380] ; (8080c34 ) 8080ab6: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8080aba: f7d2 fe77 bl 80537ac LCD_DisplayStringC(260, LCD_LINE_12, str_rate); 8080abe: f507 734a add.w r3, r7, #808 ; 0x328 8080ac2: 461a mov r2, r3 8080ac4: 21ca movs r1, #202 ; 0xca 8080ac6: f44f 7082 mov.w r0, #260 ; 0x104 8080aca: f7d3 fc2f bl 805432c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8080ace: 4959 ldr r1, [pc, #356] ; (8080c34 ) 8080ad0: 485b ldr r0, [pc, #364] ; (8080c40 ) 8080ad2: f7d2 fe6b bl 80537ac LCD_DisplayStringC(260, LCD_LINE_4, str1); 8080ad6: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8080ada: 461a mov r2, r3 8080adc: 214a movs r1, #74 ; 0x4a 8080ade: f44f 7082 mov.w r0, #260 ; 0x104 8080ae2: f7d3 fc23 bl 805432c LCD_DisplayStringC(260, LCD_LINE_5, str_roll); 8080ae6: f507 735e add.w r3, r7, #888 ; 0x378 8080aea: 461a mov r2, r3 8080aec: 215a movs r1, #90 ; 0x5a 8080aee: f44f 7082 mov.w r0, #260 ; 0x104 8080af2: f7d3 fc1b bl 805432c LCD_DisplayStringC(260, LCD_LINE_6, str_outer); 8080af6: f507 7359 add.w r3, r7, #868 ; 0x364 8080afa: 461a mov r2, r3 8080afc: 216a movs r1, #106 ; 0x6a 8080afe: f44f 7082 mov.w r0, #260 ; 0x104 8080b02: f7d3 fc13 bl 805432c LCD_DisplayStringC(260, LCD_LINE_7, str_inner); 8080b06: f507 7354 add.w r3, r7, #848 ; 0x350 8080b0a: 461a mov r2, r3 8080b0c: 217a movs r1, #122 ; 0x7a 8080b0e: f44f 7082 mov.w r0, #260 ; 0x104 8080b12: f7d3 fc0b bl 805432c LCD_DisplayStringC(260, LCD_LINE_8, str_angle); 8080b16: f507 734f add.w r3, r7, #828 ; 0x33c 8080b1a: 461a mov r2, r3 8080b1c: 218a movs r1, #138 ; 0x8a 8080b1e: f44f 7082 mov.w r0, #260 ; 0x104 8080b22: f7d3 fc03 bl 805432c LCD_DisplayStringC(260, LCD_LINE_9, (char *) pAVERAGE[pardata.AVG]); 8080b26: 4b44 ldr r3, [pc, #272] ; (8080c38 ) 8080b28: 7b5b ldrb r3, [r3, #13] 8080b2a: b2db uxtb r3, r3 8080b2c: 461a mov r2, r3 8080b2e: 4b45 ldr r3, [pc, #276] ; (8080c44 ) 8080b30: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8080b34: 461a mov r2, r3 8080b36: 219a movs r1, #154 ; 0x9a 8080b38: f44f 7082 mov.w r0, #260 ; 0x104 8080b3c: f7d3 fbf6 bl 805432c if(pardata.OPTIONS & 0x4) // åñëè àâòîóñèëåíèå 8080b40: 4b3d ldr r3, [pc, #244] ; (8080c38 ) 8080b42: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8080b46: f003 0304 and.w r3, r3, #4 8080b4a: 2b00 cmp r3, #0 8080b4c: d035 beq.n 8080bba { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8080b4e: 4939 ldr r1, [pc, #228] ; (8080c34 ) 8080b50: 483d ldr r0, [pc, #244] ; (8080c48 ) 8080b52: f7d2 fe2b bl 80537ac if(pardata.IIN != VOLTS) 8080b56: 4b38 ldr r3, [pc, #224] ; (8080c38 ) 8080b58: 799b ldrb r3, [r3, #6] 8080b5a: b2db uxtb r3, r3 8080b5c: 2b02 cmp r3, #2 8080b5e: d011 beq.n 8080b84 LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL[pardata.LANG][7]);//"Max.âîçä.,ì/ñ2" 8080b60: 4b35 ldr r3, [pc, #212] ; (8080c38 ) 8080b62: 7b1b ldrb r3, [r3, #12] 8080b64: b2db uxtb r3, r3 8080b66: 4619 mov r1, r3 8080b68: 4a38 ldr r2, [pc, #224] ; (8080c4c ) 8080b6a: 460b mov r3, r1 8080b6c: 00db lsls r3, r3, #3 8080b6e: 440b add r3, r1 8080b70: 009b lsls r3, r3, #2 8080b72: 4413 add r3, r2 8080b74: 331c adds r3, #28 8080b76: 681b ldr r3, [r3, #0] 8080b78: 461a mov r2, r3 8080b7a: 21ba movs r1, #186 ; 0xba 8080b7c: 200a movs r0, #10 8080b7e: f7d3 fbbd bl 80542fc 8080b82: e010 b.n 8080ba6 else LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL_mV[pardata.LANG][7]);//"Max.âîçä.,ìÂ" 8080b84: 4b2c ldr r3, [pc, #176] ; (8080c38 ) 8080b86: 7b1b ldrb r3, [r3, #12] 8080b88: b2db uxtb r3, r3 8080b8a: 4619 mov r1, r3 8080b8c: 4a30 ldr r2, [pc, #192] ; (8080c50 ) 8080b8e: 460b mov r3, r1 8080b90: 00db lsls r3, r3, #3 8080b92: 440b add r3, r1 8080b94: 009b lsls r3, r3, #2 8080b96: 4413 add r3, r2 8080b98: 331c adds r3, #28 8080b9a: 681b ldr r3, [r3, #0] 8080b9c: 461a mov r2, r3 8080b9e: 21ba movs r1, #186 ; 0xba 8080ba0: 200a movs r0, #10 8080ba2: f7d3 fbab bl 80542fc LCD_DisplayStringC(260, LCD_LINE_11, str); 8080ba6: f507 733b add.w r3, r7, #748 ; 0x2ec 8080baa: 461a mov r2, r3 8080bac: 21ba movs r1, #186 ; 0xba 8080bae: f44f 7082 mov.w r0, #260 ; 0x104 8080bb2: f7d3 fbbb bl 805432c 8080bb6: f001 bee7 b.w 8082988 } else { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8080bba: 491e ldr r1, [pc, #120] ; (8080c34 ) 8080bbc: f04f 30ff mov.w r0, #4294967295 8080bc0: f7d2 fdf4 bl 80537ac if(pardata.IIN != VOLTS) 8080bc4: 4b1c ldr r3, [pc, #112] ; (8080c38 ) 8080bc6: 799b ldrb r3, [r3, #6] 8080bc8: b2db uxtb r3, r3 8080bca: 2b02 cmp r3, #2 8080bcc: d011 beq.n 8080bf2 LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL[pardata.LANG][7]);//"Max.âîçä.,ì/ñ2" 8080bce: 4b1a ldr r3, [pc, #104] ; (8080c38 ) 8080bd0: 7b1b ldrb r3, [r3, #12] 8080bd2: b2db uxtb r3, r3 8080bd4: 4619 mov r1, r3 8080bd6: 4a1d ldr r2, [pc, #116] ; (8080c4c ) 8080bd8: 460b mov r3, r1 8080bda: 00db lsls r3, r3, #3 8080bdc: 440b add r3, r1 8080bde: 009b lsls r3, r3, #2 8080be0: 4413 add r3, r2 8080be2: 331c adds r3, #28 8080be4: 681b ldr r3, [r3, #0] 8080be6: 461a mov r2, r3 8080be8: 21ba movs r1, #186 ; 0xba 8080bea: 200a movs r0, #10 8080bec: f7d3 fb86 bl 80542fc 8080bf0: e010 b.n 8080c14 else LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL_mV[pardata.LANG][7]);//"Max.âîçä.,ìÂ" 8080bf2: 4b11 ldr r3, [pc, #68] ; (8080c38 ) 8080bf4: 7b1b ldrb r3, [r3, #12] 8080bf6: b2db uxtb r3, r3 8080bf8: 4619 mov r1, r3 8080bfa: 4a15 ldr r2, [pc, #84] ; (8080c50 ) 8080bfc: 460b mov r3, r1 8080bfe: 00db lsls r3, r3, #3 8080c00: 440b add r3, r1 8080c02: 009b lsls r3, r3, #2 8080c04: 4413 add r3, r2 8080c06: 331c adds r3, #28 8080c08: 681b ldr r3, [r3, #0] 8080c0a: 461a mov r2, r3 8080c0c: 21ba movs r1, #186 ; 0xba 8080c0e: 200a movs r0, #10 8080c10: f7d3 fb74 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8080c14: 4907 ldr r1, [pc, #28] ; (8080c34 ) 8080c16: 480a ldr r0, [pc, #40] ; (8080c40 ) 8080c18: f7d2 fdc8 bl 80537ac LCD_DisplayStringC(260, LCD_LINE_11, str); 8080c1c: f507 733b add.w r3, r7, #748 ; 0x2ec 8080c20: 461a mov r2, r3 8080c22: 21ba movs r1, #186 ; 0xba 8080c24: f44f 7082 mov.w r0, #260 ; 0x104 8080c28: f7d3 fb80 bl 805432c 8080c2c: f001 beac b.w 8082988 8080c30: 20020070 .word 0x20020070 8080c34: ff0a0f1f .word 0xff0a0f1f 8080c38: 20023e60 .word 0x20023e60 8080c3c: 200205c4 .word 0x200205c4 8080c40: ffd8aa57 .word 0xffd8aa57 8080c44: 20020224 .word 0x20020224 8080c48: ff808080 .word 0xff808080 8080c4c: 20020764 .word 0x20020764 8080c50: 200207ac .word 0x200207ac } else { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8080c54: 49aa ldr r1, [pc, #680] ; (8080f00 ) 8080c56: f04f 30ff mov.w r0, #4294967295 8080c5a: f7d2 fda7 bl 80537ac LCD_DisplayString(10, LCD_LINE_3, (char *)TEXT_Next[pardata.LANG]);//"Äàëåå" 8080c5e: 4ba9 ldr r3, [pc, #676] ; (8080f04 ) 8080c60: 7b1b ldrb r3, [r3, #12] 8080c62: b2db uxtb r3, r3 8080c64: 461a mov r2, r3 8080c66: 4ba8 ldr r3, [pc, #672] ; (8080f08 ) 8080c68: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8080c6c: 461a mov r2, r3 8080c6e: 213a movs r1, #58 ; 0x3a 8080c70: 200a movs r0, #10 8080c72: f7d3 fb43 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8080c76: 49a2 ldr r1, [pc, #648] ; (8080f00 ) 8080c78: 48a4 ldr r0, [pc, #656] ; (8080f0c ) 8080c7a: f7d2 fd97 bl 80537ac LCD_DisplayStringC(260, LCD_LINE_4, str1); 8080c7e: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8080c82: 461a mov r2, r3 8080c84: 214a movs r1, #74 ; 0x4a 8080c86: f44f 7082 mov.w r0, #260 ; 0x104 8080c8a: f7d3 fb4f bl 805432c if((menupos < D_Roll_IES) || (menupos > D_Roll_IKT)) 8080c8e: 4ba0 ldr r3, [pc, #640] ; (8080f10 ) 8080c90: 781b ldrb r3, [r3, #0] 8080c92: b2db uxtb r3, r3 8080c94: 2b09 cmp r3, #9 8080c96: d904 bls.n 8080ca2 8080c98: 4b9d ldr r3, [pc, #628] ; (8080f10 ) 8080c9a: 781b ldrb r3, [r3, #0] 8080c9c: b2db uxtb r3, r3 8080c9e: 2b0f cmp r3, #15 8080ca0: d907 bls.n 8080cb2 LCD_DisplayStringC(260, LCD_LINE_5, str_roll); 8080ca2: f507 735e add.w r3, r7, #888 ; 0x378 8080ca6: 461a mov r2, r3 8080ca8: 215a movs r1, #90 ; 0x5a 8080caa: f44f 7082 mov.w r0, #260 ; 0x104 8080cae: f7d3 fb3d bl 805432c if((menupos < D_Outer_IES) || (menupos > D_Outer_IKT)) 8080cb2: 4b97 ldr r3, [pc, #604] ; (8080f10 ) 8080cb4: 781b ldrb r3, [r3, #0] 8080cb6: b2db uxtb r3, r3 8080cb8: 2b0f cmp r3, #15 8080cba: d904 bls.n 8080cc6 8080cbc: 4b94 ldr r3, [pc, #592] ; (8080f10 ) 8080cbe: 781b ldrb r3, [r3, #0] 8080cc0: b2db uxtb r3, r3 8080cc2: 2b15 cmp r3, #21 8080cc4: d907 bls.n 8080cd6 LCD_DisplayStringC(260, LCD_LINE_6, str_outer); 8080cc6: f507 7359 add.w r3, r7, #868 ; 0x364 8080cca: 461a mov r2, r3 8080ccc: 216a movs r1, #106 ; 0x6a 8080cce: f44f 7082 mov.w r0, #260 ; 0x104 8080cd2: f7d3 fb2b bl 805432c if((menupos < D_Inner_IES) || (menupos > D_Inner_IKT)) 8080cd6: 4b8e ldr r3, [pc, #568] ; (8080f10 ) 8080cd8: 781b ldrb r3, [r3, #0] 8080cda: b2db uxtb r3, r3 8080cdc: 2b15 cmp r3, #21 8080cde: d904 bls.n 8080cea 8080ce0: 4b8b ldr r3, [pc, #556] ; (8080f10 ) 8080ce2: 781b ldrb r3, [r3, #0] 8080ce4: b2db uxtb r3, r3 8080ce6: 2b1b cmp r3, #27 8080ce8: d907 bls.n 8080cfa LCD_DisplayStringC(260, LCD_LINE_7, str_inner); 8080cea: f507 7354 add.w r3, r7, #848 ; 0x350 8080cee: 461a mov r2, r3 8080cf0: 217a movs r1, #122 ; 0x7a 8080cf2: f44f 7082 mov.w r0, #260 ; 0x104 8080cf6: f7d3 fb19 bl 805432c if((menupos < D_Angle_IES) || (menupos > D_Angle_IKT)) 8080cfa: 4b85 ldr r3, [pc, #532] ; (8080f10 ) 8080cfc: 781b ldrb r3, [r3, #0] 8080cfe: b2db uxtb r3, r3 8080d00: 2b1b cmp r3, #27 8080d02: d904 bls.n 8080d0e 8080d04: 4b82 ldr r3, [pc, #520] ; (8080f10 ) 8080d06: 781b ldrb r3, [r3, #0] 8080d08: b2db uxtb r3, r3 8080d0a: 2b21 cmp r3, #33 ; 0x21 8080d0c: d907 bls.n 8080d1e LCD_DisplayStringC(260, LCD_LINE_8, str_angle); 8080d0e: f507 734f add.w r3, r7, #828 ; 0x33c 8080d12: 461a mov r2, r3 8080d14: 218a movs r1, #138 ; 0x8a 8080d16: f44f 7082 mov.w r0, #260 ; 0x104 8080d1a: f7d3 fb07 bl 805432c if((menupos < D_Rate_IET) || (menupos > D_Rate_IEE)) 8080d1e: 4b7c ldr r3, [pc, #496] ; (8080f10 ) 8080d20: 781b ldrb r3, [r3, #0] 8080d22: b2db uxtb r3, r3 8080d24: 2b21 cmp r3, #33 ; 0x21 8080d26: d904 bls.n 8080d32 8080d28: 4b79 ldr r3, [pc, #484] ; (8080f10 ) 8080d2a: 781b ldrb r3, [r3, #0] 8080d2c: b2db uxtb r3, r3 8080d2e: 2b25 cmp r3, #37 ; 0x25 8080d30: d907 bls.n 8080d42 LCD_DisplayStringC(260, LCD_LINE_12, str_rate); 8080d32: f507 734a add.w r3, r7, #808 ; 0x328 8080d36: 461a mov r2, r3 8080d38: 21ca movs r1, #202 ; 0xca 8080d3a: f44f 7082 mov.w r0, #260 ; 0x104 8080d3e: f7d3 faf5 bl 805432c LCD_DisplayStringC(260, LCD_LINE_9, (char *) pAVERAGE[pardata.AVG]); 8080d42: 4b70 ldr r3, [pc, #448] ; (8080f04 ) 8080d44: 7b5b ldrb r3, [r3, #13] 8080d46: b2db uxtb r3, r3 8080d48: 461a mov r2, r3 8080d4a: 4b72 ldr r3, [pc, #456] ; (8080f14 ) 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: f7d3 fae8 bl 805432c if(pardata.OPTIONS & 0x4) // åñëè àâòîóñèëåíèå 8080d5c: 4b69 ldr r3, [pc, #420] ; (8080f04 ) 8080d5e: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8080d62: f003 0304 and.w r3, r3, #4 8080d66: 2b00 cmp r3, #0 8080d68: d034 beq.n 8080dd4 { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8080d6a: 4965 ldr r1, [pc, #404] ; (8080f00 ) 8080d6c: 486a ldr r0, [pc, #424] ; (8080f18 ) 8080d6e: f7d2 fd1d bl 80537ac if(pardata.IIN != VOLTS) 8080d72: 4b64 ldr r3, [pc, #400] ; (8080f04 ) 8080d74: 799b ldrb r3, [r3, #6] 8080d76: b2db uxtb r3, r3 8080d78: 2b02 cmp r3, #2 8080d7a: d011 beq.n 8080da0 LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL[pardata.LANG][7]);//"Max.âîçä.,ì/ñ2" 8080d7c: 4b61 ldr r3, [pc, #388] ; (8080f04 ) 8080d7e: 7b1b ldrb r3, [r3, #12] 8080d80: b2db uxtb r3, r3 8080d82: 4619 mov r1, r3 8080d84: 4a65 ldr r2, [pc, #404] ; (8080f1c ) 8080d86: 460b mov r3, r1 8080d88: 00db lsls r3, r3, #3 8080d8a: 440b add r3, r1 8080d8c: 009b lsls r3, r3, #2 8080d8e: 4413 add r3, r2 8080d90: 331c adds r3, #28 8080d92: 681b ldr r3, [r3, #0] 8080d94: 461a mov r2, r3 8080d96: 21ba movs r1, #186 ; 0xba 8080d98: 200a movs r0, #10 8080d9a: f7d3 faaf bl 80542fc 8080d9e: e010 b.n 8080dc2 else LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL_mV[pardata.LANG][7]);//"Max.âîçä.,ìÂ" 8080da0: 4b58 ldr r3, [pc, #352] ; (8080f04 ) 8080da2: 7b1b ldrb r3, [r3, #12] 8080da4: b2db uxtb r3, r3 8080da6: 4619 mov r1, r3 8080da8: 4a5d ldr r2, [pc, #372] ; (8080f20 ) 8080daa: 460b mov r3, r1 8080dac: 00db lsls r3, r3, #3 8080dae: 440b add r3, r1 8080db0: 009b lsls r3, r3, #2 8080db2: 4413 add r3, r2 8080db4: 331c adds r3, #28 8080db6: 681b ldr r3, [r3, #0] 8080db8: 461a mov r2, r3 8080dba: 21ba movs r1, #186 ; 0xba 8080dbc: 200a movs r0, #10 8080dbe: f7d3 fa9d bl 80542fc LCD_DisplayStringC(260, LCD_LINE_11, str); 8080dc2: f507 733b add.w r3, r7, #748 ; 0x2ec 8080dc6: 461a mov r2, r3 8080dc8: 21ba movs r1, #186 ; 0xba 8080dca: f44f 7082 mov.w r0, #260 ; 0x104 8080dce: f7d3 faad bl 805432c 8080dd2: e042 b.n 8080e5a } else { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8080dd4: 494a ldr r1, [pc, #296] ; (8080f00 ) 8080dd6: f04f 30ff mov.w r0, #4294967295 8080dda: f7d2 fce7 bl 80537ac if(pardata.IIN != VOLTS) 8080dde: 4b49 ldr r3, [pc, #292] ; (8080f04 ) 8080de0: 799b ldrb r3, [r3, #6] 8080de2: b2db uxtb r3, r3 8080de4: 2b02 cmp r3, #2 8080de6: d011 beq.n 8080e0c LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL[pardata.LANG][7]);//"Max.âîçä.,ì/ñ2" 8080de8: 4b46 ldr r3, [pc, #280] ; (8080f04 ) 8080dea: 7b1b ldrb r3, [r3, #12] 8080dec: b2db uxtb r3, r3 8080dee: 4619 mov r1, r3 8080df0: 4a4a ldr r2, [pc, #296] ; (8080f1c ) 8080df2: 460b mov r3, r1 8080df4: 00db lsls r3, r3, #3 8080df6: 440b add r3, r1 8080df8: 009b lsls r3, r3, #2 8080dfa: 4413 add r3, r2 8080dfc: 331c adds r3, #28 8080dfe: 681b ldr r3, [r3, #0] 8080e00: 461a mov r2, r3 8080e02: 21ba movs r1, #186 ; 0xba 8080e04: 200a movs r0, #10 8080e06: f7d3 fa79 bl 80542fc 8080e0a: e010 b.n 8080e2e else LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL_mV[pardata.LANG][7]);//"Max.âîçä.,ìÂ" 8080e0c: 4b3d ldr r3, [pc, #244] ; (8080f04 ) 8080e0e: 7b1b ldrb r3, [r3, #12] 8080e10: b2db uxtb r3, r3 8080e12: 4619 mov r1, r3 8080e14: 4a42 ldr r2, [pc, #264] ; (8080f20 ) 8080e16: 460b mov r3, r1 8080e18: 00db lsls r3, r3, #3 8080e1a: 440b add r3, r1 8080e1c: 009b lsls r3, r3, #2 8080e1e: 4413 add r3, r2 8080e20: 331c adds r3, #28 8080e22: 681b ldr r3, [r3, #0] 8080e24: 461a mov r2, r3 8080e26: 21ba movs r1, #186 ; 0xba 8080e28: 200a movs r0, #10 8080e2a: f7d3 fa67 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8080e2e: 4934 ldr r1, [pc, #208] ; (8080f00 ) 8080e30: 4836 ldr r0, [pc, #216] ; (8080f0c ) 8080e32: f7d2 fcbb bl 80537ac if((menupos < RollMax_IDT) || (menupos > RollMax_IKD)) 8080e36: 4b36 ldr r3, [pc, #216] ; (8080f10 ) 8080e38: 781b ldrb r3, [r3, #0] 8080e3a: b2db uxtb r3, r3 8080e3c: 2b25 cmp r3, #37 ; 0x25 8080e3e: d904 bls.n 8080e4a 8080e40: 4b33 ldr r3, [pc, #204] ; (8080f10 ) 8080e42: 781b ldrb r3, [r3, #0] 8080e44: b2db uxtb r3, r3 8080e46: 2b2b cmp r3, #43 ; 0x2b 8080e48: d907 bls.n 8080e5a LCD_DisplayStringC(260, LCD_LINE_11, str); 8080e4a: f507 733b add.w r3, r7, #748 ; 0x2ec 8080e4e: 461a mov r2, r3 8080e50: 21ba movs r1, #186 ; 0xba 8080e52: f44f 7082 mov.w r0, #260 ; 0x104 8080e56: f7d3 fa69 bl 805432c } if((menupos >= D_Rate_IET) && (menupos <= D_Rate_IEE)) 8080e5a: 4b2d ldr r3, [pc, #180] ; (8080f10 ) 8080e5c: 781b ldrb r3, [r3, #0] 8080e5e: b2db uxtb r3, r3 8080e60: 2b21 cmp r3, #33 ; 0x21 8080e62: f240 8136 bls.w 80810d2 8080e66: 4b2a ldr r3, [pc, #168] ; (8080f10 ) 8080e68: 781b ldrb r3, [r3, #0] 8080e6a: b2db uxtb r3, r3 8080e6c: 2b25 cmp r3, #37 ; 0x25 8080e6e: f200 8130 bhi.w 80810d2 { if(menupos == D_Rate_IET) 8080e72: 4b27 ldr r3, [pc, #156] ; (8080f10 ) 8080e74: 781b ldrb r3, [r3, #0] 8080e76: b2db uxtb r3, r3 8080e78: 2b22 cmp r3, #34 ; 0x22 8080e7a: d157 bne.n 8080f2c { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8080e7c: 4920 ldr r1, [pc, #128] ; (8080f00 ) 8080e7e: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8080e82: f7d2 fc93 bl 80537ac if(blk) 8080e86: 4b27 ldr r3, [pc, #156] ; (8080f24 ) 8080e88: 681b ldr r3, [r3, #0] 8080e8a: 2b00 cmp r3, #0 8080e8c: d00b beq.n 8080ea6 LCD_DisplayString(230, LCD_LINE_12, (char *) pNUMS[rate_iet]); 8080e8e: f897 3394 ldrb.w r3, [r7, #916] ; 0x394 8080e92: b2db uxtb r3, r3 8080e94: 461a mov r2, r3 8080e96: 4b24 ldr r3, [pc, #144] ; (8080f28 ) 8080e98: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8080e9c: 461a mov r2, r3 8080e9e: 21ca movs r1, #202 ; 0xca 8080ea0: 20e6 movs r0, #230 ; 0xe6 8080ea2: f7d3 fa2b bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8080ea6: 4916 ldr r1, [pc, #88] ; (8080f00 ) 8080ea8: 4818 ldr r0, [pc, #96] ; (8080f0c ) 8080eaa: f7d2 fc7f bl 80537ac LCD_DisplayString(246, LCD_LINE_12, (char *) pNUMS[rate_ies]); 8080eae: f897 3393 ldrb.w r3, [r7, #915] ; 0x393 8080eb2: b2db uxtb r3, r3 8080eb4: 461a mov r2, r3 8080eb6: 4b1c ldr r3, [pc, #112] ; (8080f28 ) 8080eb8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8080ebc: 461a mov r2, r3 8080ebe: 21ca movs r1, #202 ; 0xca 8080ec0: 20f6 movs r0, #246 ; 0xf6 8080ec2: f7d3 fa1b bl 80542fc LCD_DisplayString(262, LCD_LINE_12, (char *) pNUMS[rate_ied]); 8080ec6: f897 3392 ldrb.w r3, [r7, #914] ; 0x392 8080eca: b2db uxtb r3, r3 8080ecc: 461a mov r2, r3 8080ece: 4b16 ldr r3, [pc, #88] ; (8080f28 ) 8080ed0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8080ed4: 461a mov r2, r3 8080ed6: 21ca movs r1, #202 ; 0xca 8080ed8: f44f 7083 mov.w r0, #262 ; 0x106 8080edc: f7d3 fa0e bl 80542fc LCD_DisplayString(278, LCD_LINE_12, (char *) pNUMS[rate_iee]); 8080ee0: f897 3391 ldrb.w r3, [r7, #913] ; 0x391 8080ee4: b2db uxtb r3, r3 8080ee6: 461a mov r2, r3 8080ee8: 4b0f ldr r3, [pc, #60] ; (8080f28 ) 8080eea: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8080eee: 461a mov r2, r3 8080ef0: 21ca movs r1, #202 ; 0xca 8080ef2: f44f 708b mov.w r0, #278 ; 0x116 8080ef6: f7d3 fa01 bl 80542fc if(menupos == D_Rate_IET) 8080efa: f001 bd3c b.w 8082976 8080efe: bf00 nop 8080f00: ff0a0f1f .word 0xff0a0f1f 8080f04: 20023e60 .word 0x20023e60 8080f08: 200205c4 .word 0x200205c4 8080f0c: ffd8aa57 .word 0xffd8aa57 8080f10: 20020070 .word 0x20020070 8080f14: 20020224 .word 0x20020224 8080f18: ff808080 .word 0xff808080 8080f1c: 20020764 .word 0x20020764 8080f20: 200207ac .word 0x200207ac 8080f24: 2002165c .word 0x2002165c 8080f28: 20020964 .word 0x20020964 } else if(menupos == D_Rate_IES) 8080f2c: 4ba1 ldr r3, [pc, #644] ; (80811b4 ) 8080f2e: 781b ldrb r3, [r3, #0] 8080f30: b2db uxtb r3, r3 8080f32: 2b23 cmp r3, #35 ; 0x23 8080f34: d140 bne.n 8080fb8 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8080f36: 49a0 ldr r1, [pc, #640] ; (80811b8 ) 8080f38: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8080f3c: f7d2 fc36 bl 80537ac if(blk) 8080f40: 4b9e ldr r3, [pc, #632] ; (80811bc ) 8080f42: 681b ldr r3, [r3, #0] 8080f44: 2b00 cmp r3, #0 8080f46: d00b beq.n 8080f60 LCD_DisplayString(246, LCD_LINE_12, (char *) pNUMS[rate_ies]); 8080f48: f897 3393 ldrb.w r3, [r7, #915] ; 0x393 8080f4c: b2db uxtb r3, r3 8080f4e: 461a mov r2, r3 8080f50: 4b9b ldr r3, [pc, #620] ; (80811c0 ) 8080f52: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8080f56: 461a mov r2, r3 8080f58: 21ca movs r1, #202 ; 0xca 8080f5a: 20f6 movs r0, #246 ; 0xf6 8080f5c: f7d3 f9ce bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8080f60: 4995 ldr r1, [pc, #596] ; (80811b8 ) 8080f62: 4898 ldr r0, [pc, #608] ; (80811c4 ) 8080f64: f7d2 fc22 bl 80537ac LCD_DisplayString(230, LCD_LINE_12, (char *) pNUMS[rate_iet]); 8080f68: f897 3394 ldrb.w r3, [r7, #916] ; 0x394 8080f6c: b2db uxtb r3, r3 8080f6e: 461a mov r2, r3 8080f70: 4b93 ldr r3, [pc, #588] ; (80811c0 ) 8080f72: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8080f76: 461a mov r2, r3 8080f78: 21ca movs r1, #202 ; 0xca 8080f7a: 20e6 movs r0, #230 ; 0xe6 8080f7c: f7d3 f9be bl 80542fc LCD_DisplayString(262, LCD_LINE_12, (char *) pNUMS[rate_ied]); 8080f80: f897 3392 ldrb.w r3, [r7, #914] ; 0x392 8080f84: b2db uxtb r3, r3 8080f86: 461a mov r2, r3 8080f88: 4b8d ldr r3, [pc, #564] ; (80811c0 ) 8080f8a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8080f8e: 461a mov r2, r3 8080f90: 21ca movs r1, #202 ; 0xca 8080f92: f44f 7083 mov.w r0, #262 ; 0x106 8080f96: f7d3 f9b1 bl 80542fc LCD_DisplayString(278, LCD_LINE_12, (char *) pNUMS[rate_iee]); 8080f9a: f897 3391 ldrb.w r3, [r7, #913] ; 0x391 8080f9e: b2db uxtb r3, r3 8080fa0: 461a mov r2, r3 8080fa2: 4b87 ldr r3, [pc, #540] ; (80811c0 ) 8080fa4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8080fa8: 461a mov r2, r3 8080faa: 21ca movs r1, #202 ; 0xca 8080fac: f44f 708b mov.w r0, #278 ; 0x116 8080fb0: f7d3 f9a4 bl 80542fc if(menupos == D_Rate_IET) 8080fb4: f001 bcdf b.w 8082976 } else if(menupos == D_Rate_IED) 8080fb8: 4b7e ldr r3, [pc, #504] ; (80811b4 ) 8080fba: 781b ldrb r3, [r3, #0] 8080fbc: b2db uxtb r3, r3 8080fbe: 2b24 cmp r3, #36 ; 0x24 8080fc0: d140 bne.n 8081044 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8080fc2: 497d ldr r1, [pc, #500] ; (80811b8 ) 8080fc4: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8080fc8: f7d2 fbf0 bl 80537ac if(blk) 8080fcc: 4b7b ldr r3, [pc, #492] ; (80811bc ) 8080fce: 681b ldr r3, [r3, #0] 8080fd0: 2b00 cmp r3, #0 8080fd2: d00c beq.n 8080fee LCD_DisplayString(262, LCD_LINE_12, (char *) pNUMS[rate_ied]); 8080fd4: f897 3392 ldrb.w r3, [r7, #914] ; 0x392 8080fd8: b2db uxtb r3, r3 8080fda: 461a mov r2, r3 8080fdc: 4b78 ldr r3, [pc, #480] ; (80811c0 ) 8080fde: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8080fe2: 461a mov r2, r3 8080fe4: 21ca movs r1, #202 ; 0xca 8080fe6: f44f 7083 mov.w r0, #262 ; 0x106 8080fea: f7d3 f987 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8080fee: 4972 ldr r1, [pc, #456] ; (80811b8 ) 8080ff0: 4874 ldr r0, [pc, #464] ; (80811c4 ) 8080ff2: f7d2 fbdb bl 80537ac LCD_DisplayString(230, LCD_LINE_12, (char *) pNUMS[rate_iet]); 8080ff6: f897 3394 ldrb.w r3, [r7, #916] ; 0x394 8080ffa: b2db uxtb r3, r3 8080ffc: 461a mov r2, r3 8080ffe: 4b70 ldr r3, [pc, #448] ; (80811c0 ) 8081000: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081004: 461a mov r2, r3 8081006: 21ca movs r1, #202 ; 0xca 8081008: 20e6 movs r0, #230 ; 0xe6 808100a: f7d3 f977 bl 80542fc LCD_DisplayString(246, LCD_LINE_12, (char *) pNUMS[rate_ies]); 808100e: f897 3393 ldrb.w r3, [r7, #915] ; 0x393 8081012: b2db uxtb r3, r3 8081014: 461a mov r2, r3 8081016: 4b6a ldr r3, [pc, #424] ; (80811c0 ) 8081018: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808101c: 461a mov r2, r3 808101e: 21ca movs r1, #202 ; 0xca 8081020: 20f6 movs r0, #246 ; 0xf6 8081022: f7d3 f96b bl 80542fc LCD_DisplayString(278, LCD_LINE_12, (char *) pNUMS[rate_iee]); 8081026: f897 3391 ldrb.w r3, [r7, #913] ; 0x391 808102a: b2db uxtb r3, r3 808102c: 461a mov r2, r3 808102e: 4b64 ldr r3, [pc, #400] ; (80811c0 ) 8081030: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081034: 461a mov r2, r3 8081036: 21ca movs r1, #202 ; 0xca 8081038: f44f 708b mov.w r0, #278 ; 0x116 808103c: f7d3 f95e bl 80542fc if(menupos == D_Rate_IET) 8081040: f001 bc99 b.w 8082976 } else if(menupos == D_Rate_IEE) 8081044: 4b5b ldr r3, [pc, #364] ; (80811b4 ) 8081046: 781b ldrb r3, [r3, #0] 8081048: b2db uxtb r3, r3 808104a: 2b25 cmp r3, #37 ; 0x25 808104c: f041 8493 bne.w 8082976 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8081050: 4959 ldr r1, [pc, #356] ; (80811b8 ) 8081052: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8081056: f7d2 fba9 bl 80537ac if(blk) 808105a: 4b58 ldr r3, [pc, #352] ; (80811bc ) 808105c: 681b ldr r3, [r3, #0] 808105e: 2b00 cmp r3, #0 8081060: d00c beq.n 808107c LCD_DisplayString(278, LCD_LINE_12, (char *) pNUMS[rate_iee]); 8081062: f897 3391 ldrb.w r3, [r7, #913] ; 0x391 8081066: b2db uxtb r3, r3 8081068: 461a mov r2, r3 808106a: 4b55 ldr r3, [pc, #340] ; (80811c0 ) 808106c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081070: 461a mov r2, r3 8081072: 21ca movs r1, #202 ; 0xca 8081074: f44f 708b mov.w r0, #278 ; 0x116 8081078: f7d3 f940 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808107c: 494e ldr r1, [pc, #312] ; (80811b8 ) 808107e: 4851 ldr r0, [pc, #324] ; (80811c4 ) 8081080: f7d2 fb94 bl 80537ac LCD_DisplayString(230, LCD_LINE_12, (char *) pNUMS[rate_iet]); 8081084: f897 3394 ldrb.w r3, [r7, #916] ; 0x394 8081088: b2db uxtb r3, r3 808108a: 461a mov r2, r3 808108c: 4b4c ldr r3, [pc, #304] ; (80811c0 ) 808108e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081092: 461a mov r2, r3 8081094: 21ca movs r1, #202 ; 0xca 8081096: 20e6 movs r0, #230 ; 0xe6 8081098: f7d3 f930 bl 80542fc LCD_DisplayString(246, LCD_LINE_12, (char *) pNUMS[rate_ies]); 808109c: f897 3393 ldrb.w r3, [r7, #915] ; 0x393 80810a0: b2db uxtb r3, r3 80810a2: 461a mov r2, r3 80810a4: 4b46 ldr r3, [pc, #280] ; (80811c0 ) 80810a6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80810aa: 461a mov r2, r3 80810ac: 21ca movs r1, #202 ; 0xca 80810ae: 20f6 movs r0, #246 ; 0xf6 80810b0: f7d3 f924 bl 80542fc LCD_DisplayString(262, LCD_LINE_12, (char *) pNUMS[rate_ied]); 80810b4: f897 3392 ldrb.w r3, [r7, #914] ; 0x392 80810b8: b2db uxtb r3, r3 80810ba: 461a mov r2, r3 80810bc: 4b40 ldr r3, [pc, #256] ; (80811c0 ) 80810be: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80810c2: 461a mov r2, r3 80810c4: 21ca movs r1, #202 ; 0xca 80810c6: f44f 7083 mov.w r0, #262 ; 0x106 80810ca: f7d3 f917 bl 80542fc if(menupos == D_Rate_IET) 80810ce: f001 bc52 b.w 8082976 } } else if((menupos >= D_Roll_IES) && (menupos <= D_Roll_IKT)) 80810d2: 4b38 ldr r3, [pc, #224] ; (80811b4 ) 80810d4: 781b ldrb r3, [r3, #0] 80810d6: b2db uxtb r3, r3 80810d8: 2b09 cmp r3, #9 80810da: f240 8278 bls.w 80815ce 80810de: 4b35 ldr r3, [pc, #212] ; (80811b4 ) 80810e0: 781b ldrb r3, [r3, #0] 80810e2: b2db uxtb r3, r3 80810e4: 2b0f cmp r3, #15 80810e6: f200 8272 bhi.w 80815ce { if(menupos == D_Roll_IES) 80810ea: 4b32 ldr r3, [pc, #200] ; (80811b4 ) 80810ec: 781b ldrb r3, [r3, #0] 80810ee: b2db uxtb r3, r3 80810f0: 2b0a cmp r3, #10 80810f2: d16b bne.n 80811cc { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80810f4: 4930 ldr r1, [pc, #192] ; (80811b8 ) 80810f6: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80810fa: f7d2 fb57 bl 80537ac if(blk) 80810fe: 4b2f ldr r3, [pc, #188] ; (80811bc ) 8081100: 681b ldr r3, [r3, #0] 8081102: 2b00 cmp r3, #0 8081104: d00b beq.n 808111e LCD_DisplayString(198, LCD_LINE_5, (char *) pNUMS[roll_ies]); 8081106: f897 33b3 ldrb.w r3, [r7, #947] ; 0x3b3 808110a: b2db uxtb r3, r3 808110c: 461a mov r2, r3 808110e: 4b2c ldr r3, [pc, #176] ; (80811c0 ) 8081110: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081114: 461a mov r2, r3 8081116: 215a movs r1, #90 ; 0x5a 8081118: 20c6 movs r0, #198 ; 0xc6 808111a: f7d3 f8ef bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808111e: 4926 ldr r1, [pc, #152] ; (80811b8 ) 8081120: 4828 ldr r0, [pc, #160] ; (80811c4 ) 8081122: f7d2 fb43 bl 80537ac LCD_DisplayString(214, LCD_LINE_5, (char *) pNUMS[roll_ied]); 8081126: f897 33b2 ldrb.w r3, [r7, #946] ; 0x3b2 808112a: b2db uxtb r3, r3 808112c: 461a mov r2, r3 808112e: 4b24 ldr r3, [pc, #144] ; (80811c0 ) 8081130: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081134: 461a mov r2, r3 8081136: 215a movs r1, #90 ; 0x5a 8081138: 20d6 movs r0, #214 ; 0xd6 808113a: f7d3 f8df bl 80542fc LCD_DisplayString(230, LCD_LINE_5, (char *) pNUMS[roll_iee]); 808113e: f897 33b1 ldrb.w r3, [r7, #945] ; 0x3b1 8081142: b2db uxtb r3, r3 8081144: 461a mov r2, r3 8081146: 4b1e ldr r3, [pc, #120] ; (80811c0 ) 8081148: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808114c: 461a mov r2, r3 808114e: 215a movs r1, #90 ; 0x5a 8081150: 20e6 movs r0, #230 ; 0xe6 8081152: f7d3 f8d3 bl 80542fc LCD_DisplayString(246, LCD_LINE_5, "."); 8081156: 4a1c ldr r2, [pc, #112] ; (80811c8 ) 8081158: 215a movs r1, #90 ; 0x5a 808115a: 20f6 movs r0, #246 ; 0xf6 808115c: f7d3 f8ce bl 80542fc LCD_DisplayString(262, LCD_LINE_5, (char *) pNUMS[roll_ikd]); 8081160: f897 33b0 ldrb.w r3, [r7, #944] ; 0x3b0 8081164: b2db uxtb r3, r3 8081166: 461a mov r2, r3 8081168: 4b15 ldr r3, [pc, #84] ; (80811c0 ) 808116a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808116e: 461a mov r2, r3 8081170: 215a movs r1, #90 ; 0x5a 8081172: f44f 7083 mov.w r0, #262 ; 0x106 8081176: f7d3 f8c1 bl 80542fc LCD_DisplayString(278, LCD_LINE_5, (char *) pNUMS[roll_iks]); 808117a: f897 33af ldrb.w r3, [r7, #943] ; 0x3af 808117e: b2db uxtb r3, r3 8081180: 461a mov r2, r3 8081182: 4b0f ldr r3, [pc, #60] ; (80811c0 ) 8081184: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081188: 461a mov r2, r3 808118a: 215a movs r1, #90 ; 0x5a 808118c: f44f 708b mov.w r0, #278 ; 0x116 8081190: f7d3 f8b4 bl 80542fc LCD_DisplayString(294, LCD_LINE_5, (char *) pNUMS[roll_ikt]); 8081194: f897 33ae ldrb.w r3, [r7, #942] ; 0x3ae 8081198: b2db uxtb r3, r3 808119a: 461a mov r2, r3 808119c: 4b08 ldr r3, [pc, #32] ; (80811c0 ) 808119e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80811a2: 461a mov r2, r3 80811a4: 215a movs r1, #90 ; 0x5a 80811a6: f44f 7093 mov.w r0, #294 ; 0x126 80811aa: f7d3 f8a7 bl 80542fc if(menupos == D_Roll_IES) 80811ae: f001 bbe4 b.w 808297a 80811b2: bf00 nop 80811b4: 20020070 .word 0x20020070 80811b8: ff0a0f1f .word 0xff0a0f1f 80811bc: 2002165c .word 0x2002165c 80811c0: 20020964 .word 0x20020964 80811c4: ffd8aa57 .word 0xffd8aa57 80811c8: 080cf7e8 .word 0x080cf7e8 } else if(menupos == D_Roll_IED) 80811cc: 4bc7 ldr r3, [pc, #796] ; (80814ec ) 80811ce: 781b ldrb r3, [r3, #0] 80811d0: b2db uxtb r3, r3 80811d2: 2b0b cmp r3, #11 80811d4: d15e bne.n 8081294 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80811d6: 49c6 ldr r1, [pc, #792] ; (80814f0 ) 80811d8: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80811dc: f7d2 fae6 bl 80537ac if(blk) 80811e0: 4bc4 ldr r3, [pc, #784] ; (80814f4 ) 80811e2: 681b ldr r3, [r3, #0] 80811e4: 2b00 cmp r3, #0 80811e6: d00b beq.n 8081200 LCD_DisplayString(214, LCD_LINE_5, (char *) pNUMS[roll_ied]); 80811e8: f897 33b2 ldrb.w r3, [r7, #946] ; 0x3b2 80811ec: b2db uxtb r3, r3 80811ee: 461a mov r2, r3 80811f0: 4bc1 ldr r3, [pc, #772] ; (80814f8 ) 80811f2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80811f6: 461a mov r2, r3 80811f8: 215a movs r1, #90 ; 0x5a 80811fa: 20d6 movs r0, #214 ; 0xd6 80811fc: f7d3 f87e bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8081200: 49bb ldr r1, [pc, #748] ; (80814f0 ) 8081202: 48be ldr r0, [pc, #760] ; (80814fc ) 8081204: f7d2 fad2 bl 80537ac LCD_DisplayString(198, LCD_LINE_5, (char *) pNUMS[roll_ies]); 8081208: f897 33b3 ldrb.w r3, [r7, #947] ; 0x3b3 808120c: b2db uxtb r3, r3 808120e: 461a mov r2, r3 8081210: 4bb9 ldr r3, [pc, #740] ; (80814f8 ) 8081212: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081216: 461a mov r2, r3 8081218: 215a movs r1, #90 ; 0x5a 808121a: 20c6 movs r0, #198 ; 0xc6 808121c: f7d3 f86e bl 80542fc LCD_DisplayString(230, LCD_LINE_5, (char *) pNUMS[roll_iee]); 8081220: f897 33b1 ldrb.w r3, [r7, #945] ; 0x3b1 8081224: b2db uxtb r3, r3 8081226: 461a mov r2, r3 8081228: 4bb3 ldr r3, [pc, #716] ; (80814f8 ) 808122a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808122e: 461a mov r2, r3 8081230: 215a movs r1, #90 ; 0x5a 8081232: 20e6 movs r0, #230 ; 0xe6 8081234: f7d3 f862 bl 80542fc LCD_DisplayString(246, LCD_LINE_5, "."); 8081238: 4ab1 ldr r2, [pc, #708] ; (8081500 ) 808123a: 215a movs r1, #90 ; 0x5a 808123c: 20f6 movs r0, #246 ; 0xf6 808123e: f7d3 f85d bl 80542fc LCD_DisplayString(262, LCD_LINE_5, (char *) pNUMS[roll_ikd]); 8081242: f897 33b0 ldrb.w r3, [r7, #944] ; 0x3b0 8081246: b2db uxtb r3, r3 8081248: 461a mov r2, r3 808124a: 4bab ldr r3, [pc, #684] ; (80814f8 ) 808124c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081250: 461a mov r2, r3 8081252: 215a movs r1, #90 ; 0x5a 8081254: f44f 7083 mov.w r0, #262 ; 0x106 8081258: f7d3 f850 bl 80542fc LCD_DisplayString(278, LCD_LINE_5, (char *) pNUMS[roll_iks]); 808125c: f897 33af ldrb.w r3, [r7, #943] ; 0x3af 8081260: b2db uxtb r3, r3 8081262: 461a mov r2, r3 8081264: 4ba4 ldr r3, [pc, #656] ; (80814f8 ) 8081266: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808126a: 461a mov r2, r3 808126c: 215a movs r1, #90 ; 0x5a 808126e: f44f 708b mov.w r0, #278 ; 0x116 8081272: f7d3 f843 bl 80542fc LCD_DisplayString(294, LCD_LINE_5, (char *) pNUMS[roll_ikt]); 8081276: f897 33ae ldrb.w r3, [r7, #942] ; 0x3ae 808127a: b2db uxtb r3, r3 808127c: 461a mov r2, r3 808127e: 4b9e ldr r3, [pc, #632] ; (80814f8 ) 8081280: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081284: 461a mov r2, r3 8081286: 215a movs r1, #90 ; 0x5a 8081288: f44f 7093 mov.w r0, #294 ; 0x126 808128c: f7d3 f836 bl 80542fc if(menupos == D_Roll_IES) 8081290: f001 bb73 b.w 808297a } else if(menupos == D_Roll_IEE) 8081294: 4b95 ldr r3, [pc, #596] ; (80814ec ) 8081296: 781b ldrb r3, [r3, #0] 8081298: b2db uxtb r3, r3 808129a: 2b0c cmp r3, #12 808129c: d15e bne.n 808135c { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808129e: 4994 ldr r1, [pc, #592] ; (80814f0 ) 80812a0: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80812a4: f7d2 fa82 bl 80537ac if(blk) 80812a8: 4b92 ldr r3, [pc, #584] ; (80814f4 ) 80812aa: 681b ldr r3, [r3, #0] 80812ac: 2b00 cmp r3, #0 80812ae: d00b beq.n 80812c8 LCD_DisplayString(230, LCD_LINE_5, (char *) pNUMS[roll_iee]); 80812b0: f897 33b1 ldrb.w r3, [r7, #945] ; 0x3b1 80812b4: b2db uxtb r3, r3 80812b6: 461a mov r2, r3 80812b8: 4b8f ldr r3, [pc, #572] ; (80814f8 ) 80812ba: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80812be: 461a mov r2, r3 80812c0: 215a movs r1, #90 ; 0x5a 80812c2: 20e6 movs r0, #230 ; 0xe6 80812c4: f7d3 f81a bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80812c8: 4989 ldr r1, [pc, #548] ; (80814f0 ) 80812ca: 488c ldr r0, [pc, #560] ; (80814fc ) 80812cc: f7d2 fa6e bl 80537ac LCD_DisplayString(198, LCD_LINE_5, (char *) pNUMS[roll_ies]); 80812d0: f897 33b3 ldrb.w r3, [r7, #947] ; 0x3b3 80812d4: b2db uxtb r3, r3 80812d6: 461a mov r2, r3 80812d8: 4b87 ldr r3, [pc, #540] ; (80814f8 ) 80812da: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80812de: 461a mov r2, r3 80812e0: 215a movs r1, #90 ; 0x5a 80812e2: 20c6 movs r0, #198 ; 0xc6 80812e4: f7d3 f80a bl 80542fc LCD_DisplayString(214, LCD_LINE_5, (char *) pNUMS[roll_ied]); 80812e8: f897 33b2 ldrb.w r3, [r7, #946] ; 0x3b2 80812ec: b2db uxtb r3, r3 80812ee: 461a mov r2, r3 80812f0: 4b81 ldr r3, [pc, #516] ; (80814f8 ) 80812f2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80812f6: 461a mov r2, r3 80812f8: 215a movs r1, #90 ; 0x5a 80812fa: 20d6 movs r0, #214 ; 0xd6 80812fc: f7d2 fffe bl 80542fc LCD_DisplayString(246, LCD_LINE_5, "."); 8081300: 4a7f ldr r2, [pc, #508] ; (8081500 ) 8081302: 215a movs r1, #90 ; 0x5a 8081304: 20f6 movs r0, #246 ; 0xf6 8081306: f7d2 fff9 bl 80542fc LCD_DisplayString(262, LCD_LINE_5, (char *) pNUMS[roll_ikd]); 808130a: f897 33b0 ldrb.w r3, [r7, #944] ; 0x3b0 808130e: b2db uxtb r3, r3 8081310: 461a mov r2, r3 8081312: 4b79 ldr r3, [pc, #484] ; (80814f8 ) 8081314: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081318: 461a mov r2, r3 808131a: 215a movs r1, #90 ; 0x5a 808131c: f44f 7083 mov.w r0, #262 ; 0x106 8081320: f7d2 ffec bl 80542fc LCD_DisplayString(278, LCD_LINE_5, (char *) pNUMS[roll_iks]); 8081324: f897 33af ldrb.w r3, [r7, #943] ; 0x3af 8081328: b2db uxtb r3, r3 808132a: 461a mov r2, r3 808132c: 4b72 ldr r3, [pc, #456] ; (80814f8 ) 808132e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081332: 461a mov r2, r3 8081334: 215a movs r1, #90 ; 0x5a 8081336: f44f 708b mov.w r0, #278 ; 0x116 808133a: f7d2 ffdf bl 80542fc LCD_DisplayString(294, LCD_LINE_5, (char *) pNUMS[roll_ikt]); 808133e: f897 33ae ldrb.w r3, [r7, #942] ; 0x3ae 8081342: b2db uxtb r3, r3 8081344: 461a mov r2, r3 8081346: 4b6c ldr r3, [pc, #432] ; (80814f8 ) 8081348: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808134c: 461a mov r2, r3 808134e: 215a movs r1, #90 ; 0x5a 8081350: f44f 7093 mov.w r0, #294 ; 0x126 8081354: f7d2 ffd2 bl 80542fc if(menupos == D_Roll_IES) 8081358: f001 bb0f b.w 808297a } else if(menupos == D_Roll_IKD) 808135c: 4b63 ldr r3, [pc, #396] ; (80814ec ) 808135e: 781b ldrb r3, [r3, #0] 8081360: b2db uxtb r3, r3 8081362: 2b0d cmp r3, #13 8081364: d15e bne.n 8081424 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8081366: 4962 ldr r1, [pc, #392] ; (80814f0 ) 8081368: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808136c: f7d2 fa1e bl 80537ac if(blk) 8081370: 4b60 ldr r3, [pc, #384] ; (80814f4 ) 8081372: 681b ldr r3, [r3, #0] 8081374: 2b00 cmp r3, #0 8081376: d00c beq.n 8081392 LCD_DisplayString(262, LCD_LINE_5, (char *) pNUMS[roll_ikd]); 8081378: f897 33b0 ldrb.w r3, [r7, #944] ; 0x3b0 808137c: b2db uxtb r3, r3 808137e: 461a mov r2, r3 8081380: 4b5d ldr r3, [pc, #372] ; (80814f8 ) 8081382: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081386: 461a mov r2, r3 8081388: 215a movs r1, #90 ; 0x5a 808138a: f44f 7083 mov.w r0, #262 ; 0x106 808138e: f7d2 ffb5 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8081392: 4957 ldr r1, [pc, #348] ; (80814f0 ) 8081394: 4859 ldr r0, [pc, #356] ; (80814fc ) 8081396: f7d2 fa09 bl 80537ac LCD_DisplayString(198, LCD_LINE_5, (char *) pNUMS[roll_ies]); 808139a: f897 33b3 ldrb.w r3, [r7, #947] ; 0x3b3 808139e: b2db uxtb r3, r3 80813a0: 461a mov r2, r3 80813a2: 4b55 ldr r3, [pc, #340] ; (80814f8 ) 80813a4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80813a8: 461a mov r2, r3 80813aa: 215a movs r1, #90 ; 0x5a 80813ac: 20c6 movs r0, #198 ; 0xc6 80813ae: f7d2 ffa5 bl 80542fc LCD_DisplayString(214, LCD_LINE_5, (char *) pNUMS[roll_ied]); 80813b2: f897 33b2 ldrb.w r3, [r7, #946] ; 0x3b2 80813b6: b2db uxtb r3, r3 80813b8: 461a mov r2, r3 80813ba: 4b4f ldr r3, [pc, #316] ; (80814f8 ) 80813bc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80813c0: 461a mov r2, r3 80813c2: 215a movs r1, #90 ; 0x5a 80813c4: 20d6 movs r0, #214 ; 0xd6 80813c6: f7d2 ff99 bl 80542fc LCD_DisplayString(230, LCD_LINE_5, (char *) pNUMS[roll_iee]); 80813ca: f897 33b1 ldrb.w r3, [r7, #945] ; 0x3b1 80813ce: b2db uxtb r3, r3 80813d0: 461a mov r2, r3 80813d2: 4b49 ldr r3, [pc, #292] ; (80814f8 ) 80813d4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80813d8: 461a mov r2, r3 80813da: 215a movs r1, #90 ; 0x5a 80813dc: 20e6 movs r0, #230 ; 0xe6 80813de: f7d2 ff8d bl 80542fc LCD_DisplayString(246, LCD_LINE_5, "."); 80813e2: 4a47 ldr r2, [pc, #284] ; (8081500 ) 80813e4: 215a movs r1, #90 ; 0x5a 80813e6: 20f6 movs r0, #246 ; 0xf6 80813e8: f7d2 ff88 bl 80542fc LCD_DisplayString(278, LCD_LINE_5, (char *) pNUMS[roll_iks]); 80813ec: f897 33af ldrb.w r3, [r7, #943] ; 0x3af 80813f0: b2db uxtb r3, r3 80813f2: 461a mov r2, r3 80813f4: 4b40 ldr r3, [pc, #256] ; (80814f8 ) 80813f6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80813fa: 461a mov r2, r3 80813fc: 215a movs r1, #90 ; 0x5a 80813fe: f44f 708b mov.w r0, #278 ; 0x116 8081402: f7d2 ff7b bl 80542fc LCD_DisplayString(294, LCD_LINE_5, (char *) pNUMS[roll_ikt]); 8081406: f897 33ae ldrb.w r3, [r7, #942] ; 0x3ae 808140a: b2db uxtb r3, r3 808140c: 461a mov r2, r3 808140e: 4b3a ldr r3, [pc, #232] ; (80814f8 ) 8081410: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081414: 461a mov r2, r3 8081416: 215a movs r1, #90 ; 0x5a 8081418: f44f 7093 mov.w r0, #294 ; 0x126 808141c: f7d2 ff6e bl 80542fc if(menupos == D_Roll_IES) 8081420: f001 baab b.w 808297a } else if(menupos == D_Roll_IKS) 8081424: 4b31 ldr r3, [pc, #196] ; (80814ec ) 8081426: 781b ldrb r3, [r3, #0] 8081428: b2db uxtb r3, r3 808142a: 2b0e cmp r3, #14 808142c: d16a bne.n 8081504 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808142e: 4930 ldr r1, [pc, #192] ; (80814f0 ) 8081430: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8081434: f7d2 f9ba bl 80537ac if(blk) 8081438: 4b2e ldr r3, [pc, #184] ; (80814f4 ) 808143a: 681b ldr r3, [r3, #0] 808143c: 2b00 cmp r3, #0 808143e: d00c beq.n 808145a LCD_DisplayString(278, LCD_LINE_5, (char *) pNUMS[roll_iks]); 8081440: f897 33af ldrb.w r3, [r7, #943] ; 0x3af 8081444: b2db uxtb r3, r3 8081446: 461a mov r2, r3 8081448: 4b2b ldr r3, [pc, #172] ; (80814f8 ) 808144a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808144e: 461a mov r2, r3 8081450: 215a movs r1, #90 ; 0x5a 8081452: f44f 708b mov.w r0, #278 ; 0x116 8081456: f7d2 ff51 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808145a: 4925 ldr r1, [pc, #148] ; (80814f0 ) 808145c: 4827 ldr r0, [pc, #156] ; (80814fc ) 808145e: f7d2 f9a5 bl 80537ac LCD_DisplayString(198, LCD_LINE_5, (char *) pNUMS[roll_ies]); 8081462: f897 33b3 ldrb.w r3, [r7, #947] ; 0x3b3 8081466: b2db uxtb r3, r3 8081468: 461a mov r2, r3 808146a: 4b23 ldr r3, [pc, #140] ; (80814f8 ) 808146c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081470: 461a mov r2, r3 8081472: 215a movs r1, #90 ; 0x5a 8081474: 20c6 movs r0, #198 ; 0xc6 8081476: f7d2 ff41 bl 80542fc LCD_DisplayString(214, LCD_LINE_5, (char *) pNUMS[roll_ied]); 808147a: f897 33b2 ldrb.w r3, [r7, #946] ; 0x3b2 808147e: b2db uxtb r3, r3 8081480: 461a mov r2, r3 8081482: 4b1d ldr r3, [pc, #116] ; (80814f8 ) 8081484: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081488: 461a mov r2, r3 808148a: 215a movs r1, #90 ; 0x5a 808148c: 20d6 movs r0, #214 ; 0xd6 808148e: f7d2 ff35 bl 80542fc LCD_DisplayString(230, LCD_LINE_5, (char *) pNUMS[roll_iee]); 8081492: f897 33b1 ldrb.w r3, [r7, #945] ; 0x3b1 8081496: b2db uxtb r3, r3 8081498: 461a mov r2, r3 808149a: 4b17 ldr r3, [pc, #92] ; (80814f8 ) 808149c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80814a0: 461a mov r2, r3 80814a2: 215a movs r1, #90 ; 0x5a 80814a4: 20e6 movs r0, #230 ; 0xe6 80814a6: f7d2 ff29 bl 80542fc LCD_DisplayString(246, LCD_LINE_5, "."); 80814aa: 4a15 ldr r2, [pc, #84] ; (8081500 ) 80814ac: 215a movs r1, #90 ; 0x5a 80814ae: 20f6 movs r0, #246 ; 0xf6 80814b0: f7d2 ff24 bl 80542fc LCD_DisplayString(262, LCD_LINE_5, (char *) pNUMS[roll_ikd]); 80814b4: f897 33b0 ldrb.w r3, [r7, #944] ; 0x3b0 80814b8: b2db uxtb r3, r3 80814ba: 461a mov r2, r3 80814bc: 4b0e ldr r3, [pc, #56] ; (80814f8 ) 80814be: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80814c2: 461a mov r2, r3 80814c4: 215a movs r1, #90 ; 0x5a 80814c6: f44f 7083 mov.w r0, #262 ; 0x106 80814ca: f7d2 ff17 bl 80542fc LCD_DisplayString(294, LCD_LINE_5, (char *) pNUMS[roll_ikt]); 80814ce: f897 33ae ldrb.w r3, [r7, #942] ; 0x3ae 80814d2: b2db uxtb r3, r3 80814d4: 461a mov r2, r3 80814d6: 4b08 ldr r3, [pc, #32] ; (80814f8 ) 80814d8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80814dc: 461a mov r2, r3 80814de: 215a movs r1, #90 ; 0x5a 80814e0: f44f 7093 mov.w r0, #294 ; 0x126 80814e4: f7d2 ff0a bl 80542fc if(menupos == D_Roll_IES) 80814e8: f001 ba47 b.w 808297a 80814ec: 20020070 .word 0x20020070 80814f0: ff0a0f1f .word 0xff0a0f1f 80814f4: 2002165c .word 0x2002165c 80814f8: 20020964 .word 0x20020964 80814fc: ffd8aa57 .word 0xffd8aa57 8081500: 080cf7e8 .word 0x080cf7e8 } else if(menupos == D_Roll_IKT) 8081504: 4bce ldr r3, [pc, #824] ; (8081840 ) 8081506: 781b ldrb r3, [r3, #0] 8081508: b2db uxtb r3, r3 808150a: 2b0f cmp r3, #15 808150c: f041 8235 bne.w 808297a { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8081510: 49cc ldr r1, [pc, #816] ; (8081844 ) 8081512: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8081516: f7d2 f949 bl 80537ac if(blk) 808151a: 4bcb ldr r3, [pc, #812] ; (8081848 ) 808151c: 681b ldr r3, [r3, #0] 808151e: 2b00 cmp r3, #0 8081520: d00c beq.n 808153c LCD_DisplayString(294, LCD_LINE_5, (char *) pNUMS[roll_ikt]); 8081522: f897 33ae ldrb.w r3, [r7, #942] ; 0x3ae 8081526: b2db uxtb r3, r3 8081528: 461a mov r2, r3 808152a: 4bc8 ldr r3, [pc, #800] ; (808184c ) 808152c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081530: 461a mov r2, r3 8081532: 215a movs r1, #90 ; 0x5a 8081534: f44f 7093 mov.w r0, #294 ; 0x126 8081538: f7d2 fee0 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808153c: 49c1 ldr r1, [pc, #772] ; (8081844 ) 808153e: 48c4 ldr r0, [pc, #784] ; (8081850 ) 8081540: f7d2 f934 bl 80537ac LCD_DisplayString(198, LCD_LINE_5, (char *) pNUMS[roll_ies]); 8081544: f897 33b3 ldrb.w r3, [r7, #947] ; 0x3b3 8081548: b2db uxtb r3, r3 808154a: 461a mov r2, r3 808154c: 4bbf ldr r3, [pc, #764] ; (808184c ) 808154e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081552: 461a mov r2, r3 8081554: 215a movs r1, #90 ; 0x5a 8081556: 20c6 movs r0, #198 ; 0xc6 8081558: f7d2 fed0 bl 80542fc LCD_DisplayString(214, LCD_LINE_5, (char *) pNUMS[roll_ied]); 808155c: f897 33b2 ldrb.w r3, [r7, #946] ; 0x3b2 8081560: b2db uxtb r3, r3 8081562: 461a mov r2, r3 8081564: 4bb9 ldr r3, [pc, #740] ; (808184c ) 8081566: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808156a: 461a mov r2, r3 808156c: 215a movs r1, #90 ; 0x5a 808156e: 20d6 movs r0, #214 ; 0xd6 8081570: f7d2 fec4 bl 80542fc LCD_DisplayString(230, LCD_LINE_5, (char *) pNUMS[roll_iee]); 8081574: f897 33b1 ldrb.w r3, [r7, #945] ; 0x3b1 8081578: b2db uxtb r3, r3 808157a: 461a mov r2, r3 808157c: 4bb3 ldr r3, [pc, #716] ; (808184c ) 808157e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081582: 461a mov r2, r3 8081584: 215a movs r1, #90 ; 0x5a 8081586: 20e6 movs r0, #230 ; 0xe6 8081588: f7d2 feb8 bl 80542fc LCD_DisplayString(246, LCD_LINE_5, "."); 808158c: 4ab1 ldr r2, [pc, #708] ; (8081854 ) 808158e: 215a movs r1, #90 ; 0x5a 8081590: 20f6 movs r0, #246 ; 0xf6 8081592: f7d2 feb3 bl 80542fc LCD_DisplayString(262, LCD_LINE_5, (char *) pNUMS[roll_ikd]); 8081596: f897 33b0 ldrb.w r3, [r7, #944] ; 0x3b0 808159a: b2db uxtb r3, r3 808159c: 461a mov r2, r3 808159e: 4bab ldr r3, [pc, #684] ; (808184c ) 80815a0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80815a4: 461a mov r2, r3 80815a6: 215a movs r1, #90 ; 0x5a 80815a8: f44f 7083 mov.w r0, #262 ; 0x106 80815ac: f7d2 fea6 bl 80542fc LCD_DisplayString(278, LCD_LINE_5, (char *) pNUMS[roll_iks]); 80815b0: f897 33af ldrb.w r3, [r7, #943] ; 0x3af 80815b4: b2db uxtb r3, r3 80815b6: 461a mov r2, r3 80815b8: 4ba4 ldr r3, [pc, #656] ; (808184c ) 80815ba: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80815be: 461a mov r2, r3 80815c0: 215a movs r1, #90 ; 0x5a 80815c2: f44f 708b mov.w r0, #278 ; 0x116 80815c6: f7d2 fe99 bl 80542fc if(menupos == D_Roll_IES) 80815ca: f001 b9d6 b.w 808297a } } else if((menupos >= D_Outer_IES) && (menupos <= D_Outer_IKT)) 80815ce: 4b9c ldr r3, [pc, #624] ; (8081840 ) 80815d0: 781b ldrb r3, [r3, #0] 80815d2: b2db uxtb r3, r3 80815d4: 2b0f cmp r3, #15 80815d6: f240 826c bls.w 8081ab2 80815da: 4b99 ldr r3, [pc, #612] ; (8081840 ) 80815dc: 781b ldrb r3, [r3, #0] 80815de: b2db uxtb r3, r3 80815e0: 2b15 cmp r3, #21 80815e2: f200 8266 bhi.w 8081ab2 { if(menupos == D_Outer_IES) 80815e6: 4b96 ldr r3, [pc, #600] ; (8081840 ) 80815e8: 781b ldrb r3, [r3, #0] 80815ea: b2db uxtb r3, r3 80815ec: 2b10 cmp r3, #16 80815ee: d15e bne.n 80816ae { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80815f0: 4994 ldr r1, [pc, #592] ; (8081844 ) 80815f2: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80815f6: f7d2 f8d9 bl 80537ac if(blk) 80815fa: 4b93 ldr r3, [pc, #588] ; (8081848 ) 80815fc: 681b ldr r3, [r3, #0] 80815fe: 2b00 cmp r3, #0 8081600: d00b beq.n 808161a LCD_DisplayString(198, LCD_LINE_6, (char *) pNUMS[outer_ies]); 8081602: f897 33ab ldrb.w r3, [r7, #939] ; 0x3ab 8081606: b2db uxtb r3, r3 8081608: 461a mov r2, r3 808160a: 4b90 ldr r3, [pc, #576] ; (808184c ) 808160c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081610: 461a mov r2, r3 8081612: 216a movs r1, #106 ; 0x6a 8081614: 20c6 movs r0, #198 ; 0xc6 8081616: f7d2 fe71 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808161a: 498a ldr r1, [pc, #552] ; (8081844 ) 808161c: 488c ldr r0, [pc, #560] ; (8081850 ) 808161e: f7d2 f8c5 bl 80537ac LCD_DisplayString(214, LCD_LINE_6, (char *) pNUMS[outer_ied]); 8081622: f897 33aa ldrb.w r3, [r7, #938] ; 0x3aa 8081626: b2db uxtb r3, r3 8081628: 461a mov r2, r3 808162a: 4b88 ldr r3, [pc, #544] ; (808184c ) 808162c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081630: 461a mov r2, r3 8081632: 216a movs r1, #106 ; 0x6a 8081634: 20d6 movs r0, #214 ; 0xd6 8081636: f7d2 fe61 bl 80542fc LCD_DisplayString(230, LCD_LINE_6, (char *) pNUMS[outer_iee]); 808163a: f897 33a9 ldrb.w r3, [r7, #937] ; 0x3a9 808163e: b2db uxtb r3, r3 8081640: 461a mov r2, r3 8081642: 4b82 ldr r3, [pc, #520] ; (808184c ) 8081644: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081648: 461a mov r2, r3 808164a: 216a movs r1, #106 ; 0x6a 808164c: 20e6 movs r0, #230 ; 0xe6 808164e: f7d2 fe55 bl 80542fc LCD_DisplayString(246, LCD_LINE_6, "."); 8081652: 4a80 ldr r2, [pc, #512] ; (8081854 ) 8081654: 216a movs r1, #106 ; 0x6a 8081656: 20f6 movs r0, #246 ; 0xf6 8081658: f7d2 fe50 bl 80542fc LCD_DisplayString(262, LCD_LINE_6, (char *) pNUMS[outer_ikd]); 808165c: f897 33a8 ldrb.w r3, [r7, #936] ; 0x3a8 8081660: b2db uxtb r3, r3 8081662: 461a mov r2, r3 8081664: 4b79 ldr r3, [pc, #484] ; (808184c ) 8081666: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808166a: 461a mov r2, r3 808166c: 216a movs r1, #106 ; 0x6a 808166e: f44f 7083 mov.w r0, #262 ; 0x106 8081672: f7d2 fe43 bl 80542fc LCD_DisplayString(278, LCD_LINE_6, (char *) pNUMS[outer_iks]); 8081676: f897 33a7 ldrb.w r3, [r7, #935] ; 0x3a7 808167a: b2db uxtb r3, r3 808167c: 461a mov r2, r3 808167e: 4b73 ldr r3, [pc, #460] ; (808184c ) 8081680: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081684: 461a mov r2, r3 8081686: 216a movs r1, #106 ; 0x6a 8081688: f44f 708b mov.w r0, #278 ; 0x116 808168c: f7d2 fe36 bl 80542fc LCD_DisplayString(294, LCD_LINE_6, (char *) pNUMS[outer_ikt]); 8081690: f897 33a6 ldrb.w r3, [r7, #934] ; 0x3a6 8081694: b2db uxtb r3, r3 8081696: 461a mov r2, r3 8081698: 4b6c ldr r3, [pc, #432] ; (808184c ) 808169a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808169e: 461a mov r2, r3 80816a0: 216a movs r1, #106 ; 0x6a 80816a2: f44f 7093 mov.w r0, #294 ; 0x126 80816a6: f7d2 fe29 bl 80542fc if(menupos == D_Outer_IES) 80816aa: f001 b968 b.w 808297e } else if(menupos == D_Outer_IED) 80816ae: 4b64 ldr r3, [pc, #400] ; (8081840 ) 80816b0: 781b ldrb r3, [r3, #0] 80816b2: b2db uxtb r3, r3 80816b4: 2b11 cmp r3, #17 80816b6: d15e bne.n 8081776 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80816b8: 4962 ldr r1, [pc, #392] ; (8081844 ) 80816ba: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80816be: f7d2 f875 bl 80537ac if(blk) 80816c2: 4b61 ldr r3, [pc, #388] ; (8081848 ) 80816c4: 681b ldr r3, [r3, #0] 80816c6: 2b00 cmp r3, #0 80816c8: d00b beq.n 80816e2 LCD_DisplayString(214, LCD_LINE_6, (char *) pNUMS[outer_ied]); 80816ca: f897 33aa ldrb.w r3, [r7, #938] ; 0x3aa 80816ce: b2db uxtb r3, r3 80816d0: 461a mov r2, r3 80816d2: 4b5e ldr r3, [pc, #376] ; (808184c ) 80816d4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80816d8: 461a mov r2, r3 80816da: 216a movs r1, #106 ; 0x6a 80816dc: 20d6 movs r0, #214 ; 0xd6 80816de: f7d2 fe0d bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80816e2: 4958 ldr r1, [pc, #352] ; (8081844 ) 80816e4: 485a ldr r0, [pc, #360] ; (8081850 ) 80816e6: f7d2 f861 bl 80537ac LCD_DisplayString(198, LCD_LINE_6, (char *) pNUMS[outer_ies]); 80816ea: f897 33ab ldrb.w r3, [r7, #939] ; 0x3ab 80816ee: b2db uxtb r3, r3 80816f0: 461a mov r2, r3 80816f2: 4b56 ldr r3, [pc, #344] ; (808184c ) 80816f4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80816f8: 461a mov r2, r3 80816fa: 216a movs r1, #106 ; 0x6a 80816fc: 20c6 movs r0, #198 ; 0xc6 80816fe: f7d2 fdfd bl 80542fc LCD_DisplayString(230, LCD_LINE_6, (char *) pNUMS[outer_iee]); 8081702: f897 33a9 ldrb.w r3, [r7, #937] ; 0x3a9 8081706: b2db uxtb r3, r3 8081708: 461a mov r2, r3 808170a: 4b50 ldr r3, [pc, #320] ; (808184c ) 808170c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081710: 461a mov r2, r3 8081712: 216a movs r1, #106 ; 0x6a 8081714: 20e6 movs r0, #230 ; 0xe6 8081716: f7d2 fdf1 bl 80542fc LCD_DisplayString(246, LCD_LINE_6, "."); 808171a: 4a4e ldr r2, [pc, #312] ; (8081854 ) 808171c: 216a movs r1, #106 ; 0x6a 808171e: 20f6 movs r0, #246 ; 0xf6 8081720: f7d2 fdec bl 80542fc LCD_DisplayString(262, LCD_LINE_6, (char *) pNUMS[outer_ikd]); 8081724: f897 33a8 ldrb.w r3, [r7, #936] ; 0x3a8 8081728: b2db uxtb r3, r3 808172a: 461a mov r2, r3 808172c: 4b47 ldr r3, [pc, #284] ; (808184c ) 808172e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081732: 461a mov r2, r3 8081734: 216a movs r1, #106 ; 0x6a 8081736: f44f 7083 mov.w r0, #262 ; 0x106 808173a: f7d2 fddf bl 80542fc LCD_DisplayString(278, LCD_LINE_6, (char *) pNUMS[outer_iks]); 808173e: f897 33a7 ldrb.w r3, [r7, #935] ; 0x3a7 8081742: b2db uxtb r3, r3 8081744: 461a mov r2, r3 8081746: 4b41 ldr r3, [pc, #260] ; (808184c ) 8081748: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808174c: 461a mov r2, r3 808174e: 216a movs r1, #106 ; 0x6a 8081750: f44f 708b mov.w r0, #278 ; 0x116 8081754: f7d2 fdd2 bl 80542fc LCD_DisplayString(294, LCD_LINE_6, (char *) pNUMS[outer_ikt]); 8081758: f897 33a6 ldrb.w r3, [r7, #934] ; 0x3a6 808175c: b2db uxtb r3, r3 808175e: 461a mov r2, r3 8081760: 4b3a ldr r3, [pc, #232] ; (808184c ) 8081762: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081766: 461a mov r2, r3 8081768: 216a movs r1, #106 ; 0x6a 808176a: f44f 7093 mov.w r0, #294 ; 0x126 808176e: f7d2 fdc5 bl 80542fc if(menupos == D_Outer_IES) 8081772: f001 b904 b.w 808297e } else if(menupos == D_Outer_IEE) 8081776: 4b32 ldr r3, [pc, #200] ; (8081840 ) 8081778: 781b ldrb r3, [r3, #0] 808177a: b2db uxtb r3, r3 808177c: 2b12 cmp r3, #18 808177e: d16b bne.n 8081858 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8081780: 4930 ldr r1, [pc, #192] ; (8081844 ) 8081782: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8081786: f7d2 f811 bl 80537ac if(blk) 808178a: 4b2f ldr r3, [pc, #188] ; (8081848 ) 808178c: 681b ldr r3, [r3, #0] 808178e: 2b00 cmp r3, #0 8081790: d00b beq.n 80817aa LCD_DisplayString(230, LCD_LINE_6, (char *) pNUMS[outer_iee]); 8081792: f897 33a9 ldrb.w r3, [r7, #937] ; 0x3a9 8081796: b2db uxtb r3, r3 8081798: 461a mov r2, r3 808179a: 4b2c ldr r3, [pc, #176] ; (808184c ) 808179c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80817a0: 461a mov r2, r3 80817a2: 216a movs r1, #106 ; 0x6a 80817a4: 20e6 movs r0, #230 ; 0xe6 80817a6: f7d2 fda9 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80817aa: 4926 ldr r1, [pc, #152] ; (8081844 ) 80817ac: 4828 ldr r0, [pc, #160] ; (8081850 ) 80817ae: f7d1 fffd bl 80537ac LCD_DisplayString(198, LCD_LINE_6, (char *) pNUMS[outer_ies]); 80817b2: f897 33ab ldrb.w r3, [r7, #939] ; 0x3ab 80817b6: b2db uxtb r3, r3 80817b8: 461a mov r2, r3 80817ba: 4b24 ldr r3, [pc, #144] ; (808184c ) 80817bc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80817c0: 461a mov r2, r3 80817c2: 216a movs r1, #106 ; 0x6a 80817c4: 20c6 movs r0, #198 ; 0xc6 80817c6: f7d2 fd99 bl 80542fc LCD_DisplayString(214, LCD_LINE_6, (char *) pNUMS[outer_ied]); 80817ca: f897 33aa ldrb.w r3, [r7, #938] ; 0x3aa 80817ce: b2db uxtb r3, r3 80817d0: 461a mov r2, r3 80817d2: 4b1e ldr r3, [pc, #120] ; (808184c ) 80817d4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80817d8: 461a mov r2, r3 80817da: 216a movs r1, #106 ; 0x6a 80817dc: 20d6 movs r0, #214 ; 0xd6 80817de: f7d2 fd8d bl 80542fc LCD_DisplayString(246, LCD_LINE_6, "."); 80817e2: 4a1c ldr r2, [pc, #112] ; (8081854 ) 80817e4: 216a movs r1, #106 ; 0x6a 80817e6: 20f6 movs r0, #246 ; 0xf6 80817e8: f7d2 fd88 bl 80542fc LCD_DisplayString(262, LCD_LINE_6, (char *) pNUMS[outer_ikd]); 80817ec: f897 33a8 ldrb.w r3, [r7, #936] ; 0x3a8 80817f0: b2db uxtb r3, r3 80817f2: 461a mov r2, r3 80817f4: 4b15 ldr r3, [pc, #84] ; (808184c ) 80817f6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80817fa: 461a mov r2, r3 80817fc: 216a movs r1, #106 ; 0x6a 80817fe: f44f 7083 mov.w r0, #262 ; 0x106 8081802: f7d2 fd7b bl 80542fc LCD_DisplayString(278, LCD_LINE_6, (char *) pNUMS[outer_iks]); 8081806: f897 33a7 ldrb.w r3, [r7, #935] ; 0x3a7 808180a: b2db uxtb r3, r3 808180c: 461a mov r2, r3 808180e: 4b0f ldr r3, [pc, #60] ; (808184c ) 8081810: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081814: 461a mov r2, r3 8081816: 216a movs r1, #106 ; 0x6a 8081818: f44f 708b mov.w r0, #278 ; 0x116 808181c: f7d2 fd6e bl 80542fc LCD_DisplayString(294, LCD_LINE_6, (char *) pNUMS[outer_ikt]); 8081820: f897 33a6 ldrb.w r3, [r7, #934] ; 0x3a6 8081824: b2db uxtb r3, r3 8081826: 461a mov r2, r3 8081828: 4b08 ldr r3, [pc, #32] ; (808184c ) 808182a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808182e: 461a mov r2, r3 8081830: 216a movs r1, #106 ; 0x6a 8081832: f44f 7093 mov.w r0, #294 ; 0x126 8081836: f7d2 fd61 bl 80542fc if(menupos == D_Outer_IES) 808183a: f001 b8a0 b.w 808297e 808183e: bf00 nop 8081840: 20020070 .word 0x20020070 8081844: ff0a0f1f .word 0xff0a0f1f 8081848: 2002165c .word 0x2002165c 808184c: 20020964 .word 0x20020964 8081850: ffd8aa57 .word 0xffd8aa57 8081854: 080cf7e8 .word 0x080cf7e8 } else if(menupos == D_Outer_IKD) 8081858: 4bce ldr r3, [pc, #824] ; (8081b94 ) 808185a: 781b ldrb r3, [r3, #0] 808185c: b2db uxtb r3, r3 808185e: 2b13 cmp r3, #19 8081860: d15e bne.n 8081920 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8081862: 49cd ldr r1, [pc, #820] ; (8081b98 ) 8081864: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8081868: f7d1 ffa0 bl 80537ac if(blk) 808186c: 4bcb ldr r3, [pc, #812] ; (8081b9c ) 808186e: 681b ldr r3, [r3, #0] 8081870: 2b00 cmp r3, #0 8081872: d00c beq.n 808188e LCD_DisplayString(262, LCD_LINE_6, (char *) pNUMS[outer_ikd]); 8081874: f897 33a8 ldrb.w r3, [r7, #936] ; 0x3a8 8081878: b2db uxtb r3, r3 808187a: 461a mov r2, r3 808187c: 4bc8 ldr r3, [pc, #800] ; (8081ba0 ) 808187e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081882: 461a mov r2, r3 8081884: 216a movs r1, #106 ; 0x6a 8081886: f44f 7083 mov.w r0, #262 ; 0x106 808188a: f7d2 fd37 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808188e: 49c2 ldr r1, [pc, #776] ; (8081b98 ) 8081890: 48c4 ldr r0, [pc, #784] ; (8081ba4 ) 8081892: f7d1 ff8b bl 80537ac LCD_DisplayString(198, LCD_LINE_6, (char *) pNUMS[outer_ies]); 8081896: f897 33ab ldrb.w r3, [r7, #939] ; 0x3ab 808189a: b2db uxtb r3, r3 808189c: 461a mov r2, r3 808189e: 4bc0 ldr r3, [pc, #768] ; (8081ba0 ) 80818a0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80818a4: 461a mov r2, r3 80818a6: 216a movs r1, #106 ; 0x6a 80818a8: 20c6 movs r0, #198 ; 0xc6 80818aa: f7d2 fd27 bl 80542fc LCD_DisplayString(214, LCD_LINE_6, (char *) pNUMS[outer_ied]); 80818ae: f897 33aa ldrb.w r3, [r7, #938] ; 0x3aa 80818b2: b2db uxtb r3, r3 80818b4: 461a mov r2, r3 80818b6: 4bba ldr r3, [pc, #744] ; (8081ba0 ) 80818b8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80818bc: 461a mov r2, r3 80818be: 216a movs r1, #106 ; 0x6a 80818c0: 20d6 movs r0, #214 ; 0xd6 80818c2: f7d2 fd1b bl 80542fc LCD_DisplayString(230, LCD_LINE_6, (char *) pNUMS[outer_iee]); 80818c6: f897 33a9 ldrb.w r3, [r7, #937] ; 0x3a9 80818ca: b2db uxtb r3, r3 80818cc: 461a mov r2, r3 80818ce: 4bb4 ldr r3, [pc, #720] ; (8081ba0 ) 80818d0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80818d4: 461a mov r2, r3 80818d6: 216a movs r1, #106 ; 0x6a 80818d8: 20e6 movs r0, #230 ; 0xe6 80818da: f7d2 fd0f bl 80542fc LCD_DisplayString(246, LCD_LINE_6, "."); 80818de: 4ab2 ldr r2, [pc, #712] ; (8081ba8 ) 80818e0: 216a movs r1, #106 ; 0x6a 80818e2: 20f6 movs r0, #246 ; 0xf6 80818e4: f7d2 fd0a bl 80542fc LCD_DisplayString(278, LCD_LINE_6, (char *) pNUMS[outer_iks]); 80818e8: f897 33a7 ldrb.w r3, [r7, #935] ; 0x3a7 80818ec: b2db uxtb r3, r3 80818ee: 461a mov r2, r3 80818f0: 4bab ldr r3, [pc, #684] ; (8081ba0 ) 80818f2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80818f6: 461a mov r2, r3 80818f8: 216a movs r1, #106 ; 0x6a 80818fa: f44f 708b mov.w r0, #278 ; 0x116 80818fe: f7d2 fcfd bl 80542fc LCD_DisplayString(294, LCD_LINE_6, (char *) pNUMS[outer_ikt]); 8081902: f897 33a6 ldrb.w r3, [r7, #934] ; 0x3a6 8081906: b2db uxtb r3, r3 8081908: 461a mov r2, r3 808190a: 4ba5 ldr r3, [pc, #660] ; (8081ba0 ) 808190c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081910: 461a mov r2, r3 8081912: 216a movs r1, #106 ; 0x6a 8081914: f44f 7093 mov.w r0, #294 ; 0x126 8081918: f7d2 fcf0 bl 80542fc if(menupos == D_Outer_IES) 808191c: f001 b82f b.w 808297e } else if(menupos == D_Outer_IKS) 8081920: 4b9c ldr r3, [pc, #624] ; (8081b94 ) 8081922: 781b ldrb r3, [r3, #0] 8081924: b2db uxtb r3, r3 8081926: 2b14 cmp r3, #20 8081928: d15e bne.n 80819e8 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808192a: 499b ldr r1, [pc, #620] ; (8081b98 ) 808192c: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8081930: f7d1 ff3c bl 80537ac if(blk) 8081934: 4b99 ldr r3, [pc, #612] ; (8081b9c ) 8081936: 681b ldr r3, [r3, #0] 8081938: 2b00 cmp r3, #0 808193a: d00c beq.n 8081956 LCD_DisplayString(278, LCD_LINE_6, (char *) pNUMS[outer_iks]); 808193c: f897 33a7 ldrb.w r3, [r7, #935] ; 0x3a7 8081940: b2db uxtb r3, r3 8081942: 461a mov r2, r3 8081944: 4b96 ldr r3, [pc, #600] ; (8081ba0 ) 8081946: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808194a: 461a mov r2, r3 808194c: 216a movs r1, #106 ; 0x6a 808194e: f44f 708b mov.w r0, #278 ; 0x116 8081952: f7d2 fcd3 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8081956: 4990 ldr r1, [pc, #576] ; (8081b98 ) 8081958: 4892 ldr r0, [pc, #584] ; (8081ba4 ) 808195a: f7d1 ff27 bl 80537ac LCD_DisplayString(198, LCD_LINE_6, (char *) pNUMS[outer_ies]); 808195e: f897 33ab ldrb.w r3, [r7, #939] ; 0x3ab 8081962: b2db uxtb r3, r3 8081964: 461a mov r2, r3 8081966: 4b8e ldr r3, [pc, #568] ; (8081ba0 ) 8081968: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808196c: 461a mov r2, r3 808196e: 216a movs r1, #106 ; 0x6a 8081970: 20c6 movs r0, #198 ; 0xc6 8081972: f7d2 fcc3 bl 80542fc LCD_DisplayString(214, LCD_LINE_6, (char *) pNUMS[outer_ied]); 8081976: f897 33aa ldrb.w r3, [r7, #938] ; 0x3aa 808197a: b2db uxtb r3, r3 808197c: 461a mov r2, r3 808197e: 4b88 ldr r3, [pc, #544] ; (8081ba0 ) 8081980: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081984: 461a mov r2, r3 8081986: 216a movs r1, #106 ; 0x6a 8081988: 20d6 movs r0, #214 ; 0xd6 808198a: f7d2 fcb7 bl 80542fc LCD_DisplayString(230, LCD_LINE_6, (char *) pNUMS[outer_iee]); 808198e: f897 33a9 ldrb.w r3, [r7, #937] ; 0x3a9 8081992: b2db uxtb r3, r3 8081994: 461a mov r2, r3 8081996: 4b82 ldr r3, [pc, #520] ; (8081ba0 ) 8081998: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808199c: 461a mov r2, r3 808199e: 216a movs r1, #106 ; 0x6a 80819a0: 20e6 movs r0, #230 ; 0xe6 80819a2: f7d2 fcab bl 80542fc LCD_DisplayString(246, LCD_LINE_6, "."); 80819a6: 4a80 ldr r2, [pc, #512] ; (8081ba8 ) 80819a8: 216a movs r1, #106 ; 0x6a 80819aa: 20f6 movs r0, #246 ; 0xf6 80819ac: f7d2 fca6 bl 80542fc LCD_DisplayString(262, LCD_LINE_6, (char *) pNUMS[outer_ikd]); 80819b0: f897 33a8 ldrb.w r3, [r7, #936] ; 0x3a8 80819b4: b2db uxtb r3, r3 80819b6: 461a mov r2, r3 80819b8: 4b79 ldr r3, [pc, #484] ; (8081ba0 ) 80819ba: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80819be: 461a mov r2, r3 80819c0: 216a movs r1, #106 ; 0x6a 80819c2: f44f 7083 mov.w r0, #262 ; 0x106 80819c6: f7d2 fc99 bl 80542fc LCD_DisplayString(294, LCD_LINE_6, (char *) pNUMS[outer_ikt]); 80819ca: f897 33a6 ldrb.w r3, [r7, #934] ; 0x3a6 80819ce: b2db uxtb r3, r3 80819d0: 461a mov r2, r3 80819d2: 4b73 ldr r3, [pc, #460] ; (8081ba0 ) 80819d4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80819d8: 461a mov r2, r3 80819da: 216a movs r1, #106 ; 0x6a 80819dc: f44f 7093 mov.w r0, #294 ; 0x126 80819e0: f7d2 fc8c bl 80542fc if(menupos == D_Outer_IES) 80819e4: f000 bfcb b.w 808297e } else if(menupos == D_Outer_IKT) 80819e8: 4b6a ldr r3, [pc, #424] ; (8081b94 ) 80819ea: 781b ldrb r3, [r3, #0] 80819ec: b2db uxtb r3, r3 80819ee: 2b15 cmp r3, #21 80819f0: f040 87c5 bne.w 808297e { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80819f4: 4968 ldr r1, [pc, #416] ; (8081b98 ) 80819f6: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80819fa: f7d1 fed7 bl 80537ac if(blk) 80819fe: 4b67 ldr r3, [pc, #412] ; (8081b9c ) 8081a00: 681b ldr r3, [r3, #0] 8081a02: 2b00 cmp r3, #0 8081a04: d00c beq.n 8081a20 LCD_DisplayString(294, LCD_LINE_6, (char *) pNUMS[outer_ikt]); 8081a06: f897 33a6 ldrb.w r3, [r7, #934] ; 0x3a6 8081a0a: b2db uxtb r3, r3 8081a0c: 461a mov r2, r3 8081a0e: 4b64 ldr r3, [pc, #400] ; (8081ba0 ) 8081a10: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081a14: 461a mov r2, r3 8081a16: 216a movs r1, #106 ; 0x6a 8081a18: f44f 7093 mov.w r0, #294 ; 0x126 8081a1c: f7d2 fc6e bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8081a20: 495d ldr r1, [pc, #372] ; (8081b98 ) 8081a22: 4860 ldr r0, [pc, #384] ; (8081ba4 ) 8081a24: f7d1 fec2 bl 80537ac LCD_DisplayString(198, LCD_LINE_6, (char *) pNUMS[outer_ies]); 8081a28: f897 33ab ldrb.w r3, [r7, #939] ; 0x3ab 8081a2c: b2db uxtb r3, r3 8081a2e: 461a mov r2, r3 8081a30: 4b5b ldr r3, [pc, #364] ; (8081ba0 ) 8081a32: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081a36: 461a mov r2, r3 8081a38: 216a movs r1, #106 ; 0x6a 8081a3a: 20c6 movs r0, #198 ; 0xc6 8081a3c: f7d2 fc5e bl 80542fc LCD_DisplayString(214, LCD_LINE_6, (char *) pNUMS[outer_ied]); 8081a40: f897 33aa ldrb.w r3, [r7, #938] ; 0x3aa 8081a44: b2db uxtb r3, r3 8081a46: 461a mov r2, r3 8081a48: 4b55 ldr r3, [pc, #340] ; (8081ba0 ) 8081a4a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081a4e: 461a mov r2, r3 8081a50: 216a movs r1, #106 ; 0x6a 8081a52: 20d6 movs r0, #214 ; 0xd6 8081a54: f7d2 fc52 bl 80542fc LCD_DisplayString(230, LCD_LINE_6, (char *) pNUMS[outer_iee]); 8081a58: f897 33a9 ldrb.w r3, [r7, #937] ; 0x3a9 8081a5c: b2db uxtb r3, r3 8081a5e: 461a mov r2, r3 8081a60: 4b4f ldr r3, [pc, #316] ; (8081ba0 ) 8081a62: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081a66: 461a mov r2, r3 8081a68: 216a movs r1, #106 ; 0x6a 8081a6a: 20e6 movs r0, #230 ; 0xe6 8081a6c: f7d2 fc46 bl 80542fc LCD_DisplayString(246, LCD_LINE_6, "."); 8081a70: 4a4d ldr r2, [pc, #308] ; (8081ba8 ) 8081a72: 216a movs r1, #106 ; 0x6a 8081a74: 20f6 movs r0, #246 ; 0xf6 8081a76: f7d2 fc41 bl 80542fc LCD_DisplayString(262, LCD_LINE_6, (char *) pNUMS[outer_ikd]); 8081a7a: f897 33a8 ldrb.w r3, [r7, #936] ; 0x3a8 8081a7e: b2db uxtb r3, r3 8081a80: 461a mov r2, r3 8081a82: 4b47 ldr r3, [pc, #284] ; (8081ba0 ) 8081a84: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081a88: 461a mov r2, r3 8081a8a: 216a movs r1, #106 ; 0x6a 8081a8c: f44f 7083 mov.w r0, #262 ; 0x106 8081a90: f7d2 fc34 bl 80542fc LCD_DisplayString(278, LCD_LINE_6, (char *) pNUMS[outer_iks]); 8081a94: f897 33a7 ldrb.w r3, [r7, #935] ; 0x3a7 8081a98: b2db uxtb r3, r3 8081a9a: 461a mov r2, r3 8081a9c: 4b40 ldr r3, [pc, #256] ; (8081ba0 ) 8081a9e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081aa2: 461a mov r2, r3 8081aa4: 216a movs r1, #106 ; 0x6a 8081aa6: f44f 708b mov.w r0, #278 ; 0x116 8081aaa: f7d2 fc27 bl 80542fc if(menupos == D_Outer_IES) 8081aae: f000 bf66 b.w 808297e } } else if((menupos >= D_Inner_IES) && (menupos <= D_Inner_IKT)) 8081ab2: 4b38 ldr r3, [pc, #224] ; (8081b94 ) 8081ab4: 781b ldrb r3, [r3, #0] 8081ab6: b2db uxtb r3, r3 8081ab8: 2b15 cmp r3, #21 8081aba: f240 8278 bls.w 8081fae 8081abe: 4b35 ldr r3, [pc, #212] ; (8081b94 ) 8081ac0: 781b ldrb r3, [r3, #0] 8081ac2: b2db uxtb r3, r3 8081ac4: 2b1b cmp r3, #27 8081ac6: f200 8272 bhi.w 8081fae { if(menupos == D_Inner_IES) 8081aca: 4b32 ldr r3, [pc, #200] ; (8081b94 ) 8081acc: 781b ldrb r3, [r3, #0] 8081ace: b2db uxtb r3, r3 8081ad0: 2b16 cmp r3, #22 8081ad2: d16b bne.n 8081bac { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8081ad4: 4930 ldr r1, [pc, #192] ; (8081b98 ) 8081ad6: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8081ada: f7d1 fe67 bl 80537ac if(blk) 8081ade: 4b2f ldr r3, [pc, #188] ; (8081b9c ) 8081ae0: 681b ldr r3, [r3, #0] 8081ae2: 2b00 cmp r3, #0 8081ae4: d00b beq.n 8081afe LCD_DisplayString(198, LCD_LINE_7, (char *) pNUMS[inner_ies]); 8081ae6: f897 33a3 ldrb.w r3, [r7, #931] ; 0x3a3 8081aea: b2db uxtb r3, r3 8081aec: 461a mov r2, r3 8081aee: 4b2c ldr r3, [pc, #176] ; (8081ba0 ) 8081af0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081af4: 461a mov r2, r3 8081af6: 217a movs r1, #122 ; 0x7a 8081af8: 20c6 movs r0, #198 ; 0xc6 8081afa: f7d2 fbff bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8081afe: 4926 ldr r1, [pc, #152] ; (8081b98 ) 8081b00: 4828 ldr r0, [pc, #160] ; (8081ba4 ) 8081b02: f7d1 fe53 bl 80537ac LCD_DisplayString(214, LCD_LINE_7, (char *) pNUMS[inner_ied]); 8081b06: f897 33a2 ldrb.w r3, [r7, #930] ; 0x3a2 8081b0a: b2db uxtb r3, r3 8081b0c: 461a mov r2, r3 8081b0e: 4b24 ldr r3, [pc, #144] ; (8081ba0 ) 8081b10: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081b14: 461a mov r2, r3 8081b16: 217a movs r1, #122 ; 0x7a 8081b18: 20d6 movs r0, #214 ; 0xd6 8081b1a: f7d2 fbef bl 80542fc LCD_DisplayString(230, LCD_LINE_7, (char *) pNUMS[inner_iee]); 8081b1e: f897 33a1 ldrb.w r3, [r7, #929] ; 0x3a1 8081b22: b2db uxtb r3, r3 8081b24: 461a mov r2, r3 8081b26: 4b1e ldr r3, [pc, #120] ; (8081ba0 ) 8081b28: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081b2c: 461a mov r2, r3 8081b2e: 217a movs r1, #122 ; 0x7a 8081b30: 20e6 movs r0, #230 ; 0xe6 8081b32: f7d2 fbe3 bl 80542fc LCD_DisplayString(246, LCD_LINE_7, "."); 8081b36: 4a1c ldr r2, [pc, #112] ; (8081ba8 ) 8081b38: 217a movs r1, #122 ; 0x7a 8081b3a: 20f6 movs r0, #246 ; 0xf6 8081b3c: f7d2 fbde bl 80542fc LCD_DisplayString(262, LCD_LINE_7, (char *) pNUMS[inner_ikd]); 8081b40: f897 33a0 ldrb.w r3, [r7, #928] ; 0x3a0 8081b44: b2db uxtb r3, r3 8081b46: 461a mov r2, r3 8081b48: 4b15 ldr r3, [pc, #84] ; (8081ba0 ) 8081b4a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081b4e: 461a mov r2, r3 8081b50: 217a movs r1, #122 ; 0x7a 8081b52: f44f 7083 mov.w r0, #262 ; 0x106 8081b56: f7d2 fbd1 bl 80542fc LCD_DisplayString(278, LCD_LINE_7, (char *) pNUMS[inner_iks]); 8081b5a: f897 339f ldrb.w r3, [r7, #927] ; 0x39f 8081b5e: b2db uxtb r3, r3 8081b60: 461a mov r2, r3 8081b62: 4b0f ldr r3, [pc, #60] ; (8081ba0 ) 8081b64: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081b68: 461a mov r2, r3 8081b6a: 217a movs r1, #122 ; 0x7a 8081b6c: f44f 708b mov.w r0, #278 ; 0x116 8081b70: f7d2 fbc4 bl 80542fc LCD_DisplayString(294, LCD_LINE_7, (char *) pNUMS[inner_ikt]); 8081b74: f897 339e ldrb.w r3, [r7, #926] ; 0x39e 8081b78: b2db uxtb r3, r3 8081b7a: 461a mov r2, r3 8081b7c: 4b08 ldr r3, [pc, #32] ; (8081ba0 ) 8081b7e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081b82: 461a mov r2, r3 8081b84: 217a movs r1, #122 ; 0x7a 8081b86: f44f 7093 mov.w r0, #294 ; 0x126 8081b8a: f7d2 fbb7 bl 80542fc if(menupos == D_Inner_IES) 8081b8e: f000 bef8 b.w 8082982 8081b92: bf00 nop 8081b94: 20020070 .word 0x20020070 8081b98: ff0a0f1f .word 0xff0a0f1f 8081b9c: 2002165c .word 0x2002165c 8081ba0: 20020964 .word 0x20020964 8081ba4: ffd8aa57 .word 0xffd8aa57 8081ba8: 080cf7e8 .word 0x080cf7e8 } else if(menupos == D_Inner_IED) 8081bac: 4bc7 ldr r3, [pc, #796] ; (8081ecc ) 8081bae: 781b ldrb r3, [r3, #0] 8081bb0: b2db uxtb r3, r3 8081bb2: 2b17 cmp r3, #23 8081bb4: d15e bne.n 8081c74 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8081bb6: 49c6 ldr r1, [pc, #792] ; (8081ed0 ) 8081bb8: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8081bbc: f7d1 fdf6 bl 80537ac if(blk) 8081bc0: 4bc4 ldr r3, [pc, #784] ; (8081ed4 ) 8081bc2: 681b ldr r3, [r3, #0] 8081bc4: 2b00 cmp r3, #0 8081bc6: d00b beq.n 8081be0 LCD_DisplayString(214, LCD_LINE_7, (char *) pNUMS[inner_ied]); 8081bc8: f897 33a2 ldrb.w r3, [r7, #930] ; 0x3a2 8081bcc: b2db uxtb r3, r3 8081bce: 461a mov r2, r3 8081bd0: 4bc1 ldr r3, [pc, #772] ; (8081ed8 ) 8081bd2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081bd6: 461a mov r2, r3 8081bd8: 217a movs r1, #122 ; 0x7a 8081bda: 20d6 movs r0, #214 ; 0xd6 8081bdc: f7d2 fb8e bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8081be0: 49bb ldr r1, [pc, #748] ; (8081ed0 ) 8081be2: 48be ldr r0, [pc, #760] ; (8081edc ) 8081be4: f7d1 fde2 bl 80537ac LCD_DisplayString(198, LCD_LINE_7, (char *) pNUMS[inner_ies]); 8081be8: f897 33a3 ldrb.w r3, [r7, #931] ; 0x3a3 8081bec: b2db uxtb r3, r3 8081bee: 461a mov r2, r3 8081bf0: 4bb9 ldr r3, [pc, #740] ; (8081ed8 ) 8081bf2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081bf6: 461a mov r2, r3 8081bf8: 217a movs r1, #122 ; 0x7a 8081bfa: 20c6 movs r0, #198 ; 0xc6 8081bfc: f7d2 fb7e bl 80542fc LCD_DisplayString(230, LCD_LINE_7, (char *) pNUMS[inner_iee]); 8081c00: f897 33a1 ldrb.w r3, [r7, #929] ; 0x3a1 8081c04: b2db uxtb r3, r3 8081c06: 461a mov r2, r3 8081c08: 4bb3 ldr r3, [pc, #716] ; (8081ed8 ) 8081c0a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081c0e: 461a mov r2, r3 8081c10: 217a movs r1, #122 ; 0x7a 8081c12: 20e6 movs r0, #230 ; 0xe6 8081c14: f7d2 fb72 bl 80542fc LCD_DisplayString(246, LCD_LINE_7, "."); 8081c18: 4ab1 ldr r2, [pc, #708] ; (8081ee0 ) 8081c1a: 217a movs r1, #122 ; 0x7a 8081c1c: 20f6 movs r0, #246 ; 0xf6 8081c1e: f7d2 fb6d bl 80542fc LCD_DisplayString(262, LCD_LINE_7, (char *) pNUMS[inner_ikd]); 8081c22: f897 33a0 ldrb.w r3, [r7, #928] ; 0x3a0 8081c26: b2db uxtb r3, r3 8081c28: 461a mov r2, r3 8081c2a: 4bab ldr r3, [pc, #684] ; (8081ed8 ) 8081c2c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081c30: 461a mov r2, r3 8081c32: 217a movs r1, #122 ; 0x7a 8081c34: f44f 7083 mov.w r0, #262 ; 0x106 8081c38: f7d2 fb60 bl 80542fc LCD_DisplayString(278, LCD_LINE_7, (char *) pNUMS[inner_iks]); 8081c3c: f897 339f ldrb.w r3, [r7, #927] ; 0x39f 8081c40: b2db uxtb r3, r3 8081c42: 461a mov r2, r3 8081c44: 4ba4 ldr r3, [pc, #656] ; (8081ed8 ) 8081c46: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081c4a: 461a mov r2, r3 8081c4c: 217a movs r1, #122 ; 0x7a 8081c4e: f44f 708b mov.w r0, #278 ; 0x116 8081c52: f7d2 fb53 bl 80542fc LCD_DisplayString(294, LCD_LINE_7, (char *) pNUMS[inner_ikt]); 8081c56: f897 339e ldrb.w r3, [r7, #926] ; 0x39e 8081c5a: b2db uxtb r3, r3 8081c5c: 461a mov r2, r3 8081c5e: 4b9e ldr r3, [pc, #632] ; (8081ed8 ) 8081c60: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081c64: 461a mov r2, r3 8081c66: 217a movs r1, #122 ; 0x7a 8081c68: f44f 7093 mov.w r0, #294 ; 0x126 8081c6c: f7d2 fb46 bl 80542fc if(menupos == D_Inner_IES) 8081c70: f000 be87 b.w 8082982 } else if(menupos == D_Inner_IEE) 8081c74: 4b95 ldr r3, [pc, #596] ; (8081ecc ) 8081c76: 781b ldrb r3, [r3, #0] 8081c78: b2db uxtb r3, r3 8081c7a: 2b18 cmp r3, #24 8081c7c: d15e bne.n 8081d3c { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8081c7e: 4994 ldr r1, [pc, #592] ; (8081ed0 ) 8081c80: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8081c84: f7d1 fd92 bl 80537ac if(blk) 8081c88: 4b92 ldr r3, [pc, #584] ; (8081ed4 ) 8081c8a: 681b ldr r3, [r3, #0] 8081c8c: 2b00 cmp r3, #0 8081c8e: d00b beq.n 8081ca8 LCD_DisplayString(230, LCD_LINE_7, (char *) pNUMS[inner_iee]); 8081c90: f897 33a1 ldrb.w r3, [r7, #929] ; 0x3a1 8081c94: b2db uxtb r3, r3 8081c96: 461a mov r2, r3 8081c98: 4b8f ldr r3, [pc, #572] ; (8081ed8 ) 8081c9a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081c9e: 461a mov r2, r3 8081ca0: 217a movs r1, #122 ; 0x7a 8081ca2: 20e6 movs r0, #230 ; 0xe6 8081ca4: f7d2 fb2a bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8081ca8: 4989 ldr r1, [pc, #548] ; (8081ed0 ) 8081caa: 488c ldr r0, [pc, #560] ; (8081edc ) 8081cac: f7d1 fd7e bl 80537ac LCD_DisplayString(198, LCD_LINE_7, (char *) pNUMS[inner_ies]); 8081cb0: f897 33a3 ldrb.w r3, [r7, #931] ; 0x3a3 8081cb4: b2db uxtb r3, r3 8081cb6: 461a mov r2, r3 8081cb8: 4b87 ldr r3, [pc, #540] ; (8081ed8 ) 8081cba: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081cbe: 461a mov r2, r3 8081cc0: 217a movs r1, #122 ; 0x7a 8081cc2: 20c6 movs r0, #198 ; 0xc6 8081cc4: f7d2 fb1a bl 80542fc LCD_DisplayString(214, LCD_LINE_7, (char *) pNUMS[inner_ied]); 8081cc8: f897 33a2 ldrb.w r3, [r7, #930] ; 0x3a2 8081ccc: b2db uxtb r3, r3 8081cce: 461a mov r2, r3 8081cd0: 4b81 ldr r3, [pc, #516] ; (8081ed8 ) 8081cd2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081cd6: 461a mov r2, r3 8081cd8: 217a movs r1, #122 ; 0x7a 8081cda: 20d6 movs r0, #214 ; 0xd6 8081cdc: f7d2 fb0e bl 80542fc LCD_DisplayString(246, LCD_LINE_7, "."); 8081ce0: 4a7f ldr r2, [pc, #508] ; (8081ee0 ) 8081ce2: 217a movs r1, #122 ; 0x7a 8081ce4: 20f6 movs r0, #246 ; 0xf6 8081ce6: f7d2 fb09 bl 80542fc LCD_DisplayString(262, LCD_LINE_7, (char *) pNUMS[inner_ikd]); 8081cea: f897 33a0 ldrb.w r3, [r7, #928] ; 0x3a0 8081cee: b2db uxtb r3, r3 8081cf0: 461a mov r2, r3 8081cf2: 4b79 ldr r3, [pc, #484] ; (8081ed8 ) 8081cf4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081cf8: 461a mov r2, r3 8081cfa: 217a movs r1, #122 ; 0x7a 8081cfc: f44f 7083 mov.w r0, #262 ; 0x106 8081d00: f7d2 fafc bl 80542fc LCD_DisplayString(278, LCD_LINE_7, (char *) pNUMS[inner_iks]); 8081d04: f897 339f ldrb.w r3, [r7, #927] ; 0x39f 8081d08: b2db uxtb r3, r3 8081d0a: 461a mov r2, r3 8081d0c: 4b72 ldr r3, [pc, #456] ; (8081ed8 ) 8081d0e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081d12: 461a mov r2, r3 8081d14: 217a movs r1, #122 ; 0x7a 8081d16: f44f 708b mov.w r0, #278 ; 0x116 8081d1a: f7d2 faef bl 80542fc LCD_DisplayString(294, LCD_LINE_7, (char *) pNUMS[inner_ikt]); 8081d1e: f897 339e ldrb.w r3, [r7, #926] ; 0x39e 8081d22: b2db uxtb r3, r3 8081d24: 461a mov r2, r3 8081d26: 4b6c ldr r3, [pc, #432] ; (8081ed8 ) 8081d28: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081d2c: 461a mov r2, r3 8081d2e: 217a movs r1, #122 ; 0x7a 8081d30: f44f 7093 mov.w r0, #294 ; 0x126 8081d34: f7d2 fae2 bl 80542fc if(menupos == D_Inner_IES) 8081d38: f000 be23 b.w 8082982 } else if(menupos == D_Inner_IKD) 8081d3c: 4b63 ldr r3, [pc, #396] ; (8081ecc ) 8081d3e: 781b ldrb r3, [r3, #0] 8081d40: b2db uxtb r3, r3 8081d42: 2b19 cmp r3, #25 8081d44: d15e bne.n 8081e04 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8081d46: 4962 ldr r1, [pc, #392] ; (8081ed0 ) 8081d48: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8081d4c: f7d1 fd2e bl 80537ac if(blk) 8081d50: 4b60 ldr r3, [pc, #384] ; (8081ed4 ) 8081d52: 681b ldr r3, [r3, #0] 8081d54: 2b00 cmp r3, #0 8081d56: d00c beq.n 8081d72 LCD_DisplayString(262, LCD_LINE_7, (char *) pNUMS[inner_ikd]); 8081d58: f897 33a0 ldrb.w r3, [r7, #928] ; 0x3a0 8081d5c: b2db uxtb r3, r3 8081d5e: 461a mov r2, r3 8081d60: 4b5d ldr r3, [pc, #372] ; (8081ed8 ) 8081d62: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081d66: 461a mov r2, r3 8081d68: 217a movs r1, #122 ; 0x7a 8081d6a: f44f 7083 mov.w r0, #262 ; 0x106 8081d6e: f7d2 fac5 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8081d72: 4957 ldr r1, [pc, #348] ; (8081ed0 ) 8081d74: 4859 ldr r0, [pc, #356] ; (8081edc ) 8081d76: f7d1 fd19 bl 80537ac LCD_DisplayString(198, LCD_LINE_7, (char *) pNUMS[inner_ies]); 8081d7a: f897 33a3 ldrb.w r3, [r7, #931] ; 0x3a3 8081d7e: b2db uxtb r3, r3 8081d80: 461a mov r2, r3 8081d82: 4b55 ldr r3, [pc, #340] ; (8081ed8 ) 8081d84: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081d88: 461a mov r2, r3 8081d8a: 217a movs r1, #122 ; 0x7a 8081d8c: 20c6 movs r0, #198 ; 0xc6 8081d8e: f7d2 fab5 bl 80542fc LCD_DisplayString(214, LCD_LINE_7, (char *) pNUMS[inner_ied]); 8081d92: f897 33a2 ldrb.w r3, [r7, #930] ; 0x3a2 8081d96: b2db uxtb r3, r3 8081d98: 461a mov r2, r3 8081d9a: 4b4f ldr r3, [pc, #316] ; (8081ed8 ) 8081d9c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081da0: 461a mov r2, r3 8081da2: 217a movs r1, #122 ; 0x7a 8081da4: 20d6 movs r0, #214 ; 0xd6 8081da6: f7d2 faa9 bl 80542fc LCD_DisplayString(230, LCD_LINE_7, (char *) pNUMS[inner_iee]); 8081daa: f897 33a1 ldrb.w r3, [r7, #929] ; 0x3a1 8081dae: b2db uxtb r3, r3 8081db0: 461a mov r2, r3 8081db2: 4b49 ldr r3, [pc, #292] ; (8081ed8 ) 8081db4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081db8: 461a mov r2, r3 8081dba: 217a movs r1, #122 ; 0x7a 8081dbc: 20e6 movs r0, #230 ; 0xe6 8081dbe: f7d2 fa9d bl 80542fc LCD_DisplayString(246, LCD_LINE_7, "."); 8081dc2: 4a47 ldr r2, [pc, #284] ; (8081ee0 ) 8081dc4: 217a movs r1, #122 ; 0x7a 8081dc6: 20f6 movs r0, #246 ; 0xf6 8081dc8: f7d2 fa98 bl 80542fc LCD_DisplayString(278, LCD_LINE_7, (char *) pNUMS[inner_iks]); 8081dcc: f897 339f ldrb.w r3, [r7, #927] ; 0x39f 8081dd0: b2db uxtb r3, r3 8081dd2: 461a mov r2, r3 8081dd4: 4b40 ldr r3, [pc, #256] ; (8081ed8 ) 8081dd6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081dda: 461a mov r2, r3 8081ddc: 217a movs r1, #122 ; 0x7a 8081dde: f44f 708b mov.w r0, #278 ; 0x116 8081de2: f7d2 fa8b bl 80542fc LCD_DisplayString(294, LCD_LINE_7, (char *) pNUMS[inner_ikt]); 8081de6: f897 339e ldrb.w r3, [r7, #926] ; 0x39e 8081dea: b2db uxtb r3, r3 8081dec: 461a mov r2, r3 8081dee: 4b3a ldr r3, [pc, #232] ; (8081ed8 ) 8081df0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081df4: 461a mov r2, r3 8081df6: 217a movs r1, #122 ; 0x7a 8081df8: f44f 7093 mov.w r0, #294 ; 0x126 8081dfc: f7d2 fa7e bl 80542fc if(menupos == D_Inner_IES) 8081e00: f000 bdbf b.w 8082982 } else if(menupos == D_Inner_IKS) 8081e04: 4b31 ldr r3, [pc, #196] ; (8081ecc ) 8081e06: 781b ldrb r3, [r3, #0] 8081e08: b2db uxtb r3, r3 8081e0a: 2b1a cmp r3, #26 8081e0c: d16a bne.n 8081ee4 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8081e0e: 4930 ldr r1, [pc, #192] ; (8081ed0 ) 8081e10: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8081e14: f7d1 fcca bl 80537ac if(blk) 8081e18: 4b2e ldr r3, [pc, #184] ; (8081ed4 ) 8081e1a: 681b ldr r3, [r3, #0] 8081e1c: 2b00 cmp r3, #0 8081e1e: d00c beq.n 8081e3a LCD_DisplayString(278, LCD_LINE_7, (char *) pNUMS[inner_iks]); 8081e20: f897 339f ldrb.w r3, [r7, #927] ; 0x39f 8081e24: b2db uxtb r3, r3 8081e26: 461a mov r2, r3 8081e28: 4b2b ldr r3, [pc, #172] ; (8081ed8 ) 8081e2a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081e2e: 461a mov r2, r3 8081e30: 217a movs r1, #122 ; 0x7a 8081e32: f44f 708b mov.w r0, #278 ; 0x116 8081e36: f7d2 fa61 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8081e3a: 4925 ldr r1, [pc, #148] ; (8081ed0 ) 8081e3c: 4827 ldr r0, [pc, #156] ; (8081edc ) 8081e3e: f7d1 fcb5 bl 80537ac LCD_DisplayString(198, LCD_LINE_7, (char *) pNUMS[inner_ies]); 8081e42: f897 33a3 ldrb.w r3, [r7, #931] ; 0x3a3 8081e46: b2db uxtb r3, r3 8081e48: 461a mov r2, r3 8081e4a: 4b23 ldr r3, [pc, #140] ; (8081ed8 ) 8081e4c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081e50: 461a mov r2, r3 8081e52: 217a movs r1, #122 ; 0x7a 8081e54: 20c6 movs r0, #198 ; 0xc6 8081e56: f7d2 fa51 bl 80542fc LCD_DisplayString(214, LCD_LINE_7, (char *) pNUMS[inner_ied]); 8081e5a: f897 33a2 ldrb.w r3, [r7, #930] ; 0x3a2 8081e5e: b2db uxtb r3, r3 8081e60: 461a mov r2, r3 8081e62: 4b1d ldr r3, [pc, #116] ; (8081ed8 ) 8081e64: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081e68: 461a mov r2, r3 8081e6a: 217a movs r1, #122 ; 0x7a 8081e6c: 20d6 movs r0, #214 ; 0xd6 8081e6e: f7d2 fa45 bl 80542fc LCD_DisplayString(230, LCD_LINE_7, (char *) pNUMS[inner_iee]); 8081e72: f897 33a1 ldrb.w r3, [r7, #929] ; 0x3a1 8081e76: b2db uxtb r3, r3 8081e78: 461a mov r2, r3 8081e7a: 4b17 ldr r3, [pc, #92] ; (8081ed8 ) 8081e7c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081e80: 461a mov r2, r3 8081e82: 217a movs r1, #122 ; 0x7a 8081e84: 20e6 movs r0, #230 ; 0xe6 8081e86: f7d2 fa39 bl 80542fc LCD_DisplayString(246, LCD_LINE_7, "."); 8081e8a: 4a15 ldr r2, [pc, #84] ; (8081ee0 ) 8081e8c: 217a movs r1, #122 ; 0x7a 8081e8e: 20f6 movs r0, #246 ; 0xf6 8081e90: f7d2 fa34 bl 80542fc LCD_DisplayString(262, LCD_LINE_7, (char *) pNUMS[inner_ikd]); 8081e94: f897 33a0 ldrb.w r3, [r7, #928] ; 0x3a0 8081e98: b2db uxtb r3, r3 8081e9a: 461a mov r2, r3 8081e9c: 4b0e ldr r3, [pc, #56] ; (8081ed8 ) 8081e9e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081ea2: 461a mov r2, r3 8081ea4: 217a movs r1, #122 ; 0x7a 8081ea6: f44f 7083 mov.w r0, #262 ; 0x106 8081eaa: f7d2 fa27 bl 80542fc LCD_DisplayString(294, LCD_LINE_7, (char *) pNUMS[inner_ikt]); 8081eae: f897 339e ldrb.w r3, [r7, #926] ; 0x39e 8081eb2: b2db uxtb r3, r3 8081eb4: 461a mov r2, r3 8081eb6: 4b08 ldr r3, [pc, #32] ; (8081ed8 ) 8081eb8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081ebc: 461a mov r2, r3 8081ebe: 217a movs r1, #122 ; 0x7a 8081ec0: f44f 7093 mov.w r0, #294 ; 0x126 8081ec4: f7d2 fa1a bl 80542fc if(menupos == D_Inner_IES) 8081ec8: f000 bd5b b.w 8082982 8081ecc: 20020070 .word 0x20020070 8081ed0: ff0a0f1f .word 0xff0a0f1f 8081ed4: 2002165c .word 0x2002165c 8081ed8: 20020964 .word 0x20020964 8081edc: ffd8aa57 .word 0xffd8aa57 8081ee0: 080cf7e8 .word 0x080cf7e8 } else if(menupos == D_Inner_IKT) 8081ee4: 4bcd ldr r3, [pc, #820] ; (808221c ) 8081ee6: 781b ldrb r3, [r3, #0] 8081ee8: b2db uxtb r3, r3 8081eea: 2b1b cmp r3, #27 8081eec: f040 8549 bne.w 8082982 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8081ef0: 49cb ldr r1, [pc, #812] ; (8082220 ) 8081ef2: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8081ef6: f7d1 fc59 bl 80537ac if(blk) 8081efa: 4bca ldr r3, [pc, #808] ; (8082224 ) 8081efc: 681b ldr r3, [r3, #0] 8081efe: 2b00 cmp r3, #0 8081f00: d00c beq.n 8081f1c LCD_DisplayString(294, LCD_LINE_7, (char *) pNUMS[inner_ikt]); 8081f02: f897 339e ldrb.w r3, [r7, #926] ; 0x39e 8081f06: b2db uxtb r3, r3 8081f08: 461a mov r2, r3 8081f0a: 4bc7 ldr r3, [pc, #796] ; (8082228 ) 8081f0c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081f10: 461a mov r2, r3 8081f12: 217a movs r1, #122 ; 0x7a 8081f14: f44f 7093 mov.w r0, #294 ; 0x126 8081f18: f7d2 f9f0 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8081f1c: 49c0 ldr r1, [pc, #768] ; (8082220 ) 8081f1e: 48c3 ldr r0, [pc, #780] ; (808222c ) 8081f20: f7d1 fc44 bl 80537ac LCD_DisplayString(198, LCD_LINE_7, (char *) pNUMS[inner_ies]); 8081f24: f897 33a3 ldrb.w r3, [r7, #931] ; 0x3a3 8081f28: b2db uxtb r3, r3 8081f2a: 461a mov r2, r3 8081f2c: 4bbe ldr r3, [pc, #760] ; (8082228 ) 8081f2e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081f32: 461a mov r2, r3 8081f34: 217a movs r1, #122 ; 0x7a 8081f36: 20c6 movs r0, #198 ; 0xc6 8081f38: f7d2 f9e0 bl 80542fc LCD_DisplayString(214, LCD_LINE_7, (char *) pNUMS[inner_ied]); 8081f3c: f897 33a2 ldrb.w r3, [r7, #930] ; 0x3a2 8081f40: b2db uxtb r3, r3 8081f42: 461a mov r2, r3 8081f44: 4bb8 ldr r3, [pc, #736] ; (8082228 ) 8081f46: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081f4a: 461a mov r2, r3 8081f4c: 217a movs r1, #122 ; 0x7a 8081f4e: 20d6 movs r0, #214 ; 0xd6 8081f50: f7d2 f9d4 bl 80542fc LCD_DisplayString(230, LCD_LINE_7, (char *) pNUMS[inner_iee]); 8081f54: f897 33a1 ldrb.w r3, [r7, #929] ; 0x3a1 8081f58: b2db uxtb r3, r3 8081f5a: 461a mov r2, r3 8081f5c: 4bb2 ldr r3, [pc, #712] ; (8082228 ) 8081f5e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081f62: 461a mov r2, r3 8081f64: 217a movs r1, #122 ; 0x7a 8081f66: 20e6 movs r0, #230 ; 0xe6 8081f68: f7d2 f9c8 bl 80542fc LCD_DisplayString(246, LCD_LINE_7, "."); 8081f6c: 4ab0 ldr r2, [pc, #704] ; (8082230 ) 8081f6e: 217a movs r1, #122 ; 0x7a 8081f70: 20f6 movs r0, #246 ; 0xf6 8081f72: f7d2 f9c3 bl 80542fc LCD_DisplayString(262, LCD_LINE_7, (char *) pNUMS[inner_ikd]); 8081f76: f897 33a0 ldrb.w r3, [r7, #928] ; 0x3a0 8081f7a: b2db uxtb r3, r3 8081f7c: 461a mov r2, r3 8081f7e: 4baa ldr r3, [pc, #680] ; (8082228 ) 8081f80: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081f84: 461a mov r2, r3 8081f86: 217a movs r1, #122 ; 0x7a 8081f88: f44f 7083 mov.w r0, #262 ; 0x106 8081f8c: f7d2 f9b6 bl 80542fc LCD_DisplayString(278, LCD_LINE_7, (char *) pNUMS[inner_iks]); 8081f90: f897 339f ldrb.w r3, [r7, #927] ; 0x39f 8081f94: b2db uxtb r3, r3 8081f96: 461a mov r2, r3 8081f98: 4ba3 ldr r3, [pc, #652] ; (8082228 ) 8081f9a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081f9e: 461a mov r2, r3 8081fa0: 217a movs r1, #122 ; 0x7a 8081fa2: f44f 708b mov.w r0, #278 ; 0x116 8081fa6: f7d2 f9a9 bl 80542fc if(menupos == D_Inner_IES) 8081faa: f000 bcea b.w 8082982 } } else if((menupos >= D_Angle_IES) && (menupos <= D_Angle_IKT)) 8081fae: 4b9b ldr r3, [pc, #620] ; (808221c ) 8081fb0: 781b ldrb r3, [r3, #0] 8081fb2: b2db uxtb r3, r3 8081fb4: 2b1b cmp r3, #27 8081fb6: f240 8267 bls.w 8082488 8081fba: 4b98 ldr r3, [pc, #608] ; (808221c ) 8081fbc: 781b ldrb r3, [r3, #0] 8081fbe: b2db uxtb r3, r3 8081fc0: 2b21 cmp r3, #33 ; 0x21 8081fc2: f200 8261 bhi.w 8082488 { if(menupos == D_Angle_IES) 8081fc6: 4b95 ldr r3, [pc, #596] ; (808221c ) 8081fc8: 781b ldrb r3, [r3, #0] 8081fca: b2db uxtb r3, r3 8081fcc: 2b1c cmp r3, #28 8081fce: d15e bne.n 808208e { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8081fd0: 4993 ldr r1, [pc, #588] ; (8082220 ) 8081fd2: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8081fd6: f7d1 fbe9 bl 80537ac if(blk) 8081fda: 4b92 ldr r3, [pc, #584] ; (8082224 ) 8081fdc: 681b ldr r3, [r3, #0] 8081fde: 2b00 cmp r3, #0 8081fe0: d00b beq.n 8081ffa LCD_DisplayString(198, LCD_LINE_8, (char *) pNUMS[angle_ies]); 8081fe2: f897 339b ldrb.w r3, [r7, #923] ; 0x39b 8081fe6: b2db uxtb r3, r3 8081fe8: 461a mov r2, r3 8081fea: 4b8f ldr r3, [pc, #572] ; (8082228 ) 8081fec: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081ff0: 461a mov r2, r3 8081ff2: 218a movs r1, #138 ; 0x8a 8081ff4: 20c6 movs r0, #198 ; 0xc6 8081ff6: f7d2 f981 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8081ffa: 4989 ldr r1, [pc, #548] ; (8082220 ) 8081ffc: 488b ldr r0, [pc, #556] ; (808222c ) 8081ffe: f7d1 fbd5 bl 80537ac LCD_DisplayString(214, LCD_LINE_8, (char *) pNUMS[angle_ied]); 8082002: f897 339a ldrb.w r3, [r7, #922] ; 0x39a 8082006: b2db uxtb r3, r3 8082008: 461a mov r2, r3 808200a: 4b87 ldr r3, [pc, #540] ; (8082228 ) 808200c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082010: 461a mov r2, r3 8082012: 218a movs r1, #138 ; 0x8a 8082014: 20d6 movs r0, #214 ; 0xd6 8082016: f7d2 f971 bl 80542fc LCD_DisplayString(230, LCD_LINE_8, (char *) pNUMS[angle_iee]); 808201a: f897 3399 ldrb.w r3, [r7, #921] ; 0x399 808201e: b2db uxtb r3, r3 8082020: 461a mov r2, r3 8082022: 4b81 ldr r3, [pc, #516] ; (8082228 ) 8082024: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082028: 461a mov r2, r3 808202a: 218a movs r1, #138 ; 0x8a 808202c: 20e6 movs r0, #230 ; 0xe6 808202e: f7d2 f965 bl 80542fc LCD_DisplayString(246, LCD_LINE_8, "."); 8082032: 4a7f ldr r2, [pc, #508] ; (8082230 ) 8082034: 218a movs r1, #138 ; 0x8a 8082036: 20f6 movs r0, #246 ; 0xf6 8082038: f7d2 f960 bl 80542fc LCD_DisplayString(262, LCD_LINE_8, (char *) pNUMS[angle_ikd]); 808203c: f897 3398 ldrb.w r3, [r7, #920] ; 0x398 8082040: b2db uxtb r3, r3 8082042: 461a mov r2, r3 8082044: 4b78 ldr r3, [pc, #480] ; (8082228 ) 8082046: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808204a: 461a mov r2, r3 808204c: 218a movs r1, #138 ; 0x8a 808204e: f44f 7083 mov.w r0, #262 ; 0x106 8082052: f7d2 f953 bl 80542fc LCD_DisplayString(278, LCD_LINE_8, (char *) pNUMS[angle_iks]); 8082056: f897 3397 ldrb.w r3, [r7, #919] ; 0x397 808205a: b2db uxtb r3, r3 808205c: 461a mov r2, r3 808205e: 4b72 ldr r3, [pc, #456] ; (8082228 ) 8082060: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082064: 461a mov r2, r3 8082066: 218a movs r1, #138 ; 0x8a 8082068: f44f 708b mov.w r0, #278 ; 0x116 808206c: f7d2 f946 bl 80542fc LCD_DisplayString(294, LCD_LINE_8, (char *) pNUMS[angle_ikt]); 8082070: f897 3396 ldrb.w r3, [r7, #918] ; 0x396 8082074: b2db uxtb r3, r3 8082076: 461a mov r2, r3 8082078: 4b6b ldr r3, [pc, #428] ; (8082228 ) 808207a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808207e: 461a mov r2, r3 8082080: 218a movs r1, #138 ; 0x8a 8082082: f44f 7093 mov.w r0, #294 ; 0x126 8082086: f7d2 f939 bl 80542fc if(menupos == D_Angle_IES) 808208a: f000 bc7c b.w 8082986 } else if(menupos == D_Angle_IED) 808208e: 4b63 ldr r3, [pc, #396] ; (808221c ) 8082090: 781b ldrb r3, [r3, #0] 8082092: b2db uxtb r3, r3 8082094: 2b1d cmp r3, #29 8082096: d15e bne.n 8082156 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8082098: 4961 ldr r1, [pc, #388] ; (8082220 ) 808209a: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808209e: f7d1 fb85 bl 80537ac if(blk) 80820a2: 4b60 ldr r3, [pc, #384] ; (8082224 ) 80820a4: 681b ldr r3, [r3, #0] 80820a6: 2b00 cmp r3, #0 80820a8: d00b beq.n 80820c2 LCD_DisplayString(214, LCD_LINE_8, (char *) pNUMS[angle_ied]); 80820aa: f897 339a ldrb.w r3, [r7, #922] ; 0x39a 80820ae: b2db uxtb r3, r3 80820b0: 461a mov r2, r3 80820b2: 4b5d ldr r3, [pc, #372] ; (8082228 ) 80820b4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80820b8: 461a mov r2, r3 80820ba: 218a movs r1, #138 ; 0x8a 80820bc: 20d6 movs r0, #214 ; 0xd6 80820be: f7d2 f91d bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80820c2: 4957 ldr r1, [pc, #348] ; (8082220 ) 80820c4: 4859 ldr r0, [pc, #356] ; (808222c ) 80820c6: f7d1 fb71 bl 80537ac LCD_DisplayString(198, LCD_LINE_8, (char *) pNUMS[angle_ies]); 80820ca: f897 339b ldrb.w r3, [r7, #923] ; 0x39b 80820ce: b2db uxtb r3, r3 80820d0: 461a mov r2, r3 80820d2: 4b55 ldr r3, [pc, #340] ; (8082228 ) 80820d4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80820d8: 461a mov r2, r3 80820da: 218a movs r1, #138 ; 0x8a 80820dc: 20c6 movs r0, #198 ; 0xc6 80820de: f7d2 f90d bl 80542fc LCD_DisplayString(230, LCD_LINE_8, (char *) pNUMS[angle_iee]); 80820e2: f897 3399 ldrb.w r3, [r7, #921] ; 0x399 80820e6: b2db uxtb r3, r3 80820e8: 461a mov r2, r3 80820ea: 4b4f ldr r3, [pc, #316] ; (8082228 ) 80820ec: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80820f0: 461a mov r2, r3 80820f2: 218a movs r1, #138 ; 0x8a 80820f4: 20e6 movs r0, #230 ; 0xe6 80820f6: f7d2 f901 bl 80542fc LCD_DisplayString(246, LCD_LINE_8, "."); 80820fa: 4a4d ldr r2, [pc, #308] ; (8082230 ) 80820fc: 218a movs r1, #138 ; 0x8a 80820fe: 20f6 movs r0, #246 ; 0xf6 8082100: f7d2 f8fc bl 80542fc LCD_DisplayString(262, LCD_LINE_8, (char *) pNUMS[angle_ikd]); 8082104: f897 3398 ldrb.w r3, [r7, #920] ; 0x398 8082108: b2db uxtb r3, r3 808210a: 461a mov r2, r3 808210c: 4b46 ldr r3, [pc, #280] ; (8082228 ) 808210e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082112: 461a mov r2, r3 8082114: 218a movs r1, #138 ; 0x8a 8082116: f44f 7083 mov.w r0, #262 ; 0x106 808211a: f7d2 f8ef bl 80542fc LCD_DisplayString(278, LCD_LINE_8, (char *) pNUMS[angle_iks]); 808211e: f897 3397 ldrb.w r3, [r7, #919] ; 0x397 8082122: b2db uxtb r3, r3 8082124: 461a mov r2, r3 8082126: 4b40 ldr r3, [pc, #256] ; (8082228 ) 8082128: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808212c: 461a mov r2, r3 808212e: 218a movs r1, #138 ; 0x8a 8082130: f44f 708b mov.w r0, #278 ; 0x116 8082134: f7d2 f8e2 bl 80542fc LCD_DisplayString(294, LCD_LINE_8, (char *) pNUMS[angle_ikt]); 8082138: f897 3396 ldrb.w r3, [r7, #918] ; 0x396 808213c: b2db uxtb r3, r3 808213e: 461a mov r2, r3 8082140: 4b39 ldr r3, [pc, #228] ; (8082228 ) 8082142: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082146: 461a mov r2, r3 8082148: 218a movs r1, #138 ; 0x8a 808214a: f44f 7093 mov.w r0, #294 ; 0x126 808214e: f7d2 f8d5 bl 80542fc if(menupos == D_Angle_IES) 8082152: f000 bc18 b.w 8082986 } else if(menupos == D_Angle_IEE) 8082156: 4b31 ldr r3, [pc, #196] ; (808221c ) 8082158: 781b ldrb r3, [r3, #0] 808215a: b2db uxtb r3, r3 808215c: 2b1e cmp r3, #30 808215e: d169 bne.n 8082234 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8082160: 492f ldr r1, [pc, #188] ; (8082220 ) 8082162: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8082166: f7d1 fb21 bl 80537ac if(blk) 808216a: 4b2e ldr r3, [pc, #184] ; (8082224 ) 808216c: 681b ldr r3, [r3, #0] 808216e: 2b00 cmp r3, #0 8082170: d00b beq.n 808218a LCD_DisplayString(230, LCD_LINE_8, (char *) pNUMS[angle_iee]); 8082172: f897 3399 ldrb.w r3, [r7, #921] ; 0x399 8082176: b2db uxtb r3, r3 8082178: 461a mov r2, r3 808217a: 4b2b ldr r3, [pc, #172] ; (8082228 ) 808217c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082180: 461a mov r2, r3 8082182: 218a movs r1, #138 ; 0x8a 8082184: 20e6 movs r0, #230 ; 0xe6 8082186: f7d2 f8b9 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808218a: 4925 ldr r1, [pc, #148] ; (8082220 ) 808218c: 4827 ldr r0, [pc, #156] ; (808222c ) 808218e: f7d1 fb0d bl 80537ac LCD_DisplayString(198, LCD_LINE_8, (char *) pNUMS[angle_ies]); 8082192: f897 339b ldrb.w r3, [r7, #923] ; 0x39b 8082196: b2db uxtb r3, r3 8082198: 461a mov r2, r3 808219a: 4b23 ldr r3, [pc, #140] ; (8082228 ) 808219c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80821a0: 461a mov r2, r3 80821a2: 218a movs r1, #138 ; 0x8a 80821a4: 20c6 movs r0, #198 ; 0xc6 80821a6: f7d2 f8a9 bl 80542fc LCD_DisplayString(214, LCD_LINE_8, (char *) pNUMS[angle_ied]); 80821aa: f897 339a ldrb.w r3, [r7, #922] ; 0x39a 80821ae: b2db uxtb r3, r3 80821b0: 461a mov r2, r3 80821b2: 4b1d ldr r3, [pc, #116] ; (8082228 ) 80821b4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80821b8: 461a mov r2, r3 80821ba: 218a movs r1, #138 ; 0x8a 80821bc: 20d6 movs r0, #214 ; 0xd6 80821be: f7d2 f89d bl 80542fc LCD_DisplayString(246, LCD_LINE_8, "."); 80821c2: 4a1b ldr r2, [pc, #108] ; (8082230 ) 80821c4: 218a movs r1, #138 ; 0x8a 80821c6: 20f6 movs r0, #246 ; 0xf6 80821c8: f7d2 f898 bl 80542fc LCD_DisplayString(262, LCD_LINE_8, (char *) pNUMS[angle_ikd]); 80821cc: f897 3398 ldrb.w r3, [r7, #920] ; 0x398 80821d0: b2db uxtb r3, r3 80821d2: 461a mov r2, r3 80821d4: 4b14 ldr r3, [pc, #80] ; (8082228 ) 80821d6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80821da: 461a mov r2, r3 80821dc: 218a movs r1, #138 ; 0x8a 80821de: f44f 7083 mov.w r0, #262 ; 0x106 80821e2: f7d2 f88b bl 80542fc LCD_DisplayString(278, LCD_LINE_8, (char *) pNUMS[angle_iks]); 80821e6: f897 3397 ldrb.w r3, [r7, #919] ; 0x397 80821ea: b2db uxtb r3, r3 80821ec: 461a mov r2, r3 80821ee: 4b0e ldr r3, [pc, #56] ; (8082228 ) 80821f0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80821f4: 461a mov r2, r3 80821f6: 218a movs r1, #138 ; 0x8a 80821f8: f44f 708b mov.w r0, #278 ; 0x116 80821fc: f7d2 f87e bl 80542fc LCD_DisplayString(294, LCD_LINE_8, (char *) pNUMS[angle_ikt]); 8082200: f897 3396 ldrb.w r3, [r7, #918] ; 0x396 8082204: b2db uxtb r3, r3 8082206: 461a mov r2, r3 8082208: 4b07 ldr r3, [pc, #28] ; (8082228 ) 808220a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808220e: 461a mov r2, r3 8082210: 218a movs r1, #138 ; 0x8a 8082212: f44f 7093 mov.w r0, #294 ; 0x126 8082216: f7d2 f871 bl 80542fc if(menupos == D_Angle_IES) 808221a: e3b4 b.n 8082986 808221c: 20020070 .word 0x20020070 8082220: ff0a0f1f .word 0xff0a0f1f 8082224: 2002165c .word 0x2002165c 8082228: 20020964 .word 0x20020964 808222c: ffd8aa57 .word 0xffd8aa57 8082230: 080cf7e8 .word 0x080cf7e8 } else if(menupos == D_Angle_IKD) 8082234: 4bcc ldr r3, [pc, #816] ; (8082568 ) 8082236: 781b ldrb r3, [r3, #0] 8082238: b2db uxtb r3, r3 808223a: 2b1f cmp r3, #31 808223c: d15d bne.n 80822fa { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808223e: 49cb ldr r1, [pc, #812] ; (808256c ) 8082240: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8082244: f7d1 fab2 bl 80537ac if(blk) 8082248: 4bc9 ldr r3, [pc, #804] ; (8082570 ) 808224a: 681b ldr r3, [r3, #0] 808224c: 2b00 cmp r3, #0 808224e: d00c beq.n 808226a LCD_DisplayString(262, LCD_LINE_8, (char *) pNUMS[angle_ikd]); 8082250: f897 3398 ldrb.w r3, [r7, #920] ; 0x398 8082254: b2db uxtb r3, r3 8082256: 461a mov r2, r3 8082258: 4bc6 ldr r3, [pc, #792] ; (8082574 ) 808225a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808225e: 461a mov r2, r3 8082260: 218a movs r1, #138 ; 0x8a 8082262: f44f 7083 mov.w r0, #262 ; 0x106 8082266: f7d2 f849 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808226a: 49c0 ldr r1, [pc, #768] ; (808256c ) 808226c: 48c2 ldr r0, [pc, #776] ; (8082578 ) 808226e: f7d1 fa9d bl 80537ac LCD_DisplayString(198, LCD_LINE_8, (char *) pNUMS[angle_ies]); 8082272: f897 339b ldrb.w r3, [r7, #923] ; 0x39b 8082276: b2db uxtb r3, r3 8082278: 461a mov r2, r3 808227a: 4bbe ldr r3, [pc, #760] ; (8082574 ) 808227c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082280: 461a mov r2, r3 8082282: 218a movs r1, #138 ; 0x8a 8082284: 20c6 movs r0, #198 ; 0xc6 8082286: f7d2 f839 bl 80542fc LCD_DisplayString(214, LCD_LINE_8, (char *) pNUMS[angle_ied]); 808228a: f897 339a ldrb.w r3, [r7, #922] ; 0x39a 808228e: b2db uxtb r3, r3 8082290: 461a mov r2, r3 8082292: 4bb8 ldr r3, [pc, #736] ; (8082574 ) 8082294: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082298: 461a mov r2, r3 808229a: 218a movs r1, #138 ; 0x8a 808229c: 20d6 movs r0, #214 ; 0xd6 808229e: f7d2 f82d bl 80542fc LCD_DisplayString(230, LCD_LINE_8, (char *) pNUMS[angle_iee]); 80822a2: f897 3399 ldrb.w r3, [r7, #921] ; 0x399 80822a6: b2db uxtb r3, r3 80822a8: 461a mov r2, r3 80822aa: 4bb2 ldr r3, [pc, #712] ; (8082574 ) 80822ac: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80822b0: 461a mov r2, r3 80822b2: 218a movs r1, #138 ; 0x8a 80822b4: 20e6 movs r0, #230 ; 0xe6 80822b6: f7d2 f821 bl 80542fc LCD_DisplayString(246, LCD_LINE_8, "."); 80822ba: 4ab0 ldr r2, [pc, #704] ; (808257c ) 80822bc: 218a movs r1, #138 ; 0x8a 80822be: 20f6 movs r0, #246 ; 0xf6 80822c0: f7d2 f81c bl 80542fc LCD_DisplayString(278, LCD_LINE_8, (char *) pNUMS[angle_iks]); 80822c4: f897 3397 ldrb.w r3, [r7, #919] ; 0x397 80822c8: b2db uxtb r3, r3 80822ca: 461a mov r2, r3 80822cc: 4ba9 ldr r3, [pc, #676] ; (8082574 ) 80822ce: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80822d2: 461a mov r2, r3 80822d4: 218a movs r1, #138 ; 0x8a 80822d6: f44f 708b mov.w r0, #278 ; 0x116 80822da: f7d2 f80f bl 80542fc LCD_DisplayString(294, LCD_LINE_8, (char *) pNUMS[angle_ikt]); 80822de: f897 3396 ldrb.w r3, [r7, #918] ; 0x396 80822e2: b2db uxtb r3, r3 80822e4: 461a mov r2, r3 80822e6: 4ba3 ldr r3, [pc, #652] ; (8082574 ) 80822e8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80822ec: 461a mov r2, r3 80822ee: 218a movs r1, #138 ; 0x8a 80822f0: f44f 7093 mov.w r0, #294 ; 0x126 80822f4: f7d2 f802 bl 80542fc if(menupos == D_Angle_IES) 80822f8: e345 b.n 8082986 } else if(menupos == D_Angle_IKS) 80822fa: 4b9b ldr r3, [pc, #620] ; (8082568 ) 80822fc: 781b ldrb r3, [r3, #0] 80822fe: b2db uxtb r3, r3 8082300: 2b20 cmp r3, #32 8082302: d15d bne.n 80823c0 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8082304: 4999 ldr r1, [pc, #612] ; (808256c ) 8082306: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808230a: f7d1 fa4f bl 80537ac if(blk) 808230e: 4b98 ldr r3, [pc, #608] ; (8082570 ) 8082310: 681b ldr r3, [r3, #0] 8082312: 2b00 cmp r3, #0 8082314: d00c beq.n 8082330 LCD_DisplayString(278, LCD_LINE_8, (char *) pNUMS[angle_iks]); 8082316: f897 3397 ldrb.w r3, [r7, #919] ; 0x397 808231a: b2db uxtb r3, r3 808231c: 461a mov r2, r3 808231e: 4b95 ldr r3, [pc, #596] ; (8082574 ) 8082320: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082324: 461a mov r2, r3 8082326: 218a movs r1, #138 ; 0x8a 8082328: f44f 708b mov.w r0, #278 ; 0x116 808232c: f7d1 ffe6 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8082330: 498e ldr r1, [pc, #568] ; (808256c ) 8082332: 4891 ldr r0, [pc, #580] ; (8082578 ) 8082334: f7d1 fa3a bl 80537ac LCD_DisplayString(198, LCD_LINE_8, (char *) pNUMS[angle_ies]); 8082338: f897 339b ldrb.w r3, [r7, #923] ; 0x39b 808233c: b2db uxtb r3, r3 808233e: 461a mov r2, r3 8082340: 4b8c ldr r3, [pc, #560] ; (8082574 ) 8082342: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082346: 461a mov r2, r3 8082348: 218a movs r1, #138 ; 0x8a 808234a: 20c6 movs r0, #198 ; 0xc6 808234c: f7d1 ffd6 bl 80542fc LCD_DisplayString(214, LCD_LINE_8, (char *) pNUMS[angle_ied]); 8082350: f897 339a ldrb.w r3, [r7, #922] ; 0x39a 8082354: b2db uxtb r3, r3 8082356: 461a mov r2, r3 8082358: 4b86 ldr r3, [pc, #536] ; (8082574 ) 808235a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808235e: 461a mov r2, r3 8082360: 218a movs r1, #138 ; 0x8a 8082362: 20d6 movs r0, #214 ; 0xd6 8082364: f7d1 ffca bl 80542fc LCD_DisplayString(230, LCD_LINE_8, (char *) pNUMS[angle_iee]); 8082368: f897 3399 ldrb.w r3, [r7, #921] ; 0x399 808236c: b2db uxtb r3, r3 808236e: 461a mov r2, r3 8082370: 4b80 ldr r3, [pc, #512] ; (8082574 ) 8082372: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082376: 461a mov r2, r3 8082378: 218a movs r1, #138 ; 0x8a 808237a: 20e6 movs r0, #230 ; 0xe6 808237c: f7d1 ffbe bl 80542fc LCD_DisplayString(246, LCD_LINE_8, "."); 8082380: 4a7e ldr r2, [pc, #504] ; (808257c ) 8082382: 218a movs r1, #138 ; 0x8a 8082384: 20f6 movs r0, #246 ; 0xf6 8082386: f7d1 ffb9 bl 80542fc LCD_DisplayString(262, LCD_LINE_8, (char *) pNUMS[angle_ikd]); 808238a: f897 3398 ldrb.w r3, [r7, #920] ; 0x398 808238e: b2db uxtb r3, r3 8082390: 461a mov r2, r3 8082392: 4b78 ldr r3, [pc, #480] ; (8082574 ) 8082394: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082398: 461a mov r2, r3 808239a: 218a movs r1, #138 ; 0x8a 808239c: f44f 7083 mov.w r0, #262 ; 0x106 80823a0: f7d1 ffac bl 80542fc LCD_DisplayString(294, LCD_LINE_8, (char *) pNUMS[angle_ikt]); 80823a4: f897 3396 ldrb.w r3, [r7, #918] ; 0x396 80823a8: b2db uxtb r3, r3 80823aa: 461a mov r2, r3 80823ac: 4b71 ldr r3, [pc, #452] ; (8082574 ) 80823ae: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80823b2: 461a mov r2, r3 80823b4: 218a movs r1, #138 ; 0x8a 80823b6: f44f 7093 mov.w r0, #294 ; 0x126 80823ba: f7d1 ff9f bl 80542fc if(menupos == D_Angle_IES) 80823be: e2e2 b.n 8082986 } else if(menupos == D_Angle_IKT) 80823c0: 4b69 ldr r3, [pc, #420] ; (8082568 ) 80823c2: 781b ldrb r3, [r3, #0] 80823c4: b2db uxtb r3, r3 80823c6: 2b21 cmp r3, #33 ; 0x21 80823c8: f040 82dd bne.w 8082986 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80823cc: 4967 ldr r1, [pc, #412] ; (808256c ) 80823ce: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80823d2: f7d1 f9eb bl 80537ac if(blk) 80823d6: 4b66 ldr r3, [pc, #408] ; (8082570 ) 80823d8: 681b ldr r3, [r3, #0] 80823da: 2b00 cmp r3, #0 80823dc: d00c beq.n 80823f8 LCD_DisplayString(294, LCD_LINE_8, (char *) pNUMS[angle_ikt]); 80823de: f897 3396 ldrb.w r3, [r7, #918] ; 0x396 80823e2: b2db uxtb r3, r3 80823e4: 461a mov r2, r3 80823e6: 4b63 ldr r3, [pc, #396] ; (8082574 ) 80823e8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80823ec: 461a mov r2, r3 80823ee: 218a movs r1, #138 ; 0x8a 80823f0: f44f 7093 mov.w r0, #294 ; 0x126 80823f4: f7d1 ff82 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80823f8: 495c ldr r1, [pc, #368] ; (808256c ) 80823fa: 485f ldr r0, [pc, #380] ; (8082578 ) 80823fc: f7d1 f9d6 bl 80537ac LCD_DisplayString(198, LCD_LINE_8, (char *) pNUMS[angle_ies]); 8082400: f897 339b ldrb.w r3, [r7, #923] ; 0x39b 8082404: b2db uxtb r3, r3 8082406: 461a mov r2, r3 8082408: 4b5a ldr r3, [pc, #360] ; (8082574 ) 808240a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808240e: 461a mov r2, r3 8082410: 218a movs r1, #138 ; 0x8a 8082412: 20c6 movs r0, #198 ; 0xc6 8082414: f7d1 ff72 bl 80542fc LCD_DisplayString(214, LCD_LINE_8, (char *) pNUMS[angle_ied]); 8082418: f897 339a ldrb.w r3, [r7, #922] ; 0x39a 808241c: b2db uxtb r3, r3 808241e: 461a mov r2, r3 8082420: 4b54 ldr r3, [pc, #336] ; (8082574 ) 8082422: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082426: 461a mov r2, r3 8082428: 218a movs r1, #138 ; 0x8a 808242a: 20d6 movs r0, #214 ; 0xd6 808242c: f7d1 ff66 bl 80542fc LCD_DisplayString(230, LCD_LINE_8, (char *) pNUMS[angle_iee]); 8082430: f897 3399 ldrb.w r3, [r7, #921] ; 0x399 8082434: b2db uxtb r3, r3 8082436: 461a mov r2, r3 8082438: 4b4e ldr r3, [pc, #312] ; (8082574 ) 808243a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808243e: 461a mov r2, r3 8082440: 218a movs r1, #138 ; 0x8a 8082442: 20e6 movs r0, #230 ; 0xe6 8082444: f7d1 ff5a bl 80542fc LCD_DisplayString(246, LCD_LINE_8, "."); 8082448: 4a4c ldr r2, [pc, #304] ; (808257c ) 808244a: 218a movs r1, #138 ; 0x8a 808244c: 20f6 movs r0, #246 ; 0xf6 808244e: f7d1 ff55 bl 80542fc LCD_DisplayString(262, LCD_LINE_8, (char *) pNUMS[angle_ikd]); 8082452: f897 3398 ldrb.w r3, [r7, #920] ; 0x398 8082456: b2db uxtb r3, r3 8082458: 461a mov r2, r3 808245a: 4b46 ldr r3, [pc, #280] ; (8082574 ) 808245c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082460: 461a mov r2, r3 8082462: 218a movs r1, #138 ; 0x8a 8082464: f44f 7083 mov.w r0, #262 ; 0x106 8082468: f7d1 ff48 bl 80542fc LCD_DisplayString(278, LCD_LINE_8, (char *) pNUMS[angle_iks]); 808246c: f897 3397 ldrb.w r3, [r7, #919] ; 0x397 8082470: b2db uxtb r3, r3 8082472: 461a mov r2, r3 8082474: 4b3f ldr r3, [pc, #252] ; (8082574 ) 8082476: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808247a: 461a mov r2, r3 808247c: 218a movs r1, #138 ; 0x8a 808247e: f44f 708b mov.w r0, #278 ; 0x116 8082482: f7d1 ff3b bl 80542fc if(menupos == D_Angle_IES) 8082486: e27e b.n 8082986 } } else if((menupos >= RollMax_IDT) && (menupos <= RollMax_IKD)) 8082488: 4b37 ldr r3, [pc, #220] ; (8082568 ) 808248a: 781b ldrb r3, [r3, #0] 808248c: b2db uxtb r3, r3 808248e: 2b25 cmp r3, #37 ; 0x25 8082490: f240 827a bls.w 8082988 8082494: 4b34 ldr r3, [pc, #208] ; (8082568 ) 8082496: 781b ldrb r3, [r3, #0] 8082498: b2db uxtb r3, r3 808249a: 2b2b cmp r3, #43 ; 0x2b 808249c: f200 8274 bhi.w 8082988 { if(menupos == RollMax_IDT) 80824a0: 4b31 ldr r3, [pc, #196] ; (8082568 ) 80824a2: 781b ldrb r3, [r3, #0] 80824a4: b2db uxtb r3, r3 80824a6: 2b26 cmp r3, #38 ; 0x26 80824a8: d16a bne.n 8082580 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80824aa: 4930 ldr r1, [pc, #192] ; (808256c ) 80824ac: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80824b0: f7d1 f97c bl 80537ac if(blk) 80824b4: 4b2e ldr r3, [pc, #184] ; (8082570 ) 80824b6: 681b ldr r3, [r3, #0] 80824b8: 2b00 cmp r3, #0 80824ba: d00b beq.n 80824d4 LCD_DisplayString(198, LCD_LINE_11, (char *) pNUMS[idt2]); 80824bc: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 80824c0: b2db uxtb r3, r3 80824c2: 461a mov r2, r3 80824c4: 4b2b ldr r3, [pc, #172] ; (8082574 ) 80824c6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80824ca: 461a mov r2, r3 80824cc: 21ba movs r1, #186 ; 0xba 80824ce: 20c6 movs r0, #198 ; 0xc6 80824d0: f7d1 ff14 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80824d4: 4925 ldr r1, [pc, #148] ; (808256c ) 80824d6: 4828 ldr r0, [pc, #160] ; (8082578 ) 80824d8: f7d1 f968 bl 80537ac LCD_DisplayString(214, LCD_LINE_11, (char *) pNUMS[iet2]); 80824dc: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 80824e0: b2db uxtb r3, r3 80824e2: 461a mov r2, r3 80824e4: 4b23 ldr r3, [pc, #140] ; (8082574 ) 80824e6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80824ea: 461a mov r2, r3 80824ec: 21ba movs r1, #186 ; 0xba 80824ee: 20d6 movs r0, #214 ; 0xd6 80824f0: f7d1 ff04 bl 80542fc LCD_DisplayString(230, LCD_LINE_11, (char *) pNUMS[ies2]); 80824f4: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 80824f8: b2db uxtb r3, r3 80824fa: 461a mov r2, r3 80824fc: 4b1d ldr r3, [pc, #116] ; (8082574 ) 80824fe: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082502: 461a mov r2, r3 8082504: 21ba movs r1, #186 ; 0xba 8082506: 20e6 movs r0, #230 ; 0xe6 8082508: f7d1 fef8 bl 80542fc LCD_DisplayString(246, LCD_LINE_11, (char *) pNUMS[ied2]); 808250c: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 8082510: b2db uxtb r3, r3 8082512: 461a mov r2, r3 8082514: 4b17 ldr r3, [pc, #92] ; (8082574 ) 8082516: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808251a: 461a mov r2, r3 808251c: 21ba movs r1, #186 ; 0xba 808251e: 20f6 movs r0, #246 ; 0xf6 8082520: f7d1 feec bl 80542fc LCD_DisplayString(262, LCD_LINE_11, (char *) pNUMS[iee2]); 8082524: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 8082528: b2db uxtb r3, r3 808252a: 461a mov r2, r3 808252c: 4b11 ldr r3, [pc, #68] ; (8082574 ) 808252e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082532: 461a mov r2, r3 8082534: 21ba movs r1, #186 ; 0xba 8082536: f44f 7083 mov.w r0, #262 ; 0x106 808253a: f7d1 fedf bl 80542fc LCD_DisplayString(278, LCD_LINE_11, "."); 808253e: 4a0f ldr r2, [pc, #60] ; (808257c ) 8082540: 21ba movs r1, #186 ; 0xba 8082542: f44f 708b mov.w r0, #278 ; 0x116 8082546: f7d1 fed9 bl 80542fc LCD_DisplayString(294, LCD_LINE_11, (char *) pNUMS[ikd2]); 808254a: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 808254e: b2db uxtb r3, r3 8082550: 461a mov r2, r3 8082552: 4b08 ldr r3, [pc, #32] ; (8082574 ) 8082554: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082558: 461a mov r2, r3 808255a: 21ba movs r1, #186 ; 0xba 808255c: f44f 7093 mov.w r0, #294 ; 0x126 8082560: f7d1 fecc bl 80542fc 8082564: e210 b.n 8082988 8082566: bf00 nop 8082568: 20020070 .word 0x20020070 808256c: ff0a0f1f .word 0xff0a0f1f 8082570: 2002165c .word 0x2002165c 8082574: 20020964 .word 0x20020964 8082578: ffd8aa57 .word 0xffd8aa57 808257c: 080cf7e8 .word 0x080cf7e8 } else if(menupos == RollMax_IET) 8082580: 4bc5 ldr r3, [pc, #788] ; (8082898 ) 8082582: 781b ldrb r3, [r3, #0] 8082584: b2db uxtb r3, r3 8082586: 2b27 cmp r3, #39 ; 0x27 8082588: d15d bne.n 8082646 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808258a: 49c4 ldr r1, [pc, #784] ; (808289c ) 808258c: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8082590: f7d1 f90c bl 80537ac if(blk) 8082594: 4bc2 ldr r3, [pc, #776] ; (80828a0 ) 8082596: 681b ldr r3, [r3, #0] 8082598: 2b00 cmp r3, #0 808259a: d00b beq.n 80825b4 LCD_DisplayString(214, LCD_LINE_11, (char *) pNUMS[iet2]); 808259c: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 80825a0: b2db uxtb r3, r3 80825a2: 461a mov r2, r3 80825a4: 4bbf ldr r3, [pc, #764] ; (80828a4 ) 80825a6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80825aa: 461a mov r2, r3 80825ac: 21ba movs r1, #186 ; 0xba 80825ae: 20d6 movs r0, #214 ; 0xd6 80825b0: f7d1 fea4 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80825b4: 49b9 ldr r1, [pc, #740] ; (808289c ) 80825b6: 48bc ldr r0, [pc, #752] ; (80828a8 ) 80825b8: f7d1 f8f8 bl 80537ac LCD_DisplayString(198, LCD_LINE_11, (char *) pNUMS[idt2]); 80825bc: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 80825c0: b2db uxtb r3, r3 80825c2: 461a mov r2, r3 80825c4: 4bb7 ldr r3, [pc, #732] ; (80828a4 ) 80825c6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80825ca: 461a mov r2, r3 80825cc: 21ba movs r1, #186 ; 0xba 80825ce: 20c6 movs r0, #198 ; 0xc6 80825d0: f7d1 fe94 bl 80542fc LCD_DisplayString(230, LCD_LINE_11, (char *) pNUMS[ies2]); 80825d4: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 80825d8: b2db uxtb r3, r3 80825da: 461a mov r2, r3 80825dc: 4bb1 ldr r3, [pc, #708] ; (80828a4 ) 80825de: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80825e2: 461a mov r2, r3 80825e4: 21ba movs r1, #186 ; 0xba 80825e6: 20e6 movs r0, #230 ; 0xe6 80825e8: f7d1 fe88 bl 80542fc LCD_DisplayString(246, LCD_LINE_11, (char *) pNUMS[ied2]); 80825ec: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 80825f0: b2db uxtb r3, r3 80825f2: 461a mov r2, r3 80825f4: 4bab ldr r3, [pc, #684] ; (80828a4 ) 80825f6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80825fa: 461a mov r2, r3 80825fc: 21ba movs r1, #186 ; 0xba 80825fe: 20f6 movs r0, #246 ; 0xf6 8082600: f7d1 fe7c bl 80542fc LCD_DisplayString(262, LCD_LINE_11, (char *) pNUMS[iee2]); 8082604: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 8082608: b2db uxtb r3, r3 808260a: 461a mov r2, r3 808260c: 4ba5 ldr r3, [pc, #660] ; (80828a4 ) 808260e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082612: 461a mov r2, r3 8082614: 21ba movs r1, #186 ; 0xba 8082616: f44f 7083 mov.w r0, #262 ; 0x106 808261a: f7d1 fe6f bl 80542fc LCD_DisplayString(278, LCD_LINE_11, "."); 808261e: 4aa3 ldr r2, [pc, #652] ; (80828ac ) 8082620: 21ba movs r1, #186 ; 0xba 8082622: f44f 708b mov.w r0, #278 ; 0x116 8082626: f7d1 fe69 bl 80542fc LCD_DisplayString(294, LCD_LINE_11, (char *) pNUMS[ikd2]); 808262a: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 808262e: b2db uxtb r3, r3 8082630: 461a mov r2, r3 8082632: 4b9c ldr r3, [pc, #624] ; (80828a4 ) 8082634: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082638: 461a mov r2, r3 808263a: 21ba movs r1, #186 ; 0xba 808263c: f44f 7093 mov.w r0, #294 ; 0x126 8082640: f7d1 fe5c bl 80542fc 8082644: e1a0 b.n 8082988 } else if(menupos == RollMax_IES) 8082646: 4b94 ldr r3, [pc, #592] ; (8082898 ) 8082648: 781b ldrb r3, [r3, #0] 808264a: b2db uxtb r3, r3 808264c: 2b28 cmp r3, #40 ; 0x28 808264e: d15d bne.n 808270c { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8082650: 4992 ldr r1, [pc, #584] ; (808289c ) 8082652: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8082656: f7d1 f8a9 bl 80537ac if(blk) 808265a: 4b91 ldr r3, [pc, #580] ; (80828a0 ) 808265c: 681b ldr r3, [r3, #0] 808265e: 2b00 cmp r3, #0 8082660: d00b beq.n 808267a LCD_DisplayString(230, LCD_LINE_11, (char *) pNUMS[ies2]); 8082662: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 8082666: b2db uxtb r3, r3 8082668: 461a mov r2, r3 808266a: 4b8e ldr r3, [pc, #568] ; (80828a4 ) 808266c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082670: 461a mov r2, r3 8082672: 21ba movs r1, #186 ; 0xba 8082674: 20e6 movs r0, #230 ; 0xe6 8082676: f7d1 fe41 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808267a: 4988 ldr r1, [pc, #544] ; (808289c ) 808267c: 488a ldr r0, [pc, #552] ; (80828a8 ) 808267e: f7d1 f895 bl 80537ac LCD_DisplayString(198, LCD_LINE_11, (char *) pNUMS[idt2]); 8082682: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 8082686: b2db uxtb r3, r3 8082688: 461a mov r2, r3 808268a: 4b86 ldr r3, [pc, #536] ; (80828a4 ) 808268c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082690: 461a mov r2, r3 8082692: 21ba movs r1, #186 ; 0xba 8082694: 20c6 movs r0, #198 ; 0xc6 8082696: f7d1 fe31 bl 80542fc LCD_DisplayString(214, LCD_LINE_11, (char *) pNUMS[iet2]); 808269a: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 808269e: b2db uxtb r3, r3 80826a0: 461a mov r2, r3 80826a2: 4b80 ldr r3, [pc, #512] ; (80828a4 ) 80826a4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80826a8: 461a mov r2, r3 80826aa: 21ba movs r1, #186 ; 0xba 80826ac: 20d6 movs r0, #214 ; 0xd6 80826ae: f7d1 fe25 bl 80542fc LCD_DisplayString(246, LCD_LINE_11, (char *) pNUMS[ied2]); 80826b2: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 80826b6: b2db uxtb r3, r3 80826b8: 461a mov r2, r3 80826ba: 4b7a ldr r3, [pc, #488] ; (80828a4 ) 80826bc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80826c0: 461a mov r2, r3 80826c2: 21ba movs r1, #186 ; 0xba 80826c4: 20f6 movs r0, #246 ; 0xf6 80826c6: f7d1 fe19 bl 80542fc LCD_DisplayString(262, LCD_LINE_11, (char *) pNUMS[iee2]); 80826ca: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 80826ce: b2db uxtb r3, r3 80826d0: 461a mov r2, r3 80826d2: 4b74 ldr r3, [pc, #464] ; (80828a4 ) 80826d4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80826d8: 461a mov r2, r3 80826da: 21ba movs r1, #186 ; 0xba 80826dc: f44f 7083 mov.w r0, #262 ; 0x106 80826e0: f7d1 fe0c bl 80542fc LCD_DisplayString(278, LCD_LINE_11, "."); 80826e4: 4a71 ldr r2, [pc, #452] ; (80828ac ) 80826e6: 21ba movs r1, #186 ; 0xba 80826e8: f44f 708b mov.w r0, #278 ; 0x116 80826ec: f7d1 fe06 bl 80542fc LCD_DisplayString(294, LCD_LINE_11, (char *) pNUMS[ikd2]); 80826f0: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 80826f4: b2db uxtb r3, r3 80826f6: 461a mov r2, r3 80826f8: 4b6a ldr r3, [pc, #424] ; (80828a4 ) 80826fa: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80826fe: 461a mov r2, r3 8082700: 21ba movs r1, #186 ; 0xba 8082702: f44f 7093 mov.w r0, #294 ; 0x126 8082706: f7d1 fdf9 bl 80542fc 808270a: e13d b.n 8082988 } else if(menupos == RollMax_IED) 808270c: 4b62 ldr r3, [pc, #392] ; (8082898 ) 808270e: 781b ldrb r3, [r3, #0] 8082710: b2db uxtb r3, r3 8082712: 2b29 cmp r3, #41 ; 0x29 8082714: d15d bne.n 80827d2 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8082716: 4961 ldr r1, [pc, #388] ; (808289c ) 8082718: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808271c: f7d1 f846 bl 80537ac if(blk) 8082720: 4b5f ldr r3, [pc, #380] ; (80828a0 ) 8082722: 681b ldr r3, [r3, #0] 8082724: 2b00 cmp r3, #0 8082726: d00b beq.n 8082740 LCD_DisplayString(246, LCD_LINE_11, (char *) pNUMS[ied2]); 8082728: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 808272c: b2db uxtb r3, r3 808272e: 461a mov r2, r3 8082730: 4b5c ldr r3, [pc, #368] ; (80828a4 ) 8082732: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082736: 461a mov r2, r3 8082738: 21ba movs r1, #186 ; 0xba 808273a: 20f6 movs r0, #246 ; 0xf6 808273c: f7d1 fdde bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8082740: 4956 ldr r1, [pc, #344] ; (808289c ) 8082742: 4859 ldr r0, [pc, #356] ; (80828a8 ) 8082744: f7d1 f832 bl 80537ac LCD_DisplayString(198, LCD_LINE_11, (char *) pNUMS[idt2]); 8082748: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 808274c: b2db uxtb r3, r3 808274e: 461a mov r2, r3 8082750: 4b54 ldr r3, [pc, #336] ; (80828a4 ) 8082752: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082756: 461a mov r2, r3 8082758: 21ba movs r1, #186 ; 0xba 808275a: 20c6 movs r0, #198 ; 0xc6 808275c: f7d1 fdce bl 80542fc LCD_DisplayString(214, LCD_LINE_11, (char *) pNUMS[iet2]); 8082760: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 8082764: b2db uxtb r3, r3 8082766: 461a mov r2, r3 8082768: 4b4e ldr r3, [pc, #312] ; (80828a4 ) 808276a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808276e: 461a mov r2, r3 8082770: 21ba movs r1, #186 ; 0xba 8082772: 20d6 movs r0, #214 ; 0xd6 8082774: f7d1 fdc2 bl 80542fc LCD_DisplayString(230, LCD_LINE_11, (char *) pNUMS[ies2]); 8082778: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 808277c: b2db uxtb r3, r3 808277e: 461a mov r2, r3 8082780: 4b48 ldr r3, [pc, #288] ; (80828a4 ) 8082782: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082786: 461a mov r2, r3 8082788: 21ba movs r1, #186 ; 0xba 808278a: 20e6 movs r0, #230 ; 0xe6 808278c: f7d1 fdb6 bl 80542fc LCD_DisplayString(262, LCD_LINE_11, (char *) pNUMS[iee2]); 8082790: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 8082794: b2db uxtb r3, r3 8082796: 461a mov r2, r3 8082798: 4b42 ldr r3, [pc, #264] ; (80828a4 ) 808279a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808279e: 461a mov r2, r3 80827a0: 21ba movs r1, #186 ; 0xba 80827a2: f44f 7083 mov.w r0, #262 ; 0x106 80827a6: f7d1 fda9 bl 80542fc LCD_DisplayString(278, LCD_LINE_11, "."); 80827aa: 4a40 ldr r2, [pc, #256] ; (80828ac ) 80827ac: 21ba movs r1, #186 ; 0xba 80827ae: f44f 708b mov.w r0, #278 ; 0x116 80827b2: f7d1 fda3 bl 80542fc LCD_DisplayString(294, LCD_LINE_11, (char *) pNUMS[ikd2]); 80827b6: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 80827ba: b2db uxtb r3, r3 80827bc: 461a mov r2, r3 80827be: 4b39 ldr r3, [pc, #228] ; (80828a4 ) 80827c0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80827c4: 461a mov r2, r3 80827c6: 21ba movs r1, #186 ; 0xba 80827c8: f44f 7093 mov.w r0, #294 ; 0x126 80827cc: f7d1 fd96 bl 80542fc 80827d0: e0da b.n 8082988 } else if(menupos == RollMax_IEE) 80827d2: 4b31 ldr r3, [pc, #196] ; (8082898 ) 80827d4: 781b ldrb r3, [r3, #0] 80827d6: b2db uxtb r3, r3 80827d8: 2b2a cmp r3, #42 ; 0x2a 80827da: d169 bne.n 80828b0 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80827dc: 492f ldr r1, [pc, #188] ; (808289c ) 80827de: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80827e2: f7d0 ffe3 bl 80537ac if(blk) 80827e6: 4b2e ldr r3, [pc, #184] ; (80828a0 ) 80827e8: 681b ldr r3, [r3, #0] 80827ea: 2b00 cmp r3, #0 80827ec: d00c beq.n 8082808 LCD_DisplayString(262, LCD_LINE_11, (char *) pNUMS[iee2]); 80827ee: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 80827f2: b2db uxtb r3, r3 80827f4: 461a mov r2, r3 80827f6: 4b2b ldr r3, [pc, #172] ; (80828a4 ) 80827f8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80827fc: 461a mov r2, r3 80827fe: 21ba movs r1, #186 ; 0xba 8082800: f44f 7083 mov.w r0, #262 ; 0x106 8082804: f7d1 fd7a bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8082808: 4924 ldr r1, [pc, #144] ; (808289c ) 808280a: 4827 ldr r0, [pc, #156] ; (80828a8 ) 808280c: f7d0 ffce bl 80537ac LCD_DisplayString(198, LCD_LINE_11, (char *) pNUMS[idt2]); 8082810: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 8082814: b2db uxtb r3, r3 8082816: 461a mov r2, r3 8082818: 4b22 ldr r3, [pc, #136] ; (80828a4 ) 808281a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808281e: 461a mov r2, r3 8082820: 21ba movs r1, #186 ; 0xba 8082822: 20c6 movs r0, #198 ; 0xc6 8082824: f7d1 fd6a bl 80542fc LCD_DisplayString(214, LCD_LINE_11, (char *) pNUMS[iet2]); 8082828: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 808282c: b2db uxtb r3, r3 808282e: 461a mov r2, r3 8082830: 4b1c ldr r3, [pc, #112] ; (80828a4 ) 8082832: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082836: 461a mov r2, r3 8082838: 21ba movs r1, #186 ; 0xba 808283a: 20d6 movs r0, #214 ; 0xd6 808283c: f7d1 fd5e bl 80542fc LCD_DisplayString(230, LCD_LINE_11, (char *) pNUMS[ies2]); 8082840: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 8082844: b2db uxtb r3, r3 8082846: 461a mov r2, r3 8082848: 4b16 ldr r3, [pc, #88] ; (80828a4 ) 808284a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808284e: 461a mov r2, r3 8082850: 21ba movs r1, #186 ; 0xba 8082852: 20e6 movs r0, #230 ; 0xe6 8082854: f7d1 fd52 bl 80542fc LCD_DisplayString(246, LCD_LINE_11, (char *) pNUMS[ied2]); 8082858: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 808285c: b2db uxtb r3, r3 808285e: 461a mov r2, r3 8082860: 4b10 ldr r3, [pc, #64] ; (80828a4 ) 8082862: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082866: 461a mov r2, r3 8082868: 21ba movs r1, #186 ; 0xba 808286a: 20f6 movs r0, #246 ; 0xf6 808286c: f7d1 fd46 bl 80542fc LCD_DisplayString(278, LCD_LINE_11, "."); 8082870: 4a0e ldr r2, [pc, #56] ; (80828ac ) 8082872: 21ba movs r1, #186 ; 0xba 8082874: f44f 708b mov.w r0, #278 ; 0x116 8082878: f7d1 fd40 bl 80542fc LCD_DisplayString(294, LCD_LINE_11, (char *) pNUMS[ikd2]); 808287c: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 8082880: b2db uxtb r3, r3 8082882: 461a mov r2, r3 8082884: 4b07 ldr r3, [pc, #28] ; (80828a4 ) 8082886: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808288a: 461a mov r2, r3 808288c: 21ba movs r1, #186 ; 0xba 808288e: f44f 7093 mov.w r0, #294 ; 0x126 8082892: f7d1 fd33 bl 80542fc 8082896: e077 b.n 8082988 8082898: 20020070 .word 0x20020070 808289c: ff0a0f1f .word 0xff0a0f1f 80828a0: 2002165c .word 0x2002165c 80828a4: 20020964 .word 0x20020964 80828a8: ffd8aa57 .word 0xffd8aa57 80828ac: 080cf7e8 .word 0x080cf7e8 } else if(menupos == RollMax_IKD) 80828b0: 4b72 ldr r3, [pc, #456] ; (8082a7c ) 80828b2: 781b ldrb r3, [r3, #0] 80828b4: b2db uxtb r3, r3 80828b6: 2b2b cmp r3, #43 ; 0x2b 80828b8: d166 bne.n 8082988 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80828ba: 4971 ldr r1, [pc, #452] ; (8082a80 ) 80828bc: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80828c0: f7d0 ff74 bl 80537ac if(blk) 80828c4: 4b6f ldr r3, [pc, #444] ; (8082a84 ) 80828c6: 681b ldr r3, [r3, #0] 80828c8: 2b00 cmp r3, #0 80828ca: d00c beq.n 80828e6 LCD_DisplayString(294, LCD_LINE_11, (char *) pNUMS[ikd2]); 80828cc: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 80828d0: b2db uxtb r3, r3 80828d2: 461a mov r2, r3 80828d4: 4b6c ldr r3, [pc, #432] ; (8082a88 ) 80828d6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80828da: 461a mov r2, r3 80828dc: 21ba movs r1, #186 ; 0xba 80828de: f44f 7093 mov.w r0, #294 ; 0x126 80828e2: f7d1 fd0b bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80828e6: 4966 ldr r1, [pc, #408] ; (8082a80 ) 80828e8: 4868 ldr r0, [pc, #416] ; (8082a8c ) 80828ea: f7d0 ff5f bl 80537ac LCD_DisplayString(198, LCD_LINE_11, (char *) pNUMS[idt2]); 80828ee: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 80828f2: b2db uxtb r3, r3 80828f4: 461a mov r2, r3 80828f6: 4b64 ldr r3, [pc, #400] ; (8082a88 ) 80828f8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80828fc: 461a mov r2, r3 80828fe: 21ba movs r1, #186 ; 0xba 8082900: 20c6 movs r0, #198 ; 0xc6 8082902: f7d1 fcfb bl 80542fc LCD_DisplayString(214, LCD_LINE_11, (char *) pNUMS[iet2]); 8082906: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 808290a: b2db uxtb r3, r3 808290c: 461a mov r2, r3 808290e: 4b5e ldr r3, [pc, #376] ; (8082a88 ) 8082910: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082914: 461a mov r2, r3 8082916: 21ba movs r1, #186 ; 0xba 8082918: 20d6 movs r0, #214 ; 0xd6 808291a: f7d1 fcef bl 80542fc LCD_DisplayString(230, LCD_LINE_11, (char *) pNUMS[ies2]); 808291e: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 8082922: b2db uxtb r3, r3 8082924: 461a mov r2, r3 8082926: 4b58 ldr r3, [pc, #352] ; (8082a88 ) 8082928: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808292c: 461a mov r2, r3 808292e: 21ba movs r1, #186 ; 0xba 8082930: 20e6 movs r0, #230 ; 0xe6 8082932: f7d1 fce3 bl 80542fc LCD_DisplayString(246, LCD_LINE_11, (char *) pNUMS[ied2]); 8082936: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 808293a: b2db uxtb r3, r3 808293c: 461a mov r2, r3 808293e: 4b52 ldr r3, [pc, #328] ; (8082a88 ) 8082940: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082944: 461a mov r2, r3 8082946: 21ba movs r1, #186 ; 0xba 8082948: 20f6 movs r0, #246 ; 0xf6 808294a: f7d1 fcd7 bl 80542fc LCD_DisplayString(262, LCD_LINE_11, (char *) pNUMS[iee2]); 808294e: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 8082952: b2db uxtb r3, r3 8082954: 461a mov r2, r3 8082956: 4b4c ldr r3, [pc, #304] ; (8082a88 ) 8082958: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808295c: 461a mov r2, r3 808295e: 21ba movs r1, #186 ; 0xba 8082960: f44f 7083 mov.w r0, #262 ; 0x106 8082964: f7d1 fcca bl 80542fc LCD_DisplayString(278, LCD_LINE_11, "."); 8082968: 4a49 ldr r2, [pc, #292] ; (8082a90 ) 808296a: 21ba movs r1, #186 ; 0xba 808296c: f44f 708b mov.w r0, #278 ; 0x116 8082970: f7d1 fcc4 bl 80542fc 8082974: e008 b.n 8082988 if(menupos == D_Rate_IET) 8082976: bf00 nop 8082978: e006 b.n 8082988 if(menupos == D_Roll_IES) 808297a: bf00 nop 808297c: e004 b.n 8082988 if(menupos == D_Outer_IES) 808297e: bf00 nop 8082980: e002 b.n 8082988 if(menupos == D_Inner_IES) 8082982: bf00 nop 8082984: e000 b.n 8082988 if(menupos == D_Angle_IES) 8082986: bf00 nop } } } if(pardata.OPTIONS & BIT2) // Åñëè àâòîóñèëåíèå 8082988: 4b42 ldr r3, [pc, #264] ; (8082a94 ) 808298a: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 808298e: f003 0304 and.w r3, r3, #4 8082992: 2b00 cmp r3, #0 8082994: f014 8617 beq.w 80975c6 { LCD_SetColors(LCD_COLOR_DARKGRAY, LCD_COLOR_BLACK); 8082998: 4939 ldr r1, [pc, #228] ; (8082a80 ) 808299a: 483f ldr r0, [pc, #252] ; (8082a98 ) 808299c: f7d0 ff06 bl 80537ac //BSP_LCD_FillRect(257, 191, 6, 6); BSP_LCD_FillRect(257, 175, 6, 6); 80829a0: 2306 movs r3, #6 80829a2: 2206 movs r2, #6 80829a4: 21af movs r1, #175 ; 0xaf 80829a6: f240 1001 movw r0, #257 ; 0x101 80829aa: f7d1 fb8d bl 80540c8 } break; 80829ae: f014 be0a b.w 80975c6 case PARAM_SPEC: LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 80829b2: 4933 ldr r1, [pc, #204] ; (8082a80 ) 80829b4: 4839 ldr r0, [pc, #228] ; (8082a9c ) 80829b6: f7d0 fef9 bl 80537ac BSP_LCD_DrawRect(2, 35, 314, 201); 80829ba: 23c9 movs r3, #201 ; 0xc9 80829bc: f44f 729d mov.w r2, #314 ; 0x13a 80829c0: 2123 movs r1, #35 ; 0x23 80829c2: 2002 movs r0, #2 80829c4: f7d1 f9f8 bl 8053db8 //**************************************************************** strcpy(strF, pDelta_SPC[pardata.FRQ][pardata.LNE]); 80829c8: 4b32 ldr r3, [pc, #200] ; (8082a94 ) 80829ca: 7adb ldrb r3, [r3, #11] 80829cc: b2db uxtb r3, r3 80829ce: 4618 mov r0, r3 80829d0: 4b30 ldr r3, [pc, #192] ; (8082a94 ) 80829d2: 79db ldrb r3, [r3, #7] 80829d4: b2db uxtb r3, r3 80829d6: 4619 mov r1, r3 80829d8: 4a31 ldr r2, [pc, #196] ; (8082aa0 ) 80829da: 0083 lsls r3, r0, #2 80829dc: 440b add r3, r1 80829de: f852 2023 ldr.w r2, [r2, r3, lsl #2] 80829e2: f507 73b6 add.w r3, r7, #364 ; 0x16c 80829e6: 4611 mov r1, r2 80829e8: 4618 mov r0, r3 80829ea: f04a fc4a bl 80cd282 l = strlen(strF); 80829ee: f507 73b6 add.w r3, r7, #364 ; 0x16c 80829f2: 4618 mov r0, r3 80829f4: f79d fc8e bl 8020314 80829f8: 4603 mov r3, r0 80829fa: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 if(l < 10) 80829fe: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 8082a02: 2b09 cmp r3, #9 8082a04: d808 bhi.n 8082a18 { strcpy(str1, strF); 8082a06: f507 72b6 add.w r2, r7, #364 ; 0x16c 8082a0a: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8082a0e: 4611 mov r1, r2 8082a10: 4618 mov r0, r3 8082a12: f04a fc36 bl 80cd282 8082a16: e07b b.n 8082b10 } else { memset(str1, 0x20, sizeof(str1)); 8082a18: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8082a1c: f44f 7280 mov.w r2, #256 ; 0x100 8082a20: 2120 movs r1, #32 8082a22: 4618 mov r0, r3 8082a24: f04a fb10 bl 80cd048 if(tme <= l) 8082a28: 4b1e ldr r3, [pc, #120] ; (8082aa4 ) 8082a2a: 681a ldr r2, [r3, #0] 8082a2c: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 8082a30: 429a cmp r2, r3 8082a32: d839 bhi.n 8082aa8 { if(l - tme >= 9) 8082a34: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 8082a38: 4b1a ldr r3, [pc, #104] ; (8082aa4 ) 8082a3a: 681b ldr r3, [r3, #0] 8082a3c: 1ad3 subs r3, r2, r3 8082a3e: 2b08 cmp r3, #8 8082a40: d90b bls.n 8082a5a memcpy(str1, &strF[tme], 9); 8082a42: 4b18 ldr r3, [pc, #96] ; (8082aa4 ) 8082a44: 681b ldr r3, [r3, #0] 8082a46: f507 72b6 add.w r2, r7, #364 ; 0x16c 8082a4a: 18d1 adds r1, r2, r3 8082a4c: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8082a50: 2209 movs r2, #9 8082a52: 4618 mov r0, r3 8082a54: f04a faed bl 80cd032 8082a58: e039 b.n 8082ace else memcpy(str1, &strF[tme], l - tme); 8082a5a: 4b12 ldr r3, [pc, #72] ; (8082aa4 ) 8082a5c: 681b ldr r3, [r3, #0] 8082a5e: f507 72b6 add.w r2, r7, #364 ; 0x16c 8082a62: 18d1 adds r1, r2, r3 8082a64: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 8082a68: 4b0e ldr r3, [pc, #56] ; (8082aa4 ) 8082a6a: 681b ldr r3, [r3, #0] 8082a6c: 1ad2 subs r2, r2, r3 8082a6e: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8082a72: 4618 mov r0, r3 8082a74: f04a fadd bl 80cd032 8082a78: e029 b.n 8082ace 8082a7a: bf00 nop 8082a7c: 20020070 .word 0x20020070 8082a80: ff0a0f1f .word 0xff0a0f1f 8082a84: 2002165c .word 0x2002165c 8082a88: 20020964 .word 0x20020964 8082a8c: ffd8aa57 .word 0xffd8aa57 8082a90: 080cf7e8 .word 0x080cf7e8 8082a94: 20023e60 .word 0x20023e60 8082a98: ff404040 .word 0xff404040 8082a9c: ffd3d3d3 .word 0xffd3d3d3 8082aa0: 2002038c .word 0x2002038c 8082aa4: 20021668 .word 0x20021668 } else { memcpy(&str1[9 - (tme - l)], strF, tme - l); 8082aa8: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 8082aac: 4bd0 ldr r3, [pc, #832] ; (8082df0 ) 8082aae: 681b ldr r3, [r3, #0] 8082ab0: 1ad3 subs r3, r2, r3 8082ab2: 3309 adds r3, #9 8082ab4: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8082ab8: 18d0 adds r0, r2, r3 8082aba: 4bcd ldr r3, [pc, #820] ; (8082df0 ) 8082abc: 681a ldr r2, [r3, #0] 8082abe: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 8082ac2: 1ad2 subs r2, r2, r3 8082ac4: f507 73b6 add.w r3, r7, #364 ; 0x16c 8082ac8: 4619 mov r1, r3 8082aca: f04a fab2 bl 80cd032 } str1[10] = '\0'; 8082ace: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8082ad2: 2200 movs r2, #0 8082ad4: 729a strb r2, [r3, #10] tt++; 8082ad6: 4bc7 ldr r3, [pc, #796] ; (8082df4 ) 8082ad8: 781b ldrb r3, [r3, #0] 8082ada: 3301 adds r3, #1 8082adc: b2da uxtb r2, r3 8082ade: 4bc5 ldr r3, [pc, #788] ; (8082df4 ) 8082ae0: 701a strb r2, [r3, #0] if(tt >= 4) 8082ae2: 4bc4 ldr r3, [pc, #784] ; (8082df4 ) 8082ae4: 781b ldrb r3, [r3, #0] 8082ae6: 2b03 cmp r3, #3 8082ae8: d912 bls.n 8082b10 { tt = 0; 8082aea: 4bc2 ldr r3, [pc, #776] ; (8082df4 ) 8082aec: 2200 movs r2, #0 8082aee: 701a strb r2, [r3, #0] tme++; 8082af0: 4bbf ldr r3, [pc, #764] ; (8082df0 ) 8082af2: 681b ldr r3, [r3, #0] 8082af4: 3301 adds r3, #1 8082af6: 4abe ldr r2, [pc, #760] ; (8082df0 ) 8082af8: 6013 str r3, [r2, #0] if(9 - (tme - l) == 0) 8082afa: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 8082afe: 4bbc ldr r3, [pc, #752] ; (8082df0 ) 8082b00: 681b ldr r3, [r3, #0] 8082b02: 1ad3 subs r3, r2, r3 8082b04: f113 0f09 cmn.w r3, #9 8082b08: d102 bne.n 8082b10 { tme = 0; 8082b0a: 4bb9 ldr r3, [pc, #740] ; (8082df0 ) 8082b0c: 2200 movs r2, #0 8082b0e: 601a str r2, [r3, #0] //**************************************************************** k = (uint32_t) (pardata.MAX_VAL * 10.0f); 8082b10: 4bb9 ldr r3, [pc, #740] ; (8082df8 ) 8082b12: edd3 7a06 vldr s15, [r3, #24] 8082b16: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 8082b1a: ee67 7a87 vmul.f32 s15, s15, s14 8082b1e: eefc 7ae7 vcvt.u32.f32 s15, s15 8082b22: ee17 3a90 vmov r3, s15 8082b26: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 idt2 = (uint8_t) (k / 100000); 8082b2a: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8082b2e: 095b lsrs r3, r3, #5 8082b30: 4ab2 ldr r2, [pc, #712] ; (8082dfc ) 8082b32: fba2 2303 umull r2, r3, r2, r3 8082b36: 09db lsrs r3, r3, #7 8082b38: b2db uxtb r3, r3 8082b3a: f887 33d8 strb.w r3, [r7, #984] ; 0x3d8 iet2 = (uint8_t) (k % 100000 / 10000); 8082b3e: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8082b42: 0953 lsrs r3, r2, #5 8082b44: 49ad ldr r1, [pc, #692] ; (8082dfc ) 8082b46: fba1 1303 umull r1, r3, r1, r3 8082b4a: 09db lsrs r3, r3, #7 8082b4c: 49ac ldr r1, [pc, #688] ; (8082e00 ) 8082b4e: fb01 f303 mul.w r3, r1, r3 8082b52: 1ad3 subs r3, r2, r3 8082b54: 4aab ldr r2, [pc, #684] ; (8082e04 ) 8082b56: fba2 2303 umull r2, r3, r2, r3 8082b5a: 0b5b lsrs r3, r3, #13 8082b5c: b2db uxtb r3, r3 8082b5e: f887 33d7 strb.w r3, [r7, #983] ; 0x3d7 ies2 = (uint8_t) (k % 100000 % 10000 / 1000); 8082b62: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8082b66: 0953 lsrs r3, r2, #5 8082b68: 49a4 ldr r1, [pc, #656] ; (8082dfc ) 8082b6a: fba1 1303 umull r1, r3, r1, r3 8082b6e: 09db lsrs r3, r3, #7 8082b70: 49a3 ldr r1, [pc, #652] ; (8082e00 ) 8082b72: fb01 f303 mul.w r3, r1, r3 8082b76: 1ad3 subs r3, r2, r3 8082b78: 4aa2 ldr r2, [pc, #648] ; (8082e04 ) 8082b7a: fba2 1203 umull r1, r2, r2, r3 8082b7e: 0b52 lsrs r2, r2, #13 8082b80: f242 7110 movw r1, #10000 ; 0x2710 8082b84: fb01 f202 mul.w r2, r1, r2 8082b88: 1a9a subs r2, r3, r2 8082b8a: 4b9f ldr r3, [pc, #636] ; (8082e08 ) 8082b8c: fba3 2302 umull r2, r3, r3, r2 8082b90: 099b lsrs r3, r3, #6 8082b92: b2db uxtb r3, r3 8082b94: f887 33d6 strb.w r3, [r7, #982] ; 0x3d6 ied2 = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 8082b98: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8082b9c: 095a lsrs r2, r3, #5 8082b9e: 4997 ldr r1, [pc, #604] ; (8082dfc ) 8082ba0: fba1 1202 umull r1, r2, r1, r2 8082ba4: 09d2 lsrs r2, r2, #7 8082ba6: 4996 ldr r1, [pc, #600] ; (8082e00 ) 8082ba8: fb01 f202 mul.w r2, r1, r2 8082bac: 1a9a subs r2, r3, r2 8082bae: 4b95 ldr r3, [pc, #596] ; (8082e04 ) 8082bb0: fba3 1302 umull r1, r3, r3, r2 8082bb4: 0b5b lsrs r3, r3, #13 8082bb6: f242 7110 movw r1, #10000 ; 0x2710 8082bba: fb01 f303 mul.w r3, r1, r3 8082bbe: 1ad3 subs r3, r2, r3 8082bc0: 4a91 ldr r2, [pc, #580] ; (8082e08 ) 8082bc2: fba2 1203 umull r1, r2, r2, r3 8082bc6: 0992 lsrs r2, r2, #6 8082bc8: f44f 717a mov.w r1, #1000 ; 0x3e8 8082bcc: fb01 f202 mul.w r2, r1, r2 8082bd0: 1a9a subs r2, r3, r2 8082bd2: 4b8e ldr r3, [pc, #568] ; (8082e0c ) 8082bd4: fba3 2302 umull r2, r3, r3, r2 8082bd8: 095b lsrs r3, r3, #5 8082bda: b2db uxtb r3, r3 8082bdc: f887 33d5 strb.w r3, [r7, #981] ; 0x3d5 iee2 = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 8082be0: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8082be4: 0953 lsrs r3, r2, #5 8082be6: 4985 ldr r1, [pc, #532] ; (8082dfc ) 8082be8: fba1 1303 umull r1, r3, r1, r3 8082bec: 09db lsrs r3, r3, #7 8082bee: 4984 ldr r1, [pc, #528] ; (8082e00 ) 8082bf0: fb01 f303 mul.w r3, r1, r3 8082bf4: 1ad3 subs r3, r2, r3 8082bf6: 4a83 ldr r2, [pc, #524] ; (8082e04 ) 8082bf8: fba2 1203 umull r1, r2, r2, r3 8082bfc: 0b52 lsrs r2, r2, #13 8082bfe: f242 7110 movw r1, #10000 ; 0x2710 8082c02: fb01 f202 mul.w r2, r1, r2 8082c06: 1a9a subs r2, r3, r2 8082c08: 4b7f ldr r3, [pc, #508] ; (8082e08 ) 8082c0a: fba3 1302 umull r1, r3, r3, r2 8082c0e: 099b lsrs r3, r3, #6 8082c10: f44f 717a mov.w r1, #1000 ; 0x3e8 8082c14: fb01 f303 mul.w r3, r1, r3 8082c18: 1ad3 subs r3, r2, r3 8082c1a: 4a7c ldr r2, [pc, #496] ; (8082e0c ) 8082c1c: fba2 1203 umull r1, r2, r2, r3 8082c20: 0952 lsrs r2, r2, #5 8082c22: 2164 movs r1, #100 ; 0x64 8082c24: fb01 f202 mul.w r2, r1, r2 8082c28: 1a9a subs r2, r3, r2 8082c2a: 4b79 ldr r3, [pc, #484] ; (8082e10 ) 8082c2c: fba3 2302 umull r2, r3, r3, r2 8082c30: 08db lsrs r3, r3, #3 8082c32: b2db uxtb r3, r3 8082c34: f887 33d4 strb.w r3, [r7, #980] ; 0x3d4 ikd2 = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 8082c38: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8082c3c: 0953 lsrs r3, r2, #5 8082c3e: 496f ldr r1, [pc, #444] ; (8082dfc ) 8082c40: fba1 1303 umull r1, r3, r1, r3 8082c44: 09db lsrs r3, r3, #7 8082c46: 496e ldr r1, [pc, #440] ; (8082e00 ) 8082c48: fb01 f303 mul.w r3, r1, r3 8082c4c: 1ad3 subs r3, r2, r3 8082c4e: 4a6d ldr r2, [pc, #436] ; (8082e04 ) 8082c50: fba2 1203 umull r1, r2, r2, r3 8082c54: 0b52 lsrs r2, r2, #13 8082c56: f242 7110 movw r1, #10000 ; 0x2710 8082c5a: fb01 f202 mul.w r2, r1, r2 8082c5e: 1a9a subs r2, r3, r2 8082c60: 4b69 ldr r3, [pc, #420] ; (8082e08 ) 8082c62: fba3 1302 umull r1, r3, r3, r2 8082c66: 099b lsrs r3, r3, #6 8082c68: f44f 717a mov.w r1, #1000 ; 0x3e8 8082c6c: fb01 f303 mul.w r3, r1, r3 8082c70: 1ad3 subs r3, r2, r3 8082c72: 4a66 ldr r2, [pc, #408] ; (8082e0c ) 8082c74: fba2 1203 umull r1, r2, r2, r3 8082c78: 0952 lsrs r2, r2, #5 8082c7a: 2164 movs r1, #100 ; 0x64 8082c7c: fb01 f202 mul.w r2, r1, r2 8082c80: 1a9a subs r2, r3, r2 8082c82: 4b63 ldr r3, [pc, #396] ; (8082e10 ) 8082c84: fba3 1302 umull r1, r3, r3, r2 8082c88: 08d9 lsrs r1, r3, #3 8082c8a: 460b mov r3, r1 8082c8c: 009b lsls r3, r3, #2 8082c8e: 440b add r3, r1 8082c90: 005b lsls r3, r3, #1 8082c92: 1ad1 subs r1, r2, r3 8082c94: b2cb uxtb r3, r1 8082c96: f887 33d3 strb.w r3, [r7, #979] ; 0x3d3 i = 0; 8082c9a: 2300 movs r3, #0 8082c9c: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 memset(str, 0, sizeof(str)); 8082ca0: f507 733b add.w r3, r7, #748 ; 0x2ec 8082ca4: 223c movs r2, #60 ; 0x3c 8082ca6: 2100 movs r1, #0 8082ca8: 4618 mov r0, r3 8082caa: f04a f9cd bl 80cd048 if(idt2 != 0) 8082cae: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 8082cb2: b2db uxtb r3, r3 8082cb4: 2b00 cmp r3, #0 8082cb6: d00c beq.n 8082cd2 str[i++] = idt2 + 48; 8082cb8: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8082cbc: 1c5a adds r2, r3, #1 8082cbe: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8082cc2: f897 23d8 ldrb.w r2, [r7, #984] ; 0x3d8 8082cc6: b2d2 uxtb r2, r2 8082cc8: 3230 adds r2, #48 ; 0x30 8082cca: b2d1 uxtb r1, r2 8082ccc: f507 723b add.w r2, r7, #748 ; 0x2ec 8082cd0: 54d1 strb r1, [r2, r3] if((iet2 != 0) || (idt2 != 0)) 8082cd2: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 8082cd6: b2db uxtb r3, r3 8082cd8: 2b00 cmp r3, #0 8082cda: d104 bne.n 8082ce6 8082cdc: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 8082ce0: b2db uxtb r3, r3 8082ce2: 2b00 cmp r3, #0 8082ce4: d00c beq.n 8082d00 str[i++] = iet2 + 48; 8082ce6: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8082cea: 1c5a adds r2, r3, #1 8082cec: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8082cf0: f897 23d7 ldrb.w r2, [r7, #983] ; 0x3d7 8082cf4: b2d2 uxtb r2, r2 8082cf6: 3230 adds r2, #48 ; 0x30 8082cf8: b2d1 uxtb r1, r2 8082cfa: f507 723b add.w r2, r7, #748 ; 0x2ec 8082cfe: 54d1 strb r1, [r2, r3] if((ies2 != 0) || (iet2 != 0) || (idt2 != 0)) 8082d00: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 8082d04: b2db uxtb r3, r3 8082d06: 2b00 cmp r3, #0 8082d08: d109 bne.n 8082d1e 8082d0a: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 8082d0e: b2db uxtb r3, r3 8082d10: 2b00 cmp r3, #0 8082d12: d104 bne.n 8082d1e 8082d14: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 8082d18: b2db uxtb r3, r3 8082d1a: 2b00 cmp r3, #0 8082d1c: d00c beq.n 8082d38 str[i++] = ies2 + 48; 8082d1e: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8082d22: 1c5a adds r2, r3, #1 8082d24: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8082d28: f897 23d6 ldrb.w r2, [r7, #982] ; 0x3d6 8082d2c: b2d2 uxtb r2, r2 8082d2e: 3230 adds r2, #48 ; 0x30 8082d30: b2d1 uxtb r1, r2 8082d32: f507 723b add.w r2, r7, #748 ; 0x2ec 8082d36: 54d1 strb r1, [r2, r3] if((ied2 != 0) || (ies2 != 0) || (iet2 != 0) || (idt2 != 0)) 8082d38: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 8082d3c: b2db uxtb r3, r3 8082d3e: 2b00 cmp r3, #0 8082d40: d10e bne.n 8082d60 8082d42: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 8082d46: b2db uxtb r3, r3 8082d48: 2b00 cmp r3, #0 8082d4a: d109 bne.n 8082d60 8082d4c: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 8082d50: b2db uxtb r3, r3 8082d52: 2b00 cmp r3, #0 8082d54: d104 bne.n 8082d60 8082d56: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 8082d5a: b2db uxtb r3, r3 8082d5c: 2b00 cmp r3, #0 8082d5e: d00c beq.n 8082d7a str[i++] = ied2 + 48; 8082d60: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8082d64: 1c5a adds r2, r3, #1 8082d66: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8082d6a: f897 23d5 ldrb.w r2, [r7, #981] ; 0x3d5 8082d6e: b2d2 uxtb r2, r2 8082d70: 3230 adds r2, #48 ; 0x30 8082d72: b2d1 uxtb r1, r2 8082d74: f507 723b add.w r2, r7, #748 ; 0x2ec 8082d78: 54d1 strb r1, [r2, r3] str[i++] = iee2 + 48; 8082d7a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8082d7e: 1c5a adds r2, r3, #1 8082d80: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8082d84: f897 23d4 ldrb.w r2, [r7, #980] ; 0x3d4 8082d88: b2d2 uxtb r2, r2 8082d8a: 3230 adds r2, #48 ; 0x30 8082d8c: b2d1 uxtb r1, r2 8082d8e: f507 723b add.w r2, r7, #748 ; 0x2ec 8082d92: 54d1 strb r1, [r2, r3] str[i++] = '.'; 8082d94: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8082d98: 1c5a adds r2, r3, #1 8082d9a: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8082d9e: f507 723b add.w r2, r7, #748 ; 0x2ec 8082da2: 212e movs r1, #46 ; 0x2e 8082da4: 54d1 strb r1, [r2, r3] str[i++] = ikd2 + 48; 8082da6: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8082daa: 1c5a adds r2, r3, #1 8082dac: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8082db0: f897 23d3 ldrb.w r2, [r7, #979] ; 0x3d3 8082db4: b2d2 uxtb r2, r2 8082db6: 3230 adds r2, #48 ; 0x30 8082db8: b2d1 uxtb r1, r2 8082dba: f507 723b add.w r2, r7, #748 ; 0x2ec 8082dbe: 54d1 strb r1, [r2, r3] k = (uint32_t) (pardata.HP * 10.0f); 8082dc0: 4b0d ldr r3, [pc, #52] ; (8082df8 ) 8082dc2: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 8082dc6: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 8082dca: ee67 7a87 vmul.f32 s15, s15, s14 8082dce: eefc 7ae7 vcvt.u32.f32 s15, s15 8082dd2: ee17 3a90 vmov r3, s15 8082dd6: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 idtHP = (uint8_t) (k / 100000); 8082dda: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8082dde: 095b lsrs r3, r3, #5 8082de0: 4a06 ldr r2, [pc, #24] ; (8082dfc ) 8082de2: fba2 2303 umull r2, r3, r2, r3 8082de6: 09db lsrs r3, r3, #7 8082de8: b2db uxtb r3, r3 8082dea: f887 33d1 strb.w r3, [r7, #977] ; 0x3d1 8082dee: e011 b.n 8082e14 8082df0: 20021668 .word 0x20021668 8082df4: 2002166c .word 0x2002166c 8082df8: 20023e60 .word 0x20023e60 8082dfc: 0a7c5ac5 .word 0x0a7c5ac5 8082e00: 000186a0 .word 0x000186a0 8082e04: d1b71759 .word 0xd1b71759 8082e08: 10624dd3 .word 0x10624dd3 8082e0c: 51eb851f .word 0x51eb851f 8082e10: cccccccd .word 0xcccccccd ietHP = (uint8_t) (k % 100000 / 10000); 8082e14: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8082e18: 0953 lsrs r3, r2, #5 8082e1a: 49d5 ldr r1, [pc, #852] ; (8083170 ) 8082e1c: fba1 1303 umull r1, r3, r1, r3 8082e20: 09db lsrs r3, r3, #7 8082e22: 49d4 ldr r1, [pc, #848] ; (8083174 ) 8082e24: fb01 f303 mul.w r3, r1, r3 8082e28: 1ad3 subs r3, r2, r3 8082e2a: 4ad3 ldr r2, [pc, #844] ; (8083178 ) 8082e2c: fba2 2303 umull r2, r3, r2, r3 8082e30: 0b5b lsrs r3, r3, #13 8082e32: b2db uxtb r3, r3 8082e34: f887 33d0 strb.w r3, [r7, #976] ; 0x3d0 iesHP = (uint8_t) (k % 100000 % 10000 / 1000); 8082e38: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8082e3c: 0953 lsrs r3, r2, #5 8082e3e: 49cc ldr r1, [pc, #816] ; (8083170 ) 8082e40: fba1 1303 umull r1, r3, r1, r3 8082e44: 09db lsrs r3, r3, #7 8082e46: 49cb ldr r1, [pc, #812] ; (8083174 ) 8082e48: fb01 f303 mul.w r3, r1, r3 8082e4c: 1ad3 subs r3, r2, r3 8082e4e: 4aca ldr r2, [pc, #808] ; (8083178 ) 8082e50: fba2 1203 umull r1, r2, r2, r3 8082e54: 0b52 lsrs r2, r2, #13 8082e56: f242 7110 movw r1, #10000 ; 0x2710 8082e5a: fb01 f202 mul.w r2, r1, r2 8082e5e: 1a9a subs r2, r3, r2 8082e60: 4bc6 ldr r3, [pc, #792] ; (808317c ) 8082e62: fba3 2302 umull r2, r3, r3, r2 8082e66: 099b lsrs r3, r3, #6 8082e68: b2db uxtb r3, r3 8082e6a: f887 33cf strb.w r3, [r7, #975] ; 0x3cf iedHP = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 8082e6e: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8082e72: 095a lsrs r2, r3, #5 8082e74: 49be ldr r1, [pc, #760] ; (8083170 ) 8082e76: fba1 1202 umull r1, r2, r1, r2 8082e7a: 09d2 lsrs r2, r2, #7 8082e7c: 49bd ldr r1, [pc, #756] ; (8083174 ) 8082e7e: fb01 f202 mul.w r2, r1, r2 8082e82: 1a9a subs r2, r3, r2 8082e84: 4bbc ldr r3, [pc, #752] ; (8083178 ) 8082e86: fba3 1302 umull r1, r3, r3, r2 8082e8a: 0b5b lsrs r3, r3, #13 8082e8c: f242 7110 movw r1, #10000 ; 0x2710 8082e90: fb01 f303 mul.w r3, r1, r3 8082e94: 1ad3 subs r3, r2, r3 8082e96: 4ab9 ldr r2, [pc, #740] ; (808317c ) 8082e98: fba2 1203 umull r1, r2, r2, r3 8082e9c: 0992 lsrs r2, r2, #6 8082e9e: f44f 717a mov.w r1, #1000 ; 0x3e8 8082ea2: fb01 f202 mul.w r2, r1, r2 8082ea6: 1a9a subs r2, r3, r2 8082ea8: 4bb5 ldr r3, [pc, #724] ; (8083180 ) 8082eaa: fba3 2302 umull r2, r3, r3, r2 8082eae: 095b lsrs r3, r3, #5 8082eb0: b2db uxtb r3, r3 8082eb2: f887 33ce strb.w r3, [r7, #974] ; 0x3ce ieeHP = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 8082eb6: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8082eba: 0953 lsrs r3, r2, #5 8082ebc: 49ac ldr r1, [pc, #688] ; (8083170 ) 8082ebe: fba1 1303 umull r1, r3, r1, r3 8082ec2: 09db lsrs r3, r3, #7 8082ec4: 49ab ldr r1, [pc, #684] ; (8083174 ) 8082ec6: fb01 f303 mul.w r3, r1, r3 8082eca: 1ad3 subs r3, r2, r3 8082ecc: 4aaa ldr r2, [pc, #680] ; (8083178 ) 8082ece: fba2 1203 umull r1, r2, r2, r3 8082ed2: 0b52 lsrs r2, r2, #13 8082ed4: f242 7110 movw r1, #10000 ; 0x2710 8082ed8: fb01 f202 mul.w r2, r1, r2 8082edc: 1a9a subs r2, r3, r2 8082ede: 4ba7 ldr r3, [pc, #668] ; (808317c ) 8082ee0: fba3 1302 umull r1, r3, r3, r2 8082ee4: 099b lsrs r3, r3, #6 8082ee6: f44f 717a mov.w r1, #1000 ; 0x3e8 8082eea: fb01 f303 mul.w r3, r1, r3 8082eee: 1ad3 subs r3, r2, r3 8082ef0: 4aa3 ldr r2, [pc, #652] ; (8083180 ) 8082ef2: fba2 1203 umull r1, r2, r2, r3 8082ef6: 0952 lsrs r2, r2, #5 8082ef8: 2164 movs r1, #100 ; 0x64 8082efa: fb01 f202 mul.w r2, r1, r2 8082efe: 1a9a subs r2, r3, r2 8082f00: 4ba0 ldr r3, [pc, #640] ; (8083184 ) 8082f02: fba3 2302 umull r2, r3, r3, r2 8082f06: 08db lsrs r3, r3, #3 8082f08: b2db uxtb r3, r3 8082f0a: f887 33cd strb.w r3, [r7, #973] ; 0x3cd ikdHP = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 8082f0e: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8082f12: 0953 lsrs r3, r2, #5 8082f14: 4996 ldr r1, [pc, #600] ; (8083170 ) 8082f16: fba1 1303 umull r1, r3, r1, r3 8082f1a: 09db lsrs r3, r3, #7 8082f1c: 4995 ldr r1, [pc, #596] ; (8083174 ) 8082f1e: fb01 f303 mul.w r3, r1, r3 8082f22: 1ad3 subs r3, r2, r3 8082f24: 4a94 ldr r2, [pc, #592] ; (8083178 ) 8082f26: fba2 1203 umull r1, r2, r2, r3 8082f2a: 0b52 lsrs r2, r2, #13 8082f2c: f242 7110 movw r1, #10000 ; 0x2710 8082f30: fb01 f202 mul.w r2, r1, r2 8082f34: 1a9a subs r2, r3, r2 8082f36: 4b91 ldr r3, [pc, #580] ; (808317c ) 8082f38: fba3 1302 umull r1, r3, r3, r2 8082f3c: 099b lsrs r3, r3, #6 8082f3e: f44f 717a mov.w r1, #1000 ; 0x3e8 8082f42: fb01 f303 mul.w r3, r1, r3 8082f46: 1ad3 subs r3, r2, r3 8082f48: 4a8d ldr r2, [pc, #564] ; (8083180 ) 8082f4a: fba2 1203 umull r1, r2, r2, r3 8082f4e: 0952 lsrs r2, r2, #5 8082f50: 2164 movs r1, #100 ; 0x64 8082f52: fb01 f202 mul.w r2, r1, r2 8082f56: 1a9a subs r2, r3, r2 8082f58: 4b8a ldr r3, [pc, #552] ; (8083184 ) 8082f5a: fba3 1302 umull r1, r3, r3, r2 8082f5e: 08d9 lsrs r1, r3, #3 8082f60: 460b mov r3, r1 8082f62: 009b lsls r3, r3, #2 8082f64: 440b add r3, r1 8082f66: 005b lsls r3, r3, #1 8082f68: 1ad1 subs r1, r2, r3 8082f6a: b2cb uxtb r3, r1 8082f6c: f887 33cc strb.w r3, [r7, #972] ; 0x3cc i = 0; 8082f70: 2300 movs r3, #0 8082f72: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 memset(strHP, 0, sizeof(strHP)); 8082f76: f507 73d2 add.w r3, r7, #420 ; 0x1a4 8082f7a: 220c movs r2, #12 8082f7c: 2100 movs r1, #0 8082f7e: 4618 mov r0, r3 8082f80: f04a f862 bl 80cd048 if(idtHP != 0) 8082f84: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 8082f88: b2db uxtb r3, r3 8082f8a: 2b00 cmp r3, #0 8082f8c: d00c beq.n 8082fa8 strHP[i++] = idtHP + 48; 8082f8e: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8082f92: 1c5a adds r2, r3, #1 8082f94: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8082f98: f897 23d1 ldrb.w r2, [r7, #977] ; 0x3d1 8082f9c: b2d2 uxtb r2, r2 8082f9e: 3230 adds r2, #48 ; 0x30 8082fa0: b2d1 uxtb r1, r2 8082fa2: f507 72d2 add.w r2, r7, #420 ; 0x1a4 8082fa6: 54d1 strb r1, [r2, r3] if((ietHP != 0) || (idtHP != 0)) 8082fa8: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 8082fac: b2db uxtb r3, r3 8082fae: 2b00 cmp r3, #0 8082fb0: d104 bne.n 8082fbc 8082fb2: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 8082fb6: b2db uxtb r3, r3 8082fb8: 2b00 cmp r3, #0 8082fba: d00c beq.n 8082fd6 strHP[i++] = ietHP + 48; 8082fbc: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8082fc0: 1c5a adds r2, r3, #1 8082fc2: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8082fc6: f897 23d0 ldrb.w r2, [r7, #976] ; 0x3d0 8082fca: b2d2 uxtb r2, r2 8082fcc: 3230 adds r2, #48 ; 0x30 8082fce: b2d1 uxtb r1, r2 8082fd0: f507 72d2 add.w r2, r7, #420 ; 0x1a4 8082fd4: 54d1 strb r1, [r2, r3] if((iesHP != 0) || (ietHP != 0) || (idtHP != 0)) 8082fd6: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 8082fda: b2db uxtb r3, r3 8082fdc: 2b00 cmp r3, #0 8082fde: d109 bne.n 8082ff4 8082fe0: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 8082fe4: b2db uxtb r3, r3 8082fe6: 2b00 cmp r3, #0 8082fe8: d104 bne.n 8082ff4 8082fea: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 8082fee: b2db uxtb r3, r3 8082ff0: 2b00 cmp r3, #0 8082ff2: d00c beq.n 808300e strHP[i++] = iesHP + 48; 8082ff4: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8082ff8: 1c5a adds r2, r3, #1 8082ffa: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8082ffe: f897 23cf ldrb.w r2, [r7, #975] ; 0x3cf 8083002: b2d2 uxtb r2, r2 8083004: 3230 adds r2, #48 ; 0x30 8083006: b2d1 uxtb r1, r2 8083008: f507 72d2 add.w r2, r7, #420 ; 0x1a4 808300c: 54d1 strb r1, [r2, r3] if((iedHP != 0) || (iesHP != 0) || (ietHP != 0) || (idtHP != 0)) 808300e: f897 33ce ldrb.w r3, [r7, #974] ; 0x3ce 8083012: b2db uxtb r3, r3 8083014: 2b00 cmp r3, #0 8083016: d10e bne.n 8083036 8083018: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 808301c: b2db uxtb r3, r3 808301e: 2b00 cmp r3, #0 8083020: d109 bne.n 8083036 8083022: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 8083026: b2db uxtb r3, r3 8083028: 2b00 cmp r3, #0 808302a: d104 bne.n 8083036 808302c: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 8083030: b2db uxtb r3, r3 8083032: 2b00 cmp r3, #0 8083034: d00c beq.n 8083050 strHP[i++] = iedHP + 48; 8083036: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808303a: 1c5a adds r2, r3, #1 808303c: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8083040: f897 23ce ldrb.w r2, [r7, #974] ; 0x3ce 8083044: b2d2 uxtb r2, r2 8083046: 3230 adds r2, #48 ; 0x30 8083048: b2d1 uxtb r1, r2 808304a: f507 72d2 add.w r2, r7, #420 ; 0x1a4 808304e: 54d1 strb r1, [r2, r3] strHP[i++] = ieeHP + 48; 8083050: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8083054: 1c5a adds r2, r3, #1 8083056: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808305a: f897 23cd ldrb.w r2, [r7, #973] ; 0x3cd 808305e: b2d2 uxtb r2, r2 8083060: 3230 adds r2, #48 ; 0x30 8083062: b2d1 uxtb r1, r2 8083064: f507 72d2 add.w r2, r7, #420 ; 0x1a4 8083068: 54d1 strb r1, [r2, r3] strHP[i++] = '.'; 808306a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808306e: 1c5a adds r2, r3, #1 8083070: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8083074: f507 72d2 add.w r2, r7, #420 ; 0x1a4 8083078: 212e movs r1, #46 ; 0x2e 808307a: 54d1 strb r1, [r2, r3] strHP[i++] = ikdHP + 48; 808307c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8083080: 1c5a adds r2, r3, #1 8083082: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8083086: f897 23cc ldrb.w r2, [r7, #972] ; 0x3cc 808308a: b2d2 uxtb r2, r2 808308c: 3230 adds r2, #48 ; 0x30 808308e: b2d1 uxtb r1, r2 8083090: f507 72d2 add.w r2, r7, #420 ; 0x1a4 8083094: 54d1 strb r1, [r2, r3] k = (uint32_t) (pardata.LP * 10.0f); 8083096: 4b3c ldr r3, [pc, #240] ; (8083188 ) 8083098: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 808309c: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80830a0: ee67 7a87 vmul.f32 s15, s15, s14 80830a4: eefc 7ae7 vcvt.u32.f32 s15, s15 80830a8: ee17 3a90 vmov r3, s15 80830ac: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 idtLP = (uint8_t) (k / 100000); 80830b0: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80830b4: 095b lsrs r3, r3, #5 80830b6: 4a2e ldr r2, [pc, #184] ; (8083170 ) 80830b8: fba2 2303 umull r2, r3, r2, r3 80830bc: 09db lsrs r3, r3, #7 80830be: b2db uxtb r3, r3 80830c0: f887 33ca strb.w r3, [r7, #970] ; 0x3ca ietLP = (uint8_t) (k % 100000 / 10000); 80830c4: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 80830c8: 0953 lsrs r3, r2, #5 80830ca: 4929 ldr r1, [pc, #164] ; (8083170 ) 80830cc: fba1 1303 umull r1, r3, r1, r3 80830d0: 09db lsrs r3, r3, #7 80830d2: 4928 ldr r1, [pc, #160] ; (8083174 ) 80830d4: fb01 f303 mul.w r3, r1, r3 80830d8: 1ad3 subs r3, r2, r3 80830da: 4a27 ldr r2, [pc, #156] ; (8083178 ) 80830dc: fba2 2303 umull r2, r3, r2, r3 80830e0: 0b5b lsrs r3, r3, #13 80830e2: b2db uxtb r3, r3 80830e4: f887 33c9 strb.w r3, [r7, #969] ; 0x3c9 iesLP = (uint8_t) (k % 100000 % 10000 / 1000); 80830e8: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 80830ec: 0953 lsrs r3, r2, #5 80830ee: 4920 ldr r1, [pc, #128] ; (8083170 ) 80830f0: fba1 1303 umull r1, r3, r1, r3 80830f4: 09db lsrs r3, r3, #7 80830f6: 491f ldr r1, [pc, #124] ; (8083174 ) 80830f8: fb01 f303 mul.w r3, r1, r3 80830fc: 1ad3 subs r3, r2, r3 80830fe: 4a1e ldr r2, [pc, #120] ; (8083178 ) 8083100: fba2 1203 umull r1, r2, r2, r3 8083104: 0b52 lsrs r2, r2, #13 8083106: f242 7110 movw r1, #10000 ; 0x2710 808310a: fb01 f202 mul.w r2, r1, r2 808310e: 1a9a subs r2, r3, r2 8083110: 4b1a ldr r3, [pc, #104] ; (808317c ) 8083112: fba3 2302 umull r2, r3, r3, r2 8083116: 099b lsrs r3, r3, #6 8083118: b2db uxtb r3, r3 808311a: f887 33c8 strb.w r3, [r7, #968] ; 0x3c8 iedLP = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 808311e: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8083122: 095a lsrs r2, r3, #5 8083124: 4912 ldr r1, [pc, #72] ; (8083170 ) 8083126: fba1 1202 umull r1, r2, r1, r2 808312a: 09d2 lsrs r2, r2, #7 808312c: 4911 ldr r1, [pc, #68] ; (8083174 ) 808312e: fb01 f202 mul.w r2, r1, r2 8083132: 1a9a subs r2, r3, r2 8083134: 4b10 ldr r3, [pc, #64] ; (8083178 ) 8083136: fba3 1302 umull r1, r3, r3, r2 808313a: 0b5b lsrs r3, r3, #13 808313c: f242 7110 movw r1, #10000 ; 0x2710 8083140: fb01 f303 mul.w r3, r1, r3 8083144: 1ad3 subs r3, r2, r3 8083146: 4a0d ldr r2, [pc, #52] ; (808317c ) 8083148: fba2 1203 umull r1, r2, r2, r3 808314c: 0992 lsrs r2, r2, #6 808314e: f44f 717a mov.w r1, #1000 ; 0x3e8 8083152: fb01 f202 mul.w r2, r1, r2 8083156: 1a9a subs r2, r3, r2 8083158: 4b09 ldr r3, [pc, #36] ; (8083180 ) 808315a: fba3 2302 umull r2, r3, r3, r2 808315e: 095b lsrs r3, r3, #5 8083160: b2db uxtb r3, r3 8083162: f887 33c7 strb.w r3, [r7, #967] ; 0x3c7 ieeLP = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 8083166: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808316a: 0953 lsrs r3, r2, #5 808316c: e00e b.n 808318c 808316e: bf00 nop 8083170: 0a7c5ac5 .word 0x0a7c5ac5 8083174: 000186a0 .word 0x000186a0 8083178: d1b71759 .word 0xd1b71759 808317c: 10624dd3 .word 0x10624dd3 8083180: 51eb851f .word 0x51eb851f 8083184: cccccccd .word 0xcccccccd 8083188: 20023e60 .word 0x20023e60 808318c: 49a2 ldr r1, [pc, #648] ; (8083418 ) 808318e: fba1 1303 umull r1, r3, r1, r3 8083192: 09db lsrs r3, r3, #7 8083194: 49a1 ldr r1, [pc, #644] ; (808341c ) 8083196: fb01 f303 mul.w r3, r1, r3 808319a: 1ad3 subs r3, r2, r3 808319c: 4aa0 ldr r2, [pc, #640] ; (8083420 ) 808319e: fba2 1203 umull r1, r2, r2, r3 80831a2: 0b52 lsrs r2, r2, #13 80831a4: f242 7110 movw r1, #10000 ; 0x2710 80831a8: fb01 f202 mul.w r2, r1, r2 80831ac: 1a9a subs r2, r3, r2 80831ae: 4b9d ldr r3, [pc, #628] ; (8083424 ) 80831b0: fba3 1302 umull r1, r3, r3, r2 80831b4: 099b lsrs r3, r3, #6 80831b6: f44f 717a mov.w r1, #1000 ; 0x3e8 80831ba: fb01 f303 mul.w r3, r1, r3 80831be: 1ad3 subs r3, r2, r3 80831c0: 4a99 ldr r2, [pc, #612] ; (8083428 ) 80831c2: fba2 1203 umull r1, r2, r2, r3 80831c6: 0952 lsrs r2, r2, #5 80831c8: 2164 movs r1, #100 ; 0x64 80831ca: fb01 f202 mul.w r2, r1, r2 80831ce: 1a9a subs r2, r3, r2 80831d0: 4b96 ldr r3, [pc, #600] ; (808342c ) 80831d2: fba3 2302 umull r2, r3, r3, r2 80831d6: 08db lsrs r3, r3, #3 80831d8: b2db uxtb r3, r3 80831da: f887 33c6 strb.w r3, [r7, #966] ; 0x3c6 ikdLP = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 80831de: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 80831e2: 0953 lsrs r3, r2, #5 80831e4: 498c ldr r1, [pc, #560] ; (8083418 ) 80831e6: fba1 1303 umull r1, r3, r1, r3 80831ea: 09db lsrs r3, r3, #7 80831ec: 498b ldr r1, [pc, #556] ; (808341c ) 80831ee: fb01 f303 mul.w r3, r1, r3 80831f2: 1ad3 subs r3, r2, r3 80831f4: 4a8a ldr r2, [pc, #552] ; (8083420 ) 80831f6: fba2 1203 umull r1, r2, r2, r3 80831fa: 0b52 lsrs r2, r2, #13 80831fc: f242 7110 movw r1, #10000 ; 0x2710 8083200: fb01 f202 mul.w r2, r1, r2 8083204: 1a9a subs r2, r3, r2 8083206: 4b87 ldr r3, [pc, #540] ; (8083424 ) 8083208: fba3 1302 umull r1, r3, r3, r2 808320c: 099b lsrs r3, r3, #6 808320e: f44f 717a mov.w r1, #1000 ; 0x3e8 8083212: fb01 f303 mul.w r3, r1, r3 8083216: 1ad3 subs r3, r2, r3 8083218: 4a83 ldr r2, [pc, #524] ; (8083428 ) 808321a: fba2 1203 umull r1, r2, r2, r3 808321e: 0952 lsrs r2, r2, #5 8083220: 2164 movs r1, #100 ; 0x64 8083222: fb01 f202 mul.w r2, r1, r2 8083226: 1a9a subs r2, r3, r2 8083228: 4b80 ldr r3, [pc, #512] ; (808342c ) 808322a: fba3 1302 umull r1, r3, r3, r2 808322e: 08d9 lsrs r1, r3, #3 8083230: 460b mov r3, r1 8083232: 009b lsls r3, r3, #2 8083234: 440b add r3, r1 8083236: 005b lsls r3, r3, #1 8083238: 1ad1 subs r1, r2, r3 808323a: b2cb uxtb r3, r1 808323c: f887 33c5 strb.w r3, [r7, #965] ; 0x3c5 i = 0; 8083240: 2300 movs r3, #0 8083242: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 memset(strLP, 0, sizeof(strLP)); 8083246: f507 73cc add.w r3, r7, #408 ; 0x198 808324a: 220c movs r2, #12 808324c: 2100 movs r1, #0 808324e: 4618 mov r0, r3 8083250: f049 fefa bl 80cd048 if(idtLP != 0) 8083254: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 8083258: b2db uxtb r3, r3 808325a: 2b00 cmp r3, #0 808325c: d00c beq.n 8083278 strLP[i++] = idtLP + 48; 808325e: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8083262: 1c5a adds r2, r3, #1 8083264: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8083268: f897 23ca ldrb.w r2, [r7, #970] ; 0x3ca 808326c: b2d2 uxtb r2, r2 808326e: 3230 adds r2, #48 ; 0x30 8083270: b2d1 uxtb r1, r2 8083272: f507 72cc add.w r2, r7, #408 ; 0x198 8083276: 54d1 strb r1, [r2, r3] if((ietLP != 0) || (idtLP != 0)) 8083278: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 808327c: b2db uxtb r3, r3 808327e: 2b00 cmp r3, #0 8083280: d104 bne.n 808328c 8083282: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 8083286: b2db uxtb r3, r3 8083288: 2b00 cmp r3, #0 808328a: d00c beq.n 80832a6 strLP[i++] = ietLP + 48; 808328c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8083290: 1c5a adds r2, r3, #1 8083292: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8083296: f897 23c9 ldrb.w r2, [r7, #969] ; 0x3c9 808329a: b2d2 uxtb r2, r2 808329c: 3230 adds r2, #48 ; 0x30 808329e: b2d1 uxtb r1, r2 80832a0: f507 72cc add.w r2, r7, #408 ; 0x198 80832a4: 54d1 strb r1, [r2, r3] if((iesLP != 0) || (ietLP != 0) || (idtLP != 0)) 80832a6: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 80832aa: b2db uxtb r3, r3 80832ac: 2b00 cmp r3, #0 80832ae: d109 bne.n 80832c4 80832b0: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 80832b4: b2db uxtb r3, r3 80832b6: 2b00 cmp r3, #0 80832b8: d104 bne.n 80832c4 80832ba: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 80832be: b2db uxtb r3, r3 80832c0: 2b00 cmp r3, #0 80832c2: d00c beq.n 80832de strLP[i++] = iesLP + 48; 80832c4: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80832c8: 1c5a adds r2, r3, #1 80832ca: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 80832ce: f897 23c8 ldrb.w r2, [r7, #968] ; 0x3c8 80832d2: b2d2 uxtb r2, r2 80832d4: 3230 adds r2, #48 ; 0x30 80832d6: b2d1 uxtb r1, r2 80832d8: f507 72cc add.w r2, r7, #408 ; 0x198 80832dc: 54d1 strb r1, [r2, r3] if((iedLP != 0) || (iesLP != 0) || (ietLP != 0) || (idtLP != 0)) 80832de: f897 33c7 ldrb.w r3, [r7, #967] ; 0x3c7 80832e2: b2db uxtb r3, r3 80832e4: 2b00 cmp r3, #0 80832e6: d10e bne.n 8083306 80832e8: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 80832ec: b2db uxtb r3, r3 80832ee: 2b00 cmp r3, #0 80832f0: d109 bne.n 8083306 80832f2: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 80832f6: b2db uxtb r3, r3 80832f8: 2b00 cmp r3, #0 80832fa: d104 bne.n 8083306 80832fc: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 8083300: b2db uxtb r3, r3 8083302: 2b00 cmp r3, #0 8083304: d00c beq.n 8083320 strLP[i++] = iedLP + 48; 8083306: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808330a: 1c5a adds r2, r3, #1 808330c: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8083310: f897 23c7 ldrb.w r2, [r7, #967] ; 0x3c7 8083314: b2d2 uxtb r2, r2 8083316: 3230 adds r2, #48 ; 0x30 8083318: b2d1 uxtb r1, r2 808331a: f507 72cc add.w r2, r7, #408 ; 0x198 808331e: 54d1 strb r1, [r2, r3] strLP[i++] = ieeLP + 48; 8083320: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8083324: 1c5a adds r2, r3, #1 8083326: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808332a: f897 23c6 ldrb.w r2, [r7, #966] ; 0x3c6 808332e: b2d2 uxtb r2, r2 8083330: 3230 adds r2, #48 ; 0x30 8083332: b2d1 uxtb r1, r2 8083334: f507 72cc add.w r2, r7, #408 ; 0x198 8083338: 54d1 strb r1, [r2, r3] strLP[i++] = '.'; 808333a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808333e: 1c5a adds r2, r3, #1 8083340: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8083344: f507 72cc add.w r2, r7, #408 ; 0x198 8083348: 212e movs r1, #46 ; 0x2e 808334a: 54d1 strb r1, [r2, r3] strLP[i++] = ikdLP + 48; 808334c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8083350: 1c5a adds r2, r3, #1 8083352: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8083356: f897 23c5 ldrb.w r2, [r7, #965] ; 0x3c5 808335a: b2d2 uxtb r2, r2 808335c: 3230 adds r2, #48 ; 0x30 808335e: b2d1 uxtb r1, r2 8083360: f507 72cc add.w r2, r7, #408 ; 0x198 8083364: 54d1 strb r1, [r2, r3] LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8083366: 4932 ldr r1, [pc, #200] ; (8083430 ) 8083368: f04f 30ff mov.w r0, #4294967295 808336c: f7d0 fa1e bl 80537ac if(pardata.LANG == RUS) 8083370: 4b30 ldr r3, [pc, #192] ; (8083434 ) 8083372: 7b1b ldrb r3, [r3, #12] 8083374: b2db uxtb r3, r3 8083376: 2b00 cmp r3, #0 8083378: d105 bne.n 8083386 LCD_DisplayString(10, LCD_LINE_3, "Ñïåêòð"); 808337a: 4a2f ldr r2, [pc, #188] ; (8083438 ) 808337c: 213a movs r1, #58 ; 0x3a 808337e: 200a movs r0, #10 8083380: f7d0 ffbc bl 80542fc 8083384: e004 b.n 8083390 else LCD_DisplayString(10, LCD_LINE_3, "Spectrum type"); 8083386: 4a2d ldr r2, [pc, #180] ; (808343c ) 8083388: 213a movs r1, #58 ; 0x3a 808338a: 200a movs r0, #10 808338c: f7d0 ffb6 bl 80542fc switch(pardata.OPTIONS & maskFFT) 8083390: 4b28 ldr r3, [pc, #160] ; (8083434 ) 8083392: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8083396: f003 0330 and.w r3, r3, #48 ; 0x30 808339a: 2b10 cmp r3, #16 808339c: d00d beq.n 80833ba 808339e: 2b10 cmp r3, #16 80833a0: d803 bhi.n 80833aa 80833a2: 2b00 cmp r3, #0 80833a4: d009 beq.n 80833ba break; } //******************************************************************************************************************************************* break; 80833a6: f014 b925 b.w 80975f4 switch(pardata.OPTIONS & maskFFT) 80833aa: 2b20 cmp r3, #32 80833ac: f003 8027 beq.w 80863fe 80833b0: 2b30 cmp r3, #48 ; 0x30 80833b2: f003 8024 beq.w 80863fe break; 80833b6: f014 b91d b.w 80975f4 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80833ba: 491d ldr r1, [pc, #116] ; (8083430 ) 80833bc: f04f 30ff mov.w r0, #4294967295 80833c0: f7d0 f9f4 bl 80537ac if(pardata.LANG == RUS) 80833c4: 4b1b ldr r3, [pc, #108] ; (8083434 ) 80833c6: 7b1b ldrb r3, [r3, #12] 80833c8: b2db uxtb r3, r3 80833ca: 2b00 cmp r3, #0 80833cc: d146 bne.n 808345c LCD_DisplayString(10, LCD_LINE_4, "Âåëè÷èíà"); 80833ce: 4a1c ldr r2, [pc, #112] ; (8083440 ) 80833d0: 214a movs r1, #74 ; 0x4a 80833d2: 200a movs r0, #10 80833d4: f7d0 ff92 bl 80542fc LCD_DisplayString(10, LCD_LINE_5, "Ôèëüòð Â×(Ãö)"); 80833d8: 4a1a ldr r2, [pc, #104] ; (8083444 ) 80833da: 215a movs r1, #90 ; 0x5a 80833dc: 200a movs r0, #10 80833de: f7d0 ff8d bl 80542fc LCD_DisplayString(10, LCD_LINE_6, "Ôèëüòð Í×(Ãö)"); 80833e2: 4a19 ldr r2, [pc, #100] ; (8083448 ) 80833e4: 216a movs r1, #106 ; 0x6a 80833e6: 200a movs r0, #10 80833e8: f7d0 ff88 bl 80542fc LCD_DisplayString(10, LCD_LINE_7, "×àñò.ðàçðåø.(Ãö)"); 80833ec: 4a17 ldr r2, [pc, #92] ; (808344c ) 80833ee: 217a movs r1, #122 ; 0x7a 80833f0: 200a movs r0, #10 80833f2: f7d0 ff83 bl 80542fc LCD_DisplayString(10, LCD_LINE_8, "Ìàñøòàá ïî Y"); 80833f6: 4a16 ldr r2, [pc, #88] ; (8083450 ) 80833f8: 218a movs r1, #138 ; 0x8a 80833fa: 200a movs r0, #10 80833fc: f7d0 ff7e bl 80542fc LCD_DisplayString(10, LCD_LINE_9, "Îêíî"); 8083400: 4a14 ldr r2, [pc, #80] ; (8083454 ) 8083402: 219a movs r1, #154 ; 0x9a 8083404: 200a movs r0, #10 8083406: f7d0 ff79 bl 80542fc LCD_DisplayString(10, LCD_LINE_10, "Óñðåäíåíèå(êîë-âî)"); 808340a: 4a13 ldr r2, [pc, #76] ; (8083458 ) 808340c: 21aa movs r1, #170 ; 0xaa 808340e: 200a movs r0, #10 8083410: f7d0 ff74 bl 80542fc 8083414: e045 b.n 80834a2 8083416: bf00 nop 8083418: 0a7c5ac5 .word 0x0a7c5ac5 808341c: 000186a0 .word 0x000186a0 8083420: d1b71759 .word 0xd1b71759 8083424: 10624dd3 .word 0x10624dd3 8083428: 51eb851f .word 0x51eb851f 808342c: cccccccd .word 0xcccccccd 8083430: ff0a0f1f .word 0xff0a0f1f 8083434: 20023e60 .word 0x20023e60 8083438: 080ced48 .word 0x080ced48 808343c: 080d003c .word 0x080d003c 8083440: 080cf728 .word 0x080cf728 8083444: 080cf1d0 .word 0x080cf1d0 8083448: 080cf1e0 .word 0x080cf1e0 808344c: 080d004c .word 0x080d004c 8083450: 080d0060 .word 0x080d0060 8083454: 080cf414 .word 0x080cf414 8083458: 080cf37c .word 0x080cf37c LCD_DisplayString(10, LCD_LINE_4, "Parameter"); 808345c: 4aad ldr r2, [pc, #692] ; (8083714 ) 808345e: 214a movs r1, #74 ; 0x4a 8083460: 200a movs r0, #10 8083462: f7d0 ff4b bl 80542fc LCD_DisplayString(10, LCD_LINE_5, "HPF(Hz)"); 8083466: 4aac ldr r2, [pc, #688] ; (8083718 ) 8083468: 215a movs r1, #90 ; 0x5a 808346a: 200a movs r0, #10 808346c: f7d0 ff46 bl 80542fc LCD_DisplayString(10, LCD_LINE_6, "LPF(Hz)"); 8083470: 4aaa ldr r2, [pc, #680] ; (808371c ) 8083472: 216a movs r1, #106 ; 0x6a 8083474: 200a movs r0, #10 8083476: f7d0 ff41 bl 80542fc LCD_DisplayString(10, LCD_LINE_7, "Resolution(Hz)"); 808347a: 4aa9 ldr r2, [pc, #676] ; (8083720 ) 808347c: 217a movs r1, #122 ; 0x7a 808347e: 200a movs r0, #10 8083480: f7d0 ff3c bl 80542fc LCD_DisplayString(10, LCD_LINE_8, "Scale Y"); 8083484: 4aa7 ldr r2, [pc, #668] ; (8083724 ) 8083486: 218a movs r1, #138 ; 0x8a 8083488: 200a movs r0, #10 808348a: f7d0 ff37 bl 80542fc LCD_DisplayString(10, LCD_LINE_9, "Window"); 808348e: 4aa6 ldr r2, [pc, #664] ; (8083728 ) 8083490: 219a movs r1, #154 ; 0x9a 8083492: 200a movs r0, #10 8083494: f7d0 ff32 bl 80542fc LCD_DisplayString(10, LCD_LINE_10, "Num.average"); 8083498: 4aa4 ldr r2, [pc, #656] ; (808372c ) 808349a: 21aa movs r1, #170 ; 0xaa 808349c: 200a movs r0, #10 808349e: f7d0 ff2d bl 80542fc LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_VIB[pardata.LANG][8]);//"Óñèëåíèå" 80834a2: 4ba3 ldr r3, [pc, #652] ; (8083730 ) 80834a4: 7b1b ldrb r3, [r3, #12] 80834a6: b2db uxtb r3, r3 80834a8: 4619 mov r1, r3 80834aa: 4aa2 ldr r2, [pc, #648] ; (8083734 ) 80834ac: 232c movs r3, #44 ; 0x2c 80834ae: fb03 f301 mul.w r3, r3, r1 80834b2: 4413 add r3, r2 80834b4: 3320 adds r3, #32 80834b6: 681b ldr r3, [r3, #0] 80834b8: 461a mov r2, r3 80834ba: 21ba movs r1, #186 ; 0xba 80834bc: 200a movs r0, #10 80834be: f7d0 ff1d bl 80542fc BSP_LCD_FillRect(255, CHECKBOX_LINE_11, 10, 10); 80834c2: 230a movs r3, #10 80834c4: 220a movs r2, #10 80834c6: 21bd movs r1, #189 ; 0xbd 80834c8: 20ff movs r0, #255 ; 0xff 80834ca: f7d0 fdfd bl 80540c8 if(menupos == Ok) 80834ce: 4b9a ldr r3, [pc, #616] ; (8083738 ) 80834d0: 781b ldrb r3, [r3, #0] 80834d2: b2db uxtb r3, r3 80834d4: 2b00 cmp r3, #0 80834d6: f040 8145 bne.w 8083764 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80834da: 4998 ldr r1, [pc, #608] ; (808373c ) 80834dc: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80834e0: f7d0 f964 bl 80537ac LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]);//"Äàëåå" 80834e4: 4b92 ldr r3, [pc, #584] ; (8083730 ) 80834e6: 7b1b ldrb r3, [r3, #12] 80834e8: b2db uxtb r3, r3 80834ea: 461a mov r2, r3 80834ec: 4b94 ldr r3, [pc, #592] ; (8083740 ) 80834ee: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80834f2: 461a mov r2, r3 80834f4: 2127 movs r1, #39 ; 0x27 80834f6: 200a movs r0, #10 80834f8: f7d0 ff00 bl 80542fc LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80834fc: 498f ldr r1, [pc, #572] ; (808373c ) 80834fe: f04f 30ff mov.w r0, #4294967295 8083502: f7d0 f953 bl 80537ac LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8083506: 498d ldr r1, [pc, #564] ; (808373c ) 8083508: 488e ldr r0, [pc, #568] ; (8083744 ) 808350a: f7d0 f94f bl 80537ac if((pardata.OPTIONS & maskFFT) == fft) 808350e: 4b88 ldr r3, [pc, #544] ; (8083730 ) 8083510: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8083514: f003 0330 and.w r3, r3, #48 ; 0x30 8083518: 2b00 cmp r3, #0 808351a: d10d bne.n 8083538 LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][0]); 808351c: 4b84 ldr r3, [pc, #528] ; (8083730 ) 808351e: 7b1b ldrb r3, [r3, #12] 8083520: b2db uxtb r3, r3 8083522: 4a89 ldr r2, [pc, #548] ; (8083748 ) 8083524: 011b lsls r3, r3, #4 8083526: 4413 add r3, r2 8083528: 681b ldr r3, [r3, #0] 808352a: 461a mov r2, r3 808352c: 213a movs r1, #58 ; 0x3a 808352e: f44f 7082 mov.w r0, #260 ; 0x104 8083532: f7d0 fefb bl 805432c 8083536: e00d b.n 8083554 else LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][1]); 8083538: 4b7d ldr r3, [pc, #500] ; (8083730 ) 808353a: 7b1b ldrb r3, [r3, #12] 808353c: b2db uxtb r3, r3 808353e: 4a82 ldr r2, [pc, #520] ; (8083748 ) 8083540: 011b lsls r3, r3, #4 8083542: 4413 add r3, r2 8083544: 3304 adds r3, #4 8083546: 681b ldr r3, [r3, #0] 8083548: 461a mov r2, r3 808354a: 213a movs r1, #58 ; 0x3a 808354c: f44f 7082 mov.w r0, #260 ; 0x104 8083550: f7d0 feec bl 805432c LCD_DisplayStringC(260, LCD_LINE_4, (char *) pIPR_OKT[pardata.LANG][(pardata.IPR << 1) | pardata.IVS[pardata.IPR]]); 8083554: 4b76 ldr r3, [pc, #472] ; (8083730 ) 8083556: 7b1b ldrb r3, [r3, #12] 8083558: b2db uxtb r3, r3 808355a: 4618 mov r0, r3 808355c: 4b74 ldr r3, [pc, #464] ; (8083730 ) 808355e: 785b ldrb r3, [r3, #1] 8083560: b2db uxtb r3, r3 8083562: 005b lsls r3, r3, #1 8083564: 4a72 ldr r2, [pc, #456] ; (8083730 ) 8083566: 7852 ldrb r2, [r2, #1] 8083568: b2d2 uxtb r2, r2 808356a: 4611 mov r1, r2 808356c: 4a70 ldr r2, [pc, #448] ; (8083730 ) 808356e: 440a add r2, r1 8083570: 7892 ldrb r2, [r2, #2] 8083572: b2d2 uxtb r2, r2 8083574: 431a orrs r2, r3 8083576: 4975 ldr r1, [pc, #468] ; (808374c ) 8083578: 4603 mov r3, r0 808357a: 005b lsls r3, r3, #1 808357c: 4403 add r3, r0 808357e: 005b lsls r3, r3, #1 8083580: 4413 add r3, r2 8083582: f851 3023 ldr.w r3, [r1, r3, lsl #2] 8083586: 461a mov r2, r3 8083588: 214a movs r1, #74 ; 0x4a 808358a: f44f 7082 mov.w r0, #260 ; 0x104 808358e: f7d0 fecd bl 805432c LCD_DisplayStringC(260, LCD_LINE_5, strHP); 8083592: f507 73d2 add.w r3, r7, #420 ; 0x1a4 8083596: 461a mov r2, r3 8083598: 215a movs r1, #90 ; 0x5a 808359a: f44f 7082 mov.w r0, #260 ; 0x104 808359e: f7d0 fec5 bl 805432c LCD_DisplayStringC(260, LCD_LINE_6, strLP); 80835a2: f507 73cc add.w r3, r7, #408 ; 0x198 80835a6: 461a mov r2, r3 80835a8: 216a movs r1, #106 ; 0x6a 80835aa: f44f 7082 mov.w r0, #260 ; 0x104 80835ae: f7d0 febd bl 805432c LCD_DisplayStringC(260, LCD_LINE_7, str1); // ×àñòîòíîå ðàçðåøåíèå 80835b2: f507 73f6 add.w r3, r7, #492 ; 0x1ec 80835b6: 461a mov r2, r3 80835b8: 217a movs r1, #122 ; 0x7a 80835ba: f44f 7082 mov.w r0, #260 ; 0x104 80835be: f7d0 feb5 bl 805432c LCD_DisplayStringC(260, LCD_LINE_8, (char *) pMSH[pardata.LANG][pardata.MSH]); 80835c2: 4b5b ldr r3, [pc, #364] ; (8083730 ) 80835c4: 7b1b ldrb r3, [r3, #12] 80835c6: b2db uxtb r3, r3 80835c8: 4618 mov r0, r3 80835ca: 4b59 ldr r3, [pc, #356] ; (8083730 ) 80835cc: 7a9b ldrb r3, [r3, #10] 80835ce: b2db uxtb r3, r3 80835d0: 4619 mov r1, r3 80835d2: 4a5f ldr r2, [pc, #380] ; (8083750 ) 80835d4: 0043 lsls r3, r0, #1 80835d6: 440b add r3, r1 80835d8: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80835dc: 461a mov r2, r3 80835de: 218a movs r1, #138 ; 0x8a 80835e0: f44f 7082 mov.w r0, #260 ; 0x104 80835e4: f7d0 fea2 bl 805432c LCD_DisplayStringC(260, LCD_LINE_9, (char *) pWIN[pardata.LANG][pardata.WIN]); 80835e8: 4b51 ldr r3, [pc, #324] ; (8083730 ) 80835ea: 7b1b ldrb r3, [r3, #12] 80835ec: b2db uxtb r3, r3 80835ee: 4619 mov r1, r3 80835f0: 4b4f ldr r3, [pc, #316] ; (8083730 ) 80835f2: 7a5b ldrb r3, [r3, #9] 80835f4: b2db uxtb r3, r3 80835f6: 4618 mov r0, r3 80835f8: 4a56 ldr r2, [pc, #344] ; (8083754 ) 80835fa: 460b mov r3, r1 80835fc: 009b lsls r3, r3, #2 80835fe: 440b add r3, r1 8083600: 4403 add r3, r0 8083602: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8083606: 461a mov r2, r3 8083608: 219a movs r1, #154 ; 0x9a 808360a: f44f 7082 mov.w r0, #260 ; 0x104 808360e: f7d0 fe8d bl 805432c LCD_DisplayStringC(260, LCD_LINE_10, (char *) pAVERAGE[pardata.AVG]); 8083612: 4b47 ldr r3, [pc, #284] ; (8083730 ) 8083614: 7b5b ldrb r3, [r3, #13] 8083616: b2db uxtb r3, r3 8083618: 461a mov r2, r3 808361a: 4b4f ldr r3, [pc, #316] ; (8083758 ) 808361c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8083620: 461a mov r2, r3 8083622: 21aa movs r1, #170 ; 0xaa 8083624: f44f 7082 mov.w r0, #260 ; 0x104 8083628: f7d0 fe80 bl 805432c if(pardata.OPTIONS & BIT2) // åñëè àâòîóñèëåíèå 808362c: 4b40 ldr r3, [pc, #256] ; (8083730 ) 808362e: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8083632: f003 0304 and.w r3, r3, #4 8083636: 2b00 cmp r3, #0 8083638: d033 beq.n 80836a2 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 808363a: 4940 ldr r1, [pc, #256] ; (808373c ) 808363c: 4847 ldr r0, [pc, #284] ; (808375c ) 808363e: f7d0 f8b5 bl 80537ac if(pardata.IIN != VOLTS) 8083642: 4b3b ldr r3, [pc, #236] ; (8083730 ) 8083644: 799b ldrb r3, [r3, #6] 8083646: b2db uxtb r3, r3 8083648: 2b02 cmp r3, #2 808364a: d010 beq.n 808366e LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 808364c: 4b38 ldr r3, [pc, #224] ; (8083730 ) 808364e: 7b1b ldrb r3, [r3, #12] 8083650: b2db uxtb r3, r3 8083652: 4619 mov r1, r3 8083654: 4a37 ldr r2, [pc, #220] ; (8083734 ) 8083656: 232c movs r3, #44 ; 0x2c 8083658: fb03 f301 mul.w r3, r3, r1 808365c: 4413 add r3, r2 808365e: 3324 adds r3, #36 ; 0x24 8083660: 681b ldr r3, [r3, #0] 8083662: 461a mov r2, r3 8083664: 21ca movs r1, #202 ; 0xca 8083666: 200a movs r0, #10 8083668: f7d0 fe48 bl 80542fc 808366c: e00f b.n 808368e else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 808366e: 4b30 ldr r3, [pc, #192] ; (8083730 ) 8083670: 7b1b ldrb r3, [r3, #12] 8083672: b2db uxtb r3, r3 8083674: 4619 mov r1, r3 8083676: 4a3a ldr r2, [pc, #232] ; (8083760 ) 8083678: 232c movs r3, #44 ; 0x2c 808367a: fb03 f301 mul.w r3, r3, r1 808367e: 4413 add r3, r2 8083680: 3324 adds r3, #36 ; 0x24 8083682: 681b ldr r3, [r3, #0] 8083684: 461a mov r2, r3 8083686: 21ca movs r1, #202 ; 0xca 8083688: 200a movs r0, #10 808368a: f7d0 fe37 bl 80542fc LCD_DisplayStringC(260, LCD_LINE_12, str); 808368e: f507 733b add.w r3, r7, #748 ; 0x2ec 8083692: 461a mov r2, r3 8083694: 21ca movs r1, #202 ; 0xca 8083696: f44f 7082 mov.w r0, #260 ; 0x104 808369a: f7d0 fe47 bl 805432c 808369e: f002 be99 b.w 80863d4 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80836a2: 4926 ldr r1, [pc, #152] ; (808373c ) 80836a4: f04f 30ff mov.w r0, #4294967295 80836a8: f7d0 f880 bl 80537ac if(pardata.IIN != VOLTS) 80836ac: 4b20 ldr r3, [pc, #128] ; (8083730 ) 80836ae: 799b ldrb r3, [r3, #6] 80836b0: b2db uxtb r3, r3 80836b2: 2b02 cmp r3, #2 80836b4: d010 beq.n 80836d8 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 80836b6: 4b1e ldr r3, [pc, #120] ; (8083730 ) 80836b8: 7b1b ldrb r3, [r3, #12] 80836ba: b2db uxtb r3, r3 80836bc: 4619 mov r1, r3 80836be: 4a1d ldr r2, [pc, #116] ; (8083734 ) 80836c0: 232c movs r3, #44 ; 0x2c 80836c2: fb03 f301 mul.w r3, r3, r1 80836c6: 4413 add r3, r2 80836c8: 3324 adds r3, #36 ; 0x24 80836ca: 681b ldr r3, [r3, #0] 80836cc: 461a mov r2, r3 80836ce: 21ca movs r1, #202 ; 0xca 80836d0: 200a movs r0, #10 80836d2: f7d0 fe13 bl 80542fc 80836d6: e00f b.n 80836f8 else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 80836d8: 4b15 ldr r3, [pc, #84] ; (8083730 ) 80836da: 7b1b ldrb r3, [r3, #12] 80836dc: b2db uxtb r3, r3 80836de: 4619 mov r1, r3 80836e0: 4a1f ldr r2, [pc, #124] ; (8083760 ) 80836e2: 232c movs r3, #44 ; 0x2c 80836e4: fb03 f301 mul.w r3, r3, r1 80836e8: 4413 add r3, r2 80836ea: 3324 adds r3, #36 ; 0x24 80836ec: 681b ldr r3, [r3, #0] 80836ee: 461a mov r2, r3 80836f0: 21ca movs r1, #202 ; 0xca 80836f2: 200a movs r0, #10 80836f4: f7d0 fe02 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80836f8: 4910 ldr r1, [pc, #64] ; (808373c ) 80836fa: 4812 ldr r0, [pc, #72] ; (8083744 ) 80836fc: f7d0 f856 bl 80537ac LCD_DisplayStringC(260, LCD_LINE_12, str); 8083700: f507 733b add.w r3, r7, #748 ; 0x2ec 8083704: 461a mov r2, r3 8083706: 21ca movs r1, #202 ; 0xca 8083708: f44f 7082 mov.w r0, #260 ; 0x104 808370c: f7d0 fe0e bl 805432c 8083710: f002 be60 b.w 80863d4 8083714: 080cf734 .word 0x080cf734 8083718: 080cf280 .word 0x080cf280 808371c: 080cf288 .word 0x080cf288 8083720: 080d0070 .word 0x080d0070 8083724: 080d0080 .word 0x080d0080 8083728: 080cf424 .word 0x080cf424 808372c: 080cf3ec .word 0x080cf3ec 8083730: 20023e60 .word 0x20023e60 8083734: 200206b4 .word 0x200206b4 8083738: 20020070 .word 0x20020070 808373c: ff0a0f1f .word 0xff0a0f1f 8083740: 200205c4 .word 0x200205c4 8083744: ffd8aa57 .word 0xffd8aa57 8083748: 2002029c .word 0x2002029c 808374c: 2002019c .word 0x2002019c 8083750: 20020214 .word 0x20020214 8083754: 200201ec .word 0x200201ec 8083758: 20020224 .word 0x20020224 808375c: ff808080 .word 0xff808080 8083760: 2002070c .word 0x2002070c if(menupos == SpecType) 8083764: 4ba7 ldr r3, [pc, #668] ; (8083a04 ) 8083766: 781b ldrb r3, [r3, #0] 8083768: b2db uxtb r3, r3 808376a: 2b01 cmp r3, #1 808376c: f040 8168 bne.w 8083a40 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8083770: 49a5 ldr r1, [pc, #660] ; (8083a08 ) 8083772: f04f 30ff mov.w r0, #4294967295 8083776: f7d0 f819 bl 80537ac LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]);//"Äàëåå" 808377a: 4ba4 ldr r3, [pc, #656] ; (8083a0c ) 808377c: 7b1b ldrb r3, [r3, #12] 808377e: b2db uxtb r3, r3 8083780: 461a mov r2, r3 8083782: 4ba3 ldr r3, [pc, #652] ; (8083a10 ) 8083784: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8083788: 461a mov r2, r3 808378a: 2127 movs r1, #39 ; 0x27 808378c: 200a movs r0, #10 808378e: f7d0 fdb5 bl 80542fc LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8083792: 499d ldr r1, [pc, #628] ; (8083a08 ) 8083794: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8083798: f7d0 f808 bl 80537ac if(focused) 808379c: 4b9d ldr r3, [pc, #628] ; (8083a14 ) 808379e: 781b ldrb r3, [r3, #0] 80837a0: b2db uxtb r3, r3 80837a2: 2b00 cmp r3, #0 80837a4: d027 beq.n 80837f6 if(blk) 80837a6: 4b9c ldr r3, [pc, #624] ; (8083a18 ) 80837a8: 681b ldr r3, [r3, #0] 80837aa: 2b00 cmp r3, #0 80837ac: d046 beq.n 808383c if((pardata.OPTIONS & maskFFT) == fft) 80837ae: 4b97 ldr r3, [pc, #604] ; (8083a0c ) 80837b0: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80837b4: f003 0330 and.w r3, r3, #48 ; 0x30 80837b8: 2b00 cmp r3, #0 80837ba: d10d bne.n 80837d8 LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][0]); 80837bc: 4b93 ldr r3, [pc, #588] ; (8083a0c ) 80837be: 7b1b ldrb r3, [r3, #12] 80837c0: b2db uxtb r3, r3 80837c2: 4a96 ldr r2, [pc, #600] ; (8083a1c ) 80837c4: 011b lsls r3, r3, #4 80837c6: 4413 add r3, r2 80837c8: 681b ldr r3, [r3, #0] 80837ca: 461a mov r2, r3 80837cc: 213a movs r1, #58 ; 0x3a 80837ce: f44f 7082 mov.w r0, #260 ; 0x104 80837d2: f7d0 fdab bl 805432c 80837d6: e031 b.n 808383c else LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][1]); 80837d8: 4b8c ldr r3, [pc, #560] ; (8083a0c ) 80837da: 7b1b ldrb r3, [r3, #12] 80837dc: b2db uxtb r3, r3 80837de: 4a8f ldr r2, [pc, #572] ; (8083a1c ) 80837e0: 011b lsls r3, r3, #4 80837e2: 4413 add r3, r2 80837e4: 3304 adds r3, #4 80837e6: 681b ldr r3, [r3, #0] 80837e8: 461a mov r2, r3 80837ea: 213a movs r1, #58 ; 0x3a 80837ec: f44f 7082 mov.w r0, #260 ; 0x104 80837f0: f7d0 fd9c bl 805432c 80837f4: e022 b.n 808383c if((pardata.OPTIONS & maskFFT) == fft) 80837f6: 4b85 ldr r3, [pc, #532] ; (8083a0c ) 80837f8: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80837fc: f003 0330 and.w r3, r3, #48 ; 0x30 8083800: 2b00 cmp r3, #0 8083802: d10d bne.n 8083820 LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][0]); 8083804: 4b81 ldr r3, [pc, #516] ; (8083a0c ) 8083806: 7b1b ldrb r3, [r3, #12] 8083808: b2db uxtb r3, r3 808380a: 4a84 ldr r2, [pc, #528] ; (8083a1c ) 808380c: 011b lsls r3, r3, #4 808380e: 4413 add r3, r2 8083810: 681b ldr r3, [r3, #0] 8083812: 461a mov r2, r3 8083814: 213a movs r1, #58 ; 0x3a 8083816: f44f 7082 mov.w r0, #260 ; 0x104 808381a: f7d0 fd87 bl 805432c 808381e: e00d b.n 808383c else LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][1]); 8083820: 4b7a ldr r3, [pc, #488] ; (8083a0c ) 8083822: 7b1b ldrb r3, [r3, #12] 8083824: b2db uxtb r3, r3 8083826: 4a7d ldr r2, [pc, #500] ; (8083a1c ) 8083828: 011b lsls r3, r3, #4 808382a: 4413 add r3, r2 808382c: 3304 adds r3, #4 808382e: 681b ldr r3, [r3, #0] 8083830: 461a mov r2, r3 8083832: 213a movs r1, #58 ; 0x3a 8083834: f44f 7082 mov.w r0, #260 ; 0x104 8083838: f7d0 fd78 bl 805432c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808383c: 4972 ldr r1, [pc, #456] ; (8083a08 ) 808383e: 4878 ldr r0, [pc, #480] ; (8083a20 ) 8083840: f7cf ffb4 bl 80537ac LCD_DisplayStringC(260, LCD_LINE_4, (char *) pIPR_OKT[pardata.LANG][(pardata.IPR << 1) | pardata.IVS[pardata.IPR]]); 8083844: 4b71 ldr r3, [pc, #452] ; (8083a0c ) 8083846: 7b1b ldrb r3, [r3, #12] 8083848: b2db uxtb r3, r3 808384a: 4618 mov r0, r3 808384c: 4b6f ldr r3, [pc, #444] ; (8083a0c ) 808384e: 785b ldrb r3, [r3, #1] 8083850: b2db uxtb r3, r3 8083852: 005b lsls r3, r3, #1 8083854: 4a6d ldr r2, [pc, #436] ; (8083a0c ) 8083856: 7852 ldrb r2, [r2, #1] 8083858: b2d2 uxtb r2, r2 808385a: 4611 mov r1, r2 808385c: 4a6b ldr r2, [pc, #428] ; (8083a0c ) 808385e: 440a add r2, r1 8083860: 7892 ldrb r2, [r2, #2] 8083862: b2d2 uxtb r2, r2 8083864: 431a orrs r2, r3 8083866: 496f ldr r1, [pc, #444] ; (8083a24 ) 8083868: 4603 mov r3, r0 808386a: 005b lsls r3, r3, #1 808386c: 4403 add r3, r0 808386e: 005b lsls r3, r3, #1 8083870: 4413 add r3, r2 8083872: f851 3023 ldr.w r3, [r1, r3, lsl #2] 8083876: 461a mov r2, r3 8083878: 214a movs r1, #74 ; 0x4a 808387a: f44f 7082 mov.w r0, #260 ; 0x104 808387e: f7d0 fd55 bl 805432c LCD_DisplayStringC(260, LCD_LINE_5, strHP); 8083882: f507 73d2 add.w r3, r7, #420 ; 0x1a4 8083886: 461a mov r2, r3 8083888: 215a movs r1, #90 ; 0x5a 808388a: f44f 7082 mov.w r0, #260 ; 0x104 808388e: f7d0 fd4d bl 805432c LCD_DisplayStringC(260, LCD_LINE_6, strLP); 8083892: f507 73cc add.w r3, r7, #408 ; 0x198 8083896: 461a mov r2, r3 8083898: 216a movs r1, #106 ; 0x6a 808389a: f44f 7082 mov.w r0, #260 ; 0x104 808389e: f7d0 fd45 bl 805432c LCD_DisplayStringC(260, LCD_LINE_7, str1); // ×àñòîòíîå ðàçðåøåíèå 80838a2: f507 73f6 add.w r3, r7, #492 ; 0x1ec 80838a6: 461a mov r2, r3 80838a8: 217a movs r1, #122 ; 0x7a 80838aa: f44f 7082 mov.w r0, #260 ; 0x104 80838ae: f7d0 fd3d bl 805432c LCD_DisplayStringC(260, LCD_LINE_8, (char *) pMSH[pardata.LANG][pardata.MSH]); 80838b2: 4b56 ldr r3, [pc, #344] ; (8083a0c ) 80838b4: 7b1b ldrb r3, [r3, #12] 80838b6: b2db uxtb r3, r3 80838b8: 4618 mov r0, r3 80838ba: 4b54 ldr r3, [pc, #336] ; (8083a0c ) 80838bc: 7a9b ldrb r3, [r3, #10] 80838be: b2db uxtb r3, r3 80838c0: 4619 mov r1, r3 80838c2: 4a59 ldr r2, [pc, #356] ; (8083a28 ) 80838c4: 0043 lsls r3, r0, #1 80838c6: 440b add r3, r1 80838c8: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80838cc: 461a mov r2, r3 80838ce: 218a movs r1, #138 ; 0x8a 80838d0: f44f 7082 mov.w r0, #260 ; 0x104 80838d4: f7d0 fd2a bl 805432c LCD_DisplayStringC(260, LCD_LINE_9, (char *) pWIN[pardata.LANG][pardata.WIN]); 80838d8: 4b4c ldr r3, [pc, #304] ; (8083a0c ) 80838da: 7b1b ldrb r3, [r3, #12] 80838dc: b2db uxtb r3, r3 80838de: 4619 mov r1, r3 80838e0: 4b4a ldr r3, [pc, #296] ; (8083a0c ) 80838e2: 7a5b ldrb r3, [r3, #9] 80838e4: b2db uxtb r3, r3 80838e6: 4618 mov r0, r3 80838e8: 4a50 ldr r2, [pc, #320] ; (8083a2c ) 80838ea: 460b mov r3, r1 80838ec: 009b lsls r3, r3, #2 80838ee: 440b add r3, r1 80838f0: 4403 add r3, r0 80838f2: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80838f6: 461a mov r2, r3 80838f8: 219a movs r1, #154 ; 0x9a 80838fa: f44f 7082 mov.w r0, #260 ; 0x104 80838fe: f7d0 fd15 bl 805432c LCD_DisplayStringC(260, LCD_LINE_10, (char *) pAVERAGE[pardata.AVG]); 8083902: 4b42 ldr r3, [pc, #264] ; (8083a0c ) 8083904: 7b5b ldrb r3, [r3, #13] 8083906: b2db uxtb r3, r3 8083908: 461a mov r2, r3 808390a: 4b49 ldr r3, [pc, #292] ; (8083a30 ) 808390c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8083910: 461a mov r2, r3 8083912: 21aa movs r1, #170 ; 0xaa 8083914: f44f 7082 mov.w r0, #260 ; 0x104 8083918: f7d0 fd08 bl 805432c if(pardata.OPTIONS & BIT2) // åñëè àâòîóñèëåíèå 808391c: 4b3b ldr r3, [pc, #236] ; (8083a0c ) 808391e: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8083922: f003 0304 and.w r3, r3, #4 8083926: 2b00 cmp r3, #0 8083928: d033 beq.n 8083992 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 808392a: 4937 ldr r1, [pc, #220] ; (8083a08 ) 808392c: 4841 ldr r0, [pc, #260] ; (8083a34 ) 808392e: f7cf ff3d bl 80537ac if(pardata.IIN != VOLTS) 8083932: 4b36 ldr r3, [pc, #216] ; (8083a0c ) 8083934: 799b ldrb r3, [r3, #6] 8083936: b2db uxtb r3, r3 8083938: 2b02 cmp r3, #2 808393a: d010 beq.n 808395e LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 808393c: 4b33 ldr r3, [pc, #204] ; (8083a0c ) 808393e: 7b1b ldrb r3, [r3, #12] 8083940: b2db uxtb r3, r3 8083942: 4619 mov r1, r3 8083944: 4a3c ldr r2, [pc, #240] ; (8083a38 ) 8083946: 232c movs r3, #44 ; 0x2c 8083948: fb03 f301 mul.w r3, r3, r1 808394c: 4413 add r3, r2 808394e: 3324 adds r3, #36 ; 0x24 8083950: 681b ldr r3, [r3, #0] 8083952: 461a mov r2, r3 8083954: 21ca movs r1, #202 ; 0xca 8083956: 200a movs r0, #10 8083958: f7d0 fcd0 bl 80542fc 808395c: e00f b.n 808397e else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 808395e: 4b2b ldr r3, [pc, #172] ; (8083a0c ) 8083960: 7b1b ldrb r3, [r3, #12] 8083962: b2db uxtb r3, r3 8083964: 4619 mov r1, r3 8083966: 4a35 ldr r2, [pc, #212] ; (8083a3c ) 8083968: 232c movs r3, #44 ; 0x2c 808396a: fb03 f301 mul.w r3, r3, r1 808396e: 4413 add r3, r2 8083970: 3324 adds r3, #36 ; 0x24 8083972: 681b ldr r3, [r3, #0] 8083974: 461a mov r2, r3 8083976: 21ca movs r1, #202 ; 0xca 8083978: 200a movs r0, #10 808397a: f7d0 fcbf bl 80542fc LCD_DisplayStringC(260, LCD_LINE_12, str); 808397e: f507 733b add.w r3, r7, #748 ; 0x2ec 8083982: 461a mov r2, r3 8083984: 21ca movs r1, #202 ; 0xca 8083986: f44f 7082 mov.w r0, #260 ; 0x104 808398a: f7d0 fccf bl 805432c 808398e: f002 bd21 b.w 80863d4 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8083992: 491d ldr r1, [pc, #116] ; (8083a08 ) 8083994: f04f 30ff mov.w r0, #4294967295 8083998: f7cf ff08 bl 80537ac if(pardata.IIN != VOLTS) 808399c: 4b1b ldr r3, [pc, #108] ; (8083a0c ) 808399e: 799b ldrb r3, [r3, #6] 80839a0: b2db uxtb r3, r3 80839a2: 2b02 cmp r3, #2 80839a4: d010 beq.n 80839c8 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 80839a6: 4b19 ldr r3, [pc, #100] ; (8083a0c ) 80839a8: 7b1b ldrb r3, [r3, #12] 80839aa: b2db uxtb r3, r3 80839ac: 4619 mov r1, r3 80839ae: 4a22 ldr r2, [pc, #136] ; (8083a38 ) 80839b0: 232c movs r3, #44 ; 0x2c 80839b2: fb03 f301 mul.w r3, r3, r1 80839b6: 4413 add r3, r2 80839b8: 3324 adds r3, #36 ; 0x24 80839ba: 681b ldr r3, [r3, #0] 80839bc: 461a mov r2, r3 80839be: 21ca movs r1, #202 ; 0xca 80839c0: 200a movs r0, #10 80839c2: f7d0 fc9b bl 80542fc 80839c6: e00f b.n 80839e8 else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 80839c8: 4b10 ldr r3, [pc, #64] ; (8083a0c ) 80839ca: 7b1b ldrb r3, [r3, #12] 80839cc: b2db uxtb r3, r3 80839ce: 4619 mov r1, r3 80839d0: 4a1a ldr r2, [pc, #104] ; (8083a3c ) 80839d2: 232c movs r3, #44 ; 0x2c 80839d4: fb03 f301 mul.w r3, r3, r1 80839d8: 4413 add r3, r2 80839da: 3324 adds r3, #36 ; 0x24 80839dc: 681b ldr r3, [r3, #0] 80839de: 461a mov r2, r3 80839e0: 21ca movs r1, #202 ; 0xca 80839e2: 200a movs r0, #10 80839e4: f7d0 fc8a bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80839e8: 4907 ldr r1, [pc, #28] ; (8083a08 ) 80839ea: 480d ldr r0, [pc, #52] ; (8083a20 ) 80839ec: f7cf fede bl 80537ac LCD_DisplayStringC(260, LCD_LINE_12, str); 80839f0: f507 733b add.w r3, r7, #748 ; 0x2ec 80839f4: 461a mov r2, r3 80839f6: 21ca movs r1, #202 ; 0xca 80839f8: f44f 7082 mov.w r0, #260 ; 0x104 80839fc: f7d0 fc96 bl 805432c 8083a00: f002 bce8 b.w 80863d4 8083a04: 20020070 .word 0x20020070 8083a08: ff0a0f1f .word 0xff0a0f1f 8083a0c: 20023e60 .word 0x20023e60 8083a10: 200205c4 .word 0x200205c4 8083a14: 20020f84 .word 0x20020f84 8083a18: 2002165c .word 0x2002165c 8083a1c: 2002029c .word 0x2002029c 8083a20: ffd8aa57 .word 0xffd8aa57 8083a24: 2002019c .word 0x2002019c 8083a28: 20020214 .word 0x20020214 8083a2c: 200201ec .word 0x200201ec 8083a30: 20020224 .word 0x20020224 8083a34: ff808080 .word 0xff808080 8083a38: 200206b4 .word 0x200206b4 8083a3c: 2002070c .word 0x2002070c if(menupos == SpecValue) 8083a40: 4bc4 ldr r3, [pc, #784] ; (8083d54 ) 8083a42: 781b ldrb r3, [r3, #0] 8083a44: b2db uxtb r3, r3 8083a46: 2b02 cmp r3, #2 8083a48: f040 8146 bne.w 8083cd8 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8083a4c: 49c2 ldr r1, [pc, #776] ; (8083d58 ) 8083a4e: f04f 30ff mov.w r0, #4294967295 8083a52: f7cf feab bl 80537ac LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]);//"Äàëåå" 8083a56: 4bc1 ldr r3, [pc, #772] ; (8083d5c ) 8083a58: 7b1b ldrb r3, [r3, #12] 8083a5a: b2db uxtb r3, r3 8083a5c: 461a mov r2, r3 8083a5e: 4bc0 ldr r3, [pc, #768] ; (8083d60 ) 8083a60: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8083a64: 461a mov r2, r3 8083a66: 2127 movs r1, #39 ; 0x27 8083a68: 200a movs r0, #10 8083a6a: f7d0 fc47 bl 80542fc LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8083a6e: 49ba ldr r1, [pc, #744] ; (8083d58 ) 8083a70: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8083a74: f7cf fe9a bl 80537ac if(focused) 8083a78: 4bba ldr r3, [pc, #744] ; (8083d64 ) 8083a7a: 781b ldrb r3, [r3, #0] 8083a7c: b2db uxtb r3, r3 8083a7e: 2b00 cmp r3, #0 8083a80: d023 beq.n 8083aca if(blk) 8083a82: 4bb9 ldr r3, [pc, #740] ; (8083d68 ) 8083a84: 681b ldr r3, [r3, #0] 8083a86: 2b00 cmp r3, #0 8083a88: d03e beq.n 8083b08 LCD_DisplayStringC(260, LCD_LINE_4, (char *) pIPR_OKT[pardata.LANG][(pardata.IPR << 1) | pardata.IVS[pardata.IPR]]); 8083a8a: 4bb4 ldr r3, [pc, #720] ; (8083d5c ) 8083a8c: 7b1b ldrb r3, [r3, #12] 8083a8e: b2db uxtb r3, r3 8083a90: 4618 mov r0, r3 8083a92: 4bb2 ldr r3, [pc, #712] ; (8083d5c ) 8083a94: 785b ldrb r3, [r3, #1] 8083a96: b2db uxtb r3, r3 8083a98: 005b lsls r3, r3, #1 8083a9a: 4ab0 ldr r2, [pc, #704] ; (8083d5c ) 8083a9c: 7852 ldrb r2, [r2, #1] 8083a9e: b2d2 uxtb r2, r2 8083aa0: 4611 mov r1, r2 8083aa2: 4aae ldr r2, [pc, #696] ; (8083d5c ) 8083aa4: 440a add r2, r1 8083aa6: 7892 ldrb r2, [r2, #2] 8083aa8: b2d2 uxtb r2, r2 8083aaa: 431a orrs r2, r3 8083aac: 49af ldr r1, [pc, #700] ; (8083d6c ) 8083aae: 4603 mov r3, r0 8083ab0: 005b lsls r3, r3, #1 8083ab2: 4403 add r3, r0 8083ab4: 005b lsls r3, r3, #1 8083ab6: 4413 add r3, r2 8083ab8: f851 3023 ldr.w r3, [r1, r3, lsl #2] 8083abc: 461a mov r2, r3 8083abe: 214a movs r1, #74 ; 0x4a 8083ac0: f44f 7082 mov.w r0, #260 ; 0x104 8083ac4: f7d0 fc32 bl 805432c 8083ac8: e01e b.n 8083b08 LCD_DisplayStringC(260, LCD_LINE_4, (char *) pIPR_OKT[pardata.LANG][(pardata.IPR << 1) | pardata.IVS[pardata.IPR]]); 8083aca: 4ba4 ldr r3, [pc, #656] ; (8083d5c ) 8083acc: 7b1b ldrb r3, [r3, #12] 8083ace: b2db uxtb r3, r3 8083ad0: 4618 mov r0, r3 8083ad2: 4ba2 ldr r3, [pc, #648] ; (8083d5c ) 8083ad4: 785b ldrb r3, [r3, #1] 8083ad6: b2db uxtb r3, r3 8083ad8: 005b lsls r3, r3, #1 8083ada: 4aa0 ldr r2, [pc, #640] ; (8083d5c ) 8083adc: 7852 ldrb r2, [r2, #1] 8083ade: b2d2 uxtb r2, r2 8083ae0: 4611 mov r1, r2 8083ae2: 4a9e ldr r2, [pc, #632] ; (8083d5c ) 8083ae4: 440a add r2, r1 8083ae6: 7892 ldrb r2, [r2, #2] 8083ae8: b2d2 uxtb r2, r2 8083aea: 431a orrs r2, r3 8083aec: 499f ldr r1, [pc, #636] ; (8083d6c ) 8083aee: 4603 mov r3, r0 8083af0: 005b lsls r3, r3, #1 8083af2: 4403 add r3, r0 8083af4: 005b lsls r3, r3, #1 8083af6: 4413 add r3, r2 8083af8: f851 3023 ldr.w r3, [r1, r3, lsl #2] 8083afc: 461a mov r2, r3 8083afe: 214a movs r1, #74 ; 0x4a 8083b00: f44f 7082 mov.w r0, #260 ; 0x104 8083b04: f7d0 fc12 bl 805432c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8083b08: 4993 ldr r1, [pc, #588] ; (8083d58 ) 8083b0a: 4899 ldr r0, [pc, #612] ; (8083d70 ) 8083b0c: f7cf fe4e bl 80537ac if((pardata.OPTIONS & maskFFT) == fft) 8083b10: 4b92 ldr r3, [pc, #584] ; (8083d5c ) 8083b12: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8083b16: f003 0330 and.w r3, r3, #48 ; 0x30 8083b1a: 2b00 cmp r3, #0 8083b1c: d10d bne.n 8083b3a LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][0]); 8083b1e: 4b8f ldr r3, [pc, #572] ; (8083d5c ) 8083b20: 7b1b ldrb r3, [r3, #12] 8083b22: b2db uxtb r3, r3 8083b24: 4a93 ldr r2, [pc, #588] ; (8083d74 ) 8083b26: 011b lsls r3, r3, #4 8083b28: 4413 add r3, r2 8083b2a: 681b ldr r3, [r3, #0] 8083b2c: 461a mov r2, r3 8083b2e: 213a movs r1, #58 ; 0x3a 8083b30: f44f 7082 mov.w r0, #260 ; 0x104 8083b34: f7d0 fbfa bl 805432c 8083b38: e00d b.n 8083b56 else LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][1]); 8083b3a: 4b88 ldr r3, [pc, #544] ; (8083d5c ) 8083b3c: 7b1b ldrb r3, [r3, #12] 8083b3e: b2db uxtb r3, r3 8083b40: 4a8c ldr r2, [pc, #560] ; (8083d74 ) 8083b42: 011b lsls r3, r3, #4 8083b44: 4413 add r3, r2 8083b46: 3304 adds r3, #4 8083b48: 681b ldr r3, [r3, #0] 8083b4a: 461a mov r2, r3 8083b4c: 213a movs r1, #58 ; 0x3a 8083b4e: f44f 7082 mov.w r0, #260 ; 0x104 8083b52: f7d0 fbeb bl 805432c LCD_DisplayStringC(260, LCD_LINE_5, strHP); 8083b56: f507 73d2 add.w r3, r7, #420 ; 0x1a4 8083b5a: 461a mov r2, r3 8083b5c: 215a movs r1, #90 ; 0x5a 8083b5e: f44f 7082 mov.w r0, #260 ; 0x104 8083b62: f7d0 fbe3 bl 805432c LCD_DisplayStringC(260, LCD_LINE_6, strLP); 8083b66: f507 73cc add.w r3, r7, #408 ; 0x198 8083b6a: 461a mov r2, r3 8083b6c: 216a movs r1, #106 ; 0x6a 8083b6e: f44f 7082 mov.w r0, #260 ; 0x104 8083b72: f7d0 fbdb bl 805432c LCD_DisplayStringC(260, LCD_LINE_7, str1); // ×àñòîòíîå ðàçðåøåíèå 8083b76: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8083b7a: 461a mov r2, r3 8083b7c: 217a movs r1, #122 ; 0x7a 8083b7e: f44f 7082 mov.w r0, #260 ; 0x104 8083b82: f7d0 fbd3 bl 805432c LCD_DisplayStringC(260, LCD_LINE_8, (char *) pMSH[pardata.LANG][pardata.MSH]); 8083b86: 4b75 ldr r3, [pc, #468] ; (8083d5c ) 8083b88: 7b1b ldrb r3, [r3, #12] 8083b8a: b2db uxtb r3, r3 8083b8c: 4618 mov r0, r3 8083b8e: 4b73 ldr r3, [pc, #460] ; (8083d5c ) 8083b90: 7a9b ldrb r3, [r3, #10] 8083b92: b2db uxtb r3, r3 8083b94: 4619 mov r1, r3 8083b96: 4a78 ldr r2, [pc, #480] ; (8083d78 ) 8083b98: 0043 lsls r3, r0, #1 8083b9a: 440b add r3, r1 8083b9c: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8083ba0: 461a mov r2, r3 8083ba2: 218a movs r1, #138 ; 0x8a 8083ba4: f44f 7082 mov.w r0, #260 ; 0x104 8083ba8: f7d0 fbc0 bl 805432c LCD_DisplayStringC(260, LCD_LINE_9, (char *) pWIN[pardata.LANG][pardata.WIN]); 8083bac: 4b6b ldr r3, [pc, #428] ; (8083d5c ) 8083bae: 7b1b ldrb r3, [r3, #12] 8083bb0: b2db uxtb r3, r3 8083bb2: 4619 mov r1, r3 8083bb4: 4b69 ldr r3, [pc, #420] ; (8083d5c ) 8083bb6: 7a5b ldrb r3, [r3, #9] 8083bb8: b2db uxtb r3, r3 8083bba: 4618 mov r0, r3 8083bbc: 4a6f ldr r2, [pc, #444] ; (8083d7c ) 8083bbe: 460b mov r3, r1 8083bc0: 009b lsls r3, r3, #2 8083bc2: 440b add r3, r1 8083bc4: 4403 add r3, r0 8083bc6: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8083bca: 461a mov r2, r3 8083bcc: 219a movs r1, #154 ; 0x9a 8083bce: f44f 7082 mov.w r0, #260 ; 0x104 8083bd2: f7d0 fbab bl 805432c LCD_DisplayStringC(260, LCD_LINE_10, (char *) pAVERAGE[pardata.AVG]); 8083bd6: 4b61 ldr r3, [pc, #388] ; (8083d5c ) 8083bd8: 7b5b ldrb r3, [r3, #13] 8083bda: b2db uxtb r3, r3 8083bdc: 461a mov r2, r3 8083bde: 4b68 ldr r3, [pc, #416] ; (8083d80 ) 8083be0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8083be4: 461a mov r2, r3 8083be6: 21aa movs r1, #170 ; 0xaa 8083be8: f44f 7082 mov.w r0, #260 ; 0x104 8083bec: f7d0 fb9e bl 805432c if(pardata.OPTIONS & BIT2) // åñëè àâòîóñèëåíèå 8083bf0: 4b5a ldr r3, [pc, #360] ; (8083d5c ) 8083bf2: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8083bf6: f003 0304 and.w r3, r3, #4 8083bfa: 2b00 cmp r3, #0 8083bfc: d033 beq.n 8083c66 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8083bfe: 4956 ldr r1, [pc, #344] ; (8083d58 ) 8083c00: 4860 ldr r0, [pc, #384] ; (8083d84 ) 8083c02: f7cf fdd3 bl 80537ac if(pardata.IIN != VOLTS) 8083c06: 4b55 ldr r3, [pc, #340] ; (8083d5c ) 8083c08: 799b ldrb r3, [r3, #6] 8083c0a: b2db uxtb r3, r3 8083c0c: 2b02 cmp r3, #2 8083c0e: d010 beq.n 8083c32 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8083c10: 4b52 ldr r3, [pc, #328] ; (8083d5c ) 8083c12: 7b1b ldrb r3, [r3, #12] 8083c14: b2db uxtb r3, r3 8083c16: 4619 mov r1, r3 8083c18: 4a5b ldr r2, [pc, #364] ; (8083d88 ) 8083c1a: 232c movs r3, #44 ; 0x2c 8083c1c: fb03 f301 mul.w r3, r3, r1 8083c20: 4413 add r3, r2 8083c22: 3324 adds r3, #36 ; 0x24 8083c24: 681b ldr r3, [r3, #0] 8083c26: 461a mov r2, r3 8083c28: 21ca movs r1, #202 ; 0xca 8083c2a: 200a movs r0, #10 8083c2c: f7d0 fb66 bl 80542fc 8083c30: e00f b.n 8083c52 else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8083c32: 4b4a ldr r3, [pc, #296] ; (8083d5c ) 8083c34: 7b1b ldrb r3, [r3, #12] 8083c36: b2db uxtb r3, r3 8083c38: 4619 mov r1, r3 8083c3a: 4a54 ldr r2, [pc, #336] ; (8083d8c ) 8083c3c: 232c movs r3, #44 ; 0x2c 8083c3e: fb03 f301 mul.w r3, r3, r1 8083c42: 4413 add r3, r2 8083c44: 3324 adds r3, #36 ; 0x24 8083c46: 681b ldr r3, [r3, #0] 8083c48: 461a mov r2, r3 8083c4a: 21ca movs r1, #202 ; 0xca 8083c4c: 200a movs r0, #10 8083c4e: f7d0 fb55 bl 80542fc LCD_DisplayStringC(260, LCD_LINE_12, str); 8083c52: f507 733b add.w r3, r7, #748 ; 0x2ec 8083c56: 461a mov r2, r3 8083c58: 21ca movs r1, #202 ; 0xca 8083c5a: f44f 7082 mov.w r0, #260 ; 0x104 8083c5e: f7d0 fb65 bl 805432c 8083c62: f002 bbb7 b.w 80863d4 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8083c66: 493c ldr r1, [pc, #240] ; (8083d58 ) 8083c68: f04f 30ff mov.w r0, #4294967295 8083c6c: f7cf fd9e bl 80537ac if(pardata.IIN != VOLTS) 8083c70: 4b3a ldr r3, [pc, #232] ; (8083d5c ) 8083c72: 799b ldrb r3, [r3, #6] 8083c74: b2db uxtb r3, r3 8083c76: 2b02 cmp r3, #2 8083c78: d010 beq.n 8083c9c LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8083c7a: 4b38 ldr r3, [pc, #224] ; (8083d5c ) 8083c7c: 7b1b ldrb r3, [r3, #12] 8083c7e: b2db uxtb r3, r3 8083c80: 4619 mov r1, r3 8083c82: 4a41 ldr r2, [pc, #260] ; (8083d88 ) 8083c84: 232c movs r3, #44 ; 0x2c 8083c86: fb03 f301 mul.w r3, r3, r1 8083c8a: 4413 add r3, r2 8083c8c: 3324 adds r3, #36 ; 0x24 8083c8e: 681b ldr r3, [r3, #0] 8083c90: 461a mov r2, r3 8083c92: 21ca movs r1, #202 ; 0xca 8083c94: 200a movs r0, #10 8083c96: f7d0 fb31 bl 80542fc 8083c9a: e00f b.n 8083cbc else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8083c9c: 4b2f ldr r3, [pc, #188] ; (8083d5c ) 8083c9e: 7b1b ldrb r3, [r3, #12] 8083ca0: b2db uxtb r3, r3 8083ca2: 4619 mov r1, r3 8083ca4: 4a39 ldr r2, [pc, #228] ; (8083d8c ) 8083ca6: 232c movs r3, #44 ; 0x2c 8083ca8: fb03 f301 mul.w r3, r3, r1 8083cac: 4413 add r3, r2 8083cae: 3324 adds r3, #36 ; 0x24 8083cb0: 681b ldr r3, [r3, #0] 8083cb2: 461a mov r2, r3 8083cb4: 21ca movs r1, #202 ; 0xca 8083cb6: 200a movs r0, #10 8083cb8: f7d0 fb20 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8083cbc: 4926 ldr r1, [pc, #152] ; (8083d58 ) 8083cbe: 482c ldr r0, [pc, #176] ; (8083d70 ) 8083cc0: f7cf fd74 bl 80537ac LCD_DisplayStringC(260, LCD_LINE_12, str); 8083cc4: f507 733b add.w r3, r7, #748 ; 0x2ec 8083cc8: 461a mov r2, r3 8083cca: 21ca movs r1, #202 ; 0xca 8083ccc: f44f 7082 mov.w r0, #260 ; 0x104 8083cd0: f7d0 fb2c bl 805432c 8083cd4: f002 bb7e b.w 80863d4 if(menupos == FilterHP) 8083cd8: 4b1e ldr r3, [pc, #120] ; (8083d54 ) 8083cda: 781b ldrb r3, [r3, #0] 8083cdc: b2db uxtb r3, r3 8083cde: 2b17 cmp r3, #23 8083ce0: f040 813c bne.w 8083f5c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8083ce4: 491c ldr r1, [pc, #112] ; (8083d58 ) 8083ce6: f04f 30ff mov.w r0, #4294967295 8083cea: f7cf fd5f bl 80537ac LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]);//"Äàëåå" 8083cee: 4b1b ldr r3, [pc, #108] ; (8083d5c ) 8083cf0: 7b1b ldrb r3, [r3, #12] 8083cf2: b2db uxtb r3, r3 8083cf4: 461a mov r2, r3 8083cf6: 4b1a ldr r3, [pc, #104] ; (8083d60 ) 8083cf8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8083cfc: 461a mov r2, r3 8083cfe: 2127 movs r1, #39 ; 0x27 8083d00: 200a movs r0, #10 8083d02: f7d0 fafb bl 80542fc LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8083d06: 4914 ldr r1, [pc, #80] ; (8083d58 ) 8083d08: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8083d0c: f7cf fd4e bl 80537ac LCD_DisplayStringC(260, LCD_LINE_5, strHP); 8083d10: f507 73d2 add.w r3, r7, #420 ; 0x1a4 8083d14: 461a mov r2, r3 8083d16: 215a movs r1, #90 ; 0x5a 8083d18: f44f 7082 mov.w r0, #260 ; 0x104 8083d1c: f7d0 fb06 bl 805432c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8083d20: 490d ldr r1, [pc, #52] ; (8083d58 ) 8083d22: 4813 ldr r0, [pc, #76] ; (8083d70 ) 8083d24: f7cf fd42 bl 80537ac if((pardata.OPTIONS & maskFFT) == fft) 8083d28: 4b0c ldr r3, [pc, #48] ; (8083d5c ) 8083d2a: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8083d2e: f003 0330 and.w r3, r3, #48 ; 0x30 8083d32: 2b00 cmp r3, #0 8083d34: d12c bne.n 8083d90 LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][0]); 8083d36: 4b09 ldr r3, [pc, #36] ; (8083d5c ) 8083d38: 7b1b ldrb r3, [r3, #12] 8083d3a: b2db uxtb r3, r3 8083d3c: 4a0d ldr r2, [pc, #52] ; (8083d74 ) 8083d3e: 011b lsls r3, r3, #4 8083d40: 4413 add r3, r2 8083d42: 681b ldr r3, [r3, #0] 8083d44: 461a mov r2, r3 8083d46: 213a movs r1, #58 ; 0x3a 8083d48: f44f 7082 mov.w r0, #260 ; 0x104 8083d4c: f7d0 faee bl 805432c 8083d50: e02c b.n 8083dac 8083d52: bf00 nop 8083d54: 20020070 .word 0x20020070 8083d58: ff0a0f1f .word 0xff0a0f1f 8083d5c: 20023e60 .word 0x20023e60 8083d60: 200205c4 .word 0x200205c4 8083d64: 20020f84 .word 0x20020f84 8083d68: 2002165c .word 0x2002165c 8083d6c: 2002019c .word 0x2002019c 8083d70: ffd8aa57 .word 0xffd8aa57 8083d74: 2002029c .word 0x2002029c 8083d78: 20020214 .word 0x20020214 8083d7c: 200201ec .word 0x200201ec 8083d80: 20020224 .word 0x20020224 8083d84: ff808080 .word 0xff808080 8083d88: 200206b4 .word 0x200206b4 8083d8c: 2002070c .word 0x2002070c else LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][1]); 8083d90: 4b91 ldr r3, [pc, #580] ; (8083fd8 ) 8083d92: 7b1b ldrb r3, [r3, #12] 8083d94: b2db uxtb r3, r3 8083d96: 4a91 ldr r2, [pc, #580] ; (8083fdc ) 8083d98: 011b lsls r3, r3, #4 8083d9a: 4413 add r3, r2 8083d9c: 3304 adds r3, #4 8083d9e: 681b ldr r3, [r3, #0] 8083da0: 461a mov r2, r3 8083da2: 213a movs r1, #58 ; 0x3a 8083da4: f44f 7082 mov.w r0, #260 ; 0x104 8083da8: f7d0 fac0 bl 805432c LCD_DisplayStringC(260, LCD_LINE_4, (char *) pIPR_OKT[pardata.LANG][(pardata.IPR << 1) | pardata.IVS[pardata.IPR]]); 8083dac: 4b8a ldr r3, [pc, #552] ; (8083fd8 ) 8083dae: 7b1b ldrb r3, [r3, #12] 8083db0: b2db uxtb r3, r3 8083db2: 4618 mov r0, r3 8083db4: 4b88 ldr r3, [pc, #544] ; (8083fd8 ) 8083db6: 785b ldrb r3, [r3, #1] 8083db8: b2db uxtb r3, r3 8083dba: 005b lsls r3, r3, #1 8083dbc: 4a86 ldr r2, [pc, #536] ; (8083fd8 ) 8083dbe: 7852 ldrb r2, [r2, #1] 8083dc0: b2d2 uxtb r2, r2 8083dc2: 4611 mov r1, r2 8083dc4: 4a84 ldr r2, [pc, #528] ; (8083fd8 ) 8083dc6: 440a add r2, r1 8083dc8: 7892 ldrb r2, [r2, #2] 8083dca: b2d2 uxtb r2, r2 8083dcc: 431a orrs r2, r3 8083dce: 4984 ldr r1, [pc, #528] ; (8083fe0 ) 8083dd0: 4603 mov r3, r0 8083dd2: 005b lsls r3, r3, #1 8083dd4: 4403 add r3, r0 8083dd6: 005b lsls r3, r3, #1 8083dd8: 4413 add r3, r2 8083dda: f851 3023 ldr.w r3, [r1, r3, lsl #2] 8083dde: 461a mov r2, r3 8083de0: 214a movs r1, #74 ; 0x4a 8083de2: f44f 7082 mov.w r0, #260 ; 0x104 8083de6: f7d0 faa1 bl 805432c LCD_DisplayStringC(260, LCD_LINE_6, strLP); 8083dea: f507 73cc add.w r3, r7, #408 ; 0x198 8083dee: 461a mov r2, r3 8083df0: 216a movs r1, #106 ; 0x6a 8083df2: f44f 7082 mov.w r0, #260 ; 0x104 8083df6: f7d0 fa99 bl 805432c LCD_DisplayStringC(260, LCD_LINE_7, str1); // ×àñòîòíîå ðàçðåøåíèå 8083dfa: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8083dfe: 461a mov r2, r3 8083e00: 217a movs r1, #122 ; 0x7a 8083e02: f44f 7082 mov.w r0, #260 ; 0x104 8083e06: f7d0 fa91 bl 805432c LCD_DisplayStringC(260, LCD_LINE_8, (char *) pMSH[pardata.LANG][pardata.MSH]); 8083e0a: 4b73 ldr r3, [pc, #460] ; (8083fd8 ) 8083e0c: 7b1b ldrb r3, [r3, #12] 8083e0e: b2db uxtb r3, r3 8083e10: 4618 mov r0, r3 8083e12: 4b71 ldr r3, [pc, #452] ; (8083fd8 ) 8083e14: 7a9b ldrb r3, [r3, #10] 8083e16: b2db uxtb r3, r3 8083e18: 4619 mov r1, r3 8083e1a: 4a72 ldr r2, [pc, #456] ; (8083fe4 ) 8083e1c: 0043 lsls r3, r0, #1 8083e1e: 440b add r3, r1 8083e20: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8083e24: 461a mov r2, r3 8083e26: 218a movs r1, #138 ; 0x8a 8083e28: f44f 7082 mov.w r0, #260 ; 0x104 8083e2c: f7d0 fa7e bl 805432c LCD_DisplayStringC(260, LCD_LINE_9, (char *) pWIN[pardata.LANG][pardata.WIN]); 8083e30: 4b69 ldr r3, [pc, #420] ; (8083fd8 ) 8083e32: 7b1b ldrb r3, [r3, #12] 8083e34: b2db uxtb r3, r3 8083e36: 4619 mov r1, r3 8083e38: 4b67 ldr r3, [pc, #412] ; (8083fd8 ) 8083e3a: 7a5b ldrb r3, [r3, #9] 8083e3c: b2db uxtb r3, r3 8083e3e: 4618 mov r0, r3 8083e40: 4a69 ldr r2, [pc, #420] ; (8083fe8 ) 8083e42: 460b mov r3, r1 8083e44: 009b lsls r3, r3, #2 8083e46: 440b add r3, r1 8083e48: 4403 add r3, r0 8083e4a: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8083e4e: 461a mov r2, r3 8083e50: 219a movs r1, #154 ; 0x9a 8083e52: f44f 7082 mov.w r0, #260 ; 0x104 8083e56: f7d0 fa69 bl 805432c LCD_DisplayStringC(260, LCD_LINE_10, (char *) pAVERAGE[pardata.AVG]); 8083e5a: 4b5f ldr r3, [pc, #380] ; (8083fd8 ) 8083e5c: 7b5b ldrb r3, [r3, #13] 8083e5e: b2db uxtb r3, r3 8083e60: 461a mov r2, r3 8083e62: 4b62 ldr r3, [pc, #392] ; (8083fec ) 8083e64: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8083e68: 461a mov r2, r3 8083e6a: 21aa movs r1, #170 ; 0xaa 8083e6c: f44f 7082 mov.w r0, #260 ; 0x104 8083e70: f7d0 fa5c bl 805432c if(pardata.OPTIONS & BIT2) // åñëè àâòîóñèëåíèå 8083e74: 4b58 ldr r3, [pc, #352] ; (8083fd8 ) 8083e76: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8083e7a: f003 0304 and.w r3, r3, #4 8083e7e: 2b00 cmp r3, #0 8083e80: d033 beq.n 8083eea LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8083e82: 495b ldr r1, [pc, #364] ; (8083ff0 ) 8083e84: 485b ldr r0, [pc, #364] ; (8083ff4 ) 8083e86: f7cf fc91 bl 80537ac if(pardata.IIN != VOLTS) 8083e8a: 4b53 ldr r3, [pc, #332] ; (8083fd8 ) 8083e8c: 799b ldrb r3, [r3, #6] 8083e8e: b2db uxtb r3, r3 8083e90: 2b02 cmp r3, #2 8083e92: d010 beq.n 8083eb6 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8083e94: 4b50 ldr r3, [pc, #320] ; (8083fd8 ) 8083e96: 7b1b ldrb r3, [r3, #12] 8083e98: b2db uxtb r3, r3 8083e9a: 4619 mov r1, r3 8083e9c: 4a56 ldr r2, [pc, #344] ; (8083ff8 ) 8083e9e: 232c movs r3, #44 ; 0x2c 8083ea0: fb03 f301 mul.w r3, r3, r1 8083ea4: 4413 add r3, r2 8083ea6: 3324 adds r3, #36 ; 0x24 8083ea8: 681b ldr r3, [r3, #0] 8083eaa: 461a mov r2, r3 8083eac: 21ca movs r1, #202 ; 0xca 8083eae: 200a movs r0, #10 8083eb0: f7d0 fa24 bl 80542fc 8083eb4: e00f b.n 8083ed6 else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8083eb6: 4b48 ldr r3, [pc, #288] ; (8083fd8 ) 8083eb8: 7b1b ldrb r3, [r3, #12] 8083eba: b2db uxtb r3, r3 8083ebc: 4619 mov r1, r3 8083ebe: 4a4f ldr r2, [pc, #316] ; (8083ffc ) 8083ec0: 232c movs r3, #44 ; 0x2c 8083ec2: fb03 f301 mul.w r3, r3, r1 8083ec6: 4413 add r3, r2 8083ec8: 3324 adds r3, #36 ; 0x24 8083eca: 681b ldr r3, [r3, #0] 8083ecc: 461a mov r2, r3 8083ece: 21ca movs r1, #202 ; 0xca 8083ed0: 200a movs r0, #10 8083ed2: f7d0 fa13 bl 80542fc LCD_DisplayStringC(260, LCD_LINE_12, str); 8083ed6: f507 733b add.w r3, r7, #748 ; 0x2ec 8083eda: 461a mov r2, r3 8083edc: 21ca movs r1, #202 ; 0xca 8083ede: f44f 7082 mov.w r0, #260 ; 0x104 8083ee2: f7d0 fa23 bl 805432c 8083ee6: f002 ba75 b.w 80863d4 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8083eea: 4941 ldr r1, [pc, #260] ; (8083ff0 ) 8083eec: f04f 30ff mov.w r0, #4294967295 8083ef0: f7cf fc5c bl 80537ac if(pardata.IIN != VOLTS) 8083ef4: 4b38 ldr r3, [pc, #224] ; (8083fd8 ) 8083ef6: 799b ldrb r3, [r3, #6] 8083ef8: b2db uxtb r3, r3 8083efa: 2b02 cmp r3, #2 8083efc: d010 beq.n 8083f20 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8083efe: 4b36 ldr r3, [pc, #216] ; (8083fd8 ) 8083f00: 7b1b ldrb r3, [r3, #12] 8083f02: b2db uxtb r3, r3 8083f04: 4619 mov r1, r3 8083f06: 4a3c ldr r2, [pc, #240] ; (8083ff8 ) 8083f08: 232c movs r3, #44 ; 0x2c 8083f0a: fb03 f301 mul.w r3, r3, r1 8083f0e: 4413 add r3, r2 8083f10: 3324 adds r3, #36 ; 0x24 8083f12: 681b ldr r3, [r3, #0] 8083f14: 461a mov r2, r3 8083f16: 21ca movs r1, #202 ; 0xca 8083f18: 200a movs r0, #10 8083f1a: f7d0 f9ef bl 80542fc 8083f1e: e00f b.n 8083f40 else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8083f20: 4b2d ldr r3, [pc, #180] ; (8083fd8 ) 8083f22: 7b1b ldrb r3, [r3, #12] 8083f24: b2db uxtb r3, r3 8083f26: 4619 mov r1, r3 8083f28: 4a34 ldr r2, [pc, #208] ; (8083ffc ) 8083f2a: 232c movs r3, #44 ; 0x2c 8083f2c: fb03 f301 mul.w r3, r3, r1 8083f30: 4413 add r3, r2 8083f32: 3324 adds r3, #36 ; 0x24 8083f34: 681b ldr r3, [r3, #0] 8083f36: 461a mov r2, r3 8083f38: 21ca movs r1, #202 ; 0xca 8083f3a: 200a movs r0, #10 8083f3c: f7d0 f9de bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8083f40: 492b ldr r1, [pc, #172] ; (8083ff0 ) 8083f42: 482f ldr r0, [pc, #188] ; (8084000 ) 8083f44: f7cf fc32 bl 80537ac LCD_DisplayStringC(260, LCD_LINE_12, str); 8083f48: f507 733b add.w r3, r7, #748 ; 0x2ec 8083f4c: 461a mov r2, r3 8083f4e: 21ca movs r1, #202 ; 0xca 8083f50: f44f 7082 mov.w r0, #260 ; 0x104 8083f54: f7d0 f9ea bl 805432c 8083f58: f002 ba3c b.w 80863d4 if(menupos == FilterLP) 8083f5c: 4b29 ldr r3, [pc, #164] ; (8084004 ) 8083f5e: 781b ldrb r3, [r3, #0] 8083f60: b2db uxtb r3, r3 8083f62: 2b18 cmp r3, #24 8083f64: f040 8138 bne.w 80841d8 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8083f68: 4921 ldr r1, [pc, #132] ; (8083ff0 ) 8083f6a: f04f 30ff mov.w r0, #4294967295 8083f6e: f7cf fc1d bl 80537ac LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]);//"Äàëåå" 8083f72: 4b19 ldr r3, [pc, #100] ; (8083fd8 ) 8083f74: 7b1b ldrb r3, [r3, #12] 8083f76: b2db uxtb r3, r3 8083f78: 461a mov r2, r3 8083f7a: 4b23 ldr r3, [pc, #140] ; (8084008 ) 8083f7c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8083f80: 461a mov r2, r3 8083f82: 2127 movs r1, #39 ; 0x27 8083f84: 200a movs r0, #10 8083f86: f7d0 f9b9 bl 80542fc LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8083f8a: 4919 ldr r1, [pc, #100] ; (8083ff0 ) 8083f8c: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8083f90: f7cf fc0c bl 80537ac LCD_DisplayStringC(260, LCD_LINE_6, strLP); 8083f94: f507 73cc add.w r3, r7, #408 ; 0x198 8083f98: 461a mov r2, r3 8083f9a: 216a movs r1, #106 ; 0x6a 8083f9c: f44f 7082 mov.w r0, #260 ; 0x104 8083fa0: f7d0 f9c4 bl 805432c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8083fa4: 4912 ldr r1, [pc, #72] ; (8083ff0 ) 8083fa6: 4816 ldr r0, [pc, #88] ; (8084000 ) 8083fa8: f7cf fc00 bl 80537ac if((pardata.OPTIONS & maskFFT) == fft) 8083fac: 4b0a ldr r3, [pc, #40] ; (8083fd8 ) 8083fae: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8083fb2: f003 0330 and.w r3, r3, #48 ; 0x30 8083fb6: 2b00 cmp r3, #0 8083fb8: d128 bne.n 808400c LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][0]); 8083fba: 4b07 ldr r3, [pc, #28] ; (8083fd8 ) 8083fbc: 7b1b ldrb r3, [r3, #12] 8083fbe: b2db uxtb r3, r3 8083fc0: 4a06 ldr r2, [pc, #24] ; (8083fdc ) 8083fc2: 011b lsls r3, r3, #4 8083fc4: 4413 add r3, r2 8083fc6: 681b ldr r3, [r3, #0] 8083fc8: 461a mov r2, r3 8083fca: 213a movs r1, #58 ; 0x3a 8083fcc: f44f 7082 mov.w r0, #260 ; 0x104 8083fd0: f7d0 f9ac bl 805432c 8083fd4: e028 b.n 8084028 8083fd6: bf00 nop 8083fd8: 20023e60 .word 0x20023e60 8083fdc: 2002029c .word 0x2002029c 8083fe0: 2002019c .word 0x2002019c 8083fe4: 20020214 .word 0x20020214 8083fe8: 200201ec .word 0x200201ec 8083fec: 20020224 .word 0x20020224 8083ff0: ff0a0f1f .word 0xff0a0f1f 8083ff4: ff808080 .word 0xff808080 8083ff8: 200206b4 .word 0x200206b4 8083ffc: 2002070c .word 0x2002070c 8084000: ffd8aa57 .word 0xffd8aa57 8084004: 20020070 .word 0x20020070 8084008: 200205c4 .word 0x200205c4 else LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][1]); 808400c: 4b9a ldr r3, [pc, #616] ; (8084278 ) 808400e: 7b1b ldrb r3, [r3, #12] 8084010: b2db uxtb r3, r3 8084012: 4a9a ldr r2, [pc, #616] ; (808427c ) 8084014: 011b lsls r3, r3, #4 8084016: 4413 add r3, r2 8084018: 3304 adds r3, #4 808401a: 681b ldr r3, [r3, #0] 808401c: 461a mov r2, r3 808401e: 213a movs r1, #58 ; 0x3a 8084020: f44f 7082 mov.w r0, #260 ; 0x104 8084024: f7d0 f982 bl 805432c LCD_DisplayStringC(260, LCD_LINE_4, (char *) pIPR_OKT[pardata.LANG][(pardata.IPR << 1) | pardata.IVS[pardata.IPR]]); 8084028: 4b93 ldr r3, [pc, #588] ; (8084278 ) 808402a: 7b1b ldrb r3, [r3, #12] 808402c: b2db uxtb r3, r3 808402e: 4618 mov r0, r3 8084030: 4b91 ldr r3, [pc, #580] ; (8084278 ) 8084032: 785b ldrb r3, [r3, #1] 8084034: b2db uxtb r3, r3 8084036: 005b lsls r3, r3, #1 8084038: 4a8f ldr r2, [pc, #572] ; (8084278 ) 808403a: 7852 ldrb r2, [r2, #1] 808403c: b2d2 uxtb r2, r2 808403e: 4611 mov r1, r2 8084040: 4a8d ldr r2, [pc, #564] ; (8084278 ) 8084042: 440a add r2, r1 8084044: 7892 ldrb r2, [r2, #2] 8084046: b2d2 uxtb r2, r2 8084048: 431a orrs r2, r3 808404a: 498d ldr r1, [pc, #564] ; (8084280 ) 808404c: 4603 mov r3, r0 808404e: 005b lsls r3, r3, #1 8084050: 4403 add r3, r0 8084052: 005b lsls r3, r3, #1 8084054: 4413 add r3, r2 8084056: f851 3023 ldr.w r3, [r1, r3, lsl #2] 808405a: 461a mov r2, r3 808405c: 214a movs r1, #74 ; 0x4a 808405e: f44f 7082 mov.w r0, #260 ; 0x104 8084062: f7d0 f963 bl 805432c LCD_DisplayStringC(260, LCD_LINE_5, strHP); 8084066: f507 73d2 add.w r3, r7, #420 ; 0x1a4 808406a: 461a mov r2, r3 808406c: 215a movs r1, #90 ; 0x5a 808406e: f44f 7082 mov.w r0, #260 ; 0x104 8084072: f7d0 f95b bl 805432c LCD_DisplayStringC(260, LCD_LINE_7, str1); // ×àñòîòíîå ðàçðåøåíèå 8084076: f507 73f6 add.w r3, r7, #492 ; 0x1ec 808407a: 461a mov r2, r3 808407c: 217a movs r1, #122 ; 0x7a 808407e: f44f 7082 mov.w r0, #260 ; 0x104 8084082: f7d0 f953 bl 805432c LCD_DisplayStringC(260, LCD_LINE_8, (char *) pMSH[pardata.LANG][pardata.MSH]); 8084086: 4b7c ldr r3, [pc, #496] ; (8084278 ) 8084088: 7b1b ldrb r3, [r3, #12] 808408a: b2db uxtb r3, r3 808408c: 4618 mov r0, r3 808408e: 4b7a ldr r3, [pc, #488] ; (8084278 ) 8084090: 7a9b ldrb r3, [r3, #10] 8084092: b2db uxtb r3, r3 8084094: 4619 mov r1, r3 8084096: 4a7b ldr r2, [pc, #492] ; (8084284 ) 8084098: 0043 lsls r3, r0, #1 808409a: 440b add r3, r1 808409c: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80840a0: 461a mov r2, r3 80840a2: 218a movs r1, #138 ; 0x8a 80840a4: f44f 7082 mov.w r0, #260 ; 0x104 80840a8: f7d0 f940 bl 805432c LCD_DisplayStringC(260, LCD_LINE_9, (char *) pWIN[pardata.LANG][pardata.WIN]); 80840ac: 4b72 ldr r3, [pc, #456] ; (8084278 ) 80840ae: 7b1b ldrb r3, [r3, #12] 80840b0: b2db uxtb r3, r3 80840b2: 4619 mov r1, r3 80840b4: 4b70 ldr r3, [pc, #448] ; (8084278 ) 80840b6: 7a5b ldrb r3, [r3, #9] 80840b8: b2db uxtb r3, r3 80840ba: 4618 mov r0, r3 80840bc: 4a72 ldr r2, [pc, #456] ; (8084288 ) 80840be: 460b mov r3, r1 80840c0: 009b lsls r3, r3, #2 80840c2: 440b add r3, r1 80840c4: 4403 add r3, r0 80840c6: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80840ca: 461a mov r2, r3 80840cc: 219a movs r1, #154 ; 0x9a 80840ce: f44f 7082 mov.w r0, #260 ; 0x104 80840d2: f7d0 f92b bl 805432c LCD_DisplayStringC(260, LCD_LINE_10, (char *) pAVERAGE[pardata.AVG]); 80840d6: 4b68 ldr r3, [pc, #416] ; (8084278 ) 80840d8: 7b5b ldrb r3, [r3, #13] 80840da: b2db uxtb r3, r3 80840dc: 461a mov r2, r3 80840de: 4b6b ldr r3, [pc, #428] ; (808428c ) 80840e0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80840e4: 461a mov r2, r3 80840e6: 21aa movs r1, #170 ; 0xaa 80840e8: f44f 7082 mov.w r0, #260 ; 0x104 80840ec: f7d0 f91e bl 805432c if(pardata.OPTIONS & BIT2) // åñëè àâòîóñèëåíèå 80840f0: 4b61 ldr r3, [pc, #388] ; (8084278 ) 80840f2: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80840f6: f003 0304 and.w r3, r3, #4 80840fa: 2b00 cmp r3, #0 80840fc: d033 beq.n 8084166 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80840fe: 4964 ldr r1, [pc, #400] ; (8084290 ) 8084100: 4864 ldr r0, [pc, #400] ; (8084294 ) 8084102: f7cf fb53 bl 80537ac if(pardata.IIN != VOLTS) 8084106: 4b5c ldr r3, [pc, #368] ; (8084278 ) 8084108: 799b ldrb r3, [r3, #6] 808410a: b2db uxtb r3, r3 808410c: 2b02 cmp r3, #2 808410e: d010 beq.n 8084132 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8084110: 4b59 ldr r3, [pc, #356] ; (8084278 ) 8084112: 7b1b ldrb r3, [r3, #12] 8084114: b2db uxtb r3, r3 8084116: 4619 mov r1, r3 8084118: 4a5f ldr r2, [pc, #380] ; (8084298 ) 808411a: 232c movs r3, #44 ; 0x2c 808411c: fb03 f301 mul.w r3, r3, r1 8084120: 4413 add r3, r2 8084122: 3324 adds r3, #36 ; 0x24 8084124: 681b ldr r3, [r3, #0] 8084126: 461a mov r2, r3 8084128: 21ca movs r1, #202 ; 0xca 808412a: 200a movs r0, #10 808412c: f7d0 f8e6 bl 80542fc 8084130: e00f b.n 8084152 else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8084132: 4b51 ldr r3, [pc, #324] ; (8084278 ) 8084134: 7b1b ldrb r3, [r3, #12] 8084136: b2db uxtb r3, r3 8084138: 4619 mov r1, r3 808413a: 4a58 ldr r2, [pc, #352] ; (808429c ) 808413c: 232c movs r3, #44 ; 0x2c 808413e: fb03 f301 mul.w r3, r3, r1 8084142: 4413 add r3, r2 8084144: 3324 adds r3, #36 ; 0x24 8084146: 681b ldr r3, [r3, #0] 8084148: 461a mov r2, r3 808414a: 21ca movs r1, #202 ; 0xca 808414c: 200a movs r0, #10 808414e: f7d0 f8d5 bl 80542fc LCD_DisplayStringC(260, LCD_LINE_12, str); 8084152: f507 733b add.w r3, r7, #748 ; 0x2ec 8084156: 461a mov r2, r3 8084158: 21ca movs r1, #202 ; 0xca 808415a: f44f 7082 mov.w r0, #260 ; 0x104 808415e: f7d0 f8e5 bl 805432c 8084162: f002 b937 b.w 80863d4 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8084166: 494a ldr r1, [pc, #296] ; (8084290 ) 8084168: f04f 30ff mov.w r0, #4294967295 808416c: f7cf fb1e bl 80537ac if(pardata.IIN != VOLTS) 8084170: 4b41 ldr r3, [pc, #260] ; (8084278 ) 8084172: 799b ldrb r3, [r3, #6] 8084174: b2db uxtb r3, r3 8084176: 2b02 cmp r3, #2 8084178: d010 beq.n 808419c LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 808417a: 4b3f ldr r3, [pc, #252] ; (8084278 ) 808417c: 7b1b ldrb r3, [r3, #12] 808417e: b2db uxtb r3, r3 8084180: 4619 mov r1, r3 8084182: 4a45 ldr r2, [pc, #276] ; (8084298 ) 8084184: 232c movs r3, #44 ; 0x2c 8084186: fb03 f301 mul.w r3, r3, r1 808418a: 4413 add r3, r2 808418c: 3324 adds r3, #36 ; 0x24 808418e: 681b ldr r3, [r3, #0] 8084190: 461a mov r2, r3 8084192: 21ca movs r1, #202 ; 0xca 8084194: 200a movs r0, #10 8084196: f7d0 f8b1 bl 80542fc 808419a: e00f b.n 80841bc else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 808419c: 4b36 ldr r3, [pc, #216] ; (8084278 ) 808419e: 7b1b ldrb r3, [r3, #12] 80841a0: b2db uxtb r3, r3 80841a2: 4619 mov r1, r3 80841a4: 4a3d ldr r2, [pc, #244] ; (808429c ) 80841a6: 232c movs r3, #44 ; 0x2c 80841a8: fb03 f301 mul.w r3, r3, r1 80841ac: 4413 add r3, r2 80841ae: 3324 adds r3, #36 ; 0x24 80841b0: 681b ldr r3, [r3, #0] 80841b2: 461a mov r2, r3 80841b4: 21ca movs r1, #202 ; 0xca 80841b6: 200a movs r0, #10 80841b8: f7d0 f8a0 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80841bc: 4934 ldr r1, [pc, #208] ; (8084290 ) 80841be: 4838 ldr r0, [pc, #224] ; (80842a0 ) 80841c0: f7cf faf4 bl 80537ac LCD_DisplayStringC(260, LCD_LINE_12, str); 80841c4: f507 733b add.w r3, r7, #748 ; 0x2ec 80841c8: 461a mov r2, r3 80841ca: 21ca movs r1, #202 ; 0xca 80841cc: f44f 7082 mov.w r0, #260 ; 0x104 80841d0: f7d0 f8ac bl 805432c 80841d4: f002 b8fe b.w 80863d4 if(menupos == SpecLines) 80841d8: 4b32 ldr r3, [pc, #200] ; (80842a4 ) 80841da: 781b ldrb r3, [r3, #0] 80841dc: b2db uxtb r3, r3 80841de: 2b04 cmp r3, #4 80841e0: f040 814e bne.w 8084480 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80841e4: 492a ldr r1, [pc, #168] ; (8084290 ) 80841e6: f04f 30ff mov.w r0, #4294967295 80841ea: f7cf fadf bl 80537ac LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]);//"Äàëåå" 80841ee: 4b22 ldr r3, [pc, #136] ; (8084278 ) 80841f0: 7b1b ldrb r3, [r3, #12] 80841f2: b2db uxtb r3, r3 80841f4: 461a mov r2, r3 80841f6: 4b2c ldr r3, [pc, #176] ; (80842a8 ) 80841f8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80841fc: 461a mov r2, r3 80841fe: 2127 movs r1, #39 ; 0x27 8084200: 200a movs r0, #10 8084202: f7d0 f87b bl 80542fc LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8084206: 4922 ldr r1, [pc, #136] ; (8084290 ) 8084208: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808420c: f7cf face bl 80537ac if(focused) 8084210: 4b26 ldr r3, [pc, #152] ; (80842ac ) 8084212: 781b ldrb r3, [r3, #0] 8084214: b2db uxtb r3, r3 8084216: 2b00 cmp r3, #0 8084218: d00c beq.n 8084234 if(blk) 808421a: 4b25 ldr r3, [pc, #148] ; (80842b0 ) 808421c: 681b ldr r3, [r3, #0] 808421e: 2b00 cmp r3, #0 8084220: d010 beq.n 8084244 LCD_DisplayStringC(260, LCD_LINE_7, str1); // ×àñòîòíîå ðàçðåøåíèå 8084222: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8084226: 461a mov r2, r3 8084228: 217a movs r1, #122 ; 0x7a 808422a: f44f 7082 mov.w r0, #260 ; 0x104 808422e: f7d0 f87d bl 805432c 8084232: e007 b.n 8084244 LCD_DisplayStringC(260, LCD_LINE_7, str1); // ×àñòîòíîå ðàçðåøåíèå 8084234: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8084238: 461a mov r2, r3 808423a: 217a movs r1, #122 ; 0x7a 808423c: f44f 7082 mov.w r0, #260 ; 0x104 8084240: f7d0 f874 bl 805432c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8084244: 4912 ldr r1, [pc, #72] ; (8084290 ) 8084246: 4816 ldr r0, [pc, #88] ; (80842a0 ) 8084248: f7cf fab0 bl 80537ac if((pardata.OPTIONS & maskFFT) == fft) 808424c: 4b0a ldr r3, [pc, #40] ; (8084278 ) 808424e: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8084252: f003 0330 and.w r3, r3, #48 ; 0x30 8084256: 2b00 cmp r3, #0 8084258: d12c bne.n 80842b4 LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][0]); 808425a: 4b07 ldr r3, [pc, #28] ; (8084278 ) 808425c: 7b1b ldrb r3, [r3, #12] 808425e: b2db uxtb r3, r3 8084260: 4a06 ldr r2, [pc, #24] ; (808427c ) 8084262: 011b lsls r3, r3, #4 8084264: 4413 add r3, r2 8084266: 681b ldr r3, [r3, #0] 8084268: 461a mov r2, r3 808426a: 213a movs r1, #58 ; 0x3a 808426c: f44f 7082 mov.w r0, #260 ; 0x104 8084270: f7d0 f85c bl 805432c 8084274: e02c b.n 80842d0 8084276: bf00 nop 8084278: 20023e60 .word 0x20023e60 808427c: 2002029c .word 0x2002029c 8084280: 2002019c .word 0x2002019c 8084284: 20020214 .word 0x20020214 8084288: 200201ec .word 0x200201ec 808428c: 20020224 .word 0x20020224 8084290: ff0a0f1f .word 0xff0a0f1f 8084294: ff808080 .word 0xff808080 8084298: 200206b4 .word 0x200206b4 808429c: 2002070c .word 0x2002070c 80842a0: ffd8aa57 .word 0xffd8aa57 80842a4: 20020070 .word 0x20020070 80842a8: 200205c4 .word 0x200205c4 80842ac: 20020f84 .word 0x20020f84 80842b0: 2002165c .word 0x2002165c else LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][1]); 80842b4: 4ba5 ldr r3, [pc, #660] ; (808454c ) 80842b6: 7b1b ldrb r3, [r3, #12] 80842b8: b2db uxtb r3, r3 80842ba: 4aa5 ldr r2, [pc, #660] ; (8084550 ) 80842bc: 011b lsls r3, r3, #4 80842be: 4413 add r3, r2 80842c0: 3304 adds r3, #4 80842c2: 681b ldr r3, [r3, #0] 80842c4: 461a mov r2, r3 80842c6: 213a movs r1, #58 ; 0x3a 80842c8: f44f 7082 mov.w r0, #260 ; 0x104 80842cc: f7d0 f82e bl 805432c LCD_DisplayStringC(260, LCD_LINE_4, (char *) pIPR_OKT[pardata.LANG][(pardata.IPR << 1) | pardata.IVS[pardata.IPR]]); 80842d0: 4b9e ldr r3, [pc, #632] ; (808454c ) 80842d2: 7b1b ldrb r3, [r3, #12] 80842d4: b2db uxtb r3, r3 80842d6: 4618 mov r0, r3 80842d8: 4b9c ldr r3, [pc, #624] ; (808454c ) 80842da: 785b ldrb r3, [r3, #1] 80842dc: b2db uxtb r3, r3 80842de: 005b lsls r3, r3, #1 80842e0: 4a9a ldr r2, [pc, #616] ; (808454c ) 80842e2: 7852 ldrb r2, [r2, #1] 80842e4: b2d2 uxtb r2, r2 80842e6: 4611 mov r1, r2 80842e8: 4a98 ldr r2, [pc, #608] ; (808454c ) 80842ea: 440a add r2, r1 80842ec: 7892 ldrb r2, [r2, #2] 80842ee: b2d2 uxtb r2, r2 80842f0: 431a orrs r2, r3 80842f2: 4998 ldr r1, [pc, #608] ; (8084554 ) 80842f4: 4603 mov r3, r0 80842f6: 005b lsls r3, r3, #1 80842f8: 4403 add r3, r0 80842fa: 005b lsls r3, r3, #1 80842fc: 4413 add r3, r2 80842fe: f851 3023 ldr.w r3, [r1, r3, lsl #2] 8084302: 461a mov r2, r3 8084304: 214a movs r1, #74 ; 0x4a 8084306: f44f 7082 mov.w r0, #260 ; 0x104 808430a: f7d0 f80f bl 805432c LCD_DisplayStringC(260, LCD_LINE_5, strHP); 808430e: f507 73d2 add.w r3, r7, #420 ; 0x1a4 8084312: 461a mov r2, r3 8084314: 215a movs r1, #90 ; 0x5a 8084316: f44f 7082 mov.w r0, #260 ; 0x104 808431a: f7d0 f807 bl 805432c LCD_DisplayStringC(260, LCD_LINE_6, strLP); 808431e: f507 73cc add.w r3, r7, #408 ; 0x198 8084322: 461a mov r2, r3 8084324: 216a movs r1, #106 ; 0x6a 8084326: f44f 7082 mov.w r0, #260 ; 0x104 808432a: f7cf ffff bl 805432c LCD_DisplayStringC(260, LCD_LINE_8, (char *) pMSH[pardata.LANG][pardata.MSH]); 808432e: 4b87 ldr r3, [pc, #540] ; (808454c ) 8084330: 7b1b ldrb r3, [r3, #12] 8084332: b2db uxtb r3, r3 8084334: 4618 mov r0, r3 8084336: 4b85 ldr r3, [pc, #532] ; (808454c ) 8084338: 7a9b ldrb r3, [r3, #10] 808433a: b2db uxtb r3, r3 808433c: 4619 mov r1, r3 808433e: 4a86 ldr r2, [pc, #536] ; (8084558 ) 8084340: 0043 lsls r3, r0, #1 8084342: 440b add r3, r1 8084344: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8084348: 461a mov r2, r3 808434a: 218a movs r1, #138 ; 0x8a 808434c: f44f 7082 mov.w r0, #260 ; 0x104 8084350: f7cf ffec bl 805432c LCD_DisplayStringC(260, LCD_LINE_9, (char *) pWIN[pardata.LANG][pardata.WIN]); 8084354: 4b7d ldr r3, [pc, #500] ; (808454c ) 8084356: 7b1b ldrb r3, [r3, #12] 8084358: b2db uxtb r3, r3 808435a: 4619 mov r1, r3 808435c: 4b7b ldr r3, [pc, #492] ; (808454c ) 808435e: 7a5b ldrb r3, [r3, #9] 8084360: b2db uxtb r3, r3 8084362: 4618 mov r0, r3 8084364: 4a7d ldr r2, [pc, #500] ; (808455c ) 8084366: 460b mov r3, r1 8084368: 009b lsls r3, r3, #2 808436a: 440b add r3, r1 808436c: 4403 add r3, r0 808436e: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8084372: 461a mov r2, r3 8084374: 219a movs r1, #154 ; 0x9a 8084376: f44f 7082 mov.w r0, #260 ; 0x104 808437a: f7cf ffd7 bl 805432c LCD_DisplayStringC(260, LCD_LINE_10, (char *) pAVERAGE[pardata.AVG]); 808437e: 4b73 ldr r3, [pc, #460] ; (808454c ) 8084380: 7b5b ldrb r3, [r3, #13] 8084382: b2db uxtb r3, r3 8084384: 461a mov r2, r3 8084386: 4b76 ldr r3, [pc, #472] ; (8084560 ) 8084388: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808438c: 461a mov r2, r3 808438e: 21aa movs r1, #170 ; 0xaa 8084390: f44f 7082 mov.w r0, #260 ; 0x104 8084394: f7cf ffca bl 805432c if(pardata.OPTIONS & BIT2) // åñëè àâòîóñèëåíèå 8084398: 4b6c ldr r3, [pc, #432] ; (808454c ) 808439a: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 808439e: f003 0304 and.w r3, r3, #4 80843a2: 2b00 cmp r3, #0 80843a4: d033 beq.n 808440e LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80843a6: 496f ldr r1, [pc, #444] ; (8084564 ) 80843a8: 486f ldr r0, [pc, #444] ; (8084568 ) 80843aa: f7cf f9ff bl 80537ac if(pardata.IIN != VOLTS) 80843ae: 4b67 ldr r3, [pc, #412] ; (808454c ) 80843b0: 799b ldrb r3, [r3, #6] 80843b2: b2db uxtb r3, r3 80843b4: 2b02 cmp r3, #2 80843b6: d010 beq.n 80843da LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 80843b8: 4b64 ldr r3, [pc, #400] ; (808454c ) 80843ba: 7b1b ldrb r3, [r3, #12] 80843bc: b2db uxtb r3, r3 80843be: 4619 mov r1, r3 80843c0: 4a6a ldr r2, [pc, #424] ; (808456c ) 80843c2: 232c movs r3, #44 ; 0x2c 80843c4: fb03 f301 mul.w r3, r3, r1 80843c8: 4413 add r3, r2 80843ca: 3324 adds r3, #36 ; 0x24 80843cc: 681b ldr r3, [r3, #0] 80843ce: 461a mov r2, r3 80843d0: 21ca movs r1, #202 ; 0xca 80843d2: 200a movs r0, #10 80843d4: f7cf ff92 bl 80542fc 80843d8: e00f b.n 80843fa else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 80843da: 4b5c ldr r3, [pc, #368] ; (808454c ) 80843dc: 7b1b ldrb r3, [r3, #12] 80843de: b2db uxtb r3, r3 80843e0: 4619 mov r1, r3 80843e2: 4a63 ldr r2, [pc, #396] ; (8084570 ) 80843e4: 232c movs r3, #44 ; 0x2c 80843e6: fb03 f301 mul.w r3, r3, r1 80843ea: 4413 add r3, r2 80843ec: 3324 adds r3, #36 ; 0x24 80843ee: 681b ldr r3, [r3, #0] 80843f0: 461a mov r2, r3 80843f2: 21ca movs r1, #202 ; 0xca 80843f4: 200a movs r0, #10 80843f6: f7cf ff81 bl 80542fc LCD_DisplayStringC(260, LCD_LINE_12, str); 80843fa: f507 733b add.w r3, r7, #748 ; 0x2ec 80843fe: 461a mov r2, r3 8084400: 21ca movs r1, #202 ; 0xca 8084402: f44f 7082 mov.w r0, #260 ; 0x104 8084406: f7cf ff91 bl 805432c 808440a: f001 bfe3 b.w 80863d4 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808440e: 4955 ldr r1, [pc, #340] ; (8084564 ) 8084410: f04f 30ff mov.w r0, #4294967295 8084414: f7cf f9ca bl 80537ac if(pardata.IIN != VOLTS) 8084418: 4b4c ldr r3, [pc, #304] ; (808454c ) 808441a: 799b ldrb r3, [r3, #6] 808441c: b2db uxtb r3, r3 808441e: 2b02 cmp r3, #2 8084420: d010 beq.n 8084444 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8084422: 4b4a ldr r3, [pc, #296] ; (808454c ) 8084424: 7b1b ldrb r3, [r3, #12] 8084426: b2db uxtb r3, r3 8084428: 4619 mov r1, r3 808442a: 4a50 ldr r2, [pc, #320] ; (808456c ) 808442c: 232c movs r3, #44 ; 0x2c 808442e: fb03 f301 mul.w r3, r3, r1 8084432: 4413 add r3, r2 8084434: 3324 adds r3, #36 ; 0x24 8084436: 681b ldr r3, [r3, #0] 8084438: 461a mov r2, r3 808443a: 21ca movs r1, #202 ; 0xca 808443c: 200a movs r0, #10 808443e: f7cf ff5d bl 80542fc 8084442: e00f b.n 8084464 else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8084444: 4b41 ldr r3, [pc, #260] ; (808454c ) 8084446: 7b1b ldrb r3, [r3, #12] 8084448: b2db uxtb r3, r3 808444a: 4619 mov r1, r3 808444c: 4a48 ldr r2, [pc, #288] ; (8084570 ) 808444e: 232c movs r3, #44 ; 0x2c 8084450: fb03 f301 mul.w r3, r3, r1 8084454: 4413 add r3, r2 8084456: 3324 adds r3, #36 ; 0x24 8084458: 681b ldr r3, [r3, #0] 808445a: 461a mov r2, r3 808445c: 21ca movs r1, #202 ; 0xca 808445e: 200a movs r0, #10 8084460: f7cf ff4c bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8084464: 493f ldr r1, [pc, #252] ; (8084564 ) 8084466: 4843 ldr r0, [pc, #268] ; (8084574 ) 8084468: f7cf f9a0 bl 80537ac LCD_DisplayStringC(260, LCD_LINE_12, str); 808446c: f507 733b add.w r3, r7, #748 ; 0x2ec 8084470: 461a mov r2, r3 8084472: 21ca movs r1, #202 ; 0xca 8084474: f44f 7082 mov.w r0, #260 ; 0x104 8084478: f7cf ff58 bl 805432c 808447c: f001 bfaa b.w 80863d4 if(menupos == LinLog) 8084480: 4b3d ldr r3, [pc, #244] ; (8084578 ) 8084482: 781b ldrb r3, [r3, #0] 8084484: b2db uxtb r3, r3 8084486: 2b05 cmp r3, #5 8084488: f040 8159 bne.w 808473e LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808448c: 4935 ldr r1, [pc, #212] ; (8084564 ) 808448e: f04f 30ff mov.w r0, #4294967295 8084492: f7cf f98b bl 80537ac LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]);//"Äàëåå" 8084496: 4b2d ldr r3, [pc, #180] ; (808454c ) 8084498: 7b1b ldrb r3, [r3, #12] 808449a: b2db uxtb r3, r3 808449c: 461a mov r2, r3 808449e: 4b37 ldr r3, [pc, #220] ; (808457c ) 80844a0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80844a4: 461a mov r2, r3 80844a6: 2127 movs r1, #39 ; 0x27 80844a8: 200a movs r0, #10 80844aa: f7cf ff27 bl 80542fc LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80844ae: 492d ldr r1, [pc, #180] ; (8084564 ) 80844b0: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80844b4: f7cf f97a bl 80537ac if(focused) 80844b8: 4b31 ldr r3, [pc, #196] ; (8084580 ) 80844ba: 781b ldrb r3, [r3, #0] 80844bc: b2db uxtb r3, r3 80844be: 2b00 cmp r3, #0 80844c0: d017 beq.n 80844f2 if(blk) 80844c2: 4b30 ldr r3, [pc, #192] ; (8084584 ) 80844c4: 681b ldr r3, [r3, #0] 80844c6: 2b00 cmp r3, #0 80844c8: d026 beq.n 8084518 LCD_DisplayStringC(260, LCD_LINE_8, (char *) pMSH[pardata.LANG][pardata.MSH]); 80844ca: 4b20 ldr r3, [pc, #128] ; (808454c ) 80844cc: 7b1b ldrb r3, [r3, #12] 80844ce: b2db uxtb r3, r3 80844d0: 4618 mov r0, r3 80844d2: 4b1e ldr r3, [pc, #120] ; (808454c ) 80844d4: 7a9b ldrb r3, [r3, #10] 80844d6: b2db uxtb r3, r3 80844d8: 4619 mov r1, r3 80844da: 4a1f ldr r2, [pc, #124] ; (8084558 ) 80844dc: 0043 lsls r3, r0, #1 80844de: 440b add r3, r1 80844e0: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80844e4: 461a mov r2, r3 80844e6: 218a movs r1, #138 ; 0x8a 80844e8: f44f 7082 mov.w r0, #260 ; 0x104 80844ec: f7cf ff1e bl 805432c 80844f0: e012 b.n 8084518 LCD_DisplayStringC(260, LCD_LINE_8, (char *) pMSH[pardata.LANG][pardata.MSH]); 80844f2: 4b16 ldr r3, [pc, #88] ; (808454c ) 80844f4: 7b1b ldrb r3, [r3, #12] 80844f6: b2db uxtb r3, r3 80844f8: 4618 mov r0, r3 80844fa: 4b14 ldr r3, [pc, #80] ; (808454c ) 80844fc: 7a9b ldrb r3, [r3, #10] 80844fe: b2db uxtb r3, r3 8084500: 4619 mov r1, r3 8084502: 4a15 ldr r2, [pc, #84] ; (8084558 ) 8084504: 0043 lsls r3, r0, #1 8084506: 440b add r3, r1 8084508: f852 3023 ldr.w r3, [r2, r3, lsl #2] 808450c: 461a mov r2, r3 808450e: 218a movs r1, #138 ; 0x8a 8084510: f44f 7082 mov.w r0, #260 ; 0x104 8084514: f7cf ff0a bl 805432c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8084518: 4912 ldr r1, [pc, #72] ; (8084564 ) 808451a: 4816 ldr r0, [pc, #88] ; (8084574 ) 808451c: f7cf f946 bl 80537ac if((pardata.OPTIONS & maskFFT) == fft) 8084520: 4b0a ldr r3, [pc, #40] ; (808454c ) 8084522: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8084526: f003 0330 and.w r3, r3, #48 ; 0x30 808452a: 2b00 cmp r3, #0 808452c: d12c bne.n 8084588 LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][0]); 808452e: 4b07 ldr r3, [pc, #28] ; (808454c ) 8084530: 7b1b ldrb r3, [r3, #12] 8084532: b2db uxtb r3, r3 8084534: 4a06 ldr r2, [pc, #24] ; (8084550 ) 8084536: 011b lsls r3, r3, #4 8084538: 4413 add r3, r2 808453a: 681b ldr r3, [r3, #0] 808453c: 461a mov r2, r3 808453e: 213a movs r1, #58 ; 0x3a 8084540: f44f 7082 mov.w r0, #260 ; 0x104 8084544: f7cf fef2 bl 805432c 8084548: e02c b.n 80845a4 808454a: bf00 nop 808454c: 20023e60 .word 0x20023e60 8084550: 2002029c .word 0x2002029c 8084554: 2002019c .word 0x2002019c 8084558: 20020214 .word 0x20020214 808455c: 200201ec .word 0x200201ec 8084560: 20020224 .word 0x20020224 8084564: ff0a0f1f .word 0xff0a0f1f 8084568: ff808080 .word 0xff808080 808456c: 200206b4 .word 0x200206b4 8084570: 2002070c .word 0x2002070c 8084574: ffd8aa57 .word 0xffd8aa57 8084578: 20020070 .word 0x20020070 808457c: 200205c4 .word 0x200205c4 8084580: 20020f84 .word 0x20020f84 8084584: 2002165c .word 0x2002165c else LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][1]); 8084588: 4ba1 ldr r3, [pc, #644] ; (8084810 ) 808458a: 7b1b ldrb r3, [r3, #12] 808458c: b2db uxtb r3, r3 808458e: 4aa1 ldr r2, [pc, #644] ; (8084814 ) 8084590: 011b lsls r3, r3, #4 8084592: 4413 add r3, r2 8084594: 3304 adds r3, #4 8084596: 681b ldr r3, [r3, #0] 8084598: 461a mov r2, r3 808459a: 213a movs r1, #58 ; 0x3a 808459c: f44f 7082 mov.w r0, #260 ; 0x104 80845a0: f7cf fec4 bl 805432c LCD_DisplayStringC(260, LCD_LINE_4, (char *) pIPR_OKT[pardata.LANG][(pardata.IPR << 1) | pardata.IVS[pardata.IPR]]); 80845a4: 4b9a ldr r3, [pc, #616] ; (8084810 ) 80845a6: 7b1b ldrb r3, [r3, #12] 80845a8: b2db uxtb r3, r3 80845aa: 4618 mov r0, r3 80845ac: 4b98 ldr r3, [pc, #608] ; (8084810 ) 80845ae: 785b ldrb r3, [r3, #1] 80845b0: b2db uxtb r3, r3 80845b2: 005b lsls r3, r3, #1 80845b4: 4a96 ldr r2, [pc, #600] ; (8084810 ) 80845b6: 7852 ldrb r2, [r2, #1] 80845b8: b2d2 uxtb r2, r2 80845ba: 4611 mov r1, r2 80845bc: 4a94 ldr r2, [pc, #592] ; (8084810 ) 80845be: 440a add r2, r1 80845c0: 7892 ldrb r2, [r2, #2] 80845c2: b2d2 uxtb r2, r2 80845c4: 431a orrs r2, r3 80845c6: 4994 ldr r1, [pc, #592] ; (8084818 ) 80845c8: 4603 mov r3, r0 80845ca: 005b lsls r3, r3, #1 80845cc: 4403 add r3, r0 80845ce: 005b lsls r3, r3, #1 80845d0: 4413 add r3, r2 80845d2: f851 3023 ldr.w r3, [r1, r3, lsl #2] 80845d6: 461a mov r2, r3 80845d8: 214a movs r1, #74 ; 0x4a 80845da: f44f 7082 mov.w r0, #260 ; 0x104 80845de: f7cf fea5 bl 805432c LCD_DisplayStringC(260, LCD_LINE_5, strHP); 80845e2: f507 73d2 add.w r3, r7, #420 ; 0x1a4 80845e6: 461a mov r2, r3 80845e8: 215a movs r1, #90 ; 0x5a 80845ea: f44f 7082 mov.w r0, #260 ; 0x104 80845ee: f7cf fe9d bl 805432c LCD_DisplayStringC(260, LCD_LINE_6, strLP); 80845f2: f507 73cc add.w r3, r7, #408 ; 0x198 80845f6: 461a mov r2, r3 80845f8: 216a movs r1, #106 ; 0x6a 80845fa: f44f 7082 mov.w r0, #260 ; 0x104 80845fe: f7cf fe95 bl 805432c LCD_DisplayStringC(260, LCD_LINE_7, str1); 8084602: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8084606: 461a mov r2, r3 8084608: 217a movs r1, #122 ; 0x7a 808460a: f44f 7082 mov.w r0, #260 ; 0x104 808460e: f7cf fe8d bl 805432c LCD_DisplayStringC(260, LCD_LINE_9, (char *) pWIN[pardata.LANG][pardata.WIN]); 8084612: 4b7f ldr r3, [pc, #508] ; (8084810 ) 8084614: 7b1b ldrb r3, [r3, #12] 8084616: b2db uxtb r3, r3 8084618: 4619 mov r1, r3 808461a: 4b7d ldr r3, [pc, #500] ; (8084810 ) 808461c: 7a5b ldrb r3, [r3, #9] 808461e: b2db uxtb r3, r3 8084620: 4618 mov r0, r3 8084622: 4a7e ldr r2, [pc, #504] ; (808481c ) 8084624: 460b mov r3, r1 8084626: 009b lsls r3, r3, #2 8084628: 440b add r3, r1 808462a: 4403 add r3, r0 808462c: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8084630: 461a mov r2, r3 8084632: 219a movs r1, #154 ; 0x9a 8084634: f44f 7082 mov.w r0, #260 ; 0x104 8084638: f7cf fe78 bl 805432c LCD_DisplayStringC(260, LCD_LINE_10, (char *) pAVERAGE[pardata.AVG]); 808463c: 4b74 ldr r3, [pc, #464] ; (8084810 ) 808463e: 7b5b ldrb r3, [r3, #13] 8084640: b2db uxtb r3, r3 8084642: 461a mov r2, r3 8084644: 4b76 ldr r3, [pc, #472] ; (8084820 ) 8084646: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808464a: 461a mov r2, r3 808464c: 21aa movs r1, #170 ; 0xaa 808464e: f44f 7082 mov.w r0, #260 ; 0x104 8084652: f7cf fe6b bl 805432c if(pardata.OPTIONS & BIT2) // åñëè àâòîóñèëåíèå 8084656: 4b6e ldr r3, [pc, #440] ; (8084810 ) 8084658: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 808465c: f003 0304 and.w r3, r3, #4 8084660: 2b00 cmp r3, #0 8084662: d033 beq.n 80846cc LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8084664: 496f ldr r1, [pc, #444] ; (8084824 ) 8084666: 4870 ldr r0, [pc, #448] ; (8084828 ) 8084668: f7cf f8a0 bl 80537ac if(pardata.IIN != VOLTS) 808466c: 4b68 ldr r3, [pc, #416] ; (8084810 ) 808466e: 799b ldrb r3, [r3, #6] 8084670: b2db uxtb r3, r3 8084672: 2b02 cmp r3, #2 8084674: d010 beq.n 8084698 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8084676: 4b66 ldr r3, [pc, #408] ; (8084810 ) 8084678: 7b1b ldrb r3, [r3, #12] 808467a: b2db uxtb r3, r3 808467c: 4619 mov r1, r3 808467e: 4a6b ldr r2, [pc, #428] ; (808482c ) 8084680: 232c movs r3, #44 ; 0x2c 8084682: fb03 f301 mul.w r3, r3, r1 8084686: 4413 add r3, r2 8084688: 3324 adds r3, #36 ; 0x24 808468a: 681b ldr r3, [r3, #0] 808468c: 461a mov r2, r3 808468e: 21ca movs r1, #202 ; 0xca 8084690: 200a movs r0, #10 8084692: f7cf fe33 bl 80542fc 8084696: e00f b.n 80846b8 else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8084698: 4b5d ldr r3, [pc, #372] ; (8084810 ) 808469a: 7b1b ldrb r3, [r3, #12] 808469c: b2db uxtb r3, r3 808469e: 4619 mov r1, r3 80846a0: 4a63 ldr r2, [pc, #396] ; (8084830 ) 80846a2: 232c movs r3, #44 ; 0x2c 80846a4: fb03 f301 mul.w r3, r3, r1 80846a8: 4413 add r3, r2 80846aa: 3324 adds r3, #36 ; 0x24 80846ac: 681b ldr r3, [r3, #0] 80846ae: 461a mov r2, r3 80846b0: 21ca movs r1, #202 ; 0xca 80846b2: 200a movs r0, #10 80846b4: f7cf fe22 bl 80542fc LCD_DisplayStringC(260, LCD_LINE_12, str); 80846b8: f507 733b add.w r3, r7, #748 ; 0x2ec 80846bc: 461a mov r2, r3 80846be: 21ca movs r1, #202 ; 0xca 80846c0: f44f 7082 mov.w r0, #260 ; 0x104 80846c4: f7cf fe32 bl 805432c 80846c8: f001 be84 b.w 80863d4 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80846cc: 4955 ldr r1, [pc, #340] ; (8084824 ) 80846ce: f04f 30ff mov.w r0, #4294967295 80846d2: f7cf f86b bl 80537ac if(pardata.IIN != VOLTS) 80846d6: 4b4e ldr r3, [pc, #312] ; (8084810 ) 80846d8: 799b ldrb r3, [r3, #6] 80846da: b2db uxtb r3, r3 80846dc: 2b02 cmp r3, #2 80846de: d010 beq.n 8084702 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 80846e0: 4b4b ldr r3, [pc, #300] ; (8084810 ) 80846e2: 7b1b ldrb r3, [r3, #12] 80846e4: b2db uxtb r3, r3 80846e6: 4619 mov r1, r3 80846e8: 4a50 ldr r2, [pc, #320] ; (808482c ) 80846ea: 232c movs r3, #44 ; 0x2c 80846ec: fb03 f301 mul.w r3, r3, r1 80846f0: 4413 add r3, r2 80846f2: 3324 adds r3, #36 ; 0x24 80846f4: 681b ldr r3, [r3, #0] 80846f6: 461a mov r2, r3 80846f8: 21ca movs r1, #202 ; 0xca 80846fa: 200a movs r0, #10 80846fc: f7cf fdfe bl 80542fc 8084700: e00f b.n 8084722 else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8084702: 4b43 ldr r3, [pc, #268] ; (8084810 ) 8084704: 7b1b ldrb r3, [r3, #12] 8084706: b2db uxtb r3, r3 8084708: 4619 mov r1, r3 808470a: 4a49 ldr r2, [pc, #292] ; (8084830 ) 808470c: 232c movs r3, #44 ; 0x2c 808470e: fb03 f301 mul.w r3, r3, r1 8084712: 4413 add r3, r2 8084714: 3324 adds r3, #36 ; 0x24 8084716: 681b ldr r3, [r3, #0] 8084718: 461a mov r2, r3 808471a: 21ca movs r1, #202 ; 0xca 808471c: 200a movs r0, #10 808471e: f7cf fded bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8084722: 4940 ldr r1, [pc, #256] ; (8084824 ) 8084724: 4843 ldr r0, [pc, #268] ; (8084834 ) 8084726: f7cf f841 bl 80537ac LCD_DisplayStringC(260, LCD_LINE_12, str); 808472a: f507 733b add.w r3, r7, #748 ; 0x2ec 808472e: 461a mov r2, r3 8084730: 21ca movs r1, #202 ; 0xca 8084732: f44f 7082 mov.w r0, #260 ; 0x104 8084736: f7cf fdf9 bl 805432c 808473a: f001 be4b b.w 80863d4 if(menupos == SpecWin) 808473e: 4b3e ldr r3, [pc, #248] ; (8084838 ) 8084740: 781b ldrb r3, [r3, #0] 8084742: b2db uxtb r3, r3 8084744: 2b06 cmp r3, #6 8084746: f040 8158 bne.w 80849fa LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808474a: 4936 ldr r1, [pc, #216] ; (8084824 ) 808474c: f04f 30ff mov.w r0, #4294967295 8084750: f7cf f82c bl 80537ac LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]);//"Äàëåå" 8084754: 4b2e ldr r3, [pc, #184] ; (8084810 ) 8084756: 7b1b ldrb r3, [r3, #12] 8084758: b2db uxtb r3, r3 808475a: 461a mov r2, r3 808475c: 4b37 ldr r3, [pc, #220] ; (808483c ) 808475e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8084762: 461a mov r2, r3 8084764: 2127 movs r1, #39 ; 0x27 8084766: 200a movs r0, #10 8084768: f7cf fdc8 bl 80542fc LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808476c: 492d ldr r1, [pc, #180] ; (8084824 ) 808476e: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8084772: f7cf f81b bl 80537ac if(focused) 8084776: 4b32 ldr r3, [pc, #200] ; (8084840 ) 8084778: 781b ldrb r3, [r3, #0] 808477a: b2db uxtb r3, r3 808477c: 2b00 cmp r3, #0 808477e: d019 beq.n 80847b4 if(blk) 8084780: 4b30 ldr r3, [pc, #192] ; (8084844 ) 8084782: 681b ldr r3, [r3, #0] 8084784: 2b00 cmp r3, #0 8084786: d02a beq.n 80847de LCD_DisplayStringC(260, LCD_LINE_9, (char *) pWIN[pardata.LANG][pardata.WIN]); 8084788: 4b21 ldr r3, [pc, #132] ; (8084810 ) 808478a: 7b1b ldrb r3, [r3, #12] 808478c: b2db uxtb r3, r3 808478e: 4619 mov r1, r3 8084790: 4b1f ldr r3, [pc, #124] ; (8084810 ) 8084792: 7a5b ldrb r3, [r3, #9] 8084794: b2db uxtb r3, r3 8084796: 4618 mov r0, r3 8084798: 4a20 ldr r2, [pc, #128] ; (808481c ) 808479a: 460b mov r3, r1 808479c: 009b lsls r3, r3, #2 808479e: 440b add r3, r1 80847a0: 4403 add r3, r0 80847a2: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80847a6: 461a mov r2, r3 80847a8: 219a movs r1, #154 ; 0x9a 80847aa: f44f 7082 mov.w r0, #260 ; 0x104 80847ae: f7cf fdbd bl 805432c 80847b2: e014 b.n 80847de LCD_DisplayStringC(260, LCD_LINE_9, (char *) pWIN[pardata.LANG][pardata.WIN]); 80847b4: 4b16 ldr r3, [pc, #88] ; (8084810 ) 80847b6: 7b1b ldrb r3, [r3, #12] 80847b8: b2db uxtb r3, r3 80847ba: 4619 mov r1, r3 80847bc: 4b14 ldr r3, [pc, #80] ; (8084810 ) 80847be: 7a5b ldrb r3, [r3, #9] 80847c0: b2db uxtb r3, r3 80847c2: 4618 mov r0, r3 80847c4: 4a15 ldr r2, [pc, #84] ; (808481c ) 80847c6: 460b mov r3, r1 80847c8: 009b lsls r3, r3, #2 80847ca: 440b add r3, r1 80847cc: 4403 add r3, r0 80847ce: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80847d2: 461a mov r2, r3 80847d4: 219a movs r1, #154 ; 0x9a 80847d6: f44f 7082 mov.w r0, #260 ; 0x104 80847da: f7cf fda7 bl 805432c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80847de: 4911 ldr r1, [pc, #68] ; (8084824 ) 80847e0: 4814 ldr r0, [pc, #80] ; (8084834 ) 80847e2: f7ce ffe3 bl 80537ac if((pardata.OPTIONS & maskFFT) == fft) 80847e6: 4b0a ldr r3, [pc, #40] ; (8084810 ) 80847e8: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80847ec: f003 0330 and.w r3, r3, #48 ; 0x30 80847f0: 2b00 cmp r3, #0 80847f2: d129 bne.n 8084848 LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][0]); 80847f4: 4b06 ldr r3, [pc, #24] ; (8084810 ) 80847f6: 7b1b ldrb r3, [r3, #12] 80847f8: b2db uxtb r3, r3 80847fa: 4a06 ldr r2, [pc, #24] ; (8084814 ) 80847fc: 011b lsls r3, r3, #4 80847fe: 4413 add r3, r2 8084800: 681b ldr r3, [r3, #0] 8084802: 461a mov r2, r3 8084804: 213a movs r1, #58 ; 0x3a 8084806: f44f 7082 mov.w r0, #260 ; 0x104 808480a: f7cf fd8f bl 805432c 808480e: e029 b.n 8084864 8084810: 20023e60 .word 0x20023e60 8084814: 2002029c .word 0x2002029c 8084818: 2002019c .word 0x2002019c 808481c: 200201ec .word 0x200201ec 8084820: 20020224 .word 0x20020224 8084824: ff0a0f1f .word 0xff0a0f1f 8084828: ff808080 .word 0xff808080 808482c: 200206b4 .word 0x200206b4 8084830: 2002070c .word 0x2002070c 8084834: ffd8aa57 .word 0xffd8aa57 8084838: 20020070 .word 0x20020070 808483c: 200205c4 .word 0x200205c4 8084840: 20020f84 .word 0x20020f84 8084844: 2002165c .word 0x2002165c else LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][1]); 8084848: 4b98 ldr r3, [pc, #608] ; (8084aac ) 808484a: 7b1b ldrb r3, [r3, #12] 808484c: b2db uxtb r3, r3 808484e: 4a98 ldr r2, [pc, #608] ; (8084ab0 ) 8084850: 011b lsls r3, r3, #4 8084852: 4413 add r3, r2 8084854: 3304 adds r3, #4 8084856: 681b ldr r3, [r3, #0] 8084858: 461a mov r2, r3 808485a: 213a movs r1, #58 ; 0x3a 808485c: f44f 7082 mov.w r0, #260 ; 0x104 8084860: f7cf fd64 bl 805432c LCD_DisplayStringC(260, LCD_LINE_4, (char *) pIPR_OKT[pardata.LANG][(pardata.IPR << 1) | pardata.IVS[pardata.IPR]]); 8084864: 4b91 ldr r3, [pc, #580] ; (8084aac ) 8084866: 7b1b ldrb r3, [r3, #12] 8084868: b2db uxtb r3, r3 808486a: 4618 mov r0, r3 808486c: 4b8f ldr r3, [pc, #572] ; (8084aac ) 808486e: 785b ldrb r3, [r3, #1] 8084870: b2db uxtb r3, r3 8084872: 005b lsls r3, r3, #1 8084874: 4a8d ldr r2, [pc, #564] ; (8084aac ) 8084876: 7852 ldrb r2, [r2, #1] 8084878: b2d2 uxtb r2, r2 808487a: 4611 mov r1, r2 808487c: 4a8b ldr r2, [pc, #556] ; (8084aac ) 808487e: 440a add r2, r1 8084880: 7892 ldrb r2, [r2, #2] 8084882: b2d2 uxtb r2, r2 8084884: 431a orrs r2, r3 8084886: 498b ldr r1, [pc, #556] ; (8084ab4 ) 8084888: 4603 mov r3, r0 808488a: 005b lsls r3, r3, #1 808488c: 4403 add r3, r0 808488e: 005b lsls r3, r3, #1 8084890: 4413 add r3, r2 8084892: f851 3023 ldr.w r3, [r1, r3, lsl #2] 8084896: 461a mov r2, r3 8084898: 214a movs r1, #74 ; 0x4a 808489a: f44f 7082 mov.w r0, #260 ; 0x104 808489e: f7cf fd45 bl 805432c LCD_DisplayStringC(260, LCD_LINE_5, strHP); 80848a2: f507 73d2 add.w r3, r7, #420 ; 0x1a4 80848a6: 461a mov r2, r3 80848a8: 215a movs r1, #90 ; 0x5a 80848aa: f44f 7082 mov.w r0, #260 ; 0x104 80848ae: f7cf fd3d bl 805432c LCD_DisplayStringC(260, LCD_LINE_6, strLP); 80848b2: f507 73cc add.w r3, r7, #408 ; 0x198 80848b6: 461a mov r2, r3 80848b8: 216a movs r1, #106 ; 0x6a 80848ba: f44f 7082 mov.w r0, #260 ; 0x104 80848be: f7cf fd35 bl 805432c LCD_DisplayStringC(260, LCD_LINE_7, str1); 80848c2: f507 73f6 add.w r3, r7, #492 ; 0x1ec 80848c6: 461a mov r2, r3 80848c8: 217a movs r1, #122 ; 0x7a 80848ca: f44f 7082 mov.w r0, #260 ; 0x104 80848ce: f7cf fd2d bl 805432c LCD_DisplayStringC(260, LCD_LINE_8, (char *) pMSH[pardata.LANG][pardata.MSH]); 80848d2: 4b76 ldr r3, [pc, #472] ; (8084aac ) 80848d4: 7b1b ldrb r3, [r3, #12] 80848d6: b2db uxtb r3, r3 80848d8: 4618 mov r0, r3 80848da: 4b74 ldr r3, [pc, #464] ; (8084aac ) 80848dc: 7a9b ldrb r3, [r3, #10] 80848de: b2db uxtb r3, r3 80848e0: 4619 mov r1, r3 80848e2: 4a75 ldr r2, [pc, #468] ; (8084ab8 ) 80848e4: 0043 lsls r3, r0, #1 80848e6: 440b add r3, r1 80848e8: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80848ec: 461a mov r2, r3 80848ee: 218a movs r1, #138 ; 0x8a 80848f0: f44f 7082 mov.w r0, #260 ; 0x104 80848f4: f7cf fd1a bl 805432c LCD_DisplayStringC(260, LCD_LINE_10, (char *) pAVERAGE[pardata.AVG]); 80848f8: 4b6c ldr r3, [pc, #432] ; (8084aac ) 80848fa: 7b5b ldrb r3, [r3, #13] 80848fc: b2db uxtb r3, r3 80848fe: 461a mov r2, r3 8084900: 4b6e ldr r3, [pc, #440] ; (8084abc ) 8084902: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8084906: 461a mov r2, r3 8084908: 21aa movs r1, #170 ; 0xaa 808490a: f44f 7082 mov.w r0, #260 ; 0x104 808490e: f7cf fd0d bl 805432c if(pardata.OPTIONS & BIT2) // åñëè àâòîóñèëåíèå 8084912: 4b66 ldr r3, [pc, #408] ; (8084aac ) 8084914: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8084918: f003 0304 and.w r3, r3, #4 808491c: 2b00 cmp r3, #0 808491e: d033 beq.n 8084988 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8084920: 4967 ldr r1, [pc, #412] ; (8084ac0 ) 8084922: 4868 ldr r0, [pc, #416] ; (8084ac4 ) 8084924: f7ce ff42 bl 80537ac if(pardata.IIN != VOLTS) 8084928: 4b60 ldr r3, [pc, #384] ; (8084aac ) 808492a: 799b ldrb r3, [r3, #6] 808492c: b2db uxtb r3, r3 808492e: 2b02 cmp r3, #2 8084930: d010 beq.n 8084954 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8084932: 4b5e ldr r3, [pc, #376] ; (8084aac ) 8084934: 7b1b ldrb r3, [r3, #12] 8084936: b2db uxtb r3, r3 8084938: 4619 mov r1, r3 808493a: 4a63 ldr r2, [pc, #396] ; (8084ac8 ) 808493c: 232c movs r3, #44 ; 0x2c 808493e: fb03 f301 mul.w r3, r3, r1 8084942: 4413 add r3, r2 8084944: 3324 adds r3, #36 ; 0x24 8084946: 681b ldr r3, [r3, #0] 8084948: 461a mov r2, r3 808494a: 21ca movs r1, #202 ; 0xca 808494c: 200a movs r0, #10 808494e: f7cf fcd5 bl 80542fc 8084952: e00f b.n 8084974 else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8084954: 4b55 ldr r3, [pc, #340] ; (8084aac ) 8084956: 7b1b ldrb r3, [r3, #12] 8084958: b2db uxtb r3, r3 808495a: 4619 mov r1, r3 808495c: 4a5b ldr r2, [pc, #364] ; (8084acc ) 808495e: 232c movs r3, #44 ; 0x2c 8084960: fb03 f301 mul.w r3, r3, r1 8084964: 4413 add r3, r2 8084966: 3324 adds r3, #36 ; 0x24 8084968: 681b ldr r3, [r3, #0] 808496a: 461a mov r2, r3 808496c: 21ca movs r1, #202 ; 0xca 808496e: 200a movs r0, #10 8084970: f7cf fcc4 bl 80542fc LCD_DisplayStringC(260, LCD_LINE_12, str); 8084974: f507 733b add.w r3, r7, #748 ; 0x2ec 8084978: 461a mov r2, r3 808497a: 21ca movs r1, #202 ; 0xca 808497c: f44f 7082 mov.w r0, #260 ; 0x104 8084980: f7cf fcd4 bl 805432c 8084984: f001 bd26 b.w 80863d4 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8084988: 494d ldr r1, [pc, #308] ; (8084ac0 ) 808498a: f04f 30ff mov.w r0, #4294967295 808498e: f7ce ff0d bl 80537ac if(pardata.IIN != VOLTS) 8084992: 4b46 ldr r3, [pc, #280] ; (8084aac ) 8084994: 799b ldrb r3, [r3, #6] 8084996: b2db uxtb r3, r3 8084998: 2b02 cmp r3, #2 808499a: d010 beq.n 80849be LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 808499c: 4b43 ldr r3, [pc, #268] ; (8084aac ) 808499e: 7b1b ldrb r3, [r3, #12] 80849a0: b2db uxtb r3, r3 80849a2: 4619 mov r1, r3 80849a4: 4a48 ldr r2, [pc, #288] ; (8084ac8 ) 80849a6: 232c movs r3, #44 ; 0x2c 80849a8: fb03 f301 mul.w r3, r3, r1 80849ac: 4413 add r3, r2 80849ae: 3324 adds r3, #36 ; 0x24 80849b0: 681b ldr r3, [r3, #0] 80849b2: 461a mov r2, r3 80849b4: 21ca movs r1, #202 ; 0xca 80849b6: 200a movs r0, #10 80849b8: f7cf fca0 bl 80542fc 80849bc: e00f b.n 80849de else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 80849be: 4b3b ldr r3, [pc, #236] ; (8084aac ) 80849c0: 7b1b ldrb r3, [r3, #12] 80849c2: b2db uxtb r3, r3 80849c4: 4619 mov r1, r3 80849c6: 4a41 ldr r2, [pc, #260] ; (8084acc ) 80849c8: 232c movs r3, #44 ; 0x2c 80849ca: fb03 f301 mul.w r3, r3, r1 80849ce: 4413 add r3, r2 80849d0: 3324 adds r3, #36 ; 0x24 80849d2: 681b ldr r3, [r3, #0] 80849d4: 461a mov r2, r3 80849d6: 21ca movs r1, #202 ; 0xca 80849d8: 200a movs r0, #10 80849da: f7cf fc8f bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80849de: 4938 ldr r1, [pc, #224] ; (8084ac0 ) 80849e0: 483b ldr r0, [pc, #236] ; (8084ad0 ) 80849e2: f7ce fee3 bl 80537ac LCD_DisplayStringC(260, LCD_LINE_12, str); 80849e6: f507 733b add.w r3, r7, #748 ; 0x2ec 80849ea: 461a mov r2, r3 80849ec: 21ca movs r1, #202 ; 0xca 80849ee: f44f 7082 mov.w r0, #260 ; 0x104 80849f2: f7cf fc9b bl 805432c 80849f6: f001 bced b.w 80863d4 if(menupos == SAverage) 80849fa: 4b36 ldr r3, [pc, #216] ; (8084ad4 ) 80849fc: 781b ldrb r3, [r3, #0] 80849fe: b2db uxtb r3, r3 8084a00: 2b07 cmp r3, #7 8084a02: f040 8150 bne.w 8084ca6 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8084a06: 492e ldr r1, [pc, #184] ; (8084ac0 ) 8084a08: f04f 30ff mov.w r0, #4294967295 8084a0c: f7ce fece bl 80537ac LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]);//"Äàëåå" 8084a10: 4b26 ldr r3, [pc, #152] ; (8084aac ) 8084a12: 7b1b ldrb r3, [r3, #12] 8084a14: b2db uxtb r3, r3 8084a16: 461a mov r2, r3 8084a18: 4b2f ldr r3, [pc, #188] ; (8084ad8 ) 8084a1a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8084a1e: 461a mov r2, r3 8084a20: 2127 movs r1, #39 ; 0x27 8084a22: 200a movs r0, #10 8084a24: f7cf fc6a bl 80542fc LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8084a28: 4925 ldr r1, [pc, #148] ; (8084ac0 ) 8084a2a: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8084a2e: f7ce febd bl 80537ac if(focused) 8084a32: 4b2a ldr r3, [pc, #168] ; (8084adc ) 8084a34: 781b ldrb r3, [r3, #0] 8084a36: b2db uxtb r3, r3 8084a38: 2b00 cmp r3, #0 8084a3a: d011 beq.n 8084a60 if(blk) 8084a3c: 4b28 ldr r3, [pc, #160] ; (8084ae0 ) 8084a3e: 681b ldr r3, [r3, #0] 8084a40: 2b00 cmp r3, #0 8084a42: d01a beq.n 8084a7a LCD_DisplayStringC(260, LCD_LINE_10, (char *) pAVERAGE[pardata.AVG]); 8084a44: 4b19 ldr r3, [pc, #100] ; (8084aac ) 8084a46: 7b5b ldrb r3, [r3, #13] 8084a48: b2db uxtb r3, r3 8084a4a: 461a mov r2, r3 8084a4c: 4b1b ldr r3, [pc, #108] ; (8084abc ) 8084a4e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8084a52: 461a mov r2, r3 8084a54: 21aa movs r1, #170 ; 0xaa 8084a56: f44f 7082 mov.w r0, #260 ; 0x104 8084a5a: f7cf fc67 bl 805432c 8084a5e: e00c b.n 8084a7a LCD_DisplayStringC(260, LCD_LINE_10, (char *) pAVERAGE[pardata.AVG]); 8084a60: 4b12 ldr r3, [pc, #72] ; (8084aac ) 8084a62: 7b5b ldrb r3, [r3, #13] 8084a64: b2db uxtb r3, r3 8084a66: 461a mov r2, r3 8084a68: 4b14 ldr r3, [pc, #80] ; (8084abc ) 8084a6a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8084a6e: 461a mov r2, r3 8084a70: 21aa movs r1, #170 ; 0xaa 8084a72: f44f 7082 mov.w r0, #260 ; 0x104 8084a76: f7cf fc59 bl 805432c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8084a7a: 4911 ldr r1, [pc, #68] ; (8084ac0 ) 8084a7c: 4814 ldr r0, [pc, #80] ; (8084ad0 ) 8084a7e: f7ce fe95 bl 80537ac if((pardata.OPTIONS & maskFFT) == fft) 8084a82: 4b0a ldr r3, [pc, #40] ; (8084aac ) 8084a84: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8084a88: f003 0330 and.w r3, r3, #48 ; 0x30 8084a8c: 2b00 cmp r3, #0 8084a8e: d129 bne.n 8084ae4 LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][0]); 8084a90: 4b06 ldr r3, [pc, #24] ; (8084aac ) 8084a92: 7b1b ldrb r3, [r3, #12] 8084a94: b2db uxtb r3, r3 8084a96: 4a06 ldr r2, [pc, #24] ; (8084ab0 ) 8084a98: 011b lsls r3, r3, #4 8084a9a: 4413 add r3, r2 8084a9c: 681b ldr r3, [r3, #0] 8084a9e: 461a mov r2, r3 8084aa0: 213a movs r1, #58 ; 0x3a 8084aa2: f44f 7082 mov.w r0, #260 ; 0x104 8084aa6: f7cf fc41 bl 805432c 8084aaa: e029 b.n 8084b00 8084aac: 20023e60 .word 0x20023e60 8084ab0: 2002029c .word 0x2002029c 8084ab4: 2002019c .word 0x2002019c 8084ab8: 20020214 .word 0x20020214 8084abc: 20020224 .word 0x20020224 8084ac0: ff0a0f1f .word 0xff0a0f1f 8084ac4: ff808080 .word 0xff808080 8084ac8: 200206b4 .word 0x200206b4 8084acc: 2002070c .word 0x2002070c 8084ad0: ffd8aa57 .word 0xffd8aa57 8084ad4: 20020070 .word 0x20020070 8084ad8: 200205c4 .word 0x200205c4 8084adc: 20020f84 .word 0x20020f84 8084ae0: 2002165c .word 0x2002165c else LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][1]); 8084ae4: 4b88 ldr r3, [pc, #544] ; (8084d08 ) 8084ae6: 7b1b ldrb r3, [r3, #12] 8084ae8: b2db uxtb r3, r3 8084aea: 4a88 ldr r2, [pc, #544] ; (8084d0c ) 8084aec: 011b lsls r3, r3, #4 8084aee: 4413 add r3, r2 8084af0: 3304 adds r3, #4 8084af2: 681b ldr r3, [r3, #0] 8084af4: 461a mov r2, r3 8084af6: 213a movs r1, #58 ; 0x3a 8084af8: f44f 7082 mov.w r0, #260 ; 0x104 8084afc: f7cf fc16 bl 805432c LCD_DisplayStringC(260, LCD_LINE_4, (char *) pIPR_OKT[pardata.LANG][(pardata.IPR << 1) | pardata.IVS[pardata.IPR]]); 8084b00: 4b81 ldr r3, [pc, #516] ; (8084d08 ) 8084b02: 7b1b ldrb r3, [r3, #12] 8084b04: b2db uxtb r3, r3 8084b06: 4618 mov r0, r3 8084b08: 4b7f ldr r3, [pc, #508] ; (8084d08 ) 8084b0a: 785b ldrb r3, [r3, #1] 8084b0c: b2db uxtb r3, r3 8084b0e: 005b lsls r3, r3, #1 8084b10: 4a7d ldr r2, [pc, #500] ; (8084d08 ) 8084b12: 7852 ldrb r2, [r2, #1] 8084b14: b2d2 uxtb r2, r2 8084b16: 4611 mov r1, r2 8084b18: 4a7b ldr r2, [pc, #492] ; (8084d08 ) 8084b1a: 440a add r2, r1 8084b1c: 7892 ldrb r2, [r2, #2] 8084b1e: b2d2 uxtb r2, r2 8084b20: 431a orrs r2, r3 8084b22: 497b ldr r1, [pc, #492] ; (8084d10 ) 8084b24: 4603 mov r3, r0 8084b26: 005b lsls r3, r3, #1 8084b28: 4403 add r3, r0 8084b2a: 005b lsls r3, r3, #1 8084b2c: 4413 add r3, r2 8084b2e: f851 3023 ldr.w r3, [r1, r3, lsl #2] 8084b32: 461a mov r2, r3 8084b34: 214a movs r1, #74 ; 0x4a 8084b36: f44f 7082 mov.w r0, #260 ; 0x104 8084b3a: f7cf fbf7 bl 805432c LCD_DisplayStringC(260, LCD_LINE_5, strHP); 8084b3e: f507 73d2 add.w r3, r7, #420 ; 0x1a4 8084b42: 461a mov r2, r3 8084b44: 215a movs r1, #90 ; 0x5a 8084b46: f44f 7082 mov.w r0, #260 ; 0x104 8084b4a: f7cf fbef bl 805432c LCD_DisplayStringC(260, LCD_LINE_6, strLP); 8084b4e: f507 73cc add.w r3, r7, #408 ; 0x198 8084b52: 461a mov r2, r3 8084b54: 216a movs r1, #106 ; 0x6a 8084b56: f44f 7082 mov.w r0, #260 ; 0x104 8084b5a: f7cf fbe7 bl 805432c LCD_DisplayStringC(260, LCD_LINE_7, str1); 8084b5e: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8084b62: 461a mov r2, r3 8084b64: 217a movs r1, #122 ; 0x7a 8084b66: f44f 7082 mov.w r0, #260 ; 0x104 8084b6a: f7cf fbdf bl 805432c LCD_DisplayStringC(260, LCD_LINE_8, (char *) pMSH[pardata.LANG][pardata.MSH]); 8084b6e: 4b66 ldr r3, [pc, #408] ; (8084d08 ) 8084b70: 7b1b ldrb r3, [r3, #12] 8084b72: b2db uxtb r3, r3 8084b74: 4618 mov r0, r3 8084b76: 4b64 ldr r3, [pc, #400] ; (8084d08 ) 8084b78: 7a9b ldrb r3, [r3, #10] 8084b7a: b2db uxtb r3, r3 8084b7c: 4619 mov r1, r3 8084b7e: 4a65 ldr r2, [pc, #404] ; (8084d14 ) 8084b80: 0043 lsls r3, r0, #1 8084b82: 440b add r3, r1 8084b84: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8084b88: 461a mov r2, r3 8084b8a: 218a movs r1, #138 ; 0x8a 8084b8c: f44f 7082 mov.w r0, #260 ; 0x104 8084b90: f7cf fbcc bl 805432c LCD_DisplayStringC(260, LCD_LINE_9, (char *) pWIN[pardata.LANG][pardata.WIN]); 8084b94: 4b5c ldr r3, [pc, #368] ; (8084d08 ) 8084b96: 7b1b ldrb r3, [r3, #12] 8084b98: b2db uxtb r3, r3 8084b9a: 4619 mov r1, r3 8084b9c: 4b5a ldr r3, [pc, #360] ; (8084d08 ) 8084b9e: 7a5b ldrb r3, [r3, #9] 8084ba0: b2db uxtb r3, r3 8084ba2: 4618 mov r0, r3 8084ba4: 4a5c ldr r2, [pc, #368] ; (8084d18 ) 8084ba6: 460b mov r3, r1 8084ba8: 009b lsls r3, r3, #2 8084baa: 440b add r3, r1 8084bac: 4403 add r3, r0 8084bae: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8084bb2: 461a mov r2, r3 8084bb4: 219a movs r1, #154 ; 0x9a 8084bb6: f44f 7082 mov.w r0, #260 ; 0x104 8084bba: f7cf fbb7 bl 805432c if(pardata.OPTIONS & BIT2) // åñëè àâòîóñèëåíèå 8084bbe: 4b52 ldr r3, [pc, #328] ; (8084d08 ) 8084bc0: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8084bc4: f003 0304 and.w r3, r3, #4 8084bc8: 2b00 cmp r3, #0 8084bca: d033 beq.n 8084c34 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8084bcc: 4953 ldr r1, [pc, #332] ; (8084d1c ) 8084bce: 4854 ldr r0, [pc, #336] ; (8084d20 ) 8084bd0: f7ce fdec bl 80537ac if(pardata.IIN != VOLTS) 8084bd4: 4b4c ldr r3, [pc, #304] ; (8084d08 ) 8084bd6: 799b ldrb r3, [r3, #6] 8084bd8: b2db uxtb r3, r3 8084bda: 2b02 cmp r3, #2 8084bdc: d010 beq.n 8084c00 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8084bde: 4b4a ldr r3, [pc, #296] ; (8084d08 ) 8084be0: 7b1b ldrb r3, [r3, #12] 8084be2: b2db uxtb r3, r3 8084be4: 4619 mov r1, r3 8084be6: 4a4f ldr r2, [pc, #316] ; (8084d24 ) 8084be8: 232c movs r3, #44 ; 0x2c 8084bea: fb03 f301 mul.w r3, r3, r1 8084bee: 4413 add r3, r2 8084bf0: 3324 adds r3, #36 ; 0x24 8084bf2: 681b ldr r3, [r3, #0] 8084bf4: 461a mov r2, r3 8084bf6: 21ca movs r1, #202 ; 0xca 8084bf8: 200a movs r0, #10 8084bfa: f7cf fb7f bl 80542fc 8084bfe: e00f b.n 8084c20 else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8084c00: 4b41 ldr r3, [pc, #260] ; (8084d08 ) 8084c02: 7b1b ldrb r3, [r3, #12] 8084c04: b2db uxtb r3, r3 8084c06: 4619 mov r1, r3 8084c08: 4a47 ldr r2, [pc, #284] ; (8084d28 ) 8084c0a: 232c movs r3, #44 ; 0x2c 8084c0c: fb03 f301 mul.w r3, r3, r1 8084c10: 4413 add r3, r2 8084c12: 3324 adds r3, #36 ; 0x24 8084c14: 681b ldr r3, [r3, #0] 8084c16: 461a mov r2, r3 8084c18: 21ca movs r1, #202 ; 0xca 8084c1a: 200a movs r0, #10 8084c1c: f7cf fb6e bl 80542fc LCD_DisplayStringC(260, LCD_LINE_12, str); 8084c20: f507 733b add.w r3, r7, #748 ; 0x2ec 8084c24: 461a mov r2, r3 8084c26: 21ca movs r1, #202 ; 0xca 8084c28: f44f 7082 mov.w r0, #260 ; 0x104 8084c2c: f7cf fb7e bl 805432c 8084c30: f001 bbd0 b.w 80863d4 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8084c34: 4939 ldr r1, [pc, #228] ; (8084d1c ) 8084c36: f04f 30ff mov.w r0, #4294967295 8084c3a: f7ce fdb7 bl 80537ac if(pardata.IIN != VOLTS) 8084c3e: 4b32 ldr r3, [pc, #200] ; (8084d08 ) 8084c40: 799b ldrb r3, [r3, #6] 8084c42: b2db uxtb r3, r3 8084c44: 2b02 cmp r3, #2 8084c46: d010 beq.n 8084c6a LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8084c48: 4b2f ldr r3, [pc, #188] ; (8084d08 ) 8084c4a: 7b1b ldrb r3, [r3, #12] 8084c4c: b2db uxtb r3, r3 8084c4e: 4619 mov r1, r3 8084c50: 4a34 ldr r2, [pc, #208] ; (8084d24 ) 8084c52: 232c movs r3, #44 ; 0x2c 8084c54: fb03 f301 mul.w r3, r3, r1 8084c58: 4413 add r3, r2 8084c5a: 3324 adds r3, #36 ; 0x24 8084c5c: 681b ldr r3, [r3, #0] 8084c5e: 461a mov r2, r3 8084c60: 21ca movs r1, #202 ; 0xca 8084c62: 200a movs r0, #10 8084c64: f7cf fb4a bl 80542fc 8084c68: e00f b.n 8084c8a else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8084c6a: 4b27 ldr r3, [pc, #156] ; (8084d08 ) 8084c6c: 7b1b ldrb r3, [r3, #12] 8084c6e: b2db uxtb r3, r3 8084c70: 4619 mov r1, r3 8084c72: 4a2d ldr r2, [pc, #180] ; (8084d28 ) 8084c74: 232c movs r3, #44 ; 0x2c 8084c76: fb03 f301 mul.w r3, r3, r1 8084c7a: 4413 add r3, r2 8084c7c: 3324 adds r3, #36 ; 0x24 8084c7e: 681b ldr r3, [r3, #0] 8084c80: 461a mov r2, r3 8084c82: 21ca movs r1, #202 ; 0xca 8084c84: 200a movs r0, #10 8084c86: f7cf fb39 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8084c8a: 4924 ldr r1, [pc, #144] ; (8084d1c ) 8084c8c: 4827 ldr r0, [pc, #156] ; (8084d2c ) 8084c8e: f7ce fd8d bl 80537ac LCD_DisplayStringC(260, LCD_LINE_12, str); 8084c92: f507 733b add.w r3, r7, #748 ; 0x2ec 8084c96: 461a mov r2, r3 8084c98: 21ca movs r1, #202 ; 0xca 8084c9a: f44f 7082 mov.w r0, #260 ; 0x104 8084c9e: f7cf fb45 bl 805432c 8084ca2: f001 bb97 b.w 80863d4 if(menupos == VibAutoKu) 8084ca6: 4b22 ldr r3, [pc, #136] ; (8084d30 ) 8084ca8: 781b ldrb r3, [r3, #0] 8084caa: b2db uxtb r3, r3 8084cac: 2b08 cmp r3, #8 8084cae: f040 8147 bne.w 8084f40 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8084cb2: 491a ldr r1, [pc, #104] ; (8084d1c ) 8084cb4: f04f 30ff mov.w r0, #4294967295 8084cb8: f7ce fd78 bl 80537ac LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]);//"Äàëåå" 8084cbc: 4b12 ldr r3, [pc, #72] ; (8084d08 ) 8084cbe: 7b1b ldrb r3, [r3, #12] 8084cc0: b2db uxtb r3, r3 8084cc2: 461a mov r2, r3 8084cc4: 4b1b ldr r3, [pc, #108] ; (8084d34 ) 8084cc6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8084cca: 461a mov r2, r3 8084ccc: 2127 movs r1, #39 ; 0x27 8084cce: 200a movs r0, #10 8084cd0: f7cf fb14 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8084cd4: 4911 ldr r1, [pc, #68] ; (8084d1c ) 8084cd6: 4815 ldr r0, [pc, #84] ; (8084d2c ) 8084cd8: f7ce fd68 bl 80537ac if((pardata.OPTIONS & maskFFT) == fft) 8084cdc: 4b0a ldr r3, [pc, #40] ; (8084d08 ) 8084cde: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8084ce2: f003 0330 and.w r3, r3, #48 ; 0x30 8084ce6: 2b00 cmp r3, #0 8084ce8: d126 bne.n 8084d38 LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][0]); 8084cea: 4b07 ldr r3, [pc, #28] ; (8084d08 ) 8084cec: 7b1b ldrb r3, [r3, #12] 8084cee: b2db uxtb r3, r3 8084cf0: 4a06 ldr r2, [pc, #24] ; (8084d0c ) 8084cf2: 011b lsls r3, r3, #4 8084cf4: 4413 add r3, r2 8084cf6: 681b ldr r3, [r3, #0] 8084cf8: 461a mov r2, r3 8084cfa: 213a movs r1, #58 ; 0x3a 8084cfc: f44f 7082 mov.w r0, #260 ; 0x104 8084d00: f7cf fb14 bl 805432c 8084d04: e026 b.n 8084d54 8084d06: bf00 nop 8084d08: 20023e60 .word 0x20023e60 8084d0c: 2002029c .word 0x2002029c 8084d10: 2002019c .word 0x2002019c 8084d14: 20020214 .word 0x20020214 8084d18: 200201ec .word 0x200201ec 8084d1c: ff0a0f1f .word 0xff0a0f1f 8084d20: ff808080 .word 0xff808080 8084d24: 200206b4 .word 0x200206b4 8084d28: 2002070c .word 0x2002070c 8084d2c: ffd8aa57 .word 0xffd8aa57 8084d30: 20020070 .word 0x20020070 8084d34: 200205c4 .word 0x200205c4 else LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][1]); 8084d38: 4b99 ldr r3, [pc, #612] ; (8084fa0 ) 8084d3a: 7b1b ldrb r3, [r3, #12] 8084d3c: b2db uxtb r3, r3 8084d3e: 4a99 ldr r2, [pc, #612] ; (8084fa4 ) 8084d40: 011b lsls r3, r3, #4 8084d42: 4413 add r3, r2 8084d44: 3304 adds r3, #4 8084d46: 681b ldr r3, [r3, #0] 8084d48: 461a mov r2, r3 8084d4a: 213a movs r1, #58 ; 0x3a 8084d4c: f44f 7082 mov.w r0, #260 ; 0x104 8084d50: f7cf faec bl 805432c LCD_DisplayStringC(260, LCD_LINE_4, (char *) pIPR_OKT[pardata.LANG][(pardata.IPR << 1) | pardata.IVS[pardata.IPR]]); 8084d54: 4b92 ldr r3, [pc, #584] ; (8084fa0 ) 8084d56: 7b1b ldrb r3, [r3, #12] 8084d58: b2db uxtb r3, r3 8084d5a: 4618 mov r0, r3 8084d5c: 4b90 ldr r3, [pc, #576] ; (8084fa0 ) 8084d5e: 785b ldrb r3, [r3, #1] 8084d60: b2db uxtb r3, r3 8084d62: 005b lsls r3, r3, #1 8084d64: 4a8e ldr r2, [pc, #568] ; (8084fa0 ) 8084d66: 7852 ldrb r2, [r2, #1] 8084d68: b2d2 uxtb r2, r2 8084d6a: 4611 mov r1, r2 8084d6c: 4a8c ldr r2, [pc, #560] ; (8084fa0 ) 8084d6e: 440a add r2, r1 8084d70: 7892 ldrb r2, [r2, #2] 8084d72: b2d2 uxtb r2, r2 8084d74: 431a orrs r2, r3 8084d76: 498c ldr r1, [pc, #560] ; (8084fa8 ) 8084d78: 4603 mov r3, r0 8084d7a: 005b lsls r3, r3, #1 8084d7c: 4403 add r3, r0 8084d7e: 005b lsls r3, r3, #1 8084d80: 4413 add r3, r2 8084d82: f851 3023 ldr.w r3, [r1, r3, lsl #2] 8084d86: 461a mov r2, r3 8084d88: 214a movs r1, #74 ; 0x4a 8084d8a: f44f 7082 mov.w r0, #260 ; 0x104 8084d8e: f7cf facd bl 805432c LCD_DisplayStringC(260, LCD_LINE_5, strHP); 8084d92: f507 73d2 add.w r3, r7, #420 ; 0x1a4 8084d96: 461a mov r2, r3 8084d98: 215a movs r1, #90 ; 0x5a 8084d9a: f44f 7082 mov.w r0, #260 ; 0x104 8084d9e: f7cf fac5 bl 805432c LCD_DisplayStringC(260, LCD_LINE_6, strLP); 8084da2: f507 73cc add.w r3, r7, #408 ; 0x198 8084da6: 461a mov r2, r3 8084da8: 216a movs r1, #106 ; 0x6a 8084daa: f44f 7082 mov.w r0, #260 ; 0x104 8084dae: f7cf fabd bl 805432c LCD_DisplayStringC(260, LCD_LINE_7, str1); 8084db2: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8084db6: 461a mov r2, r3 8084db8: 217a movs r1, #122 ; 0x7a 8084dba: f44f 7082 mov.w r0, #260 ; 0x104 8084dbe: f7cf fab5 bl 805432c LCD_DisplayStringC(260, LCD_LINE_8, (char *) pMSH[pardata.LANG][pardata.MSH]); 8084dc2: 4b77 ldr r3, [pc, #476] ; (8084fa0 ) 8084dc4: 7b1b ldrb r3, [r3, #12] 8084dc6: b2db uxtb r3, r3 8084dc8: 4618 mov r0, r3 8084dca: 4b75 ldr r3, [pc, #468] ; (8084fa0 ) 8084dcc: 7a9b ldrb r3, [r3, #10] 8084dce: b2db uxtb r3, r3 8084dd0: 4619 mov r1, r3 8084dd2: 4a76 ldr r2, [pc, #472] ; (8084fac ) 8084dd4: 0043 lsls r3, r0, #1 8084dd6: 440b add r3, r1 8084dd8: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8084ddc: 461a mov r2, r3 8084dde: 218a movs r1, #138 ; 0x8a 8084de0: f44f 7082 mov.w r0, #260 ; 0x104 8084de4: f7cf faa2 bl 805432c LCD_DisplayStringC(260, LCD_LINE_9, (char *) pWIN[pardata.LANG][pardata.WIN]); 8084de8: 4b6d ldr r3, [pc, #436] ; (8084fa0 ) 8084dea: 7b1b ldrb r3, [r3, #12] 8084dec: b2db uxtb r3, r3 8084dee: 4619 mov r1, r3 8084df0: 4b6b ldr r3, [pc, #428] ; (8084fa0 ) 8084df2: 7a5b ldrb r3, [r3, #9] 8084df4: b2db uxtb r3, r3 8084df6: 4618 mov r0, r3 8084df8: 4a6d ldr r2, [pc, #436] ; (8084fb0 ) 8084dfa: 460b mov r3, r1 8084dfc: 009b lsls r3, r3, #2 8084dfe: 440b add r3, r1 8084e00: 4403 add r3, r0 8084e02: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8084e06: 461a mov r2, r3 8084e08: 219a movs r1, #154 ; 0x9a 8084e0a: f44f 7082 mov.w r0, #260 ; 0x104 8084e0e: f7cf fa8d bl 805432c LCD_DisplayStringC(260, LCD_LINE_10, (char *) pAVERAGE[pardata.AVG]); 8084e12: 4b63 ldr r3, [pc, #396] ; (8084fa0 ) 8084e14: 7b5b ldrb r3, [r3, #13] 8084e16: b2db uxtb r3, r3 8084e18: 461a mov r2, r3 8084e1a: 4b66 ldr r3, [pc, #408] ; (8084fb4 ) 8084e1c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8084e20: 461a mov r2, r3 8084e22: 21aa movs r1, #170 ; 0xaa 8084e24: f44f 7082 mov.w r0, #260 ; 0x104 8084e28: f7cf fa80 bl 805432c LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8084e2c: 4962 ldr r1, [pc, #392] ; (8084fb8 ) 8084e2e: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8084e32: f7ce fcbb bl 80537ac BSP_LCD_FillRect(253, 187, 14, 14); 8084e36: 230e movs r3, #14 8084e38: 220e movs r2, #14 8084e3a: 21bb movs r1, #187 ; 0xbb 8084e3c: 20fd movs r0, #253 ; 0xfd 8084e3e: f7cf f943 bl 80540c8 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8084e42: 495d ldr r1, [pc, #372] ; (8084fb8 ) 8084e44: f04f 30ff mov.w r0, #4294967295 8084e48: f7ce fcb0 bl 80537ac BSP_LCD_FillRect(255, 189, 10, 10); 8084e4c: 230a movs r3, #10 8084e4e: 220a movs r2, #10 8084e50: 21bd movs r1, #189 ; 0xbd 8084e52: 20ff movs r0, #255 ; 0xff 8084e54: f7cf f938 bl 80540c8 if(pardata.OPTIONS & BIT2) // åñëè àâòîóñèëåíèå 8084e58: 4b51 ldr r3, [pc, #324] ; (8084fa0 ) 8084e5a: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8084e5e: f003 0304 and.w r3, r3, #4 8084e62: 2b00 cmp r3, #0 8084e64: d033 beq.n 8084ece LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8084e66: 4954 ldr r1, [pc, #336] ; (8084fb8 ) 8084e68: 4854 ldr r0, [pc, #336] ; (8084fbc ) 8084e6a: f7ce fc9f bl 80537ac if(pardata.IIN != VOLTS) 8084e6e: 4b4c ldr r3, [pc, #304] ; (8084fa0 ) 8084e70: 799b ldrb r3, [r3, #6] 8084e72: b2db uxtb r3, r3 8084e74: 2b02 cmp r3, #2 8084e76: d010 beq.n 8084e9a LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8084e78: 4b49 ldr r3, [pc, #292] ; (8084fa0 ) 8084e7a: 7b1b ldrb r3, [r3, #12] 8084e7c: b2db uxtb r3, r3 8084e7e: 4619 mov r1, r3 8084e80: 4a4f ldr r2, [pc, #316] ; (8084fc0 ) 8084e82: 232c movs r3, #44 ; 0x2c 8084e84: fb03 f301 mul.w r3, r3, r1 8084e88: 4413 add r3, r2 8084e8a: 3324 adds r3, #36 ; 0x24 8084e8c: 681b ldr r3, [r3, #0] 8084e8e: 461a mov r2, r3 8084e90: 21ca movs r1, #202 ; 0xca 8084e92: 200a movs r0, #10 8084e94: f7cf fa32 bl 80542fc 8084e98: e00f b.n 8084eba else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8084e9a: 4b41 ldr r3, [pc, #260] ; (8084fa0 ) 8084e9c: 7b1b ldrb r3, [r3, #12] 8084e9e: b2db uxtb r3, r3 8084ea0: 4619 mov r1, r3 8084ea2: 4a48 ldr r2, [pc, #288] ; (8084fc4 ) 8084ea4: 232c movs r3, #44 ; 0x2c 8084ea6: fb03 f301 mul.w r3, r3, r1 8084eaa: 4413 add r3, r2 8084eac: 3324 adds r3, #36 ; 0x24 8084eae: 681b ldr r3, [r3, #0] 8084eb0: 461a mov r2, r3 8084eb2: 21ca movs r1, #202 ; 0xca 8084eb4: 200a movs r0, #10 8084eb6: f7cf fa21 bl 80542fc LCD_DisplayStringC(260, LCD_LINE_12, str); 8084eba: f507 733b add.w r3, r7, #748 ; 0x2ec 8084ebe: 461a mov r2, r3 8084ec0: 21ca movs r1, #202 ; 0xca 8084ec2: f44f 7082 mov.w r0, #260 ; 0x104 8084ec6: f7cf fa31 bl 805432c 8084eca: f001 ba83 b.w 80863d4 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8084ece: 493a ldr r1, [pc, #232] ; (8084fb8 ) 8084ed0: f04f 30ff mov.w r0, #4294967295 8084ed4: f7ce fc6a bl 80537ac if(pardata.IIN != VOLTS) 8084ed8: 4b31 ldr r3, [pc, #196] ; (8084fa0 ) 8084eda: 799b ldrb r3, [r3, #6] 8084edc: b2db uxtb r3, r3 8084ede: 2b02 cmp r3, #2 8084ee0: d010 beq.n 8084f04 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8084ee2: 4b2f ldr r3, [pc, #188] ; (8084fa0 ) 8084ee4: 7b1b ldrb r3, [r3, #12] 8084ee6: b2db uxtb r3, r3 8084ee8: 4619 mov r1, r3 8084eea: 4a35 ldr r2, [pc, #212] ; (8084fc0 ) 8084eec: 232c movs r3, #44 ; 0x2c 8084eee: fb03 f301 mul.w r3, r3, r1 8084ef2: 4413 add r3, r2 8084ef4: 3324 adds r3, #36 ; 0x24 8084ef6: 681b ldr r3, [r3, #0] 8084ef8: 461a mov r2, r3 8084efa: 21ca movs r1, #202 ; 0xca 8084efc: 200a movs r0, #10 8084efe: f7cf f9fd bl 80542fc 8084f02: e00f b.n 8084f24 else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8084f04: 4b26 ldr r3, [pc, #152] ; (8084fa0 ) 8084f06: 7b1b ldrb r3, [r3, #12] 8084f08: b2db uxtb r3, r3 8084f0a: 4619 mov r1, r3 8084f0c: 4a2d ldr r2, [pc, #180] ; (8084fc4 ) 8084f0e: 232c movs r3, #44 ; 0x2c 8084f10: fb03 f301 mul.w r3, r3, r1 8084f14: 4413 add r3, r2 8084f16: 3324 adds r3, #36 ; 0x24 8084f18: 681b ldr r3, [r3, #0] 8084f1a: 461a mov r2, r3 8084f1c: 21ca movs r1, #202 ; 0xca 8084f1e: 200a movs r0, #10 8084f20: f7cf f9ec bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8084f24: 4924 ldr r1, [pc, #144] ; (8084fb8 ) 8084f26: 4828 ldr r0, [pc, #160] ; (8084fc8 ) 8084f28: f7ce fc40 bl 80537ac LCD_DisplayStringC(260, LCD_LINE_12, str); 8084f2c: f507 733b add.w r3, r7, #748 ; 0x2ec 8084f30: 461a mov r2, r3 8084f32: 21ca movs r1, #202 ; 0xca 8084f34: f44f 7082 mov.w r0, #260 ; 0x104 8084f38: f7cf f9f8 bl 805432c 8084f3c: f001 ba4a b.w 80863d4 if(menupos == VibMax_ALL) 8084f40: 4b22 ldr r3, [pc, #136] ; (8084fcc ) 8084f42: 781b ldrb r3, [r3, #0] 8084f44: b2db uxtb r3, r3 8084f46: 2b09 cmp r3, #9 8084f48: f040 80f9 bne.w 808513e LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8084f4c: 491a ldr r1, [pc, #104] ; (8084fb8 ) 8084f4e: f04f 30ff mov.w r0, #4294967295 8084f52: f7ce fc2b bl 80537ac LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]);//"Äàëåå" 8084f56: 4b12 ldr r3, [pc, #72] ; (8084fa0 ) 8084f58: 7b1b ldrb r3, [r3, #12] 8084f5a: b2db uxtb r3, r3 8084f5c: 461a mov r2, r3 8084f5e: 4b1c ldr r3, [pc, #112] ; (8084fd0 ) 8084f60: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8084f64: 461a mov r2, r3 8084f66: 2127 movs r1, #39 ; 0x27 8084f68: 200a movs r0, #10 8084f6a: f7cf f9c7 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8084f6e: 4912 ldr r1, [pc, #72] ; (8084fb8 ) 8084f70: 4815 ldr r0, [pc, #84] ; (8084fc8 ) 8084f72: f7ce fc1b bl 80537ac if((pardata.OPTIONS & maskFFT) == fft) 8084f76: 4b0a ldr r3, [pc, #40] ; (8084fa0 ) 8084f78: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8084f7c: f003 0330 and.w r3, r3, #48 ; 0x30 8084f80: 2b00 cmp r3, #0 8084f82: d127 bne.n 8084fd4 LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][0]); 8084f84: 4b06 ldr r3, [pc, #24] ; (8084fa0 ) 8084f86: 7b1b ldrb r3, [r3, #12] 8084f88: b2db uxtb r3, r3 8084f8a: 4a06 ldr r2, [pc, #24] ; (8084fa4 ) 8084f8c: 011b lsls r3, r3, #4 8084f8e: 4413 add r3, r2 8084f90: 681b ldr r3, [r3, #0] 8084f92: 461a mov r2, r3 8084f94: 213a movs r1, #58 ; 0x3a 8084f96: f44f 7082 mov.w r0, #260 ; 0x104 8084f9a: f7cf f9c7 bl 805432c 8084f9e: e027 b.n 8084ff0 8084fa0: 20023e60 .word 0x20023e60 8084fa4: 2002029c .word 0x2002029c 8084fa8: 2002019c .word 0x2002019c 8084fac: 20020214 .word 0x20020214 8084fb0: 200201ec .word 0x200201ec 8084fb4: 20020224 .word 0x20020224 8084fb8: ff0a0f1f .word 0xff0a0f1f 8084fbc: ff808080 .word 0xff808080 8084fc0: 200206b4 .word 0x200206b4 8084fc4: 2002070c .word 0x2002070c 8084fc8: ffd8aa57 .word 0xffd8aa57 8084fcc: 20020070 .word 0x20020070 8084fd0: 200205c4 .word 0x200205c4 else LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][1]); 8084fd4: 4bc3 ldr r3, [pc, #780] ; (80852e4 ) 8084fd6: 7b1b ldrb r3, [r3, #12] 8084fd8: b2db uxtb r3, r3 8084fda: 4ac3 ldr r2, [pc, #780] ; (80852e8 ) 8084fdc: 011b lsls r3, r3, #4 8084fde: 4413 add r3, r2 8084fe0: 3304 adds r3, #4 8084fe2: 681b ldr r3, [r3, #0] 8084fe4: 461a mov r2, r3 8084fe6: 213a movs r1, #58 ; 0x3a 8084fe8: f44f 7082 mov.w r0, #260 ; 0x104 8084fec: f7cf f99e bl 805432c LCD_DisplayStringC(260, LCD_LINE_4, (char *) pIPR_OKT[pardata.LANG][(pardata.IPR << 1) | pardata.IVS[pardata.IPR]]); 8084ff0: 4bbc ldr r3, [pc, #752] ; (80852e4 ) 8084ff2: 7b1b ldrb r3, [r3, #12] 8084ff4: b2db uxtb r3, r3 8084ff6: 4618 mov r0, r3 8084ff8: 4bba ldr r3, [pc, #744] ; (80852e4 ) 8084ffa: 785b ldrb r3, [r3, #1] 8084ffc: b2db uxtb r3, r3 8084ffe: 005b lsls r3, r3, #1 8085000: 4ab8 ldr r2, [pc, #736] ; (80852e4 ) 8085002: 7852 ldrb r2, [r2, #1] 8085004: b2d2 uxtb r2, r2 8085006: 4611 mov r1, r2 8085008: 4ab6 ldr r2, [pc, #728] ; (80852e4 ) 808500a: 440a add r2, r1 808500c: 7892 ldrb r2, [r2, #2] 808500e: b2d2 uxtb r2, r2 8085010: 431a orrs r2, r3 8085012: 49b6 ldr r1, [pc, #728] ; (80852ec ) 8085014: 4603 mov r3, r0 8085016: 005b lsls r3, r3, #1 8085018: 4403 add r3, r0 808501a: 005b lsls r3, r3, #1 808501c: 4413 add r3, r2 808501e: f851 3023 ldr.w r3, [r1, r3, lsl #2] 8085022: 461a mov r2, r3 8085024: 214a movs r1, #74 ; 0x4a 8085026: f44f 7082 mov.w r0, #260 ; 0x104 808502a: f7cf f97f bl 805432c LCD_DisplayStringC(260, LCD_LINE_5, strHP); 808502e: f507 73d2 add.w r3, r7, #420 ; 0x1a4 8085032: 461a mov r2, r3 8085034: 215a movs r1, #90 ; 0x5a 8085036: f44f 7082 mov.w r0, #260 ; 0x104 808503a: f7cf f977 bl 805432c LCD_DisplayStringC(260, LCD_LINE_6, strLP); 808503e: f507 73cc add.w r3, r7, #408 ; 0x198 8085042: 461a mov r2, r3 8085044: 216a movs r1, #106 ; 0x6a 8085046: f44f 7082 mov.w r0, #260 ; 0x104 808504a: f7cf f96f bl 805432c LCD_DisplayStringC(260, LCD_LINE_7, str1); 808504e: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8085052: 461a mov r2, r3 8085054: 217a movs r1, #122 ; 0x7a 8085056: f44f 7082 mov.w r0, #260 ; 0x104 808505a: f7cf f967 bl 805432c LCD_DisplayStringC(260, LCD_LINE_8, (char *) pMSH[pardata.LANG][pardata.MSH]); 808505e: 4ba1 ldr r3, [pc, #644] ; (80852e4 ) 8085060: 7b1b ldrb r3, [r3, #12] 8085062: b2db uxtb r3, r3 8085064: 4618 mov r0, r3 8085066: 4b9f ldr r3, [pc, #636] ; (80852e4 ) 8085068: 7a9b ldrb r3, [r3, #10] 808506a: b2db uxtb r3, r3 808506c: 4619 mov r1, r3 808506e: 4aa0 ldr r2, [pc, #640] ; (80852f0 ) 8085070: 0043 lsls r3, r0, #1 8085072: 440b add r3, r1 8085074: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8085078: 461a mov r2, r3 808507a: 218a movs r1, #138 ; 0x8a 808507c: f44f 7082 mov.w r0, #260 ; 0x104 8085080: f7cf f954 bl 805432c LCD_DisplayStringC(260, LCD_LINE_9, (char *) pWIN[pardata.LANG][pardata.WIN]); 8085084: 4b97 ldr r3, [pc, #604] ; (80852e4 ) 8085086: 7b1b ldrb r3, [r3, #12] 8085088: b2db uxtb r3, r3 808508a: 4619 mov r1, r3 808508c: 4b95 ldr r3, [pc, #596] ; (80852e4 ) 808508e: 7a5b ldrb r3, [r3, #9] 8085090: b2db uxtb r3, r3 8085092: 4618 mov r0, r3 8085094: 4a97 ldr r2, [pc, #604] ; (80852f4 ) 8085096: 460b mov r3, r1 8085098: 009b lsls r3, r3, #2 808509a: 440b add r3, r1 808509c: 4403 add r3, r0 808509e: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80850a2: 461a mov r2, r3 80850a4: 219a movs r1, #154 ; 0x9a 80850a6: f44f 7082 mov.w r0, #260 ; 0x104 80850aa: f7cf f93f bl 805432c LCD_DisplayStringC(260, LCD_LINE_10, (char *) pAVERAGE[pardata.AVG]); 80850ae: 4b8d ldr r3, [pc, #564] ; (80852e4 ) 80850b0: 7b5b ldrb r3, [r3, #13] 80850b2: b2db uxtb r3, r3 80850b4: 461a mov r2, r3 80850b6: 4b90 ldr r3, [pc, #576] ; (80852f8 ) 80850b8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80850bc: 461a mov r2, r3 80850be: 21aa movs r1, #170 ; 0xaa 80850c0: f44f 7082 mov.w r0, #260 ; 0x104 80850c4: f7cf f932 bl 805432c LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80850c8: 498c ldr r1, [pc, #560] ; (80852fc ) 80850ca: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80850ce: f7ce fb6d bl 80537ac LCD_DisplayStringC(260, LCD_LINE_12, str); 80850d2: f507 733b add.w r3, r7, #748 ; 0x2ec 80850d6: 461a mov r2, r3 80850d8: 21ca movs r1, #202 ; 0xca 80850da: f44f 7082 mov.w r0, #260 ; 0x104 80850de: f7cf f925 bl 805432c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80850e2: 4986 ldr r1, [pc, #536] ; (80852fc ) 80850e4: f04f 30ff mov.w r0, #4294967295 80850e8: f7ce fb60 bl 80537ac if(pardata.IIN != VOLTS) 80850ec: 4b7d ldr r3, [pc, #500] ; (80852e4 ) 80850ee: 799b ldrb r3, [r3, #6] 80850f0: b2db uxtb r3, r3 80850f2: 2b02 cmp r3, #2 80850f4: d011 beq.n 808511a LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 80850f6: 4b7b ldr r3, [pc, #492] ; (80852e4 ) 80850f8: 7b1b ldrb r3, [r3, #12] 80850fa: b2db uxtb r3, r3 80850fc: 4619 mov r1, r3 80850fe: 4a80 ldr r2, [pc, #512] ; (8085300 ) 8085100: 232c movs r3, #44 ; 0x2c 8085102: fb03 f301 mul.w r3, r3, r1 8085106: 4413 add r3, r2 8085108: 3324 adds r3, #36 ; 0x24 808510a: 681b ldr r3, [r3, #0] 808510c: 461a mov r2, r3 808510e: 21ca movs r1, #202 ; 0xca 8085110: 200a movs r0, #10 8085112: f7cf f8f3 bl 80542fc 8085116: f001 b95d b.w 80863d4 else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 808511a: 4b72 ldr r3, [pc, #456] ; (80852e4 ) 808511c: 7b1b ldrb r3, [r3, #12] 808511e: b2db uxtb r3, r3 8085120: 4619 mov r1, r3 8085122: 4a78 ldr r2, [pc, #480] ; (8085304 ) 8085124: 232c movs r3, #44 ; 0x2c 8085126: fb03 f301 mul.w r3, r3, r1 808512a: 4413 add r3, r2 808512c: 3324 adds r3, #36 ; 0x24 808512e: 681b ldr r3, [r3, #0] 8085130: 461a mov r2, r3 8085132: 21ca movs r1, #202 ; 0xca 8085134: 200a movs r0, #10 8085136: f7cf f8e1 bl 80542fc 808513a: f001 b94b b.w 80863d4 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808513e: 496f ldr r1, [pc, #444] ; (80852fc ) 8085140: f04f 30ff mov.w r0, #4294967295 8085144: f7ce fb32 bl 80537ac LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]);//"Äàëåå" 8085148: 4b66 ldr r3, [pc, #408] ; (80852e4 ) 808514a: 7b1b ldrb r3, [r3, #12] 808514c: b2db uxtb r3, r3 808514e: 461a mov r2, r3 8085150: 4b6d ldr r3, [pc, #436] ; (8085308 ) 8085152: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8085156: 461a mov r2, r3 8085158: 2127 movs r1, #39 ; 0x27 808515a: 200a movs r0, #10 808515c: f7cf f8ce bl 80542fc if((menupos >= FilterHP_IDT) && (menupos <= FilterHP_IKD)) 8085160: 4b6a ldr r3, [pc, #424] ; (808530c ) 8085162: 781b ldrb r3, [r3, #0] 8085164: b2db uxtb r3, r3 8085166: 2b18 cmp r3, #24 8085168: f240 8083 bls.w 8085272 808516c: 4b67 ldr r3, [pc, #412] ; (808530c ) 808516e: 781b ldrb r3, [r3, #0] 8085170: b2db uxtb r3, r3 8085172: 2b1e cmp r3, #30 8085174: d87d bhi.n 8085272 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8085176: 4961 ldr r1, [pc, #388] ; (80852fc ) 8085178: 4865 ldr r0, [pc, #404] ; (8085310 ) 808517a: f7ce fb17 bl 80537ac LCD_DisplayStringC(260, LCD_LINE_6, strLP); 808517e: f507 73cc add.w r3, r7, #408 ; 0x198 8085182: 461a mov r2, r3 8085184: 216a movs r1, #106 ; 0x6a 8085186: f44f 7082 mov.w r0, #260 ; 0x104 808518a: f7cf f8cf bl 805432c if(pardata.OPTIONS & BIT2) // åñëè àâòîóñèëåíèå 808518e: 4b55 ldr r3, [pc, #340] ; (80852e4 ) 8085190: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8085194: f003 0304 and.w r3, r3, #4 8085198: 2b00 cmp r3, #0 808519a: d032 beq.n 8085202 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 808519c: 4957 ldr r1, [pc, #348] ; (80852fc ) 808519e: 485d ldr r0, [pc, #372] ; (8085314 ) 80851a0: f7ce fb04 bl 80537ac if(pardata.IIN != VOLTS) 80851a4: 4b4f ldr r3, [pc, #316] ; (80852e4 ) 80851a6: 799b ldrb r3, [r3, #6] 80851a8: b2db uxtb r3, r3 80851aa: 2b02 cmp r3, #2 80851ac: d010 beq.n 80851d0 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 80851ae: 4b4d ldr r3, [pc, #308] ; (80852e4 ) 80851b0: 7b1b ldrb r3, [r3, #12] 80851b2: b2db uxtb r3, r3 80851b4: 4619 mov r1, r3 80851b6: 4a52 ldr r2, [pc, #328] ; (8085300 ) 80851b8: 232c movs r3, #44 ; 0x2c 80851ba: fb03 f301 mul.w r3, r3, r1 80851be: 4413 add r3, r2 80851c0: 3324 adds r3, #36 ; 0x24 80851c2: 681b ldr r3, [r3, #0] 80851c4: 461a mov r2, r3 80851c6: 21ca movs r1, #202 ; 0xca 80851c8: 200a movs r0, #10 80851ca: f7cf f897 bl 80542fc 80851ce: e00f b.n 80851f0 else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 80851d0: 4b44 ldr r3, [pc, #272] ; (80852e4 ) 80851d2: 7b1b ldrb r3, [r3, #12] 80851d4: b2db uxtb r3, r3 80851d6: 4619 mov r1, r3 80851d8: 4a4a ldr r2, [pc, #296] ; (8085304 ) 80851da: 232c movs r3, #44 ; 0x2c 80851dc: fb03 f301 mul.w r3, r3, r1 80851e0: 4413 add r3, r2 80851e2: 3324 adds r3, #36 ; 0x24 80851e4: 681b ldr r3, [r3, #0] 80851e6: 461a mov r2, r3 80851e8: 21ca movs r1, #202 ; 0xca 80851ea: 200a movs r0, #10 80851ec: f7cf f886 bl 80542fc LCD_DisplayStringC(260, LCD_LINE_12, str); 80851f0: f507 733b add.w r3, r7, #748 ; 0x2ec 80851f4: 461a mov r2, r3 80851f6: 21ca movs r1, #202 ; 0xca 80851f8: f44f 7082 mov.w r0, #260 ; 0x104 80851fc: f7cf f896 bl 805432c if(pardata.OPTIONS & BIT2) // åñëè àâòîóñèëåíèå 8085200: e124 b.n 808544c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8085202: 493e ldr r1, [pc, #248] ; (80852fc ) 8085204: f04f 30ff mov.w r0, #4294967295 8085208: f7ce fad0 bl 80537ac if(pardata.IIN != VOLTS) 808520c: 4b35 ldr r3, [pc, #212] ; (80852e4 ) 808520e: 799b ldrb r3, [r3, #6] 8085210: b2db uxtb r3, r3 8085212: 2b02 cmp r3, #2 8085214: d010 beq.n 8085238 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8085216: 4b33 ldr r3, [pc, #204] ; (80852e4 ) 8085218: 7b1b ldrb r3, [r3, #12] 808521a: b2db uxtb r3, r3 808521c: 4619 mov r1, r3 808521e: 4a38 ldr r2, [pc, #224] ; (8085300 ) 8085220: 232c movs r3, #44 ; 0x2c 8085222: fb03 f301 mul.w r3, r3, r1 8085226: 4413 add r3, r2 8085228: 3324 adds r3, #36 ; 0x24 808522a: 681b ldr r3, [r3, #0] 808522c: 461a mov r2, r3 808522e: 21ca movs r1, #202 ; 0xca 8085230: 200a movs r0, #10 8085232: f7cf f863 bl 80542fc 8085236: e00f b.n 8085258 else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8085238: 4b2a ldr r3, [pc, #168] ; (80852e4 ) 808523a: 7b1b ldrb r3, [r3, #12] 808523c: b2db uxtb r3, r3 808523e: 4619 mov r1, r3 8085240: 4a30 ldr r2, [pc, #192] ; (8085304 ) 8085242: 232c movs r3, #44 ; 0x2c 8085244: fb03 f301 mul.w r3, r3, r1 8085248: 4413 add r3, r2 808524a: 3324 adds r3, #36 ; 0x24 808524c: 681b ldr r3, [r3, #0] 808524e: 461a mov r2, r3 8085250: 21ca movs r1, #202 ; 0xca 8085252: 200a movs r0, #10 8085254: f7cf f852 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8085258: 4928 ldr r1, [pc, #160] ; (80852fc ) 808525a: 482d ldr r0, [pc, #180] ; (8085310 ) 808525c: f7ce faa6 bl 80537ac LCD_DisplayStringC(260, LCD_LINE_12, str); 8085260: f507 733b add.w r3, r7, #748 ; 0x2ec 8085264: 461a mov r2, r3 8085266: 21ca movs r1, #202 ; 0xca 8085268: f44f 7082 mov.w r0, #260 ; 0x104 808526c: f7cf f85e bl 805432c if(pardata.OPTIONS & BIT2) // åñëè àâòîóñèëåíèå 8085270: e0ec b.n 808544c if((menupos >= FilterLP_IDT) && (menupos <= FilterLP_IKD)) 8085272: 4b26 ldr r3, [pc, #152] ; (808530c ) 8085274: 781b ldrb r3, [r3, #0] 8085276: b2db uxtb r3, r3 8085278: 2b1e cmp r3, #30 808527a: f240 809e bls.w 80853ba 808527e: 4b23 ldr r3, [pc, #140] ; (808530c ) 8085280: 781b ldrb r3, [r3, #0] 8085282: b2db uxtb r3, r3 8085284: 2b24 cmp r3, #36 ; 0x24 8085286: f200 8098 bhi.w 80853ba LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808528a: 491c ldr r1, [pc, #112] ; (80852fc ) 808528c: 4820 ldr r0, [pc, #128] ; (8085310 ) 808528e: f7ce fa8d bl 80537ac LCD_DisplayStringC(260, LCD_LINE_5, strHP); 8085292: f507 73d2 add.w r3, r7, #420 ; 0x1a4 8085296: 461a mov r2, r3 8085298: 215a movs r1, #90 ; 0x5a 808529a: f44f 7082 mov.w r0, #260 ; 0x104 808529e: f7cf f845 bl 805432c if(pardata.OPTIONS & BIT2) // åñëè àâòîóñèëåíèå 80852a2: 4b10 ldr r3, [pc, #64] ; (80852e4 ) 80852a4: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80852a8: f003 0304 and.w r3, r3, #4 80852ac: 2b00 cmp r3, #0 80852ae: d04c beq.n 808534a LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80852b0: 4912 ldr r1, [pc, #72] ; (80852fc ) 80852b2: 4818 ldr r0, [pc, #96] ; (8085314 ) 80852b4: f7ce fa7a bl 80537ac if(pardata.IIN != VOLTS) 80852b8: 4b0a ldr r3, [pc, #40] ; (80852e4 ) 80852ba: 799b ldrb r3, [r3, #6] 80852bc: b2db uxtb r3, r3 80852be: 2b02 cmp r3, #2 80852c0: d02a beq.n 8085318 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 80852c2: 4b08 ldr r3, [pc, #32] ; (80852e4 ) 80852c4: 7b1b ldrb r3, [r3, #12] 80852c6: b2db uxtb r3, r3 80852c8: 4619 mov r1, r3 80852ca: 4a0d ldr r2, [pc, #52] ; (8085300 ) 80852cc: 232c movs r3, #44 ; 0x2c 80852ce: fb03 f301 mul.w r3, r3, r1 80852d2: 4413 add r3, r2 80852d4: 3324 adds r3, #36 ; 0x24 80852d6: 681b ldr r3, [r3, #0] 80852d8: 461a mov r2, r3 80852da: 21ca movs r1, #202 ; 0xca 80852dc: 200a movs r0, #10 80852de: f7cf f80d bl 80542fc 80852e2: e029 b.n 8085338 80852e4: 20023e60 .word 0x20023e60 80852e8: 2002029c .word 0x2002029c 80852ec: 2002019c .word 0x2002019c 80852f0: 20020214 .word 0x20020214 80852f4: 200201ec .word 0x200201ec 80852f8: 20020224 .word 0x20020224 80852fc: ff0a0f1f .word 0xff0a0f1f 8085300: 200206b4 .word 0x200206b4 8085304: 2002070c .word 0x2002070c 8085308: 200205c4 .word 0x200205c4 808530c: 20020070 .word 0x20020070 8085310: ffd8aa57 .word 0xffd8aa57 8085314: ff808080 .word 0xff808080 else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8085318: 4bbf ldr r3, [pc, #764] ; (8085618 ) 808531a: 7b1b ldrb r3, [r3, #12] 808531c: b2db uxtb r3, r3 808531e: 4619 mov r1, r3 8085320: 4abe ldr r2, [pc, #760] ; (808561c ) 8085322: 232c movs r3, #44 ; 0x2c 8085324: fb03 f301 mul.w r3, r3, r1 8085328: 4413 add r3, r2 808532a: 3324 adds r3, #36 ; 0x24 808532c: 681b ldr r3, [r3, #0] 808532e: 461a mov r2, r3 8085330: 21ca movs r1, #202 ; 0xca 8085332: 200a movs r0, #10 8085334: f7ce ffe2 bl 80542fc LCD_DisplayStringC(260, LCD_LINE_12, str); 8085338: f507 733b add.w r3, r7, #748 ; 0x2ec 808533c: 461a mov r2, r3 808533e: 21ca movs r1, #202 ; 0xca 8085340: f44f 7082 mov.w r0, #260 ; 0x104 8085344: f7ce fff2 bl 805432c if(pardata.OPTIONS & BIT2) // åñëè àâòîóñèëåíèå 8085348: e080 b.n 808544c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808534a: 49b5 ldr r1, [pc, #724] ; (8085620 ) 808534c: f04f 30ff mov.w r0, #4294967295 8085350: f7ce fa2c bl 80537ac if(pardata.IIN != VOLTS) 8085354: 4bb0 ldr r3, [pc, #704] ; (8085618 ) 8085356: 799b ldrb r3, [r3, #6] 8085358: b2db uxtb r3, r3 808535a: 2b02 cmp r3, #2 808535c: d010 beq.n 8085380 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 808535e: 4bae ldr r3, [pc, #696] ; (8085618 ) 8085360: 7b1b ldrb r3, [r3, #12] 8085362: b2db uxtb r3, r3 8085364: 4619 mov r1, r3 8085366: 4aaf ldr r2, [pc, #700] ; (8085624 ) 8085368: 232c movs r3, #44 ; 0x2c 808536a: fb03 f301 mul.w r3, r3, r1 808536e: 4413 add r3, r2 8085370: 3324 adds r3, #36 ; 0x24 8085372: 681b ldr r3, [r3, #0] 8085374: 461a mov r2, r3 8085376: 21ca movs r1, #202 ; 0xca 8085378: 200a movs r0, #10 808537a: f7ce ffbf bl 80542fc 808537e: e00f b.n 80853a0 else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8085380: 4ba5 ldr r3, [pc, #660] ; (8085618 ) 8085382: 7b1b ldrb r3, [r3, #12] 8085384: b2db uxtb r3, r3 8085386: 4619 mov r1, r3 8085388: 4aa4 ldr r2, [pc, #656] ; (808561c ) 808538a: 232c movs r3, #44 ; 0x2c 808538c: fb03 f301 mul.w r3, r3, r1 8085390: 4413 add r3, r2 8085392: 3324 adds r3, #36 ; 0x24 8085394: 681b ldr r3, [r3, #0] 8085396: 461a mov r2, r3 8085398: 21ca movs r1, #202 ; 0xca 808539a: 200a movs r0, #10 808539c: f7ce ffae bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80853a0: 499f ldr r1, [pc, #636] ; (8085620 ) 80853a2: 48a1 ldr r0, [pc, #644] ; (8085628 ) 80853a4: f7ce fa02 bl 80537ac LCD_DisplayStringC(260, LCD_LINE_12, str); 80853a8: f507 733b add.w r3, r7, #748 ; 0x2ec 80853ac: 461a mov r2, r3 80853ae: 21ca movs r1, #202 ; 0xca 80853b0: f44f 7082 mov.w r0, #260 ; 0x104 80853b4: f7ce ffba bl 805432c if(pardata.OPTIONS & BIT2) // åñëè àâòîóñèëåíèå 80853b8: e048 b.n 808544c if((menupos >= VibMax_IDT) && (menupos <= VibMax_IKD)) 80853ba: 4b9c ldr r3, [pc, #624] ; (808562c ) 80853bc: 781b ldrb r3, [r3, #0] 80853be: b2db uxtb r3, r3 80853c0: 2b0a cmp r3, #10 80853c2: d943 bls.n 808544c 80853c4: 4b99 ldr r3, [pc, #612] ; (808562c ) 80853c6: 781b ldrb r3, [r3, #0] 80853c8: b2db uxtb r3, r3 80853ca: 2b10 cmp r3, #16 80853cc: d83e bhi.n 808544c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80853ce: 4994 ldr r1, [pc, #592] ; (8085620 ) 80853d0: 4895 ldr r0, [pc, #596] ; (8085628 ) 80853d2: f7ce f9eb bl 80537ac LCD_DisplayStringC(260, LCD_LINE_5, strHP); 80853d6: f507 73d2 add.w r3, r7, #420 ; 0x1a4 80853da: 461a mov r2, r3 80853dc: 215a movs r1, #90 ; 0x5a 80853de: f44f 7082 mov.w r0, #260 ; 0x104 80853e2: f7ce ffa3 bl 805432c LCD_DisplayStringC(260, LCD_LINE_6, strLP); 80853e6: f507 73cc add.w r3, r7, #408 ; 0x198 80853ea: 461a mov r2, r3 80853ec: 216a movs r1, #106 ; 0x6a 80853ee: f44f 7082 mov.w r0, #260 ; 0x104 80853f2: f7ce ff9b bl 805432c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80853f6: 498a ldr r1, [pc, #552] ; (8085620 ) 80853f8: f04f 30ff mov.w r0, #4294967295 80853fc: f7ce f9d6 bl 80537ac if(pardata.IIN != VOLTS) 8085400: 4b85 ldr r3, [pc, #532] ; (8085618 ) 8085402: 799b ldrb r3, [r3, #6] 8085404: b2db uxtb r3, r3 8085406: 2b02 cmp r3, #2 8085408: d010 beq.n 808542c LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 808540a: 4b83 ldr r3, [pc, #524] ; (8085618 ) 808540c: 7b1b ldrb r3, [r3, #12] 808540e: b2db uxtb r3, r3 8085410: 4619 mov r1, r3 8085412: 4a84 ldr r2, [pc, #528] ; (8085624 ) 8085414: 232c movs r3, #44 ; 0x2c 8085416: fb03 f301 mul.w r3, r3, r1 808541a: 4413 add r3, r2 808541c: 3324 adds r3, #36 ; 0x24 808541e: 681b ldr r3, [r3, #0] 8085420: 461a mov r2, r3 8085422: 21ca movs r1, #202 ; 0xca 8085424: 200a movs r0, #10 8085426: f7ce ff69 bl 80542fc 808542a: e00f b.n 808544c else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 808542c: 4b7a ldr r3, [pc, #488] ; (8085618 ) 808542e: 7b1b ldrb r3, [r3, #12] 8085430: b2db uxtb r3, r3 8085432: 4619 mov r1, r3 8085434: 4a79 ldr r2, [pc, #484] ; (808561c ) 8085436: 232c movs r3, #44 ; 0x2c 8085438: fb03 f301 mul.w r3, r3, r1 808543c: 4413 add r3, r2 808543e: 3324 adds r3, #36 ; 0x24 8085440: 681b ldr r3, [r3, #0] 8085442: 461a mov r2, r3 8085444: 21ca movs r1, #202 ; 0xca 8085446: 200a movs r0, #10 8085448: f7ce ff58 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808544c: 4974 ldr r1, [pc, #464] ; (8085620 ) 808544e: 4876 ldr r0, [pc, #472] ; (8085628 ) 8085450: f7ce f9ac bl 80537ac if((pardata.OPTIONS & maskFFT) == fft) 8085454: 4b70 ldr r3, [pc, #448] ; (8085618 ) 8085456: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 808545a: f003 0330 and.w r3, r3, #48 ; 0x30 808545e: 2b00 cmp r3, #0 8085460: d10d bne.n 808547e LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][0]); 8085462: 4b6d ldr r3, [pc, #436] ; (8085618 ) 8085464: 7b1b ldrb r3, [r3, #12] 8085466: b2db uxtb r3, r3 8085468: 4a71 ldr r2, [pc, #452] ; (8085630 ) 808546a: 011b lsls r3, r3, #4 808546c: 4413 add r3, r2 808546e: 681b ldr r3, [r3, #0] 8085470: 461a mov r2, r3 8085472: 213a movs r1, #58 ; 0x3a 8085474: f44f 7082 mov.w r0, #260 ; 0x104 8085478: f7ce ff58 bl 805432c 808547c: e00d b.n 808549a else LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][1]); 808547e: 4b66 ldr r3, [pc, #408] ; (8085618 ) 8085480: 7b1b ldrb r3, [r3, #12] 8085482: b2db uxtb r3, r3 8085484: 4a6a ldr r2, [pc, #424] ; (8085630 ) 8085486: 011b lsls r3, r3, #4 8085488: 4413 add r3, r2 808548a: 3304 adds r3, #4 808548c: 681b ldr r3, [r3, #0] 808548e: 461a mov r2, r3 8085490: 213a movs r1, #58 ; 0x3a 8085492: f44f 7082 mov.w r0, #260 ; 0x104 8085496: f7ce ff49 bl 805432c LCD_DisplayStringC(260, LCD_LINE_4, (char *) pIPR_OKT[pardata.LANG][(pardata.IPR << 1) | pardata.IVS[pardata.IPR]]); 808549a: 4b5f ldr r3, [pc, #380] ; (8085618 ) 808549c: 7b1b ldrb r3, [r3, #12] 808549e: b2db uxtb r3, r3 80854a0: 4618 mov r0, r3 80854a2: 4b5d ldr r3, [pc, #372] ; (8085618 ) 80854a4: 785b ldrb r3, [r3, #1] 80854a6: b2db uxtb r3, r3 80854a8: 005b lsls r3, r3, #1 80854aa: 4a5b ldr r2, [pc, #364] ; (8085618 ) 80854ac: 7852 ldrb r2, [r2, #1] 80854ae: b2d2 uxtb r2, r2 80854b0: 4611 mov r1, r2 80854b2: 4a59 ldr r2, [pc, #356] ; (8085618 ) 80854b4: 440a add r2, r1 80854b6: 7892 ldrb r2, [r2, #2] 80854b8: b2d2 uxtb r2, r2 80854ba: 431a orrs r2, r3 80854bc: 495d ldr r1, [pc, #372] ; (8085634 ) 80854be: 4603 mov r3, r0 80854c0: 005b lsls r3, r3, #1 80854c2: 4403 add r3, r0 80854c4: 005b lsls r3, r3, #1 80854c6: 4413 add r3, r2 80854c8: f851 3023 ldr.w r3, [r1, r3, lsl #2] 80854cc: 461a mov r2, r3 80854ce: 214a movs r1, #74 ; 0x4a 80854d0: f44f 7082 mov.w r0, #260 ; 0x104 80854d4: f7ce ff2a bl 805432c LCD_DisplayStringC(260, LCD_LINE_7, str1); 80854d8: f507 73f6 add.w r3, r7, #492 ; 0x1ec 80854dc: 461a mov r2, r3 80854de: 217a movs r1, #122 ; 0x7a 80854e0: f44f 7082 mov.w r0, #260 ; 0x104 80854e4: f7ce ff22 bl 805432c LCD_DisplayStringC(260, LCD_LINE_8, (char *) pMSH[pardata.LANG][pardata.MSH]); 80854e8: 4b4b ldr r3, [pc, #300] ; (8085618 ) 80854ea: 7b1b ldrb r3, [r3, #12] 80854ec: b2db uxtb r3, r3 80854ee: 4618 mov r0, r3 80854f0: 4b49 ldr r3, [pc, #292] ; (8085618 ) 80854f2: 7a9b ldrb r3, [r3, #10] 80854f4: b2db uxtb r3, r3 80854f6: 4619 mov r1, r3 80854f8: 4a4f ldr r2, [pc, #316] ; (8085638 ) 80854fa: 0043 lsls r3, r0, #1 80854fc: 440b add r3, r1 80854fe: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8085502: 461a mov r2, r3 8085504: 218a movs r1, #138 ; 0x8a 8085506: f44f 7082 mov.w r0, #260 ; 0x104 808550a: f7ce ff0f bl 805432c LCD_DisplayStringC(260, LCD_LINE_9, (char *) pWIN[pardata.LANG][pardata.WIN]); 808550e: 4b42 ldr r3, [pc, #264] ; (8085618 ) 8085510: 7b1b ldrb r3, [r3, #12] 8085512: b2db uxtb r3, r3 8085514: 4619 mov r1, r3 8085516: 4b40 ldr r3, [pc, #256] ; (8085618 ) 8085518: 7a5b ldrb r3, [r3, #9] 808551a: b2db uxtb r3, r3 808551c: 4618 mov r0, r3 808551e: 4a47 ldr r2, [pc, #284] ; (808563c ) 8085520: 460b mov r3, r1 8085522: 009b lsls r3, r3, #2 8085524: 440b add r3, r1 8085526: 4403 add r3, r0 8085528: f852 3023 ldr.w r3, [r2, r3, lsl #2] 808552c: 461a mov r2, r3 808552e: 219a movs r1, #154 ; 0x9a 8085530: f44f 7082 mov.w r0, #260 ; 0x104 8085534: f7ce fefa bl 805432c LCD_DisplayStringC(260, LCD_LINE_10, (char *) pAVERAGE[pardata.AVG]); 8085538: 4b37 ldr r3, [pc, #220] ; (8085618 ) 808553a: 7b5b ldrb r3, [r3, #13] 808553c: b2db uxtb r3, r3 808553e: 461a mov r2, r3 8085540: 4b3f ldr r3, [pc, #252] ; (8085640 ) 8085542: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8085546: 461a mov r2, r3 8085548: 21aa movs r1, #170 ; 0xaa 808554a: f44f 7082 mov.w r0, #260 ; 0x104 808554e: f7ce feed bl 805432c if(menupos == FilterHP_IDT) 8085552: 4b36 ldr r3, [pc, #216] ; (808562c ) 8085554: 781b ldrb r3, [r3, #0] 8085556: b2db uxtb r3, r3 8085558: 2b19 cmp r3, #25 808555a: d179 bne.n 8085650 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808555c: 4930 ldr r1, [pc, #192] ; (8085620 ) 808555e: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8085562: f7ce f923 bl 80537ac if(blk) 8085566: 4b37 ldr r3, [pc, #220] ; (8085644 ) 8085568: 681b ldr r3, [r3, #0] 808556a: 2b00 cmp r3, #0 808556c: d00b beq.n 8085586 LCD_DisplayString(198, LCD_LINE_5, (char *) pNUMS[idtHP]); 808556e: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 8085572: b2db uxtb r3, r3 8085574: 461a mov r2, r3 8085576: 4b34 ldr r3, [pc, #208] ; (8085648 ) 8085578: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808557c: 461a mov r2, r3 808557e: 215a movs r1, #90 ; 0x5a 8085580: 20c6 movs r0, #198 ; 0xc6 8085582: f7ce febb bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8085586: 4926 ldr r1, [pc, #152] ; (8085620 ) 8085588: 4827 ldr r0, [pc, #156] ; (8085628 ) 808558a: f7ce f90f bl 80537ac LCD_DisplayString(214, LCD_LINE_5, (char *) pNUMS[ietHP]); 808558e: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 8085592: b2db uxtb r3, r3 8085594: 461a mov r2, r3 8085596: 4b2c ldr r3, [pc, #176] ; (8085648 ) 8085598: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808559c: 461a mov r2, r3 808559e: 215a movs r1, #90 ; 0x5a 80855a0: 20d6 movs r0, #214 ; 0xd6 80855a2: f7ce feab bl 80542fc LCD_DisplayString(230, LCD_LINE_5, (char *) pNUMS[iesHP]); 80855a6: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 80855aa: b2db uxtb r3, r3 80855ac: 461a mov r2, r3 80855ae: 4b26 ldr r3, [pc, #152] ; (8085648 ) 80855b0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80855b4: 461a mov r2, r3 80855b6: 215a movs r1, #90 ; 0x5a 80855b8: 20e6 movs r0, #230 ; 0xe6 80855ba: f7ce fe9f bl 80542fc LCD_DisplayString(246, LCD_LINE_5, (char *) pNUMS[iedHP]); 80855be: f897 33ce ldrb.w r3, [r7, #974] ; 0x3ce 80855c2: b2db uxtb r3, r3 80855c4: 461a mov r2, r3 80855c6: 4b20 ldr r3, [pc, #128] ; (8085648 ) 80855c8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80855cc: 461a mov r2, r3 80855ce: 215a movs r1, #90 ; 0x5a 80855d0: 20f6 movs r0, #246 ; 0xf6 80855d2: f7ce fe93 bl 80542fc LCD_DisplayString(262, LCD_LINE_5, (char *) pNUMS[ieeHP]); 80855d6: f897 33cd ldrb.w r3, [r7, #973] ; 0x3cd 80855da: b2db uxtb r3, r3 80855dc: 461a mov r2, r3 80855de: 4b1a ldr r3, [pc, #104] ; (8085648 ) 80855e0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80855e4: 461a mov r2, r3 80855e6: 215a movs r1, #90 ; 0x5a 80855e8: f44f 7083 mov.w r0, #262 ; 0x106 80855ec: f7ce fe86 bl 80542fc LCD_DisplayString(278, LCD_LINE_5, "."); 80855f0: 4a16 ldr r2, [pc, #88] ; (808564c ) 80855f2: 215a movs r1, #90 ; 0x5a 80855f4: f44f 708b mov.w r0, #278 ; 0x116 80855f8: f7ce fe80 bl 80542fc LCD_DisplayString(294, LCD_LINE_5, (char *) pNUMS[ikdHP]); 80855fc: f897 33cc ldrb.w r3, [r7, #972] ; 0x3cc 8085600: b2db uxtb r3, r3 8085602: 461a mov r2, r3 8085604: 4b10 ldr r3, [pc, #64] ; (8085648 ) 8085606: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808560a: 461a mov r2, r3 808560c: 215a movs r1, #90 ; 0x5a 808560e: f44f 7093 mov.w r0, #294 ; 0x126 8085612: f7ce fe73 bl 80542fc 8085616: e215 b.n 8085a44 8085618: 20023e60 .word 0x20023e60 808561c: 2002070c .word 0x2002070c 8085620: ff0a0f1f .word 0xff0a0f1f 8085624: 200206b4 .word 0x200206b4 8085628: ffd8aa57 .word 0xffd8aa57 808562c: 20020070 .word 0x20020070 8085630: 2002029c .word 0x2002029c 8085634: 2002019c .word 0x2002019c 8085638: 20020214 .word 0x20020214 808563c: 200201ec .word 0x200201ec 8085640: 20020224 .word 0x20020224 8085644: 2002165c .word 0x2002165c 8085648: 20020964 .word 0x20020964 808564c: 080cf7e8 .word 0x080cf7e8 if(menupos == FilterHP_IET) 8085650: 4bc5 ldr r3, [pc, #788] ; (8085968 ) 8085652: 781b ldrb r3, [r3, #0] 8085654: b2db uxtb r3, r3 8085656: 2b1a cmp r3, #26 8085658: d15d bne.n 8085716 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808565a: 49c4 ldr r1, [pc, #784] ; (808596c ) 808565c: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8085660: f7ce f8a4 bl 80537ac if(blk) 8085664: 4bc2 ldr r3, [pc, #776] ; (8085970 ) 8085666: 681b ldr r3, [r3, #0] 8085668: 2b00 cmp r3, #0 808566a: d00b beq.n 8085684 LCD_DisplayString(214, LCD_LINE_5, (char *) pNUMS[ietHP]); 808566c: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 8085670: b2db uxtb r3, r3 8085672: 461a mov r2, r3 8085674: 4bbf ldr r3, [pc, #764] ; (8085974 ) 8085676: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808567a: 461a mov r2, r3 808567c: 215a movs r1, #90 ; 0x5a 808567e: 20d6 movs r0, #214 ; 0xd6 8085680: f7ce fe3c bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8085684: 49b9 ldr r1, [pc, #740] ; (808596c ) 8085686: 48bc ldr r0, [pc, #752] ; (8085978 ) 8085688: f7ce f890 bl 80537ac LCD_DisplayString(198, LCD_LINE_5, (char *) pNUMS[idtHP]); 808568c: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 8085690: b2db uxtb r3, r3 8085692: 461a mov r2, r3 8085694: 4bb7 ldr r3, [pc, #732] ; (8085974 ) 8085696: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808569a: 461a mov r2, r3 808569c: 215a movs r1, #90 ; 0x5a 808569e: 20c6 movs r0, #198 ; 0xc6 80856a0: f7ce fe2c bl 80542fc LCD_DisplayString(230, LCD_LINE_5, (char *) pNUMS[iesHP]); 80856a4: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 80856a8: b2db uxtb r3, r3 80856aa: 461a mov r2, r3 80856ac: 4bb1 ldr r3, [pc, #708] ; (8085974 ) 80856ae: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80856b2: 461a mov r2, r3 80856b4: 215a movs r1, #90 ; 0x5a 80856b6: 20e6 movs r0, #230 ; 0xe6 80856b8: f7ce fe20 bl 80542fc LCD_DisplayString(246, LCD_LINE_5, (char *) pNUMS[iedHP]); 80856bc: f897 33ce ldrb.w r3, [r7, #974] ; 0x3ce 80856c0: b2db uxtb r3, r3 80856c2: 461a mov r2, r3 80856c4: 4bab ldr r3, [pc, #684] ; (8085974 ) 80856c6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80856ca: 461a mov r2, r3 80856cc: 215a movs r1, #90 ; 0x5a 80856ce: 20f6 movs r0, #246 ; 0xf6 80856d0: f7ce fe14 bl 80542fc LCD_DisplayString(262, LCD_LINE_5, (char *) pNUMS[ieeHP]); 80856d4: f897 33cd ldrb.w r3, [r7, #973] ; 0x3cd 80856d8: b2db uxtb r3, r3 80856da: 461a mov r2, r3 80856dc: 4ba5 ldr r3, [pc, #660] ; (8085974 ) 80856de: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80856e2: 461a mov r2, r3 80856e4: 215a movs r1, #90 ; 0x5a 80856e6: f44f 7083 mov.w r0, #262 ; 0x106 80856ea: f7ce fe07 bl 80542fc LCD_DisplayString(278, LCD_LINE_5, "."); 80856ee: 4aa3 ldr r2, [pc, #652] ; (808597c ) 80856f0: 215a movs r1, #90 ; 0x5a 80856f2: f44f 708b mov.w r0, #278 ; 0x116 80856f6: f7ce fe01 bl 80542fc LCD_DisplayString(294, LCD_LINE_5, (char *) pNUMS[ikdHP]); 80856fa: f897 33cc ldrb.w r3, [r7, #972] ; 0x3cc 80856fe: b2db uxtb r3, r3 8085700: 461a mov r2, r3 8085702: 4b9c ldr r3, [pc, #624] ; (8085974 ) 8085704: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8085708: 461a mov r2, r3 808570a: 215a movs r1, #90 ; 0x5a 808570c: f44f 7093 mov.w r0, #294 ; 0x126 8085710: f7ce fdf4 bl 80542fc 8085714: e196 b.n 8085a44 if(menupos == FilterHP_IES) 8085716: 4b94 ldr r3, [pc, #592] ; (8085968 ) 8085718: 781b ldrb r3, [r3, #0] 808571a: b2db uxtb r3, r3 808571c: 2b1b cmp r3, #27 808571e: d15d bne.n 80857dc LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8085720: 4992 ldr r1, [pc, #584] ; (808596c ) 8085722: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8085726: f7ce f841 bl 80537ac if(blk) 808572a: 4b91 ldr r3, [pc, #580] ; (8085970 ) 808572c: 681b ldr r3, [r3, #0] 808572e: 2b00 cmp r3, #0 8085730: d00b beq.n 808574a LCD_DisplayString(230, LCD_LINE_5, (char *) pNUMS[iesHP]); 8085732: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 8085736: b2db uxtb r3, r3 8085738: 461a mov r2, r3 808573a: 4b8e ldr r3, [pc, #568] ; (8085974 ) 808573c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8085740: 461a mov r2, r3 8085742: 215a movs r1, #90 ; 0x5a 8085744: 20e6 movs r0, #230 ; 0xe6 8085746: f7ce fdd9 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808574a: 4988 ldr r1, [pc, #544] ; (808596c ) 808574c: 488a ldr r0, [pc, #552] ; (8085978 ) 808574e: f7ce f82d bl 80537ac LCD_DisplayString(198, LCD_LINE_5, (char *) pNUMS[idtHP]); 8085752: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 8085756: b2db uxtb r3, r3 8085758: 461a mov r2, r3 808575a: 4b86 ldr r3, [pc, #536] ; (8085974 ) 808575c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8085760: 461a mov r2, r3 8085762: 215a movs r1, #90 ; 0x5a 8085764: 20c6 movs r0, #198 ; 0xc6 8085766: f7ce fdc9 bl 80542fc LCD_DisplayString(214, LCD_LINE_5, (char *) pNUMS[ietHP]); 808576a: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 808576e: b2db uxtb r3, r3 8085770: 461a mov r2, r3 8085772: 4b80 ldr r3, [pc, #512] ; (8085974 ) 8085774: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8085778: 461a mov r2, r3 808577a: 215a movs r1, #90 ; 0x5a 808577c: 20d6 movs r0, #214 ; 0xd6 808577e: f7ce fdbd bl 80542fc LCD_DisplayString(246, LCD_LINE_5, (char *) pNUMS[iedHP]); 8085782: f897 33ce ldrb.w r3, [r7, #974] ; 0x3ce 8085786: b2db uxtb r3, r3 8085788: 461a mov r2, r3 808578a: 4b7a ldr r3, [pc, #488] ; (8085974 ) 808578c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8085790: 461a mov r2, r3 8085792: 215a movs r1, #90 ; 0x5a 8085794: 20f6 movs r0, #246 ; 0xf6 8085796: f7ce fdb1 bl 80542fc LCD_DisplayString(262, LCD_LINE_5, (char *) pNUMS[ieeHP]); 808579a: f897 33cd ldrb.w r3, [r7, #973] ; 0x3cd 808579e: b2db uxtb r3, r3 80857a0: 461a mov r2, r3 80857a2: 4b74 ldr r3, [pc, #464] ; (8085974 ) 80857a4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80857a8: 461a mov r2, r3 80857aa: 215a movs r1, #90 ; 0x5a 80857ac: f44f 7083 mov.w r0, #262 ; 0x106 80857b0: f7ce fda4 bl 80542fc LCD_DisplayString(278, LCD_LINE_5, "."); 80857b4: 4a71 ldr r2, [pc, #452] ; (808597c ) 80857b6: 215a movs r1, #90 ; 0x5a 80857b8: f44f 708b mov.w r0, #278 ; 0x116 80857bc: f7ce fd9e bl 80542fc LCD_DisplayString(294, LCD_LINE_5, (char *) pNUMS[ikdHP]); 80857c0: f897 33cc ldrb.w r3, [r7, #972] ; 0x3cc 80857c4: b2db uxtb r3, r3 80857c6: 461a mov r2, r3 80857c8: 4b6a ldr r3, [pc, #424] ; (8085974 ) 80857ca: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80857ce: 461a mov r2, r3 80857d0: 215a movs r1, #90 ; 0x5a 80857d2: f44f 7093 mov.w r0, #294 ; 0x126 80857d6: f7ce fd91 bl 80542fc 80857da: e133 b.n 8085a44 if(menupos == FilterHP_IED) 80857dc: 4b62 ldr r3, [pc, #392] ; (8085968 ) 80857de: 781b ldrb r3, [r3, #0] 80857e0: b2db uxtb r3, r3 80857e2: 2b1c cmp r3, #28 80857e4: d15d bne.n 80858a2 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80857e6: 4961 ldr r1, [pc, #388] ; (808596c ) 80857e8: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80857ec: f7cd ffde bl 80537ac if(blk) 80857f0: 4b5f ldr r3, [pc, #380] ; (8085970 ) 80857f2: 681b ldr r3, [r3, #0] 80857f4: 2b00 cmp r3, #0 80857f6: d00b beq.n 8085810 LCD_DisplayString(246, LCD_LINE_5, (char *) pNUMS[iedHP]); 80857f8: f897 33ce ldrb.w r3, [r7, #974] ; 0x3ce 80857fc: b2db uxtb r3, r3 80857fe: 461a mov r2, r3 8085800: 4b5c ldr r3, [pc, #368] ; (8085974 ) 8085802: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8085806: 461a mov r2, r3 8085808: 215a movs r1, #90 ; 0x5a 808580a: 20f6 movs r0, #246 ; 0xf6 808580c: f7ce fd76 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8085810: 4956 ldr r1, [pc, #344] ; (808596c ) 8085812: 4859 ldr r0, [pc, #356] ; (8085978 ) 8085814: f7cd ffca bl 80537ac LCD_DisplayString(198, LCD_LINE_5, (char *) pNUMS[idtHP]); 8085818: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 808581c: b2db uxtb r3, r3 808581e: 461a mov r2, r3 8085820: 4b54 ldr r3, [pc, #336] ; (8085974 ) 8085822: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8085826: 461a mov r2, r3 8085828: 215a movs r1, #90 ; 0x5a 808582a: 20c6 movs r0, #198 ; 0xc6 808582c: f7ce fd66 bl 80542fc LCD_DisplayString(214, LCD_LINE_5, (char *) pNUMS[ietHP]); 8085830: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 8085834: b2db uxtb r3, r3 8085836: 461a mov r2, r3 8085838: 4b4e ldr r3, [pc, #312] ; (8085974 ) 808583a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808583e: 461a mov r2, r3 8085840: 215a movs r1, #90 ; 0x5a 8085842: 20d6 movs r0, #214 ; 0xd6 8085844: f7ce fd5a bl 80542fc LCD_DisplayString(230, LCD_LINE_5, (char *) pNUMS[iesHP]); 8085848: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 808584c: b2db uxtb r3, r3 808584e: 461a mov r2, r3 8085850: 4b48 ldr r3, [pc, #288] ; (8085974 ) 8085852: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8085856: 461a mov r2, r3 8085858: 215a movs r1, #90 ; 0x5a 808585a: 20e6 movs r0, #230 ; 0xe6 808585c: f7ce fd4e bl 80542fc LCD_DisplayString(262, LCD_LINE_5, (char *) pNUMS[ieeHP]); 8085860: f897 33cd ldrb.w r3, [r7, #973] ; 0x3cd 8085864: b2db uxtb r3, r3 8085866: 461a mov r2, r3 8085868: 4b42 ldr r3, [pc, #264] ; (8085974 ) 808586a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808586e: 461a mov r2, r3 8085870: 215a movs r1, #90 ; 0x5a 8085872: f44f 7083 mov.w r0, #262 ; 0x106 8085876: f7ce fd41 bl 80542fc LCD_DisplayString(278, LCD_LINE_5, "."); 808587a: 4a40 ldr r2, [pc, #256] ; (808597c ) 808587c: 215a movs r1, #90 ; 0x5a 808587e: f44f 708b mov.w r0, #278 ; 0x116 8085882: f7ce fd3b bl 80542fc LCD_DisplayString(294, LCD_LINE_5, (char *) pNUMS[ikdHP]); 8085886: f897 33cc ldrb.w r3, [r7, #972] ; 0x3cc 808588a: b2db uxtb r3, r3 808588c: 461a mov r2, r3 808588e: 4b39 ldr r3, [pc, #228] ; (8085974 ) 8085890: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8085894: 461a mov r2, r3 8085896: 215a movs r1, #90 ; 0x5a 8085898: f44f 7093 mov.w r0, #294 ; 0x126 808589c: f7ce fd2e bl 80542fc 80858a0: e0d0 b.n 8085a44 if(menupos == FilterHP_IEE) 80858a2: 4b31 ldr r3, [pc, #196] ; (8085968 ) 80858a4: 781b ldrb r3, [r3, #0] 80858a6: b2db uxtb r3, r3 80858a8: 2b1d cmp r3, #29 80858aa: d169 bne.n 8085980 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80858ac: 492f ldr r1, [pc, #188] ; (808596c ) 80858ae: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80858b2: f7cd ff7b bl 80537ac if(blk) 80858b6: 4b2e ldr r3, [pc, #184] ; (8085970 ) 80858b8: 681b ldr r3, [r3, #0] 80858ba: 2b00 cmp r3, #0 80858bc: d00c beq.n 80858d8 LCD_DisplayString(262, LCD_LINE_5, (char *) pNUMS[ieeHP]); 80858be: f897 33cd ldrb.w r3, [r7, #973] ; 0x3cd 80858c2: b2db uxtb r3, r3 80858c4: 461a mov r2, r3 80858c6: 4b2b ldr r3, [pc, #172] ; (8085974 ) 80858c8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80858cc: 461a mov r2, r3 80858ce: 215a movs r1, #90 ; 0x5a 80858d0: f44f 7083 mov.w r0, #262 ; 0x106 80858d4: f7ce fd12 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80858d8: 4924 ldr r1, [pc, #144] ; (808596c ) 80858da: 4827 ldr r0, [pc, #156] ; (8085978 ) 80858dc: f7cd ff66 bl 80537ac LCD_DisplayString(198, LCD_LINE_5, (char *) pNUMS[idtHP]); 80858e0: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 80858e4: b2db uxtb r3, r3 80858e6: 461a mov r2, r3 80858e8: 4b22 ldr r3, [pc, #136] ; (8085974 ) 80858ea: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80858ee: 461a mov r2, r3 80858f0: 215a movs r1, #90 ; 0x5a 80858f2: 20c6 movs r0, #198 ; 0xc6 80858f4: f7ce fd02 bl 80542fc LCD_DisplayString(214, LCD_LINE_5, (char *) pNUMS[ietHP]); 80858f8: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 80858fc: b2db uxtb r3, r3 80858fe: 461a mov r2, r3 8085900: 4b1c ldr r3, [pc, #112] ; (8085974 ) 8085902: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8085906: 461a mov r2, r3 8085908: 215a movs r1, #90 ; 0x5a 808590a: 20d6 movs r0, #214 ; 0xd6 808590c: f7ce fcf6 bl 80542fc LCD_DisplayString(230, LCD_LINE_5, (char *) pNUMS[iesHP]); 8085910: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 8085914: b2db uxtb r3, r3 8085916: 461a mov r2, r3 8085918: 4b16 ldr r3, [pc, #88] ; (8085974 ) 808591a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808591e: 461a mov r2, r3 8085920: 215a movs r1, #90 ; 0x5a 8085922: 20e6 movs r0, #230 ; 0xe6 8085924: f7ce fcea bl 80542fc LCD_DisplayString(246, LCD_LINE_5, (char *) pNUMS[iedHP]); 8085928: f897 33ce ldrb.w r3, [r7, #974] ; 0x3ce 808592c: b2db uxtb r3, r3 808592e: 461a mov r2, r3 8085930: 4b10 ldr r3, [pc, #64] ; (8085974 ) 8085932: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8085936: 461a mov r2, r3 8085938: 215a movs r1, #90 ; 0x5a 808593a: 20f6 movs r0, #246 ; 0xf6 808593c: f7ce fcde bl 80542fc LCD_DisplayString(278, LCD_LINE_5, "."); 8085940: 4a0e ldr r2, [pc, #56] ; (808597c ) 8085942: 215a movs r1, #90 ; 0x5a 8085944: f44f 708b mov.w r0, #278 ; 0x116 8085948: f7ce fcd8 bl 80542fc LCD_DisplayString(294, LCD_LINE_5, (char *) pNUMS[ikdHP]); 808594c: f897 33cc ldrb.w r3, [r7, #972] ; 0x3cc 8085950: b2db uxtb r3, r3 8085952: 461a mov r2, r3 8085954: 4b07 ldr r3, [pc, #28] ; (8085974 ) 8085956: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808595a: 461a mov r2, r3 808595c: 215a movs r1, #90 ; 0x5a 808595e: f44f 7093 mov.w r0, #294 ; 0x126 8085962: f7ce fccb bl 80542fc 8085966: e06d b.n 8085a44 8085968: 20020070 .word 0x20020070 808596c: ff0a0f1f .word 0xff0a0f1f 8085970: 2002165c .word 0x2002165c 8085974: 20020964 .word 0x20020964 8085978: ffd8aa57 .word 0xffd8aa57 808597c: 080cf7e8 .word 0x080cf7e8 if(menupos == FilterHP_IKD) 8085980: 4bc5 ldr r3, [pc, #788] ; (8085c98 ) 8085982: 781b ldrb r3, [r3, #0] 8085984: b2db uxtb r3, r3 8085986: 2b1e cmp r3, #30 8085988: d15c bne.n 8085a44 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808598a: 49c4 ldr r1, [pc, #784] ; (8085c9c ) 808598c: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8085990: f7cd ff0c bl 80537ac if(blk) 8085994: 4bc2 ldr r3, [pc, #776] ; (8085ca0 ) 8085996: 681b ldr r3, [r3, #0] 8085998: 2b00 cmp r3, #0 808599a: d00c beq.n 80859b6 LCD_DisplayString(294, LCD_LINE_5, (char *) pNUMS[ikdHP]); 808599c: f897 33cc ldrb.w r3, [r7, #972] ; 0x3cc 80859a0: b2db uxtb r3, r3 80859a2: 461a mov r2, r3 80859a4: 4bbf ldr r3, [pc, #764] ; (8085ca4 ) 80859a6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80859aa: 461a mov r2, r3 80859ac: 215a movs r1, #90 ; 0x5a 80859ae: f44f 7093 mov.w r0, #294 ; 0x126 80859b2: f7ce fca3 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80859b6: 49b9 ldr r1, [pc, #740] ; (8085c9c ) 80859b8: 48bb ldr r0, [pc, #748] ; (8085ca8 ) 80859ba: f7cd fef7 bl 80537ac LCD_DisplayString(198, LCD_LINE_5, (char *) pNUMS[idtHP]); 80859be: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 80859c2: b2db uxtb r3, r3 80859c4: 461a mov r2, r3 80859c6: 4bb7 ldr r3, [pc, #732] ; (8085ca4 ) 80859c8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80859cc: 461a mov r2, r3 80859ce: 215a movs r1, #90 ; 0x5a 80859d0: 20c6 movs r0, #198 ; 0xc6 80859d2: f7ce fc93 bl 80542fc LCD_DisplayString(214, LCD_LINE_5, (char *) pNUMS[ietHP]); 80859d6: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 80859da: b2db uxtb r3, r3 80859dc: 461a mov r2, r3 80859de: 4bb1 ldr r3, [pc, #708] ; (8085ca4 ) 80859e0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80859e4: 461a mov r2, r3 80859e6: 215a movs r1, #90 ; 0x5a 80859e8: 20d6 movs r0, #214 ; 0xd6 80859ea: f7ce fc87 bl 80542fc LCD_DisplayString(230, LCD_LINE_5, (char *) pNUMS[iesHP]); 80859ee: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 80859f2: b2db uxtb r3, r3 80859f4: 461a mov r2, r3 80859f6: 4bab ldr r3, [pc, #684] ; (8085ca4 ) 80859f8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80859fc: 461a mov r2, r3 80859fe: 215a movs r1, #90 ; 0x5a 8085a00: 20e6 movs r0, #230 ; 0xe6 8085a02: f7ce fc7b bl 80542fc LCD_DisplayString(246, LCD_LINE_5, (char *) pNUMS[iedHP]); 8085a06: f897 33ce ldrb.w r3, [r7, #974] ; 0x3ce 8085a0a: b2db uxtb r3, r3 8085a0c: 461a mov r2, r3 8085a0e: 4ba5 ldr r3, [pc, #660] ; (8085ca4 ) 8085a10: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8085a14: 461a mov r2, r3 8085a16: 215a movs r1, #90 ; 0x5a 8085a18: 20f6 movs r0, #246 ; 0xf6 8085a1a: f7ce fc6f bl 80542fc LCD_DisplayString(262, LCD_LINE_5, (char *) pNUMS[ieeHP]); 8085a1e: f897 33cd ldrb.w r3, [r7, #973] ; 0x3cd 8085a22: b2db uxtb r3, r3 8085a24: 461a mov r2, r3 8085a26: 4b9f ldr r3, [pc, #636] ; (8085ca4 ) 8085a28: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8085a2c: 461a mov r2, r3 8085a2e: 215a movs r1, #90 ; 0x5a 8085a30: f44f 7083 mov.w r0, #262 ; 0x106 8085a34: f7ce fc62 bl 80542fc LCD_DisplayString(278, LCD_LINE_5, "."); 8085a38: 4a9c ldr r2, [pc, #624] ; (8085cac ) 8085a3a: 215a movs r1, #90 ; 0x5a 8085a3c: f44f 708b mov.w r0, #278 ; 0x116 8085a40: f7ce fc5c bl 80542fc if(menupos == FilterLP_IDT) 8085a44: 4b94 ldr r3, [pc, #592] ; (8085c98 ) 8085a46: 781b ldrb r3, [r3, #0] 8085a48: b2db uxtb r3, r3 8085a4a: 2b1f cmp r3, #31 8085a4c: d15d bne.n 8085b0a LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8085a4e: 4993 ldr r1, [pc, #588] ; (8085c9c ) 8085a50: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8085a54: f7cd feaa bl 80537ac if(blk) 8085a58: 4b91 ldr r3, [pc, #580] ; (8085ca0 ) 8085a5a: 681b ldr r3, [r3, #0] 8085a5c: 2b00 cmp r3, #0 8085a5e: d00b beq.n 8085a78 LCD_DisplayString(198, LCD_LINE_6, (char *) pNUMS[idtLP]); 8085a60: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 8085a64: b2db uxtb r3, r3 8085a66: 461a mov r2, r3 8085a68: 4b8e ldr r3, [pc, #568] ; (8085ca4 ) 8085a6a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8085a6e: 461a mov r2, r3 8085a70: 216a movs r1, #106 ; 0x6a 8085a72: 20c6 movs r0, #198 ; 0xc6 8085a74: f7ce fc42 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8085a78: 4988 ldr r1, [pc, #544] ; (8085c9c ) 8085a7a: 488b ldr r0, [pc, #556] ; (8085ca8 ) 8085a7c: f7cd fe96 bl 80537ac LCD_DisplayString(214, LCD_LINE_6, (char *) pNUMS[ietLP]); 8085a80: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 8085a84: b2db uxtb r3, r3 8085a86: 461a mov r2, r3 8085a88: 4b86 ldr r3, [pc, #536] ; (8085ca4 ) 8085a8a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8085a8e: 461a mov r2, r3 8085a90: 216a movs r1, #106 ; 0x6a 8085a92: 20d6 movs r0, #214 ; 0xd6 8085a94: f7ce fc32 bl 80542fc LCD_DisplayString(230, LCD_LINE_6, (char *) pNUMS[iesLP]); 8085a98: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 8085a9c: b2db uxtb r3, r3 8085a9e: 461a mov r2, r3 8085aa0: 4b80 ldr r3, [pc, #512] ; (8085ca4 ) 8085aa2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8085aa6: 461a mov r2, r3 8085aa8: 216a movs r1, #106 ; 0x6a 8085aaa: 20e6 movs r0, #230 ; 0xe6 8085aac: f7ce fc26 bl 80542fc LCD_DisplayString(246, LCD_LINE_6, (char *) pNUMS[iedLP]); 8085ab0: f897 33c7 ldrb.w r3, [r7, #967] ; 0x3c7 8085ab4: b2db uxtb r3, r3 8085ab6: 461a mov r2, r3 8085ab8: 4b7a ldr r3, [pc, #488] ; (8085ca4 ) 8085aba: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8085abe: 461a mov r2, r3 8085ac0: 216a movs r1, #106 ; 0x6a 8085ac2: 20f6 movs r0, #246 ; 0xf6 8085ac4: f7ce fc1a bl 80542fc LCD_DisplayString(262, LCD_LINE_6, (char *) pNUMS[ieeLP]); 8085ac8: f897 33c6 ldrb.w r3, [r7, #966] ; 0x3c6 8085acc: b2db uxtb r3, r3 8085ace: 461a mov r2, r3 8085ad0: 4b74 ldr r3, [pc, #464] ; (8085ca4 ) 8085ad2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8085ad6: 461a mov r2, r3 8085ad8: 216a movs r1, #106 ; 0x6a 8085ada: f44f 7083 mov.w r0, #262 ; 0x106 8085ade: f7ce fc0d bl 80542fc LCD_DisplayString(278, LCD_LINE_6, "."); 8085ae2: 4a72 ldr r2, [pc, #456] ; (8085cac ) 8085ae4: 216a movs r1, #106 ; 0x6a 8085ae6: f44f 708b mov.w r0, #278 ; 0x116 8085aea: f7ce fc07 bl 80542fc LCD_DisplayString(294, LCD_LINE_6, (char *) pNUMS[ikdLP]); 8085aee: f897 33c5 ldrb.w r3, [r7, #965] ; 0x3c5 8085af2: b2db uxtb r3, r3 8085af4: 461a mov r2, r3 8085af6: 4b6b ldr r3, [pc, #428] ; (8085ca4 ) 8085af8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8085afc: 461a mov r2, r3 8085afe: 216a movs r1, #106 ; 0x6a 8085b00: f44f 7093 mov.w r0, #294 ; 0x126 8085b04: f7ce fbfa bl 80542fc 8085b08: e1fa b.n 8085f00 if(menupos == FilterLP_IET) 8085b0a: 4b63 ldr r3, [pc, #396] ; (8085c98 ) 8085b0c: 781b ldrb r3, [r3, #0] 8085b0e: b2db uxtb r3, r3 8085b10: 2b20 cmp r3, #32 8085b12: d15d bne.n 8085bd0 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8085b14: 4961 ldr r1, [pc, #388] ; (8085c9c ) 8085b16: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8085b1a: f7cd fe47 bl 80537ac if(blk) 8085b1e: 4b60 ldr r3, [pc, #384] ; (8085ca0 ) 8085b20: 681b ldr r3, [r3, #0] 8085b22: 2b00 cmp r3, #0 8085b24: d00b beq.n 8085b3e LCD_DisplayString(214, LCD_LINE_6, (char *) pNUMS[ietLP]); 8085b26: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 8085b2a: b2db uxtb r3, r3 8085b2c: 461a mov r2, r3 8085b2e: 4b5d ldr r3, [pc, #372] ; (8085ca4 ) 8085b30: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8085b34: 461a mov r2, r3 8085b36: 216a movs r1, #106 ; 0x6a 8085b38: 20d6 movs r0, #214 ; 0xd6 8085b3a: f7ce fbdf bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8085b3e: 4957 ldr r1, [pc, #348] ; (8085c9c ) 8085b40: 4859 ldr r0, [pc, #356] ; (8085ca8 ) 8085b42: f7cd fe33 bl 80537ac LCD_DisplayString(198, LCD_LINE_6, (char *) pNUMS[idtLP]); 8085b46: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 8085b4a: b2db uxtb r3, r3 8085b4c: 461a mov r2, r3 8085b4e: 4b55 ldr r3, [pc, #340] ; (8085ca4 ) 8085b50: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8085b54: 461a mov r2, r3 8085b56: 216a movs r1, #106 ; 0x6a 8085b58: 20c6 movs r0, #198 ; 0xc6 8085b5a: f7ce fbcf bl 80542fc LCD_DisplayString(230, LCD_LINE_6, (char *) pNUMS[iesLP]); 8085b5e: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 8085b62: b2db uxtb r3, r3 8085b64: 461a mov r2, r3 8085b66: 4b4f ldr r3, [pc, #316] ; (8085ca4 ) 8085b68: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8085b6c: 461a mov r2, r3 8085b6e: 216a movs r1, #106 ; 0x6a 8085b70: 20e6 movs r0, #230 ; 0xe6 8085b72: f7ce fbc3 bl 80542fc LCD_DisplayString(246, LCD_LINE_6, (char *) pNUMS[iedLP]); 8085b76: f897 33c7 ldrb.w r3, [r7, #967] ; 0x3c7 8085b7a: b2db uxtb r3, r3 8085b7c: 461a mov r2, r3 8085b7e: 4b49 ldr r3, [pc, #292] ; (8085ca4 ) 8085b80: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8085b84: 461a mov r2, r3 8085b86: 216a movs r1, #106 ; 0x6a 8085b88: 20f6 movs r0, #246 ; 0xf6 8085b8a: f7ce fbb7 bl 80542fc LCD_DisplayString(262, LCD_LINE_6, (char *) pNUMS[ieeLP]); 8085b8e: f897 33c6 ldrb.w r3, [r7, #966] ; 0x3c6 8085b92: b2db uxtb r3, r3 8085b94: 461a mov r2, r3 8085b96: 4b43 ldr r3, [pc, #268] ; (8085ca4 ) 8085b98: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8085b9c: 461a mov r2, r3 8085b9e: 216a movs r1, #106 ; 0x6a 8085ba0: f44f 7083 mov.w r0, #262 ; 0x106 8085ba4: f7ce fbaa bl 80542fc LCD_DisplayString(278, LCD_LINE_6, "."); 8085ba8: 4a40 ldr r2, [pc, #256] ; (8085cac ) 8085baa: 216a movs r1, #106 ; 0x6a 8085bac: f44f 708b mov.w r0, #278 ; 0x116 8085bb0: f7ce fba4 bl 80542fc LCD_DisplayString(294, LCD_LINE_6, (char *) pNUMS[ikdLP]); 8085bb4: f897 33c5 ldrb.w r3, [r7, #965] ; 0x3c5 8085bb8: b2db uxtb r3, r3 8085bba: 461a mov r2, r3 8085bbc: 4b39 ldr r3, [pc, #228] ; (8085ca4 ) 8085bbe: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8085bc2: 461a mov r2, r3 8085bc4: 216a movs r1, #106 ; 0x6a 8085bc6: f44f 7093 mov.w r0, #294 ; 0x126 8085bca: f7ce fb97 bl 80542fc 8085bce: e197 b.n 8085f00 if(menupos == FilterLP_IES) 8085bd0: 4b31 ldr r3, [pc, #196] ; (8085c98 ) 8085bd2: 781b ldrb r3, [r3, #0] 8085bd4: b2db uxtb r3, r3 8085bd6: 2b21 cmp r3, #33 ; 0x21 8085bd8: d16a bne.n 8085cb0 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8085bda: 4930 ldr r1, [pc, #192] ; (8085c9c ) 8085bdc: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8085be0: f7cd fde4 bl 80537ac if(blk) 8085be4: 4b2e ldr r3, [pc, #184] ; (8085ca0 ) 8085be6: 681b ldr r3, [r3, #0] 8085be8: 2b00 cmp r3, #0 8085bea: d00b beq.n 8085c04 LCD_DisplayString(230, LCD_LINE_6, (char *) pNUMS[iesLP]); 8085bec: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 8085bf0: b2db uxtb r3, r3 8085bf2: 461a mov r2, r3 8085bf4: 4b2b ldr r3, [pc, #172] ; (8085ca4 ) 8085bf6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8085bfa: 461a mov r2, r3 8085bfc: 216a movs r1, #106 ; 0x6a 8085bfe: 20e6 movs r0, #230 ; 0xe6 8085c00: f7ce fb7c bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8085c04: 4925 ldr r1, [pc, #148] ; (8085c9c ) 8085c06: 4828 ldr r0, [pc, #160] ; (8085ca8 ) 8085c08: f7cd fdd0 bl 80537ac LCD_DisplayString(198, LCD_LINE_6, (char *) pNUMS[idtLP]); 8085c0c: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 8085c10: b2db uxtb r3, r3 8085c12: 461a mov r2, r3 8085c14: 4b23 ldr r3, [pc, #140] ; (8085ca4 ) 8085c16: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8085c1a: 461a mov r2, r3 8085c1c: 216a movs r1, #106 ; 0x6a 8085c1e: 20c6 movs r0, #198 ; 0xc6 8085c20: f7ce fb6c bl 80542fc LCD_DisplayString(214, LCD_LINE_6, (char *) pNUMS[ietLP]); 8085c24: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 8085c28: b2db uxtb r3, r3 8085c2a: 461a mov r2, r3 8085c2c: 4b1d ldr r3, [pc, #116] ; (8085ca4 ) 8085c2e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8085c32: 461a mov r2, r3 8085c34: 216a movs r1, #106 ; 0x6a 8085c36: 20d6 movs r0, #214 ; 0xd6 8085c38: f7ce fb60 bl 80542fc LCD_DisplayString(246, LCD_LINE_6, (char *) pNUMS[iedLP]); 8085c3c: f897 33c7 ldrb.w r3, [r7, #967] ; 0x3c7 8085c40: b2db uxtb r3, r3 8085c42: 461a mov r2, r3 8085c44: 4b17 ldr r3, [pc, #92] ; (8085ca4 ) 8085c46: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8085c4a: 461a mov r2, r3 8085c4c: 216a movs r1, #106 ; 0x6a 8085c4e: 20f6 movs r0, #246 ; 0xf6 8085c50: f7ce fb54 bl 80542fc LCD_DisplayString(262, LCD_LINE_6, (char *) pNUMS[ieeLP]); 8085c54: f897 33c6 ldrb.w r3, [r7, #966] ; 0x3c6 8085c58: b2db uxtb r3, r3 8085c5a: 461a mov r2, r3 8085c5c: 4b11 ldr r3, [pc, #68] ; (8085ca4 ) 8085c5e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8085c62: 461a mov r2, r3 8085c64: 216a movs r1, #106 ; 0x6a 8085c66: f44f 7083 mov.w r0, #262 ; 0x106 8085c6a: f7ce fb47 bl 80542fc LCD_DisplayString(278, LCD_LINE_6, "."); 8085c6e: 4a0f ldr r2, [pc, #60] ; (8085cac ) 8085c70: 216a movs r1, #106 ; 0x6a 8085c72: f44f 708b mov.w r0, #278 ; 0x116 8085c76: f7ce fb41 bl 80542fc LCD_DisplayString(294, LCD_LINE_6, (char *) pNUMS[ikdLP]); 8085c7a: f897 33c5 ldrb.w r3, [r7, #965] ; 0x3c5 8085c7e: b2db uxtb r3, r3 8085c80: 461a mov r2, r3 8085c82: 4b08 ldr r3, [pc, #32] ; (8085ca4 ) 8085c84: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8085c88: 461a mov r2, r3 8085c8a: 216a movs r1, #106 ; 0x6a 8085c8c: f44f 7093 mov.w r0, #294 ; 0x126 8085c90: f7ce fb34 bl 80542fc 8085c94: e134 b.n 8085f00 8085c96: bf00 nop 8085c98: 20020070 .word 0x20020070 8085c9c: ff0a0f1f .word 0xff0a0f1f 8085ca0: 2002165c .word 0x2002165c 8085ca4: 20020964 .word 0x20020964 8085ca8: ffd8aa57 .word 0xffd8aa57 8085cac: 080cf7e8 .word 0x080cf7e8 if(menupos == FilterLP_IED) 8085cb0: 4bc5 ldr r3, [pc, #788] ; (8085fc8 ) 8085cb2: 781b ldrb r3, [r3, #0] 8085cb4: b2db uxtb r3, r3 8085cb6: 2b22 cmp r3, #34 ; 0x22 8085cb8: d15d bne.n 8085d76 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8085cba: 49c4 ldr r1, [pc, #784] ; (8085fcc ) 8085cbc: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8085cc0: f7cd fd74 bl 80537ac if(blk) 8085cc4: 4bc2 ldr r3, [pc, #776] ; (8085fd0 ) 8085cc6: 681b ldr r3, [r3, #0] 8085cc8: 2b00 cmp r3, #0 8085cca: d00b beq.n 8085ce4 LCD_DisplayString(246, LCD_LINE_6, (char *) pNUMS[iedLP]); 8085ccc: f897 33c7 ldrb.w r3, [r7, #967] ; 0x3c7 8085cd0: b2db uxtb r3, r3 8085cd2: 461a mov r2, r3 8085cd4: 4bbf ldr r3, [pc, #764] ; (8085fd4 ) 8085cd6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8085cda: 461a mov r2, r3 8085cdc: 216a movs r1, #106 ; 0x6a 8085cde: 20f6 movs r0, #246 ; 0xf6 8085ce0: f7ce fb0c bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8085ce4: 49b9 ldr r1, [pc, #740] ; (8085fcc ) 8085ce6: 48bc ldr r0, [pc, #752] ; (8085fd8 ) 8085ce8: f7cd fd60 bl 80537ac LCD_DisplayString(198, LCD_LINE_6, (char *) pNUMS[idtLP]); 8085cec: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 8085cf0: b2db uxtb r3, r3 8085cf2: 461a mov r2, r3 8085cf4: 4bb7 ldr r3, [pc, #732] ; (8085fd4 ) 8085cf6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8085cfa: 461a mov r2, r3 8085cfc: 216a movs r1, #106 ; 0x6a 8085cfe: 20c6 movs r0, #198 ; 0xc6 8085d00: f7ce fafc bl 80542fc LCD_DisplayString(214, LCD_LINE_6, (char *) pNUMS[ietLP]); 8085d04: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 8085d08: b2db uxtb r3, r3 8085d0a: 461a mov r2, r3 8085d0c: 4bb1 ldr r3, [pc, #708] ; (8085fd4 ) 8085d0e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8085d12: 461a mov r2, r3 8085d14: 216a movs r1, #106 ; 0x6a 8085d16: 20d6 movs r0, #214 ; 0xd6 8085d18: f7ce faf0 bl 80542fc LCD_DisplayString(230, LCD_LINE_6, (char *) pNUMS[iesLP]); 8085d1c: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 8085d20: b2db uxtb r3, r3 8085d22: 461a mov r2, r3 8085d24: 4bab ldr r3, [pc, #684] ; (8085fd4 ) 8085d26: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8085d2a: 461a mov r2, r3 8085d2c: 216a movs r1, #106 ; 0x6a 8085d2e: 20e6 movs r0, #230 ; 0xe6 8085d30: f7ce fae4 bl 80542fc LCD_DisplayString(262, LCD_LINE_6, (char *) pNUMS[ieeLP]); 8085d34: f897 33c6 ldrb.w r3, [r7, #966] ; 0x3c6 8085d38: b2db uxtb r3, r3 8085d3a: 461a mov r2, r3 8085d3c: 4ba5 ldr r3, [pc, #660] ; (8085fd4 ) 8085d3e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8085d42: 461a mov r2, r3 8085d44: 216a movs r1, #106 ; 0x6a 8085d46: f44f 7083 mov.w r0, #262 ; 0x106 8085d4a: f7ce fad7 bl 80542fc LCD_DisplayString(278, LCD_LINE_6, "."); 8085d4e: 4aa3 ldr r2, [pc, #652] ; (8085fdc ) 8085d50: 216a movs r1, #106 ; 0x6a 8085d52: f44f 708b mov.w r0, #278 ; 0x116 8085d56: f7ce fad1 bl 80542fc LCD_DisplayString(294, LCD_LINE_6, (char *) pNUMS[ikdLP]); 8085d5a: f897 33c5 ldrb.w r3, [r7, #965] ; 0x3c5 8085d5e: b2db uxtb r3, r3 8085d60: 461a mov r2, r3 8085d62: 4b9c ldr r3, [pc, #624] ; (8085fd4 ) 8085d64: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8085d68: 461a mov r2, r3 8085d6a: 216a movs r1, #106 ; 0x6a 8085d6c: f44f 7093 mov.w r0, #294 ; 0x126 8085d70: f7ce fac4 bl 80542fc 8085d74: e0c4 b.n 8085f00 if(menupos == FilterLP_IEE) 8085d76: 4b94 ldr r3, [pc, #592] ; (8085fc8 ) 8085d78: 781b ldrb r3, [r3, #0] 8085d7a: b2db uxtb r3, r3 8085d7c: 2b23 cmp r3, #35 ; 0x23 8085d7e: d15d bne.n 8085e3c LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8085d80: 4992 ldr r1, [pc, #584] ; (8085fcc ) 8085d82: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8085d86: f7cd fd11 bl 80537ac if(blk) 8085d8a: 4b91 ldr r3, [pc, #580] ; (8085fd0 ) 8085d8c: 681b ldr r3, [r3, #0] 8085d8e: 2b00 cmp r3, #0 8085d90: d00c beq.n 8085dac LCD_DisplayString(262, LCD_LINE_6, (char *) pNUMS[ieeLP]); 8085d92: f897 33c6 ldrb.w r3, [r7, #966] ; 0x3c6 8085d96: b2db uxtb r3, r3 8085d98: 461a mov r2, r3 8085d9a: 4b8e ldr r3, [pc, #568] ; (8085fd4 ) 8085d9c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8085da0: 461a mov r2, r3 8085da2: 216a movs r1, #106 ; 0x6a 8085da4: f44f 7083 mov.w r0, #262 ; 0x106 8085da8: f7ce faa8 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8085dac: 4987 ldr r1, [pc, #540] ; (8085fcc ) 8085dae: 488a ldr r0, [pc, #552] ; (8085fd8 ) 8085db0: f7cd fcfc bl 80537ac LCD_DisplayString(198, LCD_LINE_6, (char *) pNUMS[idtLP]); 8085db4: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 8085db8: b2db uxtb r3, r3 8085dba: 461a mov r2, r3 8085dbc: 4b85 ldr r3, [pc, #532] ; (8085fd4 ) 8085dbe: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8085dc2: 461a mov r2, r3 8085dc4: 216a movs r1, #106 ; 0x6a 8085dc6: 20c6 movs r0, #198 ; 0xc6 8085dc8: f7ce fa98 bl 80542fc LCD_DisplayString(214, LCD_LINE_6, (char *) pNUMS[ietLP]); 8085dcc: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 8085dd0: b2db uxtb r3, r3 8085dd2: 461a mov r2, r3 8085dd4: 4b7f ldr r3, [pc, #508] ; (8085fd4 ) 8085dd6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8085dda: 461a mov r2, r3 8085ddc: 216a movs r1, #106 ; 0x6a 8085dde: 20d6 movs r0, #214 ; 0xd6 8085de0: f7ce fa8c bl 80542fc LCD_DisplayString(230, LCD_LINE_6, (char *) pNUMS[iesLP]); 8085de4: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 8085de8: b2db uxtb r3, r3 8085dea: 461a mov r2, r3 8085dec: 4b79 ldr r3, [pc, #484] ; (8085fd4 ) 8085dee: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8085df2: 461a mov r2, r3 8085df4: 216a movs r1, #106 ; 0x6a 8085df6: 20e6 movs r0, #230 ; 0xe6 8085df8: f7ce fa80 bl 80542fc LCD_DisplayString(246, LCD_LINE_6, (char *) pNUMS[iedLP]); 8085dfc: f897 33c7 ldrb.w r3, [r7, #967] ; 0x3c7 8085e00: b2db uxtb r3, r3 8085e02: 461a mov r2, r3 8085e04: 4b73 ldr r3, [pc, #460] ; (8085fd4 ) 8085e06: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8085e0a: 461a mov r2, r3 8085e0c: 216a movs r1, #106 ; 0x6a 8085e0e: 20f6 movs r0, #246 ; 0xf6 8085e10: f7ce fa74 bl 80542fc LCD_DisplayString(278, LCD_LINE_6, "."); 8085e14: 4a71 ldr r2, [pc, #452] ; (8085fdc ) 8085e16: 216a movs r1, #106 ; 0x6a 8085e18: f44f 708b mov.w r0, #278 ; 0x116 8085e1c: f7ce fa6e bl 80542fc LCD_DisplayString(294, LCD_LINE_6, (char *) pNUMS[ikdLP]); 8085e20: f897 33c5 ldrb.w r3, [r7, #965] ; 0x3c5 8085e24: b2db uxtb r3, r3 8085e26: 461a mov r2, r3 8085e28: 4b6a ldr r3, [pc, #424] ; (8085fd4 ) 8085e2a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8085e2e: 461a mov r2, r3 8085e30: 216a movs r1, #106 ; 0x6a 8085e32: f44f 7093 mov.w r0, #294 ; 0x126 8085e36: f7ce fa61 bl 80542fc 8085e3a: e061 b.n 8085f00 if(menupos == FilterLP_IKD) 8085e3c: 4b62 ldr r3, [pc, #392] ; (8085fc8 ) 8085e3e: 781b ldrb r3, [r3, #0] 8085e40: b2db uxtb r3, r3 8085e42: 2b24 cmp r3, #36 ; 0x24 8085e44: d15c bne.n 8085f00 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8085e46: 4961 ldr r1, [pc, #388] ; (8085fcc ) 8085e48: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8085e4c: f7cd fcae bl 80537ac if(blk) 8085e50: 4b5f ldr r3, [pc, #380] ; (8085fd0 ) 8085e52: 681b ldr r3, [r3, #0] 8085e54: 2b00 cmp r3, #0 8085e56: d00c beq.n 8085e72 LCD_DisplayString(294, LCD_LINE_6, (char *) pNUMS[ikdLP]); 8085e58: f897 33c5 ldrb.w r3, [r7, #965] ; 0x3c5 8085e5c: b2db uxtb r3, r3 8085e5e: 461a mov r2, r3 8085e60: 4b5c ldr r3, [pc, #368] ; (8085fd4 ) 8085e62: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8085e66: 461a mov r2, r3 8085e68: 216a movs r1, #106 ; 0x6a 8085e6a: f44f 7093 mov.w r0, #294 ; 0x126 8085e6e: f7ce fa45 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8085e72: 4956 ldr r1, [pc, #344] ; (8085fcc ) 8085e74: 4858 ldr r0, [pc, #352] ; (8085fd8 ) 8085e76: f7cd fc99 bl 80537ac LCD_DisplayString(198, LCD_LINE_6, (char *) pNUMS[idtLP]); 8085e7a: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 8085e7e: b2db uxtb r3, r3 8085e80: 461a mov r2, r3 8085e82: 4b54 ldr r3, [pc, #336] ; (8085fd4 ) 8085e84: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8085e88: 461a mov r2, r3 8085e8a: 216a movs r1, #106 ; 0x6a 8085e8c: 20c6 movs r0, #198 ; 0xc6 8085e8e: f7ce fa35 bl 80542fc LCD_DisplayString(214, LCD_LINE_6, (char *) pNUMS[ietLP]); 8085e92: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 8085e96: b2db uxtb r3, r3 8085e98: 461a mov r2, r3 8085e9a: 4b4e ldr r3, [pc, #312] ; (8085fd4 ) 8085e9c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8085ea0: 461a mov r2, r3 8085ea2: 216a movs r1, #106 ; 0x6a 8085ea4: 20d6 movs r0, #214 ; 0xd6 8085ea6: f7ce fa29 bl 80542fc LCD_DisplayString(230, LCD_LINE_6, (char *) pNUMS[iesLP]); 8085eaa: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 8085eae: b2db uxtb r3, r3 8085eb0: 461a mov r2, r3 8085eb2: 4b48 ldr r3, [pc, #288] ; (8085fd4 ) 8085eb4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8085eb8: 461a mov r2, r3 8085eba: 216a movs r1, #106 ; 0x6a 8085ebc: 20e6 movs r0, #230 ; 0xe6 8085ebe: f7ce fa1d bl 80542fc LCD_DisplayString(246, LCD_LINE_6, (char *) pNUMS[iedLP]); 8085ec2: f897 33c7 ldrb.w r3, [r7, #967] ; 0x3c7 8085ec6: b2db uxtb r3, r3 8085ec8: 461a mov r2, r3 8085eca: 4b42 ldr r3, [pc, #264] ; (8085fd4 ) 8085ecc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8085ed0: 461a mov r2, r3 8085ed2: 216a movs r1, #106 ; 0x6a 8085ed4: 20f6 movs r0, #246 ; 0xf6 8085ed6: f7ce fa11 bl 80542fc LCD_DisplayString(262, LCD_LINE_6, (char *) pNUMS[ieeLP]); 8085eda: f897 33c6 ldrb.w r3, [r7, #966] ; 0x3c6 8085ede: b2db uxtb r3, r3 8085ee0: 461a mov r2, r3 8085ee2: 4b3c ldr r3, [pc, #240] ; (8085fd4 ) 8085ee4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8085ee8: 461a mov r2, r3 8085eea: 216a movs r1, #106 ; 0x6a 8085eec: f44f 7083 mov.w r0, #262 ; 0x106 8085ef0: f7ce fa04 bl 80542fc LCD_DisplayString(278, LCD_LINE_6, "."); 8085ef4: 4a39 ldr r2, [pc, #228] ; (8085fdc ) 8085ef6: 216a movs r1, #106 ; 0x6a 8085ef8: f44f 708b mov.w r0, #278 ; 0x116 8085efc: f7ce f9fe bl 80542fc if(menupos == VibMax_IDT) 8085f00: 4b31 ldr r3, [pc, #196] ; (8085fc8 ) 8085f02: 781b ldrb r3, [r3, #0] 8085f04: b2db uxtb r3, r3 8085f06: 2b0b cmp r3, #11 8085f08: d16a bne.n 8085fe0 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8085f0a: 4930 ldr r1, [pc, #192] ; (8085fcc ) 8085f0c: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8085f10: f7cd fc4c bl 80537ac if(blk) 8085f14: 4b2e ldr r3, [pc, #184] ; (8085fd0 ) 8085f16: 681b ldr r3, [r3, #0] 8085f18: 2b00 cmp r3, #0 8085f1a: d00b beq.n 8085f34 LCD_DisplayString(198, LCD_LINE_12, (char *) pNUMS[idt2]); 8085f1c: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 8085f20: b2db uxtb r3, r3 8085f22: 461a mov r2, r3 8085f24: 4b2b ldr r3, [pc, #172] ; (8085fd4 ) 8085f26: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8085f2a: 461a mov r2, r3 8085f2c: 21ca movs r1, #202 ; 0xca 8085f2e: 20c6 movs r0, #198 ; 0xc6 8085f30: f7ce f9e4 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8085f34: 4925 ldr r1, [pc, #148] ; (8085fcc ) 8085f36: 4828 ldr r0, [pc, #160] ; (8085fd8 ) 8085f38: f7cd fc38 bl 80537ac LCD_DisplayString(214, LCD_LINE_12, (char *) pNUMS[iet2]); 8085f3c: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 8085f40: b2db uxtb r3, r3 8085f42: 461a mov r2, r3 8085f44: 4b23 ldr r3, [pc, #140] ; (8085fd4 ) 8085f46: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8085f4a: 461a mov r2, r3 8085f4c: 21ca movs r1, #202 ; 0xca 8085f4e: 20d6 movs r0, #214 ; 0xd6 8085f50: f7ce f9d4 bl 80542fc LCD_DisplayString(230, LCD_LINE_12, (char *) pNUMS[ies2]); 8085f54: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 8085f58: b2db uxtb r3, r3 8085f5a: 461a mov r2, r3 8085f5c: 4b1d ldr r3, [pc, #116] ; (8085fd4 ) 8085f5e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8085f62: 461a mov r2, r3 8085f64: 21ca movs r1, #202 ; 0xca 8085f66: 20e6 movs r0, #230 ; 0xe6 8085f68: f7ce f9c8 bl 80542fc LCD_DisplayString(246, LCD_LINE_12, (char *) pNUMS[ied2]); 8085f6c: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 8085f70: b2db uxtb r3, r3 8085f72: 461a mov r2, r3 8085f74: 4b17 ldr r3, [pc, #92] ; (8085fd4 ) 8085f76: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8085f7a: 461a mov r2, r3 8085f7c: 21ca movs r1, #202 ; 0xca 8085f7e: 20f6 movs r0, #246 ; 0xf6 8085f80: f7ce f9bc bl 80542fc LCD_DisplayString(262, LCD_LINE_12, (char *) pNUMS[iee2]); 8085f84: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 8085f88: b2db uxtb r3, r3 8085f8a: 461a mov r2, r3 8085f8c: 4b11 ldr r3, [pc, #68] ; (8085fd4 ) 8085f8e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8085f92: 461a mov r2, r3 8085f94: 21ca movs r1, #202 ; 0xca 8085f96: f44f 7083 mov.w r0, #262 ; 0x106 8085f9a: f7ce f9af bl 80542fc LCD_DisplayString(278, LCD_LINE_12, "."); 8085f9e: 4a0f ldr r2, [pc, #60] ; (8085fdc ) 8085fa0: 21ca movs r1, #202 ; 0xca 8085fa2: f44f 708b mov.w r0, #278 ; 0x116 8085fa6: f7ce f9a9 bl 80542fc LCD_DisplayString(294, LCD_LINE_12, (char *) pNUMS[ikd2]); 8085faa: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 8085fae: b2db uxtb r3, r3 8085fb0: 461a mov r2, r3 8085fb2: 4b08 ldr r3, [pc, #32] ; (8085fd4 ) 8085fb4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8085fb8: 461a mov r2, r3 8085fba: 21ca movs r1, #202 ; 0xca 8085fbc: f44f 7093 mov.w r0, #294 ; 0x126 8085fc0: f7ce f99c bl 80542fc 8085fc4: e206 b.n 80863d4 8085fc6: bf00 nop 8085fc8: 20020070 .word 0x20020070 8085fcc: ff0a0f1f .word 0xff0a0f1f 8085fd0: 2002165c .word 0x2002165c 8085fd4: 20020964 .word 0x20020964 8085fd8: ffd8aa57 .word 0xffd8aa57 8085fdc: 080cf7e8 .word 0x080cf7e8 if(menupos == VibMax_IET) 8085fe0: 4bc5 ldr r3, [pc, #788] ; (80862f8 ) 8085fe2: 781b ldrb r3, [r3, #0] 8085fe4: b2db uxtb r3, r3 8085fe6: 2b0c cmp r3, #12 8085fe8: d15d bne.n 80860a6 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8085fea: 49c4 ldr r1, [pc, #784] ; (80862fc ) 8085fec: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8085ff0: f7cd fbdc bl 80537ac if(blk) 8085ff4: 4bc2 ldr r3, [pc, #776] ; (8086300 ) 8085ff6: 681b ldr r3, [r3, #0] 8085ff8: 2b00 cmp r3, #0 8085ffa: d00b beq.n 8086014 LCD_DisplayString(214, LCD_LINE_12, (char *) pNUMS[iet2]); 8085ffc: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 8086000: b2db uxtb r3, r3 8086002: 461a mov r2, r3 8086004: 4bbf ldr r3, [pc, #764] ; (8086304 ) 8086006: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808600a: 461a mov r2, r3 808600c: 21ca movs r1, #202 ; 0xca 808600e: 20d6 movs r0, #214 ; 0xd6 8086010: f7ce f974 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8086014: 49b9 ldr r1, [pc, #740] ; (80862fc ) 8086016: 48bc ldr r0, [pc, #752] ; (8086308 ) 8086018: f7cd fbc8 bl 80537ac LCD_DisplayString(198, LCD_LINE_12, (char *) pNUMS[idt2]); 808601c: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 8086020: b2db uxtb r3, r3 8086022: 461a mov r2, r3 8086024: 4bb7 ldr r3, [pc, #732] ; (8086304 ) 8086026: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808602a: 461a mov r2, r3 808602c: 21ca movs r1, #202 ; 0xca 808602e: 20c6 movs r0, #198 ; 0xc6 8086030: f7ce f964 bl 80542fc LCD_DisplayString(230, LCD_LINE_12, (char *) pNUMS[ies2]); 8086034: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 8086038: b2db uxtb r3, r3 808603a: 461a mov r2, r3 808603c: 4bb1 ldr r3, [pc, #708] ; (8086304 ) 808603e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8086042: 461a mov r2, r3 8086044: 21ca movs r1, #202 ; 0xca 8086046: 20e6 movs r0, #230 ; 0xe6 8086048: f7ce f958 bl 80542fc LCD_DisplayString(246, LCD_LINE_12, (char *) pNUMS[ied2]); 808604c: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 8086050: b2db uxtb r3, r3 8086052: 461a mov r2, r3 8086054: 4bab ldr r3, [pc, #684] ; (8086304 ) 8086056: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808605a: 461a mov r2, r3 808605c: 21ca movs r1, #202 ; 0xca 808605e: 20f6 movs r0, #246 ; 0xf6 8086060: f7ce f94c bl 80542fc LCD_DisplayString(262, LCD_LINE_12, (char *) pNUMS[iee2]); 8086064: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 8086068: b2db uxtb r3, r3 808606a: 461a mov r2, r3 808606c: 4ba5 ldr r3, [pc, #660] ; (8086304 ) 808606e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8086072: 461a mov r2, r3 8086074: 21ca movs r1, #202 ; 0xca 8086076: f44f 7083 mov.w r0, #262 ; 0x106 808607a: f7ce f93f bl 80542fc LCD_DisplayString(278, LCD_LINE_12, "."); 808607e: 4aa3 ldr r2, [pc, #652] ; (808630c ) 8086080: 21ca movs r1, #202 ; 0xca 8086082: f44f 708b mov.w r0, #278 ; 0x116 8086086: f7ce f939 bl 80542fc LCD_DisplayString(294, LCD_LINE_12, (char *) pNUMS[ikd2]); 808608a: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 808608e: b2db uxtb r3, r3 8086090: 461a mov r2, r3 8086092: 4b9c ldr r3, [pc, #624] ; (8086304 ) 8086094: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8086098: 461a mov r2, r3 808609a: 21ca movs r1, #202 ; 0xca 808609c: f44f 7093 mov.w r0, #294 ; 0x126 80860a0: f7ce f92c bl 80542fc 80860a4: e196 b.n 80863d4 if(menupos == VibMax_IES) 80860a6: 4b94 ldr r3, [pc, #592] ; (80862f8 ) 80860a8: 781b ldrb r3, [r3, #0] 80860aa: b2db uxtb r3, r3 80860ac: 2b0d cmp r3, #13 80860ae: d15d bne.n 808616c LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80860b0: 4992 ldr r1, [pc, #584] ; (80862fc ) 80860b2: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80860b6: f7cd fb79 bl 80537ac if(blk) 80860ba: 4b91 ldr r3, [pc, #580] ; (8086300 ) 80860bc: 681b ldr r3, [r3, #0] 80860be: 2b00 cmp r3, #0 80860c0: d00b beq.n 80860da LCD_DisplayString(230, LCD_LINE_12, (char *) pNUMS[ies2]); 80860c2: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 80860c6: b2db uxtb r3, r3 80860c8: 461a mov r2, r3 80860ca: 4b8e ldr r3, [pc, #568] ; (8086304 ) 80860cc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80860d0: 461a mov r2, r3 80860d2: 21ca movs r1, #202 ; 0xca 80860d4: 20e6 movs r0, #230 ; 0xe6 80860d6: f7ce f911 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80860da: 4988 ldr r1, [pc, #544] ; (80862fc ) 80860dc: 488a ldr r0, [pc, #552] ; (8086308 ) 80860de: f7cd fb65 bl 80537ac LCD_DisplayString(198, LCD_LINE_12, (char *) pNUMS[idt2]); 80860e2: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 80860e6: b2db uxtb r3, r3 80860e8: 461a mov r2, r3 80860ea: 4b86 ldr r3, [pc, #536] ; (8086304 ) 80860ec: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80860f0: 461a mov r2, r3 80860f2: 21ca movs r1, #202 ; 0xca 80860f4: 20c6 movs r0, #198 ; 0xc6 80860f6: f7ce f901 bl 80542fc LCD_DisplayString(214, LCD_LINE_12, (char *) pNUMS[iet2]); 80860fa: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 80860fe: b2db uxtb r3, r3 8086100: 461a mov r2, r3 8086102: 4b80 ldr r3, [pc, #512] ; (8086304 ) 8086104: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8086108: 461a mov r2, r3 808610a: 21ca movs r1, #202 ; 0xca 808610c: 20d6 movs r0, #214 ; 0xd6 808610e: f7ce f8f5 bl 80542fc LCD_DisplayString(246, LCD_LINE_12, (char *) pNUMS[ied2]); 8086112: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 8086116: b2db uxtb r3, r3 8086118: 461a mov r2, r3 808611a: 4b7a ldr r3, [pc, #488] ; (8086304 ) 808611c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8086120: 461a mov r2, r3 8086122: 21ca movs r1, #202 ; 0xca 8086124: 20f6 movs r0, #246 ; 0xf6 8086126: f7ce f8e9 bl 80542fc LCD_DisplayString(262, LCD_LINE_12, (char *) pNUMS[iee2]); 808612a: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 808612e: b2db uxtb r3, r3 8086130: 461a mov r2, r3 8086132: 4b74 ldr r3, [pc, #464] ; (8086304 ) 8086134: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8086138: 461a mov r2, r3 808613a: 21ca movs r1, #202 ; 0xca 808613c: f44f 7083 mov.w r0, #262 ; 0x106 8086140: f7ce f8dc bl 80542fc LCD_DisplayString(278, LCD_LINE_12, "."); 8086144: 4a71 ldr r2, [pc, #452] ; (808630c ) 8086146: 21ca movs r1, #202 ; 0xca 8086148: f44f 708b mov.w r0, #278 ; 0x116 808614c: f7ce f8d6 bl 80542fc LCD_DisplayString(294, LCD_LINE_12, (char *) pNUMS[ikd2]); 8086150: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 8086154: b2db uxtb r3, r3 8086156: 461a mov r2, r3 8086158: 4b6a ldr r3, [pc, #424] ; (8086304 ) 808615a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808615e: 461a mov r2, r3 8086160: 21ca movs r1, #202 ; 0xca 8086162: f44f 7093 mov.w r0, #294 ; 0x126 8086166: f7ce f8c9 bl 80542fc 808616a: e133 b.n 80863d4 if(menupos == VibMax_IED) 808616c: 4b62 ldr r3, [pc, #392] ; (80862f8 ) 808616e: 781b ldrb r3, [r3, #0] 8086170: b2db uxtb r3, r3 8086172: 2b0e cmp r3, #14 8086174: d15d bne.n 8086232 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8086176: 4961 ldr r1, [pc, #388] ; (80862fc ) 8086178: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808617c: f7cd fb16 bl 80537ac if(blk) 8086180: 4b5f ldr r3, [pc, #380] ; (8086300 ) 8086182: 681b ldr r3, [r3, #0] 8086184: 2b00 cmp r3, #0 8086186: d00b beq.n 80861a0 LCD_DisplayString(246, LCD_LINE_12, (char *) pNUMS[ied2]); 8086188: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 808618c: b2db uxtb r3, r3 808618e: 461a mov r2, r3 8086190: 4b5c ldr r3, [pc, #368] ; (8086304 ) 8086192: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8086196: 461a mov r2, r3 8086198: 21ca movs r1, #202 ; 0xca 808619a: 20f6 movs r0, #246 ; 0xf6 808619c: f7ce f8ae bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80861a0: 4956 ldr r1, [pc, #344] ; (80862fc ) 80861a2: 4859 ldr r0, [pc, #356] ; (8086308 ) 80861a4: f7cd fb02 bl 80537ac LCD_DisplayString(198, LCD_LINE_12, (char *) pNUMS[idt2]); 80861a8: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 80861ac: b2db uxtb r3, r3 80861ae: 461a mov r2, r3 80861b0: 4b54 ldr r3, [pc, #336] ; (8086304 ) 80861b2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80861b6: 461a mov r2, r3 80861b8: 21ca movs r1, #202 ; 0xca 80861ba: 20c6 movs r0, #198 ; 0xc6 80861bc: f7ce f89e bl 80542fc LCD_DisplayString(214, LCD_LINE_12, (char *) pNUMS[iet2]); 80861c0: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 80861c4: b2db uxtb r3, r3 80861c6: 461a mov r2, r3 80861c8: 4b4e ldr r3, [pc, #312] ; (8086304 ) 80861ca: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80861ce: 461a mov r2, r3 80861d0: 21ca movs r1, #202 ; 0xca 80861d2: 20d6 movs r0, #214 ; 0xd6 80861d4: f7ce f892 bl 80542fc LCD_DisplayString(230, LCD_LINE_12, (char *) pNUMS[ies2]); 80861d8: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 80861dc: b2db uxtb r3, r3 80861de: 461a mov r2, r3 80861e0: 4b48 ldr r3, [pc, #288] ; (8086304 ) 80861e2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80861e6: 461a mov r2, r3 80861e8: 21ca movs r1, #202 ; 0xca 80861ea: 20e6 movs r0, #230 ; 0xe6 80861ec: f7ce f886 bl 80542fc LCD_DisplayString(262, LCD_LINE_12, (char *) pNUMS[iee2]); 80861f0: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 80861f4: b2db uxtb r3, r3 80861f6: 461a mov r2, r3 80861f8: 4b42 ldr r3, [pc, #264] ; (8086304 ) 80861fa: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80861fe: 461a mov r2, r3 8086200: 21ca movs r1, #202 ; 0xca 8086202: f44f 7083 mov.w r0, #262 ; 0x106 8086206: f7ce f879 bl 80542fc LCD_DisplayString(278, LCD_LINE_12, "."); 808620a: 4a40 ldr r2, [pc, #256] ; (808630c ) 808620c: 21ca movs r1, #202 ; 0xca 808620e: f44f 708b mov.w r0, #278 ; 0x116 8086212: f7ce f873 bl 80542fc LCD_DisplayString(294, LCD_LINE_12, (char *) pNUMS[ikd2]); 8086216: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 808621a: b2db uxtb r3, r3 808621c: 461a mov r2, r3 808621e: 4b39 ldr r3, [pc, #228] ; (8086304 ) 8086220: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8086224: 461a mov r2, r3 8086226: 21ca movs r1, #202 ; 0xca 8086228: f44f 7093 mov.w r0, #294 ; 0x126 808622c: f7ce f866 bl 80542fc 8086230: e0d0 b.n 80863d4 if(menupos == VibMax_IEE) 8086232: 4b31 ldr r3, [pc, #196] ; (80862f8 ) 8086234: 781b ldrb r3, [r3, #0] 8086236: b2db uxtb r3, r3 8086238: 2b0f cmp r3, #15 808623a: d169 bne.n 8086310 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808623c: 492f ldr r1, [pc, #188] ; (80862fc ) 808623e: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8086242: f7cd fab3 bl 80537ac if(blk) 8086246: 4b2e ldr r3, [pc, #184] ; (8086300 ) 8086248: 681b ldr r3, [r3, #0] 808624a: 2b00 cmp r3, #0 808624c: d00c beq.n 8086268 LCD_DisplayString(262, LCD_LINE_12, (char *) pNUMS[iee2]); 808624e: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 8086252: b2db uxtb r3, r3 8086254: 461a mov r2, r3 8086256: 4b2b ldr r3, [pc, #172] ; (8086304 ) 8086258: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808625c: 461a mov r2, r3 808625e: 21ca movs r1, #202 ; 0xca 8086260: f44f 7083 mov.w r0, #262 ; 0x106 8086264: f7ce f84a bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8086268: 4924 ldr r1, [pc, #144] ; (80862fc ) 808626a: 4827 ldr r0, [pc, #156] ; (8086308 ) 808626c: f7cd fa9e bl 80537ac LCD_DisplayString(198, LCD_LINE_12, (char *) pNUMS[idt2]); 8086270: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 8086274: b2db uxtb r3, r3 8086276: 461a mov r2, r3 8086278: 4b22 ldr r3, [pc, #136] ; (8086304 ) 808627a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808627e: 461a mov r2, r3 8086280: 21ca movs r1, #202 ; 0xca 8086282: 20c6 movs r0, #198 ; 0xc6 8086284: f7ce f83a bl 80542fc LCD_DisplayString(214, LCD_LINE_12, (char *) pNUMS[iet2]); 8086288: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 808628c: b2db uxtb r3, r3 808628e: 461a mov r2, r3 8086290: 4b1c ldr r3, [pc, #112] ; (8086304 ) 8086292: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8086296: 461a mov r2, r3 8086298: 21ca movs r1, #202 ; 0xca 808629a: 20d6 movs r0, #214 ; 0xd6 808629c: f7ce f82e bl 80542fc LCD_DisplayString(230, LCD_LINE_12, (char *) pNUMS[ies2]); 80862a0: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 80862a4: b2db uxtb r3, r3 80862a6: 461a mov r2, r3 80862a8: 4b16 ldr r3, [pc, #88] ; (8086304 ) 80862aa: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80862ae: 461a mov r2, r3 80862b0: 21ca movs r1, #202 ; 0xca 80862b2: 20e6 movs r0, #230 ; 0xe6 80862b4: f7ce f822 bl 80542fc LCD_DisplayString(246, LCD_LINE_12, (char *) pNUMS[ied2]); 80862b8: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 80862bc: b2db uxtb r3, r3 80862be: 461a mov r2, r3 80862c0: 4b10 ldr r3, [pc, #64] ; (8086304 ) 80862c2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80862c6: 461a mov r2, r3 80862c8: 21ca movs r1, #202 ; 0xca 80862ca: 20f6 movs r0, #246 ; 0xf6 80862cc: f7ce f816 bl 80542fc LCD_DisplayString(278, LCD_LINE_12, "."); 80862d0: 4a0e ldr r2, [pc, #56] ; (808630c ) 80862d2: 21ca movs r1, #202 ; 0xca 80862d4: f44f 708b mov.w r0, #278 ; 0x116 80862d8: f7ce f810 bl 80542fc LCD_DisplayString(294, LCD_LINE_12, (char *) pNUMS[ikd2]); 80862dc: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 80862e0: b2db uxtb r3, r3 80862e2: 461a mov r2, r3 80862e4: 4b07 ldr r3, [pc, #28] ; (8086304 ) 80862e6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80862ea: 461a mov r2, r3 80862ec: 21ca movs r1, #202 ; 0xca 80862ee: f44f 7093 mov.w r0, #294 ; 0x126 80862f2: f7ce f803 bl 80542fc 80862f6: e06d b.n 80863d4 80862f8: 20020070 .word 0x20020070 80862fc: ff0a0f1f .word 0xff0a0f1f 8086300: 2002165c .word 0x2002165c 8086304: 20020964 .word 0x20020964 8086308: ffd8aa57 .word 0xffd8aa57 808630c: 080cf7e8 .word 0x080cf7e8 if(menupos == VibMax_IKD) 8086310: 4b99 ldr r3, [pc, #612] ; (8086578 ) 8086312: 781b ldrb r3, [r3, #0] 8086314: b2db uxtb r3, r3 8086316: 2b10 cmp r3, #16 8086318: d15c bne.n 80863d4 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808631a: 4998 ldr r1, [pc, #608] ; (808657c ) 808631c: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8086320: f7cd fa44 bl 80537ac if(blk) 8086324: 4b96 ldr r3, [pc, #600] ; (8086580 ) 8086326: 681b ldr r3, [r3, #0] 8086328: 2b00 cmp r3, #0 808632a: d00c beq.n 8086346 LCD_DisplayString(294, LCD_LINE_12, (char *) pNUMS[ikd2]); 808632c: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 8086330: b2db uxtb r3, r3 8086332: 461a mov r2, r3 8086334: 4b93 ldr r3, [pc, #588] ; (8086584 ) 8086336: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808633a: 461a mov r2, r3 808633c: 21ca movs r1, #202 ; 0xca 808633e: f44f 7093 mov.w r0, #294 ; 0x126 8086342: f7cd ffdb bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8086346: 498d ldr r1, [pc, #564] ; (808657c ) 8086348: 488f ldr r0, [pc, #572] ; (8086588 ) 808634a: f7cd fa2f bl 80537ac LCD_DisplayString(198, LCD_LINE_12, (char *) pNUMS[idt2]); 808634e: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 8086352: b2db uxtb r3, r3 8086354: 461a mov r2, r3 8086356: 4b8b ldr r3, [pc, #556] ; (8086584 ) 8086358: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808635c: 461a mov r2, r3 808635e: 21ca movs r1, #202 ; 0xca 8086360: 20c6 movs r0, #198 ; 0xc6 8086362: f7cd ffcb bl 80542fc LCD_DisplayString(214, LCD_LINE_12, (char *) pNUMS[iet2]); 8086366: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 808636a: b2db uxtb r3, r3 808636c: 461a mov r2, r3 808636e: 4b85 ldr r3, [pc, #532] ; (8086584 ) 8086370: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8086374: 461a mov r2, r3 8086376: 21ca movs r1, #202 ; 0xca 8086378: 20d6 movs r0, #214 ; 0xd6 808637a: f7cd ffbf bl 80542fc LCD_DisplayString(230, LCD_LINE_12, (char *) pNUMS[ies2]); 808637e: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 8086382: b2db uxtb r3, r3 8086384: 461a mov r2, r3 8086386: 4b7f ldr r3, [pc, #508] ; (8086584 ) 8086388: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808638c: 461a mov r2, r3 808638e: 21ca movs r1, #202 ; 0xca 8086390: 20e6 movs r0, #230 ; 0xe6 8086392: f7cd ffb3 bl 80542fc LCD_DisplayString(246, LCD_LINE_12, (char *) pNUMS[ied2]); 8086396: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 808639a: b2db uxtb r3, r3 808639c: 461a mov r2, r3 808639e: 4b79 ldr r3, [pc, #484] ; (8086584 ) 80863a0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80863a4: 461a mov r2, r3 80863a6: 21ca movs r1, #202 ; 0xca 80863a8: 20f6 movs r0, #246 ; 0xf6 80863aa: f7cd ffa7 bl 80542fc LCD_DisplayString(262, LCD_LINE_12, (char *) pNUMS[iee2]); 80863ae: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 80863b2: b2db uxtb r3, r3 80863b4: 461a mov r2, r3 80863b6: 4b73 ldr r3, [pc, #460] ; (8086584 ) 80863b8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80863bc: 461a mov r2, r3 80863be: 21ca movs r1, #202 ; 0xca 80863c0: f44f 7083 mov.w r0, #262 ; 0x106 80863c4: f7cd ff9a bl 80542fc LCD_DisplayString(278, LCD_LINE_12, "."); 80863c8: 4a70 ldr r2, [pc, #448] ; (808658c ) 80863ca: 21ca movs r1, #202 ; 0xca 80863cc: f44f 708b mov.w r0, #278 ; 0x116 80863d0: f7cd ff94 bl 80542fc if(pardata.OPTIONS & BIT2) // Åñëè àâòîóñèëåíèå 80863d4: 4b6e ldr r3, [pc, #440] ; (8086590 ) 80863d6: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80863da: f003 0304 and.w r3, r3, #4 80863de: 2b00 cmp r3, #0 80863e0: f002 8303 beq.w 80889ea LCD_SetColors(LCD_COLOR_DARKGRAY, LCD_COLOR_BLACK); 80863e4: 4965 ldr r1, [pc, #404] ; (808657c ) 80863e6: 486b ldr r0, [pc, #428] ; (8086594 ) 80863e8: f7cd f9e0 bl 80537ac BSP_LCD_FillRect(257, CHECKBOX_LINE_11 + 2, 6, 6); 80863ec: 2306 movs r3, #6 80863ee: 2206 movs r2, #6 80863f0: 21bf movs r1, #191 ; 0xbf 80863f2: f240 1001 movw r0, #257 ; 0x101 80863f6: f7cd fe67 bl 80540c8 break; 80863fa: f002 baf6 b.w 80889ea LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80863fe: 495f ldr r1, [pc, #380] ; (808657c ) 8086400: 4865 ldr r0, [pc, #404] ; (8086598 ) 8086402: f7cd f9d3 bl 80537ac if(pardata.OPTIONS & BIT2) // åñëè àâòîóñèëåíèå 8086406: 4b62 ldr r3, [pc, #392] ; (8086590 ) 8086408: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 808640c: f003 0304 and.w r3, r3, #4 8086410: 2b00 cmp r3, #0 8086412: d02d beq.n 8086470 if(pardata.IIN != VOLTS) 8086414: 4b5e ldr r3, [pc, #376] ; (8086590 ) 8086416: 799b ldrb r3, [r3, #6] 8086418: b2db uxtb r3, r3 808641a: 2b02 cmp r3, #2 808641c: d010 beq.n 8086440 LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 808641e: 4b5c ldr r3, [pc, #368] ; (8086590 ) 8086420: 7b1b ldrb r3, [r3, #12] 8086422: b2db uxtb r3, r3 8086424: 4619 mov r1, r3 8086426: 4a5d ldr r2, [pc, #372] ; (808659c ) 8086428: 232c movs r3, #44 ; 0x2c 808642a: fb03 f301 mul.w r3, r3, r1 808642e: 4413 add r3, r2 8086430: 3324 adds r3, #36 ; 0x24 8086432: 681b ldr r3, [r3, #0] 8086434: 461a mov r2, r3 8086436: 21aa movs r1, #170 ; 0xaa 8086438: 200a movs r0, #10 808643a: f7cd ff5f bl 80542fc 808643e: e00f b.n 8086460 else LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8086440: 4b53 ldr r3, [pc, #332] ; (8086590 ) 8086442: 7b1b ldrb r3, [r3, #12] 8086444: b2db uxtb r3, r3 8086446: 4619 mov r1, r3 8086448: 4a55 ldr r2, [pc, #340] ; (80865a0 ) 808644a: 232c movs r3, #44 ; 0x2c 808644c: fb03 f301 mul.w r3, r3, r1 8086450: 4413 add r3, r2 8086452: 3324 adds r3, #36 ; 0x24 8086454: 681b ldr r3, [r3, #0] 8086456: 461a mov r2, r3 8086458: 21aa movs r1, #170 ; 0xaa 808645a: 200a movs r0, #10 808645c: f7cd ff4e bl 80542fc LCD_DisplayStringC(260, LCD_LINE_10, str); 8086460: f507 733b add.w r3, r7, #748 ; 0x2ec 8086464: 461a mov r2, r3 8086466: 21aa movs r1, #170 ; 0xaa 8086468: f44f 7082 mov.w r0, #260 ; 0x104 808646c: f7cd ff5e bl 805432c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8086470: 4942 ldr r1, [pc, #264] ; (808657c ) 8086472: f04f 30ff mov.w r0, #4294967295 8086476: f7cd f999 bl 80537ac if(pardata.LANG == RUS) 808647a: 4b45 ldr r3, [pc, #276] ; (8086590 ) 808647c: 7b1b ldrb r3, [r3, #12] 808647e: b2db uxtb r3, r3 8086480: 2b00 cmp r3, #0 8086482: d119 bne.n 80864b8 LCD_DisplayString(10, LCD_LINE_4, "Âåëè÷èíà"); 8086484: 4a47 ldr r2, [pc, #284] ; (80865a4 ) 8086486: 214a movs r1, #74 ; 0x4a 8086488: 200a movs r0, #10 808648a: f7cd ff37 bl 80542fc LCD_DisplayString(10, LCD_LINE_5, "Ôèëüòð Â×(Ãö)"); 808648e: 4a46 ldr r2, [pc, #280] ; (80865a8 ) 8086490: 215a movs r1, #90 ; 0x5a 8086492: 200a movs r0, #10 8086494: f7cd ff32 bl 80542fc LCD_DisplayString(10, LCD_LINE_6, "Ôèëüòð Í×(Ãö)"); 8086498: 4a44 ldr r2, [pc, #272] ; (80865ac ) 808649a: 216a movs r1, #106 ; 0x6a 808649c: 200a movs r0, #10 808649e: f7cd ff2d bl 80542fc LCD_DisplayString(10, LCD_LINE_7, "Ìàñøòàá ïî Y"); 80864a2: 4a43 ldr r2, [pc, #268] ; (80865b0 ) 80864a4: 217a movs r1, #122 ; 0x7a 80864a6: 200a movs r0, #10 80864a8: f7cd ff28 bl 80542fc LCD_DisplayString(10, LCD_LINE_8, "Âðåìåííîé èíòåðâàë"); 80864ac: 4a41 ldr r2, [pc, #260] ; (80865b4 ) 80864ae: 218a movs r1, #138 ; 0x8a 80864b0: 200a movs r0, #10 80864b2: f7cd ff23 bl 80542fc 80864b6: e018 b.n 80864ea LCD_DisplayString(10, LCD_LINE_4, "Parameter"); 80864b8: 4a3f ldr r2, [pc, #252] ; (80865b8 ) 80864ba: 214a movs r1, #74 ; 0x4a 80864bc: 200a movs r0, #10 80864be: f7cd ff1d bl 80542fc LCD_DisplayString(10, LCD_LINE_5, "HPF(Hz)"); 80864c2: 4a3e ldr r2, [pc, #248] ; (80865bc ) 80864c4: 215a movs r1, #90 ; 0x5a 80864c6: 200a movs r0, #10 80864c8: f7cd ff18 bl 80542fc LCD_DisplayString(10, LCD_LINE_6, "LPF(Hz)"); 80864cc: 4a3c ldr r2, [pc, #240] ; (80865c0 ) 80864ce: 216a movs r1, #106 ; 0x6a 80864d0: 200a movs r0, #10 80864d2: f7cd ff13 bl 80542fc LCD_DisplayString(10, LCD_LINE_7, "Scale Y"); 80864d6: 4a3b ldr r2, [pc, #236] ; (80865c4 ) 80864d8: 217a movs r1, #122 ; 0x7a 80864da: 200a movs r0, #10 80864dc: f7cd ff0e bl 80542fc LCD_DisplayString(10, LCD_LINE_8, "Time period"); 80864e0: 4a39 ldr r2, [pc, #228] ; (80865c8 ) 80864e2: 218a movs r1, #138 ; 0x8a 80864e4: 200a movs r0, #10 80864e6: f7cd ff09 bl 80542fc LCD_DisplayString(10, LCD_LINE_9, (char *) TEXT_PARAM_VIB[pardata.LANG][8]);//"Óñèëåíèå" 80864ea: 4b29 ldr r3, [pc, #164] ; (8086590 ) 80864ec: 7b1b ldrb r3, [r3, #12] 80864ee: b2db uxtb r3, r3 80864f0: 4619 mov r1, r3 80864f2: 4a2a ldr r2, [pc, #168] ; (808659c ) 80864f4: 232c movs r3, #44 ; 0x2c 80864f6: fb03 f301 mul.w r3, r3, r1 80864fa: 4413 add r3, r2 80864fc: 3320 adds r3, #32 80864fe: 681b ldr r3, [r3, #0] 8086500: 461a mov r2, r3 8086502: 219a movs r1, #154 ; 0x9a 8086504: 200a movs r0, #10 8086506: f7cd fef9 bl 80542fc BSP_LCD_FillRect(255, CHECKBOX_LINE_9, 10, 10); 808650a: 230a movs r3, #10 808650c: 220a movs r2, #10 808650e: 219d movs r1, #157 ; 0x9d 8086510: 20ff movs r0, #255 ; 0xff 8086512: f7cd fdd9 bl 80540c8 if(menupos == Ok) 8086516: 4b18 ldr r3, [pc, #96] ; (8086578 ) 8086518: 781b ldrb r3, [r3, #0] 808651a: b2db uxtb r3, r3 808651c: 2b00 cmp r3, #0 808651e: f040 8100 bne.w 8086722 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8086522: 4916 ldr r1, [pc, #88] ; (808657c ) 8086524: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8086528: f7cd f940 bl 80537ac LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]);//"Äàëåå" 808652c: 4b18 ldr r3, [pc, #96] ; (8086590 ) 808652e: 7b1b ldrb r3, [r3, #12] 8086530: b2db uxtb r3, r3 8086532: 461a mov r2, r3 8086534: 4b25 ldr r3, [pc, #148] ; (80865cc ) 8086536: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808653a: 461a mov r2, r3 808653c: 2127 movs r1, #39 ; 0x27 808653e: 200a movs r0, #10 8086540: f7cd fedc bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8086544: 490d ldr r1, [pc, #52] ; (808657c ) 8086546: 4810 ldr r0, [pc, #64] ; (8086588 ) 8086548: f7cd f930 bl 80537ac if((pardata.OPTIONS & maskFFT) == okt) 808654c: 4b10 ldr r3, [pc, #64] ; (8086590 ) 808654e: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8086552: f003 0330 and.w r3, r3, #48 ; 0x30 8086556: 2b20 cmp r3, #32 8086558: d13c bne.n 80865d4 LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][2]); 808655a: 4b0d ldr r3, [pc, #52] ; (8086590 ) 808655c: 7b1b ldrb r3, [r3, #12] 808655e: b2db uxtb r3, r3 8086560: 4a1b ldr r2, [pc, #108] ; (80865d0 ) 8086562: 011b lsls r3, r3, #4 8086564: 4413 add r3, r2 8086566: 3308 adds r3, #8 8086568: 681b ldr r3, [r3, #0] 808656a: 461a mov r2, r3 808656c: 213a movs r1, #58 ; 0x3a 808656e: f44f 7082 mov.w r0, #260 ; 0x104 8086572: f7cd fedb bl 805432c 8086576: e03b b.n 80865f0 8086578: 20020070 .word 0x20020070 808657c: ff0a0f1f .word 0xff0a0f1f 8086580: 2002165c .word 0x2002165c 8086584: 20020964 .word 0x20020964 8086588: ffd8aa57 .word 0xffd8aa57 808658c: 080cf7e8 .word 0x080cf7e8 8086590: 20023e60 .word 0x20023e60 8086594: ff404040 .word 0xff404040 8086598: ff808080 .word 0xff808080 808659c: 200206b4 .word 0x200206b4 80865a0: 2002070c .word 0x2002070c 80865a4: 080cf728 .word 0x080cf728 80865a8: 080cf1d0 .word 0x080cf1d0 80865ac: 080cf1e0 .word 0x080cf1e0 80865b0: 080d0060 .word 0x080d0060 80865b4: 080cf214 .word 0x080cf214 80865b8: 080cf734 .word 0x080cf734 80865bc: 080cf280 .word 0x080cf280 80865c0: 080cf288 .word 0x080cf288 80865c4: 080d0080 .word 0x080d0080 80865c8: 080cf2a8 .word 0x080cf2a8 80865cc: 200205c4 .word 0x200205c4 80865d0: 2002029c .word 0x2002029c else LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][3]); 80865d4: 4b83 ldr r3, [pc, #524] ; (80867e4 ) 80865d6: 7b1b ldrb r3, [r3, #12] 80865d8: b2db uxtb r3, r3 80865da: 4a83 ldr r2, [pc, #524] ; (80867e8 ) 80865dc: 011b lsls r3, r3, #4 80865de: 4413 add r3, r2 80865e0: 330c adds r3, #12 80865e2: 681b ldr r3, [r3, #0] 80865e4: 461a mov r2, r3 80865e6: 213a movs r1, #58 ; 0x3a 80865e8: f44f 7082 mov.w r0, #260 ; 0x104 80865ec: f7cd fe9e bl 805432c LCD_DisplayStringC(260, LCD_LINE_7, (char *) pMSH[pardata.LANG][pardata.MSH]); 80865f0: 4b7c ldr r3, [pc, #496] ; (80867e4 ) 80865f2: 7b1b ldrb r3, [r3, #12] 80865f4: b2db uxtb r3, r3 80865f6: 4618 mov r0, r3 80865f8: 4b7a ldr r3, [pc, #488] ; (80867e4 ) 80865fa: 7a9b ldrb r3, [r3, #10] 80865fc: b2db uxtb r3, r3 80865fe: 4619 mov r1, r3 8086600: 4a7a ldr r2, [pc, #488] ; (80867ec ) 8086602: 0043 lsls r3, r0, #1 8086604: 440b add r3, r1 8086606: f852 3023 ldr.w r3, [r2, r3, lsl #2] 808660a: 461a mov r2, r3 808660c: 217a movs r1, #122 ; 0x7a 808660e: f44f 7082 mov.w r0, #260 ; 0x104 8086612: f7cd fe8b bl 805432c LCD_DisplayStringC(260, LCD_LINE_8, (char *) pAVERAGE_SEC[pardata.LANG][pardata.AVG]); 8086616: 4b73 ldr r3, [pc, #460] ; (80867e4 ) 8086618: 7b1b ldrb r3, [r3, #12] 808661a: b2db uxtb r3, r3 808661c: 4619 mov r1, r3 808661e: 4b71 ldr r3, [pc, #452] ; (80867e4 ) 8086620: 7b5b ldrb r3, [r3, #13] 8086622: b2db uxtb r3, r3 8086624: 4618 mov r0, r3 8086626: 4a72 ldr r2, [pc, #456] ; (80867f0 ) 8086628: 460b mov r3, r1 808662a: 009b lsls r3, r3, #2 808662c: 440b add r3, r1 808662e: 005b lsls r3, r3, #1 8086630: 4403 add r3, r0 8086632: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8086636: 461a mov r2, r3 8086638: 218a movs r1, #138 ; 0x8a 808663a: f44f 7082 mov.w r0, #260 ; 0x104 808663e: f7cd fe75 bl 805432c LCD_DisplayStringC(260, LCD_LINE_4, (char *) pIPR_OKT[pardata.LANG][(pardata.IPR << 1) | pardata.IVS[pardata.IPR]]); 8086642: 4b68 ldr r3, [pc, #416] ; (80867e4 ) 8086644: 7b1b ldrb r3, [r3, #12] 8086646: b2db uxtb r3, r3 8086648: 4618 mov r0, r3 808664a: 4b66 ldr r3, [pc, #408] ; (80867e4 ) 808664c: 785b ldrb r3, [r3, #1] 808664e: b2db uxtb r3, r3 8086650: 005b lsls r3, r3, #1 8086652: 4a64 ldr r2, [pc, #400] ; (80867e4 ) 8086654: 7852 ldrb r2, [r2, #1] 8086656: b2d2 uxtb r2, r2 8086658: 4611 mov r1, r2 808665a: 4a62 ldr r2, [pc, #392] ; (80867e4 ) 808665c: 440a add r2, r1 808665e: 7892 ldrb r2, [r2, #2] 8086660: b2d2 uxtb r2, r2 8086662: 431a orrs r2, r3 8086664: 4963 ldr r1, [pc, #396] ; (80867f4 ) 8086666: 4603 mov r3, r0 8086668: 005b lsls r3, r3, #1 808666a: 4403 add r3, r0 808666c: 005b lsls r3, r3, #1 808666e: 4413 add r3, r2 8086670: f851 3023 ldr.w r3, [r1, r3, lsl #2] 8086674: 461a mov r2, r3 8086676: 214a movs r1, #74 ; 0x4a 8086678: f44f 7082 mov.w r0, #260 ; 0x104 808667c: f7cd fe56 bl 805432c LCD_DisplayStringC(260, LCD_LINE_5, strHP); 8086680: f507 73d2 add.w r3, r7, #420 ; 0x1a4 8086684: 461a mov r2, r3 8086686: 215a movs r1, #90 ; 0x5a 8086688: f44f 7082 mov.w r0, #260 ; 0x104 808668c: f7cd fe4e bl 805432c LCD_DisplayStringC(260, LCD_LINE_6, strLP); 8086690: f507 73cc add.w r3, r7, #408 ; 0x198 8086694: 461a mov r2, r3 8086696: 216a movs r1, #106 ; 0x6a 8086698: f44f 7082 mov.w r0, #260 ; 0x104 808669c: f7cd fe46 bl 805432c if((pardata.OPTIONS & BIT2) == 0) // åñëè àâòîóñèëåíèå 80866a0: 4b50 ldr r3, [pc, #320] ; (80867e4 ) 80866a2: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80866a6: f003 0304 and.w r3, r3, #4 80866aa: 2b00 cmp r3, #0 80866ac: f042 818a bne.w 80889c4 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80866b0: 4951 ldr r1, [pc, #324] ; (80867f8 ) 80866b2: f04f 30ff mov.w r0, #4294967295 80866b6: f7cd f879 bl 80537ac if(pardata.IIN != VOLTS) 80866ba: 4b4a ldr r3, [pc, #296] ; (80867e4 ) 80866bc: 799b ldrb r3, [r3, #6] 80866be: b2db uxtb r3, r3 80866c0: 2b02 cmp r3, #2 80866c2: d010 beq.n 80866e6 LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 80866c4: 4b47 ldr r3, [pc, #284] ; (80867e4 ) 80866c6: 7b1b ldrb r3, [r3, #12] 80866c8: b2db uxtb r3, r3 80866ca: 4619 mov r1, r3 80866cc: 4a4b ldr r2, [pc, #300] ; (80867fc ) 80866ce: 232c movs r3, #44 ; 0x2c 80866d0: fb03 f301 mul.w r3, r3, r1 80866d4: 4413 add r3, r2 80866d6: 3324 adds r3, #36 ; 0x24 80866d8: 681b ldr r3, [r3, #0] 80866da: 461a mov r2, r3 80866dc: 21aa movs r1, #170 ; 0xaa 80866de: 200a movs r0, #10 80866e0: f7cd fe0c bl 80542fc 80866e4: e00f b.n 8086706 else LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ìV" 80866e6: 4b3f ldr r3, [pc, #252] ; (80867e4 ) 80866e8: 7b1b ldrb r3, [r3, #12] 80866ea: b2db uxtb r3, r3 80866ec: 4619 mov r1, r3 80866ee: 4a44 ldr r2, [pc, #272] ; (8086800 ) 80866f0: 232c movs r3, #44 ; 0x2c 80866f2: fb03 f301 mul.w r3, r3, r1 80866f6: 4413 add r3, r2 80866f8: 3324 adds r3, #36 ; 0x24 80866fa: 681b ldr r3, [r3, #0] 80866fc: 461a mov r2, r3 80866fe: 21aa movs r1, #170 ; 0xaa 8086700: 200a movs r0, #10 8086702: f7cd fdfb bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8086706: 493c ldr r1, [pc, #240] ; (80867f8 ) 8086708: 483e ldr r0, [pc, #248] ; (8086804 ) 808670a: f7cd f84f bl 80537ac LCD_DisplayStringC(260, LCD_LINE_10, str); 808670e: f507 733b add.w r3, r7, #748 ; 0x2ec 8086712: 461a mov r2, r3 8086714: 21aa movs r1, #170 ; 0xaa 8086716: f44f 7082 mov.w r0, #260 ; 0x104 808671a: f7cd fe07 bl 805432c 808671e: f002 b951 b.w 80889c4 if(menupos == SpecType) 8086722: 4b39 ldr r3, [pc, #228] ; (8086808 ) 8086724: 781b ldrb r3, [r3, #0] 8086726: b2db uxtb r3, r3 8086728: 2b01 cmp r3, #1 808672a: f040 8120 bne.w 808696e LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808672e: 4932 ldr r1, [pc, #200] ; (80867f8 ) 8086730: f04f 30ff mov.w r0, #4294967295 8086734: f7cd f83a bl 80537ac LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]);//"Äàëåå" 8086738: 4b2a ldr r3, [pc, #168] ; (80867e4 ) 808673a: 7b1b ldrb r3, [r3, #12] 808673c: b2db uxtb r3, r3 808673e: 461a mov r2, r3 8086740: 4b32 ldr r3, [pc, #200] ; (808680c ) 8086742: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8086746: 461a mov r2, r3 8086748: 2127 movs r1, #39 ; 0x27 808674a: 200a movs r0, #10 808674c: f7cd fdd6 bl 80542fc LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8086750: 4929 ldr r1, [pc, #164] ; (80867f8 ) 8086752: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8086756: f7cd f829 bl 80537ac if(focused) 808675a: 4b2d ldr r3, [pc, #180] ; (8086810 ) 808675c: 781b ldrb r3, [r3, #0] 808675e: b2db uxtb r3, r3 8086760: 2b00 cmp r3, #0 8086762: d028 beq.n 80867b6 if(blk) 8086764: 4b2b ldr r3, [pc, #172] ; (8086814 ) 8086766: 681b ldr r3, [r3, #0] 8086768: 2b00 cmp r3, #0 808676a: d063 beq.n 8086834 if((pardata.OPTIONS & maskFFT) == okt) 808676c: 4b1d ldr r3, [pc, #116] ; (80867e4 ) 808676e: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8086772: f003 0330 and.w r3, r3, #48 ; 0x30 8086776: 2b20 cmp r3, #32 8086778: d10e bne.n 8086798 LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][2]); 808677a: 4b1a ldr r3, [pc, #104] ; (80867e4 ) 808677c: 7b1b ldrb r3, [r3, #12] 808677e: b2db uxtb r3, r3 8086780: 4a19 ldr r2, [pc, #100] ; (80867e8 ) 8086782: 011b lsls r3, r3, #4 8086784: 4413 add r3, r2 8086786: 3308 adds r3, #8 8086788: 681b ldr r3, [r3, #0] 808678a: 461a mov r2, r3 808678c: 213a movs r1, #58 ; 0x3a 808678e: f44f 7082 mov.w r0, #260 ; 0x104 8086792: f7cd fdcb bl 805432c 8086796: e04d b.n 8086834 else LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][3]); 8086798: 4b12 ldr r3, [pc, #72] ; (80867e4 ) 808679a: 7b1b ldrb r3, [r3, #12] 808679c: b2db uxtb r3, r3 808679e: 4a12 ldr r2, [pc, #72] ; (80867e8 ) 80867a0: 011b lsls r3, r3, #4 80867a2: 4413 add r3, r2 80867a4: 330c adds r3, #12 80867a6: 681b ldr r3, [r3, #0] 80867a8: 461a mov r2, r3 80867aa: 213a movs r1, #58 ; 0x3a 80867ac: f44f 7082 mov.w r0, #260 ; 0x104 80867b0: f7cd fdbc bl 805432c 80867b4: e03e b.n 8086834 if((pardata.OPTIONS & maskFFT) == okt) 80867b6: 4b0b ldr r3, [pc, #44] ; (80867e4 ) 80867b8: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80867bc: f003 0330 and.w r3, r3, #48 ; 0x30 80867c0: 2b20 cmp r3, #32 80867c2: d129 bne.n 8086818 LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][2]); 80867c4: 4b07 ldr r3, [pc, #28] ; (80867e4 ) 80867c6: 7b1b ldrb r3, [r3, #12] 80867c8: b2db uxtb r3, r3 80867ca: 4a07 ldr r2, [pc, #28] ; (80867e8 ) 80867cc: 011b lsls r3, r3, #4 80867ce: 4413 add r3, r2 80867d0: 3308 adds r3, #8 80867d2: 681b ldr r3, [r3, #0] 80867d4: 461a mov r2, r3 80867d6: 213a movs r1, #58 ; 0x3a 80867d8: f44f 7082 mov.w r0, #260 ; 0x104 80867dc: f7cd fda6 bl 805432c 80867e0: e028 b.n 8086834 80867e2: bf00 nop 80867e4: 20023e60 .word 0x20023e60 80867e8: 2002029c .word 0x2002029c 80867ec: 20020214 .word 0x20020214 80867f0: 2002024c .word 0x2002024c 80867f4: 2002019c .word 0x2002019c 80867f8: ff0a0f1f .word 0xff0a0f1f 80867fc: 200206b4 .word 0x200206b4 8086800: 2002070c .word 0x2002070c 8086804: ffd8aa57 .word 0xffd8aa57 8086808: 20020070 .word 0x20020070 808680c: 200205c4 .word 0x200205c4 8086810: 20020f84 .word 0x20020f84 8086814: 2002165c .word 0x2002165c else LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][3]); 8086818: 4b94 ldr r3, [pc, #592] ; (8086a6c ) 808681a: 7b1b ldrb r3, [r3, #12] 808681c: b2db uxtb r3, r3 808681e: 4a94 ldr r2, [pc, #592] ; (8086a70 ) 8086820: 011b lsls r3, r3, #4 8086822: 4413 add r3, r2 8086824: 330c adds r3, #12 8086826: 681b ldr r3, [r3, #0] 8086828: 461a mov r2, r3 808682a: 213a movs r1, #58 ; 0x3a 808682c: f44f 7082 mov.w r0, #260 ; 0x104 8086830: f7cd fd7c bl 805432c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8086834: 498f ldr r1, [pc, #572] ; (8086a74 ) 8086836: 4890 ldr r0, [pc, #576] ; (8086a78 ) 8086838: f7cc ffb8 bl 80537ac LCD_DisplayStringC(260, LCD_LINE_7, (char *) pMSH[pardata.LANG][pardata.MSH]); 808683c: 4b8b ldr r3, [pc, #556] ; (8086a6c ) 808683e: 7b1b ldrb r3, [r3, #12] 8086840: b2db uxtb r3, r3 8086842: 4618 mov r0, r3 8086844: 4b89 ldr r3, [pc, #548] ; (8086a6c ) 8086846: 7a9b ldrb r3, [r3, #10] 8086848: b2db uxtb r3, r3 808684a: 4619 mov r1, r3 808684c: 4a8b ldr r2, [pc, #556] ; (8086a7c ) 808684e: 0043 lsls r3, r0, #1 8086850: 440b add r3, r1 8086852: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8086856: 461a mov r2, r3 8086858: 217a movs r1, #122 ; 0x7a 808685a: f44f 7082 mov.w r0, #260 ; 0x104 808685e: f7cd fd65 bl 805432c LCD_DisplayStringC(260, LCD_LINE_8, (char *) pAVERAGE_SEC[pardata.LANG][pardata.AVG]); 8086862: 4b82 ldr r3, [pc, #520] ; (8086a6c ) 8086864: 7b1b ldrb r3, [r3, #12] 8086866: b2db uxtb r3, r3 8086868: 4619 mov r1, r3 808686a: 4b80 ldr r3, [pc, #512] ; (8086a6c ) 808686c: 7b5b ldrb r3, [r3, #13] 808686e: b2db uxtb r3, r3 8086870: 4618 mov r0, r3 8086872: 4a83 ldr r2, [pc, #524] ; (8086a80 ) 8086874: 460b mov r3, r1 8086876: 009b lsls r3, r3, #2 8086878: 440b add r3, r1 808687a: 005b lsls r3, r3, #1 808687c: 4403 add r3, r0 808687e: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8086882: 461a mov r2, r3 8086884: 218a movs r1, #138 ; 0x8a 8086886: f44f 7082 mov.w r0, #260 ; 0x104 808688a: f7cd fd4f bl 805432c LCD_DisplayStringC(260, LCD_LINE_4, (char *) pIPR_OKT[pardata.LANG][(pardata.IPR << 1) | pardata.IVS[pardata.IPR]]); 808688e: 4b77 ldr r3, [pc, #476] ; (8086a6c ) 8086890: 7b1b ldrb r3, [r3, #12] 8086892: b2db uxtb r3, r3 8086894: 4618 mov r0, r3 8086896: 4b75 ldr r3, [pc, #468] ; (8086a6c ) 8086898: 785b ldrb r3, [r3, #1] 808689a: b2db uxtb r3, r3 808689c: 005b lsls r3, r3, #1 808689e: 4a73 ldr r2, [pc, #460] ; (8086a6c ) 80868a0: 7852 ldrb r2, [r2, #1] 80868a2: b2d2 uxtb r2, r2 80868a4: 4611 mov r1, r2 80868a6: 4a71 ldr r2, [pc, #452] ; (8086a6c ) 80868a8: 440a add r2, r1 80868aa: 7892 ldrb r2, [r2, #2] 80868ac: b2d2 uxtb r2, r2 80868ae: 431a orrs r2, r3 80868b0: 4974 ldr r1, [pc, #464] ; (8086a84 ) 80868b2: 4603 mov r3, r0 80868b4: 005b lsls r3, r3, #1 80868b6: 4403 add r3, r0 80868b8: 005b lsls r3, r3, #1 80868ba: 4413 add r3, r2 80868bc: f851 3023 ldr.w r3, [r1, r3, lsl #2] 80868c0: 461a mov r2, r3 80868c2: 214a movs r1, #74 ; 0x4a 80868c4: f44f 7082 mov.w r0, #260 ; 0x104 80868c8: f7cd fd30 bl 805432c LCD_DisplayStringC(260, LCD_LINE_5, strHP); 80868cc: f507 73d2 add.w r3, r7, #420 ; 0x1a4 80868d0: 461a mov r2, r3 80868d2: 215a movs r1, #90 ; 0x5a 80868d4: f44f 7082 mov.w r0, #260 ; 0x104 80868d8: f7cd fd28 bl 805432c LCD_DisplayStringC(260, LCD_LINE_6, strLP); 80868dc: f507 73cc add.w r3, r7, #408 ; 0x198 80868e0: 461a mov r2, r3 80868e2: 216a movs r1, #106 ; 0x6a 80868e4: f44f 7082 mov.w r0, #260 ; 0x104 80868e8: f7cd fd20 bl 805432c if((pardata.OPTIONS & BIT2) == 0) // åñëè àâòîóñèëåíèå 80868ec: 4b5f ldr r3, [pc, #380] ; (8086a6c ) 80868ee: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80868f2: f003 0304 and.w r3, r3, #4 80868f6: 2b00 cmp r3, #0 80868f8: f042 8064 bne.w 80889c4 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80868fc: 495d ldr r1, [pc, #372] ; (8086a74 ) 80868fe: f04f 30ff mov.w r0, #4294967295 8086902: f7cc ff53 bl 80537ac if(pardata.IIN != VOLTS) 8086906: 4b59 ldr r3, [pc, #356] ; (8086a6c ) 8086908: 799b ldrb r3, [r3, #6] 808690a: b2db uxtb r3, r3 808690c: 2b02 cmp r3, #2 808690e: d010 beq.n 8086932 LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8086910: 4b56 ldr r3, [pc, #344] ; (8086a6c ) 8086912: 7b1b ldrb r3, [r3, #12] 8086914: b2db uxtb r3, r3 8086916: 4619 mov r1, r3 8086918: 4a5b ldr r2, [pc, #364] ; (8086a88 ) 808691a: 232c movs r3, #44 ; 0x2c 808691c: fb03 f301 mul.w r3, r3, r1 8086920: 4413 add r3, r2 8086922: 3324 adds r3, #36 ; 0x24 8086924: 681b ldr r3, [r3, #0] 8086926: 461a mov r2, r3 8086928: 21aa movs r1, #170 ; 0xaa 808692a: 200a movs r0, #10 808692c: f7cd fce6 bl 80542fc 8086930: e00f b.n 8086952 else LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ìV" 8086932: 4b4e ldr r3, [pc, #312] ; (8086a6c ) 8086934: 7b1b ldrb r3, [r3, #12] 8086936: b2db uxtb r3, r3 8086938: 4619 mov r1, r3 808693a: 4a54 ldr r2, [pc, #336] ; (8086a8c ) 808693c: 232c movs r3, #44 ; 0x2c 808693e: fb03 f301 mul.w r3, r3, r1 8086942: 4413 add r3, r2 8086944: 3324 adds r3, #36 ; 0x24 8086946: 681b ldr r3, [r3, #0] 8086948: 461a mov r2, r3 808694a: 21aa movs r1, #170 ; 0xaa 808694c: 200a movs r0, #10 808694e: f7cd fcd5 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8086952: 4948 ldr r1, [pc, #288] ; (8086a74 ) 8086954: 4848 ldr r0, [pc, #288] ; (8086a78 ) 8086956: f7cc ff29 bl 80537ac LCD_DisplayStringC(260, LCD_LINE_10, str); 808695a: f507 733b add.w r3, r7, #748 ; 0x2ec 808695e: 461a mov r2, r3 8086960: 21aa movs r1, #170 ; 0xaa 8086962: f44f 7082 mov.w r0, #260 ; 0x104 8086966: f7cd fce1 bl 805432c 808696a: f002 b82b b.w 80889c4 if(menupos == SpecValue) 808696e: 4b48 ldr r3, [pc, #288] ; (8086a90 ) 8086970: 781b ldrb r3, [r3, #0] 8086972: b2db uxtb r3, r3 8086974: 2b02 cmp r3, #2 8086976: f040 811b bne.w 8086bb0 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808697a: 493e ldr r1, [pc, #248] ; (8086a74 ) 808697c: f04f 30ff mov.w r0, #4294967295 8086980: f7cc ff14 bl 80537ac LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]);//"Äàëåå" 8086984: 4b39 ldr r3, [pc, #228] ; (8086a6c ) 8086986: 7b1b ldrb r3, [r3, #12] 8086988: b2db uxtb r3, r3 808698a: 461a mov r2, r3 808698c: 4b41 ldr r3, [pc, #260] ; (8086a94 ) 808698e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8086992: 461a mov r2, r3 8086994: 2127 movs r1, #39 ; 0x27 8086996: 200a movs r0, #10 8086998: f7cd fcb0 bl 80542fc LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808699c: 4935 ldr r1, [pc, #212] ; (8086a74 ) 808699e: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80869a2: f7cc ff03 bl 80537ac if(focused) 80869a6: 4b3c ldr r3, [pc, #240] ; (8086a98 ) 80869a8: 781b ldrb r3, [r3, #0] 80869aa: b2db uxtb r3, r3 80869ac: 2b00 cmp r3, #0 80869ae: d023 beq.n 80869f8 if(blk) 80869b0: 4b3a ldr r3, [pc, #232] ; (8086a9c ) 80869b2: 681b ldr r3, [r3, #0] 80869b4: 2b00 cmp r3, #0 80869b6: d03e beq.n 8086a36 LCD_DisplayStringC(260, LCD_LINE_4, (char *) pIPR_OKT[pardata.LANG][(pardata.IPR << 1) | pardata.IVS[pardata.IPR]]); 80869b8: 4b2c ldr r3, [pc, #176] ; (8086a6c ) 80869ba: 7b1b ldrb r3, [r3, #12] 80869bc: b2db uxtb r3, r3 80869be: 4618 mov r0, r3 80869c0: 4b2a ldr r3, [pc, #168] ; (8086a6c ) 80869c2: 785b ldrb r3, [r3, #1] 80869c4: b2db uxtb r3, r3 80869c6: 005b lsls r3, r3, #1 80869c8: 4a28 ldr r2, [pc, #160] ; (8086a6c ) 80869ca: 7852 ldrb r2, [r2, #1] 80869cc: b2d2 uxtb r2, r2 80869ce: 4611 mov r1, r2 80869d0: 4a26 ldr r2, [pc, #152] ; (8086a6c ) 80869d2: 440a add r2, r1 80869d4: 7892 ldrb r2, [r2, #2] 80869d6: b2d2 uxtb r2, r2 80869d8: 431a orrs r2, r3 80869da: 492a ldr r1, [pc, #168] ; (8086a84 ) 80869dc: 4603 mov r3, r0 80869de: 005b lsls r3, r3, #1 80869e0: 4403 add r3, r0 80869e2: 005b lsls r3, r3, #1 80869e4: 4413 add r3, r2 80869e6: f851 3023 ldr.w r3, [r1, r3, lsl #2] 80869ea: 461a mov r2, r3 80869ec: 214a movs r1, #74 ; 0x4a 80869ee: f44f 7082 mov.w r0, #260 ; 0x104 80869f2: f7cd fc9b bl 805432c 80869f6: e01e b.n 8086a36 LCD_DisplayStringC(260, LCD_LINE_4, (char *) pIPR_OKT[pardata.LANG][(pardata.IPR << 1) | pardata.IVS[pardata.IPR]]); 80869f8: 4b1c ldr r3, [pc, #112] ; (8086a6c ) 80869fa: 7b1b ldrb r3, [r3, #12] 80869fc: b2db uxtb r3, r3 80869fe: 4618 mov r0, r3 8086a00: 4b1a ldr r3, [pc, #104] ; (8086a6c ) 8086a02: 785b ldrb r3, [r3, #1] 8086a04: b2db uxtb r3, r3 8086a06: 005b lsls r3, r3, #1 8086a08: 4a18 ldr r2, [pc, #96] ; (8086a6c ) 8086a0a: 7852 ldrb r2, [r2, #1] 8086a0c: b2d2 uxtb r2, r2 8086a0e: 4611 mov r1, r2 8086a10: 4a16 ldr r2, [pc, #88] ; (8086a6c ) 8086a12: 440a add r2, r1 8086a14: 7892 ldrb r2, [r2, #2] 8086a16: b2d2 uxtb r2, r2 8086a18: 431a orrs r2, r3 8086a1a: 491a ldr r1, [pc, #104] ; (8086a84 ) 8086a1c: 4603 mov r3, r0 8086a1e: 005b lsls r3, r3, #1 8086a20: 4403 add r3, r0 8086a22: 005b lsls r3, r3, #1 8086a24: 4413 add r3, r2 8086a26: f851 3023 ldr.w r3, [r1, r3, lsl #2] 8086a2a: 461a mov r2, r3 8086a2c: 214a movs r1, #74 ; 0x4a 8086a2e: f44f 7082 mov.w r0, #260 ; 0x104 8086a32: f7cd fc7b bl 805432c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8086a36: 490f ldr r1, [pc, #60] ; (8086a74 ) 8086a38: 480f ldr r0, [pc, #60] ; (8086a78 ) 8086a3a: f7cc feb7 bl 80537ac if((pardata.OPTIONS & maskFFT) == okt) 8086a3e: 4b0b ldr r3, [pc, #44] ; (8086a6c ) 8086a40: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8086a44: f003 0330 and.w r3, r3, #48 ; 0x30 8086a48: 2b20 cmp r3, #32 8086a4a: d129 bne.n 8086aa0 LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][2]); 8086a4c: 4b07 ldr r3, [pc, #28] ; (8086a6c ) 8086a4e: 7b1b ldrb r3, [r3, #12] 8086a50: b2db uxtb r3, r3 8086a52: 4a07 ldr r2, [pc, #28] ; (8086a70 ) 8086a54: 011b lsls r3, r3, #4 8086a56: 4413 add r3, r2 8086a58: 3308 adds r3, #8 8086a5a: 681b ldr r3, [r3, #0] 8086a5c: 461a mov r2, r3 8086a5e: 213a movs r1, #58 ; 0x3a 8086a60: f44f 7082 mov.w r0, #260 ; 0x104 8086a64: f7cd fc62 bl 805432c 8086a68: e028 b.n 8086abc 8086a6a: bf00 nop 8086a6c: 20023e60 .word 0x20023e60 8086a70: 2002029c .word 0x2002029c 8086a74: ff0a0f1f .word 0xff0a0f1f 8086a78: ffd8aa57 .word 0xffd8aa57 8086a7c: 20020214 .word 0x20020214 8086a80: 2002024c .word 0x2002024c 8086a84: 2002019c .word 0x2002019c 8086a88: 200206b4 .word 0x200206b4 8086a8c: 2002070c .word 0x2002070c 8086a90: 20020070 .word 0x20020070 8086a94: 200205c4 .word 0x200205c4 8086a98: 20020f84 .word 0x20020f84 8086a9c: 2002165c .word 0x2002165c else LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][3]); 8086aa0: 4bb2 ldr r3, [pc, #712] ; (8086d6c ) 8086aa2: 7b1b ldrb r3, [r3, #12] 8086aa4: b2db uxtb r3, r3 8086aa6: 4ab2 ldr r2, [pc, #712] ; (8086d70 ) 8086aa8: 011b lsls r3, r3, #4 8086aaa: 4413 add r3, r2 8086aac: 330c adds r3, #12 8086aae: 681b ldr r3, [r3, #0] 8086ab0: 461a mov r2, r3 8086ab2: 213a movs r1, #58 ; 0x3a 8086ab4: f44f 7082 mov.w r0, #260 ; 0x104 8086ab8: f7cd fc38 bl 805432c LCD_DisplayStringC(260, LCD_LINE_5, strHP); 8086abc: f507 73d2 add.w r3, r7, #420 ; 0x1a4 8086ac0: 461a mov r2, r3 8086ac2: 215a movs r1, #90 ; 0x5a 8086ac4: f44f 7082 mov.w r0, #260 ; 0x104 8086ac8: f7cd fc30 bl 805432c LCD_DisplayStringC(260, LCD_LINE_6, strLP); 8086acc: f507 73cc add.w r3, r7, #408 ; 0x198 8086ad0: 461a mov r2, r3 8086ad2: 216a movs r1, #106 ; 0x6a 8086ad4: f44f 7082 mov.w r0, #260 ; 0x104 8086ad8: f7cd fc28 bl 805432c LCD_DisplayStringC(260, LCD_LINE_7, (char *) pMSH[pardata.LANG][pardata.MSH]); 8086adc: 4ba3 ldr r3, [pc, #652] ; (8086d6c ) 8086ade: 7b1b ldrb r3, [r3, #12] 8086ae0: b2db uxtb r3, r3 8086ae2: 4618 mov r0, r3 8086ae4: 4ba1 ldr r3, [pc, #644] ; (8086d6c ) 8086ae6: 7a9b ldrb r3, [r3, #10] 8086ae8: b2db uxtb r3, r3 8086aea: 4619 mov r1, r3 8086aec: 4aa1 ldr r2, [pc, #644] ; (8086d74 ) 8086aee: 0043 lsls r3, r0, #1 8086af0: 440b add r3, r1 8086af2: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8086af6: 461a mov r2, r3 8086af8: 217a movs r1, #122 ; 0x7a 8086afa: f44f 7082 mov.w r0, #260 ; 0x104 8086afe: f7cd fc15 bl 805432c LCD_DisplayStringC(260, LCD_LINE_8, (char *) pAVERAGE_SEC[pardata.LANG][pardata.AVG]); 8086b02: 4b9a ldr r3, [pc, #616] ; (8086d6c ) 8086b04: 7b1b ldrb r3, [r3, #12] 8086b06: b2db uxtb r3, r3 8086b08: 4619 mov r1, r3 8086b0a: 4b98 ldr r3, [pc, #608] ; (8086d6c ) 8086b0c: 7b5b ldrb r3, [r3, #13] 8086b0e: b2db uxtb r3, r3 8086b10: 4618 mov r0, r3 8086b12: 4a99 ldr r2, [pc, #612] ; (8086d78 ) 8086b14: 460b mov r3, r1 8086b16: 009b lsls r3, r3, #2 8086b18: 440b add r3, r1 8086b1a: 005b lsls r3, r3, #1 8086b1c: 4403 add r3, r0 8086b1e: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8086b22: 461a mov r2, r3 8086b24: 218a movs r1, #138 ; 0x8a 8086b26: f44f 7082 mov.w r0, #260 ; 0x104 8086b2a: f7cd fbff bl 805432c if((pardata.OPTIONS & BIT2) == 0) // åñëè àâòîóñèëåíèå 8086b2e: 4b8f ldr r3, [pc, #572] ; (8086d6c ) 8086b30: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8086b34: f003 0304 and.w r3, r3, #4 8086b38: 2b00 cmp r3, #0 8086b3a: f041 8743 bne.w 80889c4 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8086b3e: 498f ldr r1, [pc, #572] ; (8086d7c ) 8086b40: f04f 30ff mov.w r0, #4294967295 8086b44: f7cc fe32 bl 80537ac if(pardata.IIN != VOLTS) 8086b48: 4b88 ldr r3, [pc, #544] ; (8086d6c ) 8086b4a: 799b ldrb r3, [r3, #6] 8086b4c: b2db uxtb r3, r3 8086b4e: 2b02 cmp r3, #2 8086b50: d010 beq.n 8086b74 LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8086b52: 4b86 ldr r3, [pc, #536] ; (8086d6c ) 8086b54: 7b1b ldrb r3, [r3, #12] 8086b56: b2db uxtb r3, r3 8086b58: 4619 mov r1, r3 8086b5a: 4a89 ldr r2, [pc, #548] ; (8086d80 ) 8086b5c: 232c movs r3, #44 ; 0x2c 8086b5e: fb03 f301 mul.w r3, r3, r1 8086b62: 4413 add r3, r2 8086b64: 3324 adds r3, #36 ; 0x24 8086b66: 681b ldr r3, [r3, #0] 8086b68: 461a mov r2, r3 8086b6a: 21aa movs r1, #170 ; 0xaa 8086b6c: 200a movs r0, #10 8086b6e: f7cd fbc5 bl 80542fc 8086b72: e00f b.n 8086b94 else LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ìV" 8086b74: 4b7d ldr r3, [pc, #500] ; (8086d6c ) 8086b76: 7b1b ldrb r3, [r3, #12] 8086b78: b2db uxtb r3, r3 8086b7a: 4619 mov r1, r3 8086b7c: 4a81 ldr r2, [pc, #516] ; (8086d84 ) 8086b7e: 232c movs r3, #44 ; 0x2c 8086b80: fb03 f301 mul.w r3, r3, r1 8086b84: 4413 add r3, r2 8086b86: 3324 adds r3, #36 ; 0x24 8086b88: 681b ldr r3, [r3, #0] 8086b8a: 461a mov r2, r3 8086b8c: 21aa movs r1, #170 ; 0xaa 8086b8e: 200a movs r0, #10 8086b90: f7cd fbb4 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8086b94: 4979 ldr r1, [pc, #484] ; (8086d7c ) 8086b96: 487c ldr r0, [pc, #496] ; (8086d88 ) 8086b98: f7cc fe08 bl 80537ac LCD_DisplayStringC(260, LCD_LINE_10, str); 8086b9c: f507 733b add.w r3, r7, #748 ; 0x2ec 8086ba0: 461a mov r2, r3 8086ba2: 21aa movs r1, #170 ; 0xaa 8086ba4: f44f 7082 mov.w r0, #260 ; 0x104 8086ba8: f7cd fbc0 bl 805432c 8086bac: f001 bf0a b.w 80889c4 if(menupos == FilterHP) 8086bb0: 4b76 ldr r3, [pc, #472] ; (8086d8c ) 8086bb2: 781b ldrb r3, [r3, #0] 8086bb4: b2db uxtb r3, r3 8086bb6: 2b17 cmp r3, #23 8086bb8: f040 80ee bne.w 8086d98 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8086bbc: 496f ldr r1, [pc, #444] ; (8086d7c ) 8086bbe: f04f 30ff mov.w r0, #4294967295 8086bc2: f7cc fdf3 bl 80537ac LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]);//"Äàëåå" 8086bc6: 4b69 ldr r3, [pc, #420] ; (8086d6c ) 8086bc8: 7b1b ldrb r3, [r3, #12] 8086bca: b2db uxtb r3, r3 8086bcc: 461a mov r2, r3 8086bce: 4b70 ldr r3, [pc, #448] ; (8086d90 ) 8086bd0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8086bd4: 461a mov r2, r3 8086bd6: 2127 movs r1, #39 ; 0x27 8086bd8: 200a movs r0, #10 8086bda: f7cd fb8f bl 80542fc LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8086bde: 4967 ldr r1, [pc, #412] ; (8086d7c ) 8086be0: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8086be4: f7cc fde2 bl 80537ac LCD_DisplayStringC(260, LCD_LINE_5, strHP); 8086be8: f507 73d2 add.w r3, r7, #420 ; 0x1a4 8086bec: 461a mov r2, r3 8086bee: 215a movs r1, #90 ; 0x5a 8086bf0: f44f 7082 mov.w r0, #260 ; 0x104 8086bf4: f7cd fb9a bl 805432c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8086bf8: 4960 ldr r1, [pc, #384] ; (8086d7c ) 8086bfa: 4863 ldr r0, [pc, #396] ; (8086d88 ) 8086bfc: f7cc fdd6 bl 80537ac if((pardata.OPTIONS & maskFFT) == okt) 8086c00: 4b5a ldr r3, [pc, #360] ; (8086d6c ) 8086c02: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8086c06: f003 0330 and.w r3, r3, #48 ; 0x30 8086c0a: 2b20 cmp r3, #32 8086c0c: d10e bne.n 8086c2c LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][2]); 8086c0e: 4b57 ldr r3, [pc, #348] ; (8086d6c ) 8086c10: 7b1b ldrb r3, [r3, #12] 8086c12: b2db uxtb r3, r3 8086c14: 4a56 ldr r2, [pc, #344] ; (8086d70 ) 8086c16: 011b lsls r3, r3, #4 8086c18: 4413 add r3, r2 8086c1a: 3308 adds r3, #8 8086c1c: 681b ldr r3, [r3, #0] 8086c1e: 461a mov r2, r3 8086c20: 213a movs r1, #58 ; 0x3a 8086c22: f44f 7082 mov.w r0, #260 ; 0x104 8086c26: f7cd fb81 bl 805432c 8086c2a: e00d b.n 8086c48 else LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][3]); 8086c2c: 4b4f ldr r3, [pc, #316] ; (8086d6c ) 8086c2e: 7b1b ldrb r3, [r3, #12] 8086c30: b2db uxtb r3, r3 8086c32: 4a4f ldr r2, [pc, #316] ; (8086d70 ) 8086c34: 011b lsls r3, r3, #4 8086c36: 4413 add r3, r2 8086c38: 330c adds r3, #12 8086c3a: 681b ldr r3, [r3, #0] 8086c3c: 461a mov r2, r3 8086c3e: 213a movs r1, #58 ; 0x3a 8086c40: f44f 7082 mov.w r0, #260 ; 0x104 8086c44: f7cd fb72 bl 805432c LCD_DisplayStringC(260, LCD_LINE_4, (char *) pIPR_OKT[pardata.LANG][(pardata.IPR << 1) | pardata.IVS[pardata.IPR]]); 8086c48: 4b48 ldr r3, [pc, #288] ; (8086d6c ) 8086c4a: 7b1b ldrb r3, [r3, #12] 8086c4c: b2db uxtb r3, r3 8086c4e: 4618 mov r0, r3 8086c50: 4b46 ldr r3, [pc, #280] ; (8086d6c ) 8086c52: 785b ldrb r3, [r3, #1] 8086c54: b2db uxtb r3, r3 8086c56: 005b lsls r3, r3, #1 8086c58: 4a44 ldr r2, [pc, #272] ; (8086d6c ) 8086c5a: 7852 ldrb r2, [r2, #1] 8086c5c: b2d2 uxtb r2, r2 8086c5e: 4611 mov r1, r2 8086c60: 4a42 ldr r2, [pc, #264] ; (8086d6c ) 8086c62: 440a add r2, r1 8086c64: 7892 ldrb r2, [r2, #2] 8086c66: b2d2 uxtb r2, r2 8086c68: 431a orrs r2, r3 8086c6a: 494a ldr r1, [pc, #296] ; (8086d94 ) 8086c6c: 4603 mov r3, r0 8086c6e: 005b lsls r3, r3, #1 8086c70: 4403 add r3, r0 8086c72: 005b lsls r3, r3, #1 8086c74: 4413 add r3, r2 8086c76: f851 3023 ldr.w r3, [r1, r3, lsl #2] 8086c7a: 461a mov r2, r3 8086c7c: 214a movs r1, #74 ; 0x4a 8086c7e: f44f 7082 mov.w r0, #260 ; 0x104 8086c82: f7cd fb53 bl 805432c LCD_DisplayStringC(260, LCD_LINE_6, strLP); 8086c86: f507 73cc add.w r3, r7, #408 ; 0x198 8086c8a: 461a mov r2, r3 8086c8c: 216a movs r1, #106 ; 0x6a 8086c8e: f44f 7082 mov.w r0, #260 ; 0x104 8086c92: f7cd fb4b bl 805432c LCD_DisplayStringC(260, LCD_LINE_7, (char *) pMSH[pardata.LANG][pardata.MSH]); 8086c96: 4b35 ldr r3, [pc, #212] ; (8086d6c ) 8086c98: 7b1b ldrb r3, [r3, #12] 8086c9a: b2db uxtb r3, r3 8086c9c: 4618 mov r0, r3 8086c9e: 4b33 ldr r3, [pc, #204] ; (8086d6c ) 8086ca0: 7a9b ldrb r3, [r3, #10] 8086ca2: b2db uxtb r3, r3 8086ca4: 4619 mov r1, r3 8086ca6: 4a33 ldr r2, [pc, #204] ; (8086d74 ) 8086ca8: 0043 lsls r3, r0, #1 8086caa: 440b add r3, r1 8086cac: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8086cb0: 461a mov r2, r3 8086cb2: 217a movs r1, #122 ; 0x7a 8086cb4: f44f 7082 mov.w r0, #260 ; 0x104 8086cb8: f7cd fb38 bl 805432c LCD_DisplayStringC(260, LCD_LINE_8, (char *) pAVERAGE_SEC[pardata.LANG][pardata.AVG]); 8086cbc: 4b2b ldr r3, [pc, #172] ; (8086d6c ) 8086cbe: 7b1b ldrb r3, [r3, #12] 8086cc0: b2db uxtb r3, r3 8086cc2: 4619 mov r1, r3 8086cc4: 4b29 ldr r3, [pc, #164] ; (8086d6c ) 8086cc6: 7b5b ldrb r3, [r3, #13] 8086cc8: b2db uxtb r3, r3 8086cca: 4618 mov r0, r3 8086ccc: 4a2a ldr r2, [pc, #168] ; (8086d78 ) 8086cce: 460b mov r3, r1 8086cd0: 009b lsls r3, r3, #2 8086cd2: 440b add r3, r1 8086cd4: 005b lsls r3, r3, #1 8086cd6: 4403 add r3, r0 8086cd8: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8086cdc: 461a mov r2, r3 8086cde: 218a movs r1, #138 ; 0x8a 8086ce0: f44f 7082 mov.w r0, #260 ; 0x104 8086ce4: f7cd fb22 bl 805432c if((pardata.OPTIONS & BIT2) == 0) // åñëè àâòîóñèëåíèå 8086ce8: 4b20 ldr r3, [pc, #128] ; (8086d6c ) 8086cea: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8086cee: f003 0304 and.w r3, r3, #4 8086cf2: 2b00 cmp r3, #0 8086cf4: f041 8666 bne.w 80889c4 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8086cf8: 4920 ldr r1, [pc, #128] ; (8086d7c ) 8086cfa: f04f 30ff mov.w r0, #4294967295 8086cfe: f7cc fd55 bl 80537ac if(pardata.IIN != VOLTS) 8086d02: 4b1a ldr r3, [pc, #104] ; (8086d6c ) 8086d04: 799b ldrb r3, [r3, #6] 8086d06: b2db uxtb r3, r3 8086d08: 2b02 cmp r3, #2 8086d0a: d010 beq.n 8086d2e LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8086d0c: 4b17 ldr r3, [pc, #92] ; (8086d6c ) 8086d0e: 7b1b ldrb r3, [r3, #12] 8086d10: b2db uxtb r3, r3 8086d12: 4619 mov r1, r3 8086d14: 4a1a ldr r2, [pc, #104] ; (8086d80 ) 8086d16: 232c movs r3, #44 ; 0x2c 8086d18: fb03 f301 mul.w r3, r3, r1 8086d1c: 4413 add r3, r2 8086d1e: 3324 adds r3, #36 ; 0x24 8086d20: 681b ldr r3, [r3, #0] 8086d22: 461a mov r2, r3 8086d24: 21aa movs r1, #170 ; 0xaa 8086d26: 200a movs r0, #10 8086d28: f7cd fae8 bl 80542fc 8086d2c: e00f b.n 8086d4e else LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ìV" 8086d2e: 4b0f ldr r3, [pc, #60] ; (8086d6c ) 8086d30: 7b1b ldrb r3, [r3, #12] 8086d32: b2db uxtb r3, r3 8086d34: 4619 mov r1, r3 8086d36: 4a13 ldr r2, [pc, #76] ; (8086d84 ) 8086d38: 232c movs r3, #44 ; 0x2c 8086d3a: fb03 f301 mul.w r3, r3, r1 8086d3e: 4413 add r3, r2 8086d40: 3324 adds r3, #36 ; 0x24 8086d42: 681b ldr r3, [r3, #0] 8086d44: 461a mov r2, r3 8086d46: 21aa movs r1, #170 ; 0xaa 8086d48: 200a movs r0, #10 8086d4a: f7cd fad7 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8086d4e: 490b ldr r1, [pc, #44] ; (8086d7c ) 8086d50: 480d ldr r0, [pc, #52] ; (8086d88 ) 8086d52: f7cc fd2b bl 80537ac LCD_DisplayStringC(260, LCD_LINE_10, str); 8086d56: f507 733b add.w r3, r7, #748 ; 0x2ec 8086d5a: 461a mov r2, r3 8086d5c: 21aa movs r1, #170 ; 0xaa 8086d5e: f44f 7082 mov.w r0, #260 ; 0x104 8086d62: f7cd fae3 bl 805432c 8086d66: f001 be2d b.w 80889c4 8086d6a: bf00 nop 8086d6c: 20023e60 .word 0x20023e60 8086d70: 2002029c .word 0x2002029c 8086d74: 20020214 .word 0x20020214 8086d78: 2002024c .word 0x2002024c 8086d7c: ff0a0f1f .word 0xff0a0f1f 8086d80: 200206b4 .word 0x200206b4 8086d84: 2002070c .word 0x2002070c 8086d88: ffd8aa57 .word 0xffd8aa57 8086d8c: 20020070 .word 0x20020070 8086d90: 200205c4 .word 0x200205c4 8086d94: 2002019c .word 0x2002019c if(menupos == FilterLP) 8086d98: 4ba1 ldr r3, [pc, #644] ; (8087020 ) 8086d9a: 781b ldrb r3, [r3, #0] 8086d9c: b2db uxtb r3, r3 8086d9e: 2b18 cmp r3, #24 8086da0: f040 80d7 bne.w 8086f52 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8086da4: 499f ldr r1, [pc, #636] ; (8087024 ) 8086da6: f04f 30ff mov.w r0, #4294967295 8086daa: f7cc fcff bl 80537ac LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]);//"Äàëåå" 8086dae: 4b9e ldr r3, [pc, #632] ; (8087028 ) 8086db0: 7b1b ldrb r3, [r3, #12] 8086db2: b2db uxtb r3, r3 8086db4: 461a mov r2, r3 8086db6: 4b9d ldr r3, [pc, #628] ; (808702c ) 8086db8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8086dbc: 461a mov r2, r3 8086dbe: 2127 movs r1, #39 ; 0x27 8086dc0: 200a movs r0, #10 8086dc2: f7cd fa9b bl 80542fc LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8086dc6: 4997 ldr r1, [pc, #604] ; (8087024 ) 8086dc8: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8086dcc: f7cc fcee bl 80537ac LCD_DisplayStringC(260, LCD_LINE_6, strLP); 8086dd0: f507 73cc add.w r3, r7, #408 ; 0x198 8086dd4: 461a mov r2, r3 8086dd6: 216a movs r1, #106 ; 0x6a 8086dd8: f44f 7082 mov.w r0, #260 ; 0x104 8086ddc: f7cd faa6 bl 805432c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8086de0: 4990 ldr r1, [pc, #576] ; (8087024 ) 8086de2: 4893 ldr r0, [pc, #588] ; (8087030 ) 8086de4: f7cc fce2 bl 80537ac if((pardata.OPTIONS & maskFFT) == okt) 8086de8: 4b8f ldr r3, [pc, #572] ; (8087028 ) 8086dea: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8086dee: f003 0330 and.w r3, r3, #48 ; 0x30 8086df2: 2b20 cmp r3, #32 8086df4: d10e bne.n 8086e14 LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][2]); 8086df6: 4b8c ldr r3, [pc, #560] ; (8087028 ) 8086df8: 7b1b ldrb r3, [r3, #12] 8086dfa: b2db uxtb r3, r3 8086dfc: 4a8d ldr r2, [pc, #564] ; (8087034 ) 8086dfe: 011b lsls r3, r3, #4 8086e00: 4413 add r3, r2 8086e02: 3308 adds r3, #8 8086e04: 681b ldr r3, [r3, #0] 8086e06: 461a mov r2, r3 8086e08: 213a movs r1, #58 ; 0x3a 8086e0a: f44f 7082 mov.w r0, #260 ; 0x104 8086e0e: f7cd fa8d bl 805432c 8086e12: e00d b.n 8086e30 else LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][3]); 8086e14: 4b84 ldr r3, [pc, #528] ; (8087028 ) 8086e16: 7b1b ldrb r3, [r3, #12] 8086e18: b2db uxtb r3, r3 8086e1a: 4a86 ldr r2, [pc, #536] ; (8087034 ) 8086e1c: 011b lsls r3, r3, #4 8086e1e: 4413 add r3, r2 8086e20: 330c adds r3, #12 8086e22: 681b ldr r3, [r3, #0] 8086e24: 461a mov r2, r3 8086e26: 213a movs r1, #58 ; 0x3a 8086e28: f44f 7082 mov.w r0, #260 ; 0x104 8086e2c: f7cd fa7e bl 805432c LCD_DisplayStringC(260, LCD_LINE_4, (char *) pIPR_OKT[pardata.LANG][(pardata.IPR << 1) | pardata.IVS[pardata.IPR]]); 8086e30: 4b7d ldr r3, [pc, #500] ; (8087028 ) 8086e32: 7b1b ldrb r3, [r3, #12] 8086e34: b2db uxtb r3, r3 8086e36: 4618 mov r0, r3 8086e38: 4b7b ldr r3, [pc, #492] ; (8087028 ) 8086e3a: 785b ldrb r3, [r3, #1] 8086e3c: b2db uxtb r3, r3 8086e3e: 005b lsls r3, r3, #1 8086e40: 4a79 ldr r2, [pc, #484] ; (8087028 ) 8086e42: 7852 ldrb r2, [r2, #1] 8086e44: b2d2 uxtb r2, r2 8086e46: 4611 mov r1, r2 8086e48: 4a77 ldr r2, [pc, #476] ; (8087028 ) 8086e4a: 440a add r2, r1 8086e4c: 7892 ldrb r2, [r2, #2] 8086e4e: b2d2 uxtb r2, r2 8086e50: 431a orrs r2, r3 8086e52: 4979 ldr r1, [pc, #484] ; (8087038 ) 8086e54: 4603 mov r3, r0 8086e56: 005b lsls r3, r3, #1 8086e58: 4403 add r3, r0 8086e5a: 005b lsls r3, r3, #1 8086e5c: 4413 add r3, r2 8086e5e: f851 3023 ldr.w r3, [r1, r3, lsl #2] 8086e62: 461a mov r2, r3 8086e64: 214a movs r1, #74 ; 0x4a 8086e66: f44f 7082 mov.w r0, #260 ; 0x104 8086e6a: f7cd fa5f bl 805432c LCD_DisplayStringC(260, LCD_LINE_5, strHP); 8086e6e: f507 73d2 add.w r3, r7, #420 ; 0x1a4 8086e72: 461a mov r2, r3 8086e74: 215a movs r1, #90 ; 0x5a 8086e76: f44f 7082 mov.w r0, #260 ; 0x104 8086e7a: f7cd fa57 bl 805432c LCD_DisplayStringC(260, LCD_LINE_7, (char *) pMSH[pardata.LANG][pardata.MSH]); 8086e7e: 4b6a ldr r3, [pc, #424] ; (8087028 ) 8086e80: 7b1b ldrb r3, [r3, #12] 8086e82: b2db uxtb r3, r3 8086e84: 4618 mov r0, r3 8086e86: 4b68 ldr r3, [pc, #416] ; (8087028 ) 8086e88: 7a9b ldrb r3, [r3, #10] 8086e8a: b2db uxtb r3, r3 8086e8c: 4619 mov r1, r3 8086e8e: 4a6b ldr r2, [pc, #428] ; (808703c ) 8086e90: 0043 lsls r3, r0, #1 8086e92: 440b add r3, r1 8086e94: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8086e98: 461a mov r2, r3 8086e9a: 217a movs r1, #122 ; 0x7a 8086e9c: f44f 7082 mov.w r0, #260 ; 0x104 8086ea0: f7cd fa44 bl 805432c LCD_DisplayStringC(260, LCD_LINE_8, (char *) pAVERAGE_SEC[pardata.LANG][pardata.AVG]); 8086ea4: 4b60 ldr r3, [pc, #384] ; (8087028 ) 8086ea6: 7b1b ldrb r3, [r3, #12] 8086ea8: b2db uxtb r3, r3 8086eaa: 4619 mov r1, r3 8086eac: 4b5e ldr r3, [pc, #376] ; (8087028 ) 8086eae: 7b5b ldrb r3, [r3, #13] 8086eb0: b2db uxtb r3, r3 8086eb2: 4618 mov r0, r3 8086eb4: 4a62 ldr r2, [pc, #392] ; (8087040 ) 8086eb6: 460b mov r3, r1 8086eb8: 009b lsls r3, r3, #2 8086eba: 440b add r3, r1 8086ebc: 005b lsls r3, r3, #1 8086ebe: 4403 add r3, r0 8086ec0: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8086ec4: 461a mov r2, r3 8086ec6: 218a movs r1, #138 ; 0x8a 8086ec8: f44f 7082 mov.w r0, #260 ; 0x104 8086ecc: f7cd fa2e bl 805432c if((pardata.OPTIONS & BIT2) == 0) // åñëè àâòîóñèëåíèå 8086ed0: 4b55 ldr r3, [pc, #340] ; (8087028 ) 8086ed2: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8086ed6: f003 0304 and.w r3, r3, #4 8086eda: 2b00 cmp r3, #0 8086edc: f041 8572 bne.w 80889c4 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8086ee0: 4950 ldr r1, [pc, #320] ; (8087024 ) 8086ee2: f04f 30ff mov.w r0, #4294967295 8086ee6: f7cc fc61 bl 80537ac if(pardata.IIN != VOLTS) 8086eea: 4b4f ldr r3, [pc, #316] ; (8087028 ) 8086eec: 799b ldrb r3, [r3, #6] 8086eee: b2db uxtb r3, r3 8086ef0: 2b02 cmp r3, #2 8086ef2: d010 beq.n 8086f16 LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8086ef4: 4b4c ldr r3, [pc, #304] ; (8087028 ) 8086ef6: 7b1b ldrb r3, [r3, #12] 8086ef8: b2db uxtb r3, r3 8086efa: 4619 mov r1, r3 8086efc: 4a51 ldr r2, [pc, #324] ; (8087044 ) 8086efe: 232c movs r3, #44 ; 0x2c 8086f00: fb03 f301 mul.w r3, r3, r1 8086f04: 4413 add r3, r2 8086f06: 3324 adds r3, #36 ; 0x24 8086f08: 681b ldr r3, [r3, #0] 8086f0a: 461a mov r2, r3 8086f0c: 21aa movs r1, #170 ; 0xaa 8086f0e: 200a movs r0, #10 8086f10: f7cd f9f4 bl 80542fc 8086f14: e00f b.n 8086f36 else LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ìV" 8086f16: 4b44 ldr r3, [pc, #272] ; (8087028 ) 8086f18: 7b1b ldrb r3, [r3, #12] 8086f1a: b2db uxtb r3, r3 8086f1c: 4619 mov r1, r3 8086f1e: 4a4a ldr r2, [pc, #296] ; (8087048 ) 8086f20: 232c movs r3, #44 ; 0x2c 8086f22: fb03 f301 mul.w r3, r3, r1 8086f26: 4413 add r3, r2 8086f28: 3324 adds r3, #36 ; 0x24 8086f2a: 681b ldr r3, [r3, #0] 8086f2c: 461a mov r2, r3 8086f2e: 21aa movs r1, #170 ; 0xaa 8086f30: 200a movs r0, #10 8086f32: f7cd f9e3 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8086f36: 493b ldr r1, [pc, #236] ; (8087024 ) 8086f38: 483d ldr r0, [pc, #244] ; (8087030 ) 8086f3a: f7cc fc37 bl 80537ac LCD_DisplayStringC(260, LCD_LINE_10, str); 8086f3e: f507 733b add.w r3, r7, #748 ; 0x2ec 8086f42: 461a mov r2, r3 8086f44: 21aa movs r1, #170 ; 0xaa 8086f46: f44f 7082 mov.w r0, #260 ; 0x104 8086f4a: f7cd f9ef bl 805432c 8086f4e: f001 bd39 b.w 80889c4 if(menupos == LinLog) 8086f52: 4b33 ldr r3, [pc, #204] ; (8087020 ) 8086f54: 781b ldrb r3, [r3, #0] 8086f56: b2db uxtb r3, r3 8086f58: 2b05 cmp r3, #5 8086f5a: f040 810f bne.w 808717c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8086f5e: 4931 ldr r1, [pc, #196] ; (8087024 ) 8086f60: f04f 30ff mov.w r0, #4294967295 8086f64: f7cc fc22 bl 80537ac LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]);//"Äàëåå" 8086f68: 4b2f ldr r3, [pc, #188] ; (8087028 ) 8086f6a: 7b1b ldrb r3, [r3, #12] 8086f6c: b2db uxtb r3, r3 8086f6e: 461a mov r2, r3 8086f70: 4b2e ldr r3, [pc, #184] ; (808702c ) 8086f72: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8086f76: 461a mov r2, r3 8086f78: 2127 movs r1, #39 ; 0x27 8086f7a: 200a movs r0, #10 8086f7c: f7cd f9be bl 80542fc LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8086f80: 4928 ldr r1, [pc, #160] ; (8087024 ) 8086f82: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8086f86: f7cc fc11 bl 80537ac if(focused) 8086f8a: 4b30 ldr r3, [pc, #192] ; (808704c ) 8086f8c: 781b ldrb r3, [r3, #0] 8086f8e: b2db uxtb r3, r3 8086f90: 2b00 cmp r3, #0 8086f92: d017 beq.n 8086fc4 if(blk) 8086f94: 4b2e ldr r3, [pc, #184] ; (8087050 ) 8086f96: 681b ldr r3, [r3, #0] 8086f98: 2b00 cmp r3, #0 8086f9a: d026 beq.n 8086fea LCD_DisplayStringC(260, LCD_LINE_7, (char *) pMSH[pardata.LANG][pardata.MSH]); 8086f9c: 4b22 ldr r3, [pc, #136] ; (8087028 ) 8086f9e: 7b1b ldrb r3, [r3, #12] 8086fa0: b2db uxtb r3, r3 8086fa2: 4618 mov r0, r3 8086fa4: 4b20 ldr r3, [pc, #128] ; (8087028 ) 8086fa6: 7a9b ldrb r3, [r3, #10] 8086fa8: b2db uxtb r3, r3 8086faa: 4619 mov r1, r3 8086fac: 4a23 ldr r2, [pc, #140] ; (808703c ) 8086fae: 0043 lsls r3, r0, #1 8086fb0: 440b add r3, r1 8086fb2: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8086fb6: 461a mov r2, r3 8086fb8: 217a movs r1, #122 ; 0x7a 8086fba: f44f 7082 mov.w r0, #260 ; 0x104 8086fbe: f7cd f9b5 bl 805432c 8086fc2: e012 b.n 8086fea LCD_DisplayStringC(260, LCD_LINE_7, (char *) pMSH[pardata.LANG][pardata.MSH]); 8086fc4: 4b18 ldr r3, [pc, #96] ; (8087028 ) 8086fc6: 7b1b ldrb r3, [r3, #12] 8086fc8: b2db uxtb r3, r3 8086fca: 4618 mov r0, r3 8086fcc: 4b16 ldr r3, [pc, #88] ; (8087028 ) 8086fce: 7a9b ldrb r3, [r3, #10] 8086fd0: b2db uxtb r3, r3 8086fd2: 4619 mov r1, r3 8086fd4: 4a19 ldr r2, [pc, #100] ; (808703c ) 8086fd6: 0043 lsls r3, r0, #1 8086fd8: 440b add r3, r1 8086fda: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8086fde: 461a mov r2, r3 8086fe0: 217a movs r1, #122 ; 0x7a 8086fe2: f44f 7082 mov.w r0, #260 ; 0x104 8086fe6: f7cd f9a1 bl 805432c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8086fea: 490e ldr r1, [pc, #56] ; (8087024 ) 8086fec: 4810 ldr r0, [pc, #64] ; (8087030 ) 8086fee: f7cc fbdd bl 80537ac if((pardata.OPTIONS & maskFFT) == okt) 8086ff2: 4b0d ldr r3, [pc, #52] ; (8087028 ) 8086ff4: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8086ff8: f003 0330 and.w r3, r3, #48 ; 0x30 8086ffc: 2b20 cmp r3, #32 8086ffe: d129 bne.n 8087054 LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][2]); 8087000: 4b09 ldr r3, [pc, #36] ; (8087028 ) 8087002: 7b1b ldrb r3, [r3, #12] 8087004: b2db uxtb r3, r3 8087006: 4a0b ldr r2, [pc, #44] ; (8087034 ) 8087008: 011b lsls r3, r3, #4 808700a: 4413 add r3, r2 808700c: 3308 adds r3, #8 808700e: 681b ldr r3, [r3, #0] 8087010: 461a mov r2, r3 8087012: 213a movs r1, #58 ; 0x3a 8087014: f44f 7082 mov.w r0, #260 ; 0x104 8087018: f7cd f988 bl 805432c 808701c: e028 b.n 8087070 808701e: bf00 nop 8087020: 20020070 .word 0x20020070 8087024: ff0a0f1f .word 0xff0a0f1f 8087028: 20023e60 .word 0x20023e60 808702c: 200205c4 .word 0x200205c4 8087030: ffd8aa57 .word 0xffd8aa57 8087034: 2002029c .word 0x2002029c 8087038: 2002019c .word 0x2002019c 808703c: 20020214 .word 0x20020214 8087040: 2002024c .word 0x2002024c 8087044: 200206b4 .word 0x200206b4 8087048: 2002070c .word 0x2002070c 808704c: 20020f84 .word 0x20020f84 8087050: 2002165c .word 0x2002165c else LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][3]); 8087054: 4bc8 ldr r3, [pc, #800] ; (8087378 ) 8087056: 7b1b ldrb r3, [r3, #12] 8087058: b2db uxtb r3, r3 808705a: 4ac8 ldr r2, [pc, #800] ; (808737c ) 808705c: 011b lsls r3, r3, #4 808705e: 4413 add r3, r2 8087060: 330c adds r3, #12 8087062: 681b ldr r3, [r3, #0] 8087064: 461a mov r2, r3 8087066: 213a movs r1, #58 ; 0x3a 8087068: f44f 7082 mov.w r0, #260 ; 0x104 808706c: f7cd f95e bl 805432c LCD_DisplayStringC(260, LCD_LINE_4, (char *) pIPR_OKT[pardata.LANG][(pardata.IPR << 1) | pardata.IVS[pardata.IPR]]); 8087070: 4bc1 ldr r3, [pc, #772] ; (8087378 ) 8087072: 7b1b ldrb r3, [r3, #12] 8087074: b2db uxtb r3, r3 8087076: 4618 mov r0, r3 8087078: 4bbf ldr r3, [pc, #764] ; (8087378 ) 808707a: 785b ldrb r3, [r3, #1] 808707c: b2db uxtb r3, r3 808707e: 005b lsls r3, r3, #1 8087080: 4abd ldr r2, [pc, #756] ; (8087378 ) 8087082: 7852 ldrb r2, [r2, #1] 8087084: b2d2 uxtb r2, r2 8087086: 4611 mov r1, r2 8087088: 4abb ldr r2, [pc, #748] ; (8087378 ) 808708a: 440a add r2, r1 808708c: 7892 ldrb r2, [r2, #2] 808708e: b2d2 uxtb r2, r2 8087090: 431a orrs r2, r3 8087092: 49bb ldr r1, [pc, #748] ; (8087380 ) 8087094: 4603 mov r3, r0 8087096: 005b lsls r3, r3, #1 8087098: 4403 add r3, r0 808709a: 005b lsls r3, r3, #1 808709c: 4413 add r3, r2 808709e: f851 3023 ldr.w r3, [r1, r3, lsl #2] 80870a2: 461a mov r2, r3 80870a4: 214a movs r1, #74 ; 0x4a 80870a6: f44f 7082 mov.w r0, #260 ; 0x104 80870aa: f7cd f93f bl 805432c LCD_DisplayStringC(260, LCD_LINE_5, strHP); 80870ae: f507 73d2 add.w r3, r7, #420 ; 0x1a4 80870b2: 461a mov r2, r3 80870b4: 215a movs r1, #90 ; 0x5a 80870b6: f44f 7082 mov.w r0, #260 ; 0x104 80870ba: f7cd f937 bl 805432c LCD_DisplayStringC(260, LCD_LINE_6, strLP); 80870be: f507 73cc add.w r3, r7, #408 ; 0x198 80870c2: 461a mov r2, r3 80870c4: 216a movs r1, #106 ; 0x6a 80870c6: f44f 7082 mov.w r0, #260 ; 0x104 80870ca: f7cd f92f bl 805432c LCD_DisplayStringC(260, LCD_LINE_8, (char *) pAVERAGE_SEC[pardata.LANG][pardata.AVG]); 80870ce: 4baa ldr r3, [pc, #680] ; (8087378 ) 80870d0: 7b1b ldrb r3, [r3, #12] 80870d2: b2db uxtb r3, r3 80870d4: 4619 mov r1, r3 80870d6: 4ba8 ldr r3, [pc, #672] ; (8087378 ) 80870d8: 7b5b ldrb r3, [r3, #13] 80870da: b2db uxtb r3, r3 80870dc: 4618 mov r0, r3 80870de: 4aa9 ldr r2, [pc, #676] ; (8087384 ) 80870e0: 460b mov r3, r1 80870e2: 009b lsls r3, r3, #2 80870e4: 440b add r3, r1 80870e6: 005b lsls r3, r3, #1 80870e8: 4403 add r3, r0 80870ea: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80870ee: 461a mov r2, r3 80870f0: 218a movs r1, #138 ; 0x8a 80870f2: f44f 7082 mov.w r0, #260 ; 0x104 80870f6: f7cd f919 bl 805432c if((pardata.OPTIONS & BIT2) == 0) // åñëè àâòîóñèëåíèå 80870fa: 4b9f ldr r3, [pc, #636] ; (8087378 ) 80870fc: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8087100: f003 0304 and.w r3, r3, #4 8087104: 2b00 cmp r3, #0 8087106: f041 845d bne.w 80889c4 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808710a: 499f ldr r1, [pc, #636] ; (8087388 ) 808710c: f04f 30ff mov.w r0, #4294967295 8087110: f7cc fb4c bl 80537ac if(pardata.IIN != VOLTS) 8087114: 4b98 ldr r3, [pc, #608] ; (8087378 ) 8087116: 799b ldrb r3, [r3, #6] 8087118: b2db uxtb r3, r3 808711a: 2b02 cmp r3, #2 808711c: d010 beq.n 8087140 LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 808711e: 4b96 ldr r3, [pc, #600] ; (8087378 ) 8087120: 7b1b ldrb r3, [r3, #12] 8087122: b2db uxtb r3, r3 8087124: 4619 mov r1, r3 8087126: 4a99 ldr r2, [pc, #612] ; (808738c ) 8087128: 232c movs r3, #44 ; 0x2c 808712a: fb03 f301 mul.w r3, r3, r1 808712e: 4413 add r3, r2 8087130: 3324 adds r3, #36 ; 0x24 8087132: 681b ldr r3, [r3, #0] 8087134: 461a mov r2, r3 8087136: 21aa movs r1, #170 ; 0xaa 8087138: 200a movs r0, #10 808713a: f7cd f8df bl 80542fc 808713e: e00f b.n 8087160 else LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ìV" 8087140: 4b8d ldr r3, [pc, #564] ; (8087378 ) 8087142: 7b1b ldrb r3, [r3, #12] 8087144: b2db uxtb r3, r3 8087146: 4619 mov r1, r3 8087148: 4a91 ldr r2, [pc, #580] ; (8087390 ) 808714a: 232c movs r3, #44 ; 0x2c 808714c: fb03 f301 mul.w r3, r3, r1 8087150: 4413 add r3, r2 8087152: 3324 adds r3, #36 ; 0x24 8087154: 681b ldr r3, [r3, #0] 8087156: 461a mov r2, r3 8087158: 21aa movs r1, #170 ; 0xaa 808715a: 200a movs r0, #10 808715c: f7cd f8ce bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8087160: 4989 ldr r1, [pc, #548] ; (8087388 ) 8087162: 488c ldr r0, [pc, #560] ; (8087394 ) 8087164: f7cc fb22 bl 80537ac LCD_DisplayStringC(260, LCD_LINE_10, str); 8087168: f507 733b add.w r3, r7, #748 ; 0x2ec 808716c: 461a mov r2, r3 808716e: 21aa movs r1, #170 ; 0xaa 8087170: f44f 7082 mov.w r0, #260 ; 0x104 8087174: f7cd f8da bl 805432c 8087178: f001 bc24 b.w 80889c4 if(menupos == SAverage) 808717c: 4b86 ldr r3, [pc, #536] ; (8087398 ) 808717e: 781b ldrb r3, [r3, #0] 8087180: b2db uxtb r3, r3 8087182: 2b07 cmp r3, #7 8087184: f040 8112 bne.w 80873ac LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8087188: 497f ldr r1, [pc, #508] ; (8087388 ) 808718a: f04f 30ff mov.w r0, #4294967295 808718e: f7cc fb0d bl 80537ac LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]);//"Äàëåå" 8087192: 4b79 ldr r3, [pc, #484] ; (8087378 ) 8087194: 7b1b ldrb r3, [r3, #12] 8087196: b2db uxtb r3, r3 8087198: 461a mov r2, r3 808719a: 4b80 ldr r3, [pc, #512] ; (808739c ) 808719c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80871a0: 461a mov r2, r3 80871a2: 2127 movs r1, #39 ; 0x27 80871a4: 200a movs r0, #10 80871a6: f7cd f8a9 bl 80542fc LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80871aa: 4977 ldr r1, [pc, #476] ; (8087388 ) 80871ac: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80871b0: f7cc fafc bl 80537ac if(focused) 80871b4: 4b7a ldr r3, [pc, #488] ; (80873a0 ) 80871b6: 781b ldrb r3, [r3, #0] 80871b8: b2db uxtb r3, r3 80871ba: 2b00 cmp r3, #0 80871bc: d01a beq.n 80871f4 if(blk) 80871be: 4b79 ldr r3, [pc, #484] ; (80873a4 ) 80871c0: 681b ldr r3, [r3, #0] 80871c2: 2b00 cmp r3, #0 80871c4: d02c beq.n 8087220 LCD_DisplayStringC(260, LCD_LINE_8, (char *) pAVERAGE_SEC[pardata.LANG][pardata.AVG]); 80871c6: 4b6c ldr r3, [pc, #432] ; (8087378 ) 80871c8: 7b1b ldrb r3, [r3, #12] 80871ca: b2db uxtb r3, r3 80871cc: 4619 mov r1, r3 80871ce: 4b6a ldr r3, [pc, #424] ; (8087378 ) 80871d0: 7b5b ldrb r3, [r3, #13] 80871d2: b2db uxtb r3, r3 80871d4: 4618 mov r0, r3 80871d6: 4a6b ldr r2, [pc, #428] ; (8087384 ) 80871d8: 460b mov r3, r1 80871da: 009b lsls r3, r3, #2 80871dc: 440b add r3, r1 80871de: 005b lsls r3, r3, #1 80871e0: 4403 add r3, r0 80871e2: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80871e6: 461a mov r2, r3 80871e8: 218a movs r1, #138 ; 0x8a 80871ea: f44f 7082 mov.w r0, #260 ; 0x104 80871ee: f7cd f89d bl 805432c 80871f2: e015 b.n 8087220 LCD_DisplayStringC(260, LCD_LINE_8, (char *) pAVERAGE_SEC[pardata.LANG][pardata.AVG]); 80871f4: 4b60 ldr r3, [pc, #384] ; (8087378 ) 80871f6: 7b1b ldrb r3, [r3, #12] 80871f8: b2db uxtb r3, r3 80871fa: 4619 mov r1, r3 80871fc: 4b5e ldr r3, [pc, #376] ; (8087378 ) 80871fe: 7b5b ldrb r3, [r3, #13] 8087200: b2db uxtb r3, r3 8087202: 4618 mov r0, r3 8087204: 4a5f ldr r2, [pc, #380] ; (8087384 ) 8087206: 460b mov r3, r1 8087208: 009b lsls r3, r3, #2 808720a: 440b add r3, r1 808720c: 005b lsls r3, r3, #1 808720e: 4403 add r3, r0 8087210: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8087214: 461a mov r2, r3 8087216: 218a movs r1, #138 ; 0x8a 8087218: f44f 7082 mov.w r0, #260 ; 0x104 808721c: f7cd f886 bl 805432c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8087220: 4959 ldr r1, [pc, #356] ; (8087388 ) 8087222: 485c ldr r0, [pc, #368] ; (8087394 ) 8087224: f7cc fac2 bl 80537ac if((pardata.OPTIONS & maskFFT) == okt) 8087228: 4b53 ldr r3, [pc, #332] ; (8087378 ) 808722a: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 808722e: f003 0330 and.w r3, r3, #48 ; 0x30 8087232: 2b20 cmp r3, #32 8087234: d10e bne.n 8087254 LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][2]); 8087236: 4b50 ldr r3, [pc, #320] ; (8087378 ) 8087238: 7b1b ldrb r3, [r3, #12] 808723a: b2db uxtb r3, r3 808723c: 4a4f ldr r2, [pc, #316] ; (808737c ) 808723e: 011b lsls r3, r3, #4 8087240: 4413 add r3, r2 8087242: 3308 adds r3, #8 8087244: 681b ldr r3, [r3, #0] 8087246: 461a mov r2, r3 8087248: 213a movs r1, #58 ; 0x3a 808724a: f44f 7082 mov.w r0, #260 ; 0x104 808724e: f7cd f86d bl 805432c 8087252: e00d b.n 8087270 else LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][3]); 8087254: 4b48 ldr r3, [pc, #288] ; (8087378 ) 8087256: 7b1b ldrb r3, [r3, #12] 8087258: b2db uxtb r3, r3 808725a: 4a48 ldr r2, [pc, #288] ; (808737c ) 808725c: 011b lsls r3, r3, #4 808725e: 4413 add r3, r2 8087260: 330c adds r3, #12 8087262: 681b ldr r3, [r3, #0] 8087264: 461a mov r2, r3 8087266: 213a movs r1, #58 ; 0x3a 8087268: f44f 7082 mov.w r0, #260 ; 0x104 808726c: f7cd f85e bl 805432c LCD_DisplayStringC(260, LCD_LINE_4, (char *) pIPR_OKT[pardata.LANG][(pardata.IPR << 1) | pardata.IVS[pardata.IPR]]); 8087270: 4b41 ldr r3, [pc, #260] ; (8087378 ) 8087272: 7b1b ldrb r3, [r3, #12] 8087274: b2db uxtb r3, r3 8087276: 4618 mov r0, r3 8087278: 4b3f ldr r3, [pc, #252] ; (8087378 ) 808727a: 785b ldrb r3, [r3, #1] 808727c: b2db uxtb r3, r3 808727e: 005b lsls r3, r3, #1 8087280: 4a3d ldr r2, [pc, #244] ; (8087378 ) 8087282: 7852 ldrb r2, [r2, #1] 8087284: b2d2 uxtb r2, r2 8087286: 4611 mov r1, r2 8087288: 4a3b ldr r2, [pc, #236] ; (8087378 ) 808728a: 440a add r2, r1 808728c: 7892 ldrb r2, [r2, #2] 808728e: b2d2 uxtb r2, r2 8087290: 431a orrs r2, r3 8087292: 493b ldr r1, [pc, #236] ; (8087380 ) 8087294: 4603 mov r3, r0 8087296: 005b lsls r3, r3, #1 8087298: 4403 add r3, r0 808729a: 005b lsls r3, r3, #1 808729c: 4413 add r3, r2 808729e: f851 3023 ldr.w r3, [r1, r3, lsl #2] 80872a2: 461a mov r2, r3 80872a4: 214a movs r1, #74 ; 0x4a 80872a6: f44f 7082 mov.w r0, #260 ; 0x104 80872aa: f7cd f83f bl 805432c LCD_DisplayStringC(260, LCD_LINE_5, strHP); 80872ae: f507 73d2 add.w r3, r7, #420 ; 0x1a4 80872b2: 461a mov r2, r3 80872b4: 215a movs r1, #90 ; 0x5a 80872b6: f44f 7082 mov.w r0, #260 ; 0x104 80872ba: f7cd f837 bl 805432c LCD_DisplayStringC(260, LCD_LINE_6, strLP); 80872be: f507 73cc add.w r3, r7, #408 ; 0x198 80872c2: 461a mov r2, r3 80872c4: 216a movs r1, #106 ; 0x6a 80872c6: f44f 7082 mov.w r0, #260 ; 0x104 80872ca: f7cd f82f bl 805432c LCD_DisplayStringC(260, LCD_LINE_7, (char *) pMSH[pardata.LANG][pardata.MSH]); 80872ce: 4b2a ldr r3, [pc, #168] ; (8087378 ) 80872d0: 7b1b ldrb r3, [r3, #12] 80872d2: b2db uxtb r3, r3 80872d4: 4618 mov r0, r3 80872d6: 4b28 ldr r3, [pc, #160] ; (8087378 ) 80872d8: 7a9b ldrb r3, [r3, #10] 80872da: b2db uxtb r3, r3 80872dc: 4619 mov r1, r3 80872de: 4a32 ldr r2, [pc, #200] ; (80873a8 ) 80872e0: 0043 lsls r3, r0, #1 80872e2: 440b add r3, r1 80872e4: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80872e8: 461a mov r2, r3 80872ea: 217a movs r1, #122 ; 0x7a 80872ec: f44f 7082 mov.w r0, #260 ; 0x104 80872f0: f7cd f81c bl 805432c if((pardata.OPTIONS & BIT2) == 0) // åñëè àâòîóñèëåíèå 80872f4: 4b20 ldr r3, [pc, #128] ; (8087378 ) 80872f6: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80872fa: f003 0304 and.w r3, r3, #4 80872fe: 2b00 cmp r3, #0 8087300: f041 8360 bne.w 80889c4 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8087304: 4920 ldr r1, [pc, #128] ; (8087388 ) 8087306: f04f 30ff mov.w r0, #4294967295 808730a: f7cc fa4f bl 80537ac if(pardata.IIN != VOLTS) 808730e: 4b1a ldr r3, [pc, #104] ; (8087378 ) 8087310: 799b ldrb r3, [r3, #6] 8087312: b2db uxtb r3, r3 8087314: 2b02 cmp r3, #2 8087316: d010 beq.n 808733a LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8087318: 4b17 ldr r3, [pc, #92] ; (8087378 ) 808731a: 7b1b ldrb r3, [r3, #12] 808731c: b2db uxtb r3, r3 808731e: 4619 mov r1, r3 8087320: 4a1a ldr r2, [pc, #104] ; (808738c ) 8087322: 232c movs r3, #44 ; 0x2c 8087324: fb03 f301 mul.w r3, r3, r1 8087328: 4413 add r3, r2 808732a: 3324 adds r3, #36 ; 0x24 808732c: 681b ldr r3, [r3, #0] 808732e: 461a mov r2, r3 8087330: 21aa movs r1, #170 ; 0xaa 8087332: 200a movs r0, #10 8087334: f7cc ffe2 bl 80542fc 8087338: e00f b.n 808735a else LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ìV" 808733a: 4b0f ldr r3, [pc, #60] ; (8087378 ) 808733c: 7b1b ldrb r3, [r3, #12] 808733e: b2db uxtb r3, r3 8087340: 4619 mov r1, r3 8087342: 4a13 ldr r2, [pc, #76] ; (8087390 ) 8087344: 232c movs r3, #44 ; 0x2c 8087346: fb03 f301 mul.w r3, r3, r1 808734a: 4413 add r3, r2 808734c: 3324 adds r3, #36 ; 0x24 808734e: 681b ldr r3, [r3, #0] 8087350: 461a mov r2, r3 8087352: 21aa movs r1, #170 ; 0xaa 8087354: 200a movs r0, #10 8087356: f7cc ffd1 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808735a: 490b ldr r1, [pc, #44] ; (8087388 ) 808735c: 480d ldr r0, [pc, #52] ; (8087394 ) 808735e: f7cc fa25 bl 80537ac LCD_DisplayStringC(260, LCD_LINE_10, str); 8087362: f507 733b add.w r3, r7, #748 ; 0x2ec 8087366: 461a mov r2, r3 8087368: 21aa movs r1, #170 ; 0xaa 808736a: f44f 7082 mov.w r0, #260 ; 0x104 808736e: f7cc ffdd bl 805432c 8087372: f001 bb27 b.w 80889c4 8087376: bf00 nop 8087378: 20023e60 .word 0x20023e60 808737c: 2002029c .word 0x2002029c 8087380: 2002019c .word 0x2002019c 8087384: 2002024c .word 0x2002024c 8087388: ff0a0f1f .word 0xff0a0f1f 808738c: 200206b4 .word 0x200206b4 8087390: 2002070c .word 0x2002070c 8087394: ffd8aa57 .word 0xffd8aa57 8087398: 20020070 .word 0x20020070 808739c: 200205c4 .word 0x200205c4 80873a0: 20020f84 .word 0x20020f84 80873a4: 2002165c .word 0x2002165c 80873a8: 20020214 .word 0x20020214 if(menupos == VibAutoKu) 80873ac: 4b8f ldr r3, [pc, #572] ; (80875ec ) 80873ae: 781b ldrb r3, [r3, #0] 80873b0: b2db uxtb r3, r3 80873b2: 2b08 cmp r3, #8 80873b4: f040 80e8 bne.w 8087588 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80873b8: 498d ldr r1, [pc, #564] ; (80875f0 ) 80873ba: f04f 30ff mov.w r0, #4294967295 80873be: f7cc f9f5 bl 80537ac LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]);//"Äàëåå" 80873c2: 4b8c ldr r3, [pc, #560] ; (80875f4 ) 80873c4: 7b1b ldrb r3, [r3, #12] 80873c6: b2db uxtb r3, r3 80873c8: 461a mov r2, r3 80873ca: 4b8b ldr r3, [pc, #556] ; (80875f8 ) 80873cc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80873d0: 461a mov r2, r3 80873d2: 2127 movs r1, #39 ; 0x27 80873d4: 200a movs r0, #10 80873d6: f7cc ff91 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80873da: 4985 ldr r1, [pc, #532] ; (80875f0 ) 80873dc: 4887 ldr r0, [pc, #540] ; (80875fc ) 80873de: f7cc f9e5 bl 80537ac if((pardata.OPTIONS & maskFFT) == okt) 80873e2: 4b84 ldr r3, [pc, #528] ; (80875f4 ) 80873e4: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80873e8: f003 0330 and.w r3, r3, #48 ; 0x30 80873ec: 2b20 cmp r3, #32 80873ee: d10e bne.n 808740e LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][2]); 80873f0: 4b80 ldr r3, [pc, #512] ; (80875f4 ) 80873f2: 7b1b ldrb r3, [r3, #12] 80873f4: b2db uxtb r3, r3 80873f6: 4a82 ldr r2, [pc, #520] ; (8087600 ) 80873f8: 011b lsls r3, r3, #4 80873fa: 4413 add r3, r2 80873fc: 3308 adds r3, #8 80873fe: 681b ldr r3, [r3, #0] 8087400: 461a mov r2, r3 8087402: 213a movs r1, #58 ; 0x3a 8087404: f44f 7082 mov.w r0, #260 ; 0x104 8087408: f7cc ff90 bl 805432c 808740c: e00d b.n 808742a else LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][3]); 808740e: 4b79 ldr r3, [pc, #484] ; (80875f4 ) 8087410: 7b1b ldrb r3, [r3, #12] 8087412: b2db uxtb r3, r3 8087414: 4a7a ldr r2, [pc, #488] ; (8087600 ) 8087416: 011b lsls r3, r3, #4 8087418: 4413 add r3, r2 808741a: 330c adds r3, #12 808741c: 681b ldr r3, [r3, #0] 808741e: 461a mov r2, r3 8087420: 213a movs r1, #58 ; 0x3a 8087422: f44f 7082 mov.w r0, #260 ; 0x104 8087426: f7cc ff81 bl 805432c LCD_DisplayStringC(260, LCD_LINE_4, (char *) pIPR_OKT[pardata.LANG][(pardata.IPR << 1) | pardata.IVS[pardata.IPR]]); 808742a: 4b72 ldr r3, [pc, #456] ; (80875f4 ) 808742c: 7b1b ldrb r3, [r3, #12] 808742e: b2db uxtb r3, r3 8087430: 4618 mov r0, r3 8087432: 4b70 ldr r3, [pc, #448] ; (80875f4 ) 8087434: 785b ldrb r3, [r3, #1] 8087436: b2db uxtb r3, r3 8087438: 005b lsls r3, r3, #1 808743a: 4a6e ldr r2, [pc, #440] ; (80875f4 ) 808743c: 7852 ldrb r2, [r2, #1] 808743e: b2d2 uxtb r2, r2 8087440: 4611 mov r1, r2 8087442: 4a6c ldr r2, [pc, #432] ; (80875f4 ) 8087444: 440a add r2, r1 8087446: 7892 ldrb r2, [r2, #2] 8087448: b2d2 uxtb r2, r2 808744a: 431a orrs r2, r3 808744c: 496d ldr r1, [pc, #436] ; (8087604 ) 808744e: 4603 mov r3, r0 8087450: 005b lsls r3, r3, #1 8087452: 4403 add r3, r0 8087454: 005b lsls r3, r3, #1 8087456: 4413 add r3, r2 8087458: f851 3023 ldr.w r3, [r1, r3, lsl #2] 808745c: 461a mov r2, r3 808745e: 214a movs r1, #74 ; 0x4a 8087460: f44f 7082 mov.w r0, #260 ; 0x104 8087464: f7cc ff62 bl 805432c LCD_DisplayStringC(260, LCD_LINE_5, strHP); 8087468: f507 73d2 add.w r3, r7, #420 ; 0x1a4 808746c: 461a mov r2, r3 808746e: 215a movs r1, #90 ; 0x5a 8087470: f44f 7082 mov.w r0, #260 ; 0x104 8087474: f7cc ff5a bl 805432c LCD_DisplayStringC(260, LCD_LINE_6, strLP); 8087478: f507 73cc add.w r3, r7, #408 ; 0x198 808747c: 461a mov r2, r3 808747e: 216a movs r1, #106 ; 0x6a 8087480: f44f 7082 mov.w r0, #260 ; 0x104 8087484: f7cc ff52 bl 805432c LCD_DisplayStringC(260, LCD_LINE_7, (char *) pMSH[pardata.LANG][pardata.MSH]); 8087488: 4b5a ldr r3, [pc, #360] ; (80875f4 ) 808748a: 7b1b ldrb r3, [r3, #12] 808748c: b2db uxtb r3, r3 808748e: 4618 mov r0, r3 8087490: 4b58 ldr r3, [pc, #352] ; (80875f4 ) 8087492: 7a9b ldrb r3, [r3, #10] 8087494: b2db uxtb r3, r3 8087496: 4619 mov r1, r3 8087498: 4a5b ldr r2, [pc, #364] ; (8087608 ) 808749a: 0043 lsls r3, r0, #1 808749c: 440b add r3, r1 808749e: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80874a2: 461a mov r2, r3 80874a4: 217a movs r1, #122 ; 0x7a 80874a6: f44f 7082 mov.w r0, #260 ; 0x104 80874aa: f7cc ff3f bl 805432c LCD_DisplayStringC(260, LCD_LINE_8, (char *) pAVERAGE_SEC[pardata.LANG][pardata.AVG]); 80874ae: 4b51 ldr r3, [pc, #324] ; (80875f4 ) 80874b0: 7b1b ldrb r3, [r3, #12] 80874b2: b2db uxtb r3, r3 80874b4: 4619 mov r1, r3 80874b6: 4b4f ldr r3, [pc, #316] ; (80875f4 ) 80874b8: 7b5b ldrb r3, [r3, #13] 80874ba: b2db uxtb r3, r3 80874bc: 4618 mov r0, r3 80874be: 4a53 ldr r2, [pc, #332] ; (808760c ) 80874c0: 460b mov r3, r1 80874c2: 009b lsls r3, r3, #2 80874c4: 440b add r3, r1 80874c6: 005b lsls r3, r3, #1 80874c8: 4403 add r3, r0 80874ca: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80874ce: 461a mov r2, r3 80874d0: 218a movs r1, #138 ; 0x8a 80874d2: f44f 7082 mov.w r0, #260 ; 0x104 80874d6: f7cc ff29 bl 805432c LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80874da: 4945 ldr r1, [pc, #276] ; (80875f0 ) 80874dc: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80874e0: f7cc f964 bl 80537ac BSP_LCD_FillRect(253, CHECKBOX_LINE_9 - 2, 14, 14); 80874e4: 230e movs r3, #14 80874e6: 220e movs r2, #14 80874e8: 219b movs r1, #155 ; 0x9b 80874ea: 20fd movs r0, #253 ; 0xfd 80874ec: f7cc fdec bl 80540c8 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80874f0: 493f ldr r1, [pc, #252] ; (80875f0 ) 80874f2: f04f 30ff mov.w r0, #4294967295 80874f6: f7cc f959 bl 80537ac BSP_LCD_FillRect(255, CHECKBOX_LINE_9, 10, 10); 80874fa: 230a movs r3, #10 80874fc: 220a movs r2, #10 80874fe: 219d movs r1, #157 ; 0x9d 8087500: 20ff movs r0, #255 ; 0xff 8087502: f7cc fde1 bl 80540c8 if((pardata.OPTIONS & BIT2) == 0) // åñëè àâòîóñèëåíèå 8087506: 4b3b ldr r3, [pc, #236] ; (80875f4 ) 8087508: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 808750c: f003 0304 and.w r3, r3, #4 8087510: 2b00 cmp r3, #0 8087512: f041 8257 bne.w 80889c4 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8087516: 4936 ldr r1, [pc, #216] ; (80875f0 ) 8087518: f04f 30ff mov.w r0, #4294967295 808751c: f7cc f946 bl 80537ac if(pardata.IIN != VOLTS) 8087520: 4b34 ldr r3, [pc, #208] ; (80875f4 ) 8087522: 799b ldrb r3, [r3, #6] 8087524: b2db uxtb r3, r3 8087526: 2b02 cmp r3, #2 8087528: d010 beq.n 808754c LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 808752a: 4b32 ldr r3, [pc, #200] ; (80875f4 ) 808752c: 7b1b ldrb r3, [r3, #12] 808752e: b2db uxtb r3, r3 8087530: 4619 mov r1, r3 8087532: 4a37 ldr r2, [pc, #220] ; (8087610 ) 8087534: 232c movs r3, #44 ; 0x2c 8087536: fb03 f301 mul.w r3, r3, r1 808753a: 4413 add r3, r2 808753c: 3324 adds r3, #36 ; 0x24 808753e: 681b ldr r3, [r3, #0] 8087540: 461a mov r2, r3 8087542: 21aa movs r1, #170 ; 0xaa 8087544: 200a movs r0, #10 8087546: f7cc fed9 bl 80542fc 808754a: e00f b.n 808756c else LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ìV" 808754c: 4b29 ldr r3, [pc, #164] ; (80875f4 ) 808754e: 7b1b ldrb r3, [r3, #12] 8087550: b2db uxtb r3, r3 8087552: 4619 mov r1, r3 8087554: 4a2f ldr r2, [pc, #188] ; (8087614 ) 8087556: 232c movs r3, #44 ; 0x2c 8087558: fb03 f301 mul.w r3, r3, r1 808755c: 4413 add r3, r2 808755e: 3324 adds r3, #36 ; 0x24 8087560: 681b ldr r3, [r3, #0] 8087562: 461a mov r2, r3 8087564: 21aa movs r1, #170 ; 0xaa 8087566: 200a movs r0, #10 8087568: f7cc fec8 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808756c: 4920 ldr r1, [pc, #128] ; (80875f0 ) 808756e: 4823 ldr r0, [pc, #140] ; (80875fc ) 8087570: f7cc f91c bl 80537ac LCD_DisplayStringC(260, LCD_LINE_10, str); 8087574: f507 733b add.w r3, r7, #748 ; 0x2ec 8087578: 461a mov r2, r3 808757a: 21aa movs r1, #170 ; 0xaa 808757c: f44f 7082 mov.w r0, #260 ; 0x104 8087580: f7cc fed4 bl 805432c 8087584: f001 ba1e b.w 80889c4 if(menupos == VibMax_ALL) 8087588: 4b18 ldr r3, [pc, #96] ; (80875ec ) 808758a: 781b ldrb r3, [r3, #0] 808758c: b2db uxtb r3, r3 808758e: 2b09 cmp r3, #9 8087590: f040 80e3 bne.w 808775a LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8087594: 4916 ldr r1, [pc, #88] ; (80875f0 ) 8087596: f04f 30ff mov.w r0, #4294967295 808759a: f7cc f907 bl 80537ac LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]);//"Äàëåå" 808759e: 4b15 ldr r3, [pc, #84] ; (80875f4 ) 80875a0: 7b1b ldrb r3, [r3, #12] 80875a2: b2db uxtb r3, r3 80875a4: 461a mov r2, r3 80875a6: 4b14 ldr r3, [pc, #80] ; (80875f8 ) 80875a8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80875ac: 461a mov r2, r3 80875ae: 2127 movs r1, #39 ; 0x27 80875b0: 200a movs r0, #10 80875b2: f7cc fea3 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80875b6: 490e ldr r1, [pc, #56] ; (80875f0 ) 80875b8: 4810 ldr r0, [pc, #64] ; (80875fc ) 80875ba: f7cc f8f7 bl 80537ac if((pardata.OPTIONS & maskFFT) == okt) 80875be: 4b0d ldr r3, [pc, #52] ; (80875f4 ) 80875c0: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80875c4: f003 0330 and.w r3, r3, #48 ; 0x30 80875c8: 2b20 cmp r3, #32 80875ca: d125 bne.n 8087618 LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][2]); 80875cc: 4b09 ldr r3, [pc, #36] ; (80875f4 ) 80875ce: 7b1b ldrb r3, [r3, #12] 80875d0: b2db uxtb r3, r3 80875d2: 4a0b ldr r2, [pc, #44] ; (8087600 ) 80875d4: 011b lsls r3, r3, #4 80875d6: 4413 add r3, r2 80875d8: 3308 adds r3, #8 80875da: 681b ldr r3, [r3, #0] 80875dc: 461a mov r2, r3 80875de: 213a movs r1, #58 ; 0x3a 80875e0: f44f 7082 mov.w r0, #260 ; 0x104 80875e4: f7cc fea2 bl 805432c 80875e8: e024 b.n 8087634 80875ea: bf00 nop 80875ec: 20020070 .word 0x20020070 80875f0: ff0a0f1f .word 0xff0a0f1f 80875f4: 20023e60 .word 0x20023e60 80875f8: 200205c4 .word 0x200205c4 80875fc: ffd8aa57 .word 0xffd8aa57 8087600: 2002029c .word 0x2002029c 8087604: 2002019c .word 0x2002019c 8087608: 20020214 .word 0x20020214 808760c: 2002024c .word 0x2002024c 8087610: 200206b4 .word 0x200206b4 8087614: 2002070c .word 0x2002070c else LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][3]); 8087618: 4bc6 ldr r3, [pc, #792] ; (8087934 ) 808761a: 7b1b ldrb r3, [r3, #12] 808761c: b2db uxtb r3, r3 808761e: 4ac6 ldr r2, [pc, #792] ; (8087938 ) 8087620: 011b lsls r3, r3, #4 8087622: 4413 add r3, r2 8087624: 330c adds r3, #12 8087626: 681b ldr r3, [r3, #0] 8087628: 461a mov r2, r3 808762a: 213a movs r1, #58 ; 0x3a 808762c: f44f 7082 mov.w r0, #260 ; 0x104 8087630: f7cc fe7c bl 805432c LCD_DisplayStringC(260, LCD_LINE_4, (char *) pIPR_OKT[pardata.LANG][(pardata.IPR << 1) | pardata.IVS[pardata.IPR]]); 8087634: 4bbf ldr r3, [pc, #764] ; (8087934 ) 8087636: 7b1b ldrb r3, [r3, #12] 8087638: b2db uxtb r3, r3 808763a: 4618 mov r0, r3 808763c: 4bbd ldr r3, [pc, #756] ; (8087934 ) 808763e: 785b ldrb r3, [r3, #1] 8087640: b2db uxtb r3, r3 8087642: 005b lsls r3, r3, #1 8087644: 4abb ldr r2, [pc, #748] ; (8087934 ) 8087646: 7852 ldrb r2, [r2, #1] 8087648: b2d2 uxtb r2, r2 808764a: 4611 mov r1, r2 808764c: 4ab9 ldr r2, [pc, #740] ; (8087934 ) 808764e: 440a add r2, r1 8087650: 7892 ldrb r2, [r2, #2] 8087652: b2d2 uxtb r2, r2 8087654: 431a orrs r2, r3 8087656: 49b9 ldr r1, [pc, #740] ; (808793c ) 8087658: 4603 mov r3, r0 808765a: 005b lsls r3, r3, #1 808765c: 4403 add r3, r0 808765e: 005b lsls r3, r3, #1 8087660: 4413 add r3, r2 8087662: f851 3023 ldr.w r3, [r1, r3, lsl #2] 8087666: 461a mov r2, r3 8087668: 214a movs r1, #74 ; 0x4a 808766a: f44f 7082 mov.w r0, #260 ; 0x104 808766e: f7cc fe5d bl 805432c LCD_DisplayStringC(260, LCD_LINE_5, strHP); 8087672: f507 73d2 add.w r3, r7, #420 ; 0x1a4 8087676: 461a mov r2, r3 8087678: 215a movs r1, #90 ; 0x5a 808767a: f44f 7082 mov.w r0, #260 ; 0x104 808767e: f7cc fe55 bl 805432c LCD_DisplayStringC(260, LCD_LINE_6, strLP); 8087682: f507 73cc add.w r3, r7, #408 ; 0x198 8087686: 461a mov r2, r3 8087688: 216a movs r1, #106 ; 0x6a 808768a: f44f 7082 mov.w r0, #260 ; 0x104 808768e: f7cc fe4d bl 805432c LCD_DisplayStringC(260, LCD_LINE_7, (char *) pMSH[pardata.LANG][pardata.MSH]); 8087692: 4ba8 ldr r3, [pc, #672] ; (8087934 ) 8087694: 7b1b ldrb r3, [r3, #12] 8087696: b2db uxtb r3, r3 8087698: 4618 mov r0, r3 808769a: 4ba6 ldr r3, [pc, #664] ; (8087934 ) 808769c: 7a9b ldrb r3, [r3, #10] 808769e: b2db uxtb r3, r3 80876a0: 4619 mov r1, r3 80876a2: 4aa7 ldr r2, [pc, #668] ; (8087940 ) 80876a4: 0043 lsls r3, r0, #1 80876a6: 440b add r3, r1 80876a8: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80876ac: 461a mov r2, r3 80876ae: 217a movs r1, #122 ; 0x7a 80876b0: f44f 7082 mov.w r0, #260 ; 0x104 80876b4: f7cc fe3a bl 805432c LCD_DisplayStringC(260, LCD_LINE_8, (char *) pAVERAGE_SEC[pardata.LANG][pardata.AVG]); 80876b8: 4b9e ldr r3, [pc, #632] ; (8087934 ) 80876ba: 7b1b ldrb r3, [r3, #12] 80876bc: b2db uxtb r3, r3 80876be: 4619 mov r1, r3 80876c0: 4b9c ldr r3, [pc, #624] ; (8087934 ) 80876c2: 7b5b ldrb r3, [r3, #13] 80876c4: b2db uxtb r3, r3 80876c6: 4618 mov r0, r3 80876c8: 4a9e ldr r2, [pc, #632] ; (8087944 ) 80876ca: 460b mov r3, r1 80876cc: 009b lsls r3, r3, #2 80876ce: 440b add r3, r1 80876d0: 005b lsls r3, r3, #1 80876d2: 4403 add r3, r0 80876d4: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80876d8: 461a mov r2, r3 80876da: 218a movs r1, #138 ; 0x8a 80876dc: f44f 7082 mov.w r0, #260 ; 0x104 80876e0: f7cc fe24 bl 805432c LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80876e4: 4998 ldr r1, [pc, #608] ; (8087948 ) 80876e6: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80876ea: f7cc f85f bl 80537ac LCD_DisplayStringC(260, LCD_LINE_10, str); 80876ee: f507 733b add.w r3, r7, #748 ; 0x2ec 80876f2: 461a mov r2, r3 80876f4: 21aa movs r1, #170 ; 0xaa 80876f6: f44f 7082 mov.w r0, #260 ; 0x104 80876fa: f7cc fe17 bl 805432c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80876fe: 4992 ldr r1, [pc, #584] ; (8087948 ) 8087700: f04f 30ff mov.w r0, #4294967295 8087704: f7cc f852 bl 80537ac if(pardata.IIN != VOLTS) 8087708: 4b8a ldr r3, [pc, #552] ; (8087934 ) 808770a: 799b ldrb r3, [r3, #6] 808770c: b2db uxtb r3, r3 808770e: 2b02 cmp r3, #2 8087710: d011 beq.n 8087736 LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8087712: 4b88 ldr r3, [pc, #544] ; (8087934 ) 8087714: 7b1b ldrb r3, [r3, #12] 8087716: b2db uxtb r3, r3 8087718: 4619 mov r1, r3 808771a: 4a8c ldr r2, [pc, #560] ; (808794c ) 808771c: 232c movs r3, #44 ; 0x2c 808771e: fb03 f301 mul.w r3, r3, r1 8087722: 4413 add r3, r2 8087724: 3324 adds r3, #36 ; 0x24 8087726: 681b ldr r3, [r3, #0] 8087728: 461a mov r2, r3 808772a: 21aa movs r1, #170 ; 0xaa 808772c: 200a movs r0, #10 808772e: f7cc fde5 bl 80542fc 8087732: f001 b947 b.w 80889c4 else LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ìV" 8087736: 4b7f ldr r3, [pc, #508] ; (8087934 ) 8087738: 7b1b ldrb r3, [r3, #12] 808773a: b2db uxtb r3, r3 808773c: 4619 mov r1, r3 808773e: 4a84 ldr r2, [pc, #528] ; (8087950 ) 8087740: 232c movs r3, #44 ; 0x2c 8087742: fb03 f301 mul.w r3, r3, r1 8087746: 4413 add r3, r2 8087748: 3324 adds r3, #36 ; 0x24 808774a: 681b ldr r3, [r3, #0] 808774c: 461a mov r2, r3 808774e: 21aa movs r1, #170 ; 0xaa 8087750: 200a movs r0, #10 8087752: f7cc fdd3 bl 80542fc 8087756: f001 b935 b.w 80889c4 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808775a: 497b ldr r1, [pc, #492] ; (8087948 ) 808775c: f04f 30ff mov.w r0, #4294967295 8087760: f7cc f824 bl 80537ac LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]);//"Äàëåå" 8087764: 4b73 ldr r3, [pc, #460] ; (8087934 ) 8087766: 7b1b ldrb r3, [r3, #12] 8087768: b2db uxtb r3, r3 808776a: 461a mov r2, r3 808776c: 4b79 ldr r3, [pc, #484] ; (8087954 ) 808776e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087772: 461a mov r2, r3 8087774: 2127 movs r1, #39 ; 0x27 8087776: 200a movs r0, #10 8087778: f7cc fdc0 bl 80542fc if((menupos >= FilterHP_IDT) && (menupos <= FilterHP_IKD)) 808777c: 4b76 ldr r3, [pc, #472] ; (8087958 ) 808777e: 781b ldrb r3, [r3, #0] 8087780: b2db uxtb r3, r3 8087782: 2b18 cmp r3, #24 8087784: f240 8083 bls.w 808788e 8087788: 4b73 ldr r3, [pc, #460] ; (8087958 ) 808778a: 781b ldrb r3, [r3, #0] 808778c: b2db uxtb r3, r3 808778e: 2b1e cmp r3, #30 8087790: d87d bhi.n 808788e LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8087792: 496d ldr r1, [pc, #436] ; (8087948 ) 8087794: 4871 ldr r0, [pc, #452] ; (808795c ) 8087796: f7cc f809 bl 80537ac LCD_DisplayStringC(260, LCD_LINE_6, strLP); 808779a: f507 73cc add.w r3, r7, #408 ; 0x198 808779e: 461a mov r2, r3 80877a0: 216a movs r1, #106 ; 0x6a 80877a2: f44f 7082 mov.w r0, #260 ; 0x104 80877a6: f7cc fdc1 bl 805432c if(pardata.OPTIONS & BIT2) // åñëè àâòîóñèëåíèå 80877aa: 4b62 ldr r3, [pc, #392] ; (8087934 ) 80877ac: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80877b0: f003 0304 and.w r3, r3, #4 80877b4: 2b00 cmp r3, #0 80877b6: d032 beq.n 808781e LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80877b8: 4963 ldr r1, [pc, #396] ; (8087948 ) 80877ba: 4869 ldr r0, [pc, #420] ; (8087960 ) 80877bc: f7cb fff6 bl 80537ac if(pardata.IIN != VOLTS) 80877c0: 4b5c ldr r3, [pc, #368] ; (8087934 ) 80877c2: 799b ldrb r3, [r3, #6] 80877c4: b2db uxtb r3, r3 80877c6: 2b02 cmp r3, #2 80877c8: d010 beq.n 80877ec LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 80877ca: 4b5a ldr r3, [pc, #360] ; (8087934 ) 80877cc: 7b1b ldrb r3, [r3, #12] 80877ce: b2db uxtb r3, r3 80877d0: 4619 mov r1, r3 80877d2: 4a5e ldr r2, [pc, #376] ; (808794c ) 80877d4: 232c movs r3, #44 ; 0x2c 80877d6: fb03 f301 mul.w r3, r3, r1 80877da: 4413 add r3, r2 80877dc: 3324 adds r3, #36 ; 0x24 80877de: 681b ldr r3, [r3, #0] 80877e0: 461a mov r2, r3 80877e2: 21aa movs r1, #170 ; 0xaa 80877e4: 200a movs r0, #10 80877e6: f7cc fd89 bl 80542fc 80877ea: e00f b.n 808780c else LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ìV" 80877ec: 4b51 ldr r3, [pc, #324] ; (8087934 ) 80877ee: 7b1b ldrb r3, [r3, #12] 80877f0: b2db uxtb r3, r3 80877f2: 4619 mov r1, r3 80877f4: 4a56 ldr r2, [pc, #344] ; (8087950 ) 80877f6: 232c movs r3, #44 ; 0x2c 80877f8: fb03 f301 mul.w r3, r3, r1 80877fc: 4413 add r3, r2 80877fe: 3324 adds r3, #36 ; 0x24 8087800: 681b ldr r3, [r3, #0] 8087802: 461a mov r2, r3 8087804: 21aa movs r1, #170 ; 0xaa 8087806: 200a movs r0, #10 8087808: f7cc fd78 bl 80542fc LCD_DisplayStringC(260, LCD_LINE_10, str); 808780c: f507 733b add.w r3, r7, #748 ; 0x2ec 8087810: 461a mov r2, r3 8087812: 21aa movs r1, #170 ; 0xaa 8087814: f44f 7082 mov.w r0, #260 ; 0x104 8087818: f7cc fd88 bl 805432c if(pardata.OPTIONS & BIT2) // åñëè àâòîóñèëåíèå 808781c: e123 b.n 8087a66 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808781e: 494a ldr r1, [pc, #296] ; (8087948 ) 8087820: f04f 30ff mov.w r0, #4294967295 8087824: f7cb ffc2 bl 80537ac if(pardata.IIN != VOLTS) 8087828: 4b42 ldr r3, [pc, #264] ; (8087934 ) 808782a: 799b ldrb r3, [r3, #6] 808782c: b2db uxtb r3, r3 808782e: 2b02 cmp r3, #2 8087830: d010 beq.n 8087854 LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8087832: 4b40 ldr r3, [pc, #256] ; (8087934 ) 8087834: 7b1b ldrb r3, [r3, #12] 8087836: b2db uxtb r3, r3 8087838: 4619 mov r1, r3 808783a: 4a44 ldr r2, [pc, #272] ; (808794c ) 808783c: 232c movs r3, #44 ; 0x2c 808783e: fb03 f301 mul.w r3, r3, r1 8087842: 4413 add r3, r2 8087844: 3324 adds r3, #36 ; 0x24 8087846: 681b ldr r3, [r3, #0] 8087848: 461a mov r2, r3 808784a: 21aa movs r1, #170 ; 0xaa 808784c: 200a movs r0, #10 808784e: f7cc fd55 bl 80542fc 8087852: e00f b.n 8087874 else LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ìV" 8087854: 4b37 ldr r3, [pc, #220] ; (8087934 ) 8087856: 7b1b ldrb r3, [r3, #12] 8087858: b2db uxtb r3, r3 808785a: 4619 mov r1, r3 808785c: 4a3c ldr r2, [pc, #240] ; (8087950 ) 808785e: 232c movs r3, #44 ; 0x2c 8087860: fb03 f301 mul.w r3, r3, r1 8087864: 4413 add r3, r2 8087866: 3324 adds r3, #36 ; 0x24 8087868: 681b ldr r3, [r3, #0] 808786a: 461a mov r2, r3 808786c: 21aa movs r1, #170 ; 0xaa 808786e: 200a movs r0, #10 8087870: f7cc fd44 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8087874: 4934 ldr r1, [pc, #208] ; (8087948 ) 8087876: 4839 ldr r0, [pc, #228] ; (808795c ) 8087878: f7cb ff98 bl 80537ac LCD_DisplayStringC(260, LCD_LINE_10, str); 808787c: f507 733b add.w r3, r7, #748 ; 0x2ec 8087880: 461a mov r2, r3 8087882: 21aa movs r1, #170 ; 0xaa 8087884: f44f 7082 mov.w r0, #260 ; 0x104 8087888: f7cc fd50 bl 805432c if(pardata.OPTIONS & BIT2) // åñëè àâòîóñèëåíèå 808788c: e0eb b.n 8087a66 if((menupos >= FilterLP_IDT) && (menupos <= FilterLP_IKD)) 808788e: 4b32 ldr r3, [pc, #200] ; (8087958 ) 8087890: 781b ldrb r3, [r3, #0] 8087892: b2db uxtb r3, r3 8087894: 2b1e cmp r3, #30 8087896: f240 809d bls.w 80879d4 808789a: 4b2f ldr r3, [pc, #188] ; (8087958 ) 808789c: 781b ldrb r3, [r3, #0] 808789e: b2db uxtb r3, r3 80878a0: 2b24 cmp r3, #36 ; 0x24 80878a2: f200 8097 bhi.w 80879d4 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80878a6: 4928 ldr r1, [pc, #160] ; (8087948 ) 80878a8: 482c ldr r0, [pc, #176] ; (808795c ) 80878aa: f7cb ff7f bl 80537ac LCD_DisplayStringC(260, LCD_LINE_5, strHP); 80878ae: f507 73d2 add.w r3, r7, #420 ; 0x1a4 80878b2: 461a mov r2, r3 80878b4: 215a movs r1, #90 ; 0x5a 80878b6: f44f 7082 mov.w r0, #260 ; 0x104 80878ba: f7cc fd37 bl 805432c if(pardata.OPTIONS & BIT2) // åñëè àâòîóñèëåíèå 80878be: 4b1d ldr r3, [pc, #116] ; (8087934 ) 80878c0: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80878c4: f003 0304 and.w r3, r3, #4 80878c8: 2b00 cmp r3, #0 80878ca: d04b beq.n 8087964 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80878cc: 491e ldr r1, [pc, #120] ; (8087948 ) 80878ce: 4824 ldr r0, [pc, #144] ; (8087960 ) 80878d0: f7cb ff6c bl 80537ac if(pardata.IIN != VOLTS) 80878d4: 4b17 ldr r3, [pc, #92] ; (8087934 ) 80878d6: 799b ldrb r3, [r3, #6] 80878d8: b2db uxtb r3, r3 80878da: 2b02 cmp r3, #2 80878dc: d010 beq.n 8087900 LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 80878de: 4b15 ldr r3, [pc, #84] ; (8087934 ) 80878e0: 7b1b ldrb r3, [r3, #12] 80878e2: b2db uxtb r3, r3 80878e4: 4619 mov r1, r3 80878e6: 4a19 ldr r2, [pc, #100] ; (808794c ) 80878e8: 232c movs r3, #44 ; 0x2c 80878ea: fb03 f301 mul.w r3, r3, r1 80878ee: 4413 add r3, r2 80878f0: 3324 adds r3, #36 ; 0x24 80878f2: 681b ldr r3, [r3, #0] 80878f4: 461a mov r2, r3 80878f6: 21aa movs r1, #170 ; 0xaa 80878f8: 200a movs r0, #10 80878fa: f7cc fcff bl 80542fc 80878fe: e00f b.n 8087920 else LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ìV" 8087900: 4b0c ldr r3, [pc, #48] ; (8087934 ) 8087902: 7b1b ldrb r3, [r3, #12] 8087904: b2db uxtb r3, r3 8087906: 4619 mov r1, r3 8087908: 4a11 ldr r2, [pc, #68] ; (8087950 ) 808790a: 232c movs r3, #44 ; 0x2c 808790c: fb03 f301 mul.w r3, r3, r1 8087910: 4413 add r3, r2 8087912: 3324 adds r3, #36 ; 0x24 8087914: 681b ldr r3, [r3, #0] 8087916: 461a mov r2, r3 8087918: 21aa movs r1, #170 ; 0xaa 808791a: 200a movs r0, #10 808791c: f7cc fcee bl 80542fc LCD_DisplayStringC(260, LCD_LINE_10, str); 8087920: f507 733b add.w r3, r7, #748 ; 0x2ec 8087924: 461a mov r2, r3 8087926: 21aa movs r1, #170 ; 0xaa 8087928: f44f 7082 mov.w r0, #260 ; 0x104 808792c: f7cc fcfe bl 805432c if(pardata.OPTIONS & BIT2) // åñëè àâòîóñèëåíèå 8087930: e099 b.n 8087a66 8087932: bf00 nop 8087934: 20023e60 .word 0x20023e60 8087938: 2002029c .word 0x2002029c 808793c: 2002019c .word 0x2002019c 8087940: 20020214 .word 0x20020214 8087944: 2002024c .word 0x2002024c 8087948: ff0a0f1f .word 0xff0a0f1f 808794c: 200206b4 .word 0x200206b4 8087950: 2002070c .word 0x2002070c 8087954: 200205c4 .word 0x200205c4 8087958: 20020070 .word 0x20020070 808795c: ffd8aa57 .word 0xffd8aa57 8087960: ff808080 .word 0xff808080 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8087964: 49a9 ldr r1, [pc, #676] ; (8087c0c ) 8087966: f04f 30ff mov.w r0, #4294967295 808796a: f7cb ff1f bl 80537ac if(pardata.IIN != VOLTS) 808796e: 4ba8 ldr r3, [pc, #672] ; (8087c10 ) 8087970: 799b ldrb r3, [r3, #6] 8087972: b2db uxtb r3, r3 8087974: 2b02 cmp r3, #2 8087976: d010 beq.n 808799a LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8087978: 4ba5 ldr r3, [pc, #660] ; (8087c10 ) 808797a: 7b1b ldrb r3, [r3, #12] 808797c: b2db uxtb r3, r3 808797e: 4619 mov r1, r3 8087980: 4aa4 ldr r2, [pc, #656] ; (8087c14 ) 8087982: 232c movs r3, #44 ; 0x2c 8087984: fb03 f301 mul.w r3, r3, r1 8087988: 4413 add r3, r2 808798a: 3324 adds r3, #36 ; 0x24 808798c: 681b ldr r3, [r3, #0] 808798e: 461a mov r2, r3 8087990: 21aa movs r1, #170 ; 0xaa 8087992: 200a movs r0, #10 8087994: f7cc fcb2 bl 80542fc 8087998: e00f b.n 80879ba else LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ìV" 808799a: 4b9d ldr r3, [pc, #628] ; (8087c10 ) 808799c: 7b1b ldrb r3, [r3, #12] 808799e: b2db uxtb r3, r3 80879a0: 4619 mov r1, r3 80879a2: 4a9d ldr r2, [pc, #628] ; (8087c18 ) 80879a4: 232c movs r3, #44 ; 0x2c 80879a6: fb03 f301 mul.w r3, r3, r1 80879aa: 4413 add r3, r2 80879ac: 3324 adds r3, #36 ; 0x24 80879ae: 681b ldr r3, [r3, #0] 80879b0: 461a mov r2, r3 80879b2: 21aa movs r1, #170 ; 0xaa 80879b4: 200a movs r0, #10 80879b6: f7cc fca1 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80879ba: 4994 ldr r1, [pc, #592] ; (8087c0c ) 80879bc: 4897 ldr r0, [pc, #604] ; (8087c1c ) 80879be: f7cb fef5 bl 80537ac LCD_DisplayStringC(260, LCD_LINE_10, str); 80879c2: f507 733b add.w r3, r7, #748 ; 0x2ec 80879c6: 461a mov r2, r3 80879c8: 21aa movs r1, #170 ; 0xaa 80879ca: f44f 7082 mov.w r0, #260 ; 0x104 80879ce: f7cc fcad bl 805432c if(pardata.OPTIONS & BIT2) // åñëè àâòîóñèëåíèå 80879d2: e048 b.n 8087a66 if((menupos >= VibMax_IDT) && (menupos <= VibMax_IKD)) 80879d4: 4b92 ldr r3, [pc, #584] ; (8087c20 ) 80879d6: 781b ldrb r3, [r3, #0] 80879d8: b2db uxtb r3, r3 80879da: 2b0a cmp r3, #10 80879dc: d943 bls.n 8087a66 80879de: 4b90 ldr r3, [pc, #576] ; (8087c20 ) 80879e0: 781b ldrb r3, [r3, #0] 80879e2: b2db uxtb r3, r3 80879e4: 2b10 cmp r3, #16 80879e6: d83e bhi.n 8087a66 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80879e8: 4988 ldr r1, [pc, #544] ; (8087c0c ) 80879ea: 488c ldr r0, [pc, #560] ; (8087c1c ) 80879ec: f7cb fede bl 80537ac LCD_DisplayStringC(260, LCD_LINE_5, strHP); 80879f0: f507 73d2 add.w r3, r7, #420 ; 0x1a4 80879f4: 461a mov r2, r3 80879f6: 215a movs r1, #90 ; 0x5a 80879f8: f44f 7082 mov.w r0, #260 ; 0x104 80879fc: f7cc fc96 bl 805432c LCD_DisplayStringC(260, LCD_LINE_6, strLP); 8087a00: f507 73cc add.w r3, r7, #408 ; 0x198 8087a04: 461a mov r2, r3 8087a06: 216a movs r1, #106 ; 0x6a 8087a08: f44f 7082 mov.w r0, #260 ; 0x104 8087a0c: f7cc fc8e bl 805432c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8087a10: 497e ldr r1, [pc, #504] ; (8087c0c ) 8087a12: f04f 30ff mov.w r0, #4294967295 8087a16: f7cb fec9 bl 80537ac if(pardata.IIN != VOLTS) 8087a1a: 4b7d ldr r3, [pc, #500] ; (8087c10 ) 8087a1c: 799b ldrb r3, [r3, #6] 8087a1e: b2db uxtb r3, r3 8087a20: 2b02 cmp r3, #2 8087a22: d010 beq.n 8087a46 LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8087a24: 4b7a ldr r3, [pc, #488] ; (8087c10 ) 8087a26: 7b1b ldrb r3, [r3, #12] 8087a28: b2db uxtb r3, r3 8087a2a: 4619 mov r1, r3 8087a2c: 4a79 ldr r2, [pc, #484] ; (8087c14 ) 8087a2e: 232c movs r3, #44 ; 0x2c 8087a30: fb03 f301 mul.w r3, r3, r1 8087a34: 4413 add r3, r2 8087a36: 3324 adds r3, #36 ; 0x24 8087a38: 681b ldr r3, [r3, #0] 8087a3a: 461a mov r2, r3 8087a3c: 21aa movs r1, #170 ; 0xaa 8087a3e: 200a movs r0, #10 8087a40: f7cc fc5c bl 80542fc 8087a44: e00f b.n 8087a66 else LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ìV" 8087a46: 4b72 ldr r3, [pc, #456] ; (8087c10 ) 8087a48: 7b1b ldrb r3, [r3, #12] 8087a4a: b2db uxtb r3, r3 8087a4c: 4619 mov r1, r3 8087a4e: 4a72 ldr r2, [pc, #456] ; (8087c18 ) 8087a50: 232c movs r3, #44 ; 0x2c 8087a52: fb03 f301 mul.w r3, r3, r1 8087a56: 4413 add r3, r2 8087a58: 3324 adds r3, #36 ; 0x24 8087a5a: 681b ldr r3, [r3, #0] 8087a5c: 461a mov r2, r3 8087a5e: 21aa movs r1, #170 ; 0xaa 8087a60: 200a movs r0, #10 8087a62: f7cc fc4b bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8087a66: 4969 ldr r1, [pc, #420] ; (8087c0c ) 8087a68: 486c ldr r0, [pc, #432] ; (8087c1c ) 8087a6a: f7cb fe9f bl 80537ac if((pardata.OPTIONS & maskFFT) == okt) 8087a6e: 4b68 ldr r3, [pc, #416] ; (8087c10 ) 8087a70: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8087a74: f003 0330 and.w r3, r3, #48 ; 0x30 8087a78: 2b20 cmp r3, #32 8087a7a: d10e bne.n 8087a9a LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][2]); 8087a7c: 4b64 ldr r3, [pc, #400] ; (8087c10 ) 8087a7e: 7b1b ldrb r3, [r3, #12] 8087a80: b2db uxtb r3, r3 8087a82: 4a68 ldr r2, [pc, #416] ; (8087c24 ) 8087a84: 011b lsls r3, r3, #4 8087a86: 4413 add r3, r2 8087a88: 3308 adds r3, #8 8087a8a: 681b ldr r3, [r3, #0] 8087a8c: 461a mov r2, r3 8087a8e: 213a movs r1, #58 ; 0x3a 8087a90: f44f 7082 mov.w r0, #260 ; 0x104 8087a94: f7cc fc4a bl 805432c 8087a98: e00d b.n 8087ab6 else LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][3]); 8087a9a: 4b5d ldr r3, [pc, #372] ; (8087c10 ) 8087a9c: 7b1b ldrb r3, [r3, #12] 8087a9e: b2db uxtb r3, r3 8087aa0: 4a60 ldr r2, [pc, #384] ; (8087c24 ) 8087aa2: 011b lsls r3, r3, #4 8087aa4: 4413 add r3, r2 8087aa6: 330c adds r3, #12 8087aa8: 681b ldr r3, [r3, #0] 8087aaa: 461a mov r2, r3 8087aac: 213a movs r1, #58 ; 0x3a 8087aae: f44f 7082 mov.w r0, #260 ; 0x104 8087ab2: f7cc fc3b bl 805432c LCD_DisplayStringC(260, LCD_LINE_4, (char *) pIPR_OKT[pardata.LANG][(pardata.IPR << 1) | pardata.IVS[pardata.IPR]]); 8087ab6: 4b56 ldr r3, [pc, #344] ; (8087c10 ) 8087ab8: 7b1b ldrb r3, [r3, #12] 8087aba: b2db uxtb r3, r3 8087abc: 4618 mov r0, r3 8087abe: 4b54 ldr r3, [pc, #336] ; (8087c10 ) 8087ac0: 785b ldrb r3, [r3, #1] 8087ac2: b2db uxtb r3, r3 8087ac4: 005b lsls r3, r3, #1 8087ac6: 4a52 ldr r2, [pc, #328] ; (8087c10 ) 8087ac8: 7852 ldrb r2, [r2, #1] 8087aca: b2d2 uxtb r2, r2 8087acc: 4611 mov r1, r2 8087ace: 4a50 ldr r2, [pc, #320] ; (8087c10 ) 8087ad0: 440a add r2, r1 8087ad2: 7892 ldrb r2, [r2, #2] 8087ad4: b2d2 uxtb r2, r2 8087ad6: 431a orrs r2, r3 8087ad8: 4953 ldr r1, [pc, #332] ; (8087c28 ) 8087ada: 4603 mov r3, r0 8087adc: 005b lsls r3, r3, #1 8087ade: 4403 add r3, r0 8087ae0: 005b lsls r3, r3, #1 8087ae2: 4413 add r3, r2 8087ae4: f851 3023 ldr.w r3, [r1, r3, lsl #2] 8087ae8: 461a mov r2, r3 8087aea: 214a movs r1, #74 ; 0x4a 8087aec: f44f 7082 mov.w r0, #260 ; 0x104 8087af0: f7cc fc1c bl 805432c LCD_DisplayStringC(260, LCD_LINE_7, (char *) pMSH[pardata.LANG][pardata.MSH]); 8087af4: 4b46 ldr r3, [pc, #280] ; (8087c10 ) 8087af6: 7b1b ldrb r3, [r3, #12] 8087af8: b2db uxtb r3, r3 8087afa: 4618 mov r0, r3 8087afc: 4b44 ldr r3, [pc, #272] ; (8087c10 ) 8087afe: 7a9b ldrb r3, [r3, #10] 8087b00: b2db uxtb r3, r3 8087b02: 4619 mov r1, r3 8087b04: 4a49 ldr r2, [pc, #292] ; (8087c2c ) 8087b06: 0043 lsls r3, r0, #1 8087b08: 440b add r3, r1 8087b0a: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8087b0e: 461a mov r2, r3 8087b10: 217a movs r1, #122 ; 0x7a 8087b12: f44f 7082 mov.w r0, #260 ; 0x104 8087b16: f7cc fc09 bl 805432c LCD_DisplayStringC(260, LCD_LINE_8, (char *) pAVERAGE_SEC[pardata.LANG][pardata.AVG]); 8087b1a: 4b3d ldr r3, [pc, #244] ; (8087c10 ) 8087b1c: 7b1b ldrb r3, [r3, #12] 8087b1e: b2db uxtb r3, r3 8087b20: 4619 mov r1, r3 8087b22: 4b3b ldr r3, [pc, #236] ; (8087c10 ) 8087b24: 7b5b ldrb r3, [r3, #13] 8087b26: b2db uxtb r3, r3 8087b28: 4618 mov r0, r3 8087b2a: 4a41 ldr r2, [pc, #260] ; (8087c30 ) 8087b2c: 460b mov r3, r1 8087b2e: 009b lsls r3, r3, #2 8087b30: 440b add r3, r1 8087b32: 005b lsls r3, r3, #1 8087b34: 4403 add r3, r0 8087b36: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8087b3a: 461a mov r2, r3 8087b3c: 218a movs r1, #138 ; 0x8a 8087b3e: f44f 7082 mov.w r0, #260 ; 0x104 8087b42: f7cc fbf3 bl 805432c if(menupos == FilterHP_IDT) 8087b46: 4b36 ldr r3, [pc, #216] ; (8087c20 ) 8087b48: 781b ldrb r3, [r3, #0] 8087b4a: b2db uxtb r3, r3 8087b4c: 2b19 cmp r3, #25 8087b4e: d177 bne.n 8087c40 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8087b50: 492e ldr r1, [pc, #184] ; (8087c0c ) 8087b52: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8087b56: f7cb fe29 bl 80537ac if(blk) 8087b5a: 4b36 ldr r3, [pc, #216] ; (8087c34 ) 8087b5c: 681b ldr r3, [r3, #0] 8087b5e: 2b00 cmp r3, #0 8087b60: d00b beq.n 8087b7a LCD_DisplayString(198, LCD_LINE_5, (char *) pNUMS[idtHP]); 8087b62: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 8087b66: b2db uxtb r3, r3 8087b68: 461a mov r2, r3 8087b6a: 4b33 ldr r3, [pc, #204] ; (8087c38 ) 8087b6c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087b70: 461a mov r2, r3 8087b72: 215a movs r1, #90 ; 0x5a 8087b74: 20c6 movs r0, #198 ; 0xc6 8087b76: f7cc fbc1 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8087b7a: 4924 ldr r1, [pc, #144] ; (8087c0c ) 8087b7c: 4827 ldr r0, [pc, #156] ; (8087c1c ) 8087b7e: f7cb fe15 bl 80537ac LCD_DisplayString(214, LCD_LINE_5, (char *) pNUMS[ietHP]); 8087b82: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 8087b86: b2db uxtb r3, r3 8087b88: 461a mov r2, r3 8087b8a: 4b2b ldr r3, [pc, #172] ; (8087c38 ) 8087b8c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087b90: 461a mov r2, r3 8087b92: 215a movs r1, #90 ; 0x5a 8087b94: 20d6 movs r0, #214 ; 0xd6 8087b96: f7cc fbb1 bl 80542fc LCD_DisplayString(230, LCD_LINE_5, (char *) pNUMS[iesHP]); 8087b9a: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 8087b9e: b2db uxtb r3, r3 8087ba0: 461a mov r2, r3 8087ba2: 4b25 ldr r3, [pc, #148] ; (8087c38 ) 8087ba4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087ba8: 461a mov r2, r3 8087baa: 215a movs r1, #90 ; 0x5a 8087bac: 20e6 movs r0, #230 ; 0xe6 8087bae: f7cc fba5 bl 80542fc LCD_DisplayString(246, LCD_LINE_5, (char *) pNUMS[iedHP]); 8087bb2: f897 33ce ldrb.w r3, [r7, #974] ; 0x3ce 8087bb6: b2db uxtb r3, r3 8087bb8: 461a mov r2, r3 8087bba: 4b1f ldr r3, [pc, #124] ; (8087c38 ) 8087bbc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087bc0: 461a mov r2, r3 8087bc2: 215a movs r1, #90 ; 0x5a 8087bc4: 20f6 movs r0, #246 ; 0xf6 8087bc6: f7cc fb99 bl 80542fc LCD_DisplayString(262, LCD_LINE_5, (char *) pNUMS[ieeHP]); 8087bca: f897 33cd ldrb.w r3, [r7, #973] ; 0x3cd 8087bce: b2db uxtb r3, r3 8087bd0: 461a mov r2, r3 8087bd2: 4b19 ldr r3, [pc, #100] ; (8087c38 ) 8087bd4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087bd8: 461a mov r2, r3 8087bda: 215a movs r1, #90 ; 0x5a 8087bdc: f44f 7083 mov.w r0, #262 ; 0x106 8087be0: f7cc fb8c bl 80542fc LCD_DisplayString(278, LCD_LINE_5, "."); 8087be4: 4a15 ldr r2, [pc, #84] ; (8087c3c ) 8087be6: 215a movs r1, #90 ; 0x5a 8087be8: f44f 708b mov.w r0, #278 ; 0x116 8087bec: f7cc fb86 bl 80542fc LCD_DisplayString(294, LCD_LINE_5, (char *) pNUMS[ikdHP]); 8087bf0: f897 33cc ldrb.w r3, [r7, #972] ; 0x3cc 8087bf4: b2db uxtb r3, r3 8087bf6: 461a mov r2, r3 8087bf8: 4b0f ldr r3, [pc, #60] ; (8087c38 ) 8087bfa: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087bfe: 461a mov r2, r3 8087c00: 215a movs r1, #90 ; 0x5a 8087c02: f44f 7093 mov.w r0, #294 ; 0x126 8087c06: f7cc fb79 bl 80542fc 8087c0a: e213 b.n 8088034 8087c0c: ff0a0f1f .word 0xff0a0f1f 8087c10: 20023e60 .word 0x20023e60 8087c14: 200206b4 .word 0x200206b4 8087c18: 2002070c .word 0x2002070c 8087c1c: ffd8aa57 .word 0xffd8aa57 8087c20: 20020070 .word 0x20020070 8087c24: 2002029c .word 0x2002029c 8087c28: 2002019c .word 0x2002019c 8087c2c: 20020214 .word 0x20020214 8087c30: 2002024c .word 0x2002024c 8087c34: 2002165c .word 0x2002165c 8087c38: 20020964 .word 0x20020964 8087c3c: 080cf7e8 .word 0x080cf7e8 if(menupos == FilterHP_IET) 8087c40: 4bc5 ldr r3, [pc, #788] ; (8087f58 ) 8087c42: 781b ldrb r3, [r3, #0] 8087c44: b2db uxtb r3, r3 8087c46: 2b1a cmp r3, #26 8087c48: d15d bne.n 8087d06 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8087c4a: 49c4 ldr r1, [pc, #784] ; (8087f5c ) 8087c4c: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8087c50: f7cb fdac bl 80537ac if(blk) 8087c54: 4bc2 ldr r3, [pc, #776] ; (8087f60 ) 8087c56: 681b ldr r3, [r3, #0] 8087c58: 2b00 cmp r3, #0 8087c5a: d00b beq.n 8087c74 LCD_DisplayString(214, LCD_LINE_5, (char *) pNUMS[ietHP]); 8087c5c: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 8087c60: b2db uxtb r3, r3 8087c62: 461a mov r2, r3 8087c64: 4bbf ldr r3, [pc, #764] ; (8087f64 ) 8087c66: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087c6a: 461a mov r2, r3 8087c6c: 215a movs r1, #90 ; 0x5a 8087c6e: 20d6 movs r0, #214 ; 0xd6 8087c70: f7cc fb44 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8087c74: 49b9 ldr r1, [pc, #740] ; (8087f5c ) 8087c76: 48bc ldr r0, [pc, #752] ; (8087f68 ) 8087c78: f7cb fd98 bl 80537ac LCD_DisplayString(198, LCD_LINE_5, (char *) pNUMS[idtHP]); 8087c7c: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 8087c80: b2db uxtb r3, r3 8087c82: 461a mov r2, r3 8087c84: 4bb7 ldr r3, [pc, #732] ; (8087f64 ) 8087c86: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087c8a: 461a mov r2, r3 8087c8c: 215a movs r1, #90 ; 0x5a 8087c8e: 20c6 movs r0, #198 ; 0xc6 8087c90: f7cc fb34 bl 80542fc LCD_DisplayString(230, LCD_LINE_5, (char *) pNUMS[iesHP]); 8087c94: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 8087c98: b2db uxtb r3, r3 8087c9a: 461a mov r2, r3 8087c9c: 4bb1 ldr r3, [pc, #708] ; (8087f64 ) 8087c9e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087ca2: 461a mov r2, r3 8087ca4: 215a movs r1, #90 ; 0x5a 8087ca6: 20e6 movs r0, #230 ; 0xe6 8087ca8: f7cc fb28 bl 80542fc LCD_DisplayString(246, LCD_LINE_5, (char *) pNUMS[iedHP]); 8087cac: f897 33ce ldrb.w r3, [r7, #974] ; 0x3ce 8087cb0: b2db uxtb r3, r3 8087cb2: 461a mov r2, r3 8087cb4: 4bab ldr r3, [pc, #684] ; (8087f64 ) 8087cb6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087cba: 461a mov r2, r3 8087cbc: 215a movs r1, #90 ; 0x5a 8087cbe: 20f6 movs r0, #246 ; 0xf6 8087cc0: f7cc fb1c bl 80542fc LCD_DisplayString(262, LCD_LINE_5, (char *) pNUMS[ieeHP]); 8087cc4: f897 33cd ldrb.w r3, [r7, #973] ; 0x3cd 8087cc8: b2db uxtb r3, r3 8087cca: 461a mov r2, r3 8087ccc: 4ba5 ldr r3, [pc, #660] ; (8087f64 ) 8087cce: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087cd2: 461a mov r2, r3 8087cd4: 215a movs r1, #90 ; 0x5a 8087cd6: f44f 7083 mov.w r0, #262 ; 0x106 8087cda: f7cc fb0f bl 80542fc LCD_DisplayString(278, LCD_LINE_5, "."); 8087cde: 4aa3 ldr r2, [pc, #652] ; (8087f6c ) 8087ce0: 215a movs r1, #90 ; 0x5a 8087ce2: f44f 708b mov.w r0, #278 ; 0x116 8087ce6: f7cc fb09 bl 80542fc LCD_DisplayString(294, LCD_LINE_5, (char *) pNUMS[ikdHP]); 8087cea: f897 33cc ldrb.w r3, [r7, #972] ; 0x3cc 8087cee: b2db uxtb r3, r3 8087cf0: 461a mov r2, r3 8087cf2: 4b9c ldr r3, [pc, #624] ; (8087f64 ) 8087cf4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087cf8: 461a mov r2, r3 8087cfa: 215a movs r1, #90 ; 0x5a 8087cfc: f44f 7093 mov.w r0, #294 ; 0x126 8087d00: f7cc fafc bl 80542fc 8087d04: e196 b.n 8088034 if(menupos == FilterHP_IES) 8087d06: 4b94 ldr r3, [pc, #592] ; (8087f58 ) 8087d08: 781b ldrb r3, [r3, #0] 8087d0a: b2db uxtb r3, r3 8087d0c: 2b1b cmp r3, #27 8087d0e: d15d bne.n 8087dcc LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8087d10: 4992 ldr r1, [pc, #584] ; (8087f5c ) 8087d12: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8087d16: f7cb fd49 bl 80537ac if(blk) 8087d1a: 4b91 ldr r3, [pc, #580] ; (8087f60 ) 8087d1c: 681b ldr r3, [r3, #0] 8087d1e: 2b00 cmp r3, #0 8087d20: d00b beq.n 8087d3a LCD_DisplayString(230, LCD_LINE_5, (char *) pNUMS[iesHP]); 8087d22: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 8087d26: b2db uxtb r3, r3 8087d28: 461a mov r2, r3 8087d2a: 4b8e ldr r3, [pc, #568] ; (8087f64 ) 8087d2c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087d30: 461a mov r2, r3 8087d32: 215a movs r1, #90 ; 0x5a 8087d34: 20e6 movs r0, #230 ; 0xe6 8087d36: f7cc fae1 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8087d3a: 4988 ldr r1, [pc, #544] ; (8087f5c ) 8087d3c: 488a ldr r0, [pc, #552] ; (8087f68 ) 8087d3e: f7cb fd35 bl 80537ac LCD_DisplayString(198, LCD_LINE_5, (char *) pNUMS[idtHP]); 8087d42: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 8087d46: b2db uxtb r3, r3 8087d48: 461a mov r2, r3 8087d4a: 4b86 ldr r3, [pc, #536] ; (8087f64 ) 8087d4c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087d50: 461a mov r2, r3 8087d52: 215a movs r1, #90 ; 0x5a 8087d54: 20c6 movs r0, #198 ; 0xc6 8087d56: f7cc fad1 bl 80542fc LCD_DisplayString(214, LCD_LINE_5, (char *) pNUMS[ietHP]); 8087d5a: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 8087d5e: b2db uxtb r3, r3 8087d60: 461a mov r2, r3 8087d62: 4b80 ldr r3, [pc, #512] ; (8087f64 ) 8087d64: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087d68: 461a mov r2, r3 8087d6a: 215a movs r1, #90 ; 0x5a 8087d6c: 20d6 movs r0, #214 ; 0xd6 8087d6e: f7cc fac5 bl 80542fc LCD_DisplayString(246, LCD_LINE_5, (char *) pNUMS[iedHP]); 8087d72: f897 33ce ldrb.w r3, [r7, #974] ; 0x3ce 8087d76: b2db uxtb r3, r3 8087d78: 461a mov r2, r3 8087d7a: 4b7a ldr r3, [pc, #488] ; (8087f64 ) 8087d7c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087d80: 461a mov r2, r3 8087d82: 215a movs r1, #90 ; 0x5a 8087d84: 20f6 movs r0, #246 ; 0xf6 8087d86: f7cc fab9 bl 80542fc LCD_DisplayString(262, LCD_LINE_5, (char *) pNUMS[ieeHP]); 8087d8a: f897 33cd ldrb.w r3, [r7, #973] ; 0x3cd 8087d8e: b2db uxtb r3, r3 8087d90: 461a mov r2, r3 8087d92: 4b74 ldr r3, [pc, #464] ; (8087f64 ) 8087d94: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087d98: 461a mov r2, r3 8087d9a: 215a movs r1, #90 ; 0x5a 8087d9c: f44f 7083 mov.w r0, #262 ; 0x106 8087da0: f7cc faac bl 80542fc LCD_DisplayString(278, LCD_LINE_5, "."); 8087da4: 4a71 ldr r2, [pc, #452] ; (8087f6c ) 8087da6: 215a movs r1, #90 ; 0x5a 8087da8: f44f 708b mov.w r0, #278 ; 0x116 8087dac: f7cc faa6 bl 80542fc LCD_DisplayString(294, LCD_LINE_5, (char *) pNUMS[ikdHP]); 8087db0: f897 33cc ldrb.w r3, [r7, #972] ; 0x3cc 8087db4: b2db uxtb r3, r3 8087db6: 461a mov r2, r3 8087db8: 4b6a ldr r3, [pc, #424] ; (8087f64 ) 8087dba: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087dbe: 461a mov r2, r3 8087dc0: 215a movs r1, #90 ; 0x5a 8087dc2: f44f 7093 mov.w r0, #294 ; 0x126 8087dc6: f7cc fa99 bl 80542fc 8087dca: e133 b.n 8088034 if(menupos == FilterHP_IED) 8087dcc: 4b62 ldr r3, [pc, #392] ; (8087f58 ) 8087dce: 781b ldrb r3, [r3, #0] 8087dd0: b2db uxtb r3, r3 8087dd2: 2b1c cmp r3, #28 8087dd4: d15d bne.n 8087e92 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8087dd6: 4961 ldr r1, [pc, #388] ; (8087f5c ) 8087dd8: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8087ddc: f7cb fce6 bl 80537ac if(blk) 8087de0: 4b5f ldr r3, [pc, #380] ; (8087f60 ) 8087de2: 681b ldr r3, [r3, #0] 8087de4: 2b00 cmp r3, #0 8087de6: d00b beq.n 8087e00 LCD_DisplayString(246, LCD_LINE_5, (char *) pNUMS[iedHP]); 8087de8: f897 33ce ldrb.w r3, [r7, #974] ; 0x3ce 8087dec: b2db uxtb r3, r3 8087dee: 461a mov r2, r3 8087df0: 4b5c ldr r3, [pc, #368] ; (8087f64 ) 8087df2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087df6: 461a mov r2, r3 8087df8: 215a movs r1, #90 ; 0x5a 8087dfa: 20f6 movs r0, #246 ; 0xf6 8087dfc: f7cc fa7e bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8087e00: 4956 ldr r1, [pc, #344] ; (8087f5c ) 8087e02: 4859 ldr r0, [pc, #356] ; (8087f68 ) 8087e04: f7cb fcd2 bl 80537ac LCD_DisplayString(198, LCD_LINE_5, (char *) pNUMS[idtHP]); 8087e08: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 8087e0c: b2db uxtb r3, r3 8087e0e: 461a mov r2, r3 8087e10: 4b54 ldr r3, [pc, #336] ; (8087f64 ) 8087e12: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087e16: 461a mov r2, r3 8087e18: 215a movs r1, #90 ; 0x5a 8087e1a: 20c6 movs r0, #198 ; 0xc6 8087e1c: f7cc fa6e bl 80542fc LCD_DisplayString(214, LCD_LINE_5, (char *) pNUMS[ietHP]); 8087e20: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 8087e24: b2db uxtb r3, r3 8087e26: 461a mov r2, r3 8087e28: 4b4e ldr r3, [pc, #312] ; (8087f64 ) 8087e2a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087e2e: 461a mov r2, r3 8087e30: 215a movs r1, #90 ; 0x5a 8087e32: 20d6 movs r0, #214 ; 0xd6 8087e34: f7cc fa62 bl 80542fc LCD_DisplayString(230, LCD_LINE_5, (char *) pNUMS[iesHP]); 8087e38: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 8087e3c: b2db uxtb r3, r3 8087e3e: 461a mov r2, r3 8087e40: 4b48 ldr r3, [pc, #288] ; (8087f64 ) 8087e42: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087e46: 461a mov r2, r3 8087e48: 215a movs r1, #90 ; 0x5a 8087e4a: 20e6 movs r0, #230 ; 0xe6 8087e4c: f7cc fa56 bl 80542fc LCD_DisplayString(262, LCD_LINE_5, (char *) pNUMS[ieeHP]); 8087e50: f897 33cd ldrb.w r3, [r7, #973] ; 0x3cd 8087e54: b2db uxtb r3, r3 8087e56: 461a mov r2, r3 8087e58: 4b42 ldr r3, [pc, #264] ; (8087f64 ) 8087e5a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087e5e: 461a mov r2, r3 8087e60: 215a movs r1, #90 ; 0x5a 8087e62: f44f 7083 mov.w r0, #262 ; 0x106 8087e66: f7cc fa49 bl 80542fc LCD_DisplayString(278, LCD_LINE_5, "."); 8087e6a: 4a40 ldr r2, [pc, #256] ; (8087f6c ) 8087e6c: 215a movs r1, #90 ; 0x5a 8087e6e: f44f 708b mov.w r0, #278 ; 0x116 8087e72: f7cc fa43 bl 80542fc LCD_DisplayString(294, LCD_LINE_5, (char *) pNUMS[ikdHP]); 8087e76: f897 33cc ldrb.w r3, [r7, #972] ; 0x3cc 8087e7a: b2db uxtb r3, r3 8087e7c: 461a mov r2, r3 8087e7e: 4b39 ldr r3, [pc, #228] ; (8087f64 ) 8087e80: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087e84: 461a mov r2, r3 8087e86: 215a movs r1, #90 ; 0x5a 8087e88: f44f 7093 mov.w r0, #294 ; 0x126 8087e8c: f7cc fa36 bl 80542fc 8087e90: e0d0 b.n 8088034 if(menupos == FilterHP_IEE) 8087e92: 4b31 ldr r3, [pc, #196] ; (8087f58 ) 8087e94: 781b ldrb r3, [r3, #0] 8087e96: b2db uxtb r3, r3 8087e98: 2b1d cmp r3, #29 8087e9a: d169 bne.n 8087f70 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8087e9c: 492f ldr r1, [pc, #188] ; (8087f5c ) 8087e9e: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8087ea2: f7cb fc83 bl 80537ac if(blk) 8087ea6: 4b2e ldr r3, [pc, #184] ; (8087f60 ) 8087ea8: 681b ldr r3, [r3, #0] 8087eaa: 2b00 cmp r3, #0 8087eac: d00c beq.n 8087ec8 LCD_DisplayString(262, LCD_LINE_5, (char *) pNUMS[ieeHP]); 8087eae: f897 33cd ldrb.w r3, [r7, #973] ; 0x3cd 8087eb2: b2db uxtb r3, r3 8087eb4: 461a mov r2, r3 8087eb6: 4b2b ldr r3, [pc, #172] ; (8087f64 ) 8087eb8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087ebc: 461a mov r2, r3 8087ebe: 215a movs r1, #90 ; 0x5a 8087ec0: f44f 7083 mov.w r0, #262 ; 0x106 8087ec4: f7cc fa1a bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8087ec8: 4924 ldr r1, [pc, #144] ; (8087f5c ) 8087eca: 4827 ldr r0, [pc, #156] ; (8087f68 ) 8087ecc: f7cb fc6e bl 80537ac LCD_DisplayString(198, LCD_LINE_5, (char *) pNUMS[idtHP]); 8087ed0: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 8087ed4: b2db uxtb r3, r3 8087ed6: 461a mov r2, r3 8087ed8: 4b22 ldr r3, [pc, #136] ; (8087f64 ) 8087eda: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087ede: 461a mov r2, r3 8087ee0: 215a movs r1, #90 ; 0x5a 8087ee2: 20c6 movs r0, #198 ; 0xc6 8087ee4: f7cc fa0a bl 80542fc LCD_DisplayString(214, LCD_LINE_5, (char *) pNUMS[ietHP]); 8087ee8: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 8087eec: b2db uxtb r3, r3 8087eee: 461a mov r2, r3 8087ef0: 4b1c ldr r3, [pc, #112] ; (8087f64 ) 8087ef2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087ef6: 461a mov r2, r3 8087ef8: 215a movs r1, #90 ; 0x5a 8087efa: 20d6 movs r0, #214 ; 0xd6 8087efc: f7cc f9fe bl 80542fc LCD_DisplayString(230, LCD_LINE_5, (char *) pNUMS[iesHP]); 8087f00: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 8087f04: b2db uxtb r3, r3 8087f06: 461a mov r2, r3 8087f08: 4b16 ldr r3, [pc, #88] ; (8087f64 ) 8087f0a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087f0e: 461a mov r2, r3 8087f10: 215a movs r1, #90 ; 0x5a 8087f12: 20e6 movs r0, #230 ; 0xe6 8087f14: f7cc f9f2 bl 80542fc LCD_DisplayString(246, LCD_LINE_5, (char *) pNUMS[iedHP]); 8087f18: f897 33ce ldrb.w r3, [r7, #974] ; 0x3ce 8087f1c: b2db uxtb r3, r3 8087f1e: 461a mov r2, r3 8087f20: 4b10 ldr r3, [pc, #64] ; (8087f64 ) 8087f22: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087f26: 461a mov r2, r3 8087f28: 215a movs r1, #90 ; 0x5a 8087f2a: 20f6 movs r0, #246 ; 0xf6 8087f2c: f7cc f9e6 bl 80542fc LCD_DisplayString(278, LCD_LINE_5, "."); 8087f30: 4a0e ldr r2, [pc, #56] ; (8087f6c ) 8087f32: 215a movs r1, #90 ; 0x5a 8087f34: f44f 708b mov.w r0, #278 ; 0x116 8087f38: f7cc f9e0 bl 80542fc LCD_DisplayString(294, LCD_LINE_5, (char *) pNUMS[ikdHP]); 8087f3c: f897 33cc ldrb.w r3, [r7, #972] ; 0x3cc 8087f40: b2db uxtb r3, r3 8087f42: 461a mov r2, r3 8087f44: 4b07 ldr r3, [pc, #28] ; (8087f64 ) 8087f46: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087f4a: 461a mov r2, r3 8087f4c: 215a movs r1, #90 ; 0x5a 8087f4e: f44f 7093 mov.w r0, #294 ; 0x126 8087f52: f7cc f9d3 bl 80542fc 8087f56: e06d b.n 8088034 8087f58: 20020070 .word 0x20020070 8087f5c: ff0a0f1f .word 0xff0a0f1f 8087f60: 2002165c .word 0x2002165c 8087f64: 20020964 .word 0x20020964 8087f68: ffd8aa57 .word 0xffd8aa57 8087f6c: 080cf7e8 .word 0x080cf7e8 if(menupos == FilterHP_IKD) 8087f70: 4bc5 ldr r3, [pc, #788] ; (8088288 ) 8087f72: 781b ldrb r3, [r3, #0] 8087f74: b2db uxtb r3, r3 8087f76: 2b1e cmp r3, #30 8087f78: d15c bne.n 8088034 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8087f7a: 49c4 ldr r1, [pc, #784] ; (808828c ) 8087f7c: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8087f80: f7cb fc14 bl 80537ac if(blk) 8087f84: 4bc2 ldr r3, [pc, #776] ; (8088290 ) 8087f86: 681b ldr r3, [r3, #0] 8087f88: 2b00 cmp r3, #0 8087f8a: d00c beq.n 8087fa6 LCD_DisplayString(294, LCD_LINE_5, (char *) pNUMS[ikdHP]); 8087f8c: f897 33cc ldrb.w r3, [r7, #972] ; 0x3cc 8087f90: b2db uxtb r3, r3 8087f92: 461a mov r2, r3 8087f94: 4bbf ldr r3, [pc, #764] ; (8088294 ) 8087f96: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087f9a: 461a mov r2, r3 8087f9c: 215a movs r1, #90 ; 0x5a 8087f9e: f44f 7093 mov.w r0, #294 ; 0x126 8087fa2: f7cc f9ab bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8087fa6: 49b9 ldr r1, [pc, #740] ; (808828c ) 8087fa8: 48bb ldr r0, [pc, #748] ; (8088298 ) 8087faa: f7cb fbff bl 80537ac LCD_DisplayString(198, LCD_LINE_5, (char *) pNUMS[idtHP]); 8087fae: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 8087fb2: b2db uxtb r3, r3 8087fb4: 461a mov r2, r3 8087fb6: 4bb7 ldr r3, [pc, #732] ; (8088294 ) 8087fb8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087fbc: 461a mov r2, r3 8087fbe: 215a movs r1, #90 ; 0x5a 8087fc0: 20c6 movs r0, #198 ; 0xc6 8087fc2: f7cc f99b bl 80542fc LCD_DisplayString(214, LCD_LINE_5, (char *) pNUMS[ietHP]); 8087fc6: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 8087fca: b2db uxtb r3, r3 8087fcc: 461a mov r2, r3 8087fce: 4bb1 ldr r3, [pc, #708] ; (8088294 ) 8087fd0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087fd4: 461a mov r2, r3 8087fd6: 215a movs r1, #90 ; 0x5a 8087fd8: 20d6 movs r0, #214 ; 0xd6 8087fda: f7cc f98f bl 80542fc LCD_DisplayString(230, LCD_LINE_5, (char *) pNUMS[iesHP]); 8087fde: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 8087fe2: b2db uxtb r3, r3 8087fe4: 461a mov r2, r3 8087fe6: 4bab ldr r3, [pc, #684] ; (8088294 ) 8087fe8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087fec: 461a mov r2, r3 8087fee: 215a movs r1, #90 ; 0x5a 8087ff0: 20e6 movs r0, #230 ; 0xe6 8087ff2: f7cc f983 bl 80542fc LCD_DisplayString(246, LCD_LINE_5, (char *) pNUMS[iedHP]); 8087ff6: f897 33ce ldrb.w r3, [r7, #974] ; 0x3ce 8087ffa: b2db uxtb r3, r3 8087ffc: 461a mov r2, r3 8087ffe: 4ba5 ldr r3, [pc, #660] ; (8088294 ) 8088000: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8088004: 461a mov r2, r3 8088006: 215a movs r1, #90 ; 0x5a 8088008: 20f6 movs r0, #246 ; 0xf6 808800a: f7cc f977 bl 80542fc LCD_DisplayString(262, LCD_LINE_5, (char *) pNUMS[ieeHP]); 808800e: f897 33cd ldrb.w r3, [r7, #973] ; 0x3cd 8088012: b2db uxtb r3, r3 8088014: 461a mov r2, r3 8088016: 4b9f ldr r3, [pc, #636] ; (8088294 ) 8088018: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808801c: 461a mov r2, r3 808801e: 215a movs r1, #90 ; 0x5a 8088020: f44f 7083 mov.w r0, #262 ; 0x106 8088024: f7cc f96a bl 80542fc LCD_DisplayString(278, LCD_LINE_5, "."); 8088028: 4a9c ldr r2, [pc, #624] ; (808829c ) 808802a: 215a movs r1, #90 ; 0x5a 808802c: f44f 708b mov.w r0, #278 ; 0x116 8088030: f7cc f964 bl 80542fc if(menupos == FilterLP_IDT) 8088034: 4b94 ldr r3, [pc, #592] ; (8088288 ) 8088036: 781b ldrb r3, [r3, #0] 8088038: b2db uxtb r3, r3 808803a: 2b1f cmp r3, #31 808803c: d15d bne.n 80880fa LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808803e: 4993 ldr r1, [pc, #588] ; (808828c ) 8088040: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8088044: f7cb fbb2 bl 80537ac if(blk) 8088048: 4b91 ldr r3, [pc, #580] ; (8088290 ) 808804a: 681b ldr r3, [r3, #0] 808804c: 2b00 cmp r3, #0 808804e: d00b beq.n 8088068 LCD_DisplayString(198, LCD_LINE_6, (char *) pNUMS[idtLP]); 8088050: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 8088054: b2db uxtb r3, r3 8088056: 461a mov r2, r3 8088058: 4b8e ldr r3, [pc, #568] ; (8088294 ) 808805a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808805e: 461a mov r2, r3 8088060: 216a movs r1, #106 ; 0x6a 8088062: 20c6 movs r0, #198 ; 0xc6 8088064: f7cc f94a bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8088068: 4988 ldr r1, [pc, #544] ; (808828c ) 808806a: 488b ldr r0, [pc, #556] ; (8088298 ) 808806c: f7cb fb9e bl 80537ac LCD_DisplayString(214, LCD_LINE_6, (char *) pNUMS[ietLP]); 8088070: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 8088074: b2db uxtb r3, r3 8088076: 461a mov r2, r3 8088078: 4b86 ldr r3, [pc, #536] ; (8088294 ) 808807a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808807e: 461a mov r2, r3 8088080: 216a movs r1, #106 ; 0x6a 8088082: 20d6 movs r0, #214 ; 0xd6 8088084: f7cc f93a bl 80542fc LCD_DisplayString(230, LCD_LINE_6, (char *) pNUMS[iesLP]); 8088088: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 808808c: b2db uxtb r3, r3 808808e: 461a mov r2, r3 8088090: 4b80 ldr r3, [pc, #512] ; (8088294 ) 8088092: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8088096: 461a mov r2, r3 8088098: 216a movs r1, #106 ; 0x6a 808809a: 20e6 movs r0, #230 ; 0xe6 808809c: f7cc f92e bl 80542fc LCD_DisplayString(246, LCD_LINE_6, (char *) pNUMS[iedLP]); 80880a0: f897 33c7 ldrb.w r3, [r7, #967] ; 0x3c7 80880a4: b2db uxtb r3, r3 80880a6: 461a mov r2, r3 80880a8: 4b7a ldr r3, [pc, #488] ; (8088294 ) 80880aa: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80880ae: 461a mov r2, r3 80880b0: 216a movs r1, #106 ; 0x6a 80880b2: 20f6 movs r0, #246 ; 0xf6 80880b4: f7cc f922 bl 80542fc LCD_DisplayString(262, LCD_LINE_6, (char *) pNUMS[ieeLP]); 80880b8: f897 33c6 ldrb.w r3, [r7, #966] ; 0x3c6 80880bc: b2db uxtb r3, r3 80880be: 461a mov r2, r3 80880c0: 4b74 ldr r3, [pc, #464] ; (8088294 ) 80880c2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80880c6: 461a mov r2, r3 80880c8: 216a movs r1, #106 ; 0x6a 80880ca: f44f 7083 mov.w r0, #262 ; 0x106 80880ce: f7cc f915 bl 80542fc LCD_DisplayString(278, LCD_LINE_6, "."); 80880d2: 4a72 ldr r2, [pc, #456] ; (808829c ) 80880d4: 216a movs r1, #106 ; 0x6a 80880d6: f44f 708b mov.w r0, #278 ; 0x116 80880da: f7cc f90f bl 80542fc LCD_DisplayString(294, LCD_LINE_6, (char *) pNUMS[ikdLP]); 80880de: f897 33c5 ldrb.w r3, [r7, #965] ; 0x3c5 80880e2: b2db uxtb r3, r3 80880e4: 461a mov r2, r3 80880e6: 4b6b ldr r3, [pc, #428] ; (8088294 ) 80880e8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80880ec: 461a mov r2, r3 80880ee: 216a movs r1, #106 ; 0x6a 80880f0: f44f 7093 mov.w r0, #294 ; 0x126 80880f4: f7cc f902 bl 80542fc 80880f8: e1fa b.n 80884f0 if(menupos == FilterLP_IET) 80880fa: 4b63 ldr r3, [pc, #396] ; (8088288 ) 80880fc: 781b ldrb r3, [r3, #0] 80880fe: b2db uxtb r3, r3 8088100: 2b20 cmp r3, #32 8088102: d15d bne.n 80881c0 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8088104: 4961 ldr r1, [pc, #388] ; (808828c ) 8088106: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808810a: f7cb fb4f bl 80537ac if(blk) 808810e: 4b60 ldr r3, [pc, #384] ; (8088290 ) 8088110: 681b ldr r3, [r3, #0] 8088112: 2b00 cmp r3, #0 8088114: d00b beq.n 808812e LCD_DisplayString(214, LCD_LINE_6, (char *) pNUMS[ietLP]); 8088116: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 808811a: b2db uxtb r3, r3 808811c: 461a mov r2, r3 808811e: 4b5d ldr r3, [pc, #372] ; (8088294 ) 8088120: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8088124: 461a mov r2, r3 8088126: 216a movs r1, #106 ; 0x6a 8088128: 20d6 movs r0, #214 ; 0xd6 808812a: f7cc f8e7 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808812e: 4957 ldr r1, [pc, #348] ; (808828c ) 8088130: 4859 ldr r0, [pc, #356] ; (8088298 ) 8088132: f7cb fb3b bl 80537ac LCD_DisplayString(198, LCD_LINE_6, (char *) pNUMS[idtLP]); 8088136: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 808813a: b2db uxtb r3, r3 808813c: 461a mov r2, r3 808813e: 4b55 ldr r3, [pc, #340] ; (8088294 ) 8088140: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8088144: 461a mov r2, r3 8088146: 216a movs r1, #106 ; 0x6a 8088148: 20c6 movs r0, #198 ; 0xc6 808814a: f7cc f8d7 bl 80542fc LCD_DisplayString(230, LCD_LINE_6, (char *) pNUMS[iesLP]); 808814e: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 8088152: b2db uxtb r3, r3 8088154: 461a mov r2, r3 8088156: 4b4f ldr r3, [pc, #316] ; (8088294 ) 8088158: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808815c: 461a mov r2, r3 808815e: 216a movs r1, #106 ; 0x6a 8088160: 20e6 movs r0, #230 ; 0xe6 8088162: f7cc f8cb bl 80542fc LCD_DisplayString(246, LCD_LINE_6, (char *) pNUMS[iedLP]); 8088166: f897 33c7 ldrb.w r3, [r7, #967] ; 0x3c7 808816a: b2db uxtb r3, r3 808816c: 461a mov r2, r3 808816e: 4b49 ldr r3, [pc, #292] ; (8088294 ) 8088170: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8088174: 461a mov r2, r3 8088176: 216a movs r1, #106 ; 0x6a 8088178: 20f6 movs r0, #246 ; 0xf6 808817a: f7cc f8bf bl 80542fc LCD_DisplayString(262, LCD_LINE_6, (char *) pNUMS[ieeLP]); 808817e: f897 33c6 ldrb.w r3, [r7, #966] ; 0x3c6 8088182: b2db uxtb r3, r3 8088184: 461a mov r2, r3 8088186: 4b43 ldr r3, [pc, #268] ; (8088294 ) 8088188: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808818c: 461a mov r2, r3 808818e: 216a movs r1, #106 ; 0x6a 8088190: f44f 7083 mov.w r0, #262 ; 0x106 8088194: f7cc f8b2 bl 80542fc LCD_DisplayString(278, LCD_LINE_6, "."); 8088198: 4a40 ldr r2, [pc, #256] ; (808829c ) 808819a: 216a movs r1, #106 ; 0x6a 808819c: f44f 708b mov.w r0, #278 ; 0x116 80881a0: f7cc f8ac bl 80542fc LCD_DisplayString(294, LCD_LINE_6, (char *) pNUMS[ikdLP]); 80881a4: f897 33c5 ldrb.w r3, [r7, #965] ; 0x3c5 80881a8: b2db uxtb r3, r3 80881aa: 461a mov r2, r3 80881ac: 4b39 ldr r3, [pc, #228] ; (8088294 ) 80881ae: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80881b2: 461a mov r2, r3 80881b4: 216a movs r1, #106 ; 0x6a 80881b6: f44f 7093 mov.w r0, #294 ; 0x126 80881ba: f7cc f89f bl 80542fc 80881be: e197 b.n 80884f0 if(menupos == FilterLP_IES) 80881c0: 4b31 ldr r3, [pc, #196] ; (8088288 ) 80881c2: 781b ldrb r3, [r3, #0] 80881c4: b2db uxtb r3, r3 80881c6: 2b21 cmp r3, #33 ; 0x21 80881c8: d16a bne.n 80882a0 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80881ca: 4930 ldr r1, [pc, #192] ; (808828c ) 80881cc: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80881d0: f7cb faec bl 80537ac if(blk) 80881d4: 4b2e ldr r3, [pc, #184] ; (8088290 ) 80881d6: 681b ldr r3, [r3, #0] 80881d8: 2b00 cmp r3, #0 80881da: d00b beq.n 80881f4 LCD_DisplayString(230, LCD_LINE_6, (char *) pNUMS[iesLP]); 80881dc: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 80881e0: b2db uxtb r3, r3 80881e2: 461a mov r2, r3 80881e4: 4b2b ldr r3, [pc, #172] ; (8088294 ) 80881e6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80881ea: 461a mov r2, r3 80881ec: 216a movs r1, #106 ; 0x6a 80881ee: 20e6 movs r0, #230 ; 0xe6 80881f0: f7cc f884 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80881f4: 4925 ldr r1, [pc, #148] ; (808828c ) 80881f6: 4828 ldr r0, [pc, #160] ; (8088298 ) 80881f8: f7cb fad8 bl 80537ac LCD_DisplayString(198, LCD_LINE_6, (char *) pNUMS[idtLP]); 80881fc: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 8088200: b2db uxtb r3, r3 8088202: 461a mov r2, r3 8088204: 4b23 ldr r3, [pc, #140] ; (8088294 ) 8088206: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808820a: 461a mov r2, r3 808820c: 216a movs r1, #106 ; 0x6a 808820e: 20c6 movs r0, #198 ; 0xc6 8088210: f7cc f874 bl 80542fc LCD_DisplayString(214, LCD_LINE_6, (char *) pNUMS[ietLP]); 8088214: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 8088218: b2db uxtb r3, r3 808821a: 461a mov r2, r3 808821c: 4b1d ldr r3, [pc, #116] ; (8088294 ) 808821e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8088222: 461a mov r2, r3 8088224: 216a movs r1, #106 ; 0x6a 8088226: 20d6 movs r0, #214 ; 0xd6 8088228: f7cc f868 bl 80542fc LCD_DisplayString(246, LCD_LINE_6, (char *) pNUMS[iedLP]); 808822c: f897 33c7 ldrb.w r3, [r7, #967] ; 0x3c7 8088230: b2db uxtb r3, r3 8088232: 461a mov r2, r3 8088234: 4b17 ldr r3, [pc, #92] ; (8088294 ) 8088236: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808823a: 461a mov r2, r3 808823c: 216a movs r1, #106 ; 0x6a 808823e: 20f6 movs r0, #246 ; 0xf6 8088240: f7cc f85c bl 80542fc LCD_DisplayString(262, LCD_LINE_6, (char *) pNUMS[ieeLP]); 8088244: f897 33c6 ldrb.w r3, [r7, #966] ; 0x3c6 8088248: b2db uxtb r3, r3 808824a: 461a mov r2, r3 808824c: 4b11 ldr r3, [pc, #68] ; (8088294 ) 808824e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8088252: 461a mov r2, r3 8088254: 216a movs r1, #106 ; 0x6a 8088256: f44f 7083 mov.w r0, #262 ; 0x106 808825a: f7cc f84f bl 80542fc LCD_DisplayString(278, LCD_LINE_6, "."); 808825e: 4a0f ldr r2, [pc, #60] ; (808829c ) 8088260: 216a movs r1, #106 ; 0x6a 8088262: f44f 708b mov.w r0, #278 ; 0x116 8088266: f7cc f849 bl 80542fc LCD_DisplayString(294, LCD_LINE_6, (char *) pNUMS[ikdLP]); 808826a: f897 33c5 ldrb.w r3, [r7, #965] ; 0x3c5 808826e: b2db uxtb r3, r3 8088270: 461a mov r2, r3 8088272: 4b08 ldr r3, [pc, #32] ; (8088294 ) 8088274: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8088278: 461a mov r2, r3 808827a: 216a movs r1, #106 ; 0x6a 808827c: f44f 7093 mov.w r0, #294 ; 0x126 8088280: f7cc f83c bl 80542fc 8088284: e134 b.n 80884f0 8088286: bf00 nop 8088288: 20020070 .word 0x20020070 808828c: ff0a0f1f .word 0xff0a0f1f 8088290: 2002165c .word 0x2002165c 8088294: 20020964 .word 0x20020964 8088298: ffd8aa57 .word 0xffd8aa57 808829c: 080cf7e8 .word 0x080cf7e8 if(menupos == FilterLP_IED) 80882a0: 4bc5 ldr r3, [pc, #788] ; (80885b8 ) 80882a2: 781b ldrb r3, [r3, #0] 80882a4: b2db uxtb r3, r3 80882a6: 2b22 cmp r3, #34 ; 0x22 80882a8: d15d bne.n 8088366 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80882aa: 49c4 ldr r1, [pc, #784] ; (80885bc ) 80882ac: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80882b0: f7cb fa7c bl 80537ac if(blk) 80882b4: 4bc2 ldr r3, [pc, #776] ; (80885c0 ) 80882b6: 681b ldr r3, [r3, #0] 80882b8: 2b00 cmp r3, #0 80882ba: d00b beq.n 80882d4 LCD_DisplayString(246, LCD_LINE_6, (char *) pNUMS[iedLP]); 80882bc: f897 33c7 ldrb.w r3, [r7, #967] ; 0x3c7 80882c0: b2db uxtb r3, r3 80882c2: 461a mov r2, r3 80882c4: 4bbf ldr r3, [pc, #764] ; (80885c4 ) 80882c6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80882ca: 461a mov r2, r3 80882cc: 216a movs r1, #106 ; 0x6a 80882ce: 20f6 movs r0, #246 ; 0xf6 80882d0: f7cc f814 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80882d4: 49b9 ldr r1, [pc, #740] ; (80885bc ) 80882d6: 48bc ldr r0, [pc, #752] ; (80885c8 ) 80882d8: f7cb fa68 bl 80537ac LCD_DisplayString(198, LCD_LINE_6, (char *) pNUMS[idtLP]); 80882dc: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 80882e0: b2db uxtb r3, r3 80882e2: 461a mov r2, r3 80882e4: 4bb7 ldr r3, [pc, #732] ; (80885c4 ) 80882e6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80882ea: 461a mov r2, r3 80882ec: 216a movs r1, #106 ; 0x6a 80882ee: 20c6 movs r0, #198 ; 0xc6 80882f0: f7cc f804 bl 80542fc LCD_DisplayString(214, LCD_LINE_6, (char *) pNUMS[ietLP]); 80882f4: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 80882f8: b2db uxtb r3, r3 80882fa: 461a mov r2, r3 80882fc: 4bb1 ldr r3, [pc, #708] ; (80885c4 ) 80882fe: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8088302: 461a mov r2, r3 8088304: 216a movs r1, #106 ; 0x6a 8088306: 20d6 movs r0, #214 ; 0xd6 8088308: f7cb fff8 bl 80542fc LCD_DisplayString(230, LCD_LINE_6, (char *) pNUMS[iesLP]); 808830c: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 8088310: b2db uxtb r3, r3 8088312: 461a mov r2, r3 8088314: 4bab ldr r3, [pc, #684] ; (80885c4 ) 8088316: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808831a: 461a mov r2, r3 808831c: 216a movs r1, #106 ; 0x6a 808831e: 20e6 movs r0, #230 ; 0xe6 8088320: f7cb ffec bl 80542fc LCD_DisplayString(262, LCD_LINE_6, (char *) pNUMS[ieeLP]); 8088324: f897 33c6 ldrb.w r3, [r7, #966] ; 0x3c6 8088328: b2db uxtb r3, r3 808832a: 461a mov r2, r3 808832c: 4ba5 ldr r3, [pc, #660] ; (80885c4 ) 808832e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8088332: 461a mov r2, r3 8088334: 216a movs r1, #106 ; 0x6a 8088336: f44f 7083 mov.w r0, #262 ; 0x106 808833a: f7cb ffdf bl 80542fc LCD_DisplayString(278, LCD_LINE_6, "."); 808833e: 4aa3 ldr r2, [pc, #652] ; (80885cc ) 8088340: 216a movs r1, #106 ; 0x6a 8088342: f44f 708b mov.w r0, #278 ; 0x116 8088346: f7cb ffd9 bl 80542fc LCD_DisplayString(294, LCD_LINE_6, (char *) pNUMS[ikdLP]); 808834a: f897 33c5 ldrb.w r3, [r7, #965] ; 0x3c5 808834e: b2db uxtb r3, r3 8088350: 461a mov r2, r3 8088352: 4b9c ldr r3, [pc, #624] ; (80885c4 ) 8088354: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8088358: 461a mov r2, r3 808835a: 216a movs r1, #106 ; 0x6a 808835c: f44f 7093 mov.w r0, #294 ; 0x126 8088360: f7cb ffcc bl 80542fc 8088364: e0c4 b.n 80884f0 if(menupos == FilterLP_IEE) 8088366: 4b94 ldr r3, [pc, #592] ; (80885b8 ) 8088368: 781b ldrb r3, [r3, #0] 808836a: b2db uxtb r3, r3 808836c: 2b23 cmp r3, #35 ; 0x23 808836e: d15d bne.n 808842c LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8088370: 4992 ldr r1, [pc, #584] ; (80885bc ) 8088372: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8088376: f7cb fa19 bl 80537ac if(blk) 808837a: 4b91 ldr r3, [pc, #580] ; (80885c0 ) 808837c: 681b ldr r3, [r3, #0] 808837e: 2b00 cmp r3, #0 8088380: d00c beq.n 808839c LCD_DisplayString(262, LCD_LINE_6, (char *) pNUMS[ieeLP]); 8088382: f897 33c6 ldrb.w r3, [r7, #966] ; 0x3c6 8088386: b2db uxtb r3, r3 8088388: 461a mov r2, r3 808838a: 4b8e ldr r3, [pc, #568] ; (80885c4 ) 808838c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8088390: 461a mov r2, r3 8088392: 216a movs r1, #106 ; 0x6a 8088394: f44f 7083 mov.w r0, #262 ; 0x106 8088398: f7cb ffb0 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808839c: 4987 ldr r1, [pc, #540] ; (80885bc ) 808839e: 488a ldr r0, [pc, #552] ; (80885c8 ) 80883a0: f7cb fa04 bl 80537ac LCD_DisplayString(198, LCD_LINE_6, (char *) pNUMS[idtLP]); 80883a4: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 80883a8: b2db uxtb r3, r3 80883aa: 461a mov r2, r3 80883ac: 4b85 ldr r3, [pc, #532] ; (80885c4 ) 80883ae: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80883b2: 461a mov r2, r3 80883b4: 216a movs r1, #106 ; 0x6a 80883b6: 20c6 movs r0, #198 ; 0xc6 80883b8: f7cb ffa0 bl 80542fc LCD_DisplayString(214, LCD_LINE_6, (char *) pNUMS[ietLP]); 80883bc: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 80883c0: b2db uxtb r3, r3 80883c2: 461a mov r2, r3 80883c4: 4b7f ldr r3, [pc, #508] ; (80885c4 ) 80883c6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80883ca: 461a mov r2, r3 80883cc: 216a movs r1, #106 ; 0x6a 80883ce: 20d6 movs r0, #214 ; 0xd6 80883d0: f7cb ff94 bl 80542fc LCD_DisplayString(230, LCD_LINE_6, (char *) pNUMS[iesLP]); 80883d4: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 80883d8: b2db uxtb r3, r3 80883da: 461a mov r2, r3 80883dc: 4b79 ldr r3, [pc, #484] ; (80885c4 ) 80883de: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80883e2: 461a mov r2, r3 80883e4: 216a movs r1, #106 ; 0x6a 80883e6: 20e6 movs r0, #230 ; 0xe6 80883e8: f7cb ff88 bl 80542fc LCD_DisplayString(246, LCD_LINE_6, (char *) pNUMS[iedLP]); 80883ec: f897 33c7 ldrb.w r3, [r7, #967] ; 0x3c7 80883f0: b2db uxtb r3, r3 80883f2: 461a mov r2, r3 80883f4: 4b73 ldr r3, [pc, #460] ; (80885c4 ) 80883f6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80883fa: 461a mov r2, r3 80883fc: 216a movs r1, #106 ; 0x6a 80883fe: 20f6 movs r0, #246 ; 0xf6 8088400: f7cb ff7c bl 80542fc LCD_DisplayString(278, LCD_LINE_6, "."); 8088404: 4a71 ldr r2, [pc, #452] ; (80885cc ) 8088406: 216a movs r1, #106 ; 0x6a 8088408: f44f 708b mov.w r0, #278 ; 0x116 808840c: f7cb ff76 bl 80542fc LCD_DisplayString(294, LCD_LINE_6, (char *) pNUMS[ikdLP]); 8088410: f897 33c5 ldrb.w r3, [r7, #965] ; 0x3c5 8088414: b2db uxtb r3, r3 8088416: 461a mov r2, r3 8088418: 4b6a ldr r3, [pc, #424] ; (80885c4 ) 808841a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808841e: 461a mov r2, r3 8088420: 216a movs r1, #106 ; 0x6a 8088422: f44f 7093 mov.w r0, #294 ; 0x126 8088426: f7cb ff69 bl 80542fc 808842a: e061 b.n 80884f0 if(menupos == FilterLP_IKD) 808842c: 4b62 ldr r3, [pc, #392] ; (80885b8 ) 808842e: 781b ldrb r3, [r3, #0] 8088430: b2db uxtb r3, r3 8088432: 2b24 cmp r3, #36 ; 0x24 8088434: d15c bne.n 80884f0 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8088436: 4961 ldr r1, [pc, #388] ; (80885bc ) 8088438: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808843c: f7cb f9b6 bl 80537ac if(blk) 8088440: 4b5f ldr r3, [pc, #380] ; (80885c0 ) 8088442: 681b ldr r3, [r3, #0] 8088444: 2b00 cmp r3, #0 8088446: d00c beq.n 8088462 LCD_DisplayString(294, LCD_LINE_6, (char *) pNUMS[ikdLP]); 8088448: f897 33c5 ldrb.w r3, [r7, #965] ; 0x3c5 808844c: b2db uxtb r3, r3 808844e: 461a mov r2, r3 8088450: 4b5c ldr r3, [pc, #368] ; (80885c4 ) 8088452: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8088456: 461a mov r2, r3 8088458: 216a movs r1, #106 ; 0x6a 808845a: f44f 7093 mov.w r0, #294 ; 0x126 808845e: f7cb ff4d bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8088462: 4956 ldr r1, [pc, #344] ; (80885bc ) 8088464: 4858 ldr r0, [pc, #352] ; (80885c8 ) 8088466: f7cb f9a1 bl 80537ac LCD_DisplayString(198, LCD_LINE_6, (char *) pNUMS[idtLP]); 808846a: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 808846e: b2db uxtb r3, r3 8088470: 461a mov r2, r3 8088472: 4b54 ldr r3, [pc, #336] ; (80885c4 ) 8088474: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8088478: 461a mov r2, r3 808847a: 216a movs r1, #106 ; 0x6a 808847c: 20c6 movs r0, #198 ; 0xc6 808847e: f7cb ff3d bl 80542fc LCD_DisplayString(214, LCD_LINE_6, (char *) pNUMS[ietLP]); 8088482: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 8088486: b2db uxtb r3, r3 8088488: 461a mov r2, r3 808848a: 4b4e ldr r3, [pc, #312] ; (80885c4 ) 808848c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8088490: 461a mov r2, r3 8088492: 216a movs r1, #106 ; 0x6a 8088494: 20d6 movs r0, #214 ; 0xd6 8088496: f7cb ff31 bl 80542fc LCD_DisplayString(230, LCD_LINE_6, (char *) pNUMS[iesLP]); 808849a: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 808849e: b2db uxtb r3, r3 80884a0: 461a mov r2, r3 80884a2: 4b48 ldr r3, [pc, #288] ; (80885c4 ) 80884a4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80884a8: 461a mov r2, r3 80884aa: 216a movs r1, #106 ; 0x6a 80884ac: 20e6 movs r0, #230 ; 0xe6 80884ae: f7cb ff25 bl 80542fc LCD_DisplayString(246, LCD_LINE_6, (char *) pNUMS[iedLP]); 80884b2: f897 33c7 ldrb.w r3, [r7, #967] ; 0x3c7 80884b6: b2db uxtb r3, r3 80884b8: 461a mov r2, r3 80884ba: 4b42 ldr r3, [pc, #264] ; (80885c4 ) 80884bc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80884c0: 461a mov r2, r3 80884c2: 216a movs r1, #106 ; 0x6a 80884c4: 20f6 movs r0, #246 ; 0xf6 80884c6: f7cb ff19 bl 80542fc LCD_DisplayString(262, LCD_LINE_6, (char *) pNUMS[ieeLP]); 80884ca: f897 33c6 ldrb.w r3, [r7, #966] ; 0x3c6 80884ce: b2db uxtb r3, r3 80884d0: 461a mov r2, r3 80884d2: 4b3c ldr r3, [pc, #240] ; (80885c4 ) 80884d4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80884d8: 461a mov r2, r3 80884da: 216a movs r1, #106 ; 0x6a 80884dc: f44f 7083 mov.w r0, #262 ; 0x106 80884e0: f7cb ff0c bl 80542fc LCD_DisplayString(278, LCD_LINE_6, "."); 80884e4: 4a39 ldr r2, [pc, #228] ; (80885cc ) 80884e6: 216a movs r1, #106 ; 0x6a 80884e8: f44f 708b mov.w r0, #278 ; 0x116 80884ec: f7cb ff06 bl 80542fc if(menupos == VibMax_IDT) 80884f0: 4b31 ldr r3, [pc, #196] ; (80885b8 ) 80884f2: 781b ldrb r3, [r3, #0] 80884f4: b2db uxtb r3, r3 80884f6: 2b0b cmp r3, #11 80884f8: d16a bne.n 80885d0 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80884fa: 4930 ldr r1, [pc, #192] ; (80885bc ) 80884fc: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8088500: f7cb f954 bl 80537ac if(blk) 8088504: 4b2e ldr r3, [pc, #184] ; (80885c0 ) 8088506: 681b ldr r3, [r3, #0] 8088508: 2b00 cmp r3, #0 808850a: d00b beq.n 8088524 LCD_DisplayString(198, LCD_LINE_10, (char *) pNUMS[idt2]); 808850c: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 8088510: b2db uxtb r3, r3 8088512: 461a mov r2, r3 8088514: 4b2b ldr r3, [pc, #172] ; (80885c4 ) 8088516: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808851a: 461a mov r2, r3 808851c: 21aa movs r1, #170 ; 0xaa 808851e: 20c6 movs r0, #198 ; 0xc6 8088520: f7cb feec bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8088524: 4925 ldr r1, [pc, #148] ; (80885bc ) 8088526: 4828 ldr r0, [pc, #160] ; (80885c8 ) 8088528: f7cb f940 bl 80537ac LCD_DisplayString(214, LCD_LINE_10, (char *) pNUMS[iet2]); 808852c: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 8088530: b2db uxtb r3, r3 8088532: 461a mov r2, r3 8088534: 4b23 ldr r3, [pc, #140] ; (80885c4 ) 8088536: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808853a: 461a mov r2, r3 808853c: 21aa movs r1, #170 ; 0xaa 808853e: 20d6 movs r0, #214 ; 0xd6 8088540: f7cb fedc bl 80542fc LCD_DisplayString(230, LCD_LINE_10, (char *) pNUMS[ies2]); 8088544: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 8088548: b2db uxtb r3, r3 808854a: 461a mov r2, r3 808854c: 4b1d ldr r3, [pc, #116] ; (80885c4 ) 808854e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8088552: 461a mov r2, r3 8088554: 21aa movs r1, #170 ; 0xaa 8088556: 20e6 movs r0, #230 ; 0xe6 8088558: f7cb fed0 bl 80542fc LCD_DisplayString(246, LCD_LINE_10, (char *) pNUMS[ied2]); 808855c: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 8088560: b2db uxtb r3, r3 8088562: 461a mov r2, r3 8088564: 4b17 ldr r3, [pc, #92] ; (80885c4 ) 8088566: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808856a: 461a mov r2, r3 808856c: 21aa movs r1, #170 ; 0xaa 808856e: 20f6 movs r0, #246 ; 0xf6 8088570: f7cb fec4 bl 80542fc LCD_DisplayString(262, LCD_LINE_10, (char *) pNUMS[iee2]); 8088574: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 8088578: b2db uxtb r3, r3 808857a: 461a mov r2, r3 808857c: 4b11 ldr r3, [pc, #68] ; (80885c4 ) 808857e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8088582: 461a mov r2, r3 8088584: 21aa movs r1, #170 ; 0xaa 8088586: f44f 7083 mov.w r0, #262 ; 0x106 808858a: f7cb feb7 bl 80542fc LCD_DisplayString(278, LCD_LINE_10, "."); 808858e: 4a0f ldr r2, [pc, #60] ; (80885cc ) 8088590: 21aa movs r1, #170 ; 0xaa 8088592: f44f 708b mov.w r0, #278 ; 0x116 8088596: f7cb feb1 bl 80542fc LCD_DisplayString(294, LCD_LINE_10, (char *) pNUMS[ikd2]); 808859a: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 808859e: b2db uxtb r3, r3 80885a0: 461a mov r2, r3 80885a2: 4b08 ldr r3, [pc, #32] ; (80885c4 ) 80885a4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80885a8: 461a mov r2, r3 80885aa: 21aa movs r1, #170 ; 0xaa 80885ac: f44f 7093 mov.w r0, #294 ; 0x126 80885b0: f7cb fea4 bl 80542fc 80885b4: e206 b.n 80889c4 80885b6: bf00 nop 80885b8: 20020070 .word 0x20020070 80885bc: ff0a0f1f .word 0xff0a0f1f 80885c0: 2002165c .word 0x2002165c 80885c4: 20020964 .word 0x20020964 80885c8: ffd8aa57 .word 0xffd8aa57 80885cc: 080cf7e8 .word 0x080cf7e8 if(menupos == VibMax_IET) 80885d0: 4bc5 ldr r3, [pc, #788] ; (80888e8 ) 80885d2: 781b ldrb r3, [r3, #0] 80885d4: b2db uxtb r3, r3 80885d6: 2b0c cmp r3, #12 80885d8: d15d bne.n 8088696 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80885da: 49c4 ldr r1, [pc, #784] ; (80888ec ) 80885dc: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80885e0: f7cb f8e4 bl 80537ac if(blk) 80885e4: 4bc2 ldr r3, [pc, #776] ; (80888f0 ) 80885e6: 681b ldr r3, [r3, #0] 80885e8: 2b00 cmp r3, #0 80885ea: d00b beq.n 8088604 LCD_DisplayString(214, LCD_LINE_10, (char *) pNUMS[iet2]); 80885ec: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 80885f0: b2db uxtb r3, r3 80885f2: 461a mov r2, r3 80885f4: 4bbf ldr r3, [pc, #764] ; (80888f4 ) 80885f6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80885fa: 461a mov r2, r3 80885fc: 21aa movs r1, #170 ; 0xaa 80885fe: 20d6 movs r0, #214 ; 0xd6 8088600: f7cb fe7c bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8088604: 49b9 ldr r1, [pc, #740] ; (80888ec ) 8088606: 48bc ldr r0, [pc, #752] ; (80888f8 ) 8088608: f7cb f8d0 bl 80537ac LCD_DisplayString(198, LCD_LINE_10, (char *) pNUMS[idt2]); 808860c: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 8088610: b2db uxtb r3, r3 8088612: 461a mov r2, r3 8088614: 4bb7 ldr r3, [pc, #732] ; (80888f4 ) 8088616: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808861a: 461a mov r2, r3 808861c: 21aa movs r1, #170 ; 0xaa 808861e: 20c6 movs r0, #198 ; 0xc6 8088620: f7cb fe6c bl 80542fc LCD_DisplayString(230, LCD_LINE_10, (char *) pNUMS[ies2]); 8088624: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 8088628: b2db uxtb r3, r3 808862a: 461a mov r2, r3 808862c: 4bb1 ldr r3, [pc, #708] ; (80888f4 ) 808862e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8088632: 461a mov r2, r3 8088634: 21aa movs r1, #170 ; 0xaa 8088636: 20e6 movs r0, #230 ; 0xe6 8088638: f7cb fe60 bl 80542fc LCD_DisplayString(246, LCD_LINE_10, (char *) pNUMS[ied2]); 808863c: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 8088640: b2db uxtb r3, r3 8088642: 461a mov r2, r3 8088644: 4bab ldr r3, [pc, #684] ; (80888f4 ) 8088646: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808864a: 461a mov r2, r3 808864c: 21aa movs r1, #170 ; 0xaa 808864e: 20f6 movs r0, #246 ; 0xf6 8088650: f7cb fe54 bl 80542fc LCD_DisplayString(262, LCD_LINE_10, (char *) pNUMS[iee2]); 8088654: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 8088658: b2db uxtb r3, r3 808865a: 461a mov r2, r3 808865c: 4ba5 ldr r3, [pc, #660] ; (80888f4 ) 808865e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8088662: 461a mov r2, r3 8088664: 21aa movs r1, #170 ; 0xaa 8088666: f44f 7083 mov.w r0, #262 ; 0x106 808866a: f7cb fe47 bl 80542fc LCD_DisplayString(278, LCD_LINE_10, "."); 808866e: 4aa3 ldr r2, [pc, #652] ; (80888fc ) 8088670: 21aa movs r1, #170 ; 0xaa 8088672: f44f 708b mov.w r0, #278 ; 0x116 8088676: f7cb fe41 bl 80542fc LCD_DisplayString(294, LCD_LINE_10, (char *) pNUMS[ikd2]); 808867a: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 808867e: b2db uxtb r3, r3 8088680: 461a mov r2, r3 8088682: 4b9c ldr r3, [pc, #624] ; (80888f4 ) 8088684: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8088688: 461a mov r2, r3 808868a: 21aa movs r1, #170 ; 0xaa 808868c: f44f 7093 mov.w r0, #294 ; 0x126 8088690: f7cb fe34 bl 80542fc 8088694: e196 b.n 80889c4 if(menupos == VibMax_IES) 8088696: 4b94 ldr r3, [pc, #592] ; (80888e8 ) 8088698: 781b ldrb r3, [r3, #0] 808869a: b2db uxtb r3, r3 808869c: 2b0d cmp r3, #13 808869e: d15d bne.n 808875c LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80886a0: 4992 ldr r1, [pc, #584] ; (80888ec ) 80886a2: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80886a6: f7cb f881 bl 80537ac if(blk) 80886aa: 4b91 ldr r3, [pc, #580] ; (80888f0 ) 80886ac: 681b ldr r3, [r3, #0] 80886ae: 2b00 cmp r3, #0 80886b0: d00b beq.n 80886ca LCD_DisplayString(230, LCD_LINE_10, (char *) pNUMS[ies2]); 80886b2: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 80886b6: b2db uxtb r3, r3 80886b8: 461a mov r2, r3 80886ba: 4b8e ldr r3, [pc, #568] ; (80888f4 ) 80886bc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80886c0: 461a mov r2, r3 80886c2: 21aa movs r1, #170 ; 0xaa 80886c4: 20e6 movs r0, #230 ; 0xe6 80886c6: f7cb fe19 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80886ca: 4988 ldr r1, [pc, #544] ; (80888ec ) 80886cc: 488a ldr r0, [pc, #552] ; (80888f8 ) 80886ce: f7cb f86d bl 80537ac LCD_DisplayString(198, LCD_LINE_10, (char *) pNUMS[idt2]); 80886d2: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 80886d6: b2db uxtb r3, r3 80886d8: 461a mov r2, r3 80886da: 4b86 ldr r3, [pc, #536] ; (80888f4 ) 80886dc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80886e0: 461a mov r2, r3 80886e2: 21aa movs r1, #170 ; 0xaa 80886e4: 20c6 movs r0, #198 ; 0xc6 80886e6: f7cb fe09 bl 80542fc LCD_DisplayString(214, LCD_LINE_10, (char *) pNUMS[iet2]); 80886ea: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 80886ee: b2db uxtb r3, r3 80886f0: 461a mov r2, r3 80886f2: 4b80 ldr r3, [pc, #512] ; (80888f4 ) 80886f4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80886f8: 461a mov r2, r3 80886fa: 21aa movs r1, #170 ; 0xaa 80886fc: 20d6 movs r0, #214 ; 0xd6 80886fe: f7cb fdfd bl 80542fc LCD_DisplayString(246, LCD_LINE_10, (char *) pNUMS[ied2]); 8088702: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 8088706: b2db uxtb r3, r3 8088708: 461a mov r2, r3 808870a: 4b7a ldr r3, [pc, #488] ; (80888f4 ) 808870c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8088710: 461a mov r2, r3 8088712: 21aa movs r1, #170 ; 0xaa 8088714: 20f6 movs r0, #246 ; 0xf6 8088716: f7cb fdf1 bl 80542fc LCD_DisplayString(262, LCD_LINE_10, (char *) pNUMS[iee2]); 808871a: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 808871e: b2db uxtb r3, r3 8088720: 461a mov r2, r3 8088722: 4b74 ldr r3, [pc, #464] ; (80888f4 ) 8088724: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8088728: 461a mov r2, r3 808872a: 21aa movs r1, #170 ; 0xaa 808872c: f44f 7083 mov.w r0, #262 ; 0x106 8088730: f7cb fde4 bl 80542fc LCD_DisplayString(278, LCD_LINE_10, "."); 8088734: 4a71 ldr r2, [pc, #452] ; (80888fc ) 8088736: 21aa movs r1, #170 ; 0xaa 8088738: f44f 708b mov.w r0, #278 ; 0x116 808873c: f7cb fdde bl 80542fc LCD_DisplayString(294, LCD_LINE_10, (char *) pNUMS[ikd2]); 8088740: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 8088744: b2db uxtb r3, r3 8088746: 461a mov r2, r3 8088748: 4b6a ldr r3, [pc, #424] ; (80888f4 ) 808874a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808874e: 461a mov r2, r3 8088750: 21aa movs r1, #170 ; 0xaa 8088752: f44f 7093 mov.w r0, #294 ; 0x126 8088756: f7cb fdd1 bl 80542fc 808875a: e133 b.n 80889c4 if(menupos == VibMax_IED) 808875c: 4b62 ldr r3, [pc, #392] ; (80888e8 ) 808875e: 781b ldrb r3, [r3, #0] 8088760: b2db uxtb r3, r3 8088762: 2b0e cmp r3, #14 8088764: d15d bne.n 8088822 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8088766: 4961 ldr r1, [pc, #388] ; (80888ec ) 8088768: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808876c: f7cb f81e bl 80537ac if(blk) 8088770: 4b5f ldr r3, [pc, #380] ; (80888f0 ) 8088772: 681b ldr r3, [r3, #0] 8088774: 2b00 cmp r3, #0 8088776: d00b beq.n 8088790 LCD_DisplayString(246, LCD_LINE_10, (char *) pNUMS[ied2]); 8088778: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 808877c: b2db uxtb r3, r3 808877e: 461a mov r2, r3 8088780: 4b5c ldr r3, [pc, #368] ; (80888f4 ) 8088782: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8088786: 461a mov r2, r3 8088788: 21aa movs r1, #170 ; 0xaa 808878a: 20f6 movs r0, #246 ; 0xf6 808878c: f7cb fdb6 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8088790: 4956 ldr r1, [pc, #344] ; (80888ec ) 8088792: 4859 ldr r0, [pc, #356] ; (80888f8 ) 8088794: f7cb f80a bl 80537ac LCD_DisplayString(198, LCD_LINE_10, (char *) pNUMS[idt2]); 8088798: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 808879c: b2db uxtb r3, r3 808879e: 461a mov r2, r3 80887a0: 4b54 ldr r3, [pc, #336] ; (80888f4 ) 80887a2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80887a6: 461a mov r2, r3 80887a8: 21aa movs r1, #170 ; 0xaa 80887aa: 20c6 movs r0, #198 ; 0xc6 80887ac: f7cb fda6 bl 80542fc LCD_DisplayString(214, LCD_LINE_10, (char *) pNUMS[iet2]); 80887b0: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 80887b4: b2db uxtb r3, r3 80887b6: 461a mov r2, r3 80887b8: 4b4e ldr r3, [pc, #312] ; (80888f4 ) 80887ba: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80887be: 461a mov r2, r3 80887c0: 21aa movs r1, #170 ; 0xaa 80887c2: 20d6 movs r0, #214 ; 0xd6 80887c4: f7cb fd9a bl 80542fc LCD_DisplayString(230, LCD_LINE_10, (char *) pNUMS[ies2]); 80887c8: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 80887cc: b2db uxtb r3, r3 80887ce: 461a mov r2, r3 80887d0: 4b48 ldr r3, [pc, #288] ; (80888f4 ) 80887d2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80887d6: 461a mov r2, r3 80887d8: 21aa movs r1, #170 ; 0xaa 80887da: 20e6 movs r0, #230 ; 0xe6 80887dc: f7cb fd8e bl 80542fc LCD_DisplayString(262, LCD_LINE_10, (char *) pNUMS[iee2]); 80887e0: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 80887e4: b2db uxtb r3, r3 80887e6: 461a mov r2, r3 80887e8: 4b42 ldr r3, [pc, #264] ; (80888f4 ) 80887ea: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80887ee: 461a mov r2, r3 80887f0: 21aa movs r1, #170 ; 0xaa 80887f2: f44f 7083 mov.w r0, #262 ; 0x106 80887f6: f7cb fd81 bl 80542fc LCD_DisplayString(278, LCD_LINE_10, "."); 80887fa: 4a40 ldr r2, [pc, #256] ; (80888fc ) 80887fc: 21aa movs r1, #170 ; 0xaa 80887fe: f44f 708b mov.w r0, #278 ; 0x116 8088802: f7cb fd7b bl 80542fc LCD_DisplayString(294, LCD_LINE_10, (char *) pNUMS[ikd2]); 8088806: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 808880a: b2db uxtb r3, r3 808880c: 461a mov r2, r3 808880e: 4b39 ldr r3, [pc, #228] ; (80888f4 ) 8088810: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8088814: 461a mov r2, r3 8088816: 21aa movs r1, #170 ; 0xaa 8088818: f44f 7093 mov.w r0, #294 ; 0x126 808881c: f7cb fd6e bl 80542fc 8088820: e0d0 b.n 80889c4 if(menupos == VibMax_IEE) 8088822: 4b31 ldr r3, [pc, #196] ; (80888e8 ) 8088824: 781b ldrb r3, [r3, #0] 8088826: b2db uxtb r3, r3 8088828: 2b0f cmp r3, #15 808882a: d169 bne.n 8088900 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808882c: 492f ldr r1, [pc, #188] ; (80888ec ) 808882e: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8088832: f7ca ffbb bl 80537ac if(blk) 8088836: 4b2e ldr r3, [pc, #184] ; (80888f0 ) 8088838: 681b ldr r3, [r3, #0] 808883a: 2b00 cmp r3, #0 808883c: d00c beq.n 8088858 LCD_DisplayString(262, LCD_LINE_10, (char *) pNUMS[iee2]); 808883e: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 8088842: b2db uxtb r3, r3 8088844: 461a mov r2, r3 8088846: 4b2b ldr r3, [pc, #172] ; (80888f4 ) 8088848: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808884c: 461a mov r2, r3 808884e: 21aa movs r1, #170 ; 0xaa 8088850: f44f 7083 mov.w r0, #262 ; 0x106 8088854: f7cb fd52 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8088858: 4924 ldr r1, [pc, #144] ; (80888ec ) 808885a: 4827 ldr r0, [pc, #156] ; (80888f8 ) 808885c: f7ca ffa6 bl 80537ac LCD_DisplayString(198, LCD_LINE_10, (char *) pNUMS[idt2]); 8088860: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 8088864: b2db uxtb r3, r3 8088866: 461a mov r2, r3 8088868: 4b22 ldr r3, [pc, #136] ; (80888f4 ) 808886a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808886e: 461a mov r2, r3 8088870: 21aa movs r1, #170 ; 0xaa 8088872: 20c6 movs r0, #198 ; 0xc6 8088874: f7cb fd42 bl 80542fc LCD_DisplayString(214, LCD_LINE_10, (char *) pNUMS[iet2]); 8088878: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 808887c: b2db uxtb r3, r3 808887e: 461a mov r2, r3 8088880: 4b1c ldr r3, [pc, #112] ; (80888f4 ) 8088882: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8088886: 461a mov r2, r3 8088888: 21aa movs r1, #170 ; 0xaa 808888a: 20d6 movs r0, #214 ; 0xd6 808888c: f7cb fd36 bl 80542fc LCD_DisplayString(230, LCD_LINE_10, (char *) pNUMS[ies2]); 8088890: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 8088894: b2db uxtb r3, r3 8088896: 461a mov r2, r3 8088898: 4b16 ldr r3, [pc, #88] ; (80888f4 ) 808889a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808889e: 461a mov r2, r3 80888a0: 21aa movs r1, #170 ; 0xaa 80888a2: 20e6 movs r0, #230 ; 0xe6 80888a4: f7cb fd2a bl 80542fc LCD_DisplayString(246, LCD_LINE_10, (char *) pNUMS[ied2]); 80888a8: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 80888ac: b2db uxtb r3, r3 80888ae: 461a mov r2, r3 80888b0: 4b10 ldr r3, [pc, #64] ; (80888f4 ) 80888b2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80888b6: 461a mov r2, r3 80888b8: 21aa movs r1, #170 ; 0xaa 80888ba: 20f6 movs r0, #246 ; 0xf6 80888bc: f7cb fd1e bl 80542fc LCD_DisplayString(278, LCD_LINE_10, "."); 80888c0: 4a0e ldr r2, [pc, #56] ; (80888fc ) 80888c2: 21aa movs r1, #170 ; 0xaa 80888c4: f44f 708b mov.w r0, #278 ; 0x116 80888c8: f7cb fd18 bl 80542fc LCD_DisplayString(294, LCD_LINE_10, (char *) pNUMS[ikd2]); 80888cc: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 80888d0: b2db uxtb r3, r3 80888d2: 461a mov r2, r3 80888d4: 4b07 ldr r3, [pc, #28] ; (80888f4 ) 80888d6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80888da: 461a mov r2, r3 80888dc: 21aa movs r1, #170 ; 0xaa 80888de: f44f 7093 mov.w r0, #294 ; 0x126 80888e2: f7cb fd0b bl 80542fc 80888e6: e06d b.n 80889c4 80888e8: 20020070 .word 0x20020070 80888ec: ff0a0f1f .word 0xff0a0f1f 80888f0: 2002165c .word 0x2002165c 80888f4: 20020964 .word 0x20020964 80888f8: ffd8aa57 .word 0xffd8aa57 80888fc: 080cf7e8 .word 0x080cf7e8 if(menupos == VibMax_IKD) 8088900: 4bc5 ldr r3, [pc, #788] ; (8088c18 ) 8088902: 781b ldrb r3, [r3, #0] 8088904: b2db uxtb r3, r3 8088906: 2b10 cmp r3, #16 8088908: d15c bne.n 80889c4 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808890a: 49c4 ldr r1, [pc, #784] ; (8088c1c ) 808890c: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8088910: f7ca ff4c bl 80537ac if(blk) 8088914: 4bc2 ldr r3, [pc, #776] ; (8088c20 ) 8088916: 681b ldr r3, [r3, #0] 8088918: 2b00 cmp r3, #0 808891a: d00c beq.n 8088936 LCD_DisplayString(294, LCD_LINE_10, (char *) pNUMS[ikd2]); 808891c: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 8088920: b2db uxtb r3, r3 8088922: 461a mov r2, r3 8088924: 4bbf ldr r3, [pc, #764] ; (8088c24 ) 8088926: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808892a: 461a mov r2, r3 808892c: 21aa movs r1, #170 ; 0xaa 808892e: f44f 7093 mov.w r0, #294 ; 0x126 8088932: f7cb fce3 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8088936: 49b9 ldr r1, [pc, #740] ; (8088c1c ) 8088938: 48bb ldr r0, [pc, #748] ; (8088c28 ) 808893a: f7ca ff37 bl 80537ac LCD_DisplayString(198, LCD_LINE_10, (char *) pNUMS[idt2]); 808893e: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 8088942: b2db uxtb r3, r3 8088944: 461a mov r2, r3 8088946: 4bb7 ldr r3, [pc, #732] ; (8088c24 ) 8088948: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808894c: 461a mov r2, r3 808894e: 21aa movs r1, #170 ; 0xaa 8088950: 20c6 movs r0, #198 ; 0xc6 8088952: f7cb fcd3 bl 80542fc LCD_DisplayString(214, LCD_LINE_10, (char *) pNUMS[iet2]); 8088956: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 808895a: b2db uxtb r3, r3 808895c: 461a mov r2, r3 808895e: 4bb1 ldr r3, [pc, #708] ; (8088c24 ) 8088960: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8088964: 461a mov r2, r3 8088966: 21aa movs r1, #170 ; 0xaa 8088968: 20d6 movs r0, #214 ; 0xd6 808896a: f7cb fcc7 bl 80542fc LCD_DisplayString(230, LCD_LINE_10, (char *) pNUMS[ies2]); 808896e: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 8088972: b2db uxtb r3, r3 8088974: 461a mov r2, r3 8088976: 4bab ldr r3, [pc, #684] ; (8088c24 ) 8088978: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808897c: 461a mov r2, r3 808897e: 21aa movs r1, #170 ; 0xaa 8088980: 20e6 movs r0, #230 ; 0xe6 8088982: f7cb fcbb bl 80542fc LCD_DisplayString(246, LCD_LINE_10, (char *) pNUMS[ied2]); 8088986: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 808898a: b2db uxtb r3, r3 808898c: 461a mov r2, r3 808898e: 4ba5 ldr r3, [pc, #660] ; (8088c24 ) 8088990: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8088994: 461a mov r2, r3 8088996: 21aa movs r1, #170 ; 0xaa 8088998: 20f6 movs r0, #246 ; 0xf6 808899a: f7cb fcaf bl 80542fc LCD_DisplayString(262, LCD_LINE_10, (char *) pNUMS[iee2]); 808899e: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 80889a2: b2db uxtb r3, r3 80889a4: 461a mov r2, r3 80889a6: 4b9f ldr r3, [pc, #636] ; (8088c24 ) 80889a8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80889ac: 461a mov r2, r3 80889ae: 21aa movs r1, #170 ; 0xaa 80889b0: f44f 7083 mov.w r0, #262 ; 0x106 80889b4: f7cb fca2 bl 80542fc LCD_DisplayString(278, LCD_LINE_10, "."); 80889b8: 4a9c ldr r2, [pc, #624] ; (8088c2c ) 80889ba: 21aa movs r1, #170 ; 0xaa 80889bc: f44f 708b mov.w r0, #278 ; 0x116 80889c0: f7cb fc9c bl 80542fc if(pardata.OPTIONS & BIT2) // Åñëè àâòîóñèëåíèå 80889c4: 4b9a ldr r3, [pc, #616] ; (8088c30 ) 80889c6: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80889ca: f003 0304 and.w r3, r3, #4 80889ce: 2b00 cmp r3, #0 80889d0: d00e beq.n 80889f0 LCD_SetColors(LCD_COLOR_DARKGRAY, LCD_COLOR_BLACK); 80889d2: 4992 ldr r1, [pc, #584] ; (8088c1c ) 80889d4: 4897 ldr r0, [pc, #604] ; (8088c34 ) 80889d6: f7ca fee9 bl 80537ac BSP_LCD_FillRect(257, CHECKBOX_LINE_9 + 2, 6, 6); 80889da: 2306 movs r3, #6 80889dc: 2206 movs r2, #6 80889de: 219f movs r1, #159 ; 0x9f 80889e0: f240 1001 movw r0, #257 ; 0x101 80889e4: f7cb fb70 bl 80540c8 break; 80889e8: e002 b.n 80889f0 break; 80889ea: bf00 nop 80889ec: f00e be02 b.w 80975f4 break; 80889f0: bf00 nop break; 80889f2: f00e bdff b.w 80975f4 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); 80889f6: 4989 ldr r1, [pc, #548] ; (8088c1c ) 80889f8: 488f ldr r0, [pc, #572] ; (8088c38 ) 80889fa: f7ca fed7 bl 80537ac BSP_LCD_DrawRect(2, 35, 314, 201); 80889fe: 23c9 movs r3, #201 ; 0xc9 8088a00: f44f 729d mov.w r2, #314 ; 0x13a 8088a04: 2123 movs r1, #35 ; 0x23 8088a06: 2002 movs r0, #2 8088a08: f7cb f9d6 bl 8053db8 k = (uint32_t) (pardata.MAX_VAL * 10.0f); 8088a0c: 4b88 ldr r3, [pc, #544] ; (8088c30 ) 8088a0e: edd3 7a06 vldr s15, [r3, #24] 8088a12: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 8088a16: ee67 7a87 vmul.f32 s15, s15, s14 8088a1a: eefc 7ae7 vcvt.u32.f32 s15, s15 8088a1e: ee17 3a90 vmov r3, s15 8088a22: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 idt2 = (uint8_t) (k / 100000); 8088a26: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8088a2a: 095b lsrs r3, r3, #5 8088a2c: 4a83 ldr r2, [pc, #524] ; (8088c3c ) 8088a2e: fba2 2303 umull r2, r3, r2, r3 8088a32: 09db lsrs r3, r3, #7 8088a34: b2db uxtb r3, r3 8088a36: f887 33d8 strb.w r3, [r7, #984] ; 0x3d8 iet2 = (uint8_t) (k % 100000 / 10000); 8088a3a: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8088a3e: 0953 lsrs r3, r2, #5 8088a40: 497e ldr r1, [pc, #504] ; (8088c3c ) 8088a42: fba1 1303 umull r1, r3, r1, r3 8088a46: 09db lsrs r3, r3, #7 8088a48: 497d ldr r1, [pc, #500] ; (8088c40 ) 8088a4a: fb01 f303 mul.w r3, r1, r3 8088a4e: 1ad3 subs r3, r2, r3 8088a50: 4a7c ldr r2, [pc, #496] ; (8088c44 ) 8088a52: fba2 2303 umull r2, r3, r2, r3 8088a56: 0b5b lsrs r3, r3, #13 8088a58: b2db uxtb r3, r3 8088a5a: f887 33d7 strb.w r3, [r7, #983] ; 0x3d7 ies2 = (uint8_t) (k % 100000 % 10000 / 1000); 8088a5e: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8088a62: 0953 lsrs r3, r2, #5 8088a64: 4975 ldr r1, [pc, #468] ; (8088c3c ) 8088a66: fba1 1303 umull r1, r3, r1, r3 8088a6a: 09db lsrs r3, r3, #7 8088a6c: 4974 ldr r1, [pc, #464] ; (8088c40 ) 8088a6e: fb01 f303 mul.w r3, r1, r3 8088a72: 1ad3 subs r3, r2, r3 8088a74: 4a73 ldr r2, [pc, #460] ; (8088c44 ) 8088a76: fba2 1203 umull r1, r2, r2, r3 8088a7a: 0b52 lsrs r2, r2, #13 8088a7c: f242 7110 movw r1, #10000 ; 0x2710 8088a80: fb01 f202 mul.w r2, r1, r2 8088a84: 1a9a subs r2, r3, r2 8088a86: 4b70 ldr r3, [pc, #448] ; (8088c48 ) 8088a88: fba3 2302 umull r2, r3, r3, r2 8088a8c: 099b lsrs r3, r3, #6 8088a8e: b2db uxtb r3, r3 8088a90: f887 33d6 strb.w r3, [r7, #982] ; 0x3d6 ied2 = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 8088a94: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8088a98: 095a lsrs r2, r3, #5 8088a9a: 4968 ldr r1, [pc, #416] ; (8088c3c ) 8088a9c: fba1 1202 umull r1, r2, r1, r2 8088aa0: 09d2 lsrs r2, r2, #7 8088aa2: 4967 ldr r1, [pc, #412] ; (8088c40 ) 8088aa4: fb01 f202 mul.w r2, r1, r2 8088aa8: 1a9a subs r2, r3, r2 8088aaa: 4b66 ldr r3, [pc, #408] ; (8088c44 ) 8088aac: fba3 1302 umull r1, r3, r3, r2 8088ab0: 0b5b lsrs r3, r3, #13 8088ab2: f242 7110 movw r1, #10000 ; 0x2710 8088ab6: fb01 f303 mul.w r3, r1, r3 8088aba: 1ad3 subs r3, r2, r3 8088abc: 4a62 ldr r2, [pc, #392] ; (8088c48 ) 8088abe: fba2 1203 umull r1, r2, r2, r3 8088ac2: 0992 lsrs r2, r2, #6 8088ac4: f44f 717a mov.w r1, #1000 ; 0x3e8 8088ac8: fb01 f202 mul.w r2, r1, r2 8088acc: 1a9a subs r2, r3, r2 8088ace: 4b5f ldr r3, [pc, #380] ; (8088c4c ) 8088ad0: fba3 2302 umull r2, r3, r3, r2 8088ad4: 095b lsrs r3, r3, #5 8088ad6: b2db uxtb r3, r3 8088ad8: f887 33d5 strb.w r3, [r7, #981] ; 0x3d5 iee2 = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 8088adc: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8088ae0: 0953 lsrs r3, r2, #5 8088ae2: 4956 ldr r1, [pc, #344] ; (8088c3c ) 8088ae4: fba1 1303 umull r1, r3, r1, r3 8088ae8: 09db lsrs r3, r3, #7 8088aea: 4955 ldr r1, [pc, #340] ; (8088c40 ) 8088aec: fb01 f303 mul.w r3, r1, r3 8088af0: 1ad3 subs r3, r2, r3 8088af2: 4a54 ldr r2, [pc, #336] ; (8088c44 ) 8088af4: fba2 1203 umull r1, r2, r2, r3 8088af8: 0b52 lsrs r2, r2, #13 8088afa: f242 7110 movw r1, #10000 ; 0x2710 8088afe: fb01 f202 mul.w r2, r1, r2 8088b02: 1a9a subs r2, r3, r2 8088b04: 4b50 ldr r3, [pc, #320] ; (8088c48 ) 8088b06: fba3 1302 umull r1, r3, r3, r2 8088b0a: 099b lsrs r3, r3, #6 8088b0c: f44f 717a mov.w r1, #1000 ; 0x3e8 8088b10: fb01 f303 mul.w r3, r1, r3 8088b14: 1ad3 subs r3, r2, r3 8088b16: 4a4d ldr r2, [pc, #308] ; (8088c4c ) 8088b18: fba2 1203 umull r1, r2, r2, r3 8088b1c: 0952 lsrs r2, r2, #5 8088b1e: 2164 movs r1, #100 ; 0x64 8088b20: fb01 f202 mul.w r2, r1, r2 8088b24: 1a9a subs r2, r3, r2 8088b26: 4b4a ldr r3, [pc, #296] ; (8088c50 ) 8088b28: fba3 2302 umull r2, r3, r3, r2 8088b2c: 08db lsrs r3, r3, #3 8088b2e: b2db uxtb r3, r3 8088b30: f887 33d4 strb.w r3, [r7, #980] ; 0x3d4 ikd2 = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 8088b34: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8088b38: 0953 lsrs r3, r2, #5 8088b3a: 4940 ldr r1, [pc, #256] ; (8088c3c ) 8088b3c: fba1 1303 umull r1, r3, r1, r3 8088b40: 09db lsrs r3, r3, #7 8088b42: 493f ldr r1, [pc, #252] ; (8088c40 ) 8088b44: fb01 f303 mul.w r3, r1, r3 8088b48: 1ad3 subs r3, r2, r3 8088b4a: 4a3e ldr r2, [pc, #248] ; (8088c44 ) 8088b4c: fba2 1203 umull r1, r2, r2, r3 8088b50: 0b52 lsrs r2, r2, #13 8088b52: f242 7110 movw r1, #10000 ; 0x2710 8088b56: fb01 f202 mul.w r2, r1, r2 8088b5a: 1a9a subs r2, r3, r2 8088b5c: 4b3a ldr r3, [pc, #232] ; (8088c48 ) 8088b5e: fba3 1302 umull r1, r3, r3, r2 8088b62: 099b lsrs r3, r3, #6 8088b64: f44f 717a mov.w r1, #1000 ; 0x3e8 8088b68: fb01 f303 mul.w r3, r1, r3 8088b6c: 1ad3 subs r3, r2, r3 8088b6e: 4a37 ldr r2, [pc, #220] ; (8088c4c ) 8088b70: fba2 1203 umull r1, r2, r2, r3 8088b74: 0952 lsrs r2, r2, #5 8088b76: 2164 movs r1, #100 ; 0x64 8088b78: fb01 f202 mul.w r2, r1, r2 8088b7c: 1a9a subs r2, r3, r2 8088b7e: 4b34 ldr r3, [pc, #208] ; (8088c50 ) 8088b80: fba3 1302 umull r1, r3, r3, r2 8088b84: 08d9 lsrs r1, r3, #3 8088b86: 460b mov r3, r1 8088b88: 009b lsls r3, r3, #2 8088b8a: 440b add r3, r1 8088b8c: 005b lsls r3, r3, #1 8088b8e: 1ad1 subs r1, r2, r3 8088b90: b2cb uxtb r3, r1 8088b92: f887 33d3 strb.w r3, [r7, #979] ; 0x3d3 //**************************************************************** l = strlen(DiagFileName); 8088b96: 482f ldr r0, [pc, #188] ; (8088c54 ) 8088b98: f797 fbbc bl 8020314 8088b9c: 4603 mov r3, r0 8088b9e: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 if(l < 10) 8088ba2: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 8088ba6: 2b09 cmp r3, #9 8088ba8: d806 bhi.n 8088bb8 { strcpy(str1, DiagFileName); 8088baa: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8088bae: 4929 ldr r1, [pc, #164] ; (8088c54 ) 8088bb0: 4618 mov r0, r3 8088bb2: f044 fb66 bl 80cd282 8088bb6: e084 b.n 8088cc2 } else { memset(str1, 0x20, sizeof(str1)); 8088bb8: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8088bbc: f44f 7280 mov.w r2, #256 ; 0x100 8088bc0: 2120 movs r1, #32 8088bc2: 4618 mov r0, r3 8088bc4: f044 fa40 bl 80cd048 if(tme <= l) 8088bc8: 4b23 ldr r3, [pc, #140] ; (8088c58 ) 8088bca: 681a ldr r2, [r3, #0] 8088bcc: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 8088bd0: 429a cmp r2, r3 8088bd2: d843 bhi.n 8088c5c { if(l - tme >= 9) 8088bd4: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 8088bd8: 4b1f ldr r3, [pc, #124] ; (8088c58 ) 8088bda: 681b ldr r3, [r3, #0] 8088bdc: 1ad3 subs r3, r2, r3 8088bde: 2b08 cmp r3, #8 8088be0: d90a bls.n 8088bf8 memcpy(str1, &DiagFileName[tme], 9); 8088be2: 4b1d ldr r3, [pc, #116] ; (8088c58 ) 8088be4: 681b ldr r3, [r3, #0] 8088be6: 4a1b ldr r2, [pc, #108] ; (8088c54 ) 8088be8: 1899 adds r1, r3, r2 8088bea: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8088bee: 2209 movs r2, #9 8088bf0: 4618 mov r0, r3 8088bf2: f044 fa1e bl 80cd032 8088bf6: e043 b.n 8088c80 else memcpy(str1, &DiagFileName[tme], l - tme); 8088bf8: 4b17 ldr r3, [pc, #92] ; (8088c58 ) 8088bfa: 681b ldr r3, [r3, #0] 8088bfc: 4a15 ldr r2, [pc, #84] ; (8088c54 ) 8088bfe: 1899 adds r1, r3, r2 8088c00: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 8088c04: 4b14 ldr r3, [pc, #80] ; (8088c58 ) 8088c06: 681b ldr r3, [r3, #0] 8088c08: 1ad2 subs r2, r2, r3 8088c0a: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8088c0e: 4618 mov r0, r3 8088c10: f044 fa0f bl 80cd032 8088c14: e034 b.n 8088c80 8088c16: bf00 nop 8088c18: 20020070 .word 0x20020070 8088c1c: ff0a0f1f .word 0xff0a0f1f 8088c20: 2002165c .word 0x2002165c 8088c24: 20020964 .word 0x20020964 8088c28: ffd8aa57 .word 0xffd8aa57 8088c2c: 080cf7e8 .word 0x080cf7e8 8088c30: 20023e60 .word 0x20023e60 8088c34: ff404040 .word 0xff404040 8088c38: ffd3d3d3 .word 0xffd3d3d3 8088c3c: 0a7c5ac5 .word 0x0a7c5ac5 8088c40: 000186a0 .word 0x000186a0 8088c44: d1b71759 .word 0xd1b71759 8088c48: 10624dd3 .word 0x10624dd3 8088c4c: 51eb851f .word 0x51eb851f 8088c50: cccccccd .word 0xcccccccd 8088c54: 20020e7c .word 0x20020e7c 8088c58: 20021668 .word 0x20021668 } else { memcpy(&str1[9 - (tme - l)], DiagFileName, tme - l); 8088c5c: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 8088c60: 4bb5 ldr r3, [pc, #724] ; (8088f38 ) 8088c62: 681b ldr r3, [r3, #0] 8088c64: 1ad3 subs r3, r2, r3 8088c66: 3309 adds r3, #9 8088c68: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8088c6c: 18d0 adds r0, r2, r3 8088c6e: 4bb2 ldr r3, [pc, #712] ; (8088f38 ) 8088c70: 681a ldr r2, [r3, #0] 8088c72: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 8088c76: 1ad3 subs r3, r2, r3 8088c78: 461a mov r2, r3 8088c7a: 49b0 ldr r1, [pc, #704] ; (8088f3c ) 8088c7c: f044 f9d9 bl 80cd032 } str1[10] = '\0'; 8088c80: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8088c84: 2200 movs r2, #0 8088c86: 729a strb r2, [r3, #10] tt++; 8088c88: 4bad ldr r3, [pc, #692] ; (8088f40 ) 8088c8a: 781b ldrb r3, [r3, #0] 8088c8c: 3301 adds r3, #1 8088c8e: b2da uxtb r2, r3 8088c90: 4bab ldr r3, [pc, #684] ; (8088f40 ) 8088c92: 701a strb r2, [r3, #0] if(tt >= 4) 8088c94: 4baa ldr r3, [pc, #680] ; (8088f40 ) 8088c96: 781b ldrb r3, [r3, #0] 8088c98: 2b03 cmp r3, #3 8088c9a: d912 bls.n 8088cc2 { tt = 0; 8088c9c: 4ba8 ldr r3, [pc, #672] ; (8088f40 ) 8088c9e: 2200 movs r2, #0 8088ca0: 701a strb r2, [r3, #0] tme++; 8088ca2: 4ba5 ldr r3, [pc, #660] ; (8088f38 ) 8088ca4: 681b ldr r3, [r3, #0] 8088ca6: 3301 adds r3, #1 8088ca8: 4aa3 ldr r2, [pc, #652] ; (8088f38 ) 8088caa: 6013 str r3, [r2, #0] if(9 - (tme - l) == 0) 8088cac: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 8088cb0: 4ba1 ldr r3, [pc, #644] ; (8088f38 ) 8088cb2: 681b ldr r3, [r3, #0] 8088cb4: 1ad3 subs r3, r2, r3 8088cb6: f113 0f09 cmn.w r3, #9 8088cba: d102 bne.n 8088cc2 { tme = 0; 8088cbc: 4b9e ldr r3, [pc, #632] ; (8088f38 ) 8088cbe: 2200 movs r2, #0 8088cc0: 601a str r2, [r3, #0] } } } //**************************************************************** if(pardata.LANG == RUS) 8088cc2: 4ba0 ldr r3, [pc, #640] ; (8088f44 ) 8088cc4: 7b1b ldrb r3, [r3, #12] 8088cc6: b2db uxtb r3, r3 8088cc8: 2b00 cmp r3, #0 8088cca: d140 bne.n 8088d4e { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8088ccc: 499e ldr r1, [pc, #632] ; (8088f48 ) 8088cce: f04f 30ff mov.w r0, #4294967295 8088cd2: f7ca fd6b bl 80537ac //LCD_DisplayString(10, LCD_LINE_3, "Ïðîãðàììà èçìåðåíèé"); LCD_DisplayString(10, LCD_LINE_4, "Óñðåäíåíèå(êîë-âî)"); 8088cd6: 4a9d ldr r2, [pc, #628] ; (8088f4c ) 8088cd8: 214a movs r1, #74 ; 0x4a 8088cda: 200a movs r0, #10 8088cdc: f7cb fb0e bl 80542fc LCD_DisplayString(10, LCD_LINE_5, "Àâòîóñèëåíèå"); 8088ce0: 4a9b ldr r2, [pc, #620] ; (8088f50 ) 8088ce2: 215a movs r1, #90 ; 0x5a 8088ce4: 200a movs r0, #10 8088ce6: f7cb fb09 bl 80542fc //LCD_DisplayString(10, LCD_LINE_7, "Çàïèñü â ôàéë"); if(pardata.OPTIONS & 0x4) 8088cea: 4b96 ldr r3, [pc, #600] ; (8088f44 ) 8088cec: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8088cf0: f003 0304 and.w r3, r3, #4 8088cf4: 2b00 cmp r3, #0 8088cf6: d003 beq.n 8088d00 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8088cf8: 4993 ldr r1, [pc, #588] ; (8088f48 ) 8088cfa: 4896 ldr r0, [pc, #600] ; (8088f54 ) 8088cfc: f7ca fd56 bl 80537ac if(pardata.IIN != VOLTS) 8088d00: 4b90 ldr r3, [pc, #576] ; (8088f44 ) 8088d02: 799b ldrb r3, [r3, #6] 8088d04: b2db uxtb r3, r3 8088d06: 2b02 cmp r3, #2 8088d08: d010 beq.n 8088d2c LCD_DisplayString(10, LCD_LINE_6, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8088d0a: 4b8e ldr r3, [pc, #568] ; (8088f44 ) 8088d0c: 7b1b ldrb r3, [r3, #12] 8088d0e: b2db uxtb r3, r3 8088d10: 4619 mov r1, r3 8088d12: 4a91 ldr r2, [pc, #580] ; (8088f58 ) 8088d14: 232c movs r3, #44 ; 0x2c 8088d16: fb03 f301 mul.w r3, r3, r1 8088d1a: 4413 add r3, r2 8088d1c: 3324 adds r3, #36 ; 0x24 8088d1e: 681b ldr r3, [r3, #0] 8088d20: 461a mov r2, r3 8088d22: 216a movs r1, #106 ; 0x6a 8088d24: 200a movs r0, #10 8088d26: f7cb fae9 bl 80542fc 8088d2a: e050 b.n 8088dce else LCD_DisplayString(10, LCD_LINE_6, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ìV" 8088d2c: 4b85 ldr r3, [pc, #532] ; (8088f44 ) 8088d2e: 7b1b ldrb r3, [r3, #12] 8088d30: b2db uxtb r3, r3 8088d32: 4619 mov r1, r3 8088d34: 4a89 ldr r2, [pc, #548] ; (8088f5c ) 8088d36: 232c movs r3, #44 ; 0x2c 8088d38: fb03 f301 mul.w r3, r3, r1 8088d3c: 4413 add r3, r2 8088d3e: 3324 adds r3, #36 ; 0x24 8088d40: 681b ldr r3, [r3, #0] 8088d42: 461a mov r2, r3 8088d44: 216a movs r1, #106 ; 0x6a 8088d46: 200a movs r0, #10 8088d48: f7cb fad8 bl 80542fc 8088d4c: e03f b.n 8088dce } else { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8088d4e: 497e ldr r1, [pc, #504] ; (8088f48 ) 8088d50: f04f 30ff mov.w r0, #4294967295 8088d54: f7ca fd2a bl 80537ac //LCD_DisplayString(10, LCD_LINE_3, "Measurement program"); LCD_DisplayString(10, LCD_LINE_4, "Num.average"); 8088d58: 4a81 ldr r2, [pc, #516] ; (8088f60 ) 8088d5a: 214a movs r1, #74 ; 0x4a 8088d5c: 200a movs r0, #10 8088d5e: f7cb facd bl 80542fc LCD_DisplayString(10, LCD_LINE_5, "Autogain"); 8088d62: 4a80 ldr r2, [pc, #512] ; (8088f64 ) 8088d64: 215a movs r1, #90 ; 0x5a 8088d66: 200a movs r0, #10 8088d68: f7cb fac8 bl 80542fc //LCD_DisplayString(10, LCD_LINE_7, "Save to file"); if(pardata.OPTIONS & 0x4) 8088d6c: 4b75 ldr r3, [pc, #468] ; (8088f44 ) 8088d6e: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8088d72: f003 0304 and.w r3, r3, #4 8088d76: 2b00 cmp r3, #0 8088d78: d003 beq.n 8088d82 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8088d7a: 4973 ldr r1, [pc, #460] ; (8088f48 ) 8088d7c: 4875 ldr r0, [pc, #468] ; (8088f54 ) 8088d7e: f7ca fd15 bl 80537ac if(pardata.IIN != VOLTS) 8088d82: 4b70 ldr r3, [pc, #448] ; (8088f44 ) 8088d84: 799b ldrb r3, [r3, #6] 8088d86: b2db uxtb r3, r3 8088d88: 2b02 cmp r3, #2 8088d8a: d010 beq.n 8088dae LCD_DisplayString(10, LCD_LINE_6, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8088d8c: 4b6d ldr r3, [pc, #436] ; (8088f44 ) 8088d8e: 7b1b ldrb r3, [r3, #12] 8088d90: b2db uxtb r3, r3 8088d92: 4619 mov r1, r3 8088d94: 4a70 ldr r2, [pc, #448] ; (8088f58 ) 8088d96: 232c movs r3, #44 ; 0x2c 8088d98: fb03 f301 mul.w r3, r3, r1 8088d9c: 4413 add r3, r2 8088d9e: 3324 adds r3, #36 ; 0x24 8088da0: 681b ldr r3, [r3, #0] 8088da2: 461a mov r2, r3 8088da4: 216a movs r1, #106 ; 0x6a 8088da6: 200a movs r0, #10 8088da8: f7cb faa8 bl 80542fc 8088dac: e00f b.n 8088dce else LCD_DisplayString(10, LCD_LINE_6, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ìV" 8088dae: 4b65 ldr r3, [pc, #404] ; (8088f44 ) 8088db0: 7b1b ldrb r3, [r3, #12] 8088db2: b2db uxtb r3, r3 8088db4: 4619 mov r1, r3 8088db6: 4a69 ldr r2, [pc, #420] ; (8088f5c ) 8088db8: 232c movs r3, #44 ; 0x2c 8088dba: fb03 f301 mul.w r3, r3, r1 8088dbe: 4413 add r3, r2 8088dc0: 3324 adds r3, #36 ; 0x24 8088dc2: 681b ldr r3, [r3, #0] 8088dc4: 461a mov r2, r3 8088dc6: 216a movs r1, #106 ; 0x6a 8088dc8: 200a movs r0, #10 8088dca: f7cb fa97 bl 80542fc // if(menupos != DiagUs) 8088dce: 4b66 ldr r3, [pc, #408] ; (8088f68 ) 8088dd0: 781b ldrb r3, [r3, #0] 8088dd2: b2db uxtb r3, r3 8088dd4: 2b00 cmp r3, #0 8088dd6: d005 beq.n 8088de4 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8088dd8: 495b ldr r1, [pc, #364] ; (8088f48 ) 8088dda: f04f 30ff mov.w r0, #4294967295 8088dde: f7ca fce5 bl 80537ac 8088de2: e004 b.n 8088dee else LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8088de4: 4958 ldr r1, [pc, #352] ; (8088f48 ) 8088de6: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8088dea: f7ca fcdf bl 80537ac LCD_DisplayString(10, LCD_LINE_3, (char *) TEXT_PARAM_DIAGN[pardata.LANG][DiagUs]); 8088dee: 4b55 ldr r3, [pc, #340] ; (8088f44 ) 8088df0: 7b1b ldrb r3, [r3, #12] 8088df2: b2db uxtb r3, r3 8088df4: 4619 mov r1, r3 8088df6: 4a5d ldr r2, [pc, #372] ; (8088f6c ) 8088df8: 460b mov r3, r1 8088dfa: 009b lsls r3, r3, #2 8088dfc: 440b add r3, r1 8088dfe: 009b lsls r3, r3, #2 8088e00: 4413 add r3, r2 8088e02: 681b ldr r3, [r3, #0] 8088e04: 461a mov r2, r3 8088e06: 213a movs r1, #58 ; 0x3a 8088e08: 200a movs r0, #10 8088e0a: f7cb fa77 bl 80542fc // if(menupos != DiagAverage) 8088e0e: 4b56 ldr r3, [pc, #344] ; (8088f68 ) 8088e10: 781b ldrb r3, [r3, #0] 8088e12: b2db uxtb r3, r3 8088e14: 2b01 cmp r3, #1 8088e16: d004 beq.n 8088e22 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8088e18: 494b ldr r1, [pc, #300] ; (8088f48 ) 8088e1a: 4855 ldr r0, [pc, #340] ; (8088f70 ) 8088e1c: f7ca fcc6 bl 80537ac 8088e20: e004 b.n 8088e2c else LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8088e22: 4949 ldr r1, [pc, #292] ; (8088f48 ) 8088e24: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8088e28: f7ca fcc0 bl 80537ac if((focused) && (menupos == DiagAverage)) 8088e2c: 4b51 ldr r3, [pc, #324] ; (8088f74 ) 8088e2e: 781b ldrb r3, [r3, #0] 8088e30: b2db uxtb r3, r3 8088e32: 2b00 cmp r3, #0 8088e34: d016 beq.n 8088e64 8088e36: 4b4c ldr r3, [pc, #304] ; (8088f68 ) 8088e38: 781b ldrb r3, [r3, #0] 8088e3a: b2db uxtb r3, r3 8088e3c: 2b01 cmp r3, #1 8088e3e: d111 bne.n 8088e64 { if(blk) 8088e40: 4b4d ldr r3, [pc, #308] ; (8088f78 ) 8088e42: 681b ldr r3, [r3, #0] 8088e44: 2b00 cmp r3, #0 8088e46: d01a beq.n 8088e7e LCD_DisplayStringC(260, LCD_LINE_4, (char *) pAVERAGE[pardata.AVG]); 8088e48: 4b3e ldr r3, [pc, #248] ; (8088f44 ) 8088e4a: 7b5b ldrb r3, [r3, #13] 8088e4c: b2db uxtb r3, r3 8088e4e: 461a mov r2, r3 8088e50: 4b4a ldr r3, [pc, #296] ; (8088f7c ) 8088e52: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8088e56: 461a mov r2, r3 8088e58: 214a movs r1, #74 ; 0x4a 8088e5a: f44f 7082 mov.w r0, #260 ; 0x104 8088e5e: f7cb fa65 bl 805432c if(blk) 8088e62: e00c b.n 8088e7e } else LCD_DisplayStringC(260, LCD_LINE_4, (char *) pAVERAGE[pardata.AVG]); 8088e64: 4b37 ldr r3, [pc, #220] ; (8088f44 ) 8088e66: 7b5b ldrb r3, [r3, #13] 8088e68: b2db uxtb r3, r3 8088e6a: 461a mov r2, r3 8088e6c: 4b43 ldr r3, [pc, #268] ; (8088f7c ) 8088e6e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8088e72: 461a mov r2, r3 8088e74: 214a movs r1, #74 ; 0x4a 8088e76: f44f 7082 mov.w r0, #260 ; 0x104 8088e7a: f7cb fa57 bl 805432c // if(menupos == DiagAutoKu) 8088e7e: 4b3a ldr r3, [pc, #232] ; (8088f68 ) 8088e80: 781b ldrb r3, [r3, #0] 8088e82: b2db uxtb r3, r3 8088e84: 2b02 cmp r3, #2 8088e86: d10a bne.n 8088e9e { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8088e88: 492f ldr r1, [pc, #188] ; (8088f48 ) 8088e8a: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8088e8e: f7ca fc8d bl 80537ac BSP_LCD_FillRect(253, CHECKBOX_LINE_5-2, 14, 14); 8088e92: 230e movs r3, #14 8088e94: 220e movs r2, #14 8088e96: 215b movs r1, #91 ; 0x5b 8088e98: 20fd movs r0, #253 ; 0xfd 8088e9a: f7cb f915 bl 80540c8 } LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8088e9e: 492a ldr r1, [pc, #168] ; (8088f48 ) 8088ea0: f04f 30ff mov.w r0, #4294967295 8088ea4: f7ca fc82 bl 80537ac BSP_LCD_FillRect(255, CHECKBOX_LINE_5, 10, 10); 8088ea8: 230a movs r3, #10 8088eaa: 220a movs r2, #10 8088eac: 215d movs r1, #93 ; 0x5d 8088eae: 20ff movs r0, #255 ; 0xff 8088eb0: f7cb f90a bl 80540c8 // if(menupos == DiagSaveToFile) 8088eb4: 4b2c ldr r3, [pc, #176] ; (8088f68 ) 8088eb6: 781b ldrb r3, [r3, #0] 8088eb8: b2db uxtb r3, r3 8088eba: 2b04 cmp r3, #4 8088ebc: d160 bne.n 8088f80 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8088ebe: 4922 ldr r1, [pc, #136] ; (8088f48 ) 8088ec0: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8088ec4: f7ca fc72 bl 80537ac if(strlen(DiagFileName)) 8088ec8: 4b1c ldr r3, [pc, #112] ; (8088f3c ) 8088eca: 781b ldrb r3, [r3, #0] 8088ecc: 2b00 cmp r3, #0 8088ece: d022 beq.n 8088f16 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8088ed0: 491d ldr r1, [pc, #116] ; (8088f48 ) 8088ed2: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8088ed6: f7ca fc69 bl 80537ac LCD_DisplayStringC(260, LCD_LINE_7, str1); 8088eda: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8088ede: 461a mov r2, r3 8088ee0: 217a movs r1, #122 ; 0x7a 8088ee2: f44f 7082 mov.w r0, #260 ; 0x104 8088ee6: f7cb fa21 bl 805432c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8088eea: 4917 ldr r1, [pc, #92] ; (8088f48 ) 8088eec: f04f 30ff mov.w r0, #4294967295 8088ef0: f7ca fc5c bl 80537ac LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_PARAM_VIB[pardata.LANG][10]); //"Çàïèñü â ôàéë" 8088ef4: 4b13 ldr r3, [pc, #76] ; (8088f44 ) 8088ef6: 7b1b ldrb r3, [r3, #12] 8088ef8: b2db uxtb r3, r3 8088efa: 4619 mov r1, r3 8088efc: 4a16 ldr r2, [pc, #88] ; (8088f58 ) 8088efe: 232c movs r3, #44 ; 0x2c 8088f00: fb03 f301 mul.w r3, r3, r1 8088f04: 4413 add r3, r2 8088f06: 3328 adds r3, #40 ; 0x28 8088f08: 681b ldr r3, [r3, #0] 8088f0a: 461a mov r2, r3 8088f0c: 217a movs r1, #122 ; 0x7a 8088f0e: 200a movs r0, #10 8088f10: f7cb f9f4 bl 80542fc 8088f14: e06f b.n 8088ff6 } else LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_PARAM_VIB[pardata.LANG][10]); //"Çàïèñü â ôàéë" 8088f16: 4b0b ldr r3, [pc, #44] ; (8088f44 ) 8088f18: 7b1b ldrb r3, [r3, #12] 8088f1a: b2db uxtb r3, r3 8088f1c: 4619 mov r1, r3 8088f1e: 4a0e ldr r2, [pc, #56] ; (8088f58 ) 8088f20: 232c movs r3, #44 ; 0x2c 8088f22: fb03 f301 mul.w r3, r3, r1 8088f26: 4413 add r3, r2 8088f28: 3328 adds r3, #40 ; 0x28 8088f2a: 681b ldr r3, [r3, #0] 8088f2c: 461a mov r2, r3 8088f2e: 217a movs r1, #122 ; 0x7a 8088f30: 200a movs r0, #10 8088f32: f7cb f9e3 bl 80542fc 8088f36: e05e b.n 8088ff6 8088f38: 20021668 .word 0x20021668 8088f3c: 20020e7c .word 0x20020e7c 8088f40: 2002166c .word 0x2002166c 8088f44: 20023e60 .word 0x20023e60 8088f48: ff0a0f1f .word 0xff0a0f1f 8088f4c: 080cf37c .word 0x080cf37c 8088f50: 080cf250 .word 0x080cf250 8088f54: ff808080 .word 0xff808080 8088f58: 200206b4 .word 0x200206b4 8088f5c: 2002070c .word 0x2002070c 8088f60: 080cf3ec .word 0x080cf3ec 8088f64: 080cf2dc .word 0x080cf2dc 8088f68: 20020070 .word 0x20020070 8088f6c: 2002092c .word 0x2002092c 8088f70: ffd8aa57 .word 0xffd8aa57 8088f74: 20020f84 .word 0x20020f84 8088f78: 2002165c .word 0x2002165c 8088f7c: 20020224 .word 0x20020224 } else { if(strlen(DiagFileName)) 8088f80: 4bb1 ldr r3, [pc, #708] ; (8089248 ) 8088f82: 781b ldrb r3, [r3, #0] 8088f84: 2b00 cmp r3, #0 8088f86: d021 beq.n 8088fcc { LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8088f88: 49b0 ldr r1, [pc, #704] ; (808924c ) 8088f8a: 48b1 ldr r0, [pc, #708] ; (8089250 ) 8088f8c: f7ca fc0e bl 80537ac LCD_DisplayStringC(260, LCD_LINE_7, str1); 8088f90: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8088f94: 461a mov r2, r3 8088f96: 217a movs r1, #122 ; 0x7a 8088f98: f44f 7082 mov.w r0, #260 ; 0x104 8088f9c: f7cb f9c6 bl 805432c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8088fa0: 49aa ldr r1, [pc, #680] ; (808924c ) 8088fa2: f04f 30ff mov.w r0, #4294967295 8088fa6: f7ca fc01 bl 80537ac LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_PARAM_VIB[pardata.LANG][10]); //"Çàïèñü â ôàéë" 8088faa: 4baa ldr r3, [pc, #680] ; (8089254 ) 8088fac: 7b1b ldrb r3, [r3, #12] 8088fae: b2db uxtb r3, r3 8088fb0: 4619 mov r1, r3 8088fb2: 4aa9 ldr r2, [pc, #676] ; (8089258 ) 8088fb4: 232c movs r3, #44 ; 0x2c 8088fb6: fb03 f301 mul.w r3, r3, r1 8088fba: 4413 add r3, r2 8088fbc: 3328 adds r3, #40 ; 0x28 8088fbe: 681b ldr r3, [r3, #0] 8088fc0: 461a mov r2, r3 8088fc2: 217a movs r1, #122 ; 0x7a 8088fc4: 200a movs r0, #10 8088fc6: f7cb f999 bl 80542fc 8088fca: e014 b.n 8088ff6 } else { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8088fcc: 499f ldr r1, [pc, #636] ; (808924c ) 8088fce: f04f 30ff mov.w r0, #4294967295 8088fd2: f7ca fbeb bl 80537ac LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_PARAM_VIB[pardata.LANG][10]); //"Çàïèñü â ôàéë" 8088fd6: 4b9f ldr r3, [pc, #636] ; (8089254 ) 8088fd8: 7b1b ldrb r3, [r3, #12] 8088fda: b2db uxtb r3, r3 8088fdc: 4619 mov r1, r3 8088fde: 4a9e ldr r2, [pc, #632] ; (8089258 ) 8088fe0: 232c movs r3, #44 ; 0x2c 8088fe2: fb03 f301 mul.w r3, r3, r1 8088fe6: 4413 add r3, r2 8088fe8: 3328 adds r3, #40 ; 0x28 8088fea: 681b ldr r3, [r3, #0] 8088fec: 461a mov r2, r3 8088fee: 217a movs r1, #122 ; 0x7a 8088ff0: 200a movs r0, #10 8088ff2: f7cb f983 bl 80542fc } } // if(menupos == DiagMax_IDT) 8088ff6: 4b99 ldr r3, [pc, #612] ; (808925c ) 8088ff8: 781b ldrb r3, [r3, #0] 8088ffa: b2db uxtb r3, r3 8088ffc: 2b05 cmp r3, #5 8088ffe: d15d bne.n 80890bc { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8089000: 4992 ldr r1, [pc, #584] ; (808924c ) 8089002: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8089006: f7ca fbd1 bl 80537ac if(blk) 808900a: 4b95 ldr r3, [pc, #596] ; (8089260 ) 808900c: 681b ldr r3, [r3, #0] 808900e: 2b00 cmp r3, #0 8089010: d00b beq.n 808902a LCD_DisplayString(198, LCD_LINE_6, (char *) pNUMS[idt2]); 8089012: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 8089016: b2db uxtb r3, r3 8089018: 461a mov r2, r3 808901a: 4b92 ldr r3, [pc, #584] ; (8089264 ) 808901c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8089020: 461a mov r2, r3 8089022: 216a movs r1, #106 ; 0x6a 8089024: 20c6 movs r0, #198 ; 0xc6 8089026: f7cb f969 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808902a: 4988 ldr r1, [pc, #544] ; (808924c ) 808902c: 4888 ldr r0, [pc, #544] ; (8089250 ) 808902e: f7ca fbbd bl 80537ac LCD_DisplayString(214, LCD_LINE_6, (char *) pNUMS[iet2]); 8089032: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 8089036: b2db uxtb r3, r3 8089038: 461a mov r2, r3 808903a: 4b8a ldr r3, [pc, #552] ; (8089264 ) 808903c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8089040: 461a mov r2, r3 8089042: 216a movs r1, #106 ; 0x6a 8089044: 20d6 movs r0, #214 ; 0xd6 8089046: f7cb f959 bl 80542fc LCD_DisplayString(230, LCD_LINE_6, (char *) pNUMS[ies2]); 808904a: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 808904e: b2db uxtb r3, r3 8089050: 461a mov r2, r3 8089052: 4b84 ldr r3, [pc, #528] ; (8089264 ) 8089054: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8089058: 461a mov r2, r3 808905a: 216a movs r1, #106 ; 0x6a 808905c: 20e6 movs r0, #230 ; 0xe6 808905e: f7cb f94d bl 80542fc LCD_DisplayString(246, LCD_LINE_6, (char *) pNUMS[ied2]); 8089062: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 8089066: b2db uxtb r3, r3 8089068: 461a mov r2, r3 808906a: 4b7e ldr r3, [pc, #504] ; (8089264 ) 808906c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8089070: 461a mov r2, r3 8089072: 216a movs r1, #106 ; 0x6a 8089074: 20f6 movs r0, #246 ; 0xf6 8089076: f7cb f941 bl 80542fc LCD_DisplayString(262, LCD_LINE_6, (char *) pNUMS[iee2]); 808907a: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 808907e: b2db uxtb r3, r3 8089080: 461a mov r2, r3 8089082: 4b78 ldr r3, [pc, #480] ; (8089264 ) 8089084: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8089088: 461a mov r2, r3 808908a: 216a movs r1, #106 ; 0x6a 808908c: f44f 7083 mov.w r0, #262 ; 0x106 8089090: f7cb f934 bl 80542fc LCD_DisplayString(278, LCD_LINE_6, "."); 8089094: 4a74 ldr r2, [pc, #464] ; (8089268 ) 8089096: 216a movs r1, #106 ; 0x6a 8089098: f44f 708b mov.w r0, #278 ; 0x116 808909c: f7cb f92e bl 80542fc LCD_DisplayString(294, LCD_LINE_6, (char *) pNUMS[ikd2]); 80890a0: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 80890a4: b2db uxtb r3, r3 80890a6: 461a mov r2, r3 80890a8: 4b6e ldr r3, [pc, #440] ; (8089264 ) 80890aa: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80890ae: 461a mov r2, r3 80890b0: 216a movs r1, #106 ; 0x6a 80890b2: f44f 7093 mov.w r0, #294 ; 0x126 80890b6: f7cb f921 bl 80542fc 80890ba: e20b b.n 80894d4 } else if(menupos == DiagMax_IET) 80890bc: 4b67 ldr r3, [pc, #412] ; (808925c ) 80890be: 781b ldrb r3, [r3, #0] 80890c0: b2db uxtb r3, r3 80890c2: 2b06 cmp r3, #6 80890c4: d15d bne.n 8089182 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80890c6: 4961 ldr r1, [pc, #388] ; (808924c ) 80890c8: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80890cc: f7ca fb6e bl 80537ac if(blk) 80890d0: 4b63 ldr r3, [pc, #396] ; (8089260 ) 80890d2: 681b ldr r3, [r3, #0] 80890d4: 2b00 cmp r3, #0 80890d6: d00b beq.n 80890f0 LCD_DisplayString(214, LCD_LINE_6, (char *) pNUMS[iet2]); 80890d8: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 80890dc: b2db uxtb r3, r3 80890de: 461a mov r2, r3 80890e0: 4b60 ldr r3, [pc, #384] ; (8089264 ) 80890e2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80890e6: 461a mov r2, r3 80890e8: 216a movs r1, #106 ; 0x6a 80890ea: 20d6 movs r0, #214 ; 0xd6 80890ec: f7cb f906 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80890f0: 4956 ldr r1, [pc, #344] ; (808924c ) 80890f2: 4857 ldr r0, [pc, #348] ; (8089250 ) 80890f4: f7ca fb5a bl 80537ac LCD_DisplayString(198, LCD_LINE_6, (char *) pNUMS[idt2]); 80890f8: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 80890fc: b2db uxtb r3, r3 80890fe: 461a mov r2, r3 8089100: 4b58 ldr r3, [pc, #352] ; (8089264 ) 8089102: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8089106: 461a mov r2, r3 8089108: 216a movs r1, #106 ; 0x6a 808910a: 20c6 movs r0, #198 ; 0xc6 808910c: f7cb f8f6 bl 80542fc LCD_DisplayString(230, LCD_LINE_6, (char *) pNUMS[ies2]); 8089110: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 8089114: b2db uxtb r3, r3 8089116: 461a mov r2, r3 8089118: 4b52 ldr r3, [pc, #328] ; (8089264 ) 808911a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808911e: 461a mov r2, r3 8089120: 216a movs r1, #106 ; 0x6a 8089122: 20e6 movs r0, #230 ; 0xe6 8089124: f7cb f8ea bl 80542fc LCD_DisplayString(246, LCD_LINE_6, (char *) pNUMS[ied2]); 8089128: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 808912c: b2db uxtb r3, r3 808912e: 461a mov r2, r3 8089130: 4b4c ldr r3, [pc, #304] ; (8089264 ) 8089132: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8089136: 461a mov r2, r3 8089138: 216a movs r1, #106 ; 0x6a 808913a: 20f6 movs r0, #246 ; 0xf6 808913c: f7cb f8de bl 80542fc LCD_DisplayString(262, LCD_LINE_6, (char *) pNUMS[iee2]); 8089140: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 8089144: b2db uxtb r3, r3 8089146: 461a mov r2, r3 8089148: 4b46 ldr r3, [pc, #280] ; (8089264 ) 808914a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808914e: 461a mov r2, r3 8089150: 216a movs r1, #106 ; 0x6a 8089152: f44f 7083 mov.w r0, #262 ; 0x106 8089156: f7cb f8d1 bl 80542fc LCD_DisplayString(278, LCD_LINE_6, "."); 808915a: 4a43 ldr r2, [pc, #268] ; (8089268 ) 808915c: 216a movs r1, #106 ; 0x6a 808915e: f44f 708b mov.w r0, #278 ; 0x116 8089162: f7cb f8cb bl 80542fc LCD_DisplayString(294, LCD_LINE_6, (char *) pNUMS[ikd2]); 8089166: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 808916a: b2db uxtb r3, r3 808916c: 461a mov r2, r3 808916e: 4b3d ldr r3, [pc, #244] ; (8089264 ) 8089170: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8089174: 461a mov r2, r3 8089176: 216a movs r1, #106 ; 0x6a 8089178: f44f 7093 mov.w r0, #294 ; 0x126 808917c: f7cb f8be bl 80542fc 8089180: e1a8 b.n 80894d4 } else if(menupos == DiagMax_IES) 8089182: 4b36 ldr r3, [pc, #216] ; (808925c ) 8089184: 781b ldrb r3, [r3, #0] 8089186: b2db uxtb r3, r3 8089188: 2b07 cmp r3, #7 808918a: d16f bne.n 808926c { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808918c: 492f ldr r1, [pc, #188] ; (808924c ) 808918e: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8089192: f7ca fb0b bl 80537ac if(blk) 8089196: 4b32 ldr r3, [pc, #200] ; (8089260 ) 8089198: 681b ldr r3, [r3, #0] 808919a: 2b00 cmp r3, #0 808919c: d00b beq.n 80891b6 LCD_DisplayString(230, LCD_LINE_6, (char *) pNUMS[ies2]); 808919e: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 80891a2: b2db uxtb r3, r3 80891a4: 461a mov r2, r3 80891a6: 4b2f ldr r3, [pc, #188] ; (8089264 ) 80891a8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80891ac: 461a mov r2, r3 80891ae: 216a movs r1, #106 ; 0x6a 80891b0: 20e6 movs r0, #230 ; 0xe6 80891b2: f7cb f8a3 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80891b6: 4925 ldr r1, [pc, #148] ; (808924c ) 80891b8: 4825 ldr r0, [pc, #148] ; (8089250 ) 80891ba: f7ca faf7 bl 80537ac LCD_DisplayString(198, LCD_LINE_6, (char *) pNUMS[idt2]); 80891be: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 80891c2: b2db uxtb r3, r3 80891c4: 461a mov r2, r3 80891c6: 4b27 ldr r3, [pc, #156] ; (8089264 ) 80891c8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80891cc: 461a mov r2, r3 80891ce: 216a movs r1, #106 ; 0x6a 80891d0: 20c6 movs r0, #198 ; 0xc6 80891d2: f7cb f893 bl 80542fc LCD_DisplayString(214, LCD_LINE_6, (char *) pNUMS[iet2]); 80891d6: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 80891da: b2db uxtb r3, r3 80891dc: 461a mov r2, r3 80891de: 4b21 ldr r3, [pc, #132] ; (8089264 ) 80891e0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80891e4: 461a mov r2, r3 80891e6: 216a movs r1, #106 ; 0x6a 80891e8: 20d6 movs r0, #214 ; 0xd6 80891ea: f7cb f887 bl 80542fc LCD_DisplayString(246, LCD_LINE_6, (char *) pNUMS[ied2]); 80891ee: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 80891f2: b2db uxtb r3, r3 80891f4: 461a mov r2, r3 80891f6: 4b1b ldr r3, [pc, #108] ; (8089264 ) 80891f8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80891fc: 461a mov r2, r3 80891fe: 216a movs r1, #106 ; 0x6a 8089200: 20f6 movs r0, #246 ; 0xf6 8089202: f7cb f87b bl 80542fc LCD_DisplayString(262, LCD_LINE_6, (char *) pNUMS[iee2]); 8089206: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 808920a: b2db uxtb r3, r3 808920c: 461a mov r2, r3 808920e: 4b15 ldr r3, [pc, #84] ; (8089264 ) 8089210: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8089214: 461a mov r2, r3 8089216: 216a movs r1, #106 ; 0x6a 8089218: f44f 7083 mov.w r0, #262 ; 0x106 808921c: f7cb f86e bl 80542fc LCD_DisplayString(278, LCD_LINE_6, "."); 8089220: 4a11 ldr r2, [pc, #68] ; (8089268 ) 8089222: 216a movs r1, #106 ; 0x6a 8089224: f44f 708b mov.w r0, #278 ; 0x116 8089228: f7cb f868 bl 80542fc LCD_DisplayString(294, LCD_LINE_6, (char *) pNUMS[ikd2]); 808922c: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 8089230: b2db uxtb r3, r3 8089232: 461a mov r2, r3 8089234: 4b0b ldr r3, [pc, #44] ; (8089264 ) 8089236: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808923a: 461a mov r2, r3 808923c: 216a movs r1, #106 ; 0x6a 808923e: f44f 7093 mov.w r0, #294 ; 0x126 8089242: f7cb f85b bl 80542fc 8089246: e145 b.n 80894d4 8089248: 20020e7c .word 0x20020e7c 808924c: ff0a0f1f .word 0xff0a0f1f 8089250: ffd8aa57 .word 0xffd8aa57 8089254: 20023e60 .word 0x20023e60 8089258: 200206b4 .word 0x200206b4 808925c: 20020070 .word 0x20020070 8089260: 2002165c .word 0x2002165c 8089264: 20020964 .word 0x20020964 8089268: 080cf7e8 .word 0x080cf7e8 } else if(menupos == DiagMax_IED) 808926c: 4b62 ldr r3, [pc, #392] ; (80893f8 ) 808926e: 781b ldrb r3, [r3, #0] 8089270: b2db uxtb r3, r3 8089272: 2b08 cmp r3, #8 8089274: d15d bne.n 8089332 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8089276: 4961 ldr r1, [pc, #388] ; (80893fc ) 8089278: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808927c: f7ca fa96 bl 80537ac if(blk) 8089280: 4b5f ldr r3, [pc, #380] ; (8089400 ) 8089282: 681b ldr r3, [r3, #0] 8089284: 2b00 cmp r3, #0 8089286: d00b beq.n 80892a0 LCD_DisplayString(246, LCD_LINE_6, (char *) pNUMS[ied2]); 8089288: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 808928c: b2db uxtb r3, r3 808928e: 461a mov r2, r3 8089290: 4b5c ldr r3, [pc, #368] ; (8089404 ) 8089292: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8089296: 461a mov r2, r3 8089298: 216a movs r1, #106 ; 0x6a 808929a: 20f6 movs r0, #246 ; 0xf6 808929c: f7cb f82e bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80892a0: 4956 ldr r1, [pc, #344] ; (80893fc ) 80892a2: 4859 ldr r0, [pc, #356] ; (8089408 ) 80892a4: f7ca fa82 bl 80537ac LCD_DisplayString(198, LCD_LINE_6, (char *) pNUMS[idt2]); 80892a8: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 80892ac: b2db uxtb r3, r3 80892ae: 461a mov r2, r3 80892b0: 4b54 ldr r3, [pc, #336] ; (8089404 ) 80892b2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80892b6: 461a mov r2, r3 80892b8: 216a movs r1, #106 ; 0x6a 80892ba: 20c6 movs r0, #198 ; 0xc6 80892bc: f7cb f81e bl 80542fc LCD_DisplayString(214, LCD_LINE_6, (char *) pNUMS[iet2]); 80892c0: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 80892c4: b2db uxtb r3, r3 80892c6: 461a mov r2, r3 80892c8: 4b4e ldr r3, [pc, #312] ; (8089404 ) 80892ca: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80892ce: 461a mov r2, r3 80892d0: 216a movs r1, #106 ; 0x6a 80892d2: 20d6 movs r0, #214 ; 0xd6 80892d4: f7cb f812 bl 80542fc LCD_DisplayString(230, LCD_LINE_6, (char *) pNUMS[ies2]); 80892d8: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 80892dc: b2db uxtb r3, r3 80892de: 461a mov r2, r3 80892e0: 4b48 ldr r3, [pc, #288] ; (8089404 ) 80892e2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80892e6: 461a mov r2, r3 80892e8: 216a movs r1, #106 ; 0x6a 80892ea: 20e6 movs r0, #230 ; 0xe6 80892ec: f7cb f806 bl 80542fc LCD_DisplayString(262, LCD_LINE_6, (char *) pNUMS[iee2]); 80892f0: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 80892f4: b2db uxtb r3, r3 80892f6: 461a mov r2, r3 80892f8: 4b42 ldr r3, [pc, #264] ; (8089404 ) 80892fa: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80892fe: 461a mov r2, r3 8089300: 216a movs r1, #106 ; 0x6a 8089302: f44f 7083 mov.w r0, #262 ; 0x106 8089306: f7ca fff9 bl 80542fc LCD_DisplayString(278, LCD_LINE_6, "."); 808930a: 4a40 ldr r2, [pc, #256] ; (808940c ) 808930c: 216a movs r1, #106 ; 0x6a 808930e: f44f 708b mov.w r0, #278 ; 0x116 8089312: f7ca fff3 bl 80542fc LCD_DisplayString(294, LCD_LINE_6, (char *) pNUMS[ikd2]); 8089316: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 808931a: b2db uxtb r3, r3 808931c: 461a mov r2, r3 808931e: 4b39 ldr r3, [pc, #228] ; (8089404 ) 8089320: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8089324: 461a mov r2, r3 8089326: 216a movs r1, #106 ; 0x6a 8089328: f44f 7093 mov.w r0, #294 ; 0x126 808932c: f7ca ffe6 bl 80542fc 8089330: e0d0 b.n 80894d4 } else if(menupos == DiagMax_IEE) 8089332: 4b31 ldr r3, [pc, #196] ; (80893f8 ) 8089334: 781b ldrb r3, [r3, #0] 8089336: b2db uxtb r3, r3 8089338: 2b09 cmp r3, #9 808933a: d169 bne.n 8089410 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808933c: 492f ldr r1, [pc, #188] ; (80893fc ) 808933e: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8089342: f7ca fa33 bl 80537ac if(blk) 8089346: 4b2e ldr r3, [pc, #184] ; (8089400 ) 8089348: 681b ldr r3, [r3, #0] 808934a: 2b00 cmp r3, #0 808934c: d00c beq.n 8089368 LCD_DisplayString(262, LCD_LINE_6, (char *) pNUMS[iee2]); 808934e: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 8089352: b2db uxtb r3, r3 8089354: 461a mov r2, r3 8089356: 4b2b ldr r3, [pc, #172] ; (8089404 ) 8089358: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808935c: 461a mov r2, r3 808935e: 216a movs r1, #106 ; 0x6a 8089360: f44f 7083 mov.w r0, #262 ; 0x106 8089364: f7ca ffca bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8089368: 4924 ldr r1, [pc, #144] ; (80893fc ) 808936a: 4827 ldr r0, [pc, #156] ; (8089408 ) 808936c: f7ca fa1e bl 80537ac LCD_DisplayString(198, LCD_LINE_6, (char *) pNUMS[idt2]); 8089370: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 8089374: b2db uxtb r3, r3 8089376: 461a mov r2, r3 8089378: 4b22 ldr r3, [pc, #136] ; (8089404 ) 808937a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808937e: 461a mov r2, r3 8089380: 216a movs r1, #106 ; 0x6a 8089382: 20c6 movs r0, #198 ; 0xc6 8089384: f7ca ffba bl 80542fc LCD_DisplayString(214, LCD_LINE_6, (char *) pNUMS[iet2]); 8089388: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 808938c: b2db uxtb r3, r3 808938e: 461a mov r2, r3 8089390: 4b1c ldr r3, [pc, #112] ; (8089404 ) 8089392: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8089396: 461a mov r2, r3 8089398: 216a movs r1, #106 ; 0x6a 808939a: 20d6 movs r0, #214 ; 0xd6 808939c: f7ca ffae bl 80542fc LCD_DisplayString(230, LCD_LINE_6, (char *) pNUMS[ies2]); 80893a0: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 80893a4: b2db uxtb r3, r3 80893a6: 461a mov r2, r3 80893a8: 4b16 ldr r3, [pc, #88] ; (8089404 ) 80893aa: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80893ae: 461a mov r2, r3 80893b0: 216a movs r1, #106 ; 0x6a 80893b2: 20e6 movs r0, #230 ; 0xe6 80893b4: f7ca ffa2 bl 80542fc LCD_DisplayString(246, LCD_LINE_6, (char *) pNUMS[ied2]); 80893b8: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 80893bc: b2db uxtb r3, r3 80893be: 461a mov r2, r3 80893c0: 4b10 ldr r3, [pc, #64] ; (8089404 ) 80893c2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80893c6: 461a mov r2, r3 80893c8: 216a movs r1, #106 ; 0x6a 80893ca: 20f6 movs r0, #246 ; 0xf6 80893cc: f7ca ff96 bl 80542fc LCD_DisplayString(278, LCD_LINE_6, "."); 80893d0: 4a0e ldr r2, [pc, #56] ; (808940c ) 80893d2: 216a movs r1, #106 ; 0x6a 80893d4: f44f 708b mov.w r0, #278 ; 0x116 80893d8: f7ca ff90 bl 80542fc LCD_DisplayString(294, LCD_LINE_6, (char *) pNUMS[ikd2]); 80893dc: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 80893e0: b2db uxtb r3, r3 80893e2: 461a mov r2, r3 80893e4: 4b07 ldr r3, [pc, #28] ; (8089404 ) 80893e6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80893ea: 461a mov r2, r3 80893ec: 216a movs r1, #106 ; 0x6a 80893ee: f44f 7093 mov.w r0, #294 ; 0x126 80893f2: f7ca ff83 bl 80542fc 80893f6: e06d b.n 80894d4 80893f8: 20020070 .word 0x20020070 80893fc: ff0a0f1f .word 0xff0a0f1f 8089400: 2002165c .word 0x2002165c 8089404: 20020964 .word 0x20020964 8089408: ffd8aa57 .word 0xffd8aa57 808940c: 080cf7e8 .word 0x080cf7e8 } else if(menupos == DiagMax_IKD) 8089410: 4bc4 ldr r3, [pc, #784] ; (8089724 ) 8089412: 781b ldrb r3, [r3, #0] 8089414: b2db uxtb r3, r3 8089416: 2b0a cmp r3, #10 8089418: d15c bne.n 80894d4 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808941a: 49c3 ldr r1, [pc, #780] ; (8089728 ) 808941c: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8089420: f7ca f9c4 bl 80537ac if(blk) 8089424: 4bc1 ldr r3, [pc, #772] ; (808972c ) 8089426: 681b ldr r3, [r3, #0] 8089428: 2b00 cmp r3, #0 808942a: d00c beq.n 8089446 LCD_DisplayString(294, LCD_LINE_6, (char *) pNUMS[ikd2]); 808942c: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 8089430: b2db uxtb r3, r3 8089432: 461a mov r2, r3 8089434: 4bbe ldr r3, [pc, #760] ; (8089730 ) 8089436: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808943a: 461a mov r2, r3 808943c: 216a movs r1, #106 ; 0x6a 808943e: f44f 7093 mov.w r0, #294 ; 0x126 8089442: f7ca ff5b bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8089446: 49b8 ldr r1, [pc, #736] ; (8089728 ) 8089448: 48ba ldr r0, [pc, #744] ; (8089734 ) 808944a: f7ca f9af bl 80537ac LCD_DisplayString(198, LCD_LINE_6, (char *) pNUMS[idt2]); 808944e: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 8089452: b2db uxtb r3, r3 8089454: 461a mov r2, r3 8089456: 4bb6 ldr r3, [pc, #728] ; (8089730 ) 8089458: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808945c: 461a mov r2, r3 808945e: 216a movs r1, #106 ; 0x6a 8089460: 20c6 movs r0, #198 ; 0xc6 8089462: f7ca ff4b bl 80542fc LCD_DisplayString(214, LCD_LINE_6, (char *) pNUMS[iet2]); 8089466: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 808946a: b2db uxtb r3, r3 808946c: 461a mov r2, r3 808946e: 4bb0 ldr r3, [pc, #704] ; (8089730 ) 8089470: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8089474: 461a mov r2, r3 8089476: 216a movs r1, #106 ; 0x6a 8089478: 20d6 movs r0, #214 ; 0xd6 808947a: f7ca ff3f bl 80542fc LCD_DisplayString(230, LCD_LINE_6, (char *) pNUMS[ies2]); 808947e: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 8089482: b2db uxtb r3, r3 8089484: 461a mov r2, r3 8089486: 4baa ldr r3, [pc, #680] ; (8089730 ) 8089488: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808948c: 461a mov r2, r3 808948e: 216a movs r1, #106 ; 0x6a 8089490: 20e6 movs r0, #230 ; 0xe6 8089492: f7ca ff33 bl 80542fc LCD_DisplayString(246, LCD_LINE_6, (char *) pNUMS[ied2]); 8089496: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 808949a: b2db uxtb r3, r3 808949c: 461a mov r2, r3 808949e: 4ba4 ldr r3, [pc, #656] ; (8089730 ) 80894a0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80894a4: 461a mov r2, r3 80894a6: 216a movs r1, #106 ; 0x6a 80894a8: 20f6 movs r0, #246 ; 0xf6 80894aa: f7ca ff27 bl 80542fc LCD_DisplayString(262, LCD_LINE_6, (char *) pNUMS[iee2]); 80894ae: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 80894b2: b2db uxtb r3, r3 80894b4: 461a mov r2, r3 80894b6: 4b9e ldr r3, [pc, #632] ; (8089730 ) 80894b8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80894bc: 461a mov r2, r3 80894be: 216a movs r1, #106 ; 0x6a 80894c0: f44f 7083 mov.w r0, #262 ; 0x106 80894c4: f7ca ff1a bl 80542fc LCD_DisplayString(278, LCD_LINE_6, "."); 80894c8: 4a9b ldr r2, [pc, #620] ; (8089738 ) 80894ca: 216a movs r1, #106 ; 0x6a 80894cc: f44f 708b mov.w r0, #278 ; 0x116 80894d0: f7ca ff14 bl 80542fc } // if(menupos < DiagMax_IDT) 80894d4: 4b93 ldr r3, [pc, #588] ; (8089724 ) 80894d6: 781b ldrb r3, [r3, #0] 80894d8: b2db uxtb r3, r3 80894da: 2b04 cmp r3, #4 80894dc: f200 80b9 bhi.w 8089652 { i = 0; 80894e0: 2300 movs r3, #0 80894e2: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 memset(str2, 0, sizeof(str2)); 80894e6: f507 73d8 add.w r3, r7, #432 ; 0x1b0 80894ea: 223c movs r2, #60 ; 0x3c 80894ec: 2100 movs r1, #0 80894ee: 4618 mov r0, r3 80894f0: f043 fdaa bl 80cd048 if(idt2 != 0) 80894f4: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 80894f8: b2db uxtb r3, r3 80894fa: 2b00 cmp r3, #0 80894fc: d00c beq.n 8089518 str2[i++] = idt2 + 48; 80894fe: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8089502: 1c5a adds r2, r3, #1 8089504: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8089508: f897 23d8 ldrb.w r2, [r7, #984] ; 0x3d8 808950c: b2d2 uxtb r2, r2 808950e: 3230 adds r2, #48 ; 0x30 8089510: b2d1 uxtb r1, r2 8089512: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8089516: 54d1 strb r1, [r2, r3] if((iet2 != 0) || (idt2 != 0)) 8089518: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 808951c: b2db uxtb r3, r3 808951e: 2b00 cmp r3, #0 8089520: d104 bne.n 808952c 8089522: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 8089526: b2db uxtb r3, r3 8089528: 2b00 cmp r3, #0 808952a: d00c beq.n 8089546 str2[i++] = iet2 + 48; 808952c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8089530: 1c5a adds r2, r3, #1 8089532: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8089536: f897 23d7 ldrb.w r2, [r7, #983] ; 0x3d7 808953a: b2d2 uxtb r2, r2 808953c: 3230 adds r2, #48 ; 0x30 808953e: b2d1 uxtb r1, r2 8089540: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8089544: 54d1 strb r1, [r2, r3] if((ies2 != 0) || (iet2 != 0) || (idt2 != 0)) 8089546: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 808954a: b2db uxtb r3, r3 808954c: 2b00 cmp r3, #0 808954e: d109 bne.n 8089564 8089550: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 8089554: b2db uxtb r3, r3 8089556: 2b00 cmp r3, #0 8089558: d104 bne.n 8089564 808955a: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 808955e: b2db uxtb r3, r3 8089560: 2b00 cmp r3, #0 8089562: d00c beq.n 808957e str2[i++] = ies2 + 48; 8089564: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8089568: 1c5a adds r2, r3, #1 808956a: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808956e: f897 23d6 ldrb.w r2, [r7, #982] ; 0x3d6 8089572: b2d2 uxtb r2, r2 8089574: 3230 adds r2, #48 ; 0x30 8089576: b2d1 uxtb r1, r2 8089578: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808957c: 54d1 strb r1, [r2, r3] if((ied2 != 0) || (ies2 != 0) || (iet2 != 0) || (idt2 != 0)) 808957e: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 8089582: b2db uxtb r3, r3 8089584: 2b00 cmp r3, #0 8089586: d10e bne.n 80895a6 8089588: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 808958c: b2db uxtb r3, r3 808958e: 2b00 cmp r3, #0 8089590: d109 bne.n 80895a6 8089592: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 8089596: b2db uxtb r3, r3 8089598: 2b00 cmp r3, #0 808959a: d104 bne.n 80895a6 808959c: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 80895a0: b2db uxtb r3, r3 80895a2: 2b00 cmp r3, #0 80895a4: d00c beq.n 80895c0 str2[i++] = ied2 + 48; 80895a6: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80895aa: 1c5a adds r2, r3, #1 80895ac: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 80895b0: f897 23d5 ldrb.w r2, [r7, #981] ; 0x3d5 80895b4: b2d2 uxtb r2, r2 80895b6: 3230 adds r2, #48 ; 0x30 80895b8: b2d1 uxtb r1, r2 80895ba: f507 72d8 add.w r2, r7, #432 ; 0x1b0 80895be: 54d1 strb r1, [r2, r3] str2[i++] = iee2 + 48; 80895c0: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80895c4: 1c5a adds r2, r3, #1 80895c6: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 80895ca: f897 23d4 ldrb.w r2, [r7, #980] ; 0x3d4 80895ce: b2d2 uxtb r2, r2 80895d0: 3230 adds r2, #48 ; 0x30 80895d2: b2d1 uxtb r1, r2 80895d4: f507 72d8 add.w r2, r7, #432 ; 0x1b0 80895d8: 54d1 strb r1, [r2, r3] str2[i++] = '.'; 80895da: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80895de: 1c5a adds r2, r3, #1 80895e0: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 80895e4: f507 72d8 add.w r2, r7, #432 ; 0x1b0 80895e8: 212e movs r1, #46 ; 0x2e 80895ea: 54d1 strb r1, [r2, r3] str2[i++] = ikd2 + 48; 80895ec: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80895f0: 1c5a adds r2, r3, #1 80895f2: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 80895f6: f897 23d3 ldrb.w r2, [r7, #979] ; 0x3d3 80895fa: b2d2 uxtb r2, r2 80895fc: 3230 adds r2, #48 ; 0x30 80895fe: b2d1 uxtb r1, r2 8089600: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8089604: 54d1 strb r1, [r2, r3] if(pardata.OPTIONS & 0x4) 8089606: 4b4d ldr r3, [pc, #308] ; (808973c ) 8089608: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 808960c: f003 0304 and.w r3, r3, #4 8089610: 2b00 cmp r3, #0 8089612: d003 beq.n 808961c cl2 = LCD_COLOR_GRAY; 8089614: 4b4a ldr r3, [pc, #296] ; (8089740 ) 8089616: f8c7 3454 str.w r3, [r7, #1108] ; 0x454 808961a: e002 b.n 8089622 else cl2 = LCD_COLOR_MY_YELLOW; 808961c: 4b45 ldr r3, [pc, #276] ; (8089734 ) 808961e: f8c7 3454 str.w r3, [r7, #1108] ; 0x454 if(menupos == DiagMax_ALL) 8089622: 4b40 ldr r3, [pc, #256] ; (8089724 ) 8089624: 781b ldrb r3, [r3, #0] 8089626: b2db uxtb r3, r3 8089628: 2b03 cmp r3, #3 808962a: d105 bne.n 8089638 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808962c: 493e ldr r1, [pc, #248] ; (8089728 ) 808962e: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8089632: f7ca f8bb bl 80537ac 8089636: e004 b.n 8089642 else LCD_SetColors(cl2, LCD_COLOR_BLACK); 8089638: 493b ldr r1, [pc, #236] ; (8089728 ) 808963a: f8d7 0454 ldr.w r0, [r7, #1108] ; 0x454 808963e: f7ca f8b5 bl 80537ac LCD_DisplayStringC(260, LCD_LINE_6, str2); 8089642: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8089646: 461a mov r2, r3 8089648: 216a movs r1, #106 ; 0x6a 808964a: f44f 7082 mov.w r0, #260 ; 0x104 808964e: f7ca fe6d bl 805432c } //asd if(pardata.OPTIONS & 0x4) 8089652: 4b3a ldr r3, [pc, #232] ; (808973c ) 8089654: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8089658: f003 0304 and.w r3, r3, #4 808965c: 2b00 cmp r3, #0 808965e: f00d 87b4 beq.w 80975ca { LCD_SetColors(LCD_COLOR_DARKGRAY, LCD_COLOR_BLACK); 8089662: 4931 ldr r1, [pc, #196] ; (8089728 ) 8089664: 4837 ldr r0, [pc, #220] ; (8089744 ) 8089666: f7ca f8a1 bl 80537ac BSP_LCD_FillRect(257, CHECKBOX_LINE_5+2, 6, 6); 808966a: 2306 movs r3, #6 808966c: 2206 movs r2, #6 808966e: 215f movs r1, #95 ; 0x5f 8089670: f240 1001 movw r0, #257 ; 0x101 8089674: f7ca fd28 bl 80540c8 //LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); // BSP_LCD_FillRect(255, CHECKBOX_LINE_5, 10, 10); } break; 8089678: f00d bfa7 b.w 80975ca case PARAM_DIAGN_1: LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 808967c: 492a ldr r1, [pc, #168] ; (8089728 ) 808967e: 4832 ldr r0, [pc, #200] ; (8089748 ) 8089680: f7ca f894 bl 80537ac BSP_LCD_DrawRect(2, 35, 314, 201); 8089684: 23c9 movs r3, #201 ; 0xc9 8089686: f44f 729d mov.w r2, #314 ; 0x13a 808968a: 2123 movs r1, #35 ; 0x23 808968c: 2002 movs r0, #2 808968e: f7ca fb93 bl 8053db8 //**************************************************************** for(i = 0; i < 8; i++) 8089692: 2300 movs r3, #0 8089694: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 8089698: e11e b.n 80898d8 { memset(str, 0, sizeof(str)); 808969a: f507 733b add.w r3, r7, #748 ; 0x2ec 808969e: 223c movs r2, #60 ; 0x3c 80896a0: 2100 movs r1, #0 80896a2: 4618 mov r0, r3 80896a4: f043 fcd0 bl 80cd048 memset(str1, 0, sizeof(str1)); 80896a8: f507 73f6 add.w r3, r7, #492 ; 0x1ec 80896ac: f44f 7280 mov.w r2, #256 ; 0x100 80896b0: 2100 movs r1, #0 80896b2: 4618 mov r0, r3 80896b4: f043 fcc8 bl 80cd048 memset(&s[i][0], 0, 40u); 80896b8: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 80896bc: f107 0114 add.w r1, r7, #20 80896c0: 4613 mov r3, r2 80896c2: 009b lsls r3, r3, #2 80896c4: 4413 add r3, r2 80896c6: 00db lsls r3, r3, #3 80896c8: 440b add r3, r1 80896ca: 2228 movs r2, #40 ; 0x28 80896cc: 2100 movs r1, #0 80896ce: 4618 mov r0, r3 80896d0: f043 fcba bl 80cd048 memcpy(str, (void *) &pardata.DIAGN_NAME[i][0], 40); 80896d4: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 80896d8: 4613 mov r3, r2 80896da: 009b lsls r3, r3, #2 80896dc: 4413 add r3, r2 80896de: 00db lsls r3, r3, #3 80896e0: 33d8 adds r3, #216 ; 0xd8 80896e2: 4a16 ldr r2, [pc, #88] ; (808973c ) 80896e4: 4413 add r3, r2 80896e6: 1d19 adds r1, r3, #4 80896e8: f507 733b add.w r3, r7, #748 ; 0x2ec 80896ec: 2228 movs r2, #40 ; 0x28 80896ee: 4618 mov r0, r3 80896f0: f043 fc9f bl 80cd032 l = strlen(str); 80896f4: f507 733b add.w r3, r7, #748 ; 0x2ec 80896f8: 4618 mov r0, r3 80896fa: f796 fe0b bl 8020314 80896fe: 4603 mov r3, r0 8089700: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 if(l == 0) 8089704: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 8089708: 2b00 cmp r3, #0 808970a: d15f bne.n 80897cc { if(pardata.LANG == RUS) 808970c: 4b0b ldr r3, [pc, #44] ; (808973c ) 808970e: 7b1b ldrb r3, [r3, #12] 8089710: b2db uxtb r3, r3 8089712: 2b00 cmp r3, #0 8089714: d11c bne.n 8089750 strcpy(str, "Ïðîãðàììà"); 8089716: f507 733b add.w r3, r7, #748 ; 0x2ec 808971a: 4a0c ldr r2, [pc, #48] ; (808974c ) 808971c: ca07 ldmia r2, {r0, r1, r2} 808971e: c303 stmia r3!, {r0, r1} 8089720: 801a strh r2, [r3, #0] 8089722: e01c b.n 808975e 8089724: 20020070 .word 0x20020070 8089728: ff0a0f1f .word 0xff0a0f1f 808972c: 2002165c .word 0x2002165c 8089730: 20020964 .word 0x20020964 8089734: ffd8aa57 .word 0xffd8aa57 8089738: 080cf7e8 .word 0x080cf7e8 808973c: 20023e60 .word 0x20023e60 8089740: ff808080 .word 0xff808080 8089744: ff404040 .word 0xff404040 8089748: ffd3d3d3 .word 0xffd3d3d3 808974c: 080d0088 .word 0x080d0088 else strcpy(str, "Program"); 8089750: f507 733b add.w r3, r7, #748 ; 0x2ec 8089754: 4acd ldr r2, [pc, #820] ; (8089a8c ) 8089756: e892 0003 ldmia.w r2, {r0, r1} 808975a: e883 0003 stmia.w r3, {r0, r1} l = strlen(str); 808975e: f507 733b add.w r3, r7, #748 ; 0x2ec 8089762: 4618 mov r0, r3 8089764: f796 fdd6 bl 8020314 8089768: 4603 mov r3, r0 808976a: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 str[l++] = ' '; 808976e: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 8089772: 1c5a adds r2, r3, #1 8089774: f8c7 23f4 str.w r2, [r7, #1012] ; 0x3f4 8089778: f507 723b add.w r2, r7, #748 ; 0x2ec 808977c: 2120 movs r1, #32 808977e: 54d1 strb r1, [r2, r3] str[l++] = (char) (i + 49); 8089780: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 8089784: 1c5a adds r2, r3, #1 8089786: f8c7 23f4 str.w r2, [r7, #1012] ; 0x3f4 808978a: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 808978e: b2d2 uxtb r2, r2 8089790: 3231 adds r2, #49 ; 0x31 8089792: b2d1 uxtb r1, r2 8089794: f507 723b add.w r2, r7, #748 ; 0x2ec 8089798: 54d1 strb r1, [r2, r3] str[l++] = 0; 808979a: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 808979e: 1c5a adds r2, r3, #1 80897a0: f8c7 23f4 str.w r2, [r7, #1012] ; 0x3f4 80897a4: f507 723b add.w r2, r7, #748 ; 0x2ec 80897a8: 2100 movs r1, #0 80897aa: 54d1 strb r1, [r2, r3] strcpy(&s[i][0], str); 80897ac: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 80897b0: f107 0114 add.w r1, r7, #20 80897b4: 4613 mov r3, r2 80897b6: 009b lsls r3, r3, #2 80897b8: 4413 add r3, r2 80897ba: 00db lsls r3, r3, #3 80897bc: 440b add r3, r1 80897be: f507 723b add.w r2, r7, #748 ; 0x2ec 80897c2: 4611 mov r1, r2 80897c4: 4618 mov r0, r3 80897c6: f043 fd5c bl 80cd282 80897ca: e080 b.n 80898ce } else { if(l < 27) 80897cc: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 80897d0: 2b1a cmp r3, #26 80897d2: d808 bhi.n 80897e6 { strcpy(str1, str); 80897d4: f507 723b add.w r2, r7, #748 ; 0x2ec 80897d8: f507 73f6 add.w r3, r7, #492 ; 0x1ec 80897dc: 4611 mov r1, r2 80897de: 4618 mov r0, r3 80897e0: f043 fd4f bl 80cd282 80897e4: e064 b.n 80898b0 } else { memset(str1, 0x20, sizeof(str1)); 80897e6: f507 73f6 add.w r3, r7, #492 ; 0x1ec 80897ea: f44f 7280 mov.w r2, #256 ; 0x100 80897ee: 2120 movs r1, #32 80897f0: 4618 mov r0, r3 80897f2: f043 fc29 bl 80cd048 if(tme <= l) 80897f6: 4ba6 ldr r3, [pc, #664] ; (8089a90 ) 80897f8: 681a ldr r2, [r3, #0] 80897fa: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 80897fe: 429a cmp r2, r3 8089800: d822 bhi.n 8089848 { if(l - tme >= 26) 8089802: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 8089806: 4ba2 ldr r3, [pc, #648] ; (8089a90 ) 8089808: 681b ldr r3, [r3, #0] 808980a: 1ad3 subs r3, r2, r3 808980c: 2b19 cmp r3, #25 808980e: d90b bls.n 8089828 memcpy(str1, &str[tme], 26); 8089810: 4b9f ldr r3, [pc, #636] ; (8089a90 ) 8089812: 681b ldr r3, [r3, #0] 8089814: f507 723b add.w r2, r7, #748 ; 0x2ec 8089818: 18d1 adds r1, r2, r3 808981a: f507 73f6 add.w r3, r7, #492 ; 0x1ec 808981e: 221a movs r2, #26 8089820: 4618 mov r0, r3 8089822: f043 fc06 bl 80cd032 8089826: e022 b.n 808986e else memcpy(str1, &str[tme], l - tme); 8089828: 4b99 ldr r3, [pc, #612] ; (8089a90 ) 808982a: 681b ldr r3, [r3, #0] 808982c: f507 723b add.w r2, r7, #748 ; 0x2ec 8089830: 18d1 adds r1, r2, r3 8089832: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 8089836: 4b96 ldr r3, [pc, #600] ; (8089a90 ) 8089838: 681b ldr r3, [r3, #0] 808983a: 1ad2 subs r2, r2, r3 808983c: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8089840: 4618 mov r0, r3 8089842: f043 fbf6 bl 80cd032 8089846: e012 b.n 808986e } else { memcpy(&str1[26 - (tme - l)], str, tme - l); 8089848: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 808984c: 4b90 ldr r3, [pc, #576] ; (8089a90 ) 808984e: 681b ldr r3, [r3, #0] 8089850: 1ad3 subs r3, r2, r3 8089852: 331a adds r3, #26 8089854: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8089858: 18d0 adds r0, r2, r3 808985a: 4b8d ldr r3, [pc, #564] ; (8089a90 ) 808985c: 681a ldr r2, [r3, #0] 808985e: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 8089862: 1ad2 subs r2, r2, r3 8089864: f507 733b add.w r3, r7, #748 ; 0x2ec 8089868: 4619 mov r1, r3 808986a: f043 fbe2 bl 80cd032 } str1[27] = '\0'; 808986e: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8089872: 2200 movs r2, #0 8089874: 76da strb r2, [r3, #27] tt++; 8089876: 4b87 ldr r3, [pc, #540] ; (8089a94 ) 8089878: 781b ldrb r3, [r3, #0] 808987a: 3301 adds r3, #1 808987c: b2da uxtb r2, r3 808987e: 4b85 ldr r3, [pc, #532] ; (8089a94 ) 8089880: 701a strb r2, [r3, #0] if(tt >= 2) 8089882: 4b84 ldr r3, [pc, #528] ; (8089a94 ) 8089884: 781b ldrb r3, [r3, #0] 8089886: 2b01 cmp r3, #1 8089888: d912 bls.n 80898b0 { tt = 0; 808988a: 4b82 ldr r3, [pc, #520] ; (8089a94 ) 808988c: 2200 movs r2, #0 808988e: 701a strb r2, [r3, #0] tme++; 8089890: 4b7f ldr r3, [pc, #508] ; (8089a90 ) 8089892: 681b ldr r3, [r3, #0] 8089894: 3301 adds r3, #1 8089896: 4a7e ldr r2, [pc, #504] ; (8089a90 ) 8089898: 6013 str r3, [r2, #0] if(26 - (tme - l) == 0) 808989a: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 808989e: 4b7c ldr r3, [pc, #496] ; (8089a90 ) 80898a0: 681b ldr r3, [r3, #0] 80898a2: 1ad3 subs r3, r2, r3 80898a4: f113 0f1a cmn.w r3, #26 80898a8: d102 bne.n 80898b0 { tme = 0; 80898aa: 4b79 ldr r3, [pc, #484] ; (8089a90 ) 80898ac: 2200 movs r2, #0 80898ae: 601a str r2, [r3, #0] } } } strcpy(&s[i][0], str1); 80898b0: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 80898b4: f107 0114 add.w r1, r7, #20 80898b8: 4613 mov r3, r2 80898ba: 009b lsls r3, r3, #2 80898bc: 4413 add r3, r2 80898be: 00db lsls r3, r3, #3 80898c0: 440b add r3, r1 80898c2: f507 72f6 add.w r2, r7, #492 ; 0x1ec 80898c6: 4611 mov r1, r2 80898c8: 4618 mov r0, r3 80898ca: f043 fcda bl 80cd282 for(i = 0; i < 8; i++) 80898ce: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80898d2: 3301 adds r3, #1 80898d4: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 80898d8: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80898dc: 2b07 cmp r3, #7 80898de: f67f aedc bls.w 808969a } } //**************************************************************** k = 0; 80898e2: 2300 movs r3, #0 80898e4: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 if(menupos == Diag1) 80898e8: 4b6b ldr r3, [pc, #428] ; (8089a98 ) 80898ea: 781b ldrb r3, [r3, #0] 80898ec: b2db uxtb r3, r3 80898ee: 2b00 cmp r3, #0 80898f0: d105 bne.n 80898fe LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80898f2: 496a ldr r1, [pc, #424] ; (8089a9c ) 80898f4: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80898f8: f7c9 ff58 bl 80537ac 80898fc: e004 b.n 8089908 else LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80898fe: 4967 ldr r1, [pc, #412] ; (8089a9c ) 8089900: f04f 30ff mov.w r0, #4294967295 8089904: f7c9 ff52 bl 80537ac LCD_DisplayString(10, LCD_LINE_3, &s[k++][0]); 8089908: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808990c: 1c53 adds r3, r2, #1 808990e: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8089912: f107 0114 add.w r1, r7, #20 8089916: 4613 mov r3, r2 8089918: 009b lsls r3, r3, #2 808991a: 4413 add r3, r2 808991c: 00db lsls r3, r3, #3 808991e: 440b add r3, r1 8089920: 461a mov r2, r3 8089922: 213a movs r1, #58 ; 0x3a 8089924: 200a movs r0, #10 8089926: f7ca fce9 bl 80542fc if(menupos == Diag2) 808992a: 4b5b ldr r3, [pc, #364] ; (8089a98 ) 808992c: 781b ldrb r3, [r3, #0] 808992e: b2db uxtb r3, r3 8089930: 2b01 cmp r3, #1 8089932: d105 bne.n 8089940 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8089934: 4959 ldr r1, [pc, #356] ; (8089a9c ) 8089936: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808993a: f7c9 ff37 bl 80537ac 808993e: e004 b.n 808994a else LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8089940: 4956 ldr r1, [pc, #344] ; (8089a9c ) 8089942: f04f 30ff mov.w r0, #4294967295 8089946: f7c9 ff31 bl 80537ac LCD_DisplayString(10, LCD_LINE_4, &s[k++][0]); 808994a: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808994e: 1c53 adds r3, r2, #1 8089950: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8089954: f107 0114 add.w r1, r7, #20 8089958: 4613 mov r3, r2 808995a: 009b lsls r3, r3, #2 808995c: 4413 add r3, r2 808995e: 00db lsls r3, r3, #3 8089960: 440b add r3, r1 8089962: 461a mov r2, r3 8089964: 214a movs r1, #74 ; 0x4a 8089966: 200a movs r0, #10 8089968: f7ca fcc8 bl 80542fc if(menupos == Diag3) 808996c: 4b4a ldr r3, [pc, #296] ; (8089a98 ) 808996e: 781b ldrb r3, [r3, #0] 8089970: b2db uxtb r3, r3 8089972: 2b02 cmp r3, #2 8089974: d105 bne.n 8089982 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8089976: 4949 ldr r1, [pc, #292] ; (8089a9c ) 8089978: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808997c: f7c9 ff16 bl 80537ac 8089980: e004 b.n 808998c else LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8089982: 4946 ldr r1, [pc, #280] ; (8089a9c ) 8089984: f04f 30ff mov.w r0, #4294967295 8089988: f7c9 ff10 bl 80537ac LCD_DisplayString(10, LCD_LINE_5, &s[k++][0]); 808998c: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8089990: 1c53 adds r3, r2, #1 8089992: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8089996: f107 0114 add.w r1, r7, #20 808999a: 4613 mov r3, r2 808999c: 009b lsls r3, r3, #2 808999e: 4413 add r3, r2 80899a0: 00db lsls r3, r3, #3 80899a2: 440b add r3, r1 80899a4: 461a mov r2, r3 80899a6: 215a movs r1, #90 ; 0x5a 80899a8: 200a movs r0, #10 80899aa: f7ca fca7 bl 80542fc if(menupos == Diag4) 80899ae: 4b3a ldr r3, [pc, #232] ; (8089a98 ) 80899b0: 781b ldrb r3, [r3, #0] 80899b2: b2db uxtb r3, r3 80899b4: 2b03 cmp r3, #3 80899b6: d105 bne.n 80899c4 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80899b8: 4938 ldr r1, [pc, #224] ; (8089a9c ) 80899ba: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80899be: f7c9 fef5 bl 80537ac 80899c2: e004 b.n 80899ce else LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80899c4: 4935 ldr r1, [pc, #212] ; (8089a9c ) 80899c6: f04f 30ff mov.w r0, #4294967295 80899ca: f7c9 feef bl 80537ac LCD_DisplayString(10, LCD_LINE_6, &s[k++][0]); 80899ce: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 80899d2: 1c53 adds r3, r2, #1 80899d4: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 80899d8: f107 0114 add.w r1, r7, #20 80899dc: 4613 mov r3, r2 80899de: 009b lsls r3, r3, #2 80899e0: 4413 add r3, r2 80899e2: 00db lsls r3, r3, #3 80899e4: 440b add r3, r1 80899e6: 461a mov r2, r3 80899e8: 216a movs r1, #106 ; 0x6a 80899ea: 200a movs r0, #10 80899ec: f7ca fc86 bl 80542fc if(menupos == Diag5) 80899f0: 4b29 ldr r3, [pc, #164] ; (8089a98 ) 80899f2: 781b ldrb r3, [r3, #0] 80899f4: b2db uxtb r3, r3 80899f6: 2b04 cmp r3, #4 80899f8: d105 bne.n 8089a06 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80899fa: 4928 ldr r1, [pc, #160] ; (8089a9c ) 80899fc: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8089a00: f7c9 fed4 bl 80537ac 8089a04: e004 b.n 8089a10 else LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8089a06: 4925 ldr r1, [pc, #148] ; (8089a9c ) 8089a08: f04f 30ff mov.w r0, #4294967295 8089a0c: f7c9 fece bl 80537ac LCD_DisplayString(10, LCD_LINE_7, &s[k++][0]); 8089a10: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8089a14: 1c53 adds r3, r2, #1 8089a16: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8089a1a: f107 0114 add.w r1, r7, #20 8089a1e: 4613 mov r3, r2 8089a20: 009b lsls r3, r3, #2 8089a22: 4413 add r3, r2 8089a24: 00db lsls r3, r3, #3 8089a26: 440b add r3, r1 8089a28: 461a mov r2, r3 8089a2a: 217a movs r1, #122 ; 0x7a 8089a2c: 200a movs r0, #10 8089a2e: f7ca fc65 bl 80542fc if(menupos == Diag6) 8089a32: 4b19 ldr r3, [pc, #100] ; (8089a98 ) 8089a34: 781b ldrb r3, [r3, #0] 8089a36: b2db uxtb r3, r3 8089a38: 2b05 cmp r3, #5 8089a3a: d105 bne.n 8089a48 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8089a3c: 4917 ldr r1, [pc, #92] ; (8089a9c ) 8089a3e: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8089a42: f7c9 feb3 bl 80537ac 8089a46: e004 b.n 8089a52 else LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8089a48: 4914 ldr r1, [pc, #80] ; (8089a9c ) 8089a4a: f04f 30ff mov.w r0, #4294967295 8089a4e: f7c9 fead bl 80537ac LCD_DisplayString(10, LCD_LINE_8, &s[k++][0]); 8089a52: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8089a56: 1c53 adds r3, r2, #1 8089a58: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8089a5c: f107 0114 add.w r1, r7, #20 8089a60: 4613 mov r3, r2 8089a62: 009b lsls r3, r3, #2 8089a64: 4413 add r3, r2 8089a66: 00db lsls r3, r3, #3 8089a68: 440b add r3, r1 8089a6a: 461a mov r2, r3 8089a6c: 218a movs r1, #138 ; 0x8a 8089a6e: 200a movs r0, #10 8089a70: f7ca fc44 bl 80542fc if(menupos == Diag7) 8089a74: 4b08 ldr r3, [pc, #32] ; (8089a98 ) 8089a76: 781b ldrb r3, [r3, #0] 8089a78: b2db uxtb r3, r3 8089a7a: 2b06 cmp r3, #6 8089a7c: d110 bne.n 8089aa0 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8089a7e: 4907 ldr r1, [pc, #28] ; (8089a9c ) 8089a80: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8089a84: f7c9 fe92 bl 80537ac 8089a88: e00f b.n 8089aaa 8089a8a: bf00 nop 8089a8c: 080d0094 .word 0x080d0094 8089a90: 20021668 .word 0x20021668 8089a94: 2002166c .word 0x2002166c 8089a98: 20020070 .word 0x20020070 8089a9c: ff0a0f1f .word 0xff0a0f1f else LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8089aa0: 494d ldr r1, [pc, #308] ; (8089bd8 ) 8089aa2: f04f 30ff mov.w r0, #4294967295 8089aa6: f7c9 fe81 bl 80537ac LCD_DisplayString(10, LCD_LINE_9, &s[k++][0]); 8089aaa: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8089aae: 1c53 adds r3, r2, #1 8089ab0: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8089ab4: f107 0114 add.w r1, r7, #20 8089ab8: 4613 mov r3, r2 8089aba: 009b lsls r3, r3, #2 8089abc: 4413 add r3, r2 8089abe: 00db lsls r3, r3, #3 8089ac0: 440b add r3, r1 8089ac2: 461a mov r2, r3 8089ac4: 219a movs r1, #154 ; 0x9a 8089ac6: 200a movs r0, #10 8089ac8: f7ca fc18 bl 80542fc if(menupos == Diag8) 8089acc: 4b43 ldr r3, [pc, #268] ; (8089bdc ) 8089ace: 781b ldrb r3, [r3, #0] 8089ad0: b2db uxtb r3, r3 8089ad2: 2b07 cmp r3, #7 8089ad4: d105 bne.n 8089ae2 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8089ad6: 4940 ldr r1, [pc, #256] ; (8089bd8 ) 8089ad8: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8089adc: f7c9 fe66 bl 80537ac 8089ae0: e004 b.n 8089aec else LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8089ae2: 493d ldr r1, [pc, #244] ; (8089bd8 ) 8089ae4: f04f 30ff mov.w r0, #4294967295 8089ae8: f7c9 fe60 bl 80537ac LCD_DisplayString(10, LCD_LINE_10, &s[k++][0]); 8089aec: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8089af0: 1c53 adds r3, r2, #1 8089af2: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8089af6: f107 0114 add.w r1, r7, #20 8089afa: 4613 mov r3, r2 8089afc: 009b lsls r3, r3, #2 8089afe: 4413 add r3, r2 8089b00: 00db lsls r3, r3, #3 8089b02: 440b add r3, r1 8089b04: 461a mov r2, r3 8089b06: 21aa movs r1, #170 ; 0xaa 8089b08: 200a movs r0, #10 8089b0a: f7ca fbf7 bl 80542fc break; 8089b0e: f00d bd71 b.w 80975f4 case PARAM_DIAGN_2: //todo LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 8089b12: 4931 ldr r1, [pc, #196] ; (8089bd8 ) 8089b14: 4832 ldr r0, [pc, #200] ; (8089be0 ) 8089b16: f7c9 fe49 bl 80537ac BSP_LCD_DrawRect(2, 35, 314, 201); 8089b1a: 23c9 movs r3, #201 ; 0xc9 8089b1c: f44f 729d mov.w r2, #314 ; 0x13a 8089b20: 2123 movs r1, #35 ; 0x23 8089b22: 2002 movs r0, #2 8089b24: f7ca f948 bl 8053db8 //**************************************************************** memcpy(str, (void *) &pardata.DIAGN_NAME[CURR_POINT][0], 40u); 8089b28: 4b2e ldr r3, [pc, #184] ; (8089be4 ) 8089b2a: 781b ldrb r3, [r3, #0] 8089b2c: b2db uxtb r3, r3 8089b2e: 461a mov r2, r3 8089b30: 4613 mov r3, r2 8089b32: 009b lsls r3, r3, #2 8089b34: 4413 add r3, r2 8089b36: 00db lsls r3, r3, #3 8089b38: 33d8 adds r3, #216 ; 0xd8 8089b3a: 4a2b ldr r2, [pc, #172] ; (8089be8 ) 8089b3c: 4413 add r3, r2 8089b3e: 1d19 adds r1, r3, #4 8089b40: f507 733b add.w r3, r7, #748 ; 0x2ec 8089b44: 2228 movs r2, #40 ; 0x28 8089b46: 4618 mov r0, r3 8089b48: f043 fa73 bl 80cd032 l = strlen(str); 8089b4c: f507 733b add.w r3, r7, #748 ; 0x2ec 8089b50: 4618 mov r0, r3 8089b52: f796 fbdf bl 8020314 8089b56: 4603 mov r3, r0 8089b58: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 if(l < 10) 8089b5c: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 8089b60: 2b09 cmp r3, #9 8089b62: d808 bhi.n 8089b76 { strcpy(str1, str); 8089b64: f507 723b add.w r2, r7, #748 ; 0x2ec 8089b68: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8089b6c: 4611 mov r1, r2 8089b6e: 4618 mov r0, r3 8089b70: f043 fb87 bl 80cd282 8089b74: e070 b.n 8089c58 } else { memset(str1, 0x20, sizeof(str1)); 8089b76: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8089b7a: f44f 7280 mov.w r2, #256 ; 0x100 8089b7e: 2120 movs r1, #32 8089b80: 4618 mov r0, r3 8089b82: f043 fa61 bl 80cd048 if(tme <= l) 8089b86: 4b19 ldr r3, [pc, #100] ; (8089bec ) 8089b88: 681a ldr r2, [r3, #0] 8089b8a: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 8089b8e: 429a cmp r2, r3 8089b90: d82e bhi.n 8089bf0 { if(l - tme >= 9) 8089b92: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 8089b96: 4b15 ldr r3, [pc, #84] ; (8089bec ) 8089b98: 681b ldr r3, [r3, #0] 8089b9a: 1ad3 subs r3, r2, r3 8089b9c: 2b08 cmp r3, #8 8089b9e: d90b bls.n 8089bb8 memcpy(str1, &str[tme], 9); 8089ba0: 4b12 ldr r3, [pc, #72] ; (8089bec ) 8089ba2: 681b ldr r3, [r3, #0] 8089ba4: f507 723b add.w r2, r7, #748 ; 0x2ec 8089ba8: 18d1 adds r1, r2, r3 8089baa: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8089bae: 2209 movs r2, #9 8089bb0: 4618 mov r0, r3 8089bb2: f043 fa3e bl 80cd032 8089bb6: e02e b.n 8089c16 else memcpy(str1, &str[tme], l - tme); 8089bb8: 4b0c ldr r3, [pc, #48] ; (8089bec ) 8089bba: 681b ldr r3, [r3, #0] 8089bbc: f507 723b add.w r2, r7, #748 ; 0x2ec 8089bc0: 18d1 adds r1, r2, r3 8089bc2: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 8089bc6: 4b09 ldr r3, [pc, #36] ; (8089bec ) 8089bc8: 681b ldr r3, [r3, #0] 8089bca: 1ad2 subs r2, r2, r3 8089bcc: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8089bd0: 4618 mov r0, r3 8089bd2: f043 fa2e bl 80cd032 8089bd6: e01e b.n 8089c16 8089bd8: ff0a0f1f .word 0xff0a0f1f 8089bdc: 20020070 .word 0x20020070 8089be0: ffd3d3d3 .word 0xffd3d3d3 8089be4: 20021011 .word 0x20021011 8089be8: 20023e60 .word 0x20023e60 8089bec: 20021668 .word 0x20021668 } else { memcpy(&str1[9 - (tme - l)], str, tme - l); 8089bf0: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 8089bf4: 4bb9 ldr r3, [pc, #740] ; (8089edc ) 8089bf6: 681b ldr r3, [r3, #0] 8089bf8: 1ad3 subs r3, r2, r3 8089bfa: 3309 adds r3, #9 8089bfc: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8089c00: 18d0 adds r0, r2, r3 8089c02: 4bb6 ldr r3, [pc, #728] ; (8089edc ) 8089c04: 681a ldr r2, [r3, #0] 8089c06: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 8089c0a: 1ad2 subs r2, r2, r3 8089c0c: f507 733b add.w r3, r7, #748 ; 0x2ec 8089c10: 4619 mov r1, r3 8089c12: f043 fa0e bl 80cd032 } str1[10] = '\0'; 8089c16: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8089c1a: 2200 movs r2, #0 8089c1c: 729a strb r2, [r3, #10] tt++; 8089c1e: 4bb0 ldr r3, [pc, #704] ; (8089ee0 ) 8089c20: 781b ldrb r3, [r3, #0] 8089c22: 3301 adds r3, #1 8089c24: b2da uxtb r2, r3 8089c26: 4bae ldr r3, [pc, #696] ; (8089ee0 ) 8089c28: 701a strb r2, [r3, #0] if(tt >= 4) 8089c2a: 4bad ldr r3, [pc, #692] ; (8089ee0 ) 8089c2c: 781b ldrb r3, [r3, #0] 8089c2e: 2b03 cmp r3, #3 8089c30: d912 bls.n 8089c58 { tt = 0; 8089c32: 4bab ldr r3, [pc, #684] ; (8089ee0 ) 8089c34: 2200 movs r2, #0 8089c36: 701a strb r2, [r3, #0] tme++; 8089c38: 4ba8 ldr r3, [pc, #672] ; (8089edc ) 8089c3a: 681b ldr r3, [r3, #0] 8089c3c: 3301 adds r3, #1 8089c3e: 4aa7 ldr r2, [pc, #668] ; (8089edc ) 8089c40: 6013 str r3, [r2, #0] if(9 - (tme - l) == 0) 8089c42: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 8089c46: 4ba5 ldr r3, [pc, #660] ; (8089edc ) 8089c48: 681b ldr r3, [r3, #0] 8089c4a: 1ad3 subs r3, r2, r3 8089c4c: f113 0f09 cmn.w r3, #9 8089c50: d102 bne.n 8089c58 { tme = 0; 8089c52: 4ba2 ldr r3, [pc, #648] ; (8089edc ) 8089c54: 2200 movs r2, #0 8089c56: 601a str r2, [r3, #0] } } } //**************************************************************** LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8089c58: 49a2 ldr r1, [pc, #648] ; (8089ee4 ) 8089c5a: f04f 30ff mov.w r0, #4294967295 8089c5e: f7c9 fda5 bl 80537ac LCD_DisplayString(12, LCD_LINE_2, "( )"); 8089c62: 4aa1 ldr r2, [pc, #644] ; (8089ee8 ) 8089c64: 2127 movs r1, #39 ; 0x27 8089c66: 200c movs r0, #12 8089c68: f7ca fb48 bl 80542fc // OP1[12 + 11*4] // OP2[12 + 11*12] // OP3[12 + 11*20] k = (uint32_t) (pardata.DIAGN_HP[CURR_POINT][CURR_USL] * 10.0f); 8089c6c: 4b9f ldr r3, [pc, #636] ; (8089eec ) 8089c6e: 781b ldrb r3, [r3, #0] 8089c70: b2db uxtb r3, r3 8089c72: 4618 mov r0, r3 8089c74: 4b9e ldr r3, [pc, #632] ; (8089ef0 ) 8089c76: 781b ldrb r3, [r3, #0] 8089c78: b2db uxtb r3, r3 8089c7a: 4619 mov r1, r3 8089c7c: 4a9d ldr r2, [pc, #628] ; (8089ef4 ) 8089c7e: 0083 lsls r3, r0, #2 8089c80: 440b add r3, r1 8089c82: 3396 adds r3, #150 ; 0x96 8089c84: 009b lsls r3, r3, #2 8089c86: 4413 add r3, r2 8089c88: 3304 adds r3, #4 8089c8a: edd3 7a00 vldr s15, [r3] 8089c8e: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 8089c92: ee67 7a87 vmul.f32 s15, s15, s14 8089c96: eefc 7ae7 vcvt.u32.f32 s15, s15 8089c9a: ee17 3a90 vmov r3, s15 8089c9e: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 idtHP = (uint8_t) (k / 100000); 8089ca2: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8089ca6: 095b lsrs r3, r3, #5 8089ca8: 4a93 ldr r2, [pc, #588] ; (8089ef8 ) 8089caa: fba2 2303 umull r2, r3, r2, r3 8089cae: 09db lsrs r3, r3, #7 8089cb0: b2db uxtb r3, r3 8089cb2: f887 33d1 strb.w r3, [r7, #977] ; 0x3d1 ietHP = (uint8_t) (k % 100000 / 10000); 8089cb6: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8089cba: 0953 lsrs r3, r2, #5 8089cbc: 498e ldr r1, [pc, #568] ; (8089ef8 ) 8089cbe: fba1 1303 umull r1, r3, r1, r3 8089cc2: 09db lsrs r3, r3, #7 8089cc4: 498d ldr r1, [pc, #564] ; (8089efc ) 8089cc6: fb01 f303 mul.w r3, r1, r3 8089cca: 1ad3 subs r3, r2, r3 8089ccc: 4a8c ldr r2, [pc, #560] ; (8089f00 ) 8089cce: fba2 2303 umull r2, r3, r2, r3 8089cd2: 0b5b lsrs r3, r3, #13 8089cd4: b2db uxtb r3, r3 8089cd6: f887 33d0 strb.w r3, [r7, #976] ; 0x3d0 iesHP = (uint8_t) (k % 100000 % 10000 / 1000); 8089cda: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8089cde: 0953 lsrs r3, r2, #5 8089ce0: 4985 ldr r1, [pc, #532] ; (8089ef8 ) 8089ce2: fba1 1303 umull r1, r3, r1, r3 8089ce6: 09db lsrs r3, r3, #7 8089ce8: 4984 ldr r1, [pc, #528] ; (8089efc ) 8089cea: fb01 f303 mul.w r3, r1, r3 8089cee: 1ad3 subs r3, r2, r3 8089cf0: 4a83 ldr r2, [pc, #524] ; (8089f00 ) 8089cf2: fba2 1203 umull r1, r2, r2, r3 8089cf6: 0b52 lsrs r2, r2, #13 8089cf8: f242 7110 movw r1, #10000 ; 0x2710 8089cfc: fb01 f202 mul.w r2, r1, r2 8089d00: 1a9a subs r2, r3, r2 8089d02: 4b80 ldr r3, [pc, #512] ; (8089f04 ) 8089d04: fba3 2302 umull r2, r3, r3, r2 8089d08: 099b lsrs r3, r3, #6 8089d0a: b2db uxtb r3, r3 8089d0c: f887 33cf strb.w r3, [r7, #975] ; 0x3cf iedHP = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 8089d10: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8089d14: 095a lsrs r2, r3, #5 8089d16: 4978 ldr r1, [pc, #480] ; (8089ef8 ) 8089d18: fba1 1202 umull r1, r2, r1, r2 8089d1c: 09d2 lsrs r2, r2, #7 8089d1e: 4977 ldr r1, [pc, #476] ; (8089efc ) 8089d20: fb01 f202 mul.w r2, r1, r2 8089d24: 1a9a subs r2, r3, r2 8089d26: 4b76 ldr r3, [pc, #472] ; (8089f00 ) 8089d28: fba3 1302 umull r1, r3, r3, r2 8089d2c: 0b5b lsrs r3, r3, #13 8089d2e: f242 7110 movw r1, #10000 ; 0x2710 8089d32: fb01 f303 mul.w r3, r1, r3 8089d36: 1ad3 subs r3, r2, r3 8089d38: 4a72 ldr r2, [pc, #456] ; (8089f04 ) 8089d3a: fba2 1203 umull r1, r2, r2, r3 8089d3e: 0992 lsrs r2, r2, #6 8089d40: f44f 717a mov.w r1, #1000 ; 0x3e8 8089d44: fb01 f202 mul.w r2, r1, r2 8089d48: 1a9a subs r2, r3, r2 8089d4a: 4b6f ldr r3, [pc, #444] ; (8089f08 ) 8089d4c: fba3 2302 umull r2, r3, r3, r2 8089d50: 095b lsrs r3, r3, #5 8089d52: b2db uxtb r3, r3 8089d54: f887 33ce strb.w r3, [r7, #974] ; 0x3ce ieeHP = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 8089d58: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8089d5c: 0953 lsrs r3, r2, #5 8089d5e: 4966 ldr r1, [pc, #408] ; (8089ef8 ) 8089d60: fba1 1303 umull r1, r3, r1, r3 8089d64: 09db lsrs r3, r3, #7 8089d66: 4965 ldr r1, [pc, #404] ; (8089efc ) 8089d68: fb01 f303 mul.w r3, r1, r3 8089d6c: 1ad3 subs r3, r2, r3 8089d6e: 4a64 ldr r2, [pc, #400] ; (8089f00 ) 8089d70: fba2 1203 umull r1, r2, r2, r3 8089d74: 0b52 lsrs r2, r2, #13 8089d76: f242 7110 movw r1, #10000 ; 0x2710 8089d7a: fb01 f202 mul.w r2, r1, r2 8089d7e: 1a9a subs r2, r3, r2 8089d80: 4b60 ldr r3, [pc, #384] ; (8089f04 ) 8089d82: fba3 1302 umull r1, r3, r3, r2 8089d86: 099b lsrs r3, r3, #6 8089d88: f44f 717a mov.w r1, #1000 ; 0x3e8 8089d8c: fb01 f303 mul.w r3, r1, r3 8089d90: 1ad3 subs r3, r2, r3 8089d92: 4a5d ldr r2, [pc, #372] ; (8089f08 ) 8089d94: fba2 1203 umull r1, r2, r2, r3 8089d98: 0952 lsrs r2, r2, #5 8089d9a: 2164 movs r1, #100 ; 0x64 8089d9c: fb01 f202 mul.w r2, r1, r2 8089da0: 1a9a subs r2, r3, r2 8089da2: 4b5a ldr r3, [pc, #360] ; (8089f0c ) 8089da4: fba3 2302 umull r2, r3, r3, r2 8089da8: 08db lsrs r3, r3, #3 8089daa: b2db uxtb r3, r3 8089dac: f887 33cd strb.w r3, [r7, #973] ; 0x3cd ikdHP = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 8089db0: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8089db4: 0953 lsrs r3, r2, #5 8089db6: 4950 ldr r1, [pc, #320] ; (8089ef8 ) 8089db8: fba1 1303 umull r1, r3, r1, r3 8089dbc: 09db lsrs r3, r3, #7 8089dbe: 494f ldr r1, [pc, #316] ; (8089efc ) 8089dc0: fb01 f303 mul.w r3, r1, r3 8089dc4: 1ad3 subs r3, r2, r3 8089dc6: 4a4e ldr r2, [pc, #312] ; (8089f00 ) 8089dc8: fba2 1203 umull r1, r2, r2, r3 8089dcc: 0b52 lsrs r2, r2, #13 8089dce: f242 7110 movw r1, #10000 ; 0x2710 8089dd2: fb01 f202 mul.w r2, r1, r2 8089dd6: 1a9a subs r2, r3, r2 8089dd8: 4b4a ldr r3, [pc, #296] ; (8089f04 ) 8089dda: fba3 1302 umull r1, r3, r3, r2 8089dde: 099b lsrs r3, r3, #6 8089de0: f44f 717a mov.w r1, #1000 ; 0x3e8 8089de4: fb01 f303 mul.w r3, r1, r3 8089de8: 1ad3 subs r3, r2, r3 8089dea: 4a47 ldr r2, [pc, #284] ; (8089f08 ) 8089dec: fba2 1203 umull r1, r2, r2, r3 8089df0: 0952 lsrs r2, r2, #5 8089df2: 2164 movs r1, #100 ; 0x64 8089df4: fb01 f202 mul.w r2, r1, r2 8089df8: 1a9a subs r2, r3, r2 8089dfa: 4b44 ldr r3, [pc, #272] ; (8089f0c ) 8089dfc: fba3 1302 umull r1, r3, r3, r2 8089e00: 08d9 lsrs r1, r3, #3 8089e02: 460b mov r3, r1 8089e04: 009b lsls r3, r3, #2 8089e06: 440b add r3, r1 8089e08: 005b lsls r3, r3, #1 8089e0a: 1ad1 subs r1, r2, r3 8089e0c: b2cb uxtb r3, r1 8089e0e: f887 33cc strb.w r3, [r7, #972] ; 0x3cc i = 0; 8089e12: 2300 movs r3, #0 8089e14: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 memset(strHP, 0, sizeof(strHP)); 8089e18: f507 73d2 add.w r3, r7, #420 ; 0x1a4 8089e1c: 220c movs r2, #12 8089e1e: 2100 movs r1, #0 8089e20: 4618 mov r0, r3 8089e22: f043 f911 bl 80cd048 if(idtHP != 0) 8089e26: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 8089e2a: b2db uxtb r3, r3 8089e2c: 2b00 cmp r3, #0 8089e2e: d00c beq.n 8089e4a strHP[i++] = idtHP + 48; 8089e30: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8089e34: 1c5a adds r2, r3, #1 8089e36: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8089e3a: f897 23d1 ldrb.w r2, [r7, #977] ; 0x3d1 8089e3e: b2d2 uxtb r2, r2 8089e40: 3230 adds r2, #48 ; 0x30 8089e42: b2d1 uxtb r1, r2 8089e44: f507 72d2 add.w r2, r7, #420 ; 0x1a4 8089e48: 54d1 strb r1, [r2, r3] if((ietHP != 0) || (idtHP != 0)) 8089e4a: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 8089e4e: b2db uxtb r3, r3 8089e50: 2b00 cmp r3, #0 8089e52: d104 bne.n 8089e5e 8089e54: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 8089e58: b2db uxtb r3, r3 8089e5a: 2b00 cmp r3, #0 8089e5c: d00c beq.n 8089e78 strHP[i++] = ietHP + 48; 8089e5e: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8089e62: 1c5a adds r2, r3, #1 8089e64: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8089e68: f897 23d0 ldrb.w r2, [r7, #976] ; 0x3d0 8089e6c: b2d2 uxtb r2, r2 8089e6e: 3230 adds r2, #48 ; 0x30 8089e70: b2d1 uxtb r1, r2 8089e72: f507 72d2 add.w r2, r7, #420 ; 0x1a4 8089e76: 54d1 strb r1, [r2, r3] if((iesHP != 0) || (ietHP != 0) || (idtHP != 0)) 8089e78: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 8089e7c: b2db uxtb r3, r3 8089e7e: 2b00 cmp r3, #0 8089e80: d109 bne.n 8089e96 8089e82: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 8089e86: b2db uxtb r3, r3 8089e88: 2b00 cmp r3, #0 8089e8a: d104 bne.n 8089e96 8089e8c: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 8089e90: b2db uxtb r3, r3 8089e92: 2b00 cmp r3, #0 8089e94: d00c beq.n 8089eb0 strHP[i++] = iesHP + 48; 8089e96: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8089e9a: 1c5a adds r2, r3, #1 8089e9c: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8089ea0: f897 23cf ldrb.w r2, [r7, #975] ; 0x3cf 8089ea4: b2d2 uxtb r2, r2 8089ea6: 3230 adds r2, #48 ; 0x30 8089ea8: b2d1 uxtb r1, r2 8089eaa: f507 72d2 add.w r2, r7, #420 ; 0x1a4 8089eae: 54d1 strb r1, [r2, r3] if((iedHP != 0) || (iesHP != 0) || (ietHP != 0) || (idtHP != 0)) 8089eb0: f897 33ce ldrb.w r3, [r7, #974] ; 0x3ce 8089eb4: b2db uxtb r3, r3 8089eb6: 2b00 cmp r3, #0 8089eb8: d12a bne.n 8089f10 8089eba: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 8089ebe: b2db uxtb r3, r3 8089ec0: 2b00 cmp r3, #0 8089ec2: d125 bne.n 8089f10 8089ec4: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 8089ec8: b2db uxtb r3, r3 8089eca: 2b00 cmp r3, #0 8089ecc: d120 bne.n 8089f10 8089ece: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 8089ed2: b2db uxtb r3, r3 8089ed4: 2b00 cmp r3, #0 8089ed6: d028 beq.n 8089f2a 8089ed8: e01a b.n 8089f10 8089eda: bf00 nop 8089edc: 20021668 .word 0x20021668 8089ee0: 2002166c .word 0x2002166c 8089ee4: ff0a0f1f .word 0xff0a0f1f 8089ee8: 080d009c .word 0x080d009c 8089eec: 20021011 .word 0x20021011 8089ef0: 20021013 .word 0x20021013 8089ef4: 20023e60 .word 0x20023e60 8089ef8: 0a7c5ac5 .word 0x0a7c5ac5 8089efc: 000186a0 .word 0x000186a0 8089f00: d1b71759 .word 0xd1b71759 8089f04: 10624dd3 .word 0x10624dd3 8089f08: 51eb851f .word 0x51eb851f 8089f0c: cccccccd .word 0xcccccccd strHP[i++] = iedHP + 48; 8089f10: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8089f14: 1c5a adds r2, r3, #1 8089f16: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8089f1a: f897 23ce ldrb.w r2, [r7, #974] ; 0x3ce 8089f1e: b2d2 uxtb r2, r2 8089f20: 3230 adds r2, #48 ; 0x30 8089f22: b2d1 uxtb r1, r2 8089f24: f507 72d2 add.w r2, r7, #420 ; 0x1a4 8089f28: 54d1 strb r1, [r2, r3] strHP[i++] = ieeHP + 48; 8089f2a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8089f2e: 1c5a adds r2, r3, #1 8089f30: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8089f34: f897 23cd ldrb.w r2, [r7, #973] ; 0x3cd 8089f38: b2d2 uxtb r2, r2 8089f3a: 3230 adds r2, #48 ; 0x30 8089f3c: b2d1 uxtb r1, r2 8089f3e: f507 72d2 add.w r2, r7, #420 ; 0x1a4 8089f42: 54d1 strb r1, [r2, r3] strHP[i++] = '.'; 8089f44: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8089f48: 1c5a adds r2, r3, #1 8089f4a: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8089f4e: f507 72d2 add.w r2, r7, #420 ; 0x1a4 8089f52: 212e movs r1, #46 ; 0x2e 8089f54: 54d1 strb r1, [r2, r3] strHP[i++] = ikdHP + 48; 8089f56: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8089f5a: 1c5a adds r2, r3, #1 8089f5c: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8089f60: f897 23cc ldrb.w r2, [r7, #972] ; 0x3cc 8089f64: b2d2 uxtb r2, r2 8089f66: 3230 adds r2, #48 ; 0x30 8089f68: b2d1 uxtb r1, r2 8089f6a: f507 72d2 add.w r2, r7, #420 ; 0x1a4 8089f6e: 54d1 strb r1, [r2, r3] k = (uint32_t) (pardata.DIAGN_LP[CURR_POINT][CURR_USL] * 10.0f); 8089f70: 4bd4 ldr r3, [pc, #848] ; (808a2c4 ) 8089f72: 781b ldrb r3, [r3, #0] 8089f74: b2db uxtb r3, r3 8089f76: 4618 mov r0, r3 8089f78: 4bd3 ldr r3, [pc, #844] ; (808a2c8 ) 8089f7a: 781b ldrb r3, [r3, #0] 8089f7c: b2db uxtb r3, r3 8089f7e: 4619 mov r1, r3 8089f80: 4ad2 ldr r2, [pc, #840] ; (808a2cc ) 8089f82: 0083 lsls r3, r0, #2 8089f84: 440b add r3, r1 8089f86: 33b6 adds r3, #182 ; 0xb6 8089f88: 009b lsls r3, r3, #2 8089f8a: 4413 add r3, r2 8089f8c: 3304 adds r3, #4 8089f8e: edd3 7a00 vldr s15, [r3] 8089f92: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 8089f96: ee67 7a87 vmul.f32 s15, s15, s14 8089f9a: eefc 7ae7 vcvt.u32.f32 s15, s15 8089f9e: ee17 3a90 vmov r3, s15 8089fa2: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 idtLP = (uint8_t) (k / 100000); 8089fa6: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8089faa: 095b lsrs r3, r3, #5 8089fac: 4ac8 ldr r2, [pc, #800] ; (808a2d0 ) 8089fae: fba2 2303 umull r2, r3, r2, r3 8089fb2: 09db lsrs r3, r3, #7 8089fb4: b2db uxtb r3, r3 8089fb6: f887 33ca strb.w r3, [r7, #970] ; 0x3ca ietLP = (uint8_t) (k % 100000 / 10000); 8089fba: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8089fbe: 0953 lsrs r3, r2, #5 8089fc0: 49c3 ldr r1, [pc, #780] ; (808a2d0 ) 8089fc2: fba1 1303 umull r1, r3, r1, r3 8089fc6: 09db lsrs r3, r3, #7 8089fc8: 49c2 ldr r1, [pc, #776] ; (808a2d4 ) 8089fca: fb01 f303 mul.w r3, r1, r3 8089fce: 1ad3 subs r3, r2, r3 8089fd0: 4ac1 ldr r2, [pc, #772] ; (808a2d8 ) 8089fd2: fba2 2303 umull r2, r3, r2, r3 8089fd6: 0b5b lsrs r3, r3, #13 8089fd8: b2db uxtb r3, r3 8089fda: f887 33c9 strb.w r3, [r7, #969] ; 0x3c9 iesLP = (uint8_t) (k % 100000 % 10000 / 1000); 8089fde: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8089fe2: 0953 lsrs r3, r2, #5 8089fe4: 49ba ldr r1, [pc, #744] ; (808a2d0 ) 8089fe6: fba1 1303 umull r1, r3, r1, r3 8089fea: 09db lsrs r3, r3, #7 8089fec: 49b9 ldr r1, [pc, #740] ; (808a2d4 ) 8089fee: fb01 f303 mul.w r3, r1, r3 8089ff2: 1ad3 subs r3, r2, r3 8089ff4: 4ab8 ldr r2, [pc, #736] ; (808a2d8 ) 8089ff6: fba2 1203 umull r1, r2, r2, r3 8089ffa: 0b52 lsrs r2, r2, #13 8089ffc: f242 7110 movw r1, #10000 ; 0x2710 808a000: fb01 f202 mul.w r2, r1, r2 808a004: 1a9a subs r2, r3, r2 808a006: 4bb5 ldr r3, [pc, #724] ; (808a2dc ) 808a008: fba3 2302 umull r2, r3, r3, r2 808a00c: 099b lsrs r3, r3, #6 808a00e: b2db uxtb r3, r3 808a010: f887 33c8 strb.w r3, [r7, #968] ; 0x3c8 iedLP = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 808a014: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 808a018: 095a lsrs r2, r3, #5 808a01a: 49ad ldr r1, [pc, #692] ; (808a2d0 ) 808a01c: fba1 1202 umull r1, r2, r1, r2 808a020: 09d2 lsrs r2, r2, #7 808a022: 49ac ldr r1, [pc, #688] ; (808a2d4 ) 808a024: fb01 f202 mul.w r2, r1, r2 808a028: 1a9a subs r2, r3, r2 808a02a: 4bab ldr r3, [pc, #684] ; (808a2d8 ) 808a02c: fba3 1302 umull r1, r3, r3, r2 808a030: 0b5b lsrs r3, r3, #13 808a032: f242 7110 movw r1, #10000 ; 0x2710 808a036: fb01 f303 mul.w r3, r1, r3 808a03a: 1ad3 subs r3, r2, r3 808a03c: 4aa7 ldr r2, [pc, #668] ; (808a2dc ) 808a03e: fba2 1203 umull r1, r2, r2, r3 808a042: 0992 lsrs r2, r2, #6 808a044: f44f 717a mov.w r1, #1000 ; 0x3e8 808a048: fb01 f202 mul.w r2, r1, r2 808a04c: 1a9a subs r2, r3, r2 808a04e: 4ba4 ldr r3, [pc, #656] ; (808a2e0 ) 808a050: fba3 2302 umull r2, r3, r3, r2 808a054: 095b lsrs r3, r3, #5 808a056: b2db uxtb r3, r3 808a058: f887 33c7 strb.w r3, [r7, #967] ; 0x3c7 ieeLP = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 808a05c: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808a060: 0953 lsrs r3, r2, #5 808a062: 499b ldr r1, [pc, #620] ; (808a2d0 ) 808a064: fba1 1303 umull r1, r3, r1, r3 808a068: 09db lsrs r3, r3, #7 808a06a: 499a ldr r1, [pc, #616] ; (808a2d4 ) 808a06c: fb01 f303 mul.w r3, r1, r3 808a070: 1ad3 subs r3, r2, r3 808a072: 4a99 ldr r2, [pc, #612] ; (808a2d8 ) 808a074: fba2 1203 umull r1, r2, r2, r3 808a078: 0b52 lsrs r2, r2, #13 808a07a: f242 7110 movw r1, #10000 ; 0x2710 808a07e: fb01 f202 mul.w r2, r1, r2 808a082: 1a9a subs r2, r3, r2 808a084: 4b95 ldr r3, [pc, #596] ; (808a2dc ) 808a086: fba3 1302 umull r1, r3, r3, r2 808a08a: 099b lsrs r3, r3, #6 808a08c: f44f 717a mov.w r1, #1000 ; 0x3e8 808a090: fb01 f303 mul.w r3, r1, r3 808a094: 1ad3 subs r3, r2, r3 808a096: 4a92 ldr r2, [pc, #584] ; (808a2e0 ) 808a098: fba2 1203 umull r1, r2, r2, r3 808a09c: 0952 lsrs r2, r2, #5 808a09e: 2164 movs r1, #100 ; 0x64 808a0a0: fb01 f202 mul.w r2, r1, r2 808a0a4: 1a9a subs r2, r3, r2 808a0a6: 4b8f ldr r3, [pc, #572] ; (808a2e4 ) 808a0a8: fba3 2302 umull r2, r3, r3, r2 808a0ac: 08db lsrs r3, r3, #3 808a0ae: b2db uxtb r3, r3 808a0b0: f887 33c6 strb.w r3, [r7, #966] ; 0x3c6 ikdLP = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 808a0b4: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808a0b8: 0953 lsrs r3, r2, #5 808a0ba: 4985 ldr r1, [pc, #532] ; (808a2d0 ) 808a0bc: fba1 1303 umull r1, r3, r1, r3 808a0c0: 09db lsrs r3, r3, #7 808a0c2: 4984 ldr r1, [pc, #528] ; (808a2d4 ) 808a0c4: fb01 f303 mul.w r3, r1, r3 808a0c8: 1ad3 subs r3, r2, r3 808a0ca: 4a83 ldr r2, [pc, #524] ; (808a2d8 ) 808a0cc: fba2 1203 umull r1, r2, r2, r3 808a0d0: 0b52 lsrs r2, r2, #13 808a0d2: f242 7110 movw r1, #10000 ; 0x2710 808a0d6: fb01 f202 mul.w r2, r1, r2 808a0da: 1a9a subs r2, r3, r2 808a0dc: 4b7f ldr r3, [pc, #508] ; (808a2dc ) 808a0de: fba3 1302 umull r1, r3, r3, r2 808a0e2: 099b lsrs r3, r3, #6 808a0e4: f44f 717a mov.w r1, #1000 ; 0x3e8 808a0e8: fb01 f303 mul.w r3, r1, r3 808a0ec: 1ad3 subs r3, r2, r3 808a0ee: 4a7c ldr r2, [pc, #496] ; (808a2e0 ) 808a0f0: fba2 1203 umull r1, r2, r2, r3 808a0f4: 0952 lsrs r2, r2, #5 808a0f6: 2164 movs r1, #100 ; 0x64 808a0f8: fb01 f202 mul.w r2, r1, r2 808a0fc: 1a9a subs r2, r3, r2 808a0fe: 4b79 ldr r3, [pc, #484] ; (808a2e4 ) 808a100: fba3 1302 umull r1, r3, r3, r2 808a104: 08d9 lsrs r1, r3, #3 808a106: 460b mov r3, r1 808a108: 009b lsls r3, r3, #2 808a10a: 440b add r3, r1 808a10c: 005b lsls r3, r3, #1 808a10e: 1ad1 subs r1, r2, r3 808a110: b2cb uxtb r3, r1 808a112: f887 33c5 strb.w r3, [r7, #965] ; 0x3c5 i = 0; 808a116: 2300 movs r3, #0 808a118: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 memset(strLP, 0, sizeof(strLP)); 808a11c: f507 73cc add.w r3, r7, #408 ; 0x198 808a120: 220c movs r2, #12 808a122: 2100 movs r1, #0 808a124: 4618 mov r0, r3 808a126: f042 ff8f bl 80cd048 if(idtLP != 0) 808a12a: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 808a12e: b2db uxtb r3, r3 808a130: 2b00 cmp r3, #0 808a132: d00c beq.n 808a14e strLP[i++] = idtLP + 48; 808a134: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808a138: 1c5a adds r2, r3, #1 808a13a: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808a13e: f897 23ca ldrb.w r2, [r7, #970] ; 0x3ca 808a142: b2d2 uxtb r2, r2 808a144: 3230 adds r2, #48 ; 0x30 808a146: b2d1 uxtb r1, r2 808a148: f507 72cc add.w r2, r7, #408 ; 0x198 808a14c: 54d1 strb r1, [r2, r3] if((ietLP != 0) || (idtLP != 0)) 808a14e: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 808a152: b2db uxtb r3, r3 808a154: 2b00 cmp r3, #0 808a156: d104 bne.n 808a162 808a158: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 808a15c: b2db uxtb r3, r3 808a15e: 2b00 cmp r3, #0 808a160: d00c beq.n 808a17c strLP[i++] = ietLP + 48; 808a162: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808a166: 1c5a adds r2, r3, #1 808a168: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808a16c: f897 23c9 ldrb.w r2, [r7, #969] ; 0x3c9 808a170: b2d2 uxtb r2, r2 808a172: 3230 adds r2, #48 ; 0x30 808a174: b2d1 uxtb r1, r2 808a176: f507 72cc add.w r2, r7, #408 ; 0x198 808a17a: 54d1 strb r1, [r2, r3] if((iesLP != 0) || (ietLP != 0) || (idtLP != 0)) 808a17c: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 808a180: b2db uxtb r3, r3 808a182: 2b00 cmp r3, #0 808a184: d109 bne.n 808a19a 808a186: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 808a18a: b2db uxtb r3, r3 808a18c: 2b00 cmp r3, #0 808a18e: d104 bne.n 808a19a 808a190: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 808a194: b2db uxtb r3, r3 808a196: 2b00 cmp r3, #0 808a198: d00c beq.n 808a1b4 strLP[i++] = iesLP + 48; 808a19a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808a19e: 1c5a adds r2, r3, #1 808a1a0: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808a1a4: f897 23c8 ldrb.w r2, [r7, #968] ; 0x3c8 808a1a8: b2d2 uxtb r2, r2 808a1aa: 3230 adds r2, #48 ; 0x30 808a1ac: b2d1 uxtb r1, r2 808a1ae: f507 72cc add.w r2, r7, #408 ; 0x198 808a1b2: 54d1 strb r1, [r2, r3] if((iedLP != 0) || (iesLP != 0) || (ietLP != 0) || (idtLP != 0)) 808a1b4: f897 33c7 ldrb.w r3, [r7, #967] ; 0x3c7 808a1b8: b2db uxtb r3, r3 808a1ba: 2b00 cmp r3, #0 808a1bc: d10e bne.n 808a1dc 808a1be: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 808a1c2: b2db uxtb r3, r3 808a1c4: 2b00 cmp r3, #0 808a1c6: d109 bne.n 808a1dc 808a1c8: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 808a1cc: b2db uxtb r3, r3 808a1ce: 2b00 cmp r3, #0 808a1d0: d104 bne.n 808a1dc 808a1d2: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 808a1d6: b2db uxtb r3, r3 808a1d8: 2b00 cmp r3, #0 808a1da: d00c beq.n 808a1f6 strLP[i++] = iedLP + 48; 808a1dc: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808a1e0: 1c5a adds r2, r3, #1 808a1e2: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808a1e6: f897 23c7 ldrb.w r2, [r7, #967] ; 0x3c7 808a1ea: b2d2 uxtb r2, r2 808a1ec: 3230 adds r2, #48 ; 0x30 808a1ee: b2d1 uxtb r1, r2 808a1f0: f507 72cc add.w r2, r7, #408 ; 0x198 808a1f4: 54d1 strb r1, [r2, r3] strLP[i++] = ieeLP + 48; 808a1f6: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808a1fa: 1c5a adds r2, r3, #1 808a1fc: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808a200: f897 23c6 ldrb.w r2, [r7, #966] ; 0x3c6 808a204: b2d2 uxtb r2, r2 808a206: 3230 adds r2, #48 ; 0x30 808a208: b2d1 uxtb r1, r2 808a20a: f507 72cc add.w r2, r7, #408 ; 0x198 808a20e: 54d1 strb r1, [r2, r3] strLP[i++] = '.'; 808a210: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808a214: 1c5a adds r2, r3, #1 808a216: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808a21a: f507 72cc add.w r2, r7, #408 ; 0x198 808a21e: 212e movs r1, #46 ; 0x2e 808a220: 54d1 strb r1, [r2, r3] strLP[i++] = ikdLP + 48; 808a222: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808a226: 1c5a adds r2, r3, #1 808a228: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808a22c: f897 23c5 ldrb.w r2, [r7, #965] ; 0x3c5 808a230: b2d2 uxtb r2, r2 808a232: 3230 adds r2, #48 ; 0x30 808a234: b2d1 uxtb r1, r2 808a236: f507 72cc add.w r2, r7, #408 ; 0x198 808a23a: 54d1 strb r1, [r2, r3] k = (uint32_t) (pardata.DIAGN_W[CURR_POINT][CURR_USL] * 10.0f); 808a23c: 4b21 ldr r3, [pc, #132] ; (808a2c4 ) 808a23e: 781b ldrb r3, [r3, #0] 808a240: b2db uxtb r3, r3 808a242: 4618 mov r0, r3 808a244: 4b20 ldr r3, [pc, #128] ; (808a2c8 ) 808a246: 781b ldrb r3, [r3, #0] 808a248: b2db uxtb r3, r3 808a24a: 4619 mov r1, r3 808a24c: 4a1f ldr r2, [pc, #124] ; (808a2cc ) 808a24e: 0083 lsls r3, r0, #2 808a250: 440b add r3, r1 808a252: 33d6 adds r3, #214 ; 0xd6 808a254: 009b lsls r3, r3, #2 808a256: 4413 add r3, r2 808a258: 3304 adds r3, #4 808a25a: edd3 7a00 vldr s15, [r3] 808a25e: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 808a262: ee67 7a87 vmul.f32 s15, s15, s14 808a266: eefc 7ae7 vcvt.u32.f32 s15, s15 808a26a: ee17 3a90 vmov r3, s15 808a26e: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 idt_W = (uint8_t) (k / 100000); 808a272: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 808a276: 095b lsrs r3, r3, #5 808a278: 4a15 ldr r2, [pc, #84] ; (808a2d0 ) 808a27a: fba2 2303 umull r2, r3, r2, r3 808a27e: 09db lsrs r3, r3, #7 808a280: b2db uxtb r3, r3 808a282: f887 33c3 strb.w r3, [r7, #963] ; 0x3c3 iet_W = (uint8_t) (k % 100000 / 10000); 808a286: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808a28a: 0953 lsrs r3, r2, #5 808a28c: 4910 ldr r1, [pc, #64] ; (808a2d0 ) 808a28e: fba1 1303 umull r1, r3, r1, r3 808a292: 09db lsrs r3, r3, #7 808a294: 490f ldr r1, [pc, #60] ; (808a2d4 ) 808a296: fb01 f303 mul.w r3, r1, r3 808a29a: 1ad3 subs r3, r2, r3 808a29c: 4a0e ldr r2, [pc, #56] ; (808a2d8 ) 808a29e: fba2 2303 umull r2, r3, r2, r3 808a2a2: 0b5b lsrs r3, r3, #13 808a2a4: b2db uxtb r3, r3 808a2a6: f887 33c2 strb.w r3, [r7, #962] ; 0x3c2 ies_W = (uint8_t) (k % 100000 % 10000 / 1000); 808a2aa: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808a2ae: 0953 lsrs r3, r2, #5 808a2b0: 4907 ldr r1, [pc, #28] ; (808a2d0 ) 808a2b2: fba1 1303 umull r1, r3, r1, r3 808a2b6: 09db lsrs r3, r3, #7 808a2b8: 4906 ldr r1, [pc, #24] ; (808a2d4 ) 808a2ba: fb01 f303 mul.w r3, r1, r3 808a2be: 1ad3 subs r3, r2, r3 808a2c0: e012 b.n 808a2e8 808a2c2: bf00 nop 808a2c4: 20021011 .word 0x20021011 808a2c8: 20021013 .word 0x20021013 808a2cc: 20023e60 .word 0x20023e60 808a2d0: 0a7c5ac5 .word 0x0a7c5ac5 808a2d4: 000186a0 .word 0x000186a0 808a2d8: d1b71759 .word 0xd1b71759 808a2dc: 10624dd3 .word 0x10624dd3 808a2e0: 51eb851f .word 0x51eb851f 808a2e4: cccccccd .word 0xcccccccd 808a2e8: 4ad4 ldr r2, [pc, #848] ; (808a63c ) 808a2ea: fba2 1203 umull r1, r2, r2, r3 808a2ee: 0b52 lsrs r2, r2, #13 808a2f0: f242 7110 movw r1, #10000 ; 0x2710 808a2f4: fb01 f202 mul.w r2, r1, r2 808a2f8: 1a9a subs r2, r3, r2 808a2fa: 4bd1 ldr r3, [pc, #836] ; (808a640 ) 808a2fc: fba3 2302 umull r2, r3, r3, r2 808a300: 099b lsrs r3, r3, #6 808a302: b2db uxtb r3, r3 808a304: f887 33c1 strb.w r3, [r7, #961] ; 0x3c1 ied_W = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 808a308: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 808a30c: 095a lsrs r2, r3, #5 808a30e: 49cd ldr r1, [pc, #820] ; (808a644 ) 808a310: fba1 1202 umull r1, r2, r1, r2 808a314: 09d2 lsrs r2, r2, #7 808a316: 49cc ldr r1, [pc, #816] ; (808a648 ) 808a318: fb01 f202 mul.w r2, r1, r2 808a31c: 1a9a subs r2, r3, r2 808a31e: 4bc7 ldr r3, [pc, #796] ; (808a63c ) 808a320: fba3 1302 umull r1, r3, r3, r2 808a324: 0b5b lsrs r3, r3, #13 808a326: f242 7110 movw r1, #10000 ; 0x2710 808a32a: fb01 f303 mul.w r3, r1, r3 808a32e: 1ad3 subs r3, r2, r3 808a330: 4ac3 ldr r2, [pc, #780] ; (808a640 ) 808a332: fba2 1203 umull r1, r2, r2, r3 808a336: 0992 lsrs r2, r2, #6 808a338: f44f 717a mov.w r1, #1000 ; 0x3e8 808a33c: fb01 f202 mul.w r2, r1, r2 808a340: 1a9a subs r2, r3, r2 808a342: 4bc2 ldr r3, [pc, #776] ; (808a64c ) 808a344: fba3 2302 umull r2, r3, r3, r2 808a348: 095b lsrs r3, r3, #5 808a34a: b2db uxtb r3, r3 808a34c: f887 33c0 strb.w r3, [r7, #960] ; 0x3c0 iee_W = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 808a350: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808a354: 0953 lsrs r3, r2, #5 808a356: 49bb ldr r1, [pc, #748] ; (808a644 ) 808a358: fba1 1303 umull r1, r3, r1, r3 808a35c: 09db lsrs r3, r3, #7 808a35e: 49ba ldr r1, [pc, #744] ; (808a648 ) 808a360: fb01 f303 mul.w r3, r1, r3 808a364: 1ad3 subs r3, r2, r3 808a366: 4ab5 ldr r2, [pc, #724] ; (808a63c ) 808a368: fba2 1203 umull r1, r2, r2, r3 808a36c: 0b52 lsrs r2, r2, #13 808a36e: f242 7110 movw r1, #10000 ; 0x2710 808a372: fb01 f202 mul.w r2, r1, r2 808a376: 1a9a subs r2, r3, r2 808a378: 4bb1 ldr r3, [pc, #708] ; (808a640 ) 808a37a: fba3 1302 umull r1, r3, r3, r2 808a37e: 099b lsrs r3, r3, #6 808a380: f44f 717a mov.w r1, #1000 ; 0x3e8 808a384: fb01 f303 mul.w r3, r1, r3 808a388: 1ad3 subs r3, r2, r3 808a38a: 4ab0 ldr r2, [pc, #704] ; (808a64c ) 808a38c: fba2 1203 umull r1, r2, r2, r3 808a390: 0952 lsrs r2, r2, #5 808a392: 2164 movs r1, #100 ; 0x64 808a394: fb01 f202 mul.w r2, r1, r2 808a398: 1a9a subs r2, r3, r2 808a39a: 4bad ldr r3, [pc, #692] ; (808a650 ) 808a39c: fba3 2302 umull r2, r3, r3, r2 808a3a0: 08db lsrs r3, r3, #3 808a3a2: b2db uxtb r3, r3 808a3a4: f887 33bf strb.w r3, [r7, #959] ; 0x3bf ikd_W = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 808a3a8: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808a3ac: 0953 lsrs r3, r2, #5 808a3ae: 49a5 ldr r1, [pc, #660] ; (808a644 ) 808a3b0: fba1 1303 umull r1, r3, r1, r3 808a3b4: 09db lsrs r3, r3, #7 808a3b6: 49a4 ldr r1, [pc, #656] ; (808a648 ) 808a3b8: fb01 f303 mul.w r3, r1, r3 808a3bc: 1ad3 subs r3, r2, r3 808a3be: 4a9f ldr r2, [pc, #636] ; (808a63c ) 808a3c0: fba2 1203 umull r1, r2, r2, r3 808a3c4: 0b52 lsrs r2, r2, #13 808a3c6: f242 7110 movw r1, #10000 ; 0x2710 808a3ca: fb01 f202 mul.w r2, r1, r2 808a3ce: 1a9a subs r2, r3, r2 808a3d0: 4b9b ldr r3, [pc, #620] ; (808a640 ) 808a3d2: fba3 1302 umull r1, r3, r3, r2 808a3d6: 099b lsrs r3, r3, #6 808a3d8: f44f 717a mov.w r1, #1000 ; 0x3e8 808a3dc: fb01 f303 mul.w r3, r1, r3 808a3e0: 1ad3 subs r3, r2, r3 808a3e2: 4a9a ldr r2, [pc, #616] ; (808a64c ) 808a3e4: fba2 1203 umull r1, r2, r2, r3 808a3e8: 0952 lsrs r2, r2, #5 808a3ea: 2164 movs r1, #100 ; 0x64 808a3ec: fb01 f202 mul.w r2, r1, r2 808a3f0: 1a9a subs r2, r3, r2 808a3f2: 4b97 ldr r3, [pc, #604] ; (808a650 ) 808a3f4: fba3 1302 umull r1, r3, r3, r2 808a3f8: 08d9 lsrs r1, r3, #3 808a3fa: 460b mov r3, r1 808a3fc: 009b lsls r3, r3, #2 808a3fe: 440b add r3, r1 808a400: 005b lsls r3, r3, #1 808a402: 1ad1 subs r1, r2, r3 808a404: b2cb uxtb r3, r1 808a406: f887 33be strb.w r3, [r7, #958] ; 0x3be i = 0; 808a40a: 2300 movs r3, #0 808a40c: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 memset(str_W, 0, sizeof(str_W)); 808a410: f507 73aa add.w r3, r7, #340 ; 0x154 808a414: 220c movs r2, #12 808a416: 2100 movs r1, #0 808a418: 4618 mov r0, r3 808a41a: f042 fe15 bl 80cd048 if(idt_W != 0) 808a41e: f897 33c3 ldrb.w r3, [r7, #963] ; 0x3c3 808a422: b2db uxtb r3, r3 808a424: 2b00 cmp r3, #0 808a426: d00c beq.n 808a442 str_W[i++] = idt_W + 48; 808a428: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808a42c: 1c5a adds r2, r3, #1 808a42e: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808a432: f897 23c3 ldrb.w r2, [r7, #963] ; 0x3c3 808a436: b2d2 uxtb r2, r2 808a438: 3230 adds r2, #48 ; 0x30 808a43a: b2d1 uxtb r1, r2 808a43c: f507 72aa add.w r2, r7, #340 ; 0x154 808a440: 54d1 strb r1, [r2, r3] if((iet_W != 0) || (idt_W != 0)) 808a442: f897 33c2 ldrb.w r3, [r7, #962] ; 0x3c2 808a446: b2db uxtb r3, r3 808a448: 2b00 cmp r3, #0 808a44a: d104 bne.n 808a456 808a44c: f897 33c3 ldrb.w r3, [r7, #963] ; 0x3c3 808a450: b2db uxtb r3, r3 808a452: 2b00 cmp r3, #0 808a454: d00c beq.n 808a470 str_W[i++] = iet_W + 48; 808a456: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808a45a: 1c5a adds r2, r3, #1 808a45c: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808a460: f897 23c2 ldrb.w r2, [r7, #962] ; 0x3c2 808a464: b2d2 uxtb r2, r2 808a466: 3230 adds r2, #48 ; 0x30 808a468: b2d1 uxtb r1, r2 808a46a: f507 72aa add.w r2, r7, #340 ; 0x154 808a46e: 54d1 strb r1, [r2, r3] if((ies_W != 0) || (iet_W != 0) || (idt_W != 0)) 808a470: f897 33c1 ldrb.w r3, [r7, #961] ; 0x3c1 808a474: b2db uxtb r3, r3 808a476: 2b00 cmp r3, #0 808a478: d109 bne.n 808a48e 808a47a: f897 33c2 ldrb.w r3, [r7, #962] ; 0x3c2 808a47e: b2db uxtb r3, r3 808a480: 2b00 cmp r3, #0 808a482: d104 bne.n 808a48e 808a484: f897 33c3 ldrb.w r3, [r7, #963] ; 0x3c3 808a488: b2db uxtb r3, r3 808a48a: 2b00 cmp r3, #0 808a48c: d00c beq.n 808a4a8 str_W[i++] = ies_W + 48; 808a48e: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808a492: 1c5a adds r2, r3, #1 808a494: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808a498: f897 23c1 ldrb.w r2, [r7, #961] ; 0x3c1 808a49c: b2d2 uxtb r2, r2 808a49e: 3230 adds r2, #48 ; 0x30 808a4a0: b2d1 uxtb r1, r2 808a4a2: f507 72aa add.w r2, r7, #340 ; 0x154 808a4a6: 54d1 strb r1, [r2, r3] if((ied_W != 0) || (ies_W != 0) || (iet_W != 0) || (idt_W != 0)) 808a4a8: f897 33c0 ldrb.w r3, [r7, #960] ; 0x3c0 808a4ac: b2db uxtb r3, r3 808a4ae: 2b00 cmp r3, #0 808a4b0: d10e bne.n 808a4d0 808a4b2: f897 33c1 ldrb.w r3, [r7, #961] ; 0x3c1 808a4b6: b2db uxtb r3, r3 808a4b8: 2b00 cmp r3, #0 808a4ba: d109 bne.n 808a4d0 808a4bc: f897 33c2 ldrb.w r3, [r7, #962] ; 0x3c2 808a4c0: b2db uxtb r3, r3 808a4c2: 2b00 cmp r3, #0 808a4c4: d104 bne.n 808a4d0 808a4c6: f897 33c3 ldrb.w r3, [r7, #963] ; 0x3c3 808a4ca: b2db uxtb r3, r3 808a4cc: 2b00 cmp r3, #0 808a4ce: d00c beq.n 808a4ea str_W[i++] = ied_W + 48; 808a4d0: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808a4d4: 1c5a adds r2, r3, #1 808a4d6: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808a4da: f897 23c0 ldrb.w r2, [r7, #960] ; 0x3c0 808a4de: b2d2 uxtb r2, r2 808a4e0: 3230 adds r2, #48 ; 0x30 808a4e2: b2d1 uxtb r1, r2 808a4e4: f507 72aa add.w r2, r7, #340 ; 0x154 808a4e8: 54d1 strb r1, [r2, r3] str_W[i++] = iee_W + 48; 808a4ea: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808a4ee: 1c5a adds r2, r3, #1 808a4f0: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808a4f4: f897 23bf ldrb.w r2, [r7, #959] ; 0x3bf 808a4f8: b2d2 uxtb r2, r2 808a4fa: 3230 adds r2, #48 ; 0x30 808a4fc: b2d1 uxtb r1, r2 808a4fe: f507 72aa add.w r2, r7, #340 ; 0x154 808a502: 54d1 strb r1, [r2, r3] str_W[i++] = '.'; 808a504: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808a508: 1c5a adds r2, r3, #1 808a50a: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808a50e: f507 72aa add.w r2, r7, #340 ; 0x154 808a512: 212e movs r1, #46 ; 0x2e 808a514: 54d1 strb r1, [r2, r3] str_W[i++] = ikd_W + 48; 808a516: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808a51a: 1c5a adds r2, r3, #1 808a51c: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808a520: f897 23be ldrb.w r2, [r7, #958] ; 0x3be 808a524: b2d2 uxtb r2, r2 808a526: 3230 adds r2, #48 ; 0x30 808a528: b2d1 uxtb r1, r2 808a52a: f507 72aa add.w r2, r7, #340 ; 0x154 808a52e: 54d1 strb r1, [r2, r3] k = (uint32_t) (pardata.DIAGN_A[CURR_POINT][CURR_USL] * 10.0f); 808a530: 4b48 ldr r3, [pc, #288] ; (808a654 ) 808a532: 781b ldrb r3, [r3, #0] 808a534: b2db uxtb r3, r3 808a536: 4618 mov r0, r3 808a538: 4b47 ldr r3, [pc, #284] ; (808a658 ) 808a53a: 781b ldrb r3, [r3, #0] 808a53c: b2db uxtb r3, r3 808a53e: 4619 mov r1, r3 808a540: 4a46 ldr r2, [pc, #280] ; (808a65c ) 808a542: 0083 lsls r3, r0, #2 808a544: 440b add r3, r1 808a546: 33f6 adds r3, #246 ; 0xf6 808a548: 009b lsls r3, r3, #2 808a54a: 4413 add r3, r2 808a54c: 3304 adds r3, #4 808a54e: edd3 7a00 vldr s15, [r3] 808a552: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 808a556: ee67 7a87 vmul.f32 s15, s15, s14 808a55a: eefc 7ae7 vcvt.u32.f32 s15, s15 808a55e: ee17 3a90 vmov r3, s15 808a562: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 idt_A = (uint8_t) (k / 100000); 808a566: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 808a56a: 095b lsrs r3, r3, #5 808a56c: 4a35 ldr r2, [pc, #212] ; (808a644 ) 808a56e: fba2 2303 umull r2, r3, r2, r3 808a572: 09db lsrs r3, r3, #7 808a574: b2db uxtb r3, r3 808a576: f887 33bc strb.w r3, [r7, #956] ; 0x3bc iet_A = (uint8_t) (k % 100000 / 10000); 808a57a: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808a57e: 0953 lsrs r3, r2, #5 808a580: 4930 ldr r1, [pc, #192] ; (808a644 ) 808a582: fba1 1303 umull r1, r3, r1, r3 808a586: 09db lsrs r3, r3, #7 808a588: 492f ldr r1, [pc, #188] ; (808a648 ) 808a58a: fb01 f303 mul.w r3, r1, r3 808a58e: 1ad3 subs r3, r2, r3 808a590: 4a2a ldr r2, [pc, #168] ; (808a63c ) 808a592: fba2 2303 umull r2, r3, r2, r3 808a596: 0b5b lsrs r3, r3, #13 808a598: b2db uxtb r3, r3 808a59a: f887 33bb strb.w r3, [r7, #955] ; 0x3bb ies_A = (uint8_t) (k % 100000 % 10000 / 1000); 808a59e: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808a5a2: 0953 lsrs r3, r2, #5 808a5a4: 4927 ldr r1, [pc, #156] ; (808a644 ) 808a5a6: fba1 1303 umull r1, r3, r1, r3 808a5aa: 09db lsrs r3, r3, #7 808a5ac: 4926 ldr r1, [pc, #152] ; (808a648 ) 808a5ae: fb01 f303 mul.w r3, r1, r3 808a5b2: 1ad3 subs r3, r2, r3 808a5b4: 4a21 ldr r2, [pc, #132] ; (808a63c ) 808a5b6: fba2 1203 umull r1, r2, r2, r3 808a5ba: 0b52 lsrs r2, r2, #13 808a5bc: f242 7110 movw r1, #10000 ; 0x2710 808a5c0: fb01 f202 mul.w r2, r1, r2 808a5c4: 1a9a subs r2, r3, r2 808a5c6: 4b1e ldr r3, [pc, #120] ; (808a640 ) 808a5c8: fba3 2302 umull r2, r3, r3, r2 808a5cc: 099b lsrs r3, r3, #6 808a5ce: b2db uxtb r3, r3 808a5d0: f887 33ba strb.w r3, [r7, #954] ; 0x3ba ied_A = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 808a5d4: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 808a5d8: 095a lsrs r2, r3, #5 808a5da: 491a ldr r1, [pc, #104] ; (808a644 ) 808a5dc: fba1 1202 umull r1, r2, r1, r2 808a5e0: 09d2 lsrs r2, r2, #7 808a5e2: 4919 ldr r1, [pc, #100] ; (808a648 ) 808a5e4: fb01 f202 mul.w r2, r1, r2 808a5e8: 1a9a subs r2, r3, r2 808a5ea: 4b14 ldr r3, [pc, #80] ; (808a63c ) 808a5ec: fba3 1302 umull r1, r3, r3, r2 808a5f0: 0b5b lsrs r3, r3, #13 808a5f2: f242 7110 movw r1, #10000 ; 0x2710 808a5f6: fb01 f303 mul.w r3, r1, r3 808a5fa: 1ad3 subs r3, r2, r3 808a5fc: 4a10 ldr r2, [pc, #64] ; (808a640 ) 808a5fe: fba2 1203 umull r1, r2, r2, r3 808a602: 0992 lsrs r2, r2, #6 808a604: f44f 717a mov.w r1, #1000 ; 0x3e8 808a608: fb01 f202 mul.w r2, r1, r2 808a60c: 1a9a subs r2, r3, r2 808a60e: 4b0f ldr r3, [pc, #60] ; (808a64c ) 808a610: fba3 2302 umull r2, r3, r3, r2 808a614: 095b lsrs r3, r3, #5 808a616: b2db uxtb r3, r3 808a618: f887 33b9 strb.w r3, [r7, #953] ; 0x3b9 iee_A = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 808a61c: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808a620: 0953 lsrs r3, r2, #5 808a622: 4908 ldr r1, [pc, #32] ; (808a644 ) 808a624: fba1 1303 umull r1, r3, r1, r3 808a628: 09db lsrs r3, r3, #7 808a62a: 4907 ldr r1, [pc, #28] ; (808a648 ) 808a62c: fb01 f303 mul.w r3, r1, r3 808a630: 1ad3 subs r3, r2, r3 808a632: 4a02 ldr r2, [pc, #8] ; (808a63c ) 808a634: fba2 1203 umull r1, r2, r2, r3 808a638: 0b52 lsrs r2, r2, #13 808a63a: e011 b.n 808a660 808a63c: d1b71759 .word 0xd1b71759 808a640: 10624dd3 .word 0x10624dd3 808a644: 0a7c5ac5 .word 0x0a7c5ac5 808a648: 000186a0 .word 0x000186a0 808a64c: 51eb851f .word 0x51eb851f 808a650: cccccccd .word 0xcccccccd 808a654: 20021011 .word 0x20021011 808a658: 20021013 .word 0x20021013 808a65c: 20023e60 .word 0x20023e60 808a660: f242 7110 movw r1, #10000 ; 0x2710 808a664: fb01 f202 mul.w r2, r1, r2 808a668: 1a9a subs r2, r3, r2 808a66a: 4bc3 ldr r3, [pc, #780] ; (808a978 ) 808a66c: fba3 1302 umull r1, r3, r3, r2 808a670: 099b lsrs r3, r3, #6 808a672: f44f 717a mov.w r1, #1000 ; 0x3e8 808a676: fb01 f303 mul.w r3, r1, r3 808a67a: 1ad3 subs r3, r2, r3 808a67c: 4abf ldr r2, [pc, #764] ; (808a97c ) 808a67e: fba2 1203 umull r1, r2, r2, r3 808a682: 0952 lsrs r2, r2, #5 808a684: 2164 movs r1, #100 ; 0x64 808a686: fb01 f202 mul.w r2, r1, r2 808a68a: 1a9a subs r2, r3, r2 808a68c: 4bbc ldr r3, [pc, #752] ; (808a980 ) 808a68e: fba3 2302 umull r2, r3, r3, r2 808a692: 08db lsrs r3, r3, #3 808a694: b2db uxtb r3, r3 808a696: f887 33b8 strb.w r3, [r7, #952] ; 0x3b8 ikd_A = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 808a69a: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808a69e: 0953 lsrs r3, r2, #5 808a6a0: 49b8 ldr r1, [pc, #736] ; (808a984 ) 808a6a2: fba1 1303 umull r1, r3, r1, r3 808a6a6: 09db lsrs r3, r3, #7 808a6a8: 49b7 ldr r1, [pc, #732] ; (808a988 ) 808a6aa: fb01 f303 mul.w r3, r1, r3 808a6ae: 1ad3 subs r3, r2, r3 808a6b0: 4ab6 ldr r2, [pc, #728] ; (808a98c ) 808a6b2: fba2 1203 umull r1, r2, r2, r3 808a6b6: 0b52 lsrs r2, r2, #13 808a6b8: f242 7110 movw r1, #10000 ; 0x2710 808a6bc: fb01 f202 mul.w r2, r1, r2 808a6c0: 1a9a subs r2, r3, r2 808a6c2: 4bad ldr r3, [pc, #692] ; (808a978 ) 808a6c4: fba3 1302 umull r1, r3, r3, r2 808a6c8: 099b lsrs r3, r3, #6 808a6ca: f44f 717a mov.w r1, #1000 ; 0x3e8 808a6ce: fb01 f303 mul.w r3, r1, r3 808a6d2: 1ad3 subs r3, r2, r3 808a6d4: 4aa9 ldr r2, [pc, #676] ; (808a97c ) 808a6d6: fba2 1203 umull r1, r2, r2, r3 808a6da: 0952 lsrs r2, r2, #5 808a6dc: 2164 movs r1, #100 ; 0x64 808a6de: fb01 f202 mul.w r2, r1, r2 808a6e2: 1a9a subs r2, r3, r2 808a6e4: 4ba6 ldr r3, [pc, #664] ; (808a980 ) 808a6e6: fba3 1302 umull r1, r3, r3, r2 808a6ea: 08d9 lsrs r1, r3, #3 808a6ec: 460b mov r3, r1 808a6ee: 009b lsls r3, r3, #2 808a6f0: 440b add r3, r1 808a6f2: 005b lsls r3, r3, #1 808a6f4: 1ad1 subs r1, r2, r3 808a6f6: b2cb uxtb r3, r1 808a6f8: f887 33b7 strb.w r3, [r7, #951] ; 0x3b7 i = 0; 808a6fc: 2300 movs r3, #0 808a6fe: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 memset(str_A, 0, sizeof(str_A)); 808a702: f507 73b0 add.w r3, r7, #352 ; 0x160 808a706: 220c movs r2, #12 808a708: 2100 movs r1, #0 808a70a: 4618 mov r0, r3 808a70c: f042 fc9c bl 80cd048 if(idt_A != 0) 808a710: f897 33bc ldrb.w r3, [r7, #956] ; 0x3bc 808a714: b2db uxtb r3, r3 808a716: 2b00 cmp r3, #0 808a718: d00c beq.n 808a734 str_A[i++] = idt_A + 48; 808a71a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808a71e: 1c5a adds r2, r3, #1 808a720: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808a724: f897 23bc ldrb.w r2, [r7, #956] ; 0x3bc 808a728: b2d2 uxtb r2, r2 808a72a: 3230 adds r2, #48 ; 0x30 808a72c: b2d1 uxtb r1, r2 808a72e: f507 72b0 add.w r2, r7, #352 ; 0x160 808a732: 54d1 strb r1, [r2, r3] if((iet_A != 0) || (idt_A != 0)) 808a734: f897 33bb ldrb.w r3, [r7, #955] ; 0x3bb 808a738: b2db uxtb r3, r3 808a73a: 2b00 cmp r3, #0 808a73c: d104 bne.n 808a748 808a73e: f897 33bc ldrb.w r3, [r7, #956] ; 0x3bc 808a742: b2db uxtb r3, r3 808a744: 2b00 cmp r3, #0 808a746: d00c beq.n 808a762 str_A[i++] = iet_A + 48; 808a748: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808a74c: 1c5a adds r2, r3, #1 808a74e: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808a752: f897 23bb ldrb.w r2, [r7, #955] ; 0x3bb 808a756: b2d2 uxtb r2, r2 808a758: 3230 adds r2, #48 ; 0x30 808a75a: b2d1 uxtb r1, r2 808a75c: f507 72b0 add.w r2, r7, #352 ; 0x160 808a760: 54d1 strb r1, [r2, r3] if((ies_A != 0) || (iet_A != 0) || (idt_A != 0)) 808a762: f897 33ba ldrb.w r3, [r7, #954] ; 0x3ba 808a766: b2db uxtb r3, r3 808a768: 2b00 cmp r3, #0 808a76a: d109 bne.n 808a780 808a76c: f897 33bb ldrb.w r3, [r7, #955] ; 0x3bb 808a770: b2db uxtb r3, r3 808a772: 2b00 cmp r3, #0 808a774: d104 bne.n 808a780 808a776: f897 33bc ldrb.w r3, [r7, #956] ; 0x3bc 808a77a: b2db uxtb r3, r3 808a77c: 2b00 cmp r3, #0 808a77e: d00c beq.n 808a79a str_A[i++] = ies_A + 48; 808a780: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808a784: 1c5a adds r2, r3, #1 808a786: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808a78a: f897 23ba ldrb.w r2, [r7, #954] ; 0x3ba 808a78e: b2d2 uxtb r2, r2 808a790: 3230 adds r2, #48 ; 0x30 808a792: b2d1 uxtb r1, r2 808a794: f507 72b0 add.w r2, r7, #352 ; 0x160 808a798: 54d1 strb r1, [r2, r3] if((ied_A != 0) || (ies_A != 0) || (iet_A != 0) || (idt_A != 0)) 808a79a: f897 33b9 ldrb.w r3, [r7, #953] ; 0x3b9 808a79e: b2db uxtb r3, r3 808a7a0: 2b00 cmp r3, #0 808a7a2: d10e bne.n 808a7c2 808a7a4: f897 33ba ldrb.w r3, [r7, #954] ; 0x3ba 808a7a8: b2db uxtb r3, r3 808a7aa: 2b00 cmp r3, #0 808a7ac: d109 bne.n 808a7c2 808a7ae: f897 33bb ldrb.w r3, [r7, #955] ; 0x3bb 808a7b2: b2db uxtb r3, r3 808a7b4: 2b00 cmp r3, #0 808a7b6: d104 bne.n 808a7c2 808a7b8: f897 33bc ldrb.w r3, [r7, #956] ; 0x3bc 808a7bc: b2db uxtb r3, r3 808a7be: 2b00 cmp r3, #0 808a7c0: d00c beq.n 808a7dc str_A[i++] = ied_A + 48; 808a7c2: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808a7c6: 1c5a adds r2, r3, #1 808a7c8: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808a7cc: f897 23b9 ldrb.w r2, [r7, #953] ; 0x3b9 808a7d0: b2d2 uxtb r2, r2 808a7d2: 3230 adds r2, #48 ; 0x30 808a7d4: b2d1 uxtb r1, r2 808a7d6: f507 72b0 add.w r2, r7, #352 ; 0x160 808a7da: 54d1 strb r1, [r2, r3] str_A[i++] = iee_A + 48; 808a7dc: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808a7e0: 1c5a adds r2, r3, #1 808a7e2: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808a7e6: f897 23b8 ldrb.w r2, [r7, #952] ; 0x3b8 808a7ea: b2d2 uxtb r2, r2 808a7ec: 3230 adds r2, #48 ; 0x30 808a7ee: b2d1 uxtb r1, r2 808a7f0: f507 72b0 add.w r2, r7, #352 ; 0x160 808a7f4: 54d1 strb r1, [r2, r3] str_A[i++] = '.'; 808a7f6: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808a7fa: 1c5a adds r2, r3, #1 808a7fc: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808a800: f507 72b0 add.w r2, r7, #352 ; 0x160 808a804: 212e movs r1, #46 ; 0x2e 808a806: 54d1 strb r1, [r2, r3] str_A[i++] = ikd_A + 48; 808a808: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808a80c: 1c5a adds r2, r3, #1 808a80e: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808a812: f897 23b7 ldrb.w r2, [r7, #951] ; 0x3b7 808a816: b2d2 uxtb r2, r2 808a818: 3230 adds r2, #48 ; 0x30 808a81a: b2d1 uxtb r1, r2 808a81c: f507 72b0 add.w r2, r7, #352 ; 0x160 808a820: 54d1 strb r1, [r2, r3] // OP1[12 + 11*4] // OP2[12 + 11*12] // OP3[12 + 11*20] // if(menupos != DiagUs1) 808a822: 4b5b ldr r3, [pc, #364] ; (808a990 ) 808a824: 781b ldrb r3, [r3, #0] 808a826: b2db uxtb r3, r3 808a828: 2b01 cmp r3, #1 808a82a: d00f beq.n 808a84c { if(CURR_USL == Us1) 808a82c: 4b59 ldr r3, [pc, #356] ; (808a994 ) 808a82e: 781b ldrb r3, [r3, #0] 808a830: b2db uxtb r3, r3 808a832: 2b00 cmp r3, #0 808a834: d104 bne.n 808a840 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808a836: 4958 ldr r1, [pc, #352] ; (808a998 ) 808a838: 4858 ldr r0, [pc, #352] ; (808a99c ) 808a83a: f7c8 ffb7 bl 80537ac 808a83e: e00a b.n 808a856 else LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808a840: 4955 ldr r1, [pc, #340] ; (808a998 ) 808a842: f04f 30ff mov.w r0, #4294967295 808a846: f7c8 ffb1 bl 80537ac 808a84a: e004 b.n 808a856 } else LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808a84c: 4952 ldr r1, [pc, #328] ; (808a998 ) 808a84e: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808a852: f7c8 ffab bl 80537ac LCD_DisplayString(12 + 11*1, LCD_LINE_2, (char *) pUS[pardata.LANG][Us1]); 808a856: 4b52 ldr r3, [pc, #328] ; (808a9a0 ) 808a858: 7b1b ldrb r3, [r3, #12] 808a85a: b2db uxtb r3, r3 808a85c: 4a51 ldr r2, [pc, #324] ; (808a9a4 ) 808a85e: 011b lsls r3, r3, #4 808a860: 4413 add r3, r2 808a862: 681b ldr r3, [r3, #0] 808a864: 461a mov r2, r3 808a866: 2127 movs r1, #39 ; 0x27 808a868: 2017 movs r0, #23 808a86a: f7c9 fd47 bl 80542fc // if(menupos != DiagUs2) 808a86e: 4b48 ldr r3, [pc, #288] ; (808a990 ) 808a870: 781b ldrb r3, [r3, #0] 808a872: b2db uxtb r3, r3 808a874: 2b03 cmp r3, #3 808a876: d00f beq.n 808a898 { if(CURR_USL == Us2) 808a878: 4b46 ldr r3, [pc, #280] ; (808a994 ) 808a87a: 781b ldrb r3, [r3, #0] 808a87c: b2db uxtb r3, r3 808a87e: 2b01 cmp r3, #1 808a880: d104 bne.n 808a88c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808a882: 4945 ldr r1, [pc, #276] ; (808a998 ) 808a884: 4845 ldr r0, [pc, #276] ; (808a99c ) 808a886: f7c8 ff91 bl 80537ac 808a88a: e00a b.n 808a8a2 else LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808a88c: 4942 ldr r1, [pc, #264] ; (808a998 ) 808a88e: f04f 30ff mov.w r0, #4294967295 808a892: f7c8 ff8b bl 80537ac 808a896: e004 b.n 808a8a2 } else LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808a898: 493f ldr r1, [pc, #252] ; (808a998 ) 808a89a: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808a89e: f7c8 ff85 bl 80537ac LCD_DisplayString(12 + 11*8, LCD_LINE_2, (char *) pUS[pardata.LANG][Us2]); 808a8a2: 4b3f ldr r3, [pc, #252] ; (808a9a0 ) 808a8a4: 7b1b ldrb r3, [r3, #12] 808a8a6: b2db uxtb r3, r3 808a8a8: 4a3e ldr r2, [pc, #248] ; (808a9a4 ) 808a8aa: 011b lsls r3, r3, #4 808a8ac: 4413 add r3, r2 808a8ae: 3304 adds r3, #4 808a8b0: 681b ldr r3, [r3, #0] 808a8b2: 461a mov r2, r3 808a8b4: 2127 movs r1, #39 ; 0x27 808a8b6: 2064 movs r0, #100 ; 0x64 808a8b8: f7c9 fd20 bl 80542fc // if(menupos != DiagUs3) 808a8bc: 4b34 ldr r3, [pc, #208] ; (808a990 ) 808a8be: 781b ldrb r3, [r3, #0] 808a8c0: b2db uxtb r3, r3 808a8c2: 2b05 cmp r3, #5 808a8c4: d00f beq.n 808a8e6 { if(CURR_USL == Us3) 808a8c6: 4b33 ldr r3, [pc, #204] ; (808a994 ) 808a8c8: 781b ldrb r3, [r3, #0] 808a8ca: b2db uxtb r3, r3 808a8cc: 2b02 cmp r3, #2 808a8ce: d104 bne.n 808a8da LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808a8d0: 4931 ldr r1, [pc, #196] ; (808a998 ) 808a8d2: 4832 ldr r0, [pc, #200] ; (808a99c ) 808a8d4: f7c8 ff6a bl 80537ac 808a8d8: e00a b.n 808a8f0 else LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808a8da: 492f ldr r1, [pc, #188] ; (808a998 ) 808a8dc: f04f 30ff mov.w r0, #4294967295 808a8e0: f7c8 ff64 bl 80537ac 808a8e4: e004 b.n 808a8f0 } else LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808a8e6: 492c ldr r1, [pc, #176] ; (808a998 ) 808a8e8: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808a8ec: f7c8 ff5e bl 80537ac LCD_DisplayString(12 + 11*17, LCD_LINE_2, (char *) pUS[pardata.LANG][Us3]); 808a8f0: 4b2b ldr r3, [pc, #172] ; (808a9a0 ) 808a8f2: 7b1b ldrb r3, [r3, #12] 808a8f4: b2db uxtb r3, r3 808a8f6: 4a2b ldr r2, [pc, #172] ; (808a9a4 ) 808a8f8: 011b lsls r3, r3, #4 808a8fa: 4413 add r3, r2 808a8fc: 3308 adds r3, #8 808a8fe: 681b ldr r3, [r3, #0] 808a900: 461a mov r2, r3 808a902: 2127 movs r1, #39 ; 0x27 808a904: 20c7 movs r0, #199 ; 0xc7 808a906: f7c9 fcf9 bl 80542fc 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) 808a90a: 4b21 ldr r3, [pc, #132] ; (808a990 ) 808a90c: 781b ldrb r3, [r3, #0] 808a90e: b2db uxtb r3, r3 808a910: 2b02 cmp r3, #2 808a912: d005 beq.n 808a920 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808a914: 4920 ldr r1, [pc, #128] ; (808a998 ) 808a916: f04f 30ff mov.w r0, #4294967295 808a91a: f7c8 ff47 bl 80537ac 808a91e: e004 b.n 808a92a else LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808a920: 491d ldr r1, [pc, #116] ; (808a998 ) 808a922: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808a926: f7c8 ff41 bl 80537ac if((focused) && (menupos == DiagOp1)) 808a92a: 4b1f ldr r3, [pc, #124] ; (808a9a8 ) 808a92c: 781b ldrb r3, [r3, #0] 808a92e: b2db uxtb r3, r3 808a930: 2b00 cmp r3, #0 808a932: d041 beq.n 808a9b8 808a934: 4b16 ldr r3, [pc, #88] ; (808a990 ) 808a936: 781b ldrb r3, [r3, #0] 808a938: b2db uxtb r3, r3 808a93a: 2b02 cmp r3, #2 808a93c: d13c bne.n 808a9b8 { if(blk) 808a93e: 4b1b ldr r3, [pc, #108] ; (808a9ac ) 808a940: 681b ldr r3, [r3, #0] 808a942: 2b00 cmp r3, #0 808a944: d050 beq.n 808a9e8 { LCD_DisplayString(12 + 11*4, LCD_LINE_2, (char *) pOP[pardata.LANG][pardata.DIAGN_OPER[CURR_POINT][0]]); 808a946: 4b16 ldr r3, [pc, #88] ; (808a9a0 ) 808a948: 7b1b ldrb r3, [r3, #12] 808a94a: b2db uxtb r3, r3 808a94c: 4618 mov r0, r3 808a94e: 4b18 ldr r3, [pc, #96] ; (808a9b0 ) 808a950: 781b ldrb r3, [r3, #0] 808a952: b2db uxtb r3, r3 808a954: 4a12 ldr r2, [pc, #72] ; (808a9a0 ) 808a956: 3386 adds r3, #134 ; 0x86 808a958: 009b lsls r3, r3, #2 808a95a: 4413 add r3, r2 808a95c: 791b ldrb r3, [r3, #4] 808a95e: b2db uxtb r3, r3 808a960: 4619 mov r1, r3 808a962: 4a14 ldr r2, [pc, #80] ; (808a9b4 ) 808a964: 0043 lsls r3, r0, #1 808a966: 440b add r3, r1 808a968: f852 3023 ldr.w r3, [r2, r3, lsl #2] 808a96c: 461a mov r2, r3 808a96e: 2127 movs r1, #39 ; 0x27 808a970: 2038 movs r0, #56 ; 0x38 808a972: f7c9 fcc3 bl 80542fc if(blk) 808a976: e037 b.n 808a9e8 808a978: 10624dd3 .word 0x10624dd3 808a97c: 51eb851f .word 0x51eb851f 808a980: cccccccd .word 0xcccccccd 808a984: 0a7c5ac5 .word 0x0a7c5ac5 808a988: 000186a0 .word 0x000186a0 808a98c: d1b71759 .word 0xd1b71759 808a990: 20020070 .word 0x20020070 808a994: 20021013 .word 0x20021013 808a998: ff0a0f1f .word 0xff0a0f1f 808a99c: ffd8aa57 .word 0xffd8aa57 808a9a0: 20023e60 .word 0x20023e60 808a9a4: 200205ec .word 0x200205ec 808a9a8: 20020f84 .word 0x20020f84 808a9ac: 2002165c .word 0x2002165c 808a9b0: 20021011 .word 0x20021011 808a9b4: 2002060c .word 0x2002060c } } else LCD_DisplayString(12 + 11*4, LCD_LINE_2, (char *) pOP[pardata.LANG][pardata.DIAGN_OPER[CURR_POINT][0]]); 808a9b8: 4bbf ldr r3, [pc, #764] ; (808acb8 ) 808a9ba: 7b1b ldrb r3, [r3, #12] 808a9bc: b2db uxtb r3, r3 808a9be: 4618 mov r0, r3 808a9c0: 4bbe ldr r3, [pc, #760] ; (808acbc ) 808a9c2: 781b ldrb r3, [r3, #0] 808a9c4: b2db uxtb r3, r3 808a9c6: 4abc ldr r2, [pc, #752] ; (808acb8 ) 808a9c8: 3386 adds r3, #134 ; 0x86 808a9ca: 009b lsls r3, r3, #2 808a9cc: 4413 add r3, r2 808a9ce: 791b ldrb r3, [r3, #4] 808a9d0: b2db uxtb r3, r3 808a9d2: 4619 mov r1, r3 808a9d4: 4aba ldr r2, [pc, #744] ; (808acc0 ) 808a9d6: 0043 lsls r3, r0, #1 808a9d8: 440b add r3, r1 808a9da: f852 3023 ldr.w r3, [r2, r3, lsl #2] 808a9de: 461a mov r2, r3 808a9e0: 2127 movs r1, #39 ; 0x27 808a9e2: 2038 movs r0, #56 ; 0x38 808a9e4: f7c9 fc8a bl 80542fc ////// OP2 if(menupos != DiagOp2) 808a9e8: 4bb6 ldr r3, [pc, #728] ; (808acc4 ) 808a9ea: 781b ldrb r3, [r3, #0] 808a9ec: b2db uxtb r3, r3 808a9ee: 2b04 cmp r3, #4 808a9f0: d005 beq.n 808a9fe LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808a9f2: 49b5 ldr r1, [pc, #724] ; (808acc8 ) 808a9f4: f04f 30ff mov.w r0, #4294967295 808a9f8: f7c8 fed8 bl 80537ac 808a9fc: e004 b.n 808aa08 else LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808a9fe: 49b2 ldr r1, [pc, #712] ; (808acc8 ) 808aa00: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808aa04: f7c8 fed2 bl 80537ac if((focused) && (menupos == DiagOp2)) 808aa08: 4bb0 ldr r3, [pc, #704] ; (808accc ) 808aa0a: 781b ldrb r3, [r3, #0] 808aa0c: b2db uxtb r3, r3 808aa0e: 2b00 cmp r3, #0 808aa10: d021 beq.n 808aa56 808aa12: 4bac ldr r3, [pc, #688] ; (808acc4 ) 808aa14: 781b ldrb r3, [r3, #0] 808aa16: b2db uxtb r3, r3 808aa18: 2b04 cmp r3, #4 808aa1a: d11c bne.n 808aa56 { if(blk) 808aa1c: 4bac ldr r3, [pc, #688] ; (808acd0 ) 808aa1e: 681b ldr r3, [r3, #0] 808aa20: 2b00 cmp r3, #0 808aa22: d030 beq.n 808aa86 { LCD_DisplayString(12 + 11*12, LCD_LINE_2, (char *) pOP[pardata.LANG][pardata.DIAGN_OPER[CURR_POINT][1]]); 808aa24: 4ba4 ldr r3, [pc, #656] ; (808acb8 ) 808aa26: 7b1b ldrb r3, [r3, #12] 808aa28: b2db uxtb r3, r3 808aa2a: 4618 mov r0, r3 808aa2c: 4ba3 ldr r3, [pc, #652] ; (808acbc ) 808aa2e: 781b ldrb r3, [r3, #0] 808aa30: b2db uxtb r3, r3 808aa32: 4aa1 ldr r2, [pc, #644] ; (808acb8 ) 808aa34: 009b lsls r3, r3, #2 808aa36: 4413 add r3, r2 808aa38: f893 321d ldrb.w r3, [r3, #541] ; 0x21d 808aa3c: b2db uxtb r3, r3 808aa3e: 4619 mov r1, r3 808aa40: 4a9f ldr r2, [pc, #636] ; (808acc0 ) 808aa42: 0043 lsls r3, r0, #1 808aa44: 440b add r3, r1 808aa46: f852 3023 ldr.w r3, [r2, r3, lsl #2] 808aa4a: 461a mov r2, r3 808aa4c: 2127 movs r1, #39 ; 0x27 808aa4e: 2090 movs r0, #144 ; 0x90 808aa50: f7c9 fc54 bl 80542fc if(blk) 808aa54: e017 b.n 808aa86 } } else LCD_DisplayString(12 + 11*12, LCD_LINE_2, (char *) pOP[pardata.LANG][pardata.DIAGN_OPER[CURR_POINT][1]]); 808aa56: 4b98 ldr r3, [pc, #608] ; (808acb8 ) 808aa58: 7b1b ldrb r3, [r3, #12] 808aa5a: b2db uxtb r3, r3 808aa5c: 4618 mov r0, r3 808aa5e: 4b97 ldr r3, [pc, #604] ; (808acbc ) 808aa60: 781b ldrb r3, [r3, #0] 808aa62: b2db uxtb r3, r3 808aa64: 4a94 ldr r2, [pc, #592] ; (808acb8 ) 808aa66: 009b lsls r3, r3, #2 808aa68: 4413 add r3, r2 808aa6a: f893 321d ldrb.w r3, [r3, #541] ; 0x21d 808aa6e: b2db uxtb r3, r3 808aa70: 4619 mov r1, r3 808aa72: 4a93 ldr r2, [pc, #588] ; (808acc0 ) 808aa74: 0043 lsls r3, r0, #1 808aa76: 440b add r3, r1 808aa78: f852 3023 ldr.w r3, [r2, r3, lsl #2] 808aa7c: 461a mov r2, r3 808aa7e: 2127 movs r1, #39 ; 0x27 808aa80: 2090 movs r0, #144 ; 0x90 808aa82: f7c9 fc3b bl 80542fc if(pardata.LANG == RUS) 808aa86: 4b8c ldr r3, [pc, #560] ; (808acb8 ) 808aa88: 7b1b ldrb r3, [r3, #12] 808aa8a: b2db uxtb r3, r3 808aa8c: 2b00 cmp r3, #0 808aa8e: f040 808f bne.w 808abb0 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808aa92: 498d ldr r1, [pc, #564] ; (808acc8 ) 808aa94: f04f 30ff mov.w r0, #4294967295 808aa98: f7c8 fe88 bl 80537ac LCD_DisplayString(10, LCD_LINE_5, "Âåëè÷èíà"); 808aa9c: 4a8d ldr r2, [pc, #564] ; (808acd4 ) 808aa9e: 215a movs r1, #90 ; 0x5a 808aaa0: 200a movs r0, #10 808aaa2: f7c9 fc2b bl 80542fc if((pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7) == 0) 808aaa6: 4b85 ldr r3, [pc, #532] ; (808acbc ) 808aaa8: 781b ldrb r3, [r3, #0] 808aaaa: b2db uxtb r3, r3 808aaac: 4618 mov r0, r3 808aaae: 4b8a ldr r3, [pc, #552] ; (808acd8 ) 808aab0: 781b ldrb r3, [r3, #0] 808aab2: b2db uxtb r3, r3 808aab4: 4619 mov r1, r3 808aab6: 4a80 ldr r2, [pc, #512] ; (808acb8 ) 808aab8: 0083 lsls r3, r0, #2 808aaba: 4413 add r3, r2 808aabc: 440b add r3, r1 808aabe: f503 730f add.w r3, r3, #572 ; 0x23c 808aac2: 781b ldrb r3, [r3, #0] 808aac4: b2db uxtb r3, r3 808aac6: f003 0307 and.w r3, r3, #7 808aaca: 2b00 cmp r3, #0 808aacc: d103 bne.n 808aad6 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 808aace: 497e ldr r1, [pc, #504] ; (808acc8 ) 808aad0: 4882 ldr r0, [pc, #520] ; (808acdc ) 808aad2: f7c8 fe6b bl 80537ac LCD_DisplayString(10, LCD_LINE_6, "Çíà÷åíèå"); 808aad6: 4a82 ldr r2, [pc, #520] ; (808ace0 ) 808aad8: 216a movs r1, #106 ; 0x6a 808aada: 200a movs r0, #10 808aadc: f7c9 fc0e bl 80542fc LCD_DisplayString(10, LCD_LINE_7, "Ôèëüòð Â×(Ãö)"); 808aae0: 4a80 ldr r2, [pc, #512] ; (808ace4 ) 808aae2: 217a movs r1, #122 ; 0x7a 808aae4: 200a movs r0, #10 808aae6: f7c9 fc09 bl 80542fc LCD_DisplayString(10, LCD_LINE_8, "Ôèëüòð Í×(Ãö)"); 808aaea: 4a7f ldr r2, [pc, #508] ; (808ace8 ) 808aaec: 218a movs r1, #138 ; 0x8a 808aaee: 200a movs r0, #10 808aaf0: f7c9 fc04 bl 80542fc LCD_DisplayString(10, LCD_LINE_9, "Ïðåäóïðåæäåíèå"); 808aaf4: 4a7d ldr r2, [pc, #500] ; (808acec ) 808aaf6: 219a movs r1, #154 ; 0x9a 808aaf8: 200a movs r0, #10 808aafa: f7c9 fbff bl 80542fc LCD_DisplayString(10, LCD_LINE_10, "Àâàðèÿ"); 808aafe: 4a7c ldr r2, [pc, #496] ; (808acf0 ) 808ab00: 21aa movs r1, #170 ; 0xaa 808ab02: 200a movs r0, #10 808ab04: f7c9 fbfa bl 80542fc if(menupos == DiagName) 808ab08: 4b6e ldr r3, [pc, #440] ; (808acc4 ) 808ab0a: 781b ldrb r3, [r3, #0] 808ab0c: b2db uxtb r3, r3 808ab0e: 2b06 cmp r3, #6 808ab10: d127 bne.n 808ab62 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808ab12: 496d ldr r1, [pc, #436] ; (808acc8 ) 808ab14: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808ab18: f7c8 fe48 bl 80537ac if(strlen(str1)) 808ab1c: f507 73f6 add.w r3, r7, #492 ; 0x1ec 808ab20: 781b ldrb r3, [r3, #0] 808ab22: 2b00 cmp r3, #0 808ab24: d017 beq.n 808ab56 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808ab26: 4968 ldr r1, [pc, #416] ; (808acc8 ) 808ab28: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808ab2c: f7c8 fe3e bl 80537ac LCD_DisplayStringC(260, LCD_LINE_4, str1); 808ab30: f507 73f6 add.w r3, r7, #492 ; 0x1ec 808ab34: 461a mov r2, r3 808ab36: 214a movs r1, #74 ; 0x4a 808ab38: f44f 7082 mov.w r0, #260 ; 0x104 808ab3c: f7c9 fbf6 bl 805432c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808ab40: 4961 ldr r1, [pc, #388] ; (808acc8 ) 808ab42: f04f 30ff mov.w r0, #4294967295 808ab46: f7c8 fe31 bl 80537ac LCD_DisplayString(10, LCD_LINE_4, "Íàçâàíèå"); 808ab4a: 4a6a ldr r2, [pc, #424] ; (808acf4 ) 808ab4c: 214a movs r1, #74 ; 0x4a 808ab4e: 200a movs r0, #10 808ab50: f7c9 fbd4 bl 80542fc 808ab54: e0ea b.n 808ad2c } else LCD_DisplayString(10, LCD_LINE_4, "Íàçâàíèå"); 808ab56: 4a67 ldr r2, [pc, #412] ; (808acf4 ) 808ab58: 214a movs r1, #74 ; 0x4a 808ab5a: 200a movs r0, #10 808ab5c: f7c9 fbce bl 80542fc 808ab60: e0e4 b.n 808ad2c } else { if(strlen(str1)) 808ab62: f507 73f6 add.w r3, r7, #492 ; 0x1ec 808ab66: 781b ldrb r3, [r3, #0] 808ab68: 2b00 cmp r3, #0 808ab6a: d016 beq.n 808ab9a { LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808ab6c: 4956 ldr r1, [pc, #344] ; (808acc8 ) 808ab6e: 4862 ldr r0, [pc, #392] ; (808acf8 ) 808ab70: f7c8 fe1c bl 80537ac LCD_DisplayStringC(260, LCD_LINE_4, str1); 808ab74: f507 73f6 add.w r3, r7, #492 ; 0x1ec 808ab78: 461a mov r2, r3 808ab7a: 214a movs r1, #74 ; 0x4a 808ab7c: f44f 7082 mov.w r0, #260 ; 0x104 808ab80: f7c9 fbd4 bl 805432c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808ab84: 4950 ldr r1, [pc, #320] ; (808acc8 ) 808ab86: f04f 30ff mov.w r0, #4294967295 808ab8a: f7c8 fe0f bl 80537ac LCD_DisplayString(10, LCD_LINE_4, "Íàçâàíèå"); //"Çàïèñü â ôàéë" 808ab8e: 4a59 ldr r2, [pc, #356] ; (808acf4 ) 808ab90: 214a movs r1, #74 ; 0x4a 808ab92: 200a movs r0, #10 808ab94: f7c9 fbb2 bl 80542fc 808ab98: e0c8 b.n 808ad2c } else { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808ab9a: 494b ldr r1, [pc, #300] ; (808acc8 ) 808ab9c: f04f 30ff mov.w r0, #4294967295 808aba0: f7c8 fe04 bl 80537ac LCD_DisplayString(10, LCD_LINE_4,"Íàçâàíèå"); //"Çàïèñü â ôàéë" 808aba4: 4a53 ldr r2, [pc, #332] ; (808acf4 ) 808aba6: 214a movs r1, #74 ; 0x4a 808aba8: 200a movs r0, #10 808abaa: f7c9 fba7 bl 80542fc 808abae: e0bd b.n 808ad2c } } } else { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808abb0: 4945 ldr r1, [pc, #276] ; (808acc8 ) 808abb2: f04f 30ff mov.w r0, #4294967295 808abb6: f7c8 fdf9 bl 80537ac LCD_DisplayString(10, LCD_LINE_5, "Parameter"); 808abba: 4a50 ldr r2, [pc, #320] ; (808acfc ) 808abbc: 215a movs r1, #90 ; 0x5a 808abbe: 200a movs r0, #10 808abc0: f7c9 fb9c bl 80542fc if((pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7) == 0) 808abc4: 4b3d ldr r3, [pc, #244] ; (808acbc ) 808abc6: 781b ldrb r3, [r3, #0] 808abc8: b2db uxtb r3, r3 808abca: 4618 mov r0, r3 808abcc: 4b42 ldr r3, [pc, #264] ; (808acd8 ) 808abce: 781b ldrb r3, [r3, #0] 808abd0: b2db uxtb r3, r3 808abd2: 4619 mov r1, r3 808abd4: 4a38 ldr r2, [pc, #224] ; (808acb8 ) 808abd6: 0083 lsls r3, r0, #2 808abd8: 4413 add r3, r2 808abda: 440b add r3, r1 808abdc: f503 730f add.w r3, r3, #572 ; 0x23c 808abe0: 781b ldrb r3, [r3, #0] 808abe2: b2db uxtb r3, r3 808abe4: f003 0307 and.w r3, r3, #7 808abe8: 2b00 cmp r3, #0 808abea: d103 bne.n 808abf4 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 808abec: 4936 ldr r1, [pc, #216] ; (808acc8 ) 808abee: 483b ldr r0, [pc, #236] ; (808acdc ) 808abf0: f7c8 fddc bl 80537ac LCD_DisplayString(10, LCD_LINE_6, "Value"); 808abf4: 4a42 ldr r2, [pc, #264] ; (808ad00 ) 808abf6: 216a movs r1, #106 ; 0x6a 808abf8: 200a movs r0, #10 808abfa: f7c9 fb7f bl 80542fc LCD_DisplayString(10, LCD_LINE_7, "HPF(Hz)"); 808abfe: 4a41 ldr r2, [pc, #260] ; (808ad04 ) 808ac00: 217a movs r1, #122 ; 0x7a 808ac02: 200a movs r0, #10 808ac04: f7c9 fb7a bl 80542fc LCD_DisplayString(10, LCD_LINE_8, "LPF(Hz)"); 808ac08: 4a3f ldr r2, [pc, #252] ; (808ad08 ) 808ac0a: 218a movs r1, #138 ; 0x8a 808ac0c: 200a movs r0, #10 808ac0e: f7c9 fb75 bl 80542fc LCD_DisplayString(10, LCD_LINE_9, "Warning lvl"); 808ac12: 4a3e ldr r2, [pc, #248] ; (808ad0c ) 808ac14: 219a movs r1, #154 ; 0x9a 808ac16: 200a movs r0, #10 808ac18: f7c9 fb70 bl 80542fc LCD_DisplayString(10, LCD_LINE_10, "Crash lvl"); 808ac1c: 4a3c ldr r2, [pc, #240] ; (808ad10 ) 808ac1e: 21aa movs r1, #170 ; 0xaa 808ac20: 200a movs r0, #10 808ac22: f7c9 fb6b bl 80542fc if(menupos == DiagName) 808ac26: 4b27 ldr r3, [pc, #156] ; (808acc4 ) 808ac28: 781b ldrb r3, [r3, #0] 808ac2a: b2db uxtb r3, r3 808ac2c: 2b06 cmp r3, #6 808ac2e: d127 bne.n 808ac80 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808ac30: 4925 ldr r1, [pc, #148] ; (808acc8 ) 808ac32: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808ac36: f7c8 fdb9 bl 80537ac if(strlen(str1)) 808ac3a: f507 73f6 add.w r3, r7, #492 ; 0x1ec 808ac3e: 781b ldrb r3, [r3, #0] 808ac40: 2b00 cmp r3, #0 808ac42: d017 beq.n 808ac74 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808ac44: 4920 ldr r1, [pc, #128] ; (808acc8 ) 808ac46: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808ac4a: f7c8 fdaf bl 80537ac LCD_DisplayStringC(260, LCD_LINE_4, str1); 808ac4e: f507 73f6 add.w r3, r7, #492 ; 0x1ec 808ac52: 461a mov r2, r3 808ac54: 214a movs r1, #74 ; 0x4a 808ac56: f44f 7082 mov.w r0, #260 ; 0x104 808ac5a: f7c9 fb67 bl 805432c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808ac5e: 491a ldr r1, [pc, #104] ; (808acc8 ) 808ac60: f04f 30ff mov.w r0, #4294967295 808ac64: f7c8 fda2 bl 80537ac LCD_DisplayString(10, LCD_LINE_4, "Name"); 808ac68: 4a2a ldr r2, [pc, #168] ; (808ad14 ) 808ac6a: 214a movs r1, #74 ; 0x4a 808ac6c: 200a movs r0, #10 808ac6e: f7c9 fb45 bl 80542fc 808ac72: e05b b.n 808ad2c } else LCD_DisplayString(10, LCD_LINE_4, "Name"); 808ac74: 4a27 ldr r2, [pc, #156] ; (808ad14 ) 808ac76: 214a movs r1, #74 ; 0x4a 808ac78: 200a movs r0, #10 808ac7a: f7c9 fb3f bl 80542fc 808ac7e: e055 b.n 808ad2c } else { if(strlen(str1)) 808ac80: f507 73f6 add.w r3, r7, #492 ; 0x1ec 808ac84: 781b ldrb r3, [r3, #0] 808ac86: 2b00 cmp r3, #0 808ac88: d046 beq.n 808ad18 { LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808ac8a: 490f ldr r1, [pc, #60] ; (808acc8 ) 808ac8c: 481a ldr r0, [pc, #104] ; (808acf8 ) 808ac8e: f7c8 fd8d bl 80537ac LCD_DisplayStringC(260, LCD_LINE_4, str1); 808ac92: f507 73f6 add.w r3, r7, #492 ; 0x1ec 808ac96: 461a mov r2, r3 808ac98: 214a movs r1, #74 ; 0x4a 808ac9a: f44f 7082 mov.w r0, #260 ; 0x104 808ac9e: f7c9 fb45 bl 805432c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808aca2: 4909 ldr r1, [pc, #36] ; (808acc8 ) 808aca4: f04f 30ff mov.w r0, #4294967295 808aca8: f7c8 fd80 bl 80537ac LCD_DisplayString(10, LCD_LINE_4, "Name"); //"Çàïèñü â ôàéë" 808acac: 4a19 ldr r2, [pc, #100] ; (808ad14 ) 808acae: 214a movs r1, #74 ; 0x4a 808acb0: 200a movs r0, #10 808acb2: f7c9 fb23 bl 80542fc 808acb6: e039 b.n 808ad2c 808acb8: 20023e60 .word 0x20023e60 808acbc: 20021011 .word 0x20021011 808acc0: 2002060c .word 0x2002060c 808acc4: 20020070 .word 0x20020070 808acc8: ff0a0f1f .word 0xff0a0f1f 808accc: 20020f84 .word 0x20020f84 808acd0: 2002165c .word 0x2002165c 808acd4: 080cf728 .word 0x080cf728 808acd8: 20021013 .word 0x20021013 808acdc: ff808080 .word 0xff808080 808ace0: 080d00a8 .word 0x080d00a8 808ace4: 080cf1d0 .word 0x080cf1d0 808ace8: 080cf1e0 .word 0x080cf1e0 808acec: 080d00b4 .word 0x080d00b4 808acf0: 080d00c4 .word 0x080d00c4 808acf4: 080d00cc .word 0x080d00cc 808acf8: ffd8aa57 .word 0xffd8aa57 808acfc: 080cf734 .word 0x080cf734 808ad00: 080d00d8 .word 0x080d00d8 808ad04: 080cf280 .word 0x080cf280 808ad08: 080cf288 .word 0x080cf288 808ad0c: 080d00e0 .word 0x080d00e0 808ad10: 080d00ec .word 0x080d00ec 808ad14: 080d00f8 .word 0x080d00f8 } else { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808ad18: 498c ldr r1, [pc, #560] ; (808af4c ) 808ad1a: f04f 30ff mov.w r0, #4294967295 808ad1e: f7c8 fd45 bl 80537ac LCD_DisplayString(10, LCD_LINE_4,"Name"); //"Çàïèñü â ôàéë" 808ad22: 4a8b ldr r2, [pc, #556] ; (808af50 ) 808ad24: 214a movs r1, #74 ; 0x4a 808ad26: 200a movs r0, #10 808ad28: f7c9 fae8 bl 80542fc } } // if(menupos != Ok) 808ad2c: 4b89 ldr r3, [pc, #548] ; (808af54 ) 808ad2e: 781b ldrb r3, [r3, #0] 808ad30: b2db uxtb r3, r3 808ad32: 2b00 cmp r3, #0 808ad34: d005 beq.n 808ad42 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808ad36: 4985 ldr r1, [pc, #532] ; (808af4c ) 808ad38: f04f 30ff mov.w r0, #4294967295 808ad3c: f7c8 fd36 bl 80537ac 808ad40: e004 b.n 808ad4c else LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808ad42: 4982 ldr r1, [pc, #520] ; (808af4c ) 808ad44: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808ad48: f7c8 fd30 bl 80537ac LCD_DisplayString(10, LCD_LINE_3, (char *)TEXT_Next[pardata.LANG]); 808ad4c: 4b82 ldr r3, [pc, #520] ; (808af58 ) 808ad4e: 7b1b ldrb r3, [r3, #12] 808ad50: b2db uxtb r3, r3 808ad52: 461a mov r2, r3 808ad54: 4b81 ldr r3, [pc, #516] ; (808af5c ) 808ad56: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808ad5a: 461a mov r2, r3 808ad5c: 213a movs r1, #58 ; 0x3a 808ad5e: 200a movs r0, #10 808ad60: f7c9 facc bl 80542fc // k = pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7; 808ad64: 4b7e ldr r3, [pc, #504] ; (808af60 ) 808ad66: 781b ldrb r3, [r3, #0] 808ad68: b2db uxtb r3, r3 808ad6a: 4618 mov r0, r3 808ad6c: 4b7d ldr r3, [pc, #500] ; (808af64 ) 808ad6e: 781b ldrb r3, [r3, #0] 808ad70: b2db uxtb r3, r3 808ad72: 4619 mov r1, r3 808ad74: 4a78 ldr r2, [pc, #480] ; (808af58 ) 808ad76: 0083 lsls r3, r0, #2 808ad78: 4413 add r3, r2 808ad7a: 440b add r3, r1 808ad7c: f503 730f add.w r3, r3, #572 ; 0x23c 808ad80: 781b ldrb r3, [r3, #0] 808ad82: b2db uxtb r3, r3 808ad84: f003 0307 and.w r3, r3, #7 808ad88: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 i = 0; 808ad8c: 2300 movs r3, #0 808ad8e: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 for(j = 0; j < 3; j++) 808ad92: 2300 movs r3, #0 808ad94: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 808ad98: e015 b.n 808adc6 { if(k & (1 << j)) 808ad9a: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 808ad9e: 2201 movs r2, #1 808ada0: fa02 f303 lsl.w r3, r2, r3 808ada4: 461a mov r2, r3 808ada6: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 808adaa: 4013 ands r3, r2 808adac: 2b00 cmp r3, #0 808adae: d005 beq.n 808adbc { i = (j + 1); 808adb0: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 808adb4: 3301 adds r3, #1 808adb6: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 break; 808adba: e008 b.n 808adce for(j = 0; j < 3; j++) 808adbc: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 808adc0: 3301 adds r3, #1 808adc2: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 808adc6: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 808adca: 2b02 cmp r3, #2 808adcc: d9e5 bls.n 808ad9a } } if(menupos != DiagAVS) 808adce: 4b61 ldr r3, [pc, #388] ; (808af54 ) 808add0: 781b ldrb r3, [r3, #0] 808add2: b2db uxtb r3, r3 808add4: 2b07 cmp r3, #7 808add6: d004 beq.n 808ade2 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808add8: 495c ldr r1, [pc, #368] ; (808af4c ) 808adda: 4863 ldr r0, [pc, #396] ; (808af68 ) 808addc: f7c8 fce6 bl 80537ac 808ade0: e004 b.n 808adec else LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808ade2: 495a ldr r1, [pc, #360] ; (808af4c ) 808ade4: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808ade8: f7c8 fce0 bl 80537ac if((focused) && (menupos == DiagAVS)) 808adec: 4b5f ldr r3, [pc, #380] ; (808af6c ) 808adee: 781b ldrb r3, [r3, #0] 808adf0: b2db uxtb r3, r3 808adf2: 2b00 cmp r3, #0 808adf4: d01a beq.n 808ae2c 808adf6: 4b57 ldr r3, [pc, #348] ; (808af54 ) 808adf8: 781b ldrb r3, [r3, #0] 808adfa: b2db uxtb r3, r3 808adfc: 2b07 cmp r3, #7 808adfe: d115 bne.n 808ae2c { if(blk) 808ae00: 4b5b ldr r3, [pc, #364] ; (808af70 ) 808ae02: 681b ldr r3, [r3, #0] 808ae04: 2b00 cmp r3, #0 808ae06: d022 beq.n 808ae4e { LCD_DisplayStringC(260, LCD_LINE_5, (char *) pIPR_1[pardata.LANG][i]); 808ae08: 4b53 ldr r3, [pc, #332] ; (808af58 ) 808ae0a: 7b1b ldrb r3, [r3, #12] 808ae0c: b2db uxtb r3, r3 808ae0e: 461a mov r2, r3 808ae10: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808ae14: 4957 ldr r1, [pc, #348] ; (808af74 ) 808ae16: 0092 lsls r2, r2, #2 808ae18: 4413 add r3, r2 808ae1a: f851 3023 ldr.w r3, [r1, r3, lsl #2] 808ae1e: 461a mov r2, r3 808ae20: 215a movs r1, #90 ; 0x5a 808ae22: f44f 7082 mov.w r0, #260 ; 0x104 808ae26: f7c9 fa81 bl 805432c if(blk) 808ae2a: e010 b.n 808ae4e } } else LCD_DisplayStringC(260, LCD_LINE_5, (char *) pIPR_1[pardata.LANG][i]); 808ae2c: 4b4a ldr r3, [pc, #296] ; (808af58 ) 808ae2e: 7b1b ldrb r3, [r3, #12] 808ae30: b2db uxtb r3, r3 808ae32: 461a mov r2, r3 808ae34: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808ae38: 494e ldr r1, [pc, #312] ; (808af74 ) 808ae3a: 0092 lsls r2, r2, #2 808ae3c: 4413 add r3, r2 808ae3e: f851 3023 ldr.w r3, [r1, r3, lsl #2] 808ae42: 461a mov r2, r3 808ae44: 215a movs r1, #90 ; 0x5a 808ae46: f44f 7082 mov.w r0, #260 ; 0x104 808ae4a: f7c9 fa6f bl 805432c // k = (pardata.DIAGN_MASK[CURR_POINT][CURR_USL] >> 3) & 0x1f; 808ae4e: 4b44 ldr r3, [pc, #272] ; (808af60 ) 808ae50: 781b ldrb r3, [r3, #0] 808ae52: b2db uxtb r3, r3 808ae54: 4618 mov r0, r3 808ae56: 4b43 ldr r3, [pc, #268] ; (808af64 ) 808ae58: 781b ldrb r3, [r3, #0] 808ae5a: b2db uxtb r3, r3 808ae5c: 4619 mov r1, r3 808ae5e: 4a3e ldr r2, [pc, #248] ; (808af58 ) 808ae60: 0083 lsls r3, r0, #2 808ae62: 4413 add r3, r2 808ae64: 440b add r3, r1 808ae66: f503 730f add.w r3, r3, #572 ; 0x23c 808ae6a: 781b ldrb r3, [r3, #0] 808ae6c: b2db uxtb r3, r3 808ae6e: 08db lsrs r3, r3, #3 808ae70: b2db uxtb r3, r3 808ae72: f003 031f and.w r3, r3, #31 808ae76: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 i = 0; 808ae7a: 2300 movs r3, #0 808ae7c: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 for(j = 0; j < 5; j++) 808ae80: 2300 movs r3, #0 808ae82: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 808ae86: e014 b.n 808aeb2 { if(k & (1 << j)) 808ae88: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 808ae8c: 2201 movs r2, #1 808ae8e: fa02 f303 lsl.w r3, r2, r3 808ae92: 461a mov r2, r3 808ae94: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 808ae98: 4013 ands r3, r2 808ae9a: 2b00 cmp r3, #0 808ae9c: d004 beq.n 808aea8 { i = j; 808ae9e: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 808aea2: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 break; 808aea6: e008 b.n 808aeba for(j = 0; j < 5; j++) 808aea8: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 808aeac: 3301 adds r3, #1 808aeae: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 808aeb2: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 808aeb6: 2b04 cmp r3, #4 808aeb8: d9e6 bls.n 808ae88 } } if(menupos != DiagValue) 808aeba: 4b26 ldr r3, [pc, #152] ; (808af54 ) 808aebc: 781b ldrb r3, [r3, #0] 808aebe: b2db uxtb r3, r3 808aec0: 2b08 cmp r3, #8 808aec2: d004 beq.n 808aece LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808aec4: 4921 ldr r1, [pc, #132] ; (808af4c ) 808aec6: 4828 ldr r0, [pc, #160] ; (808af68 ) 808aec8: f7c8 fc70 bl 80537ac 808aecc: e004 b.n 808aed8 else LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808aece: 491f ldr r1, [pc, #124] ; (808af4c ) 808aed0: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808aed4: f7c8 fc6a bl 80537ac if((pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7) == 0) 808aed8: 4b21 ldr r3, [pc, #132] ; (808af60 ) 808aeda: 781b ldrb r3, [r3, #0] 808aedc: b2db uxtb r3, r3 808aede: 4618 mov r0, r3 808aee0: 4b20 ldr r3, [pc, #128] ; (808af64 ) 808aee2: 781b ldrb r3, [r3, #0] 808aee4: b2db uxtb r3, r3 808aee6: 4619 mov r1, r3 808aee8: 4a1b ldr r2, [pc, #108] ; (808af58 ) 808aeea: 0083 lsls r3, r0, #2 808aeec: 4413 add r3, r2 808aeee: 440b add r3, r1 808aef0: f503 730f add.w r3, r3, #572 ; 0x23c 808aef4: 781b ldrb r3, [r3, #0] 808aef6: b2db uxtb r3, r3 808aef8: f003 0307 and.w r3, r3, #7 808aefc: 2b00 cmp r3, #0 808aefe: d103 bne.n 808af08 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 808af00: 4912 ldr r1, [pc, #72] ; (808af4c ) 808af02: 481d ldr r0, [pc, #116] ; (808af78 ) 808af04: f7c8 fc52 bl 80537ac if((focused) && (menupos == DiagValue)) 808af08: 4b18 ldr r3, [pc, #96] ; (808af6c ) 808af0a: 781b ldrb r3, [r3, #0] 808af0c: b2db uxtb r3, r3 808af0e: 2b00 cmp r3, #0 808af10: d036 beq.n 808af80 808af12: 4b10 ldr r3, [pc, #64] ; (808af54 ) 808af14: 781b ldrb r3, [r3, #0] 808af16: b2db uxtb r3, r3 808af18: 2b08 cmp r3, #8 808af1a: d131 bne.n 808af80 { if(blk) 808af1c: 4b14 ldr r3, [pc, #80] ; (808af70 ) 808af1e: 681b ldr r3, [r3, #0] 808af20: 2b00 cmp r3, #0 808af22: d040 beq.n 808afa6 { LCD_DisplayStringC(260, LCD_LINE_6, (char *) pIVS[pardata.LANG][i]); 808af24: 4b0c ldr r3, [pc, #48] ; (808af58 ) 808af26: 7b1b ldrb r3, [r3, #12] 808af28: b2db uxtb r3, r3 808af2a: 4618 mov r0, r3 808af2c: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 808af30: 4912 ldr r1, [pc, #72] ; (808af7c ) 808af32: 4603 mov r3, r0 808af34: 009b lsls r3, r3, #2 808af36: 4403 add r3, r0 808af38: 4413 add r3, r2 808af3a: f851 3023 ldr.w r3, [r1, r3, lsl #2] 808af3e: 461a mov r2, r3 808af40: 216a movs r1, #106 ; 0x6a 808af42: f44f 7082 mov.w r0, #260 ; 0x104 808af46: f7c9 f9f1 bl 805432c if(blk) 808af4a: e02c b.n 808afa6 808af4c: ff0a0f1f .word 0xff0a0f1f 808af50: 080d00f8 .word 0x080d00f8 808af54: 20020070 .word 0x20020070 808af58: 20023e60 .word 0x20023e60 808af5c: 200205c4 .word 0x200205c4 808af60: 20021011 .word 0x20021011 808af64: 20021013 .word 0x20021013 808af68: ffd8aa57 .word 0xffd8aa57 808af6c: 20020f84 .word 0x20020f84 808af70: 2002165c .word 0x2002165c 808af74: 2002017c .word 0x2002017c 808af78: ff808080 .word 0xff808080 808af7c: 200202bc .word 0x200202bc } } else LCD_DisplayStringC(260, LCD_LINE_6, (char *) pIVS[pardata.LANG][i]); 808af80: 4b9d ldr r3, [pc, #628] ; (808b1f8 ) 808af82: 7b1b ldrb r3, [r3, #12] 808af84: b2db uxtb r3, r3 808af86: 4618 mov r0, r3 808af88: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 808af8c: 499b ldr r1, [pc, #620] ; (808b1fc ) 808af8e: 4603 mov r3, r0 808af90: 009b lsls r3, r3, #2 808af92: 4403 add r3, r0 808af94: 4413 add r3, r2 808af96: f851 3023 ldr.w r3, [r1, r3, lsl #2] 808af9a: 461a mov r2, r3 808af9c: 216a movs r1, #106 ; 0x6a 808af9e: f44f 7082 mov.w r0, #260 ; 0x104 808afa2: f7c9 f9c3 bl 805432c if(menupos == DiagHP_IDT) 808afa6: 4b96 ldr r3, [pc, #600] ; (808b200 ) 808afa8: 781b ldrb r3, [r3, #0] 808afaa: b2db uxtb r3, r3 808afac: 2b0d cmp r3, #13 808afae: d15d bne.n 808b06c { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808afb0: 4994 ldr r1, [pc, #592] ; (808b204 ) 808afb2: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808afb6: f7c8 fbf9 bl 80537ac if(blk) 808afba: 4b93 ldr r3, [pc, #588] ; (808b208 ) 808afbc: 681b ldr r3, [r3, #0] 808afbe: 2b00 cmp r3, #0 808afc0: d00b beq.n 808afda LCD_DisplayString(198, LCD_LINE_7, (char *) pNUMS[idtHP]); 808afc2: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 808afc6: b2db uxtb r3, r3 808afc8: 461a mov r2, r3 808afca: 4b90 ldr r3, [pc, #576] ; (808b20c ) 808afcc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808afd0: 461a mov r2, r3 808afd2: 217a movs r1, #122 ; 0x7a 808afd4: 20c6 movs r0, #198 ; 0xc6 808afd6: f7c9 f991 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808afda: 498a ldr r1, [pc, #552] ; (808b204 ) 808afdc: 488c ldr r0, [pc, #560] ; (808b210 ) 808afde: f7c8 fbe5 bl 80537ac LCD_DisplayString(214, LCD_LINE_7, (char *) pNUMS[ietHP]); 808afe2: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 808afe6: b2db uxtb r3, r3 808afe8: 461a mov r2, r3 808afea: 4b88 ldr r3, [pc, #544] ; (808b20c ) 808afec: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808aff0: 461a mov r2, r3 808aff2: 217a movs r1, #122 ; 0x7a 808aff4: 20d6 movs r0, #214 ; 0xd6 808aff6: f7c9 f981 bl 80542fc LCD_DisplayString(230, LCD_LINE_7, (char *) pNUMS[iesHP]); 808affa: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 808affe: b2db uxtb r3, r3 808b000: 461a mov r2, r3 808b002: 4b82 ldr r3, [pc, #520] ; (808b20c ) 808b004: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b008: 461a mov r2, r3 808b00a: 217a movs r1, #122 ; 0x7a 808b00c: 20e6 movs r0, #230 ; 0xe6 808b00e: f7c9 f975 bl 80542fc LCD_DisplayString(246, LCD_LINE_7, (char *) pNUMS[iedHP]); 808b012: f897 33ce ldrb.w r3, [r7, #974] ; 0x3ce 808b016: b2db uxtb r3, r3 808b018: 461a mov r2, r3 808b01a: 4b7c ldr r3, [pc, #496] ; (808b20c ) 808b01c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b020: 461a mov r2, r3 808b022: 217a movs r1, #122 ; 0x7a 808b024: 20f6 movs r0, #246 ; 0xf6 808b026: f7c9 f969 bl 80542fc LCD_DisplayString(262, LCD_LINE_7, (char *) pNUMS[ieeHP]); 808b02a: f897 33cd ldrb.w r3, [r7, #973] ; 0x3cd 808b02e: b2db uxtb r3, r3 808b030: 461a mov r2, r3 808b032: 4b76 ldr r3, [pc, #472] ; (808b20c ) 808b034: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b038: 461a mov r2, r3 808b03a: 217a movs r1, #122 ; 0x7a 808b03c: f44f 7083 mov.w r0, #262 ; 0x106 808b040: f7c9 f95c bl 80542fc LCD_DisplayString(278, LCD_LINE_7, "."); 808b044: 4a73 ldr r2, [pc, #460] ; (808b214 ) 808b046: 217a movs r1, #122 ; 0x7a 808b048: f44f 708b mov.w r0, #278 ; 0x116 808b04c: f7c9 f956 bl 80542fc LCD_DisplayString(294, LCD_LINE_7, (char *) pNUMS[ikdHP]); 808b050: f897 33cc ldrb.w r3, [r7, #972] ; 0x3cc 808b054: b2db uxtb r3, r3 808b056: 461a mov r2, r3 808b058: 4b6c ldr r3, [pc, #432] ; (808b20c ) 808b05a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b05e: 461a mov r2, r3 808b060: 217a movs r1, #122 ; 0x7a 808b062: f44f 7093 mov.w r0, #294 ; 0x126 808b066: f7c9 f949 bl 80542fc 808b06a: e1fd b.n 808b468 } else if(menupos == DiagHP_IET) 808b06c: 4b64 ldr r3, [pc, #400] ; (808b200 ) 808b06e: 781b ldrb r3, [r3, #0] 808b070: b2db uxtb r3, r3 808b072: 2b0e cmp r3, #14 808b074: d15d bne.n 808b132 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808b076: 4963 ldr r1, [pc, #396] ; (808b204 ) 808b078: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808b07c: f7c8 fb96 bl 80537ac if(blk) 808b080: 4b61 ldr r3, [pc, #388] ; (808b208 ) 808b082: 681b ldr r3, [r3, #0] 808b084: 2b00 cmp r3, #0 808b086: d00b beq.n 808b0a0 LCD_DisplayString(214, LCD_LINE_7, (char *) pNUMS[ietHP]); 808b088: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 808b08c: b2db uxtb r3, r3 808b08e: 461a mov r2, r3 808b090: 4b5e ldr r3, [pc, #376] ; (808b20c ) 808b092: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b096: 461a mov r2, r3 808b098: 217a movs r1, #122 ; 0x7a 808b09a: 20d6 movs r0, #214 ; 0xd6 808b09c: f7c9 f92e bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808b0a0: 4958 ldr r1, [pc, #352] ; (808b204 ) 808b0a2: 485b ldr r0, [pc, #364] ; (808b210 ) 808b0a4: f7c8 fb82 bl 80537ac LCD_DisplayString(198, LCD_LINE_7, (char *) pNUMS[idtHP]); 808b0a8: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 808b0ac: b2db uxtb r3, r3 808b0ae: 461a mov r2, r3 808b0b0: 4b56 ldr r3, [pc, #344] ; (808b20c ) 808b0b2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b0b6: 461a mov r2, r3 808b0b8: 217a movs r1, #122 ; 0x7a 808b0ba: 20c6 movs r0, #198 ; 0xc6 808b0bc: f7c9 f91e bl 80542fc LCD_DisplayString(230, LCD_LINE_7, (char *) pNUMS[iesHP]); 808b0c0: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 808b0c4: b2db uxtb r3, r3 808b0c6: 461a mov r2, r3 808b0c8: 4b50 ldr r3, [pc, #320] ; (808b20c ) 808b0ca: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b0ce: 461a mov r2, r3 808b0d0: 217a movs r1, #122 ; 0x7a 808b0d2: 20e6 movs r0, #230 ; 0xe6 808b0d4: f7c9 f912 bl 80542fc LCD_DisplayString(246, LCD_LINE_7, (char *) pNUMS[iedHP]); 808b0d8: f897 33ce ldrb.w r3, [r7, #974] ; 0x3ce 808b0dc: b2db uxtb r3, r3 808b0de: 461a mov r2, r3 808b0e0: 4b4a ldr r3, [pc, #296] ; (808b20c ) 808b0e2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b0e6: 461a mov r2, r3 808b0e8: 217a movs r1, #122 ; 0x7a 808b0ea: 20f6 movs r0, #246 ; 0xf6 808b0ec: f7c9 f906 bl 80542fc LCD_DisplayString(262, LCD_LINE_7, (char *) pNUMS[ieeHP]); 808b0f0: f897 33cd ldrb.w r3, [r7, #973] ; 0x3cd 808b0f4: b2db uxtb r3, r3 808b0f6: 461a mov r2, r3 808b0f8: 4b44 ldr r3, [pc, #272] ; (808b20c ) 808b0fa: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b0fe: 461a mov r2, r3 808b100: 217a movs r1, #122 ; 0x7a 808b102: f44f 7083 mov.w r0, #262 ; 0x106 808b106: f7c9 f8f9 bl 80542fc LCD_DisplayString(278, LCD_LINE_7, "."); 808b10a: 4a42 ldr r2, [pc, #264] ; (808b214 ) 808b10c: 217a movs r1, #122 ; 0x7a 808b10e: f44f 708b mov.w r0, #278 ; 0x116 808b112: f7c9 f8f3 bl 80542fc LCD_DisplayString(294, LCD_LINE_7, (char *) pNUMS[ikdHP]); 808b116: f897 33cc ldrb.w r3, [r7, #972] ; 0x3cc 808b11a: b2db uxtb r3, r3 808b11c: 461a mov r2, r3 808b11e: 4b3b ldr r3, [pc, #236] ; (808b20c ) 808b120: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b124: 461a mov r2, r3 808b126: 217a movs r1, #122 ; 0x7a 808b128: f44f 7093 mov.w r0, #294 ; 0x126 808b12c: f7c9 f8e6 bl 80542fc 808b130: e19a b.n 808b468 } else if(menupos == DiagHP_IES) 808b132: 4b33 ldr r3, [pc, #204] ; (808b200 ) 808b134: 781b ldrb r3, [r3, #0] 808b136: b2db uxtb r3, r3 808b138: 2b0f cmp r3, #15 808b13a: d16d bne.n 808b218 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808b13c: 4931 ldr r1, [pc, #196] ; (808b204 ) 808b13e: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808b142: f7c8 fb33 bl 80537ac if(blk) 808b146: 4b30 ldr r3, [pc, #192] ; (808b208 ) 808b148: 681b ldr r3, [r3, #0] 808b14a: 2b00 cmp r3, #0 808b14c: d00b beq.n 808b166 LCD_DisplayString(230, LCD_LINE_7, (char *) pNUMS[iesHP]); 808b14e: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 808b152: b2db uxtb r3, r3 808b154: 461a mov r2, r3 808b156: 4b2d ldr r3, [pc, #180] ; (808b20c ) 808b158: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b15c: 461a mov r2, r3 808b15e: 217a movs r1, #122 ; 0x7a 808b160: 20e6 movs r0, #230 ; 0xe6 808b162: f7c9 f8cb bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808b166: 4927 ldr r1, [pc, #156] ; (808b204 ) 808b168: 4829 ldr r0, [pc, #164] ; (808b210 ) 808b16a: f7c8 fb1f bl 80537ac LCD_DisplayString(198, LCD_LINE_7, (char *) pNUMS[idtHP]); 808b16e: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 808b172: b2db uxtb r3, r3 808b174: 461a mov r2, r3 808b176: 4b25 ldr r3, [pc, #148] ; (808b20c ) 808b178: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b17c: 461a mov r2, r3 808b17e: 217a movs r1, #122 ; 0x7a 808b180: 20c6 movs r0, #198 ; 0xc6 808b182: f7c9 f8bb bl 80542fc LCD_DisplayString(214, LCD_LINE_7, (char *) pNUMS[ietHP]); 808b186: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 808b18a: b2db uxtb r3, r3 808b18c: 461a mov r2, r3 808b18e: 4b1f ldr r3, [pc, #124] ; (808b20c ) 808b190: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b194: 461a mov r2, r3 808b196: 217a movs r1, #122 ; 0x7a 808b198: 20d6 movs r0, #214 ; 0xd6 808b19a: f7c9 f8af bl 80542fc LCD_DisplayString(246, LCD_LINE_7, (char *) pNUMS[iedHP]); 808b19e: f897 33ce ldrb.w r3, [r7, #974] ; 0x3ce 808b1a2: b2db uxtb r3, r3 808b1a4: 461a mov r2, r3 808b1a6: 4b19 ldr r3, [pc, #100] ; (808b20c ) 808b1a8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b1ac: 461a mov r2, r3 808b1ae: 217a movs r1, #122 ; 0x7a 808b1b0: 20f6 movs r0, #246 ; 0xf6 808b1b2: f7c9 f8a3 bl 80542fc LCD_DisplayString(262, LCD_LINE_7, (char *) pNUMS[ieeHP]); 808b1b6: f897 33cd ldrb.w r3, [r7, #973] ; 0x3cd 808b1ba: b2db uxtb r3, r3 808b1bc: 461a mov r2, r3 808b1be: 4b13 ldr r3, [pc, #76] ; (808b20c ) 808b1c0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b1c4: 461a mov r2, r3 808b1c6: 217a movs r1, #122 ; 0x7a 808b1c8: f44f 7083 mov.w r0, #262 ; 0x106 808b1cc: f7c9 f896 bl 80542fc LCD_DisplayString(278, LCD_LINE_7, "."); 808b1d0: 4a10 ldr r2, [pc, #64] ; (808b214 ) 808b1d2: 217a movs r1, #122 ; 0x7a 808b1d4: f44f 708b mov.w r0, #278 ; 0x116 808b1d8: f7c9 f890 bl 80542fc LCD_DisplayString(294, LCD_LINE_7, (char *) pNUMS[ikdHP]); 808b1dc: f897 33cc ldrb.w r3, [r7, #972] ; 0x3cc 808b1e0: b2db uxtb r3, r3 808b1e2: 461a mov r2, r3 808b1e4: 4b09 ldr r3, [pc, #36] ; (808b20c ) 808b1e6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b1ea: 461a mov r2, r3 808b1ec: 217a movs r1, #122 ; 0x7a 808b1ee: f44f 7093 mov.w r0, #294 ; 0x126 808b1f2: f7c9 f883 bl 80542fc 808b1f6: e137 b.n 808b468 808b1f8: 20023e60 .word 0x20023e60 808b1fc: 200202bc .word 0x200202bc 808b200: 20020070 .word 0x20020070 808b204: ff0a0f1f .word 0xff0a0f1f 808b208: 2002165c .word 0x2002165c 808b20c: 20020964 .word 0x20020964 808b210: ffd8aa57 .word 0xffd8aa57 808b214: 080cf7e8 .word 0x080cf7e8 } else if(menupos == DiagHP_IED) 808b218: 4bc5 ldr r3, [pc, #788] ; (808b530 ) 808b21a: 781b ldrb r3, [r3, #0] 808b21c: b2db uxtb r3, r3 808b21e: 2b10 cmp r3, #16 808b220: d15d bne.n 808b2de { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808b222: 49c4 ldr r1, [pc, #784] ; (808b534 ) 808b224: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808b228: f7c8 fac0 bl 80537ac if(blk) 808b22c: 4bc2 ldr r3, [pc, #776] ; (808b538 ) 808b22e: 681b ldr r3, [r3, #0] 808b230: 2b00 cmp r3, #0 808b232: d00b beq.n 808b24c LCD_DisplayString(246, LCD_LINE_7, (char *) pNUMS[iedHP]); 808b234: f897 33ce ldrb.w r3, [r7, #974] ; 0x3ce 808b238: b2db uxtb r3, r3 808b23a: 461a mov r2, r3 808b23c: 4bbf ldr r3, [pc, #764] ; (808b53c ) 808b23e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b242: 461a mov r2, r3 808b244: 217a movs r1, #122 ; 0x7a 808b246: 20f6 movs r0, #246 ; 0xf6 808b248: f7c9 f858 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808b24c: 49b9 ldr r1, [pc, #740] ; (808b534 ) 808b24e: 48bc ldr r0, [pc, #752] ; (808b540 ) 808b250: f7c8 faac bl 80537ac LCD_DisplayString(198, LCD_LINE_7, (char *) pNUMS[idtHP]); 808b254: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 808b258: b2db uxtb r3, r3 808b25a: 461a mov r2, r3 808b25c: 4bb7 ldr r3, [pc, #732] ; (808b53c ) 808b25e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b262: 461a mov r2, r3 808b264: 217a movs r1, #122 ; 0x7a 808b266: 20c6 movs r0, #198 ; 0xc6 808b268: f7c9 f848 bl 80542fc LCD_DisplayString(214, LCD_LINE_7, (char *) pNUMS[ietHP]); 808b26c: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 808b270: b2db uxtb r3, r3 808b272: 461a mov r2, r3 808b274: 4bb1 ldr r3, [pc, #708] ; (808b53c ) 808b276: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b27a: 461a mov r2, r3 808b27c: 217a movs r1, #122 ; 0x7a 808b27e: 20d6 movs r0, #214 ; 0xd6 808b280: f7c9 f83c bl 80542fc LCD_DisplayString(230, LCD_LINE_7, (char *) pNUMS[iesHP]); 808b284: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 808b288: b2db uxtb r3, r3 808b28a: 461a mov r2, r3 808b28c: 4bab ldr r3, [pc, #684] ; (808b53c ) 808b28e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b292: 461a mov r2, r3 808b294: 217a movs r1, #122 ; 0x7a 808b296: 20e6 movs r0, #230 ; 0xe6 808b298: f7c9 f830 bl 80542fc LCD_DisplayString(262, LCD_LINE_7, (char *) pNUMS[ieeHP]); 808b29c: f897 33cd ldrb.w r3, [r7, #973] ; 0x3cd 808b2a0: b2db uxtb r3, r3 808b2a2: 461a mov r2, r3 808b2a4: 4ba5 ldr r3, [pc, #660] ; (808b53c ) 808b2a6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b2aa: 461a mov r2, r3 808b2ac: 217a movs r1, #122 ; 0x7a 808b2ae: f44f 7083 mov.w r0, #262 ; 0x106 808b2b2: f7c9 f823 bl 80542fc LCD_DisplayString(278, LCD_LINE_7, "."); 808b2b6: 4aa3 ldr r2, [pc, #652] ; (808b544 ) 808b2b8: 217a movs r1, #122 ; 0x7a 808b2ba: f44f 708b mov.w r0, #278 ; 0x116 808b2be: f7c9 f81d bl 80542fc LCD_DisplayString(294, LCD_LINE_7, (char *) pNUMS[ikdHP]); 808b2c2: f897 33cc ldrb.w r3, [r7, #972] ; 0x3cc 808b2c6: b2db uxtb r3, r3 808b2c8: 461a mov r2, r3 808b2ca: 4b9c ldr r3, [pc, #624] ; (808b53c ) 808b2cc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b2d0: 461a mov r2, r3 808b2d2: 217a movs r1, #122 ; 0x7a 808b2d4: f44f 7093 mov.w r0, #294 ; 0x126 808b2d8: f7c9 f810 bl 80542fc 808b2dc: e0c4 b.n 808b468 } else if(menupos == DiagHP_IEE) 808b2de: 4b94 ldr r3, [pc, #592] ; (808b530 ) 808b2e0: 781b ldrb r3, [r3, #0] 808b2e2: b2db uxtb r3, r3 808b2e4: 2b11 cmp r3, #17 808b2e6: d15d bne.n 808b3a4 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808b2e8: 4992 ldr r1, [pc, #584] ; (808b534 ) 808b2ea: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808b2ee: f7c8 fa5d bl 80537ac if(blk) 808b2f2: 4b91 ldr r3, [pc, #580] ; (808b538 ) 808b2f4: 681b ldr r3, [r3, #0] 808b2f6: 2b00 cmp r3, #0 808b2f8: d00c beq.n 808b314 LCD_DisplayString(262, LCD_LINE_7, (char *) pNUMS[ieeHP]); 808b2fa: f897 33cd ldrb.w r3, [r7, #973] ; 0x3cd 808b2fe: b2db uxtb r3, r3 808b300: 461a mov r2, r3 808b302: 4b8e ldr r3, [pc, #568] ; (808b53c ) 808b304: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b308: 461a mov r2, r3 808b30a: 217a movs r1, #122 ; 0x7a 808b30c: f44f 7083 mov.w r0, #262 ; 0x106 808b310: f7c8 fff4 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808b314: 4987 ldr r1, [pc, #540] ; (808b534 ) 808b316: 488a ldr r0, [pc, #552] ; (808b540 ) 808b318: f7c8 fa48 bl 80537ac LCD_DisplayString(198, LCD_LINE_7, (char *) pNUMS[idtHP]); 808b31c: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 808b320: b2db uxtb r3, r3 808b322: 461a mov r2, r3 808b324: 4b85 ldr r3, [pc, #532] ; (808b53c ) 808b326: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b32a: 461a mov r2, r3 808b32c: 217a movs r1, #122 ; 0x7a 808b32e: 20c6 movs r0, #198 ; 0xc6 808b330: f7c8 ffe4 bl 80542fc LCD_DisplayString(214, LCD_LINE_7, (char *) pNUMS[ietHP]); 808b334: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 808b338: b2db uxtb r3, r3 808b33a: 461a mov r2, r3 808b33c: 4b7f ldr r3, [pc, #508] ; (808b53c ) 808b33e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b342: 461a mov r2, r3 808b344: 217a movs r1, #122 ; 0x7a 808b346: 20d6 movs r0, #214 ; 0xd6 808b348: f7c8 ffd8 bl 80542fc LCD_DisplayString(230, LCD_LINE_7, (char *) pNUMS[iesHP]); 808b34c: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 808b350: b2db uxtb r3, r3 808b352: 461a mov r2, r3 808b354: 4b79 ldr r3, [pc, #484] ; (808b53c ) 808b356: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b35a: 461a mov r2, r3 808b35c: 217a movs r1, #122 ; 0x7a 808b35e: 20e6 movs r0, #230 ; 0xe6 808b360: f7c8 ffcc bl 80542fc LCD_DisplayString(246, LCD_LINE_7, (char *) pNUMS[iedHP]); 808b364: f897 33ce ldrb.w r3, [r7, #974] ; 0x3ce 808b368: b2db uxtb r3, r3 808b36a: 461a mov r2, r3 808b36c: 4b73 ldr r3, [pc, #460] ; (808b53c ) 808b36e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b372: 461a mov r2, r3 808b374: 217a movs r1, #122 ; 0x7a 808b376: 20f6 movs r0, #246 ; 0xf6 808b378: f7c8 ffc0 bl 80542fc LCD_DisplayString(278, LCD_LINE_7, "."); 808b37c: 4a71 ldr r2, [pc, #452] ; (808b544 ) 808b37e: 217a movs r1, #122 ; 0x7a 808b380: f44f 708b mov.w r0, #278 ; 0x116 808b384: f7c8 ffba bl 80542fc LCD_DisplayString(294, LCD_LINE_7, (char *) pNUMS[ikdHP]); 808b388: f897 33cc ldrb.w r3, [r7, #972] ; 0x3cc 808b38c: b2db uxtb r3, r3 808b38e: 461a mov r2, r3 808b390: 4b6a ldr r3, [pc, #424] ; (808b53c ) 808b392: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b396: 461a mov r2, r3 808b398: 217a movs r1, #122 ; 0x7a 808b39a: f44f 7093 mov.w r0, #294 ; 0x126 808b39e: f7c8 ffad bl 80542fc 808b3a2: e061 b.n 808b468 } else if(menupos == DiagHP_IKD) 808b3a4: 4b62 ldr r3, [pc, #392] ; (808b530 ) 808b3a6: 781b ldrb r3, [r3, #0] 808b3a8: b2db uxtb r3, r3 808b3aa: 2b12 cmp r3, #18 808b3ac: d15c bne.n 808b468 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808b3ae: 4961 ldr r1, [pc, #388] ; (808b534 ) 808b3b0: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808b3b4: f7c8 f9fa bl 80537ac if(blk) 808b3b8: 4b5f ldr r3, [pc, #380] ; (808b538 ) 808b3ba: 681b ldr r3, [r3, #0] 808b3bc: 2b00 cmp r3, #0 808b3be: d00c beq.n 808b3da LCD_DisplayString(294, LCD_LINE_7, (char *) pNUMS[ikdHP]); 808b3c0: f897 33cc ldrb.w r3, [r7, #972] ; 0x3cc 808b3c4: b2db uxtb r3, r3 808b3c6: 461a mov r2, r3 808b3c8: 4b5c ldr r3, [pc, #368] ; (808b53c ) 808b3ca: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b3ce: 461a mov r2, r3 808b3d0: 217a movs r1, #122 ; 0x7a 808b3d2: f44f 7093 mov.w r0, #294 ; 0x126 808b3d6: f7c8 ff91 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808b3da: 4956 ldr r1, [pc, #344] ; (808b534 ) 808b3dc: 4858 ldr r0, [pc, #352] ; (808b540 ) 808b3de: f7c8 f9e5 bl 80537ac LCD_DisplayString(198, LCD_LINE_7, (char *) pNUMS[idtHP]); 808b3e2: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 808b3e6: b2db uxtb r3, r3 808b3e8: 461a mov r2, r3 808b3ea: 4b54 ldr r3, [pc, #336] ; (808b53c ) 808b3ec: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b3f0: 461a mov r2, r3 808b3f2: 217a movs r1, #122 ; 0x7a 808b3f4: 20c6 movs r0, #198 ; 0xc6 808b3f6: f7c8 ff81 bl 80542fc LCD_DisplayString(214, LCD_LINE_7, (char *) pNUMS[ietHP]); 808b3fa: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 808b3fe: b2db uxtb r3, r3 808b400: 461a mov r2, r3 808b402: 4b4e ldr r3, [pc, #312] ; (808b53c ) 808b404: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b408: 461a mov r2, r3 808b40a: 217a movs r1, #122 ; 0x7a 808b40c: 20d6 movs r0, #214 ; 0xd6 808b40e: f7c8 ff75 bl 80542fc LCD_DisplayString(230, LCD_LINE_7, (char *) pNUMS[iesHP]); 808b412: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 808b416: b2db uxtb r3, r3 808b418: 461a mov r2, r3 808b41a: 4b48 ldr r3, [pc, #288] ; (808b53c ) 808b41c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b420: 461a mov r2, r3 808b422: 217a movs r1, #122 ; 0x7a 808b424: 20e6 movs r0, #230 ; 0xe6 808b426: f7c8 ff69 bl 80542fc LCD_DisplayString(246, LCD_LINE_7, (char *) pNUMS[iedHP]); 808b42a: f897 33ce ldrb.w r3, [r7, #974] ; 0x3ce 808b42e: b2db uxtb r3, r3 808b430: 461a mov r2, r3 808b432: 4b42 ldr r3, [pc, #264] ; (808b53c ) 808b434: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b438: 461a mov r2, r3 808b43a: 217a movs r1, #122 ; 0x7a 808b43c: 20f6 movs r0, #246 ; 0xf6 808b43e: f7c8 ff5d bl 80542fc LCD_DisplayString(262, LCD_LINE_7, (char *) pNUMS[ieeHP]); 808b442: f897 33cd ldrb.w r3, [r7, #973] ; 0x3cd 808b446: b2db uxtb r3, r3 808b448: 461a mov r2, r3 808b44a: 4b3c ldr r3, [pc, #240] ; (808b53c ) 808b44c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b450: 461a mov r2, r3 808b452: 217a movs r1, #122 ; 0x7a 808b454: f44f 7083 mov.w r0, #262 ; 0x106 808b458: f7c8 ff50 bl 80542fc LCD_DisplayString(278, LCD_LINE_7, "."); 808b45c: 4a39 ldr r2, [pc, #228] ; (808b544 ) 808b45e: 217a movs r1, #122 ; 0x7a 808b460: f44f 708b mov.w r0, #278 ; 0x116 808b464: f7c8 ff4a bl 80542fc } //LP if(menupos == DiagLP_IDT) 808b468: 4b31 ldr r3, [pc, #196] ; (808b530 ) 808b46a: 781b ldrb r3, [r3, #0] 808b46c: b2db uxtb r3, r3 808b46e: 2b13 cmp r3, #19 808b470: d16a bne.n 808b548 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808b472: 4930 ldr r1, [pc, #192] ; (808b534 ) 808b474: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808b478: f7c8 f998 bl 80537ac if(blk) 808b47c: 4b2e ldr r3, [pc, #184] ; (808b538 ) 808b47e: 681b ldr r3, [r3, #0] 808b480: 2b00 cmp r3, #0 808b482: d00b beq.n 808b49c LCD_DisplayString(198, LCD_LINE_8, (char *) pNUMS[idtLP]); 808b484: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 808b488: b2db uxtb r3, r3 808b48a: 461a mov r2, r3 808b48c: 4b2b ldr r3, [pc, #172] ; (808b53c ) 808b48e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b492: 461a mov r2, r3 808b494: 218a movs r1, #138 ; 0x8a 808b496: 20c6 movs r0, #198 ; 0xc6 808b498: f7c8 ff30 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808b49c: 4925 ldr r1, [pc, #148] ; (808b534 ) 808b49e: 4828 ldr r0, [pc, #160] ; (808b540 ) 808b4a0: f7c8 f984 bl 80537ac LCD_DisplayString(214, LCD_LINE_8, (char *) pNUMS[ietLP]); 808b4a4: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 808b4a8: b2db uxtb r3, r3 808b4aa: 461a mov r2, r3 808b4ac: 4b23 ldr r3, [pc, #140] ; (808b53c ) 808b4ae: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b4b2: 461a mov r2, r3 808b4b4: 218a movs r1, #138 ; 0x8a 808b4b6: 20d6 movs r0, #214 ; 0xd6 808b4b8: f7c8 ff20 bl 80542fc LCD_DisplayString(230, LCD_LINE_8, (char *) pNUMS[iesLP]); 808b4bc: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 808b4c0: b2db uxtb r3, r3 808b4c2: 461a mov r2, r3 808b4c4: 4b1d ldr r3, [pc, #116] ; (808b53c ) 808b4c6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b4ca: 461a mov r2, r3 808b4cc: 218a movs r1, #138 ; 0x8a 808b4ce: 20e6 movs r0, #230 ; 0xe6 808b4d0: f7c8 ff14 bl 80542fc LCD_DisplayString(246, LCD_LINE_8, (char *) pNUMS[iedLP]); 808b4d4: f897 33c7 ldrb.w r3, [r7, #967] ; 0x3c7 808b4d8: b2db uxtb r3, r3 808b4da: 461a mov r2, r3 808b4dc: 4b17 ldr r3, [pc, #92] ; (808b53c ) 808b4de: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b4e2: 461a mov r2, r3 808b4e4: 218a movs r1, #138 ; 0x8a 808b4e6: 20f6 movs r0, #246 ; 0xf6 808b4e8: f7c8 ff08 bl 80542fc LCD_DisplayString(262, LCD_LINE_8, (char *) pNUMS[ieeLP]); 808b4ec: f897 33c6 ldrb.w r3, [r7, #966] ; 0x3c6 808b4f0: b2db uxtb r3, r3 808b4f2: 461a mov r2, r3 808b4f4: 4b11 ldr r3, [pc, #68] ; (808b53c ) 808b4f6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b4fa: 461a mov r2, r3 808b4fc: 218a movs r1, #138 ; 0x8a 808b4fe: f44f 7083 mov.w r0, #262 ; 0x106 808b502: f7c8 fefb bl 80542fc LCD_DisplayString(278, LCD_LINE_8, "."); 808b506: 4a0f ldr r2, [pc, #60] ; (808b544 ) 808b508: 218a movs r1, #138 ; 0x8a 808b50a: f44f 708b mov.w r0, #278 ; 0x116 808b50e: f7c8 fef5 bl 80542fc LCD_DisplayString(294, LCD_LINE_8, (char *) pNUMS[ikdLP]); 808b512: f897 33c5 ldrb.w r3, [r7, #965] ; 0x3c5 808b516: b2db uxtb r3, r3 808b518: 461a mov r2, r3 808b51a: 4b08 ldr r3, [pc, #32] ; (808b53c ) 808b51c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b520: 461a mov r2, r3 808b522: 218a movs r1, #138 ; 0x8a 808b524: f44f 7093 mov.w r0, #294 ; 0x126 808b528: f7c8 fee8 bl 80542fc 808b52c: e206 b.n 808b93c 808b52e: bf00 nop 808b530: 20020070 .word 0x20020070 808b534: ff0a0f1f .word 0xff0a0f1f 808b538: 2002165c .word 0x2002165c 808b53c: 20020964 .word 0x20020964 808b540: ffd8aa57 .word 0xffd8aa57 808b544: 080cf7e8 .word 0x080cf7e8 } else if(menupos == DiagLP_IET) 808b548: 4bc5 ldr r3, [pc, #788] ; (808b860 ) 808b54a: 781b ldrb r3, [r3, #0] 808b54c: b2db uxtb r3, r3 808b54e: 2b14 cmp r3, #20 808b550: d15d bne.n 808b60e { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808b552: 49c4 ldr r1, [pc, #784] ; (808b864 ) 808b554: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808b558: f7c8 f928 bl 80537ac if(blk) 808b55c: 4bc2 ldr r3, [pc, #776] ; (808b868 ) 808b55e: 681b ldr r3, [r3, #0] 808b560: 2b00 cmp r3, #0 808b562: d00b beq.n 808b57c LCD_DisplayString(214, LCD_LINE_8, (char *) pNUMS[ietLP]); 808b564: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 808b568: b2db uxtb r3, r3 808b56a: 461a mov r2, r3 808b56c: 4bbf ldr r3, [pc, #764] ; (808b86c ) 808b56e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b572: 461a mov r2, r3 808b574: 218a movs r1, #138 ; 0x8a 808b576: 20d6 movs r0, #214 ; 0xd6 808b578: f7c8 fec0 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808b57c: 49b9 ldr r1, [pc, #740] ; (808b864 ) 808b57e: 48bc ldr r0, [pc, #752] ; (808b870 ) 808b580: f7c8 f914 bl 80537ac LCD_DisplayString(198, LCD_LINE_8, (char *) pNUMS[idtLP]); 808b584: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 808b588: b2db uxtb r3, r3 808b58a: 461a mov r2, r3 808b58c: 4bb7 ldr r3, [pc, #732] ; (808b86c ) 808b58e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b592: 461a mov r2, r3 808b594: 218a movs r1, #138 ; 0x8a 808b596: 20c6 movs r0, #198 ; 0xc6 808b598: f7c8 feb0 bl 80542fc LCD_DisplayString(230, LCD_LINE_8, (char *) pNUMS[iesLP]); 808b59c: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 808b5a0: b2db uxtb r3, r3 808b5a2: 461a mov r2, r3 808b5a4: 4bb1 ldr r3, [pc, #708] ; (808b86c ) 808b5a6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b5aa: 461a mov r2, r3 808b5ac: 218a movs r1, #138 ; 0x8a 808b5ae: 20e6 movs r0, #230 ; 0xe6 808b5b0: f7c8 fea4 bl 80542fc LCD_DisplayString(246, LCD_LINE_8, (char *) pNUMS[iedLP]); 808b5b4: f897 33c7 ldrb.w r3, [r7, #967] ; 0x3c7 808b5b8: b2db uxtb r3, r3 808b5ba: 461a mov r2, r3 808b5bc: 4bab ldr r3, [pc, #684] ; (808b86c ) 808b5be: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b5c2: 461a mov r2, r3 808b5c4: 218a movs r1, #138 ; 0x8a 808b5c6: 20f6 movs r0, #246 ; 0xf6 808b5c8: f7c8 fe98 bl 80542fc LCD_DisplayString(262, LCD_LINE_8, (char *) pNUMS[ieeLP]); 808b5cc: f897 33c6 ldrb.w r3, [r7, #966] ; 0x3c6 808b5d0: b2db uxtb r3, r3 808b5d2: 461a mov r2, r3 808b5d4: 4ba5 ldr r3, [pc, #660] ; (808b86c ) 808b5d6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b5da: 461a mov r2, r3 808b5dc: 218a movs r1, #138 ; 0x8a 808b5de: f44f 7083 mov.w r0, #262 ; 0x106 808b5e2: f7c8 fe8b bl 80542fc LCD_DisplayString(278, LCD_LINE_8, "."); 808b5e6: 4aa3 ldr r2, [pc, #652] ; (808b874 ) 808b5e8: 218a movs r1, #138 ; 0x8a 808b5ea: f44f 708b mov.w r0, #278 ; 0x116 808b5ee: f7c8 fe85 bl 80542fc LCD_DisplayString(294, LCD_LINE_8, (char *) pNUMS[ikdLP]); 808b5f2: f897 33c5 ldrb.w r3, [r7, #965] ; 0x3c5 808b5f6: b2db uxtb r3, r3 808b5f8: 461a mov r2, r3 808b5fa: 4b9c ldr r3, [pc, #624] ; (808b86c ) 808b5fc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b600: 461a mov r2, r3 808b602: 218a movs r1, #138 ; 0x8a 808b604: f44f 7093 mov.w r0, #294 ; 0x126 808b608: f7c8 fe78 bl 80542fc 808b60c: e196 b.n 808b93c } else if(menupos == DiagLP_IES) 808b60e: 4b94 ldr r3, [pc, #592] ; (808b860 ) 808b610: 781b ldrb r3, [r3, #0] 808b612: b2db uxtb r3, r3 808b614: 2b15 cmp r3, #21 808b616: d15d bne.n 808b6d4 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808b618: 4992 ldr r1, [pc, #584] ; (808b864 ) 808b61a: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808b61e: f7c8 f8c5 bl 80537ac if(blk) 808b622: 4b91 ldr r3, [pc, #580] ; (808b868 ) 808b624: 681b ldr r3, [r3, #0] 808b626: 2b00 cmp r3, #0 808b628: d00b beq.n 808b642 LCD_DisplayString(230, LCD_LINE_8, (char *) pNUMS[iesLP]); 808b62a: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 808b62e: b2db uxtb r3, r3 808b630: 461a mov r2, r3 808b632: 4b8e ldr r3, [pc, #568] ; (808b86c ) 808b634: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b638: 461a mov r2, r3 808b63a: 218a movs r1, #138 ; 0x8a 808b63c: 20e6 movs r0, #230 ; 0xe6 808b63e: f7c8 fe5d bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808b642: 4988 ldr r1, [pc, #544] ; (808b864 ) 808b644: 488a ldr r0, [pc, #552] ; (808b870 ) 808b646: f7c8 f8b1 bl 80537ac LCD_DisplayString(198, LCD_LINE_8, (char *) pNUMS[idtLP]); 808b64a: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 808b64e: b2db uxtb r3, r3 808b650: 461a mov r2, r3 808b652: 4b86 ldr r3, [pc, #536] ; (808b86c ) 808b654: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b658: 461a mov r2, r3 808b65a: 218a movs r1, #138 ; 0x8a 808b65c: 20c6 movs r0, #198 ; 0xc6 808b65e: f7c8 fe4d bl 80542fc LCD_DisplayString(214, LCD_LINE_8, (char *) pNUMS[ietLP]); 808b662: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 808b666: b2db uxtb r3, r3 808b668: 461a mov r2, r3 808b66a: 4b80 ldr r3, [pc, #512] ; (808b86c ) 808b66c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b670: 461a mov r2, r3 808b672: 218a movs r1, #138 ; 0x8a 808b674: 20d6 movs r0, #214 ; 0xd6 808b676: f7c8 fe41 bl 80542fc LCD_DisplayString(246, LCD_LINE_8, (char *) pNUMS[iedLP]); 808b67a: f897 33c7 ldrb.w r3, [r7, #967] ; 0x3c7 808b67e: b2db uxtb r3, r3 808b680: 461a mov r2, r3 808b682: 4b7a ldr r3, [pc, #488] ; (808b86c ) 808b684: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b688: 461a mov r2, r3 808b68a: 218a movs r1, #138 ; 0x8a 808b68c: 20f6 movs r0, #246 ; 0xf6 808b68e: f7c8 fe35 bl 80542fc LCD_DisplayString(262, LCD_LINE_8, (char *) pNUMS[ieeLP]); 808b692: f897 33c6 ldrb.w r3, [r7, #966] ; 0x3c6 808b696: b2db uxtb r3, r3 808b698: 461a mov r2, r3 808b69a: 4b74 ldr r3, [pc, #464] ; (808b86c ) 808b69c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b6a0: 461a mov r2, r3 808b6a2: 218a movs r1, #138 ; 0x8a 808b6a4: f44f 7083 mov.w r0, #262 ; 0x106 808b6a8: f7c8 fe28 bl 80542fc LCD_DisplayString(278, LCD_LINE_8, "."); 808b6ac: 4a71 ldr r2, [pc, #452] ; (808b874 ) 808b6ae: 218a movs r1, #138 ; 0x8a 808b6b0: f44f 708b mov.w r0, #278 ; 0x116 808b6b4: f7c8 fe22 bl 80542fc LCD_DisplayString(294, LCD_LINE_8, (char *) pNUMS[ikdLP]); 808b6b8: f897 33c5 ldrb.w r3, [r7, #965] ; 0x3c5 808b6bc: b2db uxtb r3, r3 808b6be: 461a mov r2, r3 808b6c0: 4b6a ldr r3, [pc, #424] ; (808b86c ) 808b6c2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b6c6: 461a mov r2, r3 808b6c8: 218a movs r1, #138 ; 0x8a 808b6ca: f44f 7093 mov.w r0, #294 ; 0x126 808b6ce: f7c8 fe15 bl 80542fc 808b6d2: e133 b.n 808b93c } else if(menupos == DiagLP_IED) 808b6d4: 4b62 ldr r3, [pc, #392] ; (808b860 ) 808b6d6: 781b ldrb r3, [r3, #0] 808b6d8: b2db uxtb r3, r3 808b6da: 2b16 cmp r3, #22 808b6dc: d15d bne.n 808b79a { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808b6de: 4961 ldr r1, [pc, #388] ; (808b864 ) 808b6e0: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808b6e4: f7c8 f862 bl 80537ac if(blk) 808b6e8: 4b5f ldr r3, [pc, #380] ; (808b868 ) 808b6ea: 681b ldr r3, [r3, #0] 808b6ec: 2b00 cmp r3, #0 808b6ee: d00b beq.n 808b708 LCD_DisplayString(246, LCD_LINE_8, (char *) pNUMS[iedLP]); 808b6f0: f897 33c7 ldrb.w r3, [r7, #967] ; 0x3c7 808b6f4: b2db uxtb r3, r3 808b6f6: 461a mov r2, r3 808b6f8: 4b5c ldr r3, [pc, #368] ; (808b86c ) 808b6fa: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b6fe: 461a mov r2, r3 808b700: 218a movs r1, #138 ; 0x8a 808b702: 20f6 movs r0, #246 ; 0xf6 808b704: f7c8 fdfa bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808b708: 4956 ldr r1, [pc, #344] ; (808b864 ) 808b70a: 4859 ldr r0, [pc, #356] ; (808b870 ) 808b70c: f7c8 f84e bl 80537ac LCD_DisplayString(198, LCD_LINE_8, (char *) pNUMS[idtLP]); 808b710: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 808b714: b2db uxtb r3, r3 808b716: 461a mov r2, r3 808b718: 4b54 ldr r3, [pc, #336] ; (808b86c ) 808b71a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b71e: 461a mov r2, r3 808b720: 218a movs r1, #138 ; 0x8a 808b722: 20c6 movs r0, #198 ; 0xc6 808b724: f7c8 fdea bl 80542fc LCD_DisplayString(214, LCD_LINE_8, (char *) pNUMS[ietLP]); 808b728: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 808b72c: b2db uxtb r3, r3 808b72e: 461a mov r2, r3 808b730: 4b4e ldr r3, [pc, #312] ; (808b86c ) 808b732: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b736: 461a mov r2, r3 808b738: 218a movs r1, #138 ; 0x8a 808b73a: 20d6 movs r0, #214 ; 0xd6 808b73c: f7c8 fdde bl 80542fc LCD_DisplayString(230, LCD_LINE_8, (char *) pNUMS[iesLP]); 808b740: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 808b744: b2db uxtb r3, r3 808b746: 461a mov r2, r3 808b748: 4b48 ldr r3, [pc, #288] ; (808b86c ) 808b74a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b74e: 461a mov r2, r3 808b750: 218a movs r1, #138 ; 0x8a 808b752: 20e6 movs r0, #230 ; 0xe6 808b754: f7c8 fdd2 bl 80542fc LCD_DisplayString(262, LCD_LINE_8, (char *) pNUMS[ieeLP]); 808b758: f897 33c6 ldrb.w r3, [r7, #966] ; 0x3c6 808b75c: b2db uxtb r3, r3 808b75e: 461a mov r2, r3 808b760: 4b42 ldr r3, [pc, #264] ; (808b86c ) 808b762: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b766: 461a mov r2, r3 808b768: 218a movs r1, #138 ; 0x8a 808b76a: f44f 7083 mov.w r0, #262 ; 0x106 808b76e: f7c8 fdc5 bl 80542fc LCD_DisplayString(278, LCD_LINE_8, "."); 808b772: 4a40 ldr r2, [pc, #256] ; (808b874 ) 808b774: 218a movs r1, #138 ; 0x8a 808b776: f44f 708b mov.w r0, #278 ; 0x116 808b77a: f7c8 fdbf bl 80542fc LCD_DisplayString(294, LCD_LINE_8, (char *) pNUMS[ikdLP]); 808b77e: f897 33c5 ldrb.w r3, [r7, #965] ; 0x3c5 808b782: b2db uxtb r3, r3 808b784: 461a mov r2, r3 808b786: 4b39 ldr r3, [pc, #228] ; (808b86c ) 808b788: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b78c: 461a mov r2, r3 808b78e: 218a movs r1, #138 ; 0x8a 808b790: f44f 7093 mov.w r0, #294 ; 0x126 808b794: f7c8 fdb2 bl 80542fc 808b798: e0d0 b.n 808b93c } else if(menupos == DiagLP_IEE) 808b79a: 4b31 ldr r3, [pc, #196] ; (808b860 ) 808b79c: 781b ldrb r3, [r3, #0] 808b79e: b2db uxtb r3, r3 808b7a0: 2b17 cmp r3, #23 808b7a2: d169 bne.n 808b878 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808b7a4: 492f ldr r1, [pc, #188] ; (808b864 ) 808b7a6: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808b7aa: f7c7 ffff bl 80537ac if(blk) 808b7ae: 4b2e ldr r3, [pc, #184] ; (808b868 ) 808b7b0: 681b ldr r3, [r3, #0] 808b7b2: 2b00 cmp r3, #0 808b7b4: d00c beq.n 808b7d0 LCD_DisplayString(262, LCD_LINE_8, (char *) pNUMS[ieeLP]); 808b7b6: f897 33c6 ldrb.w r3, [r7, #966] ; 0x3c6 808b7ba: b2db uxtb r3, r3 808b7bc: 461a mov r2, r3 808b7be: 4b2b ldr r3, [pc, #172] ; (808b86c ) 808b7c0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b7c4: 461a mov r2, r3 808b7c6: 218a movs r1, #138 ; 0x8a 808b7c8: f44f 7083 mov.w r0, #262 ; 0x106 808b7cc: f7c8 fd96 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808b7d0: 4924 ldr r1, [pc, #144] ; (808b864 ) 808b7d2: 4827 ldr r0, [pc, #156] ; (808b870 ) 808b7d4: f7c7 ffea bl 80537ac LCD_DisplayString(198, LCD_LINE_8, (char *) pNUMS[idtLP]); 808b7d8: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 808b7dc: b2db uxtb r3, r3 808b7de: 461a mov r2, r3 808b7e0: 4b22 ldr r3, [pc, #136] ; (808b86c ) 808b7e2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b7e6: 461a mov r2, r3 808b7e8: 218a movs r1, #138 ; 0x8a 808b7ea: 20c6 movs r0, #198 ; 0xc6 808b7ec: f7c8 fd86 bl 80542fc LCD_DisplayString(214, LCD_LINE_8, (char *) pNUMS[ietLP]); 808b7f0: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 808b7f4: b2db uxtb r3, r3 808b7f6: 461a mov r2, r3 808b7f8: 4b1c ldr r3, [pc, #112] ; (808b86c ) 808b7fa: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b7fe: 461a mov r2, r3 808b800: 218a movs r1, #138 ; 0x8a 808b802: 20d6 movs r0, #214 ; 0xd6 808b804: f7c8 fd7a bl 80542fc LCD_DisplayString(230, LCD_LINE_8, (char *) pNUMS[iesLP]); 808b808: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 808b80c: b2db uxtb r3, r3 808b80e: 461a mov r2, r3 808b810: 4b16 ldr r3, [pc, #88] ; (808b86c ) 808b812: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b816: 461a mov r2, r3 808b818: 218a movs r1, #138 ; 0x8a 808b81a: 20e6 movs r0, #230 ; 0xe6 808b81c: f7c8 fd6e bl 80542fc LCD_DisplayString(246, LCD_LINE_8, (char *) pNUMS[iedLP]); 808b820: f897 33c7 ldrb.w r3, [r7, #967] ; 0x3c7 808b824: b2db uxtb r3, r3 808b826: 461a mov r2, r3 808b828: 4b10 ldr r3, [pc, #64] ; (808b86c ) 808b82a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b82e: 461a mov r2, r3 808b830: 218a movs r1, #138 ; 0x8a 808b832: 20f6 movs r0, #246 ; 0xf6 808b834: f7c8 fd62 bl 80542fc LCD_DisplayString(278, LCD_LINE_8, "."); 808b838: 4a0e ldr r2, [pc, #56] ; (808b874 ) 808b83a: 218a movs r1, #138 ; 0x8a 808b83c: f44f 708b mov.w r0, #278 ; 0x116 808b840: f7c8 fd5c bl 80542fc LCD_DisplayString(294, LCD_LINE_8, (char *) pNUMS[ikdLP]); 808b844: f897 33c5 ldrb.w r3, [r7, #965] ; 0x3c5 808b848: b2db uxtb r3, r3 808b84a: 461a mov r2, r3 808b84c: 4b07 ldr r3, [pc, #28] ; (808b86c ) 808b84e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b852: 461a mov r2, r3 808b854: 218a movs r1, #138 ; 0x8a 808b856: f44f 7093 mov.w r0, #294 ; 0x126 808b85a: f7c8 fd4f bl 80542fc 808b85e: e06d b.n 808b93c 808b860: 20020070 .word 0x20020070 808b864: ff0a0f1f .word 0xff0a0f1f 808b868: 2002165c .word 0x2002165c 808b86c: 20020964 .word 0x20020964 808b870: ffd8aa57 .word 0xffd8aa57 808b874: 080cf7e8 .word 0x080cf7e8 } else if(menupos == DiagLP_IKD) 808b878: 4bc5 ldr r3, [pc, #788] ; (808bb90 ) 808b87a: 781b ldrb r3, [r3, #0] 808b87c: b2db uxtb r3, r3 808b87e: 2b18 cmp r3, #24 808b880: d15c bne.n 808b93c { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808b882: 49c4 ldr r1, [pc, #784] ; (808bb94 ) 808b884: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808b888: f7c7 ff90 bl 80537ac if(blk) 808b88c: 4bc2 ldr r3, [pc, #776] ; (808bb98 ) 808b88e: 681b ldr r3, [r3, #0] 808b890: 2b00 cmp r3, #0 808b892: d00c beq.n 808b8ae LCD_DisplayString(294, LCD_LINE_8, (char *) pNUMS[ikdLP]); 808b894: f897 33c5 ldrb.w r3, [r7, #965] ; 0x3c5 808b898: b2db uxtb r3, r3 808b89a: 461a mov r2, r3 808b89c: 4bbf ldr r3, [pc, #764] ; (808bb9c ) 808b89e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b8a2: 461a mov r2, r3 808b8a4: 218a movs r1, #138 ; 0x8a 808b8a6: f44f 7093 mov.w r0, #294 ; 0x126 808b8aa: f7c8 fd27 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808b8ae: 49b9 ldr r1, [pc, #740] ; (808bb94 ) 808b8b0: 48bb ldr r0, [pc, #748] ; (808bba0 ) 808b8b2: f7c7 ff7b bl 80537ac LCD_DisplayString(198, LCD_LINE_8, (char *) pNUMS[idtLP]); 808b8b6: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 808b8ba: b2db uxtb r3, r3 808b8bc: 461a mov r2, r3 808b8be: 4bb7 ldr r3, [pc, #732] ; (808bb9c ) 808b8c0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b8c4: 461a mov r2, r3 808b8c6: 218a movs r1, #138 ; 0x8a 808b8c8: 20c6 movs r0, #198 ; 0xc6 808b8ca: f7c8 fd17 bl 80542fc LCD_DisplayString(214, LCD_LINE_8, (char *) pNUMS[ietLP]); 808b8ce: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 808b8d2: b2db uxtb r3, r3 808b8d4: 461a mov r2, r3 808b8d6: 4bb1 ldr r3, [pc, #708] ; (808bb9c ) 808b8d8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b8dc: 461a mov r2, r3 808b8de: 218a movs r1, #138 ; 0x8a 808b8e0: 20d6 movs r0, #214 ; 0xd6 808b8e2: f7c8 fd0b bl 80542fc LCD_DisplayString(230, LCD_LINE_8, (char *) pNUMS[iesLP]); 808b8e6: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 808b8ea: b2db uxtb r3, r3 808b8ec: 461a mov r2, r3 808b8ee: 4bab ldr r3, [pc, #684] ; (808bb9c ) 808b8f0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b8f4: 461a mov r2, r3 808b8f6: 218a movs r1, #138 ; 0x8a 808b8f8: 20e6 movs r0, #230 ; 0xe6 808b8fa: f7c8 fcff bl 80542fc LCD_DisplayString(246, LCD_LINE_8, (char *) pNUMS[iedLP]); 808b8fe: f897 33c7 ldrb.w r3, [r7, #967] ; 0x3c7 808b902: b2db uxtb r3, r3 808b904: 461a mov r2, r3 808b906: 4ba5 ldr r3, [pc, #660] ; (808bb9c ) 808b908: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b90c: 461a mov r2, r3 808b90e: 218a movs r1, #138 ; 0x8a 808b910: 20f6 movs r0, #246 ; 0xf6 808b912: f7c8 fcf3 bl 80542fc LCD_DisplayString(262, LCD_LINE_8, (char *) pNUMS[ieeLP]); 808b916: f897 33c6 ldrb.w r3, [r7, #966] ; 0x3c6 808b91a: b2db uxtb r3, r3 808b91c: 461a mov r2, r3 808b91e: 4b9f ldr r3, [pc, #636] ; (808bb9c ) 808b920: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b924: 461a mov r2, r3 808b926: 218a movs r1, #138 ; 0x8a 808b928: f44f 7083 mov.w r0, #262 ; 0x106 808b92c: f7c8 fce6 bl 80542fc LCD_DisplayString(278, LCD_LINE_8, "."); 808b930: 4a9c ldr r2, [pc, #624] ; (808bba4 ) 808b932: 218a movs r1, #138 ; 0x8a 808b934: f44f 708b mov.w r0, #278 ; 0x116 808b938: f7c8 fce0 bl 80542fc } //_W if(menupos == DiagW_IDT) 808b93c: 4b94 ldr r3, [pc, #592] ; (808bb90 ) 808b93e: 781b ldrb r3, [r3, #0] 808b940: b2db uxtb r3, r3 808b942: 2b19 cmp r3, #25 808b944: d15d bne.n 808ba02 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808b946: 4993 ldr r1, [pc, #588] ; (808bb94 ) 808b948: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808b94c: f7c7 ff2e bl 80537ac if(blk) 808b950: 4b91 ldr r3, [pc, #580] ; (808bb98 ) 808b952: 681b ldr r3, [r3, #0] 808b954: 2b00 cmp r3, #0 808b956: d00b beq.n 808b970 LCD_DisplayString(198, LCD_LINE_9, (char *) pNUMS[idt_W]); 808b958: f897 33c3 ldrb.w r3, [r7, #963] ; 0x3c3 808b95c: b2db uxtb r3, r3 808b95e: 461a mov r2, r3 808b960: 4b8e ldr r3, [pc, #568] ; (808bb9c ) 808b962: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b966: 461a mov r2, r3 808b968: 219a movs r1, #154 ; 0x9a 808b96a: 20c6 movs r0, #198 ; 0xc6 808b96c: f7c8 fcc6 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808b970: 4988 ldr r1, [pc, #544] ; (808bb94 ) 808b972: 488b ldr r0, [pc, #556] ; (808bba0 ) 808b974: f7c7 ff1a bl 80537ac LCD_DisplayString(214, LCD_LINE_9, (char *) pNUMS[iet_W]); 808b978: f897 33c2 ldrb.w r3, [r7, #962] ; 0x3c2 808b97c: b2db uxtb r3, r3 808b97e: 461a mov r2, r3 808b980: 4b86 ldr r3, [pc, #536] ; (808bb9c ) 808b982: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b986: 461a mov r2, r3 808b988: 219a movs r1, #154 ; 0x9a 808b98a: 20d6 movs r0, #214 ; 0xd6 808b98c: f7c8 fcb6 bl 80542fc LCD_DisplayString(230, LCD_LINE_9, (char *) pNUMS[ies_W]); 808b990: f897 33c1 ldrb.w r3, [r7, #961] ; 0x3c1 808b994: b2db uxtb r3, r3 808b996: 461a mov r2, r3 808b998: 4b80 ldr r3, [pc, #512] ; (808bb9c ) 808b99a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b99e: 461a mov r2, r3 808b9a0: 219a movs r1, #154 ; 0x9a 808b9a2: 20e6 movs r0, #230 ; 0xe6 808b9a4: f7c8 fcaa bl 80542fc LCD_DisplayString(246, LCD_LINE_9, (char *) pNUMS[ied_W]); 808b9a8: f897 33c0 ldrb.w r3, [r7, #960] ; 0x3c0 808b9ac: b2db uxtb r3, r3 808b9ae: 461a mov r2, r3 808b9b0: 4b7a ldr r3, [pc, #488] ; (808bb9c ) 808b9b2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b9b6: 461a mov r2, r3 808b9b8: 219a movs r1, #154 ; 0x9a 808b9ba: 20f6 movs r0, #246 ; 0xf6 808b9bc: f7c8 fc9e bl 80542fc LCD_DisplayString(262, LCD_LINE_9, (char *) pNUMS[iee_W]); 808b9c0: f897 33bf ldrb.w r3, [r7, #959] ; 0x3bf 808b9c4: b2db uxtb r3, r3 808b9c6: 461a mov r2, r3 808b9c8: 4b74 ldr r3, [pc, #464] ; (808bb9c ) 808b9ca: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b9ce: 461a mov r2, r3 808b9d0: 219a movs r1, #154 ; 0x9a 808b9d2: f44f 7083 mov.w r0, #262 ; 0x106 808b9d6: f7c8 fc91 bl 80542fc LCD_DisplayString(278, LCD_LINE_9, "."); 808b9da: 4a72 ldr r2, [pc, #456] ; (808bba4 ) 808b9dc: 219a movs r1, #154 ; 0x9a 808b9de: f44f 708b mov.w r0, #278 ; 0x116 808b9e2: f7c8 fc8b bl 80542fc LCD_DisplayString(294, LCD_LINE_9, (char *) pNUMS[ikd_W]); 808b9e6: f897 33be ldrb.w r3, [r7, #958] ; 0x3be 808b9ea: b2db uxtb r3, r3 808b9ec: 461a mov r2, r3 808b9ee: 4b6b ldr r3, [pc, #428] ; (808bb9c ) 808b9f0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b9f4: 461a mov r2, r3 808b9f6: 219a movs r1, #154 ; 0x9a 808b9f8: f44f 7093 mov.w r0, #294 ; 0x126 808b9fc: f7c8 fc7e bl 80542fc 808ba00: e1fa b.n 808bdf8 } else if(menupos == DiagW_IET) 808ba02: 4b63 ldr r3, [pc, #396] ; (808bb90 ) 808ba04: 781b ldrb r3, [r3, #0] 808ba06: b2db uxtb r3, r3 808ba08: 2b1a cmp r3, #26 808ba0a: d15d bne.n 808bac8 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808ba0c: 4961 ldr r1, [pc, #388] ; (808bb94 ) 808ba0e: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808ba12: f7c7 fecb bl 80537ac if(blk) 808ba16: 4b60 ldr r3, [pc, #384] ; (808bb98 ) 808ba18: 681b ldr r3, [r3, #0] 808ba1a: 2b00 cmp r3, #0 808ba1c: d00b beq.n 808ba36 LCD_DisplayString(214, LCD_LINE_9, (char *) pNUMS[iet_W]); 808ba1e: f897 33c2 ldrb.w r3, [r7, #962] ; 0x3c2 808ba22: b2db uxtb r3, r3 808ba24: 461a mov r2, r3 808ba26: 4b5d ldr r3, [pc, #372] ; (808bb9c ) 808ba28: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808ba2c: 461a mov r2, r3 808ba2e: 219a movs r1, #154 ; 0x9a 808ba30: 20d6 movs r0, #214 ; 0xd6 808ba32: f7c8 fc63 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808ba36: 4957 ldr r1, [pc, #348] ; (808bb94 ) 808ba38: 4859 ldr r0, [pc, #356] ; (808bba0 ) 808ba3a: f7c7 feb7 bl 80537ac LCD_DisplayString(198, LCD_LINE_9, (char *) pNUMS[idt_W]); 808ba3e: f897 33c3 ldrb.w r3, [r7, #963] ; 0x3c3 808ba42: b2db uxtb r3, r3 808ba44: 461a mov r2, r3 808ba46: 4b55 ldr r3, [pc, #340] ; (808bb9c ) 808ba48: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808ba4c: 461a mov r2, r3 808ba4e: 219a movs r1, #154 ; 0x9a 808ba50: 20c6 movs r0, #198 ; 0xc6 808ba52: f7c8 fc53 bl 80542fc LCD_DisplayString(230, LCD_LINE_9, (char *) pNUMS[ies_W]); 808ba56: f897 33c1 ldrb.w r3, [r7, #961] ; 0x3c1 808ba5a: b2db uxtb r3, r3 808ba5c: 461a mov r2, r3 808ba5e: 4b4f ldr r3, [pc, #316] ; (808bb9c ) 808ba60: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808ba64: 461a mov r2, r3 808ba66: 219a movs r1, #154 ; 0x9a 808ba68: 20e6 movs r0, #230 ; 0xe6 808ba6a: f7c8 fc47 bl 80542fc LCD_DisplayString(246, LCD_LINE_9, (char *) pNUMS[ied_W]); 808ba6e: f897 33c0 ldrb.w r3, [r7, #960] ; 0x3c0 808ba72: b2db uxtb r3, r3 808ba74: 461a mov r2, r3 808ba76: 4b49 ldr r3, [pc, #292] ; (808bb9c ) 808ba78: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808ba7c: 461a mov r2, r3 808ba7e: 219a movs r1, #154 ; 0x9a 808ba80: 20f6 movs r0, #246 ; 0xf6 808ba82: f7c8 fc3b bl 80542fc LCD_DisplayString(262, LCD_LINE_9, (char *) pNUMS[iee_W]); 808ba86: f897 33bf ldrb.w r3, [r7, #959] ; 0x3bf 808ba8a: b2db uxtb r3, r3 808ba8c: 461a mov r2, r3 808ba8e: 4b43 ldr r3, [pc, #268] ; (808bb9c ) 808ba90: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808ba94: 461a mov r2, r3 808ba96: 219a movs r1, #154 ; 0x9a 808ba98: f44f 7083 mov.w r0, #262 ; 0x106 808ba9c: f7c8 fc2e bl 80542fc LCD_DisplayString(278, LCD_LINE_9, "."); 808baa0: 4a40 ldr r2, [pc, #256] ; (808bba4 ) 808baa2: 219a movs r1, #154 ; 0x9a 808baa4: f44f 708b mov.w r0, #278 ; 0x116 808baa8: f7c8 fc28 bl 80542fc LCD_DisplayString(294, LCD_LINE_9, (char *) pNUMS[ikd_W]); 808baac: f897 33be ldrb.w r3, [r7, #958] ; 0x3be 808bab0: b2db uxtb r3, r3 808bab2: 461a mov r2, r3 808bab4: 4b39 ldr r3, [pc, #228] ; (808bb9c ) 808bab6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808baba: 461a mov r2, r3 808babc: 219a movs r1, #154 ; 0x9a 808babe: f44f 7093 mov.w r0, #294 ; 0x126 808bac2: f7c8 fc1b bl 80542fc 808bac6: e197 b.n 808bdf8 } else if(menupos == DiagW_IES) 808bac8: 4b31 ldr r3, [pc, #196] ; (808bb90 ) 808baca: 781b ldrb r3, [r3, #0] 808bacc: b2db uxtb r3, r3 808bace: 2b1b cmp r3, #27 808bad0: d16a bne.n 808bba8 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808bad2: 4930 ldr r1, [pc, #192] ; (808bb94 ) 808bad4: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808bad8: f7c7 fe68 bl 80537ac if(blk) 808badc: 4b2e ldr r3, [pc, #184] ; (808bb98 ) 808bade: 681b ldr r3, [r3, #0] 808bae0: 2b00 cmp r3, #0 808bae2: d00b beq.n 808bafc LCD_DisplayString(230, LCD_LINE_9, (char *) pNUMS[ies_W]); 808bae4: f897 33c1 ldrb.w r3, [r7, #961] ; 0x3c1 808bae8: b2db uxtb r3, r3 808baea: 461a mov r2, r3 808baec: 4b2b ldr r3, [pc, #172] ; (808bb9c ) 808baee: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808baf2: 461a mov r2, r3 808baf4: 219a movs r1, #154 ; 0x9a 808baf6: 20e6 movs r0, #230 ; 0xe6 808baf8: f7c8 fc00 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808bafc: 4925 ldr r1, [pc, #148] ; (808bb94 ) 808bafe: 4828 ldr r0, [pc, #160] ; (808bba0 ) 808bb00: f7c7 fe54 bl 80537ac LCD_DisplayString(198, LCD_LINE_9, (char *) pNUMS[idt_W]); 808bb04: f897 33c3 ldrb.w r3, [r7, #963] ; 0x3c3 808bb08: b2db uxtb r3, r3 808bb0a: 461a mov r2, r3 808bb0c: 4b23 ldr r3, [pc, #140] ; (808bb9c ) 808bb0e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808bb12: 461a mov r2, r3 808bb14: 219a movs r1, #154 ; 0x9a 808bb16: 20c6 movs r0, #198 ; 0xc6 808bb18: f7c8 fbf0 bl 80542fc LCD_DisplayString(214, LCD_LINE_9, (char *) pNUMS[iet_W]); 808bb1c: f897 33c2 ldrb.w r3, [r7, #962] ; 0x3c2 808bb20: b2db uxtb r3, r3 808bb22: 461a mov r2, r3 808bb24: 4b1d ldr r3, [pc, #116] ; (808bb9c ) 808bb26: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808bb2a: 461a mov r2, r3 808bb2c: 219a movs r1, #154 ; 0x9a 808bb2e: 20d6 movs r0, #214 ; 0xd6 808bb30: f7c8 fbe4 bl 80542fc LCD_DisplayString(246, LCD_LINE_9, (char *) pNUMS[ied_W]); 808bb34: f897 33c0 ldrb.w r3, [r7, #960] ; 0x3c0 808bb38: b2db uxtb r3, r3 808bb3a: 461a mov r2, r3 808bb3c: 4b17 ldr r3, [pc, #92] ; (808bb9c ) 808bb3e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808bb42: 461a mov r2, r3 808bb44: 219a movs r1, #154 ; 0x9a 808bb46: 20f6 movs r0, #246 ; 0xf6 808bb48: f7c8 fbd8 bl 80542fc LCD_DisplayString(262, LCD_LINE_9, (char *) pNUMS[iee_W]); 808bb4c: f897 33bf ldrb.w r3, [r7, #959] ; 0x3bf 808bb50: b2db uxtb r3, r3 808bb52: 461a mov r2, r3 808bb54: 4b11 ldr r3, [pc, #68] ; (808bb9c ) 808bb56: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808bb5a: 461a mov r2, r3 808bb5c: 219a movs r1, #154 ; 0x9a 808bb5e: f44f 7083 mov.w r0, #262 ; 0x106 808bb62: f7c8 fbcb bl 80542fc LCD_DisplayString(278, LCD_LINE_9, "."); 808bb66: 4a0f ldr r2, [pc, #60] ; (808bba4 ) 808bb68: 219a movs r1, #154 ; 0x9a 808bb6a: f44f 708b mov.w r0, #278 ; 0x116 808bb6e: f7c8 fbc5 bl 80542fc LCD_DisplayString(294, LCD_LINE_9, (char *) pNUMS[ikd_W]); 808bb72: f897 33be ldrb.w r3, [r7, #958] ; 0x3be 808bb76: b2db uxtb r3, r3 808bb78: 461a mov r2, r3 808bb7a: 4b08 ldr r3, [pc, #32] ; (808bb9c ) 808bb7c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808bb80: 461a mov r2, r3 808bb82: 219a movs r1, #154 ; 0x9a 808bb84: f44f 7093 mov.w r0, #294 ; 0x126 808bb88: f7c8 fbb8 bl 80542fc 808bb8c: e134 b.n 808bdf8 808bb8e: bf00 nop 808bb90: 20020070 .word 0x20020070 808bb94: ff0a0f1f .word 0xff0a0f1f 808bb98: 2002165c .word 0x2002165c 808bb9c: 20020964 .word 0x20020964 808bba0: ffd8aa57 .word 0xffd8aa57 808bba4: 080cf7e8 .word 0x080cf7e8 } else if(menupos == DiagW_IED) 808bba8: 4bc5 ldr r3, [pc, #788] ; (808bec0 ) 808bbaa: 781b ldrb r3, [r3, #0] 808bbac: b2db uxtb r3, r3 808bbae: 2b1c cmp r3, #28 808bbb0: d15d bne.n 808bc6e { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808bbb2: 49c4 ldr r1, [pc, #784] ; (808bec4 ) 808bbb4: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808bbb8: f7c7 fdf8 bl 80537ac if(blk) 808bbbc: 4bc2 ldr r3, [pc, #776] ; (808bec8 ) 808bbbe: 681b ldr r3, [r3, #0] 808bbc0: 2b00 cmp r3, #0 808bbc2: d00b beq.n 808bbdc LCD_DisplayString(246, LCD_LINE_9, (char *) pNUMS[ied_W]); 808bbc4: f897 33c0 ldrb.w r3, [r7, #960] ; 0x3c0 808bbc8: b2db uxtb r3, r3 808bbca: 461a mov r2, r3 808bbcc: 4bbf ldr r3, [pc, #764] ; (808becc ) 808bbce: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808bbd2: 461a mov r2, r3 808bbd4: 219a movs r1, #154 ; 0x9a 808bbd6: 20f6 movs r0, #246 ; 0xf6 808bbd8: f7c8 fb90 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808bbdc: 49b9 ldr r1, [pc, #740] ; (808bec4 ) 808bbde: 48bc ldr r0, [pc, #752] ; (808bed0 ) 808bbe0: f7c7 fde4 bl 80537ac LCD_DisplayString(198, LCD_LINE_9, (char *) pNUMS[idt_W]); 808bbe4: f897 33c3 ldrb.w r3, [r7, #963] ; 0x3c3 808bbe8: b2db uxtb r3, r3 808bbea: 461a mov r2, r3 808bbec: 4bb7 ldr r3, [pc, #732] ; (808becc ) 808bbee: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808bbf2: 461a mov r2, r3 808bbf4: 219a movs r1, #154 ; 0x9a 808bbf6: 20c6 movs r0, #198 ; 0xc6 808bbf8: f7c8 fb80 bl 80542fc LCD_DisplayString(214, LCD_LINE_9, (char *) pNUMS[iet_W]); 808bbfc: f897 33c2 ldrb.w r3, [r7, #962] ; 0x3c2 808bc00: b2db uxtb r3, r3 808bc02: 461a mov r2, r3 808bc04: 4bb1 ldr r3, [pc, #708] ; (808becc ) 808bc06: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808bc0a: 461a mov r2, r3 808bc0c: 219a movs r1, #154 ; 0x9a 808bc0e: 20d6 movs r0, #214 ; 0xd6 808bc10: f7c8 fb74 bl 80542fc LCD_DisplayString(230, LCD_LINE_9, (char *) pNUMS[ies_W]); 808bc14: f897 33c1 ldrb.w r3, [r7, #961] ; 0x3c1 808bc18: b2db uxtb r3, r3 808bc1a: 461a mov r2, r3 808bc1c: 4bab ldr r3, [pc, #684] ; (808becc ) 808bc1e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808bc22: 461a mov r2, r3 808bc24: 219a movs r1, #154 ; 0x9a 808bc26: 20e6 movs r0, #230 ; 0xe6 808bc28: f7c8 fb68 bl 80542fc LCD_DisplayString(262, LCD_LINE_9, (char *) pNUMS[iee_W]); 808bc2c: f897 33bf ldrb.w r3, [r7, #959] ; 0x3bf 808bc30: b2db uxtb r3, r3 808bc32: 461a mov r2, r3 808bc34: 4ba5 ldr r3, [pc, #660] ; (808becc ) 808bc36: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808bc3a: 461a mov r2, r3 808bc3c: 219a movs r1, #154 ; 0x9a 808bc3e: f44f 7083 mov.w r0, #262 ; 0x106 808bc42: f7c8 fb5b bl 80542fc LCD_DisplayString(278, LCD_LINE_9, "."); 808bc46: 4aa3 ldr r2, [pc, #652] ; (808bed4 ) 808bc48: 219a movs r1, #154 ; 0x9a 808bc4a: f44f 708b mov.w r0, #278 ; 0x116 808bc4e: f7c8 fb55 bl 80542fc LCD_DisplayString(294, LCD_LINE_9, (char *) pNUMS[ikd_W]); 808bc52: f897 33be ldrb.w r3, [r7, #958] ; 0x3be 808bc56: b2db uxtb r3, r3 808bc58: 461a mov r2, r3 808bc5a: 4b9c ldr r3, [pc, #624] ; (808becc ) 808bc5c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808bc60: 461a mov r2, r3 808bc62: 219a movs r1, #154 ; 0x9a 808bc64: f44f 7093 mov.w r0, #294 ; 0x126 808bc68: f7c8 fb48 bl 80542fc 808bc6c: e0c4 b.n 808bdf8 } else if(menupos == DiagW_IEE) 808bc6e: 4b94 ldr r3, [pc, #592] ; (808bec0 ) 808bc70: 781b ldrb r3, [r3, #0] 808bc72: b2db uxtb r3, r3 808bc74: 2b1d cmp r3, #29 808bc76: d15d bne.n 808bd34 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808bc78: 4992 ldr r1, [pc, #584] ; (808bec4 ) 808bc7a: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808bc7e: f7c7 fd95 bl 80537ac if(blk) 808bc82: 4b91 ldr r3, [pc, #580] ; (808bec8 ) 808bc84: 681b ldr r3, [r3, #0] 808bc86: 2b00 cmp r3, #0 808bc88: d00c beq.n 808bca4 LCD_DisplayString(262, LCD_LINE_9, (char *) pNUMS[iee_W]); 808bc8a: f897 33bf ldrb.w r3, [r7, #959] ; 0x3bf 808bc8e: b2db uxtb r3, r3 808bc90: 461a mov r2, r3 808bc92: 4b8e ldr r3, [pc, #568] ; (808becc ) 808bc94: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808bc98: 461a mov r2, r3 808bc9a: 219a movs r1, #154 ; 0x9a 808bc9c: f44f 7083 mov.w r0, #262 ; 0x106 808bca0: f7c8 fb2c bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808bca4: 4987 ldr r1, [pc, #540] ; (808bec4 ) 808bca6: 488a ldr r0, [pc, #552] ; (808bed0 ) 808bca8: f7c7 fd80 bl 80537ac LCD_DisplayString(198, LCD_LINE_9, (char *) pNUMS[idt_W]); 808bcac: f897 33c3 ldrb.w r3, [r7, #963] ; 0x3c3 808bcb0: b2db uxtb r3, r3 808bcb2: 461a mov r2, r3 808bcb4: 4b85 ldr r3, [pc, #532] ; (808becc ) 808bcb6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808bcba: 461a mov r2, r3 808bcbc: 219a movs r1, #154 ; 0x9a 808bcbe: 20c6 movs r0, #198 ; 0xc6 808bcc0: f7c8 fb1c bl 80542fc LCD_DisplayString(214, LCD_LINE_9, (char *) pNUMS[iet_W]); 808bcc4: f897 33c2 ldrb.w r3, [r7, #962] ; 0x3c2 808bcc8: b2db uxtb r3, r3 808bcca: 461a mov r2, r3 808bccc: 4b7f ldr r3, [pc, #508] ; (808becc ) 808bcce: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808bcd2: 461a mov r2, r3 808bcd4: 219a movs r1, #154 ; 0x9a 808bcd6: 20d6 movs r0, #214 ; 0xd6 808bcd8: f7c8 fb10 bl 80542fc LCD_DisplayString(230, LCD_LINE_9, (char *) pNUMS[ies_W]); 808bcdc: f897 33c1 ldrb.w r3, [r7, #961] ; 0x3c1 808bce0: b2db uxtb r3, r3 808bce2: 461a mov r2, r3 808bce4: 4b79 ldr r3, [pc, #484] ; (808becc ) 808bce6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808bcea: 461a mov r2, r3 808bcec: 219a movs r1, #154 ; 0x9a 808bcee: 20e6 movs r0, #230 ; 0xe6 808bcf0: f7c8 fb04 bl 80542fc LCD_DisplayString(246, LCD_LINE_9, (char *) pNUMS[ied_W]); 808bcf4: f897 33c0 ldrb.w r3, [r7, #960] ; 0x3c0 808bcf8: b2db uxtb r3, r3 808bcfa: 461a mov r2, r3 808bcfc: 4b73 ldr r3, [pc, #460] ; (808becc ) 808bcfe: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808bd02: 461a mov r2, r3 808bd04: 219a movs r1, #154 ; 0x9a 808bd06: 20f6 movs r0, #246 ; 0xf6 808bd08: f7c8 faf8 bl 80542fc LCD_DisplayString(278, LCD_LINE_9, "."); 808bd0c: 4a71 ldr r2, [pc, #452] ; (808bed4 ) 808bd0e: 219a movs r1, #154 ; 0x9a 808bd10: f44f 708b mov.w r0, #278 ; 0x116 808bd14: f7c8 faf2 bl 80542fc LCD_DisplayString(294, LCD_LINE_9, (char *) pNUMS[ikd_W]); 808bd18: f897 33be ldrb.w r3, [r7, #958] ; 0x3be 808bd1c: b2db uxtb r3, r3 808bd1e: 461a mov r2, r3 808bd20: 4b6a ldr r3, [pc, #424] ; (808becc ) 808bd22: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808bd26: 461a mov r2, r3 808bd28: 219a movs r1, #154 ; 0x9a 808bd2a: f44f 7093 mov.w r0, #294 ; 0x126 808bd2e: f7c8 fae5 bl 80542fc 808bd32: e061 b.n 808bdf8 } else if(menupos == DiagW_IKD) 808bd34: 4b62 ldr r3, [pc, #392] ; (808bec0 ) 808bd36: 781b ldrb r3, [r3, #0] 808bd38: b2db uxtb r3, r3 808bd3a: 2b1e cmp r3, #30 808bd3c: d15c bne.n 808bdf8 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808bd3e: 4961 ldr r1, [pc, #388] ; (808bec4 ) 808bd40: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808bd44: f7c7 fd32 bl 80537ac if(blk) 808bd48: 4b5f ldr r3, [pc, #380] ; (808bec8 ) 808bd4a: 681b ldr r3, [r3, #0] 808bd4c: 2b00 cmp r3, #0 808bd4e: d00c beq.n 808bd6a LCD_DisplayString(294, LCD_LINE_9, (char *) pNUMS[ikd_W]); 808bd50: f897 33be ldrb.w r3, [r7, #958] ; 0x3be 808bd54: b2db uxtb r3, r3 808bd56: 461a mov r2, r3 808bd58: 4b5c ldr r3, [pc, #368] ; (808becc ) 808bd5a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808bd5e: 461a mov r2, r3 808bd60: 219a movs r1, #154 ; 0x9a 808bd62: f44f 7093 mov.w r0, #294 ; 0x126 808bd66: f7c8 fac9 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808bd6a: 4956 ldr r1, [pc, #344] ; (808bec4 ) 808bd6c: 4858 ldr r0, [pc, #352] ; (808bed0 ) 808bd6e: f7c7 fd1d bl 80537ac LCD_DisplayString(198, LCD_LINE_9, (char *) pNUMS[idt_W]); 808bd72: f897 33c3 ldrb.w r3, [r7, #963] ; 0x3c3 808bd76: b2db uxtb r3, r3 808bd78: 461a mov r2, r3 808bd7a: 4b54 ldr r3, [pc, #336] ; (808becc ) 808bd7c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808bd80: 461a mov r2, r3 808bd82: 219a movs r1, #154 ; 0x9a 808bd84: 20c6 movs r0, #198 ; 0xc6 808bd86: f7c8 fab9 bl 80542fc LCD_DisplayString(214, LCD_LINE_9, (char *) pNUMS[iet_W]); 808bd8a: f897 33c2 ldrb.w r3, [r7, #962] ; 0x3c2 808bd8e: b2db uxtb r3, r3 808bd90: 461a mov r2, r3 808bd92: 4b4e ldr r3, [pc, #312] ; (808becc ) 808bd94: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808bd98: 461a mov r2, r3 808bd9a: 219a movs r1, #154 ; 0x9a 808bd9c: 20d6 movs r0, #214 ; 0xd6 808bd9e: f7c8 faad bl 80542fc LCD_DisplayString(230, LCD_LINE_9, (char *) pNUMS[ies_W]); 808bda2: f897 33c1 ldrb.w r3, [r7, #961] ; 0x3c1 808bda6: b2db uxtb r3, r3 808bda8: 461a mov r2, r3 808bdaa: 4b48 ldr r3, [pc, #288] ; (808becc ) 808bdac: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808bdb0: 461a mov r2, r3 808bdb2: 219a movs r1, #154 ; 0x9a 808bdb4: 20e6 movs r0, #230 ; 0xe6 808bdb6: f7c8 faa1 bl 80542fc LCD_DisplayString(246, LCD_LINE_9, (char *) pNUMS[ied_W]); 808bdba: f897 33c0 ldrb.w r3, [r7, #960] ; 0x3c0 808bdbe: b2db uxtb r3, r3 808bdc0: 461a mov r2, r3 808bdc2: 4b42 ldr r3, [pc, #264] ; (808becc ) 808bdc4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808bdc8: 461a mov r2, r3 808bdca: 219a movs r1, #154 ; 0x9a 808bdcc: 20f6 movs r0, #246 ; 0xf6 808bdce: f7c8 fa95 bl 80542fc LCD_DisplayString(262, LCD_LINE_9, (char *) pNUMS[iee_W]); 808bdd2: f897 33bf ldrb.w r3, [r7, #959] ; 0x3bf 808bdd6: b2db uxtb r3, r3 808bdd8: 461a mov r2, r3 808bdda: 4b3c ldr r3, [pc, #240] ; (808becc ) 808bddc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808bde0: 461a mov r2, r3 808bde2: 219a movs r1, #154 ; 0x9a 808bde4: f44f 7083 mov.w r0, #262 ; 0x106 808bde8: f7c8 fa88 bl 80542fc LCD_DisplayString(278, LCD_LINE_9, "."); 808bdec: 4a39 ldr r2, [pc, #228] ; (808bed4 ) 808bdee: 219a movs r1, #154 ; 0x9a 808bdf0: f44f 708b mov.w r0, #278 ; 0x116 808bdf4: f7c8 fa82 bl 80542fc } //_A if(menupos == DiagA_IDT) 808bdf8: 4b31 ldr r3, [pc, #196] ; (808bec0 ) 808bdfa: 781b ldrb r3, [r3, #0] 808bdfc: b2db uxtb r3, r3 808bdfe: 2b1f cmp r3, #31 808be00: d16a bne.n 808bed8 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808be02: 4930 ldr r1, [pc, #192] ; (808bec4 ) 808be04: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808be08: f7c7 fcd0 bl 80537ac if(blk) 808be0c: 4b2e ldr r3, [pc, #184] ; (808bec8 ) 808be0e: 681b ldr r3, [r3, #0] 808be10: 2b00 cmp r3, #0 808be12: d00b beq.n 808be2c LCD_DisplayString(198, LCD_LINE_10, (char *) pNUMS[idt_A]); 808be14: f897 33bc ldrb.w r3, [r7, #956] ; 0x3bc 808be18: b2db uxtb r3, r3 808be1a: 461a mov r2, r3 808be1c: 4b2b ldr r3, [pc, #172] ; (808becc ) 808be1e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808be22: 461a mov r2, r3 808be24: 21aa movs r1, #170 ; 0xaa 808be26: 20c6 movs r0, #198 ; 0xc6 808be28: f7c8 fa68 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808be2c: 4925 ldr r1, [pc, #148] ; (808bec4 ) 808be2e: 4828 ldr r0, [pc, #160] ; (808bed0 ) 808be30: f7c7 fcbc bl 80537ac LCD_DisplayString(214, LCD_LINE_10, (char *) pNUMS[iet_A]); 808be34: f897 33bb ldrb.w r3, [r7, #955] ; 0x3bb 808be38: b2db uxtb r3, r3 808be3a: 461a mov r2, r3 808be3c: 4b23 ldr r3, [pc, #140] ; (808becc ) 808be3e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808be42: 461a mov r2, r3 808be44: 21aa movs r1, #170 ; 0xaa 808be46: 20d6 movs r0, #214 ; 0xd6 808be48: f7c8 fa58 bl 80542fc LCD_DisplayString(230, LCD_LINE_10, (char *) pNUMS[ies_A]); 808be4c: f897 33ba ldrb.w r3, [r7, #954] ; 0x3ba 808be50: b2db uxtb r3, r3 808be52: 461a mov r2, r3 808be54: 4b1d ldr r3, [pc, #116] ; (808becc ) 808be56: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808be5a: 461a mov r2, r3 808be5c: 21aa movs r1, #170 ; 0xaa 808be5e: 20e6 movs r0, #230 ; 0xe6 808be60: f7c8 fa4c bl 80542fc LCD_DisplayString(246, LCD_LINE_10, (char *) pNUMS[ied_A]); 808be64: f897 33b9 ldrb.w r3, [r7, #953] ; 0x3b9 808be68: b2db uxtb r3, r3 808be6a: 461a mov r2, r3 808be6c: 4b17 ldr r3, [pc, #92] ; (808becc ) 808be6e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808be72: 461a mov r2, r3 808be74: 21aa movs r1, #170 ; 0xaa 808be76: 20f6 movs r0, #246 ; 0xf6 808be78: f7c8 fa40 bl 80542fc LCD_DisplayString(262, LCD_LINE_10, (char *) pNUMS[iee_A]); 808be7c: f897 33b8 ldrb.w r3, [r7, #952] ; 0x3b8 808be80: b2db uxtb r3, r3 808be82: 461a mov r2, r3 808be84: 4b11 ldr r3, [pc, #68] ; (808becc ) 808be86: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808be8a: 461a mov r2, r3 808be8c: 21aa movs r1, #170 ; 0xaa 808be8e: f44f 7083 mov.w r0, #262 ; 0x106 808be92: f7c8 fa33 bl 80542fc LCD_DisplayString(278, LCD_LINE_10, "."); 808be96: 4a0f ldr r2, [pc, #60] ; (808bed4 ) 808be98: 21aa movs r1, #170 ; 0xaa 808be9a: f44f 708b mov.w r0, #278 ; 0x116 808be9e: f7c8 fa2d bl 80542fc LCD_DisplayString(294, LCD_LINE_10, (char *) pNUMS[ikd_A]); 808bea2: f897 33b7 ldrb.w r3, [r7, #951] ; 0x3b7 808bea6: b2db uxtb r3, r3 808bea8: 461a mov r2, r3 808beaa: 4b08 ldr r3, [pc, #32] ; (808becc ) 808beac: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808beb0: 461a mov r2, r3 808beb2: 21aa movs r1, #170 ; 0xaa 808beb4: f44f 7093 mov.w r0, #294 ; 0x126 808beb8: f7c8 fa20 bl 80542fc 808bebc: e206 b.n 808c2cc 808bebe: bf00 nop 808bec0: 20020070 .word 0x20020070 808bec4: ff0a0f1f .word 0xff0a0f1f 808bec8: 2002165c .word 0x2002165c 808becc: 20020964 .word 0x20020964 808bed0: ffd8aa57 .word 0xffd8aa57 808bed4: 080cf7e8 .word 0x080cf7e8 } else if(menupos == DiagA_IET) 808bed8: 4bc5 ldr r3, [pc, #788] ; (808c1f0 ) 808beda: 781b ldrb r3, [r3, #0] 808bedc: b2db uxtb r3, r3 808bede: 2b20 cmp r3, #32 808bee0: d15d bne.n 808bf9e { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808bee2: 49c4 ldr r1, [pc, #784] ; (808c1f4 ) 808bee4: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808bee8: f7c7 fc60 bl 80537ac if(blk) 808beec: 4bc2 ldr r3, [pc, #776] ; (808c1f8 ) 808beee: 681b ldr r3, [r3, #0] 808bef0: 2b00 cmp r3, #0 808bef2: d00b beq.n 808bf0c LCD_DisplayString(214, LCD_LINE_10, (char *) pNUMS[iet_A]); 808bef4: f897 33bb ldrb.w r3, [r7, #955] ; 0x3bb 808bef8: b2db uxtb r3, r3 808befa: 461a mov r2, r3 808befc: 4bbf ldr r3, [pc, #764] ; (808c1fc ) 808befe: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808bf02: 461a mov r2, r3 808bf04: 21aa movs r1, #170 ; 0xaa 808bf06: 20d6 movs r0, #214 ; 0xd6 808bf08: f7c8 f9f8 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808bf0c: 49b9 ldr r1, [pc, #740] ; (808c1f4 ) 808bf0e: 48bc ldr r0, [pc, #752] ; (808c200 ) 808bf10: f7c7 fc4c bl 80537ac LCD_DisplayString(198, LCD_LINE_10, (char *) pNUMS[idt_A]); 808bf14: f897 33bc ldrb.w r3, [r7, #956] ; 0x3bc 808bf18: b2db uxtb r3, r3 808bf1a: 461a mov r2, r3 808bf1c: 4bb7 ldr r3, [pc, #732] ; (808c1fc ) 808bf1e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808bf22: 461a mov r2, r3 808bf24: 21aa movs r1, #170 ; 0xaa 808bf26: 20c6 movs r0, #198 ; 0xc6 808bf28: f7c8 f9e8 bl 80542fc LCD_DisplayString(230, LCD_LINE_10, (char *) pNUMS[ies_A]); 808bf2c: f897 33ba ldrb.w r3, [r7, #954] ; 0x3ba 808bf30: b2db uxtb r3, r3 808bf32: 461a mov r2, r3 808bf34: 4bb1 ldr r3, [pc, #708] ; (808c1fc ) 808bf36: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808bf3a: 461a mov r2, r3 808bf3c: 21aa movs r1, #170 ; 0xaa 808bf3e: 20e6 movs r0, #230 ; 0xe6 808bf40: f7c8 f9dc bl 80542fc LCD_DisplayString(246, LCD_LINE_10, (char *) pNUMS[ied_A]); 808bf44: f897 33b9 ldrb.w r3, [r7, #953] ; 0x3b9 808bf48: b2db uxtb r3, r3 808bf4a: 461a mov r2, r3 808bf4c: 4bab ldr r3, [pc, #684] ; (808c1fc ) 808bf4e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808bf52: 461a mov r2, r3 808bf54: 21aa movs r1, #170 ; 0xaa 808bf56: 20f6 movs r0, #246 ; 0xf6 808bf58: f7c8 f9d0 bl 80542fc LCD_DisplayString(262, LCD_LINE_10, (char *) pNUMS[iee_A]); 808bf5c: f897 33b8 ldrb.w r3, [r7, #952] ; 0x3b8 808bf60: b2db uxtb r3, r3 808bf62: 461a mov r2, r3 808bf64: 4ba5 ldr r3, [pc, #660] ; (808c1fc ) 808bf66: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808bf6a: 461a mov r2, r3 808bf6c: 21aa movs r1, #170 ; 0xaa 808bf6e: f44f 7083 mov.w r0, #262 ; 0x106 808bf72: f7c8 f9c3 bl 80542fc LCD_DisplayString(278, LCD_LINE_10, "."); 808bf76: 4aa3 ldr r2, [pc, #652] ; (808c204 ) 808bf78: 21aa movs r1, #170 ; 0xaa 808bf7a: f44f 708b mov.w r0, #278 ; 0x116 808bf7e: f7c8 f9bd bl 80542fc LCD_DisplayString(294, LCD_LINE_10, (char *) pNUMS[ikd_A]); 808bf82: f897 33b7 ldrb.w r3, [r7, #951] ; 0x3b7 808bf86: b2db uxtb r3, r3 808bf88: 461a mov r2, r3 808bf8a: 4b9c ldr r3, [pc, #624] ; (808c1fc ) 808bf8c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808bf90: 461a mov r2, r3 808bf92: 21aa movs r1, #170 ; 0xaa 808bf94: f44f 7093 mov.w r0, #294 ; 0x126 808bf98: f7c8 f9b0 bl 80542fc 808bf9c: e196 b.n 808c2cc } else if(menupos == DiagA_IES) 808bf9e: 4b94 ldr r3, [pc, #592] ; (808c1f0 ) 808bfa0: 781b ldrb r3, [r3, #0] 808bfa2: b2db uxtb r3, r3 808bfa4: 2b21 cmp r3, #33 ; 0x21 808bfa6: d15d bne.n 808c064 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808bfa8: 4992 ldr r1, [pc, #584] ; (808c1f4 ) 808bfaa: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808bfae: f7c7 fbfd bl 80537ac if(blk) 808bfb2: 4b91 ldr r3, [pc, #580] ; (808c1f8 ) 808bfb4: 681b ldr r3, [r3, #0] 808bfb6: 2b00 cmp r3, #0 808bfb8: d00b beq.n 808bfd2 LCD_DisplayString(230, LCD_LINE_10, (char *) pNUMS[ies_A]); 808bfba: f897 33ba ldrb.w r3, [r7, #954] ; 0x3ba 808bfbe: b2db uxtb r3, r3 808bfc0: 461a mov r2, r3 808bfc2: 4b8e ldr r3, [pc, #568] ; (808c1fc ) 808bfc4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808bfc8: 461a mov r2, r3 808bfca: 21aa movs r1, #170 ; 0xaa 808bfcc: 20e6 movs r0, #230 ; 0xe6 808bfce: f7c8 f995 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808bfd2: 4988 ldr r1, [pc, #544] ; (808c1f4 ) 808bfd4: 488a ldr r0, [pc, #552] ; (808c200 ) 808bfd6: f7c7 fbe9 bl 80537ac LCD_DisplayString(198, LCD_LINE_10, (char *) pNUMS[idt_A]); 808bfda: f897 33bc ldrb.w r3, [r7, #956] ; 0x3bc 808bfde: b2db uxtb r3, r3 808bfe0: 461a mov r2, r3 808bfe2: 4b86 ldr r3, [pc, #536] ; (808c1fc ) 808bfe4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808bfe8: 461a mov r2, r3 808bfea: 21aa movs r1, #170 ; 0xaa 808bfec: 20c6 movs r0, #198 ; 0xc6 808bfee: f7c8 f985 bl 80542fc LCD_DisplayString(214, LCD_LINE_10, (char *) pNUMS[iet_A]); 808bff2: f897 33bb ldrb.w r3, [r7, #955] ; 0x3bb 808bff6: b2db uxtb r3, r3 808bff8: 461a mov r2, r3 808bffa: 4b80 ldr r3, [pc, #512] ; (808c1fc ) 808bffc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808c000: 461a mov r2, r3 808c002: 21aa movs r1, #170 ; 0xaa 808c004: 20d6 movs r0, #214 ; 0xd6 808c006: f7c8 f979 bl 80542fc LCD_DisplayString(246, LCD_LINE_10, (char *) pNUMS[ied_A]); 808c00a: f897 33b9 ldrb.w r3, [r7, #953] ; 0x3b9 808c00e: b2db uxtb r3, r3 808c010: 461a mov r2, r3 808c012: 4b7a ldr r3, [pc, #488] ; (808c1fc ) 808c014: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808c018: 461a mov r2, r3 808c01a: 21aa movs r1, #170 ; 0xaa 808c01c: 20f6 movs r0, #246 ; 0xf6 808c01e: f7c8 f96d bl 80542fc LCD_DisplayString(262, LCD_LINE_10, (char *) pNUMS[iee_A]); 808c022: f897 33b8 ldrb.w r3, [r7, #952] ; 0x3b8 808c026: b2db uxtb r3, r3 808c028: 461a mov r2, r3 808c02a: 4b74 ldr r3, [pc, #464] ; (808c1fc ) 808c02c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808c030: 461a mov r2, r3 808c032: 21aa movs r1, #170 ; 0xaa 808c034: f44f 7083 mov.w r0, #262 ; 0x106 808c038: f7c8 f960 bl 80542fc LCD_DisplayString(278, LCD_LINE_10, "."); 808c03c: 4a71 ldr r2, [pc, #452] ; (808c204 ) 808c03e: 21aa movs r1, #170 ; 0xaa 808c040: f44f 708b mov.w r0, #278 ; 0x116 808c044: f7c8 f95a bl 80542fc LCD_DisplayString(294, LCD_LINE_10, (char *) pNUMS[ikd_A]); 808c048: f897 33b7 ldrb.w r3, [r7, #951] ; 0x3b7 808c04c: b2db uxtb r3, r3 808c04e: 461a mov r2, r3 808c050: 4b6a ldr r3, [pc, #424] ; (808c1fc ) 808c052: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808c056: 461a mov r2, r3 808c058: 21aa movs r1, #170 ; 0xaa 808c05a: f44f 7093 mov.w r0, #294 ; 0x126 808c05e: f7c8 f94d bl 80542fc 808c062: e133 b.n 808c2cc } else if(menupos == DiagA_IED) 808c064: 4b62 ldr r3, [pc, #392] ; (808c1f0 ) 808c066: 781b ldrb r3, [r3, #0] 808c068: b2db uxtb r3, r3 808c06a: 2b22 cmp r3, #34 ; 0x22 808c06c: d15d bne.n 808c12a { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808c06e: 4961 ldr r1, [pc, #388] ; (808c1f4 ) 808c070: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808c074: f7c7 fb9a bl 80537ac if(blk) 808c078: 4b5f ldr r3, [pc, #380] ; (808c1f8 ) 808c07a: 681b ldr r3, [r3, #0] 808c07c: 2b00 cmp r3, #0 808c07e: d00b beq.n 808c098 LCD_DisplayString(246, LCD_LINE_10, (char *) pNUMS[ied_A]); 808c080: f897 33b9 ldrb.w r3, [r7, #953] ; 0x3b9 808c084: b2db uxtb r3, r3 808c086: 461a mov r2, r3 808c088: 4b5c ldr r3, [pc, #368] ; (808c1fc ) 808c08a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808c08e: 461a mov r2, r3 808c090: 21aa movs r1, #170 ; 0xaa 808c092: 20f6 movs r0, #246 ; 0xf6 808c094: f7c8 f932 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808c098: 4956 ldr r1, [pc, #344] ; (808c1f4 ) 808c09a: 4859 ldr r0, [pc, #356] ; (808c200 ) 808c09c: f7c7 fb86 bl 80537ac LCD_DisplayString(198, LCD_LINE_10, (char *) pNUMS[idt_A]); 808c0a0: f897 33bc ldrb.w r3, [r7, #956] ; 0x3bc 808c0a4: b2db uxtb r3, r3 808c0a6: 461a mov r2, r3 808c0a8: 4b54 ldr r3, [pc, #336] ; (808c1fc ) 808c0aa: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808c0ae: 461a mov r2, r3 808c0b0: 21aa movs r1, #170 ; 0xaa 808c0b2: 20c6 movs r0, #198 ; 0xc6 808c0b4: f7c8 f922 bl 80542fc LCD_DisplayString(214, LCD_LINE_10, (char *) pNUMS[iet_A]); 808c0b8: f897 33bb ldrb.w r3, [r7, #955] ; 0x3bb 808c0bc: b2db uxtb r3, r3 808c0be: 461a mov r2, r3 808c0c0: 4b4e ldr r3, [pc, #312] ; (808c1fc ) 808c0c2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808c0c6: 461a mov r2, r3 808c0c8: 21aa movs r1, #170 ; 0xaa 808c0ca: 20d6 movs r0, #214 ; 0xd6 808c0cc: f7c8 f916 bl 80542fc LCD_DisplayString(230, LCD_LINE_10, (char *) pNUMS[ies_A]); 808c0d0: f897 33ba ldrb.w r3, [r7, #954] ; 0x3ba 808c0d4: b2db uxtb r3, r3 808c0d6: 461a mov r2, r3 808c0d8: 4b48 ldr r3, [pc, #288] ; (808c1fc ) 808c0da: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808c0de: 461a mov r2, r3 808c0e0: 21aa movs r1, #170 ; 0xaa 808c0e2: 20e6 movs r0, #230 ; 0xe6 808c0e4: f7c8 f90a bl 80542fc LCD_DisplayString(262, LCD_LINE_10, (char *) pNUMS[iee_A]); 808c0e8: f897 33b8 ldrb.w r3, [r7, #952] ; 0x3b8 808c0ec: b2db uxtb r3, r3 808c0ee: 461a mov r2, r3 808c0f0: 4b42 ldr r3, [pc, #264] ; (808c1fc ) 808c0f2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808c0f6: 461a mov r2, r3 808c0f8: 21aa movs r1, #170 ; 0xaa 808c0fa: f44f 7083 mov.w r0, #262 ; 0x106 808c0fe: f7c8 f8fd bl 80542fc LCD_DisplayString(278, LCD_LINE_10, "."); 808c102: 4a40 ldr r2, [pc, #256] ; (808c204 ) 808c104: 21aa movs r1, #170 ; 0xaa 808c106: f44f 708b mov.w r0, #278 ; 0x116 808c10a: f7c8 f8f7 bl 80542fc LCD_DisplayString(294, LCD_LINE_10, (char *) pNUMS[ikd_A]); 808c10e: f897 33b7 ldrb.w r3, [r7, #951] ; 0x3b7 808c112: b2db uxtb r3, r3 808c114: 461a mov r2, r3 808c116: 4b39 ldr r3, [pc, #228] ; (808c1fc ) 808c118: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808c11c: 461a mov r2, r3 808c11e: 21aa movs r1, #170 ; 0xaa 808c120: f44f 7093 mov.w r0, #294 ; 0x126 808c124: f7c8 f8ea bl 80542fc 808c128: e0d0 b.n 808c2cc } else if(menupos == DiagA_IEE) 808c12a: 4b31 ldr r3, [pc, #196] ; (808c1f0 ) 808c12c: 781b ldrb r3, [r3, #0] 808c12e: b2db uxtb r3, r3 808c130: 2b23 cmp r3, #35 ; 0x23 808c132: d169 bne.n 808c208 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808c134: 492f ldr r1, [pc, #188] ; (808c1f4 ) 808c136: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808c13a: f7c7 fb37 bl 80537ac if(blk) 808c13e: 4b2e ldr r3, [pc, #184] ; (808c1f8 ) 808c140: 681b ldr r3, [r3, #0] 808c142: 2b00 cmp r3, #0 808c144: d00c beq.n 808c160 LCD_DisplayString(262, LCD_LINE_10, (char *) pNUMS[iee_A]); 808c146: f897 33b8 ldrb.w r3, [r7, #952] ; 0x3b8 808c14a: b2db uxtb r3, r3 808c14c: 461a mov r2, r3 808c14e: 4b2b ldr r3, [pc, #172] ; (808c1fc ) 808c150: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808c154: 461a mov r2, r3 808c156: 21aa movs r1, #170 ; 0xaa 808c158: f44f 7083 mov.w r0, #262 ; 0x106 808c15c: f7c8 f8ce bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808c160: 4924 ldr r1, [pc, #144] ; (808c1f4 ) 808c162: 4827 ldr r0, [pc, #156] ; (808c200 ) 808c164: f7c7 fb22 bl 80537ac LCD_DisplayString(198, LCD_LINE_10, (char *) pNUMS[idt_A]); 808c168: f897 33bc ldrb.w r3, [r7, #956] ; 0x3bc 808c16c: b2db uxtb r3, r3 808c16e: 461a mov r2, r3 808c170: 4b22 ldr r3, [pc, #136] ; (808c1fc ) 808c172: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808c176: 461a mov r2, r3 808c178: 21aa movs r1, #170 ; 0xaa 808c17a: 20c6 movs r0, #198 ; 0xc6 808c17c: f7c8 f8be bl 80542fc LCD_DisplayString(214, LCD_LINE_10, (char *) pNUMS[iet_A]); 808c180: f897 33bb ldrb.w r3, [r7, #955] ; 0x3bb 808c184: b2db uxtb r3, r3 808c186: 461a mov r2, r3 808c188: 4b1c ldr r3, [pc, #112] ; (808c1fc ) 808c18a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808c18e: 461a mov r2, r3 808c190: 21aa movs r1, #170 ; 0xaa 808c192: 20d6 movs r0, #214 ; 0xd6 808c194: f7c8 f8b2 bl 80542fc LCD_DisplayString(230, LCD_LINE_10, (char *) pNUMS[ies_A]); 808c198: f897 33ba ldrb.w r3, [r7, #954] ; 0x3ba 808c19c: b2db uxtb r3, r3 808c19e: 461a mov r2, r3 808c1a0: 4b16 ldr r3, [pc, #88] ; (808c1fc ) 808c1a2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808c1a6: 461a mov r2, r3 808c1a8: 21aa movs r1, #170 ; 0xaa 808c1aa: 20e6 movs r0, #230 ; 0xe6 808c1ac: f7c8 f8a6 bl 80542fc LCD_DisplayString(246, LCD_LINE_10, (char *) pNUMS[ied_A]); 808c1b0: f897 33b9 ldrb.w r3, [r7, #953] ; 0x3b9 808c1b4: b2db uxtb r3, r3 808c1b6: 461a mov r2, r3 808c1b8: 4b10 ldr r3, [pc, #64] ; (808c1fc ) 808c1ba: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808c1be: 461a mov r2, r3 808c1c0: 21aa movs r1, #170 ; 0xaa 808c1c2: 20f6 movs r0, #246 ; 0xf6 808c1c4: f7c8 f89a bl 80542fc LCD_DisplayString(278, LCD_LINE_10, "."); 808c1c8: 4a0e ldr r2, [pc, #56] ; (808c204 ) 808c1ca: 21aa movs r1, #170 ; 0xaa 808c1cc: f44f 708b mov.w r0, #278 ; 0x116 808c1d0: f7c8 f894 bl 80542fc LCD_DisplayString(294, LCD_LINE_10, (char *) pNUMS[ikd_A]); 808c1d4: f897 33b7 ldrb.w r3, [r7, #951] ; 0x3b7 808c1d8: b2db uxtb r3, r3 808c1da: 461a mov r2, r3 808c1dc: 4b07 ldr r3, [pc, #28] ; (808c1fc ) 808c1de: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808c1e2: 461a mov r2, r3 808c1e4: 21aa movs r1, #170 ; 0xaa 808c1e6: f44f 7093 mov.w r0, #294 ; 0x126 808c1ea: f7c8 f887 bl 80542fc 808c1ee: e06d b.n 808c2cc 808c1f0: 20020070 .word 0x20020070 808c1f4: ff0a0f1f .word 0xff0a0f1f 808c1f8: 2002165c .word 0x2002165c 808c1fc: 20020964 .word 0x20020964 808c200: ffd8aa57 .word 0xffd8aa57 808c204: 080cf7e8 .word 0x080cf7e8 } else if(menupos == DiagA_IKD) 808c208: 4b92 ldr r3, [pc, #584] ; (808c454 ) 808c20a: 781b ldrb r3, [r3, #0] 808c20c: b2db uxtb r3, r3 808c20e: 2b24 cmp r3, #36 ; 0x24 808c210: d15c bne.n 808c2cc { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808c212: 4991 ldr r1, [pc, #580] ; (808c458 ) 808c214: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808c218: f7c7 fac8 bl 80537ac if(blk) 808c21c: 4b8f ldr r3, [pc, #572] ; (808c45c ) 808c21e: 681b ldr r3, [r3, #0] 808c220: 2b00 cmp r3, #0 808c222: d00c beq.n 808c23e LCD_DisplayString(294, LCD_LINE_10, (char *) pNUMS[ikd_A]); 808c224: f897 33b7 ldrb.w r3, [r7, #951] ; 0x3b7 808c228: b2db uxtb r3, r3 808c22a: 461a mov r2, r3 808c22c: 4b8c ldr r3, [pc, #560] ; (808c460 ) 808c22e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808c232: 461a mov r2, r3 808c234: 21aa movs r1, #170 ; 0xaa 808c236: f44f 7093 mov.w r0, #294 ; 0x126 808c23a: f7c8 f85f bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808c23e: 4986 ldr r1, [pc, #536] ; (808c458 ) 808c240: 4888 ldr r0, [pc, #544] ; (808c464 ) 808c242: f7c7 fab3 bl 80537ac LCD_DisplayString(198, LCD_LINE_10, (char *) pNUMS[idt_A]); 808c246: f897 33bc ldrb.w r3, [r7, #956] ; 0x3bc 808c24a: b2db uxtb r3, r3 808c24c: 461a mov r2, r3 808c24e: 4b84 ldr r3, [pc, #528] ; (808c460 ) 808c250: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808c254: 461a mov r2, r3 808c256: 21aa movs r1, #170 ; 0xaa 808c258: 20c6 movs r0, #198 ; 0xc6 808c25a: f7c8 f84f bl 80542fc LCD_DisplayString(214, LCD_LINE_10, (char *) pNUMS[iet_A]); 808c25e: f897 33bb ldrb.w r3, [r7, #955] ; 0x3bb 808c262: b2db uxtb r3, r3 808c264: 461a mov r2, r3 808c266: 4b7e ldr r3, [pc, #504] ; (808c460 ) 808c268: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808c26c: 461a mov r2, r3 808c26e: 21aa movs r1, #170 ; 0xaa 808c270: 20d6 movs r0, #214 ; 0xd6 808c272: f7c8 f843 bl 80542fc LCD_DisplayString(230, LCD_LINE_10, (char *) pNUMS[ies_A]); 808c276: f897 33ba ldrb.w r3, [r7, #954] ; 0x3ba 808c27a: b2db uxtb r3, r3 808c27c: 461a mov r2, r3 808c27e: 4b78 ldr r3, [pc, #480] ; (808c460 ) 808c280: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808c284: 461a mov r2, r3 808c286: 21aa movs r1, #170 ; 0xaa 808c288: 20e6 movs r0, #230 ; 0xe6 808c28a: f7c8 f837 bl 80542fc LCD_DisplayString(246, LCD_LINE_10, (char *) pNUMS[ied_A]); 808c28e: f897 33b9 ldrb.w r3, [r7, #953] ; 0x3b9 808c292: b2db uxtb r3, r3 808c294: 461a mov r2, r3 808c296: 4b72 ldr r3, [pc, #456] ; (808c460 ) 808c298: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808c29c: 461a mov r2, r3 808c29e: 21aa movs r1, #170 ; 0xaa 808c2a0: 20f6 movs r0, #246 ; 0xf6 808c2a2: f7c8 f82b bl 80542fc LCD_DisplayString(262, LCD_LINE_10, (char *) pNUMS[iee_A]); 808c2a6: f897 33b8 ldrb.w r3, [r7, #952] ; 0x3b8 808c2aa: b2db uxtb r3, r3 808c2ac: 461a mov r2, r3 808c2ae: 4b6c ldr r3, [pc, #432] ; (808c460 ) 808c2b0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808c2b4: 461a mov r2, r3 808c2b6: 21aa movs r1, #170 ; 0xaa 808c2b8: f44f 7083 mov.w r0, #262 ; 0x106 808c2bc: f7c8 f81e bl 80542fc LCD_DisplayString(278, LCD_LINE_10, "."); 808c2c0: 4a69 ldr r2, [pc, #420] ; (808c468 ) 808c2c2: 21aa movs r1, #170 ; 0xaa 808c2c4: f44f 708b mov.w r0, #278 ; 0x116 808c2c8: f7c8 f818 bl 80542fc // if((menupos < DiagHP_IDT) || (menupos > DiagHP_IKD)) 808c2cc: 4b61 ldr r3, [pc, #388] ; (808c454 ) 808c2ce: 781b ldrb r3, [r3, #0] 808c2d0: b2db uxtb r3, r3 808c2d2: 2b0c cmp r3, #12 808c2d4: d905 bls.n 808c2e2 808c2d6: 4b5f ldr r3, [pc, #380] ; (808c454 ) 808c2d8: 781b ldrb r3, [r3, #0] 808c2da: b2db uxtb r3, r3 808c2dc: 2b12 cmp r3, #18 808c2de: f240 80da bls.w 808c496 { ///////// i = 0; 808c2e2: 2300 movs r3, #0 808c2e4: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 memset(str2, 0, sizeof(str2)); 808c2e8: f507 73d8 add.w r3, r7, #432 ; 0x1b0 808c2ec: 223c movs r2, #60 ; 0x3c 808c2ee: 2100 movs r1, #0 808c2f0: 4618 mov r0, r3 808c2f2: f040 fea9 bl 80cd048 if(idtHP != 0) 808c2f6: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 808c2fa: b2db uxtb r3, r3 808c2fc: 2b00 cmp r3, #0 808c2fe: d00c beq.n 808c31a str2[i++] = idtHP + 48; 808c300: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808c304: 1c5a adds r2, r3, #1 808c306: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808c30a: f897 23d1 ldrb.w r2, [r7, #977] ; 0x3d1 808c30e: b2d2 uxtb r2, r2 808c310: 3230 adds r2, #48 ; 0x30 808c312: b2d1 uxtb r1, r2 808c314: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808c318: 54d1 strb r1, [r2, r3] if((ietHP != 0) || (idtHP != 0)) 808c31a: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 808c31e: b2db uxtb r3, r3 808c320: 2b00 cmp r3, #0 808c322: d104 bne.n 808c32e 808c324: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 808c328: b2db uxtb r3, r3 808c32a: 2b00 cmp r3, #0 808c32c: d00c beq.n 808c348 str2[i++] = ietHP + 48; 808c32e: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808c332: 1c5a adds r2, r3, #1 808c334: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808c338: f897 23d0 ldrb.w r2, [r7, #976] ; 0x3d0 808c33c: b2d2 uxtb r2, r2 808c33e: 3230 adds r2, #48 ; 0x30 808c340: b2d1 uxtb r1, r2 808c342: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808c346: 54d1 strb r1, [r2, r3] if((iesHP != 0) || (ietHP != 0) || (idtHP != 0)) 808c348: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 808c34c: b2db uxtb r3, r3 808c34e: 2b00 cmp r3, #0 808c350: d109 bne.n 808c366 808c352: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 808c356: b2db uxtb r3, r3 808c358: 2b00 cmp r3, #0 808c35a: d104 bne.n 808c366 808c35c: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 808c360: b2db uxtb r3, r3 808c362: 2b00 cmp r3, #0 808c364: d00c beq.n 808c380 str2[i++] = iesHP + 48; 808c366: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808c36a: 1c5a adds r2, r3, #1 808c36c: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808c370: f897 23cf ldrb.w r2, [r7, #975] ; 0x3cf 808c374: b2d2 uxtb r2, r2 808c376: 3230 adds r2, #48 ; 0x30 808c378: b2d1 uxtb r1, r2 808c37a: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808c37e: 54d1 strb r1, [r2, r3] if((iedHP != 0) || (iesHP != 0) || (ietHP != 0) || (idtHP != 0)) 808c380: f897 33ce ldrb.w r3, [r7, #974] ; 0x3ce 808c384: b2db uxtb r3, r3 808c386: 2b00 cmp r3, #0 808c388: d10e bne.n 808c3a8 808c38a: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 808c38e: b2db uxtb r3, r3 808c390: 2b00 cmp r3, #0 808c392: d109 bne.n 808c3a8 808c394: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 808c398: b2db uxtb r3, r3 808c39a: 2b00 cmp r3, #0 808c39c: d104 bne.n 808c3a8 808c39e: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 808c3a2: b2db uxtb r3, r3 808c3a4: 2b00 cmp r3, #0 808c3a6: d00c beq.n 808c3c2 str2[i++] = iedHP + 48; 808c3a8: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808c3ac: 1c5a adds r2, r3, #1 808c3ae: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808c3b2: f897 23ce ldrb.w r2, [r7, #974] ; 0x3ce 808c3b6: b2d2 uxtb r2, r2 808c3b8: 3230 adds r2, #48 ; 0x30 808c3ba: b2d1 uxtb r1, r2 808c3bc: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808c3c0: 54d1 strb r1, [r2, r3] str2[i++] = ieeHP + 48; 808c3c2: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808c3c6: 1c5a adds r2, r3, #1 808c3c8: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808c3cc: f897 23cd ldrb.w r2, [r7, #973] ; 0x3cd 808c3d0: b2d2 uxtb r2, r2 808c3d2: 3230 adds r2, #48 ; 0x30 808c3d4: b2d1 uxtb r1, r2 808c3d6: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808c3da: 54d1 strb r1, [r2, r3] str2[i++] = '.'; 808c3dc: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808c3e0: 1c5a adds r2, r3, #1 808c3e2: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808c3e6: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808c3ea: 212e movs r1, #46 ; 0x2e 808c3ec: 54d1 strb r1, [r2, r3] str2[i++] = ikdHP + 48; 808c3ee: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808c3f2: 1c5a adds r2, r3, #1 808c3f4: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808c3f8: f897 23cc ldrb.w r2, [r7, #972] ; 0x3cc 808c3fc: b2d2 uxtb r2, r2 808c3fe: 3230 adds r2, #48 ; 0x30 808c400: b2d1 uxtb r1, r2 808c402: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808c406: 54d1 strb r1, [r2, r3] if((pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7) == 0) 808c408: 4b18 ldr r3, [pc, #96] ; (808c46c ) 808c40a: 781b ldrb r3, [r3, #0] 808c40c: b2db uxtb r3, r3 808c40e: 4618 mov r0, r3 808c410: 4b17 ldr r3, [pc, #92] ; (808c470 ) 808c412: 781b ldrb r3, [r3, #0] 808c414: b2db uxtb r3, r3 808c416: 4619 mov r1, r3 808c418: 4a16 ldr r2, [pc, #88] ; (808c474 ) 808c41a: 0083 lsls r3, r0, #2 808c41c: 4413 add r3, r2 808c41e: 440b add r3, r1 808c420: f503 730f add.w r3, r3, #572 ; 0x23c 808c424: 781b ldrb r3, [r3, #0] 808c426: b2db uxtb r3, r3 808c428: f003 0307 and.w r3, r3, #7 808c42c: 2b00 cmp r3, #0 808c42e: d103 bne.n 808c438 cl2 = LCD_COLOR_GRAY; 808c430: 4b11 ldr r3, [pc, #68] ; (808c478 ) 808c432: f8c7 3454 str.w r3, [r7, #1108] ; 0x454 808c436: e002 b.n 808c43e else cl2 = LCD_COLOR_MY_YELLOW; 808c438: 4b0a ldr r3, [pc, #40] ; (808c464 ) 808c43a: f8c7 3454 str.w r3, [r7, #1108] ; 0x454 if(menupos == DiagHP) 808c43e: 4b05 ldr r3, [pc, #20] ; (808c454 ) 808c440: 781b ldrb r3, [r3, #0] 808c442: b2db uxtb r3, r3 808c444: 2b09 cmp r3, #9 808c446: d119 bne.n 808c47c LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808c448: 4903 ldr r1, [pc, #12] ; (808c458 ) 808c44a: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808c44e: f7c7 f9ad bl 80537ac 808c452: e018 b.n 808c486 808c454: 20020070 .word 0x20020070 808c458: ff0a0f1f .word 0xff0a0f1f 808c45c: 2002165c .word 0x2002165c 808c460: 20020964 .word 0x20020964 808c464: ffd8aa57 .word 0xffd8aa57 808c468: 080cf7e8 .word 0x080cf7e8 808c46c: 20021011 .word 0x20021011 808c470: 20021013 .word 0x20021013 808c474: 20023e60 .word 0x20023e60 808c478: ff808080 .word 0xff808080 else LCD_SetColors(cl2, LCD_COLOR_BLACK); 808c47c: 49c9 ldr r1, [pc, #804] ; (808c7a4 ) 808c47e: f8d7 0454 ldr.w r0, [r7, #1108] ; 0x454 808c482: f7c7 f993 bl 80537ac LCD_DisplayStringC(260, LCD_LINE_7, str2); 808c486: f507 73d8 add.w r3, r7, #432 ; 0x1b0 808c48a: 461a mov r2, r3 808c48c: 217a movs r1, #122 ; 0x7a 808c48e: f44f 7082 mov.w r0, #260 ; 0x104 808c492: f7c7 ff4b bl 805432c } // if((menupos < DiagLP_IDT) || (menupos > DiagLP_IKD)) 808c496: 4bc4 ldr r3, [pc, #784] ; (808c7a8 ) 808c498: 781b ldrb r3, [r3, #0] 808c49a: b2db uxtb r3, r3 808c49c: 2b12 cmp r3, #18 808c49e: d905 bls.n 808c4ac 808c4a0: 4bc1 ldr r3, [pc, #772] ; (808c7a8 ) 808c4a2: 781b ldrb r3, [r3, #0] 808c4a4: b2db uxtb r3, r3 808c4a6: 2b18 cmp r3, #24 808c4a8: f240 80c6 bls.w 808c638 { ///////// i = 0; 808c4ac: 2300 movs r3, #0 808c4ae: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 memset(str2, 0, sizeof(str2)); 808c4b2: f507 73d8 add.w r3, r7, #432 ; 0x1b0 808c4b6: 223c movs r2, #60 ; 0x3c 808c4b8: 2100 movs r1, #0 808c4ba: 4618 mov r0, r3 808c4bc: f040 fdc4 bl 80cd048 if(idtLP != 0) 808c4c0: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 808c4c4: b2db uxtb r3, r3 808c4c6: 2b00 cmp r3, #0 808c4c8: d00c beq.n 808c4e4 str2[i++] = idtLP + 48; 808c4ca: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808c4ce: 1c5a adds r2, r3, #1 808c4d0: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808c4d4: f897 23ca ldrb.w r2, [r7, #970] ; 0x3ca 808c4d8: b2d2 uxtb r2, r2 808c4da: 3230 adds r2, #48 ; 0x30 808c4dc: b2d1 uxtb r1, r2 808c4de: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808c4e2: 54d1 strb r1, [r2, r3] if((ietLP != 0) || (idtLP != 0)) 808c4e4: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 808c4e8: b2db uxtb r3, r3 808c4ea: 2b00 cmp r3, #0 808c4ec: d104 bne.n 808c4f8 808c4ee: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 808c4f2: b2db uxtb r3, r3 808c4f4: 2b00 cmp r3, #0 808c4f6: d00c beq.n 808c512 str2[i++] = ietLP + 48; 808c4f8: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808c4fc: 1c5a adds r2, r3, #1 808c4fe: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808c502: f897 23c9 ldrb.w r2, [r7, #969] ; 0x3c9 808c506: b2d2 uxtb r2, r2 808c508: 3230 adds r2, #48 ; 0x30 808c50a: b2d1 uxtb r1, r2 808c50c: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808c510: 54d1 strb r1, [r2, r3] if((iesLP != 0) || (ietLP != 0) || (idtLP != 0)) 808c512: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 808c516: b2db uxtb r3, r3 808c518: 2b00 cmp r3, #0 808c51a: d109 bne.n 808c530 808c51c: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 808c520: b2db uxtb r3, r3 808c522: 2b00 cmp r3, #0 808c524: d104 bne.n 808c530 808c526: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 808c52a: b2db uxtb r3, r3 808c52c: 2b00 cmp r3, #0 808c52e: d00c beq.n 808c54a str2[i++] = iesLP + 48; 808c530: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808c534: 1c5a adds r2, r3, #1 808c536: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808c53a: f897 23c8 ldrb.w r2, [r7, #968] ; 0x3c8 808c53e: b2d2 uxtb r2, r2 808c540: 3230 adds r2, #48 ; 0x30 808c542: b2d1 uxtb r1, r2 808c544: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808c548: 54d1 strb r1, [r2, r3] if((iedLP != 0) || (iesLP != 0) || (ietLP != 0) || (idtLP != 0)) 808c54a: f897 33c7 ldrb.w r3, [r7, #967] ; 0x3c7 808c54e: b2db uxtb r3, r3 808c550: 2b00 cmp r3, #0 808c552: d10e bne.n 808c572 808c554: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 808c558: b2db uxtb r3, r3 808c55a: 2b00 cmp r3, #0 808c55c: d109 bne.n 808c572 808c55e: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 808c562: b2db uxtb r3, r3 808c564: 2b00 cmp r3, #0 808c566: d104 bne.n 808c572 808c568: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 808c56c: b2db uxtb r3, r3 808c56e: 2b00 cmp r3, #0 808c570: d00c beq.n 808c58c str2[i++] = iedLP + 48; 808c572: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808c576: 1c5a adds r2, r3, #1 808c578: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808c57c: f897 23c7 ldrb.w r2, [r7, #967] ; 0x3c7 808c580: b2d2 uxtb r2, r2 808c582: 3230 adds r2, #48 ; 0x30 808c584: b2d1 uxtb r1, r2 808c586: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808c58a: 54d1 strb r1, [r2, r3] str2[i++] = ieeLP + 48; 808c58c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808c590: 1c5a adds r2, r3, #1 808c592: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808c596: f897 23c6 ldrb.w r2, [r7, #966] ; 0x3c6 808c59a: b2d2 uxtb r2, r2 808c59c: 3230 adds r2, #48 ; 0x30 808c59e: b2d1 uxtb r1, r2 808c5a0: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808c5a4: 54d1 strb r1, [r2, r3] str2[i++] = '.'; 808c5a6: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808c5aa: 1c5a adds r2, r3, #1 808c5ac: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808c5b0: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808c5b4: 212e movs r1, #46 ; 0x2e 808c5b6: 54d1 strb r1, [r2, r3] str2[i++] = ikdLP + 48; 808c5b8: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808c5bc: 1c5a adds r2, r3, #1 808c5be: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808c5c2: f897 23c5 ldrb.w r2, [r7, #965] ; 0x3c5 808c5c6: b2d2 uxtb r2, r2 808c5c8: 3230 adds r2, #48 ; 0x30 808c5ca: b2d1 uxtb r1, r2 808c5cc: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808c5d0: 54d1 strb r1, [r2, r3] if((pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7) == 0) 808c5d2: 4b76 ldr r3, [pc, #472] ; (808c7ac ) 808c5d4: 781b ldrb r3, [r3, #0] 808c5d6: b2db uxtb r3, r3 808c5d8: 4618 mov r0, r3 808c5da: 4b75 ldr r3, [pc, #468] ; (808c7b0 ) 808c5dc: 781b ldrb r3, [r3, #0] 808c5de: b2db uxtb r3, r3 808c5e0: 4619 mov r1, r3 808c5e2: 4a74 ldr r2, [pc, #464] ; (808c7b4 ) 808c5e4: 0083 lsls r3, r0, #2 808c5e6: 4413 add r3, r2 808c5e8: 440b add r3, r1 808c5ea: f503 730f add.w r3, r3, #572 ; 0x23c 808c5ee: 781b ldrb r3, [r3, #0] 808c5f0: b2db uxtb r3, r3 808c5f2: f003 0307 and.w r3, r3, #7 808c5f6: 2b00 cmp r3, #0 808c5f8: d103 bne.n 808c602 cl2 = LCD_COLOR_GRAY; 808c5fa: 4b6f ldr r3, [pc, #444] ; (808c7b8 ) 808c5fc: f8c7 3454 str.w r3, [r7, #1108] ; 0x454 808c600: e002 b.n 808c608 else cl2 = LCD_COLOR_MY_YELLOW; 808c602: 4b6e ldr r3, [pc, #440] ; (808c7bc ) 808c604: f8c7 3454 str.w r3, [r7, #1108] ; 0x454 if(menupos == DiagLP) 808c608: 4b67 ldr r3, [pc, #412] ; (808c7a8 ) 808c60a: 781b ldrb r3, [r3, #0] 808c60c: b2db uxtb r3, r3 808c60e: 2b0a cmp r3, #10 808c610: d105 bne.n 808c61e LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808c612: 4964 ldr r1, [pc, #400] ; (808c7a4 ) 808c614: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808c618: f7c7 f8c8 bl 80537ac 808c61c: e004 b.n 808c628 else LCD_SetColors(cl2, LCD_COLOR_BLACK); 808c61e: 4961 ldr r1, [pc, #388] ; (808c7a4 ) 808c620: f8d7 0454 ldr.w r0, [r7, #1108] ; 0x454 808c624: f7c7 f8c2 bl 80537ac LCD_DisplayStringC(260, LCD_LINE_8, str2); 808c628: f507 73d8 add.w r3, r7, #432 ; 0x1b0 808c62c: 461a mov r2, r3 808c62e: 218a movs r1, #138 ; 0x8a 808c630: f44f 7082 mov.w r0, #260 ; 0x104 808c634: f7c7 fe7a bl 805432c } // if((menupos < DiagW_IDT) || (menupos > DiagW_IKD)) 808c638: 4b5b ldr r3, [pc, #364] ; (808c7a8 ) 808c63a: 781b ldrb r3, [r3, #0] 808c63c: b2db uxtb r3, r3 808c63e: 2b18 cmp r3, #24 808c640: d905 bls.n 808c64e 808c642: 4b59 ldr r3, [pc, #356] ; (808c7a8 ) 808c644: 781b ldrb r3, [r3, #0] 808c646: b2db uxtb r3, r3 808c648: 2b1e cmp r3, #30 808c64a: f240 80d4 bls.w 808c7f6 { ///////// i = 0; 808c64e: 2300 movs r3, #0 808c650: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 memset(str2, 0, sizeof(str2)); 808c654: f507 73d8 add.w r3, r7, #432 ; 0x1b0 808c658: 223c movs r2, #60 ; 0x3c 808c65a: 2100 movs r1, #0 808c65c: 4618 mov r0, r3 808c65e: f040 fcf3 bl 80cd048 if(idt_W != 0) 808c662: f897 33c3 ldrb.w r3, [r7, #963] ; 0x3c3 808c666: b2db uxtb r3, r3 808c668: 2b00 cmp r3, #0 808c66a: d00c beq.n 808c686 str2[i++] = idt_W + 48; 808c66c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808c670: 1c5a adds r2, r3, #1 808c672: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808c676: f897 23c3 ldrb.w r2, [r7, #963] ; 0x3c3 808c67a: b2d2 uxtb r2, r2 808c67c: 3230 adds r2, #48 ; 0x30 808c67e: b2d1 uxtb r1, r2 808c680: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808c684: 54d1 strb r1, [r2, r3] if((iet_W != 0) || (idt_W != 0)) 808c686: f897 33c2 ldrb.w r3, [r7, #962] ; 0x3c2 808c68a: b2db uxtb r3, r3 808c68c: 2b00 cmp r3, #0 808c68e: d104 bne.n 808c69a 808c690: f897 33c3 ldrb.w r3, [r7, #963] ; 0x3c3 808c694: b2db uxtb r3, r3 808c696: 2b00 cmp r3, #0 808c698: d00c beq.n 808c6b4 str2[i++] = iet_W + 48; 808c69a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808c69e: 1c5a adds r2, r3, #1 808c6a0: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808c6a4: f897 23c2 ldrb.w r2, [r7, #962] ; 0x3c2 808c6a8: b2d2 uxtb r2, r2 808c6aa: 3230 adds r2, #48 ; 0x30 808c6ac: b2d1 uxtb r1, r2 808c6ae: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808c6b2: 54d1 strb r1, [r2, r3] if((ies_W != 0) || (iet_W != 0) || (idt_W != 0)) 808c6b4: f897 33c1 ldrb.w r3, [r7, #961] ; 0x3c1 808c6b8: b2db uxtb r3, r3 808c6ba: 2b00 cmp r3, #0 808c6bc: d109 bne.n 808c6d2 808c6be: f897 33c2 ldrb.w r3, [r7, #962] ; 0x3c2 808c6c2: b2db uxtb r3, r3 808c6c4: 2b00 cmp r3, #0 808c6c6: d104 bne.n 808c6d2 808c6c8: f897 33c3 ldrb.w r3, [r7, #963] ; 0x3c3 808c6cc: b2db uxtb r3, r3 808c6ce: 2b00 cmp r3, #0 808c6d0: d00c beq.n 808c6ec str2[i++] = ies_W + 48; 808c6d2: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808c6d6: 1c5a adds r2, r3, #1 808c6d8: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808c6dc: f897 23c1 ldrb.w r2, [r7, #961] ; 0x3c1 808c6e0: b2d2 uxtb r2, r2 808c6e2: 3230 adds r2, #48 ; 0x30 808c6e4: b2d1 uxtb r1, r2 808c6e6: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808c6ea: 54d1 strb r1, [r2, r3] if((ied_W != 0) || (ies_W != 0) || (iet_W != 0) || (idt_W != 0)) 808c6ec: f897 33c0 ldrb.w r3, [r7, #960] ; 0x3c0 808c6f0: b2db uxtb r3, r3 808c6f2: 2b00 cmp r3, #0 808c6f4: d10e bne.n 808c714 808c6f6: f897 33c1 ldrb.w r3, [r7, #961] ; 0x3c1 808c6fa: b2db uxtb r3, r3 808c6fc: 2b00 cmp r3, #0 808c6fe: d109 bne.n 808c714 808c700: f897 33c2 ldrb.w r3, [r7, #962] ; 0x3c2 808c704: b2db uxtb r3, r3 808c706: 2b00 cmp r3, #0 808c708: d104 bne.n 808c714 808c70a: f897 33c3 ldrb.w r3, [r7, #963] ; 0x3c3 808c70e: b2db uxtb r3, r3 808c710: 2b00 cmp r3, #0 808c712: d00c beq.n 808c72e str2[i++] = ied_W + 48; 808c714: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808c718: 1c5a adds r2, r3, #1 808c71a: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808c71e: f897 23c0 ldrb.w r2, [r7, #960] ; 0x3c0 808c722: b2d2 uxtb r2, r2 808c724: 3230 adds r2, #48 ; 0x30 808c726: b2d1 uxtb r1, r2 808c728: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808c72c: 54d1 strb r1, [r2, r3] str2[i++] = iee_W + 48; 808c72e: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808c732: 1c5a adds r2, r3, #1 808c734: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808c738: f897 23bf ldrb.w r2, [r7, #959] ; 0x3bf 808c73c: b2d2 uxtb r2, r2 808c73e: 3230 adds r2, #48 ; 0x30 808c740: b2d1 uxtb r1, r2 808c742: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808c746: 54d1 strb r1, [r2, r3] str2[i++] = '.'; 808c748: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808c74c: 1c5a adds r2, r3, #1 808c74e: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808c752: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808c756: 212e movs r1, #46 ; 0x2e 808c758: 54d1 strb r1, [r2, r3] str2[i++] = ikd_W + 48; 808c75a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808c75e: 1c5a adds r2, r3, #1 808c760: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808c764: f897 23be ldrb.w r2, [r7, #958] ; 0x3be 808c768: b2d2 uxtb r2, r2 808c76a: 3230 adds r2, #48 ; 0x30 808c76c: b2d1 uxtb r1, r2 808c76e: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808c772: 54d1 strb r1, [r2, r3] if((pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7) == 0) 808c774: 4b0d ldr r3, [pc, #52] ; (808c7ac ) 808c776: 781b ldrb r3, [r3, #0] 808c778: b2db uxtb r3, r3 808c77a: 4618 mov r0, r3 808c77c: 4b0c ldr r3, [pc, #48] ; (808c7b0 ) 808c77e: 781b ldrb r3, [r3, #0] 808c780: b2db uxtb r3, r3 808c782: 4619 mov r1, r3 808c784: 4a0b ldr r2, [pc, #44] ; (808c7b4 ) 808c786: 0083 lsls r3, r0, #2 808c788: 4413 add r3, r2 808c78a: 440b add r3, r1 808c78c: f503 730f add.w r3, r3, #572 ; 0x23c 808c790: 781b ldrb r3, [r3, #0] 808c792: b2db uxtb r3, r3 808c794: f003 0307 and.w r3, r3, #7 808c798: 2b00 cmp r3, #0 808c79a: d111 bne.n 808c7c0 cl2 = LCD_COLOR_GRAY; 808c79c: 4b06 ldr r3, [pc, #24] ; (808c7b8 ) 808c79e: f8c7 3454 str.w r3, [r7, #1108] ; 0x454 808c7a2: e010 b.n 808c7c6 808c7a4: ff0a0f1f .word 0xff0a0f1f 808c7a8: 20020070 .word 0x20020070 808c7ac: 20021011 .word 0x20021011 808c7b0: 20021013 .word 0x20021013 808c7b4: 20023e60 .word 0x20023e60 808c7b8: ff808080 .word 0xff808080 808c7bc: ffd8aa57 .word 0xffd8aa57 else cl2 = LCD_COLOR_MY_YELLOW; 808c7c0: 4b76 ldr r3, [pc, #472] ; (808c99c ) 808c7c2: f8c7 3454 str.w r3, [r7, #1108] ; 0x454 if(menupos == Diag_W) 808c7c6: 4b76 ldr r3, [pc, #472] ; (808c9a0 ) 808c7c8: 781b ldrb r3, [r3, #0] 808c7ca: b2db uxtb r3, r3 808c7cc: 2b0b cmp r3, #11 808c7ce: d105 bne.n 808c7dc LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808c7d0: 4974 ldr r1, [pc, #464] ; (808c9a4 ) 808c7d2: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808c7d6: f7c6 ffe9 bl 80537ac 808c7da: e004 b.n 808c7e6 else LCD_SetColors(cl2, LCD_COLOR_BLACK); 808c7dc: 4971 ldr r1, [pc, #452] ; (808c9a4 ) 808c7de: f8d7 0454 ldr.w r0, [r7, #1108] ; 0x454 808c7e2: f7c6 ffe3 bl 80537ac LCD_DisplayStringC(260, LCD_LINE_9, str2); 808c7e6: f507 73d8 add.w r3, r7, #432 ; 0x1b0 808c7ea: 461a mov r2, r3 808c7ec: 219a movs r1, #154 ; 0x9a 808c7ee: f44f 7082 mov.w r0, #260 ; 0x104 808c7f2: f7c7 fd9b bl 805432c } // if((menupos < DiagA_IDT) || (menupos > DiagA_IKD)) 808c7f6: 4b6a ldr r3, [pc, #424] ; (808c9a0 ) 808c7f8: 781b ldrb r3, [r3, #0] 808c7fa: b2db uxtb r3, r3 808c7fc: 2b1e cmp r3, #30 808c7fe: d905 bls.n 808c80c 808c800: 4b67 ldr r3, [pc, #412] ; (808c9a0 ) 808c802: 781b ldrb r3, [r3, #0] 808c804: b2db uxtb r3, r3 808c806: 2b24 cmp r3, #36 ; 0x24 808c808: f24a 86e1 bls.w 80975ce { ///////// i = 0; 808c80c: 2300 movs r3, #0 808c80e: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 memset(str2, 0, sizeof(str2)); 808c812: f507 73d8 add.w r3, r7, #432 ; 0x1b0 808c816: 223c movs r2, #60 ; 0x3c 808c818: 2100 movs r1, #0 808c81a: 4618 mov r0, r3 808c81c: f040 fc14 bl 80cd048 if(idt_A != 0) 808c820: f897 33bc ldrb.w r3, [r7, #956] ; 0x3bc 808c824: b2db uxtb r3, r3 808c826: 2b00 cmp r3, #0 808c828: d00c beq.n 808c844 str2[i++] = idt_A + 48; 808c82a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808c82e: 1c5a adds r2, r3, #1 808c830: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808c834: f897 23bc ldrb.w r2, [r7, #956] ; 0x3bc 808c838: b2d2 uxtb r2, r2 808c83a: 3230 adds r2, #48 ; 0x30 808c83c: b2d1 uxtb r1, r2 808c83e: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808c842: 54d1 strb r1, [r2, r3] if((iet_A != 0) || (idt_A != 0)) 808c844: f897 33bb ldrb.w r3, [r7, #955] ; 0x3bb 808c848: b2db uxtb r3, r3 808c84a: 2b00 cmp r3, #0 808c84c: d104 bne.n 808c858 808c84e: f897 33bc ldrb.w r3, [r7, #956] ; 0x3bc 808c852: b2db uxtb r3, r3 808c854: 2b00 cmp r3, #0 808c856: d00c beq.n 808c872 str2[i++] = iet_A + 48; 808c858: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808c85c: 1c5a adds r2, r3, #1 808c85e: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808c862: f897 23bb ldrb.w r2, [r7, #955] ; 0x3bb 808c866: b2d2 uxtb r2, r2 808c868: 3230 adds r2, #48 ; 0x30 808c86a: b2d1 uxtb r1, r2 808c86c: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808c870: 54d1 strb r1, [r2, r3] if((ies_A != 0) || (iet_A != 0) || (idt_A != 0)) 808c872: f897 33ba ldrb.w r3, [r7, #954] ; 0x3ba 808c876: b2db uxtb r3, r3 808c878: 2b00 cmp r3, #0 808c87a: d109 bne.n 808c890 808c87c: f897 33bb ldrb.w r3, [r7, #955] ; 0x3bb 808c880: b2db uxtb r3, r3 808c882: 2b00 cmp r3, #0 808c884: d104 bne.n 808c890 808c886: f897 33bc ldrb.w r3, [r7, #956] ; 0x3bc 808c88a: b2db uxtb r3, r3 808c88c: 2b00 cmp r3, #0 808c88e: d00c beq.n 808c8aa str2[i++] = ies_A + 48; 808c890: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808c894: 1c5a adds r2, r3, #1 808c896: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808c89a: f897 23ba ldrb.w r2, [r7, #954] ; 0x3ba 808c89e: b2d2 uxtb r2, r2 808c8a0: 3230 adds r2, #48 ; 0x30 808c8a2: b2d1 uxtb r1, r2 808c8a4: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808c8a8: 54d1 strb r1, [r2, r3] if((ied_A != 0) || (ies_A != 0) || (iet_A != 0) || (idt_A != 0)) 808c8aa: f897 33b9 ldrb.w r3, [r7, #953] ; 0x3b9 808c8ae: b2db uxtb r3, r3 808c8b0: 2b00 cmp r3, #0 808c8b2: d10e bne.n 808c8d2 808c8b4: f897 33ba ldrb.w r3, [r7, #954] ; 0x3ba 808c8b8: b2db uxtb r3, r3 808c8ba: 2b00 cmp r3, #0 808c8bc: d109 bne.n 808c8d2 808c8be: f897 33bb ldrb.w r3, [r7, #955] ; 0x3bb 808c8c2: b2db uxtb r3, r3 808c8c4: 2b00 cmp r3, #0 808c8c6: d104 bne.n 808c8d2 808c8c8: f897 33bc ldrb.w r3, [r7, #956] ; 0x3bc 808c8cc: b2db uxtb r3, r3 808c8ce: 2b00 cmp r3, #0 808c8d0: d00c beq.n 808c8ec str2[i++] = ied_A + 48; 808c8d2: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808c8d6: 1c5a adds r2, r3, #1 808c8d8: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808c8dc: f897 23b9 ldrb.w r2, [r7, #953] ; 0x3b9 808c8e0: b2d2 uxtb r2, r2 808c8e2: 3230 adds r2, #48 ; 0x30 808c8e4: b2d1 uxtb r1, r2 808c8e6: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808c8ea: 54d1 strb r1, [r2, r3] str2[i++] = iee_A + 48; 808c8ec: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808c8f0: 1c5a adds r2, r3, #1 808c8f2: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808c8f6: f897 23b8 ldrb.w r2, [r7, #952] ; 0x3b8 808c8fa: b2d2 uxtb r2, r2 808c8fc: 3230 adds r2, #48 ; 0x30 808c8fe: b2d1 uxtb r1, r2 808c900: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808c904: 54d1 strb r1, [r2, r3] str2[i++] = '.'; 808c906: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808c90a: 1c5a adds r2, r3, #1 808c90c: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808c910: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808c914: 212e movs r1, #46 ; 0x2e 808c916: 54d1 strb r1, [r2, r3] str2[i++] = ikd_A + 48; 808c918: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808c91c: 1c5a adds r2, r3, #1 808c91e: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808c922: f897 23b7 ldrb.w r2, [r7, #951] ; 0x3b7 808c926: b2d2 uxtb r2, r2 808c928: 3230 adds r2, #48 ; 0x30 808c92a: b2d1 uxtb r1, r2 808c92c: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808c930: 54d1 strb r1, [r2, r3] if((pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7) == 0) 808c932: 4b1d ldr r3, [pc, #116] ; (808c9a8 ) 808c934: 781b ldrb r3, [r3, #0] 808c936: b2db uxtb r3, r3 808c938: 4618 mov r0, r3 808c93a: 4b1c ldr r3, [pc, #112] ; (808c9ac ) 808c93c: 781b ldrb r3, [r3, #0] 808c93e: b2db uxtb r3, r3 808c940: 4619 mov r1, r3 808c942: 4a1b ldr r2, [pc, #108] ; (808c9b0 ) 808c944: 0083 lsls r3, r0, #2 808c946: 4413 add r3, r2 808c948: 440b add r3, r1 808c94a: f503 730f add.w r3, r3, #572 ; 0x23c 808c94e: 781b ldrb r3, [r3, #0] 808c950: b2db uxtb r3, r3 808c952: f003 0307 and.w r3, r3, #7 808c956: 2b00 cmp r3, #0 808c958: d103 bne.n 808c962 cl2 = LCD_COLOR_GRAY; 808c95a: 4b16 ldr r3, [pc, #88] ; (808c9b4 ) 808c95c: f8c7 3454 str.w r3, [r7, #1108] ; 0x454 808c960: e002 b.n 808c968 else cl2 = LCD_COLOR_MY_YELLOW; 808c962: 4b0e ldr r3, [pc, #56] ; (808c99c ) 808c964: f8c7 3454 str.w r3, [r7, #1108] ; 0x454 if(menupos == Diag_A) 808c968: 4b0d ldr r3, [pc, #52] ; (808c9a0 ) 808c96a: 781b ldrb r3, [r3, #0] 808c96c: b2db uxtb r3, r3 808c96e: 2b0c cmp r3, #12 808c970: d105 bne.n 808c97e LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808c972: 490c ldr r1, [pc, #48] ; (808c9a4 ) 808c974: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808c978: f7c6 ff18 bl 80537ac 808c97c: e004 b.n 808c988 else LCD_SetColors(cl2, LCD_COLOR_BLACK); 808c97e: 4909 ldr r1, [pc, #36] ; (808c9a4 ) 808c980: f8d7 0454 ldr.w r0, [r7, #1108] ; 0x454 808c984: f7c6 ff12 bl 80537ac LCD_DisplayStringC(260, LCD_LINE_10, str2); 808c988: f507 73d8 add.w r3, r7, #432 ; 0x1b0 808c98c: 461a mov r2, r3 808c98e: 21aa movs r1, #170 ; 0xaa 808c990: f44f 7082 mov.w r0, #260 ; 0x104 808c994: f7c7 fcca bl 805432c } break; 808c998: f00a be19 b.w 80975ce 808c99c: ffd8aa57 .word 0xffd8aa57 808c9a0: 20020070 .word 0x20020070 808c9a4: ff0a0f1f .word 0xff0a0f1f 808c9a8: 20021011 .word 0x20021011 808c9ac: 20021013 .word 0x20021013 808c9b0: 20023e60 .word 0x20023e60 808c9b4: ff808080 .word 0xff808080 case PARAM_OSC: // LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 808c9b8: 49d9 ldr r1, [pc, #868] ; (808cd20 ) 808c9ba: 48da ldr r0, [pc, #872] ; (808cd24 ) 808c9bc: f7c6 fef6 bl 80537ac BSP_LCD_DrawRect(2, 35, 314, 201); 808c9c0: 23c9 movs r3, #201 ; 0xc9 808c9c2: f44f 729d mov.w r2, #314 ; 0x13a 808c9c6: 2123 movs r1, #35 ; 0x23 808c9c8: 2002 movs r0, #2 808c9ca: f7c7 f9f5 bl 8053db8 k = (uint32_t) (pardata.THR_VAL * 10.0f); 808c9ce: 4bd6 ldr r3, [pc, #856] ; (808cd28 ) 808c9d0: edd3 7a05 vldr s15, [r3, #20] 808c9d4: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 808c9d8: ee67 7a87 vmul.f32 s15, s15, s14 808c9dc: eefc 7ae7 vcvt.u32.f32 s15, s15 808c9e0: ee17 3a90 vmov r3, s15 808c9e4: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 idt = (uint8_t) (k / 100000); 808c9e8: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 808c9ec: 095b lsrs r3, r3, #5 808c9ee: 4acf ldr r2, [pc, #828] ; (808cd2c ) 808c9f0: fba2 2303 umull r2, r3, r2, r3 808c9f4: 09db lsrs r3, r3, #7 808c9f6: b2db uxtb r3, r3 808c9f8: f887 33e7 strb.w r3, [r7, #999] ; 0x3e7 iet = (uint8_t) (k % 100000 / 10000); 808c9fc: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808ca00: 0953 lsrs r3, r2, #5 808ca02: 49ca ldr r1, [pc, #808] ; (808cd2c ) 808ca04: fba1 1303 umull r1, r3, r1, r3 808ca08: 09db lsrs r3, r3, #7 808ca0a: 49c9 ldr r1, [pc, #804] ; (808cd30 ) 808ca0c: fb01 f303 mul.w r3, r1, r3 808ca10: 1ad3 subs r3, r2, r3 808ca12: 4ac8 ldr r2, [pc, #800] ; (808cd34 ) 808ca14: fba2 2303 umull r2, r3, r2, r3 808ca18: 0b5b lsrs r3, r3, #13 808ca1a: b2db uxtb r3, r3 808ca1c: f887 33e6 strb.w r3, [r7, #998] ; 0x3e6 ies = (uint8_t) (k % 100000 % 10000 / 1000); 808ca20: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808ca24: 0953 lsrs r3, r2, #5 808ca26: 49c1 ldr r1, [pc, #772] ; (808cd2c ) 808ca28: fba1 1303 umull r1, r3, r1, r3 808ca2c: 09db lsrs r3, r3, #7 808ca2e: 49c0 ldr r1, [pc, #768] ; (808cd30 ) 808ca30: fb01 f303 mul.w r3, r1, r3 808ca34: 1ad3 subs r3, r2, r3 808ca36: 4abf ldr r2, [pc, #764] ; (808cd34 ) 808ca38: fba2 1203 umull r1, r2, r2, r3 808ca3c: 0b52 lsrs r2, r2, #13 808ca3e: f242 7110 movw r1, #10000 ; 0x2710 808ca42: fb01 f202 mul.w r2, r1, r2 808ca46: 1a9a subs r2, r3, r2 808ca48: 4bbb ldr r3, [pc, #748] ; (808cd38 ) 808ca4a: fba3 2302 umull r2, r3, r3, r2 808ca4e: 099b lsrs r3, r3, #6 808ca50: b2db uxtb r3, r3 808ca52: f887 33e5 strb.w r3, [r7, #997] ; 0x3e5 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 808ca56: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 808ca5a: 095a lsrs r2, r3, #5 808ca5c: 49b3 ldr r1, [pc, #716] ; (808cd2c ) 808ca5e: fba1 1202 umull r1, r2, r1, r2 808ca62: 09d2 lsrs r2, r2, #7 808ca64: 49b2 ldr r1, [pc, #712] ; (808cd30 ) 808ca66: fb01 f202 mul.w r2, r1, r2 808ca6a: 1a9a subs r2, r3, r2 808ca6c: 4bb1 ldr r3, [pc, #708] ; (808cd34 ) 808ca6e: fba3 1302 umull r1, r3, r3, r2 808ca72: 0b5b lsrs r3, r3, #13 808ca74: f242 7110 movw r1, #10000 ; 0x2710 808ca78: fb01 f303 mul.w r3, r1, r3 808ca7c: 1ad3 subs r3, r2, r3 808ca7e: 4aae ldr r2, [pc, #696] ; (808cd38 ) 808ca80: fba2 1203 umull r1, r2, r2, r3 808ca84: 0992 lsrs r2, r2, #6 808ca86: f44f 717a mov.w r1, #1000 ; 0x3e8 808ca8a: fb01 f202 mul.w r2, r1, r2 808ca8e: 1a9a subs r2, r3, r2 808ca90: 4baa ldr r3, [pc, #680] ; (808cd3c ) 808ca92: fba3 2302 umull r2, r3, r3, r2 808ca96: 095b lsrs r3, r3, #5 808ca98: b2db uxtb r3, r3 808ca9a: f887 33e4 strb.w r3, [r7, #996] ; 0x3e4 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 808ca9e: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808caa2: 0953 lsrs r3, r2, #5 808caa4: 49a1 ldr r1, [pc, #644] ; (808cd2c ) 808caa6: fba1 1303 umull r1, r3, r1, r3 808caaa: 09db lsrs r3, r3, #7 808caac: 49a0 ldr r1, [pc, #640] ; (808cd30 ) 808caae: fb01 f303 mul.w r3, r1, r3 808cab2: 1ad3 subs r3, r2, r3 808cab4: 4a9f ldr r2, [pc, #636] ; (808cd34 ) 808cab6: fba2 1203 umull r1, r2, r2, r3 808caba: 0b52 lsrs r2, r2, #13 808cabc: f242 7110 movw r1, #10000 ; 0x2710 808cac0: fb01 f202 mul.w r2, r1, r2 808cac4: 1a9a subs r2, r3, r2 808cac6: 4b9c ldr r3, [pc, #624] ; (808cd38 ) 808cac8: fba3 1302 umull r1, r3, r3, r2 808cacc: 099b lsrs r3, r3, #6 808cace: f44f 717a mov.w r1, #1000 ; 0x3e8 808cad2: fb01 f303 mul.w r3, r1, r3 808cad6: 1ad3 subs r3, r2, r3 808cad8: 4a98 ldr r2, [pc, #608] ; (808cd3c ) 808cada: fba2 1203 umull r1, r2, r2, r3 808cade: 0952 lsrs r2, r2, #5 808cae0: 2164 movs r1, #100 ; 0x64 808cae2: fb01 f202 mul.w r2, r1, r2 808cae6: 1a9a subs r2, r3, r2 808cae8: 4b95 ldr r3, [pc, #596] ; (808cd40 ) 808caea: fba3 2302 umull r2, r3, r3, r2 808caee: 08db lsrs r3, r3, #3 808caf0: b2db uxtb r3, r3 808caf2: f887 33e3 strb.w r3, [r7, #995] ; 0x3e3 ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 808caf6: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808cafa: 0953 lsrs r3, r2, #5 808cafc: 498b ldr r1, [pc, #556] ; (808cd2c ) 808cafe: fba1 1303 umull r1, r3, r1, r3 808cb02: 09db lsrs r3, r3, #7 808cb04: 498a ldr r1, [pc, #552] ; (808cd30 ) 808cb06: fb01 f303 mul.w r3, r1, r3 808cb0a: 1ad3 subs r3, r2, r3 808cb0c: 4a89 ldr r2, [pc, #548] ; (808cd34 ) 808cb0e: fba2 1203 umull r1, r2, r2, r3 808cb12: 0b52 lsrs r2, r2, #13 808cb14: f242 7110 movw r1, #10000 ; 0x2710 808cb18: fb01 f202 mul.w r2, r1, r2 808cb1c: 1a9a subs r2, r3, r2 808cb1e: 4b86 ldr r3, [pc, #536] ; (808cd38 ) 808cb20: fba3 1302 umull r1, r3, r3, r2 808cb24: 099b lsrs r3, r3, #6 808cb26: f44f 717a mov.w r1, #1000 ; 0x3e8 808cb2a: fb01 f303 mul.w r3, r1, r3 808cb2e: 1ad3 subs r3, r2, r3 808cb30: 4a82 ldr r2, [pc, #520] ; (808cd3c ) 808cb32: fba2 1203 umull r1, r2, r2, r3 808cb36: 0952 lsrs r2, r2, #5 808cb38: 2164 movs r1, #100 ; 0x64 808cb3a: fb01 f202 mul.w r2, r1, r2 808cb3e: 1a9a subs r2, r3, r2 808cb40: 4b7f ldr r3, [pc, #508] ; (808cd40 ) 808cb42: fba3 1302 umull r1, r3, r3, r2 808cb46: 08d9 lsrs r1, r3, #3 808cb48: 460b mov r3, r1 808cb4a: 009b lsls r3, r3, #2 808cb4c: 440b add r3, r1 808cb4e: 005b lsls r3, r3, #1 808cb50: 1ad1 subs r1, r2, r3 808cb52: b2cb uxtb r3, r1 808cb54: f887 33e2 strb.w r3, [r7, #994] ; 0x3e2 k = (uint32_t) (pardata.MAX_VAL * 10.0f); 808cb58: 4b73 ldr r3, [pc, #460] ; (808cd28 ) 808cb5a: edd3 7a06 vldr s15, [r3, #24] 808cb5e: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 808cb62: ee67 7a87 vmul.f32 s15, s15, s14 808cb66: eefc 7ae7 vcvt.u32.f32 s15, s15 808cb6a: ee17 3a90 vmov r3, s15 808cb6e: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 idt2 = (uint8_t) (k / 100000); 808cb72: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 808cb76: 095b lsrs r3, r3, #5 808cb78: 4a6c ldr r2, [pc, #432] ; (808cd2c ) 808cb7a: fba2 2303 umull r2, r3, r2, r3 808cb7e: 09db lsrs r3, r3, #7 808cb80: b2db uxtb r3, r3 808cb82: f887 33d8 strb.w r3, [r7, #984] ; 0x3d8 iet2 = (uint8_t) (k % 100000 / 10000); 808cb86: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808cb8a: 0953 lsrs r3, r2, #5 808cb8c: 4967 ldr r1, [pc, #412] ; (808cd2c ) 808cb8e: fba1 1303 umull r1, r3, r1, r3 808cb92: 09db lsrs r3, r3, #7 808cb94: 4966 ldr r1, [pc, #408] ; (808cd30 ) 808cb96: fb01 f303 mul.w r3, r1, r3 808cb9a: 1ad3 subs r3, r2, r3 808cb9c: 4a65 ldr r2, [pc, #404] ; (808cd34 ) 808cb9e: fba2 2303 umull r2, r3, r2, r3 808cba2: 0b5b lsrs r3, r3, #13 808cba4: b2db uxtb r3, r3 808cba6: f887 33d7 strb.w r3, [r7, #983] ; 0x3d7 ies2 = (uint8_t) (k % 100000 % 10000 / 1000); 808cbaa: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808cbae: 0953 lsrs r3, r2, #5 808cbb0: 495e ldr r1, [pc, #376] ; (808cd2c ) 808cbb2: fba1 1303 umull r1, r3, r1, r3 808cbb6: 09db lsrs r3, r3, #7 808cbb8: 495d ldr r1, [pc, #372] ; (808cd30 ) 808cbba: fb01 f303 mul.w r3, r1, r3 808cbbe: 1ad3 subs r3, r2, r3 808cbc0: 4a5c ldr r2, [pc, #368] ; (808cd34 ) 808cbc2: fba2 1203 umull r1, r2, r2, r3 808cbc6: 0b52 lsrs r2, r2, #13 808cbc8: f242 7110 movw r1, #10000 ; 0x2710 808cbcc: fb01 f202 mul.w r2, r1, r2 808cbd0: 1a9a subs r2, r3, r2 808cbd2: 4b59 ldr r3, [pc, #356] ; (808cd38 ) 808cbd4: fba3 2302 umull r2, r3, r3, r2 808cbd8: 099b lsrs r3, r3, #6 808cbda: b2db uxtb r3, r3 808cbdc: f887 33d6 strb.w r3, [r7, #982] ; 0x3d6 ied2 = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 808cbe0: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 808cbe4: 095a lsrs r2, r3, #5 808cbe6: 4951 ldr r1, [pc, #324] ; (808cd2c ) 808cbe8: fba1 1202 umull r1, r2, r1, r2 808cbec: 09d2 lsrs r2, r2, #7 808cbee: 4950 ldr r1, [pc, #320] ; (808cd30 ) 808cbf0: fb01 f202 mul.w r2, r1, r2 808cbf4: 1a9a subs r2, r3, r2 808cbf6: 4b4f ldr r3, [pc, #316] ; (808cd34 ) 808cbf8: fba3 1302 umull r1, r3, r3, r2 808cbfc: 0b5b lsrs r3, r3, #13 808cbfe: f242 7110 movw r1, #10000 ; 0x2710 808cc02: fb01 f303 mul.w r3, r1, r3 808cc06: 1ad3 subs r3, r2, r3 808cc08: 4a4b ldr r2, [pc, #300] ; (808cd38 ) 808cc0a: fba2 1203 umull r1, r2, r2, r3 808cc0e: 0992 lsrs r2, r2, #6 808cc10: f44f 717a mov.w r1, #1000 ; 0x3e8 808cc14: fb01 f202 mul.w r2, r1, r2 808cc18: 1a9a subs r2, r3, r2 808cc1a: 4b48 ldr r3, [pc, #288] ; (808cd3c ) 808cc1c: fba3 2302 umull r2, r3, r3, r2 808cc20: 095b lsrs r3, r3, #5 808cc22: b2db uxtb r3, r3 808cc24: f887 33d5 strb.w r3, [r7, #981] ; 0x3d5 iee2 = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 808cc28: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808cc2c: 0953 lsrs r3, r2, #5 808cc2e: 493f ldr r1, [pc, #252] ; (808cd2c ) 808cc30: fba1 1303 umull r1, r3, r1, r3 808cc34: 09db lsrs r3, r3, #7 808cc36: 493e ldr r1, [pc, #248] ; (808cd30 ) 808cc38: fb01 f303 mul.w r3, r1, r3 808cc3c: 1ad3 subs r3, r2, r3 808cc3e: 4a3d ldr r2, [pc, #244] ; (808cd34 ) 808cc40: fba2 1203 umull r1, r2, r2, r3 808cc44: 0b52 lsrs r2, r2, #13 808cc46: f242 7110 movw r1, #10000 ; 0x2710 808cc4a: fb01 f202 mul.w r2, r1, r2 808cc4e: 1a9a subs r2, r3, r2 808cc50: 4b39 ldr r3, [pc, #228] ; (808cd38 ) 808cc52: fba3 1302 umull r1, r3, r3, r2 808cc56: 099b lsrs r3, r3, #6 808cc58: f44f 717a mov.w r1, #1000 ; 0x3e8 808cc5c: fb01 f303 mul.w r3, r1, r3 808cc60: 1ad3 subs r3, r2, r3 808cc62: 4a36 ldr r2, [pc, #216] ; (808cd3c ) 808cc64: fba2 1203 umull r1, r2, r2, r3 808cc68: 0952 lsrs r2, r2, #5 808cc6a: 2164 movs r1, #100 ; 0x64 808cc6c: fb01 f202 mul.w r2, r1, r2 808cc70: 1a9a subs r2, r3, r2 808cc72: 4b33 ldr r3, [pc, #204] ; (808cd40 ) 808cc74: fba3 2302 umull r2, r3, r3, r2 808cc78: 08db lsrs r3, r3, #3 808cc7a: b2db uxtb r3, r3 808cc7c: f887 33d4 strb.w r3, [r7, #980] ; 0x3d4 ikd2 = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 808cc80: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808cc84: 0953 lsrs r3, r2, #5 808cc86: 4929 ldr r1, [pc, #164] ; (808cd2c ) 808cc88: fba1 1303 umull r1, r3, r1, r3 808cc8c: 09db lsrs r3, r3, #7 808cc8e: 4928 ldr r1, [pc, #160] ; (808cd30 ) 808cc90: fb01 f303 mul.w r3, r1, r3 808cc94: 1ad3 subs r3, r2, r3 808cc96: 4a27 ldr r2, [pc, #156] ; (808cd34 ) 808cc98: fba2 1203 umull r1, r2, r2, r3 808cc9c: 0b52 lsrs r2, r2, #13 808cc9e: f242 7110 movw r1, #10000 ; 0x2710 808cca2: fb01 f202 mul.w r2, r1, r2 808cca6: 1a9a subs r2, r3, r2 808cca8: 4b23 ldr r3, [pc, #140] ; (808cd38 ) 808ccaa: fba3 1302 umull r1, r3, r3, r2 808ccae: 099b lsrs r3, r3, #6 808ccb0: f44f 717a mov.w r1, #1000 ; 0x3e8 808ccb4: fb01 f303 mul.w r3, r1, r3 808ccb8: 1ad3 subs r3, r2, r3 808ccba: 4a20 ldr r2, [pc, #128] ; (808cd3c ) 808ccbc: fba2 1203 umull r1, r2, r2, r3 808ccc0: 0952 lsrs r2, r2, #5 808ccc2: 2164 movs r1, #100 ; 0x64 808ccc4: fb01 f202 mul.w r2, r1, r2 808ccc8: 1a9a subs r2, r3, r2 808ccca: 4b1d ldr r3, [pc, #116] ; (808cd40 ) 808cccc: fba3 1302 umull r1, r3, r3, r2 808ccd0: 08d9 lsrs r1, r3, #3 808ccd2: 460b mov r3, r1 808ccd4: 009b lsls r3, r3, #2 808ccd6: 440b add r3, r1 808ccd8: 005b lsls r3, r3, #1 808ccda: 1ad1 subs r1, r2, r3 808ccdc: b2cb uxtb r3, r1 808ccde: f887 33d3 strb.w r3, [r7, #979] ; 0x3d3 k = (uint32_t) (pardata.HP * 10.0f); 808cce2: 4b11 ldr r3, [pc, #68] ; (808cd28 ) 808cce4: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 808cce8: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 808ccec: ee67 7a87 vmul.f32 s15, s15, s14 808ccf0: eefc 7ae7 vcvt.u32.f32 s15, s15 808ccf4: ee17 3a90 vmov r3, s15 808ccf8: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 idtHP = (uint8_t) (k / 100000); 808ccfc: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 808cd00: 095b lsrs r3, r3, #5 808cd02: 4a0a ldr r2, [pc, #40] ; (808cd2c ) 808cd04: fba2 2303 umull r2, r3, r2, r3 808cd08: 09db lsrs r3, r3, #7 808cd0a: b2db uxtb r3, r3 808cd0c: f887 33d1 strb.w r3, [r7, #977] ; 0x3d1 ietHP = (uint8_t) (k % 100000 / 10000); 808cd10: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808cd14: 0953 lsrs r3, r2, #5 808cd16: 4905 ldr r1, [pc, #20] ; (808cd2c ) 808cd18: fba1 1303 umull r1, r3, r1, r3 808cd1c: 09db lsrs r3, r3, #7 808cd1e: e011 b.n 808cd44 808cd20: ff0a0f1f .word 0xff0a0f1f 808cd24: ffd3d3d3 .word 0xffd3d3d3 808cd28: 20023e60 .word 0x20023e60 808cd2c: 0a7c5ac5 .word 0x0a7c5ac5 808cd30: 000186a0 .word 0x000186a0 808cd34: d1b71759 .word 0xd1b71759 808cd38: 10624dd3 .word 0x10624dd3 808cd3c: 51eb851f .word 0x51eb851f 808cd40: cccccccd .word 0xcccccccd 808cd44: 49d4 ldr r1, [pc, #848] ; (808d098 ) 808cd46: fb01 f303 mul.w r3, r1, r3 808cd4a: 1ad3 subs r3, r2, r3 808cd4c: 4ad3 ldr r2, [pc, #844] ; (808d09c ) 808cd4e: fba2 2303 umull r2, r3, r2, r3 808cd52: 0b5b lsrs r3, r3, #13 808cd54: b2db uxtb r3, r3 808cd56: f887 33d0 strb.w r3, [r7, #976] ; 0x3d0 iesHP = (uint8_t) (k % 100000 % 10000 / 1000); 808cd5a: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808cd5e: 0953 lsrs r3, r2, #5 808cd60: 49cf ldr r1, [pc, #828] ; (808d0a0 ) 808cd62: fba1 1303 umull r1, r3, r1, r3 808cd66: 09db lsrs r3, r3, #7 808cd68: 49cb ldr r1, [pc, #812] ; (808d098 ) 808cd6a: fb01 f303 mul.w r3, r1, r3 808cd6e: 1ad3 subs r3, r2, r3 808cd70: 4aca ldr r2, [pc, #808] ; (808d09c ) 808cd72: fba2 1203 umull r1, r2, r2, r3 808cd76: 0b52 lsrs r2, r2, #13 808cd78: f242 7110 movw r1, #10000 ; 0x2710 808cd7c: fb01 f202 mul.w r2, r1, r2 808cd80: 1a9a subs r2, r3, r2 808cd82: 4bc8 ldr r3, [pc, #800] ; (808d0a4 ) 808cd84: fba3 2302 umull r2, r3, r3, r2 808cd88: 099b lsrs r3, r3, #6 808cd8a: b2db uxtb r3, r3 808cd8c: f887 33cf strb.w r3, [r7, #975] ; 0x3cf iedHP = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 808cd90: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 808cd94: 095a lsrs r2, r3, #5 808cd96: 49c2 ldr r1, [pc, #776] ; (808d0a0 ) 808cd98: fba1 1202 umull r1, r2, r1, r2 808cd9c: 09d2 lsrs r2, r2, #7 808cd9e: 49be ldr r1, [pc, #760] ; (808d098 ) 808cda0: fb01 f202 mul.w r2, r1, r2 808cda4: 1a9a subs r2, r3, r2 808cda6: 4bbd ldr r3, [pc, #756] ; (808d09c ) 808cda8: fba3 1302 umull r1, r3, r3, r2 808cdac: 0b5b lsrs r3, r3, #13 808cdae: f242 7110 movw r1, #10000 ; 0x2710 808cdb2: fb01 f303 mul.w r3, r1, r3 808cdb6: 1ad3 subs r3, r2, r3 808cdb8: 4aba ldr r2, [pc, #744] ; (808d0a4 ) 808cdba: fba2 1203 umull r1, r2, r2, r3 808cdbe: 0992 lsrs r2, r2, #6 808cdc0: f44f 717a mov.w r1, #1000 ; 0x3e8 808cdc4: fb01 f202 mul.w r2, r1, r2 808cdc8: 1a9a subs r2, r3, r2 808cdca: 4bb7 ldr r3, [pc, #732] ; (808d0a8 ) 808cdcc: fba3 2302 umull r2, r3, r3, r2 808cdd0: 095b lsrs r3, r3, #5 808cdd2: b2db uxtb r3, r3 808cdd4: f887 33ce strb.w r3, [r7, #974] ; 0x3ce ieeHP = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 808cdd8: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808cddc: 0953 lsrs r3, r2, #5 808cdde: 49b0 ldr r1, [pc, #704] ; (808d0a0 ) 808cde0: fba1 1303 umull r1, r3, r1, r3 808cde4: 09db lsrs r3, r3, #7 808cde6: 49ac ldr r1, [pc, #688] ; (808d098 ) 808cde8: fb01 f303 mul.w r3, r1, r3 808cdec: 1ad3 subs r3, r2, r3 808cdee: 4aab ldr r2, [pc, #684] ; (808d09c ) 808cdf0: fba2 1203 umull r1, r2, r2, r3 808cdf4: 0b52 lsrs r2, r2, #13 808cdf6: f242 7110 movw r1, #10000 ; 0x2710 808cdfa: fb01 f202 mul.w r2, r1, r2 808cdfe: 1a9a subs r2, r3, r2 808ce00: 4ba8 ldr r3, [pc, #672] ; (808d0a4 ) 808ce02: fba3 1302 umull r1, r3, r3, r2 808ce06: 099b lsrs r3, r3, #6 808ce08: f44f 717a mov.w r1, #1000 ; 0x3e8 808ce0c: fb01 f303 mul.w r3, r1, r3 808ce10: 1ad3 subs r3, r2, r3 808ce12: 4aa5 ldr r2, [pc, #660] ; (808d0a8 ) 808ce14: fba2 1203 umull r1, r2, r2, r3 808ce18: 0952 lsrs r2, r2, #5 808ce1a: 2164 movs r1, #100 ; 0x64 808ce1c: fb01 f202 mul.w r2, r1, r2 808ce20: 1a9a subs r2, r3, r2 808ce22: 4ba2 ldr r3, [pc, #648] ; (808d0ac ) 808ce24: fba3 2302 umull r2, r3, r3, r2 808ce28: 08db lsrs r3, r3, #3 808ce2a: b2db uxtb r3, r3 808ce2c: f887 33cd strb.w r3, [r7, #973] ; 0x3cd ikdHP = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 808ce30: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808ce34: 0953 lsrs r3, r2, #5 808ce36: 499a ldr r1, [pc, #616] ; (808d0a0 ) 808ce38: fba1 1303 umull r1, r3, r1, r3 808ce3c: 09db lsrs r3, r3, #7 808ce3e: 4996 ldr r1, [pc, #600] ; (808d098 ) 808ce40: fb01 f303 mul.w r3, r1, r3 808ce44: 1ad3 subs r3, r2, r3 808ce46: 4a95 ldr r2, [pc, #596] ; (808d09c ) 808ce48: fba2 1203 umull r1, r2, r2, r3 808ce4c: 0b52 lsrs r2, r2, #13 808ce4e: f242 7110 movw r1, #10000 ; 0x2710 808ce52: fb01 f202 mul.w r2, r1, r2 808ce56: 1a9a subs r2, r3, r2 808ce58: 4b92 ldr r3, [pc, #584] ; (808d0a4 ) 808ce5a: fba3 1302 umull r1, r3, r3, r2 808ce5e: 099b lsrs r3, r3, #6 808ce60: f44f 717a mov.w r1, #1000 ; 0x3e8 808ce64: fb01 f303 mul.w r3, r1, r3 808ce68: 1ad3 subs r3, r2, r3 808ce6a: 4a8f ldr r2, [pc, #572] ; (808d0a8 ) 808ce6c: fba2 1203 umull r1, r2, r2, r3 808ce70: 0952 lsrs r2, r2, #5 808ce72: 2164 movs r1, #100 ; 0x64 808ce74: fb01 f202 mul.w r2, r1, r2 808ce78: 1a9a subs r2, r3, r2 808ce7a: 4b8c ldr r3, [pc, #560] ; (808d0ac ) 808ce7c: fba3 1302 umull r1, r3, r3, r2 808ce80: 08d9 lsrs r1, r3, #3 808ce82: 460b mov r3, r1 808ce84: 009b lsls r3, r3, #2 808ce86: 440b add r3, r1 808ce88: 005b lsls r3, r3, #1 808ce8a: 1ad1 subs r1, r2, r3 808ce8c: b2cb uxtb r3, r1 808ce8e: f887 33cc strb.w r3, [r7, #972] ; 0x3cc i = 0; 808ce92: 2300 movs r3, #0 808ce94: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 memset(strHP, 0, sizeof(strHP)); 808ce98: f507 73d2 add.w r3, r7, #420 ; 0x1a4 808ce9c: 220c movs r2, #12 808ce9e: 2100 movs r1, #0 808cea0: 4618 mov r0, r3 808cea2: f040 f8d1 bl 80cd048 if(idtHP != 0) 808cea6: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 808ceaa: b2db uxtb r3, r3 808ceac: 2b00 cmp r3, #0 808ceae: d00c beq.n 808ceca strHP[i++] = idtHP + 48; 808ceb0: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808ceb4: 1c5a adds r2, r3, #1 808ceb6: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808ceba: f897 23d1 ldrb.w r2, [r7, #977] ; 0x3d1 808cebe: b2d2 uxtb r2, r2 808cec0: 3230 adds r2, #48 ; 0x30 808cec2: b2d1 uxtb r1, r2 808cec4: f507 72d2 add.w r2, r7, #420 ; 0x1a4 808cec8: 54d1 strb r1, [r2, r3] if((ietHP != 0) || (idtHP != 0)) 808ceca: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 808cece: b2db uxtb r3, r3 808ced0: 2b00 cmp r3, #0 808ced2: d104 bne.n 808cede 808ced4: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 808ced8: b2db uxtb r3, r3 808ceda: 2b00 cmp r3, #0 808cedc: d00c beq.n 808cef8 strHP[i++] = ietHP + 48; 808cede: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808cee2: 1c5a adds r2, r3, #1 808cee4: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808cee8: f897 23d0 ldrb.w r2, [r7, #976] ; 0x3d0 808ceec: b2d2 uxtb r2, r2 808ceee: 3230 adds r2, #48 ; 0x30 808cef0: b2d1 uxtb r1, r2 808cef2: f507 72d2 add.w r2, r7, #420 ; 0x1a4 808cef6: 54d1 strb r1, [r2, r3] if((iesHP != 0) || (ietHP != 0) || (idtHP != 0)) 808cef8: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 808cefc: b2db uxtb r3, r3 808cefe: 2b00 cmp r3, #0 808cf00: d109 bne.n 808cf16 808cf02: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 808cf06: b2db uxtb r3, r3 808cf08: 2b00 cmp r3, #0 808cf0a: d104 bne.n 808cf16 808cf0c: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 808cf10: b2db uxtb r3, r3 808cf12: 2b00 cmp r3, #0 808cf14: d00c beq.n 808cf30 strHP[i++] = iesHP + 48; 808cf16: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808cf1a: 1c5a adds r2, r3, #1 808cf1c: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808cf20: f897 23cf ldrb.w r2, [r7, #975] ; 0x3cf 808cf24: b2d2 uxtb r2, r2 808cf26: 3230 adds r2, #48 ; 0x30 808cf28: b2d1 uxtb r1, r2 808cf2a: f507 72d2 add.w r2, r7, #420 ; 0x1a4 808cf2e: 54d1 strb r1, [r2, r3] if((iedHP != 0) || (iesHP != 0) || (ietHP != 0) || (idtHP != 0)) 808cf30: f897 33ce ldrb.w r3, [r7, #974] ; 0x3ce 808cf34: b2db uxtb r3, r3 808cf36: 2b00 cmp r3, #0 808cf38: d10e bne.n 808cf58 808cf3a: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 808cf3e: b2db uxtb r3, r3 808cf40: 2b00 cmp r3, #0 808cf42: d109 bne.n 808cf58 808cf44: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 808cf48: b2db uxtb r3, r3 808cf4a: 2b00 cmp r3, #0 808cf4c: d104 bne.n 808cf58 808cf4e: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 808cf52: b2db uxtb r3, r3 808cf54: 2b00 cmp r3, #0 808cf56: d00c beq.n 808cf72 strHP[i++] = iedHP + 48; 808cf58: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808cf5c: 1c5a adds r2, r3, #1 808cf5e: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808cf62: f897 23ce ldrb.w r2, [r7, #974] ; 0x3ce 808cf66: b2d2 uxtb r2, r2 808cf68: 3230 adds r2, #48 ; 0x30 808cf6a: b2d1 uxtb r1, r2 808cf6c: f507 72d2 add.w r2, r7, #420 ; 0x1a4 808cf70: 54d1 strb r1, [r2, r3] strHP[i++] = ieeHP + 48; 808cf72: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808cf76: 1c5a adds r2, r3, #1 808cf78: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808cf7c: f897 23cd ldrb.w r2, [r7, #973] ; 0x3cd 808cf80: b2d2 uxtb r2, r2 808cf82: 3230 adds r2, #48 ; 0x30 808cf84: b2d1 uxtb r1, r2 808cf86: f507 72d2 add.w r2, r7, #420 ; 0x1a4 808cf8a: 54d1 strb r1, [r2, r3] strHP[i++] = '.'; 808cf8c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808cf90: 1c5a adds r2, r3, #1 808cf92: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808cf96: f507 72d2 add.w r2, r7, #420 ; 0x1a4 808cf9a: 212e movs r1, #46 ; 0x2e 808cf9c: 54d1 strb r1, [r2, r3] strHP[i++] = ikdHP + 48; 808cf9e: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808cfa2: 1c5a adds r2, r3, #1 808cfa4: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808cfa8: f897 23cc ldrb.w r2, [r7, #972] ; 0x3cc 808cfac: b2d2 uxtb r2, r2 808cfae: 3230 adds r2, #48 ; 0x30 808cfb0: b2d1 uxtb r1, r2 808cfb2: f507 72d2 add.w r2, r7, #420 ; 0x1a4 808cfb6: 54d1 strb r1, [r2, r3] k = (uint32_t) (pardata.LP * 10.0f); 808cfb8: 4b3d ldr r3, [pc, #244] ; (808d0b0 ) 808cfba: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 808cfbe: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 808cfc2: ee67 7a87 vmul.f32 s15, s15, s14 808cfc6: eefc 7ae7 vcvt.u32.f32 s15, s15 808cfca: ee17 3a90 vmov r3, s15 808cfce: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 idtLP = (uint8_t) (k / 100000); 808cfd2: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 808cfd6: 095b lsrs r3, r3, #5 808cfd8: 4a31 ldr r2, [pc, #196] ; (808d0a0 ) 808cfda: fba2 2303 umull r2, r3, r2, r3 808cfde: 09db lsrs r3, r3, #7 808cfe0: b2db uxtb r3, r3 808cfe2: f887 33ca strb.w r3, [r7, #970] ; 0x3ca ietLP = (uint8_t) (k % 100000 / 10000); 808cfe6: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808cfea: 0953 lsrs r3, r2, #5 808cfec: 492c ldr r1, [pc, #176] ; (808d0a0 ) 808cfee: fba1 1303 umull r1, r3, r1, r3 808cff2: 09db lsrs r3, r3, #7 808cff4: 4928 ldr r1, [pc, #160] ; (808d098 ) 808cff6: fb01 f303 mul.w r3, r1, r3 808cffa: 1ad3 subs r3, r2, r3 808cffc: 4a27 ldr r2, [pc, #156] ; (808d09c ) 808cffe: fba2 2303 umull r2, r3, r2, r3 808d002: 0b5b lsrs r3, r3, #13 808d004: b2db uxtb r3, r3 808d006: f887 33c9 strb.w r3, [r7, #969] ; 0x3c9 iesLP = (uint8_t) (k % 100000 % 10000 / 1000); 808d00a: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808d00e: 0953 lsrs r3, r2, #5 808d010: 4923 ldr r1, [pc, #140] ; (808d0a0 ) 808d012: fba1 1303 umull r1, r3, r1, r3 808d016: 09db lsrs r3, r3, #7 808d018: 491f ldr r1, [pc, #124] ; (808d098 ) 808d01a: fb01 f303 mul.w r3, r1, r3 808d01e: 1ad3 subs r3, r2, r3 808d020: 4a1e ldr r2, [pc, #120] ; (808d09c ) 808d022: fba2 1203 umull r1, r2, r2, r3 808d026: 0b52 lsrs r2, r2, #13 808d028: f242 7110 movw r1, #10000 ; 0x2710 808d02c: fb01 f202 mul.w r2, r1, r2 808d030: 1a9a subs r2, r3, r2 808d032: 4b1c ldr r3, [pc, #112] ; (808d0a4 ) 808d034: fba3 2302 umull r2, r3, r3, r2 808d038: 099b lsrs r3, r3, #6 808d03a: b2db uxtb r3, r3 808d03c: f887 33c8 strb.w r3, [r7, #968] ; 0x3c8 iedLP = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 808d040: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 808d044: 095a lsrs r2, r3, #5 808d046: 4916 ldr r1, [pc, #88] ; (808d0a0 ) 808d048: fba1 1202 umull r1, r2, r1, r2 808d04c: 09d2 lsrs r2, r2, #7 808d04e: 4912 ldr r1, [pc, #72] ; (808d098 ) 808d050: fb01 f202 mul.w r2, r1, r2 808d054: 1a9a subs r2, r3, r2 808d056: 4b11 ldr r3, [pc, #68] ; (808d09c ) 808d058: fba3 1302 umull r1, r3, r3, r2 808d05c: 0b5b lsrs r3, r3, #13 808d05e: f242 7110 movw r1, #10000 ; 0x2710 808d062: fb01 f303 mul.w r3, r1, r3 808d066: 1ad3 subs r3, r2, r3 808d068: 4a0e ldr r2, [pc, #56] ; (808d0a4 ) 808d06a: fba2 1203 umull r1, r2, r2, r3 808d06e: 0992 lsrs r2, r2, #6 808d070: f44f 717a mov.w r1, #1000 ; 0x3e8 808d074: fb01 f202 mul.w r2, r1, r2 808d078: 1a9a subs r2, r3, r2 808d07a: 4b0b ldr r3, [pc, #44] ; (808d0a8 ) 808d07c: fba3 2302 umull r2, r3, r3, r2 808d080: 095b lsrs r3, r3, #5 808d082: b2db uxtb r3, r3 808d084: f887 33c7 strb.w r3, [r7, #967] ; 0x3c7 ieeLP = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 808d088: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808d08c: 0953 lsrs r3, r2, #5 808d08e: 4904 ldr r1, [pc, #16] ; (808d0a0 ) 808d090: fba1 1303 umull r1, r3, r1, r3 808d094: 09db lsrs r3, r3, #7 808d096: e00d b.n 808d0b4 808d098: 000186a0 .word 0x000186a0 808d09c: d1b71759 .word 0xd1b71759 808d0a0: 0a7c5ac5 .word 0x0a7c5ac5 808d0a4: 10624dd3 .word 0x10624dd3 808d0a8: 51eb851f .word 0x51eb851f 808d0ac: cccccccd .word 0xcccccccd 808d0b0: 20023e60 .word 0x20023e60 808d0b4: 49bd ldr r1, [pc, #756] ; (808d3ac ) 808d0b6: fb01 f303 mul.w r3, r1, r3 808d0ba: 1ad3 subs r3, r2, r3 808d0bc: 4abc ldr r2, [pc, #752] ; (808d3b0 ) 808d0be: fba2 1203 umull r1, r2, r2, r3 808d0c2: 0b52 lsrs r2, r2, #13 808d0c4: f242 7110 movw r1, #10000 ; 0x2710 808d0c8: fb01 f202 mul.w r2, r1, r2 808d0cc: 1a9a subs r2, r3, r2 808d0ce: 4bb9 ldr r3, [pc, #740] ; (808d3b4 ) 808d0d0: fba3 1302 umull r1, r3, r3, r2 808d0d4: 099b lsrs r3, r3, #6 808d0d6: f44f 717a mov.w r1, #1000 ; 0x3e8 808d0da: fb01 f303 mul.w r3, r1, r3 808d0de: 1ad3 subs r3, r2, r3 808d0e0: 4ab5 ldr r2, [pc, #724] ; (808d3b8 ) 808d0e2: fba2 1203 umull r1, r2, r2, r3 808d0e6: 0952 lsrs r2, r2, #5 808d0e8: 2164 movs r1, #100 ; 0x64 808d0ea: fb01 f202 mul.w r2, r1, r2 808d0ee: 1a9a subs r2, r3, r2 808d0f0: 4bb2 ldr r3, [pc, #712] ; (808d3bc ) 808d0f2: fba3 2302 umull r2, r3, r3, r2 808d0f6: 08db lsrs r3, r3, #3 808d0f8: b2db uxtb r3, r3 808d0fa: f887 33c6 strb.w r3, [r7, #966] ; 0x3c6 ikdLP = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 808d0fe: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808d102: 0953 lsrs r3, r2, #5 808d104: 49ae ldr r1, [pc, #696] ; (808d3c0 ) 808d106: fba1 1303 umull r1, r3, r1, r3 808d10a: 09db lsrs r3, r3, #7 808d10c: 49a7 ldr r1, [pc, #668] ; (808d3ac ) 808d10e: fb01 f303 mul.w r3, r1, r3 808d112: 1ad3 subs r3, r2, r3 808d114: 4aa6 ldr r2, [pc, #664] ; (808d3b0 ) 808d116: fba2 1203 umull r1, r2, r2, r3 808d11a: 0b52 lsrs r2, r2, #13 808d11c: f242 7110 movw r1, #10000 ; 0x2710 808d120: fb01 f202 mul.w r2, r1, r2 808d124: 1a9a subs r2, r3, r2 808d126: 4ba3 ldr r3, [pc, #652] ; (808d3b4 ) 808d128: fba3 1302 umull r1, r3, r3, r2 808d12c: 099b lsrs r3, r3, #6 808d12e: f44f 717a mov.w r1, #1000 ; 0x3e8 808d132: fb01 f303 mul.w r3, r1, r3 808d136: 1ad3 subs r3, r2, r3 808d138: 4a9f ldr r2, [pc, #636] ; (808d3b8 ) 808d13a: fba2 1203 umull r1, r2, r2, r3 808d13e: 0952 lsrs r2, r2, #5 808d140: 2164 movs r1, #100 ; 0x64 808d142: fb01 f202 mul.w r2, r1, r2 808d146: 1a9a subs r2, r3, r2 808d148: 4b9c ldr r3, [pc, #624] ; (808d3bc ) 808d14a: fba3 1302 umull r1, r3, r3, r2 808d14e: 08d9 lsrs r1, r3, #3 808d150: 460b mov r3, r1 808d152: 009b lsls r3, r3, #2 808d154: 440b add r3, r1 808d156: 005b lsls r3, r3, #1 808d158: 1ad1 subs r1, r2, r3 808d15a: b2cb uxtb r3, r1 808d15c: f887 33c5 strb.w r3, [r7, #965] ; 0x3c5 i = 0; 808d160: 2300 movs r3, #0 808d162: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 memset(strLP, 0, sizeof(strLP)); 808d166: f507 73cc add.w r3, r7, #408 ; 0x198 808d16a: 220c movs r2, #12 808d16c: 2100 movs r1, #0 808d16e: 4618 mov r0, r3 808d170: f03f ff6a bl 80cd048 if(idtLP != 0) 808d174: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 808d178: b2db uxtb r3, r3 808d17a: 2b00 cmp r3, #0 808d17c: d00c beq.n 808d198 strLP[i++] = idtLP + 48; 808d17e: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808d182: 1c5a adds r2, r3, #1 808d184: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808d188: f897 23ca ldrb.w r2, [r7, #970] ; 0x3ca 808d18c: b2d2 uxtb r2, r2 808d18e: 3230 adds r2, #48 ; 0x30 808d190: b2d1 uxtb r1, r2 808d192: f507 72cc add.w r2, r7, #408 ; 0x198 808d196: 54d1 strb r1, [r2, r3] if((ietLP != 0) || (idtLP != 0)) 808d198: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 808d19c: b2db uxtb r3, r3 808d19e: 2b00 cmp r3, #0 808d1a0: d104 bne.n 808d1ac 808d1a2: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 808d1a6: b2db uxtb r3, r3 808d1a8: 2b00 cmp r3, #0 808d1aa: d00c beq.n 808d1c6 strLP[i++] = ietLP + 48; 808d1ac: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808d1b0: 1c5a adds r2, r3, #1 808d1b2: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808d1b6: f897 23c9 ldrb.w r2, [r7, #969] ; 0x3c9 808d1ba: b2d2 uxtb r2, r2 808d1bc: 3230 adds r2, #48 ; 0x30 808d1be: b2d1 uxtb r1, r2 808d1c0: f507 72cc add.w r2, r7, #408 ; 0x198 808d1c4: 54d1 strb r1, [r2, r3] if((iesLP != 0) || (ietLP != 0) || (idtLP != 0)) 808d1c6: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 808d1ca: b2db uxtb r3, r3 808d1cc: 2b00 cmp r3, #0 808d1ce: d109 bne.n 808d1e4 808d1d0: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 808d1d4: b2db uxtb r3, r3 808d1d6: 2b00 cmp r3, #0 808d1d8: d104 bne.n 808d1e4 808d1da: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 808d1de: b2db uxtb r3, r3 808d1e0: 2b00 cmp r3, #0 808d1e2: d00c beq.n 808d1fe strLP[i++] = iesLP + 48; 808d1e4: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808d1e8: 1c5a adds r2, r3, #1 808d1ea: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808d1ee: f897 23c8 ldrb.w r2, [r7, #968] ; 0x3c8 808d1f2: b2d2 uxtb r2, r2 808d1f4: 3230 adds r2, #48 ; 0x30 808d1f6: b2d1 uxtb r1, r2 808d1f8: f507 72cc add.w r2, r7, #408 ; 0x198 808d1fc: 54d1 strb r1, [r2, r3] if((iedLP != 0) || (iesLP != 0) || (ietLP != 0) || (idtLP != 0)) 808d1fe: f897 33c7 ldrb.w r3, [r7, #967] ; 0x3c7 808d202: b2db uxtb r3, r3 808d204: 2b00 cmp r3, #0 808d206: d10e bne.n 808d226 808d208: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 808d20c: b2db uxtb r3, r3 808d20e: 2b00 cmp r3, #0 808d210: d109 bne.n 808d226 808d212: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 808d216: b2db uxtb r3, r3 808d218: 2b00 cmp r3, #0 808d21a: d104 bne.n 808d226 808d21c: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 808d220: b2db uxtb r3, r3 808d222: 2b00 cmp r3, #0 808d224: d00c beq.n 808d240 strLP[i++] = iedLP + 48; 808d226: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808d22a: 1c5a adds r2, r3, #1 808d22c: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808d230: f897 23c7 ldrb.w r2, [r7, #967] ; 0x3c7 808d234: b2d2 uxtb r2, r2 808d236: 3230 adds r2, #48 ; 0x30 808d238: b2d1 uxtb r1, r2 808d23a: f507 72cc add.w r2, r7, #408 ; 0x198 808d23e: 54d1 strb r1, [r2, r3] strLP[i++] = ieeLP + 48; 808d240: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808d244: 1c5a adds r2, r3, #1 808d246: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808d24a: f897 23c6 ldrb.w r2, [r7, #966] ; 0x3c6 808d24e: b2d2 uxtb r2, r2 808d250: 3230 adds r2, #48 ; 0x30 808d252: b2d1 uxtb r1, r2 808d254: f507 72cc add.w r2, r7, #408 ; 0x198 808d258: 54d1 strb r1, [r2, r3] strLP[i++] = '.'; 808d25a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808d25e: 1c5a adds r2, r3, #1 808d260: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808d264: f507 72cc add.w r2, r7, #408 ; 0x198 808d268: 212e movs r1, #46 ; 0x2e 808d26a: 54d1 strb r1, [r2, r3] strLP[i++] = ikdLP + 48; 808d26c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808d270: 1c5a adds r2, r3, #1 808d272: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808d276: f897 23c5 ldrb.w r2, [r7, #965] ; 0x3c5 808d27a: b2d2 uxtb r2, r2 808d27c: 3230 adds r2, #48 ; 0x30 808d27e: b2d1 uxtb r1, r2 808d280: f507 72cc add.w r2, r7, #408 ; 0x198 808d284: 54d1 strb r1, [r2, r3] if(pardata.LANG == RUS) 808d286: 4b4f ldr r3, [pc, #316] ; (808d3c4 ) 808d288: 7b1b ldrb r3, [r3, #12] 808d28a: b2db uxtb r3, r3 808d28c: 2b00 cmp r3, #0 808d28e: d133 bne.n 808d2f8 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808d290: 494d ldr r1, [pc, #308] ; (808d3c8 ) 808d292: f04f 30ff mov.w r0, #4294967295 808d296: f7c6 fa89 bl 80537ac LCD_DisplayString(10, LCD_LINE_3, "Âåëè÷èíà"); 808d29a: 4a4c ldr r2, [pc, #304] ; (808d3cc ) 808d29c: 213a movs r1, #58 ; 0x3a 808d29e: 200a movs r0, #10 808d2a0: f7c7 f82c bl 80542fc LCD_DisplayString(10, LCD_LINE_4, "Ôèëüòð Â×(Ãö)"); 808d2a4: 4a4a ldr r2, [pc, #296] ; (808d3d0 ) 808d2a6: 214a movs r1, #74 ; 0x4a 808d2a8: 200a movs r0, #10 808d2aa: f7c7 f827 bl 80542fc LCD_DisplayString(10, LCD_LINE_5, "Ôèëüòð Í×(Ãö)"); 808d2ae: 4a49 ldr r2, [pc, #292] ; (808d3d4 ) 808d2b0: 215a movs r1, #90 ; 0x5a 808d2b2: 200a movs r0, #10 808d2b4: f7c7 f822 bl 80542fc LCD_DisplayString(10, LCD_LINE_6, "×àñòîòà âûáîðêè"); 808d2b8: 4a47 ldr r2, [pc, #284] ; (808d3d8 ) 808d2ba: 216a movs r1, #106 ; 0x6a 808d2bc: 200a movs r0, #10 808d2be: f7c7 f81d bl 80542fc LCD_DisplayString(10, LCD_LINE_7, "Âðåìÿ âûáîðêè"); 808d2c2: 4a46 ldr r2, [pc, #280] ; (808d3dc ) 808d2c4: 217a movs r1, #122 ; 0x7a 808d2c6: 200a movs r0, #10 808d2c8: f7c7 f818 bl 80542fc if((pardata.IPR > ACC) || (pardata.OPTIONS & 0x4)) 808d2cc: 4b3d ldr r3, [pc, #244] ; (808d3c4 ) 808d2ce: 785b ldrb r3, [r3, #1] 808d2d0: b2db uxtb r3, r3 808d2d2: 2b00 cmp r3, #0 808d2d4: d106 bne.n 808d2e4 808d2d6: 4b3b ldr r3, [pc, #236] ; (808d3c4 ) 808d2d8: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 808d2dc: f003 0304 and.w r3, r3, #4 808d2e0: 2b00 cmp r3, #0 808d2e2: d003 beq.n 808d2ec LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 808d2e4: 4938 ldr r1, [pc, #224] ; (808d3c8 ) 808d2e6: 483e ldr r0, [pc, #248] ; (808d3e0 ) 808d2e8: f7c6 fa60 bl 80537ac LCD_DisplayString(10, LCD_LINE_10, "Ñòîï ïî ïîðîãó"); 808d2ec: 4a3d ldr r2, [pc, #244] ; (808d3e4 ) 808d2ee: 21aa movs r1, #170 ; 0xaa 808d2f0: 200a movs r0, #10 808d2f2: f7c7 f803 bl 80542fc 808d2f6: e032 b.n 808d35e } else { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808d2f8: 4933 ldr r1, [pc, #204] ; (808d3c8 ) 808d2fa: f04f 30ff mov.w r0, #4294967295 808d2fe: f7c6 fa55 bl 80537ac LCD_DisplayString(10, LCD_LINE_3, "Parameter"); 808d302: 4a39 ldr r2, [pc, #228] ; (808d3e8 ) 808d304: 213a movs r1, #58 ; 0x3a 808d306: 200a movs r0, #10 808d308: f7c6 fff8 bl 80542fc LCD_DisplayString(10, LCD_LINE_4, "HPF(Hz)"); 808d30c: 4a37 ldr r2, [pc, #220] ; (808d3ec ) 808d30e: 214a movs r1, #74 ; 0x4a 808d310: 200a movs r0, #10 808d312: f7c6 fff3 bl 80542fc LCD_DisplayString(10, LCD_LINE_5, "LPF(Hz)"); 808d316: 4a36 ldr r2, [pc, #216] ; (808d3f0 ) 808d318: 215a movs r1, #90 ; 0x5a 808d31a: 200a movs r0, #10 808d31c: f7c6 ffee bl 80542fc LCD_DisplayString(10, LCD_LINE_6, "Sample rate"); 808d320: 4a34 ldr r2, [pc, #208] ; (808d3f4 ) 808d322: 216a movs r1, #106 ; 0x6a 808d324: 200a movs r0, #10 808d326: f7c6 ffe9 bl 80542fc LCD_DisplayString(10, LCD_LINE_7, "Time interval"); 808d32a: 4a33 ldr r2, [pc, #204] ; (808d3f8 ) 808d32c: 217a movs r1, #122 ; 0x7a 808d32e: 200a movs r0, #10 808d330: f7c6 ffe4 bl 80542fc if((pardata.IPR > ACC) || (pardata.OPTIONS & 0x4)) 808d334: 4b23 ldr r3, [pc, #140] ; (808d3c4 ) 808d336: 785b ldrb r3, [r3, #1] 808d338: b2db uxtb r3, r3 808d33a: 2b00 cmp r3, #0 808d33c: d106 bne.n 808d34c 808d33e: 4b21 ldr r3, [pc, #132] ; (808d3c4 ) 808d340: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 808d344: f003 0304 and.w r3, r3, #4 808d348: 2b00 cmp r3, #0 808d34a: d003 beq.n 808d354 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 808d34c: 491e ldr r1, [pc, #120] ; (808d3c8 ) 808d34e: 4824 ldr r0, [pc, #144] ; (808d3e0 ) 808d350: f7c6 fa2c bl 80537ac LCD_DisplayString(10, LCD_LINE_10, "Stop on threshold"); 808d354: 4a29 ldr r2, [pc, #164] ; (808d3fc ) 808d356: 21aa movs r1, #170 ; 0xaa 808d358: 200a movs r0, #10 808d35a: f7c6 ffcf bl 80542fc } if(menupos != Ok) 808d35e: 4b28 ldr r3, [pc, #160] ; (808d400 ) 808d360: 781b ldrb r3, [r3, #0] 808d362: b2db uxtb r3, r3 808d364: 2b00 cmp r3, #0 808d366: d005 beq.n 808d374 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808d368: 4917 ldr r1, [pc, #92] ; (808d3c8 ) 808d36a: f04f 30ff mov.w r0, #4294967295 808d36e: f7c6 fa1d bl 80537ac 808d372: e004 b.n 808d37e else LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808d374: 4914 ldr r1, [pc, #80] ; (808d3c8 ) 808d376: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808d37a: f7c6 fa17 bl 80537ac LCD_DisplayString(10, LCD_LINE_2, (char *)TEXT_Next[pardata.LANG]); 808d37e: 4b11 ldr r3, [pc, #68] ; (808d3c4 ) 808d380: 7b1b ldrb r3, [r3, #12] 808d382: b2db uxtb r3, r3 808d384: 461a mov r2, r3 808d386: 4b1f ldr r3, [pc, #124] ; (808d404 ) 808d388: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808d38c: 461a mov r2, r3 808d38e: 2127 movs r1, #39 ; 0x27 808d390: 200a movs r0, #10 808d392: f7c6 ffb3 bl 80542fc if(menupos != OscValue) 808d396: 4b1a ldr r3, [pc, #104] ; (808d400 ) 808d398: 781b ldrb r3, [r3, #0] 808d39a: b2db uxtb r3, r3 808d39c: 2b01 cmp r3, #1 808d39e: d035 beq.n 808d40c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808d3a0: 4909 ldr r1, [pc, #36] ; (808d3c8 ) 808d3a2: 4819 ldr r0, [pc, #100] ; (808d408 ) 808d3a4: f7c6 fa02 bl 80537ac 808d3a8: e035 b.n 808d416 808d3aa: bf00 nop 808d3ac: 000186a0 .word 0x000186a0 808d3b0: d1b71759 .word 0xd1b71759 808d3b4: 10624dd3 .word 0x10624dd3 808d3b8: 51eb851f .word 0x51eb851f 808d3bc: cccccccd .word 0xcccccccd 808d3c0: 0a7c5ac5 .word 0x0a7c5ac5 808d3c4: 20023e60 .word 0x20023e60 808d3c8: ff0a0f1f .word 0xff0a0f1f 808d3cc: 080cf728 .word 0x080cf728 808d3d0: 080cf1d0 .word 0x080cf1d0 808d3d4: 080cf1e0 .word 0x080cf1e0 808d3d8: 080cf42c .word 0x080cf42c 808d3dc: 080d0100 .word 0x080d0100 808d3e0: ff808080 .word 0xff808080 808d3e4: 080d0110 .word 0x080d0110 808d3e8: 080cf734 .word 0x080cf734 808d3ec: 080cf280 .word 0x080cf280 808d3f0: 080cf288 .word 0x080cf288 808d3f4: 080cf47c .word 0x080cf47c 808d3f8: 080d0120 .word 0x080d0120 808d3fc: 080d0130 .word 0x080d0130 808d400: 20020070 .word 0x20020070 808d404: 200205c4 .word 0x200205c4 808d408: ffd8aa57 .word 0xffd8aa57 else LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808d40c: 49b8 ldr r1, [pc, #736] ; (808d6f0 ) 808d40e: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808d412: f7c6 f9cb bl 80537ac if((focused) && (menupos == OscValue)) 808d416: 4bb7 ldr r3, [pc, #732] ; (808d6f4 ) 808d418: 781b ldrb r3, [r3, #0] 808d41a: b2db uxtb r3, r3 808d41c: 2b00 cmp r3, #0 808d41e: d01e beq.n 808d45e 808d420: 4bb5 ldr r3, [pc, #724] ; (808d6f8 ) 808d422: 781b ldrb r3, [r3, #0] 808d424: b2db uxtb r3, r3 808d426: 2b01 cmp r3, #1 808d428: d119 bne.n 808d45e { if(blk) 808d42a: 4bb4 ldr r3, [pc, #720] ; (808d6fc ) 808d42c: 681b ldr r3, [r3, #0] 808d42e: 2b00 cmp r3, #0 808d430: d02a beq.n 808d488 LCD_DisplayStringC(260, LCD_LINE_3, (char *) pIPR[pardata.LANG][pardata.IPR]); 808d432: 4bb3 ldr r3, [pc, #716] ; (808d700 ) 808d434: 7b1b ldrb r3, [r3, #12] 808d436: b2db uxtb r3, r3 808d438: 4619 mov r1, r3 808d43a: 4bb1 ldr r3, [pc, #708] ; (808d700 ) 808d43c: 785b ldrb r3, [r3, #1] 808d43e: b2db uxtb r3, r3 808d440: 4618 mov r0, r3 808d442: 4ab0 ldr r2, [pc, #704] ; (808d704 ) 808d444: 460b mov r3, r1 808d446: 005b lsls r3, r3, #1 808d448: 440b add r3, r1 808d44a: 4403 add r3, r0 808d44c: f852 3023 ldr.w r3, [r2, r3, lsl #2] 808d450: 461a mov r2, r3 808d452: 213a movs r1, #58 ; 0x3a 808d454: f44f 7082 mov.w r0, #260 ; 0x104 808d458: f7c6 ff68 bl 805432c if(blk) 808d45c: e014 b.n 808d488 } else LCD_DisplayStringC(260, LCD_LINE_3, (char *) pIPR[pardata.LANG][pardata.IPR]); 808d45e: 4ba8 ldr r3, [pc, #672] ; (808d700 ) 808d460: 7b1b ldrb r3, [r3, #12] 808d462: b2db uxtb r3, r3 808d464: 4619 mov r1, r3 808d466: 4ba6 ldr r3, [pc, #664] ; (808d700 ) 808d468: 785b ldrb r3, [r3, #1] 808d46a: b2db uxtb r3, r3 808d46c: 4618 mov r0, r3 808d46e: 4aa5 ldr r2, [pc, #660] ; (808d704 ) 808d470: 460b mov r3, r1 808d472: 005b lsls r3, r3, #1 808d474: 440b add r3, r1 808d476: 4403 add r3, r0 808d478: f852 3023 ldr.w r3, [r2, r3, lsl #2] 808d47c: 461a mov r2, r3 808d47e: 213a movs r1, #58 ; 0x3a 808d480: f44f 7082 mov.w r0, #260 ; 0x104 808d484: f7c6 ff52 bl 805432c if(menupos != FilterHP) 808d488: 4b9b ldr r3, [pc, #620] ; (808d6f8 ) 808d48a: 781b ldrb r3, [r3, #0] 808d48c: b2db uxtb r3, r3 808d48e: 2b17 cmp r3, #23 808d490: d004 beq.n 808d49c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808d492: 4997 ldr r1, [pc, #604] ; (808d6f0 ) 808d494: 489c ldr r0, [pc, #624] ; (808d708 ) 808d496: f7c6 f989 bl 80537ac 808d49a: e004 b.n 808d4a6 else LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808d49c: 4994 ldr r1, [pc, #592] ; (808d6f0 ) 808d49e: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808d4a2: f7c6 f983 bl 80537ac if((menupos < FilterHP_IDT) || (menupos > FilterHP_IKD)) 808d4a6: 4b94 ldr r3, [pc, #592] ; (808d6f8 ) 808d4a8: 781b ldrb r3, [r3, #0] 808d4aa: b2db uxtb r3, r3 808d4ac: 2b18 cmp r3, #24 808d4ae: d904 bls.n 808d4ba 808d4b0: 4b91 ldr r3, [pc, #580] ; (808d6f8 ) 808d4b2: 781b ldrb r3, [r3, #0] 808d4b4: b2db uxtb r3, r3 808d4b6: 2b1e cmp r3, #30 808d4b8: d907 bls.n 808d4ca LCD_DisplayStringC(260, LCD_LINE_4, strHP); 808d4ba: f507 73d2 add.w r3, r7, #420 ; 0x1a4 808d4be: 461a mov r2, r3 808d4c0: 214a movs r1, #74 ; 0x4a 808d4c2: f44f 7082 mov.w r0, #260 ; 0x104 808d4c6: f7c6 ff31 bl 805432c if(menupos != FilterLP) 808d4ca: 4b8b ldr r3, [pc, #556] ; (808d6f8 ) 808d4cc: 781b ldrb r3, [r3, #0] 808d4ce: b2db uxtb r3, r3 808d4d0: 2b18 cmp r3, #24 808d4d2: d004 beq.n 808d4de LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808d4d4: 4986 ldr r1, [pc, #536] ; (808d6f0 ) 808d4d6: 488c ldr r0, [pc, #560] ; (808d708 ) 808d4d8: f7c6 f968 bl 80537ac 808d4dc: e004 b.n 808d4e8 else LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808d4de: 4984 ldr r1, [pc, #528] ; (808d6f0 ) 808d4e0: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808d4e4: f7c6 f962 bl 80537ac if((menupos < FilterLP_IDT) || (menupos > FilterLP_IKD)) 808d4e8: 4b83 ldr r3, [pc, #524] ; (808d6f8 ) 808d4ea: 781b ldrb r3, [r3, #0] 808d4ec: b2db uxtb r3, r3 808d4ee: 2b1e cmp r3, #30 808d4f0: d904 bls.n 808d4fc 808d4f2: 4b81 ldr r3, [pc, #516] ; (808d6f8 ) 808d4f4: 781b ldrb r3, [r3, #0] 808d4f6: b2db uxtb r3, r3 808d4f8: 2b24 cmp r3, #36 ; 0x24 808d4fa: d907 bls.n 808d50c LCD_DisplayStringC(260, LCD_LINE_5, strLP); 808d4fc: f507 73cc add.w r3, r7, #408 ; 0x198 808d500: 461a mov r2, r3 808d502: 215a movs r1, #90 ; 0x5a 808d504: f44f 7082 mov.w r0, #260 ; 0x104 808d508: f7c6 ff10 bl 805432c if(menupos != OscRate) 808d50c: 4b7a ldr r3, [pc, #488] ; (808d6f8 ) 808d50e: 781b ldrb r3, [r3, #0] 808d510: b2db uxtb r3, r3 808d512: 2b03 cmp r3, #3 808d514: d004 beq.n 808d520 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808d516: 4976 ldr r1, [pc, #472] ; (808d6f0 ) 808d518: 487b ldr r0, [pc, #492] ; (808d708 ) 808d51a: f7c6 f947 bl 80537ac 808d51e: e004 b.n 808d52a else LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808d520: 4973 ldr r1, [pc, #460] ; (808d6f0 ) 808d522: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808d526: f7c6 f941 bl 80537ac if((focused) && (menupos == OscRate)) 808d52a: 4b72 ldr r3, [pc, #456] ; (808d6f4 ) 808d52c: 781b ldrb r3, [r3, #0] 808d52e: b2db uxtb r3, r3 808d530: 2b00 cmp r3, #0 808d532: d01f beq.n 808d574 808d534: 4b70 ldr r3, [pc, #448] ; (808d6f8 ) 808d536: 781b ldrb r3, [r3, #0] 808d538: b2db uxtb r3, r3 808d53a: 2b03 cmp r3, #3 808d53c: d11a bne.n 808d574 { if(blk) 808d53e: 4b6f ldr r3, [pc, #444] ; (808d6fc ) 808d540: 681b ldr r3, [r3, #0] 808d542: 2b00 cmp r3, #0 808d544: d02c beq.n 808d5a0 LCD_DisplayStringC(260, LCD_LINE_6, (char *) pFRQ[pardata.LANG][pardata.FRQ]); 808d546: 4b6e ldr r3, [pc, #440] ; (808d700 ) 808d548: 7b1b ldrb r3, [r3, #12] 808d54a: b2db uxtb r3, r3 808d54c: 4619 mov r1, r3 808d54e: 4b6c ldr r3, [pc, #432] ; (808d700 ) 808d550: 7adb ldrb r3, [r3, #11] 808d552: b2db uxtb r3, r3 808d554: 4618 mov r0, r3 808d556: 4a6d ldr r2, [pc, #436] ; (808d70c ) 808d558: 460b mov r3, r1 808d55a: 009b lsls r3, r3, #2 808d55c: 440b add r3, r1 808d55e: 005b lsls r3, r3, #1 808d560: 4403 add r3, r0 808d562: f852 3023 ldr.w r3, [r2, r3, lsl #2] 808d566: 461a mov r2, r3 808d568: 216a movs r1, #106 ; 0x6a 808d56a: f44f 7082 mov.w r0, #260 ; 0x104 808d56e: f7c6 fedd bl 805432c if(blk) 808d572: e015 b.n 808d5a0 } else LCD_DisplayStringC(260, LCD_LINE_6, (char *) pFRQ[pardata.LANG][pardata.FRQ]); 808d574: 4b62 ldr r3, [pc, #392] ; (808d700 ) 808d576: 7b1b ldrb r3, [r3, #12] 808d578: b2db uxtb r3, r3 808d57a: 4619 mov r1, r3 808d57c: 4b60 ldr r3, [pc, #384] ; (808d700 ) 808d57e: 7adb ldrb r3, [r3, #11] 808d580: b2db uxtb r3, r3 808d582: 4618 mov r0, r3 808d584: 4a61 ldr r2, [pc, #388] ; (808d70c ) 808d586: 460b mov r3, r1 808d588: 009b lsls r3, r3, #2 808d58a: 440b add r3, r1 808d58c: 005b lsls r3, r3, #1 808d58e: 4403 add r3, r0 808d590: f852 3023 ldr.w r3, [r2, r3, lsl #2] 808d594: 461a mov r2, r3 808d596: 216a movs r1, #106 ; 0x6a 808d598: f44f 7082 mov.w r0, #260 ; 0x104 808d59c: f7c6 fec6 bl 805432c if(menupos != OscLen) 808d5a0: 4b55 ldr r3, [pc, #340] ; (808d6f8 ) 808d5a2: 781b ldrb r3, [r3, #0] 808d5a4: b2db uxtb r3, r3 808d5a6: 2b04 cmp r3, #4 808d5a8: d004 beq.n 808d5b4 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808d5aa: 4951 ldr r1, [pc, #324] ; (808d6f0 ) 808d5ac: 4856 ldr r0, [pc, #344] ; (808d708 ) 808d5ae: f7c6 f8fd bl 80537ac 808d5b2: e004 b.n 808d5be else LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808d5b4: 494e ldr r1, [pc, #312] ; (808d6f0 ) 808d5b6: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808d5ba: f7c6 f8f7 bl 80537ac if((focused) && (menupos == OscLen)) 808d5be: 4b4d ldr r3, [pc, #308] ; (808d6f4 ) 808d5c0: 781b ldrb r3, [r3, #0] 808d5c2: b2db uxtb r3, r3 808d5c4: 2b00 cmp r3, #0 808d5c6: f000 8135 beq.w 808d834 808d5ca: 4b4b ldr r3, [pc, #300] ; (808d6f8 ) 808d5cc: 781b ldrb r3, [r3, #0] 808d5ce: b2db uxtb r3, r3 808d5d0: 2b04 cmp r3, #4 808d5d2: f040 812f bne.w 808d834 { if(blk) 808d5d6: 4b49 ldr r3, [pc, #292] ; (808d6fc ) 808d5d8: 681b ldr r3, [r3, #0] 808d5da: 2b00 cmp r3, #0 808d5dc: f000 824f beq.w 808da7e { if(pardata.FRQ == _125Hz) LCD_DisplayStringC(260, LCD_LINE_7, (char *) pLEN_125[pardata.LANG][pardata.LNE]); 808d5e0: 4b47 ldr r3, [pc, #284] ; (808d700 ) 808d5e2: 7adb ldrb r3, [r3, #11] 808d5e4: b2db uxtb r3, r3 808d5e6: 2b00 cmp r3, #0 808d5e8: d115 bne.n 808d616 808d5ea: 4b45 ldr r3, [pc, #276] ; (808d700 ) 808d5ec: 7b1b ldrb r3, [r3, #12] 808d5ee: b2db uxtb r3, r3 808d5f0: 4619 mov r1, r3 808d5f2: 4b43 ldr r3, [pc, #268] ; (808d700 ) 808d5f4: 79db ldrb r3, [r3, #7] 808d5f6: b2db uxtb r3, r3 808d5f8: 4618 mov r0, r3 808d5fa: 4a45 ldr r2, [pc, #276] ; (808d710 ) 808d5fc: 460b mov r3, r1 808d5fe: 009b lsls r3, r3, #2 808d600: 440b add r3, r1 808d602: 4403 add r3, r0 808d604: f852 3023 ldr.w r3, [r2, r3, lsl #2] 808d608: 461a mov r2, r3 808d60a: 217a movs r1, #122 ; 0x7a 808d60c: f44f 7082 mov.w r0, #260 ; 0x104 808d610: f7c6 fe8c bl 805432c if(blk) 808d614: e233 b.n 808da7e else if(pardata.FRQ == _250Hz) LCD_DisplayStringC(260, LCD_LINE_7, (char *) pLEN_250[pardata.LANG][pardata.LNE]); 808d616: 4b3a ldr r3, [pc, #232] ; (808d700 ) 808d618: 7adb ldrb r3, [r3, #11] 808d61a: b2db uxtb r3, r3 808d61c: 2b01 cmp r3, #1 808d61e: d115 bne.n 808d64c 808d620: 4b37 ldr r3, [pc, #220] ; (808d700 ) 808d622: 7b1b ldrb r3, [r3, #12] 808d624: b2db uxtb r3, r3 808d626: 4619 mov r1, r3 808d628: 4b35 ldr r3, [pc, #212] ; (808d700 ) 808d62a: 79db ldrb r3, [r3, #7] 808d62c: b2db uxtb r3, r3 808d62e: 4618 mov r0, r3 808d630: 4a38 ldr r2, [pc, #224] ; (808d714 ) 808d632: 460b mov r3, r1 808d634: 009b lsls r3, r3, #2 808d636: 440b add r3, r1 808d638: 4403 add r3, r0 808d63a: f852 3023 ldr.w r3, [r2, r3, lsl #2] 808d63e: 461a mov r2, r3 808d640: 217a movs r1, #122 ; 0x7a 808d642: f44f 7082 mov.w r0, #260 ; 0x104 808d646: f7c6 fe71 bl 805432c if(blk) 808d64a: e218 b.n 808da7e else if(pardata.FRQ == _500Hz) LCD_DisplayStringC(260, LCD_LINE_7, (char *) pLEN_500[pardata.LANG][pardata.LNE]); 808d64c: 4b2c ldr r3, [pc, #176] ; (808d700 ) 808d64e: 7adb ldrb r3, [r3, #11] 808d650: b2db uxtb r3, r3 808d652: 2b02 cmp r3, #2 808d654: d115 bne.n 808d682 808d656: 4b2a ldr r3, [pc, #168] ; (808d700 ) 808d658: 7b1b ldrb r3, [r3, #12] 808d65a: b2db uxtb r3, r3 808d65c: 4619 mov r1, r3 808d65e: 4b28 ldr r3, [pc, #160] ; (808d700 ) 808d660: 79db ldrb r3, [r3, #7] 808d662: b2db uxtb r3, r3 808d664: 4618 mov r0, r3 808d666: 4a2c ldr r2, [pc, #176] ; (808d718 ) 808d668: 460b mov r3, r1 808d66a: 009b lsls r3, r3, #2 808d66c: 440b add r3, r1 808d66e: 4403 add r3, r0 808d670: f852 3023 ldr.w r3, [r2, r3, lsl #2] 808d674: 461a mov r2, r3 808d676: 217a movs r1, #122 ; 0x7a 808d678: f44f 7082 mov.w r0, #260 ; 0x104 808d67c: f7c6 fe56 bl 805432c if(blk) 808d680: e1fd b.n 808da7e else if(pardata.FRQ == _1000Hz)LCD_DisplayStringC(260, LCD_LINE_7, (char *) pLEN_1000[pardata.LANG][pardata.LNE]); 808d682: 4b1f ldr r3, [pc, #124] ; (808d700 ) 808d684: 7adb ldrb r3, [r3, #11] 808d686: b2db uxtb r3, r3 808d688: 2b03 cmp r3, #3 808d68a: d115 bne.n 808d6b8 808d68c: 4b1c ldr r3, [pc, #112] ; (808d700 ) 808d68e: 7b1b ldrb r3, [r3, #12] 808d690: b2db uxtb r3, r3 808d692: 4619 mov r1, r3 808d694: 4b1a ldr r3, [pc, #104] ; (808d700 ) 808d696: 79db ldrb r3, [r3, #7] 808d698: b2db uxtb r3, r3 808d69a: 4618 mov r0, r3 808d69c: 4a1f ldr r2, [pc, #124] ; (808d71c ) 808d69e: 460b mov r3, r1 808d6a0: 009b lsls r3, r3, #2 808d6a2: 440b add r3, r1 808d6a4: 4403 add r3, r0 808d6a6: f852 3023 ldr.w r3, [r2, r3, lsl #2] 808d6aa: 461a mov r2, r3 808d6ac: 217a movs r1, #122 ; 0x7a 808d6ae: f44f 7082 mov.w r0, #260 ; 0x104 808d6b2: f7c6 fe3b bl 805432c if(blk) 808d6b6: e1e2 b.n 808da7e else if(pardata.FRQ == _2000Hz)LCD_DisplayStringC(260, LCD_LINE_7, (char *) pLEN_2000[pardata.LANG][pardata.LNE]); 808d6b8: 4b11 ldr r3, [pc, #68] ; (808d700 ) 808d6ba: 7adb ldrb r3, [r3, #11] 808d6bc: b2db uxtb r3, r3 808d6be: 2b04 cmp r3, #4 808d6c0: d130 bne.n 808d724 808d6c2: 4b0f ldr r3, [pc, #60] ; (808d700 ) 808d6c4: 7b1b ldrb r3, [r3, #12] 808d6c6: b2db uxtb r3, r3 808d6c8: 4619 mov r1, r3 808d6ca: 4b0d ldr r3, [pc, #52] ; (808d700 ) 808d6cc: 79db ldrb r3, [r3, #7] 808d6ce: b2db uxtb r3, r3 808d6d0: 4618 mov r0, r3 808d6d2: 4a13 ldr r2, [pc, #76] ; (808d720 ) 808d6d4: 460b mov r3, r1 808d6d6: 009b lsls r3, r3, #2 808d6d8: 440b add r3, r1 808d6da: 4403 add r3, r0 808d6dc: f852 3023 ldr.w r3, [r2, r3, lsl #2] 808d6e0: 461a mov r2, r3 808d6e2: 217a movs r1, #122 ; 0x7a 808d6e4: f44f 7082 mov.w r0, #260 ; 0x104 808d6e8: f7c6 fe20 bl 805432c if(blk) 808d6ec: e1c7 b.n 808da7e 808d6ee: bf00 nop 808d6f0: ff0a0f1f .word 0xff0a0f1f 808d6f4: 20020f84 .word 0x20020f84 808d6f8: 20020070 .word 0x20020070 808d6fc: 2002165c .word 0x2002165c 808d700: 20023e60 .word 0x20023e60 808d704: 20020164 .word 0x20020164 808d708: ffd8aa57 .word 0xffd8aa57 808d70c: 200202e4 .word 0x200202e4 808d710: 2002042c .word 0x2002042c 808d714: 20020454 .word 0x20020454 808d718: 2002047c .word 0x2002047c 808d71c: 200204a4 .word 0x200204a4 808d720: 200204cc .word 0x200204cc else if(pardata.FRQ == _4000Hz)LCD_DisplayStringC(260, LCD_LINE_7, (char *) pLEN_4000[pardata.LANG][pardata.LNE]); 808d724: 4bbd ldr r3, [pc, #756] ; (808da1c ) 808d726: 7adb ldrb r3, [r3, #11] 808d728: b2db uxtb r3, r3 808d72a: 2b05 cmp r3, #5 808d72c: d115 bne.n 808d75a 808d72e: 4bbb ldr r3, [pc, #748] ; (808da1c ) 808d730: 7b1b ldrb r3, [r3, #12] 808d732: b2db uxtb r3, r3 808d734: 4619 mov r1, r3 808d736: 4bb9 ldr r3, [pc, #740] ; (808da1c ) 808d738: 79db ldrb r3, [r3, #7] 808d73a: b2db uxtb r3, r3 808d73c: 4618 mov r0, r3 808d73e: 4ab8 ldr r2, [pc, #736] ; (808da20 ) 808d740: 460b mov r3, r1 808d742: 009b lsls r3, r3, #2 808d744: 440b add r3, r1 808d746: 4403 add r3, r0 808d748: f852 3023 ldr.w r3, [r2, r3, lsl #2] 808d74c: 461a mov r2, r3 808d74e: 217a movs r1, #122 ; 0x7a 808d750: f44f 7082 mov.w r0, #260 ; 0x104 808d754: f7c6 fdea bl 805432c if(blk) 808d758: e191 b.n 808da7e else if(pardata.FRQ == _8000Hz)LCD_DisplayStringC(260, LCD_LINE_7, (char *) pLEN_8000[pardata.LANG][pardata.LNE]); 808d75a: 4bb0 ldr r3, [pc, #704] ; (808da1c ) 808d75c: 7adb ldrb r3, [r3, #11] 808d75e: b2db uxtb r3, r3 808d760: 2b06 cmp r3, #6 808d762: d115 bne.n 808d790 808d764: 4bad ldr r3, [pc, #692] ; (808da1c ) 808d766: 7b1b ldrb r3, [r3, #12] 808d768: b2db uxtb r3, r3 808d76a: 4619 mov r1, r3 808d76c: 4bab ldr r3, [pc, #684] ; (808da1c ) 808d76e: 79db ldrb r3, [r3, #7] 808d770: b2db uxtb r3, r3 808d772: 4618 mov r0, r3 808d774: 4aab ldr r2, [pc, #684] ; (808da24 ) 808d776: 460b mov r3, r1 808d778: 009b lsls r3, r3, #2 808d77a: 440b add r3, r1 808d77c: 4403 add r3, r0 808d77e: f852 3023 ldr.w r3, [r2, r3, lsl #2] 808d782: 461a mov r2, r3 808d784: 217a movs r1, #122 ; 0x7a 808d786: f44f 7082 mov.w r0, #260 ; 0x104 808d78a: f7c6 fdcf bl 805432c if(blk) 808d78e: e176 b.n 808da7e else if(pardata.FRQ == _16000Hz)LCD_DisplayStringC(260, LCD_LINE_7, (char *) pLEN_16000[pardata.LANG][pardata.LNE]); 808d790: 4ba2 ldr r3, [pc, #648] ; (808da1c ) 808d792: 7adb ldrb r3, [r3, #11] 808d794: b2db uxtb r3, r3 808d796: 2b07 cmp r3, #7 808d798: d115 bne.n 808d7c6 808d79a: 4ba0 ldr r3, [pc, #640] ; (808da1c ) 808d79c: 7b1b ldrb r3, [r3, #12] 808d79e: b2db uxtb r3, r3 808d7a0: 4619 mov r1, r3 808d7a2: 4b9e ldr r3, [pc, #632] ; (808da1c ) 808d7a4: 79db ldrb r3, [r3, #7] 808d7a6: b2db uxtb r3, r3 808d7a8: 4618 mov r0, r3 808d7aa: 4a9f ldr r2, [pc, #636] ; (808da28 ) 808d7ac: 460b mov r3, r1 808d7ae: 009b lsls r3, r3, #2 808d7b0: 440b add r3, r1 808d7b2: 4403 add r3, r0 808d7b4: f852 3023 ldr.w r3, [r2, r3, lsl #2] 808d7b8: 461a mov r2, r3 808d7ba: 217a movs r1, #122 ; 0x7a 808d7bc: f44f 7082 mov.w r0, #260 ; 0x104 808d7c0: f7c6 fdb4 bl 805432c if(blk) 808d7c4: e15b b.n 808da7e else if(pardata.FRQ == _32000Hz) LCD_DisplayStringC(260, LCD_LINE_7, (char *) pLEN_32000[pardata.LANG][pardata.LNE]); 808d7c6: 4b95 ldr r3, [pc, #596] ; (808da1c ) 808d7c8: 7adb ldrb r3, [r3, #11] 808d7ca: b2db uxtb r3, r3 808d7cc: 2b08 cmp r3, #8 808d7ce: d115 bne.n 808d7fc 808d7d0: 4b92 ldr r3, [pc, #584] ; (808da1c ) 808d7d2: 7b1b ldrb r3, [r3, #12] 808d7d4: b2db uxtb r3, r3 808d7d6: 4619 mov r1, r3 808d7d8: 4b90 ldr r3, [pc, #576] ; (808da1c ) 808d7da: 79db ldrb r3, [r3, #7] 808d7dc: b2db uxtb r3, r3 808d7de: 4618 mov r0, r3 808d7e0: 4a92 ldr r2, [pc, #584] ; (808da2c ) 808d7e2: 460b mov r3, r1 808d7e4: 009b lsls r3, r3, #2 808d7e6: 440b add r3, r1 808d7e8: 4403 add r3, r0 808d7ea: f852 3023 ldr.w r3, [r2, r3, lsl #2] 808d7ee: 461a mov r2, r3 808d7f0: 217a movs r1, #122 ; 0x7a 808d7f2: f44f 7082 mov.w r0, #260 ; 0x104 808d7f6: f7c6 fd99 bl 805432c if(blk) 808d7fa: e140 b.n 808da7e else if(pardata.FRQ == _64000Hz) LCD_DisplayStringC(260, LCD_LINE_7, (char *) pLEN_64000[pardata.LANG][pardata.LNE]); 808d7fc: 4b87 ldr r3, [pc, #540] ; (808da1c ) 808d7fe: 7adb ldrb r3, [r3, #11] 808d800: b2db uxtb r3, r3 808d802: 2b09 cmp r3, #9 808d804: f040 813b bne.w 808da7e 808d808: 4b84 ldr r3, [pc, #528] ; (808da1c ) 808d80a: 7b1b ldrb r3, [r3, #12] 808d80c: b2db uxtb r3, r3 808d80e: 4619 mov r1, r3 808d810: 4b82 ldr r3, [pc, #520] ; (808da1c ) 808d812: 79db ldrb r3, [r3, #7] 808d814: b2db uxtb r3, r3 808d816: 4618 mov r0, r3 808d818: 4a85 ldr r2, [pc, #532] ; (808da30 ) 808d81a: 460b mov r3, r1 808d81c: 009b lsls r3, r3, #2 808d81e: 440b add r3, r1 808d820: 4403 add r3, r0 808d822: f852 3023 ldr.w r3, [r2, r3, lsl #2] 808d826: 461a mov r2, r3 808d828: 217a movs r1, #122 ; 0x7a 808d82a: f44f 7082 mov.w r0, #260 ; 0x104 808d82e: f7c6 fd7d bl 805432c if(blk) 808d832: e124 b.n 808da7e } } else { if(pardata.FRQ == _125Hz) LCD_DisplayStringC(260, LCD_LINE_7, (char *) pLEN_125[pardata.LANG][pardata.LNE]); 808d834: 4b79 ldr r3, [pc, #484] ; (808da1c ) 808d836: 7adb ldrb r3, [r3, #11] 808d838: b2db uxtb r3, r3 808d83a: 2b00 cmp r3, #0 808d83c: d115 bne.n 808d86a 808d83e: 4b77 ldr r3, [pc, #476] ; (808da1c ) 808d840: 7b1b ldrb r3, [r3, #12] 808d842: b2db uxtb r3, r3 808d844: 4619 mov r1, r3 808d846: 4b75 ldr r3, [pc, #468] ; (808da1c ) 808d848: 79db ldrb r3, [r3, #7] 808d84a: b2db uxtb r3, r3 808d84c: 4618 mov r0, r3 808d84e: 4a79 ldr r2, [pc, #484] ; (808da34 ) 808d850: 460b mov r3, r1 808d852: 009b lsls r3, r3, #2 808d854: 440b add r3, r1 808d856: 4403 add r3, r0 808d858: f852 3023 ldr.w r3, [r2, r3, lsl #2] 808d85c: 461a mov r2, r3 808d85e: 217a movs r1, #122 ; 0x7a 808d860: f44f 7082 mov.w r0, #260 ; 0x104 808d864: f7c6 fd62 bl 805432c 808d868: e10a b.n 808da80 else if(pardata.FRQ == _250Hz) LCD_DisplayStringC(260, LCD_LINE_7, (char *) pLEN_250[pardata.LANG][pardata.LNE]); 808d86a: 4b6c ldr r3, [pc, #432] ; (808da1c ) 808d86c: 7adb ldrb r3, [r3, #11] 808d86e: b2db uxtb r3, r3 808d870: 2b01 cmp r3, #1 808d872: d115 bne.n 808d8a0 808d874: 4b69 ldr r3, [pc, #420] ; (808da1c ) 808d876: 7b1b ldrb r3, [r3, #12] 808d878: b2db uxtb r3, r3 808d87a: 4619 mov r1, r3 808d87c: 4b67 ldr r3, [pc, #412] ; (808da1c ) 808d87e: 79db ldrb r3, [r3, #7] 808d880: b2db uxtb r3, r3 808d882: 4618 mov r0, r3 808d884: 4a6c ldr r2, [pc, #432] ; (808da38 ) 808d886: 460b mov r3, r1 808d888: 009b lsls r3, r3, #2 808d88a: 440b add r3, r1 808d88c: 4403 add r3, r0 808d88e: f852 3023 ldr.w r3, [r2, r3, lsl #2] 808d892: 461a mov r2, r3 808d894: 217a movs r1, #122 ; 0x7a 808d896: f44f 7082 mov.w r0, #260 ; 0x104 808d89a: f7c6 fd47 bl 805432c 808d89e: e0ef b.n 808da80 else if(pardata.FRQ == _500Hz) LCD_DisplayStringC(260, LCD_LINE_7, (char *) pLEN_500[pardata.LANG][pardata.LNE]); 808d8a0: 4b5e ldr r3, [pc, #376] ; (808da1c ) 808d8a2: 7adb ldrb r3, [r3, #11] 808d8a4: b2db uxtb r3, r3 808d8a6: 2b02 cmp r3, #2 808d8a8: d115 bne.n 808d8d6 808d8aa: 4b5c ldr r3, [pc, #368] ; (808da1c ) 808d8ac: 7b1b ldrb r3, [r3, #12] 808d8ae: b2db uxtb r3, r3 808d8b0: 4619 mov r1, r3 808d8b2: 4b5a ldr r3, [pc, #360] ; (808da1c ) 808d8b4: 79db ldrb r3, [r3, #7] 808d8b6: b2db uxtb r3, r3 808d8b8: 4618 mov r0, r3 808d8ba: 4a60 ldr r2, [pc, #384] ; (808da3c ) 808d8bc: 460b mov r3, r1 808d8be: 009b lsls r3, r3, #2 808d8c0: 440b add r3, r1 808d8c2: 4403 add r3, r0 808d8c4: f852 3023 ldr.w r3, [r2, r3, lsl #2] 808d8c8: 461a mov r2, r3 808d8ca: 217a movs r1, #122 ; 0x7a 808d8cc: f44f 7082 mov.w r0, #260 ; 0x104 808d8d0: f7c6 fd2c bl 805432c 808d8d4: e0d4 b.n 808da80 else if(pardata.FRQ == _1000Hz)LCD_DisplayStringC(260, LCD_LINE_7, (char *) pLEN_1000[pardata.LANG][pardata.LNE]); 808d8d6: 4b51 ldr r3, [pc, #324] ; (808da1c ) 808d8d8: 7adb ldrb r3, [r3, #11] 808d8da: b2db uxtb r3, r3 808d8dc: 2b03 cmp r3, #3 808d8de: d115 bne.n 808d90c 808d8e0: 4b4e ldr r3, [pc, #312] ; (808da1c ) 808d8e2: 7b1b ldrb r3, [r3, #12] 808d8e4: b2db uxtb r3, r3 808d8e6: 4619 mov r1, r3 808d8e8: 4b4c ldr r3, [pc, #304] ; (808da1c ) 808d8ea: 79db ldrb r3, [r3, #7] 808d8ec: b2db uxtb r3, r3 808d8ee: 4618 mov r0, r3 808d8f0: 4a53 ldr r2, [pc, #332] ; (808da40 ) 808d8f2: 460b mov r3, r1 808d8f4: 009b lsls r3, r3, #2 808d8f6: 440b add r3, r1 808d8f8: 4403 add r3, r0 808d8fa: f852 3023 ldr.w r3, [r2, r3, lsl #2] 808d8fe: 461a mov r2, r3 808d900: 217a movs r1, #122 ; 0x7a 808d902: f44f 7082 mov.w r0, #260 ; 0x104 808d906: f7c6 fd11 bl 805432c 808d90a: e0b9 b.n 808da80 else if(pardata.FRQ == _2000Hz)LCD_DisplayStringC(260, LCD_LINE_7, (char *) pLEN_2000[pardata.LANG][pardata.LNE]); 808d90c: 4b43 ldr r3, [pc, #268] ; (808da1c ) 808d90e: 7adb ldrb r3, [r3, #11] 808d910: b2db uxtb r3, r3 808d912: 2b04 cmp r3, #4 808d914: d115 bne.n 808d942 808d916: 4b41 ldr r3, [pc, #260] ; (808da1c ) 808d918: 7b1b ldrb r3, [r3, #12] 808d91a: b2db uxtb r3, r3 808d91c: 4619 mov r1, r3 808d91e: 4b3f ldr r3, [pc, #252] ; (808da1c ) 808d920: 79db ldrb r3, [r3, #7] 808d922: b2db uxtb r3, r3 808d924: 4618 mov r0, r3 808d926: 4a47 ldr r2, [pc, #284] ; (808da44 ) 808d928: 460b mov r3, r1 808d92a: 009b lsls r3, r3, #2 808d92c: 440b add r3, r1 808d92e: 4403 add r3, r0 808d930: f852 3023 ldr.w r3, [r2, r3, lsl #2] 808d934: 461a mov r2, r3 808d936: 217a movs r1, #122 ; 0x7a 808d938: f44f 7082 mov.w r0, #260 ; 0x104 808d93c: f7c6 fcf6 bl 805432c 808d940: e09e b.n 808da80 else if(pardata.FRQ == _4000Hz)LCD_DisplayStringC(260, LCD_LINE_7, (char *) pLEN_4000[pardata.LANG][pardata.LNE]); 808d942: 4b36 ldr r3, [pc, #216] ; (808da1c ) 808d944: 7adb ldrb r3, [r3, #11] 808d946: b2db uxtb r3, r3 808d948: 2b05 cmp r3, #5 808d94a: d115 bne.n 808d978 808d94c: 4b33 ldr r3, [pc, #204] ; (808da1c ) 808d94e: 7b1b ldrb r3, [r3, #12] 808d950: b2db uxtb r3, r3 808d952: 4619 mov r1, r3 808d954: 4b31 ldr r3, [pc, #196] ; (808da1c ) 808d956: 79db ldrb r3, [r3, #7] 808d958: b2db uxtb r3, r3 808d95a: 4618 mov r0, r3 808d95c: 4a30 ldr r2, [pc, #192] ; (808da20 ) 808d95e: 460b mov r3, r1 808d960: 009b lsls r3, r3, #2 808d962: 440b add r3, r1 808d964: 4403 add r3, r0 808d966: f852 3023 ldr.w r3, [r2, r3, lsl #2] 808d96a: 461a mov r2, r3 808d96c: 217a movs r1, #122 ; 0x7a 808d96e: f44f 7082 mov.w r0, #260 ; 0x104 808d972: f7c6 fcdb bl 805432c 808d976: e083 b.n 808da80 else if(pardata.FRQ == _8000Hz)LCD_DisplayStringC(260, LCD_LINE_7, (char *) pLEN_8000[pardata.LANG][pardata.LNE]); 808d978: 4b28 ldr r3, [pc, #160] ; (808da1c ) 808d97a: 7adb ldrb r3, [r3, #11] 808d97c: b2db uxtb r3, r3 808d97e: 2b06 cmp r3, #6 808d980: d115 bne.n 808d9ae 808d982: 4b26 ldr r3, [pc, #152] ; (808da1c ) 808d984: 7b1b ldrb r3, [r3, #12] 808d986: b2db uxtb r3, r3 808d988: 4619 mov r1, r3 808d98a: 4b24 ldr r3, [pc, #144] ; (808da1c ) 808d98c: 79db ldrb r3, [r3, #7] 808d98e: b2db uxtb r3, r3 808d990: 4618 mov r0, r3 808d992: 4a24 ldr r2, [pc, #144] ; (808da24 ) 808d994: 460b mov r3, r1 808d996: 009b lsls r3, r3, #2 808d998: 440b add r3, r1 808d99a: 4403 add r3, r0 808d99c: f852 3023 ldr.w r3, [r2, r3, lsl #2] 808d9a0: 461a mov r2, r3 808d9a2: 217a movs r1, #122 ; 0x7a 808d9a4: f44f 7082 mov.w r0, #260 ; 0x104 808d9a8: f7c6 fcc0 bl 805432c 808d9ac: e068 b.n 808da80 else if(pardata.FRQ == _16000Hz)LCD_DisplayStringC(260, LCD_LINE_7, (char *) pLEN_16000[pardata.LANG][pardata.LNE]); 808d9ae: 4b1b ldr r3, [pc, #108] ; (808da1c ) 808d9b0: 7adb ldrb r3, [r3, #11] 808d9b2: b2db uxtb r3, r3 808d9b4: 2b07 cmp r3, #7 808d9b6: d115 bne.n 808d9e4 808d9b8: 4b18 ldr r3, [pc, #96] ; (808da1c ) 808d9ba: 7b1b ldrb r3, [r3, #12] 808d9bc: b2db uxtb r3, r3 808d9be: 4619 mov r1, r3 808d9c0: 4b16 ldr r3, [pc, #88] ; (808da1c ) 808d9c2: 79db ldrb r3, [r3, #7] 808d9c4: b2db uxtb r3, r3 808d9c6: 4618 mov r0, r3 808d9c8: 4a17 ldr r2, [pc, #92] ; (808da28 ) 808d9ca: 460b mov r3, r1 808d9cc: 009b lsls r3, r3, #2 808d9ce: 440b add r3, r1 808d9d0: 4403 add r3, r0 808d9d2: f852 3023 ldr.w r3, [r2, r3, lsl #2] 808d9d6: 461a mov r2, r3 808d9d8: 217a movs r1, #122 ; 0x7a 808d9da: f44f 7082 mov.w r0, #260 ; 0x104 808d9de: f7c6 fca5 bl 805432c 808d9e2: e04d b.n 808da80 else if(pardata.FRQ == _32000Hz) LCD_DisplayStringC(260, LCD_LINE_7, (char *) pLEN_32000[pardata.LANG][pardata.LNE]); 808d9e4: 4b0d ldr r3, [pc, #52] ; (808da1c ) 808d9e6: 7adb ldrb r3, [r3, #11] 808d9e8: b2db uxtb r3, r3 808d9ea: 2b08 cmp r3, #8 808d9ec: d12c bne.n 808da48 808d9ee: 4b0b ldr r3, [pc, #44] ; (808da1c ) 808d9f0: 7b1b ldrb r3, [r3, #12] 808d9f2: b2db uxtb r3, r3 808d9f4: 4619 mov r1, r3 808d9f6: 4b09 ldr r3, [pc, #36] ; (808da1c ) 808d9f8: 79db ldrb r3, [r3, #7] 808d9fa: b2db uxtb r3, r3 808d9fc: 4618 mov r0, r3 808d9fe: 4a0b ldr r2, [pc, #44] ; (808da2c ) 808da00: 460b mov r3, r1 808da02: 009b lsls r3, r3, #2 808da04: 440b add r3, r1 808da06: 4403 add r3, r0 808da08: f852 3023 ldr.w r3, [r2, r3, lsl #2] 808da0c: 461a mov r2, r3 808da0e: 217a movs r1, #122 ; 0x7a 808da10: f44f 7082 mov.w r0, #260 ; 0x104 808da14: f7c6 fc8a bl 805432c 808da18: e032 b.n 808da80 808da1a: bf00 nop 808da1c: 20023e60 .word 0x20023e60 808da20: 200204f4 .word 0x200204f4 808da24: 2002051c .word 0x2002051c 808da28: 20020544 .word 0x20020544 808da2c: 2002056c .word 0x2002056c 808da30: 20020594 .word 0x20020594 808da34: 2002042c .word 0x2002042c 808da38: 20020454 .word 0x20020454 808da3c: 2002047c .word 0x2002047c 808da40: 200204a4 .word 0x200204a4 808da44: 200204cc .word 0x200204cc else if(pardata.FRQ == _64000Hz) LCD_DisplayStringC(260, LCD_LINE_7, (char *) pLEN_64000[pardata.LANG][pardata.LNE]); 808da48: 4bb7 ldr r3, [pc, #732] ; (808dd28 ) 808da4a: 7adb ldrb r3, [r3, #11] 808da4c: b2db uxtb r3, r3 808da4e: 2b09 cmp r3, #9 808da50: d116 bne.n 808da80 808da52: 4bb5 ldr r3, [pc, #724] ; (808dd28 ) 808da54: 7b1b ldrb r3, [r3, #12] 808da56: b2db uxtb r3, r3 808da58: 4619 mov r1, r3 808da5a: 4bb3 ldr r3, [pc, #716] ; (808dd28 ) 808da5c: 79db ldrb r3, [r3, #7] 808da5e: b2db uxtb r3, r3 808da60: 4618 mov r0, r3 808da62: 4ab2 ldr r2, [pc, #712] ; (808dd2c ) 808da64: 460b mov r3, r1 808da66: 009b lsls r3, r3, #2 808da68: 440b add r3, r1 808da6a: 4403 add r3, r0 808da6c: f852 3023 ldr.w r3, [r2, r3, lsl #2] 808da70: 461a mov r2, r3 808da72: 217a movs r1, #122 ; 0x7a 808da74: f44f 7082 mov.w r0, #260 ; 0x104 808da78: f7c6 fc58 bl 805432c 808da7c: e000 b.n 808da80 if(blk) 808da7e: bf00 nop } if(menupos == OscThr) 808da80: 4bab ldr r3, [pc, #684] ; (808dd30 ) 808da82: 781b ldrb r3, [r3, #0] 808da84: b2db uxtb r3, r3 808da86: 2b07 cmp r3, #7 808da88: d10a bne.n 808daa0 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808da8a: 49aa ldr r1, [pc, #680] ; (808dd34 ) 808da8c: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808da90: f7c5 fe8c bl 80537ac BSP_LCD_FillRect(253, CHECKBOX_LINE_10-2, 14, 14); 808da94: 230e movs r3, #14 808da96: 220e movs r2, #14 808da98: 21ab movs r1, #171 ; 0xab 808da9a: 20fd movs r0, #253 ; 0xfd 808da9c: f7c6 fb14 bl 80540c8 } LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808daa0: 49a4 ldr r1, [pc, #656] ; (808dd34 ) 808daa2: f04f 30ff mov.w r0, #4294967295 808daa6: f7c5 fe81 bl 80537ac BSP_LCD_FillRect(255, CHECKBOX_LINE_10, 10, 10); 808daaa: 230a movs r3, #10 808daac: 220a movs r2, #10 808daae: 21ad movs r1, #173 ; 0xad 808dab0: 20ff movs r0, #255 ; 0xff 808dab2: f7c6 fb09 bl 80540c8 if(menupos == OscAutoKu) 808dab6: 4b9e ldr r3, [pc, #632] ; (808dd30 ) 808dab8: 781b ldrb r3, [r3, #0] 808daba: b2db uxtb r3, r3 808dabc: 2b05 cmp r3, #5 808dabe: d10a bne.n 808dad6 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808dac0: 499c ldr r1, [pc, #624] ; (808dd34 ) 808dac2: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808dac6: f7c5 fe71 bl 80537ac BSP_LCD_FillRect(253, CHECKBOX_LINE_8-2, 14, 14); 808daca: 230e movs r3, #14 808dacc: 220e movs r2, #14 808dace: 218b movs r1, #139 ; 0x8b 808dad0: 20fd movs r0, #253 ; 0xfd 808dad2: f7c6 faf9 bl 80540c8 } LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808dad6: 4997 ldr r1, [pc, #604] ; (808dd34 ) 808dad8: f04f 30ff mov.w r0, #4294967295 808dadc: f7c5 fe66 bl 80537ac BSP_LCD_FillRect(255, CHECKBOX_LINE_8, 10, 10); 808dae0: 230a movs r3, #10 808dae2: 220a movs r2, #10 808dae4: 218d movs r1, #141 ; 0x8d 808dae6: 20ff movs r0, #255 ; 0xff 808dae8: f7c6 faee bl 80540c8 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808daec: 4991 ldr r1, [pc, #580] ; (808dd34 ) 808daee: f04f 30ff mov.w r0, #4294967295 808daf2: f7c5 fe5b bl 80537ac LCD_DisplayString(10, LCD_LINE_8, (char *) TEXT_PARAM_VIB[pardata.LANG][8]);//"Óñèëåíèå" 808daf6: 4b8c ldr r3, [pc, #560] ; (808dd28 ) 808daf8: 7b1b ldrb r3, [r3, #12] 808dafa: b2db uxtb r3, r3 808dafc: 4619 mov r1, r3 808dafe: 4a8e ldr r2, [pc, #568] ; (808dd38 ) 808db00: 232c movs r3, #44 ; 0x2c 808db02: fb03 f301 mul.w r3, r3, r1 808db06: 4413 add r3, r2 808db08: 3320 adds r3, #32 808db0a: 681b ldr r3, [r3, #0] 808db0c: 461a mov r2, r3 808db0e: 218a movs r1, #138 ; 0x8a 808db10: 200a movs r0, #10 808db12: f7c6 fbf3 bl 80542fc if(pardata.THR & 0x80) 808db16: 4b84 ldr r3, [pc, #528] ; (808dd28 ) 808db18: 7bdb ldrb r3, [r3, #15] 808db1a: b2db uxtb r3, r3 808db1c: b25b sxtb r3, r3 808db1e: 2b00 cmp r3, #0 808db20: f280 80cb bge.w 808dcba { if(pardata.IPR == ACC) 808db24: 4b80 ldr r3, [pc, #512] ; (808dd28 ) 808db26: 785b ldrb r3, [r3, #1] 808db28: b2db uxtb r3, r3 808db2a: 2b00 cmp r3, #0 808db2c: d151 bne.n 808dbd2 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808db2e: 4981 ldr r1, [pc, #516] ; (808dd34 ) 808db30: f04f 30ff mov.w r0, #4294967295 808db34: f7c5 fe3a bl 80537ac if(pardata.IIN != VOLTS) 808db38: 4b7b ldr r3, [pc, #492] ; (808dd28 ) 808db3a: 799b ldrb r3, [r3, #6] 808db3c: b2db uxtb r3, r3 808db3e: 2b02 cmp r3, #2 808db40: d010 beq.n 808db64 LCD_DisplayString(10, LCD_LINE_9, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 808db42: 4b79 ldr r3, [pc, #484] ; (808dd28 ) 808db44: 7b1b ldrb r3, [r3, #12] 808db46: b2db uxtb r3, r3 808db48: 4619 mov r1, r3 808db4a: 4a7b ldr r2, [pc, #492] ; (808dd38 ) 808db4c: 232c movs r3, #44 ; 0x2c 808db4e: fb03 f301 mul.w r3, r3, r1 808db52: 4413 add r3, r2 808db54: 3324 adds r3, #36 ; 0x24 808db56: 681b ldr r3, [r3, #0] 808db58: 461a mov r2, r3 808db5a: 219a movs r1, #154 ; 0x9a 808db5c: 200a movs r0, #10 808db5e: f7c6 fbcd bl 80542fc 808db62: e00f b.n 808db84 else LCD_DisplayString(10, LCD_LINE_9, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ìV" 808db64: 4b70 ldr r3, [pc, #448] ; (808dd28 ) 808db66: 7b1b ldrb r3, [r3, #12] 808db68: b2db uxtb r3, r3 808db6a: 4619 mov r1, r3 808db6c: 4a73 ldr r2, [pc, #460] ; (808dd3c ) 808db6e: 232c movs r3, #44 ; 0x2c 808db70: fb03 f301 mul.w r3, r3, r1 808db74: 4413 add r3, r2 808db76: 3324 adds r3, #36 ; 0x24 808db78: 681b ldr r3, [r3, #0] 808db7a: 461a mov r2, r3 808db7c: 219a movs r1, #154 ; 0x9a 808db7e: 200a movs r0, #10 808db80: f7c6 fbbc bl 80542fc if(pardata.IIN != VOLTS) 808db84: 4b68 ldr r3, [pc, #416] ; (808dd28 ) 808db86: 799b ldrb r3, [r3, #6] 808db88: b2db uxtb r3, r3 808db8a: 2b02 cmp r3, #2 808db8c: d010 beq.n 808dbb0 { if(pardata.LANG == RUS) 808db8e: 4b66 ldr r3, [pc, #408] ; (808dd28 ) 808db90: 7b1b ldrb r3, [r3, #12] 808db92: b2db uxtb r3, r3 808db94: 2b00 cmp r3, #0 808db96: d105 bne.n 808dba4 LCD_DisplayString(10, LCD_LINE_11, "Ïîðîã(ïèê)(ì/c^)"); 808db98: 4a69 ldr r2, [pc, #420] ; (808dd40 ) 808db9a: 21ba movs r1, #186 ; 0xba 808db9c: 200a movs r0, #10 808db9e: f7c6 fbad bl 80542fc 808dba2: e115 b.n 808ddd0 else LCD_DisplayString(10, LCD_LINE_11, "Thr(peak)(m/s^)"); 808dba4: 4a67 ldr r2, [pc, #412] ; (808dd44 ) 808dba6: 21ba movs r1, #186 ; 0xba 808dba8: 200a movs r0, #10 808dbaa: f7c6 fba7 bl 80542fc 808dbae: e10f b.n 808ddd0 } else { if(pardata.LANG == RUS) 808dbb0: 4b5d ldr r3, [pc, #372] ; (808dd28 ) 808dbb2: 7b1b ldrb r3, [r3, #12] 808dbb4: b2db uxtb r3, r3 808dbb6: 2b00 cmp r3, #0 808dbb8: d105 bne.n 808dbc6 LCD_DisplayString(10, LCD_LINE_11, "Ïîðîã(ïèê)(ìÂ)"); 808dbba: 4a63 ldr r2, [pc, #396] ; (808dd48 ) 808dbbc: 21ba movs r1, #186 ; 0xba 808dbbe: 200a movs r0, #10 808dbc0: f7c6 fb9c bl 80542fc 808dbc4: e104 b.n 808ddd0 else LCD_DisplayString(10, LCD_LINE_11, "Thr(peak)(mV)"); 808dbc6: 4a61 ldr r2, [pc, #388] ; (808dd4c ) 808dbc8: 21ba movs r1, #186 ; 0xba 808dbca: 200a movs r0, #10 808dbcc: f7c6 fb96 bl 80542fc 808dbd0: e0fe b.n 808ddd0 } } else { if(pardata.OPTIONS & 0x4) 808dbd2: 4b55 ldr r3, [pc, #340] ; (808dd28 ) 808dbd4: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 808dbd8: f003 0304 and.w r3, r3, #4 808dbdc: 2b00 cmp r3, #0 808dbde: d00a beq.n 808dbf6 { LCD_SetColors(LCD_COLOR_DARKGRAY, LCD_COLOR_BLACK); 808dbe0: 4954 ldr r1, [pc, #336] ; (808dd34 ) 808dbe2: 485b ldr r0, [pc, #364] ; (808dd50 ) 808dbe4: f7c5 fde2 bl 80537ac BSP_LCD_FillRect(257, CHECKBOX_LINE_8+2, 6, 6); 808dbe8: 2306 movs r3, #6 808dbea: 2206 movs r2, #6 808dbec: 218f movs r1, #143 ; 0x8f 808dbee: f240 1001 movw r0, #257 ; 0x101 808dbf2: f7c6 fa69 bl 80540c8 } LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 808dbf6: 494f ldr r1, [pc, #316] ; (808dd34 ) 808dbf8: 4856 ldr r0, [pc, #344] ; (808dd54 ) 808dbfa: f7c5 fdd7 bl 80537ac if(pardata.IIN != VOLTS) 808dbfe: 4b4a ldr r3, [pc, #296] ; (808dd28 ) 808dc00: 799b ldrb r3, [r3, #6] 808dc02: b2db uxtb r3, r3 808dc04: 2b02 cmp r3, #2 808dc06: d010 beq.n 808dc2a { if(pardata.LANG == RUS) 808dc08: 4b47 ldr r3, [pc, #284] ; (808dd28 ) 808dc0a: 7b1b ldrb r3, [r3, #12] 808dc0c: b2db uxtb r3, r3 808dc0e: 2b00 cmp r3, #0 808dc10: d105 bne.n 808dc1e LCD_DisplayString(10, LCD_LINE_11, "Ïîðîã(ïèê)(ì/c^)"); 808dc12: 4a4b ldr r2, [pc, #300] ; (808dd40 ) 808dc14: 21ba movs r1, #186 ; 0xba 808dc16: 200a movs r0, #10 808dc18: f7c6 fb70 bl 80542fc 808dc1c: e015 b.n 808dc4a else LCD_DisplayString(10, LCD_LINE_11, "Thr(peak)(m/s^)"); 808dc1e: 4a49 ldr r2, [pc, #292] ; (808dd44 ) 808dc20: 21ba movs r1, #186 ; 0xba 808dc22: 200a movs r0, #10 808dc24: f7c6 fb6a bl 80542fc 808dc28: e00f b.n 808dc4a } else { if(pardata.LANG == RUS) 808dc2a: 4b3f ldr r3, [pc, #252] ; (808dd28 ) 808dc2c: 7b1b ldrb r3, [r3, #12] 808dc2e: b2db uxtb r3, r3 808dc30: 2b00 cmp r3, #0 808dc32: d105 bne.n 808dc40 LCD_DisplayString(10, LCD_LINE_11, "Ïîðîã(ïèê)(ìÂ)"); 808dc34: 4a44 ldr r2, [pc, #272] ; (808dd48 ) 808dc36: 21ba movs r1, #186 ; 0xba 808dc38: 200a movs r0, #10 808dc3a: f7c6 fb5f bl 80542fc 808dc3e: e004 b.n 808dc4a else LCD_DisplayString(10, LCD_LINE_11, "Thr(peak)(mV)"); 808dc40: 4a42 ldr r2, [pc, #264] ; (808dd4c ) 808dc42: 21ba movs r1, #186 ; 0xba 808dc44: 200a movs r0, #10 808dc46: f7c6 fb59 bl 80542fc } if(pardata.OPTIONS & 0x4) 808dc4a: 4b37 ldr r3, [pc, #220] ; (808dd28 ) 808dc4c: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 808dc50: f003 0304 and.w r3, r3, #4 808dc54: 2b00 cmp r3, #0 808dc56: d004 beq.n 808dc62 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 808dc58: 4936 ldr r1, [pc, #216] ; (808dd34 ) 808dc5a: 483e ldr r0, [pc, #248] ; (808dd54 ) 808dc5c: f7c5 fda6 bl 80537ac 808dc60: e004 b.n 808dc6c else LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808dc62: 4934 ldr r1, [pc, #208] ; (808dd34 ) 808dc64: f04f 30ff mov.w r0, #4294967295 808dc68: f7c5 fda0 bl 80537ac if(pardata.IIN != VOLTS) 808dc6c: 4b2e ldr r3, [pc, #184] ; (808dd28 ) 808dc6e: 799b ldrb r3, [r3, #6] 808dc70: b2db uxtb r3, r3 808dc72: 2b02 cmp r3, #2 808dc74: d010 beq.n 808dc98 LCD_DisplayString(10, LCD_LINE_9, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 808dc76: 4b2c ldr r3, [pc, #176] ; (808dd28 ) 808dc78: 7b1b ldrb r3, [r3, #12] 808dc7a: b2db uxtb r3, r3 808dc7c: 4619 mov r1, r3 808dc7e: 4a2e ldr r2, [pc, #184] ; (808dd38 ) 808dc80: 232c movs r3, #44 ; 0x2c 808dc82: fb03 f301 mul.w r3, r3, r1 808dc86: 4413 add r3, r2 808dc88: 3324 adds r3, #36 ; 0x24 808dc8a: 681b ldr r3, [r3, #0] 808dc8c: 461a mov r2, r3 808dc8e: 219a movs r1, #154 ; 0x9a 808dc90: 200a movs r0, #10 808dc92: f7c6 fb33 bl 80542fc 808dc96: e09b b.n 808ddd0 else LCD_DisplayString(10, LCD_LINE_9, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ìV" 808dc98: 4b23 ldr r3, [pc, #140] ; (808dd28 ) 808dc9a: 7b1b ldrb r3, [r3, #12] 808dc9c: b2db uxtb r3, r3 808dc9e: 4619 mov r1, r3 808dca0: 4a26 ldr r2, [pc, #152] ; (808dd3c ) 808dca2: 232c movs r3, #44 ; 0x2c 808dca4: fb03 f301 mul.w r3, r3, r1 808dca8: 4413 add r3, r2 808dcaa: 3324 adds r3, #36 ; 0x24 808dcac: 681b ldr r3, [r3, #0] 808dcae: 461a mov r2, r3 808dcb0: 219a movs r1, #154 ; 0x9a 808dcb2: 200a movs r0, #10 808dcb4: f7c6 fb22 bl 80542fc 808dcb8: e08a b.n 808ddd0 } } else { if(pardata.OPTIONS & 0x4) 808dcba: 4b1b ldr r3, [pc, #108] ; (808dd28 ) 808dcbc: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 808dcc0: f003 0304 and.w r3, r3, #4 808dcc4: 2b00 cmp r3, #0 808dcc6: d00a beq.n 808dcde { LCD_SetColors(LCD_COLOR_DARKGRAY, LCD_COLOR_BLACK); 808dcc8: 491a ldr r1, [pc, #104] ; (808dd34 ) 808dcca: 4821 ldr r0, [pc, #132] ; (808dd50 ) 808dccc: f7c5 fd6e bl 80537ac BSP_LCD_FillRect(257, CHECKBOX_LINE_8+2, 6, 6); 808dcd0: 2306 movs r3, #6 808dcd2: 2206 movs r2, #6 808dcd4: 218f movs r1, #143 ; 0x8f 808dcd6: f240 1001 movw r0, #257 ; 0x101 808dcda: f7c6 f9f5 bl 80540c8 } LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 808dcde: 4915 ldr r1, [pc, #84] ; (808dd34 ) 808dce0: 481c ldr r0, [pc, #112] ; (808dd54 ) 808dce2: f7c5 fd63 bl 80537ac if(pardata.IIN != VOLTS) 808dce6: 4b10 ldr r3, [pc, #64] ; (808dd28 ) 808dce8: 799b ldrb r3, [r3, #6] 808dcea: b2db uxtb r3, r3 808dcec: 2b02 cmp r3, #2 808dcee: d010 beq.n 808dd12 { if(pardata.LANG == RUS) 808dcf0: 4b0d ldr r3, [pc, #52] ; (808dd28 ) 808dcf2: 7b1b ldrb r3, [r3, #12] 808dcf4: b2db uxtb r3, r3 808dcf6: 2b00 cmp r3, #0 808dcf8: d105 bne.n 808dd06 LCD_DisplayString(10, LCD_LINE_11, "Ïîðîã(ïèê)(ì/c^)"); 808dcfa: 4a11 ldr r2, [pc, #68] ; (808dd40 ) 808dcfc: 21ba movs r1, #186 ; 0xba 808dcfe: 200a movs r0, #10 808dd00: f7c6 fafc bl 80542fc 808dd04: e02d b.n 808dd62 else LCD_DisplayString(10, LCD_LINE_11, "Thr(peak)(m/s^)"); 808dd06: 4a0f ldr r2, [pc, #60] ; (808dd44 ) 808dd08: 21ba movs r1, #186 ; 0xba 808dd0a: 200a movs r0, #10 808dd0c: f7c6 faf6 bl 80542fc 808dd10: e027 b.n 808dd62 } else { if(pardata.LANG == RUS) 808dd12: 4b05 ldr r3, [pc, #20] ; (808dd28 ) 808dd14: 7b1b ldrb r3, [r3, #12] 808dd16: b2db uxtb r3, r3 808dd18: 2b00 cmp r3, #0 808dd1a: d11d bne.n 808dd58 LCD_DisplayString(10, LCD_LINE_11, "Ïîðîã(ïèê)(ìÂ)"); 808dd1c: 4a0a ldr r2, [pc, #40] ; (808dd48 ) 808dd1e: 21ba movs r1, #186 ; 0xba 808dd20: 200a movs r0, #10 808dd22: f7c6 faeb bl 80542fc 808dd26: e01c b.n 808dd62 808dd28: 20023e60 .word 0x20023e60 808dd2c: 20020594 .word 0x20020594 808dd30: 20020070 .word 0x20020070 808dd34: ff0a0f1f .word 0xff0a0f1f 808dd38: 200206b4 .word 0x200206b4 808dd3c: 2002070c .word 0x2002070c 808dd40: 080cf45c .word 0x080cf45c 808dd44: 080cf4ac .word 0x080cf4ac 808dd48: 080cf4c8 .word 0x080cf4c8 808dd4c: 080cf4d8 .word 0x080cf4d8 808dd50: ff404040 .word 0xff404040 808dd54: ff808080 .word 0xff808080 else LCD_DisplayString(10, LCD_LINE_11, "Thr(peak)(mV)"); 808dd58: 4ab3 ldr r2, [pc, #716] ; (808e028 ) 808dd5a: 21ba movs r1, #186 ; 0xba 808dd5c: 200a movs r0, #10 808dd5e: f7c6 facd bl 80542fc } if(pardata.OPTIONS & 0x4) 808dd62: 4bb2 ldr r3, [pc, #712] ; (808e02c ) 808dd64: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 808dd68: f003 0304 and.w r3, r3, #4 808dd6c: 2b00 cmp r3, #0 808dd6e: d004 beq.n 808dd7a LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 808dd70: 49af ldr r1, [pc, #700] ; (808e030 ) 808dd72: 48b0 ldr r0, [pc, #704] ; (808e034 ) 808dd74: f7c5 fd1a bl 80537ac 808dd78: e004 b.n 808dd84 else LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808dd7a: 49ad ldr r1, [pc, #692] ; (808e030 ) 808dd7c: f04f 30ff mov.w r0, #4294967295 808dd80: f7c5 fd14 bl 80537ac if(pardata.IIN != VOLTS) 808dd84: 4ba9 ldr r3, [pc, #676] ; (808e02c ) 808dd86: 799b ldrb r3, [r3, #6] 808dd88: b2db uxtb r3, r3 808dd8a: 2b02 cmp r3, #2 808dd8c: d010 beq.n 808ddb0 LCD_DisplayString(10, LCD_LINE_9, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 808dd8e: 4ba7 ldr r3, [pc, #668] ; (808e02c ) 808dd90: 7b1b ldrb r3, [r3, #12] 808dd92: b2db uxtb r3, r3 808dd94: 4619 mov r1, r3 808dd96: 4aa8 ldr r2, [pc, #672] ; (808e038 ) 808dd98: 232c movs r3, #44 ; 0x2c 808dd9a: fb03 f301 mul.w r3, r3, r1 808dd9e: 4413 add r3, r2 808dda0: 3324 adds r3, #36 ; 0x24 808dda2: 681b ldr r3, [r3, #0] 808dda4: 461a mov r2, r3 808dda6: 219a movs r1, #154 ; 0x9a 808dda8: 200a movs r0, #10 808ddaa: f7c6 faa7 bl 80542fc 808ddae: e00f b.n 808ddd0 else LCD_DisplayString(10, LCD_LINE_9, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ìV" 808ddb0: 4b9e ldr r3, [pc, #632] ; (808e02c ) 808ddb2: 7b1b ldrb r3, [r3, #12] 808ddb4: b2db uxtb r3, r3 808ddb6: 4619 mov r1, r3 808ddb8: 4aa0 ldr r2, [pc, #640] ; (808e03c ) 808ddba: 232c movs r3, #44 ; 0x2c 808ddbc: fb03 f301 mul.w r3, r3, r1 808ddc0: 4413 add r3, r2 808ddc2: 3324 adds r3, #36 ; 0x24 808ddc4: 681b ldr r3, [r3, #0] 808ddc6: 461a mov r2, r3 808ddc8: 219a movs r1, #154 ; 0x9a 808ddca: 200a movs r0, #10 808ddcc: f7c6 fa96 bl 80542fc } if(menupos == OscThr_IDT) 808ddd0: 4b9b ldr r3, [pc, #620] ; (808e040 ) 808ddd2: 781b ldrb r3, [r3, #0] 808ddd4: b2db uxtb r3, r3 808ddd6: 2b09 cmp r3, #9 808ddd8: d15e bne.n 808de98 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808ddda: 4995 ldr r1, [pc, #596] ; (808e030 ) 808dddc: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808dde0: f7c5 fce4 bl 80537ac if(blk) 808dde4: 4b97 ldr r3, [pc, #604] ; (808e044 ) 808dde6: 681b ldr r3, [r3, #0] 808dde8: 2b00 cmp r3, #0 808ddea: d00b beq.n 808de04 LCD_DisplayString(198, LCD_LINE_11, (char *) pNUMS[idt]); 808ddec: f897 33e7 ldrb.w r3, [r7, #999] ; 0x3e7 808ddf0: b2db uxtb r3, r3 808ddf2: 461a mov r2, r3 808ddf4: 4b94 ldr r3, [pc, #592] ; (808e048 ) 808ddf6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808ddfa: 461a mov r2, r3 808ddfc: 21ba movs r1, #186 ; 0xba 808ddfe: 20c6 movs r0, #198 ; 0xc6 808de00: f7c6 fa7c bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808de04: 498a ldr r1, [pc, #552] ; (808e030 ) 808de06: 4891 ldr r0, [pc, #580] ; (808e04c ) 808de08: f7c5 fcd0 bl 80537ac LCD_DisplayString(214, LCD_LINE_11, (char *) pNUMS[iet]); 808de0c: f897 33e6 ldrb.w r3, [r7, #998] ; 0x3e6 808de10: b2db uxtb r3, r3 808de12: 461a mov r2, r3 808de14: 4b8c ldr r3, [pc, #560] ; (808e048 ) 808de16: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808de1a: 461a mov r2, r3 808de1c: 21ba movs r1, #186 ; 0xba 808de1e: 20d6 movs r0, #214 ; 0xd6 808de20: f7c6 fa6c bl 80542fc LCD_DisplayString(230, LCD_LINE_11, (char *) pNUMS[ies]); 808de24: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 808de28: b2db uxtb r3, r3 808de2a: 461a mov r2, r3 808de2c: 4b86 ldr r3, [pc, #536] ; (808e048 ) 808de2e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808de32: 461a mov r2, r3 808de34: 21ba movs r1, #186 ; 0xba 808de36: 20e6 movs r0, #230 ; 0xe6 808de38: f7c6 fa60 bl 80542fc LCD_DisplayString(246, LCD_LINE_11, (char *) pNUMS[ied]); 808de3c: f897 33e4 ldrb.w r3, [r7, #996] ; 0x3e4 808de40: b2db uxtb r3, r3 808de42: 461a mov r2, r3 808de44: 4b80 ldr r3, [pc, #512] ; (808e048 ) 808de46: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808de4a: 461a mov r2, r3 808de4c: 21ba movs r1, #186 ; 0xba 808de4e: 20f6 movs r0, #246 ; 0xf6 808de50: f7c6 fa54 bl 80542fc LCD_DisplayString(262, LCD_LINE_11, (char *) pNUMS[iee]); 808de54: f897 33e3 ldrb.w r3, [r7, #995] ; 0x3e3 808de58: b2db uxtb r3, r3 808de5a: 461a mov r2, r3 808de5c: 4b7a ldr r3, [pc, #488] ; (808e048 ) 808de5e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808de62: 461a mov r2, r3 808de64: 21ba movs r1, #186 ; 0xba 808de66: f44f 7083 mov.w r0, #262 ; 0x106 808de6a: f7c6 fa47 bl 80542fc LCD_DisplayString(278, LCD_LINE_11, "."); 808de6e: 4a78 ldr r2, [pc, #480] ; (808e050 ) 808de70: 21ba movs r1, #186 ; 0xba 808de72: f44f 708b mov.w r0, #278 ; 0x116 808de76: f7c6 fa41 bl 80542fc LCD_DisplayString(294, LCD_LINE_11, (char *) pNUMS[ikd]); 808de7a: f897 33e2 ldrb.w r3, [r7, #994] ; 0x3e2 808de7e: b2db uxtb r3, r3 808de80: 461a mov r2, r3 808de82: 4b71 ldr r3, [pc, #452] ; (808e048 ) 808de84: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808de88: 461a mov r2, r3 808de8a: 21ba movs r1, #186 ; 0xba 808de8c: f44f 7093 mov.w r0, #294 ; 0x126 808de90: f7c6 fa34 bl 80542fc 808de94: f000 bc70 b.w 808e778 } else if(menupos == OscThr_IET) 808de98: 4b69 ldr r3, [pc, #420] ; (808e040 ) 808de9a: 781b ldrb r3, [r3, #0] 808de9c: b2db uxtb r3, r3 808de9e: 2b0a cmp r3, #10 808dea0: d15e bne.n 808df60 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808dea2: 4963 ldr r1, [pc, #396] ; (808e030 ) 808dea4: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808dea8: f7c5 fc80 bl 80537ac if(blk) 808deac: 4b65 ldr r3, [pc, #404] ; (808e044 ) 808deae: 681b ldr r3, [r3, #0] 808deb0: 2b00 cmp r3, #0 808deb2: d00b beq.n 808decc LCD_DisplayString(214, LCD_LINE_11, (char *) pNUMS[iet]); 808deb4: f897 33e6 ldrb.w r3, [r7, #998] ; 0x3e6 808deb8: b2db uxtb r3, r3 808deba: 461a mov r2, r3 808debc: 4b62 ldr r3, [pc, #392] ; (808e048 ) 808debe: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808dec2: 461a mov r2, r3 808dec4: 21ba movs r1, #186 ; 0xba 808dec6: 20d6 movs r0, #214 ; 0xd6 808dec8: f7c6 fa18 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808decc: 4958 ldr r1, [pc, #352] ; (808e030 ) 808dece: 485f ldr r0, [pc, #380] ; (808e04c ) 808ded0: f7c5 fc6c bl 80537ac LCD_DisplayString(198, LCD_LINE_11, (char *) pNUMS[idt]); 808ded4: f897 33e7 ldrb.w r3, [r7, #999] ; 0x3e7 808ded8: b2db uxtb r3, r3 808deda: 461a mov r2, r3 808dedc: 4b5a ldr r3, [pc, #360] ; (808e048 ) 808dede: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808dee2: 461a mov r2, r3 808dee4: 21ba movs r1, #186 ; 0xba 808dee6: 20c6 movs r0, #198 ; 0xc6 808dee8: f7c6 fa08 bl 80542fc LCD_DisplayString(230, LCD_LINE_11, (char *) pNUMS[ies]); 808deec: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 808def0: b2db uxtb r3, r3 808def2: 461a mov r2, r3 808def4: 4b54 ldr r3, [pc, #336] ; (808e048 ) 808def6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808defa: 461a mov r2, r3 808defc: 21ba movs r1, #186 ; 0xba 808defe: 20e6 movs r0, #230 ; 0xe6 808df00: f7c6 f9fc bl 80542fc LCD_DisplayString(246, LCD_LINE_11, (char *) pNUMS[ied]); 808df04: f897 33e4 ldrb.w r3, [r7, #996] ; 0x3e4 808df08: b2db uxtb r3, r3 808df0a: 461a mov r2, r3 808df0c: 4b4e ldr r3, [pc, #312] ; (808e048 ) 808df0e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808df12: 461a mov r2, r3 808df14: 21ba movs r1, #186 ; 0xba 808df16: 20f6 movs r0, #246 ; 0xf6 808df18: f7c6 f9f0 bl 80542fc LCD_DisplayString(262, LCD_LINE_11, (char *) pNUMS[iee]); 808df1c: f897 33e3 ldrb.w r3, [r7, #995] ; 0x3e3 808df20: b2db uxtb r3, r3 808df22: 461a mov r2, r3 808df24: 4b48 ldr r3, [pc, #288] ; (808e048 ) 808df26: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808df2a: 461a mov r2, r3 808df2c: 21ba movs r1, #186 ; 0xba 808df2e: f44f 7083 mov.w r0, #262 ; 0x106 808df32: f7c6 f9e3 bl 80542fc LCD_DisplayString(278, LCD_LINE_11, "."); 808df36: 4a46 ldr r2, [pc, #280] ; (808e050 ) 808df38: 21ba movs r1, #186 ; 0xba 808df3a: f44f 708b mov.w r0, #278 ; 0x116 808df3e: f7c6 f9dd bl 80542fc LCD_DisplayString(294, LCD_LINE_11, (char *) pNUMS[ikd]); 808df42: f897 33e2 ldrb.w r3, [r7, #994] ; 0x3e2 808df46: b2db uxtb r3, r3 808df48: 461a mov r2, r3 808df4a: 4b3f ldr r3, [pc, #252] ; (808e048 ) 808df4c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808df50: 461a mov r2, r3 808df52: 21ba movs r1, #186 ; 0xba 808df54: f44f 7093 mov.w r0, #294 ; 0x126 808df58: f7c6 f9d0 bl 80542fc 808df5c: f000 bc0c b.w 808e778 } else if(menupos == OscThr_IES) 808df60: 4b37 ldr r3, [pc, #220] ; (808e040 ) 808df62: 781b ldrb r3, [r3, #0] 808df64: b2db uxtb r3, r3 808df66: 2b0b cmp r3, #11 808df68: d174 bne.n 808e054 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808df6a: 4931 ldr r1, [pc, #196] ; (808e030 ) 808df6c: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808df70: f7c5 fc1c bl 80537ac if(blk) 808df74: 4b33 ldr r3, [pc, #204] ; (808e044 ) 808df76: 681b ldr r3, [r3, #0] 808df78: 2b00 cmp r3, #0 808df7a: d00b beq.n 808df94 LCD_DisplayString(230, LCD_LINE_11, (char *) pNUMS[ies]); 808df7c: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 808df80: b2db uxtb r3, r3 808df82: 461a mov r2, r3 808df84: 4b30 ldr r3, [pc, #192] ; (808e048 ) 808df86: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808df8a: 461a mov r2, r3 808df8c: 21ba movs r1, #186 ; 0xba 808df8e: 20e6 movs r0, #230 ; 0xe6 808df90: f7c6 f9b4 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808df94: 4926 ldr r1, [pc, #152] ; (808e030 ) 808df96: 482d ldr r0, [pc, #180] ; (808e04c ) 808df98: f7c5 fc08 bl 80537ac LCD_DisplayString(198, LCD_LINE_11, (char *) pNUMS[idt]); 808df9c: f897 33e7 ldrb.w r3, [r7, #999] ; 0x3e7 808dfa0: b2db uxtb r3, r3 808dfa2: 461a mov r2, r3 808dfa4: 4b28 ldr r3, [pc, #160] ; (808e048 ) 808dfa6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808dfaa: 461a mov r2, r3 808dfac: 21ba movs r1, #186 ; 0xba 808dfae: 20c6 movs r0, #198 ; 0xc6 808dfb0: f7c6 f9a4 bl 80542fc LCD_DisplayString(214, LCD_LINE_11, (char *) pNUMS[iet]); 808dfb4: f897 33e6 ldrb.w r3, [r7, #998] ; 0x3e6 808dfb8: b2db uxtb r3, r3 808dfba: 461a mov r2, r3 808dfbc: 4b22 ldr r3, [pc, #136] ; (808e048 ) 808dfbe: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808dfc2: 461a mov r2, r3 808dfc4: 21ba movs r1, #186 ; 0xba 808dfc6: 20d6 movs r0, #214 ; 0xd6 808dfc8: f7c6 f998 bl 80542fc LCD_DisplayString(246, LCD_LINE_11, (char *) pNUMS[ied]); 808dfcc: f897 33e4 ldrb.w r3, [r7, #996] ; 0x3e4 808dfd0: b2db uxtb r3, r3 808dfd2: 461a mov r2, r3 808dfd4: 4b1c ldr r3, [pc, #112] ; (808e048 ) 808dfd6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808dfda: 461a mov r2, r3 808dfdc: 21ba movs r1, #186 ; 0xba 808dfde: 20f6 movs r0, #246 ; 0xf6 808dfe0: f7c6 f98c bl 80542fc LCD_DisplayString(262, LCD_LINE_11, (char *) pNUMS[iee]); 808dfe4: f897 33e3 ldrb.w r3, [r7, #995] ; 0x3e3 808dfe8: b2db uxtb r3, r3 808dfea: 461a mov r2, r3 808dfec: 4b16 ldr r3, [pc, #88] ; (808e048 ) 808dfee: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808dff2: 461a mov r2, r3 808dff4: 21ba movs r1, #186 ; 0xba 808dff6: f44f 7083 mov.w r0, #262 ; 0x106 808dffa: f7c6 f97f bl 80542fc LCD_DisplayString(278, LCD_LINE_11, "."); 808dffe: 4a14 ldr r2, [pc, #80] ; (808e050 ) 808e000: 21ba movs r1, #186 ; 0xba 808e002: f44f 708b mov.w r0, #278 ; 0x116 808e006: f7c6 f979 bl 80542fc LCD_DisplayString(294, LCD_LINE_11, (char *) pNUMS[ikd]); 808e00a: f897 33e2 ldrb.w r3, [r7, #994] ; 0x3e2 808e00e: b2db uxtb r3, r3 808e010: 461a mov r2, r3 808e012: 4b0d ldr r3, [pc, #52] ; (808e048 ) 808e014: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808e018: 461a mov r2, r3 808e01a: 21ba movs r1, #186 ; 0xba 808e01c: f44f 7093 mov.w r0, #294 ; 0x126 808e020: f7c6 f96c bl 80542fc 808e024: e3a8 b.n 808e778 808e026: bf00 nop 808e028: 080cf4d8 .word 0x080cf4d8 808e02c: 20023e60 .word 0x20023e60 808e030: ff0a0f1f .word 0xff0a0f1f 808e034: ff808080 .word 0xff808080 808e038: 200206b4 .word 0x200206b4 808e03c: 2002070c .word 0x2002070c 808e040: 20020070 .word 0x20020070 808e044: 2002165c .word 0x2002165c 808e048: 20020964 .word 0x20020964 808e04c: ffd8aa57 .word 0xffd8aa57 808e050: 080cf7e8 .word 0x080cf7e8 } else if(menupos == OscThr_IED) 808e054: 4bc5 ldr r3, [pc, #788] ; (808e36c ) 808e056: 781b ldrb r3, [r3, #0] 808e058: b2db uxtb r3, r3 808e05a: 2b0c cmp r3, #12 808e05c: d15d bne.n 808e11a { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808e05e: 49c4 ldr r1, [pc, #784] ; (808e370 ) 808e060: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808e064: f7c5 fba2 bl 80537ac if(blk) 808e068: 4bc2 ldr r3, [pc, #776] ; (808e374 ) 808e06a: 681b ldr r3, [r3, #0] 808e06c: 2b00 cmp r3, #0 808e06e: d00b beq.n 808e088 LCD_DisplayString(246, LCD_LINE_11, (char *) pNUMS[ied]); 808e070: f897 33e4 ldrb.w r3, [r7, #996] ; 0x3e4 808e074: b2db uxtb r3, r3 808e076: 461a mov r2, r3 808e078: 4bbf ldr r3, [pc, #764] ; (808e378 ) 808e07a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808e07e: 461a mov r2, r3 808e080: 21ba movs r1, #186 ; 0xba 808e082: 20f6 movs r0, #246 ; 0xf6 808e084: f7c6 f93a bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808e088: 49b9 ldr r1, [pc, #740] ; (808e370 ) 808e08a: 48bc ldr r0, [pc, #752] ; (808e37c ) 808e08c: f7c5 fb8e bl 80537ac LCD_DisplayString(198, LCD_LINE_11, (char *) pNUMS[idt]); 808e090: f897 33e7 ldrb.w r3, [r7, #999] ; 0x3e7 808e094: b2db uxtb r3, r3 808e096: 461a mov r2, r3 808e098: 4bb7 ldr r3, [pc, #732] ; (808e378 ) 808e09a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808e09e: 461a mov r2, r3 808e0a0: 21ba movs r1, #186 ; 0xba 808e0a2: 20c6 movs r0, #198 ; 0xc6 808e0a4: f7c6 f92a bl 80542fc LCD_DisplayString(214, LCD_LINE_11, (char *) pNUMS[iet]); 808e0a8: f897 33e6 ldrb.w r3, [r7, #998] ; 0x3e6 808e0ac: b2db uxtb r3, r3 808e0ae: 461a mov r2, r3 808e0b0: 4bb1 ldr r3, [pc, #708] ; (808e378 ) 808e0b2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808e0b6: 461a mov r2, r3 808e0b8: 21ba movs r1, #186 ; 0xba 808e0ba: 20d6 movs r0, #214 ; 0xd6 808e0bc: f7c6 f91e bl 80542fc LCD_DisplayString(230, LCD_LINE_11, (char *) pNUMS[ies]); 808e0c0: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 808e0c4: b2db uxtb r3, r3 808e0c6: 461a mov r2, r3 808e0c8: 4bab ldr r3, [pc, #684] ; (808e378 ) 808e0ca: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808e0ce: 461a mov r2, r3 808e0d0: 21ba movs r1, #186 ; 0xba 808e0d2: 20e6 movs r0, #230 ; 0xe6 808e0d4: f7c6 f912 bl 80542fc LCD_DisplayString(262, LCD_LINE_11, (char *) pNUMS[iee]); 808e0d8: f897 33e3 ldrb.w r3, [r7, #995] ; 0x3e3 808e0dc: b2db uxtb r3, r3 808e0de: 461a mov r2, r3 808e0e0: 4ba5 ldr r3, [pc, #660] ; (808e378 ) 808e0e2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808e0e6: 461a mov r2, r3 808e0e8: 21ba movs r1, #186 ; 0xba 808e0ea: f44f 7083 mov.w r0, #262 ; 0x106 808e0ee: f7c6 f905 bl 80542fc LCD_DisplayString(278, LCD_LINE_11, "."); 808e0f2: 4aa3 ldr r2, [pc, #652] ; (808e380 ) 808e0f4: 21ba movs r1, #186 ; 0xba 808e0f6: f44f 708b mov.w r0, #278 ; 0x116 808e0fa: f7c6 f8ff bl 80542fc LCD_DisplayString(294, LCD_LINE_11, (char *) pNUMS[ikd]); 808e0fe: f897 33e2 ldrb.w r3, [r7, #994] ; 0x3e2 808e102: b2db uxtb r3, r3 808e104: 461a mov r2, r3 808e106: 4b9c ldr r3, [pc, #624] ; (808e378 ) 808e108: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808e10c: 461a mov r2, r3 808e10e: 21ba movs r1, #186 ; 0xba 808e110: f44f 7093 mov.w r0, #294 ; 0x126 808e114: f7c6 f8f2 bl 80542fc 808e118: e32e b.n 808e778 } else if(menupos == OscThr_IEE) 808e11a: 4b94 ldr r3, [pc, #592] ; (808e36c ) 808e11c: 781b ldrb r3, [r3, #0] 808e11e: b2db uxtb r3, r3 808e120: 2b0d cmp r3, #13 808e122: d15d bne.n 808e1e0 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808e124: 4992 ldr r1, [pc, #584] ; (808e370 ) 808e126: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808e12a: f7c5 fb3f bl 80537ac if(blk) 808e12e: 4b91 ldr r3, [pc, #580] ; (808e374 ) 808e130: 681b ldr r3, [r3, #0] 808e132: 2b00 cmp r3, #0 808e134: d00c beq.n 808e150 LCD_DisplayString(262, LCD_LINE_11, (char *) pNUMS[iee]); 808e136: f897 33e3 ldrb.w r3, [r7, #995] ; 0x3e3 808e13a: b2db uxtb r3, r3 808e13c: 461a mov r2, r3 808e13e: 4b8e ldr r3, [pc, #568] ; (808e378 ) 808e140: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808e144: 461a mov r2, r3 808e146: 21ba movs r1, #186 ; 0xba 808e148: f44f 7083 mov.w r0, #262 ; 0x106 808e14c: f7c6 f8d6 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808e150: 4987 ldr r1, [pc, #540] ; (808e370 ) 808e152: 488a ldr r0, [pc, #552] ; (808e37c ) 808e154: f7c5 fb2a bl 80537ac LCD_DisplayString(198, LCD_LINE_11, (char *) pNUMS[idt]); 808e158: f897 33e7 ldrb.w r3, [r7, #999] ; 0x3e7 808e15c: b2db uxtb r3, r3 808e15e: 461a mov r2, r3 808e160: 4b85 ldr r3, [pc, #532] ; (808e378 ) 808e162: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808e166: 461a mov r2, r3 808e168: 21ba movs r1, #186 ; 0xba 808e16a: 20c6 movs r0, #198 ; 0xc6 808e16c: f7c6 f8c6 bl 80542fc LCD_DisplayString(214, LCD_LINE_11, (char *) pNUMS[iet]); 808e170: f897 33e6 ldrb.w r3, [r7, #998] ; 0x3e6 808e174: b2db uxtb r3, r3 808e176: 461a mov r2, r3 808e178: 4b7f ldr r3, [pc, #508] ; (808e378 ) 808e17a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808e17e: 461a mov r2, r3 808e180: 21ba movs r1, #186 ; 0xba 808e182: 20d6 movs r0, #214 ; 0xd6 808e184: f7c6 f8ba bl 80542fc LCD_DisplayString(230, LCD_LINE_11, (char *) pNUMS[ies]); 808e188: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 808e18c: b2db uxtb r3, r3 808e18e: 461a mov r2, r3 808e190: 4b79 ldr r3, [pc, #484] ; (808e378 ) 808e192: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808e196: 461a mov r2, r3 808e198: 21ba movs r1, #186 ; 0xba 808e19a: 20e6 movs r0, #230 ; 0xe6 808e19c: f7c6 f8ae bl 80542fc LCD_DisplayString(246, LCD_LINE_11, (char *) pNUMS[ied]); 808e1a0: f897 33e4 ldrb.w r3, [r7, #996] ; 0x3e4 808e1a4: b2db uxtb r3, r3 808e1a6: 461a mov r2, r3 808e1a8: 4b73 ldr r3, [pc, #460] ; (808e378 ) 808e1aa: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808e1ae: 461a mov r2, r3 808e1b0: 21ba movs r1, #186 ; 0xba 808e1b2: 20f6 movs r0, #246 ; 0xf6 808e1b4: f7c6 f8a2 bl 80542fc LCD_DisplayString(278, LCD_LINE_11, "."); 808e1b8: 4a71 ldr r2, [pc, #452] ; (808e380 ) 808e1ba: 21ba movs r1, #186 ; 0xba 808e1bc: f44f 708b mov.w r0, #278 ; 0x116 808e1c0: f7c6 f89c bl 80542fc LCD_DisplayString(294, LCD_LINE_11, (char *) pNUMS[ikd]); 808e1c4: f897 33e2 ldrb.w r3, [r7, #994] ; 0x3e2 808e1c8: b2db uxtb r3, r3 808e1ca: 461a mov r2, r3 808e1cc: 4b6a ldr r3, [pc, #424] ; (808e378 ) 808e1ce: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808e1d2: 461a mov r2, r3 808e1d4: 21ba movs r1, #186 ; 0xba 808e1d6: f44f 7093 mov.w r0, #294 ; 0x126 808e1da: f7c6 f88f bl 80542fc 808e1de: e2cb b.n 808e778 } else if(menupos == OscThr_IKD) 808e1e0: 4b62 ldr r3, [pc, #392] ; (808e36c ) 808e1e2: 781b ldrb r3, [r3, #0] 808e1e4: b2db uxtb r3, r3 808e1e6: 2b0e cmp r3, #14 808e1e8: d15d bne.n 808e2a6 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808e1ea: 4961 ldr r1, [pc, #388] ; (808e370 ) 808e1ec: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808e1f0: f7c5 fadc bl 80537ac if(blk) 808e1f4: 4b5f ldr r3, [pc, #380] ; (808e374 ) 808e1f6: 681b ldr r3, [r3, #0] 808e1f8: 2b00 cmp r3, #0 808e1fa: d00c beq.n 808e216 LCD_DisplayString(294, LCD_LINE_11, (char *) pNUMS[ikd]); 808e1fc: f897 33e2 ldrb.w r3, [r7, #994] ; 0x3e2 808e200: b2db uxtb r3, r3 808e202: 461a mov r2, r3 808e204: 4b5c ldr r3, [pc, #368] ; (808e378 ) 808e206: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808e20a: 461a mov r2, r3 808e20c: 21ba movs r1, #186 ; 0xba 808e20e: f44f 7093 mov.w r0, #294 ; 0x126 808e212: f7c6 f873 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808e216: 4956 ldr r1, [pc, #344] ; (808e370 ) 808e218: 4858 ldr r0, [pc, #352] ; (808e37c ) 808e21a: f7c5 fac7 bl 80537ac LCD_DisplayString(198, LCD_LINE_11, (char *) pNUMS[idt]); 808e21e: f897 33e7 ldrb.w r3, [r7, #999] ; 0x3e7 808e222: b2db uxtb r3, r3 808e224: 461a mov r2, r3 808e226: 4b54 ldr r3, [pc, #336] ; (808e378 ) 808e228: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808e22c: 461a mov r2, r3 808e22e: 21ba movs r1, #186 ; 0xba 808e230: 20c6 movs r0, #198 ; 0xc6 808e232: f7c6 f863 bl 80542fc LCD_DisplayString(214, LCD_LINE_11, (char *) pNUMS[iet]); 808e236: f897 33e6 ldrb.w r3, [r7, #998] ; 0x3e6 808e23a: b2db uxtb r3, r3 808e23c: 461a mov r2, r3 808e23e: 4b4e ldr r3, [pc, #312] ; (808e378 ) 808e240: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808e244: 461a mov r2, r3 808e246: 21ba movs r1, #186 ; 0xba 808e248: 20d6 movs r0, #214 ; 0xd6 808e24a: f7c6 f857 bl 80542fc LCD_DisplayString(230, LCD_LINE_11, (char *) pNUMS[ies]); 808e24e: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 808e252: b2db uxtb r3, r3 808e254: 461a mov r2, r3 808e256: 4b48 ldr r3, [pc, #288] ; (808e378 ) 808e258: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808e25c: 461a mov r2, r3 808e25e: 21ba movs r1, #186 ; 0xba 808e260: 20e6 movs r0, #230 ; 0xe6 808e262: f7c6 f84b bl 80542fc LCD_DisplayString(246, LCD_LINE_11, (char *) pNUMS[ied]); 808e266: f897 33e4 ldrb.w r3, [r7, #996] ; 0x3e4 808e26a: b2db uxtb r3, r3 808e26c: 461a mov r2, r3 808e26e: 4b42 ldr r3, [pc, #264] ; (808e378 ) 808e270: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808e274: 461a mov r2, r3 808e276: 21ba movs r1, #186 ; 0xba 808e278: 20f6 movs r0, #246 ; 0xf6 808e27a: f7c6 f83f bl 80542fc LCD_DisplayString(262, LCD_LINE_11, (char *) pNUMS[iee]); 808e27e: f897 33e3 ldrb.w r3, [r7, #995] ; 0x3e3 808e282: b2db uxtb r3, r3 808e284: 461a mov r2, r3 808e286: 4b3c ldr r3, [pc, #240] ; (808e378 ) 808e288: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808e28c: 461a mov r2, r3 808e28e: 21ba movs r1, #186 ; 0xba 808e290: f44f 7083 mov.w r0, #262 ; 0x106 808e294: f7c6 f832 bl 80542fc LCD_DisplayString(278, LCD_LINE_11, "."); 808e298: 4a39 ldr r2, [pc, #228] ; (808e380 ) 808e29a: 21ba movs r1, #186 ; 0xba 808e29c: f44f 708b mov.w r0, #278 ; 0x116 808e2a0: f7c6 f82c bl 80542fc 808e2a4: e268 b.n 808e778 } else if(menupos == OscMax_IDT) 808e2a6: 4b31 ldr r3, [pc, #196] ; (808e36c ) 808e2a8: 781b ldrb r3, [r3, #0] 808e2aa: b2db uxtb r3, r3 808e2ac: 2b0f cmp r3, #15 808e2ae: d169 bne.n 808e384 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808e2b0: 492f ldr r1, [pc, #188] ; (808e370 ) 808e2b2: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808e2b6: f7c5 fa79 bl 80537ac if(blk) 808e2ba: 4b2e ldr r3, [pc, #184] ; (808e374 ) 808e2bc: 681b ldr r3, [r3, #0] 808e2be: 2b00 cmp r3, #0 808e2c0: d00b beq.n 808e2da LCD_DisplayString(198, LCD_LINE_9, (char *) pNUMS[idt2]); 808e2c2: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 808e2c6: b2db uxtb r3, r3 808e2c8: 461a mov r2, r3 808e2ca: 4b2b ldr r3, [pc, #172] ; (808e378 ) 808e2cc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808e2d0: 461a mov r2, r3 808e2d2: 219a movs r1, #154 ; 0x9a 808e2d4: 20c6 movs r0, #198 ; 0xc6 808e2d6: f7c6 f811 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808e2da: 4925 ldr r1, [pc, #148] ; (808e370 ) 808e2dc: 4827 ldr r0, [pc, #156] ; (808e37c ) 808e2de: f7c5 fa65 bl 80537ac LCD_DisplayString(214, LCD_LINE_9, (char *) pNUMS[iet2]); 808e2e2: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 808e2e6: b2db uxtb r3, r3 808e2e8: 461a mov r2, r3 808e2ea: 4b23 ldr r3, [pc, #140] ; (808e378 ) 808e2ec: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808e2f0: 461a mov r2, r3 808e2f2: 219a movs r1, #154 ; 0x9a 808e2f4: 20d6 movs r0, #214 ; 0xd6 808e2f6: f7c6 f801 bl 80542fc LCD_DisplayString(230, LCD_LINE_9, (char *) pNUMS[ies2]); 808e2fa: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 808e2fe: b2db uxtb r3, r3 808e300: 461a mov r2, r3 808e302: 4b1d ldr r3, [pc, #116] ; (808e378 ) 808e304: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808e308: 461a mov r2, r3 808e30a: 219a movs r1, #154 ; 0x9a 808e30c: 20e6 movs r0, #230 ; 0xe6 808e30e: f7c5 fff5 bl 80542fc LCD_DisplayString(246, LCD_LINE_9, (char *) pNUMS[ied2]); 808e312: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 808e316: b2db uxtb r3, r3 808e318: 461a mov r2, r3 808e31a: 4b17 ldr r3, [pc, #92] ; (808e378 ) 808e31c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808e320: 461a mov r2, r3 808e322: 219a movs r1, #154 ; 0x9a 808e324: 20f6 movs r0, #246 ; 0xf6 808e326: f7c5 ffe9 bl 80542fc LCD_DisplayString(262, LCD_LINE_9, (char *) pNUMS[iee2]); 808e32a: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 808e32e: b2db uxtb r3, r3 808e330: 461a mov r2, r3 808e332: 4b11 ldr r3, [pc, #68] ; (808e378 ) 808e334: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808e338: 461a mov r2, r3 808e33a: 219a movs r1, #154 ; 0x9a 808e33c: f44f 7083 mov.w r0, #262 ; 0x106 808e340: f7c5 ffdc bl 80542fc LCD_DisplayString(278, LCD_LINE_9, "."); 808e344: 4a0e ldr r2, [pc, #56] ; (808e380 ) 808e346: 219a movs r1, #154 ; 0x9a 808e348: f44f 708b mov.w r0, #278 ; 0x116 808e34c: f7c5 ffd6 bl 80542fc LCD_DisplayString(294, LCD_LINE_9, (char *) pNUMS[ikd2]); 808e350: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 808e354: b2db uxtb r3, r3 808e356: 461a mov r2, r3 808e358: 4b07 ldr r3, [pc, #28] ; (808e378 ) 808e35a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808e35e: 461a mov r2, r3 808e360: 219a movs r1, #154 ; 0x9a 808e362: f44f 7093 mov.w r0, #294 ; 0x126 808e366: f7c5 ffc9 bl 80542fc 808e36a: e205 b.n 808e778 808e36c: 20020070 .word 0x20020070 808e370: ff0a0f1f .word 0xff0a0f1f 808e374: 2002165c .word 0x2002165c 808e378: 20020964 .word 0x20020964 808e37c: ffd8aa57 .word 0xffd8aa57 808e380: 080cf7e8 .word 0x080cf7e8 } else if(menupos == OscMax_IET) 808e384: 4bc5 ldr r3, [pc, #788] ; (808e69c ) 808e386: 781b ldrb r3, [r3, #0] 808e388: b2db uxtb r3, r3 808e38a: 2b10 cmp r3, #16 808e38c: d15d bne.n 808e44a { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808e38e: 49c4 ldr r1, [pc, #784] ; (808e6a0 ) 808e390: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808e394: f7c5 fa0a bl 80537ac if(blk) 808e398: 4bc2 ldr r3, [pc, #776] ; (808e6a4 ) 808e39a: 681b ldr r3, [r3, #0] 808e39c: 2b00 cmp r3, #0 808e39e: d00b beq.n 808e3b8 LCD_DisplayString(214, LCD_LINE_9, (char *) pNUMS[iet2]); 808e3a0: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 808e3a4: b2db uxtb r3, r3 808e3a6: 461a mov r2, r3 808e3a8: 4bbf ldr r3, [pc, #764] ; (808e6a8 ) 808e3aa: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808e3ae: 461a mov r2, r3 808e3b0: 219a movs r1, #154 ; 0x9a 808e3b2: 20d6 movs r0, #214 ; 0xd6 808e3b4: f7c5 ffa2 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808e3b8: 49b9 ldr r1, [pc, #740] ; (808e6a0 ) 808e3ba: 48bc ldr r0, [pc, #752] ; (808e6ac ) 808e3bc: f7c5 f9f6 bl 80537ac LCD_DisplayString(198, LCD_LINE_9, (char *) pNUMS[idt2]); 808e3c0: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 808e3c4: b2db uxtb r3, r3 808e3c6: 461a mov r2, r3 808e3c8: 4bb7 ldr r3, [pc, #732] ; (808e6a8 ) 808e3ca: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808e3ce: 461a mov r2, r3 808e3d0: 219a movs r1, #154 ; 0x9a 808e3d2: 20c6 movs r0, #198 ; 0xc6 808e3d4: f7c5 ff92 bl 80542fc LCD_DisplayString(230, LCD_LINE_9, (char *) pNUMS[ies2]); 808e3d8: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 808e3dc: b2db uxtb r3, r3 808e3de: 461a mov r2, r3 808e3e0: 4bb1 ldr r3, [pc, #708] ; (808e6a8 ) 808e3e2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808e3e6: 461a mov r2, r3 808e3e8: 219a movs r1, #154 ; 0x9a 808e3ea: 20e6 movs r0, #230 ; 0xe6 808e3ec: f7c5 ff86 bl 80542fc LCD_DisplayString(246, LCD_LINE_9, (char *) pNUMS[ied2]); 808e3f0: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 808e3f4: b2db uxtb r3, r3 808e3f6: 461a mov r2, r3 808e3f8: 4bab ldr r3, [pc, #684] ; (808e6a8 ) 808e3fa: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808e3fe: 461a mov r2, r3 808e400: 219a movs r1, #154 ; 0x9a 808e402: 20f6 movs r0, #246 ; 0xf6 808e404: f7c5 ff7a bl 80542fc LCD_DisplayString(262, LCD_LINE_9, (char *) pNUMS[iee2]); 808e408: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 808e40c: b2db uxtb r3, r3 808e40e: 461a mov r2, r3 808e410: 4ba5 ldr r3, [pc, #660] ; (808e6a8 ) 808e412: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808e416: 461a mov r2, r3 808e418: 219a movs r1, #154 ; 0x9a 808e41a: f44f 7083 mov.w r0, #262 ; 0x106 808e41e: f7c5 ff6d bl 80542fc LCD_DisplayString(278, LCD_LINE_9, "."); 808e422: 4aa3 ldr r2, [pc, #652] ; (808e6b0 ) 808e424: 219a movs r1, #154 ; 0x9a 808e426: f44f 708b mov.w r0, #278 ; 0x116 808e42a: f7c5 ff67 bl 80542fc LCD_DisplayString(294, LCD_LINE_9, (char *) pNUMS[ikd2]); 808e42e: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 808e432: b2db uxtb r3, r3 808e434: 461a mov r2, r3 808e436: 4b9c ldr r3, [pc, #624] ; (808e6a8 ) 808e438: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808e43c: 461a mov r2, r3 808e43e: 219a movs r1, #154 ; 0x9a 808e440: f44f 7093 mov.w r0, #294 ; 0x126 808e444: f7c5 ff5a bl 80542fc 808e448: e196 b.n 808e778 } else if(menupos == OscMax_IES) 808e44a: 4b94 ldr r3, [pc, #592] ; (808e69c ) 808e44c: 781b ldrb r3, [r3, #0] 808e44e: b2db uxtb r3, r3 808e450: 2b11 cmp r3, #17 808e452: d15d bne.n 808e510 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808e454: 4992 ldr r1, [pc, #584] ; (808e6a0 ) 808e456: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808e45a: f7c5 f9a7 bl 80537ac if(blk) 808e45e: 4b91 ldr r3, [pc, #580] ; (808e6a4 ) 808e460: 681b ldr r3, [r3, #0] 808e462: 2b00 cmp r3, #0 808e464: d00b beq.n 808e47e LCD_DisplayString(230, LCD_LINE_9, (char *) pNUMS[ies2]); 808e466: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 808e46a: b2db uxtb r3, r3 808e46c: 461a mov r2, r3 808e46e: 4b8e ldr r3, [pc, #568] ; (808e6a8 ) 808e470: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808e474: 461a mov r2, r3 808e476: 219a movs r1, #154 ; 0x9a 808e478: 20e6 movs r0, #230 ; 0xe6 808e47a: f7c5 ff3f bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808e47e: 4988 ldr r1, [pc, #544] ; (808e6a0 ) 808e480: 488a ldr r0, [pc, #552] ; (808e6ac ) 808e482: f7c5 f993 bl 80537ac LCD_DisplayString(198, LCD_LINE_9, (char *) pNUMS[idt2]); 808e486: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 808e48a: b2db uxtb r3, r3 808e48c: 461a mov r2, r3 808e48e: 4b86 ldr r3, [pc, #536] ; (808e6a8 ) 808e490: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808e494: 461a mov r2, r3 808e496: 219a movs r1, #154 ; 0x9a 808e498: 20c6 movs r0, #198 ; 0xc6 808e49a: f7c5 ff2f bl 80542fc LCD_DisplayString(214, LCD_LINE_9, (char *) pNUMS[iet2]); 808e49e: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 808e4a2: b2db uxtb r3, r3 808e4a4: 461a mov r2, r3 808e4a6: 4b80 ldr r3, [pc, #512] ; (808e6a8 ) 808e4a8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808e4ac: 461a mov r2, r3 808e4ae: 219a movs r1, #154 ; 0x9a 808e4b0: 20d6 movs r0, #214 ; 0xd6 808e4b2: f7c5 ff23 bl 80542fc LCD_DisplayString(246, LCD_LINE_9, (char *) pNUMS[ied2]); 808e4b6: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 808e4ba: b2db uxtb r3, r3 808e4bc: 461a mov r2, r3 808e4be: 4b7a ldr r3, [pc, #488] ; (808e6a8 ) 808e4c0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808e4c4: 461a mov r2, r3 808e4c6: 219a movs r1, #154 ; 0x9a 808e4c8: 20f6 movs r0, #246 ; 0xf6 808e4ca: f7c5 ff17 bl 80542fc LCD_DisplayString(262, LCD_LINE_9, (char *) pNUMS[iee2]); 808e4ce: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 808e4d2: b2db uxtb r3, r3 808e4d4: 461a mov r2, r3 808e4d6: 4b74 ldr r3, [pc, #464] ; (808e6a8 ) 808e4d8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808e4dc: 461a mov r2, r3 808e4de: 219a movs r1, #154 ; 0x9a 808e4e0: f44f 7083 mov.w r0, #262 ; 0x106 808e4e4: f7c5 ff0a bl 80542fc LCD_DisplayString(278, LCD_LINE_9, "."); 808e4e8: 4a71 ldr r2, [pc, #452] ; (808e6b0 ) 808e4ea: 219a movs r1, #154 ; 0x9a 808e4ec: f44f 708b mov.w r0, #278 ; 0x116 808e4f0: f7c5 ff04 bl 80542fc LCD_DisplayString(294, LCD_LINE_9, (char *) pNUMS[ikd2]); 808e4f4: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 808e4f8: b2db uxtb r3, r3 808e4fa: 461a mov r2, r3 808e4fc: 4b6a ldr r3, [pc, #424] ; (808e6a8 ) 808e4fe: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808e502: 461a mov r2, r3 808e504: 219a movs r1, #154 ; 0x9a 808e506: f44f 7093 mov.w r0, #294 ; 0x126 808e50a: f7c5 fef7 bl 80542fc 808e50e: e133 b.n 808e778 } else if(menupos == OscMax_IED) 808e510: 4b62 ldr r3, [pc, #392] ; (808e69c ) 808e512: 781b ldrb r3, [r3, #0] 808e514: b2db uxtb r3, r3 808e516: 2b12 cmp r3, #18 808e518: d15d bne.n 808e5d6 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808e51a: 4961 ldr r1, [pc, #388] ; (808e6a0 ) 808e51c: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808e520: f7c5 f944 bl 80537ac if(blk) 808e524: 4b5f ldr r3, [pc, #380] ; (808e6a4 ) 808e526: 681b ldr r3, [r3, #0] 808e528: 2b00 cmp r3, #0 808e52a: d00b beq.n 808e544 LCD_DisplayString(246, LCD_LINE_9, (char *) pNUMS[ied2]); 808e52c: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 808e530: b2db uxtb r3, r3 808e532: 461a mov r2, r3 808e534: 4b5c ldr r3, [pc, #368] ; (808e6a8 ) 808e536: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808e53a: 461a mov r2, r3 808e53c: 219a movs r1, #154 ; 0x9a 808e53e: 20f6 movs r0, #246 ; 0xf6 808e540: f7c5 fedc bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808e544: 4956 ldr r1, [pc, #344] ; (808e6a0 ) 808e546: 4859 ldr r0, [pc, #356] ; (808e6ac ) 808e548: f7c5 f930 bl 80537ac LCD_DisplayString(198, LCD_LINE_9, (char *) pNUMS[idt2]); 808e54c: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 808e550: b2db uxtb r3, r3 808e552: 461a mov r2, r3 808e554: 4b54 ldr r3, [pc, #336] ; (808e6a8 ) 808e556: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808e55a: 461a mov r2, r3 808e55c: 219a movs r1, #154 ; 0x9a 808e55e: 20c6 movs r0, #198 ; 0xc6 808e560: f7c5 fecc bl 80542fc LCD_DisplayString(214, LCD_LINE_9, (char *) pNUMS[iet2]); 808e564: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 808e568: b2db uxtb r3, r3 808e56a: 461a mov r2, r3 808e56c: 4b4e ldr r3, [pc, #312] ; (808e6a8 ) 808e56e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808e572: 461a mov r2, r3 808e574: 219a movs r1, #154 ; 0x9a 808e576: 20d6 movs r0, #214 ; 0xd6 808e578: f7c5 fec0 bl 80542fc LCD_DisplayString(230, LCD_LINE_9, (char *) pNUMS[ies2]); 808e57c: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 808e580: b2db uxtb r3, r3 808e582: 461a mov r2, r3 808e584: 4b48 ldr r3, [pc, #288] ; (808e6a8 ) 808e586: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808e58a: 461a mov r2, r3 808e58c: 219a movs r1, #154 ; 0x9a 808e58e: 20e6 movs r0, #230 ; 0xe6 808e590: f7c5 feb4 bl 80542fc LCD_DisplayString(262, LCD_LINE_9, (char *) pNUMS[iee2]); 808e594: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 808e598: b2db uxtb r3, r3 808e59a: 461a mov r2, r3 808e59c: 4b42 ldr r3, [pc, #264] ; (808e6a8 ) 808e59e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808e5a2: 461a mov r2, r3 808e5a4: 219a movs r1, #154 ; 0x9a 808e5a6: f44f 7083 mov.w r0, #262 ; 0x106 808e5aa: f7c5 fea7 bl 80542fc LCD_DisplayString(278, LCD_LINE_9, "."); 808e5ae: 4a40 ldr r2, [pc, #256] ; (808e6b0 ) 808e5b0: 219a movs r1, #154 ; 0x9a 808e5b2: f44f 708b mov.w r0, #278 ; 0x116 808e5b6: f7c5 fea1 bl 80542fc LCD_DisplayString(294, LCD_LINE_9, (char *) pNUMS[ikd2]); 808e5ba: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 808e5be: b2db uxtb r3, r3 808e5c0: 461a mov r2, r3 808e5c2: 4b39 ldr r3, [pc, #228] ; (808e6a8 ) 808e5c4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808e5c8: 461a mov r2, r3 808e5ca: 219a movs r1, #154 ; 0x9a 808e5cc: f44f 7093 mov.w r0, #294 ; 0x126 808e5d0: f7c5 fe94 bl 80542fc 808e5d4: e0d0 b.n 808e778 } else if(menupos == OscMax_IEE) 808e5d6: 4b31 ldr r3, [pc, #196] ; (808e69c ) 808e5d8: 781b ldrb r3, [r3, #0] 808e5da: b2db uxtb r3, r3 808e5dc: 2b13 cmp r3, #19 808e5de: d169 bne.n 808e6b4 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808e5e0: 492f ldr r1, [pc, #188] ; (808e6a0 ) 808e5e2: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808e5e6: f7c5 f8e1 bl 80537ac if(blk) 808e5ea: 4b2e ldr r3, [pc, #184] ; (808e6a4 ) 808e5ec: 681b ldr r3, [r3, #0] 808e5ee: 2b00 cmp r3, #0 808e5f0: d00c beq.n 808e60c LCD_DisplayString(262, LCD_LINE_9, (char *) pNUMS[iee2]); 808e5f2: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 808e5f6: b2db uxtb r3, r3 808e5f8: 461a mov r2, r3 808e5fa: 4b2b ldr r3, [pc, #172] ; (808e6a8 ) 808e5fc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808e600: 461a mov r2, r3 808e602: 219a movs r1, #154 ; 0x9a 808e604: f44f 7083 mov.w r0, #262 ; 0x106 808e608: f7c5 fe78 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808e60c: 4924 ldr r1, [pc, #144] ; (808e6a0 ) 808e60e: 4827 ldr r0, [pc, #156] ; (808e6ac ) 808e610: f7c5 f8cc bl 80537ac LCD_DisplayString(198, LCD_LINE_9, (char *) pNUMS[idt2]); 808e614: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 808e618: b2db uxtb r3, r3 808e61a: 461a mov r2, r3 808e61c: 4b22 ldr r3, [pc, #136] ; (808e6a8 ) 808e61e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808e622: 461a mov r2, r3 808e624: 219a movs r1, #154 ; 0x9a 808e626: 20c6 movs r0, #198 ; 0xc6 808e628: f7c5 fe68 bl 80542fc LCD_DisplayString(214, LCD_LINE_9, (char *) pNUMS[iet2]); 808e62c: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 808e630: b2db uxtb r3, r3 808e632: 461a mov r2, r3 808e634: 4b1c ldr r3, [pc, #112] ; (808e6a8 ) 808e636: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808e63a: 461a mov r2, r3 808e63c: 219a movs r1, #154 ; 0x9a 808e63e: 20d6 movs r0, #214 ; 0xd6 808e640: f7c5 fe5c bl 80542fc LCD_DisplayString(230, LCD_LINE_9, (char *) pNUMS[ies2]); 808e644: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 808e648: b2db uxtb r3, r3 808e64a: 461a mov r2, r3 808e64c: 4b16 ldr r3, [pc, #88] ; (808e6a8 ) 808e64e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808e652: 461a mov r2, r3 808e654: 219a movs r1, #154 ; 0x9a 808e656: 20e6 movs r0, #230 ; 0xe6 808e658: f7c5 fe50 bl 80542fc LCD_DisplayString(246, LCD_LINE_9, (char *) pNUMS[ied2]); 808e65c: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 808e660: b2db uxtb r3, r3 808e662: 461a mov r2, r3 808e664: 4b10 ldr r3, [pc, #64] ; (808e6a8 ) 808e666: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808e66a: 461a mov r2, r3 808e66c: 219a movs r1, #154 ; 0x9a 808e66e: 20f6 movs r0, #246 ; 0xf6 808e670: f7c5 fe44 bl 80542fc LCD_DisplayString(278, LCD_LINE_9, "."); 808e674: 4a0e ldr r2, [pc, #56] ; (808e6b0 ) 808e676: 219a movs r1, #154 ; 0x9a 808e678: f44f 708b mov.w r0, #278 ; 0x116 808e67c: f7c5 fe3e bl 80542fc LCD_DisplayString(294, LCD_LINE_9, (char *) pNUMS[ikd2]); 808e680: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 808e684: b2db uxtb r3, r3 808e686: 461a mov r2, r3 808e688: 4b07 ldr r3, [pc, #28] ; (808e6a8 ) 808e68a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808e68e: 461a mov r2, r3 808e690: 219a movs r1, #154 ; 0x9a 808e692: f44f 7093 mov.w r0, #294 ; 0x126 808e696: f7c5 fe31 bl 80542fc 808e69a: e06d b.n 808e778 808e69c: 20020070 .word 0x20020070 808e6a0: ff0a0f1f .word 0xff0a0f1f 808e6a4: 2002165c .word 0x2002165c 808e6a8: 20020964 .word 0x20020964 808e6ac: ffd8aa57 .word 0xffd8aa57 808e6b0: 080cf7e8 .word 0x080cf7e8 } else if(menupos == OscMax_IKD) 808e6b4: 4b8e ldr r3, [pc, #568] ; (808e8f0 ) 808e6b6: 781b ldrb r3, [r3, #0] 808e6b8: b2db uxtb r3, r3 808e6ba: 2b14 cmp r3, #20 808e6bc: d15c bne.n 808e778 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808e6be: 498d ldr r1, [pc, #564] ; (808e8f4 ) 808e6c0: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808e6c4: f7c5 f872 bl 80537ac if(blk) 808e6c8: 4b8b ldr r3, [pc, #556] ; (808e8f8 ) 808e6ca: 681b ldr r3, [r3, #0] 808e6cc: 2b00 cmp r3, #0 808e6ce: d00c beq.n 808e6ea LCD_DisplayString(294, LCD_LINE_9, (char *) pNUMS[ikd2]); 808e6d0: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 808e6d4: b2db uxtb r3, r3 808e6d6: 461a mov r2, r3 808e6d8: 4b88 ldr r3, [pc, #544] ; (808e8fc ) 808e6da: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808e6de: 461a mov r2, r3 808e6e0: 219a movs r1, #154 ; 0x9a 808e6e2: f44f 7093 mov.w r0, #294 ; 0x126 808e6e6: f7c5 fe09 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808e6ea: 4982 ldr r1, [pc, #520] ; (808e8f4 ) 808e6ec: 4884 ldr r0, [pc, #528] ; (808e900 ) 808e6ee: f7c5 f85d bl 80537ac LCD_DisplayString(198, LCD_LINE_9, (char *) pNUMS[idt2]); 808e6f2: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 808e6f6: b2db uxtb r3, r3 808e6f8: 461a mov r2, r3 808e6fa: 4b80 ldr r3, [pc, #512] ; (808e8fc ) 808e6fc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808e700: 461a mov r2, r3 808e702: 219a movs r1, #154 ; 0x9a 808e704: 20c6 movs r0, #198 ; 0xc6 808e706: f7c5 fdf9 bl 80542fc LCD_DisplayString(214, LCD_LINE_9, (char *) pNUMS[iet2]); 808e70a: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 808e70e: b2db uxtb r3, r3 808e710: 461a mov r2, r3 808e712: 4b7a ldr r3, [pc, #488] ; (808e8fc ) 808e714: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808e718: 461a mov r2, r3 808e71a: 219a movs r1, #154 ; 0x9a 808e71c: 20d6 movs r0, #214 ; 0xd6 808e71e: f7c5 fded bl 80542fc LCD_DisplayString(230, LCD_LINE_9, (char *) pNUMS[ies2]); 808e722: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 808e726: b2db uxtb r3, r3 808e728: 461a mov r2, r3 808e72a: 4b74 ldr r3, [pc, #464] ; (808e8fc ) 808e72c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808e730: 461a mov r2, r3 808e732: 219a movs r1, #154 ; 0x9a 808e734: 20e6 movs r0, #230 ; 0xe6 808e736: f7c5 fde1 bl 80542fc LCD_DisplayString(246, LCD_LINE_9, (char *) pNUMS[ied2]); 808e73a: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 808e73e: b2db uxtb r3, r3 808e740: 461a mov r2, r3 808e742: 4b6e ldr r3, [pc, #440] ; (808e8fc ) 808e744: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808e748: 461a mov r2, r3 808e74a: 219a movs r1, #154 ; 0x9a 808e74c: 20f6 movs r0, #246 ; 0xf6 808e74e: f7c5 fdd5 bl 80542fc LCD_DisplayString(262, LCD_LINE_9, (char *) pNUMS[iee2]); 808e752: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 808e756: b2db uxtb r3, r3 808e758: 461a mov r2, r3 808e75a: 4b68 ldr r3, [pc, #416] ; (808e8fc ) 808e75c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808e760: 461a mov r2, r3 808e762: 219a movs r1, #154 ; 0x9a 808e764: f44f 7083 mov.w r0, #262 ; 0x106 808e768: f7c5 fdc8 bl 80542fc LCD_DisplayString(278, LCD_LINE_9, "."); 808e76c: 4a65 ldr r2, [pc, #404] ; (808e904 ) 808e76e: 219a movs r1, #154 ; 0x9a 808e770: f44f 708b mov.w r0, #278 ; 0x116 808e774: f7c5 fdc2 bl 80542fc } if((menupos < OscThr_IDT) || (menupos > OscThr_IKD)) 808e778: 4b5d ldr r3, [pc, #372] ; (808e8f0 ) 808e77a: 781b ldrb r3, [r3, #0] 808e77c: b2db uxtb r3, r3 808e77e: 2b08 cmp r3, #8 808e780: d905 bls.n 808e78e 808e782: 4b5b ldr r3, [pc, #364] ; (808e8f0 ) 808e784: 781b ldrb r3, [r3, #0] 808e786: b2db uxtb r3, r3 808e788: 2b0e cmp r3, #14 808e78a: f240 80ce bls.w 808e92a { i = 0; 808e78e: 2300 movs r3, #0 808e790: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 memset(str, 0, sizeof(str)); 808e794: f507 733b add.w r3, r7, #748 ; 0x2ec 808e798: 223c movs r2, #60 ; 0x3c 808e79a: 2100 movs r1, #0 808e79c: 4618 mov r0, r3 808e79e: f03e fc53 bl 80cd048 if(idt != 0) 808e7a2: f897 33e7 ldrb.w r3, [r7, #999] ; 0x3e7 808e7a6: b2db uxtb r3, r3 808e7a8: 2b00 cmp r3, #0 808e7aa: d00c beq.n 808e7c6 str[i++] = idt + 48; 808e7ac: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808e7b0: 1c5a adds r2, r3, #1 808e7b2: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808e7b6: f897 23e7 ldrb.w r2, [r7, #999] ; 0x3e7 808e7ba: b2d2 uxtb r2, r2 808e7bc: 3230 adds r2, #48 ; 0x30 808e7be: b2d1 uxtb r1, r2 808e7c0: f507 723b add.w r2, r7, #748 ; 0x2ec 808e7c4: 54d1 strb r1, [r2, r3] if((iet != 0) || (idt != 0)) 808e7c6: f897 33e6 ldrb.w r3, [r7, #998] ; 0x3e6 808e7ca: b2db uxtb r3, r3 808e7cc: 2b00 cmp r3, #0 808e7ce: d104 bne.n 808e7da 808e7d0: f897 33e7 ldrb.w r3, [r7, #999] ; 0x3e7 808e7d4: b2db uxtb r3, r3 808e7d6: 2b00 cmp r3, #0 808e7d8: d00c beq.n 808e7f4 str[i++] = iet + 48; 808e7da: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808e7de: 1c5a adds r2, r3, #1 808e7e0: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808e7e4: f897 23e6 ldrb.w r2, [r7, #998] ; 0x3e6 808e7e8: b2d2 uxtb r2, r2 808e7ea: 3230 adds r2, #48 ; 0x30 808e7ec: b2d1 uxtb r1, r2 808e7ee: f507 723b add.w r2, r7, #748 ; 0x2ec 808e7f2: 54d1 strb r1, [r2, r3] if((ies != 0) || (iet != 0) || (idt != 0)) 808e7f4: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 808e7f8: b2db uxtb r3, r3 808e7fa: 2b00 cmp r3, #0 808e7fc: d109 bne.n 808e812 808e7fe: f897 33e6 ldrb.w r3, [r7, #998] ; 0x3e6 808e802: b2db uxtb r3, r3 808e804: 2b00 cmp r3, #0 808e806: d104 bne.n 808e812 808e808: f897 33e7 ldrb.w r3, [r7, #999] ; 0x3e7 808e80c: b2db uxtb r3, r3 808e80e: 2b00 cmp r3, #0 808e810: d00c beq.n 808e82c str[i++] = ies + 48; 808e812: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808e816: 1c5a adds r2, r3, #1 808e818: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808e81c: f897 23e5 ldrb.w r2, [r7, #997] ; 0x3e5 808e820: b2d2 uxtb r2, r2 808e822: 3230 adds r2, #48 ; 0x30 808e824: b2d1 uxtb r1, r2 808e826: f507 723b add.w r2, r7, #748 ; 0x2ec 808e82a: 54d1 strb r1, [r2, r3] if((ied != 0) || (ies != 0) || (iet != 0) || (idt != 0)) 808e82c: f897 33e4 ldrb.w r3, [r7, #996] ; 0x3e4 808e830: b2db uxtb r3, r3 808e832: 2b00 cmp r3, #0 808e834: d10e bne.n 808e854 808e836: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 808e83a: b2db uxtb r3, r3 808e83c: 2b00 cmp r3, #0 808e83e: d109 bne.n 808e854 808e840: f897 33e6 ldrb.w r3, [r7, #998] ; 0x3e6 808e844: b2db uxtb r3, r3 808e846: 2b00 cmp r3, #0 808e848: d104 bne.n 808e854 808e84a: f897 33e7 ldrb.w r3, [r7, #999] ; 0x3e7 808e84e: b2db uxtb r3, r3 808e850: 2b00 cmp r3, #0 808e852: d00c beq.n 808e86e str[i++] = ied + 48; 808e854: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808e858: 1c5a adds r2, r3, #1 808e85a: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808e85e: f897 23e4 ldrb.w r2, [r7, #996] ; 0x3e4 808e862: b2d2 uxtb r2, r2 808e864: 3230 adds r2, #48 ; 0x30 808e866: b2d1 uxtb r1, r2 808e868: f507 723b add.w r2, r7, #748 ; 0x2ec 808e86c: 54d1 strb r1, [r2, r3] str[i++] = iee + 48; 808e86e: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808e872: 1c5a adds r2, r3, #1 808e874: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808e878: f897 23e3 ldrb.w r2, [r7, #995] ; 0x3e3 808e87c: b2d2 uxtb r2, r2 808e87e: 3230 adds r2, #48 ; 0x30 808e880: b2d1 uxtb r1, r2 808e882: f507 723b add.w r2, r7, #748 ; 0x2ec 808e886: 54d1 strb r1, [r2, r3] str[i++] = '.'; 808e888: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808e88c: 1c5a adds r2, r3, #1 808e88e: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808e892: f507 723b add.w r2, r7, #748 ; 0x2ec 808e896: 212e movs r1, #46 ; 0x2e 808e898: 54d1 strb r1, [r2, r3] str[i++] = ikd + 48; 808e89a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808e89e: 1c5a adds r2, r3, #1 808e8a0: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808e8a4: f897 23e2 ldrb.w r2, [r7, #994] ; 0x3e2 808e8a8: b2d2 uxtb r2, r2 808e8aa: 3230 adds r2, #48 ; 0x30 808e8ac: b2d1 uxtb r1, r2 808e8ae: f507 723b add.w r2, r7, #748 ; 0x2ec 808e8b2: 54d1 strb r1, [r2, r3] if((pardata.THR & 0x80) && (pardata.IPR == ACC)) 808e8b4: 4b14 ldr r3, [pc, #80] ; (808e908 ) 808e8b6: 7bdb ldrb r3, [r3, #15] 808e8b8: b2db uxtb r3, r3 808e8ba: b25b sxtb r3, r3 808e8bc: 2b00 cmp r3, #0 808e8be: da08 bge.n 808e8d2 808e8c0: 4b11 ldr r3, [pc, #68] ; (808e908 ) 808e8c2: 785b ldrb r3, [r3, #1] 808e8c4: b2db uxtb r3, r3 808e8c6: 2b00 cmp r3, #0 808e8c8: d103 bne.n 808e8d2 cl2 = LCD_COLOR_MY_YELLOW; 808e8ca: 4b0d ldr r3, [pc, #52] ; (808e900 ) 808e8cc: f8c7 3454 str.w r3, [r7, #1108] ; 0x454 808e8d0: e002 b.n 808e8d8 else cl2 = LCD_COLOR_GRAY; 808e8d2: 4b0e ldr r3, [pc, #56] ; (808e90c ) 808e8d4: f8c7 3454 str.w r3, [r7, #1108] ; 0x454 if(menupos == OscThr_ALL) 808e8d8: 4b05 ldr r3, [pc, #20] ; (808e8f0 ) 808e8da: 781b ldrb r3, [r3, #0] 808e8dc: b2db uxtb r3, r3 808e8de: 2b08 cmp r3, #8 808e8e0: d116 bne.n 808e910 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808e8e2: 4904 ldr r1, [pc, #16] ; (808e8f4 ) 808e8e4: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808e8e8: f7c4 ff60 bl 80537ac 808e8ec: e015 b.n 808e91a 808e8ee: bf00 nop 808e8f0: 20020070 .word 0x20020070 808e8f4: ff0a0f1f .word 0xff0a0f1f 808e8f8: 2002165c .word 0x2002165c 808e8fc: 20020964 .word 0x20020964 808e900: ffd8aa57 .word 0xffd8aa57 808e904: 080cf7e8 .word 0x080cf7e8 808e908: 20023e60 .word 0x20023e60 808e90c: ff808080 .word 0xff808080 else LCD_SetColors(cl2, LCD_COLOR_BLACK); 808e910: 49a4 ldr r1, [pc, #656] ; (808eba4 ) 808e912: f8d7 0454 ldr.w r0, [r7, #1108] ; 0x454 808e916: f7c4 ff49 bl 80537ac LCD_DisplayStringC(260, LCD_LINE_11, str); 808e91a: f507 733b add.w r3, r7, #748 ; 0x2ec 808e91e: 461a mov r2, r3 808e920: 21ba movs r1, #186 ; 0xba 808e922: f44f 7082 mov.w r0, #260 ; 0x104 808e926: f7c5 fd01 bl 805432c } if((menupos < OscMax_IDT) || (menupos == Ok) || (menupos >= FilterHP)) 808e92a: 4b9f ldr r3, [pc, #636] ; (808eba8 ) 808e92c: 781b ldrb r3, [r3, #0] 808e92e: b2db uxtb r3, r3 808e930: 2b0e cmp r3, #14 808e932: d90a bls.n 808e94a 808e934: 4b9c ldr r3, [pc, #624] ; (808eba8 ) 808e936: 781b ldrb r3, [r3, #0] 808e938: b2db uxtb r3, r3 808e93a: 2b00 cmp r3, #0 808e93c: d005 beq.n 808e94a 808e93e: 4b9a ldr r3, [pc, #616] ; (808eba8 ) 808e940: 781b ldrb r3, [r3, #0] 808e942: b2db uxtb r3, r3 808e944: 2b16 cmp r3, #22 808e946: f240 80b9 bls.w 808eabc { i = 0; 808e94a: 2300 movs r3, #0 808e94c: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 memset(str2, 0, sizeof(str2)); 808e950: f507 73d8 add.w r3, r7, #432 ; 0x1b0 808e954: 223c movs r2, #60 ; 0x3c 808e956: 2100 movs r1, #0 808e958: 4618 mov r0, r3 808e95a: f03e fb75 bl 80cd048 if(idt2 != 0) 808e95e: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 808e962: b2db uxtb r3, r3 808e964: 2b00 cmp r3, #0 808e966: d00c beq.n 808e982 str2[i++] = idt2 + 48; 808e968: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808e96c: 1c5a adds r2, r3, #1 808e96e: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808e972: f897 23d8 ldrb.w r2, [r7, #984] ; 0x3d8 808e976: b2d2 uxtb r2, r2 808e978: 3230 adds r2, #48 ; 0x30 808e97a: b2d1 uxtb r1, r2 808e97c: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808e980: 54d1 strb r1, [r2, r3] if((iet2 != 0) || (idt2 != 0)) 808e982: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 808e986: b2db uxtb r3, r3 808e988: 2b00 cmp r3, #0 808e98a: d104 bne.n 808e996 808e98c: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 808e990: b2db uxtb r3, r3 808e992: 2b00 cmp r3, #0 808e994: d00c beq.n 808e9b0 str2[i++] = iet2 + 48; 808e996: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808e99a: 1c5a adds r2, r3, #1 808e99c: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808e9a0: f897 23d7 ldrb.w r2, [r7, #983] ; 0x3d7 808e9a4: b2d2 uxtb r2, r2 808e9a6: 3230 adds r2, #48 ; 0x30 808e9a8: b2d1 uxtb r1, r2 808e9aa: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808e9ae: 54d1 strb r1, [r2, r3] if((ies2 != 0) || (iet2 != 0) || (idt2 != 0)) 808e9b0: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 808e9b4: b2db uxtb r3, r3 808e9b6: 2b00 cmp r3, #0 808e9b8: d109 bne.n 808e9ce 808e9ba: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 808e9be: b2db uxtb r3, r3 808e9c0: 2b00 cmp r3, #0 808e9c2: d104 bne.n 808e9ce 808e9c4: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 808e9c8: b2db uxtb r3, r3 808e9ca: 2b00 cmp r3, #0 808e9cc: d00c beq.n 808e9e8 str2[i++] = ies2 + 48; 808e9ce: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808e9d2: 1c5a adds r2, r3, #1 808e9d4: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808e9d8: f897 23d6 ldrb.w r2, [r7, #982] ; 0x3d6 808e9dc: b2d2 uxtb r2, r2 808e9de: 3230 adds r2, #48 ; 0x30 808e9e0: b2d1 uxtb r1, r2 808e9e2: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808e9e6: 54d1 strb r1, [r2, r3] if((ied2 != 0) || (ies2 != 0) || (iet2 != 0) || (idt2 != 0)) 808e9e8: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 808e9ec: b2db uxtb r3, r3 808e9ee: 2b00 cmp r3, #0 808e9f0: d10e bne.n 808ea10 808e9f2: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 808e9f6: b2db uxtb r3, r3 808e9f8: 2b00 cmp r3, #0 808e9fa: d109 bne.n 808ea10 808e9fc: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 808ea00: b2db uxtb r3, r3 808ea02: 2b00 cmp r3, #0 808ea04: d104 bne.n 808ea10 808ea06: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 808ea0a: b2db uxtb r3, r3 808ea0c: 2b00 cmp r3, #0 808ea0e: d00c beq.n 808ea2a str2[i++] = ied2 + 48; 808ea10: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808ea14: 1c5a adds r2, r3, #1 808ea16: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808ea1a: f897 23d5 ldrb.w r2, [r7, #981] ; 0x3d5 808ea1e: b2d2 uxtb r2, r2 808ea20: 3230 adds r2, #48 ; 0x30 808ea22: b2d1 uxtb r1, r2 808ea24: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808ea28: 54d1 strb r1, [r2, r3] str2[i++] = iee2 + 48; 808ea2a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808ea2e: 1c5a adds r2, r3, #1 808ea30: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808ea34: f897 23d4 ldrb.w r2, [r7, #980] ; 0x3d4 808ea38: b2d2 uxtb r2, r2 808ea3a: 3230 adds r2, #48 ; 0x30 808ea3c: b2d1 uxtb r1, r2 808ea3e: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808ea42: 54d1 strb r1, [r2, r3] str2[i++] = '.'; 808ea44: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808ea48: 1c5a adds r2, r3, #1 808ea4a: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808ea4e: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808ea52: 212e movs r1, #46 ; 0x2e 808ea54: 54d1 strb r1, [r2, r3] str2[i++] = ikd2 + 48; 808ea56: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808ea5a: 1c5a adds r2, r3, #1 808ea5c: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808ea60: f897 23d3 ldrb.w r2, [r7, #979] ; 0x3d3 808ea64: b2d2 uxtb r2, r2 808ea66: 3230 adds r2, #48 ; 0x30 808ea68: b2d1 uxtb r1, r2 808ea6a: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808ea6e: 54d1 strb r1, [r2, r3] if(pardata.OPTIONS & 0x4) 808ea70: 4b4e ldr r3, [pc, #312] ; (808ebac ) 808ea72: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 808ea76: f003 0304 and.w r3, r3, #4 808ea7a: 2b00 cmp r3, #0 808ea7c: d003 beq.n 808ea86 cl2 = LCD_COLOR_GRAY; 808ea7e: 4b4c ldr r3, [pc, #304] ; (808ebb0 ) 808ea80: f8c7 3454 str.w r3, [r7, #1108] ; 0x454 808ea84: e002 b.n 808ea8c else cl2 = LCD_COLOR_MY_YELLOW; 808ea86: 4b4b ldr r3, [pc, #300] ; (808ebb4 ) 808ea88: f8c7 3454 str.w r3, [r7, #1108] ; 0x454 if(menupos == OscMax_ALL) 808ea8c: 4b46 ldr r3, [pc, #280] ; (808eba8 ) 808ea8e: 781b ldrb r3, [r3, #0] 808ea90: b2db uxtb r3, r3 808ea92: 2b06 cmp r3, #6 808ea94: d105 bne.n 808eaa2 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808ea96: 4943 ldr r1, [pc, #268] ; (808eba4 ) 808ea98: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808ea9c: f7c4 fe86 bl 80537ac 808eaa0: e004 b.n 808eaac else LCD_SetColors(cl2, LCD_COLOR_BLACK); 808eaa2: 4940 ldr r1, [pc, #256] ; (808eba4 ) 808eaa4: f8d7 0454 ldr.w r0, [r7, #1108] ; 0x454 808eaa8: f7c4 fe80 bl 80537ac LCD_DisplayStringC(260, LCD_LINE_9, str2); 808eaac: f507 73d8 add.w r3, r7, #432 ; 0x1b0 808eab0: 461a mov r2, r3 808eab2: 219a movs r1, #154 ; 0x9a 808eab4: f44f 7082 mov.w r0, #260 ; 0x104 808eab8: f7c5 fc38 bl 805432c } if(pardata.THR & 0x80) // Åñëè ïîðîã åíåéáëåä // 808eabc: 4b3b ldr r3, [pc, #236] ; (808ebac ) 808eabe: 7bdb ldrb r3, [r3, #15] 808eac0: b2db uxtb r3, r3 808eac2: b25b sxtb r3, r3 808eac4: 2b00 cmp r3, #0 808eac6: da0a bge.n 808eade { LCD_SetColors(LCD_COLOR_DARKGRAY, LCD_COLOR_BLACK); 808eac8: 4936 ldr r1, [pc, #216] ; (808eba4 ) 808eaca: 483b ldr r0, [pc, #236] ; (808ebb8 ) 808eacc: f7c4 fe6e bl 80537ac BSP_LCD_FillRect(257, CHECKBOX_LINE_10+2, 6, 6); 808ead0: 2306 movs r3, #6 808ead2: 2206 movs r2, #6 808ead4: 21af movs r1, #175 ; 0xaf 808ead6: f240 1001 movw r0, #257 ; 0x101 808eada: f7c5 faf5 bl 80540c8 } if(menupos == FilterHP_IDT) 808eade: 4b32 ldr r3, [pc, #200] ; (808eba8 ) 808eae0: 781b ldrb r3, [r3, #0] 808eae2: b2db uxtb r3, r3 808eae4: 2b19 cmp r3, #25 808eae6: d16f bne.n 808ebc8 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808eae8: 492e ldr r1, [pc, #184] ; (808eba4 ) 808eaea: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808eaee: f7c4 fe5d bl 80537ac if(blk) 808eaf2: 4b32 ldr r3, [pc, #200] ; (808ebbc ) 808eaf4: 681b ldr r3, [r3, #0] 808eaf6: 2b00 cmp r3, #0 808eaf8: d00b beq.n 808eb12 LCD_DisplayString(198, LCD_LINE_4, (char *) pNUMS[idtHP]); 808eafa: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 808eafe: b2db uxtb r3, r3 808eb00: 461a mov r2, r3 808eb02: 4b2f ldr r3, [pc, #188] ; (808ebc0 ) 808eb04: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808eb08: 461a mov r2, r3 808eb0a: 214a movs r1, #74 ; 0x4a 808eb0c: 20c6 movs r0, #198 ; 0xc6 808eb0e: f7c5 fbf5 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808eb12: 4924 ldr r1, [pc, #144] ; (808eba4 ) 808eb14: 4827 ldr r0, [pc, #156] ; (808ebb4 ) 808eb16: f7c4 fe49 bl 80537ac LCD_DisplayString(214, LCD_LINE_4, (char *) pNUMS[ietHP]); 808eb1a: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 808eb1e: b2db uxtb r3, r3 808eb20: 461a mov r2, r3 808eb22: 4b27 ldr r3, [pc, #156] ; (808ebc0 ) 808eb24: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808eb28: 461a mov r2, r3 808eb2a: 214a movs r1, #74 ; 0x4a 808eb2c: 20d6 movs r0, #214 ; 0xd6 808eb2e: f7c5 fbe5 bl 80542fc LCD_DisplayString(230, LCD_LINE_4, (char *) pNUMS[iesHP]); 808eb32: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 808eb36: b2db uxtb r3, r3 808eb38: 461a mov r2, r3 808eb3a: 4b21 ldr r3, [pc, #132] ; (808ebc0 ) 808eb3c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808eb40: 461a mov r2, r3 808eb42: 214a movs r1, #74 ; 0x4a 808eb44: 20e6 movs r0, #230 ; 0xe6 808eb46: f7c5 fbd9 bl 80542fc LCD_DisplayString(246, LCD_LINE_4, (char *) pNUMS[iedHP]); 808eb4a: f897 33ce ldrb.w r3, [r7, #974] ; 0x3ce 808eb4e: b2db uxtb r3, r3 808eb50: 461a mov r2, r3 808eb52: 4b1b ldr r3, [pc, #108] ; (808ebc0 ) 808eb54: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808eb58: 461a mov r2, r3 808eb5a: 214a movs r1, #74 ; 0x4a 808eb5c: 20f6 movs r0, #246 ; 0xf6 808eb5e: f7c5 fbcd bl 80542fc LCD_DisplayString(262, LCD_LINE_4, (char *) pNUMS[ieeHP]); 808eb62: f897 33cd ldrb.w r3, [r7, #973] ; 0x3cd 808eb66: b2db uxtb r3, r3 808eb68: 461a mov r2, r3 808eb6a: 4b15 ldr r3, [pc, #84] ; (808ebc0 ) 808eb6c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808eb70: 461a mov r2, r3 808eb72: 214a movs r1, #74 ; 0x4a 808eb74: f44f 7083 mov.w r0, #262 ; 0x106 808eb78: f7c5 fbc0 bl 80542fc LCD_DisplayString(278, LCD_LINE_4, "."); 808eb7c: 4a11 ldr r2, [pc, #68] ; (808ebc4 ) 808eb7e: 214a movs r1, #74 ; 0x4a 808eb80: f44f 708b mov.w r0, #278 ; 0x116 808eb84: f7c5 fbba bl 80542fc LCD_DisplayString(294, LCD_LINE_4, (char *) pNUMS[ikdHP]); 808eb88: f897 33cc ldrb.w r3, [r7, #972] ; 0x3cc 808eb8c: b2db uxtb r3, r3 808eb8e: 461a mov r2, r3 808eb90: 4b0b ldr r3, [pc, #44] ; (808ebc0 ) 808eb92: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808eb96: 461a mov r2, r3 808eb98: 214a movs r1, #74 ; 0x4a 808eb9a: f44f 7093 mov.w r0, #294 ; 0x126 808eb9e: f7c5 fbad bl 80542fc 808eba2: e20b b.n 808efbc 808eba4: ff0a0f1f .word 0xff0a0f1f 808eba8: 20020070 .word 0x20020070 808ebac: 20023e60 .word 0x20023e60 808ebb0: ff808080 .word 0xff808080 808ebb4: ffd8aa57 .word 0xffd8aa57 808ebb8: ff404040 .word 0xff404040 808ebbc: 2002165c .word 0x2002165c 808ebc0: 20020964 .word 0x20020964 808ebc4: 080cf7e8 .word 0x080cf7e8 } else if(menupos == FilterHP_IET) 808ebc8: 4bc5 ldr r3, [pc, #788] ; (808eee0 ) 808ebca: 781b ldrb r3, [r3, #0] 808ebcc: b2db uxtb r3, r3 808ebce: 2b1a cmp r3, #26 808ebd0: d15d bne.n 808ec8e { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808ebd2: 49c4 ldr r1, [pc, #784] ; (808eee4 ) 808ebd4: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808ebd8: f7c4 fde8 bl 80537ac if(blk) 808ebdc: 4bc2 ldr r3, [pc, #776] ; (808eee8 ) 808ebde: 681b ldr r3, [r3, #0] 808ebe0: 2b00 cmp r3, #0 808ebe2: d00b beq.n 808ebfc LCD_DisplayString(214, LCD_LINE_4, (char *) pNUMS[ietHP]); 808ebe4: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 808ebe8: b2db uxtb r3, r3 808ebea: 461a mov r2, r3 808ebec: 4bbf ldr r3, [pc, #764] ; (808eeec ) 808ebee: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808ebf2: 461a mov r2, r3 808ebf4: 214a movs r1, #74 ; 0x4a 808ebf6: 20d6 movs r0, #214 ; 0xd6 808ebf8: f7c5 fb80 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808ebfc: 49b9 ldr r1, [pc, #740] ; (808eee4 ) 808ebfe: 48bc ldr r0, [pc, #752] ; (808eef0 ) 808ec00: f7c4 fdd4 bl 80537ac LCD_DisplayString(198, LCD_LINE_4, (char *) pNUMS[idtHP]); 808ec04: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 808ec08: b2db uxtb r3, r3 808ec0a: 461a mov r2, r3 808ec0c: 4bb7 ldr r3, [pc, #732] ; (808eeec ) 808ec0e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808ec12: 461a mov r2, r3 808ec14: 214a movs r1, #74 ; 0x4a 808ec16: 20c6 movs r0, #198 ; 0xc6 808ec18: f7c5 fb70 bl 80542fc LCD_DisplayString(230, LCD_LINE_4, (char *) pNUMS[iesHP]); 808ec1c: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 808ec20: b2db uxtb r3, r3 808ec22: 461a mov r2, r3 808ec24: 4bb1 ldr r3, [pc, #708] ; (808eeec ) 808ec26: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808ec2a: 461a mov r2, r3 808ec2c: 214a movs r1, #74 ; 0x4a 808ec2e: 20e6 movs r0, #230 ; 0xe6 808ec30: f7c5 fb64 bl 80542fc LCD_DisplayString(246, LCD_LINE_4, (char *) pNUMS[iedHP]); 808ec34: f897 33ce ldrb.w r3, [r7, #974] ; 0x3ce 808ec38: b2db uxtb r3, r3 808ec3a: 461a mov r2, r3 808ec3c: 4bab ldr r3, [pc, #684] ; (808eeec ) 808ec3e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808ec42: 461a mov r2, r3 808ec44: 214a movs r1, #74 ; 0x4a 808ec46: 20f6 movs r0, #246 ; 0xf6 808ec48: f7c5 fb58 bl 80542fc LCD_DisplayString(262, LCD_LINE_4, (char *) pNUMS[ieeHP]); 808ec4c: f897 33cd ldrb.w r3, [r7, #973] ; 0x3cd 808ec50: b2db uxtb r3, r3 808ec52: 461a mov r2, r3 808ec54: 4ba5 ldr r3, [pc, #660] ; (808eeec ) 808ec56: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808ec5a: 461a mov r2, r3 808ec5c: 214a movs r1, #74 ; 0x4a 808ec5e: f44f 7083 mov.w r0, #262 ; 0x106 808ec62: f7c5 fb4b bl 80542fc LCD_DisplayString(278, LCD_LINE_4, "."); 808ec66: 4aa3 ldr r2, [pc, #652] ; (808eef4 ) 808ec68: 214a movs r1, #74 ; 0x4a 808ec6a: f44f 708b mov.w r0, #278 ; 0x116 808ec6e: f7c5 fb45 bl 80542fc LCD_DisplayString(294, LCD_LINE_4, (char *) pNUMS[ikdHP]); 808ec72: f897 33cc ldrb.w r3, [r7, #972] ; 0x3cc 808ec76: b2db uxtb r3, r3 808ec78: 461a mov r2, r3 808ec7a: 4b9c ldr r3, [pc, #624] ; (808eeec ) 808ec7c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808ec80: 461a mov r2, r3 808ec82: 214a movs r1, #74 ; 0x4a 808ec84: f44f 7093 mov.w r0, #294 ; 0x126 808ec88: f7c5 fb38 bl 80542fc 808ec8c: e196 b.n 808efbc } else if(menupos == FilterHP_IES) 808ec8e: 4b94 ldr r3, [pc, #592] ; (808eee0 ) 808ec90: 781b ldrb r3, [r3, #0] 808ec92: b2db uxtb r3, r3 808ec94: 2b1b cmp r3, #27 808ec96: d15d bne.n 808ed54 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808ec98: 4992 ldr r1, [pc, #584] ; (808eee4 ) 808ec9a: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808ec9e: f7c4 fd85 bl 80537ac if(blk) 808eca2: 4b91 ldr r3, [pc, #580] ; (808eee8 ) 808eca4: 681b ldr r3, [r3, #0] 808eca6: 2b00 cmp r3, #0 808eca8: d00b beq.n 808ecc2 LCD_DisplayString(230, LCD_LINE_4, (char *) pNUMS[iesHP]); 808ecaa: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 808ecae: b2db uxtb r3, r3 808ecb0: 461a mov r2, r3 808ecb2: 4b8e ldr r3, [pc, #568] ; (808eeec ) 808ecb4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808ecb8: 461a mov r2, r3 808ecba: 214a movs r1, #74 ; 0x4a 808ecbc: 20e6 movs r0, #230 ; 0xe6 808ecbe: f7c5 fb1d bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808ecc2: 4988 ldr r1, [pc, #544] ; (808eee4 ) 808ecc4: 488a ldr r0, [pc, #552] ; (808eef0 ) 808ecc6: f7c4 fd71 bl 80537ac LCD_DisplayString(198, LCD_LINE_4, (char *) pNUMS[idtHP]); 808ecca: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 808ecce: b2db uxtb r3, r3 808ecd0: 461a mov r2, r3 808ecd2: 4b86 ldr r3, [pc, #536] ; (808eeec ) 808ecd4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808ecd8: 461a mov r2, r3 808ecda: 214a movs r1, #74 ; 0x4a 808ecdc: 20c6 movs r0, #198 ; 0xc6 808ecde: f7c5 fb0d bl 80542fc LCD_DisplayString(214, LCD_LINE_4, (char *) pNUMS[ietHP]); 808ece2: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 808ece6: b2db uxtb r3, r3 808ece8: 461a mov r2, r3 808ecea: 4b80 ldr r3, [pc, #512] ; (808eeec ) 808ecec: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808ecf0: 461a mov r2, r3 808ecf2: 214a movs r1, #74 ; 0x4a 808ecf4: 20d6 movs r0, #214 ; 0xd6 808ecf6: f7c5 fb01 bl 80542fc LCD_DisplayString(246, LCD_LINE_4, (char *) pNUMS[iedHP]); 808ecfa: f897 33ce ldrb.w r3, [r7, #974] ; 0x3ce 808ecfe: b2db uxtb r3, r3 808ed00: 461a mov r2, r3 808ed02: 4b7a ldr r3, [pc, #488] ; (808eeec ) 808ed04: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808ed08: 461a mov r2, r3 808ed0a: 214a movs r1, #74 ; 0x4a 808ed0c: 20f6 movs r0, #246 ; 0xf6 808ed0e: f7c5 faf5 bl 80542fc LCD_DisplayString(262, LCD_LINE_4, (char *) pNUMS[ieeHP]); 808ed12: f897 33cd ldrb.w r3, [r7, #973] ; 0x3cd 808ed16: b2db uxtb r3, r3 808ed18: 461a mov r2, r3 808ed1a: 4b74 ldr r3, [pc, #464] ; (808eeec ) 808ed1c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808ed20: 461a mov r2, r3 808ed22: 214a movs r1, #74 ; 0x4a 808ed24: f44f 7083 mov.w r0, #262 ; 0x106 808ed28: f7c5 fae8 bl 80542fc LCD_DisplayString(278, LCD_LINE_4, "."); 808ed2c: 4a71 ldr r2, [pc, #452] ; (808eef4 ) 808ed2e: 214a movs r1, #74 ; 0x4a 808ed30: f44f 708b mov.w r0, #278 ; 0x116 808ed34: f7c5 fae2 bl 80542fc LCD_DisplayString(294, LCD_LINE_4, (char *) pNUMS[ikdHP]); 808ed38: f897 33cc ldrb.w r3, [r7, #972] ; 0x3cc 808ed3c: b2db uxtb r3, r3 808ed3e: 461a mov r2, r3 808ed40: 4b6a ldr r3, [pc, #424] ; (808eeec ) 808ed42: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808ed46: 461a mov r2, r3 808ed48: 214a movs r1, #74 ; 0x4a 808ed4a: f44f 7093 mov.w r0, #294 ; 0x126 808ed4e: f7c5 fad5 bl 80542fc 808ed52: e133 b.n 808efbc } else if(menupos == FilterHP_IED) 808ed54: 4b62 ldr r3, [pc, #392] ; (808eee0 ) 808ed56: 781b ldrb r3, [r3, #0] 808ed58: b2db uxtb r3, r3 808ed5a: 2b1c cmp r3, #28 808ed5c: d15d bne.n 808ee1a { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808ed5e: 4961 ldr r1, [pc, #388] ; (808eee4 ) 808ed60: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808ed64: f7c4 fd22 bl 80537ac if(blk) 808ed68: 4b5f ldr r3, [pc, #380] ; (808eee8 ) 808ed6a: 681b ldr r3, [r3, #0] 808ed6c: 2b00 cmp r3, #0 808ed6e: d00b beq.n 808ed88 LCD_DisplayString(246, LCD_LINE_4, (char *) pNUMS[iedHP]); 808ed70: f897 33ce ldrb.w r3, [r7, #974] ; 0x3ce 808ed74: b2db uxtb r3, r3 808ed76: 461a mov r2, r3 808ed78: 4b5c ldr r3, [pc, #368] ; (808eeec ) 808ed7a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808ed7e: 461a mov r2, r3 808ed80: 214a movs r1, #74 ; 0x4a 808ed82: 20f6 movs r0, #246 ; 0xf6 808ed84: f7c5 faba bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808ed88: 4956 ldr r1, [pc, #344] ; (808eee4 ) 808ed8a: 4859 ldr r0, [pc, #356] ; (808eef0 ) 808ed8c: f7c4 fd0e bl 80537ac LCD_DisplayString(198, LCD_LINE_4, (char *) pNUMS[idtHP]); 808ed90: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 808ed94: b2db uxtb r3, r3 808ed96: 461a mov r2, r3 808ed98: 4b54 ldr r3, [pc, #336] ; (808eeec ) 808ed9a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808ed9e: 461a mov r2, r3 808eda0: 214a movs r1, #74 ; 0x4a 808eda2: 20c6 movs r0, #198 ; 0xc6 808eda4: f7c5 faaa bl 80542fc LCD_DisplayString(214, LCD_LINE_4, (char *) pNUMS[ietHP]); 808eda8: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 808edac: b2db uxtb r3, r3 808edae: 461a mov r2, r3 808edb0: 4b4e ldr r3, [pc, #312] ; (808eeec ) 808edb2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808edb6: 461a mov r2, r3 808edb8: 214a movs r1, #74 ; 0x4a 808edba: 20d6 movs r0, #214 ; 0xd6 808edbc: f7c5 fa9e bl 80542fc LCD_DisplayString(230, LCD_LINE_4, (char *) pNUMS[iesHP]); 808edc0: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 808edc4: b2db uxtb r3, r3 808edc6: 461a mov r2, r3 808edc8: 4b48 ldr r3, [pc, #288] ; (808eeec ) 808edca: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808edce: 461a mov r2, r3 808edd0: 214a movs r1, #74 ; 0x4a 808edd2: 20e6 movs r0, #230 ; 0xe6 808edd4: f7c5 fa92 bl 80542fc LCD_DisplayString(262, LCD_LINE_4, (char *) pNUMS[ieeHP]); 808edd8: f897 33cd ldrb.w r3, [r7, #973] ; 0x3cd 808eddc: b2db uxtb r3, r3 808edde: 461a mov r2, r3 808ede0: 4b42 ldr r3, [pc, #264] ; (808eeec ) 808ede2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808ede6: 461a mov r2, r3 808ede8: 214a movs r1, #74 ; 0x4a 808edea: f44f 7083 mov.w r0, #262 ; 0x106 808edee: f7c5 fa85 bl 80542fc LCD_DisplayString(278, LCD_LINE_4, "."); 808edf2: 4a40 ldr r2, [pc, #256] ; (808eef4 ) 808edf4: 214a movs r1, #74 ; 0x4a 808edf6: f44f 708b mov.w r0, #278 ; 0x116 808edfa: f7c5 fa7f bl 80542fc LCD_DisplayString(294, LCD_LINE_4, (char *) pNUMS[ikdHP]); 808edfe: f897 33cc ldrb.w r3, [r7, #972] ; 0x3cc 808ee02: b2db uxtb r3, r3 808ee04: 461a mov r2, r3 808ee06: 4b39 ldr r3, [pc, #228] ; (808eeec ) 808ee08: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808ee0c: 461a mov r2, r3 808ee0e: 214a movs r1, #74 ; 0x4a 808ee10: f44f 7093 mov.w r0, #294 ; 0x126 808ee14: f7c5 fa72 bl 80542fc 808ee18: e0d0 b.n 808efbc } else if(menupos == FilterHP_IEE) 808ee1a: 4b31 ldr r3, [pc, #196] ; (808eee0 ) 808ee1c: 781b ldrb r3, [r3, #0] 808ee1e: b2db uxtb r3, r3 808ee20: 2b1d cmp r3, #29 808ee22: d169 bne.n 808eef8 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808ee24: 492f ldr r1, [pc, #188] ; (808eee4 ) 808ee26: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808ee2a: f7c4 fcbf bl 80537ac if(blk) 808ee2e: 4b2e ldr r3, [pc, #184] ; (808eee8 ) 808ee30: 681b ldr r3, [r3, #0] 808ee32: 2b00 cmp r3, #0 808ee34: d00c beq.n 808ee50 LCD_DisplayString(262, LCD_LINE_4, (char *) pNUMS[ieeHP]); 808ee36: f897 33cd ldrb.w r3, [r7, #973] ; 0x3cd 808ee3a: b2db uxtb r3, r3 808ee3c: 461a mov r2, r3 808ee3e: 4b2b ldr r3, [pc, #172] ; (808eeec ) 808ee40: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808ee44: 461a mov r2, r3 808ee46: 214a movs r1, #74 ; 0x4a 808ee48: f44f 7083 mov.w r0, #262 ; 0x106 808ee4c: f7c5 fa56 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808ee50: 4924 ldr r1, [pc, #144] ; (808eee4 ) 808ee52: 4827 ldr r0, [pc, #156] ; (808eef0 ) 808ee54: f7c4 fcaa bl 80537ac LCD_DisplayString(198, LCD_LINE_4, (char *) pNUMS[idtHP]); 808ee58: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 808ee5c: b2db uxtb r3, r3 808ee5e: 461a mov r2, r3 808ee60: 4b22 ldr r3, [pc, #136] ; (808eeec ) 808ee62: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808ee66: 461a mov r2, r3 808ee68: 214a movs r1, #74 ; 0x4a 808ee6a: 20c6 movs r0, #198 ; 0xc6 808ee6c: f7c5 fa46 bl 80542fc LCD_DisplayString(214, LCD_LINE_4, (char *) pNUMS[ietHP]); 808ee70: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 808ee74: b2db uxtb r3, r3 808ee76: 461a mov r2, r3 808ee78: 4b1c ldr r3, [pc, #112] ; (808eeec ) 808ee7a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808ee7e: 461a mov r2, r3 808ee80: 214a movs r1, #74 ; 0x4a 808ee82: 20d6 movs r0, #214 ; 0xd6 808ee84: f7c5 fa3a bl 80542fc LCD_DisplayString(230, LCD_LINE_4, (char *) pNUMS[iesHP]); 808ee88: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 808ee8c: b2db uxtb r3, r3 808ee8e: 461a mov r2, r3 808ee90: 4b16 ldr r3, [pc, #88] ; (808eeec ) 808ee92: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808ee96: 461a mov r2, r3 808ee98: 214a movs r1, #74 ; 0x4a 808ee9a: 20e6 movs r0, #230 ; 0xe6 808ee9c: f7c5 fa2e bl 80542fc LCD_DisplayString(246, LCD_LINE_4, (char *) pNUMS[iedHP]); 808eea0: f897 33ce ldrb.w r3, [r7, #974] ; 0x3ce 808eea4: b2db uxtb r3, r3 808eea6: 461a mov r2, r3 808eea8: 4b10 ldr r3, [pc, #64] ; (808eeec ) 808eeaa: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808eeae: 461a mov r2, r3 808eeb0: 214a movs r1, #74 ; 0x4a 808eeb2: 20f6 movs r0, #246 ; 0xf6 808eeb4: f7c5 fa22 bl 80542fc LCD_DisplayString(278, LCD_LINE_4, "."); 808eeb8: 4a0e ldr r2, [pc, #56] ; (808eef4 ) 808eeba: 214a movs r1, #74 ; 0x4a 808eebc: f44f 708b mov.w r0, #278 ; 0x116 808eec0: f7c5 fa1c bl 80542fc LCD_DisplayString(294, LCD_LINE_4, (char *) pNUMS[ikdHP]); 808eec4: f897 33cc ldrb.w r3, [r7, #972] ; 0x3cc 808eec8: b2db uxtb r3, r3 808eeca: 461a mov r2, r3 808eecc: 4b07 ldr r3, [pc, #28] ; (808eeec ) 808eece: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808eed2: 461a mov r2, r3 808eed4: 214a movs r1, #74 ; 0x4a 808eed6: f44f 7093 mov.w r0, #294 ; 0x126 808eeda: f7c5 fa0f bl 80542fc 808eede: e06d b.n 808efbc 808eee0: 20020070 .word 0x20020070 808eee4: ff0a0f1f .word 0xff0a0f1f 808eee8: 2002165c .word 0x2002165c 808eeec: 20020964 .word 0x20020964 808eef0: ffd8aa57 .word 0xffd8aa57 808eef4: 080cf7e8 .word 0x080cf7e8 } else if(menupos == FilterHP_IKD) 808eef8: 4bc6 ldr r3, [pc, #792] ; (808f214 ) 808eefa: 781b ldrb r3, [r3, #0] 808eefc: b2db uxtb r3, r3 808eefe: 2b1e cmp r3, #30 808ef00: d15c bne.n 808efbc { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808ef02: 49c5 ldr r1, [pc, #788] ; (808f218 ) 808ef04: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808ef08: f7c4 fc50 bl 80537ac if(blk) 808ef0c: 4bc3 ldr r3, [pc, #780] ; (808f21c ) 808ef0e: 681b ldr r3, [r3, #0] 808ef10: 2b00 cmp r3, #0 808ef12: d00c beq.n 808ef2e LCD_DisplayString(294, LCD_LINE_4, (char *) pNUMS[ikdHP]); 808ef14: f897 33cc ldrb.w r3, [r7, #972] ; 0x3cc 808ef18: b2db uxtb r3, r3 808ef1a: 461a mov r2, r3 808ef1c: 4bc0 ldr r3, [pc, #768] ; (808f220 ) 808ef1e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808ef22: 461a mov r2, r3 808ef24: 214a movs r1, #74 ; 0x4a 808ef26: f44f 7093 mov.w r0, #294 ; 0x126 808ef2a: f7c5 f9e7 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808ef2e: 49ba ldr r1, [pc, #744] ; (808f218 ) 808ef30: 48bc ldr r0, [pc, #752] ; (808f224 ) 808ef32: f7c4 fc3b bl 80537ac LCD_DisplayString(198, LCD_LINE_4, (char *) pNUMS[idtHP]); 808ef36: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 808ef3a: b2db uxtb r3, r3 808ef3c: 461a mov r2, r3 808ef3e: 4bb8 ldr r3, [pc, #736] ; (808f220 ) 808ef40: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808ef44: 461a mov r2, r3 808ef46: 214a movs r1, #74 ; 0x4a 808ef48: 20c6 movs r0, #198 ; 0xc6 808ef4a: f7c5 f9d7 bl 80542fc LCD_DisplayString(214, LCD_LINE_4, (char *) pNUMS[ietHP]); 808ef4e: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 808ef52: b2db uxtb r3, r3 808ef54: 461a mov r2, r3 808ef56: 4bb2 ldr r3, [pc, #712] ; (808f220 ) 808ef58: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808ef5c: 461a mov r2, r3 808ef5e: 214a movs r1, #74 ; 0x4a 808ef60: 20d6 movs r0, #214 ; 0xd6 808ef62: f7c5 f9cb bl 80542fc LCD_DisplayString(230, LCD_LINE_4, (char *) pNUMS[iesHP]); 808ef66: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 808ef6a: b2db uxtb r3, r3 808ef6c: 461a mov r2, r3 808ef6e: 4bac ldr r3, [pc, #688] ; (808f220 ) 808ef70: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808ef74: 461a mov r2, r3 808ef76: 214a movs r1, #74 ; 0x4a 808ef78: 20e6 movs r0, #230 ; 0xe6 808ef7a: f7c5 f9bf bl 80542fc LCD_DisplayString(246, LCD_LINE_4, (char *) pNUMS[iedHP]); 808ef7e: f897 33ce ldrb.w r3, [r7, #974] ; 0x3ce 808ef82: b2db uxtb r3, r3 808ef84: 461a mov r2, r3 808ef86: 4ba6 ldr r3, [pc, #664] ; (808f220 ) 808ef88: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808ef8c: 461a mov r2, r3 808ef8e: 214a movs r1, #74 ; 0x4a 808ef90: 20f6 movs r0, #246 ; 0xf6 808ef92: f7c5 f9b3 bl 80542fc LCD_DisplayString(262, LCD_LINE_4, (char *) pNUMS[ieeHP]); 808ef96: f897 33cd ldrb.w r3, [r7, #973] ; 0x3cd 808ef9a: b2db uxtb r3, r3 808ef9c: 461a mov r2, r3 808ef9e: 4ba0 ldr r3, [pc, #640] ; (808f220 ) 808efa0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808efa4: 461a mov r2, r3 808efa6: 214a movs r1, #74 ; 0x4a 808efa8: f44f 7083 mov.w r0, #262 ; 0x106 808efac: f7c5 f9a6 bl 80542fc LCD_DisplayString(278, LCD_LINE_4, "."); 808efb0: 4a9d ldr r2, [pc, #628] ; (808f228 ) 808efb2: 214a movs r1, #74 ; 0x4a 808efb4: f44f 708b mov.w r0, #278 ; 0x116 808efb8: f7c5 f9a0 bl 80542fc if(menupos == FilterLP_IDT) 808efbc: 4b95 ldr r3, [pc, #596] ; (808f214 ) 808efbe: 781b ldrb r3, [r3, #0] 808efc0: b2db uxtb r3, r3 808efc2: 2b1f cmp r3, #31 808efc4: d15e bne.n 808f084 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808efc6: 4994 ldr r1, [pc, #592] ; (808f218 ) 808efc8: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808efcc: f7c4 fbee bl 80537ac if(blk) 808efd0: 4b92 ldr r3, [pc, #584] ; (808f21c ) 808efd2: 681b ldr r3, [r3, #0] 808efd4: 2b00 cmp r3, #0 808efd6: d00b beq.n 808eff0 LCD_DisplayString(198, LCD_LINE_5, (char *) pNUMS[idtLP]); 808efd8: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 808efdc: b2db uxtb r3, r3 808efde: 461a mov r2, r3 808efe0: 4b8f ldr r3, [pc, #572] ; (808f220 ) 808efe2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808efe6: 461a mov r2, r3 808efe8: 215a movs r1, #90 ; 0x5a 808efea: 20c6 movs r0, #198 ; 0xc6 808efec: f7c5 f986 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808eff0: 4989 ldr r1, [pc, #548] ; (808f218 ) 808eff2: 488c ldr r0, [pc, #560] ; (808f224 ) 808eff4: f7c4 fbda bl 80537ac LCD_DisplayString(214, LCD_LINE_5, (char *) pNUMS[ietLP]); 808eff8: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 808effc: b2db uxtb r3, r3 808effe: 461a mov r2, r3 808f000: 4b87 ldr r3, [pc, #540] ; (808f220 ) 808f002: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808f006: 461a mov r2, r3 808f008: 215a movs r1, #90 ; 0x5a 808f00a: 20d6 movs r0, #214 ; 0xd6 808f00c: f7c5 f976 bl 80542fc LCD_DisplayString(230, LCD_LINE_5, (char *) pNUMS[iesLP]); 808f010: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 808f014: b2db uxtb r3, r3 808f016: 461a mov r2, r3 808f018: 4b81 ldr r3, [pc, #516] ; (808f220 ) 808f01a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808f01e: 461a mov r2, r3 808f020: 215a movs r1, #90 ; 0x5a 808f022: 20e6 movs r0, #230 ; 0xe6 808f024: f7c5 f96a bl 80542fc LCD_DisplayString(246, LCD_LINE_5, (char *) pNUMS[iedLP]); 808f028: f897 33c7 ldrb.w r3, [r7, #967] ; 0x3c7 808f02c: b2db uxtb r3, r3 808f02e: 461a mov r2, r3 808f030: 4b7b ldr r3, [pc, #492] ; (808f220 ) 808f032: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808f036: 461a mov r2, r3 808f038: 215a movs r1, #90 ; 0x5a 808f03a: 20f6 movs r0, #246 ; 0xf6 808f03c: f7c5 f95e bl 80542fc LCD_DisplayString(262, LCD_LINE_5, (char *) pNUMS[ieeLP]); 808f040: f897 33c6 ldrb.w r3, [r7, #966] ; 0x3c6 808f044: b2db uxtb r3, r3 808f046: 461a mov r2, r3 808f048: 4b75 ldr r3, [pc, #468] ; (808f220 ) 808f04a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808f04e: 461a mov r2, r3 808f050: 215a movs r1, #90 ; 0x5a 808f052: f44f 7083 mov.w r0, #262 ; 0x106 808f056: f7c5 f951 bl 80542fc LCD_DisplayString(278, LCD_LINE_5, "."); 808f05a: 4a73 ldr r2, [pc, #460] ; (808f228 ) 808f05c: 215a movs r1, #90 ; 0x5a 808f05e: f44f 708b mov.w r0, #278 ; 0x116 808f062: f7c5 f94b bl 80542fc LCD_DisplayString(294, LCD_LINE_5, (char *) pNUMS[ikdLP]); 808f066: f897 33c5 ldrb.w r3, [r7, #965] ; 0x3c5 808f06a: b2db uxtb r3, r3 808f06c: 461a mov r2, r3 808f06e: 4b6c ldr r3, [pc, #432] ; (808f220 ) 808f070: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808f074: 461a mov r2, r3 808f076: 215a movs r1, #90 ; 0x5a 808f078: f44f 7093 mov.w r0, #294 ; 0x126 808f07c: f7c5 f93e bl 80542fc 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; 808f080: f008 baa7 b.w 80975d2 if(menupos == FilterLP_IET) 808f084: 4b63 ldr r3, [pc, #396] ; (808f214 ) 808f086: 781b ldrb r3, [r3, #0] 808f088: b2db uxtb r3, r3 808f08a: 2b20 cmp r3, #32 808f08c: d15e bne.n 808f14c LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808f08e: 4962 ldr r1, [pc, #392] ; (808f218 ) 808f090: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808f094: f7c4 fb8a bl 80537ac if(blk) 808f098: 4b60 ldr r3, [pc, #384] ; (808f21c ) 808f09a: 681b ldr r3, [r3, #0] 808f09c: 2b00 cmp r3, #0 808f09e: d00b beq.n 808f0b8 LCD_DisplayString(214, LCD_LINE_5, (char *) pNUMS[ietLP]); 808f0a0: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 808f0a4: b2db uxtb r3, r3 808f0a6: 461a mov r2, r3 808f0a8: 4b5d ldr r3, [pc, #372] ; (808f220 ) 808f0aa: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808f0ae: 461a mov r2, r3 808f0b0: 215a movs r1, #90 ; 0x5a 808f0b2: 20d6 movs r0, #214 ; 0xd6 808f0b4: f7c5 f922 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808f0b8: 4957 ldr r1, [pc, #348] ; (808f218 ) 808f0ba: 485a ldr r0, [pc, #360] ; (808f224 ) 808f0bc: f7c4 fb76 bl 80537ac LCD_DisplayString(198, LCD_LINE_5, (char *) pNUMS[idtLP]); 808f0c0: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 808f0c4: b2db uxtb r3, r3 808f0c6: 461a mov r2, r3 808f0c8: 4b55 ldr r3, [pc, #340] ; (808f220 ) 808f0ca: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808f0ce: 461a mov r2, r3 808f0d0: 215a movs r1, #90 ; 0x5a 808f0d2: 20c6 movs r0, #198 ; 0xc6 808f0d4: f7c5 f912 bl 80542fc LCD_DisplayString(230, LCD_LINE_5, (char *) pNUMS[iesLP]); 808f0d8: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 808f0dc: b2db uxtb r3, r3 808f0de: 461a mov r2, r3 808f0e0: 4b4f ldr r3, [pc, #316] ; (808f220 ) 808f0e2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808f0e6: 461a mov r2, r3 808f0e8: 215a movs r1, #90 ; 0x5a 808f0ea: 20e6 movs r0, #230 ; 0xe6 808f0ec: f7c5 f906 bl 80542fc LCD_DisplayString(246, LCD_LINE_5, (char *) pNUMS[iedLP]); 808f0f0: f897 33c7 ldrb.w r3, [r7, #967] ; 0x3c7 808f0f4: b2db uxtb r3, r3 808f0f6: 461a mov r2, r3 808f0f8: 4b49 ldr r3, [pc, #292] ; (808f220 ) 808f0fa: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808f0fe: 461a mov r2, r3 808f100: 215a movs r1, #90 ; 0x5a 808f102: 20f6 movs r0, #246 ; 0xf6 808f104: f7c5 f8fa bl 80542fc LCD_DisplayString(262, LCD_LINE_5, (char *) pNUMS[ieeLP]); 808f108: f897 33c6 ldrb.w r3, [r7, #966] ; 0x3c6 808f10c: b2db uxtb r3, r3 808f10e: 461a mov r2, r3 808f110: 4b43 ldr r3, [pc, #268] ; (808f220 ) 808f112: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808f116: 461a mov r2, r3 808f118: 215a movs r1, #90 ; 0x5a 808f11a: f44f 7083 mov.w r0, #262 ; 0x106 808f11e: f7c5 f8ed bl 80542fc LCD_DisplayString(278, LCD_LINE_5, "."); 808f122: 4a41 ldr r2, [pc, #260] ; (808f228 ) 808f124: 215a movs r1, #90 ; 0x5a 808f126: f44f 708b mov.w r0, #278 ; 0x116 808f12a: f7c5 f8e7 bl 80542fc LCD_DisplayString(294, LCD_LINE_5, (char *) pNUMS[ikdLP]); 808f12e: f897 33c5 ldrb.w r3, [r7, #965] ; 0x3c5 808f132: b2db uxtb r3, r3 808f134: 461a mov r2, r3 808f136: 4b3a ldr r3, [pc, #232] ; (808f220 ) 808f138: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808f13c: 461a mov r2, r3 808f13e: 215a movs r1, #90 ; 0x5a 808f140: f44f 7093 mov.w r0, #294 ; 0x126 808f144: f7c5 f8da bl 80542fc break; 808f148: f008 ba43 b.w 80975d2 if(menupos == FilterLP_IES) 808f14c: 4b31 ldr r3, [pc, #196] ; (808f214 ) 808f14e: 781b ldrb r3, [r3, #0] 808f150: b2db uxtb r3, r3 808f152: 2b21 cmp r3, #33 ; 0x21 808f154: d16a bne.n 808f22c LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808f156: 4930 ldr r1, [pc, #192] ; (808f218 ) 808f158: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808f15c: f7c4 fb26 bl 80537ac if(blk) 808f160: 4b2e ldr r3, [pc, #184] ; (808f21c ) 808f162: 681b ldr r3, [r3, #0] 808f164: 2b00 cmp r3, #0 808f166: d00b beq.n 808f180 LCD_DisplayString(230, LCD_LINE_5, (char *) pNUMS[iesLP]); 808f168: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 808f16c: b2db uxtb r3, r3 808f16e: 461a mov r2, r3 808f170: 4b2b ldr r3, [pc, #172] ; (808f220 ) 808f172: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808f176: 461a mov r2, r3 808f178: 215a movs r1, #90 ; 0x5a 808f17a: 20e6 movs r0, #230 ; 0xe6 808f17c: f7c5 f8be bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808f180: 4925 ldr r1, [pc, #148] ; (808f218 ) 808f182: 4828 ldr r0, [pc, #160] ; (808f224 ) 808f184: f7c4 fb12 bl 80537ac LCD_DisplayString(198, LCD_LINE_5, (char *) pNUMS[idtLP]); 808f188: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 808f18c: b2db uxtb r3, r3 808f18e: 461a mov r2, r3 808f190: 4b23 ldr r3, [pc, #140] ; (808f220 ) 808f192: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808f196: 461a mov r2, r3 808f198: 215a movs r1, #90 ; 0x5a 808f19a: 20c6 movs r0, #198 ; 0xc6 808f19c: f7c5 f8ae bl 80542fc LCD_DisplayString(214, LCD_LINE_5, (char *) pNUMS[ietLP]); 808f1a0: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 808f1a4: b2db uxtb r3, r3 808f1a6: 461a mov r2, r3 808f1a8: 4b1d ldr r3, [pc, #116] ; (808f220 ) 808f1aa: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808f1ae: 461a mov r2, r3 808f1b0: 215a movs r1, #90 ; 0x5a 808f1b2: 20d6 movs r0, #214 ; 0xd6 808f1b4: f7c5 f8a2 bl 80542fc LCD_DisplayString(246, LCD_LINE_5, (char *) pNUMS[iedLP]); 808f1b8: f897 33c7 ldrb.w r3, [r7, #967] ; 0x3c7 808f1bc: b2db uxtb r3, r3 808f1be: 461a mov r2, r3 808f1c0: 4b17 ldr r3, [pc, #92] ; (808f220 ) 808f1c2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808f1c6: 461a mov r2, r3 808f1c8: 215a movs r1, #90 ; 0x5a 808f1ca: 20f6 movs r0, #246 ; 0xf6 808f1cc: f7c5 f896 bl 80542fc LCD_DisplayString(262, LCD_LINE_5, (char *) pNUMS[ieeLP]); 808f1d0: f897 33c6 ldrb.w r3, [r7, #966] ; 0x3c6 808f1d4: b2db uxtb r3, r3 808f1d6: 461a mov r2, r3 808f1d8: 4b11 ldr r3, [pc, #68] ; (808f220 ) 808f1da: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808f1de: 461a mov r2, r3 808f1e0: 215a movs r1, #90 ; 0x5a 808f1e2: f44f 7083 mov.w r0, #262 ; 0x106 808f1e6: f7c5 f889 bl 80542fc LCD_DisplayString(278, LCD_LINE_5, "."); 808f1ea: 4a0f ldr r2, [pc, #60] ; (808f228 ) 808f1ec: 215a movs r1, #90 ; 0x5a 808f1ee: f44f 708b mov.w r0, #278 ; 0x116 808f1f2: f7c5 f883 bl 80542fc LCD_DisplayString(294, LCD_LINE_5, (char *) pNUMS[ikdLP]); 808f1f6: f897 33c5 ldrb.w r3, [r7, #965] ; 0x3c5 808f1fa: b2db uxtb r3, r3 808f1fc: 461a mov r2, r3 808f1fe: 4b08 ldr r3, [pc, #32] ; (808f220 ) 808f200: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808f204: 461a mov r2, r3 808f206: 215a movs r1, #90 ; 0x5a 808f208: f44f 7093 mov.w r0, #294 ; 0x126 808f20c: f7c5 f876 bl 80542fc break; 808f210: f008 b9df b.w 80975d2 808f214: 20020070 .word 0x20020070 808f218: ff0a0f1f .word 0xff0a0f1f 808f21c: 2002165c .word 0x2002165c 808f220: 20020964 .word 0x20020964 808f224: ffd8aa57 .word 0xffd8aa57 808f228: 080cf7e8 .word 0x080cf7e8 if(menupos == FilterLP_IED) 808f22c: 4b96 ldr r3, [pc, #600] ; (808f488 ) 808f22e: 781b ldrb r3, [r3, #0] 808f230: b2db uxtb r3, r3 808f232: 2b22 cmp r3, #34 ; 0x22 808f234: d15e bne.n 808f2f4 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808f236: 4995 ldr r1, [pc, #596] ; (808f48c ) 808f238: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808f23c: f7c4 fab6 bl 80537ac if(blk) 808f240: 4b93 ldr r3, [pc, #588] ; (808f490 ) 808f242: 681b ldr r3, [r3, #0] 808f244: 2b00 cmp r3, #0 808f246: d00b beq.n 808f260 LCD_DisplayString(246, LCD_LINE_5, (char *) pNUMS[iedLP]); 808f248: f897 33c7 ldrb.w r3, [r7, #967] ; 0x3c7 808f24c: b2db uxtb r3, r3 808f24e: 461a mov r2, r3 808f250: 4b90 ldr r3, [pc, #576] ; (808f494 ) 808f252: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808f256: 461a mov r2, r3 808f258: 215a movs r1, #90 ; 0x5a 808f25a: 20f6 movs r0, #246 ; 0xf6 808f25c: f7c5 f84e bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808f260: 498a ldr r1, [pc, #552] ; (808f48c ) 808f262: 488d ldr r0, [pc, #564] ; (808f498 ) 808f264: f7c4 faa2 bl 80537ac LCD_DisplayString(198, LCD_LINE_5, (char *) pNUMS[idtLP]); 808f268: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 808f26c: b2db uxtb r3, r3 808f26e: 461a mov r2, r3 808f270: 4b88 ldr r3, [pc, #544] ; (808f494 ) 808f272: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808f276: 461a mov r2, r3 808f278: 215a movs r1, #90 ; 0x5a 808f27a: 20c6 movs r0, #198 ; 0xc6 808f27c: f7c5 f83e bl 80542fc LCD_DisplayString(214, LCD_LINE_5, (char *) pNUMS[ietLP]); 808f280: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 808f284: b2db uxtb r3, r3 808f286: 461a mov r2, r3 808f288: 4b82 ldr r3, [pc, #520] ; (808f494 ) 808f28a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808f28e: 461a mov r2, r3 808f290: 215a movs r1, #90 ; 0x5a 808f292: 20d6 movs r0, #214 ; 0xd6 808f294: f7c5 f832 bl 80542fc LCD_DisplayString(230, LCD_LINE_5, (char *) pNUMS[iesLP]); 808f298: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 808f29c: b2db uxtb r3, r3 808f29e: 461a mov r2, r3 808f2a0: 4b7c ldr r3, [pc, #496] ; (808f494 ) 808f2a2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808f2a6: 461a mov r2, r3 808f2a8: 215a movs r1, #90 ; 0x5a 808f2aa: 20e6 movs r0, #230 ; 0xe6 808f2ac: f7c5 f826 bl 80542fc LCD_DisplayString(262, LCD_LINE_5, (char *) pNUMS[ieeLP]); 808f2b0: f897 33c6 ldrb.w r3, [r7, #966] ; 0x3c6 808f2b4: b2db uxtb r3, r3 808f2b6: 461a mov r2, r3 808f2b8: 4b76 ldr r3, [pc, #472] ; (808f494 ) 808f2ba: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808f2be: 461a mov r2, r3 808f2c0: 215a movs r1, #90 ; 0x5a 808f2c2: f44f 7083 mov.w r0, #262 ; 0x106 808f2c6: f7c5 f819 bl 80542fc LCD_DisplayString(278, LCD_LINE_5, "."); 808f2ca: 4a74 ldr r2, [pc, #464] ; (808f49c ) 808f2cc: 215a movs r1, #90 ; 0x5a 808f2ce: f44f 708b mov.w r0, #278 ; 0x116 808f2d2: f7c5 f813 bl 80542fc LCD_DisplayString(294, LCD_LINE_5, (char *) pNUMS[ikdLP]); 808f2d6: f897 33c5 ldrb.w r3, [r7, #965] ; 0x3c5 808f2da: b2db uxtb r3, r3 808f2dc: 461a mov r2, r3 808f2de: 4b6d ldr r3, [pc, #436] ; (808f494 ) 808f2e0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808f2e4: 461a mov r2, r3 808f2e6: 215a movs r1, #90 ; 0x5a 808f2e8: f44f 7093 mov.w r0, #294 ; 0x126 808f2ec: f7c5 f806 bl 80542fc break; 808f2f0: f008 b96f b.w 80975d2 if(menupos == FilterLP_IEE) 808f2f4: 4b64 ldr r3, [pc, #400] ; (808f488 ) 808f2f6: 781b ldrb r3, [r3, #0] 808f2f8: b2db uxtb r3, r3 808f2fa: 2b23 cmp r3, #35 ; 0x23 808f2fc: d15e bne.n 808f3bc LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808f2fe: 4963 ldr r1, [pc, #396] ; (808f48c ) 808f300: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808f304: f7c4 fa52 bl 80537ac if(blk) 808f308: 4b61 ldr r3, [pc, #388] ; (808f490 ) 808f30a: 681b ldr r3, [r3, #0] 808f30c: 2b00 cmp r3, #0 808f30e: d00c beq.n 808f32a LCD_DisplayString(262, LCD_LINE_5, (char *) pNUMS[ieeLP]); 808f310: f897 33c6 ldrb.w r3, [r7, #966] ; 0x3c6 808f314: b2db uxtb r3, r3 808f316: 461a mov r2, r3 808f318: 4b5e ldr r3, [pc, #376] ; (808f494 ) 808f31a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808f31e: 461a mov r2, r3 808f320: 215a movs r1, #90 ; 0x5a 808f322: f44f 7083 mov.w r0, #262 ; 0x106 808f326: f7c4 ffe9 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808f32a: 4958 ldr r1, [pc, #352] ; (808f48c ) 808f32c: 485a ldr r0, [pc, #360] ; (808f498 ) 808f32e: f7c4 fa3d bl 80537ac LCD_DisplayString(198, LCD_LINE_5, (char *) pNUMS[idtLP]); 808f332: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 808f336: b2db uxtb r3, r3 808f338: 461a mov r2, r3 808f33a: 4b56 ldr r3, [pc, #344] ; (808f494 ) 808f33c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808f340: 461a mov r2, r3 808f342: 215a movs r1, #90 ; 0x5a 808f344: 20c6 movs r0, #198 ; 0xc6 808f346: f7c4 ffd9 bl 80542fc LCD_DisplayString(214, LCD_LINE_5, (char *) pNUMS[ietLP]); 808f34a: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 808f34e: b2db uxtb r3, r3 808f350: 461a mov r2, r3 808f352: 4b50 ldr r3, [pc, #320] ; (808f494 ) 808f354: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808f358: 461a mov r2, r3 808f35a: 215a movs r1, #90 ; 0x5a 808f35c: 20d6 movs r0, #214 ; 0xd6 808f35e: f7c4 ffcd bl 80542fc LCD_DisplayString(230, LCD_LINE_5, (char *) pNUMS[iesLP]); 808f362: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 808f366: b2db uxtb r3, r3 808f368: 461a mov r2, r3 808f36a: 4b4a ldr r3, [pc, #296] ; (808f494 ) 808f36c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808f370: 461a mov r2, r3 808f372: 215a movs r1, #90 ; 0x5a 808f374: 20e6 movs r0, #230 ; 0xe6 808f376: f7c4 ffc1 bl 80542fc LCD_DisplayString(246, LCD_LINE_5, (char *) pNUMS[iedLP]); 808f37a: f897 33c7 ldrb.w r3, [r7, #967] ; 0x3c7 808f37e: b2db uxtb r3, r3 808f380: 461a mov r2, r3 808f382: 4b44 ldr r3, [pc, #272] ; (808f494 ) 808f384: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808f388: 461a mov r2, r3 808f38a: 215a movs r1, #90 ; 0x5a 808f38c: 20f6 movs r0, #246 ; 0xf6 808f38e: f7c4 ffb5 bl 80542fc LCD_DisplayString(278, LCD_LINE_5, "."); 808f392: 4a42 ldr r2, [pc, #264] ; (808f49c ) 808f394: 215a movs r1, #90 ; 0x5a 808f396: f44f 708b mov.w r0, #278 ; 0x116 808f39a: f7c4 ffaf bl 80542fc LCD_DisplayString(294, LCD_LINE_5, (char *) pNUMS[ikdLP]); 808f39e: f897 33c5 ldrb.w r3, [r7, #965] ; 0x3c5 808f3a2: b2db uxtb r3, r3 808f3a4: 461a mov r2, r3 808f3a6: 4b3b ldr r3, [pc, #236] ; (808f494 ) 808f3a8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808f3ac: 461a mov r2, r3 808f3ae: 215a movs r1, #90 ; 0x5a 808f3b0: f44f 7093 mov.w r0, #294 ; 0x126 808f3b4: f7c4 ffa2 bl 80542fc break; 808f3b8: f008 b90b b.w 80975d2 if(menupos == FilterLP_IKD) 808f3bc: 4b32 ldr r3, [pc, #200] ; (808f488 ) 808f3be: 781b ldrb r3, [r3, #0] 808f3c0: b2db uxtb r3, r3 808f3c2: 2b24 cmp r3, #36 ; 0x24 808f3c4: f048 8105 bne.w 80975d2 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808f3c8: 4930 ldr r1, [pc, #192] ; (808f48c ) 808f3ca: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808f3ce: f7c4 f9ed bl 80537ac if(blk) 808f3d2: 4b2f ldr r3, [pc, #188] ; (808f490 ) 808f3d4: 681b ldr r3, [r3, #0] 808f3d6: 2b00 cmp r3, #0 808f3d8: d00c beq.n 808f3f4 LCD_DisplayString(294, LCD_LINE_5, (char *) pNUMS[ikdLP]); 808f3da: f897 33c5 ldrb.w r3, [r7, #965] ; 0x3c5 808f3de: b2db uxtb r3, r3 808f3e0: 461a mov r2, r3 808f3e2: 4b2c ldr r3, [pc, #176] ; (808f494 ) 808f3e4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808f3e8: 461a mov r2, r3 808f3ea: 215a movs r1, #90 ; 0x5a 808f3ec: f44f 7093 mov.w r0, #294 ; 0x126 808f3f0: f7c4 ff84 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808f3f4: 4925 ldr r1, [pc, #148] ; (808f48c ) 808f3f6: 4828 ldr r0, [pc, #160] ; (808f498 ) 808f3f8: f7c4 f9d8 bl 80537ac LCD_DisplayString(198, LCD_LINE_5, (char *) pNUMS[idtLP]); 808f3fc: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 808f400: b2db uxtb r3, r3 808f402: 461a mov r2, r3 808f404: 4b23 ldr r3, [pc, #140] ; (808f494 ) 808f406: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808f40a: 461a mov r2, r3 808f40c: 215a movs r1, #90 ; 0x5a 808f40e: 20c6 movs r0, #198 ; 0xc6 808f410: f7c4 ff74 bl 80542fc LCD_DisplayString(214, LCD_LINE_5, (char *) pNUMS[ietLP]); 808f414: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 808f418: b2db uxtb r3, r3 808f41a: 461a mov r2, r3 808f41c: 4b1d ldr r3, [pc, #116] ; (808f494 ) 808f41e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808f422: 461a mov r2, r3 808f424: 215a movs r1, #90 ; 0x5a 808f426: 20d6 movs r0, #214 ; 0xd6 808f428: f7c4 ff68 bl 80542fc LCD_DisplayString(230, LCD_LINE_5, (char *) pNUMS[iesLP]); 808f42c: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 808f430: b2db uxtb r3, r3 808f432: 461a mov r2, r3 808f434: 4b17 ldr r3, [pc, #92] ; (808f494 ) 808f436: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808f43a: 461a mov r2, r3 808f43c: 215a movs r1, #90 ; 0x5a 808f43e: 20e6 movs r0, #230 ; 0xe6 808f440: f7c4 ff5c bl 80542fc LCD_DisplayString(246, LCD_LINE_5, (char *) pNUMS[iedLP]); 808f444: f897 33c7 ldrb.w r3, [r7, #967] ; 0x3c7 808f448: b2db uxtb r3, r3 808f44a: 461a mov r2, r3 808f44c: 4b11 ldr r3, [pc, #68] ; (808f494 ) 808f44e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808f452: 461a mov r2, r3 808f454: 215a movs r1, #90 ; 0x5a 808f456: 20f6 movs r0, #246 ; 0xf6 808f458: f7c4 ff50 bl 80542fc LCD_DisplayString(262, LCD_LINE_5, (char *) pNUMS[ieeLP]); 808f45c: f897 33c6 ldrb.w r3, [r7, #966] ; 0x3c6 808f460: b2db uxtb r3, r3 808f462: 461a mov r2, r3 808f464: 4b0b ldr r3, [pc, #44] ; (808f494 ) 808f466: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808f46a: 461a mov r2, r3 808f46c: 215a movs r1, #90 ; 0x5a 808f46e: f44f 7083 mov.w r0, #262 ; 0x106 808f472: f7c4 ff43 bl 80542fc LCD_DisplayString(278, LCD_LINE_5, "."); 808f476: 4a09 ldr r2, [pc, #36] ; (808f49c ) 808f478: 215a movs r1, #90 ; 0x5a 808f47a: f44f 708b mov.w r0, #278 ; 0x116 808f47e: f7c4 ff3d bl 80542fc break; 808f482: f008 b8a6 b.w 80975d2 808f486: bf00 nop 808f488: 20020070 .word 0x20020070 808f48c: ff0a0f1f .word 0xff0a0f1f 808f490: 2002165c .word 0x2002165c 808f494: 20020964 .word 0x20020964 808f498: ffd8aa57 .word 0xffd8aa57 808f49c: 080cf7e8 .word 0x080cf7e8 case PARAM_WAVE: LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 808f4a0: 49d5 ldr r1, [pc, #852] ; (808f7f8 ) 808f4a2: 48d6 ldr r0, [pc, #856] ; (808f7fc ) 808f4a4: f7c4 f982 bl 80537ac BSP_LCD_DrawRect(2, 35, 314, 201); 808f4a8: 23c9 movs r3, #201 ; 0xc9 808f4aa: f44f 729d mov.w r2, #314 ; 0x13a 808f4ae: 2123 movs r1, #35 ; 0x23 808f4b0: 2002 movs r0, #2 808f4b2: f7c4 fc81 bl 8053db8 k = (uint32_t) (pardata.THR_VAL * 10.0f); 808f4b6: 4bd2 ldr r3, [pc, #840] ; (808f800 ) 808f4b8: edd3 7a05 vldr s15, [r3, #20] 808f4bc: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 808f4c0: ee67 7a87 vmul.f32 s15, s15, s14 808f4c4: eefc 7ae7 vcvt.u32.f32 s15, s15 808f4c8: ee17 3a90 vmov r3, s15 808f4cc: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 idt = (uint8_t) (k / 100000); 808f4d0: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 808f4d4: 095b lsrs r3, r3, #5 808f4d6: 4acb ldr r2, [pc, #812] ; (808f804 ) 808f4d8: fba2 2303 umull r2, r3, r2, r3 808f4dc: 09db lsrs r3, r3, #7 808f4de: b2db uxtb r3, r3 808f4e0: f887 33e7 strb.w r3, [r7, #999] ; 0x3e7 iet = (uint8_t) (k % 100000 / 10000); 808f4e4: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808f4e8: 0953 lsrs r3, r2, #5 808f4ea: 49c6 ldr r1, [pc, #792] ; (808f804 ) 808f4ec: fba1 1303 umull r1, r3, r1, r3 808f4f0: 09db lsrs r3, r3, #7 808f4f2: 49c5 ldr r1, [pc, #788] ; (808f808 ) 808f4f4: fb01 f303 mul.w r3, r1, r3 808f4f8: 1ad3 subs r3, r2, r3 808f4fa: 4ac4 ldr r2, [pc, #784] ; (808f80c ) 808f4fc: fba2 2303 umull r2, r3, r2, r3 808f500: 0b5b lsrs r3, r3, #13 808f502: b2db uxtb r3, r3 808f504: f887 33e6 strb.w r3, [r7, #998] ; 0x3e6 ies = (uint8_t) (k % 100000 % 10000 / 1000); 808f508: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808f50c: 0953 lsrs r3, r2, #5 808f50e: 49bd ldr r1, [pc, #756] ; (808f804 ) 808f510: fba1 1303 umull r1, r3, r1, r3 808f514: 09db lsrs r3, r3, #7 808f516: 49bc ldr r1, [pc, #752] ; (808f808 ) 808f518: fb01 f303 mul.w r3, r1, r3 808f51c: 1ad3 subs r3, r2, r3 808f51e: 4abb ldr r2, [pc, #748] ; (808f80c ) 808f520: fba2 1203 umull r1, r2, r2, r3 808f524: 0b52 lsrs r2, r2, #13 808f526: f242 7110 movw r1, #10000 ; 0x2710 808f52a: fb01 f202 mul.w r2, r1, r2 808f52e: 1a9a subs r2, r3, r2 808f530: 4bb7 ldr r3, [pc, #732] ; (808f810 ) 808f532: fba3 2302 umull r2, r3, r3, r2 808f536: 099b lsrs r3, r3, #6 808f538: b2db uxtb r3, r3 808f53a: f887 33e5 strb.w r3, [r7, #997] ; 0x3e5 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 808f53e: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 808f542: 095a lsrs r2, r3, #5 808f544: 49af ldr r1, [pc, #700] ; (808f804 ) 808f546: fba1 1202 umull r1, r2, r1, r2 808f54a: 09d2 lsrs r2, r2, #7 808f54c: 49ae ldr r1, [pc, #696] ; (808f808 ) 808f54e: fb01 f202 mul.w r2, r1, r2 808f552: 1a9a subs r2, r3, r2 808f554: 4bad ldr r3, [pc, #692] ; (808f80c ) 808f556: fba3 1302 umull r1, r3, r3, r2 808f55a: 0b5b lsrs r3, r3, #13 808f55c: f242 7110 movw r1, #10000 ; 0x2710 808f560: fb01 f303 mul.w r3, r1, r3 808f564: 1ad3 subs r3, r2, r3 808f566: 4aaa ldr r2, [pc, #680] ; (808f810 ) 808f568: fba2 1203 umull r1, r2, r2, r3 808f56c: 0992 lsrs r2, r2, #6 808f56e: f44f 717a mov.w r1, #1000 ; 0x3e8 808f572: fb01 f202 mul.w r2, r1, r2 808f576: 1a9a subs r2, r3, r2 808f578: 4ba6 ldr r3, [pc, #664] ; (808f814 ) 808f57a: fba3 2302 umull r2, r3, r3, r2 808f57e: 095b lsrs r3, r3, #5 808f580: b2db uxtb r3, r3 808f582: f887 33e4 strb.w r3, [r7, #996] ; 0x3e4 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 808f586: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808f58a: 0953 lsrs r3, r2, #5 808f58c: 499d ldr r1, [pc, #628] ; (808f804 ) 808f58e: fba1 1303 umull r1, r3, r1, r3 808f592: 09db lsrs r3, r3, #7 808f594: 499c ldr r1, [pc, #624] ; (808f808 ) 808f596: fb01 f303 mul.w r3, r1, r3 808f59a: 1ad3 subs r3, r2, r3 808f59c: 4a9b ldr r2, [pc, #620] ; (808f80c ) 808f59e: fba2 1203 umull r1, r2, r2, r3 808f5a2: 0b52 lsrs r2, r2, #13 808f5a4: f242 7110 movw r1, #10000 ; 0x2710 808f5a8: fb01 f202 mul.w r2, r1, r2 808f5ac: 1a9a subs r2, r3, r2 808f5ae: 4b98 ldr r3, [pc, #608] ; (808f810 ) 808f5b0: fba3 1302 umull r1, r3, r3, r2 808f5b4: 099b lsrs r3, r3, #6 808f5b6: f44f 717a mov.w r1, #1000 ; 0x3e8 808f5ba: fb01 f303 mul.w r3, r1, r3 808f5be: 1ad3 subs r3, r2, r3 808f5c0: 4a94 ldr r2, [pc, #592] ; (808f814 ) 808f5c2: fba2 1203 umull r1, r2, r2, r3 808f5c6: 0952 lsrs r2, r2, #5 808f5c8: 2164 movs r1, #100 ; 0x64 808f5ca: fb01 f202 mul.w r2, r1, r2 808f5ce: 1a9a subs r2, r3, r2 808f5d0: 4b91 ldr r3, [pc, #580] ; (808f818 ) 808f5d2: fba3 2302 umull r2, r3, r3, r2 808f5d6: 08db lsrs r3, r3, #3 808f5d8: b2db uxtb r3, r3 808f5da: f887 33e3 strb.w r3, [r7, #995] ; 0x3e3 ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 808f5de: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808f5e2: 0953 lsrs r3, r2, #5 808f5e4: 4987 ldr r1, [pc, #540] ; (808f804 ) 808f5e6: fba1 1303 umull r1, r3, r1, r3 808f5ea: 09db lsrs r3, r3, #7 808f5ec: 4986 ldr r1, [pc, #536] ; (808f808 ) 808f5ee: fb01 f303 mul.w r3, r1, r3 808f5f2: 1ad3 subs r3, r2, r3 808f5f4: 4a85 ldr r2, [pc, #532] ; (808f80c ) 808f5f6: fba2 1203 umull r1, r2, r2, r3 808f5fa: 0b52 lsrs r2, r2, #13 808f5fc: f242 7110 movw r1, #10000 ; 0x2710 808f600: fb01 f202 mul.w r2, r1, r2 808f604: 1a9a subs r2, r3, r2 808f606: 4b82 ldr r3, [pc, #520] ; (808f810 ) 808f608: fba3 1302 umull r1, r3, r3, r2 808f60c: 099b lsrs r3, r3, #6 808f60e: f44f 717a mov.w r1, #1000 ; 0x3e8 808f612: fb01 f303 mul.w r3, r1, r3 808f616: 1ad3 subs r3, r2, r3 808f618: 4a7e ldr r2, [pc, #504] ; (808f814 ) 808f61a: fba2 1203 umull r1, r2, r2, r3 808f61e: 0952 lsrs r2, r2, #5 808f620: 2164 movs r1, #100 ; 0x64 808f622: fb01 f202 mul.w r2, r1, r2 808f626: 1a9a subs r2, r3, r2 808f628: 4b7b ldr r3, [pc, #492] ; (808f818 ) 808f62a: fba3 1302 umull r1, r3, r3, r2 808f62e: 08d9 lsrs r1, r3, #3 808f630: 460b mov r3, r1 808f632: 009b lsls r3, r3, #2 808f634: 440b add r3, r1 808f636: 005b lsls r3, r3, #1 808f638: 1ad1 subs r1, r2, r3 808f63a: b2cb uxtb r3, r1 808f63c: f887 33e2 strb.w r3, [r7, #994] ; 0x3e2 i = 0; 808f640: 2300 movs r3, #0 808f642: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 memset(strThr, 0, sizeof(strThr)); 808f646: f507 73c6 add.w r3, r7, #396 ; 0x18c 808f64a: 220c movs r2, #12 808f64c: 2100 movs r1, #0 808f64e: 4618 mov r0, r3 808f650: f03d fcfa bl 80cd048 if(idt != 0) 808f654: f897 33e7 ldrb.w r3, [r7, #999] ; 0x3e7 808f658: b2db uxtb r3, r3 808f65a: 2b00 cmp r3, #0 808f65c: d00c beq.n 808f678 strThr[i++] = idt + 48; 808f65e: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808f662: 1c5a adds r2, r3, #1 808f664: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808f668: f897 23e7 ldrb.w r2, [r7, #999] ; 0x3e7 808f66c: b2d2 uxtb r2, r2 808f66e: 3230 adds r2, #48 ; 0x30 808f670: b2d1 uxtb r1, r2 808f672: f507 72c6 add.w r2, r7, #396 ; 0x18c 808f676: 54d1 strb r1, [r2, r3] if((iet != 0) || (idt != 0)) 808f678: f897 33e6 ldrb.w r3, [r7, #998] ; 0x3e6 808f67c: b2db uxtb r3, r3 808f67e: 2b00 cmp r3, #0 808f680: d104 bne.n 808f68c 808f682: f897 33e7 ldrb.w r3, [r7, #999] ; 0x3e7 808f686: b2db uxtb r3, r3 808f688: 2b00 cmp r3, #0 808f68a: d00c beq.n 808f6a6 strThr[i++] = iet + 48; 808f68c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808f690: 1c5a adds r2, r3, #1 808f692: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808f696: f897 23e6 ldrb.w r2, [r7, #998] ; 0x3e6 808f69a: b2d2 uxtb r2, r2 808f69c: 3230 adds r2, #48 ; 0x30 808f69e: b2d1 uxtb r1, r2 808f6a0: f507 72c6 add.w r2, r7, #396 ; 0x18c 808f6a4: 54d1 strb r1, [r2, r3] if((ies != 0) || (iet != 0) || (idt != 0)) 808f6a6: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 808f6aa: b2db uxtb r3, r3 808f6ac: 2b00 cmp r3, #0 808f6ae: d109 bne.n 808f6c4 808f6b0: f897 33e6 ldrb.w r3, [r7, #998] ; 0x3e6 808f6b4: b2db uxtb r3, r3 808f6b6: 2b00 cmp r3, #0 808f6b8: d104 bne.n 808f6c4 808f6ba: f897 33e7 ldrb.w r3, [r7, #999] ; 0x3e7 808f6be: b2db uxtb r3, r3 808f6c0: 2b00 cmp r3, #0 808f6c2: d00c beq.n 808f6de strThr[i++] = ies + 48; 808f6c4: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808f6c8: 1c5a adds r2, r3, #1 808f6ca: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808f6ce: f897 23e5 ldrb.w r2, [r7, #997] ; 0x3e5 808f6d2: b2d2 uxtb r2, r2 808f6d4: 3230 adds r2, #48 ; 0x30 808f6d6: b2d1 uxtb r1, r2 808f6d8: f507 72c6 add.w r2, r7, #396 ; 0x18c 808f6dc: 54d1 strb r1, [r2, r3] if((ied != 0) || (ies != 0) || (iet != 0) || (idt != 0)) 808f6de: f897 33e4 ldrb.w r3, [r7, #996] ; 0x3e4 808f6e2: b2db uxtb r3, r3 808f6e4: 2b00 cmp r3, #0 808f6e6: d10e bne.n 808f706 808f6e8: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 808f6ec: b2db uxtb r3, r3 808f6ee: 2b00 cmp r3, #0 808f6f0: d109 bne.n 808f706 808f6f2: f897 33e6 ldrb.w r3, [r7, #998] ; 0x3e6 808f6f6: b2db uxtb r3, r3 808f6f8: 2b00 cmp r3, #0 808f6fa: d104 bne.n 808f706 808f6fc: f897 33e7 ldrb.w r3, [r7, #999] ; 0x3e7 808f700: b2db uxtb r3, r3 808f702: 2b00 cmp r3, #0 808f704: d00c beq.n 808f720 strThr[i++] = ied + 48; 808f706: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808f70a: 1c5a adds r2, r3, #1 808f70c: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808f710: f897 23e4 ldrb.w r2, [r7, #996] ; 0x3e4 808f714: b2d2 uxtb r2, r2 808f716: 3230 adds r2, #48 ; 0x30 808f718: b2d1 uxtb r1, r2 808f71a: f507 72c6 add.w r2, r7, #396 ; 0x18c 808f71e: 54d1 strb r1, [r2, r3] strThr[i++] = iee + 48; 808f720: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808f724: 1c5a adds r2, r3, #1 808f726: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808f72a: f897 23e3 ldrb.w r2, [r7, #995] ; 0x3e3 808f72e: b2d2 uxtb r2, r2 808f730: 3230 adds r2, #48 ; 0x30 808f732: b2d1 uxtb r1, r2 808f734: f507 72c6 add.w r2, r7, #396 ; 0x18c 808f738: 54d1 strb r1, [r2, r3] strThr[i++] = '.'; 808f73a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808f73e: 1c5a adds r2, r3, #1 808f740: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808f744: f507 72c6 add.w r2, r7, #396 ; 0x18c 808f748: 212e movs r1, #46 ; 0x2e 808f74a: 54d1 strb r1, [r2, r3] strThr[i++] = ikd + 48; 808f74c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808f750: 1c5a adds r2, r3, #1 808f752: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808f756: f897 23e2 ldrb.w r2, [r7, #994] ; 0x3e2 808f75a: b2d2 uxtb r2, r2 808f75c: 3230 adds r2, #48 ; 0x30 808f75e: b2d1 uxtb r1, r2 808f760: f507 72c6 add.w r2, r7, #396 ; 0x18c 808f764: 54d1 strb r1, [r2, r3] k = (uint32_t) (pardata.MAX_VAL * 10.0f); 808f766: 4b26 ldr r3, [pc, #152] ; (808f800 ) 808f768: edd3 7a06 vldr s15, [r3, #24] 808f76c: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 808f770: ee67 7a87 vmul.f32 s15, s15, s14 808f774: eefc 7ae7 vcvt.u32.f32 s15, s15 808f778: ee17 3a90 vmov r3, s15 808f77c: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 idt2 = (uint8_t) (k / 100000); 808f780: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 808f784: 095b lsrs r3, r3, #5 808f786: 4a1f ldr r2, [pc, #124] ; (808f804 ) 808f788: fba2 2303 umull r2, r3, r2, r3 808f78c: 09db lsrs r3, r3, #7 808f78e: b2db uxtb r3, r3 808f790: f887 33d8 strb.w r3, [r7, #984] ; 0x3d8 iet2 = (uint8_t) (k % 100000 / 10000); 808f794: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808f798: 0953 lsrs r3, r2, #5 808f79a: 491a ldr r1, [pc, #104] ; (808f804 ) 808f79c: fba1 1303 umull r1, r3, r1, r3 808f7a0: 09db lsrs r3, r3, #7 808f7a2: 4919 ldr r1, [pc, #100] ; (808f808 ) 808f7a4: fb01 f303 mul.w r3, r1, r3 808f7a8: 1ad3 subs r3, r2, r3 808f7aa: 4a18 ldr r2, [pc, #96] ; (808f80c ) 808f7ac: fba2 2303 umull r2, r3, r2, r3 808f7b0: 0b5b lsrs r3, r3, #13 808f7b2: b2db uxtb r3, r3 808f7b4: f887 33d7 strb.w r3, [r7, #983] ; 0x3d7 ies2 = (uint8_t) (k % 100000 % 10000 / 1000); 808f7b8: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808f7bc: 0953 lsrs r3, r2, #5 808f7be: 4911 ldr r1, [pc, #68] ; (808f804 ) 808f7c0: fba1 1303 umull r1, r3, r1, r3 808f7c4: 09db lsrs r3, r3, #7 808f7c6: 4910 ldr r1, [pc, #64] ; (808f808 ) 808f7c8: fb01 f303 mul.w r3, r1, r3 808f7cc: 1ad3 subs r3, r2, r3 808f7ce: 4a0f ldr r2, [pc, #60] ; (808f80c ) 808f7d0: fba2 1203 umull r1, r2, r2, r3 808f7d4: 0b52 lsrs r2, r2, #13 808f7d6: f242 7110 movw r1, #10000 ; 0x2710 808f7da: fb01 f202 mul.w r2, r1, r2 808f7de: 1a9a subs r2, r3, r2 808f7e0: 4b0b ldr r3, [pc, #44] ; (808f810 ) 808f7e2: fba3 2302 umull r2, r3, r3, r2 808f7e6: 099b lsrs r3, r3, #6 808f7e8: b2db uxtb r3, r3 808f7ea: f887 33d6 strb.w r3, [r7, #982] ; 0x3d6 ied2 = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 808f7ee: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 808f7f2: 095a lsrs r2, r3, #5 808f7f4: e012 b.n 808f81c 808f7f6: bf00 nop 808f7f8: ff0a0f1f .word 0xff0a0f1f 808f7fc: ffd3d3d3 .word 0xffd3d3d3 808f800: 20023e60 .word 0x20023e60 808f804: 0a7c5ac5 .word 0x0a7c5ac5 808f808: 000186a0 .word 0x000186a0 808f80c: d1b71759 .word 0xd1b71759 808f810: 10624dd3 .word 0x10624dd3 808f814: 51eb851f .word 0x51eb851f 808f818: cccccccd .word 0xcccccccd 808f81c: 49d5 ldr r1, [pc, #852] ; (808fb74 ) 808f81e: fba1 1202 umull r1, r2, r1, r2 808f822: 09d2 lsrs r2, r2, #7 808f824: 49d4 ldr r1, [pc, #848] ; (808fb78 ) 808f826: fb01 f202 mul.w r2, r1, r2 808f82a: 1a9a subs r2, r3, r2 808f82c: 4bd3 ldr r3, [pc, #844] ; (808fb7c ) 808f82e: fba3 1302 umull r1, r3, r3, r2 808f832: 0b5b lsrs r3, r3, #13 808f834: f242 7110 movw r1, #10000 ; 0x2710 808f838: fb01 f303 mul.w r3, r1, r3 808f83c: 1ad3 subs r3, r2, r3 808f83e: 4ad0 ldr r2, [pc, #832] ; (808fb80 ) 808f840: fba2 1203 umull r1, r2, r2, r3 808f844: 0992 lsrs r2, r2, #6 808f846: f44f 717a mov.w r1, #1000 ; 0x3e8 808f84a: fb01 f202 mul.w r2, r1, r2 808f84e: 1a9a subs r2, r3, r2 808f850: 4bcc ldr r3, [pc, #816] ; (808fb84 ) 808f852: fba3 2302 umull r2, r3, r3, r2 808f856: 095b lsrs r3, r3, #5 808f858: b2db uxtb r3, r3 808f85a: f887 33d5 strb.w r3, [r7, #981] ; 0x3d5 iee2 = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 808f85e: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808f862: 0953 lsrs r3, r2, #5 808f864: 49c3 ldr r1, [pc, #780] ; (808fb74 ) 808f866: fba1 1303 umull r1, r3, r1, r3 808f86a: 09db lsrs r3, r3, #7 808f86c: 49c2 ldr r1, [pc, #776] ; (808fb78 ) 808f86e: fb01 f303 mul.w r3, r1, r3 808f872: 1ad3 subs r3, r2, r3 808f874: 4ac1 ldr r2, [pc, #772] ; (808fb7c ) 808f876: fba2 1203 umull r1, r2, r2, r3 808f87a: 0b52 lsrs r2, r2, #13 808f87c: f242 7110 movw r1, #10000 ; 0x2710 808f880: fb01 f202 mul.w r2, r1, r2 808f884: 1a9a subs r2, r3, r2 808f886: 4bbe ldr r3, [pc, #760] ; (808fb80 ) 808f888: fba3 1302 umull r1, r3, r3, r2 808f88c: 099b lsrs r3, r3, #6 808f88e: f44f 717a mov.w r1, #1000 ; 0x3e8 808f892: fb01 f303 mul.w r3, r1, r3 808f896: 1ad3 subs r3, r2, r3 808f898: 4aba ldr r2, [pc, #744] ; (808fb84 ) 808f89a: fba2 1203 umull r1, r2, r2, r3 808f89e: 0952 lsrs r2, r2, #5 808f8a0: 2164 movs r1, #100 ; 0x64 808f8a2: fb01 f202 mul.w r2, r1, r2 808f8a6: 1a9a subs r2, r3, r2 808f8a8: 4bb7 ldr r3, [pc, #732] ; (808fb88 ) 808f8aa: fba3 2302 umull r2, r3, r3, r2 808f8ae: 08db lsrs r3, r3, #3 808f8b0: b2db uxtb r3, r3 808f8b2: f887 33d4 strb.w r3, [r7, #980] ; 0x3d4 ikd2 = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 808f8b6: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808f8ba: 0953 lsrs r3, r2, #5 808f8bc: 49ad ldr r1, [pc, #692] ; (808fb74 ) 808f8be: fba1 1303 umull r1, r3, r1, r3 808f8c2: 09db lsrs r3, r3, #7 808f8c4: 49ac ldr r1, [pc, #688] ; (808fb78 ) 808f8c6: fb01 f303 mul.w r3, r1, r3 808f8ca: 1ad3 subs r3, r2, r3 808f8cc: 4aab ldr r2, [pc, #684] ; (808fb7c ) 808f8ce: fba2 1203 umull r1, r2, r2, r3 808f8d2: 0b52 lsrs r2, r2, #13 808f8d4: f242 7110 movw r1, #10000 ; 0x2710 808f8d8: fb01 f202 mul.w r2, r1, r2 808f8dc: 1a9a subs r2, r3, r2 808f8de: 4ba8 ldr r3, [pc, #672] ; (808fb80 ) 808f8e0: fba3 1302 umull r1, r3, r3, r2 808f8e4: 099b lsrs r3, r3, #6 808f8e6: f44f 717a mov.w r1, #1000 ; 0x3e8 808f8ea: fb01 f303 mul.w r3, r1, r3 808f8ee: 1ad3 subs r3, r2, r3 808f8f0: 4aa4 ldr r2, [pc, #656] ; (808fb84 ) 808f8f2: fba2 1203 umull r1, r2, r2, r3 808f8f6: 0952 lsrs r2, r2, #5 808f8f8: 2164 movs r1, #100 ; 0x64 808f8fa: fb01 f202 mul.w r2, r1, r2 808f8fe: 1a9a subs r2, r3, r2 808f900: 4ba1 ldr r3, [pc, #644] ; (808fb88 ) 808f902: fba3 1302 umull r1, r3, r3, r2 808f906: 08d9 lsrs r1, r3, #3 808f908: 460b mov r3, r1 808f90a: 009b lsls r3, r3, #2 808f90c: 440b add r3, r1 808f90e: 005b lsls r3, r3, #1 808f910: 1ad1 subs r1, r2, r3 808f912: b2cb uxtb r3, r1 808f914: f887 33d3 strb.w r3, [r7, #979] ; 0x3d3 i = 0; 808f918: 2300 movs r3, #0 808f91a: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 memset(strMax, 0, sizeof(strMax)); 808f91e: f507 73c0 add.w r3, r7, #384 ; 0x180 808f922: 220c movs r2, #12 808f924: 2100 movs r1, #0 808f926: 4618 mov r0, r3 808f928: f03d fb8e bl 80cd048 if(idt2 != 0) 808f92c: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 808f930: b2db uxtb r3, r3 808f932: 2b00 cmp r3, #0 808f934: d00c beq.n 808f950 strMax[i++] = idt2 + 48; 808f936: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808f93a: 1c5a adds r2, r3, #1 808f93c: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808f940: f897 23d8 ldrb.w r2, [r7, #984] ; 0x3d8 808f944: b2d2 uxtb r2, r2 808f946: 3230 adds r2, #48 ; 0x30 808f948: b2d1 uxtb r1, r2 808f94a: f507 72c0 add.w r2, r7, #384 ; 0x180 808f94e: 54d1 strb r1, [r2, r3] if((iet2 != 0) || (idt2 != 0)) 808f950: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 808f954: b2db uxtb r3, r3 808f956: 2b00 cmp r3, #0 808f958: d104 bne.n 808f964 808f95a: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 808f95e: b2db uxtb r3, r3 808f960: 2b00 cmp r3, #0 808f962: d00c beq.n 808f97e strMax[i++] = iet2 + 48; 808f964: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808f968: 1c5a adds r2, r3, #1 808f96a: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808f96e: f897 23d7 ldrb.w r2, [r7, #983] ; 0x3d7 808f972: b2d2 uxtb r2, r2 808f974: 3230 adds r2, #48 ; 0x30 808f976: b2d1 uxtb r1, r2 808f978: f507 72c0 add.w r2, r7, #384 ; 0x180 808f97c: 54d1 strb r1, [r2, r3] if((ies2 != 0) || (iet2 != 0) || (idt2 != 0)) 808f97e: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 808f982: b2db uxtb r3, r3 808f984: 2b00 cmp r3, #0 808f986: d109 bne.n 808f99c 808f988: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 808f98c: b2db uxtb r3, r3 808f98e: 2b00 cmp r3, #0 808f990: d104 bne.n 808f99c 808f992: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 808f996: b2db uxtb r3, r3 808f998: 2b00 cmp r3, #0 808f99a: d00c beq.n 808f9b6 strMax[i++] = ies2 + 48; 808f99c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808f9a0: 1c5a adds r2, r3, #1 808f9a2: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808f9a6: f897 23d6 ldrb.w r2, [r7, #982] ; 0x3d6 808f9aa: b2d2 uxtb r2, r2 808f9ac: 3230 adds r2, #48 ; 0x30 808f9ae: b2d1 uxtb r1, r2 808f9b0: f507 72c0 add.w r2, r7, #384 ; 0x180 808f9b4: 54d1 strb r1, [r2, r3] if((ied2 != 0) || (ies2 != 0) || (iet2 != 0) || (idt2 != 0)) 808f9b6: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 808f9ba: b2db uxtb r3, r3 808f9bc: 2b00 cmp r3, #0 808f9be: d10e bne.n 808f9de 808f9c0: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 808f9c4: b2db uxtb r3, r3 808f9c6: 2b00 cmp r3, #0 808f9c8: d109 bne.n 808f9de 808f9ca: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 808f9ce: b2db uxtb r3, r3 808f9d0: 2b00 cmp r3, #0 808f9d2: d104 bne.n 808f9de 808f9d4: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 808f9d8: b2db uxtb r3, r3 808f9da: 2b00 cmp r3, #0 808f9dc: d00c beq.n 808f9f8 strMax[i++] = ied2 + 48; 808f9de: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808f9e2: 1c5a adds r2, r3, #1 808f9e4: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808f9e8: f897 23d5 ldrb.w r2, [r7, #981] ; 0x3d5 808f9ec: b2d2 uxtb r2, r2 808f9ee: 3230 adds r2, #48 ; 0x30 808f9f0: b2d1 uxtb r1, r2 808f9f2: f507 72c0 add.w r2, r7, #384 ; 0x180 808f9f6: 54d1 strb r1, [r2, r3] strMax[i++] = iee2 + 48; 808f9f8: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808f9fc: 1c5a adds r2, r3, #1 808f9fe: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808fa02: f897 23d4 ldrb.w r2, [r7, #980] ; 0x3d4 808fa06: b2d2 uxtb r2, r2 808fa08: 3230 adds r2, #48 ; 0x30 808fa0a: b2d1 uxtb r1, r2 808fa0c: f507 72c0 add.w r2, r7, #384 ; 0x180 808fa10: 54d1 strb r1, [r2, r3] strMax[i++] = '.'; 808fa12: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808fa16: 1c5a adds r2, r3, #1 808fa18: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808fa1c: f507 72c0 add.w r2, r7, #384 ; 0x180 808fa20: 212e movs r1, #46 ; 0x2e 808fa22: 54d1 strb r1, [r2, r3] strMax[i++] = ikd2 + 48; 808fa24: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808fa28: 1c5a adds r2, r3, #1 808fa2a: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808fa2e: f897 23d3 ldrb.w r2, [r7, #979] ; 0x3d3 808fa32: b2d2 uxtb r2, r2 808fa34: 3230 adds r2, #48 ; 0x30 808fa36: b2d1 uxtb r1, r2 808fa38: f507 72c0 add.w r2, r7, #384 ; 0x180 808fa3c: 54d1 strb r1, [r2, r3] k = (uint32_t) (0.5000011f * 10.0f); 808fa3e: 2305 movs r3, #5 808fa40: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 idtHP = (uint8_t) (k / 100000); 808fa44: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 808fa48: 095b lsrs r3, r3, #5 808fa4a: 4a4a ldr r2, [pc, #296] ; (808fb74 ) 808fa4c: fba2 2303 umull r2, r3, r2, r3 808fa50: 09db lsrs r3, r3, #7 808fa52: b2db uxtb r3, r3 808fa54: f887 33d1 strb.w r3, [r7, #977] ; 0x3d1 ietHP = (uint8_t) (k % 100000 / 10000); 808fa58: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808fa5c: 0953 lsrs r3, r2, #5 808fa5e: 4945 ldr r1, [pc, #276] ; (808fb74 ) 808fa60: fba1 1303 umull r1, r3, r1, r3 808fa64: 09db lsrs r3, r3, #7 808fa66: 4944 ldr r1, [pc, #272] ; (808fb78 ) 808fa68: fb01 f303 mul.w r3, r1, r3 808fa6c: 1ad3 subs r3, r2, r3 808fa6e: 4a43 ldr r2, [pc, #268] ; (808fb7c ) 808fa70: fba2 2303 umull r2, r3, r2, r3 808fa74: 0b5b lsrs r3, r3, #13 808fa76: b2db uxtb r3, r3 808fa78: f887 33d0 strb.w r3, [r7, #976] ; 0x3d0 iesHP = (uint8_t) (k % 100000 % 10000 / 1000); 808fa7c: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808fa80: 0953 lsrs r3, r2, #5 808fa82: 493c ldr r1, [pc, #240] ; (808fb74 ) 808fa84: fba1 1303 umull r1, r3, r1, r3 808fa88: 09db lsrs r3, r3, #7 808fa8a: 493b ldr r1, [pc, #236] ; (808fb78 ) 808fa8c: fb01 f303 mul.w r3, r1, r3 808fa90: 1ad3 subs r3, r2, r3 808fa92: 4a3a ldr r2, [pc, #232] ; (808fb7c ) 808fa94: fba2 1203 umull r1, r2, r2, r3 808fa98: 0b52 lsrs r2, r2, #13 808fa9a: f242 7110 movw r1, #10000 ; 0x2710 808fa9e: fb01 f202 mul.w r2, r1, r2 808faa2: 1a9a subs r2, r3, r2 808faa4: 4b36 ldr r3, [pc, #216] ; (808fb80 ) 808faa6: fba3 2302 umull r2, r3, r3, r2 808faaa: 099b lsrs r3, r3, #6 808faac: b2db uxtb r3, r3 808faae: f887 33cf strb.w r3, [r7, #975] ; 0x3cf iedHP = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 808fab2: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 808fab6: 095a lsrs r2, r3, #5 808fab8: 492e ldr r1, [pc, #184] ; (808fb74 ) 808faba: fba1 1202 umull r1, r2, r1, r2 808fabe: 09d2 lsrs r2, r2, #7 808fac0: 492d ldr r1, [pc, #180] ; (808fb78 ) 808fac2: fb01 f202 mul.w r2, r1, r2 808fac6: 1a9a subs r2, r3, r2 808fac8: 4b2c ldr r3, [pc, #176] ; (808fb7c ) 808faca: fba3 1302 umull r1, r3, r3, r2 808face: 0b5b lsrs r3, r3, #13 808fad0: f242 7110 movw r1, #10000 ; 0x2710 808fad4: fb01 f303 mul.w r3, r1, r3 808fad8: 1ad3 subs r3, r2, r3 808fada: 4a29 ldr r2, [pc, #164] ; (808fb80 ) 808fadc: fba2 1203 umull r1, r2, r2, r3 808fae0: 0992 lsrs r2, r2, #6 808fae2: f44f 717a mov.w r1, #1000 ; 0x3e8 808fae6: fb01 f202 mul.w r2, r1, r2 808faea: 1a9a subs r2, r3, r2 808faec: 4b25 ldr r3, [pc, #148] ; (808fb84 ) 808faee: fba3 2302 umull r2, r3, r3, r2 808faf2: 095b lsrs r3, r3, #5 808faf4: b2db uxtb r3, r3 808faf6: f887 33ce strb.w r3, [r7, #974] ; 0x3ce ieeHP = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 808fafa: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808fafe: 0953 lsrs r3, r2, #5 808fb00: 491c ldr r1, [pc, #112] ; (808fb74 ) 808fb02: fba1 1303 umull r1, r3, r1, r3 808fb06: 09db lsrs r3, r3, #7 808fb08: 491b ldr r1, [pc, #108] ; (808fb78 ) 808fb0a: fb01 f303 mul.w r3, r1, r3 808fb0e: 1ad3 subs r3, r2, r3 808fb10: 4a1a ldr r2, [pc, #104] ; (808fb7c ) 808fb12: fba2 1203 umull r1, r2, r2, r3 808fb16: 0b52 lsrs r2, r2, #13 808fb18: f242 7110 movw r1, #10000 ; 0x2710 808fb1c: fb01 f202 mul.w r2, r1, r2 808fb20: 1a9a subs r2, r3, r2 808fb22: 4b17 ldr r3, [pc, #92] ; (808fb80 ) 808fb24: fba3 1302 umull r1, r3, r3, r2 808fb28: 099b lsrs r3, r3, #6 808fb2a: f44f 717a mov.w r1, #1000 ; 0x3e8 808fb2e: fb01 f303 mul.w r3, r1, r3 808fb32: 1ad3 subs r3, r2, r3 808fb34: 4a13 ldr r2, [pc, #76] ; (808fb84 ) 808fb36: fba2 1203 umull r1, r2, r2, r3 808fb3a: 0952 lsrs r2, r2, #5 808fb3c: 2164 movs r1, #100 ; 0x64 808fb3e: fb01 f202 mul.w r2, r1, r2 808fb42: 1a9a subs r2, r3, r2 808fb44: 4b10 ldr r3, [pc, #64] ; (808fb88 ) 808fb46: fba3 2302 umull r2, r3, r3, r2 808fb4a: 08db lsrs r3, r3, #3 808fb4c: b2db uxtb r3, r3 808fb4e: f887 33cd strb.w r3, [r7, #973] ; 0x3cd ikdHP = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 808fb52: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808fb56: 0953 lsrs r3, r2, #5 808fb58: 4906 ldr r1, [pc, #24] ; (808fb74 ) 808fb5a: fba1 1303 umull r1, r3, r1, r3 808fb5e: 09db lsrs r3, r3, #7 808fb60: 4905 ldr r1, [pc, #20] ; (808fb78 ) 808fb62: fb01 f303 mul.w r3, r1, r3 808fb66: 1ad3 subs r3, r2, r3 808fb68: 4a04 ldr r2, [pc, #16] ; (808fb7c ) 808fb6a: fba2 1203 umull r1, r2, r2, r3 808fb6e: 0b52 lsrs r2, r2, #13 808fb70: e00c b.n 808fb8c 808fb72: bf00 nop 808fb74: 0a7c5ac5 .word 0x0a7c5ac5 808fb78: 000186a0 .word 0x000186a0 808fb7c: d1b71759 .word 0xd1b71759 808fb80: 10624dd3 .word 0x10624dd3 808fb84: 51eb851f .word 0x51eb851f 808fb88: cccccccd .word 0xcccccccd 808fb8c: f242 7110 movw r1, #10000 ; 0x2710 808fb90: fb01 f202 mul.w r2, r1, r2 808fb94: 1a9a subs r2, r3, r2 808fb96: 4bc9 ldr r3, [pc, #804] ; (808febc ) 808fb98: fba3 1302 umull r1, r3, r3, r2 808fb9c: 099b lsrs r3, r3, #6 808fb9e: f44f 717a mov.w r1, #1000 ; 0x3e8 808fba2: fb01 f303 mul.w r3, r1, r3 808fba6: 1ad3 subs r3, r2, r3 808fba8: 4ac5 ldr r2, [pc, #788] ; (808fec0 ) 808fbaa: fba2 1203 umull r1, r2, r2, r3 808fbae: 0952 lsrs r2, r2, #5 808fbb0: 2164 movs r1, #100 ; 0x64 808fbb2: fb01 f202 mul.w r2, r1, r2 808fbb6: 1a9a subs r2, r3, r2 808fbb8: 4bc2 ldr r3, [pc, #776] ; (808fec4 ) 808fbba: fba3 1302 umull r1, r3, r3, r2 808fbbe: 08d9 lsrs r1, r3, #3 808fbc0: 460b mov r3, r1 808fbc2: 009b lsls r3, r3, #2 808fbc4: 440b add r3, r1 808fbc6: 005b lsls r3, r3, #1 808fbc8: 1ad1 subs r1, r2, r3 808fbca: b2cb uxtb r3, r1 808fbcc: f887 33cc strb.w r3, [r7, #972] ; 0x3cc i = 0; 808fbd0: 2300 movs r3, #0 808fbd2: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 memset(strHP, 0, sizeof(strHP)); 808fbd6: f507 73d2 add.w r3, r7, #420 ; 0x1a4 808fbda: 220c movs r2, #12 808fbdc: 2100 movs r1, #0 808fbde: 4618 mov r0, r3 808fbe0: f03d fa32 bl 80cd048 if(idtHP != 0) 808fbe4: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 808fbe8: b2db uxtb r3, r3 808fbea: 2b00 cmp r3, #0 808fbec: d00c beq.n 808fc08 strHP[i++] = idtHP + 48; 808fbee: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808fbf2: 1c5a adds r2, r3, #1 808fbf4: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808fbf8: f897 23d1 ldrb.w r2, [r7, #977] ; 0x3d1 808fbfc: b2d2 uxtb r2, r2 808fbfe: 3230 adds r2, #48 ; 0x30 808fc00: b2d1 uxtb r1, r2 808fc02: f507 72d2 add.w r2, r7, #420 ; 0x1a4 808fc06: 54d1 strb r1, [r2, r3] if((ietHP != 0) || (idtHP != 0)) 808fc08: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 808fc0c: b2db uxtb r3, r3 808fc0e: 2b00 cmp r3, #0 808fc10: d104 bne.n 808fc1c 808fc12: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 808fc16: b2db uxtb r3, r3 808fc18: 2b00 cmp r3, #0 808fc1a: d00c beq.n 808fc36 strHP[i++] = ietHP + 48; 808fc1c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808fc20: 1c5a adds r2, r3, #1 808fc22: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808fc26: f897 23d0 ldrb.w r2, [r7, #976] ; 0x3d0 808fc2a: b2d2 uxtb r2, r2 808fc2c: 3230 adds r2, #48 ; 0x30 808fc2e: b2d1 uxtb r1, r2 808fc30: f507 72d2 add.w r2, r7, #420 ; 0x1a4 808fc34: 54d1 strb r1, [r2, r3] if((iesHP != 0) || (ietHP != 0) || (idtHP != 0)) 808fc36: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 808fc3a: b2db uxtb r3, r3 808fc3c: 2b00 cmp r3, #0 808fc3e: d109 bne.n 808fc54 808fc40: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 808fc44: b2db uxtb r3, r3 808fc46: 2b00 cmp r3, #0 808fc48: d104 bne.n 808fc54 808fc4a: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 808fc4e: b2db uxtb r3, r3 808fc50: 2b00 cmp r3, #0 808fc52: d00c beq.n 808fc6e strHP[i++] = iesHP + 48; 808fc54: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808fc58: 1c5a adds r2, r3, #1 808fc5a: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808fc5e: f897 23cf ldrb.w r2, [r7, #975] ; 0x3cf 808fc62: b2d2 uxtb r2, r2 808fc64: 3230 adds r2, #48 ; 0x30 808fc66: b2d1 uxtb r1, r2 808fc68: f507 72d2 add.w r2, r7, #420 ; 0x1a4 808fc6c: 54d1 strb r1, [r2, r3] if((iedHP != 0) || (iesHP != 0) || (ietHP != 0) || (idtHP != 0)) 808fc6e: f897 33ce ldrb.w r3, [r7, #974] ; 0x3ce 808fc72: b2db uxtb r3, r3 808fc74: 2b00 cmp r3, #0 808fc76: d10e bne.n 808fc96 808fc78: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 808fc7c: b2db uxtb r3, r3 808fc7e: 2b00 cmp r3, #0 808fc80: d109 bne.n 808fc96 808fc82: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 808fc86: b2db uxtb r3, r3 808fc88: 2b00 cmp r3, #0 808fc8a: d104 bne.n 808fc96 808fc8c: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 808fc90: b2db uxtb r3, r3 808fc92: 2b00 cmp r3, #0 808fc94: d00c beq.n 808fcb0 strHP[i++] = iedHP + 48; 808fc96: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808fc9a: 1c5a adds r2, r3, #1 808fc9c: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808fca0: f897 23ce ldrb.w r2, [r7, #974] ; 0x3ce 808fca4: b2d2 uxtb r2, r2 808fca6: 3230 adds r2, #48 ; 0x30 808fca8: b2d1 uxtb r1, r2 808fcaa: f507 72d2 add.w r2, r7, #420 ; 0x1a4 808fcae: 54d1 strb r1, [r2, r3] strHP[i++] = ieeHP + 48; 808fcb0: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808fcb4: 1c5a adds r2, r3, #1 808fcb6: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808fcba: f897 23cd ldrb.w r2, [r7, #973] ; 0x3cd 808fcbe: b2d2 uxtb r2, r2 808fcc0: 3230 adds r2, #48 ; 0x30 808fcc2: b2d1 uxtb r1, r2 808fcc4: f507 72d2 add.w r2, r7, #420 ; 0x1a4 808fcc8: 54d1 strb r1, [r2, r3] strHP[i++] = '.'; 808fcca: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808fcce: 1c5a adds r2, r3, #1 808fcd0: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808fcd4: f507 72d2 add.w r2, r7, #420 ; 0x1a4 808fcd8: 212e movs r1, #46 ; 0x2e 808fcda: 54d1 strb r1, [r2, r3] strHP[i++] = ikdHP + 48; 808fcdc: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808fce0: 1c5a adds r2, r3, #1 808fce2: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808fce6: f897 23cc ldrb.w r2, [r7, #972] ; 0x3cc 808fcea: b2d2 uxtb r2, r2 808fcec: 3230 adds r2, #48 ; 0x30 808fcee: b2d1 uxtb r1, r2 808fcf0: f507 72d2 add.w r2, r7, #420 ; 0x1a4 808fcf4: 54d1 strb r1, [r2, r3] k = (uint32_t) (12800.000011f * 10.0f); 808fcf6: f44f 33fa mov.w r3, #128000 ; 0x1f400 808fcfa: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 idtLP = (uint8_t) (k / 100000); 808fcfe: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 808fd02: 095b lsrs r3, r3, #5 808fd04: 4a70 ldr r2, [pc, #448] ; (808fec8 ) 808fd06: fba2 2303 umull r2, r3, r2, r3 808fd0a: 09db lsrs r3, r3, #7 808fd0c: b2db uxtb r3, r3 808fd0e: f887 33ca strb.w r3, [r7, #970] ; 0x3ca ietLP = (uint8_t) (k % 100000 / 10000); 808fd12: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808fd16: 0953 lsrs r3, r2, #5 808fd18: 496b ldr r1, [pc, #428] ; (808fec8 ) 808fd1a: fba1 1303 umull r1, r3, r1, r3 808fd1e: 09db lsrs r3, r3, #7 808fd20: 496a ldr r1, [pc, #424] ; (808fecc ) 808fd22: fb01 f303 mul.w r3, r1, r3 808fd26: 1ad3 subs r3, r2, r3 808fd28: 4a69 ldr r2, [pc, #420] ; (808fed0 ) 808fd2a: fba2 2303 umull r2, r3, r2, r3 808fd2e: 0b5b lsrs r3, r3, #13 808fd30: b2db uxtb r3, r3 808fd32: f887 33c9 strb.w r3, [r7, #969] ; 0x3c9 iesLP = (uint8_t) (k % 100000 % 10000 / 1000); 808fd36: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808fd3a: 0953 lsrs r3, r2, #5 808fd3c: 4962 ldr r1, [pc, #392] ; (808fec8 ) 808fd3e: fba1 1303 umull r1, r3, r1, r3 808fd42: 09db lsrs r3, r3, #7 808fd44: 4961 ldr r1, [pc, #388] ; (808fecc ) 808fd46: fb01 f303 mul.w r3, r1, r3 808fd4a: 1ad3 subs r3, r2, r3 808fd4c: 4a60 ldr r2, [pc, #384] ; (808fed0 ) 808fd4e: fba2 1203 umull r1, r2, r2, r3 808fd52: 0b52 lsrs r2, r2, #13 808fd54: f242 7110 movw r1, #10000 ; 0x2710 808fd58: fb01 f202 mul.w r2, r1, r2 808fd5c: 1a9a subs r2, r3, r2 808fd5e: 4b57 ldr r3, [pc, #348] ; (808febc ) 808fd60: fba3 2302 umull r2, r3, r3, r2 808fd64: 099b lsrs r3, r3, #6 808fd66: b2db uxtb r3, r3 808fd68: f887 33c8 strb.w r3, [r7, #968] ; 0x3c8 iedLP = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 808fd6c: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 808fd70: 095a lsrs r2, r3, #5 808fd72: 4955 ldr r1, [pc, #340] ; (808fec8 ) 808fd74: fba1 1202 umull r1, r2, r1, r2 808fd78: 09d2 lsrs r2, r2, #7 808fd7a: 4954 ldr r1, [pc, #336] ; (808fecc ) 808fd7c: fb01 f202 mul.w r2, r1, r2 808fd80: 1a9a subs r2, r3, r2 808fd82: 4b53 ldr r3, [pc, #332] ; (808fed0 ) 808fd84: fba3 1302 umull r1, r3, r3, r2 808fd88: 0b5b lsrs r3, r3, #13 808fd8a: f242 7110 movw r1, #10000 ; 0x2710 808fd8e: fb01 f303 mul.w r3, r1, r3 808fd92: 1ad3 subs r3, r2, r3 808fd94: 4a49 ldr r2, [pc, #292] ; (808febc ) 808fd96: fba2 1203 umull r1, r2, r2, r3 808fd9a: 0992 lsrs r2, r2, #6 808fd9c: f44f 717a mov.w r1, #1000 ; 0x3e8 808fda0: fb01 f202 mul.w r2, r1, r2 808fda4: 1a9a subs r2, r3, r2 808fda6: 4b46 ldr r3, [pc, #280] ; (808fec0 ) 808fda8: fba3 2302 umull r2, r3, r3, r2 808fdac: 095b lsrs r3, r3, #5 808fdae: b2db uxtb r3, r3 808fdb0: f887 33c7 strb.w r3, [r7, #967] ; 0x3c7 ieeLP = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 808fdb4: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808fdb8: 0953 lsrs r3, r2, #5 808fdba: 4943 ldr r1, [pc, #268] ; (808fec8 ) 808fdbc: fba1 1303 umull r1, r3, r1, r3 808fdc0: 09db lsrs r3, r3, #7 808fdc2: 4942 ldr r1, [pc, #264] ; (808fecc ) 808fdc4: fb01 f303 mul.w r3, r1, r3 808fdc8: 1ad3 subs r3, r2, r3 808fdca: 4a41 ldr r2, [pc, #260] ; (808fed0 ) 808fdcc: fba2 1203 umull r1, r2, r2, r3 808fdd0: 0b52 lsrs r2, r2, #13 808fdd2: f242 7110 movw r1, #10000 ; 0x2710 808fdd6: fb01 f202 mul.w r2, r1, r2 808fdda: 1a9a subs r2, r3, r2 808fddc: 4b37 ldr r3, [pc, #220] ; (808febc ) 808fdde: fba3 1302 umull r1, r3, r3, r2 808fde2: 099b lsrs r3, r3, #6 808fde4: f44f 717a mov.w r1, #1000 ; 0x3e8 808fde8: fb01 f303 mul.w r3, r1, r3 808fdec: 1ad3 subs r3, r2, r3 808fdee: 4a34 ldr r2, [pc, #208] ; (808fec0 ) 808fdf0: fba2 1203 umull r1, r2, r2, r3 808fdf4: 0952 lsrs r2, r2, #5 808fdf6: 2164 movs r1, #100 ; 0x64 808fdf8: fb01 f202 mul.w r2, r1, r2 808fdfc: 1a9a subs r2, r3, r2 808fdfe: 4b31 ldr r3, [pc, #196] ; (808fec4 ) 808fe00: fba3 2302 umull r2, r3, r3, r2 808fe04: 08db lsrs r3, r3, #3 808fe06: b2db uxtb r3, r3 808fe08: f887 33c6 strb.w r3, [r7, #966] ; 0x3c6 ikdLP = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 808fe0c: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808fe10: 0953 lsrs r3, r2, #5 808fe12: 492d ldr r1, [pc, #180] ; (808fec8 ) 808fe14: fba1 1303 umull r1, r3, r1, r3 808fe18: 09db lsrs r3, r3, #7 808fe1a: 492c ldr r1, [pc, #176] ; (808fecc ) 808fe1c: fb01 f303 mul.w r3, r1, r3 808fe20: 1ad3 subs r3, r2, r3 808fe22: 4a2b ldr r2, [pc, #172] ; (808fed0 ) 808fe24: fba2 1203 umull r1, r2, r2, r3 808fe28: 0b52 lsrs r2, r2, #13 808fe2a: f242 7110 movw r1, #10000 ; 0x2710 808fe2e: fb01 f202 mul.w r2, r1, r2 808fe32: 1a9a subs r2, r3, r2 808fe34: 4b21 ldr r3, [pc, #132] ; (808febc ) 808fe36: fba3 1302 umull r1, r3, r3, r2 808fe3a: 099b lsrs r3, r3, #6 808fe3c: f44f 717a mov.w r1, #1000 ; 0x3e8 808fe40: fb01 f303 mul.w r3, r1, r3 808fe44: 1ad3 subs r3, r2, r3 808fe46: 4a1e ldr r2, [pc, #120] ; (808fec0 ) 808fe48: fba2 1203 umull r1, r2, r2, r3 808fe4c: 0952 lsrs r2, r2, #5 808fe4e: 2164 movs r1, #100 ; 0x64 808fe50: fb01 f202 mul.w r2, r1, r2 808fe54: 1a9a subs r2, r3, r2 808fe56: 4b1b ldr r3, [pc, #108] ; (808fec4 ) 808fe58: fba3 1302 umull r1, r3, r3, r2 808fe5c: 08d9 lsrs r1, r3, #3 808fe5e: 460b mov r3, r1 808fe60: 009b lsls r3, r3, #2 808fe62: 440b add r3, r1 808fe64: 005b lsls r3, r3, #1 808fe66: 1ad1 subs r1, r2, r3 808fe68: b2cb uxtb r3, r1 808fe6a: f887 33c5 strb.w r3, [r7, #965] ; 0x3c5 i = 0; 808fe6e: 2300 movs r3, #0 808fe70: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 memset(strLP, 0, sizeof(strLP)); 808fe74: f507 73cc add.w r3, r7, #408 ; 0x198 808fe78: 220c movs r2, #12 808fe7a: 2100 movs r1, #0 808fe7c: 4618 mov r0, r3 808fe7e: f03d f8e3 bl 80cd048 if(idtLP != 0) 808fe82: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 808fe86: b2db uxtb r3, r3 808fe88: 2b00 cmp r3, #0 808fe8a: d00c beq.n 808fea6 strLP[i++] = idtLP + 48; 808fe8c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808fe90: 1c5a adds r2, r3, #1 808fe92: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808fe96: f897 23ca ldrb.w r2, [r7, #970] ; 0x3ca 808fe9a: b2d2 uxtb r2, r2 808fe9c: 3230 adds r2, #48 ; 0x30 808fe9e: b2d1 uxtb r1, r2 808fea0: f507 72cc add.w r2, r7, #408 ; 0x198 808fea4: 54d1 strb r1, [r2, r3] if((ietLP != 0) || (idtLP != 0)) 808fea6: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 808feaa: b2db uxtb r3, r3 808feac: 2b00 cmp r3, #0 808feae: d111 bne.n 808fed4 808feb0: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 808feb4: b2db uxtb r3, r3 808feb6: 2b00 cmp r3, #0 808feb8: d019 beq.n 808feee 808feba: e00b b.n 808fed4 808febc: 10624dd3 .word 0x10624dd3 808fec0: 51eb851f .word 0x51eb851f 808fec4: cccccccd .word 0xcccccccd 808fec8: 0a7c5ac5 .word 0x0a7c5ac5 808fecc: 000186a0 .word 0x000186a0 808fed0: d1b71759 .word 0xd1b71759 strLP[i++] = ietLP + 48; 808fed4: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808fed8: 1c5a adds r2, r3, #1 808feda: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808fede: f897 23c9 ldrb.w r2, [r7, #969] ; 0x3c9 808fee2: b2d2 uxtb r2, r2 808fee4: 3230 adds r2, #48 ; 0x30 808fee6: b2d1 uxtb r1, r2 808fee8: f507 72cc add.w r2, r7, #408 ; 0x198 808feec: 54d1 strb r1, [r2, r3] if((iesLP != 0) || (ietLP != 0) || (idtLP != 0)) 808feee: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 808fef2: b2db uxtb r3, r3 808fef4: 2b00 cmp r3, #0 808fef6: d109 bne.n 808ff0c 808fef8: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 808fefc: b2db uxtb r3, r3 808fefe: 2b00 cmp r3, #0 808ff00: d104 bne.n 808ff0c 808ff02: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 808ff06: b2db uxtb r3, r3 808ff08: 2b00 cmp r3, #0 808ff0a: d00c beq.n 808ff26 strLP[i++] = iesLP + 48; 808ff0c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808ff10: 1c5a adds r2, r3, #1 808ff12: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808ff16: f897 23c8 ldrb.w r2, [r7, #968] ; 0x3c8 808ff1a: b2d2 uxtb r2, r2 808ff1c: 3230 adds r2, #48 ; 0x30 808ff1e: b2d1 uxtb r1, r2 808ff20: f507 72cc add.w r2, r7, #408 ; 0x198 808ff24: 54d1 strb r1, [r2, r3] if((iedLP != 0) || (iesLP != 0) || (ietLP != 0) || (idtLP != 0)) 808ff26: f897 33c7 ldrb.w r3, [r7, #967] ; 0x3c7 808ff2a: b2db uxtb r3, r3 808ff2c: 2b00 cmp r3, #0 808ff2e: d10e bne.n 808ff4e 808ff30: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 808ff34: b2db uxtb r3, r3 808ff36: 2b00 cmp r3, #0 808ff38: d109 bne.n 808ff4e 808ff3a: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 808ff3e: b2db uxtb r3, r3 808ff40: 2b00 cmp r3, #0 808ff42: d104 bne.n 808ff4e 808ff44: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 808ff48: b2db uxtb r3, r3 808ff4a: 2b00 cmp r3, #0 808ff4c: d00c beq.n 808ff68 strLP[i++] = iedLP + 48; 808ff4e: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808ff52: 1c5a adds r2, r3, #1 808ff54: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808ff58: f897 23c7 ldrb.w r2, [r7, #967] ; 0x3c7 808ff5c: b2d2 uxtb r2, r2 808ff5e: 3230 adds r2, #48 ; 0x30 808ff60: b2d1 uxtb r1, r2 808ff62: f507 72cc add.w r2, r7, #408 ; 0x198 808ff66: 54d1 strb r1, [r2, r3] strLP[i++] = ieeLP + 48; 808ff68: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808ff6c: 1c5a adds r2, r3, #1 808ff6e: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808ff72: f897 23c6 ldrb.w r2, [r7, #966] ; 0x3c6 808ff76: b2d2 uxtb r2, r2 808ff78: 3230 adds r2, #48 ; 0x30 808ff7a: b2d1 uxtb r1, r2 808ff7c: f507 72cc add.w r2, r7, #408 ; 0x198 808ff80: 54d1 strb r1, [r2, r3] strLP[i++] = '.'; 808ff82: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808ff86: 1c5a adds r2, r3, #1 808ff88: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808ff8c: f507 72cc add.w r2, r7, #408 ; 0x198 808ff90: 212e movs r1, #46 ; 0x2e 808ff92: 54d1 strb r1, [r2, r3] strLP[i++] = ikdLP + 48; 808ff94: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808ff98: 1c5a adds r2, r3, #1 808ff9a: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808ff9e: f897 23c5 ldrb.w r2, [r7, #965] ; 0x3c5 808ffa2: b2d2 uxtb r2, r2 808ffa4: 3230 adds r2, #48 ; 0x30 808ffa6: b2d1 uxtb r1, r2 808ffa8: f507 72cc add.w r2, r7, #408 ; 0x198 808ffac: 54d1 strb r1, [r2, r3] //**************************************************************** strcpy(str, WavFileName); 808ffae: f507 733b add.w r3, r7, #748 ; 0x2ec 808ffb2: 49b2 ldr r1, [pc, #712] ; (809027c ) 808ffb4: 4618 mov r0, r3 808ffb6: f03d f964 bl 80cd282 l = strlen(str); 808ffba: f507 733b add.w r3, r7, #748 ; 0x2ec 808ffbe: 4618 mov r0, r3 808ffc0: f790 f9a8 bl 8020314 808ffc4: 4603 mov r3, r0 808ffc6: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 if((l >= 4) && (str[l - 4] == '.')) 808ffca: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 808ffce: 2b03 cmp r3, #3 808ffd0: d90e bls.n 808fff0 808ffd2: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 808ffd6: 3b04 subs r3, #4 808ffd8: f507 723b add.w r2, r7, #748 ; 0x2ec 808ffdc: 5cd3 ldrb r3, [r2, r3] 808ffde: 2b2e cmp r3, #46 ; 0x2e 808ffe0: d106 bne.n 808fff0 str[l - 4] = '\0'; 808ffe2: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 808ffe6: 3b04 subs r3, #4 808ffe8: f507 723b add.w r2, r7, #748 ; 0x2ec 808ffec: 2100 movs r1, #0 808ffee: 54d1 strb r1, [r2, r3] static uint8_t tw = 0; l = strlen(str); 808fff0: f507 733b add.w r3, r7, #748 ; 0x2ec 808fff4: 4618 mov r0, r3 808fff6: f790 f98d bl 8020314 808fffa: 4603 mov r3, r0 808fffc: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 if(l < 10) 8090000: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 8090004: 2b09 cmp r3, #9 8090006: d808 bhi.n 809001a { strcpy(str1, str); 8090008: f507 723b add.w r2, r7, #748 ; 0x2ec 809000c: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8090010: 4611 mov r1, r2 8090012: 4618 mov r0, r3 8090014: f03d f935 bl 80cd282 8090018: e064 b.n 80900e4 } else { static uint32_t tmw = 0; memset(str1, 0x20, sizeof(str1)); 809001a: f507 73f6 add.w r3, r7, #492 ; 0x1ec 809001e: f44f 7280 mov.w r2, #256 ; 0x100 8090022: 2120 movs r1, #32 8090024: 4618 mov r0, r3 8090026: f03d f80f bl 80cd048 if(tmw <= l) 809002a: 4b95 ldr r3, [pc, #596] ; (8090280 ) 809002c: 681a ldr r2, [r3, #0] 809002e: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 8090032: 429a cmp r2, r3 8090034: d822 bhi.n 809007c { if(l - tmw >= 9) 8090036: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 809003a: 4b91 ldr r3, [pc, #580] ; (8090280 ) 809003c: 681b ldr r3, [r3, #0] 809003e: 1ad3 subs r3, r2, r3 8090040: 2b08 cmp r3, #8 8090042: d90b bls.n 809005c memcpy(str1, &str[tmw], 9); 8090044: 4b8e ldr r3, [pc, #568] ; (8090280 ) 8090046: 681b ldr r3, [r3, #0] 8090048: f507 723b add.w r2, r7, #748 ; 0x2ec 809004c: 18d1 adds r1, r2, r3 809004e: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8090052: 2209 movs r2, #9 8090054: 4618 mov r0, r3 8090056: f03c ffec bl 80cd032 809005a: e022 b.n 80900a2 else memcpy(str1, &str[tmw], l - tmw); 809005c: 4b88 ldr r3, [pc, #544] ; (8090280 ) 809005e: 681b ldr r3, [r3, #0] 8090060: f507 723b add.w r2, r7, #748 ; 0x2ec 8090064: 18d1 adds r1, r2, r3 8090066: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 809006a: 4b85 ldr r3, [pc, #532] ; (8090280 ) 809006c: 681b ldr r3, [r3, #0] 809006e: 1ad2 subs r2, r2, r3 8090070: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8090074: 4618 mov r0, r3 8090076: f03c ffdc bl 80cd032 809007a: e012 b.n 80900a2 } else { memcpy(&str1[9 - (tmw - l)], str, tmw - l); 809007c: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 8090080: 4b7f ldr r3, [pc, #508] ; (8090280 ) 8090082: 681b ldr r3, [r3, #0] 8090084: 1ad3 subs r3, r2, r3 8090086: 3309 adds r3, #9 8090088: f507 72f6 add.w r2, r7, #492 ; 0x1ec 809008c: 18d0 adds r0, r2, r3 809008e: 4b7c ldr r3, [pc, #496] ; (8090280 ) 8090090: 681a ldr r2, [r3, #0] 8090092: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 8090096: 1ad2 subs r2, r2, r3 8090098: f507 733b add.w r3, r7, #748 ; 0x2ec 809009c: 4619 mov r1, r3 809009e: f03c ffc8 bl 80cd032 } str1[10] = '\0'; 80900a2: f507 73f6 add.w r3, r7, #492 ; 0x1ec 80900a6: 2200 movs r2, #0 80900a8: 729a strb r2, [r3, #10] tw++; 80900aa: 4b76 ldr r3, [pc, #472] ; (8090284 ) 80900ac: 781b ldrb r3, [r3, #0] 80900ae: 3301 adds r3, #1 80900b0: b2da uxtb r2, r3 80900b2: 4b74 ldr r3, [pc, #464] ; (8090284 ) 80900b4: 701a strb r2, [r3, #0] if(tw >= 2) 80900b6: 4b73 ldr r3, [pc, #460] ; (8090284 ) 80900b8: 781b ldrb r3, [r3, #0] 80900ba: 2b01 cmp r3, #1 80900bc: d912 bls.n 80900e4 { tw = 0; 80900be: 4b71 ldr r3, [pc, #452] ; (8090284 ) 80900c0: 2200 movs r2, #0 80900c2: 701a strb r2, [r3, #0] tmw++; 80900c4: 4b6e ldr r3, [pc, #440] ; (8090280 ) 80900c6: 681b ldr r3, [r3, #0] 80900c8: 3301 adds r3, #1 80900ca: 4a6d ldr r2, [pc, #436] ; (8090280 ) 80900cc: 6013 str r3, [r2, #0] if(9 - (tmw - l) == 0) 80900ce: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 80900d2: 4b6b ldr r3, [pc, #428] ; (8090280 ) 80900d4: 681b ldr r3, [r3, #0] 80900d6: 1ad3 subs r3, r2, r3 80900d8: f113 0f09 cmn.w r3, #9 80900dc: d102 bne.n 80900e4 { tmw = 0; 80900de: 4b68 ldr r3, [pc, #416] ; (8090280 ) 80900e0: 2200 movs r2, #0 80900e2: 601a str r2, [r3, #0] } } } //**************************************************************** LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80900e4: 4968 ldr r1, [pc, #416] ; (8090288 ) 80900e6: 4869 ldr r0, [pc, #420] ; (809028c ) 80900e8: f7c3 fb60 bl 80537ac LCD_DisplayString(10, LCD_LINE_3, (char *) TEXT_PARAM_WAV[pardata.LANG][0]); //FVH 80900ec: 4b68 ldr r3, [pc, #416] ; (8090290 ) 80900ee: 7b1b ldrb r3, [r3, #12] 80900f0: b2db uxtb r3, r3 80900f2: 4619 mov r1, r3 80900f4: 4a67 ldr r2, [pc, #412] ; (8090294 ) 80900f6: 460b mov r3, r1 80900f8: 009b lsls r3, r3, #2 80900fa: 440b add r3, r1 80900fc: 00db lsls r3, r3, #3 80900fe: 4413 add r3, r2 8090100: 681b ldr r3, [r3, #0] 8090102: 461a mov r2, r3 8090104: 213a movs r1, #58 ; 0x3a 8090106: 200a movs r0, #10 8090108: f7c4 f8f8 bl 80542fc LCD_DisplayString(10, LCD_LINE_4, (char *) TEXT_PARAM_WAV[pardata.LANG][1]); //FNH 809010c: 4b60 ldr r3, [pc, #384] ; (8090290 ) 809010e: 7b1b ldrb r3, [r3, #12] 8090110: b2db uxtb r3, r3 8090112: 4619 mov r1, r3 8090114: 4a5f ldr r2, [pc, #380] ; (8090294 ) 8090116: 460b mov r3, r1 8090118: 009b lsls r3, r3, #2 809011a: 440b add r3, r1 809011c: 00db lsls r3, r3, #3 809011e: 4413 add r3, r2 8090120: 3304 adds r3, #4 8090122: 681b ldr r3, [r3, #0] 8090124: 461a mov r2, r3 8090126: 214a movs r1, #74 ; 0x4a 8090128: 200a movs r0, #10 809012a: f7c4 f8e7 bl 80542fc LCD_DisplayString(10, LCD_LINE_5, (char *) TEXT_PARAM_WAV[pardata.LANG][2]); //×àñòîòà âûáîðêè 809012e: 4b58 ldr r3, [pc, #352] ; (8090290 ) 8090130: 7b1b ldrb r3, [r3, #12] 8090132: b2db uxtb r3, r3 8090134: 4619 mov r1, r3 8090136: 4a57 ldr r2, [pc, #348] ; (8090294 ) 8090138: 460b mov r3, r1 809013a: 009b lsls r3, r3, #2 809013c: 440b add r3, r1 809013e: 00db lsls r3, r3, #3 8090140: 4413 add r3, r2 8090142: 3308 adds r3, #8 8090144: 681b ldr r3, [r3, #0] 8090146: 461a mov r2, r3 8090148: 215a movs r1, #90 ; 0x5a 809014a: 200a movs r0, #10 809014c: f7c4 f8d6 bl 80542fc LCD_DisplayStringC(260, LCD_LINE_5, (char *) pFRQ[pardata.LANG][pardata.FRQ]); 8090150: 4b4f ldr r3, [pc, #316] ; (8090290 ) 8090152: 7b1b ldrb r3, [r3, #12] 8090154: b2db uxtb r3, r3 8090156: 4619 mov r1, r3 8090158: 4b4d ldr r3, [pc, #308] ; (8090290 ) 809015a: 7adb ldrb r3, [r3, #11] 809015c: b2db uxtb r3, r3 809015e: 4618 mov r0, r3 8090160: 4a4d ldr r2, [pc, #308] ; (8090298 ) 8090162: 460b mov r3, r1 8090164: 009b lsls r3, r3, #2 8090166: 440b add r3, r1 8090168: 005b lsls r3, r3, #1 809016a: 4403 add r3, r0 809016c: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8090170: 461a mov r2, r3 8090172: 215a movs r1, #90 ; 0x5a 8090174: f44f 7082 mov.w r0, #260 ; 0x104 8090178: f7c4 f8d8 bl 805432c LCD_DisplayStringC(260, LCD_LINE_3, strHP); 809017c: f507 73d2 add.w r3, r7, #420 ; 0x1a4 8090180: 461a mov r2, r3 8090182: 213a movs r1, #58 ; 0x3a 8090184: f44f 7082 mov.w r0, #260 ; 0x104 8090188: f7c4 f8d0 bl 805432c LCD_DisplayStringC(260, LCD_LINE_4, strLP); 809018c: f507 73cc add.w r3, r7, #408 ; 0x198 8090190: 461a mov r2, r3 8090192: 214a movs r1, #74 ; 0x4a 8090194: f44f 7082 mov.w r0, #260 ; 0x104 8090198: f7c4 f8c8 bl 805432c #ifndef USE_D101 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 809019c: 493a ldr r1, [pc, #232] ; (8090288 ) 809019e: f04f 30ff mov.w r0, #4294967295 80901a2: f7c3 fb03 bl 80537ac LCD_DisplayString(10, LCD_LINE_6, (char *) TEXT_PARAM_WAV[pardata.LANG][9]); //Âðåìÿ çàïèñè 80901a6: 4b3a ldr r3, [pc, #232] ; (8090290 ) 80901a8: 7b1b ldrb r3, [r3, #12] 80901aa: b2db uxtb r3, r3 80901ac: 4619 mov r1, r3 80901ae: 4a39 ldr r2, [pc, #228] ; (8090294 ) 80901b0: 460b mov r3, r1 80901b2: 009b lsls r3, r3, #2 80901b4: 440b add r3, r1 80901b6: 00db lsls r3, r3, #3 80901b8: 4413 add r3, r2 80901ba: 3324 adds r3, #36 ; 0x24 80901bc: 681b ldr r3, [r3, #0] 80901be: 461a mov r2, r3 80901c0: 216a movs r1, #106 ; 0x6a 80901c2: 200a movs r0, #10 80901c4: f7c4 f89a bl 80542fc #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); 80901c8: 492f ldr r1, [pc, #188] ; (8090288 ) 80901ca: f04f 30ff mov.w r0, #4294967295 80901ce: f7c3 faed bl 80537ac LCD_DisplayString(10, LCD_LINE_8, (char *) TEXT_PARAM_WAV[pardata.LANG][4]); //Âðåìÿ çàïèñè 80901d2: 4b2f ldr r3, [pc, #188] ; (8090290 ) 80901d4: 7b1b ldrb r3, [r3, #12] 80901d6: b2db uxtb r3, r3 80901d8: 4619 mov r1, r3 80901da: 4a2e ldr r2, [pc, #184] ; (8090294 ) 80901dc: 460b mov r3, r1 80901de: 009b lsls r3, r3, #2 80901e0: 440b add r3, r1 80901e2: 00db lsls r3, r3, #3 80901e4: 4413 add r3, r2 80901e6: 3310 adds r3, #16 80901e8: 681b ldr r3, [r3, #0] 80901ea: 461a mov r2, r3 80901ec: 218a movs r1, #138 ; 0x8a 80901ee: 200a movs r0, #10 80901f0: f7c4 f884 bl 80542fc LCD_DisplayString(10, LCD_LINE_9, (char *) TEXT_PARAM_WAV[pardata.LANG][5]); //Àâòîóñèëåíèå 80901f4: 4b26 ldr r3, [pc, #152] ; (8090290 ) 80901f6: 7b1b ldrb r3, [r3, #12] 80901f8: b2db uxtb r3, r3 80901fa: 4619 mov r1, r3 80901fc: 4a25 ldr r2, [pc, #148] ; (8090294 ) 80901fe: 460b mov r3, r1 8090200: 009b lsls r3, r3, #2 8090202: 440b add r3, r1 8090204: 00db lsls r3, r3, #3 8090206: 4413 add r3, r2 8090208: 3314 adds r3, #20 809020a: 681b ldr r3, [r3, #0] 809020c: 461a mov r2, r3 809020e: 219a movs r1, #154 ; 0x9a 8090210: 200a movs r0, #10 8090212: f7c4 f873 bl 80542fc LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_WAV[pardata.LANG][7]); //Çàïèñü ïî ïîðîãó 8090216: 4b1e ldr r3, [pc, #120] ; (8090290 ) 8090218: 7b1b ldrb r3, [r3, #12] 809021a: b2db uxtb r3, r3 809021c: 4619 mov r1, r3 809021e: 4a1d ldr r2, [pc, #116] ; (8090294 ) 8090220: 460b mov r3, r1 8090222: 009b lsls r3, r3, #2 8090224: 440b add r3, r1 8090226: 00db lsls r3, r3, #3 8090228: 4413 add r3, r2 809022a: 331c adds r3, #28 809022c: 681b ldr r3, [r3, #0] 809022e: 461a mov r2, r3 8090230: 21ba movs r1, #186 ; 0xba 8090232: 200a movs r0, #10 8090234: f7c4 f862 bl 80542fc if(menupos != WaveName) 8090238: 4b18 ldr r3, [pc, #96] ; (809029c ) 809023a: 781b ldrb r3, [r3, #0] 809023c: b2db uxtb r3, r3 809023e: 2b04 cmp r3, #4 8090240: d011 beq.n 8090266 LCD_DisplayString(10, LCD_LINE_7, (char *) TEXT_PARAM_WAV[pardata.LANG][3]); //Äèðåêòîðèÿ 8090242: 4b13 ldr r3, [pc, #76] ; (8090290 ) 8090244: 7b1b ldrb r3, [r3, #12] 8090246: b2db uxtb r3, r3 8090248: 4619 mov r1, r3 809024a: 4a12 ldr r2, [pc, #72] ; (8090294 ) 809024c: 460b mov r3, r1 809024e: 009b lsls r3, r3, #2 8090250: 440b add r3, r1 8090252: 00db lsls r3, r3, #3 8090254: 4413 add r3, r2 8090256: 330c adds r3, #12 8090258: 681b ldr r3, [r3, #0] 809025a: 461a mov r2, r3 809025c: 217a movs r1, #122 ; 0x7a 809025e: 200a movs r0, #10 8090260: f7c4 f84c bl 80542fc 8090264: e032 b.n 80902cc else { if(!strlen(WavFileName)) 8090266: 4b05 ldr r3, [pc, #20] ; (809027c ) 8090268: 781b ldrb r3, [r3, #0] 809026a: 2b00 cmp r3, #0 809026c: d118 bne.n 80902a0 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 809026e: 4906 ldr r1, [pc, #24] ; (8090288 ) 8090270: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8090274: f7c3 fa9a bl 80537ac 8090278: e017 b.n 80902aa 809027a: bf00 nop 809027c: 20020e34 .word 0x20020e34 8090280: 20021670 .word 0x20021670 8090284: 20021674 .word 0x20021674 8090288: ff0a0f1f .word 0xff0a0f1f 809028c: ff808080 .word 0xff808080 8090290: 20023e60 .word 0x20023e60 8090294: 2002083c .word 0x2002083c 8090298: 200202e4 .word 0x200202e4 809029c: 20020070 .word 0x20020070 else LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80902a0: 49c9 ldr r1, [pc, #804] ; (80905c8 ) 80902a2: f04f 30ff mov.w r0, #4294967295 80902a6: f7c3 fa81 bl 80537ac LCD_DisplayString(10, LCD_LINE_7, (char *) TEXT_PARAM_WAV[pardata.LANG][3]); //Äèðåêòîðèÿ 80902aa: 4bc8 ldr r3, [pc, #800] ; (80905cc ) 80902ac: 7b1b ldrb r3, [r3, #12] 80902ae: b2db uxtb r3, r3 80902b0: 4619 mov r1, r3 80902b2: 4ac7 ldr r2, [pc, #796] ; (80905d0 ) 80902b4: 460b mov r3, r1 80902b6: 009b lsls r3, r3, #2 80902b8: 440b add r3, r1 80902ba: 00db lsls r3, r3, #3 80902bc: 4413 add r3, r2 80902be: 330c adds r3, #12 80902c0: 681b ldr r3, [r3, #0] 80902c2: 461a mov r2, r3 80902c4: 217a movs r1, #122 ; 0x7a 80902c6: 200a movs r0, #10 80902c8: f7c4 f818 bl 80542fc } if(pardata.THR & 0x80) 80902cc: 4bbf ldr r3, [pc, #764] ; (80905cc ) 80902ce: 7bdb ldrb r3, [r3, #15] 80902d0: b2db uxtb r3, r3 80902d2: b25b sxtb r3, r3 80902d4: 2b00 cmp r3, #0 80902d6: da4f bge.n 8090378 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80902d8: 49bb ldr r1, [pc, #748] ; (80905c8 ) 80902da: f04f 30ff mov.w r0, #4294967295 80902de: f7c3 fa65 bl 80537ac if(pardata.IIN != VOLTS) 80902e2: 4bba ldr r3, [pc, #744] ; (80905cc ) 80902e4: 799b ldrb r3, [r3, #6] 80902e6: b2db uxtb r3, r3 80902e8: 2b02 cmp r3, #2 80902ea: d022 beq.n 8090332 { LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_PARAM_WAV[pardata.LANG][6]); //Ìax.àìïë.(ì/c^) 80902ec: 4bb7 ldr r3, [pc, #732] ; (80905cc ) 80902ee: 7b1b ldrb r3, [r3, #12] 80902f0: b2db uxtb r3, r3 80902f2: 4619 mov r1, r3 80902f4: 4ab6 ldr r2, [pc, #728] ; (80905d0 ) 80902f6: 460b mov r3, r1 80902f8: 009b lsls r3, r3, #2 80902fa: 440b add r3, r1 80902fc: 00db lsls r3, r3, #3 80902fe: 4413 add r3, r2 8090300: 3318 adds r3, #24 8090302: 681b ldr r3, [r3, #0] 8090304: 461a mov r2, r3 8090306: 21aa movs r1, #170 ; 0xaa 8090308: 200a movs r0, #10 809030a: f7c3 fff7 bl 80542fc LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_WAV[pardata.LANG][8]); //Ïîðîã(ïèê)(ì/c^) 809030e: 4baf ldr r3, [pc, #700] ; (80905cc ) 8090310: 7b1b ldrb r3, [r3, #12] 8090312: b2db uxtb r3, r3 8090314: 4619 mov r1, r3 8090316: 4aae ldr r2, [pc, #696] ; (80905d0 ) 8090318: 460b mov r3, r1 809031a: 009b lsls r3, r3, #2 809031c: 440b add r3, r1 809031e: 00db lsls r3, r3, #3 8090320: 4413 add r3, r2 8090322: 3320 adds r3, #32 8090324: 681b ldr r3, [r3, #0] 8090326: 461a mov r2, r3 8090328: 21ca movs r1, #202 ; 0xca 809032a: 200a movs r0, #10 809032c: f7c3 ffe6 bl 80542fc 8090330: e087 b.n 8090442 } else { LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_PARAM_WAV_mV[pardata.LANG][6]); //Ìax.àìïë.(ìÂ) 8090332: 4ba6 ldr r3, [pc, #664] ; (80905cc ) 8090334: 7b1b ldrb r3, [r3, #12] 8090336: b2db uxtb r3, r3 8090338: 4619 mov r1, r3 809033a: 4aa6 ldr r2, [pc, #664] ; (80905d4 ) 809033c: 460b mov r3, r1 809033e: 009b lsls r3, r3, #2 8090340: 440b add r3, r1 8090342: 00db lsls r3, r3, #3 8090344: 4413 add r3, r2 8090346: 3318 adds r3, #24 8090348: 681b ldr r3, [r3, #0] 809034a: 461a mov r2, r3 809034c: 21aa movs r1, #170 ; 0xaa 809034e: 200a movs r0, #10 8090350: f7c3 ffd4 bl 80542fc LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_WAV_mV[pardata.LANG][8]); //Ïîðîã(ïèê)(ìV) 8090354: 4b9d ldr r3, [pc, #628] ; (80905cc ) 8090356: 7b1b ldrb r3, [r3, #12] 8090358: b2db uxtb r3, r3 809035a: 4619 mov r1, r3 809035c: 4a9d ldr r2, [pc, #628] ; (80905d4 ) 809035e: 460b mov r3, r1 8090360: 009b lsls r3, r3, #2 8090362: 440b add r3, r1 8090364: 00db lsls r3, r3, #3 8090366: 4413 add r3, r2 8090368: 3320 adds r3, #32 809036a: 681b ldr r3, [r3, #0] 809036c: 461a mov r2, r3 809036e: 21ca movs r1, #202 ; 0xca 8090370: 200a movs r0, #10 8090372: f7c3 ffc3 bl 80542fc 8090376: e064 b.n 8090442 } } else { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8090378: 4993 ldr r1, [pc, #588] ; (80905c8 ) 809037a: 4897 ldr r0, [pc, #604] ; (80905d8 ) 809037c: f7c3 fa16 bl 80537ac if(pardata.IIN != VOLTS) 8090380: 4b92 ldr r3, [pc, #584] ; (80905cc ) 8090382: 799b ldrb r3, [r3, #6] 8090384: b2db uxtb r3, r3 8090386: 2b02 cmp r3, #2 8090388: d011 beq.n 80903ae LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_WAV[pardata.LANG][8]); //Ïîðîã(ïèê)(ì/c^) 809038a: 4b90 ldr r3, [pc, #576] ; (80905cc ) 809038c: 7b1b ldrb r3, [r3, #12] 809038e: b2db uxtb r3, r3 8090390: 4619 mov r1, r3 8090392: 4a8f ldr r2, [pc, #572] ; (80905d0 ) 8090394: 460b mov r3, r1 8090396: 009b lsls r3, r3, #2 8090398: 440b add r3, r1 809039a: 00db lsls r3, r3, #3 809039c: 4413 add r3, r2 809039e: 3320 adds r3, #32 80903a0: 681b ldr r3, [r3, #0] 80903a2: 461a mov r2, r3 80903a4: 21ca movs r1, #202 ; 0xca 80903a6: 200a movs r0, #10 80903a8: f7c3 ffa8 bl 80542fc 80903ac: e010 b.n 80903d0 else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_WAV_mV[pardata.LANG][8]); //Ïîðîã(ïèê)(ìÂ) 80903ae: 4b87 ldr r3, [pc, #540] ; (80905cc ) 80903b0: 7b1b ldrb r3, [r3, #12] 80903b2: b2db uxtb r3, r3 80903b4: 4619 mov r1, r3 80903b6: 4a87 ldr r2, [pc, #540] ; (80905d4 ) 80903b8: 460b mov r3, r1 80903ba: 009b lsls r3, r3, #2 80903bc: 440b add r3, r1 80903be: 00db lsls r3, r3, #3 80903c0: 4413 add r3, r2 80903c2: 3320 adds r3, #32 80903c4: 681b ldr r3, [r3, #0] 80903c6: 461a mov r2, r3 80903c8: 21ca movs r1, #202 ; 0xca 80903ca: 200a movs r0, #10 80903cc: f7c3 ff96 bl 80542fc if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 80903d0: 4b7e ldr r3, [pc, #504] ; (80905cc ) 80903d2: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80903d6: f003 0304 and.w r3, r3, #4 80903da: 2b00 cmp r3, #0 80903dc: d105 bne.n 80903ea LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80903de: 497a ldr r1, [pc, #488] ; (80905c8 ) 80903e0: f04f 30ff mov.w r0, #4294967295 80903e4: f7c3 f9e2 bl 80537ac 80903e8: e003 b.n 80903f2 else LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80903ea: 4977 ldr r1, [pc, #476] ; (80905c8 ) 80903ec: 487a ldr r0, [pc, #488] ; (80905d8 ) 80903ee: f7c3 f9dd bl 80537ac if(pardata.IIN != VOLTS) 80903f2: 4b76 ldr r3, [pc, #472] ; (80905cc ) 80903f4: 799b ldrb r3, [r3, #6] 80903f6: b2db uxtb r3, r3 80903f8: 2b02 cmp r3, #2 80903fa: d011 beq.n 8090420 LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_PARAM_WAV[pardata.LANG][6]); //Ìax.àìïë.(ì/c^) 80903fc: 4b73 ldr r3, [pc, #460] ; (80905cc ) 80903fe: 7b1b ldrb r3, [r3, #12] 8090400: b2db uxtb r3, r3 8090402: 4619 mov r1, r3 8090404: 4a72 ldr r2, [pc, #456] ; (80905d0 ) 8090406: 460b mov r3, r1 8090408: 009b lsls r3, r3, #2 809040a: 440b add r3, r1 809040c: 00db lsls r3, r3, #3 809040e: 4413 add r3, r2 8090410: 3318 adds r3, #24 8090412: 681b ldr r3, [r3, #0] 8090414: 461a mov r2, r3 8090416: 21aa movs r1, #170 ; 0xaa 8090418: 200a movs r0, #10 809041a: f7c3 ff6f bl 80542fc 809041e: e010 b.n 8090442 else LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_PARAM_WAV_mV[pardata.LANG][6]); //Ìax.àìïë.(ìV) 8090420: 4b6a ldr r3, [pc, #424] ; (80905cc ) 8090422: 7b1b ldrb r3, [r3, #12] 8090424: b2db uxtb r3, r3 8090426: 4619 mov r1, r3 8090428: 4a6a ldr r2, [pc, #424] ; (80905d4 ) 809042a: 460b mov r3, r1 809042c: 009b lsls r3, r3, #2 809042e: 440b add r3, r1 8090430: 00db lsls r3, r3, #3 8090432: 4413 add r3, r2 8090434: 3318 adds r3, #24 8090436: 681b ldr r3, [r3, #0] 8090438: 461a mov r2, r3 809043a: 21aa movs r1, #170 ; 0xaa 809043c: 200a movs r0, #10 809043e: f7c3 ff5d bl 80542fc switch(menupos) 8090442: 4b66 ldr r3, [pc, #408] ; (80905dc ) 8090444: 781b ldrb r3, [r3, #0] 8090446: b2db uxtb r3, r3 8090448: 2b15 cmp r3, #21 809044a: f201 8746 bhi.w 80922da 809044e: a201 add r2, pc, #4 ; (adr r2, 8090454 ) 8090450: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8090454: 080904ad .word 0x080904ad 8090458: 080922db .word 0x080922db 809045c: 080922db .word 0x080922db 8090460: 080921a5 .word 0x080921a5 8090464: 080905ed .word 0x080905ed 8090468: 08090711 .word 0x08090711 809046c: 08090899 .word 0x08090899 8090470: 08090af9 .word 0x08090af9 8090474: 080909c9 .word 0x080909c9 8090478: 08090c1f .word 0x08090c1f 809047c: 08090d45 .word 0x08090d45 8090480: 08090efd .word 0x08090efd 8090484: 0809108f .word 0x0809108f 8090488: 08091245 .word 0x08091245 809048c: 080913d7 .word 0x080913d7 8090490: 0809158d .word 0x0809158d 8090494: 0809171f .word 0x0809171f 8090498: 080918ed .word 0x080918ed 809049c: 08091a97 .word 0x08091a97 80904a0: 08091c65 .word 0x08091c65 80904a4: 08091e0d .word 0x08091e0d 80904a8: 08091fd9 .word 0x08091fd9 { case Ok: LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80904ac: 4946 ldr r1, [pc, #280] ; (80905c8 ) 80904ae: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80904b2: f7c3 f97b bl 80537ac LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]); //Äàëåå; 80904b6: 4b45 ldr r3, [pc, #276] ; (80905cc ) 80904b8: 7b1b ldrb r3, [r3, #12] 80904ba: b2db uxtb r3, r3 80904bc: 461a mov r2, r3 80904be: 4b48 ldr r3, [pc, #288] ; (80905e0 ) 80904c0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80904c4: 461a mov r2, r3 80904c6: 2127 movs r1, #39 ; 0x27 80904c8: 200a movs r0, #10 80904ca: f7c3 ff17 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80904ce: 493e ldr r1, [pc, #248] ; (80905c8 ) 80904d0: 4844 ldr r0, [pc, #272] ; (80905e4 ) 80904d2: f7c3 f96b bl 80537ac LCD_DisplayStringC(260, LCD_LINE_7, str1); 80904d6: f507 73f6 add.w r3, r7, #492 ; 0x1ec 80904da: 461a mov r2, r3 80904dc: 217a movs r1, #122 ; 0x7a 80904de: f44f 7082 mov.w r0, #260 ; 0x104 80904e2: f7c3 ff23 bl 805432c LCD_DisplayStringC(260, LCD_LINE_8, (char *) pTME[pardata.LANG][pardata.TME]); 80904e6: 4b39 ldr r3, [pc, #228] ; (80905cc ) 80904e8: 7b1b ldrb r3, [r3, #12] 80904ea: b2db uxtb r3, r3 80904ec: 461a mov r2, r3 80904ee: 4b37 ldr r3, [pc, #220] ; (80905cc ) 80904f0: 7b9b ldrb r3, [r3, #14] 80904f2: b2db uxtb r3, r3 80904f4: 4618 mov r0, r3 80904f6: 493c ldr r1, [pc, #240] ; (80905e8 ) 80904f8: 4613 mov r3, r2 80904fa: 009b lsls r3, r3, #2 80904fc: 4413 add r3, r2 80904fe: 005b lsls r3, r3, #1 8090500: 4413 add r3, r2 8090502: 4403 add r3, r0 8090504: f851 3023 ldr.w r3, [r1, r3, lsl #2] 8090508: 461a mov r2, r3 809050a: 218a movs r1, #138 ; 0x8a 809050c: f44f 7082 mov.w r0, #260 ; 0x104 8090510: f7c3 ff0c bl 805432c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8090514: 492c ldr r1, [pc, #176] ; (80905c8 ) 8090516: f04f 30ff mov.w r0, #4294967295 809051a: f7c3 f947 bl 80537ac BSP_LCD_FillRect(255, CHECKBOX_LINE_9, 10, 10); 809051e: 230a movs r3, #10 8090520: 220a movs r2, #10 8090522: 219d movs r1, #157 ; 0x9d 8090524: 20ff movs r0, #255 ; 0xff 8090526: f7c3 fdcf bl 80540c8 BSP_LCD_FillRect(255, CHECKBOX_LINE_11, 10, 10); 809052a: 230a movs r3, #10 809052c: 220a movs r2, #10 809052e: 21bd movs r1, #189 ; 0xbd 8090530: 20ff movs r0, #255 ; 0xff 8090532: f7c3 fdc9 bl 80540c8 BSP_LCD_FillRect(255, CHECKBOX_LINE_6, 10, 10); 8090536: 230a movs r3, #10 8090538: 220a movs r2, #10 809053a: 216d movs r1, #109 ; 0x6d 809053c: 20ff movs r0, #255 ; 0xff 809053e: f7c3 fdc3 bl 80540c8 if(pardata.THR & 0x80) 8090542: 4b22 ldr r3, [pc, #136] ; (80905cc ) 8090544: 7bdb ldrb r3, [r3, #15] 8090546: b2db uxtb r3, r3 8090548: b25b sxtb r3, r3 809054a: 2b00 cmp r3, #0 809054c: da15 bge.n 809057a { LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 809054e: 491e ldr r1, [pc, #120] ; (80905c8 ) 8090550: 4824 ldr r0, [pc, #144] ; (80905e4 ) 8090552: f7c3 f92b bl 80537ac LCD_DisplayStringC(260, LCD_LINE_10, strMax); 8090556: f507 73c0 add.w r3, r7, #384 ; 0x180 809055a: 461a mov r2, r3 809055c: 21aa movs r1, #170 ; 0xaa 809055e: f44f 7082 mov.w r0, #260 ; 0x104 8090562: f7c3 fee3 bl 805432c LCD_DisplayStringC(260, LCD_LINE_12, strThr); 8090566: f507 73c6 add.w r3, r7, #396 ; 0x18c 809056a: 461a mov r2, r3 809056c: 21ca movs r1, #202 ; 0xca 809056e: f44f 7082 mov.w r0, #260 ; 0x104 8090572: f7c3 fedb bl 805432c 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; 8090576: f001 beb0 b.w 80922da LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 809057a: 4913 ldr r1, [pc, #76] ; (80905c8 ) 809057c: 4816 ldr r0, [pc, #88] ; (80905d8 ) 809057e: f7c3 f915 bl 80537ac LCD_DisplayStringC(260, LCD_LINE_12, strThr); 8090582: f507 73c6 add.w r3, r7, #396 ; 0x18c 8090586: 461a mov r2, r3 8090588: 21ca movs r1, #202 ; 0xca 809058a: f44f 7082 mov.w r0, #260 ; 0x104 809058e: f7c3 fecd bl 805432c if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 8090592: 4b0e ldr r3, [pc, #56] ; (80905cc ) 8090594: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8090598: f003 0304 and.w r3, r3, #4 809059c: 2b00 cmp r3, #0 809059e: d104 bne.n 80905aa LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80905a0: 4909 ldr r1, [pc, #36] ; (80905c8 ) 80905a2: 4810 ldr r0, [pc, #64] ; (80905e4 ) 80905a4: f7c3 f902 bl 80537ac 80905a8: e003 b.n 80905b2 else LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80905aa: 4907 ldr r1, [pc, #28] ; (80905c8 ) 80905ac: 480a ldr r0, [pc, #40] ; (80905d8 ) 80905ae: f7c3 f8fd bl 80537ac LCD_DisplayStringC(260, LCD_LINE_10, strMax); 80905b2: f507 73c0 add.w r3, r7, #384 ; 0x180 80905b6: 461a mov r2, r3 80905b8: 21aa movs r1, #170 ; 0xaa 80905ba: f44f 7082 mov.w r0, #260 ; 0x104 80905be: f7c3 feb5 bl 805432c break; 80905c2: f001 be8a b.w 80922da 80905c6: bf00 nop 80905c8: ff0a0f1f .word 0xff0a0f1f 80905cc: 20023e60 .word 0x20023e60 80905d0: 2002083c .word 0x2002083c 80905d4: 2002088c .word 0x2002088c 80905d8: ff808080 .word 0xff808080 80905dc: 20020070 .word 0x20020070 80905e0: 200205c4 .word 0x200205c4 80905e4: ffd8aa57 .word 0xffd8aa57 80905e8: 20020334 .word 0x20020334 case WaveName: LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80905ec: 49a2 ldr r1, [pc, #648] ; (8090878 ) 80905ee: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80905f2: f7c3 f8db bl 80537ac LCD_DisplayStringC(260, LCD_LINE_7, str1); 80905f6: f507 73f6 add.w r3, r7, #492 ; 0x1ec 80905fa: 461a mov r2, r3 80905fc: 217a movs r1, #122 ; 0x7a 80905fe: f44f 7082 mov.w r0, #260 ; 0x104 8090602: f7c3 fe93 bl 805432c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8090606: 499c ldr r1, [pc, #624] ; (8090878 ) 8090608: f04f 30ff mov.w r0, #4294967295 809060c: f7c3 f8ce bl 80537ac LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]); //Äàëåå; 8090610: 4b9a ldr r3, [pc, #616] ; (809087c ) 8090612: 7b1b ldrb r3, [r3, #12] 8090614: b2db uxtb r3, r3 8090616: 461a mov r2, r3 8090618: 4b99 ldr r3, [pc, #612] ; (8090880 ) 809061a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809061e: 461a mov r2, r3 8090620: 2127 movs r1, #39 ; 0x27 8090622: 200a movs r0, #10 8090624: f7c3 fe6a bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8090628: 4993 ldr r1, [pc, #588] ; (8090878 ) 809062a: 4896 ldr r0, [pc, #600] ; (8090884 ) 809062c: f7c3 f8be bl 80537ac LCD_DisplayStringC(260, LCD_LINE_8, (char *) pTME[pardata.LANG][pardata.TME]); 8090630: 4b92 ldr r3, [pc, #584] ; (809087c ) 8090632: 7b1b ldrb r3, [r3, #12] 8090634: b2db uxtb r3, r3 8090636: 461a mov r2, r3 8090638: 4b90 ldr r3, [pc, #576] ; (809087c ) 809063a: 7b9b ldrb r3, [r3, #14] 809063c: b2db uxtb r3, r3 809063e: 4618 mov r0, r3 8090640: 4991 ldr r1, [pc, #580] ; (8090888 ) 8090642: 4613 mov r3, r2 8090644: 009b lsls r3, r3, #2 8090646: 4413 add r3, r2 8090648: 005b lsls r3, r3, #1 809064a: 4413 add r3, r2 809064c: 4403 add r3, r0 809064e: f851 3023 ldr.w r3, [r1, r3, lsl #2] 8090652: 461a mov r2, r3 8090654: 218a movs r1, #138 ; 0x8a 8090656: f44f 7082 mov.w r0, #260 ; 0x104 809065a: f7c3 fe67 bl 805432c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 809065e: 4986 ldr r1, [pc, #536] ; (8090878 ) 8090660: f04f 30ff mov.w r0, #4294967295 8090664: f7c3 f8a2 bl 80537ac BSP_LCD_FillRect(255, CHECKBOX_LINE_9, 10, 10); 8090668: 230a movs r3, #10 809066a: 220a movs r2, #10 809066c: 219d movs r1, #157 ; 0x9d 809066e: 20ff movs r0, #255 ; 0xff 8090670: f7c3 fd2a bl 80540c8 BSP_LCD_FillRect(255, CHECKBOX_LINE_11, 10, 10); 8090674: 230a movs r3, #10 8090676: 220a movs r2, #10 8090678: 21bd movs r1, #189 ; 0xbd 809067a: 20ff movs r0, #255 ; 0xff 809067c: f7c3 fd24 bl 80540c8 BSP_LCD_FillRect(255, CHECKBOX_LINE_6, 10, 10); 8090680: 230a movs r3, #10 8090682: 220a movs r2, #10 8090684: 216d movs r1, #109 ; 0x6d 8090686: 20ff movs r0, #255 ; 0xff 8090688: f7c3 fd1e bl 80540c8 if(pardata.THR & 0x80) 809068c: 4b7b ldr r3, [pc, #492] ; (809087c ) 809068e: 7bdb ldrb r3, [r3, #15] 8090690: b2db uxtb r3, r3 8090692: b25b sxtb r3, r3 8090694: 2b00 cmp r3, #0 8090696: da15 bge.n 80906c4 { LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8090698: 4977 ldr r1, [pc, #476] ; (8090878 ) 809069a: 487a ldr r0, [pc, #488] ; (8090884 ) 809069c: f7c3 f886 bl 80537ac LCD_DisplayStringC(260, LCD_LINE_10, strMax); 80906a0: f507 73c0 add.w r3, r7, #384 ; 0x180 80906a4: 461a mov r2, r3 80906a6: 21aa movs r1, #170 ; 0xaa 80906a8: f44f 7082 mov.w r0, #260 ; 0x104 80906ac: f7c3 fe3e bl 805432c LCD_DisplayStringC(260, LCD_LINE_12, strThr); 80906b0: f507 73c6 add.w r3, r7, #396 ; 0x18c 80906b4: 461a mov r2, r3 80906b6: 21ca movs r1, #202 ; 0xca 80906b8: f44f 7082 mov.w r0, #260 ; 0x104 80906bc: f7c3 fe36 bl 805432c 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; 80906c0: f001 be0b b.w 80922da LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80906c4: 496c ldr r1, [pc, #432] ; (8090878 ) 80906c6: 4871 ldr r0, [pc, #452] ; (809088c ) 80906c8: f7c3 f870 bl 80537ac LCD_DisplayStringC(260, LCD_LINE_12, strThr); 80906cc: f507 73c6 add.w r3, r7, #396 ; 0x18c 80906d0: 461a mov r2, r3 80906d2: 21ca movs r1, #202 ; 0xca 80906d4: f44f 7082 mov.w r0, #260 ; 0x104 80906d8: f7c3 fe28 bl 805432c if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 80906dc: 4b67 ldr r3, [pc, #412] ; (809087c ) 80906de: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80906e2: f003 0304 and.w r3, r3, #4 80906e6: 2b00 cmp r3, #0 80906e8: d104 bne.n 80906f4 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80906ea: 4963 ldr r1, [pc, #396] ; (8090878 ) 80906ec: 4865 ldr r0, [pc, #404] ; (8090884 ) 80906ee: f7c3 f85d bl 80537ac 80906f2: e003 b.n 80906fc else LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80906f4: 4960 ldr r1, [pc, #384] ; (8090878 ) 80906f6: 4865 ldr r0, [pc, #404] ; (809088c ) 80906f8: f7c3 f858 bl 80537ac LCD_DisplayStringC(260, LCD_LINE_10, strMax); 80906fc: f507 73c0 add.w r3, r7, #384 ; 0x180 8090700: 461a mov r2, r3 8090702: 21aa movs r1, #170 ; 0xaa 8090704: f44f 7082 mov.w r0, #260 ; 0x104 8090708: f7c3 fe10 bl 805432c break; 809070c: f001 bde5 b.w 80922da case WaveTime: LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8090710: 4959 ldr r1, [pc, #356] ; (8090878 ) 8090712: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8090716: f7c3 f849 bl 80537ac if(focused) 809071a: 4b5d ldr r3, [pc, #372] ; (8090890 ) 809071c: 781b ldrb r3, [r3, #0] 809071e: b2db uxtb r3, r3 8090720: 2b00 cmp r3, #0 8090722: d01b beq.n 809075c { if(blk) 8090724: 4b5b ldr r3, [pc, #364] ; (8090894 ) 8090726: 681b ldr r3, [r3, #0] 8090728: 2b00 cmp r3, #0 809072a: d02e beq.n 809078a LCD_DisplayStringC(260, LCD_LINE_8, (char *) pTME[pardata.LANG][pardata.TME]); 809072c: 4b53 ldr r3, [pc, #332] ; (809087c ) 809072e: 7b1b ldrb r3, [r3, #12] 8090730: b2db uxtb r3, r3 8090732: 461a mov r2, r3 8090734: 4b51 ldr r3, [pc, #324] ; (809087c ) 8090736: 7b9b ldrb r3, [r3, #14] 8090738: b2db uxtb r3, r3 809073a: 4618 mov r0, r3 809073c: 4952 ldr r1, [pc, #328] ; (8090888 ) 809073e: 4613 mov r3, r2 8090740: 009b lsls r3, r3, #2 8090742: 4413 add r3, r2 8090744: 005b lsls r3, r3, #1 8090746: 4413 add r3, r2 8090748: 4403 add r3, r0 809074a: f851 3023 ldr.w r3, [r1, r3, lsl #2] 809074e: 461a mov r2, r3 8090750: 218a movs r1, #138 ; 0x8a 8090752: f44f 7082 mov.w r0, #260 ; 0x104 8090756: f7c3 fde9 bl 805432c 809075a: e016 b.n 809078a } else LCD_DisplayStringC(260, LCD_LINE_8, (char *) pTME[pardata.LANG][pardata.TME]); 809075c: 4b47 ldr r3, [pc, #284] ; (809087c ) 809075e: 7b1b ldrb r3, [r3, #12] 8090760: b2db uxtb r3, r3 8090762: 461a mov r2, r3 8090764: 4b45 ldr r3, [pc, #276] ; (809087c ) 8090766: 7b9b ldrb r3, [r3, #14] 8090768: b2db uxtb r3, r3 809076a: 4618 mov r0, r3 809076c: 4946 ldr r1, [pc, #280] ; (8090888 ) 809076e: 4613 mov r3, r2 8090770: 009b lsls r3, r3, #2 8090772: 4413 add r3, r2 8090774: 005b lsls r3, r3, #1 8090776: 4413 add r3, r2 8090778: 4403 add r3, r0 809077a: f851 3023 ldr.w r3, [r1, r3, lsl #2] 809077e: 461a mov r2, r3 8090780: 218a movs r1, #138 ; 0x8a 8090782: f44f 7082 mov.w r0, #260 ; 0x104 8090786: f7c3 fdd1 bl 805432c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 809078a: 493b ldr r1, [pc, #236] ; (8090878 ) 809078c: f04f 30ff mov.w r0, #4294967295 8090790: f7c3 f80c bl 80537ac LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]); //Äàëåå; 8090794: 4b39 ldr r3, [pc, #228] ; (809087c ) 8090796: 7b1b ldrb r3, [r3, #12] 8090798: b2db uxtb r3, r3 809079a: 461a mov r2, r3 809079c: 4b38 ldr r3, [pc, #224] ; (8090880 ) 809079e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80907a2: 461a mov r2, r3 80907a4: 2127 movs r1, #39 ; 0x27 80907a6: 200a movs r0, #10 80907a8: f7c3 fda8 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80907ac: 4932 ldr r1, [pc, #200] ; (8090878 ) 80907ae: 4835 ldr r0, [pc, #212] ; (8090884 ) 80907b0: f7c2 fffc bl 80537ac LCD_DisplayStringC(260, LCD_LINE_7, str1); 80907b4: f507 73f6 add.w r3, r7, #492 ; 0x1ec 80907b8: 461a mov r2, r3 80907ba: 217a movs r1, #122 ; 0x7a 80907bc: f44f 7082 mov.w r0, #260 ; 0x104 80907c0: f7c3 fdb4 bl 805432c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80907c4: 492c ldr r1, [pc, #176] ; (8090878 ) 80907c6: f04f 30ff mov.w r0, #4294967295 80907ca: f7c2 ffef bl 80537ac BSP_LCD_FillRect(255, CHECKBOX_LINE_9, 10, 10); 80907ce: 230a movs r3, #10 80907d0: 220a movs r2, #10 80907d2: 219d movs r1, #157 ; 0x9d 80907d4: 20ff movs r0, #255 ; 0xff 80907d6: f7c3 fc77 bl 80540c8 BSP_LCD_FillRect(255, CHECKBOX_LINE_11, 10, 10); 80907da: 230a movs r3, #10 80907dc: 220a movs r2, #10 80907de: 21bd movs r1, #189 ; 0xbd 80907e0: 20ff movs r0, #255 ; 0xff 80907e2: f7c3 fc71 bl 80540c8 BSP_LCD_FillRect(255, CHECKBOX_LINE_6, 10, 10); 80907e6: 230a movs r3, #10 80907e8: 220a movs r2, #10 80907ea: 216d movs r1, #109 ; 0x6d 80907ec: 20ff movs r0, #255 ; 0xff 80907ee: f7c3 fc6b bl 80540c8 if(pardata.THR & 0x80) 80907f2: 4b22 ldr r3, [pc, #136] ; (809087c ) 80907f4: 7bdb ldrb r3, [r3, #15] 80907f6: b2db uxtb r3, r3 80907f8: b25b sxtb r3, r3 80907fa: 2b00 cmp r3, #0 80907fc: da15 bge.n 809082a { LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80907fe: 491e ldr r1, [pc, #120] ; (8090878 ) 8090800: 4820 ldr r0, [pc, #128] ; (8090884 ) 8090802: f7c2 ffd3 bl 80537ac LCD_DisplayStringC(260, LCD_LINE_10, strMax); 8090806: f507 73c0 add.w r3, r7, #384 ; 0x180 809080a: 461a mov r2, r3 809080c: 21aa movs r1, #170 ; 0xaa 809080e: f44f 7082 mov.w r0, #260 ; 0x104 8090812: f7c3 fd8b bl 805432c LCD_DisplayStringC(260, LCD_LINE_12, strThr); 8090816: f507 73c6 add.w r3, r7, #396 ; 0x18c 809081a: 461a mov r2, r3 809081c: 21ca movs r1, #202 ; 0xca 809081e: f44f 7082 mov.w r0, #260 ; 0x104 8090822: f7c3 fd83 bl 805432c 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; 8090826: f001 bd58 b.w 80922da LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 809082a: 4913 ldr r1, [pc, #76] ; (8090878 ) 809082c: 4817 ldr r0, [pc, #92] ; (809088c ) 809082e: f7c2 ffbd bl 80537ac LCD_DisplayStringC(260, LCD_LINE_12, strThr); 8090832: f507 73c6 add.w r3, r7, #396 ; 0x18c 8090836: 461a mov r2, r3 8090838: 21ca movs r1, #202 ; 0xca 809083a: f44f 7082 mov.w r0, #260 ; 0x104 809083e: f7c3 fd75 bl 805432c if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 8090842: 4b0e ldr r3, [pc, #56] ; (809087c ) 8090844: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8090848: f003 0304 and.w r3, r3, #4 809084c: 2b00 cmp r3, #0 809084e: d104 bne.n 809085a LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8090850: 4909 ldr r1, [pc, #36] ; (8090878 ) 8090852: 480c ldr r0, [pc, #48] ; (8090884 ) 8090854: f7c2 ffaa bl 80537ac 8090858: e003 b.n 8090862 else LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 809085a: 4907 ldr r1, [pc, #28] ; (8090878 ) 809085c: 480b ldr r0, [pc, #44] ; (809088c ) 809085e: f7c2 ffa5 bl 80537ac LCD_DisplayStringC(260, LCD_LINE_10, strMax); 8090862: f507 73c0 add.w r3, r7, #384 ; 0x180 8090866: 461a mov r2, r3 8090868: 21aa movs r1, #170 ; 0xaa 809086a: f44f 7082 mov.w r0, #260 ; 0x104 809086e: f7c3 fd5d bl 805432c break; 8090872: f001 bd32 b.w 80922da 8090876: bf00 nop 8090878: ff0a0f1f .word 0xff0a0f1f 809087c: 20023e60 .word 0x20023e60 8090880: 200205c4 .word 0x200205c4 8090884: ffd8aa57 .word 0xffd8aa57 8090888: 20020334 .word 0x20020334 809088c: ff808080 .word 0xff808080 8090890: 20020f84 .word 0x20020f84 8090894: 2002165c .word 0x2002165c case WaveAutoKu: LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8090898: 49cd ldr r1, [pc, #820] ; (8090bd0 ) 809089a: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 809089e: f7c2 ff85 bl 80537ac BSP_LCD_FillRect(253, CHECKBOX_LINE_9-2, 14, 14); 80908a2: 230e movs r3, #14 80908a4: 220e movs r2, #14 80908a6: 219b movs r1, #155 ; 0x9b 80908a8: 20fd movs r0, #253 ; 0xfd 80908aa: f7c3 fc0d bl 80540c8 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80908ae: 49c8 ldr r1, [pc, #800] ; (8090bd0 ) 80908b0: f04f 30ff mov.w r0, #4294967295 80908b4: f7c2 ff7a bl 80537ac LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]); //Äàëåå; 80908b8: 4bc6 ldr r3, [pc, #792] ; (8090bd4 ) 80908ba: 7b1b ldrb r3, [r3, #12] 80908bc: b2db uxtb r3, r3 80908be: 461a mov r2, r3 80908c0: 4bc5 ldr r3, [pc, #788] ; (8090bd8 ) 80908c2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80908c6: 461a mov r2, r3 80908c8: 2127 movs r1, #39 ; 0x27 80908ca: 200a movs r0, #10 80908cc: f7c3 fd16 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80908d0: 49bf ldr r1, [pc, #764] ; (8090bd0 ) 80908d2: 48c2 ldr r0, [pc, #776] ; (8090bdc ) 80908d4: f7c2 ff6a bl 80537ac LCD_DisplayStringC(260, LCD_LINE_7, str1); 80908d8: f507 73f6 add.w r3, r7, #492 ; 0x1ec 80908dc: 461a mov r2, r3 80908de: 217a movs r1, #122 ; 0x7a 80908e0: f44f 7082 mov.w r0, #260 ; 0x104 80908e4: f7c3 fd22 bl 805432c LCD_DisplayStringC(260, LCD_LINE_8, (char *) pTME[pardata.LANG][pardata.TME]); 80908e8: 4bba ldr r3, [pc, #744] ; (8090bd4 ) 80908ea: 7b1b ldrb r3, [r3, #12] 80908ec: b2db uxtb r3, r3 80908ee: 461a mov r2, r3 80908f0: 4bb8 ldr r3, [pc, #736] ; (8090bd4 ) 80908f2: 7b9b ldrb r3, [r3, #14] 80908f4: b2db uxtb r3, r3 80908f6: 4618 mov r0, r3 80908f8: 49b9 ldr r1, [pc, #740] ; (8090be0 ) 80908fa: 4613 mov r3, r2 80908fc: 009b lsls r3, r3, #2 80908fe: 4413 add r3, r2 8090900: 005b lsls r3, r3, #1 8090902: 4413 add r3, r2 8090904: 4403 add r3, r0 8090906: f851 3023 ldr.w r3, [r1, r3, lsl #2] 809090a: 461a mov r2, r3 809090c: 218a movs r1, #138 ; 0x8a 809090e: f44f 7082 mov.w r0, #260 ; 0x104 8090912: f7c3 fd0b bl 805432c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8090916: 49ae ldr r1, [pc, #696] ; (8090bd0 ) 8090918: f04f 30ff mov.w r0, #4294967295 809091c: f7c2 ff46 bl 80537ac BSP_LCD_FillRect(255, CHECKBOX_LINE_9, 10, 10); 8090920: 230a movs r3, #10 8090922: 220a movs r2, #10 8090924: 219d movs r1, #157 ; 0x9d 8090926: 20ff movs r0, #255 ; 0xff 8090928: f7c3 fbce bl 80540c8 BSP_LCD_FillRect(255, CHECKBOX_LINE_11, 10, 10); 809092c: 230a movs r3, #10 809092e: 220a movs r2, #10 8090930: 21bd movs r1, #189 ; 0xbd 8090932: 20ff movs r0, #255 ; 0xff 8090934: f7c3 fbc8 bl 80540c8 BSP_LCD_FillRect(255, CHECKBOX_LINE_6, 10, 10); 8090938: 230a movs r3, #10 809093a: 220a movs r2, #10 809093c: 216d movs r1, #109 ; 0x6d 809093e: 20ff movs r0, #255 ; 0xff 8090940: f7c3 fbc2 bl 80540c8 if(pardata.THR & 0x80) 8090944: 4ba3 ldr r3, [pc, #652] ; (8090bd4 ) 8090946: 7bdb ldrb r3, [r3, #15] 8090948: b2db uxtb r3, r3 809094a: b25b sxtb r3, r3 809094c: 2b00 cmp r3, #0 809094e: da15 bge.n 809097c { LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8090950: 499f ldr r1, [pc, #636] ; (8090bd0 ) 8090952: 48a2 ldr r0, [pc, #648] ; (8090bdc ) 8090954: f7c2 ff2a bl 80537ac LCD_DisplayStringC(260, LCD_LINE_10, strMax); 8090958: f507 73c0 add.w r3, r7, #384 ; 0x180 809095c: 461a mov r2, r3 809095e: 21aa movs r1, #170 ; 0xaa 8090960: f44f 7082 mov.w r0, #260 ; 0x104 8090964: f7c3 fce2 bl 805432c LCD_DisplayStringC(260, LCD_LINE_12, strThr); 8090968: f507 73c6 add.w r3, r7, #396 ; 0x18c 809096c: 461a mov r2, r3 809096e: 21ca movs r1, #202 ; 0xca 8090970: f44f 7082 mov.w r0, #260 ; 0x104 8090974: f7c3 fcda bl 805432c 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; 8090978: f001 bcaf b.w 80922da LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 809097c: 4994 ldr r1, [pc, #592] ; (8090bd0 ) 809097e: 4899 ldr r0, [pc, #612] ; (8090be4 ) 8090980: f7c2 ff14 bl 80537ac LCD_DisplayStringC(260, LCD_LINE_12, strThr); 8090984: f507 73c6 add.w r3, r7, #396 ; 0x18c 8090988: 461a mov r2, r3 809098a: 21ca movs r1, #202 ; 0xca 809098c: f44f 7082 mov.w r0, #260 ; 0x104 8090990: f7c3 fccc bl 805432c if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 8090994: 4b8f ldr r3, [pc, #572] ; (8090bd4 ) 8090996: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 809099a: f003 0304 and.w r3, r3, #4 809099e: 2b00 cmp r3, #0 80909a0: d104 bne.n 80909ac LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80909a2: 498b ldr r1, [pc, #556] ; (8090bd0 ) 80909a4: 488d ldr r0, [pc, #564] ; (8090bdc ) 80909a6: f7c2 ff01 bl 80537ac 80909aa: e003 b.n 80909b4 else LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80909ac: 4988 ldr r1, [pc, #544] ; (8090bd0 ) 80909ae: 488d ldr r0, [pc, #564] ; (8090be4 ) 80909b0: f7c2 fefc bl 80537ac LCD_DisplayStringC(260, LCD_LINE_10, strMax); 80909b4: f507 73c0 add.w r3, r7, #384 ; 0x180 80909b8: 461a mov r2, r3 80909ba: 21aa movs r1, #170 ; 0xaa 80909bc: f44f 7082 mov.w r0, #260 ; 0x104 80909c0: f7c3 fcb4 bl 805432c break; 80909c4: f001 bc89 b.w 80922da case WaveThr: LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80909c8: 4981 ldr r1, [pc, #516] ; (8090bd0 ) 80909ca: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80909ce: f7c2 feed bl 80537ac BSP_LCD_FillRect(253, CHECKBOX_LINE_11-2, 14, 14); 80909d2: 230e movs r3, #14 80909d4: 220e movs r2, #14 80909d6: 21bb movs r1, #187 ; 0xbb 80909d8: 20fd movs r0, #253 ; 0xfd 80909da: f7c3 fb75 bl 80540c8 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80909de: 497c ldr r1, [pc, #496] ; (8090bd0 ) 80909e0: f04f 30ff mov.w r0, #4294967295 80909e4: f7c2 fee2 bl 80537ac LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]); //Äàëåå; 80909e8: 4b7a ldr r3, [pc, #488] ; (8090bd4 ) 80909ea: 7b1b ldrb r3, [r3, #12] 80909ec: b2db uxtb r3, r3 80909ee: 461a mov r2, r3 80909f0: 4b79 ldr r3, [pc, #484] ; (8090bd8 ) 80909f2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80909f6: 461a mov r2, r3 80909f8: 2127 movs r1, #39 ; 0x27 80909fa: 200a movs r0, #10 80909fc: f7c3 fc7e bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8090a00: 4973 ldr r1, [pc, #460] ; (8090bd0 ) 8090a02: 4876 ldr r0, [pc, #472] ; (8090bdc ) 8090a04: f7c2 fed2 bl 80537ac LCD_DisplayStringC(260, LCD_LINE_7, str1); 8090a08: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8090a0c: 461a mov r2, r3 8090a0e: 217a movs r1, #122 ; 0x7a 8090a10: f44f 7082 mov.w r0, #260 ; 0x104 8090a14: f7c3 fc8a bl 805432c LCD_DisplayStringC(260, LCD_LINE_8, (char *) pTME[pardata.LANG][pardata.TME]); 8090a18: 4b6e ldr r3, [pc, #440] ; (8090bd4 ) 8090a1a: 7b1b ldrb r3, [r3, #12] 8090a1c: b2db uxtb r3, r3 8090a1e: 461a mov r2, r3 8090a20: 4b6c ldr r3, [pc, #432] ; (8090bd4 ) 8090a22: 7b9b ldrb r3, [r3, #14] 8090a24: b2db uxtb r3, r3 8090a26: 4618 mov r0, r3 8090a28: 496d ldr r1, [pc, #436] ; (8090be0 ) 8090a2a: 4613 mov r3, r2 8090a2c: 009b lsls r3, r3, #2 8090a2e: 4413 add r3, r2 8090a30: 005b lsls r3, r3, #1 8090a32: 4413 add r3, r2 8090a34: 4403 add r3, r0 8090a36: f851 3023 ldr.w r3, [r1, r3, lsl #2] 8090a3a: 461a mov r2, r3 8090a3c: 218a movs r1, #138 ; 0x8a 8090a3e: f44f 7082 mov.w r0, #260 ; 0x104 8090a42: f7c3 fc73 bl 805432c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8090a46: 4962 ldr r1, [pc, #392] ; (8090bd0 ) 8090a48: f04f 30ff mov.w r0, #4294967295 8090a4c: f7c2 feae bl 80537ac BSP_LCD_FillRect(255, CHECKBOX_LINE_9, 10, 10); 8090a50: 230a movs r3, #10 8090a52: 220a movs r2, #10 8090a54: 219d movs r1, #157 ; 0x9d 8090a56: 20ff movs r0, #255 ; 0xff 8090a58: f7c3 fb36 bl 80540c8 BSP_LCD_FillRect(255, CHECKBOX_LINE_11, 10, 10); 8090a5c: 230a movs r3, #10 8090a5e: 220a movs r2, #10 8090a60: 21bd movs r1, #189 ; 0xbd 8090a62: 20ff movs r0, #255 ; 0xff 8090a64: f7c3 fb30 bl 80540c8 BSP_LCD_FillRect(255, CHECKBOX_LINE_6, 10, 10); 8090a68: 230a movs r3, #10 8090a6a: 220a movs r2, #10 8090a6c: 216d movs r1, #109 ; 0x6d 8090a6e: 20ff movs r0, #255 ; 0xff 8090a70: f7c3 fb2a bl 80540c8 if(pardata.THR & 0x80) 8090a74: 4b57 ldr r3, [pc, #348] ; (8090bd4 ) 8090a76: 7bdb ldrb r3, [r3, #15] 8090a78: b2db uxtb r3, r3 8090a7a: b25b sxtb r3, r3 8090a7c: 2b00 cmp r3, #0 8090a7e: da15 bge.n 8090aac { LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8090a80: 4953 ldr r1, [pc, #332] ; (8090bd0 ) 8090a82: 4856 ldr r0, [pc, #344] ; (8090bdc ) 8090a84: f7c2 fe92 bl 80537ac LCD_DisplayStringC(260, LCD_LINE_10, strMax); 8090a88: f507 73c0 add.w r3, r7, #384 ; 0x180 8090a8c: 461a mov r2, r3 8090a8e: 21aa movs r1, #170 ; 0xaa 8090a90: f44f 7082 mov.w r0, #260 ; 0x104 8090a94: f7c3 fc4a bl 805432c LCD_DisplayStringC(260, LCD_LINE_12, strThr); 8090a98: f507 73c6 add.w r3, r7, #396 ; 0x18c 8090a9c: 461a mov r2, r3 8090a9e: 21ca movs r1, #202 ; 0xca 8090aa0: f44f 7082 mov.w r0, #260 ; 0x104 8090aa4: f7c3 fc42 bl 805432c 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; 8090aa8: f001 bc17 b.w 80922da LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8090aac: 4948 ldr r1, [pc, #288] ; (8090bd0 ) 8090aae: 484d ldr r0, [pc, #308] ; (8090be4 ) 8090ab0: f7c2 fe7c bl 80537ac LCD_DisplayStringC(260, LCD_LINE_12, strThr); 8090ab4: f507 73c6 add.w r3, r7, #396 ; 0x18c 8090ab8: 461a mov r2, r3 8090aba: 21ca movs r1, #202 ; 0xca 8090abc: f44f 7082 mov.w r0, #260 ; 0x104 8090ac0: f7c3 fc34 bl 805432c if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 8090ac4: 4b43 ldr r3, [pc, #268] ; (8090bd4 ) 8090ac6: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8090aca: f003 0304 and.w r3, r3, #4 8090ace: 2b00 cmp r3, #0 8090ad0: d104 bne.n 8090adc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8090ad2: 493f ldr r1, [pc, #252] ; (8090bd0 ) 8090ad4: 4841 ldr r0, [pc, #260] ; (8090bdc ) 8090ad6: f7c2 fe69 bl 80537ac 8090ada: e003 b.n 8090ae4 else LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8090adc: 493c ldr r1, [pc, #240] ; (8090bd0 ) 8090ade: 4841 ldr r0, [pc, #260] ; (8090be4 ) 8090ae0: f7c2 fe64 bl 80537ac LCD_DisplayStringC(260, LCD_LINE_10, strMax); 8090ae4: f507 73c0 add.w r3, r7, #384 ; 0x180 8090ae8: 461a mov r2, r3 8090aea: 21aa movs r1, #170 ; 0xaa 8090aec: f44f 7082 mov.w r0, #260 ; 0x104 8090af0: f7c3 fc1c bl 805432c break; 8090af4: f001 bbf1 b.w 80922da case WaveMax_ALL: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8090af8: 4935 ldr r1, [pc, #212] ; (8090bd0 ) 8090afa: f04f 30ff mov.w r0, #4294967295 8090afe: f7c2 fe55 bl 80537ac LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]); //Äàëåå; 8090b02: 4b34 ldr r3, [pc, #208] ; (8090bd4 ) 8090b04: 7b1b ldrb r3, [r3, #12] 8090b06: b2db uxtb r3, r3 8090b08: 461a mov r2, r3 8090b0a: 4b33 ldr r3, [pc, #204] ; (8090bd8 ) 8090b0c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8090b10: 461a mov r2, r3 8090b12: 2127 movs r1, #39 ; 0x27 8090b14: 200a movs r0, #10 8090b16: f7c3 fbf1 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8090b1a: 492d ldr r1, [pc, #180] ; (8090bd0 ) 8090b1c: 482f ldr r0, [pc, #188] ; (8090bdc ) 8090b1e: f7c2 fe45 bl 80537ac LCD_DisplayStringC(260, LCD_LINE_7, str1); 8090b22: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8090b26: 461a mov r2, r3 8090b28: 217a movs r1, #122 ; 0x7a 8090b2a: f44f 7082 mov.w r0, #260 ; 0x104 8090b2e: f7c3 fbfd bl 805432c LCD_DisplayStringC(260, LCD_LINE_8, (char *) pTME[pardata.LANG][pardata.TME]); 8090b32: 4b28 ldr r3, [pc, #160] ; (8090bd4 ) 8090b34: 7b1b ldrb r3, [r3, #12] 8090b36: b2db uxtb r3, r3 8090b38: 461a mov r2, r3 8090b3a: 4b26 ldr r3, [pc, #152] ; (8090bd4 ) 8090b3c: 7b9b ldrb r3, [r3, #14] 8090b3e: b2db uxtb r3, r3 8090b40: 4618 mov r0, r3 8090b42: 4927 ldr r1, [pc, #156] ; (8090be0 ) 8090b44: 4613 mov r3, r2 8090b46: 009b lsls r3, r3, #2 8090b48: 4413 add r3, r2 8090b4a: 005b lsls r3, r3, #1 8090b4c: 4413 add r3, r2 8090b4e: 4403 add r3, r0 8090b50: f851 3023 ldr.w r3, [r1, r3, lsl #2] 8090b54: 461a mov r2, r3 8090b56: 218a movs r1, #138 ; 0x8a 8090b58: f44f 7082 mov.w r0, #260 ; 0x104 8090b5c: f7c3 fbe6 bl 805432c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8090b60: 491b ldr r1, [pc, #108] ; (8090bd0 ) 8090b62: f04f 30ff mov.w r0, #4294967295 8090b66: f7c2 fe21 bl 80537ac BSP_LCD_FillRect(255, CHECKBOX_LINE_9, 10, 10); 8090b6a: 230a movs r3, #10 8090b6c: 220a movs r2, #10 8090b6e: 219d movs r1, #157 ; 0x9d 8090b70: 20ff movs r0, #255 ; 0xff 8090b72: f7c3 faa9 bl 80540c8 BSP_LCD_FillRect(255, CHECKBOX_LINE_11, 10, 10); 8090b76: 230a movs r3, #10 8090b78: 220a movs r2, #10 8090b7a: 21bd movs r1, #189 ; 0xbd 8090b7c: 20ff movs r0, #255 ; 0xff 8090b7e: f7c3 faa3 bl 80540c8 BSP_LCD_FillRect(255, CHECKBOX_LINE_6, 10, 10); 8090b82: 230a movs r3, #10 8090b84: 220a movs r2, #10 8090b86: 216d movs r1, #109 ; 0x6d 8090b88: 20ff movs r0, #255 ; 0xff 8090b8a: f7c3 fa9d bl 80540c8 if(pardata.THR & 0x80) 8090b8e: 4b11 ldr r3, [pc, #68] ; (8090bd4 ) 8090b90: 7bdb ldrb r3, [r3, #15] 8090b92: b2db uxtb r3, r3 8090b94: b25b sxtb r3, r3 8090b96: 2b00 cmp r3, #0 8090b98: da26 bge.n 8090be8 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8090b9a: 490d ldr r1, [pc, #52] ; (8090bd0 ) 8090b9c: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8090ba0: f7c2 fe04 bl 80537ac LCD_DisplayStringC(260, LCD_LINE_10, strMax); 8090ba4: f507 73c0 add.w r3, r7, #384 ; 0x180 8090ba8: 461a mov r2, r3 8090baa: 21aa movs r1, #170 ; 0xaa 8090bac: f44f 7082 mov.w r0, #260 ; 0x104 8090bb0: f7c3 fbbc bl 805432c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8090bb4: 4906 ldr r1, [pc, #24] ; (8090bd0 ) 8090bb6: 4809 ldr r0, [pc, #36] ; (8090bdc ) 8090bb8: f7c2 fdf8 bl 80537ac LCD_DisplayStringC(260, LCD_LINE_12, strThr); 8090bbc: f507 73c6 add.w r3, r7, #396 ; 0x18c 8090bc0: 461a mov r2, r3 8090bc2: 21ca movs r1, #202 ; 0xca 8090bc4: f44f 7082 mov.w r0, #260 ; 0x104 8090bc8: f7c3 fbb0 bl 805432c LCD_DisplayStringC(260, LCD_LINE_12, strThr); LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); LCD_DisplayStringC(260, LCD_LINE_10, strMax); } break; 8090bcc: f001 bb85 b.w 80922da 8090bd0: ff0a0f1f .word 0xff0a0f1f 8090bd4: 20023e60 .word 0x20023e60 8090bd8: 200205c4 .word 0x200205c4 8090bdc: ffd8aa57 .word 0xffd8aa57 8090be0: 20020334 .word 0x20020334 8090be4: ff808080 .word 0xff808080 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8090be8: 49bb ldr r1, [pc, #748] ; (8090ed8 ) 8090bea: 48bc ldr r0, [pc, #752] ; (8090edc ) 8090bec: f7c2 fdde bl 80537ac LCD_DisplayStringC(260, LCD_LINE_12, strThr); 8090bf0: f507 73c6 add.w r3, r7, #396 ; 0x18c 8090bf4: 461a mov r2, r3 8090bf6: 21ca movs r1, #202 ; 0xca 8090bf8: f44f 7082 mov.w r0, #260 ; 0x104 8090bfc: f7c3 fb96 bl 805432c LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8090c00: 49b5 ldr r1, [pc, #724] ; (8090ed8 ) 8090c02: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8090c06: f7c2 fdd1 bl 80537ac LCD_DisplayStringC(260, LCD_LINE_10, strMax); 8090c0a: f507 73c0 add.w r3, r7, #384 ; 0x180 8090c0e: 461a mov r2, r3 8090c10: 21aa movs r1, #170 ; 0xaa 8090c12: f44f 7082 mov.w r0, #260 ; 0x104 8090c16: f7c3 fb89 bl 805432c break; 8090c1a: f001 bb5e b.w 80922da case WaveThr_ALL: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8090c1e: 49ae ldr r1, [pc, #696] ; (8090ed8 ) 8090c20: f04f 30ff mov.w r0, #4294967295 8090c24: f7c2 fdc2 bl 80537ac LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]); //Äàëåå; 8090c28: 4bad ldr r3, [pc, #692] ; (8090ee0 ) 8090c2a: 7b1b ldrb r3, [r3, #12] 8090c2c: b2db uxtb r3, r3 8090c2e: 461a mov r2, r3 8090c30: 4bac ldr r3, [pc, #688] ; (8090ee4 ) 8090c32: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8090c36: 461a mov r2, r3 8090c38: 2127 movs r1, #39 ; 0x27 8090c3a: 200a movs r0, #10 8090c3c: f7c3 fb5e bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8090c40: 49a5 ldr r1, [pc, #660] ; (8090ed8 ) 8090c42: 48a9 ldr r0, [pc, #676] ; (8090ee8 ) 8090c44: f7c2 fdb2 bl 80537ac LCD_DisplayStringC(260, LCD_LINE_7, str1); 8090c48: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8090c4c: 461a mov r2, r3 8090c4e: 217a movs r1, #122 ; 0x7a 8090c50: f44f 7082 mov.w r0, #260 ; 0x104 8090c54: f7c3 fb6a bl 805432c LCD_DisplayStringC(260, LCD_LINE_8, (char *) pTME[pardata.LANG][pardata.TME]); 8090c58: 4ba1 ldr r3, [pc, #644] ; (8090ee0 ) 8090c5a: 7b1b ldrb r3, [r3, #12] 8090c5c: b2db uxtb r3, r3 8090c5e: 461a mov r2, r3 8090c60: 4b9f ldr r3, [pc, #636] ; (8090ee0 ) 8090c62: 7b9b ldrb r3, [r3, #14] 8090c64: b2db uxtb r3, r3 8090c66: 4618 mov r0, r3 8090c68: 49a0 ldr r1, [pc, #640] ; (8090eec ) 8090c6a: 4613 mov r3, r2 8090c6c: 009b lsls r3, r3, #2 8090c6e: 4413 add r3, r2 8090c70: 005b lsls r3, r3, #1 8090c72: 4413 add r3, r2 8090c74: 4403 add r3, r0 8090c76: f851 3023 ldr.w r3, [r1, r3, lsl #2] 8090c7a: 461a mov r2, r3 8090c7c: 218a movs r1, #138 ; 0x8a 8090c7e: f44f 7082 mov.w r0, #260 ; 0x104 8090c82: f7c3 fb53 bl 805432c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8090c86: 4994 ldr r1, [pc, #592] ; (8090ed8 ) 8090c88: f04f 30ff mov.w r0, #4294967295 8090c8c: f7c2 fd8e bl 80537ac BSP_LCD_FillRect(255, CHECKBOX_LINE_9, 10, 10); 8090c90: 230a movs r3, #10 8090c92: 220a movs r2, #10 8090c94: 219d movs r1, #157 ; 0x9d 8090c96: 20ff movs r0, #255 ; 0xff 8090c98: f7c3 fa16 bl 80540c8 BSP_LCD_FillRect(255, CHECKBOX_LINE_11, 10, 10); 8090c9c: 230a movs r3, #10 8090c9e: 220a movs r2, #10 8090ca0: 21bd movs r1, #189 ; 0xbd 8090ca2: 20ff movs r0, #255 ; 0xff 8090ca4: f7c3 fa10 bl 80540c8 BSP_LCD_FillRect(255, CHECKBOX_LINE_6, 10, 10); 8090ca8: 230a movs r3, #10 8090caa: 220a movs r2, #10 8090cac: 216d movs r1, #109 ; 0x6d 8090cae: 20ff movs r0, #255 ; 0xff 8090cb0: f7c3 fa0a bl 80540c8 if(pardata.THR & 0x80) 8090cb4: 4b8a ldr r3, [pc, #552] ; (8090ee0 ) 8090cb6: 7bdb ldrb r3, [r3, #15] 8090cb8: b2db uxtb r3, r3 8090cba: b25b sxtb r3, r3 8090cbc: 2b00 cmp r3, #0 8090cbe: da1a bge.n 8090cf6 { LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8090cc0: 4985 ldr r1, [pc, #532] ; (8090ed8 ) 8090cc2: 4889 ldr r0, [pc, #548] ; (8090ee8 ) 8090cc4: f7c2 fd72 bl 80537ac LCD_DisplayStringC(260, LCD_LINE_10, strMax); 8090cc8: f507 73c0 add.w r3, r7, #384 ; 0x180 8090ccc: 461a mov r2, r3 8090cce: 21aa movs r1, #170 ; 0xaa 8090cd0: f44f 7082 mov.w r0, #260 ; 0x104 8090cd4: f7c3 fb2a bl 805432c LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8090cd8: 497f ldr r1, [pc, #508] ; (8090ed8 ) 8090cda: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8090cde: f7c2 fd65 bl 80537ac LCD_DisplayStringC(260, LCD_LINE_12, strThr); 8090ce2: f507 73c6 add.w r3, r7, #396 ; 0x18c 8090ce6: 461a mov r2, r3 8090ce8: 21ca movs r1, #202 ; 0xca 8090cea: f44f 7082 mov.w r0, #260 ; 0x104 8090cee: f7c3 fb1d bl 805432c 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; 8090cf2: f001 baf2 b.w 80922da LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8090cf6: 4978 ldr r1, [pc, #480] ; (8090ed8 ) 8090cf8: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8090cfc: f7c2 fd56 bl 80537ac LCD_DisplayStringC(260, LCD_LINE_12, strThr); 8090d00: f507 73c6 add.w r3, r7, #396 ; 0x18c 8090d04: 461a mov r2, r3 8090d06: 21ca movs r1, #202 ; 0xca 8090d08: f44f 7082 mov.w r0, #260 ; 0x104 8090d0c: f7c3 fb0e bl 805432c if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 8090d10: 4b73 ldr r3, [pc, #460] ; (8090ee0 ) 8090d12: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8090d16: f003 0304 and.w r3, r3, #4 8090d1a: 2b00 cmp r3, #0 8090d1c: d104 bne.n 8090d28 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8090d1e: 496e ldr r1, [pc, #440] ; (8090ed8 ) 8090d20: 4871 ldr r0, [pc, #452] ; (8090ee8 ) 8090d22: f7c2 fd43 bl 80537ac 8090d26: e003 b.n 8090d30 else LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8090d28: 496b ldr r1, [pc, #428] ; (8090ed8 ) 8090d2a: 486c ldr r0, [pc, #432] ; (8090edc ) 8090d2c: f7c2 fd3e bl 80537ac LCD_DisplayStringC(260, LCD_LINE_10, strMax); 8090d30: f507 73c0 add.w r3, r7, #384 ; 0x180 8090d34: 461a mov r2, r3 8090d36: 21aa movs r1, #170 ; 0xaa 8090d38: f44f 7082 mov.w r0, #260 ; 0x104 8090d3c: f7c3 faf6 bl 805432c break; 8090d40: f001 bacb b.w 80922da case WaveMax_IDT: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8090d44: 4964 ldr r1, [pc, #400] ; (8090ed8 ) 8090d46: f04f 30ff mov.w r0, #4294967295 8090d4a: f7c2 fd2f bl 80537ac LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]); //Äàëåå; 8090d4e: 4b64 ldr r3, [pc, #400] ; (8090ee0 ) 8090d50: 7b1b ldrb r3, [r3, #12] 8090d52: b2db uxtb r3, r3 8090d54: 461a mov r2, r3 8090d56: 4b63 ldr r3, [pc, #396] ; (8090ee4 ) 8090d58: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8090d5c: 461a mov r2, r3 8090d5e: 2127 movs r1, #39 ; 0x27 8090d60: 200a movs r0, #10 8090d62: f7c3 facb bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8090d66: 495c ldr r1, [pc, #368] ; (8090ed8 ) 8090d68: 485f ldr r0, [pc, #380] ; (8090ee8 ) 8090d6a: f7c2 fd1f bl 80537ac LCD_DisplayStringC(260, LCD_LINE_7, str1); 8090d6e: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8090d72: 461a mov r2, r3 8090d74: 217a movs r1, #122 ; 0x7a 8090d76: f44f 7082 mov.w r0, #260 ; 0x104 8090d7a: f7c3 fad7 bl 805432c LCD_DisplayStringC(260, LCD_LINE_8, (char *) pTME[pardata.LANG][pardata.TME]); 8090d7e: 4b58 ldr r3, [pc, #352] ; (8090ee0 ) 8090d80: 7b1b ldrb r3, [r3, #12] 8090d82: b2db uxtb r3, r3 8090d84: 461a mov r2, r3 8090d86: 4b56 ldr r3, [pc, #344] ; (8090ee0 ) 8090d88: 7b9b ldrb r3, [r3, #14] 8090d8a: b2db uxtb r3, r3 8090d8c: 4618 mov r0, r3 8090d8e: 4957 ldr r1, [pc, #348] ; (8090eec ) 8090d90: 4613 mov r3, r2 8090d92: 009b lsls r3, r3, #2 8090d94: 4413 add r3, r2 8090d96: 005b lsls r3, r3, #1 8090d98: 4413 add r3, r2 8090d9a: 4403 add r3, r0 8090d9c: f851 3023 ldr.w r3, [r1, r3, lsl #2] 8090da0: 461a mov r2, r3 8090da2: 218a movs r1, #138 ; 0x8a 8090da4: f44f 7082 mov.w r0, #260 ; 0x104 8090da8: f7c3 fac0 bl 805432c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8090dac: 494a ldr r1, [pc, #296] ; (8090ed8 ) 8090dae: f04f 30ff mov.w r0, #4294967295 8090db2: f7c2 fcfb bl 80537ac BSP_LCD_FillRect(255, CHECKBOX_LINE_9, 10, 10); 8090db6: 230a movs r3, #10 8090db8: 220a movs r2, #10 8090dba: 219d movs r1, #157 ; 0x9d 8090dbc: 20ff movs r0, #255 ; 0xff 8090dbe: f7c3 f983 bl 80540c8 BSP_LCD_FillRect(255, CHECKBOX_LINE_11, 10, 10); 8090dc2: 230a movs r3, #10 8090dc4: 220a movs r2, #10 8090dc6: 21bd movs r1, #189 ; 0xbd 8090dc8: 20ff movs r0, #255 ; 0xff 8090dca: f7c3 f97d bl 80540c8 BSP_LCD_FillRect(255, CHECKBOX_LINE_6, 10, 10); 8090dce: 230a movs r3, #10 8090dd0: 220a movs r2, #10 8090dd2: 216d movs r1, #109 ; 0x6d 8090dd4: 20ff movs r0, #255 ; 0xff 8090dd6: f7c3 f977 bl 80540c8 if(pardata.THR & 0x80) 8090dda: 4b41 ldr r3, [pc, #260] ; (8090ee0 ) 8090ddc: 7bdb ldrb r3, [r3, #15] 8090dde: b2db uxtb r3, r3 8090de0: b25b sxtb r3, r3 8090de2: 2b00 cmp r3, #0 8090de4: da0c bge.n 8090e00 { LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8090de6: 493c ldr r1, [pc, #240] ; (8090ed8 ) 8090de8: 483f ldr r0, [pc, #252] ; (8090ee8 ) 8090dea: f7c2 fcdf bl 80537ac LCD_DisplayStringC(260, LCD_LINE_12, strThr); 8090dee: f507 73c6 add.w r3, r7, #396 ; 0x18c 8090df2: 461a mov r2, r3 8090df4: 21ca movs r1, #202 ; 0xca 8090df6: f44f 7082 mov.w r0, #260 ; 0x104 8090dfa: f7c3 fa97 bl 805432c 8090dfe: e00b b.n 8090e18 } else { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8090e00: 4935 ldr r1, [pc, #212] ; (8090ed8 ) 8090e02: 4836 ldr r0, [pc, #216] ; (8090edc ) 8090e04: f7c2 fcd2 bl 80537ac LCD_DisplayStringC(260, LCD_LINE_12, strThr); 8090e08: f507 73c6 add.w r3, r7, #396 ; 0x18c 8090e0c: 461a mov r2, r3 8090e0e: 21ca movs r1, #202 ; 0xca 8090e10: f44f 7082 mov.w r0, #260 ; 0x104 8090e14: f7c3 fa8a bl 805432c } LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8090e18: 492f ldr r1, [pc, #188] ; (8090ed8 ) 8090e1a: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8090e1e: f7c2 fcc5 bl 80537ac if(blk) 8090e22: 4b33 ldr r3, [pc, #204] ; (8090ef0 ) 8090e24: 681b ldr r3, [r3, #0] 8090e26: 2b00 cmp r3, #0 8090e28: d00b beq.n 8090e42 LCD_DisplayString(198, LCD_LINE_10, (char *) pNUMS[idt2]); 8090e2a: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 8090e2e: b2db uxtb r3, r3 8090e30: 461a mov r2, r3 8090e32: 4b30 ldr r3, [pc, #192] ; (8090ef4 ) 8090e34: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8090e38: 461a mov r2, r3 8090e3a: 21aa movs r1, #170 ; 0xaa 8090e3c: 20c6 movs r0, #198 ; 0xc6 8090e3e: f7c3 fa5d bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8090e42: 4925 ldr r1, [pc, #148] ; (8090ed8 ) 8090e44: 4828 ldr r0, [pc, #160] ; (8090ee8 ) 8090e46: f7c2 fcb1 bl 80537ac LCD_DisplayString(214, LCD_LINE_10, (char *) pNUMS[iet2]); 8090e4a: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 8090e4e: b2db uxtb r3, r3 8090e50: 461a mov r2, r3 8090e52: 4b28 ldr r3, [pc, #160] ; (8090ef4 ) 8090e54: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8090e58: 461a mov r2, r3 8090e5a: 21aa movs r1, #170 ; 0xaa 8090e5c: 20d6 movs r0, #214 ; 0xd6 8090e5e: f7c3 fa4d bl 80542fc LCD_DisplayString(230, LCD_LINE_10, (char *) pNUMS[ies2]); 8090e62: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 8090e66: b2db uxtb r3, r3 8090e68: 461a mov r2, r3 8090e6a: 4b22 ldr r3, [pc, #136] ; (8090ef4 ) 8090e6c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8090e70: 461a mov r2, r3 8090e72: 21aa movs r1, #170 ; 0xaa 8090e74: 20e6 movs r0, #230 ; 0xe6 8090e76: f7c3 fa41 bl 80542fc LCD_DisplayString(246, LCD_LINE_10, (char *) pNUMS[ied2]); 8090e7a: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 8090e7e: b2db uxtb r3, r3 8090e80: 461a mov r2, r3 8090e82: 4b1c ldr r3, [pc, #112] ; (8090ef4 ) 8090e84: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8090e88: 461a mov r2, r3 8090e8a: 21aa movs r1, #170 ; 0xaa 8090e8c: 20f6 movs r0, #246 ; 0xf6 8090e8e: f7c3 fa35 bl 80542fc LCD_DisplayString(262, LCD_LINE_10, (char *) pNUMS[iee2]); 8090e92: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 8090e96: b2db uxtb r3, r3 8090e98: 461a mov r2, r3 8090e9a: 4b16 ldr r3, [pc, #88] ; (8090ef4 ) 8090e9c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8090ea0: 461a mov r2, r3 8090ea2: 21aa movs r1, #170 ; 0xaa 8090ea4: f44f 7083 mov.w r0, #262 ; 0x106 8090ea8: f7c3 fa28 bl 80542fc LCD_DisplayString(278, LCD_LINE_10, "."); 8090eac: 4a12 ldr r2, [pc, #72] ; (8090ef8 ) 8090eae: 21aa movs r1, #170 ; 0xaa 8090eb0: f44f 708b mov.w r0, #278 ; 0x116 8090eb4: f7c3 fa22 bl 80542fc LCD_DisplayString(294, LCD_LINE_10, (char *) pNUMS[ikd2]); 8090eb8: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 8090ebc: b2db uxtb r3, r3 8090ebe: 461a mov r2, r3 8090ec0: 4b0c ldr r3, [pc, #48] ; (8090ef4 ) 8090ec2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8090ec6: 461a mov r2, r3 8090ec8: 21aa movs r1, #170 ; 0xaa 8090eca: f44f 7093 mov.w r0, #294 ; 0x126 8090ece: f7c3 fa15 bl 80542fc break; 8090ed2: f001 ba02 b.w 80922da 8090ed6: bf00 nop 8090ed8: ff0a0f1f .word 0xff0a0f1f 8090edc: ff808080 .word 0xff808080 8090ee0: 20023e60 .word 0x20023e60 8090ee4: 200205c4 .word 0x200205c4 8090ee8: ffd8aa57 .word 0xffd8aa57 8090eec: 20020334 .word 0x20020334 8090ef0: 2002165c .word 0x2002165c 8090ef4: 20020964 .word 0x20020964 8090ef8: 080cf7e8 .word 0x080cf7e8 case WaveMax_IET: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8090efc: 49c8 ldr r1, [pc, #800] ; (8091220 ) 8090efe: f04f 30ff mov.w r0, #4294967295 8090f02: f7c2 fc53 bl 80537ac LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]); //Äàëåå; 8090f06: 4bc7 ldr r3, [pc, #796] ; (8091224 ) 8090f08: 7b1b ldrb r3, [r3, #12] 8090f0a: b2db uxtb r3, r3 8090f0c: 461a mov r2, r3 8090f0e: 4bc6 ldr r3, [pc, #792] ; (8091228 ) 8090f10: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8090f14: 461a mov r2, r3 8090f16: 2127 movs r1, #39 ; 0x27 8090f18: 200a movs r0, #10 8090f1a: f7c3 f9ef bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8090f1e: 49c0 ldr r1, [pc, #768] ; (8091220 ) 8090f20: 48c2 ldr r0, [pc, #776] ; (809122c ) 8090f22: f7c2 fc43 bl 80537ac LCD_DisplayStringC(260, LCD_LINE_7, str1); 8090f26: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8090f2a: 461a mov r2, r3 8090f2c: 217a movs r1, #122 ; 0x7a 8090f2e: f44f 7082 mov.w r0, #260 ; 0x104 8090f32: f7c3 f9fb bl 805432c LCD_DisplayStringC(260, LCD_LINE_8, (char *) pTME[pardata.LANG][pardata.TME]); 8090f36: 4bbb ldr r3, [pc, #748] ; (8091224 ) 8090f38: 7b1b ldrb r3, [r3, #12] 8090f3a: b2db uxtb r3, r3 8090f3c: 461a mov r2, r3 8090f3e: 4bb9 ldr r3, [pc, #740] ; (8091224 ) 8090f40: 7b9b ldrb r3, [r3, #14] 8090f42: b2db uxtb r3, r3 8090f44: 4618 mov r0, r3 8090f46: 49ba ldr r1, [pc, #744] ; (8091230 ) 8090f48: 4613 mov r3, r2 8090f4a: 009b lsls r3, r3, #2 8090f4c: 4413 add r3, r2 8090f4e: 005b lsls r3, r3, #1 8090f50: 4413 add r3, r2 8090f52: 4403 add r3, r0 8090f54: f851 3023 ldr.w r3, [r1, r3, lsl #2] 8090f58: 461a mov r2, r3 8090f5a: 218a movs r1, #138 ; 0x8a 8090f5c: f44f 7082 mov.w r0, #260 ; 0x104 8090f60: f7c3 f9e4 bl 805432c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8090f64: 49ae ldr r1, [pc, #696] ; (8091220 ) 8090f66: f04f 30ff mov.w r0, #4294967295 8090f6a: f7c2 fc1f bl 80537ac BSP_LCD_FillRect(255, CHECKBOX_LINE_9, 10, 10); 8090f6e: 230a movs r3, #10 8090f70: 220a movs r2, #10 8090f72: 219d movs r1, #157 ; 0x9d 8090f74: 20ff movs r0, #255 ; 0xff 8090f76: f7c3 f8a7 bl 80540c8 BSP_LCD_FillRect(255, CHECKBOX_LINE_11, 10, 10); 8090f7a: 230a movs r3, #10 8090f7c: 220a movs r2, #10 8090f7e: 21bd movs r1, #189 ; 0xbd 8090f80: 20ff movs r0, #255 ; 0xff 8090f82: f7c3 f8a1 bl 80540c8 BSP_LCD_FillRect(255, CHECKBOX_LINE_6, 10, 10); 8090f86: 230a movs r3, #10 8090f88: 220a movs r2, #10 8090f8a: 216d movs r1, #109 ; 0x6d 8090f8c: 20ff movs r0, #255 ; 0xff 8090f8e: f7c3 f89b bl 80540c8 if(pardata.THR & 0x80) 8090f92: 4ba4 ldr r3, [pc, #656] ; (8091224 ) 8090f94: 7bdb ldrb r3, [r3, #15] 8090f96: b2db uxtb r3, r3 8090f98: b25b sxtb r3, r3 8090f9a: 2b00 cmp r3, #0 8090f9c: da0c bge.n 8090fb8 { LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8090f9e: 49a0 ldr r1, [pc, #640] ; (8091220 ) 8090fa0: 48a2 ldr r0, [pc, #648] ; (809122c ) 8090fa2: f7c2 fc03 bl 80537ac LCD_DisplayStringC(260, LCD_LINE_12, strThr); 8090fa6: f507 73c6 add.w r3, r7, #396 ; 0x18c 8090faa: 461a mov r2, r3 8090fac: 21ca movs r1, #202 ; 0xca 8090fae: f44f 7082 mov.w r0, #260 ; 0x104 8090fb2: f7c3 f9bb bl 805432c 8090fb6: e00b b.n 8090fd0 } else { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8090fb8: 4999 ldr r1, [pc, #612] ; (8091220 ) 8090fba: 489e ldr r0, [pc, #632] ; (8091234 ) 8090fbc: f7c2 fbf6 bl 80537ac LCD_DisplayStringC(260, LCD_LINE_12, strThr); 8090fc0: f507 73c6 add.w r3, r7, #396 ; 0x18c 8090fc4: 461a mov r2, r3 8090fc6: 21ca movs r1, #202 ; 0xca 8090fc8: f44f 7082 mov.w r0, #260 ; 0x104 8090fcc: f7c3 f9ae bl 805432c } LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8090fd0: 4993 ldr r1, [pc, #588] ; (8091220 ) 8090fd2: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8090fd6: f7c2 fbe9 bl 80537ac if(blk) 8090fda: 4b97 ldr r3, [pc, #604] ; (8091238 ) 8090fdc: 681b ldr r3, [r3, #0] 8090fde: 2b00 cmp r3, #0 8090fe0: d00b beq.n 8090ffa LCD_DisplayString(214, LCD_LINE_10, (char *) pNUMS[iet2]); 8090fe2: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 8090fe6: b2db uxtb r3, r3 8090fe8: 461a mov r2, r3 8090fea: 4b94 ldr r3, [pc, #592] ; (809123c ) 8090fec: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8090ff0: 461a mov r2, r3 8090ff2: 21aa movs r1, #170 ; 0xaa 8090ff4: 20d6 movs r0, #214 ; 0xd6 8090ff6: f7c3 f981 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8090ffa: 4989 ldr r1, [pc, #548] ; (8091220 ) 8090ffc: 488b ldr r0, [pc, #556] ; (809122c ) 8090ffe: f7c2 fbd5 bl 80537ac LCD_DisplayString(198, LCD_LINE_10, (char *) pNUMS[idt2]); 8091002: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 8091006: b2db uxtb r3, r3 8091008: 461a mov r2, r3 809100a: 4b8c ldr r3, [pc, #560] ; (809123c ) 809100c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8091010: 461a mov r2, r3 8091012: 21aa movs r1, #170 ; 0xaa 8091014: 20c6 movs r0, #198 ; 0xc6 8091016: f7c3 f971 bl 80542fc LCD_DisplayString(230, LCD_LINE_10, (char *) pNUMS[ies2]); 809101a: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 809101e: b2db uxtb r3, r3 8091020: 461a mov r2, r3 8091022: 4b86 ldr r3, [pc, #536] ; (809123c ) 8091024: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8091028: 461a mov r2, r3 809102a: 21aa movs r1, #170 ; 0xaa 809102c: 20e6 movs r0, #230 ; 0xe6 809102e: f7c3 f965 bl 80542fc LCD_DisplayString(246, LCD_LINE_10, (char *) pNUMS[ied2]); 8091032: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 8091036: b2db uxtb r3, r3 8091038: 461a mov r2, r3 809103a: 4b80 ldr r3, [pc, #512] ; (809123c ) 809103c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8091040: 461a mov r2, r3 8091042: 21aa movs r1, #170 ; 0xaa 8091044: 20f6 movs r0, #246 ; 0xf6 8091046: f7c3 f959 bl 80542fc LCD_DisplayString(262, LCD_LINE_10, (char *) pNUMS[iee2]); 809104a: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 809104e: b2db uxtb r3, r3 8091050: 461a mov r2, r3 8091052: 4b7a ldr r3, [pc, #488] ; (809123c ) 8091054: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8091058: 461a mov r2, r3 809105a: 21aa movs r1, #170 ; 0xaa 809105c: f44f 7083 mov.w r0, #262 ; 0x106 8091060: f7c3 f94c bl 80542fc LCD_DisplayString(278, LCD_LINE_10, "."); 8091064: 4a76 ldr r2, [pc, #472] ; (8091240 ) 8091066: 21aa movs r1, #170 ; 0xaa 8091068: f44f 708b mov.w r0, #278 ; 0x116 809106c: f7c3 f946 bl 80542fc LCD_DisplayString(294, LCD_LINE_10, (char *) pNUMS[ikd2]); 8091070: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 8091074: b2db uxtb r3, r3 8091076: 461a mov r2, r3 8091078: 4b70 ldr r3, [pc, #448] ; (809123c ) 809107a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809107e: 461a mov r2, r3 8091080: 21aa movs r1, #170 ; 0xaa 8091082: f44f 7093 mov.w r0, #294 ; 0x126 8091086: f7c3 f939 bl 80542fc break; 809108a: f001 b926 b.w 80922da case WaveMax_IES: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 809108e: 4964 ldr r1, [pc, #400] ; (8091220 ) 8091090: f04f 30ff mov.w r0, #4294967295 8091094: f7c2 fb8a bl 80537ac LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]); //Äàëåå; 8091098: 4b62 ldr r3, [pc, #392] ; (8091224 ) 809109a: 7b1b ldrb r3, [r3, #12] 809109c: b2db uxtb r3, r3 809109e: 461a mov r2, r3 80910a0: 4b61 ldr r3, [pc, #388] ; (8091228 ) 80910a2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80910a6: 461a mov r2, r3 80910a8: 2127 movs r1, #39 ; 0x27 80910aa: 200a movs r0, #10 80910ac: f7c3 f926 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80910b0: 495b ldr r1, [pc, #364] ; (8091220 ) 80910b2: 485e ldr r0, [pc, #376] ; (809122c ) 80910b4: f7c2 fb7a bl 80537ac LCD_DisplayStringC(260, LCD_LINE_7, str1); 80910b8: f507 73f6 add.w r3, r7, #492 ; 0x1ec 80910bc: 461a mov r2, r3 80910be: 217a movs r1, #122 ; 0x7a 80910c0: f44f 7082 mov.w r0, #260 ; 0x104 80910c4: f7c3 f932 bl 805432c LCD_DisplayStringC(260, LCD_LINE_8, (char *) pTME[pardata.LANG][pardata.TME]); 80910c8: 4b56 ldr r3, [pc, #344] ; (8091224 ) 80910ca: 7b1b ldrb r3, [r3, #12] 80910cc: b2db uxtb r3, r3 80910ce: 461a mov r2, r3 80910d0: 4b54 ldr r3, [pc, #336] ; (8091224 ) 80910d2: 7b9b ldrb r3, [r3, #14] 80910d4: b2db uxtb r3, r3 80910d6: 4618 mov r0, r3 80910d8: 4955 ldr r1, [pc, #340] ; (8091230 ) 80910da: 4613 mov r3, r2 80910dc: 009b lsls r3, r3, #2 80910de: 4413 add r3, r2 80910e0: 005b lsls r3, r3, #1 80910e2: 4413 add r3, r2 80910e4: 4403 add r3, r0 80910e6: f851 3023 ldr.w r3, [r1, r3, lsl #2] 80910ea: 461a mov r2, r3 80910ec: 218a movs r1, #138 ; 0x8a 80910ee: f44f 7082 mov.w r0, #260 ; 0x104 80910f2: f7c3 f91b bl 805432c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80910f6: 494a ldr r1, [pc, #296] ; (8091220 ) 80910f8: f04f 30ff mov.w r0, #4294967295 80910fc: f7c2 fb56 bl 80537ac BSP_LCD_FillRect(255, CHECKBOX_LINE_9, 10, 10); 8091100: 230a movs r3, #10 8091102: 220a movs r2, #10 8091104: 219d movs r1, #157 ; 0x9d 8091106: 20ff movs r0, #255 ; 0xff 8091108: f7c2 ffde bl 80540c8 BSP_LCD_FillRect(255, CHECKBOX_LINE_11, 10, 10); 809110c: 230a movs r3, #10 809110e: 220a movs r2, #10 8091110: 21bd movs r1, #189 ; 0xbd 8091112: 20ff movs r0, #255 ; 0xff 8091114: f7c2 ffd8 bl 80540c8 BSP_LCD_FillRect(255, CHECKBOX_LINE_6, 10, 10); 8091118: 230a movs r3, #10 809111a: 220a movs r2, #10 809111c: 216d movs r1, #109 ; 0x6d 809111e: 20ff movs r0, #255 ; 0xff 8091120: f7c2 ffd2 bl 80540c8 if(pardata.THR & 0x80) 8091124: 4b3f ldr r3, [pc, #252] ; (8091224 ) 8091126: 7bdb ldrb r3, [r3, #15] 8091128: b2db uxtb r3, r3 809112a: b25b sxtb r3, r3 809112c: 2b00 cmp r3, #0 809112e: da0c bge.n 809114a { LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8091130: 493b ldr r1, [pc, #236] ; (8091220 ) 8091132: 483e ldr r0, [pc, #248] ; (809122c ) 8091134: f7c2 fb3a bl 80537ac LCD_DisplayStringC(260, LCD_LINE_12, strThr); 8091138: f507 73c6 add.w r3, r7, #396 ; 0x18c 809113c: 461a mov r2, r3 809113e: 21ca movs r1, #202 ; 0xca 8091140: f44f 7082 mov.w r0, #260 ; 0x104 8091144: f7c3 f8f2 bl 805432c 8091148: e00b b.n 8091162 } else { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 809114a: 4935 ldr r1, [pc, #212] ; (8091220 ) 809114c: 4839 ldr r0, [pc, #228] ; (8091234 ) 809114e: f7c2 fb2d bl 80537ac LCD_DisplayStringC(260, LCD_LINE_12, strThr); 8091152: f507 73c6 add.w r3, r7, #396 ; 0x18c 8091156: 461a mov r2, r3 8091158: 21ca movs r1, #202 ; 0xca 809115a: f44f 7082 mov.w r0, #260 ; 0x104 809115e: f7c3 f8e5 bl 805432c } LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8091162: 492f ldr r1, [pc, #188] ; (8091220 ) 8091164: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8091168: f7c2 fb20 bl 80537ac if(blk) 809116c: 4b32 ldr r3, [pc, #200] ; (8091238 ) 809116e: 681b ldr r3, [r3, #0] 8091170: 2b00 cmp r3, #0 8091172: d00b beq.n 809118c LCD_DisplayString(230, LCD_LINE_10, (char *) pNUMS[ies2]); 8091174: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 8091178: b2db uxtb r3, r3 809117a: 461a mov r2, r3 809117c: 4b2f ldr r3, [pc, #188] ; (809123c ) 809117e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8091182: 461a mov r2, r3 8091184: 21aa movs r1, #170 ; 0xaa 8091186: 20e6 movs r0, #230 ; 0xe6 8091188: f7c3 f8b8 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 809118c: 4924 ldr r1, [pc, #144] ; (8091220 ) 809118e: 4827 ldr r0, [pc, #156] ; (809122c ) 8091190: f7c2 fb0c bl 80537ac LCD_DisplayString(198, LCD_LINE_10, (char *) pNUMS[idt2]); 8091194: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 8091198: b2db uxtb r3, r3 809119a: 461a mov r2, r3 809119c: 4b27 ldr r3, [pc, #156] ; (809123c ) 809119e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80911a2: 461a mov r2, r3 80911a4: 21aa movs r1, #170 ; 0xaa 80911a6: 20c6 movs r0, #198 ; 0xc6 80911a8: f7c3 f8a8 bl 80542fc LCD_DisplayString(214, LCD_LINE_10, (char *) pNUMS[iet2]); 80911ac: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 80911b0: b2db uxtb r3, r3 80911b2: 461a mov r2, r3 80911b4: 4b21 ldr r3, [pc, #132] ; (809123c ) 80911b6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80911ba: 461a mov r2, r3 80911bc: 21aa movs r1, #170 ; 0xaa 80911be: 20d6 movs r0, #214 ; 0xd6 80911c0: f7c3 f89c bl 80542fc LCD_DisplayString(246, LCD_LINE_10, (char *) pNUMS[ied2]); 80911c4: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 80911c8: b2db uxtb r3, r3 80911ca: 461a mov r2, r3 80911cc: 4b1b ldr r3, [pc, #108] ; (809123c ) 80911ce: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80911d2: 461a mov r2, r3 80911d4: 21aa movs r1, #170 ; 0xaa 80911d6: 20f6 movs r0, #246 ; 0xf6 80911d8: f7c3 f890 bl 80542fc LCD_DisplayString(262, LCD_LINE_10, (char *) pNUMS[iee2]); 80911dc: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 80911e0: b2db uxtb r3, r3 80911e2: 461a mov r2, r3 80911e4: 4b15 ldr r3, [pc, #84] ; (809123c ) 80911e6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80911ea: 461a mov r2, r3 80911ec: 21aa movs r1, #170 ; 0xaa 80911ee: f44f 7083 mov.w r0, #262 ; 0x106 80911f2: f7c3 f883 bl 80542fc LCD_DisplayString(278, LCD_LINE_10, "."); 80911f6: 4a12 ldr r2, [pc, #72] ; (8091240 ) 80911f8: 21aa movs r1, #170 ; 0xaa 80911fa: f44f 708b mov.w r0, #278 ; 0x116 80911fe: f7c3 f87d bl 80542fc LCD_DisplayString(294, LCD_LINE_10, (char *) pNUMS[ikd2]); 8091202: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 8091206: b2db uxtb r3, r3 8091208: 461a mov r2, r3 809120a: 4b0c ldr r3, [pc, #48] ; (809123c ) 809120c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8091210: 461a mov r2, r3 8091212: 21aa movs r1, #170 ; 0xaa 8091214: f44f 7093 mov.w r0, #294 ; 0x126 8091218: f7c3 f870 bl 80542fc break; 809121c: f001 b85d b.w 80922da 8091220: ff0a0f1f .word 0xff0a0f1f 8091224: 20023e60 .word 0x20023e60 8091228: 200205c4 .word 0x200205c4 809122c: ffd8aa57 .word 0xffd8aa57 8091230: 20020334 .word 0x20020334 8091234: ff808080 .word 0xff808080 8091238: 2002165c .word 0x2002165c 809123c: 20020964 .word 0x20020964 8091240: 080cf7e8 .word 0x080cf7e8 case WaveMax_IED: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8091244: 49c8 ldr r1, [pc, #800] ; (8091568 ) 8091246: f04f 30ff mov.w r0, #4294967295 809124a: f7c2 faaf bl 80537ac LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]); //Äàëåå; 809124e: 4bc7 ldr r3, [pc, #796] ; (809156c ) 8091250: 7b1b ldrb r3, [r3, #12] 8091252: b2db uxtb r3, r3 8091254: 461a mov r2, r3 8091256: 4bc6 ldr r3, [pc, #792] ; (8091570 ) 8091258: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809125c: 461a mov r2, r3 809125e: 2127 movs r1, #39 ; 0x27 8091260: 200a movs r0, #10 8091262: f7c3 f84b bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8091266: 49c0 ldr r1, [pc, #768] ; (8091568 ) 8091268: 48c2 ldr r0, [pc, #776] ; (8091574 ) 809126a: f7c2 fa9f bl 80537ac LCD_DisplayStringC(260, LCD_LINE_7, str1); 809126e: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8091272: 461a mov r2, r3 8091274: 217a movs r1, #122 ; 0x7a 8091276: f44f 7082 mov.w r0, #260 ; 0x104 809127a: f7c3 f857 bl 805432c LCD_DisplayStringC(260, LCD_LINE_8, (char *) pTME[pardata.LANG][pardata.TME]); 809127e: 4bbb ldr r3, [pc, #748] ; (809156c ) 8091280: 7b1b ldrb r3, [r3, #12] 8091282: b2db uxtb r3, r3 8091284: 461a mov r2, r3 8091286: 4bb9 ldr r3, [pc, #740] ; (809156c ) 8091288: 7b9b ldrb r3, [r3, #14] 809128a: b2db uxtb r3, r3 809128c: 4618 mov r0, r3 809128e: 49ba ldr r1, [pc, #744] ; (8091578 ) 8091290: 4613 mov r3, r2 8091292: 009b lsls r3, r3, #2 8091294: 4413 add r3, r2 8091296: 005b lsls r3, r3, #1 8091298: 4413 add r3, r2 809129a: 4403 add r3, r0 809129c: f851 3023 ldr.w r3, [r1, r3, lsl #2] 80912a0: 461a mov r2, r3 80912a2: 218a movs r1, #138 ; 0x8a 80912a4: f44f 7082 mov.w r0, #260 ; 0x104 80912a8: f7c3 f840 bl 805432c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80912ac: 49ae ldr r1, [pc, #696] ; (8091568 ) 80912ae: f04f 30ff mov.w r0, #4294967295 80912b2: f7c2 fa7b bl 80537ac BSP_LCD_FillRect(255, CHECKBOX_LINE_9, 10, 10); 80912b6: 230a movs r3, #10 80912b8: 220a movs r2, #10 80912ba: 219d movs r1, #157 ; 0x9d 80912bc: 20ff movs r0, #255 ; 0xff 80912be: f7c2 ff03 bl 80540c8 BSP_LCD_FillRect(255, CHECKBOX_LINE_11, 10, 10); 80912c2: 230a movs r3, #10 80912c4: 220a movs r2, #10 80912c6: 21bd movs r1, #189 ; 0xbd 80912c8: 20ff movs r0, #255 ; 0xff 80912ca: f7c2 fefd bl 80540c8 BSP_LCD_FillRect(255, CHECKBOX_LINE_6, 10, 10); 80912ce: 230a movs r3, #10 80912d0: 220a movs r2, #10 80912d2: 216d movs r1, #109 ; 0x6d 80912d4: 20ff movs r0, #255 ; 0xff 80912d6: f7c2 fef7 bl 80540c8 if(pardata.THR & 0x80) 80912da: 4ba4 ldr r3, [pc, #656] ; (809156c ) 80912dc: 7bdb ldrb r3, [r3, #15] 80912de: b2db uxtb r3, r3 80912e0: b25b sxtb r3, r3 80912e2: 2b00 cmp r3, #0 80912e4: da0c bge.n 8091300 { LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80912e6: 49a0 ldr r1, [pc, #640] ; (8091568 ) 80912e8: 48a2 ldr r0, [pc, #648] ; (8091574 ) 80912ea: f7c2 fa5f bl 80537ac LCD_DisplayStringC(260, LCD_LINE_12, strThr); 80912ee: f507 73c6 add.w r3, r7, #396 ; 0x18c 80912f2: 461a mov r2, r3 80912f4: 21ca movs r1, #202 ; 0xca 80912f6: f44f 7082 mov.w r0, #260 ; 0x104 80912fa: f7c3 f817 bl 805432c 80912fe: e00b b.n 8091318 } else { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8091300: 4999 ldr r1, [pc, #612] ; (8091568 ) 8091302: 489e ldr r0, [pc, #632] ; (809157c ) 8091304: f7c2 fa52 bl 80537ac LCD_DisplayStringC(260, LCD_LINE_12, strThr); 8091308: f507 73c6 add.w r3, r7, #396 ; 0x18c 809130c: 461a mov r2, r3 809130e: 21ca movs r1, #202 ; 0xca 8091310: f44f 7082 mov.w r0, #260 ; 0x104 8091314: f7c3 f80a bl 805432c } LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8091318: 4993 ldr r1, [pc, #588] ; (8091568 ) 809131a: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 809131e: f7c2 fa45 bl 80537ac if(blk) 8091322: 4b97 ldr r3, [pc, #604] ; (8091580 ) 8091324: 681b ldr r3, [r3, #0] 8091326: 2b00 cmp r3, #0 8091328: d00b beq.n 8091342 LCD_DisplayString(246, LCD_LINE_10, (char *) pNUMS[ied2]); 809132a: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 809132e: b2db uxtb r3, r3 8091330: 461a mov r2, r3 8091332: 4b94 ldr r3, [pc, #592] ; (8091584 ) 8091334: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8091338: 461a mov r2, r3 809133a: 21aa movs r1, #170 ; 0xaa 809133c: 20f6 movs r0, #246 ; 0xf6 809133e: f7c2 ffdd bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8091342: 4989 ldr r1, [pc, #548] ; (8091568 ) 8091344: 488b ldr r0, [pc, #556] ; (8091574 ) 8091346: f7c2 fa31 bl 80537ac LCD_DisplayString(198, LCD_LINE_10, (char *) pNUMS[idt2]); 809134a: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 809134e: b2db uxtb r3, r3 8091350: 461a mov r2, r3 8091352: 4b8c ldr r3, [pc, #560] ; (8091584 ) 8091354: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8091358: 461a mov r2, r3 809135a: 21aa movs r1, #170 ; 0xaa 809135c: 20c6 movs r0, #198 ; 0xc6 809135e: f7c2 ffcd bl 80542fc LCD_DisplayString(214, LCD_LINE_10, (char *) pNUMS[iet2]); 8091362: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 8091366: b2db uxtb r3, r3 8091368: 461a mov r2, r3 809136a: 4b86 ldr r3, [pc, #536] ; (8091584 ) 809136c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8091370: 461a mov r2, r3 8091372: 21aa movs r1, #170 ; 0xaa 8091374: 20d6 movs r0, #214 ; 0xd6 8091376: f7c2 ffc1 bl 80542fc LCD_DisplayString(230, LCD_LINE_10, (char *) pNUMS[ies2]); 809137a: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 809137e: b2db uxtb r3, r3 8091380: 461a mov r2, r3 8091382: 4b80 ldr r3, [pc, #512] ; (8091584 ) 8091384: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8091388: 461a mov r2, r3 809138a: 21aa movs r1, #170 ; 0xaa 809138c: 20e6 movs r0, #230 ; 0xe6 809138e: f7c2 ffb5 bl 80542fc LCD_DisplayString(262, LCD_LINE_10, (char *) pNUMS[iee2]); 8091392: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 8091396: b2db uxtb r3, r3 8091398: 461a mov r2, r3 809139a: 4b7a ldr r3, [pc, #488] ; (8091584 ) 809139c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80913a0: 461a mov r2, r3 80913a2: 21aa movs r1, #170 ; 0xaa 80913a4: f44f 7083 mov.w r0, #262 ; 0x106 80913a8: f7c2 ffa8 bl 80542fc LCD_DisplayString(278, LCD_LINE_10, "."); 80913ac: 4a76 ldr r2, [pc, #472] ; (8091588 ) 80913ae: 21aa movs r1, #170 ; 0xaa 80913b0: f44f 708b mov.w r0, #278 ; 0x116 80913b4: f7c2 ffa2 bl 80542fc LCD_DisplayString(294, LCD_LINE_10, (char *) pNUMS[ikd2]); 80913b8: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 80913bc: b2db uxtb r3, r3 80913be: 461a mov r2, r3 80913c0: 4b70 ldr r3, [pc, #448] ; (8091584 ) 80913c2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80913c6: 461a mov r2, r3 80913c8: 21aa movs r1, #170 ; 0xaa 80913ca: f44f 7093 mov.w r0, #294 ; 0x126 80913ce: f7c2 ff95 bl 80542fc break; 80913d2: f000 bf82 b.w 80922da case WaveMax_IEE: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80913d6: 4964 ldr r1, [pc, #400] ; (8091568 ) 80913d8: f04f 30ff mov.w r0, #4294967295 80913dc: f7c2 f9e6 bl 80537ac LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]); //Äàëåå; 80913e0: 4b62 ldr r3, [pc, #392] ; (809156c ) 80913e2: 7b1b ldrb r3, [r3, #12] 80913e4: b2db uxtb r3, r3 80913e6: 461a mov r2, r3 80913e8: 4b61 ldr r3, [pc, #388] ; (8091570 ) 80913ea: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80913ee: 461a mov r2, r3 80913f0: 2127 movs r1, #39 ; 0x27 80913f2: 200a movs r0, #10 80913f4: f7c2 ff82 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80913f8: 495b ldr r1, [pc, #364] ; (8091568 ) 80913fa: 485e ldr r0, [pc, #376] ; (8091574 ) 80913fc: f7c2 f9d6 bl 80537ac LCD_DisplayStringC(260, LCD_LINE_7, str1); 8091400: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8091404: 461a mov r2, r3 8091406: 217a movs r1, #122 ; 0x7a 8091408: f44f 7082 mov.w r0, #260 ; 0x104 809140c: f7c2 ff8e bl 805432c LCD_DisplayStringC(260, LCD_LINE_8, (char *) pTME[pardata.LANG][pardata.TME]); 8091410: 4b56 ldr r3, [pc, #344] ; (809156c ) 8091412: 7b1b ldrb r3, [r3, #12] 8091414: b2db uxtb r3, r3 8091416: 461a mov r2, r3 8091418: 4b54 ldr r3, [pc, #336] ; (809156c ) 809141a: 7b9b ldrb r3, [r3, #14] 809141c: b2db uxtb r3, r3 809141e: 4618 mov r0, r3 8091420: 4955 ldr r1, [pc, #340] ; (8091578 ) 8091422: 4613 mov r3, r2 8091424: 009b lsls r3, r3, #2 8091426: 4413 add r3, r2 8091428: 005b lsls r3, r3, #1 809142a: 4413 add r3, r2 809142c: 4403 add r3, r0 809142e: f851 3023 ldr.w r3, [r1, r3, lsl #2] 8091432: 461a mov r2, r3 8091434: 218a movs r1, #138 ; 0x8a 8091436: f44f 7082 mov.w r0, #260 ; 0x104 809143a: f7c2 ff77 bl 805432c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 809143e: 494a ldr r1, [pc, #296] ; (8091568 ) 8091440: f04f 30ff mov.w r0, #4294967295 8091444: f7c2 f9b2 bl 80537ac BSP_LCD_FillRect(255, CHECKBOX_LINE_9, 10, 10); 8091448: 230a movs r3, #10 809144a: 220a movs r2, #10 809144c: 219d movs r1, #157 ; 0x9d 809144e: 20ff movs r0, #255 ; 0xff 8091450: f7c2 fe3a bl 80540c8 BSP_LCD_FillRect(255, CHECKBOX_LINE_11, 10, 10); 8091454: 230a movs r3, #10 8091456: 220a movs r2, #10 8091458: 21bd movs r1, #189 ; 0xbd 809145a: 20ff movs r0, #255 ; 0xff 809145c: f7c2 fe34 bl 80540c8 BSP_LCD_FillRect(255, CHECKBOX_LINE_6, 10, 10); 8091460: 230a movs r3, #10 8091462: 220a movs r2, #10 8091464: 216d movs r1, #109 ; 0x6d 8091466: 20ff movs r0, #255 ; 0xff 8091468: f7c2 fe2e bl 80540c8 if(pardata.THR & 0x80) 809146c: 4b3f ldr r3, [pc, #252] ; (809156c ) 809146e: 7bdb ldrb r3, [r3, #15] 8091470: b2db uxtb r3, r3 8091472: b25b sxtb r3, r3 8091474: 2b00 cmp r3, #0 8091476: da0c bge.n 8091492 { LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8091478: 493b ldr r1, [pc, #236] ; (8091568 ) 809147a: 483e ldr r0, [pc, #248] ; (8091574 ) 809147c: f7c2 f996 bl 80537ac LCD_DisplayStringC(260, LCD_LINE_12, strThr); 8091480: f507 73c6 add.w r3, r7, #396 ; 0x18c 8091484: 461a mov r2, r3 8091486: 21ca movs r1, #202 ; 0xca 8091488: f44f 7082 mov.w r0, #260 ; 0x104 809148c: f7c2 ff4e bl 805432c 8091490: e00b b.n 80914aa } else { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8091492: 4935 ldr r1, [pc, #212] ; (8091568 ) 8091494: 4839 ldr r0, [pc, #228] ; (809157c ) 8091496: f7c2 f989 bl 80537ac LCD_DisplayStringC(260, LCD_LINE_12, strThr); 809149a: f507 73c6 add.w r3, r7, #396 ; 0x18c 809149e: 461a mov r2, r3 80914a0: 21ca movs r1, #202 ; 0xca 80914a2: f44f 7082 mov.w r0, #260 ; 0x104 80914a6: f7c2 ff41 bl 805432c } LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80914aa: 492f ldr r1, [pc, #188] ; (8091568 ) 80914ac: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80914b0: f7c2 f97c bl 80537ac if(blk) 80914b4: 4b32 ldr r3, [pc, #200] ; (8091580 ) 80914b6: 681b ldr r3, [r3, #0] 80914b8: 2b00 cmp r3, #0 80914ba: d00c beq.n 80914d6 LCD_DisplayString(262, LCD_LINE_10, (char *) pNUMS[iee2]); 80914bc: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 80914c0: b2db uxtb r3, r3 80914c2: 461a mov r2, r3 80914c4: 4b2f ldr r3, [pc, #188] ; (8091584 ) 80914c6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80914ca: 461a mov r2, r3 80914cc: 21aa movs r1, #170 ; 0xaa 80914ce: f44f 7083 mov.w r0, #262 ; 0x106 80914d2: f7c2 ff13 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80914d6: 4924 ldr r1, [pc, #144] ; (8091568 ) 80914d8: 4826 ldr r0, [pc, #152] ; (8091574 ) 80914da: f7c2 f967 bl 80537ac LCD_DisplayString(198, LCD_LINE_10, (char *) pNUMS[idt2]); 80914de: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 80914e2: b2db uxtb r3, r3 80914e4: 461a mov r2, r3 80914e6: 4b27 ldr r3, [pc, #156] ; (8091584 ) 80914e8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80914ec: 461a mov r2, r3 80914ee: 21aa movs r1, #170 ; 0xaa 80914f0: 20c6 movs r0, #198 ; 0xc6 80914f2: f7c2 ff03 bl 80542fc LCD_DisplayString(214, LCD_LINE_10, (char *) pNUMS[iet2]); 80914f6: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 80914fa: b2db uxtb r3, r3 80914fc: 461a mov r2, r3 80914fe: 4b21 ldr r3, [pc, #132] ; (8091584 ) 8091500: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8091504: 461a mov r2, r3 8091506: 21aa movs r1, #170 ; 0xaa 8091508: 20d6 movs r0, #214 ; 0xd6 809150a: f7c2 fef7 bl 80542fc LCD_DisplayString(230, LCD_LINE_10, (char *) pNUMS[ies2]); 809150e: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 8091512: b2db uxtb r3, r3 8091514: 461a mov r2, r3 8091516: 4b1b ldr r3, [pc, #108] ; (8091584 ) 8091518: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809151c: 461a mov r2, r3 809151e: 21aa movs r1, #170 ; 0xaa 8091520: 20e6 movs r0, #230 ; 0xe6 8091522: f7c2 feeb bl 80542fc LCD_DisplayString(246, LCD_LINE_10, (char *) pNUMS[ied2]); 8091526: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 809152a: b2db uxtb r3, r3 809152c: 461a mov r2, r3 809152e: 4b15 ldr r3, [pc, #84] ; (8091584 ) 8091530: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8091534: 461a mov r2, r3 8091536: 21aa movs r1, #170 ; 0xaa 8091538: 20f6 movs r0, #246 ; 0xf6 809153a: f7c2 fedf bl 80542fc LCD_DisplayString(278, LCD_LINE_10, "."); 809153e: 4a12 ldr r2, [pc, #72] ; (8091588 ) 8091540: 21aa movs r1, #170 ; 0xaa 8091542: f44f 708b mov.w r0, #278 ; 0x116 8091546: f7c2 fed9 bl 80542fc LCD_DisplayString(294, LCD_LINE_10, (char *) pNUMS[ikd2]); 809154a: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 809154e: b2db uxtb r3, r3 8091550: 461a mov r2, r3 8091552: 4b0c ldr r3, [pc, #48] ; (8091584 ) 8091554: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8091558: 461a mov r2, r3 809155a: 21aa movs r1, #170 ; 0xaa 809155c: f44f 7093 mov.w r0, #294 ; 0x126 8091560: f7c2 fecc bl 80542fc break; 8091564: f000 beb9 b.w 80922da 8091568: ff0a0f1f .word 0xff0a0f1f 809156c: 20023e60 .word 0x20023e60 8091570: 200205c4 .word 0x200205c4 8091574: ffd8aa57 .word 0xffd8aa57 8091578: 20020334 .word 0x20020334 809157c: ff808080 .word 0xff808080 8091580: 2002165c .word 0x2002165c 8091584: 20020964 .word 0x20020964 8091588: 080cf7e8 .word 0x080cf7e8 case WaveMax_IKD: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 809158c: 49ce ldr r1, [pc, #824] ; (80918c8 ) 809158e: f04f 30ff mov.w r0, #4294967295 8091592: f7c2 f90b bl 80537ac LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]); //Äàëåå; 8091596: 4bcd ldr r3, [pc, #820] ; (80918cc ) 8091598: 7b1b ldrb r3, [r3, #12] 809159a: b2db uxtb r3, r3 809159c: 461a mov r2, r3 809159e: 4bcc ldr r3, [pc, #816] ; (80918d0 ) 80915a0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80915a4: 461a mov r2, r3 80915a6: 2127 movs r1, #39 ; 0x27 80915a8: 200a movs r0, #10 80915aa: f7c2 fea7 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80915ae: 49c6 ldr r1, [pc, #792] ; (80918c8 ) 80915b0: 48c8 ldr r0, [pc, #800] ; (80918d4 ) 80915b2: f7c2 f8fb bl 80537ac LCD_DisplayStringC(260, LCD_LINE_7, str1); 80915b6: f507 73f6 add.w r3, r7, #492 ; 0x1ec 80915ba: 461a mov r2, r3 80915bc: 217a movs r1, #122 ; 0x7a 80915be: f44f 7082 mov.w r0, #260 ; 0x104 80915c2: f7c2 feb3 bl 805432c LCD_DisplayStringC(260, LCD_LINE_8, (char *) pTME[pardata.LANG][pardata.TME]); 80915c6: 4bc1 ldr r3, [pc, #772] ; (80918cc ) 80915c8: 7b1b ldrb r3, [r3, #12] 80915ca: b2db uxtb r3, r3 80915cc: 461a mov r2, r3 80915ce: 4bbf ldr r3, [pc, #764] ; (80918cc ) 80915d0: 7b9b ldrb r3, [r3, #14] 80915d2: b2db uxtb r3, r3 80915d4: 4618 mov r0, r3 80915d6: 49c0 ldr r1, [pc, #768] ; (80918d8 ) 80915d8: 4613 mov r3, r2 80915da: 009b lsls r3, r3, #2 80915dc: 4413 add r3, r2 80915de: 005b lsls r3, r3, #1 80915e0: 4413 add r3, r2 80915e2: 4403 add r3, r0 80915e4: f851 3023 ldr.w r3, [r1, r3, lsl #2] 80915e8: 461a mov r2, r3 80915ea: 218a movs r1, #138 ; 0x8a 80915ec: f44f 7082 mov.w r0, #260 ; 0x104 80915f0: f7c2 fe9c bl 805432c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80915f4: 49b4 ldr r1, [pc, #720] ; (80918c8 ) 80915f6: f04f 30ff mov.w r0, #4294967295 80915fa: f7c2 f8d7 bl 80537ac BSP_LCD_FillRect(255, CHECKBOX_LINE_9, 10, 10); 80915fe: 230a movs r3, #10 8091600: 220a movs r2, #10 8091602: 219d movs r1, #157 ; 0x9d 8091604: 20ff movs r0, #255 ; 0xff 8091606: f7c2 fd5f bl 80540c8 BSP_LCD_FillRect(255, CHECKBOX_LINE_11, 10, 10); 809160a: 230a movs r3, #10 809160c: 220a movs r2, #10 809160e: 21bd movs r1, #189 ; 0xbd 8091610: 20ff movs r0, #255 ; 0xff 8091612: f7c2 fd59 bl 80540c8 BSP_LCD_FillRect(255, CHECKBOX_LINE_6, 10, 10); 8091616: 230a movs r3, #10 8091618: 220a movs r2, #10 809161a: 216d movs r1, #109 ; 0x6d 809161c: 20ff movs r0, #255 ; 0xff 809161e: f7c2 fd53 bl 80540c8 if(pardata.THR & 0x80) 8091622: 4baa ldr r3, [pc, #680] ; (80918cc ) 8091624: 7bdb ldrb r3, [r3, #15] 8091626: b2db uxtb r3, r3 8091628: b25b sxtb r3, r3 809162a: 2b00 cmp r3, #0 809162c: da0c bge.n 8091648 { LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 809162e: 49a6 ldr r1, [pc, #664] ; (80918c8 ) 8091630: 48a8 ldr r0, [pc, #672] ; (80918d4 ) 8091632: f7c2 f8bb bl 80537ac LCD_DisplayStringC(260, LCD_LINE_12, strThr); 8091636: f507 73c6 add.w r3, r7, #396 ; 0x18c 809163a: 461a mov r2, r3 809163c: 21ca movs r1, #202 ; 0xca 809163e: f44f 7082 mov.w r0, #260 ; 0x104 8091642: f7c2 fe73 bl 805432c 8091646: e00b b.n 8091660 } else { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8091648: 499f ldr r1, [pc, #636] ; (80918c8 ) 809164a: 48a4 ldr r0, [pc, #656] ; (80918dc ) 809164c: f7c2 f8ae bl 80537ac LCD_DisplayStringC(260, LCD_LINE_12, strThr); 8091650: f507 73c6 add.w r3, r7, #396 ; 0x18c 8091654: 461a mov r2, r3 8091656: 21ca movs r1, #202 ; 0xca 8091658: f44f 7082 mov.w r0, #260 ; 0x104 809165c: f7c2 fe66 bl 805432c } LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8091660: 4999 ldr r1, [pc, #612] ; (80918c8 ) 8091662: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8091666: f7c2 f8a1 bl 80537ac if(blk) 809166a: 4b9d ldr r3, [pc, #628] ; (80918e0 ) 809166c: 681b ldr r3, [r3, #0] 809166e: 2b00 cmp r3, #0 8091670: d00c beq.n 809168c LCD_DisplayString(294, LCD_LINE_10, (char *) pNUMS[ikd2]); 8091672: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 8091676: b2db uxtb r3, r3 8091678: 461a mov r2, r3 809167a: 4b9a ldr r3, [pc, #616] ; (80918e4 ) 809167c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8091680: 461a mov r2, r3 8091682: 21aa movs r1, #170 ; 0xaa 8091684: f44f 7093 mov.w r0, #294 ; 0x126 8091688: f7c2 fe38 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 809168c: 498e ldr r1, [pc, #568] ; (80918c8 ) 809168e: 4891 ldr r0, [pc, #580] ; (80918d4 ) 8091690: f7c2 f88c bl 80537ac LCD_DisplayString(198, LCD_LINE_10, (char *) pNUMS[idt2]); 8091694: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 8091698: b2db uxtb r3, r3 809169a: 461a mov r2, r3 809169c: 4b91 ldr r3, [pc, #580] ; (80918e4 ) 809169e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80916a2: 461a mov r2, r3 80916a4: 21aa movs r1, #170 ; 0xaa 80916a6: 20c6 movs r0, #198 ; 0xc6 80916a8: f7c2 fe28 bl 80542fc LCD_DisplayString(214, LCD_LINE_10, (char *) pNUMS[iet2]); 80916ac: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 80916b0: b2db uxtb r3, r3 80916b2: 461a mov r2, r3 80916b4: 4b8b ldr r3, [pc, #556] ; (80918e4 ) 80916b6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80916ba: 461a mov r2, r3 80916bc: 21aa movs r1, #170 ; 0xaa 80916be: 20d6 movs r0, #214 ; 0xd6 80916c0: f7c2 fe1c bl 80542fc LCD_DisplayString(230, LCD_LINE_10, (char *) pNUMS[ies2]); 80916c4: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 80916c8: b2db uxtb r3, r3 80916ca: 461a mov r2, r3 80916cc: 4b85 ldr r3, [pc, #532] ; (80918e4 ) 80916ce: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80916d2: 461a mov r2, r3 80916d4: 21aa movs r1, #170 ; 0xaa 80916d6: 20e6 movs r0, #230 ; 0xe6 80916d8: f7c2 fe10 bl 80542fc LCD_DisplayString(246, LCD_LINE_10, (char *) pNUMS[ied2]); 80916dc: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 80916e0: b2db uxtb r3, r3 80916e2: 461a mov r2, r3 80916e4: 4b7f ldr r3, [pc, #508] ; (80918e4 ) 80916e6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80916ea: 461a mov r2, r3 80916ec: 21aa movs r1, #170 ; 0xaa 80916ee: 20f6 movs r0, #246 ; 0xf6 80916f0: f7c2 fe04 bl 80542fc LCD_DisplayString(262, LCD_LINE_10, (char *) pNUMS[iee2]); 80916f4: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 80916f8: b2db uxtb r3, r3 80916fa: 461a mov r2, r3 80916fc: 4b79 ldr r3, [pc, #484] ; (80918e4 ) 80916fe: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8091702: 461a mov r2, r3 8091704: 21aa movs r1, #170 ; 0xaa 8091706: f44f 7083 mov.w r0, #262 ; 0x106 809170a: f7c2 fdf7 bl 80542fc LCD_DisplayString(278, LCD_LINE_10, "."); 809170e: 4a76 ldr r2, [pc, #472] ; (80918e8 ) 8091710: 21aa movs r1, #170 ; 0xaa 8091712: f44f 708b mov.w r0, #278 ; 0x116 8091716: f7c2 fdf1 bl 80542fc break; 809171a: f000 bdde b.w 80922da case WaveThr_IDT: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 809171e: 496a ldr r1, [pc, #424] ; (80918c8 ) 8091720: f04f 30ff mov.w r0, #4294967295 8091724: f7c2 f842 bl 80537ac LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]); //Äàëåå; 8091728: 4b68 ldr r3, [pc, #416] ; (80918cc ) 809172a: 7b1b ldrb r3, [r3, #12] 809172c: b2db uxtb r3, r3 809172e: 461a mov r2, r3 8091730: 4b67 ldr r3, [pc, #412] ; (80918d0 ) 8091732: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8091736: 461a mov r2, r3 8091738: 2127 movs r1, #39 ; 0x27 809173a: 200a movs r0, #10 809173c: f7c2 fdde bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8091740: 4961 ldr r1, [pc, #388] ; (80918c8 ) 8091742: 4864 ldr r0, [pc, #400] ; (80918d4 ) 8091744: f7c2 f832 bl 80537ac LCD_DisplayStringC(260, LCD_LINE_7, str1); 8091748: f507 73f6 add.w r3, r7, #492 ; 0x1ec 809174c: 461a mov r2, r3 809174e: 217a movs r1, #122 ; 0x7a 8091750: f44f 7082 mov.w r0, #260 ; 0x104 8091754: f7c2 fdea bl 805432c LCD_DisplayStringC(260, LCD_LINE_8, (char *) pTME[pardata.LANG][pardata.TME]); 8091758: 4b5c ldr r3, [pc, #368] ; (80918cc ) 809175a: 7b1b ldrb r3, [r3, #12] 809175c: b2db uxtb r3, r3 809175e: 461a mov r2, r3 8091760: 4b5a ldr r3, [pc, #360] ; (80918cc ) 8091762: 7b9b ldrb r3, [r3, #14] 8091764: b2db uxtb r3, r3 8091766: 4618 mov r0, r3 8091768: 495b ldr r1, [pc, #364] ; (80918d8 ) 809176a: 4613 mov r3, r2 809176c: 009b lsls r3, r3, #2 809176e: 4413 add r3, r2 8091770: 005b lsls r3, r3, #1 8091772: 4413 add r3, r2 8091774: 4403 add r3, r0 8091776: f851 3023 ldr.w r3, [r1, r3, lsl #2] 809177a: 461a mov r2, r3 809177c: 218a movs r1, #138 ; 0x8a 809177e: f44f 7082 mov.w r0, #260 ; 0x104 8091782: f7c2 fdd3 bl 805432c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8091786: 4950 ldr r1, [pc, #320] ; (80918c8 ) 8091788: f04f 30ff mov.w r0, #4294967295 809178c: f7c2 f80e bl 80537ac BSP_LCD_FillRect(255, CHECKBOX_LINE_9, 10, 10); 8091790: 230a movs r3, #10 8091792: 220a movs r2, #10 8091794: 219d movs r1, #157 ; 0x9d 8091796: 20ff movs r0, #255 ; 0xff 8091798: f7c2 fc96 bl 80540c8 BSP_LCD_FillRect(255, CHECKBOX_LINE_11, 10, 10); 809179c: 230a movs r3, #10 809179e: 220a movs r2, #10 80917a0: 21bd movs r1, #189 ; 0xbd 80917a2: 20ff movs r0, #255 ; 0xff 80917a4: f7c2 fc90 bl 80540c8 BSP_LCD_FillRect(255, CHECKBOX_LINE_6, 10, 10); 80917a8: 230a movs r3, #10 80917aa: 220a movs r2, #10 80917ac: 216d movs r1, #109 ; 0x6d 80917ae: 20ff movs r0, #255 ; 0xff 80917b0: f7c2 fc8a bl 80540c8 if(pardata.THR & 0x80) 80917b4: 4b45 ldr r3, [pc, #276] ; (80918cc ) 80917b6: 7bdb ldrb r3, [r3, #15] 80917b8: b2db uxtb r3, r3 80917ba: b25b sxtb r3, r3 80917bc: 2b00 cmp r3, #0 80917be: da0c bge.n 80917da { LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80917c0: 4941 ldr r1, [pc, #260] ; (80918c8 ) 80917c2: 4844 ldr r0, [pc, #272] ; (80918d4 ) 80917c4: f7c1 fff2 bl 80537ac LCD_DisplayStringC(260, LCD_LINE_10, strMax); 80917c8: f507 73c0 add.w r3, r7, #384 ; 0x180 80917cc: 461a mov r2, r3 80917ce: 21aa movs r1, #170 ; 0xaa 80917d0: f44f 7082 mov.w r0, #260 ; 0x104 80917d4: f7c2 fdaa bl 805432c 80917d8: e017 b.n 809180a } else { if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 80917da: 4b3c ldr r3, [pc, #240] ; (80918cc ) 80917dc: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80917e0: f003 0304 and.w r3, r3, #4 80917e4: 2b00 cmp r3, #0 80917e6: d104 bne.n 80917f2 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80917e8: 4937 ldr r1, [pc, #220] ; (80918c8 ) 80917ea: 483a ldr r0, [pc, #232] ; (80918d4 ) 80917ec: f7c1 ffde bl 80537ac 80917f0: e003 b.n 80917fa else LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80917f2: 4935 ldr r1, [pc, #212] ; (80918c8 ) 80917f4: 4839 ldr r0, [pc, #228] ; (80918dc ) 80917f6: f7c1 ffd9 bl 80537ac LCD_DisplayStringC(260, LCD_LINE_10, strMax); 80917fa: f507 73c0 add.w r3, r7, #384 ; 0x180 80917fe: 461a mov r2, r3 8091800: 21aa movs r1, #170 ; 0xaa 8091802: f44f 7082 mov.w r0, #260 ; 0x104 8091806: f7c2 fd91 bl 805432c } LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 809180a: 492f ldr r1, [pc, #188] ; (80918c8 ) 809180c: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8091810: f7c1 ffcc bl 80537ac if(blk) 8091814: 4b32 ldr r3, [pc, #200] ; (80918e0 ) 8091816: 681b ldr r3, [r3, #0] 8091818: 2b00 cmp r3, #0 809181a: d00b beq.n 8091834 LCD_DisplayString(198, LCD_LINE_12, (char *) pNUMS[idt]); 809181c: f897 33e7 ldrb.w r3, [r7, #999] ; 0x3e7 8091820: b2db uxtb r3, r3 8091822: 461a mov r2, r3 8091824: 4b2f ldr r3, [pc, #188] ; (80918e4 ) 8091826: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809182a: 461a mov r2, r3 809182c: 21ca movs r1, #202 ; 0xca 809182e: 20c6 movs r0, #198 ; 0xc6 8091830: f7c2 fd64 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8091834: 4924 ldr r1, [pc, #144] ; (80918c8 ) 8091836: 4827 ldr r0, [pc, #156] ; (80918d4 ) 8091838: f7c1 ffb8 bl 80537ac LCD_DisplayString(214, LCD_LINE_12, (char *) pNUMS[iet]); 809183c: f897 33e6 ldrb.w r3, [r7, #998] ; 0x3e6 8091840: b2db uxtb r3, r3 8091842: 461a mov r2, r3 8091844: 4b27 ldr r3, [pc, #156] ; (80918e4 ) 8091846: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809184a: 461a mov r2, r3 809184c: 21ca movs r1, #202 ; 0xca 809184e: 20d6 movs r0, #214 ; 0xd6 8091850: f7c2 fd54 bl 80542fc LCD_DisplayString(230, LCD_LINE_12, (char *) pNUMS[ies]); 8091854: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 8091858: b2db uxtb r3, r3 809185a: 461a mov r2, r3 809185c: 4b21 ldr r3, [pc, #132] ; (80918e4 ) 809185e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8091862: 461a mov r2, r3 8091864: 21ca movs r1, #202 ; 0xca 8091866: 20e6 movs r0, #230 ; 0xe6 8091868: f7c2 fd48 bl 80542fc LCD_DisplayString(246, LCD_LINE_12, (char *) pNUMS[ied]); 809186c: f897 33e4 ldrb.w r3, [r7, #996] ; 0x3e4 8091870: b2db uxtb r3, r3 8091872: 461a mov r2, r3 8091874: 4b1b ldr r3, [pc, #108] ; (80918e4 ) 8091876: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809187a: 461a mov r2, r3 809187c: 21ca movs r1, #202 ; 0xca 809187e: 20f6 movs r0, #246 ; 0xf6 8091880: f7c2 fd3c bl 80542fc LCD_DisplayString(262, LCD_LINE_12, (char *) pNUMS[iee]); 8091884: f897 33e3 ldrb.w r3, [r7, #995] ; 0x3e3 8091888: b2db uxtb r3, r3 809188a: 461a mov r2, r3 809188c: 4b15 ldr r3, [pc, #84] ; (80918e4 ) 809188e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8091892: 461a mov r2, r3 8091894: 21ca movs r1, #202 ; 0xca 8091896: f44f 7083 mov.w r0, #262 ; 0x106 809189a: f7c2 fd2f bl 80542fc LCD_DisplayString(278, LCD_LINE_12, "."); 809189e: 4a12 ldr r2, [pc, #72] ; (80918e8 ) 80918a0: 21ca movs r1, #202 ; 0xca 80918a2: f44f 708b mov.w r0, #278 ; 0x116 80918a6: f7c2 fd29 bl 80542fc LCD_DisplayString(294, LCD_LINE_12, (char *) pNUMS[ikd]); 80918aa: f897 33e2 ldrb.w r3, [r7, #994] ; 0x3e2 80918ae: b2db uxtb r3, r3 80918b0: 461a mov r2, r3 80918b2: 4b0c ldr r3, [pc, #48] ; (80918e4 ) 80918b4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80918b8: 461a mov r2, r3 80918ba: 21ca movs r1, #202 ; 0xca 80918bc: f44f 7093 mov.w r0, #294 ; 0x126 80918c0: f7c2 fd1c bl 80542fc break; 80918c4: f000 bd09 b.w 80922da 80918c8: ff0a0f1f .word 0xff0a0f1f 80918cc: 20023e60 .word 0x20023e60 80918d0: 200205c4 .word 0x200205c4 80918d4: ffd8aa57 .word 0xffd8aa57 80918d8: 20020334 .word 0x20020334 80918dc: ff808080 .word 0xff808080 80918e0: 2002165c .word 0x2002165c 80918e4: 20020964 .word 0x20020964 80918e8: 080cf7e8 .word 0x080cf7e8 case WaveThr_IET: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80918ec: 499f ldr r1, [pc, #636] ; (8091b6c ) 80918ee: f04f 30ff mov.w r0, #4294967295 80918f2: f7c1 ff5b bl 80537ac LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]); //Äàëåå; 80918f6: 4b9e ldr r3, [pc, #632] ; (8091b70 ) 80918f8: 7b1b ldrb r3, [r3, #12] 80918fa: b2db uxtb r3, r3 80918fc: 461a mov r2, r3 80918fe: 4b9d ldr r3, [pc, #628] ; (8091b74 ) 8091900: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8091904: 461a mov r2, r3 8091906: 2127 movs r1, #39 ; 0x27 8091908: 200a movs r0, #10 809190a: f7c2 fcf7 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 809190e: 4997 ldr r1, [pc, #604] ; (8091b6c ) 8091910: 4899 ldr r0, [pc, #612] ; (8091b78 ) 8091912: f7c1 ff4b bl 80537ac LCD_DisplayStringC(260, LCD_LINE_7, str1); 8091916: f507 73f6 add.w r3, r7, #492 ; 0x1ec 809191a: 461a mov r2, r3 809191c: 217a movs r1, #122 ; 0x7a 809191e: f44f 7082 mov.w r0, #260 ; 0x104 8091922: f7c2 fd03 bl 805432c LCD_DisplayStringC(260, LCD_LINE_8, (char *) pTME[pardata.LANG][pardata.TME]); 8091926: 4b92 ldr r3, [pc, #584] ; (8091b70 ) 8091928: 7b1b ldrb r3, [r3, #12] 809192a: b2db uxtb r3, r3 809192c: 461a mov r2, r3 809192e: 4b90 ldr r3, [pc, #576] ; (8091b70 ) 8091930: 7b9b ldrb r3, [r3, #14] 8091932: b2db uxtb r3, r3 8091934: 4618 mov r0, r3 8091936: 4991 ldr r1, [pc, #580] ; (8091b7c ) 8091938: 4613 mov r3, r2 809193a: 009b lsls r3, r3, #2 809193c: 4413 add r3, r2 809193e: 005b lsls r3, r3, #1 8091940: 4413 add r3, r2 8091942: 4403 add r3, r0 8091944: f851 3023 ldr.w r3, [r1, r3, lsl #2] 8091948: 461a mov r2, r3 809194a: 218a movs r1, #138 ; 0x8a 809194c: f44f 7082 mov.w r0, #260 ; 0x104 8091950: f7c2 fcec bl 805432c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8091954: 4985 ldr r1, [pc, #532] ; (8091b6c ) 8091956: f04f 30ff mov.w r0, #4294967295 809195a: f7c1 ff27 bl 80537ac BSP_LCD_FillRect(255, CHECKBOX_LINE_9, 10, 10); 809195e: 230a movs r3, #10 8091960: 220a movs r2, #10 8091962: 219d movs r1, #157 ; 0x9d 8091964: 20ff movs r0, #255 ; 0xff 8091966: f7c2 fbaf bl 80540c8 BSP_LCD_FillRect(255, CHECKBOX_LINE_11, 10, 10); 809196a: 230a movs r3, #10 809196c: 220a movs r2, #10 809196e: 21bd movs r1, #189 ; 0xbd 8091970: 20ff movs r0, #255 ; 0xff 8091972: f7c2 fba9 bl 80540c8 BSP_LCD_FillRect(255, CHECKBOX_LINE_6, 10, 10); 8091976: 230a movs r3, #10 8091978: 220a movs r2, #10 809197a: 216d movs r1, #109 ; 0x6d 809197c: 20ff movs r0, #255 ; 0xff 809197e: f7c2 fba3 bl 80540c8 if(pardata.THR & 0x80) 8091982: 4b7b ldr r3, [pc, #492] ; (8091b70 ) 8091984: 7bdb ldrb r3, [r3, #15] 8091986: b2db uxtb r3, r3 8091988: b25b sxtb r3, r3 809198a: 2b00 cmp r3, #0 809198c: da0c bge.n 80919a8 { LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 809198e: 4977 ldr r1, [pc, #476] ; (8091b6c ) 8091990: 4879 ldr r0, [pc, #484] ; (8091b78 ) 8091992: f7c1 ff0b bl 80537ac LCD_DisplayStringC(260, LCD_LINE_10, strMax); 8091996: f507 73c0 add.w r3, r7, #384 ; 0x180 809199a: 461a mov r2, r3 809199c: 21aa movs r1, #170 ; 0xaa 809199e: f44f 7082 mov.w r0, #260 ; 0x104 80919a2: f7c2 fcc3 bl 805432c 80919a6: e017 b.n 80919d8 } else { if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 80919a8: 4b71 ldr r3, [pc, #452] ; (8091b70 ) 80919aa: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80919ae: f003 0304 and.w r3, r3, #4 80919b2: 2b00 cmp r3, #0 80919b4: d104 bne.n 80919c0 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80919b6: 496d ldr r1, [pc, #436] ; (8091b6c ) 80919b8: 486f ldr r0, [pc, #444] ; (8091b78 ) 80919ba: f7c1 fef7 bl 80537ac 80919be: e003 b.n 80919c8 else LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80919c0: 496a ldr r1, [pc, #424] ; (8091b6c ) 80919c2: 486f ldr r0, [pc, #444] ; (8091b80 ) 80919c4: f7c1 fef2 bl 80537ac LCD_DisplayStringC(260, LCD_LINE_10, strMax); 80919c8: f507 73c0 add.w r3, r7, #384 ; 0x180 80919cc: 461a mov r2, r3 80919ce: 21aa movs r1, #170 ; 0xaa 80919d0: f44f 7082 mov.w r0, #260 ; 0x104 80919d4: f7c2 fcaa bl 805432c } LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80919d8: 4964 ldr r1, [pc, #400] ; (8091b6c ) 80919da: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80919de: f7c1 fee5 bl 80537ac if(blk) 80919e2: 4b68 ldr r3, [pc, #416] ; (8091b84 ) 80919e4: 681b ldr r3, [r3, #0] 80919e6: 2b00 cmp r3, #0 80919e8: d00b beq.n 8091a02 LCD_DisplayString(214, LCD_LINE_12, (char *) pNUMS[iet]); 80919ea: f897 33e6 ldrb.w r3, [r7, #998] ; 0x3e6 80919ee: b2db uxtb r3, r3 80919f0: 461a mov r2, r3 80919f2: 4b65 ldr r3, [pc, #404] ; (8091b88 ) 80919f4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80919f8: 461a mov r2, r3 80919fa: 21ca movs r1, #202 ; 0xca 80919fc: 20d6 movs r0, #214 ; 0xd6 80919fe: f7c2 fc7d bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8091a02: 495a ldr r1, [pc, #360] ; (8091b6c ) 8091a04: 485c ldr r0, [pc, #368] ; (8091b78 ) 8091a06: f7c1 fed1 bl 80537ac LCD_DisplayString(198, LCD_LINE_12, (char *) pNUMS[idt]); 8091a0a: f897 33e7 ldrb.w r3, [r7, #999] ; 0x3e7 8091a0e: b2db uxtb r3, r3 8091a10: 461a mov r2, r3 8091a12: 4b5d ldr r3, [pc, #372] ; (8091b88 ) 8091a14: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8091a18: 461a mov r2, r3 8091a1a: 21ca movs r1, #202 ; 0xca 8091a1c: 20c6 movs r0, #198 ; 0xc6 8091a1e: f7c2 fc6d bl 80542fc LCD_DisplayString(230, LCD_LINE_12, (char *) pNUMS[ies]); 8091a22: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 8091a26: b2db uxtb r3, r3 8091a28: 461a mov r2, r3 8091a2a: 4b57 ldr r3, [pc, #348] ; (8091b88 ) 8091a2c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8091a30: 461a mov r2, r3 8091a32: 21ca movs r1, #202 ; 0xca 8091a34: 20e6 movs r0, #230 ; 0xe6 8091a36: f7c2 fc61 bl 80542fc LCD_DisplayString(246, LCD_LINE_12, (char *) pNUMS[ied]); 8091a3a: f897 33e4 ldrb.w r3, [r7, #996] ; 0x3e4 8091a3e: b2db uxtb r3, r3 8091a40: 461a mov r2, r3 8091a42: 4b51 ldr r3, [pc, #324] ; (8091b88 ) 8091a44: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8091a48: 461a mov r2, r3 8091a4a: 21ca movs r1, #202 ; 0xca 8091a4c: 20f6 movs r0, #246 ; 0xf6 8091a4e: f7c2 fc55 bl 80542fc LCD_DisplayString(262, LCD_LINE_12, (char *) pNUMS[iee]); 8091a52: f897 33e3 ldrb.w r3, [r7, #995] ; 0x3e3 8091a56: b2db uxtb r3, r3 8091a58: 461a mov r2, r3 8091a5a: 4b4b ldr r3, [pc, #300] ; (8091b88 ) 8091a5c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8091a60: 461a mov r2, r3 8091a62: 21ca movs r1, #202 ; 0xca 8091a64: f44f 7083 mov.w r0, #262 ; 0x106 8091a68: f7c2 fc48 bl 80542fc LCD_DisplayString(278, LCD_LINE_12, "."); 8091a6c: 4a47 ldr r2, [pc, #284] ; (8091b8c ) 8091a6e: 21ca movs r1, #202 ; 0xca 8091a70: f44f 708b mov.w r0, #278 ; 0x116 8091a74: f7c2 fc42 bl 80542fc LCD_DisplayString(294, LCD_LINE_12, (char *) pNUMS[ikd]); 8091a78: f897 33e2 ldrb.w r3, [r7, #994] ; 0x3e2 8091a7c: b2db uxtb r3, r3 8091a7e: 461a mov r2, r3 8091a80: 4b41 ldr r3, [pc, #260] ; (8091b88 ) 8091a82: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8091a86: 461a mov r2, r3 8091a88: 21ca movs r1, #202 ; 0xca 8091a8a: f44f 7093 mov.w r0, #294 ; 0x126 8091a8e: f7c2 fc35 bl 80542fc break; 8091a92: f000 bc22 b.w 80922da case WaveThr_IES: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8091a96: 4935 ldr r1, [pc, #212] ; (8091b6c ) 8091a98: f04f 30ff mov.w r0, #4294967295 8091a9c: f7c1 fe86 bl 80537ac LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]); //Äàëåå; 8091aa0: 4b33 ldr r3, [pc, #204] ; (8091b70 ) 8091aa2: 7b1b ldrb r3, [r3, #12] 8091aa4: b2db uxtb r3, r3 8091aa6: 461a mov r2, r3 8091aa8: 4b32 ldr r3, [pc, #200] ; (8091b74 ) 8091aaa: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8091aae: 461a mov r2, r3 8091ab0: 2127 movs r1, #39 ; 0x27 8091ab2: 200a movs r0, #10 8091ab4: f7c2 fc22 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8091ab8: 492c ldr r1, [pc, #176] ; (8091b6c ) 8091aba: 482f ldr r0, [pc, #188] ; (8091b78 ) 8091abc: f7c1 fe76 bl 80537ac LCD_DisplayStringC(260, LCD_LINE_7, str1); 8091ac0: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8091ac4: 461a mov r2, r3 8091ac6: 217a movs r1, #122 ; 0x7a 8091ac8: f44f 7082 mov.w r0, #260 ; 0x104 8091acc: f7c2 fc2e bl 805432c LCD_DisplayStringC(260, LCD_LINE_8, (char *) pTME[pardata.LANG][pardata.TME]); 8091ad0: 4b27 ldr r3, [pc, #156] ; (8091b70 ) 8091ad2: 7b1b ldrb r3, [r3, #12] 8091ad4: b2db uxtb r3, r3 8091ad6: 461a mov r2, r3 8091ad8: 4b25 ldr r3, [pc, #148] ; (8091b70 ) 8091ada: 7b9b ldrb r3, [r3, #14] 8091adc: b2db uxtb r3, r3 8091ade: 4618 mov r0, r3 8091ae0: 4926 ldr r1, [pc, #152] ; (8091b7c ) 8091ae2: 4613 mov r3, r2 8091ae4: 009b lsls r3, r3, #2 8091ae6: 4413 add r3, r2 8091ae8: 005b lsls r3, r3, #1 8091aea: 4413 add r3, r2 8091aec: 4403 add r3, r0 8091aee: f851 3023 ldr.w r3, [r1, r3, lsl #2] 8091af2: 461a mov r2, r3 8091af4: 218a movs r1, #138 ; 0x8a 8091af6: f44f 7082 mov.w r0, #260 ; 0x104 8091afa: f7c2 fc17 bl 805432c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8091afe: 491b ldr r1, [pc, #108] ; (8091b6c ) 8091b00: f04f 30ff mov.w r0, #4294967295 8091b04: f7c1 fe52 bl 80537ac BSP_LCD_FillRect(255, CHECKBOX_LINE_9, 10, 10); 8091b08: 230a movs r3, #10 8091b0a: 220a movs r2, #10 8091b0c: 219d movs r1, #157 ; 0x9d 8091b0e: 20ff movs r0, #255 ; 0xff 8091b10: f7c2 fada bl 80540c8 BSP_LCD_FillRect(255, CHECKBOX_LINE_11, 10, 10); 8091b14: 230a movs r3, #10 8091b16: 220a movs r2, #10 8091b18: 21bd movs r1, #189 ; 0xbd 8091b1a: 20ff movs r0, #255 ; 0xff 8091b1c: f7c2 fad4 bl 80540c8 BSP_LCD_FillRect(255, CHECKBOX_LINE_6, 10, 10); 8091b20: 230a movs r3, #10 8091b22: 220a movs r2, #10 8091b24: 216d movs r1, #109 ; 0x6d 8091b26: 20ff movs r0, #255 ; 0xff 8091b28: f7c2 face bl 80540c8 if(pardata.THR & 0x80) 8091b2c: 4b10 ldr r3, [pc, #64] ; (8091b70 ) 8091b2e: 7bdb ldrb r3, [r3, #15] 8091b30: b2db uxtb r3, r3 8091b32: b25b sxtb r3, r3 8091b34: 2b00 cmp r3, #0 8091b36: da0c bge.n 8091b52 { LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8091b38: 490c ldr r1, [pc, #48] ; (8091b6c ) 8091b3a: 480f ldr r0, [pc, #60] ; (8091b78 ) 8091b3c: f7c1 fe36 bl 80537ac LCD_DisplayStringC(260, LCD_LINE_10, strMax); 8091b40: f507 73c0 add.w r3, r7, #384 ; 0x180 8091b44: 461a mov r2, r3 8091b46: 21aa movs r1, #170 ; 0xaa 8091b48: f44f 7082 mov.w r0, #260 ; 0x104 8091b4c: f7c2 fbee bl 805432c 8091b50: e02a b.n 8091ba8 } else { if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 8091b52: 4b07 ldr r3, [pc, #28] ; (8091b70 ) 8091b54: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8091b58: f003 0304 and.w r3, r3, #4 8091b5c: 2b00 cmp r3, #0 8091b5e: d117 bne.n 8091b90 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8091b60: 4902 ldr r1, [pc, #8] ; (8091b6c ) 8091b62: 4805 ldr r0, [pc, #20] ; (8091b78 ) 8091b64: f7c1 fe22 bl 80537ac 8091b68: e016 b.n 8091b98 8091b6a: bf00 nop 8091b6c: ff0a0f1f .word 0xff0a0f1f 8091b70: 20023e60 .word 0x20023e60 8091b74: 200205c4 .word 0x200205c4 8091b78: ffd8aa57 .word 0xffd8aa57 8091b7c: 20020334 .word 0x20020334 8091b80: ff808080 .word 0xff808080 8091b84: 2002165c .word 0x2002165c 8091b88: 20020964 .word 0x20020964 8091b8c: 080cf7e8 .word 0x080cf7e8 else LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8091b90: 49cd ldr r1, [pc, #820] ; (8091ec8 ) 8091b92: 48ce ldr r0, [pc, #824] ; (8091ecc ) 8091b94: f7c1 fe0a bl 80537ac LCD_DisplayStringC(260, LCD_LINE_10, strMax); 8091b98: f507 73c0 add.w r3, r7, #384 ; 0x180 8091b9c: 461a mov r2, r3 8091b9e: 21aa movs r1, #170 ; 0xaa 8091ba0: f44f 7082 mov.w r0, #260 ; 0x104 8091ba4: f7c2 fbc2 bl 805432c } LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8091ba8: 49c7 ldr r1, [pc, #796] ; (8091ec8 ) 8091baa: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8091bae: f7c1 fdfd bl 80537ac if(blk) 8091bb2: 4bc7 ldr r3, [pc, #796] ; (8091ed0 ) 8091bb4: 681b ldr r3, [r3, #0] 8091bb6: 2b00 cmp r3, #0 8091bb8: d00b beq.n 8091bd2 LCD_DisplayString(230, LCD_LINE_12, (char *) pNUMS[ies]); 8091bba: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 8091bbe: b2db uxtb r3, r3 8091bc0: 461a mov r2, r3 8091bc2: 4bc4 ldr r3, [pc, #784] ; (8091ed4 ) 8091bc4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8091bc8: 461a mov r2, r3 8091bca: 21ca movs r1, #202 ; 0xca 8091bcc: 20e6 movs r0, #230 ; 0xe6 8091bce: f7c2 fb95 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8091bd2: 49bd ldr r1, [pc, #756] ; (8091ec8 ) 8091bd4: 48c0 ldr r0, [pc, #768] ; (8091ed8 ) 8091bd6: f7c1 fde9 bl 80537ac LCD_DisplayString(198, LCD_LINE_12, (char *) pNUMS[idt]); 8091bda: f897 33e7 ldrb.w r3, [r7, #999] ; 0x3e7 8091bde: b2db uxtb r3, r3 8091be0: 461a mov r2, r3 8091be2: 4bbc ldr r3, [pc, #752] ; (8091ed4 ) 8091be4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8091be8: 461a mov r2, r3 8091bea: 21ca movs r1, #202 ; 0xca 8091bec: 20c6 movs r0, #198 ; 0xc6 8091bee: f7c2 fb85 bl 80542fc LCD_DisplayString(214, LCD_LINE_12, (char *) pNUMS[iet]); 8091bf2: f897 33e6 ldrb.w r3, [r7, #998] ; 0x3e6 8091bf6: b2db uxtb r3, r3 8091bf8: 461a mov r2, r3 8091bfa: 4bb6 ldr r3, [pc, #728] ; (8091ed4 ) 8091bfc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8091c00: 461a mov r2, r3 8091c02: 21ca movs r1, #202 ; 0xca 8091c04: 20d6 movs r0, #214 ; 0xd6 8091c06: f7c2 fb79 bl 80542fc LCD_DisplayString(246, LCD_LINE_12, (char *) pNUMS[ied]); 8091c0a: f897 33e4 ldrb.w r3, [r7, #996] ; 0x3e4 8091c0e: b2db uxtb r3, r3 8091c10: 461a mov r2, r3 8091c12: 4bb0 ldr r3, [pc, #704] ; (8091ed4 ) 8091c14: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8091c18: 461a mov r2, r3 8091c1a: 21ca movs r1, #202 ; 0xca 8091c1c: 20f6 movs r0, #246 ; 0xf6 8091c1e: f7c2 fb6d bl 80542fc LCD_DisplayString(262, LCD_LINE_12, (char *) pNUMS[iee]); 8091c22: f897 33e3 ldrb.w r3, [r7, #995] ; 0x3e3 8091c26: b2db uxtb r3, r3 8091c28: 461a mov r2, r3 8091c2a: 4baa ldr r3, [pc, #680] ; (8091ed4 ) 8091c2c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8091c30: 461a mov r2, r3 8091c32: 21ca movs r1, #202 ; 0xca 8091c34: f44f 7083 mov.w r0, #262 ; 0x106 8091c38: f7c2 fb60 bl 80542fc LCD_DisplayString(278, LCD_LINE_12, "."); 8091c3c: 4aa7 ldr r2, [pc, #668] ; (8091edc ) 8091c3e: 21ca movs r1, #202 ; 0xca 8091c40: f44f 708b mov.w r0, #278 ; 0x116 8091c44: f7c2 fb5a bl 80542fc LCD_DisplayString(294, LCD_LINE_12, (char *) pNUMS[ikd]); 8091c48: f897 33e2 ldrb.w r3, [r7, #994] ; 0x3e2 8091c4c: b2db uxtb r3, r3 8091c4e: 461a mov r2, r3 8091c50: 4ba0 ldr r3, [pc, #640] ; (8091ed4 ) 8091c52: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8091c56: 461a mov r2, r3 8091c58: 21ca movs r1, #202 ; 0xca 8091c5a: f44f 7093 mov.w r0, #294 ; 0x126 8091c5e: f7c2 fb4d bl 80542fc break; 8091c62: e33a b.n 80922da case WaveThr_IED: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8091c64: 4998 ldr r1, [pc, #608] ; (8091ec8 ) 8091c66: f04f 30ff mov.w r0, #4294967295 8091c6a: f7c1 fd9f bl 80537ac LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]); //Äàëåå; 8091c6e: 4b9c ldr r3, [pc, #624] ; (8091ee0 ) 8091c70: 7b1b ldrb r3, [r3, #12] 8091c72: b2db uxtb r3, r3 8091c74: 461a mov r2, r3 8091c76: 4b9b ldr r3, [pc, #620] ; (8091ee4 ) 8091c78: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8091c7c: 461a mov r2, r3 8091c7e: 2127 movs r1, #39 ; 0x27 8091c80: 200a movs r0, #10 8091c82: f7c2 fb3b bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8091c86: 4990 ldr r1, [pc, #576] ; (8091ec8 ) 8091c88: 4893 ldr r0, [pc, #588] ; (8091ed8 ) 8091c8a: f7c1 fd8f bl 80537ac LCD_DisplayStringC(260, LCD_LINE_7, str1); 8091c8e: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8091c92: 461a mov r2, r3 8091c94: 217a movs r1, #122 ; 0x7a 8091c96: f44f 7082 mov.w r0, #260 ; 0x104 8091c9a: f7c2 fb47 bl 805432c LCD_DisplayStringC(260, LCD_LINE_8, (char *) pTME[pardata.LANG][pardata.TME]); 8091c9e: 4b90 ldr r3, [pc, #576] ; (8091ee0 ) 8091ca0: 7b1b ldrb r3, [r3, #12] 8091ca2: b2db uxtb r3, r3 8091ca4: 461a mov r2, r3 8091ca6: 4b8e ldr r3, [pc, #568] ; (8091ee0 ) 8091ca8: 7b9b ldrb r3, [r3, #14] 8091caa: b2db uxtb r3, r3 8091cac: 4618 mov r0, r3 8091cae: 498e ldr r1, [pc, #568] ; (8091ee8 ) 8091cb0: 4613 mov r3, r2 8091cb2: 009b lsls r3, r3, #2 8091cb4: 4413 add r3, r2 8091cb6: 005b lsls r3, r3, #1 8091cb8: 4413 add r3, r2 8091cba: 4403 add r3, r0 8091cbc: f851 3023 ldr.w r3, [r1, r3, lsl #2] 8091cc0: 461a mov r2, r3 8091cc2: 218a movs r1, #138 ; 0x8a 8091cc4: f44f 7082 mov.w r0, #260 ; 0x104 8091cc8: f7c2 fb30 bl 805432c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8091ccc: 497e ldr r1, [pc, #504] ; (8091ec8 ) 8091cce: f04f 30ff mov.w r0, #4294967295 8091cd2: f7c1 fd6b bl 80537ac BSP_LCD_FillRect(255, CHECKBOX_LINE_9, 10, 10); 8091cd6: 230a movs r3, #10 8091cd8: 220a movs r2, #10 8091cda: 219d movs r1, #157 ; 0x9d 8091cdc: 20ff movs r0, #255 ; 0xff 8091cde: f7c2 f9f3 bl 80540c8 BSP_LCD_FillRect(255, CHECKBOX_LINE_11, 10, 10); 8091ce2: 230a movs r3, #10 8091ce4: 220a movs r2, #10 8091ce6: 21bd movs r1, #189 ; 0xbd 8091ce8: 20ff movs r0, #255 ; 0xff 8091cea: f7c2 f9ed bl 80540c8 BSP_LCD_FillRect(255, CHECKBOX_LINE_6, 10, 10); 8091cee: 230a movs r3, #10 8091cf0: 220a movs r2, #10 8091cf2: 216d movs r1, #109 ; 0x6d 8091cf4: 20ff movs r0, #255 ; 0xff 8091cf6: f7c2 f9e7 bl 80540c8 if(pardata.THR & 0x80) 8091cfa: 4b79 ldr r3, [pc, #484] ; (8091ee0 ) 8091cfc: 7bdb ldrb r3, [r3, #15] 8091cfe: b2db uxtb r3, r3 8091d00: b25b sxtb r3, r3 8091d02: 2b00 cmp r3, #0 8091d04: da0c bge.n 8091d20 { LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8091d06: 4970 ldr r1, [pc, #448] ; (8091ec8 ) 8091d08: 4873 ldr r0, [pc, #460] ; (8091ed8 ) 8091d0a: f7c1 fd4f bl 80537ac LCD_DisplayStringC(260, LCD_LINE_10, strMax); 8091d0e: f507 73c0 add.w r3, r7, #384 ; 0x180 8091d12: 461a mov r2, r3 8091d14: 21aa movs r1, #170 ; 0xaa 8091d16: f44f 7082 mov.w r0, #260 ; 0x104 8091d1a: f7c2 fb07 bl 805432c 8091d1e: e017 b.n 8091d50 } else { if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 8091d20: 4b6f ldr r3, [pc, #444] ; (8091ee0 ) 8091d22: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8091d26: f003 0304 and.w r3, r3, #4 8091d2a: 2b00 cmp r3, #0 8091d2c: d104 bne.n 8091d38 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8091d2e: 4966 ldr r1, [pc, #408] ; (8091ec8 ) 8091d30: 4869 ldr r0, [pc, #420] ; (8091ed8 ) 8091d32: f7c1 fd3b bl 80537ac 8091d36: e003 b.n 8091d40 else LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8091d38: 4963 ldr r1, [pc, #396] ; (8091ec8 ) 8091d3a: 4864 ldr r0, [pc, #400] ; (8091ecc ) 8091d3c: f7c1 fd36 bl 80537ac LCD_DisplayStringC(260, LCD_LINE_10, strMax); 8091d40: f507 73c0 add.w r3, r7, #384 ; 0x180 8091d44: 461a mov r2, r3 8091d46: 21aa movs r1, #170 ; 0xaa 8091d48: f44f 7082 mov.w r0, #260 ; 0x104 8091d4c: f7c2 faee bl 805432c } LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8091d50: 495d ldr r1, [pc, #372] ; (8091ec8 ) 8091d52: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8091d56: f7c1 fd29 bl 80537ac if(blk) 8091d5a: 4b5d ldr r3, [pc, #372] ; (8091ed0 ) 8091d5c: 681b ldr r3, [r3, #0] 8091d5e: 2b00 cmp r3, #0 8091d60: d00b beq.n 8091d7a LCD_DisplayString(246, LCD_LINE_12, (char *) pNUMS[ied]); 8091d62: f897 33e4 ldrb.w r3, [r7, #996] ; 0x3e4 8091d66: b2db uxtb r3, r3 8091d68: 461a mov r2, r3 8091d6a: 4b5a ldr r3, [pc, #360] ; (8091ed4 ) 8091d6c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8091d70: 461a mov r2, r3 8091d72: 21ca movs r1, #202 ; 0xca 8091d74: 20f6 movs r0, #246 ; 0xf6 8091d76: f7c2 fac1 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8091d7a: 4953 ldr r1, [pc, #332] ; (8091ec8 ) 8091d7c: 4856 ldr r0, [pc, #344] ; (8091ed8 ) 8091d7e: f7c1 fd15 bl 80537ac LCD_DisplayString(198, LCD_LINE_12, (char *) pNUMS[idt]); 8091d82: f897 33e7 ldrb.w r3, [r7, #999] ; 0x3e7 8091d86: b2db uxtb r3, r3 8091d88: 461a mov r2, r3 8091d8a: 4b52 ldr r3, [pc, #328] ; (8091ed4 ) 8091d8c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8091d90: 461a mov r2, r3 8091d92: 21ca movs r1, #202 ; 0xca 8091d94: 20c6 movs r0, #198 ; 0xc6 8091d96: f7c2 fab1 bl 80542fc LCD_DisplayString(214, LCD_LINE_12, (char *) pNUMS[iet]); 8091d9a: f897 33e6 ldrb.w r3, [r7, #998] ; 0x3e6 8091d9e: b2db uxtb r3, r3 8091da0: 461a mov r2, r3 8091da2: 4b4c ldr r3, [pc, #304] ; (8091ed4 ) 8091da4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8091da8: 461a mov r2, r3 8091daa: 21ca movs r1, #202 ; 0xca 8091dac: 20d6 movs r0, #214 ; 0xd6 8091dae: f7c2 faa5 bl 80542fc LCD_DisplayString(230, LCD_LINE_12, (char *) pNUMS[ies]); 8091db2: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 8091db6: b2db uxtb r3, r3 8091db8: 461a mov r2, r3 8091dba: 4b46 ldr r3, [pc, #280] ; (8091ed4 ) 8091dbc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8091dc0: 461a mov r2, r3 8091dc2: 21ca movs r1, #202 ; 0xca 8091dc4: 20e6 movs r0, #230 ; 0xe6 8091dc6: f7c2 fa99 bl 80542fc LCD_DisplayString(262, LCD_LINE_12, (char *) pNUMS[iee]); 8091dca: f897 33e3 ldrb.w r3, [r7, #995] ; 0x3e3 8091dce: b2db uxtb r3, r3 8091dd0: 461a mov r2, r3 8091dd2: 4b40 ldr r3, [pc, #256] ; (8091ed4 ) 8091dd4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8091dd8: 461a mov r2, r3 8091dda: 21ca movs r1, #202 ; 0xca 8091ddc: f44f 7083 mov.w r0, #262 ; 0x106 8091de0: f7c2 fa8c bl 80542fc LCD_DisplayString(278, LCD_LINE_12, "."); 8091de4: 4a3d ldr r2, [pc, #244] ; (8091edc ) 8091de6: 21ca movs r1, #202 ; 0xca 8091de8: f44f 708b mov.w r0, #278 ; 0x116 8091dec: f7c2 fa86 bl 80542fc LCD_DisplayString(294, LCD_LINE_12, (char *) pNUMS[ikd]); 8091df0: f897 33e2 ldrb.w r3, [r7, #994] ; 0x3e2 8091df4: b2db uxtb r3, r3 8091df6: 461a mov r2, r3 8091df8: 4b36 ldr r3, [pc, #216] ; (8091ed4 ) 8091dfa: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8091dfe: 461a mov r2, r3 8091e00: 21ca movs r1, #202 ; 0xca 8091e02: f44f 7093 mov.w r0, #294 ; 0x126 8091e06: f7c2 fa79 bl 80542fc break; 8091e0a: e266 b.n 80922da case WaveThr_IEE: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8091e0c: 492e ldr r1, [pc, #184] ; (8091ec8 ) 8091e0e: f04f 30ff mov.w r0, #4294967295 8091e12: f7c1 fccb bl 80537ac LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]); //Äàëåå; 8091e16: 4b32 ldr r3, [pc, #200] ; (8091ee0 ) 8091e18: 7b1b ldrb r3, [r3, #12] 8091e1a: b2db uxtb r3, r3 8091e1c: 461a mov r2, r3 8091e1e: 4b31 ldr r3, [pc, #196] ; (8091ee4 ) 8091e20: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8091e24: 461a mov r2, r3 8091e26: 2127 movs r1, #39 ; 0x27 8091e28: 200a movs r0, #10 8091e2a: f7c2 fa67 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8091e2e: 4926 ldr r1, [pc, #152] ; (8091ec8 ) 8091e30: 4829 ldr r0, [pc, #164] ; (8091ed8 ) 8091e32: f7c1 fcbb bl 80537ac LCD_DisplayStringC(260, LCD_LINE_7, str1); 8091e36: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8091e3a: 461a mov r2, r3 8091e3c: 217a movs r1, #122 ; 0x7a 8091e3e: f44f 7082 mov.w r0, #260 ; 0x104 8091e42: f7c2 fa73 bl 805432c LCD_DisplayStringC(260, LCD_LINE_8, (char *) pTME[pardata.LANG][pardata.TME]); 8091e46: 4b26 ldr r3, [pc, #152] ; (8091ee0 ) 8091e48: 7b1b ldrb r3, [r3, #12] 8091e4a: b2db uxtb r3, r3 8091e4c: 461a mov r2, r3 8091e4e: 4b24 ldr r3, [pc, #144] ; (8091ee0 ) 8091e50: 7b9b ldrb r3, [r3, #14] 8091e52: b2db uxtb r3, r3 8091e54: 4618 mov r0, r3 8091e56: 4924 ldr r1, [pc, #144] ; (8091ee8 ) 8091e58: 4613 mov r3, r2 8091e5a: 009b lsls r3, r3, #2 8091e5c: 4413 add r3, r2 8091e5e: 005b lsls r3, r3, #1 8091e60: 4413 add r3, r2 8091e62: 4403 add r3, r0 8091e64: f851 3023 ldr.w r3, [r1, r3, lsl #2] 8091e68: 461a mov r2, r3 8091e6a: 218a movs r1, #138 ; 0x8a 8091e6c: f44f 7082 mov.w r0, #260 ; 0x104 8091e70: f7c2 fa5c bl 805432c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8091e74: 4914 ldr r1, [pc, #80] ; (8091ec8 ) 8091e76: f04f 30ff mov.w r0, #4294967295 8091e7a: f7c1 fc97 bl 80537ac BSP_LCD_FillRect(255, CHECKBOX_LINE_9, 10, 10); 8091e7e: 230a movs r3, #10 8091e80: 220a movs r2, #10 8091e82: 219d movs r1, #157 ; 0x9d 8091e84: 20ff movs r0, #255 ; 0xff 8091e86: f7c2 f91f bl 80540c8 BSP_LCD_FillRect(255, CHECKBOX_LINE_11, 10, 10); 8091e8a: 230a movs r3, #10 8091e8c: 220a movs r2, #10 8091e8e: 21bd movs r1, #189 ; 0xbd 8091e90: 20ff movs r0, #255 ; 0xff 8091e92: f7c2 f919 bl 80540c8 BSP_LCD_FillRect(255, CHECKBOX_LINE_6, 10, 10); 8091e96: 230a movs r3, #10 8091e98: 220a movs r2, #10 8091e9a: 216d movs r1, #109 ; 0x6d 8091e9c: 20ff movs r0, #255 ; 0xff 8091e9e: f7c2 f913 bl 80540c8 if(pardata.THR & 0x80) 8091ea2: 4b0f ldr r3, [pc, #60] ; (8091ee0 ) 8091ea4: 7bdb ldrb r3, [r3, #15] 8091ea6: b2db uxtb r3, r3 8091ea8: b25b sxtb r3, r3 8091eaa: 2b00 cmp r3, #0 8091eac: da1e bge.n 8091eec { LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8091eae: 4906 ldr r1, [pc, #24] ; (8091ec8 ) 8091eb0: 4809 ldr r0, [pc, #36] ; (8091ed8 ) 8091eb2: f7c1 fc7b bl 80537ac LCD_DisplayStringC(260, LCD_LINE_10, strMax); 8091eb6: f507 73c0 add.w r3, r7, #384 ; 0x180 8091eba: 461a mov r2, r3 8091ebc: 21aa movs r1, #170 ; 0xaa 8091ebe: f44f 7082 mov.w r0, #260 ; 0x104 8091ec2: f7c2 fa33 bl 805432c 8091ec6: e029 b.n 8091f1c 8091ec8: ff0a0f1f .word 0xff0a0f1f 8091ecc: ff808080 .word 0xff808080 8091ed0: 2002165c .word 0x2002165c 8091ed4: 20020964 .word 0x20020964 8091ed8: ffd8aa57 .word 0xffd8aa57 8091edc: 080cf7e8 .word 0x080cf7e8 8091ee0: 20023e60 .word 0x20023e60 8091ee4: 200205c4 .word 0x200205c4 8091ee8: 20020334 .word 0x20020334 } else { if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 8091eec: 4ba4 ldr r3, [pc, #656] ; (8092180 ) 8091eee: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8091ef2: f003 0304 and.w r3, r3, #4 8091ef6: 2b00 cmp r3, #0 8091ef8: d104 bne.n 8091f04 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8091efa: 49a2 ldr r1, [pc, #648] ; (8092184 ) 8091efc: 48a2 ldr r0, [pc, #648] ; (8092188 ) 8091efe: f7c1 fc55 bl 80537ac 8091f02: e003 b.n 8091f0c else LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8091f04: 499f ldr r1, [pc, #636] ; (8092184 ) 8091f06: 48a1 ldr r0, [pc, #644] ; (809218c ) 8091f08: f7c1 fc50 bl 80537ac LCD_DisplayStringC(260, LCD_LINE_10, strMax); 8091f0c: f507 73c0 add.w r3, r7, #384 ; 0x180 8091f10: 461a mov r2, r3 8091f12: 21aa movs r1, #170 ; 0xaa 8091f14: f44f 7082 mov.w r0, #260 ; 0x104 8091f18: f7c2 fa08 bl 805432c } LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8091f1c: 4999 ldr r1, [pc, #612] ; (8092184 ) 8091f1e: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8091f22: f7c1 fc43 bl 80537ac if(blk) 8091f26: 4b9a ldr r3, [pc, #616] ; (8092190 ) 8091f28: 681b ldr r3, [r3, #0] 8091f2a: 2b00 cmp r3, #0 8091f2c: d00c beq.n 8091f48 LCD_DisplayString(262, LCD_LINE_12, (char *) pNUMS[iee]); 8091f2e: f897 33e3 ldrb.w r3, [r7, #995] ; 0x3e3 8091f32: b2db uxtb r3, r3 8091f34: 461a mov r2, r3 8091f36: 4b97 ldr r3, [pc, #604] ; (8092194 ) 8091f38: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8091f3c: 461a mov r2, r3 8091f3e: 21ca movs r1, #202 ; 0xca 8091f40: f44f 7083 mov.w r0, #262 ; 0x106 8091f44: f7c2 f9da bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8091f48: 498e ldr r1, [pc, #568] ; (8092184 ) 8091f4a: 488f ldr r0, [pc, #572] ; (8092188 ) 8091f4c: f7c1 fc2e bl 80537ac LCD_DisplayString(198, LCD_LINE_12, (char *) pNUMS[idt]); 8091f50: f897 33e7 ldrb.w r3, [r7, #999] ; 0x3e7 8091f54: b2db uxtb r3, r3 8091f56: 461a mov r2, r3 8091f58: 4b8e ldr r3, [pc, #568] ; (8092194 ) 8091f5a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8091f5e: 461a mov r2, r3 8091f60: 21ca movs r1, #202 ; 0xca 8091f62: 20c6 movs r0, #198 ; 0xc6 8091f64: f7c2 f9ca bl 80542fc LCD_DisplayString(214, LCD_LINE_12, (char *) pNUMS[iet]); 8091f68: f897 33e6 ldrb.w r3, [r7, #998] ; 0x3e6 8091f6c: b2db uxtb r3, r3 8091f6e: 461a mov r2, r3 8091f70: 4b88 ldr r3, [pc, #544] ; (8092194 ) 8091f72: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8091f76: 461a mov r2, r3 8091f78: 21ca movs r1, #202 ; 0xca 8091f7a: 20d6 movs r0, #214 ; 0xd6 8091f7c: f7c2 f9be bl 80542fc LCD_DisplayString(230, LCD_LINE_12, (char *) pNUMS[ies]); 8091f80: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 8091f84: b2db uxtb r3, r3 8091f86: 461a mov r2, r3 8091f88: 4b82 ldr r3, [pc, #520] ; (8092194 ) 8091f8a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8091f8e: 461a mov r2, r3 8091f90: 21ca movs r1, #202 ; 0xca 8091f92: 20e6 movs r0, #230 ; 0xe6 8091f94: f7c2 f9b2 bl 80542fc LCD_DisplayString(246, LCD_LINE_12, (char *) pNUMS[ied]); 8091f98: f897 33e4 ldrb.w r3, [r7, #996] ; 0x3e4 8091f9c: b2db uxtb r3, r3 8091f9e: 461a mov r2, r3 8091fa0: 4b7c ldr r3, [pc, #496] ; (8092194 ) 8091fa2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8091fa6: 461a mov r2, r3 8091fa8: 21ca movs r1, #202 ; 0xca 8091faa: 20f6 movs r0, #246 ; 0xf6 8091fac: f7c2 f9a6 bl 80542fc LCD_DisplayString(278, LCD_LINE_12, "."); 8091fb0: 4a79 ldr r2, [pc, #484] ; (8092198 ) 8091fb2: 21ca movs r1, #202 ; 0xca 8091fb4: f44f 708b mov.w r0, #278 ; 0x116 8091fb8: f7c2 f9a0 bl 80542fc LCD_DisplayString(294, LCD_LINE_12, (char *) pNUMS[ikd]); 8091fbc: f897 33e2 ldrb.w r3, [r7, #994] ; 0x3e2 8091fc0: b2db uxtb r3, r3 8091fc2: 461a mov r2, r3 8091fc4: 4b73 ldr r3, [pc, #460] ; (8092194 ) 8091fc6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8091fca: 461a mov r2, r3 8091fcc: 21ca movs r1, #202 ; 0xca 8091fce: f44f 7093 mov.w r0, #294 ; 0x126 8091fd2: f7c2 f993 bl 80542fc break; 8091fd6: e180 b.n 80922da case WaveThr_IKD: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8091fd8: 496a ldr r1, [pc, #424] ; (8092184 ) 8091fda: f04f 30ff mov.w r0, #4294967295 8091fde: f7c1 fbe5 bl 80537ac LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]); //Äàëåå; 8091fe2: 4b67 ldr r3, [pc, #412] ; (8092180 ) 8091fe4: 7b1b ldrb r3, [r3, #12] 8091fe6: b2db uxtb r3, r3 8091fe8: 461a mov r2, r3 8091fea: 4b6c ldr r3, [pc, #432] ; (809219c ) 8091fec: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8091ff0: 461a mov r2, r3 8091ff2: 2127 movs r1, #39 ; 0x27 8091ff4: 200a movs r0, #10 8091ff6: f7c2 f981 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8091ffa: 4962 ldr r1, [pc, #392] ; (8092184 ) 8091ffc: 4862 ldr r0, [pc, #392] ; (8092188 ) 8091ffe: f7c1 fbd5 bl 80537ac LCD_DisplayStringC(260, LCD_LINE_7, str1); 8092002: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8092006: 461a mov r2, r3 8092008: 217a movs r1, #122 ; 0x7a 809200a: f44f 7082 mov.w r0, #260 ; 0x104 809200e: f7c2 f98d bl 805432c LCD_DisplayStringC(260, LCD_LINE_8, (char *) pTME[pardata.LANG][pardata.TME]); 8092012: 4b5b ldr r3, [pc, #364] ; (8092180 ) 8092014: 7b1b ldrb r3, [r3, #12] 8092016: b2db uxtb r3, r3 8092018: 461a mov r2, r3 809201a: 4b59 ldr r3, [pc, #356] ; (8092180 ) 809201c: 7b9b ldrb r3, [r3, #14] 809201e: b2db uxtb r3, r3 8092020: 4618 mov r0, r3 8092022: 495f ldr r1, [pc, #380] ; (80921a0 ) 8092024: 4613 mov r3, r2 8092026: 009b lsls r3, r3, #2 8092028: 4413 add r3, r2 809202a: 005b lsls r3, r3, #1 809202c: 4413 add r3, r2 809202e: 4403 add r3, r0 8092030: f851 3023 ldr.w r3, [r1, r3, lsl #2] 8092034: 461a mov r2, r3 8092036: 218a movs r1, #138 ; 0x8a 8092038: f44f 7082 mov.w r0, #260 ; 0x104 809203c: f7c2 f976 bl 805432c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8092040: 4950 ldr r1, [pc, #320] ; (8092184 ) 8092042: f04f 30ff mov.w r0, #4294967295 8092046: f7c1 fbb1 bl 80537ac BSP_LCD_FillRect(255, CHECKBOX_LINE_9, 10, 10); 809204a: 230a movs r3, #10 809204c: 220a movs r2, #10 809204e: 219d movs r1, #157 ; 0x9d 8092050: 20ff movs r0, #255 ; 0xff 8092052: f7c2 f839 bl 80540c8 BSP_LCD_FillRect(255, CHECKBOX_LINE_11, 10, 10); 8092056: 230a movs r3, #10 8092058: 220a movs r2, #10 809205a: 21bd movs r1, #189 ; 0xbd 809205c: 20ff movs r0, #255 ; 0xff 809205e: f7c2 f833 bl 80540c8 BSP_LCD_FillRect(255, CHECKBOX_LINE_6, 10, 10); 8092062: 230a movs r3, #10 8092064: 220a movs r2, #10 8092066: 216d movs r1, #109 ; 0x6d 8092068: 20ff movs r0, #255 ; 0xff 809206a: f7c2 f82d bl 80540c8 if(pardata.THR & 0x80) 809206e: 4b44 ldr r3, [pc, #272] ; (8092180 ) 8092070: 7bdb ldrb r3, [r3, #15] 8092072: b2db uxtb r3, r3 8092074: b25b sxtb r3, r3 8092076: 2b00 cmp r3, #0 8092078: da0c bge.n 8092094 { LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 809207a: 4942 ldr r1, [pc, #264] ; (8092184 ) 809207c: 4842 ldr r0, [pc, #264] ; (8092188 ) 809207e: f7c1 fb95 bl 80537ac LCD_DisplayStringC(260, LCD_LINE_10, strMax); 8092082: f507 73c0 add.w r3, r7, #384 ; 0x180 8092086: 461a mov r2, r3 8092088: 21aa movs r1, #170 ; 0xaa 809208a: f44f 7082 mov.w r0, #260 ; 0x104 809208e: f7c2 f94d bl 805432c 8092092: e017 b.n 80920c4 } else { if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 8092094: 4b3a ldr r3, [pc, #232] ; (8092180 ) 8092096: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 809209a: f003 0304 and.w r3, r3, #4 809209e: 2b00 cmp r3, #0 80920a0: d104 bne.n 80920ac LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80920a2: 4938 ldr r1, [pc, #224] ; (8092184 ) 80920a4: 4838 ldr r0, [pc, #224] ; (8092188 ) 80920a6: f7c1 fb81 bl 80537ac 80920aa: e003 b.n 80920b4 else LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80920ac: 4935 ldr r1, [pc, #212] ; (8092184 ) 80920ae: 4837 ldr r0, [pc, #220] ; (809218c ) 80920b0: f7c1 fb7c bl 80537ac LCD_DisplayStringC(260, LCD_LINE_10, strMax); 80920b4: f507 73c0 add.w r3, r7, #384 ; 0x180 80920b8: 461a mov r2, r3 80920ba: 21aa movs r1, #170 ; 0xaa 80920bc: f44f 7082 mov.w r0, #260 ; 0x104 80920c0: f7c2 f934 bl 805432c } LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80920c4: 492f ldr r1, [pc, #188] ; (8092184 ) 80920c6: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80920ca: f7c1 fb6f bl 80537ac if(blk) 80920ce: 4b30 ldr r3, [pc, #192] ; (8092190 ) 80920d0: 681b ldr r3, [r3, #0] 80920d2: 2b00 cmp r3, #0 80920d4: d00c beq.n 80920f0 LCD_DisplayString(294, LCD_LINE_12, (char *) pNUMS[ikd]); 80920d6: f897 33e2 ldrb.w r3, [r7, #994] ; 0x3e2 80920da: b2db uxtb r3, r3 80920dc: 461a mov r2, r3 80920de: 4b2d ldr r3, [pc, #180] ; (8092194 ) 80920e0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80920e4: 461a mov r2, r3 80920e6: 21ca movs r1, #202 ; 0xca 80920e8: f44f 7093 mov.w r0, #294 ; 0x126 80920ec: f7c2 f906 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80920f0: 4924 ldr r1, [pc, #144] ; (8092184 ) 80920f2: 4825 ldr r0, [pc, #148] ; (8092188 ) 80920f4: f7c1 fb5a bl 80537ac LCD_DisplayString(198, LCD_LINE_12, (char *) pNUMS[idt]); 80920f8: f897 33e7 ldrb.w r3, [r7, #999] ; 0x3e7 80920fc: b2db uxtb r3, r3 80920fe: 461a mov r2, r3 8092100: 4b24 ldr r3, [pc, #144] ; (8092194 ) 8092102: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8092106: 461a mov r2, r3 8092108: 21ca movs r1, #202 ; 0xca 809210a: 20c6 movs r0, #198 ; 0xc6 809210c: f7c2 f8f6 bl 80542fc LCD_DisplayString(214, LCD_LINE_12, (char *) pNUMS[iet]); 8092110: f897 33e6 ldrb.w r3, [r7, #998] ; 0x3e6 8092114: b2db uxtb r3, r3 8092116: 461a mov r2, r3 8092118: 4b1e ldr r3, [pc, #120] ; (8092194 ) 809211a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809211e: 461a mov r2, r3 8092120: 21ca movs r1, #202 ; 0xca 8092122: 20d6 movs r0, #214 ; 0xd6 8092124: f7c2 f8ea bl 80542fc LCD_DisplayString(230, LCD_LINE_12, (char *) pNUMS[ies]); 8092128: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 809212c: b2db uxtb r3, r3 809212e: 461a mov r2, r3 8092130: 4b18 ldr r3, [pc, #96] ; (8092194 ) 8092132: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8092136: 461a mov r2, r3 8092138: 21ca movs r1, #202 ; 0xca 809213a: 20e6 movs r0, #230 ; 0xe6 809213c: f7c2 f8de bl 80542fc LCD_DisplayString(246, LCD_LINE_12, (char *) pNUMS[ied]); 8092140: f897 33e4 ldrb.w r3, [r7, #996] ; 0x3e4 8092144: b2db uxtb r3, r3 8092146: 461a mov r2, r3 8092148: 4b12 ldr r3, [pc, #72] ; (8092194 ) 809214a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809214e: 461a mov r2, r3 8092150: 21ca movs r1, #202 ; 0xca 8092152: 20f6 movs r0, #246 ; 0xf6 8092154: f7c2 f8d2 bl 80542fc LCD_DisplayString(262, LCD_LINE_12, (char *) pNUMS[iee]); 8092158: f897 33e3 ldrb.w r3, [r7, #995] ; 0x3e3 809215c: b2db uxtb r3, r3 809215e: 461a mov r2, r3 8092160: 4b0c ldr r3, [pc, #48] ; (8092194 ) 8092162: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8092166: 461a mov r2, r3 8092168: 21ca movs r1, #202 ; 0xca 809216a: f44f 7083 mov.w r0, #262 ; 0x106 809216e: f7c2 f8c5 bl 80542fc LCD_DisplayString(278, LCD_LINE_12, "."); 8092172: 4a09 ldr r2, [pc, #36] ; (8092198 ) 8092174: 21ca movs r1, #202 ; 0xca 8092176: f44f 708b mov.w r0, #278 ; 0x116 809217a: f7c2 f8bf bl 80542fc break; 809217e: e0ac b.n 80922da 8092180: 20023e60 .word 0x20023e60 8092184: ff0a0f1f .word 0xff0a0f1f 8092188: ffd8aa57 .word 0xffd8aa57 809218c: ff808080 .word 0xff808080 8092190: 2002165c .word 0x2002165c 8092194: 20020964 .word 0x20020964 8092198: 080cf7e8 .word 0x080cf7e8 809219c: 200205c4 .word 0x200205c4 80921a0: 20020334 .word 0x20020334 case WaveTacho: LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80921a4: 49ad ldr r1, [pc, #692] ; (809245c ) 80921a6: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80921aa: f7c1 faff bl 80537ac BSP_LCD_FillRect(253, CHECKBOX_LINE_6-2, 14, 14); 80921ae: 230e movs r3, #14 80921b0: 220e movs r2, #14 80921b2: 216b movs r1, #107 ; 0x6b 80921b4: 20fd movs r0, #253 ; 0xfd 80921b6: f7c1 ff87 bl 80540c8 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80921ba: 49a8 ldr r1, [pc, #672] ; (809245c ) 80921bc: f04f 30ff mov.w r0, #4294967295 80921c0: f7c1 faf4 bl 80537ac BSP_LCD_FillRect(255, CHECKBOX_LINE_6, 10, 10); 80921c4: 230a movs r3, #10 80921c6: 220a movs r2, #10 80921c8: 216d movs r1, #109 ; 0x6d 80921ca: 20ff movs r0, #255 ; 0xff 80921cc: f7c1 ff7c bl 80540c8 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80921d0: 49a2 ldr r1, [pc, #648] ; (809245c ) 80921d2: f04f 30ff mov.w r0, #4294967295 80921d6: f7c1 fae9 bl 80537ac LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]); //Äàëåå; 80921da: 4ba1 ldr r3, [pc, #644] ; (8092460 ) 80921dc: 7b1b ldrb r3, [r3, #12] 80921de: b2db uxtb r3, r3 80921e0: 461a mov r2, r3 80921e2: 4ba0 ldr r3, [pc, #640] ; (8092464 ) 80921e4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80921e8: 461a mov r2, r3 80921ea: 2127 movs r1, #39 ; 0x27 80921ec: 200a movs r0, #10 80921ee: f7c2 f885 bl 80542fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80921f2: 499a ldr r1, [pc, #616] ; (809245c ) 80921f4: 489c ldr r0, [pc, #624] ; (8092468 ) 80921f6: f7c1 fad9 bl 80537ac LCD_DisplayStringC(260, LCD_LINE_7, str1); 80921fa: f507 73f6 add.w r3, r7, #492 ; 0x1ec 80921fe: 461a mov r2, r3 8092200: 217a movs r1, #122 ; 0x7a 8092202: f44f 7082 mov.w r0, #260 ; 0x104 8092206: f7c2 f891 bl 805432c LCD_DisplayStringC(260, LCD_LINE_8, (char *) pTME[pardata.LANG][pardata.TME]); 809220a: 4b95 ldr r3, [pc, #596] ; (8092460 ) 809220c: 7b1b ldrb r3, [r3, #12] 809220e: b2db uxtb r3, r3 8092210: 461a mov r2, r3 8092212: 4b93 ldr r3, [pc, #588] ; (8092460 ) 8092214: 7b9b ldrb r3, [r3, #14] 8092216: b2db uxtb r3, r3 8092218: 4618 mov r0, r3 809221a: 4994 ldr r1, [pc, #592] ; (809246c ) 809221c: 4613 mov r3, r2 809221e: 009b lsls r3, r3, #2 8092220: 4413 add r3, r2 8092222: 005b lsls r3, r3, #1 8092224: 4413 add r3, r2 8092226: 4403 add r3, r0 8092228: f851 3023 ldr.w r3, [r1, r3, lsl #2] 809222c: 461a mov r2, r3 809222e: 218a movs r1, #138 ; 0x8a 8092230: f44f 7082 mov.w r0, #260 ; 0x104 8092234: f7c2 f87a bl 805432c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8092238: 4988 ldr r1, [pc, #544] ; (809245c ) 809223a: f04f 30ff mov.w r0, #4294967295 809223e: f7c1 fab5 bl 80537ac BSP_LCD_FillRect(255, CHECKBOX_LINE_9, 10, 10); 8092242: 230a movs r3, #10 8092244: 220a movs r2, #10 8092246: 219d movs r1, #157 ; 0x9d 8092248: 20ff movs r0, #255 ; 0xff 809224a: f7c1 ff3d bl 80540c8 BSP_LCD_FillRect(255, CHECKBOX_LINE_11, 10, 10); 809224e: 230a movs r3, #10 8092250: 220a movs r2, #10 8092252: 21bd movs r1, #189 ; 0xbd 8092254: 20ff movs r0, #255 ; 0xff 8092256: f7c1 ff37 bl 80540c8 if(pardata.THR & 0x80) 809225a: 4b81 ldr r3, [pc, #516] ; (8092460 ) 809225c: 7bdb ldrb r3, [r3, #15] 809225e: b2db uxtb r3, r3 8092260: b25b sxtb r3, r3 8092262: 2b00 cmp r3, #0 8092264: da14 bge.n 8092290 { LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8092266: 497d ldr r1, [pc, #500] ; (809245c ) 8092268: 487f ldr r0, [pc, #508] ; (8092468 ) 809226a: f7c1 fa9f bl 80537ac LCD_DisplayStringC(260, LCD_LINE_10, strMax); 809226e: f507 73c0 add.w r3, r7, #384 ; 0x180 8092272: 461a mov r2, r3 8092274: 21aa movs r1, #170 ; 0xaa 8092276: f44f 7082 mov.w r0, #260 ; 0x104 809227a: f7c2 f857 bl 805432c LCD_DisplayStringC(260, LCD_LINE_12, strThr); 809227e: f507 73c6 add.w r3, r7, #396 ; 0x18c 8092282: 461a mov r2, r3 8092284: 21ca movs r1, #202 ; 0xca 8092286: f44f 7082 mov.w r0, #260 ; 0x104 809228a: f7c2 f84f bl 805432c 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; 809228e: e023 b.n 80922d8 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8092290: 4972 ldr r1, [pc, #456] ; (809245c ) 8092292: 4877 ldr r0, [pc, #476] ; (8092470 ) 8092294: f7c1 fa8a bl 80537ac LCD_DisplayStringC(260, LCD_LINE_12, strThr); 8092298: f507 73c6 add.w r3, r7, #396 ; 0x18c 809229c: 461a mov r2, r3 809229e: 21ca movs r1, #202 ; 0xca 80922a0: f44f 7082 mov.w r0, #260 ; 0x104 80922a4: f7c2 f842 bl 805432c if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 80922a8: 4b6d ldr r3, [pc, #436] ; (8092460 ) 80922aa: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80922ae: f003 0304 and.w r3, r3, #4 80922b2: 2b00 cmp r3, #0 80922b4: d104 bne.n 80922c0 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80922b6: 4969 ldr r1, [pc, #420] ; (809245c ) 80922b8: 486b ldr r0, [pc, #428] ; (8092468 ) 80922ba: f7c1 fa77 bl 80537ac 80922be: e003 b.n 80922c8 else LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80922c0: 4966 ldr r1, [pc, #408] ; (809245c ) 80922c2: 486b ldr r0, [pc, #428] ; (8092470 ) 80922c4: f7c1 fa72 bl 80537ac LCD_DisplayStringC(260, LCD_LINE_10, strMax); 80922c8: f507 73c0 add.w r3, r7, #384 ; 0x180 80922cc: 461a mov r2, r3 80922ce: 21aa movs r1, #170 ; 0xaa 80922d0: f44f 7082 mov.w r0, #260 ; 0x104 80922d4: f7c2 f82a bl 805432c break; 80922d8: bf00 nop } if(pardata.OPTIONS & 0x4) // Åñëè àâòîóñèëåíèå 80922da: 4b61 ldr r3, [pc, #388] ; (8092460 ) 80922dc: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80922e0: f003 0304 and.w r3, r3, #4 80922e4: 2b00 cmp r3, #0 80922e6: d00a beq.n 80922fe { LCD_SetColors(LCD_COLOR_DARKGRAY, LCD_COLOR_BLACK); 80922e8: 495c ldr r1, [pc, #368] ; (809245c ) 80922ea: 4862 ldr r0, [pc, #392] ; (8092474 ) 80922ec: f7c1 fa5e bl 80537ac BSP_LCD_FillRect(257, CHECKBOX_LINE_9+2, 6, 6); 80922f0: 2306 movs r3, #6 80922f2: 2206 movs r2, #6 80922f4: 219f movs r1, #159 ; 0x9f 80922f6: f240 1001 movw r0, #257 ; 0x101 80922fa: f7c1 fee5 bl 80540c8 } if(pardata.OPTIONS & BIT7) 80922fe: 4b58 ldr r3, [pc, #352] ; (8092460 ) 8092300: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8092304: f003 0380 and.w r3, r3, #128 ; 0x80 8092308: 2b00 cmp r3, #0 809230a: d00a beq.n 8092322 { LCD_SetColors(LCD_COLOR_DARKGRAY, LCD_COLOR_BLACK); 809230c: 4953 ldr r1, [pc, #332] ; (809245c ) 809230e: 4859 ldr r0, [pc, #356] ; (8092474 ) 8092310: f7c1 fa4c bl 80537ac BSP_LCD_FillRect(257, CHECKBOX_LINE_6+2, 6, 6); 8092314: 2306 movs r3, #6 8092316: 2206 movs r2, #6 8092318: 216f movs r1, #111 ; 0x6f 809231a: f240 1001 movw r0, #257 ; 0x101 809231e: f7c1 fed3 bl 80540c8 } if(pardata.THR & 0x80) // Åñëè ïîðîã åíåéáëåä 8092322: 4b4f ldr r3, [pc, #316] ; (8092460 ) 8092324: 7bdb ldrb r3, [r3, #15] 8092326: b2db uxtb r3, r3 8092328: b25b sxtb r3, r3 809232a: 2b00 cmp r3, #0 809232c: f285 8153 bge.w 80975d6 { LCD_SetColors(LCD_COLOR_DARKGRAY, LCD_COLOR_BLACK); 8092330: 494a ldr r1, [pc, #296] ; (809245c ) 8092332: 4850 ldr r0, [pc, #320] ; (8092474 ) 8092334: f7c1 fa3a bl 80537ac BSP_LCD_FillRect(257, CHECKBOX_LINE_11+2, 6, 6); 8092338: 2306 movs r3, #6 809233a: 2206 movs r2, #6 809233c: 21bf movs r1, #191 ; 0xbf 809233e: f240 1001 movw r0, #257 ; 0x101 8092342: f7c1 fec1 bl 80540c8 } break; 8092346: f005 b946 b.w 80975d6 case EXPLORER: if(pardata.LANG == RUS) 809234a: 4b45 ldr r3, [pc, #276] ; (8092460 ) 809234c: 7b1b ldrb r3, [r3, #12] 809234e: b2db uxtb r3, r3 8092350: 2b00 cmp r3, #0 8092352: d105 bne.n 8092360 DrawImage(&bmLEGEND_PTM_RUS, 0, 45); 8092354: 222d movs r2, #45 ; 0x2d 8092356: 2100 movs r1, #0 8092358: 4847 ldr r0, [pc, #284] ; (8092478 ) 809235a: f7c2 f91b bl 8054594 809235e: e004 b.n 809236a else DrawImage(&bmLEGEND_PTM_ENG, 0, 45); 8092360: 222d movs r2, #45 ; 0x2d 8092362: 2100 movs r1, #0 8092364: 4845 ldr r0, [pc, #276] ; (809247c ) 8092366: f7c2 f915 bl 8054594 if(menupos == NoFilesPTM) 809236a: 4b45 ldr r3, [pc, #276] ; (8092480 ) 809236c: 781b ldrb r3, [r3, #0] 809236e: b2db uxtb r3, r3 8092370: 2b01 cmp r3, #1 8092372: d13a bne.n 80923ea { BSP_LCD_SetFont(&Font12); 8092374: 4843 ldr r0, [pc, #268] ; (8092484 ) 8092376: f7c1 fa55 bl 8053824 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 809237a: 4938 ldr r1, [pc, #224] ; (809245c ) 809237c: f04f 30ff mov.w r0, #4294967295 8092380: f7c1 fa14 bl 80537ac if(pardata.LANG == RUS) 8092384: 4b36 ldr r3, [pc, #216] ; (8092460 ) 8092386: 7b1b ldrb r3, [r3, #12] 8092388: b2db uxtb r3, r3 809238a: 2b00 cmp r3, #0 809238c: d113 bne.n 80923b6 { BSP_LCD_DisplayStringAt(160, 111, "Ôàéëû èçìåðåíèé îòñóòñòâóþò.", CENTER_MODE); 809238e: 2301 movs r3, #1 8092390: 4a3d ldr r2, [pc, #244] ; (8092488 ) 8092392: 216f movs r1, #111 ; 0x6f 8092394: 20a0 movs r0, #160 ; 0xa0 8092396: f7c1 facf bl 8053938 BSP_LCD_DisplayStringAt(160, 111+15, "Äëÿ ñîõðàíåíèÿ ðåçóëüòàòîâ", CENTER_MODE); 809239a: 2301 movs r3, #1 809239c: 4a3b ldr r2, [pc, #236] ; (809248c ) 809239e: 217e movs r1, #126 ; 0x7e 80923a0: 20a0 movs r0, #160 ; 0xa0 80923a2: f7c1 fac9 bl 8053938 BSP_LCD_DisplayStringAt(160, 111+30, "èçìåðåíèé ñîçäàéòå íîâûé ôàéë.", CENTER_MODE); 80923a6: 2301 movs r3, #1 80923a8: 4a39 ldr r2, [pc, #228] ; (8092490 ) 80923aa: 218d movs r1, #141 ; 0x8d 80923ac: 20a0 movs r0, #160 ; 0xa0 80923ae: f7c1 fac3 bl 8053938 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); BSP_LCD_DisplayStringAt(160, 175, "OK", CENTER_MODE); } } } break; 80923b2: f005 b912 b.w 80975da BSP_LCD_DisplayStringAt(160, 111, "The file measurements are not", CENTER_MODE); 80923b6: 2301 movs r3, #1 80923b8: 4a36 ldr r2, [pc, #216] ; (8092494 ) 80923ba: 216f movs r1, #111 ; 0x6f 80923bc: 20a0 movs r0, #160 ; 0xa0 80923be: f7c1 fabb bl 8053938 BSP_LCD_DisplayStringAt(160, 111+15, "available. To save the", CENTER_MODE); 80923c2: 2301 movs r3, #1 80923c4: 4a34 ldr r2, [pc, #208] ; (8092498 ) 80923c6: 217e movs r1, #126 ; 0x7e 80923c8: 20a0 movs r0, #160 ; 0xa0 80923ca: f7c1 fab5 bl 8053938 BSP_LCD_DisplayStringAt(160, 111+30, "measurement results, create", CENTER_MODE); 80923ce: 2301 movs r3, #1 80923d0: 4a32 ldr r2, [pc, #200] ; (809249c ) 80923d2: 218d movs r1, #141 ; 0x8d 80923d4: 20a0 movs r0, #160 ; 0xa0 80923d6: f7c1 faaf bl 8053938 BSP_LCD_DisplayStringAt(160, 111+45, "a new file.", CENTER_MODE); 80923da: 2301 movs r3, #1 80923dc: 4a30 ldr r2, [pc, #192] ; (80924a0 ) 80923de: 219c movs r1, #156 ; 0x9c 80923e0: 20a0 movs r0, #160 ; 0xa0 80923e2: f7c1 faa9 bl 8053938 break; 80923e6: f005 b8f8 b.w 80975da if((menupos == FilesPTM) || (menupos == UpNo) || (menupos == UpYes) || (menupos == CleanUpResult)) 80923ea: 4b25 ldr r3, [pc, #148] ; (8092480 ) 80923ec: 781b ldrb r3, [r3, #0] 80923ee: b2db uxtb r3, r3 80923f0: 2b02 cmp r3, #2 80923f2: d00f beq.n 8092414 80923f4: 4b22 ldr r3, [pc, #136] ; (8092480 ) 80923f6: 781b ldrb r3, [r3, #0] 80923f8: b2db uxtb r3, r3 80923fa: 2b06 cmp r3, #6 80923fc: d00a beq.n 8092414 80923fe: 4b20 ldr r3, [pc, #128] ; (8092480 ) 8092400: 781b ldrb r3, [r3, #0] 8092402: b2db uxtb r3, r3 8092404: 2b07 cmp r3, #7 8092406: d005 beq.n 8092414 8092408: 4b1d ldr r3, [pc, #116] ; (8092480 ) 809240a: 781b ldrb r3, [r3, #0] 809240c: b2db uxtb r3, r3 809240e: 2b0a cmp r3, #10 8092410: f045 80e3 bne.w 80975da BSP_LCD_SetFont(&Font12); 8092414: 481b ldr r0, [pc, #108] ; (8092484 ) 8092416: f7c1 fa05 bl 8053824 for(i = 0; i < VIEW_FILES; i++) 809241a: 2300 movs r3, #0 809241c: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 8092420: e1a8 b.n 8092774 if(CursorIndex == i) 8092422: 4b20 ldr r3, [pc, #128] ; (80924a4 ) 8092424: 681a ldr r2, [r3, #0] 8092426: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 809242a: 429a cmp r2, r3 809242c: d142 bne.n 80924b4 LCD_SetColors(LCD_COLOR_CURSOR, LCD_COLOR_CURSOR); 809242e: 491e ldr r1, [pc, #120] ; (80924a8 ) 8092430: 481d ldr r0, [pc, #116] ; (80924a8 ) 8092432: f7c1 f9bb bl 80537ac BSP_LCD_FillRect(3, POS_Y_12[i], 312, CurrentFont->Height); 8092436: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 809243a: 4a1c ldr r2, [pc, #112] ; (80924ac ) 809243c: f832 1013 ldrh.w r1, [r2, r3, lsl #1] 8092440: 4b1b ldr r3, [pc, #108] ; (80924b0 ) 8092442: 681b ldr r3, [r3, #0] 8092444: 88db ldrh r3, [r3, #6] 8092446: f44f 729c mov.w r2, #312 ; 0x138 809244a: 2003 movs r0, #3 809244c: f7c1 fe3c bl 80540c8 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8092450: 4915 ldr r1, [pc, #84] ; (80924a8 ) 8092452: f04f 30ff mov.w r0, #4294967295 8092456: f7c1 f9a9 bl 80537ac 809245a: e030 b.n 80924be 809245c: ff0a0f1f .word 0xff0a0f1f 8092460: 20023e60 .word 0x20023e60 8092464: 200205c4 .word 0x200205c4 8092468: ffd8aa57 .word 0xffd8aa57 809246c: 20020334 .word 0x20020334 8092470: ff808080 .word 0xff808080 8092474: ff404040 .word 0xff404040 8092478: 0812dd84 .word 0x0812dd84 809247c: 08129278 .word 0x08129278 8092480: 20020070 .word 0x20020070 8092484: 20020038 .word 0x20020038 8092488: 080d0144 .word 0x080d0144 809248c: 080d0164 .word 0x080d0164 8092490: 080d0180 .word 0x080d0180 8092494: 080d01a0 .word 0x080d01a0 8092498: 080d01c0 .word 0x080d01c0 809249c: 080d01d8 .word 0x080d01d8 80924a0: 080d01f4 .word 0x080d01f4 80924a4: 20020de0 .word 0x20020de0 80924a8: ff606060 .word 0xff606060 80924ac: 080ef4a0 .word 0x080ef4a0 80924b0: 20025d24 .word 0x20025d24 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80924b4: 499e ldr r1, [pc, #632] ; (8092730 ) 80924b6: f04f 30ff mov.w r0, #4294967295 80924ba: f7c1 f977 bl 80537ac if(ExplorerFiles[i].fname[0] != 0) 80924be: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 80924c2: 499c ldr r1, [pc, #624] ; (8092734 ) 80924c4: 4613 mov r3, r2 80924c6: 00db lsls r3, r3, #3 80924c8: 1a9b subs r3, r3, r2 80924ca: 00db lsls r3, r3, #3 80924cc: 440b add r3, r1 80924ce: 330c adds r3, #12 80924d0: 781b ldrb r3, [r3, #0] 80924d2: 2b00 cmp r3, #0 80924d4: f000 8149 beq.w 809276a BSP_LCD_DisplayStringAt(5, POS_Y_12[i], (char *) ExplorerFiles[i].fname, LEFT_MODE); 80924d8: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80924dc: 4a96 ldr r2, [pc, #600] ; (8092738 ) 80924de: f832 1013 ldrh.w r1, [r2, r3, lsl #1] 80924e2: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 80924e6: 4613 mov r3, r2 80924e8: 00db lsls r3, r3, #3 80924ea: 1a9b subs r3, r3, r2 80924ec: 00db lsls r3, r3, #3 80924ee: 3308 adds r3, #8 80924f0: 4a90 ldr r2, [pc, #576] ; (8092734 ) 80924f2: 4413 add r3, r2 80924f4: 1d1a adds r2, r3, #4 80924f6: 2303 movs r3, #3 80924f8: 2005 movs r0, #5 80924fa: f7c1 fa1d bl 8053938 k = 0; 80924fe: 2300 movs r3, #0 8092500: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 GetDateTimeFromUnix(&FatTime, ExplorerFiles[i].datetime); 8092504: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 8092508: 498a ldr r1, [pc, #552] ; (8092734 ) 809250a: 4613 mov r3, r2 809250c: 00db lsls r3, r3, #3 809250e: 1a9b subs r3, r3, r2 8092510: 00db lsls r3, r3, #3 8092512: 440b add r3, r1 8092514: 3308 adds r3, #8 8092516: 681a ldr r2, [r3, #0] 8092518: f107 030c add.w r3, r7, #12 809251c: 4611 mov r1, r2 809251e: 4618 mov r0, r3 8092520: f7d5 f814 bl 806754c str1[k++] = (FatTime.Date / 10) + 48; 8092524: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8092528: 1c5a adds r2, r3, #1 809252a: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 809252e: f107 020c add.w r2, r7, #12 8092532: 7852 ldrb r2, [r2, #1] 8092534: 4981 ldr r1, [pc, #516] ; (809273c ) 8092536: fba1 1202 umull r1, r2, r1, r2 809253a: 08d2 lsrs r2, r2, #3 809253c: b2d2 uxtb r2, r2 809253e: 3230 adds r2, #48 ; 0x30 8092540: b2d1 uxtb r1, r2 8092542: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8092546: 54d1 strb r1, [r2, r3] str1[k++] = (FatTime.Date % 10) + 48; 8092548: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 809254c: 1c53 adds r3, r2, #1 809254e: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8092552: f107 030c add.w r3, r7, #12 8092556: 7859 ldrb r1, [r3, #1] 8092558: 4b78 ldr r3, [pc, #480] ; (809273c ) 809255a: fba3 0301 umull r0, r3, r3, r1 809255e: 08d8 lsrs r0, r3, #3 8092560: 4603 mov r3, r0 8092562: 009b lsls r3, r3, #2 8092564: 4403 add r3, r0 8092566: 005b lsls r3, r3, #1 8092568: 1acb subs r3, r1, r3 809256a: b2db uxtb r3, r3 809256c: 3330 adds r3, #48 ; 0x30 809256e: b2d9 uxtb r1, r3 8092570: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8092574: 5499 strb r1, [r3, r2] str1[k++] = '.'; 8092576: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 809257a: 1c5a adds r2, r3, #1 809257c: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 8092580: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8092584: 212e movs r1, #46 ; 0x2e 8092586: 54d1 strb r1, [r2, r3] str1[k++] = (FatTime.Month / 10) + 48; 8092588: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 809258c: 1c5a adds r2, r3, #1 809258e: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 8092592: f107 020c add.w r2, r7, #12 8092596: 7812 ldrb r2, [r2, #0] 8092598: 4968 ldr r1, [pc, #416] ; (809273c ) 809259a: fba1 1202 umull r1, r2, r1, r2 809259e: 08d2 lsrs r2, r2, #3 80925a0: b2d2 uxtb r2, r2 80925a2: 3230 adds r2, #48 ; 0x30 80925a4: b2d1 uxtb r1, r2 80925a6: f507 72f6 add.w r2, r7, #492 ; 0x1ec 80925aa: 54d1 strb r1, [r2, r3] str1[k++] = (FatTime.Month % 10) + 48; 80925ac: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 80925b0: 1c53 adds r3, r2, #1 80925b2: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 80925b6: f107 030c add.w r3, r7, #12 80925ba: 7819 ldrb r1, [r3, #0] 80925bc: 4b5f ldr r3, [pc, #380] ; (809273c ) 80925be: fba3 0301 umull r0, r3, r3, r1 80925c2: 08d8 lsrs r0, r3, #3 80925c4: 4603 mov r3, r0 80925c6: 009b lsls r3, r3, #2 80925c8: 4403 add r3, r0 80925ca: 005b lsls r3, r3, #1 80925cc: 1acb subs r3, r1, r3 80925ce: b2db uxtb r3, r3 80925d0: 3330 adds r3, #48 ; 0x30 80925d2: b2d9 uxtb r1, r3 80925d4: f507 73f6 add.w r3, r7, #492 ; 0x1ec 80925d8: 5499 strb r1, [r3, r2] str1[k++] = '.'; 80925da: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80925de: 1c5a adds r2, r3, #1 80925e0: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 80925e4: f507 72f6 add.w r2, r7, #492 ; 0x1ec 80925e8: 212e movs r1, #46 ; 0x2e 80925ea: 54d1 strb r1, [r2, r3] str1[k++] = (FatTime.Year / 10) + 48; 80925ec: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80925f0: 1c5a adds r2, r3, #1 80925f2: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 80925f6: f107 020c add.w r2, r7, #12 80925fa: 7892 ldrb r2, [r2, #2] 80925fc: 494f ldr r1, [pc, #316] ; (809273c ) 80925fe: fba1 1202 umull r1, r2, r1, r2 8092602: 08d2 lsrs r2, r2, #3 8092604: b2d2 uxtb r2, r2 8092606: 3230 adds r2, #48 ; 0x30 8092608: b2d1 uxtb r1, r2 809260a: f507 72f6 add.w r2, r7, #492 ; 0x1ec 809260e: 54d1 strb r1, [r2, r3] str1[k++] = (FatTime.Year % 10) + 48; 8092610: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8092614: 1c53 adds r3, r2, #1 8092616: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 809261a: f107 030c add.w r3, r7, #12 809261e: 7899 ldrb r1, [r3, #2] 8092620: 4b46 ldr r3, [pc, #280] ; (809273c ) 8092622: fba3 0301 umull r0, r3, r3, r1 8092626: 08d8 lsrs r0, r3, #3 8092628: 4603 mov r3, r0 809262a: 009b lsls r3, r3, #2 809262c: 4403 add r3, r0 809262e: 005b lsls r3, r3, #1 8092630: 1acb subs r3, r1, r3 8092632: b2db uxtb r3, r3 8092634: 3330 adds r3, #48 ; 0x30 8092636: b2d9 uxtb r1, r3 8092638: f507 73f6 add.w r3, r7, #492 ; 0x1ec 809263c: 5499 strb r1, [r3, r2] str1[k++] = ' '; 809263e: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8092642: 1c5a adds r2, r3, #1 8092644: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 8092648: f507 72f6 add.w r2, r7, #492 ; 0x1ec 809264c: 2120 movs r1, #32 809264e: 54d1 strb r1, [r2, r3] str1[k++] = (FatTime.Hours / 10) + 48; 8092650: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8092654: 1c5a adds r2, r3, #1 8092656: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 809265a: f107 020c add.w r2, r7, #12 809265e: 78d2 ldrb r2, [r2, #3] 8092660: 4936 ldr r1, [pc, #216] ; (809273c ) 8092662: fba1 1202 umull r1, r2, r1, r2 8092666: 08d2 lsrs r2, r2, #3 8092668: b2d2 uxtb r2, r2 809266a: 3230 adds r2, #48 ; 0x30 809266c: b2d1 uxtb r1, r2 809266e: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8092672: 54d1 strb r1, [r2, r3] str1[k++] = (FatTime.Hours % 10) + 48; 8092674: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8092678: 1c53 adds r3, r2, #1 809267a: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 809267e: f107 030c add.w r3, r7, #12 8092682: 78d9 ldrb r1, [r3, #3] 8092684: 4b2d ldr r3, [pc, #180] ; (809273c ) 8092686: fba3 0301 umull r0, r3, r3, r1 809268a: 08d8 lsrs r0, r3, #3 809268c: 4603 mov r3, r0 809268e: 009b lsls r3, r3, #2 8092690: 4403 add r3, r0 8092692: 005b lsls r3, r3, #1 8092694: 1acb subs r3, r1, r3 8092696: b2db uxtb r3, r3 8092698: 3330 adds r3, #48 ; 0x30 809269a: b2d9 uxtb r1, r3 809269c: f507 73f6 add.w r3, r7, #492 ; 0x1ec 80926a0: 5499 strb r1, [r3, r2] str1[k++] = ':'; 80926a2: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80926a6: 1c5a adds r2, r3, #1 80926a8: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 80926ac: f507 72f6 add.w r2, r7, #492 ; 0x1ec 80926b0: 213a movs r1, #58 ; 0x3a 80926b2: 54d1 strb r1, [r2, r3] str1[k++] = (FatTime.Minutes / 10) + 48; 80926b4: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80926b8: 1c5a adds r2, r3, #1 80926ba: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 80926be: f107 020c add.w r2, r7, #12 80926c2: 7912 ldrb r2, [r2, #4] 80926c4: 491d ldr r1, [pc, #116] ; (809273c ) 80926c6: fba1 1202 umull r1, r2, r1, r2 80926ca: 08d2 lsrs r2, r2, #3 80926cc: b2d2 uxtb r2, r2 80926ce: 3230 adds r2, #48 ; 0x30 80926d0: b2d1 uxtb r1, r2 80926d2: f507 72f6 add.w r2, r7, #492 ; 0x1ec 80926d6: 54d1 strb r1, [r2, r3] str1[k++] = (FatTime.Minutes % 10) + 48; 80926d8: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 80926dc: 1c53 adds r3, r2, #1 80926de: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 80926e2: f107 030c add.w r3, r7, #12 80926e6: 7919 ldrb r1, [r3, #4] 80926e8: 4b14 ldr r3, [pc, #80] ; (809273c ) 80926ea: fba3 0301 umull r0, r3, r3, r1 80926ee: 08d8 lsrs r0, r3, #3 80926f0: 4603 mov r3, r0 80926f2: 009b lsls r3, r3, #2 80926f4: 4403 add r3, r0 80926f6: 005b lsls r3, r3, #1 80926f8: 1acb subs r3, r1, r3 80926fa: b2db uxtb r3, r3 80926fc: 3330 adds r3, #48 ; 0x30 80926fe: b2d9 uxtb r1, r3 8092700: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8092704: 5499 strb r1, [r3, r2] str1[k++] = '\0'; 8092706: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 809270a: 1c5a adds r2, r3, #1 809270c: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 8092710: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8092714: 2100 movs r1, #0 8092716: 54d1 strb r1, [r2, r3] if(CursorIndex == i) 8092718: 4b09 ldr r3, [pc, #36] ; (8092740 ) 809271a: 681a ldr r2, [r3, #0] 809271c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8092720: 429a cmp r2, r3 8092722: d111 bne.n 8092748 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8092724: 4907 ldr r1, [pc, #28] ; (8092744 ) 8092726: f04f 30ff mov.w r0, #4294967295 809272a: f7c1 f83f bl 80537ac 809272e: e010 b.n 8092752 8092730: ff0a0f1f .word 0xff0a0f1f 8092734: 20022350 .word 0x20022350 8092738: 080ef4a0 .word 0x080ef4a0 809273c: cccccccd .word 0xcccccccd 8092740: 20020de0 .word 0x20020de0 8092744: ff606060 .word 0xff606060 else LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8092748: 49c0 ldr r1, [pc, #768] ; (8092a4c ) 809274a: f04f 30ff mov.w r0, #4294967295 809274e: f7c1 f82d bl 80537ac BSP_LCD_DisplayStringAt(312, POS_Y_12[i], str1, RIGHT_MODE); 8092752: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8092756: 4abe ldr r2, [pc, #760] ; (8092a50 ) 8092758: f832 1013 ldrh.w r1, [r2, r3, lsl #1] 809275c: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8092760: 2302 movs r3, #2 8092762: f44f 709c mov.w r0, #312 ; 0x138 8092766: f7c1 f8e7 bl 8053938 for(i = 0; i < VIEW_FILES; i++) 809276a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 809276e: 3301 adds r3, #1 8092770: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 8092774: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8092778: 2b0b cmp r3, #11 809277a: f67f ae52 bls.w 8092422 if(NumFilesPTM > VIEW_FILES) 809277e: 4bb5 ldr r3, [pc, #724] ; (8092a54 ) 8092780: 681b ldr r3, [r3, #0] 8092782: 2b0c cmp r3, #12 8092784: d95f bls.n 8092846 k = (140 * VIEW_FILES) / NumFilesPTM; //äëèíà ïîëçóíêà 8092786: 4bb3 ldr r3, [pc, #716] ; (8092a54 ) 8092788: 681b ldr r3, [r3, #0] 809278a: f44f 62d2 mov.w r2, #1680 ; 0x690 809278e: fbb2 f3f3 udiv r3, r2, r3 8092792: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 f = (float32_t) (140 * FirstFileIndex); 8092796: 4bb0 ldr r3, [pc, #704] ; (8092a58 ) 8092798: 681b ldr r3, [r3, #0] 809279a: 228c movs r2, #140 ; 0x8c 809279c: fb02 f303 mul.w r3, r2, r3 80927a0: ee07 3a90 vmov s15, r3 80927a4: eef8 7a67 vcvt.f32.u32 s15, s15 80927a8: f507 638b add.w r3, r7, #1112 ; 0x458 80927ac: edc3 7a00 vstr s15, [r3] f = (f / (float32_t) NumFilesPTM) + 96.0f; 80927b0: 4ba8 ldr r3, [pc, #672] ; (8092a54 ) 80927b2: 681b ldr r3, [r3, #0] 80927b4: ee07 3a90 vmov s15, r3 80927b8: eeb8 7a67 vcvt.f32.u32 s14, s15 80927bc: f507 638b add.w r3, r7, #1112 ; 0x458 80927c0: edd3 6a00 vldr s13, [r3] 80927c4: eec6 7a87 vdiv.f32 s15, s13, s14 80927c8: ed9f 7aa4 vldr s14, [pc, #656] ; 8092a5c 80927cc: ee77 7a87 vadd.f32 s15, s15, s14 80927d0: f507 638b add.w r3, r7, #1112 ; 0x458 80927d4: edc3 7a00 vstr s15, [r3] y0 = (uint16_t) f; //âåðõíÿÿ êîîðäèíàòà ïîëçóíêà 80927d8: f507 638b add.w r3, r7, #1112 ; 0x458 80927dc: edd3 7a00 vldr s15, [r3] 80927e0: eefc 7ae7 vcvt.u32.f32 s15, s15 80927e4: edc7 7a01 vstr s15, [r7, #4] 80927e8: 88bb ldrh r3, [r7, #4] 80927ea: f8a7 343c strh.w r3, [r7, #1084] ; 0x43c y1 = y0 + k; 80927ee: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80927f2: b29a uxth r2, r3 80927f4: f8b7 343c ldrh.w r3, [r7, #1084] ; 0x43c 80927f8: 4413 add r3, r2 80927fa: f8a7 343a strh.w r3, [r7, #1082] ; 0x43a if(y1 > 236) 80927fe: f8b7 343a ldrh.w r3, [r7, #1082] ; 0x43a 8092802: 2bec cmp r3, #236 ; 0xec 8092804: d905 bls.n 8092812 k = 236 - y0; 8092806: f8b7 343c ldrh.w r3, [r7, #1084] ; 0x43c 809280a: f1c3 03ec rsb r3, r3, #236 ; 0xec 809280e: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 8092812: 498e ldr r1, [pc, #568] ; (8092a4c ) 8092814: 4892 ldr r0, [pc, #584] ; (8092a60 ) 8092816: f7c0 ffc9 bl 80537ac BSP_LCD_DrawRect(314, 94, 5, 143); 809281a: 238f movs r3, #143 ; 0x8f 809281c: 2205 movs r2, #5 809281e: 215e movs r1, #94 ; 0x5e 8092820: f44f 709d mov.w r0, #314 ; 0x13a 8092824: f7c1 fac8 bl 8053db8 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8092828: 4988 ldr r1, [pc, #544] ; (8092a4c ) 809282a: f04f 30ff mov.w r0, #4294967295 809282e: f7c0 ffbd bl 80537ac BSP_LCD_FillRect(316, y0, 2, k); 8092832: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8092836: b29b uxth r3, r3 8092838: f8b7 143c ldrh.w r1, [r7, #1084] ; 0x43c 809283c: 2202 movs r2, #2 809283e: f44f 709e mov.w r0, #316 ; 0x13c 8092842: f7c1 fc41 bl 80540c8 if((menupos != NoFilesGTR) && (menupos != FilesGTR)) 8092846: 4b87 ldr r3, [pc, #540] ; (8092a64 ) 8092848: 781b ldrb r3, [r3, #0] 809284a: b2db uxtb r3, r3 809284c: 2b01 cmp r3, #1 809284e: f004 86c4 beq.w 80975da 8092852: 4b84 ldr r3, [pc, #528] ; (8092a64 ) 8092854: 781b ldrb r3, [r3, #0] 8092856: b2db uxtb r3, r3 8092858: 2b02 cmp r3, #2 809285a: f004 86be beq.w 80975da LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 809285e: 497b ldr r1, [pc, #492] ; (8092a4c ) 8092860: 487f ldr r0, [pc, #508] ; (8092a60 ) 8092862: f7c0 ffa3 bl 80537ac BSP_LCD_FillRect(60, 73, 200, 124); 8092866: 237c movs r3, #124 ; 0x7c 8092868: 22c8 movs r2, #200 ; 0xc8 809286a: 2149 movs r1, #73 ; 0x49 809286c: 203c movs r0, #60 ; 0x3c 809286e: f7c1 fc2b bl 80540c8 LCD_SetColors(LCD_COLOR_BLACK, LCD_COLOR_BLACK); 8092872: 4976 ldr r1, [pc, #472] ; (8092a4c ) 8092874: 4875 ldr r0, [pc, #468] ; (8092a4c ) 8092876: f7c0 ff99 bl 80537ac BSP_LCD_FillRect(61, 74, 198, 122); 809287a: 237a movs r3, #122 ; 0x7a 809287c: 22c6 movs r2, #198 ; 0xc6 809287e: 214a movs r1, #74 ; 0x4a 8092880: 203d movs r0, #61 ; 0x3d 8092882: f7c1 fc21 bl 80540c8 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8092886: 4971 ldr r1, [pc, #452] ; (8092a4c ) 8092888: f04f 30ff mov.w r0, #4294967295 809288c: f7c0 ff8e bl 80537ac BSP_LCD_SetFont(&Font12); 8092890: 4875 ldr r0, [pc, #468] ; (8092a68 ) 8092892: f7c0 ffc7 bl 8053824 if((menupos == UpNo) || (menupos == UpYes)) 8092896: 4b73 ldr r3, [pc, #460] ; (8092a64 ) 8092898: 781b ldrb r3, [r3, #0] 809289a: b2db uxtb r3, r3 809289c: 2b06 cmp r3, #6 809289e: d004 beq.n 80928aa 80928a0: 4b70 ldr r3, [pc, #448] ; (8092a64 ) 80928a2: 781b ldrb r3, [r3, #0] 80928a4: b2db uxtb r3, r3 80928a6: 2b07 cmp r3, #7 80928a8: d179 bne.n 809299e if(pardata.LANG == RUS) 80928aa: 4b70 ldr r3, [pc, #448] ; (8092a6c ) 80928ac: 7b1b ldrb r3, [r3, #12] 80928ae: b2db uxtb r3, r3 80928b0: 2b00 cmp r3, #0 80928b2: d10c bne.n 80928ce BSP_LCD_DisplayStringAt(160, 111, "Âûáðàííûé ôàéë áóäåò", CENTER_MODE); 80928b4: 2301 movs r3, #1 80928b6: 4a6e ldr r2, [pc, #440] ; (8092a70 ) 80928b8: 216f movs r1, #111 ; 0x6f 80928ba: 20a0 movs r0, #160 ; 0xa0 80928bc: f7c1 f83c bl 8053938 BSP_LCD_DisplayStringAt(160, 111+15, "óäàëåíû. Ïðîäîëæèòü?", CENTER_MODE); 80928c0: 2301 movs r3, #1 80928c2: 4a6c ldr r2, [pc, #432] ; (8092a74 ) 80928c4: 217e movs r1, #126 ; 0x7e 80928c6: 20a0 movs r0, #160 ; 0xa0 80928c8: f7c1 f836 bl 8053938 80928cc: e00b b.n 80928e6 BSP_LCD_DisplayStringAt(160, 111, "The selected file will", CENTER_MODE); 80928ce: 2301 movs r3, #1 80928d0: 4a69 ldr r2, [pc, #420] ; (8092a78 ) 80928d2: 216f movs r1, #111 ; 0x6f 80928d4: 20a0 movs r0, #160 ; 0xa0 80928d6: f7c1 f82f bl 8053938 BSP_LCD_DisplayStringAt(160, 111+15, "be deleted. Continue?", CENTER_MODE); 80928da: 2301 movs r3, #1 80928dc: 4a67 ldr r2, [pc, #412] ; (8092a7c ) 80928de: 217e movs r1, #126 ; 0x7e 80928e0: 20a0 movs r0, #160 ; 0xa0 80928e2: f7c1 f829 bl 8053938 if(menupos == UpNo) 80928e6: 4b5f ldr r3, [pc, #380] ; (8092a64 ) 80928e8: 781b ldrb r3, [r3, #0] 80928ea: b2db uxtb r3, r3 80928ec: 2b06 cmp r3, #6 80928ee: d128 bne.n 8092942 if(pardata.LANG == RUS) 80928f0: 4b5e ldr r3, [pc, #376] ; (8092a6c ) 80928f2: 7b1b ldrb r3, [r3, #12] 80928f4: b2db uxtb r3, r3 80928f6: 2b00 cmp r3, #0 80928f8: d111 bne.n 809291e BSP_LCD_DisplayStringAt(230, 175, "ÄÀ", CENTER_MODE); 80928fa: 2301 movs r3, #1 80928fc: 4a60 ldr r2, [pc, #384] ; (8092a80 ) 80928fe: 21af movs r1, #175 ; 0xaf 8092900: 20e6 movs r0, #230 ; 0xe6 8092902: f7c1 f819 bl 8053938 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8092906: 495f ldr r1, [pc, #380] ; (8092a84 ) 8092908: f04f 30ff mov.w r0, #4294967295 809290c: f7c0 ff4e bl 80537ac BSP_LCD_DisplayStringAt(90, 175, "ÍÅÒ", CENTER_MODE); 8092910: 2301 movs r3, #1 8092912: 4a5d ldr r2, [pc, #372] ; (8092a88 ) 8092914: 21af movs r1, #175 ; 0xaf 8092916: 205a movs r0, #90 ; 0x5a 8092918: f7c1 f80e bl 8053938 if(menupos == UpNo) 809291c: e088 b.n 8092a30 BSP_LCD_DisplayStringAt(230, 175, "YES", CENTER_MODE); 809291e: 2301 movs r3, #1 8092920: 4a5a ldr r2, [pc, #360] ; (8092a8c ) 8092922: 21af movs r1, #175 ; 0xaf 8092924: 20e6 movs r0, #230 ; 0xe6 8092926: f7c1 f807 bl 8053938 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 809292a: 4956 ldr r1, [pc, #344] ; (8092a84 ) 809292c: f04f 30ff mov.w r0, #4294967295 8092930: f7c0 ff3c bl 80537ac BSP_LCD_DisplayStringAt(90, 175, "NO", CENTER_MODE); 8092934: 2301 movs r3, #1 8092936: 4a56 ldr r2, [pc, #344] ; (8092a90 ) 8092938: 21af movs r1, #175 ; 0xaf 809293a: 205a movs r0, #90 ; 0x5a 809293c: f7c0 fffc bl 8053938 if(menupos == UpNo) 8092940: e076 b.n 8092a30 if(menupos == UpYes) 8092942: 4b48 ldr r3, [pc, #288] ; (8092a64 ) 8092944: 781b ldrb r3, [r3, #0] 8092946: b2db uxtb r3, r3 8092948: 2b07 cmp r3, #7 809294a: d171 bne.n 8092a30 if(pardata.LANG == RUS) 809294c: 4b47 ldr r3, [pc, #284] ; (8092a6c ) 809294e: 7b1b ldrb r3, [r3, #12] 8092950: b2db uxtb r3, r3 8092952: 2b00 cmp r3, #0 8092954: d111 bne.n 809297a BSP_LCD_DisplayStringAt(90, 175, "ÍÅÒ", CENTER_MODE); 8092956: 2301 movs r3, #1 8092958: 4a4b ldr r2, [pc, #300] ; (8092a88 ) 809295a: 21af movs r1, #175 ; 0xaf 809295c: 205a movs r0, #90 ; 0x5a 809295e: f7c0 ffeb bl 8053938 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8092962: 4948 ldr r1, [pc, #288] ; (8092a84 ) 8092964: f04f 30ff mov.w r0, #4294967295 8092968: f7c0 ff20 bl 80537ac BSP_LCD_DisplayStringAt(230, 175, "ÄÀ", CENTER_MODE); 809296c: 2301 movs r3, #1 809296e: 4a44 ldr r2, [pc, #272] ; (8092a80 ) 8092970: 21af movs r1, #175 ; 0xaf 8092972: 20e6 movs r0, #230 ; 0xe6 8092974: f7c0 ffe0 bl 8053938 if(menupos == UpNo) 8092978: e05a b.n 8092a30 BSP_LCD_DisplayStringAt(90, 175, "NO", CENTER_MODE); 809297a: 2301 movs r3, #1 809297c: 4a44 ldr r2, [pc, #272] ; (8092a90 ) 809297e: 21af movs r1, #175 ; 0xaf 8092980: 205a movs r0, #90 ; 0x5a 8092982: f7c0 ffd9 bl 8053938 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8092986: 493f ldr r1, [pc, #252] ; (8092a84 ) 8092988: f04f 30ff mov.w r0, #4294967295 809298c: f7c0 ff0e bl 80537ac BSP_LCD_DisplayStringAt(230, 175, "YES", CENTER_MODE); 8092990: 2301 movs r3, #1 8092992: 4a3e ldr r2, [pc, #248] ; (8092a8c ) 8092994: 21af movs r1, #175 ; 0xaf 8092996: 20e6 movs r0, #230 ; 0xe6 8092998: f7c0 ffce bl 8053938 if(menupos == UpNo) 809299c: e048 b.n 8092a30 if(menupos == CleanUpResult) 809299e: 4b31 ldr r3, [pc, #196] ; (8092a64 ) 80929a0: 781b ldrb r3, [r3, #0] 80929a2: b2db uxtb r3, r3 80929a4: 2b0a cmp r3, #10 80929a6: f044 8618 bne.w 80975da if(CleanStatus == AP_OK) 80929aa: 4b3a ldr r3, [pc, #232] ; (8092a94 ) 80929ac: 781b ldrb r3, [r3, #0] 80929ae: b2db uxtb r3, r3 80929b0: 2b00 cmp r3, #0 80929b2: d118 bne.n 80929e6 if(pardata.LANG == RUS) 80929b4: 4b2d ldr r3, [pc, #180] ; (8092a6c ) 80929b6: 7b1b ldrb r3, [r3, #12] 80929b8: b2db uxtb r3, r3 80929ba: 2b00 cmp r3, #0 80929bc: d10c bne.n 80929d8 BSP_LCD_DisplayStringAt(160, 111, "Óäàëåíèå çàâåðøåíî", CENTER_MODE); 80929be: 2301 movs r3, #1 80929c0: 4a35 ldr r2, [pc, #212] ; (8092a98 ) 80929c2: 216f movs r1, #111 ; 0x6f 80929c4: 20a0 movs r0, #160 ; 0xa0 80929c6: f7c0 ffb7 bl 8053938 BSP_LCD_DisplayStringAt(160, 111+15, "óñïåøíî!", CENTER_MODE); 80929ca: 2301 movs r3, #1 80929cc: 4a33 ldr r2, [pc, #204] ; (8092a9c ) 80929ce: 217e movs r1, #126 ; 0x7e 80929d0: 20a0 movs r0, #160 ; 0xa0 80929d2: f7c0 ffb1 bl 8053938 80929d6: e01e b.n 8092a16 BSP_LCD_DisplayStringAt(160, 111+15, "Deleting successful!", CENTER_MODE); 80929d8: 2301 movs r3, #1 80929da: 4a31 ldr r2, [pc, #196] ; (8092aa0 ) 80929dc: 217e movs r1, #126 ; 0x7e 80929de: 20a0 movs r0, #160 ; 0xa0 80929e0: f7c0 ffaa bl 8053938 80929e4: e017 b.n 8092a16 if(pardata.LANG == RUS) 80929e6: 4b21 ldr r3, [pc, #132] ; (8092a6c ) 80929e8: 7b1b ldrb r3, [r3, #12] 80929ea: b2db uxtb r3, r3 80929ec: 2b00 cmp r3, #0 80929ee: d10c bne.n 8092a0a BSP_LCD_DisplayStringAt(160, 111, "Îøèáêà â ïðîöåññå", CENTER_MODE); 80929f0: 2301 movs r3, #1 80929f2: 4a2c ldr r2, [pc, #176] ; (8092aa4 ) 80929f4: 216f movs r1, #111 ; 0x6f 80929f6: 20a0 movs r0, #160 ; 0xa0 80929f8: f7c0 ff9e bl 8053938 BSP_LCD_DisplayStringAt(160, 111+15, "óäàëåíèÿ...", CENTER_MODE); 80929fc: 2301 movs r3, #1 80929fe: 4a2a ldr r2, [pc, #168] ; (8092aa8 ) 8092a00: 217e movs r1, #126 ; 0x7e 8092a02: 20a0 movs r0, #160 ; 0xa0 8092a04: f7c0 ff98 bl 8053938 8092a08: e005 b.n 8092a16 BSP_LCD_DisplayStringAt(160, 111+15, "Deleting error!", CENTER_MODE); 8092a0a: 2301 movs r3, #1 8092a0c: 4a27 ldr r2, [pc, #156] ; (8092aac ) 8092a0e: 217e movs r1, #126 ; 0x7e 8092a10: 20a0 movs r0, #160 ; 0xa0 8092a12: f7c0 ff91 bl 8053938 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8092a16: 491b ldr r1, [pc, #108] ; (8092a84 ) 8092a18: f04f 30ff mov.w r0, #4294967295 8092a1c: f7c0 fec6 bl 80537ac BSP_LCD_DisplayStringAt(160, 175, "OK", CENTER_MODE); 8092a20: 2301 movs r3, #1 8092a22: 4a23 ldr r2, [pc, #140] ; (8092ab0 ) 8092a24: 21af movs r1, #175 ; 0xaf 8092a26: 20a0 movs r0, #160 ; 0xa0 8092a28: f7c0 ff86 bl 8053938 break; 8092a2c: f004 bdd5 b.w 80975da if(menupos == UpNo) 8092a30: bf00 nop break; 8092a32: f004 bdd2 b.w 80975da case EXPLORER_DIAGN: if(pardata.LANG == RUS) 8092a36: 4b0d ldr r3, [pc, #52] ; (8092a6c ) 8092a38: 7b1b ldrb r3, [r3, #12] 8092a3a: b2db uxtb r3, r3 8092a3c: 2b00 cmp r3, #0 8092a3e: d13b bne.n 8092ab8 DrawImage(&bmLEGEND_PTM_RUS, 0, 45); 8092a40: 222d movs r2, #45 ; 0x2d 8092a42: 2100 movs r1, #0 8092a44: 481b ldr r0, [pc, #108] ; (8092ab4 ) 8092a46: f7c1 fda5 bl 8054594 8092a4a: e03a b.n 8092ac2 8092a4c: ff0a0f1f .word 0xff0a0f1f 8092a50: 080ef4a0 .word 0x080ef4a0 8092a54: 20020df4 .word 0x20020df4 8092a58: 20020de4 .word 0x20020de4 8092a5c: 42c00000 .word 0x42c00000 8092a60: ffd3d3d3 .word 0xffd3d3d3 8092a64: 20020070 .word 0x20020070 8092a68: 20020038 .word 0x20020038 8092a6c: 20023e60 .word 0x20023e60 8092a70: 080d0200 .word 0x080d0200 8092a74: 080d0218 .word 0x080d0218 8092a78: 080d0230 .word 0x080d0230 8092a7c: 080d0248 .word 0x080d0248 8092a80: 080d0260 .word 0x080d0260 8092a84: ff606060 .word 0xff606060 8092a88: 080d0264 .word 0x080d0264 8092a8c: 080d0268 .word 0x080d0268 8092a90: 080d026c .word 0x080d026c 8092a94: 20020dd0 .word 0x20020dd0 8092a98: 080d0270 .word 0x080d0270 8092a9c: 080cfff8 .word 0x080cfff8 8092aa0: 080d0284 .word 0x080d0284 8092aa4: 080d0004 .word 0x080d0004 8092aa8: 080d029c .word 0x080d029c 8092aac: 080d02a8 .word 0x080d02a8 8092ab0: 080d02b8 .word 0x080d02b8 8092ab4: 0812dd84 .word 0x0812dd84 else DrawImage(&bmLEGEND_PTM_ENG, 0, 45); 8092ab8: 222d movs r2, #45 ; 0x2d 8092aba: 2100 movs r1, #0 8092abc: 483d ldr r0, [pc, #244] ; (8092bb4 ) 8092abe: f7c1 fd69 bl 8054594 if(menupos == NoFilesDGN) 8092ac2: 4b3d ldr r3, [pc, #244] ; (8092bb8 ) 8092ac4: 781b ldrb r3, [r3, #0] 8092ac6: b2db uxtb r3, r3 8092ac8: 2b01 cmp r3, #1 8092aca: d13a bne.n 8092b42 { BSP_LCD_SetFont(&Font12); 8092acc: 483b ldr r0, [pc, #236] ; (8092bbc ) 8092ace: f7c0 fea9 bl 8053824 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8092ad2: 493b ldr r1, [pc, #236] ; (8092bc0 ) 8092ad4: f04f 30ff mov.w r0, #4294967295 8092ad8: f7c0 fe68 bl 80537ac if(pardata.LANG == RUS) 8092adc: 4b39 ldr r3, [pc, #228] ; (8092bc4 ) 8092ade: 7b1b ldrb r3, [r3, #12] 8092ae0: b2db uxtb r3, r3 8092ae2: 2b00 cmp r3, #0 8092ae4: d113 bne.n 8092b0e { BSP_LCD_DisplayStringAt(160, 111, "Ôàéëû èçìåðåíèé îòñóòñòâóþò.", CENTER_MODE); 8092ae6: 2301 movs r3, #1 8092ae8: 4a37 ldr r2, [pc, #220] ; (8092bc8 ) 8092aea: 216f movs r1, #111 ; 0x6f 8092aec: 20a0 movs r0, #160 ; 0xa0 8092aee: f7c0 ff23 bl 8053938 BSP_LCD_DisplayStringAt(160, 111+15, "Äëÿ ñîõðàíåíèÿ ðåçóëüòàòîâ", CENTER_MODE); 8092af2: 2301 movs r3, #1 8092af4: 4a35 ldr r2, [pc, #212] ; (8092bcc ) 8092af6: 217e movs r1, #126 ; 0x7e 8092af8: 20a0 movs r0, #160 ; 0xa0 8092afa: f7c0 ff1d bl 8053938 BSP_LCD_DisplayStringAt(160, 111+30, "èçìåðåíèé ñîçäàéòå íîâûé ôàéë.", CENTER_MODE); 8092afe: 2301 movs r3, #1 8092b00: 4a33 ldr r2, [pc, #204] ; (8092bd0 ) 8092b02: 218d movs r1, #141 ; 0x8d 8092b04: 20a0 movs r0, #160 ; 0xa0 8092b06: f7c0 ff17 bl 8053938 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); BSP_LCD_DisplayStringAt(160, 175, "OK", CENTER_MODE); } } } break; 8092b0a: f004 bd68 b.w 80975de BSP_LCD_DisplayStringAt(160, 111, "The file measurements are not", CENTER_MODE); 8092b0e: 2301 movs r3, #1 8092b10: 4a30 ldr r2, [pc, #192] ; (8092bd4 ) 8092b12: 216f movs r1, #111 ; 0x6f 8092b14: 20a0 movs r0, #160 ; 0xa0 8092b16: f7c0 ff0f bl 8053938 BSP_LCD_DisplayStringAt(160, 111+15, "available. To save the", CENTER_MODE); 8092b1a: 2301 movs r3, #1 8092b1c: 4a2e ldr r2, [pc, #184] ; (8092bd8 ) 8092b1e: 217e movs r1, #126 ; 0x7e 8092b20: 20a0 movs r0, #160 ; 0xa0 8092b22: f7c0 ff09 bl 8053938 BSP_LCD_DisplayStringAt(160, 111+30, "measurement results, create", CENTER_MODE); 8092b26: 2301 movs r3, #1 8092b28: 4a2c ldr r2, [pc, #176] ; (8092bdc ) 8092b2a: 218d movs r1, #141 ; 0x8d 8092b2c: 20a0 movs r0, #160 ; 0xa0 8092b2e: f7c0 ff03 bl 8053938 BSP_LCD_DisplayStringAt(160, 111+45, "a new file.", CENTER_MODE); 8092b32: 2301 movs r3, #1 8092b34: 4a2a ldr r2, [pc, #168] ; (8092be0 ) 8092b36: 219c movs r1, #156 ; 0x9c 8092b38: 20a0 movs r0, #160 ; 0xa0 8092b3a: f7c0 fefd bl 8053938 break; 8092b3e: f004 bd4e b.w 80975de if((menupos == FilesDGN) || (menupos == UpNo) || (menupos == UpYes) || (menupos == CleanUpResult)) 8092b42: 4b1d ldr r3, [pc, #116] ; (8092bb8 ) 8092b44: 781b ldrb r3, [r3, #0] 8092b46: b2db uxtb r3, r3 8092b48: 2b02 cmp r3, #2 8092b4a: d00f beq.n 8092b6c 8092b4c: 4b1a ldr r3, [pc, #104] ; (8092bb8 ) 8092b4e: 781b ldrb r3, [r3, #0] 8092b50: b2db uxtb r3, r3 8092b52: 2b06 cmp r3, #6 8092b54: d00a beq.n 8092b6c 8092b56: 4b18 ldr r3, [pc, #96] ; (8092bb8 ) 8092b58: 781b ldrb r3, [r3, #0] 8092b5a: b2db uxtb r3, r3 8092b5c: 2b07 cmp r3, #7 8092b5e: d005 beq.n 8092b6c 8092b60: 4b15 ldr r3, [pc, #84] ; (8092bb8 ) 8092b62: 781b ldrb r3, [r3, #0] 8092b64: b2db uxtb r3, r3 8092b66: 2b0a cmp r3, #10 8092b68: f044 8539 bne.w 80975de BSP_LCD_SetFont(&Font12); 8092b6c: 4813 ldr r0, [pc, #76] ; (8092bbc ) 8092b6e: f7c0 fe59 bl 8053824 for(i = 0; i < VIEW_FILES; i++) 8092b72: 2300 movs r3, #0 8092b74: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 8092b78: e19c b.n 8092eb4 if(CursorIndex == i) 8092b7a: 4b1a ldr r3, [pc, #104] ; (8092be4 ) 8092b7c: 681a ldr r2, [r3, #0] 8092b7e: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8092b82: 429a cmp r2, r3 8092b84: d136 bne.n 8092bf4 LCD_SetColors(LCD_COLOR_CURSOR, LCD_COLOR_CURSOR); 8092b86: 4918 ldr r1, [pc, #96] ; (8092be8 ) 8092b88: 4817 ldr r0, [pc, #92] ; (8092be8 ) 8092b8a: f7c0 fe0f bl 80537ac BSP_LCD_FillRect(3, POS_Y_12[i], 312, CurrentFont->Height); 8092b8e: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8092b92: 4a16 ldr r2, [pc, #88] ; (8092bec ) 8092b94: f832 1013 ldrh.w r1, [r2, r3, lsl #1] 8092b98: 4b15 ldr r3, [pc, #84] ; (8092bf0 ) 8092b9a: 681b ldr r3, [r3, #0] 8092b9c: 88db ldrh r3, [r3, #6] 8092b9e: f44f 729c mov.w r2, #312 ; 0x138 8092ba2: 2003 movs r0, #3 8092ba4: f7c1 fa90 bl 80540c8 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8092ba8: 490f ldr r1, [pc, #60] ; (8092be8 ) 8092baa: f04f 30ff mov.w r0, #4294967295 8092bae: f7c0 fdfd bl 80537ac 8092bb2: e024 b.n 8092bfe 8092bb4: 08129278 .word 0x08129278 8092bb8: 20020070 .word 0x20020070 8092bbc: 20020038 .word 0x20020038 8092bc0: ff0a0f1f .word 0xff0a0f1f 8092bc4: 20023e60 .word 0x20023e60 8092bc8: 080d0144 .word 0x080d0144 8092bcc: 080d0164 .word 0x080d0164 8092bd0: 080d0180 .word 0x080d0180 8092bd4: 080d01a0 .word 0x080d01a0 8092bd8: 080d01c0 .word 0x080d01c0 8092bdc: 080d01d8 .word 0x080d01d8 8092be0: 080d01f4 .word 0x080d01f4 8092be4: 20020de0 .word 0x20020de0 8092be8: ff606060 .word 0xff606060 8092bec: 080ef4a0 .word 0x080ef4a0 8092bf0: 20025d24 .word 0x20025d24 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8092bf4: 499e ldr r1, [pc, #632] ; (8092e70 ) 8092bf6: f04f 30ff mov.w r0, #4294967295 8092bfa: f7c0 fdd7 bl 80537ac if(ExplorerFiles[i].fname[0] != 0) 8092bfe: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 8092c02: 499c ldr r1, [pc, #624] ; (8092e74 ) 8092c04: 4613 mov r3, r2 8092c06: 00db lsls r3, r3, #3 8092c08: 1a9b subs r3, r3, r2 8092c0a: 00db lsls r3, r3, #3 8092c0c: 440b add r3, r1 8092c0e: 330c adds r3, #12 8092c10: 781b ldrb r3, [r3, #0] 8092c12: 2b00 cmp r3, #0 8092c14: f000 8149 beq.w 8092eaa BSP_LCD_DisplayStringAt(5, POS_Y_12[i], (char *) ExplorerFiles[i].fname, LEFT_MODE); 8092c18: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8092c1c: 4a96 ldr r2, [pc, #600] ; (8092e78 ) 8092c1e: f832 1013 ldrh.w r1, [r2, r3, lsl #1] 8092c22: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 8092c26: 4613 mov r3, r2 8092c28: 00db lsls r3, r3, #3 8092c2a: 1a9b subs r3, r3, r2 8092c2c: 00db lsls r3, r3, #3 8092c2e: 3308 adds r3, #8 8092c30: 4a90 ldr r2, [pc, #576] ; (8092e74 ) 8092c32: 4413 add r3, r2 8092c34: 1d1a adds r2, r3, #4 8092c36: 2303 movs r3, #3 8092c38: 2005 movs r0, #5 8092c3a: f7c0 fe7d bl 8053938 k = 0; 8092c3e: 2300 movs r3, #0 8092c40: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 GetDateTimeFromUnix(&FatTime, ExplorerFiles[i].datetime); 8092c44: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 8092c48: 498a ldr r1, [pc, #552] ; (8092e74 ) 8092c4a: 4613 mov r3, r2 8092c4c: 00db lsls r3, r3, #3 8092c4e: 1a9b subs r3, r3, r2 8092c50: 00db lsls r3, r3, #3 8092c52: 440b add r3, r1 8092c54: 3308 adds r3, #8 8092c56: 681a ldr r2, [r3, #0] 8092c58: f107 030c add.w r3, r7, #12 8092c5c: 4611 mov r1, r2 8092c5e: 4618 mov r0, r3 8092c60: f7d4 fc74 bl 806754c str1[k++] = (FatTime.Date / 10) + 48; 8092c64: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8092c68: 1c5a adds r2, r3, #1 8092c6a: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 8092c6e: f107 020c add.w r2, r7, #12 8092c72: 7852 ldrb r2, [r2, #1] 8092c74: 4981 ldr r1, [pc, #516] ; (8092e7c ) 8092c76: fba1 1202 umull r1, r2, r1, r2 8092c7a: 08d2 lsrs r2, r2, #3 8092c7c: b2d2 uxtb r2, r2 8092c7e: 3230 adds r2, #48 ; 0x30 8092c80: b2d1 uxtb r1, r2 8092c82: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8092c86: 54d1 strb r1, [r2, r3] str1[k++] = (FatTime.Date % 10) + 48; 8092c88: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8092c8c: 1c53 adds r3, r2, #1 8092c8e: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8092c92: f107 030c add.w r3, r7, #12 8092c96: 7859 ldrb r1, [r3, #1] 8092c98: 4b78 ldr r3, [pc, #480] ; (8092e7c ) 8092c9a: fba3 0301 umull r0, r3, r3, r1 8092c9e: 08d8 lsrs r0, r3, #3 8092ca0: 4603 mov r3, r0 8092ca2: 009b lsls r3, r3, #2 8092ca4: 4403 add r3, r0 8092ca6: 005b lsls r3, r3, #1 8092ca8: 1acb subs r3, r1, r3 8092caa: b2db uxtb r3, r3 8092cac: 3330 adds r3, #48 ; 0x30 8092cae: b2d9 uxtb r1, r3 8092cb0: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8092cb4: 5499 strb r1, [r3, r2] str1[k++] = '.'; 8092cb6: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8092cba: 1c5a adds r2, r3, #1 8092cbc: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 8092cc0: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8092cc4: 212e movs r1, #46 ; 0x2e 8092cc6: 54d1 strb r1, [r2, r3] str1[k++] = (FatTime.Month / 10) + 48; 8092cc8: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8092ccc: 1c5a adds r2, r3, #1 8092cce: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 8092cd2: f107 020c add.w r2, r7, #12 8092cd6: 7812 ldrb r2, [r2, #0] 8092cd8: 4968 ldr r1, [pc, #416] ; (8092e7c ) 8092cda: fba1 1202 umull r1, r2, r1, r2 8092cde: 08d2 lsrs r2, r2, #3 8092ce0: b2d2 uxtb r2, r2 8092ce2: 3230 adds r2, #48 ; 0x30 8092ce4: b2d1 uxtb r1, r2 8092ce6: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8092cea: 54d1 strb r1, [r2, r3] str1[k++] = (FatTime.Month % 10) + 48; 8092cec: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8092cf0: 1c53 adds r3, r2, #1 8092cf2: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8092cf6: f107 030c add.w r3, r7, #12 8092cfa: 7819 ldrb r1, [r3, #0] 8092cfc: 4b5f ldr r3, [pc, #380] ; (8092e7c ) 8092cfe: fba3 0301 umull r0, r3, r3, r1 8092d02: 08d8 lsrs r0, r3, #3 8092d04: 4603 mov r3, r0 8092d06: 009b lsls r3, r3, #2 8092d08: 4403 add r3, r0 8092d0a: 005b lsls r3, r3, #1 8092d0c: 1acb subs r3, r1, r3 8092d0e: b2db uxtb r3, r3 8092d10: 3330 adds r3, #48 ; 0x30 8092d12: b2d9 uxtb r1, r3 8092d14: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8092d18: 5499 strb r1, [r3, r2] str1[k++] = '.'; 8092d1a: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8092d1e: 1c5a adds r2, r3, #1 8092d20: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 8092d24: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8092d28: 212e movs r1, #46 ; 0x2e 8092d2a: 54d1 strb r1, [r2, r3] str1[k++] = (FatTime.Year / 10) + 48; 8092d2c: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8092d30: 1c5a adds r2, r3, #1 8092d32: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 8092d36: f107 020c add.w r2, r7, #12 8092d3a: 7892 ldrb r2, [r2, #2] 8092d3c: 494f ldr r1, [pc, #316] ; (8092e7c ) 8092d3e: fba1 1202 umull r1, r2, r1, r2 8092d42: 08d2 lsrs r2, r2, #3 8092d44: b2d2 uxtb r2, r2 8092d46: 3230 adds r2, #48 ; 0x30 8092d48: b2d1 uxtb r1, r2 8092d4a: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8092d4e: 54d1 strb r1, [r2, r3] str1[k++] = (FatTime.Year % 10) + 48; 8092d50: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8092d54: 1c53 adds r3, r2, #1 8092d56: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8092d5a: f107 030c add.w r3, r7, #12 8092d5e: 7899 ldrb r1, [r3, #2] 8092d60: 4b46 ldr r3, [pc, #280] ; (8092e7c ) 8092d62: fba3 0301 umull r0, r3, r3, r1 8092d66: 08d8 lsrs r0, r3, #3 8092d68: 4603 mov r3, r0 8092d6a: 009b lsls r3, r3, #2 8092d6c: 4403 add r3, r0 8092d6e: 005b lsls r3, r3, #1 8092d70: 1acb subs r3, r1, r3 8092d72: b2db uxtb r3, r3 8092d74: 3330 adds r3, #48 ; 0x30 8092d76: b2d9 uxtb r1, r3 8092d78: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8092d7c: 5499 strb r1, [r3, r2] str1[k++] = ' '; 8092d7e: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8092d82: 1c5a adds r2, r3, #1 8092d84: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 8092d88: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8092d8c: 2120 movs r1, #32 8092d8e: 54d1 strb r1, [r2, r3] str1[k++] = (FatTime.Hours / 10) + 48; 8092d90: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8092d94: 1c5a adds r2, r3, #1 8092d96: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 8092d9a: f107 020c add.w r2, r7, #12 8092d9e: 78d2 ldrb r2, [r2, #3] 8092da0: 4936 ldr r1, [pc, #216] ; (8092e7c ) 8092da2: fba1 1202 umull r1, r2, r1, r2 8092da6: 08d2 lsrs r2, r2, #3 8092da8: b2d2 uxtb r2, r2 8092daa: 3230 adds r2, #48 ; 0x30 8092dac: b2d1 uxtb r1, r2 8092dae: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8092db2: 54d1 strb r1, [r2, r3] str1[k++] = (FatTime.Hours % 10) + 48; 8092db4: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8092db8: 1c53 adds r3, r2, #1 8092dba: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8092dbe: f107 030c add.w r3, r7, #12 8092dc2: 78d9 ldrb r1, [r3, #3] 8092dc4: 4b2d ldr r3, [pc, #180] ; (8092e7c ) 8092dc6: fba3 0301 umull r0, r3, r3, r1 8092dca: 08d8 lsrs r0, r3, #3 8092dcc: 4603 mov r3, r0 8092dce: 009b lsls r3, r3, #2 8092dd0: 4403 add r3, r0 8092dd2: 005b lsls r3, r3, #1 8092dd4: 1acb subs r3, r1, r3 8092dd6: b2db uxtb r3, r3 8092dd8: 3330 adds r3, #48 ; 0x30 8092dda: b2d9 uxtb r1, r3 8092ddc: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8092de0: 5499 strb r1, [r3, r2] str1[k++] = ':'; 8092de2: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8092de6: 1c5a adds r2, r3, #1 8092de8: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 8092dec: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8092df0: 213a movs r1, #58 ; 0x3a 8092df2: 54d1 strb r1, [r2, r3] str1[k++] = (FatTime.Minutes / 10) + 48; 8092df4: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8092df8: 1c5a adds r2, r3, #1 8092dfa: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 8092dfe: f107 020c add.w r2, r7, #12 8092e02: 7912 ldrb r2, [r2, #4] 8092e04: 491d ldr r1, [pc, #116] ; (8092e7c ) 8092e06: fba1 1202 umull r1, r2, r1, r2 8092e0a: 08d2 lsrs r2, r2, #3 8092e0c: b2d2 uxtb r2, r2 8092e0e: 3230 adds r2, #48 ; 0x30 8092e10: b2d1 uxtb r1, r2 8092e12: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8092e16: 54d1 strb r1, [r2, r3] str1[k++] = (FatTime.Minutes % 10) + 48; 8092e18: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8092e1c: 1c53 adds r3, r2, #1 8092e1e: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8092e22: f107 030c add.w r3, r7, #12 8092e26: 7919 ldrb r1, [r3, #4] 8092e28: 4b14 ldr r3, [pc, #80] ; (8092e7c ) 8092e2a: fba3 0301 umull r0, r3, r3, r1 8092e2e: 08d8 lsrs r0, r3, #3 8092e30: 4603 mov r3, r0 8092e32: 009b lsls r3, r3, #2 8092e34: 4403 add r3, r0 8092e36: 005b lsls r3, r3, #1 8092e38: 1acb subs r3, r1, r3 8092e3a: b2db uxtb r3, r3 8092e3c: 3330 adds r3, #48 ; 0x30 8092e3e: b2d9 uxtb r1, r3 8092e40: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8092e44: 5499 strb r1, [r3, r2] str1[k++] = '\0'; 8092e46: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8092e4a: 1c5a adds r2, r3, #1 8092e4c: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 8092e50: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8092e54: 2100 movs r1, #0 8092e56: 54d1 strb r1, [r2, r3] if(CursorIndex == i) 8092e58: 4b09 ldr r3, [pc, #36] ; (8092e80 ) 8092e5a: 681a ldr r2, [r3, #0] 8092e5c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8092e60: 429a cmp r2, r3 8092e62: d111 bne.n 8092e88 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8092e64: 4907 ldr r1, [pc, #28] ; (8092e84 ) 8092e66: f04f 30ff mov.w r0, #4294967295 8092e6a: f7c0 fc9f bl 80537ac 8092e6e: e010 b.n 8092e92 8092e70: ff0a0f1f .word 0xff0a0f1f 8092e74: 20022350 .word 0x20022350 8092e78: 080ef4a0 .word 0x080ef4a0 8092e7c: cccccccd .word 0xcccccccd 8092e80: 20020de0 .word 0x20020de0 8092e84: ff606060 .word 0xff606060 else LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8092e88: 49bb ldr r1, [pc, #748] ; (8093178 ) 8092e8a: f04f 30ff mov.w r0, #4294967295 8092e8e: f7c0 fc8d bl 80537ac BSP_LCD_DisplayStringAt(312, POS_Y_12[i], str1, RIGHT_MODE); 8092e92: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8092e96: 4ab9 ldr r2, [pc, #740] ; (809317c ) 8092e98: f832 1013 ldrh.w r1, [r2, r3, lsl #1] 8092e9c: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8092ea0: 2302 movs r3, #2 8092ea2: f44f 709c mov.w r0, #312 ; 0x138 8092ea6: f7c0 fd47 bl 8053938 for(i = 0; i < VIEW_FILES; i++) 8092eaa: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8092eae: 3301 adds r3, #1 8092eb0: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 8092eb4: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8092eb8: 2b0b cmp r3, #11 8092eba: f67f ae5e bls.w 8092b7a if(NumFilesDGN > VIEW_FILES) 8092ebe: 4bb0 ldr r3, [pc, #704] ; (8093180 ) 8092ec0: 681b ldr r3, [r3, #0] 8092ec2: 2b0c cmp r3, #12 8092ec4: d95f bls.n 8092f86 k = (140 * VIEW_FILES) / NumFilesDGN; //äëèíà ïîëçóíêà 8092ec6: 4bae ldr r3, [pc, #696] ; (8093180 ) 8092ec8: 681b ldr r3, [r3, #0] 8092eca: f44f 62d2 mov.w r2, #1680 ; 0x690 8092ece: fbb2 f3f3 udiv r3, r2, r3 8092ed2: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 f = (float32_t) (140 * FirstFileIndex); 8092ed6: 4bab ldr r3, [pc, #684] ; (8093184 ) 8092ed8: 681b ldr r3, [r3, #0] 8092eda: 228c movs r2, #140 ; 0x8c 8092edc: fb02 f303 mul.w r3, r2, r3 8092ee0: ee07 3a90 vmov s15, r3 8092ee4: eef8 7a67 vcvt.f32.u32 s15, s15 8092ee8: f507 638b add.w r3, r7, #1112 ; 0x458 8092eec: edc3 7a00 vstr s15, [r3] f = (f / (float32_t) NumFilesDGN) + 96.0f; 8092ef0: 4ba3 ldr r3, [pc, #652] ; (8093180 ) 8092ef2: 681b ldr r3, [r3, #0] 8092ef4: ee07 3a90 vmov s15, r3 8092ef8: eeb8 7a67 vcvt.f32.u32 s14, s15 8092efc: f507 638b add.w r3, r7, #1112 ; 0x458 8092f00: edd3 6a00 vldr s13, [r3] 8092f04: eec6 7a87 vdiv.f32 s15, s13, s14 8092f08: ed9f 7a9f vldr s14, [pc, #636] ; 8093188 8092f0c: ee77 7a87 vadd.f32 s15, s15, s14 8092f10: f507 638b add.w r3, r7, #1112 ; 0x458 8092f14: edc3 7a00 vstr s15, [r3] y0 = (uint16_t) f; //âåðõíÿÿ êîîðäèíàòà ïîëçóíêà 8092f18: f507 638b add.w r3, r7, #1112 ; 0x458 8092f1c: edd3 7a00 vldr s15, [r3] 8092f20: eefc 7ae7 vcvt.u32.f32 s15, s15 8092f24: edc7 7a01 vstr s15, [r7, #4] 8092f28: 88bb ldrh r3, [r7, #4] 8092f2a: f8a7 343c strh.w r3, [r7, #1084] ; 0x43c y1 = y0 + k; 8092f2e: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8092f32: b29a uxth r2, r3 8092f34: f8b7 343c ldrh.w r3, [r7, #1084] ; 0x43c 8092f38: 4413 add r3, r2 8092f3a: f8a7 343a strh.w r3, [r7, #1082] ; 0x43a if(y1 > 236) 8092f3e: f8b7 343a ldrh.w r3, [r7, #1082] ; 0x43a 8092f42: 2bec cmp r3, #236 ; 0xec 8092f44: d905 bls.n 8092f52 k = 236 - y0; 8092f46: f8b7 343c ldrh.w r3, [r7, #1084] ; 0x43c 8092f4a: f1c3 03ec rsb r3, r3, #236 ; 0xec 8092f4e: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 8092f52: 4989 ldr r1, [pc, #548] ; (8093178 ) 8092f54: 488d ldr r0, [pc, #564] ; (809318c ) 8092f56: f7c0 fc29 bl 80537ac BSP_LCD_DrawRect(314, 94, 5, 143); 8092f5a: 238f movs r3, #143 ; 0x8f 8092f5c: 2205 movs r2, #5 8092f5e: 215e movs r1, #94 ; 0x5e 8092f60: f44f 709d mov.w r0, #314 ; 0x13a 8092f64: f7c0 ff28 bl 8053db8 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8092f68: 4983 ldr r1, [pc, #524] ; (8093178 ) 8092f6a: f04f 30ff mov.w r0, #4294967295 8092f6e: f7c0 fc1d bl 80537ac BSP_LCD_FillRect(316, y0, 2, k); 8092f72: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8092f76: b29b uxth r3, r3 8092f78: f8b7 143c ldrh.w r1, [r7, #1084] ; 0x43c 8092f7c: 2202 movs r2, #2 8092f7e: f44f 709e mov.w r0, #316 ; 0x13c 8092f82: f7c1 f8a1 bl 80540c8 if((menupos != NoFilesDGN) && (menupos != FilesDGN)) 8092f86: 4b82 ldr r3, [pc, #520] ; (8093190 ) 8092f88: 781b ldrb r3, [r3, #0] 8092f8a: b2db uxtb r3, r3 8092f8c: 2b01 cmp r3, #1 8092f8e: f004 8326 beq.w 80975de 8092f92: 4b7f ldr r3, [pc, #508] ; (8093190 ) 8092f94: 781b ldrb r3, [r3, #0] 8092f96: b2db uxtb r3, r3 8092f98: 2b02 cmp r3, #2 8092f9a: f004 8320 beq.w 80975de LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 8092f9e: 4976 ldr r1, [pc, #472] ; (8093178 ) 8092fa0: 487a ldr r0, [pc, #488] ; (809318c ) 8092fa2: f7c0 fc03 bl 80537ac BSP_LCD_FillRect(60, 73, 200, 124); 8092fa6: 237c movs r3, #124 ; 0x7c 8092fa8: 22c8 movs r2, #200 ; 0xc8 8092faa: 2149 movs r1, #73 ; 0x49 8092fac: 203c movs r0, #60 ; 0x3c 8092fae: f7c1 f88b bl 80540c8 LCD_SetColors(LCD_COLOR_BLACK, LCD_COLOR_BLACK); 8092fb2: 4971 ldr r1, [pc, #452] ; (8093178 ) 8092fb4: 4870 ldr r0, [pc, #448] ; (8093178 ) 8092fb6: f7c0 fbf9 bl 80537ac BSP_LCD_FillRect(61, 74, 198, 122); 8092fba: 237a movs r3, #122 ; 0x7a 8092fbc: 22c6 movs r2, #198 ; 0xc6 8092fbe: 214a movs r1, #74 ; 0x4a 8092fc0: 203d movs r0, #61 ; 0x3d 8092fc2: f7c1 f881 bl 80540c8 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8092fc6: 496c ldr r1, [pc, #432] ; (8093178 ) 8092fc8: f04f 30ff mov.w r0, #4294967295 8092fcc: f7c0 fbee bl 80537ac BSP_LCD_SetFont(&Font12); 8092fd0: 4870 ldr r0, [pc, #448] ; (8093194 ) 8092fd2: f7c0 fc27 bl 8053824 if((menupos == UpNo) || (menupos == UpYes)) 8092fd6: 4b6e ldr r3, [pc, #440] ; (8093190 ) 8092fd8: 781b ldrb r3, [r3, #0] 8092fda: b2db uxtb r3, r3 8092fdc: 2b06 cmp r3, #6 8092fde: d004 beq.n 8092fea 8092fe0: 4b6b ldr r3, [pc, #428] ; (8093190 ) 8092fe2: 781b ldrb r3, [r3, #0] 8092fe4: b2db uxtb r3, r3 8092fe6: 2b07 cmp r3, #7 8092fe8: d179 bne.n 80930de if(pardata.LANG == RUS) 8092fea: 4b6b ldr r3, [pc, #428] ; (8093198 ) 8092fec: 7b1b ldrb r3, [r3, #12] 8092fee: b2db uxtb r3, r3 8092ff0: 2b00 cmp r3, #0 8092ff2: d10c bne.n 809300e BSP_LCD_DisplayStringAt(160, 111, "Âûáðàííûé ôàéë áóäåò", CENTER_MODE); 8092ff4: 2301 movs r3, #1 8092ff6: 4a69 ldr r2, [pc, #420] ; (809319c ) 8092ff8: 216f movs r1, #111 ; 0x6f 8092ffa: 20a0 movs r0, #160 ; 0xa0 8092ffc: f7c0 fc9c bl 8053938 BSP_LCD_DisplayStringAt(160, 111+15, "óäàëåíû. Ïðîäîëæèòü?", CENTER_MODE); 8093000: 2301 movs r3, #1 8093002: 4a67 ldr r2, [pc, #412] ; (80931a0 ) 8093004: 217e movs r1, #126 ; 0x7e 8093006: 20a0 movs r0, #160 ; 0xa0 8093008: f7c0 fc96 bl 8053938 809300c: e00b b.n 8093026 BSP_LCD_DisplayStringAt(160, 111, "The selected file will", CENTER_MODE); 809300e: 2301 movs r3, #1 8093010: 4a64 ldr r2, [pc, #400] ; (80931a4 ) 8093012: 216f movs r1, #111 ; 0x6f 8093014: 20a0 movs r0, #160 ; 0xa0 8093016: f7c0 fc8f bl 8053938 BSP_LCD_DisplayStringAt(160, 111+15, "be deleted. Continue?", CENTER_MODE); 809301a: 2301 movs r3, #1 809301c: 4a62 ldr r2, [pc, #392] ; (80931a8 ) 809301e: 217e movs r1, #126 ; 0x7e 8093020: 20a0 movs r0, #160 ; 0xa0 8093022: f7c0 fc89 bl 8053938 if(menupos == UpNo) 8093026: 4b5a ldr r3, [pc, #360] ; (8093190 ) 8093028: 781b ldrb r3, [r3, #0] 809302a: b2db uxtb r3, r3 809302c: 2b06 cmp r3, #6 809302e: d128 bne.n 8093082 if(pardata.LANG == RUS) 8093030: 4b59 ldr r3, [pc, #356] ; (8093198 ) 8093032: 7b1b ldrb r3, [r3, #12] 8093034: b2db uxtb r3, r3 8093036: 2b00 cmp r3, #0 8093038: d111 bne.n 809305e BSP_LCD_DisplayStringAt(230, 175, "ÄÀ", CENTER_MODE); 809303a: 2301 movs r3, #1 809303c: 4a5b ldr r2, [pc, #364] ; (80931ac ) 809303e: 21af movs r1, #175 ; 0xaf 8093040: 20e6 movs r0, #230 ; 0xe6 8093042: f7c0 fc79 bl 8053938 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8093046: 495a ldr r1, [pc, #360] ; (80931b0 ) 8093048: f04f 30ff mov.w r0, #4294967295 809304c: f7c0 fbae bl 80537ac BSP_LCD_DisplayStringAt(90, 175, "ÍÅÒ", CENTER_MODE); 8093050: 2301 movs r3, #1 8093052: 4a58 ldr r2, [pc, #352] ; (80931b4 ) 8093054: 21af movs r1, #175 ; 0xaf 8093056: 205a movs r0, #90 ; 0x5a 8093058: f7c0 fc6e bl 8053938 if(menupos == UpNo) 809305c: e088 b.n 8093170 BSP_LCD_DisplayStringAt(230, 175, "YES", CENTER_MODE); 809305e: 2301 movs r3, #1 8093060: 4a55 ldr r2, [pc, #340] ; (80931b8 ) 8093062: 21af movs r1, #175 ; 0xaf 8093064: 20e6 movs r0, #230 ; 0xe6 8093066: f7c0 fc67 bl 8053938 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 809306a: 4951 ldr r1, [pc, #324] ; (80931b0 ) 809306c: f04f 30ff mov.w r0, #4294967295 8093070: f7c0 fb9c bl 80537ac BSP_LCD_DisplayStringAt(90, 175, "NO", CENTER_MODE); 8093074: 2301 movs r3, #1 8093076: 4a51 ldr r2, [pc, #324] ; (80931bc ) 8093078: 21af movs r1, #175 ; 0xaf 809307a: 205a movs r0, #90 ; 0x5a 809307c: f7c0 fc5c bl 8053938 if(menupos == UpNo) 8093080: e076 b.n 8093170 if(menupos == UpYes) 8093082: 4b43 ldr r3, [pc, #268] ; (8093190 ) 8093084: 781b ldrb r3, [r3, #0] 8093086: b2db uxtb r3, r3 8093088: 2b07 cmp r3, #7 809308a: d171 bne.n 8093170 if(pardata.LANG == RUS) 809308c: 4b42 ldr r3, [pc, #264] ; (8093198 ) 809308e: 7b1b ldrb r3, [r3, #12] 8093090: b2db uxtb r3, r3 8093092: 2b00 cmp r3, #0 8093094: d111 bne.n 80930ba BSP_LCD_DisplayStringAt(90, 175, "ÍÅÒ", CENTER_MODE); 8093096: 2301 movs r3, #1 8093098: 4a46 ldr r2, [pc, #280] ; (80931b4 ) 809309a: 21af movs r1, #175 ; 0xaf 809309c: 205a movs r0, #90 ; 0x5a 809309e: f7c0 fc4b bl 8053938 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 80930a2: 4943 ldr r1, [pc, #268] ; (80931b0 ) 80930a4: f04f 30ff mov.w r0, #4294967295 80930a8: f7c0 fb80 bl 80537ac BSP_LCD_DisplayStringAt(230, 175, "ÄÀ", CENTER_MODE); 80930ac: 2301 movs r3, #1 80930ae: 4a3f ldr r2, [pc, #252] ; (80931ac ) 80930b0: 21af movs r1, #175 ; 0xaf 80930b2: 20e6 movs r0, #230 ; 0xe6 80930b4: f7c0 fc40 bl 8053938 if(menupos == UpNo) 80930b8: e05a b.n 8093170 BSP_LCD_DisplayStringAt(90, 175, "NO", CENTER_MODE); 80930ba: 2301 movs r3, #1 80930bc: 4a3f ldr r2, [pc, #252] ; (80931bc ) 80930be: 21af movs r1, #175 ; 0xaf 80930c0: 205a movs r0, #90 ; 0x5a 80930c2: f7c0 fc39 bl 8053938 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 80930c6: 493a ldr r1, [pc, #232] ; (80931b0 ) 80930c8: f04f 30ff mov.w r0, #4294967295 80930cc: f7c0 fb6e bl 80537ac BSP_LCD_DisplayStringAt(230, 175, "YES", CENTER_MODE); 80930d0: 2301 movs r3, #1 80930d2: 4a39 ldr r2, [pc, #228] ; (80931b8 ) 80930d4: 21af movs r1, #175 ; 0xaf 80930d6: 20e6 movs r0, #230 ; 0xe6 80930d8: f7c0 fc2e bl 8053938 if(menupos == UpNo) 80930dc: e048 b.n 8093170 if(menupos == CleanUpResult) 80930de: 4b2c ldr r3, [pc, #176] ; (8093190 ) 80930e0: 781b ldrb r3, [r3, #0] 80930e2: b2db uxtb r3, r3 80930e4: 2b0a cmp r3, #10 80930e6: f044 827a bne.w 80975de if(CleanStatus == AP_OK) 80930ea: 4b35 ldr r3, [pc, #212] ; (80931c0 ) 80930ec: 781b ldrb r3, [r3, #0] 80930ee: b2db uxtb r3, r3 80930f0: 2b00 cmp r3, #0 80930f2: d118 bne.n 8093126 if(pardata.LANG == RUS) 80930f4: 4b28 ldr r3, [pc, #160] ; (8093198 ) 80930f6: 7b1b ldrb r3, [r3, #12] 80930f8: b2db uxtb r3, r3 80930fa: 2b00 cmp r3, #0 80930fc: d10c bne.n 8093118 BSP_LCD_DisplayStringAt(160, 111, "Óäàëåíèå çàâåðøåíî", CENTER_MODE); 80930fe: 2301 movs r3, #1 8093100: 4a30 ldr r2, [pc, #192] ; (80931c4 ) 8093102: 216f movs r1, #111 ; 0x6f 8093104: 20a0 movs r0, #160 ; 0xa0 8093106: f7c0 fc17 bl 8053938 BSP_LCD_DisplayStringAt(160, 111+15, "óñïåøíî!", CENTER_MODE); 809310a: 2301 movs r3, #1 809310c: 4a2e ldr r2, [pc, #184] ; (80931c8 ) 809310e: 217e movs r1, #126 ; 0x7e 8093110: 20a0 movs r0, #160 ; 0xa0 8093112: f7c0 fc11 bl 8053938 8093116: e01e b.n 8093156 BSP_LCD_DisplayStringAt(160, 111+15, "Deleting successful!", CENTER_MODE); 8093118: 2301 movs r3, #1 809311a: 4a2c ldr r2, [pc, #176] ; (80931cc ) 809311c: 217e movs r1, #126 ; 0x7e 809311e: 20a0 movs r0, #160 ; 0xa0 8093120: f7c0 fc0a bl 8053938 8093124: e017 b.n 8093156 if(pardata.LANG == RUS) 8093126: 4b1c ldr r3, [pc, #112] ; (8093198 ) 8093128: 7b1b ldrb r3, [r3, #12] 809312a: b2db uxtb r3, r3 809312c: 2b00 cmp r3, #0 809312e: d10c bne.n 809314a BSP_LCD_DisplayStringAt(160, 111, "Îøèáêà â ïðîöåññå", CENTER_MODE); 8093130: 2301 movs r3, #1 8093132: 4a27 ldr r2, [pc, #156] ; (80931d0 ) 8093134: 216f movs r1, #111 ; 0x6f 8093136: 20a0 movs r0, #160 ; 0xa0 8093138: f7c0 fbfe bl 8053938 BSP_LCD_DisplayStringAt(160, 111+15, "óäàëåíèÿ...", CENTER_MODE); 809313c: 2301 movs r3, #1 809313e: 4a25 ldr r2, [pc, #148] ; (80931d4 ) 8093140: 217e movs r1, #126 ; 0x7e 8093142: 20a0 movs r0, #160 ; 0xa0 8093144: f7c0 fbf8 bl 8053938 8093148: e005 b.n 8093156 BSP_LCD_DisplayStringAt(160, 111+15, "Deleting error!", CENTER_MODE); 809314a: 2301 movs r3, #1 809314c: 4a22 ldr r2, [pc, #136] ; (80931d8 ) 809314e: 217e movs r1, #126 ; 0x7e 8093150: 20a0 movs r0, #160 ; 0xa0 8093152: f7c0 fbf1 bl 8053938 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8093156: 4916 ldr r1, [pc, #88] ; (80931b0 ) 8093158: f04f 30ff mov.w r0, #4294967295 809315c: f7c0 fb26 bl 80537ac BSP_LCD_DisplayStringAt(160, 175, "OK", CENTER_MODE); 8093160: 2301 movs r3, #1 8093162: 4a1e ldr r2, [pc, #120] ; (80931dc ) 8093164: 21af movs r1, #175 ; 0xaf 8093166: 20a0 movs r0, #160 ; 0xa0 8093168: f7c0 fbe6 bl 8053938 break; 809316c: f004 ba37 b.w 80975de if(menupos == UpNo) 8093170: bf00 nop break; 8093172: f004 ba34 b.w 80975de 8093176: bf00 nop 8093178: ff0a0f1f .word 0xff0a0f1f 809317c: 080ef4a0 .word 0x080ef4a0 8093180: 20020df8 .word 0x20020df8 8093184: 20020de4 .word 0x20020de4 8093188: 42c00000 .word 0x42c00000 809318c: ffd3d3d3 .word 0xffd3d3d3 8093190: 20020070 .word 0x20020070 8093194: 20020038 .word 0x20020038 8093198: 20023e60 .word 0x20023e60 809319c: 080d0200 .word 0x080d0200 80931a0: 080d0218 .word 0x080d0218 80931a4: 080d0230 .word 0x080d0230 80931a8: 080d0248 .word 0x080d0248 80931ac: 080d0260 .word 0x080d0260 80931b0: ff606060 .word 0xff606060 80931b4: 080d0264 .word 0x080d0264 80931b8: 080d0268 .word 0x080d0268 80931bc: 080d026c .word 0x080d026c 80931c0: 20020dd0 .word 0x20020dd0 80931c4: 080d0270 .word 0x080d0270 80931c8: 080cfff8 .word 0x080cfff8 80931cc: 080d0284 .word 0x080d0284 80931d0: 080d0004 .word 0x080d0004 80931d4: 080d029c .word 0x080d029c 80931d8: 080d02a8 .word 0x080d02a8 80931dc: 080d02b8 .word 0x080d02b8 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); 80931e0: 49b4 ldr r1, [pc, #720] ; (80934b4 ) 80931e2: 48b5 ldr r0, [pc, #724] ; (80934b8 ) 80931e4: f7c0 fae2 bl 80537ac LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80931e8: 49b2 ldr r1, [pc, #712] ; (80934b4 ) 80931ea: f04f 30ff mov.w r0, #4294967295 80931ee: f7c0 fadd bl 80537ac BSP_LCD_DrawRect(10, 60, 300, 175); 80931f2: 23af movs r3, #175 ; 0xaf 80931f4: f44f 7296 mov.w r2, #300 ; 0x12c 80931f8: 213c movs r1, #60 ; 0x3c 80931fa: 200a movs r0, #10 80931fc: f7c0 fddc bl 8053db8 LCD_SetColors(LCD_COLOR_BLACK, LCD_COLOR_BLACK); 8093200: 49ac ldr r1, [pc, #688] ; (80934b4 ) 8093202: 48ac ldr r0, [pc, #688] ; (80934b4 ) 8093204: f7c0 fad2 bl 80537ac BSP_LCD_DrawRect(12, 62, 296, 171); 8093208: 23ab movs r3, #171 ; 0xab 809320a: f44f 7294 mov.w r2, #296 ; 0x128 809320e: 213e movs r1, #62 ; 0x3e 8093210: 200c movs r0, #12 8093212: f7c0 fdd1 bl 8053db8 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8093216: 49a7 ldr r1, [pc, #668] ; (80934b4 ) 8093218: 48a7 ldr r0, [pc, #668] ; (80934b8 ) 809321a: f7c0 fac7 bl 80537ac if(menu == INPUT_NAME_GTR) 809321e: 4ba7 ldr r3, [pc, #668] ; (80934bc ) 8093220: 781b ldrb r3, [r3, #0] 8093222: b2db uxtb r3, r3 8093224: 2b30 cmp r3, #48 ; 0x30 8093226: d110 bne.n 809324a { if(pardata.LANG == RUS) 8093228: 4ba5 ldr r3, [pc, #660] ; (80934c0 ) 809322a: 7b1b ldrb r3, [r3, #12] 809322c: b2db uxtb r3, r3 809322e: 2b00 cmp r3, #0 8093230: d105 bne.n 809323e LCD_DisplayStringC(164, 70, "Èìÿ äèðåêòîðèè:"); 8093232: 4aa4 ldr r2, [pc, #656] ; (80934c4 ) 8093234: 2146 movs r1, #70 ; 0x46 8093236: 20a4 movs r0, #164 ; 0xa4 8093238: f7c1 f878 bl 805432c 809323c: e046 b.n 80932cc else LCD_DisplayStringC(164, 70, "Enter a folder name:"); 809323e: 4aa2 ldr r2, [pc, #648] ; (80934c8 ) 8093240: 2146 movs r1, #70 ; 0x46 8093242: 20a4 movs r0, #164 ; 0xa4 8093244: f7c1 f872 bl 805432c 8093248: e040 b.n 80932cc } else if(menu == INPUT_NAME) 809324a: 4b9c ldr r3, [pc, #624] ; (80934bc ) 809324c: 781b ldrb r3, [r3, #0] 809324e: b2db uxtb r3, r3 8093250: 2b33 cmp r3, #51 ; 0x33 8093252: d110 bne.n 8093276 { if(pardata.LANG == RUS) 8093254: 4b9a ldr r3, [pc, #616] ; (80934c0 ) 8093256: 7b1b ldrb r3, [r3, #12] 8093258: b2db uxtb r3, r3 809325a: 2b00 cmp r3, #0 809325c: d105 bne.n 809326a LCD_DisplayStringC(164, 70, "Èìÿ:"); 809325e: 4a9b ldr r2, [pc, #620] ; (80934cc ) 8093260: 2146 movs r1, #70 ; 0x46 8093262: 20a4 movs r0, #164 ; 0xa4 8093264: f7c1 f862 bl 805432c 8093268: e030 b.n 80932cc else LCD_DisplayStringC(164, 70, "Enter a name:"); 809326a: 4a99 ldr r2, [pc, #612] ; (80934d0 ) 809326c: 2146 movs r1, #70 ; 0x46 809326e: 20a4 movs r0, #164 ; 0xa4 8093270: f7c1 f85c bl 805432c 8093274: e02a b.n 80932cc } else if((menu == INPUT_COMMENT) || (menu == INPUT_COMMENT_DIAGN)) 8093276: 4b91 ldr r3, [pc, #580] ; (80934bc ) 8093278: 781b ldrb r3, [r3, #0] 809327a: b2db uxtb r3, r3 809327c: 2b31 cmp r3, #49 ; 0x31 809327e: d004 beq.n 809328a 8093280: 4b8e ldr r3, [pc, #568] ; (80934bc ) 8093282: 781b ldrb r3, [r3, #0] 8093284: b2db uxtb r3, r3 8093286: 2b32 cmp r3, #50 ; 0x32 8093288: d110 bne.n 80932ac { if(pardata.LANG == RUS) 809328a: 4b8d ldr r3, [pc, #564] ; (80934c0 ) 809328c: 7b1b ldrb r3, [r3, #12] 809328e: b2db uxtb r3, r3 8093290: 2b00 cmp r3, #0 8093292: d105 bne.n 80932a0 LCD_DisplayStringC(164, 70, "Íàçâàíèå òî÷êè èçìåðåíèé"); 8093294: 4a8f ldr r2, [pc, #572] ; (80934d4 ) 8093296: 2146 movs r1, #70 ; 0x46 8093298: 20a4 movs r0, #164 ; 0xa4 809329a: f7c1 f847 bl 805432c if(pardata.LANG == RUS) 809329e: e015 b.n 80932cc else LCD_DisplayStringC(164, 70, "Point description"); 80932a0: 4a8d ldr r2, [pc, #564] ; (80934d8 ) 80932a2: 2146 movs r1, #70 ; 0x46 80932a4: 20a4 movs r0, #164 ; 0xa4 80932a6: f7c1 f841 bl 805432c if(pardata.LANG == RUS) 80932aa: e00f b.n 80932cc } else { if(pardata.LANG == RUS) 80932ac: 4b84 ldr r3, [pc, #528] ; (80934c0 ) 80932ae: 7b1b ldrb r3, [r3, #12] 80932b0: b2db uxtb r3, r3 80932b2: 2b00 cmp r3, #0 80932b4: d105 bne.n 80932c2 LCD_DisplayStringC (164, 70, "Ââåäèòå èìÿ ôàéëà:"); 80932b6: 4a89 ldr r2, [pc, #548] ; (80934dc ) 80932b8: 2146 movs r1, #70 ; 0x46 80932ba: 20a4 movs r0, #164 ; 0xa4 80932bc: f7c1 f836 bl 805432c 80932c0: e004 b.n 80932cc else LCD_DisplayStringC (164, 70, "Enter a file name:"); 80932c2: 4a87 ldr r2, [pc, #540] ; (80934e0 ) 80932c4: 2146 movs r1, #70 ; 0x46 80932c6: 20a4 movs r0, #164 ; 0xa4 80932c8: f7c1 f830 bl 805432c } LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80932cc: 4979 ldr r1, [pc, #484] ; (80934b4 ) 80932ce: f04f 30ff mov.w r0, #4294967295 80932d2: f7c0 fa6b bl 80537ac BSP_LCD_DrawHLine(115, 110, 79); 80932d6: 224f movs r2, #79 ; 0x4f 80932d8: 216e movs r1, #110 ; 0x6e 80932da: 2073 movs r0, #115 ; 0x73 80932dc: f7c0 fbe0 bl 8053aa0 DrawKeyboard(); 80932e0: f01a fb16 bl 80ad910 if(DrawStatus) 80932e4: 4b7f ldr r3, [pc, #508] ; (80934e4 ) 80932e6: 781b ldrb r3, [r3, #0] 80932e8: b2db uxtb r3, r3 80932ea: 2b00 cmp r3, #0 80932ec: d00e beq.n 809330c { if(STATUS == AP_FILE_EXIST) 80932ee: 4b7e ldr r3, [pc, #504] ; (80934e8 ) 80932f0: 681b ldr r3, [r3, #0] 80932f2: 2b06 cmp r3, #6 80932f4: d104 bne.n 8093300 LCD_SetColors(LCD_COLOR_RED, LCD_COLOR_BLACK); 80932f6: 496f ldr r1, [pc, #444] ; (80934b4 ) 80932f8: 487c ldr r0, [pc, #496] ; (80934ec ) 80932fa: f7c0 fa57 bl 80537ac 80932fe: e00a b.n 8093316 else LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_BLACK);//GUI_SetColor(GUI_YELLOW); 8093300: 496c ldr r1, [pc, #432] ; (80934b4 ) 8093302: f06f 00ff mvn.w r0, #255 ; 0xff 8093306: f7c0 fa51 bl 80537ac 809330a: e004 b.n 8093316 } else LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_BLACK); 809330c: 4969 ldr r1, [pc, #420] ; (80934b4 ) 809330e: f06f 00ff mvn.w r0, #255 ; 0xff 8093312: f7c0 fa4b bl 80537ac memset(str1, 0, sizeof(str1)); 8093316: f507 73f6 add.w r3, r7, #492 ; 0x1ec 809331a: f44f 7280 mov.w r2, #256 ; 0x100 809331e: 2100 movs r1, #0 8093320: 4618 mov r0, r3 8093322: f039 fe91 bl 80cd048 if(menu == INPUT_NAME_GTR) 8093326: 4b65 ldr r3, [pc, #404] ; (80934bc ) 8093328: 781b ldrb r3, [r3, #0] 809332a: b2db uxtb r3, r3 809332c: 2b30 cmp r3, #48 ; 0x30 809332e: d106 bne.n 809333e { strcpy(str1, TEMP_WavFileName); 8093330: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8093334: 496e ldr r1, [pc, #440] ; (80934f0 ) 8093336: 4618 mov r0, r3 8093338: f039 ffa3 bl 80cd282 809333c: e02e b.n 809339c } else if(menu == INPUT_NAME_DGN) 809333e: 4b5f ldr r3, [pc, #380] ; (80934bc ) 8093340: 781b ldrb r3, [r3, #0] 8093342: b2db uxtb r3, r3 8093344: 2b2c cmp r3, #44 ; 0x2c 8093346: d106 bne.n 8093356 { strcpy(str1, TEMP_DiagFileName); 8093348: f507 73f6 add.w r3, r7, #492 ; 0x1ec 809334c: 4969 ldr r1, [pc, #420] ; (80934f4 ) 809334e: 4618 mov r0, r3 8093350: f039 ff97 bl 80cd282 8093354: e022 b.n 809339c } else if(menu == INPUT_NAME) 8093356: 4b59 ldr r3, [pc, #356] ; (80934bc ) 8093358: 781b ldrb r3, [r3, #0] 809335a: b2db uxtb r3, r3 809335c: 2b33 cmp r3, #51 ; 0x33 809335e: d106 bne.n 809336e { strcpy(str1, TEMP_Name); 8093360: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8093364: 4964 ldr r1, [pc, #400] ; (80934f8 ) 8093366: 4618 mov r0, r3 8093368: f039 ff8b bl 80cd282 809336c: e016 b.n 809339c } else if((menu == INPUT_COMMENT) || (menu == INPUT_COMMENT_DIAGN)) 809336e: 4b53 ldr r3, [pc, #332] ; (80934bc ) 8093370: 781b ldrb r3, [r3, #0] 8093372: b2db uxtb r3, r3 8093374: 2b31 cmp r3, #49 ; 0x31 8093376: d004 beq.n 8093382 8093378: 4b50 ldr r3, [pc, #320] ; (80934bc ) 809337a: 781b ldrb r3, [r3, #0] 809337c: b2db uxtb r3, r3 809337e: 2b32 cmp r3, #50 ; 0x32 8093380: d106 bne.n 8093390 { strcpy(str1, TEMP_Comment); 8093382: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8093386: 495d ldr r1, [pc, #372] ; (80934fc ) 8093388: 4618 mov r0, r3 809338a: f039 ff7a bl 80cd282 809338e: e005 b.n 809339c } else strcpy(str1, TEMP_MeasFileName); 8093390: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8093394: 495a ldr r1, [pc, #360] ; (8093500 ) 8093396: 4618 mov r0, r3 8093398: f039 ff73 bl 80cd282 if(blink) 809339c: 4b59 ldr r3, [pc, #356] ; (8093504 ) 809339e: 681b ldr r3, [r3, #0] 80933a0: 2b00 cmp r3, #0 80933a2: d00a beq.n 80933ba str1[strlen(str1)] = '|'; 80933a4: f507 73f6 add.w r3, r7, #492 ; 0x1ec 80933a8: 4618 mov r0, r3 80933aa: f78c ffb3 bl 8020314 80933ae: 4602 mov r2, r0 80933b0: f507 73f6 add.w r3, r7, #492 ; 0x1ec 80933b4: 217c movs r1, #124 ; 0x7c 80933b6: 5499 strb r1, [r3, r2] 80933b8: e009 b.n 80933ce else str1[strlen(str1)] = ' '; 80933ba: f507 73f6 add.w r3, r7, #492 ; 0x1ec 80933be: 4618 mov r0, r3 80933c0: f78c ffa8 bl 8020314 80933c4: 4602 mov r2, r0 80933c6: f507 73f6 add.w r3, r7, #492 ; 0x1ec 80933ca: 2120 movs r1, #32 80933cc: 5499 strb r1, [r3, r2] BSP_LCD_SetFont(&Font12); 80933ce: 484e ldr r0, [pc, #312] ; (8093508 ) 80933d0: f7c0 fa28 bl 8053824 BSP_LCD_DisplayStringAt(160, 95, str1, CENTER_MODE); 80933d4: f507 72f6 add.w r2, r7, #492 ; 0x1ec 80933d8: 2301 movs r3, #1 80933da: 215f movs r1, #95 ; 0x5f 80933dc: 20a0 movs r0, #160 ; 0xa0 80933de: f7c0 faab bl 8053938 break; 80933e2: f004 b907 b.w 80975f4 case ARCHIVE_SPEC: LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 80933e6: 4933 ldr r1, [pc, #204] ; (80934b4 ) 80933e8: 4848 ldr r0, [pc, #288] ; (809350c ) 80933ea: f7c0 f9df bl 80537ac BSP_LCD_DrawHLine(7, 52, 308); 80933ee: f44f 729a mov.w r2, #308 ; 0x134 80933f2: 2134 movs r1, #52 ; 0x34 80933f4: 2007 movs r0, #7 80933f6: f7c0 fb53 bl 8053aa0 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80933fa: 492e ldr r1, [pc, #184] ; (80934b4 ) 80933fc: 482e ldr r0, [pc, #184] ; (80934b8 ) 80933fe: f7c0 f9d5 bl 80537ac if(pardata.LANG == RUS) 8093402: 4b2f ldr r3, [pc, #188] ; (80934c0 ) 8093404: 7b1b ldrb r3, [r3, #12] 8093406: b2db uxtb r3, r3 8093408: 2b00 cmp r3, #0 809340a: d105 bne.n 8093418 LCD_DisplayString(7, LCD_LINE_2, "..|Îòêðûòü ôàéë"); 809340c: 4a40 ldr r2, [pc, #256] ; (8093510 ) 809340e: 2127 movs r1, #39 ; 0x27 8093410: 2007 movs r0, #7 8093412: f7c0 ff73 bl 80542fc 8093416: e004 b.n 8093422 else LCD_DisplayString(7, LCD_LINE_2, "..|Open file"); 8093418: 4a3e ldr r2, [pc, #248] ; (8093514 ) 809341a: 2127 movs r1, #39 ; 0x27 809341c: 2007 movs r0, #7 809341e: f7c0 ff6d bl 80542fc if(pardata.LANG == RUS) 8093422: 4b27 ldr r3, [pc, #156] ; (80934c0 ) 8093424: 7b1b ldrb r3, [r3, #12] 8093426: b2db uxtb r3, r3 8093428: 2b00 cmp r3, #0 809342a: d105 bne.n 8093438 DrawImage(&bmLEGEND_CLEAN, 0, 65); 809342c: 2241 movs r2, #65 ; 0x41 809342e: 2100 movs r1, #0 8093430: 4839 ldr r0, [pc, #228] ; (8093518 ) 8093432: f7c1 f8af bl 8054594 8093436: e004 b.n 8093442 else DrawImage(&bmLEGEND_CLEAN_ENG, 0, 65); 8093438: 2241 movs r2, #65 ; 0x41 809343a: 2100 movs r1, #0 809343c: 4837 ldr r0, [pc, #220] ; (809351c ) 809343e: f7c1 f8a9 bl 8054594 if(menupos == NoFilesSPEC) 8093442: 4b37 ldr r3, [pc, #220] ; (8093520 ) 8093444: 781b ldrb r3, [r3, #0] 8093446: b2db uxtb r3, r3 8093448: 2b01 cmp r3, #1 809344a: d117 bne.n 809347c { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 809344c: 4919 ldr r1, [pc, #100] ; (80934b4 ) 809344e: f04f 30ff mov.w r0, #4294967295 8093452: f7c0 f9ab bl 80537ac if(pardata.LANG == RUS) 8093456: 4b1a ldr r3, [pc, #104] ; (80934c0 ) 8093458: 7b1b ldrb r3, [r3, #12] 809345a: b2db uxtb r3, r3 809345c: 2b00 cmp r3, #0 809345e: d106 bne.n 809346e LCD_DisplayStringC(160, LCD_LINE_8, "Ôàéëû îòñóòñòâóþò."); 8093460: 4a30 ldr r2, [pc, #192] ; (8093524 ) 8093462: 218a movs r1, #138 ; 0x8a 8093464: 20a0 movs r0, #160 ; 0xa0 8093466: f7c0 ff61 bl 805432c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); LCD_DisplayStringC(160, 170, "Ok"); } } } break; 809346a: f004 b8ba b.w 80975e2 else LCD_DisplayStringC(160, LCD_LINE_8, "No files..."); 809346e: 4a2e ldr r2, [pc, #184] ; (8093528 ) 8093470: 218a movs r1, #138 ; 0x8a 8093472: 20a0 movs r0, #160 ; 0xa0 8093474: f7c0 ff5a bl 805432c break; 8093478: f004 b8b3 b.w 80975e2 if((menupos == FilesSPEC) || (menupos == UpNo) || (menupos == UpYes) || (menupos == CleanUpResult)) 809347c: 4b28 ldr r3, [pc, #160] ; (8093520 ) 809347e: 781b ldrb r3, [r3, #0] 8093480: b2db uxtb r3, r3 8093482: 2b02 cmp r3, #2 8093484: d00f beq.n 80934a6 8093486: 4b26 ldr r3, [pc, #152] ; (8093520 ) 8093488: 781b ldrb r3, [r3, #0] 809348a: b2db uxtb r3, r3 809348c: 2b06 cmp r3, #6 809348e: d00a beq.n 80934a6 8093490: 4b23 ldr r3, [pc, #140] ; (8093520 ) 8093492: 781b ldrb r3, [r3, #0] 8093494: b2db uxtb r3, r3 8093496: 2b07 cmp r3, #7 8093498: d005 beq.n 80934a6 809349a: 4b21 ldr r3, [pc, #132] ; (8093520 ) 809349c: 781b ldrb r3, [r3, #0] 809349e: b2db uxtb r3, r3 80934a0: 2b0a cmp r3, #10 80934a2: f044 809e bne.w 80975e2 BSP_LCD_SetFont(&Font12); 80934a6: 4818 ldr r0, [pc, #96] ; (8093508 ) 80934a8: f7c0 f9bc bl 8053824 for(i = 0; i < VIEW_FILES; i++) 80934ac: 2300 movs r3, #0 80934ae: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 80934b2: e1bb b.n 809382c 80934b4: ff0a0f1f .word 0xff0a0f1f 80934b8: ff808080 .word 0xff808080 80934bc: 20020f78 .word 0x20020f78 80934c0: 20023e60 .word 0x20023e60 80934c4: 080d02bc .word 0x080d02bc 80934c8: 080d02cc .word 0x080d02cc 80934cc: 080d02e4 .word 0x080d02e4 80934d0: 080d02ec .word 0x080d02ec 80934d4: 080d02fc .word 0x080d02fc 80934d8: 080d0318 .word 0x080d0318 80934dc: 080d032c .word 0x080d032c 80934e0: 080d0340 .word 0x080d0340 80934e4: 20020dd2 .word 0x20020dd2 80934e8: 20020dcc .word 0x20020dcc 80934ec: ffff0000 .word 0xffff0000 80934f0: 20025ca4 .word 0x20025ca4 80934f4: 20025cc8 .word 0x20025cc8 80934f8: 20025cf4 .word 0x20025cf4 80934fc: 20025c40 .word 0x20025c40 8093500: 20025c80 .word 0x20025c80 8093504: 20021660 .word 0x20021660 8093508: 20020038 .word 0x20020038 809350c: ffd3d3d3 .word 0xffd3d3d3 8093510: 080d0354 .word 0x080d0354 8093514: 080d0364 .word 0x080d0364 8093518: 08117f48 .word 0x08117f48 809351c: 0811b154 .word 0x0811b154 8093520: 20020070 .word 0x20020070 8093524: 080d0374 .word 0x080d0374 8093528: 080d0388 .word 0x080d0388 if(CursorIndex == i) 809352c: 4bad ldr r3, [pc, #692] ; (80937e4 ) 809352e: 681a ldr r2, [r3, #0] 8093530: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8093534: 429a cmp r2, r3 8093536: d116 bne.n 8093566 LCD_SetColors(LCD_COLOR_CURSOR, LCD_COLOR_CURSOR); 8093538: 49ab ldr r1, [pc, #684] ; (80937e8 ) 809353a: 48ab ldr r0, [pc, #684] ; (80937e8 ) 809353c: f7c0 f936 bl 80537ac BSP_LCD_FillRect(3, POS_Y_12[i], 312, CurrentFont->Height); 8093540: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8093544: 4aa9 ldr r2, [pc, #676] ; (80937ec ) 8093546: f832 1013 ldrh.w r1, [r2, r3, lsl #1] 809354a: 4ba9 ldr r3, [pc, #676] ; (80937f0 ) 809354c: 681b ldr r3, [r3, #0] 809354e: 88db ldrh r3, [r3, #6] 8093550: f44f 729c mov.w r2, #312 ; 0x138 8093554: 2003 movs r0, #3 8093556: f7c0 fdb7 bl 80540c8 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_CURSOR); 809355a: 49a3 ldr r1, [pc, #652] ; (80937e8 ) 809355c: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8093560: f7c0 f924 bl 80537ac 8093564: e004 b.n 8093570 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8093566: 49a3 ldr r1, [pc, #652] ; (80937f4 ) 8093568: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 809356c: f7c0 f91e bl 80537ac if(ExplorerFiles[i].fname[0] != 0) 8093570: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 8093574: 49a0 ldr r1, [pc, #640] ; (80937f8 ) 8093576: 4613 mov r3, r2 8093578: 00db lsls r3, r3, #3 809357a: 1a9b subs r3, r3, r2 809357c: 00db lsls r3, r3, #3 809357e: 440b add r3, r1 8093580: 330c adds r3, #12 8093582: 781b ldrb r3, [r3, #0] 8093584: 2b00 cmp r3, #0 8093586: f000 814c beq.w 8093822 BSP_LCD_DisplayStringAt(5, POS_Y_12[i], (char *) ExplorerFiles[i].fname, LEFT_MODE); 809358a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 809358e: 4a97 ldr r2, [pc, #604] ; (80937ec ) 8093590: f832 1013 ldrh.w r1, [r2, r3, lsl #1] 8093594: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 8093598: 4613 mov r3, r2 809359a: 00db lsls r3, r3, #3 809359c: 1a9b subs r3, r3, r2 809359e: 00db lsls r3, r3, #3 80935a0: 3308 adds r3, #8 80935a2: 4a95 ldr r2, [pc, #596] ; (80937f8 ) 80935a4: 4413 add r3, r2 80935a6: 1d1a adds r2, r3, #4 80935a8: 2303 movs r3, #3 80935aa: 2005 movs r0, #5 80935ac: f7c0 f9c4 bl 8053938 k = 0; 80935b0: 2300 movs r3, #0 80935b2: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 GetDateTimeFromUnix(&FatTime, ExplorerFiles[i].datetime); 80935b6: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 80935ba: 498f ldr r1, [pc, #572] ; (80937f8 ) 80935bc: 4613 mov r3, r2 80935be: 00db lsls r3, r3, #3 80935c0: 1a9b subs r3, r3, r2 80935c2: 00db lsls r3, r3, #3 80935c4: 440b add r3, r1 80935c6: 3308 adds r3, #8 80935c8: 681a ldr r2, [r3, #0] 80935ca: f107 030c add.w r3, r7, #12 80935ce: 4611 mov r1, r2 80935d0: 4618 mov r0, r3 80935d2: f7d3 ffbb bl 806754c str1[k++] = (FatTime.Date / 10) + 48; 80935d6: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80935da: 1c5a adds r2, r3, #1 80935dc: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 80935e0: f107 020c add.w r2, r7, #12 80935e4: 7852 ldrb r2, [r2, #1] 80935e6: 4985 ldr r1, [pc, #532] ; (80937fc ) 80935e8: fba1 1202 umull r1, r2, r1, r2 80935ec: 08d2 lsrs r2, r2, #3 80935ee: b2d2 uxtb r2, r2 80935f0: 3230 adds r2, #48 ; 0x30 80935f2: b2d1 uxtb r1, r2 80935f4: f507 72f6 add.w r2, r7, #492 ; 0x1ec 80935f8: 54d1 strb r1, [r2, r3] str1[k++] = (FatTime.Date % 10) + 48; 80935fa: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 80935fe: 1c53 adds r3, r2, #1 8093600: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8093604: f107 030c add.w r3, r7, #12 8093608: 7859 ldrb r1, [r3, #1] 809360a: 4b7c ldr r3, [pc, #496] ; (80937fc ) 809360c: fba3 0301 umull r0, r3, r3, r1 8093610: 08d8 lsrs r0, r3, #3 8093612: 4603 mov r3, r0 8093614: 009b lsls r3, r3, #2 8093616: 4403 add r3, r0 8093618: 005b lsls r3, r3, #1 809361a: 1acb subs r3, r1, r3 809361c: b2db uxtb r3, r3 809361e: 3330 adds r3, #48 ; 0x30 8093620: b2d9 uxtb r1, r3 8093622: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8093626: 5499 strb r1, [r3, r2] str1[k++] = '.'; 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: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8093636: 212e movs r1, #46 ; 0x2e 8093638: 54d1 strb r1, [r2, r3] str1[k++] = (FatTime.Month / 10) + 48; 809363a: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 809363e: 1c5a adds r2, r3, #1 8093640: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 8093644: f107 020c add.w r2, r7, #12 8093648: 7812 ldrb r2, [r2, #0] 809364a: 496c ldr r1, [pc, #432] ; (80937fc ) 809364c: fba1 1202 umull r1, r2, r1, r2 8093650: 08d2 lsrs r2, r2, #3 8093652: b2d2 uxtb r2, r2 8093654: 3230 adds r2, #48 ; 0x30 8093656: b2d1 uxtb r1, r2 8093658: f507 72f6 add.w r2, r7, #492 ; 0x1ec 809365c: 54d1 strb r1, [r2, r3] str1[k++] = (FatTime.Month % 10) + 48; 809365e: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8093662: 1c53 adds r3, r2, #1 8093664: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8093668: f107 030c add.w r3, r7, #12 809366c: 7819 ldrb r1, [r3, #0] 809366e: 4b63 ldr r3, [pc, #396] ; (80937fc ) 8093670: fba3 0301 umull r0, r3, r3, r1 8093674: 08d8 lsrs r0, r3, #3 8093676: 4603 mov r3, r0 8093678: 009b lsls r3, r3, #2 809367a: 4403 add r3, r0 809367c: 005b lsls r3, r3, #1 809367e: 1acb subs r3, r1, r3 8093680: b2db uxtb r3, r3 8093682: 3330 adds r3, #48 ; 0x30 8093684: b2d9 uxtb r1, r3 8093686: f507 73f6 add.w r3, r7, #492 ; 0x1ec 809368a: 5499 strb r1, [r3, r2] str1[k++] = '.'; 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: f507 72f6 add.w r2, r7, #492 ; 0x1ec 809369a: 212e movs r1, #46 ; 0x2e 809369c: 54d1 strb r1, [r2, r3] str1[k++] = (FatTime.Year / 10) + 48; 809369e: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80936a2: 1c5a adds r2, r3, #1 80936a4: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 80936a8: f107 020c add.w r2, r7, #12 80936ac: 7892 ldrb r2, [r2, #2] 80936ae: 4953 ldr r1, [pc, #332] ; (80937fc ) 80936b0: fba1 1202 umull r1, r2, r1, r2 80936b4: 08d2 lsrs r2, r2, #3 80936b6: b2d2 uxtb r2, r2 80936b8: 3230 adds r2, #48 ; 0x30 80936ba: b2d1 uxtb r1, r2 80936bc: f507 72f6 add.w r2, r7, #492 ; 0x1ec 80936c0: 54d1 strb r1, [r2, r3] str1[k++] = (FatTime.Year % 10) + 48; 80936c2: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 80936c6: 1c53 adds r3, r2, #1 80936c8: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 80936cc: f107 030c add.w r3, r7, #12 80936d0: 7899 ldrb r1, [r3, #2] 80936d2: 4b4a ldr r3, [pc, #296] ; (80937fc ) 80936d4: fba3 0301 umull r0, r3, r3, r1 80936d8: 08d8 lsrs r0, r3, #3 80936da: 4603 mov r3, r0 80936dc: 009b lsls r3, r3, #2 80936de: 4403 add r3, r0 80936e0: 005b lsls r3, r3, #1 80936e2: 1acb subs r3, r1, r3 80936e4: b2db uxtb r3, r3 80936e6: 3330 adds r3, #48 ; 0x30 80936e8: b2d9 uxtb r1, r3 80936ea: f507 73f6 add.w r3, r7, #492 ; 0x1ec 80936ee: 5499 strb r1, [r3, r2] str1[k++] = ' '; 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: f507 72f6 add.w r2, r7, #492 ; 0x1ec 80936fe: 2120 movs r1, #32 8093700: 54d1 strb r1, [r2, r3] str1[k++] = (FatTime.Hours / 10) + 48; 8093702: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8093706: 1c5a adds r2, r3, #1 8093708: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 809370c: f107 020c add.w r2, r7, #12 8093710: 78d2 ldrb r2, [r2, #3] 8093712: 493a ldr r1, [pc, #232] ; (80937fc ) 8093714: fba1 1202 umull r1, r2, r1, r2 8093718: 08d2 lsrs r2, r2, #3 809371a: b2d2 uxtb r2, r2 809371c: 3230 adds r2, #48 ; 0x30 809371e: b2d1 uxtb r1, r2 8093720: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8093724: 54d1 strb r1, [r2, r3] str1[k++] = (FatTime.Hours % 10) + 48; 8093726: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 809372a: 1c53 adds r3, r2, #1 809372c: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8093730: f107 030c add.w r3, r7, #12 8093734: 78d9 ldrb r1, [r3, #3] 8093736: 4b31 ldr r3, [pc, #196] ; (80937fc ) 8093738: fba3 0301 umull r0, r3, r3, r1 809373c: 08d8 lsrs r0, r3, #3 809373e: 4603 mov r3, r0 8093740: 009b lsls r3, r3, #2 8093742: 4403 add r3, r0 8093744: 005b lsls r3, r3, #1 8093746: 1acb subs r3, r1, r3 8093748: b2db uxtb r3, r3 809374a: 3330 adds r3, #48 ; 0x30 809374c: b2d9 uxtb r1, r3 809374e: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8093752: 5499 strb r1, [r3, r2] str1[k++] = ':'; 8093754: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8093758: 1c5a adds r2, r3, #1 809375a: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 809375e: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8093762: 213a movs r1, #58 ; 0x3a 8093764: 54d1 strb r1, [r2, r3] str1[k++] = (FatTime.Minutes / 10) + 48; 8093766: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 809376a: 1c5a adds r2, r3, #1 809376c: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 8093770: f107 020c add.w r2, r7, #12 8093774: 7912 ldrb r2, [r2, #4] 8093776: 4921 ldr r1, [pc, #132] ; (80937fc ) 8093778: fba1 1202 umull r1, r2, r1, r2 809377c: 08d2 lsrs r2, r2, #3 809377e: b2d2 uxtb r2, r2 8093780: 3230 adds r2, #48 ; 0x30 8093782: b2d1 uxtb r1, r2 8093784: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8093788: 54d1 strb r1, [r2, r3] str1[k++] = (FatTime.Minutes % 10) + 48; 809378a: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 809378e: 1c53 adds r3, r2, #1 8093790: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8093794: f107 030c add.w r3, r7, #12 8093798: 7919 ldrb r1, [r3, #4] 809379a: 4b18 ldr r3, [pc, #96] ; (80937fc ) 809379c: fba3 0301 umull r0, r3, r3, r1 80937a0: 08d8 lsrs r0, r3, #3 80937a2: 4603 mov r3, r0 80937a4: 009b lsls r3, r3, #2 80937a6: 4403 add r3, r0 80937a8: 005b lsls r3, r3, #1 80937aa: 1acb subs r3, r1, r3 80937ac: b2db uxtb r3, r3 80937ae: 3330 adds r3, #48 ; 0x30 80937b0: b2d9 uxtb r1, r3 80937b2: f507 73f6 add.w r3, r7, #492 ; 0x1ec 80937b6: 5499 strb r1, [r3, r2] str1[k++] = '\0'; 80937b8: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80937bc: 1c5a adds r2, r3, #1 80937be: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 80937c2: f507 72f6 add.w r2, r7, #492 ; 0x1ec 80937c6: 2100 movs r1, #0 80937c8: 54d1 strb r1, [r2, r3] if(CursorIndex == i) 80937ca: 4b06 ldr r3, [pc, #24] ; (80937e4 ) 80937cc: 681a ldr r2, [r3, #0] 80937ce: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80937d2: 429a cmp r2, r3 80937d4: d114 bne.n 8093800 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 80937d6: 4904 ldr r1, [pc, #16] ; (80937e8 ) 80937d8: f04f 30ff mov.w r0, #4294967295 80937dc: f7bf ffe6 bl 80537ac 80937e0: e013 b.n 809380a 80937e2: bf00 nop 80937e4: 20020de0 .word 0x20020de0 80937e8: ff606060 .word 0xff606060 80937ec: 080ef4a0 .word 0x080ef4a0 80937f0: 20025d24 .word 0x20025d24 80937f4: ff0a0f1f .word 0xff0a0f1f 80937f8: 20022350 .word 0x20022350 80937fc: cccccccd .word 0xcccccccd else LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8093800: 49bc ldr r1, [pc, #752] ; (8093af4 ) 8093802: f04f 30ff mov.w r0, #4294967295 8093806: f7bf ffd1 bl 80537ac BSP_LCD_DisplayStringAt(312, POS_Y_12[i], str1, RIGHT_MODE); 809380a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 809380e: 4aba ldr r2, [pc, #744] ; (8093af8 ) 8093810: f832 1013 ldrh.w r1, [r2, r3, lsl #1] 8093814: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8093818: 2302 movs r3, #2 809381a: f44f 709c mov.w r0, #312 ; 0x138 809381e: f7c0 f88b bl 8053938 for(i = 0; i < VIEW_FILES; i++) 8093822: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8093826: 3301 adds r3, #1 8093828: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 809382c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8093830: 2b0b cmp r3, #11 8093832: f67f ae7b bls.w 809352c if(NumFilesSPEC > VIEW_FILES) 8093836: 4bb1 ldr r3, [pc, #708] ; (8093afc ) 8093838: 681b ldr r3, [r3, #0] 809383a: 2b0c cmp r3, #12 809383c: d95f bls.n 80938fe k = (140 * VIEW_FILES) / NumFilesSPEC; //äëèíà ïîëçóíêà 809383e: 4baf ldr r3, [pc, #700] ; (8093afc ) 8093840: 681b ldr r3, [r3, #0] 8093842: f44f 62d2 mov.w r2, #1680 ; 0x690 8093846: fbb2 f3f3 udiv r3, r2, r3 809384a: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 f = (float32_t) (140 * FirstFileIndex); 809384e: 4bac ldr r3, [pc, #688] ; (8093b00 ) 8093850: 681b ldr r3, [r3, #0] 8093852: 228c movs r2, #140 ; 0x8c 8093854: fb02 f303 mul.w r3, r2, r3 8093858: ee07 3a90 vmov s15, r3 809385c: eef8 7a67 vcvt.f32.u32 s15, s15 8093860: f507 638b add.w r3, r7, #1112 ; 0x458 8093864: edc3 7a00 vstr s15, [r3] f = (f / (float32_t) NumFilesSPEC) + 96.0f; 8093868: 4ba4 ldr r3, [pc, #656] ; (8093afc ) 809386a: 681b ldr r3, [r3, #0] 809386c: ee07 3a90 vmov s15, r3 8093870: eeb8 7a67 vcvt.f32.u32 s14, s15 8093874: f507 638b add.w r3, r7, #1112 ; 0x458 8093878: edd3 6a00 vldr s13, [r3] 809387c: eec6 7a87 vdiv.f32 s15, s13, s14 8093880: ed9f 7aa0 vldr s14, [pc, #640] ; 8093b04 8093884: ee77 7a87 vadd.f32 s15, s15, s14 8093888: f507 638b add.w r3, r7, #1112 ; 0x458 809388c: edc3 7a00 vstr s15, [r3] y0 = (uint16_t) f; //âåðõíÿÿ êîîðäèíàòà ïîëçóíêà 8093890: f507 638b add.w r3, r7, #1112 ; 0x458 8093894: edd3 7a00 vldr s15, [r3] 8093898: eefc 7ae7 vcvt.u32.f32 s15, s15 809389c: edc7 7a01 vstr s15, [r7, #4] 80938a0: 88bb ldrh r3, [r7, #4] 80938a2: f8a7 343c strh.w r3, [r7, #1084] ; 0x43c y1 = y0 + k; 80938a6: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80938aa: b29a uxth r2, r3 80938ac: f8b7 343c ldrh.w r3, [r7, #1084] ; 0x43c 80938b0: 4413 add r3, r2 80938b2: f8a7 343a strh.w r3, [r7, #1082] ; 0x43a if(y1 > 236) 80938b6: f8b7 343a ldrh.w r3, [r7, #1082] ; 0x43a 80938ba: 2bec cmp r3, #236 ; 0xec 80938bc: d905 bls.n 80938ca k = 236 - y0; 80938be: f8b7 343c ldrh.w r3, [r7, #1084] ; 0x43c 80938c2: f1c3 03ec rsb r3, r3, #236 ; 0xec 80938c6: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 80938ca: 498a ldr r1, [pc, #552] ; (8093af4 ) 80938cc: 488e ldr r0, [pc, #568] ; (8093b08 ) 80938ce: f7bf ff6d bl 80537ac BSP_LCD_DrawRect(314, 94, 5, 143); 80938d2: 238f movs r3, #143 ; 0x8f 80938d4: 2205 movs r2, #5 80938d6: 215e movs r1, #94 ; 0x5e 80938d8: f44f 709d mov.w r0, #314 ; 0x13a 80938dc: f7c0 fa6c bl 8053db8 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80938e0: 4984 ldr r1, [pc, #528] ; (8093af4 ) 80938e2: f04f 30ff mov.w r0, #4294967295 80938e6: f7bf ff61 bl 80537ac BSP_LCD_FillRect(316, y0, 2, k); 80938ea: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80938ee: b29b uxth r3, r3 80938f0: f8b7 143c ldrh.w r1, [r7, #1084] ; 0x43c 80938f4: 2202 movs r2, #2 80938f6: f44f 709e mov.w r0, #316 ; 0x13c 80938fa: f7c0 fbe5 bl 80540c8 if((menupos != NoFilesSPEC) && (menupos != FilesSPEC)) 80938fe: 4b83 ldr r3, [pc, #524] ; (8093b0c ) 8093900: 781b ldrb r3, [r3, #0] 8093902: b2db uxtb r3, r3 8093904: 2b01 cmp r3, #1 8093906: f003 866c beq.w 80975e2 809390a: 4b80 ldr r3, [pc, #512] ; (8093b0c ) 809390c: 781b ldrb r3, [r3, #0] 809390e: b2db uxtb r3, r3 8093910: 2b02 cmp r3, #2 8093912: f003 8666 beq.w 80975e2 LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 8093916: 4977 ldr r1, [pc, #476] ; (8093af4 ) 8093918: 487b ldr r0, [pc, #492] ; (8093b08 ) 809391a: f7bf ff47 bl 80537ac BSP_LCD_FillRect(60, 73, 200, 124); 809391e: 237c movs r3, #124 ; 0x7c 8093920: 22c8 movs r2, #200 ; 0xc8 8093922: 2149 movs r1, #73 ; 0x49 8093924: 203c movs r0, #60 ; 0x3c 8093926: f7c0 fbcf bl 80540c8 LCD_SetColors(LCD_COLOR_BLACK, LCD_COLOR_BLACK); 809392a: 4972 ldr r1, [pc, #456] ; (8093af4 ) 809392c: 4871 ldr r0, [pc, #452] ; (8093af4 ) 809392e: f7bf ff3d bl 80537ac BSP_LCD_FillRect(61, 74, 198, 122); 8093932: 237a movs r3, #122 ; 0x7a 8093934: 22c6 movs r2, #198 ; 0xc6 8093936: 214a movs r1, #74 ; 0x4a 8093938: 203d movs r0, #61 ; 0x3d 809393a: f7c0 fbc5 bl 80540c8 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 809393e: 496d ldr r1, [pc, #436] ; (8093af4 ) 8093940: f04f 30ff mov.w r0, #4294967295 8093944: f7bf ff32 bl 80537ac if((menupos == UpNo) || (menupos == UpYes)) 8093948: 4b70 ldr r3, [pc, #448] ; (8093b0c ) 809394a: 781b ldrb r3, [r3, #0] 809394c: b2db uxtb r3, r3 809394e: 2b06 cmp r3, #6 8093950: d004 beq.n 809395c 8093952: 4b6e ldr r3, [pc, #440] ; (8093b0c ) 8093954: 781b ldrb r3, [r3, #0] 8093956: b2db uxtb r3, r3 8093958: 2b07 cmp r3, #7 809395a: d172 bne.n 8093a42 if(pardata.LANG == RUS) 809395c: 4b6c ldr r3, [pc, #432] ; (8093b10 ) 809395e: 7b1b ldrb r3, [r3, #12] 8093960: b2db uxtb r3, r3 8093962: 2b00 cmp r3, #0 8093964: d10f bne.n 8093986 LCD_DisplayStringC(160, LCD_LINE_6, "Ôàéë áóäåò"); 8093966: 4a6b ldr r2, [pc, #428] ; (8093b14 ) 8093968: 216a movs r1, #106 ; 0x6a 809396a: 20a0 movs r0, #160 ; 0xa0 809396c: f7c0 fcde bl 805432c LCD_DisplayStringC(160, LCD_LINE_7, "óäàëåí."); 8093970: 4a69 ldr r2, [pc, #420] ; (8093b18 ) 8093972: 217a movs r1, #122 ; 0x7a 8093974: 20a0 movs r0, #160 ; 0xa0 8093976: f7c0 fcd9 bl 805432c LCD_DisplayStringC(160, LCD_LINE_8, "Ïðîäîëæèòü?"); 809397a: 4a68 ldr r2, [pc, #416] ; (8093b1c ) 809397c: 218a movs r1, #138 ; 0x8a 809397e: 20a0 movs r0, #160 ; 0xa0 8093980: f7c0 fcd4 bl 805432c 8093984: e00e b.n 80939a4 LCD_DisplayStringC(160, LCD_LINE_6, "The selected file"); 8093986: 4a66 ldr r2, [pc, #408] ; (8093b20 ) 8093988: 216a movs r1, #106 ; 0x6a 809398a: 20a0 movs r0, #160 ; 0xa0 809398c: f7c0 fcce bl 805432c LCD_DisplayStringC(160, LCD_LINE_7, "will be deleted."); 8093990: 4a64 ldr r2, [pc, #400] ; (8093b24 ) 8093992: 217a movs r1, #122 ; 0x7a 8093994: 20a0 movs r0, #160 ; 0xa0 8093996: f7c0 fcc9 bl 805432c LCD_DisplayStringC(160, LCD_LINE_8, "Continue?"); 809399a: 4a63 ldr r2, [pc, #396] ; (8093b28 ) 809399c: 218a movs r1, #138 ; 0x8a 809399e: 20a0 movs r0, #160 ; 0xa0 80939a0: f7c0 fcc4 bl 805432c if(menupos == UpNo) 80939a4: 4b59 ldr r3, [pc, #356] ; (8093b0c ) 80939a6: 781b ldrb r3, [r3, #0] 80939a8: b2db uxtb r3, r3 80939aa: 2b06 cmp r3, #6 80939ac: d124 bne.n 80939f8 if(pardata.LANG == RUS) 80939ae: 4b58 ldr r3, [pc, #352] ; (8093b10 ) 80939b0: 7b1b ldrb r3, [r3, #12] 80939b2: b2db uxtb r3, r3 80939b4: 2b00 cmp r3, #0 80939b6: d10f bne.n 80939d8 LCD_DisplayString(210, 170, "Äà"); 80939b8: 4a5c ldr r2, [pc, #368] ; (8093b2c ) 80939ba: 21aa movs r1, #170 ; 0xaa 80939bc: 20d2 movs r0, #210 ; 0xd2 80939be: f7c0 fc9d bl 80542fc LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 80939c2: 495b ldr r1, [pc, #364] ; (8093b30 ) 80939c4: f04f 30ff mov.w r0, #4294967295 80939c8: f7bf fef0 bl 80537ac LCD_DisplayString(70, 170, "Íåò"); 80939cc: 4a59 ldr r2, [pc, #356] ; (8093b34 ) 80939ce: 21aa movs r1, #170 ; 0xaa 80939d0: 2046 movs r0, #70 ; 0x46 80939d2: f7c0 fc93 bl 80542fc if(menupos == UpNo) 80939d6: e08a b.n 8093aee LCD_DisplayString(210, 170, "Yes"); 80939d8: 4a57 ldr r2, [pc, #348] ; (8093b38 ) 80939da: 21aa movs r1, #170 ; 0xaa 80939dc: 20d2 movs r0, #210 ; 0xd2 80939de: f7c0 fc8d bl 80542fc LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 80939e2: 4953 ldr r1, [pc, #332] ; (8093b30 ) 80939e4: f04f 30ff mov.w r0, #4294967295 80939e8: f7bf fee0 bl 80537ac LCD_DisplayString(70, 170, "No"); 80939ec: 4a53 ldr r2, [pc, #332] ; (8093b3c ) 80939ee: 21aa movs r1, #170 ; 0xaa 80939f0: 2046 movs r0, #70 ; 0x46 80939f2: f7c0 fc83 bl 80542fc if(menupos == UpNo) 80939f6: e07a b.n 8093aee if(menupos == UpYes) 80939f8: 4b44 ldr r3, [pc, #272] ; (8093b0c ) 80939fa: 781b ldrb r3, [r3, #0] 80939fc: b2db uxtb r3, r3 80939fe: 2b07 cmp r3, #7 8093a00: d175 bne.n 8093aee if(pardata.LANG == RUS) 8093a02: 4b43 ldr r3, [pc, #268] ; (8093b10 ) 8093a04: 7b1b ldrb r3, [r3, #12] 8093a06: b2db uxtb r3, r3 8093a08: 2b00 cmp r3, #0 8093a0a: d10f bne.n 8093a2c LCD_DisplayString(70, 170, "Íåò"); 8093a0c: 4a49 ldr r2, [pc, #292] ; (8093b34 ) 8093a0e: 21aa movs r1, #170 ; 0xaa 8093a10: 2046 movs r0, #70 ; 0x46 8093a12: f7c0 fc73 bl 80542fc LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8093a16: 4946 ldr r1, [pc, #280] ; (8093b30 ) 8093a18: f04f 30ff mov.w r0, #4294967295 8093a1c: f7bf fec6 bl 80537ac LCD_DisplayString(210, 170, "Äà"); 8093a20: 4a42 ldr r2, [pc, #264] ; (8093b2c ) 8093a22: 21aa movs r1, #170 ; 0xaa 8093a24: 20d2 movs r0, #210 ; 0xd2 8093a26: f7c0 fc69 bl 80542fc if(menupos == UpNo) 8093a2a: e060 b.n 8093aee LCD_DisplayString(70, 170, "No"); 8093a2c: 4a43 ldr r2, [pc, #268] ; (8093b3c ) 8093a2e: 21aa movs r1, #170 ; 0xaa 8093a30: 2046 movs r0, #70 ; 0x46 8093a32: f7c0 fc63 bl 80542fc LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8093a36: 493e ldr r1, [pc, #248] ; (8093b30 ) 8093a38: f04f 30ff mov.w r0, #4294967295 8093a3c: f7bf feb6 bl 80537ac if(menupos == UpNo) 8093a40: e055 b.n 8093aee if(menupos == CleanUpResult) 8093a42: 4b32 ldr r3, [pc, #200] ; (8093b0c ) 8093a44: 781b ldrb r3, [r3, #0] 8093a46: b2db uxtb r3, r3 8093a48: 2b0a cmp r3, #10 8093a4a: f043 85ca bne.w 80975e2 if(CleanStatus == AP_OK) 8093a4e: 4b3c ldr r3, [pc, #240] ; (8093b40 ) 8093a50: 781b ldrb r3, [r3, #0] 8093a52: b2db uxtb r3, r3 8093a54: 2b00 cmp r3, #0 8093a56: d11f bne.n 8093a98 if(pardata.LANG == RUS) 8093a58: 4b2d ldr r3, [pc, #180] ; (8093b10 ) 8093a5a: 7b1b ldrb r3, [r3, #12] 8093a5c: b2db uxtb r3, r3 8093a5e: 2b00 cmp r3, #0 8093a60: d10f bne.n 8093a82 LCD_DisplayStringC(160, LCD_LINE_6, "Óäàëåíèå"); 8093a62: 4a38 ldr r2, [pc, #224] ; (8093b44 ) 8093a64: 216a movs r1, #106 ; 0x6a 8093a66: 20a0 movs r0, #160 ; 0xa0 8093a68: f7c0 fc60 bl 805432c LCD_DisplayStringC(160, LCD_LINE_7, "çàâåðøåíî"); 8093a6c: 4a36 ldr r2, [pc, #216] ; (8093b48 ) 8093a6e: 217a movs r1, #122 ; 0x7a 8093a70: 20a0 movs r0, #160 ; 0xa0 8093a72: f7c0 fc5b bl 805432c LCD_DisplayStringC(160, LCD_LINE_8, "óñïåøíî!"); 8093a76: 4a35 ldr r2, [pc, #212] ; (8093b4c ) 8093a78: 218a movs r1, #138 ; 0x8a 8093a7a: 20a0 movs r0, #160 ; 0xa0 8093a7c: f7c0 fc56 bl 805432c 8093a80: e029 b.n 8093ad6 LCD_DisplayStringC(160, LCD_LINE_6, "Deleting"); 8093a82: 4a33 ldr r2, [pc, #204] ; (8093b50 ) 8093a84: 216a movs r1, #106 ; 0x6a 8093a86: 20a0 movs r0, #160 ; 0xa0 8093a88: f7c0 fc50 bl 805432c LCD_DisplayStringC(160, LCD_LINE_7, "successful!"); 8093a8c: 4a31 ldr r2, [pc, #196] ; (8093b54 ) 8093a8e: 217a movs r1, #122 ; 0x7a 8093a90: 20a0 movs r0, #160 ; 0xa0 8093a92: f7c0 fc4b bl 805432c 8093a96: e01e b.n 8093ad6 if(pardata.LANG == RUS) 8093a98: 4b1d ldr r3, [pc, #116] ; (8093b10 ) 8093a9a: 7b1b ldrb r3, [r3, #12] 8093a9c: b2db uxtb r3, r3 8093a9e: 2b00 cmp r3, #0 8093aa0: d10f bne.n 8093ac2 LCD_DisplayStringC(160, LCD_LINE_6, "Îøèáêà â"); 8093aa2: 4a2d ldr r2, [pc, #180] ; (8093b58 ) 8093aa4: 216a movs r1, #106 ; 0x6a 8093aa6: 20a0 movs r0, #160 ; 0xa0 8093aa8: f7c0 fc40 bl 805432c LCD_DisplayStringC(160, LCD_LINE_7, "ïðîöåññå"); 8093aac: 4a2b ldr r2, [pc, #172] ; (8093b5c ) 8093aae: 217a movs r1, #122 ; 0x7a 8093ab0: 20a0 movs r0, #160 ; 0xa0 8093ab2: f7c0 fc3b bl 805432c LCD_DisplayStringC(160, LCD_LINE_8, "óäàëåíèÿ..."); 8093ab6: 4a2a ldr r2, [pc, #168] ; (8093b60 ) 8093ab8: 218a movs r1, #138 ; 0x8a 8093aba: 20a0 movs r0, #160 ; 0xa0 8093abc: f7c0 fc36 bl 805432c 8093ac0: e009 b.n 8093ad6 LCD_DisplayStringC(160, LCD_LINE_6, "Deleting"); 8093ac2: 4a23 ldr r2, [pc, #140] ; (8093b50 ) 8093ac4: 216a movs r1, #106 ; 0x6a 8093ac6: 20a0 movs r0, #160 ; 0xa0 8093ac8: f7c0 fc30 bl 805432c LCD_DisplayStringC(160, LCD_LINE_7, "error!"); 8093acc: 4a25 ldr r2, [pc, #148] ; (8093b64 ) 8093ace: 217a movs r1, #122 ; 0x7a 8093ad0: 20a0 movs r0, #160 ; 0xa0 8093ad2: f7c0 fc2b bl 805432c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8093ad6: 4916 ldr r1, [pc, #88] ; (8093b30 ) 8093ad8: f04f 30ff mov.w r0, #4294967295 8093adc: f7bf fe66 bl 80537ac LCD_DisplayStringC(160, 170, "Ok"); 8093ae0: 4a21 ldr r2, [pc, #132] ; (8093b68 ) 8093ae2: 21aa movs r1, #170 ; 0xaa 8093ae4: 20a0 movs r0, #160 ; 0xa0 8093ae6: f7c0 fc21 bl 805432c break; 8093aea: f003 bd7a b.w 80975e2 if(menupos == UpNo) 8093aee: bf00 nop break; 8093af0: f003 bd77 b.w 80975e2 8093af4: ff0a0f1f .word 0xff0a0f1f 8093af8: 080ef4a0 .word 0x080ef4a0 8093afc: 20020dfc .word 0x20020dfc 8093b00: 20020de4 .word 0x20020de4 8093b04: 42c00000 .word 0x42c00000 8093b08: ffd3d3d3 .word 0xffd3d3d3 8093b0c: 20020070 .word 0x20020070 8093b10: 20023e60 .word 0x20023e60 8093b14: 080d0394 .word 0x080d0394 8093b18: 080d03a0 .word 0x080d03a0 8093b1c: 080d03a8 .word 0x080d03a8 8093b20: 080d03b4 .word 0x080d03b4 8093b24: 080d03c8 .word 0x080d03c8 8093b28: 080d03dc .word 0x080d03dc 8093b2c: 080cf858 .word 0x080cf858 8093b30: ff606060 .word 0xff606060 8093b34: 080ce6a8 .word 0x080ce6a8 8093b38: 080cfdc4 .word 0x080cfdc4 8093b3c: 080cfdc8 .word 0x080cfdc8 8093b40: 20020dd0 .word 0x20020dd0 8093b44: 080d03e8 .word 0x080d03e8 8093b48: 080d03f4 .word 0x080d03f4 8093b4c: 080cfff8 .word 0x080cfff8 8093b50: 080d0400 .word 0x080d0400 8093b54: 080d040c .word 0x080d040c 8093b58: 080d0418 .word 0x080d0418 8093b5c: 080d0424 .word 0x080d0424 8093b60: 080d029c .word 0x080d029c 8093b64: 080d0430 .word 0x080d0430 8093b68: 080cfea4 .word 0x080cfea4 case ARCHIVE_FRAN: LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 8093b6c: 4941 ldr r1, [pc, #260] ; (8093c74 ) 8093b6e: 4842 ldr r0, [pc, #264] ; (8093c78 ) 8093b70: f7bf fe1c bl 80537ac BSP_LCD_DrawHLine(7, 52, 308); 8093b74: f44f 729a mov.w r2, #308 ; 0x134 8093b78: 2134 movs r1, #52 ; 0x34 8093b7a: 2007 movs r0, #7 8093b7c: f7bf ff90 bl 8053aa0 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8093b80: 493c ldr r1, [pc, #240] ; (8093c74 ) 8093b82: 483e ldr r0, [pc, #248] ; (8093c7c ) 8093b84: f7bf fe12 bl 80537ac if(pardata.LANG == RUS) 8093b88: 4b3d ldr r3, [pc, #244] ; (8093c80 ) 8093b8a: 7b1b ldrb r3, [r3, #12] 8093b8c: b2db uxtb r3, r3 8093b8e: 2b00 cmp r3, #0 8093b90: d105 bne.n 8093b9e LCD_DisplayString(7, LCD_LINE_2, "..|Îòêðûòü ôàéë"); 8093b92: 4a3c ldr r2, [pc, #240] ; (8093c84 ) 8093b94: 2127 movs r1, #39 ; 0x27 8093b96: 2007 movs r0, #7 8093b98: f7c0 fbb0 bl 80542fc 8093b9c: e004 b.n 8093ba8 else LCD_DisplayString(7, LCD_LINE_2, "..|Open file"); 8093b9e: 4a3a ldr r2, [pc, #232] ; (8093c88 ) 8093ba0: 2127 movs r1, #39 ; 0x27 8093ba2: 2007 movs r0, #7 8093ba4: f7c0 fbaa bl 80542fc if(pardata.LANG == RUS) 8093ba8: 4b35 ldr r3, [pc, #212] ; (8093c80 ) 8093baa: 7b1b ldrb r3, [r3, #12] 8093bac: b2db uxtb r3, r3 8093bae: 2b00 cmp r3, #0 8093bb0: d105 bne.n 8093bbe DrawImage(&bmLEGEND_CLEAN, 0, 65); 8093bb2: 2241 movs r2, #65 ; 0x41 8093bb4: 2100 movs r1, #0 8093bb6: 4835 ldr r0, [pc, #212] ; (8093c8c ) 8093bb8: f7c0 fcec bl 8054594 8093bbc: e004 b.n 8093bc8 else DrawImage(&bmLEGEND_CLEAN_ENG, 0, 65); 8093bbe: 2241 movs r2, #65 ; 0x41 8093bc0: 2100 movs r1, #0 8093bc2: 4833 ldr r0, [pc, #204] ; (8093c90 ) 8093bc4: f7c0 fce6 bl 8054594 if(menupos == NoFilesFRAN) 8093bc8: 4b32 ldr r3, [pc, #200] ; (8093c94 ) 8093bca: 781b ldrb r3, [r3, #0] 8093bcc: b2db uxtb r3, r3 8093bce: 2b01 cmp r3, #1 8093bd0: d117 bne.n 8093c02 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8093bd2: 4928 ldr r1, [pc, #160] ; (8093c74 ) 8093bd4: f04f 30ff mov.w r0, #4294967295 8093bd8: f7bf fde8 bl 80537ac if(pardata.LANG == RUS) 8093bdc: 4b28 ldr r3, [pc, #160] ; (8093c80 ) 8093bde: 7b1b ldrb r3, [r3, #12] 8093be0: b2db uxtb r3, r3 8093be2: 2b00 cmp r3, #0 8093be4: d106 bne.n 8093bf4 LCD_DisplayStringC(160, LCD_LINE_8, "Ôàéëû îòñóòñòâóþò."); 8093be6: 4a2c ldr r2, [pc, #176] ; (8093c98 ) 8093be8: 218a movs r1, #138 ; 0x8a 8093bea: 20a0 movs r0, #160 ; 0xa0 8093bec: f7c0 fb9e bl 805432c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); LCD_DisplayStringC(160, 170, "Ok"); } } } break; 8093bf0: f003 bcf9 b.w 80975e6 else LCD_DisplayStringC(160, LCD_LINE_8, "No files..."); 8093bf4: 4a29 ldr r2, [pc, #164] ; (8093c9c ) 8093bf6: 218a movs r1, #138 ; 0x8a 8093bf8: 20a0 movs r0, #160 ; 0xa0 8093bfa: f7c0 fb97 bl 805432c break; 8093bfe: f003 bcf2 b.w 80975e6 if((menupos == FilesFRAN) || (menupos == UpNo) || (menupos == UpYes) || (menupos == CleanUpResult)) 8093c02: 4b24 ldr r3, [pc, #144] ; (8093c94 ) 8093c04: 781b ldrb r3, [r3, #0] 8093c06: b2db uxtb r3, r3 8093c08: 2b02 cmp r3, #2 8093c0a: d00f beq.n 8093c2c 8093c0c: 4b21 ldr r3, [pc, #132] ; (8093c94 ) 8093c0e: 781b ldrb r3, [r3, #0] 8093c10: b2db uxtb r3, r3 8093c12: 2b06 cmp r3, #6 8093c14: d00a beq.n 8093c2c 8093c16: 4b1f ldr r3, [pc, #124] ; (8093c94 ) 8093c18: 781b ldrb r3, [r3, #0] 8093c1a: b2db uxtb r3, r3 8093c1c: 2b07 cmp r3, #7 8093c1e: d005 beq.n 8093c2c 8093c20: 4b1c ldr r3, [pc, #112] ; (8093c94 ) 8093c22: 781b ldrb r3, [r3, #0] 8093c24: b2db uxtb r3, r3 8093c26: 2b0a cmp r3, #10 8093c28: f043 84dd bne.w 80975e6 BSP_LCD_SetFont(&Font12); 8093c2c: 481c ldr r0, [pc, #112] ; (8093ca0 ) 8093c2e: f7bf fdf9 bl 8053824 for(i = 0; i < VIEW_FILES; i++) 8093c32: 2300 movs r3, #0 8093c34: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 8093c38: e19c b.n 8093f74 if(CursorIndex == i) 8093c3a: 4b1a ldr r3, [pc, #104] ; (8093ca4 ) 8093c3c: 681a ldr r2, [r3, #0] 8093c3e: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8093c42: 429a cmp r2, r3 8093c44: d136 bne.n 8093cb4 LCD_SetColors(LCD_COLOR_CURSOR, LCD_COLOR_CURSOR); 8093c46: 4918 ldr r1, [pc, #96] ; (8093ca8 ) 8093c48: 4817 ldr r0, [pc, #92] ; (8093ca8 ) 8093c4a: f7bf fdaf bl 80537ac BSP_LCD_FillRect(3, POS_Y_12[i], 312, CurrentFont->Height); 8093c4e: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8093c52: 4a16 ldr r2, [pc, #88] ; (8093cac ) 8093c54: f832 1013 ldrh.w r1, [r2, r3, lsl #1] 8093c58: 4b15 ldr r3, [pc, #84] ; (8093cb0 ) 8093c5a: 681b ldr r3, [r3, #0] 8093c5c: 88db ldrh r3, [r3, #6] 8093c5e: f44f 729c mov.w r2, #312 ; 0x138 8093c62: 2003 movs r0, #3 8093c64: f7c0 fa30 bl 80540c8 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_CURSOR); 8093c68: 490f ldr r1, [pc, #60] ; (8093ca8 ) 8093c6a: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8093c6e: f7bf fd9d bl 80537ac 8093c72: e024 b.n 8093cbe 8093c74: ff0a0f1f .word 0xff0a0f1f 8093c78: ffd3d3d3 .word 0xffd3d3d3 8093c7c: ff808080 .word 0xff808080 8093c80: 20023e60 .word 0x20023e60 8093c84: 080d0354 .word 0x080d0354 8093c88: 080d0364 .word 0x080d0364 8093c8c: 08117f48 .word 0x08117f48 8093c90: 0811b154 .word 0x0811b154 8093c94: 20020070 .word 0x20020070 8093c98: 080d0374 .word 0x080d0374 8093c9c: 080d0388 .word 0x080d0388 8093ca0: 20020038 .word 0x20020038 8093ca4: 20020de0 .word 0x20020de0 8093ca8: ff606060 .word 0xff606060 8093cac: 080ef4a0 .word 0x080ef4a0 8093cb0: 20025d24 .word 0x20025d24 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8093cb4: 499e ldr r1, [pc, #632] ; (8093f30 ) 8093cb6: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8093cba: f7bf fd77 bl 80537ac if(ExplorerFiles[i].fname[0] != 0) 8093cbe: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 8093cc2: 499c ldr r1, [pc, #624] ; (8093f34 ) 8093cc4: 4613 mov r3, r2 8093cc6: 00db lsls r3, r3, #3 8093cc8: 1a9b subs r3, r3, r2 8093cca: 00db lsls r3, r3, #3 8093ccc: 440b add r3, r1 8093cce: 330c adds r3, #12 8093cd0: 781b ldrb r3, [r3, #0] 8093cd2: 2b00 cmp r3, #0 8093cd4: f000 8149 beq.w 8093f6a BSP_LCD_DisplayStringAt(5, POS_Y_12[i], (char *) ExplorerFiles[i].fname, LEFT_MODE); 8093cd8: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8093cdc: 4a96 ldr r2, [pc, #600] ; (8093f38 ) 8093cde: f832 1013 ldrh.w r1, [r2, r3, lsl #1] 8093ce2: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 8093ce6: 4613 mov r3, r2 8093ce8: 00db lsls r3, r3, #3 8093cea: 1a9b subs r3, r3, r2 8093cec: 00db lsls r3, r3, #3 8093cee: 3308 adds r3, #8 8093cf0: 4a90 ldr r2, [pc, #576] ; (8093f34 ) 8093cf2: 4413 add r3, r2 8093cf4: 1d1a adds r2, r3, #4 8093cf6: 2303 movs r3, #3 8093cf8: 2005 movs r0, #5 8093cfa: f7bf fe1d bl 8053938 k = 0; 8093cfe: 2300 movs r3, #0 8093d00: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 GetDateTimeFromUnix(&FatTime, ExplorerFiles[i].datetime); 8093d04: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 8093d08: 498a ldr r1, [pc, #552] ; (8093f34 ) 8093d0a: 4613 mov r3, r2 8093d0c: 00db lsls r3, r3, #3 8093d0e: 1a9b subs r3, r3, r2 8093d10: 00db lsls r3, r3, #3 8093d12: 440b add r3, r1 8093d14: 3308 adds r3, #8 8093d16: 681a ldr r2, [r3, #0] 8093d18: f107 030c add.w r3, r7, #12 8093d1c: 4611 mov r1, r2 8093d1e: 4618 mov r0, r3 8093d20: f7d3 fc14 bl 806754c str1[k++] = (FatTime.Date / 10) + 48; 8093d24: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8093d28: 1c5a adds r2, r3, #1 8093d2a: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 8093d2e: f107 020c add.w r2, r7, #12 8093d32: 7852 ldrb r2, [r2, #1] 8093d34: 4981 ldr r1, [pc, #516] ; (8093f3c ) 8093d36: fba1 1202 umull r1, r2, r1, r2 8093d3a: 08d2 lsrs r2, r2, #3 8093d3c: b2d2 uxtb r2, r2 8093d3e: 3230 adds r2, #48 ; 0x30 8093d40: b2d1 uxtb r1, r2 8093d42: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8093d46: 54d1 strb r1, [r2, r3] str1[k++] = (FatTime.Date % 10) + 48; 8093d48: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8093d4c: 1c53 adds r3, r2, #1 8093d4e: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8093d52: f107 030c add.w r3, r7, #12 8093d56: 7859 ldrb r1, [r3, #1] 8093d58: 4b78 ldr r3, [pc, #480] ; (8093f3c ) 8093d5a: fba3 0301 umull r0, r3, r3, r1 8093d5e: 08d8 lsrs r0, r3, #3 8093d60: 4603 mov r3, r0 8093d62: 009b lsls r3, r3, #2 8093d64: 4403 add r3, r0 8093d66: 005b lsls r3, r3, #1 8093d68: 1acb subs r3, r1, r3 8093d6a: b2db uxtb r3, r3 8093d6c: 3330 adds r3, #48 ; 0x30 8093d6e: b2d9 uxtb r1, r3 8093d70: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8093d74: 5499 strb r1, [r3, r2] str1[k++] = '.'; 8093d76: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8093d7a: 1c5a adds r2, r3, #1 8093d7c: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 8093d80: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8093d84: 212e movs r1, #46 ; 0x2e 8093d86: 54d1 strb r1, [r2, r3] str1[k++] = (FatTime.Month / 10) + 48; 8093d88: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8093d8c: 1c5a adds r2, r3, #1 8093d8e: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 8093d92: f107 020c add.w r2, r7, #12 8093d96: 7812 ldrb r2, [r2, #0] 8093d98: 4968 ldr r1, [pc, #416] ; (8093f3c ) 8093d9a: fba1 1202 umull r1, r2, r1, r2 8093d9e: 08d2 lsrs r2, r2, #3 8093da0: b2d2 uxtb r2, r2 8093da2: 3230 adds r2, #48 ; 0x30 8093da4: b2d1 uxtb r1, r2 8093da6: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8093daa: 54d1 strb r1, [r2, r3] str1[k++] = (FatTime.Month % 10) + 48; 8093dac: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8093db0: 1c53 adds r3, r2, #1 8093db2: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8093db6: f107 030c add.w r3, r7, #12 8093dba: 7819 ldrb r1, [r3, #0] 8093dbc: 4b5f ldr r3, [pc, #380] ; (8093f3c ) 8093dbe: fba3 0301 umull r0, r3, r3, r1 8093dc2: 08d8 lsrs r0, r3, #3 8093dc4: 4603 mov r3, r0 8093dc6: 009b lsls r3, r3, #2 8093dc8: 4403 add r3, r0 8093dca: 005b lsls r3, r3, #1 8093dcc: 1acb subs r3, r1, r3 8093dce: b2db uxtb r3, r3 8093dd0: 3330 adds r3, #48 ; 0x30 8093dd2: b2d9 uxtb r1, r3 8093dd4: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8093dd8: 5499 strb r1, [r3, r2] str1[k++] = '.'; 8093dda: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8093dde: 1c5a adds r2, r3, #1 8093de0: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 8093de4: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8093de8: 212e movs r1, #46 ; 0x2e 8093dea: 54d1 strb r1, [r2, r3] str1[k++] = (FatTime.Year / 10) + 48; 8093dec: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8093df0: 1c5a adds r2, r3, #1 8093df2: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 8093df6: f107 020c add.w r2, r7, #12 8093dfa: 7892 ldrb r2, [r2, #2] 8093dfc: 494f ldr r1, [pc, #316] ; (8093f3c ) 8093dfe: fba1 1202 umull r1, r2, r1, r2 8093e02: 08d2 lsrs r2, r2, #3 8093e04: b2d2 uxtb r2, r2 8093e06: 3230 adds r2, #48 ; 0x30 8093e08: b2d1 uxtb r1, r2 8093e0a: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8093e0e: 54d1 strb r1, [r2, r3] str1[k++] = (FatTime.Year % 10) + 48; 8093e10: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8093e14: 1c53 adds r3, r2, #1 8093e16: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8093e1a: f107 030c add.w r3, r7, #12 8093e1e: 7899 ldrb r1, [r3, #2] 8093e20: 4b46 ldr r3, [pc, #280] ; (8093f3c ) 8093e22: fba3 0301 umull r0, r3, r3, r1 8093e26: 08d8 lsrs r0, r3, #3 8093e28: 4603 mov r3, r0 8093e2a: 009b lsls r3, r3, #2 8093e2c: 4403 add r3, r0 8093e2e: 005b lsls r3, r3, #1 8093e30: 1acb subs r3, r1, r3 8093e32: b2db uxtb r3, r3 8093e34: 3330 adds r3, #48 ; 0x30 8093e36: b2d9 uxtb r1, r3 8093e38: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8093e3c: 5499 strb r1, [r3, r2] str1[k++] = ' '; 8093e3e: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8093e42: 1c5a adds r2, r3, #1 8093e44: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 8093e48: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8093e4c: 2120 movs r1, #32 8093e4e: 54d1 strb r1, [r2, r3] str1[k++] = (FatTime.Hours / 10) + 48; 8093e50: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8093e54: 1c5a adds r2, r3, #1 8093e56: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 8093e5a: f107 020c add.w r2, r7, #12 8093e5e: 78d2 ldrb r2, [r2, #3] 8093e60: 4936 ldr r1, [pc, #216] ; (8093f3c ) 8093e62: fba1 1202 umull r1, r2, r1, r2 8093e66: 08d2 lsrs r2, r2, #3 8093e68: b2d2 uxtb r2, r2 8093e6a: 3230 adds r2, #48 ; 0x30 8093e6c: b2d1 uxtb r1, r2 8093e6e: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8093e72: 54d1 strb r1, [r2, r3] str1[k++] = (FatTime.Hours % 10) + 48; 8093e74: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8093e78: 1c53 adds r3, r2, #1 8093e7a: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8093e7e: f107 030c add.w r3, r7, #12 8093e82: 78d9 ldrb r1, [r3, #3] 8093e84: 4b2d ldr r3, [pc, #180] ; (8093f3c ) 8093e86: fba3 0301 umull r0, r3, r3, r1 8093e8a: 08d8 lsrs r0, r3, #3 8093e8c: 4603 mov r3, r0 8093e8e: 009b lsls r3, r3, #2 8093e90: 4403 add r3, r0 8093e92: 005b lsls r3, r3, #1 8093e94: 1acb subs r3, r1, r3 8093e96: b2db uxtb r3, r3 8093e98: 3330 adds r3, #48 ; 0x30 8093e9a: b2d9 uxtb r1, r3 8093e9c: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8093ea0: 5499 strb r1, [r3, r2] str1[k++] = ':'; 8093ea2: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8093ea6: 1c5a adds r2, r3, #1 8093ea8: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 8093eac: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8093eb0: 213a movs r1, #58 ; 0x3a 8093eb2: 54d1 strb r1, [r2, r3] str1[k++] = (FatTime.Minutes / 10) + 48; 8093eb4: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8093eb8: 1c5a adds r2, r3, #1 8093eba: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 8093ebe: f107 020c add.w r2, r7, #12 8093ec2: 7912 ldrb r2, [r2, #4] 8093ec4: 491d ldr r1, [pc, #116] ; (8093f3c ) 8093ec6: fba1 1202 umull r1, r2, r1, r2 8093eca: 08d2 lsrs r2, r2, #3 8093ecc: b2d2 uxtb r2, r2 8093ece: 3230 adds r2, #48 ; 0x30 8093ed0: b2d1 uxtb r1, r2 8093ed2: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8093ed6: 54d1 strb r1, [r2, r3] str1[k++] = (FatTime.Minutes % 10) + 48; 8093ed8: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8093edc: 1c53 adds r3, r2, #1 8093ede: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8093ee2: f107 030c add.w r3, r7, #12 8093ee6: 7919 ldrb r1, [r3, #4] 8093ee8: 4b14 ldr r3, [pc, #80] ; (8093f3c ) 8093eea: fba3 0301 umull r0, r3, r3, r1 8093eee: 08d8 lsrs r0, r3, #3 8093ef0: 4603 mov r3, r0 8093ef2: 009b lsls r3, r3, #2 8093ef4: 4403 add r3, r0 8093ef6: 005b lsls r3, r3, #1 8093ef8: 1acb subs r3, r1, r3 8093efa: b2db uxtb r3, r3 8093efc: 3330 adds r3, #48 ; 0x30 8093efe: b2d9 uxtb r1, r3 8093f00: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8093f04: 5499 strb r1, [r3, r2] str1[k++] = '\0'; 8093f06: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8093f0a: 1c5a adds r2, r3, #1 8093f0c: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 8093f10: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8093f14: 2100 movs r1, #0 8093f16: 54d1 strb r1, [r2, r3] if(CursorIndex == i) 8093f18: 4b09 ldr r3, [pc, #36] ; (8093f40 ) 8093f1a: 681a ldr r2, [r3, #0] 8093f1c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8093f20: 429a cmp r2, r3 8093f22: d111 bne.n 8093f48 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8093f24: 4907 ldr r1, [pc, #28] ; (8093f44 ) 8093f26: f04f 30ff mov.w r0, #4294967295 8093f2a: f7bf fc3f bl 80537ac 8093f2e: e010 b.n 8093f52 8093f30: ff0a0f1f .word 0xff0a0f1f 8093f34: 20022350 .word 0x20022350 8093f38: 080ef4a0 .word 0x080ef4a0 8093f3c: cccccccd .word 0xcccccccd 8093f40: 20020de0 .word 0x20020de0 8093f44: ff606060 .word 0xff606060 else LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8093f48: 49c2 ldr r1, [pc, #776] ; (8094254 ) 8093f4a: f04f 30ff mov.w r0, #4294967295 8093f4e: f7bf fc2d bl 80537ac BSP_LCD_DisplayStringAt(312, POS_Y_12[i], str1, RIGHT_MODE); 8093f52: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8093f56: 4ac0 ldr r2, [pc, #768] ; (8094258 ) 8093f58: f832 1013 ldrh.w r1, [r2, r3, lsl #1] 8093f5c: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8093f60: 2302 movs r3, #2 8093f62: f44f 709c mov.w r0, #312 ; 0x138 8093f66: f7bf fce7 bl 8053938 for(i = 0; i < VIEW_FILES; i++) 8093f6a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8093f6e: 3301 adds r3, #1 8093f70: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 8093f74: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8093f78: 2b0b cmp r3, #11 8093f7a: f67f ae5e bls.w 8093c3a if(NumFilesFRAN > VIEW_FILES) 8093f7e: 4bb7 ldr r3, [pc, #732] ; (809425c ) 8093f80: 681b ldr r3, [r3, #0] 8093f82: 2b0c cmp r3, #12 8093f84: d95f bls.n 8094046 k = (140 * VIEW_FILES) / NumFilesFRAN; //äëèíà ïîëçóíêà 8093f86: 4bb5 ldr r3, [pc, #724] ; (809425c ) 8093f88: 681b ldr r3, [r3, #0] 8093f8a: f44f 62d2 mov.w r2, #1680 ; 0x690 8093f8e: fbb2 f3f3 udiv r3, r2, r3 8093f92: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 f = (float32_t) (140 * FirstFileIndex); 8093f96: 4bb2 ldr r3, [pc, #712] ; (8094260 ) 8093f98: 681b ldr r3, [r3, #0] 8093f9a: 228c movs r2, #140 ; 0x8c 8093f9c: fb02 f303 mul.w r3, r2, r3 8093fa0: ee07 3a90 vmov s15, r3 8093fa4: eef8 7a67 vcvt.f32.u32 s15, s15 8093fa8: f507 638b add.w r3, r7, #1112 ; 0x458 8093fac: edc3 7a00 vstr s15, [r3] f = (f / (float32_t) NumFilesFRAN) + 96.0f; 8093fb0: 4baa ldr r3, [pc, #680] ; (809425c ) 8093fb2: 681b ldr r3, [r3, #0] 8093fb4: ee07 3a90 vmov s15, r3 8093fb8: eeb8 7a67 vcvt.f32.u32 s14, s15 8093fbc: f507 638b add.w r3, r7, #1112 ; 0x458 8093fc0: edd3 6a00 vldr s13, [r3] 8093fc4: eec6 7a87 vdiv.f32 s15, s13, s14 8093fc8: ed9f 7aa6 vldr s14, [pc, #664] ; 8094264 8093fcc: ee77 7a87 vadd.f32 s15, s15, s14 8093fd0: f507 638b add.w r3, r7, #1112 ; 0x458 8093fd4: edc3 7a00 vstr s15, [r3] y0 = (uint16_t) f; //âåðõíÿÿ êîîðäèíàòà ïîëçóíêà 8093fd8: f507 638b add.w r3, r7, #1112 ; 0x458 8093fdc: edd3 7a00 vldr s15, [r3] 8093fe0: eefc 7ae7 vcvt.u32.f32 s15, s15 8093fe4: edc7 7a01 vstr s15, [r7, #4] 8093fe8: 88bb ldrh r3, [r7, #4] 8093fea: f8a7 343c strh.w r3, [r7, #1084] ; 0x43c y1 = y0 + k; 8093fee: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8093ff2: b29a uxth r2, r3 8093ff4: f8b7 343c ldrh.w r3, [r7, #1084] ; 0x43c 8093ff8: 4413 add r3, r2 8093ffa: f8a7 343a strh.w r3, [r7, #1082] ; 0x43a if(y1 > 236) 8093ffe: f8b7 343a ldrh.w r3, [r7, #1082] ; 0x43a 8094002: 2bec cmp r3, #236 ; 0xec 8094004: d905 bls.n 8094012 k = 236 - y0; 8094006: f8b7 343c ldrh.w r3, [r7, #1084] ; 0x43c 809400a: f1c3 03ec rsb r3, r3, #236 ; 0xec 809400e: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 8094012: 4990 ldr r1, [pc, #576] ; (8094254 ) 8094014: 4894 ldr r0, [pc, #592] ; (8094268 ) 8094016: f7bf fbc9 bl 80537ac BSP_LCD_DrawRect(314, 94, 5, 143); 809401a: 238f movs r3, #143 ; 0x8f 809401c: 2205 movs r2, #5 809401e: 215e movs r1, #94 ; 0x5e 8094020: f44f 709d mov.w r0, #314 ; 0x13a 8094024: f7bf fec8 bl 8053db8 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8094028: 498a ldr r1, [pc, #552] ; (8094254 ) 809402a: f04f 30ff mov.w r0, #4294967295 809402e: f7bf fbbd bl 80537ac BSP_LCD_FillRect(316, y0, 2, k); 8094032: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8094036: b29b uxth r3, r3 8094038: f8b7 143c ldrh.w r1, [r7, #1084] ; 0x43c 809403c: 2202 movs r2, #2 809403e: f44f 709e mov.w r0, #316 ; 0x13c 8094042: f7c0 f841 bl 80540c8 if((menupos != NoFilesFRAN) && (menupos != FilesFRAN)) 8094046: 4b89 ldr r3, [pc, #548] ; (809426c ) 8094048: 781b ldrb r3, [r3, #0] 809404a: b2db uxtb r3, r3 809404c: 2b01 cmp r3, #1 809404e: f003 82ca beq.w 80975e6 8094052: 4b86 ldr r3, [pc, #536] ; (809426c ) 8094054: 781b ldrb r3, [r3, #0] 8094056: b2db uxtb r3, r3 8094058: 2b02 cmp r3, #2 809405a: f003 82c4 beq.w 80975e6 LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 809405e: 497d ldr r1, [pc, #500] ; (8094254 ) 8094060: 4881 ldr r0, [pc, #516] ; (8094268 ) 8094062: f7bf fba3 bl 80537ac BSP_LCD_FillRect(60, 73, 200, 124); 8094066: 237c movs r3, #124 ; 0x7c 8094068: 22c8 movs r2, #200 ; 0xc8 809406a: 2149 movs r1, #73 ; 0x49 809406c: 203c movs r0, #60 ; 0x3c 809406e: f7c0 f82b bl 80540c8 LCD_SetColors(LCD_COLOR_BLACK, LCD_COLOR_BLACK); 8094072: 4978 ldr r1, [pc, #480] ; (8094254 ) 8094074: 4877 ldr r0, [pc, #476] ; (8094254 ) 8094076: f7bf fb99 bl 80537ac BSP_LCD_FillRect(61, 74, 198, 122); 809407a: 237a movs r3, #122 ; 0x7a 809407c: 22c6 movs r2, #198 ; 0xc6 809407e: 214a movs r1, #74 ; 0x4a 8094080: 203d movs r0, #61 ; 0x3d 8094082: f7c0 f821 bl 80540c8 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8094086: 4973 ldr r1, [pc, #460] ; (8094254 ) 8094088: f04f 30ff mov.w r0, #4294967295 809408c: f7bf fb8e bl 80537ac if((menupos == UpNo) || (menupos == UpYes)) 8094090: 4b76 ldr r3, [pc, #472] ; (809426c ) 8094092: 781b ldrb r3, [r3, #0] 8094094: b2db uxtb r3, r3 8094096: 2b06 cmp r3, #6 8094098: d004 beq.n 80940a4 809409a: 4b74 ldr r3, [pc, #464] ; (809426c ) 809409c: 781b ldrb r3, [r3, #0] 809409e: b2db uxtb r3, r3 80940a0: 2b07 cmp r3, #7 80940a2: d172 bne.n 809418a if(pardata.LANG == RUS) 80940a4: 4b72 ldr r3, [pc, #456] ; (8094270 ) 80940a6: 7b1b ldrb r3, [r3, #12] 80940a8: b2db uxtb r3, r3 80940aa: 2b00 cmp r3, #0 80940ac: d10f bne.n 80940ce LCD_DisplayStringC(160, LCD_LINE_6, "Ôàéë áóäåò"); 80940ae: 4a71 ldr r2, [pc, #452] ; (8094274 ) 80940b0: 216a movs r1, #106 ; 0x6a 80940b2: 20a0 movs r0, #160 ; 0xa0 80940b4: f7c0 f93a bl 805432c LCD_DisplayStringC(160, LCD_LINE_7, "óäàëåí."); 80940b8: 4a6f ldr r2, [pc, #444] ; (8094278 ) 80940ba: 217a movs r1, #122 ; 0x7a 80940bc: 20a0 movs r0, #160 ; 0xa0 80940be: f7c0 f935 bl 805432c LCD_DisplayStringC(160, LCD_LINE_8, "Ïðîäîëæèòü?"); 80940c2: 4a6e ldr r2, [pc, #440] ; (809427c ) 80940c4: 218a movs r1, #138 ; 0x8a 80940c6: 20a0 movs r0, #160 ; 0xa0 80940c8: f7c0 f930 bl 805432c 80940cc: e00e b.n 80940ec LCD_DisplayStringC(160, LCD_LINE_6, "The selected file"); 80940ce: 4a6c ldr r2, [pc, #432] ; (8094280 ) 80940d0: 216a movs r1, #106 ; 0x6a 80940d2: 20a0 movs r0, #160 ; 0xa0 80940d4: f7c0 f92a bl 805432c LCD_DisplayStringC(160, LCD_LINE_7, "will be deleted."); 80940d8: 4a6a ldr r2, [pc, #424] ; (8094284 ) 80940da: 217a movs r1, #122 ; 0x7a 80940dc: 20a0 movs r0, #160 ; 0xa0 80940de: f7c0 f925 bl 805432c LCD_DisplayStringC(160, LCD_LINE_8, "Continue?"); 80940e2: 4a69 ldr r2, [pc, #420] ; (8094288 ) 80940e4: 218a movs r1, #138 ; 0x8a 80940e6: 20a0 movs r0, #160 ; 0xa0 80940e8: f7c0 f920 bl 805432c if(menupos == UpNo) 80940ec: 4b5f ldr r3, [pc, #380] ; (809426c ) 80940ee: 781b ldrb r3, [r3, #0] 80940f0: b2db uxtb r3, r3 80940f2: 2b06 cmp r3, #6 80940f4: d124 bne.n 8094140 if(pardata.LANG == RUS) 80940f6: 4b5e ldr r3, [pc, #376] ; (8094270 ) 80940f8: 7b1b ldrb r3, [r3, #12] 80940fa: b2db uxtb r3, r3 80940fc: 2b00 cmp r3, #0 80940fe: d10f bne.n 8094120 LCD_DisplayString(210, 170, "Äà"); 8094100: 4a62 ldr r2, [pc, #392] ; (809428c ) 8094102: 21aa movs r1, #170 ; 0xaa 8094104: 20d2 movs r0, #210 ; 0xd2 8094106: f7c0 f8f9 bl 80542fc LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 809410a: 4961 ldr r1, [pc, #388] ; (8094290 ) 809410c: f04f 30ff mov.w r0, #4294967295 8094110: f7bf fb4c bl 80537ac LCD_DisplayString(70, 170, "Íåò"); 8094114: 4a5f ldr r2, [pc, #380] ; (8094294 ) 8094116: 21aa movs r1, #170 ; 0xaa 8094118: 2046 movs r0, #70 ; 0x46 809411a: f7c0 f8ef bl 80542fc if(menupos == UpNo) 809411e: e08a b.n 8094236 LCD_DisplayString(210, 170, "Yes"); 8094120: 4a5d ldr r2, [pc, #372] ; (8094298 ) 8094122: 21aa movs r1, #170 ; 0xaa 8094124: 20d2 movs r0, #210 ; 0xd2 8094126: f7c0 f8e9 bl 80542fc LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 809412a: 4959 ldr r1, [pc, #356] ; (8094290 ) 809412c: f04f 30ff mov.w r0, #4294967295 8094130: f7bf fb3c bl 80537ac LCD_DisplayString(70, 170, "No"); 8094134: 4a59 ldr r2, [pc, #356] ; (809429c ) 8094136: 21aa movs r1, #170 ; 0xaa 8094138: 2046 movs r0, #70 ; 0x46 809413a: f7c0 f8df bl 80542fc if(menupos == UpNo) 809413e: e07a b.n 8094236 if(menupos == UpYes) 8094140: 4b4a ldr r3, [pc, #296] ; (809426c ) 8094142: 781b ldrb r3, [r3, #0] 8094144: b2db uxtb r3, r3 8094146: 2b07 cmp r3, #7 8094148: d175 bne.n 8094236 if(pardata.LANG == RUS) 809414a: 4b49 ldr r3, [pc, #292] ; (8094270 ) 809414c: 7b1b ldrb r3, [r3, #12] 809414e: b2db uxtb r3, r3 8094150: 2b00 cmp r3, #0 8094152: d10f bne.n 8094174 LCD_DisplayString(70, 170, "Íåò"); 8094154: 4a4f ldr r2, [pc, #316] ; (8094294 ) 8094156: 21aa movs r1, #170 ; 0xaa 8094158: 2046 movs r0, #70 ; 0x46 809415a: f7c0 f8cf bl 80542fc LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 809415e: 494c ldr r1, [pc, #304] ; (8094290 ) 8094160: f04f 30ff mov.w r0, #4294967295 8094164: f7bf fb22 bl 80537ac LCD_DisplayString(210, 170, "Äà"); 8094168: 4a48 ldr r2, [pc, #288] ; (809428c ) 809416a: 21aa movs r1, #170 ; 0xaa 809416c: 20d2 movs r0, #210 ; 0xd2 809416e: f7c0 f8c5 bl 80542fc if(menupos == UpNo) 8094172: e060 b.n 8094236 LCD_DisplayString(70, 170, "No"); 8094174: 4a49 ldr r2, [pc, #292] ; (809429c ) 8094176: 21aa movs r1, #170 ; 0xaa 8094178: 2046 movs r0, #70 ; 0x46 809417a: f7c0 f8bf bl 80542fc LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 809417e: 4944 ldr r1, [pc, #272] ; (8094290 ) 8094180: f04f 30ff mov.w r0, #4294967295 8094184: f7bf fb12 bl 80537ac if(menupos == UpNo) 8094188: e055 b.n 8094236 if(menupos == CleanUpResult) 809418a: 4b38 ldr r3, [pc, #224] ; (809426c ) 809418c: 781b ldrb r3, [r3, #0] 809418e: b2db uxtb r3, r3 8094190: 2b0a cmp r3, #10 8094192: f043 8228 bne.w 80975e6 if(CleanStatus == AP_OK) 8094196: 4b42 ldr r3, [pc, #264] ; (80942a0 ) 8094198: 781b ldrb r3, [r3, #0] 809419a: b2db uxtb r3, r3 809419c: 2b00 cmp r3, #0 809419e: d11f bne.n 80941e0 if(pardata.LANG == RUS) 80941a0: 4b33 ldr r3, [pc, #204] ; (8094270 ) 80941a2: 7b1b ldrb r3, [r3, #12] 80941a4: b2db uxtb r3, r3 80941a6: 2b00 cmp r3, #0 80941a8: d10f bne.n 80941ca LCD_DisplayStringC(160, LCD_LINE_6, "Óäàëåíèå"); 80941aa: 4a3e ldr r2, [pc, #248] ; (80942a4 ) 80941ac: 216a movs r1, #106 ; 0x6a 80941ae: 20a0 movs r0, #160 ; 0xa0 80941b0: f7c0 f8bc bl 805432c LCD_DisplayStringC(160, LCD_LINE_7, "çàâåðøåíî"); 80941b4: 4a3c ldr r2, [pc, #240] ; (80942a8 ) 80941b6: 217a movs r1, #122 ; 0x7a 80941b8: 20a0 movs r0, #160 ; 0xa0 80941ba: f7c0 f8b7 bl 805432c LCD_DisplayStringC(160, LCD_LINE_8, "óñïåøíî!"); 80941be: 4a3b ldr r2, [pc, #236] ; (80942ac ) 80941c0: 218a movs r1, #138 ; 0x8a 80941c2: 20a0 movs r0, #160 ; 0xa0 80941c4: f7c0 f8b2 bl 805432c 80941c8: e029 b.n 809421e LCD_DisplayStringC(160, LCD_LINE_6, "Deleting"); 80941ca: 4a39 ldr r2, [pc, #228] ; (80942b0 ) 80941cc: 216a movs r1, #106 ; 0x6a 80941ce: 20a0 movs r0, #160 ; 0xa0 80941d0: f7c0 f8ac bl 805432c LCD_DisplayStringC(160, LCD_LINE_7, "successful!"); 80941d4: 4a37 ldr r2, [pc, #220] ; (80942b4 ) 80941d6: 217a movs r1, #122 ; 0x7a 80941d8: 20a0 movs r0, #160 ; 0xa0 80941da: f7c0 f8a7 bl 805432c 80941de: e01e b.n 809421e if(pardata.LANG == RUS) 80941e0: 4b23 ldr r3, [pc, #140] ; (8094270 ) 80941e2: 7b1b ldrb r3, [r3, #12] 80941e4: b2db uxtb r3, r3 80941e6: 2b00 cmp r3, #0 80941e8: d10f bne.n 809420a LCD_DisplayStringC(160, LCD_LINE_6, "Îøèáêà â"); 80941ea: 4a33 ldr r2, [pc, #204] ; (80942b8 ) 80941ec: 216a movs r1, #106 ; 0x6a 80941ee: 20a0 movs r0, #160 ; 0xa0 80941f0: f7c0 f89c bl 805432c LCD_DisplayStringC(160, LCD_LINE_7, "ïðîöåññå"); 80941f4: 4a31 ldr r2, [pc, #196] ; (80942bc ) 80941f6: 217a movs r1, #122 ; 0x7a 80941f8: 20a0 movs r0, #160 ; 0xa0 80941fa: f7c0 f897 bl 805432c LCD_DisplayStringC(160, LCD_LINE_8, "óäàëåíèÿ..."); 80941fe: 4a30 ldr r2, [pc, #192] ; (80942c0 ) 8094200: 218a movs r1, #138 ; 0x8a 8094202: 20a0 movs r0, #160 ; 0xa0 8094204: f7c0 f892 bl 805432c 8094208: e009 b.n 809421e LCD_DisplayStringC(160, LCD_LINE_6, "Deleting"); 809420a: 4a29 ldr r2, [pc, #164] ; (80942b0 ) 809420c: 216a movs r1, #106 ; 0x6a 809420e: 20a0 movs r0, #160 ; 0xa0 8094210: f7c0 f88c bl 805432c LCD_DisplayStringC(160, LCD_LINE_7, "error!"); 8094214: 4a2b ldr r2, [pc, #172] ; (80942c4 ) 8094216: 217a movs r1, #122 ; 0x7a 8094218: 20a0 movs r0, #160 ; 0xa0 809421a: f7c0 f887 bl 805432c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 809421e: 491c ldr r1, [pc, #112] ; (8094290 ) 8094220: f04f 30ff mov.w r0, #4294967295 8094224: f7bf fac2 bl 80537ac LCD_DisplayStringC(160, 170, "Ok"); 8094228: 4a27 ldr r2, [pc, #156] ; (80942c8 ) 809422a: 21aa movs r1, #170 ; 0xaa 809422c: 20a0 movs r0, #160 ; 0xa0 809422e: f7c0 f87d bl 805432c break; 8094232: f003 b9d8 b.w 80975e6 if(menupos == UpNo) 8094236: bf00 nop break; 8094238: f003 b9d5 b.w 80975e6 case ARCHIVE_WAVE: if(pardata.LANG == RUS) 809423c: 4b0c ldr r3, [pc, #48] ; (8094270 ) 809423e: 7b1b ldrb r3, [r3, #12] 8094240: b2db uxtb r3, r3 8094242: 2b00 cmp r3, #0 8094244: d144 bne.n 80942d0 DrawImage(&bmLEGEND_GTR_RUS, 0, 45); 8094246: 222d movs r2, #45 ; 0x2d 8094248: 2100 movs r1, #0 809424a: 4820 ldr r0, [pc, #128] ; (80942cc ) 809424c: f7c0 f9a2 bl 8054594 8094250: e043 b.n 80942da 8094252: bf00 nop 8094254: ff0a0f1f .word 0xff0a0f1f 8094258: 080ef4a0 .word 0x080ef4a0 809425c: 20020e00 .word 0x20020e00 8094260: 20020de4 .word 0x20020de4 8094264: 42c00000 .word 0x42c00000 8094268: ffd3d3d3 .word 0xffd3d3d3 809426c: 20020070 .word 0x20020070 8094270: 20023e60 .word 0x20023e60 8094274: 080d0394 .word 0x080d0394 8094278: 080d03a0 .word 0x080d03a0 809427c: 080d03a8 .word 0x080d03a8 8094280: 080d03b4 .word 0x080d03b4 8094284: 080d03c8 .word 0x080d03c8 8094288: 080d03dc .word 0x080d03dc 809428c: 080cf858 .word 0x080cf858 8094290: ff606060 .word 0xff606060 8094294: 080ce6a8 .word 0x080ce6a8 8094298: 080cfdc4 .word 0x080cfdc4 809429c: 080cfdc8 .word 0x080cfdc8 80942a0: 20020dd0 .word 0x20020dd0 80942a4: 080d03e8 .word 0x080d03e8 80942a8: 080d03f4 .word 0x080d03f4 80942ac: 080cfff8 .word 0x080cfff8 80942b0: 080d0400 .word 0x080d0400 80942b4: 080d040c .word 0x080d040c 80942b8: 080d0418 .word 0x080d0418 80942bc: 080d0424 .word 0x080d0424 80942c0: 080d029c .word 0x080d029c 80942c4: 080d0430 .word 0x080d0430 80942c8: 080cfea4 .word 0x080cfea4 80942cc: 0812476c .word 0x0812476c else DrawImage(&bmLEGEND_GTR_ENG, 0, 45); 80942d0: 222d movs r2, #45 ; 0x2d 80942d2: 2100 movs r1, #0 80942d4: 48c3 ldr r0, [pc, #780] ; (80945e4 ) 80942d6: f7c0 f95d bl 8054594 if(menupos == NoFilesGTR) 80942da: 4bc3 ldr r3, [pc, #780] ; (80945e8 ) 80942dc: 781b ldrb r3, [r3, #0] 80942de: b2db uxtb r3, r3 80942e0: 2b01 cmp r3, #1 80942e2: d11c bne.n 809431e { BSP_LCD_SetFont(&Font12); 80942e4: 48c1 ldr r0, [pc, #772] ; (80945ec ) 80942e6: f7bf fa9d bl 8053824 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80942ea: 49c1 ldr r1, [pc, #772] ; (80945f0 ) 80942ec: f04f 30ff mov.w r0, #4294967295 80942f0: f7bf fa5c bl 80537ac if(pardata.LANG == RUS) 80942f4: 4bbf ldr r3, [pc, #764] ; (80945f4 ) 80942f6: 7b1b ldrb r3, [r3, #12] 80942f8: b2db uxtb r3, r3 80942fa: 2b00 cmp r3, #0 80942fc: d107 bne.n 809430e BSP_LCD_DisplayStringAt(160, 111+15, "Ôàéëû îòñóòñòâóþò...", CENTER_MODE); 80942fe: 2301 movs r3, #1 8094300: 4abd ldr r2, [pc, #756] ; (80945f8 ) 8094302: 217e movs r1, #126 ; 0x7e 8094304: 20a0 movs r0, #160 ; 0xa0 8094306: f7bf fb17 bl 8053938 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); BSP_LCD_DisplayStringAt(160, 175, "OK", CENTER_MODE); } } } break; 809430a: f003 b96e b.w 80975ea else BSP_LCD_DisplayStringAt(160, 111+15, "No files...", CENTER_MODE); 809430e: 2301 movs r3, #1 8094310: 4aba ldr r2, [pc, #744] ; (80945fc ) 8094312: 217e movs r1, #126 ; 0x7e 8094314: 20a0 movs r0, #160 ; 0xa0 8094316: f7bf fb0f bl 8053938 break; 809431a: f003 b966 b.w 80975ea if((menupos == FilesGTR) || (menupos == UpNo) || (menupos == UpYes) || (menupos == CleanUpResult)) // 809431e: 4bb2 ldr r3, [pc, #712] ; (80945e8 ) 8094320: 781b ldrb r3, [r3, #0] 8094322: b2db uxtb r3, r3 8094324: 2b02 cmp r3, #2 8094326: d00f beq.n 8094348 8094328: 4baf ldr r3, [pc, #700] ; (80945e8 ) 809432a: 781b ldrb r3, [r3, #0] 809432c: b2db uxtb r3, r3 809432e: 2b06 cmp r3, #6 8094330: d00a beq.n 8094348 8094332: 4bad ldr r3, [pc, #692] ; (80945e8 ) 8094334: 781b ldrb r3, [r3, #0] 8094336: b2db uxtb r3, r3 8094338: 2b07 cmp r3, #7 809433a: d005 beq.n 8094348 809433c: 4baa ldr r3, [pc, #680] ; (80945e8 ) 809433e: 781b ldrb r3, [r3, #0] 8094340: b2db uxtb r3, r3 8094342: 2b0a cmp r3, #10 8094344: f043 8151 bne.w 80975ea BSP_LCD_SetFont(&Font12); 8094348: 48a8 ldr r0, [pc, #672] ; (80945ec ) 809434a: f7bf fa6b bl 8053824 for(i = 0; i < VIEW_FILES; i++) 809434e: 2300 movs r3, #0 8094350: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 8094354: f000 bffe b.w 8095354 if(CursorIndex == i) 8094358: 4ba9 ldr r3, [pc, #676] ; (8094600 ) 809435a: 681a ldr r2, [r3, #0] 809435c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8094360: 429a cmp r2, r3 8094362: d119 bne.n 8094398 LCD_SetColors(LCD_COLOR_CURSOR, LCD_COLOR_CURSOR); 8094364: 49a7 ldr r1, [pc, #668] ; (8094604 ) 8094366: 48a7 ldr r0, [pc, #668] ; (8094604 ) 8094368: f7bf fa20 bl 80537ac BSP_LCD_FillRect(3, POS_Y_12[i], 312, CurrentFont->Height); 809436c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8094370: 4aa5 ldr r2, [pc, #660] ; (8094608 ) 8094372: f832 1013 ldrh.w r1, [r2, r3, lsl #1] 8094376: 4ba5 ldr r3, [pc, #660] ; (809460c ) 8094378: 681b ldr r3, [r3, #0] 809437a: 88db ldrh r3, [r3, #6] 809437c: f44f 729c mov.w r2, #312 ; 0x138 8094380: 2003 movs r0, #3 8094382: f7bf fea1 bl 80540c8 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8094386: 499f ldr r1, [pc, #636] ; (8094604 ) 8094388: f04f 30ff mov.w r0, #4294967295 809438c: f7bf fa0e bl 80537ac j = LCD_COLOR_CURSOR; 8094390: 4b9c ldr r3, [pc, #624] ; (8094604 ) 8094392: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 8094396: e007 b.n 80943a8 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8094398: 4995 ldr r1, [pc, #596] ; (80945f0 ) 809439a: f04f 30ff mov.w r0, #4294967295 809439e: f7bf fa05 bl 80537ac j = LCD_COLOR_BLACK; 80943a2: 4b93 ldr r3, [pc, #588] ; (80945f0 ) 80943a4: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc if(ExplorerFiles[i].fname[0] != 0) 80943a8: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 80943ac: 4998 ldr r1, [pc, #608] ; (8094610 ) 80943ae: 4613 mov r3, r2 80943b0: 00db lsls r3, r3, #3 80943b2: 1a9b subs r3, r3, r2 80943b4: 00db lsls r3, r3, #3 80943b6: 440b add r3, r1 80943b8: 330c adds r3, #12 80943ba: 781b ldrb r3, [r3, #0] 80943bc: 2b00 cmp r3, #0 80943be: f000 87c4 beq.w 809534a if(NumFilesDelete != 0) 80943c2: 4b94 ldr r3, [pc, #592] ; (8094614 ) 80943c4: 681b ldr r3, [r3, #0] 80943c6: 2b00 cmp r3, #0 80943c8: d02e beq.n 8094428 for(k = 0; k < MAX_CHECKED_FILES; k++) 80943ca: 2300 movs r3, #0 80943cc: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 80943d0: e025 b.n 809441e if(strcmp(ExplorerFiles[i].fname, &StrRAM(k, 0)) == 0) 80943d2: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 80943d6: 4613 mov r3, r2 80943d8: 00db lsls r3, r3, #3 80943da: 1a9b subs r3, r3, r2 80943dc: 00db lsls r3, r3, #3 80943de: 3308 adds r3, #8 80943e0: 4a8b ldr r2, [pc, #556] ; (8094610 ) 80943e2: 4413 add r3, r2 80943e4: 1d18 adds r0, r3, #4 80943e6: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 80943ea: 4613 mov r3, r2 80943ec: 009b lsls r3, r3, #2 80943ee: 4413 add r3, r2 80943f0: 00db lsls r3, r3, #3 80943f2: 461a mov r2, r3 80943f4: 4b88 ldr r3, [pc, #544] ; (8094618 ) 80943f6: 4413 add r3, r2 80943f8: 4619 mov r1, r3 80943fa: f78b ff81 bl 8020300 80943fe: 4603 mov r3, r0 8094400: 2b00 cmp r3, #0 8094402: d107 bne.n 8094414 LCD_SetColors(LCD_COLOR_GREEN, j); 8094404: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 8094408: 4619 mov r1, r3 809440a: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 809440e: f7bf f9cd bl 80537ac break; 8094412: e009 b.n 8094428 for(k = 0; k < MAX_CHECKED_FILES; k++) 8094414: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8094418: 3301 adds r3, #1 809441a: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 809441e: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8094422: f5b3 7f00 cmp.w r3, #512 ; 0x200 8094426: d3d4 bcc.n 80943d2 BSP_LCD_DisplayStringAt(5, POS_Y_12[i], (char *) ExplorerFiles[i].fname, LEFT_MODE); 8094428: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 809442c: 4a76 ldr r2, [pc, #472] ; (8094608 ) 809442e: f832 1013 ldrh.w r1, [r2, r3, lsl #1] 8094432: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 8094436: 4613 mov r3, r2 8094438: 00db lsls r3, r3, #3 809443a: 1a9b subs r3, r3, r2 809443c: 00db lsls r3, r3, #3 809443e: 3308 adds r3, #8 8094440: 4a73 ldr r2, [pc, #460] ; (8094610 ) 8094442: 4413 add r3, r2 8094444: 1d1a adds r2, r3, #4 8094446: 2303 movs r3, #3 8094448: 2005 movs r0, #5 809444a: f7bf fa75 bl 8053938 k = 0; 809444e: 2300 movs r3, #0 8094450: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 Size = ExplorerFiles[i].size; 8094454: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 8094458: 496d ldr r1, [pc, #436] ; (8094610 ) 809445a: 4613 mov r3, r2 809445c: 00db lsls r3, r3, #3 809445e: 1a9b subs r3, r3, r2 8094460: 00db lsls r3, r3, #3 8094462: 440b add r3, r1 8094464: e9d3 2300 ldrd r2, r3, [r3] 8094468: f507 717a add.w r1, r7, #1000 ; 0x3e8 809446c: e9c1 2300 strd r2, r3, [r1] if(Size < 1024) // If size below 1KB 8094470: f507 737a add.w r3, r7, #1000 ; 0x3e8 8094474: e9d3 2300 ldrd r2, r3, [r3] 8094478: f240 30ff movw r0, #1023 ; 0x3ff 809447c: f04f 0100 mov.w r1, #0 8094480: 4299 cmp r1, r3 8094482: bf08 it eq 8094484: 4290 cmpeq r0, r2 8094486: f0c0 815f bcc.w 8094748 if(Size < 10) 809448a: f507 737a add.w r3, r7, #1000 ; 0x3e8 809448e: e9d3 2300 ldrd r2, r3, [r3] 8094492: 2b00 cmp r3, #0 8094494: bf08 it eq 8094496: 2a0a cmpeq r2, #10 8094498: d20e bcs.n 80944b8 str1[k++] = Size + 48; 809449a: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 809449e: 1c5a adds r2, r3, #1 80944a0: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 80944a4: f507 727a add.w r2, r7, #1000 ; 0x3e8 80944a8: ca06 ldmia r2, {r1, r2} 80944aa: b2ca uxtb r2, r1 80944ac: 3230 adds r2, #48 ; 0x30 80944ae: b2d1 uxtb r1, r2 80944b0: f507 72f6 add.w r2, r7, #492 ; 0x1ec 80944b4: 54d1 strb r1, [r2, r3] 80944b6: e133 b.n 8094720 if(Size < 100) 80944b8: f507 737a add.w r3, r7, #1000 ; 0x3e8 80944bc: e9d3 2300 ldrd r2, r3, [r3] 80944c0: 2b00 cmp r3, #0 80944c2: bf08 it eq 80944c4: 2a64 cmpeq r2, #100 ; 0x64 80944c6: d22c bcs.n 8094522 str1[k++] = (Size / 10) + 48; 80944c8: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 80944cc: 1c73 adds r3, r6, #1 80944ce: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 80944d2: f507 737a add.w r3, r7, #1000 ; 0x3e8 80944d6: e9d3 0100 ldrd r0, r1, [r3] 80944da: f04f 020a mov.w r2, #10 80944de: f04f 0300 mov.w r3, #0 80944e2: f78c f883 bl 80205ec <__aeabi_uldivmod> 80944e6: 4602 mov r2, r0 80944e8: 460b mov r3, r1 80944ea: b2d3 uxtb r3, r2 80944ec: 3330 adds r3, #48 ; 0x30 80944ee: b2da uxtb r2, r3 80944f0: f507 73f6 add.w r3, r7, #492 ; 0x1ec 80944f4: 559a strb r2, [r3, r6] str1[k++] = (Size % 10) + 48; 80944f6: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 80944fa: 1c73 adds r3, r6, #1 80944fc: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8094500: f507 737a add.w r3, r7, #1000 ; 0x3e8 8094504: e9d3 0100 ldrd r0, r1, [r3] 8094508: f04f 020a mov.w r2, #10 809450c: f04f 0300 mov.w r3, #0 8094510: f78c f86c bl 80205ec <__aeabi_uldivmod> 8094514: b2d3 uxtb r3, r2 8094516: 3330 adds r3, #48 ; 0x30 8094518: b2da uxtb r2, r3 809451a: f507 73f6 add.w r3, r7, #492 ; 0x1ec 809451e: 559a strb r2, [r3, r6] 8094520: e0fe b.n 8094720 if(Size < 1000) 8094522: f507 737a add.w r3, r7, #1000 ; 0x3e8 8094526: e9d3 2300 ldrd r2, r3, [r3] 809452a: f240 30e7 movw r0, #999 ; 0x3e7 809452e: f04f 0100 mov.w r1, #0 8094532: 4299 cmp r1, r3 8094534: bf08 it eq 8094536: 4290 cmpeq r0, r2 8094538: d370 bcc.n 809461c str1[k++] = (Size / 100) + 48; 809453a: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 809453e: 1c73 adds r3, r6, #1 8094540: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8094544: f507 737a add.w r3, r7, #1000 ; 0x3e8 8094548: e9d3 0100 ldrd r0, r1, [r3] 809454c: f04f 0264 mov.w r2, #100 ; 0x64 8094550: f04f 0300 mov.w r3, #0 8094554: f78c f84a bl 80205ec <__aeabi_uldivmod> 8094558: 4602 mov r2, r0 809455a: 460b mov r3, r1 809455c: b2d3 uxtb r3, r2 809455e: 3330 adds r3, #48 ; 0x30 8094560: b2da uxtb r2, r3 8094562: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8094566: 559a strb r2, [r3, r6] str1[k++] = (Size % 100 / 10) + 48; 8094568: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 809456c: 1c73 adds r3, r6, #1 809456e: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8094572: f507 737a add.w r3, r7, #1000 ; 0x3e8 8094576: e9d3 0100 ldrd r0, r1, [r3] 809457a: f04f 0264 mov.w r2, #100 ; 0x64 809457e: f04f 0300 mov.w r3, #0 8094582: f78c f833 bl 80205ec <__aeabi_uldivmod> 8094586: 4610 mov r0, r2 8094588: 4619 mov r1, r3 809458a: f04f 020a mov.w r2, #10 809458e: f04f 0300 mov.w r3, #0 8094592: f78c f82b bl 80205ec <__aeabi_uldivmod> 8094596: 4602 mov r2, r0 8094598: 460b mov r3, r1 809459a: b2d3 uxtb r3, r2 809459c: 3330 adds r3, #48 ; 0x30 809459e: b2da uxtb r2, r3 80945a0: f507 73f6 add.w r3, r7, #492 ; 0x1ec 80945a4: 559a strb r2, [r3, r6] str1[k++] = (Size % 100 % 10) + 48; 80945a6: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 80945aa: 1c73 adds r3, r6, #1 80945ac: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 80945b0: f507 737a add.w r3, r7, #1000 ; 0x3e8 80945b4: e9d3 0100 ldrd r0, r1, [r3] 80945b8: f04f 0264 mov.w r2, #100 ; 0x64 80945bc: f04f 0300 mov.w r3, #0 80945c0: f78c f814 bl 80205ec <__aeabi_uldivmod> 80945c4: 4610 mov r0, r2 80945c6: 4619 mov r1, r3 80945c8: f04f 020a mov.w r2, #10 80945cc: f04f 0300 mov.w r3, #0 80945d0: f78c f80c bl 80205ec <__aeabi_uldivmod> 80945d4: b2d3 uxtb r3, r2 80945d6: 3330 adds r3, #48 ; 0x30 80945d8: b2da uxtb r2, r3 80945da: f507 73f6 add.w r3, r7, #492 ; 0x1ec 80945de: 559a strb r2, [r3, r6] 80945e0: e09e b.n 8094720 80945e2: bf00 nop 80945e4: 0811fc60 .word 0x0811fc60 80945e8: 20020070 .word 0x20020070 80945ec: 20020038 .word 0x20020038 80945f0: ff0a0f1f .word 0xff0a0f1f 80945f4: 20023e60 .word 0x20023e60 80945f8: 080d0438 .word 0x080d0438 80945fc: 080d0388 .word 0x080d0388 8094600: 20020de0 .word 0x20020de0 8094604: ff606060 .word 0xff606060 8094608: 080ef4a0 .word 0x080ef4a0 809460c: 20025d24 .word 0x20025d24 8094610: 20022350 .word 0x20022350 8094614: 20020e0c .word 0x20020e0c 8094618: 6404b000 .word 0x6404b000 str1[k++] = (Size / 1000) + 48; 809461c: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 8094620: 1c73 adds r3, r6, #1 8094622: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8094626: f507 737a add.w r3, r7, #1000 ; 0x3e8 809462a: e9d3 0100 ldrd r0, r1, [r3] 809462e: f44f 727a mov.w r2, #1000 ; 0x3e8 8094632: f04f 0300 mov.w r3, #0 8094636: f78b ffd9 bl 80205ec <__aeabi_uldivmod> 809463a: 4602 mov r2, r0 809463c: 460b mov r3, r1 809463e: b2d3 uxtb r3, r2 8094640: 3330 adds r3, #48 ; 0x30 8094642: b2da uxtb r2, r3 8094644: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8094648: 559a strb r2, [r3, r6] str1[k++] = (Size % 1000 / 100) + 48; 809464a: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 809464e: 1c73 adds r3, r6, #1 8094650: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8094654: f507 737a add.w r3, r7, #1000 ; 0x3e8 8094658: e9d3 0100 ldrd r0, r1, [r3] 809465c: f44f 727a mov.w r2, #1000 ; 0x3e8 8094660: f04f 0300 mov.w r3, #0 8094664: f78b ffc2 bl 80205ec <__aeabi_uldivmod> 8094668: 4610 mov r0, r2 809466a: 4619 mov r1, r3 809466c: f04f 0264 mov.w r2, #100 ; 0x64 8094670: f04f 0300 mov.w r3, #0 8094674: f78b ffba bl 80205ec <__aeabi_uldivmod> 8094678: 4602 mov r2, r0 809467a: 460b mov r3, r1 809467c: b2d3 uxtb r3, r2 809467e: 3330 adds r3, #48 ; 0x30 8094680: b2da uxtb r2, r3 8094682: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8094686: 559a strb r2, [r3, r6] str1[k++] = (Size % 1000 % 100 / 10) + 48; 8094688: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 809468c: 1c73 adds r3, r6, #1 809468e: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8094692: f507 737a add.w r3, r7, #1000 ; 0x3e8 8094696: e9d3 0100 ldrd r0, r1, [r3] 809469a: f44f 727a mov.w r2, #1000 ; 0x3e8 809469e: f04f 0300 mov.w r3, #0 80946a2: f78b ffa3 bl 80205ec <__aeabi_uldivmod> 80946a6: 4610 mov r0, r2 80946a8: 4619 mov r1, r3 80946aa: f04f 0264 mov.w r2, #100 ; 0x64 80946ae: f04f 0300 mov.w r3, #0 80946b2: f78b ff9b bl 80205ec <__aeabi_uldivmod> 80946b6: 4610 mov r0, r2 80946b8: 4619 mov r1, r3 80946ba: f04f 020a mov.w r2, #10 80946be: f04f 0300 mov.w r3, #0 80946c2: f78b ff93 bl 80205ec <__aeabi_uldivmod> 80946c6: 4602 mov r2, r0 80946c8: 460b mov r3, r1 80946ca: b2d3 uxtb r3, r2 80946cc: 3330 adds r3, #48 ; 0x30 80946ce: b2da uxtb r2, r3 80946d0: f507 73f6 add.w r3, r7, #492 ; 0x1ec 80946d4: 559a strb r2, [r3, r6] str1[k++] = (Size % 1000 % 100 % 10) + 48; 80946d6: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 80946da: 1c73 adds r3, r6, #1 80946dc: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 80946e0: f507 737a add.w r3, r7, #1000 ; 0x3e8 80946e4: e9d3 0100 ldrd r0, r1, [r3] 80946e8: f44f 727a mov.w r2, #1000 ; 0x3e8 80946ec: f04f 0300 mov.w r3, #0 80946f0: f78b ff7c bl 80205ec <__aeabi_uldivmod> 80946f4: 4610 mov r0, r2 80946f6: 4619 mov r1, r3 80946f8: f04f 0264 mov.w r2, #100 ; 0x64 80946fc: f04f 0300 mov.w r3, #0 8094700: f78b ff74 bl 80205ec <__aeabi_uldivmod> 8094704: 4610 mov r0, r2 8094706: 4619 mov r1, r3 8094708: f04f 020a mov.w r2, #10 809470c: f04f 0300 mov.w r3, #0 8094710: f78b ff6c bl 80205ec <__aeabi_uldivmod> 8094714: b2d3 uxtb r3, r2 8094716: 3330 adds r3, #48 ; 0x30 8094718: b2da uxtb r2, r3 809471a: f507 73f6 add.w r3, r7, #492 ; 0x1ec 809471e: 559a strb r2, [r3, r6] str1[k++] = 'B'; 8094720: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8094724: 1c5a adds r2, r3, #1 8094726: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 809472a: f507 72f6 add.w r2, r7, #492 ; 0x1ec 809472e: 2142 movs r1, #66 ; 0x42 8094730: 54d1 strb r1, [r2, r3] str1[k++] = '\0'; 8094732: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8094736: 1c5a adds r2, r3, #1 8094738: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 809473c: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8094740: 2100 movs r1, #0 8094742: 54d1 strb r1, [r2, r3] 8094744: f000 bdd5 b.w 80952f2 if(Size < 1048576) // If size below 1MB 8094748: f507 737a add.w r3, r7, #1000 ; 0x3e8 809474c: e9d3 2300 ldrd r2, r3, [r3] 8094750: 48c2 ldr r0, [pc, #776] ; (8094a5c ) 8094752: f04f 0100 mov.w r1, #0 8094756: 4299 cmp r1, r3 8094758: bf08 it eq 809475a: 4290 cmpeq r0, r2 809475c: f0c0 8157 bcc.w 8094a0e Size /= 1024; 8094760: f507 737a add.w r3, r7, #1000 ; 0x3e8 8094764: e9d3 2300 ldrd r2, r3, [r3] 8094768: 0a94 lsrs r4, r2, #10 809476a: ea44 5483 orr.w r4, r4, r3, lsl #22 809476e: 0a9d lsrs r5, r3, #10 8094770: f507 737a add.w r3, r7, #1000 ; 0x3e8 8094774: e9c3 4500 strd r4, r5, [r3] if(Size < 10) 8094778: f507 737a add.w r3, r7, #1000 ; 0x3e8 809477c: e9d3 2300 ldrd r2, r3, [r3] 8094780: 2b00 cmp r3, #0 8094782: bf08 it eq 8094784: 2a0a cmpeq r2, #10 8094786: d20e bcs.n 80947a6 str1[k++] = Size + 48; 8094788: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 809478c: 1c5a adds r2, r3, #1 809478e: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 8094792: f507 727a add.w r2, r7, #1000 ; 0x3e8 8094796: ca06 ldmia r2, {r1, r2} 8094798: b2ca uxtb r2, r1 809479a: 3230 adds r2, #48 ; 0x30 809479c: b2d1 uxtb r1, r2 809479e: f507 72f6 add.w r2, r7, #492 ; 0x1ec 80947a2: 54d1 strb r1, [r2, r3] 80947a4: e116 b.n 80949d4 if(Size < 100) 80947a6: f507 737a add.w r3, r7, #1000 ; 0x3e8 80947aa: e9d3 2300 ldrd r2, r3, [r3] 80947ae: 2b00 cmp r3, #0 80947b0: bf08 it eq 80947b2: 2a64 cmpeq r2, #100 ; 0x64 80947b4: d22c bcs.n 8094810 str1[k++] = (Size / 10) + 48; 80947b6: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 80947ba: 1c73 adds r3, r6, #1 80947bc: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 80947c0: f507 737a add.w r3, r7, #1000 ; 0x3e8 80947c4: e9d3 0100 ldrd r0, r1, [r3] 80947c8: f04f 020a mov.w r2, #10 80947cc: f04f 0300 mov.w r3, #0 80947d0: f78b ff0c bl 80205ec <__aeabi_uldivmod> 80947d4: 4602 mov r2, r0 80947d6: 460b mov r3, r1 80947d8: b2d3 uxtb r3, r2 80947da: 3330 adds r3, #48 ; 0x30 80947dc: b2da uxtb r2, r3 80947de: f507 73f6 add.w r3, r7, #492 ; 0x1ec 80947e2: 559a strb r2, [r3, r6] str1[k++] = (Size % 10) + 48; 80947e4: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 80947e8: 1c73 adds r3, r6, #1 80947ea: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 80947ee: f507 737a add.w r3, r7, #1000 ; 0x3e8 80947f2: e9d3 0100 ldrd r0, r1, [r3] 80947f6: f04f 020a mov.w r2, #10 80947fa: f04f 0300 mov.w r3, #0 80947fe: f78b fef5 bl 80205ec <__aeabi_uldivmod> 8094802: b2d3 uxtb r3, r2 8094804: 3330 adds r3, #48 ; 0x30 8094806: b2da uxtb r2, r3 8094808: f507 73f6 add.w r3, r7, #492 ; 0x1ec 809480c: 559a strb r2, [r3, r6] 809480e: e0e1 b.n 80949d4 if(Size < 1000) 8094810: f507 737a add.w r3, r7, #1000 ; 0x3e8 8094814: e9d3 2300 ldrd r2, r3, [r3] 8094818: f240 30e7 movw r0, #999 ; 0x3e7 809481c: f04f 0100 mov.w r1, #0 8094820: 4299 cmp r1, r3 8094822: bf08 it eq 8094824: 4290 cmpeq r0, r2 8094826: d353 bcc.n 80948d0 str1[k++] = (Size / 100) + 48; 8094828: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 809482c: 1c73 adds r3, r6, #1 809482e: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8094832: f507 737a add.w r3, r7, #1000 ; 0x3e8 8094836: e9d3 0100 ldrd r0, r1, [r3] 809483a: f04f 0264 mov.w r2, #100 ; 0x64 809483e: f04f 0300 mov.w r3, #0 8094842: f78b fed3 bl 80205ec <__aeabi_uldivmod> 8094846: 4602 mov r2, r0 8094848: 460b mov r3, r1 809484a: b2d3 uxtb r3, r2 809484c: 3330 adds r3, #48 ; 0x30 809484e: b2da uxtb r2, r3 8094850: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8094854: 559a strb r2, [r3, r6] str1[k++] = (Size % 100 / 10) + 48; 8094856: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 809485a: 1c73 adds r3, r6, #1 809485c: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8094860: f507 737a add.w r3, r7, #1000 ; 0x3e8 8094864: e9d3 0100 ldrd r0, r1, [r3] 8094868: f04f 0264 mov.w r2, #100 ; 0x64 809486c: f04f 0300 mov.w r3, #0 8094870: f78b febc bl 80205ec <__aeabi_uldivmod> 8094874: 4610 mov r0, r2 8094876: 4619 mov r1, r3 8094878: f04f 020a mov.w r2, #10 809487c: f04f 0300 mov.w r3, #0 8094880: f78b feb4 bl 80205ec <__aeabi_uldivmod> 8094884: 4602 mov r2, r0 8094886: 460b mov r3, r1 8094888: b2d3 uxtb r3, r2 809488a: 3330 adds r3, #48 ; 0x30 809488c: b2da uxtb r2, r3 809488e: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8094892: 559a strb r2, [r3, r6] str1[k++] = (Size % 100 % 10) + 48; 8094894: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 8094898: 1c73 adds r3, r6, #1 809489a: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 809489e: f507 737a add.w r3, r7, #1000 ; 0x3e8 80948a2: e9d3 0100 ldrd r0, r1, [r3] 80948a6: f04f 0264 mov.w r2, #100 ; 0x64 80948aa: f04f 0300 mov.w r3, #0 80948ae: f78b fe9d bl 80205ec <__aeabi_uldivmod> 80948b2: 4610 mov r0, r2 80948b4: 4619 mov r1, r3 80948b6: f04f 020a mov.w r2, #10 80948ba: f04f 0300 mov.w r3, #0 80948be: f78b fe95 bl 80205ec <__aeabi_uldivmod> 80948c2: b2d3 uxtb r3, r2 80948c4: 3330 adds r3, #48 ; 0x30 80948c6: b2da uxtb r2, r3 80948c8: f507 73f6 add.w r3, r7, #492 ; 0x1ec 80948cc: 559a strb r2, [r3, r6] 80948ce: e081 b.n 80949d4 str1[k++] = (Size / 1000) + 48; 80948d0: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 80948d4: 1c73 adds r3, r6, #1 80948d6: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 80948da: f507 737a add.w r3, r7, #1000 ; 0x3e8 80948de: e9d3 0100 ldrd r0, r1, [r3] 80948e2: f44f 727a mov.w r2, #1000 ; 0x3e8 80948e6: f04f 0300 mov.w r3, #0 80948ea: f78b fe7f bl 80205ec <__aeabi_uldivmod> 80948ee: 4602 mov r2, r0 80948f0: 460b mov r3, r1 80948f2: b2d3 uxtb r3, r2 80948f4: 3330 adds r3, #48 ; 0x30 80948f6: b2da uxtb r2, r3 80948f8: f507 73f6 add.w r3, r7, #492 ; 0x1ec 80948fc: 559a strb r2, [r3, r6] str1[k++] = (Size % 1000 / 100) + 48; 80948fe: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 8094902: 1c73 adds r3, r6, #1 8094904: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8094908: f507 737a add.w r3, r7, #1000 ; 0x3e8 809490c: e9d3 0100 ldrd r0, r1, [r3] 8094910: f44f 727a mov.w r2, #1000 ; 0x3e8 8094914: f04f 0300 mov.w r3, #0 8094918: f78b fe68 bl 80205ec <__aeabi_uldivmod> 809491c: 4610 mov r0, r2 809491e: 4619 mov r1, r3 8094920: f04f 0264 mov.w r2, #100 ; 0x64 8094924: f04f 0300 mov.w r3, #0 8094928: f78b fe60 bl 80205ec <__aeabi_uldivmod> 809492c: 4602 mov r2, r0 809492e: 460b mov r3, r1 8094930: b2d3 uxtb r3, r2 8094932: 3330 adds r3, #48 ; 0x30 8094934: b2da uxtb r2, r3 8094936: f507 73f6 add.w r3, r7, #492 ; 0x1ec 809493a: 559a strb r2, [r3, r6] str1[k++] = (Size % 1000 % 100 / 10) + 48; 809493c: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 8094940: 1c73 adds r3, r6, #1 8094942: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8094946: f507 737a add.w r3, r7, #1000 ; 0x3e8 809494a: e9d3 0100 ldrd r0, r1, [r3] 809494e: f44f 727a mov.w r2, #1000 ; 0x3e8 8094952: f04f 0300 mov.w r3, #0 8094956: f78b fe49 bl 80205ec <__aeabi_uldivmod> 809495a: 4610 mov r0, r2 809495c: 4619 mov r1, r3 809495e: f04f 0264 mov.w r2, #100 ; 0x64 8094962: f04f 0300 mov.w r3, #0 8094966: f78b fe41 bl 80205ec <__aeabi_uldivmod> 809496a: 4610 mov r0, r2 809496c: 4619 mov r1, r3 809496e: f04f 020a mov.w r2, #10 8094972: f04f 0300 mov.w r3, #0 8094976: f78b fe39 bl 80205ec <__aeabi_uldivmod> 809497a: 4602 mov r2, r0 809497c: 460b mov r3, r1 809497e: b2d3 uxtb r3, r2 8094980: 3330 adds r3, #48 ; 0x30 8094982: b2da uxtb r2, r3 8094984: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8094988: 559a strb r2, [r3, r6] str1[k++] = (Size % 1000 % 100 % 10) + 48; 809498a: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 809498e: 1c73 adds r3, r6, #1 8094990: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8094994: f507 737a add.w r3, r7, #1000 ; 0x3e8 8094998: e9d3 0100 ldrd r0, r1, [r3] 809499c: f44f 727a mov.w r2, #1000 ; 0x3e8 80949a0: f04f 0300 mov.w r3, #0 80949a4: f78b fe22 bl 80205ec <__aeabi_uldivmod> 80949a8: 4610 mov r0, r2 80949aa: 4619 mov r1, r3 80949ac: f04f 0264 mov.w r2, #100 ; 0x64 80949b0: f04f 0300 mov.w r3, #0 80949b4: f78b fe1a bl 80205ec <__aeabi_uldivmod> 80949b8: 4610 mov r0, r2 80949ba: 4619 mov r1, r3 80949bc: f04f 020a mov.w r2, #10 80949c0: f04f 0300 mov.w r3, #0 80949c4: f78b fe12 bl 80205ec <__aeabi_uldivmod> 80949c8: b2d3 uxtb r3, r2 80949ca: 3330 adds r3, #48 ; 0x30 80949cc: b2da uxtb r2, r3 80949ce: f507 73f6 add.w r3, r7, #492 ; 0x1ec 80949d2: 559a strb r2, [r3, r6] str1[k++] = 'K'; 80949d4: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80949d8: 1c5a adds r2, r3, #1 80949da: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 80949de: f507 72f6 add.w r2, r7, #492 ; 0x1ec 80949e2: 214b movs r1, #75 ; 0x4b 80949e4: 54d1 strb r1, [r2, r3] str1[k++] = 'B'; 80949e6: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80949ea: 1c5a adds r2, r3, #1 80949ec: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 80949f0: f507 72f6 add.w r2, r7, #492 ; 0x1ec 80949f4: 2142 movs r1, #66 ; 0x42 80949f6: 54d1 strb r1, [r2, r3] str1[k++] = '\0'; 80949f8: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80949fc: 1c5a adds r2, r3, #1 80949fe: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 8094a02: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8094a06: 2100 movs r1, #0 8094a08: 54d1 strb r1, [r2, r3] 8094a0a: f000 bc72 b.w 80952f2 Size /= 1048576; 8094a0e: f507 737a add.w r3, r7, #1000 ; 0x3e8 8094a12: e9d3 2300 ldrd r2, r3, [r3] 8094a16: ea4f 5812 mov.w r8, r2, lsr #20 8094a1a: ea48 3803 orr.w r8, r8, r3, lsl #12 8094a1e: ea4f 5913 mov.w r9, r3, lsr #20 8094a22: f507 737a add.w r3, r7, #1000 ; 0x3e8 8094a26: e9c3 8900 strd r8, r9, [r3] if(Size < 10) 8094a2a: f507 737a add.w r3, r7, #1000 ; 0x3e8 8094a2e: e9d3 2300 ldrd r2, r3, [r3] 8094a32: 2b00 cmp r3, #0 8094a34: bf08 it eq 8094a36: 2a0a cmpeq r2, #10 8094a38: d212 bcs.n 8094a60 str1[k++] = Size + 48; 8094a3a: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8094a3e: 1c5a adds r2, r3, #1 8094a40: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 8094a44: f507 727a add.w r2, r7, #1000 ; 0x3e8 8094a48: ca06 ldmia r2, {r1, r2} 8094a4a: b2ca uxtb r2, r1 8094a4c: 3230 adds r2, #48 ; 0x30 8094a4e: b2d1 uxtb r1, r2 8094a50: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8094a54: 54d1 strb r1, [r2, r3] 8094a56: f000 bc31 b.w 80952bc 8094a5a: bf00 nop 8094a5c: 000fffff .word 0x000fffff if(Size < 100) 8094a60: f507 737a add.w r3, r7, #1000 ; 0x3e8 8094a64: e9d3 2300 ldrd r2, r3, [r3] 8094a68: 2b00 cmp r3, #0 8094a6a: bf08 it eq 8094a6c: 2a64 cmpeq r2, #100 ; 0x64 8094a6e: d22c bcs.n 8094aca str1[k++] = (Size / 10) + 48; 8094a70: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 8094a74: 1c73 adds r3, r6, #1 8094a76: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8094a7a: f507 737a add.w r3, r7, #1000 ; 0x3e8 8094a7e: e9d3 0100 ldrd r0, r1, [r3] 8094a82: f04f 020a mov.w r2, #10 8094a86: f04f 0300 mov.w r3, #0 8094a8a: f78b fdaf bl 80205ec <__aeabi_uldivmod> 8094a8e: 4602 mov r2, r0 8094a90: 460b mov r3, r1 8094a92: b2d3 uxtb r3, r2 8094a94: 3330 adds r3, #48 ; 0x30 8094a96: b2da uxtb r2, r3 8094a98: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8094a9c: 559a strb r2, [r3, r6] str1[k++] = (Size % 10) + 48; 8094a9e: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 8094aa2: 1c73 adds r3, r6, #1 8094aa4: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8094aa8: f507 737a add.w r3, r7, #1000 ; 0x3e8 8094aac: e9d3 0100 ldrd r0, r1, [r3] 8094ab0: f04f 020a mov.w r2, #10 8094ab4: f04f 0300 mov.w r3, #0 8094ab8: f78b fd98 bl 80205ec <__aeabi_uldivmod> 8094abc: b2d3 uxtb r3, r2 8094abe: 3330 adds r3, #48 ; 0x30 8094ac0: b2da uxtb r2, r3 8094ac2: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8094ac6: 559a strb r2, [r3, r6] 8094ac8: e3f8 b.n 80952bc if(Size < 1000) 8094aca: f507 737a add.w r3, r7, #1000 ; 0x3e8 8094ace: e9d3 2300 ldrd r2, r3, [r3] 8094ad2: f240 30e7 movw r0, #999 ; 0x3e7 8094ad6: f04f 0100 mov.w r1, #0 8094ada: 4299 cmp r1, r3 8094adc: bf08 it eq 8094ade: 4290 cmpeq r0, r2 8094ae0: d353 bcc.n 8094b8a str1[k++] = (Size / 100) + 48; 8094ae2: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 8094ae6: 1c73 adds r3, r6, #1 8094ae8: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8094aec: f507 737a add.w r3, r7, #1000 ; 0x3e8 8094af0: e9d3 0100 ldrd r0, r1, [r3] 8094af4: f04f 0264 mov.w r2, #100 ; 0x64 8094af8: f04f 0300 mov.w r3, #0 8094afc: f78b fd76 bl 80205ec <__aeabi_uldivmod> 8094b00: 4602 mov r2, r0 8094b02: 460b mov r3, r1 8094b04: b2d3 uxtb r3, r2 8094b06: 3330 adds r3, #48 ; 0x30 8094b08: b2da uxtb r2, r3 8094b0a: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8094b0e: 559a strb r2, [r3, r6] str1[k++] = (Size % 100 / 10) + 48; 8094b10: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 8094b14: 1c73 adds r3, r6, #1 8094b16: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8094b1a: f507 737a add.w r3, r7, #1000 ; 0x3e8 8094b1e: e9d3 0100 ldrd r0, r1, [r3] 8094b22: f04f 0264 mov.w r2, #100 ; 0x64 8094b26: f04f 0300 mov.w r3, #0 8094b2a: f78b fd5f bl 80205ec <__aeabi_uldivmod> 8094b2e: 4610 mov r0, r2 8094b30: 4619 mov r1, r3 8094b32: f04f 020a mov.w r2, #10 8094b36: f04f 0300 mov.w r3, #0 8094b3a: f78b fd57 bl 80205ec <__aeabi_uldivmod> 8094b3e: 4602 mov r2, r0 8094b40: 460b mov r3, r1 8094b42: b2d3 uxtb r3, r2 8094b44: 3330 adds r3, #48 ; 0x30 8094b46: b2da uxtb r2, r3 8094b48: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8094b4c: 559a strb r2, [r3, r6] str1[k++] = (Size % 100 % 10) + 48; 8094b4e: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 8094b52: 1c73 adds r3, r6, #1 8094b54: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8094b58: f507 737a add.w r3, r7, #1000 ; 0x3e8 8094b5c: e9d3 0100 ldrd r0, r1, [r3] 8094b60: f04f 0264 mov.w r2, #100 ; 0x64 8094b64: f04f 0300 mov.w r3, #0 8094b68: f78b fd40 bl 80205ec <__aeabi_uldivmod> 8094b6c: 4610 mov r0, r2 8094b6e: 4619 mov r1, r3 8094b70: f04f 020a mov.w r2, #10 8094b74: f04f 0300 mov.w r3, #0 8094b78: f78b fd38 bl 80205ec <__aeabi_uldivmod> 8094b7c: b2d3 uxtb r3, r2 8094b7e: 3330 adds r3, #48 ; 0x30 8094b80: b2da uxtb r2, r3 8094b82: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8094b86: 559a strb r2, [r3, r6] 8094b88: e398 b.n 80952bc if(Size < 10000) 8094b8a: f507 737a add.w r3, r7, #1000 ; 0x3e8 8094b8e: e9d3 2300 ldrd r2, r3, [r3] 8094b92: f242 700f movw r0, #9999 ; 0x270f 8094b96: f04f 0100 mov.w r1, #0 8094b9a: 4299 cmp r1, r3 8094b9c: bf08 it eq 8094b9e: 4290 cmpeq r0, r2 8094ba0: f0c0 8083 bcc.w 8094caa str1[k++] = (Size / 1000) + 48; 8094ba4: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 8094ba8: 1c73 adds r3, r6, #1 8094baa: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8094bae: f507 737a add.w r3, r7, #1000 ; 0x3e8 8094bb2: e9d3 0100 ldrd r0, r1, [r3] 8094bb6: f44f 727a mov.w r2, #1000 ; 0x3e8 8094bba: f04f 0300 mov.w r3, #0 8094bbe: f78b fd15 bl 80205ec <__aeabi_uldivmod> 8094bc2: 4602 mov r2, r0 8094bc4: 460b mov r3, r1 8094bc6: b2d3 uxtb r3, r2 8094bc8: 3330 adds r3, #48 ; 0x30 8094bca: b2da uxtb r2, r3 8094bcc: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8094bd0: 559a strb r2, [r3, r6] str1[k++] = (Size % 1000 / 100) + 48; 8094bd2: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 8094bd6: 1c73 adds r3, r6, #1 8094bd8: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8094bdc: f507 737a add.w r3, r7, #1000 ; 0x3e8 8094be0: e9d3 0100 ldrd r0, r1, [r3] 8094be4: f44f 727a mov.w r2, #1000 ; 0x3e8 8094be8: f04f 0300 mov.w r3, #0 8094bec: f78b fcfe bl 80205ec <__aeabi_uldivmod> 8094bf0: 4610 mov r0, r2 8094bf2: 4619 mov r1, r3 8094bf4: f04f 0264 mov.w r2, #100 ; 0x64 8094bf8: f04f 0300 mov.w r3, #0 8094bfc: f78b fcf6 bl 80205ec <__aeabi_uldivmod> 8094c00: 4602 mov r2, r0 8094c02: 460b mov r3, r1 8094c04: b2d3 uxtb r3, r2 8094c06: 3330 adds r3, #48 ; 0x30 8094c08: b2da uxtb r2, r3 8094c0a: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8094c0e: 559a strb r2, [r3, r6] str1[k++] = (Size % 1000 % 100 / 10) + 48; 8094c10: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 8094c14: 1c73 adds r3, r6, #1 8094c16: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8094c1a: f507 737a add.w r3, r7, #1000 ; 0x3e8 8094c1e: e9d3 0100 ldrd r0, r1, [r3] 8094c22: f44f 727a mov.w r2, #1000 ; 0x3e8 8094c26: f04f 0300 mov.w r3, #0 8094c2a: f78b fcdf bl 80205ec <__aeabi_uldivmod> 8094c2e: 4610 mov r0, r2 8094c30: 4619 mov r1, r3 8094c32: f04f 0264 mov.w r2, #100 ; 0x64 8094c36: f04f 0300 mov.w r3, #0 8094c3a: f78b fcd7 bl 80205ec <__aeabi_uldivmod> 8094c3e: 4610 mov r0, r2 8094c40: 4619 mov r1, r3 8094c42: f04f 020a mov.w r2, #10 8094c46: f04f 0300 mov.w r3, #0 8094c4a: f78b fccf bl 80205ec <__aeabi_uldivmod> 8094c4e: 4602 mov r2, r0 8094c50: 460b mov r3, r1 8094c52: b2d3 uxtb r3, r2 8094c54: 3330 adds r3, #48 ; 0x30 8094c56: b2da uxtb r2, r3 8094c58: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8094c5c: 559a strb r2, [r3, r6] str1[k++] = (Size % 1000 % 100 % 10) + 48; 8094c5e: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 8094c62: 1c73 adds r3, r6, #1 8094c64: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8094c68: f507 737a add.w r3, r7, #1000 ; 0x3e8 8094c6c: e9d3 0100 ldrd r0, r1, [r3] 8094c70: f44f 727a mov.w r2, #1000 ; 0x3e8 8094c74: f04f 0300 mov.w r3, #0 8094c78: f78b fcb8 bl 80205ec <__aeabi_uldivmod> 8094c7c: 4610 mov r0, r2 8094c7e: 4619 mov r1, r3 8094c80: f04f 0264 mov.w r2, #100 ; 0x64 8094c84: f04f 0300 mov.w r3, #0 8094c88: f78b fcb0 bl 80205ec <__aeabi_uldivmod> 8094c8c: 4610 mov r0, r2 8094c8e: 4619 mov r1, r3 8094c90: f04f 020a mov.w r2, #10 8094c94: f04f 0300 mov.w r3, #0 8094c98: f78b fca8 bl 80205ec <__aeabi_uldivmod> 8094c9c: b2d3 uxtb r3, r2 8094c9e: 3330 adds r3, #48 ; 0x30 8094ca0: b2da uxtb r2, r3 8094ca2: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8094ca6: 559a strb r2, [r3, r6] 8094ca8: e308 b.n 80952bc if(Size < 100000) 8094caa: f507 737a add.w r3, r7, #1000 ; 0x3e8 8094cae: e9d3 2300 ldrd r2, r3, [r3] 8094cb2: 48e0 ldr r0, [pc, #896] ; (8095034 ) 8094cb4: f04f 0100 mov.w r1, #0 8094cb8: 4299 cmp r1, r3 8094cba: bf08 it eq 8094cbc: 4290 cmpeq r0, r2 8094cbe: f0c0 80ba bcc.w 8094e36 str1[k++] = (Size / 10000) + 48; 8094cc2: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 8094cc6: 1c73 adds r3, r6, #1 8094cc8: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8094ccc: f507 737a add.w r3, r7, #1000 ; 0x3e8 8094cd0: e9d3 0100 ldrd r0, r1, [r3] 8094cd4: f242 7210 movw r2, #10000 ; 0x2710 8094cd8: f04f 0300 mov.w r3, #0 8094cdc: f78b fc86 bl 80205ec <__aeabi_uldivmod> 8094ce0: 4602 mov r2, r0 8094ce2: 460b mov r3, r1 8094ce4: b2d3 uxtb r3, r2 8094ce6: 3330 adds r3, #48 ; 0x30 8094ce8: b2da uxtb r2, r3 8094cea: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8094cee: 559a strb r2, [r3, r6] str1[k++] = (Size % 10000 / 1000) + 48; 8094cf0: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 8094cf4: 1c73 adds r3, r6, #1 8094cf6: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8094cfa: f507 737a add.w r3, r7, #1000 ; 0x3e8 8094cfe: e9d3 0100 ldrd r0, r1, [r3] 8094d02: f242 7210 movw r2, #10000 ; 0x2710 8094d06: f04f 0300 mov.w r3, #0 8094d0a: f78b fc6f bl 80205ec <__aeabi_uldivmod> 8094d0e: 4610 mov r0, r2 8094d10: 4619 mov r1, r3 8094d12: f44f 727a mov.w r2, #1000 ; 0x3e8 8094d16: f04f 0300 mov.w r3, #0 8094d1a: f78b fc67 bl 80205ec <__aeabi_uldivmod> 8094d1e: 4602 mov r2, r0 8094d20: 460b mov r3, r1 8094d22: b2d3 uxtb r3, r2 8094d24: 3330 adds r3, #48 ; 0x30 8094d26: b2da uxtb r2, r3 8094d28: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8094d2c: 559a strb r2, [r3, r6] str1[k++] = (Size % 10000 % 1000 / 100) + 48; 8094d2e: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 8094d32: 1c73 adds r3, r6, #1 8094d34: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8094d38: f507 737a add.w r3, r7, #1000 ; 0x3e8 8094d3c: e9d3 0100 ldrd r0, r1, [r3] 8094d40: f242 7210 movw r2, #10000 ; 0x2710 8094d44: f04f 0300 mov.w r3, #0 8094d48: f78b fc50 bl 80205ec <__aeabi_uldivmod> 8094d4c: 4610 mov r0, r2 8094d4e: 4619 mov r1, r3 8094d50: f44f 727a mov.w r2, #1000 ; 0x3e8 8094d54: f04f 0300 mov.w r3, #0 8094d58: f78b fc48 bl 80205ec <__aeabi_uldivmod> 8094d5c: 4610 mov r0, r2 8094d5e: 4619 mov r1, r3 8094d60: f04f 0264 mov.w r2, #100 ; 0x64 8094d64: f04f 0300 mov.w r3, #0 8094d68: f78b fc40 bl 80205ec <__aeabi_uldivmod> 8094d6c: 4602 mov r2, r0 8094d6e: 460b mov r3, r1 8094d70: b2d3 uxtb r3, r2 8094d72: 3330 adds r3, #48 ; 0x30 8094d74: b2da uxtb r2, r3 8094d76: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8094d7a: 559a strb r2, [r3, r6] str1[k++] = (Size % 10000 % 1000 % 100 / 10) + 48; 8094d7c: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 8094d80: 1c73 adds r3, r6, #1 8094d82: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8094d86: f507 737a add.w r3, r7, #1000 ; 0x3e8 8094d8a: e9d3 0100 ldrd r0, r1, [r3] 8094d8e: f242 7210 movw r2, #10000 ; 0x2710 8094d92: f04f 0300 mov.w r3, #0 8094d96: f78b fc29 bl 80205ec <__aeabi_uldivmod> 8094d9a: 4610 mov r0, r2 8094d9c: 4619 mov r1, r3 8094d9e: f44f 727a mov.w r2, #1000 ; 0x3e8 8094da2: f04f 0300 mov.w r3, #0 8094da6: f78b fc21 bl 80205ec <__aeabi_uldivmod> 8094daa: 4610 mov r0, r2 8094dac: 4619 mov r1, r3 8094dae: f04f 0264 mov.w r2, #100 ; 0x64 8094db2: f04f 0300 mov.w r3, #0 8094db6: f78b fc19 bl 80205ec <__aeabi_uldivmod> 8094dba: 4610 mov r0, r2 8094dbc: 4619 mov r1, r3 8094dbe: f04f 020a mov.w r2, #10 8094dc2: f04f 0300 mov.w r3, #0 8094dc6: f78b fc11 bl 80205ec <__aeabi_uldivmod> 8094dca: 4602 mov r2, r0 8094dcc: 460b mov r3, r1 8094dce: b2d3 uxtb r3, r2 8094dd0: 3330 adds r3, #48 ; 0x30 8094dd2: b2da uxtb r2, r3 8094dd4: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8094dd8: 559a strb r2, [r3, r6] str1[k++] = (Size % 10000 % 1000 % 100 % 10) + 48; 8094dda: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 8094dde: 1c73 adds r3, r6, #1 8094de0: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8094de4: f507 737a add.w r3, r7, #1000 ; 0x3e8 8094de8: e9d3 0100 ldrd r0, r1, [r3] 8094dec: f242 7210 movw r2, #10000 ; 0x2710 8094df0: f04f 0300 mov.w r3, #0 8094df4: f78b fbfa bl 80205ec <__aeabi_uldivmod> 8094df8: 4610 mov r0, r2 8094dfa: 4619 mov r1, r3 8094dfc: f44f 727a mov.w r2, #1000 ; 0x3e8 8094e00: f04f 0300 mov.w r3, #0 8094e04: f78b fbf2 bl 80205ec <__aeabi_uldivmod> 8094e08: 4610 mov r0, r2 8094e0a: 4619 mov r1, r3 8094e0c: f04f 0264 mov.w r2, #100 ; 0x64 8094e10: f04f 0300 mov.w r3, #0 8094e14: f78b fbea bl 80205ec <__aeabi_uldivmod> 8094e18: 4610 mov r0, r2 8094e1a: 4619 mov r1, r3 8094e1c: f04f 020a mov.w r2, #10 8094e20: f04f 0300 mov.w r3, #0 8094e24: f78b fbe2 bl 80205ec <__aeabi_uldivmod> 8094e28: b2d3 uxtb r3, r2 8094e2a: 3330 adds r3, #48 ; 0x30 8094e2c: b2da uxtb r2, r3 8094e2e: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8094e32: 559a strb r2, [r3, r6] 8094e34: e242 b.n 80952bc if(Size < 1000000) 8094e36: f507 737a add.w r3, r7, #1000 ; 0x3e8 8094e3a: e9d3 2300 ldrd r2, r3, [r3] 8094e3e: 487e ldr r0, [pc, #504] ; (8095038 ) 8094e40: f04f 0100 mov.w r1, #0 8094e44: 4299 cmp r1, r3 8094e46: bf08 it eq 8094e48: 4290 cmpeq r0, r2 8094e4a: f0c0 80f9 bcc.w 8095040 str1[k++] = (Size / 100000) + 48; 8094e4e: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 8094e52: 1c73 adds r3, r6, #1 8094e54: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8094e58: f507 737a add.w r3, r7, #1000 ; 0x3e8 8094e5c: e9d3 0100 ldrd r0, r1, [r3] 8094e60: 4a76 ldr r2, [pc, #472] ; (809503c ) 8094e62: f04f 0300 mov.w r3, #0 8094e66: f78b fbc1 bl 80205ec <__aeabi_uldivmod> 8094e6a: 4602 mov r2, r0 8094e6c: 460b mov r3, r1 8094e6e: b2d3 uxtb r3, r2 8094e70: 3330 adds r3, #48 ; 0x30 8094e72: b2da uxtb r2, r3 8094e74: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8094e78: 559a strb r2, [r3, r6] str1[k++] = (Size % 100000 / 10000) + 48; 8094e7a: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 8094e7e: 1c73 adds r3, r6, #1 8094e80: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8094e84: f507 737a add.w r3, r7, #1000 ; 0x3e8 8094e88: e9d3 0100 ldrd r0, r1, [r3] 8094e8c: 4a6b ldr r2, [pc, #428] ; (809503c ) 8094e8e: f04f 0300 mov.w r3, #0 8094e92: f78b fbab bl 80205ec <__aeabi_uldivmod> 8094e96: 4610 mov r0, r2 8094e98: 4619 mov r1, r3 8094e9a: f242 7210 movw r2, #10000 ; 0x2710 8094e9e: f04f 0300 mov.w r3, #0 8094ea2: f78b fba3 bl 80205ec <__aeabi_uldivmod> 8094ea6: 4602 mov r2, r0 8094ea8: 460b mov r3, r1 8094eaa: b2d3 uxtb r3, r2 8094eac: 3330 adds r3, #48 ; 0x30 8094eae: b2da uxtb r2, r3 8094eb0: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8094eb4: 559a strb r2, [r3, r6] str1[k++] = (Size % 100000 % 10000 / 1000) + 48; 8094eb6: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 8094eba: 1c73 adds r3, r6, #1 8094ebc: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8094ec0: f507 737a add.w r3, r7, #1000 ; 0x3e8 8094ec4: e9d3 0100 ldrd r0, r1, [r3] 8094ec8: 4a5c ldr r2, [pc, #368] ; (809503c ) 8094eca: f04f 0300 mov.w r3, #0 8094ece: f78b fb8d bl 80205ec <__aeabi_uldivmod> 8094ed2: 4610 mov r0, r2 8094ed4: 4619 mov r1, r3 8094ed6: f242 7210 movw r2, #10000 ; 0x2710 8094eda: f04f 0300 mov.w r3, #0 8094ede: f78b fb85 bl 80205ec <__aeabi_uldivmod> 8094ee2: 4610 mov r0, r2 8094ee4: 4619 mov r1, r3 8094ee6: f44f 727a mov.w r2, #1000 ; 0x3e8 8094eea: f04f 0300 mov.w r3, #0 8094eee: f78b fb7d bl 80205ec <__aeabi_uldivmod> 8094ef2: 4602 mov r2, r0 8094ef4: 460b mov r3, r1 8094ef6: b2d3 uxtb r3, r2 8094ef8: 3330 adds r3, #48 ; 0x30 8094efa: b2da uxtb r2, r3 8094efc: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8094f00: 559a strb r2, [r3, r6] str1[k++] = (Size % 100000 % 10000 % 1000 / 100) + 48; 8094f02: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 8094f06: 1c73 adds r3, r6, #1 8094f08: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8094f0c: f507 737a add.w r3, r7, #1000 ; 0x3e8 8094f10: e9d3 0100 ldrd r0, r1, [r3] 8094f14: 4a49 ldr r2, [pc, #292] ; (809503c ) 8094f16: f04f 0300 mov.w r3, #0 8094f1a: f78b fb67 bl 80205ec <__aeabi_uldivmod> 8094f1e: 4610 mov r0, r2 8094f20: 4619 mov r1, r3 8094f22: f242 7210 movw r2, #10000 ; 0x2710 8094f26: f04f 0300 mov.w r3, #0 8094f2a: f78b fb5f bl 80205ec <__aeabi_uldivmod> 8094f2e: 4610 mov r0, r2 8094f30: 4619 mov r1, r3 8094f32: f44f 727a mov.w r2, #1000 ; 0x3e8 8094f36: f04f 0300 mov.w r3, #0 8094f3a: f78b fb57 bl 80205ec <__aeabi_uldivmod> 8094f3e: 4610 mov r0, r2 8094f40: 4619 mov r1, r3 8094f42: f04f 0264 mov.w r2, #100 ; 0x64 8094f46: f04f 0300 mov.w r3, #0 8094f4a: f78b fb4f bl 80205ec <__aeabi_uldivmod> 8094f4e: 4602 mov r2, r0 8094f50: 460b mov r3, r1 8094f52: b2d3 uxtb r3, r2 8094f54: 3330 adds r3, #48 ; 0x30 8094f56: b2da uxtb r2, r3 8094f58: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8094f5c: 559a strb r2, [r3, r6] str1[k++] = (Size % 100000 % 10000 % 1000 % 100 / 10) + 48; 8094f5e: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 8094f62: 1c73 adds r3, r6, #1 8094f64: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8094f68: f507 737a add.w r3, r7, #1000 ; 0x3e8 8094f6c: e9d3 0100 ldrd r0, r1, [r3] 8094f70: 4a32 ldr r2, [pc, #200] ; (809503c ) 8094f72: f04f 0300 mov.w r3, #0 8094f76: f78b fb39 bl 80205ec <__aeabi_uldivmod> 8094f7a: 4610 mov r0, r2 8094f7c: 4619 mov r1, r3 8094f7e: f242 7210 movw r2, #10000 ; 0x2710 8094f82: f04f 0300 mov.w r3, #0 8094f86: f78b fb31 bl 80205ec <__aeabi_uldivmod> 8094f8a: 4610 mov r0, r2 8094f8c: 4619 mov r1, r3 8094f8e: f44f 727a mov.w r2, #1000 ; 0x3e8 8094f92: f04f 0300 mov.w r3, #0 8094f96: f78b fb29 bl 80205ec <__aeabi_uldivmod> 8094f9a: 4610 mov r0, r2 8094f9c: 4619 mov r1, r3 8094f9e: f04f 0264 mov.w r2, #100 ; 0x64 8094fa2: f04f 0300 mov.w r3, #0 8094fa6: f78b fb21 bl 80205ec <__aeabi_uldivmod> 8094faa: 4610 mov r0, r2 8094fac: 4619 mov r1, r3 8094fae: f04f 020a mov.w r2, #10 8094fb2: f04f 0300 mov.w r3, #0 8094fb6: f78b fb19 bl 80205ec <__aeabi_uldivmod> 8094fba: 4602 mov r2, r0 8094fbc: 460b mov r3, r1 8094fbe: b2d3 uxtb r3, r2 8094fc0: 3330 adds r3, #48 ; 0x30 8094fc2: b2da uxtb r2, r3 8094fc4: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8094fc8: 559a strb r2, [r3, r6] str1[k++] = (Size % 100000 % 10000 % 1000 % 100 % 10) + 48; 8094fca: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 8094fce: 1c73 adds r3, r6, #1 8094fd0: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8094fd4: f507 737a add.w r3, r7, #1000 ; 0x3e8 8094fd8: e9d3 0100 ldrd r0, r1, [r3] 8094fdc: 4a17 ldr r2, [pc, #92] ; (809503c ) 8094fde: f04f 0300 mov.w r3, #0 8094fe2: f78b fb03 bl 80205ec <__aeabi_uldivmod> 8094fe6: 4610 mov r0, r2 8094fe8: 4619 mov r1, r3 8094fea: f242 7210 movw r2, #10000 ; 0x2710 8094fee: f04f 0300 mov.w r3, #0 8094ff2: f78b fafb bl 80205ec <__aeabi_uldivmod> 8094ff6: 4610 mov r0, r2 8094ff8: 4619 mov r1, r3 8094ffa: f44f 727a mov.w r2, #1000 ; 0x3e8 8094ffe: f04f 0300 mov.w r3, #0 8095002: f78b faf3 bl 80205ec <__aeabi_uldivmod> 8095006: 4610 mov r0, r2 8095008: 4619 mov r1, r3 809500a: f04f 0264 mov.w r2, #100 ; 0x64 809500e: f04f 0300 mov.w r3, #0 8095012: f78b faeb bl 80205ec <__aeabi_uldivmod> 8095016: 4610 mov r0, r2 8095018: 4619 mov r1, r3 809501a: f04f 020a mov.w r2, #10 809501e: f04f 0300 mov.w r3, #0 8095022: f78b fae3 bl 80205ec <__aeabi_uldivmod> 8095026: b2d3 uxtb r3, r2 8095028: 3330 adds r3, #48 ; 0x30 809502a: b2da uxtb r2, r3 809502c: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8095030: 559a strb r2, [r3, r6] 8095032: e143 b.n 80952bc 8095034: 0001869f .word 0x0001869f 8095038: 000f423f .word 0x000f423f 809503c: 000186a0 .word 0x000186a0 if(Size < 10000000) 8095040: f507 737a add.w r3, r7, #1000 ; 0x3e8 8095044: e9d3 2300 ldrd r2, r3, [r3] 8095048: a1b5 add r1, pc, #724 ; (adr r1, 8095320 ) 809504a: e9d1 0100 ldrd r0, r1, [r1] 809504e: 4299 cmp r1, r3 8095050: bf08 it eq 8095052: 4290 cmpeq r0, r2 8095054: f0c0 8132 bcc.w 80952bc str1[k++] = (Size / 1000000) + 48; 8095058: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 809505c: 1c73 adds r3, r6, #1 809505e: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8095062: f507 737a add.w r3, r7, #1000 ; 0x3e8 8095066: e9d3 0100 ldrd r0, r1, [r3] 809506a: 4aa9 ldr r2, [pc, #676] ; (8095310 ) 809506c: f04f 0300 mov.w r3, #0 8095070: f78b fabc bl 80205ec <__aeabi_uldivmod> 8095074: 4602 mov r2, r0 8095076: 460b mov r3, r1 8095078: b2d3 uxtb r3, r2 809507a: 3330 adds r3, #48 ; 0x30 809507c: b2da uxtb r2, r3 809507e: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8095082: 559a strb r2, [r3, r6] str1[k++] = (Size % 1000000 / 100000) + 48; 8095084: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 8095088: 1c73 adds r3, r6, #1 809508a: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 809508e: f507 737a add.w r3, r7, #1000 ; 0x3e8 8095092: e9d3 0100 ldrd r0, r1, [r3] 8095096: 4a9e ldr r2, [pc, #632] ; (8095310 ) 8095098: f04f 0300 mov.w r3, #0 809509c: f78b faa6 bl 80205ec <__aeabi_uldivmod> 80950a0: 4610 mov r0, r2 80950a2: 4619 mov r1, r3 80950a4: 4a9b ldr r2, [pc, #620] ; (8095314 ) 80950a6: f04f 0300 mov.w r3, #0 80950aa: f78b fa9f bl 80205ec <__aeabi_uldivmod> 80950ae: 4602 mov r2, r0 80950b0: 460b mov r3, r1 80950b2: b2d3 uxtb r3, r2 80950b4: 3330 adds r3, #48 ; 0x30 80950b6: b2da uxtb r2, r3 80950b8: f507 73f6 add.w r3, r7, #492 ; 0x1ec 80950bc: 559a strb r2, [r3, r6] str1[k++] = (Size % 1000000 % 100000 / 10000) + 48; 80950be: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 80950c2: 1c73 adds r3, r6, #1 80950c4: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 80950c8: f507 737a add.w r3, r7, #1000 ; 0x3e8 80950cc: e9d3 0100 ldrd r0, r1, [r3] 80950d0: 4a8f ldr r2, [pc, #572] ; (8095310 ) 80950d2: f04f 0300 mov.w r3, #0 80950d6: f78b fa89 bl 80205ec <__aeabi_uldivmod> 80950da: 4610 mov r0, r2 80950dc: 4619 mov r1, r3 80950de: 4a8d ldr r2, [pc, #564] ; (8095314 ) 80950e0: f04f 0300 mov.w r3, #0 80950e4: f78b fa82 bl 80205ec <__aeabi_uldivmod> 80950e8: 4610 mov r0, r2 80950ea: 4619 mov r1, r3 80950ec: f242 7210 movw r2, #10000 ; 0x2710 80950f0: f04f 0300 mov.w r3, #0 80950f4: f78b fa7a bl 80205ec <__aeabi_uldivmod> 80950f8: 4602 mov r2, r0 80950fa: 460b mov r3, r1 80950fc: b2d3 uxtb r3, r2 80950fe: 3330 adds r3, #48 ; 0x30 8095100: b2da uxtb r2, r3 8095102: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8095106: 559a strb r2, [r3, r6] str1[k++] = (Size % 1000000 % 100000 % 10000 / 1000) + 48; 8095108: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 809510c: 1c73 adds r3, r6, #1 809510e: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8095112: f507 737a add.w r3, r7, #1000 ; 0x3e8 8095116: e9d3 0100 ldrd r0, r1, [r3] 809511a: 4a7d ldr r2, [pc, #500] ; (8095310 ) 809511c: f04f 0300 mov.w r3, #0 8095120: f78b fa64 bl 80205ec <__aeabi_uldivmod> 8095124: 4610 mov r0, r2 8095126: 4619 mov r1, r3 8095128: 4a7a ldr r2, [pc, #488] ; (8095314 ) 809512a: f04f 0300 mov.w r3, #0 809512e: f78b fa5d bl 80205ec <__aeabi_uldivmod> 8095132: 4610 mov r0, r2 8095134: 4619 mov r1, r3 8095136: f242 7210 movw r2, #10000 ; 0x2710 809513a: f04f 0300 mov.w r3, #0 809513e: f78b fa55 bl 80205ec <__aeabi_uldivmod> 8095142: 4610 mov r0, r2 8095144: 4619 mov r1, r3 8095146: f44f 727a mov.w r2, #1000 ; 0x3e8 809514a: f04f 0300 mov.w r3, #0 809514e: f78b fa4d bl 80205ec <__aeabi_uldivmod> 8095152: 4602 mov r2, r0 8095154: 460b mov r3, r1 8095156: b2d3 uxtb r3, r2 8095158: 3330 adds r3, #48 ; 0x30 809515a: b2da uxtb r2, r3 809515c: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8095160: 559a strb r2, [r3, r6] str1[k++] = (Size % 1000000 % 100000 % 10000 % 1000 / 100) + 48; 8095162: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 8095166: 1c73 adds r3, r6, #1 8095168: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 809516c: f507 737a add.w r3, r7, #1000 ; 0x3e8 8095170: e9d3 0100 ldrd r0, r1, [r3] 8095174: 4a66 ldr r2, [pc, #408] ; (8095310 ) 8095176: f04f 0300 mov.w r3, #0 809517a: f78b fa37 bl 80205ec <__aeabi_uldivmod> 809517e: 4610 mov r0, r2 8095180: 4619 mov r1, r3 8095182: 4a64 ldr r2, [pc, #400] ; (8095314 ) 8095184: f04f 0300 mov.w r3, #0 8095188: f78b fa30 bl 80205ec <__aeabi_uldivmod> 809518c: 4610 mov r0, r2 809518e: 4619 mov r1, r3 8095190: f242 7210 movw r2, #10000 ; 0x2710 8095194: f04f 0300 mov.w r3, #0 8095198: f78b fa28 bl 80205ec <__aeabi_uldivmod> 809519c: 4610 mov r0, r2 809519e: 4619 mov r1, r3 80951a0: f44f 727a mov.w r2, #1000 ; 0x3e8 80951a4: f04f 0300 mov.w r3, #0 80951a8: f78b fa20 bl 80205ec <__aeabi_uldivmod> 80951ac: 4610 mov r0, r2 80951ae: 4619 mov r1, r3 80951b0: f04f 0264 mov.w r2, #100 ; 0x64 80951b4: f04f 0300 mov.w r3, #0 80951b8: f78b fa18 bl 80205ec <__aeabi_uldivmod> 80951bc: 4602 mov r2, r0 80951be: 460b mov r3, r1 80951c0: b2d3 uxtb r3, r2 80951c2: 3330 adds r3, #48 ; 0x30 80951c4: b2da uxtb r2, r3 80951c6: f507 73f6 add.w r3, r7, #492 ; 0x1ec 80951ca: 559a strb r2, [r3, r6] str1[k++] = (Size % 1000000 % 100000 % 10000 % 1000 % 100 / 10) + 48; 80951cc: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 80951d0: 1c73 adds r3, r6, #1 80951d2: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 80951d6: f507 737a add.w r3, r7, #1000 ; 0x3e8 80951da: e9d3 0100 ldrd r0, r1, [r3] 80951de: 4a4c ldr r2, [pc, #304] ; (8095310 ) 80951e0: f04f 0300 mov.w r3, #0 80951e4: f78b fa02 bl 80205ec <__aeabi_uldivmod> 80951e8: 4610 mov r0, r2 80951ea: 4619 mov r1, r3 80951ec: 4a49 ldr r2, [pc, #292] ; (8095314 ) 80951ee: f04f 0300 mov.w r3, #0 80951f2: f78b f9fb bl 80205ec <__aeabi_uldivmod> 80951f6: 4610 mov r0, r2 80951f8: 4619 mov r1, r3 80951fa: f242 7210 movw r2, #10000 ; 0x2710 80951fe: f04f 0300 mov.w r3, #0 8095202: f78b f9f3 bl 80205ec <__aeabi_uldivmod> 8095206: 4610 mov r0, r2 8095208: 4619 mov r1, r3 809520a: f44f 727a mov.w r2, #1000 ; 0x3e8 809520e: f04f 0300 mov.w r3, #0 8095212: f78b f9eb bl 80205ec <__aeabi_uldivmod> 8095216: 4610 mov r0, r2 8095218: 4619 mov r1, r3 809521a: f04f 0264 mov.w r2, #100 ; 0x64 809521e: f04f 0300 mov.w r3, #0 8095222: f78b f9e3 bl 80205ec <__aeabi_uldivmod> 8095226: 4610 mov r0, r2 8095228: 4619 mov r1, r3 809522a: f04f 020a mov.w r2, #10 809522e: f04f 0300 mov.w r3, #0 8095232: f78b f9db bl 80205ec <__aeabi_uldivmod> 8095236: 4602 mov r2, r0 8095238: 460b mov r3, r1 809523a: b2d3 uxtb r3, r2 809523c: 3330 adds r3, #48 ; 0x30 809523e: b2da uxtb r2, r3 8095240: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8095244: 559a strb r2, [r3, r6] str1[k++] = (Size % 1000000 % 100000 % 10000 % 1000 % 100 % 10) + 48; 8095246: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 809524a: 1c73 adds r3, r6, #1 809524c: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8095250: f507 737a add.w r3, r7, #1000 ; 0x3e8 8095254: e9d3 0100 ldrd r0, r1, [r3] 8095258: 4a2d ldr r2, [pc, #180] ; (8095310 ) 809525a: f04f 0300 mov.w r3, #0 809525e: f78b f9c5 bl 80205ec <__aeabi_uldivmod> 8095262: 4610 mov r0, r2 8095264: 4619 mov r1, r3 8095266: 4a2b ldr r2, [pc, #172] ; (8095314 ) 8095268: f04f 0300 mov.w r3, #0 809526c: f78b f9be bl 80205ec <__aeabi_uldivmod> 8095270: 4610 mov r0, r2 8095272: 4619 mov r1, r3 8095274: f242 7210 movw r2, #10000 ; 0x2710 8095278: f04f 0300 mov.w r3, #0 809527c: f78b f9b6 bl 80205ec <__aeabi_uldivmod> 8095280: 4610 mov r0, r2 8095282: 4619 mov r1, r3 8095284: f44f 727a mov.w r2, #1000 ; 0x3e8 8095288: f04f 0300 mov.w r3, #0 809528c: f78b f9ae bl 80205ec <__aeabi_uldivmod> 8095290: 4610 mov r0, r2 8095292: 4619 mov r1, r3 8095294: f04f 0264 mov.w r2, #100 ; 0x64 8095298: f04f 0300 mov.w r3, #0 809529c: f78b f9a6 bl 80205ec <__aeabi_uldivmod> 80952a0: 4610 mov r0, r2 80952a2: 4619 mov r1, r3 80952a4: f04f 020a mov.w r2, #10 80952a8: f04f 0300 mov.w r3, #0 80952ac: f78b f99e bl 80205ec <__aeabi_uldivmod> 80952b0: b2d3 uxtb r3, r2 80952b2: 3330 adds r3, #48 ; 0x30 80952b4: b2da uxtb r2, r3 80952b6: f507 73f6 add.w r3, r7, #492 ; 0x1ec 80952ba: 559a strb r2, [r3, r6] str1[k++] = 'M'; 80952bc: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80952c0: 1c5a adds r2, r3, #1 80952c2: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 80952c6: f507 72f6 add.w r2, r7, #492 ; 0x1ec 80952ca: 214d movs r1, #77 ; 0x4d 80952cc: 54d1 strb r1, [r2, r3] str1[k++] = 'B'; 80952ce: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80952d2: 1c5a adds r2, r3, #1 80952d4: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 80952d8: f507 72f6 add.w r2, r7, #492 ; 0x1ec 80952dc: 2142 movs r1, #66 ; 0x42 80952de: 54d1 strb r1, [r2, r3] str1[k++] = '\0'; 80952e0: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80952e4: 1c5a adds r2, r3, #1 80952e6: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 80952ea: f507 72f6 add.w r2, r7, #492 ; 0x1ec 80952ee: 2100 movs r1, #0 80952f0: 54d1 strb r1, [r2, r3] if(CursorIndex == i) 80952f2: 4b09 ldr r3, [pc, #36] ; (8095318 ) 80952f4: 681a ldr r2, [r3, #0] 80952f6: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80952fa: 429a cmp r2, r3 80952fc: d114 bne.n 8095328 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 80952fe: 4907 ldr r1, [pc, #28] ; (809531c ) 8095300: f04f 30ff mov.w r0, #4294967295 8095304: f7be fa52 bl 80537ac 8095308: e013 b.n 8095332 809530a: bf00 nop 809530c: f3af 8000 nop.w 8095310: 000f4240 .word 0x000f4240 8095314: 000186a0 .word 0x000186a0 8095318: 20020de0 .word 0x20020de0 809531c: ff606060 .word 0xff606060 8095320: 0098967f .word 0x0098967f 8095324: 00000000 .word 0x00000000 else LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8095328: 49c0 ldr r1, [pc, #768] ; (809562c ) 809532a: f04f 30ff mov.w r0, #4294967295 809532e: f7be fa3d bl 80537ac BSP_LCD_DisplayStringAt(312, POS_Y_12[i], str1, RIGHT_MODE); 8095332: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8095336: 4abe ldr r2, [pc, #760] ; (8095630 ) 8095338: f832 1013 ldrh.w r1, [r2, r3, lsl #1] 809533c: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8095340: 2302 movs r3, #2 8095342: f44f 709c mov.w r0, #312 ; 0x138 8095346: f7be faf7 bl 8053938 for(i = 0; i < VIEW_FILES; i++) 809534a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 809534e: 3301 adds r3, #1 8095350: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 8095354: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8095358: 2b0b cmp r3, #11 809535a: f67e affd bls.w 8094358 if(NumFilesGTR > VIEW_FILES) 809535e: 4bb5 ldr r3, [pc, #724] ; (8095634 ) 8095360: 681b ldr r3, [r3, #0] 8095362: 2b0c cmp r3, #12 8095364: d95f bls.n 8095426 k = (140 * VIEW_FILES) / NumFilesGTR; //äëèíà ïîëçóíêà 8095366: 4bb3 ldr r3, [pc, #716] ; (8095634 ) 8095368: 681b ldr r3, [r3, #0] 809536a: f44f 62d2 mov.w r2, #1680 ; 0x690 809536e: fbb2 f3f3 udiv r3, r2, r3 8095372: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 f = (float32_t) (140 * FirstFileIndex); 8095376: 4bb0 ldr r3, [pc, #704] ; (8095638 ) 8095378: 681b ldr r3, [r3, #0] 809537a: 228c movs r2, #140 ; 0x8c 809537c: fb02 f303 mul.w r3, r2, r3 8095380: ee07 3a90 vmov s15, r3 8095384: eef8 7a67 vcvt.f32.u32 s15, s15 8095388: f507 638b add.w r3, r7, #1112 ; 0x458 809538c: edc3 7a00 vstr s15, [r3] f = (f / (float32_t) NumFilesGTR) + 96.0f; 8095390: 4ba8 ldr r3, [pc, #672] ; (8095634 ) 8095392: 681b ldr r3, [r3, #0] 8095394: ee07 3a90 vmov s15, r3 8095398: eeb8 7a67 vcvt.f32.u32 s14, s15 809539c: f507 638b add.w r3, r7, #1112 ; 0x458 80953a0: edd3 6a00 vldr s13, [r3] 80953a4: eec6 7a87 vdiv.f32 s15, s13, s14 80953a8: ed9f 7aa4 vldr s14, [pc, #656] ; 809563c 80953ac: ee77 7a87 vadd.f32 s15, s15, s14 80953b0: f507 638b add.w r3, r7, #1112 ; 0x458 80953b4: edc3 7a00 vstr s15, [r3] y0 = (uint16_t) f; //âåðõíÿÿ êîîðäèíàòà ïîëçóíêà 80953b8: f507 638b add.w r3, r7, #1112 ; 0x458 80953bc: edd3 7a00 vldr s15, [r3] 80953c0: eefc 7ae7 vcvt.u32.f32 s15, s15 80953c4: edc7 7a01 vstr s15, [r7, #4] 80953c8: 88bb ldrh r3, [r7, #4] 80953ca: f8a7 343c strh.w r3, [r7, #1084] ; 0x43c y1 = y0 + k; 80953ce: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80953d2: b29a uxth r2, r3 80953d4: f8b7 343c ldrh.w r3, [r7, #1084] ; 0x43c 80953d8: 4413 add r3, r2 80953da: f8a7 343a strh.w r3, [r7, #1082] ; 0x43a if(y1 > 236) 80953de: f8b7 343a ldrh.w r3, [r7, #1082] ; 0x43a 80953e2: 2bec cmp r3, #236 ; 0xec 80953e4: d905 bls.n 80953f2 k = 236 - y0; 80953e6: f8b7 343c ldrh.w r3, [r7, #1084] ; 0x43c 80953ea: f1c3 03ec rsb r3, r3, #236 ; 0xec 80953ee: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 80953f2: 498e ldr r1, [pc, #568] ; (809562c ) 80953f4: 4892 ldr r0, [pc, #584] ; (8095640 ) 80953f6: f7be f9d9 bl 80537ac BSP_LCD_DrawRect(314, 94, 5, 143); 80953fa: 238f movs r3, #143 ; 0x8f 80953fc: 2205 movs r2, #5 80953fe: 215e movs r1, #94 ; 0x5e 8095400: f44f 709d mov.w r0, #314 ; 0x13a 8095404: f7be fcd8 bl 8053db8 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8095408: 4988 ldr r1, [pc, #544] ; (809562c ) 809540a: f04f 30ff mov.w r0, #4294967295 809540e: f7be f9cd bl 80537ac BSP_LCD_FillRect(316, y0, 2, k); 8095412: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8095416: b29b uxth r3, r3 8095418: f8b7 143c ldrh.w r1, [r7, #1084] ; 0x43c 809541c: 2202 movs r2, #2 809541e: f44f 709e mov.w r0, #316 ; 0x13c 8095422: f7be fe51 bl 80540c8 if((menupos != NoFilesGTR) && (menupos != FilesGTR)) 8095426: 4b87 ldr r3, [pc, #540] ; (8095644 ) 8095428: 781b ldrb r3, [r3, #0] 809542a: b2db uxtb r3, r3 809542c: 2b01 cmp r3, #1 809542e: f002 80dc beq.w 80975ea 8095432: 4b84 ldr r3, [pc, #528] ; (8095644 ) 8095434: 781b ldrb r3, [r3, #0] 8095436: b2db uxtb r3, r3 8095438: 2b02 cmp r3, #2 809543a: f002 80d6 beq.w 80975ea LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 809543e: 497b ldr r1, [pc, #492] ; (809562c ) 8095440: 487f ldr r0, [pc, #508] ; (8095640 ) 8095442: f7be f9b3 bl 80537ac BSP_LCD_FillRect(60, 73, 200, 124); 8095446: 237c movs r3, #124 ; 0x7c 8095448: 22c8 movs r2, #200 ; 0xc8 809544a: 2149 movs r1, #73 ; 0x49 809544c: 203c movs r0, #60 ; 0x3c 809544e: f7be fe3b bl 80540c8 LCD_SetColors(LCD_COLOR_BLACK, LCD_COLOR_BLACK); 8095452: 4976 ldr r1, [pc, #472] ; (809562c ) 8095454: 4875 ldr r0, [pc, #468] ; (809562c ) 8095456: f7be f9a9 bl 80537ac BSP_LCD_FillRect(61, 74, 198, 122); 809545a: 237a movs r3, #122 ; 0x7a 809545c: 22c6 movs r2, #198 ; 0xc6 809545e: 214a movs r1, #74 ; 0x4a 8095460: 203d movs r0, #61 ; 0x3d 8095462: f7be fe31 bl 80540c8 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8095466: 4971 ldr r1, [pc, #452] ; (809562c ) 8095468: f04f 30ff mov.w r0, #4294967295 809546c: f7be f99e bl 80537ac BSP_LCD_SetFont(&Font12); 8095470: 4875 ldr r0, [pc, #468] ; (8095648 ) 8095472: f7be f9d7 bl 8053824 if((menupos == UpNo) || (menupos == UpYes)) 8095476: 4b73 ldr r3, [pc, #460] ; (8095644 ) 8095478: 781b ldrb r3, [r3, #0] 809547a: b2db uxtb r3, r3 809547c: 2b06 cmp r3, #6 809547e: d004 beq.n 809548a 8095480: 4b70 ldr r3, [pc, #448] ; (8095644 ) 8095482: 781b ldrb r3, [r3, #0] 8095484: b2db uxtb r3, r3 8095486: 2b07 cmp r3, #7 8095488: d179 bne.n 809557e if(pardata.LANG == RUS) 809548a: 4b70 ldr r3, [pc, #448] ; (809564c ) 809548c: 7b1b ldrb r3, [r3, #12] 809548e: b2db uxtb r3, r3 8095490: 2b00 cmp r3, #0 8095492: d10c bne.n 80954ae BSP_LCD_DisplayStringAt(160, 111, "Âûáðàííûå ôàéëû áóäóò", CENTER_MODE); 8095494: 2301 movs r3, #1 8095496: 4a6e ldr r2, [pc, #440] ; (8095650 ) 8095498: 216f movs r1, #111 ; 0x6f 809549a: 20a0 movs r0, #160 ; 0xa0 809549c: f7be fa4c bl 8053938 BSP_LCD_DisplayStringAt(160, 111+15, "óäàëåíû. Ïðîäîëæèòü?", CENTER_MODE); 80954a0: 2301 movs r3, #1 80954a2: 4a6c ldr r2, [pc, #432] ; (8095654 ) 80954a4: 217e movs r1, #126 ; 0x7e 80954a6: 20a0 movs r0, #160 ; 0xa0 80954a8: f7be fa46 bl 8053938 80954ac: e00b b.n 80954c6 BSP_LCD_DisplayStringAt(160, 111, "The selected files will", CENTER_MODE); 80954ae: 2301 movs r3, #1 80954b0: 4a69 ldr r2, [pc, #420] ; (8095658 ) 80954b2: 216f movs r1, #111 ; 0x6f 80954b4: 20a0 movs r0, #160 ; 0xa0 80954b6: f7be fa3f bl 8053938 BSP_LCD_DisplayStringAt(160, 111+15, "be deleted. Continue?", CENTER_MODE); 80954ba: 2301 movs r3, #1 80954bc: 4a67 ldr r2, [pc, #412] ; (809565c ) 80954be: 217e movs r1, #126 ; 0x7e 80954c0: 20a0 movs r0, #160 ; 0xa0 80954c2: f7be fa39 bl 8053938 if(menupos == UpNo) 80954c6: 4b5f ldr r3, [pc, #380] ; (8095644 ) 80954c8: 781b ldrb r3, [r3, #0] 80954ca: b2db uxtb r3, r3 80954cc: 2b06 cmp r3, #6 80954ce: d128 bne.n 8095522 if(pardata.LANG == RUS) 80954d0: 4b5e ldr r3, [pc, #376] ; (809564c ) 80954d2: 7b1b ldrb r3, [r3, #12] 80954d4: b2db uxtb r3, r3 80954d6: 2b00 cmp r3, #0 80954d8: d111 bne.n 80954fe BSP_LCD_DisplayStringAt(230, 175, "ÄÀ", CENTER_MODE); 80954da: 2301 movs r3, #1 80954dc: 4a60 ldr r2, [pc, #384] ; (8095660 ) 80954de: 21af movs r1, #175 ; 0xaf 80954e0: 20e6 movs r0, #230 ; 0xe6 80954e2: f7be fa29 bl 8053938 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 80954e6: 495f ldr r1, [pc, #380] ; (8095664 ) 80954e8: f04f 30ff mov.w r0, #4294967295 80954ec: f7be f95e bl 80537ac BSP_LCD_DisplayStringAt(90, 175, "ÍÅÒ", CENTER_MODE); 80954f0: 2301 movs r3, #1 80954f2: 4a5d ldr r2, [pc, #372] ; (8095668 ) 80954f4: 21af movs r1, #175 ; 0xaf 80954f6: 205a movs r0, #90 ; 0x5a 80954f8: f7be fa1e bl 8053938 if(menupos == UpNo) 80954fc: e088 b.n 8095610 BSP_LCD_DisplayStringAt(230, 175, "YES", CENTER_MODE); 80954fe: 2301 movs r3, #1 8095500: 4a5a ldr r2, [pc, #360] ; (809566c ) 8095502: 21af movs r1, #175 ; 0xaf 8095504: 20e6 movs r0, #230 ; 0xe6 8095506: f7be fa17 bl 8053938 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 809550a: 4956 ldr r1, [pc, #344] ; (8095664 ) 809550c: f04f 30ff mov.w r0, #4294967295 8095510: f7be f94c bl 80537ac BSP_LCD_DisplayStringAt(90, 175, "NO", CENTER_MODE); 8095514: 2301 movs r3, #1 8095516: 4a56 ldr r2, [pc, #344] ; (8095670 ) 8095518: 21af movs r1, #175 ; 0xaf 809551a: 205a movs r0, #90 ; 0x5a 809551c: f7be fa0c bl 8053938 if(menupos == UpNo) 8095520: e076 b.n 8095610 if(menupos == UpYes) 8095522: 4b48 ldr r3, [pc, #288] ; (8095644 ) 8095524: 781b ldrb r3, [r3, #0] 8095526: b2db uxtb r3, r3 8095528: 2b07 cmp r3, #7 809552a: d171 bne.n 8095610 if(pardata.LANG == RUS) 809552c: 4b47 ldr r3, [pc, #284] ; (809564c ) 809552e: 7b1b ldrb r3, [r3, #12] 8095530: b2db uxtb r3, r3 8095532: 2b00 cmp r3, #0 8095534: d111 bne.n 809555a BSP_LCD_DisplayStringAt(90, 175, "ÍÅÒ", CENTER_MODE); 8095536: 2301 movs r3, #1 8095538: 4a4b ldr r2, [pc, #300] ; (8095668 ) 809553a: 21af movs r1, #175 ; 0xaf 809553c: 205a movs r0, #90 ; 0x5a 809553e: f7be f9fb bl 8053938 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8095542: 4948 ldr r1, [pc, #288] ; (8095664 ) 8095544: f04f 30ff mov.w r0, #4294967295 8095548: f7be f930 bl 80537ac BSP_LCD_DisplayStringAt(230, 175, "ÄÀ", CENTER_MODE); 809554c: 2301 movs r3, #1 809554e: 4a44 ldr r2, [pc, #272] ; (8095660 ) 8095550: 21af movs r1, #175 ; 0xaf 8095552: 20e6 movs r0, #230 ; 0xe6 8095554: f7be f9f0 bl 8053938 if(menupos == UpNo) 8095558: e05a b.n 8095610 BSP_LCD_DisplayStringAt(90, 175, "NO", CENTER_MODE); 809555a: 2301 movs r3, #1 809555c: 4a44 ldr r2, [pc, #272] ; (8095670 ) 809555e: 21af movs r1, #175 ; 0xaf 8095560: 205a movs r0, #90 ; 0x5a 8095562: f7be f9e9 bl 8053938 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8095566: 493f ldr r1, [pc, #252] ; (8095664 ) 8095568: f04f 30ff mov.w r0, #4294967295 809556c: f7be f91e bl 80537ac BSP_LCD_DisplayStringAt(230, 175, "YES", CENTER_MODE); 8095570: 2301 movs r3, #1 8095572: 4a3e ldr r2, [pc, #248] ; (809566c ) 8095574: 21af movs r1, #175 ; 0xaf 8095576: 20e6 movs r0, #230 ; 0xe6 8095578: f7be f9de bl 8053938 if(menupos == UpNo) 809557c: e048 b.n 8095610 if(menupos == CleanUpResult) 809557e: 4b31 ldr r3, [pc, #196] ; (8095644 ) 8095580: 781b ldrb r3, [r3, #0] 8095582: b2db uxtb r3, r3 8095584: 2b0a cmp r3, #10 8095586: f042 8030 bne.w 80975ea if(CleanStatus == AP_OK) 809558a: 4b3a ldr r3, [pc, #232] ; (8095674 ) 809558c: 781b ldrb r3, [r3, #0] 809558e: b2db uxtb r3, r3 8095590: 2b00 cmp r3, #0 8095592: d118 bne.n 80955c6 if(pardata.LANG == RUS) 8095594: 4b2d ldr r3, [pc, #180] ; (809564c ) 8095596: 7b1b ldrb r3, [r3, #12] 8095598: b2db uxtb r3, r3 809559a: 2b00 cmp r3, #0 809559c: d10c bne.n 80955b8 BSP_LCD_DisplayStringAt(160, 111, "Óäàëåíèå çàâåðøåíî", CENTER_MODE); 809559e: 2301 movs r3, #1 80955a0: 4a35 ldr r2, [pc, #212] ; (8095678 ) 80955a2: 216f movs r1, #111 ; 0x6f 80955a4: 20a0 movs r0, #160 ; 0xa0 80955a6: f7be f9c7 bl 8053938 BSP_LCD_DisplayStringAt(160, 111+15, "óñïåøíî!", CENTER_MODE); 80955aa: 2301 movs r3, #1 80955ac: 4a33 ldr r2, [pc, #204] ; (809567c ) 80955ae: 217e movs r1, #126 ; 0x7e 80955b0: 20a0 movs r0, #160 ; 0xa0 80955b2: f7be f9c1 bl 8053938 80955b6: e01e b.n 80955f6 BSP_LCD_DisplayStringAt(160, 111+15, "Deleting successful!", CENTER_MODE); 80955b8: 2301 movs r3, #1 80955ba: 4a31 ldr r2, [pc, #196] ; (8095680 ) 80955bc: 217e movs r1, #126 ; 0x7e 80955be: 20a0 movs r0, #160 ; 0xa0 80955c0: f7be f9ba bl 8053938 80955c4: e017 b.n 80955f6 if(pardata.LANG == RUS) 80955c6: 4b21 ldr r3, [pc, #132] ; (809564c ) 80955c8: 7b1b ldrb r3, [r3, #12] 80955ca: b2db uxtb r3, r3 80955cc: 2b00 cmp r3, #0 80955ce: d10c bne.n 80955ea BSP_LCD_DisplayStringAt(160, 111, "Îøèáêà â ïðîöåññå", CENTER_MODE); 80955d0: 2301 movs r3, #1 80955d2: 4a2c ldr r2, [pc, #176] ; (8095684 ) 80955d4: 216f movs r1, #111 ; 0x6f 80955d6: 20a0 movs r0, #160 ; 0xa0 80955d8: f7be f9ae bl 8053938 BSP_LCD_DisplayStringAt(160, 111+15, "óäàëåíèÿ...", CENTER_MODE); 80955dc: 2301 movs r3, #1 80955de: 4a2a ldr r2, [pc, #168] ; (8095688 ) 80955e0: 217e movs r1, #126 ; 0x7e 80955e2: 20a0 movs r0, #160 ; 0xa0 80955e4: f7be f9a8 bl 8053938 80955e8: e005 b.n 80955f6 BSP_LCD_DisplayStringAt(160, 111+15, "Deleting error!", CENTER_MODE); 80955ea: 2301 movs r3, #1 80955ec: 4a27 ldr r2, [pc, #156] ; (809568c ) 80955ee: 217e movs r1, #126 ; 0x7e 80955f0: 20a0 movs r0, #160 ; 0xa0 80955f2: f7be f9a1 bl 8053938 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 80955f6: 491b ldr r1, [pc, #108] ; (8095664 ) 80955f8: f04f 30ff mov.w r0, #4294967295 80955fc: f7be f8d6 bl 80537ac BSP_LCD_DisplayStringAt(160, 175, "OK", CENTER_MODE); 8095600: 2301 movs r3, #1 8095602: 4a23 ldr r2, [pc, #140] ; (8095690 ) 8095604: 21af movs r1, #175 ; 0xaf 8095606: 20a0 movs r0, #160 ; 0xa0 8095608: f7be f996 bl 8053938 break; 809560c: f001 bfed b.w 80975ea if(menupos == UpNo) 8095610: bf00 nop break; 8095612: f001 bfea b.w 80975ea case ROUTE: if(pardata.LANG == RUS) 8095616: 4b0d ldr r3, [pc, #52] ; (809564c ) 8095618: 7b1b ldrb r3, [r3, #12] 809561a: b2db uxtb r3, r3 809561c: 2b00 cmp r3, #0 809561e: d13b bne.n 8095698 DrawImage(&bmLEGEND_GTR_RUS, 0, 45); 8095620: 222d movs r2, #45 ; 0x2d 8095622: 2100 movs r1, #0 8095624: 481b ldr r0, [pc, #108] ; (8095694 ) 8095626: f7be ffb5 bl 8054594 809562a: e03a b.n 80956a2 809562c: ff0a0f1f .word 0xff0a0f1f 8095630: 080ef4a0 .word 0x080ef4a0 8095634: 20020e04 .word 0x20020e04 8095638: 20020de4 .word 0x20020de4 809563c: 42c00000 .word 0x42c00000 8095640: ffd3d3d3 .word 0xffd3d3d3 8095644: 20020070 .word 0x20020070 8095648: 20020038 .word 0x20020038 809564c: 20023e60 .word 0x20023e60 8095650: 080d0450 .word 0x080d0450 8095654: 080d0218 .word 0x080d0218 8095658: 080d0468 .word 0x080d0468 809565c: 080d0248 .word 0x080d0248 8095660: 080d0260 .word 0x080d0260 8095664: ff606060 .word 0xff606060 8095668: 080d0264 .word 0x080d0264 809566c: 080d0268 .word 0x080d0268 8095670: 080d026c .word 0x080d026c 8095674: 20020dd0 .word 0x20020dd0 8095678: 080d0270 .word 0x080d0270 809567c: 080cfff8 .word 0x080cfff8 8095680: 080d0284 .word 0x080d0284 8095684: 080d0004 .word 0x080d0004 8095688: 080d029c .word 0x080d029c 809568c: 080d02a8 .word 0x080d02a8 8095690: 080d02b8 .word 0x080d02b8 8095694: 0812476c .word 0x0812476c else DrawImage(&bmLEGEND_GTR_ENG, 0, 45); 8095698: 222d movs r2, #45 ; 0x2d 809569a: 2100 movs r1, #0 809569c: 48b6 ldr r0, [pc, #728] ; (8095978 ) 809569e: f7be ff79 bl 8054594 if(menupos == NoFilesCSV) 80956a2: 4bb6 ldr r3, [pc, #728] ; (809597c ) 80956a4: 781b ldrb r3, [r3, #0] 80956a6: b2db uxtb r3, r3 80956a8: 2b01 cmp r3, #1 80956aa: d11c bne.n 80956e6 { BSP_LCD_SetFont(&Font12); 80956ac: 48b4 ldr r0, [pc, #720] ; (8095980 ) 80956ae: f7be f8b9 bl 8053824 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80956b2: 49b4 ldr r1, [pc, #720] ; (8095984 ) 80956b4: f04f 30ff mov.w r0, #4294967295 80956b8: f7be f878 bl 80537ac if(pardata.LANG == RUS) 80956bc: 4bb2 ldr r3, [pc, #712] ; (8095988 ) 80956be: 7b1b ldrb r3, [r3, #12] 80956c0: b2db uxtb r3, r3 80956c2: 2b00 cmp r3, #0 80956c4: d107 bne.n 80956d6 BSP_LCD_DisplayStringAt(160, 111+15, "Ôàéëû îòñóòñòâóþò...", CENTER_MODE); 80956c6: 2301 movs r3, #1 80956c8: 4ab0 ldr r2, [pc, #704] ; (809598c ) 80956ca: 217e movs r1, #126 ; 0x7e 80956cc: 20a0 movs r0, #160 ; 0xa0 80956ce: f7be f933 bl 8053938 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); BSP_LCD_DisplayStringAt(160, 175, "OK", CENTER_MODE); } } } break; 80956d2: f001 bf8c b.w 80975ee else BSP_LCD_DisplayStringAt(160, 111+15, "No files...", CENTER_MODE); 80956d6: 2301 movs r3, #1 80956d8: 4aad ldr r2, [pc, #692] ; (8095990 ) 80956da: 217e movs r1, #126 ; 0x7e 80956dc: 20a0 movs r0, #160 ; 0xa0 80956de: f7be f92b bl 8053938 break; 80956e2: f001 bf84 b.w 80975ee if((menupos == FilesCSV) || (menupos == UpNo) || (menupos == UpYes) || (menupos == CleanUpResult)) // 80956e6: 4ba5 ldr r3, [pc, #660] ; (809597c ) 80956e8: 781b ldrb r3, [r3, #0] 80956ea: b2db uxtb r3, r3 80956ec: 2b02 cmp r3, #2 80956ee: d00f beq.n 8095710 80956f0: 4ba2 ldr r3, [pc, #648] ; (809597c ) 80956f2: 781b ldrb r3, [r3, #0] 80956f4: b2db uxtb r3, r3 80956f6: 2b06 cmp r3, #6 80956f8: d00a beq.n 8095710 80956fa: 4ba0 ldr r3, [pc, #640] ; (809597c ) 80956fc: 781b ldrb r3, [r3, #0] 80956fe: b2db uxtb r3, r3 8095700: 2b07 cmp r3, #7 8095702: d005 beq.n 8095710 8095704: 4b9d ldr r3, [pc, #628] ; (809597c ) 8095706: 781b ldrb r3, [r3, #0] 8095708: b2db uxtb r3, r3 809570a: 2b0a cmp r3, #10 809570c: f041 876f bne.w 80975ee BSP_LCD_SetFont(&Font12); 8095710: 489b ldr r0, [pc, #620] ; (8095980 ) 8095712: f7be f887 bl 8053824 for(i = 0; i < VIEW_FILES; i++) 8095716: 2300 movs r3, #0 8095718: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 809571c: e07e b.n 809581c if(CursorIndex == i) 809571e: 4b9d ldr r3, [pc, #628] ; (8095994 ) 8095720: 681a ldr r2, [r3, #0] 8095722: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8095726: 429a cmp r2, r3 8095728: d119 bne.n 809575e LCD_SetColors(LCD_COLOR_CURSOR, LCD_COLOR_CURSOR); 809572a: 499b ldr r1, [pc, #620] ; (8095998 ) 809572c: 489a ldr r0, [pc, #616] ; (8095998 ) 809572e: f7be f83d bl 80537ac BSP_LCD_FillRect(3, POS_Y_12[i], 312, CurrentFont->Height); 8095732: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8095736: 4a99 ldr r2, [pc, #612] ; (809599c ) 8095738: f832 1013 ldrh.w r1, [r2, r3, lsl #1] 809573c: 4b98 ldr r3, [pc, #608] ; (80959a0 ) 809573e: 681b ldr r3, [r3, #0] 8095740: 88db ldrh r3, [r3, #6] 8095742: f44f 729c mov.w r2, #312 ; 0x138 8095746: 2003 movs r0, #3 8095748: f7be fcbe bl 80540c8 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 809574c: 4992 ldr r1, [pc, #584] ; (8095998 ) 809574e: f04f 30ff mov.w r0, #4294967295 8095752: f7be f82b bl 80537ac j = LCD_COLOR_CURSOR; 8095756: 4b90 ldr r3, [pc, #576] ; (8095998 ) 8095758: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 809575c: e007 b.n 809576e LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 809575e: 4989 ldr r1, [pc, #548] ; (8095984 ) 8095760: f04f 30ff mov.w r0, #4294967295 8095764: f7be f822 bl 80537ac j = LCD_COLOR_BLACK; 8095768: 4b86 ldr r3, [pc, #536] ; (8095984 ) 809576a: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc if(ExplorerFiles[i].fname[0] != 0) 809576e: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 8095772: 498c ldr r1, [pc, #560] ; (80959a4 ) 8095774: 4613 mov r3, r2 8095776: 00db lsls r3, r3, #3 8095778: 1a9b subs r3, r3, r2 809577a: 00db lsls r3, r3, #3 809577c: 440b add r3, r1 809577e: 330c adds r3, #12 8095780: 781b ldrb r3, [r3, #0] 8095782: 2b00 cmp r3, #0 8095784: d045 beq.n 8095812 if(NumFilesDelete != 0) 8095786: 4b88 ldr r3, [pc, #544] ; (80959a8 ) 8095788: 681b ldr r3, [r3, #0] 809578a: 2b00 cmp r3, #0 809578c: d02e beq.n 80957ec for(k = 0; k < MAX_CHECKED_FILES; k++) 809578e: 2300 movs r3, #0 8095790: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8095794: e025 b.n 80957e2 if(strcmp(ExplorerFiles[i].fname, &StrRAM(k, 0)) == 0) 8095796: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 809579a: 4613 mov r3, r2 809579c: 00db lsls r3, r3, #3 809579e: 1a9b subs r3, r3, r2 80957a0: 00db lsls r3, r3, #3 80957a2: 3308 adds r3, #8 80957a4: 4a7f ldr r2, [pc, #508] ; (80959a4 ) 80957a6: 4413 add r3, r2 80957a8: 1d18 adds r0, r3, #4 80957aa: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 80957ae: 4613 mov r3, r2 80957b0: 009b lsls r3, r3, #2 80957b2: 4413 add r3, r2 80957b4: 00db lsls r3, r3, #3 80957b6: 461a mov r2, r3 80957b8: 4b7c ldr r3, [pc, #496] ; (80959ac ) 80957ba: 4413 add r3, r2 80957bc: 4619 mov r1, r3 80957be: f78a fd9f bl 8020300 80957c2: 4603 mov r3, r0 80957c4: 2b00 cmp r3, #0 80957c6: d107 bne.n 80957d8 LCD_SetColors(LCD_COLOR_GREEN, j); 80957c8: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 80957cc: 4619 mov r1, r3 80957ce: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80957d2: f7bd ffeb bl 80537ac break; 80957d6: e009 b.n 80957ec for(k = 0; k < MAX_CHECKED_FILES; k++) 80957d8: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80957dc: 3301 adds r3, #1 80957de: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 80957e2: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80957e6: f5b3 7f00 cmp.w r3, #512 ; 0x200 80957ea: d3d4 bcc.n 8095796 BSP_LCD_DisplayStringAt(5, POS_Y_12[i], (char *) ExplorerFiles[i].fname, LEFT_MODE); 80957ec: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80957f0: 4a6a ldr r2, [pc, #424] ; (809599c ) 80957f2: f832 1013 ldrh.w r1, [r2, r3, lsl #1] 80957f6: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 80957fa: 4613 mov r3, r2 80957fc: 00db lsls r3, r3, #3 80957fe: 1a9b subs r3, r3, r2 8095800: 00db lsls r3, r3, #3 8095802: 3308 adds r3, #8 8095804: 4a67 ldr r2, [pc, #412] ; (80959a4 ) 8095806: 4413 add r3, r2 8095808: 1d1a adds r2, r3, #4 809580a: 2303 movs r3, #3 809580c: 2005 movs r0, #5 809580e: f7be f893 bl 8053938 for(i = 0; i < VIEW_FILES; i++) 8095812: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8095816: 3301 adds r3, #1 8095818: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 809581c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8095820: 2b0b cmp r3, #11 8095822: f67f af7c bls.w 809571e if(NumFilesCSV > VIEW_FILES) 8095826: 4b62 ldr r3, [pc, #392] ; (80959b0 ) 8095828: 681b ldr r3, [r3, #0] 809582a: 2b0c cmp r3, #12 809582c: d95f bls.n 80958ee k = (140 * VIEW_FILES) / NumFilesCSV; //äëèíà ïîëçóíêà 809582e: 4b60 ldr r3, [pc, #384] ; (80959b0 ) 8095830: 681b ldr r3, [r3, #0] 8095832: f44f 62d2 mov.w r2, #1680 ; 0x690 8095836: fbb2 f3f3 udiv r3, r2, r3 809583a: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 f = (float32_t) (140 * FirstFileIndex); 809583e: 4b5d ldr r3, [pc, #372] ; (80959b4 ) 8095840: 681b ldr r3, [r3, #0] 8095842: 228c movs r2, #140 ; 0x8c 8095844: fb02 f303 mul.w r3, r2, r3 8095848: ee07 3a90 vmov s15, r3 809584c: eef8 7a67 vcvt.f32.u32 s15, s15 8095850: f507 638b add.w r3, r7, #1112 ; 0x458 8095854: edc3 7a00 vstr s15, [r3] f = (f / (float32_t) NumFilesCSV) + 96.0f; 8095858: 4b55 ldr r3, [pc, #340] ; (80959b0 ) 809585a: 681b ldr r3, [r3, #0] 809585c: ee07 3a90 vmov s15, r3 8095860: eeb8 7a67 vcvt.f32.u32 s14, s15 8095864: f507 638b add.w r3, r7, #1112 ; 0x458 8095868: edd3 6a00 vldr s13, [r3] 809586c: eec6 7a87 vdiv.f32 s15, s13, s14 8095870: ed9f 7a51 vldr s14, [pc, #324] ; 80959b8 8095874: ee77 7a87 vadd.f32 s15, s15, s14 8095878: f507 638b add.w r3, r7, #1112 ; 0x458 809587c: edc3 7a00 vstr s15, [r3] y0 = (uint16_t) f; //âåðõíÿÿ êîîðäèíàòà ïîëçóíêà 8095880: f507 638b add.w r3, r7, #1112 ; 0x458 8095884: edd3 7a00 vldr s15, [r3] 8095888: eefc 7ae7 vcvt.u32.f32 s15, s15 809588c: edc7 7a01 vstr s15, [r7, #4] 8095890: 88bb ldrh r3, [r7, #4] 8095892: f8a7 343c strh.w r3, [r7, #1084] ; 0x43c y1 = y0 + k; 8095896: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 809589a: b29a uxth r2, r3 809589c: f8b7 343c ldrh.w r3, [r7, #1084] ; 0x43c 80958a0: 4413 add r3, r2 80958a2: f8a7 343a strh.w r3, [r7, #1082] ; 0x43a if(y1 > 236) 80958a6: f8b7 343a ldrh.w r3, [r7, #1082] ; 0x43a 80958aa: 2bec cmp r3, #236 ; 0xec 80958ac: d905 bls.n 80958ba k = 236 - y0; 80958ae: f8b7 343c ldrh.w r3, [r7, #1084] ; 0x43c 80958b2: f1c3 03ec rsb r3, r3, #236 ; 0xec 80958b6: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 80958ba: 4932 ldr r1, [pc, #200] ; (8095984 ) 80958bc: 483f ldr r0, [pc, #252] ; (80959bc ) 80958be: f7bd ff75 bl 80537ac BSP_LCD_DrawRect(314, 94, 5, 143); 80958c2: 238f movs r3, #143 ; 0x8f 80958c4: 2205 movs r2, #5 80958c6: 215e movs r1, #94 ; 0x5e 80958c8: f44f 709d mov.w r0, #314 ; 0x13a 80958cc: f7be fa74 bl 8053db8 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80958d0: 492c ldr r1, [pc, #176] ; (8095984 ) 80958d2: f04f 30ff mov.w r0, #4294967295 80958d6: f7bd ff69 bl 80537ac BSP_LCD_FillRect(316, y0, 2, k); 80958da: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80958de: b29b uxth r3, r3 80958e0: f8b7 143c ldrh.w r1, [r7, #1084] ; 0x43c 80958e4: 2202 movs r2, #2 80958e6: f44f 709e mov.w r0, #316 ; 0x13c 80958ea: f7be fbed bl 80540c8 if((menupos != NoFilesCSV) && (menupos != FilesCSV)) 80958ee: 4b23 ldr r3, [pc, #140] ; (809597c ) 80958f0: 781b ldrb r3, [r3, #0] 80958f2: b2db uxtb r3, r3 80958f4: 2b01 cmp r3, #1 80958f6: f001 867a beq.w 80975ee 80958fa: 4b20 ldr r3, [pc, #128] ; (809597c ) 80958fc: 781b ldrb r3, [r3, #0] 80958fe: b2db uxtb r3, r3 8095900: 2b02 cmp r3, #2 8095902: f001 8674 beq.w 80975ee LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 8095906: 491f ldr r1, [pc, #124] ; (8095984 ) 8095908: 482c ldr r0, [pc, #176] ; (80959bc ) 809590a: f7bd ff4f bl 80537ac BSP_LCD_FillRect(60, 73, 200, 124); 809590e: 237c movs r3, #124 ; 0x7c 8095910: 22c8 movs r2, #200 ; 0xc8 8095912: 2149 movs r1, #73 ; 0x49 8095914: 203c movs r0, #60 ; 0x3c 8095916: f7be fbd7 bl 80540c8 LCD_SetColors(LCD_COLOR_BLACK, LCD_COLOR_BLACK); 809591a: 491a ldr r1, [pc, #104] ; (8095984 ) 809591c: 4819 ldr r0, [pc, #100] ; (8095984 ) 809591e: f7bd ff45 bl 80537ac BSP_LCD_FillRect(61, 74, 198, 122); 8095922: 237a movs r3, #122 ; 0x7a 8095924: 22c6 movs r2, #198 ; 0xc6 8095926: 214a movs r1, #74 ; 0x4a 8095928: 203d movs r0, #61 ; 0x3d 809592a: f7be fbcd bl 80540c8 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 809592e: 4915 ldr r1, [pc, #84] ; (8095984 ) 8095930: f04f 30ff mov.w r0, #4294967295 8095934: f7bd ff3a bl 80537ac BSP_LCD_SetFont(&Font12); 8095938: 4811 ldr r0, [pc, #68] ; (8095980 ) 809593a: f7bd ff73 bl 8053824 if((menupos == UpNo) || (menupos == UpYes)) 809593e: 4b0f ldr r3, [pc, #60] ; (809597c ) 8095940: 781b ldrb r3, [r3, #0] 8095942: b2db uxtb r3, r3 8095944: 2b06 cmp r3, #6 8095946: d005 beq.n 8095954 8095948: 4b0c ldr r3, [pc, #48] ; (809597c ) 809594a: 781b ldrb r3, [r3, #0] 809594c: b2db uxtb r3, r3 809594e: 2b07 cmp r3, #7 8095950: f040 80a2 bne.w 8095a98 if(pardata.LANG == RUS) 8095954: 4b0c ldr r3, [pc, #48] ; (8095988 ) 8095956: 7b1b ldrb r3, [r3, #12] 8095958: b2db uxtb r3, r3 809595a: 2b00 cmp r3, #0 809595c: d134 bne.n 80959c8 BSP_LCD_DisplayStringAt(160, 111, "Âûáðàííûå ôàéëû áóäóò", CENTER_MODE); 809595e: 2301 movs r3, #1 8095960: 4a17 ldr r2, [pc, #92] ; (80959c0 ) 8095962: 216f movs r1, #111 ; 0x6f 8095964: 20a0 movs r0, #160 ; 0xa0 8095966: f7bd ffe7 bl 8053938 BSP_LCD_DisplayStringAt(160, 111+15, "óäàëåíû. Ïðîäîëæèòü?", CENTER_MODE); 809596a: 2301 movs r3, #1 809596c: 4a15 ldr r2, [pc, #84] ; (80959c4 ) 809596e: 217e movs r1, #126 ; 0x7e 8095970: 20a0 movs r0, #160 ; 0xa0 8095972: f7bd ffe1 bl 8053938 8095976: e033 b.n 80959e0 8095978: 0811fc60 .word 0x0811fc60 809597c: 20020070 .word 0x20020070 8095980: 20020038 .word 0x20020038 8095984: ff0a0f1f .word 0xff0a0f1f 8095988: 20023e60 .word 0x20023e60 809598c: 080d0438 .word 0x080d0438 8095990: 080d0388 .word 0x080d0388 8095994: 20020de0 .word 0x20020de0 8095998: ff606060 .word 0xff606060 809599c: 080ef4a0 .word 0x080ef4a0 80959a0: 20025d24 .word 0x20025d24 80959a4: 20022350 .word 0x20022350 80959a8: 20020e0c .word 0x20020e0c 80959ac: 6404b000 .word 0x6404b000 80959b0: 20020e08 .word 0x20020e08 80959b4: 20020de4 .word 0x20020de4 80959b8: 42c00000 .word 0x42c00000 80959bc: ffd3d3d3 .word 0xffd3d3d3 80959c0: 080d0450 .word 0x080d0450 80959c4: 080d0218 .word 0x080d0218 BSP_LCD_DisplayStringAt(160, 111, "The selected files will", CENTER_MODE); 80959c8: 2301 movs r3, #1 80959ca: 4ac8 ldr r2, [pc, #800] ; (8095cec ) 80959cc: 216f movs r1, #111 ; 0x6f 80959ce: 20a0 movs r0, #160 ; 0xa0 80959d0: f7bd ffb2 bl 8053938 BSP_LCD_DisplayStringAt(160, 111+15, "be deleted. Continue?", CENTER_MODE); 80959d4: 2301 movs r3, #1 80959d6: 4ac6 ldr r2, [pc, #792] ; (8095cf0 ) 80959d8: 217e movs r1, #126 ; 0x7e 80959da: 20a0 movs r0, #160 ; 0xa0 80959dc: f7bd ffac bl 8053938 if(menupos == UpNo) 80959e0: 4bc4 ldr r3, [pc, #784] ; (8095cf4 ) 80959e2: 781b ldrb r3, [r3, #0] 80959e4: b2db uxtb r3, r3 80959e6: 2b06 cmp r3, #6 80959e8: d128 bne.n 8095a3c if(pardata.LANG == RUS) 80959ea: 4bc3 ldr r3, [pc, #780] ; (8095cf8 ) 80959ec: 7b1b ldrb r3, [r3, #12] 80959ee: b2db uxtb r3, r3 80959f0: 2b00 cmp r3, #0 80959f2: d111 bne.n 8095a18 BSP_LCD_DisplayStringAt(230, 175, "ÄÀ", CENTER_MODE); 80959f4: 2301 movs r3, #1 80959f6: 4ac1 ldr r2, [pc, #772] ; (8095cfc ) 80959f8: 21af movs r1, #175 ; 0xaf 80959fa: 20e6 movs r0, #230 ; 0xe6 80959fc: f7bd ff9c bl 8053938 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8095a00: 49bf ldr r1, [pc, #764] ; (8095d00 ) 8095a02: f04f 30ff mov.w r0, #4294967295 8095a06: f7bd fed1 bl 80537ac BSP_LCD_DisplayStringAt(90, 175, "ÍÅÒ", CENTER_MODE); 8095a0a: 2301 movs r3, #1 8095a0c: 4abd ldr r2, [pc, #756] ; (8095d04 ) 8095a0e: 21af movs r1, #175 ; 0xaf 8095a10: 205a movs r0, #90 ; 0x5a 8095a12: f7bd ff91 bl 8053938 if(menupos == UpNo) 8095a16: e088 b.n 8095b2a BSP_LCD_DisplayStringAt(230, 175, "YES", CENTER_MODE); 8095a18: 2301 movs r3, #1 8095a1a: 4abb ldr r2, [pc, #748] ; (8095d08 ) 8095a1c: 21af movs r1, #175 ; 0xaf 8095a1e: 20e6 movs r0, #230 ; 0xe6 8095a20: f7bd ff8a bl 8053938 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8095a24: 49b6 ldr r1, [pc, #728] ; (8095d00 ) 8095a26: f04f 30ff mov.w r0, #4294967295 8095a2a: f7bd febf bl 80537ac BSP_LCD_DisplayStringAt(90, 175, "NO", CENTER_MODE); 8095a2e: 2301 movs r3, #1 8095a30: 4ab6 ldr r2, [pc, #728] ; (8095d0c ) 8095a32: 21af movs r1, #175 ; 0xaf 8095a34: 205a movs r0, #90 ; 0x5a 8095a36: f7bd ff7f bl 8053938 if(menupos == UpNo) 8095a3a: e076 b.n 8095b2a if(menupos == UpYes) 8095a3c: 4bad ldr r3, [pc, #692] ; (8095cf4 ) 8095a3e: 781b ldrb r3, [r3, #0] 8095a40: b2db uxtb r3, r3 8095a42: 2b07 cmp r3, #7 8095a44: d171 bne.n 8095b2a if(pardata.LANG == RUS) 8095a46: 4bac ldr r3, [pc, #688] ; (8095cf8 ) 8095a48: 7b1b ldrb r3, [r3, #12] 8095a4a: b2db uxtb r3, r3 8095a4c: 2b00 cmp r3, #0 8095a4e: d111 bne.n 8095a74 BSP_LCD_DisplayStringAt(90, 175, "ÍÅÒ", CENTER_MODE); 8095a50: 2301 movs r3, #1 8095a52: 4aac ldr r2, [pc, #688] ; (8095d04 ) 8095a54: 21af movs r1, #175 ; 0xaf 8095a56: 205a movs r0, #90 ; 0x5a 8095a58: f7bd ff6e bl 8053938 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8095a5c: 49a8 ldr r1, [pc, #672] ; (8095d00 ) 8095a5e: f04f 30ff mov.w r0, #4294967295 8095a62: f7bd fea3 bl 80537ac BSP_LCD_DisplayStringAt(230, 175, "ÄÀ", CENTER_MODE); 8095a66: 2301 movs r3, #1 8095a68: 4aa4 ldr r2, [pc, #656] ; (8095cfc ) 8095a6a: 21af movs r1, #175 ; 0xaf 8095a6c: 20e6 movs r0, #230 ; 0xe6 8095a6e: f7bd ff63 bl 8053938 if(menupos == UpNo) 8095a72: e05a b.n 8095b2a BSP_LCD_DisplayStringAt(90, 175, "NO", CENTER_MODE); 8095a74: 2301 movs r3, #1 8095a76: 4aa5 ldr r2, [pc, #660] ; (8095d0c ) 8095a78: 21af movs r1, #175 ; 0xaf 8095a7a: 205a movs r0, #90 ; 0x5a 8095a7c: f7bd ff5c bl 8053938 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8095a80: 499f ldr r1, [pc, #636] ; (8095d00 ) 8095a82: f04f 30ff mov.w r0, #4294967295 8095a86: f7bd fe91 bl 80537ac BSP_LCD_DisplayStringAt(230, 175, "YES", CENTER_MODE); 8095a8a: 2301 movs r3, #1 8095a8c: 4a9e ldr r2, [pc, #632] ; (8095d08 ) 8095a8e: 21af movs r1, #175 ; 0xaf 8095a90: 20e6 movs r0, #230 ; 0xe6 8095a92: f7bd ff51 bl 8053938 if(menupos == UpNo) 8095a96: e048 b.n 8095b2a if(menupos == CleanUpResult) 8095a98: 4b96 ldr r3, [pc, #600] ; (8095cf4 ) 8095a9a: 781b ldrb r3, [r3, #0] 8095a9c: b2db uxtb r3, r3 8095a9e: 2b0a cmp r3, #10 8095aa0: f041 85a5 bne.w 80975ee if(CleanStatus == AP_OK) 8095aa4: 4b9a ldr r3, [pc, #616] ; (8095d10 ) 8095aa6: 781b ldrb r3, [r3, #0] 8095aa8: b2db uxtb r3, r3 8095aaa: 2b00 cmp r3, #0 8095aac: d118 bne.n 8095ae0 if(pardata.LANG == RUS) 8095aae: 4b92 ldr r3, [pc, #584] ; (8095cf8 ) 8095ab0: 7b1b ldrb r3, [r3, #12] 8095ab2: b2db uxtb r3, r3 8095ab4: 2b00 cmp r3, #0 8095ab6: d10c bne.n 8095ad2 BSP_LCD_DisplayStringAt(160, 111, "Óäàëåíèå çàâåðøåíî", CENTER_MODE); 8095ab8: 2301 movs r3, #1 8095aba: 4a96 ldr r2, [pc, #600] ; (8095d14 ) 8095abc: 216f movs r1, #111 ; 0x6f 8095abe: 20a0 movs r0, #160 ; 0xa0 8095ac0: f7bd ff3a bl 8053938 BSP_LCD_DisplayStringAt(160, 111+15, "óñïåøíî!", CENTER_MODE); 8095ac4: 2301 movs r3, #1 8095ac6: 4a94 ldr r2, [pc, #592] ; (8095d18 ) 8095ac8: 217e movs r1, #126 ; 0x7e 8095aca: 20a0 movs r0, #160 ; 0xa0 8095acc: f7bd ff34 bl 8053938 8095ad0: e01e b.n 8095b10 BSP_LCD_DisplayStringAt(160, 111+15, "Deleting successful!", CENTER_MODE); 8095ad2: 2301 movs r3, #1 8095ad4: 4a91 ldr r2, [pc, #580] ; (8095d1c ) 8095ad6: 217e movs r1, #126 ; 0x7e 8095ad8: 20a0 movs r0, #160 ; 0xa0 8095ada: f7bd ff2d bl 8053938 8095ade: e017 b.n 8095b10 if(pardata.LANG == RUS) 8095ae0: 4b85 ldr r3, [pc, #532] ; (8095cf8 ) 8095ae2: 7b1b ldrb r3, [r3, #12] 8095ae4: b2db uxtb r3, r3 8095ae6: 2b00 cmp r3, #0 8095ae8: d10c bne.n 8095b04 BSP_LCD_DisplayStringAt(160, 111, "Îøèáêà â ïðîöåññå", CENTER_MODE); 8095aea: 2301 movs r3, #1 8095aec: 4a8c ldr r2, [pc, #560] ; (8095d20 ) 8095aee: 216f movs r1, #111 ; 0x6f 8095af0: 20a0 movs r0, #160 ; 0xa0 8095af2: f7bd ff21 bl 8053938 BSP_LCD_DisplayStringAt(160, 111+15, "óäàëåíèÿ...", CENTER_MODE); 8095af6: 2301 movs r3, #1 8095af8: 4a8a ldr r2, [pc, #552] ; (8095d24 ) 8095afa: 217e movs r1, #126 ; 0x7e 8095afc: 20a0 movs r0, #160 ; 0xa0 8095afe: f7bd ff1b bl 8053938 8095b02: e005 b.n 8095b10 BSP_LCD_DisplayStringAt(160, 111+15, "Deleting error!", CENTER_MODE); 8095b04: 2301 movs r3, #1 8095b06: 4a88 ldr r2, [pc, #544] ; (8095d28 ) 8095b08: 217e movs r1, #126 ; 0x7e 8095b0a: 20a0 movs r0, #160 ; 0xa0 8095b0c: f7bd ff14 bl 8053938 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8095b10: 497b ldr r1, [pc, #492] ; (8095d00 ) 8095b12: f04f 30ff mov.w r0, #4294967295 8095b16: f7bd fe49 bl 80537ac BSP_LCD_DisplayStringAt(160, 175, "OK", CENTER_MODE); 8095b1a: 2301 movs r3, #1 8095b1c: 4a83 ldr r2, [pc, #524] ; (8095d2c ) 8095b1e: 21af movs r1, #175 ; 0xaf 8095b20: 20a0 movs r0, #160 ; 0xa0 8095b22: f7bd ff09 bl 8053938 break; 8095b26: f001 bd62 b.w 80975ee if(menupos == UpNo) 8095b2a: bf00 nop break; 8095b2c: f001 bd5f b.w 80975ee /******************************************************************************************************************************/ case CALIBR_00: // Êàëèáðîâêà 0, ââîä ñåðèéíîãî íîìåðà LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8095b30: 497f ldr r1, [pc, #508] ; (8095d30 ) 8095b32: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8095b36: f7bd fe39 bl 80537ac LCD_DisplayStringC(165, 40, "ÊÀËÈÁÐÎÂÊÀ"); 8095b3a: 4a7e ldr r2, [pc, #504] ; (8095d34 ) 8095b3c: 2128 movs r1, #40 ; 0x28 8095b3e: 20a5 movs r0, #165 ; 0xa5 8095b40: f7be fbf4 bl 805432c BSP_LCD_DrawLine(2, 59, 317, 59); 8095b44: 233b movs r3, #59 ; 0x3b 8095b46: f240 123d movw r2, #317 ; 0x13d 8095b4a: 213b movs r1, #59 ; 0x3b 8095b4c: 2002 movs r0, #2 8095b4e: f7be f867 bl 8053c20 BSP_LCD_SetFont(&Font12); 8095b52: 4879 ldr r0, [pc, #484] ; (8095d38 ) 8095b54: f7bd fe66 bl 8053824 BSP_LCD_DisplayStringAt(310, 36, "[1 / 13]", RIGHT_MODE); 8095b58: 2302 movs r3, #2 8095b5a: 4a78 ldr r2, [pc, #480] ; (8095d3c ) 8095b5c: 2124 movs r1, #36 ; 0x24 8095b5e: f44f 709b mov.w r0, #310 ; 0x136 8095b62: f7bd fee9 bl 8053938 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8095b66: 4972 ldr r1, [pc, #456] ; (8095d30 ) 8095b68: f04f 30ff mov.w r0, #4294967295 8095b6c: f7bd fe1e bl 80537ac LCD_DisplayString(5, 70, "Ââåäèòå ñåðèéíûé íîìåð"); 8095b70: 4a73 ldr r2, [pc, #460] ; (8095d40 ) 8095b72: 2146 movs r1, #70 ; 0x46 8095b74: 2005 movs r0, #5 8095b76: f7be fbc1 bl 80542fc LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_BLACK); 8095b7a: 496d ldr r1, [pc, #436] ; (8095d30 ) 8095b7c: f06f 00ff mvn.w r0, #255 ; 0xff 8095b80: f7bd fe14 bl 80537ac LCD_DisplayStringR(75, 40, (char *) FloatToASCII(Vbat, -3)); 8095b84: 4b6f ldr r3, [pc, #444] ; (8095d44 ) 8095b86: edd3 7a00 vldr s15, [r3] 8095b8a: f06f 0002 mvn.w r0, #2 8095b8e: eeb0 0a67 vmov.f32 s0, s15 8095b92: f7d0 fdb5 bl 8066700 8095b96: 4603 mov r3, r0 8095b98: 461a mov r2, r3 8095b9a: 2128 movs r1, #40 ; 0x28 8095b9c: 204b movs r0, #75 ; 0x4b 8095b9e: f7be fbdd bl 805435c str[1] = '\0'; 8095ba2: f507 733b add.w r3, r7, #748 ; 0x2ec 8095ba6: 2200 movs r2, #0 8095ba8: 705a strb r2, [r3, #1] switch(menupos) 8095baa: 4b52 ldr r3, [pc, #328] ; (8095cf4 ) 8095bac: 781b ldrb r3, [r3, #0] 8095bae: b2db uxtb r3, r3 8095bb0: 2b04 cmp r3, #4 8095bb2: f201 851e bhi.w 80975f2 8095bb6: a201 add r2, pc, #4 ; (adr r2, 8095bbc ) 8095bb8: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8095bbc: 08095bd1 .word 0x08095bd1 8095bc0: 08095c5f .word 0x08095c5f 8095bc4: 08095d4d .word 0x08095d4d 8095bc8: 08095ddb .word 0x08095ddb 8095bcc: 08095e69 .word 0x08095e69 { case 0: LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_CURSOR); 8095bd0: 494b ldr r1, [pc, #300] ; (8095d00 ) 8095bd2: f06f 00ff mvn.w r0, #255 ; 0xff 8095bd6: f7bd fde9 bl 80537ac str[0] = Serial[0]; LCD_DisplayString(120, 110, str); 8095bda: 4b5b ldr r3, [pc, #364] ; (8095d48 ) 8095bdc: 781a ldrb r2, [r3, #0] 8095bde: f507 733b add.w r3, r7, #748 ; 0x2ec 8095be2: 701a strb r2, [r3, #0] 8095be4: f507 733b add.w r3, r7, #748 ; 0x2ec 8095be8: 461a mov r2, r3 8095bea: 216e movs r1, #110 ; 0x6e 8095bec: 2078 movs r0, #120 ; 0x78 8095bee: f7be fb85 bl 80542fc LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_BLACK); 8095bf2: 494f ldr r1, [pc, #316] ; (8095d30 ) 8095bf4: f06f 00ff mvn.w r0, #255 ; 0xff 8095bf8: f7bd fdd8 bl 80537ac str[0] = Serial[1]; LCD_DisplayString(140, 110, str); 8095bfc: 4b52 ldr r3, [pc, #328] ; (8095d48 ) 8095bfe: 785a ldrb r2, [r3, #1] 8095c00: f507 733b add.w r3, r7, #748 ; 0x2ec 8095c04: 701a strb r2, [r3, #0] 8095c06: f507 733b add.w r3, r7, #748 ; 0x2ec 8095c0a: 461a mov r2, r3 8095c0c: 216e movs r1, #110 ; 0x6e 8095c0e: 208c movs r0, #140 ; 0x8c 8095c10: f7be fb74 bl 80542fc str[0] = Serial[2]; LCD_DisplayString(160, 110, str); 8095c14: 4b4c ldr r3, [pc, #304] ; (8095d48 ) 8095c16: 789a ldrb r2, [r3, #2] 8095c18: f507 733b add.w r3, r7, #748 ; 0x2ec 8095c1c: 701a strb r2, [r3, #0] 8095c1e: f507 733b add.w r3, r7, #748 ; 0x2ec 8095c22: 461a mov r2, r3 8095c24: 216e movs r1, #110 ; 0x6e 8095c26: 20a0 movs r0, #160 ; 0xa0 8095c28: f7be fb68 bl 80542fc str[0] = Serial[3]; LCD_DisplayString(180, 110, str); 8095c2c: 4b46 ldr r3, [pc, #280] ; (8095d48 ) 8095c2e: 78da ldrb r2, [r3, #3] 8095c30: f507 733b add.w r3, r7, #748 ; 0x2ec 8095c34: 701a strb r2, [r3, #0] 8095c36: f507 733b add.w r3, r7, #748 ; 0x2ec 8095c3a: 461a mov r2, r3 8095c3c: 216e movs r1, #110 ; 0x6e 8095c3e: 20b4 movs r0, #180 ; 0xb4 8095c40: f7be fb5c bl 80542fc str[0] = Serial[4]; LCD_DisplayString(200, 110, str); 8095c44: 4b40 ldr r3, [pc, #256] ; (8095d48 ) 8095c46: 791a ldrb r2, [r3, #4] 8095c48: f507 733b add.w r3, r7, #748 ; 0x2ec 8095c4c: 701a strb r2, [r3, #0] 8095c4e: f507 733b add.w r3, r7, #748 ; 0x2ec 8095c52: 461a mov r2, r3 8095c54: 216e movs r1, #110 ; 0x6e 8095c56: 20c8 movs r0, #200 ; 0xc8 8095c58: f7be fb50 bl 80542fc break; 8095c5c: e14b b.n 8095ef6 case 1: LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_CURSOR); 8095c5e: 4928 ldr r1, [pc, #160] ; (8095d00 ) 8095c60: f06f 00ff mvn.w r0, #255 ; 0xff 8095c64: f7bd fda2 bl 80537ac str[0] = Serial[1]; LCD_DisplayString(140, 110, str); 8095c68: 4b37 ldr r3, [pc, #220] ; (8095d48 ) 8095c6a: 785a ldrb r2, [r3, #1] 8095c6c: f507 733b add.w r3, r7, #748 ; 0x2ec 8095c70: 701a strb r2, [r3, #0] 8095c72: f507 733b add.w r3, r7, #748 ; 0x2ec 8095c76: 461a mov r2, r3 8095c78: 216e movs r1, #110 ; 0x6e 8095c7a: 208c movs r0, #140 ; 0x8c 8095c7c: f7be fb3e bl 80542fc LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_BLACK); 8095c80: 492b ldr r1, [pc, #172] ; (8095d30 ) 8095c82: f06f 00ff mvn.w r0, #255 ; 0xff 8095c86: f7bd fd91 bl 80537ac str[0] = Serial[0]; LCD_DisplayString(120, 110, str); 8095c8a: 4b2f ldr r3, [pc, #188] ; (8095d48 ) 8095c8c: 781a ldrb r2, [r3, #0] 8095c8e: f507 733b add.w r3, r7, #748 ; 0x2ec 8095c92: 701a strb r2, [r3, #0] 8095c94: f507 733b add.w r3, r7, #748 ; 0x2ec 8095c98: 461a mov r2, r3 8095c9a: 216e movs r1, #110 ; 0x6e 8095c9c: 2078 movs r0, #120 ; 0x78 8095c9e: f7be fb2d bl 80542fc str[0] = Serial[2]; LCD_DisplayString(160, 110, str); 8095ca2: 4b29 ldr r3, [pc, #164] ; (8095d48 ) 8095ca4: 789a ldrb r2, [r3, #2] 8095ca6: f507 733b add.w r3, r7, #748 ; 0x2ec 8095caa: 701a strb r2, [r3, #0] 8095cac: f507 733b add.w r3, r7, #748 ; 0x2ec 8095cb0: 461a mov r2, r3 8095cb2: 216e movs r1, #110 ; 0x6e 8095cb4: 20a0 movs r0, #160 ; 0xa0 8095cb6: f7be fb21 bl 80542fc str[0] = Serial[3]; LCD_DisplayString(180, 110, str); 8095cba: 4b23 ldr r3, [pc, #140] ; (8095d48 ) 8095cbc: 78da ldrb r2, [r3, #3] 8095cbe: f507 733b add.w r3, r7, #748 ; 0x2ec 8095cc2: 701a strb r2, [r3, #0] 8095cc4: f507 733b add.w r3, r7, #748 ; 0x2ec 8095cc8: 461a mov r2, r3 8095cca: 216e movs r1, #110 ; 0x6e 8095ccc: 20b4 movs r0, #180 ; 0xb4 8095cce: f7be fb15 bl 80542fc str[0] = Serial[4]; LCD_DisplayString(200, 110, str); 8095cd2: 4b1d ldr r3, [pc, #116] ; (8095d48 ) 8095cd4: 791a ldrb r2, [r3, #4] 8095cd6: f507 733b add.w r3, r7, #748 ; 0x2ec 8095cda: 701a strb r2, [r3, #0] 8095cdc: f507 733b add.w r3, r7, #748 ; 0x2ec 8095ce0: 461a mov r2, r3 8095ce2: 216e movs r1, #110 ; 0x6e 8095ce4: 20c8 movs r0, #200 ; 0xc8 8095ce6: f7be fb09 bl 80542fc break; 8095cea: e104 b.n 8095ef6 8095cec: 080d0468 .word 0x080d0468 8095cf0: 080d0248 .word 0x080d0248 8095cf4: 20020070 .word 0x20020070 8095cf8: 20023e60 .word 0x20023e60 8095cfc: 080d0260 .word 0x080d0260 8095d00: ff606060 .word 0xff606060 8095d04: 080d0264 .word 0x080d0264 8095d08: 080d0268 .word 0x080d0268 8095d0c: 080d026c .word 0x080d026c 8095d10: 20020dd0 .word 0x20020dd0 8095d14: 080d0270 .word 0x080d0270 8095d18: 080cfff8 .word 0x080cfff8 8095d1c: 080d0284 .word 0x080d0284 8095d20: 080d0004 .word 0x080d0004 8095d24: 080d029c .word 0x080d029c 8095d28: 080d02a8 .word 0x080d02a8 8095d2c: 080d02b8 .word 0x080d02b8 8095d30: ff0a0f1f .word 0xff0a0f1f 8095d34: 080d0480 .word 0x080d0480 8095d38: 20020038 .word 0x20020038 8095d3c: 080d048c .word 0x080d048c 8095d40: 080d0498 .word 0x080d0498 8095d44: 20020000 .word 0x20020000 8095d48: 20026d04 .word 0x20026d04 case 2: LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_CURSOR); 8095d4c: 49cf ldr r1, [pc, #828] ; (809608c ) 8095d4e: f06f 00ff mvn.w r0, #255 ; 0xff 8095d52: f7bd fd2b bl 80537ac str[0] = Serial[2]; LCD_DisplayString(160, 110, str); 8095d56: 4bce ldr r3, [pc, #824] ; (8096090 ) 8095d58: 789a ldrb r2, [r3, #2] 8095d5a: f507 733b add.w r3, r7, #748 ; 0x2ec 8095d5e: 701a strb r2, [r3, #0] 8095d60: f507 733b add.w r3, r7, #748 ; 0x2ec 8095d64: 461a mov r2, r3 8095d66: 216e movs r1, #110 ; 0x6e 8095d68: 20a0 movs r0, #160 ; 0xa0 8095d6a: f7be fac7 bl 80542fc LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_BLACK); 8095d6e: 49c9 ldr r1, [pc, #804] ; (8096094 ) 8095d70: f06f 00ff mvn.w r0, #255 ; 0xff 8095d74: f7bd fd1a bl 80537ac str[0] = Serial[0]; LCD_DisplayString(120, 110, str); 8095d78: 4bc5 ldr r3, [pc, #788] ; (8096090 ) 8095d7a: 781a ldrb r2, [r3, #0] 8095d7c: f507 733b add.w r3, r7, #748 ; 0x2ec 8095d80: 701a strb r2, [r3, #0] 8095d82: f507 733b add.w r3, r7, #748 ; 0x2ec 8095d86: 461a mov r2, r3 8095d88: 216e movs r1, #110 ; 0x6e 8095d8a: 2078 movs r0, #120 ; 0x78 8095d8c: f7be fab6 bl 80542fc str[0] = Serial[1]; LCD_DisplayString(140, 110, str); 8095d90: 4bbf ldr r3, [pc, #764] ; (8096090 ) 8095d92: 785a ldrb r2, [r3, #1] 8095d94: f507 733b add.w r3, r7, #748 ; 0x2ec 8095d98: 701a strb r2, [r3, #0] 8095d9a: f507 733b add.w r3, r7, #748 ; 0x2ec 8095d9e: 461a mov r2, r3 8095da0: 216e movs r1, #110 ; 0x6e 8095da2: 208c movs r0, #140 ; 0x8c 8095da4: f7be faaa bl 80542fc str[0] = Serial[3]; LCD_DisplayString(180, 110, str); 8095da8: 4bb9 ldr r3, [pc, #740] ; (8096090 ) 8095daa: 78da ldrb r2, [r3, #3] 8095dac: f507 733b add.w r3, r7, #748 ; 0x2ec 8095db0: 701a strb r2, [r3, #0] 8095db2: f507 733b add.w r3, r7, #748 ; 0x2ec 8095db6: 461a mov r2, r3 8095db8: 216e movs r1, #110 ; 0x6e 8095dba: 20b4 movs r0, #180 ; 0xb4 8095dbc: f7be fa9e bl 80542fc str[0] = Serial[4]; LCD_DisplayString(200, 110, str); 8095dc0: 4bb3 ldr r3, [pc, #716] ; (8096090 ) 8095dc2: 791a ldrb r2, [r3, #4] 8095dc4: f507 733b add.w r3, r7, #748 ; 0x2ec 8095dc8: 701a strb r2, [r3, #0] 8095dca: f507 733b add.w r3, r7, #748 ; 0x2ec 8095dce: 461a mov r2, r3 8095dd0: 216e movs r1, #110 ; 0x6e 8095dd2: 20c8 movs r0, #200 ; 0xc8 8095dd4: f7be fa92 bl 80542fc break; 8095dd8: e08d b.n 8095ef6 case 3: LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_CURSOR); 8095dda: 49ac ldr r1, [pc, #688] ; (809608c ) 8095ddc: f06f 00ff mvn.w r0, #255 ; 0xff 8095de0: f7bd fce4 bl 80537ac str[0] = Serial[3]; LCD_DisplayString(180, 110, str); 8095de4: 4baa ldr r3, [pc, #680] ; (8096090 ) 8095de6: 78da ldrb r2, [r3, #3] 8095de8: f507 733b add.w r3, r7, #748 ; 0x2ec 8095dec: 701a strb r2, [r3, #0] 8095dee: f507 733b add.w r3, r7, #748 ; 0x2ec 8095df2: 461a mov r2, r3 8095df4: 216e movs r1, #110 ; 0x6e 8095df6: 20b4 movs r0, #180 ; 0xb4 8095df8: f7be fa80 bl 80542fc LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_BLACK); 8095dfc: 49a5 ldr r1, [pc, #660] ; (8096094 ) 8095dfe: f06f 00ff mvn.w r0, #255 ; 0xff 8095e02: f7bd fcd3 bl 80537ac str[0] = Serial[0]; LCD_DisplayString(120, 110, str); 8095e06: 4ba2 ldr r3, [pc, #648] ; (8096090 ) 8095e08: 781a ldrb r2, [r3, #0] 8095e0a: f507 733b add.w r3, r7, #748 ; 0x2ec 8095e0e: 701a strb r2, [r3, #0] 8095e10: f507 733b add.w r3, r7, #748 ; 0x2ec 8095e14: 461a mov r2, r3 8095e16: 216e movs r1, #110 ; 0x6e 8095e18: 2078 movs r0, #120 ; 0x78 8095e1a: f7be fa6f bl 80542fc str[0] = Serial[1]; LCD_DisplayString(140, 110, str); 8095e1e: 4b9c ldr r3, [pc, #624] ; (8096090 ) 8095e20: 785a ldrb r2, [r3, #1] 8095e22: f507 733b add.w r3, r7, #748 ; 0x2ec 8095e26: 701a strb r2, [r3, #0] 8095e28: f507 733b add.w r3, r7, #748 ; 0x2ec 8095e2c: 461a mov r2, r3 8095e2e: 216e movs r1, #110 ; 0x6e 8095e30: 208c movs r0, #140 ; 0x8c 8095e32: f7be fa63 bl 80542fc str[0] = Serial[2]; LCD_DisplayString(160, 110, str); 8095e36: 4b96 ldr r3, [pc, #600] ; (8096090 ) 8095e38: 789a ldrb r2, [r3, #2] 8095e3a: f507 733b add.w r3, r7, #748 ; 0x2ec 8095e3e: 701a strb r2, [r3, #0] 8095e40: f507 733b add.w r3, r7, #748 ; 0x2ec 8095e44: 461a mov r2, r3 8095e46: 216e movs r1, #110 ; 0x6e 8095e48: 20a0 movs r0, #160 ; 0xa0 8095e4a: f7be fa57 bl 80542fc str[0] = Serial[4]; LCD_DisplayString(200, 110, str); 8095e4e: 4b90 ldr r3, [pc, #576] ; (8096090 ) 8095e50: 791a ldrb r2, [r3, #4] 8095e52: f507 733b add.w r3, r7, #748 ; 0x2ec 8095e56: 701a strb r2, [r3, #0] 8095e58: f507 733b add.w r3, r7, #748 ; 0x2ec 8095e5c: 461a mov r2, r3 8095e5e: 216e movs r1, #110 ; 0x6e 8095e60: 20c8 movs r0, #200 ; 0xc8 8095e62: f7be fa4b bl 80542fc break; 8095e66: e046 b.n 8095ef6 case 4: LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_CURSOR); 8095e68: 4988 ldr r1, [pc, #544] ; (809608c ) 8095e6a: f06f 00ff mvn.w r0, #255 ; 0xff 8095e6e: f7bd fc9d bl 80537ac str[0] = Serial[4]; LCD_DisplayString(200, 110, str); 8095e72: 4b87 ldr r3, [pc, #540] ; (8096090 ) 8095e74: 791a ldrb r2, [r3, #4] 8095e76: f507 733b add.w r3, r7, #748 ; 0x2ec 8095e7a: 701a strb r2, [r3, #0] 8095e7c: f507 733b add.w r3, r7, #748 ; 0x2ec 8095e80: 461a mov r2, r3 8095e82: 216e movs r1, #110 ; 0x6e 8095e84: 20c8 movs r0, #200 ; 0xc8 8095e86: f7be fa39 bl 80542fc LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_BLACK); 8095e8a: 4982 ldr r1, [pc, #520] ; (8096094 ) 8095e8c: f06f 00ff mvn.w r0, #255 ; 0xff 8095e90: f7bd fc8c bl 80537ac str[0] = Serial[0]; LCD_DisplayString(120, 110, str); 8095e94: 4b7e ldr r3, [pc, #504] ; (8096090 ) 8095e96: 781a ldrb r2, [r3, #0] 8095e98: f507 733b add.w r3, r7, #748 ; 0x2ec 8095e9c: 701a strb r2, [r3, #0] 8095e9e: f507 733b add.w r3, r7, #748 ; 0x2ec 8095ea2: 461a mov r2, r3 8095ea4: 216e movs r1, #110 ; 0x6e 8095ea6: 2078 movs r0, #120 ; 0x78 8095ea8: f7be fa28 bl 80542fc str[0] = Serial[1]; LCD_DisplayString(140, 110, str); 8095eac: 4b78 ldr r3, [pc, #480] ; (8096090 ) 8095eae: 785a ldrb r2, [r3, #1] 8095eb0: f507 733b add.w r3, r7, #748 ; 0x2ec 8095eb4: 701a strb r2, [r3, #0] 8095eb6: f507 733b add.w r3, r7, #748 ; 0x2ec 8095eba: 461a mov r2, r3 8095ebc: 216e movs r1, #110 ; 0x6e 8095ebe: 208c movs r0, #140 ; 0x8c 8095ec0: f7be fa1c bl 80542fc str[0] = Serial[2]; LCD_DisplayString(160, 110, str); 8095ec4: 4b72 ldr r3, [pc, #456] ; (8096090 ) 8095ec6: 789a ldrb r2, [r3, #2] 8095ec8: f507 733b add.w r3, r7, #748 ; 0x2ec 8095ecc: 701a strb r2, [r3, #0] 8095ece: f507 733b add.w r3, r7, #748 ; 0x2ec 8095ed2: 461a mov r2, r3 8095ed4: 216e movs r1, #110 ; 0x6e 8095ed6: 20a0 movs r0, #160 ; 0xa0 8095ed8: f7be fa10 bl 80542fc str[0] = Serial[3]; LCD_DisplayString(180, 110, str); 8095edc: 4b6c ldr r3, [pc, #432] ; (8096090 ) 8095ede: 78da ldrb r2, [r3, #3] 8095ee0: f507 733b add.w r3, r7, #748 ; 0x2ec 8095ee4: 701a strb r2, [r3, #0] 8095ee6: f507 733b add.w r3, r7, #748 ; 0x2ec 8095eea: 461a mov r2, r3 8095eec: 216e movs r1, #110 ; 0x6e 8095eee: 20b4 movs r0, #180 ; 0xb4 8095ef0: f7be fa04 bl 80542fc break; 8095ef4: bf00 nop } break; 8095ef6: f001 bb7c b.w 80975f2 case CALIBR_0: /* Êàëèáðîâêà Êcorr[1] (ÇÀÐßÄ, Êâõ = 1, Êóñ = 1) */ LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8095efa: 4966 ldr r1, [pc, #408] ; (8096094 ) 8095efc: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8095f00: f7bd fc54 bl 80537ac LCD_DisplayStringC(165, 40, "ÊÀËÈÁÐÎÂÊÀ"); 8095f04: 4a64 ldr r2, [pc, #400] ; (8096098 ) 8095f06: 2128 movs r1, #40 ; 0x28 8095f08: 20a5 movs r0, #165 ; 0xa5 8095f0a: f7be fa0f bl 805432c BSP_LCD_DrawLine(2, 59, 317, 59); 8095f0e: 233b movs r3, #59 ; 0x3b 8095f10: f240 123d movw r2, #317 ; 0x13d 8095f14: 213b movs r1, #59 ; 0x3b 8095f16: 2002 movs r0, #2 8095f18: f7bd fe82 bl 8053c20 BSP_LCD_SetFont(&Font12); 8095f1c: 485f ldr r0, [pc, #380] ; (809609c ) 8095f1e: f7bd fc81 bl 8053824 BSP_LCD_DisplayStringAt(310, 36, "[2 / 13]", RIGHT_MODE); 8095f22: 2302 movs r3, #2 8095f24: 4a5e ldr r2, [pc, #376] ; (80960a0 ) 8095f26: 2124 movs r1, #36 ; 0x24 8095f28: f44f 709b mov.w r0, #310 ; 0x136 8095f2c: f7bd fd04 bl 8053938 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8095f30: 4958 ldr r1, [pc, #352] ; (8096094 ) 8095f32: f04f 30ff mov.w r0, #4294967295 8095f36: f7bd fc39 bl 80537ac LCD_DisplayString(5, 70, "[ICP 1] [Êó 1]"); 8095f3a: 4a5a ldr r2, [pc, #360] ; (80960a4 ) 8095f3c: 2146 movs r1, #70 ; 0x46 8095f3e: 2005 movs r0, #5 8095f40: f7be f9dc bl 80542fc LCD_DisplayString(5, 95, "Input:RMS=1024ìÂ,1êÃö"); 8095f44: 4a58 ldr r2, [pc, #352] ; (80960a8 ) 8095f46: 215f movs r1, #95 ; 0x5f 8095f48: 2005 movs r0, #5 8095f4a: f7be f9d7 bl 80542fc LCD_DisplayString(15, 145, "Output="); 8095f4e: 4a57 ldr r2, [pc, #348] ; (80960ac ) 8095f50: 2191 movs r1, #145 ; 0x91 8095f52: 200f movs r0, #15 8095f54: f7be f9d2 bl 80542fc LCD_DisplayString(15, 170, "Kcorr="); 8095f58: 4a55 ldr r2, [pc, #340] ; (80960b0 ) 8095f5a: 21aa movs r1, #170 ; 0xaa 8095f5c: 200f movs r0, #15 8095f5e: f7be f9cd bl 80542fc LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_BLACK); 8095f62: 494c ldr r1, [pc, #304] ; (8096094 ) 8095f64: f06f 00ff mvn.w r0, #255 ; 0xff 8095f68: f7bd fc20 bl 80537ac LCD_DisplayString(125, 145, (char *) FloatToASCII(skz[ACC], -4)); 8095f6c: 4b51 ldr r3, [pc, #324] ; (80960b4 ) 8095f6e: edd3 7a00 vldr s15, [r3] 8095f72: f06f 0003 mvn.w r0, #3 8095f76: eeb0 0a67 vmov.f32 s0, s15 8095f7a: f7d0 fbc1 bl 8066700 8095f7e: 4603 mov r3, r0 8095f80: 461a mov r2, r3 8095f82: 2191 movs r1, #145 ; 0x91 8095f84: 207d movs r0, #125 ; 0x7d 8095f86: f7be f9b9 bl 80542fc LCD_DisplayString(125, 170, (char *) FloatToASCII(Kcorr[menu - CALIBR_0], -8)); 8095f8a: 4b4b ldr r3, [pc, #300] ; (80960b8 ) 8095f8c: 781b ldrb r3, [r3, #0] 8095f8e: b2db uxtb r3, r3 8095f90: 3b35 subs r3, #53 ; 0x35 8095f92: 4a4a ldr r2, [pc, #296] ; (80960bc ) 8095f94: 009b lsls r3, r3, #2 8095f96: 4413 add r3, r2 8095f98: edd3 7a00 vldr s15, [r3] 8095f9c: f06f 0007 mvn.w r0, #7 8095fa0: eeb0 0a67 vmov.f32 s0, s15 8095fa4: f7d0 fbac bl 8066700 8095fa8: 4603 mov r3, r0 8095faa: 461a mov r2, r3 8095fac: 21aa movs r1, #170 ; 0xaa 8095fae: 207d movs r0, #125 ; 0x7d 8095fb0: f7be f9a4 bl 80542fc LCD_DisplayString(80, 40, "V"); 8095fb4: 4a42 ldr r2, [pc, #264] ; (80960c0 ) 8095fb6: 2128 movs r1, #40 ; 0x28 8095fb8: 2050 movs r0, #80 ; 0x50 8095fba: f7be f99f bl 80542fc LCD_DisplayStringR(75, 40, (char *) FloatToASCII(Vbat, -3)); 8095fbe: 4b41 ldr r3, [pc, #260] ; (80960c4 ) 8095fc0: edd3 7a00 vldr s15, [r3] 8095fc4: f06f 0002 mvn.w r0, #2 8095fc8: eeb0 0a67 vmov.f32 s0, s15 8095fcc: f7d0 fb98 bl 8066700 8095fd0: 4603 mov r3, r0 8095fd2: 461a mov r2, r3 8095fd4: 2128 movs r1, #40 ; 0x28 8095fd6: 204b movs r0, #75 ; 0x4b 8095fd8: f7be f9c0 bl 805435c switch(menupos) 8095fdc: 4b3a ldr r3, [pc, #232] ; (80960c8 ) 8095fde: 781b ldrb r3, [r3, #0] 8095fe0: b2db uxtb r3, r3 8095fe2: 2b01 cmp r3, #1 8095fe4: d02b beq.n 809603e 8095fe6: 2b02 cmp r3, #2 8095fe8: d07a beq.n 80960e0 8095fea: 2b00 cmp r3, #0 8095fec: d001 beq.n 8095ff2 else LCD_DisplayStringC(165, 210, "Çàïóñòèòü"); LCD_DisplayStringC(50, 210, "Âûõîä"); break; } break; 8095fee: f001 bb01 b.w 80975f4 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8095ff2: 4926 ldr r1, [pc, #152] ; (809608c ) 8095ff4: f04f 30ff mov.w r0, #4294967295 8095ff8: f7bd fbd8 bl 80537ac LCD_DisplayStringC(50, 210, "Âûõîä"); 8095ffc: 4a33 ldr r2, [pc, #204] ; (80960cc ) 8095ffe: 21d2 movs r1, #210 ; 0xd2 8096000: 2032 movs r0, #50 ; 0x32 8096002: f7be f993 bl 805432c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8096006: 4923 ldr r1, [pc, #140] ; (8096094 ) 8096008: f04f 30ff mov.w r0, #4294967295 809600c: f7bd fbce bl 80537ac if(measuring) 8096010: 4b2f ldr r3, [pc, #188] ; (80960d0 ) 8096012: 781b ldrb r3, [r3, #0] 8096014: b2db uxtb r3, r3 8096016: 2b00 cmp r3, #0 8096018: d005 beq.n 8096026 LCD_DisplayStringC(165, 210, "Îñòàíîâèòü"); 809601a: 4a2e ldr r2, [pc, #184] ; (80960d4 ) 809601c: 21d2 movs r1, #210 ; 0xd2 809601e: 20a5 movs r0, #165 ; 0xa5 8096020: f7be f984 bl 805432c 8096024: e004 b.n 8096030 else LCD_DisplayStringC(165, 210, "Çàïóñòèòü"); 8096026: 4a2c ldr r2, [pc, #176] ; (80960d8 ) 8096028: 21d2 movs r1, #210 ; 0xd2 809602a: 20a5 movs r0, #165 ; 0xa5 809602c: f7be f97e bl 805432c LCD_DisplayStringC(270, 210, "Äàëåå"); 8096030: 4a2a ldr r2, [pc, #168] ; (80960dc ) 8096032: 21d2 movs r1, #210 ; 0xd2 8096034: f44f 7087 mov.w r0, #270 ; 0x10e 8096038: f7be f978 bl 805432c break; 809603c: e076 b.n 809612c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 809603e: 4913 ldr r1, [pc, #76] ; (809608c ) 8096040: f04f 30ff mov.w r0, #4294967295 8096044: f7bd fbb2 bl 80537ac if(measuring) 8096048: 4b21 ldr r3, [pc, #132] ; (80960d0 ) 809604a: 781b ldrb r3, [r3, #0] 809604c: b2db uxtb r3, r3 809604e: 2b00 cmp r3, #0 8096050: d005 beq.n 809605e LCD_DisplayStringC(165, 210, "Îñòàíîâèòü"); 8096052: 4a20 ldr r2, [pc, #128] ; (80960d4 ) 8096054: 21d2 movs r1, #210 ; 0xd2 8096056: 20a5 movs r0, #165 ; 0xa5 8096058: f7be f968 bl 805432c 809605c: e004 b.n 8096068 else LCD_DisplayStringC(165, 210, "Çàïóñòèòü"); 809605e: 4a1e ldr r2, [pc, #120] ; (80960d8 ) 8096060: 21d2 movs r1, #210 ; 0xd2 8096062: 20a5 movs r0, #165 ; 0xa5 8096064: f7be f962 bl 805432c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8096068: 490a ldr r1, [pc, #40] ; (8096094 ) 809606a: f04f 30ff mov.w r0, #4294967295 809606e: f7bd fb9d bl 80537ac LCD_DisplayStringC(50, 210, "Âûõîä"); 8096072: 4a16 ldr r2, [pc, #88] ; (80960cc ) 8096074: 21d2 movs r1, #210 ; 0xd2 8096076: 2032 movs r0, #50 ; 0x32 8096078: f7be f958 bl 805432c LCD_DisplayStringC(270, 210, "Äàëåå"); 809607c: 4a17 ldr r2, [pc, #92] ; (80960dc ) 809607e: 21d2 movs r1, #210 ; 0xd2 8096080: f44f 7087 mov.w r0, #270 ; 0x10e 8096084: f7be f952 bl 805432c break; 8096088: e050 b.n 809612c 809608a: bf00 nop 809608c: ff606060 .word 0xff606060 8096090: 20026d04 .word 0x20026d04 8096094: ff0a0f1f .word 0xff0a0f1f 8096098: 080d0480 .word 0x080d0480 809609c: 20020038 .word 0x20020038 80960a0: 080d04b0 .word 0x080d04b0 80960a4: 080d04bc .word 0x080d04bc 80960a8: 080d04cc .word 0x080d04cc 80960ac: 080d04e4 .word 0x080d04e4 80960b0: 080d04ec .word 0x080d04ec 80960b4: 20021540 .word 0x20021540 80960b8: 20020f78 .word 0x20020f78 80960bc: 20026194 .word 0x20026194 80960c0: 080ce6a0 .word 0x080ce6a0 80960c4: 20020000 .word 0x20020000 80960c8: 20020070 .word 0x20020070 80960cc: 080ceda4 .word 0x080ceda4 80960d0: 20020daf .word 0x20020daf 80960d4: 080d04f4 .word 0x080d04f4 80960d8: 080d0500 .word 0x080d0500 80960dc: 080ced94 .word 0x080ced94 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 80960e0: 49c9 ldr r1, [pc, #804] ; (8096408 ) 80960e2: f04f 30ff mov.w r0, #4294967295 80960e6: f7bd fb61 bl 80537ac LCD_DisplayStringC(270, 210, "Äàëåå"); 80960ea: 4ac8 ldr r2, [pc, #800] ; (809640c ) 80960ec: 21d2 movs r1, #210 ; 0xd2 80960ee: f44f 7087 mov.w r0, #270 ; 0x10e 80960f2: f7be f91b bl 805432c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80960f6: 49c6 ldr r1, [pc, #792] ; (8096410 ) 80960f8: f04f 30ff mov.w r0, #4294967295 80960fc: f7bd fb56 bl 80537ac if(measuring) 8096100: 4bc4 ldr r3, [pc, #784] ; (8096414 ) 8096102: 781b ldrb r3, [r3, #0] 8096104: b2db uxtb r3, r3 8096106: 2b00 cmp r3, #0 8096108: d005 beq.n 8096116 LCD_DisplayStringC(165, 210, "Îñòàíîâèòü"); 809610a: 4ac3 ldr r2, [pc, #780] ; (8096418 ) 809610c: 21d2 movs r1, #210 ; 0xd2 809610e: 20a5 movs r0, #165 ; 0xa5 8096110: f7be f90c bl 805432c 8096114: e004 b.n 8096120 else LCD_DisplayStringC(165, 210, "Çàïóñòèòü"); 8096116: 4ac1 ldr r2, [pc, #772] ; (809641c ) 8096118: 21d2 movs r1, #210 ; 0xd2 809611a: 20a5 movs r0, #165 ; 0xa5 809611c: f7be f906 bl 805432c LCD_DisplayStringC(50, 210, "Âûõîä"); 8096120: 4abf ldr r2, [pc, #764] ; (8096420 ) 8096122: 21d2 movs r1, #210 ; 0xd2 8096124: 2032 movs r0, #50 ; 0x32 8096126: f7be f901 bl 805432c break; 809612a: bf00 nop break; 809612c: f001 ba62 b.w 80975f4 case CALIBR_1: /* Êàëèáðîâêà Êcorr[5] (ÇÀÐßÄ 1, Êóñ = 2) */ LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8096130: 49b7 ldr r1, [pc, #732] ; (8096410 ) 8096132: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8096136: f7bd fb39 bl 80537ac LCD_DisplayStringC(165, 40, "ÊÀËÈÁÐÎÂÊÀ"); 809613a: 4aba ldr r2, [pc, #744] ; (8096424 ) 809613c: 2128 movs r1, #40 ; 0x28 809613e: 20a5 movs r0, #165 ; 0xa5 8096140: f7be f8f4 bl 805432c BSP_LCD_DrawLine(2, 59, 317, 59); 8096144: 233b movs r3, #59 ; 0x3b 8096146: f240 123d movw r2, #317 ; 0x13d 809614a: 213b movs r1, #59 ; 0x3b 809614c: 2002 movs r0, #2 809614e: f7bd fd67 bl 8053c20 BSP_LCD_SetFont(&Font12); 8096152: 48b5 ldr r0, [pc, #724] ; (8096428 ) 8096154: f7bd fb66 bl 8053824 BSP_LCD_DisplayStringAt(310, 36, "[3 / 13]", RIGHT_MODE); 8096158: 2302 movs r3, #2 809615a: 4ab4 ldr r2, [pc, #720] ; (809642c ) 809615c: 2124 movs r1, #36 ; 0x24 809615e: f44f 709b mov.w r0, #310 ; 0x136 8096162: f7bd fbe9 bl 8053938 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8096166: 49aa ldr r1, [pc, #680] ; (8096410 ) 8096168: f04f 30ff mov.w r0, #4294967295 809616c: f7bd fb1e bl 80537ac LCD_DisplayString(5, 70, "[ICP 2] [Ky 1]"); 8096170: 4aaf ldr r2, [pc, #700] ; (8096430 ) 8096172: 2146 movs r1, #70 ; 0x46 8096174: 2005 movs r0, #5 8096176: f7be f8c1 bl 80542fc LCD_DisplayString(5, 95, "Input:RMS=512ìÂ,1êÃö"); 809617a: 4aae ldr r2, [pc, #696] ; (8096434 ) 809617c: 215f movs r1, #95 ; 0x5f 809617e: 2005 movs r0, #5 8096180: f7be f8bc bl 80542fc LCD_DisplayString(5, 145, "Output="); 8096184: 4aac ldr r2, [pc, #688] ; (8096438 ) 8096186: 2191 movs r1, #145 ; 0x91 8096188: 2005 movs r0, #5 809618a: f7be f8b7 bl 80542fc LCD_DisplayString(5, 170, "Kcorr="); 809618e: 4aab ldr r2, [pc, #684] ; (809643c ) 8096190: 21aa movs r1, #170 ; 0xaa 8096192: 2005 movs r0, #5 8096194: f7be f8b2 bl 80542fc LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_BLACK); 8096198: 499d ldr r1, [pc, #628] ; (8096410 ) 809619a: f06f 00ff mvn.w r0, #255 ; 0xff 809619e: f7bd fb05 bl 80537ac LCD_DisplayString(125, 145, (char *) FloatToASCII(skz[ACC], -4)); 80961a2: 4ba7 ldr r3, [pc, #668] ; (8096440 ) 80961a4: edd3 7a00 vldr s15, [r3] 80961a8: f06f 0003 mvn.w r0, #3 80961ac: eeb0 0a67 vmov.f32 s0, s15 80961b0: f7d0 faa6 bl 8066700 80961b4: 4603 mov r3, r0 80961b6: 461a mov r2, r3 80961b8: 2191 movs r1, #145 ; 0x91 80961ba: 207d movs r0, #125 ; 0x7d 80961bc: f7be f89e bl 80542fc LCD_DisplayString(125, 170, (char *) FloatToASCII(Kcorr[menu - CALIBR_0], -8)); 80961c0: 4ba0 ldr r3, [pc, #640] ; (8096444 ) 80961c2: 781b ldrb r3, [r3, #0] 80961c4: b2db uxtb r3, r3 80961c6: 3b35 subs r3, #53 ; 0x35 80961c8: 4a9f ldr r2, [pc, #636] ; (8096448 ) 80961ca: 009b lsls r3, r3, #2 80961cc: 4413 add r3, r2 80961ce: edd3 7a00 vldr s15, [r3] 80961d2: f06f 0007 mvn.w r0, #7 80961d6: eeb0 0a67 vmov.f32 s0, s15 80961da: f7d0 fa91 bl 8066700 80961de: 4603 mov r3, r0 80961e0: 461a mov r2, r3 80961e2: 21aa movs r1, #170 ; 0xaa 80961e4: 207d movs r0, #125 ; 0x7d 80961e6: f7be f889 bl 80542fc LCD_DisplayString(80, 40, "V"); 80961ea: 4a98 ldr r2, [pc, #608] ; (809644c ) 80961ec: 2128 movs r1, #40 ; 0x28 80961ee: 2050 movs r0, #80 ; 0x50 80961f0: f7be f884 bl 80542fc LCD_DisplayStringR(75, 40, (char *) FloatToASCII(Vbat, -3)); 80961f4: 4b96 ldr r3, [pc, #600] ; (8096450 ) 80961f6: edd3 7a00 vldr s15, [r3] 80961fa: f06f 0002 mvn.w r0, #2 80961fe: eeb0 0a67 vmov.f32 s0, s15 8096202: f7d0 fa7d bl 8066700 8096206: 4603 mov r3, r0 8096208: 461a mov r2, r3 809620a: 2128 movs r1, #40 ; 0x28 809620c: 204b movs r0, #75 ; 0x4b 809620e: f7be f8a5 bl 805435c switch(menupos) 8096212: 4b90 ldr r3, [pc, #576] ; (8096454 ) 8096214: 781b ldrb r3, [r3, #0] 8096216: b2db uxtb r3, r3 8096218: 2b01 cmp r3, #1 809621a: d02b beq.n 8096274 809621c: 2b02 cmp r3, #2 809621e: d04f beq.n 80962c0 8096220: 2b00 cmp r3, #0 8096222: d001 beq.n 8096228 else LCD_DisplayStringC(165, 210, "Çàïóñòèòü"); LCD_DisplayStringC(50, 210, "Íàçàä"); break; } break; 8096224: f001 b9e6 b.w 80975f4 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8096228: 4977 ldr r1, [pc, #476] ; (8096408 ) 809622a: f04f 30ff mov.w r0, #4294967295 809622e: f7bd fabd bl 80537ac LCD_DisplayStringC(50, 210, "Íàçàä"); 8096232: 4a89 ldr r2, [pc, #548] ; (8096458 ) 8096234: 21d2 movs r1, #210 ; 0xd2 8096236: 2032 movs r0, #50 ; 0x32 8096238: f7be f878 bl 805432c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 809623c: 4974 ldr r1, [pc, #464] ; (8096410 ) 809623e: f04f 30ff mov.w r0, #4294967295 8096242: f7bd fab3 bl 80537ac if(measuring) 8096246: 4b73 ldr r3, [pc, #460] ; (8096414 ) 8096248: 781b ldrb r3, [r3, #0] 809624a: b2db uxtb r3, r3 809624c: 2b00 cmp r3, #0 809624e: d005 beq.n 809625c LCD_DisplayStringC(165, 210, "Îñòàíîâèòü"); 8096250: 4a71 ldr r2, [pc, #452] ; (8096418 ) 8096252: 21d2 movs r1, #210 ; 0xd2 8096254: 20a5 movs r0, #165 ; 0xa5 8096256: f7be f869 bl 805432c 809625a: e004 b.n 8096266 else LCD_DisplayStringC(165, 210, "Çàïóñòèòü"); 809625c: 4a6f ldr r2, [pc, #444] ; (809641c ) 809625e: 21d2 movs r1, #210 ; 0xd2 8096260: 20a5 movs r0, #165 ; 0xa5 8096262: f7be f863 bl 805432c LCD_DisplayStringC(270, 210, "Äàëåå"); 8096266: 4a69 ldr r2, [pc, #420] ; (809640c ) 8096268: 21d2 movs r1, #210 ; 0xd2 809626a: f44f 7087 mov.w r0, #270 ; 0x10e 809626e: f7be f85d bl 805432c break; 8096272: e04b b.n 809630c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8096274: 4964 ldr r1, [pc, #400] ; (8096408 ) 8096276: f04f 30ff mov.w r0, #4294967295 809627a: f7bd fa97 bl 80537ac if(measuring) 809627e: 4b65 ldr r3, [pc, #404] ; (8096414 ) 8096280: 781b ldrb r3, [r3, #0] 8096282: b2db uxtb r3, r3 8096284: 2b00 cmp r3, #0 8096286: d005 beq.n 8096294 LCD_DisplayStringC(165, 210, "Îñòàíîâèòü"); 8096288: 4a63 ldr r2, [pc, #396] ; (8096418 ) 809628a: 21d2 movs r1, #210 ; 0xd2 809628c: 20a5 movs r0, #165 ; 0xa5 809628e: f7be f84d bl 805432c 8096292: e004 b.n 809629e else LCD_DisplayStringC(165, 210, "Çàïóñòèòü"); 8096294: 4a61 ldr r2, [pc, #388] ; (809641c ) 8096296: 21d2 movs r1, #210 ; 0xd2 8096298: 20a5 movs r0, #165 ; 0xa5 809629a: f7be f847 bl 805432c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 809629e: 495c ldr r1, [pc, #368] ; (8096410 ) 80962a0: f04f 30ff mov.w r0, #4294967295 80962a4: f7bd fa82 bl 80537ac LCD_DisplayStringC(50, 210, "Íàçàä"); 80962a8: 4a6b ldr r2, [pc, #428] ; (8096458 ) 80962aa: 21d2 movs r1, #210 ; 0xd2 80962ac: 2032 movs r0, #50 ; 0x32 80962ae: f7be f83d bl 805432c LCD_DisplayStringC(270, 210, "Äàëåå"); 80962b2: 4a56 ldr r2, [pc, #344] ; (809640c ) 80962b4: 21d2 movs r1, #210 ; 0xd2 80962b6: f44f 7087 mov.w r0, #270 ; 0x10e 80962ba: f7be f837 bl 805432c break; 80962be: e025 b.n 809630c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 80962c0: 4951 ldr r1, [pc, #324] ; (8096408 ) 80962c2: f04f 30ff mov.w r0, #4294967295 80962c6: f7bd fa71 bl 80537ac LCD_DisplayStringC(270, 210, "Äàëåå"); 80962ca: 4a50 ldr r2, [pc, #320] ; (809640c ) 80962cc: 21d2 movs r1, #210 ; 0xd2 80962ce: f44f 7087 mov.w r0, #270 ; 0x10e 80962d2: f7be f82b bl 805432c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80962d6: 494e ldr r1, [pc, #312] ; (8096410 ) 80962d8: f04f 30ff mov.w r0, #4294967295 80962dc: f7bd fa66 bl 80537ac if(measuring) 80962e0: 4b4c ldr r3, [pc, #304] ; (8096414 ) 80962e2: 781b ldrb r3, [r3, #0] 80962e4: b2db uxtb r3, r3 80962e6: 2b00 cmp r3, #0 80962e8: d005 beq.n 80962f6 LCD_DisplayStringC(165, 210, "Îñòàíîâèòü"); 80962ea: 4a4b ldr r2, [pc, #300] ; (8096418 ) 80962ec: 21d2 movs r1, #210 ; 0xd2 80962ee: 20a5 movs r0, #165 ; 0xa5 80962f0: f7be f81c bl 805432c 80962f4: e004 b.n 8096300 else LCD_DisplayStringC(165, 210, "Çàïóñòèòü"); 80962f6: 4a49 ldr r2, [pc, #292] ; (809641c ) 80962f8: 21d2 movs r1, #210 ; 0xd2 80962fa: 20a5 movs r0, #165 ; 0xa5 80962fc: f7be f816 bl 805432c LCD_DisplayStringC(50, 210, "Íàçàä"); 8096300: 4a55 ldr r2, [pc, #340] ; (8096458 ) 8096302: 21d2 movs r1, #210 ; 0xd2 8096304: 2032 movs r0, #50 ; 0x32 8096306: f7be f811 bl 805432c break; 809630a: bf00 nop break; 809630c: f001 b972 b.w 80975f4 case CALIBR_2: /* Êàëèáðîâêà Êcorr[6] (ÇÀÐßÄ 1, Êóñ = 5) */ LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8096310: 493f ldr r1, [pc, #252] ; (8096410 ) 8096312: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8096316: f7bd fa49 bl 80537ac LCD_DisplayStringC(165, 40, "ÊÀËÈÁÐÎÂÊÀ"); 809631a: 4a42 ldr r2, [pc, #264] ; (8096424 ) 809631c: 2128 movs r1, #40 ; 0x28 809631e: 20a5 movs r0, #165 ; 0xa5 8096320: f7be f804 bl 805432c BSP_LCD_DrawLine(2, 59, 317, 59); 8096324: 233b movs r3, #59 ; 0x3b 8096326: f240 123d movw r2, #317 ; 0x13d 809632a: 213b movs r1, #59 ; 0x3b 809632c: 2002 movs r0, #2 809632e: f7bd fc77 bl 8053c20 BSP_LCD_SetFont(&Font12); 8096332: 483d ldr r0, [pc, #244] ; (8096428 ) 8096334: f7bd fa76 bl 8053824 BSP_LCD_DisplayStringAt(310, 36, "[4 / 13]", RIGHT_MODE); 8096338: 2302 movs r3, #2 809633a: 4a48 ldr r2, [pc, #288] ; (809645c ) 809633c: 2124 movs r1, #36 ; 0x24 809633e: f44f 709b mov.w r0, #310 ; 0x136 8096342: f7bd faf9 bl 8053938 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8096346: 4932 ldr r1, [pc, #200] ; (8096410 ) 8096348: f04f 30ff mov.w r0, #4294967295 809634c: f7bd fa2e bl 80537ac LCD_DisplayString(5, 70, "[ICP 4] [Ky 1]"); 8096350: 4a43 ldr r2, [pc, #268] ; (8096460 ) 8096352: 2146 movs r1, #70 ; 0x46 8096354: 2005 movs r0, #5 8096356: f7bd ffd1 bl 80542fc LCD_DisplayString(5, 95, "Input:RMS=256ìÂ,1êÃö"); 809635a: 4a42 ldr r2, [pc, #264] ; (8096464 ) 809635c: 215f movs r1, #95 ; 0x5f 809635e: 2005 movs r0, #5 8096360: f7bd ffcc bl 80542fc LCD_DisplayString(5, 145, "Output="); 8096364: 4a34 ldr r2, [pc, #208] ; (8096438 ) 8096366: 2191 movs r1, #145 ; 0x91 8096368: 2005 movs r0, #5 809636a: f7bd ffc7 bl 80542fc LCD_DisplayString(5, 170, "Kcorr="); 809636e: 4a33 ldr r2, [pc, #204] ; (809643c ) 8096370: 21aa movs r1, #170 ; 0xaa 8096372: 2005 movs r0, #5 8096374: f7bd ffc2 bl 80542fc LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_BLACK); 8096378: 4925 ldr r1, [pc, #148] ; (8096410 ) 809637a: f06f 00ff mvn.w r0, #255 ; 0xff 809637e: f7bd fa15 bl 80537ac LCD_DisplayString(125, 145, (char *) FloatToASCII(skz[ACC], -4)); 8096382: 4b2f ldr r3, [pc, #188] ; (8096440 ) 8096384: edd3 7a00 vldr s15, [r3] 8096388: f06f 0003 mvn.w r0, #3 809638c: eeb0 0a67 vmov.f32 s0, s15 8096390: f7d0 f9b6 bl 8066700 8096394: 4603 mov r3, r0 8096396: 461a mov r2, r3 8096398: 2191 movs r1, #145 ; 0x91 809639a: 207d movs r0, #125 ; 0x7d 809639c: f7bd ffae bl 80542fc LCD_DisplayString(125, 170, (char *) FloatToASCII(Kcorr[menu - CALIBR_0], -8)); 80963a0: 4b28 ldr r3, [pc, #160] ; (8096444 ) 80963a2: 781b ldrb r3, [r3, #0] 80963a4: b2db uxtb r3, r3 80963a6: 3b35 subs r3, #53 ; 0x35 80963a8: 4a27 ldr r2, [pc, #156] ; (8096448 ) 80963aa: 009b lsls r3, r3, #2 80963ac: 4413 add r3, r2 80963ae: edd3 7a00 vldr s15, [r3] 80963b2: f06f 0007 mvn.w r0, #7 80963b6: eeb0 0a67 vmov.f32 s0, s15 80963ba: f7d0 f9a1 bl 8066700 80963be: 4603 mov r3, r0 80963c0: 461a mov r2, r3 80963c2: 21aa movs r1, #170 ; 0xaa 80963c4: 207d movs r0, #125 ; 0x7d 80963c6: f7bd ff99 bl 80542fc LCD_DisplayString(80, 40, "V"); 80963ca: 4a20 ldr r2, [pc, #128] ; (809644c ) 80963cc: 2128 movs r1, #40 ; 0x28 80963ce: 2050 movs r0, #80 ; 0x50 80963d0: f7bd ff94 bl 80542fc LCD_DisplayStringR(75, 40, (char *) FloatToASCII(Vbat, -3)); 80963d4: 4b1e ldr r3, [pc, #120] ; (8096450 ) 80963d6: edd3 7a00 vldr s15, [r3] 80963da: f06f 0002 mvn.w r0, #2 80963de: eeb0 0a67 vmov.f32 s0, s15 80963e2: f7d0 f98d bl 8066700 80963e6: 4603 mov r3, r0 80963e8: 461a mov r2, r3 80963ea: 2128 movs r1, #40 ; 0x28 80963ec: 204b movs r0, #75 ; 0x4b 80963ee: f7bd ffb5 bl 805435c switch(menupos) 80963f2: 4b18 ldr r3, [pc, #96] ; (8096454 ) 80963f4: 781b ldrb r3, [r3, #0] 80963f6: b2db uxtb r3, r3 80963f8: 2b01 cmp r3, #1 80963fa: d05b beq.n 80964b4 80963fc: 2b02 cmp r3, #2 80963fe: d07f beq.n 8096500 8096400: 2b00 cmp r3, #0 8096402: d031 beq.n 8096468 else LCD_DisplayStringC(165, 210, "Çàïóñòèòü"); LCD_DisplayStringC(50, 210, "Íàçàä"); break; } break; 8096404: f001 b8f6 b.w 80975f4 8096408: ff606060 .word 0xff606060 809640c: 080ced94 .word 0x080ced94 8096410: ff0a0f1f .word 0xff0a0f1f 8096414: 20020daf .word 0x20020daf 8096418: 080d04f4 .word 0x080d04f4 809641c: 080d0500 .word 0x080d0500 8096420: 080ceda4 .word 0x080ceda4 8096424: 080d0480 .word 0x080d0480 8096428: 20020038 .word 0x20020038 809642c: 080d050c .word 0x080d050c 8096430: 080d0518 .word 0x080d0518 8096434: 080d0528 .word 0x080d0528 8096438: 080d04e4 .word 0x080d04e4 809643c: 080d04ec .word 0x080d04ec 8096440: 20021540 .word 0x20021540 8096444: 20020f78 .word 0x20020f78 8096448: 20026194 .word 0x20026194 809644c: 080ce6a0 .word 0x080ce6a0 8096450: 20020000 .word 0x20020000 8096454: 20020070 .word 0x20020070 8096458: 080d0540 .word 0x080d0540 809645c: 080d0548 .word 0x080d0548 8096460: 080d0554 .word 0x080d0554 8096464: 080d0564 .word 0x080d0564 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8096468: 49b1 ldr r1, [pc, #708] ; (8096730 ) 809646a: f04f 30ff mov.w r0, #4294967295 809646e: f7bd f99d bl 80537ac LCD_DisplayStringC(50, 210, "Íàçàä"); 8096472: 4ab0 ldr r2, [pc, #704] ; (8096734 ) 8096474: 21d2 movs r1, #210 ; 0xd2 8096476: 2032 movs r0, #50 ; 0x32 8096478: f7bd ff58 bl 805432c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 809647c: 49ae ldr r1, [pc, #696] ; (8096738 ) 809647e: f04f 30ff mov.w r0, #4294967295 8096482: f7bd f993 bl 80537ac if(measuring) 8096486: 4bad ldr r3, [pc, #692] ; (809673c ) 8096488: 781b ldrb r3, [r3, #0] 809648a: b2db uxtb r3, r3 809648c: 2b00 cmp r3, #0 809648e: d005 beq.n 809649c LCD_DisplayStringC(165, 210, "Îñòàíîâèòü"); 8096490: 4aab ldr r2, [pc, #684] ; (8096740 ) 8096492: 21d2 movs r1, #210 ; 0xd2 8096494: 20a5 movs r0, #165 ; 0xa5 8096496: f7bd ff49 bl 805432c 809649a: e004 b.n 80964a6 else LCD_DisplayStringC(165, 210, "Çàïóñòèòü"); 809649c: 4aa9 ldr r2, [pc, #676] ; (8096744 ) 809649e: 21d2 movs r1, #210 ; 0xd2 80964a0: 20a5 movs r0, #165 ; 0xa5 80964a2: f7bd ff43 bl 805432c LCD_DisplayStringC(270, 210, "Äàëåå"); 80964a6: 4aa8 ldr r2, [pc, #672] ; (8096748 ) 80964a8: 21d2 movs r1, #210 ; 0xd2 80964aa: f44f 7087 mov.w r0, #270 ; 0x10e 80964ae: f7bd ff3d bl 805432c break; 80964b2: e04b b.n 809654c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 80964b4: 499e ldr r1, [pc, #632] ; (8096730 ) 80964b6: f04f 30ff mov.w r0, #4294967295 80964ba: f7bd f977 bl 80537ac if(measuring) 80964be: 4b9f ldr r3, [pc, #636] ; (809673c ) 80964c0: 781b ldrb r3, [r3, #0] 80964c2: b2db uxtb r3, r3 80964c4: 2b00 cmp r3, #0 80964c6: d005 beq.n 80964d4 LCD_DisplayStringC(165, 210, "Îñòàíîâèòü"); 80964c8: 4a9d ldr r2, [pc, #628] ; (8096740 ) 80964ca: 21d2 movs r1, #210 ; 0xd2 80964cc: 20a5 movs r0, #165 ; 0xa5 80964ce: f7bd ff2d bl 805432c 80964d2: e004 b.n 80964de else LCD_DisplayStringC(165, 210, "Çàïóñòèòü"); 80964d4: 4a9b ldr r2, [pc, #620] ; (8096744 ) 80964d6: 21d2 movs r1, #210 ; 0xd2 80964d8: 20a5 movs r0, #165 ; 0xa5 80964da: f7bd ff27 bl 805432c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80964de: 4996 ldr r1, [pc, #600] ; (8096738 ) 80964e0: f04f 30ff mov.w r0, #4294967295 80964e4: f7bd f962 bl 80537ac LCD_DisplayStringC(50, 210, "Íàçàä"); 80964e8: 4a92 ldr r2, [pc, #584] ; (8096734 ) 80964ea: 21d2 movs r1, #210 ; 0xd2 80964ec: 2032 movs r0, #50 ; 0x32 80964ee: f7bd ff1d bl 805432c LCD_DisplayStringC(270, 210, "Äàëåå"); 80964f2: 4a95 ldr r2, [pc, #596] ; (8096748 ) 80964f4: 21d2 movs r1, #210 ; 0xd2 80964f6: f44f 7087 mov.w r0, #270 ; 0x10e 80964fa: f7bd ff17 bl 805432c break; 80964fe: e025 b.n 809654c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8096500: 498b ldr r1, [pc, #556] ; (8096730 ) 8096502: f04f 30ff mov.w r0, #4294967295 8096506: f7bd f951 bl 80537ac LCD_DisplayStringC(270, 210, "Äàëåå"); 809650a: 4a8f ldr r2, [pc, #572] ; (8096748 ) 809650c: 21d2 movs r1, #210 ; 0xd2 809650e: f44f 7087 mov.w r0, #270 ; 0x10e 8096512: f7bd ff0b bl 805432c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8096516: 4988 ldr r1, [pc, #544] ; (8096738 ) 8096518: f04f 30ff mov.w r0, #4294967295 809651c: f7bd f946 bl 80537ac if(measuring) 8096520: 4b86 ldr r3, [pc, #536] ; (809673c ) 8096522: 781b ldrb r3, [r3, #0] 8096524: b2db uxtb r3, r3 8096526: 2b00 cmp r3, #0 8096528: d005 beq.n 8096536 LCD_DisplayStringC(165, 210, "Îñòàíîâèòü"); 809652a: 4a85 ldr r2, [pc, #532] ; (8096740 ) 809652c: 21d2 movs r1, #210 ; 0xd2 809652e: 20a5 movs r0, #165 ; 0xa5 8096530: f7bd fefc bl 805432c 8096534: e004 b.n 8096540 else LCD_DisplayStringC(165, 210, "Çàïóñòèòü"); 8096536: 4a83 ldr r2, [pc, #524] ; (8096744 ) 8096538: 21d2 movs r1, #210 ; 0xd2 809653a: 20a5 movs r0, #165 ; 0xa5 809653c: f7bd fef6 bl 805432c LCD_DisplayStringC(50, 210, "Íàçàä"); 8096540: 4a7c ldr r2, [pc, #496] ; (8096734 ) 8096542: 21d2 movs r1, #210 ; 0xd2 8096544: 2032 movs r0, #50 ; 0x32 8096546: f7bd fef1 bl 805432c break; 809654a: bf00 nop break; 809654c: f001 b852 b.w 80975f4 case CALIBR_3: /* Êàëèáðîâêà Êcorr[7] (ÇÀÐßÄ 1, Êóñ = 10) */ LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8096550: 4979 ldr r1, [pc, #484] ; (8096738 ) 8096552: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8096556: f7bd f929 bl 80537ac LCD_DisplayStringC(165, 40, "ÊÀËÈÁÐÎÂÊÀ"); 809655a: 4a7c ldr r2, [pc, #496] ; (809674c ) 809655c: 2128 movs r1, #40 ; 0x28 809655e: 20a5 movs r0, #165 ; 0xa5 8096560: f7bd fee4 bl 805432c BSP_LCD_DrawLine(2, 59, 317, 59); 8096564: 233b movs r3, #59 ; 0x3b 8096566: f240 123d movw r2, #317 ; 0x13d 809656a: 213b movs r1, #59 ; 0x3b 809656c: 2002 movs r0, #2 809656e: f7bd fb57 bl 8053c20 BSP_LCD_SetFont(&Font12); 8096572: 4877 ldr r0, [pc, #476] ; (8096750 ) 8096574: f7bd f956 bl 8053824 BSP_LCD_DisplayStringAt(310, 36, "[5 / 13]", RIGHT_MODE); 8096578: 2302 movs r3, #2 809657a: 4a76 ldr r2, [pc, #472] ; (8096754 ) 809657c: 2124 movs r1, #36 ; 0x24 809657e: f44f 709b mov.w r0, #310 ; 0x136 8096582: f7bd f9d9 bl 8053938 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8096586: 496c ldr r1, [pc, #432] ; (8096738 ) 8096588: f04f 30ff mov.w r0, #4294967295 809658c: f7bd f90e bl 80537ac LCD_DisplayString(5, 70, "[ICP 8] [Ky 1]"); 8096590: 4a71 ldr r2, [pc, #452] ; (8096758 ) 8096592: 2146 movs r1, #70 ; 0x46 8096594: 2005 movs r0, #5 8096596: f7bd feb1 bl 80542fc LCD_DisplayString(5, 95, "Input:RMS=128ìÂ,1êÃö"); 809659a: 4a70 ldr r2, [pc, #448] ; (809675c ) 809659c: 215f movs r1, #95 ; 0x5f 809659e: 2005 movs r0, #5 80965a0: f7bd feac bl 80542fc LCD_DisplayString(5, 145, "Output="); 80965a4: 4a6e ldr r2, [pc, #440] ; (8096760 ) 80965a6: 2191 movs r1, #145 ; 0x91 80965a8: 2005 movs r0, #5 80965aa: f7bd fea7 bl 80542fc LCD_DisplayString(5, 170, "Kcorr="); 80965ae: 4a6d ldr r2, [pc, #436] ; (8096764 ) 80965b0: 21aa movs r1, #170 ; 0xaa 80965b2: 2005 movs r0, #5 80965b4: f7bd fea2 bl 80542fc LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_BLACK); 80965b8: 495f ldr r1, [pc, #380] ; (8096738 ) 80965ba: f06f 00ff mvn.w r0, #255 ; 0xff 80965be: f7bd f8f5 bl 80537ac LCD_DisplayString(125, 145, (char *) FloatToASCII(skz[ACC], -4)); 80965c2: 4b69 ldr r3, [pc, #420] ; (8096768 ) 80965c4: edd3 7a00 vldr s15, [r3] 80965c8: f06f 0003 mvn.w r0, #3 80965cc: eeb0 0a67 vmov.f32 s0, s15 80965d0: f7d0 f896 bl 8066700 80965d4: 4603 mov r3, r0 80965d6: 461a mov r2, r3 80965d8: 2191 movs r1, #145 ; 0x91 80965da: 207d movs r0, #125 ; 0x7d 80965dc: f7bd fe8e bl 80542fc LCD_DisplayString(125, 170, (char *) FloatToASCII(Kcorr[menu - CALIBR_0], -8)); 80965e0: 4b62 ldr r3, [pc, #392] ; (809676c ) 80965e2: 781b ldrb r3, [r3, #0] 80965e4: b2db uxtb r3, r3 80965e6: 3b35 subs r3, #53 ; 0x35 80965e8: 4a61 ldr r2, [pc, #388] ; (8096770 ) 80965ea: 009b lsls r3, r3, #2 80965ec: 4413 add r3, r2 80965ee: edd3 7a00 vldr s15, [r3] 80965f2: f06f 0007 mvn.w r0, #7 80965f6: eeb0 0a67 vmov.f32 s0, s15 80965fa: f7d0 f881 bl 8066700 80965fe: 4603 mov r3, r0 8096600: 461a mov r2, r3 8096602: 21aa movs r1, #170 ; 0xaa 8096604: 207d movs r0, #125 ; 0x7d 8096606: f7bd fe79 bl 80542fc LCD_DisplayString(80, 40, "V"); 809660a: 4a5a ldr r2, [pc, #360] ; (8096774 ) 809660c: 2128 movs r1, #40 ; 0x28 809660e: 2050 movs r0, #80 ; 0x50 8096610: f7bd fe74 bl 80542fc LCD_DisplayStringR(75, 40, (char *) FloatToASCII(Vbat, -3)); 8096614: 4b58 ldr r3, [pc, #352] ; (8096778 ) 8096616: edd3 7a00 vldr s15, [r3] 809661a: f06f 0002 mvn.w r0, #2 809661e: eeb0 0a67 vmov.f32 s0, s15 8096622: f7d0 f86d bl 8066700 8096626: 4603 mov r3, r0 8096628: 461a mov r2, r3 809662a: 2128 movs r1, #40 ; 0x28 809662c: 204b movs r0, #75 ; 0x4b 809662e: f7bd fe95 bl 805435c switch(menupos) 8096632: 4b52 ldr r3, [pc, #328] ; (809677c ) 8096634: 781b ldrb r3, [r3, #0] 8096636: b2db uxtb r3, r3 8096638: 2b01 cmp r3, #1 809663a: d02b beq.n 8096694 809663c: 2b02 cmp r3, #2 809663e: d04f beq.n 80966e0 8096640: 2b00 cmp r3, #0 8096642: d001 beq.n 8096648 else LCD_DisplayStringC(165, 210, "Çàïóñòèòü"); LCD_DisplayStringC(50, 210, "Íàçàä"); break; } break; 8096644: f000 bfd6 b.w 80975f4 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8096648: 4939 ldr r1, [pc, #228] ; (8096730 ) 809664a: f04f 30ff mov.w r0, #4294967295 809664e: f7bd f8ad bl 80537ac LCD_DisplayStringC(50, 210, "Íàçàä"); 8096652: 4a38 ldr r2, [pc, #224] ; (8096734 ) 8096654: 21d2 movs r1, #210 ; 0xd2 8096656: 2032 movs r0, #50 ; 0x32 8096658: f7bd fe68 bl 805432c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 809665c: 4936 ldr r1, [pc, #216] ; (8096738 ) 809665e: f04f 30ff mov.w r0, #4294967295 8096662: f7bd f8a3 bl 80537ac if(measuring) 8096666: 4b35 ldr r3, [pc, #212] ; (809673c ) 8096668: 781b ldrb r3, [r3, #0] 809666a: b2db uxtb r3, r3 809666c: 2b00 cmp r3, #0 809666e: d005 beq.n 809667c LCD_DisplayStringC(165, 210, "Îñòàíîâèòü"); 8096670: 4a33 ldr r2, [pc, #204] ; (8096740 ) 8096672: 21d2 movs r1, #210 ; 0xd2 8096674: 20a5 movs r0, #165 ; 0xa5 8096676: f7bd fe59 bl 805432c 809667a: e004 b.n 8096686 else LCD_DisplayStringC(165, 210, "Çàïóñòèòü"); 809667c: 4a31 ldr r2, [pc, #196] ; (8096744 ) 809667e: 21d2 movs r1, #210 ; 0xd2 8096680: 20a5 movs r0, #165 ; 0xa5 8096682: f7bd fe53 bl 805432c LCD_DisplayStringC(270, 210, "Äàëåå"); 8096686: 4a30 ldr r2, [pc, #192] ; (8096748 ) 8096688: 21d2 movs r1, #210 ; 0xd2 809668a: f44f 7087 mov.w r0, #270 ; 0x10e 809668e: f7bd fe4d bl 805432c break; 8096692: e04b b.n 809672c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8096694: 4926 ldr r1, [pc, #152] ; (8096730 ) 8096696: f04f 30ff mov.w r0, #4294967295 809669a: f7bd f887 bl 80537ac if(measuring) 809669e: 4b27 ldr r3, [pc, #156] ; (809673c ) 80966a0: 781b ldrb r3, [r3, #0] 80966a2: b2db uxtb r3, r3 80966a4: 2b00 cmp r3, #0 80966a6: d005 beq.n 80966b4 LCD_DisplayStringC(165, 210, "Îñòàíîâèòü"); 80966a8: 4a25 ldr r2, [pc, #148] ; (8096740 ) 80966aa: 21d2 movs r1, #210 ; 0xd2 80966ac: 20a5 movs r0, #165 ; 0xa5 80966ae: f7bd fe3d bl 805432c 80966b2: e004 b.n 80966be else LCD_DisplayStringC(165, 210, "Çàïóñòèòü"); 80966b4: 4a23 ldr r2, [pc, #140] ; (8096744 ) 80966b6: 21d2 movs r1, #210 ; 0xd2 80966b8: 20a5 movs r0, #165 ; 0xa5 80966ba: f7bd fe37 bl 805432c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80966be: 491e ldr r1, [pc, #120] ; (8096738 ) 80966c0: f04f 30ff mov.w r0, #4294967295 80966c4: f7bd f872 bl 80537ac LCD_DisplayStringC(50, 210, "Íàçàä"); 80966c8: 4a1a ldr r2, [pc, #104] ; (8096734 ) 80966ca: 21d2 movs r1, #210 ; 0xd2 80966cc: 2032 movs r0, #50 ; 0x32 80966ce: f7bd fe2d bl 805432c LCD_DisplayStringC(270, 210, "Äàëåå"); 80966d2: 4a1d ldr r2, [pc, #116] ; (8096748 ) 80966d4: 21d2 movs r1, #210 ; 0xd2 80966d6: f44f 7087 mov.w r0, #270 ; 0x10e 80966da: f7bd fe27 bl 805432c break; 80966de: e025 b.n 809672c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 80966e0: 4913 ldr r1, [pc, #76] ; (8096730 ) 80966e2: f04f 30ff mov.w r0, #4294967295 80966e6: f7bd f861 bl 80537ac LCD_DisplayStringC(270, 210, "Äàëåå"); 80966ea: 4a17 ldr r2, [pc, #92] ; (8096748 ) 80966ec: 21d2 movs r1, #210 ; 0xd2 80966ee: f44f 7087 mov.w r0, #270 ; 0x10e 80966f2: f7bd fe1b bl 805432c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80966f6: 4910 ldr r1, [pc, #64] ; (8096738 ) 80966f8: f04f 30ff mov.w r0, #4294967295 80966fc: f7bd f856 bl 80537ac if(measuring) 8096700: 4b0e ldr r3, [pc, #56] ; (809673c ) 8096702: 781b ldrb r3, [r3, #0] 8096704: b2db uxtb r3, r3 8096706: 2b00 cmp r3, #0 8096708: d005 beq.n 8096716 LCD_DisplayStringC(165, 210, "Îñòàíîâèòü"); 809670a: 4a0d ldr r2, [pc, #52] ; (8096740 ) 809670c: 21d2 movs r1, #210 ; 0xd2 809670e: 20a5 movs r0, #165 ; 0xa5 8096710: f7bd fe0c bl 805432c 8096714: e004 b.n 8096720 else LCD_DisplayStringC(165, 210, "Çàïóñòèòü"); 8096716: 4a0b ldr r2, [pc, #44] ; (8096744 ) 8096718: 21d2 movs r1, #210 ; 0xd2 809671a: 20a5 movs r0, #165 ; 0xa5 809671c: f7bd fe06 bl 805432c LCD_DisplayStringC(50, 210, "Íàçàä"); 8096720: 4a04 ldr r2, [pc, #16] ; (8096734 ) 8096722: 21d2 movs r1, #210 ; 0xd2 8096724: 2032 movs r0, #50 ; 0x32 8096726: f7bd fe01 bl 805432c break; 809672a: bf00 nop break; 809672c: f000 bf62 b.w 80975f4 8096730: ff606060 .word 0xff606060 8096734: 080d0540 .word 0x080d0540 8096738: ff0a0f1f .word 0xff0a0f1f 809673c: 20020daf .word 0x20020daf 8096740: 080d04f4 .word 0x080d04f4 8096744: 080d0500 .word 0x080d0500 8096748: 080ced94 .word 0x080ced94 809674c: 080d0480 .word 0x080d0480 8096750: 20020038 .word 0x20020038 8096754: 080d057c .word 0x080d057c 8096758: 080d0588 .word 0x080d0588 809675c: 080d0598 .word 0x080d0598 8096760: 080d04e4 .word 0x080d04e4 8096764: 080d04ec .word 0x080d04ec 8096768: 20021540 .word 0x20021540 809676c: 20020f78 .word 0x20020f78 8096770: 20026194 .word 0x20026194 8096774: 080ce6a0 .word 0x080ce6a0 8096778: 20020000 .word 0x20020000 809677c: 20020070 .word 0x20020070 case CALIBR_4: /* Êàëèáðîâêà Êcorr[2] (ÇÀÐßÄ 10, Êóñ = 1) */ LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8096780: 49c8 ldr r1, [pc, #800] ; (8096aa4 ) 8096782: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8096786: f7bd f811 bl 80537ac LCD_DisplayStringC(165, 40, "ÊÀËÈÁÐÎÂÊÀ"); 809678a: 4ac7 ldr r2, [pc, #796] ; (8096aa8 ) 809678c: 2128 movs r1, #40 ; 0x28 809678e: 20a5 movs r0, #165 ; 0xa5 8096790: f7bd fdcc bl 805432c BSP_LCD_DrawLine(2, 59, 317, 59); 8096794: 233b movs r3, #59 ; 0x3b 8096796: f240 123d movw r2, #317 ; 0x13d 809679a: 213b movs r1, #59 ; 0x3b 809679c: 2002 movs r0, #2 809679e: f7bd fa3f bl 8053c20 BSP_LCD_SetFont(&Font12); 80967a2: 48c2 ldr r0, [pc, #776] ; (8096aac ) 80967a4: f7bd f83e bl 8053824 BSP_LCD_DisplayStringAt(310, 36, "[6 / 13]", RIGHT_MODE); 80967a8: 2302 movs r3, #2 80967aa: 4ac1 ldr r2, [pc, #772] ; (8096ab0 ) 80967ac: 2124 movs r1, #36 ; 0x24 80967ae: f44f 709b mov.w r0, #310 ; 0x136 80967b2: f7bd f8c1 bl 8053938 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80967b6: 49bb ldr r1, [pc, #748] ; (8096aa4 ) 80967b8: f04f 30ff mov.w r0, #4294967295 80967bc: f7bc fff6 bl 80537ac LCD_DisplayString(5, 70, "[ICP 16] [Ky 1]"); 80967c0: 4abc ldr r2, [pc, #752] ; (8096ab4 ) 80967c2: 2146 movs r1, #70 ; 0x46 80967c4: 2005 movs r0, #5 80967c6: f7bd fd99 bl 80542fc LCD_DisplayString(5, 95, "Input:RMS=64ìÂ,1êÃö"); 80967ca: 4abb ldr r2, [pc, #748] ; (8096ab8 ) 80967cc: 215f movs r1, #95 ; 0x5f 80967ce: 2005 movs r0, #5 80967d0: f7bd fd94 bl 80542fc LCD_DisplayString(5, 145, "Output="); 80967d4: 4ab9 ldr r2, [pc, #740] ; (8096abc ) 80967d6: 2191 movs r1, #145 ; 0x91 80967d8: 2005 movs r0, #5 80967da: f7bd fd8f bl 80542fc LCD_DisplayString(5, 170, "Kcorr="); 80967de: 4ab8 ldr r2, [pc, #736] ; (8096ac0 ) 80967e0: 21aa movs r1, #170 ; 0xaa 80967e2: 2005 movs r0, #5 80967e4: f7bd fd8a bl 80542fc LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_BLACK); 80967e8: 49ae ldr r1, [pc, #696] ; (8096aa4 ) 80967ea: f06f 00ff mvn.w r0, #255 ; 0xff 80967ee: f7bc ffdd bl 80537ac LCD_DisplayString(125, 145, (char *) FloatToASCII(skz[ACC], -4)); 80967f2: 4bb4 ldr r3, [pc, #720] ; (8096ac4 ) 80967f4: edd3 7a00 vldr s15, [r3] 80967f8: f06f 0003 mvn.w r0, #3 80967fc: eeb0 0a67 vmov.f32 s0, s15 8096800: f7cf ff7e bl 8066700 8096804: 4603 mov r3, r0 8096806: 461a mov r2, r3 8096808: 2191 movs r1, #145 ; 0x91 809680a: 207d movs r0, #125 ; 0x7d 809680c: f7bd fd76 bl 80542fc LCD_DisplayString(125, 170, (char *) FloatToASCII(Kcorr[menu - CALIBR_0], -8)); 8096810: 4bad ldr r3, [pc, #692] ; (8096ac8 ) 8096812: 781b ldrb r3, [r3, #0] 8096814: b2db uxtb r3, r3 8096816: 3b35 subs r3, #53 ; 0x35 8096818: 4aac ldr r2, [pc, #688] ; (8096acc ) 809681a: 009b lsls r3, r3, #2 809681c: 4413 add r3, r2 809681e: edd3 7a00 vldr s15, [r3] 8096822: f06f 0007 mvn.w r0, #7 8096826: eeb0 0a67 vmov.f32 s0, s15 809682a: f7cf ff69 bl 8066700 809682e: 4603 mov r3, r0 8096830: 461a mov r2, r3 8096832: 21aa movs r1, #170 ; 0xaa 8096834: 207d movs r0, #125 ; 0x7d 8096836: f7bd fd61 bl 80542fc LCD_DisplayString(80, 40, "V"); 809683a: 4aa5 ldr r2, [pc, #660] ; (8096ad0 ) 809683c: 2128 movs r1, #40 ; 0x28 809683e: 2050 movs r0, #80 ; 0x50 8096840: f7bd fd5c bl 80542fc LCD_DisplayStringR(75, 40, (char *) FloatToASCII(Vbat, -3)); 8096844: 4ba3 ldr r3, [pc, #652] ; (8096ad4 ) 8096846: edd3 7a00 vldr s15, [r3] 809684a: f06f 0002 mvn.w r0, #2 809684e: eeb0 0a67 vmov.f32 s0, s15 8096852: f7cf ff55 bl 8066700 8096856: 4603 mov r3, r0 8096858: 461a mov r2, r3 809685a: 2128 movs r1, #40 ; 0x28 809685c: 204b movs r0, #75 ; 0x4b 809685e: f7bd fd7d bl 805435c switch(menupos) 8096862: 4b9d ldr r3, [pc, #628] ; (8096ad8 ) 8096864: 781b ldrb r3, [r3, #0] 8096866: b2db uxtb r3, r3 8096868: 2b01 cmp r3, #1 809686a: d02b beq.n 80968c4 809686c: 2b02 cmp r3, #2 809686e: d04f beq.n 8096910 8096870: 2b00 cmp r3, #0 8096872: d001 beq.n 8096878 else LCD_DisplayStringC(165, 210, "Çàïóñòèòü"); LCD_DisplayStringC(50, 210, "Íàçàä"); break; } break; 8096874: f000 bebe b.w 80975f4 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8096878: 4998 ldr r1, [pc, #608] ; (8096adc ) 809687a: f04f 30ff mov.w r0, #4294967295 809687e: f7bc ff95 bl 80537ac LCD_DisplayStringC(50, 210, "Íàçàä"); 8096882: 4a97 ldr r2, [pc, #604] ; (8096ae0 ) 8096884: 21d2 movs r1, #210 ; 0xd2 8096886: 2032 movs r0, #50 ; 0x32 8096888: f7bd fd50 bl 805432c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 809688c: 4985 ldr r1, [pc, #532] ; (8096aa4 ) 809688e: f04f 30ff mov.w r0, #4294967295 8096892: f7bc ff8b bl 80537ac if(measuring) 8096896: 4b93 ldr r3, [pc, #588] ; (8096ae4 ) 8096898: 781b ldrb r3, [r3, #0] 809689a: b2db uxtb r3, r3 809689c: 2b00 cmp r3, #0 809689e: d005 beq.n 80968ac LCD_DisplayStringC(165, 210, "Îñòàíîâèòü"); 80968a0: 4a91 ldr r2, [pc, #580] ; (8096ae8 ) 80968a2: 21d2 movs r1, #210 ; 0xd2 80968a4: 20a5 movs r0, #165 ; 0xa5 80968a6: f7bd fd41 bl 805432c 80968aa: e004 b.n 80968b6 else LCD_DisplayStringC(165, 210, "Çàïóñòèòü"); 80968ac: 4a8f ldr r2, [pc, #572] ; (8096aec ) 80968ae: 21d2 movs r1, #210 ; 0xd2 80968b0: 20a5 movs r0, #165 ; 0xa5 80968b2: f7bd fd3b bl 805432c LCD_DisplayStringC(270, 210, "Äàëåå"); 80968b6: 4a8e ldr r2, [pc, #568] ; (8096af0 ) 80968b8: 21d2 movs r1, #210 ; 0xd2 80968ba: f44f 7087 mov.w r0, #270 ; 0x10e 80968be: f7bd fd35 bl 805432c break; 80968c2: e04b b.n 809695c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 80968c4: 4985 ldr r1, [pc, #532] ; (8096adc ) 80968c6: f04f 30ff mov.w r0, #4294967295 80968ca: f7bc ff6f bl 80537ac if(measuring) 80968ce: 4b85 ldr r3, [pc, #532] ; (8096ae4 ) 80968d0: 781b ldrb r3, [r3, #0] 80968d2: b2db uxtb r3, r3 80968d4: 2b00 cmp r3, #0 80968d6: d005 beq.n 80968e4 LCD_DisplayStringC(165, 210, "Îñòàíîâèòü"); 80968d8: 4a83 ldr r2, [pc, #524] ; (8096ae8 ) 80968da: 21d2 movs r1, #210 ; 0xd2 80968dc: 20a5 movs r0, #165 ; 0xa5 80968de: f7bd fd25 bl 805432c 80968e2: e004 b.n 80968ee else LCD_DisplayStringC(165, 210, "Çàïóñòèòü"); 80968e4: 4a81 ldr r2, [pc, #516] ; (8096aec ) 80968e6: 21d2 movs r1, #210 ; 0xd2 80968e8: 20a5 movs r0, #165 ; 0xa5 80968ea: f7bd fd1f bl 805432c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80968ee: 496d ldr r1, [pc, #436] ; (8096aa4 ) 80968f0: f04f 30ff mov.w r0, #4294967295 80968f4: f7bc ff5a bl 80537ac LCD_DisplayStringC(50, 210, "Íàçàä"); 80968f8: 4a79 ldr r2, [pc, #484] ; (8096ae0 ) 80968fa: 21d2 movs r1, #210 ; 0xd2 80968fc: 2032 movs r0, #50 ; 0x32 80968fe: f7bd fd15 bl 805432c LCD_DisplayStringC(270, 210, "Äàëåå"); 8096902: 4a7b ldr r2, [pc, #492] ; (8096af0 ) 8096904: 21d2 movs r1, #210 ; 0xd2 8096906: f44f 7087 mov.w r0, #270 ; 0x10e 809690a: f7bd fd0f bl 805432c break; 809690e: e025 b.n 809695c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8096910: 4972 ldr r1, [pc, #456] ; (8096adc ) 8096912: f04f 30ff mov.w r0, #4294967295 8096916: f7bc ff49 bl 80537ac LCD_DisplayStringC(270, 210, "Äàëåå"); 809691a: 4a75 ldr r2, [pc, #468] ; (8096af0 ) 809691c: 21d2 movs r1, #210 ; 0xd2 809691e: f44f 7087 mov.w r0, #270 ; 0x10e 8096922: f7bd fd03 bl 805432c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8096926: 495f ldr r1, [pc, #380] ; (8096aa4 ) 8096928: f04f 30ff mov.w r0, #4294967295 809692c: f7bc ff3e bl 80537ac if(measuring) 8096930: 4b6c ldr r3, [pc, #432] ; (8096ae4 ) 8096932: 781b ldrb r3, [r3, #0] 8096934: b2db uxtb r3, r3 8096936: 2b00 cmp r3, #0 8096938: d005 beq.n 8096946 LCD_DisplayStringC(165, 210, "Îñòàíîâèòü"); 809693a: 4a6b ldr r2, [pc, #428] ; (8096ae8 ) 809693c: 21d2 movs r1, #210 ; 0xd2 809693e: 20a5 movs r0, #165 ; 0xa5 8096940: f7bd fcf4 bl 805432c 8096944: e004 b.n 8096950 else LCD_DisplayStringC(165, 210, "Çàïóñòèòü"); 8096946: 4a69 ldr r2, [pc, #420] ; (8096aec ) 8096948: 21d2 movs r1, #210 ; 0xd2 809694a: 20a5 movs r0, #165 ; 0xa5 809694c: f7bd fcee bl 805432c LCD_DisplayStringC(50, 210, "Íàçàä"); 8096950: 4a63 ldr r2, [pc, #396] ; (8096ae0 ) 8096952: 21d2 movs r1, #210 ; 0xd2 8096954: 2032 movs r0, #50 ; 0x32 8096956: f7bd fce9 bl 805432c break; 809695a: bf00 nop break; 809695c: f000 be4a b.w 80975f4 case CALIBR_5: /* Êàëèáðîâêà Êcorr[0] (ÇÀÐßÄ 0.1, Êóñ = 1) */ LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8096960: 4950 ldr r1, [pc, #320] ; (8096aa4 ) 8096962: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8096966: f7bc ff21 bl 80537ac LCD_DisplayStringC(165, 40, "ÊÀËÈÁÐÎÂÊÀ"); 809696a: 4a4f ldr r2, [pc, #316] ; (8096aa8 ) 809696c: 2128 movs r1, #40 ; 0x28 809696e: 20a5 movs r0, #165 ; 0xa5 8096970: f7bd fcdc bl 805432c BSP_LCD_DrawLine(2, 59, 317, 59); 8096974: 233b movs r3, #59 ; 0x3b 8096976: f240 123d movw r2, #317 ; 0x13d 809697a: 213b movs r1, #59 ; 0x3b 809697c: 2002 movs r0, #2 809697e: f7bd f94f bl 8053c20 BSP_LCD_SetFont(&Font12); 8096982: 484a ldr r0, [pc, #296] ; (8096aac ) 8096984: f7bc ff4e bl 8053824 BSP_LCD_DisplayStringAt(310, 36, "[7 / 13]", RIGHT_MODE); 8096988: 2302 movs r3, #2 809698a: 4a5a ldr r2, [pc, #360] ; (8096af4 ) 809698c: 2124 movs r1, #36 ; 0x24 809698e: f44f 709b mov.w r0, #310 ; 0x136 8096992: f7bc ffd1 bl 8053938 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8096996: 4943 ldr r1, [pc, #268] ; (8096aa4 ) 8096998: f04f 30ff mov.w r0, #4294967295 809699c: f7bc ff06 bl 80537ac LCD_DisplayString(5, 70, "[ICP 32] [Ky 1]"); 80969a0: 4a55 ldr r2, [pc, #340] ; (8096af8 ) 80969a2: 2146 movs r1, #70 ; 0x46 80969a4: 2005 movs r0, #5 80969a6: f7bd fca9 bl 80542fc LCD_DisplayString(5, 95, "Input:RMS=32ìÂ,1êÃö"); 80969aa: 4a54 ldr r2, [pc, #336] ; (8096afc ) 80969ac: 215f movs r1, #95 ; 0x5f 80969ae: 2005 movs r0, #5 80969b0: f7bd fca4 bl 80542fc LCD_DisplayString(5, 145, "Output="); 80969b4: 4a41 ldr r2, [pc, #260] ; (8096abc ) 80969b6: 2191 movs r1, #145 ; 0x91 80969b8: 2005 movs r0, #5 80969ba: f7bd fc9f bl 80542fc LCD_DisplayString(5, 170, "Kcorr="); 80969be: 4a40 ldr r2, [pc, #256] ; (8096ac0 ) 80969c0: 21aa movs r1, #170 ; 0xaa 80969c2: 2005 movs r0, #5 80969c4: f7bd fc9a bl 80542fc LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_BLACK); 80969c8: 4936 ldr r1, [pc, #216] ; (8096aa4 ) 80969ca: f06f 00ff mvn.w r0, #255 ; 0xff 80969ce: f7bc feed bl 80537ac LCD_DisplayString(125, 145, (char *) FloatToASCII(skz[ACC], -4)); 80969d2: 4b3c ldr r3, [pc, #240] ; (8096ac4 ) 80969d4: edd3 7a00 vldr s15, [r3] 80969d8: f06f 0003 mvn.w r0, #3 80969dc: eeb0 0a67 vmov.f32 s0, s15 80969e0: f7cf fe8e bl 8066700 80969e4: 4603 mov r3, r0 80969e6: 461a mov r2, r3 80969e8: 2191 movs r1, #145 ; 0x91 80969ea: 207d movs r0, #125 ; 0x7d 80969ec: f7bd fc86 bl 80542fc LCD_DisplayString(125, 170, (char *) FloatToASCII(Kcorr[menu - CALIBR_0], -8)); 80969f0: 4b35 ldr r3, [pc, #212] ; (8096ac8 ) 80969f2: 781b ldrb r3, [r3, #0] 80969f4: b2db uxtb r3, r3 80969f6: 3b35 subs r3, #53 ; 0x35 80969f8: 4a34 ldr r2, [pc, #208] ; (8096acc ) 80969fa: 009b lsls r3, r3, #2 80969fc: 4413 add r3, r2 80969fe: edd3 7a00 vldr s15, [r3] 8096a02: f06f 0007 mvn.w r0, #7 8096a06: eeb0 0a67 vmov.f32 s0, s15 8096a0a: f7cf fe79 bl 8066700 8096a0e: 4603 mov r3, r0 8096a10: 461a mov r2, r3 8096a12: 21aa movs r1, #170 ; 0xaa 8096a14: 207d movs r0, #125 ; 0x7d 8096a16: f7bd fc71 bl 80542fc LCD_DisplayString(80, 40, "V"); 8096a1a: 4a2d ldr r2, [pc, #180] ; (8096ad0 ) 8096a1c: 2128 movs r1, #40 ; 0x28 8096a1e: 2050 movs r0, #80 ; 0x50 8096a20: f7bd fc6c bl 80542fc LCD_DisplayStringR(75, 40, (char *) FloatToASCII(Vbat, -3)); 8096a24: 4b2b ldr r3, [pc, #172] ; (8096ad4 ) 8096a26: edd3 7a00 vldr s15, [r3] 8096a2a: f06f 0002 mvn.w r0, #2 8096a2e: eeb0 0a67 vmov.f32 s0, s15 8096a32: f7cf fe65 bl 8066700 8096a36: 4603 mov r3, r0 8096a38: 461a mov r2, r3 8096a3a: 2128 movs r1, #40 ; 0x28 8096a3c: 204b movs r0, #75 ; 0x4b 8096a3e: f7bd fc8d bl 805435c switch(menupos) 8096a42: 4b25 ldr r3, [pc, #148] ; (8096ad8 ) 8096a44: 781b ldrb r3, [r3, #0] 8096a46: b2db uxtb r3, r3 8096a48: 2b01 cmp r3, #1 8096a4a: d059 beq.n 8096b00 8096a4c: 2b02 cmp r3, #2 8096a4e: d07d beq.n 8096b4c 8096a50: 2b00 cmp r3, #0 8096a52: d001 beq.n 8096a58 else LCD_DisplayStringC(165, 210, "Çàïóñòèòü"); LCD_DisplayStringC(50, 210, "Íàçàä"); break; } break; 8096a54: f000 bdce b.w 80975f4 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8096a58: 4920 ldr r1, [pc, #128] ; (8096adc ) 8096a5a: f04f 30ff mov.w r0, #4294967295 8096a5e: f7bc fea5 bl 80537ac LCD_DisplayStringC(50, 210, "Íàçàä"); 8096a62: 4a1f ldr r2, [pc, #124] ; (8096ae0 ) 8096a64: 21d2 movs r1, #210 ; 0xd2 8096a66: 2032 movs r0, #50 ; 0x32 8096a68: f7bd fc60 bl 805432c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8096a6c: 490d ldr r1, [pc, #52] ; (8096aa4 ) 8096a6e: f04f 30ff mov.w r0, #4294967295 8096a72: f7bc fe9b bl 80537ac if(measuring) 8096a76: 4b1b ldr r3, [pc, #108] ; (8096ae4 ) 8096a78: 781b ldrb r3, [r3, #0] 8096a7a: b2db uxtb r3, r3 8096a7c: 2b00 cmp r3, #0 8096a7e: d005 beq.n 8096a8c LCD_DisplayStringC(165, 210, "Îñòàíîâèòü"); 8096a80: 4a19 ldr r2, [pc, #100] ; (8096ae8 ) 8096a82: 21d2 movs r1, #210 ; 0xd2 8096a84: 20a5 movs r0, #165 ; 0xa5 8096a86: f7bd fc51 bl 805432c 8096a8a: e004 b.n 8096a96 else LCD_DisplayStringC(165, 210, "Çàïóñòèòü"); 8096a8c: 4a17 ldr r2, [pc, #92] ; (8096aec ) 8096a8e: 21d2 movs r1, #210 ; 0xd2 8096a90: 20a5 movs r0, #165 ; 0xa5 8096a92: f7bd fc4b bl 805432c LCD_DisplayStringC(270, 210, "Äàëåå"); 8096a96: 4a16 ldr r2, [pc, #88] ; (8096af0 ) 8096a98: 21d2 movs r1, #210 ; 0xd2 8096a9a: f44f 7087 mov.w r0, #270 ; 0x10e 8096a9e: f7bd fc45 bl 805432c break; 8096aa2: e079 b.n 8096b98 8096aa4: ff0a0f1f .word 0xff0a0f1f 8096aa8: 080d0480 .word 0x080d0480 8096aac: 20020038 .word 0x20020038 8096ab0: 080d05b0 .word 0x080d05b0 8096ab4: 080d05bc .word 0x080d05bc 8096ab8: 080d05cc .word 0x080d05cc 8096abc: 080d04e4 .word 0x080d04e4 8096ac0: 080d04ec .word 0x080d04ec 8096ac4: 20021540 .word 0x20021540 8096ac8: 20020f78 .word 0x20020f78 8096acc: 20026194 .word 0x20026194 8096ad0: 080ce6a0 .word 0x080ce6a0 8096ad4: 20020000 .word 0x20020000 8096ad8: 20020070 .word 0x20020070 8096adc: ff606060 .word 0xff606060 8096ae0: 080d0540 .word 0x080d0540 8096ae4: 20020daf .word 0x20020daf 8096ae8: 080d04f4 .word 0x080d04f4 8096aec: 080d0500 .word 0x080d0500 8096af0: 080ced94 .word 0x080ced94 8096af4: 080d05e0 .word 0x080d05e0 8096af8: 080d05ec .word 0x080d05ec 8096afc: 080d05fc .word 0x080d05fc LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8096b00: 499e ldr r1, [pc, #632] ; (8096d7c ) 8096b02: f04f 30ff mov.w r0, #4294967295 8096b06: f7bc fe51 bl 80537ac if(measuring) 8096b0a: 4b9d ldr r3, [pc, #628] ; (8096d80 ) 8096b0c: 781b ldrb r3, [r3, #0] 8096b0e: b2db uxtb r3, r3 8096b10: 2b00 cmp r3, #0 8096b12: d005 beq.n 8096b20 LCD_DisplayStringC(165, 210, "Îñòàíîâèòü"); 8096b14: 4a9b ldr r2, [pc, #620] ; (8096d84 ) 8096b16: 21d2 movs r1, #210 ; 0xd2 8096b18: 20a5 movs r0, #165 ; 0xa5 8096b1a: f7bd fc07 bl 805432c 8096b1e: e004 b.n 8096b2a else LCD_DisplayStringC(165, 210, "Çàïóñòèòü"); 8096b20: 4a99 ldr r2, [pc, #612] ; (8096d88 ) 8096b22: 21d2 movs r1, #210 ; 0xd2 8096b24: 20a5 movs r0, #165 ; 0xa5 8096b26: f7bd fc01 bl 805432c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8096b2a: 4998 ldr r1, [pc, #608] ; (8096d8c ) 8096b2c: f04f 30ff mov.w r0, #4294967295 8096b30: f7bc fe3c bl 80537ac LCD_DisplayStringC(50, 210, "Íàçàä"); 8096b34: 4a96 ldr r2, [pc, #600] ; (8096d90 ) 8096b36: 21d2 movs r1, #210 ; 0xd2 8096b38: 2032 movs r0, #50 ; 0x32 8096b3a: f7bd fbf7 bl 805432c LCD_DisplayStringC(270, 210, "Äàëåå"); 8096b3e: 4a95 ldr r2, [pc, #596] ; (8096d94 ) 8096b40: 21d2 movs r1, #210 ; 0xd2 8096b42: f44f 7087 mov.w r0, #270 ; 0x10e 8096b46: f7bd fbf1 bl 805432c break; 8096b4a: e025 b.n 8096b98 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8096b4c: 498b ldr r1, [pc, #556] ; (8096d7c ) 8096b4e: f04f 30ff mov.w r0, #4294967295 8096b52: f7bc fe2b bl 80537ac LCD_DisplayStringC(270, 210, "Äàëåå"); 8096b56: 4a8f ldr r2, [pc, #572] ; (8096d94 ) 8096b58: 21d2 movs r1, #210 ; 0xd2 8096b5a: f44f 7087 mov.w r0, #270 ; 0x10e 8096b5e: f7bd fbe5 bl 805432c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8096b62: 498a ldr r1, [pc, #552] ; (8096d8c ) 8096b64: f04f 30ff mov.w r0, #4294967295 8096b68: f7bc fe20 bl 80537ac if(measuring) 8096b6c: 4b84 ldr r3, [pc, #528] ; (8096d80 ) 8096b6e: 781b ldrb r3, [r3, #0] 8096b70: b2db uxtb r3, r3 8096b72: 2b00 cmp r3, #0 8096b74: d005 beq.n 8096b82 LCD_DisplayStringC(165, 210, "Îñòàíîâèòü"); 8096b76: 4a83 ldr r2, [pc, #524] ; (8096d84 ) 8096b78: 21d2 movs r1, #210 ; 0xd2 8096b7a: 20a5 movs r0, #165 ; 0xa5 8096b7c: f7bd fbd6 bl 805432c 8096b80: e004 b.n 8096b8c else LCD_DisplayStringC(165, 210, "Çàïóñòèòü"); 8096b82: 4a81 ldr r2, [pc, #516] ; (8096d88 ) 8096b84: 21d2 movs r1, #210 ; 0xd2 8096b86: 20a5 movs r0, #165 ; 0xa5 8096b88: f7bd fbd0 bl 805432c LCD_DisplayStringC(50, 210, "Íàçàä"); 8096b8c: 4a80 ldr r2, [pc, #512] ; (8096d90 ) 8096b8e: 21d2 movs r1, #210 ; 0xd2 8096b90: 2032 movs r0, #50 ; 0x32 8096b92: f7bd fbcb bl 805432c break; 8096b96: bf00 nop break; 8096b98: f000 bd2c b.w 80975f4 case CALIBR_6: /* Êàëèáðîâêà Êcorr[3] (IEPE 1, Êóñ = 1) */ LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8096b9c: 497b ldr r1, [pc, #492] ; (8096d8c ) 8096b9e: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8096ba2: f7bc fe03 bl 80537ac LCD_DisplayStringC(165, 40, "ÊÀËÈÁÐÎÂÊÀ"); 8096ba6: 4a7c ldr r2, [pc, #496] ; (8096d98 ) 8096ba8: 2128 movs r1, #40 ; 0x28 8096baa: 20a5 movs r0, #165 ; 0xa5 8096bac: f7bd fbbe bl 805432c BSP_LCD_DrawLine(2, 59, 317, 59); 8096bb0: 233b movs r3, #59 ; 0x3b 8096bb2: f240 123d movw r2, #317 ; 0x13d 8096bb6: 213b movs r1, #59 ; 0x3b 8096bb8: 2002 movs r0, #2 8096bba: f7bd f831 bl 8053c20 BSP_LCD_SetFont(&Font12); 8096bbe: 4877 ldr r0, [pc, #476] ; (8096d9c ) 8096bc0: f7bc fe30 bl 8053824 BSP_LCD_DisplayStringAt(310, 36, "[8 / 13]", RIGHT_MODE); 8096bc4: 2302 movs r3, #2 8096bc6: 4a76 ldr r2, [pc, #472] ; (8096da0 ) 8096bc8: 2124 movs r1, #36 ; 0x24 8096bca: f44f 709b mov.w r0, #310 ; 0x136 8096bce: f7bc feb3 bl 8053938 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8096bd2: 496e ldr r1, [pc, #440] ; (8096d8c ) 8096bd4: f04f 30ff mov.w r0, #4294967295 8096bd8: f7bc fde8 bl 80537ac LCD_DisplayString(5, 70, "[ICP 64] [Ky 1]"); 8096bdc: 4a71 ldr r2, [pc, #452] ; (8096da4 ) 8096bde: 2146 movs r1, #70 ; 0x46 8096be0: 2005 movs r0, #5 8096be2: f7bd fb8b bl 80542fc LCD_DisplayString(5, 95, "Input:RMS=16ìÂ,1êÃö"); 8096be6: 4a70 ldr r2, [pc, #448] ; (8096da8 ) 8096be8: 215f movs r1, #95 ; 0x5f 8096bea: 2005 movs r0, #5 8096bec: f7bd fb86 bl 80542fc LCD_DisplayString(5, 145, "Output="); 8096bf0: 4a6e ldr r2, [pc, #440] ; (8096dac ) 8096bf2: 2191 movs r1, #145 ; 0x91 8096bf4: 2005 movs r0, #5 8096bf6: f7bd fb81 bl 80542fc LCD_DisplayString(5, 170, "Kcorr="); 8096bfa: 4a6d ldr r2, [pc, #436] ; (8096db0 ) 8096bfc: 21aa movs r1, #170 ; 0xaa 8096bfe: 2005 movs r0, #5 8096c00: f7bd fb7c bl 80542fc LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_BLACK); 8096c04: 4961 ldr r1, [pc, #388] ; (8096d8c ) 8096c06: f06f 00ff mvn.w r0, #255 ; 0xff 8096c0a: f7bc fdcf bl 80537ac LCD_DisplayString(125, 145, (char *) FloatToASCII(skz[ACC], -4)); 8096c0e: 4b69 ldr r3, [pc, #420] ; (8096db4 ) 8096c10: edd3 7a00 vldr s15, [r3] 8096c14: f06f 0003 mvn.w r0, #3 8096c18: eeb0 0a67 vmov.f32 s0, s15 8096c1c: f7cf fd70 bl 8066700 8096c20: 4603 mov r3, r0 8096c22: 461a mov r2, r3 8096c24: 2191 movs r1, #145 ; 0x91 8096c26: 207d movs r0, #125 ; 0x7d 8096c28: f7bd fb68 bl 80542fc LCD_DisplayString(125, 170, (char *) FloatToASCII(Kcorr[menu - CALIBR_0], -8)); 8096c2c: 4b62 ldr r3, [pc, #392] ; (8096db8 ) 8096c2e: 781b ldrb r3, [r3, #0] 8096c30: b2db uxtb r3, r3 8096c32: 3b35 subs r3, #53 ; 0x35 8096c34: 4a61 ldr r2, [pc, #388] ; (8096dbc ) 8096c36: 009b lsls r3, r3, #2 8096c38: 4413 add r3, r2 8096c3a: edd3 7a00 vldr s15, [r3] 8096c3e: f06f 0007 mvn.w r0, #7 8096c42: eeb0 0a67 vmov.f32 s0, s15 8096c46: f7cf fd5b bl 8066700 8096c4a: 4603 mov r3, r0 8096c4c: 461a mov r2, r3 8096c4e: 21aa movs r1, #170 ; 0xaa 8096c50: 207d movs r0, #125 ; 0x7d 8096c52: f7bd fb53 bl 80542fc LCD_DisplayString(80, 40, "V"); 8096c56: 4a5a ldr r2, [pc, #360] ; (8096dc0 ) 8096c58: 2128 movs r1, #40 ; 0x28 8096c5a: 2050 movs r0, #80 ; 0x50 8096c5c: f7bd fb4e bl 80542fc LCD_DisplayStringR(75, 40, (char *) FloatToASCII(Vbat, -3)); 8096c60: 4b58 ldr r3, [pc, #352] ; (8096dc4 ) 8096c62: edd3 7a00 vldr s15, [r3] 8096c66: f06f 0002 mvn.w r0, #2 8096c6a: eeb0 0a67 vmov.f32 s0, s15 8096c6e: f7cf fd47 bl 8066700 8096c72: 4603 mov r3, r0 8096c74: 461a mov r2, r3 8096c76: 2128 movs r1, #40 ; 0x28 8096c78: 204b movs r0, #75 ; 0x4b 8096c7a: f7bd fb6f bl 805435c switch(menupos) 8096c7e: 4b52 ldr r3, [pc, #328] ; (8096dc8 ) 8096c80: 781b ldrb r3, [r3, #0] 8096c82: b2db uxtb r3, r3 8096c84: 2b01 cmp r3, #1 8096c86: d02b beq.n 8096ce0 8096c88: 2b02 cmp r3, #2 8096c8a: d04f beq.n 8096d2c 8096c8c: 2b00 cmp r3, #0 8096c8e: d001 beq.n 8096c94 else LCD_DisplayStringC(165, 210, "Çàïóñòèòü"); LCD_DisplayStringC(50, 210, "Íàçàä"); break; } break; 8096c90: f000 bcb0 b.w 80975f4 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8096c94: 4939 ldr r1, [pc, #228] ; (8096d7c ) 8096c96: f04f 30ff mov.w r0, #4294967295 8096c9a: f7bc fd87 bl 80537ac LCD_DisplayStringC(50, 210, "Íàçàä"); 8096c9e: 4a3c ldr r2, [pc, #240] ; (8096d90 ) 8096ca0: 21d2 movs r1, #210 ; 0xd2 8096ca2: 2032 movs r0, #50 ; 0x32 8096ca4: f7bd fb42 bl 805432c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8096ca8: 4938 ldr r1, [pc, #224] ; (8096d8c ) 8096caa: f04f 30ff mov.w r0, #4294967295 8096cae: f7bc fd7d bl 80537ac if(measuring) 8096cb2: 4b33 ldr r3, [pc, #204] ; (8096d80 ) 8096cb4: 781b ldrb r3, [r3, #0] 8096cb6: b2db uxtb r3, r3 8096cb8: 2b00 cmp r3, #0 8096cba: d005 beq.n 8096cc8 LCD_DisplayStringC(165, 210, "Îñòàíîâèòü"); 8096cbc: 4a31 ldr r2, [pc, #196] ; (8096d84 ) 8096cbe: 21d2 movs r1, #210 ; 0xd2 8096cc0: 20a5 movs r0, #165 ; 0xa5 8096cc2: f7bd fb33 bl 805432c 8096cc6: e004 b.n 8096cd2 else LCD_DisplayStringC(165, 210, "Çàïóñòèòü"); 8096cc8: 4a2f ldr r2, [pc, #188] ; (8096d88 ) 8096cca: 21d2 movs r1, #210 ; 0xd2 8096ccc: 20a5 movs r0, #165 ; 0xa5 8096cce: f7bd fb2d bl 805432c LCD_DisplayStringC(270, 210, "Äàëåå"); 8096cd2: 4a30 ldr r2, [pc, #192] ; (8096d94 ) 8096cd4: 21d2 movs r1, #210 ; 0xd2 8096cd6: f44f 7087 mov.w r0, #270 ; 0x10e 8096cda: f7bd fb27 bl 805432c break; 8096cde: e04b b.n 8096d78 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8096ce0: 4926 ldr r1, [pc, #152] ; (8096d7c ) 8096ce2: f04f 30ff mov.w r0, #4294967295 8096ce6: f7bc fd61 bl 80537ac if(measuring) 8096cea: 4b25 ldr r3, [pc, #148] ; (8096d80 ) 8096cec: 781b ldrb r3, [r3, #0] 8096cee: b2db uxtb r3, r3 8096cf0: 2b00 cmp r3, #0 8096cf2: d005 beq.n 8096d00 LCD_DisplayStringC(165, 210, "Îñòàíîâèòü"); 8096cf4: 4a23 ldr r2, [pc, #140] ; (8096d84 ) 8096cf6: 21d2 movs r1, #210 ; 0xd2 8096cf8: 20a5 movs r0, #165 ; 0xa5 8096cfa: f7bd fb17 bl 805432c 8096cfe: e004 b.n 8096d0a else LCD_DisplayStringC(165, 210, "Çàïóñòèòü"); 8096d00: 4a21 ldr r2, [pc, #132] ; (8096d88 ) 8096d02: 21d2 movs r1, #210 ; 0xd2 8096d04: 20a5 movs r0, #165 ; 0xa5 8096d06: f7bd fb11 bl 805432c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8096d0a: 4920 ldr r1, [pc, #128] ; (8096d8c ) 8096d0c: f04f 30ff mov.w r0, #4294967295 8096d10: f7bc fd4c bl 80537ac LCD_DisplayStringC(50, 210, "Íàçàä"); 8096d14: 4a1e ldr r2, [pc, #120] ; (8096d90 ) 8096d16: 21d2 movs r1, #210 ; 0xd2 8096d18: 2032 movs r0, #50 ; 0x32 8096d1a: f7bd fb07 bl 805432c LCD_DisplayStringC(270, 210, "Äàëåå"); 8096d1e: 4a1d ldr r2, [pc, #116] ; (8096d94 ) 8096d20: 21d2 movs r1, #210 ; 0xd2 8096d22: f44f 7087 mov.w r0, #270 ; 0x10e 8096d26: f7bd fb01 bl 805432c break; 8096d2a: e025 b.n 8096d78 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8096d2c: 4913 ldr r1, [pc, #76] ; (8096d7c ) 8096d2e: f04f 30ff mov.w r0, #4294967295 8096d32: f7bc fd3b bl 80537ac LCD_DisplayStringC(270, 210, "Äàëåå"); 8096d36: 4a17 ldr r2, [pc, #92] ; (8096d94 ) 8096d38: 21d2 movs r1, #210 ; 0xd2 8096d3a: f44f 7087 mov.w r0, #270 ; 0x10e 8096d3e: f7bd faf5 bl 805432c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8096d42: 4912 ldr r1, [pc, #72] ; (8096d8c ) 8096d44: f04f 30ff mov.w r0, #4294967295 8096d48: f7bc fd30 bl 80537ac if(measuring) 8096d4c: 4b0c ldr r3, [pc, #48] ; (8096d80 ) 8096d4e: 781b ldrb r3, [r3, #0] 8096d50: b2db uxtb r3, r3 8096d52: 2b00 cmp r3, #0 8096d54: d005 beq.n 8096d62 LCD_DisplayStringC(165, 210, "Îñòàíîâèòü"); 8096d56: 4a0b ldr r2, [pc, #44] ; (8096d84 ) 8096d58: 21d2 movs r1, #210 ; 0xd2 8096d5a: 20a5 movs r0, #165 ; 0xa5 8096d5c: f7bd fae6 bl 805432c 8096d60: e004 b.n 8096d6c else LCD_DisplayStringC(165, 210, "Çàïóñòèòü"); 8096d62: 4a09 ldr r2, [pc, #36] ; (8096d88 ) 8096d64: 21d2 movs r1, #210 ; 0xd2 8096d66: 20a5 movs r0, #165 ; 0xa5 8096d68: f7bd fae0 bl 805432c LCD_DisplayStringC(50, 210, "Íàçàä"); 8096d6c: 4a08 ldr r2, [pc, #32] ; (8096d90 ) 8096d6e: 21d2 movs r1, #210 ; 0xd2 8096d70: 2032 movs r0, #50 ; 0x32 8096d72: f7bd fadb bl 805432c break; 8096d76: bf00 nop break; 8096d78: f000 bc3c b.w 80975f4 8096d7c: ff606060 .word 0xff606060 8096d80: 20020daf .word 0x20020daf 8096d84: 080d04f4 .word 0x080d04f4 8096d88: 080d0500 .word 0x080d0500 8096d8c: ff0a0f1f .word 0xff0a0f1f 8096d90: 080d0540 .word 0x080d0540 8096d94: 080ced94 .word 0x080ced94 8096d98: 080d0480 .word 0x080d0480 8096d9c: 20020038 .word 0x20020038 8096da0: 080d0610 .word 0x080d0610 8096da4: 080d061c .word 0x080d061c 8096da8: 080d062c .word 0x080d062c 8096dac: 080d04e4 .word 0x080d04e4 8096db0: 080d04ec .word 0x080d04ec 8096db4: 20021540 .word 0x20021540 8096db8: 20020f78 .word 0x20020f78 8096dbc: 20026194 .word 0x20026194 8096dc0: 080ce6a0 .word 0x080ce6a0 8096dc4: 20020000 .word 0x20020000 8096dc8: 20020070 .word 0x20020070 case CALIBR_7: /* Êàëèáðîâêà Êcorr[4] (IEPE 10, Êóñ = 1) */ LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8096dcc: 49c7 ldr r1, [pc, #796] ; (80970ec ) 8096dce: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8096dd2: f7bc fceb bl 80537ac LCD_DisplayStringC(165, 40, "ÊÀËÈÁÐÎÂÊÀ"); 8096dd6: 4ac6 ldr r2, [pc, #792] ; (80970f0 ) 8096dd8: 2128 movs r1, #40 ; 0x28 8096dda: 20a5 movs r0, #165 ; 0xa5 8096ddc: f7bd faa6 bl 805432c BSP_LCD_DrawLine(2, 59, 317, 59); 8096de0: 233b movs r3, #59 ; 0x3b 8096de2: f240 123d movw r2, #317 ; 0x13d 8096de6: 213b movs r1, #59 ; 0x3b 8096de8: 2002 movs r0, #2 8096dea: f7bc ff19 bl 8053c20 BSP_LCD_SetFont(&Font12); 8096dee: 48c1 ldr r0, [pc, #772] ; (80970f4 ) 8096df0: f7bc fd18 bl 8053824 BSP_LCD_DisplayStringAt(310, 36, "[9 / 13]", RIGHT_MODE); 8096df4: 2302 movs r3, #2 8096df6: 4ac0 ldr r2, [pc, #768] ; (80970f8 ) 8096df8: 2124 movs r1, #36 ; 0x24 8096dfa: f44f 709b mov.w r0, #310 ; 0x136 8096dfe: f7bc fd9b bl 8053938 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8096e02: 49ba ldr r1, [pc, #744] ; (80970ec ) 8096e04: f04f 30ff mov.w r0, #4294967295 8096e08: f7bc fcd0 bl 80537ac LCD_DisplayString(5, 70, "[ICP 1] [Ky 10]"); 8096e0c: 4abb ldr r2, [pc, #748] ; (80970fc ) 8096e0e: 2146 movs r1, #70 ; 0x46 8096e10: 2005 movs r0, #5 8096e12: f7bd fa73 bl 80542fc LCD_DisplayString(5, 95, "Input:RMS=100ìÂ,1êÃö"); 8096e16: 4aba ldr r2, [pc, #744] ; (8097100 ) 8096e18: 215f movs r1, #95 ; 0x5f 8096e1a: 2005 movs r0, #5 8096e1c: f7bd fa6e bl 80542fc LCD_DisplayString(5, 145, "Output="); 8096e20: 4ab8 ldr r2, [pc, #736] ; (8097104 ) 8096e22: 2191 movs r1, #145 ; 0x91 8096e24: 2005 movs r0, #5 8096e26: f7bd fa69 bl 80542fc LCD_DisplayString(5, 170, "Kcorr="); 8096e2a: 4ab7 ldr r2, [pc, #732] ; (8097108 ) 8096e2c: 21aa movs r1, #170 ; 0xaa 8096e2e: 2005 movs r0, #5 8096e30: f7bd fa64 bl 80542fc LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_BLACK); 8096e34: 49ad ldr r1, [pc, #692] ; (80970ec ) 8096e36: f06f 00ff mvn.w r0, #255 ; 0xff 8096e3a: f7bc fcb7 bl 80537ac LCD_DisplayString(125, 145, (char *) FloatToASCII(skz[ACC], -4)); 8096e3e: 4bb3 ldr r3, [pc, #716] ; (809710c ) 8096e40: edd3 7a00 vldr s15, [r3] 8096e44: f06f 0003 mvn.w r0, #3 8096e48: eeb0 0a67 vmov.f32 s0, s15 8096e4c: f7cf fc58 bl 8066700 8096e50: 4603 mov r3, r0 8096e52: 461a mov r2, r3 8096e54: 2191 movs r1, #145 ; 0x91 8096e56: 207d movs r0, #125 ; 0x7d 8096e58: f7bd fa50 bl 80542fc LCD_DisplayString(125, 170, (char *) FloatToASCII(Kcorr[menu - CALIBR_0], -8)); 8096e5c: 4bac ldr r3, [pc, #688] ; (8097110 ) 8096e5e: 781b ldrb r3, [r3, #0] 8096e60: b2db uxtb r3, r3 8096e62: 3b35 subs r3, #53 ; 0x35 8096e64: 4aab ldr r2, [pc, #684] ; (8097114 ) 8096e66: 009b lsls r3, r3, #2 8096e68: 4413 add r3, r2 8096e6a: edd3 7a00 vldr s15, [r3] 8096e6e: f06f 0007 mvn.w r0, #7 8096e72: eeb0 0a67 vmov.f32 s0, s15 8096e76: f7cf fc43 bl 8066700 8096e7a: 4603 mov r3, r0 8096e7c: 461a mov r2, r3 8096e7e: 21aa movs r1, #170 ; 0xaa 8096e80: 207d movs r0, #125 ; 0x7d 8096e82: f7bd fa3b bl 80542fc LCD_DisplayString(80, 40, "V"); 8096e86: 4aa4 ldr r2, [pc, #656] ; (8097118 ) 8096e88: 2128 movs r1, #40 ; 0x28 8096e8a: 2050 movs r0, #80 ; 0x50 8096e8c: f7bd fa36 bl 80542fc LCD_DisplayStringR(75, 40, (char *) FloatToASCII(Vbat, -3)); 8096e90: 4ba2 ldr r3, [pc, #648] ; (809711c ) 8096e92: edd3 7a00 vldr s15, [r3] 8096e96: f06f 0002 mvn.w r0, #2 8096e9a: eeb0 0a67 vmov.f32 s0, s15 8096e9e: f7cf fc2f bl 8066700 8096ea2: 4603 mov r3, r0 8096ea4: 461a mov r2, r3 8096ea6: 2128 movs r1, #40 ; 0x28 8096ea8: 204b movs r0, #75 ; 0x4b 8096eaa: f7bd fa57 bl 805435c switch(menupos) 8096eae: 4b9c ldr r3, [pc, #624] ; (8097120 ) 8096eb0: 781b ldrb r3, [r3, #0] 8096eb2: b2db uxtb r3, r3 8096eb4: 2b01 cmp r3, #1 8096eb6: d02a beq.n 8096f0e 8096eb8: 2b02 cmp r3, #2 8096eba: d04e beq.n 8096f5a 8096ebc: 2b00 cmp r3, #0 8096ebe: d000 beq.n 8096ec2 else LCD_DisplayStringC(165, 210, "Çàïóñòèòü"); LCD_DisplayStringC(50, 210, "Íàçàä"); break; } break; 8096ec0: e398 b.n 80975f4 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8096ec2: 4998 ldr r1, [pc, #608] ; (8097124 ) 8096ec4: f04f 30ff mov.w r0, #4294967295 8096ec8: f7bc fc70 bl 80537ac LCD_DisplayStringC(50, 210, "Íàçàä"); 8096ecc: 4a96 ldr r2, [pc, #600] ; (8097128 ) 8096ece: 21d2 movs r1, #210 ; 0xd2 8096ed0: 2032 movs r0, #50 ; 0x32 8096ed2: f7bd fa2b bl 805432c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8096ed6: 4985 ldr r1, [pc, #532] ; (80970ec ) 8096ed8: f04f 30ff mov.w r0, #4294967295 8096edc: f7bc fc66 bl 80537ac if(measuring) 8096ee0: 4b92 ldr r3, [pc, #584] ; (809712c ) 8096ee2: 781b ldrb r3, [r3, #0] 8096ee4: b2db uxtb r3, r3 8096ee6: 2b00 cmp r3, #0 8096ee8: d005 beq.n 8096ef6 LCD_DisplayStringC(165, 210, "Îñòàíîâèòü"); 8096eea: 4a91 ldr r2, [pc, #580] ; (8097130 ) 8096eec: 21d2 movs r1, #210 ; 0xd2 8096eee: 20a5 movs r0, #165 ; 0xa5 8096ef0: f7bd fa1c bl 805432c 8096ef4: e004 b.n 8096f00 else LCD_DisplayStringC(165, 210, "Çàïóñòèòü"); 8096ef6: 4a8f ldr r2, [pc, #572] ; (8097134 ) 8096ef8: 21d2 movs r1, #210 ; 0xd2 8096efa: 20a5 movs r0, #165 ; 0xa5 8096efc: f7bd fa16 bl 805432c LCD_DisplayStringC(270, 210, "Äàëåå"); 8096f00: 4a8d ldr r2, [pc, #564] ; (8097138 ) 8096f02: 21d2 movs r1, #210 ; 0xd2 8096f04: f44f 7087 mov.w r0, #270 ; 0x10e 8096f08: f7bd fa10 bl 805432c break; 8096f0c: e04b b.n 8096fa6 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8096f0e: 4985 ldr r1, [pc, #532] ; (8097124 ) 8096f10: f04f 30ff mov.w r0, #4294967295 8096f14: f7bc fc4a bl 80537ac if(measuring) 8096f18: 4b84 ldr r3, [pc, #528] ; (809712c ) 8096f1a: 781b ldrb r3, [r3, #0] 8096f1c: b2db uxtb r3, r3 8096f1e: 2b00 cmp r3, #0 8096f20: d005 beq.n 8096f2e LCD_DisplayStringC(165, 210, "Îñòàíîâèòü"); 8096f22: 4a83 ldr r2, [pc, #524] ; (8097130 ) 8096f24: 21d2 movs r1, #210 ; 0xd2 8096f26: 20a5 movs r0, #165 ; 0xa5 8096f28: f7bd fa00 bl 805432c 8096f2c: e004 b.n 8096f38 else LCD_DisplayStringC(165, 210, "Çàïóñòèòü"); 8096f2e: 4a81 ldr r2, [pc, #516] ; (8097134 ) 8096f30: 21d2 movs r1, #210 ; 0xd2 8096f32: 20a5 movs r0, #165 ; 0xa5 8096f34: f7bd f9fa bl 805432c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8096f38: 496c ldr r1, [pc, #432] ; (80970ec ) 8096f3a: f04f 30ff mov.w r0, #4294967295 8096f3e: f7bc fc35 bl 80537ac LCD_DisplayStringC(50, 210, "Íàçàä"); 8096f42: 4a79 ldr r2, [pc, #484] ; (8097128 ) 8096f44: 21d2 movs r1, #210 ; 0xd2 8096f46: 2032 movs r0, #50 ; 0x32 8096f48: f7bd f9f0 bl 805432c LCD_DisplayStringC(270, 210, "Äàëåå"); 8096f4c: 4a7a ldr r2, [pc, #488] ; (8097138 ) 8096f4e: 21d2 movs r1, #210 ; 0xd2 8096f50: f44f 7087 mov.w r0, #270 ; 0x10e 8096f54: f7bd f9ea bl 805432c break; 8096f58: e025 b.n 8096fa6 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8096f5a: 4972 ldr r1, [pc, #456] ; (8097124 ) 8096f5c: f04f 30ff mov.w r0, #4294967295 8096f60: f7bc fc24 bl 80537ac LCD_DisplayStringC(270, 210, "Äàëåå"); 8096f64: 4a74 ldr r2, [pc, #464] ; (8097138 ) 8096f66: 21d2 movs r1, #210 ; 0xd2 8096f68: f44f 7087 mov.w r0, #270 ; 0x10e 8096f6c: f7bd f9de bl 805432c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8096f70: 495e ldr r1, [pc, #376] ; (80970ec ) 8096f72: f04f 30ff mov.w r0, #4294967295 8096f76: f7bc fc19 bl 80537ac if(measuring) 8096f7a: 4b6c ldr r3, [pc, #432] ; (809712c ) 8096f7c: 781b ldrb r3, [r3, #0] 8096f7e: b2db uxtb r3, r3 8096f80: 2b00 cmp r3, #0 8096f82: d005 beq.n 8096f90 LCD_DisplayStringC(165, 210, "Îñòàíîâèòü"); 8096f84: 4a6a ldr r2, [pc, #424] ; (8097130 ) 8096f86: 21d2 movs r1, #210 ; 0xd2 8096f88: 20a5 movs r0, #165 ; 0xa5 8096f8a: f7bd f9cf bl 805432c 8096f8e: e004 b.n 8096f9a else LCD_DisplayStringC(165, 210, "Çàïóñòèòü"); 8096f90: 4a68 ldr r2, [pc, #416] ; (8097134 ) 8096f92: 21d2 movs r1, #210 ; 0xd2 8096f94: 20a5 movs r0, #165 ; 0xa5 8096f96: f7bd f9c9 bl 805432c LCD_DisplayStringC(50, 210, "Íàçàä"); 8096f9a: 4a63 ldr r2, [pc, #396] ; (8097128 ) 8096f9c: 21d2 movs r1, #210 ; 0xd2 8096f9e: 2032 movs r0, #50 ; 0x32 8096fa0: f7bd f9c4 bl 805432c break; 8096fa4: bf00 nop break; 8096fa6: e325 b.n 80975f4 case CALIBR_8: LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8096fa8: 4950 ldr r1, [pc, #320] ; (80970ec ) 8096faa: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8096fae: f7bc fbfd bl 80537ac LCD_DisplayStringC(165, 40, "ÊÀËÈÁÐÎÂÊÀ"); 8096fb2: 4a4f ldr r2, [pc, #316] ; (80970f0 ) 8096fb4: 2128 movs r1, #40 ; 0x28 8096fb6: 20a5 movs r0, #165 ; 0xa5 8096fb8: f7bd f9b8 bl 805432c BSP_LCD_DrawLine(2, 59, 317, 59); 8096fbc: 233b movs r3, #59 ; 0x3b 8096fbe: f240 123d movw r2, #317 ; 0x13d 8096fc2: 213b movs r1, #59 ; 0x3b 8096fc4: 2002 movs r0, #2 8096fc6: f7bc fe2b bl 8053c20 BSP_LCD_SetFont(&Font12); 8096fca: 484a ldr r0, [pc, #296] ; (80970f4 ) 8096fcc: f7bc fc2a bl 8053824 BSP_LCD_DisplayStringAt(310, 36, "[10 / 13]", RIGHT_MODE); 8096fd0: 2302 movs r3, #2 8096fd2: 4a5a ldr r2, [pc, #360] ; (809713c ) 8096fd4: 2124 movs r1, #36 ; 0x24 8096fd6: f44f 709b mov.w r0, #310 ; 0x136 8096fda: f7bc fcad bl 8053938 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8096fde: 4943 ldr r1, [pc, #268] ; (80970ec ) 8096fe0: f04f 30ff mov.w r0, #4294967295 8096fe4: f7bc fbe2 bl 80537ac LCD_DisplayString(5, 70, "[ZAR 1] [Ky 1]"); 8096fe8: 4a55 ldr r2, [pc, #340] ; (8097140 ) 8096fea: 2146 movs r1, #70 ; 0x46 8096fec: 2005 movs r0, #5 8096fee: f7bd f985 bl 80542fc LCD_DisplayString(5, 95, "Input:RMS=1024ìÂ,1êÃö"); 8096ff2: 4a54 ldr r2, [pc, #336] ; (8097144 ) 8096ff4: 215f movs r1, #95 ; 0x5f 8096ff6: 2005 movs r0, #5 8096ff8: f7bd f980 bl 80542fc LCD_DisplayString(5, 145, "Output="); 8096ffc: 4a41 ldr r2, [pc, #260] ; (8097104 ) 8096ffe: 2191 movs r1, #145 ; 0x91 8097000: 2005 movs r0, #5 8097002: f7bd f97b bl 80542fc LCD_DisplayString(5, 170, "Kcorr="); 8097006: 4a40 ldr r2, [pc, #256] ; (8097108 ) 8097008: 21aa movs r1, #170 ; 0xaa 809700a: 2005 movs r0, #5 809700c: f7bd f976 bl 80542fc LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_BLACK); 8097010: 4936 ldr r1, [pc, #216] ; (80970ec ) 8097012: f06f 00ff mvn.w r0, #255 ; 0xff 8097016: f7bc fbc9 bl 80537ac LCD_DisplayString(125, 145, (char *) FloatToASCII(skz[ACC], -4)); 809701a: 4b3c ldr r3, [pc, #240] ; (809710c ) 809701c: edd3 7a00 vldr s15, [r3] 8097020: f06f 0003 mvn.w r0, #3 8097024: eeb0 0a67 vmov.f32 s0, s15 8097028: f7cf fb6a bl 8066700 809702c: 4603 mov r3, r0 809702e: 461a mov r2, r3 8097030: 2191 movs r1, #145 ; 0x91 8097032: 207d movs r0, #125 ; 0x7d 8097034: f7bd f962 bl 80542fc LCD_DisplayString(125, 170, (char *) FloatToASCII(Kcorr[menu - CALIBR_0], -8)); 8097038: 4b35 ldr r3, [pc, #212] ; (8097110 ) 809703a: 781b ldrb r3, [r3, #0] 809703c: b2db uxtb r3, r3 809703e: 3b35 subs r3, #53 ; 0x35 8097040: 4a34 ldr r2, [pc, #208] ; (8097114 ) 8097042: 009b lsls r3, r3, #2 8097044: 4413 add r3, r2 8097046: edd3 7a00 vldr s15, [r3] 809704a: f06f 0007 mvn.w r0, #7 809704e: eeb0 0a67 vmov.f32 s0, s15 8097052: f7cf fb55 bl 8066700 8097056: 4603 mov r3, r0 8097058: 461a mov r2, r3 809705a: 21aa movs r1, #170 ; 0xaa 809705c: 207d movs r0, #125 ; 0x7d 809705e: f7bd f94d bl 80542fc LCD_DisplayString(80, 40, "V"); 8097062: 4a2d ldr r2, [pc, #180] ; (8097118 ) 8097064: 2128 movs r1, #40 ; 0x28 8097066: 2050 movs r0, #80 ; 0x50 8097068: f7bd f948 bl 80542fc LCD_DisplayStringR(75, 40, (char *) FloatToASCII(Vbat, -3)); 809706c: 4b2b ldr r3, [pc, #172] ; (809711c ) 809706e: edd3 7a00 vldr s15, [r3] 8097072: f06f 0002 mvn.w r0, #2 8097076: eeb0 0a67 vmov.f32 s0, s15 809707a: f7cf fb41 bl 8066700 809707e: 4603 mov r3, r0 8097080: 461a mov r2, r3 8097082: 2128 movs r1, #40 ; 0x28 8097084: 204b movs r0, #75 ; 0x4b 8097086: f7bd f969 bl 805435c switch(menupos) 809708a: 4b25 ldr r3, [pc, #148] ; (8097120 ) 809708c: 781b ldrb r3, [r3, #0] 809708e: b2db uxtb r3, r3 8097090: 2b01 cmp r3, #1 8097092: d059 beq.n 8097148 8097094: 2b02 cmp r3, #2 8097096: d07d beq.n 8097194 8097098: 2b00 cmp r3, #0 809709a: d000 beq.n 809709e else LCD_DisplayStringC(165, 210, "Çàïóñòèòü"); LCD_DisplayStringC(50, 210, "Íàçàä"); break; } break; 809709c: e2aa b.n 80975f4 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 809709e: 4921 ldr r1, [pc, #132] ; (8097124 ) 80970a0: f04f 30ff mov.w r0, #4294967295 80970a4: f7bc fb82 bl 80537ac LCD_DisplayStringC(50, 210, "Íàçàä"); 80970a8: 4a1f ldr r2, [pc, #124] ; (8097128 ) 80970aa: 21d2 movs r1, #210 ; 0xd2 80970ac: 2032 movs r0, #50 ; 0x32 80970ae: f7bd f93d bl 805432c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80970b2: 490e ldr r1, [pc, #56] ; (80970ec ) 80970b4: f04f 30ff mov.w r0, #4294967295 80970b8: f7bc fb78 bl 80537ac if(measuring) 80970bc: 4b1b ldr r3, [pc, #108] ; (809712c ) 80970be: 781b ldrb r3, [r3, #0] 80970c0: b2db uxtb r3, r3 80970c2: 2b00 cmp r3, #0 80970c4: d005 beq.n 80970d2 LCD_DisplayStringC(165, 210, "Îñòàíîâèòü"); 80970c6: 4a1a ldr r2, [pc, #104] ; (8097130 ) 80970c8: 21d2 movs r1, #210 ; 0xd2 80970ca: 20a5 movs r0, #165 ; 0xa5 80970cc: f7bd f92e bl 805432c 80970d0: e004 b.n 80970dc else LCD_DisplayStringC(165, 210, "Çàïóñòèòü"); 80970d2: 4a18 ldr r2, [pc, #96] ; (8097134 ) 80970d4: 21d2 movs r1, #210 ; 0xd2 80970d6: 20a5 movs r0, #165 ; 0xa5 80970d8: f7bd f928 bl 805432c LCD_DisplayStringC(270, 210, "Äàëåå"); 80970dc: 4a16 ldr r2, [pc, #88] ; (8097138 ) 80970de: 21d2 movs r1, #210 ; 0xd2 80970e0: f44f 7087 mov.w r0, #270 ; 0x10e 80970e4: f7bd f922 bl 805432c break; 80970e8: e07a b.n 80971e0 80970ea: bf00 nop 80970ec: ff0a0f1f .word 0xff0a0f1f 80970f0: 080d0480 .word 0x080d0480 80970f4: 20020038 .word 0x20020038 80970f8: 080d0640 .word 0x080d0640 80970fc: 080d064c .word 0x080d064c 8097100: 080d065c .word 0x080d065c 8097104: 080d04e4 .word 0x080d04e4 8097108: 080d04ec .word 0x080d04ec 809710c: 20021540 .word 0x20021540 8097110: 20020f78 .word 0x20020f78 8097114: 20026194 .word 0x20026194 8097118: 080ce6a0 .word 0x080ce6a0 809711c: 20020000 .word 0x20020000 8097120: 20020070 .word 0x20020070 8097124: ff606060 .word 0xff606060 8097128: 080d0540 .word 0x080d0540 809712c: 20020daf .word 0x20020daf 8097130: 080d04f4 .word 0x080d04f4 8097134: 080d0500 .word 0x080d0500 8097138: 080ced94 .word 0x080ced94 809713c: 080d0674 .word 0x080d0674 8097140: 080d0680 .word 0x080d0680 8097144: 080d04cc .word 0x080d04cc LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8097148: 49c7 ldr r1, [pc, #796] ; (8097468 ) 809714a: f04f 30ff mov.w r0, #4294967295 809714e: f7bc fb2d bl 80537ac if(measuring) 8097152: 4bc6 ldr r3, [pc, #792] ; (809746c ) 8097154: 781b ldrb r3, [r3, #0] 8097156: b2db uxtb r3, r3 8097158: 2b00 cmp r3, #0 809715a: d005 beq.n 8097168 LCD_DisplayStringC(165, 210, "Îñòàíîâèòü"); 809715c: 4ac4 ldr r2, [pc, #784] ; (8097470 ) 809715e: 21d2 movs r1, #210 ; 0xd2 8097160: 20a5 movs r0, #165 ; 0xa5 8097162: f7bd f8e3 bl 805432c 8097166: e004 b.n 8097172 else LCD_DisplayStringC(165, 210, "Çàïóñòèòü"); 8097168: 4ac2 ldr r2, [pc, #776] ; (8097474 ) 809716a: 21d2 movs r1, #210 ; 0xd2 809716c: 20a5 movs r0, #165 ; 0xa5 809716e: f7bd f8dd bl 805432c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8097172: 49c1 ldr r1, [pc, #772] ; (8097478 ) 8097174: f04f 30ff mov.w r0, #4294967295 8097178: f7bc fb18 bl 80537ac LCD_DisplayStringC(50, 210, "Íàçàä"); 809717c: 4abf ldr r2, [pc, #764] ; (809747c ) 809717e: 21d2 movs r1, #210 ; 0xd2 8097180: 2032 movs r0, #50 ; 0x32 8097182: f7bd f8d3 bl 805432c LCD_DisplayStringC(270, 210, "Äàëåå"); 8097186: 4abe ldr r2, [pc, #760] ; (8097480 ) 8097188: 21d2 movs r1, #210 ; 0xd2 809718a: f44f 7087 mov.w r0, #270 ; 0x10e 809718e: f7bd f8cd bl 805432c break; 8097192: e025 b.n 80971e0 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8097194: 49b4 ldr r1, [pc, #720] ; (8097468 ) 8097196: f04f 30ff mov.w r0, #4294967295 809719a: f7bc fb07 bl 80537ac LCD_DisplayStringC(270, 210, "Äàëåå"); 809719e: 4ab8 ldr r2, [pc, #736] ; (8097480 ) 80971a0: 21d2 movs r1, #210 ; 0xd2 80971a2: f44f 7087 mov.w r0, #270 ; 0x10e 80971a6: f7bd f8c1 bl 805432c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80971aa: 49b3 ldr r1, [pc, #716] ; (8097478 ) 80971ac: f04f 30ff mov.w r0, #4294967295 80971b0: f7bc fafc bl 80537ac if(measuring) 80971b4: 4bad ldr r3, [pc, #692] ; (809746c ) 80971b6: 781b ldrb r3, [r3, #0] 80971b8: b2db uxtb r3, r3 80971ba: 2b00 cmp r3, #0 80971bc: d005 beq.n 80971ca LCD_DisplayStringC(165, 210, "Îñòàíîâèòü"); 80971be: 4aac ldr r2, [pc, #688] ; (8097470 ) 80971c0: 21d2 movs r1, #210 ; 0xd2 80971c2: 20a5 movs r0, #165 ; 0xa5 80971c4: f7bd f8b2 bl 805432c 80971c8: e004 b.n 80971d4 else LCD_DisplayStringC(165, 210, "Çàïóñòèòü"); 80971ca: 4aaa ldr r2, [pc, #680] ; (8097474 ) 80971cc: 21d2 movs r1, #210 ; 0xd2 80971ce: 20a5 movs r0, #165 ; 0xa5 80971d0: f7bd f8ac bl 805432c LCD_DisplayStringC(50, 210, "Íàçàä"); 80971d4: 4aa9 ldr r2, [pc, #676] ; (809747c ) 80971d6: 21d2 movs r1, #210 ; 0xd2 80971d8: 2032 movs r0, #50 ; 0x32 80971da: f7bd f8a7 bl 805432c break; 80971de: bf00 nop break; 80971e0: e208 b.n 80975f4 case CALIBR_9: // LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80971e2: 49a5 ldr r1, [pc, #660] ; (8097478 ) 80971e4: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80971e8: f7bc fae0 bl 80537ac LCD_DisplayStringC(165, 40, "ÊÀËÈÁÐÎÂÊÀ"); 80971ec: 4aa5 ldr r2, [pc, #660] ; (8097484 ) 80971ee: 2128 movs r1, #40 ; 0x28 80971f0: 20a5 movs r0, #165 ; 0xa5 80971f2: f7bd f89b bl 805432c BSP_LCD_DrawLine(2, 59, 317, 59); 80971f6: 233b movs r3, #59 ; 0x3b 80971f8: f240 123d movw r2, #317 ; 0x13d 80971fc: 213b movs r1, #59 ; 0x3b 80971fe: 2002 movs r0, #2 8097200: f7bc fd0e bl 8053c20 BSP_LCD_SetFont(&Font12); 8097204: 48a0 ldr r0, [pc, #640] ; (8097488 ) 8097206: f7bc fb0d bl 8053824 BSP_LCD_DisplayStringAt(310, 36, "[11 / 13]", RIGHT_MODE); 809720a: 2302 movs r3, #2 809720c: 4a9f ldr r2, [pc, #636] ; (809748c ) 809720e: 2124 movs r1, #36 ; 0x24 8097210: f44f 709b mov.w r0, #310 ; 0x136 8097214: f7bc fb90 bl 8053938 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8097218: 4997 ldr r1, [pc, #604] ; (8097478 ) 809721a: f04f 30ff mov.w r0, #4294967295 809721e: f7bc fac5 bl 80537ac LCD_DisplayString(5, 70, "Óñòàíîâèòü íàïðÿæåíèå"); 8097222: 4a9b ldr r2, [pc, #620] ; (8097490 ) 8097224: 2146 movs r1, #70 ; 0x46 8097226: 2005 movs r0, #5 8097228: f7bd f868 bl 80542fc LCD_DisplayString(5, 95, "íà áàòàðåå 3.50 Â"); 809722c: 4a99 ldr r2, [pc, #612] ; (8097494 ) 809722e: 215f movs r1, #95 ; 0x5f 8097230: 2005 movs r0, #5 8097232: f7bd f863 bl 80542fc LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_BLACK); 8097236: 4990 ldr r1, [pc, #576] ; (8097478 ) 8097238: f06f 00ff mvn.w r0, #255 ; 0xff 809723c: f7bc fab6 bl 80537ac LCD_DisplayStringR(75, 40, (char *) FloatToASCII(Vbat, -3)); 8097240: 4b95 ldr r3, [pc, #596] ; (8097498 ) 8097242: edd3 7a00 vldr s15, [r3] 8097246: f06f 0002 mvn.w r0, #2 809724a: eeb0 0a67 vmov.f32 s0, s15 809724e: f7cf fa57 bl 8066700 8097252: 4603 mov r3, r0 8097254: 461a mov r2, r3 8097256: 2128 movs r1, #40 ; 0x28 8097258: 204b movs r0, #75 ; 0x4b 809725a: f7bd f87f bl 805435c switch(menupos) 809725e: 4b8f ldr r3, [pc, #572] ; (809749c ) 8097260: 781b ldrb r3, [r3, #0] 8097262: b2db uxtb r3, r3 8097264: 2b00 cmp r3, #0 8097266: d002 beq.n 809726e 8097268: 2b01 cmp r3, #1 809726a: d016 beq.n 809729a LCD_DisplayStringC(270, 210, "Äàëåå"); LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); LCD_DisplayStringC(50, 210, "Íàçàä"); break; } break; 809726c: e1c2 b.n 80975f4 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 809726e: 497e ldr r1, [pc, #504] ; (8097468 ) 8097270: f04f 30ff mov.w r0, #4294967295 8097274: f7bc fa9a bl 80537ac LCD_DisplayStringC(50, 210, "Íàçàä"); 8097278: 4a80 ldr r2, [pc, #512] ; (809747c ) 809727a: 21d2 movs r1, #210 ; 0xd2 809727c: 2032 movs r0, #50 ; 0x32 809727e: f7bd f855 bl 805432c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8097282: 497d ldr r1, [pc, #500] ; (8097478 ) 8097284: f04f 30ff mov.w r0, #4294967295 8097288: f7bc fa90 bl 80537ac LCD_DisplayStringC(270, 210, "Äàëåå"); 809728c: 4a7c ldr r2, [pc, #496] ; (8097480 ) 809728e: 21d2 movs r1, #210 ; 0xd2 8097290: f44f 7087 mov.w r0, #270 ; 0x10e 8097294: f7bd f84a bl 805432c break; 8097298: e015 b.n 80972c6 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 809729a: 4973 ldr r1, [pc, #460] ; (8097468 ) 809729c: f04f 30ff mov.w r0, #4294967295 80972a0: f7bc fa84 bl 80537ac LCD_DisplayStringC(270, 210, "Äàëåå"); 80972a4: 4a76 ldr r2, [pc, #472] ; (8097480 ) 80972a6: 21d2 movs r1, #210 ; 0xd2 80972a8: f44f 7087 mov.w r0, #270 ; 0x10e 80972ac: f7bd f83e bl 805432c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80972b0: 4971 ldr r1, [pc, #452] ; (8097478 ) 80972b2: f04f 30ff mov.w r0, #4294967295 80972b6: f7bc fa79 bl 80537ac LCD_DisplayStringC(50, 210, "Íàçàä"); 80972ba: 4a70 ldr r2, [pc, #448] ; (809747c ) 80972bc: 21d2 movs r1, #210 ; 0xd2 80972be: 2032 movs r0, #50 ; 0x32 80972c0: f7bd f834 bl 805432c break; 80972c4: bf00 nop break; 80972c6: e195 b.n 80975f4 case CALIBR_10: // LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80972c8: 496b ldr r1, [pc, #428] ; (8097478 ) 80972ca: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80972ce: f7bc fa6d bl 80537ac LCD_DisplayStringC(165, 40, "ÊÀËÈÁÐÎÂÊÀ"); 80972d2: 4a6c ldr r2, [pc, #432] ; (8097484 ) 80972d4: 2128 movs r1, #40 ; 0x28 80972d6: 20a5 movs r0, #165 ; 0xa5 80972d8: f7bd f828 bl 805432c BSP_LCD_DrawLine(2, 59, 317, 59); 80972dc: 233b movs r3, #59 ; 0x3b 80972de: f240 123d movw r2, #317 ; 0x13d 80972e2: 213b movs r1, #59 ; 0x3b 80972e4: 2002 movs r0, #2 80972e6: f7bc fc9b bl 8053c20 BSP_LCD_SetFont(&Font12); 80972ea: 4867 ldr r0, [pc, #412] ; (8097488 ) 80972ec: f7bc fa9a bl 8053824 BSP_LCD_DisplayStringAt(310, 36, "[12 / 13]", RIGHT_MODE); 80972f0: 2302 movs r3, #2 80972f2: 4a6b ldr r2, [pc, #428] ; (80974a0 ) 80972f4: 2124 movs r1, #36 ; 0x24 80972f6: f44f 709b mov.w r0, #310 ; 0x136 80972fa: f7bc fb1d bl 8053938 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80972fe: 495e ldr r1, [pc, #376] ; (8097478 ) 8097300: f04f 30ff mov.w r0, #4294967295 8097304: f7bc fa52 bl 80537ac LCD_DisplayString(5, 70, "Óñòàíîâèòü íàïðÿæåíèå"); 8097308: 4a61 ldr r2, [pc, #388] ; (8097490 ) 809730a: 2146 movs r1, #70 ; 0x46 809730c: 2005 movs r0, #5 809730e: f7bc fff5 bl 80542fc LCD_DisplayString(5, 95, "íà áàòàðåå 4.20 Â"); 8097312: 4a64 ldr r2, [pc, #400] ; (80974a4 ) 8097314: 215f movs r1, #95 ; 0x5f 8097316: 2005 movs r0, #5 8097318: f7bc fff0 bl 80542fc LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_BLACK); 809731c: 4956 ldr r1, [pc, #344] ; (8097478 ) 809731e: f06f 00ff mvn.w r0, #255 ; 0xff 8097322: f7bc fa43 bl 80537ac LCD_DisplayStringR(75, 40, (char *) FloatToASCII(Vbat, -3)); 8097326: 4b5c ldr r3, [pc, #368] ; (8097498 ) 8097328: edd3 7a00 vldr s15, [r3] 809732c: f06f 0002 mvn.w r0, #2 8097330: eeb0 0a67 vmov.f32 s0, s15 8097334: f7cf f9e4 bl 8066700 8097338: 4603 mov r3, r0 809733a: 461a mov r2, r3 809733c: 2128 movs r1, #40 ; 0x28 809733e: 204b movs r0, #75 ; 0x4b 8097340: f7bd f80c bl 805435c switch(menupos) 8097344: 4b55 ldr r3, [pc, #340] ; (809749c ) 8097346: 781b ldrb r3, [r3, #0] 8097348: b2db uxtb r3, r3 809734a: 2b00 cmp r3, #0 809734c: d002 beq.n 8097354 809734e: 2b01 cmp r3, #1 8097350: d016 beq.n 8097380 LCD_DisplayStringC(270, 210, "Äàëåå"); LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); LCD_DisplayStringC(50, 210, "Íàçàä"); break; } break; 8097352: e14f b.n 80975f4 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8097354: 4944 ldr r1, [pc, #272] ; (8097468 ) 8097356: f04f 30ff mov.w r0, #4294967295 809735a: f7bc fa27 bl 80537ac LCD_DisplayStringC(50, 210, "Íàçàä"); 809735e: 4a47 ldr r2, [pc, #284] ; (809747c ) 8097360: 21d2 movs r1, #210 ; 0xd2 8097362: 2032 movs r0, #50 ; 0x32 8097364: f7bc ffe2 bl 805432c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8097368: 4943 ldr r1, [pc, #268] ; (8097478 ) 809736a: f04f 30ff mov.w r0, #4294967295 809736e: f7bc fa1d bl 80537ac LCD_DisplayStringC(270, 210, "Äàëåå"); 8097372: 4a43 ldr r2, [pc, #268] ; (8097480 ) 8097374: 21d2 movs r1, #210 ; 0xd2 8097376: f44f 7087 mov.w r0, #270 ; 0x10e 809737a: f7bc ffd7 bl 805432c break; 809737e: e015 b.n 80973ac LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8097380: 4939 ldr r1, [pc, #228] ; (8097468 ) 8097382: f04f 30ff mov.w r0, #4294967295 8097386: f7bc fa11 bl 80537ac LCD_DisplayStringC(270, 210, "Äàëåå"); 809738a: 4a3d ldr r2, [pc, #244] ; (8097480 ) 809738c: 21d2 movs r1, #210 ; 0xd2 809738e: f44f 7087 mov.w r0, #270 ; 0x10e 8097392: f7bc ffcb bl 805432c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8097396: 4938 ldr r1, [pc, #224] ; (8097478 ) 8097398: f04f 30ff mov.w r0, #4294967295 809739c: f7bc fa06 bl 80537ac LCD_DisplayStringC(50, 210, "Íàçàä"); 80973a0: 4a36 ldr r2, [pc, #216] ; (809747c ) 80973a2: 21d2 movs r1, #210 ; 0xd2 80973a4: 2032 movs r0, #50 ; 0x32 80973a6: f7bc ffc1 bl 805432c break; 80973aa: bf00 nop break; 80973ac: e122 b.n 80975f4 case CALIBR_11: // LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80973ae: 4932 ldr r1, [pc, #200] ; (8097478 ) 80973b0: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80973b4: f7bc f9fa bl 80537ac LCD_DisplayStringC(165, 40, "ÊÀËÈÁÐÎÂÊÀ"); 80973b8: 4a32 ldr r2, [pc, #200] ; (8097484 ) 80973ba: 2128 movs r1, #40 ; 0x28 80973bc: 20a5 movs r0, #165 ; 0xa5 80973be: f7bc ffb5 bl 805432c BSP_LCD_DrawLine(2, 59, 317, 59); 80973c2: 233b movs r3, #59 ; 0x3b 80973c4: f240 123d movw r2, #317 ; 0x13d 80973c8: 213b movs r1, #59 ; 0x3b 80973ca: 2002 movs r0, #2 80973cc: f7bc fc28 bl 8053c20 BSP_LCD_SetFont(&Font12); 80973d0: 482d ldr r0, [pc, #180] ; (8097488 ) 80973d2: f7bc fa27 bl 8053824 BSP_LCD_DisplayStringAt(310, 36, "[13 / 13]", RIGHT_MODE); 80973d6: 2302 movs r3, #2 80973d8: 4a33 ldr r2, [pc, #204] ; (80974a8 ) 80973da: 2124 movs r1, #36 ; 0x24 80973dc: f44f 709b mov.w r0, #310 ; 0x136 80973e0: f7bc faaa bl 8053938 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80973e4: 4924 ldr r1, [pc, #144] ; (8097478 ) 80973e6: f04f 30ff mov.w r0, #4294967295 80973ea: f7bc f9df bl 80537ac LCD_DisplayString(5, 70, "Êàëèáðîâêà îêîí÷åíà!"); 80973ee: 4a2f ldr r2, [pc, #188] ; (80974ac ) 80973f0: 2146 movs r1, #70 ; 0x46 80973f2: 2005 movs r0, #5 80973f4: f7bc ff82 bl 80542fc LCD_DisplayString(5, 95, "Íå çàáóäü ñîõðàíèòü!"); 80973f8: 4a2d ldr r2, [pc, #180] ; (80974b0 ) 80973fa: 215f movs r1, #95 ; 0x5f 80973fc: 2005 movs r0, #5 80973fe: f7bc ff7d bl 80542fc LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_BLACK); 8097402: 491d ldr r1, [pc, #116] ; (8097478 ) 8097404: f06f 00ff mvn.w r0, #255 ; 0xff 8097408: f7bc f9d0 bl 80537ac LCD_DisplayStringR(75, 40, (char *) FloatToASCII(Vbat, -3)); 809740c: 4b22 ldr r3, [pc, #136] ; (8097498 ) 809740e: edd3 7a00 vldr s15, [r3] 8097412: f06f 0002 mvn.w r0, #2 8097416: eeb0 0a67 vmov.f32 s0, s15 809741a: f7cf f971 bl 8066700 809741e: 4603 mov r3, r0 8097420: 461a mov r2, r3 8097422: 2128 movs r1, #40 ; 0x28 8097424: 204b movs r0, #75 ; 0x4b 8097426: f7bc ff99 bl 805435c switch(menupos) 809742a: 4b1c ldr r3, [pc, #112] ; (809749c ) 809742c: 781b ldrb r3, [r3, #0] 809742e: b2db uxtb r3, r3 8097430: 2b00 cmp r3, #0 8097432: d002 beq.n 809743a 8097434: 2b01 cmp r3, #1 8097436: d03f beq.n 80974b8 LCD_DisplayStringC(270, 210, "Ñîõð"); LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); LCD_DisplayStringC(50, 210, "Íàçàä"); break; } break; 8097438: e0dc b.n 80975f4 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 809743a: 490b ldr r1, [pc, #44] ; (8097468 ) 809743c: f04f 30ff mov.w r0, #4294967295 8097440: f7bc f9b4 bl 80537ac LCD_DisplayStringC(50, 210, "Íàçàä"); 8097444: 4a0d ldr r2, [pc, #52] ; (809747c ) 8097446: 21d2 movs r1, #210 ; 0xd2 8097448: 2032 movs r0, #50 ; 0x32 809744a: f7bc ff6f bl 805432c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 809744e: 490a ldr r1, [pc, #40] ; (8097478 ) 8097450: f04f 30ff mov.w r0, #4294967295 8097454: f7bc f9aa bl 80537ac LCD_DisplayStringC(270, 210, "Ñîõð"); 8097458: 4a16 ldr r2, [pc, #88] ; (80974b4 ) 809745a: 21d2 movs r1, #210 ; 0xd2 809745c: f44f 7087 mov.w r0, #270 ; 0x10e 8097460: f7bc ff64 bl 805432c break; 8097464: e03e b.n 80974e4 8097466: bf00 nop 8097468: ff606060 .word 0xff606060 809746c: 20020daf .word 0x20020daf 8097470: 080d04f4 .word 0x080d04f4 8097474: 080d0500 .word 0x080d0500 8097478: ff0a0f1f .word 0xff0a0f1f 809747c: 080d0540 .word 0x080d0540 8097480: 080ced94 .word 0x080ced94 8097484: 080d0480 .word 0x080d0480 8097488: 20020038 .word 0x20020038 809748c: 080d0690 .word 0x080d0690 8097490: 080d069c .word 0x080d069c 8097494: 080d06b4 .word 0x080d06b4 8097498: 20020000 .word 0x20020000 809749c: 20020070 .word 0x20020070 80974a0: 080d06c8 .word 0x080d06c8 80974a4: 080d06d4 .word 0x080d06d4 80974a8: 080d06e8 .word 0x080d06e8 80974ac: 080d06f4 .word 0x080d06f4 80974b0: 080d070c .word 0x080d070c 80974b4: 080d0724 .word 0x080d0724 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 80974b8: 495b ldr r1, [pc, #364] ; (8097628 ) 80974ba: f04f 30ff mov.w r0, #4294967295 80974be: f7bc f975 bl 80537ac LCD_DisplayStringC(270, 210, "Ñîõð"); 80974c2: 4a5a ldr r2, [pc, #360] ; (809762c ) 80974c4: 21d2 movs r1, #210 ; 0xd2 80974c6: f44f 7087 mov.w r0, #270 ; 0x10e 80974ca: f7bc ff2f bl 805432c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80974ce: 4958 ldr r1, [pc, #352] ; (8097630 ) 80974d0: f04f 30ff mov.w r0, #4294967295 80974d4: f7bc f96a bl 80537ac LCD_DisplayStringC(50, 210, "Íàçàä"); 80974d8: 4a56 ldr r2, [pc, #344] ; (8097634 ) 80974da: 21d2 movs r1, #210 ; 0xd2 80974dc: 2032 movs r0, #50 ; 0x32 80974de: f7bc ff25 bl 805432c break; 80974e2: bf00 nop break; 80974e4: e086 b.n 80975f4 case CALIBR_OFFSET: LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80974e6: 4952 ldr r1, [pc, #328] ; (8097630 ) 80974e8: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80974ec: f7bc f95e bl 80537ac LCD_DisplayStringC(165, 40, "ÊÀËÈÁÐÎÂÊÀ ÍÓËß"); 80974f0: 4a51 ldr r2, [pc, #324] ; (8097638 ) 80974f2: 2128 movs r1, #40 ; 0x28 80974f4: 20a5 movs r0, #165 ; 0xa5 80974f6: f7bc ff19 bl 805432c BSP_LCD_DrawLine(2, 59, 317, 59); 80974fa: 233b movs r3, #59 ; 0x3b 80974fc: f240 123d movw r2, #317 ; 0x13d 8097500: 213b movs r1, #59 ; 0x3b 8097502: 2002 movs r0, #2 8097504: f7bc fb8c bl 8053c20 BSP_LCD_SetFont(&Font12); 8097508: 484c ldr r0, [pc, #304] ; (809763c ) 809750a: f7bc f98b bl 8053824 LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_BLACK); 809750e: 4948 ldr r1, [pc, #288] ; (8097630 ) 8097510: f06f 00ff mvn.w r0, #255 ; 0xff 8097514: f7bc f94a bl 80537ac LCD_DisplayStringC(165, 120, (char *) FloatToASCII(MEAN_TEMP, -3)); 8097518: 4b49 ldr r3, [pc, #292] ; (8097640 ) 809751a: edd3 7a00 vldr s15, [r3] 809751e: f06f 0002 mvn.w r0, #2 8097522: eeb0 0a67 vmov.f32 s0, s15 8097526: f7cf f8eb bl 8066700 809752a: 4603 mov r3, r0 809752c: 461a mov r2, r3 809752e: 2178 movs r1, #120 ; 0x78 8097530: 20a5 movs r0, #165 ; 0xa5 8097532: f7bc fefb bl 805432c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8097536: 493c ldr r1, [pc, #240] ; (8097628 ) 8097538: f04f 30ff mov.w r0, #4294967295 809753c: f7bc f936 bl 80537ac LCD_DisplayStringC(165, 210, "Ñîõðàíèòü"); 8097540: 4a40 ldr r2, [pc, #256] ; (8097644 ) 8097542: 21d2 movs r1, #210 ; 0xd2 8097544: 20a5 movs r0, #165 ; 0xa5 8097546: f7bc fef1 bl 805432c break; 809754a: e053 b.n 80975f4 case LINK_PC: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 809754c: 4938 ldr r1, [pc, #224] ; (8097630 ) 809754e: f04f 30ff mov.w r0, #4294967295 8097552: f7bc f92b bl 80537ac BSP_LCD_SetFont(&Font12); 8097556: 4839 ldr r0, [pc, #228] ; (809763c ) 8097558: f7bc f964 bl 8053824 if(pardata.LANG == RUS) 809755c: 4b3a ldr r3, [pc, #232] ; (8097648 ) 809755e: 7b1b ldrb r3, [r3, #12] 8097560: b2db uxtb r3, r3 8097562: 2b00 cmp r3, #0 8097564: d106 bne.n 8097574 BSP_LCD_DisplayStringAt(160, 120, "[USB ñîåäèíåíèå óñòàíîâëåíî]", CENTER_MODE); 8097566: 2301 movs r3, #1 8097568: 4a38 ldr r2, [pc, #224] ; (809764c ) 809756a: 2178 movs r1, #120 ; 0x78 809756c: 20a0 movs r0, #160 ; 0xa0 809756e: f7bc f9e3 bl 8053938 8097572: e005 b.n 8097580 else BSP_LCD_DisplayStringAt(160, 120, "[USB connection is done]", CENTER_MODE); 8097574: 2301 movs r3, #1 8097576: 4a36 ldr r2, [pc, #216] ; (8097650 ) 8097578: 2178 movs r1, #120 ; 0x78 809757a: 20a0 movs r0, #160 ; 0xa0 809757c: f7bc f9dc bl 8053938 DrawImage(&bmLINK_PC, 225, 5); 8097580: 2205 movs r2, #5 8097582: 21e1 movs r1, #225 ; 0xe1 8097584: 4833 ldr r0, [pc, #204] ; (8097654 ) 8097586: f7bd f805 bl 8054594 break; 809758a: e033 b.n 80975f4 case POWER_OFF: BSP_LCD_Clear(0xFF000000); 809758c: f04f 407f mov.w r0, #4278190080 ; 0xff000000 8097590: f7bc f966 bl 8053860 DrawBat(); 8097594: f7d0 fda0 bl 80680d8 break; 8097598: e02c b.n 80975f4 break; 809759a: bf00 nop 809759c: e02a b.n 80975f4 break; 809759e: bf00 nop 80975a0: e028 b.n 80975f4 break; 80975a2: bf00 nop 80975a4: e026 b.n 80975f4 break; 80975a6: bf00 nop 80975a8: e024 b.n 80975f4 break; 80975aa: bf00 nop 80975ac: e022 b.n 80975f4 break; 80975ae: bf00 nop 80975b0: e020 b.n 80975f4 break; 80975b2: bf00 nop 80975b4: e01e b.n 80975f4 break; 80975b6: bf00 nop 80975b8: e01c b.n 80975f4 break; 80975ba: bf00 nop 80975bc: e01a b.n 80975f4 break; 80975be: bf00 nop 80975c0: e018 b.n 80975f4 break; 80975c2: bf00 nop 80975c4: e016 b.n 80975f4 break; 80975c6: bf00 nop 80975c8: e014 b.n 80975f4 break; 80975ca: bf00 nop 80975cc: e012 b.n 80975f4 break; 80975ce: bf00 nop 80975d0: e010 b.n 80975f4 break; 80975d2: bf00 nop 80975d4: e00e b.n 80975f4 break; 80975d6: bf00 nop 80975d8: e00c b.n 80975f4 break; 80975da: bf00 nop 80975dc: e00a b.n 80975f4 break; 80975de: bf00 nop 80975e0: e008 b.n 80975f4 break; 80975e2: bf00 nop 80975e4: e006 b.n 80975f4 break; 80975e6: bf00 nop 80975e8: e004 b.n 80975f4 break; 80975ea: bf00 nop 80975ec: e002 b.n 80975f4 break; 80975ee: bf00 nop 80975f0: e000 b.n 80975f4 break; 80975f2: bf00 nop //******************************************************************************************************************************** } if(menu != LOW_BAT) 80975f4: 4b18 ldr r3, [pc, #96] ; (8097658 ) 80975f6: 781b ldrb r3, [r3, #0] 80975f8: b2db uxtb r3, r3 80975fa: 2b48 cmp r3, #72 ; 0x48 80975fc: d003 beq.n 8097606 { DrawSpinner(); 80975fe: f000 fb4f bl 8097ca0 DisplayStatus(); 8097602: f000 fc91 bl 8097f28 } Redrawing = false; 8097606: 4b15 ldr r3, [pc, #84] ; (809765c ) 8097608: 2200 movs r2, #0 809760a: 701a strb r2, [r3, #0] RefreshScreen = true; 809760c: 4b14 ldr r3, [pc, #80] ; (8097660 ) 809760e: 2201 movs r2, #1 8097610: 701a strb r2, [r3, #0] HAL_LTDC_ProgramLineEvent(&hLtdcHandler, 0); 8097612: 2100 movs r1, #0 8097614: 4813 ldr r0, [pc, #76] ; (8097664 ) 8097616: f01e fcc3 bl 80b5fa0 809761a: e000 b.n 809761e return; 809761c: bf00 nop //************************************************************************************************************** //************************************************************************************************************** } 809761e: f207 4774 addw r7, r7, #1140 ; 0x474 8097622: 46bd mov sp, r7 8097624: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} 8097628: ff606060 .word 0xff606060 809762c: 080d0724 .word 0x080d0724 8097630: ff0a0f1f .word 0xff0a0f1f 8097634: 080d0540 .word 0x080d0540 8097638: 080d072c .word 0x080d072c 809763c: 20020038 .word 0x20020038 8097640: 200209d0 .word 0x200209d0 8097644: 080d073c .word 0x080d073c 8097648: 20023e60 .word 0x20023e60 809764c: 080d0748 .word 0x080d0748 8097650: 080d0768 .word 0x080d0768 8097654: 0812e3b0 .word 0x0812e3b0 8097658: 20020f78 .word 0x20020f78 809765c: 20021638 .word 0x20021638 8097660: 20021000 .word 0x20021000 8097664: 20025d28 .word 0x20025d28 08097668 : void DrawMySpinner(uint16_t x, uint16_t y) // { 8097668: b580 push {r7, lr} 809766a: b082 sub sp, #8 809766c: af00 add r7, sp, #0 809766e: 4603 mov r3, r0 8097670: 460a mov r2, r1 8097672: 80fb strh r3, [r7, #6] 8097674: 4613 mov r3, r2 8097676: 80bb strh r3, [r7, #4] static uint32_t rotate = 0; switch(rotate) 8097678: 4b92 ldr r3, [pc, #584] ; (80978c4 ) 809767a: 681b ldr r3, [r3, #0] 809767c: 2b07 cmp r3, #7 809767e: f200 82f5 bhi.w 8097c6c 8097682: a201 add r2, pc, #4 ; (adr r2, 8097688 ) 8097684: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8097688: 080976a9 .word 0x080976a9 809768c: 0809775d .word 0x0809775d 8097690: 08097811 .word 0x08097811 8097694: 080978d9 .word 0x080978d9 8097698: 0809798d .word 0x0809798d 809769c: 08097a41 .word 0x08097a41 80976a0: 08097af5 .word 0x08097af5 80976a4: 08097bb9 .word 0x08097bb9 { case 0: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80976a8: 4987 ldr r1, [pc, #540] ; (80978c8 ) 80976aa: f04f 30ff mov.w r0, #4294967295 80976ae: f7bc f87d bl 80537ac BSP_LCD_FillCircle(x + 0, y + 10, 3);//2 80976b2: 88bb ldrh r3, [r7, #4] 80976b4: 330a adds r3, #10 80976b6: b299 uxth r1, r3 80976b8: 88fb ldrh r3, [r7, #6] 80976ba: 2203 movs r2, #3 80976bc: 4618 mov r0, r3 80976be: f7bc fd7d bl 80541bc LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 80976c2: 4981 ldr r1, [pc, #516] ; (80978c8 ) 80976c4: 4881 ldr r0, [pc, #516] ; (80978cc ) 80976c6: f7bc f871 bl 80537ac BSP_LCD_FillCircle(x + 7, y + 7, 3);//1 80976ca: 88fb ldrh r3, [r7, #6] 80976cc: 3307 adds r3, #7 80976ce: b298 uxth r0, r3 80976d0: 88bb ldrh r3, [r7, #4] 80976d2: 3307 adds r3, #7 80976d4: b29b uxth r3, r3 80976d6: 2203 movs r2, #3 80976d8: 4619 mov r1, r3 80976da: f7bc fd6f bl 80541bc LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80976de: 497a ldr r1, [pc, #488] ; (80978c8 ) 80976e0: 487b ldr r0, [pc, #492] ; (80978d0 ) 80976e2: f7bc f863 bl 80537ac BSP_LCD_FillCircle(x + 10, y + 0, 3);//0 80976e6: 88fb ldrh r3, [r7, #6] 80976e8: 330a adds r3, #10 80976ea: b29b uxth r3, r3 80976ec: 88b9 ldrh r1, [r7, #4] 80976ee: 2203 movs r2, #3 80976f0: 4618 mov r0, r3 80976f2: f7bc fd63 bl 80541bc LCD_SetColors(LCD_COLOR_DARKGRAY, LCD_COLOR_BLACK); 80976f6: 4974 ldr r1, [pc, #464] ; (80978c8 ) 80976f8: 4876 ldr r0, [pc, #472] ; (80978d4 ) 80976fa: f7bc f857 bl 80537ac BSP_LCD_FillCircle(x - 7, y + 7, 3);//3 80976fe: 88fb ldrh r3, [r7, #6] 8097700: 3b07 subs r3, #7 8097702: b298 uxth r0, r3 8097704: 88bb ldrh r3, [r7, #4] 8097706: 3307 adds r3, #7 8097708: b29b uxth r3, r3 809770a: 2203 movs r2, #3 809770c: 4619 mov r1, r3 809770e: f7bc fd55 bl 80541bc BSP_LCD_FillCircle(x - 10, y + 0, 3);//4 8097712: 88fb ldrh r3, [r7, #6] 8097714: 3b0a subs r3, #10 8097716: b29b uxth r3, r3 8097718: 88b9 ldrh r1, [r7, #4] 809771a: 2203 movs r2, #3 809771c: 4618 mov r0, r3 809771e: f7bc fd4d bl 80541bc BSP_LCD_FillCircle(x - 7, y - 7, 3);//5 8097722: 88fb ldrh r3, [r7, #6] 8097724: 3b07 subs r3, #7 8097726: b298 uxth r0, r3 8097728: 88bb ldrh r3, [r7, #4] 809772a: 3b07 subs r3, #7 809772c: b29b uxth r3, r3 809772e: 2203 movs r2, #3 8097730: 4619 mov r1, r3 8097732: f7bc fd43 bl 80541bc BSP_LCD_FillCircle(x + 0, y - 10, 3);//6 8097736: 88bb ldrh r3, [r7, #4] 8097738: 3b0a subs r3, #10 809773a: b299 uxth r1, r3 809773c: 88fb ldrh r3, [r7, #6] 809773e: 2203 movs r2, #3 8097740: 4618 mov r0, r3 8097742: f7bc fd3b bl 80541bc BSP_LCD_FillCircle(x + 7, y - 7, 3);//7 8097746: 88fb ldrh r3, [r7, #6] 8097748: 3307 adds r3, #7 809774a: b298 uxth r0, r3 809774c: 88bb ldrh r3, [r7, #4] 809774e: 3b07 subs r3, #7 8097750: b29b uxth r3, r3 8097752: 2203 movs r2, #3 8097754: 4619 mov r1, r3 8097756: f7bc fd31 bl 80541bc break; 809775a: e287 b.n 8097c6c case 1: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 809775c: 495a ldr r1, [pc, #360] ; (80978c8 ) 809775e: f04f 30ff mov.w r0, #4294967295 8097762: f7bc f823 bl 80537ac BSP_LCD_FillCircle(x - 7, y + 7, 3);//3 8097766: 88fb ldrh r3, [r7, #6] 8097768: 3b07 subs r3, #7 809776a: b298 uxth r0, r3 809776c: 88bb ldrh r3, [r7, #4] 809776e: 3307 adds r3, #7 8097770: b29b uxth r3, r3 8097772: 2203 movs r2, #3 8097774: 4619 mov r1, r3 8097776: f7bc fd21 bl 80541bc LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 809777a: 4953 ldr r1, [pc, #332] ; (80978c8 ) 809777c: 4853 ldr r0, [pc, #332] ; (80978cc ) 809777e: f7bc f815 bl 80537ac BSP_LCD_FillCircle(x + 0, y + 10, 3);//2 8097782: 88bb ldrh r3, [r7, #4] 8097784: 330a adds r3, #10 8097786: b299 uxth r1, r3 8097788: 88fb ldrh r3, [r7, #6] 809778a: 2203 movs r2, #3 809778c: 4618 mov r0, r3 809778e: f7bc fd15 bl 80541bc LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8097792: 494d ldr r1, [pc, #308] ; (80978c8 ) 8097794: 484e ldr r0, [pc, #312] ; (80978d0 ) 8097796: f7bc f809 bl 80537ac BSP_LCD_FillCircle(x + 7, y + 7, 3);//1 809779a: 88fb ldrh r3, [r7, #6] 809779c: 3307 adds r3, #7 809779e: b298 uxth r0, r3 80977a0: 88bb ldrh r3, [r7, #4] 80977a2: 3307 adds r3, #7 80977a4: b29b uxth r3, r3 80977a6: 2203 movs r2, #3 80977a8: 4619 mov r1, r3 80977aa: f7bc fd07 bl 80541bc LCD_SetColors(LCD_COLOR_DARKGRAY, LCD_COLOR_BLACK); 80977ae: 4946 ldr r1, [pc, #280] ; (80978c8 ) 80977b0: 4848 ldr r0, [pc, #288] ; (80978d4 ) 80977b2: f7bb fffb bl 80537ac BSP_LCD_FillCircle(x - 10, y + 0, 3);//4 80977b6: 88fb ldrh r3, [r7, #6] 80977b8: 3b0a subs r3, #10 80977ba: b29b uxth r3, r3 80977bc: 88b9 ldrh r1, [r7, #4] 80977be: 2203 movs r2, #3 80977c0: 4618 mov r0, r3 80977c2: f7bc fcfb bl 80541bc BSP_LCD_FillCircle(x - 7, y - 7, 3);//5 80977c6: 88fb ldrh r3, [r7, #6] 80977c8: 3b07 subs r3, #7 80977ca: b298 uxth r0, r3 80977cc: 88bb ldrh r3, [r7, #4] 80977ce: 3b07 subs r3, #7 80977d0: b29b uxth r3, r3 80977d2: 2203 movs r2, #3 80977d4: 4619 mov r1, r3 80977d6: f7bc fcf1 bl 80541bc BSP_LCD_FillCircle(x + 0, y - 10, 3);//6 80977da: 88bb ldrh r3, [r7, #4] 80977dc: 3b0a subs r3, #10 80977de: b299 uxth r1, r3 80977e0: 88fb ldrh r3, [r7, #6] 80977e2: 2203 movs r2, #3 80977e4: 4618 mov r0, r3 80977e6: f7bc fce9 bl 80541bc BSP_LCD_FillCircle(x + 7, y - 7, 3);//7 80977ea: 88fb ldrh r3, [r7, #6] 80977ec: 3307 adds r3, #7 80977ee: b298 uxth r0, r3 80977f0: 88bb ldrh r3, [r7, #4] 80977f2: 3b07 subs r3, #7 80977f4: b29b uxth r3, r3 80977f6: 2203 movs r2, #3 80977f8: 4619 mov r1, r3 80977fa: f7bc fcdf bl 80541bc BSP_LCD_FillCircle(x + 10, y + 0, 3);//0 80977fe: 88fb ldrh r3, [r7, #6] 8097800: 330a adds r3, #10 8097802: b29b uxth r3, r3 8097804: 88b9 ldrh r1, [r7, #4] 8097806: 2203 movs r2, #3 8097808: 4618 mov r0, r3 809780a: f7bc fcd7 bl 80541bc break; 809780e: e22d b.n 8097c6c case 2: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8097810: 492d ldr r1, [pc, #180] ; (80978c8 ) 8097812: f04f 30ff mov.w r0, #4294967295 8097816: f7bb ffc9 bl 80537ac BSP_LCD_FillCircle(x - 10, y + 0, 3);//4 809781a: 88fb ldrh r3, [r7, #6] 809781c: 3b0a subs r3, #10 809781e: b29b uxth r3, r3 8097820: 88b9 ldrh r1, [r7, #4] 8097822: 2203 movs r2, #3 8097824: 4618 mov r0, r3 8097826: f7bc fcc9 bl 80541bc LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 809782a: 4927 ldr r1, [pc, #156] ; (80978c8 ) 809782c: 4827 ldr r0, [pc, #156] ; (80978cc ) 809782e: f7bb ffbd bl 80537ac BSP_LCD_FillCircle(x - 7, y + 7, 3);//3 8097832: 88fb ldrh r3, [r7, #6] 8097834: 3b07 subs r3, #7 8097836: b298 uxth r0, r3 8097838: 88bb ldrh r3, [r7, #4] 809783a: 3307 adds r3, #7 809783c: b29b uxth r3, r3 809783e: 2203 movs r2, #3 8097840: 4619 mov r1, r3 8097842: f7bc fcbb bl 80541bc LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8097846: 4920 ldr r1, [pc, #128] ; (80978c8 ) 8097848: 4821 ldr r0, [pc, #132] ; (80978d0 ) 809784a: f7bb ffaf bl 80537ac BSP_LCD_FillCircle(x + 0, y + 10, 3);//2 809784e: 88bb ldrh r3, [r7, #4] 8097850: 330a adds r3, #10 8097852: b299 uxth r1, r3 8097854: 88fb ldrh r3, [r7, #6] 8097856: 2203 movs r2, #3 8097858: 4618 mov r0, r3 809785a: f7bc fcaf bl 80541bc LCD_SetColors(LCD_COLOR_DARKGRAY, LCD_COLOR_BLACK); 809785e: 491a ldr r1, [pc, #104] ; (80978c8 ) 8097860: 481c ldr r0, [pc, #112] ; (80978d4 ) 8097862: f7bb ffa3 bl 80537ac BSP_LCD_FillCircle(x - 7, y - 7, 3);//5 8097866: 88fb ldrh r3, [r7, #6] 8097868: 3b07 subs r3, #7 809786a: b298 uxth r0, r3 809786c: 88bb ldrh r3, [r7, #4] 809786e: 3b07 subs r3, #7 8097870: b29b uxth r3, r3 8097872: 2203 movs r2, #3 8097874: 4619 mov r1, r3 8097876: f7bc fca1 bl 80541bc BSP_LCD_FillCircle(x + 0, y - 10, 3);//6 809787a: 88bb ldrh r3, [r7, #4] 809787c: 3b0a subs r3, #10 809787e: b299 uxth r1, r3 8097880: 88fb ldrh r3, [r7, #6] 8097882: 2203 movs r2, #3 8097884: 4618 mov r0, r3 8097886: f7bc fc99 bl 80541bc BSP_LCD_FillCircle(x + 7, y - 7, 3);//7 809788a: 88fb ldrh r3, [r7, #6] 809788c: 3307 adds r3, #7 809788e: b298 uxth r0, r3 8097890: 88bb ldrh r3, [r7, #4] 8097892: 3b07 subs r3, #7 8097894: b29b uxth r3, r3 8097896: 2203 movs r2, #3 8097898: 4619 mov r1, r3 809789a: f7bc fc8f bl 80541bc BSP_LCD_FillCircle(x + 10, y + 0, 3);//0 809789e: 88fb ldrh r3, [r7, #6] 80978a0: 330a adds r3, #10 80978a2: b29b uxth r3, r3 80978a4: 88b9 ldrh r1, [r7, #4] 80978a6: 2203 movs r2, #3 80978a8: 4618 mov r0, r3 80978aa: f7bc fc87 bl 80541bc BSP_LCD_FillCircle(x + 7, y + 7, 3);//1 80978ae: 88fb ldrh r3, [r7, #6] 80978b0: 3307 adds r3, #7 80978b2: b298 uxth r0, r3 80978b4: 88bb ldrh r3, [r7, #4] 80978b6: 3307 adds r3, #7 80978b8: b29b uxth r3, r3 80978ba: 2203 movs r2, #3 80978bc: 4619 mov r1, r3 80978be: f7bc fc7d bl 80541bc break; 80978c2: e1d3 b.n 8097c6c 80978c4: 20021678 .word 0x20021678 80978c8: ff0a0f1f .word 0xff0a0f1f 80978cc: ffd3d3d3 .word 0xffd3d3d3 80978d0: ff808080 .word 0xff808080 80978d4: ff404040 .word 0xff404040 case 3: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80978d8: 49b3 ldr r1, [pc, #716] ; (8097ba8 ) 80978da: f04f 30ff mov.w r0, #4294967295 80978de: f7bb ff65 bl 80537ac BSP_LCD_FillCircle(x - 7, y - 7, 3);//5 80978e2: 88fb ldrh r3, [r7, #6] 80978e4: 3b07 subs r3, #7 80978e6: b298 uxth r0, r3 80978e8: 88bb ldrh r3, [r7, #4] 80978ea: 3b07 subs r3, #7 80978ec: b29b uxth r3, r3 80978ee: 2203 movs r2, #3 80978f0: 4619 mov r1, r3 80978f2: f7bc fc63 bl 80541bc LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 80978f6: 49ac ldr r1, [pc, #688] ; (8097ba8 ) 80978f8: 48ac ldr r0, [pc, #688] ; (8097bac ) 80978fa: f7bb ff57 bl 80537ac BSP_LCD_FillCircle(x - 10, y + 0, 3);//4 80978fe: 88fb ldrh r3, [r7, #6] 8097900: 3b0a subs r3, #10 8097902: b29b uxth r3, r3 8097904: 88b9 ldrh r1, [r7, #4] 8097906: 2203 movs r2, #3 8097908: 4618 mov r0, r3 809790a: f7bc fc57 bl 80541bc LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 809790e: 49a6 ldr r1, [pc, #664] ; (8097ba8 ) 8097910: 48a7 ldr r0, [pc, #668] ; (8097bb0 ) 8097912: f7bb ff4b bl 80537ac BSP_LCD_FillCircle(x - 7, y + 7, 3);//3 8097916: 88fb ldrh r3, [r7, #6] 8097918: 3b07 subs r3, #7 809791a: b298 uxth r0, r3 809791c: 88bb ldrh r3, [r7, #4] 809791e: 3307 adds r3, #7 8097920: b29b uxth r3, r3 8097922: 2203 movs r2, #3 8097924: 4619 mov r1, r3 8097926: f7bc fc49 bl 80541bc LCD_SetColors(LCD_COLOR_DARKGRAY, LCD_COLOR_BLACK); 809792a: 499f ldr r1, [pc, #636] ; (8097ba8 ) 809792c: 48a1 ldr r0, [pc, #644] ; (8097bb4 ) 809792e: f7bb ff3d bl 80537ac BSP_LCD_FillCircle(x + 0, y - 10, 3);//6 8097932: 88bb ldrh r3, [r7, #4] 8097934: 3b0a subs r3, #10 8097936: b299 uxth r1, r3 8097938: 88fb ldrh r3, [r7, #6] 809793a: 2203 movs r2, #3 809793c: 4618 mov r0, r3 809793e: f7bc fc3d bl 80541bc BSP_LCD_FillCircle(x + 7, y - 7, 3);//7 8097942: 88fb ldrh r3, [r7, #6] 8097944: 3307 adds r3, #7 8097946: b298 uxth r0, r3 8097948: 88bb ldrh r3, [r7, #4] 809794a: 3b07 subs r3, #7 809794c: b29b uxth r3, r3 809794e: 2203 movs r2, #3 8097950: 4619 mov r1, r3 8097952: f7bc fc33 bl 80541bc BSP_LCD_FillCircle(x + 10, y + 0, 3);//0 8097956: 88fb ldrh r3, [r7, #6] 8097958: 330a adds r3, #10 809795a: b29b uxth r3, r3 809795c: 88b9 ldrh r1, [r7, #4] 809795e: 2203 movs r2, #3 8097960: 4618 mov r0, r3 8097962: f7bc fc2b bl 80541bc BSP_LCD_FillCircle(x + 7, y + 7, 3);//1 8097966: 88fb ldrh r3, [r7, #6] 8097968: 3307 adds r3, #7 809796a: b298 uxth r0, r3 809796c: 88bb ldrh r3, [r7, #4] 809796e: 3307 adds r3, #7 8097970: b29b uxth r3, r3 8097972: 2203 movs r2, #3 8097974: 4619 mov r1, r3 8097976: f7bc fc21 bl 80541bc BSP_LCD_FillCircle(x + 0, y + 10, 3);//2 809797a: 88bb ldrh r3, [r7, #4] 809797c: 330a adds r3, #10 809797e: b299 uxth r1, r3 8097980: 88fb ldrh r3, [r7, #6] 8097982: 2203 movs r2, #3 8097984: 4618 mov r0, r3 8097986: f7bc fc19 bl 80541bc break; 809798a: e16f b.n 8097c6c case 4: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 809798c: 4986 ldr r1, [pc, #536] ; (8097ba8 ) 809798e: f04f 30ff mov.w r0, #4294967295 8097992: f7bb ff0b bl 80537ac BSP_LCD_FillCircle(x + 0, y - 10, 3);//6 8097996: 88bb ldrh r3, [r7, #4] 8097998: 3b0a subs r3, #10 809799a: b299 uxth r1, r3 809799c: 88fb ldrh r3, [r7, #6] 809799e: 2203 movs r2, #3 80979a0: 4618 mov r0, r3 80979a2: f7bc fc0b bl 80541bc LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 80979a6: 4980 ldr r1, [pc, #512] ; (8097ba8 ) 80979a8: 4880 ldr r0, [pc, #512] ; (8097bac ) 80979aa: f7bb feff bl 80537ac BSP_LCD_FillCircle(x - 7, y - 7, 3);//5 80979ae: 88fb ldrh r3, [r7, #6] 80979b0: 3b07 subs r3, #7 80979b2: b298 uxth r0, r3 80979b4: 88bb ldrh r3, [r7, #4] 80979b6: 3b07 subs r3, #7 80979b8: b29b uxth r3, r3 80979ba: 2203 movs r2, #3 80979bc: 4619 mov r1, r3 80979be: f7bc fbfd bl 80541bc LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80979c2: 4979 ldr r1, [pc, #484] ; (8097ba8 ) 80979c4: 487a ldr r0, [pc, #488] ; (8097bb0 ) 80979c6: f7bb fef1 bl 80537ac BSP_LCD_FillCircle(x - 10, y + 0, 3);//4 80979ca: 88fb ldrh r3, [r7, #6] 80979cc: 3b0a subs r3, #10 80979ce: b29b uxth r3, r3 80979d0: 88b9 ldrh r1, [r7, #4] 80979d2: 2203 movs r2, #3 80979d4: 4618 mov r0, r3 80979d6: f7bc fbf1 bl 80541bc LCD_SetColors(LCD_COLOR_DARKGRAY, LCD_COLOR_BLACK); 80979da: 4973 ldr r1, [pc, #460] ; (8097ba8 ) 80979dc: 4875 ldr r0, [pc, #468] ; (8097bb4 ) 80979de: f7bb fee5 bl 80537ac BSP_LCD_FillCircle(x + 7, y - 7, 3);//7 80979e2: 88fb ldrh r3, [r7, #6] 80979e4: 3307 adds r3, #7 80979e6: b298 uxth r0, r3 80979e8: 88bb ldrh r3, [r7, #4] 80979ea: 3b07 subs r3, #7 80979ec: b29b uxth r3, r3 80979ee: 2203 movs r2, #3 80979f0: 4619 mov r1, r3 80979f2: f7bc fbe3 bl 80541bc BSP_LCD_FillCircle(x + 10, y + 0, 3);//0 80979f6: 88fb ldrh r3, [r7, #6] 80979f8: 330a adds r3, #10 80979fa: b29b uxth r3, r3 80979fc: 88b9 ldrh r1, [r7, #4] 80979fe: 2203 movs r2, #3 8097a00: 4618 mov r0, r3 8097a02: f7bc fbdb bl 80541bc BSP_LCD_FillCircle(x + 7, y + 7, 3);//1 8097a06: 88fb ldrh r3, [r7, #6] 8097a08: 3307 adds r3, #7 8097a0a: b298 uxth r0, r3 8097a0c: 88bb ldrh r3, [r7, #4] 8097a0e: 3307 adds r3, #7 8097a10: b29b uxth r3, r3 8097a12: 2203 movs r2, #3 8097a14: 4619 mov r1, r3 8097a16: f7bc fbd1 bl 80541bc BSP_LCD_FillCircle(x + 0, y + 10, 3);//2 8097a1a: 88bb ldrh r3, [r7, #4] 8097a1c: 330a adds r3, #10 8097a1e: b299 uxth r1, r3 8097a20: 88fb ldrh r3, [r7, #6] 8097a22: 2203 movs r2, #3 8097a24: 4618 mov r0, r3 8097a26: f7bc fbc9 bl 80541bc BSP_LCD_FillCircle(x - 7, y + 7, 3);//3 8097a2a: 88fb ldrh r3, [r7, #6] 8097a2c: 3b07 subs r3, #7 8097a2e: b298 uxth r0, r3 8097a30: 88bb ldrh r3, [r7, #4] 8097a32: 3307 adds r3, #7 8097a34: b29b uxth r3, r3 8097a36: 2203 movs r2, #3 8097a38: 4619 mov r1, r3 8097a3a: f7bc fbbf bl 80541bc break; 8097a3e: e115 b.n 8097c6c case 5: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8097a40: 4959 ldr r1, [pc, #356] ; (8097ba8 ) 8097a42: f04f 30ff mov.w r0, #4294967295 8097a46: f7bb feb1 bl 80537ac BSP_LCD_FillCircle(x + 7, y - 7, 3);//7 8097a4a: 88fb ldrh r3, [r7, #6] 8097a4c: 3307 adds r3, #7 8097a4e: b298 uxth r0, r3 8097a50: 88bb ldrh r3, [r7, #4] 8097a52: 3b07 subs r3, #7 8097a54: b29b uxth r3, r3 8097a56: 2203 movs r2, #3 8097a58: 4619 mov r1, r3 8097a5a: f7bc fbaf bl 80541bc LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 8097a5e: 4952 ldr r1, [pc, #328] ; (8097ba8 ) 8097a60: 4852 ldr r0, [pc, #328] ; (8097bac ) 8097a62: f7bb fea3 bl 80537ac BSP_LCD_FillCircle(x + 0, y - 10, 3);//6 8097a66: 88bb ldrh r3, [r7, #4] 8097a68: 3b0a subs r3, #10 8097a6a: b299 uxth r1, r3 8097a6c: 88fb ldrh r3, [r7, #6] 8097a6e: 2203 movs r2, #3 8097a70: 4618 mov r0, r3 8097a72: f7bc fba3 bl 80541bc LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8097a76: 494c ldr r1, [pc, #304] ; (8097ba8 ) 8097a78: 484d ldr r0, [pc, #308] ; (8097bb0 ) 8097a7a: f7bb fe97 bl 80537ac BSP_LCD_FillCircle(x - 7, y - 7, 3);//5 8097a7e: 88fb ldrh r3, [r7, #6] 8097a80: 3b07 subs r3, #7 8097a82: b298 uxth r0, r3 8097a84: 88bb ldrh r3, [r7, #4] 8097a86: 3b07 subs r3, #7 8097a88: b29b uxth r3, r3 8097a8a: 2203 movs r2, #3 8097a8c: 4619 mov r1, r3 8097a8e: f7bc fb95 bl 80541bc LCD_SetColors(LCD_COLOR_DARKGRAY, LCD_COLOR_BLACK); 8097a92: 4945 ldr r1, [pc, #276] ; (8097ba8 ) 8097a94: 4847 ldr r0, [pc, #284] ; (8097bb4 ) 8097a96: f7bb fe89 bl 80537ac BSP_LCD_FillCircle(x + 10, y + 0, 3);//0 8097a9a: 88fb ldrh r3, [r7, #6] 8097a9c: 330a adds r3, #10 8097a9e: b29b uxth r3, r3 8097aa0: 88b9 ldrh r1, [r7, #4] 8097aa2: 2203 movs r2, #3 8097aa4: 4618 mov r0, r3 8097aa6: f7bc fb89 bl 80541bc BSP_LCD_FillCircle(x + 7, y + 7, 3);//1 8097aaa: 88fb ldrh r3, [r7, #6] 8097aac: 3307 adds r3, #7 8097aae: b298 uxth r0, r3 8097ab0: 88bb ldrh r3, [r7, #4] 8097ab2: 3307 adds r3, #7 8097ab4: b29b uxth r3, r3 8097ab6: 2203 movs r2, #3 8097ab8: 4619 mov r1, r3 8097aba: f7bc fb7f bl 80541bc BSP_LCD_FillCircle(x + 0, y + 10, 3);//2 8097abe: 88bb ldrh r3, [r7, #4] 8097ac0: 330a adds r3, #10 8097ac2: b299 uxth r1, r3 8097ac4: 88fb ldrh r3, [r7, #6] 8097ac6: 2203 movs r2, #3 8097ac8: 4618 mov r0, r3 8097aca: f7bc fb77 bl 80541bc BSP_LCD_FillCircle(x - 7, y + 7, 3);//3 8097ace: 88fb ldrh r3, [r7, #6] 8097ad0: 3b07 subs r3, #7 8097ad2: b298 uxth r0, r3 8097ad4: 88bb ldrh r3, [r7, #4] 8097ad6: 3307 adds r3, #7 8097ad8: b29b uxth r3, r3 8097ada: 2203 movs r2, #3 8097adc: 4619 mov r1, r3 8097ade: f7bc fb6d bl 80541bc BSP_LCD_FillCircle(x - 10, y + 0, 3);//4 8097ae2: 88fb ldrh r3, [r7, #6] 8097ae4: 3b0a subs r3, #10 8097ae6: b29b uxth r3, r3 8097ae8: 88b9 ldrh r1, [r7, #4] 8097aea: 2203 movs r2, #3 8097aec: 4618 mov r0, r3 8097aee: f7bc fb65 bl 80541bc break; 8097af2: e0bb b.n 8097c6c case 6: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8097af4: 492c ldr r1, [pc, #176] ; (8097ba8 ) 8097af6: f04f 30ff mov.w r0, #4294967295 8097afa: f7bb fe57 bl 80537ac BSP_LCD_FillCircle(x + 10, y + 0, 3);//0 8097afe: 88fb ldrh r3, [r7, #6] 8097b00: 330a adds r3, #10 8097b02: b29b uxth r3, r3 8097b04: 88b9 ldrh r1, [r7, #4] 8097b06: 2203 movs r2, #3 8097b08: 4618 mov r0, r3 8097b0a: f7bc fb57 bl 80541bc LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 8097b0e: 4926 ldr r1, [pc, #152] ; (8097ba8 ) 8097b10: 4826 ldr r0, [pc, #152] ; (8097bac ) 8097b12: f7bb fe4b bl 80537ac BSP_LCD_FillCircle(x + 7, y - 7, 3);//7 8097b16: 88fb ldrh r3, [r7, #6] 8097b18: 3307 adds r3, #7 8097b1a: b298 uxth r0, r3 8097b1c: 88bb ldrh r3, [r7, #4] 8097b1e: 3b07 subs r3, #7 8097b20: b29b uxth r3, r3 8097b22: 2203 movs r2, #3 8097b24: 4619 mov r1, r3 8097b26: f7bc fb49 bl 80541bc LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8097b2a: 491f ldr r1, [pc, #124] ; (8097ba8 ) 8097b2c: 4820 ldr r0, [pc, #128] ; (8097bb0 ) 8097b2e: f7bb fe3d bl 80537ac BSP_LCD_FillCircle(x + 0, y - 10, 3);//6 8097b32: 88bb ldrh r3, [r7, #4] 8097b34: 3b0a subs r3, #10 8097b36: b299 uxth r1, r3 8097b38: 88fb ldrh r3, [r7, #6] 8097b3a: 2203 movs r2, #3 8097b3c: 4618 mov r0, r3 8097b3e: f7bc fb3d bl 80541bc LCD_SetColors(LCD_COLOR_DARKGRAY, LCD_COLOR_BLACK); 8097b42: 4919 ldr r1, [pc, #100] ; (8097ba8 ) 8097b44: 481b ldr r0, [pc, #108] ; (8097bb4 ) 8097b46: f7bb fe31 bl 80537ac BSP_LCD_FillCircle(x + 7, y + 7, 3);//1 8097b4a: 88fb ldrh r3, [r7, #6] 8097b4c: 3307 adds r3, #7 8097b4e: b298 uxth r0, r3 8097b50: 88bb ldrh r3, [r7, #4] 8097b52: 3307 adds r3, #7 8097b54: b29b uxth r3, r3 8097b56: 2203 movs r2, #3 8097b58: 4619 mov r1, r3 8097b5a: f7bc fb2f bl 80541bc BSP_LCD_FillCircle(x + 0, y + 10, 3);//2 8097b5e: 88bb ldrh r3, [r7, #4] 8097b60: 330a adds r3, #10 8097b62: b299 uxth r1, r3 8097b64: 88fb ldrh r3, [r7, #6] 8097b66: 2203 movs r2, #3 8097b68: 4618 mov r0, r3 8097b6a: f7bc fb27 bl 80541bc BSP_LCD_FillCircle(x - 7, y + 7, 3);//3 8097b6e: 88fb ldrh r3, [r7, #6] 8097b70: 3b07 subs r3, #7 8097b72: b298 uxth r0, r3 8097b74: 88bb ldrh r3, [r7, #4] 8097b76: 3307 adds r3, #7 8097b78: b29b uxth r3, r3 8097b7a: 2203 movs r2, #3 8097b7c: 4619 mov r1, r3 8097b7e: f7bc fb1d bl 80541bc BSP_LCD_FillCircle(x - 10, y + 0, 3);//4 8097b82: 88fb ldrh r3, [r7, #6] 8097b84: 3b0a subs r3, #10 8097b86: b29b uxth r3, r3 8097b88: 88b9 ldrh r1, [r7, #4] 8097b8a: 2203 movs r2, #3 8097b8c: 4618 mov r0, r3 8097b8e: f7bc fb15 bl 80541bc BSP_LCD_FillCircle(x - 7, y - 7, 3);//5 8097b92: 88fb ldrh r3, [r7, #6] 8097b94: 3b07 subs r3, #7 8097b96: b298 uxth r0, r3 8097b98: 88bb ldrh r3, [r7, #4] 8097b9a: 3b07 subs r3, #7 8097b9c: b29b uxth r3, r3 8097b9e: 2203 movs r2, #3 8097ba0: 4619 mov r1, r3 8097ba2: f7bc fb0b bl 80541bc break; 8097ba6: e061 b.n 8097c6c 8097ba8: ff0a0f1f .word 0xff0a0f1f 8097bac: ffd3d3d3 .word 0xffd3d3d3 8097bb0: ff808080 .word 0xff808080 8097bb4: ff404040 .word 0xff404040 case 7: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8097bb8: 4934 ldr r1, [pc, #208] ; (8097c8c ) 8097bba: f04f 30ff mov.w r0, #4294967295 8097bbe: f7bb fdf5 bl 80537ac BSP_LCD_FillCircle(x + 7, y + 7, 3);//1 8097bc2: 88fb ldrh r3, [r7, #6] 8097bc4: 3307 adds r3, #7 8097bc6: b298 uxth r0, r3 8097bc8: 88bb ldrh r3, [r7, #4] 8097bca: 3307 adds r3, #7 8097bcc: b29b uxth r3, r3 8097bce: 2203 movs r2, #3 8097bd0: 4619 mov r1, r3 8097bd2: f7bc faf3 bl 80541bc LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 8097bd6: 492d ldr r1, [pc, #180] ; (8097c8c ) 8097bd8: 482d ldr r0, [pc, #180] ; (8097c90 ) 8097bda: f7bb fde7 bl 80537ac BSP_LCD_FillCircle(x + 10, y + 0, 3);//0 8097bde: 88fb ldrh r3, [r7, #6] 8097be0: 330a adds r3, #10 8097be2: b29b uxth r3, r3 8097be4: 88b9 ldrh r1, [r7, #4] 8097be6: 2203 movs r2, #3 8097be8: 4618 mov r0, r3 8097bea: f7bc fae7 bl 80541bc LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8097bee: 4927 ldr r1, [pc, #156] ; (8097c8c ) 8097bf0: 4828 ldr r0, [pc, #160] ; (8097c94 ) 8097bf2: f7bb fddb bl 80537ac BSP_LCD_FillCircle(x + 7, y - 7, 3);//7 8097bf6: 88fb ldrh r3, [r7, #6] 8097bf8: 3307 adds r3, #7 8097bfa: b298 uxth r0, r3 8097bfc: 88bb ldrh r3, [r7, #4] 8097bfe: 3b07 subs r3, #7 8097c00: b29b uxth r3, r3 8097c02: 2203 movs r2, #3 8097c04: 4619 mov r1, r3 8097c06: f7bc fad9 bl 80541bc LCD_SetColors(LCD_COLOR_DARKGRAY, LCD_COLOR_BLACK); 8097c0a: 4920 ldr r1, [pc, #128] ; (8097c8c ) 8097c0c: 4822 ldr r0, [pc, #136] ; (8097c98 ) 8097c0e: f7bb fdcd bl 80537ac BSP_LCD_FillCircle(x + 0, y + 10, 3);//2 8097c12: 88bb ldrh r3, [r7, #4] 8097c14: 330a adds r3, #10 8097c16: b299 uxth r1, r3 8097c18: 88fb ldrh r3, [r7, #6] 8097c1a: 2203 movs r2, #3 8097c1c: 4618 mov r0, r3 8097c1e: f7bc facd bl 80541bc BSP_LCD_FillCircle(x - 7, y + 7, 3);//3 8097c22: 88fb ldrh r3, [r7, #6] 8097c24: 3b07 subs r3, #7 8097c26: b298 uxth r0, r3 8097c28: 88bb ldrh r3, [r7, #4] 8097c2a: 3307 adds r3, #7 8097c2c: b29b uxth r3, r3 8097c2e: 2203 movs r2, #3 8097c30: 4619 mov r1, r3 8097c32: f7bc fac3 bl 80541bc BSP_LCD_FillCircle(x - 10, y + 0, 3);//4 8097c36: 88fb ldrh r3, [r7, #6] 8097c38: 3b0a subs r3, #10 8097c3a: b29b uxth r3, r3 8097c3c: 88b9 ldrh r1, [r7, #4] 8097c3e: 2203 movs r2, #3 8097c40: 4618 mov r0, r3 8097c42: f7bc fabb bl 80541bc BSP_LCD_FillCircle(x - 7, y - 7, 3);//5 8097c46: 88fb ldrh r3, [r7, #6] 8097c48: 3b07 subs r3, #7 8097c4a: b298 uxth r0, r3 8097c4c: 88bb ldrh r3, [r7, #4] 8097c4e: 3b07 subs r3, #7 8097c50: b29b uxth r3, r3 8097c52: 2203 movs r2, #3 8097c54: 4619 mov r1, r3 8097c56: f7bc fab1 bl 80541bc BSP_LCD_FillCircle(x + 0, y - 10, 3);//6 8097c5a: 88bb ldrh r3, [r7, #4] 8097c5c: 3b0a subs r3, #10 8097c5e: b299 uxth r1, r3 8097c60: 88fb ldrh r3, [r7, #6] 8097c62: 2203 movs r2, #3 8097c64: 4618 mov r0, r3 8097c66: f7bc faa9 bl 80541bc break; 8097c6a: bf00 nop } rotate++; 8097c6c: 4b0b ldr r3, [pc, #44] ; (8097c9c ) 8097c6e: 681b ldr r3, [r3, #0] 8097c70: 3301 adds r3, #1 8097c72: 4a0a ldr r2, [pc, #40] ; (8097c9c ) 8097c74: 6013 str r3, [r2, #0] if(rotate >= 8) 8097c76: 4b09 ldr r3, [pc, #36] ; (8097c9c ) 8097c78: 681b ldr r3, [r3, #0] 8097c7a: 2b07 cmp r3, #7 8097c7c: d902 bls.n 8097c84 rotate = 0; 8097c7e: 4b07 ldr r3, [pc, #28] ; (8097c9c ) 8097c80: 2200 movs r2, #0 8097c82: 601a str r2, [r3, #0] } 8097c84: bf00 nop 8097c86: 3708 adds r7, #8 8097c88: 46bd mov sp, r7 8097c8a: bd80 pop {r7, pc} 8097c8c: ff0a0f1f .word 0xff0a0f1f 8097c90: ffd3d3d3 .word 0xffd3d3d3 8097c94: ff808080 .word 0xff808080 8097c98: ff404040 .word 0xff404040 8097c9c: 20021678 .word 0x20021678 08097ca0 : void DrawSpinner(void) { 8097ca0: b580 push {r7, lr} 8097ca2: af00 add r7, sp, #0 if(!clbr) 8097ca4: 4b94 ldr r3, [pc, #592] ; (8097ef8 ) 8097ca6: 781b ldrb r3, [r3, #0] 8097ca8: b2db uxtb r3, r3 8097caa: f083 0301 eor.w r3, r3, #1 8097cae: b2db uxtb r3, r3 8097cb0: 2b00 cmp r3, #0 8097cb2: f000 811f beq.w 8097ef4 { //if(pardata.SYG != WAVE) //{ if(measuring) 8097cb6: 4b91 ldr r3, [pc, #580] ; (8097efc ) 8097cb8: 781b ldrb r3, [r3, #0] 8097cba: b2db uxtb r3, r3 8097cbc: 2b00 cmp r3, #0 8097cbe: f000 8119 beq.w 8097ef4 { spinner++; 8097cc2: 4b8f ldr r3, [pc, #572] ; (8097f00 ) 8097cc4: 781b ldrb r3, [r3, #0] 8097cc6: 3301 adds r3, #1 8097cc8: b2da uxtb r2, r3 8097cca: 4b8d ldr r3, [pc, #564] ; (8097f00 ) 8097ccc: 701a strb r2, [r3, #0] if(spinner >= 10) 8097cce: 4b8c ldr r3, [pc, #560] ; (8097f00 ) 8097cd0: 781b ldrb r3, [r3, #0] 8097cd2: 2b09 cmp r3, #9 8097cd4: d902 bls.n 8097cdc spinner = 0; 8097cd6: 4b8a ldr r3, [pc, #552] ; (8097f00 ) 8097cd8: 2200 movs r2, #0 8097cda: 701a strb r2, [r3, #0] if(pardata.SYG == WAVE) 8097cdc: 4b89 ldr r3, [pc, #548] ; (8097f04 ) 8097cde: 781b ldrb r3, [r3, #0] 8097ce0: b2db uxtb r3, r3 8097ce2: 2b04 cmp r3, #4 8097ce4: d113 bne.n 8097d0e { if((CALC_FREQ) && (FreqFran == 0.0f)) 8097ce6: 4b88 ldr r3, [pc, #544] ; (8097f08 ) 8097ce8: 781b ldrb r3, [r3, #0] 8097cea: b2db uxtb r3, r3 8097cec: 2b00 cmp r3, #0 8097cee: f000 8101 beq.w 8097ef4 8097cf2: 4b86 ldr r3, [pc, #536] ; (8097f0c ) 8097cf4: edd3 7a00 vldr s15, [r3] 8097cf8: eef5 7a40 vcmp.f32 s15, #0.0 8097cfc: eef1 fa10 vmrs APSR_nzcv, fpscr 8097d00: f040 80f8 bne.w 8097ef4 DrawMySpinner(165, 124); 8097d04: 217c movs r1, #124 ; 0x7c 8097d06: 20a5 movs r0, #165 ; 0xa5 8097d08: f7ff fcae bl 8097668 } } } } } 8097d0c: e0f2 b.n 8097ef4 if(RepeatKm) 8097d0e: 4b80 ldr r3, [pc, #512] ; (8097f10 ) 8097d10: 781b ldrb r3, [r3, #0] 8097d12: b2db uxtb r3, r3 8097d14: 2b00 cmp r3, #0 8097d16: d01a beq.n 8097d4e if(pardata.SYG == FRAN) 8097d18: 4b7a ldr r3, [pc, #488] ; (8097f04 ) 8097d1a: 781b ldrb r3, [r3, #0] 8097d1c: b2db uxtb r3, r3 8097d1e: 2b03 cmp r3, #3 8097d20: d110 bne.n 8097d44 if(pardata.OPTIONS & 0x2) 8097d22: 4b78 ldr r3, [pc, #480] ; (8097f04 ) 8097d24: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8097d28: f003 0302 and.w r3, r3, #2 8097d2c: 2b00 cmp r3, #0 8097d2e: d004 beq.n 8097d3a DrawMySpinner(69, 125); 8097d30: 217d movs r1, #125 ; 0x7d 8097d32: 2045 movs r0, #69 ; 0x45 8097d34: f7ff fc98 bl 8097668 } 8097d38: e0dc b.n 8097ef4 else DrawMySpinner(189, 141); 8097d3a: 218d movs r1, #141 ; 0x8d 8097d3c: 20bd movs r0, #189 ; 0xbd 8097d3e: f7ff fc93 bl 8097668 } 8097d42: e0d7 b.n 8097ef4 DrawMySpinner(189, 141); 8097d44: 218d movs r1, #141 ; 0x8d 8097d46: 20bd movs r0, #189 ; 0xbd 8097d48: f7ff fc8e bl 8097668 } 8097d4c: e0d2 b.n 8097ef4 if((pardata.SYG == VIB) && (timeRelax)) 8097d4e: 4b6d ldr r3, [pc, #436] ; (8097f04 ) 8097d50: 781b ldrb r3, [r3, #0] 8097d52: b2db uxtb r3, r3 8097d54: 2b00 cmp r3, #0 8097d56: d108 bne.n 8097d6a 8097d58: 4b6e ldr r3, [pc, #440] ; (8097f14 ) 8097d5a: 681b ldr r3, [r3, #0] 8097d5c: 2b00 cmp r3, #0 8097d5e: d004 beq.n 8097d6a DrawMySpinner(189, 141); 8097d60: 218d movs r1, #141 ; 0x8d 8097d62: 20bd movs r0, #189 ; 0xbd 8097d64: f7ff fc80 bl 8097668 8097d68: e0c4 b.n 8097ef4 if((pardata.SYG == VIB) && (Stability <= (Nr * 4))) 8097d6a: 4b66 ldr r3, [pc, #408] ; (8097f04 ) 8097d6c: 781b ldrb r3, [r3, #0] 8097d6e: b2db uxtb r3, r3 8097d70: 2b00 cmp r3, #0 8097d72: d10d bne.n 8097d90 8097d74: 4b68 ldr r3, [pc, #416] ; (8097f18 ) 8097d76: 881b ldrh r3, [r3, #0] 8097d78: b29b uxth r3, r3 8097d7a: 009b lsls r3, r3, #2 8097d7c: 461a mov r2, r3 8097d7e: 4b67 ldr r3, [pc, #412] ; (8097f1c ) 8097d80: 681b ldr r3, [r3, #0] 8097d82: 429a cmp r2, r3 8097d84: d304 bcc.n 8097d90 DrawMySpinner(189, 141); 8097d86: 218d movs r1, #141 ; 0x8d 8097d88: 20bd movs r0, #189 ; 0xbd 8097d8a: f7ff fc6d bl 8097668 8097d8e: e0b1 b.n 8097ef4 if((pardata.SYG == DIAGN) && ((Stability <= (Nr * 4)) || (timeRelax))) 8097d90: 4b5c ldr r3, [pc, #368] ; (8097f04 ) 8097d92: 781b ldrb r3, [r3, #0] 8097d94: b2db uxtb r3, r3 8097d96: 2b0a cmp r3, #10 8097d98: d111 bne.n 8097dbe 8097d9a: 4b5f ldr r3, [pc, #380] ; (8097f18 ) 8097d9c: 881b ldrh r3, [r3, #0] 8097d9e: b29b uxth r3, r3 8097da0: 009b lsls r3, r3, #2 8097da2: 461a mov r2, r3 8097da4: 4b5d ldr r3, [pc, #372] ; (8097f1c ) 8097da6: 681b ldr r3, [r3, #0] 8097da8: 429a cmp r2, r3 8097daa: d203 bcs.n 8097db4 8097dac: 4b59 ldr r3, [pc, #356] ; (8097f14 ) 8097dae: 681b ldr r3, [r3, #0] 8097db0: 2b00 cmp r3, #0 8097db2: d004 beq.n 8097dbe DrawMySpinner(189, 141); 8097db4: 218d movs r1, #141 ; 0x8d 8097db6: 20bd movs r0, #189 ; 0xbd 8097db8: f7ff fc56 bl 8097668 8097dbc: e09a b.n 8097ef4 if((pardata.SYG == FRAN) && (timeRelax)) 8097dbe: 4b51 ldr r3, [pc, #324] ; (8097f04 ) 8097dc0: 781b ldrb r3, [r3, #0] 8097dc2: b2db uxtb r3, r3 8097dc4: 2b03 cmp r3, #3 8097dc6: d108 bne.n 8097dda 8097dc8: 4b52 ldr r3, [pc, #328] ; (8097f14 ) 8097dca: 681b ldr r3, [r3, #0] 8097dcc: 2b00 cmp r3, #0 8097dce: d004 beq.n 8097dda DrawMySpinner(189, 141); 8097dd0: 218d movs r1, #141 ; 0x8d 8097dd2: 20bd movs r0, #189 ; 0xbd 8097dd4: f7ff fc48 bl 8097668 8097dd8: e08c b.n 8097ef4 if((pardata.SYG == FRAN) && (Stability <= (Nr * 4))) 8097dda: 4b4a ldr r3, [pc, #296] ; (8097f04 ) 8097ddc: 781b ldrb r3, [r3, #0] 8097dde: b2db uxtb r3, r3 8097de0: 2b03 cmp r3, #3 8097de2: d10d bne.n 8097e00 8097de4: 4b4c ldr r3, [pc, #304] ; (8097f18 ) 8097de6: 881b ldrh r3, [r3, #0] 8097de8: b29b uxth r3, r3 8097dea: 009b lsls r3, r3, #2 8097dec: 461a mov r2, r3 8097dee: 4b4b ldr r3, [pc, #300] ; (8097f1c ) 8097df0: 681b ldr r3, [r3, #0] 8097df2: 429a cmp r2, r3 8097df4: d304 bcc.n 8097e00 DrawMySpinner(189, 141); 8097df6: 218d movs r1, #141 ; 0x8d 8097df8: 20bd movs r0, #189 ; 0xbd 8097dfa: f7ff fc35 bl 8097668 8097dfe: e079 b.n 8097ef4 if((pardata.SYG == OSC) && (timeRelax)) 8097e00: 4b40 ldr r3, [pc, #256] ; (8097f04 ) 8097e02: 781b ldrb r3, [r3, #0] 8097e04: b2db uxtb r3, r3 8097e06: 2b02 cmp r3, #2 8097e08: d108 bne.n 8097e1c 8097e0a: 4b42 ldr r3, [pc, #264] ; (8097f14 ) 8097e0c: 681b ldr r3, [r3, #0] 8097e0e: 2b00 cmp r3, #0 8097e10: d004 beq.n 8097e1c DrawMySpinner(189, 141); 8097e12: 218d movs r1, #141 ; 0x8d 8097e14: 20bd movs r0, #189 ; 0xbd 8097e16: f7ff fc27 bl 8097668 8097e1a: e06b b.n 8097ef4 if((pardata.SYG == UDAR) && (timeRelax)) 8097e1c: 4b39 ldr r3, [pc, #228] ; (8097f04 ) 8097e1e: 781b ldrb r3, [r3, #0] 8097e20: b2db uxtb r3, r3 8097e22: 2b09 cmp r3, #9 8097e24: d108 bne.n 8097e38 8097e26: 4b3b ldr r3, [pc, #236] ; (8097f14 ) 8097e28: 681b ldr r3, [r3, #0] 8097e2a: 2b00 cmp r3, #0 8097e2c: d004 beq.n 8097e38 DrawMySpinner(160, 120); 8097e2e: 2178 movs r1, #120 ; 0x78 8097e30: 20a0 movs r0, #160 ; 0xa0 8097e32: f7ff fc19 bl 8097668 8097e36: e05d b.n 8097ef4 if((pardata.SYG == OSC) && (!Threshold) && (Stability <= (Nr * 4))) 8097e38: 4b32 ldr r3, [pc, #200] ; (8097f04 ) 8097e3a: 781b ldrb r3, [r3, #0] 8097e3c: b2db uxtb r3, r3 8097e3e: 2b02 cmp r3, #2 8097e40: d115 bne.n 8097e6e 8097e42: 4b37 ldr r3, [pc, #220] ; (8097f20 ) 8097e44: 781b ldrb r3, [r3, #0] 8097e46: b2db uxtb r3, r3 8097e48: f083 0301 eor.w r3, r3, #1 8097e4c: b2db uxtb r3, r3 8097e4e: 2b00 cmp r3, #0 8097e50: d00d beq.n 8097e6e 8097e52: 4b31 ldr r3, [pc, #196] ; (8097f18 ) 8097e54: 881b ldrh r3, [r3, #0] 8097e56: b29b uxth r3, r3 8097e58: 009b lsls r3, r3, #2 8097e5a: 461a mov r2, r3 8097e5c: 4b2f ldr r3, [pc, #188] ; (8097f1c ) 8097e5e: 681b ldr r3, [r3, #0] 8097e60: 429a cmp r2, r3 8097e62: d304 bcc.n 8097e6e DrawMySpinner(189, 141); 8097e64: 218d movs r1, #141 ; 0x8d 8097e66: 20bd movs r0, #189 ; 0xbd 8097e68: f7ff fbfe bl 8097668 8097e6c: e042 b.n 8097ef4 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))) 8097e6e: 4b25 ldr r3, [pc, #148] ; (8097f04 ) 8097e70: 781b ldrb r3, [r3, #0] 8097e72: b2db uxtb r3, r3 8097e74: 2b01 cmp r3, #1 8097e76: d018 beq.n 8097eaa 8097e78: 4b22 ldr r3, [pc, #136] ; (8097f04 ) 8097e7a: 781b ldrb r3, [r3, #0] 8097e7c: b2db uxtb r3, r3 8097e7e: 2b08 cmp r3, #8 8097e80: d013 beq.n 8097eaa 8097e82: 4b20 ldr r3, [pc, #128] ; (8097f04 ) 8097e84: 781b ldrb r3, [r3, #0] 8097e86: b2db uxtb r3, r3 8097e88: 2b05 cmp r3, #5 8097e8a: d00e beq.n 8097eaa 8097e8c: 4b1d ldr r3, [pc, #116] ; (8097f04 ) 8097e8e: 781b ldrb r3, [r3, #0] 8097e90: b2db uxtb r3, r3 8097e92: 2b06 cmp r3, #6 8097e94: d009 beq.n 8097eaa 8097e96: 4b1b ldr r3, [pc, #108] ; (8097f04 ) 8097e98: 781b ldrb r3, [r3, #0] 8097e9a: b2db uxtb r3, r3 8097e9c: 2b07 cmp r3, #7 8097e9e: d004 beq.n 8097eaa 8097ea0: 4b18 ldr r3, [pc, #96] ; (8097f04 ) 8097ea2: 781b ldrb r3, [r3, #0] 8097ea4: b2db uxtb r3, r3 8097ea6: 2b09 cmp r3, #9 8097ea8: d10d bne.n 8097ec6 8097eaa: 4b1b ldr r3, [pc, #108] ; (8097f18 ) 8097eac: 881b ldrh r3, [r3, #0] 8097eae: b29b uxth r3, r3 8097eb0: 009b lsls r3, r3, #2 8097eb2: 461a mov r2, r3 8097eb4: 4b19 ldr r3, [pc, #100] ; (8097f1c ) 8097eb6: 681b ldr r3, [r3, #0] 8097eb8: 429a cmp r2, r3 8097eba: d304 bcc.n 8097ec6 DrawMySpinner(189, 141); 8097ebc: 218d movs r1, #141 ; 0x8d 8097ebe: 20bd movs r0, #189 ; 0xbd 8097ec0: f7ff fbd2 bl 8097668 8097ec4: e016 b.n 8097ef4 if((pardata.SYG == ROLL) && (NSamples < 20) && (Stability > (Nr * 4))) 8097ec6: 4b0f ldr r3, [pc, #60] ; (8097f04 ) 8097ec8: 781b ldrb r3, [r3, #0] 8097eca: b2db uxtb r3, r3 8097ecc: 2b08 cmp r3, #8 8097ece: d111 bne.n 8097ef4 8097ed0: 4b14 ldr r3, [pc, #80] ; (8097f24 ) 8097ed2: 681b ldr r3, [r3, #0] 8097ed4: 2b13 cmp r3, #19 8097ed6: d80d bhi.n 8097ef4 8097ed8: 4b0f ldr r3, [pc, #60] ; (8097f18 ) 8097eda: 881b ldrh r3, [r3, #0] 8097edc: b29b uxth r3, r3 8097ede: 009b lsls r3, r3, #2 8097ee0: 461a mov r2, r3 8097ee2: 4b0e ldr r3, [pc, #56] ; (8097f1c ) 8097ee4: 681b ldr r3, [r3, #0] 8097ee6: 429a cmp r2, r3 8097ee8: d204 bcs.n 8097ef4 DrawMySpinner(189, 141); 8097eea: 218d movs r1, #141 ; 0x8d 8097eec: 20bd movs r0, #189 ; 0xbd 8097eee: f7ff fbbb bl 8097668 } 8097ef2: e7ff b.n 8097ef4 8097ef4: bf00 nop 8097ef6: bd80 pop {r7, pc} 8097ef8: 20020f68 .word 0x20020f68 8097efc: 20020daf .word 0x20020daf 8097f00: 20021658 .word 0x20021658 8097f04: 20023e60 .word 0x20023e60 8097f08: 20021010 .word 0x20021010 8097f0c: 20021564 .word 0x20021564 8097f10: 20020dac .word 0x20020dac 8097f14: 20020d6c .word 0x20020d6c 8097f18: 20021d20 .word 0x20021d20 8097f1c: 20020da8 .word 0x20020da8 8097f20: 20020db1 .word 0x20020db1 8097f24: 20020d88 .word 0x20020d88 08097f28 : void DisplayStatus(void) { 8097f28: b580 push {r7, lr} 8097f2a: af00 add r7, sp, #0 if(DrawStatus) 8097f2c: 4baa ldr r3, [pc, #680] ; (80981d8 ) 8097f2e: 781b ldrb r3, [r3, #0] 8097f30: b2db uxtb r3, r3 8097f32: 2b00 cmp r3, #0 8097f34: f000 814d beq.w 80981d2 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8097f38: 49a8 ldr r1, [pc, #672] ; (80981dc ) 8097f3a: f04f 30ff mov.w r0, #4294967295 8097f3e: f7bb fc35 bl 80537ac BSP_LCD_FillRect(60, 73, 200, 124); 8097f42: 237c movs r3, #124 ; 0x7c 8097f44: 22c8 movs r2, #200 ; 0xc8 8097f46: 2149 movs r1, #73 ; 0x49 8097f48: 203c movs r0, #60 ; 0x3c 8097f4a: f7bc f8bd bl 80540c8 LCD_SetColors(LCD_COLOR_BLACK, LCD_COLOR_BLACK); 8097f4e: 49a3 ldr r1, [pc, #652] ; (80981dc ) 8097f50: 48a2 ldr r0, [pc, #648] ; (80981dc ) 8097f52: f7bb fc2b bl 80537ac BSP_LCD_FillRect(61, 74, 198, 122); 8097f56: 237a movs r3, #122 ; 0x7a 8097f58: 22c6 movs r2, #198 ; 0xc6 8097f5a: 214a movs r1, #74 ; 0x4a 8097f5c: 203d movs r0, #61 ; 0x3d 8097f5e: f7bc f8b3 bl 80540c8 BSP_LCD_SetFont(&Font12); 8097f62: 489f ldr r0, [pc, #636] ; (80981e0 ) 8097f64: f7bb fc5e bl 8053824 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8097f68: 499c ldr r1, [pc, #624] ; (80981dc ) 8097f6a: f04f 30ff mov.w r0, #4294967295 8097f6e: f7bb fc1d bl 80537ac switch(STATUS) 8097f72: 4b9c ldr r3, [pc, #624] ; (80981e4 ) 8097f74: 681b ldr r3, [r3, #0] 8097f76: 2b12 cmp r3, #18 8097f78: f200 812b bhi.w 80981d2 8097f7c: a201 add r2, pc, #4 ; (adr r2, 8097f84 ) 8097f7e: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8097f82: bf00 nop 8097f84: 080981d1 .word 0x080981d1 8097f88: 080981d3 .word 0x080981d3 8097f8c: 080980d5 .word 0x080980d5 8097f90: 08098151 .word 0x08098151 8097f94: 080981d3 .word 0x080981d3 8097f98: 080981d3 .word 0x080981d3 8097f9c: 0809801b .word 0x0809801b 8097fa0: 08098059 .word 0x08098059 8097fa4: 08098097 .word 0x08098097 8097fa8: 080981d3 .word 0x080981d3 8097fac: 080981d3 .word 0x080981d3 8097fb0: 0809818f .word 0x0809818f 8097fb4: 080981d3 .word 0x080981d3 8097fb8: 080981d3 .word 0x080981d3 8097fbc: 080981d3 .word 0x080981d3 8097fc0: 080981d3 .word 0x080981d3 8097fc4: 080981d3 .word 0x080981d3 8097fc8: 08098113 .word 0x08098113 8097fcc: 08097fd1 .word 0x08097fd1 { case AP_ADC_FAIL: if(pardata.LANG == RUS) 8097fd0: 4b85 ldr r3, [pc, #532] ; (80981e8 ) 8097fd2: 7b1b ldrb r3, [r3, #12] 8097fd4: b2db uxtb r3, r3 8097fd6: 2b00 cmp r3, #0 8097fd8: d10c bne.n 8097ff4 { BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "Îøèáêà ÀÖÏ!", CENTER_MODE); 8097fda: 2301 movs r3, #1 8097fdc: 4a83 ldr r2, [pc, #524] ; (80981ec ) 8097fde: 217a movs r1, #122 ; 0x7a 8097fe0: 20a0 movs r0, #160 ; 0xa0 8097fe2: f7bb fca9 bl 8053938 BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "Ïåðåçàãðóçèòå ïðèáîð...", CENTER_MODE); 8097fe6: 2301 movs r3, #1 8097fe8: 4a81 ldr r2, [pc, #516] ; (80981f0 ) 8097fea: 218a movs r1, #138 ; 0x8a 8097fec: 20a0 movs r0, #160 ; 0xa0 8097fee: f7bb fca3 bl 8053938 { 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; 8097ff2: e0ee b.n 80981d2 BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "ADC Error!", CENTER_MODE); 8097ff4: 2301 movs r3, #1 8097ff6: 4a7f ldr r2, [pc, #508] ; (80981f4 ) 8097ff8: 217a movs r1, #122 ; 0x7a 8097ffa: 20a0 movs r0, #160 ; 0xa0 8097ffc: f7bb fc9c bl 8053938 BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "Please,", CENTER_MODE); 8098000: 2301 movs r3, #1 8098002: 4a7d ldr r2, [pc, #500] ; (80981f8 ) 8098004: 218a movs r1, #138 ; 0x8a 8098006: 20a0 movs r0, #160 ; 0xa0 8098008: f7bb fc96 bl 8053938 BSP_LCD_DisplayStringAt(160, LCD_LINE_9, "reboot device.", CENTER_MODE); 809800c: 2301 movs r3, #1 809800e: 4a7b ldr r2, [pc, #492] ; (80981fc ) 8098010: 219a movs r1, #154 ; 0x9a 8098012: 20a0 movs r0, #160 ; 0xa0 8098014: f7bb fc90 bl 8053938 break; 8098018: e0db b.n 80981d2 case AP_OK: break; case AP_FILE_EXIST: if(pardata.LANG == RUS) 809801a: 4b73 ldr r3, [pc, #460] ; (80981e8 ) 809801c: 7b1b ldrb r3, [r3, #12] 809801e: b2db uxtb r3, r3 8098020: 2b00 cmp r3, #0 8098022: d10c bne.n 809803e { BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "Ôàéë óæå", CENTER_MODE); 8098024: 2301 movs r3, #1 8098026: 4a76 ldr r2, [pc, #472] ; (8098200 ) 8098028: 217a movs r1, #122 ; 0x7a 809802a: 20a0 movs r0, #160 ; 0xa0 809802c: f7bb fc84 bl 8053938 BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "ñóùåñòâóåò!", CENTER_MODE); 8098030: 2301 movs r3, #1 8098032: 4a74 ldr r2, [pc, #464] ; (8098204 ) 8098034: 218a movs r1, #138 ; 0x8a 8098036: 20a0 movs r0, #160 ; 0xa0 8098038: f7bb fc7e bl 8053938 else { BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "File already ", CENTER_MODE); BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "exists!", CENTER_MODE); } break; 809803c: e0c9 b.n 80981d2 BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "File already ", CENTER_MODE); 809803e: 2301 movs r3, #1 8098040: 4a71 ldr r2, [pc, #452] ; (8098208 ) 8098042: 217a movs r1, #122 ; 0x7a 8098044: 20a0 movs r0, #160 ; 0xa0 8098046: f7bb fc77 bl 8053938 BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "exists!", CENTER_MODE); 809804a: 2301 movs r3, #1 809804c: 4a6f ldr r2, [pc, #444] ; (809820c ) 809804e: 218a movs r1, #138 ; 0x8a 8098050: 20a0 movs r0, #160 ; 0xa0 8098052: f7bb fc71 bl 8053938 break; 8098056: e0bc b.n 80981d2 case AP_SAVING_SUCCESS: if(pardata.LANG == RUS) 8098058: 4b63 ldr r3, [pc, #396] ; (80981e8 ) 809805a: 7b1b ldrb r3, [r3, #12] 809805c: b2db uxtb r3, r3 809805e: 2b00 cmp r3, #0 8098060: d10c bne.n 809807c { BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "Ñîõðàíåíèå", CENTER_MODE); 8098062: 2301 movs r3, #1 8098064: 4a6a ldr r2, [pc, #424] ; (8098210 ) 8098066: 217a movs r1, #122 ; 0x7a 8098068: 20a0 movs r0, #160 ; 0xa0 809806a: f7bb fc65 bl 8053938 BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "óñïåøíî!", CENTER_MODE); 809806e: 2301 movs r3, #1 8098070: 4a68 ldr r2, [pc, #416] ; (8098214 ) 8098072: 218a movs r1, #138 ; 0x8a 8098074: 20a0 movs r0, #160 ; 0xa0 8098076: f7bb fc5f bl 8053938 else { BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "Saving", CENTER_MODE); BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "done!", CENTER_MODE); } break; 809807a: e0aa b.n 80981d2 BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "Saving", CENTER_MODE); 809807c: 2301 movs r3, #1 809807e: 4a66 ldr r2, [pc, #408] ; (8098218 ) 8098080: 217a movs r1, #122 ; 0x7a 8098082: 20a0 movs r0, #160 ; 0xa0 8098084: f7bb fc58 bl 8053938 BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "done!", CENTER_MODE); 8098088: 2301 movs r3, #1 809808a: 4a64 ldr r2, [pc, #400] ; (809821c ) 809808c: 218a movs r1, #138 ; 0x8a 809808e: 20a0 movs r0, #160 ; 0xa0 8098090: f7bb fc52 bl 8053938 break; 8098094: e09d b.n 80981d2 case AP_SAVING_ERROR: if(pardata.LANG == RUS) 8098096: 4b54 ldr r3, [pc, #336] ; (80981e8 ) 8098098: 7b1b ldrb r3, [r3, #12] 809809a: b2db uxtb r3, r3 809809c: 2b00 cmp r3, #0 809809e: d10c bne.n 80980ba { BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "Îøèáêà", CENTER_MODE); 80980a0: 2301 movs r3, #1 80980a2: 4a5f ldr r2, [pc, #380] ; (8098220 ) 80980a4: 217a movs r1, #122 ; 0x7a 80980a6: 20a0 movs r0, #160 ; 0xa0 80980a8: f7bb fc46 bl 8053938 BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "ñîõðàíåíèÿ!", CENTER_MODE); 80980ac: 2301 movs r3, #1 80980ae: 4a5d ldr r2, [pc, #372] ; (8098224 ) 80980b0: 218a movs r1, #138 ; 0x8a 80980b2: 20a0 movs r0, #160 ; 0xa0 80980b4: f7bb fc40 bl 8053938 { 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; 80980b8: e08b b.n 80981d2 BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "Saving", CENTER_MODE); 80980ba: 2301 movs r3, #1 80980bc: 4a56 ldr r2, [pc, #344] ; (8098218 ) 80980be: 217a movs r1, #122 ; 0x7a 80980c0: 20a0 movs r0, #160 ; 0xa0 80980c2: f7bb fc39 bl 8053938 BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "failed!", CENTER_MODE); 80980c6: 2301 movs r3, #1 80980c8: 4a57 ldr r2, [pc, #348] ; (8098228 ) 80980ca: 218a movs r1, #138 ; 0x8a 80980cc: 20a0 movs r0, #160 ; 0xa0 80980ce: f7bb fc33 bl 8053938 break; 80980d2: e07e b.n 80981d2 case AP_INVALID_FILE: if(pardata.LANG == RUS) 80980d4: 4b44 ldr r3, [pc, #272] ; (80981e8 ) 80980d6: 7b1b ldrb r3, [r3, #12] 80980d8: b2db uxtb r3, r3 80980da: 2b00 cmp r3, #0 80980dc: d10c bne.n 80980f8 { BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "Ôàéë ïîâðåæäåí", CENTER_MODE); 80980de: 2301 movs r3, #1 80980e0: 4a52 ldr r2, [pc, #328] ; (809822c ) 80980e2: 217a movs r1, #122 ; 0x7a 80980e4: 20a0 movs r0, #160 ; 0xa0 80980e6: f7bb fc27 bl 8053938 BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "èëè îòñóòñòâóåò!", CENTER_MODE); 80980ea: 2301 movs r3, #1 80980ec: 4a50 ldr r2, [pc, #320] ; (8098230 ) 80980ee: 217a movs r1, #122 ; 0x7a 80980f0: 20a0 movs r0, #160 ; 0xa0 80980f2: f7bb fc21 bl 8053938 { 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; 80980f6: e06c b.n 80981d2 BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "File is damaged", CENTER_MODE); 80980f8: 2301 movs r3, #1 80980fa: 4a4e ldr r2, [pc, #312] ; (8098234 ) 80980fc: 217a movs r1, #122 ; 0x7a 80980fe: 20a0 movs r0, #160 ; 0xa0 8098100: f7bb fc1a bl 8053938 BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "or missing!", CENTER_MODE); 8098104: 2301 movs r3, #1 8098106: 4a4c ldr r2, [pc, #304] ; (8098238 ) 8098108: 218a movs r1, #138 ; 0x8a 809810a: 20a0 movs r0, #160 ; 0xa0 809810c: f7bb fc14 bl 8053938 break; 8098110: e05f b.n 80981d2 case AP_NO_CARD: if(pardata.LANG == RUS) 8098112: 4b35 ldr r3, [pc, #212] ; (80981e8 ) 8098114: 7b1b ldrb r3, [r3, #12] 8098116: b2db uxtb r3, r3 8098118: 2b00 cmp r3, #0 809811a: d10c bne.n 8098136 { BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "Íàêîïèòåëü", CENTER_MODE); 809811c: 2301 movs r3, #1 809811e: 4a47 ldr r2, [pc, #284] ; (809823c ) 8098120: 217a movs r1, #122 ; 0x7a 8098122: 20a0 movs r0, #160 ; 0xa0 8098124: f7bb fc08 bl 8053938 BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "îòñóòñòâóåò!", CENTER_MODE); 8098128: 2301 movs r3, #1 809812a: 4a45 ldr r2, [pc, #276] ; (8098240 ) 809812c: 218a movs r1, #138 ; 0x8a 809812e: 20a0 movs r0, #160 ; 0xa0 8098130: f7bb fc02 bl 8053938 { 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; 8098134: e04d b.n 80981d2 BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "Drive is", CENTER_MODE); 8098136: 2301 movs r3, #1 8098138: 4a42 ldr r2, [pc, #264] ; (8098244 ) 809813a: 217a movs r1, #122 ; 0x7a 809813c: 20a0 movs r0, #160 ; 0xa0 809813e: f7bb fbfb bl 8053938 BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "not present!", CENTER_MODE); 8098142: 2301 movs r3, #1 8098144: 4a40 ldr r2, [pc, #256] ; (8098248 ) 8098146: 218a movs r1, #138 ; 0x8a 8098148: 20a0 movs r0, #160 ; 0xa0 809814a: f7bb fbf5 bl 8053938 break; 809814e: e040 b.n 80981d2 case AP_BAD_DATA: if(pardata.LANG == RUS) 8098150: 4b25 ldr r3, [pc, #148] ; (80981e8 ) 8098152: 7b1b ldrb r3, [r3, #12] 8098154: b2db uxtb r3, r3 8098156: 2b00 cmp r3, #0 8098158: d10c bne.n 8098174 { BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "Íåâåðíûå", CENTER_MODE); 809815a: 2301 movs r3, #1 809815c: 4a3b ldr r2, [pc, #236] ; (809824c ) 809815e: 217a movs r1, #122 ; 0x7a 8098160: 20a0 movs r0, #160 ; 0xa0 8098162: f7bb fbe9 bl 8053938 BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "äàííûå!", CENTER_MODE); 8098166: 2301 movs r3, #1 8098168: 4a39 ldr r2, [pc, #228] ; (8098250 ) 809816a: 218a movs r1, #138 ; 0x8a 809816c: 20a0 movs r0, #160 ; 0xa0 809816e: f7bb fbe3 bl 8053938 { 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; 8098172: e02e b.n 80981d2 BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "Incorrect", CENTER_MODE); 8098174: 2301 movs r3, #1 8098176: 4a37 ldr r2, [pc, #220] ; (8098254 ) 8098178: 217a movs r1, #122 ; 0x7a 809817a: 20a0 movs r0, #160 ; 0xa0 809817c: f7bb fbdc bl 8053938 BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "data!", CENTER_MODE); 8098180: 2301 movs r3, #1 8098182: 4a35 ldr r2, [pc, #212] ; (8098258 ) 8098184: 218a movs r1, #138 ; 0x8a 8098186: 20a0 movs r0, #160 ; 0xa0 8098188: f7bb fbd6 bl 8053938 break; 809818c: e021 b.n 80981d2 case AP_DISK_ERROR: if(pardata.LANG == RUS) 809818e: 4b16 ldr r3, [pc, #88] ; (80981e8 ) 8098190: 7b1b ldrb r3, [r3, #12] 8098192: b2db uxtb r3, r3 8098194: 2b00 cmp r3, #0 8098196: d10c bne.n 80981b2 { BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "Êàðòà ïàìÿòè", CENTER_MODE); 8098198: 2301 movs r3, #1 809819a: 4a30 ldr r2, [pc, #192] ; (809825c ) 809819c: 217a movs r1, #122 ; 0x7a 809819e: 20a0 movs r0, #160 ; 0xa0 80981a0: f7bb fbca bl 8053938 BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "íå ÷èòàåòñÿ!", CENTER_MODE); 80981a4: 2301 movs r3, #1 80981a6: 4a2e ldr r2, [pc, #184] ; (8098260 ) 80981a8: 218a movs r1, #138 ; 0x8a 80981aa: 20a0 movs r0, #160 ; 0xa0 80981ac: f7bb fbc4 bl 8053938 80981b0: e00b b.n 80981ca } else { BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "SD card not", CENTER_MODE); 80981b2: 2301 movs r3, #1 80981b4: 4a2b ldr r2, [pc, #172] ; (8098264 ) 80981b6: 217a movs r1, #122 ; 0x7a 80981b8: 20a0 movs r0, #160 ; 0xa0 80981ba: f7bb fbbd bl 8053938 BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "responding!", CENTER_MODE); 80981be: 2301 movs r3, #1 80981c0: 4a29 ldr r2, [pc, #164] ; (8098268 ) 80981c2: 218a movs r1, #138 ; 0x8a 80981c4: 20a0 movs r0, #160 ; 0xa0 80981c6: f7bb fbb7 bl 8053938 } BSP_SD_Init(); 80981ca: f027 fadb bl 80bf784 break; 80981ce: e000 b.n 80981d2 break; 80981d0: bf00 nop } } } 80981d2: bf00 nop 80981d4: bd80 pop {r7, pc} 80981d6: bf00 nop 80981d8: 20020dd2 .word 0x20020dd2 80981dc: ff0a0f1f .word 0xff0a0f1f 80981e0: 20020038 .word 0x20020038 80981e4: 20020dcc .word 0x20020dcc 80981e8: 20023e60 .word 0x20023e60 80981ec: 080d0784 .word 0x080d0784 80981f0: 080d0790 .word 0x080d0790 80981f4: 080d07a8 .word 0x080d07a8 80981f8: 080d07b4 .word 0x080d07b4 80981fc: 080d07bc .word 0x080d07bc 8098200: 080d07cc .word 0x080d07cc 8098204: 080d07d8 .word 0x080d07d8 8098208: 080d07e4 .word 0x080d07e4 809820c: 080d07f4 .word 0x080d07f4 8098210: 080d07fc .word 0x080d07fc 8098214: 080cfff8 .word 0x080cfff8 8098218: 080d0808 .word 0x080d0808 809821c: 080d0810 .word 0x080d0810 8098220: 080d0818 .word 0x080d0818 8098224: 080d0820 .word 0x080d0820 8098228: 080d082c .word 0x080d082c 809822c: 080d0834 .word 0x080d0834 8098230: 080d0844 .word 0x080d0844 8098234: 080d0858 .word 0x080d0858 8098238: 080d0868 .word 0x080d0868 809823c: 080d0874 .word 0x080d0874 8098240: 080d0880 .word 0x080d0880 8098244: 080d0890 .word 0x080d0890 8098248: 080d089c .word 0x080d089c 809824c: 080d08ac .word 0x080d08ac 8098250: 080d08b8 .word 0x080d08b8 8098254: 080d08c0 .word 0x080d08c0 8098258: 080d08cc .word 0x080d08cc 809825c: 080d08d4 .word 0x080d08d4 8098260: 080d08e4 .word 0x080d08e4 8098264: 080d08f4 .word 0x080d08f4 8098268: 080d0900 .word 0x080d0900 0809826c : void DrawDetectorType(void) { 809826c: b580 push {r7, lr} 809826e: af00 add r7, sp, #0 if((DrawSavedData) || (NextIndexMeas < IndexMeas[NextIndexPoint])) 8098270: 4ba8 ldr r3, [pc, #672] ; (8098514 ) 8098272: 781b ldrb r3, [r3, #0] 8098274: b2db uxtb r3, r3 8098276: 2b00 cmp r3, #0 8098278: d109 bne.n 809828e 809827a: 4ba7 ldr r3, [pc, #668] ; (8098518 ) 809827c: 681b ldr r3, [r3, #0] 809827e: 4aa7 ldr r2, [pc, #668] ; (809851c ) 8098280: f852 2023 ldr.w r2, [r2, r3, lsl #2] 8098284: 4ba6 ldr r3, [pc, #664] ; (8098520 ) 8098286: 681b ldr r3, [r3, #0] 8098288: 429a cmp r2, r3 809828a: f240 818d bls.w 80985a8 { if((ReadFileData.Aivs == 'P') || (ReadFileData.Aivs == 'Ï')) 809828e: 4ba5 ldr r3, [pc, #660] ; (8098524 ) 8098290: f893 302c ldrb.w r3, [r3, #44] ; 0x2c 8098294: b2db uxtb r3, r3 8098296: 2b50 cmp r3, #80 ; 0x50 8098298: d005 beq.n 80982a6 809829a: 4ba2 ldr r3, [pc, #648] ; (8098524 ) 809829c: f893 302c ldrb.w r3, [r3, #44] ; 0x2c 80982a0: b2db uxtb r3, r3 80982a2: 2bcf cmp r3, #207 ; 0xcf 80982a4: d10c bne.n 80982c0 DrawImage(BM_PEAK[pardata.LANG], 46, 65+18); 80982a6: 4ba0 ldr r3, [pc, #640] ; (8098528 ) 80982a8: 7b1b ldrb r3, [r3, #12] 80982aa: b2db uxtb r3, r3 80982ac: 461a mov r2, r3 80982ae: 4b9f ldr r3, [pc, #636] ; (809852c ) 80982b0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80982b4: 2253 movs r2, #83 ; 0x53 80982b6: 212e movs r1, #46 ; 0x2e 80982b8: 4618 mov r0, r3 80982ba: f7bc f96b bl 8054594 80982be: e062 b.n 8098386 else if((ReadFileData.Aivs == 'S') || (ReadFileData.Aivs == 'Ñ')) 80982c0: 4b98 ldr r3, [pc, #608] ; (8098524 ) 80982c2: f893 302c ldrb.w r3, [r3, #44] ; 0x2c 80982c6: b2db uxtb r3, r3 80982c8: 2b53 cmp r3, #83 ; 0x53 80982ca: d005 beq.n 80982d8 80982cc: 4b95 ldr r3, [pc, #596] ; (8098524 ) 80982ce: f893 302c ldrb.w r3, [r3, #44] ; 0x2c 80982d2: b2db uxtb r3, r3 80982d4: 2bd1 cmp r3, #209 ; 0xd1 80982d6: d10c bne.n 80982f2 DrawImage(BM_RMS[pardata.LANG], 46, 65+18); 80982d8: 4b93 ldr r3, [pc, #588] ; (8098528 ) 80982da: 7b1b ldrb r3, [r3, #12] 80982dc: b2db uxtb r3, r3 80982de: 461a mov r2, r3 80982e0: 4b93 ldr r3, [pc, #588] ; (8098530 ) 80982e2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80982e6: 2253 movs r2, #83 ; 0x53 80982e8: 212e movs r1, #46 ; 0x2e 80982ea: 4618 mov r0, r3 80982ec: f7bc f952 bl 8054594 80982f0: e049 b.n 8098386 else if((ReadFileData.Aivs == 'R') || (ReadFileData.Aivs == 'Ð')) 80982f2: 4b8c ldr r3, [pc, #560] ; (8098524 ) 80982f4: f893 302c ldrb.w r3, [r3, #44] ; 0x2c 80982f8: b2db uxtb r3, r3 80982fa: 2b52 cmp r3, #82 ; 0x52 80982fc: d005 beq.n 809830a 80982fe: 4b89 ldr r3, [pc, #548] ; (8098524 ) 8098300: f893 302c ldrb.w r3, [r3, #44] ; 0x2c 8098304: b2db uxtb r3, r3 8098306: 2bd0 cmp r3, #208 ; 0xd0 8098308: d10c bne.n 8098324 DrawImage(BM_RAZMAH[pardata.LANG], 46, 65+18); 809830a: 4b87 ldr r3, [pc, #540] ; (8098528 ) 809830c: 7b1b ldrb r3, [r3, #12] 809830e: b2db uxtb r3, r3 8098310: 461a mov r2, r3 8098312: 4b88 ldr r3, [pc, #544] ; (8098534 ) 8098314: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8098318: 2253 movs r2, #83 ; 0x53 809831a: 212e movs r1, #46 ; 0x2e 809831c: 4618 mov r0, r3 809831e: f7bc f939 bl 8054594 8098322: e030 b.n 8098386 else if((ReadFileData.Aivs == 'F') || (ReadFileData.Aivs == 'Ô')) 8098324: 4b7f ldr r3, [pc, #508] ; (8098524 ) 8098326: f893 302c ldrb.w r3, [r3, #44] ; 0x2c 809832a: b2db uxtb r3, r3 809832c: 2b46 cmp r3, #70 ; 0x46 809832e: d005 beq.n 809833c 8098330: 4b7c ldr r3, [pc, #496] ; (8098524 ) 8098332: f893 302c ldrb.w r3, [r3, #44] ; 0x2c 8098336: b2db uxtb r3, r3 8098338: 2bd4 cmp r3, #212 ; 0xd4 809833a: d10c bne.n 8098356 DrawImage(BM_FACTOR[pardata.LANG], 46, 65+18); 809833c: 4b7a ldr r3, [pc, #488] ; (8098528 ) 809833e: 7b1b ldrb r3, [r3, #12] 8098340: b2db uxtb r3, r3 8098342: 461a mov r2, r3 8098344: 4b7c ldr r3, [pc, #496] ; (8098538 ) 8098346: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809834a: 2253 movs r2, #83 ; 0x53 809834c: 212e movs r1, #46 ; 0x2e 809834e: 4618 mov r0, r3 8098350: f7bc f920 bl 8054594 8098354: e017 b.n 8098386 else if((ReadFileData.Aivs == 'E') || (ReadFileData.Aivs == 'Ý')) 8098356: 4b73 ldr r3, [pc, #460] ; (8098524 ) 8098358: f893 302c ldrb.w r3, [r3, #44] ; 0x2c 809835c: b2db uxtb r3, r3 809835e: 2b45 cmp r3, #69 ; 0x45 8098360: d005 beq.n 809836e 8098362: 4b70 ldr r3, [pc, #448] ; (8098524 ) 8098364: f893 302c ldrb.w r3, [r3, #44] ; 0x2c 8098368: b2db uxtb r3, r3 809836a: 2bdd cmp r3, #221 ; 0xdd 809836c: d10b bne.n 8098386 DrawImage(BM_EXCESS[pardata.LANG], 46, 65+18); 809836e: 4b6e ldr r3, [pc, #440] ; (8098528 ) 8098370: 7b1b ldrb r3, [r3, #12] 8098372: b2db uxtb r3, r3 8098374: 461a mov r2, r3 8098376: 4b71 ldr r3, [pc, #452] ; (809853c ) 8098378: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809837c: 2253 movs r2, #83 ; 0x53 809837e: 212e movs r1, #46 ; 0x2e 8098380: 4618 mov r0, r3 8098382: f7bc f907 bl 8054594 if((ReadFileData.Vivs == 'P') || (ReadFileData.Vivs == 'Ï')) 8098386: 4b67 ldr r3, [pc, #412] ; (8098524 ) 8098388: f893 302d ldrb.w r3, [r3, #45] ; 0x2d 809838c: b2db uxtb r3, r3 809838e: 2b50 cmp r3, #80 ; 0x50 8098390: d005 beq.n 809839e 8098392: 4b64 ldr r3, [pc, #400] ; (8098524 ) 8098394: f893 302d ldrb.w r3, [r3, #45] ; 0x2d 8098398: b2db uxtb r3, r3 809839a: 2bcf cmp r3, #207 ; 0xcf 809839c: d10c bne.n 80983b8 DrawImage(BM_PEAK[pardata.LANG], 46, 119+8); 809839e: 4b62 ldr r3, [pc, #392] ; (8098528 ) 80983a0: 7b1b ldrb r3, [r3, #12] 80983a2: b2db uxtb r3, r3 80983a4: 461a mov r2, r3 80983a6: 4b61 ldr r3, [pc, #388] ; (809852c ) 80983a8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80983ac: 227f movs r2, #127 ; 0x7f 80983ae: 212e movs r1, #46 ; 0x2e 80983b0: 4618 mov r0, r3 80983b2: f7bc f8ef bl 8054594 80983b6: e062 b.n 809847e else if((ReadFileData.Vivs == 'S') || (ReadFileData.Vivs == 'Ñ')) 80983b8: 4b5a ldr r3, [pc, #360] ; (8098524 ) 80983ba: f893 302d ldrb.w r3, [r3, #45] ; 0x2d 80983be: b2db uxtb r3, r3 80983c0: 2b53 cmp r3, #83 ; 0x53 80983c2: d005 beq.n 80983d0 80983c4: 4b57 ldr r3, [pc, #348] ; (8098524 ) 80983c6: f893 302d ldrb.w r3, [r3, #45] ; 0x2d 80983ca: b2db uxtb r3, r3 80983cc: 2bd1 cmp r3, #209 ; 0xd1 80983ce: d10c bne.n 80983ea DrawImage(BM_RMS[pardata.LANG], 46, 119+8); 80983d0: 4b55 ldr r3, [pc, #340] ; (8098528 ) 80983d2: 7b1b ldrb r3, [r3, #12] 80983d4: b2db uxtb r3, r3 80983d6: 461a mov r2, r3 80983d8: 4b55 ldr r3, [pc, #340] ; (8098530 ) 80983da: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80983de: 227f movs r2, #127 ; 0x7f 80983e0: 212e movs r1, #46 ; 0x2e 80983e2: 4618 mov r0, r3 80983e4: f7bc f8d6 bl 8054594 80983e8: e049 b.n 809847e else if((ReadFileData.Vivs == 'R') || (ReadFileData.Vivs == 'Ð')) 80983ea: 4b4e ldr r3, [pc, #312] ; (8098524 ) 80983ec: f893 302d ldrb.w r3, [r3, #45] ; 0x2d 80983f0: b2db uxtb r3, r3 80983f2: 2b52 cmp r3, #82 ; 0x52 80983f4: d005 beq.n 8098402 80983f6: 4b4b ldr r3, [pc, #300] ; (8098524 ) 80983f8: f893 302d ldrb.w r3, [r3, #45] ; 0x2d 80983fc: b2db uxtb r3, r3 80983fe: 2bd0 cmp r3, #208 ; 0xd0 8098400: d10c bne.n 809841c DrawImage(BM_RAZMAH[pardata.LANG], 46, 119+8); 8098402: 4b49 ldr r3, [pc, #292] ; (8098528 ) 8098404: 7b1b ldrb r3, [r3, #12] 8098406: b2db uxtb r3, r3 8098408: 461a mov r2, r3 809840a: 4b4a ldr r3, [pc, #296] ; (8098534 ) 809840c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8098410: 227f movs r2, #127 ; 0x7f 8098412: 212e movs r1, #46 ; 0x2e 8098414: 4618 mov r0, r3 8098416: f7bc f8bd bl 8054594 809841a: e030 b.n 809847e else if((ReadFileData.Vivs == 'F') || (ReadFileData.Vivs == 'Ô')) 809841c: 4b41 ldr r3, [pc, #260] ; (8098524 ) 809841e: f893 302d ldrb.w r3, [r3, #45] ; 0x2d 8098422: b2db uxtb r3, r3 8098424: 2b46 cmp r3, #70 ; 0x46 8098426: d005 beq.n 8098434 8098428: 4b3e ldr r3, [pc, #248] ; (8098524 ) 809842a: f893 302d ldrb.w r3, [r3, #45] ; 0x2d 809842e: b2db uxtb r3, r3 8098430: 2bd4 cmp r3, #212 ; 0xd4 8098432: d10c bne.n 809844e DrawImage(BM_FACTOR[pardata.LANG], 46, 119+8); 8098434: 4b3c ldr r3, [pc, #240] ; (8098528 ) 8098436: 7b1b ldrb r3, [r3, #12] 8098438: b2db uxtb r3, r3 809843a: 461a mov r2, r3 809843c: 4b3e ldr r3, [pc, #248] ; (8098538 ) 809843e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8098442: 227f movs r2, #127 ; 0x7f 8098444: 212e movs r1, #46 ; 0x2e 8098446: 4618 mov r0, r3 8098448: f7bc f8a4 bl 8054594 809844c: e017 b.n 809847e else if((ReadFileData.Vivs == 'E') || (ReadFileData.Vivs == 'Ý')) 809844e: 4b35 ldr r3, [pc, #212] ; (8098524 ) 8098450: f893 302d ldrb.w r3, [r3, #45] ; 0x2d 8098454: b2db uxtb r3, r3 8098456: 2b45 cmp r3, #69 ; 0x45 8098458: d005 beq.n 8098466 809845a: 4b32 ldr r3, [pc, #200] ; (8098524 ) 809845c: f893 302d ldrb.w r3, [r3, #45] ; 0x2d 8098460: b2db uxtb r3, r3 8098462: 2bdd cmp r3, #221 ; 0xdd 8098464: d10b bne.n 809847e DrawImage(BM_EXCESS[pardata.LANG], 46, 119+8); 8098466: 4b30 ldr r3, [pc, #192] ; (8098528 ) 8098468: 7b1b ldrb r3, [r3, #12] 809846a: b2db uxtb r3, r3 809846c: 461a mov r2, r3 809846e: 4b33 ldr r3, [pc, #204] ; (809853c ) 8098470: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8098474: 227f movs r2, #127 ; 0x7f 8098476: 212e movs r1, #46 ; 0x2e 8098478: 4618 mov r0, r3 809847a: f7bc f88b bl 8054594 if((ReadFileData.Sivs == 'P') || (ReadFileData.Sivs == 'Ï')) 809847e: 4b29 ldr r3, [pc, #164] ; (8098524 ) 8098480: f893 302e ldrb.w r3, [r3, #46] ; 0x2e 8098484: b2db uxtb r3, r3 8098486: 2b50 cmp r3, #80 ; 0x50 8098488: d005 beq.n 8098496 809848a: 4b26 ldr r3, [pc, #152] ; (8098524 ) 809848c: f893 302e ldrb.w r3, [r3, #46] ; 0x2e 8098490: b2db uxtb r3, r3 8098492: 2bcf cmp r3, #207 ; 0xcf 8098494: d10c bne.n 80984b0 DrawImage(BM_PEAK[pardata.LANG], 46, 169); 8098496: 4b24 ldr r3, [pc, #144] ; (8098528 ) 8098498: 7b1b ldrb r3, [r3, #12] 809849a: b2db uxtb r3, r3 809849c: 461a mov r2, r3 809849e: 4b23 ldr r3, [pc, #140] ; (809852c ) 80984a0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80984a4: 22a9 movs r2, #169 ; 0xa9 80984a6: 212e movs r1, #46 ; 0x2e 80984a8: 4618 mov r0, r3 80984aa: f7bc f873 bl 8054594 80984ae: e07a b.n 80985a6 else if((ReadFileData.Sivs == 'S') || (ReadFileData.Sivs == 'Ñ')) 80984b0: 4b1c ldr r3, [pc, #112] ; (8098524 ) 80984b2: f893 302e ldrb.w r3, [r3, #46] ; 0x2e 80984b6: b2db uxtb r3, r3 80984b8: 2b53 cmp r3, #83 ; 0x53 80984ba: d005 beq.n 80984c8 80984bc: 4b19 ldr r3, [pc, #100] ; (8098524 ) 80984be: f893 302e ldrb.w r3, [r3, #46] ; 0x2e 80984c2: b2db uxtb r3, r3 80984c4: 2bd1 cmp r3, #209 ; 0xd1 80984c6: d10c bne.n 80984e2 DrawImage(BM_RMS[pardata.LANG], 46, 169); 80984c8: 4b17 ldr r3, [pc, #92] ; (8098528 ) 80984ca: 7b1b ldrb r3, [r3, #12] 80984cc: b2db uxtb r3, r3 80984ce: 461a mov r2, r3 80984d0: 4b17 ldr r3, [pc, #92] ; (8098530 ) 80984d2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80984d6: 22a9 movs r2, #169 ; 0xa9 80984d8: 212e movs r1, #46 ; 0x2e 80984da: 4618 mov r0, r3 80984dc: f7bc f85a bl 8054594 80984e0: e061 b.n 80985a6 else if((ReadFileData.Sivs == 'R') || (ReadFileData.Sivs == 'Ð')) 80984e2: 4b10 ldr r3, [pc, #64] ; (8098524 ) 80984e4: f893 302e ldrb.w r3, [r3, #46] ; 0x2e 80984e8: b2db uxtb r3, r3 80984ea: 2b52 cmp r3, #82 ; 0x52 80984ec: d005 beq.n 80984fa 80984ee: 4b0d ldr r3, [pc, #52] ; (8098524 ) 80984f0: f893 302e ldrb.w r3, [r3, #46] ; 0x2e 80984f4: b2db uxtb r3, r3 80984f6: 2bd0 cmp r3, #208 ; 0xd0 80984f8: d122 bne.n 8098540 DrawImage(BM_RAZMAH[pardata.LANG], 46, 169); 80984fa: 4b0b ldr r3, [pc, #44] ; (8098528 ) 80984fc: 7b1b ldrb r3, [r3, #12] 80984fe: b2db uxtb r3, r3 8098500: 461a mov r2, r3 8098502: 4b0c ldr r3, [pc, #48] ; (8098534 ) 8098504: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8098508: 22a9 movs r2, #169 ; 0xa9 809850a: 212e movs r1, #46 ; 0x2e 809850c: 4618 mov r0, r3 809850e: f7bc f841 bl 8054594 8098512: e048 b.n 80985a6 8098514: 20020dca .word 0x20020dca 8098518: 20021f9c .word 0x20021f9c 809851c: 20022ea0 .word 0x20022ea0 8098520: 20022310 .word 0x20022310 8098524: 200226a0 .word 0x200226a0 8098528: 20023e60 .word 0x20023e60 809852c: 200200cc .word 0x200200cc 8098530: 200200d4 .word 0x200200d4 8098534: 200200dc .word 0x200200dc 8098538: 200200e4 .word 0x200200e4 809853c: 200200ec .word 0x200200ec else if((ReadFileData.Sivs == 'F') || (ReadFileData.Sivs == 'Ô')) 8098540: 4ba1 ldr r3, [pc, #644] ; (80987c8 ) 8098542: f893 302e ldrb.w r3, [r3, #46] ; 0x2e 8098546: b2db uxtb r3, r3 8098548: 2b46 cmp r3, #70 ; 0x46 809854a: d005 beq.n 8098558 809854c: 4b9e ldr r3, [pc, #632] ; (80987c8 ) 809854e: f893 302e ldrb.w r3, [r3, #46] ; 0x2e 8098552: b2db uxtb r3, r3 8098554: 2bd4 cmp r3, #212 ; 0xd4 8098556: d10c bne.n 8098572 DrawImage(BM_FACTOR[pardata.LANG], 46, 169); 8098558: 4b9c ldr r3, [pc, #624] ; (80987cc ) 809855a: 7b1b ldrb r3, [r3, #12] 809855c: b2db uxtb r3, r3 809855e: 461a mov r2, r3 8098560: 4b9b ldr r3, [pc, #620] ; (80987d0 ) 8098562: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8098566: 22a9 movs r2, #169 ; 0xa9 8098568: 212e movs r1, #46 ; 0x2e 809856a: 4618 mov r0, r3 809856c: f7bc f812 bl 8054594 8098570: e019 b.n 80985a6 else if((ReadFileData.Sivs == 'E') || (ReadFileData.Sivs == 'Ý')) 8098572: 4b95 ldr r3, [pc, #596] ; (80987c8 ) 8098574: f893 302e ldrb.w r3, [r3, #46] ; 0x2e 8098578: b2db uxtb r3, r3 809857a: 2b45 cmp r3, #69 ; 0x45 809857c: d006 beq.n 809858c 809857e: 4b92 ldr r3, [pc, #584] ; (80987c8 ) 8098580: f893 302e ldrb.w r3, [r3, #46] ; 0x2e 8098584: b2db uxtb r3, r3 8098586: 2bdd cmp r3, #221 ; 0xdd 8098588: f040 811a bne.w 80987c0 DrawImage(BM_EXCESS[pardata.LANG], 46, 169); 809858c: 4b8f ldr r3, [pc, #572] ; (80987cc ) 809858e: 7b1b ldrb r3, [r3, #12] 8098590: b2db uxtb r3, r3 8098592: 461a mov r2, r3 8098594: 4b8f ldr r3, [pc, #572] ; (80987d4 ) 8098596: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809859a: 22a9 movs r2, #169 ; 0xa9 809859c: 212e movs r1, #46 ; 0x2e 809859e: 4618 mov r0, r3 80985a0: f7bb fff8 bl 8054594 if((ReadFileData.Sivs == 'P') || (ReadFileData.Sivs == 'Ï')) 80985a4: e10c b.n 80987c0 80985a6: e10b b.n 80987c0 } else { if(pardata.IVS[ACC] == PEAK) DrawImage(BM_PEAK[pardata.LANG], 46, 65+18); 80985a8: 4b88 ldr r3, [pc, #544] ; (80987cc ) 80985aa: 789b ldrb r3, [r3, #2] 80985ac: b2db uxtb r3, r3 80985ae: 2b00 cmp r3, #0 80985b0: d10c bne.n 80985cc 80985b2: 4b86 ldr r3, [pc, #536] ; (80987cc ) 80985b4: 7b1b ldrb r3, [r3, #12] 80985b6: b2db uxtb r3, r3 80985b8: 461a mov r2, r3 80985ba: 4b87 ldr r3, [pc, #540] ; (80987d8 ) 80985bc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80985c0: 2253 movs r2, #83 ; 0x53 80985c2: 212e movs r1, #46 ; 0x2e 80985c4: 4618 mov r0, r3 80985c6: f7bb ffe5 bl 8054594 80985ca: e046 b.n 809865a else if(pardata.IVS[ACC] == RMS) DrawImage(BM_RMS[pardata.LANG], 46, 65+18); 80985cc: 4b7f ldr r3, [pc, #508] ; (80987cc ) 80985ce: 789b ldrb r3, [r3, #2] 80985d0: b2db uxtb r3, r3 80985d2: 2b01 cmp r3, #1 80985d4: d10c bne.n 80985f0 80985d6: 4b7d ldr r3, [pc, #500] ; (80987cc ) 80985d8: 7b1b ldrb r3, [r3, #12] 80985da: b2db uxtb r3, r3 80985dc: 461a mov r2, r3 80985de: 4b7f ldr r3, [pc, #508] ; (80987dc ) 80985e0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80985e4: 2253 movs r2, #83 ; 0x53 80985e6: 212e movs r1, #46 ; 0x2e 80985e8: 4618 mov r0, r3 80985ea: f7bb ffd3 bl 8054594 80985ee: e034 b.n 809865a else if(pardata.IVS[ACC] == PEAK_TO_PEAK) DrawImage(BM_RAZMAH[pardata.LANG], 46, 65+18); 80985f0: 4b76 ldr r3, [pc, #472] ; (80987cc ) 80985f2: 789b ldrb r3, [r3, #2] 80985f4: b2db uxtb r3, r3 80985f6: 2b02 cmp r3, #2 80985f8: d10c bne.n 8098614 80985fa: 4b74 ldr r3, [pc, #464] ; (80987cc ) 80985fc: 7b1b ldrb r3, [r3, #12] 80985fe: b2db uxtb r3, r3 8098600: 461a mov r2, r3 8098602: 4b77 ldr r3, [pc, #476] ; (80987e0 ) 8098604: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8098608: 2253 movs r2, #83 ; 0x53 809860a: 212e movs r1, #46 ; 0x2e 809860c: 4618 mov r0, r3 809860e: f7bb ffc1 bl 8054594 8098612: e022 b.n 809865a else if(pardata.IVS[ACC] == PEAK_FACTOR) DrawImage(BM_FACTOR[pardata.LANG], 46, 65+18); 8098614: 4b6d ldr r3, [pc, #436] ; (80987cc ) 8098616: 789b ldrb r3, [r3, #2] 8098618: b2db uxtb r3, r3 809861a: 2b03 cmp r3, #3 809861c: d10c bne.n 8098638 809861e: 4b6b ldr r3, [pc, #428] ; (80987cc ) 8098620: 7b1b ldrb r3, [r3, #12] 8098622: b2db uxtb r3, r3 8098624: 461a mov r2, r3 8098626: 4b6a ldr r3, [pc, #424] ; (80987d0 ) 8098628: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809862c: 2253 movs r2, #83 ; 0x53 809862e: 212e movs r1, #46 ; 0x2e 8098630: 4618 mov r0, r3 8098632: f7bb ffaf bl 8054594 8098636: e010 b.n 809865a else if(pardata.IVS[ACC] == EXCESS ) DrawImage(BM_EXCESS[pardata.LANG], 46, 65+18); 8098638: 4b64 ldr r3, [pc, #400] ; (80987cc ) 809863a: 789b ldrb r3, [r3, #2] 809863c: b2db uxtb r3, r3 809863e: 2b04 cmp r3, #4 8098640: d10b bne.n 809865a 8098642: 4b62 ldr r3, [pc, #392] ; (80987cc ) 8098644: 7b1b ldrb r3, [r3, #12] 8098646: b2db uxtb r3, r3 8098648: 461a mov r2, r3 809864a: 4b62 ldr r3, [pc, #392] ; (80987d4 ) 809864c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8098650: 2253 movs r2, #83 ; 0x53 8098652: 212e movs r1, #46 ; 0x2e 8098654: 4618 mov r0, r3 8098656: f7bb ff9d bl 8054594 if(pardata.IVS[VEL] == PEAK) DrawImage(BM_PEAK[pardata.LANG], 46, 119+8); 809865a: 4b5c ldr r3, [pc, #368] ; (80987cc ) 809865c: 78db ldrb r3, [r3, #3] 809865e: b2db uxtb r3, r3 8098660: 2b00 cmp r3, #0 8098662: d10c bne.n 809867e 8098664: 4b59 ldr r3, [pc, #356] ; (80987cc ) 8098666: 7b1b ldrb r3, [r3, #12] 8098668: b2db uxtb r3, r3 809866a: 461a mov r2, r3 809866c: 4b5a ldr r3, [pc, #360] ; (80987d8 ) 809866e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8098672: 227f movs r2, #127 ; 0x7f 8098674: 212e movs r1, #46 ; 0x2e 8098676: 4618 mov r0, r3 8098678: f7bb ff8c bl 8054594 809867c: e046 b.n 809870c else if(pardata.IVS[VEL] == RMS) DrawImage(BM_RMS[pardata.LANG], 46, 119+8); 809867e: 4b53 ldr r3, [pc, #332] ; (80987cc ) 8098680: 78db ldrb r3, [r3, #3] 8098682: b2db uxtb r3, r3 8098684: 2b01 cmp r3, #1 8098686: d10c bne.n 80986a2 8098688: 4b50 ldr r3, [pc, #320] ; (80987cc ) 809868a: 7b1b ldrb r3, [r3, #12] 809868c: b2db uxtb r3, r3 809868e: 461a mov r2, r3 8098690: 4b52 ldr r3, [pc, #328] ; (80987dc ) 8098692: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8098696: 227f movs r2, #127 ; 0x7f 8098698: 212e movs r1, #46 ; 0x2e 809869a: 4618 mov r0, r3 809869c: f7bb ff7a bl 8054594 80986a0: e034 b.n 809870c else if(pardata.IVS[VEL] == PEAK_TO_PEAK) DrawImage(BM_RAZMAH[pardata.LANG], 46, 119+8); 80986a2: 4b4a ldr r3, [pc, #296] ; (80987cc ) 80986a4: 78db ldrb r3, [r3, #3] 80986a6: b2db uxtb r3, r3 80986a8: 2b02 cmp r3, #2 80986aa: d10c bne.n 80986c6 80986ac: 4b47 ldr r3, [pc, #284] ; (80987cc ) 80986ae: 7b1b ldrb r3, [r3, #12] 80986b0: b2db uxtb r3, r3 80986b2: 461a mov r2, r3 80986b4: 4b4a ldr r3, [pc, #296] ; (80987e0 ) 80986b6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80986ba: 227f movs r2, #127 ; 0x7f 80986bc: 212e movs r1, #46 ; 0x2e 80986be: 4618 mov r0, r3 80986c0: f7bb ff68 bl 8054594 80986c4: e022 b.n 809870c else if(pardata.IVS[VEL] == PEAK_FACTOR) DrawImage(BM_FACTOR[pardata.LANG], 46, 119+8); 80986c6: 4b41 ldr r3, [pc, #260] ; (80987cc ) 80986c8: 78db ldrb r3, [r3, #3] 80986ca: b2db uxtb r3, r3 80986cc: 2b03 cmp r3, #3 80986ce: d10c bne.n 80986ea 80986d0: 4b3e ldr r3, [pc, #248] ; (80987cc ) 80986d2: 7b1b ldrb r3, [r3, #12] 80986d4: b2db uxtb r3, r3 80986d6: 461a mov r2, r3 80986d8: 4b3d ldr r3, [pc, #244] ; (80987d0 ) 80986da: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80986de: 227f movs r2, #127 ; 0x7f 80986e0: 212e movs r1, #46 ; 0x2e 80986e2: 4618 mov r0, r3 80986e4: f7bb ff56 bl 8054594 80986e8: e010 b.n 809870c else if(pardata.IVS[VEL] == EXCESS) DrawImage(BM_EXCESS[pardata.LANG], 46, 119+8); 80986ea: 4b38 ldr r3, [pc, #224] ; (80987cc ) 80986ec: 78db ldrb r3, [r3, #3] 80986ee: b2db uxtb r3, r3 80986f0: 2b04 cmp r3, #4 80986f2: d10b bne.n 809870c 80986f4: 4b35 ldr r3, [pc, #212] ; (80987cc ) 80986f6: 7b1b ldrb r3, [r3, #12] 80986f8: b2db uxtb r3, r3 80986fa: 461a mov r2, r3 80986fc: 4b35 ldr r3, [pc, #212] ; (80987d4 ) 80986fe: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8098702: 227f movs r2, #127 ; 0x7f 8098704: 212e movs r1, #46 ; 0x2e 8098706: 4618 mov r0, r3 8098708: f7bb ff44 bl 8054594 if(pardata.IVS[DIS] == PEAK) DrawImage(BM_PEAK[pardata.LANG], 46, 169); 809870c: 4b2f ldr r3, [pc, #188] ; (80987cc ) 809870e: 791b ldrb r3, [r3, #4] 8098710: b2db uxtb r3, r3 8098712: 2b00 cmp r3, #0 8098714: d10c bne.n 8098730 8098716: 4b2d ldr r3, [pc, #180] ; (80987cc ) 8098718: 7b1b ldrb r3, [r3, #12] 809871a: b2db uxtb r3, r3 809871c: 461a mov r2, r3 809871e: 4b2e ldr r3, [pc, #184] ; (80987d8 ) 8098720: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8098724: 22a9 movs r2, #169 ; 0xa9 8098726: 212e movs r1, #46 ; 0x2e 8098728: 4618 mov r0, r3 809872a: f7bb ff33 bl 8054594 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); } } 809872e: e048 b.n 80987c2 else if(pardata.IVS[DIS] == RMS) DrawImage(BM_RMS[pardata.LANG], 46, 169); 8098730: 4b26 ldr r3, [pc, #152] ; (80987cc ) 8098732: 791b ldrb r3, [r3, #4] 8098734: b2db uxtb r3, r3 8098736: 2b01 cmp r3, #1 8098738: d10c bne.n 8098754 809873a: 4b24 ldr r3, [pc, #144] ; (80987cc ) 809873c: 7b1b ldrb r3, [r3, #12] 809873e: b2db uxtb r3, r3 8098740: 461a mov r2, r3 8098742: 4b26 ldr r3, [pc, #152] ; (80987dc ) 8098744: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8098748: 22a9 movs r2, #169 ; 0xa9 809874a: 212e movs r1, #46 ; 0x2e 809874c: 4618 mov r0, r3 809874e: f7bb ff21 bl 8054594 } 8098752: e036 b.n 80987c2 else if(pardata.IVS[DIS] == PEAK_TO_PEAK) DrawImage(BM_RAZMAH[pardata.LANG], 46, 169); 8098754: 4b1d ldr r3, [pc, #116] ; (80987cc ) 8098756: 791b ldrb r3, [r3, #4] 8098758: b2db uxtb r3, r3 809875a: 2b02 cmp r3, #2 809875c: d10c bne.n 8098778 809875e: 4b1b ldr r3, [pc, #108] ; (80987cc ) 8098760: 7b1b ldrb r3, [r3, #12] 8098762: b2db uxtb r3, r3 8098764: 461a mov r2, r3 8098766: 4b1e ldr r3, [pc, #120] ; (80987e0 ) 8098768: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809876c: 22a9 movs r2, #169 ; 0xa9 809876e: 212e movs r1, #46 ; 0x2e 8098770: 4618 mov r0, r3 8098772: f7bb ff0f bl 8054594 } 8098776: e024 b.n 80987c2 else if(pardata.IVS[DIS] == PEAK_FACTOR) DrawImage(BM_FACTOR[pardata.LANG], 46, 169); 8098778: 4b14 ldr r3, [pc, #80] ; (80987cc ) 809877a: 791b ldrb r3, [r3, #4] 809877c: b2db uxtb r3, r3 809877e: 2b03 cmp r3, #3 8098780: d10c bne.n 809879c 8098782: 4b12 ldr r3, [pc, #72] ; (80987cc ) 8098784: 7b1b ldrb r3, [r3, #12] 8098786: b2db uxtb r3, r3 8098788: 461a mov r2, r3 809878a: 4b11 ldr r3, [pc, #68] ; (80987d0 ) 809878c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8098790: 22a9 movs r2, #169 ; 0xa9 8098792: 212e movs r1, #46 ; 0x2e 8098794: 4618 mov r0, r3 8098796: f7bb fefd bl 8054594 } 809879a: e012 b.n 80987c2 else if(pardata.IVS[DIS] == EXCESS) DrawImage(BM_EXCESS[pardata.LANG], 46, 169); 809879c: 4b0b ldr r3, [pc, #44] ; (80987cc ) 809879e: 791b ldrb r3, [r3, #4] 80987a0: b2db uxtb r3, r3 80987a2: 2b04 cmp r3, #4 80987a4: d10d bne.n 80987c2 80987a6: 4b09 ldr r3, [pc, #36] ; (80987cc ) 80987a8: 7b1b ldrb r3, [r3, #12] 80987aa: b2db uxtb r3, r3 80987ac: 461a mov r2, r3 80987ae: 4b09 ldr r3, [pc, #36] ; (80987d4 ) 80987b0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80987b4: 22a9 movs r2, #169 ; 0xa9 80987b6: 212e movs r1, #46 ; 0x2e 80987b8: 4618 mov r0, r3 80987ba: f7bb feeb bl 8054594 } 80987be: e000 b.n 80987c2 if((ReadFileData.Sivs == 'P') || (ReadFileData.Sivs == 'Ï')) 80987c0: bf00 nop } 80987c2: bf00 nop 80987c4: bd80 pop {r7, pc} 80987c6: bf00 nop 80987c8: 200226a0 .word 0x200226a0 80987cc: 20023e60 .word 0x20023e60 80987d0: 200200e4 .word 0x200200e4 80987d4: 200200ec .word 0x200200ec 80987d8: 200200cc .word 0x200200cc 80987dc: 200200d4 .word 0x200200d4 80987e0: 200200dc .word 0x200200dc 080987e4 : void RedrawNums(void) //TODO { 80987e4: b580 push {r7, lr} 80987e6: b09a sub sp, #104 ; 0x68 80987e8: af00 add r7, sp, #0 char *p8; TimeDate_TypeDef FatTime; uint8_t ivs[3]; bool log; log = SeeLog; 80987ea: 4bbd ldr r3, [pc, #756] ; (8098ae0 ) 80987ec: 781b ldrb r3, [r3, #0] 80987ee: f887 3067 strb.w r3, [r7, #103] ; 0x67 switch(menu) 80987f2: 4bbc ldr r3, [pc, #752] ; (8098ae4 ) 80987f4: 781b ldrb r3, [r3, #0] 80987f6: b2db uxtb r3, r3 80987f8: 2b1f cmp r3, #31 80987fa: f006 8706 beq.w 809f60a 80987fe: 2b26 cmp r3, #38 ; 0x26 8098800: d004 beq.n 809880c 8098802: 2b00 cmp r3, #0 8098804: f002 857c beq.w 809b300 } } } break; } } 8098808: f00b b93b b.w 80a3a82 if(DrawSavedData) //todo 809880c: 4bb6 ldr r3, [pc, #728] ; (8098ae8 ) 809880e: 781b ldrb r3, [r3, #0] 8098810: b2db uxtb r3, r3 8098812: 2b00 cmp r3, #0 8098814: f001 8223 beq.w 8099c5e DrawImage(&bmSAVED, 298, 39); 8098818: 2227 movs r2, #39 ; 0x27 809881a: f44f 7195 mov.w r1, #298 ; 0x12a 809881e: 48b3 ldr r0, [pc, #716] ; (8098aec ) 8098820: f7bb feb8 bl 8054594 memset(str, 0, sizeof(str)); 8098824: f107 030c add.w r3, r7, #12 8098828: 2228 movs r2, #40 ; 0x28 809882a: 2100 movs r1, #0 809882c: 4618 mov r0, r3 809882e: f034 fc0b bl 80cd048 BSP_LCD_SetFont(&Font8); 8098832: 48af ldr r0, [pc, #700] ; (8098af0 ) 8098834: f7ba fff6 bl 8053824 LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 8098838: 49ae ldr r1, [pc, #696] ; (8098af4 ) 809883a: 48af ldr r0, [pc, #700] ; (8098af8 ) 809883c: f7ba ffb6 bl 80537ac str[0] = (DateFileData.Date / 10) + 48; 8098840: 4bae ldr r3, [pc, #696] ; (8098afc ) 8098842: 789b ldrb r3, [r3, #2] 8098844: b2db uxtb r3, r3 8098846: 4aae ldr r2, [pc, #696] ; (8098b00 ) 8098848: fba2 2303 umull r2, r3, r2, r3 809884c: 08db lsrs r3, r3, #3 809884e: b2db uxtb r3, r3 8098850: 3330 adds r3, #48 ; 0x30 8098852: b2db uxtb r3, r3 8098854: 733b strb r3, [r7, #12] str[1] = (DateFileData.Date % 10) + 48; 8098856: 4ba9 ldr r3, [pc, #676] ; (8098afc ) 8098858: 789b ldrb r3, [r3, #2] 809885a: b2da uxtb r2, r3 809885c: 4ba8 ldr r3, [pc, #672] ; (8098b00 ) 809885e: fba3 1302 umull r1, r3, r3, r2 8098862: 08d9 lsrs r1, r3, #3 8098864: 460b mov r3, r1 8098866: 009b lsls r3, r3, #2 8098868: 440b add r3, r1 809886a: 005b lsls r3, r3, #1 809886c: 1ad3 subs r3, r2, r3 809886e: b2db uxtb r3, r3 8098870: 3330 adds r3, #48 ; 0x30 8098872: b2db uxtb r3, r3 8098874: 737b strb r3, [r7, #13] str[2] = '.'; 8098876: 232e movs r3, #46 ; 0x2e 8098878: 73bb strb r3, [r7, #14] str[3] = (DateFileData.Month / 10) + 48; 809887a: 4ba0 ldr r3, [pc, #640] ; (8098afc ) 809887c: 785b ldrb r3, [r3, #1] 809887e: b2db uxtb r3, r3 8098880: 4a9f ldr r2, [pc, #636] ; (8098b00 ) 8098882: fba2 2303 umull r2, r3, r2, r3 8098886: 08db lsrs r3, r3, #3 8098888: b2db uxtb r3, r3 809888a: 3330 adds r3, #48 ; 0x30 809888c: b2db uxtb r3, r3 809888e: 73fb strb r3, [r7, #15] str[4] = (DateFileData.Month % 10) + 48; 8098890: 4b9a ldr r3, [pc, #616] ; (8098afc ) 8098892: 785b ldrb r3, [r3, #1] 8098894: b2da uxtb r2, r3 8098896: 4b9a ldr r3, [pc, #616] ; (8098b00 ) 8098898: fba3 1302 umull r1, r3, r3, r2 809889c: 08d9 lsrs r1, r3, #3 809889e: 460b mov r3, r1 80988a0: 009b lsls r3, r3, #2 80988a2: 440b add r3, r1 80988a4: 005b lsls r3, r3, #1 80988a6: 1ad3 subs r3, r2, r3 80988a8: b2db uxtb r3, r3 80988aa: 3330 adds r3, #48 ; 0x30 80988ac: b2db uxtb r3, r3 80988ae: 743b strb r3, [r7, #16] str[5] = '.'; 80988b0: 232e movs r3, #46 ; 0x2e 80988b2: 747b strb r3, [r7, #17] str[6] = '2'; 80988b4: 2332 movs r3, #50 ; 0x32 80988b6: 74bb strb r3, [r7, #18] str[7] = '0'; 80988b8: 2330 movs r3, #48 ; 0x30 80988ba: 74fb strb r3, [r7, #19] str[8] = (DateFileData.Year / 10) + 48; 80988bc: 4b8f ldr r3, [pc, #572] ; (8098afc ) 80988be: 78db ldrb r3, [r3, #3] 80988c0: b2db uxtb r3, r3 80988c2: 4a8f ldr r2, [pc, #572] ; (8098b00 ) 80988c4: fba2 2303 umull r2, r3, r2, r3 80988c8: 08db lsrs r3, r3, #3 80988ca: b2db uxtb r3, r3 80988cc: 3330 adds r3, #48 ; 0x30 80988ce: b2db uxtb r3, r3 80988d0: 753b strb r3, [r7, #20] str[9] = (DateFileData.Year % 10) + 48; 80988d2: 4b8a ldr r3, [pc, #552] ; (8098afc ) 80988d4: 78db ldrb r3, [r3, #3] 80988d6: b2da uxtb r2, r3 80988d8: 4b89 ldr r3, [pc, #548] ; (8098b00 ) 80988da: fba3 1302 umull r1, r3, r3, r2 80988de: 08d9 lsrs r1, r3, #3 80988e0: 460b mov r3, r1 80988e2: 009b lsls r3, r3, #2 80988e4: 440b add r3, r1 80988e6: 005b lsls r3, r3, #1 80988e8: 1ad3 subs r3, r2, r3 80988ea: b2db uxtb r3, r3 80988ec: 3330 adds r3, #48 ; 0x30 80988ee: b2db uxtb r3, r3 80988f0: 757b strb r3, [r7, #21] BSP_LCD_DisplayStringAt(295, 42, str, RIGHT_MODE); 80988f2: f107 020c add.w r2, r7, #12 80988f6: 2302 movs r3, #2 80988f8: 212a movs r1, #42 ; 0x2a 80988fa: f240 1027 movw r0, #295 ; 0x127 80988fe: f7bb f81b bl 8053938 memset(str, 0, sizeof(str)); 8098902: f107 030c add.w r3, r7, #12 8098906: 2228 movs r2, #40 ; 0x28 8098908: 2100 movs r1, #0 809890a: 4618 mov r0, r3 809890c: f034 fb9c bl 80cd048 str[0] = (TimeFileData.Hours / 10) + 48; 8098910: 4b7c ldr r3, [pc, #496] ; (8098b04 ) 8098912: 781b ldrb r3, [r3, #0] 8098914: b2db uxtb r3, r3 8098916: 4a7a ldr r2, [pc, #488] ; (8098b00 ) 8098918: fba2 2303 umull r2, r3, r2, r3 809891c: 08db lsrs r3, r3, #3 809891e: b2db uxtb r3, r3 8098920: 3330 adds r3, #48 ; 0x30 8098922: b2db uxtb r3, r3 8098924: 733b strb r3, [r7, #12] str[1] = (TimeFileData.Hours % 10) + 48; 8098926: 4b77 ldr r3, [pc, #476] ; (8098b04 ) 8098928: 781b ldrb r3, [r3, #0] 809892a: b2da uxtb r2, r3 809892c: 4b74 ldr r3, [pc, #464] ; (8098b00 ) 809892e: fba3 1302 umull r1, r3, r3, r2 8098932: 08d9 lsrs r1, r3, #3 8098934: 460b mov r3, r1 8098936: 009b lsls r3, r3, #2 8098938: 440b add r3, r1 809893a: 005b lsls r3, r3, #1 809893c: 1ad3 subs r3, r2, r3 809893e: b2db uxtb r3, r3 8098940: 3330 adds r3, #48 ; 0x30 8098942: b2db uxtb r3, r3 8098944: 737b strb r3, [r7, #13] str[2] = ':'; 8098946: 233a movs r3, #58 ; 0x3a 8098948: 73bb strb r3, [r7, #14] str[3] = (TimeFileData.Minutes / 10) + 48; 809894a: 4b6e ldr r3, [pc, #440] ; (8098b04 ) 809894c: 785b ldrb r3, [r3, #1] 809894e: b2db uxtb r3, r3 8098950: 4a6b ldr r2, [pc, #428] ; (8098b00 ) 8098952: fba2 2303 umull r2, r3, r2, r3 8098956: 08db lsrs r3, r3, #3 8098958: b2db uxtb r3, r3 809895a: 3330 adds r3, #48 ; 0x30 809895c: b2db uxtb r3, r3 809895e: 73fb strb r3, [r7, #15] str[4] = (TimeFileData.Minutes % 10) + 48; 8098960: 4b68 ldr r3, [pc, #416] ; (8098b04 ) 8098962: 785b ldrb r3, [r3, #1] 8098964: b2da uxtb r2, r3 8098966: 4b66 ldr r3, [pc, #408] ; (8098b00 ) 8098968: fba3 1302 umull r1, r3, r3, r2 809896c: 08d9 lsrs r1, r3, #3 809896e: 460b mov r3, r1 8098970: 009b lsls r3, r3, #2 8098972: 440b add r3, r1 8098974: 005b lsls r3, r3, #1 8098976: 1ad3 subs r3, r2, r3 8098978: b2db uxtb r3, r3 809897a: 3330 adds r3, #48 ; 0x30 809897c: b2db uxtb r3, r3 809897e: 743b strb r3, [r7, #16] str[5] = ':'; 8098980: 233a movs r3, #58 ; 0x3a 8098982: 747b strb r3, [r7, #17] str[6] = (TimeFileData.Seconds / 10) + 48; 8098984: 4b5f ldr r3, [pc, #380] ; (8098b04 ) 8098986: 789b ldrb r3, [r3, #2] 8098988: b2db uxtb r3, r3 809898a: 4a5d ldr r2, [pc, #372] ; (8098b00 ) 809898c: fba2 2303 umull r2, r3, r2, r3 8098990: 08db lsrs r3, r3, #3 8098992: b2db uxtb r3, r3 8098994: 3330 adds r3, #48 ; 0x30 8098996: b2db uxtb r3, r3 8098998: 74bb strb r3, [r7, #18] str[7] = (TimeFileData.Seconds % 10) + 48; 809899a: 4b5a ldr r3, [pc, #360] ; (8098b04 ) 809899c: 789b ldrb r3, [r3, #2] 809899e: b2da uxtb r2, r3 80989a0: 4b57 ldr r3, [pc, #348] ; (8098b00 ) 80989a2: fba3 1302 umull r1, r3, r3, r2 80989a6: 08d9 lsrs r1, r3, #3 80989a8: 460b mov r3, r1 80989aa: 009b lsls r3, r3, #2 80989ac: 440b add r3, r1 80989ae: 005b lsls r3, r3, #1 80989b0: 1ad3 subs r3, r2, r3 80989b2: b2db uxtb r3, r3 80989b4: 3330 adds r3, #48 ; 0x30 80989b6: b2db uxtb r3, r3 80989b8: 74fb strb r3, [r7, #19] BSP_LCD_DisplayStringAt(295, 52, str, RIGHT_MODE); 80989ba: f107 020c add.w r2, r7, #12 80989be: 2302 movs r3, #2 80989c0: 2134 movs r1, #52 ; 0x34 80989c2: f240 1027 movw r0, #295 ; 0x127 80989c6: f7ba ffb7 bl 8053938 BSP_LCD_SetFont(&Font12); 80989ca: 484f ldr r0, [pc, #316] ; (8098b08 ) 80989cc: f7ba ff2a bl 8053824 if((DrawSavedData) || (NextIndexMeas < IndexMeas[NextIndexPoint])) 80989d0: 4b45 ldr r3, [pc, #276] ; (8098ae8 ) 80989d2: 781b ldrb r3, [r3, #0] 80989d4: b2db uxtb r3, r3 80989d6: 2b00 cmp r3, #0 80989d8: d109 bne.n 80989ee 80989da: 4b4c ldr r3, [pc, #304] ; (8098b0c ) 80989dc: 681b ldr r3, [r3, #0] 80989de: 4a4c ldr r2, [pc, #304] ; (8098b10 ) 80989e0: f852 2023 ldr.w r2, [r2, r3, lsl #2] 80989e4: 4b4b ldr r3, [pc, #300] ; (8098b14 ) 80989e6: 681b ldr r3, [r3, #0] 80989e8: 429a cmp r2, r3 80989ea: f24b 8045 bls.w 80a3a78 memset(str, 0, sizeof(str)); 80989ee: f107 030c add.w r3, r7, #12 80989f2: 2228 movs r2, #40 ; 0x28 80989f4: 2100 movs r1, #0 80989f6: 4618 mov r0, r3 80989f8: f034 fb26 bl 80cd048 if(DiagnFileData.d_Op1_ipr) 80989fc: 4b46 ldr r3, [pc, #280] ; (8098b18 ) 80989fe: f893 3028 ldrb.w r3, [r3, #40] ; 0x28 8098a02: b2db uxtb r3, r3 8098a04: 2b00 cmp r3, #0 8098a06: f000 8101 beq.w 8098c0c switch(DiagnFileData.d_Op1_ipr) 8098a0a: 4b43 ldr r3, [pc, #268] ; (8098b18 ) 8098a0c: f893 3028 ldrb.w r3, [r3, #40] ; 0x28 8098a10: b2db uxtb r3, r3 8098a12: 2b02 cmp r3, #2 8098a14: d049 beq.n 8098aaa 8098a16: 2b04 cmp r3, #4 8098a18: f000 80b3 beq.w 8098b82 8098a1c: 2b01 cmp r3, #1 8098a1e: f040 80fb bne.w 8098c18 switch(DiagnFileData.d_Op1_ivs) 8098a22: 4b3d ldr r3, [pc, #244] ; (8098b18 ) 8098a24: f893 302b ldrb.w r3, [r3, #43] ; 0x2b 8098a28: b2db uxtb r3, r3 8098a2a: 2b53 cmp r3, #83 ; 0x53 8098a2c: d020 beq.n 8098a70 8098a2e: 2b53 cmp r3, #83 ; 0x53 8098a30: dc0b bgt.n 8098a4a 8098a32: 2b46 cmp r3, #70 ; 0x46 8098a34: d02a beq.n 8098a8c 8098a36: 2b46 cmp r3, #70 ; 0x46 8098a38: dc02 bgt.n 8098a40 8098a3a: 2b45 cmp r3, #69 ; 0x45 8098a3c: d02d beq.n 8098a9a break; 8098a3e: e0eb b.n 8098c18 switch(DiagnFileData.d_Op1_ivs) 8098a40: 2b50 cmp r3, #80 ; 0x50 8098a42: d00e beq.n 8098a62 8098a44: 2b52 cmp r3, #82 ; 0x52 8098a46: d01a beq.n 8098a7e break; 8098a48: e0e6 b.n 8098c18 switch(DiagnFileData.d_Op1_ivs) 8098a4a: 2bd0 cmp r3, #208 ; 0xd0 8098a4c: d017 beq.n 8098a7e 8098a4e: 2bd0 cmp r3, #208 ; 0xd0 8098a50: dc02 bgt.n 8098a58 8098a52: 2bcf cmp r3, #207 ; 0xcf 8098a54: d005 beq.n 8098a62 break; 8098a56: e0df b.n 8098c18 switch(DiagnFileData.d_Op1_ivs) 8098a58: 2bd1 cmp r3, #209 ; 0xd1 8098a5a: d009 beq.n 8098a70 8098a5c: 2bd4 cmp r3, #212 ; 0xd4 8098a5e: d015 beq.n 8098a8c break; 8098a60: e0da b.n 8098c18 BSP_LCD_DisplayStringAt( 30, 101, "A[ïèê]", LEFT_MODE); 8098a62: 2303 movs r3, #3 8098a64: 4a2d ldr r2, [pc, #180] ; (8098b1c ) 8098a66: 2165 movs r1, #101 ; 0x65 8098a68: 201e movs r0, #30 8098a6a: f7ba ff65 bl 8053938 break; 8098a6e: e01b b.n 8098aa8 BSP_LCD_DisplayStringAt( 30, 101, "A[ñêç]", LEFT_MODE); 8098a70: 2303 movs r3, #3 8098a72: 4a2b ldr r2, [pc, #172] ; (8098b20 ) 8098a74: 2165 movs r1, #101 ; 0x65 8098a76: 201e movs r0, #30 8098a78: f7ba ff5e bl 8053938 break; 8098a7c: e014 b.n 8098aa8 BSP_LCD_DisplayStringAt( 30, 101, "A[ïèê-ïèê]", LEFT_MODE); 8098a7e: 2303 movs r3, #3 8098a80: 4a28 ldr r2, [pc, #160] ; (8098b24 ) 8098a82: 2165 movs r1, #101 ; 0x65 8098a84: 201e movs r0, #30 8098a86: f7ba ff57 bl 8053938 break; 8098a8a: e00d b.n 8098aa8 BSP_LCD_DisplayStringAt( 30, 101, "A[ïô]", LEFT_MODE); 8098a8c: 2303 movs r3, #3 8098a8e: 4a26 ldr r2, [pc, #152] ; (8098b28 ) 8098a90: 2165 movs r1, #101 ; 0x65 8098a92: 201e movs r0, #30 8098a94: f7ba ff50 bl 8053938 break; 8098a98: e006 b.n 8098aa8 BSP_LCD_DisplayStringAt( 30, 101, "A[ýêñö]", LEFT_MODE); 8098a9a: 2303 movs r3, #3 8098a9c: 4a23 ldr r2, [pc, #140] ; (8098b2c ) 8098a9e: 2165 movs r1, #101 ; 0x65 8098aa0: 201e movs r0, #30 8098aa2: f7ba ff49 bl 8053938 break; 8098aa6: bf00 nop break; 8098aa8: e0b6 b.n 8098c18 switch(DiagnFileData.d_Op1_ivs) 8098aaa: 4b1b ldr r3, [pc, #108] ; (8098b18 ) 8098aac: f893 302b ldrb.w r3, [r3, #43] ; 0x2b 8098ab0: b2db uxtb r3, r3 8098ab2: 2b53 cmp r3, #83 ; 0x53 8098ab4: d048 beq.n 8098b48 8098ab6: 2b53 cmp r3, #83 ; 0x53 8098ab8: dc0b bgt.n 8098ad2 8098aba: 2b46 cmp r3, #70 ; 0x46 8098abc: d052 beq.n 8098b64 8098abe: 2b46 cmp r3, #70 ; 0x46 8098ac0: dc02 bgt.n 8098ac8 8098ac2: 2b45 cmp r3, #69 ; 0x45 8098ac4: d055 beq.n 8098b72 break; 8098ac6: e0a7 b.n 8098c18 switch(DiagnFileData.d_Op1_ivs) 8098ac8: 2b50 cmp r3, #80 ; 0x50 8098aca: d036 beq.n 8098b3a 8098acc: 2b52 cmp r3, #82 ; 0x52 8098ace: d042 beq.n 8098b56 break; 8098ad0: e0a2 b.n 8098c18 switch(DiagnFileData.d_Op1_ivs) 8098ad2: 2bd0 cmp r3, #208 ; 0xd0 8098ad4: d03f beq.n 8098b56 8098ad6: 2bd0 cmp r3, #208 ; 0xd0 8098ad8: dc2a bgt.n 8098b30 8098ada: 2bcf cmp r3, #207 ; 0xcf 8098adc: d02d beq.n 8098b3a break; 8098ade: e09b b.n 8098c18 8098ae0: 20020f77 .word 0x20020f77 8098ae4: 20020f78 .word 0x20020f78 8098ae8: 20020dca .word 0x20020dca 8098aec: 08147a48 .word 0x08147a48 8098af0: 20020060 .word 0x20020060 8098af4: ff0a0f1f .word 0xff0a0f1f 8098af8: ffd3d3d3 .word 0xffd3d3d3 8098afc: 200225f0 .word 0x200225f0 8098b00: cccccccd .word 0xcccccccd 8098b04: 20022968 .word 0x20022968 8098b08: 20020038 .word 0x20020038 8098b0c: 20021f9c .word 0x20021f9c 8098b10: 20022ea0 .word 0x20022ea0 8098b14: 20022310 .word 0x20022310 8098b18: 200225f4 .word 0x200225f4 8098b1c: 080d090c .word 0x080d090c 8098b20: 080d0914 .word 0x080d0914 8098b24: 080d091c .word 0x080d091c 8098b28: 080d0928 .word 0x080d0928 8098b2c: 080d0930 .word 0x080d0930 switch(DiagnFileData.d_Op1_ivs) 8098b30: 2bd1 cmp r3, #209 ; 0xd1 8098b32: d009 beq.n 8098b48 8098b34: 2bd4 cmp r3, #212 ; 0xd4 8098b36: d015 beq.n 8098b64 break; 8098b38: e06e b.n 8098c18 BSP_LCD_DisplayStringAt( 30, 101, "V[ïèê]", LEFT_MODE); 8098b3a: 2303 movs r3, #3 8098b3c: 4aaa ldr r2, [pc, #680] ; (8098de8 ) 8098b3e: 2165 movs r1, #101 ; 0x65 8098b40: 201e movs r0, #30 8098b42: f7ba fef9 bl 8053938 break; 8098b46: e01b b.n 8098b80 BSP_LCD_DisplayStringAt( 30, 101, "V[ñêç]", LEFT_MODE); 8098b48: 2303 movs r3, #3 8098b4a: 4aa8 ldr r2, [pc, #672] ; (8098dec ) 8098b4c: 2165 movs r1, #101 ; 0x65 8098b4e: 201e movs r0, #30 8098b50: f7ba fef2 bl 8053938 break; 8098b54: e014 b.n 8098b80 BSP_LCD_DisplayStringAt( 30, 101, "V[ïèê-ïèê]", LEFT_MODE); 8098b56: 2303 movs r3, #3 8098b58: 4aa5 ldr r2, [pc, #660] ; (8098df0 ) 8098b5a: 2165 movs r1, #101 ; 0x65 8098b5c: 201e movs r0, #30 8098b5e: f7ba feeb bl 8053938 break; 8098b62: e00d b.n 8098b80 BSP_LCD_DisplayStringAt( 30, 101, "V[ïô]", LEFT_MODE); 8098b64: 2303 movs r3, #3 8098b66: 4aa3 ldr r2, [pc, #652] ; (8098df4 ) 8098b68: 2165 movs r1, #101 ; 0x65 8098b6a: 201e movs r0, #30 8098b6c: f7ba fee4 bl 8053938 break; 8098b70: e006 b.n 8098b80 BSP_LCD_DisplayStringAt( 30, 101, "V[ýêñö]", LEFT_MODE); 8098b72: 2303 movs r3, #3 8098b74: 4aa0 ldr r2, [pc, #640] ; (8098df8 ) 8098b76: 2165 movs r1, #101 ; 0x65 8098b78: 201e movs r0, #30 8098b7a: f7ba fedd bl 8053938 break; 8098b7e: bf00 nop break; 8098b80: e04a b.n 8098c18 switch(DiagnFileData.d_Op1_ivs) 8098b82: 4b9e ldr r3, [pc, #632] ; (8098dfc ) 8098b84: f893 302b ldrb.w r3, [r3, #43] ; 0x2b 8098b88: b2db uxtb r3, r3 8098b8a: 2b53 cmp r3, #83 ; 0x53 8098b8c: d020 beq.n 8098bd0 8098b8e: 2b53 cmp r3, #83 ; 0x53 8098b90: dc0b bgt.n 8098baa 8098b92: 2b46 cmp r3, #70 ; 0x46 8098b94: d02a beq.n 8098bec 8098b96: 2b46 cmp r3, #70 ; 0x46 8098b98: dc02 bgt.n 8098ba0 8098b9a: 2b45 cmp r3, #69 ; 0x45 8098b9c: d02d beq.n 8098bfa break; 8098b9e: e03b b.n 8098c18 switch(DiagnFileData.d_Op1_ivs) 8098ba0: 2b50 cmp r3, #80 ; 0x50 8098ba2: d00e beq.n 8098bc2 8098ba4: 2b52 cmp r3, #82 ; 0x52 8098ba6: d01a beq.n 8098bde break; 8098ba8: e036 b.n 8098c18 switch(DiagnFileData.d_Op1_ivs) 8098baa: 2bd0 cmp r3, #208 ; 0xd0 8098bac: d017 beq.n 8098bde 8098bae: 2bd0 cmp r3, #208 ; 0xd0 8098bb0: dc02 bgt.n 8098bb8 8098bb2: 2bcf cmp r3, #207 ; 0xcf 8098bb4: d005 beq.n 8098bc2 break; 8098bb6: e02f b.n 8098c18 switch(DiagnFileData.d_Op1_ivs) 8098bb8: 2bd1 cmp r3, #209 ; 0xd1 8098bba: d009 beq.n 8098bd0 8098bbc: 2bd4 cmp r3, #212 ; 0xd4 8098bbe: d015 beq.n 8098bec break; 8098bc0: e02a b.n 8098c18 BSP_LCD_DisplayStringAt( 30, 101, "S[ïèê]", LEFT_MODE); 8098bc2: 2303 movs r3, #3 8098bc4: 4a8e ldr r2, [pc, #568] ; (8098e00 ) 8098bc6: 2165 movs r1, #101 ; 0x65 8098bc8: 201e movs r0, #30 8098bca: f7ba feb5 bl 8053938 break; 8098bce: e01b b.n 8098c08 BSP_LCD_DisplayStringAt( 30, 101, "S[ñêç]", LEFT_MODE); 8098bd0: 2303 movs r3, #3 8098bd2: 4a8c ldr r2, [pc, #560] ; (8098e04 ) 8098bd4: 2165 movs r1, #101 ; 0x65 8098bd6: 201e movs r0, #30 8098bd8: f7ba feae bl 8053938 break; 8098bdc: e014 b.n 8098c08 BSP_LCD_DisplayStringAt( 30, 101, "S[ïèê-ïèê]", LEFT_MODE); 8098bde: 2303 movs r3, #3 8098be0: 4a89 ldr r2, [pc, #548] ; (8098e08 ) 8098be2: 2165 movs r1, #101 ; 0x65 8098be4: 201e movs r0, #30 8098be6: f7ba fea7 bl 8053938 break; 8098bea: e00d b.n 8098c08 BSP_LCD_DisplayStringAt( 30, 101, "S[ïô]", LEFT_MODE); 8098bec: 2303 movs r3, #3 8098bee: 4a87 ldr r2, [pc, #540] ; (8098e0c ) 8098bf0: 2165 movs r1, #101 ; 0x65 8098bf2: 201e movs r0, #30 8098bf4: f7ba fea0 bl 8053938 break; 8098bf8: e006 b.n 8098c08 BSP_LCD_DisplayStringAt( 30, 101, "S[ýêñö]", LEFT_MODE); 8098bfa: 2303 movs r3, #3 8098bfc: 4a84 ldr r2, [pc, #528] ; (8098e10 ) 8098bfe: 2165 movs r1, #101 ; 0x65 8098c00: 201e movs r0, #30 8098c02: f7ba fe99 bl 8053938 break; 8098c06: bf00 nop break; 8098c08: bf00 nop 8098c0a: e005 b.n 8098c18 BSP_LCD_DisplayStringAt(30, 101, "----", LEFT_MODE); 8098c0c: 2303 movs r3, #3 8098c0e: 4a81 ldr r2, [pc, #516] ; (8098e14 ) 8098c10: 2165 movs r1, #101 ; 0x65 8098c12: 201e movs r0, #30 8098c14: f7ba fe90 bl 8053938 memset(str, 0, sizeof(str)); 8098c18: f107 030c add.w r3, r7, #12 8098c1c: 2228 movs r2, #40 ; 0x28 8098c1e: 2100 movs r1, #0 8098c20: 4618 mov r0, r3 8098c22: f034 fa11 bl 80cd048 if(DiagnFileData.d_Op2_ipr) 8098c26: 4b75 ldr r3, [pc, #468] ; (8098dfc ) 8098c28: f893 3029 ldrb.w r3, [r3, #41] ; 0x29 8098c2c: b2db uxtb r3, r3 8098c2e: 2b00 cmp r3, #0 8098c30: f000 80fc beq.w 8098e2c switch(DiagnFileData.d_Op2_ipr) 8098c34: 4b71 ldr r3, [pc, #452] ; (8098dfc ) 8098c36: f893 3029 ldrb.w r3, [r3, #41] ; 0x29 8098c3a: b2db uxtb r3, r3 8098c3c: 2b02 cmp r3, #2 8098c3e: d049 beq.n 8098cd4 8098c40: 2b04 cmp r3, #4 8098c42: f000 808b beq.w 8098d5c 8098c46: 2b01 cmp r3, #1 8098c48: f040 80f6 bne.w 8098e38 switch(DiagnFileData.d_Op2_ivs) 8098c4c: 4b6b ldr r3, [pc, #428] ; (8098dfc ) 8098c4e: f893 302c ldrb.w r3, [r3, #44] ; 0x2c 8098c52: b2db uxtb r3, r3 8098c54: 2b53 cmp r3, #83 ; 0x53 8098c56: d020 beq.n 8098c9a 8098c58: 2b53 cmp r3, #83 ; 0x53 8098c5a: dc0b bgt.n 8098c74 8098c5c: 2b46 cmp r3, #70 ; 0x46 8098c5e: d02a beq.n 8098cb6 8098c60: 2b46 cmp r3, #70 ; 0x46 8098c62: dc02 bgt.n 8098c6a 8098c64: 2b45 cmp r3, #69 ; 0x45 8098c66: d02d beq.n 8098cc4 break; 8098c68: e0e6 b.n 8098e38 switch(DiagnFileData.d_Op2_ivs) 8098c6a: 2b50 cmp r3, #80 ; 0x50 8098c6c: d00e beq.n 8098c8c 8098c6e: 2b52 cmp r3, #82 ; 0x52 8098c70: d01a beq.n 8098ca8 break; 8098c72: e0e1 b.n 8098e38 switch(DiagnFileData.d_Op2_ivs) 8098c74: 2bd0 cmp r3, #208 ; 0xd0 8098c76: d017 beq.n 8098ca8 8098c78: 2bd0 cmp r3, #208 ; 0xd0 8098c7a: dc02 bgt.n 8098c82 8098c7c: 2bcf cmp r3, #207 ; 0xcf 8098c7e: d005 beq.n 8098c8c break; 8098c80: e0da b.n 8098e38 switch(DiagnFileData.d_Op2_ivs) 8098c82: 2bd1 cmp r3, #209 ; 0xd1 8098c84: d009 beq.n 8098c9a 8098c86: 2bd4 cmp r3, #212 ; 0xd4 8098c88: d015 beq.n 8098cb6 break; 8098c8a: e0d5 b.n 8098e38 BSP_LCD_DisplayStringAt( 30, 137, "A[ïèê]", LEFT_MODE); 8098c8c: 2303 movs r3, #3 8098c8e: 4a62 ldr r2, [pc, #392] ; (8098e18 ) 8098c90: 2189 movs r1, #137 ; 0x89 8098c92: 201e movs r0, #30 8098c94: f7ba fe50 bl 8053938 break; 8098c98: e01b b.n 8098cd2 BSP_LCD_DisplayStringAt( 30, 137, "A[ñêç]", LEFT_MODE); 8098c9a: 2303 movs r3, #3 8098c9c: 4a5f ldr r2, [pc, #380] ; (8098e1c ) 8098c9e: 2189 movs r1, #137 ; 0x89 8098ca0: 201e movs r0, #30 8098ca2: f7ba fe49 bl 8053938 break; 8098ca6: e014 b.n 8098cd2 BSP_LCD_DisplayStringAt( 30, 137, "A[ïèê-ïèê]", LEFT_MODE); 8098ca8: 2303 movs r3, #3 8098caa: 4a5d ldr r2, [pc, #372] ; (8098e20 ) 8098cac: 2189 movs r1, #137 ; 0x89 8098cae: 201e movs r0, #30 8098cb0: f7ba fe42 bl 8053938 break; 8098cb4: e00d b.n 8098cd2 BSP_LCD_DisplayStringAt( 30, 137, "A[ïô]", LEFT_MODE); 8098cb6: 2303 movs r3, #3 8098cb8: 4a5a ldr r2, [pc, #360] ; (8098e24 ) 8098cba: 2189 movs r1, #137 ; 0x89 8098cbc: 201e movs r0, #30 8098cbe: f7ba fe3b bl 8053938 break; 8098cc2: e006 b.n 8098cd2 BSP_LCD_DisplayStringAt( 30, 137, "A[ýêñö]", LEFT_MODE); 8098cc4: 2303 movs r3, #3 8098cc6: 4a58 ldr r2, [pc, #352] ; (8098e28 ) 8098cc8: 2189 movs r1, #137 ; 0x89 8098cca: 201e movs r0, #30 8098ccc: f7ba fe34 bl 8053938 break; 8098cd0: bf00 nop break; 8098cd2: e0b1 b.n 8098e38 switch(DiagnFileData.d_Op2_ivs) 8098cd4: 4b49 ldr r3, [pc, #292] ; (8098dfc ) 8098cd6: f893 302c ldrb.w r3, [r3, #44] ; 0x2c 8098cda: b2db uxtb r3, r3 8098cdc: 2b53 cmp r3, #83 ; 0x53 8098cde: d020 beq.n 8098d22 8098ce0: 2b53 cmp r3, #83 ; 0x53 8098ce2: dc0b bgt.n 8098cfc 8098ce4: 2b46 cmp r3, #70 ; 0x46 8098ce6: d02a beq.n 8098d3e 8098ce8: 2b46 cmp r3, #70 ; 0x46 8098cea: dc02 bgt.n 8098cf2 8098cec: 2b45 cmp r3, #69 ; 0x45 8098cee: d02d beq.n 8098d4c break; 8098cf0: e0a2 b.n 8098e38 switch(DiagnFileData.d_Op2_ivs) 8098cf2: 2b50 cmp r3, #80 ; 0x50 8098cf4: d00e beq.n 8098d14 8098cf6: 2b52 cmp r3, #82 ; 0x52 8098cf8: d01a beq.n 8098d30 break; 8098cfa: e09d b.n 8098e38 switch(DiagnFileData.d_Op2_ivs) 8098cfc: 2bd0 cmp r3, #208 ; 0xd0 8098cfe: d017 beq.n 8098d30 8098d00: 2bd0 cmp r3, #208 ; 0xd0 8098d02: dc02 bgt.n 8098d0a 8098d04: 2bcf cmp r3, #207 ; 0xcf 8098d06: d005 beq.n 8098d14 break; 8098d08: e096 b.n 8098e38 switch(DiagnFileData.d_Op2_ivs) 8098d0a: 2bd1 cmp r3, #209 ; 0xd1 8098d0c: d009 beq.n 8098d22 8098d0e: 2bd4 cmp r3, #212 ; 0xd4 8098d10: d015 beq.n 8098d3e break; 8098d12: e091 b.n 8098e38 BSP_LCD_DisplayStringAt( 30, 137, "V[ïèê]", LEFT_MODE); 8098d14: 2303 movs r3, #3 8098d16: 4a34 ldr r2, [pc, #208] ; (8098de8 ) 8098d18: 2189 movs r1, #137 ; 0x89 8098d1a: 201e movs r0, #30 8098d1c: f7ba fe0c bl 8053938 break; 8098d20: e01b b.n 8098d5a BSP_LCD_DisplayStringAt( 30, 137, "V[ñêç]", LEFT_MODE); 8098d22: 2303 movs r3, #3 8098d24: 4a31 ldr r2, [pc, #196] ; (8098dec ) 8098d26: 2189 movs r1, #137 ; 0x89 8098d28: 201e movs r0, #30 8098d2a: f7ba fe05 bl 8053938 break; 8098d2e: e014 b.n 8098d5a BSP_LCD_DisplayStringAt( 30, 137, "V[ïèê-ïèê]", LEFT_MODE); 8098d30: 2303 movs r3, #3 8098d32: 4a2f ldr r2, [pc, #188] ; (8098df0 ) 8098d34: 2189 movs r1, #137 ; 0x89 8098d36: 201e movs r0, #30 8098d38: f7ba fdfe bl 8053938 break; 8098d3c: e00d b.n 8098d5a BSP_LCD_DisplayStringAt( 30, 137, "V[ïô]", LEFT_MODE); 8098d3e: 2303 movs r3, #3 8098d40: 4a2c ldr r2, [pc, #176] ; (8098df4 ) 8098d42: 2189 movs r1, #137 ; 0x89 8098d44: 201e movs r0, #30 8098d46: f7ba fdf7 bl 8053938 break; 8098d4a: e006 b.n 8098d5a BSP_LCD_DisplayStringAt( 30, 137, "V[ýêñö]", LEFT_MODE); 8098d4c: 2303 movs r3, #3 8098d4e: 4a2a ldr r2, [pc, #168] ; (8098df8 ) 8098d50: 2189 movs r1, #137 ; 0x89 8098d52: 201e movs r0, #30 8098d54: f7ba fdf0 bl 8053938 break; 8098d58: bf00 nop break; 8098d5a: e06d b.n 8098e38 switch(DiagnFileData.d_Op2_ivs) 8098d5c: 4b27 ldr r3, [pc, #156] ; (8098dfc ) 8098d5e: f893 302c ldrb.w r3, [r3, #44] ; 0x2c 8098d62: b2db uxtb r3, r3 8098d64: 2b53 cmp r3, #83 ; 0x53 8098d66: d020 beq.n 8098daa 8098d68: 2b53 cmp r3, #83 ; 0x53 8098d6a: dc0b bgt.n 8098d84 8098d6c: 2b46 cmp r3, #70 ; 0x46 8098d6e: d02a beq.n 8098dc6 8098d70: 2b46 cmp r3, #70 ; 0x46 8098d72: dc02 bgt.n 8098d7a 8098d74: 2b45 cmp r3, #69 ; 0x45 8098d76: d02d beq.n 8098dd4 break; 8098d78: e05e b.n 8098e38 switch(DiagnFileData.d_Op2_ivs) 8098d7a: 2b50 cmp r3, #80 ; 0x50 8098d7c: d00e beq.n 8098d9c 8098d7e: 2b52 cmp r3, #82 ; 0x52 8098d80: d01a beq.n 8098db8 break; 8098d82: e059 b.n 8098e38 switch(DiagnFileData.d_Op2_ivs) 8098d84: 2bd0 cmp r3, #208 ; 0xd0 8098d86: d017 beq.n 8098db8 8098d88: 2bd0 cmp r3, #208 ; 0xd0 8098d8a: dc02 bgt.n 8098d92 8098d8c: 2bcf cmp r3, #207 ; 0xcf 8098d8e: d005 beq.n 8098d9c break; 8098d90: e052 b.n 8098e38 switch(DiagnFileData.d_Op2_ivs) 8098d92: 2bd1 cmp r3, #209 ; 0xd1 8098d94: d009 beq.n 8098daa 8098d96: 2bd4 cmp r3, #212 ; 0xd4 8098d98: d015 beq.n 8098dc6 break; 8098d9a: e04d b.n 8098e38 BSP_LCD_DisplayStringAt( 30, 137, "S[ïèê]", LEFT_MODE); 8098d9c: 2303 movs r3, #3 8098d9e: 4a18 ldr r2, [pc, #96] ; (8098e00 ) 8098da0: 2189 movs r1, #137 ; 0x89 8098da2: 201e movs r0, #30 8098da4: f7ba fdc8 bl 8053938 break; 8098da8: e01b b.n 8098de2 BSP_LCD_DisplayStringAt( 30, 137, "S[ñêç]", LEFT_MODE); 8098daa: 2303 movs r3, #3 8098dac: 4a15 ldr r2, [pc, #84] ; (8098e04 ) 8098dae: 2189 movs r1, #137 ; 0x89 8098db0: 201e movs r0, #30 8098db2: f7ba fdc1 bl 8053938 break; 8098db6: e014 b.n 8098de2 BSP_LCD_DisplayStringAt( 30, 137, "S[ïèê-ïèê]", LEFT_MODE); 8098db8: 2303 movs r3, #3 8098dba: 4a13 ldr r2, [pc, #76] ; (8098e08 ) 8098dbc: 2189 movs r1, #137 ; 0x89 8098dbe: 201e movs r0, #30 8098dc0: f7ba fdba bl 8053938 break; 8098dc4: e00d b.n 8098de2 BSP_LCD_DisplayStringAt( 30, 137, "S[ïô]", LEFT_MODE); 8098dc6: 2303 movs r3, #3 8098dc8: 4a10 ldr r2, [pc, #64] ; (8098e0c ) 8098dca: 2189 movs r1, #137 ; 0x89 8098dcc: 201e movs r0, #30 8098dce: f7ba fdb3 bl 8053938 break; 8098dd2: e006 b.n 8098de2 BSP_LCD_DisplayStringAt( 30, 137, "S[ýêñö]", LEFT_MODE); 8098dd4: 2303 movs r3, #3 8098dd6: 4a0e ldr r2, [pc, #56] ; (8098e10 ) 8098dd8: 2189 movs r1, #137 ; 0x89 8098dda: 201e movs r0, #30 8098ddc: f7ba fdac bl 8053938 break; 8098de0: bf00 nop break; 8098de2: bf00 nop 8098de4: e028 b.n 8098e38 8098de6: bf00 nop 8098de8: 080d0938 .word 0x080d0938 8098dec: 080d0940 .word 0x080d0940 8098df0: 080d0948 .word 0x080d0948 8098df4: 080d0954 .word 0x080d0954 8098df8: 080d095c .word 0x080d095c 8098dfc: 200225f4 .word 0x200225f4 8098e00: 080d0964 .word 0x080d0964 8098e04: 080d096c .word 0x080d096c 8098e08: 080d0974 .word 0x080d0974 8098e0c: 080d0980 .word 0x080d0980 8098e10: 080d0988 .word 0x080d0988 8098e14: 080d0990 .word 0x080d0990 8098e18: 080d090c .word 0x080d090c 8098e1c: 080d0914 .word 0x080d0914 8098e20: 080d091c .word 0x080d091c 8098e24: 080d0928 .word 0x080d0928 8098e28: 080d0930 .word 0x080d0930 BSP_LCD_DisplayStringAt(30, 137, "----", LEFT_MODE); 8098e2c: 2303 movs r3, #3 8098e2e: 4aba ldr r2, [pc, #744] ; (8099118 ) 8098e30: 2189 movs r1, #137 ; 0x89 8098e32: 201e movs r0, #30 8098e34: f7ba fd80 bl 8053938 memset(str, 0, sizeof(str)); 8098e38: f107 030c add.w r3, r7, #12 8098e3c: 2228 movs r2, #40 ; 0x28 8098e3e: 2100 movs r1, #0 8098e40: 4618 mov r0, r3 8098e42: f034 f901 bl 80cd048 if(DiagnFileData.d_Op3_ipr) 8098e46: 4bb5 ldr r3, [pc, #724] ; (809911c ) 8098e48: f893 302a ldrb.w r3, [r3, #42] ; 0x2a 8098e4c: b2db uxtb r3, r3 8098e4e: 2b00 cmp r3, #0 8098e50: f000 80d9 beq.w 8099006 switch(DiagnFileData.d_Op3_ipr) 8098e54: 4bb1 ldr r3, [pc, #708] ; (809911c ) 8098e56: f893 302a ldrb.w r3, [r3, #42] ; 0x2a 8098e5a: b2db uxtb r3, r3 8098e5c: 2b02 cmp r3, #2 8098e5e: d049 beq.n 8098ef4 8098e60: 2b04 cmp r3, #4 8098e62: f000 808b beq.w 8098f7c 8098e66: 2b01 cmp r3, #1 8098e68: f040 80d3 bne.w 8099012 switch(DiagnFileData.d_Op3_ivs) 8098e6c: 4bab ldr r3, [pc, #684] ; (809911c ) 8098e6e: f893 302d ldrb.w r3, [r3, #45] ; 0x2d 8098e72: b2db uxtb r3, r3 8098e74: 2b53 cmp r3, #83 ; 0x53 8098e76: d020 beq.n 8098eba 8098e78: 2b53 cmp r3, #83 ; 0x53 8098e7a: dc0b bgt.n 8098e94 8098e7c: 2b46 cmp r3, #70 ; 0x46 8098e7e: d02a beq.n 8098ed6 8098e80: 2b46 cmp r3, #70 ; 0x46 8098e82: dc02 bgt.n 8098e8a 8098e84: 2b45 cmp r3, #69 ; 0x45 8098e86: d02d beq.n 8098ee4 break; 8098e88: e0c3 b.n 8099012 switch(DiagnFileData.d_Op3_ivs) 8098e8a: 2b50 cmp r3, #80 ; 0x50 8098e8c: d00e beq.n 8098eac 8098e8e: 2b52 cmp r3, #82 ; 0x52 8098e90: d01a beq.n 8098ec8 break; 8098e92: e0be b.n 8099012 switch(DiagnFileData.d_Op3_ivs) 8098e94: 2bd0 cmp r3, #208 ; 0xd0 8098e96: d017 beq.n 8098ec8 8098e98: 2bd0 cmp r3, #208 ; 0xd0 8098e9a: dc02 bgt.n 8098ea2 8098e9c: 2bcf cmp r3, #207 ; 0xcf 8098e9e: d005 beq.n 8098eac break; 8098ea0: e0b7 b.n 8099012 switch(DiagnFileData.d_Op3_ivs) 8098ea2: 2bd1 cmp r3, #209 ; 0xd1 8098ea4: d009 beq.n 8098eba 8098ea6: 2bd4 cmp r3, #212 ; 0xd4 8098ea8: d015 beq.n 8098ed6 break; 8098eaa: e0b2 b.n 8099012 BSP_LCD_DisplayStringAt( 30, 173, "A[ïèê]", LEFT_MODE); 8098eac: 2303 movs r3, #3 8098eae: 4a9c ldr r2, [pc, #624] ; (8099120 ) 8098eb0: 21ad movs r1, #173 ; 0xad 8098eb2: 201e movs r0, #30 8098eb4: f7ba fd40 bl 8053938 break; 8098eb8: e01b b.n 8098ef2 BSP_LCD_DisplayStringAt( 30, 173, "A[ñêç]", LEFT_MODE); 8098eba: 2303 movs r3, #3 8098ebc: 4a99 ldr r2, [pc, #612] ; (8099124 ) 8098ebe: 21ad movs r1, #173 ; 0xad 8098ec0: 201e movs r0, #30 8098ec2: f7ba fd39 bl 8053938 break; 8098ec6: e014 b.n 8098ef2 BSP_LCD_DisplayStringAt( 30, 173, "A[ïèê-ïèê]", LEFT_MODE); 8098ec8: 2303 movs r3, #3 8098eca: 4a97 ldr r2, [pc, #604] ; (8099128 ) 8098ecc: 21ad movs r1, #173 ; 0xad 8098ece: 201e movs r0, #30 8098ed0: f7ba fd32 bl 8053938 break; 8098ed4: e00d b.n 8098ef2 BSP_LCD_DisplayStringAt( 30, 173, "A[ïô]", LEFT_MODE); 8098ed6: 2303 movs r3, #3 8098ed8: 4a94 ldr r2, [pc, #592] ; (809912c ) 8098eda: 21ad movs r1, #173 ; 0xad 8098edc: 201e movs r0, #30 8098ede: f7ba fd2b bl 8053938 break; 8098ee2: e006 b.n 8098ef2 BSP_LCD_DisplayStringAt( 30, 173, "A[ýêñö]", LEFT_MODE); 8098ee4: 2303 movs r3, #3 8098ee6: 4a92 ldr r2, [pc, #584] ; (8099130 ) 8098ee8: 21ad movs r1, #173 ; 0xad 8098eea: 201e movs r0, #30 8098eec: f7ba fd24 bl 8053938 break; 8098ef0: bf00 nop break; 8098ef2: e08e b.n 8099012 switch(DiagnFileData.d_Op3_ivs) 8098ef4: 4b89 ldr r3, [pc, #548] ; (809911c ) 8098ef6: f893 302d ldrb.w r3, [r3, #45] ; 0x2d 8098efa: b2db uxtb r3, r3 8098efc: 2b53 cmp r3, #83 ; 0x53 8098efe: d020 beq.n 8098f42 8098f00: 2b53 cmp r3, #83 ; 0x53 8098f02: dc0b bgt.n 8098f1c 8098f04: 2b46 cmp r3, #70 ; 0x46 8098f06: d02a beq.n 8098f5e 8098f08: 2b46 cmp r3, #70 ; 0x46 8098f0a: dc02 bgt.n 8098f12 8098f0c: 2b45 cmp r3, #69 ; 0x45 8098f0e: d02d beq.n 8098f6c break; 8098f10: e07f b.n 8099012 switch(DiagnFileData.d_Op3_ivs) 8098f12: 2b50 cmp r3, #80 ; 0x50 8098f14: d00e beq.n 8098f34 8098f16: 2b52 cmp r3, #82 ; 0x52 8098f18: d01a beq.n 8098f50 break; 8098f1a: e07a b.n 8099012 switch(DiagnFileData.d_Op3_ivs) 8098f1c: 2bd0 cmp r3, #208 ; 0xd0 8098f1e: d017 beq.n 8098f50 8098f20: 2bd0 cmp r3, #208 ; 0xd0 8098f22: dc02 bgt.n 8098f2a 8098f24: 2bcf cmp r3, #207 ; 0xcf 8098f26: d005 beq.n 8098f34 break; 8098f28: e073 b.n 8099012 switch(DiagnFileData.d_Op3_ivs) 8098f2a: 2bd1 cmp r3, #209 ; 0xd1 8098f2c: d009 beq.n 8098f42 8098f2e: 2bd4 cmp r3, #212 ; 0xd4 8098f30: d015 beq.n 8098f5e break; 8098f32: e06e b.n 8099012 BSP_LCD_DisplayStringAt( 30, 173, "V[ïèê]", LEFT_MODE); 8098f34: 2303 movs r3, #3 8098f36: 4a7f ldr r2, [pc, #508] ; (8099134 ) 8098f38: 21ad movs r1, #173 ; 0xad 8098f3a: 201e movs r0, #30 8098f3c: f7ba fcfc bl 8053938 break; 8098f40: e01b b.n 8098f7a BSP_LCD_DisplayStringAt( 30, 173, "V[ñêç]", LEFT_MODE); 8098f42: 2303 movs r3, #3 8098f44: 4a7c ldr r2, [pc, #496] ; (8099138 ) 8098f46: 21ad movs r1, #173 ; 0xad 8098f48: 201e movs r0, #30 8098f4a: f7ba fcf5 bl 8053938 break; 8098f4e: e014 b.n 8098f7a BSP_LCD_DisplayStringAt( 30, 173, "V[ïèê-ïèê]", LEFT_MODE); 8098f50: 2303 movs r3, #3 8098f52: 4a7a ldr r2, [pc, #488] ; (809913c ) 8098f54: 21ad movs r1, #173 ; 0xad 8098f56: 201e movs r0, #30 8098f58: f7ba fcee bl 8053938 break; 8098f5c: e00d b.n 8098f7a BSP_LCD_DisplayStringAt( 30, 173, "V[ïô]", LEFT_MODE); 8098f5e: 2303 movs r3, #3 8098f60: 4a77 ldr r2, [pc, #476] ; (8099140 ) 8098f62: 21ad movs r1, #173 ; 0xad 8098f64: 201e movs r0, #30 8098f66: f7ba fce7 bl 8053938 break; 8098f6a: e006 b.n 8098f7a BSP_LCD_DisplayStringAt( 30, 173, "V[ýêñö]", LEFT_MODE); 8098f6c: 2303 movs r3, #3 8098f6e: 4a75 ldr r2, [pc, #468] ; (8099144 ) 8098f70: 21ad movs r1, #173 ; 0xad 8098f72: 201e movs r0, #30 8098f74: f7ba fce0 bl 8053938 break; 8098f78: bf00 nop break; 8098f7a: e04a b.n 8099012 switch(DiagnFileData.d_Op3_ivs) 8098f7c: 4b67 ldr r3, [pc, #412] ; (809911c ) 8098f7e: f893 302d ldrb.w r3, [r3, #45] ; 0x2d 8098f82: b2db uxtb r3, r3 8098f84: 2b53 cmp r3, #83 ; 0x53 8098f86: d020 beq.n 8098fca 8098f88: 2b53 cmp r3, #83 ; 0x53 8098f8a: dc0b bgt.n 8098fa4 8098f8c: 2b46 cmp r3, #70 ; 0x46 8098f8e: d02a beq.n 8098fe6 8098f90: 2b46 cmp r3, #70 ; 0x46 8098f92: dc02 bgt.n 8098f9a 8098f94: 2b45 cmp r3, #69 ; 0x45 8098f96: d02d beq.n 8098ff4 break; 8098f98: e03b b.n 8099012 switch(DiagnFileData.d_Op3_ivs) 8098f9a: 2b50 cmp r3, #80 ; 0x50 8098f9c: d00e beq.n 8098fbc 8098f9e: 2b52 cmp r3, #82 ; 0x52 8098fa0: d01a beq.n 8098fd8 break; 8098fa2: e036 b.n 8099012 switch(DiagnFileData.d_Op3_ivs) 8098fa4: 2bd0 cmp r3, #208 ; 0xd0 8098fa6: d017 beq.n 8098fd8 8098fa8: 2bd0 cmp r3, #208 ; 0xd0 8098faa: dc02 bgt.n 8098fb2 8098fac: 2bcf cmp r3, #207 ; 0xcf 8098fae: d005 beq.n 8098fbc break; 8098fb0: e02f b.n 8099012 switch(DiagnFileData.d_Op3_ivs) 8098fb2: 2bd1 cmp r3, #209 ; 0xd1 8098fb4: d009 beq.n 8098fca 8098fb6: 2bd4 cmp r3, #212 ; 0xd4 8098fb8: d015 beq.n 8098fe6 break; 8098fba: e02a b.n 8099012 BSP_LCD_DisplayStringAt( 30, 173, "S[ïèê]", LEFT_MODE); 8098fbc: 2303 movs r3, #3 8098fbe: 4a62 ldr r2, [pc, #392] ; (8099148 ) 8098fc0: 21ad movs r1, #173 ; 0xad 8098fc2: 201e movs r0, #30 8098fc4: f7ba fcb8 bl 8053938 break; 8098fc8: e01b b.n 8099002 BSP_LCD_DisplayStringAt( 30, 173, "S[ñêç]", LEFT_MODE); 8098fca: 2303 movs r3, #3 8098fcc: 4a5f ldr r2, [pc, #380] ; (809914c ) 8098fce: 21ad movs r1, #173 ; 0xad 8098fd0: 201e movs r0, #30 8098fd2: f7ba fcb1 bl 8053938 break; 8098fd6: e014 b.n 8099002 BSP_LCD_DisplayStringAt( 30, 173, "S[ïèê-ïèê]", LEFT_MODE); 8098fd8: 2303 movs r3, #3 8098fda: 4a5d ldr r2, [pc, #372] ; (8099150 ) 8098fdc: 21ad movs r1, #173 ; 0xad 8098fde: 201e movs r0, #30 8098fe0: f7ba fcaa bl 8053938 break; 8098fe4: e00d b.n 8099002 BSP_LCD_DisplayStringAt( 30, 173, "S[ïô]", LEFT_MODE); 8098fe6: 2303 movs r3, #3 8098fe8: 4a5a ldr r2, [pc, #360] ; (8099154 ) 8098fea: 21ad movs r1, #173 ; 0xad 8098fec: 201e movs r0, #30 8098fee: f7ba fca3 bl 8053938 break; 8098ff2: e006 b.n 8099002 BSP_LCD_DisplayStringAt( 30, 173, "S[ýêñö]", LEFT_MODE); 8098ff4: 2303 movs r3, #3 8098ff6: 4a58 ldr r2, [pc, #352] ; (8099158 ) 8098ff8: 21ad movs r1, #173 ; 0xad 8098ffa: 201e movs r0, #30 8098ffc: f7ba fc9c bl 8053938 break; 8099000: bf00 nop break; 8099002: bf00 nop 8099004: e005 b.n 8099012 BSP_LCD_DisplayStringAt(30, 173, "----", LEFT_MODE); 8099006: 2303 movs r3, #3 8099008: 4a43 ldr r2, [pc, #268] ; (8099118 ) 809900a: 21ad movs r1, #173 ; 0xad 809900c: 201e movs r0, #30 809900e: f7ba fc93 bl 8053938 if((DiagnFileData.d_Op1_ipr!= DIAGN_NO) && (DiagnFileData.Op_1.fl != -1.0f)) 8099012: 4b42 ldr r3, [pc, #264] ; (809911c ) 8099014: f893 3028 ldrb.w r3, [r3, #40] ; 0x28 8099018: b2db uxtb r3, r3 809901a: 2b00 cmp r3, #0 809901c: f000 81e9 beq.w 80993f2 8099020: 4b3e ldr r3, [pc, #248] ; (809911c ) 8099022: edd3 7a00 vldr s15, [r3] 8099026: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 809902a: eef4 7a47 vcmp.f32 s15, s14 809902e: eef1 fa10 vmrs APSR_nzcv, fpscr 8099032: f000 81de beq.w 80993f2 if(DiagnFileData.d_Op1_Color == 0) LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8099036: 4b39 ldr r3, [pc, #228] ; (809911c ) 8099038: f893 302e ldrb.w r3, [r3, #46] ; 0x2e 809903c: b2db uxtb r3, r3 809903e: 2b00 cmp r3, #0 8099040: d105 bne.n 809904e 8099042: 4946 ldr r1, [pc, #280] ; (809915c ) 8099044: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8099048: f7ba fbb0 bl 80537ac 809904c: e015 b.n 809907a else if(DiagnFileData.d_Op1_Color == 1) LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_BLACK); 809904e: 4b33 ldr r3, [pc, #204] ; (809911c ) 8099050: f893 302e ldrb.w r3, [r3, #46] ; 0x2e 8099054: b2db uxtb r3, r3 8099056: 2b01 cmp r3, #1 8099058: d105 bne.n 8099066 809905a: 4940 ldr r1, [pc, #256] ; (809915c ) 809905c: f06f 00ff mvn.w r0, #255 ; 0xff 8099060: f7ba fba4 bl 80537ac 8099064: e009 b.n 809907a else if(DiagnFileData.d_Op1_Color == 2) LCD_SetColors(LCD_COLOR_RED, LCD_COLOR_BLACK); 8099066: 4b2d ldr r3, [pc, #180] ; (809911c ) 8099068: f893 302e ldrb.w r3, [r3, #46] ; 0x2e 809906c: b2db uxtb r3, r3 809906e: 2b02 cmp r3, #2 8099070: d103 bne.n 809907a 8099072: 493a ldr r1, [pc, #232] ; (809915c ) 8099074: 483a ldr r0, [pc, #232] ; (8099160 ) 8099076: f7ba fb99 bl 80537ac f = DiagnFileData.Op_1.fl; 809907a: 4b28 ldr r3, [pc, #160] ; (809911c ) 809907c: 681b ldr r3, [r3, #0] 809907e: 647b str r3, [r7, #68] ; 0x44 if((DiagnFileData.d_Op1_ivs != 'E') && (DiagnFileData.d_Op1_ivs != 'F')) 8099080: 4b26 ldr r3, [pc, #152] ; (809911c ) 8099082: f893 302b ldrb.w r3, [r3, #43] ; 0x2b 8099086: b2db uxtb r3, r3 8099088: 2b45 cmp r3, #69 ; 0x45 809908a: f000 813c beq.w 8099306 809908e: 4b23 ldr r3, [pc, #140] ; (809911c ) 8099090: f893 302b ldrb.w r3, [r3, #43] ; 0x2b 8099094: b2db uxtb r3, r3 8099096: 2b46 cmp r3, #70 ; 0x46 8099098: f000 8135 beq.w 8099306 if(f >= 1000.0f) 809909c: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80990a0: ed9f 7a30 vldr s14, [pc, #192] ; 8099164 80990a4: eef4 7ac7 vcmpe.f32 s15, s14 80990a8: eef1 fa10 vmrs APSR_nzcv, fpscr 80990ac: f2c0 8087 blt.w 80991be f *= 0.001f; 80990b0: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80990b4: ed9f 7a2c vldr s14, [pc, #176] ; 8099168 80990b8: ee67 7a87 vmul.f32 s15, s15, s14 80990bc: edc7 7a11 vstr s15, [r7, #68] ; 0x44 if(DiagnFileData.d_Op1_ipr == DIAGN_ACC) 80990c0: 4b16 ldr r3, [pc, #88] ; (809911c ) 80990c2: f893 3028 ldrb.w r3, [r3, #40] ; 0x28 80990c6: b2db uxtb r3, r3 80990c8: 2b01 cmp r3, #1 80990ca: d112 bne.n 80990f2 if(pardata.LANG == RUS) 80990cc: 4b27 ldr r3, [pc, #156] ; (809916c ) 80990ce: 7b1b ldrb r3, [r3, #12] 80990d0: b2db uxtb r3, r3 80990d2: 2b00 cmp r3, #0 80990d4: d106 bne.n 80990e4 BSP_LCD_DisplayStringAt(170, 101, "kì/c^", LEFT_MODE); 80990d6: 2303 movs r3, #3 80990d8: 4a25 ldr r2, [pc, #148] ; (8099170 ) 80990da: 2165 movs r1, #101 ; 0x65 80990dc: 20aa movs r0, #170 ; 0xaa 80990de: f7ba fc2b bl 8053938 80990e2: e110 b.n 8099306 else BSP_LCD_DisplayStringAt(170, 101, "km/s^", LEFT_MODE); 80990e4: 2303 movs r3, #3 80990e6: 4a23 ldr r2, [pc, #140] ; (8099174 ) 80990e8: 2165 movs r1, #101 ; 0x65 80990ea: 20aa movs r0, #170 ; 0xaa 80990ec: f7ba fc24 bl 8053938 80990f0: e109 b.n 8099306 if(DiagnFileData.d_Op1_ipr == DIAGN_VEL) 80990f2: 4b0a ldr r3, [pc, #40] ; (809911c ) 80990f4: f893 3028 ldrb.w r3, [r3, #40] ; 0x28 80990f8: b2db uxtb r3, r3 80990fa: 2b02 cmp r3, #2 80990fc: d145 bne.n 809918a if(pardata.LANG == RUS) 80990fe: 4b1b ldr r3, [pc, #108] ; (809916c ) 8099100: 7b1b ldrb r3, [r3, #12] 8099102: b2db uxtb r3, r3 8099104: 2b00 cmp r3, #0 8099106: d139 bne.n 809917c BSP_LCD_DisplayStringAt(170, 101, "ì/c", LEFT_MODE); 8099108: 2303 movs r3, #3 809910a: 4a1b ldr r2, [pc, #108] ; (8099178 ) 809910c: 2165 movs r1, #101 ; 0x65 809910e: 20aa movs r0, #170 ; 0xaa 8099110: f7ba fc12 bl 8053938 8099114: e0f7 b.n 8099306 8099116: bf00 nop 8099118: 080d0990 .word 0x080d0990 809911c: 200225f4 .word 0x200225f4 8099120: 080d090c .word 0x080d090c 8099124: 080d0914 .word 0x080d0914 8099128: 080d091c .word 0x080d091c 809912c: 080d0928 .word 0x080d0928 8099130: 080d0930 .word 0x080d0930 8099134: 080d0938 .word 0x080d0938 8099138: 080d0940 .word 0x080d0940 809913c: 080d0948 .word 0x080d0948 8099140: 080d0954 .word 0x080d0954 8099144: 080d095c .word 0x080d095c 8099148: 080d0964 .word 0x080d0964 809914c: 080d096c .word 0x080d096c 8099150: 080d0974 .word 0x080d0974 8099154: 080d0980 .word 0x080d0980 8099158: 080d0988 .word 0x080d0988 809915c: ff0a0f1f .word 0xff0a0f1f 8099160: ffff0000 .word 0xffff0000 8099164: 447a0000 .word 0x447a0000 8099168: 3a83126f .word 0x3a83126f 809916c: 20023e60 .word 0x20023e60 8099170: 080d0998 .word 0x080d0998 8099174: 080d09a0 .word 0x080d09a0 8099178: 080d09a8 .word 0x080d09a8 else BSP_LCD_DisplayStringAt(170, 101, "m/s", LEFT_MODE); 809917c: 2303 movs r3, #3 809917e: 4ab2 ldr r2, [pc, #712] ; (8099448 ) 8099180: 2165 movs r1, #101 ; 0x65 8099182: 20aa movs r0, #170 ; 0xaa 8099184: f7ba fbd8 bl 8053938 8099188: e0bd b.n 8099306 if(DiagnFileData.d_Op1_ipr == DIAGN_DIS) 809918a: 4bb0 ldr r3, [pc, #704] ; (809944c ) 809918c: f893 3028 ldrb.w r3, [r3, #40] ; 0x28 8099190: b2db uxtb r3, r3 8099192: 2b04 cmp r3, #4 8099194: f040 80b7 bne.w 8099306 if(pardata.LANG == RUS) 8099198: 4bad ldr r3, [pc, #692] ; (8099450 ) 809919a: 7b1b ldrb r3, [r3, #12] 809919c: b2db uxtb r3, r3 809919e: 2b00 cmp r3, #0 80991a0: d106 bne.n 80991b0 BSP_LCD_DisplayStringAt(170, 101, "ìì", LEFT_MODE); 80991a2: 2303 movs r3, #3 80991a4: 4aab ldr r2, [pc, #684] ; (8099454 ) 80991a6: 2165 movs r1, #101 ; 0x65 80991a8: 20aa movs r0, #170 ; 0xaa 80991aa: f7ba fbc5 bl 8053938 80991ae: e0aa b.n 8099306 else BSP_LCD_DisplayStringAt(170, 101, "mm", LEFT_MODE); 80991b0: 2303 movs r3, #3 80991b2: 4aa9 ldr r2, [pc, #676] ; (8099458 ) 80991b4: 2165 movs r1, #101 ; 0x65 80991b6: 20aa movs r0, #170 ; 0xaa 80991b8: f7ba fbbe bl 8053938 80991bc: e0a3 b.n 8099306 if(f >= 0.1f) 80991be: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80991c2: ed9f 7aa6 vldr s14, [pc, #664] ; 809945c 80991c6: eef4 7ac7 vcmpe.f32 s15, s14 80991ca: eef1 fa10 vmrs APSR_nzcv, fpscr 80991ce: db48 blt.n 8099262 if(DiagnFileData.d_Op1_ipr == DIAGN_ACC) 80991d0: 4b9e ldr r3, [pc, #632] ; (809944c ) 80991d2: f893 3028 ldrb.w r3, [r3, #40] ; 0x28 80991d6: b2db uxtb r3, r3 80991d8: 2b01 cmp r3, #1 80991da: d111 bne.n 8099200 if(pardata.LANG == RUS) 80991dc: 4b9c ldr r3, [pc, #624] ; (8099450 ) 80991de: 7b1b ldrb r3, [r3, #12] 80991e0: b2db uxtb r3, r3 80991e2: 2b00 cmp r3, #0 80991e4: d106 bne.n 80991f4 BSP_LCD_DisplayStringAt(170, 101, "ì/c^", LEFT_MODE); 80991e6: 2303 movs r3, #3 80991e8: 4a9d ldr r2, [pc, #628] ; (8099460 ) 80991ea: 2165 movs r1, #101 ; 0x65 80991ec: 20aa movs r0, #170 ; 0xaa 80991ee: f7ba fba3 bl 8053938 80991f2: e005 b.n 8099200 else BSP_LCD_DisplayStringAt(170, 101, "m/s^", LEFT_MODE); 80991f4: 2303 movs r3, #3 80991f6: 4a9b ldr r2, [pc, #620] ; (8099464 ) 80991f8: 2165 movs r1, #101 ; 0x65 80991fa: 20aa movs r0, #170 ; 0xaa 80991fc: f7ba fb9c bl 8053938 if(DiagnFileData.d_Op1_ipr == DIAGN_VEL) 8099200: 4b92 ldr r3, [pc, #584] ; (809944c ) 8099202: f893 3028 ldrb.w r3, [r3, #40] ; 0x28 8099206: b2db uxtb r3, r3 8099208: 2b02 cmp r3, #2 809920a: d111 bne.n 8099230 if(pardata.LANG == RUS) 809920c: 4b90 ldr r3, [pc, #576] ; (8099450 ) 809920e: 7b1b ldrb r3, [r3, #12] 8099210: b2db uxtb r3, r3 8099212: 2b00 cmp r3, #0 8099214: d106 bne.n 8099224 BSP_LCD_DisplayStringAt(170, 101, "ìì/c", LEFT_MODE); 8099216: 2303 movs r3, #3 8099218: 4a93 ldr r2, [pc, #588] ; (8099468 ) 809921a: 2165 movs r1, #101 ; 0x65 809921c: 20aa movs r0, #170 ; 0xaa 809921e: f7ba fb8b bl 8053938 8099222: e005 b.n 8099230 else BSP_LCD_DisplayStringAt(170, 101, "mm/s", LEFT_MODE); 8099224: 2303 movs r3, #3 8099226: 4a91 ldr r2, [pc, #580] ; (809946c ) 8099228: 2165 movs r1, #101 ; 0x65 809922a: 20aa movs r0, #170 ; 0xaa 809922c: f7ba fb84 bl 8053938 if(DiagnFileData.d_Op1_ipr == DIAGN_DIS) 8099230: 4b86 ldr r3, [pc, #536] ; (809944c ) 8099232: f893 3028 ldrb.w r3, [r3, #40] ; 0x28 8099236: b2db uxtb r3, r3 8099238: 2b04 cmp r3, #4 809923a: d164 bne.n 8099306 if(pardata.LANG == RUS) 809923c: 4b84 ldr r3, [pc, #528] ; (8099450 ) 809923e: 7b1b ldrb r3, [r3, #12] 8099240: b2db uxtb r3, r3 8099242: 2b00 cmp r3, #0 8099244: d106 bne.n 8099254 BSP_LCD_DisplayStringAt(170, 101, "ìkì", LEFT_MODE); 8099246: 2303 movs r3, #3 8099248: 4a89 ldr r2, [pc, #548] ; (8099470 ) 809924a: 2165 movs r1, #101 ; 0x65 809924c: 20aa movs r0, #170 ; 0xaa 809924e: f7ba fb73 bl 8053938 8099252: e058 b.n 8099306 else BSP_LCD_DisplayStringAt(170, 101, "um", LEFT_MODE); 8099254: 2303 movs r3, #3 8099256: 4a87 ldr r2, [pc, #540] ; (8099474 ) 8099258: 2165 movs r1, #101 ; 0x65 809925a: 20aa movs r0, #170 ; 0xaa 809925c: f7ba fb6c bl 8053938 8099260: e051 b.n 8099306 f *= 1000.0f; 8099262: edd7 7a11 vldr s15, [r7, #68] ; 0x44 8099266: ed9f 7a84 vldr s14, [pc, #528] ; 8099478 809926a: ee67 7a87 vmul.f32 s15, s15, s14 809926e: edc7 7a11 vstr s15, [r7, #68] ; 0x44 if(DiagnFileData.d_Op1_ipr == DIAGN_ACC) 8099272: 4b76 ldr r3, [pc, #472] ; (809944c ) 8099274: f893 3028 ldrb.w r3, [r3, #40] ; 0x28 8099278: b2db uxtb r3, r3 809927a: 2b01 cmp r3, #1 809927c: d112 bne.n 80992a4 if(pardata.LANG == RUS) 809927e: 4b74 ldr r3, [pc, #464] ; (8099450 ) 8099280: 7b1b ldrb r3, [r3, #12] 8099282: b2db uxtb r3, r3 8099284: 2b00 cmp r3, #0 8099286: d106 bne.n 8099296 BSP_LCD_DisplayStringAt(170, 101, "ìì/c^", LEFT_MODE); 8099288: 2303 movs r3, #3 809928a: 4a7c ldr r2, [pc, #496] ; (809947c ) 809928c: 2165 movs r1, #101 ; 0x65 809928e: 20aa movs r0, #170 ; 0xaa 8099290: f7ba fb52 bl 8053938 8099294: e037 b.n 8099306 else BSP_LCD_DisplayStringAt(170, 101, "mm/s^", LEFT_MODE); 8099296: 2303 movs r3, #3 8099298: 4a79 ldr r2, [pc, #484] ; (8099480 ) 809929a: 2165 movs r1, #101 ; 0x65 809929c: 20aa movs r0, #170 ; 0xaa 809929e: f7ba fb4b bl 8053938 80992a2: e030 b.n 8099306 if(DiagnFileData.d_Op1_ipr== DIAGN_VEL) 80992a4: 4b69 ldr r3, [pc, #420] ; (809944c ) 80992a6: f893 3028 ldrb.w r3, [r3, #40] ; 0x28 80992aa: b2db uxtb r3, r3 80992ac: 2b02 cmp r3, #2 80992ae: d112 bne.n 80992d6 if(pardata.LANG == RUS) 80992b0: 4b67 ldr r3, [pc, #412] ; (8099450 ) 80992b2: 7b1b ldrb r3, [r3, #12] 80992b4: b2db uxtb r3, r3 80992b6: 2b00 cmp r3, #0 80992b8: d106 bne.n 80992c8 BSP_LCD_DisplayStringAt(170, 101, "ìêì/c", LEFT_MODE); 80992ba: 2303 movs r3, #3 80992bc: 4a71 ldr r2, [pc, #452] ; (8099484 ) 80992be: 2165 movs r1, #101 ; 0x65 80992c0: 20aa movs r0, #170 ; 0xaa 80992c2: f7ba fb39 bl 8053938 80992c6: e01e b.n 8099306 else BSP_LCD_DisplayStringAt(170, 101, "mkm/s", LEFT_MODE); 80992c8: 2303 movs r3, #3 80992ca: 4a6f ldr r2, [pc, #444] ; (8099488 ) 80992cc: 2165 movs r1, #101 ; 0x65 80992ce: 20aa movs r0, #170 ; 0xaa 80992d0: f7ba fb32 bl 8053938 80992d4: e017 b.n 8099306 if(DiagnFileData.d_Op1_ipr == DIAGN_DIS) 80992d6: 4b5d ldr r3, [pc, #372] ; (809944c ) 80992d8: f893 3028 ldrb.w r3, [r3, #40] ; 0x28 80992dc: b2db uxtb r3, r3 80992de: 2b04 cmp r3, #4 80992e0: d111 bne.n 8099306 if(pardata.LANG == RUS) 80992e2: 4b5b ldr r3, [pc, #364] ; (8099450 ) 80992e4: 7b1b ldrb r3, [r3, #12] 80992e6: b2db uxtb r3, r3 80992e8: 2b00 cmp r3, #0 80992ea: d106 bne.n 80992fa BSP_LCD_DisplayStringAt(170, 101, "íì", LEFT_MODE); 80992ec: 2303 movs r3, #3 80992ee: 4a67 ldr r2, [pc, #412] ; (809948c ) 80992f0: 2165 movs r1, #101 ; 0x65 80992f2: 20aa movs r0, #170 ; 0xaa 80992f4: f7ba fb20 bl 8053938 80992f8: e005 b.n 8099306 else BSP_LCD_DisplayStringAt(170, 101, "nm", LEFT_MODE); 80992fa: 2303 movs r3, #3 80992fc: 4a64 ldr r2, [pc, #400] ; (8099490 ) 80992fe: 2165 movs r1, #101 ; 0x65 8099300: 20aa movs r0, #170 ; 0xaa 8099302: f7ba fb19 bl 8053938 if(f < 10.0f) BSP_LCD_DisplayStringAt( 160, 101, (char *)FloatToASCII(f, -4), RIGHT_MODE); 8099306: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809930a: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 809930e: eef4 7ac7 vcmpe.f32 s15, s14 8099312: eef1 fa10 vmrs APSR_nzcv, fpscr 8099316: d50e bpl.n 8099336 8099318: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809931c: f06f 0003 mvn.w r0, #3 8099320: eeb0 0a67 vmov.f32 s0, s15 8099324: f7cd f9ec bl 8066700 8099328: 4602 mov r2, r0 809932a: 2302 movs r3, #2 809932c: 2165 movs r1, #101 ; 0x65 809932e: 20a0 movs r0, #160 ; 0xa0 8099330: f7ba fb02 bl 8053938 8099334: e05d b.n 80993f2 else if(f < 100.0f) BSP_LCD_DisplayStringAt( 160, 101, (char *)FloatToASCII(f, -3), RIGHT_MODE); 8099336: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809933a: ed9f 7a56 vldr s14, [pc, #344] ; 8099494 809933e: eef4 7ac7 vcmpe.f32 s15, s14 8099342: eef1 fa10 vmrs APSR_nzcv, fpscr 8099346: d50e bpl.n 8099366 8099348: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809934c: f06f 0002 mvn.w r0, #2 8099350: eeb0 0a67 vmov.f32 s0, s15 8099354: f7cd f9d4 bl 8066700 8099358: 4602 mov r2, r0 809935a: 2302 movs r3, #2 809935c: 2165 movs r1, #101 ; 0x65 809935e: 20a0 movs r0, #160 ; 0xa0 8099360: f7ba faea bl 8053938 8099364: e045 b.n 80993f2 else if(f < 1000.0f) BSP_LCD_DisplayStringAt( 160, 101, (char *)FloatToASCII(f, -2), RIGHT_MODE); 8099366: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809936a: ed9f 7a43 vldr s14, [pc, #268] ; 8099478 809936e: eef4 7ac7 vcmpe.f32 s15, s14 8099372: eef1 fa10 vmrs APSR_nzcv, fpscr 8099376: d50e bpl.n 8099396 8099378: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809937c: f06f 0001 mvn.w r0, #1 8099380: eeb0 0a67 vmov.f32 s0, s15 8099384: f7cd f9bc bl 8066700 8099388: 4602 mov r2, r0 809938a: 2302 movs r3, #2 809938c: 2165 movs r1, #101 ; 0x65 809938e: 20a0 movs r0, #160 ; 0xa0 8099390: f7ba fad2 bl 8053938 8099394: e02d b.n 80993f2 else if(f < 10000.0f) BSP_LCD_DisplayStringAt( 160, 101, (char *)FloatToASCII(f, -1), RIGHT_MODE); 8099396: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809939a: ed9f 7a3f vldr s14, [pc, #252] ; 8099498 809939e: eef4 7ac7 vcmpe.f32 s15, s14 80993a2: eef1 fa10 vmrs APSR_nzcv, fpscr 80993a6: d50e bpl.n 80993c6 80993a8: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80993ac: f04f 30ff mov.w r0, #4294967295 80993b0: eeb0 0a67 vmov.f32 s0, s15 80993b4: f7cd f9a4 bl 8066700 80993b8: 4602 mov r2, r0 80993ba: 2302 movs r3, #2 80993bc: 2165 movs r1, #101 ; 0x65 80993be: 20a0 movs r0, #160 ; 0xa0 80993c0: f7ba faba bl 8053938 80993c4: e015 b.n 80993f2 else if(f < 100000.0f) BSP_LCD_DisplayStringAt( 160, 101, (char *)FloatToASCII(f, 0), RIGHT_MODE); 80993c6: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80993ca: ed9f 7a34 vldr s14, [pc, #208] ; 809949c 80993ce: eef4 7ac7 vcmpe.f32 s15, s14 80993d2: eef1 fa10 vmrs APSR_nzcv, fpscr 80993d6: d50c bpl.n 80993f2 80993d8: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80993dc: 2000 movs r0, #0 80993de: eeb0 0a67 vmov.f32 s0, s15 80993e2: f7cd f98d bl 8066700 80993e6: 4602 mov r2, r0 80993e8: 2302 movs r3, #2 80993ea: 2165 movs r1, #101 ; 0x65 80993ec: 20a0 movs r0, #160 ; 0xa0 80993ee: f7ba faa3 bl 8053938 if((DiagnFileData.d_Op2_ipr != DIAGN_NO) && (DiagnFileData.Op_2.fl != -1.0f)) 80993f2: 4b16 ldr r3, [pc, #88] ; (809944c ) 80993f4: f893 3029 ldrb.w r3, [r3, #41] ; 0x29 80993f8: b2db uxtb r3, r3 80993fa: 2b00 cmp r3, #0 80993fc: f000 821e beq.w 809983c 8099400: 4b12 ldr r3, [pc, #72] ; (809944c ) 8099402: edd3 7a01 vldr s15, [r3, #4] 8099406: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 809940a: eef4 7a47 vcmp.f32 s15, s14 809940e: eef1 fa10 vmrs APSR_nzcv, fpscr 8099412: f000 8213 beq.w 809983c if(DiagnFileData.d_Op2_Color == 0) LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8099416: 4b0d ldr r3, [pc, #52] ; (809944c ) 8099418: f893 302f ldrb.w r3, [r3, #47] ; 0x2f 809941c: b2db uxtb r3, r3 809941e: 2b00 cmp r3, #0 8099420: d105 bne.n 809942e 8099422: 491f ldr r1, [pc, #124] ; (80994a0 ) 8099424: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8099428: f7ba f9c0 bl 80537ac 809942c: e044 b.n 80994b8 else if(DiagnFileData.d_Op2_Color == 1) LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_BLACK); 809942e: 4b07 ldr r3, [pc, #28] ; (809944c ) 8099430: f893 302f ldrb.w r3, [r3, #47] ; 0x2f 8099434: b2db uxtb r3, r3 8099436: 2b01 cmp r3, #1 8099438: d134 bne.n 80994a4 809943a: 4919 ldr r1, [pc, #100] ; (80994a0 ) 809943c: f06f 00ff mvn.w r0, #255 ; 0xff 8099440: f7ba f9b4 bl 80537ac 8099444: e038 b.n 80994b8 8099446: bf00 nop 8099448: 080d09ac .word 0x080d09ac 809944c: 200225f4 .word 0x200225f4 8099450: 20023e60 .word 0x20023e60 8099454: 080d09b0 .word 0x080d09b0 8099458: 080d09b4 .word 0x080d09b4 809945c: 3dcccccd .word 0x3dcccccd 8099460: 080d09b8 .word 0x080d09b8 8099464: 080d09c0 .word 0x080d09c0 8099468: 080d09c8 .word 0x080d09c8 809946c: 080d09d0 .word 0x080d09d0 8099470: 080d09d8 .word 0x080d09d8 8099474: 080d09dc .word 0x080d09dc 8099478: 447a0000 .word 0x447a0000 809947c: 080d09e0 .word 0x080d09e0 8099480: 080d09e8 .word 0x080d09e8 8099484: 080d09f0 .word 0x080d09f0 8099488: 080d09f8 .word 0x080d09f8 809948c: 080d0a00 .word 0x080d0a00 8099490: 080d0a04 .word 0x080d0a04 8099494: 42c80000 .word 0x42c80000 8099498: 461c4000 .word 0x461c4000 809949c: 47c35000 .word 0x47c35000 80994a0: ff0a0f1f .word 0xff0a0f1f else if(DiagnFileData.d_Op2_Color == 2) LCD_SetColors(LCD_COLOR_RED, LCD_COLOR_BLACK); 80994a4: 4bbe ldr r3, [pc, #760] ; (80997a0 ) 80994a6: f893 302f ldrb.w r3, [r3, #47] ; 0x2f 80994aa: b2db uxtb r3, r3 80994ac: 2b02 cmp r3, #2 80994ae: d103 bne.n 80994b8 80994b0: 49bc ldr r1, [pc, #752] ; (80997a4 ) 80994b2: 48bd ldr r0, [pc, #756] ; (80997a8 ) 80994b4: f7ba f97a bl 80537ac f = DiagnFileData.Op_2.fl; 80994b8: 4bb9 ldr r3, [pc, #740] ; (80997a0 ) 80994ba: 685b ldr r3, [r3, #4] 80994bc: 647b str r3, [r7, #68] ; 0x44 if((DiagnFileData.d_Op2_ivs != 'E') && (DiagnFileData.d_Op2_ivs != 'F')) 80994be: 4bb8 ldr r3, [pc, #736] ; (80997a0 ) 80994c0: f893 302c ldrb.w r3, [r3, #44] ; 0x2c 80994c4: b2db uxtb r3, r3 80994c6: 2b45 cmp r3, #69 ; 0x45 80994c8: f000 810a beq.w 80996e0 80994cc: 4bb4 ldr r3, [pc, #720] ; (80997a0 ) 80994ce: f893 302c ldrb.w r3, [r3, #44] ; 0x2c 80994d2: b2db uxtb r3, r3 80994d4: 2b46 cmp r3, #70 ; 0x46 80994d6: f000 8103 beq.w 80996e0 if(f >= 1000.0f) 80994da: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80994de: ed9f 7ab3 vldr s14, [pc, #716] ; 80997ac 80994e2: eef4 7ac7 vcmpe.f32 s15, s14 80994e6: eef1 fa10 vmrs APSR_nzcv, fpscr 80994ea: db53 blt.n 8099594 f *= 0.001f; 80994ec: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80994f0: ed9f 7aaf vldr s14, [pc, #700] ; 80997b0 80994f4: ee67 7a87 vmul.f32 s15, s15, s14 80994f8: edc7 7a11 vstr s15, [r7, #68] ; 0x44 if(DiagnFileData.d_Op2_ipr == DIAGN_ACC) 80994fc: 4ba8 ldr r3, [pc, #672] ; (80997a0 ) 80994fe: f893 3029 ldrb.w r3, [r3, #41] ; 0x29 8099502: b2db uxtb r3, r3 8099504: 2b01 cmp r3, #1 8099506: d112 bne.n 809952e if(pardata.LANG == RUS) 8099508: 4baa ldr r3, [pc, #680] ; (80997b4 ) 809950a: 7b1b ldrb r3, [r3, #12] 809950c: b2db uxtb r3, r3 809950e: 2b00 cmp r3, #0 8099510: d106 bne.n 8099520 BSP_LCD_DisplayStringAt(170, 137, "kì/c^", LEFT_MODE); 8099512: 2303 movs r3, #3 8099514: 4aa8 ldr r2, [pc, #672] ; (80997b8 ) 8099516: 2189 movs r1, #137 ; 0x89 8099518: 20aa movs r0, #170 ; 0xaa 809951a: f7ba fa0d bl 8053938 809951e: e0df b.n 80996e0 else BSP_LCD_DisplayStringAt(170, 137, "km/s^", LEFT_MODE); 8099520: 2303 movs r3, #3 8099522: 4aa6 ldr r2, [pc, #664] ; (80997bc ) 8099524: 2189 movs r1, #137 ; 0x89 8099526: 20aa movs r0, #170 ; 0xaa 8099528: f7ba fa06 bl 8053938 809952c: e0d8 b.n 80996e0 if(DiagnFileData.d_Op2_ipr == DIAGN_VEL) 809952e: 4b9c ldr r3, [pc, #624] ; (80997a0 ) 8099530: f893 3029 ldrb.w r3, [r3, #41] ; 0x29 8099534: b2db uxtb r3, r3 8099536: 2b02 cmp r3, #2 8099538: d112 bne.n 8099560 if(pardata.LANG == RUS) 809953a: 4b9e ldr r3, [pc, #632] ; (80997b4 ) 809953c: 7b1b ldrb r3, [r3, #12] 809953e: b2db uxtb r3, r3 8099540: 2b00 cmp r3, #0 8099542: d106 bne.n 8099552 BSP_LCD_DisplayStringAt(170, 137, "ì/c", LEFT_MODE); 8099544: 2303 movs r3, #3 8099546: 4a9e ldr r2, [pc, #632] ; (80997c0 ) 8099548: 2189 movs r1, #137 ; 0x89 809954a: 20aa movs r0, #170 ; 0xaa 809954c: f7ba f9f4 bl 8053938 8099550: e0c6 b.n 80996e0 else BSP_LCD_DisplayStringAt(170, 137, "m/s", LEFT_MODE); 8099552: 2303 movs r3, #3 8099554: 4a9b ldr r2, [pc, #620] ; (80997c4 ) 8099556: 2189 movs r1, #137 ; 0x89 8099558: 20aa movs r0, #170 ; 0xaa 809955a: f7ba f9ed bl 8053938 809955e: e0bf b.n 80996e0 if(DiagnFileData.d_Op2_ipr== DIAGN_DIS) 8099560: 4b8f ldr r3, [pc, #572] ; (80997a0 ) 8099562: f893 3029 ldrb.w r3, [r3, #41] ; 0x29 8099566: b2db uxtb r3, r3 8099568: 2b04 cmp r3, #4 809956a: f040 80b9 bne.w 80996e0 if(pardata.LANG == RUS) 809956e: 4b91 ldr r3, [pc, #580] ; (80997b4 ) 8099570: 7b1b ldrb r3, [r3, #12] 8099572: b2db uxtb r3, r3 8099574: 2b00 cmp r3, #0 8099576: d106 bne.n 8099586 BSP_LCD_DisplayStringAt(170, 137, "ìì", LEFT_MODE); 8099578: 2303 movs r3, #3 809957a: 4a93 ldr r2, [pc, #588] ; (80997c8 ) 809957c: 2189 movs r1, #137 ; 0x89 809957e: 20aa movs r0, #170 ; 0xaa 8099580: f7ba f9da bl 8053938 8099584: e0ac b.n 80996e0 else BSP_LCD_DisplayStringAt(170, 137, "mm", LEFT_MODE); 8099586: 2303 movs r3, #3 8099588: 4a90 ldr r2, [pc, #576] ; (80997cc ) 809958a: 2189 movs r1, #137 ; 0x89 809958c: 20aa movs r0, #170 ; 0xaa 809958e: f7ba f9d3 bl 8053938 8099592: e0a5 b.n 80996e0 if(f >= 0.1f) 8099594: edd7 7a11 vldr s15, [r7, #68] ; 0x44 8099598: ed9f 7a8d vldr s14, [pc, #564] ; 80997d0 809959c: eef4 7ac7 vcmpe.f32 s15, s14 80995a0: eef1 fa10 vmrs APSR_nzcv, fpscr 80995a4: db4a blt.n 809963c if(DiagnFileData.d_Op2_ipr == DIAGN_ACC) 80995a6: 4b7e ldr r3, [pc, #504] ; (80997a0 ) 80995a8: f893 3029 ldrb.w r3, [r3, #41] ; 0x29 80995ac: b2db uxtb r3, r3 80995ae: 2b01 cmp r3, #1 80995b0: d112 bne.n 80995d8 if(pardata.LANG == RUS) 80995b2: 4b80 ldr r3, [pc, #512] ; (80997b4 ) 80995b4: 7b1b ldrb r3, [r3, #12] 80995b6: b2db uxtb r3, r3 80995b8: 2b00 cmp r3, #0 80995ba: d106 bne.n 80995ca BSP_LCD_DisplayStringAt(170, 137, "ì/c^", LEFT_MODE); 80995bc: 2303 movs r3, #3 80995be: 4a85 ldr r2, [pc, #532] ; (80997d4 ) 80995c0: 2189 movs r1, #137 ; 0x89 80995c2: 20aa movs r0, #170 ; 0xaa 80995c4: f7ba f9b8 bl 8053938 80995c8: e08a b.n 80996e0 else BSP_LCD_DisplayStringAt(170, 137, "m/s^", LEFT_MODE); 80995ca: 2303 movs r3, #3 80995cc: 4a82 ldr r2, [pc, #520] ; (80997d8 ) 80995ce: 2189 movs r1, #137 ; 0x89 80995d0: 20aa movs r0, #170 ; 0xaa 80995d2: f7ba f9b1 bl 8053938 80995d6: e083 b.n 80996e0 else if(DiagnFileData.d_Op2_ipr == DIAGN_VEL) 80995d8: 4b71 ldr r3, [pc, #452] ; (80997a0 ) 80995da: f893 3029 ldrb.w r3, [r3, #41] ; 0x29 80995de: b2db uxtb r3, r3 80995e0: 2b02 cmp r3, #2 80995e2: d112 bne.n 809960a if(pardata.LANG == RUS) 80995e4: 4b73 ldr r3, [pc, #460] ; (80997b4 ) 80995e6: 7b1b ldrb r3, [r3, #12] 80995e8: b2db uxtb r3, r3 80995ea: 2b00 cmp r3, #0 80995ec: d106 bne.n 80995fc BSP_LCD_DisplayStringAt(170, 137, "ìì/c", LEFT_MODE); 80995ee: 2303 movs r3, #3 80995f0: 4a7a ldr r2, [pc, #488] ; (80997dc ) 80995f2: 2189 movs r1, #137 ; 0x89 80995f4: 20aa movs r0, #170 ; 0xaa 80995f6: f7ba f99f bl 8053938 80995fa: e071 b.n 80996e0 else BSP_LCD_DisplayStringAt(170, 137, "mm/s", LEFT_MODE); 80995fc: 2303 movs r3, #3 80995fe: 4a78 ldr r2, [pc, #480] ; (80997e0 ) 8099600: 2189 movs r1, #137 ; 0x89 8099602: 20aa movs r0, #170 ; 0xaa 8099604: f7ba f998 bl 8053938 8099608: e06a b.n 80996e0 else if(DiagnFileData.d_Op2_ipr == DIAGN_DIS) 809960a: 4b65 ldr r3, [pc, #404] ; (80997a0 ) 809960c: f893 3029 ldrb.w r3, [r3, #41] ; 0x29 8099610: b2db uxtb r3, r3 8099612: 2b04 cmp r3, #4 8099614: d164 bne.n 80996e0 if(pardata.LANG == RUS) 8099616: 4b67 ldr r3, [pc, #412] ; (80997b4 ) 8099618: 7b1b ldrb r3, [r3, #12] 809961a: b2db uxtb r3, r3 809961c: 2b00 cmp r3, #0 809961e: d106 bne.n 809962e BSP_LCD_DisplayStringAt(170, 137, "ìkì", LEFT_MODE); 8099620: 2303 movs r3, #3 8099622: 4a70 ldr r2, [pc, #448] ; (80997e4 ) 8099624: 2189 movs r1, #137 ; 0x89 8099626: 20aa movs r0, #170 ; 0xaa 8099628: f7ba f986 bl 8053938 809962c: e058 b.n 80996e0 else BSP_LCD_DisplayStringAt(170, 137, "um", LEFT_MODE); 809962e: 2303 movs r3, #3 8099630: 4a6d ldr r2, [pc, #436] ; (80997e8 ) 8099632: 2189 movs r1, #137 ; 0x89 8099634: 20aa movs r0, #170 ; 0xaa 8099636: f7ba f97f bl 8053938 809963a: e051 b.n 80996e0 f *= 1000.0f; 809963c: edd7 7a11 vldr s15, [r7, #68] ; 0x44 8099640: ed9f 7a5a vldr s14, [pc, #360] ; 80997ac 8099644: ee67 7a87 vmul.f32 s15, s15, s14 8099648: edc7 7a11 vstr s15, [r7, #68] ; 0x44 if(DiagnFileData.d_Op2_ipr == DIAGN_ACC) 809964c: 4b54 ldr r3, [pc, #336] ; (80997a0 ) 809964e: f893 3029 ldrb.w r3, [r3, #41] ; 0x29 8099652: b2db uxtb r3, r3 8099654: 2b01 cmp r3, #1 8099656: d112 bne.n 809967e if(pardata.LANG == RUS) 8099658: 4b56 ldr r3, [pc, #344] ; (80997b4 ) 809965a: 7b1b ldrb r3, [r3, #12] 809965c: b2db uxtb r3, r3 809965e: 2b00 cmp r3, #0 8099660: d106 bne.n 8099670 BSP_LCD_DisplayStringAt(170, 137, "ìì/c^", LEFT_MODE); 8099662: 2303 movs r3, #3 8099664: 4a61 ldr r2, [pc, #388] ; (80997ec ) 8099666: 2189 movs r1, #137 ; 0x89 8099668: 20aa movs r0, #170 ; 0xaa 809966a: f7ba f965 bl 8053938 809966e: e037 b.n 80996e0 else BSP_LCD_DisplayStringAt(170, 137, "mm/s^", LEFT_MODE); 8099670: 2303 movs r3, #3 8099672: 4a5f ldr r2, [pc, #380] ; (80997f0 ) 8099674: 2189 movs r1, #137 ; 0x89 8099676: 20aa movs r0, #170 ; 0xaa 8099678: f7ba f95e bl 8053938 809967c: e030 b.n 80996e0 else if(DiagnFileData.d_Op2_ipr == DIAGN_VEL) 809967e: 4b48 ldr r3, [pc, #288] ; (80997a0 ) 8099680: f893 3029 ldrb.w r3, [r3, #41] ; 0x29 8099684: b2db uxtb r3, r3 8099686: 2b02 cmp r3, #2 8099688: d112 bne.n 80996b0 if(pardata.LANG == RUS) 809968a: 4b4a ldr r3, [pc, #296] ; (80997b4 ) 809968c: 7b1b ldrb r3, [r3, #12] 809968e: b2db uxtb r3, r3 8099690: 2b00 cmp r3, #0 8099692: d106 bne.n 80996a2 BSP_LCD_DisplayStringAt(170, 137, "ìêì/c", LEFT_MODE); 8099694: 2303 movs r3, #3 8099696: 4a57 ldr r2, [pc, #348] ; (80997f4 ) 8099698: 2189 movs r1, #137 ; 0x89 809969a: 20aa movs r0, #170 ; 0xaa 809969c: f7ba f94c bl 8053938 80996a0: e01e b.n 80996e0 else BSP_LCD_DisplayStringAt(170, 137, "mkm/s", LEFT_MODE); 80996a2: 2303 movs r3, #3 80996a4: 4a54 ldr r2, [pc, #336] ; (80997f8 ) 80996a6: 2189 movs r1, #137 ; 0x89 80996a8: 20aa movs r0, #170 ; 0xaa 80996aa: f7ba f945 bl 8053938 80996ae: e017 b.n 80996e0 else if(DiagnFileData.d_Op2_ipr == DIAGN_DIS) 80996b0: 4b3b ldr r3, [pc, #236] ; (80997a0 ) 80996b2: f893 3029 ldrb.w r3, [r3, #41] ; 0x29 80996b6: b2db uxtb r3, r3 80996b8: 2b04 cmp r3, #4 80996ba: d111 bne.n 80996e0 if(pardata.LANG == RUS) 80996bc: 4b3d ldr r3, [pc, #244] ; (80997b4 ) 80996be: 7b1b ldrb r3, [r3, #12] 80996c0: b2db uxtb r3, r3 80996c2: 2b00 cmp r3, #0 80996c4: d106 bne.n 80996d4 BSP_LCD_DisplayStringAt(170, 137, "íì", LEFT_MODE); 80996c6: 2303 movs r3, #3 80996c8: 4a4c ldr r2, [pc, #304] ; (80997fc ) 80996ca: 2189 movs r1, #137 ; 0x89 80996cc: 20aa movs r0, #170 ; 0xaa 80996ce: f7ba f933 bl 8053938 80996d2: e005 b.n 80996e0 else BSP_LCD_DisplayStringAt(170, 137, "nm", LEFT_MODE); 80996d4: 2303 movs r3, #3 80996d6: 4a4a ldr r2, [pc, #296] ; (8099800 ) 80996d8: 2189 movs r1, #137 ; 0x89 80996da: 20aa movs r0, #170 ; 0xaa 80996dc: f7ba f92c bl 8053938 if(f < 10.0f) BSP_LCD_DisplayStringAt(160, 137, (char *)FloatToASCII(f, -4), RIGHT_MODE); 80996e0: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80996e4: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80996e8: eef4 7ac7 vcmpe.f32 s15, s14 80996ec: eef1 fa10 vmrs APSR_nzcv, fpscr 80996f0: d50e bpl.n 8099710 80996f2: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80996f6: f06f 0003 mvn.w r0, #3 80996fa: eeb0 0a67 vmov.f32 s0, s15 80996fe: f7cc ffff bl 8066700 8099702: 4602 mov r2, r0 8099704: 2302 movs r3, #2 8099706: 2189 movs r1, #137 ; 0x89 8099708: 20a0 movs r0, #160 ; 0xa0 809970a: f7ba f915 bl 8053938 809970e: e095 b.n 809983c else if(f < 100.0f) BSP_LCD_DisplayStringAt(160, 137, (char *)FloatToASCII(f, -3), RIGHT_MODE); 8099710: edd7 7a11 vldr s15, [r7, #68] ; 0x44 8099714: ed9f 7a3b vldr s14, [pc, #236] ; 8099804 8099718: eef4 7ac7 vcmpe.f32 s15, s14 809971c: eef1 fa10 vmrs APSR_nzcv, fpscr 8099720: d50e bpl.n 8099740 8099722: edd7 7a11 vldr s15, [r7, #68] ; 0x44 8099726: f06f 0002 mvn.w r0, #2 809972a: eeb0 0a67 vmov.f32 s0, s15 809972e: f7cc ffe7 bl 8066700 8099732: 4602 mov r2, r0 8099734: 2302 movs r3, #2 8099736: 2189 movs r1, #137 ; 0x89 8099738: 20a0 movs r0, #160 ; 0xa0 809973a: f7ba f8fd bl 8053938 809973e: e07d b.n 809983c else if(f < 1000.0f) BSP_LCD_DisplayStringAt(160, 137, (char *)FloatToASCII(f, -2), RIGHT_MODE); 8099740: edd7 7a11 vldr s15, [r7, #68] ; 0x44 8099744: ed9f 7a19 vldr s14, [pc, #100] ; 80997ac 8099748: eef4 7ac7 vcmpe.f32 s15, s14 809974c: eef1 fa10 vmrs APSR_nzcv, fpscr 8099750: d50e bpl.n 8099770 8099752: edd7 7a11 vldr s15, [r7, #68] ; 0x44 8099756: f06f 0001 mvn.w r0, #1 809975a: eeb0 0a67 vmov.f32 s0, s15 809975e: f7cc ffcf bl 8066700 8099762: 4602 mov r2, r0 8099764: 2302 movs r3, #2 8099766: 2189 movs r1, #137 ; 0x89 8099768: 20a0 movs r0, #160 ; 0xa0 809976a: f7ba f8e5 bl 8053938 809976e: e065 b.n 809983c else if(f < 10000.0f) BSP_LCD_DisplayStringAt(160, 137, (char *)FloatToASCII(f, -1), RIGHT_MODE); 8099770: edd7 7a11 vldr s15, [r7, #68] ; 0x44 8099774: ed9f 7a24 vldr s14, [pc, #144] ; 8099808 8099778: eef4 7ac7 vcmpe.f32 s15, s14 809977c: eef1 fa10 vmrs APSR_nzcv, fpscr 8099780: d546 bpl.n 8099810 8099782: edd7 7a11 vldr s15, [r7, #68] ; 0x44 8099786: f04f 30ff mov.w r0, #4294967295 809978a: eeb0 0a67 vmov.f32 s0, s15 809978e: f7cc ffb7 bl 8066700 8099792: 4602 mov r2, r0 8099794: 2302 movs r3, #2 8099796: 2189 movs r1, #137 ; 0x89 8099798: 20a0 movs r0, #160 ; 0xa0 809979a: f7ba f8cd bl 8053938 809979e: e04d b.n 809983c 80997a0: 200225f4 .word 0x200225f4 80997a4: ff0a0f1f .word 0xff0a0f1f 80997a8: ffff0000 .word 0xffff0000 80997ac: 447a0000 .word 0x447a0000 80997b0: 3a83126f .word 0x3a83126f 80997b4: 20023e60 .word 0x20023e60 80997b8: 080d0998 .word 0x080d0998 80997bc: 080d09a0 .word 0x080d09a0 80997c0: 080d09a8 .word 0x080d09a8 80997c4: 080d09ac .word 0x080d09ac 80997c8: 080d09b0 .word 0x080d09b0 80997cc: 080d09b4 .word 0x080d09b4 80997d0: 3dcccccd .word 0x3dcccccd 80997d4: 080d09b8 .word 0x080d09b8 80997d8: 080d09c0 .word 0x080d09c0 80997dc: 080d09c8 .word 0x080d09c8 80997e0: 080d09d0 .word 0x080d09d0 80997e4: 080d09d8 .word 0x080d09d8 80997e8: 080d09dc .word 0x080d09dc 80997ec: 080d09e0 .word 0x080d09e0 80997f0: 080d09e8 .word 0x080d09e8 80997f4: 080d09f0 .word 0x080d09f0 80997f8: 080d09f8 .word 0x080d09f8 80997fc: 080d0a00 .word 0x080d0a00 8099800: 080d0a04 .word 0x080d0a04 8099804: 42c80000 .word 0x42c80000 8099808: 461c4000 .word 0x461c4000 809980c: 47c35000 .word 0x47c35000 else if(f < 100000.0f) BSP_LCD_DisplayStringAt(160, 137, (char *)FloatToASCII(f, 0), RIGHT_MODE); 8099810: edd7 7a11 vldr s15, [r7, #68] ; 0x44 8099814: ed1f 7a03 vldr s14, [pc, #-12] ; 809980c 8099818: eef4 7ac7 vcmpe.f32 s15, s14 809981c: eef1 fa10 vmrs APSR_nzcv, fpscr 8099820: d50c bpl.n 809983c 8099822: edd7 7a11 vldr s15, [r7, #68] ; 0x44 8099826: 2000 movs r0, #0 8099828: eeb0 0a67 vmov.f32 s0, s15 809982c: f7cc ff68 bl 8066700 8099830: 4602 mov r2, r0 8099832: 2302 movs r3, #2 8099834: 2189 movs r1, #137 ; 0x89 8099836: 20a0 movs r0, #160 ; 0xa0 8099838: f7ba f87e bl 8053938 if((DiagnFileData.d_Op3_ipr != DIAGN_NO) && (DiagnFileData.Op_3.fl != -1.0f)) 809983c: 4bbb ldr r3, [pc, #748] ; (8099b2c ) 809983e: f893 302a ldrb.w r3, [r3, #42] ; 0x2a 8099842: b2db uxtb r3, r3 8099844: 2b00 cmp r3, #0 8099846: f000 81ef beq.w 8099c28 809984a: 4bb8 ldr r3, [pc, #736] ; (8099b2c ) 809984c: edd3 7a02 vldr s15, [r3, #8] 8099850: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 8099854: eef4 7a47 vcmp.f32 s15, s14 8099858: eef1 fa10 vmrs APSR_nzcv, fpscr 809985c: f000 81e4 beq.w 8099c28 if(DiagnFileData.d_Op3_Color == 0) LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8099860: 4bb2 ldr r3, [pc, #712] ; (8099b2c ) 8099862: f893 3030 ldrb.w r3, [r3, #48] ; 0x30 8099866: b2db uxtb r3, r3 8099868: 2b00 cmp r3, #0 809986a: d105 bne.n 8099878 809986c: 49b0 ldr r1, [pc, #704] ; (8099b30 ) 809986e: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8099872: f7b9 ff9b bl 80537ac 8099876: e015 b.n 80998a4 else if(DiagnFileData.d_Op3_Color == 1) LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_BLACK); 8099878: 4bac ldr r3, [pc, #688] ; (8099b2c ) 809987a: f893 3030 ldrb.w r3, [r3, #48] ; 0x30 809987e: b2db uxtb r3, r3 8099880: 2b01 cmp r3, #1 8099882: d105 bne.n 8099890 8099884: 49aa ldr r1, [pc, #680] ; (8099b30 ) 8099886: f06f 00ff mvn.w r0, #255 ; 0xff 809988a: f7b9 ff8f bl 80537ac 809988e: e009 b.n 80998a4 else if(DiagnFileData.d_Op3_Color == 2) LCD_SetColors(LCD_COLOR_RED, LCD_COLOR_BLACK); 8099890: 4ba6 ldr r3, [pc, #664] ; (8099b2c ) 8099892: f893 3030 ldrb.w r3, [r3, #48] ; 0x30 8099896: b2db uxtb r3, r3 8099898: 2b02 cmp r3, #2 809989a: d103 bne.n 80998a4 809989c: 49a4 ldr r1, [pc, #656] ; (8099b30 ) 809989e: 48a5 ldr r0, [pc, #660] ; (8099b34 ) 80998a0: f7b9 ff84 bl 80537ac f = DiagnFileData.Op_3.fl; 80998a4: 4ba1 ldr r3, [pc, #644] ; (8099b2c ) 80998a6: 689b ldr r3, [r3, #8] 80998a8: 647b str r3, [r7, #68] ; 0x44 if((DiagnFileData.d_Op3_ivs != 'E') && (DiagnFileData.d_Op3_ivs != 'F')) 80998aa: 4ba0 ldr r3, [pc, #640] ; (8099b2c ) 80998ac: f893 302d ldrb.w r3, [r3, #45] ; 0x2d 80998b0: b2db uxtb r3, r3 80998b2: 2b45 cmp r3, #69 ; 0x45 80998b4: f000 810a beq.w 8099acc 80998b8: 4b9c ldr r3, [pc, #624] ; (8099b2c ) 80998ba: f893 302d ldrb.w r3, [r3, #45] ; 0x2d 80998be: b2db uxtb r3, r3 80998c0: 2b46 cmp r3, #70 ; 0x46 80998c2: f000 8103 beq.w 8099acc if(f >= 1000.0f) 80998c6: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80998ca: ed9f 7ab1 vldr s14, [pc, #708] ; 8099b90 80998ce: eef4 7ac7 vcmpe.f32 s15, s14 80998d2: eef1 fa10 vmrs APSR_nzcv, fpscr 80998d6: db53 blt.n 8099980 f *= 0.001f; 80998d8: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80998dc: ed9f 7a96 vldr s14, [pc, #600] ; 8099b38 80998e0: ee67 7a87 vmul.f32 s15, s15, s14 80998e4: edc7 7a11 vstr s15, [r7, #68] ; 0x44 if(DiagnFileData.d_Op3_ipr == DIAGN_ACC) 80998e8: 4b90 ldr r3, [pc, #576] ; (8099b2c ) 80998ea: f893 302a ldrb.w r3, [r3, #42] ; 0x2a 80998ee: b2db uxtb r3, r3 80998f0: 2b01 cmp r3, #1 80998f2: d112 bne.n 809991a if(pardata.LANG == RUS) 80998f4: 4b91 ldr r3, [pc, #580] ; (8099b3c ) 80998f6: 7b1b ldrb r3, [r3, #12] 80998f8: b2db uxtb r3, r3 80998fa: 2b00 cmp r3, #0 80998fc: d106 bne.n 809990c BSP_LCD_DisplayStringAt(170, 173, "kì/c^", LEFT_MODE); 80998fe: 2303 movs r3, #3 8099900: 4a8f ldr r2, [pc, #572] ; (8099b40 ) 8099902: 21ad movs r1, #173 ; 0xad 8099904: 20aa movs r0, #170 ; 0xaa 8099906: f7ba f817 bl 8053938 809990a: e0df b.n 8099acc else BSP_LCD_DisplayStringAt(170, 173, "km/s^", LEFT_MODE); 809990c: 2303 movs r3, #3 809990e: 4a8d ldr r2, [pc, #564] ; (8099b44 ) 8099910: 21ad movs r1, #173 ; 0xad 8099912: 20aa movs r0, #170 ; 0xaa 8099914: f7ba f810 bl 8053938 8099918: e0d8 b.n 8099acc else if(DiagnFileData.d_Op3_ipr == DIAGN_VEL) 809991a: 4b84 ldr r3, [pc, #528] ; (8099b2c ) 809991c: f893 302a ldrb.w r3, [r3, #42] ; 0x2a 8099920: b2db uxtb r3, r3 8099922: 2b02 cmp r3, #2 8099924: d112 bne.n 809994c if(pardata.LANG == RUS) 8099926: 4b85 ldr r3, [pc, #532] ; (8099b3c ) 8099928: 7b1b ldrb r3, [r3, #12] 809992a: b2db uxtb r3, r3 809992c: 2b00 cmp r3, #0 809992e: d106 bne.n 809993e BSP_LCD_DisplayStringAt(170, 173, "ì/c", LEFT_MODE); 8099930: 2303 movs r3, #3 8099932: 4a85 ldr r2, [pc, #532] ; (8099b48 ) 8099934: 21ad movs r1, #173 ; 0xad 8099936: 20aa movs r0, #170 ; 0xaa 8099938: f7b9 fffe bl 8053938 809993c: e0c6 b.n 8099acc else BSP_LCD_DisplayStringAt(170, 173, "m/s", LEFT_MODE); 809993e: 2303 movs r3, #3 8099940: 4a82 ldr r2, [pc, #520] ; (8099b4c ) 8099942: 21ad movs r1, #173 ; 0xad 8099944: 20aa movs r0, #170 ; 0xaa 8099946: f7b9 fff7 bl 8053938 809994a: e0bf b.n 8099acc else if(DiagnFileData.d_Op3_ipr == DIAGN_DIS) 809994c: 4b77 ldr r3, [pc, #476] ; (8099b2c ) 809994e: f893 302a ldrb.w r3, [r3, #42] ; 0x2a 8099952: b2db uxtb r3, r3 8099954: 2b04 cmp r3, #4 8099956: f040 80b9 bne.w 8099acc if(pardata.LANG == RUS) 809995a: 4b78 ldr r3, [pc, #480] ; (8099b3c ) 809995c: 7b1b ldrb r3, [r3, #12] 809995e: b2db uxtb r3, r3 8099960: 2b00 cmp r3, #0 8099962: d106 bne.n 8099972 BSP_LCD_DisplayStringAt(170, 173, "ìì", LEFT_MODE); 8099964: 2303 movs r3, #3 8099966: 4a7a ldr r2, [pc, #488] ; (8099b50 ) 8099968: 21ad movs r1, #173 ; 0xad 809996a: 20aa movs r0, #170 ; 0xaa 809996c: f7b9 ffe4 bl 8053938 8099970: e0ac b.n 8099acc else BSP_LCD_DisplayStringAt(170, 173, "mm", LEFT_MODE); 8099972: 2303 movs r3, #3 8099974: 4a77 ldr r2, [pc, #476] ; (8099b54 ) 8099976: 21ad movs r1, #173 ; 0xad 8099978: 20aa movs r0, #170 ; 0xaa 809997a: f7b9 ffdd bl 8053938 809997e: e0a5 b.n 8099acc if(f >= 0.1f) 8099980: edd7 7a11 vldr s15, [r7, #68] ; 0x44 8099984: ed9f 7a74 vldr s14, [pc, #464] ; 8099b58 8099988: eef4 7ac7 vcmpe.f32 s15, s14 809998c: eef1 fa10 vmrs APSR_nzcv, fpscr 8099990: db4a blt.n 8099a28 if(DiagnFileData.d_Op3_ipr == DIAGN_ACC) 8099992: 4b66 ldr r3, [pc, #408] ; (8099b2c ) 8099994: f893 302a ldrb.w r3, [r3, #42] ; 0x2a 8099998: b2db uxtb r3, r3 809999a: 2b01 cmp r3, #1 809999c: d112 bne.n 80999c4 if(pardata.LANG == RUS) 809999e: 4b67 ldr r3, [pc, #412] ; (8099b3c ) 80999a0: 7b1b ldrb r3, [r3, #12] 80999a2: b2db uxtb r3, r3 80999a4: 2b00 cmp r3, #0 80999a6: d106 bne.n 80999b6 BSP_LCD_DisplayStringAt(170, 173, "ì/c^", LEFT_MODE); 80999a8: 2303 movs r3, #3 80999aa: 4a6c ldr r2, [pc, #432] ; (8099b5c ) 80999ac: 21ad movs r1, #173 ; 0xad 80999ae: 20aa movs r0, #170 ; 0xaa 80999b0: f7b9 ffc2 bl 8053938 80999b4: e08a b.n 8099acc else BSP_LCD_DisplayStringAt(170, 173, "m/s^", LEFT_MODE); 80999b6: 2303 movs r3, #3 80999b8: 4a69 ldr r2, [pc, #420] ; (8099b60 ) 80999ba: 21ad movs r1, #173 ; 0xad 80999bc: 20aa movs r0, #170 ; 0xaa 80999be: f7b9 ffbb bl 8053938 80999c2: e083 b.n 8099acc else if(DiagnFileData.d_Op3_ipr == DIAGN_VEL) 80999c4: 4b59 ldr r3, [pc, #356] ; (8099b2c ) 80999c6: f893 302a ldrb.w r3, [r3, #42] ; 0x2a 80999ca: b2db uxtb r3, r3 80999cc: 2b02 cmp r3, #2 80999ce: d112 bne.n 80999f6 if(pardata.LANG == RUS) 80999d0: 4b5a ldr r3, [pc, #360] ; (8099b3c ) 80999d2: 7b1b ldrb r3, [r3, #12] 80999d4: b2db uxtb r3, r3 80999d6: 2b00 cmp r3, #0 80999d8: d106 bne.n 80999e8 BSP_LCD_DisplayStringAt(170, 173, "ìì/c", LEFT_MODE); 80999da: 2303 movs r3, #3 80999dc: 4a61 ldr r2, [pc, #388] ; (8099b64 ) 80999de: 21ad movs r1, #173 ; 0xad 80999e0: 20aa movs r0, #170 ; 0xaa 80999e2: f7b9 ffa9 bl 8053938 80999e6: e071 b.n 8099acc else BSP_LCD_DisplayStringAt(170, 173, "mm/s", LEFT_MODE); 80999e8: 2303 movs r3, #3 80999ea: 4a5f ldr r2, [pc, #380] ; (8099b68 ) 80999ec: 21ad movs r1, #173 ; 0xad 80999ee: 20aa movs r0, #170 ; 0xaa 80999f0: f7b9 ffa2 bl 8053938 80999f4: e06a b.n 8099acc else if(DiagnFileData.d_Op3_ipr == DIAGN_DIS) 80999f6: 4b4d ldr r3, [pc, #308] ; (8099b2c ) 80999f8: f893 302a ldrb.w r3, [r3, #42] ; 0x2a 80999fc: b2db uxtb r3, r3 80999fe: 2b04 cmp r3, #4 8099a00: d164 bne.n 8099acc if(pardata.LANG == RUS) 8099a02: 4b4e ldr r3, [pc, #312] ; (8099b3c ) 8099a04: 7b1b ldrb r3, [r3, #12] 8099a06: b2db uxtb r3, r3 8099a08: 2b00 cmp r3, #0 8099a0a: d106 bne.n 8099a1a BSP_LCD_DisplayStringAt(170, 173, "ìkì", LEFT_MODE); 8099a0c: 2303 movs r3, #3 8099a0e: 4a57 ldr r2, [pc, #348] ; (8099b6c ) 8099a10: 21ad movs r1, #173 ; 0xad 8099a12: 20aa movs r0, #170 ; 0xaa 8099a14: f7b9 ff90 bl 8053938 8099a18: e058 b.n 8099acc else BSP_LCD_DisplayStringAt(170, 173, "um", LEFT_MODE); 8099a1a: 2303 movs r3, #3 8099a1c: 4a54 ldr r2, [pc, #336] ; (8099b70 ) 8099a1e: 21ad movs r1, #173 ; 0xad 8099a20: 20aa movs r0, #170 ; 0xaa 8099a22: f7b9 ff89 bl 8053938 8099a26: e051 b.n 8099acc f *= 1000.0f; 8099a28: edd7 7a11 vldr s15, [r7, #68] ; 0x44 8099a2c: ed9f 7a58 vldr s14, [pc, #352] ; 8099b90 8099a30: ee67 7a87 vmul.f32 s15, s15, s14 8099a34: edc7 7a11 vstr s15, [r7, #68] ; 0x44 if(DiagnFileData.d_Op3_ipr == DIAGN_ACC) 8099a38: 4b3c ldr r3, [pc, #240] ; (8099b2c ) 8099a3a: f893 302a ldrb.w r3, [r3, #42] ; 0x2a 8099a3e: b2db uxtb r3, r3 8099a40: 2b01 cmp r3, #1 8099a42: d112 bne.n 8099a6a if(pardata.LANG == RUS) 8099a44: 4b3d ldr r3, [pc, #244] ; (8099b3c ) 8099a46: 7b1b ldrb r3, [r3, #12] 8099a48: b2db uxtb r3, r3 8099a4a: 2b00 cmp r3, #0 8099a4c: d106 bne.n 8099a5c BSP_LCD_DisplayStringAt(170, 173, "ìì/c^", LEFT_MODE); 8099a4e: 2303 movs r3, #3 8099a50: 4a48 ldr r2, [pc, #288] ; (8099b74 ) 8099a52: 21ad movs r1, #173 ; 0xad 8099a54: 20aa movs r0, #170 ; 0xaa 8099a56: f7b9 ff6f bl 8053938 8099a5a: e037 b.n 8099acc else BSP_LCD_DisplayStringAt(170, 173, "mm/s^", LEFT_MODE); 8099a5c: 2303 movs r3, #3 8099a5e: 4a46 ldr r2, [pc, #280] ; (8099b78 ) 8099a60: 21ad movs r1, #173 ; 0xad 8099a62: 20aa movs r0, #170 ; 0xaa 8099a64: f7b9 ff68 bl 8053938 8099a68: e030 b.n 8099acc else if(DiagnFileData.d_Op3_ipr == DIAGN_VEL) 8099a6a: 4b30 ldr r3, [pc, #192] ; (8099b2c ) 8099a6c: f893 302a ldrb.w r3, [r3, #42] ; 0x2a 8099a70: b2db uxtb r3, r3 8099a72: 2b02 cmp r3, #2 8099a74: d112 bne.n 8099a9c if(pardata.LANG == RUS) 8099a76: 4b31 ldr r3, [pc, #196] ; (8099b3c ) 8099a78: 7b1b ldrb r3, [r3, #12] 8099a7a: b2db uxtb r3, r3 8099a7c: 2b00 cmp r3, #0 8099a7e: d106 bne.n 8099a8e BSP_LCD_DisplayStringAt(170, 173, "ìêì/c", LEFT_MODE); 8099a80: 2303 movs r3, #3 8099a82: 4a3e ldr r2, [pc, #248] ; (8099b7c ) 8099a84: 21ad movs r1, #173 ; 0xad 8099a86: 20aa movs r0, #170 ; 0xaa 8099a88: f7b9 ff56 bl 8053938 8099a8c: e01e b.n 8099acc else BSP_LCD_DisplayStringAt(170, 173, "mkm/s", LEFT_MODE); 8099a8e: 2303 movs r3, #3 8099a90: 4a3b ldr r2, [pc, #236] ; (8099b80 ) 8099a92: 21ad movs r1, #173 ; 0xad 8099a94: 20aa movs r0, #170 ; 0xaa 8099a96: f7b9 ff4f bl 8053938 8099a9a: e017 b.n 8099acc else if(DiagnFileData.d_Op3_ipr == DIAGN_DIS) 8099a9c: 4b23 ldr r3, [pc, #140] ; (8099b2c ) 8099a9e: f893 302a ldrb.w r3, [r3, #42] ; 0x2a 8099aa2: b2db uxtb r3, r3 8099aa4: 2b04 cmp r3, #4 8099aa6: d111 bne.n 8099acc if(pardata.LANG == RUS) 8099aa8: 4b24 ldr r3, [pc, #144] ; (8099b3c ) 8099aaa: 7b1b ldrb r3, [r3, #12] 8099aac: b2db uxtb r3, r3 8099aae: 2b00 cmp r3, #0 8099ab0: d106 bne.n 8099ac0 BSP_LCD_DisplayStringAt(170, 173, "íì", LEFT_MODE); 8099ab2: 2303 movs r3, #3 8099ab4: 4a33 ldr r2, [pc, #204] ; (8099b84 ) 8099ab6: 21ad movs r1, #173 ; 0xad 8099ab8: 20aa movs r0, #170 ; 0xaa 8099aba: f7b9 ff3d bl 8053938 8099abe: e005 b.n 8099acc else BSP_LCD_DisplayStringAt(170, 173, "nm", LEFT_MODE); 8099ac0: 2303 movs r3, #3 8099ac2: 4a31 ldr r2, [pc, #196] ; (8099b88 ) 8099ac4: 21ad movs r1, #173 ; 0xad 8099ac6: 20aa movs r0, #170 ; 0xaa 8099ac8: f7b9 ff36 bl 8053938 if(f < 10.0f) BSP_LCD_DisplayStringAt(160, 173, (char *)FloatToASCII(f, -4), RIGHT_MODE); 8099acc: edd7 7a11 vldr s15, [r7, #68] ; 0x44 8099ad0: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 8099ad4: eef4 7ac7 vcmpe.f32 s15, s14 8099ad8: eef1 fa10 vmrs APSR_nzcv, fpscr 8099adc: d50e bpl.n 8099afc 8099ade: edd7 7a11 vldr s15, [r7, #68] ; 0x44 8099ae2: f06f 0003 mvn.w r0, #3 8099ae6: eeb0 0a67 vmov.f32 s0, s15 8099aea: f7cc fe09 bl 8066700 8099aee: 4602 mov r2, r0 8099af0: 2302 movs r3, #2 8099af2: 21ad movs r1, #173 ; 0xad 8099af4: 20a0 movs r0, #160 ; 0xa0 8099af6: f7b9 ff1f bl 8053938 8099afa: e095 b.n 8099c28 else if(f < 100.0f) BSP_LCD_DisplayStringAt(160, 173, (char *)FloatToASCII(f, -3), RIGHT_MODE); 8099afc: edd7 7a11 vldr s15, [r7, #68] ; 0x44 8099b00: ed9f 7a22 vldr s14, [pc, #136] ; 8099b8c 8099b04: eef4 7ac7 vcmpe.f32 s15, s14 8099b08: eef1 fa10 vmrs APSR_nzcv, fpscr 8099b0c: d546 bpl.n 8099b9c 8099b0e: edd7 7a11 vldr s15, [r7, #68] ; 0x44 8099b12: f06f 0002 mvn.w r0, #2 8099b16: eeb0 0a67 vmov.f32 s0, s15 8099b1a: f7cc fdf1 bl 8066700 8099b1e: 4602 mov r2, r0 8099b20: 2302 movs r3, #2 8099b22: 21ad movs r1, #173 ; 0xad 8099b24: 20a0 movs r0, #160 ; 0xa0 8099b26: f7b9 ff07 bl 8053938 8099b2a: e07d b.n 8099c28 8099b2c: 200225f4 .word 0x200225f4 8099b30: ff0a0f1f .word 0xff0a0f1f 8099b34: ffff0000 .word 0xffff0000 8099b38: 3a83126f .word 0x3a83126f 8099b3c: 20023e60 .word 0x20023e60 8099b40: 080d0998 .word 0x080d0998 8099b44: 080d09a0 .word 0x080d09a0 8099b48: 080d09a8 .word 0x080d09a8 8099b4c: 080d09ac .word 0x080d09ac 8099b50: 080d09b0 .word 0x080d09b0 8099b54: 080d09b4 .word 0x080d09b4 8099b58: 3dcccccd .word 0x3dcccccd 8099b5c: 080d09b8 .word 0x080d09b8 8099b60: 080d09c0 .word 0x080d09c0 8099b64: 080d09c8 .word 0x080d09c8 8099b68: 080d09d0 .word 0x080d09d0 8099b6c: 080d09d8 .word 0x080d09d8 8099b70: 080d09dc .word 0x080d09dc 8099b74: 080d09e0 .word 0x080d09e0 8099b78: 080d09e8 .word 0x080d09e8 8099b7c: 080d09f0 .word 0x080d09f0 8099b80: 080d09f8 .word 0x080d09f8 8099b84: 080d0a00 .word 0x080d0a00 8099b88: 080d0a04 .word 0x080d0a04 8099b8c: 42c80000 .word 0x42c80000 8099b90: 447a0000 .word 0x447a0000 8099b94: 461c4000 .word 0x461c4000 8099b98: 47c35000 .word 0x47c35000 else if(f < 1000.0f) BSP_LCD_DisplayStringAt(160, 173, (char *)FloatToASCII(f, -2), RIGHT_MODE); 8099b9c: edd7 7a11 vldr s15, [r7, #68] ; 0x44 8099ba0: ed1f 7a05 vldr s14, [pc, #-20] ; 8099b90 8099ba4: eef4 7ac7 vcmpe.f32 s15, s14 8099ba8: eef1 fa10 vmrs APSR_nzcv, fpscr 8099bac: d50e bpl.n 8099bcc 8099bae: edd7 7a11 vldr s15, [r7, #68] ; 0x44 8099bb2: f06f 0001 mvn.w r0, #1 8099bb6: eeb0 0a67 vmov.f32 s0, s15 8099bba: f7cc fda1 bl 8066700 8099bbe: 4602 mov r2, r0 8099bc0: 2302 movs r3, #2 8099bc2: 21ad movs r1, #173 ; 0xad 8099bc4: 20a0 movs r0, #160 ; 0xa0 8099bc6: f7b9 feb7 bl 8053938 8099bca: e02d b.n 8099c28 else if(f < 10000.0f) BSP_LCD_DisplayStringAt(160, 173, (char *)FloatToASCII(f, -1), RIGHT_MODE); 8099bcc: edd7 7a11 vldr s15, [r7, #68] ; 0x44 8099bd0: ed1f 7a10 vldr s14, [pc, #-64] ; 8099b94 8099bd4: eef4 7ac7 vcmpe.f32 s15, s14 8099bd8: eef1 fa10 vmrs APSR_nzcv, fpscr 8099bdc: d50e bpl.n 8099bfc 8099bde: edd7 7a11 vldr s15, [r7, #68] ; 0x44 8099be2: f04f 30ff mov.w r0, #4294967295 8099be6: eeb0 0a67 vmov.f32 s0, s15 8099bea: f7cc fd89 bl 8066700 8099bee: 4602 mov r2, r0 8099bf0: 2302 movs r3, #2 8099bf2: 21ad movs r1, #173 ; 0xad 8099bf4: 20a0 movs r0, #160 ; 0xa0 8099bf6: f7b9 fe9f bl 8053938 8099bfa: e015 b.n 8099c28 else if(f < 100000.0f) BSP_LCD_DisplayStringAt(160, 173, (char *)FloatToASCII(f, 0), RIGHT_MODE); 8099bfc: edd7 7a11 vldr s15, [r7, #68] ; 0x44 8099c00: ed1f 7a1b vldr s14, [pc, #-108] ; 8099b98 8099c04: eef4 7ac7 vcmpe.f32 s15, s14 8099c08: eef1 fa10 vmrs APSR_nzcv, fpscr 8099c0c: d50c bpl.n 8099c28 8099c0e: edd7 7a11 vldr s15, [r7, #68] ; 0x44 8099c12: 2000 movs r0, #0 8099c14: eeb0 0a67 vmov.f32 s0, s15 8099c18: f7cc fd72 bl 8066700 8099c1c: 4602 mov r2, r0 8099c1e: 2302 movs r3, #2 8099c20: 21ad movs r1, #173 ; 0xad 8099c22: 20a0 movs r0, #160 ; 0xa0 8099c24: f7b9 fe88 bl 8053938 if(DiagnFileData.d_Alarm) 8099c28: 4bc8 ldr r3, [pc, #800] ; (8099f4c ) 8099c2a: f893 3032 ldrb.w r3, [r3, #50] ; 0x32 8099c2e: b2db uxtb r3, r3 8099c30: 2b00 cmp r3, #0 8099c32: d006 beq.n 8099c42 DrawImage(&bmmy_A, 316-65, 121); 8099c34: 2279 movs r2, #121 ; 0x79 8099c36: 21fb movs r1, #251 ; 0xfb 8099c38: 48c5 ldr r0, [pc, #788] ; (8099f50 ) 8099c3a: f7ba fcab bl 8054594 break; 8099c3e: f009 bf1b b.w 80a3a78 if(DiagnFileData.d_Warning) 8099c42: 4bc2 ldr r3, [pc, #776] ; (8099f4c ) 8099c44: f893 3031 ldrb.w r3, [r3, #49] ; 0x31 8099c48: b2db uxtb r3, r3 8099c4a: 2b00 cmp r3, #0 8099c4c: f009 8714 beq.w 80a3a78 DrawImage(&bmmy_W, 316-65, 121); 8099c50: 2279 movs r2, #121 ; 0x79 8099c52: 21fb movs r1, #251 ; 0xfb 8099c54: 48bf ldr r0, [pc, #764] ; (8099f54 ) 8099c56: f7ba fc9d bl 8054594 break; 8099c5a: f009 bf0d b.w 80a3a78 if(NextIndexMeas < IndexMeas[NextIndexPoint]) 8099c5e: 4bbe ldr r3, [pc, #760] ; (8099f58 ) 8099c60: 681b ldr r3, [r3, #0] 8099c62: 4abe ldr r2, [pc, #760] ; (8099f5c ) 8099c64: f852 2023 ldr.w r2, [r2, r3, lsl #2] 8099c68: 4bbd ldr r3, [pc, #756] ; (8099f60 ) 8099c6a: 681b ldr r3, [r3, #0] 8099c6c: 429a cmp r2, r3 8099c6e: d905 bls.n 8099c7c DrawImage(&bmSAVED, 298, 39); 8099c70: 2227 movs r2, #39 ; 0x27 8099c72: f44f 7195 mov.w r1, #298 ; 0x12a 8099c76: 48bb ldr r0, [pc, #748] ; (8099f64 ) 8099c78: f7ba fc8c bl 8054594 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8099c7c: 49ba ldr r1, [pc, #744] ; (8099f68 ) 8099c7e: f04f 30ff mov.w r0, #4294967295 8099c82: f7b9 fd93 bl 80537ac memset(str, 0, sizeof(str)); 8099c86: f107 030c add.w r3, r7, #12 8099c8a: 2228 movs r2, #40 ; 0x28 8099c8c: 2100 movs r1, #0 8099c8e: 4618 mov r0, r3 8099c90: f033 f9da bl 80cd048 switch(pardata.DIAGN_MASK[CURR_POINT][Us1] & 0x7) 8099c94: 4bb5 ldr r3, [pc, #724] ; (8099f6c ) 8099c96: 781b ldrb r3, [r3, #0] 8099c98: b2db uxtb r3, r3 8099c9a: 4ab5 ldr r2, [pc, #724] ; (8099f70 ) 8099c9c: 338e adds r3, #142 ; 0x8e 8099c9e: 009b lsls r3, r3, #2 8099ca0: 4413 add r3, r2 8099ca2: 791b ldrb r3, [r3, #4] 8099ca4: b2db uxtb r3, r3 8099ca6: f003 0307 and.w r3, r3, #7 8099caa: 2b04 cmp r3, #4 8099cac: f200 8123 bhi.w 8099ef6 8099cb0: a201 add r2, pc, #4 ; (adr r2, 8099cb8 ) 8099cb2: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8099cb6: bf00 nop 8099cb8: 08099ccd .word 0x08099ccd 8099cbc: 08099cdb .word 0x08099cdb 8099cc0: 08099d8d .word 0x08099d8d 8099cc4: 08099ef7 .word 0x08099ef7 8099cc8: 08099e3d .word 0x08099e3d case DIAGN_NO: BSP_LCD_DisplayStringAt(30, 101, "----", LEFT_MODE); break; 8099ccc: 2303 movs r3, #3 8099cce: 4aa9 ldr r2, [pc, #676] ; (8099f74 ) 8099cd0: 2165 movs r1, #101 ; 0x65 8099cd2: 201e movs r0, #30 8099cd4: f7b9 fe30 bl 8053938 8099cd8: e10d b.n 8099ef6 switch((pardata.DIAGN_MASK[CURR_POINT][Us1] >> 3) & 0x1f) 8099cda: 4ba4 ldr r3, [pc, #656] ; (8099f6c ) 8099cdc: 781b ldrb r3, [r3, #0] 8099cde: b2db uxtb r3, r3 8099ce0: 4aa3 ldr r2, [pc, #652] ; (8099f70 ) 8099ce2: 338e adds r3, #142 ; 0x8e 8099ce4: 009b lsls r3, r3, #2 8099ce6: 4413 add r3, r2 8099ce8: 791b ldrb r3, [r3, #4] 8099cea: b2db uxtb r3, r3 8099cec: 08db lsrs r3, r3, #3 8099cee: b2db uxtb r3, r3 8099cf0: f003 031f and.w r3, r3, #31 8099cf4: 3b01 subs r3, #1 8099cf6: 2b0f cmp r3, #15 8099cf8: f200 80f8 bhi.w 8099eec 8099cfc: a201 add r2, pc, #4 ; (adr r2, 8099d04 ) 8099cfe: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8099d02: bf00 nop 8099d04: 08099d45 .word 0x08099d45 8099d08: 08099d53 .word 0x08099d53 8099d0c: 08099eed .word 0x08099eed 8099d10: 08099d61 .word 0x08099d61 8099d14: 08099eed .word 0x08099eed 8099d18: 08099eed .word 0x08099eed 8099d1c: 08099eed .word 0x08099eed 8099d20: 08099d6f .word 0x08099d6f 8099d24: 08099eed .word 0x08099eed 8099d28: 08099eed .word 0x08099eed 8099d2c: 08099eed .word 0x08099eed 8099d30: 08099eed .word 0x08099eed 8099d34: 08099eed .word 0x08099eed 8099d38: 08099eed .word 0x08099eed 8099d3c: 08099eed .word 0x08099eed 8099d40: 08099d7d .word 0x08099d7d case DIAGN_PEAK: BSP_LCD_DisplayStringAt( 30, 101, "A[ïèê]", LEFT_MODE); break; 8099d44: 2303 movs r3, #3 8099d46: 4a8c ldr r2, [pc, #560] ; (8099f78 ) 8099d48: 2165 movs r1, #101 ; 0x65 8099d4a: 201e movs r0, #30 8099d4c: f7b9 fdf4 bl 8053938 8099d50: e01b b.n 8099d8a case DIAGN_RMS: BSP_LCD_DisplayStringAt( 30, 101, "A[ñêç]", LEFT_MODE); break; 8099d52: 2303 movs r3, #3 8099d54: 4a89 ldr r2, [pc, #548] ; (8099f7c ) 8099d56: 2165 movs r1, #101 ; 0x65 8099d58: 201e movs r0, #30 8099d5a: f7b9 fded bl 8053938 8099d5e: e014 b.n 8099d8a case DIAGN_PEAK_TO_PEAK: BSP_LCD_DisplayStringAt( 30, 101, "A[ïèê-ïèê]", LEFT_MODE); break; 8099d60: 2303 movs r3, #3 8099d62: 4a87 ldr r2, [pc, #540] ; (8099f80 ) 8099d64: 2165 movs r1, #101 ; 0x65 8099d66: 201e movs r0, #30 8099d68: f7b9 fde6 bl 8053938 8099d6c: e00d b.n 8099d8a case DIAGN_PEAK_FACTOR: BSP_LCD_DisplayStringAt( 30, 101, "A[ïô]", LEFT_MODE); break; 8099d6e: 2303 movs r3, #3 8099d70: 4a84 ldr r2, [pc, #528] ; (8099f84 ) 8099d72: 2165 movs r1, #101 ; 0x65 8099d74: 201e movs r0, #30 8099d76: f7b9 fddf bl 8053938 8099d7a: e006 b.n 8099d8a case DIAGN_EXCESS: BSP_LCD_DisplayStringAt( 30, 101, "A[ýêñö]", LEFT_MODE); break; 8099d7c: 2303 movs r3, #3 8099d7e: 4a82 ldr r2, [pc, #520] ; (8099f88 ) 8099d80: 2165 movs r1, #101 ; 0x65 8099d82: 201e movs r0, #30 8099d84: f7b9 fdd8 bl 8053938 8099d88: bf00 nop break; 8099d8a: e0af b.n 8099eec switch((pardata.DIAGN_MASK[CURR_POINT][Us1] >> 3) & 0x1f) 8099d8c: 4b77 ldr r3, [pc, #476] ; (8099f6c ) 8099d8e: 781b ldrb r3, [r3, #0] 8099d90: b2db uxtb r3, r3 8099d92: 4a77 ldr r2, [pc, #476] ; (8099f70 ) 8099d94: 338e adds r3, #142 ; 0x8e 8099d96: 009b lsls r3, r3, #2 8099d98: 4413 add r3, r2 8099d9a: 791b ldrb r3, [r3, #4] 8099d9c: b2db uxtb r3, r3 8099d9e: 08db lsrs r3, r3, #3 8099da0: b2db uxtb r3, r3 8099da2: f003 031f and.w r3, r3, #31 8099da6: 3b01 subs r3, #1 8099da8: 2b0f cmp r3, #15 8099daa: f200 80a1 bhi.w 8099ef0 8099dae: a201 add r2, pc, #4 ; (adr r2, 8099db4 ) 8099db0: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8099db4: 08099df5 .word 0x08099df5 8099db8: 08099e03 .word 0x08099e03 8099dbc: 08099ef1 .word 0x08099ef1 8099dc0: 08099e11 .word 0x08099e11 8099dc4: 08099ef1 .word 0x08099ef1 8099dc8: 08099ef1 .word 0x08099ef1 8099dcc: 08099ef1 .word 0x08099ef1 8099dd0: 08099e1f .word 0x08099e1f 8099dd4: 08099ef1 .word 0x08099ef1 8099dd8: 08099ef1 .word 0x08099ef1 8099ddc: 08099ef1 .word 0x08099ef1 8099de0: 08099ef1 .word 0x08099ef1 8099de4: 08099ef1 .word 0x08099ef1 8099de8: 08099ef1 .word 0x08099ef1 8099dec: 08099ef1 .word 0x08099ef1 8099df0: 08099e2d .word 0x08099e2d case DIAGN_PEAK: BSP_LCD_DisplayStringAt( 30, 101, "V[ïèê]", LEFT_MODE); break; 8099df4: 2303 movs r3, #3 8099df6: 4a65 ldr r2, [pc, #404] ; (8099f8c ) 8099df8: 2165 movs r1, #101 ; 0x65 8099dfa: 201e movs r0, #30 8099dfc: f7b9 fd9c bl 8053938 8099e00: e01b b.n 8099e3a case DIAGN_RMS: BSP_LCD_DisplayStringAt( 30, 101, "V[ñêç]", LEFT_MODE); break; 8099e02: 2303 movs r3, #3 8099e04: 4a62 ldr r2, [pc, #392] ; (8099f90 ) 8099e06: 2165 movs r1, #101 ; 0x65 8099e08: 201e movs r0, #30 8099e0a: f7b9 fd95 bl 8053938 8099e0e: e014 b.n 8099e3a case DIAGN_PEAK_TO_PEAK: BSP_LCD_DisplayStringAt( 30, 101, "V[ïèê-ïèê]", LEFT_MODE); break; 8099e10: 2303 movs r3, #3 8099e12: 4a60 ldr r2, [pc, #384] ; (8099f94 ) 8099e14: 2165 movs r1, #101 ; 0x65 8099e16: 201e movs r0, #30 8099e18: f7b9 fd8e bl 8053938 8099e1c: e00d b.n 8099e3a case DIAGN_PEAK_FACTOR: BSP_LCD_DisplayStringAt( 30, 101, "V[ïô]", LEFT_MODE); break; 8099e1e: 2303 movs r3, #3 8099e20: 4a5d ldr r2, [pc, #372] ; (8099f98 ) 8099e22: 2165 movs r1, #101 ; 0x65 8099e24: 201e movs r0, #30 8099e26: f7b9 fd87 bl 8053938 8099e2a: e006 b.n 8099e3a case DIAGN_EXCESS: BSP_LCD_DisplayStringAt( 30, 101, "V[ýêñö]", LEFT_MODE); break; 8099e2c: 2303 movs r3, #3 8099e2e: 4a5b ldr r2, [pc, #364] ; (8099f9c ) 8099e30: 2165 movs r1, #101 ; 0x65 8099e32: 201e movs r0, #30 8099e34: f7b9 fd80 bl 8053938 8099e38: bf00 nop break; 8099e3a: e059 b.n 8099ef0 switch((pardata.DIAGN_MASK[CURR_POINT][Us1] >> 3) & 0x1f) 8099e3c: 4b4b ldr r3, [pc, #300] ; (8099f6c ) 8099e3e: 781b ldrb r3, [r3, #0] 8099e40: b2db uxtb r3, r3 8099e42: 4a4b ldr r2, [pc, #300] ; (8099f70 ) 8099e44: 338e adds r3, #142 ; 0x8e 8099e46: 009b lsls r3, r3, #2 8099e48: 4413 add r3, r2 8099e4a: 791b ldrb r3, [r3, #4] 8099e4c: b2db uxtb r3, r3 8099e4e: 08db lsrs r3, r3, #3 8099e50: b2db uxtb r3, r3 8099e52: f003 031f and.w r3, r3, #31 8099e56: 3b01 subs r3, #1 8099e58: 2b0f cmp r3, #15 8099e5a: d84b bhi.n 8099ef4 8099e5c: a201 add r2, pc, #4 ; (adr r2, 8099e64 ) 8099e5e: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8099e62: bf00 nop 8099e64: 08099ea5 .word 0x08099ea5 8099e68: 08099eb3 .word 0x08099eb3 8099e6c: 08099ef5 .word 0x08099ef5 8099e70: 08099ec1 .word 0x08099ec1 8099e74: 08099ef5 .word 0x08099ef5 8099e78: 08099ef5 .word 0x08099ef5 8099e7c: 08099ef5 .word 0x08099ef5 8099e80: 08099ecf .word 0x08099ecf 8099e84: 08099ef5 .word 0x08099ef5 8099e88: 08099ef5 .word 0x08099ef5 8099e8c: 08099ef5 .word 0x08099ef5 8099e90: 08099ef5 .word 0x08099ef5 8099e94: 08099ef5 .word 0x08099ef5 8099e98: 08099ef5 .word 0x08099ef5 8099e9c: 08099ef5 .word 0x08099ef5 8099ea0: 08099edd .word 0x08099edd case DIAGN_PEAK: BSP_LCD_DisplayStringAt( 30, 101, "S[ïèê]", LEFT_MODE); break; 8099ea4: 2303 movs r3, #3 8099ea6: 4a3e ldr r2, [pc, #248] ; (8099fa0 ) 8099ea8: 2165 movs r1, #101 ; 0x65 8099eaa: 201e movs r0, #30 8099eac: f7b9 fd44 bl 8053938 8099eb0: e01b b.n 8099eea case DIAGN_RMS: BSP_LCD_DisplayStringAt( 30, 101, "S[ñêç]", LEFT_MODE); break; 8099eb2: 2303 movs r3, #3 8099eb4: 4a3b ldr r2, [pc, #236] ; (8099fa4 ) 8099eb6: 2165 movs r1, #101 ; 0x65 8099eb8: 201e movs r0, #30 8099eba: f7b9 fd3d bl 8053938 8099ebe: e014 b.n 8099eea case DIAGN_PEAK_TO_PEAK: BSP_LCD_DisplayStringAt( 30, 101, "S[ïèê-ïèê]", LEFT_MODE); break; 8099ec0: 2303 movs r3, #3 8099ec2: 4a39 ldr r2, [pc, #228] ; (8099fa8 ) 8099ec4: 2165 movs r1, #101 ; 0x65 8099ec6: 201e movs r0, #30 8099ec8: f7b9 fd36 bl 8053938 8099ecc: e00d b.n 8099eea case DIAGN_PEAK_FACTOR: BSP_LCD_DisplayStringAt( 30, 101, "S[ïô]", LEFT_MODE); break; 8099ece: 2303 movs r3, #3 8099ed0: 4a36 ldr r2, [pc, #216] ; (8099fac ) 8099ed2: 2165 movs r1, #101 ; 0x65 8099ed4: 201e movs r0, #30 8099ed6: f7b9 fd2f bl 8053938 8099eda: e006 b.n 8099eea case DIAGN_EXCESS: BSP_LCD_DisplayStringAt( 30, 101, "S[ýêñö]", LEFT_MODE); break; 8099edc: 2303 movs r3, #3 8099ede: 4a34 ldr r2, [pc, #208] ; (8099fb0 ) 8099ee0: 2165 movs r1, #101 ; 0x65 8099ee2: 201e movs r0, #30 8099ee4: f7b9 fd28 bl 8053938 8099ee8: bf00 nop break; 8099eea: e003 b.n 8099ef4 break; 8099eec: bf00 nop 8099eee: e002 b.n 8099ef6 break; 8099ef0: bf00 nop 8099ef2: e000 b.n 8099ef6 break; 8099ef4: bf00 nop memset(str, 0, sizeof(str)); 8099ef6: f107 030c add.w r3, r7, #12 8099efa: 2228 movs r2, #40 ; 0x28 8099efc: 2100 movs r1, #0 8099efe: 4618 mov r0, r3 8099f00: f033 f8a2 bl 80cd048 switch(pardata.DIAGN_MASK[CURR_POINT][Us2] & 0x7) 8099f04: 4b19 ldr r3, [pc, #100] ; (8099f6c ) 8099f06: 781b ldrb r3, [r3, #0] 8099f08: b2db uxtb r3, r3 8099f0a: 4a19 ldr r2, [pc, #100] ; (8099f70 ) 8099f0c: 009b lsls r3, r3, #2 8099f0e: 4413 add r3, r2 8099f10: f893 323d ldrb.w r3, [r3, #573] ; 0x23d 8099f14: b2db uxtb r3, r3 8099f16: f003 0307 and.w r3, r3, #7 8099f1a: 2b04 cmp r3, #4 8099f1c: f200 8157 bhi.w 809a1ce 8099f20: a201 add r2, pc, #4 ; (adr r2, 8099f28 ) 8099f22: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8099f26: bf00 nop 8099f28: 08099f3d .word 0x08099f3d 8099f2c: 08099fb5 .word 0x08099fb5 8099f30: 0809a065 .word 0x0809a065 8099f34: 0809a1cf .word 0x0809a1cf 8099f38: 0809a115 .word 0x0809a115 case DIAGN_NO: BSP_LCD_DisplayStringAt(197, 137, "----", LEFT_MODE); break; 8099f3c: 2303 movs r3, #3 8099f3e: 4a0d ldr r2, [pc, #52] ; (8099f74 ) 8099f40: 2189 movs r1, #137 ; 0x89 8099f42: 20c5 movs r0, #197 ; 0xc5 8099f44: f7b9 fcf8 bl 8053938 8099f48: e141 b.n 809a1ce 8099f4a: bf00 nop 8099f4c: 200225f4 .word 0x200225f4 8099f50: 08168af4 .word 0x08168af4 8099f54: 08169bcc .word 0x08169bcc 8099f58: 20021f9c .word 0x20021f9c 8099f5c: 20022ea0 .word 0x20022ea0 8099f60: 20022310 .word 0x20022310 8099f64: 08147a48 .word 0x08147a48 8099f68: ff0a0f1f .word 0xff0a0f1f 8099f6c: 20021011 .word 0x20021011 8099f70: 20023e60 .word 0x20023e60 8099f74: 080d0990 .word 0x080d0990 8099f78: 080d090c .word 0x080d090c 8099f7c: 080d0914 .word 0x080d0914 8099f80: 080d091c .word 0x080d091c 8099f84: 080d0928 .word 0x080d0928 8099f88: 080d0930 .word 0x080d0930 8099f8c: 080d0938 .word 0x080d0938 8099f90: 080d0940 .word 0x080d0940 8099f94: 080d0948 .word 0x080d0948 8099f98: 080d0954 .word 0x080d0954 8099f9c: 080d095c .word 0x080d095c 8099fa0: 080d0964 .word 0x080d0964 8099fa4: 080d096c .word 0x080d096c 8099fa8: 080d0974 .word 0x080d0974 8099fac: 080d0980 .word 0x080d0980 8099fb0: 080d0988 .word 0x080d0988 switch((pardata.DIAGN_MASK[CURR_POINT][Us2] >> 3) & 0x1f) 8099fb4: 4bc7 ldr r3, [pc, #796] ; (809a2d4 ) 8099fb6: 781b ldrb r3, [r3, #0] 8099fb8: b2db uxtb r3, r3 8099fba: 4ac7 ldr r2, [pc, #796] ; (809a2d8 ) 8099fbc: 009b lsls r3, r3, #2 8099fbe: 4413 add r3, r2 8099fc0: f893 323d ldrb.w r3, [r3, #573] ; 0x23d 8099fc4: b2db uxtb r3, r3 8099fc6: 08db lsrs r3, r3, #3 8099fc8: b2db uxtb r3, r3 8099fca: f003 031f and.w r3, r3, #31 8099fce: 3b01 subs r3, #1 8099fd0: 2b0f cmp r3, #15 8099fd2: f200 80f7 bhi.w 809a1c4 8099fd6: a201 add r2, pc, #4 ; (adr r2, 8099fdc ) 8099fd8: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8099fdc: 0809a01d .word 0x0809a01d 8099fe0: 0809a02b .word 0x0809a02b 8099fe4: 0809a1c5 .word 0x0809a1c5 8099fe8: 0809a039 .word 0x0809a039 8099fec: 0809a1c5 .word 0x0809a1c5 8099ff0: 0809a1c5 .word 0x0809a1c5 8099ff4: 0809a1c5 .word 0x0809a1c5 8099ff8: 0809a047 .word 0x0809a047 8099ffc: 0809a1c5 .word 0x0809a1c5 809a000: 0809a1c5 .word 0x0809a1c5 809a004: 0809a1c5 .word 0x0809a1c5 809a008: 0809a1c5 .word 0x0809a1c5 809a00c: 0809a1c5 .word 0x0809a1c5 809a010: 0809a1c5 .word 0x0809a1c5 809a014: 0809a1c5 .word 0x0809a1c5 809a018: 0809a055 .word 0x0809a055 case DIAGN_PEAK: BSP_LCD_DisplayStringAt( 30, 137, "A[ïèê]", LEFT_MODE); break; 809a01c: 2303 movs r3, #3 809a01e: 4aaf ldr r2, [pc, #700] ; (809a2dc ) 809a020: 2189 movs r1, #137 ; 0x89 809a022: 201e movs r0, #30 809a024: f7b9 fc88 bl 8053938 809a028: e01b b.n 809a062 case DIAGN_RMS: BSP_LCD_DisplayStringAt( 30, 137, "A[ñêç]", LEFT_MODE); break; 809a02a: 2303 movs r3, #3 809a02c: 4aac ldr r2, [pc, #688] ; (809a2e0 ) 809a02e: 2189 movs r1, #137 ; 0x89 809a030: 201e movs r0, #30 809a032: f7b9 fc81 bl 8053938 809a036: e014 b.n 809a062 case DIAGN_PEAK_TO_PEAK: BSP_LCD_DisplayStringAt( 30, 137, "A[ïèê-ïèê]", LEFT_MODE); break; 809a038: 2303 movs r3, #3 809a03a: 4aaa ldr r2, [pc, #680] ; (809a2e4 ) 809a03c: 2189 movs r1, #137 ; 0x89 809a03e: 201e movs r0, #30 809a040: f7b9 fc7a bl 8053938 809a044: e00d b.n 809a062 case DIAGN_PEAK_FACTOR: BSP_LCD_DisplayStringAt( 30, 137, "A[ïô]", LEFT_MODE); break; 809a046: 2303 movs r3, #3 809a048: 4aa7 ldr r2, [pc, #668] ; (809a2e8 ) 809a04a: 2189 movs r1, #137 ; 0x89 809a04c: 201e movs r0, #30 809a04e: f7b9 fc73 bl 8053938 809a052: e006 b.n 809a062 case DIAGN_EXCESS: BSP_LCD_DisplayStringAt( 30, 137, "A[ýêñö]", LEFT_MODE); break; 809a054: 2303 movs r3, #3 809a056: 4aa5 ldr r2, [pc, #660] ; (809a2ec ) 809a058: 2189 movs r1, #137 ; 0x89 809a05a: 201e movs r0, #30 809a05c: f7b9 fc6c bl 8053938 809a060: bf00 nop break; 809a062: e0af b.n 809a1c4 switch((pardata.DIAGN_MASK[CURR_POINT][Us2] >> 3) & 0x1f) 809a064: 4b9b ldr r3, [pc, #620] ; (809a2d4 ) 809a066: 781b ldrb r3, [r3, #0] 809a068: b2db uxtb r3, r3 809a06a: 4a9b ldr r2, [pc, #620] ; (809a2d8 ) 809a06c: 009b lsls r3, r3, #2 809a06e: 4413 add r3, r2 809a070: f893 323d ldrb.w r3, [r3, #573] ; 0x23d 809a074: b2db uxtb r3, r3 809a076: 08db lsrs r3, r3, #3 809a078: b2db uxtb r3, r3 809a07a: f003 031f and.w r3, r3, #31 809a07e: 3b01 subs r3, #1 809a080: 2b0f cmp r3, #15 809a082: f200 80a1 bhi.w 809a1c8 809a086: a201 add r2, pc, #4 ; (adr r2, 809a08c ) 809a088: f852 f023 ldr.w pc, [r2, r3, lsl #2] 809a08c: 0809a0cd .word 0x0809a0cd 809a090: 0809a0db .word 0x0809a0db 809a094: 0809a1c9 .word 0x0809a1c9 809a098: 0809a0e9 .word 0x0809a0e9 809a09c: 0809a1c9 .word 0x0809a1c9 809a0a0: 0809a1c9 .word 0x0809a1c9 809a0a4: 0809a1c9 .word 0x0809a1c9 809a0a8: 0809a0f7 .word 0x0809a0f7 809a0ac: 0809a1c9 .word 0x0809a1c9 809a0b0: 0809a1c9 .word 0x0809a1c9 809a0b4: 0809a1c9 .word 0x0809a1c9 809a0b8: 0809a1c9 .word 0x0809a1c9 809a0bc: 0809a1c9 .word 0x0809a1c9 809a0c0: 0809a1c9 .word 0x0809a1c9 809a0c4: 0809a1c9 .word 0x0809a1c9 809a0c8: 0809a105 .word 0x0809a105 case DIAGN_PEAK: BSP_LCD_DisplayStringAt( 30, 137, "V[ïèê]", LEFT_MODE); break; 809a0cc: 2303 movs r3, #3 809a0ce: 4a88 ldr r2, [pc, #544] ; (809a2f0 ) 809a0d0: 2189 movs r1, #137 ; 0x89 809a0d2: 201e movs r0, #30 809a0d4: f7b9 fc30 bl 8053938 809a0d8: e01b b.n 809a112 case DIAGN_RMS: BSP_LCD_DisplayStringAt( 30, 137, "V[ñêç]", LEFT_MODE); break; 809a0da: 2303 movs r3, #3 809a0dc: 4a85 ldr r2, [pc, #532] ; (809a2f4 ) 809a0de: 2189 movs r1, #137 ; 0x89 809a0e0: 201e movs r0, #30 809a0e2: f7b9 fc29 bl 8053938 809a0e6: e014 b.n 809a112 case DIAGN_PEAK_TO_PEAK: BSP_LCD_DisplayStringAt( 30, 137, "V[ïèê-ïèê]", LEFT_MODE); break; 809a0e8: 2303 movs r3, #3 809a0ea: 4a83 ldr r2, [pc, #524] ; (809a2f8 ) 809a0ec: 2189 movs r1, #137 ; 0x89 809a0ee: 201e movs r0, #30 809a0f0: f7b9 fc22 bl 8053938 809a0f4: e00d b.n 809a112 case DIAGN_PEAK_FACTOR: BSP_LCD_DisplayStringAt( 30, 137, "V[ïô]", LEFT_MODE); break; 809a0f6: 2303 movs r3, #3 809a0f8: 4a80 ldr r2, [pc, #512] ; (809a2fc ) 809a0fa: 2189 movs r1, #137 ; 0x89 809a0fc: 201e movs r0, #30 809a0fe: f7b9 fc1b bl 8053938 809a102: e006 b.n 809a112 case DIAGN_EXCESS: BSP_LCD_DisplayStringAt( 30, 137, "V[ýêñö]", LEFT_MODE); break; 809a104: 2303 movs r3, #3 809a106: 4a7e ldr r2, [pc, #504] ; (809a300 ) 809a108: 2189 movs r1, #137 ; 0x89 809a10a: 201e movs r0, #30 809a10c: f7b9 fc14 bl 8053938 809a110: bf00 nop break; 809a112: e059 b.n 809a1c8 switch((pardata.DIAGN_MASK[CURR_POINT][Us2] >> 3) & 0x1f) 809a114: 4b6f ldr r3, [pc, #444] ; (809a2d4 ) 809a116: 781b ldrb r3, [r3, #0] 809a118: b2db uxtb r3, r3 809a11a: 4a6f ldr r2, [pc, #444] ; (809a2d8 ) 809a11c: 009b lsls r3, r3, #2 809a11e: 4413 add r3, r2 809a120: f893 323d ldrb.w r3, [r3, #573] ; 0x23d 809a124: b2db uxtb r3, r3 809a126: 08db lsrs r3, r3, #3 809a128: b2db uxtb r3, r3 809a12a: f003 031f and.w r3, r3, #31 809a12e: 3b01 subs r3, #1 809a130: 2b0f cmp r3, #15 809a132: d84b bhi.n 809a1cc 809a134: a201 add r2, pc, #4 ; (adr r2, 809a13c ) 809a136: f852 f023 ldr.w pc, [r2, r3, lsl #2] 809a13a: bf00 nop 809a13c: 0809a17d .word 0x0809a17d 809a140: 0809a18b .word 0x0809a18b 809a144: 0809a1cd .word 0x0809a1cd 809a148: 0809a199 .word 0x0809a199 809a14c: 0809a1cd .word 0x0809a1cd 809a150: 0809a1cd .word 0x0809a1cd 809a154: 0809a1cd .word 0x0809a1cd 809a158: 0809a1a7 .word 0x0809a1a7 809a15c: 0809a1cd .word 0x0809a1cd 809a160: 0809a1cd .word 0x0809a1cd 809a164: 0809a1cd .word 0x0809a1cd 809a168: 0809a1cd .word 0x0809a1cd 809a16c: 0809a1cd .word 0x0809a1cd 809a170: 0809a1cd .word 0x0809a1cd 809a174: 0809a1cd .word 0x0809a1cd 809a178: 0809a1b5 .word 0x0809a1b5 case DIAGN_PEAK: BSP_LCD_DisplayStringAt( 30, 137, "S[ïèê]", LEFT_MODE); break; 809a17c: 2303 movs r3, #3 809a17e: 4a61 ldr r2, [pc, #388] ; (809a304 ) 809a180: 2189 movs r1, #137 ; 0x89 809a182: 201e movs r0, #30 809a184: f7b9 fbd8 bl 8053938 809a188: e01b b.n 809a1c2 case DIAGN_RMS: BSP_LCD_DisplayStringAt( 30, 137, "S[ñêç]", LEFT_MODE); break; 809a18a: 2303 movs r3, #3 809a18c: 4a5e ldr r2, [pc, #376] ; (809a308 ) 809a18e: 2189 movs r1, #137 ; 0x89 809a190: 201e movs r0, #30 809a192: f7b9 fbd1 bl 8053938 809a196: e014 b.n 809a1c2 case DIAGN_PEAK_TO_PEAK: BSP_LCD_DisplayStringAt( 30, 137, "S[ïèê-ïèê]", LEFT_MODE); break; 809a198: 2303 movs r3, #3 809a19a: 4a5c ldr r2, [pc, #368] ; (809a30c ) 809a19c: 2189 movs r1, #137 ; 0x89 809a19e: 201e movs r0, #30 809a1a0: f7b9 fbca bl 8053938 809a1a4: e00d b.n 809a1c2 case DIAGN_PEAK_FACTOR: BSP_LCD_DisplayStringAt( 30, 137, "S[ïô]", LEFT_MODE); break; 809a1a6: 2303 movs r3, #3 809a1a8: 4a59 ldr r2, [pc, #356] ; (809a310 ) 809a1aa: 2189 movs r1, #137 ; 0x89 809a1ac: 201e movs r0, #30 809a1ae: f7b9 fbc3 bl 8053938 809a1b2: e006 b.n 809a1c2 case DIAGN_EXCESS: BSP_LCD_DisplayStringAt( 30, 137, "S[ýêñö]", LEFT_MODE); break; 809a1b4: 2303 movs r3, #3 809a1b6: 4a57 ldr r2, [pc, #348] ; (809a314 ) 809a1b8: 2189 movs r1, #137 ; 0x89 809a1ba: 201e movs r0, #30 809a1bc: f7b9 fbbc bl 8053938 809a1c0: bf00 nop break; 809a1c2: e003 b.n 809a1cc break; 809a1c4: bf00 nop 809a1c6: e002 b.n 809a1ce break; 809a1c8: bf00 nop 809a1ca: e000 b.n 809a1ce break; 809a1cc: bf00 nop memset(str, 0, sizeof(str)); 809a1ce: f107 030c add.w r3, r7, #12 809a1d2: 2228 movs r2, #40 ; 0x28 809a1d4: 2100 movs r1, #0 809a1d6: 4618 mov r0, r3 809a1d8: f032 ff36 bl 80cd048 switch(pardata.DIAGN_MASK[CURR_POINT][Us3] & 0x7) 809a1dc: 4b3d ldr r3, [pc, #244] ; (809a2d4 ) 809a1de: 781b ldrb r3, [r3, #0] 809a1e0: b2db uxtb r3, r3 809a1e2: 4a3d ldr r2, [pc, #244] ; (809a2d8 ) 809a1e4: 009b lsls r3, r3, #2 809a1e6: 4413 add r3, r2 809a1e8: f893 323e ldrb.w r3, [r3, #574] ; 0x23e 809a1ec: b2db uxtb r3, r3 809a1ee: f003 0307 and.w r3, r3, #7 809a1f2: 2b04 cmp r3, #4 809a1f4: f200 8147 bhi.w 809a486 809a1f8: a201 add r2, pc, #4 ; (adr r2, 809a200 ) 809a1fa: f852 f023 ldr.w pc, [r2, r3, lsl #2] 809a1fe: bf00 nop 809a200: 0809a215 .word 0x0809a215 809a204: 0809a223 .word 0x0809a223 809a208: 0809a31d .word 0x0809a31d 809a20c: 0809a487 .word 0x0809a487 809a210: 0809a3cd .word 0x0809a3cd case DIAGN_NO: BSP_LCD_DisplayStringAt(72, 173, "----", LEFT_MODE); break; 809a214: 2303 movs r3, #3 809a216: 4a40 ldr r2, [pc, #256] ; (809a318 ) 809a218: 21ad movs r1, #173 ; 0xad 809a21a: 2048 movs r0, #72 ; 0x48 809a21c: f7b9 fb8c bl 8053938 809a220: e131 b.n 809a486 switch((pardata.DIAGN_MASK[CURR_POINT][Us3] >> 3) & 0x1f) 809a222: 4b2c ldr r3, [pc, #176] ; (809a2d4 ) 809a224: 781b ldrb r3, [r3, #0] 809a226: b2db uxtb r3, r3 809a228: 4a2b ldr r2, [pc, #172] ; (809a2d8 ) 809a22a: 009b lsls r3, r3, #2 809a22c: 4413 add r3, r2 809a22e: f893 323e ldrb.w r3, [r3, #574] ; 0x23e 809a232: b2db uxtb r3, r3 809a234: 08db lsrs r3, r3, #3 809a236: b2db uxtb r3, r3 809a238: f003 031f and.w r3, r3, #31 809a23c: 3b01 subs r3, #1 809a23e: 2b0f cmp r3, #15 809a240: f200 811c bhi.w 809a47c 809a244: a201 add r2, pc, #4 ; (adr r2, 809a24c ) 809a246: f852 f023 ldr.w pc, [r2, r3, lsl #2] 809a24a: bf00 nop 809a24c: 0809a28d .word 0x0809a28d 809a250: 0809a29b .word 0x0809a29b 809a254: 0809a47d .word 0x0809a47d 809a258: 0809a2a9 .word 0x0809a2a9 809a25c: 0809a47d .word 0x0809a47d 809a260: 0809a47d .word 0x0809a47d 809a264: 0809a47d .word 0x0809a47d 809a268: 0809a2b7 .word 0x0809a2b7 809a26c: 0809a47d .word 0x0809a47d 809a270: 0809a47d .word 0x0809a47d 809a274: 0809a47d .word 0x0809a47d 809a278: 0809a47d .word 0x0809a47d 809a27c: 0809a47d .word 0x0809a47d 809a280: 0809a47d .word 0x0809a47d 809a284: 0809a47d .word 0x0809a47d 809a288: 0809a2c5 .word 0x0809a2c5 case DIAGN_PEAK: BSP_LCD_DisplayStringAt( 30, 173, "A[ïèê]", LEFT_MODE); break; 809a28c: 2303 movs r3, #3 809a28e: 4a13 ldr r2, [pc, #76] ; (809a2dc ) 809a290: 21ad movs r1, #173 ; 0xad 809a292: 201e movs r0, #30 809a294: f7b9 fb50 bl 8053938 809a298: e01b b.n 809a2d2 case DIAGN_RMS: BSP_LCD_DisplayStringAt( 30, 173, "A[ñêç]", LEFT_MODE); break; 809a29a: 2303 movs r3, #3 809a29c: 4a10 ldr r2, [pc, #64] ; (809a2e0 ) 809a29e: 21ad movs r1, #173 ; 0xad 809a2a0: 201e movs r0, #30 809a2a2: f7b9 fb49 bl 8053938 809a2a6: e014 b.n 809a2d2 case DIAGN_PEAK_TO_PEAK: BSP_LCD_DisplayStringAt( 30, 173, "A[ïèê-ïèê]", LEFT_MODE); break; 809a2a8: 2303 movs r3, #3 809a2aa: 4a0e ldr r2, [pc, #56] ; (809a2e4 ) 809a2ac: 21ad movs r1, #173 ; 0xad 809a2ae: 201e movs r0, #30 809a2b0: f7b9 fb42 bl 8053938 809a2b4: e00d b.n 809a2d2 case DIAGN_PEAK_FACTOR: BSP_LCD_DisplayStringAt( 30, 173, "A[ïô]", LEFT_MODE); break; 809a2b6: 2303 movs r3, #3 809a2b8: 4a0b ldr r2, [pc, #44] ; (809a2e8 ) 809a2ba: 21ad movs r1, #173 ; 0xad 809a2bc: 201e movs r0, #30 809a2be: f7b9 fb3b bl 8053938 809a2c2: e006 b.n 809a2d2 case DIAGN_EXCESS: BSP_LCD_DisplayStringAt( 30, 173, "A[ýêñö]", LEFT_MODE); break; 809a2c4: 2303 movs r3, #3 809a2c6: 4a09 ldr r2, [pc, #36] ; (809a2ec ) 809a2c8: 21ad movs r1, #173 ; 0xad 809a2ca: 201e movs r0, #30 809a2cc: f7b9 fb34 bl 8053938 809a2d0: bf00 nop break; 809a2d2: e0d3 b.n 809a47c 809a2d4: 20021011 .word 0x20021011 809a2d8: 20023e60 .word 0x20023e60 809a2dc: 080d090c .word 0x080d090c 809a2e0: 080d0914 .word 0x080d0914 809a2e4: 080d091c .word 0x080d091c 809a2e8: 080d0928 .word 0x080d0928 809a2ec: 080d0930 .word 0x080d0930 809a2f0: 080d0938 .word 0x080d0938 809a2f4: 080d0940 .word 0x080d0940 809a2f8: 080d0948 .word 0x080d0948 809a2fc: 080d0954 .word 0x080d0954 809a300: 080d095c .word 0x080d095c 809a304: 080d0964 .word 0x080d0964 809a308: 080d096c .word 0x080d096c 809a30c: 080d0974 .word 0x080d0974 809a310: 080d0980 .word 0x080d0980 809a314: 080d0988 .word 0x080d0988 809a318: 080d0990 .word 0x080d0990 switch((pardata.DIAGN_MASK[CURR_POINT][Us3] >> 3) & 0x1f) 809a31c: 4bc3 ldr r3, [pc, #780] ; (809a62c ) 809a31e: 781b ldrb r3, [r3, #0] 809a320: b2db uxtb r3, r3 809a322: 4ac3 ldr r2, [pc, #780] ; (809a630 ) 809a324: 009b lsls r3, r3, #2 809a326: 4413 add r3, r2 809a328: f893 323e ldrb.w r3, [r3, #574] ; 0x23e 809a32c: b2db uxtb r3, r3 809a32e: 08db lsrs r3, r3, #3 809a330: b2db uxtb r3, r3 809a332: f003 031f and.w r3, r3, #31 809a336: 3b01 subs r3, #1 809a338: 2b0f cmp r3, #15 809a33a: f200 80a1 bhi.w 809a480 809a33e: a201 add r2, pc, #4 ; (adr r2, 809a344 ) 809a340: f852 f023 ldr.w pc, [r2, r3, lsl #2] 809a344: 0809a385 .word 0x0809a385 809a348: 0809a393 .word 0x0809a393 809a34c: 0809a481 .word 0x0809a481 809a350: 0809a3a1 .word 0x0809a3a1 809a354: 0809a481 .word 0x0809a481 809a358: 0809a481 .word 0x0809a481 809a35c: 0809a481 .word 0x0809a481 809a360: 0809a3af .word 0x0809a3af 809a364: 0809a481 .word 0x0809a481 809a368: 0809a481 .word 0x0809a481 809a36c: 0809a481 .word 0x0809a481 809a370: 0809a481 .word 0x0809a481 809a374: 0809a481 .word 0x0809a481 809a378: 0809a481 .word 0x0809a481 809a37c: 0809a481 .word 0x0809a481 809a380: 0809a3bd .word 0x0809a3bd case DIAGN_PEAK: BSP_LCD_DisplayStringAt( 30, 173, "V[ïèê]", LEFT_MODE); break; 809a384: 2303 movs r3, #3 809a386: 4aab ldr r2, [pc, #684] ; (809a634 ) 809a388: 21ad movs r1, #173 ; 0xad 809a38a: 201e movs r0, #30 809a38c: f7b9 fad4 bl 8053938 809a390: e01b b.n 809a3ca case DIAGN_RMS: BSP_LCD_DisplayStringAt( 30, 173, "V[ñêç]", LEFT_MODE); break; 809a392: 2303 movs r3, #3 809a394: 4aa8 ldr r2, [pc, #672] ; (809a638 ) 809a396: 21ad movs r1, #173 ; 0xad 809a398: 201e movs r0, #30 809a39a: f7b9 facd bl 8053938 809a39e: e014 b.n 809a3ca case DIAGN_PEAK_TO_PEAK: BSP_LCD_DisplayStringAt( 30, 173, "V[ïèê-ïèê]", LEFT_MODE); break; 809a3a0: 2303 movs r3, #3 809a3a2: 4aa6 ldr r2, [pc, #664] ; (809a63c ) 809a3a4: 21ad movs r1, #173 ; 0xad 809a3a6: 201e movs r0, #30 809a3a8: f7b9 fac6 bl 8053938 809a3ac: e00d b.n 809a3ca case DIAGN_PEAK_FACTOR: BSP_LCD_DisplayStringAt( 30, 173, "V[ïô]", LEFT_MODE); break; 809a3ae: 2303 movs r3, #3 809a3b0: 4aa3 ldr r2, [pc, #652] ; (809a640 ) 809a3b2: 21ad movs r1, #173 ; 0xad 809a3b4: 201e movs r0, #30 809a3b6: f7b9 fabf bl 8053938 809a3ba: e006 b.n 809a3ca case DIAGN_EXCESS: BSP_LCD_DisplayStringAt( 30, 173, "V[ýêñö]", LEFT_MODE); break; 809a3bc: 2303 movs r3, #3 809a3be: 4aa1 ldr r2, [pc, #644] ; (809a644 ) 809a3c0: 21ad movs r1, #173 ; 0xad 809a3c2: 201e movs r0, #30 809a3c4: f7b9 fab8 bl 8053938 809a3c8: bf00 nop break; 809a3ca: e059 b.n 809a480 switch((pardata.DIAGN_MASK[CURR_POINT][Us3] >> 3) & 0x1f) 809a3cc: 4b97 ldr r3, [pc, #604] ; (809a62c ) 809a3ce: 781b ldrb r3, [r3, #0] 809a3d0: b2db uxtb r3, r3 809a3d2: 4a97 ldr r2, [pc, #604] ; (809a630 ) 809a3d4: 009b lsls r3, r3, #2 809a3d6: 4413 add r3, r2 809a3d8: f893 323e ldrb.w r3, [r3, #574] ; 0x23e 809a3dc: b2db uxtb r3, r3 809a3de: 08db lsrs r3, r3, #3 809a3e0: b2db uxtb r3, r3 809a3e2: f003 031f and.w r3, r3, #31 809a3e6: 3b01 subs r3, #1 809a3e8: 2b0f cmp r3, #15 809a3ea: d84b bhi.n 809a484 809a3ec: a201 add r2, pc, #4 ; (adr r2, 809a3f4 ) 809a3ee: f852 f023 ldr.w pc, [r2, r3, lsl #2] 809a3f2: bf00 nop 809a3f4: 0809a435 .word 0x0809a435 809a3f8: 0809a443 .word 0x0809a443 809a3fc: 0809a485 .word 0x0809a485 809a400: 0809a451 .word 0x0809a451 809a404: 0809a485 .word 0x0809a485 809a408: 0809a485 .word 0x0809a485 809a40c: 0809a485 .word 0x0809a485 809a410: 0809a45f .word 0x0809a45f 809a414: 0809a485 .word 0x0809a485 809a418: 0809a485 .word 0x0809a485 809a41c: 0809a485 .word 0x0809a485 809a420: 0809a485 .word 0x0809a485 809a424: 0809a485 .word 0x0809a485 809a428: 0809a485 .word 0x0809a485 809a42c: 0809a485 .word 0x0809a485 809a430: 0809a46d .word 0x0809a46d case DIAGN_PEAK: BSP_LCD_DisplayStringAt( 30, 173, "S[ïèê]", LEFT_MODE); break; 809a434: 2303 movs r3, #3 809a436: 4a84 ldr r2, [pc, #528] ; (809a648 ) 809a438: 21ad movs r1, #173 ; 0xad 809a43a: 201e movs r0, #30 809a43c: f7b9 fa7c bl 8053938 809a440: e01b b.n 809a47a case DIAGN_RMS: BSP_LCD_DisplayStringAt( 30, 173, "S[ñêç]", LEFT_MODE); break; 809a442: 2303 movs r3, #3 809a444: 4a81 ldr r2, [pc, #516] ; (809a64c ) 809a446: 21ad movs r1, #173 ; 0xad 809a448: 201e movs r0, #30 809a44a: f7b9 fa75 bl 8053938 809a44e: e014 b.n 809a47a case DIAGN_PEAK_TO_PEAK: BSP_LCD_DisplayStringAt( 30, 173, "S[ïèê-ïèê]", LEFT_MODE); break; 809a450: 2303 movs r3, #3 809a452: 4a7f ldr r2, [pc, #508] ; (809a650 ) 809a454: 21ad movs r1, #173 ; 0xad 809a456: 201e movs r0, #30 809a458: f7b9 fa6e bl 8053938 809a45c: e00d b.n 809a47a case DIAGN_PEAK_FACTOR: BSP_LCD_DisplayStringAt( 30, 173, "S[ïô]", LEFT_MODE); break; 809a45e: 2303 movs r3, #3 809a460: 4a7c ldr r2, [pc, #496] ; (809a654 ) 809a462: 21ad movs r1, #173 ; 0xad 809a464: 201e movs r0, #30 809a466: f7b9 fa67 bl 8053938 809a46a: e006 b.n 809a47a case DIAGN_EXCESS: BSP_LCD_DisplayStringAt( 30, 173, "S[ýêñö]", LEFT_MODE); break; 809a46c: 2303 movs r3, #3 809a46e: 4a7a ldr r2, [pc, #488] ; (809a658 ) 809a470: 21ad movs r1, #173 ; 0xad 809a472: 201e movs r0, #30 809a474: f7b9 fa60 bl 8053938 809a478: bf00 nop break; 809a47a: e003 b.n 809a484 break; 809a47c: bf00 nop 809a47e: e002 b.n 809a486 break; 809a480: bf00 nop 809a482: e000 b.n 809a486 break; 809a484: bf00 nop if((!FIRST) && (!RepeatKm) && (Stability > (Nr * 4)) && (!timeRelax)) 809a486: 4b75 ldr r3, [pc, #468] ; (809a65c ) 809a488: 781b ldrb r3, [r3, #0] 809a48a: b2db uxtb r3, r3 809a48c: f083 0301 eor.w r3, r3, #1 809a490: b2db uxtb r3, r3 809a492: 2b00 cmp r3, #0 809a494: f009 82f0 beq.w 80a3a78 809a498: 4b71 ldr r3, [pc, #452] ; (809a660 ) 809a49a: 781b ldrb r3, [r3, #0] 809a49c: b2db uxtb r3, r3 809a49e: f083 0301 eor.w r3, r3, #1 809a4a2: b2db uxtb r3, r3 809a4a4: 2b00 cmp r3, #0 809a4a6: f009 82e7 beq.w 80a3a78 809a4aa: 4b6e ldr r3, [pc, #440] ; (809a664 ) 809a4ac: 881b ldrh r3, [r3, #0] 809a4ae: b29b uxth r3, r3 809a4b0: 009b lsls r3, r3, #2 809a4b2: 461a mov r2, r3 809a4b4: 4b6c ldr r3, [pc, #432] ; (809a668 ) 809a4b6: 681b ldr r3, [r3, #0] 809a4b8: 429a cmp r2, r3 809a4ba: f089 82dd bcs.w 80a3a78 809a4be: 4b6b ldr r3, [pc, #428] ; (809a66c ) 809a4c0: 681b ldr r3, [r3, #0] 809a4c2: 2b00 cmp r3, #0 809a4c4: f049 82d8 bne.w 80a3a78 if(((pardata.DIAGN_MASK[CURR_POINT][Us1] & 0x7) != DIAGN_NO) && (operand[Us1] != -1.0f)) 809a4c8: 4b58 ldr r3, [pc, #352] ; (809a62c ) 809a4ca: 781b ldrb r3, [r3, #0] 809a4cc: b2db uxtb r3, r3 809a4ce: 4a58 ldr r2, [pc, #352] ; (809a630 ) 809a4d0: 338e adds r3, #142 ; 0x8e 809a4d2: 009b lsls r3, r3, #2 809a4d4: 4413 add r3, r2 809a4d6: 791b ldrb r3, [r3, #4] 809a4d8: b2db uxtb r3, r3 809a4da: f003 0307 and.w r3, r3, #7 809a4de: 2b00 cmp r3, #0 809a4e0: f000 8268 beq.w 809a9b4 809a4e4: 4b62 ldr r3, [pc, #392] ; (809a670 ) 809a4e6: edd3 7a00 vldr s15, [r3] 809a4ea: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 809a4ee: eef4 7a47 vcmp.f32 s15, s14 809a4f2: eef1 fa10 vmrs APSR_nzcv, fpscr 809a4f6: f000 825d beq.w 809a9b4 if(operand[Us1] < pardata.DIAGN_A[CURR_POINT][Us1]) 809a4fa: 4b5d ldr r3, [pc, #372] ; (809a670 ) 809a4fc: ed93 7a00 vldr s14, [r3] 809a500: 4b4a ldr r3, [pc, #296] ; (809a62c ) 809a502: 781b ldrb r3, [r3, #0] 809a504: b2db uxtb r3, r3 809a506: 4a4a ldr r2, [pc, #296] ; (809a630 ) 809a508: 011b lsls r3, r3, #4 809a50a: 4413 add r3, r2 809a50c: f503 7377 add.w r3, r3, #988 ; 0x3dc 809a510: edd3 7a00 vldr s15, [r3] 809a514: eeb4 7ae7 vcmpe.f32 s14, s15 809a518: eef1 fa10 vmrs APSR_nzcv, fpscr 809a51c: d51d bpl.n 809a55a if(operand[Us1] < pardata.DIAGN_W[CURR_POINT][Us1]) 809a51e: 4b54 ldr r3, [pc, #336] ; (809a670 ) 809a520: ed93 7a00 vldr s14, [r3] 809a524: 4b41 ldr r3, [pc, #260] ; (809a62c ) 809a526: 781b ldrb r3, [r3, #0] 809a528: b2db uxtb r3, r3 809a52a: 4a41 ldr r2, [pc, #260] ; (809a630 ) 809a52c: 011b lsls r3, r3, #4 809a52e: 4413 add r3, r2 809a530: f503 7357 add.w r3, r3, #860 ; 0x35c 809a534: edd3 7a00 vldr s15, [r3] 809a538: eeb4 7ae7 vcmpe.f32 s14, s15 809a53c: eef1 fa10 vmrs APSR_nzcv, fpscr 809a540: d505 bpl.n 809a54e LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 809a542: 494c ldr r1, [pc, #304] ; (809a674 ) 809a544: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 809a548: f7b9 f930 bl 80537ac 809a54c: e009 b.n 809a562 else LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_BLACK); 809a54e: 4949 ldr r1, [pc, #292] ; (809a674 ) 809a550: f06f 00ff mvn.w r0, #255 ; 0xff 809a554: f7b9 f92a bl 80537ac 809a558: e003 b.n 809a562 LCD_SetColors(LCD_COLOR_RED, LCD_COLOR_BLACK); 809a55a: 4946 ldr r1, [pc, #280] ; (809a674 ) 809a55c: 4846 ldr r0, [pc, #280] ; (809a678 ) 809a55e: f7b9 f925 bl 80537ac f = operand[Us1]; 809a562: 4b43 ldr r3, [pc, #268] ; (809a670 ) 809a564: 681b ldr r3, [r3, #0] 809a566: 647b str r3, [r7, #68] ; 0x44 if(((pardata.DIAGN_MASK[CURR_POINT][Us1] >> 3) & 0x1f) >= DIAGN_PEAK_FACTOR) 809a568: 4b30 ldr r3, [pc, #192] ; (809a62c ) 809a56a: 781b ldrb r3, [r3, #0] 809a56c: b2db uxtb r3, r3 809a56e: 4a30 ldr r2, [pc, #192] ; (809a630 ) 809a570: 338e adds r3, #142 ; 0x8e 809a572: 009b lsls r3, r3, #2 809a574: 4413 add r3, r2 809a576: 791b ldrb r3, [r3, #4] 809a578: b2db uxtb r3, r3 809a57a: 08db lsrs r3, r3, #3 809a57c: b2db uxtb r3, r3 809a57e: f003 031f and.w r3, r3, #31 809a582: 2b07 cmp r3, #7 809a584: f300 8175 bgt.w 809a872 if(f >= 1000.0f) 809a588: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809a58c: ed9f 7a3b vldr s14, [pc, #236] ; 809a67c 809a590: eef4 7ac7 vcmpe.f32 s15, s14 809a594: eef1 fa10 vmrs APSR_nzcv, fpscr 809a598: f2c0 809d blt.w 809a6d6 f *= 0.001f; 809a59c: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809a5a0: ed9f 7a37 vldr s14, [pc, #220] ; 809a680 809a5a4: ee67 7a87 vmul.f32 s15, s15, s14 809a5a8: edc7 7a11 vstr s15, [r7, #68] ; 0x44 if((pardata.DIAGN_MASK[CURR_POINT][Us1] & 0x7) == DIAGN_ACC) 809a5ac: 4b1f ldr r3, [pc, #124] ; (809a62c ) 809a5ae: 781b ldrb r3, [r3, #0] 809a5b0: b2db uxtb r3, r3 809a5b2: 4a1f ldr r2, [pc, #124] ; (809a630 ) 809a5b4: 338e adds r3, #142 ; 0x8e 809a5b6: 009b lsls r3, r3, #2 809a5b8: 4413 add r3, r2 809a5ba: 791b ldrb r3, [r3, #4] 809a5bc: b2db uxtb r3, r3 809a5be: f003 0307 and.w r3, r3, #7 809a5c2: 2b01 cmp r3, #1 809a5c4: d112 bne.n 809a5ec if(pardata.LANG == RUS) 809a5c6: 4b1a ldr r3, [pc, #104] ; (809a630 ) 809a5c8: 7b1b ldrb r3, [r3, #12] 809a5ca: b2db uxtb r3, r3 809a5cc: 2b00 cmp r3, #0 809a5ce: d106 bne.n 809a5de BSP_LCD_DisplayStringAt(170, 101, "kì/c^", LEFT_MODE); 809a5d0: 2303 movs r3, #3 809a5d2: 4a2c ldr r2, [pc, #176] ; (809a684 ) 809a5d4: 2165 movs r1, #101 ; 0x65 809a5d6: 20aa movs r0, #170 ; 0xaa 809a5d8: f7b9 f9ae bl 8053938 809a5dc: e149 b.n 809a872 else BSP_LCD_DisplayStringAt(170, 101, "km/s^", LEFT_MODE); 809a5de: 2303 movs r3, #3 809a5e0: 4a29 ldr r2, [pc, #164] ; (809a688 ) 809a5e2: 2165 movs r1, #101 ; 0x65 809a5e4: 20aa movs r0, #170 ; 0xaa 809a5e6: f7b9 f9a7 bl 8053938 809a5ea: e142 b.n 809a872 if((pardata.DIAGN_MASK[CURR_POINT][Us1] & 0x7) == DIAGN_VEL) 809a5ec: 4b0f ldr r3, [pc, #60] ; (809a62c ) 809a5ee: 781b ldrb r3, [r3, #0] 809a5f0: b2db uxtb r3, r3 809a5f2: 4a0f ldr r2, [pc, #60] ; (809a630 ) 809a5f4: 338e adds r3, #142 ; 0x8e 809a5f6: 009b lsls r3, r3, #2 809a5f8: 4413 add r3, r2 809a5fa: 791b ldrb r3, [r3, #4] 809a5fc: b2db uxtb r3, r3 809a5fe: f003 0307 and.w r3, r3, #7 809a602: 2b02 cmp r3, #2 809a604: d146 bne.n 809a694 if(pardata.LANG == RUS) 809a606: 4b0a ldr r3, [pc, #40] ; (809a630 ) 809a608: 7b1b ldrb r3, [r3, #12] 809a60a: b2db uxtb r3, r3 809a60c: 2b00 cmp r3, #0 809a60e: d106 bne.n 809a61e BSP_LCD_DisplayStringAt(170, 101, "ì/c", LEFT_MODE); 809a610: 2303 movs r3, #3 809a612: 4a1e ldr r2, [pc, #120] ; (809a68c ) 809a614: 2165 movs r1, #101 ; 0x65 809a616: 20aa movs r0, #170 ; 0xaa 809a618: f7b9 f98e bl 8053938 809a61c: e129 b.n 809a872 else BSP_LCD_DisplayStringAt(170, 101, "m/s", LEFT_MODE); 809a61e: 2303 movs r3, #3 809a620: 4a1b ldr r2, [pc, #108] ; (809a690 ) 809a622: 2165 movs r1, #101 ; 0x65 809a624: 20aa movs r0, #170 ; 0xaa 809a626: f7b9 f987 bl 8053938 809a62a: e122 b.n 809a872 809a62c: 20021011 .word 0x20021011 809a630: 20023e60 .word 0x20023e60 809a634: 080d0938 .word 0x080d0938 809a638: 080d0940 .word 0x080d0940 809a63c: 080d0948 .word 0x080d0948 809a640: 080d0954 .word 0x080d0954 809a644: 080d095c .word 0x080d095c 809a648: 080d0964 .word 0x080d0964 809a64c: 080d096c .word 0x080d096c 809a650: 080d0974 .word 0x080d0974 809a654: 080d0980 .word 0x080d0980 809a658: 080d0988 .word 0x080d0988 809a65c: 20020db2 .word 0x20020db2 809a660: 20020dac .word 0x20020dac 809a664: 20021d20 .word 0x20021d20 809a668: 20020da8 .word 0x20020da8 809a66c: 20020d6c .word 0x20020d6c 809a670: 200268d8 .word 0x200268d8 809a674: ff0a0f1f .word 0xff0a0f1f 809a678: ffff0000 .word 0xffff0000 809a67c: 447a0000 .word 0x447a0000 809a680: 3a83126f .word 0x3a83126f 809a684: 080d0998 .word 0x080d0998 809a688: 080d09a0 .word 0x080d09a0 809a68c: 080d09a8 .word 0x080d09a8 809a690: 080d09ac .word 0x080d09ac if((pardata.DIAGN_MASK[CURR_POINT][Us1] & 0x7) == DIAGN_DIS) 809a694: 4ba7 ldr r3, [pc, #668] ; (809a934 ) 809a696: 781b ldrb r3, [r3, #0] 809a698: b2db uxtb r3, r3 809a69a: 4aa7 ldr r2, [pc, #668] ; (809a938 ) 809a69c: 338e adds r3, #142 ; 0x8e 809a69e: 009b lsls r3, r3, #2 809a6a0: 4413 add r3, r2 809a6a2: 791b ldrb r3, [r3, #4] 809a6a4: b2db uxtb r3, r3 809a6a6: f003 0307 and.w r3, r3, #7 809a6aa: 2b04 cmp r3, #4 809a6ac: f040 80e1 bne.w 809a872 if(pardata.LANG == RUS) 809a6b0: 4ba1 ldr r3, [pc, #644] ; (809a938 ) 809a6b2: 7b1b ldrb r3, [r3, #12] 809a6b4: b2db uxtb r3, r3 809a6b6: 2b00 cmp r3, #0 809a6b8: d106 bne.n 809a6c8 BSP_LCD_DisplayStringAt(170, 101, "ìì", LEFT_MODE); 809a6ba: 2303 movs r3, #3 809a6bc: 4a9f ldr r2, [pc, #636] ; (809a93c ) 809a6be: 2165 movs r1, #101 ; 0x65 809a6c0: 20aa movs r0, #170 ; 0xaa 809a6c2: f7b9 f939 bl 8053938 809a6c6: e0d4 b.n 809a872 else BSP_LCD_DisplayStringAt(170, 101, "mm", LEFT_MODE); 809a6c8: 2303 movs r3, #3 809a6ca: 4a9d ldr r2, [pc, #628] ; (809a940 ) 809a6cc: 2165 movs r1, #101 ; 0x65 809a6ce: 20aa movs r0, #170 ; 0xaa 809a6d0: f7b9 f932 bl 8053938 809a6d4: e0cd b.n 809a872 if(f >= 0.1f) 809a6d6: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809a6da: ed9f 7a9a vldr s14, [pc, #616] ; 809a944 809a6de: eef4 7ac7 vcmpe.f32 s15, s14 809a6e2: eef1 fa10 vmrs APSR_nzcv, fpscr 809a6e6: db5d blt.n 809a7a4 if((pardata.DIAGN_MASK[CURR_POINT][Us1] & 0x7) == DIAGN_ACC) 809a6e8: 4b92 ldr r3, [pc, #584] ; (809a934 ) 809a6ea: 781b ldrb r3, [r3, #0] 809a6ec: b2db uxtb r3, r3 809a6ee: 4a92 ldr r2, [pc, #584] ; (809a938 ) 809a6f0: 338e adds r3, #142 ; 0x8e 809a6f2: 009b lsls r3, r3, #2 809a6f4: 4413 add r3, r2 809a6f6: 791b ldrb r3, [r3, #4] 809a6f8: b2db uxtb r3, r3 809a6fa: f003 0307 and.w r3, r3, #7 809a6fe: 2b01 cmp r3, #1 809a700: d111 bne.n 809a726 if(pardata.LANG == RUS) 809a702: 4b8d ldr r3, [pc, #564] ; (809a938 ) 809a704: 7b1b ldrb r3, [r3, #12] 809a706: b2db uxtb r3, r3 809a708: 2b00 cmp r3, #0 809a70a: d106 bne.n 809a71a BSP_LCD_DisplayStringAt(170, 101, "ì/c^", LEFT_MODE); 809a70c: 2303 movs r3, #3 809a70e: 4a8e ldr r2, [pc, #568] ; (809a948 ) 809a710: 2165 movs r1, #101 ; 0x65 809a712: 20aa movs r0, #170 ; 0xaa 809a714: f7b9 f910 bl 8053938 809a718: e005 b.n 809a726 else BSP_LCD_DisplayStringAt(170, 101, "m/s^", LEFT_MODE); 809a71a: 2303 movs r3, #3 809a71c: 4a8b ldr r2, [pc, #556] ; (809a94c ) 809a71e: 2165 movs r1, #101 ; 0x65 809a720: 20aa movs r0, #170 ; 0xaa 809a722: f7b9 f909 bl 8053938 if((pardata.DIAGN_MASK[CURR_POINT][Us1] & 0x7) == DIAGN_VEL) 809a726: 4b83 ldr r3, [pc, #524] ; (809a934 ) 809a728: 781b ldrb r3, [r3, #0] 809a72a: b2db uxtb r3, r3 809a72c: 4a82 ldr r2, [pc, #520] ; (809a938 ) 809a72e: 338e adds r3, #142 ; 0x8e 809a730: 009b lsls r3, r3, #2 809a732: 4413 add r3, r2 809a734: 791b ldrb r3, [r3, #4] 809a736: b2db uxtb r3, r3 809a738: f003 0307 and.w r3, r3, #7 809a73c: 2b02 cmp r3, #2 809a73e: d111 bne.n 809a764 if(pardata.LANG == RUS) 809a740: 4b7d ldr r3, [pc, #500] ; (809a938 ) 809a742: 7b1b ldrb r3, [r3, #12] 809a744: b2db uxtb r3, r3 809a746: 2b00 cmp r3, #0 809a748: d106 bne.n 809a758 BSP_LCD_DisplayStringAt(170, 101, "ìì/c", LEFT_MODE); 809a74a: 2303 movs r3, #3 809a74c: 4a80 ldr r2, [pc, #512] ; (809a950 ) 809a74e: 2165 movs r1, #101 ; 0x65 809a750: 20aa movs r0, #170 ; 0xaa 809a752: f7b9 f8f1 bl 8053938 809a756: e005 b.n 809a764 else BSP_LCD_DisplayStringAt(170, 101, "mm/s", LEFT_MODE); 809a758: 2303 movs r3, #3 809a75a: 4a7e ldr r2, [pc, #504] ; (809a954 ) 809a75c: 2165 movs r1, #101 ; 0x65 809a75e: 20aa movs r0, #170 ; 0xaa 809a760: f7b9 f8ea bl 8053938 if((pardata.DIAGN_MASK[CURR_POINT][Us1] & 0x7) == DIAGN_DIS) 809a764: 4b73 ldr r3, [pc, #460] ; (809a934 ) 809a766: 781b ldrb r3, [r3, #0] 809a768: b2db uxtb r3, r3 809a76a: 4a73 ldr r2, [pc, #460] ; (809a938 ) 809a76c: 338e adds r3, #142 ; 0x8e 809a76e: 009b lsls r3, r3, #2 809a770: 4413 add r3, r2 809a772: 791b ldrb r3, [r3, #4] 809a774: b2db uxtb r3, r3 809a776: f003 0307 and.w r3, r3, #7 809a77a: 2b04 cmp r3, #4 809a77c: d179 bne.n 809a872 if(pardata.LANG == RUS) 809a77e: 4b6e ldr r3, [pc, #440] ; (809a938 ) 809a780: 7b1b ldrb r3, [r3, #12] 809a782: b2db uxtb r3, r3 809a784: 2b00 cmp r3, #0 809a786: d106 bne.n 809a796 BSP_LCD_DisplayStringAt(170, 101, "ìkì", LEFT_MODE); 809a788: 2303 movs r3, #3 809a78a: 4a73 ldr r2, [pc, #460] ; (809a958 ) 809a78c: 2165 movs r1, #101 ; 0x65 809a78e: 20aa movs r0, #170 ; 0xaa 809a790: f7b9 f8d2 bl 8053938 809a794: e06d b.n 809a872 else BSP_LCD_DisplayStringAt(170, 101, "um", LEFT_MODE); 809a796: 2303 movs r3, #3 809a798: 4a70 ldr r2, [pc, #448] ; (809a95c ) 809a79a: 2165 movs r1, #101 ; 0x65 809a79c: 20aa movs r0, #170 ; 0xaa 809a79e: f7b9 f8cb bl 8053938 809a7a2: e066 b.n 809a872 f *= 1000.0f; 809a7a4: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809a7a8: ed9f 7a6d vldr s14, [pc, #436] ; 809a960 809a7ac: ee67 7a87 vmul.f32 s15, s15, s14 809a7b0: edc7 7a11 vstr s15, [r7, #68] ; 0x44 if((pardata.DIAGN_MASK[CURR_POINT][Us1] & 0x7) == DIAGN_ACC) 809a7b4: 4b5f ldr r3, [pc, #380] ; (809a934 ) 809a7b6: 781b ldrb r3, [r3, #0] 809a7b8: b2db uxtb r3, r3 809a7ba: 4a5f ldr r2, [pc, #380] ; (809a938 ) 809a7bc: 338e adds r3, #142 ; 0x8e 809a7be: 009b lsls r3, r3, #2 809a7c0: 4413 add r3, r2 809a7c2: 791b ldrb r3, [r3, #4] 809a7c4: b2db uxtb r3, r3 809a7c6: f003 0307 and.w r3, r3, #7 809a7ca: 2b01 cmp r3, #1 809a7cc: d112 bne.n 809a7f4 if(pardata.LANG == RUS) 809a7ce: 4b5a ldr r3, [pc, #360] ; (809a938 ) 809a7d0: 7b1b ldrb r3, [r3, #12] 809a7d2: b2db uxtb r3, r3 809a7d4: 2b00 cmp r3, #0 809a7d6: d106 bne.n 809a7e6 BSP_LCD_DisplayStringAt(170, 101, "ìì/c^", LEFT_MODE); 809a7d8: 2303 movs r3, #3 809a7da: 4a62 ldr r2, [pc, #392] ; (809a964 ) 809a7dc: 2165 movs r1, #101 ; 0x65 809a7de: 20aa movs r0, #170 ; 0xaa 809a7e0: f7b9 f8aa bl 8053938 809a7e4: e045 b.n 809a872 else BSP_LCD_DisplayStringAt(170, 101, "mm/s^", LEFT_MODE); 809a7e6: 2303 movs r3, #3 809a7e8: 4a5f ldr r2, [pc, #380] ; (809a968 ) 809a7ea: 2165 movs r1, #101 ; 0x65 809a7ec: 20aa movs r0, #170 ; 0xaa 809a7ee: f7b9 f8a3 bl 8053938 809a7f2: e03e b.n 809a872 else if((pardata.DIAGN_MASK[CURR_POINT][Us1] & 0x7) == DIAGN_VEL) 809a7f4: 4b4f ldr r3, [pc, #316] ; (809a934 ) 809a7f6: 781b ldrb r3, [r3, #0] 809a7f8: b2db uxtb r3, r3 809a7fa: 4a4f ldr r2, [pc, #316] ; (809a938 ) 809a7fc: 338e adds r3, #142 ; 0x8e 809a7fe: 009b lsls r3, r3, #2 809a800: 4413 add r3, r2 809a802: 791b ldrb r3, [r3, #4] 809a804: b2db uxtb r3, r3 809a806: f003 0307 and.w r3, r3, #7 809a80a: 2b02 cmp r3, #2 809a80c: d112 bne.n 809a834 if(pardata.LANG == RUS) 809a80e: 4b4a ldr r3, [pc, #296] ; (809a938 ) 809a810: 7b1b ldrb r3, [r3, #12] 809a812: b2db uxtb r3, r3 809a814: 2b00 cmp r3, #0 809a816: d106 bne.n 809a826 BSP_LCD_DisplayStringAt(170, 101, "ìêì/c", LEFT_MODE); 809a818: 2303 movs r3, #3 809a81a: 4a54 ldr r2, [pc, #336] ; (809a96c ) 809a81c: 2165 movs r1, #101 ; 0x65 809a81e: 20aa movs r0, #170 ; 0xaa 809a820: f7b9 f88a bl 8053938 809a824: e025 b.n 809a872 else BSP_LCD_DisplayStringAt(170, 101, "mkm/s", LEFT_MODE); 809a826: 2303 movs r3, #3 809a828: 4a51 ldr r2, [pc, #324] ; (809a970 ) 809a82a: 2165 movs r1, #101 ; 0x65 809a82c: 20aa movs r0, #170 ; 0xaa 809a82e: f7b9 f883 bl 8053938 809a832: e01e b.n 809a872 else if((pardata.DIAGN_MASK[CURR_POINT][Us1] & 0x7) == DIAGN_DIS) 809a834: 4b3f ldr r3, [pc, #252] ; (809a934 ) 809a836: 781b ldrb r3, [r3, #0] 809a838: b2db uxtb r3, r3 809a83a: 4a3f ldr r2, [pc, #252] ; (809a938 ) 809a83c: 338e adds r3, #142 ; 0x8e 809a83e: 009b lsls r3, r3, #2 809a840: 4413 add r3, r2 809a842: 791b ldrb r3, [r3, #4] 809a844: b2db uxtb r3, r3 809a846: f003 0307 and.w r3, r3, #7 809a84a: 2b04 cmp r3, #4 809a84c: d111 bne.n 809a872 if(pardata.LANG == RUS) 809a84e: 4b3a ldr r3, [pc, #232] ; (809a938 ) 809a850: 7b1b ldrb r3, [r3, #12] 809a852: b2db uxtb r3, r3 809a854: 2b00 cmp r3, #0 809a856: d106 bne.n 809a866 BSP_LCD_DisplayStringAt(170, 101, "íì", LEFT_MODE); 809a858: 2303 movs r3, #3 809a85a: 4a46 ldr r2, [pc, #280] ; (809a974 ) 809a85c: 2165 movs r1, #101 ; 0x65 809a85e: 20aa movs r0, #170 ; 0xaa 809a860: f7b9 f86a bl 8053938 809a864: e005 b.n 809a872 else BSP_LCD_DisplayStringAt(170, 101, "nm", LEFT_MODE); 809a866: 2303 movs r3, #3 809a868: 4a43 ldr r2, [pc, #268] ; (809a978 ) 809a86a: 2165 movs r1, #101 ; 0x65 809a86c: 20aa movs r0, #170 ; 0xaa 809a86e: f7b9 f863 bl 8053938 if(f < 10.0f) BSP_LCD_DisplayStringAt( 160, 101, (char *)FloatToASCII(f, -4), RIGHT_MODE); 809a872: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809a876: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 809a87a: eef4 7ac7 vcmpe.f32 s15, s14 809a87e: eef1 fa10 vmrs APSR_nzcv, fpscr 809a882: d50e bpl.n 809a8a2 809a884: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809a888: f06f 0003 mvn.w r0, #3 809a88c: eeb0 0a67 vmov.f32 s0, s15 809a890: f7cb ff36 bl 8066700 809a894: 4602 mov r2, r0 809a896: 2302 movs r3, #2 809a898: 2165 movs r1, #101 ; 0x65 809a89a: 20a0 movs r0, #160 ; 0xa0 809a89c: f7b9 f84c bl 8053938 809a8a0: e088 b.n 809a9b4 else if(f < 100.0f) BSP_LCD_DisplayStringAt( 160, 101, (char *)FloatToASCII(f, -3), RIGHT_MODE); 809a8a2: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809a8a6: ed9f 7a35 vldr s14, [pc, #212] ; 809a97c 809a8aa: eef4 7ac7 vcmpe.f32 s15, s14 809a8ae: eef1 fa10 vmrs APSR_nzcv, fpscr 809a8b2: d50e bpl.n 809a8d2 809a8b4: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809a8b8: f06f 0002 mvn.w r0, #2 809a8bc: eeb0 0a67 vmov.f32 s0, s15 809a8c0: f7cb ff1e bl 8066700 809a8c4: 4602 mov r2, r0 809a8c6: 2302 movs r3, #2 809a8c8: 2165 movs r1, #101 ; 0x65 809a8ca: 20a0 movs r0, #160 ; 0xa0 809a8cc: f7b9 f834 bl 8053938 809a8d0: e070 b.n 809a9b4 else if(f < 1000.0f) BSP_LCD_DisplayStringAt( 160, 101, (char *)FloatToASCII(f, -2), RIGHT_MODE); 809a8d2: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809a8d6: ed9f 7a22 vldr s14, [pc, #136] ; 809a960 809a8da: eef4 7ac7 vcmpe.f32 s15, s14 809a8de: eef1 fa10 vmrs APSR_nzcv, fpscr 809a8e2: d50e bpl.n 809a902 809a8e4: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809a8e8: f06f 0001 mvn.w r0, #1 809a8ec: eeb0 0a67 vmov.f32 s0, s15 809a8f0: f7cb ff06 bl 8066700 809a8f4: 4602 mov r2, r0 809a8f6: 2302 movs r3, #2 809a8f8: 2165 movs r1, #101 ; 0x65 809a8fa: 20a0 movs r0, #160 ; 0xa0 809a8fc: f7b9 f81c bl 8053938 809a900: e058 b.n 809a9b4 else if(f < 10000.0f) BSP_LCD_DisplayStringAt( 160, 101, (char *)FloatToASCII(f, -1), RIGHT_MODE); 809a902: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809a906: ed9f 7a1e vldr s14, [pc, #120] ; 809a980 809a90a: eef4 7ac7 vcmpe.f32 s15, s14 809a90e: eef1 fa10 vmrs APSR_nzcv, fpscr 809a912: d539 bpl.n 809a988 809a914: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809a918: f04f 30ff mov.w r0, #4294967295 809a91c: eeb0 0a67 vmov.f32 s0, s15 809a920: f7cb feee bl 8066700 809a924: 4602 mov r2, r0 809a926: 2302 movs r3, #2 809a928: 2165 movs r1, #101 ; 0x65 809a92a: 20a0 movs r0, #160 ; 0xa0 809a92c: f7b9 f804 bl 8053938 809a930: e040 b.n 809a9b4 809a932: bf00 nop 809a934: 20021011 .word 0x20021011 809a938: 20023e60 .word 0x20023e60 809a93c: 080d09b0 .word 0x080d09b0 809a940: 080d09b4 .word 0x080d09b4 809a944: 3dcccccd .word 0x3dcccccd 809a948: 080d09b8 .word 0x080d09b8 809a94c: 080d09c0 .word 0x080d09c0 809a950: 080d09c8 .word 0x080d09c8 809a954: 080d09d0 .word 0x080d09d0 809a958: 080d09d8 .word 0x080d09d8 809a95c: 080d09dc .word 0x080d09dc 809a960: 447a0000 .word 0x447a0000 809a964: 080d09e0 .word 0x080d09e0 809a968: 080d09e8 .word 0x080d09e8 809a96c: 080d09f0 .word 0x080d09f0 809a970: 080d09f8 .word 0x080d09f8 809a974: 080d0a00 .word 0x080d0a00 809a978: 080d0a04 .word 0x080d0a04 809a97c: 42c80000 .word 0x42c80000 809a980: 461c4000 .word 0x461c4000 809a984: 47c35000 .word 0x47c35000 else if(f < 100000.0f) BSP_LCD_DisplayStringAt( 160, 101, (char *)FloatToASCII(f, 0), RIGHT_MODE); 809a988: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809a98c: ed1f 7a03 vldr s14, [pc, #-12] ; 809a984 809a990: eef4 7ac7 vcmpe.f32 s15, s14 809a994: eef1 fa10 vmrs APSR_nzcv, fpscr 809a998: d50c bpl.n 809a9b4 809a99a: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809a99e: 2000 movs r0, #0 809a9a0: eeb0 0a67 vmov.f32 s0, s15 809a9a4: f7cb feac bl 8066700 809a9a8: 4602 mov r2, r0 809a9aa: 2302 movs r3, #2 809a9ac: 2165 movs r1, #101 ; 0x65 809a9ae: 20a0 movs r0, #160 ; 0xa0 809a9b0: f7b8 ffc2 bl 8053938 if(((pardata.DIAGN_MASK[CURR_POINT][Us2] & 0x7) != DIAGN_NO) && (operand[Us2] != -1.0f)) 809a9b4: 4bbe ldr r3, [pc, #760] ; (809acb0 ) 809a9b6: 781b ldrb r3, [r3, #0] 809a9b8: b2db uxtb r3, r3 809a9ba: 4abe ldr r2, [pc, #760] ; (809acb4 ) 809a9bc: 009b lsls r3, r3, #2 809a9be: 4413 add r3, r2 809a9c0: f893 323d ldrb.w r3, [r3, #573] ; 0x23d 809a9c4: b2db uxtb r3, r3 809a9c6: f003 0307 and.w r3, r3, #7 809a9ca: 2b00 cmp r3, #0 809a9cc: f000 823a beq.w 809ae44 809a9d0: 4bb9 ldr r3, [pc, #740] ; (809acb8 ) 809a9d2: edd3 7a01 vldr s15, [r3, #4] 809a9d6: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 809a9da: eef4 7a47 vcmp.f32 s15, s14 809a9de: eef1 fa10 vmrs APSR_nzcv, fpscr 809a9e2: f000 822f beq.w 809ae44 if(operand[Us2] < pardata.DIAGN_A[CURR_POINT][Us2]) 809a9e6: 4bb4 ldr r3, [pc, #720] ; (809acb8 ) 809a9e8: ed93 7a01 vldr s14, [r3, #4] 809a9ec: 4bb0 ldr r3, [pc, #704] ; (809acb0 ) 809a9ee: 781b ldrb r3, [r3, #0] 809a9f0: b2db uxtb r3, r3 809a9f2: 4ab0 ldr r2, [pc, #704] ; (809acb4 ) 809a9f4: 011b lsls r3, r3, #4 809a9f6: 4413 add r3, r2 809a9f8: f503 7378 add.w r3, r3, #992 ; 0x3e0 809a9fc: edd3 7a00 vldr s15, [r3] 809aa00: eeb4 7ae7 vcmpe.f32 s14, s15 809aa04: eef1 fa10 vmrs APSR_nzcv, fpscr 809aa08: d51d bpl.n 809aa46 if(operand[Us2] < pardata.DIAGN_W[CURR_POINT][Us2]) 809aa0a: 4bab ldr r3, [pc, #684] ; (809acb8 ) 809aa0c: ed93 7a01 vldr s14, [r3, #4] 809aa10: 4ba7 ldr r3, [pc, #668] ; (809acb0 ) 809aa12: 781b ldrb r3, [r3, #0] 809aa14: b2db uxtb r3, r3 809aa16: 4aa7 ldr r2, [pc, #668] ; (809acb4 ) 809aa18: 011b lsls r3, r3, #4 809aa1a: 4413 add r3, r2 809aa1c: f503 7358 add.w r3, r3, #864 ; 0x360 809aa20: edd3 7a00 vldr s15, [r3] 809aa24: eeb4 7ae7 vcmpe.f32 s14, s15 809aa28: eef1 fa10 vmrs APSR_nzcv, fpscr 809aa2c: d505 bpl.n 809aa3a LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 809aa2e: 49a3 ldr r1, [pc, #652] ; (809acbc ) 809aa30: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 809aa34: f7b8 feba bl 80537ac 809aa38: e009 b.n 809aa4e else LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_BLACK); 809aa3a: 49a0 ldr r1, [pc, #640] ; (809acbc ) 809aa3c: f06f 00ff mvn.w r0, #255 ; 0xff 809aa40: f7b8 feb4 bl 80537ac 809aa44: e003 b.n 809aa4e LCD_SetColors(LCD_COLOR_RED, LCD_COLOR_BLACK); 809aa46: 499d ldr r1, [pc, #628] ; (809acbc ) 809aa48: 489d ldr r0, [pc, #628] ; (809acc0 ) 809aa4a: f7b8 feaf bl 80537ac f = operand[Us2]; 809aa4e: 4b9a ldr r3, [pc, #616] ; (809acb8 ) 809aa50: 685b ldr r3, [r3, #4] 809aa52: 647b str r3, [r7, #68] ; 0x44 if(((pardata.DIAGN_MASK[CURR_POINT][Us2] >> 3) & 0x1f) >= DIAGN_PEAK_FACTOR) 809aa54: 4b96 ldr r3, [pc, #600] ; (809acb0 ) 809aa56: 781b ldrb r3, [r3, #0] 809aa58: b2db uxtb r3, r3 809aa5a: 4a96 ldr r2, [pc, #600] ; (809acb4 ) 809aa5c: 009b lsls r3, r3, #2 809aa5e: 4413 add r3, r2 809aa60: f893 323d ldrb.w r3, [r3, #573] ; 0x23d 809aa64: b2db uxtb r3, r3 809aa66: 08db lsrs r3, r3, #3 809aa68: b2db uxtb r3, r3 809aa6a: f003 031f and.w r3, r3, #31 809aa6e: 2b07 cmp r3, #7 809aa70: f300 8172 bgt.w 809ad58 if(f >= 1000.0f) 809aa74: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809aa78: ed9f 7a92 vldr s14, [pc, #584] ; 809acc4 809aa7c: eef4 7ac7 vcmpe.f32 s15, s14 809aa80: eef1 fa10 vmrs APSR_nzcv, fpscr 809aa84: db68 blt.n 809ab58 f *= 0.001f; 809aa86: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809aa8a: ed9f 7a8f vldr s14, [pc, #572] ; 809acc8 809aa8e: ee67 7a87 vmul.f32 s15, s15, s14 809aa92: edc7 7a11 vstr s15, [r7, #68] ; 0x44 if((pardata.DIAGN_MASK[CURR_POINT][Us2] & 0x7) == DIAGN_ACC) 809aa96: 4b86 ldr r3, [pc, #536] ; (809acb0 ) 809aa98: 781b ldrb r3, [r3, #0] 809aa9a: b2db uxtb r3, r3 809aa9c: 4a85 ldr r2, [pc, #532] ; (809acb4 ) 809aa9e: 009b lsls r3, r3, #2 809aaa0: 4413 add r3, r2 809aaa2: f893 323d ldrb.w r3, [r3, #573] ; 0x23d 809aaa6: b2db uxtb r3, r3 809aaa8: f003 0307 and.w r3, r3, #7 809aaac: 2b01 cmp r3, #1 809aaae: d112 bne.n 809aad6 if(pardata.LANG == RUS) 809aab0: 4b80 ldr r3, [pc, #512] ; (809acb4 ) 809aab2: 7b1b ldrb r3, [r3, #12] 809aab4: b2db uxtb r3, r3 809aab6: 2b00 cmp r3, #0 809aab8: d106 bne.n 809aac8 BSP_LCD_DisplayStringAt(170, 137, "kì/c^", LEFT_MODE); 809aaba: 2303 movs r3, #3 809aabc: 4a83 ldr r2, [pc, #524] ; (809accc ) 809aabe: 2189 movs r1, #137 ; 0x89 809aac0: 20aa movs r0, #170 ; 0xaa 809aac2: f7b8 ff39 bl 8053938 809aac6: e147 b.n 809ad58 else BSP_LCD_DisplayStringAt(170, 137, "km/s^", LEFT_MODE); 809aac8: 2303 movs r3, #3 809aaca: 4a81 ldr r2, [pc, #516] ; (809acd0 ) 809aacc: 2189 movs r1, #137 ; 0x89 809aace: 20aa movs r0, #170 ; 0xaa 809aad0: f7b8 ff32 bl 8053938 809aad4: e140 b.n 809ad58 if((pardata.DIAGN_MASK[CURR_POINT][Us2] & 0x7) == DIAGN_VEL) 809aad6: 4b76 ldr r3, [pc, #472] ; (809acb0 ) 809aad8: 781b ldrb r3, [r3, #0] 809aada: b2db uxtb r3, r3 809aadc: 4a75 ldr r2, [pc, #468] ; (809acb4 ) 809aade: 009b lsls r3, r3, #2 809aae0: 4413 add r3, r2 809aae2: f893 323d ldrb.w r3, [r3, #573] ; 0x23d 809aae6: b2db uxtb r3, r3 809aae8: f003 0307 and.w r3, r3, #7 809aaec: 2b02 cmp r3, #2 809aaee: d112 bne.n 809ab16 if(pardata.LANG == RUS) 809aaf0: 4b70 ldr r3, [pc, #448] ; (809acb4 ) 809aaf2: 7b1b ldrb r3, [r3, #12] 809aaf4: b2db uxtb r3, r3 809aaf6: 2b00 cmp r3, #0 809aaf8: d106 bne.n 809ab08 BSP_LCD_DisplayStringAt(170, 137, "ì/c", LEFT_MODE); 809aafa: 2303 movs r3, #3 809aafc: 4a75 ldr r2, [pc, #468] ; (809acd4 ) 809aafe: 2189 movs r1, #137 ; 0x89 809ab00: 20aa movs r0, #170 ; 0xaa 809ab02: f7b8 ff19 bl 8053938 809ab06: e127 b.n 809ad58 else BSP_LCD_DisplayStringAt(170, 137, "m/s", LEFT_MODE); 809ab08: 2303 movs r3, #3 809ab0a: 4a73 ldr r2, [pc, #460] ; (809acd8 ) 809ab0c: 2189 movs r1, #137 ; 0x89 809ab0e: 20aa movs r0, #170 ; 0xaa 809ab10: f7b8 ff12 bl 8053938 809ab14: e120 b.n 809ad58 if((pardata.DIAGN_MASK[CURR_POINT][Us2] & 0x7) == DIAGN_DIS) 809ab16: 4b66 ldr r3, [pc, #408] ; (809acb0 ) 809ab18: 781b ldrb r3, [r3, #0] 809ab1a: b2db uxtb r3, r3 809ab1c: 4a65 ldr r2, [pc, #404] ; (809acb4 ) 809ab1e: 009b lsls r3, r3, #2 809ab20: 4413 add r3, r2 809ab22: f893 323d ldrb.w r3, [r3, #573] ; 0x23d 809ab26: b2db uxtb r3, r3 809ab28: f003 0307 and.w r3, r3, #7 809ab2c: 2b04 cmp r3, #4 809ab2e: f040 8113 bne.w 809ad58 if(pardata.LANG == RUS) 809ab32: 4b60 ldr r3, [pc, #384] ; (809acb4 ) 809ab34: 7b1b ldrb r3, [r3, #12] 809ab36: b2db uxtb r3, r3 809ab38: 2b00 cmp r3, #0 809ab3a: d106 bne.n 809ab4a BSP_LCD_DisplayStringAt(170, 137, "ìì", LEFT_MODE); 809ab3c: 2303 movs r3, #3 809ab3e: 4a67 ldr r2, [pc, #412] ; (809acdc ) 809ab40: 2189 movs r1, #137 ; 0x89 809ab42: 20aa movs r0, #170 ; 0xaa 809ab44: f7b8 fef8 bl 8053938 809ab48: e106 b.n 809ad58 else BSP_LCD_DisplayStringAt(170, 137, "mm", LEFT_MODE); 809ab4a: 2303 movs r3, #3 809ab4c: 4a64 ldr r2, [pc, #400] ; (809ace0 ) 809ab4e: 2189 movs r1, #137 ; 0x89 809ab50: 20aa movs r0, #170 ; 0xaa 809ab52: f7b8 fef1 bl 8053938 809ab56: e0ff b.n 809ad58 if(f >= 0.1f) 809ab58: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809ab5c: ed9f 7a61 vldr s14, [pc, #388] ; 809ace4 809ab60: eef4 7ac7 vcmpe.f32 s15, s14 809ab64: eef1 fa10 vmrs APSR_nzcv, fpscr 809ab68: db60 blt.n 809ac2c if((pardata.DIAGN_MASK[CURR_POINT][Us2] & 0x7) == DIAGN_ACC) 809ab6a: 4b51 ldr r3, [pc, #324] ; (809acb0 ) 809ab6c: 781b ldrb r3, [r3, #0] 809ab6e: b2db uxtb r3, r3 809ab70: 4a50 ldr r2, [pc, #320] ; (809acb4 ) 809ab72: 009b lsls r3, r3, #2 809ab74: 4413 add r3, r2 809ab76: f893 323d ldrb.w r3, [r3, #573] ; 0x23d 809ab7a: b2db uxtb r3, r3 809ab7c: f003 0307 and.w r3, r3, #7 809ab80: 2b01 cmp r3, #1 809ab82: d112 bne.n 809abaa if(pardata.LANG == RUS) 809ab84: 4b4b ldr r3, [pc, #300] ; (809acb4 ) 809ab86: 7b1b ldrb r3, [r3, #12] 809ab88: b2db uxtb r3, r3 809ab8a: 2b00 cmp r3, #0 809ab8c: d106 bne.n 809ab9c BSP_LCD_DisplayStringAt(170, 137, "ì/c^", LEFT_MODE); 809ab8e: 2303 movs r3, #3 809ab90: 4a55 ldr r2, [pc, #340] ; (809ace8 ) 809ab92: 2189 movs r1, #137 ; 0x89 809ab94: 20aa movs r0, #170 ; 0xaa 809ab96: f7b8 fecf bl 8053938 809ab9a: e0dd b.n 809ad58 else BSP_LCD_DisplayStringAt(170, 137, "m/s^", LEFT_MODE); 809ab9c: 2303 movs r3, #3 809ab9e: 4a53 ldr r2, [pc, #332] ; (809acec ) 809aba0: 2189 movs r1, #137 ; 0x89 809aba2: 20aa movs r0, #170 ; 0xaa 809aba4: f7b8 fec8 bl 8053938 809aba8: e0d6 b.n 809ad58 else if((pardata.DIAGN_MASK[CURR_POINT][Us2] & 0x7) == DIAGN_VEL) 809abaa: 4b41 ldr r3, [pc, #260] ; (809acb0 ) 809abac: 781b ldrb r3, [r3, #0] 809abae: b2db uxtb r3, r3 809abb0: 4a40 ldr r2, [pc, #256] ; (809acb4 ) 809abb2: 009b lsls r3, r3, #2 809abb4: 4413 add r3, r2 809abb6: f893 323d ldrb.w r3, [r3, #573] ; 0x23d 809abba: b2db uxtb r3, r3 809abbc: f003 0307 and.w r3, r3, #7 809abc0: 2b02 cmp r3, #2 809abc2: d112 bne.n 809abea if(pardata.LANG == RUS) 809abc4: 4b3b ldr r3, [pc, #236] ; (809acb4 ) 809abc6: 7b1b ldrb r3, [r3, #12] 809abc8: b2db uxtb r3, r3 809abca: 2b00 cmp r3, #0 809abcc: d106 bne.n 809abdc BSP_LCD_DisplayStringAt(170, 137, "ìì/c", LEFT_MODE); 809abce: 2303 movs r3, #3 809abd0: 4a47 ldr r2, [pc, #284] ; (809acf0 ) 809abd2: 2189 movs r1, #137 ; 0x89 809abd4: 20aa movs r0, #170 ; 0xaa 809abd6: f7b8 feaf bl 8053938 809abda: e0bd b.n 809ad58 else BSP_LCD_DisplayStringAt(170, 137, "mm/s", LEFT_MODE); 809abdc: 2303 movs r3, #3 809abde: 4a45 ldr r2, [pc, #276] ; (809acf4 ) 809abe0: 2189 movs r1, #137 ; 0x89 809abe2: 20aa movs r0, #170 ; 0xaa 809abe4: f7b8 fea8 bl 8053938 809abe8: e0b6 b.n 809ad58 else if((pardata.DIAGN_MASK[CURR_POINT][Us2] & 0x7) == DIAGN_DIS) 809abea: 4b31 ldr r3, [pc, #196] ; (809acb0 ) 809abec: 781b ldrb r3, [r3, #0] 809abee: b2db uxtb r3, r3 809abf0: 4a30 ldr r2, [pc, #192] ; (809acb4 ) 809abf2: 009b lsls r3, r3, #2 809abf4: 4413 add r3, r2 809abf6: f893 323d ldrb.w r3, [r3, #573] ; 0x23d 809abfa: b2db uxtb r3, r3 809abfc: f003 0307 and.w r3, r3, #7 809ac00: 2b04 cmp r3, #4 809ac02: f040 80a9 bne.w 809ad58 if(pardata.LANG == RUS) 809ac06: 4b2b ldr r3, [pc, #172] ; (809acb4 ) 809ac08: 7b1b ldrb r3, [r3, #12] 809ac0a: b2db uxtb r3, r3 809ac0c: 2b00 cmp r3, #0 809ac0e: d106 bne.n 809ac1e BSP_LCD_DisplayStringAt(170, 137, "ìkì", LEFT_MODE); 809ac10: 2303 movs r3, #3 809ac12: 4a39 ldr r2, [pc, #228] ; (809acf8 ) 809ac14: 2189 movs r1, #137 ; 0x89 809ac16: 20aa movs r0, #170 ; 0xaa 809ac18: f7b8 fe8e bl 8053938 809ac1c: e09c b.n 809ad58 else BSP_LCD_DisplayStringAt(170, 137, "um", LEFT_MODE); 809ac1e: 2303 movs r3, #3 809ac20: 4a36 ldr r2, [pc, #216] ; (809acfc ) 809ac22: 2189 movs r1, #137 ; 0x89 809ac24: 20aa movs r0, #170 ; 0xaa 809ac26: f7b8 fe87 bl 8053938 809ac2a: e095 b.n 809ad58 f *= 1000.0f; 809ac2c: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809ac30: ed9f 7a24 vldr s14, [pc, #144] ; 809acc4 809ac34: ee67 7a87 vmul.f32 s15, s15, s14 809ac38: edc7 7a11 vstr s15, [r7, #68] ; 0x44 if((pardata.DIAGN_MASK[CURR_POINT][Us2] & 0x7) == DIAGN_ACC) 809ac3c: 4b1c ldr r3, [pc, #112] ; (809acb0 ) 809ac3e: 781b ldrb r3, [r3, #0] 809ac40: b2db uxtb r3, r3 809ac42: 4a1c ldr r2, [pc, #112] ; (809acb4 ) 809ac44: 009b lsls r3, r3, #2 809ac46: 4413 add r3, r2 809ac48: f893 323d ldrb.w r3, [r3, #573] ; 0x23d 809ac4c: b2db uxtb r3, r3 809ac4e: f003 0307 and.w r3, r3, #7 809ac52: 2b01 cmp r3, #1 809ac54: d112 bne.n 809ac7c if(pardata.LANG == RUS) 809ac56: 4b17 ldr r3, [pc, #92] ; (809acb4 ) 809ac58: 7b1b ldrb r3, [r3, #12] 809ac5a: b2db uxtb r3, r3 809ac5c: 2b00 cmp r3, #0 809ac5e: d106 bne.n 809ac6e BSP_LCD_DisplayStringAt(170, 137, "ìì/c^", LEFT_MODE); 809ac60: 2303 movs r3, #3 809ac62: 4a27 ldr r2, [pc, #156] ; (809ad00 ) 809ac64: 2189 movs r1, #137 ; 0x89 809ac66: 20aa movs r0, #170 ; 0xaa 809ac68: f7b8 fe66 bl 8053938 809ac6c: e074 b.n 809ad58 else BSP_LCD_DisplayStringAt(170, 137, "mm/s^", LEFT_MODE); 809ac6e: 2303 movs r3, #3 809ac70: 4a24 ldr r2, [pc, #144] ; (809ad04 ) 809ac72: 2189 movs r1, #137 ; 0x89 809ac74: 20aa movs r0, #170 ; 0xaa 809ac76: f7b8 fe5f bl 8053938 809ac7a: e06d b.n 809ad58 else if((pardata.DIAGN_MASK[CURR_POINT][Us2] & 0x7) == DIAGN_VEL) 809ac7c: 4b0c ldr r3, [pc, #48] ; (809acb0 ) 809ac7e: 781b ldrb r3, [r3, #0] 809ac80: b2db uxtb r3, r3 809ac82: 4a0c ldr r2, [pc, #48] ; (809acb4 ) 809ac84: 009b lsls r3, r3, #2 809ac86: 4413 add r3, r2 809ac88: f893 323d ldrb.w r3, [r3, #573] ; 0x23d 809ac8c: b2db uxtb r3, r3 809ac8e: f003 0307 and.w r3, r3, #7 809ac92: 2b02 cmp r3, #2 809ac94: d141 bne.n 809ad1a if(pardata.LANG == RUS) 809ac96: 4b07 ldr r3, [pc, #28] ; (809acb4 ) 809ac98: 7b1b ldrb r3, [r3, #12] 809ac9a: b2db uxtb r3, r3 809ac9c: 2b00 cmp r3, #0 809ac9e: d135 bne.n 809ad0c BSP_LCD_DisplayStringAt(170, 137, "ìêì/c", LEFT_MODE); 809aca0: 2303 movs r3, #3 809aca2: 4a19 ldr r2, [pc, #100] ; (809ad08 ) 809aca4: 2189 movs r1, #137 ; 0x89 809aca6: 20aa movs r0, #170 ; 0xaa 809aca8: f7b8 fe46 bl 8053938 809acac: e054 b.n 809ad58 809acae: bf00 nop 809acb0: 20021011 .word 0x20021011 809acb4: 20023e60 .word 0x20023e60 809acb8: 200268d8 .word 0x200268d8 809acbc: ff0a0f1f .word 0xff0a0f1f 809acc0: ffff0000 .word 0xffff0000 809acc4: 447a0000 .word 0x447a0000 809acc8: 3a83126f .word 0x3a83126f 809accc: 080d0998 .word 0x080d0998 809acd0: 080d09a0 .word 0x080d09a0 809acd4: 080d09a8 .word 0x080d09a8 809acd8: 080d09ac .word 0x080d09ac 809acdc: 080d09b0 .word 0x080d09b0 809ace0: 080d09b4 .word 0x080d09b4 809ace4: 3dcccccd .word 0x3dcccccd 809ace8: 080d09b8 .word 0x080d09b8 809acec: 080d09c0 .word 0x080d09c0 809acf0: 080d09c8 .word 0x080d09c8 809acf4: 080d09d0 .word 0x080d09d0 809acf8: 080d09d8 .word 0x080d09d8 809acfc: 080d09dc .word 0x080d09dc 809ad00: 080d09e0 .word 0x080d09e0 809ad04: 080d09e8 .word 0x080d09e8 809ad08: 080d09f0 .word 0x080d09f0 else BSP_LCD_DisplayStringAt(170, 137, "mkm/s", LEFT_MODE); 809ad0c: 2303 movs r3, #3 809ad0e: 4acb ldr r2, [pc, #812] ; (809b03c ) 809ad10: 2189 movs r1, #137 ; 0x89 809ad12: 20aa movs r0, #170 ; 0xaa 809ad14: f7b8 fe10 bl 8053938 809ad18: e01e b.n 809ad58 else if((pardata.DIAGN_MASK[CURR_POINT][Us2] & 0x7) == DIAGN_DIS) 809ad1a: 4bc9 ldr r3, [pc, #804] ; (809b040 ) 809ad1c: 781b ldrb r3, [r3, #0] 809ad1e: b2db uxtb r3, r3 809ad20: 4ac8 ldr r2, [pc, #800] ; (809b044 ) 809ad22: 009b lsls r3, r3, #2 809ad24: 4413 add r3, r2 809ad26: f893 323d ldrb.w r3, [r3, #573] ; 0x23d 809ad2a: b2db uxtb r3, r3 809ad2c: f003 0307 and.w r3, r3, #7 809ad30: 2b04 cmp r3, #4 809ad32: d111 bne.n 809ad58 if(pardata.LANG == RUS) 809ad34: 4bc3 ldr r3, [pc, #780] ; (809b044 ) 809ad36: 7b1b ldrb r3, [r3, #12] 809ad38: b2db uxtb r3, r3 809ad3a: 2b00 cmp r3, #0 809ad3c: d106 bne.n 809ad4c BSP_LCD_DisplayStringAt(170, 137, "íì", LEFT_MODE); 809ad3e: 2303 movs r3, #3 809ad40: 4ac1 ldr r2, [pc, #772] ; (809b048 ) 809ad42: 2189 movs r1, #137 ; 0x89 809ad44: 20aa movs r0, #170 ; 0xaa 809ad46: f7b8 fdf7 bl 8053938 809ad4a: e005 b.n 809ad58 else BSP_LCD_DisplayStringAt(170, 137, "nm", LEFT_MODE); 809ad4c: 2303 movs r3, #3 809ad4e: 4abf ldr r2, [pc, #764] ; (809b04c ) 809ad50: 2189 movs r1, #137 ; 0x89 809ad52: 20aa movs r0, #170 ; 0xaa 809ad54: f7b8 fdf0 bl 8053938 if(f < 10.0f) BSP_LCD_DisplayStringAt(160, 137, (char *)FloatToASCII(f, -4), RIGHT_MODE); 809ad58: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809ad5c: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 809ad60: eef4 7ac7 vcmpe.f32 s15, s14 809ad64: eef1 fa10 vmrs APSR_nzcv, fpscr 809ad68: d50e bpl.n 809ad88 809ad6a: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809ad6e: f06f 0003 mvn.w r0, #3 809ad72: eeb0 0a67 vmov.f32 s0, s15 809ad76: f7cb fcc3 bl 8066700 809ad7a: 4602 mov r2, r0 809ad7c: 2302 movs r3, #2 809ad7e: 2189 movs r1, #137 ; 0x89 809ad80: 20a0 movs r0, #160 ; 0xa0 809ad82: f7b8 fdd9 bl 8053938 809ad86: e05d b.n 809ae44 else if(f < 100.0f) BSP_LCD_DisplayStringAt(160, 137, (char *)FloatToASCII(f, -3), RIGHT_MODE); 809ad88: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809ad8c: ed9f 7ab0 vldr s14, [pc, #704] ; 809b050 809ad90: eef4 7ac7 vcmpe.f32 s15, s14 809ad94: eef1 fa10 vmrs APSR_nzcv, fpscr 809ad98: d50e bpl.n 809adb8 809ad9a: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809ad9e: f06f 0002 mvn.w r0, #2 809ada2: eeb0 0a67 vmov.f32 s0, s15 809ada6: f7cb fcab bl 8066700 809adaa: 4602 mov r2, r0 809adac: 2302 movs r3, #2 809adae: 2189 movs r1, #137 ; 0x89 809adb0: 20a0 movs r0, #160 ; 0xa0 809adb2: f7b8 fdc1 bl 8053938 809adb6: e045 b.n 809ae44 else if(f < 1000.0f) BSP_LCD_DisplayStringAt(160, 137, (char *)FloatToASCII(f, -2), RIGHT_MODE); 809adb8: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809adbc: ed9f 7aa5 vldr s14, [pc, #660] ; 809b054 809adc0: eef4 7ac7 vcmpe.f32 s15, s14 809adc4: eef1 fa10 vmrs APSR_nzcv, fpscr 809adc8: d50e bpl.n 809ade8 809adca: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809adce: f06f 0001 mvn.w r0, #1 809add2: eeb0 0a67 vmov.f32 s0, s15 809add6: f7cb fc93 bl 8066700 809adda: 4602 mov r2, r0 809addc: 2302 movs r3, #2 809adde: 2189 movs r1, #137 ; 0x89 809ade0: 20a0 movs r0, #160 ; 0xa0 809ade2: f7b8 fda9 bl 8053938 809ade6: e02d b.n 809ae44 else if(f < 10000.0f) BSP_LCD_DisplayStringAt(160, 137, (char *)FloatToASCII(f, -1), RIGHT_MODE); 809ade8: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809adec: ed9f 7a9a vldr s14, [pc, #616] ; 809b058 809adf0: eef4 7ac7 vcmpe.f32 s15, s14 809adf4: eef1 fa10 vmrs APSR_nzcv, fpscr 809adf8: d50e bpl.n 809ae18 809adfa: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809adfe: f04f 30ff mov.w r0, #4294967295 809ae02: eeb0 0a67 vmov.f32 s0, s15 809ae06: f7cb fc7b bl 8066700 809ae0a: 4602 mov r2, r0 809ae0c: 2302 movs r3, #2 809ae0e: 2189 movs r1, #137 ; 0x89 809ae10: 20a0 movs r0, #160 ; 0xa0 809ae12: f7b8 fd91 bl 8053938 809ae16: e015 b.n 809ae44 else if(f < 100000.0f) BSP_LCD_DisplayStringAt(160, 137, (char *)FloatToASCII(f, 0), RIGHT_MODE); 809ae18: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809ae1c: ed9f 7a8f vldr s14, [pc, #572] ; 809b05c 809ae20: eef4 7ac7 vcmpe.f32 s15, s14 809ae24: eef1 fa10 vmrs APSR_nzcv, fpscr 809ae28: d50c bpl.n 809ae44 809ae2a: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809ae2e: 2000 movs r0, #0 809ae30: eeb0 0a67 vmov.f32 s0, s15 809ae34: f7cb fc64 bl 8066700 809ae38: 4602 mov r2, r0 809ae3a: 2302 movs r3, #2 809ae3c: 2189 movs r1, #137 ; 0x89 809ae3e: 20a0 movs r0, #160 ; 0xa0 809ae40: f7b8 fd7a bl 8053938 if(((pardata.DIAGN_MASK[CURR_POINT][Us3] & 0x7) != DIAGN_NO) && (operand[Us3] != -1.0f)) 809ae44: 4b7e ldr r3, [pc, #504] ; (809b040 ) 809ae46: 781b ldrb r3, [r3, #0] 809ae48: b2db uxtb r3, r3 809ae4a: 4a7e ldr r2, [pc, #504] ; (809b044 ) 809ae4c: 009b lsls r3, r3, #2 809ae4e: 4413 add r3, r2 809ae50: f893 323e ldrb.w r3, [r3, #574] ; 0x23e 809ae54: b2db uxtb r3, r3 809ae56: f003 0307 and.w r3, r3, #7 809ae5a: 2b00 cmp r3, #0 809ae5c: f000 8237 beq.w 809b2ce 809ae60: 4b7f ldr r3, [pc, #508] ; (809b060 ) 809ae62: edd3 7a02 vldr s15, [r3, #8] 809ae66: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 809ae6a: eef4 7a47 vcmp.f32 s15, s14 809ae6e: eef1 fa10 vmrs APSR_nzcv, fpscr 809ae72: f000 822c beq.w 809b2ce if(operand[Us3] < pardata.DIAGN_A[CURR_POINT][Us3]) 809ae76: 4b7a ldr r3, [pc, #488] ; (809b060 ) 809ae78: ed93 7a02 vldr s14, [r3, #8] 809ae7c: 4b70 ldr r3, [pc, #448] ; (809b040 ) 809ae7e: 781b ldrb r3, [r3, #0] 809ae80: b2db uxtb r3, r3 809ae82: 4a70 ldr r2, [pc, #448] ; (809b044 ) 809ae84: 333e adds r3, #62 ; 0x3e 809ae86: 011b lsls r3, r3, #4 809ae88: 4413 add r3, r2 809ae8a: 3304 adds r3, #4 809ae8c: edd3 7a00 vldr s15, [r3] 809ae90: eeb4 7ae7 vcmpe.f32 s14, s15 809ae94: eef1 fa10 vmrs APSR_nzcv, fpscr 809ae98: d51d bpl.n 809aed6 if(operand[Us3] < pardata.DIAGN_W[CURR_POINT][Us3]) 809ae9a: 4b71 ldr r3, [pc, #452] ; (809b060 ) 809ae9c: ed93 7a02 vldr s14, [r3, #8] 809aea0: 4b67 ldr r3, [pc, #412] ; (809b040 ) 809aea2: 781b ldrb r3, [r3, #0] 809aea4: b2db uxtb r3, r3 809aea6: 4a67 ldr r2, [pc, #412] ; (809b044 ) 809aea8: 3336 adds r3, #54 ; 0x36 809aeaa: 011b lsls r3, r3, #4 809aeac: 4413 add r3, r2 809aeae: 3304 adds r3, #4 809aeb0: edd3 7a00 vldr s15, [r3] 809aeb4: eeb4 7ae7 vcmpe.f32 s14, s15 809aeb8: eef1 fa10 vmrs APSR_nzcv, fpscr 809aebc: d505 bpl.n 809aeca LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 809aebe: 4969 ldr r1, [pc, #420] ; (809b064 ) 809aec0: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 809aec4: f7b8 fc72 bl 80537ac 809aec8: e009 b.n 809aede else LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_BLACK); 809aeca: 4966 ldr r1, [pc, #408] ; (809b064 ) 809aecc: f06f 00ff mvn.w r0, #255 ; 0xff 809aed0: f7b8 fc6c bl 80537ac 809aed4: e003 b.n 809aede LCD_SetColors(LCD_COLOR_RED, LCD_COLOR_BLACK); 809aed6: 4963 ldr r1, [pc, #396] ; (809b064 ) 809aed8: 4863 ldr r0, [pc, #396] ; (809b068 ) 809aeda: f7b8 fc67 bl 80537ac f = operand[Us3]; 809aede: 4b60 ldr r3, [pc, #384] ; (809b060 ) 809aee0: 689b ldr r3, [r3, #8] 809aee2: 647b str r3, [r7, #68] ; 0x44 if(((pardata.DIAGN_MASK[CURR_POINT][Us3] >> 3) & 0x1f) >= DIAGN_PEAK_FACTOR) 809aee4: 4b56 ldr r3, [pc, #344] ; (809b040 ) 809aee6: 781b ldrb r3, [r3, #0] 809aee8: b2db uxtb r3, r3 809aeea: 4a56 ldr r2, [pc, #344] ; (809b044 ) 809aeec: 009b lsls r3, r3, #2 809aeee: 4413 add r3, r2 809aef0: f893 323e ldrb.w r3, [r3, #574] ; 0x23e 809aef4: b2db uxtb r3, r3 809aef6: 08db lsrs r3, r3, #3 809aef8: b2db uxtb r3, r3 809aefa: f003 031f and.w r3, r3, #31 809aefe: 2b07 cmp r3, #7 809af00: f300 816f bgt.w 809b1e2 if(f >= 1000.0f) 809af04: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809af08: ed9f 7a52 vldr s14, [pc, #328] ; 809b054 809af0c: eef4 7ac7 vcmpe.f32 s15, s14 809af10: eef1 fa10 vmrs APSR_nzcv, fpscr 809af14: db68 blt.n 809afe8 f *= 0.001f; 809af16: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809af1a: ed9f 7a54 vldr s14, [pc, #336] ; 809b06c 809af1e: ee67 7a87 vmul.f32 s15, s15, s14 809af22: edc7 7a11 vstr s15, [r7, #68] ; 0x44 if((pardata.DIAGN_MASK[CURR_POINT][Us3] & 0x7) == DIAGN_ACC) 809af26: 4b46 ldr r3, [pc, #280] ; (809b040 ) 809af28: 781b ldrb r3, [r3, #0] 809af2a: b2db uxtb r3, r3 809af2c: 4a45 ldr r2, [pc, #276] ; (809b044 ) 809af2e: 009b lsls r3, r3, #2 809af30: 4413 add r3, r2 809af32: f893 323e ldrb.w r3, [r3, #574] ; 0x23e 809af36: b2db uxtb r3, r3 809af38: f003 0307 and.w r3, r3, #7 809af3c: 2b01 cmp r3, #1 809af3e: d112 bne.n 809af66 if(pardata.LANG == RUS) 809af40: 4b40 ldr r3, [pc, #256] ; (809b044 ) 809af42: 7b1b ldrb r3, [r3, #12] 809af44: b2db uxtb r3, r3 809af46: 2b00 cmp r3, #0 809af48: d106 bne.n 809af58 BSP_LCD_DisplayStringAt(170, 173, "kì/c^", LEFT_MODE); 809af4a: 2303 movs r3, #3 809af4c: 4a48 ldr r2, [pc, #288] ; (809b070 ) 809af4e: 21ad movs r1, #173 ; 0xad 809af50: 20aa movs r0, #170 ; 0xaa 809af52: f7b8 fcf1 bl 8053938 809af56: e144 b.n 809b1e2 else BSP_LCD_DisplayStringAt(170, 173, "km/s^", LEFT_MODE); 809af58: 2303 movs r3, #3 809af5a: 4a46 ldr r2, [pc, #280] ; (809b074 ) 809af5c: 21ad movs r1, #173 ; 0xad 809af5e: 20aa movs r0, #170 ; 0xaa 809af60: f7b8 fcea bl 8053938 809af64: e13d b.n 809b1e2 if((pardata.DIAGN_MASK[CURR_POINT][Us3] & 0x7) == DIAGN_VEL) 809af66: 4b36 ldr r3, [pc, #216] ; (809b040 ) 809af68: 781b ldrb r3, [r3, #0] 809af6a: b2db uxtb r3, r3 809af6c: 4a35 ldr r2, [pc, #212] ; (809b044 ) 809af6e: 009b lsls r3, r3, #2 809af70: 4413 add r3, r2 809af72: f893 323e ldrb.w r3, [r3, #574] ; 0x23e 809af76: b2db uxtb r3, r3 809af78: f003 0307 and.w r3, r3, #7 809af7c: 2b02 cmp r3, #2 809af7e: d112 bne.n 809afa6 if(pardata.LANG == RUS) 809af80: 4b30 ldr r3, [pc, #192] ; (809b044 ) 809af82: 7b1b ldrb r3, [r3, #12] 809af84: b2db uxtb r3, r3 809af86: 2b00 cmp r3, #0 809af88: d106 bne.n 809af98 BSP_LCD_DisplayStringAt(170, 173, "ì/c", LEFT_MODE); 809af8a: 2303 movs r3, #3 809af8c: 4a3a ldr r2, [pc, #232] ; (809b078 ) 809af8e: 21ad movs r1, #173 ; 0xad 809af90: 20aa movs r0, #170 ; 0xaa 809af92: f7b8 fcd1 bl 8053938 809af96: e124 b.n 809b1e2 else BSP_LCD_DisplayStringAt(170, 173, "m/s", LEFT_MODE); 809af98: 2303 movs r3, #3 809af9a: 4a38 ldr r2, [pc, #224] ; (809b07c ) 809af9c: 21ad movs r1, #173 ; 0xad 809af9e: 20aa movs r0, #170 ; 0xaa 809afa0: f7b8 fcca bl 8053938 809afa4: e11d b.n 809b1e2 if((pardata.DIAGN_MASK[CURR_POINT][Us3] & 0x7) == DIAGN_DIS) 809afa6: 4b26 ldr r3, [pc, #152] ; (809b040 ) 809afa8: 781b ldrb r3, [r3, #0] 809afaa: b2db uxtb r3, r3 809afac: 4a25 ldr r2, [pc, #148] ; (809b044 ) 809afae: 009b lsls r3, r3, #2 809afb0: 4413 add r3, r2 809afb2: f893 323e ldrb.w r3, [r3, #574] ; 0x23e 809afb6: b2db uxtb r3, r3 809afb8: f003 0307 and.w r3, r3, #7 809afbc: 2b04 cmp r3, #4 809afbe: f040 8110 bne.w 809b1e2 if(pardata.LANG == RUS) 809afc2: 4b20 ldr r3, [pc, #128] ; (809b044 ) 809afc4: 7b1b ldrb r3, [r3, #12] 809afc6: b2db uxtb r3, r3 809afc8: 2b00 cmp r3, #0 809afca: d106 bne.n 809afda BSP_LCD_DisplayStringAt(170, 173, "ìì", LEFT_MODE); 809afcc: 2303 movs r3, #3 809afce: 4a2c ldr r2, [pc, #176] ; (809b080 ) 809afd0: 21ad movs r1, #173 ; 0xad 809afd2: 20aa movs r0, #170 ; 0xaa 809afd4: f7b8 fcb0 bl 8053938 809afd8: e103 b.n 809b1e2 else BSP_LCD_DisplayStringAt(170, 173, "mm", LEFT_MODE); 809afda: 2303 movs r3, #3 809afdc: 4a29 ldr r2, [pc, #164] ; (809b084 ) 809afde: 21ad movs r1, #173 ; 0xad 809afe0: 20aa movs r0, #170 ; 0xaa 809afe2: f7b8 fca9 bl 8053938 809afe6: e0fc b.n 809b1e2 if(f >= 0.1f) 809afe8: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809afec: ed9f 7a26 vldr s14, [pc, #152] ; 809b088 809aff0: eef4 7ac7 vcmpe.f32 s15, s14 809aff4: eef1 fa10 vmrs APSR_nzcv, fpscr 809aff8: f2c0 808c blt.w 809b114 if((pardata.DIAGN_MASK[CURR_POINT][Us3] & 0x7) == DIAGN_ACC) 809affc: 4b10 ldr r3, [pc, #64] ; (809b040 ) 809affe: 781b ldrb r3, [r3, #0] 809b000: b2db uxtb r3, r3 809b002: 4a10 ldr r2, [pc, #64] ; (809b044 ) 809b004: 009b lsls r3, r3, #2 809b006: 4413 add r3, r2 809b008: f893 323e ldrb.w r3, [r3, #574] ; 0x23e 809b00c: b2db uxtb r3, r3 809b00e: f003 0307 and.w r3, r3, #7 809b012: 2b01 cmp r3, #1 809b014: d13e bne.n 809b094 if(pardata.LANG == RUS) 809b016: 4b0b ldr r3, [pc, #44] ; (809b044 ) 809b018: 7b1b ldrb r3, [r3, #12] 809b01a: b2db uxtb r3, r3 809b01c: 2b00 cmp r3, #0 809b01e: d106 bne.n 809b02e BSP_LCD_DisplayStringAt(170, 173, "ì/c^", LEFT_MODE); 809b020: 2303 movs r3, #3 809b022: 4a1a ldr r2, [pc, #104] ; (809b08c ) 809b024: 21ad movs r1, #173 ; 0xad 809b026: 20aa movs r0, #170 ; 0xaa 809b028: f7b8 fc86 bl 8053938 809b02c: e0d9 b.n 809b1e2 else BSP_LCD_DisplayStringAt(170, 173, "m/s^", LEFT_MODE); 809b02e: 2303 movs r3, #3 809b030: 4a17 ldr r2, [pc, #92] ; (809b090 ) 809b032: 21ad movs r1, #173 ; 0xad 809b034: 20aa movs r0, #170 ; 0xaa 809b036: f7b8 fc7f bl 8053938 809b03a: e0d2 b.n 809b1e2 809b03c: 080d09f8 .word 0x080d09f8 809b040: 20021011 .word 0x20021011 809b044: 20023e60 .word 0x20023e60 809b048: 080d0a00 .word 0x080d0a00 809b04c: 080d0a04 .word 0x080d0a04 809b050: 42c80000 .word 0x42c80000 809b054: 447a0000 .word 0x447a0000 809b058: 461c4000 .word 0x461c4000 809b05c: 47c35000 .word 0x47c35000 809b060: 200268d8 .word 0x200268d8 809b064: ff0a0f1f .word 0xff0a0f1f 809b068: ffff0000 .word 0xffff0000 809b06c: 3a83126f .word 0x3a83126f 809b070: 080d0998 .word 0x080d0998 809b074: 080d09a0 .word 0x080d09a0 809b078: 080d09a8 .word 0x080d09a8 809b07c: 080d09ac .word 0x080d09ac 809b080: 080d09b0 .word 0x080d09b0 809b084: 080d09b4 .word 0x080d09b4 809b088: 3dcccccd .word 0x3dcccccd 809b08c: 080d09b8 .word 0x080d09b8 809b090: 080d09c0 .word 0x080d09c0 else if((pardata.DIAGN_MASK[CURR_POINT][Us3] & 0x7) == DIAGN_VEL) 809b094: 4bbc ldr r3, [pc, #752] ; (809b388 ) 809b096: 781b ldrb r3, [r3, #0] 809b098: b2db uxtb r3, r3 809b09a: 4abc ldr r2, [pc, #752] ; (809b38c ) 809b09c: 009b lsls r3, r3, #2 809b09e: 4413 add r3, r2 809b0a0: f893 323e ldrb.w r3, [r3, #574] ; 0x23e 809b0a4: b2db uxtb r3, r3 809b0a6: f003 0307 and.w r3, r3, #7 809b0aa: 2b02 cmp r3, #2 809b0ac: d112 bne.n 809b0d4 if(pardata.LANG == RUS) 809b0ae: 4bb7 ldr r3, [pc, #732] ; (809b38c ) 809b0b0: 7b1b ldrb r3, [r3, #12] 809b0b2: b2db uxtb r3, r3 809b0b4: 2b00 cmp r3, #0 809b0b6: d106 bne.n 809b0c6 BSP_LCD_DisplayStringAt(170, 173, "ìì/c", LEFT_MODE); 809b0b8: 2303 movs r3, #3 809b0ba: 4ab5 ldr r2, [pc, #724] ; (809b390 ) 809b0bc: 21ad movs r1, #173 ; 0xad 809b0be: 20aa movs r0, #170 ; 0xaa 809b0c0: f7b8 fc3a bl 8053938 809b0c4: e08d b.n 809b1e2 else BSP_LCD_DisplayStringAt(170, 173, "mm/s", LEFT_MODE); 809b0c6: 2303 movs r3, #3 809b0c8: 4ab2 ldr r2, [pc, #712] ; (809b394 ) 809b0ca: 21ad movs r1, #173 ; 0xad 809b0cc: 20aa movs r0, #170 ; 0xaa 809b0ce: f7b8 fc33 bl 8053938 809b0d2: e086 b.n 809b1e2 else if((pardata.DIAGN_MASK[CURR_POINT][Us3] & 0x7) == DIAGN_DIS) 809b0d4: 4bac ldr r3, [pc, #688] ; (809b388 ) 809b0d6: 781b ldrb r3, [r3, #0] 809b0d8: b2db uxtb r3, r3 809b0da: 4aac ldr r2, [pc, #688] ; (809b38c ) 809b0dc: 009b lsls r3, r3, #2 809b0de: 4413 add r3, r2 809b0e0: f893 323e ldrb.w r3, [r3, #574] ; 0x23e 809b0e4: b2db uxtb r3, r3 809b0e6: f003 0307 and.w r3, r3, #7 809b0ea: 2b04 cmp r3, #4 809b0ec: d179 bne.n 809b1e2 if(pardata.LANG == RUS) 809b0ee: 4ba7 ldr r3, [pc, #668] ; (809b38c ) 809b0f0: 7b1b ldrb r3, [r3, #12] 809b0f2: b2db uxtb r3, r3 809b0f4: 2b00 cmp r3, #0 809b0f6: d106 bne.n 809b106 BSP_LCD_DisplayStringAt(170, 173, "ìkì", LEFT_MODE); 809b0f8: 2303 movs r3, #3 809b0fa: 4aa7 ldr r2, [pc, #668] ; (809b398 ) 809b0fc: 21ad movs r1, #173 ; 0xad 809b0fe: 20aa movs r0, #170 ; 0xaa 809b100: f7b8 fc1a bl 8053938 809b104: e06d b.n 809b1e2 else BSP_LCD_DisplayStringAt(170, 173, "um", LEFT_MODE); 809b106: 2303 movs r3, #3 809b108: 4aa4 ldr r2, [pc, #656] ; (809b39c ) 809b10a: 21ad movs r1, #173 ; 0xad 809b10c: 20aa movs r0, #170 ; 0xaa 809b10e: f7b8 fc13 bl 8053938 809b112: e066 b.n 809b1e2 f *= 1000.0f; 809b114: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809b118: ed9f 7aa1 vldr s14, [pc, #644] ; 809b3a0 809b11c: ee67 7a87 vmul.f32 s15, s15, s14 809b120: edc7 7a11 vstr s15, [r7, #68] ; 0x44 if((pardata.DIAGN_MASK[CURR_POINT][Us3] & 0x7) == DIAGN_ACC) 809b124: 4b98 ldr r3, [pc, #608] ; (809b388 ) 809b126: 781b ldrb r3, [r3, #0] 809b128: b2db uxtb r3, r3 809b12a: 4a98 ldr r2, [pc, #608] ; (809b38c ) 809b12c: 009b lsls r3, r3, #2 809b12e: 4413 add r3, r2 809b130: f893 323e ldrb.w r3, [r3, #574] ; 0x23e 809b134: b2db uxtb r3, r3 809b136: f003 0307 and.w r3, r3, #7 809b13a: 2b01 cmp r3, #1 809b13c: d112 bne.n 809b164 if(pardata.LANG == RUS) 809b13e: 4b93 ldr r3, [pc, #588] ; (809b38c ) 809b140: 7b1b ldrb r3, [r3, #12] 809b142: b2db uxtb r3, r3 809b144: 2b00 cmp r3, #0 809b146: d106 bne.n 809b156 BSP_LCD_DisplayStringAt(170, 173, "ìêÂ", LEFT_MODE); 809b148: 2303 movs r3, #3 809b14a: 4a96 ldr r2, [pc, #600] ; (809b3a4 ) 809b14c: 21ad movs r1, #173 ; 0xad 809b14e: 20aa movs r0, #170 ; 0xaa 809b150: f7b8 fbf2 bl 8053938 809b154: e045 b.n 809b1e2 else BSP_LCD_DisplayStringAt(170, 173, "uV", LEFT_MODE); 809b156: 2303 movs r3, #3 809b158: 4a93 ldr r2, [pc, #588] ; (809b3a8 ) 809b15a: 21ad movs r1, #173 ; 0xad 809b15c: 20aa movs r0, #170 ; 0xaa 809b15e: f7b8 fbeb bl 8053938 809b162: e03e b.n 809b1e2 else if((pardata.DIAGN_MASK[CURR_POINT][Us3] & 0x7) == DIAGN_VEL) 809b164: 4b88 ldr r3, [pc, #544] ; (809b388 ) 809b166: 781b ldrb r3, [r3, #0] 809b168: b2db uxtb r3, r3 809b16a: 4a88 ldr r2, [pc, #544] ; (809b38c ) 809b16c: 009b lsls r3, r3, #2 809b16e: 4413 add r3, r2 809b170: f893 323e ldrb.w r3, [r3, #574] ; 0x23e 809b174: b2db uxtb r3, r3 809b176: f003 0307 and.w r3, r3, #7 809b17a: 2b02 cmp r3, #2 809b17c: d112 bne.n 809b1a4 if(pardata.LANG == RUS) 809b17e: 4b83 ldr r3, [pc, #524] ; (809b38c ) 809b180: 7b1b ldrb r3, [r3, #12] 809b182: b2db uxtb r3, r3 809b184: 2b00 cmp r3, #0 809b186: d106 bne.n 809b196 BSP_LCD_DisplayStringAt(170, 173, "ìêì/c", LEFT_MODE); 809b188: 2303 movs r3, #3 809b18a: 4a88 ldr r2, [pc, #544] ; (809b3ac ) 809b18c: 21ad movs r1, #173 ; 0xad 809b18e: 20aa movs r0, #170 ; 0xaa 809b190: f7b8 fbd2 bl 8053938 809b194: e025 b.n 809b1e2 else BSP_LCD_DisplayStringAt(170, 173, "mkm/s", LEFT_MODE); 809b196: 2303 movs r3, #3 809b198: 4a85 ldr r2, [pc, #532] ; (809b3b0 ) 809b19a: 21ad movs r1, #173 ; 0xad 809b19c: 20aa movs r0, #170 ; 0xaa 809b19e: f7b8 fbcb bl 8053938 809b1a2: e01e b.n 809b1e2 else if((pardata.DIAGN_MASK[CURR_POINT][Us3] & 0x7) == DIAGN_DIS) 809b1a4: 4b78 ldr r3, [pc, #480] ; (809b388 ) 809b1a6: 781b ldrb r3, [r3, #0] 809b1a8: b2db uxtb r3, r3 809b1aa: 4a78 ldr r2, [pc, #480] ; (809b38c ) 809b1ac: 009b lsls r3, r3, #2 809b1ae: 4413 add r3, r2 809b1b0: f893 323e ldrb.w r3, [r3, #574] ; 0x23e 809b1b4: b2db uxtb r3, r3 809b1b6: f003 0307 and.w r3, r3, #7 809b1ba: 2b04 cmp r3, #4 809b1bc: d111 bne.n 809b1e2 if(pardata.LANG == RUS) 809b1be: 4b73 ldr r3, [pc, #460] ; (809b38c ) 809b1c0: 7b1b ldrb r3, [r3, #12] 809b1c2: b2db uxtb r3, r3 809b1c4: 2b00 cmp r3, #0 809b1c6: d106 bne.n 809b1d6 BSP_LCD_DisplayStringAt(170, 173, "íì", LEFT_MODE); 809b1c8: 2303 movs r3, #3 809b1ca: 4a7a ldr r2, [pc, #488] ; (809b3b4 ) 809b1cc: 21ad movs r1, #173 ; 0xad 809b1ce: 20aa movs r0, #170 ; 0xaa 809b1d0: f7b8 fbb2 bl 8053938 809b1d4: e005 b.n 809b1e2 else BSP_LCD_DisplayStringAt(170, 173, "nm", LEFT_MODE); 809b1d6: 2303 movs r3, #3 809b1d8: 4a77 ldr r2, [pc, #476] ; (809b3b8 ) 809b1da: 21ad movs r1, #173 ; 0xad 809b1dc: 20aa movs r0, #170 ; 0xaa 809b1de: f7b8 fbab bl 8053938 if(f < 10.0f) BSP_LCD_DisplayStringAt(160, 173, (char *)FloatToASCII(f, -4), RIGHT_MODE); 809b1e2: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809b1e6: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 809b1ea: eef4 7ac7 vcmpe.f32 s15, s14 809b1ee: eef1 fa10 vmrs APSR_nzcv, fpscr 809b1f2: d50e bpl.n 809b212 809b1f4: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809b1f8: f06f 0003 mvn.w r0, #3 809b1fc: eeb0 0a67 vmov.f32 s0, s15 809b200: f7cb fa7e bl 8066700 809b204: 4602 mov r2, r0 809b206: 2302 movs r3, #2 809b208: 21ad movs r1, #173 ; 0xad 809b20a: 20a0 movs r0, #160 ; 0xa0 809b20c: f7b8 fb94 bl 8053938 809b210: e05d b.n 809b2ce else if(f < 100.0f) BSP_LCD_DisplayStringAt(160, 173, (char *)FloatToASCII(f, -3), RIGHT_MODE); 809b212: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809b216: ed9f 7a69 vldr s14, [pc, #420] ; 809b3bc 809b21a: eef4 7ac7 vcmpe.f32 s15, s14 809b21e: eef1 fa10 vmrs APSR_nzcv, fpscr 809b222: d50e bpl.n 809b242 809b224: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809b228: f06f 0002 mvn.w r0, #2 809b22c: eeb0 0a67 vmov.f32 s0, s15 809b230: f7cb fa66 bl 8066700 809b234: 4602 mov r2, r0 809b236: 2302 movs r3, #2 809b238: 21ad movs r1, #173 ; 0xad 809b23a: 20a0 movs r0, #160 ; 0xa0 809b23c: f7b8 fb7c bl 8053938 809b240: e045 b.n 809b2ce else if(f < 1000.0f) BSP_LCD_DisplayStringAt(160, 173, (char *)FloatToASCII(f, -2), RIGHT_MODE); 809b242: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809b246: ed9f 7a56 vldr s14, [pc, #344] ; 809b3a0 809b24a: eef4 7ac7 vcmpe.f32 s15, s14 809b24e: eef1 fa10 vmrs APSR_nzcv, fpscr 809b252: d50e bpl.n 809b272 809b254: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809b258: f06f 0001 mvn.w r0, #1 809b25c: eeb0 0a67 vmov.f32 s0, s15 809b260: f7cb fa4e bl 8066700 809b264: 4602 mov r2, r0 809b266: 2302 movs r3, #2 809b268: 21ad movs r1, #173 ; 0xad 809b26a: 20a0 movs r0, #160 ; 0xa0 809b26c: f7b8 fb64 bl 8053938 809b270: e02d b.n 809b2ce else if(f < 10000.0f) BSP_LCD_DisplayStringAt(160, 173, (char *)FloatToASCII(f, -1), RIGHT_MODE); 809b272: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809b276: ed9f 7a52 vldr s14, [pc, #328] ; 809b3c0 809b27a: eef4 7ac7 vcmpe.f32 s15, s14 809b27e: eef1 fa10 vmrs APSR_nzcv, fpscr 809b282: d50e bpl.n 809b2a2 809b284: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809b288: f04f 30ff mov.w r0, #4294967295 809b28c: eeb0 0a67 vmov.f32 s0, s15 809b290: f7cb fa36 bl 8066700 809b294: 4602 mov r2, r0 809b296: 2302 movs r3, #2 809b298: 21ad movs r1, #173 ; 0xad 809b29a: 20a0 movs r0, #160 ; 0xa0 809b29c: f7b8 fb4c bl 8053938 809b2a0: e015 b.n 809b2ce else if(f < 100000.0f) BSP_LCD_DisplayStringAt(160, 173, (char *)FloatToASCII(f, 0), RIGHT_MODE); 809b2a2: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809b2a6: ed9f 7a47 vldr s14, [pc, #284] ; 809b3c4 809b2aa: eef4 7ac7 vcmpe.f32 s15, s14 809b2ae: eef1 fa10 vmrs APSR_nzcv, fpscr 809b2b2: d50c bpl.n 809b2ce 809b2b4: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809b2b8: 2000 movs r0, #0 809b2ba: eeb0 0a67 vmov.f32 s0, s15 809b2be: f7cb fa1f bl 8066700 809b2c2: 4602 mov r2, r0 809b2c4: 2302 movs r3, #2 809b2c6: 21ad movs r1, #173 ; 0xad 809b2c8: 20a0 movs r0, #160 ; 0xa0 809b2ca: f7b8 fb35 bl 8053938 if(ALARM) 809b2ce: 4b3e ldr r3, [pc, #248] ; (809b3c8 ) 809b2d0: 781b ldrb r3, [r3, #0] 809b2d2: b2db uxtb r3, r3 809b2d4: 2b00 cmp r3, #0 809b2d6: d006 beq.n 809b2e6 DrawImage(&bmmy_A, 316-65, 121); 809b2d8: 2279 movs r2, #121 ; 0x79 809b2da: 21fb movs r1, #251 ; 0xfb 809b2dc: 483b ldr r0, [pc, #236] ; (809b3cc ) 809b2de: f7b9 f959 bl 8054594 break; 809b2e2: f008 bbc9 b.w 80a3a78 if(WARNING) 809b2e6: 4b3a ldr r3, [pc, #232] ; (809b3d0 ) 809b2e8: 781b ldrb r3, [r3, #0] 809b2ea: b2db uxtb r3, r3 809b2ec: 2b00 cmp r3, #0 809b2ee: f008 83c3 beq.w 80a3a78 DrawImage(&bmmy_W, 316-65, 121); 809b2f2: 2279 movs r2, #121 ; 0x79 809b2f4: 21fb movs r1, #251 ; 0xfb 809b2f6: 4837 ldr r0, [pc, #220] ; (809b3d4 ) 809b2f8: f7b9 f94c bl 8054594 break; 809b2fc: f008 bbbc b.w 80a3a78 DrawImage(&bmAVS, 8, 84); 809b300: 2254 movs r2, #84 ; 0x54 809b302: 2108 movs r1, #8 809b304: 4834 ldr r0, [pc, #208] ; (809b3d8 ) 809b306: f7b9 f945 bl 8054594 if(DrawSavedData) 809b30a: 4b34 ldr r3, [pc, #208] ; (809b3dc ) 809b30c: 781b ldrb r3, [r3, #0] 809b30e: b2db uxtb r3, r3 809b310: 2b00 cmp r3, #0 809b312: f002 8179 beq.w 809d608 ivs[ACC] = ReadFileData.Aivs; 809b316: 4b32 ldr r3, [pc, #200] ; (809b3e0 ) 809b318: f893 302c ldrb.w r3, [r3, #44] ; 0x2c 809b31c: b2db uxtb r3, r3 809b31e: 703b strb r3, [r7, #0] ivs[VEL] = ReadFileData.Vivs; 809b320: 4b2f ldr r3, [pc, #188] ; (809b3e0 ) 809b322: f893 302d ldrb.w r3, [r3, #45] ; 0x2d 809b326: b2db uxtb r3, r3 809b328: 707b strb r3, [r7, #1] ivs[DIS] = ReadFileData.Sivs; 809b32a: 4b2d ldr r3, [pc, #180] ; (809b3e0 ) 809b32c: f893 302e ldrb.w r3, [r3, #46] ; 0x2e 809b330: b2db uxtb r3, r3 809b332: 70bb strb r3, [r7, #2] if(((!ReadFileData.Aivs) && (!ReadFileData.Vivs) && (!ReadFileData.Sivs)) || (ReadFileData.Aval.fl == -1.0f)) 809b334: 4b2a ldr r3, [pc, #168] ; (809b3e0 ) 809b336: f893 302c ldrb.w r3, [r3, #44] ; 0x2c 809b33a: b2db uxtb r3, r3 809b33c: 2b00 cmp r3, #0 809b33e: d10b bne.n 809b358 809b340: 4b27 ldr r3, [pc, #156] ; (809b3e0 ) 809b342: f893 302d ldrb.w r3, [r3, #45] ; 0x2d 809b346: b2db uxtb r3, r3 809b348: 2b00 cmp r3, #0 809b34a: d105 bne.n 809b358 809b34c: 4b24 ldr r3, [pc, #144] ; (809b3e0 ) 809b34e: f893 302e ldrb.w r3, [r3, #46] ; 0x2e 809b352: b2db uxtb r3, r3 809b354: 2b00 cmp r3, #0 809b356: d009 beq.n 809b36c 809b358: 4b21 ldr r3, [pc, #132] ; (809b3e0 ) 809b35a: edd3 7a00 vldr s15, [r3] 809b35e: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 809b362: eef4 7a47 vcmp.f32 s15, s14 809b366: eef1 fa10 vmrs APSR_nzcv, fpscr 809b36a: d141 bne.n 809b3f0 if(NextIndexMeas == IndexMeas[NextIndexPoint]) 809b36c: 4b1d ldr r3, [pc, #116] ; (809b3e4 ) 809b36e: 681b ldr r3, [r3, #0] 809b370: 4a1d ldr r2, [pc, #116] ; (809b3e8 ) 809b372: f852 2023 ldr.w r2, [r2, r3, lsl #2] 809b376: 4b1d ldr r3, [pc, #116] ; (809b3ec ) 809b378: 681b ldr r3, [r3, #0] 809b37a: 429a cmp r2, r3 809b37c: f044 8143 bne.w 809f606 DrawDetectorType(); 809b380: f7fc ff74 bl 809826c if(NextIndexMeas == IndexMeas[NextIndexPoint]) 809b384: f004 b93f b.w 809f606 809b388: 20021011 .word 0x20021011 809b38c: 20023e60 .word 0x20023e60 809b390: 080d09c8 .word 0x080d09c8 809b394: 080d09d0 .word 0x080d09d0 809b398: 080d09d8 .word 0x080d09d8 809b39c: 080d09dc .word 0x080d09dc 809b3a0: 447a0000 .word 0x447a0000 809b3a4: 080d0a08 .word 0x080d0a08 809b3a8: 080d0a0c .word 0x080d0a0c 809b3ac: 080d09f0 .word 0x080d09f0 809b3b0: 080d09f8 .word 0x080d09f8 809b3b4: 080d0a00 .word 0x080d0a00 809b3b8: 080d0a04 .word 0x080d0a04 809b3bc: 42c80000 .word 0x42c80000 809b3c0: 461c4000 .word 0x461c4000 809b3c4: 47c35000 .word 0x47c35000 809b3c8: 20021015 .word 0x20021015 809b3cc: 08168af4 .word 0x08168af4 809b3d0: 20021014 .word 0x20021014 809b3d4: 08169bcc .word 0x08169bcc 809b3d8: 08103cc0 .word 0x08103cc0 809b3dc: 20020dca .word 0x20020dca 809b3e0: 200226a0 .word 0x200226a0 809b3e4: 20021f9c .word 0x20021f9c 809b3e8: 20022ea0 .word 0x20022ea0 809b3ec: 20022310 .word 0x20022310 DrawImage(&bmSAVED, 298, 39); 809b3f0: 2227 movs r2, #39 ; 0x27 809b3f2: f44f 7195 mov.w r1, #298 ; 0x12a 809b3f6: 48bc ldr r0, [pc, #752] ; (809b6e8 ) 809b3f8: f7b9 f8cc bl 8054594 memset(str, 0, sizeof(str)); 809b3fc: f107 030c add.w r3, r7, #12 809b400: 2228 movs r2, #40 ; 0x28 809b402: 2100 movs r1, #0 809b404: 4618 mov r0, r3 809b406: f031 fe1f bl 80cd048 BSP_LCD_SetFont(&Font8); 809b40a: 48b8 ldr r0, [pc, #736] ; (809b6ec ) 809b40c: f7b8 fa0a bl 8053824 LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 809b410: 49b7 ldr r1, [pc, #732] ; (809b6f0 ) 809b412: 48b8 ldr r0, [pc, #736] ; (809b6f4 ) 809b414: f7b8 f9ca bl 80537ac str[0] = (DateFileData.Date / 10) + 48; 809b418: 4bb7 ldr r3, [pc, #732] ; (809b6f8 ) 809b41a: 789b ldrb r3, [r3, #2] 809b41c: b2db uxtb r3, r3 809b41e: 4ab7 ldr r2, [pc, #732] ; (809b6fc ) 809b420: fba2 2303 umull r2, r3, r2, r3 809b424: 08db lsrs r3, r3, #3 809b426: b2db uxtb r3, r3 809b428: 3330 adds r3, #48 ; 0x30 809b42a: b2db uxtb r3, r3 809b42c: 733b strb r3, [r7, #12] str[1] = (DateFileData.Date % 10) + 48; 809b42e: 4bb2 ldr r3, [pc, #712] ; (809b6f8 ) 809b430: 789b ldrb r3, [r3, #2] 809b432: b2da uxtb r2, r3 809b434: 4bb1 ldr r3, [pc, #708] ; (809b6fc ) 809b436: fba3 1302 umull r1, r3, r3, r2 809b43a: 08d9 lsrs r1, r3, #3 809b43c: 460b mov r3, r1 809b43e: 009b lsls r3, r3, #2 809b440: 440b add r3, r1 809b442: 005b lsls r3, r3, #1 809b444: 1ad3 subs r3, r2, r3 809b446: b2db uxtb r3, r3 809b448: 3330 adds r3, #48 ; 0x30 809b44a: b2db uxtb r3, r3 809b44c: 737b strb r3, [r7, #13] str[2] = '.'; 809b44e: 232e movs r3, #46 ; 0x2e 809b450: 73bb strb r3, [r7, #14] str[3] = (DateFileData.Month / 10) + 48; 809b452: 4ba9 ldr r3, [pc, #676] ; (809b6f8 ) 809b454: 785b ldrb r3, [r3, #1] 809b456: b2db uxtb r3, r3 809b458: 4aa8 ldr r2, [pc, #672] ; (809b6fc ) 809b45a: fba2 2303 umull r2, r3, r2, r3 809b45e: 08db lsrs r3, r3, #3 809b460: b2db uxtb r3, r3 809b462: 3330 adds r3, #48 ; 0x30 809b464: b2db uxtb r3, r3 809b466: 73fb strb r3, [r7, #15] str[4] = (DateFileData.Month % 10) + 48; 809b468: 4ba3 ldr r3, [pc, #652] ; (809b6f8 ) 809b46a: 785b ldrb r3, [r3, #1] 809b46c: b2da uxtb r2, r3 809b46e: 4ba3 ldr r3, [pc, #652] ; (809b6fc ) 809b470: fba3 1302 umull r1, r3, r3, r2 809b474: 08d9 lsrs r1, r3, #3 809b476: 460b mov r3, r1 809b478: 009b lsls r3, r3, #2 809b47a: 440b add r3, r1 809b47c: 005b lsls r3, r3, #1 809b47e: 1ad3 subs r3, r2, r3 809b480: b2db uxtb r3, r3 809b482: 3330 adds r3, #48 ; 0x30 809b484: b2db uxtb r3, r3 809b486: 743b strb r3, [r7, #16] str[5] = '.'; 809b488: 232e movs r3, #46 ; 0x2e 809b48a: 747b strb r3, [r7, #17] str[6] = '2'; 809b48c: 2332 movs r3, #50 ; 0x32 809b48e: 74bb strb r3, [r7, #18] str[7] = '0'; 809b490: 2330 movs r3, #48 ; 0x30 809b492: 74fb strb r3, [r7, #19] str[8] = (DateFileData.Year / 10) + 48; 809b494: 4b98 ldr r3, [pc, #608] ; (809b6f8 ) 809b496: 78db ldrb r3, [r3, #3] 809b498: b2db uxtb r3, r3 809b49a: 4a98 ldr r2, [pc, #608] ; (809b6fc ) 809b49c: fba2 2303 umull r2, r3, r2, r3 809b4a0: 08db lsrs r3, r3, #3 809b4a2: b2db uxtb r3, r3 809b4a4: 3330 adds r3, #48 ; 0x30 809b4a6: b2db uxtb r3, r3 809b4a8: 753b strb r3, [r7, #20] str[9] = (DateFileData.Year % 10) + 48; 809b4aa: 4b93 ldr r3, [pc, #588] ; (809b6f8 ) 809b4ac: 78db ldrb r3, [r3, #3] 809b4ae: b2da uxtb r2, r3 809b4b0: 4b92 ldr r3, [pc, #584] ; (809b6fc ) 809b4b2: fba3 1302 umull r1, r3, r3, r2 809b4b6: 08d9 lsrs r1, r3, #3 809b4b8: 460b mov r3, r1 809b4ba: 009b lsls r3, r3, #2 809b4bc: 440b add r3, r1 809b4be: 005b lsls r3, r3, #1 809b4c0: 1ad3 subs r3, r2, r3 809b4c2: b2db uxtb r3, r3 809b4c4: 3330 adds r3, #48 ; 0x30 809b4c6: b2db uxtb r3, r3 809b4c8: 757b strb r3, [r7, #21] BSP_LCD_DisplayStringAt(295, 42, str, RIGHT_MODE); 809b4ca: f107 020c add.w r2, r7, #12 809b4ce: 2302 movs r3, #2 809b4d0: 212a movs r1, #42 ; 0x2a 809b4d2: f240 1027 movw r0, #295 ; 0x127 809b4d6: f7b8 fa2f bl 8053938 memset(str, 0, sizeof(str)); 809b4da: f107 030c add.w r3, r7, #12 809b4de: 2228 movs r2, #40 ; 0x28 809b4e0: 2100 movs r1, #0 809b4e2: 4618 mov r0, r3 809b4e4: f031 fdb0 bl 80cd048 str[0] = (TimeFileData.Hours / 10) + 48; 809b4e8: 4b85 ldr r3, [pc, #532] ; (809b700 ) 809b4ea: 781b ldrb r3, [r3, #0] 809b4ec: b2db uxtb r3, r3 809b4ee: 4a83 ldr r2, [pc, #524] ; (809b6fc ) 809b4f0: fba2 2303 umull r2, r3, r2, r3 809b4f4: 08db lsrs r3, r3, #3 809b4f6: b2db uxtb r3, r3 809b4f8: 3330 adds r3, #48 ; 0x30 809b4fa: b2db uxtb r3, r3 809b4fc: 733b strb r3, [r7, #12] str[1] = (TimeFileData.Hours % 10) + 48; 809b4fe: 4b80 ldr r3, [pc, #512] ; (809b700 ) 809b500: 781b ldrb r3, [r3, #0] 809b502: b2da uxtb r2, r3 809b504: 4b7d ldr r3, [pc, #500] ; (809b6fc ) 809b506: fba3 1302 umull r1, r3, r3, r2 809b50a: 08d9 lsrs r1, r3, #3 809b50c: 460b mov r3, r1 809b50e: 009b lsls r3, r3, #2 809b510: 440b add r3, r1 809b512: 005b lsls r3, r3, #1 809b514: 1ad3 subs r3, r2, r3 809b516: b2db uxtb r3, r3 809b518: 3330 adds r3, #48 ; 0x30 809b51a: b2db uxtb r3, r3 809b51c: 737b strb r3, [r7, #13] str[2] = ':'; 809b51e: 233a movs r3, #58 ; 0x3a 809b520: 73bb strb r3, [r7, #14] str[3] = (TimeFileData.Minutes / 10) + 48; 809b522: 4b77 ldr r3, [pc, #476] ; (809b700 ) 809b524: 785b ldrb r3, [r3, #1] 809b526: b2db uxtb r3, r3 809b528: 4a74 ldr r2, [pc, #464] ; (809b6fc ) 809b52a: fba2 2303 umull r2, r3, r2, r3 809b52e: 08db lsrs r3, r3, #3 809b530: b2db uxtb r3, r3 809b532: 3330 adds r3, #48 ; 0x30 809b534: b2db uxtb r3, r3 809b536: 73fb strb r3, [r7, #15] str[4] = (TimeFileData.Minutes % 10) + 48; 809b538: 4b71 ldr r3, [pc, #452] ; (809b700 ) 809b53a: 785b ldrb r3, [r3, #1] 809b53c: b2da uxtb r2, r3 809b53e: 4b6f ldr r3, [pc, #444] ; (809b6fc ) 809b540: fba3 1302 umull r1, r3, r3, r2 809b544: 08d9 lsrs r1, r3, #3 809b546: 460b mov r3, r1 809b548: 009b lsls r3, r3, #2 809b54a: 440b add r3, r1 809b54c: 005b lsls r3, r3, #1 809b54e: 1ad3 subs r3, r2, r3 809b550: b2db uxtb r3, r3 809b552: 3330 adds r3, #48 ; 0x30 809b554: b2db uxtb r3, r3 809b556: 743b strb r3, [r7, #16] str[5] = ':'; 809b558: 233a movs r3, #58 ; 0x3a 809b55a: 747b strb r3, [r7, #17] str[6] = (TimeFileData.Seconds / 10) + 48; 809b55c: 4b68 ldr r3, [pc, #416] ; (809b700 ) 809b55e: 789b ldrb r3, [r3, #2] 809b560: b2db uxtb r3, r3 809b562: 4a66 ldr r2, [pc, #408] ; (809b6fc ) 809b564: fba2 2303 umull r2, r3, r2, r3 809b568: 08db lsrs r3, r3, #3 809b56a: b2db uxtb r3, r3 809b56c: 3330 adds r3, #48 ; 0x30 809b56e: b2db uxtb r3, r3 809b570: 74bb strb r3, [r7, #18] str[7] = (TimeFileData.Seconds % 10) + 48; 809b572: 4b63 ldr r3, [pc, #396] ; (809b700 ) 809b574: 789b ldrb r3, [r3, #2] 809b576: b2da uxtb r2, r3 809b578: 4b60 ldr r3, [pc, #384] ; (809b6fc ) 809b57a: fba3 1302 umull r1, r3, r3, r2 809b57e: 08d9 lsrs r1, r3, #3 809b580: 460b mov r3, r1 809b582: 009b lsls r3, r3, #2 809b584: 440b add r3, r1 809b586: 005b lsls r3, r3, #1 809b588: 1ad3 subs r3, r2, r3 809b58a: b2db uxtb r3, r3 809b58c: 3330 adds r3, #48 ; 0x30 809b58e: b2db uxtb r3, r3 809b590: 74fb strb r3, [r7, #19] BSP_LCD_DisplayStringAt(295, 52, str, RIGHT_MODE); 809b592: f107 020c add.w r2, r7, #12 809b596: 2302 movs r3, #2 809b598: 2134 movs r1, #52 ; 0x34 809b59a: f240 1027 movw r0, #295 ; 0x127 809b59e: f7b8 f9cb bl 8053938 DrawDetectorType(); 809b5a2: f7fc fe63 bl 809826c if(ReadFileData.Fval.fl != -1.0f) 809b5a6: 4b57 ldr r3, [pc, #348] ; (809b704 ) 809b5a8: edd3 7a03 vldr s15, [r3, #12] 809b5ac: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 809b5b0: eef4 7a47 vcmp.f32 s15, s14 809b5b4: eef1 fa10 vmrs APSR_nzcv, fpscr 809b5b8: f000 80fc beq.w 809b7b4 DrawImage(&bmf, 100, 57); 809b5bc: 2239 movs r2, #57 ; 0x39 809b5be: 2164 movs r1, #100 ; 0x64 809b5c0: 4851 ldr r0, [pc, #324] ; (809b708 ) 809b5c2: f7b8 ffe7 bl 8054594 BSP_LCD_SetFont(&Font15); 809b5c6: 4851 ldr r0, [pc, #324] ; (809b70c ) 809b5c8: f7b8 f92c bl 8053824 f = ReadFileData.Fval.fl; 809b5cc: 4b4d ldr r3, [pc, #308] ; (809b704 ) 809b5ce: 68db ldr r3, [r3, #12] 809b5d0: 647b str r3, [r7, #68] ; 0x44 LCD_SetColors(LCD_COLOR_WHITE/*0xFFFBFF1C*/, LCD_COLOR_BLACK); 809b5d2: 4947 ldr r1, [pc, #284] ; (809b6f0 ) 809b5d4: f04f 30ff mov.w r0, #4294967295 809b5d8: f7b8 f8e8 bl 80537ac memset(str, 0, sizeof(str)); 809b5dc: f107 030c add.w r3, r7, #12 809b5e0: 2228 movs r2, #40 ; 0x28 809b5e2: 2100 movs r1, #0 809b5e4: 4618 mov r0, r3 809b5e6: f031 fd2f bl 80cd048 if(f >= 1000.0f) 809b5ea: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809b5ee: ed9f 7a4f vldr s14, [pc, #316] ; 809b72c 809b5f2: eef4 7ac7 vcmpe.f32 s15, s14 809b5f6: eef1 fa10 vmrs APSR_nzcv, fpscr 809b5fa: db3b blt.n 809b674 f *= 0.001f; 809b5fc: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809b600: ed9f 7a43 vldr s14, [pc, #268] ; 809b710 809b604: ee67 7a87 vmul.f32 s15, s15, s14 809b608: edc7 7a11 vstr s15, [r7, #68] ; 0x44 p8 = (char *) FloatToASCII(f, -4); 809b60c: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809b610: f06f 0003 mvn.w r0, #3 809b614: eeb0 0a67 vmov.f32 s0, s15 809b618: f7cb f872 bl 8066700 809b61c: 6638 str r0, [r7, #96] ; 0x60 strcpy(str, p8); 809b61e: f107 030c add.w r3, r7, #12 809b622: 6e39 ldr r1, [r7, #96] ; 0x60 809b624: 4618 mov r0, r3 809b626: f031 fe2c bl 80cd282 if(pardata.LANG == RUS) strcat(str, " êÃö"); 809b62a: 4b3a ldr r3, [pc, #232] ; (809b714 ) 809b62c: 7b1b ldrb r3, [r3, #12] 809b62e: b2db uxtb r3, r3 809b630: 2b00 cmp r3, #0 809b632: d10f bne.n 809b654 809b634: f107 030c add.w r3, r7, #12 809b638: 4618 mov r0, r3 809b63a: f784 fe6b bl 8020314 809b63e: 4603 mov r3, r0 809b640: 461a mov r2, r3 809b642: f107 030c add.w r3, r7, #12 809b646: 4413 add r3, r2 809b648: 4a33 ldr r2, [pc, #204] ; (809b718 ) 809b64a: 6810 ldr r0, [r2, #0] 809b64c: 6018 str r0, [r3, #0] 809b64e: 7912 ldrb r2, [r2, #4] 809b650: 711a strb r2, [r3, #4] 809b652: e0a8 b.n 809b7a6 else strcat(str, " kHz"); 809b654: f107 030c add.w r3, r7, #12 809b658: 4618 mov r0, r3 809b65a: f784 fe5b bl 8020314 809b65e: 4603 mov r3, r0 809b660: 461a mov r2, r3 809b662: f107 030c add.w r3, r7, #12 809b666: 4413 add r3, r2 809b668: 4a2c ldr r2, [pc, #176] ; (809b71c ) 809b66a: 6810 ldr r0, [r2, #0] 809b66c: 6018 str r0, [r3, #0] 809b66e: 7912 ldrb r2, [r2, #4] 809b670: 711a strb r2, [r3, #4] 809b672: e098 b.n 809b7a6 if(f >= 0.1f) 809b674: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809b678: ed9f 7a29 vldr s14, [pc, #164] ; 809b720 809b67c: eef4 7ac7 vcmpe.f32 s15, s14 809b680: eef1 fa10 vmrs APSR_nzcv, fpscr 809b684: db54 blt.n 809b730 p8 = (char *) FloatToASCII(f, -3); 809b686: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809b68a: f06f 0002 mvn.w r0, #2 809b68e: eeb0 0a67 vmov.f32 s0, s15 809b692: f7cb f835 bl 8066700 809b696: 6638 str r0, [r7, #96] ; 0x60 strcpy(str, p8); 809b698: f107 030c add.w r3, r7, #12 809b69c: 6e39 ldr r1, [r7, #96] ; 0x60 809b69e: 4618 mov r0, r3 809b6a0: f031 fdef bl 80cd282 if(pardata.LANG == RUS) strcat(str, " Ãö"); 809b6a4: 4b1b ldr r3, [pc, #108] ; (809b714 ) 809b6a6: 7b1b ldrb r3, [r3, #12] 809b6a8: b2db uxtb r3, r3 809b6aa: 2b00 cmp r3, #0 809b6ac: d10d bne.n 809b6ca 809b6ae: f107 030c add.w r3, r7, #12 809b6b2: 4618 mov r0, r3 809b6b4: f784 fe2e bl 8020314 809b6b8: 4603 mov r3, r0 809b6ba: 461a mov r2, r3 809b6bc: f107 030c add.w r3, r7, #12 809b6c0: 4413 add r3, r2 809b6c2: 4a18 ldr r2, [pc, #96] ; (809b724 ) 809b6c4: 6810 ldr r0, [r2, #0] 809b6c6: 6018 str r0, [r3, #0] 809b6c8: e06d b.n 809b7a6 else strcat(str, " Hz"); 809b6ca: f107 030c add.w r3, r7, #12 809b6ce: 4618 mov r0, r3 809b6d0: f784 fe20 bl 8020314 809b6d4: 4603 mov r3, r0 809b6d6: 461a mov r2, r3 809b6d8: f107 030c add.w r3, r7, #12 809b6dc: 4413 add r3, r2 809b6de: 4a12 ldr r2, [pc, #72] ; (809b728 ) 809b6e0: 6810 ldr r0, [r2, #0] 809b6e2: 6018 str r0, [r3, #0] 809b6e4: e05f b.n 809b7a6 809b6e6: bf00 nop 809b6e8: 08147a48 .word 0x08147a48 809b6ec: 20020060 .word 0x20020060 809b6f0: ff0a0f1f .word 0xff0a0f1f 809b6f4: ffd3d3d3 .word 0xffd3d3d3 809b6f8: 200225f0 .word 0x200225f0 809b6fc: cccccccd .word 0xcccccccd 809b700: 20022968 .word 0x20022968 809b704: 200226a0 .word 0x200226a0 809b708: 0815d7b8 .word 0x0815d7b8 809b70c: 20020040 .word 0x20020040 809b710: 3a83126f .word 0x3a83126f 809b714: 20023e60 .word 0x20023e60 809b718: 080d0a10 .word 0x080d0a10 809b71c: 080d0a18 .word 0x080d0a18 809b720: 3dcccccd .word 0x3dcccccd 809b724: 080d0a20 .word 0x080d0a20 809b728: 080d0a24 .word 0x080d0a24 809b72c: 447a0000 .word 0x447a0000 f *= 1000.0f; 809b730: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809b734: ed1f 7a03 vldr s14, [pc, #-12] ; 809b72c 809b738: ee67 7a87 vmul.f32 s15, s15, s14 809b73c: edc7 7a11 vstr s15, [r7, #68] ; 0x44 p8 = (char *) FloatToASCII(f, -3); 809b740: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809b744: f06f 0002 mvn.w r0, #2 809b748: eeb0 0a67 vmov.f32 s0, s15 809b74c: f7ca ffd8 bl 8066700 809b750: 6638 str r0, [r7, #96] ; 0x60 strcpy(str, p8); 809b752: f107 030c add.w r3, r7, #12 809b756: 6e39 ldr r1, [r7, #96] ; 0x60 809b758: 4618 mov r0, r3 809b75a: f031 fd92 bl 80cd282 if(pardata.LANG == RUS) strcat(str, " ìÃö"); 809b75e: 4bcd ldr r3, [pc, #820] ; (809ba94 ) 809b760: 7b1b ldrb r3, [r3, #12] 809b762: b2db uxtb r3, r3 809b764: 2b00 cmp r3, #0 809b766: d10f bne.n 809b788 809b768: f107 030c add.w r3, r7, #12 809b76c: 4618 mov r0, r3 809b76e: f784 fdd1 bl 8020314 809b772: 4603 mov r3, r0 809b774: 461a mov r2, r3 809b776: f107 030c add.w r3, r7, #12 809b77a: 4413 add r3, r2 809b77c: 4ac6 ldr r2, [pc, #792] ; (809ba98 ) 809b77e: 6810 ldr r0, [r2, #0] 809b780: 6018 str r0, [r3, #0] 809b782: 7912 ldrb r2, [r2, #4] 809b784: 711a strb r2, [r3, #4] 809b786: e00e b.n 809b7a6 else strcat(str, " mHz"); 809b788: f107 030c add.w r3, r7, #12 809b78c: 4618 mov r0, r3 809b78e: f784 fdc1 bl 8020314 809b792: 4603 mov r3, r0 809b794: 461a mov r2, r3 809b796: f107 030c add.w r3, r7, #12 809b79a: 4413 add r3, r2 809b79c: 4abf ldr r2, [pc, #764] ; (809ba9c ) 809b79e: 6810 ldr r0, [r2, #0] 809b7a0: 6018 str r0, [r3, #0] 809b7a2: 7912 ldrb r2, [r2, #4] 809b7a4: 711a strb r2, [r3, #4] BSP_LCD_DisplayStringAt(132, 61, str, LEFT_MODE); 809b7a6: f107 020c add.w r2, r7, #12 809b7aa: 2303 movs r3, #3 809b7ac: 213d movs r1, #61 ; 0x3d 809b7ae: 2084 movs r0, #132 ; 0x84 809b7b0: f7b8 f8c2 bl 8053938 if(log == false) //Åñëè â ìåòðè÷åñêèõ âåëè÷èíàõ 809b7b4: f897 3067 ldrb.w r3, [r7, #103] ; 0x67 809b7b8: f083 0301 eor.w r3, r3, #1 809b7bc: b2db uxtb r3, r3 809b7be: 2b00 cmp r3, #0 809b7c0: f000 8594 beq.w 809c2ec for(ipr = ACC; ipr <= DIS; ipr++) 809b7c4: 2300 movs r3, #0 809b7c6: 653b str r3, [r7, #80] ; 0x50 809b7c8: f000 bd8a b.w 809c2e0 if(ipr == ACC) f = ABS(ReadFileData.Aval.fl); 809b7cc: 6d3b ldr r3, [r7, #80] ; 0x50 809b7ce: 2b00 cmp r3, #0 809b7d0: d113 bne.n 809b7fa 809b7d2: 4bb3 ldr r3, [pc, #716] ; (809baa0 ) 809b7d4: edd3 7a00 vldr s15, [r3] 809b7d8: eef5 7ac0 vcmpe.f32 s15, #0.0 809b7dc: eef1 fa10 vmrs APSR_nzcv, fpscr 809b7e0: dd03 ble.n 809b7ea 809b7e2: 4baf ldr r3, [pc, #700] ; (809baa0 ) 809b7e4: edd3 7a00 vldr s15, [r3] 809b7e8: e004 b.n 809b7f4 809b7ea: 4bad ldr r3, [pc, #692] ; (809baa0 ) 809b7ec: edd3 7a00 vldr s15, [r3] 809b7f0: eef1 7a67 vneg.f32 s15, s15 809b7f4: edc7 7a11 vstr s15, [r7, #68] ; 0x44 809b7f8: e02c b.n 809b854 else if(ipr == VEL) f = ABS(ReadFileData.Vval.fl); 809b7fa: 6d3b ldr r3, [r7, #80] ; 0x50 809b7fc: 2b01 cmp r3, #1 809b7fe: d113 bne.n 809b828 809b800: 4ba7 ldr r3, [pc, #668] ; (809baa0 ) 809b802: edd3 7a01 vldr s15, [r3, #4] 809b806: eef5 7ac0 vcmpe.f32 s15, #0.0 809b80a: eef1 fa10 vmrs APSR_nzcv, fpscr 809b80e: dd03 ble.n 809b818 809b810: 4ba3 ldr r3, [pc, #652] ; (809baa0 ) 809b812: edd3 7a01 vldr s15, [r3, #4] 809b816: e004 b.n 809b822 809b818: 4ba1 ldr r3, [pc, #644] ; (809baa0 ) 809b81a: edd3 7a01 vldr s15, [r3, #4] 809b81e: eef1 7a67 vneg.f32 s15, s15 809b822: edc7 7a11 vstr s15, [r7, #68] ; 0x44 809b826: e015 b.n 809b854 else if(ipr == DIS) f = ABS(ReadFileData.Sval.fl); 809b828: 6d3b ldr r3, [r7, #80] ; 0x50 809b82a: 2b02 cmp r3, #2 809b82c: d112 bne.n 809b854 809b82e: 4b9c ldr r3, [pc, #624] ; (809baa0 ) 809b830: edd3 7a02 vldr s15, [r3, #8] 809b834: eef5 7ac0 vcmpe.f32 s15, #0.0 809b838: eef1 fa10 vmrs APSR_nzcv, fpscr 809b83c: dd03 ble.n 809b846 809b83e: 4b98 ldr r3, [pc, #608] ; (809baa0 ) 809b840: edd3 7a02 vldr s15, [r3, #8] 809b844: e004 b.n 809b850 809b846: 4b96 ldr r3, [pc, #600] ; (809baa0 ) 809b848: edd3 7a02 vldr s15, [r3, #8] 809b84c: eef1 7a67 vneg.f32 s15, s15 809b850: edc7 7a11 vstr s15, [r7, #68] ; 0x44 memset(str, 0, sizeof(str)); 809b854: f107 030c add.w r3, r7, #12 809b858: 2228 movs r2, #40 ; 0x28 809b85a: 2100 movs r1, #0 809b85c: 4618 mov r0, r3 809b85e: f031 fbf3 bl 80cd048 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 809b862: 4990 ldr r1, [pc, #576] ; (809baa4 ) 809b864: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 809b868: f7b7 ffa0 bl 80537ac BSP_LCD_SetFont(&Font12); 809b86c: 488e ldr r0, [pc, #568] ; (809baa8 ) 809b86e: f7b7 ffd9 bl 8053824 if(ipr < DIS) 809b872: 6d3b ldr r3, [r7, #80] ; 0x50 809b874: 2b01 cmp r3, #1 809b876: f200 80af bhi.w 809b9d8 if(f < 10.0f) 809b87a: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809b87e: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 809b882: eef4 7ac7 vcmpe.f32 s15, s14 809b886: eef1 fa10 vmrs APSR_nzcv, fpscr 809b88a: d513 bpl.n 809b8b4 k = (uint32_t) (roundf(f * 10000)); 809b88c: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809b890: ed9f 7a8a vldr s14, [pc, #552] ; 809babc 809b894: ee67 7a87 vmul.f32 s15, s15, s14 809b898: eeb0 0a67 vmov.f32 s0, s15 809b89c: f02f f9d6 bl 80cac4c 809b8a0: eef0 7a40 vmov.f32 s15, s0 809b8a4: eefc 7ae7 vcvt.u32.f32 s15, s15 809b8a8: ee17 3a90 vmov r3, s15 809b8ac: 65bb str r3, [r7, #88] ; 0x58 t = 1; 809b8ae: 2301 movs r3, #1 809b8b0: 657b str r3, [r7, #84] ; 0x54 809b8b2: e1cc b.n 809bc4e if(f < 100.0f) 809b8b4: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809b8b8: ed9f 7a7c vldr s14, [pc, #496] ; 809baac 809b8bc: eef4 7ac7 vcmpe.f32 s15, s14 809b8c0: eef1 fa10 vmrs APSR_nzcv, fpscr 809b8c4: d513 bpl.n 809b8ee k = (uint32_t) (roundf(f * 1000)); 809b8c6: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809b8ca: ed9f 7a79 vldr s14, [pc, #484] ; 809bab0 809b8ce: ee67 7a87 vmul.f32 s15, s15, s14 809b8d2: eeb0 0a67 vmov.f32 s0, s15 809b8d6: f02f f9b9 bl 80cac4c 809b8da: eef0 7a40 vmov.f32 s15, s0 809b8de: eefc 7ae7 vcvt.u32.f32 s15, s15 809b8e2: ee17 3a90 vmov r3, s15 809b8e6: 65bb str r3, [r7, #88] ; 0x58 t = 2; 809b8e8: 2302 movs r3, #2 809b8ea: 657b str r3, [r7, #84] ; 0x54 809b8ec: e1af b.n 809bc4e if(f < 1000.0f) 809b8ee: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809b8f2: ed9f 7a6f vldr s14, [pc, #444] ; 809bab0 809b8f6: eef4 7ac7 vcmpe.f32 s15, s14 809b8fa: eef1 fa10 vmrs APSR_nzcv, fpscr 809b8fe: d513 bpl.n 809b928 k = (uint32_t) (roundf(f * 100)); 809b900: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809b904: ed9f 7a69 vldr s14, [pc, #420] ; 809baac 809b908: ee67 7a87 vmul.f32 s15, s15, s14 809b90c: eeb0 0a67 vmov.f32 s0, s15 809b910: f02f f99c bl 80cac4c 809b914: eef0 7a40 vmov.f32 s15, s0 809b918: eefc 7ae7 vcvt.u32.f32 s15, s15 809b91c: ee17 3a90 vmov r3, s15 809b920: 65bb str r3, [r7, #88] ; 0x58 t = 3; 809b922: 2303 movs r3, #3 809b924: 657b str r3, [r7, #84] ; 0x54 809b926: e192 b.n 809bc4e if(f < 10000.0f) 809b928: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809b92c: ed9f 7a63 vldr s14, [pc, #396] ; 809babc 809b930: eef4 7ac7 vcmpe.f32 s15, s14 809b934: eef1 fa10 vmrs APSR_nzcv, fpscr 809b938: d513 bpl.n 809b962 k = (uint32_t) (roundf(f * 10)); 809b93a: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809b93e: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 809b942: ee67 7a87 vmul.f32 s15, s15, s14 809b946: eeb0 0a67 vmov.f32 s0, s15 809b94a: f02f f97f bl 80cac4c 809b94e: eef0 7a40 vmov.f32 s15, s0 809b952: eefc 7ae7 vcvt.u32.f32 s15, s15 809b956: ee17 3a90 vmov r3, s15 809b95a: 65bb str r3, [r7, #88] ; 0x58 t = 4; 809b95c: 2304 movs r3, #4 809b95e: 657b str r3, [r7, #84] ; 0x54 809b960: e175 b.n 809bc4e if(f < 100000.0f) 809b962: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809b966: ed9f 7a56 vldr s14, [pc, #344] ; 809bac0 809b96a: eef4 7ac7 vcmpe.f32 s15, s14 809b96e: eef1 fa10 vmrs APSR_nzcv, fpscr 809b972: d515 bpl.n 809b9a0 k = (uint32_t) (roundf(f)); 809b974: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809b978: eeb0 0a67 vmov.f32 s0, s15 809b97c: f02f f966 bl 80cac4c 809b980: eef0 7a40 vmov.f32 s15, s0 809b984: eefc 7ae7 vcvt.u32.f32 s15, s15 809b988: ee17 3a90 vmov r3, s15 809b98c: 65bb str r3, [r7, #88] ; 0x58 if(k >= 100000) 809b98e: 6dbb ldr r3, [r7, #88] ; 0x58 809b990: 4a48 ldr r2, [pc, #288] ; (809bab4 ) 809b992: 4293 cmp r3, r2 809b994: d901 bls.n 809b99a k = 99999; 809b996: 4b47 ldr r3, [pc, #284] ; (809bab4 ) 809b998: 65bb str r3, [r7, #88] ; 0x58 t = 0; 809b99a: 2300 movs r3, #0 809b99c: 657b str r3, [r7, #84] ; 0x54 809b99e: e156 b.n 809bc4e if(f >= 100000.0f) 809b9a0: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809b9a4: ed9f 7a46 vldr s14, [pc, #280] ; 809bac0 809b9a8: eef4 7ac7 vcmpe.f32 s15, s14 809b9ac: eef1 fa10 vmrs APSR_nzcv, fpscr 809b9b0: f2c0 814d blt.w 809bc4e f = 99999.0f; 809b9b4: 4b40 ldr r3, [pc, #256] ; (809bab8 ) 809b9b6: 647b str r3, [r7, #68] ; 0x44 k = (uint32_t) (roundf(f)); 809b9b8: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809b9bc: eeb0 0a67 vmov.f32 s0, s15 809b9c0: f02f f944 bl 80cac4c 809b9c4: eef0 7a40 vmov.f32 s15, s0 809b9c8: eefc 7ae7 vcvt.u32.f32 s15, s15 809b9cc: ee17 3a90 vmov r3, s15 809b9d0: 65bb str r3, [r7, #88] ; 0x58 t = 0; 809b9d2: 2300 movs r3, #0 809b9d4: 657b str r3, [r7, #84] ; 0x54 809b9d6: e13a b.n 809bc4e if(f < 10.0f) 809b9d8: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809b9dc: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 809b9e0: eef4 7ac7 vcmpe.f32 s15, s14 809b9e4: eef1 fa10 vmrs APSR_nzcv, fpscr 809b9e8: d515 bpl.n 809ba16 k = (uint32_t) (roundf(f * 10000)); 809b9ea: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809b9ee: ed9f 7a33 vldr s14, [pc, #204] ; 809babc 809b9f2: ee67 7a87 vmul.f32 s15, s15, s14 809b9f6: eeb0 0a67 vmov.f32 s0, s15 809b9fa: f02f f927 bl 80cac4c 809b9fe: eef0 7a40 vmov.f32 s15, s0 809ba02: eefc 7ae7 vcvt.u32.f32 s15, s15 809ba06: ee17 3a90 vmov r3, s15 809ba0a: 65bb str r3, [r7, #88] ; 0x58 t = 1; 809ba0c: 2301 movs r3, #1 809ba0e: 657b str r3, [r7, #84] ; 0x54 m = 0; 809ba10: 2300 movs r3, #0 809ba12: 64fb str r3, [r7, #76] ; 0x4c 809ba14: e11b b.n 809bc4e if(f < 100.0f) 809ba16: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809ba1a: ed9f 7a24 vldr s14, [pc, #144] ; 809baac 809ba1e: eef4 7ac7 vcmpe.f32 s15, s14 809ba22: eef1 fa10 vmrs APSR_nzcv, fpscr 809ba26: d515 bpl.n 809ba54 k = (uint32_t) (roundf(f * 1000)); 809ba28: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809ba2c: ed9f 7a20 vldr s14, [pc, #128] ; 809bab0 809ba30: ee67 7a87 vmul.f32 s15, s15, s14 809ba34: eeb0 0a67 vmov.f32 s0, s15 809ba38: f02f f908 bl 80cac4c 809ba3c: eef0 7a40 vmov.f32 s15, s0 809ba40: eefc 7ae7 vcvt.u32.f32 s15, s15 809ba44: ee17 3a90 vmov r3, s15 809ba48: 65bb str r3, [r7, #88] ; 0x58 t = 2; 809ba4a: 2302 movs r3, #2 809ba4c: 657b str r3, [r7, #84] ; 0x54 m = 0; 809ba4e: 2300 movs r3, #0 809ba50: 64fb str r3, [r7, #76] ; 0x4c 809ba52: e0fc b.n 809bc4e if(f < 1000.0f) 809ba54: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809ba58: ed9f 7a15 vldr s14, [pc, #84] ; 809bab0 809ba5c: eef4 7ac7 vcmpe.f32 s15, s14 809ba60: eef1 fa10 vmrs APSR_nzcv, fpscr 809ba64: d53a bpl.n 809badc k = (uint32_t) (roundf(f * 100)); 809ba66: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809ba6a: ed9f 7a10 vldr s14, [pc, #64] ; 809baac 809ba6e: ee67 7a87 vmul.f32 s15, s15, s14 809ba72: eeb0 0a67 vmov.f32 s0, s15 809ba76: f02f f8e9 bl 80cac4c 809ba7a: eef0 7a40 vmov.f32 s15, s0 809ba7e: eefc 7ae7 vcvt.u32.f32 s15, s15 809ba82: ee17 3a90 vmov r3, s15 809ba86: 65bb str r3, [r7, #88] ; 0x58 t = 3; 809ba88: 2303 movs r3, #3 809ba8a: 657b str r3, [r7, #84] ; 0x54 m = 0; 809ba8c: 2300 movs r3, #0 809ba8e: 64fb str r3, [r7, #76] ; 0x4c 809ba90: e0dd b.n 809bc4e 809ba92: bf00 nop 809ba94: 20023e60 .word 0x20023e60 809ba98: 080d0a28 .word 0x080d0a28 809ba9c: 080d0a30 .word 0x080d0a30 809baa0: 200226a0 .word 0x200226a0 809baa4: ff0a0f1f .word 0xff0a0f1f 809baa8: 20020038 .word 0x20020038 809baac: 42c80000 .word 0x42c80000 809bab0: 447a0000 .word 0x447a0000 809bab4: 0001869f .word 0x0001869f 809bab8: 47c34f80 .word 0x47c34f80 809babc: 461c4000 .word 0x461c4000 809bac0: 47c35000 .word 0x47c35000 809bac4: 49742400 .word 0x49742400 809bac8: 3dcccccd .word 0x3dcccccd 809bacc: 4b189680 .word 0x4b189680 809bad0: 3c23d70a .word 0x3c23d70a 809bad4: 4cbebc20 .word 0x4cbebc20 809bad8: 3a83126f .word 0x3a83126f if(f < 10000.0f) 809badc: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809bae0: ed1f 7a0a vldr s14, [pc, #-40] ; 809babc 809bae4: eef4 7ac7 vcmpe.f32 s15, s14 809bae8: eef1 fa10 vmrs APSR_nzcv, fpscr 809baec: d515 bpl.n 809bb1a k = (uint32_t) (roundf(f * 10)); 809baee: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809baf2: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 809baf6: ee67 7a87 vmul.f32 s15, s15, s14 809bafa: eeb0 0a67 vmov.f32 s0, s15 809bafe: f02f f8a5 bl 80cac4c 809bb02: eef0 7a40 vmov.f32 s15, s0 809bb06: eefc 7ae7 vcvt.u32.f32 s15, s15 809bb0a: ee17 3a90 vmov r3, s15 809bb0e: 65bb str r3, [r7, #88] ; 0x58 t = 1; 809bb10: 2301 movs r3, #1 809bb12: 657b str r3, [r7, #84] ; 0x54 m = 1; 809bb14: 2301 movs r3, #1 809bb16: 64fb str r3, [r7, #76] ; 0x4c 809bb18: e099 b.n 809bc4e if(f < 100000.0f) 809bb1a: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809bb1e: ed1f 7a18 vldr s14, [pc, #-96] ; 809bac0 809bb22: eef4 7ac7 vcmpe.f32 s15, s14 809bb26: eef1 fa10 vmrs APSR_nzcv, fpscr 809bb2a: d511 bpl.n 809bb50 k = (uint32_t) (roundf(f)); 809bb2c: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809bb30: eeb0 0a67 vmov.f32 s0, s15 809bb34: f02f f88a bl 80cac4c 809bb38: eef0 7a40 vmov.f32 s15, s0 809bb3c: eefc 7ae7 vcvt.u32.f32 s15, s15 809bb40: ee17 3a90 vmov r3, s15 809bb44: 65bb str r3, [r7, #88] ; 0x58 t = 2; 809bb46: 2302 movs r3, #2 809bb48: 657b str r3, [r7, #84] ; 0x54 m = 1; 809bb4a: 2301 movs r3, #1 809bb4c: 64fb str r3, [r7, #76] ; 0x4c 809bb4e: e07e b.n 809bc4e if(f < 1000000.0f) 809bb50: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809bb54: ed1f 7a25 vldr s14, [pc, #-148] ; 809bac4 809bb58: eef4 7ac7 vcmpe.f32 s15, s14 809bb5c: eef1 fa10 vmrs APSR_nzcv, fpscr 809bb60: d515 bpl.n 809bb8e k = (uint32_t) (roundf(f * 0.1f)); 809bb62: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809bb66: ed1f 7a28 vldr s14, [pc, #-160] ; 809bac8 809bb6a: ee67 7a87 vmul.f32 s15, s15, s14 809bb6e: eeb0 0a67 vmov.f32 s0, s15 809bb72: f02f f86b bl 80cac4c 809bb76: eef0 7a40 vmov.f32 s15, s0 809bb7a: eefc 7ae7 vcvt.u32.f32 s15, s15 809bb7e: ee17 3a90 vmov r3, s15 809bb82: 65bb str r3, [r7, #88] ; 0x58 t = 3; 809bb84: 2303 movs r3, #3 809bb86: 657b str r3, [r7, #84] ; 0x54 m = 1; 809bb88: 2301 movs r3, #1 809bb8a: 64fb str r3, [r7, #76] ; 0x4c 809bb8c: e05f b.n 809bc4e if(f < 10000000.0f) 809bb8e: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809bb92: ed1f 7a32 vldr s14, [pc, #-200] ; 809bacc 809bb96: eef4 7ac7 vcmpe.f32 s15, s14 809bb9a: eef1 fa10 vmrs APSR_nzcv, fpscr 809bb9e: d515 bpl.n 809bbcc k = (uint32_t) (roundf(f * 0.01f)); 809bba0: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809bba4: ed1f 7a36 vldr s14, [pc, #-216] ; 809bad0 809bba8: ee67 7a87 vmul.f32 s15, s15, s14 809bbac: eeb0 0a67 vmov.f32 s0, s15 809bbb0: f02f f84c bl 80cac4c 809bbb4: eef0 7a40 vmov.f32 s15, s0 809bbb8: eefc 7ae7 vcvt.u32.f32 s15, s15 809bbbc: ee17 3a90 vmov r3, s15 809bbc0: 65bb str r3, [r7, #88] ; 0x58 t = 4; 809bbc2: 2304 movs r3, #4 809bbc4: 657b str r3, [r7, #84] ; 0x54 m = 1; 809bbc6: 2301 movs r3, #1 809bbc8: 64fb str r3, [r7, #76] ; 0x4c 809bbca: e040 b.n 809bc4e if(f < 100000000.0f) 809bbcc: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809bbd0: ed1f 7a40 vldr s14, [pc, #-256] ; 809bad4 809bbd4: eef4 7ac7 vcmpe.f32 s15, s14 809bbd8: eef1 fa10 vmrs APSR_nzcv, fpscr 809bbdc: d51b bpl.n 809bc16 k = (uint32_t) (roundf(f * 0.001f)); 809bbde: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809bbe2: ed1f 7a43 vldr s14, [pc, #-268] ; 809bad8 809bbe6: ee67 7a87 vmul.f32 s15, s15, s14 809bbea: eeb0 0a67 vmov.f32 s0, s15 809bbee: f02f f82d bl 80cac4c 809bbf2: eef0 7a40 vmov.f32 s15, s0 809bbf6: eefc 7ae7 vcvt.u32.f32 s15, s15 809bbfa: ee17 3a90 vmov r3, s15 809bbfe: 65bb str r3, [r7, #88] ; 0x58 if(k >= 100000) 809bc00: 6dbb ldr r3, [r7, #88] ; 0x58 809bc02: 4abf ldr r2, [pc, #764] ; (809bf00 ) 809bc04: 4293 cmp r3, r2 809bc06: d901 bls.n 809bc0c k = 99999; 809bc08: 4bbd ldr r3, [pc, #756] ; (809bf00 ) 809bc0a: 65bb str r3, [r7, #88] ; 0x58 t = 0; 809bc0c: 2300 movs r3, #0 809bc0e: 657b str r3, [r7, #84] ; 0x54 m = 1; 809bc10: 2301 movs r3, #1 809bc12: 64fb str r3, [r7, #76] ; 0x4c 809bc14: e01b b.n 809bc4e if(f >= 100000000.0f) 809bc16: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809bc1a: ed9f 7aba vldr s14, [pc, #744] ; 809bf04 809bc1e: eef4 7ac7 vcmpe.f32 s15, s14 809bc22: eef1 fa10 vmrs APSR_nzcv, fpscr 809bc26: db12 blt.n 809bc4e f = 99999.0f; 809bc28: 4bb7 ldr r3, [pc, #732] ; (809bf08 ) 809bc2a: 647b str r3, [r7, #68] ; 0x44 k = (uint32_t) (roundf(f)); 809bc2c: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809bc30: eeb0 0a67 vmov.f32 s0, s15 809bc34: f02f f80a bl 80cac4c 809bc38: eef0 7a40 vmov.f32 s15, s0 809bc3c: eefc 7ae7 vcvt.u32.f32 s15, s15 809bc40: ee17 3a90 vmov r3, s15 809bc44: 65bb str r3, [r7, #88] ; 0x58 t = 0; 809bc46: 2300 movs r3, #0 809bc48: 657b str r3, [r7, #84] ; 0x54 m = 1; 809bc4a: 2301 movs r3, #1 809bc4c: 64fb str r3, [r7, #76] ; 0x4c ik[ipr][0] = (uint8_t) (k / 10000); 809bc4e: 6d3a ldr r2, [r7, #80] ; 0x50 809bc50: 6dbb ldr r3, [r7, #88] ; 0x58 809bc52: 49ae ldr r1, [pc, #696] ; (809bf0c ) 809bc54: fba1 1303 umull r1, r3, r1, r3 809bc58: 0b5b lsrs r3, r3, #13 809bc5a: b2d9 uxtb r1, r3 809bc5c: 4613 mov r3, r2 809bc5e: 009b lsls r3, r3, #2 809bc60: 4413 add r3, r2 809bc62: f107 0268 add.w r2, r7, #104 ; 0x68 809bc66: 4413 add r3, r2 809bc68: 3b34 subs r3, #52 ; 0x34 809bc6a: 460a mov r2, r1 809bc6c: 701a strb r2, [r3, #0] ik[ipr][1] = (uint8_t) (k % 10000 / 1000); 809bc6e: 6d39 ldr r1, [r7, #80] ; 0x50 809bc70: 6dba ldr r2, [r7, #88] ; 0x58 809bc72: 4ba6 ldr r3, [pc, #664] ; (809bf0c ) 809bc74: fba3 0302 umull r0, r3, r3, r2 809bc78: 0b5b lsrs r3, r3, #13 809bc7a: f242 7010 movw r0, #10000 ; 0x2710 809bc7e: fb00 f303 mul.w r3, r0, r3 809bc82: 1ad3 subs r3, r2, r3 809bc84: 4aa2 ldr r2, [pc, #648] ; (809bf10 ) 809bc86: fba2 2303 umull r2, r3, r2, r3 809bc8a: 099b lsrs r3, r3, #6 809bc8c: b2da uxtb r2, r3 809bc8e: 460b mov r3, r1 809bc90: 009b lsls r3, r3, #2 809bc92: 440b add r3, r1 809bc94: f107 0168 add.w r1, r7, #104 ; 0x68 809bc98: 440b add r3, r1 809bc9a: 3b33 subs r3, #51 ; 0x33 809bc9c: 701a strb r2, [r3, #0] ik[ipr][2] = (uint8_t) (k % 10000 % 1000 / 100); 809bc9e: 6d39 ldr r1, [r7, #80] ; 0x50 809bca0: 6dba ldr r2, [r7, #88] ; 0x58 809bca2: 4b9a ldr r3, [pc, #616] ; (809bf0c ) 809bca4: fba3 0302 umull r0, r3, r3, r2 809bca8: 0b5b lsrs r3, r3, #13 809bcaa: f242 7010 movw r0, #10000 ; 0x2710 809bcae: fb00 f303 mul.w r3, r0, r3 809bcb2: 1ad3 subs r3, r2, r3 809bcb4: 4a96 ldr r2, [pc, #600] ; (809bf10 ) 809bcb6: fba2 0203 umull r0, r2, r2, r3 809bcba: 0992 lsrs r2, r2, #6 809bcbc: f44f 707a mov.w r0, #1000 ; 0x3e8 809bcc0: fb00 f202 mul.w r2, r0, r2 809bcc4: 1a9a subs r2, r3, r2 809bcc6: 4b93 ldr r3, [pc, #588] ; (809bf14 ) 809bcc8: fba3 2302 umull r2, r3, r3, r2 809bccc: 095b lsrs r3, r3, #5 809bcce: b2da uxtb r2, r3 809bcd0: 460b mov r3, r1 809bcd2: 009b lsls r3, r3, #2 809bcd4: 440b add r3, r1 809bcd6: f107 0168 add.w r1, r7, #104 ; 0x68 809bcda: 440b add r3, r1 809bcdc: 3b32 subs r3, #50 ; 0x32 809bcde: 701a strb r2, [r3, #0] ik[ipr][3] = (uint8_t) (k % 10000 % 1000 % 100 / 10); 809bce0: 6d39 ldr r1, [r7, #80] ; 0x50 809bce2: 6dbb ldr r3, [r7, #88] ; 0x58 809bce4: 4a89 ldr r2, [pc, #548] ; (809bf0c ) 809bce6: fba2 0203 umull r0, r2, r2, r3 809bcea: 0b52 lsrs r2, r2, #13 809bcec: f242 7010 movw r0, #10000 ; 0x2710 809bcf0: fb00 f202 mul.w r2, r0, r2 809bcf4: 1a9a subs r2, r3, r2 809bcf6: 4b86 ldr r3, [pc, #536] ; (809bf10 ) 809bcf8: fba3 0302 umull r0, r3, r3, r2 809bcfc: 099b lsrs r3, r3, #6 809bcfe: f44f 707a mov.w r0, #1000 ; 0x3e8 809bd02: fb00 f303 mul.w r3, r0, r3 809bd06: 1ad3 subs r3, r2, r3 809bd08: 4a82 ldr r2, [pc, #520] ; (809bf14 ) 809bd0a: fba2 0203 umull r0, r2, r2, r3 809bd0e: 0952 lsrs r2, r2, #5 809bd10: 2064 movs r0, #100 ; 0x64 809bd12: fb00 f202 mul.w r2, r0, r2 809bd16: 1a9a subs r2, r3, r2 809bd18: 4b7f ldr r3, [pc, #508] ; (809bf18 ) 809bd1a: fba3 2302 umull r2, r3, r3, r2 809bd1e: 08db lsrs r3, r3, #3 809bd20: b2da uxtb r2, r3 809bd22: 460b mov r3, r1 809bd24: 009b lsls r3, r3, #2 809bd26: 440b add r3, r1 809bd28: f107 0168 add.w r1, r7, #104 ; 0x68 809bd2c: 440b add r3, r1 809bd2e: 3b31 subs r3, #49 ; 0x31 809bd30: 701a strb r2, [r3, #0] ik[ipr][4] = (uint8_t) (k % 10000 % 1000 % 100 % 10); 809bd32: 6d38 ldr r0, [r7, #80] ; 0x50 809bd34: 6dbb ldr r3, [r7, #88] ; 0x58 809bd36: 4a75 ldr r2, [pc, #468] ; (809bf0c ) 809bd38: fba2 1203 umull r1, r2, r2, r3 809bd3c: 0b52 lsrs r2, r2, #13 809bd3e: f242 7110 movw r1, #10000 ; 0x2710 809bd42: fb01 f202 mul.w r2, r1, r2 809bd46: 1a9a subs r2, r3, r2 809bd48: 4b71 ldr r3, [pc, #452] ; (809bf10 ) 809bd4a: fba3 1302 umull r1, r3, r3, r2 809bd4e: 099b lsrs r3, r3, #6 809bd50: f44f 717a mov.w r1, #1000 ; 0x3e8 809bd54: fb01 f303 mul.w r3, r1, r3 809bd58: 1ad3 subs r3, r2, r3 809bd5a: 4a6e ldr r2, [pc, #440] ; (809bf14 ) 809bd5c: fba2 1203 umull r1, r2, r2, r3 809bd60: 0952 lsrs r2, r2, #5 809bd62: 2164 movs r1, #100 ; 0x64 809bd64: fb01 f202 mul.w r2, r1, r2 809bd68: 1a9a subs r2, r3, r2 809bd6a: 4b6b ldr r3, [pc, #428] ; (809bf18 ) 809bd6c: fba3 1302 umull r1, r3, r3, r2 809bd70: 08d9 lsrs r1, r3, #3 809bd72: 460b mov r3, r1 809bd74: 009b lsls r3, r3, #2 809bd76: 440b add r3, r1 809bd78: 005b lsls r3, r3, #1 809bd7a: 1ad1 subs r1, r2, r3 809bd7c: b2ca uxtb r2, r1 809bd7e: 4603 mov r3, r0 809bd80: 009b lsls r3, r3, #2 809bd82: 4403 add r3, r0 809bd84: f107 0168 add.w r1, r7, #104 ; 0x68 809bd88: 440b add r3, r1 809bd8a: 3b30 subs r3, #48 ; 0x30 809bd8c: 701a strb r2, [r3, #0] if(ipr == ACC) 809bd8e: 6d3b ldr r3, [r7, #80] ; 0x50 809bd90: 2b00 cmp r3, #0 809bd92: f040 80cf bne.w 809bf34 if(!t) 809bd96: 6d7b ldr r3, [r7, #84] ; 0x54 809bd98: 2b00 cmp r3, #0 809bd9a: d126 bne.n 809bdea for(i = 0; i < 5; i++) 809bd9c: 2300 movs r3, #0 809bd9e: 65fb str r3, [r7, #92] ; 0x5c 809bda0: e01f b.n 809bde2 DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 68+18); 809bda2: 6d3a ldr r2, [r7, #80] ; 0x50 809bda4: 6df9 ldr r1, [r7, #92] ; 0x5c 809bda6: 4613 mov r3, r2 809bda8: 009b lsls r3, r3, #2 809bdaa: 4413 add r3, r2 809bdac: f107 0268 add.w r2, r7, #104 ; 0x68 809bdb0: 4413 add r3, r2 809bdb2: 440b add r3, r1 809bdb4: 3b34 subs r3, #52 ; 0x34 809bdb6: 781b ldrb r3, [r3, #0] 809bdb8: b2db uxtb r3, r3 809bdba: 461a mov r2, r3 809bdbc: 4b57 ldr r3, [pc, #348] ; (809bf1c ) 809bdbe: f853 0022 ldr.w r0, [r3, r2, lsl #2] 809bdc2: 6dfb ldr r3, [r7, #92] ; 0x5c 809bdc4: b29b uxth r3, r3 809bdc6: 461a mov r2, r3 809bdc8: 0112 lsls r2, r2, #4 809bdca: 1ad3 subs r3, r2, r3 809bdcc: 005b lsls r3, r3, #1 809bdce: b29b uxth r3, r3 809bdd0: 335a adds r3, #90 ; 0x5a 809bdd2: b29b uxth r3, r3 809bdd4: 2256 movs r2, #86 ; 0x56 809bdd6: 4619 mov r1, r3 809bdd8: f7b8 fbdc bl 8054594 for(i = 0; i < 5; i++) 809bddc: 6dfb ldr r3, [r7, #92] ; 0x5c 809bdde: 3301 adds r3, #1 809bde0: 65fb str r3, [r7, #92] ; 0x5c 809bde2: 6dfb ldr r3, [r7, #92] ; 0x5c 809bde4: 2b04 cmp r3, #4 809bde6: d9dc bls.n 809bda2 809bde8: e05a b.n 809bea0 for(i = 0; i < t; i++) 809bdea: 2300 movs r3, #0 809bdec: 65fb str r3, [r7, #92] ; 0x5c 809bdee: e01f b.n 809be30 DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 68+18); 809bdf0: 6d3a ldr r2, [r7, #80] ; 0x50 809bdf2: 6df9 ldr r1, [r7, #92] ; 0x5c 809bdf4: 4613 mov r3, r2 809bdf6: 009b lsls r3, r3, #2 809bdf8: 4413 add r3, r2 809bdfa: f107 0268 add.w r2, r7, #104 ; 0x68 809bdfe: 4413 add r3, r2 809be00: 440b add r3, r1 809be02: 3b34 subs r3, #52 ; 0x34 809be04: 781b ldrb r3, [r3, #0] 809be06: b2db uxtb r3, r3 809be08: 461a mov r2, r3 809be0a: 4b44 ldr r3, [pc, #272] ; (809bf1c ) 809be0c: f853 0022 ldr.w r0, [r3, r2, lsl #2] 809be10: 6dfb ldr r3, [r7, #92] ; 0x5c 809be12: b29b uxth r3, r3 809be14: 461a mov r2, r3 809be16: 0112 lsls r2, r2, #4 809be18: 1ad3 subs r3, r2, r3 809be1a: 005b lsls r3, r3, #1 809be1c: b29b uxth r3, r3 809be1e: 335a adds r3, #90 ; 0x5a 809be20: b29b uxth r3, r3 809be22: 2256 movs r2, #86 ; 0x56 809be24: 4619 mov r1, r3 809be26: f7b8 fbb5 bl 8054594 for(i = 0; i < t; i++) 809be2a: 6dfb ldr r3, [r7, #92] ; 0x5c 809be2c: 3301 adds r3, #1 809be2e: 65fb str r3, [r7, #92] ; 0x5c 809be30: 6dfa ldr r2, [r7, #92] ; 0x5c 809be32: 6d7b ldr r3, [r7, #84] ; 0x54 809be34: 429a cmp r2, r3 809be36: d3db bcc.n 809bdf0 DrawImage(&bmgpt, 95 + 30*t, 92+18); 809be38: 6d7b ldr r3, [r7, #84] ; 0x54 809be3a: b29b uxth r3, r3 809be3c: 461a mov r2, r3 809be3e: 0112 lsls r2, r2, #4 809be40: 1ad3 subs r3, r2, r3 809be42: 005b lsls r3, r3, #1 809be44: b29b uxth r3, r3 809be46: 335f adds r3, #95 ; 0x5f 809be48: b29b uxth r3, r3 809be4a: 226e movs r2, #110 ; 0x6e 809be4c: 4619 mov r1, r3 809be4e: 4834 ldr r0, [pc, #208] ; (809bf20 ) 809be50: f7b8 fba0 bl 8054594 for(i = t; i < 5; i++) 809be54: 6d7b ldr r3, [r7, #84] ; 0x54 809be56: 65fb str r3, [r7, #92] ; 0x5c 809be58: e01f b.n 809be9a DrawImage(NUMS[ik[ipr][i]], 110 + 30*i, 68+18); 809be5a: 6d3a ldr r2, [r7, #80] ; 0x50 809be5c: 6df9 ldr r1, [r7, #92] ; 0x5c 809be5e: 4613 mov r3, r2 809be60: 009b lsls r3, r3, #2 809be62: 4413 add r3, r2 809be64: f107 0268 add.w r2, r7, #104 ; 0x68 809be68: 4413 add r3, r2 809be6a: 440b add r3, r1 809be6c: 3b34 subs r3, #52 ; 0x34 809be6e: 781b ldrb r3, [r3, #0] 809be70: b2db uxtb r3, r3 809be72: 461a mov r2, r3 809be74: 4b29 ldr r3, [pc, #164] ; (809bf1c ) 809be76: f853 0022 ldr.w r0, [r3, r2, lsl #2] 809be7a: 6dfb ldr r3, [r7, #92] ; 0x5c 809be7c: b29b uxth r3, r3 809be7e: 461a mov r2, r3 809be80: 0112 lsls r2, r2, #4 809be82: 1ad3 subs r3, r2, r3 809be84: 005b lsls r3, r3, #1 809be86: b29b uxth r3, r3 809be88: 336e adds r3, #110 ; 0x6e 809be8a: b29b uxth r3, r3 809be8c: 2256 movs r2, #86 ; 0x56 809be8e: 4619 mov r1, r3 809be90: f7b8 fb80 bl 8054594 for(i = t; i < 5; i++) 809be94: 6dfb ldr r3, [r7, #92] ; 0x5c 809be96: 3301 adds r3, #1 809be98: 65fb str r3, [r7, #92] ; 0x5c 809be9a: 6dfb ldr r3, [r7, #92] ; 0x5c 809be9c: 2b04 cmp r3, #4 809be9e: d9dc bls.n 809be5a if((ReadFileData.Aivs != 'E') && (ReadFileData.Aivs != 'F')) 809bea0: 4b20 ldr r3, [pc, #128] ; (809bf24 ) 809bea2: f893 302c ldrb.w r3, [r3, #44] ; 0x2c 809bea6: b2db uxtb r3, r3 809bea8: 2b45 cmp r3, #69 ; 0x45 809beaa: d012 beq.n 809bed2 809beac: 4b1d ldr r3, [pc, #116] ; (809bf24 ) 809beae: f893 302c ldrb.w r3, [r3, #44] ; 0x2c 809beb2: b2db uxtb r3, r3 809beb4: 2b46 cmp r3, #70 ; 0x46 809beb6: d00c beq.n 809bed2 DrawImage(BMG_MS[pardata.LANG], 265, 74+18); 809beb8: 4b1b ldr r3, [pc, #108] ; (809bf28 ) 809beba: 7b1b ldrb r3, [r3, #12] 809bebc: b2db uxtb r3, r3 809bebe: 461a mov r2, r3 809bec0: 4b1a ldr r3, [pc, #104] ; (809bf2c ) 809bec2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809bec6: 225c movs r2, #92 ; 0x5c 809bec8: f240 1109 movw r1, #265 ; 0x109 809becc: 4618 mov r0, r3 809bece: f7b8 fb61 bl 8054594 if(ReadFileData.Aivs == 'E') 809bed2: 4b14 ldr r3, [pc, #80] ; (809bf24 ) 809bed4: f893 302c ldrb.w r3, [r3, #44] ; 0x2c 809bed8: b2db uxtb r3, r3 809beda: 2b45 cmp r3, #69 ; 0x45 809bedc: f040 81fd bne.w 809c2da if(ReadFileData.Aval.fl < 0.0f) { 809bee0: 4b10 ldr r3, [pc, #64] ; (809bf24 ) 809bee2: edd3 7a00 vldr s15, [r3] 809bee6: eef5 7ac0 vcmpe.f32 s15, #0.0 809beea: eef1 fa10 vmrs APSR_nzcv, fpscr 809beee: f140 81f4 bpl.w 809c2da DrawImage(&bmgminus, 78, 84+18); 809bef2: 2266 movs r2, #102 ; 0x66 809bef4: 214e movs r1, #78 ; 0x4e 809bef6: 480e ldr r0, [pc, #56] ; (809bf30 ) 809bef8: f7b8 fb4c bl 8054594 809befc: e1ed b.n 809c2da 809befe: bf00 nop 809bf00: 0001869f .word 0x0001869f 809bf04: 4cbebc20 .word 0x4cbebc20 809bf08: 47c34f80 .word 0x47c34f80 809bf0c: d1b71759 .word 0xd1b71759 809bf10: 10624dd3 .word 0x10624dd3 809bf14: 51eb851f .word 0x51eb851f 809bf18: cccccccd .word 0xcccccccd 809bf1c: 20020124 .word 0x20020124 809bf20: 08167a1c .word 0x08167a1c 809bf24: 200226a0 .word 0x200226a0 809bf28: 20023e60 .word 0x20023e60 809bf2c: 200200f4 .word 0x200200f4 809bf30: 08167990 .word 0x08167990 if(ipr == VEL) 809bf34: 6d3b ldr r3, [r7, #80] ; 0x50 809bf36: 2b01 cmp r3, #1 809bf38: f040 80d4 bne.w 809c0e4 if(ReadFileData.Vval.fl != -1.0f) 809bf3c: 4ba2 ldr r3, [pc, #648] ; (809c1c8 ) 809bf3e: edd3 7a01 vldr s15, [r3, #4] 809bf42: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 809bf46: eef4 7a47 vcmp.f32 s15, s14 809bf4a: eef1 fa10 vmrs APSR_nzcv, fpscr 809bf4e: f000 80b4 beq.w 809c0ba if(!t) 809bf52: 6d7b ldr r3, [r7, #84] ; 0x54 809bf54: 2b00 cmp r3, #0 809bf56: d126 bne.n 809bfa6 for(i = 0; i < 5; i++) 809bf58: 2300 movs r3, #0 809bf5a: 65fb str r3, [r7, #92] ; 0x5c 809bf5c: e01f b.n 809bf9e DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 121+9); 809bf5e: 6d3a ldr r2, [r7, #80] ; 0x50 809bf60: 6df9 ldr r1, [r7, #92] ; 0x5c 809bf62: 4613 mov r3, r2 809bf64: 009b lsls r3, r3, #2 809bf66: 4413 add r3, r2 809bf68: f107 0268 add.w r2, r7, #104 ; 0x68 809bf6c: 4413 add r3, r2 809bf6e: 440b add r3, r1 809bf70: 3b34 subs r3, #52 ; 0x34 809bf72: 781b ldrb r3, [r3, #0] 809bf74: b2db uxtb r3, r3 809bf76: 461a mov r2, r3 809bf78: 4b94 ldr r3, [pc, #592] ; (809c1cc ) 809bf7a: f853 0022 ldr.w r0, [r3, r2, lsl #2] 809bf7e: 6dfb ldr r3, [r7, #92] ; 0x5c 809bf80: b29b uxth r3, r3 809bf82: 461a mov r2, r3 809bf84: 0112 lsls r2, r2, #4 809bf86: 1ad3 subs r3, r2, r3 809bf88: 005b lsls r3, r3, #1 809bf8a: b29b uxth r3, r3 809bf8c: 335a adds r3, #90 ; 0x5a 809bf8e: b29b uxth r3, r3 809bf90: 2282 movs r2, #130 ; 0x82 809bf92: 4619 mov r1, r3 809bf94: f7b8 fafe bl 8054594 for(i = 0; i < 5; i++) 809bf98: 6dfb ldr r3, [r7, #92] ; 0x5c 809bf9a: 3301 adds r3, #1 809bf9c: 65fb str r3, [r7, #92] ; 0x5c 809bf9e: 6dfb ldr r3, [r7, #92] ; 0x5c 809bfa0: 2b04 cmp r3, #4 809bfa2: d9dc bls.n 809bf5e 809bfa4: e05a b.n 809c05c for(i = 0; i < t; i++) 809bfa6: 2300 movs r3, #0 809bfa8: 65fb str r3, [r7, #92] ; 0x5c 809bfaa: e01f b.n 809bfec DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 121+9); 809bfac: 6d3a ldr r2, [r7, #80] ; 0x50 809bfae: 6df9 ldr r1, [r7, #92] ; 0x5c 809bfb0: 4613 mov r3, r2 809bfb2: 009b lsls r3, r3, #2 809bfb4: 4413 add r3, r2 809bfb6: f107 0268 add.w r2, r7, #104 ; 0x68 809bfba: 4413 add r3, r2 809bfbc: 440b add r3, r1 809bfbe: 3b34 subs r3, #52 ; 0x34 809bfc0: 781b ldrb r3, [r3, #0] 809bfc2: b2db uxtb r3, r3 809bfc4: 461a mov r2, r3 809bfc6: 4b81 ldr r3, [pc, #516] ; (809c1cc ) 809bfc8: f853 0022 ldr.w r0, [r3, r2, lsl #2] 809bfcc: 6dfb ldr r3, [r7, #92] ; 0x5c 809bfce: b29b uxth r3, r3 809bfd0: 461a mov r2, r3 809bfd2: 0112 lsls r2, r2, #4 809bfd4: 1ad3 subs r3, r2, r3 809bfd6: 005b lsls r3, r3, #1 809bfd8: b29b uxth r3, r3 809bfda: 335a adds r3, #90 ; 0x5a 809bfdc: b29b uxth r3, r3 809bfde: 2282 movs r2, #130 ; 0x82 809bfe0: 4619 mov r1, r3 809bfe2: f7b8 fad7 bl 8054594 for(i = 0; i < t; i++) 809bfe6: 6dfb ldr r3, [r7, #92] ; 0x5c 809bfe8: 3301 adds r3, #1 809bfea: 65fb str r3, [r7, #92] ; 0x5c 809bfec: 6dfa ldr r2, [r7, #92] ; 0x5c 809bfee: 6d7b ldr r3, [r7, #84] ; 0x54 809bff0: 429a cmp r2, r3 809bff2: d3db bcc.n 809bfac DrawImage(&bmgpt, 95 + 30*t, 145+9); 809bff4: 6d7b ldr r3, [r7, #84] ; 0x54 809bff6: b29b uxth r3, r3 809bff8: 461a mov r2, r3 809bffa: 0112 lsls r2, r2, #4 809bffc: 1ad3 subs r3, r2, r3 809bffe: 005b lsls r3, r3, #1 809c000: b29b uxth r3, r3 809c002: 335f adds r3, #95 ; 0x5f 809c004: b29b uxth r3, r3 809c006: 229a movs r2, #154 ; 0x9a 809c008: 4619 mov r1, r3 809c00a: 4871 ldr r0, [pc, #452] ; (809c1d0 ) 809c00c: f7b8 fac2 bl 8054594 for(i = t; i < 5; i++) 809c010: 6d7b ldr r3, [r7, #84] ; 0x54 809c012: 65fb str r3, [r7, #92] ; 0x5c 809c014: e01f b.n 809c056 DrawImage(NUMS[ik[ipr][i]], 110 + 30*i, 121+9); 809c016: 6d3a ldr r2, [r7, #80] ; 0x50 809c018: 6df9 ldr r1, [r7, #92] ; 0x5c 809c01a: 4613 mov r3, r2 809c01c: 009b lsls r3, r3, #2 809c01e: 4413 add r3, r2 809c020: f107 0268 add.w r2, r7, #104 ; 0x68 809c024: 4413 add r3, r2 809c026: 440b add r3, r1 809c028: 3b34 subs r3, #52 ; 0x34 809c02a: 781b ldrb r3, [r3, #0] 809c02c: b2db uxtb r3, r3 809c02e: 461a mov r2, r3 809c030: 4b66 ldr r3, [pc, #408] ; (809c1cc ) 809c032: f853 0022 ldr.w r0, [r3, r2, lsl #2] 809c036: 6dfb ldr r3, [r7, #92] ; 0x5c 809c038: b29b uxth r3, r3 809c03a: 461a mov r2, r3 809c03c: 0112 lsls r2, r2, #4 809c03e: 1ad3 subs r3, r2, r3 809c040: 005b lsls r3, r3, #1 809c042: b29b uxth r3, r3 809c044: 336e adds r3, #110 ; 0x6e 809c046: b29b uxth r3, r3 809c048: 2282 movs r2, #130 ; 0x82 809c04a: 4619 mov r1, r3 809c04c: f7b8 faa2 bl 8054594 for(i = t; i < 5; i++) 809c050: 6dfb ldr r3, [r7, #92] ; 0x5c 809c052: 3301 adds r3, #1 809c054: 65fb str r3, [r7, #92] ; 0x5c 809c056: 6dfb ldr r3, [r7, #92] ; 0x5c 809c058: 2b04 cmp r3, #4 809c05a: d9dc bls.n 809c016 if((ReadFileData.Vivs != 'E') && (ReadFileData.Vivs != 'F')) 809c05c: 4b5a ldr r3, [pc, #360] ; (809c1c8 ) 809c05e: f893 302d ldrb.w r3, [r3, #45] ; 0x2d 809c062: b2db uxtb r3, r3 809c064: 2b45 cmp r3, #69 ; 0x45 809c066: d012 beq.n 809c08e 809c068: 4b57 ldr r3, [pc, #348] ; (809c1c8 ) 809c06a: f893 302d ldrb.w r3, [r3, #45] ; 0x2d 809c06e: b2db uxtb r3, r3 809c070: 2b46 cmp r3, #70 ; 0x46 809c072: d00c beq.n 809c08e DrawImage(BMG_MMS[pardata.LANG], 265, 128+9); 809c074: 4b57 ldr r3, [pc, #348] ; (809c1d4 ) 809c076: 7b1b ldrb r3, [r3, #12] 809c078: b2db uxtb r3, r3 809c07a: 461a mov r2, r3 809c07c: 4b56 ldr r3, [pc, #344] ; (809c1d8 ) 809c07e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809c082: 2289 movs r2, #137 ; 0x89 809c084: f240 1109 movw r1, #265 ; 0x109 809c088: 4618 mov r0, r3 809c08a: f7b8 fa83 bl 8054594 if(ReadFileData.Vivs == 'E') 809c08e: 4b4e ldr r3, [pc, #312] ; (809c1c8 ) 809c090: f893 302d ldrb.w r3, [r3, #45] ; 0x2d 809c094: b2db uxtb r3, r3 809c096: 2b45 cmp r3, #69 ; 0x45 809c098: f040 811f bne.w 809c2da if(ReadFileData.Vval.fl < 0.0f) { 809c09c: 4b4a ldr r3, [pc, #296] ; (809c1c8 ) 809c09e: edd3 7a01 vldr s15, [r3, #4] 809c0a2: eef5 7ac0 vcmpe.f32 s15, #0.0 809c0a6: eef1 fa10 vmrs APSR_nzcv, fpscr 809c0aa: f140 8116 bpl.w 809c2da DrawImage(&bmgminus, 78, 138+9); 809c0ae: 2293 movs r2, #147 ; 0x93 809c0b0: 214e movs r1, #78 ; 0x4e 809c0b2: 484a ldr r0, [pc, #296] ; (809c1dc ) 809c0b4: f7b8 fa6e bl 8054594 809c0b8: e10f b.n 809c2da LCD_SetColors(LCD_COLOR_NUMGREEN, LCD_COLOR_BLACK); 809c0ba: 4949 ldr r1, [pc, #292] ; (809c1e0 ) 809c0bc: 4849 ldr r0, [pc, #292] ; (809c1e4 ) 809c0be: f7b7 fb75 bl 80537ac if(pardata.LANG == RUS) 809c0c2: 4b44 ldr r3, [pc, #272] ; (809c1d4 ) 809c0c4: 7b1b ldrb r3, [r3, #12] 809c0c6: b2db uxtb r3, r3 809c0c8: 2b00 cmp r3, #0 809c0ca: d105 bne.n 809c0d8 LCD_DisplayStringC(167, 135, "ÍÅÒ ÄÀÍÍÛÕ"); 809c0cc: 4a46 ldr r2, [pc, #280] ; (809c1e8 ) 809c0ce: 2187 movs r1, #135 ; 0x87 809c0d0: 20a7 movs r0, #167 ; 0xa7 809c0d2: f7b8 f92b bl 805432c 809c0d6: e100 b.n 809c2da else LCD_DisplayStringC(167, 135, "NO DATA"); 809c0d8: 4a44 ldr r2, [pc, #272] ; (809c1ec ) 809c0da: 2187 movs r1, #135 ; 0x87 809c0dc: 20a7 movs r0, #167 ; 0xa7 809c0de: f7b8 f925 bl 805432c 809c0e2: e0fa b.n 809c2da if(ipr == DIS) 809c0e4: 6d3b ldr r3, [r7, #80] ; 0x50 809c0e6: 2b02 cmp r3, #2 809c0e8: f040 80f7 bne.w 809c2da if(ReadFileData.Sval.fl != -1.0f) 809c0ec: 4b36 ldr r3, [pc, #216] ; (809c1c8 ) 809c0ee: edd3 7a02 vldr s15, [r3, #8] 809c0f2: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 809c0f6: eef4 7a47 vcmp.f32 s15, s14 809c0fa: eef1 fa10 vmrs APSR_nzcv, fpscr 809c0fe: f000 80d8 beq.w 809c2b2 if(!t) 809c102: 6d7b ldr r3, [r7, #84] ; 0x54 809c104: 2b00 cmp r3, #0 809c106: d126 bne.n 809c156 for(i = 0; i < 5; i++) 809c108: 2300 movs r3, #0 809c10a: 65fb str r3, [r7, #92] ; 0x5c 809c10c: e01f b.n 809c14e DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 174); 809c10e: 6d3a ldr r2, [r7, #80] ; 0x50 809c110: 6df9 ldr r1, [r7, #92] ; 0x5c 809c112: 4613 mov r3, r2 809c114: 009b lsls r3, r3, #2 809c116: 4413 add r3, r2 809c118: f107 0268 add.w r2, r7, #104 ; 0x68 809c11c: 4413 add r3, r2 809c11e: 440b add r3, r1 809c120: 3b34 subs r3, #52 ; 0x34 809c122: 781b ldrb r3, [r3, #0] 809c124: b2db uxtb r3, r3 809c126: 461a mov r2, r3 809c128: 4b28 ldr r3, [pc, #160] ; (809c1cc ) 809c12a: f853 0022 ldr.w r0, [r3, r2, lsl #2] 809c12e: 6dfb ldr r3, [r7, #92] ; 0x5c 809c130: b29b uxth r3, r3 809c132: 461a mov r2, r3 809c134: 0112 lsls r2, r2, #4 809c136: 1ad3 subs r3, r2, r3 809c138: 005b lsls r3, r3, #1 809c13a: b29b uxth r3, r3 809c13c: 335a adds r3, #90 ; 0x5a 809c13e: b29b uxth r3, r3 809c140: 22ae movs r2, #174 ; 0xae 809c142: 4619 mov r1, r3 809c144: f7b8 fa26 bl 8054594 for(i = 0; i < 5; i++) 809c148: 6dfb ldr r3, [r7, #92] ; 0x5c 809c14a: 3301 adds r3, #1 809c14c: 65fb str r3, [r7, #92] ; 0x5c 809c14e: 6dfb ldr r3, [r7, #92] ; 0x5c 809c150: 2b04 cmp r3, #4 809c152: d9dc bls.n 809c10e 809c154: e06f b.n 809c236 for(i = 0; i < t; i++) 809c156: 2300 movs r3, #0 809c158: 65fb str r3, [r7, #92] ; 0x5c 809c15a: e01f b.n 809c19c DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 174); 809c15c: 6d3a ldr r2, [r7, #80] ; 0x50 809c15e: 6df9 ldr r1, [r7, #92] ; 0x5c 809c160: 4613 mov r3, r2 809c162: 009b lsls r3, r3, #2 809c164: 4413 add r3, r2 809c166: f107 0268 add.w r2, r7, #104 ; 0x68 809c16a: 4413 add r3, r2 809c16c: 440b add r3, r1 809c16e: 3b34 subs r3, #52 ; 0x34 809c170: 781b ldrb r3, [r3, #0] 809c172: b2db uxtb r3, r3 809c174: 461a mov r2, r3 809c176: 4b15 ldr r3, [pc, #84] ; (809c1cc ) 809c178: f853 0022 ldr.w r0, [r3, r2, lsl #2] 809c17c: 6dfb ldr r3, [r7, #92] ; 0x5c 809c17e: b29b uxth r3, r3 809c180: 461a mov r2, r3 809c182: 0112 lsls r2, r2, #4 809c184: 1ad3 subs r3, r2, r3 809c186: 005b lsls r3, r3, #1 809c188: b29b uxth r3, r3 809c18a: 335a adds r3, #90 ; 0x5a 809c18c: b29b uxth r3, r3 809c18e: 22ae movs r2, #174 ; 0xae 809c190: 4619 mov r1, r3 809c192: f7b8 f9ff bl 8054594 for(i = 0; i < t; i++) 809c196: 6dfb ldr r3, [r7, #92] ; 0x5c 809c198: 3301 adds r3, #1 809c19a: 65fb str r3, [r7, #92] ; 0x5c 809c19c: 6dfa ldr r2, [r7, #92] ; 0x5c 809c19e: 6d7b ldr r3, [r7, #84] ; 0x54 809c1a0: 429a cmp r2, r3 809c1a2: d3db bcc.n 809c15c DrawImage(&bmgpt, 95 + 30*t, 198); 809c1a4: 6d7b ldr r3, [r7, #84] ; 0x54 809c1a6: b29b uxth r3, r3 809c1a8: 461a mov r2, r3 809c1aa: 0112 lsls r2, r2, #4 809c1ac: 1ad3 subs r3, r2, r3 809c1ae: 005b lsls r3, r3, #1 809c1b0: b29b uxth r3, r3 809c1b2: 335f adds r3, #95 ; 0x5f 809c1b4: b29b uxth r3, r3 809c1b6: 22c6 movs r2, #198 ; 0xc6 809c1b8: 4619 mov r1, r3 809c1ba: 4805 ldr r0, [pc, #20] ; (809c1d0 ) 809c1bc: f7b8 f9ea bl 8054594 for(i = t; i < 5; i++) 809c1c0: 6d7b ldr r3, [r7, #84] ; 0x54 809c1c2: 65fb str r3, [r7, #92] ; 0x5c 809c1c4: e034 b.n 809c230 809c1c6: bf00 nop 809c1c8: 200226a0 .word 0x200226a0 809c1cc: 20020124 .word 0x20020124 809c1d0: 08167a1c .word 0x08167a1c 809c1d4: 20023e60 .word 0x20023e60 809c1d8: 200200fc .word 0x200200fc 809c1dc: 08167990 .word 0x08167990 809c1e0: ff0a0f1f .word 0xff0a0f1f 809c1e4: ffb8e828 .word 0xffb8e828 809c1e8: 080cfaf4 .word 0x080cfaf4 809c1ec: 080cfb00 .word 0x080cfb00 DrawImage(NUMS[ik[ipr][i]], 110 + 30*i, 174); 809c1f0: 6d3a ldr r2, [r7, #80] ; 0x50 809c1f2: 6df9 ldr r1, [r7, #92] ; 0x5c 809c1f4: 4613 mov r3, r2 809c1f6: 009b lsls r3, r3, #2 809c1f8: 4413 add r3, r2 809c1fa: f107 0268 add.w r2, r7, #104 ; 0x68 809c1fe: 4413 add r3, r2 809c200: 440b add r3, r1 809c202: 3b34 subs r3, #52 ; 0x34 809c204: 781b ldrb r3, [r3, #0] 809c206: b2db uxtb r3, r3 809c208: 461a mov r2, r3 809c20a: 4bc5 ldr r3, [pc, #788] ; (809c520 ) 809c20c: f853 0022 ldr.w r0, [r3, r2, lsl #2] 809c210: 6dfb ldr r3, [r7, #92] ; 0x5c 809c212: b29b uxth r3, r3 809c214: 461a mov r2, r3 809c216: 0112 lsls r2, r2, #4 809c218: 1ad3 subs r3, r2, r3 809c21a: 005b lsls r3, r3, #1 809c21c: b29b uxth r3, r3 809c21e: 336e adds r3, #110 ; 0x6e 809c220: b29b uxth r3, r3 809c222: 22ae movs r2, #174 ; 0xae 809c224: 4619 mov r1, r3 809c226: f7b8 f9b5 bl 8054594 for(i = t; i < 5; i++) 809c22a: 6dfb ldr r3, [r7, #92] ; 0x5c 809c22c: 3301 adds r3, #1 809c22e: 65fb str r3, [r7, #92] ; 0x5c 809c230: 6dfb ldr r3, [r7, #92] ; 0x5c 809c232: 2b04 cmp r3, #4 809c234: d9dc bls.n 809c1f0 if((ReadFileData.Sivs != 'E') && (ReadFileData.Sivs != 'F')) 809c236: 4bbb ldr r3, [pc, #748] ; (809c524 ) 809c238: f893 302e ldrb.w r3, [r3, #46] ; 0x2e 809c23c: b2db uxtb r3, r3 809c23e: 2b45 cmp r3, #69 ; 0x45 809c240: d023 beq.n 809c28a 809c242: 4bb8 ldr r3, [pc, #736] ; (809c524 ) 809c244: f893 302e ldrb.w r3, [r3, #46] ; 0x2e 809c248: b2db uxtb r3, r3 809c24a: 2b46 cmp r3, #70 ; 0x46 809c24c: d01d beq.n 809c28a if(m == 0) 809c24e: 6cfb ldr r3, [r7, #76] ; 0x4c 809c250: 2b00 cmp r3, #0 809c252: d10d bne.n 809c270 DrawImage(BMG_MKM[pardata.LANG], 265, 180); 809c254: 4bb4 ldr r3, [pc, #720] ; (809c528 ) 809c256: 7b1b ldrb r3, [r3, #12] 809c258: b2db uxtb r3, r3 809c25a: 461a mov r2, r3 809c25c: 4bb3 ldr r3, [pc, #716] ; (809c52c ) 809c25e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809c262: 22b4 movs r2, #180 ; 0xb4 809c264: f240 1109 movw r1, #265 ; 0x109 809c268: 4618 mov r0, r3 809c26a: f7b8 f993 bl 8054594 809c26e: e00c b.n 809c28a else DrawImage(BMG_MM[pardata.LANG], 265, 180); 809c270: 4bad ldr r3, [pc, #692] ; (809c528 ) 809c272: 7b1b ldrb r3, [r3, #12] 809c274: b2db uxtb r3, r3 809c276: 461a mov r2, r3 809c278: 4bad ldr r3, [pc, #692] ; (809c530 ) 809c27a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809c27e: 22b4 movs r2, #180 ; 0xb4 809c280: f240 1109 movw r1, #265 ; 0x109 809c284: 4618 mov r0, r3 809c286: f7b8 f985 bl 8054594 if(ReadFileData.Sivs == 'E') 809c28a: 4ba6 ldr r3, [pc, #664] ; (809c524 ) 809c28c: f893 302e ldrb.w r3, [r3, #46] ; 0x2e 809c290: b2db uxtb r3, r3 809c292: 2b45 cmp r3, #69 ; 0x45 809c294: d121 bne.n 809c2da if(ReadFileData.Sval.fl < 0.0f) { 809c296: 4ba3 ldr r3, [pc, #652] ; (809c524 ) 809c298: edd3 7a02 vldr s15, [r3, #8] 809c29c: eef5 7ac0 vcmpe.f32 s15, #0.0 809c2a0: eef1 fa10 vmrs APSR_nzcv, fpscr 809c2a4: d519 bpl.n 809c2da DrawImage(&bmgminus, 78, 190); 809c2a6: 22be movs r2, #190 ; 0xbe 809c2a8: 214e movs r1, #78 ; 0x4e 809c2aa: 48a2 ldr r0, [pc, #648] ; (809c534 ) 809c2ac: f7b8 f972 bl 8054594 809c2b0: e013 b.n 809c2da LCD_SetColors(LCD_COLOR_NUMGREEN, LCD_COLOR_BLACK); 809c2b2: 49a1 ldr r1, [pc, #644] ; (809c538 ) 809c2b4: 48a1 ldr r0, [pc, #644] ; (809c53c ) 809c2b6: f7b7 fa79 bl 80537ac if(pardata.LANG == RUS) 809c2ba: 4b9b ldr r3, [pc, #620] ; (809c528 ) 809c2bc: 7b1b ldrb r3, [r3, #12] 809c2be: b2db uxtb r3, r3 809c2c0: 2b00 cmp r3, #0 809c2c2: d105 bne.n 809c2d0 LCD_DisplayStringC(167, 185, "ÍÅÒ ÄÀÍÍÛÕ"); 809c2c4: 4a9e ldr r2, [pc, #632] ; (809c540 ) 809c2c6: 21b9 movs r1, #185 ; 0xb9 809c2c8: 20a7 movs r0, #167 ; 0xa7 809c2ca: f7b8 f82f bl 805432c 809c2ce: e004 b.n 809c2da else LCD_DisplayStringC(167, 185, "NO DATA"); 809c2d0: 4a9c ldr r2, [pc, #624] ; (809c544 ) 809c2d2: 21b9 movs r1, #185 ; 0xb9 809c2d4: 20a7 movs r0, #167 ; 0xa7 809c2d6: f7b8 f829 bl 805432c for(ipr = ACC; ipr <= DIS; ipr++) 809c2da: 6d3b ldr r3, [r7, #80] ; 0x50 809c2dc: 3301 adds r3, #1 809c2de: 653b str r3, [r7, #80] ; 0x50 809c2e0: 6d3b ldr r3, [r7, #80] ; 0x50 809c2e2: 2b02 cmp r3, #2 809c2e4: f67f aa72 bls.w 809b7cc break; 809c2e8: f007 bbc8 b.w 80a3a7c for(ipr = ACC; ipr <= DIS; ipr++) 809c2ec: 2300 movs r3, #0 809c2ee: 653b str r3, [r7, #80] ; 0x50 809c2f0: f001 b984 b.w 809d5fc if(ipr == ACC) f = ReadFileData.Aval.fl; 809c2f4: 6d3b ldr r3, [r7, #80] ; 0x50 809c2f6: 2b00 cmp r3, #0 809c2f8: d103 bne.n 809c302 809c2fa: 4b8a ldr r3, [pc, #552] ; (809c524 ) 809c2fc: 681b ldr r3, [r3, #0] 809c2fe: 647b str r3, [r7, #68] ; 0x44 809c300: e00c b.n 809c31c else if(ipr == VEL) f = ReadFileData.Vval.fl; 809c302: 6d3b ldr r3, [r7, #80] ; 0x50 809c304: 2b01 cmp r3, #1 809c306: d103 bne.n 809c310 809c308: 4b86 ldr r3, [pc, #536] ; (809c524 ) 809c30a: 685b ldr r3, [r3, #4] 809c30c: 647b str r3, [r7, #68] ; 0x44 809c30e: e005 b.n 809c31c else if(ipr == DIS) f = ReadFileData.Sval.fl; 809c310: 6d3b ldr r3, [r7, #80] ; 0x50 809c312: 2b02 cmp r3, #2 809c314: d102 bne.n 809c31c 809c316: 4b83 ldr r3, [pc, #524] ; (809c524 ) 809c318: 689b ldr r3, [r3, #8] 809c31a: 647b str r3, [r7, #68] ; 0x44 if((ivs[ipr] == 'F') || (ivs[ipr] == 'E')) 809c31c: 6d3b ldr r3, [r7, #80] ; 0x50 809c31e: f107 0268 add.w r2, r7, #104 ; 0x68 809c322: 4413 add r3, r2 809c324: f813 3c68 ldrb.w r3, [r3, #-104] 809c328: 2b46 cmp r3, #70 ; 0x46 809c32a: d008 beq.n 809c33e 809c32c: 6d3b ldr r3, [r7, #80] ; 0x50 809c32e: f107 0268 add.w r2, r7, #104 ; 0x68 809c332: 4413 add r3, r2 809c334: f813 3c68 ldrb.w r3, [r3, #-104] 809c338: 2b45 cmp r3, #69 ; 0x45 809c33a: f040 8547 bne.w 809cdcc if(ipr < DIS) 809c33e: 6d3b ldr r3, [r7, #80] ; 0x50 809c340: 2b01 cmp r3, #1 809c342: f200 80af bhi.w 809c4a4 if(f < 10.0f) 809c346: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809c34a: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 809c34e: eef4 7ac7 vcmpe.f32 s15, s14 809c352: eef1 fa10 vmrs APSR_nzcv, fpscr 809c356: d513 bpl.n 809c380 k = (uint32_t) (roundf(f * 10000)); 809c358: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809c35c: ed9f 7a7e vldr s14, [pc, #504] ; 809c558 809c360: ee67 7a87 vmul.f32 s15, s15, s14 809c364: eeb0 0a67 vmov.f32 s0, s15 809c368: f02e fc70 bl 80cac4c 809c36c: eef0 7a40 vmov.f32 s15, s0 809c370: eefc 7ae7 vcvt.u32.f32 s15, s15 809c374: ee17 3a90 vmov r3, s15 809c378: 65bb str r3, [r7, #88] ; 0x58 t = 1; 809c37a: 2301 movs r3, #1 809c37c: 657b str r3, [r7, #84] ; 0x54 809c37e: e1d3 b.n 809c728 if(f < 100.0f) 809c380: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809c384: ed9f 7a73 vldr s14, [pc, #460] ; 809c554 809c388: eef4 7ac7 vcmpe.f32 s15, s14 809c38c: eef1 fa10 vmrs APSR_nzcv, fpscr 809c390: d513 bpl.n 809c3ba k = (uint32_t) (roundf(f * 1000)); 809c392: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809c396: ed9f 7a6e vldr s14, [pc, #440] ; 809c550 809c39a: ee67 7a87 vmul.f32 s15, s15, s14 809c39e: eeb0 0a67 vmov.f32 s0, s15 809c3a2: f02e fc53 bl 80cac4c 809c3a6: eef0 7a40 vmov.f32 s15, s0 809c3aa: eefc 7ae7 vcvt.u32.f32 s15, s15 809c3ae: ee17 3a90 vmov r3, s15 809c3b2: 65bb str r3, [r7, #88] ; 0x58 t = 2; 809c3b4: 2302 movs r3, #2 809c3b6: 657b str r3, [r7, #84] ; 0x54 809c3b8: e1b6 b.n 809c728 if(f < 1000.0f) 809c3ba: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809c3be: ed9f 7a64 vldr s14, [pc, #400] ; 809c550 809c3c2: eef4 7ac7 vcmpe.f32 s15, s14 809c3c6: eef1 fa10 vmrs APSR_nzcv, fpscr 809c3ca: d513 bpl.n 809c3f4 k = (uint32_t) (roundf(f * 100)); 809c3cc: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809c3d0: ed9f 7a60 vldr s14, [pc, #384] ; 809c554 809c3d4: ee67 7a87 vmul.f32 s15, s15, s14 809c3d8: eeb0 0a67 vmov.f32 s0, s15 809c3dc: f02e fc36 bl 80cac4c 809c3e0: eef0 7a40 vmov.f32 s15, s0 809c3e4: eefc 7ae7 vcvt.u32.f32 s15, s15 809c3e8: ee17 3a90 vmov r3, s15 809c3ec: 65bb str r3, [r7, #88] ; 0x58 t = 3; 809c3ee: 2303 movs r3, #3 809c3f0: 657b str r3, [r7, #84] ; 0x54 809c3f2: e199 b.n 809c728 if(f < 10000.0f) 809c3f4: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809c3f8: ed9f 7a57 vldr s14, [pc, #348] ; 809c558 809c3fc: eef4 7ac7 vcmpe.f32 s15, s14 809c400: eef1 fa10 vmrs APSR_nzcv, fpscr 809c404: d513 bpl.n 809c42e k = (uint32_t) (roundf(f * 10)); 809c406: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809c40a: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 809c40e: ee67 7a87 vmul.f32 s15, s15, s14 809c412: eeb0 0a67 vmov.f32 s0, s15 809c416: f02e fc19 bl 80cac4c 809c41a: eef0 7a40 vmov.f32 s15, s0 809c41e: eefc 7ae7 vcvt.u32.f32 s15, s15 809c422: ee17 3a90 vmov r3, s15 809c426: 65bb str r3, [r7, #88] ; 0x58 t = 4; 809c428: 2304 movs r3, #4 809c42a: 657b str r3, [r7, #84] ; 0x54 809c42c: e17c b.n 809c728 if(f < 100000.0f) 809c42e: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809c432: ed9f 7a4a vldr s14, [pc, #296] ; 809c55c 809c436: eef4 7ac7 vcmpe.f32 s15, s14 809c43a: eef1 fa10 vmrs APSR_nzcv, fpscr 809c43e: d515 bpl.n 809c46c k = (uint32_t) (roundf(f)); 809c440: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809c444: eeb0 0a67 vmov.f32 s0, s15 809c448: f02e fc00 bl 80cac4c 809c44c: eef0 7a40 vmov.f32 s15, s0 809c450: eefc 7ae7 vcvt.u32.f32 s15, s15 809c454: ee17 3a90 vmov r3, s15 809c458: 65bb str r3, [r7, #88] ; 0x58 if(k >= 100000) 809c45a: 6dbb ldr r3, [r7, #88] ; 0x58 809c45c: 4a3a ldr r2, [pc, #232] ; (809c548 ) 809c45e: 4293 cmp r3, r2 809c460: d901 bls.n 809c466 k = 99999; 809c462: 4b39 ldr r3, [pc, #228] ; (809c548 ) 809c464: 65bb str r3, [r7, #88] ; 0x58 t = 0; 809c466: 2300 movs r3, #0 809c468: 657b str r3, [r7, #84] ; 0x54 809c46a: e15d b.n 809c728 if(f >= 100000.0f) 809c46c: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809c470: ed9f 7a3a vldr s14, [pc, #232] ; 809c55c 809c474: eef4 7ac7 vcmpe.f32 s15, s14 809c478: eef1 fa10 vmrs APSR_nzcv, fpscr 809c47c: f2c0 8154 blt.w 809c728 f = 99999.0f; 809c480: 4b32 ldr r3, [pc, #200] ; (809c54c ) 809c482: 647b str r3, [r7, #68] ; 0x44 k = (uint32_t) (roundf(f)); 809c484: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809c488: eeb0 0a67 vmov.f32 s0, s15 809c48c: f02e fbde bl 80cac4c 809c490: eef0 7a40 vmov.f32 s15, s0 809c494: eefc 7ae7 vcvt.u32.f32 s15, s15 809c498: ee17 3a90 vmov r3, s15 809c49c: 65bb str r3, [r7, #88] ; 0x58 t = 0; 809c49e: 2300 movs r3, #0 809c4a0: 657b str r3, [r7, #84] ; 0x54 809c4a2: e141 b.n 809c728 if(f < 10.0f) 809c4a4: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809c4a8: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 809c4ac: eef4 7ac7 vcmpe.f32 s15, s14 809c4b0: eef1 fa10 vmrs APSR_nzcv, fpscr 809c4b4: d515 bpl.n 809c4e2 k = (uint32_t) (roundf(f * 10000)); 809c4b6: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809c4ba: ed9f 7a27 vldr s14, [pc, #156] ; 809c558 809c4be: ee67 7a87 vmul.f32 s15, s15, s14 809c4c2: eeb0 0a67 vmov.f32 s0, s15 809c4c6: f02e fbc1 bl 80cac4c 809c4ca: eef0 7a40 vmov.f32 s15, s0 809c4ce: eefc 7ae7 vcvt.u32.f32 s15, s15 809c4d2: ee17 3a90 vmov r3, s15 809c4d6: 65bb str r3, [r7, #88] ; 0x58 t = 1; 809c4d8: 2301 movs r3, #1 809c4da: 657b str r3, [r7, #84] ; 0x54 m = 0; 809c4dc: 2300 movs r3, #0 809c4de: 64fb str r3, [r7, #76] ; 0x4c 809c4e0: e122 b.n 809c728 if(f < 100.0f) 809c4e2: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809c4e6: ed9f 7a1b vldr s14, [pc, #108] ; 809c554 809c4ea: eef4 7ac7 vcmpe.f32 s15, s14 809c4ee: eef1 fa10 vmrs APSR_nzcv, fpscr 809c4f2: d541 bpl.n 809c578 k = (uint32_t) (roundf(f * 1000)); 809c4f4: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809c4f8: ed9f 7a15 vldr s14, [pc, #84] ; 809c550 809c4fc: ee67 7a87 vmul.f32 s15, s15, s14 809c500: eeb0 0a67 vmov.f32 s0, s15 809c504: f02e fba2 bl 80cac4c 809c508: eef0 7a40 vmov.f32 s15, s0 809c50c: eefc 7ae7 vcvt.u32.f32 s15, s15 809c510: ee17 3a90 vmov r3, s15 809c514: 65bb str r3, [r7, #88] ; 0x58 t = 2; 809c516: 2302 movs r3, #2 809c518: 657b str r3, [r7, #84] ; 0x54 m = 0; 809c51a: 2300 movs r3, #0 809c51c: 64fb str r3, [r7, #76] ; 0x4c 809c51e: e103 b.n 809c728 809c520: 20020124 .word 0x20020124 809c524: 200226a0 .word 0x200226a0 809c528: 20023e60 .word 0x20023e60 809c52c: 20020104 .word 0x20020104 809c530: 2002010c .word 0x2002010c 809c534: 08167990 .word 0x08167990 809c538: ff0a0f1f .word 0xff0a0f1f 809c53c: ffb8e828 .word 0xffb8e828 809c540: 080cfaf4 .word 0x080cfaf4 809c544: 080cfb00 .word 0x080cfb00 809c548: 0001869f .word 0x0001869f 809c54c: 47c34f80 .word 0x47c34f80 809c550: 447a0000 .word 0x447a0000 809c554: 42c80000 .word 0x42c80000 809c558: 461c4000 .word 0x461c4000 809c55c: 47c35000 .word 0x47c35000 809c560: 49742400 .word 0x49742400 809c564: 3dcccccd .word 0x3dcccccd 809c568: 4b189680 .word 0x4b189680 809c56c: 3c23d70a .word 0x3c23d70a 809c570: 4cbebc20 .word 0x4cbebc20 809c574: 3a83126f .word 0x3a83126f if(f < 1000.0f) 809c578: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809c57c: ed1f 7a0c vldr s14, [pc, #-48] ; 809c550 809c580: eef4 7ac7 vcmpe.f32 s15, s14 809c584: eef1 fa10 vmrs APSR_nzcv, fpscr 809c588: d515 bpl.n 809c5b6 k = (uint32_t) (roundf(f * 100)); 809c58a: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809c58e: ed1f 7a0f vldr s14, [pc, #-60] ; 809c554 809c592: ee67 7a87 vmul.f32 s15, s15, s14 809c596: eeb0 0a67 vmov.f32 s0, s15 809c59a: f02e fb57 bl 80cac4c 809c59e: eef0 7a40 vmov.f32 s15, s0 809c5a2: eefc 7ae7 vcvt.u32.f32 s15, s15 809c5a6: ee17 3a90 vmov r3, s15 809c5aa: 65bb str r3, [r7, #88] ; 0x58 t = 3; 809c5ac: 2303 movs r3, #3 809c5ae: 657b str r3, [r7, #84] ; 0x54 m = 0; 809c5b0: 2300 movs r3, #0 809c5b2: 64fb str r3, [r7, #76] ; 0x4c 809c5b4: e0b8 b.n 809c728 if(f < 10000.0f) 809c5b6: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809c5ba: ed1f 7a19 vldr s14, [pc, #-100] ; 809c558 809c5be: eef4 7ac7 vcmpe.f32 s15, s14 809c5c2: eef1 fa10 vmrs APSR_nzcv, fpscr 809c5c6: d515 bpl.n 809c5f4 k = (uint32_t) (roundf(f * 10)); 809c5c8: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809c5cc: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 809c5d0: ee67 7a87 vmul.f32 s15, s15, s14 809c5d4: eeb0 0a67 vmov.f32 s0, s15 809c5d8: f02e fb38 bl 80cac4c 809c5dc: eef0 7a40 vmov.f32 s15, s0 809c5e0: eefc 7ae7 vcvt.u32.f32 s15, s15 809c5e4: ee17 3a90 vmov r3, s15 809c5e8: 65bb str r3, [r7, #88] ; 0x58 t = 1; 809c5ea: 2301 movs r3, #1 809c5ec: 657b str r3, [r7, #84] ; 0x54 m = 1; 809c5ee: 2301 movs r3, #1 809c5f0: 64fb str r3, [r7, #76] ; 0x4c 809c5f2: e099 b.n 809c728 if(f < 100000.0f) 809c5f4: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809c5f8: ed1f 7a28 vldr s14, [pc, #-160] ; 809c55c 809c5fc: eef4 7ac7 vcmpe.f32 s15, s14 809c600: eef1 fa10 vmrs APSR_nzcv, fpscr 809c604: d511 bpl.n 809c62a k = (uint32_t) (roundf(f)); 809c606: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809c60a: eeb0 0a67 vmov.f32 s0, s15 809c60e: f02e fb1d bl 80cac4c 809c612: eef0 7a40 vmov.f32 s15, s0 809c616: eefc 7ae7 vcvt.u32.f32 s15, s15 809c61a: ee17 3a90 vmov r3, s15 809c61e: 65bb str r3, [r7, #88] ; 0x58 t = 2; 809c620: 2302 movs r3, #2 809c622: 657b str r3, [r7, #84] ; 0x54 m = 1; 809c624: 2301 movs r3, #1 809c626: 64fb str r3, [r7, #76] ; 0x4c 809c628: e07e b.n 809c728 if(f < 1000000.0f) 809c62a: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809c62e: ed1f 7a34 vldr s14, [pc, #-208] ; 809c560 809c632: eef4 7ac7 vcmpe.f32 s15, s14 809c636: eef1 fa10 vmrs APSR_nzcv, fpscr 809c63a: d515 bpl.n 809c668 k = (uint32_t) (roundf(f * 0.1f)); 809c63c: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809c640: ed1f 7a38 vldr s14, [pc, #-224] ; 809c564 809c644: ee67 7a87 vmul.f32 s15, s15, s14 809c648: eeb0 0a67 vmov.f32 s0, s15 809c64c: f02e fafe bl 80cac4c 809c650: eef0 7a40 vmov.f32 s15, s0 809c654: eefc 7ae7 vcvt.u32.f32 s15, s15 809c658: ee17 3a90 vmov r3, s15 809c65c: 65bb str r3, [r7, #88] ; 0x58 t = 3; 809c65e: 2303 movs r3, #3 809c660: 657b str r3, [r7, #84] ; 0x54 m = 1; 809c662: 2301 movs r3, #1 809c664: 64fb str r3, [r7, #76] ; 0x4c 809c666: e05f b.n 809c728 if(f < 10000000.0f) 809c668: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809c66c: ed1f 7a42 vldr s14, [pc, #-264] ; 809c568 809c670: eef4 7ac7 vcmpe.f32 s15, s14 809c674: eef1 fa10 vmrs APSR_nzcv, fpscr 809c678: d515 bpl.n 809c6a6 k = (uint32_t) (roundf(f * 0.01f)); 809c67a: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809c67e: ed1f 7a45 vldr s14, [pc, #-276] ; 809c56c 809c682: ee67 7a87 vmul.f32 s15, s15, s14 809c686: eeb0 0a67 vmov.f32 s0, s15 809c68a: f02e fadf bl 80cac4c 809c68e: eef0 7a40 vmov.f32 s15, s0 809c692: eefc 7ae7 vcvt.u32.f32 s15, s15 809c696: ee17 3a90 vmov r3, s15 809c69a: 65bb str r3, [r7, #88] ; 0x58 t = 4; 809c69c: 2304 movs r3, #4 809c69e: 657b str r3, [r7, #84] ; 0x54 m = 1; 809c6a0: 2301 movs r3, #1 809c6a2: 64fb str r3, [r7, #76] ; 0x4c 809c6a4: e040 b.n 809c728 if(f < 100000000.0f) 809c6a6: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809c6aa: ed1f 7a4f vldr s14, [pc, #-316] ; 809c570 809c6ae: eef4 7ac7 vcmpe.f32 s15, s14 809c6b2: eef1 fa10 vmrs APSR_nzcv, fpscr 809c6b6: d51b bpl.n 809c6f0 k = (uint32_t) (roundf(f * 0.001f)); 809c6b8: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809c6bc: ed1f 7a53 vldr s14, [pc, #-332] ; 809c574 809c6c0: ee67 7a87 vmul.f32 s15, s15, s14 809c6c4: eeb0 0a67 vmov.f32 s0, s15 809c6c8: f02e fac0 bl 80cac4c 809c6cc: eef0 7a40 vmov.f32 s15, s0 809c6d0: eefc 7ae7 vcvt.u32.f32 s15, s15 809c6d4: ee17 3a90 vmov r3, s15 809c6d8: 65bb str r3, [r7, #88] ; 0x58 if(k >= 100000) 809c6da: 6dbb ldr r3, [r7, #88] ; 0x58 809c6dc: 4abf ldr r2, [pc, #764] ; (809c9dc ) 809c6de: 4293 cmp r3, r2 809c6e0: d901 bls.n 809c6e6 k = 99999; 809c6e2: 4bbe ldr r3, [pc, #760] ; (809c9dc ) 809c6e4: 65bb str r3, [r7, #88] ; 0x58 t = 0; 809c6e6: 2300 movs r3, #0 809c6e8: 657b str r3, [r7, #84] ; 0x54 m = 1; 809c6ea: 2301 movs r3, #1 809c6ec: 64fb str r3, [r7, #76] ; 0x4c 809c6ee: e01b b.n 809c728 if(f >= 100000000.0f) 809c6f0: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809c6f4: ed9f 7aba vldr s14, [pc, #744] ; 809c9e0 809c6f8: eef4 7ac7 vcmpe.f32 s15, s14 809c6fc: eef1 fa10 vmrs APSR_nzcv, fpscr 809c700: db12 blt.n 809c728 f = 99999.0f; 809c702: 4bb8 ldr r3, [pc, #736] ; (809c9e4 ) 809c704: 647b str r3, [r7, #68] ; 0x44 k = (uint32_t) (roundf(f)); 809c706: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809c70a: eeb0 0a67 vmov.f32 s0, s15 809c70e: f02e fa9d bl 80cac4c 809c712: eef0 7a40 vmov.f32 s15, s0 809c716: eefc 7ae7 vcvt.u32.f32 s15, s15 809c71a: ee17 3a90 vmov r3, s15 809c71e: 65bb str r3, [r7, #88] ; 0x58 t = 0; 809c720: 2300 movs r3, #0 809c722: 657b str r3, [r7, #84] ; 0x54 m = 1; 809c724: 2301 movs r3, #1 809c726: 64fb str r3, [r7, #76] ; 0x4c ik[ipr][0] = (uint8_t) (k / 10000); 809c728: 6d3a ldr r2, [r7, #80] ; 0x50 809c72a: 6dbb ldr r3, [r7, #88] ; 0x58 809c72c: 49ae ldr r1, [pc, #696] ; (809c9e8 ) 809c72e: fba1 1303 umull r1, r3, r1, r3 809c732: 0b5b lsrs r3, r3, #13 809c734: b2d9 uxtb r1, r3 809c736: 4613 mov r3, r2 809c738: 009b lsls r3, r3, #2 809c73a: 4413 add r3, r2 809c73c: f107 0268 add.w r2, r7, #104 ; 0x68 809c740: 4413 add r3, r2 809c742: 3b34 subs r3, #52 ; 0x34 809c744: 460a mov r2, r1 809c746: 701a strb r2, [r3, #0] ik[ipr][1] = (uint8_t) (k % 10000 / 1000); 809c748: 6d39 ldr r1, [r7, #80] ; 0x50 809c74a: 6dba ldr r2, [r7, #88] ; 0x58 809c74c: 4ba6 ldr r3, [pc, #664] ; (809c9e8 ) 809c74e: fba3 0302 umull r0, r3, r3, r2 809c752: 0b5b lsrs r3, r3, #13 809c754: f242 7010 movw r0, #10000 ; 0x2710 809c758: fb00 f303 mul.w r3, r0, r3 809c75c: 1ad3 subs r3, r2, r3 809c75e: 4aa3 ldr r2, [pc, #652] ; (809c9ec ) 809c760: fba2 2303 umull r2, r3, r2, r3 809c764: 099b lsrs r3, r3, #6 809c766: b2da uxtb r2, r3 809c768: 460b mov r3, r1 809c76a: 009b lsls r3, r3, #2 809c76c: 440b add r3, r1 809c76e: f107 0168 add.w r1, r7, #104 ; 0x68 809c772: 440b add r3, r1 809c774: 3b33 subs r3, #51 ; 0x33 809c776: 701a strb r2, [r3, #0] ik[ipr][2] = (uint8_t) (k % 10000 % 1000 / 100); 809c778: 6d39 ldr r1, [r7, #80] ; 0x50 809c77a: 6dba ldr r2, [r7, #88] ; 0x58 809c77c: 4b9a ldr r3, [pc, #616] ; (809c9e8 ) 809c77e: fba3 0302 umull r0, r3, r3, r2 809c782: 0b5b lsrs r3, r3, #13 809c784: f242 7010 movw r0, #10000 ; 0x2710 809c788: fb00 f303 mul.w r3, r0, r3 809c78c: 1ad3 subs r3, r2, r3 809c78e: 4a97 ldr r2, [pc, #604] ; (809c9ec ) 809c790: fba2 0203 umull r0, r2, r2, r3 809c794: 0992 lsrs r2, r2, #6 809c796: f44f 707a mov.w r0, #1000 ; 0x3e8 809c79a: fb00 f202 mul.w r2, r0, r2 809c79e: 1a9a subs r2, r3, r2 809c7a0: 4b93 ldr r3, [pc, #588] ; (809c9f0 ) 809c7a2: fba3 2302 umull r2, r3, r3, r2 809c7a6: 095b lsrs r3, r3, #5 809c7a8: b2da uxtb r2, r3 809c7aa: 460b mov r3, r1 809c7ac: 009b lsls r3, r3, #2 809c7ae: 440b add r3, r1 809c7b0: f107 0168 add.w r1, r7, #104 ; 0x68 809c7b4: 440b add r3, r1 809c7b6: 3b32 subs r3, #50 ; 0x32 809c7b8: 701a strb r2, [r3, #0] ik[ipr][3] = (uint8_t) (k % 10000 % 1000 % 100 / 10); 809c7ba: 6d39 ldr r1, [r7, #80] ; 0x50 809c7bc: 6dbb ldr r3, [r7, #88] ; 0x58 809c7be: 4a8a ldr r2, [pc, #552] ; (809c9e8 ) 809c7c0: fba2 0203 umull r0, r2, r2, r3 809c7c4: 0b52 lsrs r2, r2, #13 809c7c6: f242 7010 movw r0, #10000 ; 0x2710 809c7ca: fb00 f202 mul.w r2, r0, r2 809c7ce: 1a9a subs r2, r3, r2 809c7d0: 4b86 ldr r3, [pc, #536] ; (809c9ec ) 809c7d2: fba3 0302 umull r0, r3, r3, r2 809c7d6: 099b lsrs r3, r3, #6 809c7d8: f44f 707a mov.w r0, #1000 ; 0x3e8 809c7dc: fb00 f303 mul.w r3, r0, r3 809c7e0: 1ad3 subs r3, r2, r3 809c7e2: 4a83 ldr r2, [pc, #524] ; (809c9f0 ) 809c7e4: fba2 0203 umull r0, r2, r2, r3 809c7e8: 0952 lsrs r2, r2, #5 809c7ea: 2064 movs r0, #100 ; 0x64 809c7ec: fb00 f202 mul.w r2, r0, r2 809c7f0: 1a9a subs r2, r3, r2 809c7f2: 4b80 ldr r3, [pc, #512] ; (809c9f4 ) 809c7f4: fba3 2302 umull r2, r3, r3, r2 809c7f8: 08db lsrs r3, r3, #3 809c7fa: b2da uxtb r2, r3 809c7fc: 460b mov r3, r1 809c7fe: 009b lsls r3, r3, #2 809c800: 440b add r3, r1 809c802: f107 0168 add.w r1, r7, #104 ; 0x68 809c806: 440b add r3, r1 809c808: 3b31 subs r3, #49 ; 0x31 809c80a: 701a strb r2, [r3, #0] ik[ipr][4] = (uint8_t) (k % 10000 % 1000 % 100 % 10); 809c80c: 6d38 ldr r0, [r7, #80] ; 0x50 809c80e: 6dbb ldr r3, [r7, #88] ; 0x58 809c810: 4a75 ldr r2, [pc, #468] ; (809c9e8 ) 809c812: fba2 1203 umull r1, r2, r2, r3 809c816: 0b52 lsrs r2, r2, #13 809c818: f242 7110 movw r1, #10000 ; 0x2710 809c81c: fb01 f202 mul.w r2, r1, r2 809c820: 1a9a subs r2, r3, r2 809c822: 4b72 ldr r3, [pc, #456] ; (809c9ec ) 809c824: fba3 1302 umull r1, r3, r3, r2 809c828: 099b lsrs r3, r3, #6 809c82a: f44f 717a mov.w r1, #1000 ; 0x3e8 809c82e: fb01 f303 mul.w r3, r1, r3 809c832: 1ad3 subs r3, r2, r3 809c834: 4a6e ldr r2, [pc, #440] ; (809c9f0 ) 809c836: fba2 1203 umull r1, r2, r2, r3 809c83a: 0952 lsrs r2, r2, #5 809c83c: 2164 movs r1, #100 ; 0x64 809c83e: fb01 f202 mul.w r2, r1, r2 809c842: 1a9a subs r2, r3, r2 809c844: 4b6b ldr r3, [pc, #428] ; (809c9f4 ) 809c846: fba3 1302 umull r1, r3, r3, r2 809c84a: 08d9 lsrs r1, r3, #3 809c84c: 460b mov r3, r1 809c84e: 009b lsls r3, r3, #2 809c850: 440b add r3, r1 809c852: 005b lsls r3, r3, #1 809c854: 1ad1 subs r1, r2, r3 809c856: b2ca uxtb r2, r1 809c858: 4603 mov r3, r0 809c85a: 009b lsls r3, r3, #2 809c85c: 4403 add r3, r0 809c85e: f107 0168 add.w r1, r7, #104 ; 0x68 809c862: 440b add r3, r1 809c864: 3b30 subs r3, #48 ; 0x30 809c866: 701a strb r2, [r3, #0] if(ipr == ACC) 809c868: 6d3b ldr r3, [r7, #80] ; 0x50 809c86a: 2b00 cmp r3, #0 809c86c: f040 80d0 bne.w 809ca10 if(!t) 809c870: 6d7b ldr r3, [r7, #84] ; 0x54 809c872: 2b00 cmp r3, #0 809c874: d126 bne.n 809c8c4 for(i = 0; i < 5; i++) 809c876: 2300 movs r3, #0 809c878: 65fb str r3, [r7, #92] ; 0x5c 809c87a: e01f b.n 809c8bc DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 68+18); 809c87c: 6d3a ldr r2, [r7, #80] ; 0x50 809c87e: 6df9 ldr r1, [r7, #92] ; 0x5c 809c880: 4613 mov r3, r2 809c882: 009b lsls r3, r3, #2 809c884: 4413 add r3, r2 809c886: f107 0268 add.w r2, r7, #104 ; 0x68 809c88a: 4413 add r3, r2 809c88c: 440b add r3, r1 809c88e: 3b34 subs r3, #52 ; 0x34 809c890: 781b ldrb r3, [r3, #0] 809c892: b2db uxtb r3, r3 809c894: 461a mov r2, r3 809c896: 4b58 ldr r3, [pc, #352] ; (809c9f8 ) 809c898: f853 0022 ldr.w r0, [r3, r2, lsl #2] 809c89c: 6dfb ldr r3, [r7, #92] ; 0x5c 809c89e: b29b uxth r3, r3 809c8a0: 461a mov r2, r3 809c8a2: 0112 lsls r2, r2, #4 809c8a4: 1ad3 subs r3, r2, r3 809c8a6: 005b lsls r3, r3, #1 809c8a8: b29b uxth r3, r3 809c8aa: 335a adds r3, #90 ; 0x5a 809c8ac: b29b uxth r3, r3 809c8ae: 2256 movs r2, #86 ; 0x56 809c8b0: 4619 mov r1, r3 809c8b2: f7b7 fe6f bl 8054594 for(i = 0; i < 5; i++) 809c8b6: 6dfb ldr r3, [r7, #92] ; 0x5c 809c8b8: 3301 adds r3, #1 809c8ba: 65fb str r3, [r7, #92] ; 0x5c 809c8bc: 6dfb ldr r3, [r7, #92] ; 0x5c 809c8be: 2b04 cmp r3, #4 809c8c0: d9dc bls.n 809c87c 809c8c2: e05a b.n 809c97a for(i = 0; i < t; i++) 809c8c4: 2300 movs r3, #0 809c8c6: 65fb str r3, [r7, #92] ; 0x5c 809c8c8: e01f b.n 809c90a DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 68+18); 809c8ca: 6d3a ldr r2, [r7, #80] ; 0x50 809c8cc: 6df9 ldr r1, [r7, #92] ; 0x5c 809c8ce: 4613 mov r3, r2 809c8d0: 009b lsls r3, r3, #2 809c8d2: 4413 add r3, r2 809c8d4: f107 0268 add.w r2, r7, #104 ; 0x68 809c8d8: 4413 add r3, r2 809c8da: 440b add r3, r1 809c8dc: 3b34 subs r3, #52 ; 0x34 809c8de: 781b ldrb r3, [r3, #0] 809c8e0: b2db uxtb r3, r3 809c8e2: 461a mov r2, r3 809c8e4: 4b44 ldr r3, [pc, #272] ; (809c9f8 ) 809c8e6: f853 0022 ldr.w r0, [r3, r2, lsl #2] 809c8ea: 6dfb ldr r3, [r7, #92] ; 0x5c 809c8ec: b29b uxth r3, r3 809c8ee: 461a mov r2, r3 809c8f0: 0112 lsls r2, r2, #4 809c8f2: 1ad3 subs r3, r2, r3 809c8f4: 005b lsls r3, r3, #1 809c8f6: b29b uxth r3, r3 809c8f8: 335a adds r3, #90 ; 0x5a 809c8fa: b29b uxth r3, r3 809c8fc: 2256 movs r2, #86 ; 0x56 809c8fe: 4619 mov r1, r3 809c900: f7b7 fe48 bl 8054594 for(i = 0; i < t; i++) 809c904: 6dfb ldr r3, [r7, #92] ; 0x5c 809c906: 3301 adds r3, #1 809c908: 65fb str r3, [r7, #92] ; 0x5c 809c90a: 6dfa ldr r2, [r7, #92] ; 0x5c 809c90c: 6d7b ldr r3, [r7, #84] ; 0x54 809c90e: 429a cmp r2, r3 809c910: d3db bcc.n 809c8ca DrawImage(&bmgpt, 95 + 30*t, 92+18); 809c912: 6d7b ldr r3, [r7, #84] ; 0x54 809c914: b29b uxth r3, r3 809c916: 461a mov r2, r3 809c918: 0112 lsls r2, r2, #4 809c91a: 1ad3 subs r3, r2, r3 809c91c: 005b lsls r3, r3, #1 809c91e: b29b uxth r3, r3 809c920: 335f adds r3, #95 ; 0x5f 809c922: b29b uxth r3, r3 809c924: 226e movs r2, #110 ; 0x6e 809c926: 4619 mov r1, r3 809c928: 4834 ldr r0, [pc, #208] ; (809c9fc ) 809c92a: f7b7 fe33 bl 8054594 for(i = t; i < 5; i++) 809c92e: 6d7b ldr r3, [r7, #84] ; 0x54 809c930: 65fb str r3, [r7, #92] ; 0x5c 809c932: e01f b.n 809c974 DrawImage(NUMS[ik[ipr][i]], 110 + 30*i, 68+18); 809c934: 6d3a ldr r2, [r7, #80] ; 0x50 809c936: 6df9 ldr r1, [r7, #92] ; 0x5c 809c938: 4613 mov r3, r2 809c93a: 009b lsls r3, r3, #2 809c93c: 4413 add r3, r2 809c93e: f107 0268 add.w r2, r7, #104 ; 0x68 809c942: 4413 add r3, r2 809c944: 440b add r3, r1 809c946: 3b34 subs r3, #52 ; 0x34 809c948: 781b ldrb r3, [r3, #0] 809c94a: b2db uxtb r3, r3 809c94c: 461a mov r2, r3 809c94e: 4b2a ldr r3, [pc, #168] ; (809c9f8 ) 809c950: f853 0022 ldr.w r0, [r3, r2, lsl #2] 809c954: 6dfb ldr r3, [r7, #92] ; 0x5c 809c956: b29b uxth r3, r3 809c958: 461a mov r2, r3 809c95a: 0112 lsls r2, r2, #4 809c95c: 1ad3 subs r3, r2, r3 809c95e: 005b lsls r3, r3, #1 809c960: b29b uxth r3, r3 809c962: 336e adds r3, #110 ; 0x6e 809c964: b29b uxth r3, r3 809c966: 2256 movs r2, #86 ; 0x56 809c968: 4619 mov r1, r3 809c96a: f7b7 fe13 bl 8054594 for(i = t; i < 5; i++) 809c96e: 6dfb ldr r3, [r7, #92] ; 0x5c 809c970: 3301 adds r3, #1 809c972: 65fb str r3, [r7, #92] ; 0x5c 809c974: 6dfb ldr r3, [r7, #92] ; 0x5c 809c976: 2b04 cmp r3, #4 809c978: d9dc bls.n 809c934 if((ReadFileData.Aivs != 'E') && (ReadFileData.Aivs != 'F')) 809c97a: 4b21 ldr r3, [pc, #132] ; (809ca00 ) 809c97c: f893 302c ldrb.w r3, [r3, #44] ; 0x2c 809c980: b2db uxtb r3, r3 809c982: 2b45 cmp r3, #69 ; 0x45 809c984: d012 beq.n 809c9ac 809c986: 4b1e ldr r3, [pc, #120] ; (809ca00 ) 809c988: f893 302c ldrb.w r3, [r3, #44] ; 0x2c 809c98c: b2db uxtb r3, r3 809c98e: 2b46 cmp r3, #70 ; 0x46 809c990: d00c beq.n 809c9ac DrawImage(BMG_MS[pardata.LANG], 265, 74+18); 809c992: 4b1c ldr r3, [pc, #112] ; (809ca04 ) 809c994: 7b1b ldrb r3, [r3, #12] 809c996: b2db uxtb r3, r3 809c998: 461a mov r2, r3 809c99a: 4b1b ldr r3, [pc, #108] ; (809ca08 ) 809c99c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809c9a0: 225c movs r2, #92 ; 0x5c 809c9a2: f240 1109 movw r1, #265 ; 0x109 809c9a6: 4618 mov r0, r3 809c9a8: f7b7 fdf4 bl 8054594 if(ReadFileData.Aivs == 'E') 809c9ac: 4b14 ldr r3, [pc, #80] ; (809ca00 ) 809c9ae: f893 302c ldrb.w r3, [r3, #44] ; 0x2c 809c9b2: b2db uxtb r3, r3 809c9b4: 2b45 cmp r3, #69 ; 0x45 809c9b6: f040 861d bne.w 809d5f4 if(ReadFileData.Aval.fl < 0.0f) { 809c9ba: 4b11 ldr r3, [pc, #68] ; (809ca00 ) 809c9bc: edd3 7a00 vldr s15, [r3] 809c9c0: eef5 7ac0 vcmpe.f32 s15, #0.0 809c9c4: eef1 fa10 vmrs APSR_nzcv, fpscr 809c9c8: d401 bmi.n 809c9ce if(ipr == ACC) 809c9ca: f000 be13 b.w 809d5f4 DrawImage(&bmgminus, 78, 84+18); 809c9ce: 2266 movs r2, #102 ; 0x66 809c9d0: 214e movs r1, #78 ; 0x4e 809c9d2: 480e ldr r0, [pc, #56] ; (809ca0c ) 809c9d4: f7b7 fdde bl 8054594 if(ipr == ACC) 809c9d8: f000 be0c b.w 809d5f4 809c9dc: 0001869f .word 0x0001869f 809c9e0: 4cbebc20 .word 0x4cbebc20 809c9e4: 47c34f80 .word 0x47c34f80 809c9e8: d1b71759 .word 0xd1b71759 809c9ec: 10624dd3 .word 0x10624dd3 809c9f0: 51eb851f .word 0x51eb851f 809c9f4: cccccccd .word 0xcccccccd 809c9f8: 20020124 .word 0x20020124 809c9fc: 08167a1c .word 0x08167a1c 809ca00: 200226a0 .word 0x200226a0 809ca04: 20023e60 .word 0x20023e60 809ca08: 200200f4 .word 0x200200f4 809ca0c: 08167990 .word 0x08167990 if(ipr == VEL) 809ca10: 6d3b ldr r3, [r7, #80] ; 0x50 809ca12: 2b01 cmp r3, #1 809ca14: f040 80d8 bne.w 809cbc8 if(ReadFileData.Vval.fl != -1.0f) 809ca18: 4ba4 ldr r3, [pc, #656] ; (809ccac ) 809ca1a: edd3 7a01 vldr s15, [r3, #4] 809ca1e: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 809ca22: eef4 7a47 vcmp.f32 s15, s14 809ca26: eef1 fa10 vmrs APSR_nzcv, fpscr 809ca2a: f000 80b6 beq.w 809cb9a if(!t) 809ca2e: 6d7b ldr r3, [r7, #84] ; 0x54 809ca30: 2b00 cmp r3, #0 809ca32: d126 bne.n 809ca82 for(i = 0; i < 5; i++) 809ca34: 2300 movs r3, #0 809ca36: 65fb str r3, [r7, #92] ; 0x5c 809ca38: e01f b.n 809ca7a DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 121+9); 809ca3a: 6d3a ldr r2, [r7, #80] ; 0x50 809ca3c: 6df9 ldr r1, [r7, #92] ; 0x5c 809ca3e: 4613 mov r3, r2 809ca40: 009b lsls r3, r3, #2 809ca42: 4413 add r3, r2 809ca44: f107 0268 add.w r2, r7, #104 ; 0x68 809ca48: 4413 add r3, r2 809ca4a: 440b add r3, r1 809ca4c: 3b34 subs r3, #52 ; 0x34 809ca4e: 781b ldrb r3, [r3, #0] 809ca50: b2db uxtb r3, r3 809ca52: 461a mov r2, r3 809ca54: 4b96 ldr r3, [pc, #600] ; (809ccb0 ) 809ca56: f853 0022 ldr.w r0, [r3, r2, lsl #2] 809ca5a: 6dfb ldr r3, [r7, #92] ; 0x5c 809ca5c: b29b uxth r3, r3 809ca5e: 461a mov r2, r3 809ca60: 0112 lsls r2, r2, #4 809ca62: 1ad3 subs r3, r2, r3 809ca64: 005b lsls r3, r3, #1 809ca66: b29b uxth r3, r3 809ca68: 335a adds r3, #90 ; 0x5a 809ca6a: b29b uxth r3, r3 809ca6c: 2282 movs r2, #130 ; 0x82 809ca6e: 4619 mov r1, r3 809ca70: f7b7 fd90 bl 8054594 for(i = 0; i < 5; i++) 809ca74: 6dfb ldr r3, [r7, #92] ; 0x5c 809ca76: 3301 adds r3, #1 809ca78: 65fb str r3, [r7, #92] ; 0x5c 809ca7a: 6dfb ldr r3, [r7, #92] ; 0x5c 809ca7c: 2b04 cmp r3, #4 809ca7e: d9dc bls.n 809ca3a 809ca80: e05a b.n 809cb38 for(i = 0; i < t; i++) 809ca82: 2300 movs r3, #0 809ca84: 65fb str r3, [r7, #92] ; 0x5c 809ca86: e01f b.n 809cac8 DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 121+9); 809ca88: 6d3a ldr r2, [r7, #80] ; 0x50 809ca8a: 6df9 ldr r1, [r7, #92] ; 0x5c 809ca8c: 4613 mov r3, r2 809ca8e: 009b lsls r3, r3, #2 809ca90: 4413 add r3, r2 809ca92: f107 0268 add.w r2, r7, #104 ; 0x68 809ca96: 4413 add r3, r2 809ca98: 440b add r3, r1 809ca9a: 3b34 subs r3, #52 ; 0x34 809ca9c: 781b ldrb r3, [r3, #0] 809ca9e: b2db uxtb r3, r3 809caa0: 461a mov r2, r3 809caa2: 4b83 ldr r3, [pc, #524] ; (809ccb0 ) 809caa4: f853 0022 ldr.w r0, [r3, r2, lsl #2] 809caa8: 6dfb ldr r3, [r7, #92] ; 0x5c 809caaa: b29b uxth r3, r3 809caac: 461a mov r2, r3 809caae: 0112 lsls r2, r2, #4 809cab0: 1ad3 subs r3, r2, r3 809cab2: 005b lsls r3, r3, #1 809cab4: b29b uxth r3, r3 809cab6: 335a adds r3, #90 ; 0x5a 809cab8: b29b uxth r3, r3 809caba: 2282 movs r2, #130 ; 0x82 809cabc: 4619 mov r1, r3 809cabe: f7b7 fd69 bl 8054594 for(i = 0; i < t; i++) 809cac2: 6dfb ldr r3, [r7, #92] ; 0x5c 809cac4: 3301 adds r3, #1 809cac6: 65fb str r3, [r7, #92] ; 0x5c 809cac8: 6dfa ldr r2, [r7, #92] ; 0x5c 809caca: 6d7b ldr r3, [r7, #84] ; 0x54 809cacc: 429a cmp r2, r3 809cace: d3db bcc.n 809ca88 DrawImage(&bmgpt, 95 + 30*t, 145+9); 809cad0: 6d7b ldr r3, [r7, #84] ; 0x54 809cad2: b29b uxth r3, r3 809cad4: 461a mov r2, r3 809cad6: 0112 lsls r2, r2, #4 809cad8: 1ad3 subs r3, r2, r3 809cada: 005b lsls r3, r3, #1 809cadc: b29b uxth r3, r3 809cade: 335f adds r3, #95 ; 0x5f 809cae0: b29b uxth r3, r3 809cae2: 229a movs r2, #154 ; 0x9a 809cae4: 4619 mov r1, r3 809cae6: 4873 ldr r0, [pc, #460] ; (809ccb4 ) 809cae8: f7b7 fd54 bl 8054594 for(i = t; i < 5; i++) 809caec: 6d7b ldr r3, [r7, #84] ; 0x54 809caee: 65fb str r3, [r7, #92] ; 0x5c 809caf0: e01f b.n 809cb32 DrawImage(NUMS[ik[ipr][i]], 110 + 30*i, 121+9); 809caf2: 6d3a ldr r2, [r7, #80] ; 0x50 809caf4: 6df9 ldr r1, [r7, #92] ; 0x5c 809caf6: 4613 mov r3, r2 809caf8: 009b lsls r3, r3, #2 809cafa: 4413 add r3, r2 809cafc: f107 0268 add.w r2, r7, #104 ; 0x68 809cb00: 4413 add r3, r2 809cb02: 440b add r3, r1 809cb04: 3b34 subs r3, #52 ; 0x34 809cb06: 781b ldrb r3, [r3, #0] 809cb08: b2db uxtb r3, r3 809cb0a: 461a mov r2, r3 809cb0c: 4b68 ldr r3, [pc, #416] ; (809ccb0 ) 809cb0e: f853 0022 ldr.w r0, [r3, r2, lsl #2] 809cb12: 6dfb ldr r3, [r7, #92] ; 0x5c 809cb14: b29b uxth r3, r3 809cb16: 461a mov r2, r3 809cb18: 0112 lsls r2, r2, #4 809cb1a: 1ad3 subs r3, r2, r3 809cb1c: 005b lsls r3, r3, #1 809cb1e: b29b uxth r3, r3 809cb20: 336e adds r3, #110 ; 0x6e 809cb22: b29b uxth r3, r3 809cb24: 2282 movs r2, #130 ; 0x82 809cb26: 4619 mov r1, r3 809cb28: f7b7 fd34 bl 8054594 for(i = t; i < 5; i++) 809cb2c: 6dfb ldr r3, [r7, #92] ; 0x5c 809cb2e: 3301 adds r3, #1 809cb30: 65fb str r3, [r7, #92] ; 0x5c 809cb32: 6dfb ldr r3, [r7, #92] ; 0x5c 809cb34: 2b04 cmp r3, #4 809cb36: d9dc bls.n 809caf2 if((ReadFileData.Vivs != 'E') && (ReadFileData.Vivs != 'F')) 809cb38: 4b5c ldr r3, [pc, #368] ; (809ccac ) 809cb3a: f893 302d ldrb.w r3, [r3, #45] ; 0x2d 809cb3e: b2db uxtb r3, r3 809cb40: 2b45 cmp r3, #69 ; 0x45 809cb42: d012 beq.n 809cb6a 809cb44: 4b59 ldr r3, [pc, #356] ; (809ccac ) 809cb46: f893 302d ldrb.w r3, [r3, #45] ; 0x2d 809cb4a: b2db uxtb r3, r3 809cb4c: 2b46 cmp r3, #70 ; 0x46 809cb4e: d00c beq.n 809cb6a DrawImage(BMG_MMS[pardata.LANG], 265, 128+9); 809cb50: 4b59 ldr r3, [pc, #356] ; (809ccb8 ) 809cb52: 7b1b ldrb r3, [r3, #12] 809cb54: b2db uxtb r3, r3 809cb56: 461a mov r2, r3 809cb58: 4b58 ldr r3, [pc, #352] ; (809ccbc ) 809cb5a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809cb5e: 2289 movs r2, #137 ; 0x89 809cb60: f240 1109 movw r1, #265 ; 0x109 809cb64: 4618 mov r0, r3 809cb66: f7b7 fd15 bl 8054594 if(ReadFileData.Vivs == 'E') 809cb6a: 4b50 ldr r3, [pc, #320] ; (809ccac ) 809cb6c: f893 302d ldrb.w r3, [r3, #45] ; 0x2d 809cb70: b2db uxtb r3, r3 809cb72: 2b45 cmp r3, #69 ; 0x45 809cb74: f040 853e bne.w 809d5f4 if(ReadFileData.Vval.fl < 0.0f) { 809cb78: 4b4c ldr r3, [pc, #304] ; (809ccac ) 809cb7a: edd3 7a01 vldr s15, [r3, #4] 809cb7e: eef5 7ac0 vcmpe.f32 s15, #0.0 809cb82: eef1 fa10 vmrs APSR_nzcv, fpscr 809cb86: d401 bmi.n 809cb8c if(ipr == ACC) 809cb88: f000 bd34 b.w 809d5f4 DrawImage(&bmgminus, 78, 138+9); 809cb8c: 2293 movs r2, #147 ; 0x93 809cb8e: 214e movs r1, #78 ; 0x4e 809cb90: 484b ldr r0, [pc, #300] ; (809ccc0 ) 809cb92: f7b7 fcff bl 8054594 if(ipr == ACC) 809cb96: f000 bd2d b.w 809d5f4 LCD_SetColors(LCD_COLOR_NUMGREEN, LCD_COLOR_BLACK); 809cb9a: 494a ldr r1, [pc, #296] ; (809ccc4 ) 809cb9c: 484a ldr r0, [pc, #296] ; (809ccc8 ) 809cb9e: f7b6 fe05 bl 80537ac if(pardata.LANG == RUS) 809cba2: 4b45 ldr r3, [pc, #276] ; (809ccb8 ) 809cba4: 7b1b ldrb r3, [r3, #12] 809cba6: b2db uxtb r3, r3 809cba8: 2b00 cmp r3, #0 809cbaa: d106 bne.n 809cbba LCD_DisplayStringC(167, 135, "ÍÅÒ ÄÀÍÍÛÕ"); 809cbac: 4a47 ldr r2, [pc, #284] ; (809cccc ) 809cbae: 2187 movs r1, #135 ; 0x87 809cbb0: 20a7 movs r0, #167 ; 0xa7 809cbb2: f7b7 fbbb bl 805432c if(ipr == ACC) 809cbb6: f000 bd1d b.w 809d5f4 else LCD_DisplayStringC(167, 135, "NO DATA"); 809cbba: 4a45 ldr r2, [pc, #276] ; (809ccd0 ) 809cbbc: 2187 movs r1, #135 ; 0x87 809cbbe: 20a7 movs r0, #167 ; 0xa7 809cbc0: f7b7 fbb4 bl 805432c if(ipr == ACC) 809cbc4: f000 bd16 b.w 809d5f4 if(ipr == DIS) 809cbc8: 6d3b ldr r3, [r7, #80] ; 0x50 809cbca: 2b02 cmp r3, #2 809cbcc: f040 8512 bne.w 809d5f4 if(ReadFileData.Sval.fl != -1.0f) 809cbd0: 4b36 ldr r3, [pc, #216] ; (809ccac ) 809cbd2: edd3 7a02 vldr s15, [r3, #8] 809cbd6: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 809cbda: eef4 7a47 vcmp.f32 s15, s14 809cbde: eef1 fa10 vmrs APSR_nzcv, fpscr 809cbe2: f000 80dc beq.w 809cd9e if(!t) 809cbe6: 6d7b ldr r3, [r7, #84] ; 0x54 809cbe8: 2b00 cmp r3, #0 809cbea: d126 bne.n 809cc3a for(i = 0; i < 5; i++) 809cbec: 2300 movs r3, #0 809cbee: 65fb str r3, [r7, #92] ; 0x5c 809cbf0: e01f b.n 809cc32 DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 174); 809cbf2: 6d3a ldr r2, [r7, #80] ; 0x50 809cbf4: 6df9 ldr r1, [r7, #92] ; 0x5c 809cbf6: 4613 mov r3, r2 809cbf8: 009b lsls r3, r3, #2 809cbfa: 4413 add r3, r2 809cbfc: f107 0268 add.w r2, r7, #104 ; 0x68 809cc00: 4413 add r3, r2 809cc02: 440b add r3, r1 809cc04: 3b34 subs r3, #52 ; 0x34 809cc06: 781b ldrb r3, [r3, #0] 809cc08: b2db uxtb r3, r3 809cc0a: 461a mov r2, r3 809cc0c: 4b28 ldr r3, [pc, #160] ; (809ccb0 ) 809cc0e: f853 0022 ldr.w r0, [r3, r2, lsl #2] 809cc12: 6dfb ldr r3, [r7, #92] ; 0x5c 809cc14: b29b uxth r3, r3 809cc16: 461a mov r2, r3 809cc18: 0112 lsls r2, r2, #4 809cc1a: 1ad3 subs r3, r2, r3 809cc1c: 005b lsls r3, r3, #1 809cc1e: b29b uxth r3, r3 809cc20: 335a adds r3, #90 ; 0x5a 809cc22: b29b uxth r3, r3 809cc24: 22ae movs r2, #174 ; 0xae 809cc26: 4619 mov r1, r3 809cc28: f7b7 fcb4 bl 8054594 for(i = 0; i < 5; i++) 809cc2c: 6dfb ldr r3, [r7, #92] ; 0x5c 809cc2e: 3301 adds r3, #1 809cc30: 65fb str r3, [r7, #92] ; 0x5c 809cc32: 6dfb ldr r3, [r7, #92] ; 0x5c 809cc34: 2b04 cmp r3, #4 809cc36: d9dc bls.n 809cbf2 809cc38: e06f b.n 809cd1a for(i = 0; i < t; i++) 809cc3a: 2300 movs r3, #0 809cc3c: 65fb str r3, [r7, #92] ; 0x5c 809cc3e: e01f b.n 809cc80 DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 174); 809cc40: 6d3a ldr r2, [r7, #80] ; 0x50 809cc42: 6df9 ldr r1, [r7, #92] ; 0x5c 809cc44: 4613 mov r3, r2 809cc46: 009b lsls r3, r3, #2 809cc48: 4413 add r3, r2 809cc4a: f107 0268 add.w r2, r7, #104 ; 0x68 809cc4e: 4413 add r3, r2 809cc50: 440b add r3, r1 809cc52: 3b34 subs r3, #52 ; 0x34 809cc54: 781b ldrb r3, [r3, #0] 809cc56: b2db uxtb r3, r3 809cc58: 461a mov r2, r3 809cc5a: 4b15 ldr r3, [pc, #84] ; (809ccb0 ) 809cc5c: f853 0022 ldr.w r0, [r3, r2, lsl #2] 809cc60: 6dfb ldr r3, [r7, #92] ; 0x5c 809cc62: b29b uxth r3, r3 809cc64: 461a mov r2, r3 809cc66: 0112 lsls r2, r2, #4 809cc68: 1ad3 subs r3, r2, r3 809cc6a: 005b lsls r3, r3, #1 809cc6c: b29b uxth r3, r3 809cc6e: 335a adds r3, #90 ; 0x5a 809cc70: b29b uxth r3, r3 809cc72: 22ae movs r2, #174 ; 0xae 809cc74: 4619 mov r1, r3 809cc76: f7b7 fc8d bl 8054594 for(i = 0; i < t; i++) 809cc7a: 6dfb ldr r3, [r7, #92] ; 0x5c 809cc7c: 3301 adds r3, #1 809cc7e: 65fb str r3, [r7, #92] ; 0x5c 809cc80: 6dfa ldr r2, [r7, #92] ; 0x5c 809cc82: 6d7b ldr r3, [r7, #84] ; 0x54 809cc84: 429a cmp r2, r3 809cc86: d3db bcc.n 809cc40 DrawImage(&bmgpt, 95 + 30*t, 198); 809cc88: 6d7b ldr r3, [r7, #84] ; 0x54 809cc8a: b29b uxth r3, r3 809cc8c: 461a mov r2, r3 809cc8e: 0112 lsls r2, r2, #4 809cc90: 1ad3 subs r3, r2, r3 809cc92: 005b lsls r3, r3, #1 809cc94: b29b uxth r3, r3 809cc96: 335f adds r3, #95 ; 0x5f 809cc98: b29b uxth r3, r3 809cc9a: 22c6 movs r2, #198 ; 0xc6 809cc9c: 4619 mov r1, r3 809cc9e: 4805 ldr r0, [pc, #20] ; (809ccb4 ) 809cca0: f7b7 fc78 bl 8054594 for(i = t; i < 5; i++) 809cca4: 6d7b ldr r3, [r7, #84] ; 0x54 809cca6: 65fb str r3, [r7, #92] ; 0x5c 809cca8: e034 b.n 809cd14 809ccaa: bf00 nop 809ccac: 200226a0 .word 0x200226a0 809ccb0: 20020124 .word 0x20020124 809ccb4: 08167a1c .word 0x08167a1c 809ccb8: 20023e60 .word 0x20023e60 809ccbc: 200200fc .word 0x200200fc 809ccc0: 08167990 .word 0x08167990 809ccc4: ff0a0f1f .word 0xff0a0f1f 809ccc8: ffb8e828 .word 0xffb8e828 809cccc: 080cfaf4 .word 0x080cfaf4 809ccd0: 080cfb00 .word 0x080cfb00 DrawImage(NUMS[ik[ipr][i]], 110 + 30*i, 174); 809ccd4: 6d3a ldr r2, [r7, #80] ; 0x50 809ccd6: 6df9 ldr r1, [r7, #92] ; 0x5c 809ccd8: 4613 mov r3, r2 809ccda: 009b lsls r3, r3, #2 809ccdc: 4413 add r3, r2 809ccde: f107 0268 add.w r2, r7, #104 ; 0x68 809cce2: 4413 add r3, r2 809cce4: 440b add r3, r1 809cce6: 3b34 subs r3, #52 ; 0x34 809cce8: 781b ldrb r3, [r3, #0] 809ccea: b2db uxtb r3, r3 809ccec: 461a mov r2, r3 809ccee: 4bb2 ldr r3, [pc, #712] ; (809cfb8 ) 809ccf0: f853 0022 ldr.w r0, [r3, r2, lsl #2] 809ccf4: 6dfb ldr r3, [r7, #92] ; 0x5c 809ccf6: b29b uxth r3, r3 809ccf8: 461a mov r2, r3 809ccfa: 0112 lsls r2, r2, #4 809ccfc: 1ad3 subs r3, r2, r3 809ccfe: 005b lsls r3, r3, #1 809cd00: b29b uxth r3, r3 809cd02: 336e adds r3, #110 ; 0x6e 809cd04: b29b uxth r3, r3 809cd06: 22ae movs r2, #174 ; 0xae 809cd08: 4619 mov r1, r3 809cd0a: f7b7 fc43 bl 8054594 for(i = t; i < 5; i++) 809cd0e: 6dfb ldr r3, [r7, #92] ; 0x5c 809cd10: 3301 adds r3, #1 809cd12: 65fb str r3, [r7, #92] ; 0x5c 809cd14: 6dfb ldr r3, [r7, #92] ; 0x5c 809cd16: 2b04 cmp r3, #4 809cd18: d9dc bls.n 809ccd4 if((ReadFileData.Sivs != 'E') && (ReadFileData.Sivs != 'F')) 809cd1a: 4ba8 ldr r3, [pc, #672] ; (809cfbc ) 809cd1c: f893 302e ldrb.w r3, [r3, #46] ; 0x2e 809cd20: b2db uxtb r3, r3 809cd22: 2b45 cmp r3, #69 ; 0x45 809cd24: d023 beq.n 809cd6e 809cd26: 4ba5 ldr r3, [pc, #660] ; (809cfbc ) 809cd28: f893 302e ldrb.w r3, [r3, #46] ; 0x2e 809cd2c: b2db uxtb r3, r3 809cd2e: 2b46 cmp r3, #70 ; 0x46 809cd30: d01d beq.n 809cd6e if(m == 0) 809cd32: 6cfb ldr r3, [r7, #76] ; 0x4c 809cd34: 2b00 cmp r3, #0 809cd36: d10d bne.n 809cd54 DrawImage(BMG_MKM[pardata.LANG], 265, 180); 809cd38: 4ba1 ldr r3, [pc, #644] ; (809cfc0 ) 809cd3a: 7b1b ldrb r3, [r3, #12] 809cd3c: b2db uxtb r3, r3 809cd3e: 461a mov r2, r3 809cd40: 4ba0 ldr r3, [pc, #640] ; (809cfc4 ) 809cd42: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809cd46: 22b4 movs r2, #180 ; 0xb4 809cd48: f240 1109 movw r1, #265 ; 0x109 809cd4c: 4618 mov r0, r3 809cd4e: f7b7 fc21 bl 8054594 809cd52: e00c b.n 809cd6e else DrawImage(BMG_MM[pardata.LANG], 265, 180); 809cd54: 4b9a ldr r3, [pc, #616] ; (809cfc0 ) 809cd56: 7b1b ldrb r3, [r3, #12] 809cd58: b2db uxtb r3, r3 809cd5a: 461a mov r2, r3 809cd5c: 4b9a ldr r3, [pc, #616] ; (809cfc8 ) 809cd5e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809cd62: 22b4 movs r2, #180 ; 0xb4 809cd64: f240 1109 movw r1, #265 ; 0x109 809cd68: 4618 mov r0, r3 809cd6a: f7b7 fc13 bl 8054594 if(ReadFileData.Sivs == 'E') 809cd6e: 4b93 ldr r3, [pc, #588] ; (809cfbc ) 809cd70: f893 302e ldrb.w r3, [r3, #46] ; 0x2e 809cd74: b2db uxtb r3, r3 809cd76: 2b45 cmp r3, #69 ; 0x45 809cd78: f040 843c bne.w 809d5f4 if(ReadFileData.Sval.fl < 0.0f) { 809cd7c: 4b8f ldr r3, [pc, #572] ; (809cfbc ) 809cd7e: edd3 7a02 vldr s15, [r3, #8] 809cd82: eef5 7ac0 vcmpe.f32 s15, #0.0 809cd86: eef1 fa10 vmrs APSR_nzcv, fpscr 809cd8a: d401 bmi.n 809cd90 if(ipr == ACC) 809cd8c: f000 bc32 b.w 809d5f4 DrawImage(&bmgminus, 78, 190); 809cd90: 22be movs r2, #190 ; 0xbe 809cd92: 214e movs r1, #78 ; 0x4e 809cd94: 488d ldr r0, [pc, #564] ; (809cfcc ) 809cd96: f7b7 fbfd bl 8054594 if(ipr == ACC) 809cd9a: f000 bc2b b.w 809d5f4 LCD_SetColors(LCD_COLOR_NUMGREEN, LCD_COLOR_BLACK); 809cd9e: 498c ldr r1, [pc, #560] ; (809cfd0 ) 809cda0: 488c ldr r0, [pc, #560] ; (809cfd4 ) 809cda2: f7b6 fd03 bl 80537ac if(pardata.LANG == RUS) 809cda6: 4b86 ldr r3, [pc, #536] ; (809cfc0 ) 809cda8: 7b1b ldrb r3, [r3, #12] 809cdaa: b2db uxtb r3, r3 809cdac: 2b00 cmp r3, #0 809cdae: d106 bne.n 809cdbe LCD_DisplayStringC(167, 185, "ÍÅÒ ÄÀÍÍÛÕ"); 809cdb0: 4a89 ldr r2, [pc, #548] ; (809cfd8 ) 809cdb2: 21b9 movs r1, #185 ; 0xb9 809cdb4: 20a7 movs r0, #167 ; 0xa7 809cdb6: f7b7 fab9 bl 805432c if(ipr == ACC) 809cdba: f000 bc1b b.w 809d5f4 else LCD_DisplayStringC(167, 185, "NO DATA"); 809cdbe: 4a87 ldr r2, [pc, #540] ; (809cfdc ) 809cdc0: 21b9 movs r1, #185 ; 0xb9 809cdc2: 20a7 movs r0, #167 ; 0xa7 809cdc4: f7b7 fab2 bl 805432c if(ipr == ACC) 809cdc8: f000 bc14 b.w 809d5f4 if(f != -1.0f) 809cdcc: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809cdd0: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 809cdd4: eef4 7a47 vcmp.f32 s15, s14 809cdd8: eef1 fa10 vmrs APSR_nzcv, fpscr 809cddc: f000 83c3 beq.w 809d566 LinToLog(&f, &f); 809cde0: f107 0244 add.w r2, r7, #68 ; 0x44 809cde4: f107 0344 add.w r3, r7, #68 ; 0x44 809cde8: 4611 mov r1, r2 809cdea: 4618 mov r0, r3 809cdec: f7c8 f85c bl 8064ea8 k = (uint32_t) (roundf(f * 10 + 0.5f)); 809cdf0: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809cdf4: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 809cdf8: ee67 7a87 vmul.f32 s15, s15, s14 809cdfc: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 809ce00: ee77 7a87 vadd.f32 s15, s15, s14 809ce04: eeb0 0a67 vmov.f32 s0, s15 809ce08: f02d ff20 bl 80cac4c 809ce0c: eef0 7a40 vmov.f32 s15, s0 809ce10: eefc 7ae7 vcvt.u32.f32 s15, s15 809ce14: ee17 3a90 vmov r3, s15 809ce18: 65bb str r3, [r7, #88] ; 0x58 if(f < 10.0f) 809ce1a: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809ce1e: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 809ce22: eef4 7ac7 vcmpe.f32 s15, s14 809ce26: eef1 fa10 vmrs APSR_nzcv, fpscr 809ce2a: f140 80e1 bpl.w 809cff0 ik[ipr][0] = (uint8_t) (k / 10); 809ce2e: 6d3a ldr r2, [r7, #80] ; 0x50 809ce30: 6dbb ldr r3, [r7, #88] ; 0x58 809ce32: 496b ldr r1, [pc, #428] ; (809cfe0 ) 809ce34: fba1 1303 umull r1, r3, r1, r3 809ce38: 08db lsrs r3, r3, #3 809ce3a: b2d9 uxtb r1, r3 809ce3c: 4613 mov r3, r2 809ce3e: 009b lsls r3, r3, #2 809ce40: 4413 add r3, r2 809ce42: f107 0268 add.w r2, r7, #104 ; 0x68 809ce46: 4413 add r3, r2 809ce48: 3b34 subs r3, #52 ; 0x34 809ce4a: 460a mov r2, r1 809ce4c: 701a strb r2, [r3, #0] ik[ipr][1] = (uint8_t) (k % 10); 809ce4e: 6d38 ldr r0, [r7, #80] ; 0x50 809ce50: 6db9 ldr r1, [r7, #88] ; 0x58 809ce52: 4b63 ldr r3, [pc, #396] ; (809cfe0 ) 809ce54: fba3 2301 umull r2, r3, r3, r1 809ce58: 08da lsrs r2, r3, #3 809ce5a: 4613 mov r3, r2 809ce5c: 009b lsls r3, r3, #2 809ce5e: 4413 add r3, r2 809ce60: 005b lsls r3, r3, #1 809ce62: 1aca subs r2, r1, r3 809ce64: b2d2 uxtb r2, r2 809ce66: 4603 mov r3, r0 809ce68: 009b lsls r3, r3, #2 809ce6a: 4403 add r3, r0 809ce6c: f107 0168 add.w r1, r7, #104 ; 0x68 809ce70: 440b add r3, r1 809ce72: 3b33 subs r3, #51 ; 0x33 809ce74: 701a strb r2, [r3, #0] if(ipr == ACC) 809ce76: 6d3b ldr r3, [r7, #80] ; 0x50 809ce78: 2b00 cmp r3, #0 809ce7a: d131 bne.n 809cee0 DrawImage(NUMS[ik[ipr][1]], 110 + 30*4, 68+18); 809ce7c: 6d3a ldr r2, [r7, #80] ; 0x50 809ce7e: 4613 mov r3, r2 809ce80: 009b lsls r3, r3, #2 809ce82: 4413 add r3, r2 809ce84: f107 0268 add.w r2, r7, #104 ; 0x68 809ce88: 4413 add r3, r2 809ce8a: 3b33 subs r3, #51 ; 0x33 809ce8c: 781b ldrb r3, [r3, #0] 809ce8e: b2db uxtb r3, r3 809ce90: 461a mov r2, r3 809ce92: 4b49 ldr r3, [pc, #292] ; (809cfb8 ) 809ce94: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809ce98: 2256 movs r2, #86 ; 0x56 809ce9a: 21e6 movs r1, #230 ; 0xe6 809ce9c: 4618 mov r0, r3 809ce9e: f7b7 fb79 bl 8054594 DrawImage(&bmgpt, 95 + 30*4, 92+18); 809cea2: 226e movs r2, #110 ; 0x6e 809cea4: 21d7 movs r1, #215 ; 0xd7 809cea6: 484f ldr r0, [pc, #316] ; (809cfe4 ) 809cea8: f7b7 fb74 bl 8054594 DrawImage(NUMS[ik[ipr][0]], 90 + 30*3, 68+18); 809ceac: 6d3a ldr r2, [r7, #80] ; 0x50 809ceae: 4613 mov r3, r2 809ceb0: 009b lsls r3, r3, #2 809ceb2: 4413 add r3, r2 809ceb4: f107 0268 add.w r2, r7, #104 ; 0x68 809ceb8: 4413 add r3, r2 809ceba: 3b34 subs r3, #52 ; 0x34 809cebc: 781b ldrb r3, [r3, #0] 809cebe: b2db uxtb r3, r3 809cec0: 461a mov r2, r3 809cec2: 4b3d ldr r3, [pc, #244] ; (809cfb8 ) 809cec4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809cec8: 2256 movs r2, #86 ; 0x56 809ceca: 21b4 movs r1, #180 ; 0xb4 809cecc: 4618 mov r0, r3 809cece: f7b7 fb61 bl 8054594 DrawImage(&bmg_dB, 265, 74+18); 809ced2: 225c movs r2, #92 ; 0x5c 809ced4: f240 1109 movw r1, #265 ; 0x109 809ced8: 4843 ldr r0, [pc, #268] ; (809cfe8 ) 809ceda: f7b7 fb5b bl 8054594 809cede: e38a b.n 809d5f6 if(ipr == VEL) 809cee0: 6d3b ldr r3, [r7, #80] ; 0x50 809cee2: 2b01 cmp r3, #1 809cee4: d131 bne.n 809cf4a DrawImage(NUMS[ik[ipr][1]], 110 + 30*4, 121+9); 809cee6: 6d3a ldr r2, [r7, #80] ; 0x50 809cee8: 4613 mov r3, r2 809ceea: 009b lsls r3, r3, #2 809ceec: 4413 add r3, r2 809ceee: f107 0268 add.w r2, r7, #104 ; 0x68 809cef2: 4413 add r3, r2 809cef4: 3b33 subs r3, #51 ; 0x33 809cef6: 781b ldrb r3, [r3, #0] 809cef8: b2db uxtb r3, r3 809cefa: 461a mov r2, r3 809cefc: 4b2e ldr r3, [pc, #184] ; (809cfb8 ) 809cefe: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809cf02: 2282 movs r2, #130 ; 0x82 809cf04: 21e6 movs r1, #230 ; 0xe6 809cf06: 4618 mov r0, r3 809cf08: f7b7 fb44 bl 8054594 DrawImage(&bmgpt, 95 + 30*4, 145+9); 809cf0c: 229a movs r2, #154 ; 0x9a 809cf0e: 21d7 movs r1, #215 ; 0xd7 809cf10: 4834 ldr r0, [pc, #208] ; (809cfe4 ) 809cf12: f7b7 fb3f bl 8054594 DrawImage(NUMS[ik[ipr][0]], 90 + 30*3, 121+9); 809cf16: 6d3a ldr r2, [r7, #80] ; 0x50 809cf18: 4613 mov r3, r2 809cf1a: 009b lsls r3, r3, #2 809cf1c: 4413 add r3, r2 809cf1e: f107 0268 add.w r2, r7, #104 ; 0x68 809cf22: 4413 add r3, r2 809cf24: 3b34 subs r3, #52 ; 0x34 809cf26: 781b ldrb r3, [r3, #0] 809cf28: b2db uxtb r3, r3 809cf2a: 461a mov r2, r3 809cf2c: 4b22 ldr r3, [pc, #136] ; (809cfb8 ) 809cf2e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809cf32: 2282 movs r2, #130 ; 0x82 809cf34: 21b4 movs r1, #180 ; 0xb4 809cf36: 4618 mov r0, r3 809cf38: f7b7 fb2c bl 8054594 DrawImage(&bmg_dB, 265, 128+9); 809cf3c: 2289 movs r2, #137 ; 0x89 809cf3e: f240 1109 movw r1, #265 ; 0x109 809cf42: 4829 ldr r0, [pc, #164] ; (809cfe8 ) 809cf44: f7b7 fb26 bl 8054594 809cf48: e355 b.n 809d5f6 if(ipr == DIS) 809cf4a: 6d3b ldr r3, [r7, #80] ; 0x50 809cf4c: 2b02 cmp r3, #2 809cf4e: f040 8352 bne.w 809d5f6 DrawImage(NUMS[ik[ipr][1]], 110 + 30*4, 174); 809cf52: 6d3a ldr r2, [r7, #80] ; 0x50 809cf54: 4613 mov r3, r2 809cf56: 009b lsls r3, r3, #2 809cf58: 4413 add r3, r2 809cf5a: f107 0268 add.w r2, r7, #104 ; 0x68 809cf5e: 4413 add r3, r2 809cf60: 3b33 subs r3, #51 ; 0x33 809cf62: 781b ldrb r3, [r3, #0] 809cf64: b2db uxtb r3, r3 809cf66: 461a mov r2, r3 809cf68: 4b13 ldr r3, [pc, #76] ; (809cfb8 ) 809cf6a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809cf6e: 22ae movs r2, #174 ; 0xae 809cf70: 21e6 movs r1, #230 ; 0xe6 809cf72: 4618 mov r0, r3 809cf74: f7b7 fb0e bl 8054594 DrawImage(&bmgpt, 95 + 30*4, 198); 809cf78: 22c6 movs r2, #198 ; 0xc6 809cf7a: 21d7 movs r1, #215 ; 0xd7 809cf7c: 4819 ldr r0, [pc, #100] ; (809cfe4 ) 809cf7e: f7b7 fb09 bl 8054594 DrawImage(NUMS[ik[ipr][0]], 90 + 30*3, 174); 809cf82: 6d3a ldr r2, [r7, #80] ; 0x50 809cf84: 4613 mov r3, r2 809cf86: 009b lsls r3, r3, #2 809cf88: 4413 add r3, r2 809cf8a: f107 0268 add.w r2, r7, #104 ; 0x68 809cf8e: 4413 add r3, r2 809cf90: 3b34 subs r3, #52 ; 0x34 809cf92: 781b ldrb r3, [r3, #0] 809cf94: b2db uxtb r3, r3 809cf96: 461a mov r2, r3 809cf98: 4b07 ldr r3, [pc, #28] ; (809cfb8 ) 809cf9a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809cf9e: 22ae movs r2, #174 ; 0xae 809cfa0: 21b4 movs r1, #180 ; 0xb4 809cfa2: 4618 mov r0, r3 809cfa4: f7b7 faf6 bl 8054594 DrawImage(&bmg_dB, 265, 180); 809cfa8: 22b4 movs r2, #180 ; 0xb4 809cfaa: f240 1109 movw r1, #265 ; 0x109 809cfae: 480e ldr r0, [pc, #56] ; (809cfe8 ) 809cfb0: f7b7 faf0 bl 8054594 809cfb4: e31f b.n 809d5f6 809cfb6: bf00 nop 809cfb8: 20020124 .word 0x20020124 809cfbc: 200226a0 .word 0x200226a0 809cfc0: 20023e60 .word 0x20023e60 809cfc4: 20020104 .word 0x20020104 809cfc8: 2002010c .word 0x2002010c 809cfcc: 08167990 .word 0x08167990 809cfd0: ff0a0f1f .word 0xff0a0f1f 809cfd4: ffb8e828 .word 0xffb8e828 809cfd8: 080cfaf4 .word 0x080cfaf4 809cfdc: 080cfb00 .word 0x080cfb00 809cfe0: cccccccd .word 0xcccccccd 809cfe4: 08167a1c .word 0x08167a1c 809cfe8: 08162c68 .word 0x08162c68 809cfec: 42c80000 .word 0x42c80000 if(f < 100.0f) 809cff0: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809cff4: ed1f 7a03 vldr s14, [pc, #-12] ; 809cfec 809cff8: eef4 7ac7 vcmpe.f32 s15, s14 809cffc: eef1 fa10 vmrs APSR_nzcv, fpscr 809d000: f140 8128 bpl.w 809d254 ik[ipr][0] = (uint8_t) (k / 100); 809d004: 6d3a ldr r2, [r7, #80] ; 0x50 809d006: 6dbb ldr r3, [r7, #88] ; 0x58 809d008: 498c ldr r1, [pc, #560] ; (809d23c ) 809d00a: fba1 1303 umull r1, r3, r1, r3 809d00e: 095b lsrs r3, r3, #5 809d010: b2d9 uxtb r1, r3 809d012: 4613 mov r3, r2 809d014: 009b lsls r3, r3, #2 809d016: 4413 add r3, r2 809d018: f107 0268 add.w r2, r7, #104 ; 0x68 809d01c: 4413 add r3, r2 809d01e: 3b34 subs r3, #52 ; 0x34 809d020: 460a mov r2, r1 809d022: 701a strb r2, [r3, #0] ik[ipr][1] = (uint8_t) (k % 100 / 10); 809d024: 6d39 ldr r1, [r7, #80] ; 0x50 809d026: 6dba ldr r2, [r7, #88] ; 0x58 809d028: 4b84 ldr r3, [pc, #528] ; (809d23c ) 809d02a: fba3 0302 umull r0, r3, r3, r2 809d02e: 095b lsrs r3, r3, #5 809d030: 2064 movs r0, #100 ; 0x64 809d032: fb00 f303 mul.w r3, r0, r3 809d036: 1ad3 subs r3, r2, r3 809d038: 4a81 ldr r2, [pc, #516] ; (809d240 ) 809d03a: fba2 2303 umull r2, r3, r2, r3 809d03e: 08db lsrs r3, r3, #3 809d040: b2da uxtb r2, r3 809d042: 460b mov r3, r1 809d044: 009b lsls r3, r3, #2 809d046: 440b add r3, r1 809d048: f107 0168 add.w r1, r7, #104 ; 0x68 809d04c: 440b add r3, r1 809d04e: 3b33 subs r3, #51 ; 0x33 809d050: 701a strb r2, [r3, #0] ik[ipr][2] = (uint8_t) (k % 100 % 10); 809d052: 6d38 ldr r0, [r7, #80] ; 0x50 809d054: 6dbb ldr r3, [r7, #88] ; 0x58 809d056: 4a79 ldr r2, [pc, #484] ; (809d23c ) 809d058: fba2 1203 umull r1, r2, r2, r3 809d05c: 0952 lsrs r2, r2, #5 809d05e: 2164 movs r1, #100 ; 0x64 809d060: fb01 f202 mul.w r2, r1, r2 809d064: 1a9a subs r2, r3, r2 809d066: 4b76 ldr r3, [pc, #472] ; (809d240 ) 809d068: fba3 1302 umull r1, r3, r3, r2 809d06c: 08d9 lsrs r1, r3, #3 809d06e: 460b mov r3, r1 809d070: 009b lsls r3, r3, #2 809d072: 440b add r3, r1 809d074: 005b lsls r3, r3, #1 809d076: 1ad1 subs r1, r2, r3 809d078: b2ca uxtb r2, r1 809d07a: 4603 mov r3, r0 809d07c: 009b lsls r3, r3, #2 809d07e: 4403 add r3, r0 809d080: f107 0168 add.w r1, r7, #104 ; 0x68 809d084: 440b add r3, r1 809d086: 3b32 subs r3, #50 ; 0x32 809d088: 701a strb r2, [r3, #0] if(ipr == ACC) 809d08a: 6d3b ldr r3, [r7, #80] ; 0x50 809d08c: 2b00 cmp r3, #0 809d08e: d144 bne.n 809d11a DrawImage(NUMS[ik[ipr][2]], 110 + 30*4, 68+18); 809d090: 6d3a ldr r2, [r7, #80] ; 0x50 809d092: 4613 mov r3, r2 809d094: 009b lsls r3, r3, #2 809d096: 4413 add r3, r2 809d098: f107 0268 add.w r2, r7, #104 ; 0x68 809d09c: 4413 add r3, r2 809d09e: 3b32 subs r3, #50 ; 0x32 809d0a0: 781b ldrb r3, [r3, #0] 809d0a2: b2db uxtb r3, r3 809d0a4: 461a mov r2, r3 809d0a6: 4b67 ldr r3, [pc, #412] ; (809d244 ) 809d0a8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809d0ac: 2256 movs r2, #86 ; 0x56 809d0ae: 21e6 movs r1, #230 ; 0xe6 809d0b0: 4618 mov r0, r3 809d0b2: f7b7 fa6f bl 8054594 DrawImage(&bmgpt, 95 + 30*4, 92+18); 809d0b6: 226e movs r2, #110 ; 0x6e 809d0b8: 21d7 movs r1, #215 ; 0xd7 809d0ba: 4863 ldr r0, [pc, #396] ; (809d248 ) 809d0bc: f7b7 fa6a bl 8054594 DrawImage(NUMS[ik[ipr][1]], 90 + 30*3, 68+18); 809d0c0: 6d3a ldr r2, [r7, #80] ; 0x50 809d0c2: 4613 mov r3, r2 809d0c4: 009b lsls r3, r3, #2 809d0c6: 4413 add r3, r2 809d0c8: f107 0268 add.w r2, r7, #104 ; 0x68 809d0cc: 4413 add r3, r2 809d0ce: 3b33 subs r3, #51 ; 0x33 809d0d0: 781b ldrb r3, [r3, #0] 809d0d2: b2db uxtb r3, r3 809d0d4: 461a mov r2, r3 809d0d6: 4b5b ldr r3, [pc, #364] ; (809d244 ) 809d0d8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809d0dc: 2256 movs r2, #86 ; 0x56 809d0de: 21b4 movs r1, #180 ; 0xb4 809d0e0: 4618 mov r0, r3 809d0e2: f7b7 fa57 bl 8054594 DrawImage(NUMS[ik[ipr][0]], 90 + 30*2, 68+18); 809d0e6: 6d3a ldr r2, [r7, #80] ; 0x50 809d0e8: 4613 mov r3, r2 809d0ea: 009b lsls r3, r3, #2 809d0ec: 4413 add r3, r2 809d0ee: f107 0268 add.w r2, r7, #104 ; 0x68 809d0f2: 4413 add r3, r2 809d0f4: 3b34 subs r3, #52 ; 0x34 809d0f6: 781b ldrb r3, [r3, #0] 809d0f8: b2db uxtb r3, r3 809d0fa: 461a mov r2, r3 809d0fc: 4b51 ldr r3, [pc, #324] ; (809d244 ) 809d0fe: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809d102: 2256 movs r2, #86 ; 0x56 809d104: 2196 movs r1, #150 ; 0x96 809d106: 4618 mov r0, r3 809d108: f7b7 fa44 bl 8054594 DrawImage(&bmg_dB, 265, 74+18); 809d10c: 225c movs r2, #92 ; 0x5c 809d10e: f240 1109 movw r1, #265 ; 0x109 809d112: 484e ldr r0, [pc, #312] ; (809d24c ) 809d114: f7b7 fa3e bl 8054594 809d118: e26d b.n 809d5f6 if(ipr == VEL) 809d11a: 6d3b ldr r3, [r7, #80] ; 0x50 809d11c: 2b01 cmp r3, #1 809d11e: d144 bne.n 809d1aa DrawImage(NUMS[ik[ipr][2]], 110 + 30*4, 121+9); 809d120: 6d3a ldr r2, [r7, #80] ; 0x50 809d122: 4613 mov r3, r2 809d124: 009b lsls r3, r3, #2 809d126: 4413 add r3, r2 809d128: f107 0268 add.w r2, r7, #104 ; 0x68 809d12c: 4413 add r3, r2 809d12e: 3b32 subs r3, #50 ; 0x32 809d130: 781b ldrb r3, [r3, #0] 809d132: b2db uxtb r3, r3 809d134: 461a mov r2, r3 809d136: 4b43 ldr r3, [pc, #268] ; (809d244 ) 809d138: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809d13c: 2282 movs r2, #130 ; 0x82 809d13e: 21e6 movs r1, #230 ; 0xe6 809d140: 4618 mov r0, r3 809d142: f7b7 fa27 bl 8054594 DrawImage(&bmgpt, 95 + 30*4, 145+9); 809d146: 229a movs r2, #154 ; 0x9a 809d148: 21d7 movs r1, #215 ; 0xd7 809d14a: 483f ldr r0, [pc, #252] ; (809d248 ) 809d14c: f7b7 fa22 bl 8054594 DrawImage(NUMS[ik[ipr][1]], 90 + 30*3, 121+9); 809d150: 6d3a ldr r2, [r7, #80] ; 0x50 809d152: 4613 mov r3, r2 809d154: 009b lsls r3, r3, #2 809d156: 4413 add r3, r2 809d158: f107 0268 add.w r2, r7, #104 ; 0x68 809d15c: 4413 add r3, r2 809d15e: 3b33 subs r3, #51 ; 0x33 809d160: 781b ldrb r3, [r3, #0] 809d162: b2db uxtb r3, r3 809d164: 461a mov r2, r3 809d166: 4b37 ldr r3, [pc, #220] ; (809d244 ) 809d168: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809d16c: 2282 movs r2, #130 ; 0x82 809d16e: 21b4 movs r1, #180 ; 0xb4 809d170: 4618 mov r0, r3 809d172: f7b7 fa0f bl 8054594 DrawImage(NUMS[ik[ipr][0]], 90 + 30*2, 121+9); 809d176: 6d3a ldr r2, [r7, #80] ; 0x50 809d178: 4613 mov r3, r2 809d17a: 009b lsls r3, r3, #2 809d17c: 4413 add r3, r2 809d17e: f107 0268 add.w r2, r7, #104 ; 0x68 809d182: 4413 add r3, r2 809d184: 3b34 subs r3, #52 ; 0x34 809d186: 781b ldrb r3, [r3, #0] 809d188: b2db uxtb r3, r3 809d18a: 461a mov r2, r3 809d18c: 4b2d ldr r3, [pc, #180] ; (809d244 ) 809d18e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809d192: 2282 movs r2, #130 ; 0x82 809d194: 2196 movs r1, #150 ; 0x96 809d196: 4618 mov r0, r3 809d198: f7b7 f9fc bl 8054594 DrawImage(&bmg_dB, 265, 128+9); 809d19c: 2289 movs r2, #137 ; 0x89 809d19e: f240 1109 movw r1, #265 ; 0x109 809d1a2: 482a ldr r0, [pc, #168] ; (809d24c ) 809d1a4: f7b7 f9f6 bl 8054594 809d1a8: e225 b.n 809d5f6 if(ipr == DIS) 809d1aa: 6d3b ldr r3, [r7, #80] ; 0x50 809d1ac: 2b02 cmp r3, #2 809d1ae: f040 8222 bne.w 809d5f6 DrawImage(NUMS[ik[ipr][2]], 110 + 30*4, 174); 809d1b2: 6d3a ldr r2, [r7, #80] ; 0x50 809d1b4: 4613 mov r3, r2 809d1b6: 009b lsls r3, r3, #2 809d1b8: 4413 add r3, r2 809d1ba: f107 0268 add.w r2, r7, #104 ; 0x68 809d1be: 4413 add r3, r2 809d1c0: 3b32 subs r3, #50 ; 0x32 809d1c2: 781b ldrb r3, [r3, #0] 809d1c4: b2db uxtb r3, r3 809d1c6: 461a mov r2, r3 809d1c8: 4b1e ldr r3, [pc, #120] ; (809d244 ) 809d1ca: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809d1ce: 22ae movs r2, #174 ; 0xae 809d1d0: 21e6 movs r1, #230 ; 0xe6 809d1d2: 4618 mov r0, r3 809d1d4: f7b7 f9de bl 8054594 DrawImage(&bmgpt, 95 + 30*4, 198); 809d1d8: 22c6 movs r2, #198 ; 0xc6 809d1da: 21d7 movs r1, #215 ; 0xd7 809d1dc: 481a ldr r0, [pc, #104] ; (809d248 ) 809d1de: f7b7 f9d9 bl 8054594 DrawImage(NUMS[ik[ipr][1]], 90 + 30*3, 174); 809d1e2: 6d3a ldr r2, [r7, #80] ; 0x50 809d1e4: 4613 mov r3, r2 809d1e6: 009b lsls r3, r3, #2 809d1e8: 4413 add r3, r2 809d1ea: f107 0268 add.w r2, r7, #104 ; 0x68 809d1ee: 4413 add r3, r2 809d1f0: 3b33 subs r3, #51 ; 0x33 809d1f2: 781b ldrb r3, [r3, #0] 809d1f4: b2db uxtb r3, r3 809d1f6: 461a mov r2, r3 809d1f8: 4b12 ldr r3, [pc, #72] ; (809d244 ) 809d1fa: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809d1fe: 22ae movs r2, #174 ; 0xae 809d200: 21b4 movs r1, #180 ; 0xb4 809d202: 4618 mov r0, r3 809d204: f7b7 f9c6 bl 8054594 DrawImage(NUMS[ik[ipr][0]], 90 + 30*2, 174); 809d208: 6d3a ldr r2, [r7, #80] ; 0x50 809d20a: 4613 mov r3, r2 809d20c: 009b lsls r3, r3, #2 809d20e: 4413 add r3, r2 809d210: f107 0268 add.w r2, r7, #104 ; 0x68 809d214: 4413 add r3, r2 809d216: 3b34 subs r3, #52 ; 0x34 809d218: 781b ldrb r3, [r3, #0] 809d21a: b2db uxtb r3, r3 809d21c: 461a mov r2, r3 809d21e: 4b09 ldr r3, [pc, #36] ; (809d244 ) 809d220: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809d224: 22ae movs r2, #174 ; 0xae 809d226: 2196 movs r1, #150 ; 0x96 809d228: 4618 mov r0, r3 809d22a: f7b7 f9b3 bl 8054594 DrawImage(&bmg_dB, 265, 180); 809d22e: 22b4 movs r2, #180 ; 0xb4 809d230: f240 1109 movw r1, #265 ; 0x109 809d234: 4805 ldr r0, [pc, #20] ; (809d24c ) 809d236: f7b7 f9ad bl 8054594 809d23a: e1dc b.n 809d5f6 809d23c: 51eb851f .word 0x51eb851f 809d240: cccccccd .word 0xcccccccd 809d244: 20020124 .word 0x20020124 809d248: 08167a1c .word 0x08167a1c 809d24c: 08162c68 .word 0x08162c68 809d250: 447a0000 .word 0x447a0000 if(f < 1000.0f) 809d254: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809d258: ed1f 7a03 vldr s14, [pc, #-12] ; 809d250 809d25c: eef4 7ac7 vcmpe.f32 s15, s14 809d260: eef1 fa10 vmrs APSR_nzcv, fpscr 809d264: f140 81c7 bpl.w 809d5f6 ik[ipr][0] = (uint8_t) (k / 1000); 809d268: 6d3a ldr r2, [r7, #80] ; 0x50 809d26a: 6dbb ldr r3, [r7, #88] ; 0x58 809d26c: 49ca ldr r1, [pc, #808] ; (809d598 ) 809d26e: fba1 1303 umull r1, r3, r1, r3 809d272: 099b lsrs r3, r3, #6 809d274: b2d9 uxtb r1, r3 809d276: 4613 mov r3, r2 809d278: 009b lsls r3, r3, #2 809d27a: 4413 add r3, r2 809d27c: f107 0268 add.w r2, r7, #104 ; 0x68 809d280: 4413 add r3, r2 809d282: 3b34 subs r3, #52 ; 0x34 809d284: 460a mov r2, r1 809d286: 701a strb r2, [r3, #0] ik[ipr][1] = (uint8_t) (k % 1000 / 100); 809d288: 6d39 ldr r1, [r7, #80] ; 0x50 809d28a: 6dba ldr r2, [r7, #88] ; 0x58 809d28c: 4bc2 ldr r3, [pc, #776] ; (809d598 ) 809d28e: fba3 0302 umull r0, r3, r3, r2 809d292: 099b lsrs r3, r3, #6 809d294: f44f 707a mov.w r0, #1000 ; 0x3e8 809d298: fb00 f303 mul.w r3, r0, r3 809d29c: 1ad3 subs r3, r2, r3 809d29e: 4abf ldr r2, [pc, #764] ; (809d59c ) 809d2a0: fba2 2303 umull r2, r3, r2, r3 809d2a4: 095b lsrs r3, r3, #5 809d2a6: b2da uxtb r2, r3 809d2a8: 460b mov r3, r1 809d2aa: 009b lsls r3, r3, #2 809d2ac: 440b add r3, r1 809d2ae: f107 0168 add.w r1, r7, #104 ; 0x68 809d2b2: 440b add r3, r1 809d2b4: 3b33 subs r3, #51 ; 0x33 809d2b6: 701a strb r2, [r3, #0] ik[ipr][2] = (uint8_t) (k % 1000 % 100 / 10); 809d2b8: 6d39 ldr r1, [r7, #80] ; 0x50 809d2ba: 6dba ldr r2, [r7, #88] ; 0x58 809d2bc: 4bb6 ldr r3, [pc, #728] ; (809d598 ) 809d2be: fba3 0302 umull r0, r3, r3, r2 809d2c2: 099b lsrs r3, r3, #6 809d2c4: f44f 707a mov.w r0, #1000 ; 0x3e8 809d2c8: fb00 f303 mul.w r3, r0, r3 809d2cc: 1ad3 subs r3, r2, r3 809d2ce: 4ab3 ldr r2, [pc, #716] ; (809d59c ) 809d2d0: fba2 0203 umull r0, r2, r2, r3 809d2d4: 0952 lsrs r2, r2, #5 809d2d6: 2064 movs r0, #100 ; 0x64 809d2d8: fb00 f202 mul.w r2, r0, r2 809d2dc: 1a9a subs r2, r3, r2 809d2de: 4bb0 ldr r3, [pc, #704] ; (809d5a0 ) 809d2e0: fba3 2302 umull r2, r3, r3, r2 809d2e4: 08db lsrs r3, r3, #3 809d2e6: b2da uxtb r2, r3 809d2e8: 460b mov r3, r1 809d2ea: 009b lsls r3, r3, #2 809d2ec: 440b add r3, r1 809d2ee: f107 0168 add.w r1, r7, #104 ; 0x68 809d2f2: 440b add r3, r1 809d2f4: 3b32 subs r3, #50 ; 0x32 809d2f6: 701a strb r2, [r3, #0] ik[ipr][3] = (uint8_t) (k % 1000 % 100 % 10); 809d2f8: 6d38 ldr r0, [r7, #80] ; 0x50 809d2fa: 6dba ldr r2, [r7, #88] ; 0x58 809d2fc: 4ba6 ldr r3, [pc, #664] ; (809d598 ) 809d2fe: fba3 1302 umull r1, r3, r3, r2 809d302: 099b lsrs r3, r3, #6 809d304: f44f 717a mov.w r1, #1000 ; 0x3e8 809d308: fb01 f303 mul.w r3, r1, r3 809d30c: 1ad3 subs r3, r2, r3 809d30e: 4aa3 ldr r2, [pc, #652] ; (809d59c ) 809d310: fba2 1203 umull r1, r2, r2, r3 809d314: 0952 lsrs r2, r2, #5 809d316: 2164 movs r1, #100 ; 0x64 809d318: fb01 f202 mul.w r2, r1, r2 809d31c: 1a9a subs r2, r3, r2 809d31e: 4ba0 ldr r3, [pc, #640] ; (809d5a0 ) 809d320: fba3 1302 umull r1, r3, r3, r2 809d324: 08d9 lsrs r1, r3, #3 809d326: 460b mov r3, r1 809d328: 009b lsls r3, r3, #2 809d32a: 440b add r3, r1 809d32c: 005b lsls r3, r3, #1 809d32e: 1ad1 subs r1, r2, r3 809d330: b2ca uxtb r2, r1 809d332: 4603 mov r3, r0 809d334: 009b lsls r3, r3, #2 809d336: 4403 add r3, r0 809d338: f107 0168 add.w r1, r7, #104 ; 0x68 809d33c: 440b add r3, r1 809d33e: 3b31 subs r3, #49 ; 0x31 809d340: 701a strb r2, [r3, #0] if(ipr == ACC) 809d342: 6d3b ldr r3, [r7, #80] ; 0x50 809d344: 2b00 cmp r3, #0 809d346: d157 bne.n 809d3f8 DrawImage(NUMS[ik[ipr][3]], 110 + 30*4, 68+18); 809d348: 6d3a ldr r2, [r7, #80] ; 0x50 809d34a: 4613 mov r3, r2 809d34c: 009b lsls r3, r3, #2 809d34e: 4413 add r3, r2 809d350: f107 0268 add.w r2, r7, #104 ; 0x68 809d354: 4413 add r3, r2 809d356: 3b31 subs r3, #49 ; 0x31 809d358: 781b ldrb r3, [r3, #0] 809d35a: b2db uxtb r3, r3 809d35c: 461a mov r2, r3 809d35e: 4b91 ldr r3, [pc, #580] ; (809d5a4 ) 809d360: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809d364: 2256 movs r2, #86 ; 0x56 809d366: 21e6 movs r1, #230 ; 0xe6 809d368: 4618 mov r0, r3 809d36a: f7b7 f913 bl 8054594 DrawImage(&bmgpt, 95 + 30*4, 92+18); 809d36e: 226e movs r2, #110 ; 0x6e 809d370: 21d7 movs r1, #215 ; 0xd7 809d372: 488d ldr r0, [pc, #564] ; (809d5a8 ) 809d374: f7b7 f90e bl 8054594 DrawImage(NUMS[ik[ipr][2]], 90 + 30*3, 68+18); 809d378: 6d3a ldr r2, [r7, #80] ; 0x50 809d37a: 4613 mov r3, r2 809d37c: 009b lsls r3, r3, #2 809d37e: 4413 add r3, r2 809d380: f107 0268 add.w r2, r7, #104 ; 0x68 809d384: 4413 add r3, r2 809d386: 3b32 subs r3, #50 ; 0x32 809d388: 781b ldrb r3, [r3, #0] 809d38a: b2db uxtb r3, r3 809d38c: 461a mov r2, r3 809d38e: 4b85 ldr r3, [pc, #532] ; (809d5a4 ) 809d390: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809d394: 2256 movs r2, #86 ; 0x56 809d396: 21b4 movs r1, #180 ; 0xb4 809d398: 4618 mov r0, r3 809d39a: f7b7 f8fb bl 8054594 DrawImage(NUMS[ik[ipr][1]], 90 + 30*2, 68+18); 809d39e: 6d3a ldr r2, [r7, #80] ; 0x50 809d3a0: 4613 mov r3, r2 809d3a2: 009b lsls r3, r3, #2 809d3a4: 4413 add r3, r2 809d3a6: f107 0268 add.w r2, r7, #104 ; 0x68 809d3aa: 4413 add r3, r2 809d3ac: 3b33 subs r3, #51 ; 0x33 809d3ae: 781b ldrb r3, [r3, #0] 809d3b0: b2db uxtb r3, r3 809d3b2: 461a mov r2, r3 809d3b4: 4b7b ldr r3, [pc, #492] ; (809d5a4 ) 809d3b6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809d3ba: 2256 movs r2, #86 ; 0x56 809d3bc: 2196 movs r1, #150 ; 0x96 809d3be: 4618 mov r0, r3 809d3c0: f7b7 f8e8 bl 8054594 DrawImage(NUMS[ik[ipr][0]], 90 + 30*1, 68+18); 809d3c4: 6d3a ldr r2, [r7, #80] ; 0x50 809d3c6: 4613 mov r3, r2 809d3c8: 009b lsls r3, r3, #2 809d3ca: 4413 add r3, r2 809d3cc: f107 0268 add.w r2, r7, #104 ; 0x68 809d3d0: 4413 add r3, r2 809d3d2: 3b34 subs r3, #52 ; 0x34 809d3d4: 781b ldrb r3, [r3, #0] 809d3d6: b2db uxtb r3, r3 809d3d8: 461a mov r2, r3 809d3da: 4b72 ldr r3, [pc, #456] ; (809d5a4 ) 809d3dc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809d3e0: 2256 movs r2, #86 ; 0x56 809d3e2: 2178 movs r1, #120 ; 0x78 809d3e4: 4618 mov r0, r3 809d3e6: f7b7 f8d5 bl 8054594 DrawImage(&bmg_dB, 265, 74+18); 809d3ea: 225c movs r2, #92 ; 0x5c 809d3ec: f240 1109 movw r1, #265 ; 0x109 809d3f0: 486e ldr r0, [pc, #440] ; (809d5ac ) 809d3f2: f7b7 f8cf bl 8054594 809d3f6: e0fe b.n 809d5f6 if(ipr == VEL) 809d3f8: 6d3b ldr r3, [r7, #80] ; 0x50 809d3fa: 2b01 cmp r3, #1 809d3fc: d157 bne.n 809d4ae DrawImage(NUMS[ik[ipr][3]], 110 + 30*4, 121+9); 809d3fe: 6d3a ldr r2, [r7, #80] ; 0x50 809d400: 4613 mov r3, r2 809d402: 009b lsls r3, r3, #2 809d404: 4413 add r3, r2 809d406: f107 0268 add.w r2, r7, #104 ; 0x68 809d40a: 4413 add r3, r2 809d40c: 3b31 subs r3, #49 ; 0x31 809d40e: 781b ldrb r3, [r3, #0] 809d410: b2db uxtb r3, r3 809d412: 461a mov r2, r3 809d414: 4b63 ldr r3, [pc, #396] ; (809d5a4 ) 809d416: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809d41a: 2282 movs r2, #130 ; 0x82 809d41c: 21e6 movs r1, #230 ; 0xe6 809d41e: 4618 mov r0, r3 809d420: f7b7 f8b8 bl 8054594 DrawImage(&bmgpt, 95 + 30*4, 145+9); 809d424: 229a movs r2, #154 ; 0x9a 809d426: 21d7 movs r1, #215 ; 0xd7 809d428: 485f ldr r0, [pc, #380] ; (809d5a8 ) 809d42a: f7b7 f8b3 bl 8054594 DrawImage(NUMS[ik[ipr][2]], 90 + 30*3, 121+9); 809d42e: 6d3a ldr r2, [r7, #80] ; 0x50 809d430: 4613 mov r3, r2 809d432: 009b lsls r3, r3, #2 809d434: 4413 add r3, r2 809d436: f107 0268 add.w r2, r7, #104 ; 0x68 809d43a: 4413 add r3, r2 809d43c: 3b32 subs r3, #50 ; 0x32 809d43e: 781b ldrb r3, [r3, #0] 809d440: b2db uxtb r3, r3 809d442: 461a mov r2, r3 809d444: 4b57 ldr r3, [pc, #348] ; (809d5a4 ) 809d446: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809d44a: 2282 movs r2, #130 ; 0x82 809d44c: 21b4 movs r1, #180 ; 0xb4 809d44e: 4618 mov r0, r3 809d450: f7b7 f8a0 bl 8054594 DrawImage(NUMS[ik[ipr][1]], 90 + 30*2, 121+9); 809d454: 6d3a ldr r2, [r7, #80] ; 0x50 809d456: 4613 mov r3, r2 809d458: 009b lsls r3, r3, #2 809d45a: 4413 add r3, r2 809d45c: f107 0268 add.w r2, r7, #104 ; 0x68 809d460: 4413 add r3, r2 809d462: 3b33 subs r3, #51 ; 0x33 809d464: 781b ldrb r3, [r3, #0] 809d466: b2db uxtb r3, r3 809d468: 461a mov r2, r3 809d46a: 4b4e ldr r3, [pc, #312] ; (809d5a4 ) 809d46c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809d470: 2282 movs r2, #130 ; 0x82 809d472: 2196 movs r1, #150 ; 0x96 809d474: 4618 mov r0, r3 809d476: f7b7 f88d bl 8054594 DrawImage(NUMS[ik[ipr][0]], 90 + 30*1, 121+9); 809d47a: 6d3a ldr r2, [r7, #80] ; 0x50 809d47c: 4613 mov r3, r2 809d47e: 009b lsls r3, r3, #2 809d480: 4413 add r3, r2 809d482: f107 0268 add.w r2, r7, #104 ; 0x68 809d486: 4413 add r3, r2 809d488: 3b34 subs r3, #52 ; 0x34 809d48a: 781b ldrb r3, [r3, #0] 809d48c: b2db uxtb r3, r3 809d48e: 461a mov r2, r3 809d490: 4b44 ldr r3, [pc, #272] ; (809d5a4 ) 809d492: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809d496: 2282 movs r2, #130 ; 0x82 809d498: 2178 movs r1, #120 ; 0x78 809d49a: 4618 mov r0, r3 809d49c: f7b7 f87a bl 8054594 DrawImage(&bmg_dB, 265, 128+9); 809d4a0: 2289 movs r2, #137 ; 0x89 809d4a2: f240 1109 movw r1, #265 ; 0x109 809d4a6: 4841 ldr r0, [pc, #260] ; (809d5ac ) 809d4a8: f7b7 f874 bl 8054594 809d4ac: e0a3 b.n 809d5f6 if(ipr == DIS) 809d4ae: 6d3b ldr r3, [r7, #80] ; 0x50 809d4b0: 2b02 cmp r3, #2 809d4b2: f040 80a0 bne.w 809d5f6 DrawImage(NUMS[ik[ipr][3]], 110 + 30*4, 174); 809d4b6: 6d3a ldr r2, [r7, #80] ; 0x50 809d4b8: 4613 mov r3, r2 809d4ba: 009b lsls r3, r3, #2 809d4bc: 4413 add r3, r2 809d4be: f107 0268 add.w r2, r7, #104 ; 0x68 809d4c2: 4413 add r3, r2 809d4c4: 3b31 subs r3, #49 ; 0x31 809d4c6: 781b ldrb r3, [r3, #0] 809d4c8: b2db uxtb r3, r3 809d4ca: 461a mov r2, r3 809d4cc: 4b35 ldr r3, [pc, #212] ; (809d5a4 ) 809d4ce: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809d4d2: 22ae movs r2, #174 ; 0xae 809d4d4: 21e6 movs r1, #230 ; 0xe6 809d4d6: 4618 mov r0, r3 809d4d8: f7b7 f85c bl 8054594 DrawImage(&bmgpt, 95 + 30*4, 198); 809d4dc: 22c6 movs r2, #198 ; 0xc6 809d4de: 21d7 movs r1, #215 ; 0xd7 809d4e0: 4831 ldr r0, [pc, #196] ; (809d5a8 ) 809d4e2: f7b7 f857 bl 8054594 DrawImage(NUMS[ik[ipr][2]], 90 + 30*3, 174); 809d4e6: 6d3a ldr r2, [r7, #80] ; 0x50 809d4e8: 4613 mov r3, r2 809d4ea: 009b lsls r3, r3, #2 809d4ec: 4413 add r3, r2 809d4ee: f107 0268 add.w r2, r7, #104 ; 0x68 809d4f2: 4413 add r3, r2 809d4f4: 3b32 subs r3, #50 ; 0x32 809d4f6: 781b ldrb r3, [r3, #0] 809d4f8: b2db uxtb r3, r3 809d4fa: 461a mov r2, r3 809d4fc: 4b29 ldr r3, [pc, #164] ; (809d5a4 ) 809d4fe: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809d502: 22ae movs r2, #174 ; 0xae 809d504: 21b4 movs r1, #180 ; 0xb4 809d506: 4618 mov r0, r3 809d508: f7b7 f844 bl 8054594 DrawImage(NUMS[ik[ipr][1]], 90 + 30*2, 174); 809d50c: 6d3a ldr r2, [r7, #80] ; 0x50 809d50e: 4613 mov r3, r2 809d510: 009b lsls r3, r3, #2 809d512: 4413 add r3, r2 809d514: f107 0268 add.w r2, r7, #104 ; 0x68 809d518: 4413 add r3, r2 809d51a: 3b33 subs r3, #51 ; 0x33 809d51c: 781b ldrb r3, [r3, #0] 809d51e: b2db uxtb r3, r3 809d520: 461a mov r2, r3 809d522: 4b20 ldr r3, [pc, #128] ; (809d5a4 ) 809d524: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809d528: 22ae movs r2, #174 ; 0xae 809d52a: 2196 movs r1, #150 ; 0x96 809d52c: 4618 mov r0, r3 809d52e: f7b7 f831 bl 8054594 DrawImage(NUMS[ik[ipr][0]], 90 + 30*1, 174); 809d532: 6d3a ldr r2, [r7, #80] ; 0x50 809d534: 4613 mov r3, r2 809d536: 009b lsls r3, r3, #2 809d538: 4413 add r3, r2 809d53a: f107 0268 add.w r2, r7, #104 ; 0x68 809d53e: 4413 add r3, r2 809d540: 3b34 subs r3, #52 ; 0x34 809d542: 781b ldrb r3, [r3, #0] 809d544: b2db uxtb r3, r3 809d546: 461a mov r2, r3 809d548: 4b16 ldr r3, [pc, #88] ; (809d5a4 ) 809d54a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809d54e: 22ae movs r2, #174 ; 0xae 809d550: 2178 movs r1, #120 ; 0x78 809d552: 4618 mov r0, r3 809d554: f7b7 f81e bl 8054594 DrawImage(&bmg_dB, 265, 180); 809d558: 22b4 movs r2, #180 ; 0xb4 809d55a: f240 1109 movw r1, #265 ; 0x109 809d55e: 4813 ldr r0, [pc, #76] ; (809d5ac ) 809d560: f7b7 f818 bl 8054594 809d564: e047 b.n 809d5f6 if(ipr == VEL) 809d566: 6d3b ldr r3, [r7, #80] ; 0x50 809d568: 2b01 cmp r3, #1 809d56a: d12b bne.n 809d5c4 LCD_SetColors(LCD_COLOR_NUMGREEN, LCD_COLOR_BLACK); 809d56c: 4910 ldr r1, [pc, #64] ; (809d5b0 ) 809d56e: 4811 ldr r0, [pc, #68] ; (809d5b4 ) 809d570: f7b6 f91c bl 80537ac if(pardata.LANG == RUS) 809d574: 4b10 ldr r3, [pc, #64] ; (809d5b8 ) 809d576: 7b1b ldrb r3, [r3, #12] 809d578: b2db uxtb r3, r3 809d57a: 2b00 cmp r3, #0 809d57c: d105 bne.n 809d58a LCD_DisplayStringC(167, 135, "ÍÅÒ ÄÀÍÍÛÕ"); 809d57e: 4a0f ldr r2, [pc, #60] ; (809d5bc ) 809d580: 2187 movs r1, #135 ; 0x87 809d582: 20a7 movs r0, #167 ; 0xa7 809d584: f7b6 fed2 bl 805432c 809d588: e035 b.n 809d5f6 else LCD_DisplayStringC(167, 135, "NO DATA"); 809d58a: 4a0d ldr r2, [pc, #52] ; (809d5c0 ) 809d58c: 2187 movs r1, #135 ; 0x87 809d58e: 20a7 movs r0, #167 ; 0xa7 809d590: f7b6 fecc bl 805432c 809d594: e02f b.n 809d5f6 809d596: bf00 nop 809d598: 10624dd3 .word 0x10624dd3 809d59c: 51eb851f .word 0x51eb851f 809d5a0: cccccccd .word 0xcccccccd 809d5a4: 20020124 .word 0x20020124 809d5a8: 08167a1c .word 0x08167a1c 809d5ac: 08162c68 .word 0x08162c68 809d5b0: ff0a0f1f .word 0xff0a0f1f 809d5b4: ffb8e828 .word 0xffb8e828 809d5b8: 20023e60 .word 0x20023e60 809d5bc: 080cfaf4 .word 0x080cfaf4 809d5c0: 080cfb00 .word 0x080cfb00 if(ipr == DIS) 809d5c4: 6d3b ldr r3, [r7, #80] ; 0x50 809d5c6: 2b02 cmp r3, #2 809d5c8: d115 bne.n 809d5f6 LCD_SetColors(LCD_COLOR_NUMGREEN, LCD_COLOR_BLACK); 809d5ca: 49cb ldr r1, [pc, #812] ; (809d8f8 ) 809d5cc: 48cb ldr r0, [pc, #812] ; (809d8fc ) 809d5ce: f7b6 f8ed bl 80537ac if(pardata.LANG == RUS) 809d5d2: 4bcb ldr r3, [pc, #812] ; (809d900 ) 809d5d4: 7b1b ldrb r3, [r3, #12] 809d5d6: b2db uxtb r3, r3 809d5d8: 2b00 cmp r3, #0 809d5da: d105 bne.n 809d5e8 LCD_DisplayStringC(167, 185, "ÍÅÒ ÄÀÍÍÛÕ"); 809d5dc: 4ac9 ldr r2, [pc, #804] ; (809d904 ) 809d5de: 21b9 movs r1, #185 ; 0xb9 809d5e0: 20a7 movs r0, #167 ; 0xa7 809d5e2: f7b6 fea3 bl 805432c 809d5e6: e006 b.n 809d5f6 else LCD_DisplayStringC(167, 185, "NO DATA"); 809d5e8: 4ac7 ldr r2, [pc, #796] ; (809d908 ) 809d5ea: 21b9 movs r1, #185 ; 0xb9 809d5ec: 20a7 movs r0, #167 ; 0xa7 809d5ee: f7b6 fe9d bl 805432c 809d5f2: e000 b.n 809d5f6 if(ipr == ACC) 809d5f4: bf00 nop for(ipr = ACC; ipr <= DIS; ipr++) 809d5f6: 6d3b ldr r3, [r7, #80] ; 0x50 809d5f8: 3301 adds r3, #1 809d5fa: 653b str r3, [r7, #80] ; 0x50 809d5fc: 6d3b ldr r3, [r7, #80] ; 0x50 809d5fe: 2b02 cmp r3, #2 809d600: f67e ae78 bls.w 809c2f4 break; 809d604: f006 ba3a b.w 80a3a7c if(NextIndexMeas < IndexMeas[NextIndexPoint]) 809d608: 4bc0 ldr r3, [pc, #768] ; (809d90c ) 809d60a: 681b ldr r3, [r3, #0] 809d60c: 4ac0 ldr r2, [pc, #768] ; (809d910 ) 809d60e: f852 2023 ldr.w r2, [r2, r3, lsl #2] 809d612: 4bc0 ldr r3, [pc, #768] ; (809d914 ) 809d614: 681b ldr r3, [r3, #0] 809d616: 429a cmp r2, r3 809d618: d905 bls.n 809d626 DrawImage(&bmSAVED, 298, 39); 809d61a: 2227 movs r2, #39 ; 0x27 809d61c: f44f 7195 mov.w r1, #298 ; 0x12a 809d620: 48bd ldr r0, [pc, #756] ; (809d918 ) 809d622: f7b6 ffb7 bl 8054594 DrawDetectorType(); //TODO 809d626: f7fa fe21 bl 809826c if((!FIRST) && (!RepeatKm) && (Stability > (Nr * 4)) && (!timeRelax)) // 809d62a: 4bbc ldr r3, [pc, #752] ; (809d91c ) 809d62c: 781b ldrb r3, [r3, #0] 809d62e: b2db uxtb r3, r3 809d630: f083 0301 eor.w r3, r3, #1 809d634: b2db uxtb r3, r3 809d636: 2b00 cmp r3, #0 809d638: f006 8220 beq.w 80a3a7c 809d63c: 4bb8 ldr r3, [pc, #736] ; (809d920 ) 809d63e: 781b ldrb r3, [r3, #0] 809d640: b2db uxtb r3, r3 809d642: f083 0301 eor.w r3, r3, #1 809d646: b2db uxtb r3, r3 809d648: 2b00 cmp r3, #0 809d64a: f006 8217 beq.w 80a3a7c 809d64e: 4bb5 ldr r3, [pc, #724] ; (809d924 ) 809d650: 881b ldrh r3, [r3, #0] 809d652: b29b uxth r3, r3 809d654: 009b lsls r3, r3, #2 809d656: 461a mov r2, r3 809d658: 4bb3 ldr r3, [pc, #716] ; (809d928 ) 809d65a: 681b ldr r3, [r3, #0] 809d65c: 429a cmp r2, r3 809d65e: f086 820d bcs.w 80a3a7c 809d662: 4bb2 ldr r3, [pc, #712] ; (809d92c ) 809d664: 681b ldr r3, [r3, #0] 809d666: 2b00 cmp r3, #0 809d668: f046 8208 bne.w 80a3a7c switch(pardata.SYG) 809d66c: 4ba4 ldr r3, [pc, #656] ; (809d900 ) 809d66e: 781b ldrb r3, [r3, #0] 809d670: b2db uxtb r3, r3 809d672: 2b00 cmp r3, #0 809d674: d001 beq.n 809d67a break; 809d676: f006 ba01 b.w 80a3a7c if(log == false) // Åñëè â ìåòðè÷åñêèõ âåëè÷èíàõ 809d67a: f897 3067 ldrb.w r3, [r7, #103] ; 0x67 809d67e: f083 0301 eor.w r3, r3, #1 809d682: b2db uxtb r3, r3 809d684: 2b00 cmp r3, #0 809d686: f000 85b5 beq.w 809e1f4 for(ipr = ACC; ipr <= DIS; ipr++) 809d68a: 2300 movs r3, #0 809d68c: 653b str r3, [r7, #80] ; 0x50 809d68e: f000 bdab b.w 809e1e8 memset(str, 0, sizeof(str)); 809d692: f107 030c add.w r3, r7, #12 809d696: 2228 movs r2, #40 ; 0x28 809d698: 2100 movs r1, #0 809d69a: 4618 mov r0, r3 809d69c: f02f fcd4 bl 80cd048 f = ABS(skz[ipr]); 809d6a0: 6d3b ldr r3, [r7, #80] ; 0x50 809d6a2: 4aa3 ldr r2, [pc, #652] ; (809d930 ) 809d6a4: 009b lsls r3, r3, #2 809d6a6: 4413 add r3, r2 809d6a8: edd3 7a00 vldr s15, [r3] 809d6ac: eef5 7ac0 vcmpe.f32 s15, #0.0 809d6b0: eef1 fa10 vmrs APSR_nzcv, fpscr 809d6b4: dd06 ble.n 809d6c4 809d6b6: 6d3b ldr r3, [r7, #80] ; 0x50 809d6b8: 4a9d ldr r2, [pc, #628] ; (809d930 ) 809d6ba: 009b lsls r3, r3, #2 809d6bc: 4413 add r3, r2 809d6be: edd3 7a00 vldr s15, [r3] 809d6c2: e007 b.n 809d6d4 809d6c4: 6d3b ldr r3, [r7, #80] ; 0x50 809d6c6: 4a9a ldr r2, [pc, #616] ; (809d930 ) 809d6c8: 009b lsls r3, r3, #2 809d6ca: 4413 add r3, r2 809d6cc: edd3 7a00 vldr s15, [r3] 809d6d0: eef1 7a67 vneg.f32 s15, s15 809d6d4: edc7 7a11 vstr s15, [r7, #68] ; 0x44 if(ipr < DIS) 809d6d8: 6d3b ldr r3, [r7, #80] ; 0x50 809d6da: 2b01 cmp r3, #1 809d6dc: f200 80af bhi.w 809d83e if(f < 10.0f) 809d6e0: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809d6e4: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 809d6e8: eef4 7ac7 vcmpe.f32 s15, s14 809d6ec: eef1 fa10 vmrs APSR_nzcv, fpscr 809d6f0: d513 bpl.n 809d71a k = (uint32_t) (roundf(f * 10000)); 809d6f2: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809d6f6: ed9f 7a93 vldr s14, [pc, #588] ; 809d944 809d6fa: ee67 7a87 vmul.f32 s15, s15, s14 809d6fe: eeb0 0a67 vmov.f32 s0, s15 809d702: f02d faa3 bl 80cac4c 809d706: eef0 7a40 vmov.f32 s15, s0 809d70a: eefc 7ae7 vcvt.u32.f32 s15, s15 809d70e: ee17 3a90 vmov r3, s15 809d712: 65bb str r3, [r7, #88] ; 0x58 t = 1; 809d714: 2301 movs r3, #1 809d716: 657b str r3, [r7, #84] ; 0x54 809d718: e1dd b.n 809dad6 if(f < 100.0f) 809d71a: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809d71e: ed9f 7a85 vldr s14, [pc, #532] ; 809d934 809d722: eef4 7ac7 vcmpe.f32 s15, s14 809d726: eef1 fa10 vmrs APSR_nzcv, fpscr 809d72a: d513 bpl.n 809d754 k = (uint32_t) (roundf(f * 1000)); 809d72c: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809d730: ed9f 7a81 vldr s14, [pc, #516] ; 809d938 809d734: ee67 7a87 vmul.f32 s15, s15, s14 809d738: eeb0 0a67 vmov.f32 s0, s15 809d73c: f02d fa86 bl 80cac4c 809d740: eef0 7a40 vmov.f32 s15, s0 809d744: eefc 7ae7 vcvt.u32.f32 s15, s15 809d748: ee17 3a90 vmov r3, s15 809d74c: 65bb str r3, [r7, #88] ; 0x58 t = 2; 809d74e: 2302 movs r3, #2 809d750: 657b str r3, [r7, #84] ; 0x54 809d752: e1c0 b.n 809dad6 if(f < 1000.0f) 809d754: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809d758: ed9f 7a77 vldr s14, [pc, #476] ; 809d938 809d75c: eef4 7ac7 vcmpe.f32 s15, s14 809d760: eef1 fa10 vmrs APSR_nzcv, fpscr 809d764: d513 bpl.n 809d78e k = (uint32_t) (roundf(f * 100)); 809d766: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809d76a: ed9f 7a72 vldr s14, [pc, #456] ; 809d934 809d76e: ee67 7a87 vmul.f32 s15, s15, s14 809d772: eeb0 0a67 vmov.f32 s0, s15 809d776: f02d fa69 bl 80cac4c 809d77a: eef0 7a40 vmov.f32 s15, s0 809d77e: eefc 7ae7 vcvt.u32.f32 s15, s15 809d782: ee17 3a90 vmov r3, s15 809d786: 65bb str r3, [r7, #88] ; 0x58 t = 3; 809d788: 2303 movs r3, #3 809d78a: 657b str r3, [r7, #84] ; 0x54 809d78c: e1a3 b.n 809dad6 if(f < 10000.0f) 809d78e: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809d792: ed9f 7a6c vldr s14, [pc, #432] ; 809d944 809d796: eef4 7ac7 vcmpe.f32 s15, s14 809d79a: eef1 fa10 vmrs APSR_nzcv, fpscr 809d79e: d513 bpl.n 809d7c8 k = (uint32_t) (roundf(f * 10)); 809d7a0: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809d7a4: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 809d7a8: ee67 7a87 vmul.f32 s15, s15, s14 809d7ac: eeb0 0a67 vmov.f32 s0, s15 809d7b0: f02d fa4c bl 80cac4c 809d7b4: eef0 7a40 vmov.f32 s15, s0 809d7b8: eefc 7ae7 vcvt.u32.f32 s15, s15 809d7bc: ee17 3a90 vmov r3, s15 809d7c0: 65bb str r3, [r7, #88] ; 0x58 t = 4; 809d7c2: 2304 movs r3, #4 809d7c4: 657b str r3, [r7, #84] ; 0x54 809d7c6: e186 b.n 809dad6 if(f < 100000.0f) 809d7c8: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809d7cc: ed9f 7a5e vldr s14, [pc, #376] ; 809d948 809d7d0: eef4 7ac7 vcmpe.f32 s15, s14 809d7d4: eef1 fa10 vmrs APSR_nzcv, fpscr 809d7d8: d515 bpl.n 809d806 k = (uint32_t) (roundf(f)); 809d7da: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809d7de: eeb0 0a67 vmov.f32 s0, s15 809d7e2: f02d fa33 bl 80cac4c 809d7e6: eef0 7a40 vmov.f32 s15, s0 809d7ea: eefc 7ae7 vcvt.u32.f32 s15, s15 809d7ee: ee17 3a90 vmov r3, s15 809d7f2: 65bb str r3, [r7, #88] ; 0x58 if(k >= 100000) 809d7f4: 6dbb ldr r3, [r7, #88] ; 0x58 809d7f6: 4a51 ldr r2, [pc, #324] ; (809d93c ) 809d7f8: 4293 cmp r3, r2 809d7fa: d901 bls.n 809d800 k = 99999; 809d7fc: 4b4f ldr r3, [pc, #316] ; (809d93c ) 809d7fe: 65bb str r3, [r7, #88] ; 0x58 t = 0; 809d800: 2300 movs r3, #0 809d802: 657b str r3, [r7, #84] ; 0x54 809d804: e167 b.n 809dad6 if(f >= 100000.0f) 809d806: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809d80a: ed9f 7a4f vldr s14, [pc, #316] ; 809d948 809d80e: eef4 7ac7 vcmpe.f32 s15, s14 809d812: eef1 fa10 vmrs APSR_nzcv, fpscr 809d816: f2c0 815e blt.w 809dad6 f = 99999.0f; 809d81a: 4b49 ldr r3, [pc, #292] ; (809d940 ) 809d81c: 647b str r3, [r7, #68] ; 0x44 k = (uint32_t) (roundf(f)); 809d81e: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809d822: eeb0 0a67 vmov.f32 s0, s15 809d826: f02d fa11 bl 80cac4c 809d82a: eef0 7a40 vmov.f32 s15, s0 809d82e: eefc 7ae7 vcvt.u32.f32 s15, s15 809d832: ee17 3a90 vmov r3, s15 809d836: 65bb str r3, [r7, #88] ; 0x58 t = 0; 809d838: 2300 movs r3, #0 809d83a: 657b str r3, [r7, #84] ; 0x54 809d83c: e14b b.n 809dad6 if(f < 10.0f) 809d83e: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809d842: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 809d846: eef4 7ac7 vcmpe.f32 s15, s14 809d84a: eef1 fa10 vmrs APSR_nzcv, fpscr 809d84e: d515 bpl.n 809d87c k = (uint32_t) (roundf(f * 10000)); 809d850: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809d854: ed9f 7a3b vldr s14, [pc, #236] ; 809d944 809d858: ee67 7a87 vmul.f32 s15, s15, s14 809d85c: eeb0 0a67 vmov.f32 s0, s15 809d860: f02d f9f4 bl 80cac4c 809d864: eef0 7a40 vmov.f32 s15, s0 809d868: eefc 7ae7 vcvt.u32.f32 s15, s15 809d86c: ee17 3a90 vmov r3, s15 809d870: 65bb str r3, [r7, #88] ; 0x58 t = 1; 809d872: 2301 movs r3, #1 809d874: 657b str r3, [r7, #84] ; 0x54 m = 0; 809d876: 2300 movs r3, #0 809d878: 64fb str r3, [r7, #76] ; 0x4c 809d87a: e12c b.n 809dad6 if(f < 100.0f) 809d87c: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809d880: ed9f 7a2c vldr s14, [pc, #176] ; 809d934 809d884: eef4 7ac7 vcmpe.f32 s15, s14 809d888: eef1 fa10 vmrs APSR_nzcv, fpscr 809d88c: d515 bpl.n 809d8ba k = (uint32_t) (roundf(f * 1000)); 809d88e: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809d892: ed9f 7a29 vldr s14, [pc, #164] ; 809d938 809d896: ee67 7a87 vmul.f32 s15, s15, s14 809d89a: eeb0 0a67 vmov.f32 s0, s15 809d89e: f02d f9d5 bl 80cac4c 809d8a2: eef0 7a40 vmov.f32 s15, s0 809d8a6: eefc 7ae7 vcvt.u32.f32 s15, s15 809d8aa: ee17 3a90 vmov r3, s15 809d8ae: 65bb str r3, [r7, #88] ; 0x58 t = 2; 809d8b0: 2302 movs r3, #2 809d8b2: 657b str r3, [r7, #84] ; 0x54 m = 0; 809d8b4: 2300 movs r3, #0 809d8b6: 64fb str r3, [r7, #76] ; 0x4c 809d8b8: e10d b.n 809dad6 if(f < 1000.0f) 809d8ba: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809d8be: ed9f 7a1e vldr s14, [pc, #120] ; 809d938 809d8c2: eef4 7ac7 vcmpe.f32 s15, s14 809d8c6: eef1 fa10 vmrs APSR_nzcv, fpscr 809d8ca: d54b bpl.n 809d964 k = (uint32_t) (roundf(f * 100)); 809d8cc: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809d8d0: ed9f 7a18 vldr s14, [pc, #96] ; 809d934 809d8d4: ee67 7a87 vmul.f32 s15, s15, s14 809d8d8: eeb0 0a67 vmov.f32 s0, s15 809d8dc: f02d f9b6 bl 80cac4c 809d8e0: eef0 7a40 vmov.f32 s15, s0 809d8e4: eefc 7ae7 vcvt.u32.f32 s15, s15 809d8e8: ee17 3a90 vmov r3, s15 809d8ec: 65bb str r3, [r7, #88] ; 0x58 t = 3; 809d8ee: 2303 movs r3, #3 809d8f0: 657b str r3, [r7, #84] ; 0x54 m = 0; 809d8f2: 2300 movs r3, #0 809d8f4: 64fb str r3, [r7, #76] ; 0x4c 809d8f6: e0ee b.n 809dad6 809d8f8: ff0a0f1f .word 0xff0a0f1f 809d8fc: ffb8e828 .word 0xffb8e828 809d900: 20023e60 .word 0x20023e60 809d904: 080cfaf4 .word 0x080cfaf4 809d908: 080cfb00 .word 0x080cfb00 809d90c: 20021f9c .word 0x20021f9c 809d910: 20022ea0 .word 0x20022ea0 809d914: 20022310 .word 0x20022310 809d918: 08147a48 .word 0x08147a48 809d91c: 20020db2 .word 0x20020db2 809d920: 20020dac .word 0x20020dac 809d924: 20021d20 .word 0x20021d20 809d928: 20020da8 .word 0x20020da8 809d92c: 20020d6c .word 0x20020d6c 809d930: 20021540 .word 0x20021540 809d934: 42c80000 .word 0x42c80000 809d938: 447a0000 .word 0x447a0000 809d93c: 0001869f .word 0x0001869f 809d940: 47c34f80 .word 0x47c34f80 809d944: 461c4000 .word 0x461c4000 809d948: 47c35000 .word 0x47c35000 809d94c: 49742400 .word 0x49742400 809d950: 3dcccccd .word 0x3dcccccd 809d954: 4b189680 .word 0x4b189680 809d958: 3c23d70a .word 0x3c23d70a 809d95c: 4cbebc20 .word 0x4cbebc20 809d960: 3a83126f .word 0x3a83126f if(f < 10000.0f) 809d964: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809d968: ed1f 7a0a vldr s14, [pc, #-40] ; 809d944 809d96c: eef4 7ac7 vcmpe.f32 s15, s14 809d970: eef1 fa10 vmrs APSR_nzcv, fpscr 809d974: d515 bpl.n 809d9a2 k = (uint32_t) (roundf(f * 10)); 809d976: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809d97a: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 809d97e: ee67 7a87 vmul.f32 s15, s15, s14 809d982: eeb0 0a67 vmov.f32 s0, s15 809d986: f02d f961 bl 80cac4c 809d98a: eef0 7a40 vmov.f32 s15, s0 809d98e: eefc 7ae7 vcvt.u32.f32 s15, s15 809d992: ee17 3a90 vmov r3, s15 809d996: 65bb str r3, [r7, #88] ; 0x58 t = 1; 809d998: 2301 movs r3, #1 809d99a: 657b str r3, [r7, #84] ; 0x54 m = 1; 809d99c: 2301 movs r3, #1 809d99e: 64fb str r3, [r7, #76] ; 0x4c 809d9a0: e099 b.n 809dad6 if(f < 100000.0f) 809d9a2: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809d9a6: ed1f 7a18 vldr s14, [pc, #-96] ; 809d948 809d9aa: eef4 7ac7 vcmpe.f32 s15, s14 809d9ae: eef1 fa10 vmrs APSR_nzcv, fpscr 809d9b2: d511 bpl.n 809d9d8 k = (uint32_t) (roundf(f)); 809d9b4: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809d9b8: eeb0 0a67 vmov.f32 s0, s15 809d9bc: f02d f946 bl 80cac4c 809d9c0: eef0 7a40 vmov.f32 s15, s0 809d9c4: eefc 7ae7 vcvt.u32.f32 s15, s15 809d9c8: ee17 3a90 vmov r3, s15 809d9cc: 65bb str r3, [r7, #88] ; 0x58 t = 2; 809d9ce: 2302 movs r3, #2 809d9d0: 657b str r3, [r7, #84] ; 0x54 m = 1; 809d9d2: 2301 movs r3, #1 809d9d4: 64fb str r3, [r7, #76] ; 0x4c 809d9d6: e07e b.n 809dad6 if(f < 1000000.0f) 809d9d8: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809d9dc: ed1f 7a25 vldr s14, [pc, #-148] ; 809d94c 809d9e0: eef4 7ac7 vcmpe.f32 s15, s14 809d9e4: eef1 fa10 vmrs APSR_nzcv, fpscr 809d9e8: d515 bpl.n 809da16 k = (uint32_t) (roundf(f * 0.1f)); 809d9ea: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809d9ee: ed1f 7a28 vldr s14, [pc, #-160] ; 809d950 809d9f2: ee67 7a87 vmul.f32 s15, s15, s14 809d9f6: eeb0 0a67 vmov.f32 s0, s15 809d9fa: f02d f927 bl 80cac4c 809d9fe: eef0 7a40 vmov.f32 s15, s0 809da02: eefc 7ae7 vcvt.u32.f32 s15, s15 809da06: ee17 3a90 vmov r3, s15 809da0a: 65bb str r3, [r7, #88] ; 0x58 t = 3; 809da0c: 2303 movs r3, #3 809da0e: 657b str r3, [r7, #84] ; 0x54 m = 1; 809da10: 2301 movs r3, #1 809da12: 64fb str r3, [r7, #76] ; 0x4c 809da14: e05f b.n 809dad6 if(f < 10000000.0f) 809da16: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809da1a: ed1f 7a32 vldr s14, [pc, #-200] ; 809d954 809da1e: eef4 7ac7 vcmpe.f32 s15, s14 809da22: eef1 fa10 vmrs APSR_nzcv, fpscr 809da26: d515 bpl.n 809da54 k = (uint32_t) (roundf(f * 0.01f)); 809da28: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809da2c: ed1f 7a36 vldr s14, [pc, #-216] ; 809d958 809da30: ee67 7a87 vmul.f32 s15, s15, s14 809da34: eeb0 0a67 vmov.f32 s0, s15 809da38: f02d f908 bl 80cac4c 809da3c: eef0 7a40 vmov.f32 s15, s0 809da40: eefc 7ae7 vcvt.u32.f32 s15, s15 809da44: ee17 3a90 vmov r3, s15 809da48: 65bb str r3, [r7, #88] ; 0x58 t = 4; 809da4a: 2304 movs r3, #4 809da4c: 657b str r3, [r7, #84] ; 0x54 m = 1; 809da4e: 2301 movs r3, #1 809da50: 64fb str r3, [r7, #76] ; 0x4c 809da52: e040 b.n 809dad6 if(f < 100000000.0f) 809da54: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809da58: ed1f 7a40 vldr s14, [pc, #-256] ; 809d95c 809da5c: eef4 7ac7 vcmpe.f32 s15, s14 809da60: eef1 fa10 vmrs APSR_nzcv, fpscr 809da64: d51b bpl.n 809da9e k = (uint32_t) (roundf(f * 0.001f)); 809da66: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809da6a: ed1f 7a43 vldr s14, [pc, #-268] ; 809d960 809da6e: ee67 7a87 vmul.f32 s15, s15, s14 809da72: eeb0 0a67 vmov.f32 s0, s15 809da76: f02d f8e9 bl 80cac4c 809da7a: eef0 7a40 vmov.f32 s15, s0 809da7e: eefc 7ae7 vcvt.u32.f32 s15, s15 809da82: ee17 3a90 vmov r3, s15 809da86: 65bb str r3, [r7, #88] ; 0x58 if(k >= 100000) 809da88: 6dbb ldr r3, [r7, #88] ; 0x58 809da8a: 4aba ldr r2, [pc, #744] ; (809dd74 ) 809da8c: 4293 cmp r3, r2 809da8e: d901 bls.n 809da94 k = 99999; 809da90: 4bb8 ldr r3, [pc, #736] ; (809dd74 ) 809da92: 65bb str r3, [r7, #88] ; 0x58 t = 0; 809da94: 2300 movs r3, #0 809da96: 657b str r3, [r7, #84] ; 0x54 m = 1; 809da98: 2301 movs r3, #1 809da9a: 64fb str r3, [r7, #76] ; 0x4c 809da9c: e01b b.n 809dad6 if(f >= 100000000.0f) 809da9e: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809daa2: ed9f 7ab5 vldr s14, [pc, #724] ; 809dd78 809daa6: eef4 7ac7 vcmpe.f32 s15, s14 809daaa: eef1 fa10 vmrs APSR_nzcv, fpscr 809daae: db12 blt.n 809dad6 f = 99999.0f; 809dab0: 4bb2 ldr r3, [pc, #712] ; (809dd7c ) 809dab2: 647b str r3, [r7, #68] ; 0x44 k = (uint32_t) (roundf(f)); 809dab4: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809dab8: eeb0 0a67 vmov.f32 s0, s15 809dabc: f02d f8c6 bl 80cac4c 809dac0: eef0 7a40 vmov.f32 s15, s0 809dac4: eefc 7ae7 vcvt.u32.f32 s15, s15 809dac8: ee17 3a90 vmov r3, s15 809dacc: 65bb str r3, [r7, #88] ; 0x58 t = 0; 809dace: 2300 movs r3, #0 809dad0: 657b str r3, [r7, #84] ; 0x54 m = 1; 809dad2: 2301 movs r3, #1 809dad4: 64fb str r3, [r7, #76] ; 0x4c ik[ipr][0] = (uint8_t) (k / 10000); 809dad6: 6d3a ldr r2, [r7, #80] ; 0x50 809dad8: 6dbb ldr r3, [r7, #88] ; 0x58 809dada: 49a9 ldr r1, [pc, #676] ; (809dd80 ) 809dadc: fba1 1303 umull r1, r3, r1, r3 809dae0: 0b5b lsrs r3, r3, #13 809dae2: b2d9 uxtb r1, r3 809dae4: 4613 mov r3, r2 809dae6: 009b lsls r3, r3, #2 809dae8: 4413 add r3, r2 809daea: f107 0268 add.w r2, r7, #104 ; 0x68 809daee: 4413 add r3, r2 809daf0: 3b34 subs r3, #52 ; 0x34 809daf2: 460a mov r2, r1 809daf4: 701a strb r2, [r3, #0] ik[ipr][1] = (uint8_t) (k % 10000 / 1000); 809daf6: 6d39 ldr r1, [r7, #80] ; 0x50 809daf8: 6dba ldr r2, [r7, #88] ; 0x58 809dafa: 4ba1 ldr r3, [pc, #644] ; (809dd80 ) 809dafc: fba3 0302 umull r0, r3, r3, r2 809db00: 0b5b lsrs r3, r3, #13 809db02: f242 7010 movw r0, #10000 ; 0x2710 809db06: fb00 f303 mul.w r3, r0, r3 809db0a: 1ad3 subs r3, r2, r3 809db0c: 4a9d ldr r2, [pc, #628] ; (809dd84 ) 809db0e: fba2 2303 umull r2, r3, r2, r3 809db12: 099b lsrs r3, r3, #6 809db14: b2da uxtb r2, r3 809db16: 460b mov r3, r1 809db18: 009b lsls r3, r3, #2 809db1a: 440b add r3, r1 809db1c: f107 0168 add.w r1, r7, #104 ; 0x68 809db20: 440b add r3, r1 809db22: 3b33 subs r3, #51 ; 0x33 809db24: 701a strb r2, [r3, #0] ik[ipr][2] = (uint8_t) (k % 10000 % 1000 / 100); 809db26: 6d39 ldr r1, [r7, #80] ; 0x50 809db28: 6dba ldr r2, [r7, #88] ; 0x58 809db2a: 4b95 ldr r3, [pc, #596] ; (809dd80 ) 809db2c: fba3 0302 umull r0, r3, r3, r2 809db30: 0b5b lsrs r3, r3, #13 809db32: f242 7010 movw r0, #10000 ; 0x2710 809db36: fb00 f303 mul.w r3, r0, r3 809db3a: 1ad3 subs r3, r2, r3 809db3c: 4a91 ldr r2, [pc, #580] ; (809dd84 ) 809db3e: fba2 0203 umull r0, r2, r2, r3 809db42: 0992 lsrs r2, r2, #6 809db44: f44f 707a mov.w r0, #1000 ; 0x3e8 809db48: fb00 f202 mul.w r2, r0, r2 809db4c: 1a9a subs r2, r3, r2 809db4e: 4b8e ldr r3, [pc, #568] ; (809dd88 ) 809db50: fba3 2302 umull r2, r3, r3, r2 809db54: 095b lsrs r3, r3, #5 809db56: b2da uxtb r2, r3 809db58: 460b mov r3, r1 809db5a: 009b lsls r3, r3, #2 809db5c: 440b add r3, r1 809db5e: f107 0168 add.w r1, r7, #104 ; 0x68 809db62: 440b add r3, r1 809db64: 3b32 subs r3, #50 ; 0x32 809db66: 701a strb r2, [r3, #0] ik[ipr][3] = (uint8_t) (k % 10000 % 1000 % 100 / 10); 809db68: 6d39 ldr r1, [r7, #80] ; 0x50 809db6a: 6dbb ldr r3, [r7, #88] ; 0x58 809db6c: 4a84 ldr r2, [pc, #528] ; (809dd80 ) 809db6e: fba2 0203 umull r0, r2, r2, r3 809db72: 0b52 lsrs r2, r2, #13 809db74: f242 7010 movw r0, #10000 ; 0x2710 809db78: fb00 f202 mul.w r2, r0, r2 809db7c: 1a9a subs r2, r3, r2 809db7e: 4b81 ldr r3, [pc, #516] ; (809dd84 ) 809db80: fba3 0302 umull r0, r3, r3, r2 809db84: 099b lsrs r3, r3, #6 809db86: f44f 707a mov.w r0, #1000 ; 0x3e8 809db8a: fb00 f303 mul.w r3, r0, r3 809db8e: 1ad3 subs r3, r2, r3 809db90: 4a7d ldr r2, [pc, #500] ; (809dd88 ) 809db92: fba2 0203 umull r0, r2, r2, r3 809db96: 0952 lsrs r2, r2, #5 809db98: 2064 movs r0, #100 ; 0x64 809db9a: fb00 f202 mul.w r2, r0, r2 809db9e: 1a9a subs r2, r3, r2 809dba0: 4b7a ldr r3, [pc, #488] ; (809dd8c ) 809dba2: fba3 2302 umull r2, r3, r3, r2 809dba6: 08db lsrs r3, r3, #3 809dba8: b2da uxtb r2, r3 809dbaa: 460b mov r3, r1 809dbac: 009b lsls r3, r3, #2 809dbae: 440b add r3, r1 809dbb0: f107 0168 add.w r1, r7, #104 ; 0x68 809dbb4: 440b add r3, r1 809dbb6: 3b31 subs r3, #49 ; 0x31 809dbb8: 701a strb r2, [r3, #0] ik[ipr][4] = (uint8_t) (k % 10000 % 1000 % 100 % 10); 809dbba: 6d38 ldr r0, [r7, #80] ; 0x50 809dbbc: 6dbb ldr r3, [r7, #88] ; 0x58 809dbbe: 4a70 ldr r2, [pc, #448] ; (809dd80 ) 809dbc0: fba2 1203 umull r1, r2, r2, r3 809dbc4: 0b52 lsrs r2, r2, #13 809dbc6: f242 7110 movw r1, #10000 ; 0x2710 809dbca: fb01 f202 mul.w r2, r1, r2 809dbce: 1a9a subs r2, r3, r2 809dbd0: 4b6c ldr r3, [pc, #432] ; (809dd84 ) 809dbd2: fba3 1302 umull r1, r3, r3, r2 809dbd6: 099b lsrs r3, r3, #6 809dbd8: f44f 717a mov.w r1, #1000 ; 0x3e8 809dbdc: fb01 f303 mul.w r3, r1, r3 809dbe0: 1ad3 subs r3, r2, r3 809dbe2: 4a69 ldr r2, [pc, #420] ; (809dd88 ) 809dbe4: fba2 1203 umull r1, r2, r2, r3 809dbe8: 0952 lsrs r2, r2, #5 809dbea: 2164 movs r1, #100 ; 0x64 809dbec: fb01 f202 mul.w r2, r1, r2 809dbf0: 1a9a subs r2, r3, r2 809dbf2: 4b66 ldr r3, [pc, #408] ; (809dd8c ) 809dbf4: fba3 1302 umull r1, r3, r3, r2 809dbf8: 08d9 lsrs r1, r3, #3 809dbfa: 460b mov r3, r1 809dbfc: 009b lsls r3, r3, #2 809dbfe: 440b add r3, r1 809dc00: 005b lsls r3, r3, #1 809dc02: 1ad1 subs r1, r2, r3 809dc04: b2ca uxtb r2, r1 809dc06: 4603 mov r3, r0 809dc08: 009b lsls r3, r3, #2 809dc0a: 4403 add r3, r0 809dc0c: f107 0168 add.w r1, r7, #104 ; 0x68 809dc10: 440b add r3, r1 809dc12: 3b30 subs r3, #48 ; 0x30 809dc14: 701a strb r2, [r3, #0] if(skz[ipr] != -1.0f) // 809dc16: 6d3b ldr r3, [r7, #80] ; 0x50 809dc18: 4a5d ldr r2, [pc, #372] ; (809dd90 ) 809dc1a: 009b lsls r3, r3, #2 809dc1c: 4413 add r3, r2 809dc1e: edd3 7a00 vldr s15, [r3] 809dc22: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 809dc26: eef4 7a47 vcmp.f32 s15, s14 809dc2a: eef1 fa10 vmrs APSR_nzcv, fpscr 809dc2e: f000 829f beq.w 809e170 if(ipr == ACC) 809dc32: 6d3b ldr r3, [r7, #80] ; 0x50 809dc34: 2b00 cmp r3, #0 809dc36: f040 80dc bne.w 809ddf2 if(!t) 809dc3a: 6d7b ldr r3, [r7, #84] ; 0x54 809dc3c: 2b00 cmp r3, #0 809dc3e: d126 bne.n 809dc8e for(i = 0; i < 5; i++) 809dc40: 2300 movs r3, #0 809dc42: 65fb str r3, [r7, #92] ; 0x5c 809dc44: e01f b.n 809dc86 DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 68+18); 809dc46: 6d3a ldr r2, [r7, #80] ; 0x50 809dc48: 6df9 ldr r1, [r7, #92] ; 0x5c 809dc4a: 4613 mov r3, r2 809dc4c: 009b lsls r3, r3, #2 809dc4e: 4413 add r3, r2 809dc50: f107 0268 add.w r2, r7, #104 ; 0x68 809dc54: 4413 add r3, r2 809dc56: 440b add r3, r1 809dc58: 3b34 subs r3, #52 ; 0x34 809dc5a: 781b ldrb r3, [r3, #0] 809dc5c: b2db uxtb r3, r3 809dc5e: 461a mov r2, r3 809dc60: 4b4c ldr r3, [pc, #304] ; (809dd94 ) 809dc62: f853 0022 ldr.w r0, [r3, r2, lsl #2] 809dc66: 6dfb ldr r3, [r7, #92] ; 0x5c 809dc68: b29b uxth r3, r3 809dc6a: 461a mov r2, r3 809dc6c: 0112 lsls r2, r2, #4 809dc6e: 1ad3 subs r3, r2, r3 809dc70: 005b lsls r3, r3, #1 809dc72: b29b uxth r3, r3 809dc74: 335a adds r3, #90 ; 0x5a 809dc76: b29b uxth r3, r3 809dc78: 2256 movs r2, #86 ; 0x56 809dc7a: 4619 mov r1, r3 809dc7c: f7b6 fc8a bl 8054594 for(i = 0; i < 5; i++) 809dc80: 6dfb ldr r3, [r7, #92] ; 0x5c 809dc82: 3301 adds r3, #1 809dc84: 65fb str r3, [r7, #92] ; 0x5c 809dc86: 6dfb ldr r3, [r7, #92] ; 0x5c 809dc88: 2b04 cmp r3, #4 809dc8a: d9dc bls.n 809dc46 809dc8c: e05a b.n 809dd44 for(i = 0; i < t; i++) 809dc8e: 2300 movs r3, #0 809dc90: 65fb str r3, [r7, #92] ; 0x5c 809dc92: e01f b.n 809dcd4 DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 68+18); 809dc94: 6d3a ldr r2, [r7, #80] ; 0x50 809dc96: 6df9 ldr r1, [r7, #92] ; 0x5c 809dc98: 4613 mov r3, r2 809dc9a: 009b lsls r3, r3, #2 809dc9c: 4413 add r3, r2 809dc9e: f107 0268 add.w r2, r7, #104 ; 0x68 809dca2: 4413 add r3, r2 809dca4: 440b add r3, r1 809dca6: 3b34 subs r3, #52 ; 0x34 809dca8: 781b ldrb r3, [r3, #0] 809dcaa: b2db uxtb r3, r3 809dcac: 461a mov r2, r3 809dcae: 4b39 ldr r3, [pc, #228] ; (809dd94 ) 809dcb0: f853 0022 ldr.w r0, [r3, r2, lsl #2] 809dcb4: 6dfb ldr r3, [r7, #92] ; 0x5c 809dcb6: b29b uxth r3, r3 809dcb8: 461a mov r2, r3 809dcba: 0112 lsls r2, r2, #4 809dcbc: 1ad3 subs r3, r2, r3 809dcbe: 005b lsls r3, r3, #1 809dcc0: b29b uxth r3, r3 809dcc2: 335a adds r3, #90 ; 0x5a 809dcc4: b29b uxth r3, r3 809dcc6: 2256 movs r2, #86 ; 0x56 809dcc8: 4619 mov r1, r3 809dcca: f7b6 fc63 bl 8054594 for(i = 0; i < t; i++) 809dcce: 6dfb ldr r3, [r7, #92] ; 0x5c 809dcd0: 3301 adds r3, #1 809dcd2: 65fb str r3, [r7, #92] ; 0x5c 809dcd4: 6dfa ldr r2, [r7, #92] ; 0x5c 809dcd6: 6d7b ldr r3, [r7, #84] ; 0x54 809dcd8: 429a cmp r2, r3 809dcda: d3db bcc.n 809dc94 DrawImage(&bmgpt, 95 + 30*t, 92+18); 809dcdc: 6d7b ldr r3, [r7, #84] ; 0x54 809dcde: b29b uxth r3, r3 809dce0: 461a mov r2, r3 809dce2: 0112 lsls r2, r2, #4 809dce4: 1ad3 subs r3, r2, r3 809dce6: 005b lsls r3, r3, #1 809dce8: b29b uxth r3, r3 809dcea: 335f adds r3, #95 ; 0x5f 809dcec: b29b uxth r3, r3 809dcee: 226e movs r2, #110 ; 0x6e 809dcf0: 4619 mov r1, r3 809dcf2: 4829 ldr r0, [pc, #164] ; (809dd98 ) 809dcf4: f7b6 fc4e bl 8054594 for(i = t; i < 5; i++) 809dcf8: 6d7b ldr r3, [r7, #84] ; 0x54 809dcfa: 65fb str r3, [r7, #92] ; 0x5c 809dcfc: e01f b.n 809dd3e DrawImage(NUMS[ik[ipr][i]], 110 + 30*i, 68+18); 809dcfe: 6d3a ldr r2, [r7, #80] ; 0x50 809dd00: 6df9 ldr r1, [r7, #92] ; 0x5c 809dd02: 4613 mov r3, r2 809dd04: 009b lsls r3, r3, #2 809dd06: 4413 add r3, r2 809dd08: f107 0268 add.w r2, r7, #104 ; 0x68 809dd0c: 4413 add r3, r2 809dd0e: 440b add r3, r1 809dd10: 3b34 subs r3, #52 ; 0x34 809dd12: 781b ldrb r3, [r3, #0] 809dd14: b2db uxtb r3, r3 809dd16: 461a mov r2, r3 809dd18: 4b1e ldr r3, [pc, #120] ; (809dd94 ) 809dd1a: f853 0022 ldr.w r0, [r3, r2, lsl #2] 809dd1e: 6dfb ldr r3, [r7, #92] ; 0x5c 809dd20: b29b uxth r3, r3 809dd22: 461a mov r2, r3 809dd24: 0112 lsls r2, r2, #4 809dd26: 1ad3 subs r3, r2, r3 809dd28: 005b lsls r3, r3, #1 809dd2a: b29b uxth r3, r3 809dd2c: 336e adds r3, #110 ; 0x6e 809dd2e: b29b uxth r3, r3 809dd30: 2256 movs r2, #86 ; 0x56 809dd32: 4619 mov r1, r3 809dd34: f7b6 fc2e bl 8054594 for(i = t; i < 5; i++) 809dd38: 6dfb ldr r3, [r7, #92] ; 0x5c 809dd3a: 3301 adds r3, #1 809dd3c: 65fb str r3, [r7, #92] ; 0x5c 809dd3e: 6dfb ldr r3, [r7, #92] ; 0x5c 809dd40: 2b04 cmp r3, #4 809dd42: d9dc bls.n 809dcfe if(pardata.IVS[ACC] < PEAK_FACTOR) 809dd44: 4b15 ldr r3, [pc, #84] ; (809dd9c ) 809dd46: 789b ldrb r3, [r3, #2] 809dd48: b2db uxtb r3, r3 809dd4a: 2b02 cmp r3, #2 809dd4c: d837 bhi.n 809ddbe if(pardata.IIN != VOLTS) 809dd4e: 4b13 ldr r3, [pc, #76] ; (809dd9c ) 809dd50: 799b ldrb r3, [r3, #6] 809dd52: b2db uxtb r3, r3 809dd54: 2b02 cmp r3, #2 809dd56: d025 beq.n 809dda4 DrawImage(BMG_MS[pardata.LANG], 265, 74+18); 809dd58: 4b10 ldr r3, [pc, #64] ; (809dd9c ) 809dd5a: 7b1b ldrb r3, [r3, #12] 809dd5c: b2db uxtb r3, r3 809dd5e: 461a mov r2, r3 809dd60: 4b0f ldr r3, [pc, #60] ; (809dda0 ) 809dd62: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809dd66: 225c movs r2, #92 ; 0x5c 809dd68: f240 1109 movw r1, #265 ; 0x109 809dd6c: 4618 mov r0, r3 809dd6e: f7b6 fc11 bl 8054594 809dd72: e024 b.n 809ddbe 809dd74: 0001869f .word 0x0001869f 809dd78: 4cbebc20 .word 0x4cbebc20 809dd7c: 47c34f80 .word 0x47c34f80 809dd80: d1b71759 .word 0xd1b71759 809dd84: 10624dd3 .word 0x10624dd3 809dd88: 51eb851f .word 0x51eb851f 809dd8c: cccccccd .word 0xcccccccd 809dd90: 20021540 .word 0x20021540 809dd94: 20020124 .word 0x20020124 809dd98: 08167a1c .word 0x08167a1c 809dd9c: 20023e60 .word 0x20023e60 809dda0: 200200f4 .word 0x200200f4 else DrawImage(BMG_MV[pardata.LANG], 265, 74+18); 809dda4: 4baa ldr r3, [pc, #680] ; (809e050 ) 809dda6: 7b1b ldrb r3, [r3, #12] 809dda8: b2db uxtb r3, r3 809ddaa: 461a mov r2, r3 809ddac: 4ba9 ldr r3, [pc, #676] ; (809e054 ) 809ddae: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809ddb2: 225c movs r2, #92 ; 0x5c 809ddb4: f240 1109 movw r1, #265 ; 0x109 809ddb8: 4618 mov r0, r3 809ddba: f7b6 fbeb bl 8054594 if(pardata.IVS[ipr] == EXCESS) 809ddbe: 6d3b ldr r3, [r7, #80] ; 0x50 809ddc0: 4aa3 ldr r2, [pc, #652] ; (809e050 ) 809ddc2: 4413 add r3, r2 809ddc4: 789b ldrb r3, [r3, #2] 809ddc6: b2db uxtb r3, r3 809ddc8: 2b04 cmp r3, #4 809ddca: f040 820a bne.w 809e1e2 if(skz[ipr] < 0.0f) { 809ddce: 6d3b ldr r3, [r7, #80] ; 0x50 809ddd0: 4aa1 ldr r2, [pc, #644] ; (809e058 ) 809ddd2: 009b lsls r3, r3, #2 809ddd4: 4413 add r3, r2 809ddd6: edd3 7a00 vldr s15, [r3] 809ddda: eef5 7ac0 vcmpe.f32 s15, #0.0 809ddde: eef1 fa10 vmrs APSR_nzcv, fpscr 809dde2: f140 81fe bpl.w 809e1e2 DrawImage(&bmgminus, 78, 84+18); 809dde6: 2266 movs r2, #102 ; 0x66 809dde8: 214e movs r1, #78 ; 0x4e 809ddea: 489c ldr r0, [pc, #624] ; (809e05c ) 809ddec: f7b6 fbd2 bl 8054594 809ddf0: e1f7 b.n 809e1e2 if(ipr == VEL) 809ddf2: 6d3b ldr r3, [r7, #80] ; 0x50 809ddf4: 2b01 cmp r3, #1 809ddf6: f040 80c4 bne.w 809df82 if(!t) 809ddfa: 6d7b ldr r3, [r7, #84] ; 0x54 809ddfc: 2b00 cmp r3, #0 809ddfe: d126 bne.n 809de4e for(i = 0; i < 5; i++) 809de00: 2300 movs r3, #0 809de02: 65fb str r3, [r7, #92] ; 0x5c 809de04: e01f b.n 809de46 DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 121+9); 809de06: 6d3a ldr r2, [r7, #80] ; 0x50 809de08: 6df9 ldr r1, [r7, #92] ; 0x5c 809de0a: 4613 mov r3, r2 809de0c: 009b lsls r3, r3, #2 809de0e: 4413 add r3, r2 809de10: f107 0268 add.w r2, r7, #104 ; 0x68 809de14: 4413 add r3, r2 809de16: 440b add r3, r1 809de18: 3b34 subs r3, #52 ; 0x34 809de1a: 781b ldrb r3, [r3, #0] 809de1c: b2db uxtb r3, r3 809de1e: 461a mov r2, r3 809de20: 4b8f ldr r3, [pc, #572] ; (809e060 ) 809de22: f853 0022 ldr.w r0, [r3, r2, lsl #2] 809de26: 6dfb ldr r3, [r7, #92] ; 0x5c 809de28: b29b uxth r3, r3 809de2a: 461a mov r2, r3 809de2c: 0112 lsls r2, r2, #4 809de2e: 1ad3 subs r3, r2, r3 809de30: 005b lsls r3, r3, #1 809de32: b29b uxth r3, r3 809de34: 335a adds r3, #90 ; 0x5a 809de36: b29b uxth r3, r3 809de38: 2282 movs r2, #130 ; 0x82 809de3a: 4619 mov r1, r3 809de3c: f7b6 fbaa bl 8054594 for(i = 0; i < 5; i++) 809de40: 6dfb ldr r3, [r7, #92] ; 0x5c 809de42: 3301 adds r3, #1 809de44: 65fb str r3, [r7, #92] ; 0x5c 809de46: 6dfb ldr r3, [r7, #92] ; 0x5c 809de48: 2b04 cmp r3, #4 809de4a: d9dc bls.n 809de06 809de4c: e05a b.n 809df04 for(i = 0; i < t; i++) 809de4e: 2300 movs r3, #0 809de50: 65fb str r3, [r7, #92] ; 0x5c 809de52: e01f b.n 809de94 DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 121+9); 809de54: 6d3a ldr r2, [r7, #80] ; 0x50 809de56: 6df9 ldr r1, [r7, #92] ; 0x5c 809de58: 4613 mov r3, r2 809de5a: 009b lsls r3, r3, #2 809de5c: 4413 add r3, r2 809de5e: f107 0268 add.w r2, r7, #104 ; 0x68 809de62: 4413 add r3, r2 809de64: 440b add r3, r1 809de66: 3b34 subs r3, #52 ; 0x34 809de68: 781b ldrb r3, [r3, #0] 809de6a: b2db uxtb r3, r3 809de6c: 461a mov r2, r3 809de6e: 4b7c ldr r3, [pc, #496] ; (809e060 ) 809de70: f853 0022 ldr.w r0, [r3, r2, lsl #2] 809de74: 6dfb ldr r3, [r7, #92] ; 0x5c 809de76: b29b uxth r3, r3 809de78: 461a mov r2, r3 809de7a: 0112 lsls r2, r2, #4 809de7c: 1ad3 subs r3, r2, r3 809de7e: 005b lsls r3, r3, #1 809de80: b29b uxth r3, r3 809de82: 335a adds r3, #90 ; 0x5a 809de84: b29b uxth r3, r3 809de86: 2282 movs r2, #130 ; 0x82 809de88: 4619 mov r1, r3 809de8a: f7b6 fb83 bl 8054594 for(i = 0; i < t; i++) 809de8e: 6dfb ldr r3, [r7, #92] ; 0x5c 809de90: 3301 adds r3, #1 809de92: 65fb str r3, [r7, #92] ; 0x5c 809de94: 6dfa ldr r2, [r7, #92] ; 0x5c 809de96: 6d7b ldr r3, [r7, #84] ; 0x54 809de98: 429a cmp r2, r3 809de9a: d3db bcc.n 809de54 DrawImage(&bmgpt, 95 + 30*t, 145+9); 809de9c: 6d7b ldr r3, [r7, #84] ; 0x54 809de9e: b29b uxth r3, r3 809dea0: 461a mov r2, r3 809dea2: 0112 lsls r2, r2, #4 809dea4: 1ad3 subs r3, r2, r3 809dea6: 005b lsls r3, r3, #1 809dea8: b29b uxth r3, r3 809deaa: 335f adds r3, #95 ; 0x5f 809deac: b29b uxth r3, r3 809deae: 229a movs r2, #154 ; 0x9a 809deb0: 4619 mov r1, r3 809deb2: 486c ldr r0, [pc, #432] ; (809e064 ) 809deb4: f7b6 fb6e bl 8054594 for(i = t; i < 5; i++) 809deb8: 6d7b ldr r3, [r7, #84] ; 0x54 809deba: 65fb str r3, [r7, #92] ; 0x5c 809debc: e01f b.n 809defe DrawImage(NUMS[ik[ipr][i]], 110 + 30*i, 121+9); 809debe: 6d3a ldr r2, [r7, #80] ; 0x50 809dec0: 6df9 ldr r1, [r7, #92] ; 0x5c 809dec2: 4613 mov r3, r2 809dec4: 009b lsls r3, r3, #2 809dec6: 4413 add r3, r2 809dec8: f107 0268 add.w r2, r7, #104 ; 0x68 809decc: 4413 add r3, r2 809dece: 440b add r3, r1 809ded0: 3b34 subs r3, #52 ; 0x34 809ded2: 781b ldrb r3, [r3, #0] 809ded4: b2db uxtb r3, r3 809ded6: 461a mov r2, r3 809ded8: 4b61 ldr r3, [pc, #388] ; (809e060 ) 809deda: f853 0022 ldr.w r0, [r3, r2, lsl #2] 809dede: 6dfb ldr r3, [r7, #92] ; 0x5c 809dee0: b29b uxth r3, r3 809dee2: 461a mov r2, r3 809dee4: 0112 lsls r2, r2, #4 809dee6: 1ad3 subs r3, r2, r3 809dee8: 005b lsls r3, r3, #1 809deea: b29b uxth r3, r3 809deec: 336e adds r3, #110 ; 0x6e 809deee: b29b uxth r3, r3 809def0: 2282 movs r2, #130 ; 0x82 809def2: 4619 mov r1, r3 809def4: f7b6 fb4e bl 8054594 for(i = t; i < 5; i++) 809def8: 6dfb ldr r3, [r7, #92] ; 0x5c 809defa: 3301 adds r3, #1 809defc: 65fb str r3, [r7, #92] ; 0x5c 809defe: 6dfb ldr r3, [r7, #92] ; 0x5c 809df00: 2b04 cmp r3, #4 809df02: d9dc bls.n 809debe if(pardata.IVS[VEL] < PEAK_FACTOR) 809df04: 4b52 ldr r3, [pc, #328] ; (809e050 ) 809df06: 78db ldrb r3, [r3, #3] 809df08: b2db uxtb r3, r3 809df0a: 2b02 cmp r3, #2 809df0c: d81f bhi.n 809df4e if(pardata.IIN != VOLTS) 809df0e: 4b50 ldr r3, [pc, #320] ; (809e050 ) 809df10: 799b ldrb r3, [r3, #6] 809df12: b2db uxtb r3, r3 809df14: 2b02 cmp r3, #2 809df16: d00d beq.n 809df34 DrawImage(BMG_MMS[pardata.LANG], 265, 128+9); 809df18: 4b4d ldr r3, [pc, #308] ; (809e050 ) 809df1a: 7b1b ldrb r3, [r3, #12] 809df1c: b2db uxtb r3, r3 809df1e: 461a mov r2, r3 809df20: 4b51 ldr r3, [pc, #324] ; (809e068 ) 809df22: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809df26: 2289 movs r2, #137 ; 0x89 809df28: f240 1109 movw r1, #265 ; 0x109 809df2c: 4618 mov r0, r3 809df2e: f7b6 fb31 bl 8054594 809df32: e00c b.n 809df4e else DrawImage(BMG_MV[pardata.LANG], 265, 128+9); 809df34: 4b46 ldr r3, [pc, #280] ; (809e050 ) 809df36: 7b1b ldrb r3, [r3, #12] 809df38: b2db uxtb r3, r3 809df3a: 461a mov r2, r3 809df3c: 4b45 ldr r3, [pc, #276] ; (809e054 ) 809df3e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809df42: 2289 movs r2, #137 ; 0x89 809df44: f240 1109 movw r1, #265 ; 0x109 809df48: 4618 mov r0, r3 809df4a: f7b6 fb23 bl 8054594 if(pardata.IVS[ipr] == EXCESS) 809df4e: 6d3b ldr r3, [r7, #80] ; 0x50 809df50: 4a3f ldr r2, [pc, #252] ; (809e050 ) 809df52: 4413 add r3, r2 809df54: 789b ldrb r3, [r3, #2] 809df56: b2db uxtb r3, r3 809df58: 2b04 cmp r3, #4 809df5a: f040 8142 bne.w 809e1e2 if(skz[ipr] < 0.0f) { 809df5e: 6d3b ldr r3, [r7, #80] ; 0x50 809df60: 4a3d ldr r2, [pc, #244] ; (809e058 ) 809df62: 009b lsls r3, r3, #2 809df64: 4413 add r3, r2 809df66: edd3 7a00 vldr s15, [r3] 809df6a: eef5 7ac0 vcmpe.f32 s15, #0.0 809df6e: eef1 fa10 vmrs APSR_nzcv, fpscr 809df72: f140 8136 bpl.w 809e1e2 DrawImage(&bmgminus, 78, 138+9); 809df76: 2293 movs r2, #147 ; 0x93 809df78: 214e movs r1, #78 ; 0x4e 809df7a: 4838 ldr r0, [pc, #224] ; (809e05c ) 809df7c: f7b6 fb0a bl 8054594 809df80: e12f b.n 809e1e2 if(ipr == DIS) 809df82: 6d3b ldr r3, [r7, #80] ; 0x50 809df84: 2b02 cmp r3, #2 809df86: f040 812c bne.w 809e1e2 if(!t) 809df8a: 6d7b ldr r3, [r7, #84] ; 0x54 809df8c: 2b00 cmp r3, #0 809df8e: d126 bne.n 809dfde for(i = 0; i < 5; i++) 809df90: 2300 movs r3, #0 809df92: 65fb str r3, [r7, #92] ; 0x5c 809df94: e01f b.n 809dfd6 DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 174); 809df96: 6d3a ldr r2, [r7, #80] ; 0x50 809df98: 6df9 ldr r1, [r7, #92] ; 0x5c 809df9a: 4613 mov r3, r2 809df9c: 009b lsls r3, r3, #2 809df9e: 4413 add r3, r2 809dfa0: f107 0268 add.w r2, r7, #104 ; 0x68 809dfa4: 4413 add r3, r2 809dfa6: 440b add r3, r1 809dfa8: 3b34 subs r3, #52 ; 0x34 809dfaa: 781b ldrb r3, [r3, #0] 809dfac: b2db uxtb r3, r3 809dfae: 461a mov r2, r3 809dfb0: 4b2b ldr r3, [pc, #172] ; (809e060 ) 809dfb2: f853 0022 ldr.w r0, [r3, r2, lsl #2] 809dfb6: 6dfb ldr r3, [r7, #92] ; 0x5c 809dfb8: b29b uxth r3, r3 809dfba: 461a mov r2, r3 809dfbc: 0112 lsls r2, r2, #4 809dfbe: 1ad3 subs r3, r2, r3 809dfc0: 005b lsls r3, r3, #1 809dfc2: b29b uxth r3, r3 809dfc4: 335a adds r3, #90 ; 0x5a 809dfc6: b29b uxth r3, r3 809dfc8: 22ae movs r2, #174 ; 0xae 809dfca: 4619 mov r1, r3 809dfcc: f7b6 fae2 bl 8054594 for(i = 0; i < 5; i++) 809dfd0: 6dfb ldr r3, [r7, #92] ; 0x5c 809dfd2: 3301 adds r3, #1 809dfd4: 65fb str r3, [r7, #92] ; 0x5c 809dfd6: 6dfb ldr r3, [r7, #92] ; 0x5c 809dfd8: 2b04 cmp r3, #4 809dfda: d9dc bls.n 809df96 809dfdc: e069 b.n 809e0b2 for(i = 0; i < t; i++) 809dfde: 2300 movs r3, #0 809dfe0: 65fb str r3, [r7, #92] ; 0x5c 809dfe2: e01f b.n 809e024 DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 174); 809dfe4: 6d3a ldr r2, [r7, #80] ; 0x50 809dfe6: 6df9 ldr r1, [r7, #92] ; 0x5c 809dfe8: 4613 mov r3, r2 809dfea: 009b lsls r3, r3, #2 809dfec: 4413 add r3, r2 809dfee: f107 0268 add.w r2, r7, #104 ; 0x68 809dff2: 4413 add r3, r2 809dff4: 440b add r3, r1 809dff6: 3b34 subs r3, #52 ; 0x34 809dff8: 781b ldrb r3, [r3, #0] 809dffa: b2db uxtb r3, r3 809dffc: 461a mov r2, r3 809dffe: 4b18 ldr r3, [pc, #96] ; (809e060 ) 809e000: f853 0022 ldr.w r0, [r3, r2, lsl #2] 809e004: 6dfb ldr r3, [r7, #92] ; 0x5c 809e006: b29b uxth r3, r3 809e008: 461a mov r2, r3 809e00a: 0112 lsls r2, r2, #4 809e00c: 1ad3 subs r3, r2, r3 809e00e: 005b lsls r3, r3, #1 809e010: b29b uxth r3, r3 809e012: 335a adds r3, #90 ; 0x5a 809e014: b29b uxth r3, r3 809e016: 22ae movs r2, #174 ; 0xae 809e018: 4619 mov r1, r3 809e01a: f7b6 fabb bl 8054594 for(i = 0; i < t; i++) 809e01e: 6dfb ldr r3, [r7, #92] ; 0x5c 809e020: 3301 adds r3, #1 809e022: 65fb str r3, [r7, #92] ; 0x5c 809e024: 6dfa ldr r2, [r7, #92] ; 0x5c 809e026: 6d7b ldr r3, [r7, #84] ; 0x54 809e028: 429a cmp r2, r3 809e02a: d3db bcc.n 809dfe4 DrawImage(&bmgpt, 95 + 30*t, 198); 809e02c: 6d7b ldr r3, [r7, #84] ; 0x54 809e02e: b29b uxth r3, r3 809e030: 461a mov r2, r3 809e032: 0112 lsls r2, r2, #4 809e034: 1ad3 subs r3, r2, r3 809e036: 005b lsls r3, r3, #1 809e038: b29b uxth r3, r3 809e03a: 335f adds r3, #95 ; 0x5f 809e03c: b29b uxth r3, r3 809e03e: 22c6 movs r2, #198 ; 0xc6 809e040: 4619 mov r1, r3 809e042: 4808 ldr r0, [pc, #32] ; (809e064 ) 809e044: f7b6 faa6 bl 8054594 for(i = t; i < 5; i++) 809e048: 6d7b ldr r3, [r7, #84] ; 0x54 809e04a: 65fb str r3, [r7, #92] ; 0x5c 809e04c: e02e b.n 809e0ac 809e04e: bf00 nop 809e050: 20023e60 .word 0x20023e60 809e054: 20020114 .word 0x20020114 809e058: 20021540 .word 0x20021540 809e05c: 08167990 .word 0x08167990 809e060: 20020124 .word 0x20020124 809e064: 08167a1c .word 0x08167a1c 809e068: 200200fc .word 0x200200fc DrawImage(NUMS[ik[ipr][i]], 110 + 30*i, 174); 809e06c: 6d3a ldr r2, [r7, #80] ; 0x50 809e06e: 6df9 ldr r1, [r7, #92] ; 0x5c 809e070: 4613 mov r3, r2 809e072: 009b lsls r3, r3, #2 809e074: 4413 add r3, r2 809e076: f107 0268 add.w r2, r7, #104 ; 0x68 809e07a: 4413 add r3, r2 809e07c: 440b add r3, r1 809e07e: 3b34 subs r3, #52 ; 0x34 809e080: 781b ldrb r3, [r3, #0] 809e082: b2db uxtb r3, r3 809e084: 461a mov r2, r3 809e086: 4bbe ldr r3, [pc, #760] ; (809e380 ) 809e088: f853 0022 ldr.w r0, [r3, r2, lsl #2] 809e08c: 6dfb ldr r3, [r7, #92] ; 0x5c 809e08e: b29b uxth r3, r3 809e090: 461a mov r2, r3 809e092: 0112 lsls r2, r2, #4 809e094: 1ad3 subs r3, r2, r3 809e096: 005b lsls r3, r3, #1 809e098: b29b uxth r3, r3 809e09a: 336e adds r3, #110 ; 0x6e 809e09c: b29b uxth r3, r3 809e09e: 22ae movs r2, #174 ; 0xae 809e0a0: 4619 mov r1, r3 809e0a2: f7b6 fa77 bl 8054594 for(i = t; i < 5; i++) 809e0a6: 6dfb ldr r3, [r7, #92] ; 0x5c 809e0a8: 3301 adds r3, #1 809e0aa: 65fb str r3, [r7, #92] ; 0x5c 809e0ac: 6dfb ldr r3, [r7, #92] ; 0x5c 809e0ae: 2b04 cmp r3, #4 809e0b0: d9dc bls.n 809e06c if(pardata.IVS[DIS] < PEAK_FACTOR) 809e0b2: 4bb4 ldr r3, [pc, #720] ; (809e384 ) 809e0b4: 791b ldrb r3, [r3, #4] 809e0b6: b2db uxtb r3, r3 809e0b8: 2b02 cmp r3, #2 809e0ba: d841 bhi.n 809e140 if(pardata.IIN != VOLTS) 809e0bc: 4bb1 ldr r3, [pc, #708] ; (809e384 ) 809e0be: 799b ldrb r3, [r3, #6] 809e0c0: b2db uxtb r3, r3 809e0c2: 2b02 cmp r3, #2 809e0c4: d01e beq.n 809e104 if(m == 0) 809e0c6: 6cfb ldr r3, [r7, #76] ; 0x4c 809e0c8: 2b00 cmp r3, #0 809e0ca: d10d bne.n 809e0e8 DrawImage(BMG_MKM[pardata.LANG], 265, 180); 809e0cc: 4bad ldr r3, [pc, #692] ; (809e384 ) 809e0ce: 7b1b ldrb r3, [r3, #12] 809e0d0: b2db uxtb r3, r3 809e0d2: 461a mov r2, r3 809e0d4: 4bac ldr r3, [pc, #688] ; (809e388 ) 809e0d6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809e0da: 22b4 movs r2, #180 ; 0xb4 809e0dc: f240 1109 movw r1, #265 ; 0x109 809e0e0: 4618 mov r0, r3 809e0e2: f7b6 fa57 bl 8054594 809e0e6: e02b b.n 809e140 else DrawImage(BMG_MM[pardata.LANG], 265, 180); 809e0e8: 4ba6 ldr r3, [pc, #664] ; (809e384 ) 809e0ea: 7b1b ldrb r3, [r3, #12] 809e0ec: b2db uxtb r3, r3 809e0ee: 461a mov r2, r3 809e0f0: 4ba6 ldr r3, [pc, #664] ; (809e38c ) 809e0f2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809e0f6: 22b4 movs r2, #180 ; 0xb4 809e0f8: f240 1109 movw r1, #265 ; 0x109 809e0fc: 4618 mov r0, r3 809e0fe: f7b6 fa49 bl 8054594 809e102: e01d b.n 809e140 if(m == 0) 809e104: 6cfb ldr r3, [r7, #76] ; 0x4c 809e106: 2b00 cmp r3, #0 809e108: d10d bne.n 809e126 DrawImage(BMG_MV[pardata.LANG], 265, 180); 809e10a: 4b9e ldr r3, [pc, #632] ; (809e384 ) 809e10c: 7b1b ldrb r3, [r3, #12] 809e10e: b2db uxtb r3, r3 809e110: 461a mov r2, r3 809e112: 4b9f ldr r3, [pc, #636] ; (809e390 ) 809e114: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809e118: 22b4 movs r2, #180 ; 0xb4 809e11a: f240 1109 movw r1, #265 ; 0x109 809e11e: 4618 mov r0, r3 809e120: f7b6 fa38 bl 8054594 809e124: e00c b.n 809e140 else DrawImage(BMG_V[pardata.LANG], 265, 180); 809e126: 4b97 ldr r3, [pc, #604] ; (809e384 ) 809e128: 7b1b ldrb r3, [r3, #12] 809e12a: b2db uxtb r3, r3 809e12c: 461a mov r2, r3 809e12e: 4b99 ldr r3, [pc, #612] ; (809e394 ) 809e130: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809e134: 22b4 movs r2, #180 ; 0xb4 809e136: f240 1109 movw r1, #265 ; 0x109 809e13a: 4618 mov r0, r3 809e13c: f7b6 fa2a bl 8054594 if(pardata.IVS[ipr] == EXCESS) 809e140: 6d3b ldr r3, [r7, #80] ; 0x50 809e142: 4a90 ldr r2, [pc, #576] ; (809e384 ) 809e144: 4413 add r3, r2 809e146: 789b ldrb r3, [r3, #2] 809e148: b2db uxtb r3, r3 809e14a: 2b04 cmp r3, #4 809e14c: d149 bne.n 809e1e2 if(skz[ipr] < 0.0f) { 809e14e: 6d3b ldr r3, [r7, #80] ; 0x50 809e150: 4a91 ldr r2, [pc, #580] ; (809e398 ) 809e152: 009b lsls r3, r3, #2 809e154: 4413 add r3, r2 809e156: edd3 7a00 vldr s15, [r3] 809e15a: eef5 7ac0 vcmpe.f32 s15, #0.0 809e15e: eef1 fa10 vmrs APSR_nzcv, fpscr 809e162: d53e bpl.n 809e1e2 DrawImage(&bmgminus, 78, 190); 809e164: 22be movs r2, #190 ; 0xbe 809e166: 214e movs r1, #78 ; 0x4e 809e168: 488c ldr r0, [pc, #560] ; (809e39c ) 809e16a: f7b6 fa13 bl 8054594 809e16e: e038 b.n 809e1e2 if(skz[ACC] != -1.0f) 809e170: 4b89 ldr r3, [pc, #548] ; (809e398 ) 809e172: edd3 7a00 vldr s15, [r3] 809e176: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 809e17a: eef4 7a47 vcmp.f32 s15, s14 809e17e: eef1 fa10 vmrs APSR_nzcv, fpscr 809e182: d02e beq.n 809e1e2 if(ipr == VEL) 809e184: 6d3b ldr r3, [r7, #80] ; 0x50 809e186: 2b01 cmp r3, #1 809e188: d114 bne.n 809e1b4 LCD_SetColors(LCD_COLOR_NUMGREEN, LCD_COLOR_BLACK); 809e18a: 4985 ldr r1, [pc, #532] ; (809e3a0 ) 809e18c: 4885 ldr r0, [pc, #532] ; (809e3a4 ) 809e18e: f7b5 fb0d bl 80537ac if(pardata.LANG == RUS) 809e192: 4b7c ldr r3, [pc, #496] ; (809e384 ) 809e194: 7b1b ldrb r3, [r3, #12] 809e196: b2db uxtb r3, r3 809e198: 2b00 cmp r3, #0 809e19a: d105 bne.n 809e1a8 LCD_DisplayStringC(167, 135, "ÍÅÒ ÄÀÍÍÛÕ"); 809e19c: 4a82 ldr r2, [pc, #520] ; (809e3a8 ) 809e19e: 2187 movs r1, #135 ; 0x87 809e1a0: 20a7 movs r0, #167 ; 0xa7 809e1a2: f7b6 f8c3 bl 805432c 809e1a6: e01c b.n 809e1e2 else LCD_DisplayStringC(167, 135, "NO DATA"); 809e1a8: 4a80 ldr r2, [pc, #512] ; (809e3ac ) 809e1aa: 2187 movs r1, #135 ; 0x87 809e1ac: 20a7 movs r0, #167 ; 0xa7 809e1ae: f7b6 f8bd bl 805432c 809e1b2: e016 b.n 809e1e2 if(ipr == DIS) 809e1b4: 6d3b ldr r3, [r7, #80] ; 0x50 809e1b6: 2b02 cmp r3, #2 809e1b8: d113 bne.n 809e1e2 LCD_SetColors(LCD_COLOR_NUMGREEN, LCD_COLOR_BLACK); 809e1ba: 4979 ldr r1, [pc, #484] ; (809e3a0 ) 809e1bc: 4879 ldr r0, [pc, #484] ; (809e3a4 ) 809e1be: f7b5 faf5 bl 80537ac if(pardata.LANG == RUS) 809e1c2: 4b70 ldr r3, [pc, #448] ; (809e384 ) 809e1c4: 7b1b ldrb r3, [r3, #12] 809e1c6: b2db uxtb r3, r3 809e1c8: 2b00 cmp r3, #0 809e1ca: d105 bne.n 809e1d8 LCD_DisplayStringC(167, 185, "ÍÅÒ ÄÀÍÍÛÕ"); 809e1cc: 4a76 ldr r2, [pc, #472] ; (809e3a8 ) 809e1ce: 21b9 movs r1, #185 ; 0xb9 809e1d0: 20a7 movs r0, #167 ; 0xa7 809e1d2: f7b6 f8ab bl 805432c 809e1d6: e004 b.n 809e1e2 else LCD_DisplayStringC(167, 185, "NO DATA"); 809e1d8: 4a74 ldr r2, [pc, #464] ; (809e3ac ) 809e1da: 21b9 movs r1, #185 ; 0xb9 809e1dc: 20a7 movs r0, #167 ; 0xa7 809e1de: f7b6 f8a5 bl 805432c for(ipr = ACC; ipr <= DIS; ipr++) 809e1e2: 6d3b ldr r3, [r7, #80] ; 0x50 809e1e4: 3301 adds r3, #1 809e1e6: 653b str r3, [r7, #80] ; 0x50 809e1e8: 6d3b ldr r3, [r7, #80] ; 0x50 809e1ea: 2b02 cmp r3, #2 809e1ec: f67f aa51 bls.w 809d692 break; 809e1f0: f001 ba08 b.w 809f604 for(ipr = ACC; ipr <= DIS; ipr++) 809e1f4: 2300 movs r3, #0 809e1f6: 653b str r3, [r7, #80] ; 0x50 809e1f8: f001 ba00 b.w 809f5fc if(pardata.IVS[ipr] >= PEAK_FACTOR) 809e1fc: 6d3b ldr r3, [r7, #80] ; 0x50 809e1fe: 4a61 ldr r2, [pc, #388] ; (809e384 ) 809e200: 4413 add r3, r2 809e202: 789b ldrb r3, [r3, #2] 809e204: b2db uxtb r3, r3 809e206: 2b02 cmp r3, #2 809e208: f240 85bd bls.w 809ed86 memset(str, 0, sizeof(str)); 809e20c: f107 030c add.w r3, r7, #12 809e210: 2228 movs r2, #40 ; 0x28 809e212: 2100 movs r1, #0 809e214: 4618 mov r0, r3 809e216: f02e ff17 bl 80cd048 f = ABS(skz[ipr]); 809e21a: 6d3b ldr r3, [r7, #80] ; 0x50 809e21c: 4a5e ldr r2, [pc, #376] ; (809e398 ) 809e21e: 009b lsls r3, r3, #2 809e220: 4413 add r3, r2 809e222: edd3 7a00 vldr s15, [r3] 809e226: eef5 7ac0 vcmpe.f32 s15, #0.0 809e22a: eef1 fa10 vmrs APSR_nzcv, fpscr 809e22e: dd06 ble.n 809e23e 809e230: 6d3b ldr r3, [r7, #80] ; 0x50 809e232: 4a59 ldr r2, [pc, #356] ; (809e398 ) 809e234: 009b lsls r3, r3, #2 809e236: 4413 add r3, r2 809e238: edd3 7a00 vldr s15, [r3] 809e23c: e007 b.n 809e24e 809e23e: 6d3b ldr r3, [r7, #80] ; 0x50 809e240: 4a55 ldr r2, [pc, #340] ; (809e398 ) 809e242: 009b lsls r3, r3, #2 809e244: 4413 add r3, r2 809e246: edd3 7a00 vldr s15, [r3] 809e24a: eef1 7a67 vneg.f32 s15, s15 809e24e: edc7 7a11 vstr s15, [r7, #68] ; 0x44 if(ipr < DIS) 809e252: 6d3b ldr r3, [r7, #80] ; 0x50 809e254: 2b01 cmp r3, #1 809e256: f200 80d1 bhi.w 809e3fc if(f < 10.0f) 809e25a: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809e25e: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 809e262: eef4 7ac7 vcmpe.f32 s15, s14 809e266: eef1 fa10 vmrs APSR_nzcv, fpscr 809e26a: d513 bpl.n 809e294 k = (uint32_t) (roundf(f * 10000)); 809e26c: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809e270: ed9f 7a4f vldr s14, [pc, #316] ; 809e3b0 809e274: ee67 7a87 vmul.f32 s15, s15, s14 809e278: eeb0 0a67 vmov.f32 s0, s15 809e27c: f02c fce6 bl 80cac4c 809e280: eef0 7a40 vmov.f32 s15, s0 809e284: eefc 7ae7 vcvt.u32.f32 s15, s15 809e288: ee17 3a90 vmov r3, s15 809e28c: 65bb str r3, [r7, #88] ; 0x58 t = 1; 809e28e: 2301 movs r3, #1 809e290: 657b str r3, [r7, #84] ; 0x54 809e292: e1e1 b.n 809e658 if(f < 100.0f) 809e294: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809e298: ed9f 7a46 vldr s14, [pc, #280] ; 809e3b4 809e29c: eef4 7ac7 vcmpe.f32 s15, s14 809e2a0: eef1 fa10 vmrs APSR_nzcv, fpscr 809e2a4: d513 bpl.n 809e2ce k = (uint32_t) (roundf(f * 1000)); 809e2a6: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809e2aa: ed9f 7a43 vldr s14, [pc, #268] ; 809e3b8 809e2ae: ee67 7a87 vmul.f32 s15, s15, s14 809e2b2: eeb0 0a67 vmov.f32 s0, s15 809e2b6: f02c fcc9 bl 80cac4c 809e2ba: eef0 7a40 vmov.f32 s15, s0 809e2be: eefc 7ae7 vcvt.u32.f32 s15, s15 809e2c2: ee17 3a90 vmov r3, s15 809e2c6: 65bb str r3, [r7, #88] ; 0x58 t = 2; 809e2c8: 2302 movs r3, #2 809e2ca: 657b str r3, [r7, #84] ; 0x54 809e2cc: e1c4 b.n 809e658 if(f < 1000.0f) 809e2ce: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809e2d2: ed9f 7a39 vldr s14, [pc, #228] ; 809e3b8 809e2d6: eef4 7ac7 vcmpe.f32 s15, s14 809e2da: eef1 fa10 vmrs APSR_nzcv, fpscr 809e2de: d513 bpl.n 809e308 k = (uint32_t) (roundf(f * 100)); 809e2e0: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809e2e4: ed9f 7a33 vldr s14, [pc, #204] ; 809e3b4 809e2e8: ee67 7a87 vmul.f32 s15, s15, s14 809e2ec: eeb0 0a67 vmov.f32 s0, s15 809e2f0: f02c fcac bl 80cac4c 809e2f4: eef0 7a40 vmov.f32 s15, s0 809e2f8: eefc 7ae7 vcvt.u32.f32 s15, s15 809e2fc: ee17 3a90 vmov r3, s15 809e300: 65bb str r3, [r7, #88] ; 0x58 t = 3; 809e302: 2303 movs r3, #3 809e304: 657b str r3, [r7, #84] ; 0x54 809e306: e1a7 b.n 809e658 if(f < 10000.0f) 809e308: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809e30c: ed9f 7a28 vldr s14, [pc, #160] ; 809e3b0 809e310: eef4 7ac7 vcmpe.f32 s15, s14 809e314: eef1 fa10 vmrs APSR_nzcv, fpscr 809e318: d513 bpl.n 809e342 k = (uint32_t) (roundf(f * 10)); 809e31a: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809e31e: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 809e322: ee67 7a87 vmul.f32 s15, s15, s14 809e326: eeb0 0a67 vmov.f32 s0, s15 809e32a: f02c fc8f bl 80cac4c 809e32e: eef0 7a40 vmov.f32 s15, s0 809e332: eefc 7ae7 vcvt.u32.f32 s15, s15 809e336: ee17 3a90 vmov r3, s15 809e33a: 65bb str r3, [r7, #88] ; 0x58 t = 4; 809e33c: 2304 movs r3, #4 809e33e: 657b str r3, [r7, #84] ; 0x54 809e340: e18a b.n 809e658 if(f < 100000.0f) 809e342: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809e346: ed9f 7a1e vldr s14, [pc, #120] ; 809e3c0 809e34a: eef4 7ac7 vcmpe.f32 s15, s14 809e34e: eef1 fa10 vmrs APSR_nzcv, fpscr 809e352: d537 bpl.n 809e3c4 k = (uint32_t) (roundf(f)); 809e354: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809e358: eeb0 0a67 vmov.f32 s0, s15 809e35c: f02c fc76 bl 80cac4c 809e360: eef0 7a40 vmov.f32 s15, s0 809e364: eefc 7ae7 vcvt.u32.f32 s15, s15 809e368: ee17 3a90 vmov r3, s15 809e36c: 65bb str r3, [r7, #88] ; 0x58 if(k >= 100000) 809e36e: 6dbb ldr r3, [r7, #88] ; 0x58 809e370: 4a12 ldr r2, [pc, #72] ; (809e3bc ) 809e372: 4293 cmp r3, r2 809e374: d901 bls.n 809e37a k = 99999; 809e376: 4b11 ldr r3, [pc, #68] ; (809e3bc ) 809e378: 65bb str r3, [r7, #88] ; 0x58 t = 0; 809e37a: 2300 movs r3, #0 809e37c: 657b str r3, [r7, #84] ; 0x54 809e37e: e16b b.n 809e658 809e380: 20020124 .word 0x20020124 809e384: 20023e60 .word 0x20023e60 809e388: 20020104 .word 0x20020104 809e38c: 2002010c .word 0x2002010c 809e390: 20020114 .word 0x20020114 809e394: 2002011c .word 0x2002011c 809e398: 20021540 .word 0x20021540 809e39c: 08167990 .word 0x08167990 809e3a0: ff0a0f1f .word 0xff0a0f1f 809e3a4: ffb8e828 .word 0xffb8e828 809e3a8: 080cfaf4 .word 0x080cfaf4 809e3ac: 080cfb00 .word 0x080cfb00 809e3b0: 461c4000 .word 0x461c4000 809e3b4: 42c80000 .word 0x42c80000 809e3b8: 447a0000 .word 0x447a0000 809e3bc: 0001869f .word 0x0001869f 809e3c0: 47c35000 .word 0x47c35000 if(f >= 100000.0f) 809e3c4: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809e3c8: ed1f 7a03 vldr s14, [pc, #-12] ; 809e3c0 809e3cc: eef4 7ac7 vcmpe.f32 s15, s14 809e3d0: eef1 fa10 vmrs APSR_nzcv, fpscr 809e3d4: f2c0 8140 blt.w 809e658 f = 99999.0f; 809e3d8: 4b85 ldr r3, [pc, #532] ; (809e5f0 ) 809e3da: 647b str r3, [r7, #68] ; 0x44 k = (uint32_t) (roundf(f)); 809e3dc: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809e3e0: eeb0 0a67 vmov.f32 s0, s15 809e3e4: f02c fc32 bl 80cac4c 809e3e8: eef0 7a40 vmov.f32 s15, s0 809e3ec: eefc 7ae7 vcvt.u32.f32 s15, s15 809e3f0: ee17 3a90 vmov r3, s15 809e3f4: 65bb str r3, [r7, #88] ; 0x58 t = 0; 809e3f6: 2300 movs r3, #0 809e3f8: 657b str r3, [r7, #84] ; 0x54 809e3fa: e12d b.n 809e658 if(f < 10.0f) 809e3fc: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809e400: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 809e404: eef4 7ac7 vcmpe.f32 s15, s14 809e408: eef1 fa10 vmrs APSR_nzcv, fpscr 809e40c: d515 bpl.n 809e43a k = (uint32_t) (roundf(f * 10000)); 809e40e: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809e412: ed9f 7a78 vldr s14, [pc, #480] ; 809e5f4 809e416: ee67 7a87 vmul.f32 s15, s15, s14 809e41a: eeb0 0a67 vmov.f32 s0, s15 809e41e: f02c fc15 bl 80cac4c 809e422: eef0 7a40 vmov.f32 s15, s0 809e426: eefc 7ae7 vcvt.u32.f32 s15, s15 809e42a: ee17 3a90 vmov r3, s15 809e42e: 65bb str r3, [r7, #88] ; 0x58 t = 1; 809e430: 2301 movs r3, #1 809e432: 657b str r3, [r7, #84] ; 0x54 m = 0; 809e434: 2300 movs r3, #0 809e436: 64fb str r3, [r7, #76] ; 0x4c 809e438: e10e b.n 809e658 if(f < 100.0f) 809e43a: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809e43e: ed9f 7a6e vldr s14, [pc, #440] ; 809e5f8 809e442: eef4 7ac7 vcmpe.f32 s15, s14 809e446: eef1 fa10 vmrs APSR_nzcv, fpscr 809e44a: d515 bpl.n 809e478 k = (uint32_t) (roundf(f * 1000)); 809e44c: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809e450: ed9f 7a6a vldr s14, [pc, #424] ; 809e5fc 809e454: ee67 7a87 vmul.f32 s15, s15, s14 809e458: eeb0 0a67 vmov.f32 s0, s15 809e45c: f02c fbf6 bl 80cac4c 809e460: eef0 7a40 vmov.f32 s15, s0 809e464: eefc 7ae7 vcvt.u32.f32 s15, s15 809e468: ee17 3a90 vmov r3, s15 809e46c: 65bb str r3, [r7, #88] ; 0x58 t = 2; 809e46e: 2302 movs r3, #2 809e470: 657b str r3, [r7, #84] ; 0x54 m = 0; 809e472: 2300 movs r3, #0 809e474: 64fb str r3, [r7, #76] ; 0x4c 809e476: e0ef b.n 809e658 if(f < 1000.0f) 809e478: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809e47c: ed9f 7a5f vldr s14, [pc, #380] ; 809e5fc 809e480: eef4 7ac7 vcmpe.f32 s15, s14 809e484: eef1 fa10 vmrs APSR_nzcv, fpscr 809e488: d515 bpl.n 809e4b6 k = (uint32_t) (roundf(f * 100)); 809e48a: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809e48e: ed9f 7a5a vldr s14, [pc, #360] ; 809e5f8 809e492: ee67 7a87 vmul.f32 s15, s15, s14 809e496: eeb0 0a67 vmov.f32 s0, s15 809e49a: f02c fbd7 bl 80cac4c 809e49e: eef0 7a40 vmov.f32 s15, s0 809e4a2: eefc 7ae7 vcvt.u32.f32 s15, s15 809e4a6: ee17 3a90 vmov r3, s15 809e4aa: 65bb str r3, [r7, #88] ; 0x58 t = 3; 809e4ac: 2303 movs r3, #3 809e4ae: 657b str r3, [r7, #84] ; 0x54 m = 0; 809e4b0: 2300 movs r3, #0 809e4b2: 64fb str r3, [r7, #76] ; 0x4c 809e4b4: e0d0 b.n 809e658 if(f < 10000.0f) 809e4b6: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809e4ba: ed9f 7a4e vldr s14, [pc, #312] ; 809e5f4 809e4be: eef4 7ac7 vcmpe.f32 s15, s14 809e4c2: eef1 fa10 vmrs APSR_nzcv, fpscr 809e4c6: d515 bpl.n 809e4f4 k = (uint32_t) (roundf(f * 10)); 809e4c8: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809e4cc: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 809e4d0: ee67 7a87 vmul.f32 s15, s15, s14 809e4d4: eeb0 0a67 vmov.f32 s0, s15 809e4d8: f02c fbb8 bl 80cac4c 809e4dc: eef0 7a40 vmov.f32 s15, s0 809e4e0: eefc 7ae7 vcvt.u32.f32 s15, s15 809e4e4: ee17 3a90 vmov r3, s15 809e4e8: 65bb str r3, [r7, #88] ; 0x58 t = 1; 809e4ea: 2301 movs r3, #1 809e4ec: 657b str r3, [r7, #84] ; 0x54 m = 1; 809e4ee: 2301 movs r3, #1 809e4f0: 64fb str r3, [r7, #76] ; 0x4c 809e4f2: e0b1 b.n 809e658 if(f < 100000.0f) 809e4f4: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809e4f8: ed9f 7a41 vldr s14, [pc, #260] ; 809e600 809e4fc: eef4 7ac7 vcmpe.f32 s15, s14 809e500: eef1 fa10 vmrs APSR_nzcv, fpscr 809e504: d511 bpl.n 809e52a k = (uint32_t) (roundf(f)); 809e506: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809e50a: eeb0 0a67 vmov.f32 s0, s15 809e50e: f02c fb9d bl 80cac4c 809e512: eef0 7a40 vmov.f32 s15, s0 809e516: eefc 7ae7 vcvt.u32.f32 s15, s15 809e51a: ee17 3a90 vmov r3, s15 809e51e: 65bb str r3, [r7, #88] ; 0x58 t = 2; 809e520: 2302 movs r3, #2 809e522: 657b str r3, [r7, #84] ; 0x54 m = 1; 809e524: 2301 movs r3, #1 809e526: 64fb str r3, [r7, #76] ; 0x4c 809e528: e096 b.n 809e658 if(f < 1000000.0f) 809e52a: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809e52e: ed9f 7a35 vldr s14, [pc, #212] ; 809e604 809e532: eef4 7ac7 vcmpe.f32 s15, s14 809e536: eef1 fa10 vmrs APSR_nzcv, fpscr 809e53a: d515 bpl.n 809e568 k = (uint32_t) (roundf(f * 0.1f)); 809e53c: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809e540: ed9f 7a31 vldr s14, [pc, #196] ; 809e608 809e544: ee67 7a87 vmul.f32 s15, s15, s14 809e548: eeb0 0a67 vmov.f32 s0, s15 809e54c: f02c fb7e bl 80cac4c 809e550: eef0 7a40 vmov.f32 s15, s0 809e554: eefc 7ae7 vcvt.u32.f32 s15, s15 809e558: ee17 3a90 vmov r3, s15 809e55c: 65bb str r3, [r7, #88] ; 0x58 t = 3; 809e55e: 2303 movs r3, #3 809e560: 657b str r3, [r7, #84] ; 0x54 m = 1; 809e562: 2301 movs r3, #1 809e564: 64fb str r3, [r7, #76] ; 0x4c 809e566: e077 b.n 809e658 if(f < 10000000.0f) 809e568: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809e56c: ed9f 7a27 vldr s14, [pc, #156] ; 809e60c 809e570: eef4 7ac7 vcmpe.f32 s15, s14 809e574: eef1 fa10 vmrs APSR_nzcv, fpscr 809e578: d515 bpl.n 809e5a6 k = (uint32_t) (roundf(f * 0.01f)); 809e57a: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809e57e: ed9f 7a24 vldr s14, [pc, #144] ; 809e610 809e582: ee67 7a87 vmul.f32 s15, s15, s14 809e586: eeb0 0a67 vmov.f32 s0, s15 809e58a: f02c fb5f bl 80cac4c 809e58e: eef0 7a40 vmov.f32 s15, s0 809e592: eefc 7ae7 vcvt.u32.f32 s15, s15 809e596: ee17 3a90 vmov r3, s15 809e59a: 65bb str r3, [r7, #88] ; 0x58 t = 4; 809e59c: 2304 movs r3, #4 809e59e: 657b str r3, [r7, #84] ; 0x54 m = 1; 809e5a0: 2301 movs r3, #1 809e5a2: 64fb str r3, [r7, #76] ; 0x4c 809e5a4: e058 b.n 809e658 if(f < 100000000.0f) 809e5a6: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809e5aa: ed9f 7a1c vldr s14, [pc, #112] ; 809e61c 809e5ae: eef4 7ac7 vcmpe.f32 s15, s14 809e5b2: eef1 fa10 vmrs APSR_nzcv, fpscr 809e5b6: d533 bpl.n 809e620 k = (uint32_t) (roundf(f * 0.001f)); 809e5b8: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809e5bc: ed9f 7a15 vldr s14, [pc, #84] ; 809e614 809e5c0: ee67 7a87 vmul.f32 s15, s15, s14 809e5c4: eeb0 0a67 vmov.f32 s0, s15 809e5c8: f02c fb40 bl 80cac4c 809e5cc: eef0 7a40 vmov.f32 s15, s0 809e5d0: eefc 7ae7 vcvt.u32.f32 s15, s15 809e5d4: ee17 3a90 vmov r3, s15 809e5d8: 65bb str r3, [r7, #88] ; 0x58 if(k >= 100000) 809e5da: 6dbb ldr r3, [r7, #88] ; 0x58 809e5dc: 4a0e ldr r2, [pc, #56] ; (809e618 ) 809e5de: 4293 cmp r3, r2 809e5e0: d901 bls.n 809e5e6 k = 99999; 809e5e2: 4b0d ldr r3, [pc, #52] ; (809e618 ) 809e5e4: 65bb str r3, [r7, #88] ; 0x58 t = 0; 809e5e6: 2300 movs r3, #0 809e5e8: 657b str r3, [r7, #84] ; 0x54 m = 1; 809e5ea: 2301 movs r3, #1 809e5ec: 64fb str r3, [r7, #76] ; 0x4c 809e5ee: e033 b.n 809e658 809e5f0: 47c34f80 .word 0x47c34f80 809e5f4: 461c4000 .word 0x461c4000 809e5f8: 42c80000 .word 0x42c80000 809e5fc: 447a0000 .word 0x447a0000 809e600: 47c35000 .word 0x47c35000 809e604: 49742400 .word 0x49742400 809e608: 3dcccccd .word 0x3dcccccd 809e60c: 4b189680 .word 0x4b189680 809e610: 3c23d70a .word 0x3c23d70a 809e614: 3a83126f .word 0x3a83126f 809e618: 0001869f .word 0x0001869f 809e61c: 4cbebc20 .word 0x4cbebc20 if(f >= 100000000.0f) 809e620: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809e624: ed1f 7a03 vldr s14, [pc, #-12] ; 809e61c 809e628: eef4 7ac7 vcmpe.f32 s15, s14 809e62c: eef1 fa10 vmrs APSR_nzcv, fpscr 809e630: db12 blt.n 809e658 f = 99999.0f; 809e632: 4bc5 ldr r3, [pc, #788] ; (809e948 ) 809e634: 647b str r3, [r7, #68] ; 0x44 k = (uint32_t) (roundf(f)); 809e636: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809e63a: eeb0 0a67 vmov.f32 s0, s15 809e63e: f02c fb05 bl 80cac4c 809e642: eef0 7a40 vmov.f32 s15, s0 809e646: eefc 7ae7 vcvt.u32.f32 s15, s15 809e64a: ee17 3a90 vmov r3, s15 809e64e: 65bb str r3, [r7, #88] ; 0x58 t = 0; 809e650: 2300 movs r3, #0 809e652: 657b str r3, [r7, #84] ; 0x54 m = 1; 809e654: 2301 movs r3, #1 809e656: 64fb str r3, [r7, #76] ; 0x4c ik[ipr][0] = (uint8_t) (k / 10000); 809e658: 6d3a ldr r2, [r7, #80] ; 0x50 809e65a: 6dbb ldr r3, [r7, #88] ; 0x58 809e65c: 49bb ldr r1, [pc, #748] ; (809e94c ) 809e65e: fba1 1303 umull r1, r3, r1, r3 809e662: 0b5b lsrs r3, r3, #13 809e664: b2d9 uxtb r1, r3 809e666: 4613 mov r3, r2 809e668: 009b lsls r3, r3, #2 809e66a: 4413 add r3, r2 809e66c: f107 0268 add.w r2, r7, #104 ; 0x68 809e670: 4413 add r3, r2 809e672: 3b34 subs r3, #52 ; 0x34 809e674: 460a mov r2, r1 809e676: 701a strb r2, [r3, #0] ik[ipr][1] = (uint8_t) (k % 10000 / 1000); 809e678: 6d39 ldr r1, [r7, #80] ; 0x50 809e67a: 6dba ldr r2, [r7, #88] ; 0x58 809e67c: 4bb3 ldr r3, [pc, #716] ; (809e94c ) 809e67e: fba3 0302 umull r0, r3, r3, r2 809e682: 0b5b lsrs r3, r3, #13 809e684: f242 7010 movw r0, #10000 ; 0x2710 809e688: fb00 f303 mul.w r3, r0, r3 809e68c: 1ad3 subs r3, r2, r3 809e68e: 4ab0 ldr r2, [pc, #704] ; (809e950 ) 809e690: fba2 2303 umull r2, r3, r2, r3 809e694: 099b lsrs r3, r3, #6 809e696: b2da uxtb r2, r3 809e698: 460b mov r3, r1 809e69a: 009b lsls r3, r3, #2 809e69c: 440b add r3, r1 809e69e: f107 0168 add.w r1, r7, #104 ; 0x68 809e6a2: 440b add r3, r1 809e6a4: 3b33 subs r3, #51 ; 0x33 809e6a6: 701a strb r2, [r3, #0] ik[ipr][2] = (uint8_t) (k % 10000 % 1000 / 100); 809e6a8: 6d39 ldr r1, [r7, #80] ; 0x50 809e6aa: 6dba ldr r2, [r7, #88] ; 0x58 809e6ac: 4ba7 ldr r3, [pc, #668] ; (809e94c ) 809e6ae: fba3 0302 umull r0, r3, r3, r2 809e6b2: 0b5b lsrs r3, r3, #13 809e6b4: f242 7010 movw r0, #10000 ; 0x2710 809e6b8: fb00 f303 mul.w r3, r0, r3 809e6bc: 1ad3 subs r3, r2, r3 809e6be: 4aa4 ldr r2, [pc, #656] ; (809e950 ) 809e6c0: fba2 0203 umull r0, r2, r2, r3 809e6c4: 0992 lsrs r2, r2, #6 809e6c6: f44f 707a mov.w r0, #1000 ; 0x3e8 809e6ca: fb00 f202 mul.w r2, r0, r2 809e6ce: 1a9a subs r2, r3, r2 809e6d0: 4ba0 ldr r3, [pc, #640] ; (809e954 ) 809e6d2: fba3 2302 umull r2, r3, r3, r2 809e6d6: 095b lsrs r3, r3, #5 809e6d8: b2da uxtb r2, r3 809e6da: 460b mov r3, r1 809e6dc: 009b lsls r3, r3, #2 809e6de: 440b add r3, r1 809e6e0: f107 0168 add.w r1, r7, #104 ; 0x68 809e6e4: 440b add r3, r1 809e6e6: 3b32 subs r3, #50 ; 0x32 809e6e8: 701a strb r2, [r3, #0] ik[ipr][3] = (uint8_t) (k % 10000 % 1000 % 100 / 10); 809e6ea: 6d39 ldr r1, [r7, #80] ; 0x50 809e6ec: 6dbb ldr r3, [r7, #88] ; 0x58 809e6ee: 4a97 ldr r2, [pc, #604] ; (809e94c ) 809e6f0: fba2 0203 umull r0, r2, r2, r3 809e6f4: 0b52 lsrs r2, r2, #13 809e6f6: f242 7010 movw r0, #10000 ; 0x2710 809e6fa: fb00 f202 mul.w r2, r0, r2 809e6fe: 1a9a subs r2, r3, r2 809e700: 4b93 ldr r3, [pc, #588] ; (809e950 ) 809e702: fba3 0302 umull r0, r3, r3, r2 809e706: 099b lsrs r3, r3, #6 809e708: f44f 707a mov.w r0, #1000 ; 0x3e8 809e70c: fb00 f303 mul.w r3, r0, r3 809e710: 1ad3 subs r3, r2, r3 809e712: 4a90 ldr r2, [pc, #576] ; (809e954 ) 809e714: fba2 0203 umull r0, r2, r2, r3 809e718: 0952 lsrs r2, r2, #5 809e71a: 2064 movs r0, #100 ; 0x64 809e71c: fb00 f202 mul.w r2, r0, r2 809e720: 1a9a subs r2, r3, r2 809e722: 4b8d ldr r3, [pc, #564] ; (809e958 ) 809e724: fba3 2302 umull r2, r3, r3, r2 809e728: 08db lsrs r3, r3, #3 809e72a: b2da uxtb r2, r3 809e72c: 460b mov r3, r1 809e72e: 009b lsls r3, r3, #2 809e730: 440b add r3, r1 809e732: f107 0168 add.w r1, r7, #104 ; 0x68 809e736: 440b add r3, r1 809e738: 3b31 subs r3, #49 ; 0x31 809e73a: 701a strb r2, [r3, #0] ik[ipr][4] = (uint8_t) (k % 10000 % 1000 % 100 % 10); 809e73c: 6d38 ldr r0, [r7, #80] ; 0x50 809e73e: 6dbb ldr r3, [r7, #88] ; 0x58 809e740: 4a82 ldr r2, [pc, #520] ; (809e94c ) 809e742: fba2 1203 umull r1, r2, r2, r3 809e746: 0b52 lsrs r2, r2, #13 809e748: f242 7110 movw r1, #10000 ; 0x2710 809e74c: fb01 f202 mul.w r2, r1, r2 809e750: 1a9a subs r2, r3, r2 809e752: 4b7f ldr r3, [pc, #508] ; (809e950 ) 809e754: fba3 1302 umull r1, r3, r3, r2 809e758: 099b lsrs r3, r3, #6 809e75a: f44f 717a mov.w r1, #1000 ; 0x3e8 809e75e: fb01 f303 mul.w r3, r1, r3 809e762: 1ad3 subs r3, r2, r3 809e764: 4a7b ldr r2, [pc, #492] ; (809e954 ) 809e766: fba2 1203 umull r1, r2, r2, r3 809e76a: 0952 lsrs r2, r2, #5 809e76c: 2164 movs r1, #100 ; 0x64 809e76e: fb01 f202 mul.w r2, r1, r2 809e772: 1a9a subs r2, r3, r2 809e774: 4b78 ldr r3, [pc, #480] ; (809e958 ) 809e776: fba3 1302 umull r1, r3, r3, r2 809e77a: 08d9 lsrs r1, r3, #3 809e77c: 460b mov r3, r1 809e77e: 009b lsls r3, r3, #2 809e780: 440b add r3, r1 809e782: 005b lsls r3, r3, #1 809e784: 1ad1 subs r1, r2, r3 809e786: b2ca uxtb r2, r1 809e788: 4603 mov r3, r0 809e78a: 009b lsls r3, r3, #2 809e78c: 4403 add r3, r0 809e78e: f107 0168 add.w r1, r7, #104 ; 0x68 809e792: 440b add r3, r1 809e794: 3b30 subs r3, #48 ; 0x30 809e796: 701a strb r2, [r3, #0] if(skz[ipr] != -1.0f) // 809e798: 6d3b ldr r3, [r7, #80] ; 0x50 809e79a: 4a70 ldr r2, [pc, #448] ; (809e95c ) 809e79c: 009b lsls r3, r3, #2 809e79e: 4413 add r3, r2 809e7a0: edd3 7a00 vldr s15, [r3] 809e7a4: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 809e7a8: eef4 7a47 vcmp.f32 s15, s14 809e7ac: eef1 fa10 vmrs APSR_nzcv, fpscr 809e7b0: f000 82a9 beq.w 809ed06 if(ipr == ACC) 809e7b4: 6d3b ldr r3, [r7, #80] ; 0x50 809e7b6: 2b00 cmp r3, #0 809e7b8: f040 80de bne.w 809e978 if(!t) 809e7bc: 6d7b ldr r3, [r7, #84] ; 0x54 809e7be: 2b00 cmp r3, #0 809e7c0: d126 bne.n 809e810 for(i = 0; i < 5; i++) 809e7c2: 2300 movs r3, #0 809e7c4: 65fb str r3, [r7, #92] ; 0x5c 809e7c6: e01f b.n 809e808 DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 68+18); 809e7c8: 6d3a ldr r2, [r7, #80] ; 0x50 809e7ca: 6df9 ldr r1, [r7, #92] ; 0x5c 809e7cc: 4613 mov r3, r2 809e7ce: 009b lsls r3, r3, #2 809e7d0: 4413 add r3, r2 809e7d2: f107 0268 add.w r2, r7, #104 ; 0x68 809e7d6: 4413 add r3, r2 809e7d8: 440b add r3, r1 809e7da: 3b34 subs r3, #52 ; 0x34 809e7dc: 781b ldrb r3, [r3, #0] 809e7de: b2db uxtb r3, r3 809e7e0: 461a mov r2, r3 809e7e2: 4b5f ldr r3, [pc, #380] ; (809e960 ) 809e7e4: f853 0022 ldr.w r0, [r3, r2, lsl #2] 809e7e8: 6dfb ldr r3, [r7, #92] ; 0x5c 809e7ea: b29b uxth r3, r3 809e7ec: 461a mov r2, r3 809e7ee: 0112 lsls r2, r2, #4 809e7f0: 1ad3 subs r3, r2, r3 809e7f2: 005b lsls r3, r3, #1 809e7f4: b29b uxth r3, r3 809e7f6: 335a adds r3, #90 ; 0x5a 809e7f8: b29b uxth r3, r3 809e7fa: 2256 movs r2, #86 ; 0x56 809e7fc: 4619 mov r1, r3 809e7fe: f7b5 fec9 bl 8054594 for(i = 0; i < 5; i++) 809e802: 6dfb ldr r3, [r7, #92] ; 0x5c 809e804: 3301 adds r3, #1 809e806: 65fb str r3, [r7, #92] ; 0x5c 809e808: 6dfb ldr r3, [r7, #92] ; 0x5c 809e80a: 2b04 cmp r3, #4 809e80c: d9dc bls.n 809e7c8 809e80e: e05a b.n 809e8c6 for(i = 0; i < t; i++) 809e810: 2300 movs r3, #0 809e812: 65fb str r3, [r7, #92] ; 0x5c 809e814: e01f b.n 809e856 DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 68+18); 809e816: 6d3a ldr r2, [r7, #80] ; 0x50 809e818: 6df9 ldr r1, [r7, #92] ; 0x5c 809e81a: 4613 mov r3, r2 809e81c: 009b lsls r3, r3, #2 809e81e: 4413 add r3, r2 809e820: f107 0268 add.w r2, r7, #104 ; 0x68 809e824: 4413 add r3, r2 809e826: 440b add r3, r1 809e828: 3b34 subs r3, #52 ; 0x34 809e82a: 781b ldrb r3, [r3, #0] 809e82c: b2db uxtb r3, r3 809e82e: 461a mov r2, r3 809e830: 4b4b ldr r3, [pc, #300] ; (809e960 ) 809e832: f853 0022 ldr.w r0, [r3, r2, lsl #2] 809e836: 6dfb ldr r3, [r7, #92] ; 0x5c 809e838: b29b uxth r3, r3 809e83a: 461a mov r2, r3 809e83c: 0112 lsls r2, r2, #4 809e83e: 1ad3 subs r3, r2, r3 809e840: 005b lsls r3, r3, #1 809e842: b29b uxth r3, r3 809e844: 335a adds r3, #90 ; 0x5a 809e846: b29b uxth r3, r3 809e848: 2256 movs r2, #86 ; 0x56 809e84a: 4619 mov r1, r3 809e84c: f7b5 fea2 bl 8054594 for(i = 0; i < t; i++) 809e850: 6dfb ldr r3, [r7, #92] ; 0x5c 809e852: 3301 adds r3, #1 809e854: 65fb str r3, [r7, #92] ; 0x5c 809e856: 6dfa ldr r2, [r7, #92] ; 0x5c 809e858: 6d7b ldr r3, [r7, #84] ; 0x54 809e85a: 429a cmp r2, r3 809e85c: d3db bcc.n 809e816 DrawImage(&bmgpt, 95 + 30*t, 92+18); 809e85e: 6d7b ldr r3, [r7, #84] ; 0x54 809e860: b29b uxth r3, r3 809e862: 461a mov r2, r3 809e864: 0112 lsls r2, r2, #4 809e866: 1ad3 subs r3, r2, r3 809e868: 005b lsls r3, r3, #1 809e86a: b29b uxth r3, r3 809e86c: 335f adds r3, #95 ; 0x5f 809e86e: b29b uxth r3, r3 809e870: 226e movs r2, #110 ; 0x6e 809e872: 4619 mov r1, r3 809e874: 483b ldr r0, [pc, #236] ; (809e964 ) 809e876: f7b5 fe8d bl 8054594 for(i = t; i < 5; i++) 809e87a: 6d7b ldr r3, [r7, #84] ; 0x54 809e87c: 65fb str r3, [r7, #92] ; 0x5c 809e87e: e01f b.n 809e8c0 DrawImage(NUMS[ik[ipr][i]], 110 + 30*i, 68+18); 809e880: 6d3a ldr r2, [r7, #80] ; 0x50 809e882: 6df9 ldr r1, [r7, #92] ; 0x5c 809e884: 4613 mov r3, r2 809e886: 009b lsls r3, r3, #2 809e888: 4413 add r3, r2 809e88a: f107 0268 add.w r2, r7, #104 ; 0x68 809e88e: 4413 add r3, r2 809e890: 440b add r3, r1 809e892: 3b34 subs r3, #52 ; 0x34 809e894: 781b ldrb r3, [r3, #0] 809e896: b2db uxtb r3, r3 809e898: 461a mov r2, r3 809e89a: 4b31 ldr r3, [pc, #196] ; (809e960 ) 809e89c: f853 0022 ldr.w r0, [r3, r2, lsl #2] 809e8a0: 6dfb ldr r3, [r7, #92] ; 0x5c 809e8a2: b29b uxth r3, r3 809e8a4: 461a mov r2, r3 809e8a6: 0112 lsls r2, r2, #4 809e8a8: 1ad3 subs r3, r2, r3 809e8aa: 005b lsls r3, r3, #1 809e8ac: b29b uxth r3, r3 809e8ae: 336e adds r3, #110 ; 0x6e 809e8b0: b29b uxth r3, r3 809e8b2: 2256 movs r2, #86 ; 0x56 809e8b4: 4619 mov r1, r3 809e8b6: f7b5 fe6d bl 8054594 for(i = t; i < 5; i++) 809e8ba: 6dfb ldr r3, [r7, #92] ; 0x5c 809e8bc: 3301 adds r3, #1 809e8be: 65fb str r3, [r7, #92] ; 0x5c 809e8c0: 6dfb ldr r3, [r7, #92] ; 0x5c 809e8c2: 2b04 cmp r3, #4 809e8c4: d9dc bls.n 809e880 if(pardata.IVS[ACC] < PEAK_FACTOR) 809e8c6: 4b28 ldr r3, [pc, #160] ; (809e968 ) 809e8c8: 789b ldrb r3, [r3, #2] 809e8ca: b2db uxtb r3, r3 809e8cc: 2b02 cmp r3, #2 809e8ce: d81f bhi.n 809e910 if(pardata.IIN != VOLTS) 809e8d0: 4b25 ldr r3, [pc, #148] ; (809e968 ) 809e8d2: 799b ldrb r3, [r3, #6] 809e8d4: b2db uxtb r3, r3 809e8d6: 2b02 cmp r3, #2 809e8d8: d00d beq.n 809e8f6 DrawImage(BMG_MS[pardata.LANG], 265, 74+18); 809e8da: 4b23 ldr r3, [pc, #140] ; (809e968 ) 809e8dc: 7b1b ldrb r3, [r3, #12] 809e8de: b2db uxtb r3, r3 809e8e0: 461a mov r2, r3 809e8e2: 4b22 ldr r3, [pc, #136] ; (809e96c ) 809e8e4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809e8e8: 225c movs r2, #92 ; 0x5c 809e8ea: f240 1109 movw r1, #265 ; 0x109 809e8ee: 4618 mov r0, r3 809e8f0: f7b5 fe50 bl 8054594 809e8f4: e00c b.n 809e910 else DrawImage(BMG_MV[pardata.LANG], 265, 74+18); 809e8f6: 4b1c ldr r3, [pc, #112] ; (809e968 ) 809e8f8: 7b1b ldrb r3, [r3, #12] 809e8fa: b2db uxtb r3, r3 809e8fc: 461a mov r2, r3 809e8fe: 4b1c ldr r3, [pc, #112] ; (809e970 ) 809e900: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809e904: 225c movs r2, #92 ; 0x5c 809e906: f240 1109 movw r1, #265 ; 0x109 809e90a: 4618 mov r0, r3 809e90c: f7b5 fe42 bl 8054594 if(pardata.IVS[ipr] == EXCESS) 809e910: 6d3b ldr r3, [r7, #80] ; 0x50 809e912: 4a15 ldr r2, [pc, #84] ; (809e968 ) 809e914: 4413 add r3, r2 809e916: 789b ldrb r3, [r3, #2] 809e918: b2db uxtb r3, r3 809e91a: 2b04 cmp r3, #4 809e91c: f040 866b bne.w 809f5f6 if(skz[ipr] < 0.0f) { 809e920: 6d3b ldr r3, [r7, #80] ; 0x50 809e922: 4a0e ldr r2, [pc, #56] ; (809e95c ) 809e924: 009b lsls r3, r3, #2 809e926: 4413 add r3, r2 809e928: edd3 7a00 vldr s15, [r3] 809e92c: eef5 7ac0 vcmpe.f32 s15, #0.0 809e930: eef1 fa10 vmrs APSR_nzcv, fpscr 809e934: f140 865f bpl.w 809f5f6 DrawImage(&bmgminus, 78, 84+18); 809e938: 2266 movs r2, #102 ; 0x66 809e93a: 214e movs r1, #78 ; 0x4e 809e93c: 480d ldr r0, [pc, #52] ; (809e974 ) 809e93e: f7b5 fe29 bl 8054594 809e942: f000 be58 b.w 809f5f6 809e946: bf00 nop 809e948: 47c34f80 .word 0x47c34f80 809e94c: d1b71759 .word 0xd1b71759 809e950: 10624dd3 .word 0x10624dd3 809e954: 51eb851f .word 0x51eb851f 809e958: cccccccd .word 0xcccccccd 809e95c: 20021540 .word 0x20021540 809e960: 20020124 .word 0x20020124 809e964: 08167a1c .word 0x08167a1c 809e968: 20023e60 .word 0x20023e60 809e96c: 200200f4 .word 0x200200f4 809e970: 20020114 .word 0x20020114 809e974: 08167990 .word 0x08167990 if(ipr == VEL) 809e978: 6d3b ldr r3, [r7, #80] ; 0x50 809e97a: 2b01 cmp r3, #1 809e97c: f040 80c5 bne.w 809eb0a if(!t) 809e980: 6d7b ldr r3, [r7, #84] ; 0x54 809e982: 2b00 cmp r3, #0 809e984: d126 bne.n 809e9d4 for(i = 0; i < 5; i++) 809e986: 2300 movs r3, #0 809e988: 65fb str r3, [r7, #92] ; 0x5c 809e98a: e01f b.n 809e9cc DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 121+9); 809e98c: 6d3a ldr r2, [r7, #80] ; 0x50 809e98e: 6df9 ldr r1, [r7, #92] ; 0x5c 809e990: 4613 mov r3, r2 809e992: 009b lsls r3, r3, #2 809e994: 4413 add r3, r2 809e996: f107 0268 add.w r2, r7, #104 ; 0x68 809e99a: 4413 add r3, r2 809e99c: 440b add r3, r1 809e99e: 3b34 subs r3, #52 ; 0x34 809e9a0: 781b ldrb r3, [r3, #0] 809e9a2: b2db uxtb r3, r3 809e9a4: 461a mov r2, r3 809e9a6: 4bb2 ldr r3, [pc, #712] ; (809ec70 ) 809e9a8: f853 0022 ldr.w r0, [r3, r2, lsl #2] 809e9ac: 6dfb ldr r3, [r7, #92] ; 0x5c 809e9ae: b29b uxth r3, r3 809e9b0: 461a mov r2, r3 809e9b2: 0112 lsls r2, r2, #4 809e9b4: 1ad3 subs r3, r2, r3 809e9b6: 005b lsls r3, r3, #1 809e9b8: b29b uxth r3, r3 809e9ba: 335a adds r3, #90 ; 0x5a 809e9bc: b29b uxth r3, r3 809e9be: 2282 movs r2, #130 ; 0x82 809e9c0: 4619 mov r1, r3 809e9c2: f7b5 fde7 bl 8054594 for(i = 0; i < 5; i++) 809e9c6: 6dfb ldr r3, [r7, #92] ; 0x5c 809e9c8: 3301 adds r3, #1 809e9ca: 65fb str r3, [r7, #92] ; 0x5c 809e9cc: 6dfb ldr r3, [r7, #92] ; 0x5c 809e9ce: 2b04 cmp r3, #4 809e9d0: d9dc bls.n 809e98c 809e9d2: e05a b.n 809ea8a for(i = 0; i < t; i++) 809e9d4: 2300 movs r3, #0 809e9d6: 65fb str r3, [r7, #92] ; 0x5c 809e9d8: e01f b.n 809ea1a DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 121+9); 809e9da: 6d3a ldr r2, [r7, #80] ; 0x50 809e9dc: 6df9 ldr r1, [r7, #92] ; 0x5c 809e9de: 4613 mov r3, r2 809e9e0: 009b lsls r3, r3, #2 809e9e2: 4413 add r3, r2 809e9e4: f107 0268 add.w r2, r7, #104 ; 0x68 809e9e8: 4413 add r3, r2 809e9ea: 440b add r3, r1 809e9ec: 3b34 subs r3, #52 ; 0x34 809e9ee: 781b ldrb r3, [r3, #0] 809e9f0: b2db uxtb r3, r3 809e9f2: 461a mov r2, r3 809e9f4: 4b9e ldr r3, [pc, #632] ; (809ec70 ) 809e9f6: f853 0022 ldr.w r0, [r3, r2, lsl #2] 809e9fa: 6dfb ldr r3, [r7, #92] ; 0x5c 809e9fc: b29b uxth r3, r3 809e9fe: 461a mov r2, r3 809ea00: 0112 lsls r2, r2, #4 809ea02: 1ad3 subs r3, r2, r3 809ea04: 005b lsls r3, r3, #1 809ea06: b29b uxth r3, r3 809ea08: 335a adds r3, #90 ; 0x5a 809ea0a: b29b uxth r3, r3 809ea0c: 2282 movs r2, #130 ; 0x82 809ea0e: 4619 mov r1, r3 809ea10: f7b5 fdc0 bl 8054594 for(i = 0; i < t; i++) 809ea14: 6dfb ldr r3, [r7, #92] ; 0x5c 809ea16: 3301 adds r3, #1 809ea18: 65fb str r3, [r7, #92] ; 0x5c 809ea1a: 6dfa ldr r2, [r7, #92] ; 0x5c 809ea1c: 6d7b ldr r3, [r7, #84] ; 0x54 809ea1e: 429a cmp r2, r3 809ea20: d3db bcc.n 809e9da DrawImage(&bmgpt, 95 + 30*t, 145+9); 809ea22: 6d7b ldr r3, [r7, #84] ; 0x54 809ea24: b29b uxth r3, r3 809ea26: 461a mov r2, r3 809ea28: 0112 lsls r2, r2, #4 809ea2a: 1ad3 subs r3, r2, r3 809ea2c: 005b lsls r3, r3, #1 809ea2e: b29b uxth r3, r3 809ea30: 335f adds r3, #95 ; 0x5f 809ea32: b29b uxth r3, r3 809ea34: 229a movs r2, #154 ; 0x9a 809ea36: 4619 mov r1, r3 809ea38: 488e ldr r0, [pc, #568] ; (809ec74 ) 809ea3a: f7b5 fdab bl 8054594 for(i = t; i < 5; i++) 809ea3e: 6d7b ldr r3, [r7, #84] ; 0x54 809ea40: 65fb str r3, [r7, #92] ; 0x5c 809ea42: e01f b.n 809ea84 DrawImage(NUMS[ik[ipr][i]], 110 + 30*i, 121+9); 809ea44: 6d3a ldr r2, [r7, #80] ; 0x50 809ea46: 6df9 ldr r1, [r7, #92] ; 0x5c 809ea48: 4613 mov r3, r2 809ea4a: 009b lsls r3, r3, #2 809ea4c: 4413 add r3, r2 809ea4e: f107 0268 add.w r2, r7, #104 ; 0x68 809ea52: 4413 add r3, r2 809ea54: 440b add r3, r1 809ea56: 3b34 subs r3, #52 ; 0x34 809ea58: 781b ldrb r3, [r3, #0] 809ea5a: b2db uxtb r3, r3 809ea5c: 461a mov r2, r3 809ea5e: 4b84 ldr r3, [pc, #528] ; (809ec70 ) 809ea60: f853 0022 ldr.w r0, [r3, r2, lsl #2] 809ea64: 6dfb ldr r3, [r7, #92] ; 0x5c 809ea66: b29b uxth r3, r3 809ea68: 461a mov r2, r3 809ea6a: 0112 lsls r2, r2, #4 809ea6c: 1ad3 subs r3, r2, r3 809ea6e: 005b lsls r3, r3, #1 809ea70: b29b uxth r3, r3 809ea72: 336e adds r3, #110 ; 0x6e 809ea74: b29b uxth r3, r3 809ea76: 2282 movs r2, #130 ; 0x82 809ea78: 4619 mov r1, r3 809ea7a: f7b5 fd8b bl 8054594 for(i = t; i < 5; i++) 809ea7e: 6dfb ldr r3, [r7, #92] ; 0x5c 809ea80: 3301 adds r3, #1 809ea82: 65fb str r3, [r7, #92] ; 0x5c 809ea84: 6dfb ldr r3, [r7, #92] ; 0x5c 809ea86: 2b04 cmp r3, #4 809ea88: d9dc bls.n 809ea44 if(pardata.IVS[VEL] < PEAK_FACTOR) 809ea8a: 4b7b ldr r3, [pc, #492] ; (809ec78 ) 809ea8c: 78db ldrb r3, [r3, #3] 809ea8e: b2db uxtb r3, r3 809ea90: 2b02 cmp r3, #2 809ea92: d81f bhi.n 809ead4 if(pardata.IIN != VOLTS) 809ea94: 4b78 ldr r3, [pc, #480] ; (809ec78 ) 809ea96: 799b ldrb r3, [r3, #6] 809ea98: b2db uxtb r3, r3 809ea9a: 2b02 cmp r3, #2 809ea9c: d00d beq.n 809eaba DrawImage(BMG_MMS[pardata.LANG], 265, 128+9); 809ea9e: 4b76 ldr r3, [pc, #472] ; (809ec78 ) 809eaa0: 7b1b ldrb r3, [r3, #12] 809eaa2: b2db uxtb r3, r3 809eaa4: 461a mov r2, r3 809eaa6: 4b75 ldr r3, [pc, #468] ; (809ec7c ) 809eaa8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809eaac: 2289 movs r2, #137 ; 0x89 809eaae: f240 1109 movw r1, #265 ; 0x109 809eab2: 4618 mov r0, r3 809eab4: f7b5 fd6e bl 8054594 809eab8: e00c b.n 809ead4 else DrawImage(BMG_MV[pardata.LANG], 265, 128+9); 809eaba: 4b6f ldr r3, [pc, #444] ; (809ec78 ) 809eabc: 7b1b ldrb r3, [r3, #12] 809eabe: b2db uxtb r3, r3 809eac0: 461a mov r2, r3 809eac2: 4b6f ldr r3, [pc, #444] ; (809ec80 ) 809eac4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809eac8: 2289 movs r2, #137 ; 0x89 809eaca: f240 1109 movw r1, #265 ; 0x109 809eace: 4618 mov r0, r3 809ead0: f7b5 fd60 bl 8054594 if(pardata.IVS[ipr] == EXCESS) 809ead4: 6d3b ldr r3, [r7, #80] ; 0x50 809ead6: 4a68 ldr r2, [pc, #416] ; (809ec78 ) 809ead8: 4413 add r3, r2 809eada: 789b ldrb r3, [r3, #2] 809eadc: b2db uxtb r3, r3 809eade: 2b04 cmp r3, #4 809eae0: f040 8589 bne.w 809f5f6 if(skz[ipr] < 0.0f) { 809eae4: 6d3b ldr r3, [r7, #80] ; 0x50 809eae6: 4a67 ldr r2, [pc, #412] ; (809ec84 ) 809eae8: 009b lsls r3, r3, #2 809eaea: 4413 add r3, r2 809eaec: edd3 7a00 vldr s15, [r3] 809eaf0: eef5 7ac0 vcmpe.f32 s15, #0.0 809eaf4: eef1 fa10 vmrs APSR_nzcv, fpscr 809eaf8: f140 857d bpl.w 809f5f6 DrawImage(&bmgminus, 78, 138+9); 809eafc: 2293 movs r2, #147 ; 0x93 809eafe: 214e movs r1, #78 ; 0x4e 809eb00: 4861 ldr r0, [pc, #388] ; (809ec88 ) 809eb02: f7b5 fd47 bl 8054594 809eb06: f000 bd76 b.w 809f5f6 if(ipr == DIS) 809eb0a: 6d3b ldr r3, [r7, #80] ; 0x50 809eb0c: 2b02 cmp r3, #2 809eb0e: f040 8572 bne.w 809f5f6 if(!t) 809eb12: 6d7b ldr r3, [r7, #84] ; 0x54 809eb14: 2b00 cmp r3, #0 809eb16: d126 bne.n 809eb66 for(i = 0; i < 5; i++) 809eb18: 2300 movs r3, #0 809eb1a: 65fb str r3, [r7, #92] ; 0x5c 809eb1c: e01f b.n 809eb5e DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 174); 809eb1e: 6d3a ldr r2, [r7, #80] ; 0x50 809eb20: 6df9 ldr r1, [r7, #92] ; 0x5c 809eb22: 4613 mov r3, r2 809eb24: 009b lsls r3, r3, #2 809eb26: 4413 add r3, r2 809eb28: f107 0268 add.w r2, r7, #104 ; 0x68 809eb2c: 4413 add r3, r2 809eb2e: 440b add r3, r1 809eb30: 3b34 subs r3, #52 ; 0x34 809eb32: 781b ldrb r3, [r3, #0] 809eb34: b2db uxtb r3, r3 809eb36: 461a mov r2, r3 809eb38: 4b4d ldr r3, [pc, #308] ; (809ec70 ) 809eb3a: f853 0022 ldr.w r0, [r3, r2, lsl #2] 809eb3e: 6dfb ldr r3, [r7, #92] ; 0x5c 809eb40: b29b uxth r3, r3 809eb42: 461a mov r2, r3 809eb44: 0112 lsls r2, r2, #4 809eb46: 1ad3 subs r3, r2, r3 809eb48: 005b lsls r3, r3, #1 809eb4a: b29b uxth r3, r3 809eb4c: 335a adds r3, #90 ; 0x5a 809eb4e: b29b uxth r3, r3 809eb50: 22ae movs r2, #174 ; 0xae 809eb52: 4619 mov r1, r3 809eb54: f7b5 fd1e bl 8054594 for(i = 0; i < 5; i++) 809eb58: 6dfb ldr r3, [r7, #92] ; 0x5c 809eb5a: 3301 adds r3, #1 809eb5c: 65fb str r3, [r7, #92] ; 0x5c 809eb5e: 6dfb ldr r3, [r7, #92] ; 0x5c 809eb60: 2b04 cmp r3, #4 809eb62: d9dc bls.n 809eb1e 809eb64: e05a b.n 809ec1c for(i = 0; i < t; i++) 809eb66: 2300 movs r3, #0 809eb68: 65fb str r3, [r7, #92] ; 0x5c 809eb6a: e01f b.n 809ebac DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 174); 809eb6c: 6d3a ldr r2, [r7, #80] ; 0x50 809eb6e: 6df9 ldr r1, [r7, #92] ; 0x5c 809eb70: 4613 mov r3, r2 809eb72: 009b lsls r3, r3, #2 809eb74: 4413 add r3, r2 809eb76: f107 0268 add.w r2, r7, #104 ; 0x68 809eb7a: 4413 add r3, r2 809eb7c: 440b add r3, r1 809eb7e: 3b34 subs r3, #52 ; 0x34 809eb80: 781b ldrb r3, [r3, #0] 809eb82: b2db uxtb r3, r3 809eb84: 461a mov r2, r3 809eb86: 4b3a ldr r3, [pc, #232] ; (809ec70 ) 809eb88: f853 0022 ldr.w r0, [r3, r2, lsl #2] 809eb8c: 6dfb ldr r3, [r7, #92] ; 0x5c 809eb8e: b29b uxth r3, r3 809eb90: 461a mov r2, r3 809eb92: 0112 lsls r2, r2, #4 809eb94: 1ad3 subs r3, r2, r3 809eb96: 005b lsls r3, r3, #1 809eb98: b29b uxth r3, r3 809eb9a: 335a adds r3, #90 ; 0x5a 809eb9c: b29b uxth r3, r3 809eb9e: 22ae movs r2, #174 ; 0xae 809eba0: 4619 mov r1, r3 809eba2: f7b5 fcf7 bl 8054594 for(i = 0; i < t; i++) 809eba6: 6dfb ldr r3, [r7, #92] ; 0x5c 809eba8: 3301 adds r3, #1 809ebaa: 65fb str r3, [r7, #92] ; 0x5c 809ebac: 6dfa ldr r2, [r7, #92] ; 0x5c 809ebae: 6d7b ldr r3, [r7, #84] ; 0x54 809ebb0: 429a cmp r2, r3 809ebb2: d3db bcc.n 809eb6c DrawImage(&bmgpt, 95 + 30*t, 198); 809ebb4: 6d7b ldr r3, [r7, #84] ; 0x54 809ebb6: b29b uxth r3, r3 809ebb8: 461a mov r2, r3 809ebba: 0112 lsls r2, r2, #4 809ebbc: 1ad3 subs r3, r2, r3 809ebbe: 005b lsls r3, r3, #1 809ebc0: b29b uxth r3, r3 809ebc2: 335f adds r3, #95 ; 0x5f 809ebc4: b29b uxth r3, r3 809ebc6: 22c6 movs r2, #198 ; 0xc6 809ebc8: 4619 mov r1, r3 809ebca: 482a ldr r0, [pc, #168] ; (809ec74 ) 809ebcc: f7b5 fce2 bl 8054594 for(i = t; i < 5; i++) 809ebd0: 6d7b ldr r3, [r7, #84] ; 0x54 809ebd2: 65fb str r3, [r7, #92] ; 0x5c 809ebd4: e01f b.n 809ec16 DrawImage(NUMS[ik[ipr][i]], 110 + 30*i, 174); 809ebd6: 6d3a ldr r2, [r7, #80] ; 0x50 809ebd8: 6df9 ldr r1, [r7, #92] ; 0x5c 809ebda: 4613 mov r3, r2 809ebdc: 009b lsls r3, r3, #2 809ebde: 4413 add r3, r2 809ebe0: f107 0268 add.w r2, r7, #104 ; 0x68 809ebe4: 4413 add r3, r2 809ebe6: 440b add r3, r1 809ebe8: 3b34 subs r3, #52 ; 0x34 809ebea: 781b ldrb r3, [r3, #0] 809ebec: b2db uxtb r3, r3 809ebee: 461a mov r2, r3 809ebf0: 4b1f ldr r3, [pc, #124] ; (809ec70 ) 809ebf2: f853 0022 ldr.w r0, [r3, r2, lsl #2] 809ebf6: 6dfb ldr r3, [r7, #92] ; 0x5c 809ebf8: b29b uxth r3, r3 809ebfa: 461a mov r2, r3 809ebfc: 0112 lsls r2, r2, #4 809ebfe: 1ad3 subs r3, r2, r3 809ec00: 005b lsls r3, r3, #1 809ec02: b29b uxth r3, r3 809ec04: 336e adds r3, #110 ; 0x6e 809ec06: b29b uxth r3, r3 809ec08: 22ae movs r2, #174 ; 0xae 809ec0a: 4619 mov r1, r3 809ec0c: f7b5 fcc2 bl 8054594 for(i = t; i < 5; i++) 809ec10: 6dfb ldr r3, [r7, #92] ; 0x5c 809ec12: 3301 adds r3, #1 809ec14: 65fb str r3, [r7, #92] ; 0x5c 809ec16: 6dfb ldr r3, [r7, #92] ; 0x5c 809ec18: 2b04 cmp r3, #4 809ec1a: d9dc bls.n 809ebd6 if(pardata.IVS[DIS] < PEAK_FACTOR) 809ec1c: 4b16 ldr r3, [pc, #88] ; (809ec78 ) 809ec1e: 791b ldrb r3, [r3, #4] 809ec20: b2db uxtb r3, r3 809ec22: 2b02 cmp r3, #2 809ec24: d854 bhi.n 809ecd0 if(pardata.IIN != VOLTS) 809ec26: 4b14 ldr r3, [pc, #80] ; (809ec78 ) 809ec28: 799b ldrb r3, [r3, #6] 809ec2a: b2db uxtb r3, r3 809ec2c: 2b02 cmp r3, #2 809ec2e: d031 beq.n 809ec94 if(m == 0) 809ec30: 6cfb ldr r3, [r7, #76] ; 0x4c 809ec32: 2b00 cmp r3, #0 809ec34: d10d bne.n 809ec52 DrawImage(BMG_MKM[pardata.LANG], 265, 180); 809ec36: 4b10 ldr r3, [pc, #64] ; (809ec78 ) 809ec38: 7b1b ldrb r3, [r3, #12] 809ec3a: b2db uxtb r3, r3 809ec3c: 461a mov r2, r3 809ec3e: 4b13 ldr r3, [pc, #76] ; (809ec8c ) 809ec40: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809ec44: 22b4 movs r2, #180 ; 0xb4 809ec46: f240 1109 movw r1, #265 ; 0x109 809ec4a: 4618 mov r0, r3 809ec4c: f7b5 fca2 bl 8054594 809ec50: e03e b.n 809ecd0 else DrawImage(BMG_MM[pardata.LANG], 265, 180); 809ec52: 4b09 ldr r3, [pc, #36] ; (809ec78 ) 809ec54: 7b1b ldrb r3, [r3, #12] 809ec56: b2db uxtb r3, r3 809ec58: 461a mov r2, r3 809ec5a: 4b0d ldr r3, [pc, #52] ; (809ec90 ) 809ec5c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809ec60: 22b4 movs r2, #180 ; 0xb4 809ec62: f240 1109 movw r1, #265 ; 0x109 809ec66: 4618 mov r0, r3 809ec68: f7b5 fc94 bl 8054594 809ec6c: e030 b.n 809ecd0 809ec6e: bf00 nop 809ec70: 20020124 .word 0x20020124 809ec74: 08167a1c .word 0x08167a1c 809ec78: 20023e60 .word 0x20023e60 809ec7c: 200200fc .word 0x200200fc 809ec80: 20020114 .word 0x20020114 809ec84: 20021540 .word 0x20021540 809ec88: 08167990 .word 0x08167990 809ec8c: 20020104 .word 0x20020104 809ec90: 2002010c .word 0x2002010c if(m == 0) 809ec94: 6cfb ldr r3, [r7, #76] ; 0x4c 809ec96: 2b00 cmp r3, #0 809ec98: d10d bne.n 809ecb6 DrawImage(BMG_MV[pardata.LANG], 265, 180); 809ec9a: 4bc1 ldr r3, [pc, #772] ; (809efa0 ) 809ec9c: 7b1b ldrb r3, [r3, #12] 809ec9e: b2db uxtb r3, r3 809eca0: 461a mov r2, r3 809eca2: 4bc0 ldr r3, [pc, #768] ; (809efa4 ) 809eca4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809eca8: 22b4 movs r2, #180 ; 0xb4 809ecaa: f240 1109 movw r1, #265 ; 0x109 809ecae: 4618 mov r0, r3 809ecb0: f7b5 fc70 bl 8054594 809ecb4: e00c b.n 809ecd0 else DrawImage(BMG_V[pardata.LANG], 265, 180); 809ecb6: 4bba ldr r3, [pc, #744] ; (809efa0 ) 809ecb8: 7b1b ldrb r3, [r3, #12] 809ecba: b2db uxtb r3, r3 809ecbc: 461a mov r2, r3 809ecbe: 4bba ldr r3, [pc, #744] ; (809efa8 ) 809ecc0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809ecc4: 22b4 movs r2, #180 ; 0xb4 809ecc6: f240 1109 movw r1, #265 ; 0x109 809ecca: 4618 mov r0, r3 809eccc: f7b5 fc62 bl 8054594 if(pardata.IVS[ipr] == EXCESS) 809ecd0: 6d3b ldr r3, [r7, #80] ; 0x50 809ecd2: 4ab3 ldr r2, [pc, #716] ; (809efa0 ) 809ecd4: 4413 add r3, r2 809ecd6: 789b ldrb r3, [r3, #2] 809ecd8: b2db uxtb r3, r3 809ecda: 2b04 cmp r3, #4 809ecdc: f040 848b bne.w 809f5f6 if(skz[ipr] < 0.0f) { 809ece0: 6d3b ldr r3, [r7, #80] ; 0x50 809ece2: 4ab2 ldr r2, [pc, #712] ; (809efac ) 809ece4: 009b lsls r3, r3, #2 809ece6: 4413 add r3, r2 809ece8: edd3 7a00 vldr s15, [r3] 809ecec: eef5 7ac0 vcmpe.f32 s15, #0.0 809ecf0: eef1 fa10 vmrs APSR_nzcv, fpscr 809ecf4: f140 847f bpl.w 809f5f6 DrawImage(&bmgminus, 78, 190); 809ecf8: 22be movs r2, #190 ; 0xbe 809ecfa: 214e movs r1, #78 ; 0x4e 809ecfc: 48ac ldr r0, [pc, #688] ; (809efb0 ) 809ecfe: f7b5 fc49 bl 8054594 809ed02: f000 bc78 b.w 809f5f6 if(skz[ACC] != -1.0f) 809ed06: 4ba9 ldr r3, [pc, #676] ; (809efac ) 809ed08: edd3 7a00 vldr s15, [r3] 809ed0c: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 809ed10: eef4 7a47 vcmp.f32 s15, s14 809ed14: eef1 fa10 vmrs APSR_nzcv, fpscr 809ed18: f000 846d beq.w 809f5f6 if(ipr == VEL) 809ed1c: 6d3b ldr r3, [r7, #80] ; 0x50 809ed1e: 2b01 cmp r3, #1 809ed20: d116 bne.n 809ed50 LCD_SetColors(LCD_COLOR_NUMGREEN, LCD_COLOR_BLACK); 809ed22: 49a4 ldr r1, [pc, #656] ; (809efb4 ) 809ed24: 48a4 ldr r0, [pc, #656] ; (809efb8 ) 809ed26: f7b4 fd41 bl 80537ac if(pardata.LANG == RUS) 809ed2a: 4b9d ldr r3, [pc, #628] ; (809efa0 ) 809ed2c: 7b1b ldrb r3, [r3, #12] 809ed2e: b2db uxtb r3, r3 809ed30: 2b00 cmp r3, #0 809ed32: d106 bne.n 809ed42 LCD_DisplayStringC(167, 135, "ÍÅÒ ÄÀÍÍÛÕ"); 809ed34: 4aa1 ldr r2, [pc, #644] ; (809efbc ) 809ed36: 2187 movs r1, #135 ; 0x87 809ed38: 20a7 movs r0, #167 ; 0xa7 809ed3a: f7b5 faf7 bl 805432c 809ed3e: f000 bc5a b.w 809f5f6 else LCD_DisplayStringC(167, 135, "NO DATA"); 809ed42: 4a9f ldr r2, [pc, #636] ; (809efc0 ) 809ed44: 2187 movs r1, #135 ; 0x87 809ed46: 20a7 movs r0, #167 ; 0xa7 809ed48: f7b5 faf0 bl 805432c 809ed4c: f000 bc53 b.w 809f5f6 if(ipr == DIS) 809ed50: 6d3b ldr r3, [r7, #80] ; 0x50 809ed52: 2b02 cmp r3, #2 809ed54: f040 844f bne.w 809f5f6 LCD_SetColors(LCD_COLOR_NUMGREEN, LCD_COLOR_BLACK); 809ed58: 4996 ldr r1, [pc, #600] ; (809efb4 ) 809ed5a: 4897 ldr r0, [pc, #604] ; (809efb8 ) 809ed5c: f7b4 fd26 bl 80537ac if(pardata.LANG == RUS) 809ed60: 4b8f ldr r3, [pc, #572] ; (809efa0 ) 809ed62: 7b1b ldrb r3, [r3, #12] 809ed64: b2db uxtb r3, r3 809ed66: 2b00 cmp r3, #0 809ed68: d106 bne.n 809ed78 LCD_DisplayStringC(167, 185, "ÍÅÒ ÄÀÍÍÛÕ"); 809ed6a: 4a94 ldr r2, [pc, #592] ; (809efbc ) 809ed6c: 21b9 movs r1, #185 ; 0xb9 809ed6e: 20a7 movs r0, #167 ; 0xa7 809ed70: f7b5 fadc bl 805432c 809ed74: f000 bc3f b.w 809f5f6 else LCD_DisplayStringC(167, 185, "NO DATA"); 809ed78: 4a91 ldr r2, [pc, #580] ; (809efc0 ) 809ed7a: 21b9 movs r1, #185 ; 0xb9 809ed7c: 20a7 movs r0, #167 ; 0xa7 809ed7e: f7b5 fad5 bl 805432c 809ed82: f000 bc38 b.w 809f5f6 if(skz[ipr] != -1.0f) 809ed86: 6d3b ldr r3, [r7, #80] ; 0x50 809ed88: 4a88 ldr r2, [pc, #544] ; (809efac ) 809ed8a: 009b lsls r3, r3, #2 809ed8c: 4413 add r3, r2 809ed8e: edd3 7a00 vldr s15, [r3] 809ed92: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 809ed96: eef4 7a47 vcmp.f32 s15, s14 809ed9a: eef1 fa10 vmrs APSR_nzcv, fpscr 809ed9e: f000 83d8 beq.w 809f552 f = ABS(skzDB[ipr]); 809eda2: 6d3b ldr r3, [r7, #80] ; 0x50 809eda4: 4a87 ldr r2, [pc, #540] ; (809efc4 ) 809eda6: 009b lsls r3, r3, #2 809eda8: 4413 add r3, r2 809edaa: edd3 7a00 vldr s15, [r3] 809edae: eef5 7ac0 vcmpe.f32 s15, #0.0 809edb2: eef1 fa10 vmrs APSR_nzcv, fpscr 809edb6: dd06 ble.n 809edc6 809edb8: 6d3b ldr r3, [r7, #80] ; 0x50 809edba: 4a82 ldr r2, [pc, #520] ; (809efc4 ) 809edbc: 009b lsls r3, r3, #2 809edbe: 4413 add r3, r2 809edc0: edd3 7a00 vldr s15, [r3] 809edc4: e007 b.n 809edd6 809edc6: 6d3b ldr r3, [r7, #80] ; 0x50 809edc8: 4a7e ldr r2, [pc, #504] ; (809efc4 ) 809edca: 009b lsls r3, r3, #2 809edcc: 4413 add r3, r2 809edce: edd3 7a00 vldr s15, [r3] 809edd2: eef1 7a67 vneg.f32 s15, s15 809edd6: edc7 7a11 vstr s15, [r7, #68] ; 0x44 k = (uint32_t) (roundf(f * 10 + 0.5f)); 809edda: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809edde: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 809ede2: ee67 7a87 vmul.f32 s15, s15, s14 809ede6: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 809edea: ee77 7a87 vadd.f32 s15, s15, s14 809edee: eeb0 0a67 vmov.f32 s0, s15 809edf2: f02b ff2b bl 80cac4c 809edf6: eef0 7a40 vmov.f32 s15, s0 809edfa: eefc 7ae7 vcvt.u32.f32 s15, s15 809edfe: ee17 3a90 vmov r3, s15 809ee02: 65bb str r3, [r7, #88] ; 0x58 if(f < 10.0f) 809ee04: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809ee08: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 809ee0c: eef4 7ac7 vcmpe.f32 s15, s14 809ee10: eef1 fa10 vmrs APSR_nzcv, fpscr 809ee14: f140 80e2 bpl.w 809efdc ik[ipr][0] = (uint8_t) (k / 10); 809ee18: 6d3a ldr r2, [r7, #80] ; 0x50 809ee1a: 6dbb ldr r3, [r7, #88] ; 0x58 809ee1c: 496a ldr r1, [pc, #424] ; (809efc8 ) 809ee1e: fba1 1303 umull r1, r3, r1, r3 809ee22: 08db lsrs r3, r3, #3 809ee24: b2d9 uxtb r1, r3 809ee26: 4613 mov r3, r2 809ee28: 009b lsls r3, r3, #2 809ee2a: 4413 add r3, r2 809ee2c: f107 0268 add.w r2, r7, #104 ; 0x68 809ee30: 4413 add r3, r2 809ee32: 3b34 subs r3, #52 ; 0x34 809ee34: 460a mov r2, r1 809ee36: 701a strb r2, [r3, #0] ik[ipr][1] = (uint8_t) (k % 10); 809ee38: 6d38 ldr r0, [r7, #80] ; 0x50 809ee3a: 6db9 ldr r1, [r7, #88] ; 0x58 809ee3c: 4b62 ldr r3, [pc, #392] ; (809efc8 ) 809ee3e: fba3 2301 umull r2, r3, r3, r1 809ee42: 08da lsrs r2, r3, #3 809ee44: 4613 mov r3, r2 809ee46: 009b lsls r3, r3, #2 809ee48: 4413 add r3, r2 809ee4a: 005b lsls r3, r3, #1 809ee4c: 1aca subs r2, r1, r3 809ee4e: b2d2 uxtb r2, r2 809ee50: 4603 mov r3, r0 809ee52: 009b lsls r3, r3, #2 809ee54: 4403 add r3, r0 809ee56: f107 0168 add.w r1, r7, #104 ; 0x68 809ee5a: 440b add r3, r1 809ee5c: 3b33 subs r3, #51 ; 0x33 809ee5e: 701a strb r2, [r3, #0] if(ipr == ACC) 809ee60: 6d3b ldr r3, [r7, #80] ; 0x50 809ee62: 2b00 cmp r3, #0 809ee64: d131 bne.n 809eeca DrawImage(NUMS[ik[ipr][1]], 110 + 30*4, 68+18); 809ee66: 6d3a ldr r2, [r7, #80] ; 0x50 809ee68: 4613 mov r3, r2 809ee6a: 009b lsls r3, r3, #2 809ee6c: 4413 add r3, r2 809ee6e: f107 0268 add.w r2, r7, #104 ; 0x68 809ee72: 4413 add r3, r2 809ee74: 3b33 subs r3, #51 ; 0x33 809ee76: 781b ldrb r3, [r3, #0] 809ee78: b2db uxtb r3, r3 809ee7a: 461a mov r2, r3 809ee7c: 4b53 ldr r3, [pc, #332] ; (809efcc ) 809ee7e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809ee82: 2256 movs r2, #86 ; 0x56 809ee84: 21e6 movs r1, #230 ; 0xe6 809ee86: 4618 mov r0, r3 809ee88: f7b5 fb84 bl 8054594 DrawImage(&bmgpt, 95 + 30*4, 92+18); 809ee8c: 226e movs r2, #110 ; 0x6e 809ee8e: 21d7 movs r1, #215 ; 0xd7 809ee90: 484f ldr r0, [pc, #316] ; (809efd0 ) 809ee92: f7b5 fb7f bl 8054594 DrawImage(NUMS[ik[ipr][0]], 90 + 30*3, 68+18); 809ee96: 6d3a ldr r2, [r7, #80] ; 0x50 809ee98: 4613 mov r3, r2 809ee9a: 009b lsls r3, r3, #2 809ee9c: 4413 add r3, r2 809ee9e: f107 0268 add.w r2, r7, #104 ; 0x68 809eea2: 4413 add r3, r2 809eea4: 3b34 subs r3, #52 ; 0x34 809eea6: 781b ldrb r3, [r3, #0] 809eea8: b2db uxtb r3, r3 809eeaa: 461a mov r2, r3 809eeac: 4b47 ldr r3, [pc, #284] ; (809efcc ) 809eeae: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809eeb2: 2256 movs r2, #86 ; 0x56 809eeb4: 21b4 movs r1, #180 ; 0xb4 809eeb6: 4618 mov r0, r3 809eeb8: f7b5 fb6c bl 8054594 DrawImage(&bmg_dB, 265, 74+18); 809eebc: 225c movs r2, #92 ; 0x5c 809eebe: f240 1109 movw r1, #265 ; 0x109 809eec2: 4844 ldr r0, [pc, #272] ; (809efd4 ) 809eec4: f7b5 fb66 bl 8054594 809eec8: e395 b.n 809f5f6 if(ipr == VEL) 809eeca: 6d3b ldr r3, [r7, #80] ; 0x50 809eecc: 2b01 cmp r3, #1 809eece: d131 bne.n 809ef34 DrawImage(NUMS[ik[ipr][1]], 110 + 30*4, 121+9); 809eed0: 6d3a ldr r2, [r7, #80] ; 0x50 809eed2: 4613 mov r3, r2 809eed4: 009b lsls r3, r3, #2 809eed6: 4413 add r3, r2 809eed8: f107 0268 add.w r2, r7, #104 ; 0x68 809eedc: 4413 add r3, r2 809eede: 3b33 subs r3, #51 ; 0x33 809eee0: 781b ldrb r3, [r3, #0] 809eee2: b2db uxtb r3, r3 809eee4: 461a mov r2, r3 809eee6: 4b39 ldr r3, [pc, #228] ; (809efcc ) 809eee8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809eeec: 2282 movs r2, #130 ; 0x82 809eeee: 21e6 movs r1, #230 ; 0xe6 809eef0: 4618 mov r0, r3 809eef2: f7b5 fb4f bl 8054594 DrawImage(&bmgpt, 95 + 30*4, 145+9); 809eef6: 229a movs r2, #154 ; 0x9a 809eef8: 21d7 movs r1, #215 ; 0xd7 809eefa: 4835 ldr r0, [pc, #212] ; (809efd0 ) 809eefc: f7b5 fb4a bl 8054594 DrawImage(NUMS[ik[ipr][0]], 90 + 30*3, 121+9); 809ef00: 6d3a ldr r2, [r7, #80] ; 0x50 809ef02: 4613 mov r3, r2 809ef04: 009b lsls r3, r3, #2 809ef06: 4413 add r3, r2 809ef08: f107 0268 add.w r2, r7, #104 ; 0x68 809ef0c: 4413 add r3, r2 809ef0e: 3b34 subs r3, #52 ; 0x34 809ef10: 781b ldrb r3, [r3, #0] 809ef12: b2db uxtb r3, r3 809ef14: 461a mov r2, r3 809ef16: 4b2d ldr r3, [pc, #180] ; (809efcc ) 809ef18: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809ef1c: 2282 movs r2, #130 ; 0x82 809ef1e: 21b4 movs r1, #180 ; 0xb4 809ef20: 4618 mov r0, r3 809ef22: f7b5 fb37 bl 8054594 DrawImage(&bmg_dB, 265, 128+9); 809ef26: 2289 movs r2, #137 ; 0x89 809ef28: f240 1109 movw r1, #265 ; 0x109 809ef2c: 4829 ldr r0, [pc, #164] ; (809efd4 ) 809ef2e: f7b5 fb31 bl 8054594 809ef32: e360 b.n 809f5f6 if(ipr == DIS) 809ef34: 6d3b ldr r3, [r7, #80] ; 0x50 809ef36: 2b02 cmp r3, #2 809ef38: f040 835d bne.w 809f5f6 DrawImage(NUMS[ik[ipr][1]], 110 + 30*4, 174); 809ef3c: 6d3a ldr r2, [r7, #80] ; 0x50 809ef3e: 4613 mov r3, r2 809ef40: 009b lsls r3, r3, #2 809ef42: 4413 add r3, r2 809ef44: f107 0268 add.w r2, r7, #104 ; 0x68 809ef48: 4413 add r3, r2 809ef4a: 3b33 subs r3, #51 ; 0x33 809ef4c: 781b ldrb r3, [r3, #0] 809ef4e: b2db uxtb r3, r3 809ef50: 461a mov r2, r3 809ef52: 4b1e ldr r3, [pc, #120] ; (809efcc ) 809ef54: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809ef58: 22ae movs r2, #174 ; 0xae 809ef5a: 21e6 movs r1, #230 ; 0xe6 809ef5c: 4618 mov r0, r3 809ef5e: f7b5 fb19 bl 8054594 DrawImage(&bmgpt, 95 + 30*4, 198); 809ef62: 22c6 movs r2, #198 ; 0xc6 809ef64: 21d7 movs r1, #215 ; 0xd7 809ef66: 481a ldr r0, [pc, #104] ; (809efd0 ) 809ef68: f7b5 fb14 bl 8054594 DrawImage(NUMS[ik[ipr][0]], 90 + 30*3, 174); 809ef6c: 6d3a ldr r2, [r7, #80] ; 0x50 809ef6e: 4613 mov r3, r2 809ef70: 009b lsls r3, r3, #2 809ef72: 4413 add r3, r2 809ef74: f107 0268 add.w r2, r7, #104 ; 0x68 809ef78: 4413 add r3, r2 809ef7a: 3b34 subs r3, #52 ; 0x34 809ef7c: 781b ldrb r3, [r3, #0] 809ef7e: b2db uxtb r3, r3 809ef80: 461a mov r2, r3 809ef82: 4b12 ldr r3, [pc, #72] ; (809efcc ) 809ef84: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809ef88: 22ae movs r2, #174 ; 0xae 809ef8a: 21b4 movs r1, #180 ; 0xb4 809ef8c: 4618 mov r0, r3 809ef8e: f7b5 fb01 bl 8054594 DrawImage(&bmg_dB, 265, 180); 809ef92: 22b4 movs r2, #180 ; 0xb4 809ef94: f240 1109 movw r1, #265 ; 0x109 809ef98: 480e ldr r0, [pc, #56] ; (809efd4 ) 809ef9a: f7b5 fafb bl 8054594 809ef9e: e32a b.n 809f5f6 809efa0: 20023e60 .word 0x20023e60 809efa4: 20020114 .word 0x20020114 809efa8: 2002011c .word 0x2002011c 809efac: 20021540 .word 0x20021540 809efb0: 08167990 .word 0x08167990 809efb4: ff0a0f1f .word 0xff0a0f1f 809efb8: ffb8e828 .word 0xffb8e828 809efbc: 080cfaf4 .word 0x080cfaf4 809efc0: 080cfb00 .word 0x080cfb00 809efc4: 2002154c .word 0x2002154c 809efc8: cccccccd .word 0xcccccccd 809efcc: 20020124 .word 0x20020124 809efd0: 08167a1c .word 0x08167a1c 809efd4: 08162c68 .word 0x08162c68 809efd8: 42c80000 .word 0x42c80000 if(f < 100.0f) 809efdc: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809efe0: ed1f 7a03 vldr s14, [pc, #-12] ; 809efd8 809efe4: eef4 7ac7 vcmpe.f32 s15, s14 809efe8: eef1 fa10 vmrs APSR_nzcv, fpscr 809efec: f140 8128 bpl.w 809f240 ik[ipr][0] = (uint8_t) (k / 100); 809eff0: 6d3a ldr r2, [r7, #80] ; 0x50 809eff2: 6dbb ldr r3, [r7, #88] ; 0x58 809eff4: 498c ldr r1, [pc, #560] ; (809f228 ) 809eff6: fba1 1303 umull r1, r3, r1, r3 809effa: 095b lsrs r3, r3, #5 809effc: b2d9 uxtb r1, r3 809effe: 4613 mov r3, r2 809f000: 009b lsls r3, r3, #2 809f002: 4413 add r3, r2 809f004: f107 0268 add.w r2, r7, #104 ; 0x68 809f008: 4413 add r3, r2 809f00a: 3b34 subs r3, #52 ; 0x34 809f00c: 460a mov r2, r1 809f00e: 701a strb r2, [r3, #0] ik[ipr][1] = (uint8_t) (k % 100 / 10); 809f010: 6d39 ldr r1, [r7, #80] ; 0x50 809f012: 6dba ldr r2, [r7, #88] ; 0x58 809f014: 4b84 ldr r3, [pc, #528] ; (809f228 ) 809f016: fba3 0302 umull r0, r3, r3, r2 809f01a: 095b lsrs r3, r3, #5 809f01c: 2064 movs r0, #100 ; 0x64 809f01e: fb00 f303 mul.w r3, r0, r3 809f022: 1ad3 subs r3, r2, r3 809f024: 4a81 ldr r2, [pc, #516] ; (809f22c ) 809f026: fba2 2303 umull r2, r3, r2, r3 809f02a: 08db lsrs r3, r3, #3 809f02c: b2da uxtb r2, r3 809f02e: 460b mov r3, r1 809f030: 009b lsls r3, r3, #2 809f032: 440b add r3, r1 809f034: f107 0168 add.w r1, r7, #104 ; 0x68 809f038: 440b add r3, r1 809f03a: 3b33 subs r3, #51 ; 0x33 809f03c: 701a strb r2, [r3, #0] ik[ipr][2] = (uint8_t) (k % 100 % 10); 809f03e: 6d38 ldr r0, [r7, #80] ; 0x50 809f040: 6dbb ldr r3, [r7, #88] ; 0x58 809f042: 4a79 ldr r2, [pc, #484] ; (809f228 ) 809f044: fba2 1203 umull r1, r2, r2, r3 809f048: 0952 lsrs r2, r2, #5 809f04a: 2164 movs r1, #100 ; 0x64 809f04c: fb01 f202 mul.w r2, r1, r2 809f050: 1a9a subs r2, r3, r2 809f052: 4b76 ldr r3, [pc, #472] ; (809f22c ) 809f054: fba3 1302 umull r1, r3, r3, r2 809f058: 08d9 lsrs r1, r3, #3 809f05a: 460b mov r3, r1 809f05c: 009b lsls r3, r3, #2 809f05e: 440b add r3, r1 809f060: 005b lsls r3, r3, #1 809f062: 1ad1 subs r1, r2, r3 809f064: b2ca uxtb r2, r1 809f066: 4603 mov r3, r0 809f068: 009b lsls r3, r3, #2 809f06a: 4403 add r3, r0 809f06c: f107 0168 add.w r1, r7, #104 ; 0x68 809f070: 440b add r3, r1 809f072: 3b32 subs r3, #50 ; 0x32 809f074: 701a strb r2, [r3, #0] if(ipr == ACC) 809f076: 6d3b ldr r3, [r7, #80] ; 0x50 809f078: 2b00 cmp r3, #0 809f07a: d144 bne.n 809f106 DrawImage(NUMS[ik[ipr][2]], 110 + 30*4, 68+18); 809f07c: 6d3a ldr r2, [r7, #80] ; 0x50 809f07e: 4613 mov r3, r2 809f080: 009b lsls r3, r3, #2 809f082: 4413 add r3, r2 809f084: f107 0268 add.w r2, r7, #104 ; 0x68 809f088: 4413 add r3, r2 809f08a: 3b32 subs r3, #50 ; 0x32 809f08c: 781b ldrb r3, [r3, #0] 809f08e: b2db uxtb r3, r3 809f090: 461a mov r2, r3 809f092: 4b67 ldr r3, [pc, #412] ; (809f230 ) 809f094: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809f098: 2256 movs r2, #86 ; 0x56 809f09a: 21e6 movs r1, #230 ; 0xe6 809f09c: 4618 mov r0, r3 809f09e: f7b5 fa79 bl 8054594 DrawImage(&bmgpt, 95 + 30*4, 92+18); 809f0a2: 226e movs r2, #110 ; 0x6e 809f0a4: 21d7 movs r1, #215 ; 0xd7 809f0a6: 4863 ldr r0, [pc, #396] ; (809f234 ) 809f0a8: f7b5 fa74 bl 8054594 DrawImage(NUMS[ik[ipr][1]], 90 + 30*3, 68+18); 809f0ac: 6d3a ldr r2, [r7, #80] ; 0x50 809f0ae: 4613 mov r3, r2 809f0b0: 009b lsls r3, r3, #2 809f0b2: 4413 add r3, r2 809f0b4: f107 0268 add.w r2, r7, #104 ; 0x68 809f0b8: 4413 add r3, r2 809f0ba: 3b33 subs r3, #51 ; 0x33 809f0bc: 781b ldrb r3, [r3, #0] 809f0be: b2db uxtb r3, r3 809f0c0: 461a mov r2, r3 809f0c2: 4b5b ldr r3, [pc, #364] ; (809f230 ) 809f0c4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809f0c8: 2256 movs r2, #86 ; 0x56 809f0ca: 21b4 movs r1, #180 ; 0xb4 809f0cc: 4618 mov r0, r3 809f0ce: f7b5 fa61 bl 8054594 DrawImage(NUMS[ik[ipr][0]], 90 + 30*2, 68+18); 809f0d2: 6d3a ldr r2, [r7, #80] ; 0x50 809f0d4: 4613 mov r3, r2 809f0d6: 009b lsls r3, r3, #2 809f0d8: 4413 add r3, r2 809f0da: f107 0268 add.w r2, r7, #104 ; 0x68 809f0de: 4413 add r3, r2 809f0e0: 3b34 subs r3, #52 ; 0x34 809f0e2: 781b ldrb r3, [r3, #0] 809f0e4: b2db uxtb r3, r3 809f0e6: 461a mov r2, r3 809f0e8: 4b51 ldr r3, [pc, #324] ; (809f230 ) 809f0ea: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809f0ee: 2256 movs r2, #86 ; 0x56 809f0f0: 2196 movs r1, #150 ; 0x96 809f0f2: 4618 mov r0, r3 809f0f4: f7b5 fa4e bl 8054594 DrawImage(&bmg_dB, 265, 74+18); 809f0f8: 225c movs r2, #92 ; 0x5c 809f0fa: f240 1109 movw r1, #265 ; 0x109 809f0fe: 484e ldr r0, [pc, #312] ; (809f238 ) 809f100: f7b5 fa48 bl 8054594 809f104: e277 b.n 809f5f6 if(ipr == VEL) 809f106: 6d3b ldr r3, [r7, #80] ; 0x50 809f108: 2b01 cmp r3, #1 809f10a: d144 bne.n 809f196 DrawImage(NUMS[ik[ipr][2]], 110 + 30*4, 121+9); 809f10c: 6d3a ldr r2, [r7, #80] ; 0x50 809f10e: 4613 mov r3, r2 809f110: 009b lsls r3, r3, #2 809f112: 4413 add r3, r2 809f114: f107 0268 add.w r2, r7, #104 ; 0x68 809f118: 4413 add r3, r2 809f11a: 3b32 subs r3, #50 ; 0x32 809f11c: 781b ldrb r3, [r3, #0] 809f11e: b2db uxtb r3, r3 809f120: 461a mov r2, r3 809f122: 4b43 ldr r3, [pc, #268] ; (809f230 ) 809f124: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809f128: 2282 movs r2, #130 ; 0x82 809f12a: 21e6 movs r1, #230 ; 0xe6 809f12c: 4618 mov r0, r3 809f12e: f7b5 fa31 bl 8054594 DrawImage(&bmgpt, 95 + 30*4, 145+9); 809f132: 229a movs r2, #154 ; 0x9a 809f134: 21d7 movs r1, #215 ; 0xd7 809f136: 483f ldr r0, [pc, #252] ; (809f234 ) 809f138: f7b5 fa2c bl 8054594 DrawImage(NUMS[ik[ipr][1]], 90 + 30*3, 121+9); 809f13c: 6d3a ldr r2, [r7, #80] ; 0x50 809f13e: 4613 mov r3, r2 809f140: 009b lsls r3, r3, #2 809f142: 4413 add r3, r2 809f144: f107 0268 add.w r2, r7, #104 ; 0x68 809f148: 4413 add r3, r2 809f14a: 3b33 subs r3, #51 ; 0x33 809f14c: 781b ldrb r3, [r3, #0] 809f14e: b2db uxtb r3, r3 809f150: 461a mov r2, r3 809f152: 4b37 ldr r3, [pc, #220] ; (809f230 ) 809f154: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809f158: 2282 movs r2, #130 ; 0x82 809f15a: 21b4 movs r1, #180 ; 0xb4 809f15c: 4618 mov r0, r3 809f15e: f7b5 fa19 bl 8054594 DrawImage(NUMS[ik[ipr][0]], 90 + 30*2, 121+9); 809f162: 6d3a ldr r2, [r7, #80] ; 0x50 809f164: 4613 mov r3, r2 809f166: 009b lsls r3, r3, #2 809f168: 4413 add r3, r2 809f16a: f107 0268 add.w r2, r7, #104 ; 0x68 809f16e: 4413 add r3, r2 809f170: 3b34 subs r3, #52 ; 0x34 809f172: 781b ldrb r3, [r3, #0] 809f174: b2db uxtb r3, r3 809f176: 461a mov r2, r3 809f178: 4b2d ldr r3, [pc, #180] ; (809f230 ) 809f17a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809f17e: 2282 movs r2, #130 ; 0x82 809f180: 2196 movs r1, #150 ; 0x96 809f182: 4618 mov r0, r3 809f184: f7b5 fa06 bl 8054594 DrawImage(&bmg_dB, 265, 128+9); 809f188: 2289 movs r2, #137 ; 0x89 809f18a: f240 1109 movw r1, #265 ; 0x109 809f18e: 482a ldr r0, [pc, #168] ; (809f238 ) 809f190: f7b5 fa00 bl 8054594 809f194: e22f b.n 809f5f6 if(ipr == DIS) 809f196: 6d3b ldr r3, [r7, #80] ; 0x50 809f198: 2b02 cmp r3, #2 809f19a: f040 822c bne.w 809f5f6 DrawImage(NUMS[ik[ipr][2]], 110 + 30*4, 174); 809f19e: 6d3a ldr r2, [r7, #80] ; 0x50 809f1a0: 4613 mov r3, r2 809f1a2: 009b lsls r3, r3, #2 809f1a4: 4413 add r3, r2 809f1a6: f107 0268 add.w r2, r7, #104 ; 0x68 809f1aa: 4413 add r3, r2 809f1ac: 3b32 subs r3, #50 ; 0x32 809f1ae: 781b ldrb r3, [r3, #0] 809f1b0: b2db uxtb r3, r3 809f1b2: 461a mov r2, r3 809f1b4: 4b1e ldr r3, [pc, #120] ; (809f230 ) 809f1b6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809f1ba: 22ae movs r2, #174 ; 0xae 809f1bc: 21e6 movs r1, #230 ; 0xe6 809f1be: 4618 mov r0, r3 809f1c0: f7b5 f9e8 bl 8054594 DrawImage(&bmgpt, 95 + 30*4, 198); 809f1c4: 22c6 movs r2, #198 ; 0xc6 809f1c6: 21d7 movs r1, #215 ; 0xd7 809f1c8: 481a ldr r0, [pc, #104] ; (809f234 ) 809f1ca: f7b5 f9e3 bl 8054594 DrawImage(NUMS[ik[ipr][1]], 90 + 30*3, 174); 809f1ce: 6d3a ldr r2, [r7, #80] ; 0x50 809f1d0: 4613 mov r3, r2 809f1d2: 009b lsls r3, r3, #2 809f1d4: 4413 add r3, r2 809f1d6: f107 0268 add.w r2, r7, #104 ; 0x68 809f1da: 4413 add r3, r2 809f1dc: 3b33 subs r3, #51 ; 0x33 809f1de: 781b ldrb r3, [r3, #0] 809f1e0: b2db uxtb r3, r3 809f1e2: 461a mov r2, r3 809f1e4: 4b12 ldr r3, [pc, #72] ; (809f230 ) 809f1e6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809f1ea: 22ae movs r2, #174 ; 0xae 809f1ec: 21b4 movs r1, #180 ; 0xb4 809f1ee: 4618 mov r0, r3 809f1f0: f7b5 f9d0 bl 8054594 DrawImage(NUMS[ik[ipr][0]], 90 + 30*2, 174); 809f1f4: 6d3a ldr r2, [r7, #80] ; 0x50 809f1f6: 4613 mov r3, r2 809f1f8: 009b lsls r3, r3, #2 809f1fa: 4413 add r3, r2 809f1fc: f107 0268 add.w r2, r7, #104 ; 0x68 809f200: 4413 add r3, r2 809f202: 3b34 subs r3, #52 ; 0x34 809f204: 781b ldrb r3, [r3, #0] 809f206: b2db uxtb r3, r3 809f208: 461a mov r2, r3 809f20a: 4b09 ldr r3, [pc, #36] ; (809f230 ) 809f20c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809f210: 22ae movs r2, #174 ; 0xae 809f212: 2196 movs r1, #150 ; 0x96 809f214: 4618 mov r0, r3 809f216: f7b5 f9bd bl 8054594 DrawImage(&bmg_dB, 265, 180); 809f21a: 22b4 movs r2, #180 ; 0xb4 809f21c: f240 1109 movw r1, #265 ; 0x109 809f220: 4805 ldr r0, [pc, #20] ; (809f238 ) 809f222: f7b5 f9b7 bl 8054594 809f226: e1e6 b.n 809f5f6 809f228: 51eb851f .word 0x51eb851f 809f22c: cccccccd .word 0xcccccccd 809f230: 20020124 .word 0x20020124 809f234: 08167a1c .word 0x08167a1c 809f238: 08162c68 .word 0x08162c68 809f23c: 447a0000 .word 0x447a0000 if(f < 1000.0f) 809f240: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809f244: ed1f 7a03 vldr s14, [pc, #-12] ; 809f23c 809f248: eef4 7ac7 vcmpe.f32 s15, s14 809f24c: eef1 fa10 vmrs APSR_nzcv, fpscr 809f250: f140 81d1 bpl.w 809f5f6 ik[ipr][0] = (uint8_t) (k / 1000); 809f254: 6d3a ldr r2, [r7, #80] ; 0x50 809f256: 6dbb ldr r3, [r7, #88] ; 0x58 809f258: 49cf ldr r1, [pc, #828] ; (809f598 ) 809f25a: fba1 1303 umull r1, r3, r1, r3 809f25e: 099b lsrs r3, r3, #6 809f260: b2d9 uxtb r1, r3 809f262: 4613 mov r3, r2 809f264: 009b lsls r3, r3, #2 809f266: 4413 add r3, r2 809f268: f107 0268 add.w r2, r7, #104 ; 0x68 809f26c: 4413 add r3, r2 809f26e: 3b34 subs r3, #52 ; 0x34 809f270: 460a mov r2, r1 809f272: 701a strb r2, [r3, #0] ik[ipr][1] = (uint8_t) (k % 1000 / 100); 809f274: 6d39 ldr r1, [r7, #80] ; 0x50 809f276: 6dba ldr r2, [r7, #88] ; 0x58 809f278: 4bc7 ldr r3, [pc, #796] ; (809f598 ) 809f27a: fba3 0302 umull r0, r3, r3, r2 809f27e: 099b lsrs r3, r3, #6 809f280: f44f 707a mov.w r0, #1000 ; 0x3e8 809f284: fb00 f303 mul.w r3, r0, r3 809f288: 1ad3 subs r3, r2, r3 809f28a: 4ac4 ldr r2, [pc, #784] ; (809f59c ) 809f28c: fba2 2303 umull r2, r3, r2, r3 809f290: 095b lsrs r3, r3, #5 809f292: b2da uxtb r2, r3 809f294: 460b mov r3, r1 809f296: 009b lsls r3, r3, #2 809f298: 440b add r3, r1 809f29a: f107 0168 add.w r1, r7, #104 ; 0x68 809f29e: 440b add r3, r1 809f2a0: 3b33 subs r3, #51 ; 0x33 809f2a2: 701a strb r2, [r3, #0] ik[ipr][2] = (uint8_t) (k % 1000 % 100 / 10); 809f2a4: 6d39 ldr r1, [r7, #80] ; 0x50 809f2a6: 6dba ldr r2, [r7, #88] ; 0x58 809f2a8: 4bbb ldr r3, [pc, #748] ; (809f598 ) 809f2aa: fba3 0302 umull r0, r3, r3, r2 809f2ae: 099b lsrs r3, r3, #6 809f2b0: f44f 707a mov.w r0, #1000 ; 0x3e8 809f2b4: fb00 f303 mul.w r3, r0, r3 809f2b8: 1ad3 subs r3, r2, r3 809f2ba: 4ab8 ldr r2, [pc, #736] ; (809f59c ) 809f2bc: fba2 0203 umull r0, r2, r2, r3 809f2c0: 0952 lsrs r2, r2, #5 809f2c2: 2064 movs r0, #100 ; 0x64 809f2c4: fb00 f202 mul.w r2, r0, r2 809f2c8: 1a9a subs r2, r3, r2 809f2ca: 4bb5 ldr r3, [pc, #724] ; (809f5a0 ) 809f2cc: fba3 2302 umull r2, r3, r3, r2 809f2d0: 08db lsrs r3, r3, #3 809f2d2: b2da uxtb r2, r3 809f2d4: 460b mov r3, r1 809f2d6: 009b lsls r3, r3, #2 809f2d8: 440b add r3, r1 809f2da: f107 0168 add.w r1, r7, #104 ; 0x68 809f2de: 440b add r3, r1 809f2e0: 3b32 subs r3, #50 ; 0x32 809f2e2: 701a strb r2, [r3, #0] ik[ipr][3] = (uint8_t) (k % 1000 % 100 % 10); 809f2e4: 6d38 ldr r0, [r7, #80] ; 0x50 809f2e6: 6dba ldr r2, [r7, #88] ; 0x58 809f2e8: 4bab ldr r3, [pc, #684] ; (809f598 ) 809f2ea: fba3 1302 umull r1, r3, r3, r2 809f2ee: 099b lsrs r3, r3, #6 809f2f0: f44f 717a mov.w r1, #1000 ; 0x3e8 809f2f4: fb01 f303 mul.w r3, r1, r3 809f2f8: 1ad3 subs r3, r2, r3 809f2fa: 4aa8 ldr r2, [pc, #672] ; (809f59c ) 809f2fc: fba2 1203 umull r1, r2, r2, r3 809f300: 0952 lsrs r2, r2, #5 809f302: 2164 movs r1, #100 ; 0x64 809f304: fb01 f202 mul.w r2, r1, r2 809f308: 1a9a subs r2, r3, r2 809f30a: 4ba5 ldr r3, [pc, #660] ; (809f5a0 ) 809f30c: fba3 1302 umull r1, r3, r3, r2 809f310: 08d9 lsrs r1, r3, #3 809f312: 460b mov r3, r1 809f314: 009b lsls r3, r3, #2 809f316: 440b add r3, r1 809f318: 005b lsls r3, r3, #1 809f31a: 1ad1 subs r1, r2, r3 809f31c: b2ca uxtb r2, r1 809f31e: 4603 mov r3, r0 809f320: 009b lsls r3, r3, #2 809f322: 4403 add r3, r0 809f324: f107 0168 add.w r1, r7, #104 ; 0x68 809f328: 440b add r3, r1 809f32a: 3b31 subs r3, #49 ; 0x31 809f32c: 701a strb r2, [r3, #0] if(ipr == ACC) 809f32e: 6d3b ldr r3, [r7, #80] ; 0x50 809f330: 2b00 cmp r3, #0 809f332: d157 bne.n 809f3e4 DrawImage(NUMS[ik[ipr][3]], 110 + 30*4, 68+18); 809f334: 6d3a ldr r2, [r7, #80] ; 0x50 809f336: 4613 mov r3, r2 809f338: 009b lsls r3, r3, #2 809f33a: 4413 add r3, r2 809f33c: f107 0268 add.w r2, r7, #104 ; 0x68 809f340: 4413 add r3, r2 809f342: 3b31 subs r3, #49 ; 0x31 809f344: 781b ldrb r3, [r3, #0] 809f346: b2db uxtb r3, r3 809f348: 461a mov r2, r3 809f34a: 4b96 ldr r3, [pc, #600] ; (809f5a4 ) 809f34c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809f350: 2256 movs r2, #86 ; 0x56 809f352: 21e6 movs r1, #230 ; 0xe6 809f354: 4618 mov r0, r3 809f356: f7b5 f91d bl 8054594 DrawImage(&bmgpt, 95 + 30*4, 92+18); 809f35a: 226e movs r2, #110 ; 0x6e 809f35c: 21d7 movs r1, #215 ; 0xd7 809f35e: 4892 ldr r0, [pc, #584] ; (809f5a8 ) 809f360: f7b5 f918 bl 8054594 DrawImage(NUMS[ik[ipr][2]], 90 + 30*3, 68+18); 809f364: 6d3a ldr r2, [r7, #80] ; 0x50 809f366: 4613 mov r3, r2 809f368: 009b lsls r3, r3, #2 809f36a: 4413 add r3, r2 809f36c: f107 0268 add.w r2, r7, #104 ; 0x68 809f370: 4413 add r3, r2 809f372: 3b32 subs r3, #50 ; 0x32 809f374: 781b ldrb r3, [r3, #0] 809f376: b2db uxtb r3, r3 809f378: 461a mov r2, r3 809f37a: 4b8a ldr r3, [pc, #552] ; (809f5a4 ) 809f37c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809f380: 2256 movs r2, #86 ; 0x56 809f382: 21b4 movs r1, #180 ; 0xb4 809f384: 4618 mov r0, r3 809f386: f7b5 f905 bl 8054594 DrawImage(NUMS[ik[ipr][1]], 90 + 30*2, 68+18); 809f38a: 6d3a ldr r2, [r7, #80] ; 0x50 809f38c: 4613 mov r3, r2 809f38e: 009b lsls r3, r3, #2 809f390: 4413 add r3, r2 809f392: f107 0268 add.w r2, r7, #104 ; 0x68 809f396: 4413 add r3, r2 809f398: 3b33 subs r3, #51 ; 0x33 809f39a: 781b ldrb r3, [r3, #0] 809f39c: b2db uxtb r3, r3 809f39e: 461a mov r2, r3 809f3a0: 4b80 ldr r3, [pc, #512] ; (809f5a4 ) 809f3a2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809f3a6: 2256 movs r2, #86 ; 0x56 809f3a8: 2196 movs r1, #150 ; 0x96 809f3aa: 4618 mov r0, r3 809f3ac: f7b5 f8f2 bl 8054594 DrawImage(NUMS[ik[ipr][0]], 90 + 30*1, 68+18); 809f3b0: 6d3a ldr r2, [r7, #80] ; 0x50 809f3b2: 4613 mov r3, r2 809f3b4: 009b lsls r3, r3, #2 809f3b6: 4413 add r3, r2 809f3b8: f107 0268 add.w r2, r7, #104 ; 0x68 809f3bc: 4413 add r3, r2 809f3be: 3b34 subs r3, #52 ; 0x34 809f3c0: 781b ldrb r3, [r3, #0] 809f3c2: b2db uxtb r3, r3 809f3c4: 461a mov r2, r3 809f3c6: 4b77 ldr r3, [pc, #476] ; (809f5a4 ) 809f3c8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809f3cc: 2256 movs r2, #86 ; 0x56 809f3ce: 2178 movs r1, #120 ; 0x78 809f3d0: 4618 mov r0, r3 809f3d2: f7b5 f8df bl 8054594 DrawImage(&bmg_dB, 265, 74+18); 809f3d6: 225c movs r2, #92 ; 0x5c 809f3d8: f240 1109 movw r1, #265 ; 0x109 809f3dc: 4873 ldr r0, [pc, #460] ; (809f5ac ) 809f3de: f7b5 f8d9 bl 8054594 809f3e2: e108 b.n 809f5f6 if(ipr == VEL) 809f3e4: 6d3b ldr r3, [r7, #80] ; 0x50 809f3e6: 2b01 cmp r3, #1 809f3e8: d157 bne.n 809f49a DrawImage(NUMS[ik[ipr][3]], 110 + 30*4, 121+9); 809f3ea: 6d3a ldr r2, [r7, #80] ; 0x50 809f3ec: 4613 mov r3, r2 809f3ee: 009b lsls r3, r3, #2 809f3f0: 4413 add r3, r2 809f3f2: f107 0268 add.w r2, r7, #104 ; 0x68 809f3f6: 4413 add r3, r2 809f3f8: 3b31 subs r3, #49 ; 0x31 809f3fa: 781b ldrb r3, [r3, #0] 809f3fc: b2db uxtb r3, r3 809f3fe: 461a mov r2, r3 809f400: 4b68 ldr r3, [pc, #416] ; (809f5a4 ) 809f402: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809f406: 2282 movs r2, #130 ; 0x82 809f408: 21e6 movs r1, #230 ; 0xe6 809f40a: 4618 mov r0, r3 809f40c: f7b5 f8c2 bl 8054594 DrawImage(&bmgpt, 95 + 30*4, 145+9); 809f410: 229a movs r2, #154 ; 0x9a 809f412: 21d7 movs r1, #215 ; 0xd7 809f414: 4864 ldr r0, [pc, #400] ; (809f5a8 ) 809f416: f7b5 f8bd bl 8054594 DrawImage(NUMS[ik[ipr][2]], 90 + 30*3, 121+9); 809f41a: 6d3a ldr r2, [r7, #80] ; 0x50 809f41c: 4613 mov r3, r2 809f41e: 009b lsls r3, r3, #2 809f420: 4413 add r3, r2 809f422: f107 0268 add.w r2, r7, #104 ; 0x68 809f426: 4413 add r3, r2 809f428: 3b32 subs r3, #50 ; 0x32 809f42a: 781b ldrb r3, [r3, #0] 809f42c: b2db uxtb r3, r3 809f42e: 461a mov r2, r3 809f430: 4b5c ldr r3, [pc, #368] ; (809f5a4 ) 809f432: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809f436: 2282 movs r2, #130 ; 0x82 809f438: 21b4 movs r1, #180 ; 0xb4 809f43a: 4618 mov r0, r3 809f43c: f7b5 f8aa bl 8054594 DrawImage(NUMS[ik[ipr][1]], 90 + 30*2, 121+9); 809f440: 6d3a ldr r2, [r7, #80] ; 0x50 809f442: 4613 mov r3, r2 809f444: 009b lsls r3, r3, #2 809f446: 4413 add r3, r2 809f448: f107 0268 add.w r2, r7, #104 ; 0x68 809f44c: 4413 add r3, r2 809f44e: 3b33 subs r3, #51 ; 0x33 809f450: 781b ldrb r3, [r3, #0] 809f452: b2db uxtb r3, r3 809f454: 461a mov r2, r3 809f456: 4b53 ldr r3, [pc, #332] ; (809f5a4 ) 809f458: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809f45c: 2282 movs r2, #130 ; 0x82 809f45e: 2196 movs r1, #150 ; 0x96 809f460: 4618 mov r0, r3 809f462: f7b5 f897 bl 8054594 DrawImage(NUMS[ik[ipr][0]], 90 + 30*1, 121+9); 809f466: 6d3a ldr r2, [r7, #80] ; 0x50 809f468: 4613 mov r3, r2 809f46a: 009b lsls r3, r3, #2 809f46c: 4413 add r3, r2 809f46e: f107 0268 add.w r2, r7, #104 ; 0x68 809f472: 4413 add r3, r2 809f474: 3b34 subs r3, #52 ; 0x34 809f476: 781b ldrb r3, [r3, #0] 809f478: b2db uxtb r3, r3 809f47a: 461a mov r2, r3 809f47c: 4b49 ldr r3, [pc, #292] ; (809f5a4 ) 809f47e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809f482: 2282 movs r2, #130 ; 0x82 809f484: 2178 movs r1, #120 ; 0x78 809f486: 4618 mov r0, r3 809f488: f7b5 f884 bl 8054594 DrawImage(&bmg_dB, 265, 128+9); 809f48c: 2289 movs r2, #137 ; 0x89 809f48e: f240 1109 movw r1, #265 ; 0x109 809f492: 4846 ldr r0, [pc, #280] ; (809f5ac ) 809f494: f7b5 f87e bl 8054594 809f498: e0ad b.n 809f5f6 if(ipr == DIS) 809f49a: 6d3b ldr r3, [r7, #80] ; 0x50 809f49c: 2b02 cmp r3, #2 809f49e: f040 80aa bne.w 809f5f6 DrawImage(NUMS[ik[ipr][3]], 110 + 30*4, 174); 809f4a2: 6d3a ldr r2, [r7, #80] ; 0x50 809f4a4: 4613 mov r3, r2 809f4a6: 009b lsls r3, r3, #2 809f4a8: 4413 add r3, r2 809f4aa: f107 0268 add.w r2, r7, #104 ; 0x68 809f4ae: 4413 add r3, r2 809f4b0: 3b31 subs r3, #49 ; 0x31 809f4b2: 781b ldrb r3, [r3, #0] 809f4b4: b2db uxtb r3, r3 809f4b6: 461a mov r2, r3 809f4b8: 4b3a ldr r3, [pc, #232] ; (809f5a4 ) 809f4ba: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809f4be: 22ae movs r2, #174 ; 0xae 809f4c0: 21e6 movs r1, #230 ; 0xe6 809f4c2: 4618 mov r0, r3 809f4c4: f7b5 f866 bl 8054594 DrawImage(&bmgpt, 95 + 30*4, 198); 809f4c8: 22c6 movs r2, #198 ; 0xc6 809f4ca: 21d7 movs r1, #215 ; 0xd7 809f4cc: 4836 ldr r0, [pc, #216] ; (809f5a8 ) 809f4ce: f7b5 f861 bl 8054594 DrawImage(NUMS[ik[ipr][2]], 90 + 30*3, 174); 809f4d2: 6d3a ldr r2, [r7, #80] ; 0x50 809f4d4: 4613 mov r3, r2 809f4d6: 009b lsls r3, r3, #2 809f4d8: 4413 add r3, r2 809f4da: f107 0268 add.w r2, r7, #104 ; 0x68 809f4de: 4413 add r3, r2 809f4e0: 3b32 subs r3, #50 ; 0x32 809f4e2: 781b ldrb r3, [r3, #0] 809f4e4: b2db uxtb r3, r3 809f4e6: 461a mov r2, r3 809f4e8: 4b2e ldr r3, [pc, #184] ; (809f5a4 ) 809f4ea: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809f4ee: 22ae movs r2, #174 ; 0xae 809f4f0: 21b4 movs r1, #180 ; 0xb4 809f4f2: 4618 mov r0, r3 809f4f4: f7b5 f84e bl 8054594 DrawImage(NUMS[ik[ipr][1]], 90 + 30*2, 174); 809f4f8: 6d3a ldr r2, [r7, #80] ; 0x50 809f4fa: 4613 mov r3, r2 809f4fc: 009b lsls r3, r3, #2 809f4fe: 4413 add r3, r2 809f500: f107 0268 add.w r2, r7, #104 ; 0x68 809f504: 4413 add r3, r2 809f506: 3b33 subs r3, #51 ; 0x33 809f508: 781b ldrb r3, [r3, #0] 809f50a: b2db uxtb r3, r3 809f50c: 461a mov r2, r3 809f50e: 4b25 ldr r3, [pc, #148] ; (809f5a4 ) 809f510: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809f514: 22ae movs r2, #174 ; 0xae 809f516: 2196 movs r1, #150 ; 0x96 809f518: 4618 mov r0, r3 809f51a: f7b5 f83b bl 8054594 DrawImage(NUMS[ik[ipr][0]], 90 + 30*1, 174); 809f51e: 6d3a ldr r2, [r7, #80] ; 0x50 809f520: 4613 mov r3, r2 809f522: 009b lsls r3, r3, #2 809f524: 4413 add r3, r2 809f526: f107 0268 add.w r2, r7, #104 ; 0x68 809f52a: 4413 add r3, r2 809f52c: 3b34 subs r3, #52 ; 0x34 809f52e: 781b ldrb r3, [r3, #0] 809f530: b2db uxtb r3, r3 809f532: 461a mov r2, r3 809f534: 4b1b ldr r3, [pc, #108] ; (809f5a4 ) 809f536: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809f53a: 22ae movs r2, #174 ; 0xae 809f53c: 2178 movs r1, #120 ; 0x78 809f53e: 4618 mov r0, r3 809f540: f7b5 f828 bl 8054594 DrawImage(&bmg_dB, 265, 180); 809f544: 22b4 movs r2, #180 ; 0xb4 809f546: f240 1109 movw r1, #265 ; 0x109 809f54a: 4818 ldr r0, [pc, #96] ; (809f5ac ) 809f54c: f7b5 f822 bl 8054594 809f550: e051 b.n 809f5f6 if(skz[ACC] != -1.0f) 809f552: 4b17 ldr r3, [pc, #92] ; (809f5b0 ) 809f554: edd3 7a00 vldr s15, [r3] 809f558: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 809f55c: eef4 7a47 vcmp.f32 s15, s14 809f560: eef1 fa10 vmrs APSR_nzcv, fpscr 809f564: d047 beq.n 809f5f6 if(ipr == VEL) 809f566: 6d3b ldr r3, [r7, #80] ; 0x50 809f568: 2b01 cmp r3, #1 809f56a: d12d bne.n 809f5c8 LCD_SetColors(LCD_COLOR_NUMGREEN, LCD_COLOR_BLACK); 809f56c: 4911 ldr r1, [pc, #68] ; (809f5b4 ) 809f56e: 4812 ldr r0, [pc, #72] ; (809f5b8 ) 809f570: f7b4 f91c bl 80537ac if(pardata.LANG == RUS) 809f574: 4b11 ldr r3, [pc, #68] ; (809f5bc ) 809f576: 7b1b ldrb r3, [r3, #12] 809f578: b2db uxtb r3, r3 809f57a: 2b00 cmp r3, #0 809f57c: d105 bne.n 809f58a LCD_DisplayStringC(167, 135, "ÍÅÒ ÄÀÍÍÛÕ"); 809f57e: 4a10 ldr r2, [pc, #64] ; (809f5c0 ) 809f580: 2187 movs r1, #135 ; 0x87 809f582: 20a7 movs r0, #167 ; 0xa7 809f584: f7b4 fed2 bl 805432c 809f588: e035 b.n 809f5f6 else LCD_DisplayStringC(167, 135, "NO DATA"); 809f58a: 4a0e ldr r2, [pc, #56] ; (809f5c4 ) 809f58c: 2187 movs r1, #135 ; 0x87 809f58e: 20a7 movs r0, #167 ; 0xa7 809f590: f7b4 fecc bl 805432c 809f594: e02f b.n 809f5f6 809f596: bf00 nop 809f598: 10624dd3 .word 0x10624dd3 809f59c: 51eb851f .word 0x51eb851f 809f5a0: cccccccd .word 0xcccccccd 809f5a4: 20020124 .word 0x20020124 809f5a8: 08167a1c .word 0x08167a1c 809f5ac: 08162c68 .word 0x08162c68 809f5b0: 20021540 .word 0x20021540 809f5b4: ff0a0f1f .word 0xff0a0f1f 809f5b8: ffb8e828 .word 0xffb8e828 809f5bc: 20023e60 .word 0x20023e60 809f5c0: 080cfaf4 .word 0x080cfaf4 809f5c4: 080cfb00 .word 0x080cfb00 if(ipr == DIS) 809f5c8: 6d3b ldr r3, [r7, #80] ; 0x50 809f5ca: 2b02 cmp r3, #2 809f5cc: d113 bne.n 809f5f6 LCD_SetColors(LCD_COLOR_NUMGREEN, LCD_COLOR_BLACK); 809f5ce: 4933 ldr r1, [pc, #204] ; (809f69c ) 809f5d0: 4833 ldr r0, [pc, #204] ; (809f6a0 ) 809f5d2: f7b4 f8eb bl 80537ac if(pardata.LANG == RUS) 809f5d6: 4b33 ldr r3, [pc, #204] ; (809f6a4 ) 809f5d8: 7b1b ldrb r3, [r3, #12] 809f5da: b2db uxtb r3, r3 809f5dc: 2b00 cmp r3, #0 809f5de: d105 bne.n 809f5ec LCD_DisplayStringC(167, 185, "ÍÅÒ ÄÀÍÍÛÕ"); 809f5e0: 4a31 ldr r2, [pc, #196] ; (809f6a8 ) 809f5e2: 21b9 movs r1, #185 ; 0xb9 809f5e4: 20a7 movs r0, #167 ; 0xa7 809f5e6: f7b4 fea1 bl 805432c 809f5ea: e004 b.n 809f5f6 else LCD_DisplayStringC(167, 185, "NO DATA"); 809f5ec: 4a2f ldr r2, [pc, #188] ; (809f6ac ) 809f5ee: 21b9 movs r1, #185 ; 0xb9 809f5f0: 20a7 movs r0, #167 ; 0xa7 809f5f2: f7b4 fe9b bl 805432c for(ipr = ACC; ipr <= DIS; ipr++) 809f5f6: 6d3b ldr r3, [r7, #80] ; 0x50 809f5f8: 3301 adds r3, #1 809f5fa: 653b str r3, [r7, #80] ; 0x50 809f5fc: 6d3b ldr r3, [r7, #80] ; 0x50 809f5fe: 2b02 cmp r3, #2 809f600: f67e adfc bls.w 809e1fc break; 809f604: bf00 nop break; 809f606: f004 ba39 b.w 80a3a7c DrawImage(&bmAVS, 8, 84); 809f60a: 2254 movs r2, #84 ; 0x54 809f60c: 2108 movs r1, #8 809f60e: 4828 ldr r0, [pc, #160] ; (809f6b0 ) 809f610: f7b4 ffc0 bl 8054594 if(DrawSavedData) 809f614: 4b27 ldr r3, [pc, #156] ; (809f6b4 ) 809f616: 781b ldrb r3, [r3, #0] 809f618: b2db uxtb r3, r3 809f61a: 2b00 cmp r3, #0 809f61c: f002 8130 beq.w 80a1880 ivs[ACC] = ReadFileData.Aivs; 809f620: 4b25 ldr r3, [pc, #148] ; (809f6b8 ) 809f622: f893 302c ldrb.w r3, [r3, #44] ; 0x2c 809f626: b2db uxtb r3, r3 809f628: 703b strb r3, [r7, #0] ivs[VEL] = ReadFileData.Vivs; 809f62a: 4b23 ldr r3, [pc, #140] ; (809f6b8 ) 809f62c: f893 302d ldrb.w r3, [r3, #45] ; 0x2d 809f630: b2db uxtb r3, r3 809f632: 707b strb r3, [r7, #1] ivs[DIS] = ReadFileData.Sivs; 809f634: 4b20 ldr r3, [pc, #128] ; (809f6b8 ) 809f636: f893 302e ldrb.w r3, [r3, #46] ; 0x2e 809f63a: b2db uxtb r3, r3 809f63c: 70bb strb r3, [r7, #2] if(((!ReadFileData.Aivs) && (!ReadFileData.Vivs) && (!ReadFileData.Sivs)) || (ReadFileData.Aval.fl == -1.0f)) 809f63e: 4b1e ldr r3, [pc, #120] ; (809f6b8 ) 809f640: f893 302c ldrb.w r3, [r3, #44] ; 0x2c 809f644: b2db uxtb r3, r3 809f646: 2b00 cmp r3, #0 809f648: d10b bne.n 809f662 809f64a: 4b1b ldr r3, [pc, #108] ; (809f6b8 ) 809f64c: f893 302d ldrb.w r3, [r3, #45] ; 0x2d 809f650: b2db uxtb r3, r3 809f652: 2b00 cmp r3, #0 809f654: d105 bne.n 809f662 809f656: 4b18 ldr r3, [pc, #96] ; (809f6b8 ) 809f658: f893 302e ldrb.w r3, [r3, #46] ; 0x2e 809f65c: b2db uxtb r3, r3 809f65e: 2b00 cmp r3, #0 809f660: d009 beq.n 809f676 809f662: 4b15 ldr r3, [pc, #84] ; (809f6b8 ) 809f664: edd3 7a00 vldr s15, [r3] 809f668: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 809f66c: eef4 7a47 vcmp.f32 s15, s14 809f670: eef1 fa10 vmrs APSR_nzcv, fpscr 809f674: d12a bne.n 809f6cc DrawImage(&bmf, 100, 57+3); 809f676: 223c movs r2, #60 ; 0x3c 809f678: 2164 movs r1, #100 ; 0x64 809f67a: 4810 ldr r0, [pc, #64] ; (809f6bc ) 809f67c: f7b4 ff8a bl 8054594 if(NextIndexMeas == IndexMeas[NextIndexPoint]) 809f680: 4b0f ldr r3, [pc, #60] ; (809f6c0 ) 809f682: 681b ldr r3, [r3, #0] 809f684: 4a0f ldr r2, [pc, #60] ; (809f6c4 ) 809f686: f852 2023 ldr.w r2, [r2, r3, lsl #2] 809f68a: 4b0f ldr r3, [pc, #60] ; (809f6c8 ) 809f68c: 681b ldr r3, [r3, #0] 809f68e: 429a cmp r2, r3 809f690: f044 81f1 bne.w 80a3a76 DrawDetectorType(); 809f694: f7f8 fdea bl 809826c if(NextIndexMeas == IndexMeas[NextIndexPoint]) 809f698: f004 b9ed b.w 80a3a76 809f69c: ff0a0f1f .word 0xff0a0f1f 809f6a0: ffb8e828 .word 0xffb8e828 809f6a4: 20023e60 .word 0x20023e60 809f6a8: 080cfaf4 .word 0x080cfaf4 809f6ac: 080cfb00 .word 0x080cfb00 809f6b0: 08103cc0 .word 0x08103cc0 809f6b4: 20020dca .word 0x20020dca 809f6b8: 200226a0 .word 0x200226a0 809f6bc: 0815d7b8 .word 0x0815d7b8 809f6c0: 20021f9c .word 0x20021f9c 809f6c4: 20022ea0 .word 0x20022ea0 809f6c8: 20022310 .word 0x20022310 DrawImage(&bmSAVED, 298, 39); 809f6cc: 2227 movs r2, #39 ; 0x27 809f6ce: f44f 7195 mov.w r1, #298 ; 0x12a 809f6d2: 48bc ldr r0, [pc, #752] ; (809f9c4 ) 809f6d4: f7b4 ff5e bl 8054594 memset(str, 0, sizeof(str)); 809f6d8: f107 030c add.w r3, r7, #12 809f6dc: 2228 movs r2, #40 ; 0x28 809f6de: 2100 movs r1, #0 809f6e0: 4618 mov r0, r3 809f6e2: f02d fcb1 bl 80cd048 BSP_LCD_SetFont(&Font8); 809f6e6: 48b8 ldr r0, [pc, #736] ; (809f9c8 ) 809f6e8: f7b4 f89c bl 8053824 LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 809f6ec: 49b7 ldr r1, [pc, #732] ; (809f9cc ) 809f6ee: 48b8 ldr r0, [pc, #736] ; (809f9d0 ) 809f6f0: f7b4 f85c bl 80537ac str[0] = (DateFileData.Date / 10) + 48; 809f6f4: 4bb7 ldr r3, [pc, #732] ; (809f9d4 ) 809f6f6: 789b ldrb r3, [r3, #2] 809f6f8: b2db uxtb r3, r3 809f6fa: 4ab7 ldr r2, [pc, #732] ; (809f9d8 ) 809f6fc: fba2 2303 umull r2, r3, r2, r3 809f700: 08db lsrs r3, r3, #3 809f702: b2db uxtb r3, r3 809f704: 3330 adds r3, #48 ; 0x30 809f706: b2db uxtb r3, r3 809f708: 733b strb r3, [r7, #12] str[1] = (DateFileData.Date % 10) + 48; 809f70a: 4bb2 ldr r3, [pc, #712] ; (809f9d4 ) 809f70c: 789b ldrb r3, [r3, #2] 809f70e: b2da uxtb r2, r3 809f710: 4bb1 ldr r3, [pc, #708] ; (809f9d8 ) 809f712: fba3 1302 umull r1, r3, r3, r2 809f716: 08d9 lsrs r1, r3, #3 809f718: 460b mov r3, r1 809f71a: 009b lsls r3, r3, #2 809f71c: 440b add r3, r1 809f71e: 005b lsls r3, r3, #1 809f720: 1ad3 subs r3, r2, r3 809f722: b2db uxtb r3, r3 809f724: 3330 adds r3, #48 ; 0x30 809f726: b2db uxtb r3, r3 809f728: 737b strb r3, [r7, #13] str[2] = '.'; 809f72a: 232e movs r3, #46 ; 0x2e 809f72c: 73bb strb r3, [r7, #14] str[3] = (DateFileData.Month / 10) + 48; 809f72e: 4ba9 ldr r3, [pc, #676] ; (809f9d4 ) 809f730: 785b ldrb r3, [r3, #1] 809f732: b2db uxtb r3, r3 809f734: 4aa8 ldr r2, [pc, #672] ; (809f9d8 ) 809f736: fba2 2303 umull r2, r3, r2, r3 809f73a: 08db lsrs r3, r3, #3 809f73c: b2db uxtb r3, r3 809f73e: 3330 adds r3, #48 ; 0x30 809f740: b2db uxtb r3, r3 809f742: 73fb strb r3, [r7, #15] str[4] = (DateFileData.Month % 10) + 48; 809f744: 4ba3 ldr r3, [pc, #652] ; (809f9d4 ) 809f746: 785b ldrb r3, [r3, #1] 809f748: b2da uxtb r2, r3 809f74a: 4ba3 ldr r3, [pc, #652] ; (809f9d8 ) 809f74c: fba3 1302 umull r1, r3, r3, r2 809f750: 08d9 lsrs r1, r3, #3 809f752: 460b mov r3, r1 809f754: 009b lsls r3, r3, #2 809f756: 440b add r3, r1 809f758: 005b lsls r3, r3, #1 809f75a: 1ad3 subs r3, r2, r3 809f75c: b2db uxtb r3, r3 809f75e: 3330 adds r3, #48 ; 0x30 809f760: b2db uxtb r3, r3 809f762: 743b strb r3, [r7, #16] str[5] = '.'; 809f764: 232e movs r3, #46 ; 0x2e 809f766: 747b strb r3, [r7, #17] str[6] = '2'; 809f768: 2332 movs r3, #50 ; 0x32 809f76a: 74bb strb r3, [r7, #18] str[7] = '0'; 809f76c: 2330 movs r3, #48 ; 0x30 809f76e: 74fb strb r3, [r7, #19] str[8] = (DateFileData.Year / 10) + 48; 809f770: 4b98 ldr r3, [pc, #608] ; (809f9d4 ) 809f772: 78db ldrb r3, [r3, #3] 809f774: b2db uxtb r3, r3 809f776: 4a98 ldr r2, [pc, #608] ; (809f9d8 ) 809f778: fba2 2303 umull r2, r3, r2, r3 809f77c: 08db lsrs r3, r3, #3 809f77e: b2db uxtb r3, r3 809f780: 3330 adds r3, #48 ; 0x30 809f782: b2db uxtb r3, r3 809f784: 753b strb r3, [r7, #20] str[9] = (DateFileData.Year % 10) + 48; 809f786: 4b93 ldr r3, [pc, #588] ; (809f9d4 ) 809f788: 78db ldrb r3, [r3, #3] 809f78a: b2da uxtb r2, r3 809f78c: 4b92 ldr r3, [pc, #584] ; (809f9d8 ) 809f78e: fba3 1302 umull r1, r3, r3, r2 809f792: 08d9 lsrs r1, r3, #3 809f794: 460b mov r3, r1 809f796: 009b lsls r3, r3, #2 809f798: 440b add r3, r1 809f79a: 005b lsls r3, r3, #1 809f79c: 1ad3 subs r3, r2, r3 809f79e: b2db uxtb r3, r3 809f7a0: 3330 adds r3, #48 ; 0x30 809f7a2: b2db uxtb r3, r3 809f7a4: 757b strb r3, [r7, #21] BSP_LCD_DisplayStringAt(295, 42, str, RIGHT_MODE); 809f7a6: f107 020c add.w r2, r7, #12 809f7aa: 2302 movs r3, #2 809f7ac: 212a movs r1, #42 ; 0x2a 809f7ae: f240 1027 movw r0, #295 ; 0x127 809f7b2: f7b4 f8c1 bl 8053938 memset(str, 0, sizeof(str)); 809f7b6: f107 030c add.w r3, r7, #12 809f7ba: 2228 movs r2, #40 ; 0x28 809f7bc: 2100 movs r1, #0 809f7be: 4618 mov r0, r3 809f7c0: f02d fc42 bl 80cd048 str[0] = (TimeFileData.Hours / 10) + 48; 809f7c4: 4b85 ldr r3, [pc, #532] ; (809f9dc ) 809f7c6: 781b ldrb r3, [r3, #0] 809f7c8: b2db uxtb r3, r3 809f7ca: 4a83 ldr r2, [pc, #524] ; (809f9d8 ) 809f7cc: fba2 2303 umull r2, r3, r2, r3 809f7d0: 08db lsrs r3, r3, #3 809f7d2: b2db uxtb r3, r3 809f7d4: 3330 adds r3, #48 ; 0x30 809f7d6: b2db uxtb r3, r3 809f7d8: 733b strb r3, [r7, #12] str[1] = (TimeFileData.Hours % 10) + 48; 809f7da: 4b80 ldr r3, [pc, #512] ; (809f9dc ) 809f7dc: 781b ldrb r3, [r3, #0] 809f7de: b2da uxtb r2, r3 809f7e0: 4b7d ldr r3, [pc, #500] ; (809f9d8 ) 809f7e2: fba3 1302 umull r1, r3, r3, r2 809f7e6: 08d9 lsrs r1, r3, #3 809f7e8: 460b mov r3, r1 809f7ea: 009b lsls r3, r3, #2 809f7ec: 440b add r3, r1 809f7ee: 005b lsls r3, r3, #1 809f7f0: 1ad3 subs r3, r2, r3 809f7f2: b2db uxtb r3, r3 809f7f4: 3330 adds r3, #48 ; 0x30 809f7f6: b2db uxtb r3, r3 809f7f8: 737b strb r3, [r7, #13] str[2] = ':'; 809f7fa: 233a movs r3, #58 ; 0x3a 809f7fc: 73bb strb r3, [r7, #14] str[3] = (TimeFileData.Minutes / 10) + 48; 809f7fe: 4b77 ldr r3, [pc, #476] ; (809f9dc ) 809f800: 785b ldrb r3, [r3, #1] 809f802: b2db uxtb r3, r3 809f804: 4a74 ldr r2, [pc, #464] ; (809f9d8 ) 809f806: fba2 2303 umull r2, r3, r2, r3 809f80a: 08db lsrs r3, r3, #3 809f80c: b2db uxtb r3, r3 809f80e: 3330 adds r3, #48 ; 0x30 809f810: b2db uxtb r3, r3 809f812: 73fb strb r3, [r7, #15] str[4] = (TimeFileData.Minutes % 10) + 48; 809f814: 4b71 ldr r3, [pc, #452] ; (809f9dc ) 809f816: 785b ldrb r3, [r3, #1] 809f818: b2da uxtb r2, r3 809f81a: 4b6f ldr r3, [pc, #444] ; (809f9d8 ) 809f81c: fba3 1302 umull r1, r3, r3, r2 809f820: 08d9 lsrs r1, r3, #3 809f822: 460b mov r3, r1 809f824: 009b lsls r3, r3, #2 809f826: 440b add r3, r1 809f828: 005b lsls r3, r3, #1 809f82a: 1ad3 subs r3, r2, r3 809f82c: b2db uxtb r3, r3 809f82e: 3330 adds r3, #48 ; 0x30 809f830: b2db uxtb r3, r3 809f832: 743b strb r3, [r7, #16] str[5] = ':'; 809f834: 233a movs r3, #58 ; 0x3a 809f836: 747b strb r3, [r7, #17] str[6] = (TimeFileData.Seconds / 10) + 48; 809f838: 4b68 ldr r3, [pc, #416] ; (809f9dc ) 809f83a: 789b ldrb r3, [r3, #2] 809f83c: b2db uxtb r3, r3 809f83e: 4a66 ldr r2, [pc, #408] ; (809f9d8 ) 809f840: fba2 2303 umull r2, r3, r2, r3 809f844: 08db lsrs r3, r3, #3 809f846: b2db uxtb r3, r3 809f848: 3330 adds r3, #48 ; 0x30 809f84a: b2db uxtb r3, r3 809f84c: 74bb strb r3, [r7, #18] str[7] = (TimeFileData.Seconds % 10) + 48; 809f84e: 4b63 ldr r3, [pc, #396] ; (809f9dc ) 809f850: 789b ldrb r3, [r3, #2] 809f852: b2da uxtb r2, r3 809f854: 4b60 ldr r3, [pc, #384] ; (809f9d8 ) 809f856: fba3 1302 umull r1, r3, r3, r2 809f85a: 08d9 lsrs r1, r3, #3 809f85c: 460b mov r3, r1 809f85e: 009b lsls r3, r3, #2 809f860: 440b add r3, r1 809f862: 005b lsls r3, r3, #1 809f864: 1ad3 subs r3, r2, r3 809f866: b2db uxtb r3, r3 809f868: 3330 adds r3, #48 ; 0x30 809f86a: b2db uxtb r3, r3 809f86c: 74fb strb r3, [r7, #19] BSP_LCD_DisplayStringAt(295, 52, str, RIGHT_MODE); 809f86e: f107 020c add.w r2, r7, #12 809f872: 2302 movs r3, #2 809f874: 2134 movs r1, #52 ; 0x34 809f876: f240 1027 movw r0, #295 ; 0x127 809f87a: f7b4 f85d bl 8053938 DrawDetectorType(); 809f87e: f7f8 fcf5 bl 809826c if(ReadFileData.Fval.fl != -1.0f) 809f882: 4b57 ldr r3, [pc, #348] ; (809f9e0 ) 809f884: edd3 7a03 vldr s15, [r3, #12] 809f888: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 809f88c: eef4 7a47 vcmp.f32 s15, s14 809f890: eef1 fa10 vmrs APSR_nzcv, fpscr 809f894: f000 80fc beq.w 809fa90 DrawImage(&bmf, 100, 57+3); 809f898: 223c movs r2, #60 ; 0x3c 809f89a: 2164 movs r1, #100 ; 0x64 809f89c: 4851 ldr r0, [pc, #324] ; (809f9e4 ) 809f89e: f7b4 fe79 bl 8054594 BSP_LCD_SetFont(&Font15); 809f8a2: 4851 ldr r0, [pc, #324] ; (809f9e8 ) 809f8a4: f7b3 ffbe bl 8053824 f = ReadFileData.Fval.fl; 809f8a8: 4b4d ldr r3, [pc, #308] ; (809f9e0 ) 809f8aa: 68db ldr r3, [r3, #12] 809f8ac: 647b str r3, [r7, #68] ; 0x44 LCD_SetColors(LCD_COLOR_WHITE/*0xFFFBFF1C*/, LCD_COLOR_BLACK); 809f8ae: 4947 ldr r1, [pc, #284] ; (809f9cc ) 809f8b0: f04f 30ff mov.w r0, #4294967295 809f8b4: f7b3 ff7a bl 80537ac memset(str, 0, sizeof(str)); 809f8b8: f107 030c add.w r3, r7, #12 809f8bc: 2228 movs r2, #40 ; 0x28 809f8be: 2100 movs r1, #0 809f8c0: 4618 mov r0, r3 809f8c2: f02d fbc1 bl 80cd048 if(f >= 1000.0f) 809f8c6: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809f8ca: ed9f 7a4f vldr s14, [pc, #316] ; 809fa08 809f8ce: eef4 7ac7 vcmpe.f32 s15, s14 809f8d2: eef1 fa10 vmrs APSR_nzcv, fpscr 809f8d6: db3b blt.n 809f950 f *= 0.001f; 809f8d8: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809f8dc: ed9f 7a43 vldr s14, [pc, #268] ; 809f9ec 809f8e0: ee67 7a87 vmul.f32 s15, s15, s14 809f8e4: edc7 7a11 vstr s15, [r7, #68] ; 0x44 p8 = (char *) FloatToASCII(f, -4); 809f8e8: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809f8ec: f06f 0003 mvn.w r0, #3 809f8f0: eeb0 0a67 vmov.f32 s0, s15 809f8f4: f7c6 ff04 bl 8066700 809f8f8: 6638 str r0, [r7, #96] ; 0x60 strcpy(str, p8); 809f8fa: f107 030c add.w r3, r7, #12 809f8fe: 6e39 ldr r1, [r7, #96] ; 0x60 809f900: 4618 mov r0, r3 809f902: f02d fcbe bl 80cd282 if(pardata.LANG == RUS) strcat(str, " êÃö"); 809f906: 4b3a ldr r3, [pc, #232] ; (809f9f0 ) 809f908: 7b1b ldrb r3, [r3, #12] 809f90a: b2db uxtb r3, r3 809f90c: 2b00 cmp r3, #0 809f90e: d10f bne.n 809f930 809f910: f107 030c add.w r3, r7, #12 809f914: 4618 mov r0, r3 809f916: f780 fcfd bl 8020314 809f91a: 4603 mov r3, r0 809f91c: 461a mov r2, r3 809f91e: f107 030c add.w r3, r7, #12 809f922: 4413 add r3, r2 809f924: 4a33 ldr r2, [pc, #204] ; (809f9f4 ) 809f926: 6810 ldr r0, [r2, #0] 809f928: 6018 str r0, [r3, #0] 809f92a: 7912 ldrb r2, [r2, #4] 809f92c: 711a strb r2, [r3, #4] 809f92e: e0a8 b.n 809fa82 else strcat(str, " kHz"); 809f930: f107 030c add.w r3, r7, #12 809f934: 4618 mov r0, r3 809f936: f780 fced bl 8020314 809f93a: 4603 mov r3, r0 809f93c: 461a mov r2, r3 809f93e: f107 030c add.w r3, r7, #12 809f942: 4413 add r3, r2 809f944: 4a2c ldr r2, [pc, #176] ; (809f9f8 ) 809f946: 6810 ldr r0, [r2, #0] 809f948: 6018 str r0, [r3, #0] 809f94a: 7912 ldrb r2, [r2, #4] 809f94c: 711a strb r2, [r3, #4] 809f94e: e098 b.n 809fa82 if(f >= 0.1f) 809f950: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809f954: ed9f 7a29 vldr s14, [pc, #164] ; 809f9fc 809f958: eef4 7ac7 vcmpe.f32 s15, s14 809f95c: eef1 fa10 vmrs APSR_nzcv, fpscr 809f960: db54 blt.n 809fa0c p8 = (char *) FloatToASCII(f, -3); 809f962: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809f966: f06f 0002 mvn.w r0, #2 809f96a: eeb0 0a67 vmov.f32 s0, s15 809f96e: f7c6 fec7 bl 8066700 809f972: 6638 str r0, [r7, #96] ; 0x60 strcpy(str, p8); 809f974: f107 030c add.w r3, r7, #12 809f978: 6e39 ldr r1, [r7, #96] ; 0x60 809f97a: 4618 mov r0, r3 809f97c: f02d fc81 bl 80cd282 if(pardata.LANG == RUS) strcat(str, " Ãö"); 809f980: 4b1b ldr r3, [pc, #108] ; (809f9f0 ) 809f982: 7b1b ldrb r3, [r3, #12] 809f984: b2db uxtb r3, r3 809f986: 2b00 cmp r3, #0 809f988: d10d bne.n 809f9a6 809f98a: f107 030c add.w r3, r7, #12 809f98e: 4618 mov r0, r3 809f990: f780 fcc0 bl 8020314 809f994: 4603 mov r3, r0 809f996: 461a mov r2, r3 809f998: f107 030c add.w r3, r7, #12 809f99c: 4413 add r3, r2 809f99e: 4a18 ldr r2, [pc, #96] ; (809fa00 ) 809f9a0: 6810 ldr r0, [r2, #0] 809f9a2: 6018 str r0, [r3, #0] 809f9a4: e06d b.n 809fa82 else strcat(str, " Hz"); 809f9a6: f107 030c add.w r3, r7, #12 809f9aa: 4618 mov r0, r3 809f9ac: f780 fcb2 bl 8020314 809f9b0: 4603 mov r3, r0 809f9b2: 461a mov r2, r3 809f9b4: f107 030c add.w r3, r7, #12 809f9b8: 4413 add r3, r2 809f9ba: 4a12 ldr r2, [pc, #72] ; (809fa04 ) 809f9bc: 6810 ldr r0, [r2, #0] 809f9be: 6018 str r0, [r3, #0] 809f9c0: e05f b.n 809fa82 809f9c2: bf00 nop 809f9c4: 08147a48 .word 0x08147a48 809f9c8: 20020060 .word 0x20020060 809f9cc: ff0a0f1f .word 0xff0a0f1f 809f9d0: ffd3d3d3 .word 0xffd3d3d3 809f9d4: 200225f0 .word 0x200225f0 809f9d8: cccccccd .word 0xcccccccd 809f9dc: 20022968 .word 0x20022968 809f9e0: 200226a0 .word 0x200226a0 809f9e4: 0815d7b8 .word 0x0815d7b8 809f9e8: 20020040 .word 0x20020040 809f9ec: 3a83126f .word 0x3a83126f 809f9f0: 20023e60 .word 0x20023e60 809f9f4: 080d0a10 .word 0x080d0a10 809f9f8: 080d0a18 .word 0x080d0a18 809f9fc: 3dcccccd .word 0x3dcccccd 809fa00: 080d0a20 .word 0x080d0a20 809fa04: 080d0a24 .word 0x080d0a24 809fa08: 447a0000 .word 0x447a0000 f *= 1000.0f; 809fa0c: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809fa10: ed1f 7a03 vldr s14, [pc, #-12] ; 809fa08 809fa14: ee67 7a87 vmul.f32 s15, s15, s14 809fa18: edc7 7a11 vstr s15, [r7, #68] ; 0x44 p8 = (char *) FloatToASCII(f, -3); 809fa1c: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809fa20: f06f 0002 mvn.w r0, #2 809fa24: eeb0 0a67 vmov.f32 s0, s15 809fa28: f7c6 fe6a bl 8066700 809fa2c: 6638 str r0, [r7, #96] ; 0x60 strcpy(str, p8); 809fa2e: f107 030c add.w r3, r7, #12 809fa32: 6e39 ldr r1, [r7, #96] ; 0x60 809fa34: 4618 mov r0, r3 809fa36: f02d fc24 bl 80cd282 if(pardata.LANG == RUS) strcat(str, " ìÃö"); 809fa3a: 4bcd ldr r3, [pc, #820] ; (809fd70 ) 809fa3c: 7b1b ldrb r3, [r3, #12] 809fa3e: b2db uxtb r3, r3 809fa40: 2b00 cmp r3, #0 809fa42: d10f bne.n 809fa64 809fa44: f107 030c add.w r3, r7, #12 809fa48: 4618 mov r0, r3 809fa4a: f780 fc63 bl 8020314 809fa4e: 4603 mov r3, r0 809fa50: 461a mov r2, r3 809fa52: f107 030c add.w r3, r7, #12 809fa56: 4413 add r3, r2 809fa58: 4ac6 ldr r2, [pc, #792] ; (809fd74 ) 809fa5a: 6810 ldr r0, [r2, #0] 809fa5c: 6018 str r0, [r3, #0] 809fa5e: 7912 ldrb r2, [r2, #4] 809fa60: 711a strb r2, [r3, #4] 809fa62: e00e b.n 809fa82 else strcat(str, " mHz"); 809fa64: f107 030c add.w r3, r7, #12 809fa68: 4618 mov r0, r3 809fa6a: f780 fc53 bl 8020314 809fa6e: 4603 mov r3, r0 809fa70: 461a mov r2, r3 809fa72: f107 030c add.w r3, r7, #12 809fa76: 4413 add r3, r2 809fa78: 4abf ldr r2, [pc, #764] ; (809fd78 ) 809fa7a: 6810 ldr r0, [r2, #0] 809fa7c: 6018 str r0, [r3, #0] 809fa7e: 7912 ldrb r2, [r2, #4] 809fa80: 711a strb r2, [r3, #4] BSP_LCD_DisplayStringAt(132, 61+3, str, LEFT_MODE); 809fa82: f107 020c add.w r2, r7, #12 809fa86: 2303 movs r3, #3 809fa88: 2140 movs r1, #64 ; 0x40 809fa8a: 2084 movs r0, #132 ; 0x84 809fa8c: f7b3 ff54 bl 8053938 if(log == false) // Åñëè â ìåòðè÷åñêèõ âåëè÷èíàõ 809fa90: f897 3067 ldrb.w r3, [r7, #103] ; 0x67 809fa94: f083 0301 eor.w r3, r3, #1 809fa98: b2db uxtb r3, r3 809fa9a: 2b00 cmp r3, #0 809fa9c: f000 8582 beq.w 80a05a4 for(ipr = ACC; ipr <= DIS; ipr++) 809faa0: 2300 movs r3, #0 809faa2: 653b str r3, [r7, #80] ; 0x50 809faa4: f000 bd78 b.w 80a0598 if(ipr == ACC) f = ABS(ReadFileData.Aval.fl); 809faa8: 6d3b ldr r3, [r7, #80] ; 0x50 809faaa: 2b00 cmp r3, #0 809faac: d113 bne.n 809fad6 809faae: 4bb3 ldr r3, [pc, #716] ; (809fd7c ) 809fab0: edd3 7a00 vldr s15, [r3] 809fab4: eef5 7ac0 vcmpe.f32 s15, #0.0 809fab8: eef1 fa10 vmrs APSR_nzcv, fpscr 809fabc: dd03 ble.n 809fac6 809fabe: 4baf ldr r3, [pc, #700] ; (809fd7c ) 809fac0: edd3 7a00 vldr s15, [r3] 809fac4: e004 b.n 809fad0 809fac6: 4bad ldr r3, [pc, #692] ; (809fd7c ) 809fac8: edd3 7a00 vldr s15, [r3] 809facc: eef1 7a67 vneg.f32 s15, s15 809fad0: edc7 7a11 vstr s15, [r7, #68] ; 0x44 809fad4: e02c b.n 809fb30 else if(ipr == VEL) f = ABS(ReadFileData.Vval.fl); 809fad6: 6d3b ldr r3, [r7, #80] ; 0x50 809fad8: 2b01 cmp r3, #1 809fada: d113 bne.n 809fb04 809fadc: 4ba7 ldr r3, [pc, #668] ; (809fd7c ) 809fade: edd3 7a01 vldr s15, [r3, #4] 809fae2: eef5 7ac0 vcmpe.f32 s15, #0.0 809fae6: eef1 fa10 vmrs APSR_nzcv, fpscr 809faea: dd03 ble.n 809faf4 809faec: 4ba3 ldr r3, [pc, #652] ; (809fd7c ) 809faee: edd3 7a01 vldr s15, [r3, #4] 809faf2: e004 b.n 809fafe 809faf4: 4ba1 ldr r3, [pc, #644] ; (809fd7c ) 809faf6: edd3 7a01 vldr s15, [r3, #4] 809fafa: eef1 7a67 vneg.f32 s15, s15 809fafe: edc7 7a11 vstr s15, [r7, #68] ; 0x44 809fb02: e015 b.n 809fb30 else if(ipr == DIS) f = ABS(ReadFileData.Sval.fl); 809fb04: 6d3b ldr r3, [r7, #80] ; 0x50 809fb06: 2b02 cmp r3, #2 809fb08: d112 bne.n 809fb30 809fb0a: 4b9c ldr r3, [pc, #624] ; (809fd7c ) 809fb0c: edd3 7a02 vldr s15, [r3, #8] 809fb10: eef5 7ac0 vcmpe.f32 s15, #0.0 809fb14: eef1 fa10 vmrs APSR_nzcv, fpscr 809fb18: dd03 ble.n 809fb22 809fb1a: 4b98 ldr r3, [pc, #608] ; (809fd7c ) 809fb1c: edd3 7a02 vldr s15, [r3, #8] 809fb20: e004 b.n 809fb2c 809fb22: 4b96 ldr r3, [pc, #600] ; (809fd7c ) 809fb24: edd3 7a02 vldr s15, [r3, #8] 809fb28: eef1 7a67 vneg.f32 s15, s15 809fb2c: edc7 7a11 vstr s15, [r7, #68] ; 0x44 memset(str, 0, sizeof(str)); 809fb30: f107 030c add.w r3, r7, #12 809fb34: 2228 movs r2, #40 ; 0x28 809fb36: 2100 movs r1, #0 809fb38: 4618 mov r0, r3 809fb3a: f02d fa85 bl 80cd048 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 809fb3e: 4990 ldr r1, [pc, #576] ; (809fd80 ) 809fb40: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 809fb44: f7b3 fe32 bl 80537ac BSP_LCD_SetFont(&Font12); 809fb48: 488e ldr r0, [pc, #568] ; (809fd84 ) 809fb4a: f7b3 fe6b bl 8053824 if(ipr < DIS) 809fb4e: 6d3b ldr r3, [r7, #80] ; 0x50 809fb50: 2b01 cmp r3, #1 809fb52: f200 80af bhi.w 809fcb4 if(f < 10.0f) 809fb56: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809fb5a: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 809fb5e: eef4 7ac7 vcmpe.f32 s15, s14 809fb62: eef1 fa10 vmrs APSR_nzcv, fpscr 809fb66: d513 bpl.n 809fb90 k = (uint32_t) (roundf(f * 10000)); 809fb68: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809fb6c: ed9f 7a8a vldr s14, [pc, #552] ; 809fd98 809fb70: ee67 7a87 vmul.f32 s15, s15, s14 809fb74: eeb0 0a67 vmov.f32 s0, s15 809fb78: f02b f868 bl 80cac4c 809fb7c: eef0 7a40 vmov.f32 s15, s0 809fb80: eefc 7ae7 vcvt.u32.f32 s15, s15 809fb84: ee17 3a90 vmov r3, s15 809fb88: 65bb str r3, [r7, #88] ; 0x58 t = 1; 809fb8a: 2301 movs r3, #1 809fb8c: 657b str r3, [r7, #84] ; 0x54 809fb8e: e1cc b.n 809ff2a if(f < 100.0f) 809fb90: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809fb94: ed9f 7a7c vldr s14, [pc, #496] ; 809fd88 809fb98: eef4 7ac7 vcmpe.f32 s15, s14 809fb9c: eef1 fa10 vmrs APSR_nzcv, fpscr 809fba0: d513 bpl.n 809fbca k = (uint32_t) (roundf(f * 1000)); 809fba2: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809fba6: ed9f 7a79 vldr s14, [pc, #484] ; 809fd8c 809fbaa: ee67 7a87 vmul.f32 s15, s15, s14 809fbae: eeb0 0a67 vmov.f32 s0, s15 809fbb2: f02b f84b bl 80cac4c 809fbb6: eef0 7a40 vmov.f32 s15, s0 809fbba: eefc 7ae7 vcvt.u32.f32 s15, s15 809fbbe: ee17 3a90 vmov r3, s15 809fbc2: 65bb str r3, [r7, #88] ; 0x58 t = 2; 809fbc4: 2302 movs r3, #2 809fbc6: 657b str r3, [r7, #84] ; 0x54 809fbc8: e1af b.n 809ff2a if(f < 1000.0f) 809fbca: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809fbce: ed9f 7a6f vldr s14, [pc, #444] ; 809fd8c 809fbd2: eef4 7ac7 vcmpe.f32 s15, s14 809fbd6: eef1 fa10 vmrs APSR_nzcv, fpscr 809fbda: d513 bpl.n 809fc04 k = (uint32_t) (roundf(f * 100)); 809fbdc: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809fbe0: ed9f 7a69 vldr s14, [pc, #420] ; 809fd88 809fbe4: ee67 7a87 vmul.f32 s15, s15, s14 809fbe8: eeb0 0a67 vmov.f32 s0, s15 809fbec: f02b f82e bl 80cac4c 809fbf0: eef0 7a40 vmov.f32 s15, s0 809fbf4: eefc 7ae7 vcvt.u32.f32 s15, s15 809fbf8: ee17 3a90 vmov r3, s15 809fbfc: 65bb str r3, [r7, #88] ; 0x58 t = 3; 809fbfe: 2303 movs r3, #3 809fc00: 657b str r3, [r7, #84] ; 0x54 809fc02: e192 b.n 809ff2a if(f < 10000.0f) 809fc04: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809fc08: ed9f 7a63 vldr s14, [pc, #396] ; 809fd98 809fc0c: eef4 7ac7 vcmpe.f32 s15, s14 809fc10: eef1 fa10 vmrs APSR_nzcv, fpscr 809fc14: d513 bpl.n 809fc3e k = (uint32_t) (roundf(f * 10)); 809fc16: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809fc1a: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 809fc1e: ee67 7a87 vmul.f32 s15, s15, s14 809fc22: eeb0 0a67 vmov.f32 s0, s15 809fc26: f02b f811 bl 80cac4c 809fc2a: eef0 7a40 vmov.f32 s15, s0 809fc2e: eefc 7ae7 vcvt.u32.f32 s15, s15 809fc32: ee17 3a90 vmov r3, s15 809fc36: 65bb str r3, [r7, #88] ; 0x58 t = 4; 809fc38: 2304 movs r3, #4 809fc3a: 657b str r3, [r7, #84] ; 0x54 809fc3c: e175 b.n 809ff2a if(f < 100000.0f) 809fc3e: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809fc42: ed9f 7a56 vldr s14, [pc, #344] ; 809fd9c 809fc46: eef4 7ac7 vcmpe.f32 s15, s14 809fc4a: eef1 fa10 vmrs APSR_nzcv, fpscr 809fc4e: d515 bpl.n 809fc7c k = (uint32_t) (roundf(f)); 809fc50: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809fc54: eeb0 0a67 vmov.f32 s0, s15 809fc58: f02a fff8 bl 80cac4c 809fc5c: eef0 7a40 vmov.f32 s15, s0 809fc60: eefc 7ae7 vcvt.u32.f32 s15, s15 809fc64: ee17 3a90 vmov r3, s15 809fc68: 65bb str r3, [r7, #88] ; 0x58 if(k >= 100000) 809fc6a: 6dbb ldr r3, [r7, #88] ; 0x58 809fc6c: 4a48 ldr r2, [pc, #288] ; (809fd90 ) 809fc6e: 4293 cmp r3, r2 809fc70: d901 bls.n 809fc76 k = 99999; 809fc72: 4b47 ldr r3, [pc, #284] ; (809fd90 ) 809fc74: 65bb str r3, [r7, #88] ; 0x58 t = 0; 809fc76: 2300 movs r3, #0 809fc78: 657b str r3, [r7, #84] ; 0x54 809fc7a: e156 b.n 809ff2a if(f >= 100000.0f) 809fc7c: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809fc80: ed9f 7a46 vldr s14, [pc, #280] ; 809fd9c 809fc84: eef4 7ac7 vcmpe.f32 s15, s14 809fc88: eef1 fa10 vmrs APSR_nzcv, fpscr 809fc8c: f2c0 814d blt.w 809ff2a f = 99999.0f; 809fc90: 4b40 ldr r3, [pc, #256] ; (809fd94 ) 809fc92: 647b str r3, [r7, #68] ; 0x44 k = (uint32_t) (roundf(f)); 809fc94: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809fc98: eeb0 0a67 vmov.f32 s0, s15 809fc9c: f02a ffd6 bl 80cac4c 809fca0: eef0 7a40 vmov.f32 s15, s0 809fca4: eefc 7ae7 vcvt.u32.f32 s15, s15 809fca8: ee17 3a90 vmov r3, s15 809fcac: 65bb str r3, [r7, #88] ; 0x58 t = 0; 809fcae: 2300 movs r3, #0 809fcb0: 657b str r3, [r7, #84] ; 0x54 809fcb2: e13a b.n 809ff2a if(f < 10.0f) 809fcb4: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809fcb8: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 809fcbc: eef4 7ac7 vcmpe.f32 s15, s14 809fcc0: eef1 fa10 vmrs APSR_nzcv, fpscr 809fcc4: d515 bpl.n 809fcf2 k = (uint32_t) (roundf(f * 10000)); 809fcc6: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809fcca: ed9f 7a33 vldr s14, [pc, #204] ; 809fd98 809fcce: ee67 7a87 vmul.f32 s15, s15, s14 809fcd2: eeb0 0a67 vmov.f32 s0, s15 809fcd6: f02a ffb9 bl 80cac4c 809fcda: eef0 7a40 vmov.f32 s15, s0 809fcde: eefc 7ae7 vcvt.u32.f32 s15, s15 809fce2: ee17 3a90 vmov r3, s15 809fce6: 65bb str r3, [r7, #88] ; 0x58 t = 1; 809fce8: 2301 movs r3, #1 809fcea: 657b str r3, [r7, #84] ; 0x54 m = 0; 809fcec: 2300 movs r3, #0 809fcee: 64fb str r3, [r7, #76] ; 0x4c 809fcf0: e11b b.n 809ff2a if(f < 100.0f) 809fcf2: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809fcf6: ed9f 7a24 vldr s14, [pc, #144] ; 809fd88 809fcfa: eef4 7ac7 vcmpe.f32 s15, s14 809fcfe: eef1 fa10 vmrs APSR_nzcv, fpscr 809fd02: d515 bpl.n 809fd30 k = (uint32_t) (roundf(f * 1000)); 809fd04: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809fd08: ed9f 7a20 vldr s14, [pc, #128] ; 809fd8c 809fd0c: ee67 7a87 vmul.f32 s15, s15, s14 809fd10: eeb0 0a67 vmov.f32 s0, s15 809fd14: f02a ff9a bl 80cac4c 809fd18: eef0 7a40 vmov.f32 s15, s0 809fd1c: eefc 7ae7 vcvt.u32.f32 s15, s15 809fd20: ee17 3a90 vmov r3, s15 809fd24: 65bb str r3, [r7, #88] ; 0x58 t = 2; 809fd26: 2302 movs r3, #2 809fd28: 657b str r3, [r7, #84] ; 0x54 m = 0; 809fd2a: 2300 movs r3, #0 809fd2c: 64fb str r3, [r7, #76] ; 0x4c 809fd2e: e0fc b.n 809ff2a if(f < 1000.0f) 809fd30: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809fd34: ed9f 7a15 vldr s14, [pc, #84] ; 809fd8c 809fd38: eef4 7ac7 vcmpe.f32 s15, s14 809fd3c: eef1 fa10 vmrs APSR_nzcv, fpscr 809fd40: d53a bpl.n 809fdb8 k = (uint32_t) (roundf(f * 100)); 809fd42: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809fd46: ed9f 7a10 vldr s14, [pc, #64] ; 809fd88 809fd4a: ee67 7a87 vmul.f32 s15, s15, s14 809fd4e: eeb0 0a67 vmov.f32 s0, s15 809fd52: f02a ff7b bl 80cac4c 809fd56: eef0 7a40 vmov.f32 s15, s0 809fd5a: eefc 7ae7 vcvt.u32.f32 s15, s15 809fd5e: ee17 3a90 vmov r3, s15 809fd62: 65bb str r3, [r7, #88] ; 0x58 t = 3; 809fd64: 2303 movs r3, #3 809fd66: 657b str r3, [r7, #84] ; 0x54 m = 0; 809fd68: 2300 movs r3, #0 809fd6a: 64fb str r3, [r7, #76] ; 0x4c 809fd6c: e0dd b.n 809ff2a 809fd6e: bf00 nop 809fd70: 20023e60 .word 0x20023e60 809fd74: 080d0a28 .word 0x080d0a28 809fd78: 080d0a30 .word 0x080d0a30 809fd7c: 200226a0 .word 0x200226a0 809fd80: ff0a0f1f .word 0xff0a0f1f 809fd84: 20020038 .word 0x20020038 809fd88: 42c80000 .word 0x42c80000 809fd8c: 447a0000 .word 0x447a0000 809fd90: 0001869f .word 0x0001869f 809fd94: 47c34f80 .word 0x47c34f80 809fd98: 461c4000 .word 0x461c4000 809fd9c: 47c35000 .word 0x47c35000 809fda0: 49742400 .word 0x49742400 809fda4: 3dcccccd .word 0x3dcccccd 809fda8: 4b189680 .word 0x4b189680 809fdac: 3c23d70a .word 0x3c23d70a 809fdb0: 4cbebc20 .word 0x4cbebc20 809fdb4: 3a83126f .word 0x3a83126f if(f < 10000.0f) 809fdb8: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809fdbc: ed1f 7a0a vldr s14, [pc, #-40] ; 809fd98 809fdc0: eef4 7ac7 vcmpe.f32 s15, s14 809fdc4: eef1 fa10 vmrs APSR_nzcv, fpscr 809fdc8: d515 bpl.n 809fdf6 k = (uint32_t) (roundf(f * 10)); 809fdca: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809fdce: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 809fdd2: ee67 7a87 vmul.f32 s15, s15, s14 809fdd6: eeb0 0a67 vmov.f32 s0, s15 809fdda: f02a ff37 bl 80cac4c 809fdde: eef0 7a40 vmov.f32 s15, s0 809fde2: eefc 7ae7 vcvt.u32.f32 s15, s15 809fde6: ee17 3a90 vmov r3, s15 809fdea: 65bb str r3, [r7, #88] ; 0x58 t = 1; 809fdec: 2301 movs r3, #1 809fdee: 657b str r3, [r7, #84] ; 0x54 m = 1; 809fdf0: 2301 movs r3, #1 809fdf2: 64fb str r3, [r7, #76] ; 0x4c 809fdf4: e099 b.n 809ff2a if(f < 100000.0f) 809fdf6: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809fdfa: ed1f 7a18 vldr s14, [pc, #-96] ; 809fd9c 809fdfe: eef4 7ac7 vcmpe.f32 s15, s14 809fe02: eef1 fa10 vmrs APSR_nzcv, fpscr 809fe06: d511 bpl.n 809fe2c k = (uint32_t) (roundf(f)); 809fe08: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809fe0c: eeb0 0a67 vmov.f32 s0, s15 809fe10: f02a ff1c bl 80cac4c 809fe14: eef0 7a40 vmov.f32 s15, s0 809fe18: eefc 7ae7 vcvt.u32.f32 s15, s15 809fe1c: ee17 3a90 vmov r3, s15 809fe20: 65bb str r3, [r7, #88] ; 0x58 t = 2; 809fe22: 2302 movs r3, #2 809fe24: 657b str r3, [r7, #84] ; 0x54 m = 1; 809fe26: 2301 movs r3, #1 809fe28: 64fb str r3, [r7, #76] ; 0x4c 809fe2a: e07e b.n 809ff2a if(f < 1000000.0f) 809fe2c: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809fe30: ed1f 7a25 vldr s14, [pc, #-148] ; 809fda0 809fe34: eef4 7ac7 vcmpe.f32 s15, s14 809fe38: eef1 fa10 vmrs APSR_nzcv, fpscr 809fe3c: d515 bpl.n 809fe6a k = (uint32_t) (roundf(f * 0.1f)); 809fe3e: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809fe42: ed1f 7a28 vldr s14, [pc, #-160] ; 809fda4 809fe46: ee67 7a87 vmul.f32 s15, s15, s14 809fe4a: eeb0 0a67 vmov.f32 s0, s15 809fe4e: f02a fefd bl 80cac4c 809fe52: eef0 7a40 vmov.f32 s15, s0 809fe56: eefc 7ae7 vcvt.u32.f32 s15, s15 809fe5a: ee17 3a90 vmov r3, s15 809fe5e: 65bb str r3, [r7, #88] ; 0x58 t = 3; 809fe60: 2303 movs r3, #3 809fe62: 657b str r3, [r7, #84] ; 0x54 m = 1; 809fe64: 2301 movs r3, #1 809fe66: 64fb str r3, [r7, #76] ; 0x4c 809fe68: e05f b.n 809ff2a if(f < 10000000.0f) 809fe6a: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809fe6e: ed1f 7a32 vldr s14, [pc, #-200] ; 809fda8 809fe72: eef4 7ac7 vcmpe.f32 s15, s14 809fe76: eef1 fa10 vmrs APSR_nzcv, fpscr 809fe7a: d515 bpl.n 809fea8 k = (uint32_t) (roundf(f * 0.01f)); 809fe7c: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809fe80: ed1f 7a36 vldr s14, [pc, #-216] ; 809fdac 809fe84: ee67 7a87 vmul.f32 s15, s15, s14 809fe88: eeb0 0a67 vmov.f32 s0, s15 809fe8c: f02a fede bl 80cac4c 809fe90: eef0 7a40 vmov.f32 s15, s0 809fe94: eefc 7ae7 vcvt.u32.f32 s15, s15 809fe98: ee17 3a90 vmov r3, s15 809fe9c: 65bb str r3, [r7, #88] ; 0x58 t = 4; 809fe9e: 2304 movs r3, #4 809fea0: 657b str r3, [r7, #84] ; 0x54 m = 1; 809fea2: 2301 movs r3, #1 809fea4: 64fb str r3, [r7, #76] ; 0x4c 809fea6: e040 b.n 809ff2a if(f < 100000000.0f) 809fea8: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809feac: ed1f 7a40 vldr s14, [pc, #-256] ; 809fdb0 809feb0: eef4 7ac7 vcmpe.f32 s15, s14 809feb4: eef1 fa10 vmrs APSR_nzcv, fpscr 809feb8: d51b bpl.n 809fef2 k = (uint32_t) (roundf(f * 0.001f)); 809feba: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809febe: ed1f 7a43 vldr s14, [pc, #-268] ; 809fdb4 809fec2: ee67 7a87 vmul.f32 s15, s15, s14 809fec6: eeb0 0a67 vmov.f32 s0, s15 809feca: f02a febf bl 80cac4c 809fece: eef0 7a40 vmov.f32 s15, s0 809fed2: eefc 7ae7 vcvt.u32.f32 s15, s15 809fed6: ee17 3a90 vmov r3, s15 809feda: 65bb str r3, [r7, #88] ; 0x58 if(k >= 100000) 809fedc: 6dbb ldr r3, [r7, #88] ; 0x58 809fede: 4abc ldr r2, [pc, #752] ; (80a01d0 ) 809fee0: 4293 cmp r3, r2 809fee2: d901 bls.n 809fee8 k = 99999; 809fee4: 4bba ldr r3, [pc, #744] ; (80a01d0 ) 809fee6: 65bb str r3, [r7, #88] ; 0x58 t = 0; 809fee8: 2300 movs r3, #0 809feea: 657b str r3, [r7, #84] ; 0x54 m = 1; 809feec: 2301 movs r3, #1 809feee: 64fb str r3, [r7, #76] ; 0x4c 809fef0: e01b b.n 809ff2a if(f >= 100000000.0f) 809fef2: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809fef6: ed9f 7ab7 vldr s14, [pc, #732] ; 80a01d4 809fefa: eef4 7ac7 vcmpe.f32 s15, s14 809fefe: eef1 fa10 vmrs APSR_nzcv, fpscr 809ff02: db12 blt.n 809ff2a f = 99999.0f; 809ff04: 4bb4 ldr r3, [pc, #720] ; (80a01d8 ) 809ff06: 647b str r3, [r7, #68] ; 0x44 k = (uint32_t) (roundf(f)); 809ff08: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809ff0c: eeb0 0a67 vmov.f32 s0, s15 809ff10: f02a fe9c bl 80cac4c 809ff14: eef0 7a40 vmov.f32 s15, s0 809ff18: eefc 7ae7 vcvt.u32.f32 s15, s15 809ff1c: ee17 3a90 vmov r3, s15 809ff20: 65bb str r3, [r7, #88] ; 0x58 t = 0; 809ff22: 2300 movs r3, #0 809ff24: 657b str r3, [r7, #84] ; 0x54 m = 1; 809ff26: 2301 movs r3, #1 809ff28: 64fb str r3, [r7, #76] ; 0x4c ik[ipr][0] = (uint8_t) (k / 10000); 809ff2a: 6d3a ldr r2, [r7, #80] ; 0x50 809ff2c: 6dbb ldr r3, [r7, #88] ; 0x58 809ff2e: 49ab ldr r1, [pc, #684] ; (80a01dc ) 809ff30: fba1 1303 umull r1, r3, r1, r3 809ff34: 0b5b lsrs r3, r3, #13 809ff36: b2d9 uxtb r1, r3 809ff38: 4613 mov r3, r2 809ff3a: 009b lsls r3, r3, #2 809ff3c: 4413 add r3, r2 809ff3e: f107 0268 add.w r2, r7, #104 ; 0x68 809ff42: 4413 add r3, r2 809ff44: 3b34 subs r3, #52 ; 0x34 809ff46: 460a mov r2, r1 809ff48: 701a strb r2, [r3, #0] ik[ipr][1] = (uint8_t) (k % 10000 / 1000); 809ff4a: 6d39 ldr r1, [r7, #80] ; 0x50 809ff4c: 6dba ldr r2, [r7, #88] ; 0x58 809ff4e: 4ba3 ldr r3, [pc, #652] ; (80a01dc ) 809ff50: fba3 0302 umull r0, r3, r3, r2 809ff54: 0b5b lsrs r3, r3, #13 809ff56: f242 7010 movw r0, #10000 ; 0x2710 809ff5a: fb00 f303 mul.w r3, r0, r3 809ff5e: 1ad3 subs r3, r2, r3 809ff60: 4a9f ldr r2, [pc, #636] ; (80a01e0 ) 809ff62: fba2 2303 umull r2, r3, r2, r3 809ff66: 099b lsrs r3, r3, #6 809ff68: b2da uxtb r2, r3 809ff6a: 460b mov r3, r1 809ff6c: 009b lsls r3, r3, #2 809ff6e: 440b add r3, r1 809ff70: f107 0168 add.w r1, r7, #104 ; 0x68 809ff74: 440b add r3, r1 809ff76: 3b33 subs r3, #51 ; 0x33 809ff78: 701a strb r2, [r3, #0] ik[ipr][2] = (uint8_t) (k % 10000 % 1000 / 100); 809ff7a: 6d39 ldr r1, [r7, #80] ; 0x50 809ff7c: 6dba ldr r2, [r7, #88] ; 0x58 809ff7e: 4b97 ldr r3, [pc, #604] ; (80a01dc ) 809ff80: fba3 0302 umull r0, r3, r3, r2 809ff84: 0b5b lsrs r3, r3, #13 809ff86: f242 7010 movw r0, #10000 ; 0x2710 809ff8a: fb00 f303 mul.w r3, r0, r3 809ff8e: 1ad3 subs r3, r2, r3 809ff90: 4a93 ldr r2, [pc, #588] ; (80a01e0 ) 809ff92: fba2 0203 umull r0, r2, r2, r3 809ff96: 0992 lsrs r2, r2, #6 809ff98: f44f 707a mov.w r0, #1000 ; 0x3e8 809ff9c: fb00 f202 mul.w r2, r0, r2 809ffa0: 1a9a subs r2, r3, r2 809ffa2: 4b90 ldr r3, [pc, #576] ; (80a01e4 ) 809ffa4: fba3 2302 umull r2, r3, r3, r2 809ffa8: 095b lsrs r3, r3, #5 809ffaa: b2da uxtb r2, r3 809ffac: 460b mov r3, r1 809ffae: 009b lsls r3, r3, #2 809ffb0: 440b add r3, r1 809ffb2: f107 0168 add.w r1, r7, #104 ; 0x68 809ffb6: 440b add r3, r1 809ffb8: 3b32 subs r3, #50 ; 0x32 809ffba: 701a strb r2, [r3, #0] ik[ipr][3] = (uint8_t) (k % 10000 % 1000 % 100 / 10); 809ffbc: 6d39 ldr r1, [r7, #80] ; 0x50 809ffbe: 6dbb ldr r3, [r7, #88] ; 0x58 809ffc0: 4a86 ldr r2, [pc, #536] ; (80a01dc ) 809ffc2: fba2 0203 umull r0, r2, r2, r3 809ffc6: 0b52 lsrs r2, r2, #13 809ffc8: f242 7010 movw r0, #10000 ; 0x2710 809ffcc: fb00 f202 mul.w r2, r0, r2 809ffd0: 1a9a subs r2, r3, r2 809ffd2: 4b83 ldr r3, [pc, #524] ; (80a01e0 ) 809ffd4: fba3 0302 umull r0, r3, r3, r2 809ffd8: 099b lsrs r3, r3, #6 809ffda: f44f 707a mov.w r0, #1000 ; 0x3e8 809ffde: fb00 f303 mul.w r3, r0, r3 809ffe2: 1ad3 subs r3, r2, r3 809ffe4: 4a7f ldr r2, [pc, #508] ; (80a01e4 ) 809ffe6: fba2 0203 umull r0, r2, r2, r3 809ffea: 0952 lsrs r2, r2, #5 809ffec: 2064 movs r0, #100 ; 0x64 809ffee: fb00 f202 mul.w r2, r0, r2 809fff2: 1a9a subs r2, r3, r2 809fff4: 4b7c ldr r3, [pc, #496] ; (80a01e8 ) 809fff6: fba3 2302 umull r2, r3, r3, r2 809fffa: 08db lsrs r3, r3, #3 809fffc: b2da uxtb r2, r3 809fffe: 460b mov r3, r1 80a0000: 009b lsls r3, r3, #2 80a0002: 440b add r3, r1 80a0004: f107 0168 add.w r1, r7, #104 ; 0x68 80a0008: 440b add r3, r1 80a000a: 3b31 subs r3, #49 ; 0x31 80a000c: 701a strb r2, [r3, #0] ik[ipr][4] = (uint8_t) (k % 10000 % 1000 % 100 % 10); 80a000e: 6d38 ldr r0, [r7, #80] ; 0x50 80a0010: 6dbb ldr r3, [r7, #88] ; 0x58 80a0012: 4a72 ldr r2, [pc, #456] ; (80a01dc ) 80a0014: fba2 1203 umull r1, r2, r2, r3 80a0018: 0b52 lsrs r2, r2, #13 80a001a: f242 7110 movw r1, #10000 ; 0x2710 80a001e: fb01 f202 mul.w r2, r1, r2 80a0022: 1a9a subs r2, r3, r2 80a0024: 4b6e ldr r3, [pc, #440] ; (80a01e0 ) 80a0026: fba3 1302 umull r1, r3, r3, r2 80a002a: 099b lsrs r3, r3, #6 80a002c: f44f 717a mov.w r1, #1000 ; 0x3e8 80a0030: fb01 f303 mul.w r3, r1, r3 80a0034: 1ad3 subs r3, r2, r3 80a0036: 4a6b ldr r2, [pc, #428] ; (80a01e4 ) 80a0038: fba2 1203 umull r1, r2, r2, r3 80a003c: 0952 lsrs r2, r2, #5 80a003e: 2164 movs r1, #100 ; 0x64 80a0040: fb01 f202 mul.w r2, r1, r2 80a0044: 1a9a subs r2, r3, r2 80a0046: 4b68 ldr r3, [pc, #416] ; (80a01e8 ) 80a0048: fba3 1302 umull r1, r3, r3, r2 80a004c: 08d9 lsrs r1, r3, #3 80a004e: 460b mov r3, r1 80a0050: 009b lsls r3, r3, #2 80a0052: 440b add r3, r1 80a0054: 005b lsls r3, r3, #1 80a0056: 1ad1 subs r1, r2, r3 80a0058: b2ca uxtb r2, r1 80a005a: 4603 mov r3, r0 80a005c: 009b lsls r3, r3, #2 80a005e: 4403 add r3, r0 80a0060: f107 0168 add.w r1, r7, #104 ; 0x68 80a0064: 440b add r3, r1 80a0066: 3b30 subs r3, #48 ; 0x30 80a0068: 701a strb r2, [r3, #0] if(ipr == ACC) 80a006a: 6d3b ldr r3, [r7, #80] ; 0x50 80a006c: 2b00 cmp r3, #0 80a006e: f040 80c9 bne.w 80a0204 if(!t) 80a0072: 6d7b ldr r3, [r7, #84] ; 0x54 80a0074: 2b00 cmp r3, #0 80a0076: d126 bne.n 80a00c6 for(i = 0; i < 5; i++) 80a0078: 2300 movs r3, #0 80a007a: 65fb str r3, [r7, #92] ; 0x5c 80a007c: e01f b.n 80a00be DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 68+18); 80a007e: 6d3a ldr r2, [r7, #80] ; 0x50 80a0080: 6df9 ldr r1, [r7, #92] ; 0x5c 80a0082: 4613 mov r3, r2 80a0084: 009b lsls r3, r3, #2 80a0086: 4413 add r3, r2 80a0088: f107 0268 add.w r2, r7, #104 ; 0x68 80a008c: 4413 add r3, r2 80a008e: 440b add r3, r1 80a0090: 3b34 subs r3, #52 ; 0x34 80a0092: 781b ldrb r3, [r3, #0] 80a0094: b2db uxtb r3, r3 80a0096: 461a mov r2, r3 80a0098: 4b54 ldr r3, [pc, #336] ; (80a01ec ) 80a009a: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a009e: 6dfb ldr r3, [r7, #92] ; 0x5c 80a00a0: b29b uxth r3, r3 80a00a2: 461a mov r2, r3 80a00a4: 0112 lsls r2, r2, #4 80a00a6: 1ad3 subs r3, r2, r3 80a00a8: 005b lsls r3, r3, #1 80a00aa: b29b uxth r3, r3 80a00ac: 335a adds r3, #90 ; 0x5a 80a00ae: b29b uxth r3, r3 80a00b0: 2256 movs r2, #86 ; 0x56 80a00b2: 4619 mov r1, r3 80a00b4: f7b4 fa6e bl 8054594 for(i = 0; i < 5; i++) 80a00b8: 6dfb ldr r3, [r7, #92] ; 0x5c 80a00ba: 3301 adds r3, #1 80a00bc: 65fb str r3, [r7, #92] ; 0x5c 80a00be: 6dfb ldr r3, [r7, #92] ; 0x5c 80a00c0: 2b04 cmp r3, #4 80a00c2: d9dc bls.n 80a007e 80a00c4: e05a b.n 80a017c for(i = 0; i < t; i++) 80a00c6: 2300 movs r3, #0 80a00c8: 65fb str r3, [r7, #92] ; 0x5c 80a00ca: e01f b.n 80a010c DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 68+18); 80a00cc: 6d3a ldr r2, [r7, #80] ; 0x50 80a00ce: 6df9 ldr r1, [r7, #92] ; 0x5c 80a00d0: 4613 mov r3, r2 80a00d2: 009b lsls r3, r3, #2 80a00d4: 4413 add r3, r2 80a00d6: f107 0268 add.w r2, r7, #104 ; 0x68 80a00da: 4413 add r3, r2 80a00dc: 440b add r3, r1 80a00de: 3b34 subs r3, #52 ; 0x34 80a00e0: 781b ldrb r3, [r3, #0] 80a00e2: b2db uxtb r3, r3 80a00e4: 461a mov r2, r3 80a00e6: 4b41 ldr r3, [pc, #260] ; (80a01ec ) 80a00e8: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a00ec: 6dfb ldr r3, [r7, #92] ; 0x5c 80a00ee: b29b uxth r3, r3 80a00f0: 461a mov r2, r3 80a00f2: 0112 lsls r2, r2, #4 80a00f4: 1ad3 subs r3, r2, r3 80a00f6: 005b lsls r3, r3, #1 80a00f8: b29b uxth r3, r3 80a00fa: 335a adds r3, #90 ; 0x5a 80a00fc: b29b uxth r3, r3 80a00fe: 2256 movs r2, #86 ; 0x56 80a0100: 4619 mov r1, r3 80a0102: f7b4 fa47 bl 8054594 for(i = 0; i < t; i++) 80a0106: 6dfb ldr r3, [r7, #92] ; 0x5c 80a0108: 3301 adds r3, #1 80a010a: 65fb str r3, [r7, #92] ; 0x5c 80a010c: 6dfa ldr r2, [r7, #92] ; 0x5c 80a010e: 6d7b ldr r3, [r7, #84] ; 0x54 80a0110: 429a cmp r2, r3 80a0112: d3db bcc.n 80a00cc DrawImage(&bmgpt, 95 + 30*t, 92+18); 80a0114: 6d7b ldr r3, [r7, #84] ; 0x54 80a0116: b29b uxth r3, r3 80a0118: 461a mov r2, r3 80a011a: 0112 lsls r2, r2, #4 80a011c: 1ad3 subs r3, r2, r3 80a011e: 005b lsls r3, r3, #1 80a0120: b29b uxth r3, r3 80a0122: 335f adds r3, #95 ; 0x5f 80a0124: b29b uxth r3, r3 80a0126: 226e movs r2, #110 ; 0x6e 80a0128: 4619 mov r1, r3 80a012a: 4831 ldr r0, [pc, #196] ; (80a01f0 ) 80a012c: f7b4 fa32 bl 8054594 for(i = t; i < 5; i++) 80a0130: 6d7b ldr r3, [r7, #84] ; 0x54 80a0132: 65fb str r3, [r7, #92] ; 0x5c 80a0134: e01f b.n 80a0176 DrawImage(NUMS[ik[ipr][i]], 110 + 30*i, 68+18); 80a0136: 6d3a ldr r2, [r7, #80] ; 0x50 80a0138: 6df9 ldr r1, [r7, #92] ; 0x5c 80a013a: 4613 mov r3, r2 80a013c: 009b lsls r3, r3, #2 80a013e: 4413 add r3, r2 80a0140: f107 0268 add.w r2, r7, #104 ; 0x68 80a0144: 4413 add r3, r2 80a0146: 440b add r3, r1 80a0148: 3b34 subs r3, #52 ; 0x34 80a014a: 781b ldrb r3, [r3, #0] 80a014c: b2db uxtb r3, r3 80a014e: 461a mov r2, r3 80a0150: 4b26 ldr r3, [pc, #152] ; (80a01ec ) 80a0152: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a0156: 6dfb ldr r3, [r7, #92] ; 0x5c 80a0158: b29b uxth r3, r3 80a015a: 461a mov r2, r3 80a015c: 0112 lsls r2, r2, #4 80a015e: 1ad3 subs r3, r2, r3 80a0160: 005b lsls r3, r3, #1 80a0162: b29b uxth r3, r3 80a0164: 336e adds r3, #110 ; 0x6e 80a0166: b29b uxth r3, r3 80a0168: 2256 movs r2, #86 ; 0x56 80a016a: 4619 mov r1, r3 80a016c: f7b4 fa12 bl 8054594 for(i = t; i < 5; i++) 80a0170: 6dfb ldr r3, [r7, #92] ; 0x5c 80a0172: 3301 adds r3, #1 80a0174: 65fb str r3, [r7, #92] ; 0x5c 80a0176: 6dfb ldr r3, [r7, #92] ; 0x5c 80a0178: 2b04 cmp r3, #4 80a017a: d9dc bls.n 80a0136 if(ReadFileData.Aivs < 'E') 80a017c: 4b1d ldr r3, [pc, #116] ; (80a01f4 ) 80a017e: f893 302c ldrb.w r3, [r3, #44] ; 0x2c 80a0182: b2db uxtb r3, r3 80a0184: 2b44 cmp r3, #68 ; 0x44 80a0186: d80c bhi.n 80a01a2 DrawImage(BMG_MS[pardata.LANG], 265, 74+18); 80a0188: 4b1b ldr r3, [pc, #108] ; (80a01f8 ) 80a018a: 7b1b ldrb r3, [r3, #12] 80a018c: b2db uxtb r3, r3 80a018e: 461a mov r2, r3 80a0190: 4b1a ldr r3, [pc, #104] ; (80a01fc ) 80a0192: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a0196: 225c movs r2, #92 ; 0x5c 80a0198: f240 1109 movw r1, #265 ; 0x109 80a019c: 4618 mov r0, r3 80a019e: f7b4 f9f9 bl 8054594 if(ReadFileData.Aivs == 'E') 80a01a2: 4b14 ldr r3, [pc, #80] ; (80a01f4 ) 80a01a4: f893 302c ldrb.w r3, [r3, #44] ; 0x2c 80a01a8: b2db uxtb r3, r3 80a01aa: 2b45 cmp r3, #69 ; 0x45 80a01ac: f040 81f1 bne.w 80a0592 if(ReadFileData.Vval.fl < 0.0f) { 80a01b0: 4b10 ldr r3, [pc, #64] ; (80a01f4 ) 80a01b2: edd3 7a01 vldr s15, [r3, #4] 80a01b6: eef5 7ac0 vcmpe.f32 s15, #0.0 80a01ba: eef1 fa10 vmrs APSR_nzcv, fpscr 80a01be: f140 81e8 bpl.w 80a0592 DrawImage(&bmgminus, 78, 84+18); 80a01c2: 2266 movs r2, #102 ; 0x66 80a01c4: 214e movs r1, #78 ; 0x4e 80a01c6: 480e ldr r0, [pc, #56] ; (80a0200 ) 80a01c8: f7b4 f9e4 bl 8054594 80a01cc: e1e1 b.n 80a0592 80a01ce: bf00 nop 80a01d0: 0001869f .word 0x0001869f 80a01d4: 4cbebc20 .word 0x4cbebc20 80a01d8: 47c34f80 .word 0x47c34f80 80a01dc: d1b71759 .word 0xd1b71759 80a01e0: 10624dd3 .word 0x10624dd3 80a01e4: 51eb851f .word 0x51eb851f 80a01e8: cccccccd .word 0xcccccccd 80a01ec: 20020124 .word 0x20020124 80a01f0: 08167a1c .word 0x08167a1c 80a01f4: 200226a0 .word 0x200226a0 80a01f8: 20023e60 .word 0x20023e60 80a01fc: 200200f4 .word 0x200200f4 80a0200: 08167990 .word 0x08167990 if(ipr == VEL) 80a0204: 6d3b ldr r3, [r7, #80] ; 0x50 80a0206: 2b01 cmp r3, #1 80a0208: f040 80ce bne.w 80a03a8 if(ReadFileData.Vval.fl != -1.0f) 80a020c: 4b9f ldr r3, [pc, #636] ; (80a048c ) 80a020e: edd3 7a01 vldr s15, [r3, #4] 80a0212: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 80a0216: eef4 7a47 vcmp.f32 s15, s14 80a021a: eef1 fa10 vmrs APSR_nzcv, fpscr 80a021e: f000 80ae beq.w 80a037e if(!t) 80a0222: 6d7b ldr r3, [r7, #84] ; 0x54 80a0224: 2b00 cmp r3, #0 80a0226: d126 bne.n 80a0276 for(i = 0; i < 5; i++) 80a0228: 2300 movs r3, #0 80a022a: 65fb str r3, [r7, #92] ; 0x5c 80a022c: e01f b.n 80a026e DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 121+9); 80a022e: 6d3a ldr r2, [r7, #80] ; 0x50 80a0230: 6df9 ldr r1, [r7, #92] ; 0x5c 80a0232: 4613 mov r3, r2 80a0234: 009b lsls r3, r3, #2 80a0236: 4413 add r3, r2 80a0238: f107 0268 add.w r2, r7, #104 ; 0x68 80a023c: 4413 add r3, r2 80a023e: 440b add r3, r1 80a0240: 3b34 subs r3, #52 ; 0x34 80a0242: 781b ldrb r3, [r3, #0] 80a0244: b2db uxtb r3, r3 80a0246: 461a mov r2, r3 80a0248: 4b91 ldr r3, [pc, #580] ; (80a0490 ) 80a024a: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a024e: 6dfb ldr r3, [r7, #92] ; 0x5c 80a0250: b29b uxth r3, r3 80a0252: 461a mov r2, r3 80a0254: 0112 lsls r2, r2, #4 80a0256: 1ad3 subs r3, r2, r3 80a0258: 005b lsls r3, r3, #1 80a025a: b29b uxth r3, r3 80a025c: 335a adds r3, #90 ; 0x5a 80a025e: b29b uxth r3, r3 80a0260: 2282 movs r2, #130 ; 0x82 80a0262: 4619 mov r1, r3 80a0264: f7b4 f996 bl 8054594 for(i = 0; i < 5; i++) 80a0268: 6dfb ldr r3, [r7, #92] ; 0x5c 80a026a: 3301 adds r3, #1 80a026c: 65fb str r3, [r7, #92] ; 0x5c 80a026e: 6dfb ldr r3, [r7, #92] ; 0x5c 80a0270: 2b04 cmp r3, #4 80a0272: d9dc bls.n 80a022e 80a0274: e05a b.n 80a032c for(i = 0; i < t; i++) 80a0276: 2300 movs r3, #0 80a0278: 65fb str r3, [r7, #92] ; 0x5c 80a027a: e01f b.n 80a02bc DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 121+9); 80a027c: 6d3a ldr r2, [r7, #80] ; 0x50 80a027e: 6df9 ldr r1, [r7, #92] ; 0x5c 80a0280: 4613 mov r3, r2 80a0282: 009b lsls r3, r3, #2 80a0284: 4413 add r3, r2 80a0286: f107 0268 add.w r2, r7, #104 ; 0x68 80a028a: 4413 add r3, r2 80a028c: 440b add r3, r1 80a028e: 3b34 subs r3, #52 ; 0x34 80a0290: 781b ldrb r3, [r3, #0] 80a0292: b2db uxtb r3, r3 80a0294: 461a mov r2, r3 80a0296: 4b7e ldr r3, [pc, #504] ; (80a0490 ) 80a0298: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a029c: 6dfb ldr r3, [r7, #92] ; 0x5c 80a029e: b29b uxth r3, r3 80a02a0: 461a mov r2, r3 80a02a2: 0112 lsls r2, r2, #4 80a02a4: 1ad3 subs r3, r2, r3 80a02a6: 005b lsls r3, r3, #1 80a02a8: b29b uxth r3, r3 80a02aa: 335a adds r3, #90 ; 0x5a 80a02ac: b29b uxth r3, r3 80a02ae: 2282 movs r2, #130 ; 0x82 80a02b0: 4619 mov r1, r3 80a02b2: f7b4 f96f bl 8054594 for(i = 0; i < t; i++) 80a02b6: 6dfb ldr r3, [r7, #92] ; 0x5c 80a02b8: 3301 adds r3, #1 80a02ba: 65fb str r3, [r7, #92] ; 0x5c 80a02bc: 6dfa ldr r2, [r7, #92] ; 0x5c 80a02be: 6d7b ldr r3, [r7, #84] ; 0x54 80a02c0: 429a cmp r2, r3 80a02c2: d3db bcc.n 80a027c DrawImage(&bmgpt, 95 + 30*t, 145+9); 80a02c4: 6d7b ldr r3, [r7, #84] ; 0x54 80a02c6: b29b uxth r3, r3 80a02c8: 461a mov r2, r3 80a02ca: 0112 lsls r2, r2, #4 80a02cc: 1ad3 subs r3, r2, r3 80a02ce: 005b lsls r3, r3, #1 80a02d0: b29b uxth r3, r3 80a02d2: 335f adds r3, #95 ; 0x5f 80a02d4: b29b uxth r3, r3 80a02d6: 229a movs r2, #154 ; 0x9a 80a02d8: 4619 mov r1, r3 80a02da: 486e ldr r0, [pc, #440] ; (80a0494 ) 80a02dc: f7b4 f95a bl 8054594 for(i = t; i < 5; i++) 80a02e0: 6d7b ldr r3, [r7, #84] ; 0x54 80a02e2: 65fb str r3, [r7, #92] ; 0x5c 80a02e4: e01f b.n 80a0326 DrawImage(NUMS[ik[ipr][i]], 110 + 30*i, 121+9); 80a02e6: 6d3a ldr r2, [r7, #80] ; 0x50 80a02e8: 6df9 ldr r1, [r7, #92] ; 0x5c 80a02ea: 4613 mov r3, r2 80a02ec: 009b lsls r3, r3, #2 80a02ee: 4413 add r3, r2 80a02f0: f107 0268 add.w r2, r7, #104 ; 0x68 80a02f4: 4413 add r3, r2 80a02f6: 440b add r3, r1 80a02f8: 3b34 subs r3, #52 ; 0x34 80a02fa: 781b ldrb r3, [r3, #0] 80a02fc: b2db uxtb r3, r3 80a02fe: 461a mov r2, r3 80a0300: 4b63 ldr r3, [pc, #396] ; (80a0490 ) 80a0302: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a0306: 6dfb ldr r3, [r7, #92] ; 0x5c 80a0308: b29b uxth r3, r3 80a030a: 461a mov r2, r3 80a030c: 0112 lsls r2, r2, #4 80a030e: 1ad3 subs r3, r2, r3 80a0310: 005b lsls r3, r3, #1 80a0312: b29b uxth r3, r3 80a0314: 336e adds r3, #110 ; 0x6e 80a0316: b29b uxth r3, r3 80a0318: 2282 movs r2, #130 ; 0x82 80a031a: 4619 mov r1, r3 80a031c: f7b4 f93a bl 8054594 for(i = t; i < 5; i++) 80a0320: 6dfb ldr r3, [r7, #92] ; 0x5c 80a0322: 3301 adds r3, #1 80a0324: 65fb str r3, [r7, #92] ; 0x5c 80a0326: 6dfb ldr r3, [r7, #92] ; 0x5c 80a0328: 2b04 cmp r3, #4 80a032a: d9dc bls.n 80a02e6 if(ReadFileData.Vivs < 'E') 80a032c: 4b57 ldr r3, [pc, #348] ; (80a048c ) 80a032e: f893 302d ldrb.w r3, [r3, #45] ; 0x2d 80a0332: b2db uxtb r3, r3 80a0334: 2b44 cmp r3, #68 ; 0x44 80a0336: d80c bhi.n 80a0352 DrawImage(BMG_MMS[pardata.LANG], 265, 128+9); 80a0338: 4b57 ldr r3, [pc, #348] ; (80a0498 ) 80a033a: 7b1b ldrb r3, [r3, #12] 80a033c: b2db uxtb r3, r3 80a033e: 461a mov r2, r3 80a0340: 4b56 ldr r3, [pc, #344] ; (80a049c ) 80a0342: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a0346: 2289 movs r2, #137 ; 0x89 80a0348: f240 1109 movw r1, #265 ; 0x109 80a034c: 4618 mov r0, r3 80a034e: f7b4 f921 bl 8054594 if(ReadFileData.Vivs == 'E') 80a0352: 4b4e ldr r3, [pc, #312] ; (80a048c ) 80a0354: f893 302d ldrb.w r3, [r3, #45] ; 0x2d 80a0358: b2db uxtb r3, r3 80a035a: 2b45 cmp r3, #69 ; 0x45 80a035c: f040 8119 bne.w 80a0592 if(ReadFileData.Vval.fl < 0.0f) { 80a0360: 4b4a ldr r3, [pc, #296] ; (80a048c ) 80a0362: edd3 7a01 vldr s15, [r3, #4] 80a0366: eef5 7ac0 vcmpe.f32 s15, #0.0 80a036a: eef1 fa10 vmrs APSR_nzcv, fpscr 80a036e: f140 8110 bpl.w 80a0592 DrawImage(&bmgminus, 78, 138+9); 80a0372: 2293 movs r2, #147 ; 0x93 80a0374: 214e movs r1, #78 ; 0x4e 80a0376: 484a ldr r0, [pc, #296] ; (80a04a0 ) 80a0378: f7b4 f90c bl 8054594 80a037c: e109 b.n 80a0592 LCD_SetColors(LCD_COLOR_NUMGREEN, LCD_COLOR_BLACK); 80a037e: 4949 ldr r1, [pc, #292] ; (80a04a4 ) 80a0380: 4849 ldr r0, [pc, #292] ; (80a04a8 ) 80a0382: f7b3 fa13 bl 80537ac if(pardata.LANG == RUS) 80a0386: 4b44 ldr r3, [pc, #272] ; (80a0498 ) 80a0388: 7b1b ldrb r3, [r3, #12] 80a038a: b2db uxtb r3, r3 80a038c: 2b00 cmp r3, #0 80a038e: d105 bne.n 80a039c LCD_DisplayStringC(167, 135, "ÍÅÒ ÄÀÍÍÛÕ"); 80a0390: 4a46 ldr r2, [pc, #280] ; (80a04ac ) 80a0392: 2187 movs r1, #135 ; 0x87 80a0394: 20a7 movs r0, #167 ; 0xa7 80a0396: f7b3 ffc9 bl 805432c 80a039a: e0fa b.n 80a0592 else LCD_DisplayStringC(167, 135, "NO DATA"); 80a039c: 4a44 ldr r2, [pc, #272] ; (80a04b0 ) 80a039e: 2187 movs r1, #135 ; 0x87 80a03a0: 20a7 movs r0, #167 ; 0xa7 80a03a2: f7b3 ffc3 bl 805432c 80a03a6: e0f4 b.n 80a0592 if(ipr == DIS) 80a03a8: 6d3b ldr r3, [r7, #80] ; 0x50 80a03aa: 2b02 cmp r3, #2 80a03ac: f040 80f1 bne.w 80a0592 if(ReadFileData.Sval.fl != -1.0f) 80a03b0: 4b36 ldr r3, [pc, #216] ; (80a048c ) 80a03b2: edd3 7a02 vldr s15, [r3, #8] 80a03b6: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 80a03ba: eef4 7a47 vcmp.f32 s15, s14 80a03be: eef1 fa10 vmrs APSR_nzcv, fpscr 80a03c2: f000 80d2 beq.w 80a056a if(!t) 80a03c6: 6d7b ldr r3, [r7, #84] ; 0x54 80a03c8: 2b00 cmp r3, #0 80a03ca: d126 bne.n 80a041a for(i = 0; i < 5; i++) 80a03cc: 2300 movs r3, #0 80a03ce: 65fb str r3, [r7, #92] ; 0x5c 80a03d0: e01f b.n 80a0412 DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 174); 80a03d2: 6d3a ldr r2, [r7, #80] ; 0x50 80a03d4: 6df9 ldr r1, [r7, #92] ; 0x5c 80a03d6: 4613 mov r3, r2 80a03d8: 009b lsls r3, r3, #2 80a03da: 4413 add r3, r2 80a03dc: f107 0268 add.w r2, r7, #104 ; 0x68 80a03e0: 4413 add r3, r2 80a03e2: 440b add r3, r1 80a03e4: 3b34 subs r3, #52 ; 0x34 80a03e6: 781b ldrb r3, [r3, #0] 80a03e8: b2db uxtb r3, r3 80a03ea: 461a mov r2, r3 80a03ec: 4b28 ldr r3, [pc, #160] ; (80a0490 ) 80a03ee: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a03f2: 6dfb ldr r3, [r7, #92] ; 0x5c 80a03f4: b29b uxth r3, r3 80a03f6: 461a mov r2, r3 80a03f8: 0112 lsls r2, r2, #4 80a03fa: 1ad3 subs r3, r2, r3 80a03fc: 005b lsls r3, r3, #1 80a03fe: b29b uxth r3, r3 80a0400: 335a adds r3, #90 ; 0x5a 80a0402: b29b uxth r3, r3 80a0404: 22ae movs r2, #174 ; 0xae 80a0406: 4619 mov r1, r3 80a0408: f7b4 f8c4 bl 8054594 for(i = 0; i < 5; i++) 80a040c: 6dfb ldr r3, [r7, #92] ; 0x5c 80a040e: 3301 adds r3, #1 80a0410: 65fb str r3, [r7, #92] ; 0x5c 80a0412: 6dfb ldr r3, [r7, #92] ; 0x5c 80a0414: 2b04 cmp r3, #4 80a0416: d9dc bls.n 80a03d2 80a0418: e06f b.n 80a04fa for(i = 0; i < t; i++) 80a041a: 2300 movs r3, #0 80a041c: 65fb str r3, [r7, #92] ; 0x5c 80a041e: e01f b.n 80a0460 DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 174); 80a0420: 6d3a ldr r2, [r7, #80] ; 0x50 80a0422: 6df9 ldr r1, [r7, #92] ; 0x5c 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: 440b add r3, r1 80a0432: 3b34 subs r3, #52 ; 0x34 80a0434: 781b ldrb r3, [r3, #0] 80a0436: b2db uxtb r3, r3 80a0438: 461a mov r2, r3 80a043a: 4b15 ldr r3, [pc, #84] ; (80a0490 ) 80a043c: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a0440: 6dfb ldr r3, [r7, #92] ; 0x5c 80a0442: b29b uxth r3, r3 80a0444: 461a mov r2, r3 80a0446: 0112 lsls r2, r2, #4 80a0448: 1ad3 subs r3, r2, r3 80a044a: 005b lsls r3, r3, #1 80a044c: b29b uxth r3, r3 80a044e: 335a adds r3, #90 ; 0x5a 80a0450: b29b uxth r3, r3 80a0452: 22ae movs r2, #174 ; 0xae 80a0454: 4619 mov r1, r3 80a0456: f7b4 f89d bl 8054594 for(i = 0; i < t; i++) 80a045a: 6dfb ldr r3, [r7, #92] ; 0x5c 80a045c: 3301 adds r3, #1 80a045e: 65fb str r3, [r7, #92] ; 0x5c 80a0460: 6dfa ldr r2, [r7, #92] ; 0x5c 80a0462: 6d7b ldr r3, [r7, #84] ; 0x54 80a0464: 429a cmp r2, r3 80a0466: d3db bcc.n 80a0420 DrawImage(&bmgpt, 95 + 30*t, 198); 80a0468: 6d7b ldr r3, [r7, #84] ; 0x54 80a046a: b29b uxth r3, r3 80a046c: 461a mov r2, r3 80a046e: 0112 lsls r2, r2, #4 80a0470: 1ad3 subs r3, r2, r3 80a0472: 005b lsls r3, r3, #1 80a0474: b29b uxth r3, r3 80a0476: 335f adds r3, #95 ; 0x5f 80a0478: b29b uxth r3, r3 80a047a: 22c6 movs r2, #198 ; 0xc6 80a047c: 4619 mov r1, r3 80a047e: 4805 ldr r0, [pc, #20] ; (80a0494 ) 80a0480: f7b4 f888 bl 8054594 for(i = t; i < 5; i++) 80a0484: 6d7b ldr r3, [r7, #84] ; 0x54 80a0486: 65fb str r3, [r7, #92] ; 0x5c 80a0488: e034 b.n 80a04f4 80a048a: bf00 nop 80a048c: 200226a0 .word 0x200226a0 80a0490: 20020124 .word 0x20020124 80a0494: 08167a1c .word 0x08167a1c 80a0498: 20023e60 .word 0x20023e60 80a049c: 200200fc .word 0x200200fc 80a04a0: 08167990 .word 0x08167990 80a04a4: ff0a0f1f .word 0xff0a0f1f 80a04a8: ffb8e828 .word 0xffb8e828 80a04ac: 080cfaf4 .word 0x080cfaf4 80a04b0: 080cfb00 .word 0x080cfb00 DrawImage(NUMS[ik[ipr][i]], 110 + 30*i, 174); 80a04b4: 6d3a ldr r2, [r7, #80] ; 0x50 80a04b6: 6df9 ldr r1, [r7, #92] ; 0x5c 80a04b8: 4613 mov r3, r2 80a04ba: 009b lsls r3, r3, #2 80a04bc: 4413 add r3, r2 80a04be: f107 0268 add.w r2, r7, #104 ; 0x68 80a04c2: 4413 add r3, r2 80a04c4: 440b add r3, r1 80a04c6: 3b34 subs r3, #52 ; 0x34 80a04c8: 781b ldrb r3, [r3, #0] 80a04ca: b2db uxtb r3, r3 80a04cc: 461a mov r2, r3 80a04ce: 4bbe ldr r3, [pc, #760] ; (80a07c8 ) 80a04d0: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a04d4: 6dfb ldr r3, [r7, #92] ; 0x5c 80a04d6: b29b uxth r3, r3 80a04d8: 461a mov r2, r3 80a04da: 0112 lsls r2, r2, #4 80a04dc: 1ad3 subs r3, r2, r3 80a04de: 005b lsls r3, r3, #1 80a04e0: b29b uxth r3, r3 80a04e2: 336e adds r3, #110 ; 0x6e 80a04e4: b29b uxth r3, r3 80a04e6: 22ae movs r2, #174 ; 0xae 80a04e8: 4619 mov r1, r3 80a04ea: f7b4 f853 bl 8054594 for(i = t; i < 5; i++) 80a04ee: 6dfb ldr r3, [r7, #92] ; 0x5c 80a04f0: 3301 adds r3, #1 80a04f2: 65fb str r3, [r7, #92] ; 0x5c 80a04f4: 6dfb ldr r3, [r7, #92] ; 0x5c 80a04f6: 2b04 cmp r3, #4 80a04f8: d9dc bls.n 80a04b4 if(ReadFileData.Sivs < 'E') 80a04fa: 4bb4 ldr r3, [pc, #720] ; (80a07cc ) 80a04fc: f893 302e ldrb.w r3, [r3, #46] ; 0x2e 80a0500: b2db uxtb r3, r3 80a0502: 2b44 cmp r3, #68 ; 0x44 80a0504: d81d bhi.n 80a0542 if(m == 0) 80a0506: 6cfb ldr r3, [r7, #76] ; 0x4c 80a0508: 2b00 cmp r3, #0 80a050a: d10d bne.n 80a0528 DrawImage(BMG_MKM[pardata.LANG], 265, 180); 80a050c: 4bb0 ldr r3, [pc, #704] ; (80a07d0 ) 80a050e: 7b1b ldrb r3, [r3, #12] 80a0510: b2db uxtb r3, r3 80a0512: 461a mov r2, r3 80a0514: 4baf ldr r3, [pc, #700] ; (80a07d4 ) 80a0516: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a051a: 22b4 movs r2, #180 ; 0xb4 80a051c: f240 1109 movw r1, #265 ; 0x109 80a0520: 4618 mov r0, r3 80a0522: f7b4 f837 bl 8054594 80a0526: e00c b.n 80a0542 else DrawImage(BMG_MM[pardata.LANG], 265, 180); 80a0528: 4ba9 ldr r3, [pc, #676] ; (80a07d0 ) 80a052a: 7b1b ldrb r3, [r3, #12] 80a052c: b2db uxtb r3, r3 80a052e: 461a mov r2, r3 80a0530: 4ba9 ldr r3, [pc, #676] ; (80a07d8 ) 80a0532: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a0536: 22b4 movs r2, #180 ; 0xb4 80a0538: f240 1109 movw r1, #265 ; 0x109 80a053c: 4618 mov r0, r3 80a053e: f7b4 f829 bl 8054594 if(ReadFileData.Sivs == 'E') 80a0542: 4ba2 ldr r3, [pc, #648] ; (80a07cc ) 80a0544: f893 302e ldrb.w r3, [r3, #46] ; 0x2e 80a0548: b2db uxtb r3, r3 80a054a: 2b45 cmp r3, #69 ; 0x45 80a054c: d121 bne.n 80a0592 if(ReadFileData.Sval.fl < 0.0f) { 80a054e: 4b9f ldr r3, [pc, #636] ; (80a07cc ) 80a0550: edd3 7a02 vldr s15, [r3, #8] 80a0554: eef5 7ac0 vcmpe.f32 s15, #0.0 80a0558: eef1 fa10 vmrs APSR_nzcv, fpscr 80a055c: d519 bpl.n 80a0592 DrawImage(&bmgminus, 78, 190); 80a055e: 22be movs r2, #190 ; 0xbe 80a0560: 214e movs r1, #78 ; 0x4e 80a0562: 489e ldr r0, [pc, #632] ; (80a07dc ) 80a0564: f7b4 f816 bl 8054594 80a0568: e013 b.n 80a0592 LCD_SetColors(LCD_COLOR_NUMGREEN, LCD_COLOR_BLACK); 80a056a: 499d ldr r1, [pc, #628] ; (80a07e0 ) 80a056c: 489d ldr r0, [pc, #628] ; (80a07e4 ) 80a056e: f7b3 f91d bl 80537ac if(pardata.LANG == RUS) 80a0572: 4b97 ldr r3, [pc, #604] ; (80a07d0 ) 80a0574: 7b1b ldrb r3, [r3, #12] 80a0576: b2db uxtb r3, r3 80a0578: 2b00 cmp r3, #0 80a057a: d105 bne.n 80a0588 LCD_DisplayStringC(167, 185, "ÍÅÒ ÄÀÍÍÛÕ"); 80a057c: 4a9a ldr r2, [pc, #616] ; (80a07e8 ) 80a057e: 21b9 movs r1, #185 ; 0xb9 80a0580: 20a7 movs r0, #167 ; 0xa7 80a0582: f7b3 fed3 bl 805432c 80a0586: e004 b.n 80a0592 else LCD_DisplayStringC(167, 185, "NO DATA"); 80a0588: 4a98 ldr r2, [pc, #608] ; (80a07ec ) 80a058a: 21b9 movs r1, #185 ; 0xb9 80a058c: 20a7 movs r0, #167 ; 0xa7 80a058e: f7b3 fecd bl 805432c for(ipr = ACC; ipr <= DIS; ipr++) 80a0592: 6d3b ldr r3, [r7, #80] ; 0x50 80a0594: 3301 adds r3, #1 80a0596: 653b str r3, [r7, #80] ; 0x50 80a0598: 6d3b ldr r3, [r7, #80] ; 0x50 80a059a: 2b02 cmp r3, #2 80a059c: f67f aa84 bls.w 809faa8 break; 80a05a0: f003 ba6e b.w 80a3a80 for(ipr = ACC; ipr <= DIS; ipr++) 80a05a4: 2300 movs r3, #0 80a05a6: 653b str r3, [r7, #80] ; 0x50 80a05a8: f001 b964 b.w 80a1874 if(ipr == ACC) f = ReadFileData.Aval.fl; 80a05ac: 6d3b ldr r3, [r7, #80] ; 0x50 80a05ae: 2b00 cmp r3, #0 80a05b0: d103 bne.n 80a05ba 80a05b2: 4b86 ldr r3, [pc, #536] ; (80a07cc ) 80a05b4: 681b ldr r3, [r3, #0] 80a05b6: 647b str r3, [r7, #68] ; 0x44 80a05b8: e00c b.n 80a05d4 else if(ipr == VEL) f = ReadFileData.Vval.fl; 80a05ba: 6d3b ldr r3, [r7, #80] ; 0x50 80a05bc: 2b01 cmp r3, #1 80a05be: d103 bne.n 80a05c8 80a05c0: 4b82 ldr r3, [pc, #520] ; (80a07cc ) 80a05c2: 685b ldr r3, [r3, #4] 80a05c4: 647b str r3, [r7, #68] ; 0x44 80a05c6: e005 b.n 80a05d4 else if(ipr == DIS) f = ReadFileData.Sval.fl; 80a05c8: 6d3b ldr r3, [r7, #80] ; 0x50 80a05ca: 2b02 cmp r3, #2 80a05cc: d102 bne.n 80a05d4 80a05ce: 4b7f ldr r3, [pc, #508] ; (80a07cc ) 80a05d0: 689b ldr r3, [r3, #8] 80a05d2: 647b str r3, [r7, #68] ; 0x44 if(ivs[ipr] >= 'F') 80a05d4: 6d3b ldr r3, [r7, #80] ; 0x50 80a05d6: f107 0268 add.w r2, r7, #104 ; 0x68 80a05da: 4413 add r3, r2 80a05dc: f813 3c68 ldrb.w r3, [r3, #-104] 80a05e0: 2b45 cmp r3, #69 ; 0x45 80a05e2: f240 8532 bls.w 80a104a if(ipr < DIS) 80a05e6: 6d3b ldr r3, [r7, #80] ; 0x50 80a05e8: 2b01 cmp r3, #1 80a05ea: f200 80af bhi.w 80a074c if(f < 10.0f) 80a05ee: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a05f2: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80a05f6: eef4 7ac7 vcmpe.f32 s15, s14 80a05fa: eef1 fa10 vmrs APSR_nzcv, fpscr 80a05fe: d513 bpl.n 80a0628 k = (uint32_t) (roundf(f * 10000)); 80a0600: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a0604: ed9f 7a7e vldr s14, [pc, #504] ; 80a0800 80a0608: ee67 7a87 vmul.f32 s15, s15, s14 80a060c: eeb0 0a67 vmov.f32 s0, s15 80a0610: f02a fb1c bl 80cac4c 80a0614: eef0 7a40 vmov.f32 s15, s0 80a0618: eefc 7ae7 vcvt.u32.f32 s15, s15 80a061c: ee17 3a90 vmov r3, s15 80a0620: 65bb str r3, [r7, #88] ; 0x58 t = 1; 80a0622: 2301 movs r3, #1 80a0624: 657b str r3, [r7, #84] ; 0x54 80a0626: e1d3 b.n 80a09d0 if(f < 100.0f) 80a0628: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a062c: ed9f 7a73 vldr s14, [pc, #460] ; 80a07fc 80a0630: eef4 7ac7 vcmpe.f32 s15, s14 80a0634: eef1 fa10 vmrs APSR_nzcv, fpscr 80a0638: d513 bpl.n 80a0662 k = (uint32_t) (roundf(f * 1000)); 80a063a: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a063e: ed9f 7a6e vldr s14, [pc, #440] ; 80a07f8 80a0642: ee67 7a87 vmul.f32 s15, s15, s14 80a0646: eeb0 0a67 vmov.f32 s0, s15 80a064a: f02a faff bl 80cac4c 80a064e: eef0 7a40 vmov.f32 s15, s0 80a0652: eefc 7ae7 vcvt.u32.f32 s15, s15 80a0656: ee17 3a90 vmov r3, s15 80a065a: 65bb str r3, [r7, #88] ; 0x58 t = 2; 80a065c: 2302 movs r3, #2 80a065e: 657b str r3, [r7, #84] ; 0x54 80a0660: e1b6 b.n 80a09d0 if(f < 1000.0f) 80a0662: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a0666: ed9f 7a64 vldr s14, [pc, #400] ; 80a07f8 80a066a: eef4 7ac7 vcmpe.f32 s15, s14 80a066e: eef1 fa10 vmrs APSR_nzcv, fpscr 80a0672: d513 bpl.n 80a069c k = (uint32_t) (roundf(f * 100)); 80a0674: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a0678: ed9f 7a60 vldr s14, [pc, #384] ; 80a07fc 80a067c: ee67 7a87 vmul.f32 s15, s15, s14 80a0680: eeb0 0a67 vmov.f32 s0, s15 80a0684: f02a fae2 bl 80cac4c 80a0688: eef0 7a40 vmov.f32 s15, s0 80a068c: eefc 7ae7 vcvt.u32.f32 s15, s15 80a0690: ee17 3a90 vmov r3, s15 80a0694: 65bb str r3, [r7, #88] ; 0x58 t = 3; 80a0696: 2303 movs r3, #3 80a0698: 657b str r3, [r7, #84] ; 0x54 80a069a: e199 b.n 80a09d0 if(f < 10000.0f) 80a069c: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a06a0: ed9f 7a57 vldr s14, [pc, #348] ; 80a0800 80a06a4: eef4 7ac7 vcmpe.f32 s15, s14 80a06a8: eef1 fa10 vmrs APSR_nzcv, fpscr 80a06ac: d513 bpl.n 80a06d6 k = (uint32_t) (roundf(f * 10)); 80a06ae: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a06b2: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80a06b6: ee67 7a87 vmul.f32 s15, s15, s14 80a06ba: eeb0 0a67 vmov.f32 s0, s15 80a06be: f02a fac5 bl 80cac4c 80a06c2: eef0 7a40 vmov.f32 s15, s0 80a06c6: eefc 7ae7 vcvt.u32.f32 s15, s15 80a06ca: ee17 3a90 vmov r3, s15 80a06ce: 65bb str r3, [r7, #88] ; 0x58 t = 4; 80a06d0: 2304 movs r3, #4 80a06d2: 657b str r3, [r7, #84] ; 0x54 80a06d4: e17c b.n 80a09d0 if(f < 100000.0f) 80a06d6: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a06da: ed9f 7a4a vldr s14, [pc, #296] ; 80a0804 80a06de: eef4 7ac7 vcmpe.f32 s15, s14 80a06e2: eef1 fa10 vmrs APSR_nzcv, fpscr 80a06e6: d515 bpl.n 80a0714 k = (uint32_t) (roundf(f)); 80a06e8: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a06ec: eeb0 0a67 vmov.f32 s0, s15 80a06f0: f02a faac bl 80cac4c 80a06f4: eef0 7a40 vmov.f32 s15, s0 80a06f8: eefc 7ae7 vcvt.u32.f32 s15, s15 80a06fc: ee17 3a90 vmov r3, s15 80a0700: 65bb str r3, [r7, #88] ; 0x58 if(k >= 100000) 80a0702: 6dbb ldr r3, [r7, #88] ; 0x58 80a0704: 4a3a ldr r2, [pc, #232] ; (80a07f0 ) 80a0706: 4293 cmp r3, r2 80a0708: d901 bls.n 80a070e k = 99999; 80a070a: 4b39 ldr r3, [pc, #228] ; (80a07f0 ) 80a070c: 65bb str r3, [r7, #88] ; 0x58 t = 0; 80a070e: 2300 movs r3, #0 80a0710: 657b str r3, [r7, #84] ; 0x54 80a0712: e15d b.n 80a09d0 if(f >= 100000.0f) 80a0714: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a0718: ed9f 7a3a vldr s14, [pc, #232] ; 80a0804 80a071c: eef4 7ac7 vcmpe.f32 s15, s14 80a0720: eef1 fa10 vmrs APSR_nzcv, fpscr 80a0724: f2c0 8154 blt.w 80a09d0 f = 99999.0f; 80a0728: 4b32 ldr r3, [pc, #200] ; (80a07f4 ) 80a072a: 647b str r3, [r7, #68] ; 0x44 k = (uint32_t) (roundf(f)); 80a072c: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a0730: eeb0 0a67 vmov.f32 s0, s15 80a0734: f02a fa8a bl 80cac4c 80a0738: eef0 7a40 vmov.f32 s15, s0 80a073c: eefc 7ae7 vcvt.u32.f32 s15, s15 80a0740: ee17 3a90 vmov r3, s15 80a0744: 65bb str r3, [r7, #88] ; 0x58 t = 0; 80a0746: 2300 movs r3, #0 80a0748: 657b str r3, [r7, #84] ; 0x54 80a074a: e141 b.n 80a09d0 if(f < 10.0f) 80a074c: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a0750: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80a0754: eef4 7ac7 vcmpe.f32 s15, s14 80a0758: eef1 fa10 vmrs APSR_nzcv, fpscr 80a075c: d515 bpl.n 80a078a k = (uint32_t) (roundf(f * 10000)); 80a075e: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a0762: ed9f 7a27 vldr s14, [pc, #156] ; 80a0800 80a0766: ee67 7a87 vmul.f32 s15, s15, s14 80a076a: eeb0 0a67 vmov.f32 s0, s15 80a076e: f02a fa6d bl 80cac4c 80a0772: eef0 7a40 vmov.f32 s15, s0 80a0776: eefc 7ae7 vcvt.u32.f32 s15, s15 80a077a: ee17 3a90 vmov r3, s15 80a077e: 65bb str r3, [r7, #88] ; 0x58 t = 1; 80a0780: 2301 movs r3, #1 80a0782: 657b str r3, [r7, #84] ; 0x54 m = 0; 80a0784: 2300 movs r3, #0 80a0786: 64fb str r3, [r7, #76] ; 0x4c 80a0788: e122 b.n 80a09d0 if(f < 100.0f) 80a078a: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a078e: ed9f 7a1b vldr s14, [pc, #108] ; 80a07fc 80a0792: eef4 7ac7 vcmpe.f32 s15, s14 80a0796: eef1 fa10 vmrs APSR_nzcv, fpscr 80a079a: d541 bpl.n 80a0820 k = (uint32_t) (roundf(f * 1000)); 80a079c: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a07a0: ed9f 7a15 vldr s14, [pc, #84] ; 80a07f8 80a07a4: ee67 7a87 vmul.f32 s15, s15, s14 80a07a8: eeb0 0a67 vmov.f32 s0, s15 80a07ac: f02a fa4e bl 80cac4c 80a07b0: eef0 7a40 vmov.f32 s15, s0 80a07b4: eefc 7ae7 vcvt.u32.f32 s15, s15 80a07b8: ee17 3a90 vmov r3, s15 80a07bc: 65bb str r3, [r7, #88] ; 0x58 t = 2; 80a07be: 2302 movs r3, #2 80a07c0: 657b str r3, [r7, #84] ; 0x54 m = 0; 80a07c2: 2300 movs r3, #0 80a07c4: 64fb str r3, [r7, #76] ; 0x4c 80a07c6: e103 b.n 80a09d0 80a07c8: 20020124 .word 0x20020124 80a07cc: 200226a0 .word 0x200226a0 80a07d0: 20023e60 .word 0x20023e60 80a07d4: 20020104 .word 0x20020104 80a07d8: 2002010c .word 0x2002010c 80a07dc: 08167990 .word 0x08167990 80a07e0: ff0a0f1f .word 0xff0a0f1f 80a07e4: ffb8e828 .word 0xffb8e828 80a07e8: 080cfaf4 .word 0x080cfaf4 80a07ec: 080cfb00 .word 0x080cfb00 80a07f0: 0001869f .word 0x0001869f 80a07f4: 47c34f80 .word 0x47c34f80 80a07f8: 447a0000 .word 0x447a0000 80a07fc: 42c80000 .word 0x42c80000 80a0800: 461c4000 .word 0x461c4000 80a0804: 47c35000 .word 0x47c35000 80a0808: 49742400 .word 0x49742400 80a080c: 3dcccccd .word 0x3dcccccd 80a0810: 4b189680 .word 0x4b189680 80a0814: 3c23d70a .word 0x3c23d70a 80a0818: 4cbebc20 .word 0x4cbebc20 80a081c: 3a83126f .word 0x3a83126f if(f < 1000.0f) 80a0820: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a0824: ed1f 7a0c vldr s14, [pc, #-48] ; 80a07f8 80a0828: eef4 7ac7 vcmpe.f32 s15, s14 80a082c: eef1 fa10 vmrs APSR_nzcv, fpscr 80a0830: d515 bpl.n 80a085e k = (uint32_t) (roundf(f * 100)); 80a0832: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a0836: ed1f 7a0f vldr s14, [pc, #-60] ; 80a07fc 80a083a: ee67 7a87 vmul.f32 s15, s15, s14 80a083e: eeb0 0a67 vmov.f32 s0, s15 80a0842: f02a fa03 bl 80cac4c 80a0846: eef0 7a40 vmov.f32 s15, s0 80a084a: eefc 7ae7 vcvt.u32.f32 s15, s15 80a084e: ee17 3a90 vmov r3, s15 80a0852: 65bb str r3, [r7, #88] ; 0x58 t = 3; 80a0854: 2303 movs r3, #3 80a0856: 657b str r3, [r7, #84] ; 0x54 m = 0; 80a0858: 2300 movs r3, #0 80a085a: 64fb str r3, [r7, #76] ; 0x4c 80a085c: e0b8 b.n 80a09d0 if(f < 10000.0f) 80a085e: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a0862: ed1f 7a19 vldr s14, [pc, #-100] ; 80a0800 80a0866: eef4 7ac7 vcmpe.f32 s15, s14 80a086a: eef1 fa10 vmrs APSR_nzcv, fpscr 80a086e: d515 bpl.n 80a089c k = (uint32_t) (roundf(f * 10)); 80a0870: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a0874: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80a0878: ee67 7a87 vmul.f32 s15, s15, s14 80a087c: eeb0 0a67 vmov.f32 s0, s15 80a0880: f02a f9e4 bl 80cac4c 80a0884: eef0 7a40 vmov.f32 s15, s0 80a0888: eefc 7ae7 vcvt.u32.f32 s15, s15 80a088c: ee17 3a90 vmov r3, s15 80a0890: 65bb str r3, [r7, #88] ; 0x58 t = 1; 80a0892: 2301 movs r3, #1 80a0894: 657b str r3, [r7, #84] ; 0x54 m = 1; 80a0896: 2301 movs r3, #1 80a0898: 64fb str r3, [r7, #76] ; 0x4c 80a089a: e099 b.n 80a09d0 if(f < 100000.0f) 80a089c: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a08a0: ed1f 7a28 vldr s14, [pc, #-160] ; 80a0804 80a08a4: eef4 7ac7 vcmpe.f32 s15, s14 80a08a8: eef1 fa10 vmrs APSR_nzcv, fpscr 80a08ac: d511 bpl.n 80a08d2 k = (uint32_t) (roundf(f)); 80a08ae: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a08b2: eeb0 0a67 vmov.f32 s0, s15 80a08b6: f02a f9c9 bl 80cac4c 80a08ba: eef0 7a40 vmov.f32 s15, s0 80a08be: eefc 7ae7 vcvt.u32.f32 s15, s15 80a08c2: ee17 3a90 vmov r3, s15 80a08c6: 65bb str r3, [r7, #88] ; 0x58 t = 2; 80a08c8: 2302 movs r3, #2 80a08ca: 657b str r3, [r7, #84] ; 0x54 m = 1; 80a08cc: 2301 movs r3, #1 80a08ce: 64fb str r3, [r7, #76] ; 0x4c 80a08d0: e07e b.n 80a09d0 if(f < 1000000.0f) 80a08d2: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a08d6: ed1f 7a34 vldr s14, [pc, #-208] ; 80a0808 80a08da: eef4 7ac7 vcmpe.f32 s15, s14 80a08de: eef1 fa10 vmrs APSR_nzcv, fpscr 80a08e2: d515 bpl.n 80a0910 k = (uint32_t) (roundf(f * 0.1f)); 80a08e4: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a08e8: ed1f 7a38 vldr s14, [pc, #-224] ; 80a080c 80a08ec: ee67 7a87 vmul.f32 s15, s15, s14 80a08f0: eeb0 0a67 vmov.f32 s0, s15 80a08f4: f02a f9aa bl 80cac4c 80a08f8: eef0 7a40 vmov.f32 s15, s0 80a08fc: eefc 7ae7 vcvt.u32.f32 s15, s15 80a0900: ee17 3a90 vmov r3, s15 80a0904: 65bb str r3, [r7, #88] ; 0x58 t = 3; 80a0906: 2303 movs r3, #3 80a0908: 657b str r3, [r7, #84] ; 0x54 m = 1; 80a090a: 2301 movs r3, #1 80a090c: 64fb str r3, [r7, #76] ; 0x4c 80a090e: e05f b.n 80a09d0 if(f < 10000000.0f) 80a0910: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a0914: ed1f 7a42 vldr s14, [pc, #-264] ; 80a0810 80a0918: eef4 7ac7 vcmpe.f32 s15, s14 80a091c: eef1 fa10 vmrs APSR_nzcv, fpscr 80a0920: d515 bpl.n 80a094e k = (uint32_t) (roundf(f * 0.01f)); 80a0922: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a0926: ed1f 7a45 vldr s14, [pc, #-276] ; 80a0814 80a092a: ee67 7a87 vmul.f32 s15, s15, s14 80a092e: eeb0 0a67 vmov.f32 s0, s15 80a0932: f02a f98b bl 80cac4c 80a0936: eef0 7a40 vmov.f32 s15, s0 80a093a: eefc 7ae7 vcvt.u32.f32 s15, s15 80a093e: ee17 3a90 vmov r3, s15 80a0942: 65bb str r3, [r7, #88] ; 0x58 t = 4; 80a0944: 2304 movs r3, #4 80a0946: 657b str r3, [r7, #84] ; 0x54 m = 1; 80a0948: 2301 movs r3, #1 80a094a: 64fb str r3, [r7, #76] ; 0x4c 80a094c: e040 b.n 80a09d0 if(f < 100000000.0f) 80a094e: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a0952: ed1f 7a4f vldr s14, [pc, #-316] ; 80a0818 80a0956: eef4 7ac7 vcmpe.f32 s15, s14 80a095a: eef1 fa10 vmrs APSR_nzcv, fpscr 80a095e: d51b bpl.n 80a0998 k = (uint32_t) (roundf(f * 0.001f)); 80a0960: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a0964: ed1f 7a53 vldr s14, [pc, #-332] ; 80a081c 80a0968: ee67 7a87 vmul.f32 s15, s15, s14 80a096c: eeb0 0a67 vmov.f32 s0, s15 80a0970: f02a f96c bl 80cac4c 80a0974: eef0 7a40 vmov.f32 s15, s0 80a0978: eefc 7ae7 vcvt.u32.f32 s15, s15 80a097c: ee17 3a90 vmov r3, s15 80a0980: 65bb str r3, [r7, #88] ; 0x58 if(k >= 100000) 80a0982: 6dbb ldr r3, [r7, #88] ; 0x58 80a0984: 4abc ldr r2, [pc, #752] ; (80a0c78 ) 80a0986: 4293 cmp r3, r2 80a0988: d901 bls.n 80a098e k = 99999; 80a098a: 4bbb ldr r3, [pc, #748] ; (80a0c78 ) 80a098c: 65bb str r3, [r7, #88] ; 0x58 t = 0; 80a098e: 2300 movs r3, #0 80a0990: 657b str r3, [r7, #84] ; 0x54 m = 1; 80a0992: 2301 movs r3, #1 80a0994: 64fb str r3, [r7, #76] ; 0x4c 80a0996: e01b b.n 80a09d0 if(f >= 100000000.0f) 80a0998: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a099c: ed9f 7ab7 vldr s14, [pc, #732] ; 80a0c7c 80a09a0: eef4 7ac7 vcmpe.f32 s15, s14 80a09a4: eef1 fa10 vmrs APSR_nzcv, fpscr 80a09a8: db12 blt.n 80a09d0 f = 99999.0f; 80a09aa: 4bb5 ldr r3, [pc, #724] ; (80a0c80 ) 80a09ac: 647b str r3, [r7, #68] ; 0x44 k = (uint32_t) (roundf(f)); 80a09ae: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a09b2: eeb0 0a67 vmov.f32 s0, s15 80a09b6: f02a f949 bl 80cac4c 80a09ba: eef0 7a40 vmov.f32 s15, s0 80a09be: eefc 7ae7 vcvt.u32.f32 s15, s15 80a09c2: ee17 3a90 vmov r3, s15 80a09c6: 65bb str r3, [r7, #88] ; 0x58 t = 0; 80a09c8: 2300 movs r3, #0 80a09ca: 657b str r3, [r7, #84] ; 0x54 m = 1; 80a09cc: 2301 movs r3, #1 80a09ce: 64fb str r3, [r7, #76] ; 0x4c ik[ipr][0] = (uint8_t) (k / 10000); 80a09d0: 6d3a ldr r2, [r7, #80] ; 0x50 80a09d2: 6dbb ldr r3, [r7, #88] ; 0x58 80a09d4: 49ab ldr r1, [pc, #684] ; (80a0c84 ) 80a09d6: fba1 1303 umull r1, r3, r1, r3 80a09da: 0b5b lsrs r3, r3, #13 80a09dc: b2d9 uxtb r1, r3 80a09de: 4613 mov r3, r2 80a09e0: 009b lsls r3, r3, #2 80a09e2: 4413 add r3, r2 80a09e4: f107 0268 add.w r2, r7, #104 ; 0x68 80a09e8: 4413 add r3, r2 80a09ea: 3b34 subs r3, #52 ; 0x34 80a09ec: 460a mov r2, r1 80a09ee: 701a strb r2, [r3, #0] ik[ipr][1] = (uint8_t) (k % 10000 / 1000); 80a09f0: 6d39 ldr r1, [r7, #80] ; 0x50 80a09f2: 6dba ldr r2, [r7, #88] ; 0x58 80a09f4: 4ba3 ldr r3, [pc, #652] ; (80a0c84 ) 80a09f6: fba3 0302 umull r0, r3, r3, r2 80a09fa: 0b5b lsrs r3, r3, #13 80a09fc: f242 7010 movw r0, #10000 ; 0x2710 80a0a00: fb00 f303 mul.w r3, r0, r3 80a0a04: 1ad3 subs r3, r2, r3 80a0a06: 4aa0 ldr r2, [pc, #640] ; (80a0c88 ) 80a0a08: fba2 2303 umull r2, r3, r2, r3 80a0a0c: 099b lsrs r3, r3, #6 80a0a0e: b2da uxtb r2, r3 80a0a10: 460b mov r3, r1 80a0a12: 009b lsls r3, r3, #2 80a0a14: 440b add r3, r1 80a0a16: f107 0168 add.w r1, r7, #104 ; 0x68 80a0a1a: 440b add r3, r1 80a0a1c: 3b33 subs r3, #51 ; 0x33 80a0a1e: 701a strb r2, [r3, #0] ik[ipr][2] = (uint8_t) (k % 10000 % 1000 / 100); 80a0a20: 6d39 ldr r1, [r7, #80] ; 0x50 80a0a22: 6dba ldr r2, [r7, #88] ; 0x58 80a0a24: 4b97 ldr r3, [pc, #604] ; (80a0c84 ) 80a0a26: fba3 0302 umull r0, r3, r3, r2 80a0a2a: 0b5b lsrs r3, r3, #13 80a0a2c: f242 7010 movw r0, #10000 ; 0x2710 80a0a30: fb00 f303 mul.w r3, r0, r3 80a0a34: 1ad3 subs r3, r2, r3 80a0a36: 4a94 ldr r2, [pc, #592] ; (80a0c88 ) 80a0a38: fba2 0203 umull r0, r2, r2, r3 80a0a3c: 0992 lsrs r2, r2, #6 80a0a3e: f44f 707a mov.w r0, #1000 ; 0x3e8 80a0a42: fb00 f202 mul.w r2, r0, r2 80a0a46: 1a9a subs r2, r3, r2 80a0a48: 4b90 ldr r3, [pc, #576] ; (80a0c8c ) 80a0a4a: fba3 2302 umull r2, r3, r3, r2 80a0a4e: 095b lsrs r3, r3, #5 80a0a50: b2da uxtb r2, r3 80a0a52: 460b mov r3, r1 80a0a54: 009b lsls r3, r3, #2 80a0a56: 440b add r3, r1 80a0a58: f107 0168 add.w r1, r7, #104 ; 0x68 80a0a5c: 440b add r3, r1 80a0a5e: 3b32 subs r3, #50 ; 0x32 80a0a60: 701a strb r2, [r3, #0] ik[ipr][3] = (uint8_t) (k % 10000 % 1000 % 100 / 10); 80a0a62: 6d39 ldr r1, [r7, #80] ; 0x50 80a0a64: 6dbb ldr r3, [r7, #88] ; 0x58 80a0a66: 4a87 ldr r2, [pc, #540] ; (80a0c84 ) 80a0a68: fba2 0203 umull r0, r2, r2, r3 80a0a6c: 0b52 lsrs r2, r2, #13 80a0a6e: f242 7010 movw r0, #10000 ; 0x2710 80a0a72: fb00 f202 mul.w r2, r0, r2 80a0a76: 1a9a subs r2, r3, r2 80a0a78: 4b83 ldr r3, [pc, #524] ; (80a0c88 ) 80a0a7a: fba3 0302 umull r0, r3, r3, r2 80a0a7e: 099b lsrs r3, r3, #6 80a0a80: f44f 707a mov.w r0, #1000 ; 0x3e8 80a0a84: fb00 f303 mul.w r3, r0, r3 80a0a88: 1ad3 subs r3, r2, r3 80a0a8a: 4a80 ldr r2, [pc, #512] ; (80a0c8c ) 80a0a8c: fba2 0203 umull r0, r2, r2, r3 80a0a90: 0952 lsrs r2, r2, #5 80a0a92: 2064 movs r0, #100 ; 0x64 80a0a94: fb00 f202 mul.w r2, r0, r2 80a0a98: 1a9a subs r2, r3, r2 80a0a9a: 4b7d ldr r3, [pc, #500] ; (80a0c90 ) 80a0a9c: fba3 2302 umull r2, r3, r3, r2 80a0aa0: 08db lsrs r3, r3, #3 80a0aa2: b2da uxtb r2, r3 80a0aa4: 460b mov r3, r1 80a0aa6: 009b lsls r3, r3, #2 80a0aa8: 440b add r3, r1 80a0aaa: f107 0168 add.w r1, r7, #104 ; 0x68 80a0aae: 440b add r3, r1 80a0ab0: 3b31 subs r3, #49 ; 0x31 80a0ab2: 701a strb r2, [r3, #0] ik[ipr][4] = (uint8_t) (k % 10000 % 1000 % 100 % 10); 80a0ab4: 6d38 ldr r0, [r7, #80] ; 0x50 80a0ab6: 6dbb ldr r3, [r7, #88] ; 0x58 80a0ab8: 4a72 ldr r2, [pc, #456] ; (80a0c84 ) 80a0aba: fba2 1203 umull r1, r2, r2, r3 80a0abe: 0b52 lsrs r2, r2, #13 80a0ac0: f242 7110 movw r1, #10000 ; 0x2710 80a0ac4: fb01 f202 mul.w r2, r1, r2 80a0ac8: 1a9a subs r2, r3, r2 80a0aca: 4b6f ldr r3, [pc, #444] ; (80a0c88 ) 80a0acc: fba3 1302 umull r1, r3, r3, r2 80a0ad0: 099b lsrs r3, r3, #6 80a0ad2: f44f 717a mov.w r1, #1000 ; 0x3e8 80a0ad6: fb01 f303 mul.w r3, r1, r3 80a0ada: 1ad3 subs r3, r2, r3 80a0adc: 4a6b ldr r2, [pc, #428] ; (80a0c8c ) 80a0ade: fba2 1203 umull r1, r2, r2, r3 80a0ae2: 0952 lsrs r2, r2, #5 80a0ae4: 2164 movs r1, #100 ; 0x64 80a0ae6: fb01 f202 mul.w r2, r1, r2 80a0aea: 1a9a subs r2, r3, r2 80a0aec: 4b68 ldr r3, [pc, #416] ; (80a0c90 ) 80a0aee: fba3 1302 umull r1, r3, r3, r2 80a0af2: 08d9 lsrs r1, r3, #3 80a0af4: 460b mov r3, r1 80a0af6: 009b lsls r3, r3, #2 80a0af8: 440b add r3, r1 80a0afa: 005b lsls r3, r3, #1 80a0afc: 1ad1 subs r1, r2, r3 80a0afe: b2ca uxtb r2, r1 80a0b00: 4603 mov r3, r0 80a0b02: 009b lsls r3, r3, #2 80a0b04: 4403 add r3, r0 80a0b06: f107 0168 add.w r1, r7, #104 ; 0x68 80a0b0a: 440b add r3, r1 80a0b0c: 3b30 subs r3, #48 ; 0x30 80a0b0e: 701a strb r2, [r3, #0] if(ipr == ACC) 80a0b10: 6d3b ldr r3, [r7, #80] ; 0x50 80a0b12: 2b00 cmp r3, #0 80a0b14: f040 80ca bne.w 80a0cac if(!t) 80a0b18: 6d7b ldr r3, [r7, #84] ; 0x54 80a0b1a: 2b00 cmp r3, #0 80a0b1c: d126 bne.n 80a0b6c for(i = 0; i < 5; i++) 80a0b1e: 2300 movs r3, #0 80a0b20: 65fb str r3, [r7, #92] ; 0x5c 80a0b22: e01f b.n 80a0b64 DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 68+18); 80a0b24: 6d3a ldr r2, [r7, #80] ; 0x50 80a0b26: 6df9 ldr r1, [r7, #92] ; 0x5c 80a0b28: 4613 mov r3, r2 80a0b2a: 009b lsls r3, r3, #2 80a0b2c: 4413 add r3, r2 80a0b2e: f107 0268 add.w r2, r7, #104 ; 0x68 80a0b32: 4413 add r3, r2 80a0b34: 440b add r3, r1 80a0b36: 3b34 subs r3, #52 ; 0x34 80a0b38: 781b ldrb r3, [r3, #0] 80a0b3a: b2db uxtb r3, r3 80a0b3c: 461a mov r2, r3 80a0b3e: 4b55 ldr r3, [pc, #340] ; (80a0c94 ) 80a0b40: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a0b44: 6dfb ldr r3, [r7, #92] ; 0x5c 80a0b46: b29b uxth r3, r3 80a0b48: 461a mov r2, r3 80a0b4a: 0112 lsls r2, r2, #4 80a0b4c: 1ad3 subs r3, r2, r3 80a0b4e: 005b lsls r3, r3, #1 80a0b50: b29b uxth r3, r3 80a0b52: 335a adds r3, #90 ; 0x5a 80a0b54: b29b uxth r3, r3 80a0b56: 2256 movs r2, #86 ; 0x56 80a0b58: 4619 mov r1, r3 80a0b5a: f7b3 fd1b bl 8054594 for(i = 0; i < 5; i++) 80a0b5e: 6dfb ldr r3, [r7, #92] ; 0x5c 80a0b60: 3301 adds r3, #1 80a0b62: 65fb str r3, [r7, #92] ; 0x5c 80a0b64: 6dfb ldr r3, [r7, #92] ; 0x5c 80a0b66: 2b04 cmp r3, #4 80a0b68: d9dc bls.n 80a0b24 80a0b6a: e05a b.n 80a0c22 for(i = 0; i < t; i++) 80a0b6c: 2300 movs r3, #0 80a0b6e: 65fb str r3, [r7, #92] ; 0x5c 80a0b70: e01f b.n 80a0bb2 DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 68+18); 80a0b72: 6d3a ldr r2, [r7, #80] ; 0x50 80a0b74: 6df9 ldr r1, [r7, #92] ; 0x5c 80a0b76: 4613 mov r3, r2 80a0b78: 009b lsls r3, r3, #2 80a0b7a: 4413 add r3, r2 80a0b7c: f107 0268 add.w r2, r7, #104 ; 0x68 80a0b80: 4413 add r3, r2 80a0b82: 440b add r3, r1 80a0b84: 3b34 subs r3, #52 ; 0x34 80a0b86: 781b ldrb r3, [r3, #0] 80a0b88: b2db uxtb r3, r3 80a0b8a: 461a mov r2, r3 80a0b8c: 4b41 ldr r3, [pc, #260] ; (80a0c94 ) 80a0b8e: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a0b92: 6dfb ldr r3, [r7, #92] ; 0x5c 80a0b94: b29b uxth r3, r3 80a0b96: 461a mov r2, r3 80a0b98: 0112 lsls r2, r2, #4 80a0b9a: 1ad3 subs r3, r2, r3 80a0b9c: 005b lsls r3, r3, #1 80a0b9e: b29b uxth r3, r3 80a0ba0: 335a adds r3, #90 ; 0x5a 80a0ba2: b29b uxth r3, r3 80a0ba4: 2256 movs r2, #86 ; 0x56 80a0ba6: 4619 mov r1, r3 80a0ba8: f7b3 fcf4 bl 8054594 for(i = 0; i < t; i++) 80a0bac: 6dfb ldr r3, [r7, #92] ; 0x5c 80a0bae: 3301 adds r3, #1 80a0bb0: 65fb str r3, [r7, #92] ; 0x5c 80a0bb2: 6dfa ldr r2, [r7, #92] ; 0x5c 80a0bb4: 6d7b ldr r3, [r7, #84] ; 0x54 80a0bb6: 429a cmp r2, r3 80a0bb8: d3db bcc.n 80a0b72 DrawImage(&bmgpt, 95 + 30*t, 92+18); 80a0bba: 6d7b ldr r3, [r7, #84] ; 0x54 80a0bbc: b29b uxth r3, r3 80a0bbe: 461a mov r2, r3 80a0bc0: 0112 lsls r2, r2, #4 80a0bc2: 1ad3 subs r3, r2, r3 80a0bc4: 005b lsls r3, r3, #1 80a0bc6: b29b uxth r3, r3 80a0bc8: 335f adds r3, #95 ; 0x5f 80a0bca: b29b uxth r3, r3 80a0bcc: 226e movs r2, #110 ; 0x6e 80a0bce: 4619 mov r1, r3 80a0bd0: 4831 ldr r0, [pc, #196] ; (80a0c98 ) 80a0bd2: f7b3 fcdf bl 8054594 for(i = t; i < 5; i++) 80a0bd6: 6d7b ldr r3, [r7, #84] ; 0x54 80a0bd8: 65fb str r3, [r7, #92] ; 0x5c 80a0bda: e01f b.n 80a0c1c DrawImage(NUMS[ik[ipr][i]], 110 + 30*i, 68+18); 80a0bdc: 6d3a ldr r2, [r7, #80] ; 0x50 80a0bde: 6df9 ldr r1, [r7, #92] ; 0x5c 80a0be0: 4613 mov r3, r2 80a0be2: 009b lsls r3, r3, #2 80a0be4: 4413 add r3, r2 80a0be6: f107 0268 add.w r2, r7, #104 ; 0x68 80a0bea: 4413 add r3, r2 80a0bec: 440b add r3, r1 80a0bee: 3b34 subs r3, #52 ; 0x34 80a0bf0: 781b ldrb r3, [r3, #0] 80a0bf2: b2db uxtb r3, r3 80a0bf4: 461a mov r2, r3 80a0bf6: 4b27 ldr r3, [pc, #156] ; (80a0c94 ) 80a0bf8: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a0bfc: 6dfb ldr r3, [r7, #92] ; 0x5c 80a0bfe: b29b uxth r3, r3 80a0c00: 461a mov r2, r3 80a0c02: 0112 lsls r2, r2, #4 80a0c04: 1ad3 subs r3, r2, r3 80a0c06: 005b lsls r3, r3, #1 80a0c08: b29b uxth r3, r3 80a0c0a: 336e adds r3, #110 ; 0x6e 80a0c0c: b29b uxth r3, r3 80a0c0e: 2256 movs r2, #86 ; 0x56 80a0c10: 4619 mov r1, r3 80a0c12: f7b3 fcbf bl 8054594 for(i = t; i < 5; i++) 80a0c16: 6dfb ldr r3, [r7, #92] ; 0x5c 80a0c18: 3301 adds r3, #1 80a0c1a: 65fb str r3, [r7, #92] ; 0x5c 80a0c1c: 6dfb ldr r3, [r7, #92] ; 0x5c 80a0c1e: 2b04 cmp r3, #4 80a0c20: d9dc bls.n 80a0bdc if(ReadFileData.Aivs < 'E') 80a0c22: 4b1e ldr r3, [pc, #120] ; (80a0c9c ) 80a0c24: f893 302c ldrb.w r3, [r3, #44] ; 0x2c 80a0c28: b2db uxtb r3, r3 80a0c2a: 2b44 cmp r3, #68 ; 0x44 80a0c2c: d80c bhi.n 80a0c48 DrawImage(BMG_MS[pardata.LANG], 265, 74+18); 80a0c2e: 4b1c ldr r3, [pc, #112] ; (80a0ca0 ) 80a0c30: 7b1b ldrb r3, [r3, #12] 80a0c32: b2db uxtb r3, r3 80a0c34: 461a mov r2, r3 80a0c36: 4b1b ldr r3, [pc, #108] ; (80a0ca4 ) 80a0c38: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a0c3c: 225c movs r2, #92 ; 0x5c 80a0c3e: f240 1109 movw r1, #265 ; 0x109 80a0c42: 4618 mov r0, r3 80a0c44: f7b3 fca6 bl 8054594 if(ReadFileData.Aivs == 'E') 80a0c48: 4b14 ldr r3, [pc, #80] ; (80a0c9c ) 80a0c4a: f893 302c ldrb.w r3, [r3, #44] ; 0x2c 80a0c4e: b2db uxtb r3, r3 80a0c50: 2b45 cmp r3, #69 ; 0x45 80a0c52: f040 860c bne.w 80a186e if(ReadFileData.Aval.fl < 0.0f) { 80a0c56: 4b11 ldr r3, [pc, #68] ; (80a0c9c ) 80a0c58: edd3 7a00 vldr s15, [r3] 80a0c5c: eef5 7ac0 vcmpe.f32 s15, #0.0 80a0c60: eef1 fa10 vmrs APSR_nzcv, fpscr 80a0c64: f140 8603 bpl.w 80a186e DrawImage(&bmgminus, 78, 84+18); 80a0c68: 2266 movs r2, #102 ; 0x66 80a0c6a: 214e movs r1, #78 ; 0x4e 80a0c6c: 480e ldr r0, [pc, #56] ; (80a0ca8 ) 80a0c6e: f7b3 fc91 bl 8054594 80a0c72: f000 bdfc b.w 80a186e 80a0c76: bf00 nop 80a0c78: 0001869f .word 0x0001869f 80a0c7c: 4cbebc20 .word 0x4cbebc20 80a0c80: 47c34f80 .word 0x47c34f80 80a0c84: d1b71759 .word 0xd1b71759 80a0c88: 10624dd3 .word 0x10624dd3 80a0c8c: 51eb851f .word 0x51eb851f 80a0c90: cccccccd .word 0xcccccccd 80a0c94: 20020124 .word 0x20020124 80a0c98: 08167a1c .word 0x08167a1c 80a0c9c: 200226a0 .word 0x200226a0 80a0ca0: 20023e60 .word 0x20023e60 80a0ca4: 200200f4 .word 0x200200f4 80a0ca8: 08167990 .word 0x08167990 if(ipr == VEL) 80a0cac: 6d3b ldr r3, [r7, #80] ; 0x50 80a0cae: 2b01 cmp r3, #1 80a0cb0: f040 80d1 bne.w 80a0e56 if(ReadFileData.Vval.fl != -1.0f) 80a0cb4: 4ba0 ldr r3, [pc, #640] ; (80a0f38 ) 80a0cb6: edd3 7a01 vldr s15, [r3, #4] 80a0cba: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 80a0cbe: eef4 7a47 vcmp.f32 s15, s14 80a0cc2: eef1 fa10 vmrs APSR_nzcv, fpscr 80a0cc6: f000 80af beq.w 80a0e28 if(!t) 80a0cca: 6d7b ldr r3, [r7, #84] ; 0x54 80a0ccc: 2b00 cmp r3, #0 80a0cce: d126 bne.n 80a0d1e for(i = 0; i < 5; i++) 80a0cd0: 2300 movs r3, #0 80a0cd2: 65fb str r3, [r7, #92] ; 0x5c 80a0cd4: e01f b.n 80a0d16 DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 121+9); 80a0cd6: 6d3a ldr r2, [r7, #80] ; 0x50 80a0cd8: 6df9 ldr r1, [r7, #92] ; 0x5c 80a0cda: 4613 mov r3, r2 80a0cdc: 009b lsls r3, r3, #2 80a0cde: 4413 add r3, r2 80a0ce0: f107 0268 add.w r2, r7, #104 ; 0x68 80a0ce4: 4413 add r3, r2 80a0ce6: 440b add r3, r1 80a0ce8: 3b34 subs r3, #52 ; 0x34 80a0cea: 781b ldrb r3, [r3, #0] 80a0cec: b2db uxtb r3, r3 80a0cee: 461a mov r2, r3 80a0cf0: 4b92 ldr r3, [pc, #584] ; (80a0f3c ) 80a0cf2: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a0cf6: 6dfb ldr r3, [r7, #92] ; 0x5c 80a0cf8: b29b uxth r3, r3 80a0cfa: 461a mov r2, r3 80a0cfc: 0112 lsls r2, r2, #4 80a0cfe: 1ad3 subs r3, r2, r3 80a0d00: 005b lsls r3, r3, #1 80a0d02: b29b uxth r3, r3 80a0d04: 335a adds r3, #90 ; 0x5a 80a0d06: b29b uxth r3, r3 80a0d08: 2282 movs r2, #130 ; 0x82 80a0d0a: 4619 mov r1, r3 80a0d0c: f7b3 fc42 bl 8054594 for(i = 0; i < 5; i++) 80a0d10: 6dfb ldr r3, [r7, #92] ; 0x5c 80a0d12: 3301 adds r3, #1 80a0d14: 65fb str r3, [r7, #92] ; 0x5c 80a0d16: 6dfb ldr r3, [r7, #92] ; 0x5c 80a0d18: 2b04 cmp r3, #4 80a0d1a: d9dc bls.n 80a0cd6 80a0d1c: e05a b.n 80a0dd4 for(i = 0; i < t; i++) 80a0d1e: 2300 movs r3, #0 80a0d20: 65fb str r3, [r7, #92] ; 0x5c 80a0d22: e01f b.n 80a0d64 DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 121+9); 80a0d24: 6d3a ldr r2, [r7, #80] ; 0x50 80a0d26: 6df9 ldr r1, [r7, #92] ; 0x5c 80a0d28: 4613 mov r3, r2 80a0d2a: 009b lsls r3, r3, #2 80a0d2c: 4413 add r3, r2 80a0d2e: f107 0268 add.w r2, r7, #104 ; 0x68 80a0d32: 4413 add r3, r2 80a0d34: 440b add r3, r1 80a0d36: 3b34 subs r3, #52 ; 0x34 80a0d38: 781b ldrb r3, [r3, #0] 80a0d3a: b2db uxtb r3, r3 80a0d3c: 461a mov r2, r3 80a0d3e: 4b7f ldr r3, [pc, #508] ; (80a0f3c ) 80a0d40: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a0d44: 6dfb ldr r3, [r7, #92] ; 0x5c 80a0d46: b29b uxth r3, r3 80a0d48: 461a mov r2, r3 80a0d4a: 0112 lsls r2, r2, #4 80a0d4c: 1ad3 subs r3, r2, r3 80a0d4e: 005b lsls r3, r3, #1 80a0d50: b29b uxth r3, r3 80a0d52: 335a adds r3, #90 ; 0x5a 80a0d54: b29b uxth r3, r3 80a0d56: 2282 movs r2, #130 ; 0x82 80a0d58: 4619 mov r1, r3 80a0d5a: f7b3 fc1b bl 8054594 for(i = 0; i < t; i++) 80a0d5e: 6dfb ldr r3, [r7, #92] ; 0x5c 80a0d60: 3301 adds r3, #1 80a0d62: 65fb str r3, [r7, #92] ; 0x5c 80a0d64: 6dfa ldr r2, [r7, #92] ; 0x5c 80a0d66: 6d7b ldr r3, [r7, #84] ; 0x54 80a0d68: 429a cmp r2, r3 80a0d6a: d3db bcc.n 80a0d24 DrawImage(&bmgpt, 95 + 30*t, 145+9); 80a0d6c: 6d7b ldr r3, [r7, #84] ; 0x54 80a0d6e: b29b uxth r3, r3 80a0d70: 461a mov r2, r3 80a0d72: 0112 lsls r2, r2, #4 80a0d74: 1ad3 subs r3, r2, r3 80a0d76: 005b lsls r3, r3, #1 80a0d78: b29b uxth r3, r3 80a0d7a: 335f adds r3, #95 ; 0x5f 80a0d7c: b29b uxth r3, r3 80a0d7e: 229a movs r2, #154 ; 0x9a 80a0d80: 4619 mov r1, r3 80a0d82: 486f ldr r0, [pc, #444] ; (80a0f40 ) 80a0d84: f7b3 fc06 bl 8054594 for(i = t; i < 5; i++) 80a0d88: 6d7b ldr r3, [r7, #84] ; 0x54 80a0d8a: 65fb str r3, [r7, #92] ; 0x5c 80a0d8c: e01f b.n 80a0dce DrawImage(NUMS[ik[ipr][i]], 110 + 30*i, 121+9); 80a0d8e: 6d3a ldr r2, [r7, #80] ; 0x50 80a0d90: 6df9 ldr r1, [r7, #92] ; 0x5c 80a0d92: 4613 mov r3, r2 80a0d94: 009b lsls r3, r3, #2 80a0d96: 4413 add r3, r2 80a0d98: f107 0268 add.w r2, r7, #104 ; 0x68 80a0d9c: 4413 add r3, r2 80a0d9e: 440b add r3, r1 80a0da0: 3b34 subs r3, #52 ; 0x34 80a0da2: 781b ldrb r3, [r3, #0] 80a0da4: b2db uxtb r3, r3 80a0da6: 461a mov r2, r3 80a0da8: 4b64 ldr r3, [pc, #400] ; (80a0f3c ) 80a0daa: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a0dae: 6dfb ldr r3, [r7, #92] ; 0x5c 80a0db0: b29b uxth r3, r3 80a0db2: 461a mov r2, r3 80a0db4: 0112 lsls r2, r2, #4 80a0db6: 1ad3 subs r3, r2, r3 80a0db8: 005b lsls r3, r3, #1 80a0dba: b29b uxth r3, r3 80a0dbc: 336e adds r3, #110 ; 0x6e 80a0dbe: b29b uxth r3, r3 80a0dc0: 2282 movs r2, #130 ; 0x82 80a0dc2: 4619 mov r1, r3 80a0dc4: f7b3 fbe6 bl 8054594 for(i = t; i < 5; i++) 80a0dc8: 6dfb ldr r3, [r7, #92] ; 0x5c 80a0dca: 3301 adds r3, #1 80a0dcc: 65fb str r3, [r7, #92] ; 0x5c 80a0dce: 6dfb ldr r3, [r7, #92] ; 0x5c 80a0dd0: 2b04 cmp r3, #4 80a0dd2: d9dc bls.n 80a0d8e if(ReadFileData.Vivs < 'E') 80a0dd4: 4b58 ldr r3, [pc, #352] ; (80a0f38 ) 80a0dd6: f893 302d ldrb.w r3, [r3, #45] ; 0x2d 80a0dda: b2db uxtb r3, r3 80a0ddc: 2b44 cmp r3, #68 ; 0x44 80a0dde: d80c bhi.n 80a0dfa DrawImage(BMG_MMS[pardata.LANG], 265, 128+9); 80a0de0: 4b58 ldr r3, [pc, #352] ; (80a0f44 ) 80a0de2: 7b1b ldrb r3, [r3, #12] 80a0de4: b2db uxtb r3, r3 80a0de6: 461a mov r2, r3 80a0de8: 4b57 ldr r3, [pc, #348] ; (80a0f48 ) 80a0dea: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a0dee: 2289 movs r2, #137 ; 0x89 80a0df0: f240 1109 movw r1, #265 ; 0x109 80a0df4: 4618 mov r0, r3 80a0df6: f7b3 fbcd bl 8054594 if(ReadFileData.Vivs == 'E') 80a0dfa: 4b4f ldr r3, [pc, #316] ; (80a0f38 ) 80a0dfc: f893 302d ldrb.w r3, [r3, #45] ; 0x2d 80a0e00: b2db uxtb r3, r3 80a0e02: 2b45 cmp r3, #69 ; 0x45 80a0e04: f040 8533 bne.w 80a186e if(ReadFileData.Vval.fl < 0.0f) { 80a0e08: 4b4b ldr r3, [pc, #300] ; (80a0f38 ) 80a0e0a: edd3 7a01 vldr s15, [r3, #4] 80a0e0e: eef5 7ac0 vcmpe.f32 s15, #0.0 80a0e12: eef1 fa10 vmrs APSR_nzcv, fpscr 80a0e16: f140 852a bpl.w 80a186e DrawImage(&bmgminus, 78, 138+9); 80a0e1a: 2293 movs r2, #147 ; 0x93 80a0e1c: 214e movs r1, #78 ; 0x4e 80a0e1e: 484b ldr r0, [pc, #300] ; (80a0f4c ) 80a0e20: f7b3 fbb8 bl 8054594 80a0e24: f000 bd23 b.w 80a186e LCD_SetColors(LCD_COLOR_NUMGREEN, LCD_COLOR_BLACK); 80a0e28: 4949 ldr r1, [pc, #292] ; (80a0f50 ) 80a0e2a: 484a ldr r0, [pc, #296] ; (80a0f54 ) 80a0e2c: f7b2 fcbe bl 80537ac if(pardata.LANG == RUS) 80a0e30: 4b44 ldr r3, [pc, #272] ; (80a0f44 ) 80a0e32: 7b1b ldrb r3, [r3, #12] 80a0e34: b2db uxtb r3, r3 80a0e36: 2b00 cmp r3, #0 80a0e38: d106 bne.n 80a0e48 LCD_DisplayStringC(167, 135, "ÍÅÒ ÄÀÍÍÛÕ"); 80a0e3a: 4a47 ldr r2, [pc, #284] ; (80a0f58 ) 80a0e3c: 2187 movs r1, #135 ; 0x87 80a0e3e: 20a7 movs r0, #167 ; 0xa7 80a0e40: f7b3 fa74 bl 805432c 80a0e44: f000 bd13 b.w 80a186e else LCD_DisplayStringC(167, 135, "NO DATA"); 80a0e48: 4a44 ldr r2, [pc, #272] ; (80a0f5c ) 80a0e4a: 2187 movs r1, #135 ; 0x87 80a0e4c: 20a7 movs r0, #167 ; 0xa7 80a0e4e: f7b3 fa6d bl 805432c 80a0e52: f000 bd0c b.w 80a186e if(ipr == DIS) 80a0e56: 6d3b ldr r3, [r7, #80] ; 0x50 80a0e58: 2b02 cmp r3, #2 80a0e5a: f040 8508 bne.w 80a186e if(ReadFileData.Sval.fl != -1.0f) 80a0e5e: 4b36 ldr r3, [pc, #216] ; (80a0f38 ) 80a0e60: edd3 7a02 vldr s15, [r3, #8] 80a0e64: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 80a0e68: eef4 7a47 vcmp.f32 s15, s14 80a0e6c: eef1 fa10 vmrs APSR_nzcv, fpscr 80a0e70: f000 80d4 beq.w 80a101c if(!t) 80a0e74: 6d7b ldr r3, [r7, #84] ; 0x54 80a0e76: 2b00 cmp r3, #0 80a0e78: d126 bne.n 80a0ec8 for(i = 0; i < 5; i++) 80a0e7a: 2300 movs r3, #0 80a0e7c: 65fb str r3, [r7, #92] ; 0x5c 80a0e7e: e01f b.n 80a0ec0 DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 174); 80a0e80: 6d3a ldr r2, [r7, #80] ; 0x50 80a0e82: 6df9 ldr r1, [r7, #92] ; 0x5c 80a0e84: 4613 mov r3, r2 80a0e86: 009b lsls r3, r3, #2 80a0e88: 4413 add r3, r2 80a0e8a: f107 0268 add.w r2, r7, #104 ; 0x68 80a0e8e: 4413 add r3, r2 80a0e90: 440b add r3, r1 80a0e92: 3b34 subs r3, #52 ; 0x34 80a0e94: 781b ldrb r3, [r3, #0] 80a0e96: b2db uxtb r3, r3 80a0e98: 461a mov r2, r3 80a0e9a: 4b28 ldr r3, [pc, #160] ; (80a0f3c ) 80a0e9c: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a0ea0: 6dfb ldr r3, [r7, #92] ; 0x5c 80a0ea2: b29b uxth r3, r3 80a0ea4: 461a mov r2, r3 80a0ea6: 0112 lsls r2, r2, #4 80a0ea8: 1ad3 subs r3, r2, r3 80a0eaa: 005b lsls r3, r3, #1 80a0eac: b29b uxth r3, r3 80a0eae: 335a adds r3, #90 ; 0x5a 80a0eb0: b29b uxth r3, r3 80a0eb2: 22ae movs r2, #174 ; 0xae 80a0eb4: 4619 mov r1, r3 80a0eb6: f7b3 fb6d bl 8054594 for(i = 0; i < 5; i++) 80a0eba: 6dfb ldr r3, [r7, #92] ; 0x5c 80a0ebc: 3301 adds r3, #1 80a0ebe: 65fb str r3, [r7, #92] ; 0x5c 80a0ec0: 6dfb ldr r3, [r7, #92] ; 0x5c 80a0ec2: 2b04 cmp r3, #4 80a0ec4: d9dc bls.n 80a0e80 80a0ec6: e06e b.n 80a0fa6 for(i = 0; i < t; i++) 80a0ec8: 2300 movs r3, #0 80a0eca: 65fb str r3, [r7, #92] ; 0x5c 80a0ecc: e01f b.n 80a0f0e DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 174); 80a0ece: 6d3a ldr r2, [r7, #80] ; 0x50 80a0ed0: 6df9 ldr r1, [r7, #92] ; 0x5c 80a0ed2: 4613 mov r3, r2 80a0ed4: 009b lsls r3, r3, #2 80a0ed6: 4413 add r3, r2 80a0ed8: f107 0268 add.w r2, r7, #104 ; 0x68 80a0edc: 4413 add r3, r2 80a0ede: 440b add r3, r1 80a0ee0: 3b34 subs r3, #52 ; 0x34 80a0ee2: 781b ldrb r3, [r3, #0] 80a0ee4: b2db uxtb r3, r3 80a0ee6: 461a mov r2, r3 80a0ee8: 4b14 ldr r3, [pc, #80] ; (80a0f3c ) 80a0eea: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a0eee: 6dfb ldr r3, [r7, #92] ; 0x5c 80a0ef0: b29b uxth r3, r3 80a0ef2: 461a mov r2, r3 80a0ef4: 0112 lsls r2, r2, #4 80a0ef6: 1ad3 subs r3, r2, r3 80a0ef8: 005b lsls r3, r3, #1 80a0efa: b29b uxth r3, r3 80a0efc: 335a adds r3, #90 ; 0x5a 80a0efe: b29b uxth r3, r3 80a0f00: 22ae movs r2, #174 ; 0xae 80a0f02: 4619 mov r1, r3 80a0f04: f7b3 fb46 bl 8054594 for(i = 0; i < t; i++) 80a0f08: 6dfb ldr r3, [r7, #92] ; 0x5c 80a0f0a: 3301 adds r3, #1 80a0f0c: 65fb str r3, [r7, #92] ; 0x5c 80a0f0e: 6dfa ldr r2, [r7, #92] ; 0x5c 80a0f10: 6d7b ldr r3, [r7, #84] ; 0x54 80a0f12: 429a cmp r2, r3 80a0f14: d3db bcc.n 80a0ece DrawImage(&bmgpt, 95 + 30*t, 198); 80a0f16: 6d7b ldr r3, [r7, #84] ; 0x54 80a0f18: b29b uxth r3, r3 80a0f1a: 461a mov r2, r3 80a0f1c: 0112 lsls r2, r2, #4 80a0f1e: 1ad3 subs r3, r2, r3 80a0f20: 005b lsls r3, r3, #1 80a0f22: b29b uxth r3, r3 80a0f24: 335f adds r3, #95 ; 0x5f 80a0f26: b29b uxth r3, r3 80a0f28: 22c6 movs r2, #198 ; 0xc6 80a0f2a: 4619 mov r1, r3 80a0f2c: 4804 ldr r0, [pc, #16] ; (80a0f40 ) 80a0f2e: f7b3 fb31 bl 8054594 for(i = t; i < 5; i++) 80a0f32: 6d7b ldr r3, [r7, #84] ; 0x54 80a0f34: 65fb str r3, [r7, #92] ; 0x5c 80a0f36: e033 b.n 80a0fa0 80a0f38: 200226a0 .word 0x200226a0 80a0f3c: 20020124 .word 0x20020124 80a0f40: 08167a1c .word 0x08167a1c 80a0f44: 20023e60 .word 0x20023e60 80a0f48: 200200fc .word 0x200200fc 80a0f4c: 08167990 .word 0x08167990 80a0f50: ff0a0f1f .word 0xff0a0f1f 80a0f54: ffb8e828 .word 0xffb8e828 80a0f58: 080cfaf4 .word 0x080cfaf4 80a0f5c: 080cfb00 .word 0x080cfb00 DrawImage(NUMS[ik[ipr][i]], 110 + 30*i, 174); 80a0f60: 6d3a ldr r2, [r7, #80] ; 0x50 80a0f62: 6df9 ldr r1, [r7, #92] ; 0x5c 80a0f64: 4613 mov r3, r2 80a0f66: 009b lsls r3, r3, #2 80a0f68: 4413 add r3, r2 80a0f6a: f107 0268 add.w r2, r7, #104 ; 0x68 80a0f6e: 4413 add r3, r2 80a0f70: 440b add r3, r1 80a0f72: 3b34 subs r3, #52 ; 0x34 80a0f74: 781b ldrb r3, [r3, #0] 80a0f76: b2db uxtb r3, r3 80a0f78: 461a mov r2, r3 80a0f7a: 4bae ldr r3, [pc, #696] ; (80a1234 ) 80a0f7c: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a0f80: 6dfb ldr r3, [r7, #92] ; 0x5c 80a0f82: b29b uxth r3, r3 80a0f84: 461a mov r2, r3 80a0f86: 0112 lsls r2, r2, #4 80a0f88: 1ad3 subs r3, r2, r3 80a0f8a: 005b lsls r3, r3, #1 80a0f8c: b29b uxth r3, r3 80a0f8e: 336e adds r3, #110 ; 0x6e 80a0f90: b29b uxth r3, r3 80a0f92: 22ae movs r2, #174 ; 0xae 80a0f94: 4619 mov r1, r3 80a0f96: f7b3 fafd bl 8054594 for(i = t; i < 5; i++) 80a0f9a: 6dfb ldr r3, [r7, #92] ; 0x5c 80a0f9c: 3301 adds r3, #1 80a0f9e: 65fb str r3, [r7, #92] ; 0x5c 80a0fa0: 6dfb ldr r3, [r7, #92] ; 0x5c 80a0fa2: 2b04 cmp r3, #4 80a0fa4: d9dc bls.n 80a0f60 if(ReadFileData.Sivs < 'E') 80a0fa6: 4ba4 ldr r3, [pc, #656] ; (80a1238 ) 80a0fa8: f893 302e ldrb.w r3, [r3, #46] ; 0x2e 80a0fac: b2db uxtb r3, r3 80a0fae: 2b44 cmp r3, #68 ; 0x44 80a0fb0: d81d bhi.n 80a0fee if(m == 0) 80a0fb2: 6cfb ldr r3, [r7, #76] ; 0x4c 80a0fb4: 2b00 cmp r3, #0 80a0fb6: d10d bne.n 80a0fd4 DrawImage(BMG_MKM[pardata.LANG], 265, 180); 80a0fb8: 4ba0 ldr r3, [pc, #640] ; (80a123c ) 80a0fba: 7b1b ldrb r3, [r3, #12] 80a0fbc: b2db uxtb r3, r3 80a0fbe: 461a mov r2, r3 80a0fc0: 4b9f ldr r3, [pc, #636] ; (80a1240 ) 80a0fc2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a0fc6: 22b4 movs r2, #180 ; 0xb4 80a0fc8: f240 1109 movw r1, #265 ; 0x109 80a0fcc: 4618 mov r0, r3 80a0fce: f7b3 fae1 bl 8054594 80a0fd2: e00c b.n 80a0fee else DrawImage(BMG_MM[pardata.LANG], 265, 180); 80a0fd4: 4b99 ldr r3, [pc, #612] ; (80a123c ) 80a0fd6: 7b1b ldrb r3, [r3, #12] 80a0fd8: b2db uxtb r3, r3 80a0fda: 461a mov r2, r3 80a0fdc: 4b99 ldr r3, [pc, #612] ; (80a1244 ) 80a0fde: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a0fe2: 22b4 movs r2, #180 ; 0xb4 80a0fe4: f240 1109 movw r1, #265 ; 0x109 80a0fe8: 4618 mov r0, r3 80a0fea: f7b3 fad3 bl 8054594 if(ReadFileData.Sivs == 'E') 80a0fee: 4b92 ldr r3, [pc, #584] ; (80a1238 ) 80a0ff0: f893 302e ldrb.w r3, [r3, #46] ; 0x2e 80a0ff4: b2db uxtb r3, r3 80a0ff6: 2b45 cmp r3, #69 ; 0x45 80a0ff8: f040 8439 bne.w 80a186e if(ReadFileData.Sval.fl < 0.0f) { 80a0ffc: 4b8e ldr r3, [pc, #568] ; (80a1238 ) 80a0ffe: edd3 7a02 vldr s15, [r3, #8] 80a1002: eef5 7ac0 vcmpe.f32 s15, #0.0 80a1006: eef1 fa10 vmrs APSR_nzcv, fpscr 80a100a: f140 8430 bpl.w 80a186e DrawImage(&bmgminus, 78, 190); 80a100e: 22be movs r2, #190 ; 0xbe 80a1010: 214e movs r1, #78 ; 0x4e 80a1012: 488d ldr r0, [pc, #564] ; (80a1248 ) 80a1014: f7b3 fabe bl 8054594 80a1018: f000 bc29 b.w 80a186e LCD_SetColors(LCD_COLOR_NUMGREEN, LCD_COLOR_BLACK); 80a101c: 498b ldr r1, [pc, #556] ; (80a124c ) 80a101e: 488c ldr r0, [pc, #560] ; (80a1250 ) 80a1020: f7b2 fbc4 bl 80537ac if(pardata.LANG == RUS) 80a1024: 4b85 ldr r3, [pc, #532] ; (80a123c ) 80a1026: 7b1b ldrb r3, [r3, #12] 80a1028: b2db uxtb r3, r3 80a102a: 2b00 cmp r3, #0 80a102c: d106 bne.n 80a103c LCD_DisplayStringC(167, 185, "ÍÅÒ ÄÀÍÍÛÕ"); 80a102e: 4a89 ldr r2, [pc, #548] ; (80a1254 ) 80a1030: 21b9 movs r1, #185 ; 0xb9 80a1032: 20a7 movs r0, #167 ; 0xa7 80a1034: f7b3 f97a bl 805432c 80a1038: f000 bc19 b.w 80a186e else LCD_DisplayStringC(167, 185, "NO DATA"); 80a103c: 4a86 ldr r2, [pc, #536] ; (80a1258 ) 80a103e: 21b9 movs r1, #185 ; 0xb9 80a1040: 20a7 movs r0, #167 ; 0xa7 80a1042: f7b3 f973 bl 805432c 80a1046: f000 bc12 b.w 80a186e if(f != -1.0f) 80a104a: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a104e: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 80a1052: eef4 7a47 vcmp.f32 s15, s14 80a1056: eef1 fa10 vmrs APSR_nzcv, fpscr 80a105a: f000 83c2 beq.w 80a17e2 LinToLog(&f, &f); 80a105e: f107 0244 add.w r2, r7, #68 ; 0x44 80a1062: f107 0344 add.w r3, r7, #68 ; 0x44 80a1066: 4611 mov r1, r2 80a1068: 4618 mov r0, r3 80a106a: f7c3 ff1d bl 8064ea8 k = (uint32_t) (roundf(f * 10 + 0.5f)); 80a106e: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a1072: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80a1076: ee67 7a87 vmul.f32 s15, s15, s14 80a107a: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80a107e: ee77 7a87 vadd.f32 s15, s15, s14 80a1082: eeb0 0a67 vmov.f32 s0, s15 80a1086: f029 fde1 bl 80cac4c 80a108a: eef0 7a40 vmov.f32 s15, s0 80a108e: eefc 7ae7 vcvt.u32.f32 s15, s15 80a1092: ee17 3a90 vmov r3, s15 80a1096: 65bb str r3, [r7, #88] ; 0x58 if(f < 10.0f) 80a1098: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a109c: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80a10a0: eef4 7ac7 vcmpe.f32 s15, s14 80a10a4: eef1 fa10 vmrs APSR_nzcv, fpscr 80a10a8: f140 80e0 bpl.w 80a126c ik[ipr][0] = (uint8_t) (k / 10); 80a10ac: 6d3a ldr r2, [r7, #80] ; 0x50 80a10ae: 6dbb ldr r3, [r7, #88] ; 0x58 80a10b0: 496a ldr r1, [pc, #424] ; (80a125c ) 80a10b2: fba1 1303 umull r1, r3, r1, r3 80a10b6: 08db lsrs r3, r3, #3 80a10b8: b2d9 uxtb r1, r3 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: 3b34 subs r3, #52 ; 0x34 80a10c8: 460a mov r2, r1 80a10ca: 701a strb r2, [r3, #0] ik[ipr][1] = (uint8_t) (k % 10); 80a10cc: 6d38 ldr r0, [r7, #80] ; 0x50 80a10ce: 6db9 ldr r1, [r7, #88] ; 0x58 80a10d0: 4b62 ldr r3, [pc, #392] ; (80a125c ) 80a10d2: fba3 2301 umull r2, r3, r3, r1 80a10d6: 08da lsrs r2, r3, #3 80a10d8: 4613 mov r3, r2 80a10da: 009b lsls r3, r3, #2 80a10dc: 4413 add r3, r2 80a10de: 005b lsls r3, r3, #1 80a10e0: 1aca subs r2, r1, r3 80a10e2: b2d2 uxtb r2, r2 80a10e4: 4603 mov r3, r0 80a10e6: 009b lsls r3, r3, #2 80a10e8: 4403 add r3, r0 80a10ea: f107 0168 add.w r1, r7, #104 ; 0x68 80a10ee: 440b add r3, r1 80a10f0: 3b33 subs r3, #51 ; 0x33 80a10f2: 701a strb r2, [r3, #0] if(ipr == ACC) 80a10f4: 6d3b ldr r3, [r7, #80] ; 0x50 80a10f6: 2b00 cmp r3, #0 80a10f8: d131 bne.n 80a115e DrawImage(NUMS[ik[ipr][1]], 110 + 30*4, 68+18); 80a10fa: 6d3a ldr r2, [r7, #80] ; 0x50 80a10fc: 4613 mov r3, r2 80a10fe: 009b lsls r3, r3, #2 80a1100: 4413 add r3, r2 80a1102: f107 0268 add.w r2, r7, #104 ; 0x68 80a1106: 4413 add r3, r2 80a1108: 3b33 subs r3, #51 ; 0x33 80a110a: 781b ldrb r3, [r3, #0] 80a110c: b2db uxtb r3, r3 80a110e: 461a mov r2, r3 80a1110: 4b48 ldr r3, [pc, #288] ; (80a1234 ) 80a1112: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a1116: 2256 movs r2, #86 ; 0x56 80a1118: 21e6 movs r1, #230 ; 0xe6 80a111a: 4618 mov r0, r3 80a111c: f7b3 fa3a bl 8054594 DrawImage(&bmgpt, 95 + 30*4, 92+18); 80a1120: 226e movs r2, #110 ; 0x6e 80a1122: 21d7 movs r1, #215 ; 0xd7 80a1124: 484e ldr r0, [pc, #312] ; (80a1260 ) 80a1126: f7b3 fa35 bl 8054594 DrawImage(NUMS[ik[ipr][0]], 90 + 30*3, 68+18); 80a112a: 6d3a ldr r2, [r7, #80] ; 0x50 80a112c: 4613 mov r3, r2 80a112e: 009b lsls r3, r3, #2 80a1130: 4413 add r3, r2 80a1132: f107 0268 add.w r2, r7, #104 ; 0x68 80a1136: 4413 add r3, r2 80a1138: 3b34 subs r3, #52 ; 0x34 80a113a: 781b ldrb r3, [r3, #0] 80a113c: b2db uxtb r3, r3 80a113e: 461a mov r2, r3 80a1140: 4b3c ldr r3, [pc, #240] ; (80a1234 ) 80a1142: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a1146: 2256 movs r2, #86 ; 0x56 80a1148: 21b4 movs r1, #180 ; 0xb4 80a114a: 4618 mov r0, r3 80a114c: f7b3 fa22 bl 8054594 DrawImage(&bmg_dB, 265, 74+18); 80a1150: 225c movs r2, #92 ; 0x5c 80a1152: f240 1109 movw r1, #265 ; 0x109 80a1156: 4843 ldr r0, [pc, #268] ; (80a1264 ) 80a1158: f7b3 fa1c bl 8054594 80a115c: e387 b.n 80a186e if(ipr == VEL) 80a115e: 6d3b ldr r3, [r7, #80] ; 0x50 80a1160: 2b01 cmp r3, #1 80a1162: d131 bne.n 80a11c8 DrawImage(NUMS[ik[ipr][1]], 110 + 30*4, 121+9); 80a1164: 6d3a ldr r2, [r7, #80] ; 0x50 80a1166: 4613 mov r3, r2 80a1168: 009b lsls r3, r3, #2 80a116a: 4413 add r3, r2 80a116c: f107 0268 add.w r2, r7, #104 ; 0x68 80a1170: 4413 add r3, r2 80a1172: 3b33 subs r3, #51 ; 0x33 80a1174: 781b ldrb r3, [r3, #0] 80a1176: b2db uxtb r3, r3 80a1178: 461a mov r2, r3 80a117a: 4b2e ldr r3, [pc, #184] ; (80a1234 ) 80a117c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a1180: 2282 movs r2, #130 ; 0x82 80a1182: 21e6 movs r1, #230 ; 0xe6 80a1184: 4618 mov r0, r3 80a1186: f7b3 fa05 bl 8054594 DrawImage(&bmgpt, 95 + 30*4, 145+9); 80a118a: 229a movs r2, #154 ; 0x9a 80a118c: 21d7 movs r1, #215 ; 0xd7 80a118e: 4834 ldr r0, [pc, #208] ; (80a1260 ) 80a1190: f7b3 fa00 bl 8054594 DrawImage(NUMS[ik[ipr][0]], 90 + 30*3, 121+9); 80a1194: 6d3a ldr r2, [r7, #80] ; 0x50 80a1196: 4613 mov r3, r2 80a1198: 009b lsls r3, r3, #2 80a119a: 4413 add r3, r2 80a119c: f107 0268 add.w r2, r7, #104 ; 0x68 80a11a0: 4413 add r3, r2 80a11a2: 3b34 subs r3, #52 ; 0x34 80a11a4: 781b ldrb r3, [r3, #0] 80a11a6: b2db uxtb r3, r3 80a11a8: 461a mov r2, r3 80a11aa: 4b22 ldr r3, [pc, #136] ; (80a1234 ) 80a11ac: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a11b0: 2282 movs r2, #130 ; 0x82 80a11b2: 21b4 movs r1, #180 ; 0xb4 80a11b4: 4618 mov r0, r3 80a11b6: f7b3 f9ed bl 8054594 DrawImage(&bmg_dB, 265, 128+9); 80a11ba: 2289 movs r2, #137 ; 0x89 80a11bc: f240 1109 movw r1, #265 ; 0x109 80a11c0: 4828 ldr r0, [pc, #160] ; (80a1264 ) 80a11c2: f7b3 f9e7 bl 8054594 80a11c6: e352 b.n 80a186e if(ipr == DIS) 80a11c8: 6d3b ldr r3, [r7, #80] ; 0x50 80a11ca: 2b02 cmp r3, #2 80a11cc: f040 834f bne.w 80a186e DrawImage(NUMS[ik[ipr][1]], 110 + 30*4, 174); 80a11d0: 6d3a ldr r2, [r7, #80] ; 0x50 80a11d2: 4613 mov r3, r2 80a11d4: 009b lsls r3, r3, #2 80a11d6: 4413 add r3, r2 80a11d8: f107 0268 add.w r2, r7, #104 ; 0x68 80a11dc: 4413 add r3, r2 80a11de: 3b33 subs r3, #51 ; 0x33 80a11e0: 781b ldrb r3, [r3, #0] 80a11e2: b2db uxtb r3, r3 80a11e4: 461a mov r2, r3 80a11e6: 4b13 ldr r3, [pc, #76] ; (80a1234 ) 80a11e8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a11ec: 22ae movs r2, #174 ; 0xae 80a11ee: 21e6 movs r1, #230 ; 0xe6 80a11f0: 4618 mov r0, r3 80a11f2: f7b3 f9cf bl 8054594 DrawImage(&bmgpt, 95 + 30*4, 198); 80a11f6: 22c6 movs r2, #198 ; 0xc6 80a11f8: 21d7 movs r1, #215 ; 0xd7 80a11fa: 4819 ldr r0, [pc, #100] ; (80a1260 ) 80a11fc: f7b3 f9ca bl 8054594 DrawImage(NUMS[ik[ipr][0]], 90 + 30*3, 174); 80a1200: 6d3a ldr r2, [r7, #80] ; 0x50 80a1202: 4613 mov r3, r2 80a1204: 009b lsls r3, r3, #2 80a1206: 4413 add r3, r2 80a1208: f107 0268 add.w r2, r7, #104 ; 0x68 80a120c: 4413 add r3, r2 80a120e: 3b34 subs r3, #52 ; 0x34 80a1210: 781b ldrb r3, [r3, #0] 80a1212: b2db uxtb r3, r3 80a1214: 461a mov r2, r3 80a1216: 4b07 ldr r3, [pc, #28] ; (80a1234 ) 80a1218: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a121c: 22ae movs r2, #174 ; 0xae 80a121e: 21b4 movs r1, #180 ; 0xb4 80a1220: 4618 mov r0, r3 80a1222: f7b3 f9b7 bl 8054594 DrawImage(&bmg_dB, 265, 180); 80a1226: 22b4 movs r2, #180 ; 0xb4 80a1228: f240 1109 movw r1, #265 ; 0x109 80a122c: 480d ldr r0, [pc, #52] ; (80a1264 ) 80a122e: f7b3 f9b1 bl 8054594 80a1232: e31c b.n 80a186e 80a1234: 20020124 .word 0x20020124 80a1238: 200226a0 .word 0x200226a0 80a123c: 20023e60 .word 0x20023e60 80a1240: 20020104 .word 0x20020104 80a1244: 2002010c .word 0x2002010c 80a1248: 08167990 .word 0x08167990 80a124c: ff0a0f1f .word 0xff0a0f1f 80a1250: ffb8e828 .word 0xffb8e828 80a1254: 080cfaf4 .word 0x080cfaf4 80a1258: 080cfb00 .word 0x080cfb00 80a125c: cccccccd .word 0xcccccccd 80a1260: 08167a1c .word 0x08167a1c 80a1264: 08162c68 .word 0x08162c68 80a1268: 42c80000 .word 0x42c80000 if(f < 100.0f) 80a126c: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a1270: ed1f 7a03 vldr s14, [pc, #-12] ; 80a1268 80a1274: eef4 7ac7 vcmpe.f32 s15, s14 80a1278: eef1 fa10 vmrs APSR_nzcv, fpscr 80a127c: f140 8128 bpl.w 80a14d0 ik[ipr][0] = (uint8_t) (k / 100); 80a1280: 6d3a ldr r2, [r7, #80] ; 0x50 80a1282: 6dbb ldr r3, [r7, #88] ; 0x58 80a1284: 498c ldr r1, [pc, #560] ; (80a14b8 ) 80a1286: fba1 1303 umull r1, r3, r1, r3 80a128a: 095b lsrs r3, r3, #5 80a128c: b2d9 uxtb r1, r3 80a128e: 4613 mov r3, r2 80a1290: 009b lsls r3, r3, #2 80a1292: 4413 add r3, r2 80a1294: f107 0268 add.w r2, r7, #104 ; 0x68 80a1298: 4413 add r3, r2 80a129a: 3b34 subs r3, #52 ; 0x34 80a129c: 460a mov r2, r1 80a129e: 701a strb r2, [r3, #0] ik[ipr][1] = (uint8_t) (k % 100 / 10); 80a12a0: 6d39 ldr r1, [r7, #80] ; 0x50 80a12a2: 6dba ldr r2, [r7, #88] ; 0x58 80a12a4: 4b84 ldr r3, [pc, #528] ; (80a14b8 ) 80a12a6: fba3 0302 umull r0, r3, r3, r2 80a12aa: 095b lsrs r3, r3, #5 80a12ac: 2064 movs r0, #100 ; 0x64 80a12ae: fb00 f303 mul.w r3, r0, r3 80a12b2: 1ad3 subs r3, r2, r3 80a12b4: 4a81 ldr r2, [pc, #516] ; (80a14bc ) 80a12b6: fba2 2303 umull r2, r3, r2, r3 80a12ba: 08db lsrs r3, r3, #3 80a12bc: b2da uxtb r2, r3 80a12be: 460b mov r3, r1 80a12c0: 009b lsls r3, r3, #2 80a12c2: 440b add r3, r1 80a12c4: f107 0168 add.w r1, r7, #104 ; 0x68 80a12c8: 440b add r3, r1 80a12ca: 3b33 subs r3, #51 ; 0x33 80a12cc: 701a strb r2, [r3, #0] ik[ipr][2] = (uint8_t) (k % 100 % 10); 80a12ce: 6d38 ldr r0, [r7, #80] ; 0x50 80a12d0: 6dbb ldr r3, [r7, #88] ; 0x58 80a12d2: 4a79 ldr r2, [pc, #484] ; (80a14b8 ) 80a12d4: fba2 1203 umull r1, r2, r2, r3 80a12d8: 0952 lsrs r2, r2, #5 80a12da: 2164 movs r1, #100 ; 0x64 80a12dc: fb01 f202 mul.w r2, r1, r2 80a12e0: 1a9a subs r2, r3, r2 80a12e2: 4b76 ldr r3, [pc, #472] ; (80a14bc ) 80a12e4: fba3 1302 umull r1, r3, r3, r2 80a12e8: 08d9 lsrs r1, r3, #3 80a12ea: 460b mov r3, r1 80a12ec: 009b lsls r3, r3, #2 80a12ee: 440b add r3, r1 80a12f0: 005b lsls r3, r3, #1 80a12f2: 1ad1 subs r1, r2, r3 80a12f4: b2ca uxtb r2, r1 80a12f6: 4603 mov r3, r0 80a12f8: 009b lsls r3, r3, #2 80a12fa: 4403 add r3, r0 80a12fc: f107 0168 add.w r1, r7, #104 ; 0x68 80a1300: 440b add r3, r1 80a1302: 3b32 subs r3, #50 ; 0x32 80a1304: 701a strb r2, [r3, #0] if(ipr == ACC) 80a1306: 6d3b ldr r3, [r7, #80] ; 0x50 80a1308: 2b00 cmp r3, #0 80a130a: d144 bne.n 80a1396 DrawImage(NUMS[ik[ipr][2]], 110 + 30*4, 68+18); 80a130c: 6d3a ldr r2, [r7, #80] ; 0x50 80a130e: 4613 mov r3, r2 80a1310: 009b lsls r3, r3, #2 80a1312: 4413 add r3, r2 80a1314: f107 0268 add.w r2, r7, #104 ; 0x68 80a1318: 4413 add r3, r2 80a131a: 3b32 subs r3, #50 ; 0x32 80a131c: 781b ldrb r3, [r3, #0] 80a131e: b2db uxtb r3, r3 80a1320: 461a mov r2, r3 80a1322: 4b67 ldr r3, [pc, #412] ; (80a14c0 ) 80a1324: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a1328: 2256 movs r2, #86 ; 0x56 80a132a: 21e6 movs r1, #230 ; 0xe6 80a132c: 4618 mov r0, r3 80a132e: f7b3 f931 bl 8054594 DrawImage(&bmgpt, 95 + 30*4, 92+18); 80a1332: 226e movs r2, #110 ; 0x6e 80a1334: 21d7 movs r1, #215 ; 0xd7 80a1336: 4863 ldr r0, [pc, #396] ; (80a14c4 ) 80a1338: f7b3 f92c bl 8054594 DrawImage(NUMS[ik[ipr][1]], 90 + 30*3, 68+18); 80a133c: 6d3a ldr r2, [r7, #80] ; 0x50 80a133e: 4613 mov r3, r2 80a1340: 009b lsls r3, r3, #2 80a1342: 4413 add r3, r2 80a1344: f107 0268 add.w r2, r7, #104 ; 0x68 80a1348: 4413 add r3, r2 80a134a: 3b33 subs r3, #51 ; 0x33 80a134c: 781b ldrb r3, [r3, #0] 80a134e: b2db uxtb r3, r3 80a1350: 461a mov r2, r3 80a1352: 4b5b ldr r3, [pc, #364] ; (80a14c0 ) 80a1354: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a1358: 2256 movs r2, #86 ; 0x56 80a135a: 21b4 movs r1, #180 ; 0xb4 80a135c: 4618 mov r0, r3 80a135e: f7b3 f919 bl 8054594 DrawImage(NUMS[ik[ipr][0]], 90 + 30*2, 68+18); 80a1362: 6d3a ldr r2, [r7, #80] ; 0x50 80a1364: 4613 mov r3, r2 80a1366: 009b lsls r3, r3, #2 80a1368: 4413 add r3, r2 80a136a: f107 0268 add.w r2, r7, #104 ; 0x68 80a136e: 4413 add r3, r2 80a1370: 3b34 subs r3, #52 ; 0x34 80a1372: 781b ldrb r3, [r3, #0] 80a1374: b2db uxtb r3, r3 80a1376: 461a mov r2, r3 80a1378: 4b51 ldr r3, [pc, #324] ; (80a14c0 ) 80a137a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a137e: 2256 movs r2, #86 ; 0x56 80a1380: 2196 movs r1, #150 ; 0x96 80a1382: 4618 mov r0, r3 80a1384: f7b3 f906 bl 8054594 DrawImage(&bmg_dB, 265, 74+18); 80a1388: 225c movs r2, #92 ; 0x5c 80a138a: f240 1109 movw r1, #265 ; 0x109 80a138e: 484e ldr r0, [pc, #312] ; (80a14c8 ) 80a1390: f7b3 f900 bl 8054594 80a1394: e26b b.n 80a186e if(ipr == VEL) 80a1396: 6d3b ldr r3, [r7, #80] ; 0x50 80a1398: 2b01 cmp r3, #1 80a139a: d144 bne.n 80a1426 DrawImage(NUMS[ik[ipr][2]], 110 + 30*4, 121+9); 80a139c: 6d3a ldr r2, [r7, #80] ; 0x50 80a139e: 4613 mov r3, r2 80a13a0: 009b lsls r3, r3, #2 80a13a2: 4413 add r3, r2 80a13a4: f107 0268 add.w r2, r7, #104 ; 0x68 80a13a8: 4413 add r3, r2 80a13aa: 3b32 subs r3, #50 ; 0x32 80a13ac: 781b ldrb r3, [r3, #0] 80a13ae: b2db uxtb r3, r3 80a13b0: 461a mov r2, r3 80a13b2: 4b43 ldr r3, [pc, #268] ; (80a14c0 ) 80a13b4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a13b8: 2282 movs r2, #130 ; 0x82 80a13ba: 21e6 movs r1, #230 ; 0xe6 80a13bc: 4618 mov r0, r3 80a13be: f7b3 f8e9 bl 8054594 DrawImage(&bmgpt, 95 + 30*4, 145+9); 80a13c2: 229a movs r2, #154 ; 0x9a 80a13c4: 21d7 movs r1, #215 ; 0xd7 80a13c6: 483f ldr r0, [pc, #252] ; (80a14c4 ) 80a13c8: f7b3 f8e4 bl 8054594 DrawImage(NUMS[ik[ipr][1]], 90 + 30*3, 121+9); 80a13cc: 6d3a ldr r2, [r7, #80] ; 0x50 80a13ce: 4613 mov r3, r2 80a13d0: 009b lsls r3, r3, #2 80a13d2: 4413 add r3, r2 80a13d4: f107 0268 add.w r2, r7, #104 ; 0x68 80a13d8: 4413 add r3, r2 80a13da: 3b33 subs r3, #51 ; 0x33 80a13dc: 781b ldrb r3, [r3, #0] 80a13de: b2db uxtb r3, r3 80a13e0: 461a mov r2, r3 80a13e2: 4b37 ldr r3, [pc, #220] ; (80a14c0 ) 80a13e4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a13e8: 2282 movs r2, #130 ; 0x82 80a13ea: 21b4 movs r1, #180 ; 0xb4 80a13ec: 4618 mov r0, r3 80a13ee: f7b3 f8d1 bl 8054594 DrawImage(NUMS[ik[ipr][0]], 90 + 30*2, 121+9); 80a13f2: 6d3a ldr r2, [r7, #80] ; 0x50 80a13f4: 4613 mov r3, r2 80a13f6: 009b lsls r3, r3, #2 80a13f8: 4413 add r3, r2 80a13fa: f107 0268 add.w r2, r7, #104 ; 0x68 80a13fe: 4413 add r3, r2 80a1400: 3b34 subs r3, #52 ; 0x34 80a1402: 781b ldrb r3, [r3, #0] 80a1404: b2db uxtb r3, r3 80a1406: 461a mov r2, r3 80a1408: 4b2d ldr r3, [pc, #180] ; (80a14c0 ) 80a140a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a140e: 2282 movs r2, #130 ; 0x82 80a1410: 2196 movs r1, #150 ; 0x96 80a1412: 4618 mov r0, r3 80a1414: f7b3 f8be bl 8054594 DrawImage(&bmg_dB, 265, 128+9); 80a1418: 2289 movs r2, #137 ; 0x89 80a141a: f240 1109 movw r1, #265 ; 0x109 80a141e: 482a ldr r0, [pc, #168] ; (80a14c8 ) 80a1420: f7b3 f8b8 bl 8054594 80a1424: e223 b.n 80a186e if(ipr == DIS) 80a1426: 6d3b ldr r3, [r7, #80] ; 0x50 80a1428: 2b02 cmp r3, #2 80a142a: f040 8220 bne.w 80a186e DrawImage(NUMS[ik[ipr][2]], 110 + 30*4, 174); 80a142e: 6d3a ldr r2, [r7, #80] ; 0x50 80a1430: 4613 mov r3, r2 80a1432: 009b lsls r3, r3, #2 80a1434: 4413 add r3, r2 80a1436: f107 0268 add.w r2, r7, #104 ; 0x68 80a143a: 4413 add r3, r2 80a143c: 3b32 subs r3, #50 ; 0x32 80a143e: 781b ldrb r3, [r3, #0] 80a1440: b2db uxtb r3, r3 80a1442: 461a mov r2, r3 80a1444: 4b1e ldr r3, [pc, #120] ; (80a14c0 ) 80a1446: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a144a: 22ae movs r2, #174 ; 0xae 80a144c: 21e6 movs r1, #230 ; 0xe6 80a144e: 4618 mov r0, r3 80a1450: f7b3 f8a0 bl 8054594 DrawImage(&bmgpt, 95 + 30*4, 198); 80a1454: 22c6 movs r2, #198 ; 0xc6 80a1456: 21d7 movs r1, #215 ; 0xd7 80a1458: 481a ldr r0, [pc, #104] ; (80a14c4 ) 80a145a: f7b3 f89b bl 8054594 DrawImage(NUMS[ik[ipr][1]], 90 + 30*3, 174); 80a145e: 6d3a ldr r2, [r7, #80] ; 0x50 80a1460: 4613 mov r3, r2 80a1462: 009b lsls r3, r3, #2 80a1464: 4413 add r3, r2 80a1466: f107 0268 add.w r2, r7, #104 ; 0x68 80a146a: 4413 add r3, r2 80a146c: 3b33 subs r3, #51 ; 0x33 80a146e: 781b ldrb r3, [r3, #0] 80a1470: b2db uxtb r3, r3 80a1472: 461a mov r2, r3 80a1474: 4b12 ldr r3, [pc, #72] ; (80a14c0 ) 80a1476: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a147a: 22ae movs r2, #174 ; 0xae 80a147c: 21b4 movs r1, #180 ; 0xb4 80a147e: 4618 mov r0, r3 80a1480: f7b3 f888 bl 8054594 DrawImage(NUMS[ik[ipr][0]], 90 + 30*2, 174); 80a1484: 6d3a ldr r2, [r7, #80] ; 0x50 80a1486: 4613 mov r3, r2 80a1488: 009b lsls r3, r3, #2 80a148a: 4413 add r3, r2 80a148c: f107 0268 add.w r2, r7, #104 ; 0x68 80a1490: 4413 add r3, r2 80a1492: 3b34 subs r3, #52 ; 0x34 80a1494: 781b ldrb r3, [r3, #0] 80a1496: b2db uxtb r3, r3 80a1498: 461a mov r2, r3 80a149a: 4b09 ldr r3, [pc, #36] ; (80a14c0 ) 80a149c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a14a0: 22ae movs r2, #174 ; 0xae 80a14a2: 2196 movs r1, #150 ; 0x96 80a14a4: 4618 mov r0, r3 80a14a6: f7b3 f875 bl 8054594 DrawImage(&bmg_dB, 265, 180); 80a14aa: 22b4 movs r2, #180 ; 0xb4 80a14ac: f240 1109 movw r1, #265 ; 0x109 80a14b0: 4805 ldr r0, [pc, #20] ; (80a14c8 ) 80a14b2: f7b3 f86f bl 8054594 80a14b6: e1da b.n 80a186e 80a14b8: 51eb851f .word 0x51eb851f 80a14bc: cccccccd .word 0xcccccccd 80a14c0: 20020124 .word 0x20020124 80a14c4: 08167a1c .word 0x08167a1c 80a14c8: 08162c68 .word 0x08162c68 80a14cc: 447a0000 .word 0x447a0000 if(f < 1000.0f) 80a14d0: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a14d4: ed1f 7a03 vldr s14, [pc, #-12] ; 80a14cc 80a14d8: eef4 7ac7 vcmpe.f32 s15, s14 80a14dc: eef1 fa10 vmrs APSR_nzcv, fpscr 80a14e0: f140 81c5 bpl.w 80a186e ik[ipr][0] = (uint8_t) (k / 1000); 80a14e4: 6d3a ldr r2, [r7, #80] ; 0x50 80a14e6: 6dbb ldr r3, [r7, #88] ; 0x58 80a14e8: 49ca ldr r1, [pc, #808] ; (80a1814 ) 80a14ea: fba1 1303 umull r1, r3, r1, r3 80a14ee: 099b lsrs r3, r3, #6 80a14f0: b2d9 uxtb r1, r3 80a14f2: 4613 mov r3, r2 80a14f4: 009b lsls r3, r3, #2 80a14f6: 4413 add r3, r2 80a14f8: f107 0268 add.w r2, r7, #104 ; 0x68 80a14fc: 4413 add r3, r2 80a14fe: 3b34 subs r3, #52 ; 0x34 80a1500: 460a mov r2, r1 80a1502: 701a strb r2, [r3, #0] ik[ipr][1] = (uint8_t) (k % 1000 / 100); 80a1504: 6d39 ldr r1, [r7, #80] ; 0x50 80a1506: 6dba ldr r2, [r7, #88] ; 0x58 80a1508: 4bc2 ldr r3, [pc, #776] ; (80a1814 ) 80a150a: fba3 0302 umull r0, r3, r3, r2 80a150e: 099b lsrs r3, r3, #6 80a1510: f44f 707a mov.w r0, #1000 ; 0x3e8 80a1514: fb00 f303 mul.w r3, r0, r3 80a1518: 1ad3 subs r3, r2, r3 80a151a: 4abf ldr r2, [pc, #764] ; (80a1818 ) 80a151c: fba2 2303 umull r2, r3, r2, r3 80a1520: 095b lsrs r3, r3, #5 80a1522: b2da uxtb r2, r3 80a1524: 460b mov r3, r1 80a1526: 009b lsls r3, r3, #2 80a1528: 440b add r3, r1 80a152a: f107 0168 add.w r1, r7, #104 ; 0x68 80a152e: 440b add r3, r1 80a1530: 3b33 subs r3, #51 ; 0x33 80a1532: 701a strb r2, [r3, #0] ik[ipr][2] = (uint8_t) (k % 1000 % 100 / 10); 80a1534: 6d39 ldr r1, [r7, #80] ; 0x50 80a1536: 6dba ldr r2, [r7, #88] ; 0x58 80a1538: 4bb6 ldr r3, [pc, #728] ; (80a1814 ) 80a153a: fba3 0302 umull r0, r3, r3, r2 80a153e: 099b lsrs r3, r3, #6 80a1540: f44f 707a mov.w r0, #1000 ; 0x3e8 80a1544: fb00 f303 mul.w r3, r0, r3 80a1548: 1ad3 subs r3, r2, r3 80a154a: 4ab3 ldr r2, [pc, #716] ; (80a1818 ) 80a154c: fba2 0203 umull r0, r2, r2, r3 80a1550: 0952 lsrs r2, r2, #5 80a1552: 2064 movs r0, #100 ; 0x64 80a1554: fb00 f202 mul.w r2, r0, r2 80a1558: 1a9a subs r2, r3, r2 80a155a: 4bb0 ldr r3, [pc, #704] ; (80a181c ) 80a155c: fba3 2302 umull r2, r3, r3, r2 80a1560: 08db lsrs r3, r3, #3 80a1562: b2da uxtb r2, r3 80a1564: 460b mov r3, r1 80a1566: 009b lsls r3, r3, #2 80a1568: 440b add r3, r1 80a156a: f107 0168 add.w r1, r7, #104 ; 0x68 80a156e: 440b add r3, r1 80a1570: 3b32 subs r3, #50 ; 0x32 80a1572: 701a strb r2, [r3, #0] ik[ipr][3] = (uint8_t) (k % 1000 % 100 % 10); 80a1574: 6d38 ldr r0, [r7, #80] ; 0x50 80a1576: 6dba ldr r2, [r7, #88] ; 0x58 80a1578: 4ba6 ldr r3, [pc, #664] ; (80a1814 ) 80a157a: fba3 1302 umull r1, r3, r3, r2 80a157e: 099b lsrs r3, r3, #6 80a1580: f44f 717a mov.w r1, #1000 ; 0x3e8 80a1584: fb01 f303 mul.w r3, r1, r3 80a1588: 1ad3 subs r3, r2, r3 80a158a: 4aa3 ldr r2, [pc, #652] ; (80a1818 ) 80a158c: fba2 1203 umull r1, r2, r2, r3 80a1590: 0952 lsrs r2, r2, #5 80a1592: 2164 movs r1, #100 ; 0x64 80a1594: fb01 f202 mul.w r2, r1, r2 80a1598: 1a9a subs r2, r3, r2 80a159a: 4ba0 ldr r3, [pc, #640] ; (80a181c ) 80a159c: fba3 1302 umull r1, r3, r3, r2 80a15a0: 08d9 lsrs r1, r3, #3 80a15a2: 460b mov r3, r1 80a15a4: 009b lsls r3, r3, #2 80a15a6: 440b add r3, r1 80a15a8: 005b lsls r3, r3, #1 80a15aa: 1ad1 subs r1, r2, r3 80a15ac: b2ca uxtb r2, r1 80a15ae: 4603 mov r3, r0 80a15b0: 009b lsls r3, r3, #2 80a15b2: 4403 add r3, r0 80a15b4: f107 0168 add.w r1, r7, #104 ; 0x68 80a15b8: 440b add r3, r1 80a15ba: 3b31 subs r3, #49 ; 0x31 80a15bc: 701a strb r2, [r3, #0] if(ipr == ACC) 80a15be: 6d3b ldr r3, [r7, #80] ; 0x50 80a15c0: 2b00 cmp r3, #0 80a15c2: d157 bne.n 80a1674 DrawImage(NUMS[ik[ipr][3]], 110 + 30*4, 68+18); 80a15c4: 6d3a ldr r2, [r7, #80] ; 0x50 80a15c6: 4613 mov r3, r2 80a15c8: 009b lsls r3, r3, #2 80a15ca: 4413 add r3, r2 80a15cc: f107 0268 add.w r2, r7, #104 ; 0x68 80a15d0: 4413 add r3, r2 80a15d2: 3b31 subs r3, #49 ; 0x31 80a15d4: 781b ldrb r3, [r3, #0] 80a15d6: b2db uxtb r3, r3 80a15d8: 461a mov r2, r3 80a15da: 4b91 ldr r3, [pc, #580] ; (80a1820 ) 80a15dc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a15e0: 2256 movs r2, #86 ; 0x56 80a15e2: 21e6 movs r1, #230 ; 0xe6 80a15e4: 4618 mov r0, r3 80a15e6: f7b2 ffd5 bl 8054594 DrawImage(&bmgpt, 95 + 30*4, 92+18); 80a15ea: 226e movs r2, #110 ; 0x6e 80a15ec: 21d7 movs r1, #215 ; 0xd7 80a15ee: 488d ldr r0, [pc, #564] ; (80a1824 ) 80a15f0: f7b2 ffd0 bl 8054594 DrawImage(NUMS[ik[ipr][2]], 90 + 30*3, 68+18); 80a15f4: 6d3a ldr r2, [r7, #80] ; 0x50 80a15f6: 4613 mov r3, r2 80a15f8: 009b lsls r3, r3, #2 80a15fa: 4413 add r3, r2 80a15fc: f107 0268 add.w r2, r7, #104 ; 0x68 80a1600: 4413 add r3, r2 80a1602: 3b32 subs r3, #50 ; 0x32 80a1604: 781b ldrb r3, [r3, #0] 80a1606: b2db uxtb r3, r3 80a1608: 461a mov r2, r3 80a160a: 4b85 ldr r3, [pc, #532] ; (80a1820 ) 80a160c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a1610: 2256 movs r2, #86 ; 0x56 80a1612: 21b4 movs r1, #180 ; 0xb4 80a1614: 4618 mov r0, r3 80a1616: f7b2 ffbd bl 8054594 DrawImage(NUMS[ik[ipr][1]], 90 + 30*2, 68+18); 80a161a: 6d3a ldr r2, [r7, #80] ; 0x50 80a161c: 4613 mov r3, r2 80a161e: 009b lsls r3, r3, #2 80a1620: 4413 add r3, r2 80a1622: f107 0268 add.w r2, r7, #104 ; 0x68 80a1626: 4413 add r3, r2 80a1628: 3b33 subs r3, #51 ; 0x33 80a162a: 781b ldrb r3, [r3, #0] 80a162c: b2db uxtb r3, r3 80a162e: 461a mov r2, r3 80a1630: 4b7b ldr r3, [pc, #492] ; (80a1820 ) 80a1632: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a1636: 2256 movs r2, #86 ; 0x56 80a1638: 2196 movs r1, #150 ; 0x96 80a163a: 4618 mov r0, r3 80a163c: f7b2 ffaa bl 8054594 DrawImage(NUMS[ik[ipr][0]], 90 + 30*1, 68+18); 80a1640: 6d3a ldr r2, [r7, #80] ; 0x50 80a1642: 4613 mov r3, r2 80a1644: 009b lsls r3, r3, #2 80a1646: 4413 add r3, r2 80a1648: f107 0268 add.w r2, r7, #104 ; 0x68 80a164c: 4413 add r3, r2 80a164e: 3b34 subs r3, #52 ; 0x34 80a1650: 781b ldrb r3, [r3, #0] 80a1652: b2db uxtb r3, r3 80a1654: 461a mov r2, r3 80a1656: 4b72 ldr r3, [pc, #456] ; (80a1820 ) 80a1658: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a165c: 2256 movs r2, #86 ; 0x56 80a165e: 2178 movs r1, #120 ; 0x78 80a1660: 4618 mov r0, r3 80a1662: f7b2 ff97 bl 8054594 DrawImage(&bmg_dB, 265, 74+18); 80a1666: 225c movs r2, #92 ; 0x5c 80a1668: f240 1109 movw r1, #265 ; 0x109 80a166c: 486e ldr r0, [pc, #440] ; (80a1828 ) 80a166e: f7b2 ff91 bl 8054594 80a1672: e0fc b.n 80a186e if(ipr == VEL) 80a1674: 6d3b ldr r3, [r7, #80] ; 0x50 80a1676: 2b01 cmp r3, #1 80a1678: d157 bne.n 80a172a DrawImage(NUMS[ik[ipr][3]], 110 + 30*4, 121+9); 80a167a: 6d3a ldr r2, [r7, #80] ; 0x50 80a167c: 4613 mov r3, r2 80a167e: 009b lsls r3, r3, #2 80a1680: 4413 add r3, r2 80a1682: f107 0268 add.w r2, r7, #104 ; 0x68 80a1686: 4413 add r3, r2 80a1688: 3b31 subs r3, #49 ; 0x31 80a168a: 781b ldrb r3, [r3, #0] 80a168c: b2db uxtb r3, r3 80a168e: 461a mov r2, r3 80a1690: 4b63 ldr r3, [pc, #396] ; (80a1820 ) 80a1692: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a1696: 2282 movs r2, #130 ; 0x82 80a1698: 21e6 movs r1, #230 ; 0xe6 80a169a: 4618 mov r0, r3 80a169c: f7b2 ff7a bl 8054594 DrawImage(&bmgpt, 95 + 30*4, 145+9); 80a16a0: 229a movs r2, #154 ; 0x9a 80a16a2: 21d7 movs r1, #215 ; 0xd7 80a16a4: 485f ldr r0, [pc, #380] ; (80a1824 ) 80a16a6: f7b2 ff75 bl 8054594 DrawImage(NUMS[ik[ipr][2]], 90 + 30*3, 121+9); 80a16aa: 6d3a ldr r2, [r7, #80] ; 0x50 80a16ac: 4613 mov r3, r2 80a16ae: 009b lsls r3, r3, #2 80a16b0: 4413 add r3, r2 80a16b2: f107 0268 add.w r2, r7, #104 ; 0x68 80a16b6: 4413 add r3, r2 80a16b8: 3b32 subs r3, #50 ; 0x32 80a16ba: 781b ldrb r3, [r3, #0] 80a16bc: b2db uxtb r3, r3 80a16be: 461a mov r2, r3 80a16c0: 4b57 ldr r3, [pc, #348] ; (80a1820 ) 80a16c2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a16c6: 2282 movs r2, #130 ; 0x82 80a16c8: 21b4 movs r1, #180 ; 0xb4 80a16ca: 4618 mov r0, r3 80a16cc: f7b2 ff62 bl 8054594 DrawImage(NUMS[ik[ipr][1]], 90 + 30*2, 121+9); 80a16d0: 6d3a ldr r2, [r7, #80] ; 0x50 80a16d2: 4613 mov r3, r2 80a16d4: 009b lsls r3, r3, #2 80a16d6: 4413 add r3, r2 80a16d8: f107 0268 add.w r2, r7, #104 ; 0x68 80a16dc: 4413 add r3, r2 80a16de: 3b33 subs r3, #51 ; 0x33 80a16e0: 781b ldrb r3, [r3, #0] 80a16e2: b2db uxtb r3, r3 80a16e4: 461a mov r2, r3 80a16e6: 4b4e ldr r3, [pc, #312] ; (80a1820 ) 80a16e8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a16ec: 2282 movs r2, #130 ; 0x82 80a16ee: 2196 movs r1, #150 ; 0x96 80a16f0: 4618 mov r0, r3 80a16f2: f7b2 ff4f bl 8054594 DrawImage(NUMS[ik[ipr][0]], 90 + 30*1, 121+9); 80a16f6: 6d3a ldr r2, [r7, #80] ; 0x50 80a16f8: 4613 mov r3, r2 80a16fa: 009b lsls r3, r3, #2 80a16fc: 4413 add r3, r2 80a16fe: f107 0268 add.w r2, r7, #104 ; 0x68 80a1702: 4413 add r3, r2 80a1704: 3b34 subs r3, #52 ; 0x34 80a1706: 781b ldrb r3, [r3, #0] 80a1708: b2db uxtb r3, r3 80a170a: 461a mov r2, r3 80a170c: 4b44 ldr r3, [pc, #272] ; (80a1820 ) 80a170e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a1712: 2282 movs r2, #130 ; 0x82 80a1714: 2178 movs r1, #120 ; 0x78 80a1716: 4618 mov r0, r3 80a1718: f7b2 ff3c bl 8054594 DrawImage(&bmg_dB, 265, 128+9); 80a171c: 2289 movs r2, #137 ; 0x89 80a171e: f240 1109 movw r1, #265 ; 0x109 80a1722: 4841 ldr r0, [pc, #260] ; (80a1828 ) 80a1724: f7b2 ff36 bl 8054594 80a1728: e0a1 b.n 80a186e if(ipr == DIS) 80a172a: 6d3b ldr r3, [r7, #80] ; 0x50 80a172c: 2b02 cmp r3, #2 80a172e: f040 809e bne.w 80a186e DrawImage(NUMS[ik[ipr][3]], 110 + 30*4, 174); 80a1732: 6d3a ldr r2, [r7, #80] ; 0x50 80a1734: 4613 mov r3, r2 80a1736: 009b lsls r3, r3, #2 80a1738: 4413 add r3, r2 80a173a: f107 0268 add.w r2, r7, #104 ; 0x68 80a173e: 4413 add r3, r2 80a1740: 3b31 subs r3, #49 ; 0x31 80a1742: 781b ldrb r3, [r3, #0] 80a1744: b2db uxtb r3, r3 80a1746: 461a mov r2, r3 80a1748: 4b35 ldr r3, [pc, #212] ; (80a1820 ) 80a174a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a174e: 22ae movs r2, #174 ; 0xae 80a1750: 21e6 movs r1, #230 ; 0xe6 80a1752: 4618 mov r0, r3 80a1754: f7b2 ff1e bl 8054594 DrawImage(&bmgpt, 95 + 30*4, 198); 80a1758: 22c6 movs r2, #198 ; 0xc6 80a175a: 21d7 movs r1, #215 ; 0xd7 80a175c: 4831 ldr r0, [pc, #196] ; (80a1824 ) 80a175e: f7b2 ff19 bl 8054594 DrawImage(NUMS[ik[ipr][2]], 90 + 30*3, 174); 80a1762: 6d3a ldr r2, [r7, #80] ; 0x50 80a1764: 4613 mov r3, r2 80a1766: 009b lsls r3, r3, #2 80a1768: 4413 add r3, r2 80a176a: f107 0268 add.w r2, r7, #104 ; 0x68 80a176e: 4413 add r3, r2 80a1770: 3b32 subs r3, #50 ; 0x32 80a1772: 781b ldrb r3, [r3, #0] 80a1774: b2db uxtb r3, r3 80a1776: 461a mov r2, r3 80a1778: 4b29 ldr r3, [pc, #164] ; (80a1820 ) 80a177a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a177e: 22ae movs r2, #174 ; 0xae 80a1780: 21b4 movs r1, #180 ; 0xb4 80a1782: 4618 mov r0, r3 80a1784: f7b2 ff06 bl 8054594 DrawImage(NUMS[ik[ipr][1]], 90 + 30*2, 174); 80a1788: 6d3a ldr r2, [r7, #80] ; 0x50 80a178a: 4613 mov r3, r2 80a178c: 009b lsls r3, r3, #2 80a178e: 4413 add r3, r2 80a1790: f107 0268 add.w r2, r7, #104 ; 0x68 80a1794: 4413 add r3, r2 80a1796: 3b33 subs r3, #51 ; 0x33 80a1798: 781b ldrb r3, [r3, #0] 80a179a: b2db uxtb r3, r3 80a179c: 461a mov r2, r3 80a179e: 4b20 ldr r3, [pc, #128] ; (80a1820 ) 80a17a0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a17a4: 22ae movs r2, #174 ; 0xae 80a17a6: 2196 movs r1, #150 ; 0x96 80a17a8: 4618 mov r0, r3 80a17aa: f7b2 fef3 bl 8054594 DrawImage(NUMS[ik[ipr][0]], 90 + 30*1, 174); 80a17ae: 6d3a ldr r2, [r7, #80] ; 0x50 80a17b0: 4613 mov r3, r2 80a17b2: 009b lsls r3, r3, #2 80a17b4: 4413 add r3, r2 80a17b6: f107 0268 add.w r2, r7, #104 ; 0x68 80a17ba: 4413 add r3, r2 80a17bc: 3b34 subs r3, #52 ; 0x34 80a17be: 781b ldrb r3, [r3, #0] 80a17c0: b2db uxtb r3, r3 80a17c2: 461a mov r2, r3 80a17c4: 4b16 ldr r3, [pc, #88] ; (80a1820 ) 80a17c6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a17ca: 22ae movs r2, #174 ; 0xae 80a17cc: 2178 movs r1, #120 ; 0x78 80a17ce: 4618 mov r0, r3 80a17d0: f7b2 fee0 bl 8054594 DrawImage(&bmg_dB, 265, 180); 80a17d4: 22b4 movs r2, #180 ; 0xb4 80a17d6: f240 1109 movw r1, #265 ; 0x109 80a17da: 4813 ldr r0, [pc, #76] ; (80a1828 ) 80a17dc: f7b2 feda bl 8054594 80a17e0: e045 b.n 80a186e if(ipr == VEL) 80a17e2: 6d3b ldr r3, [r7, #80] ; 0x50 80a17e4: 2b01 cmp r3, #1 80a17e6: d12b bne.n 80a1840 LCD_SetColors(LCD_COLOR_NUMGREEN, LCD_COLOR_BLACK); 80a17e8: 4910 ldr r1, [pc, #64] ; (80a182c ) 80a17ea: 4811 ldr r0, [pc, #68] ; (80a1830 ) 80a17ec: f7b1 ffde bl 80537ac if(pardata.LANG == RUS) 80a17f0: 4b10 ldr r3, [pc, #64] ; (80a1834 ) 80a17f2: 7b1b ldrb r3, [r3, #12] 80a17f4: b2db uxtb r3, r3 80a17f6: 2b00 cmp r3, #0 80a17f8: d105 bne.n 80a1806 LCD_DisplayStringC(167, 135, "ÍÅÒ ÄÀÍÍÛÕ"); 80a17fa: 4a0f ldr r2, [pc, #60] ; (80a1838 ) 80a17fc: 2187 movs r1, #135 ; 0x87 80a17fe: 20a7 movs r0, #167 ; 0xa7 80a1800: f7b2 fd94 bl 805432c 80a1804: e033 b.n 80a186e else LCD_DisplayStringC(167, 135, "NO DATA"); 80a1806: 4a0d ldr r2, [pc, #52] ; (80a183c ) 80a1808: 2187 movs r1, #135 ; 0x87 80a180a: 20a7 movs r0, #167 ; 0xa7 80a180c: f7b2 fd8e bl 805432c 80a1810: e02d b.n 80a186e 80a1812: bf00 nop 80a1814: 10624dd3 .word 0x10624dd3 80a1818: 51eb851f .word 0x51eb851f 80a181c: cccccccd .word 0xcccccccd 80a1820: 20020124 .word 0x20020124 80a1824: 08167a1c .word 0x08167a1c 80a1828: 08162c68 .word 0x08162c68 80a182c: ff0a0f1f .word 0xff0a0f1f 80a1830: ffb8e828 .word 0xffb8e828 80a1834: 20023e60 .word 0x20023e60 80a1838: 080cfaf4 .word 0x080cfaf4 80a183c: 080cfb00 .word 0x080cfb00 if(ipr == DIS) 80a1840: 6d3b ldr r3, [r7, #80] ; 0x50 80a1842: 2b02 cmp r3, #2 80a1844: d113 bne.n 80a186e LCD_SetColors(LCD_COLOR_NUMGREEN, LCD_COLOR_BLACK); 80a1846: 49c8 ldr r1, [pc, #800] ; (80a1b68 ) 80a1848: 48c8 ldr r0, [pc, #800] ; (80a1b6c ) 80a184a: f7b1 ffaf bl 80537ac if(pardata.LANG == RUS) 80a184e: 4bc8 ldr r3, [pc, #800] ; (80a1b70 ) 80a1850: 7b1b ldrb r3, [r3, #12] 80a1852: b2db uxtb r3, r3 80a1854: 2b00 cmp r3, #0 80a1856: d105 bne.n 80a1864 LCD_DisplayStringC(167, 185, "ÍÅÒ ÄÀÍÍÛÕ"); 80a1858: 4ac6 ldr r2, [pc, #792] ; (80a1b74 ) 80a185a: 21b9 movs r1, #185 ; 0xb9 80a185c: 20a7 movs r0, #167 ; 0xa7 80a185e: f7b2 fd65 bl 805432c 80a1862: e004 b.n 80a186e else LCD_DisplayStringC(167, 185, "NO DATA"); 80a1864: 4ac4 ldr r2, [pc, #784] ; (80a1b78 ) 80a1866: 21b9 movs r1, #185 ; 0xb9 80a1868: 20a7 movs r0, #167 ; 0xa7 80a186a: f7b2 fd5f bl 805432c for(ipr = ACC; ipr <= DIS; ipr++) 80a186e: 6d3b ldr r3, [r7, #80] ; 0x50 80a1870: 3301 adds r3, #1 80a1872: 653b str r3, [r7, #80] ; 0x50 80a1874: 6d3b ldr r3, [r7, #80] ; 0x50 80a1876: 2b02 cmp r3, #2 80a1878: f67e ae98 bls.w 80a05ac break; 80a187c: f002 b900 b.w 80a3a80 DrawImage(&bmf, 100, 57+3); 80a1880: 223c movs r2, #60 ; 0x3c 80a1882: 2164 movs r1, #100 ; 0x64 80a1884: 48bd ldr r0, [pc, #756] ; (80a1b7c ) 80a1886: f7b2 fe85 bl 8054594 if(NextIndexMeas < IndexMeas[NextIndexPoint]) 80a188a: 4bbd ldr r3, [pc, #756] ; (80a1b80 ) 80a188c: 681b ldr r3, [r3, #0] 80a188e: 4abd ldr r2, [pc, #756] ; (80a1b84 ) 80a1890: f852 2023 ldr.w r2, [r2, r3, lsl #2] 80a1894: 4bbc ldr r3, [pc, #752] ; (80a1b88 ) 80a1896: 681b ldr r3, [r3, #0] 80a1898: 429a cmp r2, r3 80a189a: d905 bls.n 80a18a8 DrawImage(&bmSAVED, 298, 39); 80a189c: 2227 movs r2, #39 ; 0x27 80a189e: f44f 7195 mov.w r1, #298 ; 0x12a 80a18a2: 48ba ldr r0, [pc, #744] ; (80a1b8c ) 80a18a4: f7b2 fe76 bl 8054594 DrawDetectorType(); 80a18a8: f7f6 fce0 bl 809826c if((!FIRST) && (!RepeatKm) && (Stability > (Nr * 4)) && (FreqFran >= 0.0f) && (!timeRelax)) // 80a18ac: 4bb8 ldr r3, [pc, #736] ; (80a1b90 ) 80a18ae: 781b ldrb r3, [r3, #0] 80a18b0: b2db uxtb r3, r3 80a18b2: f083 0301 eor.w r3, r3, #1 80a18b6: b2db uxtb r3, r3 80a18b8: 2b00 cmp r3, #0 80a18ba: f002 80e1 beq.w 80a3a80 80a18be: 4bb5 ldr r3, [pc, #724] ; (80a1b94 ) 80a18c0: 781b ldrb r3, [r3, #0] 80a18c2: b2db uxtb r3, r3 80a18c4: f083 0301 eor.w r3, r3, #1 80a18c8: b2db uxtb r3, r3 80a18ca: 2b00 cmp r3, #0 80a18cc: f002 80d8 beq.w 80a3a80 80a18d0: 4bb1 ldr r3, [pc, #708] ; (80a1b98 ) 80a18d2: 881b ldrh r3, [r3, #0] 80a18d4: b29b uxth r3, r3 80a18d6: 009b lsls r3, r3, #2 80a18d8: 461a mov r2, r3 80a18da: 4bb0 ldr r3, [pc, #704] ; (80a1b9c ) 80a18dc: 681b ldr r3, [r3, #0] 80a18de: 429a cmp r2, r3 80a18e0: f082 80ce bcs.w 80a3a80 80a18e4: 4bae ldr r3, [pc, #696] ; (80a1ba0 ) 80a18e6: edd3 7a00 vldr s15, [r3] 80a18ea: eef5 7ac0 vcmpe.f32 s15, #0.0 80a18ee: eef1 fa10 vmrs APSR_nzcv, fpscr 80a18f2: da01 bge.n 80a18f8 break; 80a18f4: f002 b8c4 b.w 80a3a80 if((!FIRST) && (!RepeatKm) && (Stability > (Nr * 4)) && (FreqFran >= 0.0f) && (!timeRelax)) // 80a18f8: 4baa ldr r3, [pc, #680] ; (80a1ba4 ) 80a18fa: 681b ldr r3, [r3, #0] 80a18fc: 2b00 cmp r3, #0 80a18fe: f042 80bf bne.w 80a3a80 BSP_LCD_SetFont(&Font15); 80a1902: 48a9 ldr r0, [pc, #676] ; (80a1ba8 ) 80a1904: f7b1 ff8e bl 8053824 f = FreqFran; 80a1908: 4ba5 ldr r3, [pc, #660] ; (80a1ba0 ) 80a190a: 681b ldr r3, [r3, #0] 80a190c: 647b str r3, [r7, #68] ; 0x44 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80a190e: 4996 ldr r1, [pc, #600] ; (80a1b68 ) 80a1910: f04f 30ff mov.w r0, #4294967295 80a1914: f7b1 ff4a bl 80537ac memset(str, 0, sizeof(str)); 80a1918: f107 030c add.w r3, r7, #12 80a191c: 2228 movs r2, #40 ; 0x28 80a191e: 2100 movs r1, #0 80a1920: 4618 mov r0, r3 80a1922: f02b fb91 bl 80cd048 if(f <= 0.0f) 80a1926: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a192a: eef5 7ac0 vcmpe.f32 s15, #0.0 80a192e: eef1 fa10 vmrs APSR_nzcv, fpscr 80a1932: d808 bhi.n 80a1946 strcpy(str, "--?--"); 80a1934: f107 030c add.w r3, r7, #12 80a1938: 4a9c ldr r2, [pc, #624] ; (80a1bac ) 80a193a: e892 0003 ldmia.w r2, {r0, r1} 80a193e: 6018 str r0, [r3, #0] 80a1940: 3304 adds r3, #4 80a1942: 8019 strh r1, [r3, #0] 80a1944: e0b8 b.n 80a1ab8 if(f >= 1000.0f) 80a1946: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a194a: ed9f 7aa1 vldr s14, [pc, #644] ; 80a1bd0 80a194e: eef4 7ac7 vcmpe.f32 s15, s14 80a1952: eef1 fa10 vmrs APSR_nzcv, fpscr 80a1956: db3b blt.n 80a19d0 f *= 0.001f; 80a1958: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a195c: ed9f 7a94 vldr s14, [pc, #592] ; 80a1bb0 80a1960: ee67 7a87 vmul.f32 s15, s15, s14 80a1964: edc7 7a11 vstr s15, [r7, #68] ; 0x44 p8 = (char *) FloatToASCII(f, -2); 80a1968: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a196c: f06f 0001 mvn.w r0, #1 80a1970: eeb0 0a67 vmov.f32 s0, s15 80a1974: f7c4 fec4 bl 8066700 80a1978: 6638 str r0, [r7, #96] ; 0x60 strcpy(str, p8); 80a197a: f107 030c add.w r3, r7, #12 80a197e: 6e39 ldr r1, [r7, #96] ; 0x60 80a1980: 4618 mov r0, r3 80a1982: f02b fc7e bl 80cd282 if(pardata.LANG == RUS) strcat(str, " êÃö"); 80a1986: 4b7a ldr r3, [pc, #488] ; (80a1b70 ) 80a1988: 7b1b ldrb r3, [r3, #12] 80a198a: b2db uxtb r3, r3 80a198c: 2b00 cmp r3, #0 80a198e: d10f bne.n 80a19b0 80a1990: f107 030c add.w r3, r7, #12 80a1994: 4618 mov r0, r3 80a1996: f77e fcbd bl 8020314 80a199a: 4603 mov r3, r0 80a199c: 461a mov r2, r3 80a199e: f107 030c add.w r3, r7, #12 80a19a2: 4413 add r3, r2 80a19a4: 4a83 ldr r2, [pc, #524] ; (80a1bb4 ) 80a19a6: 6810 ldr r0, [r2, #0] 80a19a8: 6018 str r0, [r3, #0] 80a19aa: 7912 ldrb r2, [r2, #4] 80a19ac: 711a strb r2, [r3, #4] 80a19ae: e083 b.n 80a1ab8 else strcat(str, " kHz"); 80a19b0: f107 030c add.w r3, r7, #12 80a19b4: 4618 mov r0, r3 80a19b6: f77e fcad bl 8020314 80a19ba: 4603 mov r3, r0 80a19bc: 461a mov r2, r3 80a19be: f107 030c add.w r3, r7, #12 80a19c2: 4413 add r3, r2 80a19c4: 4a7c ldr r2, [pc, #496] ; (80a1bb8 ) 80a19c6: 6810 ldr r0, [r2, #0] 80a19c8: 6018 str r0, [r3, #0] 80a19ca: 7912 ldrb r2, [r2, #4] 80a19cc: 711a strb r2, [r3, #4] 80a19ce: e073 b.n 80a1ab8 if(f >= 1.0f) 80a19d0: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a19d4: eeb7 7a00 vmov.f32 s14, #112 ; 0x3f800000 1.0 80a19d8: eef4 7ac7 vcmpe.f32 s15, s14 80a19dc: eef1 fa10 vmrs APSR_nzcv, fpscr 80a19e0: db2f blt.n 80a1a42 p8 = (char *) FloatToASCII(f, -2); 80a19e2: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a19e6: f06f 0001 mvn.w r0, #1 80a19ea: eeb0 0a67 vmov.f32 s0, s15 80a19ee: f7c4 fe87 bl 8066700 80a19f2: 6638 str r0, [r7, #96] ; 0x60 strcpy(str, p8); 80a19f4: f107 030c add.w r3, r7, #12 80a19f8: 6e39 ldr r1, [r7, #96] ; 0x60 80a19fa: 4618 mov r0, r3 80a19fc: f02b fc41 bl 80cd282 if(pardata.LANG == RUS) strcat(str, " Ãö"); 80a1a00: 4b5b ldr r3, [pc, #364] ; (80a1b70 ) 80a1a02: 7b1b ldrb r3, [r3, #12] 80a1a04: b2db uxtb r3, r3 80a1a06: 2b00 cmp r3, #0 80a1a08: d10d bne.n 80a1a26 80a1a0a: f107 030c add.w r3, r7, #12 80a1a0e: 4618 mov r0, r3 80a1a10: f77e fc80 bl 8020314 80a1a14: 4603 mov r3, r0 80a1a16: 461a mov r2, r3 80a1a18: f107 030c add.w r3, r7, #12 80a1a1c: 4413 add r3, r2 80a1a1e: 4a67 ldr r2, [pc, #412] ; (80a1bbc ) 80a1a20: 6810 ldr r0, [r2, #0] 80a1a22: 6018 str r0, [r3, #0] 80a1a24: e048 b.n 80a1ab8 else strcat(str, " Hz"); 80a1a26: f107 030c add.w r3, r7, #12 80a1a2a: 4618 mov r0, r3 80a1a2c: f77e fc72 bl 8020314 80a1a30: 4603 mov r3, r0 80a1a32: 461a mov r2, r3 80a1a34: f107 030c add.w r3, r7, #12 80a1a38: 4413 add r3, r2 80a1a3a: 4a61 ldr r2, [pc, #388] ; (80a1bc0 ) 80a1a3c: 6810 ldr r0, [r2, #0] 80a1a3e: 6018 str r0, [r3, #0] 80a1a40: e03a b.n 80a1ab8 f *= 1000.0f; 80a1a42: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a1a46: ed9f 7a62 vldr s14, [pc, #392] ; 80a1bd0 80a1a4a: ee67 7a87 vmul.f32 s15, s15, s14 80a1a4e: edc7 7a11 vstr s15, [r7, #68] ; 0x44 p8 = (char *) FloatToASCII(f, -3); 80a1a52: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a1a56: f06f 0002 mvn.w r0, #2 80a1a5a: eeb0 0a67 vmov.f32 s0, s15 80a1a5e: f7c4 fe4f bl 8066700 80a1a62: 6638 str r0, [r7, #96] ; 0x60 strcpy(str, p8); 80a1a64: f107 030c add.w r3, r7, #12 80a1a68: 6e39 ldr r1, [r7, #96] ; 0x60 80a1a6a: 4618 mov r0, r3 80a1a6c: f02b fc09 bl 80cd282 if(pardata.LANG == RUS) strcat(str, " ìÃö"); 80a1a70: 4b3f ldr r3, [pc, #252] ; (80a1b70 ) 80a1a72: 7b1b ldrb r3, [r3, #12] 80a1a74: b2db uxtb r3, r3 80a1a76: 2b00 cmp r3, #0 80a1a78: d10f bne.n 80a1a9a 80a1a7a: f107 030c add.w r3, r7, #12 80a1a7e: 4618 mov r0, r3 80a1a80: f77e fc48 bl 8020314 80a1a84: 4603 mov r3, r0 80a1a86: 461a mov r2, r3 80a1a88: f107 030c add.w r3, r7, #12 80a1a8c: 4413 add r3, r2 80a1a8e: 4a4d ldr r2, [pc, #308] ; (80a1bc4 ) 80a1a90: 6810 ldr r0, [r2, #0] 80a1a92: 6018 str r0, [r3, #0] 80a1a94: 7912 ldrb r2, [r2, #4] 80a1a96: 711a strb r2, [r3, #4] 80a1a98: e00e b.n 80a1ab8 else strcat(str, " mHz"); 80a1a9a: f107 030c add.w r3, r7, #12 80a1a9e: 4618 mov r0, r3 80a1aa0: f77e fc38 bl 8020314 80a1aa4: 4603 mov r3, r0 80a1aa6: 461a mov r2, r3 80a1aa8: f107 030c add.w r3, r7, #12 80a1aac: 4413 add r3, r2 80a1aae: 4a46 ldr r2, [pc, #280] ; (80a1bc8 ) 80a1ab0: 6810 ldr r0, [r2, #0] 80a1ab2: 6018 str r0, [r3, #0] 80a1ab4: 7912 ldrb r2, [r2, #4] 80a1ab6: 711a strb r2, [r3, #4] BSP_LCD_DisplayStringAt(132, 61+3, str, LEFT_MODE); 80a1ab8: f107 020c add.w r2, r7, #12 80a1abc: 2303 movs r3, #3 80a1abe: 2140 movs r1, #64 ; 0x40 80a1ac0: 2084 movs r0, #132 ; 0x84 80a1ac2: f7b1 ff39 bl 8053938 if(log == false) // Åñëè â ìåòðè÷åñêèõ âåëè÷èíàõ 80a1ac6: f897 3067 ldrb.w r3, [r7, #103] ; 0x67 80a1aca: f083 0301 eor.w r3, r3, #1 80a1ace: b2db uxtb r3, r3 80a1ad0: 2b00 cmp r3, #0 80a1ad2: f000 85d7 beq.w 80a2684 for(ipr = ACC; ipr <= DIS; ipr++) 80a1ad6: 2300 movs r3, #0 80a1ad8: 653b str r3, [r7, #80] ; 0x50 80a1ada: f000 bdcd b.w 80a2678 memset(str, 0, sizeof(str)); 80a1ade: f107 030c add.w r3, r7, #12 80a1ae2: 2228 movs r2, #40 ; 0x28 80a1ae4: 2100 movs r1, #0 80a1ae6: 4618 mov r0, r3 80a1ae8: f02b faae bl 80cd048 f = ABS(skz[ipr]); 80a1aec: 6d3b ldr r3, [r7, #80] ; 0x50 80a1aee: 4a37 ldr r2, [pc, #220] ; (80a1bcc ) 80a1af0: 009b lsls r3, r3, #2 80a1af2: 4413 add r3, r2 80a1af4: edd3 7a00 vldr s15, [r3] 80a1af8: eef5 7ac0 vcmpe.f32 s15, #0.0 80a1afc: eef1 fa10 vmrs APSR_nzcv, fpscr 80a1b00: dd06 ble.n 80a1b10 80a1b02: 6d3b ldr r3, [r7, #80] ; 0x50 80a1b04: 4a31 ldr r2, [pc, #196] ; (80a1bcc ) 80a1b06: 009b lsls r3, r3, #2 80a1b08: 4413 add r3, r2 80a1b0a: edd3 7a00 vldr s15, [r3] 80a1b0e: e007 b.n 80a1b20 80a1b10: 6d3b ldr r3, [r7, #80] ; 0x50 80a1b12: 4a2e ldr r2, [pc, #184] ; (80a1bcc ) 80a1b14: 009b lsls r3, r3, #2 80a1b16: 4413 add r3, r2 80a1b18: edd3 7a00 vldr s15, [r3] 80a1b1c: eef1 7a67 vneg.f32 s15, s15 80a1b20: edc7 7a11 vstr s15, [r7, #68] ; 0x44 if(ipr < DIS) 80a1b24: 6d3b ldr r3, [r7, #80] ; 0x50 80a1b26: 2b01 cmp r3, #1 80a1b28: f200 80ec bhi.w 80a1d04 if(f < 10.0f) 80a1b2c: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a1b30: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80a1b34: eef4 7ac7 vcmpe.f32 s15, s14 80a1b38: eef1 fa10 vmrs APSR_nzcv, fpscr 80a1b3c: d550 bpl.n 80a1be0 k = (uint32_t) (roundf(f * 10000)); 80a1b3e: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a1b42: ed9f 7a25 vldr s14, [pc, #148] ; 80a1bd8 80a1b46: ee67 7a87 vmul.f32 s15, s15, s14 80a1b4a: eeb0 0a67 vmov.f32 s0, s15 80a1b4e: f029 f87d bl 80cac4c 80a1b52: eef0 7a40 vmov.f32 s15, s0 80a1b56: eefc 7ae7 vcvt.u32.f32 s15, s15 80a1b5a: ee17 3a90 vmov r3, s15 80a1b5e: 65bb str r3, [r7, #88] ; 0x58 t = 1; 80a1b60: 2301 movs r3, #1 80a1b62: 657b str r3, [r7, #84] ; 0x54 80a1b64: e1fc b.n 80a1f60 80a1b66: bf00 nop 80a1b68: ff0a0f1f .word 0xff0a0f1f 80a1b6c: ffb8e828 .word 0xffb8e828 80a1b70: 20023e60 .word 0x20023e60 80a1b74: 080cfaf4 .word 0x080cfaf4 80a1b78: 080cfb00 .word 0x080cfb00 80a1b7c: 0815d7b8 .word 0x0815d7b8 80a1b80: 20021f9c .word 0x20021f9c 80a1b84: 20022ea0 .word 0x20022ea0 80a1b88: 20022310 .word 0x20022310 80a1b8c: 08147a48 .word 0x08147a48 80a1b90: 20020db2 .word 0x20020db2 80a1b94: 20020dac .word 0x20020dac 80a1b98: 20021d20 .word 0x20021d20 80a1b9c: 20020da8 .word 0x20020da8 80a1ba0: 20021564 .word 0x20021564 80a1ba4: 20020d6c .word 0x20020d6c 80a1ba8: 20020040 .word 0x20020040 80a1bac: 080d0a38 .word 0x080d0a38 80a1bb0: 3a83126f .word 0x3a83126f 80a1bb4: 080d0a10 .word 0x080d0a10 80a1bb8: 080d0a18 .word 0x080d0a18 80a1bbc: 080d0a20 .word 0x080d0a20 80a1bc0: 080d0a24 .word 0x080d0a24 80a1bc4: 080d0a28 .word 0x080d0a28 80a1bc8: 080d0a30 .word 0x080d0a30 80a1bcc: 20021540 .word 0x20021540 80a1bd0: 447a0000 .word 0x447a0000 80a1bd4: 42c80000 .word 0x42c80000 80a1bd8: 461c4000 .word 0x461c4000 80a1bdc: 47c35000 .word 0x47c35000 if(f < 100.0f) 80a1be0: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a1be4: ed1f 7a05 vldr s14, [pc, #-20] ; 80a1bd4 80a1be8: eef4 7ac7 vcmpe.f32 s15, s14 80a1bec: eef1 fa10 vmrs APSR_nzcv, fpscr 80a1bf0: d513 bpl.n 80a1c1a k = (uint32_t) (roundf(f * 1000)); 80a1bf2: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a1bf6: ed1f 7a0a vldr s14, [pc, #-40] ; 80a1bd0 80a1bfa: ee67 7a87 vmul.f32 s15, s15, s14 80a1bfe: eeb0 0a67 vmov.f32 s0, s15 80a1c02: f029 f823 bl 80cac4c 80a1c06: eef0 7a40 vmov.f32 s15, s0 80a1c0a: eefc 7ae7 vcvt.u32.f32 s15, s15 80a1c0e: ee17 3a90 vmov r3, s15 80a1c12: 65bb str r3, [r7, #88] ; 0x58 t = 2; 80a1c14: 2302 movs r3, #2 80a1c16: 657b str r3, [r7, #84] ; 0x54 80a1c18: e1a2 b.n 80a1f60 if(f < 1000.0f) 80a1c1a: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a1c1e: ed1f 7a14 vldr s14, [pc, #-80] ; 80a1bd0 80a1c22: eef4 7ac7 vcmpe.f32 s15, s14 80a1c26: eef1 fa10 vmrs APSR_nzcv, fpscr 80a1c2a: d513 bpl.n 80a1c54 k = (uint32_t) (roundf(f * 100)); 80a1c2c: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a1c30: ed1f 7a18 vldr s14, [pc, #-96] ; 80a1bd4 80a1c34: ee67 7a87 vmul.f32 s15, s15, s14 80a1c38: eeb0 0a67 vmov.f32 s0, s15 80a1c3c: f029 f806 bl 80cac4c 80a1c40: eef0 7a40 vmov.f32 s15, s0 80a1c44: eefc 7ae7 vcvt.u32.f32 s15, s15 80a1c48: ee17 3a90 vmov r3, s15 80a1c4c: 65bb str r3, [r7, #88] ; 0x58 t = 3; 80a1c4e: 2303 movs r3, #3 80a1c50: 657b str r3, [r7, #84] ; 0x54 80a1c52: e185 b.n 80a1f60 if(f < 10000.0f) 80a1c54: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a1c58: ed1f 7a21 vldr s14, [pc, #-132] ; 80a1bd8 80a1c5c: eef4 7ac7 vcmpe.f32 s15, s14 80a1c60: eef1 fa10 vmrs APSR_nzcv, fpscr 80a1c64: d513 bpl.n 80a1c8e k = (uint32_t) (roundf(f * 10)); 80a1c66: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a1c6a: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80a1c6e: ee67 7a87 vmul.f32 s15, s15, s14 80a1c72: eeb0 0a67 vmov.f32 s0, s15 80a1c76: f028 ffe9 bl 80cac4c 80a1c7a: eef0 7a40 vmov.f32 s15, s0 80a1c7e: eefc 7ae7 vcvt.u32.f32 s15, s15 80a1c82: ee17 3a90 vmov r3, s15 80a1c86: 65bb str r3, [r7, #88] ; 0x58 t = 4; 80a1c88: 2304 movs r3, #4 80a1c8a: 657b str r3, [r7, #84] ; 0x54 80a1c8c: e168 b.n 80a1f60 if(f < 100000.0f) 80a1c8e: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a1c92: ed1f 7a2e vldr s14, [pc, #-184] ; 80a1bdc 80a1c96: eef4 7ac7 vcmpe.f32 s15, s14 80a1c9a: eef1 fa10 vmrs APSR_nzcv, fpscr 80a1c9e: d515 bpl.n 80a1ccc k = (uint32_t) (roundf(f)); 80a1ca0: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a1ca4: eeb0 0a67 vmov.f32 s0, s15 80a1ca8: f028 ffd0 bl 80cac4c 80a1cac: eef0 7a40 vmov.f32 s15, s0 80a1cb0: eefc 7ae7 vcvt.u32.f32 s15, s15 80a1cb4: ee17 3a90 vmov r3, s15 80a1cb8: 65bb str r3, [r7, #88] ; 0x58 if(k >= 100000) 80a1cba: 6dbb ldr r3, [r7, #88] ; 0x58 80a1cbc: 4a8e ldr r2, [pc, #568] ; (80a1ef8 ) 80a1cbe: 4293 cmp r3, r2 80a1cc0: d901 bls.n 80a1cc6 k = 99999; 80a1cc2: 4b8d ldr r3, [pc, #564] ; (80a1ef8 ) 80a1cc4: 65bb str r3, [r7, #88] ; 0x58 t = 0; 80a1cc6: 2300 movs r3, #0 80a1cc8: 657b str r3, [r7, #84] ; 0x54 80a1cca: e149 b.n 80a1f60 if(f >= 100000.0f) 80a1ccc: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a1cd0: ed9f 7a8a vldr s14, [pc, #552] ; 80a1efc 80a1cd4: eef4 7ac7 vcmpe.f32 s15, s14 80a1cd8: eef1 fa10 vmrs APSR_nzcv, fpscr 80a1cdc: f2c0 8140 blt.w 80a1f60 f = 99999.0f; 80a1ce0: 4b87 ldr r3, [pc, #540] ; (80a1f00 ) 80a1ce2: 647b str r3, [r7, #68] ; 0x44 k = (uint32_t) (roundf(f)); 80a1ce4: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a1ce8: eeb0 0a67 vmov.f32 s0, s15 80a1cec: f028 ffae bl 80cac4c 80a1cf0: eef0 7a40 vmov.f32 s15, s0 80a1cf4: eefc 7ae7 vcvt.u32.f32 s15, s15 80a1cf8: ee17 3a90 vmov r3, s15 80a1cfc: 65bb str r3, [r7, #88] ; 0x58 t = 0; 80a1cfe: 2300 movs r3, #0 80a1d00: 657b str r3, [r7, #84] ; 0x54 80a1d02: e12d b.n 80a1f60 if(f < 10.0f) 80a1d04: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a1d08: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80a1d0c: eef4 7ac7 vcmpe.f32 s15, s14 80a1d10: eef1 fa10 vmrs APSR_nzcv, fpscr 80a1d14: d515 bpl.n 80a1d42 k = (uint32_t) (roundf(f * 10000)); 80a1d16: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a1d1a: ed9f 7a7a vldr s14, [pc, #488] ; 80a1f04 80a1d1e: ee67 7a87 vmul.f32 s15, s15, s14 80a1d22: eeb0 0a67 vmov.f32 s0, s15 80a1d26: f028 ff91 bl 80cac4c 80a1d2a: eef0 7a40 vmov.f32 s15, s0 80a1d2e: eefc 7ae7 vcvt.u32.f32 s15, s15 80a1d32: ee17 3a90 vmov r3, s15 80a1d36: 65bb str r3, [r7, #88] ; 0x58 t = 1; 80a1d38: 2301 movs r3, #1 80a1d3a: 657b str r3, [r7, #84] ; 0x54 m = 0; 80a1d3c: 2300 movs r3, #0 80a1d3e: 64fb str r3, [r7, #76] ; 0x4c 80a1d40: e10e b.n 80a1f60 if(f < 100.0f) 80a1d42: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a1d46: ed9f 7a70 vldr s14, [pc, #448] ; 80a1f08 80a1d4a: eef4 7ac7 vcmpe.f32 s15, s14 80a1d4e: eef1 fa10 vmrs APSR_nzcv, fpscr 80a1d52: d515 bpl.n 80a1d80 k = (uint32_t) (roundf(f * 1000)); 80a1d54: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a1d58: ed9f 7a6c vldr s14, [pc, #432] ; 80a1f0c 80a1d5c: ee67 7a87 vmul.f32 s15, s15, s14 80a1d60: eeb0 0a67 vmov.f32 s0, s15 80a1d64: f028 ff72 bl 80cac4c 80a1d68: eef0 7a40 vmov.f32 s15, s0 80a1d6c: eefc 7ae7 vcvt.u32.f32 s15, s15 80a1d70: ee17 3a90 vmov r3, s15 80a1d74: 65bb str r3, [r7, #88] ; 0x58 t = 2; 80a1d76: 2302 movs r3, #2 80a1d78: 657b str r3, [r7, #84] ; 0x54 m = 0; 80a1d7a: 2300 movs r3, #0 80a1d7c: 64fb str r3, [r7, #76] ; 0x4c 80a1d7e: e0ef b.n 80a1f60 if(f < 1000.0f) 80a1d80: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a1d84: ed9f 7a61 vldr s14, [pc, #388] ; 80a1f0c 80a1d88: eef4 7ac7 vcmpe.f32 s15, s14 80a1d8c: eef1 fa10 vmrs APSR_nzcv, fpscr 80a1d90: d515 bpl.n 80a1dbe k = (uint32_t) (roundf(f * 100)); 80a1d92: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a1d96: ed9f 7a5c vldr s14, [pc, #368] ; 80a1f08 80a1d9a: ee67 7a87 vmul.f32 s15, s15, s14 80a1d9e: eeb0 0a67 vmov.f32 s0, s15 80a1da2: f028 ff53 bl 80cac4c 80a1da6: eef0 7a40 vmov.f32 s15, s0 80a1daa: eefc 7ae7 vcvt.u32.f32 s15, s15 80a1dae: ee17 3a90 vmov r3, s15 80a1db2: 65bb str r3, [r7, #88] ; 0x58 t = 3; 80a1db4: 2303 movs r3, #3 80a1db6: 657b str r3, [r7, #84] ; 0x54 m = 0; 80a1db8: 2300 movs r3, #0 80a1dba: 64fb str r3, [r7, #76] ; 0x4c 80a1dbc: e0d0 b.n 80a1f60 if(f < 10000.0f) 80a1dbe: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a1dc2: ed9f 7a50 vldr s14, [pc, #320] ; 80a1f04 80a1dc6: eef4 7ac7 vcmpe.f32 s15, s14 80a1dca: eef1 fa10 vmrs APSR_nzcv, fpscr 80a1dce: d515 bpl.n 80a1dfc k = (uint32_t) (roundf(f * 10)); 80a1dd0: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a1dd4: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80a1dd8: ee67 7a87 vmul.f32 s15, s15, s14 80a1ddc: eeb0 0a67 vmov.f32 s0, s15 80a1de0: f028 ff34 bl 80cac4c 80a1de4: eef0 7a40 vmov.f32 s15, s0 80a1de8: eefc 7ae7 vcvt.u32.f32 s15, s15 80a1dec: ee17 3a90 vmov r3, s15 80a1df0: 65bb str r3, [r7, #88] ; 0x58 t = 1; 80a1df2: 2301 movs r3, #1 80a1df4: 657b str r3, [r7, #84] ; 0x54 m = 1; 80a1df6: 2301 movs r3, #1 80a1df8: 64fb str r3, [r7, #76] ; 0x4c 80a1dfa: e0b1 b.n 80a1f60 if(f < 100000.0f) 80a1dfc: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a1e00: ed9f 7a3e vldr s14, [pc, #248] ; 80a1efc 80a1e04: eef4 7ac7 vcmpe.f32 s15, s14 80a1e08: eef1 fa10 vmrs APSR_nzcv, fpscr 80a1e0c: d511 bpl.n 80a1e32 k = (uint32_t) (roundf(f)); 80a1e0e: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a1e12: eeb0 0a67 vmov.f32 s0, s15 80a1e16: f028 ff19 bl 80cac4c 80a1e1a: eef0 7a40 vmov.f32 s15, s0 80a1e1e: eefc 7ae7 vcvt.u32.f32 s15, s15 80a1e22: ee17 3a90 vmov r3, s15 80a1e26: 65bb str r3, [r7, #88] ; 0x58 t = 2; 80a1e28: 2302 movs r3, #2 80a1e2a: 657b str r3, [r7, #84] ; 0x54 m = 1; 80a1e2c: 2301 movs r3, #1 80a1e2e: 64fb str r3, [r7, #76] ; 0x4c 80a1e30: e096 b.n 80a1f60 if(f < 1000000.0f) 80a1e32: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a1e36: ed9f 7a36 vldr s14, [pc, #216] ; 80a1f10 80a1e3a: eef4 7ac7 vcmpe.f32 s15, s14 80a1e3e: eef1 fa10 vmrs APSR_nzcv, fpscr 80a1e42: d515 bpl.n 80a1e70 k = (uint32_t) (roundf(f * 0.1f)); 80a1e44: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a1e48: ed9f 7a32 vldr s14, [pc, #200] ; 80a1f14 80a1e4c: ee67 7a87 vmul.f32 s15, s15, s14 80a1e50: eeb0 0a67 vmov.f32 s0, s15 80a1e54: f028 fefa bl 80cac4c 80a1e58: eef0 7a40 vmov.f32 s15, s0 80a1e5c: eefc 7ae7 vcvt.u32.f32 s15, s15 80a1e60: ee17 3a90 vmov r3, s15 80a1e64: 65bb str r3, [r7, #88] ; 0x58 t = 3; 80a1e66: 2303 movs r3, #3 80a1e68: 657b str r3, [r7, #84] ; 0x54 m = 1; 80a1e6a: 2301 movs r3, #1 80a1e6c: 64fb str r3, [r7, #76] ; 0x4c 80a1e6e: e077 b.n 80a1f60 if(f < 10000000.0f) 80a1e70: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a1e74: ed9f 7a28 vldr s14, [pc, #160] ; 80a1f18 80a1e78: eef4 7ac7 vcmpe.f32 s15, s14 80a1e7c: eef1 fa10 vmrs APSR_nzcv, fpscr 80a1e80: d515 bpl.n 80a1eae k = (uint32_t) (roundf(f * 0.01f)); 80a1e82: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a1e86: ed9f 7a25 vldr s14, [pc, #148] ; 80a1f1c 80a1e8a: ee67 7a87 vmul.f32 s15, s15, s14 80a1e8e: eeb0 0a67 vmov.f32 s0, s15 80a1e92: f028 fedb bl 80cac4c 80a1e96: eef0 7a40 vmov.f32 s15, s0 80a1e9a: eefc 7ae7 vcvt.u32.f32 s15, s15 80a1e9e: ee17 3a90 vmov r3, s15 80a1ea2: 65bb str r3, [r7, #88] ; 0x58 t = 4; 80a1ea4: 2304 movs r3, #4 80a1ea6: 657b str r3, [r7, #84] ; 0x54 m = 1; 80a1ea8: 2301 movs r3, #1 80a1eaa: 64fb str r3, [r7, #76] ; 0x4c 80a1eac: e058 b.n 80a1f60 if(f < 100000000.0f) 80a1eae: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a1eb2: ed9f 7a1c vldr s14, [pc, #112] ; 80a1f24 80a1eb6: eef4 7ac7 vcmpe.f32 s15, s14 80a1eba: eef1 fa10 vmrs APSR_nzcv, fpscr 80a1ebe: d533 bpl.n 80a1f28 k = (uint32_t) (roundf(f * 0.001f)); 80a1ec0: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a1ec4: ed9f 7a16 vldr s14, [pc, #88] ; 80a1f20 80a1ec8: ee67 7a87 vmul.f32 s15, s15, s14 80a1ecc: eeb0 0a67 vmov.f32 s0, s15 80a1ed0: f028 febc bl 80cac4c 80a1ed4: eef0 7a40 vmov.f32 s15, s0 80a1ed8: eefc 7ae7 vcvt.u32.f32 s15, s15 80a1edc: ee17 3a90 vmov r3, s15 80a1ee0: 65bb str r3, [r7, #88] ; 0x58 if(k >= 100000) 80a1ee2: 6dbb ldr r3, [r7, #88] ; 0x58 80a1ee4: 4a04 ldr r2, [pc, #16] ; (80a1ef8 ) 80a1ee6: 4293 cmp r3, r2 80a1ee8: d901 bls.n 80a1eee k = 99999; 80a1eea: 4b03 ldr r3, [pc, #12] ; (80a1ef8 ) 80a1eec: 65bb str r3, [r7, #88] ; 0x58 t = 0; 80a1eee: 2300 movs r3, #0 80a1ef0: 657b str r3, [r7, #84] ; 0x54 m = 1; 80a1ef2: 2301 movs r3, #1 80a1ef4: 64fb str r3, [r7, #76] ; 0x4c 80a1ef6: e033 b.n 80a1f60 80a1ef8: 0001869f .word 0x0001869f 80a1efc: 47c35000 .word 0x47c35000 80a1f00: 47c34f80 .word 0x47c34f80 80a1f04: 461c4000 .word 0x461c4000 80a1f08: 42c80000 .word 0x42c80000 80a1f0c: 447a0000 .word 0x447a0000 80a1f10: 49742400 .word 0x49742400 80a1f14: 3dcccccd .word 0x3dcccccd 80a1f18: 4b189680 .word 0x4b189680 80a1f1c: 3c23d70a .word 0x3c23d70a 80a1f20: 3a83126f .word 0x3a83126f 80a1f24: 4cbebc20 .word 0x4cbebc20 if(f >= 100000000.0f) 80a1f28: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a1f2c: ed1f 7a03 vldr s14, [pc, #-12] ; 80a1f24 80a1f30: eef4 7ac7 vcmpe.f32 s15, s14 80a1f34: eef1 fa10 vmrs APSR_nzcv, fpscr 80a1f38: db12 blt.n 80a1f60 f = 99999.0f; 80a1f3a: 4bc4 ldr r3, [pc, #784] ; (80a224c ) 80a1f3c: 647b str r3, [r7, #68] ; 0x44 k = (uint32_t) (roundf(f)); 80a1f3e: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a1f42: eeb0 0a67 vmov.f32 s0, s15 80a1f46: f028 fe81 bl 80cac4c 80a1f4a: eef0 7a40 vmov.f32 s15, s0 80a1f4e: eefc 7ae7 vcvt.u32.f32 s15, s15 80a1f52: ee17 3a90 vmov r3, s15 80a1f56: 65bb str r3, [r7, #88] ; 0x58 t = 0; 80a1f58: 2300 movs r3, #0 80a1f5a: 657b str r3, [r7, #84] ; 0x54 m = 1; 80a1f5c: 2301 movs r3, #1 80a1f5e: 64fb str r3, [r7, #76] ; 0x4c ik[ipr][0] = (uint8_t) (k / 10000); 80a1f60: 6d3a ldr r2, [r7, #80] ; 0x50 80a1f62: 6dbb ldr r3, [r7, #88] ; 0x58 80a1f64: 49ba ldr r1, [pc, #744] ; (80a2250 ) 80a1f66: fba1 1303 umull r1, r3, r1, r3 80a1f6a: 0b5b lsrs r3, r3, #13 80a1f6c: b2d9 uxtb r1, r3 80a1f6e: 4613 mov r3, r2 80a1f70: 009b lsls r3, r3, #2 80a1f72: 4413 add r3, r2 80a1f74: f107 0268 add.w r2, r7, #104 ; 0x68 80a1f78: 4413 add r3, r2 80a1f7a: 3b34 subs r3, #52 ; 0x34 80a1f7c: 460a mov r2, r1 80a1f7e: 701a strb r2, [r3, #0] ik[ipr][1] = (uint8_t) (k % 10000 / 1000); 80a1f80: 6d39 ldr r1, [r7, #80] ; 0x50 80a1f82: 6dba ldr r2, [r7, #88] ; 0x58 80a1f84: 4bb2 ldr r3, [pc, #712] ; (80a2250 ) 80a1f86: fba3 0302 umull r0, r3, r3, r2 80a1f8a: 0b5b lsrs r3, r3, #13 80a1f8c: f242 7010 movw r0, #10000 ; 0x2710 80a1f90: fb00 f303 mul.w r3, r0, r3 80a1f94: 1ad3 subs r3, r2, r3 80a1f96: 4aaf ldr r2, [pc, #700] ; (80a2254 ) 80a1f98: fba2 2303 umull r2, r3, r2, r3 80a1f9c: 099b lsrs r3, r3, #6 80a1f9e: b2da uxtb r2, r3 80a1fa0: 460b mov r3, r1 80a1fa2: 009b lsls r3, r3, #2 80a1fa4: 440b add r3, r1 80a1fa6: f107 0168 add.w r1, r7, #104 ; 0x68 80a1faa: 440b add r3, r1 80a1fac: 3b33 subs r3, #51 ; 0x33 80a1fae: 701a strb r2, [r3, #0] ik[ipr][2] = (uint8_t) (k % 10000 % 1000 / 100); 80a1fb0: 6d39 ldr r1, [r7, #80] ; 0x50 80a1fb2: 6dba ldr r2, [r7, #88] ; 0x58 80a1fb4: 4ba6 ldr r3, [pc, #664] ; (80a2250 ) 80a1fb6: fba3 0302 umull r0, r3, r3, r2 80a1fba: 0b5b lsrs r3, r3, #13 80a1fbc: f242 7010 movw r0, #10000 ; 0x2710 80a1fc0: fb00 f303 mul.w r3, r0, r3 80a1fc4: 1ad3 subs r3, r2, r3 80a1fc6: 4aa3 ldr r2, [pc, #652] ; (80a2254 ) 80a1fc8: fba2 0203 umull r0, r2, r2, r3 80a1fcc: 0992 lsrs r2, r2, #6 80a1fce: f44f 707a mov.w r0, #1000 ; 0x3e8 80a1fd2: fb00 f202 mul.w r2, r0, r2 80a1fd6: 1a9a subs r2, r3, r2 80a1fd8: 4b9f ldr r3, [pc, #636] ; (80a2258 ) 80a1fda: fba3 2302 umull r2, r3, r3, r2 80a1fde: 095b lsrs r3, r3, #5 80a1fe0: b2da uxtb r2, r3 80a1fe2: 460b mov r3, r1 80a1fe4: 009b lsls r3, r3, #2 80a1fe6: 440b add r3, r1 80a1fe8: f107 0168 add.w r1, r7, #104 ; 0x68 80a1fec: 440b add r3, r1 80a1fee: 3b32 subs r3, #50 ; 0x32 80a1ff0: 701a strb r2, [r3, #0] ik[ipr][3] = (uint8_t) (k % 10000 % 1000 % 100 / 10); 80a1ff2: 6d39 ldr r1, [r7, #80] ; 0x50 80a1ff4: 6dbb ldr r3, [r7, #88] ; 0x58 80a1ff6: 4a96 ldr r2, [pc, #600] ; (80a2250 ) 80a1ff8: fba2 0203 umull r0, r2, r2, r3 80a1ffc: 0b52 lsrs r2, r2, #13 80a1ffe: f242 7010 movw r0, #10000 ; 0x2710 80a2002: fb00 f202 mul.w r2, r0, r2 80a2006: 1a9a subs r2, r3, r2 80a2008: 4b92 ldr r3, [pc, #584] ; (80a2254 ) 80a200a: fba3 0302 umull r0, r3, r3, r2 80a200e: 099b lsrs r3, r3, #6 80a2010: f44f 707a mov.w r0, #1000 ; 0x3e8 80a2014: fb00 f303 mul.w r3, r0, r3 80a2018: 1ad3 subs r3, r2, r3 80a201a: 4a8f ldr r2, [pc, #572] ; (80a2258 ) 80a201c: fba2 0203 umull r0, r2, r2, r3 80a2020: 0952 lsrs r2, r2, #5 80a2022: 2064 movs r0, #100 ; 0x64 80a2024: fb00 f202 mul.w r2, r0, r2 80a2028: 1a9a subs r2, r3, r2 80a202a: 4b8c ldr r3, [pc, #560] ; (80a225c ) 80a202c: fba3 2302 umull r2, r3, r3, r2 80a2030: 08db lsrs r3, r3, #3 80a2032: b2da uxtb r2, r3 80a2034: 460b mov r3, r1 80a2036: 009b lsls r3, r3, #2 80a2038: 440b add r3, r1 80a203a: f107 0168 add.w r1, r7, #104 ; 0x68 80a203e: 440b add r3, r1 80a2040: 3b31 subs r3, #49 ; 0x31 80a2042: 701a strb r2, [r3, #0] ik[ipr][4] = (uint8_t) (k % 10000 % 1000 % 100 % 10); 80a2044: 6d38 ldr r0, [r7, #80] ; 0x50 80a2046: 6dbb ldr r3, [r7, #88] ; 0x58 80a2048: 4a81 ldr r2, [pc, #516] ; (80a2250 ) 80a204a: fba2 1203 umull r1, r2, r2, r3 80a204e: 0b52 lsrs r2, r2, #13 80a2050: f242 7110 movw r1, #10000 ; 0x2710 80a2054: fb01 f202 mul.w r2, r1, r2 80a2058: 1a9a subs r2, r3, r2 80a205a: 4b7e ldr r3, [pc, #504] ; (80a2254 ) 80a205c: fba3 1302 umull r1, r3, r3, r2 80a2060: 099b lsrs r3, r3, #6 80a2062: f44f 717a mov.w r1, #1000 ; 0x3e8 80a2066: fb01 f303 mul.w r3, r1, r3 80a206a: 1ad3 subs r3, r2, r3 80a206c: 4a7a ldr r2, [pc, #488] ; (80a2258 ) 80a206e: fba2 1203 umull r1, r2, r2, r3 80a2072: 0952 lsrs r2, r2, #5 80a2074: 2164 movs r1, #100 ; 0x64 80a2076: fb01 f202 mul.w r2, r1, r2 80a207a: 1a9a subs r2, r3, r2 80a207c: 4b77 ldr r3, [pc, #476] ; (80a225c ) 80a207e: fba3 1302 umull r1, r3, r3, r2 80a2082: 08d9 lsrs r1, r3, #3 80a2084: 460b mov r3, r1 80a2086: 009b lsls r3, r3, #2 80a2088: 440b add r3, r1 80a208a: 005b lsls r3, r3, #1 80a208c: 1ad1 subs r1, r2, r3 80a208e: b2ca uxtb r2, r1 80a2090: 4603 mov r3, r0 80a2092: 009b lsls r3, r3, #2 80a2094: 4403 add r3, r0 80a2096: f107 0168 add.w r1, r7, #104 ; 0x68 80a209a: 440b add r3, r1 80a209c: 3b30 subs r3, #48 ; 0x30 80a209e: 701a strb r2, [r3, #0] if(skz[ipr] != -1.0f) // 80a20a0: 6d3b ldr r3, [r7, #80] ; 0x50 80a20a2: 4a6f ldr r2, [pc, #444] ; (80a2260 ) 80a20a4: 009b lsls r3, r3, #2 80a20a6: 4413 add r3, r2 80a20a8: edd3 7a00 vldr s15, [r3] 80a20ac: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 80a20b0: eef4 7a47 vcmp.f32 s15, s14 80a20b4: eef1 fa10 vmrs APSR_nzcv, fpscr 80a20b8: f000 82a2 beq.w 80a2600 if(ipr == ACC) 80a20bc: 6d3b ldr r3, [r7, #80] ; 0x50 80a20be: 2b00 cmp r3, #0 80a20c0: f040 80dc bne.w 80a227c if(!t) 80a20c4: 6d7b ldr r3, [r7, #84] ; 0x54 80a20c6: 2b00 cmp r3, #0 80a20c8: d126 bne.n 80a2118 for(i = 0; i < 5; i++) 80a20ca: 2300 movs r3, #0 80a20cc: 65fb str r3, [r7, #92] ; 0x5c 80a20ce: e01f b.n 80a2110 DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 68+18); 80a20d0: 6d3a ldr r2, [r7, #80] ; 0x50 80a20d2: 6df9 ldr r1, [r7, #92] ; 0x5c 80a20d4: 4613 mov r3, r2 80a20d6: 009b lsls r3, r3, #2 80a20d8: 4413 add r3, r2 80a20da: f107 0268 add.w r2, r7, #104 ; 0x68 80a20de: 4413 add r3, r2 80a20e0: 440b add r3, r1 80a20e2: 3b34 subs r3, #52 ; 0x34 80a20e4: 781b ldrb r3, [r3, #0] 80a20e6: b2db uxtb r3, r3 80a20e8: 461a mov r2, r3 80a20ea: 4b5e ldr r3, [pc, #376] ; (80a2264 ) 80a20ec: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a20f0: 6dfb ldr r3, [r7, #92] ; 0x5c 80a20f2: b29b uxth r3, r3 80a20f4: 461a mov r2, r3 80a20f6: 0112 lsls r2, r2, #4 80a20f8: 1ad3 subs r3, r2, r3 80a20fa: 005b lsls r3, r3, #1 80a20fc: b29b uxth r3, r3 80a20fe: 335a adds r3, #90 ; 0x5a 80a2100: b29b uxth r3, r3 80a2102: 2256 movs r2, #86 ; 0x56 80a2104: 4619 mov r1, r3 80a2106: f7b2 fa45 bl 8054594 for(i = 0; i < 5; i++) 80a210a: 6dfb ldr r3, [r7, #92] ; 0x5c 80a210c: 3301 adds r3, #1 80a210e: 65fb str r3, [r7, #92] ; 0x5c 80a2110: 6dfb ldr r3, [r7, #92] ; 0x5c 80a2112: 2b04 cmp r3, #4 80a2114: d9dc bls.n 80a20d0 80a2116: e05a b.n 80a21ce for(i = 0; i < t; i++) 80a2118: 2300 movs r3, #0 80a211a: 65fb str r3, [r7, #92] ; 0x5c 80a211c: e01f b.n 80a215e DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 68+18); 80a211e: 6d3a ldr r2, [r7, #80] ; 0x50 80a2120: 6df9 ldr r1, [r7, #92] ; 0x5c 80a2122: 4613 mov r3, r2 80a2124: 009b lsls r3, r3, #2 80a2126: 4413 add r3, r2 80a2128: f107 0268 add.w r2, r7, #104 ; 0x68 80a212c: 4413 add r3, r2 80a212e: 440b add r3, r1 80a2130: 3b34 subs r3, #52 ; 0x34 80a2132: 781b ldrb r3, [r3, #0] 80a2134: b2db uxtb r3, r3 80a2136: 461a mov r2, r3 80a2138: 4b4a ldr r3, [pc, #296] ; (80a2264 ) 80a213a: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a213e: 6dfb ldr r3, [r7, #92] ; 0x5c 80a2140: b29b uxth r3, r3 80a2142: 461a mov r2, r3 80a2144: 0112 lsls r2, r2, #4 80a2146: 1ad3 subs r3, r2, r3 80a2148: 005b lsls r3, r3, #1 80a214a: b29b uxth r3, r3 80a214c: 335a adds r3, #90 ; 0x5a 80a214e: b29b uxth r3, r3 80a2150: 2256 movs r2, #86 ; 0x56 80a2152: 4619 mov r1, r3 80a2154: f7b2 fa1e bl 8054594 for(i = 0; i < t; i++) 80a2158: 6dfb ldr r3, [r7, #92] ; 0x5c 80a215a: 3301 adds r3, #1 80a215c: 65fb str r3, [r7, #92] ; 0x5c 80a215e: 6dfa ldr r2, [r7, #92] ; 0x5c 80a2160: 6d7b ldr r3, [r7, #84] ; 0x54 80a2162: 429a cmp r2, r3 80a2164: d3db bcc.n 80a211e DrawImage(&bmgpt, 95 + 30*t, 92+18); 80a2166: 6d7b ldr r3, [r7, #84] ; 0x54 80a2168: b29b uxth r3, r3 80a216a: 461a mov r2, r3 80a216c: 0112 lsls r2, r2, #4 80a216e: 1ad3 subs r3, r2, r3 80a2170: 005b lsls r3, r3, #1 80a2172: b29b uxth r3, r3 80a2174: 335f adds r3, #95 ; 0x5f 80a2176: b29b uxth r3, r3 80a2178: 226e movs r2, #110 ; 0x6e 80a217a: 4619 mov r1, r3 80a217c: 483a ldr r0, [pc, #232] ; (80a2268 ) 80a217e: f7b2 fa09 bl 8054594 for(i = t; i < 5; i++) 80a2182: 6d7b ldr r3, [r7, #84] ; 0x54 80a2184: 65fb str r3, [r7, #92] ; 0x5c 80a2186: e01f b.n 80a21c8 DrawImage(NUMS[ik[ipr][i]], 110 + 30*i, 68+18); 80a2188: 6d3a ldr r2, [r7, #80] ; 0x50 80a218a: 6df9 ldr r1, [r7, #92] ; 0x5c 80a218c: 4613 mov r3, r2 80a218e: 009b lsls r3, r3, #2 80a2190: 4413 add r3, r2 80a2192: f107 0268 add.w r2, r7, #104 ; 0x68 80a2196: 4413 add r3, r2 80a2198: 440b add r3, r1 80a219a: 3b34 subs r3, #52 ; 0x34 80a219c: 781b ldrb r3, [r3, #0] 80a219e: b2db uxtb r3, r3 80a21a0: 461a mov r2, r3 80a21a2: 4b30 ldr r3, [pc, #192] ; (80a2264 ) 80a21a4: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a21a8: 6dfb ldr r3, [r7, #92] ; 0x5c 80a21aa: b29b uxth r3, r3 80a21ac: 461a mov r2, r3 80a21ae: 0112 lsls r2, r2, #4 80a21b0: 1ad3 subs r3, r2, r3 80a21b2: 005b lsls r3, r3, #1 80a21b4: b29b uxth r3, r3 80a21b6: 336e adds r3, #110 ; 0x6e 80a21b8: b29b uxth r3, r3 80a21ba: 2256 movs r2, #86 ; 0x56 80a21bc: 4619 mov r1, r3 80a21be: f7b2 f9e9 bl 8054594 for(i = t; i < 5; i++) 80a21c2: 6dfb ldr r3, [r7, #92] ; 0x5c 80a21c4: 3301 adds r3, #1 80a21c6: 65fb str r3, [r7, #92] ; 0x5c 80a21c8: 6dfb ldr r3, [r7, #92] ; 0x5c 80a21ca: 2b04 cmp r3, #4 80a21cc: d9dc bls.n 80a2188 if(pardata.IVS[ACC] < PEAK_FACTOR) 80a21ce: 4b27 ldr r3, [pc, #156] ; (80a226c ) 80a21d0: 789b ldrb r3, [r3, #2] 80a21d2: b2db uxtb r3, r3 80a21d4: 2b02 cmp r3, #2 80a21d6: d81f bhi.n 80a2218 if(pardata.IIN != VOLTS) 80a21d8: 4b24 ldr r3, [pc, #144] ; (80a226c ) 80a21da: 799b ldrb r3, [r3, #6] 80a21dc: b2db uxtb r3, r3 80a21de: 2b02 cmp r3, #2 80a21e0: d00d beq.n 80a21fe DrawImage(BMG_MS[pardata.LANG], 265, 74+18); 80a21e2: 4b22 ldr r3, [pc, #136] ; (80a226c ) 80a21e4: 7b1b ldrb r3, [r3, #12] 80a21e6: b2db uxtb r3, r3 80a21e8: 461a mov r2, r3 80a21ea: 4b21 ldr r3, [pc, #132] ; (80a2270 ) 80a21ec: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a21f0: 225c movs r2, #92 ; 0x5c 80a21f2: f240 1109 movw r1, #265 ; 0x109 80a21f6: 4618 mov r0, r3 80a21f8: f7b2 f9cc bl 8054594 80a21fc: e00c b.n 80a2218 else DrawImage(BMG_MV[pardata.LANG], 265, 74+18); 80a21fe: 4b1b ldr r3, [pc, #108] ; (80a226c ) 80a2200: 7b1b ldrb r3, [r3, #12] 80a2202: b2db uxtb r3, r3 80a2204: 461a mov r2, r3 80a2206: 4b1b ldr r3, [pc, #108] ; (80a2274 ) 80a2208: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a220c: 225c movs r2, #92 ; 0x5c 80a220e: f240 1109 movw r1, #265 ; 0x109 80a2212: 4618 mov r0, r3 80a2214: f7b2 f9be bl 8054594 if(pardata.IVS[ipr] == EXCESS) 80a2218: 6d3b ldr r3, [r7, #80] ; 0x50 80a221a: 4a14 ldr r2, [pc, #80] ; (80a226c ) 80a221c: 4413 add r3, r2 80a221e: 789b ldrb r3, [r3, #2] 80a2220: b2db uxtb r3, r3 80a2222: 2b04 cmp r3, #4 80a2224: f040 8225 bne.w 80a2672 if(skz[ipr] < 0.0f) { 80a2228: 6d3b ldr r3, [r7, #80] ; 0x50 80a222a: 4a0d ldr r2, [pc, #52] ; (80a2260 ) 80a222c: 009b lsls r3, r3, #2 80a222e: 4413 add r3, r2 80a2230: edd3 7a00 vldr s15, [r3] 80a2234: eef5 7ac0 vcmpe.f32 s15, #0.0 80a2238: eef1 fa10 vmrs APSR_nzcv, fpscr 80a223c: f140 8219 bpl.w 80a2672 DrawImage(&bmgminus, 78, 84+18); 80a2240: 2266 movs r2, #102 ; 0x66 80a2242: 214e movs r1, #78 ; 0x4e 80a2244: 480c ldr r0, [pc, #48] ; (80a2278 ) 80a2246: f7b2 f9a5 bl 8054594 80a224a: e212 b.n 80a2672 80a224c: 47c34f80 .word 0x47c34f80 80a2250: d1b71759 .word 0xd1b71759 80a2254: 10624dd3 .word 0x10624dd3 80a2258: 51eb851f .word 0x51eb851f 80a225c: cccccccd .word 0xcccccccd 80a2260: 20021540 .word 0x20021540 80a2264: 20020124 .word 0x20020124 80a2268: 08167a1c .word 0x08167a1c 80a226c: 20023e60 .word 0x20023e60 80a2270: 200200f4 .word 0x200200f4 80a2274: 20020114 .word 0x20020114 80a2278: 08167990 .word 0x08167990 if(ipr == VEL) 80a227c: 6d3b ldr r3, [r7, #80] ; 0x50 80a227e: 2b01 cmp r3, #1 80a2280: f040 80c4 bne.w 80a240c if(!t) 80a2284: 6d7b ldr r3, [r7, #84] ; 0x54 80a2286: 2b00 cmp r3, #0 80a2288: d126 bne.n 80a22d8 for(i = 0; i < 5; i++) 80a228a: 2300 movs r3, #0 80a228c: 65fb str r3, [r7, #92] ; 0x5c 80a228e: e01f b.n 80a22d0 DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 121+9); 80a2290: 6d3a ldr r2, [r7, #80] ; 0x50 80a2292: 6df9 ldr r1, [r7, #92] ; 0x5c 80a2294: 4613 mov r3, r2 80a2296: 009b lsls r3, r3, #2 80a2298: 4413 add r3, r2 80a229a: f107 0268 add.w r2, r7, #104 ; 0x68 80a229e: 4413 add r3, r2 80a22a0: 440b add r3, r1 80a22a2: 3b34 subs r3, #52 ; 0x34 80a22a4: 781b ldrb r3, [r3, #0] 80a22a6: b2db uxtb r3, r3 80a22a8: 461a mov r2, r3 80a22aa: 4bb1 ldr r3, [pc, #708] ; (80a2570 ) 80a22ac: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a22b0: 6dfb ldr r3, [r7, #92] ; 0x5c 80a22b2: b29b uxth r3, r3 80a22b4: 461a mov r2, r3 80a22b6: 0112 lsls r2, r2, #4 80a22b8: 1ad3 subs r3, r2, r3 80a22ba: 005b lsls r3, r3, #1 80a22bc: b29b uxth r3, r3 80a22be: 335a adds r3, #90 ; 0x5a 80a22c0: b29b uxth r3, r3 80a22c2: 2282 movs r2, #130 ; 0x82 80a22c4: 4619 mov r1, r3 80a22c6: f7b2 f965 bl 8054594 for(i = 0; i < 5; i++) 80a22ca: 6dfb ldr r3, [r7, #92] ; 0x5c 80a22cc: 3301 adds r3, #1 80a22ce: 65fb str r3, [r7, #92] ; 0x5c 80a22d0: 6dfb ldr r3, [r7, #92] ; 0x5c 80a22d2: 2b04 cmp r3, #4 80a22d4: d9dc bls.n 80a2290 80a22d6: e05a b.n 80a238e for(i = 0; i < t; i++) 80a22d8: 2300 movs r3, #0 80a22da: 65fb str r3, [r7, #92] ; 0x5c 80a22dc: e01f b.n 80a231e DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 121+9); 80a22de: 6d3a ldr r2, [r7, #80] ; 0x50 80a22e0: 6df9 ldr r1, [r7, #92] ; 0x5c 80a22e2: 4613 mov r3, r2 80a22e4: 009b lsls r3, r3, #2 80a22e6: 4413 add r3, r2 80a22e8: f107 0268 add.w r2, r7, #104 ; 0x68 80a22ec: 4413 add r3, r2 80a22ee: 440b add r3, r1 80a22f0: 3b34 subs r3, #52 ; 0x34 80a22f2: 781b ldrb r3, [r3, #0] 80a22f4: b2db uxtb r3, r3 80a22f6: 461a mov r2, r3 80a22f8: 4b9d ldr r3, [pc, #628] ; (80a2570 ) 80a22fa: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a22fe: 6dfb ldr r3, [r7, #92] ; 0x5c 80a2300: b29b uxth r3, r3 80a2302: 461a mov r2, r3 80a2304: 0112 lsls r2, r2, #4 80a2306: 1ad3 subs r3, r2, r3 80a2308: 005b lsls r3, r3, #1 80a230a: b29b uxth r3, r3 80a230c: 335a adds r3, #90 ; 0x5a 80a230e: b29b uxth r3, r3 80a2310: 2282 movs r2, #130 ; 0x82 80a2312: 4619 mov r1, r3 80a2314: f7b2 f93e bl 8054594 for(i = 0; i < t; i++) 80a2318: 6dfb ldr r3, [r7, #92] ; 0x5c 80a231a: 3301 adds r3, #1 80a231c: 65fb str r3, [r7, #92] ; 0x5c 80a231e: 6dfa ldr r2, [r7, #92] ; 0x5c 80a2320: 6d7b ldr r3, [r7, #84] ; 0x54 80a2322: 429a cmp r2, r3 80a2324: d3db bcc.n 80a22de DrawImage(&bmgpt, 95 + 30*t, 145+9); 80a2326: 6d7b ldr r3, [r7, #84] ; 0x54 80a2328: b29b uxth r3, r3 80a232a: 461a mov r2, r3 80a232c: 0112 lsls r2, r2, #4 80a232e: 1ad3 subs r3, r2, r3 80a2330: 005b lsls r3, r3, #1 80a2332: b29b uxth r3, r3 80a2334: 335f adds r3, #95 ; 0x5f 80a2336: b29b uxth r3, r3 80a2338: 229a movs r2, #154 ; 0x9a 80a233a: 4619 mov r1, r3 80a233c: 488d ldr r0, [pc, #564] ; (80a2574 ) 80a233e: f7b2 f929 bl 8054594 for(i = t; i < 5; i++) 80a2342: 6d7b ldr r3, [r7, #84] ; 0x54 80a2344: 65fb str r3, [r7, #92] ; 0x5c 80a2346: e01f b.n 80a2388 DrawImage(NUMS[ik[ipr][i]], 110 + 30*i, 121+9); 80a2348: 6d3a ldr r2, [r7, #80] ; 0x50 80a234a: 6df9 ldr r1, [r7, #92] ; 0x5c 80a234c: 4613 mov r3, r2 80a234e: 009b lsls r3, r3, #2 80a2350: 4413 add r3, r2 80a2352: f107 0268 add.w r2, r7, #104 ; 0x68 80a2356: 4413 add r3, r2 80a2358: 440b add r3, r1 80a235a: 3b34 subs r3, #52 ; 0x34 80a235c: 781b ldrb r3, [r3, #0] 80a235e: b2db uxtb r3, r3 80a2360: 461a mov r2, r3 80a2362: 4b83 ldr r3, [pc, #524] ; (80a2570 ) 80a2364: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a2368: 6dfb ldr r3, [r7, #92] ; 0x5c 80a236a: b29b uxth r3, r3 80a236c: 461a mov r2, r3 80a236e: 0112 lsls r2, r2, #4 80a2370: 1ad3 subs r3, r2, r3 80a2372: 005b lsls r3, r3, #1 80a2374: b29b uxth r3, r3 80a2376: 336e adds r3, #110 ; 0x6e 80a2378: b29b uxth r3, r3 80a237a: 2282 movs r2, #130 ; 0x82 80a237c: 4619 mov r1, r3 80a237e: f7b2 f909 bl 8054594 for(i = t; i < 5; i++) 80a2382: 6dfb ldr r3, [r7, #92] ; 0x5c 80a2384: 3301 adds r3, #1 80a2386: 65fb str r3, [r7, #92] ; 0x5c 80a2388: 6dfb ldr r3, [r7, #92] ; 0x5c 80a238a: 2b04 cmp r3, #4 80a238c: d9dc bls.n 80a2348 if(pardata.IVS[VEL] < PEAK_FACTOR) 80a238e: 4b7a ldr r3, [pc, #488] ; (80a2578 ) 80a2390: 78db ldrb r3, [r3, #3] 80a2392: b2db uxtb r3, r3 80a2394: 2b02 cmp r3, #2 80a2396: d81f bhi.n 80a23d8 if(pardata.IIN != VOLTS) 80a2398: 4b77 ldr r3, [pc, #476] ; (80a2578 ) 80a239a: 799b ldrb r3, [r3, #6] 80a239c: b2db uxtb r3, r3 80a239e: 2b02 cmp r3, #2 80a23a0: d00d beq.n 80a23be DrawImage(BMG_MMS[pardata.LANG], 265, 128+9); 80a23a2: 4b75 ldr r3, [pc, #468] ; (80a2578 ) 80a23a4: 7b1b ldrb r3, [r3, #12] 80a23a6: b2db uxtb r3, r3 80a23a8: 461a mov r2, r3 80a23aa: 4b74 ldr r3, [pc, #464] ; (80a257c ) 80a23ac: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a23b0: 2289 movs r2, #137 ; 0x89 80a23b2: f240 1109 movw r1, #265 ; 0x109 80a23b6: 4618 mov r0, r3 80a23b8: f7b2 f8ec bl 8054594 80a23bc: e00c b.n 80a23d8 else DrawImage(BMG_MV[pardata.LANG], 265, 128+9); 80a23be: 4b6e ldr r3, [pc, #440] ; (80a2578 ) 80a23c0: 7b1b ldrb r3, [r3, #12] 80a23c2: b2db uxtb r3, r3 80a23c4: 461a mov r2, r3 80a23c6: 4b6e ldr r3, [pc, #440] ; (80a2580 ) 80a23c8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a23cc: 2289 movs r2, #137 ; 0x89 80a23ce: f240 1109 movw r1, #265 ; 0x109 80a23d2: 4618 mov r0, r3 80a23d4: f7b2 f8de bl 8054594 if(pardata.IVS[ipr] == EXCESS) 80a23d8: 6d3b ldr r3, [r7, #80] ; 0x50 80a23da: 4a67 ldr r2, [pc, #412] ; (80a2578 ) 80a23dc: 4413 add r3, r2 80a23de: 789b ldrb r3, [r3, #2] 80a23e0: b2db uxtb r3, r3 80a23e2: 2b04 cmp r3, #4 80a23e4: f040 8145 bne.w 80a2672 if(skz[ipr] < 0.0f) { 80a23e8: 6d3b ldr r3, [r7, #80] ; 0x50 80a23ea: 4a66 ldr r2, [pc, #408] ; (80a2584 ) 80a23ec: 009b lsls r3, r3, #2 80a23ee: 4413 add r3, r2 80a23f0: edd3 7a00 vldr s15, [r3] 80a23f4: eef5 7ac0 vcmpe.f32 s15, #0.0 80a23f8: eef1 fa10 vmrs APSR_nzcv, fpscr 80a23fc: f140 8139 bpl.w 80a2672 DrawImage(&bmgminus, 78, 138+9); 80a2400: 2293 movs r2, #147 ; 0x93 80a2402: 214e movs r1, #78 ; 0x4e 80a2404: 4860 ldr r0, [pc, #384] ; (80a2588 ) 80a2406: f7b2 f8c5 bl 8054594 80a240a: e132 b.n 80a2672 if(ipr == DIS) 80a240c: 6d3b ldr r3, [r7, #80] ; 0x50 80a240e: 2b02 cmp r3, #2 80a2410: f040 812f bne.w 80a2672 if(!t) 80a2414: 6d7b ldr r3, [r7, #84] ; 0x54 80a2416: 2b00 cmp r3, #0 80a2418: d126 bne.n 80a2468 for(i = 0; i < 5; i++) 80a241a: 2300 movs r3, #0 80a241c: 65fb str r3, [r7, #92] ; 0x5c 80a241e: e01f b.n 80a2460 DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 174); 80a2420: 6d3a ldr r2, [r7, #80] ; 0x50 80a2422: 6df9 ldr r1, [r7, #92] ; 0x5c 80a2424: 4613 mov r3, r2 80a2426: 009b lsls r3, r3, #2 80a2428: 4413 add r3, r2 80a242a: f107 0268 add.w r2, r7, #104 ; 0x68 80a242e: 4413 add r3, r2 80a2430: 440b add r3, r1 80a2432: 3b34 subs r3, #52 ; 0x34 80a2434: 781b ldrb r3, [r3, #0] 80a2436: b2db uxtb r3, r3 80a2438: 461a mov r2, r3 80a243a: 4b4d ldr r3, [pc, #308] ; (80a2570 ) 80a243c: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a2440: 6dfb ldr r3, [r7, #92] ; 0x5c 80a2442: b29b uxth r3, r3 80a2444: 461a mov r2, r3 80a2446: 0112 lsls r2, r2, #4 80a2448: 1ad3 subs r3, r2, r3 80a244a: 005b lsls r3, r3, #1 80a244c: b29b uxth r3, r3 80a244e: 335a adds r3, #90 ; 0x5a 80a2450: b29b uxth r3, r3 80a2452: 22ae movs r2, #174 ; 0xae 80a2454: 4619 mov r1, r3 80a2456: f7b2 f89d bl 8054594 for(i = 0; i < 5; i++) 80a245a: 6dfb ldr r3, [r7, #92] ; 0x5c 80a245c: 3301 adds r3, #1 80a245e: 65fb str r3, [r7, #92] ; 0x5c 80a2460: 6dfb ldr r3, [r7, #92] ; 0x5c 80a2462: 2b04 cmp r3, #4 80a2464: d9dc bls.n 80a2420 80a2466: e05a b.n 80a251e for(i = 0; i < t; i++) 80a2468: 2300 movs r3, #0 80a246a: 65fb str r3, [r7, #92] ; 0x5c 80a246c: e01f b.n 80a24ae DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 174); 80a246e: 6d3a ldr r2, [r7, #80] ; 0x50 80a2470: 6df9 ldr r1, [r7, #92] ; 0x5c 80a2472: 4613 mov r3, r2 80a2474: 009b lsls r3, r3, #2 80a2476: 4413 add r3, r2 80a2478: f107 0268 add.w r2, r7, #104 ; 0x68 80a247c: 4413 add r3, r2 80a247e: 440b add r3, r1 80a2480: 3b34 subs r3, #52 ; 0x34 80a2482: 781b ldrb r3, [r3, #0] 80a2484: b2db uxtb r3, r3 80a2486: 461a mov r2, r3 80a2488: 4b39 ldr r3, [pc, #228] ; (80a2570 ) 80a248a: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a248e: 6dfb ldr r3, [r7, #92] ; 0x5c 80a2490: b29b uxth r3, r3 80a2492: 461a mov r2, r3 80a2494: 0112 lsls r2, r2, #4 80a2496: 1ad3 subs r3, r2, r3 80a2498: 005b lsls r3, r3, #1 80a249a: b29b uxth r3, r3 80a249c: 335a adds r3, #90 ; 0x5a 80a249e: b29b uxth r3, r3 80a24a0: 22ae movs r2, #174 ; 0xae 80a24a2: 4619 mov r1, r3 80a24a4: f7b2 f876 bl 8054594 for(i = 0; i < t; i++) 80a24a8: 6dfb ldr r3, [r7, #92] ; 0x5c 80a24aa: 3301 adds r3, #1 80a24ac: 65fb str r3, [r7, #92] ; 0x5c 80a24ae: 6dfa ldr r2, [r7, #92] ; 0x5c 80a24b0: 6d7b ldr r3, [r7, #84] ; 0x54 80a24b2: 429a cmp r2, r3 80a24b4: d3db bcc.n 80a246e DrawImage(&bmgpt, 95 + 30*t, 198); 80a24b6: 6d7b ldr r3, [r7, #84] ; 0x54 80a24b8: b29b uxth r3, r3 80a24ba: 461a mov r2, r3 80a24bc: 0112 lsls r2, r2, #4 80a24be: 1ad3 subs r3, r2, r3 80a24c0: 005b lsls r3, r3, #1 80a24c2: b29b uxth r3, r3 80a24c4: 335f adds r3, #95 ; 0x5f 80a24c6: b29b uxth r3, r3 80a24c8: 22c6 movs r2, #198 ; 0xc6 80a24ca: 4619 mov r1, r3 80a24cc: 4829 ldr r0, [pc, #164] ; (80a2574 ) 80a24ce: f7b2 f861 bl 8054594 for(i = t; i < 5; i++) 80a24d2: 6d7b ldr r3, [r7, #84] ; 0x54 80a24d4: 65fb str r3, [r7, #92] ; 0x5c 80a24d6: e01f b.n 80a2518 DrawImage(NUMS[ik[ipr][i]], 110 + 30*i, 174); 80a24d8: 6d3a ldr r2, [r7, #80] ; 0x50 80a24da: 6df9 ldr r1, [r7, #92] ; 0x5c 80a24dc: 4613 mov r3, r2 80a24de: 009b lsls r3, r3, #2 80a24e0: 4413 add r3, r2 80a24e2: f107 0268 add.w r2, r7, #104 ; 0x68 80a24e6: 4413 add r3, r2 80a24e8: 440b add r3, r1 80a24ea: 3b34 subs r3, #52 ; 0x34 80a24ec: 781b ldrb r3, [r3, #0] 80a24ee: b2db uxtb r3, r3 80a24f0: 461a mov r2, r3 80a24f2: 4b1f ldr r3, [pc, #124] ; (80a2570 ) 80a24f4: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a24f8: 6dfb ldr r3, [r7, #92] ; 0x5c 80a24fa: b29b uxth r3, r3 80a24fc: 461a mov r2, r3 80a24fe: 0112 lsls r2, r2, #4 80a2500: 1ad3 subs r3, r2, r3 80a2502: 005b lsls r3, r3, #1 80a2504: b29b uxth r3, r3 80a2506: 336e adds r3, #110 ; 0x6e 80a2508: b29b uxth r3, r3 80a250a: 22ae movs r2, #174 ; 0xae 80a250c: 4619 mov r1, r3 80a250e: f7b2 f841 bl 8054594 for(i = t; i < 5; i++) 80a2512: 6dfb ldr r3, [r7, #92] ; 0x5c 80a2514: 3301 adds r3, #1 80a2516: 65fb str r3, [r7, #92] ; 0x5c 80a2518: 6dfb ldr r3, [r7, #92] ; 0x5c 80a251a: 2b04 cmp r3, #4 80a251c: d9dc bls.n 80a24d8 if(pardata.IVS[DIS] < PEAK_FACTOR) 80a251e: 4b16 ldr r3, [pc, #88] ; (80a2578 ) 80a2520: 791b ldrb r3, [r3, #4] 80a2522: b2db uxtb r3, r3 80a2524: 2b02 cmp r3, #2 80a2526: d853 bhi.n 80a25d0 if(pardata.IIN != VOLTS) 80a2528: 4b13 ldr r3, [pc, #76] ; (80a2578 ) 80a252a: 799b ldrb r3, [r3, #6] 80a252c: b2db uxtb r3, r3 80a252e: 2b02 cmp r3, #2 80a2530: d030 beq.n 80a2594 if(m == 0) 80a2532: 6cfb ldr r3, [r7, #76] ; 0x4c 80a2534: 2b00 cmp r3, #0 80a2536: d10d bne.n 80a2554 DrawImage(BMG_MKM[pardata.LANG], 265, 180); 80a2538: 4b0f ldr r3, [pc, #60] ; (80a2578 ) 80a253a: 7b1b ldrb r3, [r3, #12] 80a253c: b2db uxtb r3, r3 80a253e: 461a mov r2, r3 80a2540: 4b12 ldr r3, [pc, #72] ; (80a258c ) 80a2542: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a2546: 22b4 movs r2, #180 ; 0xb4 80a2548: f240 1109 movw r1, #265 ; 0x109 80a254c: 4618 mov r0, r3 80a254e: f7b2 f821 bl 8054594 80a2552: e03d b.n 80a25d0 else DrawImage(BMG_MM[pardata.LANG], 265, 180); 80a2554: 4b08 ldr r3, [pc, #32] ; (80a2578 ) 80a2556: 7b1b ldrb r3, [r3, #12] 80a2558: b2db uxtb r3, r3 80a255a: 461a mov r2, r3 80a255c: 4b0c ldr r3, [pc, #48] ; (80a2590 ) 80a255e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a2562: 22b4 movs r2, #180 ; 0xb4 80a2564: f240 1109 movw r1, #265 ; 0x109 80a2568: 4618 mov r0, r3 80a256a: f7b2 f813 bl 8054594 80a256e: e02f b.n 80a25d0 80a2570: 20020124 .word 0x20020124 80a2574: 08167a1c .word 0x08167a1c 80a2578: 20023e60 .word 0x20023e60 80a257c: 200200fc .word 0x200200fc 80a2580: 20020114 .word 0x20020114 80a2584: 20021540 .word 0x20021540 80a2588: 08167990 .word 0x08167990 80a258c: 20020104 .word 0x20020104 80a2590: 2002010c .word 0x2002010c if(m == 0) 80a2594: 6cfb ldr r3, [r7, #76] ; 0x4c 80a2596: 2b00 cmp r3, #0 80a2598: d10d bne.n 80a25b6 DrawImage(BMG_MV[pardata.LANG], 265, 180); 80a259a: 4bca ldr r3, [pc, #808] ; (80a28c4 ) 80a259c: 7b1b ldrb r3, [r3, #12] 80a259e: b2db uxtb r3, r3 80a25a0: 461a mov r2, r3 80a25a2: 4bc9 ldr r3, [pc, #804] ; (80a28c8 ) 80a25a4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a25a8: 22b4 movs r2, #180 ; 0xb4 80a25aa: f240 1109 movw r1, #265 ; 0x109 80a25ae: 4618 mov r0, r3 80a25b0: f7b1 fff0 bl 8054594 80a25b4: e00c b.n 80a25d0 else DrawImage(BMG_V[pardata.LANG], 265, 180); 80a25b6: 4bc3 ldr r3, [pc, #780] ; (80a28c4 ) 80a25b8: 7b1b ldrb r3, [r3, #12] 80a25ba: b2db uxtb r3, r3 80a25bc: 461a mov r2, r3 80a25be: 4bc3 ldr r3, [pc, #780] ; (80a28cc ) 80a25c0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a25c4: 22b4 movs r2, #180 ; 0xb4 80a25c6: f240 1109 movw r1, #265 ; 0x109 80a25ca: 4618 mov r0, r3 80a25cc: f7b1 ffe2 bl 8054594 if(pardata.IVS[ipr] == EXCESS) 80a25d0: 6d3b ldr r3, [r7, #80] ; 0x50 80a25d2: 4abc ldr r2, [pc, #752] ; (80a28c4 ) 80a25d4: 4413 add r3, r2 80a25d6: 789b ldrb r3, [r3, #2] 80a25d8: b2db uxtb r3, r3 80a25da: 2b04 cmp r3, #4 80a25dc: d149 bne.n 80a2672 if(skz[ipr] < 0.0f) { 80a25de: 6d3b ldr r3, [r7, #80] ; 0x50 80a25e0: 4abb ldr r2, [pc, #748] ; (80a28d0 ) 80a25e2: 009b lsls r3, r3, #2 80a25e4: 4413 add r3, r2 80a25e6: edd3 7a00 vldr s15, [r3] 80a25ea: eef5 7ac0 vcmpe.f32 s15, #0.0 80a25ee: eef1 fa10 vmrs APSR_nzcv, fpscr 80a25f2: d53e bpl.n 80a2672 DrawImage(&bmgminus, 78, 190); 80a25f4: 22be movs r2, #190 ; 0xbe 80a25f6: 214e movs r1, #78 ; 0x4e 80a25f8: 48b6 ldr r0, [pc, #728] ; (80a28d4 ) 80a25fa: f7b1 ffcb bl 8054594 80a25fe: e038 b.n 80a2672 if(skz[ACC] != -1.0f) 80a2600: 4bb3 ldr r3, [pc, #716] ; (80a28d0 ) 80a2602: edd3 7a00 vldr s15, [r3] 80a2606: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 80a260a: eef4 7a47 vcmp.f32 s15, s14 80a260e: eef1 fa10 vmrs APSR_nzcv, fpscr 80a2612: d02e beq.n 80a2672 if(ipr == VEL) 80a2614: 6d3b ldr r3, [r7, #80] ; 0x50 80a2616: 2b01 cmp r3, #1 80a2618: d114 bne.n 80a2644 LCD_SetColors(LCD_COLOR_NUMGREEN, LCD_COLOR_BLACK); 80a261a: 49af ldr r1, [pc, #700] ; (80a28d8 ) 80a261c: 48af ldr r0, [pc, #700] ; (80a28dc ) 80a261e: f7b1 f8c5 bl 80537ac if(pardata.LANG == RUS) 80a2622: 4ba8 ldr r3, [pc, #672] ; (80a28c4 ) 80a2624: 7b1b ldrb r3, [r3, #12] 80a2626: b2db uxtb r3, r3 80a2628: 2b00 cmp r3, #0 80a262a: d105 bne.n 80a2638 LCD_DisplayStringC(167, 135, "ÍÅÒ ÄÀÍÍÛÕ"); 80a262c: 4aac ldr r2, [pc, #688] ; (80a28e0 ) 80a262e: 2187 movs r1, #135 ; 0x87 80a2630: 20a7 movs r0, #167 ; 0xa7 80a2632: f7b1 fe7b bl 805432c 80a2636: e01c b.n 80a2672 else LCD_DisplayStringC(167, 135, "NO DATA"); 80a2638: 4aaa ldr r2, [pc, #680] ; (80a28e4 ) 80a263a: 2187 movs r1, #135 ; 0x87 80a263c: 20a7 movs r0, #167 ; 0xa7 80a263e: f7b1 fe75 bl 805432c 80a2642: e016 b.n 80a2672 if(ipr == DIS) 80a2644: 6d3b ldr r3, [r7, #80] ; 0x50 80a2646: 2b02 cmp r3, #2 80a2648: d113 bne.n 80a2672 LCD_SetColors(LCD_COLOR_NUMGREEN, LCD_COLOR_BLACK); 80a264a: 49a3 ldr r1, [pc, #652] ; (80a28d8 ) 80a264c: 48a3 ldr r0, [pc, #652] ; (80a28dc ) 80a264e: f7b1 f8ad bl 80537ac if(pardata.LANG == RUS) 80a2652: 4b9c ldr r3, [pc, #624] ; (80a28c4 ) 80a2654: 7b1b ldrb r3, [r3, #12] 80a2656: b2db uxtb r3, r3 80a2658: 2b00 cmp r3, #0 80a265a: d105 bne.n 80a2668 LCD_DisplayStringC(167, 185, "ÍÅÒ ÄÀÍÍÛÕ"); 80a265c: 4aa0 ldr r2, [pc, #640] ; (80a28e0 ) 80a265e: 21b9 movs r1, #185 ; 0xb9 80a2660: 20a7 movs r0, #167 ; 0xa7 80a2662: f7b1 fe63 bl 805432c 80a2666: e004 b.n 80a2672 else LCD_DisplayStringC(167, 185, "NO DATA"); 80a2668: 4a9e ldr r2, [pc, #632] ; (80a28e4 ) 80a266a: 21b9 movs r1, #185 ; 0xb9 80a266c: 20a7 movs r0, #167 ; 0xa7 80a266e: f7b1 fe5d bl 805432c for(ipr = ACC; ipr <= DIS; ipr++) 80a2672: 6d3b ldr r3, [r7, #80] ; 0x50 80a2674: 3301 adds r3, #1 80a2676: 653b str r3, [r7, #80] ; 0x50 80a2678: 6d3b ldr r3, [r7, #80] ; 0x50 80a267a: 2b02 cmp r3, #2 80a267c: f67f aa2f bls.w 80a1ade break; 80a2680: f001 b9fe b.w 80a3a80 for(ipr = ACC; ipr <= DIS; ipr++) 80a2684: 2300 movs r3, #0 80a2686: 653b str r3, [r7, #80] ; 0x50 80a2688: f001 b9f0 b.w 80a3a6c if(pardata.IVS[ipr] >= PEAK_FACTOR) 80a268c: 6d3b ldr r3, [r7, #80] ; 0x50 80a268e: 4a8d ldr r2, [pc, #564] ; (80a28c4 ) 80a2690: 4413 add r3, r2 80a2692: 789b ldrb r3, [r3, #2] 80a2694: b2db uxtb r3, r3 80a2696: 2b02 cmp r3, #2 80a2698: f240 85a9 bls.w 80a31ee memset(str, 0, sizeof(str)); 80a269c: f107 030c add.w r3, r7, #12 80a26a0: 2228 movs r2, #40 ; 0x28 80a26a2: 2100 movs r1, #0 80a26a4: 4618 mov r0, r3 80a26a6: f02a fccf bl 80cd048 f = ABS(skz[ipr]); 80a26aa: 6d3b ldr r3, [r7, #80] ; 0x50 80a26ac: 4a88 ldr r2, [pc, #544] ; (80a28d0 ) 80a26ae: 009b lsls r3, r3, #2 80a26b0: 4413 add r3, r2 80a26b2: edd3 7a00 vldr s15, [r3] 80a26b6: eef5 7ac0 vcmpe.f32 s15, #0.0 80a26ba: eef1 fa10 vmrs APSR_nzcv, fpscr 80a26be: dd06 ble.n 80a26ce 80a26c0: 6d3b ldr r3, [r7, #80] ; 0x50 80a26c2: 4a83 ldr r2, [pc, #524] ; (80a28d0 ) 80a26c4: 009b lsls r3, r3, #2 80a26c6: 4413 add r3, r2 80a26c8: edd3 7a00 vldr s15, [r3] 80a26cc: e007 b.n 80a26de 80a26ce: 6d3b ldr r3, [r7, #80] ; 0x50 80a26d0: 4a7f ldr r2, [pc, #508] ; (80a28d0 ) 80a26d2: 009b lsls r3, r3, #2 80a26d4: 4413 add r3, r2 80a26d6: edd3 7a00 vldr s15, [r3] 80a26da: eef1 7a67 vneg.f32 s15, s15 80a26de: edc7 7a11 vstr s15, [r7, #68] ; 0x44 if(ipr < DIS) 80a26e2: 6d3b ldr r3, [r7, #80] ; 0x50 80a26e4: 2b01 cmp r3, #1 80a26e6: f200 80af bhi.w 80a2848 if(f < 10.0f) 80a26ea: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a26ee: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80a26f2: eef4 7ac7 vcmpe.f32 s15, s14 80a26f6: eef1 fa10 vmrs APSR_nzcv, fpscr 80a26fa: d513 bpl.n 80a2724 k = (uint32_t) (roundf(f * 10000)); 80a26fc: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a2700: ed9f 7a7d vldr s14, [pc, #500] ; 80a28f8 80a2704: ee67 7a87 vmul.f32 s15, s15, s14 80a2708: eeb0 0a67 vmov.f32 s0, s15 80a270c: f028 fa9e bl 80cac4c 80a2710: eef0 7a40 vmov.f32 s15, s0 80a2714: eefc 7ae7 vcvt.u32.f32 s15, s15 80a2718: ee17 3a90 vmov r3, s15 80a271c: 65bb str r3, [r7, #88] ; 0x58 t = 1; 80a271e: 2301 movs r3, #1 80a2720: 657b str r3, [r7, #84] ; 0x54 80a2722: e1d1 b.n 80a2ac8 if(f < 100.0f) 80a2724: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a2728: ed9f 7a72 vldr s14, [pc, #456] ; 80a28f4 80a272c: eef4 7ac7 vcmpe.f32 s15, s14 80a2730: eef1 fa10 vmrs APSR_nzcv, fpscr 80a2734: d513 bpl.n 80a275e k = (uint32_t) (roundf(f * 1000)); 80a2736: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a273a: ed9f 7a6d vldr s14, [pc, #436] ; 80a28f0 80a273e: ee67 7a87 vmul.f32 s15, s15, s14 80a2742: eeb0 0a67 vmov.f32 s0, s15 80a2746: f028 fa81 bl 80cac4c 80a274a: eef0 7a40 vmov.f32 s15, s0 80a274e: eefc 7ae7 vcvt.u32.f32 s15, s15 80a2752: ee17 3a90 vmov r3, s15 80a2756: 65bb str r3, [r7, #88] ; 0x58 t = 2; 80a2758: 2302 movs r3, #2 80a275a: 657b str r3, [r7, #84] ; 0x54 80a275c: e1b4 b.n 80a2ac8 if(f < 1000.0f) 80a275e: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a2762: ed9f 7a63 vldr s14, [pc, #396] ; 80a28f0 80a2766: eef4 7ac7 vcmpe.f32 s15, s14 80a276a: eef1 fa10 vmrs APSR_nzcv, fpscr 80a276e: d513 bpl.n 80a2798 k = (uint32_t) (roundf(f * 100)); 80a2770: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a2774: ed9f 7a5f vldr s14, [pc, #380] ; 80a28f4 80a2778: ee67 7a87 vmul.f32 s15, s15, s14 80a277c: eeb0 0a67 vmov.f32 s0, s15 80a2780: f028 fa64 bl 80cac4c 80a2784: eef0 7a40 vmov.f32 s15, s0 80a2788: eefc 7ae7 vcvt.u32.f32 s15, s15 80a278c: ee17 3a90 vmov r3, s15 80a2790: 65bb str r3, [r7, #88] ; 0x58 t = 3; 80a2792: 2303 movs r3, #3 80a2794: 657b str r3, [r7, #84] ; 0x54 80a2796: e197 b.n 80a2ac8 if(f < 10000.0f) 80a2798: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a279c: ed9f 7a56 vldr s14, [pc, #344] ; 80a28f8 80a27a0: eef4 7ac7 vcmpe.f32 s15, s14 80a27a4: eef1 fa10 vmrs APSR_nzcv, fpscr 80a27a8: d513 bpl.n 80a27d2 k = (uint32_t) (roundf(f * 10)); 80a27aa: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a27ae: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80a27b2: ee67 7a87 vmul.f32 s15, s15, s14 80a27b6: eeb0 0a67 vmov.f32 s0, s15 80a27ba: f028 fa47 bl 80cac4c 80a27be: eef0 7a40 vmov.f32 s15, s0 80a27c2: eefc 7ae7 vcvt.u32.f32 s15, s15 80a27c6: ee17 3a90 vmov r3, s15 80a27ca: 65bb str r3, [r7, #88] ; 0x58 t = 4; 80a27cc: 2304 movs r3, #4 80a27ce: 657b str r3, [r7, #84] ; 0x54 80a27d0: e17a b.n 80a2ac8 if(f < 100000.0f) 80a27d2: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a27d6: ed9f 7a49 vldr s14, [pc, #292] ; 80a28fc 80a27da: eef4 7ac7 vcmpe.f32 s15, s14 80a27de: eef1 fa10 vmrs APSR_nzcv, fpscr 80a27e2: d515 bpl.n 80a2810 k = (uint32_t) (roundf(f)); 80a27e4: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a27e8: eeb0 0a67 vmov.f32 s0, s15 80a27ec: f028 fa2e bl 80cac4c 80a27f0: eef0 7a40 vmov.f32 s15, s0 80a27f4: eefc 7ae7 vcvt.u32.f32 s15, s15 80a27f8: ee17 3a90 vmov r3, s15 80a27fc: 65bb str r3, [r7, #88] ; 0x58 if(k >= 100000) 80a27fe: 6dbb ldr r3, [r7, #88] ; 0x58 80a2800: 4a39 ldr r2, [pc, #228] ; (80a28e8 ) 80a2802: 4293 cmp r3, r2 80a2804: d901 bls.n 80a280a k = 99999; 80a2806: 4b38 ldr r3, [pc, #224] ; (80a28e8 ) 80a2808: 65bb str r3, [r7, #88] ; 0x58 t = 0; 80a280a: 2300 movs r3, #0 80a280c: 657b str r3, [r7, #84] ; 0x54 80a280e: e15b b.n 80a2ac8 if(f >= 100000.0f) 80a2810: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a2814: ed9f 7a39 vldr s14, [pc, #228] ; 80a28fc 80a2818: eef4 7ac7 vcmpe.f32 s15, s14 80a281c: eef1 fa10 vmrs APSR_nzcv, fpscr 80a2820: f2c0 8152 blt.w 80a2ac8 f = 99999.0f; 80a2824: 4b31 ldr r3, [pc, #196] ; (80a28ec ) 80a2826: 647b str r3, [r7, #68] ; 0x44 k = (uint32_t) (roundf(f)); 80a2828: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a282c: eeb0 0a67 vmov.f32 s0, s15 80a2830: f028 fa0c bl 80cac4c 80a2834: eef0 7a40 vmov.f32 s15, s0 80a2838: eefc 7ae7 vcvt.u32.f32 s15, s15 80a283c: ee17 3a90 vmov r3, s15 80a2840: 65bb str r3, [r7, #88] ; 0x58 t = 0; 80a2842: 2300 movs r3, #0 80a2844: 657b str r3, [r7, #84] ; 0x54 80a2846: e13f b.n 80a2ac8 if(f < 10.0f) 80a2848: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a284c: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80a2850: eef4 7ac7 vcmpe.f32 s15, s14 80a2854: eef1 fa10 vmrs APSR_nzcv, fpscr 80a2858: d515 bpl.n 80a2886 k = (uint32_t) (roundf(f * 10000)); 80a285a: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a285e: ed9f 7a26 vldr s14, [pc, #152] ; 80a28f8 80a2862: ee67 7a87 vmul.f32 s15, s15, s14 80a2866: eeb0 0a67 vmov.f32 s0, s15 80a286a: f028 f9ef bl 80cac4c 80a286e: eef0 7a40 vmov.f32 s15, s0 80a2872: eefc 7ae7 vcvt.u32.f32 s15, s15 80a2876: ee17 3a90 vmov r3, s15 80a287a: 65bb str r3, [r7, #88] ; 0x58 t = 1; 80a287c: 2301 movs r3, #1 80a287e: 657b str r3, [r7, #84] ; 0x54 m = 0; 80a2880: 2300 movs r3, #0 80a2882: 64fb str r3, [r7, #76] ; 0x4c 80a2884: e120 b.n 80a2ac8 if(f < 100.0f) 80a2886: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a288a: ed9f 7a1a vldr s14, [pc, #104] ; 80a28f4 80a288e: eef4 7ac7 vcmpe.f32 s15, s14 80a2892: eef1 fa10 vmrs APSR_nzcv, fpscr 80a2896: d53f bpl.n 80a2918 k = (uint32_t) (roundf(f * 1000)); 80a2898: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a289c: ed9f 7a14 vldr s14, [pc, #80] ; 80a28f0 80a28a0: ee67 7a87 vmul.f32 s15, s15, s14 80a28a4: eeb0 0a67 vmov.f32 s0, s15 80a28a8: f028 f9d0 bl 80cac4c 80a28ac: eef0 7a40 vmov.f32 s15, s0 80a28b0: eefc 7ae7 vcvt.u32.f32 s15, s15 80a28b4: ee17 3a90 vmov r3, s15 80a28b8: 65bb str r3, [r7, #88] ; 0x58 t = 2; 80a28ba: 2302 movs r3, #2 80a28bc: 657b str r3, [r7, #84] ; 0x54 m = 0; 80a28be: 2300 movs r3, #0 80a28c0: 64fb str r3, [r7, #76] ; 0x4c 80a28c2: e101 b.n 80a2ac8 80a28c4: 20023e60 .word 0x20023e60 80a28c8: 20020114 .word 0x20020114 80a28cc: 2002011c .word 0x2002011c 80a28d0: 20021540 .word 0x20021540 80a28d4: 08167990 .word 0x08167990 80a28d8: ff0a0f1f .word 0xff0a0f1f 80a28dc: ffb8e828 .word 0xffb8e828 80a28e0: 080cfaf4 .word 0x080cfaf4 80a28e4: 080cfb00 .word 0x080cfb00 80a28e8: 0001869f .word 0x0001869f 80a28ec: 47c34f80 .word 0x47c34f80 80a28f0: 447a0000 .word 0x447a0000 80a28f4: 42c80000 .word 0x42c80000 80a28f8: 461c4000 .word 0x461c4000 80a28fc: 47c35000 .word 0x47c35000 80a2900: 49742400 .word 0x49742400 80a2904: 3dcccccd .word 0x3dcccccd 80a2908: 4b189680 .word 0x4b189680 80a290c: 3c23d70a .word 0x3c23d70a 80a2910: 4cbebc20 .word 0x4cbebc20 80a2914: 3a83126f .word 0x3a83126f if(f < 1000.0f) 80a2918: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a291c: ed1f 7a0c vldr s14, [pc, #-48] ; 80a28f0 80a2920: eef4 7ac7 vcmpe.f32 s15, s14 80a2924: eef1 fa10 vmrs APSR_nzcv, fpscr 80a2928: d515 bpl.n 80a2956 k = (uint32_t) (roundf(f * 100)); 80a292a: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a292e: ed1f 7a0f vldr s14, [pc, #-60] ; 80a28f4 80a2932: ee67 7a87 vmul.f32 s15, s15, s14 80a2936: eeb0 0a67 vmov.f32 s0, s15 80a293a: f028 f987 bl 80cac4c 80a293e: eef0 7a40 vmov.f32 s15, s0 80a2942: eefc 7ae7 vcvt.u32.f32 s15, s15 80a2946: ee17 3a90 vmov r3, s15 80a294a: 65bb str r3, [r7, #88] ; 0x58 t = 3; 80a294c: 2303 movs r3, #3 80a294e: 657b str r3, [r7, #84] ; 0x54 m = 0; 80a2950: 2300 movs r3, #0 80a2952: 64fb str r3, [r7, #76] ; 0x4c 80a2954: e0b8 b.n 80a2ac8 if(f < 10000.0f) 80a2956: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a295a: ed1f 7a19 vldr s14, [pc, #-100] ; 80a28f8 80a295e: eef4 7ac7 vcmpe.f32 s15, s14 80a2962: eef1 fa10 vmrs APSR_nzcv, fpscr 80a2966: d515 bpl.n 80a2994 k = (uint32_t) (roundf(f * 10)); 80a2968: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a296c: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80a2970: ee67 7a87 vmul.f32 s15, s15, s14 80a2974: eeb0 0a67 vmov.f32 s0, s15 80a2978: f028 f968 bl 80cac4c 80a297c: eef0 7a40 vmov.f32 s15, s0 80a2980: eefc 7ae7 vcvt.u32.f32 s15, s15 80a2984: ee17 3a90 vmov r3, s15 80a2988: 65bb str r3, [r7, #88] ; 0x58 t = 1; 80a298a: 2301 movs r3, #1 80a298c: 657b str r3, [r7, #84] ; 0x54 m = 1; 80a298e: 2301 movs r3, #1 80a2990: 64fb str r3, [r7, #76] ; 0x4c 80a2992: e099 b.n 80a2ac8 if(f < 100000.0f) 80a2994: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a2998: ed1f 7a28 vldr s14, [pc, #-160] ; 80a28fc 80a299c: eef4 7ac7 vcmpe.f32 s15, s14 80a29a0: eef1 fa10 vmrs APSR_nzcv, fpscr 80a29a4: d511 bpl.n 80a29ca k = (uint32_t) (roundf(f)); 80a29a6: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a29aa: eeb0 0a67 vmov.f32 s0, s15 80a29ae: f028 f94d bl 80cac4c 80a29b2: eef0 7a40 vmov.f32 s15, s0 80a29b6: eefc 7ae7 vcvt.u32.f32 s15, s15 80a29ba: ee17 3a90 vmov r3, s15 80a29be: 65bb str r3, [r7, #88] ; 0x58 t = 2; 80a29c0: 2302 movs r3, #2 80a29c2: 657b str r3, [r7, #84] ; 0x54 m = 1; 80a29c4: 2301 movs r3, #1 80a29c6: 64fb str r3, [r7, #76] ; 0x4c 80a29c8: e07e b.n 80a2ac8 if(f < 1000000.0f) 80a29ca: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a29ce: ed1f 7a34 vldr s14, [pc, #-208] ; 80a2900 80a29d2: eef4 7ac7 vcmpe.f32 s15, s14 80a29d6: eef1 fa10 vmrs APSR_nzcv, fpscr 80a29da: d515 bpl.n 80a2a08 k = (uint32_t) (roundf(f * 0.1f)); 80a29dc: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a29e0: ed1f 7a38 vldr s14, [pc, #-224] ; 80a2904 80a29e4: ee67 7a87 vmul.f32 s15, s15, s14 80a29e8: eeb0 0a67 vmov.f32 s0, s15 80a29ec: f028 f92e bl 80cac4c 80a29f0: eef0 7a40 vmov.f32 s15, s0 80a29f4: eefc 7ae7 vcvt.u32.f32 s15, s15 80a29f8: ee17 3a90 vmov r3, s15 80a29fc: 65bb str r3, [r7, #88] ; 0x58 t = 3; 80a29fe: 2303 movs r3, #3 80a2a00: 657b str r3, [r7, #84] ; 0x54 m = 1; 80a2a02: 2301 movs r3, #1 80a2a04: 64fb str r3, [r7, #76] ; 0x4c 80a2a06: e05f b.n 80a2ac8 if(f < 10000000.0f) 80a2a08: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a2a0c: ed1f 7a42 vldr s14, [pc, #-264] ; 80a2908 80a2a10: eef4 7ac7 vcmpe.f32 s15, s14 80a2a14: eef1 fa10 vmrs APSR_nzcv, fpscr 80a2a18: d515 bpl.n 80a2a46 k = (uint32_t) (roundf(f * 0.01f)); 80a2a1a: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a2a1e: ed1f 7a45 vldr s14, [pc, #-276] ; 80a290c 80a2a22: ee67 7a87 vmul.f32 s15, s15, s14 80a2a26: eeb0 0a67 vmov.f32 s0, s15 80a2a2a: f028 f90f bl 80cac4c 80a2a2e: eef0 7a40 vmov.f32 s15, s0 80a2a32: eefc 7ae7 vcvt.u32.f32 s15, s15 80a2a36: ee17 3a90 vmov r3, s15 80a2a3a: 65bb str r3, [r7, #88] ; 0x58 t = 4; 80a2a3c: 2304 movs r3, #4 80a2a3e: 657b str r3, [r7, #84] ; 0x54 m = 1; 80a2a40: 2301 movs r3, #1 80a2a42: 64fb str r3, [r7, #76] ; 0x4c 80a2a44: e040 b.n 80a2ac8 if(f < 100000000.0f) 80a2a46: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a2a4a: ed1f 7a4f vldr s14, [pc, #-316] ; 80a2910 80a2a4e: eef4 7ac7 vcmpe.f32 s15, s14 80a2a52: eef1 fa10 vmrs APSR_nzcv, fpscr 80a2a56: d51b bpl.n 80a2a90 k = (uint32_t) (roundf(f * 0.001f)); 80a2a58: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a2a5c: ed1f 7a53 vldr s14, [pc, #-332] ; 80a2914 80a2a60: ee67 7a87 vmul.f32 s15, s15, s14 80a2a64: eeb0 0a67 vmov.f32 s0, s15 80a2a68: f028 f8f0 bl 80cac4c 80a2a6c: eef0 7a40 vmov.f32 s15, s0 80a2a70: eefc 7ae7 vcvt.u32.f32 s15, s15 80a2a74: ee17 3a90 vmov r3, s15 80a2a78: 65bb str r3, [r7, #88] ; 0x58 if(k >= 100000) 80a2a7a: 6dbb ldr r3, [r7, #88] ; 0x58 80a2a7c: 4aba ldr r2, [pc, #744] ; (80a2d68 ) 80a2a7e: 4293 cmp r3, r2 80a2a80: d901 bls.n 80a2a86 k = 99999; 80a2a82: 4bb9 ldr r3, [pc, #740] ; (80a2d68 ) 80a2a84: 65bb str r3, [r7, #88] ; 0x58 t = 0; 80a2a86: 2300 movs r3, #0 80a2a88: 657b str r3, [r7, #84] ; 0x54 m = 1; 80a2a8a: 2301 movs r3, #1 80a2a8c: 64fb str r3, [r7, #76] ; 0x4c 80a2a8e: e01b b.n 80a2ac8 if(f >= 100000000.0f) 80a2a90: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a2a94: ed9f 7ab5 vldr s14, [pc, #724] ; 80a2d6c 80a2a98: eef4 7ac7 vcmpe.f32 s15, s14 80a2a9c: eef1 fa10 vmrs APSR_nzcv, fpscr 80a2aa0: db12 blt.n 80a2ac8 f = 99999.0f; 80a2aa2: 4bb3 ldr r3, [pc, #716] ; (80a2d70 ) 80a2aa4: 647b str r3, [r7, #68] ; 0x44 k = (uint32_t) (roundf(f)); 80a2aa6: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a2aaa: eeb0 0a67 vmov.f32 s0, s15 80a2aae: f028 f8cd bl 80cac4c 80a2ab2: eef0 7a40 vmov.f32 s15, s0 80a2ab6: eefc 7ae7 vcvt.u32.f32 s15, s15 80a2aba: ee17 3a90 vmov r3, s15 80a2abe: 65bb str r3, [r7, #88] ; 0x58 t = 0; 80a2ac0: 2300 movs r3, #0 80a2ac2: 657b str r3, [r7, #84] ; 0x54 m = 1; 80a2ac4: 2301 movs r3, #1 80a2ac6: 64fb str r3, [r7, #76] ; 0x4c ik[ipr][0] = (uint8_t) (k / 10000); 80a2ac8: 6d3a ldr r2, [r7, #80] ; 0x50 80a2aca: 6dbb ldr r3, [r7, #88] ; 0x58 80a2acc: 49a9 ldr r1, [pc, #676] ; (80a2d74 ) 80a2ace: fba1 1303 umull r1, r3, r1, r3 80a2ad2: 0b5b lsrs r3, r3, #13 80a2ad4: b2d9 uxtb r1, r3 80a2ad6: 4613 mov r3, r2 80a2ad8: 009b lsls r3, r3, #2 80a2ada: 4413 add r3, r2 80a2adc: f107 0268 add.w r2, r7, #104 ; 0x68 80a2ae0: 4413 add r3, r2 80a2ae2: 3b34 subs r3, #52 ; 0x34 80a2ae4: 460a mov r2, r1 80a2ae6: 701a strb r2, [r3, #0] ik[ipr][1] = (uint8_t) (k % 10000 / 1000); 80a2ae8: 6d39 ldr r1, [r7, #80] ; 0x50 80a2aea: 6dba ldr r2, [r7, #88] ; 0x58 80a2aec: 4ba1 ldr r3, [pc, #644] ; (80a2d74 ) 80a2aee: fba3 0302 umull r0, r3, r3, r2 80a2af2: 0b5b lsrs r3, r3, #13 80a2af4: f242 7010 movw r0, #10000 ; 0x2710 80a2af8: fb00 f303 mul.w r3, r0, r3 80a2afc: 1ad3 subs r3, r2, r3 80a2afe: 4a9e ldr r2, [pc, #632] ; (80a2d78 ) 80a2b00: fba2 2303 umull r2, r3, r2, r3 80a2b04: 099b lsrs r3, r3, #6 80a2b06: b2da uxtb r2, r3 80a2b08: 460b mov r3, r1 80a2b0a: 009b lsls r3, r3, #2 80a2b0c: 440b add r3, r1 80a2b0e: f107 0168 add.w r1, r7, #104 ; 0x68 80a2b12: 440b add r3, r1 80a2b14: 3b33 subs r3, #51 ; 0x33 80a2b16: 701a strb r2, [r3, #0] ik[ipr][2] = (uint8_t) (k % 10000 % 1000 / 100); 80a2b18: 6d39 ldr r1, [r7, #80] ; 0x50 80a2b1a: 6dba ldr r2, [r7, #88] ; 0x58 80a2b1c: 4b95 ldr r3, [pc, #596] ; (80a2d74 ) 80a2b1e: fba3 0302 umull r0, r3, r3, r2 80a2b22: 0b5b lsrs r3, r3, #13 80a2b24: f242 7010 movw r0, #10000 ; 0x2710 80a2b28: fb00 f303 mul.w r3, r0, r3 80a2b2c: 1ad3 subs r3, r2, r3 80a2b2e: 4a92 ldr r2, [pc, #584] ; (80a2d78 ) 80a2b30: fba2 0203 umull r0, r2, r2, r3 80a2b34: 0992 lsrs r2, r2, #6 80a2b36: f44f 707a mov.w r0, #1000 ; 0x3e8 80a2b3a: fb00 f202 mul.w r2, r0, r2 80a2b3e: 1a9a subs r2, r3, r2 80a2b40: 4b8e ldr r3, [pc, #568] ; (80a2d7c ) 80a2b42: fba3 2302 umull r2, r3, r3, r2 80a2b46: 095b lsrs r3, r3, #5 80a2b48: b2da uxtb r2, r3 80a2b4a: 460b mov r3, r1 80a2b4c: 009b lsls r3, r3, #2 80a2b4e: 440b add r3, r1 80a2b50: f107 0168 add.w r1, r7, #104 ; 0x68 80a2b54: 440b add r3, r1 80a2b56: 3b32 subs r3, #50 ; 0x32 80a2b58: 701a strb r2, [r3, #0] ik[ipr][3] = (uint8_t) (k % 10000 % 1000 % 100 / 10); 80a2b5a: 6d39 ldr r1, [r7, #80] ; 0x50 80a2b5c: 6dbb ldr r3, [r7, #88] ; 0x58 80a2b5e: 4a85 ldr r2, [pc, #532] ; (80a2d74 ) 80a2b60: fba2 0203 umull r0, r2, r2, r3 80a2b64: 0b52 lsrs r2, r2, #13 80a2b66: f242 7010 movw r0, #10000 ; 0x2710 80a2b6a: fb00 f202 mul.w r2, r0, r2 80a2b6e: 1a9a subs r2, r3, r2 80a2b70: 4b81 ldr r3, [pc, #516] ; (80a2d78 ) 80a2b72: fba3 0302 umull r0, r3, r3, r2 80a2b76: 099b lsrs r3, r3, #6 80a2b78: f44f 707a mov.w r0, #1000 ; 0x3e8 80a2b7c: fb00 f303 mul.w r3, r0, r3 80a2b80: 1ad3 subs r3, r2, r3 80a2b82: 4a7e ldr r2, [pc, #504] ; (80a2d7c ) 80a2b84: fba2 0203 umull r0, r2, r2, r3 80a2b88: 0952 lsrs r2, r2, #5 80a2b8a: 2064 movs r0, #100 ; 0x64 80a2b8c: fb00 f202 mul.w r2, r0, r2 80a2b90: 1a9a subs r2, r3, r2 80a2b92: 4b7b ldr r3, [pc, #492] ; (80a2d80 ) 80a2b94: fba3 2302 umull r2, r3, r3, r2 80a2b98: 08db lsrs r3, r3, #3 80a2b9a: b2da uxtb r2, r3 80a2b9c: 460b mov r3, r1 80a2b9e: 009b lsls r3, r3, #2 80a2ba0: 440b add r3, r1 80a2ba2: f107 0168 add.w r1, r7, #104 ; 0x68 80a2ba6: 440b add r3, r1 80a2ba8: 3b31 subs r3, #49 ; 0x31 80a2baa: 701a strb r2, [r3, #0] ik[ipr][4] = (uint8_t) (k % 10000 % 1000 % 100 % 10); 80a2bac: 6d38 ldr r0, [r7, #80] ; 0x50 80a2bae: 6dbb ldr r3, [r7, #88] ; 0x58 80a2bb0: 4a70 ldr r2, [pc, #448] ; (80a2d74 ) 80a2bb2: fba2 1203 umull r1, r2, r2, r3 80a2bb6: 0b52 lsrs r2, r2, #13 80a2bb8: f242 7110 movw r1, #10000 ; 0x2710 80a2bbc: fb01 f202 mul.w r2, r1, r2 80a2bc0: 1a9a subs r2, r3, r2 80a2bc2: 4b6d ldr r3, [pc, #436] ; (80a2d78 ) 80a2bc4: fba3 1302 umull r1, r3, r3, r2 80a2bc8: 099b lsrs r3, r3, #6 80a2bca: f44f 717a mov.w r1, #1000 ; 0x3e8 80a2bce: fb01 f303 mul.w r3, r1, r3 80a2bd2: 1ad3 subs r3, r2, r3 80a2bd4: 4a69 ldr r2, [pc, #420] ; (80a2d7c ) 80a2bd6: fba2 1203 umull r1, r2, r2, r3 80a2bda: 0952 lsrs r2, r2, #5 80a2bdc: 2164 movs r1, #100 ; 0x64 80a2bde: fb01 f202 mul.w r2, r1, r2 80a2be2: 1a9a subs r2, r3, r2 80a2be4: 4b66 ldr r3, [pc, #408] ; (80a2d80 ) 80a2be6: fba3 1302 umull r1, r3, r3, r2 80a2bea: 08d9 lsrs r1, r3, #3 80a2bec: 460b mov r3, r1 80a2bee: 009b lsls r3, r3, #2 80a2bf0: 440b add r3, r1 80a2bf2: 005b lsls r3, r3, #1 80a2bf4: 1ad1 subs r1, r2, r3 80a2bf6: b2ca uxtb r2, r1 80a2bf8: 4603 mov r3, r0 80a2bfa: 009b lsls r3, r3, #2 80a2bfc: 4403 add r3, r0 80a2bfe: f107 0168 add.w r1, r7, #104 ; 0x68 80a2c02: 440b add r3, r1 80a2c04: 3b30 subs r3, #48 ; 0x30 80a2c06: 701a strb r2, [r3, #0] if(skz[ipr] != -1.0f) // 80a2c08: 6d3b ldr r3, [r7, #80] ; 0x50 80a2c0a: 4a5e ldr r2, [pc, #376] ; (80a2d84 ) 80a2c0c: 009b lsls r3, r3, #2 80a2c0e: 4413 add r3, r2 80a2c10: edd3 7a00 vldr s15, [r3] 80a2c14: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 80a2c18: eef4 7a47 vcmp.f32 s15, s14 80a2c1c: eef1 fa10 vmrs APSR_nzcv, fpscr 80a2c20: f000 82a5 beq.w 80a316e if(ipr == ACC) 80a2c24: 6d3b ldr r3, [r7, #80] ; 0x50 80a2c26: 2b00 cmp r3, #0 80a2c28: f040 80de bne.w 80a2de8 if(!t) 80a2c2c: 6d7b ldr r3, [r7, #84] ; 0x54 80a2c2e: 2b00 cmp r3, #0 80a2c30: d126 bne.n 80a2c80 for(i = 0; i < 5; i++) 80a2c32: 2300 movs r3, #0 80a2c34: 65fb str r3, [r7, #92] ; 0x5c 80a2c36: e01f b.n 80a2c78 DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 68+18); 80a2c38: 6d3a ldr r2, [r7, #80] ; 0x50 80a2c3a: 6df9 ldr r1, [r7, #92] ; 0x5c 80a2c3c: 4613 mov r3, r2 80a2c3e: 009b lsls r3, r3, #2 80a2c40: 4413 add r3, r2 80a2c42: f107 0268 add.w r2, r7, #104 ; 0x68 80a2c46: 4413 add r3, r2 80a2c48: 440b add r3, r1 80a2c4a: 3b34 subs r3, #52 ; 0x34 80a2c4c: 781b ldrb r3, [r3, #0] 80a2c4e: b2db uxtb r3, r3 80a2c50: 461a mov r2, r3 80a2c52: 4b4d ldr r3, [pc, #308] ; (80a2d88 ) 80a2c54: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a2c58: 6dfb ldr r3, [r7, #92] ; 0x5c 80a2c5a: b29b uxth r3, r3 80a2c5c: 461a mov r2, r3 80a2c5e: 0112 lsls r2, r2, #4 80a2c60: 1ad3 subs r3, r2, r3 80a2c62: 005b lsls r3, r3, #1 80a2c64: b29b uxth r3, r3 80a2c66: 335a adds r3, #90 ; 0x5a 80a2c68: b29b uxth r3, r3 80a2c6a: 2256 movs r2, #86 ; 0x56 80a2c6c: 4619 mov r1, r3 80a2c6e: f7b1 fc91 bl 8054594 for(i = 0; i < 5; i++) 80a2c72: 6dfb ldr r3, [r7, #92] ; 0x5c 80a2c74: 3301 adds r3, #1 80a2c76: 65fb str r3, [r7, #92] ; 0x5c 80a2c78: 6dfb ldr r3, [r7, #92] ; 0x5c 80a2c7a: 2b04 cmp r3, #4 80a2c7c: d9dc bls.n 80a2c38 80a2c7e: e05a b.n 80a2d36 for(i = 0; i < t; i++) 80a2c80: 2300 movs r3, #0 80a2c82: 65fb str r3, [r7, #92] ; 0x5c 80a2c84: e01f b.n 80a2cc6 DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 68+18); 80a2c86: 6d3a ldr r2, [r7, #80] ; 0x50 80a2c88: 6df9 ldr r1, [r7, #92] ; 0x5c 80a2c8a: 4613 mov r3, r2 80a2c8c: 009b lsls r3, r3, #2 80a2c8e: 4413 add r3, r2 80a2c90: f107 0268 add.w r2, r7, #104 ; 0x68 80a2c94: 4413 add r3, r2 80a2c96: 440b add r3, r1 80a2c98: 3b34 subs r3, #52 ; 0x34 80a2c9a: 781b ldrb r3, [r3, #0] 80a2c9c: b2db uxtb r3, r3 80a2c9e: 461a mov r2, r3 80a2ca0: 4b39 ldr r3, [pc, #228] ; (80a2d88 ) 80a2ca2: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a2ca6: 6dfb ldr r3, [r7, #92] ; 0x5c 80a2ca8: b29b uxth r3, r3 80a2caa: 461a mov r2, r3 80a2cac: 0112 lsls r2, r2, #4 80a2cae: 1ad3 subs r3, r2, r3 80a2cb0: 005b lsls r3, r3, #1 80a2cb2: b29b uxth r3, r3 80a2cb4: 335a adds r3, #90 ; 0x5a 80a2cb6: b29b uxth r3, r3 80a2cb8: 2256 movs r2, #86 ; 0x56 80a2cba: 4619 mov r1, r3 80a2cbc: f7b1 fc6a bl 8054594 for(i = 0; i < t; i++) 80a2cc0: 6dfb ldr r3, [r7, #92] ; 0x5c 80a2cc2: 3301 adds r3, #1 80a2cc4: 65fb str r3, [r7, #92] ; 0x5c 80a2cc6: 6dfa ldr r2, [r7, #92] ; 0x5c 80a2cc8: 6d7b ldr r3, [r7, #84] ; 0x54 80a2cca: 429a cmp r2, r3 80a2ccc: d3db bcc.n 80a2c86 DrawImage(&bmgpt, 95 + 30*t, 92+18); 80a2cce: 6d7b ldr r3, [r7, #84] ; 0x54 80a2cd0: b29b uxth r3, r3 80a2cd2: 461a mov r2, r3 80a2cd4: 0112 lsls r2, r2, #4 80a2cd6: 1ad3 subs r3, r2, r3 80a2cd8: 005b lsls r3, r3, #1 80a2cda: b29b uxth r3, r3 80a2cdc: 335f adds r3, #95 ; 0x5f 80a2cde: b29b uxth r3, r3 80a2ce0: 226e movs r2, #110 ; 0x6e 80a2ce2: 4619 mov r1, r3 80a2ce4: 4829 ldr r0, [pc, #164] ; (80a2d8c ) 80a2ce6: f7b1 fc55 bl 8054594 for(i = t; i < 5; i++) 80a2cea: 6d7b ldr r3, [r7, #84] ; 0x54 80a2cec: 65fb str r3, [r7, #92] ; 0x5c 80a2cee: e01f b.n 80a2d30 DrawImage(NUMS[ik[ipr][i]], 110 + 30*i, 68+18); 80a2cf0: 6d3a ldr r2, [r7, #80] ; 0x50 80a2cf2: 6df9 ldr r1, [r7, #92] ; 0x5c 80a2cf4: 4613 mov r3, r2 80a2cf6: 009b lsls r3, r3, #2 80a2cf8: 4413 add r3, r2 80a2cfa: f107 0268 add.w r2, r7, #104 ; 0x68 80a2cfe: 4413 add r3, r2 80a2d00: 440b add r3, r1 80a2d02: 3b34 subs r3, #52 ; 0x34 80a2d04: 781b ldrb r3, [r3, #0] 80a2d06: b2db uxtb r3, r3 80a2d08: 461a mov r2, r3 80a2d0a: 4b1f ldr r3, [pc, #124] ; (80a2d88 ) 80a2d0c: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a2d10: 6dfb ldr r3, [r7, #92] ; 0x5c 80a2d12: b29b uxth r3, r3 80a2d14: 461a mov r2, r3 80a2d16: 0112 lsls r2, r2, #4 80a2d18: 1ad3 subs r3, r2, r3 80a2d1a: 005b lsls r3, r3, #1 80a2d1c: b29b uxth r3, r3 80a2d1e: 336e adds r3, #110 ; 0x6e 80a2d20: b29b uxth r3, r3 80a2d22: 2256 movs r2, #86 ; 0x56 80a2d24: 4619 mov r1, r3 80a2d26: f7b1 fc35 bl 8054594 for(i = t; i < 5; i++) 80a2d2a: 6dfb ldr r3, [r7, #92] ; 0x5c 80a2d2c: 3301 adds r3, #1 80a2d2e: 65fb str r3, [r7, #92] ; 0x5c 80a2d30: 6dfb ldr r3, [r7, #92] ; 0x5c 80a2d32: 2b04 cmp r3, #4 80a2d34: d9dc bls.n 80a2cf0 if(pardata.IVS[ACC] < PEAK_FACTOR) 80a2d36: 4b16 ldr r3, [pc, #88] ; (80a2d90 ) 80a2d38: 789b ldrb r3, [r3, #2] 80a2d3a: b2db uxtb r3, r3 80a2d3c: 2b02 cmp r3, #2 80a2d3e: d838 bhi.n 80a2db2 if(pardata.IIN != VOLTS) 80a2d40: 4b13 ldr r3, [pc, #76] ; (80a2d90 ) 80a2d42: 799b ldrb r3, [r3, #6] 80a2d44: b2db uxtb r3, r3 80a2d46: 2b02 cmp r3, #2 80a2d48: d026 beq.n 80a2d98 DrawImage(BMG_MS[pardata.LANG], 265, 74+18); 80a2d4a: 4b11 ldr r3, [pc, #68] ; (80a2d90 ) 80a2d4c: 7b1b ldrb r3, [r3, #12] 80a2d4e: b2db uxtb r3, r3 80a2d50: 461a mov r2, r3 80a2d52: 4b10 ldr r3, [pc, #64] ; (80a2d94 ) 80a2d54: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a2d58: 225c movs r2, #92 ; 0x5c 80a2d5a: f240 1109 movw r1, #265 ; 0x109 80a2d5e: 4618 mov r0, r3 80a2d60: f7b1 fc18 bl 8054594 80a2d64: e025 b.n 80a2db2 80a2d66: bf00 nop 80a2d68: 0001869f .word 0x0001869f 80a2d6c: 4cbebc20 .word 0x4cbebc20 80a2d70: 47c34f80 .word 0x47c34f80 80a2d74: d1b71759 .word 0xd1b71759 80a2d78: 10624dd3 .word 0x10624dd3 80a2d7c: 51eb851f .word 0x51eb851f 80a2d80: cccccccd .word 0xcccccccd 80a2d84: 20021540 .word 0x20021540 80a2d88: 20020124 .word 0x20020124 80a2d8c: 08167a1c .word 0x08167a1c 80a2d90: 20023e60 .word 0x20023e60 80a2d94: 200200f4 .word 0x200200f4 else DrawImage(BMG_MV[pardata.LANG], 265, 74+18); 80a2d98: 4bab ldr r3, [pc, #684] ; (80a3048 ) 80a2d9a: 7b1b ldrb r3, [r3, #12] 80a2d9c: b2db uxtb r3, r3 80a2d9e: 461a mov r2, r3 80a2da0: 4baa ldr r3, [pc, #680] ; (80a304c ) 80a2da2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a2da6: 225c movs r2, #92 ; 0x5c 80a2da8: f240 1109 movw r1, #265 ; 0x109 80a2dac: 4618 mov r0, r3 80a2dae: f7b1 fbf1 bl 8054594 if(pardata.IVS[ipr] == EXCESS) 80a2db2: 6d3b ldr r3, [r7, #80] ; 0x50 80a2db4: 4aa4 ldr r2, [pc, #656] ; (80a3048 ) 80a2db6: 4413 add r3, r2 80a2db8: 789b ldrb r3, [r3, #2] 80a2dba: b2db uxtb r3, r3 80a2dbc: 2b04 cmp r3, #4 80a2dbe: f040 8652 bne.w 80a3a66 if(skz[ipr] < 0.0f) { 80a2dc2: 6d3b ldr r3, [r7, #80] ; 0x50 80a2dc4: 4aa2 ldr r2, [pc, #648] ; (80a3050 ) 80a2dc6: 009b lsls r3, r3, #2 80a2dc8: 4413 add r3, r2 80a2dca: edd3 7a00 vldr s15, [r3] 80a2dce: eef5 7ac0 vcmpe.f32 s15, #0.0 80a2dd2: eef1 fa10 vmrs APSR_nzcv, fpscr 80a2dd6: f140 8646 bpl.w 80a3a66 DrawImage(&bmgminus, 78, 84+18); 80a2dda: 2266 movs r2, #102 ; 0x66 80a2ddc: 214e movs r1, #78 ; 0x4e 80a2dde: 489d ldr r0, [pc, #628] ; (80a3054 ) 80a2de0: f7b1 fbd8 bl 8054594 80a2de4: f000 be3f b.w 80a3a66 if(ipr == VEL) 80a2de8: 6d3b ldr r3, [r7, #80] ; 0x50 80a2dea: 2b01 cmp r3, #1 80a2dec: f040 80c5 bne.w 80a2f7a if(!t) 80a2df0: 6d7b ldr r3, [r7, #84] ; 0x54 80a2df2: 2b00 cmp r3, #0 80a2df4: d126 bne.n 80a2e44 for(i = 0; i < 5; i++) 80a2df6: 2300 movs r3, #0 80a2df8: 65fb str r3, [r7, #92] ; 0x5c 80a2dfa: e01f b.n 80a2e3c DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 121+9); 80a2dfc: 6d3a ldr r2, [r7, #80] ; 0x50 80a2dfe: 6df9 ldr r1, [r7, #92] ; 0x5c 80a2e00: 4613 mov r3, r2 80a2e02: 009b lsls r3, r3, #2 80a2e04: 4413 add r3, r2 80a2e06: f107 0268 add.w r2, r7, #104 ; 0x68 80a2e0a: 4413 add r3, r2 80a2e0c: 440b add r3, r1 80a2e0e: 3b34 subs r3, #52 ; 0x34 80a2e10: 781b ldrb r3, [r3, #0] 80a2e12: b2db uxtb r3, r3 80a2e14: 461a mov r2, r3 80a2e16: 4b90 ldr r3, [pc, #576] ; (80a3058 ) 80a2e18: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a2e1c: 6dfb ldr r3, [r7, #92] ; 0x5c 80a2e1e: b29b uxth r3, r3 80a2e20: 461a mov r2, r3 80a2e22: 0112 lsls r2, r2, #4 80a2e24: 1ad3 subs r3, r2, r3 80a2e26: 005b lsls r3, r3, #1 80a2e28: b29b uxth r3, r3 80a2e2a: 335a adds r3, #90 ; 0x5a 80a2e2c: b29b uxth r3, r3 80a2e2e: 2282 movs r2, #130 ; 0x82 80a2e30: 4619 mov r1, r3 80a2e32: f7b1 fbaf bl 8054594 for(i = 0; i < 5; i++) 80a2e36: 6dfb ldr r3, [r7, #92] ; 0x5c 80a2e38: 3301 adds r3, #1 80a2e3a: 65fb str r3, [r7, #92] ; 0x5c 80a2e3c: 6dfb ldr r3, [r7, #92] ; 0x5c 80a2e3e: 2b04 cmp r3, #4 80a2e40: d9dc bls.n 80a2dfc 80a2e42: e05a b.n 80a2efa for(i = 0; i < t; i++) 80a2e44: 2300 movs r3, #0 80a2e46: 65fb str r3, [r7, #92] ; 0x5c 80a2e48: e01f b.n 80a2e8a DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 121+9); 80a2e4a: 6d3a ldr r2, [r7, #80] ; 0x50 80a2e4c: 6df9 ldr r1, [r7, #92] ; 0x5c 80a2e4e: 4613 mov r3, r2 80a2e50: 009b lsls r3, r3, #2 80a2e52: 4413 add r3, r2 80a2e54: f107 0268 add.w r2, r7, #104 ; 0x68 80a2e58: 4413 add r3, r2 80a2e5a: 440b add r3, r1 80a2e5c: 3b34 subs r3, #52 ; 0x34 80a2e5e: 781b ldrb r3, [r3, #0] 80a2e60: b2db uxtb r3, r3 80a2e62: 461a mov r2, r3 80a2e64: 4b7c ldr r3, [pc, #496] ; (80a3058 ) 80a2e66: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a2e6a: 6dfb ldr r3, [r7, #92] ; 0x5c 80a2e6c: b29b uxth r3, r3 80a2e6e: 461a mov r2, r3 80a2e70: 0112 lsls r2, r2, #4 80a2e72: 1ad3 subs r3, r2, r3 80a2e74: 005b lsls r3, r3, #1 80a2e76: b29b uxth r3, r3 80a2e78: 335a adds r3, #90 ; 0x5a 80a2e7a: b29b uxth r3, r3 80a2e7c: 2282 movs r2, #130 ; 0x82 80a2e7e: 4619 mov r1, r3 80a2e80: f7b1 fb88 bl 8054594 for(i = 0; i < t; i++) 80a2e84: 6dfb ldr r3, [r7, #92] ; 0x5c 80a2e86: 3301 adds r3, #1 80a2e88: 65fb str r3, [r7, #92] ; 0x5c 80a2e8a: 6dfa ldr r2, [r7, #92] ; 0x5c 80a2e8c: 6d7b ldr r3, [r7, #84] ; 0x54 80a2e8e: 429a cmp r2, r3 80a2e90: d3db bcc.n 80a2e4a DrawImage(&bmgpt, 95 + 30*t, 145+9); 80a2e92: 6d7b ldr r3, [r7, #84] ; 0x54 80a2e94: b29b uxth r3, r3 80a2e96: 461a mov r2, r3 80a2e98: 0112 lsls r2, r2, #4 80a2e9a: 1ad3 subs r3, r2, r3 80a2e9c: 005b lsls r3, r3, #1 80a2e9e: b29b uxth r3, r3 80a2ea0: 335f adds r3, #95 ; 0x5f 80a2ea2: b29b uxth r3, r3 80a2ea4: 229a movs r2, #154 ; 0x9a 80a2ea6: 4619 mov r1, r3 80a2ea8: 486c ldr r0, [pc, #432] ; (80a305c ) 80a2eaa: f7b1 fb73 bl 8054594 for(i = t; i < 5; i++) 80a2eae: 6d7b ldr r3, [r7, #84] ; 0x54 80a2eb0: 65fb str r3, [r7, #92] ; 0x5c 80a2eb2: e01f b.n 80a2ef4 DrawImage(NUMS[ik[ipr][i]], 110 + 30*i, 121+9); 80a2eb4: 6d3a ldr r2, [r7, #80] ; 0x50 80a2eb6: 6df9 ldr r1, [r7, #92] ; 0x5c 80a2eb8: 4613 mov r3, r2 80a2eba: 009b lsls r3, r3, #2 80a2ebc: 4413 add r3, r2 80a2ebe: f107 0268 add.w r2, r7, #104 ; 0x68 80a2ec2: 4413 add r3, r2 80a2ec4: 440b add r3, r1 80a2ec6: 3b34 subs r3, #52 ; 0x34 80a2ec8: 781b ldrb r3, [r3, #0] 80a2eca: b2db uxtb r3, r3 80a2ecc: 461a mov r2, r3 80a2ece: 4b62 ldr r3, [pc, #392] ; (80a3058 ) 80a2ed0: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a2ed4: 6dfb ldr r3, [r7, #92] ; 0x5c 80a2ed6: b29b uxth r3, r3 80a2ed8: 461a mov r2, r3 80a2eda: 0112 lsls r2, r2, #4 80a2edc: 1ad3 subs r3, r2, r3 80a2ede: 005b lsls r3, r3, #1 80a2ee0: b29b uxth r3, r3 80a2ee2: 336e adds r3, #110 ; 0x6e 80a2ee4: b29b uxth r3, r3 80a2ee6: 2282 movs r2, #130 ; 0x82 80a2ee8: 4619 mov r1, r3 80a2eea: f7b1 fb53 bl 8054594 for(i = t; i < 5; i++) 80a2eee: 6dfb ldr r3, [r7, #92] ; 0x5c 80a2ef0: 3301 adds r3, #1 80a2ef2: 65fb str r3, [r7, #92] ; 0x5c 80a2ef4: 6dfb ldr r3, [r7, #92] ; 0x5c 80a2ef6: 2b04 cmp r3, #4 80a2ef8: d9dc bls.n 80a2eb4 if(pardata.IVS[VEL] < PEAK_FACTOR) 80a2efa: 4b53 ldr r3, [pc, #332] ; (80a3048 ) 80a2efc: 78db ldrb r3, [r3, #3] 80a2efe: b2db uxtb r3, r3 80a2f00: 2b02 cmp r3, #2 80a2f02: d81f bhi.n 80a2f44 if(pardata.IIN != VOLTS) 80a2f04: 4b50 ldr r3, [pc, #320] ; (80a3048 ) 80a2f06: 799b ldrb r3, [r3, #6] 80a2f08: b2db uxtb r3, r3 80a2f0a: 2b02 cmp r3, #2 80a2f0c: d00d beq.n 80a2f2a DrawImage(BMG_MMS[pardata.LANG], 265, 128+9); 80a2f0e: 4b4e ldr r3, [pc, #312] ; (80a3048 ) 80a2f10: 7b1b ldrb r3, [r3, #12] 80a2f12: b2db uxtb r3, r3 80a2f14: 461a mov r2, r3 80a2f16: 4b52 ldr r3, [pc, #328] ; (80a3060 ) 80a2f18: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a2f1c: 2289 movs r2, #137 ; 0x89 80a2f1e: f240 1109 movw r1, #265 ; 0x109 80a2f22: 4618 mov r0, r3 80a2f24: f7b1 fb36 bl 8054594 80a2f28: e00c b.n 80a2f44 else DrawImage(BMG_MV[pardata.LANG], 265, 128+9); 80a2f2a: 4b47 ldr r3, [pc, #284] ; (80a3048 ) 80a2f2c: 7b1b ldrb r3, [r3, #12] 80a2f2e: b2db uxtb r3, r3 80a2f30: 461a mov r2, r3 80a2f32: 4b46 ldr r3, [pc, #280] ; (80a304c ) 80a2f34: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a2f38: 2289 movs r2, #137 ; 0x89 80a2f3a: f240 1109 movw r1, #265 ; 0x109 80a2f3e: 4618 mov r0, r3 80a2f40: f7b1 fb28 bl 8054594 if(pardata.IVS[ipr] == EXCESS) 80a2f44: 6d3b ldr r3, [r7, #80] ; 0x50 80a2f46: 4a40 ldr r2, [pc, #256] ; (80a3048 ) 80a2f48: 4413 add r3, r2 80a2f4a: 789b ldrb r3, [r3, #2] 80a2f4c: b2db uxtb r3, r3 80a2f4e: 2b04 cmp r3, #4 80a2f50: f040 8589 bne.w 80a3a66 if(skz[ipr] < 0.0f) { 80a2f54: 6d3b ldr r3, [r7, #80] ; 0x50 80a2f56: 4a3e ldr r2, [pc, #248] ; (80a3050 ) 80a2f58: 009b lsls r3, r3, #2 80a2f5a: 4413 add r3, r2 80a2f5c: edd3 7a00 vldr s15, [r3] 80a2f60: eef5 7ac0 vcmpe.f32 s15, #0.0 80a2f64: eef1 fa10 vmrs APSR_nzcv, fpscr 80a2f68: f140 857d bpl.w 80a3a66 DrawImage(&bmgminus, 78, 138+9); 80a2f6c: 2293 movs r2, #147 ; 0x93 80a2f6e: 214e movs r1, #78 ; 0x4e 80a2f70: 4838 ldr r0, [pc, #224] ; (80a3054 ) 80a2f72: f7b1 fb0f bl 8054594 80a2f76: f000 bd76 b.w 80a3a66 if(ipr == DIS) 80a2f7a: 6d3b ldr r3, [r7, #80] ; 0x50 80a2f7c: 2b02 cmp r3, #2 80a2f7e: f040 8572 bne.w 80a3a66 if(!t) 80a2f82: 6d7b ldr r3, [r7, #84] ; 0x54 80a2f84: 2b00 cmp r3, #0 80a2f86: d126 bne.n 80a2fd6 for(i = 0; i < 5; i++) 80a2f88: 2300 movs r3, #0 80a2f8a: 65fb str r3, [r7, #92] ; 0x5c 80a2f8c: e01f b.n 80a2fce DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 174); 80a2f8e: 6d3a ldr r2, [r7, #80] ; 0x50 80a2f90: 6df9 ldr r1, [r7, #92] ; 0x5c 80a2f92: 4613 mov r3, r2 80a2f94: 009b lsls r3, r3, #2 80a2f96: 4413 add r3, r2 80a2f98: f107 0268 add.w r2, r7, #104 ; 0x68 80a2f9c: 4413 add r3, r2 80a2f9e: 440b add r3, r1 80a2fa0: 3b34 subs r3, #52 ; 0x34 80a2fa2: 781b ldrb r3, [r3, #0] 80a2fa4: b2db uxtb r3, r3 80a2fa6: 461a mov r2, r3 80a2fa8: 4b2b ldr r3, [pc, #172] ; (80a3058 ) 80a2faa: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a2fae: 6dfb ldr r3, [r7, #92] ; 0x5c 80a2fb0: b29b uxth r3, r3 80a2fb2: 461a mov r2, r3 80a2fb4: 0112 lsls r2, r2, #4 80a2fb6: 1ad3 subs r3, r2, r3 80a2fb8: 005b lsls r3, r3, #1 80a2fba: b29b uxth r3, r3 80a2fbc: 335a adds r3, #90 ; 0x5a 80a2fbe: b29b uxth r3, r3 80a2fc0: 22ae movs r2, #174 ; 0xae 80a2fc2: 4619 mov r1, r3 80a2fc4: f7b1 fae6 bl 8054594 for(i = 0; i < 5; i++) 80a2fc8: 6dfb ldr r3, [r7, #92] ; 0x5c 80a2fca: 3301 adds r3, #1 80a2fcc: 65fb str r3, [r7, #92] ; 0x5c 80a2fce: 6dfb ldr r3, [r7, #92] ; 0x5c 80a2fd0: 2b04 cmp r3, #4 80a2fd2: d9dc bls.n 80a2f8e 80a2fd4: e069 b.n 80a30aa for(i = 0; i < t; i++) 80a2fd6: 2300 movs r3, #0 80a2fd8: 65fb str r3, [r7, #92] ; 0x5c 80a2fda: e01f b.n 80a301c DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 174); 80a2fdc: 6d3a ldr r2, [r7, #80] ; 0x50 80a2fde: 6df9 ldr r1, [r7, #92] ; 0x5c 80a2fe0: 4613 mov r3, r2 80a2fe2: 009b lsls r3, r3, #2 80a2fe4: 4413 add r3, r2 80a2fe6: f107 0268 add.w r2, r7, #104 ; 0x68 80a2fea: 4413 add r3, r2 80a2fec: 440b add r3, r1 80a2fee: 3b34 subs r3, #52 ; 0x34 80a2ff0: 781b ldrb r3, [r3, #0] 80a2ff2: b2db uxtb r3, r3 80a2ff4: 461a mov r2, r3 80a2ff6: 4b18 ldr r3, [pc, #96] ; (80a3058 ) 80a2ff8: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a2ffc: 6dfb ldr r3, [r7, #92] ; 0x5c 80a2ffe: b29b uxth r3, r3 80a3000: 461a mov r2, r3 80a3002: 0112 lsls r2, r2, #4 80a3004: 1ad3 subs r3, r2, r3 80a3006: 005b lsls r3, r3, #1 80a3008: b29b uxth r3, r3 80a300a: 335a adds r3, #90 ; 0x5a 80a300c: b29b uxth r3, r3 80a300e: 22ae movs r2, #174 ; 0xae 80a3010: 4619 mov r1, r3 80a3012: f7b1 fabf bl 8054594 for(i = 0; i < t; i++) 80a3016: 6dfb ldr r3, [r7, #92] ; 0x5c 80a3018: 3301 adds r3, #1 80a301a: 65fb str r3, [r7, #92] ; 0x5c 80a301c: 6dfa ldr r2, [r7, #92] ; 0x5c 80a301e: 6d7b ldr r3, [r7, #84] ; 0x54 80a3020: 429a cmp r2, r3 80a3022: d3db bcc.n 80a2fdc DrawImage(&bmgpt, 95 + 30*t, 198); 80a3024: 6d7b ldr r3, [r7, #84] ; 0x54 80a3026: b29b uxth r3, r3 80a3028: 461a mov r2, r3 80a302a: 0112 lsls r2, r2, #4 80a302c: 1ad3 subs r3, r2, r3 80a302e: 005b lsls r3, r3, #1 80a3030: b29b uxth r3, r3 80a3032: 335f adds r3, #95 ; 0x5f 80a3034: b29b uxth r3, r3 80a3036: 22c6 movs r2, #198 ; 0xc6 80a3038: 4619 mov r1, r3 80a303a: 4808 ldr r0, [pc, #32] ; (80a305c ) 80a303c: f7b1 faaa bl 8054594 for(i = t; i < 5; i++) 80a3040: 6d7b ldr r3, [r7, #84] ; 0x54 80a3042: 65fb str r3, [r7, #92] ; 0x5c 80a3044: e02e b.n 80a30a4 80a3046: bf00 nop 80a3048: 20023e60 .word 0x20023e60 80a304c: 20020114 .word 0x20020114 80a3050: 20021540 .word 0x20021540 80a3054: 08167990 .word 0x08167990 80a3058: 20020124 .word 0x20020124 80a305c: 08167a1c .word 0x08167a1c 80a3060: 200200fc .word 0x200200fc DrawImage(NUMS[ik[ipr][i]], 110 + 30*i, 174); 80a3064: 6d3a ldr r2, [r7, #80] ; 0x50 80a3066: 6df9 ldr r1, [r7, #92] ; 0x5c 80a3068: 4613 mov r3, r2 80a306a: 009b lsls r3, r3, #2 80a306c: 4413 add r3, r2 80a306e: f107 0268 add.w r2, r7, #104 ; 0x68 80a3072: 4413 add r3, r2 80a3074: 440b add r3, r1 80a3076: 3b34 subs r3, #52 ; 0x34 80a3078: 781b ldrb r3, [r3, #0] 80a307a: b2db uxtb r3, r3 80a307c: 461a mov r2, r3 80a307e: 4bc7 ldr r3, [pc, #796] ; (80a339c ) 80a3080: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a3084: 6dfb ldr r3, [r7, #92] ; 0x5c 80a3086: b29b uxth r3, r3 80a3088: 461a mov r2, r3 80a308a: 0112 lsls r2, r2, #4 80a308c: 1ad3 subs r3, r2, r3 80a308e: 005b lsls r3, r3, #1 80a3090: b29b uxth r3, r3 80a3092: 336e adds r3, #110 ; 0x6e 80a3094: b29b uxth r3, r3 80a3096: 22ae movs r2, #174 ; 0xae 80a3098: 4619 mov r1, r3 80a309a: f7b1 fa7b bl 8054594 for(i = t; i < 5; i++) 80a309e: 6dfb ldr r3, [r7, #92] ; 0x5c 80a30a0: 3301 adds r3, #1 80a30a2: 65fb str r3, [r7, #92] ; 0x5c 80a30a4: 6dfb ldr r3, [r7, #92] ; 0x5c 80a30a6: 2b04 cmp r3, #4 80a30a8: d9dc bls.n 80a3064 if(pardata.IVS[DIS] < PEAK_FACTOR) 80a30aa: 4bbd ldr r3, [pc, #756] ; (80a33a0 ) 80a30ac: 791b ldrb r3, [r3, #4] 80a30ae: b2db uxtb r3, r3 80a30b0: 2b02 cmp r3, #2 80a30b2: d841 bhi.n 80a3138 if(pardata.IIN != VOLTS) 80a30b4: 4bba ldr r3, [pc, #744] ; (80a33a0 ) 80a30b6: 799b ldrb r3, [r3, #6] 80a30b8: b2db uxtb r3, r3 80a30ba: 2b02 cmp r3, #2 80a30bc: d01e beq.n 80a30fc if(m == 0) 80a30be: 6cfb ldr r3, [r7, #76] ; 0x4c 80a30c0: 2b00 cmp r3, #0 80a30c2: d10d bne.n 80a30e0 DrawImage(BMG_MKM[pardata.LANG], 265, 180); 80a30c4: 4bb6 ldr r3, [pc, #728] ; (80a33a0 ) 80a30c6: 7b1b ldrb r3, [r3, #12] 80a30c8: b2db uxtb r3, r3 80a30ca: 461a mov r2, r3 80a30cc: 4bb5 ldr r3, [pc, #724] ; (80a33a4 ) 80a30ce: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a30d2: 22b4 movs r2, #180 ; 0xb4 80a30d4: f240 1109 movw r1, #265 ; 0x109 80a30d8: 4618 mov r0, r3 80a30da: f7b1 fa5b bl 8054594 80a30de: e02b b.n 80a3138 else DrawImage(BMG_MM[pardata.LANG], 265, 180); 80a30e0: 4baf ldr r3, [pc, #700] ; (80a33a0 ) 80a30e2: 7b1b ldrb r3, [r3, #12] 80a30e4: b2db uxtb r3, r3 80a30e6: 461a mov r2, r3 80a30e8: 4baf ldr r3, [pc, #700] ; (80a33a8 ) 80a30ea: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a30ee: 22b4 movs r2, #180 ; 0xb4 80a30f0: f240 1109 movw r1, #265 ; 0x109 80a30f4: 4618 mov r0, r3 80a30f6: f7b1 fa4d bl 8054594 80a30fa: e01d b.n 80a3138 if(m == 0) 80a30fc: 6cfb ldr r3, [r7, #76] ; 0x4c 80a30fe: 2b00 cmp r3, #0 80a3100: d10d bne.n 80a311e DrawImage(BMG_MV[pardata.LANG], 265, 180); 80a3102: 4ba7 ldr r3, [pc, #668] ; (80a33a0 ) 80a3104: 7b1b ldrb r3, [r3, #12] 80a3106: b2db uxtb r3, r3 80a3108: 461a mov r2, r3 80a310a: 4ba8 ldr r3, [pc, #672] ; (80a33ac ) 80a310c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a3110: 22b4 movs r2, #180 ; 0xb4 80a3112: f240 1109 movw r1, #265 ; 0x109 80a3116: 4618 mov r0, r3 80a3118: f7b1 fa3c bl 8054594 80a311c: e00c b.n 80a3138 else DrawImage(BMG_V[pardata.LANG], 265, 180); 80a311e: 4ba0 ldr r3, [pc, #640] ; (80a33a0 ) 80a3120: 7b1b ldrb r3, [r3, #12] 80a3122: b2db uxtb r3, r3 80a3124: 461a mov r2, r3 80a3126: 4ba2 ldr r3, [pc, #648] ; (80a33b0 ) 80a3128: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a312c: 22b4 movs r2, #180 ; 0xb4 80a312e: f240 1109 movw r1, #265 ; 0x109 80a3132: 4618 mov r0, r3 80a3134: f7b1 fa2e bl 8054594 if(pardata.IVS[ipr] == EXCESS) 80a3138: 6d3b ldr r3, [r7, #80] ; 0x50 80a313a: 4a99 ldr r2, [pc, #612] ; (80a33a0 ) 80a313c: 4413 add r3, r2 80a313e: 789b ldrb r3, [r3, #2] 80a3140: b2db uxtb r3, r3 80a3142: 2b04 cmp r3, #4 80a3144: f040 848f bne.w 80a3a66 if(skz[ipr] < 0.0f) { 80a3148: 6d3b ldr r3, [r7, #80] ; 0x50 80a314a: 4a9a ldr r2, [pc, #616] ; (80a33b4 ) 80a314c: 009b lsls r3, r3, #2 80a314e: 4413 add r3, r2 80a3150: edd3 7a00 vldr s15, [r3] 80a3154: eef5 7ac0 vcmpe.f32 s15, #0.0 80a3158: eef1 fa10 vmrs APSR_nzcv, fpscr 80a315c: f140 8483 bpl.w 80a3a66 DrawImage(&bmgminus, 78, 190); 80a3160: 22be movs r2, #190 ; 0xbe 80a3162: 214e movs r1, #78 ; 0x4e 80a3164: 4894 ldr r0, [pc, #592] ; (80a33b8 ) 80a3166: f7b1 fa15 bl 8054594 80a316a: f000 bc7c b.w 80a3a66 if(skz[ACC] != -1.0f) 80a316e: 4b91 ldr r3, [pc, #580] ; (80a33b4 ) 80a3170: edd3 7a00 vldr s15, [r3] 80a3174: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 80a3178: eef4 7a47 vcmp.f32 s15, s14 80a317c: eef1 fa10 vmrs APSR_nzcv, fpscr 80a3180: f000 8471 beq.w 80a3a66 if(ipr == VEL) 80a3184: 6d3b ldr r3, [r7, #80] ; 0x50 80a3186: 2b01 cmp r3, #1 80a3188: d116 bne.n 80a31b8 LCD_SetColors(LCD_COLOR_NUMGREEN, LCD_COLOR_BLACK); 80a318a: 498c ldr r1, [pc, #560] ; (80a33bc ) 80a318c: 488c ldr r0, [pc, #560] ; (80a33c0 ) 80a318e: f7b0 fb0d bl 80537ac if(pardata.LANG == RUS) 80a3192: 4b83 ldr r3, [pc, #524] ; (80a33a0 ) 80a3194: 7b1b ldrb r3, [r3, #12] 80a3196: b2db uxtb r3, r3 80a3198: 2b00 cmp r3, #0 80a319a: d106 bne.n 80a31aa LCD_DisplayStringC(167, 135, "ÍÅÒ ÄÀÍÍÛÕ"); 80a319c: 4a89 ldr r2, [pc, #548] ; (80a33c4 ) 80a319e: 2187 movs r1, #135 ; 0x87 80a31a0: 20a7 movs r0, #167 ; 0xa7 80a31a2: f7b1 f8c3 bl 805432c 80a31a6: f000 bc5e b.w 80a3a66 else LCD_DisplayStringC(167, 135, "NO DATA"); 80a31aa: 4a87 ldr r2, [pc, #540] ; (80a33c8 ) 80a31ac: 2187 movs r1, #135 ; 0x87 80a31ae: 20a7 movs r0, #167 ; 0xa7 80a31b0: f7b1 f8bc bl 805432c 80a31b4: f000 bc57 b.w 80a3a66 if(ipr == DIS) 80a31b8: 6d3b ldr r3, [r7, #80] ; 0x50 80a31ba: 2b02 cmp r3, #2 80a31bc: f040 8453 bne.w 80a3a66 LCD_SetColors(LCD_COLOR_NUMGREEN, LCD_COLOR_BLACK); 80a31c0: 497e ldr r1, [pc, #504] ; (80a33bc ) 80a31c2: 487f ldr r0, [pc, #508] ; (80a33c0 ) 80a31c4: f7b0 faf2 bl 80537ac if(pardata.LANG == RUS) 80a31c8: 4b75 ldr r3, [pc, #468] ; (80a33a0 ) 80a31ca: 7b1b ldrb r3, [r3, #12] 80a31cc: b2db uxtb r3, r3 80a31ce: 2b00 cmp r3, #0 80a31d0: d106 bne.n 80a31e0 LCD_DisplayStringC(167, 185, "ÍÅÒ ÄÀÍÍÛÕ"); 80a31d2: 4a7c ldr r2, [pc, #496] ; (80a33c4 ) 80a31d4: 21b9 movs r1, #185 ; 0xb9 80a31d6: 20a7 movs r0, #167 ; 0xa7 80a31d8: f7b1 f8a8 bl 805432c 80a31dc: f000 bc43 b.w 80a3a66 else LCD_DisplayStringC(167, 185, "NO DATA"); 80a31e0: 4a79 ldr r2, [pc, #484] ; (80a33c8 ) 80a31e2: 21b9 movs r1, #185 ; 0xb9 80a31e4: 20a7 movs r0, #167 ; 0xa7 80a31e6: f7b1 f8a1 bl 805432c 80a31ea: f000 bc3c b.w 80a3a66 if(skz[ipr] != -1.0f) 80a31ee: 6d3b ldr r3, [r7, #80] ; 0x50 80a31f0: 4a70 ldr r2, [pc, #448] ; (80a33b4 ) 80a31f2: 009b lsls r3, r3, #2 80a31f4: 4413 add r3, r2 80a31f6: edd3 7a00 vldr s15, [r3] 80a31fa: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 80a31fe: eef4 7a47 vcmp.f32 s15, s14 80a3202: eef1 fa10 vmrs APSR_nzcv, fpscr 80a3206: f000 83dc beq.w 80a39c2 f = ABS(skzDB[ipr]); 80a320a: 6d3b ldr r3, [r7, #80] ; 0x50 80a320c: 4a6f ldr r2, [pc, #444] ; (80a33cc ) 80a320e: 009b lsls r3, r3, #2 80a3210: 4413 add r3, r2 80a3212: edd3 7a00 vldr s15, [r3] 80a3216: eef5 7ac0 vcmpe.f32 s15, #0.0 80a321a: eef1 fa10 vmrs APSR_nzcv, fpscr 80a321e: dd06 ble.n 80a322e 80a3220: 6d3b ldr r3, [r7, #80] ; 0x50 80a3222: 4a6a ldr r2, [pc, #424] ; (80a33cc ) 80a3224: 009b lsls r3, r3, #2 80a3226: 4413 add r3, r2 80a3228: edd3 7a00 vldr s15, [r3] 80a322c: e007 b.n 80a323e 80a322e: 6d3b ldr r3, [r7, #80] ; 0x50 80a3230: 4a66 ldr r2, [pc, #408] ; (80a33cc ) 80a3232: 009b lsls r3, r3, #2 80a3234: 4413 add r3, r2 80a3236: edd3 7a00 vldr s15, [r3] 80a323a: eef1 7a67 vneg.f32 s15, s15 80a323e: edc7 7a11 vstr s15, [r7, #68] ; 0x44 k = (uint32_t) (roundf(f * 10 + 0.5f)); 80a3242: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a3246: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80a324a: ee67 7a87 vmul.f32 s15, s15, s14 80a324e: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80a3252: ee77 7a87 vadd.f32 s15, s15, s14 80a3256: eeb0 0a67 vmov.f32 s0, s15 80a325a: f027 fcf7 bl 80cac4c 80a325e: eef0 7a40 vmov.f32 s15, s0 80a3262: eefc 7ae7 vcvt.u32.f32 s15, s15 80a3266: ee17 3a90 vmov r3, s15 80a326a: 65bb str r3, [r7, #88] ; 0x58 if(f < 10.0f) 80a326c: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a3270: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80a3274: eef4 7ac7 vcmpe.f32 s15, s14 80a3278: eef1 fa10 vmrs APSR_nzcv, fpscr 80a327c: f140 80e4 bpl.w 80a3448 ik[ipr][0] = (uint8_t) (k / 10); 80a3280: 6d3a ldr r2, [r7, #80] ; 0x50 80a3282: 6dbb ldr r3, [r7, #88] ; 0x58 80a3284: 4952 ldr r1, [pc, #328] ; (80a33d0 ) 80a3286: fba1 1303 umull r1, r3, r1, r3 80a328a: 08db lsrs r3, r3, #3 80a328c: b2d9 uxtb r1, r3 80a328e: 4613 mov r3, r2 80a3290: 009b lsls r3, r3, #2 80a3292: 4413 add r3, r2 80a3294: f107 0268 add.w r2, r7, #104 ; 0x68 80a3298: 4413 add r3, r2 80a329a: 3b34 subs r3, #52 ; 0x34 80a329c: 460a mov r2, r1 80a329e: 701a strb r2, [r3, #0] ik[ipr][1] = (uint8_t) (k % 10); 80a32a0: 6d38 ldr r0, [r7, #80] ; 0x50 80a32a2: 6db9 ldr r1, [r7, #88] ; 0x58 80a32a4: 4b4a ldr r3, [pc, #296] ; (80a33d0 ) 80a32a6: fba3 2301 umull r2, r3, r3, r1 80a32aa: 08da lsrs r2, r3, #3 80a32ac: 4613 mov r3, r2 80a32ae: 009b lsls r3, r3, #2 80a32b0: 4413 add r3, r2 80a32b2: 005b lsls r3, r3, #1 80a32b4: 1aca subs r2, r1, r3 80a32b6: b2d2 uxtb r2, r2 80a32b8: 4603 mov r3, r0 80a32ba: 009b lsls r3, r3, #2 80a32bc: 4403 add r3, r0 80a32be: f107 0168 add.w r1, r7, #104 ; 0x68 80a32c2: 440b add r3, r1 80a32c4: 3b33 subs r3, #51 ; 0x33 80a32c6: 701a strb r2, [r3, #0] if(ipr == ACC) 80a32c8: 6d3b ldr r3, [r7, #80] ; 0x50 80a32ca: 2b00 cmp r3, #0 80a32cc: d131 bne.n 80a3332 DrawImage(NUMS[ik[ipr][1]], 110 + 30*4, 68+18); 80a32ce: 6d3a ldr r2, [r7, #80] ; 0x50 80a32d0: 4613 mov r3, r2 80a32d2: 009b lsls r3, r3, #2 80a32d4: 4413 add r3, r2 80a32d6: f107 0268 add.w r2, r7, #104 ; 0x68 80a32da: 4413 add r3, r2 80a32dc: 3b33 subs r3, #51 ; 0x33 80a32de: 781b ldrb r3, [r3, #0] 80a32e0: b2db uxtb r3, r3 80a32e2: 461a mov r2, r3 80a32e4: 4b2d ldr r3, [pc, #180] ; (80a339c ) 80a32e6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a32ea: 2256 movs r2, #86 ; 0x56 80a32ec: 21e6 movs r1, #230 ; 0xe6 80a32ee: 4618 mov r0, r3 80a32f0: f7b1 f950 bl 8054594 DrawImage(&bmgpt, 95 + 30*4, 92+18); 80a32f4: 226e movs r2, #110 ; 0x6e 80a32f6: 21d7 movs r1, #215 ; 0xd7 80a32f8: 4836 ldr r0, [pc, #216] ; (80a33d4 ) 80a32fa: f7b1 f94b bl 8054594 DrawImage(NUMS[ik[ipr][0]], 90 + 30*3, 68+18); 80a32fe: 6d3a ldr r2, [r7, #80] ; 0x50 80a3300: 4613 mov r3, r2 80a3302: 009b lsls r3, r3, #2 80a3304: 4413 add r3, r2 80a3306: f107 0268 add.w r2, r7, #104 ; 0x68 80a330a: 4413 add r3, r2 80a330c: 3b34 subs r3, #52 ; 0x34 80a330e: 781b ldrb r3, [r3, #0] 80a3310: b2db uxtb r3, r3 80a3312: 461a mov r2, r3 80a3314: 4b21 ldr r3, [pc, #132] ; (80a339c ) 80a3316: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a331a: 2256 movs r2, #86 ; 0x56 80a331c: 21b4 movs r1, #180 ; 0xb4 80a331e: 4618 mov r0, r3 80a3320: f7b1 f938 bl 8054594 DrawImage(&bmg_dB, 265, 74+18); 80a3324: 225c movs r2, #92 ; 0x5c 80a3326: f240 1109 movw r1, #265 ; 0x109 80a332a: 482b ldr r0, [pc, #172] ; (80a33d8 ) 80a332c: f7b1 f932 bl 8054594 80a3330: e399 b.n 80a3a66 if(ipr == VEL) 80a3332: 6d3b ldr r3, [r7, #80] ; 0x50 80a3334: 2b01 cmp r3, #1 80a3336: d151 bne.n 80a33dc DrawImage(NUMS[ik[ipr][1]], 110 + 30*4, 121+9); 80a3338: 6d3a ldr r2, [r7, #80] ; 0x50 80a333a: 4613 mov r3, r2 80a333c: 009b lsls r3, r3, #2 80a333e: 4413 add r3, r2 80a3340: f107 0268 add.w r2, r7, #104 ; 0x68 80a3344: 4413 add r3, r2 80a3346: 3b33 subs r3, #51 ; 0x33 80a3348: 781b ldrb r3, [r3, #0] 80a334a: b2db uxtb r3, r3 80a334c: 461a mov r2, r3 80a334e: 4b13 ldr r3, [pc, #76] ; (80a339c ) 80a3350: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a3354: 2282 movs r2, #130 ; 0x82 80a3356: 21e6 movs r1, #230 ; 0xe6 80a3358: 4618 mov r0, r3 80a335a: f7b1 f91b bl 8054594 DrawImage(&bmgpt, 95 + 30*4, 145+9); 80a335e: 229a movs r2, #154 ; 0x9a 80a3360: 21d7 movs r1, #215 ; 0xd7 80a3362: 481c ldr r0, [pc, #112] ; (80a33d4 ) 80a3364: f7b1 f916 bl 8054594 DrawImage(NUMS[ik[ipr][0]], 90 + 30*3, 121+9); 80a3368: 6d3a ldr r2, [r7, #80] ; 0x50 80a336a: 4613 mov r3, r2 80a336c: 009b lsls r3, r3, #2 80a336e: 4413 add r3, r2 80a3370: f107 0268 add.w r2, r7, #104 ; 0x68 80a3374: 4413 add r3, r2 80a3376: 3b34 subs r3, #52 ; 0x34 80a3378: 781b ldrb r3, [r3, #0] 80a337a: b2db uxtb r3, r3 80a337c: 461a mov r2, r3 80a337e: 4b07 ldr r3, [pc, #28] ; (80a339c ) 80a3380: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a3384: 2282 movs r2, #130 ; 0x82 80a3386: 21b4 movs r1, #180 ; 0xb4 80a3388: 4618 mov r0, r3 80a338a: f7b1 f903 bl 8054594 DrawImage(&bmg_dB, 265, 128+9); 80a338e: 2289 movs r2, #137 ; 0x89 80a3390: f240 1109 movw r1, #265 ; 0x109 80a3394: 4810 ldr r0, [pc, #64] ; (80a33d8 ) 80a3396: f7b1 f8fd bl 8054594 80a339a: e364 b.n 80a3a66 80a339c: 20020124 .word 0x20020124 80a33a0: 20023e60 .word 0x20023e60 80a33a4: 20020104 .word 0x20020104 80a33a8: 2002010c .word 0x2002010c 80a33ac: 20020114 .word 0x20020114 80a33b0: 2002011c .word 0x2002011c 80a33b4: 20021540 .word 0x20021540 80a33b8: 08167990 .word 0x08167990 80a33bc: ff0a0f1f .word 0xff0a0f1f 80a33c0: ffb8e828 .word 0xffb8e828 80a33c4: 080cfaf4 .word 0x080cfaf4 80a33c8: 080cfb00 .word 0x080cfb00 80a33cc: 2002154c .word 0x2002154c 80a33d0: cccccccd .word 0xcccccccd 80a33d4: 08167a1c .word 0x08167a1c 80a33d8: 08162c68 .word 0x08162c68 if(ipr == DIS) 80a33dc: 6d3b ldr r3, [r7, #80] ; 0x50 80a33de: 2b02 cmp r3, #2 80a33e0: f040 8341 bne.w 80a3a66 DrawImage(NUMS[ik[ipr][1]], 110 + 30*4, 174); 80a33e4: 6d3a ldr r2, [r7, #80] ; 0x50 80a33e6: 4613 mov r3, r2 80a33e8: 009b lsls r3, r3, #2 80a33ea: 4413 add r3, r2 80a33ec: f107 0268 add.w r2, r7, #104 ; 0x68 80a33f0: 4413 add r3, r2 80a33f2: 3b33 subs r3, #51 ; 0x33 80a33f4: 781b ldrb r3, [r3, #0] 80a33f6: b2db uxtb r3, r3 80a33f8: 461a mov r2, r3 80a33fa: 4ba6 ldr r3, [pc, #664] ; (80a3694 ) 80a33fc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a3400: 22ae movs r2, #174 ; 0xae 80a3402: 21e6 movs r1, #230 ; 0xe6 80a3404: 4618 mov r0, r3 80a3406: f7b1 f8c5 bl 8054594 DrawImage(&bmgpt, 95 + 30*4, 198); 80a340a: 22c6 movs r2, #198 ; 0xc6 80a340c: 21d7 movs r1, #215 ; 0xd7 80a340e: 48a2 ldr r0, [pc, #648] ; (80a3698 ) 80a3410: f7b1 f8c0 bl 8054594 DrawImage(NUMS[ik[ipr][0]], 90 + 30*3, 174); 80a3414: 6d3a ldr r2, [r7, #80] ; 0x50 80a3416: 4613 mov r3, r2 80a3418: 009b lsls r3, r3, #2 80a341a: 4413 add r3, r2 80a341c: f107 0268 add.w r2, r7, #104 ; 0x68 80a3420: 4413 add r3, r2 80a3422: 3b34 subs r3, #52 ; 0x34 80a3424: 781b ldrb r3, [r3, #0] 80a3426: b2db uxtb r3, r3 80a3428: 461a mov r2, r3 80a342a: 4b9a ldr r3, [pc, #616] ; (80a3694 ) 80a342c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a3430: 22ae movs r2, #174 ; 0xae 80a3432: 21b4 movs r1, #180 ; 0xb4 80a3434: 4618 mov r0, r3 80a3436: f7b1 f8ad bl 8054594 DrawImage(&bmg_dB, 265, 180); 80a343a: 22b4 movs r2, #180 ; 0xb4 80a343c: f240 1109 movw r1, #265 ; 0x109 80a3440: 4896 ldr r0, [pc, #600] ; (80a369c ) 80a3442: f7b1 f8a7 bl 8054594 80a3446: e30e b.n 80a3a66 if(f < 100.0f) 80a3448: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a344c: ed9f 7a94 vldr s14, [pc, #592] ; 80a36a0 80a3450: eef4 7ac7 vcmpe.f32 s15, s14 80a3454: eef1 fa10 vmrs APSR_nzcv, fpscr 80a3458: f140 812a bpl.w 80a36b0 ik[ipr][0] = (uint8_t) (k / 100); 80a345c: 6d3a ldr r2, [r7, #80] ; 0x50 80a345e: 6dbb ldr r3, [r7, #88] ; 0x58 80a3460: 4990 ldr r1, [pc, #576] ; (80a36a4 ) 80a3462: fba1 1303 umull r1, r3, r1, r3 80a3466: 095b lsrs r3, r3, #5 80a3468: b2d9 uxtb r1, r3 80a346a: 4613 mov r3, r2 80a346c: 009b lsls r3, r3, #2 80a346e: 4413 add r3, r2 80a3470: f107 0268 add.w r2, r7, #104 ; 0x68 80a3474: 4413 add r3, r2 80a3476: 3b34 subs r3, #52 ; 0x34 80a3478: 460a mov r2, r1 80a347a: 701a strb r2, [r3, #0] ik[ipr][1] = (uint8_t) (k % 100 / 10); 80a347c: 6d39 ldr r1, [r7, #80] ; 0x50 80a347e: 6dba ldr r2, [r7, #88] ; 0x58 80a3480: 4b88 ldr r3, [pc, #544] ; (80a36a4 ) 80a3482: fba3 0302 umull r0, r3, r3, r2 80a3486: 095b lsrs r3, r3, #5 80a3488: 2064 movs r0, #100 ; 0x64 80a348a: fb00 f303 mul.w r3, r0, r3 80a348e: 1ad3 subs r3, r2, r3 80a3490: 4a85 ldr r2, [pc, #532] ; (80a36a8 ) 80a3492: fba2 2303 umull r2, r3, r2, r3 80a3496: 08db lsrs r3, r3, #3 80a3498: b2da uxtb r2, r3 80a349a: 460b mov r3, r1 80a349c: 009b lsls r3, r3, #2 80a349e: 440b add r3, r1 80a34a0: f107 0168 add.w r1, r7, #104 ; 0x68 80a34a4: 440b add r3, r1 80a34a6: 3b33 subs r3, #51 ; 0x33 80a34a8: 701a strb r2, [r3, #0] ik[ipr][2] = (uint8_t) (k % 100 % 10); 80a34aa: 6d38 ldr r0, [r7, #80] ; 0x50 80a34ac: 6dbb ldr r3, [r7, #88] ; 0x58 80a34ae: 4a7d ldr r2, [pc, #500] ; (80a36a4 ) 80a34b0: fba2 1203 umull r1, r2, r2, r3 80a34b4: 0952 lsrs r2, r2, #5 80a34b6: 2164 movs r1, #100 ; 0x64 80a34b8: fb01 f202 mul.w r2, r1, r2 80a34bc: 1a9a subs r2, r3, r2 80a34be: 4b7a ldr r3, [pc, #488] ; (80a36a8 ) 80a34c0: fba3 1302 umull r1, r3, r3, r2 80a34c4: 08d9 lsrs r1, r3, #3 80a34c6: 460b mov r3, r1 80a34c8: 009b lsls r3, r3, #2 80a34ca: 440b add r3, r1 80a34cc: 005b lsls r3, r3, #1 80a34ce: 1ad1 subs r1, r2, r3 80a34d0: b2ca uxtb r2, r1 80a34d2: 4603 mov r3, r0 80a34d4: 009b lsls r3, r3, #2 80a34d6: 4403 add r3, r0 80a34d8: f107 0168 add.w r1, r7, #104 ; 0x68 80a34dc: 440b add r3, r1 80a34de: 3b32 subs r3, #50 ; 0x32 80a34e0: 701a strb r2, [r3, #0] if(ipr == ACC) 80a34e2: 6d3b ldr r3, [r7, #80] ; 0x50 80a34e4: 2b00 cmp r3, #0 80a34e6: d144 bne.n 80a3572 DrawImage(NUMS[ik[ipr][2]], 110 + 30*4, 68+18); 80a34e8: 6d3a ldr r2, [r7, #80] ; 0x50 80a34ea: 4613 mov r3, r2 80a34ec: 009b lsls r3, r3, #2 80a34ee: 4413 add r3, r2 80a34f0: f107 0268 add.w r2, r7, #104 ; 0x68 80a34f4: 4413 add r3, r2 80a34f6: 3b32 subs r3, #50 ; 0x32 80a34f8: 781b ldrb r3, [r3, #0] 80a34fa: b2db uxtb r3, r3 80a34fc: 461a mov r2, r3 80a34fe: 4b65 ldr r3, [pc, #404] ; (80a3694 ) 80a3500: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a3504: 2256 movs r2, #86 ; 0x56 80a3506: 21e6 movs r1, #230 ; 0xe6 80a3508: 4618 mov r0, r3 80a350a: f7b1 f843 bl 8054594 DrawImage(&bmgpt, 95 + 30*4, 92+18); 80a350e: 226e movs r2, #110 ; 0x6e 80a3510: 21d7 movs r1, #215 ; 0xd7 80a3512: 4861 ldr r0, [pc, #388] ; (80a3698 ) 80a3514: f7b1 f83e bl 8054594 DrawImage(NUMS[ik[ipr][1]], 90 + 30*3, 68+18); 80a3518: 6d3a ldr r2, [r7, #80] ; 0x50 80a351a: 4613 mov r3, r2 80a351c: 009b lsls r3, r3, #2 80a351e: 4413 add r3, r2 80a3520: f107 0268 add.w r2, r7, #104 ; 0x68 80a3524: 4413 add r3, r2 80a3526: 3b33 subs r3, #51 ; 0x33 80a3528: 781b ldrb r3, [r3, #0] 80a352a: b2db uxtb r3, r3 80a352c: 461a mov r2, r3 80a352e: 4b59 ldr r3, [pc, #356] ; (80a3694 ) 80a3530: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a3534: 2256 movs r2, #86 ; 0x56 80a3536: 21b4 movs r1, #180 ; 0xb4 80a3538: 4618 mov r0, r3 80a353a: f7b1 f82b bl 8054594 DrawImage(NUMS[ik[ipr][0]], 90 + 30*2, 68+18); 80a353e: 6d3a ldr r2, [r7, #80] ; 0x50 80a3540: 4613 mov r3, r2 80a3542: 009b lsls r3, r3, #2 80a3544: 4413 add r3, r2 80a3546: f107 0268 add.w r2, r7, #104 ; 0x68 80a354a: 4413 add r3, r2 80a354c: 3b34 subs r3, #52 ; 0x34 80a354e: 781b ldrb r3, [r3, #0] 80a3550: b2db uxtb r3, r3 80a3552: 461a mov r2, r3 80a3554: 4b4f ldr r3, [pc, #316] ; (80a3694 ) 80a3556: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a355a: 2256 movs r2, #86 ; 0x56 80a355c: 2196 movs r1, #150 ; 0x96 80a355e: 4618 mov r0, r3 80a3560: f7b1 f818 bl 8054594 DrawImage(&bmg_dB, 265, 74+18); 80a3564: 225c movs r2, #92 ; 0x5c 80a3566: f240 1109 movw r1, #265 ; 0x109 80a356a: 484c ldr r0, [pc, #304] ; (80a369c ) 80a356c: f7b1 f812 bl 8054594 80a3570: e279 b.n 80a3a66 if(ipr == VEL) 80a3572: 6d3b ldr r3, [r7, #80] ; 0x50 80a3574: 2b01 cmp r3, #1 80a3576: d144 bne.n 80a3602 DrawImage(NUMS[ik[ipr][2]], 110 + 30*4, 121+9); 80a3578: 6d3a ldr r2, [r7, #80] ; 0x50 80a357a: 4613 mov r3, r2 80a357c: 009b lsls r3, r3, #2 80a357e: 4413 add r3, r2 80a3580: f107 0268 add.w r2, r7, #104 ; 0x68 80a3584: 4413 add r3, r2 80a3586: 3b32 subs r3, #50 ; 0x32 80a3588: 781b ldrb r3, [r3, #0] 80a358a: b2db uxtb r3, r3 80a358c: 461a mov r2, r3 80a358e: 4b41 ldr r3, [pc, #260] ; (80a3694 ) 80a3590: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a3594: 2282 movs r2, #130 ; 0x82 80a3596: 21e6 movs r1, #230 ; 0xe6 80a3598: 4618 mov r0, r3 80a359a: f7b0 fffb bl 8054594 DrawImage(&bmgpt, 95 + 30*4, 145+9); 80a359e: 229a movs r2, #154 ; 0x9a 80a35a0: 21d7 movs r1, #215 ; 0xd7 80a35a2: 483d ldr r0, [pc, #244] ; (80a3698 ) 80a35a4: f7b0 fff6 bl 8054594 DrawImage(NUMS[ik[ipr][1]], 90 + 30*3, 121+9); 80a35a8: 6d3a ldr r2, [r7, #80] ; 0x50 80a35aa: 4613 mov r3, r2 80a35ac: 009b lsls r3, r3, #2 80a35ae: 4413 add r3, r2 80a35b0: f107 0268 add.w r2, r7, #104 ; 0x68 80a35b4: 4413 add r3, r2 80a35b6: 3b33 subs r3, #51 ; 0x33 80a35b8: 781b ldrb r3, [r3, #0] 80a35ba: b2db uxtb r3, r3 80a35bc: 461a mov r2, r3 80a35be: 4b35 ldr r3, [pc, #212] ; (80a3694 ) 80a35c0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a35c4: 2282 movs r2, #130 ; 0x82 80a35c6: 21b4 movs r1, #180 ; 0xb4 80a35c8: 4618 mov r0, r3 80a35ca: f7b0 ffe3 bl 8054594 DrawImage(NUMS[ik[ipr][0]], 90 + 30*2, 121+9); 80a35ce: 6d3a ldr r2, [r7, #80] ; 0x50 80a35d0: 4613 mov r3, r2 80a35d2: 009b lsls r3, r3, #2 80a35d4: 4413 add r3, r2 80a35d6: f107 0268 add.w r2, r7, #104 ; 0x68 80a35da: 4413 add r3, r2 80a35dc: 3b34 subs r3, #52 ; 0x34 80a35de: 781b ldrb r3, [r3, #0] 80a35e0: b2db uxtb r3, r3 80a35e2: 461a mov r2, r3 80a35e4: 4b2b ldr r3, [pc, #172] ; (80a3694 ) 80a35e6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a35ea: 2282 movs r2, #130 ; 0x82 80a35ec: 2196 movs r1, #150 ; 0x96 80a35ee: 4618 mov r0, r3 80a35f0: f7b0 ffd0 bl 8054594 DrawImage(&bmg_dB, 265, 128+9); 80a35f4: 2289 movs r2, #137 ; 0x89 80a35f6: f240 1109 movw r1, #265 ; 0x109 80a35fa: 4828 ldr r0, [pc, #160] ; (80a369c ) 80a35fc: f7b0 ffca bl 8054594 80a3600: e231 b.n 80a3a66 if(ipr == DIS) 80a3602: 6d3b ldr r3, [r7, #80] ; 0x50 80a3604: 2b02 cmp r3, #2 80a3606: f040 822e bne.w 80a3a66 DrawImage(NUMS[ik[ipr][2]], 110 + 30*4, 174); 80a360a: 6d3a ldr r2, [r7, #80] ; 0x50 80a360c: 4613 mov r3, r2 80a360e: 009b lsls r3, r3, #2 80a3610: 4413 add r3, r2 80a3612: f107 0268 add.w r2, r7, #104 ; 0x68 80a3616: 4413 add r3, r2 80a3618: 3b32 subs r3, #50 ; 0x32 80a361a: 781b ldrb r3, [r3, #0] 80a361c: b2db uxtb r3, r3 80a361e: 461a mov r2, r3 80a3620: 4b1c ldr r3, [pc, #112] ; (80a3694 ) 80a3622: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a3626: 22ae movs r2, #174 ; 0xae 80a3628: 21e6 movs r1, #230 ; 0xe6 80a362a: 4618 mov r0, r3 80a362c: f7b0 ffb2 bl 8054594 DrawImage(&bmgpt, 95 + 30*4, 198); 80a3630: 22c6 movs r2, #198 ; 0xc6 80a3632: 21d7 movs r1, #215 ; 0xd7 80a3634: 4818 ldr r0, [pc, #96] ; (80a3698 ) 80a3636: f7b0 ffad bl 8054594 DrawImage(NUMS[ik[ipr][1]], 90 + 30*3, 174); 80a363a: 6d3a ldr r2, [r7, #80] ; 0x50 80a363c: 4613 mov r3, r2 80a363e: 009b lsls r3, r3, #2 80a3640: 4413 add r3, r2 80a3642: f107 0268 add.w r2, r7, #104 ; 0x68 80a3646: 4413 add r3, r2 80a3648: 3b33 subs r3, #51 ; 0x33 80a364a: 781b ldrb r3, [r3, #0] 80a364c: b2db uxtb r3, r3 80a364e: 461a mov r2, r3 80a3650: 4b10 ldr r3, [pc, #64] ; (80a3694 ) 80a3652: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a3656: 22ae movs r2, #174 ; 0xae 80a3658: 21b4 movs r1, #180 ; 0xb4 80a365a: 4618 mov r0, r3 80a365c: f7b0 ff9a bl 8054594 DrawImage(NUMS[ik[ipr][0]], 90 + 30*2, 174); 80a3660: 6d3a ldr r2, [r7, #80] ; 0x50 80a3662: 4613 mov r3, r2 80a3664: 009b lsls r3, r3, #2 80a3666: 4413 add r3, r2 80a3668: f107 0268 add.w r2, r7, #104 ; 0x68 80a366c: 4413 add r3, r2 80a366e: 3b34 subs r3, #52 ; 0x34 80a3670: 781b ldrb r3, [r3, #0] 80a3672: b2db uxtb r3, r3 80a3674: 461a mov r2, r3 80a3676: 4b07 ldr r3, [pc, #28] ; (80a3694 ) 80a3678: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a367c: 22ae movs r2, #174 ; 0xae 80a367e: 2196 movs r1, #150 ; 0x96 80a3680: 4618 mov r0, r3 80a3682: f7b0 ff87 bl 8054594 DrawImage(&bmg_dB, 265, 180); 80a3686: 22b4 movs r2, #180 ; 0xb4 80a3688: f240 1109 movw r1, #265 ; 0x109 80a368c: 4803 ldr r0, [pc, #12] ; (80a369c ) 80a368e: f7b0 ff81 bl 8054594 80a3692: e1e8 b.n 80a3a66 80a3694: 20020124 .word 0x20020124 80a3698: 08167a1c .word 0x08167a1c 80a369c: 08162c68 .word 0x08162c68 80a36a0: 42c80000 .word 0x42c80000 80a36a4: 51eb851f .word 0x51eb851f 80a36a8: cccccccd .word 0xcccccccd 80a36ac: 447a0000 .word 0x447a0000 if(f < 1000.0f) 80a36b0: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a36b4: ed1f 7a03 vldr s14, [pc, #-12] ; 80a36ac 80a36b8: eef4 7ac7 vcmpe.f32 s15, s14 80a36bc: eef1 fa10 vmrs APSR_nzcv, fpscr 80a36c0: f140 81d1 bpl.w 80a3a66 ik[ipr][0] = (uint8_t) (k / 1000); 80a36c4: 6d3a ldr r2, [r7, #80] ; 0x50 80a36c6: 6dbb ldr r3, [r7, #88] ; 0x58 80a36c8: 49cf ldr r1, [pc, #828] ; (80a3a08 ) 80a36ca: fba1 1303 umull r1, r3, r1, r3 80a36ce: 099b lsrs r3, r3, #6 80a36d0: b2d9 uxtb r1, r3 80a36d2: 4613 mov r3, r2 80a36d4: 009b lsls r3, r3, #2 80a36d6: 4413 add r3, r2 80a36d8: f107 0268 add.w r2, r7, #104 ; 0x68 80a36dc: 4413 add r3, r2 80a36de: 3b34 subs r3, #52 ; 0x34 80a36e0: 460a mov r2, r1 80a36e2: 701a strb r2, [r3, #0] ik[ipr][1] = (uint8_t) (k % 1000 / 100); 80a36e4: 6d39 ldr r1, [r7, #80] ; 0x50 80a36e6: 6dba ldr r2, [r7, #88] ; 0x58 80a36e8: 4bc7 ldr r3, [pc, #796] ; (80a3a08 ) 80a36ea: fba3 0302 umull r0, r3, r3, r2 80a36ee: 099b lsrs r3, r3, #6 80a36f0: f44f 707a mov.w r0, #1000 ; 0x3e8 80a36f4: fb00 f303 mul.w r3, r0, r3 80a36f8: 1ad3 subs r3, r2, r3 80a36fa: 4ac4 ldr r2, [pc, #784] ; (80a3a0c ) 80a36fc: fba2 2303 umull r2, r3, r2, r3 80a3700: 095b lsrs r3, r3, #5 80a3702: b2da uxtb r2, r3 80a3704: 460b mov r3, r1 80a3706: 009b lsls r3, r3, #2 80a3708: 440b add r3, r1 80a370a: f107 0168 add.w r1, r7, #104 ; 0x68 80a370e: 440b add r3, r1 80a3710: 3b33 subs r3, #51 ; 0x33 80a3712: 701a strb r2, [r3, #0] ik[ipr][2] = (uint8_t) (k % 1000 % 100 / 10); 80a3714: 6d39 ldr r1, [r7, #80] ; 0x50 80a3716: 6dba ldr r2, [r7, #88] ; 0x58 80a3718: 4bbb ldr r3, [pc, #748] ; (80a3a08 ) 80a371a: fba3 0302 umull r0, r3, r3, r2 80a371e: 099b lsrs r3, r3, #6 80a3720: f44f 707a mov.w r0, #1000 ; 0x3e8 80a3724: fb00 f303 mul.w r3, r0, r3 80a3728: 1ad3 subs r3, r2, r3 80a372a: 4ab8 ldr r2, [pc, #736] ; (80a3a0c ) 80a372c: fba2 0203 umull r0, r2, r2, r3 80a3730: 0952 lsrs r2, r2, #5 80a3732: 2064 movs r0, #100 ; 0x64 80a3734: fb00 f202 mul.w r2, r0, r2 80a3738: 1a9a subs r2, r3, r2 80a373a: 4bb5 ldr r3, [pc, #724] ; (80a3a10 ) 80a373c: fba3 2302 umull r2, r3, r3, r2 80a3740: 08db lsrs r3, r3, #3 80a3742: b2da uxtb r2, r3 80a3744: 460b mov r3, r1 80a3746: 009b lsls r3, r3, #2 80a3748: 440b add r3, r1 80a374a: f107 0168 add.w r1, r7, #104 ; 0x68 80a374e: 440b add r3, r1 80a3750: 3b32 subs r3, #50 ; 0x32 80a3752: 701a strb r2, [r3, #0] ik[ipr][3] = (uint8_t) (k % 1000 % 100 % 10); 80a3754: 6d38 ldr r0, [r7, #80] ; 0x50 80a3756: 6dba ldr r2, [r7, #88] ; 0x58 80a3758: 4bab ldr r3, [pc, #684] ; (80a3a08 ) 80a375a: fba3 1302 umull r1, r3, r3, r2 80a375e: 099b lsrs r3, r3, #6 80a3760: f44f 717a mov.w r1, #1000 ; 0x3e8 80a3764: fb01 f303 mul.w r3, r1, r3 80a3768: 1ad3 subs r3, r2, r3 80a376a: 4aa8 ldr r2, [pc, #672] ; (80a3a0c ) 80a376c: fba2 1203 umull r1, r2, r2, r3 80a3770: 0952 lsrs r2, r2, #5 80a3772: 2164 movs r1, #100 ; 0x64 80a3774: fb01 f202 mul.w r2, r1, r2 80a3778: 1a9a subs r2, r3, r2 80a377a: 4ba5 ldr r3, [pc, #660] ; (80a3a10 ) 80a377c: fba3 1302 umull r1, r3, r3, r2 80a3780: 08d9 lsrs r1, r3, #3 80a3782: 460b mov r3, r1 80a3784: 009b lsls r3, r3, #2 80a3786: 440b add r3, r1 80a3788: 005b lsls r3, r3, #1 80a378a: 1ad1 subs r1, r2, r3 80a378c: b2ca uxtb r2, r1 80a378e: 4603 mov r3, r0 80a3790: 009b lsls r3, r3, #2 80a3792: 4403 add r3, r0 80a3794: f107 0168 add.w r1, r7, #104 ; 0x68 80a3798: 440b add r3, r1 80a379a: 3b31 subs r3, #49 ; 0x31 80a379c: 701a strb r2, [r3, #0] if(ipr == ACC) 80a379e: 6d3b ldr r3, [r7, #80] ; 0x50 80a37a0: 2b00 cmp r3, #0 80a37a2: d157 bne.n 80a3854 DrawImage(NUMS[ik[ipr][3]], 110 + 30*4, 68+18); 80a37a4: 6d3a ldr r2, [r7, #80] ; 0x50 80a37a6: 4613 mov r3, r2 80a37a8: 009b lsls r3, r3, #2 80a37aa: 4413 add r3, r2 80a37ac: f107 0268 add.w r2, r7, #104 ; 0x68 80a37b0: 4413 add r3, r2 80a37b2: 3b31 subs r3, #49 ; 0x31 80a37b4: 781b ldrb r3, [r3, #0] 80a37b6: b2db uxtb r3, r3 80a37b8: 461a mov r2, r3 80a37ba: 4b96 ldr r3, [pc, #600] ; (80a3a14 ) 80a37bc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a37c0: 2256 movs r2, #86 ; 0x56 80a37c2: 21e6 movs r1, #230 ; 0xe6 80a37c4: 4618 mov r0, r3 80a37c6: f7b0 fee5 bl 8054594 DrawImage(&bmgpt, 95 + 30*4, 92+18); 80a37ca: 226e movs r2, #110 ; 0x6e 80a37cc: 21d7 movs r1, #215 ; 0xd7 80a37ce: 4892 ldr r0, [pc, #584] ; (80a3a18 ) 80a37d0: f7b0 fee0 bl 8054594 DrawImage(NUMS[ik[ipr][2]], 90 + 30*3, 68+18); 80a37d4: 6d3a ldr r2, [r7, #80] ; 0x50 80a37d6: 4613 mov r3, r2 80a37d8: 009b lsls r3, r3, #2 80a37da: 4413 add r3, r2 80a37dc: f107 0268 add.w r2, r7, #104 ; 0x68 80a37e0: 4413 add r3, r2 80a37e2: 3b32 subs r3, #50 ; 0x32 80a37e4: 781b ldrb r3, [r3, #0] 80a37e6: b2db uxtb r3, r3 80a37e8: 461a mov r2, r3 80a37ea: 4b8a ldr r3, [pc, #552] ; (80a3a14 ) 80a37ec: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a37f0: 2256 movs r2, #86 ; 0x56 80a37f2: 21b4 movs r1, #180 ; 0xb4 80a37f4: 4618 mov r0, r3 80a37f6: f7b0 fecd bl 8054594 DrawImage(NUMS[ik[ipr][1]], 90 + 30*2, 68+18); 80a37fa: 6d3a ldr r2, [r7, #80] ; 0x50 80a37fc: 4613 mov r3, r2 80a37fe: 009b lsls r3, r3, #2 80a3800: 4413 add r3, r2 80a3802: f107 0268 add.w r2, r7, #104 ; 0x68 80a3806: 4413 add r3, r2 80a3808: 3b33 subs r3, #51 ; 0x33 80a380a: 781b ldrb r3, [r3, #0] 80a380c: b2db uxtb r3, r3 80a380e: 461a mov r2, r3 80a3810: 4b80 ldr r3, [pc, #512] ; (80a3a14 ) 80a3812: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a3816: 2256 movs r2, #86 ; 0x56 80a3818: 2196 movs r1, #150 ; 0x96 80a381a: 4618 mov r0, r3 80a381c: f7b0 feba bl 8054594 DrawImage(NUMS[ik[ipr][0]], 90 + 30*1, 68+18); 80a3820: 6d3a ldr r2, [r7, #80] ; 0x50 80a3822: 4613 mov r3, r2 80a3824: 009b lsls r3, r3, #2 80a3826: 4413 add r3, r2 80a3828: f107 0268 add.w r2, r7, #104 ; 0x68 80a382c: 4413 add r3, r2 80a382e: 3b34 subs r3, #52 ; 0x34 80a3830: 781b ldrb r3, [r3, #0] 80a3832: b2db uxtb r3, r3 80a3834: 461a mov r2, r3 80a3836: 4b77 ldr r3, [pc, #476] ; (80a3a14 ) 80a3838: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a383c: 2256 movs r2, #86 ; 0x56 80a383e: 2178 movs r1, #120 ; 0x78 80a3840: 4618 mov r0, r3 80a3842: f7b0 fea7 bl 8054594 DrawImage(&bmg_dB, 265, 74+18); 80a3846: 225c movs r2, #92 ; 0x5c 80a3848: f240 1109 movw r1, #265 ; 0x109 80a384c: 4873 ldr r0, [pc, #460] ; (80a3a1c ) 80a384e: f7b0 fea1 bl 8054594 80a3852: e108 b.n 80a3a66 if(ipr == VEL) 80a3854: 6d3b ldr r3, [r7, #80] ; 0x50 80a3856: 2b01 cmp r3, #1 80a3858: d157 bne.n 80a390a DrawImage(NUMS[ik[ipr][3]], 110 + 30*4, 121+9); 80a385a: 6d3a ldr r2, [r7, #80] ; 0x50 80a385c: 4613 mov r3, r2 80a385e: 009b lsls r3, r3, #2 80a3860: 4413 add r3, r2 80a3862: f107 0268 add.w r2, r7, #104 ; 0x68 80a3866: 4413 add r3, r2 80a3868: 3b31 subs r3, #49 ; 0x31 80a386a: 781b ldrb r3, [r3, #0] 80a386c: b2db uxtb r3, r3 80a386e: 461a mov r2, r3 80a3870: 4b68 ldr r3, [pc, #416] ; (80a3a14 ) 80a3872: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a3876: 2282 movs r2, #130 ; 0x82 80a3878: 21e6 movs r1, #230 ; 0xe6 80a387a: 4618 mov r0, r3 80a387c: f7b0 fe8a bl 8054594 DrawImage(&bmgpt, 95 + 30*4, 145+9); 80a3880: 229a movs r2, #154 ; 0x9a 80a3882: 21d7 movs r1, #215 ; 0xd7 80a3884: 4864 ldr r0, [pc, #400] ; (80a3a18 ) 80a3886: f7b0 fe85 bl 8054594 DrawImage(NUMS[ik[ipr][2]], 90 + 30*3, 121+9); 80a388a: 6d3a ldr r2, [r7, #80] ; 0x50 80a388c: 4613 mov r3, r2 80a388e: 009b lsls r3, r3, #2 80a3890: 4413 add r3, r2 80a3892: f107 0268 add.w r2, r7, #104 ; 0x68 80a3896: 4413 add r3, r2 80a3898: 3b32 subs r3, #50 ; 0x32 80a389a: 781b ldrb r3, [r3, #0] 80a389c: b2db uxtb r3, r3 80a389e: 461a mov r2, r3 80a38a0: 4b5c ldr r3, [pc, #368] ; (80a3a14 ) 80a38a2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a38a6: 2282 movs r2, #130 ; 0x82 80a38a8: 21b4 movs r1, #180 ; 0xb4 80a38aa: 4618 mov r0, r3 80a38ac: f7b0 fe72 bl 8054594 DrawImage(NUMS[ik[ipr][1]], 90 + 30*2, 121+9); 80a38b0: 6d3a ldr r2, [r7, #80] ; 0x50 80a38b2: 4613 mov r3, r2 80a38b4: 009b lsls r3, r3, #2 80a38b6: 4413 add r3, r2 80a38b8: f107 0268 add.w r2, r7, #104 ; 0x68 80a38bc: 4413 add r3, r2 80a38be: 3b33 subs r3, #51 ; 0x33 80a38c0: 781b ldrb r3, [r3, #0] 80a38c2: b2db uxtb r3, r3 80a38c4: 461a mov r2, r3 80a38c6: 4b53 ldr r3, [pc, #332] ; (80a3a14 ) 80a38c8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a38cc: 2282 movs r2, #130 ; 0x82 80a38ce: 2196 movs r1, #150 ; 0x96 80a38d0: 4618 mov r0, r3 80a38d2: f7b0 fe5f bl 8054594 DrawImage(NUMS[ik[ipr][0]], 90 + 30*1, 121+9); 80a38d6: 6d3a ldr r2, [r7, #80] ; 0x50 80a38d8: 4613 mov r3, r2 80a38da: 009b lsls r3, r3, #2 80a38dc: 4413 add r3, r2 80a38de: f107 0268 add.w r2, r7, #104 ; 0x68 80a38e2: 4413 add r3, r2 80a38e4: 3b34 subs r3, #52 ; 0x34 80a38e6: 781b ldrb r3, [r3, #0] 80a38e8: b2db uxtb r3, r3 80a38ea: 461a mov r2, r3 80a38ec: 4b49 ldr r3, [pc, #292] ; (80a3a14 ) 80a38ee: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a38f2: 2282 movs r2, #130 ; 0x82 80a38f4: 2178 movs r1, #120 ; 0x78 80a38f6: 4618 mov r0, r3 80a38f8: f7b0 fe4c bl 8054594 DrawImage(&bmg_dB, 265, 128+9); 80a38fc: 2289 movs r2, #137 ; 0x89 80a38fe: f240 1109 movw r1, #265 ; 0x109 80a3902: 4846 ldr r0, [pc, #280] ; (80a3a1c ) 80a3904: f7b0 fe46 bl 8054594 80a3908: e0ad b.n 80a3a66 if(ipr == DIS) 80a390a: 6d3b ldr r3, [r7, #80] ; 0x50 80a390c: 2b02 cmp r3, #2 80a390e: f040 80aa bne.w 80a3a66 DrawImage(NUMS[ik[ipr][3]], 110 + 30*4, 174); 80a3912: 6d3a ldr r2, [r7, #80] ; 0x50 80a3914: 4613 mov r3, r2 80a3916: 009b lsls r3, r3, #2 80a3918: 4413 add r3, r2 80a391a: f107 0268 add.w r2, r7, #104 ; 0x68 80a391e: 4413 add r3, r2 80a3920: 3b31 subs r3, #49 ; 0x31 80a3922: 781b ldrb r3, [r3, #0] 80a3924: b2db uxtb r3, r3 80a3926: 461a mov r2, r3 80a3928: 4b3a ldr r3, [pc, #232] ; (80a3a14 ) 80a392a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a392e: 22ae movs r2, #174 ; 0xae 80a3930: 21e6 movs r1, #230 ; 0xe6 80a3932: 4618 mov r0, r3 80a3934: f7b0 fe2e bl 8054594 DrawImage(&bmgpt, 95 + 30*4, 198); 80a3938: 22c6 movs r2, #198 ; 0xc6 80a393a: 21d7 movs r1, #215 ; 0xd7 80a393c: 4836 ldr r0, [pc, #216] ; (80a3a18 ) 80a393e: f7b0 fe29 bl 8054594 DrawImage(NUMS[ik[ipr][2]], 90 + 30*3, 174); 80a3942: 6d3a ldr r2, [r7, #80] ; 0x50 80a3944: 4613 mov r3, r2 80a3946: 009b lsls r3, r3, #2 80a3948: 4413 add r3, r2 80a394a: f107 0268 add.w r2, r7, #104 ; 0x68 80a394e: 4413 add r3, r2 80a3950: 3b32 subs r3, #50 ; 0x32 80a3952: 781b ldrb r3, [r3, #0] 80a3954: b2db uxtb r3, r3 80a3956: 461a mov r2, r3 80a3958: 4b2e ldr r3, [pc, #184] ; (80a3a14 ) 80a395a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a395e: 22ae movs r2, #174 ; 0xae 80a3960: 21b4 movs r1, #180 ; 0xb4 80a3962: 4618 mov r0, r3 80a3964: f7b0 fe16 bl 8054594 DrawImage(NUMS[ik[ipr][1]], 90 + 30*2, 174); 80a3968: 6d3a ldr r2, [r7, #80] ; 0x50 80a396a: 4613 mov r3, r2 80a396c: 009b lsls r3, r3, #2 80a396e: 4413 add r3, r2 80a3970: f107 0268 add.w r2, r7, #104 ; 0x68 80a3974: 4413 add r3, r2 80a3976: 3b33 subs r3, #51 ; 0x33 80a3978: 781b ldrb r3, [r3, #0] 80a397a: b2db uxtb r3, r3 80a397c: 461a mov r2, r3 80a397e: 4b25 ldr r3, [pc, #148] ; (80a3a14 ) 80a3980: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a3984: 22ae movs r2, #174 ; 0xae 80a3986: 2196 movs r1, #150 ; 0x96 80a3988: 4618 mov r0, r3 80a398a: f7b0 fe03 bl 8054594 DrawImage(NUMS[ik[ipr][0]], 90 + 30*1, 174); 80a398e: 6d3a ldr r2, [r7, #80] ; 0x50 80a3990: 4613 mov r3, r2 80a3992: 009b lsls r3, r3, #2 80a3994: 4413 add r3, r2 80a3996: f107 0268 add.w r2, r7, #104 ; 0x68 80a399a: 4413 add r3, r2 80a399c: 3b34 subs r3, #52 ; 0x34 80a399e: 781b ldrb r3, [r3, #0] 80a39a0: b2db uxtb r3, r3 80a39a2: 461a mov r2, r3 80a39a4: 4b1b ldr r3, [pc, #108] ; (80a3a14 ) 80a39a6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a39aa: 22ae movs r2, #174 ; 0xae 80a39ac: 2178 movs r1, #120 ; 0x78 80a39ae: 4618 mov r0, r3 80a39b0: f7b0 fdf0 bl 8054594 DrawImage(&bmg_dB, 265, 180); 80a39b4: 22b4 movs r2, #180 ; 0xb4 80a39b6: f240 1109 movw r1, #265 ; 0x109 80a39ba: 4818 ldr r0, [pc, #96] ; (80a3a1c ) 80a39bc: f7b0 fdea bl 8054594 80a39c0: e051 b.n 80a3a66 if(skz[ACC] != -1.0f) 80a39c2: 4b17 ldr r3, [pc, #92] ; (80a3a20 ) 80a39c4: edd3 7a00 vldr s15, [r3] 80a39c8: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 80a39cc: eef4 7a47 vcmp.f32 s15, s14 80a39d0: eef1 fa10 vmrs APSR_nzcv, fpscr 80a39d4: d047 beq.n 80a3a66 if(ipr == VEL) 80a39d6: 6d3b ldr r3, [r7, #80] ; 0x50 80a39d8: 2b01 cmp r3, #1 80a39da: d12d bne.n 80a3a38 LCD_SetColors(LCD_COLOR_NUMGREEN, LCD_COLOR_BLACK); 80a39dc: 4911 ldr r1, [pc, #68] ; (80a3a24 ) 80a39de: 4812 ldr r0, [pc, #72] ; (80a3a28 ) 80a39e0: f7af fee4 bl 80537ac if(pardata.LANG == RUS) 80a39e4: 4b11 ldr r3, [pc, #68] ; (80a3a2c ) 80a39e6: 7b1b ldrb r3, [r3, #12] 80a39e8: b2db uxtb r3, r3 80a39ea: 2b00 cmp r3, #0 80a39ec: d105 bne.n 80a39fa LCD_DisplayStringC(167, 135, "ÍÅÒ ÄÀÍÍÛÕ"); 80a39ee: 4a10 ldr r2, [pc, #64] ; (80a3a30 ) 80a39f0: 2187 movs r1, #135 ; 0x87 80a39f2: 20a7 movs r0, #167 ; 0xa7 80a39f4: f7b0 fc9a bl 805432c 80a39f8: e035 b.n 80a3a66 else LCD_DisplayStringC(167, 135, "NO DATA"); 80a39fa: 4a0e ldr r2, [pc, #56] ; (80a3a34 ) 80a39fc: 2187 movs r1, #135 ; 0x87 80a39fe: 20a7 movs r0, #167 ; 0xa7 80a3a00: f7b0 fc94 bl 805432c 80a3a04: e02f b.n 80a3a66 80a3a06: bf00 nop 80a3a08: 10624dd3 .word 0x10624dd3 80a3a0c: 51eb851f .word 0x51eb851f 80a3a10: cccccccd .word 0xcccccccd 80a3a14: 20020124 .word 0x20020124 80a3a18: 08167a1c .word 0x08167a1c 80a3a1c: 08162c68 .word 0x08162c68 80a3a20: 20021540 .word 0x20021540 80a3a24: ff0a0f1f .word 0xff0a0f1f 80a3a28: ffb8e828 .word 0xffb8e828 80a3a2c: 20023e60 .word 0x20023e60 80a3a30: 080cfaf4 .word 0x080cfaf4 80a3a34: 080cfb00 .word 0x080cfb00 if(ipr == DIS) 80a3a38: 6d3b ldr r3, [r7, #80] ; 0x50 80a3a3a: 2b02 cmp r3, #2 80a3a3c: d113 bne.n 80a3a66 LCD_SetColors(LCD_COLOR_NUMGREEN, LCD_COLOR_BLACK); 80a3a3e: 4913 ldr r1, [pc, #76] ; (80a3a8c ) 80a3a40: 4813 ldr r0, [pc, #76] ; (80a3a90 ) 80a3a42: f7af feb3 bl 80537ac if(pardata.LANG == RUS) 80a3a46: 4b13 ldr r3, [pc, #76] ; (80a3a94 ) 80a3a48: 7b1b ldrb r3, [r3, #12] 80a3a4a: b2db uxtb r3, r3 80a3a4c: 2b00 cmp r3, #0 80a3a4e: d105 bne.n 80a3a5c LCD_DisplayStringC(167, 185, "ÍÅÒ ÄÀÍÍÛÕ"); 80a3a50: 4a11 ldr r2, [pc, #68] ; (80a3a98 ) 80a3a52: 21b9 movs r1, #185 ; 0xb9 80a3a54: 20a7 movs r0, #167 ; 0xa7 80a3a56: f7b0 fc69 bl 805432c 80a3a5a: e004 b.n 80a3a66 else LCD_DisplayStringC(167, 185, "NO DATA"); 80a3a5c: 4a0f ldr r2, [pc, #60] ; (80a3a9c ) 80a3a5e: 21b9 movs r1, #185 ; 0xb9 80a3a60: 20a7 movs r0, #167 ; 0xa7 80a3a62: f7b0 fc63 bl 805432c for(ipr = ACC; ipr <= DIS; ipr++) 80a3a66: 6d3b ldr r3, [r7, #80] ; 0x50 80a3a68: 3301 adds r3, #1 80a3a6a: 653b str r3, [r7, #80] ; 0x50 80a3a6c: 6d3b ldr r3, [r7, #80] ; 0x50 80a3a6e: 2b02 cmp r3, #2 80a3a70: f67e ae0c bls.w 80a268c break; 80a3a74: e004 b.n 80a3a80 80a3a76: e003 b.n 80a3a80 break; 80a3a78: bf00 nop 80a3a7a: e002 b.n 80a3a82 break; 80a3a7c: bf00 nop 80a3a7e: e000 b.n 80a3a82 break; 80a3a80: bf00 nop } 80a3a82: bf00 nop 80a3a84: 3768 adds r7, #104 ; 0x68 80a3a86: 46bd mov sp, r7 80a3a88: bd80 pop {r7, pc} 80a3a8a: bf00 nop 80a3a8c: ff0a0f1f .word 0xff0a0f1f 80a3a90: ffb8e828 .word 0xffb8e828 80a3a94: 20023e60 .word 0x20023e60 80a3a98: 080cfaf4 .word 0x080cfaf4 80a3a9c: 080cfb00 .word 0x080cfb00 080a3aa0 : void DrawCursorData(void) //TODO { 80a3aa0: b590 push {r4, r7, lr} 80a3aa2: b09d sub sp, #116 ; 0x74 80a3aa4: af00 add r7, sp, #0 //uint64_t cur; char str[60]; #ifdef SMALL_NUMS_GRAF BSP_LCD_SetFont(&Font8); 80a3aa6: 48bc ldr r0, [pc, #752] ; (80a3d98 ) 80a3aa8: f7af febc bl 8053824 if(menu == MAIN_SYGNAL) 80a3aac: 4bbb ldr r3, [pc, #748] ; (80a3d9c ) 80a3aae: 781b ldrb r3, [r3, #0] 80a3ab0: b2db uxtb r3, r3 80a3ab2: 2b20 cmp r3, #32 80a3ab4: f040 82b2 bne.w 80a401c { if(menupos == Cursor) 80a3ab8: 4bb9 ldr r3, [pc, #740] ; (80a3da0 ) 80a3aba: 781b ldrb r3, [r3, #0] 80a3abc: b2db uxtb r3, r3 80a3abe: 2b06 cmp r3, #6 80a3ac0: d105 bne.n 80a3ace LCD_SetColors(LCD_COLOR_RED, 0xFF000000); 80a3ac2: f04f 417f mov.w r1, #4278190080 ; 0xff000000 80a3ac6: 48b7 ldr r0, [pc, #732] ; (80a3da4 ) 80a3ac8: f7af fe70 bl 80537ac 80a3acc: e004 b.n 80a3ad8 else LCD_SetColors(LCD_COLOR_GRAY, 0xFF000000); 80a3ace: f04f 417f mov.w r1, #4278190080 ; 0xff000000 80a3ad2: 48b5 ldr r0, [pc, #724] ; (80a3da8 ) 80a3ad4: f7af fe6a bl 80537ac delta = PlayingState.FrameSize / 256; 80a3ad8: 4bb4 ldr r3, [pc, #720] ; (80a3dac ) 80a3ada: 689b ldr r3, [r3, #8] 80a3adc: 0a1b lsrs r3, r3, #8 80a3ade: 66fb str r3, [r7, #108] ; 0x6c pos = CURSOR * delta; 80a3ae0: 4bb3 ldr r3, [pc, #716] ; (80a3db0 ) 80a3ae2: 681b ldr r3, [r3, #0] 80a3ae4: 6efa ldr r2, [r7, #108] ; 0x6c 80a3ae6: fb02 f303 mul.w r3, r2, r3 80a3aea: 66bb str r3, [r7, #104] ; 0x68 arm_max_f32(&ScrA_f32(pos), delta, &maxf, &n2); 80a3aec: 6ebb ldr r3, [r7, #104] ; 0x68 80a3aee: 009a lsls r2, r3, #2 80a3af0: 4bb0 ldr r3, [pc, #704] ; (80a3db4 ) 80a3af2: 4413 add r3, r2 80a3af4: 4618 mov r0, r3 80a3af6: f107 034c add.w r3, r7, #76 ; 0x4c 80a3afa: f107 0244 add.w r2, r7, #68 ; 0x44 80a3afe: 6ef9 ldr r1, [r7, #108] ; 0x6c 80a3b00: f026 fadc bl 80ca0bc arm_min_f32(&ScrA_f32(pos), delta, &minf, &n1); 80a3b04: 6ebb ldr r3, [r7, #104] ; 0x68 80a3b06: 009a lsls r2, r3, #2 80a3b08: 4baa ldr r3, [pc, #680] ; (80a3db4 ) 80a3b0a: 4413 add r3, r2 80a3b0c: 4618 mov r0, r3 80a3b0e: f107 0350 add.w r3, r7, #80 ; 0x50 80a3b12: f107 0248 add.w r2, r7, #72 ; 0x48 80a3b16: 6ef9 ldr r1, [r7, #108] ; 0x6c 80a3b18: f026 fa34 bl 80c9f84 if((maxf > 0) && (minf < 0)) 80a3b1c: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a3b20: eef5 7ac0 vcmpe.f32 s15, #0.0 80a3b24: eef1 fa10 vmrs APSR_nzcv, fpscr 80a3b28: dd33 ble.n 80a3b92 80a3b2a: edd7 7a12 vldr s15, [r7, #72] ; 0x48 80a3b2e: eef5 7ac0 vcmpe.f32 s15, #0.0 80a3b32: eef1 fa10 vmrs APSR_nzcv, fpscr 80a3b36: d52c bpl.n 80a3b92 { if(ABS(maxf) < ABS(minf)) 80a3b38: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a3b3c: eef5 7ac0 vcmpe.f32 s15, #0.0 80a3b40: eef1 fa10 vmrs APSR_nzcv, fpscr 80a3b44: dd02 ble.n 80a3b4c 80a3b46: ed97 7a11 vldr s14, [r7, #68] ; 0x44 80a3b4a: e003 b.n 80a3b54 80a3b4c: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a3b50: eeb1 7a67 vneg.f32 s14, s15 80a3b54: edd7 7a12 vldr s15, [r7, #72] ; 0x48 80a3b58: eef5 7ac0 vcmpe.f32 s15, #0.0 80a3b5c: eef1 fa10 vmrs APSR_nzcv, fpscr 80a3b60: dd02 ble.n 80a3b68 80a3b62: edd7 7a12 vldr s15, [r7, #72] ; 0x48 80a3b66: e003 b.n 80a3b70 80a3b68: edd7 7a12 vldr s15, [r7, #72] ; 0x48 80a3b6c: eef1 7a67 vneg.f32 s15, s15 80a3b70: eeb4 7ae7 vcmpe.f32 s14, s15 80a3b74: eef1 fa10 vmrs APSR_nzcv, fpscr 80a3b78: d505 bpl.n 80a3b86 { CurVal = minf; 80a3b7a: 6cbb ldr r3, [r7, #72] ; 0x48 80a3b7c: 4a8e ldr r2, [pc, #568] ; (80a3db8 ) 80a3b7e: 6013 str r3, [r2, #0] l = n1; 80a3b80: 6d3b ldr r3, [r7, #80] ; 0x50 80a3b82: 657b str r3, [r7, #84] ; 0x54 if(ABS(maxf) < ABS(minf)) 80a3b84: e054 b.n 80a3c30 } else { CurVal = maxf; 80a3b86: 6c7b ldr r3, [r7, #68] ; 0x44 80a3b88: 4a8b ldr r2, [pc, #556] ; (80a3db8 ) 80a3b8a: 6013 str r3, [r2, #0] l = n2; 80a3b8c: 6cfb ldr r3, [r7, #76] ; 0x4c 80a3b8e: 657b str r3, [r7, #84] ; 0x54 if(ABS(maxf) < ABS(minf)) 80a3b90: e04e b.n 80a3c30 } } else if((maxf > 0) && (minf > 0)) 80a3b92: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a3b96: eef5 7ac0 vcmpe.f32 s15, #0.0 80a3b9a: eef1 fa10 vmrs APSR_nzcv, fpscr 80a3b9e: dd0c ble.n 80a3bba 80a3ba0: edd7 7a12 vldr s15, [r7, #72] ; 0x48 80a3ba4: eef5 7ac0 vcmpe.f32 s15, #0.0 80a3ba8: eef1 fa10 vmrs APSR_nzcv, fpscr 80a3bac: dd05 ble.n 80a3bba { CurVal = maxf; 80a3bae: 6c7b ldr r3, [r7, #68] ; 0x44 80a3bb0: 4a81 ldr r2, [pc, #516] ; (80a3db8 ) 80a3bb2: 6013 str r3, [r2, #0] l = n2; 80a3bb4: 6cfb ldr r3, [r7, #76] ; 0x4c 80a3bb6: 657b str r3, [r7, #84] ; 0x54 80a3bb8: e03a b.n 80a3c30 } else if((maxf < 0) && (minf < 0)) 80a3bba: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a3bbe: eef5 7ac0 vcmpe.f32 s15, #0.0 80a3bc2: eef1 fa10 vmrs APSR_nzcv, fpscr 80a3bc6: d50c bpl.n 80a3be2 80a3bc8: edd7 7a12 vldr s15, [r7, #72] ; 0x48 80a3bcc: eef5 7ac0 vcmpe.f32 s15, #0.0 80a3bd0: eef1 fa10 vmrs APSR_nzcv, fpscr 80a3bd4: d505 bpl.n 80a3be2 { CurVal = minf; 80a3bd6: 6cbb ldr r3, [r7, #72] ; 0x48 80a3bd8: 4a77 ldr r2, [pc, #476] ; (80a3db8 ) 80a3bda: 6013 str r3, [r2, #0] l = n1; 80a3bdc: 6d3b ldr r3, [r7, #80] ; 0x50 80a3bde: 657b str r3, [r7, #84] ; 0x54 80a3be0: e026 b.n 80a3c30 } else if((maxf >= 0) && (minf == 0)) 80a3be2: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a3be6: eef5 7ac0 vcmpe.f32 s15, #0.0 80a3bea: eef1 fa10 vmrs APSR_nzcv, fpscr 80a3bee: db0c blt.n 80a3c0a 80a3bf0: edd7 7a12 vldr s15, [r7, #72] ; 0x48 80a3bf4: eef5 7a40 vcmp.f32 s15, #0.0 80a3bf8: eef1 fa10 vmrs APSR_nzcv, fpscr 80a3bfc: d105 bne.n 80a3c0a { CurVal = maxf; 80a3bfe: 6c7b ldr r3, [r7, #68] ; 0x44 80a3c00: 4a6d ldr r2, [pc, #436] ; (80a3db8 ) 80a3c02: 6013 str r3, [r2, #0] l = n2; 80a3c04: 6cfb ldr r3, [r7, #76] ; 0x4c 80a3c06: 657b str r3, [r7, #84] ; 0x54 80a3c08: e012 b.n 80a3c30 } else if((maxf == 0) && (minf <= 0)) 80a3c0a: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a3c0e: eef5 7a40 vcmp.f32 s15, #0.0 80a3c12: eef1 fa10 vmrs APSR_nzcv, fpscr 80a3c16: d10b bne.n 80a3c30 80a3c18: edd7 7a12 vldr s15, [r7, #72] ; 0x48 80a3c1c: eef5 7ac0 vcmpe.f32 s15, #0.0 80a3c20: eef1 fa10 vmrs APSR_nzcv, fpscr 80a3c24: d804 bhi.n 80a3c30 { CurVal = minf; 80a3c26: 6cbb ldr r3, [r7, #72] ; 0x48 80a3c28: 4a63 ldr r2, [pc, #396] ; (80a3db8 ) 80a3c2a: 6013 str r3, [r2, #0] l = n1; 80a3c2c: 6d3b ldr r3, [r7, #80] ; 0x50 80a3c2e: 657b str r3, [r7, #84] ; 0x54 } fineMpos = Mpos + l; 80a3c30: 6d7b ldr r3, [r7, #84] ; 0x54 80a3c32: b29a uxth r2, r3 80a3c34: 4b61 ldr r3, [pc, #388] ; (80a3dbc ) 80a3c36: 881b ldrh r3, [r3, #0] 80a3c38: b29b uxth r3, r3 80a3c3a: 4413 add r3, r2 80a3c3c: b29a uxth r2, r3 80a3c3e: 4b60 ldr r3, [pc, #384] ; (80a3dc0 ) 80a3c40: 801a strh r2, [r3, #0] Val = CurVal; 80a3c42: 4b5d ldr r3, [pc, #372] ; (80a3db8 ) 80a3c44: 681b ldr r3, [r3, #0] 80a3c46: 643b str r3, [r7, #64] ; 0x40 LCD_SetColors(LCD_COLOR_MYGREEN, 0xFF000000); 80a3c48: f04f 417f mov.w r1, #4278190080 ; 0xff000000 80a3c4c: 485d ldr r0, [pc, #372] ; (80a3dc4 ) 80a3c4e: f7af fdad bl 80537ac if(ABS(Val) >= 1000.0f) 80a3c52: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a3c56: eef5 7ac0 vcmpe.f32 s15, #0.0 80a3c5a: eef1 fa10 vmrs APSR_nzcv, fpscr 80a3c5e: dd0c ble.n 80a3c7a 80a3c60: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a3c64: ed9f 7a58 vldr s14, [pc, #352] ; 80a3dc8 80a3c68: eef4 7ac7 vcmpe.f32 s15, s14 80a3c6c: eef1 fa10 vmrs APSR_nzcv, fpscr 80a3c70: bfac ite ge 80a3c72: 2301 movge r3, #1 80a3c74: 2300 movlt r3, #0 80a3c76: b2db uxtb r3, r3 80a3c78: e00b b.n 80a3c92 80a3c7a: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a3c7e: ed9f 7a53 vldr s14, [pc, #332] ; 80a3dcc 80a3c82: eef4 7ac7 vcmpe.f32 s15, s14 80a3c86: eef1 fa10 vmrs APSR_nzcv, fpscr 80a3c8a: bf94 ite ls 80a3c8c: 2301 movls r3, #1 80a3c8e: 2300 movhi r3, #0 80a3c90: b2db uxtb r3, r3 80a3c92: 2b00 cmp r3, #0 80a3c94: d028 beq.n 80a3ce8 { Val *= 0.001f; 80a3c96: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a3c9a: ed9f 7a4d vldr s14, [pc, #308] ; 80a3dd0 80a3c9e: ee67 7a87 vmul.f32 s15, s15, s14 80a3ca2: edc7 7a10 vstr s15, [r7, #64] ; 0x40 if(pardata.LANG == RUS) 80a3ca6: 4b4b ldr r3, [pc, #300] ; (80a3dd4 ) 80a3ca8: 7b1b ldrb r3, [r3, #12] 80a3caa: b2db uxtb r3, r3 80a3cac: 2b00 cmp r3, #0 80a3cae: d106 bne.n 80a3cbe BSP_LCD_DisplayStringAt(220, 45, "k&/c^", LEFT_MODE); 80a3cb0: 2303 movs r3, #3 80a3cb2: 4a49 ldr r2, [pc, #292] ; (80a3dd8 ) 80a3cb4: 212d movs r1, #45 ; 0x2d 80a3cb6: 20dc movs r0, #220 ; 0xdc 80a3cb8: f7af fe3e bl 8053938 80a3cbc: e005 b.n 80a3cca else BSP_LCD_DisplayStringAt(220, 45, "km/c^", LEFT_MODE); 80a3cbe: 2303 movs r3, #3 80a3cc0: 4a46 ldr r2, [pc, #280] ; (80a3ddc ) 80a3cc2: 212d movs r1, #45 ; 0x2d 80a3cc4: 20dc movs r0, #220 ; 0xdc 80a3cc6: f7af fe37 bl 8053938 BSP_LCD_DisplayStringAt(220-3, 45, (char *)FloatToASCII(Val, -3), RIGHT_MODE); 80a3cca: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a3cce: f06f 0002 mvn.w r0, #2 80a3cd2: eeb0 0a67 vmov.f32 s0, s15 80a3cd6: f7c2 fd13 bl 8066700 80a3cda: 4602 mov r2, r0 80a3cdc: 2302 movs r3, #2 80a3cde: 212d movs r1, #45 ; 0x2d 80a3ce0: 20d9 movs r0, #217 ; 0xd9 80a3ce2: f7af fe29 bl 8053938 80a3ce6: e099 b.n 80a3e1c } else if(ABS(Val) >= 0.1f) 80a3ce8: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a3cec: eef5 7ac0 vcmpe.f32 s15, #0.0 80a3cf0: eef1 fa10 vmrs APSR_nzcv, fpscr 80a3cf4: dd0c ble.n 80a3d10 80a3cf6: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a3cfa: ed9f 7a39 vldr s14, [pc, #228] ; 80a3de0 80a3cfe: eef4 7ac7 vcmpe.f32 s15, s14 80a3d02: eef1 fa10 vmrs APSR_nzcv, fpscr 80a3d06: bfac ite ge 80a3d08: 2301 movge r3, #1 80a3d0a: 2300 movlt r3, #0 80a3d0c: b2db uxtb r3, r3 80a3d0e: e00b b.n 80a3d28 80a3d10: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a3d14: ed9f 7a33 vldr s14, [pc, #204] ; 80a3de4 80a3d18: eef4 7ac7 vcmpe.f32 s15, s14 80a3d1c: eef1 fa10 vmrs APSR_nzcv, fpscr 80a3d20: bf94 ite ls 80a3d22: 2301 movls r3, #1 80a3d24: 2300 movhi r3, #0 80a3d26: b2db uxtb r3, r3 80a3d28: 2b00 cmp r3, #0 80a3d2a: d020 beq.n 80a3d6e { if(pardata.LANG == RUS) 80a3d2c: 4b29 ldr r3, [pc, #164] ; (80a3dd4 ) 80a3d2e: 7b1b ldrb r3, [r3, #12] 80a3d30: b2db uxtb r3, r3 80a3d32: 2b00 cmp r3, #0 80a3d34: d106 bne.n 80a3d44 BSP_LCD_DisplayStringAt(220, 45, "&/c^", LEFT_MODE); 80a3d36: 2303 movs r3, #3 80a3d38: 4a2b ldr r2, [pc, #172] ; (80a3de8 ) 80a3d3a: 212d movs r1, #45 ; 0x2d 80a3d3c: 20dc movs r0, #220 ; 0xdc 80a3d3e: f7af fdfb bl 8053938 80a3d42: e005 b.n 80a3d50 else BSP_LCD_DisplayStringAt(220, 45, "m/c^", LEFT_MODE); 80a3d44: 2303 movs r3, #3 80a3d46: 4a29 ldr r2, [pc, #164] ; (80a3dec ) 80a3d48: 212d movs r1, #45 ; 0x2d 80a3d4a: 20dc movs r0, #220 ; 0xdc 80a3d4c: f7af fdf4 bl 8053938 BSP_LCD_DisplayStringAt(220-3, 45, (char *)FloatToASCII(Val, -3), RIGHT_MODE); 80a3d50: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a3d54: f06f 0002 mvn.w r0, #2 80a3d58: eeb0 0a67 vmov.f32 s0, s15 80a3d5c: f7c2 fcd0 bl 8066700 80a3d60: 4602 mov r2, r0 80a3d62: 2302 movs r3, #2 80a3d64: 212d movs r1, #45 ; 0x2d 80a3d66: 20d9 movs r0, #217 ; 0xd9 80a3d68: f7af fde6 bl 8053938 80a3d6c: e056 b.n 80a3e1c } else { Val *= 1000.0f; 80a3d6e: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a3d72: ed9f 7a15 vldr s14, [pc, #84] ; 80a3dc8 80a3d76: ee67 7a87 vmul.f32 s15, s15, s14 80a3d7a: edc7 7a10 vstr s15, [r7, #64] ; 0x40 if(pardata.LANG == RUS) 80a3d7e: 4b15 ldr r3, [pc, #84] ; (80a3dd4 ) 80a3d80: 7b1b ldrb r3, [r3, #12] 80a3d82: b2db uxtb r3, r3 80a3d84: 2b00 cmp r3, #0 80a3d86: d135 bne.n 80a3df4 BSP_LCD_DisplayStringAt(220, 45, "&&/c^", LEFT_MODE); 80a3d88: 2303 movs r3, #3 80a3d8a: 4a19 ldr r2, [pc, #100] ; (80a3df0 ) 80a3d8c: 212d movs r1, #45 ; 0x2d 80a3d8e: 20dc movs r0, #220 ; 0xdc 80a3d90: f7af fdd2 bl 8053938 80a3d94: e034 b.n 80a3e00 80a3d96: bf00 nop 80a3d98: 20020060 .word 0x20020060 80a3d9c: 20020f78 .word 0x20020f78 80a3da0: 20020070 .word 0x20020070 80a3da4: ffff0000 .word 0xffff0000 80a3da8: ff808080 .word 0xff808080 80a3dac: 200228d8 .word 0x200228d8 80a3db0: 2002006c .word 0x2002006c 80a3db4: 64080000 .word 0x64080000 80a3db8: 2002156c .word 0x2002156c 80a3dbc: 20025d16 .word 0x20025d16 80a3dc0: 20025d1c .word 0x20025d1c 80a3dc4: ff26a01f .word 0xff26a01f 80a3dc8: 447a0000 .word 0x447a0000 80a3dcc: c47a0000 .word 0xc47a0000 80a3dd0: 3a83126f .word 0x3a83126f 80a3dd4: 20023e60 .word 0x20023e60 80a3dd8: 080d0a40 .word 0x080d0a40 80a3ddc: 080d0a48 .word 0x080d0a48 80a3de0: 3dcccccd .word 0x3dcccccd 80a3de4: bdcccccd .word 0xbdcccccd 80a3de8: 080d0a50 .word 0x080d0a50 80a3dec: 080d0a58 .word 0x080d0a58 80a3df0: 080d0a60 .word 0x080d0a60 else BSP_LCD_DisplayStringAt(220, 45, "mm/c^", LEFT_MODE); 80a3df4: 2303 movs r3, #3 80a3df6: 4a7a ldr r2, [pc, #488] ; (80a3fe0 ) 80a3df8: 212d movs r1, #45 ; 0x2d 80a3dfa: 20dc movs r0, #220 ; 0xdc 80a3dfc: f7af fd9c bl 8053938 BSP_LCD_DisplayStringAt(220-3, 45, (char *)FloatToASCII(Val, -3), RIGHT_MODE); 80a3e00: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a3e04: f06f 0002 mvn.w r0, #2 80a3e08: eeb0 0a67 vmov.f32 s0, s15 80a3e0c: f7c2 fc78 bl 8066700 80a3e10: 4602 mov r2, r0 80a3e12: 2302 movs r3, #2 80a3e14: 212d movs r1, #45 ; 0x2d 80a3e16: 20d9 movs r0, #217 ; 0xd9 80a3e18: f7af fd8e bl 8053938 } //************************************************************************************************************** step = PlayingState.FrameSize >> 8; 80a3e1c: 4b71 ldr r3, [pc, #452] ; (80a3fe4 ) 80a3e1e: 689b ldr r3, [r3, #8] 80a3e20: 0a1b lsrs r3, r3, #8 80a3e22: 667b str r3, [r7, #100] ; 0x64 dt = (PlayingState.TimeLength / (float32_t) PlayingState.NumFrames) / ((float32_t) PlayingState.FrameSize); 80a3e24: 4b6f ldr r3, [pc, #444] ; (80a3fe4 ) 80a3e26: ed93 7a07 vldr s14, [r3, #28] 80a3e2a: 4b6e ldr r3, [pc, #440] ; (80a3fe4 ) 80a3e2c: 685b ldr r3, [r3, #4] 80a3e2e: ee07 3a90 vmov s15, r3 80a3e32: eef8 7a67 vcvt.f32.u32 s15, s15 80a3e36: eec7 6a27 vdiv.f32 s13, s14, s15 80a3e3a: 4b6a ldr r3, [pc, #424] ; (80a3fe4 ) 80a3e3c: 689b ldr r3, [r3, #8] 80a3e3e: ee07 3a90 vmov s15, r3 80a3e42: eeb8 7a67 vcvt.f32.u32 s14, s15 80a3e46: eec6 7a87 vdiv.f32 s15, s13, s14 80a3e4a: edc7 7a18 vstr s15, [r7, #96] ; 0x60 curtime = ((float32_t)(CURSOR + 1)) * (float32_t)step; 80a3e4e: 4b66 ldr r3, [pc, #408] ; (80a3fe8 ) 80a3e50: 681b ldr r3, [r3, #0] 80a3e52: 3301 adds r3, #1 80a3e54: ee07 3a90 vmov s15, r3 80a3e58: eeb8 7a67 vcvt.f32.u32 s14, s15 80a3e5c: 6e7b ldr r3, [r7, #100] ; 0x64 80a3e5e: ee07 3a90 vmov s15, r3 80a3e62: eef8 7a67 vcvt.f32.u32 s15, s15 80a3e66: ee67 7a27 vmul.f32 s15, s14, s15 80a3e6a: edc7 7a17 vstr s15, [r7, #92] ; 0x5c curtime *= dt; 80a3e6e: ed97 7a17 vldr s14, [r7, #92] ; 0x5c 80a3e72: edd7 7a18 vldr s15, [r7, #96] ; 0x60 80a3e76: ee67 7a27 vmul.f32 s15, s14, s15 80a3e7a: edc7 7a17 vstr s15, [r7, #92] ; 0x5c curtime += (((float32_t)(PlayingState.FrameSize * PlayingState.CurrentFrame)) * dt); 80a3e7e: 4b59 ldr r3, [pc, #356] ; (80a3fe4 ) 80a3e80: 689b ldr r3, [r3, #8] 80a3e82: 4a58 ldr r2, [pc, #352] ; (80a3fe4 ) 80a3e84: 6812 ldr r2, [r2, #0] 80a3e86: fb02 f303 mul.w r3, r2, r3 80a3e8a: ee07 3a90 vmov s15, r3 80a3e8e: eeb8 7a67 vcvt.f32.u32 s14, s15 80a3e92: edd7 7a18 vldr s15, [r7, #96] ; 0x60 80a3e96: ee67 7a27 vmul.f32 s15, s14, s15 80a3e9a: ed97 7a17 vldr s14, [r7, #92] ; 0x5c 80a3e9e: ee77 7a27 vadd.f32 s15, s14, s15 80a3ea2: edc7 7a17 vstr s15, [r7, #92] ; 0x5c TF = curtime * 1000; 80a3ea6: edd7 7a17 vldr s15, [r7, #92] ; 0x5c 80a3eaa: ed9f 7a50 vldr s14, [pc, #320] ; 80a3fec 80a3eae: ee67 7a87 vmul.f32 s15, s15, s14 80a3eb2: 4b4f ldr r3, [pc, #316] ; (80a3ff0 ) 80a3eb4: edc3 7a00 vstr s15, [r3] LCD_SetColors(LCD_COLOR_GRAY, 0xFF000000); 80a3eb8: f04f 417f mov.w r1, #4278190080 ; 0xff000000 80a3ebc: 484d ldr r0, [pc, #308] ; (80a3ff4 ) 80a3ebe: f7af fc75 bl 80537ac tmpF = TF; 80a3ec2: 4b4b ldr r3, [pc, #300] ; (80a3ff0 ) 80a3ec4: 681b ldr r3, [r3, #0] 80a3ec6: 65bb str r3, [r7, #88] ; 0x58 if(tmpF >= 1000.0f) 80a3ec8: edd7 7a16 vldr s15, [r7, #88] ; 0x58 80a3ecc: ed9f 7a47 vldr s14, [pc, #284] ; 80a3fec 80a3ed0: eef4 7ac7 vcmpe.f32 s15, s14 80a3ed4: eef1 fa10 vmrs APSR_nzcv, fpscr 80a3ed8: db2a blt.n 80a3f30 { tmpF *= 0.001f; 80a3eda: edd7 7a16 vldr s15, [r7, #88] ; 0x58 80a3ede: ed9f 7a46 vldr s14, [pc, #280] ; 80a3ff8 80a3ee2: ee67 7a87 vmul.f32 s15, s15, s14 80a3ee6: edc7 7a16 vstr s15, [r7, #88] ; 0x58 if(pardata.LANG == RUS) 80a3eea: 4b44 ldr r3, [pc, #272] ; (80a3ffc ) 80a3eec: 7b1b ldrb r3, [r3, #12] 80a3eee: b2db uxtb r3, r3 80a3ef0: 2b00 cmp r3, #0 80a3ef2: d107 bne.n 80a3f04 BSP_LCD_DisplayStringAt(302, 45, "c", LEFT_MODE); 80a3ef4: 2303 movs r3, #3 80a3ef6: 4a42 ldr r2, [pc, #264] ; (80a4000 ) 80a3ef8: 212d movs r1, #45 ; 0x2d 80a3efa: f44f 7097 mov.w r0, #302 ; 0x12e 80a3efe: f7af fd1b bl 8053938 80a3f02: e006 b.n 80a3f12 else BSP_LCD_DisplayStringAt(302, 45, "s", LEFT_MODE); 80a3f04: 2303 movs r3, #3 80a3f06: 4a3f ldr r2, [pc, #252] ; (80a4004 ) 80a3f08: 212d movs r1, #45 ; 0x2d 80a3f0a: f44f 7097 mov.w r0, #302 ; 0x12e 80a3f0e: f7af fd13 bl 8053938 BSP_LCD_DisplayStringAt(299, 45, (char *) FloatToASCII(tmpF, -5), RIGHT_MODE); 80a3f12: f06f 0004 mvn.w r0, #4 80a3f16: ed97 0a16 vldr s0, [r7, #88] ; 0x58 80a3f1a: f7c2 fbf1 bl 8066700 80a3f1e: 4602 mov r2, r0 80a3f20: 2302 movs r3, #2 80a3f22: 212d movs r1, #45 ; 0x2d 80a3f24: f240 102b movw r0, #299 ; 0x12b 80a3f28: f7af fd06 bl 8053938 } } } #endif } 80a3f2c: f002 b872 b.w 80a6014 if(tmpF < 0.1f) 80a3f30: edd7 7a16 vldr s15, [r7, #88] ; 0x58 80a3f34: ed9f 7a34 vldr s14, [pc, #208] ; 80a4008 80a3f38: eef4 7ac7 vcmpe.f32 s15, s14 80a3f3c: eef1 fa10 vmrs APSR_nzcv, fpscr 80a3f40: d52a bpl.n 80a3f98 tmpF *= 1000.0f; 80a3f42: edd7 7a16 vldr s15, [r7, #88] ; 0x58 80a3f46: ed9f 7a29 vldr s14, [pc, #164] ; 80a3fec 80a3f4a: ee67 7a87 vmul.f32 s15, s15, s14 80a3f4e: edc7 7a16 vstr s15, [r7, #88] ; 0x58 if(pardata.LANG == RUS) 80a3f52: 4b2a ldr r3, [pc, #168] ; (80a3ffc ) 80a3f54: 7b1b ldrb r3, [r3, #12] 80a3f56: b2db uxtb r3, r3 80a3f58: 2b00 cmp r3, #0 80a3f5a: d107 bne.n 80a3f6c BSP_LCD_DisplayStringAt(302, 45, "&kc", LEFT_MODE); 80a3f5c: 2303 movs r3, #3 80a3f5e: 4a2b ldr r2, [pc, #172] ; (80a400c ) 80a3f60: 212d movs r1, #45 ; 0x2d 80a3f62: f44f 7097 mov.w r0, #302 ; 0x12e 80a3f66: f7af fce7 bl 8053938 80a3f6a: e006 b.n 80a3f7a else BSP_LCD_DisplayStringAt(302, 45, "us", LEFT_MODE); 80a3f6c: 2303 movs r3, #3 80a3f6e: 4a28 ldr r2, [pc, #160] ; (80a4010 ) 80a3f70: 212d movs r1, #45 ; 0x2d 80a3f72: f44f 7097 mov.w r0, #302 ; 0x12e 80a3f76: f7af fcdf bl 8053938 BSP_LCD_DisplayStringAt(299, 45, (char *) FloatToASCII(tmpF, -5), RIGHT_MODE); 80a3f7a: f06f 0004 mvn.w r0, #4 80a3f7e: ed97 0a16 vldr s0, [r7, #88] ; 0x58 80a3f82: f7c2 fbbd bl 8066700 80a3f86: 4602 mov r2, r0 80a3f88: 2302 movs r3, #2 80a3f8a: 212d movs r1, #45 ; 0x2d 80a3f8c: f240 102b movw r0, #299 ; 0x12b 80a3f90: f7af fcd2 bl 8053938 } 80a3f94: f002 b83e b.w 80a6014 if(pardata.LANG == RUS) 80a3f98: 4b18 ldr r3, [pc, #96] ; (80a3ffc ) 80a3f9a: 7b1b ldrb r3, [r3, #12] 80a3f9c: b2db uxtb r3, r3 80a3f9e: 2b00 cmp r3, #0 80a3fa0: d107 bne.n 80a3fb2 BSP_LCD_DisplayStringAt(302, 45, "&c", LEFT_MODE); 80a3fa2: 2303 movs r3, #3 80a3fa4: 4a1b ldr r2, [pc, #108] ; (80a4014 ) 80a3fa6: 212d movs r1, #45 ; 0x2d 80a3fa8: f44f 7097 mov.w r0, #302 ; 0x12e 80a3fac: f7af fcc4 bl 8053938 80a3fb0: e006 b.n 80a3fc0 else BSP_LCD_DisplayStringAt(302, 45, "ms", LEFT_MODE); 80a3fb2: 2303 movs r3, #3 80a3fb4: 4a18 ldr r2, [pc, #96] ; (80a4018 ) 80a3fb6: 212d movs r1, #45 ; 0x2d 80a3fb8: f44f 7097 mov.w r0, #302 ; 0x12e 80a3fbc: f7af fcbc bl 8053938 BSP_LCD_DisplayStringAt(299, 45, (char *) FloatToASCII(tmpF, -5), RIGHT_MODE); 80a3fc0: f06f 0004 mvn.w r0, #4 80a3fc4: ed97 0a16 vldr s0, [r7, #88] ; 0x58 80a3fc8: f7c2 fb9a bl 8066700 80a3fcc: 4602 mov r2, r0 80a3fce: 2302 movs r3, #2 80a3fd0: 212d movs r1, #45 ; 0x2d 80a3fd2: f240 102b movw r0, #299 ; 0x12b 80a3fd6: f7af fcaf bl 8053938 } 80a3fda: f002 b81b b.w 80a6014 80a3fde: bf00 nop 80a3fe0: 080d0a68 .word 0x080d0a68 80a3fe4: 200228d8 .word 0x200228d8 80a3fe8: 2002006c .word 0x2002006c 80a3fec: 447a0000 .word 0x447a0000 80a3ff0: 20021570 .word 0x20021570 80a3ff4: ff808080 .word 0xff808080 80a3ff8: 3a83126f .word 0x3a83126f 80a3ffc: 20023e60 .word 0x20023e60 80a4000: 080d0a70 .word 0x080d0a70 80a4004: 080d0a74 .word 0x080d0a74 80a4008: 3dcccccd .word 0x3dcccccd 80a400c: 080d0a78 .word 0x080d0a78 80a4010: 080d0a7c .word 0x080d0a7c 80a4014: 080d0a80 .word 0x080d0a80 80a4018: 080d0a84 .word 0x080d0a84 if(!FIRST) 80a401c: 4bbf ldr r3, [pc, #764] ; (80a431c ) 80a401e: 781b ldrb r3, [r3, #0] 80a4020: b2db uxtb r3, r3 80a4022: f083 0301 eor.w r3, r3, #1 80a4026: b2db uxtb r3, r3 80a4028: 2b00 cmp r3, #0 80a402a: f001 87f3 beq.w 80a6014 BSP_LCD_SetFont(&Font8); 80a402e: 48bc ldr r0, [pc, #752] ; (80a4320 ) 80a4030: f7af fbf8 bl 8053824 if(pardata.SYG == ROLL) 80a4034: 4bbb ldr r3, [pc, #748] ; (80a4324 ) 80a4036: 781b ldrb r3, [r3, #0] 80a4038: b2db uxtb r3, r3 80a403a: 2b08 cmp r3, #8 80a403c: f040 8102 bne.w 80a4244 LCD_SetColors(LCD_COLOR_WHITE, 0xFF000000); 80a4040: f04f 417f mov.w r1, #4278190080 ; 0xff000000 80a4044: f04f 30ff mov.w r0, #4294967295 80a4048: f7af fbb0 bl 80537ac arm_max_f32(&CmplxA_f32(Mpos), avgSPC[ViewLevel][pardata.LNE], &Val, &l); 80a404c: 4bb6 ldr r3, [pc, #728] ; (80a4328 ) 80a404e: 881b ldrh r3, [r3, #0] 80a4050: b29b uxth r3, r3 80a4052: 009b lsls r3, r3, #2 80a4054: 461a mov r2, r3 80a4056: 4bb5 ldr r3, [pc, #724] ; (80a432c ) 80a4058: 4413 add r3, r2 80a405a: 461c mov r4, r3 80a405c: 4bb4 ldr r3, [pc, #720] ; (80a4330 ) 80a405e: 781b ldrb r3, [r3, #0] 80a4060: b2db uxtb r3, r3 80a4062: 4618 mov r0, r3 80a4064: 4baf ldr r3, [pc, #700] ; (80a4324 ) 80a4066: 79db ldrb r3, [r3, #7] 80a4068: b2db uxtb r3, r3 80a406a: 4619 mov r1, r3 80a406c: 4ab1 ldr r2, [pc, #708] ; (80a4334 ) 80a406e: 0083 lsls r3, r0, #2 80a4070: 4413 add r3, r2 80a4072: 440b add r3, r1 80a4074: 781b ldrb r3, [r3, #0] 80a4076: 4619 mov r1, r3 80a4078: f107 0354 add.w r3, r7, #84 ; 0x54 80a407c: f107 0240 add.w r2, r7, #64 ; 0x40 80a4080: 4620 mov r0, r4 80a4082: f026 f81b bl 80ca0bc BSP_LCD_DisplayStringAt(220, 45, "dB", LEFT_MODE); 80a4086: 2303 movs r3, #3 80a4088: 4aab ldr r2, [pc, #684] ; (80a4338 ) 80a408a: 212d movs r1, #45 ; 0x2d 80a408c: 20dc movs r0, #220 ; 0xdc 80a408e: f7af fc53 bl 8053938 BSP_LCD_DisplayStringAt(220-3, 45, (char *) FloatToASCII(Val, -1), RIGHT_MODE); 80a4092: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a4096: f04f 30ff mov.w r0, #4294967295 80a409a: eeb0 0a67 vmov.f32 s0, s15 80a409e: f7c2 fb2f bl 8066700 80a40a2: 4602 mov r2, r0 80a40a4: 2302 movs r3, #2 80a40a6: 212d movs r1, #45 ; 0x2d 80a40a8: 20d9 movs r0, #217 ; 0xd9 80a40aa: f7af fc45 bl 8053938 LCD_SetColors(LCD_COLOR_MYGREEN, 0xFF000000); 80a40ae: f04f 417f mov.w r1, #4278190080 ; 0xff000000 80a40b2: 48a2 ldr r0, [pc, #648] ; (80a433c ) 80a40b4: f7af fb7a bl 80537ac arm_max_f32(&ScrA_f32(Mpos), avgSPC[ViewLevel][pardata.LNE], &Val, &l); 80a40b8: 4b9b ldr r3, [pc, #620] ; (80a4328 ) 80a40ba: 881b ldrh r3, [r3, #0] 80a40bc: b29b uxth r3, r3 80a40be: 009b lsls r3, r3, #2 80a40c0: 461a mov r2, r3 80a40c2: 4b9f ldr r3, [pc, #636] ; (80a4340 ) 80a40c4: 4413 add r3, r2 80a40c6: 461c mov r4, r3 80a40c8: 4b99 ldr r3, [pc, #612] ; (80a4330 ) 80a40ca: 781b ldrb r3, [r3, #0] 80a40cc: b2db uxtb r3, r3 80a40ce: 4618 mov r0, r3 80a40d0: 4b94 ldr r3, [pc, #592] ; (80a4324 ) 80a40d2: 79db ldrb r3, [r3, #7] 80a40d4: b2db uxtb r3, r3 80a40d6: 4619 mov r1, r3 80a40d8: 4a96 ldr r2, [pc, #600] ; (80a4334 ) 80a40da: 0083 lsls r3, r0, #2 80a40dc: 4413 add r3, r2 80a40de: 440b add r3, r1 80a40e0: 781b ldrb r3, [r3, #0] 80a40e2: 4619 mov r1, r3 80a40e4: f107 0354 add.w r3, r7, #84 ; 0x54 80a40e8: f107 0240 add.w r2, r7, #64 ; 0x40 80a40ec: 4620 mov r0, r4 80a40ee: f025 ffe5 bl 80ca0bc BSP_LCD_DisplayStringAt(160, 45, "dB", LEFT_MODE); 80a40f2: 2303 movs r3, #3 80a40f4: 4a90 ldr r2, [pc, #576] ; (80a4338 ) 80a40f6: 212d movs r1, #45 ; 0x2d 80a40f8: 20a0 movs r0, #160 ; 0xa0 80a40fa: f7af fc1d bl 8053938 BSP_LCD_DisplayStringAt(160-3, 45, (char *) FloatToASCII(Val, -1), RIGHT_MODE); 80a40fe: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a4102: f04f 30ff mov.w r0, #4294967295 80a4106: eeb0 0a67 vmov.f32 s0, s15 80a410a: f7c2 faf9 bl 8066700 80a410e: 4602 mov r2, r0 80a4110: 2302 movs r3, #2 80a4112: 212d movs r1, #45 ; 0x2d 80a4114: 209d movs r0, #157 ; 0x9d 80a4116: f7af fc0f bl 8053938 fineMpos = Mpos + l; 80a411a: 6d7b ldr r3, [r7, #84] ; 0x54 80a411c: b29a uxth r2, r3 80a411e: 4b82 ldr r3, [pc, #520] ; (80a4328 ) 80a4120: 881b ldrh r3, [r3, #0] 80a4122: b29b uxth r3, r3 80a4124: 4413 add r3, r2 80a4126: b29a uxth r2, r3 80a4128: 4b86 ldr r3, [pc, #536] ; (80a4344 ) 80a412a: 801a strh r2, [r3, #0] tmpF = (float32_t) fineMpos; 80a412c: 4b85 ldr r3, [pc, #532] ; (80a4344 ) 80a412e: 881b ldrh r3, [r3, #0] 80a4130: b29b uxth r3, r3 80a4132: ee07 3a90 vmov s15, r3 80a4136: eef8 7a67 vcvt.f32.u32 s15, s15 80a413a: edc7 7a16 vstr s15, [r7, #88] ; 0x58 if(tmpF != TF) 80a413e: 4b82 ldr r3, [pc, #520] ; (80a4348 ) 80a4140: edd3 7a00 vldr s15, [r3] 80a4144: ed97 7a16 vldr s14, [r7, #88] ; 0x58 80a4148: eeb4 7a67 vcmp.f32 s14, s15 80a414c: eef1 fa10 vmrs APSR_nzcv, fpscr 80a4150: d01d beq.n 80a418e TF = tmpF; 80a4152: 4a7d ldr r2, [pc, #500] ; (80a4348 ) 80a4154: 6dbb ldr r3, [r7, #88] ; 0x58 80a4156: 6013 str r3, [r2, #0] TF *= Delta_SPC[pardata.FRQ][pardata.LNE]; 80a4158: 4b72 ldr r3, [pc, #456] ; (80a4324 ) 80a415a: 7adb ldrb r3, [r3, #11] 80a415c: b2db uxtb r3, r3 80a415e: 4618 mov r0, r3 80a4160: 4b70 ldr r3, [pc, #448] ; (80a4324 ) 80a4162: 79db ldrb r3, [r3, #7] 80a4164: b2db uxtb r3, r3 80a4166: 4619 mov r1, r3 80a4168: 4a78 ldr r2, [pc, #480] ; (80a434c ) 80a416a: 0083 lsls r3, r0, #2 80a416c: 440b add r3, r1 80a416e: 009b lsls r3, r3, #2 80a4170: 4413 add r3, r2 80a4172: ed93 7a00 vldr s14, [r3] 80a4176: 4b74 ldr r3, [pc, #464] ; (80a4348 ) 80a4178: edd3 7a00 vldr s15, [r3] 80a417c: ee67 7a27 vmul.f32 s15, s14, s15 80a4180: 4b71 ldr r3, [pc, #452] ; (80a4348 ) 80a4182: edc3 7a00 vstr s15, [r3] oldTF = TF; 80a4186: 4b70 ldr r3, [pc, #448] ; (80a4348 ) 80a4188: 681b ldr r3, [r3, #0] 80a418a: 4a71 ldr r2, [pc, #452] ; (80a4350 ) 80a418c: 6013 str r3, [r2, #0] tmpF = TF; 80a418e: 4b6e ldr r3, [pc, #440] ; (80a4348 ) 80a4190: 681b ldr r3, [r3, #0] 80a4192: 65bb str r3, [r7, #88] ; 0x58 LCD_SetColors(LCD_COLOR_GRAY, 0xFF000000); 80a4194: f04f 417f mov.w r1, #4278190080 ; 0xff000000 80a4198: 486e ldr r0, [pc, #440] ; (80a4354 ) 80a419a: f7af fb07 bl 80537ac if(pardata.LANG == RUS) 80a419e: 4b61 ldr r3, [pc, #388] ; (80a4324 ) 80a41a0: 7b1b ldrb r3, [r3, #12] 80a41a2: b2db uxtb r3, r3 80a41a4: 2b00 cmp r3, #0 80a41a6: d107 bne.n 80a41b8 BSP_LCD_DisplayStringAt(305, 45, "$%", LEFT_MODE); 80a41a8: 2303 movs r3, #3 80a41aa: 4a6b ldr r2, [pc, #428] ; (80a4358 ) 80a41ac: 212d movs r1, #45 ; 0x2d 80a41ae: f240 1031 movw r0, #305 ; 0x131 80a41b2: f7af fbc1 bl 8053938 80a41b6: e006 b.n 80a41c6 else BSP_LCD_DisplayStringAt(305, 45, "Hz", LEFT_MODE); 80a41b8: 2303 movs r3, #3 80a41ba: 4a68 ldr r2, [pc, #416] ; (80a435c ) 80a41bc: 212d movs r1, #45 ; 0x2d 80a41be: f240 1031 movw r0, #305 ; 0x131 80a41c2: f7af fbb9 bl 8053938 if(tmpF < 10.0f) BSP_LCD_DisplayStringAt(302, 45, (char *)FloatToASCII(tmpF, -4), RIGHT_MODE); 80a41c6: edd7 7a16 vldr s15, [r7, #88] ; 0x58 80a41ca: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80a41ce: eef4 7ac7 vcmpe.f32 s15, s14 80a41d2: eef1 fa10 vmrs APSR_nzcv, fpscr 80a41d6: d50e bpl.n 80a41f6 80a41d8: f06f 0003 mvn.w r0, #3 80a41dc: ed97 0a16 vldr s0, [r7, #88] ; 0x58 80a41e0: f7c2 fa8e bl 8066700 80a41e4: 4602 mov r2, r0 80a41e6: 2302 movs r3, #2 80a41e8: 212d movs r1, #45 ; 0x2d 80a41ea: f44f 7097 mov.w r0, #302 ; 0x12e 80a41ee: f7af fba3 bl 8053938 } 80a41f2: f001 bf0f b.w 80a6014 else if(tmpF < 100.0f) BSP_LCD_DisplayStringAt(302, 45, (char *)FloatToASCII(tmpF, -3), RIGHT_MODE); 80a41f6: edd7 7a16 vldr s15, [r7, #88] ; 0x58 80a41fa: ed9f 7a59 vldr s14, [pc, #356] ; 80a4360 80a41fe: eef4 7ac7 vcmpe.f32 s15, s14 80a4202: eef1 fa10 vmrs APSR_nzcv, fpscr 80a4206: d50e bpl.n 80a4226 80a4208: f06f 0002 mvn.w r0, #2 80a420c: ed97 0a16 vldr s0, [r7, #88] ; 0x58 80a4210: f7c2 fa76 bl 8066700 80a4214: 4602 mov r2, r0 80a4216: 2302 movs r3, #2 80a4218: 212d movs r1, #45 ; 0x2d 80a421a: f44f 7097 mov.w r0, #302 ; 0x12e 80a421e: f7af fb8b bl 8053938 } 80a4222: f001 bef7 b.w 80a6014 else BSP_LCD_DisplayStringAt(302, 45, (char *)FloatToASCII(tmpF, -2), RIGHT_MODE); 80a4226: f06f 0001 mvn.w r0, #1 80a422a: ed97 0a16 vldr s0, [r7, #88] ; 0x58 80a422e: f7c2 fa67 bl 8066700 80a4232: 4602 mov r2, r0 80a4234: 2302 movs r3, #2 80a4236: 212d movs r1, #45 ; 0x2d 80a4238: f44f 7097 mov.w r0, #302 ; 0x12e 80a423c: f7af fb7c bl 8053938 } 80a4240: f001 bee8 b.w 80a6014 if((pardata.SYG == SPEC) || (pardata.SYG == SPEC_OGIB)) 80a4244: 4b37 ldr r3, [pc, #220] ; (80a4324 ) 80a4246: 781b ldrb r3, [r3, #0] 80a4248: b2db uxtb r3, r3 80a424a: 2b01 cmp r3, #1 80a424c: d005 beq.n 80a425a 80a424e: 4b35 ldr r3, [pc, #212] ; (80a4324 ) 80a4250: 781b ldrb r3, [r3, #0] 80a4252: b2db uxtb r3, r3 80a4254: 2b05 cmp r3, #5 80a4256: f040 8420 bne.w 80a4a9a arm_max_f32(&ScrA_f32(Mpos), avgSPC[ViewLevel][pardata.LNE], &maxf, &n2); 80a425a: 4b33 ldr r3, [pc, #204] ; (80a4328 ) 80a425c: 881b ldrh r3, [r3, #0] 80a425e: b29b uxth r3, r3 80a4260: 009b lsls r3, r3, #2 80a4262: 461a mov r2, r3 80a4264: 4b36 ldr r3, [pc, #216] ; (80a4340 ) 80a4266: 4413 add r3, r2 80a4268: 461c mov r4, r3 80a426a: 4b31 ldr r3, [pc, #196] ; (80a4330 ) 80a426c: 781b ldrb r3, [r3, #0] 80a426e: b2db uxtb r3, r3 80a4270: 4618 mov r0, r3 80a4272: 4b2c ldr r3, [pc, #176] ; (80a4324 ) 80a4274: 79db ldrb r3, [r3, #7] 80a4276: b2db uxtb r3, r3 80a4278: 4619 mov r1, r3 80a427a: 4a2e ldr r2, [pc, #184] ; (80a4334 ) 80a427c: 0083 lsls r3, r0, #2 80a427e: 4413 add r3, r2 80a4280: 440b add r3, r1 80a4282: 781b ldrb r3, [r3, #0] 80a4284: 4619 mov r1, r3 80a4286: f107 034c add.w r3, r7, #76 ; 0x4c 80a428a: f107 0244 add.w r2, r7, #68 ; 0x44 80a428e: 4620 mov r0, r4 80a4290: f025 ff14 bl 80ca0bc arm_min_f32(&ScrA_f32(Mpos), avgSPC[ViewLevel][pardata.LNE], &minf, &n1); 80a4294: 4b24 ldr r3, [pc, #144] ; (80a4328 ) 80a4296: 881b ldrh r3, [r3, #0] 80a4298: b29b uxth r3, r3 80a429a: 009b lsls r3, r3, #2 80a429c: 461a mov r2, r3 80a429e: 4b28 ldr r3, [pc, #160] ; (80a4340 ) 80a42a0: 4413 add r3, r2 80a42a2: 461c mov r4, r3 80a42a4: 4b22 ldr r3, [pc, #136] ; (80a4330 ) 80a42a6: 781b ldrb r3, [r3, #0] 80a42a8: b2db uxtb r3, r3 80a42aa: 4618 mov r0, r3 80a42ac: 4b1d ldr r3, [pc, #116] ; (80a4324 ) 80a42ae: 79db ldrb r3, [r3, #7] 80a42b0: b2db uxtb r3, r3 80a42b2: 4619 mov r1, r3 80a42b4: 4a1f ldr r2, [pc, #124] ; (80a4334 ) 80a42b6: 0083 lsls r3, r0, #2 80a42b8: 4413 add r3, r2 80a42ba: 440b add r3, r1 80a42bc: 781b ldrb r3, [r3, #0] 80a42be: 4619 mov r1, r3 80a42c0: f107 0350 add.w r3, r7, #80 ; 0x50 80a42c4: f107 0248 add.w r2, r7, #72 ; 0x48 80a42c8: 4620 mov r0, r4 80a42ca: f025 fe5b bl 80c9f84 if(ABS(maxf) < ABS(minf)) 80a42ce: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a42d2: eef5 7ac0 vcmpe.f32 s15, #0.0 80a42d6: eef1 fa10 vmrs APSR_nzcv, fpscr 80a42da: dd02 ble.n 80a42e2 80a42dc: ed97 7a11 vldr s14, [r7, #68] ; 0x44 80a42e0: e003 b.n 80a42ea 80a42e2: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a42e6: eeb1 7a67 vneg.f32 s14, s15 80a42ea: edd7 7a12 vldr s15, [r7, #72] ; 0x48 80a42ee: eef5 7ac0 vcmpe.f32 s15, #0.0 80a42f2: eef1 fa10 vmrs APSR_nzcv, fpscr 80a42f6: dd02 ble.n 80a42fe 80a42f8: edd7 7a12 vldr s15, [r7, #72] ; 0x48 80a42fc: e003 b.n 80a4306 80a42fe: edd7 7a12 vldr s15, [r7, #72] ; 0x48 80a4302: eef1 7a67 vneg.f32 s15, s15 80a4306: eeb4 7ae7 vcmpe.f32 s14, s15 80a430a: eef1 fa10 vmrs APSR_nzcv, fpscr 80a430e: d52b bpl.n 80a4368 CurVal = minf; 80a4310: 6cbb ldr r3, [r7, #72] ; 0x48 80a4312: 4a14 ldr r2, [pc, #80] ; (80a4364 ) 80a4314: 6013 str r3, [r2, #0] l = n1; 80a4316: 6d3b ldr r3, [r7, #80] ; 0x50 80a4318: 657b str r3, [r7, #84] ; 0x54 80a431a: e02a b.n 80a4372 80a431c: 20020db2 .word 0x20020db2 80a4320: 20020060 .word 0x20020060 80a4324: 20023e60 .word 0x20023e60 80a4328: 20025d16 .word 0x20025d16 80a432c: 64090000 .word 0x64090000 80a4330: 20020f74 .word 0x20020f74 80a4334: 080ef614 .word 0x080ef614 80a4338: 080d0a88 .word 0x080d0a88 80a433c: ff26a01f .word 0xff26a01f 80a4340: 64080000 .word 0x64080000 80a4344: 20025d1c .word 0x20025d1c 80a4348: 20021570 .word 0x20021570 80a434c: 080ef668 .word 0x080ef668 80a4350: 20021648 .word 0x20021648 80a4354: ff808080 .word 0xff808080 80a4358: 080d0a8c .word 0x080d0a8c 80a435c: 080d0a90 .word 0x080d0a90 80a4360: 42c80000 .word 0x42c80000 80a4364: 2002156c .word 0x2002156c CurVal = maxf; 80a4368: 6c7b ldr r3, [r7, #68] ; 0x44 80a436a: 4ab2 ldr r2, [pc, #712] ; (80a4634 ) 80a436c: 6013 str r3, [r2, #0] l = n2; 80a436e: 6cfb ldr r3, [r7, #76] ; 0x4c 80a4370: 657b str r3, [r7, #84] ; 0x54 fineMpos = Mpos + l; 80a4372: 6d7b ldr r3, [r7, #84] ; 0x54 80a4374: b29a uxth r2, r3 80a4376: 4bb0 ldr r3, [pc, #704] ; (80a4638 ) 80a4378: 881b ldrh r3, [r3, #0] 80a437a: b29b uxth r3, r3 80a437c: 4413 add r3, r2 80a437e: b29a uxth r2, r3 80a4380: 4bae ldr r3, [pc, #696] ; (80a463c ) 80a4382: 801a strh r2, [r3, #0] tmpF = (float32_t) fineMpos; 80a4384: 4bad ldr r3, [pc, #692] ; (80a463c ) 80a4386: 881b ldrh r3, [r3, #0] 80a4388: b29b uxth r3, r3 80a438a: ee07 3a90 vmov s15, r3 80a438e: eef8 7a67 vcvt.f32.u32 s15, s15 80a4392: edc7 7a16 vstr s15, [r7, #88] ; 0x58 CurVal *= 0.70710678f; 80a4396: 4ba7 ldr r3, [pc, #668] ; (80a4634 ) 80a4398: edd3 7a00 vldr s15, [r3] 80a439c: ed9f 7aa8 vldr s14, [pc, #672] ; 80a4640 80a43a0: ee67 7a87 vmul.f32 s15, s15, s14 80a43a4: 4ba3 ldr r3, [pc, #652] ; (80a4634 ) 80a43a6: edc3 7a00 vstr s15, [r3] if(pardata.WIN == HANN) 80a43aa: 4ba6 ldr r3, [pc, #664] ; (80a4644 ) 80a43ac: 7a5b ldrb r3, [r3, #9] 80a43ae: b2db uxtb r3, r3 80a43b0: 2b01 cmp r3, #1 80a43b2: d107 bne.n 80a43c4 CurVal *= 2.0f; 80a43b4: 4b9f ldr r3, [pc, #636] ; (80a4634 ) 80a43b6: edd3 7a00 vldr s15, [r3] 80a43ba: ee77 7aa7 vadd.f32 s15, s15, s15 80a43be: 4b9d ldr r3, [pc, #628] ; (80a4634 ) 80a43c0: edc3 7a00 vstr s15, [r3] if(pardata.IVS[pardata.IPR] == PEAK) 80a43c4: 4b9f ldr r3, [pc, #636] ; (80a4644 ) 80a43c6: 785b ldrb r3, [r3, #1] 80a43c8: b2db uxtb r3, r3 80a43ca: 461a mov r2, r3 80a43cc: 4b9d ldr r3, [pc, #628] ; (80a4644 ) 80a43ce: 4413 add r3, r2 80a43d0: 789b ldrb r3, [r3, #2] 80a43d2: b2db uxtb r3, r3 80a43d4: 2b00 cmp r3, #0 80a43d6: d109 bne.n 80a43ec CurVal *= 1.414213562373f; 80a43d8: 4b96 ldr r3, [pc, #600] ; (80a4634 ) 80a43da: edd3 7a00 vldr s15, [r3] 80a43de: ed9f 7a9a vldr s14, [pc, #616] ; 80a4648 80a43e2: ee67 7a87 vmul.f32 s15, s15, s14 80a43e6: 4b93 ldr r3, [pc, #588] ; (80a4634 ) 80a43e8: edc3 7a00 vstr s15, [r3] if(pardata.MSH == LOG) 80a43ec: 4b95 ldr r3, [pc, #596] ; (80a4644 ) 80a43ee: 7a9b ldrb r3, [r3, #10] 80a43f0: b2db uxtb r3, r3 80a43f2: 2b01 cmp r3, #1 80a43f4: d111 bne.n 80a441a if(pardata.IIN != VOLTS) 80a43f6: 4b93 ldr r3, [pc, #588] ; (80a4644 ) 80a43f8: 799b ldrb r3, [r3, #6] 80a43fa: b2db uxtb r3, r3 80a43fc: 2b02 cmp r3, #2 80a43fe: d004 beq.n 80a440a LinToLog(&CurVal, &CurVal); 80a4400: 498c ldr r1, [pc, #560] ; (80a4634 ) 80a4402: 488c ldr r0, [pc, #560] ; (80a4634 ) 80a4404: f7c0 fd50 bl 8064ea8 80a4408: e007 b.n 80a441a else LinToLog_mV(&CurVal, &CurVal, pardata.IPR); 80a440a: 4b8e ldr r3, [pc, #568] ; (80a4644 ) 80a440c: 785b ldrb r3, [r3, #1] 80a440e: b2db uxtb r3, r3 80a4410: 461a mov r2, r3 80a4412: 4988 ldr r1, [pc, #544] ; (80a4634 ) 80a4414: 4887 ldr r0, [pc, #540] ; (80a4634 ) 80a4416: f7c0 fd77 bl 8064f08 LCD_SetColors(LCD_COLOR_MYGREEN, 0xFF000000); 80a441a: f04f 417f mov.w r1, #4278190080 ; 0xff000000 80a441e: 488b ldr r0, [pc, #556] ; (80a464c ) 80a4420: f7af f9c4 bl 80537ac Val = CurVal; 80a4424: 4b83 ldr r3, [pc, #524] ; (80a4634 ) 80a4426: 681b ldr r3, [r3, #0] 80a4428: 643b str r3, [r7, #64] ; 0x40 if(pardata.MSH == LOG) 80a442a: 4b86 ldr r3, [pc, #536] ; (80a4644 ) 80a442c: 7a9b ldrb r3, [r3, #10] 80a442e: b2db uxtb r3, r3 80a4430: 2b01 cmp r3, #1 80a4432: d114 bne.n 80a445e BSP_LCD_DisplayStringAt(220, 45, "dB", LEFT_MODE); 80a4434: 2303 movs r3, #3 80a4436: 4a86 ldr r2, [pc, #536] ; (80a4650 ) 80a4438: 212d movs r1, #45 ; 0x2d 80a443a: 20dc movs r0, #220 ; 0xdc 80a443c: f7af fa7c bl 8053938 BSP_LCD_DisplayStringAt(217, 45, (char *) FloatToASCII(Val, -1), RIGHT_MODE); 80a4440: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a4444: f04f 30ff mov.w r0, #4294967295 80a4448: eeb0 0a67 vmov.f32 s0, s15 80a444c: f7c2 f958 bl 8066700 80a4450: 4602 mov r2, r0 80a4452: 2302 movs r3, #2 80a4454: 212d movs r1, #45 ; 0x2d 80a4456: 20d9 movs r0, #217 ; 0xd9 80a4458: f7af fa6e bl 8053938 80a445c: e22b b.n 80a48b6 if(Val >= 1000.0f) 80a445e: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a4462: ed9f 7a7c vldr s14, [pc, #496] ; 80a4654 80a4466: eef4 7ac7 vcmpe.f32 s15, s14 80a446a: eef1 fa10 vmrs APSR_nzcv, fpscr 80a446e: f2c0 80a6 blt.w 80a45be Val *= 0.001f; 80a4472: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a4476: ed9f 7a78 vldr s14, [pc, #480] ; 80a4658 80a447a: ee67 7a87 vmul.f32 s15, s15, s14 80a447e: edc7 7a10 vstr s15, [r7, #64] ; 0x40 if(pardata.IPR == ACC) 80a4482: 4b70 ldr r3, [pc, #448] ; (80a4644 ) 80a4484: 785b ldrb r3, [r3, #1] 80a4486: b2db uxtb r3, r3 80a4488: 2b00 cmp r3, #0 80a448a: d12a bne.n 80a44e2 if(pardata.IIN != VOLTS) 80a448c: 4b6d ldr r3, [pc, #436] ; (80a4644 ) 80a448e: 799b ldrb r3, [r3, #6] 80a4490: b2db uxtb r3, r3 80a4492: 2b02 cmp r3, #2 80a4494: d012 beq.n 80a44bc if(pardata.LANG == RUS) 80a4496: 4b6b ldr r3, [pc, #428] ; (80a4644 ) 80a4498: 7b1b ldrb r3, [r3, #12] 80a449a: b2db uxtb r3, r3 80a449c: 2b00 cmp r3, #0 80a449e: d106 bne.n 80a44ae BSP_LCD_DisplayStringAt(220, 45, "k&/c^", LEFT_MODE); 80a44a0: 2303 movs r3, #3 80a44a2: 4a6e ldr r2, [pc, #440] ; (80a465c ) 80a44a4: 212d movs r1, #45 ; 0x2d 80a44a6: 20dc movs r0, #220 ; 0xdc 80a44a8: f7af fa46 bl 8053938 80a44ac: e078 b.n 80a45a0 else BSP_LCD_DisplayStringAt(220, 45, "km/s^", LEFT_MODE); 80a44ae: 2303 movs r3, #3 80a44b0: 4a6b ldr r2, [pc, #428] ; (80a4660 ) 80a44b2: 212d movs r1, #45 ; 0x2d 80a44b4: 20dc movs r0, #220 ; 0xdc 80a44b6: f7af fa3f bl 8053938 80a44ba: e071 b.n 80a45a0 if(pardata.LANG == RUS) 80a44bc: 4b61 ldr r3, [pc, #388] ; (80a4644 ) 80a44be: 7b1b ldrb r3, [r3, #12] 80a44c0: b2db uxtb r3, r3 80a44c2: 2b00 cmp r3, #0 80a44c4: d106 bne.n 80a44d4 BSP_LCD_DisplayStringAt(220, 45, "B", LEFT_MODE); 80a44c6: 2303 movs r3, #3 80a44c8: 4a66 ldr r2, [pc, #408] ; (80a4664 ) 80a44ca: 212d movs r1, #45 ; 0x2d 80a44cc: 20dc movs r0, #220 ; 0xdc 80a44ce: f7af fa33 bl 8053938 80a44d2: e065 b.n 80a45a0 else BSP_LCD_DisplayStringAt(220, 45, "V", LEFT_MODE); 80a44d4: 2303 movs r3, #3 80a44d6: 4a64 ldr r2, [pc, #400] ; (80a4668 ) 80a44d8: 212d movs r1, #45 ; 0x2d 80a44da: 20dc movs r0, #220 ; 0xdc 80a44dc: f7af fa2c bl 8053938 80a44e0: e05e b.n 80a45a0 if(pardata.IPR == VEL) 80a44e2: 4b58 ldr r3, [pc, #352] ; (80a4644 ) 80a44e4: 785b ldrb r3, [r3, #1] 80a44e6: b2db uxtb r3, r3 80a44e8: 2b01 cmp r3, #1 80a44ea: d12a bne.n 80a4542 if(pardata.IIN != VOLTS) 80a44ec: 4b55 ldr r3, [pc, #340] ; (80a4644 ) 80a44ee: 799b ldrb r3, [r3, #6] 80a44f0: b2db uxtb r3, r3 80a44f2: 2b02 cmp r3, #2 80a44f4: d012 beq.n 80a451c if(pardata.LANG == RUS) 80a44f6: 4b53 ldr r3, [pc, #332] ; (80a4644 ) 80a44f8: 7b1b ldrb r3, [r3, #12] 80a44fa: b2db uxtb r3, r3 80a44fc: 2b00 cmp r3, #0 80a44fe: d106 bne.n 80a450e BSP_LCD_DisplayStringAt(220, 45, "&/c", LEFT_MODE); 80a4500: 2303 movs r3, #3 80a4502: 4a5a ldr r2, [pc, #360] ; (80a466c ) 80a4504: 212d movs r1, #45 ; 0x2d 80a4506: 20dc movs r0, #220 ; 0xdc 80a4508: f7af fa16 bl 8053938 80a450c: e048 b.n 80a45a0 else BSP_LCD_DisplayStringAt(220, 45, "m/s", LEFT_MODE); 80a450e: 2303 movs r3, #3 80a4510: 4a57 ldr r2, [pc, #348] ; (80a4670 ) 80a4512: 212d movs r1, #45 ; 0x2d 80a4514: 20dc movs r0, #220 ; 0xdc 80a4516: f7af fa0f bl 8053938 80a451a: e041 b.n 80a45a0 if(pardata.LANG == RUS) 80a451c: 4b49 ldr r3, [pc, #292] ; (80a4644 ) 80a451e: 7b1b ldrb r3, [r3, #12] 80a4520: b2db uxtb r3, r3 80a4522: 2b00 cmp r3, #0 80a4524: d106 bne.n 80a4534 BSP_LCD_DisplayStringAt(220, 45, "B", LEFT_MODE); 80a4526: 2303 movs r3, #3 80a4528: 4a4e ldr r2, [pc, #312] ; (80a4664 ) 80a452a: 212d movs r1, #45 ; 0x2d 80a452c: 20dc movs r0, #220 ; 0xdc 80a452e: f7af fa03 bl 8053938 80a4532: e035 b.n 80a45a0 else BSP_LCD_DisplayStringAt(220, 45, "V", LEFT_MODE); 80a4534: 2303 movs r3, #3 80a4536: 4a4c ldr r2, [pc, #304] ; (80a4668 ) 80a4538: 212d movs r1, #45 ; 0x2d 80a453a: 20dc movs r0, #220 ; 0xdc 80a453c: f7af f9fc bl 8053938 80a4540: e02e b.n 80a45a0 if(pardata.IPR == DIS) 80a4542: 4b40 ldr r3, [pc, #256] ; (80a4644 ) 80a4544: 785b ldrb r3, [r3, #1] 80a4546: b2db uxtb r3, r3 80a4548: 2b02 cmp r3, #2 80a454a: d129 bne.n 80a45a0 if(pardata.IIN != VOLTS) 80a454c: 4b3d ldr r3, [pc, #244] ; (80a4644 ) 80a454e: 799b ldrb r3, [r3, #6] 80a4550: b2db uxtb r3, r3 80a4552: 2b02 cmp r3, #2 80a4554: d012 beq.n 80a457c if(pardata.LANG == RUS) 80a4556: 4b3b ldr r3, [pc, #236] ; (80a4644 ) 80a4558: 7b1b ldrb r3, [r3, #12] 80a455a: b2db uxtb r3, r3 80a455c: 2b00 cmp r3, #0 80a455e: d106 bne.n 80a456e BSP_LCD_DisplayStringAt(220, 45, "&&", LEFT_MODE); 80a4560: 2303 movs r3, #3 80a4562: 4a44 ldr r2, [pc, #272] ; (80a4674 ) 80a4564: 212d movs r1, #45 ; 0x2d 80a4566: 20dc movs r0, #220 ; 0xdc 80a4568: f7af f9e6 bl 8053938 80a456c: e018 b.n 80a45a0 else BSP_LCD_DisplayStringAt(220, 45, "mm", LEFT_MODE); 80a456e: 2303 movs r3, #3 80a4570: 4a41 ldr r2, [pc, #260] ; (80a4678 ) 80a4572: 212d movs r1, #45 ; 0x2d 80a4574: 20dc movs r0, #220 ; 0xdc 80a4576: f7af f9df bl 8053938 80a457a: e011 b.n 80a45a0 if(pardata.LANG == RUS) 80a457c: 4b31 ldr r3, [pc, #196] ; (80a4644 ) 80a457e: 7b1b ldrb r3, [r3, #12] 80a4580: b2db uxtb r3, r3 80a4582: 2b00 cmp r3, #0 80a4584: d106 bne.n 80a4594 BSP_LCD_DisplayStringAt(220, 45, "B", LEFT_MODE); 80a4586: 2303 movs r3, #3 80a4588: 4a36 ldr r2, [pc, #216] ; (80a4664 ) 80a458a: 212d movs r1, #45 ; 0x2d 80a458c: 20dc movs r0, #220 ; 0xdc 80a458e: f7af f9d3 bl 8053938 80a4592: e005 b.n 80a45a0 else BSP_LCD_DisplayStringAt(220, 45, "V", LEFT_MODE); 80a4594: 2303 movs r3, #3 80a4596: 4a34 ldr r2, [pc, #208] ; (80a4668 ) 80a4598: 212d movs r1, #45 ; 0x2d 80a459a: 20dc movs r0, #220 ; 0xdc 80a459c: f7af f9cc bl 8053938 BSP_LCD_DisplayStringAt(217, 45, (char *)FloatToASCII(Val, -4), RIGHT_MODE); 80a45a0: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a45a4: f06f 0003 mvn.w r0, #3 80a45a8: eeb0 0a67 vmov.f32 s0, s15 80a45ac: f7c2 f8a8 bl 8066700 80a45b0: 4602 mov r2, r0 80a45b2: 2302 movs r3, #2 80a45b4: 212d movs r1, #45 ; 0x2d 80a45b6: 20d9 movs r0, #217 ; 0xd9 80a45b8: f7af f9be bl 8053938 80a45bc: e17b b.n 80a48b6 if(Val >= 0.1f) 80a45be: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a45c2: ed9f 7a2e vldr s14, [pc, #184] ; 80a467c 80a45c6: eef4 7ac7 vcmpe.f32 s15, s14 80a45ca: eef1 fa10 vmrs APSR_nzcv, fpscr 80a45ce: f2c0 80cd blt.w 80a476c if(pardata.IPR == ACC) 80a45d2: 4b1c ldr r3, [pc, #112] ; (80a4644 ) 80a45d4: 785b ldrb r3, [r3, #1] 80a45d6: b2db uxtb r3, r3 80a45d8: 2b00 cmp r3, #0 80a45da: d159 bne.n 80a4690 if(pardata.IIN != VOLTS) 80a45dc: 4b19 ldr r3, [pc, #100] ; (80a4644 ) 80a45de: 799b ldrb r3, [r3, #6] 80a45e0: b2db uxtb r3, r3 80a45e2: 2b02 cmp r3, #2 80a45e4: d012 beq.n 80a460c if(pardata.LANG == RUS) 80a45e6: 4b17 ldr r3, [pc, #92] ; (80a4644 ) 80a45e8: 7b1b ldrb r3, [r3, #12] 80a45ea: b2db uxtb r3, r3 80a45ec: 2b00 cmp r3, #0 80a45ee: d106 bne.n 80a45fe BSP_LCD_DisplayStringAt(220, 45, "&/c^", LEFT_MODE); 80a45f0: 2303 movs r3, #3 80a45f2: 4a23 ldr r2, [pc, #140] ; (80a4680 ) 80a45f4: 212d movs r1, #45 ; 0x2d 80a45f6: 20dc movs r0, #220 ; 0xdc 80a45f8: f7af f99e bl 8053938 80a45fc: e0a7 b.n 80a474e else BSP_LCD_DisplayStringAt(220, 45, "m/s^", LEFT_MODE); 80a45fe: 2303 movs r3, #3 80a4600: 4a20 ldr r2, [pc, #128] ; (80a4684 ) 80a4602: 212d movs r1, #45 ; 0x2d 80a4604: 20dc movs r0, #220 ; 0xdc 80a4606: f7af f997 bl 8053938 80a460a: e0a0 b.n 80a474e if(pardata.LANG == RUS) 80a460c: 4b0d ldr r3, [pc, #52] ; (80a4644 ) 80a460e: 7b1b ldrb r3, [r3, #12] 80a4610: b2db uxtb r3, r3 80a4612: 2b00 cmp r3, #0 80a4614: d106 bne.n 80a4624 BSP_LCD_DisplayStringAt(220, 45, "&B", LEFT_MODE); 80a4616: 2303 movs r3, #3 80a4618: 4a1b ldr r2, [pc, #108] ; (80a4688 ) 80a461a: 212d movs r1, #45 ; 0x2d 80a461c: 20dc movs r0, #220 ; 0xdc 80a461e: f7af f98b bl 8053938 80a4622: e094 b.n 80a474e else BSP_LCD_DisplayStringAt(220, 45, "mV", LEFT_MODE); 80a4624: 2303 movs r3, #3 80a4626: 4a19 ldr r2, [pc, #100] ; (80a468c ) 80a4628: 212d movs r1, #45 ; 0x2d 80a462a: 20dc movs r0, #220 ; 0xdc 80a462c: f7af f984 bl 8053938 80a4630: e08d b.n 80a474e 80a4632: bf00 nop 80a4634: 2002156c .word 0x2002156c 80a4638: 20025d16 .word 0x20025d16 80a463c: 20025d1c .word 0x20025d1c 80a4640: 3f3504f3 .word 0x3f3504f3 80a4644: 20023e60 .word 0x20023e60 80a4648: 3fb504f3 .word 0x3fb504f3 80a464c: ff26a01f .word 0xff26a01f 80a4650: 080d0a88 .word 0x080d0a88 80a4654: 447a0000 .word 0x447a0000 80a4658: 3a83126f .word 0x3a83126f 80a465c: 080d0a40 .word 0x080d0a40 80a4660: 080d09a0 .word 0x080d09a0 80a4664: 080d0a94 .word 0x080d0a94 80a4668: 080ce6a0 .word 0x080ce6a0 80a466c: 080d0a98 .word 0x080d0a98 80a4670: 080d09ac .word 0x080d09ac 80a4674: 080d0a9c .word 0x080d0a9c 80a4678: 080d09b4 .word 0x080d09b4 80a467c: 3dcccccd .word 0x3dcccccd 80a4680: 080d0a50 .word 0x080d0a50 80a4684: 080d09c0 .word 0x080d09c0 80a4688: 080d0aa0 .word 0x080d0aa0 80a468c: 080d0aa4 .word 0x080d0aa4 else if(pardata.IPR == VEL) 80a4690: 4bb4 ldr r3, [pc, #720] ; (80a4964 ) 80a4692: 785b ldrb r3, [r3, #1] 80a4694: b2db uxtb r3, r3 80a4696: 2b01 cmp r3, #1 80a4698: d12a bne.n 80a46f0 if(pardata.IIN != VOLTS) 80a469a: 4bb2 ldr r3, [pc, #712] ; (80a4964 ) 80a469c: 799b ldrb r3, [r3, #6] 80a469e: b2db uxtb r3, r3 80a46a0: 2b02 cmp r3, #2 80a46a2: d012 beq.n 80a46ca if(pardata.LANG == RUS) 80a46a4: 4baf ldr r3, [pc, #700] ; (80a4964 ) 80a46a6: 7b1b ldrb r3, [r3, #12] 80a46a8: b2db uxtb r3, r3 80a46aa: 2b00 cmp r3, #0 80a46ac: d106 bne.n 80a46bc BSP_LCD_DisplayStringAt(220, 45, "&&/c", LEFT_MODE); 80a46ae: 2303 movs r3, #3 80a46b0: 4aad ldr r2, [pc, #692] ; (80a4968 ) 80a46b2: 212d movs r1, #45 ; 0x2d 80a46b4: 20dc movs r0, #220 ; 0xdc 80a46b6: f7af f93f bl 8053938 80a46ba: e048 b.n 80a474e else BSP_LCD_DisplayStringAt(220, 45, "mm/s", LEFT_MODE); 80a46bc: 2303 movs r3, #3 80a46be: 4aab ldr r2, [pc, #684] ; (80a496c ) 80a46c0: 212d movs r1, #45 ; 0x2d 80a46c2: 20dc movs r0, #220 ; 0xdc 80a46c4: f7af f938 bl 8053938 80a46c8: e041 b.n 80a474e if(pardata.LANG == RUS) 80a46ca: 4ba6 ldr r3, [pc, #664] ; (80a4964 ) 80a46cc: 7b1b ldrb r3, [r3, #12] 80a46ce: b2db uxtb r3, r3 80a46d0: 2b00 cmp r3, #0 80a46d2: d106 bne.n 80a46e2 BSP_LCD_DisplayStringAt(220, 45, "&B", LEFT_MODE); 80a46d4: 2303 movs r3, #3 80a46d6: 4aa6 ldr r2, [pc, #664] ; (80a4970 ) 80a46d8: 212d movs r1, #45 ; 0x2d 80a46da: 20dc movs r0, #220 ; 0xdc 80a46dc: f7af f92c bl 8053938 80a46e0: e035 b.n 80a474e else BSP_LCD_DisplayStringAt(220, 45, "mV", LEFT_MODE); 80a46e2: 2303 movs r3, #3 80a46e4: 4aa3 ldr r2, [pc, #652] ; (80a4974 ) 80a46e6: 212d movs r1, #45 ; 0x2d 80a46e8: 20dc movs r0, #220 ; 0xdc 80a46ea: f7af f925 bl 8053938 80a46ee: e02e b.n 80a474e else if(pardata.IPR == DIS) 80a46f0: 4b9c ldr r3, [pc, #624] ; (80a4964 ) 80a46f2: 785b ldrb r3, [r3, #1] 80a46f4: b2db uxtb r3, r3 80a46f6: 2b02 cmp r3, #2 80a46f8: d129 bne.n 80a474e if(pardata.IIN != VOLTS) 80a46fa: 4b9a ldr r3, [pc, #616] ; (80a4964 ) 80a46fc: 799b ldrb r3, [r3, #6] 80a46fe: b2db uxtb r3, r3 80a4700: 2b02 cmp r3, #2 80a4702: d012 beq.n 80a472a if(pardata.LANG == RUS) 80a4704: 4b97 ldr r3, [pc, #604] ; (80a4964 ) 80a4706: 7b1b ldrb r3, [r3, #12] 80a4708: b2db uxtb r3, r3 80a470a: 2b00 cmp r3, #0 80a470c: d106 bne.n 80a471c BSP_LCD_DisplayStringAt(220, 45, "&k&", LEFT_MODE); 80a470e: 2303 movs r3, #3 80a4710: 4a99 ldr r2, [pc, #612] ; (80a4978 ) 80a4712: 212d movs r1, #45 ; 0x2d 80a4714: 20dc movs r0, #220 ; 0xdc 80a4716: f7af f90f bl 8053938 80a471a: e018 b.n 80a474e else BSP_LCD_DisplayStringAt(220, 45, "um", LEFT_MODE); 80a471c: 2303 movs r3, #3 80a471e: 4a97 ldr r2, [pc, #604] ; (80a497c ) 80a4720: 212d movs r1, #45 ; 0x2d 80a4722: 20dc movs r0, #220 ; 0xdc 80a4724: f7af f908 bl 8053938 80a4728: e011 b.n 80a474e if(pardata.LANG == RUS) 80a472a: 4b8e ldr r3, [pc, #568] ; (80a4964 ) 80a472c: 7b1b ldrb r3, [r3, #12] 80a472e: b2db uxtb r3, r3 80a4730: 2b00 cmp r3, #0 80a4732: d106 bne.n 80a4742 BSP_LCD_DisplayStringAt(220, 45, "&B", LEFT_MODE); 80a4734: 2303 movs r3, #3 80a4736: 4a8e ldr r2, [pc, #568] ; (80a4970 ) 80a4738: 212d movs r1, #45 ; 0x2d 80a473a: 20dc movs r0, #220 ; 0xdc 80a473c: f7af f8fc bl 8053938 80a4740: e005 b.n 80a474e else BSP_LCD_DisplayStringAt(220, 45, "mV", LEFT_MODE); 80a4742: 2303 movs r3, #3 80a4744: 4a8b ldr r2, [pc, #556] ; (80a4974 ) 80a4746: 212d movs r1, #45 ; 0x2d 80a4748: 20dc movs r0, #220 ; 0xdc 80a474a: f7af f8f5 bl 8053938 BSP_LCD_DisplayStringAt(217, 45, (char *)FloatToASCII(Val, -3), RIGHT_MODE); 80a474e: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a4752: f06f 0002 mvn.w r0, #2 80a4756: eeb0 0a67 vmov.f32 s0, s15 80a475a: f7c1 ffd1 bl 8066700 80a475e: 4602 mov r2, r0 80a4760: 2302 movs r3, #2 80a4762: 212d movs r1, #45 ; 0x2d 80a4764: 20d9 movs r0, #217 ; 0xd9 80a4766: f7af f8e7 bl 8053938 80a476a: e0a4 b.n 80a48b6 Val *= 1000.0f; 80a476c: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a4770: ed9f 7a83 vldr s14, [pc, #524] ; 80a4980 80a4774: ee67 7a87 vmul.f32 s15, s15, s14 80a4778: edc7 7a10 vstr s15, [r7, #64] ; 0x40 if(pardata.IPR == ACC) 80a477c: 4b79 ldr r3, [pc, #484] ; (80a4964 ) 80a477e: 785b ldrb r3, [r3, #1] 80a4780: b2db uxtb r3, r3 80a4782: 2b00 cmp r3, #0 80a4784: d12a bne.n 80a47dc if(pardata.IIN != VOLTS) 80a4786: 4b77 ldr r3, [pc, #476] ; (80a4964 ) 80a4788: 799b ldrb r3, [r3, #6] 80a478a: b2db uxtb r3, r3 80a478c: 2b02 cmp r3, #2 80a478e: d012 beq.n 80a47b6 if(pardata.LANG == RUS) 80a4790: 4b74 ldr r3, [pc, #464] ; (80a4964 ) 80a4792: 7b1b ldrb r3, [r3, #12] 80a4794: b2db uxtb r3, r3 80a4796: 2b00 cmp r3, #0 80a4798: d106 bne.n 80a47a8 BSP_LCD_DisplayStringAt(220, 45, "&&/c^", LEFT_MODE); 80a479a: 2303 movs r3, #3 80a479c: 4a79 ldr r2, [pc, #484] ; (80a4984 ) 80a479e: 212d movs r1, #45 ; 0x2d 80a47a0: 20dc movs r0, #220 ; 0xdc 80a47a2: f7af f8c9 bl 8053938 80a47a6: e078 b.n 80a489a else BSP_LCD_DisplayStringAt(220, 45, "mm/s^", LEFT_MODE); 80a47a8: 2303 movs r3, #3 80a47aa: 4a77 ldr r2, [pc, #476] ; (80a4988 ) 80a47ac: 212d movs r1, #45 ; 0x2d 80a47ae: 20dc movs r0, #220 ; 0xdc 80a47b0: f7af f8c2 bl 8053938 80a47b4: e071 b.n 80a489a if(pardata.LANG == RUS) 80a47b6: 4b6b ldr r3, [pc, #428] ; (80a4964 ) 80a47b8: 7b1b ldrb r3, [r3, #12] 80a47ba: b2db uxtb r3, r3 80a47bc: 2b00 cmp r3, #0 80a47be: d106 bne.n 80a47ce BSP_LCD_DisplayStringAt(220, 45, "&kB", LEFT_MODE); 80a47c0: 2303 movs r3, #3 80a47c2: 4a72 ldr r2, [pc, #456] ; (80a498c ) 80a47c4: 212d movs r1, #45 ; 0x2d 80a47c6: 20dc movs r0, #220 ; 0xdc 80a47c8: f7af f8b6 bl 8053938 80a47cc: e065 b.n 80a489a else BSP_LCD_DisplayStringAt(220, 45, "uV", LEFT_MODE); 80a47ce: 2303 movs r3, #3 80a47d0: 4a6f ldr r2, [pc, #444] ; (80a4990 ) 80a47d2: 212d movs r1, #45 ; 0x2d 80a47d4: 20dc movs r0, #220 ; 0xdc 80a47d6: f7af f8af bl 8053938 80a47da: e05e b.n 80a489a else if(pardata.IPR == VEL) 80a47dc: 4b61 ldr r3, [pc, #388] ; (80a4964 ) 80a47de: 785b ldrb r3, [r3, #1] 80a47e0: b2db uxtb r3, r3 80a47e2: 2b01 cmp r3, #1 80a47e4: d12a bne.n 80a483c if(pardata.IIN != VOLTS) 80a47e6: 4b5f ldr r3, [pc, #380] ; (80a4964 ) 80a47e8: 799b ldrb r3, [r3, #6] 80a47ea: b2db uxtb r3, r3 80a47ec: 2b02 cmp r3, #2 80a47ee: d012 beq.n 80a4816 if(pardata.LANG == RUS) 80a47f0: 4b5c ldr r3, [pc, #368] ; (80a4964 ) 80a47f2: 7b1b ldrb r3, [r3, #12] 80a47f4: b2db uxtb r3, r3 80a47f6: 2b00 cmp r3, #0 80a47f8: d106 bne.n 80a4808 BSP_LCD_DisplayStringAt(220, 45, "&k&/c", LEFT_MODE); 80a47fa: 2303 movs r3, #3 80a47fc: 4a65 ldr r2, [pc, #404] ; (80a4994 ) 80a47fe: 212d movs r1, #45 ; 0x2d 80a4800: 20dc movs r0, #220 ; 0xdc 80a4802: f7af f899 bl 8053938 80a4806: e048 b.n 80a489a else BSP_LCD_DisplayStringAt(220, 45, "mkm/s", LEFT_MODE); 80a4808: 2303 movs r3, #3 80a480a: 4a63 ldr r2, [pc, #396] ; (80a4998 ) 80a480c: 212d movs r1, #45 ; 0x2d 80a480e: 20dc movs r0, #220 ; 0xdc 80a4810: f7af f892 bl 8053938 80a4814: e041 b.n 80a489a if(pardata.LANG == RUS) 80a4816: 4b53 ldr r3, [pc, #332] ; (80a4964 ) 80a4818: 7b1b ldrb r3, [r3, #12] 80a481a: b2db uxtb r3, r3 80a481c: 2b00 cmp r3, #0 80a481e: d106 bne.n 80a482e BSP_LCD_DisplayStringAt(220, 45, "&kB", LEFT_MODE); 80a4820: 2303 movs r3, #3 80a4822: 4a5a ldr r2, [pc, #360] ; (80a498c ) 80a4824: 212d movs r1, #45 ; 0x2d 80a4826: 20dc movs r0, #220 ; 0xdc 80a4828: f7af f886 bl 8053938 80a482c: e035 b.n 80a489a else BSP_LCD_DisplayStringAt(220, 45, "uV", LEFT_MODE); 80a482e: 2303 movs r3, #3 80a4830: 4a57 ldr r2, [pc, #348] ; (80a4990 ) 80a4832: 212d movs r1, #45 ; 0x2d 80a4834: 20dc movs r0, #220 ; 0xdc 80a4836: f7af f87f bl 8053938 80a483a: e02e b.n 80a489a else if(pardata.IPR == DIS) 80a483c: 4b49 ldr r3, [pc, #292] ; (80a4964 ) 80a483e: 785b ldrb r3, [r3, #1] 80a4840: b2db uxtb r3, r3 80a4842: 2b02 cmp r3, #2 80a4844: d129 bne.n 80a489a if(pardata.IIN != VOLTS) 80a4846: 4b47 ldr r3, [pc, #284] ; (80a4964 ) 80a4848: 799b ldrb r3, [r3, #6] 80a484a: b2db uxtb r3, r3 80a484c: 2b02 cmp r3, #2 80a484e: d012 beq.n 80a4876 if(pardata.LANG == RUS) 80a4850: 4b44 ldr r3, [pc, #272] ; (80a4964 ) 80a4852: 7b1b ldrb r3, [r3, #12] 80a4854: b2db uxtb r3, r3 80a4856: 2b00 cmp r3, #0 80a4858: d106 bne.n 80a4868 BSP_LCD_DisplayStringAt(220, 45, "#&", LEFT_MODE); 80a485a: 2303 movs r3, #3 80a485c: 4a4f ldr r2, [pc, #316] ; (80a499c ) 80a485e: 212d movs r1, #45 ; 0x2d 80a4860: 20dc movs r0, #220 ; 0xdc 80a4862: f7af f869 bl 8053938 80a4866: e018 b.n 80a489a else BSP_LCD_DisplayStringAt(220, 45, "nm", LEFT_MODE); 80a4868: 2303 movs r3, #3 80a486a: 4a4d ldr r2, [pc, #308] ; (80a49a0 ) 80a486c: 212d movs r1, #45 ; 0x2d 80a486e: 20dc movs r0, #220 ; 0xdc 80a4870: f7af f862 bl 8053938 80a4874: e011 b.n 80a489a if(pardata.LANG == RUS) 80a4876: 4b3b ldr r3, [pc, #236] ; (80a4964 ) 80a4878: 7b1b ldrb r3, [r3, #12] 80a487a: b2db uxtb r3, r3 80a487c: 2b00 cmp r3, #0 80a487e: d106 bne.n 80a488e BSP_LCD_DisplayStringAt(220, 45, "&kB", LEFT_MODE); 80a4880: 2303 movs r3, #3 80a4882: 4a42 ldr r2, [pc, #264] ; (80a498c ) 80a4884: 212d movs r1, #45 ; 0x2d 80a4886: 20dc movs r0, #220 ; 0xdc 80a4888: f7af f856 bl 8053938 80a488c: e005 b.n 80a489a else BSP_LCD_DisplayStringAt(220, 45, "uV", LEFT_MODE); 80a488e: 2303 movs r3, #3 80a4890: 4a3f ldr r2, [pc, #252] ; (80a4990 ) 80a4892: 212d movs r1, #45 ; 0x2d 80a4894: 20dc movs r0, #220 ; 0xdc 80a4896: f7af f84f bl 8053938 BSP_LCD_DisplayStringAt(217, 45, (char *)FloatToASCII(Val, -4), RIGHT_MODE); 80a489a: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a489e: f06f 0003 mvn.w r0, #3 80a48a2: eeb0 0a67 vmov.f32 s0, s15 80a48a6: f7c1 ff2b bl 8066700 80a48aa: 4602 mov r2, r0 80a48ac: 2302 movs r3, #2 80a48ae: 212d movs r1, #45 ; 0x2d 80a48b0: 20d9 movs r0, #217 ; 0xd9 80a48b2: f7af f841 bl 8053938 LCD_SetColors(LCD_COLOR_GRAY, 0xFF000000); 80a48b6: f04f 417f mov.w r1, #4278190080 ; 0xff000000 80a48ba: 483a ldr r0, [pc, #232] ; (80a49a4 ) 80a48bc: f7ae ff76 bl 80537ac tmpF = (float32_t) fineMpos; 80a48c0: 4b39 ldr r3, [pc, #228] ; (80a49a8 ) 80a48c2: 881b ldrh r3, [r3, #0] 80a48c4: b29b uxth r3, r3 80a48c6: ee07 3a90 vmov s15, r3 80a48ca: eef8 7a67 vcvt.f32.u32 s15, s15 80a48ce: edc7 7a16 vstr s15, [r7, #88] ; 0x58 if(tmpF != TF) 80a48d2: 4b36 ldr r3, [pc, #216] ; (80a49ac ) 80a48d4: edd3 7a00 vldr s15, [r3] 80a48d8: ed97 7a16 vldr s14, [r7, #88] ; 0x58 80a48dc: eeb4 7a67 vcmp.f32 s14, s15 80a48e0: eef1 fa10 vmrs APSR_nzcv, fpscr 80a48e4: d01d beq.n 80a4922 TF = tmpF; 80a48e6: 4a31 ldr r2, [pc, #196] ; (80a49ac ) 80a48e8: 6dbb ldr r3, [r7, #88] ; 0x58 80a48ea: 6013 str r3, [r2, #0] TF *= Delta_SPC[pardata.FRQ][pardata.LNE]; 80a48ec: 4b1d ldr r3, [pc, #116] ; (80a4964 ) 80a48ee: 7adb ldrb r3, [r3, #11] 80a48f0: b2db uxtb r3, r3 80a48f2: 4618 mov r0, r3 80a48f4: 4b1b ldr r3, [pc, #108] ; (80a4964 ) 80a48f6: 79db ldrb r3, [r3, #7] 80a48f8: b2db uxtb r3, r3 80a48fa: 4619 mov r1, r3 80a48fc: 4a2c ldr r2, [pc, #176] ; (80a49b0 ) 80a48fe: 0083 lsls r3, r0, #2 80a4900: 440b add r3, r1 80a4902: 009b lsls r3, r3, #2 80a4904: 4413 add r3, r2 80a4906: ed93 7a00 vldr s14, [r3] 80a490a: 4b28 ldr r3, [pc, #160] ; (80a49ac ) 80a490c: edd3 7a00 vldr s15, [r3] 80a4910: ee67 7a27 vmul.f32 s15, s14, s15 80a4914: 4b25 ldr r3, [pc, #148] ; (80a49ac ) 80a4916: edc3 7a00 vstr s15, [r3] oldTF = TF; 80a491a: 4b24 ldr r3, [pc, #144] ; (80a49ac ) 80a491c: 681b ldr r3, [r3, #0] 80a491e: 4a25 ldr r2, [pc, #148] ; (80a49b4 ) 80a4920: 6013 str r3, [r2, #0] tmpF = TF; 80a4922: 4b22 ldr r3, [pc, #136] ; (80a49ac ) 80a4924: 681b ldr r3, [r3, #0] 80a4926: 65bb str r3, [r7, #88] ; 0x58 if(tmpF >= 1000.0f) 80a4928: edd7 7a16 vldr s15, [r7, #88] ; 0x58 80a492c: ed9f 7a14 vldr s14, [pc, #80] ; 80a4980 80a4930: eef4 7ac7 vcmpe.f32 s15, s14 80a4934: eef1 fa10 vmrs APSR_nzcv, fpscr 80a4938: db58 blt.n 80a49ec tmpF *= 0.001f; 80a493a: edd7 7a16 vldr s15, [r7, #88] ; 0x58 80a493e: ed9f 7a1e vldr s14, [pc, #120] ; 80a49b8 80a4942: ee67 7a87 vmul.f32 s15, s15, s14 80a4946: edc7 7a16 vstr s15, [r7, #88] ; 0x58 if(pardata.LANG == RUS) 80a494a: 4b06 ldr r3, [pc, #24] ; (80a4964 ) 80a494c: 7b1b ldrb r3, [r3, #12] 80a494e: b2db uxtb r3, r3 80a4950: 2b00 cmp r3, #0 80a4952: d135 bne.n 80a49c0 BSP_LCD_DisplayStringAt(302, 45, "k$%", LEFT_MODE); 80a4954: 2303 movs r3, #3 80a4956: 4a19 ldr r2, [pc, #100] ; (80a49bc ) 80a4958: 212d movs r1, #45 ; 0x2d 80a495a: f44f 7097 mov.w r0, #302 ; 0x12e 80a495e: f7ae ffeb bl 8053938 80a4962: e034 b.n 80a49ce 80a4964: 20023e60 .word 0x20023e60 80a4968: 080d0aa8 .word 0x080d0aa8 80a496c: 080d09d0 .word 0x080d09d0 80a4970: 080d0aa0 .word 0x080d0aa0 80a4974: 080d0aa4 .word 0x080d0aa4 80a4978: 080d0ab0 .word 0x080d0ab0 80a497c: 080d09dc .word 0x080d09dc 80a4980: 447a0000 .word 0x447a0000 80a4984: 080d0a60 .word 0x080d0a60 80a4988: 080d09e8 .word 0x080d09e8 80a498c: 080d0ab4 .word 0x080d0ab4 80a4990: 080d0a0c .word 0x080d0a0c 80a4994: 080d0ab8 .word 0x080d0ab8 80a4998: 080d09f8 .word 0x080d09f8 80a499c: 080d0ac0 .word 0x080d0ac0 80a49a0: 080d0a04 .word 0x080d0a04 80a49a4: ff808080 .word 0xff808080 80a49a8: 20025d1c .word 0x20025d1c 80a49ac: 20021570 .word 0x20021570 80a49b0: 080ef668 .word 0x080ef668 80a49b4: 20021648 .word 0x20021648 80a49b8: 3a83126f .word 0x3a83126f 80a49bc: 080d0ac4 .word 0x080d0ac4 else BSP_LCD_DisplayStringAt(302, 45, "kHz", LEFT_MODE); 80a49c0: 2303 movs r3, #3 80a49c2: 4ac1 ldr r2, [pc, #772] ; (80a4cc8 ) 80a49c4: 212d movs r1, #45 ; 0x2d 80a49c6: f44f 7097 mov.w r0, #302 ; 0x12e 80a49ca: f7ae ffb5 bl 8053938 BSP_LCD_DisplayStringAt(299, 45, (char *)FloatToASCII(tmpF, -4), RIGHT_MODE); 80a49ce: f06f 0003 mvn.w r0, #3 80a49d2: ed97 0a16 vldr s0, [r7, #88] ; 0x58 80a49d6: f7c1 fe93 bl 8066700 80a49da: 4602 mov r2, r0 80a49dc: 2302 movs r3, #2 80a49de: 212d movs r1, #45 ; 0x2d 80a49e0: f240 102b movw r0, #299 ; 0x12b 80a49e4: f7ae ffa8 bl 8053938 if(tmpF >= 1000.0f) 80a49e8: f001 bb14 b.w 80a6014 if(tmpF >= 0.1f) 80a49ec: edd7 7a16 vldr s15, [r7, #88] ; 0x58 80a49f0: ed9f 7ab6 vldr s14, [pc, #728] ; 80a4ccc 80a49f4: eef4 7ac7 vcmpe.f32 s15, s14 80a49f8: eef1 fa10 vmrs APSR_nzcv, fpscr 80a49fc: db22 blt.n 80a4a44 if(pardata.LANG == RUS) 80a49fe: 4bb4 ldr r3, [pc, #720] ; (80a4cd0 ) 80a4a00: 7b1b ldrb r3, [r3, #12] 80a4a02: b2db uxtb r3, r3 80a4a04: 2b00 cmp r3, #0 80a4a06: d107 bne.n 80a4a18 BSP_LCD_DisplayStringAt(302, 45, "$%", LEFT_MODE); 80a4a08: 2303 movs r3, #3 80a4a0a: 4ab2 ldr r2, [pc, #712] ; (80a4cd4 ) 80a4a0c: 212d movs r1, #45 ; 0x2d 80a4a0e: f44f 7097 mov.w r0, #302 ; 0x12e 80a4a12: f7ae ff91 bl 8053938 80a4a16: e006 b.n 80a4a26 else BSP_LCD_DisplayStringAt(302, 45, "Hz", LEFT_MODE); 80a4a18: 2303 movs r3, #3 80a4a1a: 4aaf ldr r2, [pc, #700] ; (80a4cd8 ) 80a4a1c: 212d movs r1, #45 ; 0x2d 80a4a1e: f44f 7097 mov.w r0, #302 ; 0x12e 80a4a22: f7ae ff89 bl 8053938 BSP_LCD_DisplayStringAt(299, 45, (char *)FloatToASCII(tmpF, -3), RIGHT_MODE); 80a4a26: f06f 0002 mvn.w r0, #2 80a4a2a: ed97 0a16 vldr s0, [r7, #88] ; 0x58 80a4a2e: f7c1 fe67 bl 8066700 80a4a32: 4602 mov r2, r0 80a4a34: 2302 movs r3, #2 80a4a36: 212d movs r1, #45 ; 0x2d 80a4a38: f240 102b movw r0, #299 ; 0x12b 80a4a3c: f7ae ff7c bl 8053938 if(tmpF >= 1000.0f) 80a4a40: f001 bae8 b.w 80a6014 tmpF *= 1000.0f; 80a4a44: edd7 7a16 vldr s15, [r7, #88] ; 0x58 80a4a48: ed9f 7aa4 vldr s14, [pc, #656] ; 80a4cdc 80a4a4c: ee67 7a87 vmul.f32 s15, s15, s14 80a4a50: edc7 7a16 vstr s15, [r7, #88] ; 0x58 if(pardata.LANG == RUS) 80a4a54: 4b9e ldr r3, [pc, #632] ; (80a4cd0 ) 80a4a56: 7b1b ldrb r3, [r3, #12] 80a4a58: b2db uxtb r3, r3 80a4a5a: 2b00 cmp r3, #0 80a4a5c: d107 bne.n 80a4a6e BSP_LCD_DisplayStringAt(302, 45, "&$%", LEFT_MODE); 80a4a5e: 2303 movs r3, #3 80a4a60: 4a9f ldr r2, [pc, #636] ; (80a4ce0 ) 80a4a62: 212d movs r1, #45 ; 0x2d 80a4a64: f44f 7097 mov.w r0, #302 ; 0x12e 80a4a68: f7ae ff66 bl 8053938 80a4a6c: e006 b.n 80a4a7c else BSP_LCD_DisplayStringAt(302, 45, "mHz", LEFT_MODE); 80a4a6e: 2303 movs r3, #3 80a4a70: 4a9c ldr r2, [pc, #624] ; (80a4ce4 ) 80a4a72: 212d movs r1, #45 ; 0x2d 80a4a74: f44f 7097 mov.w r0, #302 ; 0x12e 80a4a78: f7ae ff5e bl 8053938 BSP_LCD_DisplayStringAt(299, 45, (char *)FloatToASCII(tmpF, -2), RIGHT_MODE); 80a4a7c: f06f 0001 mvn.w r0, #1 80a4a80: ed97 0a16 vldr s0, [r7, #88] ; 0x58 80a4a84: f7c1 fe3c bl 8066700 80a4a88: 4602 mov r2, r0 80a4a8a: 2302 movs r3, #2 80a4a8c: 212d movs r1, #45 ; 0x2d 80a4a8e: f240 102b movw r0, #299 ; 0x12b 80a4a92: f7ae ff51 bl 8053938 if(tmpF >= 1000.0f) 80a4a96: f001 babd b.w 80a6014 if(pardata.SYG == SPEC_OKT) 80a4a9a: 4b8d ldr r3, [pc, #564] ; (80a4cd0 ) 80a4a9c: 781b ldrb r3, [r3, #0] 80a4a9e: b2db uxtb r3, r3 80a4aa0: 2b06 cmp r3, #6 80a4aa2: f040 8334 bne.w 80a510e CurVal = ScrA_f32(CURSOR); 80a4aa6: 4b90 ldr r3, [pc, #576] ; (80a4ce8 ) 80a4aa8: 681b ldr r3, [r3, #0] 80a4aaa: 009a lsls r2, r3, #2 80a4aac: 4b8f ldr r3, [pc, #572] ; (80a4cec ) 80a4aae: 4413 add r3, r2 80a4ab0: 681b ldr r3, [r3, #0] 80a4ab2: 4a8f ldr r2, [pc, #572] ; (80a4cf0 ) 80a4ab4: 6013 str r3, [r2, #0] if(pardata.MSH == LOG) 80a4ab6: 4b86 ldr r3, [pc, #536] ; (80a4cd0 ) 80a4ab8: 7a9b ldrb r3, [r3, #10] 80a4aba: b2db uxtb r3, r3 80a4abc: 2b01 cmp r3, #1 80a4abe: d111 bne.n 80a4ae4 if(pardata.IIN != VOLTS) 80a4ac0: 4b83 ldr r3, [pc, #524] ; (80a4cd0 ) 80a4ac2: 799b ldrb r3, [r3, #6] 80a4ac4: b2db uxtb r3, r3 80a4ac6: 2b02 cmp r3, #2 80a4ac8: d004 beq.n 80a4ad4 LinToLog(&CurVal, &CurVal); 80a4aca: 4989 ldr r1, [pc, #548] ; (80a4cf0 ) 80a4acc: 4888 ldr r0, [pc, #544] ; (80a4cf0 ) 80a4ace: f7c0 f9eb bl 8064ea8 80a4ad2: e007 b.n 80a4ae4 else LinToLog_mV(&CurVal, &CurVal, pardata.IPR); 80a4ad4: 4b7e ldr r3, [pc, #504] ; (80a4cd0 ) 80a4ad6: 785b ldrb r3, [r3, #1] 80a4ad8: b2db uxtb r3, r3 80a4ada: 461a mov r2, r3 80a4adc: 4984 ldr r1, [pc, #528] ; (80a4cf0 ) 80a4ade: 4884 ldr r0, [pc, #528] ; (80a4cf0 ) 80a4ae0: f7c0 fa12 bl 8064f08 LCD_SetColors(LCD_COLOR_MYGREEN, 0xFF000000); 80a4ae4: f04f 417f mov.w r1, #4278190080 ; 0xff000000 80a4ae8: 4882 ldr r0, [pc, #520] ; (80a4cf4 ) 80a4aea: f7ae fe5f bl 80537ac Val = CurVal; 80a4aee: 4b80 ldr r3, [pc, #512] ; (80a4cf0 ) 80a4af0: 681b ldr r3, [r3, #0] 80a4af2: 643b str r3, [r7, #64] ; 0x40 if(pardata.MSH == LOG) 80a4af4: 4b76 ldr r3, [pc, #472] ; (80a4cd0 ) 80a4af6: 7a9b ldrb r3, [r3, #10] 80a4af8: b2db uxtb r3, r3 80a4afa: 2b01 cmp r3, #1 80a4afc: d114 bne.n 80a4b28 BSP_LCD_DisplayStringAt(220, 45, "dB", LEFT_MODE); 80a4afe: 2303 movs r3, #3 80a4b00: 4a7d ldr r2, [pc, #500] ; (80a4cf8 ) 80a4b02: 212d movs r1, #45 ; 0x2d 80a4b04: 20dc movs r0, #220 ; 0xdc 80a4b06: f7ae ff17 bl 8053938 BSP_LCD_DisplayStringAt(217, 45, (char *) FloatToASCII(Val, -1), RIGHT_MODE); 80a4b0a: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a4b0e: f04f 30ff mov.w r0, #4294967295 80a4b12: eeb0 0a67 vmov.f32 s0, s15 80a4b16: f7c1 fdf3 bl 8066700 80a4b1a: 4602 mov r2, r0 80a4b1c: 2302 movs r3, #2 80a4b1e: 212d movs r1, #45 ; 0x2d 80a4b20: 20d9 movs r0, #217 ; 0xd9 80a4b22: f7ae ff09 bl 8053938 80a4b26: e22a b.n 80a4f7e if(Val >= 1000.0f) 80a4b28: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a4b2c: ed9f 7a6b vldr s14, [pc, #428] ; 80a4cdc 80a4b30: eef4 7ac7 vcmpe.f32 s15, s14 80a4b34: eef1 fa10 vmrs APSR_nzcv, fpscr 80a4b38: f2c0 80a6 blt.w 80a4c88 Val *= 0.001f; 80a4b3c: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a4b40: ed9f 7a6e vldr s14, [pc, #440] ; 80a4cfc 80a4b44: ee67 7a87 vmul.f32 s15, s15, s14 80a4b48: edc7 7a10 vstr s15, [r7, #64] ; 0x40 if(pardata.IPR == ACC) 80a4b4c: 4b60 ldr r3, [pc, #384] ; (80a4cd0 ) 80a4b4e: 785b ldrb r3, [r3, #1] 80a4b50: b2db uxtb r3, r3 80a4b52: 2b00 cmp r3, #0 80a4b54: d12a bne.n 80a4bac if(pardata.IIN != VOLTS) 80a4b56: 4b5e ldr r3, [pc, #376] ; (80a4cd0 ) 80a4b58: 799b ldrb r3, [r3, #6] 80a4b5a: b2db uxtb r3, r3 80a4b5c: 2b02 cmp r3, #2 80a4b5e: d012 beq.n 80a4b86 if(pardata.LANG == RUS) 80a4b60: 4b5b ldr r3, [pc, #364] ; (80a4cd0 ) 80a4b62: 7b1b ldrb r3, [r3, #12] 80a4b64: b2db uxtb r3, r3 80a4b66: 2b00 cmp r3, #0 80a4b68: d106 bne.n 80a4b78 BSP_LCD_DisplayStringAt(220, 45, "k&/c^", LEFT_MODE); 80a4b6a: 2303 movs r3, #3 80a4b6c: 4a64 ldr r2, [pc, #400] ; (80a4d00 ) 80a4b6e: 212d movs r1, #45 ; 0x2d 80a4b70: 20dc movs r0, #220 ; 0xdc 80a4b72: f7ae fee1 bl 8053938 80a4b76: e078 b.n 80a4c6a else BSP_LCD_DisplayStringAt(220, 45, "km/s^", LEFT_MODE); 80a4b78: 2303 movs r3, #3 80a4b7a: 4a62 ldr r2, [pc, #392] ; (80a4d04 ) 80a4b7c: 212d movs r1, #45 ; 0x2d 80a4b7e: 20dc movs r0, #220 ; 0xdc 80a4b80: f7ae feda bl 8053938 80a4b84: e071 b.n 80a4c6a if(pardata.LANG == RUS) 80a4b86: 4b52 ldr r3, [pc, #328] ; (80a4cd0 ) 80a4b88: 7b1b ldrb r3, [r3, #12] 80a4b8a: b2db uxtb r3, r3 80a4b8c: 2b00 cmp r3, #0 80a4b8e: d106 bne.n 80a4b9e BSP_LCD_DisplayStringAt(220, 45, "B", LEFT_MODE); 80a4b90: 2303 movs r3, #3 80a4b92: 4a5d ldr r2, [pc, #372] ; (80a4d08 ) 80a4b94: 212d movs r1, #45 ; 0x2d 80a4b96: 20dc movs r0, #220 ; 0xdc 80a4b98: f7ae fece bl 8053938 80a4b9c: e065 b.n 80a4c6a else BSP_LCD_DisplayStringAt(220, 45, "V", LEFT_MODE); 80a4b9e: 2303 movs r3, #3 80a4ba0: 4a5a ldr r2, [pc, #360] ; (80a4d0c ) 80a4ba2: 212d movs r1, #45 ; 0x2d 80a4ba4: 20dc movs r0, #220 ; 0xdc 80a4ba6: f7ae fec7 bl 8053938 80a4baa: e05e b.n 80a4c6a if(pardata.IPR == VEL) 80a4bac: 4b48 ldr r3, [pc, #288] ; (80a4cd0 ) 80a4bae: 785b ldrb r3, [r3, #1] 80a4bb0: b2db uxtb r3, r3 80a4bb2: 2b01 cmp r3, #1 80a4bb4: d12a bne.n 80a4c0c if(pardata.IIN != VOLTS) 80a4bb6: 4b46 ldr r3, [pc, #280] ; (80a4cd0 ) 80a4bb8: 799b ldrb r3, [r3, #6] 80a4bba: b2db uxtb r3, r3 80a4bbc: 2b02 cmp r3, #2 80a4bbe: d012 beq.n 80a4be6 if(pardata.LANG == RUS) 80a4bc0: 4b43 ldr r3, [pc, #268] ; (80a4cd0 ) 80a4bc2: 7b1b ldrb r3, [r3, #12] 80a4bc4: b2db uxtb r3, r3 80a4bc6: 2b00 cmp r3, #0 80a4bc8: d106 bne.n 80a4bd8 BSP_LCD_DisplayStringAt(220, 45, "&/c", LEFT_MODE); 80a4bca: 2303 movs r3, #3 80a4bcc: 4a50 ldr r2, [pc, #320] ; (80a4d10 ) 80a4bce: 212d movs r1, #45 ; 0x2d 80a4bd0: 20dc movs r0, #220 ; 0xdc 80a4bd2: f7ae feb1 bl 8053938 80a4bd6: e048 b.n 80a4c6a else BSP_LCD_DisplayStringAt(220, 45, "m/s", LEFT_MODE); 80a4bd8: 2303 movs r3, #3 80a4bda: 4a4e ldr r2, [pc, #312] ; (80a4d14 ) 80a4bdc: 212d movs r1, #45 ; 0x2d 80a4bde: 20dc movs r0, #220 ; 0xdc 80a4be0: f7ae feaa bl 8053938 80a4be4: e041 b.n 80a4c6a if(pardata.LANG == RUS) 80a4be6: 4b3a ldr r3, [pc, #232] ; (80a4cd0 ) 80a4be8: 7b1b ldrb r3, [r3, #12] 80a4bea: b2db uxtb r3, r3 80a4bec: 2b00 cmp r3, #0 80a4bee: d106 bne.n 80a4bfe BSP_LCD_DisplayStringAt(220, 45, "B", LEFT_MODE); 80a4bf0: 2303 movs r3, #3 80a4bf2: 4a45 ldr r2, [pc, #276] ; (80a4d08 ) 80a4bf4: 212d movs r1, #45 ; 0x2d 80a4bf6: 20dc movs r0, #220 ; 0xdc 80a4bf8: f7ae fe9e bl 8053938 80a4bfc: e035 b.n 80a4c6a else BSP_LCD_DisplayStringAt(220, 45, "V", LEFT_MODE); 80a4bfe: 2303 movs r3, #3 80a4c00: 4a42 ldr r2, [pc, #264] ; (80a4d0c ) 80a4c02: 212d movs r1, #45 ; 0x2d 80a4c04: 20dc movs r0, #220 ; 0xdc 80a4c06: f7ae fe97 bl 8053938 80a4c0a: e02e b.n 80a4c6a if(pardata.IPR == DIS) 80a4c0c: 4b30 ldr r3, [pc, #192] ; (80a4cd0 ) 80a4c0e: 785b ldrb r3, [r3, #1] 80a4c10: b2db uxtb r3, r3 80a4c12: 2b02 cmp r3, #2 80a4c14: d129 bne.n 80a4c6a if(pardata.IIN != VOLTS) 80a4c16: 4b2e ldr r3, [pc, #184] ; (80a4cd0 ) 80a4c18: 799b ldrb r3, [r3, #6] 80a4c1a: b2db uxtb r3, r3 80a4c1c: 2b02 cmp r3, #2 80a4c1e: d012 beq.n 80a4c46 if(pardata.LANG == RUS) 80a4c20: 4b2b ldr r3, [pc, #172] ; (80a4cd0 ) 80a4c22: 7b1b ldrb r3, [r3, #12] 80a4c24: b2db uxtb r3, r3 80a4c26: 2b00 cmp r3, #0 80a4c28: d106 bne.n 80a4c38 BSP_LCD_DisplayStringAt(220, 45, "&&", LEFT_MODE); 80a4c2a: 2303 movs r3, #3 80a4c2c: 4a3a ldr r2, [pc, #232] ; (80a4d18 ) 80a4c2e: 212d movs r1, #45 ; 0x2d 80a4c30: 20dc movs r0, #220 ; 0xdc 80a4c32: f7ae fe81 bl 8053938 80a4c36: e018 b.n 80a4c6a else BSP_LCD_DisplayStringAt(220, 45, "mm", LEFT_MODE); 80a4c38: 2303 movs r3, #3 80a4c3a: 4a38 ldr r2, [pc, #224] ; (80a4d1c ) 80a4c3c: 212d movs r1, #45 ; 0x2d 80a4c3e: 20dc movs r0, #220 ; 0xdc 80a4c40: f7ae fe7a bl 8053938 80a4c44: e011 b.n 80a4c6a if(pardata.LANG == RUS) 80a4c46: 4b22 ldr r3, [pc, #136] ; (80a4cd0 ) 80a4c48: 7b1b ldrb r3, [r3, #12] 80a4c4a: b2db uxtb r3, r3 80a4c4c: 2b00 cmp r3, #0 80a4c4e: d106 bne.n 80a4c5e BSP_LCD_DisplayStringAt(220, 45, "B", LEFT_MODE); 80a4c50: 2303 movs r3, #3 80a4c52: 4a2d ldr r2, [pc, #180] ; (80a4d08 ) 80a4c54: 212d movs r1, #45 ; 0x2d 80a4c56: 20dc movs r0, #220 ; 0xdc 80a4c58: f7ae fe6e bl 8053938 80a4c5c: e005 b.n 80a4c6a else BSP_LCD_DisplayStringAt(220, 45, "V", LEFT_MODE); 80a4c5e: 2303 movs r3, #3 80a4c60: 4a2a ldr r2, [pc, #168] ; (80a4d0c ) 80a4c62: 212d movs r1, #45 ; 0x2d 80a4c64: 20dc movs r0, #220 ; 0xdc 80a4c66: f7ae fe67 bl 8053938 BSP_LCD_DisplayStringAt(217, 45, (char *)FloatToASCII(Val, -4), RIGHT_MODE); 80a4c6a: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a4c6e: f06f 0003 mvn.w r0, #3 80a4c72: eeb0 0a67 vmov.f32 s0, s15 80a4c76: f7c1 fd43 bl 8066700 80a4c7a: 4602 mov r2, r0 80a4c7c: 2302 movs r3, #2 80a4c7e: 212d movs r1, #45 ; 0x2d 80a4c80: 20d9 movs r0, #217 ; 0xd9 80a4c82: f7ae fe59 bl 8053938 80a4c86: e17a b.n 80a4f7e if(Val >= 0.1f) 80a4c88: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a4c8c: ed9f 7a0f vldr s14, [pc, #60] ; 80a4ccc 80a4c90: eef4 7ac7 vcmpe.f32 s15, s14 80a4c94: eef1 fa10 vmrs APSR_nzcv, fpscr 80a4c98: f2c0 80cc blt.w 80a4e34 if(pardata.IPR == ACC) 80a4c9c: 4b0c ldr r3, [pc, #48] ; (80a4cd0 ) 80a4c9e: 785b ldrb r3, [r3, #1] 80a4ca0: b2db uxtb r3, r3 80a4ca2: 2b00 cmp r3, #0 80a4ca4: d158 bne.n 80a4d58 if(pardata.IIN != VOLTS) 80a4ca6: 4b0a ldr r3, [pc, #40] ; (80a4cd0 ) 80a4ca8: 799b ldrb r3, [r3, #6] 80a4caa: b2db uxtb r3, r3 80a4cac: 2b02 cmp r3, #2 80a4cae: d040 beq.n 80a4d32 if(pardata.LANG == RUS) 80a4cb0: 4b07 ldr r3, [pc, #28] ; (80a4cd0 ) 80a4cb2: 7b1b ldrb r3, [r3, #12] 80a4cb4: b2db uxtb r3, r3 80a4cb6: 2b00 cmp r3, #0 80a4cb8: d134 bne.n 80a4d24 BSP_LCD_DisplayStringAt(220, 45, "&/c^", LEFT_MODE); 80a4cba: 2303 movs r3, #3 80a4cbc: 4a18 ldr r2, [pc, #96] ; (80a4d20 ) 80a4cbe: 212d movs r1, #45 ; 0x2d 80a4cc0: 20dc movs r0, #220 ; 0xdc 80a4cc2: f7ae fe39 bl 8053938 80a4cc6: e0a6 b.n 80a4e16 80a4cc8: 080d0ac8 .word 0x080d0ac8 80a4ccc: 3dcccccd .word 0x3dcccccd 80a4cd0: 20023e60 .word 0x20023e60 80a4cd4: 080d0a8c .word 0x080d0a8c 80a4cd8: 080d0a90 .word 0x080d0a90 80a4cdc: 447a0000 .word 0x447a0000 80a4ce0: 080d0acc .word 0x080d0acc 80a4ce4: 080d0ad0 .word 0x080d0ad0 80a4ce8: 2002006c .word 0x2002006c 80a4cec: 64080000 .word 0x64080000 80a4cf0: 2002156c .word 0x2002156c 80a4cf4: ff26a01f .word 0xff26a01f 80a4cf8: 080d0a88 .word 0x080d0a88 80a4cfc: 3a83126f .word 0x3a83126f 80a4d00: 080d0a40 .word 0x080d0a40 80a4d04: 080d09a0 .word 0x080d09a0 80a4d08: 080d0a94 .word 0x080d0a94 80a4d0c: 080ce6a0 .word 0x080ce6a0 80a4d10: 080d0a98 .word 0x080d0a98 80a4d14: 080d09ac .word 0x080d09ac 80a4d18: 080d0a9c .word 0x080d0a9c 80a4d1c: 080d09b4 .word 0x080d09b4 80a4d20: 080d0a50 .word 0x080d0a50 else BSP_LCD_DisplayStringAt(220, 45, "m/s^", LEFT_MODE); 80a4d24: 2303 movs r3, #3 80a4d26: 4ab6 ldr r2, [pc, #728] ; (80a5000 ) 80a4d28: 212d movs r1, #45 ; 0x2d 80a4d2a: 20dc movs r0, #220 ; 0xdc 80a4d2c: f7ae fe04 bl 8053938 80a4d30: e071 b.n 80a4e16 if(pardata.LANG == RUS) 80a4d32: 4bb4 ldr r3, [pc, #720] ; (80a5004 ) 80a4d34: 7b1b ldrb r3, [r3, #12] 80a4d36: b2db uxtb r3, r3 80a4d38: 2b00 cmp r3, #0 80a4d3a: d106 bne.n 80a4d4a BSP_LCD_DisplayStringAt(220, 45, "&B", LEFT_MODE); 80a4d3c: 2303 movs r3, #3 80a4d3e: 4ab2 ldr r2, [pc, #712] ; (80a5008 ) 80a4d40: 212d movs r1, #45 ; 0x2d 80a4d42: 20dc movs r0, #220 ; 0xdc 80a4d44: f7ae fdf8 bl 8053938 80a4d48: e065 b.n 80a4e16 else BSP_LCD_DisplayStringAt(220, 45, "mV", LEFT_MODE); 80a4d4a: 2303 movs r3, #3 80a4d4c: 4aaf ldr r2, [pc, #700] ; (80a500c ) 80a4d4e: 212d movs r1, #45 ; 0x2d 80a4d50: 20dc movs r0, #220 ; 0xdc 80a4d52: f7ae fdf1 bl 8053938 80a4d56: e05e b.n 80a4e16 else if(pardata.IPR == VEL) 80a4d58: 4baa ldr r3, [pc, #680] ; (80a5004 ) 80a4d5a: 785b ldrb r3, [r3, #1] 80a4d5c: b2db uxtb r3, r3 80a4d5e: 2b01 cmp r3, #1 80a4d60: d12a bne.n 80a4db8 if(pardata.IIN != VOLTS) 80a4d62: 4ba8 ldr r3, [pc, #672] ; (80a5004 ) 80a4d64: 799b ldrb r3, [r3, #6] 80a4d66: b2db uxtb r3, r3 80a4d68: 2b02 cmp r3, #2 80a4d6a: d012 beq.n 80a4d92 if(pardata.LANG == RUS) 80a4d6c: 4ba5 ldr r3, [pc, #660] ; (80a5004 ) 80a4d6e: 7b1b ldrb r3, [r3, #12] 80a4d70: b2db uxtb r3, r3 80a4d72: 2b00 cmp r3, #0 80a4d74: d106 bne.n 80a4d84 BSP_LCD_DisplayStringAt(220, 45, "&&/c", LEFT_MODE); 80a4d76: 2303 movs r3, #3 80a4d78: 4aa5 ldr r2, [pc, #660] ; (80a5010 ) 80a4d7a: 212d movs r1, #45 ; 0x2d 80a4d7c: 20dc movs r0, #220 ; 0xdc 80a4d7e: f7ae fddb bl 8053938 80a4d82: e048 b.n 80a4e16 else BSP_LCD_DisplayStringAt(220, 45, "mm/s", LEFT_MODE); 80a4d84: 2303 movs r3, #3 80a4d86: 4aa3 ldr r2, [pc, #652] ; (80a5014 ) 80a4d88: 212d movs r1, #45 ; 0x2d 80a4d8a: 20dc movs r0, #220 ; 0xdc 80a4d8c: f7ae fdd4 bl 8053938 80a4d90: e041 b.n 80a4e16 if(pardata.LANG == RUS) 80a4d92: 4b9c ldr r3, [pc, #624] ; (80a5004 ) 80a4d94: 7b1b ldrb r3, [r3, #12] 80a4d96: b2db uxtb r3, r3 80a4d98: 2b00 cmp r3, #0 80a4d9a: d106 bne.n 80a4daa BSP_LCD_DisplayStringAt(220, 45, "&B", LEFT_MODE); 80a4d9c: 2303 movs r3, #3 80a4d9e: 4a9a ldr r2, [pc, #616] ; (80a5008 ) 80a4da0: 212d movs r1, #45 ; 0x2d 80a4da2: 20dc movs r0, #220 ; 0xdc 80a4da4: f7ae fdc8 bl 8053938 80a4da8: e035 b.n 80a4e16 else BSP_LCD_DisplayStringAt(220, 45, "mV", LEFT_MODE); 80a4daa: 2303 movs r3, #3 80a4dac: 4a97 ldr r2, [pc, #604] ; (80a500c ) 80a4dae: 212d movs r1, #45 ; 0x2d 80a4db0: 20dc movs r0, #220 ; 0xdc 80a4db2: f7ae fdc1 bl 8053938 80a4db6: e02e b.n 80a4e16 else if(pardata.IPR == DIS) 80a4db8: 4b92 ldr r3, [pc, #584] ; (80a5004 ) 80a4dba: 785b ldrb r3, [r3, #1] 80a4dbc: b2db uxtb r3, r3 80a4dbe: 2b02 cmp r3, #2 80a4dc0: d129 bne.n 80a4e16 if(pardata.IIN != VOLTS) 80a4dc2: 4b90 ldr r3, [pc, #576] ; (80a5004 ) 80a4dc4: 799b ldrb r3, [r3, #6] 80a4dc6: b2db uxtb r3, r3 80a4dc8: 2b02 cmp r3, #2 80a4dca: d012 beq.n 80a4df2 if(pardata.LANG == RUS) 80a4dcc: 4b8d ldr r3, [pc, #564] ; (80a5004 ) 80a4dce: 7b1b ldrb r3, [r3, #12] 80a4dd0: b2db uxtb r3, r3 80a4dd2: 2b00 cmp r3, #0 80a4dd4: d106 bne.n 80a4de4 BSP_LCD_DisplayStringAt(220, 45, "&k&", LEFT_MODE); 80a4dd6: 2303 movs r3, #3 80a4dd8: 4a8f ldr r2, [pc, #572] ; (80a5018 ) 80a4dda: 212d movs r1, #45 ; 0x2d 80a4ddc: 20dc movs r0, #220 ; 0xdc 80a4dde: f7ae fdab bl 8053938 80a4de2: e018 b.n 80a4e16 else BSP_LCD_DisplayStringAt(220, 45, "um", LEFT_MODE); 80a4de4: 2303 movs r3, #3 80a4de6: 4a8d ldr r2, [pc, #564] ; (80a501c ) 80a4de8: 212d movs r1, #45 ; 0x2d 80a4dea: 20dc movs r0, #220 ; 0xdc 80a4dec: f7ae fda4 bl 8053938 80a4df0: e011 b.n 80a4e16 if(pardata.LANG == RUS) 80a4df2: 4b84 ldr r3, [pc, #528] ; (80a5004 ) 80a4df4: 7b1b ldrb r3, [r3, #12] 80a4df6: b2db uxtb r3, r3 80a4df8: 2b00 cmp r3, #0 80a4dfa: d106 bne.n 80a4e0a BSP_LCD_DisplayStringAt(220, 45, "&B", LEFT_MODE); 80a4dfc: 2303 movs r3, #3 80a4dfe: 4a82 ldr r2, [pc, #520] ; (80a5008 ) 80a4e00: 212d movs r1, #45 ; 0x2d 80a4e02: 20dc movs r0, #220 ; 0xdc 80a4e04: f7ae fd98 bl 8053938 80a4e08: e005 b.n 80a4e16 else BSP_LCD_DisplayStringAt(220, 45, "mV", LEFT_MODE); 80a4e0a: 2303 movs r3, #3 80a4e0c: 4a7f ldr r2, [pc, #508] ; (80a500c ) 80a4e0e: 212d movs r1, #45 ; 0x2d 80a4e10: 20dc movs r0, #220 ; 0xdc 80a4e12: f7ae fd91 bl 8053938 BSP_LCD_DisplayStringAt(217, 45, (char *)FloatToASCII(Val, -3), RIGHT_MODE); 80a4e16: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a4e1a: f06f 0002 mvn.w r0, #2 80a4e1e: eeb0 0a67 vmov.f32 s0, s15 80a4e22: f7c1 fc6d bl 8066700 80a4e26: 4602 mov r2, r0 80a4e28: 2302 movs r3, #2 80a4e2a: 212d movs r1, #45 ; 0x2d 80a4e2c: 20d9 movs r0, #217 ; 0xd9 80a4e2e: f7ae fd83 bl 8053938 80a4e32: e0a4 b.n 80a4f7e Val *= 1000.0f; 80a4e34: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a4e38: ed9f 7a79 vldr s14, [pc, #484] ; 80a5020 80a4e3c: ee67 7a87 vmul.f32 s15, s15, s14 80a4e40: edc7 7a10 vstr s15, [r7, #64] ; 0x40 if(pardata.IPR == ACC) 80a4e44: 4b6f ldr r3, [pc, #444] ; (80a5004 ) 80a4e46: 785b ldrb r3, [r3, #1] 80a4e48: b2db uxtb r3, r3 80a4e4a: 2b00 cmp r3, #0 80a4e4c: d12a bne.n 80a4ea4 if(pardata.IIN != VOLTS) 80a4e4e: 4b6d ldr r3, [pc, #436] ; (80a5004 ) 80a4e50: 799b ldrb r3, [r3, #6] 80a4e52: b2db uxtb r3, r3 80a4e54: 2b02 cmp r3, #2 80a4e56: d012 beq.n 80a4e7e if(pardata.LANG == RUS) 80a4e58: 4b6a ldr r3, [pc, #424] ; (80a5004 ) 80a4e5a: 7b1b ldrb r3, [r3, #12] 80a4e5c: b2db uxtb r3, r3 80a4e5e: 2b00 cmp r3, #0 80a4e60: d106 bne.n 80a4e70 BSP_LCD_DisplayStringAt(220, 45, "&&/c^", LEFT_MODE); 80a4e62: 2303 movs r3, #3 80a4e64: 4a6f ldr r2, [pc, #444] ; (80a5024 ) 80a4e66: 212d movs r1, #45 ; 0x2d 80a4e68: 20dc movs r0, #220 ; 0xdc 80a4e6a: f7ae fd65 bl 8053938 80a4e6e: e078 b.n 80a4f62 else BSP_LCD_DisplayStringAt(220, 45, "mm/s^", LEFT_MODE); 80a4e70: 2303 movs r3, #3 80a4e72: 4a6d ldr r2, [pc, #436] ; (80a5028 ) 80a4e74: 212d movs r1, #45 ; 0x2d 80a4e76: 20dc movs r0, #220 ; 0xdc 80a4e78: f7ae fd5e bl 8053938 80a4e7c: e071 b.n 80a4f62 if(pardata.LANG == RUS) 80a4e7e: 4b61 ldr r3, [pc, #388] ; (80a5004 ) 80a4e80: 7b1b ldrb r3, [r3, #12] 80a4e82: b2db uxtb r3, r3 80a4e84: 2b00 cmp r3, #0 80a4e86: d106 bne.n 80a4e96 BSP_LCD_DisplayStringAt(220, 45, "&kB", LEFT_MODE); 80a4e88: 2303 movs r3, #3 80a4e8a: 4a68 ldr r2, [pc, #416] ; (80a502c ) 80a4e8c: 212d movs r1, #45 ; 0x2d 80a4e8e: 20dc movs r0, #220 ; 0xdc 80a4e90: f7ae fd52 bl 8053938 80a4e94: e065 b.n 80a4f62 else BSP_LCD_DisplayStringAt(220, 45, "uV", LEFT_MODE); 80a4e96: 2303 movs r3, #3 80a4e98: 4a65 ldr r2, [pc, #404] ; (80a5030 ) 80a4e9a: 212d movs r1, #45 ; 0x2d 80a4e9c: 20dc movs r0, #220 ; 0xdc 80a4e9e: f7ae fd4b bl 8053938 80a4ea2: e05e b.n 80a4f62 else if(pardata.IPR == VEL) 80a4ea4: 4b57 ldr r3, [pc, #348] ; (80a5004 ) 80a4ea6: 785b ldrb r3, [r3, #1] 80a4ea8: b2db uxtb r3, r3 80a4eaa: 2b01 cmp r3, #1 80a4eac: d12a bne.n 80a4f04 if(pardata.IIN != VOLTS) 80a4eae: 4b55 ldr r3, [pc, #340] ; (80a5004 ) 80a4eb0: 799b ldrb r3, [r3, #6] 80a4eb2: b2db uxtb r3, r3 80a4eb4: 2b02 cmp r3, #2 80a4eb6: d012 beq.n 80a4ede if(pardata.LANG == RUS) 80a4eb8: 4b52 ldr r3, [pc, #328] ; (80a5004 ) 80a4eba: 7b1b ldrb r3, [r3, #12] 80a4ebc: b2db uxtb r3, r3 80a4ebe: 2b00 cmp r3, #0 80a4ec0: d106 bne.n 80a4ed0 BSP_LCD_DisplayStringAt(220, 45, "&k&/c", LEFT_MODE); 80a4ec2: 2303 movs r3, #3 80a4ec4: 4a5b ldr r2, [pc, #364] ; (80a5034 ) 80a4ec6: 212d movs r1, #45 ; 0x2d 80a4ec8: 20dc movs r0, #220 ; 0xdc 80a4eca: f7ae fd35 bl 8053938 80a4ece: e048 b.n 80a4f62 else BSP_LCD_DisplayStringAt(220, 45, "mkm/s", LEFT_MODE); 80a4ed0: 2303 movs r3, #3 80a4ed2: 4a59 ldr r2, [pc, #356] ; (80a5038 ) 80a4ed4: 212d movs r1, #45 ; 0x2d 80a4ed6: 20dc movs r0, #220 ; 0xdc 80a4ed8: f7ae fd2e bl 8053938 80a4edc: e041 b.n 80a4f62 if(pardata.LANG == RUS) 80a4ede: 4b49 ldr r3, [pc, #292] ; (80a5004 ) 80a4ee0: 7b1b ldrb r3, [r3, #12] 80a4ee2: b2db uxtb r3, r3 80a4ee4: 2b00 cmp r3, #0 80a4ee6: d106 bne.n 80a4ef6 BSP_LCD_DisplayStringAt(220, 45, "&kB", LEFT_MODE); 80a4ee8: 2303 movs r3, #3 80a4eea: 4a50 ldr r2, [pc, #320] ; (80a502c ) 80a4eec: 212d movs r1, #45 ; 0x2d 80a4eee: 20dc movs r0, #220 ; 0xdc 80a4ef0: f7ae fd22 bl 8053938 80a4ef4: e035 b.n 80a4f62 else BSP_LCD_DisplayStringAt(220, 45, "uV", LEFT_MODE); 80a4ef6: 2303 movs r3, #3 80a4ef8: 4a4d ldr r2, [pc, #308] ; (80a5030 ) 80a4efa: 212d movs r1, #45 ; 0x2d 80a4efc: 20dc movs r0, #220 ; 0xdc 80a4efe: f7ae fd1b bl 8053938 80a4f02: e02e b.n 80a4f62 else if(pardata.IPR == DIS) 80a4f04: 4b3f ldr r3, [pc, #252] ; (80a5004 ) 80a4f06: 785b ldrb r3, [r3, #1] 80a4f08: b2db uxtb r3, r3 80a4f0a: 2b02 cmp r3, #2 80a4f0c: d129 bne.n 80a4f62 if(pardata.IIN != VOLTS) 80a4f0e: 4b3d ldr r3, [pc, #244] ; (80a5004 ) 80a4f10: 799b ldrb r3, [r3, #6] 80a4f12: b2db uxtb r3, r3 80a4f14: 2b02 cmp r3, #2 80a4f16: d012 beq.n 80a4f3e if(pardata.LANG == RUS) 80a4f18: 4b3a ldr r3, [pc, #232] ; (80a5004 ) 80a4f1a: 7b1b ldrb r3, [r3, #12] 80a4f1c: b2db uxtb r3, r3 80a4f1e: 2b00 cmp r3, #0 80a4f20: d106 bne.n 80a4f30 BSP_LCD_DisplayStringAt(220, 45, "#&", LEFT_MODE); 80a4f22: 2303 movs r3, #3 80a4f24: 4a45 ldr r2, [pc, #276] ; (80a503c ) 80a4f26: 212d movs r1, #45 ; 0x2d 80a4f28: 20dc movs r0, #220 ; 0xdc 80a4f2a: f7ae fd05 bl 8053938 80a4f2e: e018 b.n 80a4f62 else BSP_LCD_DisplayStringAt(220, 45, "nm", LEFT_MODE); 80a4f30: 2303 movs r3, #3 80a4f32: 4a43 ldr r2, [pc, #268] ; (80a5040 ) 80a4f34: 212d movs r1, #45 ; 0x2d 80a4f36: 20dc movs r0, #220 ; 0xdc 80a4f38: f7ae fcfe bl 8053938 80a4f3c: e011 b.n 80a4f62 if(pardata.LANG == RUS) 80a4f3e: 4b31 ldr r3, [pc, #196] ; (80a5004 ) 80a4f40: 7b1b ldrb r3, [r3, #12] 80a4f42: b2db uxtb r3, r3 80a4f44: 2b00 cmp r3, #0 80a4f46: d106 bne.n 80a4f56 BSP_LCD_DisplayStringAt(220, 45, "&kB", LEFT_MODE); 80a4f48: 2303 movs r3, #3 80a4f4a: 4a38 ldr r2, [pc, #224] ; (80a502c ) 80a4f4c: 212d movs r1, #45 ; 0x2d 80a4f4e: 20dc movs r0, #220 ; 0xdc 80a4f50: f7ae fcf2 bl 8053938 80a4f54: e005 b.n 80a4f62 else BSP_LCD_DisplayStringAt(220, 45, "uV", LEFT_MODE); 80a4f56: 2303 movs r3, #3 80a4f58: 4a35 ldr r2, [pc, #212] ; (80a5030 ) 80a4f5a: 212d movs r1, #45 ; 0x2d 80a4f5c: 20dc movs r0, #220 ; 0xdc 80a4f5e: f7ae fceb bl 8053938 BSP_LCD_DisplayStringAt(217, 45, (char *)FloatToASCII(Val, -4), RIGHT_MODE); 80a4f62: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a4f66: f06f 0003 mvn.w r0, #3 80a4f6a: eeb0 0a67 vmov.f32 s0, s15 80a4f6e: f7c1 fbc7 bl 8066700 80a4f72: 4602 mov r2, r0 80a4f74: 2302 movs r3, #2 80a4f76: 212d movs r1, #45 ; 0x2d 80a4f78: 20d9 movs r0, #217 ; 0xd9 80a4f7a: f7ae fcdd bl 8053938 LCD_SetColors(LCD_COLOR_GRAY, 0xFF000000); 80a4f7e: f04f 417f mov.w r1, #4278190080 ; 0xff000000 80a4f82: 4830 ldr r0, [pc, #192] ; (80a5044 ) 80a4f84: f7ae fc12 bl 80537ac tmpF = OCTAVES[CURSOR]; 80a4f88: 4b2f ldr r3, [pc, #188] ; (80a5048 ) 80a4f8a: 681b ldr r3, [r3, #0] 80a4f8c: 4a2f ldr r2, [pc, #188] ; (80a504c ) 80a4f8e: 009b lsls r3, r3, #2 80a4f90: 4413 add r3, r2 80a4f92: 681b ldr r3, [r3, #0] 80a4f94: 65bb str r3, [r7, #88] ; 0x58 if(tmpF >= 1000.0f) 80a4f96: edd7 7a16 vldr s15, [r7, #88] ; 0x58 80a4f9a: ed9f 7a21 vldr s14, [pc, #132] ; 80a5020 80a4f9e: eef4 7ac7 vcmpe.f32 s15, s14 80a4fa2: eef1 fa10 vmrs APSR_nzcv, fpscr 80a4fa6: db5b blt.n 80a5060 tmpF *= 0.001f; 80a4fa8: edd7 7a16 vldr s15, [r7, #88] ; 0x58 80a4fac: ed9f 7a28 vldr s14, [pc, #160] ; 80a5050 80a4fb0: ee67 7a87 vmul.f32 s15, s15, s14 80a4fb4: edc7 7a16 vstr s15, [r7, #88] ; 0x58 if(pardata.LANG == RUS) 80a4fb8: 4b12 ldr r3, [pc, #72] ; (80a5004 ) 80a4fba: 7b1b ldrb r3, [r3, #12] 80a4fbc: b2db uxtb r3, r3 80a4fbe: 2b00 cmp r3, #0 80a4fc0: d107 bne.n 80a4fd2 BSP_LCD_DisplayStringAt(302, 45, "k$%", LEFT_MODE); 80a4fc2: 2303 movs r3, #3 80a4fc4: 4a23 ldr r2, [pc, #140] ; (80a5054 ) 80a4fc6: 212d movs r1, #45 ; 0x2d 80a4fc8: f44f 7097 mov.w r0, #302 ; 0x12e 80a4fcc: f7ae fcb4 bl 8053938 80a4fd0: e006 b.n 80a4fe0 else BSP_LCD_DisplayStringAt(302, 45, "kHz", LEFT_MODE); 80a4fd2: 2303 movs r3, #3 80a4fd4: 4a20 ldr r2, [pc, #128] ; (80a5058 ) 80a4fd6: 212d movs r1, #45 ; 0x2d 80a4fd8: f44f 7097 mov.w r0, #302 ; 0x12e 80a4fdc: f7ae fcac bl 8053938 BSP_LCD_DisplayStringAt(299, 45, (char *)FloatToASCII(tmpF, -4), RIGHT_MODE); 80a4fe0: f06f 0003 mvn.w r0, #3 80a4fe4: ed97 0a16 vldr s0, [r7, #88] ; 0x58 80a4fe8: f7c1 fb8a bl 8066700 80a4fec: 4602 mov r2, r0 80a4fee: 2302 movs r3, #2 80a4ff0: 212d movs r1, #45 ; 0x2d 80a4ff2: f240 102b movw r0, #299 ; 0x12b 80a4ff6: f7ae fc9f bl 8053938 } 80a4ffa: f001 b80b b.w 80a6014 80a4ffe: bf00 nop 80a5000: 080d09c0 .word 0x080d09c0 80a5004: 20023e60 .word 0x20023e60 80a5008: 080d0aa0 .word 0x080d0aa0 80a500c: 080d0aa4 .word 0x080d0aa4 80a5010: 080d0aa8 .word 0x080d0aa8 80a5014: 080d09d0 .word 0x080d09d0 80a5018: 080d0ab0 .word 0x080d0ab0 80a501c: 080d09dc .word 0x080d09dc 80a5020: 447a0000 .word 0x447a0000 80a5024: 080d0a60 .word 0x080d0a60 80a5028: 080d09e8 .word 0x080d09e8 80a502c: 080d0ab4 .word 0x080d0ab4 80a5030: 080d0a0c .word 0x080d0a0c 80a5034: 080d0ab8 .word 0x080d0ab8 80a5038: 080d09f8 .word 0x080d09f8 80a503c: 080d0ac0 .word 0x080d0ac0 80a5040: 080d0a04 .word 0x080d0a04 80a5044: ff808080 .word 0xff808080 80a5048: 2002006c .word 0x2002006c 80a504c: 080ef708 .word 0x080ef708 80a5050: 3a83126f .word 0x3a83126f 80a5054: 080d0ac4 .word 0x080d0ac4 80a5058: 080d0ac8 .word 0x080d0ac8 80a505c: 3dcccccd .word 0x3dcccccd if(tmpF >= 0.1f) 80a5060: edd7 7a16 vldr s15, [r7, #88] ; 0x58 80a5064: ed1f 7a03 vldr s14, [pc, #-12] ; 80a505c 80a5068: eef4 7ac7 vcmpe.f32 s15, s14 80a506c: eef1 fa10 vmrs APSR_nzcv, fpscr 80a5070: db22 blt.n 80a50b8 if(pardata.LANG == RUS) 80a5072: 4bbf ldr r3, [pc, #764] ; (80a5370 ) 80a5074: 7b1b ldrb r3, [r3, #12] 80a5076: b2db uxtb r3, r3 80a5078: 2b00 cmp r3, #0 80a507a: d107 bne.n 80a508c BSP_LCD_DisplayStringAt(302, 45, "$%", LEFT_MODE); 80a507c: 2303 movs r3, #3 80a507e: 4abd ldr r2, [pc, #756] ; (80a5374 ) 80a5080: 212d movs r1, #45 ; 0x2d 80a5082: f44f 7097 mov.w r0, #302 ; 0x12e 80a5086: f7ae fc57 bl 8053938 80a508a: e006 b.n 80a509a else BSP_LCD_DisplayStringAt(302, 45, "Hz", LEFT_MODE); 80a508c: 2303 movs r3, #3 80a508e: 4aba ldr r2, [pc, #744] ; (80a5378 ) 80a5090: 212d movs r1, #45 ; 0x2d 80a5092: f44f 7097 mov.w r0, #302 ; 0x12e 80a5096: f7ae fc4f bl 8053938 BSP_LCD_DisplayStringAt(299, 45, (char *)FloatToASCII(tmpF, -3), RIGHT_MODE); 80a509a: f06f 0002 mvn.w r0, #2 80a509e: ed97 0a16 vldr s0, [r7, #88] ; 0x58 80a50a2: f7c1 fb2d bl 8066700 80a50a6: 4602 mov r2, r0 80a50a8: 2302 movs r3, #2 80a50aa: 212d movs r1, #45 ; 0x2d 80a50ac: f240 102b movw r0, #299 ; 0x12b 80a50b0: f7ae fc42 bl 8053938 } 80a50b4: f000 bfae b.w 80a6014 tmpF *= 1000.0f; 80a50b8: edd7 7a16 vldr s15, [r7, #88] ; 0x58 80a50bc: ed9f 7aaf vldr s14, [pc, #700] ; 80a537c 80a50c0: ee67 7a87 vmul.f32 s15, s15, s14 80a50c4: edc7 7a16 vstr s15, [r7, #88] ; 0x58 if(pardata.LANG == RUS) 80a50c8: 4ba9 ldr r3, [pc, #676] ; (80a5370 ) 80a50ca: 7b1b ldrb r3, [r3, #12] 80a50cc: b2db uxtb r3, r3 80a50ce: 2b00 cmp r3, #0 80a50d0: d107 bne.n 80a50e2 BSP_LCD_DisplayStringAt(302, 45, "&$%", LEFT_MODE); 80a50d2: 2303 movs r3, #3 80a50d4: 4aaa ldr r2, [pc, #680] ; (80a5380 ) 80a50d6: 212d movs r1, #45 ; 0x2d 80a50d8: f44f 7097 mov.w r0, #302 ; 0x12e 80a50dc: f7ae fc2c bl 8053938 80a50e0: e006 b.n 80a50f0 else BSP_LCD_DisplayStringAt(302, 45, "mHz", LEFT_MODE); 80a50e2: 2303 movs r3, #3 80a50e4: 4aa7 ldr r2, [pc, #668] ; (80a5384 ) 80a50e6: 212d movs r1, #45 ; 0x2d 80a50e8: f44f 7097 mov.w r0, #302 ; 0x12e 80a50ec: f7ae fc24 bl 8053938 BSP_LCD_DisplayStringAt(299, 45, (char *)FloatToASCII(tmpF, -2), RIGHT_MODE); 80a50f0: f06f 0001 mvn.w r0, #1 80a50f4: ed97 0a16 vldr s0, [r7, #88] ; 0x58 80a50f8: f7c1 fb02 bl 8066700 80a50fc: 4602 mov r2, r0 80a50fe: 2302 movs r3, #2 80a5100: 212d movs r1, #45 ; 0x2d 80a5102: f240 102b movw r0, #299 ; 0x12b 80a5106: f7ae fc17 bl 8053938 } 80a510a: f000 bf83 b.w 80a6014 if(pardata.SYG == SPEC_THIRD) 80a510e: 4b98 ldr r3, [pc, #608] ; (80a5370 ) 80a5110: 781b ldrb r3, [r3, #0] 80a5112: b2db uxtb r3, r3 80a5114: 2b07 cmp r3, #7 80a5116: f040 833a bne.w 80a578e CurVal = ScrA_f32(CURSOR); 80a511a: 4b9b ldr r3, [pc, #620] ; (80a5388 ) 80a511c: 681b ldr r3, [r3, #0] 80a511e: 009a lsls r2, r3, #2 80a5120: 4b9a ldr r3, [pc, #616] ; (80a538c ) 80a5122: 4413 add r3, r2 80a5124: 681b ldr r3, [r3, #0] 80a5126: 4a9a ldr r2, [pc, #616] ; (80a5390 ) 80a5128: 6013 str r3, [r2, #0] if(pardata.MSH == LOG) 80a512a: 4b91 ldr r3, [pc, #580] ; (80a5370 ) 80a512c: 7a9b ldrb r3, [r3, #10] 80a512e: b2db uxtb r3, r3 80a5130: 2b01 cmp r3, #1 80a5132: d111 bne.n 80a5158 if(pardata.IIN != VOLTS) 80a5134: 4b8e ldr r3, [pc, #568] ; (80a5370 ) 80a5136: 799b ldrb r3, [r3, #6] 80a5138: b2db uxtb r3, r3 80a513a: 2b02 cmp r3, #2 80a513c: d004 beq.n 80a5148 LinToLog(&CurVal, &CurVal); 80a513e: 4994 ldr r1, [pc, #592] ; (80a5390 ) 80a5140: 4893 ldr r0, [pc, #588] ; (80a5390 ) 80a5142: f7bf feb1 bl 8064ea8 80a5146: e007 b.n 80a5158 else LinToLog_mV(&CurVal, &CurVal, pardata.IPR); 80a5148: 4b89 ldr r3, [pc, #548] ; (80a5370 ) 80a514a: 785b ldrb r3, [r3, #1] 80a514c: b2db uxtb r3, r3 80a514e: 461a mov r2, r3 80a5150: 498f ldr r1, [pc, #572] ; (80a5390 ) 80a5152: 488f ldr r0, [pc, #572] ; (80a5390 ) 80a5154: f7bf fed8 bl 8064f08 LCD_SetColors(LCD_COLOR_MYGREEN, 0xFF000000); 80a5158: f04f 417f mov.w r1, #4278190080 ; 0xff000000 80a515c: 488d ldr r0, [pc, #564] ; (80a5394 ) 80a515e: f7ae fb25 bl 80537ac Val = CurVal; 80a5162: 4b8b ldr r3, [pc, #556] ; (80a5390 ) 80a5164: 681b ldr r3, [r3, #0] 80a5166: 643b str r3, [r7, #64] ; 0x40 if(pardata.MSH == LOG) 80a5168: 4b81 ldr r3, [pc, #516] ; (80a5370 ) 80a516a: 7a9b ldrb r3, [r3, #10] 80a516c: b2db uxtb r3, r3 80a516e: 2b01 cmp r3, #1 80a5170: d114 bne.n 80a519c BSP_LCD_DisplayStringAt(220, 45, "dB", LEFT_MODE); 80a5172: 2303 movs r3, #3 80a5174: 4a88 ldr r2, [pc, #544] ; (80a5398 ) 80a5176: 212d movs r1, #45 ; 0x2d 80a5178: 20dc movs r0, #220 ; 0xdc 80a517a: f7ae fbdd bl 8053938 BSP_LCD_DisplayStringAt(217, 45, (char *) FloatToASCII(Val, -1), RIGHT_MODE); 80a517e: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a5182: f04f 30ff mov.w r0, #4294967295 80a5186: eeb0 0a67 vmov.f32 s0, s15 80a518a: f7c1 fab9 bl 8066700 80a518e: 4602 mov r2, r0 80a5190: 2302 movs r3, #2 80a5192: 212d movs r1, #45 ; 0x2d 80a5194: 20d9 movs r0, #217 ; 0xd9 80a5196: f7ae fbcf bl 8053938 80a519a: e22e b.n 80a55fa if(Val >= 1000.0f) 80a519c: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a51a0: ed9f 7a76 vldr s14, [pc, #472] ; 80a537c 80a51a4: eef4 7ac7 vcmpe.f32 s15, s14 80a51a8: eef1 fa10 vmrs APSR_nzcv, fpscr 80a51ac: f2c0 80a6 blt.w 80a52fc Val *= 0.001f; 80a51b0: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a51b4: ed9f 7a79 vldr s14, [pc, #484] ; 80a539c 80a51b8: ee67 7a87 vmul.f32 s15, s15, s14 80a51bc: edc7 7a10 vstr s15, [r7, #64] ; 0x40 if(pardata.IPR == ACC) 80a51c0: 4b6b ldr r3, [pc, #428] ; (80a5370 ) 80a51c2: 785b ldrb r3, [r3, #1] 80a51c4: b2db uxtb r3, r3 80a51c6: 2b00 cmp r3, #0 80a51c8: d12a bne.n 80a5220 if(pardata.IIN != VOLTS) 80a51ca: 4b69 ldr r3, [pc, #420] ; (80a5370 ) 80a51cc: 799b ldrb r3, [r3, #6] 80a51ce: b2db uxtb r3, r3 80a51d0: 2b02 cmp r3, #2 80a51d2: d012 beq.n 80a51fa if(pardata.LANG == RUS) 80a51d4: 4b66 ldr r3, [pc, #408] ; (80a5370 ) 80a51d6: 7b1b ldrb r3, [r3, #12] 80a51d8: b2db uxtb r3, r3 80a51da: 2b00 cmp r3, #0 80a51dc: d106 bne.n 80a51ec BSP_LCD_DisplayStringAt(220, 45, "k&/c^", LEFT_MODE); 80a51de: 2303 movs r3, #3 80a51e0: 4a6f ldr r2, [pc, #444] ; (80a53a0 ) 80a51e2: 212d movs r1, #45 ; 0x2d 80a51e4: 20dc movs r0, #220 ; 0xdc 80a51e6: f7ae fba7 bl 8053938 80a51ea: e078 b.n 80a52de else BSP_LCD_DisplayStringAt(220, 45, "km/s^", LEFT_MODE); 80a51ec: 2303 movs r3, #3 80a51ee: 4a6d ldr r2, [pc, #436] ; (80a53a4 ) 80a51f0: 212d movs r1, #45 ; 0x2d 80a51f2: 20dc movs r0, #220 ; 0xdc 80a51f4: f7ae fba0 bl 8053938 80a51f8: e071 b.n 80a52de if(pardata.LANG == RUS) 80a51fa: 4b5d ldr r3, [pc, #372] ; (80a5370 ) 80a51fc: 7b1b ldrb r3, [r3, #12] 80a51fe: b2db uxtb r3, r3 80a5200: 2b00 cmp r3, #0 80a5202: d106 bne.n 80a5212 BSP_LCD_DisplayStringAt(220, 45, "B", LEFT_MODE); 80a5204: 2303 movs r3, #3 80a5206: 4a68 ldr r2, [pc, #416] ; (80a53a8 ) 80a5208: 212d movs r1, #45 ; 0x2d 80a520a: 20dc movs r0, #220 ; 0xdc 80a520c: f7ae fb94 bl 8053938 80a5210: e065 b.n 80a52de else BSP_LCD_DisplayStringAt(220, 45, "V", LEFT_MODE); 80a5212: 2303 movs r3, #3 80a5214: 4a65 ldr r2, [pc, #404] ; (80a53ac ) 80a5216: 212d movs r1, #45 ; 0x2d 80a5218: 20dc movs r0, #220 ; 0xdc 80a521a: f7ae fb8d bl 8053938 80a521e: e05e b.n 80a52de if(pardata.IPR == VEL) 80a5220: 4b53 ldr r3, [pc, #332] ; (80a5370 ) 80a5222: 785b ldrb r3, [r3, #1] 80a5224: b2db uxtb r3, r3 80a5226: 2b01 cmp r3, #1 80a5228: d12a bne.n 80a5280 if(pardata.IIN != VOLTS) 80a522a: 4b51 ldr r3, [pc, #324] ; (80a5370 ) 80a522c: 799b ldrb r3, [r3, #6] 80a522e: b2db uxtb r3, r3 80a5230: 2b02 cmp r3, #2 80a5232: d012 beq.n 80a525a if(pardata.LANG == RUS) 80a5234: 4b4e ldr r3, [pc, #312] ; (80a5370 ) 80a5236: 7b1b ldrb r3, [r3, #12] 80a5238: b2db uxtb r3, r3 80a523a: 2b00 cmp r3, #0 80a523c: d106 bne.n 80a524c BSP_LCD_DisplayStringAt(220, 45, "&/c", LEFT_MODE); 80a523e: 2303 movs r3, #3 80a5240: 4a5b ldr r2, [pc, #364] ; (80a53b0 ) 80a5242: 212d movs r1, #45 ; 0x2d 80a5244: 20dc movs r0, #220 ; 0xdc 80a5246: f7ae fb77 bl 8053938 80a524a: e048 b.n 80a52de else BSP_LCD_DisplayStringAt(220, 45, "m/s", LEFT_MODE); 80a524c: 2303 movs r3, #3 80a524e: 4a59 ldr r2, [pc, #356] ; (80a53b4 ) 80a5250: 212d movs r1, #45 ; 0x2d 80a5252: 20dc movs r0, #220 ; 0xdc 80a5254: f7ae fb70 bl 8053938 80a5258: e041 b.n 80a52de if(pardata.LANG == RUS) 80a525a: 4b45 ldr r3, [pc, #276] ; (80a5370 ) 80a525c: 7b1b ldrb r3, [r3, #12] 80a525e: b2db uxtb r3, r3 80a5260: 2b00 cmp r3, #0 80a5262: d106 bne.n 80a5272 BSP_LCD_DisplayStringAt(220, 45, "B", LEFT_MODE); 80a5264: 2303 movs r3, #3 80a5266: 4a50 ldr r2, [pc, #320] ; (80a53a8 ) 80a5268: 212d movs r1, #45 ; 0x2d 80a526a: 20dc movs r0, #220 ; 0xdc 80a526c: f7ae fb64 bl 8053938 80a5270: e035 b.n 80a52de else BSP_LCD_DisplayStringAt(220, 45, "V", LEFT_MODE); 80a5272: 2303 movs r3, #3 80a5274: 4a4d ldr r2, [pc, #308] ; (80a53ac ) 80a5276: 212d movs r1, #45 ; 0x2d 80a5278: 20dc movs r0, #220 ; 0xdc 80a527a: f7ae fb5d bl 8053938 80a527e: e02e b.n 80a52de if(pardata.IPR == DIS) 80a5280: 4b3b ldr r3, [pc, #236] ; (80a5370 ) 80a5282: 785b ldrb r3, [r3, #1] 80a5284: b2db uxtb r3, r3 80a5286: 2b02 cmp r3, #2 80a5288: d129 bne.n 80a52de if(pardata.IIN != VOLTS) 80a528a: 4b39 ldr r3, [pc, #228] ; (80a5370 ) 80a528c: 799b ldrb r3, [r3, #6] 80a528e: b2db uxtb r3, r3 80a5290: 2b02 cmp r3, #2 80a5292: d012 beq.n 80a52ba if(pardata.LANG == RUS) 80a5294: 4b36 ldr r3, [pc, #216] ; (80a5370 ) 80a5296: 7b1b ldrb r3, [r3, #12] 80a5298: b2db uxtb r3, r3 80a529a: 2b00 cmp r3, #0 80a529c: d106 bne.n 80a52ac BSP_LCD_DisplayStringAt(220, 45, "&&", LEFT_MODE); 80a529e: 2303 movs r3, #3 80a52a0: 4a45 ldr r2, [pc, #276] ; (80a53b8 ) 80a52a2: 212d movs r1, #45 ; 0x2d 80a52a4: 20dc movs r0, #220 ; 0xdc 80a52a6: f7ae fb47 bl 8053938 80a52aa: e018 b.n 80a52de else BSP_LCD_DisplayStringAt(220, 45, "mm", LEFT_MODE); 80a52ac: 2303 movs r3, #3 80a52ae: 4a43 ldr r2, [pc, #268] ; (80a53bc ) 80a52b0: 212d movs r1, #45 ; 0x2d 80a52b2: 20dc movs r0, #220 ; 0xdc 80a52b4: f7ae fb40 bl 8053938 80a52b8: e011 b.n 80a52de if(pardata.LANG == RUS) 80a52ba: 4b2d ldr r3, [pc, #180] ; (80a5370 ) 80a52bc: 7b1b ldrb r3, [r3, #12] 80a52be: b2db uxtb r3, r3 80a52c0: 2b00 cmp r3, #0 80a52c2: d106 bne.n 80a52d2 BSP_LCD_DisplayStringAt(220, 45, "B", LEFT_MODE); 80a52c4: 2303 movs r3, #3 80a52c6: 4a38 ldr r2, [pc, #224] ; (80a53a8 ) 80a52c8: 212d movs r1, #45 ; 0x2d 80a52ca: 20dc movs r0, #220 ; 0xdc 80a52cc: f7ae fb34 bl 8053938 80a52d0: e005 b.n 80a52de else BSP_LCD_DisplayStringAt(220, 45, "V", LEFT_MODE); 80a52d2: 2303 movs r3, #3 80a52d4: 4a35 ldr r2, [pc, #212] ; (80a53ac ) 80a52d6: 212d movs r1, #45 ; 0x2d 80a52d8: 20dc movs r0, #220 ; 0xdc 80a52da: f7ae fb2d bl 8053938 BSP_LCD_DisplayStringAt(217, 45, (char *)FloatToASCII(Val, -4), RIGHT_MODE); 80a52de: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a52e2: f06f 0003 mvn.w r0, #3 80a52e6: eeb0 0a67 vmov.f32 s0, s15 80a52ea: f7c1 fa09 bl 8066700 80a52ee: 4602 mov r2, r0 80a52f0: 2302 movs r3, #2 80a52f2: 212d movs r1, #45 ; 0x2d 80a52f4: 20d9 movs r0, #217 ; 0xd9 80a52f6: f7ae fb1f bl 8053938 80a52fa: e17e b.n 80a55fa if(Val >= 0.1f) 80a52fc: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a5300: ed9f 7a2f vldr s14, [pc, #188] ; 80a53c0 80a5304: eef4 7ac7 vcmpe.f32 s15, s14 80a5308: eef1 fa10 vmrs APSR_nzcv, fpscr 80a530c: f2c0 80d0 blt.w 80a54b0 if(pardata.IPR == ACC) 80a5310: 4b17 ldr r3, [pc, #92] ; (80a5370 ) 80a5312: 785b ldrb r3, [r3, #1] 80a5314: b2db uxtb r3, r3 80a5316: 2b00 cmp r3, #0 80a5318: d15c bne.n 80a53d4 if(pardata.IIN != VOLTS) 80a531a: 4b15 ldr r3, [pc, #84] ; (80a5370 ) 80a531c: 799b ldrb r3, [r3, #6] 80a531e: b2db uxtb r3, r3 80a5320: 2b02 cmp r3, #2 80a5322: d012 beq.n 80a534a if(pardata.LANG == RUS) 80a5324: 4b12 ldr r3, [pc, #72] ; (80a5370 ) 80a5326: 7b1b ldrb r3, [r3, #12] 80a5328: b2db uxtb r3, r3 80a532a: 2b00 cmp r3, #0 80a532c: d106 bne.n 80a533c BSP_LCD_DisplayStringAt(220, 45, "&/c^", LEFT_MODE); 80a532e: 2303 movs r3, #3 80a5330: 4a24 ldr r2, [pc, #144] ; (80a53c4 ) 80a5332: 212d movs r1, #45 ; 0x2d 80a5334: 20dc movs r0, #220 ; 0xdc 80a5336: f7ae faff bl 8053938 80a533a: e0aa b.n 80a5492 else BSP_LCD_DisplayStringAt(220, 45, "m/s^", LEFT_MODE); 80a533c: 2303 movs r3, #3 80a533e: 4a22 ldr r2, [pc, #136] ; (80a53c8 ) 80a5340: 212d movs r1, #45 ; 0x2d 80a5342: 20dc movs r0, #220 ; 0xdc 80a5344: f7ae faf8 bl 8053938 80a5348: e0a3 b.n 80a5492 if(pardata.LANG == RUS) 80a534a: 4b09 ldr r3, [pc, #36] ; (80a5370 ) 80a534c: 7b1b ldrb r3, [r3, #12] 80a534e: b2db uxtb r3, r3 80a5350: 2b00 cmp r3, #0 80a5352: d106 bne.n 80a5362 BSP_LCD_DisplayStringAt(220, 45, "&B", LEFT_MODE); 80a5354: 2303 movs r3, #3 80a5356: 4a1d ldr r2, [pc, #116] ; (80a53cc ) 80a5358: 212d movs r1, #45 ; 0x2d 80a535a: 20dc movs r0, #220 ; 0xdc 80a535c: f7ae faec bl 8053938 80a5360: e097 b.n 80a5492 else BSP_LCD_DisplayStringAt(220, 45, "mV", LEFT_MODE); 80a5362: 2303 movs r3, #3 80a5364: 4a1a ldr r2, [pc, #104] ; (80a53d0 ) 80a5366: 212d movs r1, #45 ; 0x2d 80a5368: 20dc movs r0, #220 ; 0xdc 80a536a: f7ae fae5 bl 8053938 80a536e: e090 b.n 80a5492 80a5370: 20023e60 .word 0x20023e60 80a5374: 080d0a8c .word 0x080d0a8c 80a5378: 080d0a90 .word 0x080d0a90 80a537c: 447a0000 .word 0x447a0000 80a5380: 080d0acc .word 0x080d0acc 80a5384: 080d0ad0 .word 0x080d0ad0 80a5388: 2002006c .word 0x2002006c 80a538c: 64080000 .word 0x64080000 80a5390: 2002156c .word 0x2002156c 80a5394: ff26a01f .word 0xff26a01f 80a5398: 080d0a88 .word 0x080d0a88 80a539c: 3a83126f .word 0x3a83126f 80a53a0: 080d0a40 .word 0x080d0a40 80a53a4: 080d09a0 .word 0x080d09a0 80a53a8: 080d0a94 .word 0x080d0a94 80a53ac: 080ce6a0 .word 0x080ce6a0 80a53b0: 080d0a98 .word 0x080d0a98 80a53b4: 080d09ac .word 0x080d09ac 80a53b8: 080d0a9c .word 0x080d0a9c 80a53bc: 080d09b4 .word 0x080d09b4 80a53c0: 3dcccccd .word 0x3dcccccd 80a53c4: 080d0a50 .word 0x080d0a50 80a53c8: 080d09c0 .word 0x080d09c0 80a53cc: 080d0aa0 .word 0x080d0aa0 80a53d0: 080d0aa4 .word 0x080d0aa4 else if(pardata.IPR == VEL) 80a53d4: 4bbf ldr r3, [pc, #764] ; (80a56d4 ) 80a53d6: 785b ldrb r3, [r3, #1] 80a53d8: b2db uxtb r3, r3 80a53da: 2b01 cmp r3, #1 80a53dc: d12a bne.n 80a5434 if(pardata.IIN != VOLTS) 80a53de: 4bbd ldr r3, [pc, #756] ; (80a56d4 ) 80a53e0: 799b ldrb r3, [r3, #6] 80a53e2: b2db uxtb r3, r3 80a53e4: 2b02 cmp r3, #2 80a53e6: d012 beq.n 80a540e if(pardata.LANG == RUS) 80a53e8: 4bba ldr r3, [pc, #744] ; (80a56d4 ) 80a53ea: 7b1b ldrb r3, [r3, #12] 80a53ec: b2db uxtb r3, r3 80a53ee: 2b00 cmp r3, #0 80a53f0: d106 bne.n 80a5400 BSP_LCD_DisplayStringAt(220, 45, "&&/c", LEFT_MODE); 80a53f2: 2303 movs r3, #3 80a53f4: 4ab8 ldr r2, [pc, #736] ; (80a56d8 ) 80a53f6: 212d movs r1, #45 ; 0x2d 80a53f8: 20dc movs r0, #220 ; 0xdc 80a53fa: f7ae fa9d bl 8053938 80a53fe: e048 b.n 80a5492 else BSP_LCD_DisplayStringAt(220, 45, "mm/s", LEFT_MODE); 80a5400: 2303 movs r3, #3 80a5402: 4ab6 ldr r2, [pc, #728] ; (80a56dc ) 80a5404: 212d movs r1, #45 ; 0x2d 80a5406: 20dc movs r0, #220 ; 0xdc 80a5408: f7ae fa96 bl 8053938 80a540c: e041 b.n 80a5492 if(pardata.LANG == RUS) 80a540e: 4bb1 ldr r3, [pc, #708] ; (80a56d4 ) 80a5410: 7b1b ldrb r3, [r3, #12] 80a5412: b2db uxtb r3, r3 80a5414: 2b00 cmp r3, #0 80a5416: d106 bne.n 80a5426 BSP_LCD_DisplayStringAt(220, 45, "&B", LEFT_MODE); 80a5418: 2303 movs r3, #3 80a541a: 4ab1 ldr r2, [pc, #708] ; (80a56e0 ) 80a541c: 212d movs r1, #45 ; 0x2d 80a541e: 20dc movs r0, #220 ; 0xdc 80a5420: f7ae fa8a bl 8053938 80a5424: e035 b.n 80a5492 else BSP_LCD_DisplayStringAt(220, 45, "mV", LEFT_MODE); 80a5426: 2303 movs r3, #3 80a5428: 4aae ldr r2, [pc, #696] ; (80a56e4 ) 80a542a: 212d movs r1, #45 ; 0x2d 80a542c: 20dc movs r0, #220 ; 0xdc 80a542e: f7ae fa83 bl 8053938 80a5432: e02e b.n 80a5492 else if(pardata.IPR == DIS) 80a5434: 4ba7 ldr r3, [pc, #668] ; (80a56d4 ) 80a5436: 785b ldrb r3, [r3, #1] 80a5438: b2db uxtb r3, r3 80a543a: 2b02 cmp r3, #2 80a543c: d129 bne.n 80a5492 if(pardata.IIN != VOLTS) 80a543e: 4ba5 ldr r3, [pc, #660] ; (80a56d4 ) 80a5440: 799b ldrb r3, [r3, #6] 80a5442: b2db uxtb r3, r3 80a5444: 2b02 cmp r3, #2 80a5446: d012 beq.n 80a546e if(pardata.LANG == RUS) 80a5448: 4ba2 ldr r3, [pc, #648] ; (80a56d4 ) 80a544a: 7b1b ldrb r3, [r3, #12] 80a544c: b2db uxtb r3, r3 80a544e: 2b00 cmp r3, #0 80a5450: d106 bne.n 80a5460 BSP_LCD_DisplayStringAt(220, 45, "&k&", LEFT_MODE); 80a5452: 2303 movs r3, #3 80a5454: 4aa4 ldr r2, [pc, #656] ; (80a56e8 ) 80a5456: 212d movs r1, #45 ; 0x2d 80a5458: 20dc movs r0, #220 ; 0xdc 80a545a: f7ae fa6d bl 8053938 80a545e: e018 b.n 80a5492 else BSP_LCD_DisplayStringAt(220, 45, "um", LEFT_MODE); 80a5460: 2303 movs r3, #3 80a5462: 4aa2 ldr r2, [pc, #648] ; (80a56ec ) 80a5464: 212d movs r1, #45 ; 0x2d 80a5466: 20dc movs r0, #220 ; 0xdc 80a5468: f7ae fa66 bl 8053938 80a546c: e011 b.n 80a5492 if(pardata.LANG == RUS) 80a546e: 4b99 ldr r3, [pc, #612] ; (80a56d4 ) 80a5470: 7b1b ldrb r3, [r3, #12] 80a5472: b2db uxtb r3, r3 80a5474: 2b00 cmp r3, #0 80a5476: d106 bne.n 80a5486 BSP_LCD_DisplayStringAt(220, 45, "&B", LEFT_MODE); 80a5478: 2303 movs r3, #3 80a547a: 4a99 ldr r2, [pc, #612] ; (80a56e0 ) 80a547c: 212d movs r1, #45 ; 0x2d 80a547e: 20dc movs r0, #220 ; 0xdc 80a5480: f7ae fa5a bl 8053938 80a5484: e005 b.n 80a5492 else BSP_LCD_DisplayStringAt(220, 45, "mV", LEFT_MODE); 80a5486: 2303 movs r3, #3 80a5488: 4a96 ldr r2, [pc, #600] ; (80a56e4 ) 80a548a: 212d movs r1, #45 ; 0x2d 80a548c: 20dc movs r0, #220 ; 0xdc 80a548e: f7ae fa53 bl 8053938 BSP_LCD_DisplayStringAt(217, 45, (char *)FloatToASCII(Val, -3), RIGHT_MODE); 80a5492: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a5496: f06f 0002 mvn.w r0, #2 80a549a: eeb0 0a67 vmov.f32 s0, s15 80a549e: f7c1 f92f bl 8066700 80a54a2: 4602 mov r2, r0 80a54a4: 2302 movs r3, #2 80a54a6: 212d movs r1, #45 ; 0x2d 80a54a8: 20d9 movs r0, #217 ; 0xd9 80a54aa: f7ae fa45 bl 8053938 80a54ae: e0a4 b.n 80a55fa Val *= 1000.0f; 80a54b0: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a54b4: ed9f 7a9f vldr s14, [pc, #636] ; 80a5734 80a54b8: ee67 7a87 vmul.f32 s15, s15, s14 80a54bc: edc7 7a10 vstr s15, [r7, #64] ; 0x40 if(pardata.IPR == ACC) 80a54c0: 4b84 ldr r3, [pc, #528] ; (80a56d4 ) 80a54c2: 785b ldrb r3, [r3, #1] 80a54c4: b2db uxtb r3, r3 80a54c6: 2b00 cmp r3, #0 80a54c8: d12a bne.n 80a5520 if(pardata.IIN != VOLTS) 80a54ca: 4b82 ldr r3, [pc, #520] ; (80a56d4 ) 80a54cc: 799b ldrb r3, [r3, #6] 80a54ce: b2db uxtb r3, r3 80a54d0: 2b02 cmp r3, #2 80a54d2: d012 beq.n 80a54fa if(pardata.LANG == RUS) 80a54d4: 4b7f ldr r3, [pc, #508] ; (80a56d4 ) 80a54d6: 7b1b ldrb r3, [r3, #12] 80a54d8: b2db uxtb r3, r3 80a54da: 2b00 cmp r3, #0 80a54dc: d106 bne.n 80a54ec BSP_LCD_DisplayStringAt(220, 45, "&&/c^", LEFT_MODE); 80a54de: 2303 movs r3, #3 80a54e0: 4a83 ldr r2, [pc, #524] ; (80a56f0 ) 80a54e2: 212d movs r1, #45 ; 0x2d 80a54e4: 20dc movs r0, #220 ; 0xdc 80a54e6: f7ae fa27 bl 8053938 80a54ea: e078 b.n 80a55de else BSP_LCD_DisplayStringAt(220, 45, "mm/s^", LEFT_MODE); 80a54ec: 2303 movs r3, #3 80a54ee: 4a81 ldr r2, [pc, #516] ; (80a56f4 ) 80a54f0: 212d movs r1, #45 ; 0x2d 80a54f2: 20dc movs r0, #220 ; 0xdc 80a54f4: f7ae fa20 bl 8053938 80a54f8: e071 b.n 80a55de if(pardata.LANG == RUS) 80a54fa: 4b76 ldr r3, [pc, #472] ; (80a56d4 ) 80a54fc: 7b1b ldrb r3, [r3, #12] 80a54fe: b2db uxtb r3, r3 80a5500: 2b00 cmp r3, #0 80a5502: d106 bne.n 80a5512 BSP_LCD_DisplayStringAt(220, 45, "&kB", LEFT_MODE); 80a5504: 2303 movs r3, #3 80a5506: 4a7c ldr r2, [pc, #496] ; (80a56f8 ) 80a5508: 212d movs r1, #45 ; 0x2d 80a550a: 20dc movs r0, #220 ; 0xdc 80a550c: f7ae fa14 bl 8053938 80a5510: e065 b.n 80a55de else BSP_LCD_DisplayStringAt(220, 45, "uV", LEFT_MODE); 80a5512: 2303 movs r3, #3 80a5514: 4a79 ldr r2, [pc, #484] ; (80a56fc ) 80a5516: 212d movs r1, #45 ; 0x2d 80a5518: 20dc movs r0, #220 ; 0xdc 80a551a: f7ae fa0d bl 8053938 80a551e: e05e b.n 80a55de else if(pardata.IPR == VEL) 80a5520: 4b6c ldr r3, [pc, #432] ; (80a56d4 ) 80a5522: 785b ldrb r3, [r3, #1] 80a5524: b2db uxtb r3, r3 80a5526: 2b01 cmp r3, #1 80a5528: d12a bne.n 80a5580 if(pardata.IIN != VOLTS) 80a552a: 4b6a ldr r3, [pc, #424] ; (80a56d4 ) 80a552c: 799b ldrb r3, [r3, #6] 80a552e: b2db uxtb r3, r3 80a5530: 2b02 cmp r3, #2 80a5532: d012 beq.n 80a555a if(pardata.LANG == RUS) 80a5534: 4b67 ldr r3, [pc, #412] ; (80a56d4 ) 80a5536: 7b1b ldrb r3, [r3, #12] 80a5538: b2db uxtb r3, r3 80a553a: 2b00 cmp r3, #0 80a553c: d106 bne.n 80a554c BSP_LCD_DisplayStringAt(220, 45, "&k&/c", LEFT_MODE); 80a553e: 2303 movs r3, #3 80a5540: 4a6f ldr r2, [pc, #444] ; (80a5700 ) 80a5542: 212d movs r1, #45 ; 0x2d 80a5544: 20dc movs r0, #220 ; 0xdc 80a5546: f7ae f9f7 bl 8053938 80a554a: e048 b.n 80a55de else BSP_LCD_DisplayStringAt(220, 45, "mkm/s", LEFT_MODE); 80a554c: 2303 movs r3, #3 80a554e: 4a6d ldr r2, [pc, #436] ; (80a5704 ) 80a5550: 212d movs r1, #45 ; 0x2d 80a5552: 20dc movs r0, #220 ; 0xdc 80a5554: f7ae f9f0 bl 8053938 80a5558: e041 b.n 80a55de if(pardata.LANG == RUS) 80a555a: 4b5e ldr r3, [pc, #376] ; (80a56d4 ) 80a555c: 7b1b ldrb r3, [r3, #12] 80a555e: b2db uxtb r3, r3 80a5560: 2b00 cmp r3, #0 80a5562: d106 bne.n 80a5572 BSP_LCD_DisplayStringAt(220, 45, "&kB", LEFT_MODE); 80a5564: 2303 movs r3, #3 80a5566: 4a64 ldr r2, [pc, #400] ; (80a56f8 ) 80a5568: 212d movs r1, #45 ; 0x2d 80a556a: 20dc movs r0, #220 ; 0xdc 80a556c: f7ae f9e4 bl 8053938 80a5570: e035 b.n 80a55de else BSP_LCD_DisplayStringAt(220, 45, "uV", LEFT_MODE); 80a5572: 2303 movs r3, #3 80a5574: 4a61 ldr r2, [pc, #388] ; (80a56fc ) 80a5576: 212d movs r1, #45 ; 0x2d 80a5578: 20dc movs r0, #220 ; 0xdc 80a557a: f7ae f9dd bl 8053938 80a557e: e02e b.n 80a55de else if(pardata.IPR == DIS) 80a5580: 4b54 ldr r3, [pc, #336] ; (80a56d4 ) 80a5582: 785b ldrb r3, [r3, #1] 80a5584: b2db uxtb r3, r3 80a5586: 2b02 cmp r3, #2 80a5588: d129 bne.n 80a55de if(pardata.IIN != VOLTS) 80a558a: 4b52 ldr r3, [pc, #328] ; (80a56d4 ) 80a558c: 799b ldrb r3, [r3, #6] 80a558e: b2db uxtb r3, r3 80a5590: 2b02 cmp r3, #2 80a5592: d012 beq.n 80a55ba if(pardata.LANG == RUS) 80a5594: 4b4f ldr r3, [pc, #316] ; (80a56d4 ) 80a5596: 7b1b ldrb r3, [r3, #12] 80a5598: b2db uxtb r3, r3 80a559a: 2b00 cmp r3, #0 80a559c: d106 bne.n 80a55ac BSP_LCD_DisplayStringAt(220, 45, "#&", LEFT_MODE); 80a559e: 2303 movs r3, #3 80a55a0: 4a59 ldr r2, [pc, #356] ; (80a5708 ) 80a55a2: 212d movs r1, #45 ; 0x2d 80a55a4: 20dc movs r0, #220 ; 0xdc 80a55a6: f7ae f9c7 bl 8053938 80a55aa: e018 b.n 80a55de else BSP_LCD_DisplayStringAt(220, 45, "nm", LEFT_MODE); 80a55ac: 2303 movs r3, #3 80a55ae: 4a57 ldr r2, [pc, #348] ; (80a570c ) 80a55b0: 212d movs r1, #45 ; 0x2d 80a55b2: 20dc movs r0, #220 ; 0xdc 80a55b4: f7ae f9c0 bl 8053938 80a55b8: e011 b.n 80a55de if(pardata.LANG == RUS) 80a55ba: 4b46 ldr r3, [pc, #280] ; (80a56d4 ) 80a55bc: 7b1b ldrb r3, [r3, #12] 80a55be: b2db uxtb r3, r3 80a55c0: 2b00 cmp r3, #0 80a55c2: d106 bne.n 80a55d2 BSP_LCD_DisplayStringAt(220, 45, "&kB", LEFT_MODE); 80a55c4: 2303 movs r3, #3 80a55c6: 4a4c ldr r2, [pc, #304] ; (80a56f8 ) 80a55c8: 212d movs r1, #45 ; 0x2d 80a55ca: 20dc movs r0, #220 ; 0xdc 80a55cc: f7ae f9b4 bl 8053938 80a55d0: e005 b.n 80a55de else BSP_LCD_DisplayStringAt(220, 45, "uV", LEFT_MODE); 80a55d2: 2303 movs r3, #3 80a55d4: 4a49 ldr r2, [pc, #292] ; (80a56fc ) 80a55d6: 212d movs r1, #45 ; 0x2d 80a55d8: 20dc movs r0, #220 ; 0xdc 80a55da: f7ae f9ad bl 8053938 BSP_LCD_DisplayStringAt(217, 45, (char *)FloatToASCII(Val, -4), RIGHT_MODE); 80a55de: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a55e2: f06f 0003 mvn.w r0, #3 80a55e6: eeb0 0a67 vmov.f32 s0, s15 80a55ea: f7c1 f889 bl 8066700 80a55ee: 4602 mov r2, r0 80a55f0: 2302 movs r3, #2 80a55f2: 212d movs r1, #45 ; 0x2d 80a55f4: 20d9 movs r0, #217 ; 0xd9 80a55f6: f7ae f99f bl 8053938 LCD_SetColors(LCD_COLOR_GRAY, 0xFF000000); 80a55fa: f04f 417f mov.w r1, #4278190080 ; 0xff000000 80a55fe: 4844 ldr r0, [pc, #272] ; (80a5710 ) 80a5600: f7ae f8d4 bl 80537ac tmpF = THIRD[CURSOR]; 80a5604: 4b43 ldr r3, [pc, #268] ; (80a5714 ) 80a5606: 681b ldr r3, [r3, #0] 80a5608: 4a43 ldr r2, [pc, #268] ; (80a5718 ) 80a560a: 009b lsls r3, r3, #2 80a560c: 4413 add r3, r2 80a560e: 681b ldr r3, [r3, #0] 80a5610: 65bb str r3, [r7, #88] ; 0x58 if(tmpF >= 1000.0f) 80a5612: edd7 7a16 vldr s15, [r7, #88] ; 0x58 80a5616: ed9f 7a47 vldr s14, [pc, #284] ; 80a5734 80a561a: eef4 7ac7 vcmpe.f32 s15, s14 80a561e: eef1 fa10 vmrs APSR_nzcv, fpscr 80a5622: db2a blt.n 80a567a tmpF *= 0.001f; 80a5624: edd7 7a16 vldr s15, [r7, #88] ; 0x58 80a5628: ed9f 7a3c vldr s14, [pc, #240] ; 80a571c 80a562c: ee67 7a87 vmul.f32 s15, s15, s14 80a5630: edc7 7a16 vstr s15, [r7, #88] ; 0x58 if(pardata.LANG == RUS) 80a5634: 4b27 ldr r3, [pc, #156] ; (80a56d4 ) 80a5636: 7b1b ldrb r3, [r3, #12] 80a5638: b2db uxtb r3, r3 80a563a: 2b00 cmp r3, #0 80a563c: d107 bne.n 80a564e BSP_LCD_DisplayStringAt(302, 45, "k$%", LEFT_MODE); 80a563e: 2303 movs r3, #3 80a5640: 4a37 ldr r2, [pc, #220] ; (80a5720 ) 80a5642: 212d movs r1, #45 ; 0x2d 80a5644: f44f 7097 mov.w r0, #302 ; 0x12e 80a5648: f7ae f976 bl 8053938 80a564c: e006 b.n 80a565c else BSP_LCD_DisplayStringAt(302, 45, "kHz", LEFT_MODE); 80a564e: 2303 movs r3, #3 80a5650: 4a34 ldr r2, [pc, #208] ; (80a5724 ) 80a5652: 212d movs r1, #45 ; 0x2d 80a5654: f44f 7097 mov.w r0, #302 ; 0x12e 80a5658: f7ae f96e bl 8053938 BSP_LCD_DisplayStringAt(299, 45, (char *)FloatToASCII(tmpF, -4), RIGHT_MODE); 80a565c: f06f 0003 mvn.w r0, #3 80a5660: ed97 0a16 vldr s0, [r7, #88] ; 0x58 80a5664: f7c1 f84c bl 8066700 80a5668: 4602 mov r2, r0 80a566a: 2302 movs r3, #2 80a566c: 212d movs r1, #45 ; 0x2d 80a566e: f240 102b movw r0, #299 ; 0x12b 80a5672: f7ae f961 bl 8053938 } 80a5676: f000 bccd b.w 80a6014 if(tmpF >= 0.1f) 80a567a: edd7 7a16 vldr s15, [r7, #88] ; 0x58 80a567e: ed9f 7a2a vldr s14, [pc, #168] ; 80a5728 80a5682: eef4 7ac7 vcmpe.f32 s15, s14 80a5686: eef1 fa10 vmrs APSR_nzcv, fpscr 80a568a: db55 blt.n 80a5738 if(pardata.LANG == RUS) 80a568c: 4b11 ldr r3, [pc, #68] ; (80a56d4 ) 80a568e: 7b1b ldrb r3, [r3, #12] 80a5690: b2db uxtb r3, r3 80a5692: 2b00 cmp r3, #0 80a5694: d107 bne.n 80a56a6 BSP_LCD_DisplayStringAt(302, 45, "$%", LEFT_MODE); 80a5696: 2303 movs r3, #3 80a5698: 4a24 ldr r2, [pc, #144] ; (80a572c ) 80a569a: 212d movs r1, #45 ; 0x2d 80a569c: f44f 7097 mov.w r0, #302 ; 0x12e 80a56a0: f7ae f94a bl 8053938 80a56a4: e006 b.n 80a56b4 else BSP_LCD_DisplayStringAt(302, 45, "Hz", LEFT_MODE); 80a56a6: 2303 movs r3, #3 80a56a8: 4a21 ldr r2, [pc, #132] ; (80a5730 ) 80a56aa: 212d movs r1, #45 ; 0x2d 80a56ac: f44f 7097 mov.w r0, #302 ; 0x12e 80a56b0: f7ae f942 bl 8053938 BSP_LCD_DisplayStringAt(299, 45, (char *)FloatToASCII(tmpF, -3), RIGHT_MODE); 80a56b4: f06f 0002 mvn.w r0, #2 80a56b8: ed97 0a16 vldr s0, [r7, #88] ; 0x58 80a56bc: f7c1 f820 bl 8066700 80a56c0: 4602 mov r2, r0 80a56c2: 2302 movs r3, #2 80a56c4: 212d movs r1, #45 ; 0x2d 80a56c6: f240 102b movw r0, #299 ; 0x12b 80a56ca: f7ae f935 bl 8053938 } 80a56ce: f000 bca1 b.w 80a6014 80a56d2: bf00 nop 80a56d4: 20023e60 .word 0x20023e60 80a56d8: 080d0aa8 .word 0x080d0aa8 80a56dc: 080d09d0 .word 0x080d09d0 80a56e0: 080d0aa0 .word 0x080d0aa0 80a56e4: 080d0aa4 .word 0x080d0aa4 80a56e8: 080d0ab0 .word 0x080d0ab0 80a56ec: 080d09dc .word 0x080d09dc 80a56f0: 080d0a60 .word 0x080d0a60 80a56f4: 080d09e8 .word 0x080d09e8 80a56f8: 080d0ab4 .word 0x080d0ab4 80a56fc: 080d0a0c .word 0x080d0a0c 80a5700: 080d0ab8 .word 0x080d0ab8 80a5704: 080d09f8 .word 0x080d09f8 80a5708: 080d0ac0 .word 0x080d0ac0 80a570c: 080d0a04 .word 0x080d0a04 80a5710: ff808080 .word 0xff808080 80a5714: 2002006c .word 0x2002006c 80a5718: 080ef744 .word 0x080ef744 80a571c: 3a83126f .word 0x3a83126f 80a5720: 080d0ac4 .word 0x080d0ac4 80a5724: 080d0ac8 .word 0x080d0ac8 80a5728: 3dcccccd .word 0x3dcccccd 80a572c: 080d0a8c .word 0x080d0a8c 80a5730: 080d0a90 .word 0x080d0a90 80a5734: 447a0000 .word 0x447a0000 tmpF *= 1000.0f; 80a5738: edd7 7a16 vldr s15, [r7, #88] ; 0x58 80a573c: ed1f 7a03 vldr s14, [pc, #-12] ; 80a5734 80a5740: ee67 7a87 vmul.f32 s15, s15, s14 80a5744: edc7 7a16 vstr s15, [r7, #88] ; 0x58 if(pardata.LANG == RUS) 80a5748: 4bb9 ldr r3, [pc, #740] ; (80a5a30 ) 80a574a: 7b1b ldrb r3, [r3, #12] 80a574c: b2db uxtb r3, r3 80a574e: 2b00 cmp r3, #0 80a5750: d107 bne.n 80a5762 BSP_LCD_DisplayStringAt(302, 45, "&$%", LEFT_MODE); 80a5752: 2303 movs r3, #3 80a5754: 4ab7 ldr r2, [pc, #732] ; (80a5a34 ) 80a5756: 212d movs r1, #45 ; 0x2d 80a5758: f44f 7097 mov.w r0, #302 ; 0x12e 80a575c: f7ae f8ec bl 8053938 80a5760: e006 b.n 80a5770 else BSP_LCD_DisplayStringAt(302, 45, "mHz", LEFT_MODE); 80a5762: 2303 movs r3, #3 80a5764: 4ab4 ldr r2, [pc, #720] ; (80a5a38 ) 80a5766: 212d movs r1, #45 ; 0x2d 80a5768: f44f 7097 mov.w r0, #302 ; 0x12e 80a576c: f7ae f8e4 bl 8053938 BSP_LCD_DisplayStringAt(299, 45, (char *)FloatToASCII(tmpF, -2), RIGHT_MODE); 80a5770: f06f 0001 mvn.w r0, #1 80a5774: ed97 0a16 vldr s0, [r7, #88] ; 0x58 80a5778: f7c0 ffc2 bl 8066700 80a577c: 4602 mov r2, r0 80a577e: 2302 movs r3, #2 80a5780: 212d movs r1, #45 ; 0x2d 80a5782: f240 102b movw r0, #299 ; 0x12b 80a5786: f7ae f8d7 bl 8053938 } 80a578a: f000 bc43 b.w 80a6014 arm_max_f32(&ScrA_f32(Mpos), avgOSC[ViewLevel][pardata.LNE], &maxf, &n2); 80a578e: 4bab ldr r3, [pc, #684] ; (80a5a3c ) 80a5790: 881b ldrh r3, [r3, #0] 80a5792: b29b uxth r3, r3 80a5794: 009b lsls r3, r3, #2 80a5796: 461a mov r2, r3 80a5798: 4ba9 ldr r3, [pc, #676] ; (80a5a40 ) 80a579a: 4413 add r3, r2 80a579c: 461c mov r4, r3 80a579e: 4ba9 ldr r3, [pc, #676] ; (80a5a44 ) 80a57a0: 781b ldrb r3, [r3, #0] 80a57a2: b2db uxtb r3, r3 80a57a4: 4619 mov r1, r3 80a57a6: 4ba2 ldr r3, [pc, #648] ; (80a5a30 ) 80a57a8: 79db ldrb r3, [r3, #7] 80a57aa: b2db uxtb r3, r3 80a57ac: 4618 mov r0, r3 80a57ae: 4aa6 ldr r2, [pc, #664] ; (80a5a48 ) 80a57b0: 460b mov r3, r1 80a57b2: 009b lsls r3, r3, #2 80a57b4: 440b add r3, r1 80a57b6: 4413 add r3, r2 80a57b8: 4403 add r3, r0 80a57ba: 781b ldrb r3, [r3, #0] 80a57bc: 4619 mov r1, r3 80a57be: f107 034c add.w r3, r7, #76 ; 0x4c 80a57c2: f107 0244 add.w r2, r7, #68 ; 0x44 80a57c6: 4620 mov r0, r4 80a57c8: f024 fc78 bl 80ca0bc arm_min_f32(&ScrA_f32(Mpos), avgOSC[ViewLevel][pardata.LNE], &minf, &n1); 80a57cc: 4b9b ldr r3, [pc, #620] ; (80a5a3c ) 80a57ce: 881b ldrh r3, [r3, #0] 80a57d0: b29b uxth r3, r3 80a57d2: 009b lsls r3, r3, #2 80a57d4: 461a mov r2, r3 80a57d6: 4b9a ldr r3, [pc, #616] ; (80a5a40 ) 80a57d8: 4413 add r3, r2 80a57da: 461c mov r4, r3 80a57dc: 4b99 ldr r3, [pc, #612] ; (80a5a44 ) 80a57de: 781b ldrb r3, [r3, #0] 80a57e0: b2db uxtb r3, r3 80a57e2: 4619 mov r1, r3 80a57e4: 4b92 ldr r3, [pc, #584] ; (80a5a30 ) 80a57e6: 79db ldrb r3, [r3, #7] 80a57e8: b2db uxtb r3, r3 80a57ea: 4618 mov r0, r3 80a57ec: 4a96 ldr r2, [pc, #600] ; (80a5a48 ) 80a57ee: 460b mov r3, r1 80a57f0: 009b lsls r3, r3, #2 80a57f2: 440b add r3, r1 80a57f4: 4413 add r3, r2 80a57f6: 4403 add r3, r0 80a57f8: 781b ldrb r3, [r3, #0] 80a57fa: 4619 mov r1, r3 80a57fc: f107 0350 add.w r3, r7, #80 ; 0x50 80a5800: f107 0248 add.w r2, r7, #72 ; 0x48 80a5804: 4620 mov r0, r4 80a5806: f024 fbbd bl 80c9f84 if((maxf > 0) && (minf < 0)) 80a580a: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a580e: eef5 7ac0 vcmpe.f32 s15, #0.0 80a5812: eef1 fa10 vmrs APSR_nzcv, fpscr 80a5816: dd33 ble.n 80a5880 80a5818: edd7 7a12 vldr s15, [r7, #72] ; 0x48 80a581c: eef5 7ac0 vcmpe.f32 s15, #0.0 80a5820: eef1 fa10 vmrs APSR_nzcv, fpscr 80a5824: d52c bpl.n 80a5880 if(ABS(maxf) < ABS(minf)) 80a5826: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a582a: eef5 7ac0 vcmpe.f32 s15, #0.0 80a582e: eef1 fa10 vmrs APSR_nzcv, fpscr 80a5832: dd02 ble.n 80a583a 80a5834: ed97 7a11 vldr s14, [r7, #68] ; 0x44 80a5838: e003 b.n 80a5842 80a583a: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a583e: eeb1 7a67 vneg.f32 s14, s15 80a5842: edd7 7a12 vldr s15, [r7, #72] ; 0x48 80a5846: eef5 7ac0 vcmpe.f32 s15, #0.0 80a584a: eef1 fa10 vmrs APSR_nzcv, fpscr 80a584e: dd02 ble.n 80a5856 80a5850: edd7 7a12 vldr s15, [r7, #72] ; 0x48 80a5854: e003 b.n 80a585e 80a5856: edd7 7a12 vldr s15, [r7, #72] ; 0x48 80a585a: eef1 7a67 vneg.f32 s15, s15 80a585e: eeb4 7ae7 vcmpe.f32 s14, s15 80a5862: eef1 fa10 vmrs APSR_nzcv, fpscr 80a5866: d505 bpl.n 80a5874 CurVal = minf; 80a5868: 6cbb ldr r3, [r7, #72] ; 0x48 80a586a: 4a78 ldr r2, [pc, #480] ; (80a5a4c ) 80a586c: 6013 str r3, [r2, #0] l = n1; 80a586e: 6d3b ldr r3, [r7, #80] ; 0x50 80a5870: 657b str r3, [r7, #84] ; 0x54 if(ABS(maxf) < ABS(minf)) 80a5872: e054 b.n 80a591e CurVal = maxf; 80a5874: 6c7b ldr r3, [r7, #68] ; 0x44 80a5876: 4a75 ldr r2, [pc, #468] ; (80a5a4c ) 80a5878: 6013 str r3, [r2, #0] l = n2; 80a587a: 6cfb ldr r3, [r7, #76] ; 0x4c 80a587c: 657b str r3, [r7, #84] ; 0x54 if(ABS(maxf) < ABS(minf)) 80a587e: e04e b.n 80a591e if((maxf > 0) && (minf > 0)) 80a5880: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a5884: eef5 7ac0 vcmpe.f32 s15, #0.0 80a5888: eef1 fa10 vmrs APSR_nzcv, fpscr 80a588c: dd0c ble.n 80a58a8 80a588e: edd7 7a12 vldr s15, [r7, #72] ; 0x48 80a5892: eef5 7ac0 vcmpe.f32 s15, #0.0 80a5896: eef1 fa10 vmrs APSR_nzcv, fpscr 80a589a: dd05 ble.n 80a58a8 CurVal = maxf; 80a589c: 6c7b ldr r3, [r7, #68] ; 0x44 80a589e: 4a6b ldr r2, [pc, #428] ; (80a5a4c ) 80a58a0: 6013 str r3, [r2, #0] l = n2; 80a58a2: 6cfb ldr r3, [r7, #76] ; 0x4c 80a58a4: 657b str r3, [r7, #84] ; 0x54 80a58a6: e03a b.n 80a591e if((maxf < 0) && (minf < 0)) 80a58a8: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a58ac: eef5 7ac0 vcmpe.f32 s15, #0.0 80a58b0: eef1 fa10 vmrs APSR_nzcv, fpscr 80a58b4: d50c bpl.n 80a58d0 80a58b6: edd7 7a12 vldr s15, [r7, #72] ; 0x48 80a58ba: eef5 7ac0 vcmpe.f32 s15, #0.0 80a58be: eef1 fa10 vmrs APSR_nzcv, fpscr 80a58c2: d505 bpl.n 80a58d0 CurVal = minf; 80a58c4: 6cbb ldr r3, [r7, #72] ; 0x48 80a58c6: 4a61 ldr r2, [pc, #388] ; (80a5a4c ) 80a58c8: 6013 str r3, [r2, #0] l = n1; 80a58ca: 6d3b ldr r3, [r7, #80] ; 0x50 80a58cc: 657b str r3, [r7, #84] ; 0x54 80a58ce: e026 b.n 80a591e if((maxf >= 0) && (minf == 0)) 80a58d0: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a58d4: eef5 7ac0 vcmpe.f32 s15, #0.0 80a58d8: eef1 fa10 vmrs APSR_nzcv, fpscr 80a58dc: db0c blt.n 80a58f8 80a58de: edd7 7a12 vldr s15, [r7, #72] ; 0x48 80a58e2: eef5 7a40 vcmp.f32 s15, #0.0 80a58e6: eef1 fa10 vmrs APSR_nzcv, fpscr 80a58ea: d105 bne.n 80a58f8 CurVal = maxf; 80a58ec: 6c7b ldr r3, [r7, #68] ; 0x44 80a58ee: 4a57 ldr r2, [pc, #348] ; (80a5a4c ) 80a58f0: 6013 str r3, [r2, #0] l = n2; 80a58f2: 6cfb ldr r3, [r7, #76] ; 0x4c 80a58f4: 657b str r3, [r7, #84] ; 0x54 80a58f6: e012 b.n 80a591e if((maxf == 0) && (minf <= 0)) 80a58f8: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a58fc: eef5 7a40 vcmp.f32 s15, #0.0 80a5900: eef1 fa10 vmrs APSR_nzcv, fpscr 80a5904: d10b bne.n 80a591e 80a5906: edd7 7a12 vldr s15, [r7, #72] ; 0x48 80a590a: eef5 7ac0 vcmpe.f32 s15, #0.0 80a590e: eef1 fa10 vmrs APSR_nzcv, fpscr 80a5912: d804 bhi.n 80a591e CurVal = minf; 80a5914: 6cbb ldr r3, [r7, #72] ; 0x48 80a5916: 4a4d ldr r2, [pc, #308] ; (80a5a4c ) 80a5918: 6013 str r3, [r2, #0] l = n1; 80a591a: 6d3b ldr r3, [r7, #80] ; 0x50 80a591c: 657b str r3, [r7, #84] ; 0x54 fineMpos = Mpos + l; 80a591e: 6d7b ldr r3, [r7, #84] ; 0x54 80a5920: b29a uxth r2, r3 80a5922: 4b46 ldr r3, [pc, #280] ; (80a5a3c ) 80a5924: 881b ldrh r3, [r3, #0] 80a5926: b29b uxth r3, r3 80a5928: 4413 add r3, r2 80a592a: b29a uxth r2, r3 80a592c: 4b48 ldr r3, [pc, #288] ; (80a5a50 ) 80a592e: 801a strh r2, [r3, #0] Val = CurVal; 80a5930: 4b46 ldr r3, [pc, #280] ; (80a5a4c ) 80a5932: 681b ldr r3, [r3, #0] 80a5934: 643b str r3, [r7, #64] ; 0x40 LCD_SetColors(LCD_COLOR_MYGREEN, 0xFF000000); 80a5936: f04f 417f mov.w r1, #4278190080 ; 0xff000000 80a593a: 4846 ldr r0, [pc, #280] ; (80a5a54 ) 80a593c: f7ad ff36 bl 80537ac if(ABS(Val) >= 1000.0f) 80a5940: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a5944: eef5 7ac0 vcmpe.f32 s15, #0.0 80a5948: eef1 fa10 vmrs APSR_nzcv, fpscr 80a594c: dd0c ble.n 80a5968 80a594e: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a5952: ed9f 7a41 vldr s14, [pc, #260] ; 80a5a58 80a5956: eef4 7ac7 vcmpe.f32 s15, s14 80a595a: eef1 fa10 vmrs APSR_nzcv, fpscr 80a595e: bfac ite ge 80a5960: 2301 movge r3, #1 80a5962: 2300 movlt r3, #0 80a5964: b2db uxtb r3, r3 80a5966: e00b b.n 80a5980 80a5968: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a596c: ed9f 7a3b vldr s14, [pc, #236] ; 80a5a5c 80a5970: eef4 7ac7 vcmpe.f32 s15, s14 80a5974: eef1 fa10 vmrs APSR_nzcv, fpscr 80a5978: bf94 ite ls 80a597a: 2301 movls r3, #1 80a597c: 2300 movhi r3, #0 80a597e: b2db uxtb r3, r3 80a5980: 2b00 cmp r3, #0 80a5982: f000 80cd beq.w 80a5b20 Val *= 0.001f; 80a5986: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a598a: ed9f 7a35 vldr s14, [pc, #212] ; 80a5a60 80a598e: ee67 7a87 vmul.f32 s15, s15, s14 80a5992: edc7 7a10 vstr s15, [r7, #64] ; 0x40 if(pardata.LANG == RUS) 80a5996: 4b26 ldr r3, [pc, #152] ; (80a5a30 ) 80a5998: 7b1b ldrb r3, [r3, #12] 80a599a: b2db uxtb r3, r3 80a599c: 2b00 cmp r3, #0 80a599e: d169 bne.n 80a5a74 if(pardata.IPR == ACC) 80a59a0: 4b23 ldr r3, [pc, #140] ; (80a5a30 ) 80a59a2: 785b ldrb r3, [r3, #1] 80a59a4: b2db uxtb r3, r3 80a59a6: 2b00 cmp r3, #0 80a59a8: d112 bne.n 80a59d0 if(pardata.IIN != VOLTS) 80a59aa: 4b21 ldr r3, [pc, #132] ; (80a5a30 ) 80a59ac: 799b ldrb r3, [r3, #6] 80a59ae: b2db uxtb r3, r3 80a59b0: 2b02 cmp r3, #2 80a59b2: d006 beq.n 80a59c2 BSP_LCD_DisplayStringAt(220, 45, "k&/c^", LEFT_MODE); 80a59b4: 2303 movs r3, #3 80a59b6: 4a2b ldr r2, [pc, #172] ; (80a5a64 ) 80a59b8: 212d movs r1, #45 ; 0x2d 80a59ba: 20dc movs r0, #220 ; 0xdc 80a59bc: f7ad ffbc bl 8053938 80a59c0: e09f b.n 80a5b02 else BSP_LCD_DisplayStringAt(220, 45, "B", LEFT_MODE); 80a59c2: 2303 movs r3, #3 80a59c4: 4a28 ldr r2, [pc, #160] ; (80a5a68 ) 80a59c6: 212d movs r1, #45 ; 0x2d 80a59c8: 20dc movs r0, #220 ; 0xdc 80a59ca: f7ad ffb5 bl 8053938 80a59ce: e098 b.n 80a5b02 if(pardata.IPR == VEL) 80a59d0: 4b17 ldr r3, [pc, #92] ; (80a5a30 ) 80a59d2: 785b ldrb r3, [r3, #1] 80a59d4: b2db uxtb r3, r3 80a59d6: 2b01 cmp r3, #1 80a59d8: d112 bne.n 80a5a00 if(pardata.IIN != VOLTS) 80a59da: 4b15 ldr r3, [pc, #84] ; (80a5a30 ) 80a59dc: 799b ldrb r3, [r3, #6] 80a59de: b2db uxtb r3, r3 80a59e0: 2b02 cmp r3, #2 80a59e2: d006 beq.n 80a59f2 BSP_LCD_DisplayStringAt(220, 45, "&/c", LEFT_MODE); 80a59e4: 2303 movs r3, #3 80a59e6: 4a21 ldr r2, [pc, #132] ; (80a5a6c ) 80a59e8: 212d movs r1, #45 ; 0x2d 80a59ea: 20dc movs r0, #220 ; 0xdc 80a59ec: f7ad ffa4 bl 8053938 80a59f0: e087 b.n 80a5b02 else BSP_LCD_DisplayStringAt(220, 45, "B", LEFT_MODE); 80a59f2: 2303 movs r3, #3 80a59f4: 4a1c ldr r2, [pc, #112] ; (80a5a68 ) 80a59f6: 212d movs r1, #45 ; 0x2d 80a59f8: 20dc movs r0, #220 ; 0xdc 80a59fa: f7ad ff9d bl 8053938 80a59fe: e080 b.n 80a5b02 if(pardata.IPR == DIS) 80a5a00: 4b0b ldr r3, [pc, #44] ; (80a5a30 ) 80a5a02: 785b ldrb r3, [r3, #1] 80a5a04: b2db uxtb r3, r3 80a5a06: 2b02 cmp r3, #2 80a5a08: d17b bne.n 80a5b02 if(pardata.IIN != VOLTS) 80a5a0a: 4b09 ldr r3, [pc, #36] ; (80a5a30 ) 80a5a0c: 799b ldrb r3, [r3, #6] 80a5a0e: b2db uxtb r3, r3 80a5a10: 2b02 cmp r3, #2 80a5a12: d006 beq.n 80a5a22 BSP_LCD_DisplayStringAt(220, 45, "&&", LEFT_MODE); 80a5a14: 2303 movs r3, #3 80a5a16: 4a16 ldr r2, [pc, #88] ; (80a5a70 ) 80a5a18: 212d movs r1, #45 ; 0x2d 80a5a1a: 20dc movs r0, #220 ; 0xdc 80a5a1c: f7ad ff8c bl 8053938 80a5a20: e06f b.n 80a5b02 else BSP_LCD_DisplayStringAt(220, 45, "B", LEFT_MODE); 80a5a22: 2303 movs r3, #3 80a5a24: 4a10 ldr r2, [pc, #64] ; (80a5a68 ) 80a5a26: 212d movs r1, #45 ; 0x2d 80a5a28: 20dc movs r0, #220 ; 0xdc 80a5a2a: f7ad ff85 bl 8053938 80a5a2e: e068 b.n 80a5b02 80a5a30: 20023e60 .word 0x20023e60 80a5a34: 080d0acc .word 0x080d0acc 80a5a38: 080d0ad0 .word 0x080d0ad0 80a5a3c: 20025d16 .word 0x20025d16 80a5a40: 64080000 .word 0x64080000 80a5a44: 20020f74 .word 0x20020f74 80a5a48: 080ef5f0 .word 0x080ef5f0 80a5a4c: 2002156c .word 0x2002156c 80a5a50: 20025d1c .word 0x20025d1c 80a5a54: ff26a01f .word 0xff26a01f 80a5a58: 447a0000 .word 0x447a0000 80a5a5c: c47a0000 .word 0xc47a0000 80a5a60: 3a83126f .word 0x3a83126f 80a5a64: 080d0a40 .word 0x080d0a40 80a5a68: 080d0a94 .word 0x080d0a94 80a5a6c: 080d0a98 .word 0x080d0a98 80a5a70: 080d0a9c .word 0x080d0a9c if(pardata.IPR == ACC) 80a5a74: 4bb0 ldr r3, [pc, #704] ; (80a5d38 ) 80a5a76: 785b ldrb r3, [r3, #1] 80a5a78: b2db uxtb r3, r3 80a5a7a: 2b00 cmp r3, #0 80a5a7c: d112 bne.n 80a5aa4 if(pardata.IIN != VOLTS) 80a5a7e: 4bae ldr r3, [pc, #696] ; (80a5d38 ) 80a5a80: 799b ldrb r3, [r3, #6] 80a5a82: b2db uxtb r3, r3 80a5a84: 2b02 cmp r3, #2 80a5a86: d006 beq.n 80a5a96 BSP_LCD_DisplayStringAt(220, 45, "km/c^", LEFT_MODE); 80a5a88: 2303 movs r3, #3 80a5a8a: 4aac ldr r2, [pc, #688] ; (80a5d3c ) 80a5a8c: 212d movs r1, #45 ; 0x2d 80a5a8e: 20dc movs r0, #220 ; 0xdc 80a5a90: f7ad ff52 bl 8053938 80a5a94: e035 b.n 80a5b02 else BSP_LCD_DisplayStringAt(220, 45, "V", LEFT_MODE); 80a5a96: 2303 movs r3, #3 80a5a98: 4aa9 ldr r2, [pc, #676] ; (80a5d40 ) 80a5a9a: 212d movs r1, #45 ; 0x2d 80a5a9c: 20dc movs r0, #220 ; 0xdc 80a5a9e: f7ad ff4b bl 8053938 80a5aa2: e02e b.n 80a5b02 if(pardata.IPR == VEL) 80a5aa4: 4ba4 ldr r3, [pc, #656] ; (80a5d38 ) 80a5aa6: 785b ldrb r3, [r3, #1] 80a5aa8: b2db uxtb r3, r3 80a5aaa: 2b01 cmp r3, #1 80a5aac: d112 bne.n 80a5ad4 if(pardata.IIN != VOLTS) 80a5aae: 4ba2 ldr r3, [pc, #648] ; (80a5d38 ) 80a5ab0: 799b ldrb r3, [r3, #6] 80a5ab2: b2db uxtb r3, r3 80a5ab4: 2b02 cmp r3, #2 80a5ab6: d006 beq.n 80a5ac6 BSP_LCD_DisplayStringAt(220, 45, "m/c", LEFT_MODE); 80a5ab8: 2303 movs r3, #3 80a5aba: 4aa2 ldr r2, [pc, #648] ; (80a5d44 ) 80a5abc: 212d movs r1, #45 ; 0x2d 80a5abe: 20dc movs r0, #220 ; 0xdc 80a5ac0: f7ad ff3a bl 8053938 80a5ac4: e01d b.n 80a5b02 else BSP_LCD_DisplayStringAt(220, 45, "V", LEFT_MODE); 80a5ac6: 2303 movs r3, #3 80a5ac8: 4a9d ldr r2, [pc, #628] ; (80a5d40 ) 80a5aca: 212d movs r1, #45 ; 0x2d 80a5acc: 20dc movs r0, #220 ; 0xdc 80a5ace: f7ad ff33 bl 8053938 80a5ad2: e016 b.n 80a5b02 if(pardata.IPR == DIS) 80a5ad4: 4b98 ldr r3, [pc, #608] ; (80a5d38 ) 80a5ad6: 785b ldrb r3, [r3, #1] 80a5ad8: b2db uxtb r3, r3 80a5ada: 2b02 cmp r3, #2 80a5adc: d111 bne.n 80a5b02 if(pardata.IIN != VOLTS) 80a5ade: 4b96 ldr r3, [pc, #600] ; (80a5d38 ) 80a5ae0: 799b ldrb r3, [r3, #6] 80a5ae2: b2db uxtb r3, r3 80a5ae4: 2b02 cmp r3, #2 80a5ae6: d006 beq.n 80a5af6 BSP_LCD_DisplayStringAt(220, 45, "mm", LEFT_MODE); 80a5ae8: 2303 movs r3, #3 80a5aea: 4a97 ldr r2, [pc, #604] ; (80a5d48 ) 80a5aec: 212d movs r1, #45 ; 0x2d 80a5aee: 20dc movs r0, #220 ; 0xdc 80a5af0: f7ad ff22 bl 8053938 80a5af4: e005 b.n 80a5b02 else BSP_LCD_DisplayStringAt(220, 45, "V", LEFT_MODE); 80a5af6: 2303 movs r3, #3 80a5af8: 4a91 ldr r2, [pc, #580] ; (80a5d40 ) 80a5afa: 212d movs r1, #45 ; 0x2d 80a5afc: 20dc movs r0, #220 ; 0xdc 80a5afe: f7ad ff1b bl 8053938 BSP_LCD_DisplayStringAt(217, 45, (char *)FloatToASCII(Val, -3), RIGHT_MODE); 80a5b02: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a5b06: f06f 0002 mvn.w r0, #2 80a5b0a: eeb0 0a67 vmov.f32 s0, s15 80a5b0e: f7c0 fdf7 bl 8066700 80a5b12: 4602 mov r2, r0 80a5b14: 2302 movs r3, #2 80a5b16: 212d movs r1, #45 ; 0x2d 80a5b18: 20d9 movs r0, #217 ; 0xd9 80a5b1a: f7ad ff0d bl 8053938 80a5b1e: e1be b.n 80a5e9e if(ABS(Val) >= 0.1f) 80a5b20: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a5b24: eef5 7ac0 vcmpe.f32 s15, #0.0 80a5b28: eef1 fa10 vmrs APSR_nzcv, fpscr 80a5b2c: dd0c ble.n 80a5b48 80a5b2e: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a5b32: ed9f 7a86 vldr s14, [pc, #536] ; 80a5d4c 80a5b36: eef4 7ac7 vcmpe.f32 s15, s14 80a5b3a: eef1 fa10 vmrs APSR_nzcv, fpscr 80a5b3e: bfac ite ge 80a5b40: 2301 movge r3, #1 80a5b42: 2300 movlt r3, #0 80a5b44: b2db uxtb r3, r3 80a5b46: e00b b.n 80a5b60 80a5b48: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a5b4c: ed9f 7a80 vldr s14, [pc, #512] ; 80a5d50 80a5b50: eef4 7ac7 vcmpe.f32 s15, s14 80a5b54: eef1 fa10 vmrs APSR_nzcv, fpscr 80a5b58: bf94 ite ls 80a5b5a: 2301 movls r3, #1 80a5b5c: 2300 movhi r3, #0 80a5b5e: b2db uxtb r3, r3 80a5b60: 2b00 cmp r3, #0 80a5b62: f000 80a3 beq.w 80a5cac if(pardata.LANG == RUS) 80a5b66: 4b74 ldr r3, [pc, #464] ; (80a5d38 ) 80a5b68: 7b1b ldrb r3, [r3, #12] 80a5b6a: b2db uxtb r3, r3 80a5b6c: 2b00 cmp r3, #0 80a5b6e: d147 bne.n 80a5c00 if(pardata.IPR == ACC) 80a5b70: 4b71 ldr r3, [pc, #452] ; (80a5d38 ) 80a5b72: 785b ldrb r3, [r3, #1] 80a5b74: b2db uxtb r3, r3 80a5b76: 2b00 cmp r3, #0 80a5b78: d112 bne.n 80a5ba0 if(pardata.IIN != VOLTS) 80a5b7a: 4b6f ldr r3, [pc, #444] ; (80a5d38 ) 80a5b7c: 799b ldrb r3, [r3, #6] 80a5b7e: b2db uxtb r3, r3 80a5b80: 2b02 cmp r3, #2 80a5b82: d006 beq.n 80a5b92 BSP_LCD_DisplayStringAt(220, 45, "&/c^", LEFT_MODE); 80a5b84: 2303 movs r3, #3 80a5b86: 4a73 ldr r2, [pc, #460] ; (80a5d54 ) 80a5b88: 212d movs r1, #45 ; 0x2d 80a5b8a: 20dc movs r0, #220 ; 0xdc 80a5b8c: f7ad fed4 bl 8053938 80a5b90: e07d b.n 80a5c8e else BSP_LCD_DisplayStringAt(220, 45, "&B", LEFT_MODE); 80a5b92: 2303 movs r3, #3 80a5b94: 4a70 ldr r2, [pc, #448] ; (80a5d58 ) 80a5b96: 212d movs r1, #45 ; 0x2d 80a5b98: 20dc movs r0, #220 ; 0xdc 80a5b9a: f7ad fecd bl 8053938 80a5b9e: e076 b.n 80a5c8e if(pardata.IPR == VEL) 80a5ba0: 4b65 ldr r3, [pc, #404] ; (80a5d38 ) 80a5ba2: 785b ldrb r3, [r3, #1] 80a5ba4: b2db uxtb r3, r3 80a5ba6: 2b01 cmp r3, #1 80a5ba8: d112 bne.n 80a5bd0 if(pardata.IIN != VOLTS) 80a5baa: 4b63 ldr r3, [pc, #396] ; (80a5d38 ) 80a5bac: 799b ldrb r3, [r3, #6] 80a5bae: b2db uxtb r3, r3 80a5bb0: 2b02 cmp r3, #2 80a5bb2: d006 beq.n 80a5bc2 BSP_LCD_DisplayStringAt(220, 45, "&&/c", LEFT_MODE); 80a5bb4: 2303 movs r3, #3 80a5bb6: 4a69 ldr r2, [pc, #420] ; (80a5d5c ) 80a5bb8: 212d movs r1, #45 ; 0x2d 80a5bba: 20dc movs r0, #220 ; 0xdc 80a5bbc: f7ad febc bl 8053938 80a5bc0: e065 b.n 80a5c8e else BSP_LCD_DisplayStringAt(220, 45, "&B", LEFT_MODE); 80a5bc2: 2303 movs r3, #3 80a5bc4: 4a64 ldr r2, [pc, #400] ; (80a5d58 ) 80a5bc6: 212d movs r1, #45 ; 0x2d 80a5bc8: 20dc movs r0, #220 ; 0xdc 80a5bca: f7ad feb5 bl 8053938 80a5bce: e05e b.n 80a5c8e if(pardata.IPR == DIS) 80a5bd0: 4b59 ldr r3, [pc, #356] ; (80a5d38 ) 80a5bd2: 785b ldrb r3, [r3, #1] 80a5bd4: b2db uxtb r3, r3 80a5bd6: 2b02 cmp r3, #2 80a5bd8: d159 bne.n 80a5c8e if(pardata.IIN != VOLTS) 80a5bda: 4b57 ldr r3, [pc, #348] ; (80a5d38 ) 80a5bdc: 799b ldrb r3, [r3, #6] 80a5bde: b2db uxtb r3, r3 80a5be0: 2b02 cmp r3, #2 80a5be2: d006 beq.n 80a5bf2 BSP_LCD_DisplayStringAt(220, 45, "&k&", LEFT_MODE); 80a5be4: 2303 movs r3, #3 80a5be6: 4a5e ldr r2, [pc, #376] ; (80a5d60 ) 80a5be8: 212d movs r1, #45 ; 0x2d 80a5bea: 20dc movs r0, #220 ; 0xdc 80a5bec: f7ad fea4 bl 8053938 80a5bf0: e04d b.n 80a5c8e else BSP_LCD_DisplayStringAt(220, 45, "&B", LEFT_MODE); 80a5bf2: 2303 movs r3, #3 80a5bf4: 4a58 ldr r2, [pc, #352] ; (80a5d58 ) 80a5bf6: 212d movs r1, #45 ; 0x2d 80a5bf8: 20dc movs r0, #220 ; 0xdc 80a5bfa: f7ad fe9d bl 8053938 80a5bfe: e046 b.n 80a5c8e if(pardata.IPR == ACC) 80a5c00: 4b4d ldr r3, [pc, #308] ; (80a5d38 ) 80a5c02: 785b ldrb r3, [r3, #1] 80a5c04: b2db uxtb r3, r3 80a5c06: 2b00 cmp r3, #0 80a5c08: d112 bne.n 80a5c30 if(pardata.IIN != VOLTS) 80a5c0a: 4b4b ldr r3, [pc, #300] ; (80a5d38 ) 80a5c0c: 799b ldrb r3, [r3, #6] 80a5c0e: b2db uxtb r3, r3 80a5c10: 2b02 cmp r3, #2 80a5c12: d006 beq.n 80a5c22 BSP_LCD_DisplayStringAt(220, 45, "m/c^", LEFT_MODE); 80a5c14: 2303 movs r3, #3 80a5c16: 4a53 ldr r2, [pc, #332] ; (80a5d64 ) 80a5c18: 212d movs r1, #45 ; 0x2d 80a5c1a: 20dc movs r0, #220 ; 0xdc 80a5c1c: f7ad fe8c bl 8053938 80a5c20: e035 b.n 80a5c8e else BSP_LCD_DisplayStringAt(220, 45, "mV", LEFT_MODE); 80a5c22: 2303 movs r3, #3 80a5c24: 4a50 ldr r2, [pc, #320] ; (80a5d68 ) 80a5c26: 212d movs r1, #45 ; 0x2d 80a5c28: 20dc movs r0, #220 ; 0xdc 80a5c2a: f7ad fe85 bl 8053938 80a5c2e: e02e b.n 80a5c8e if(pardata.IPR == VEL) 80a5c30: 4b41 ldr r3, [pc, #260] ; (80a5d38 ) 80a5c32: 785b ldrb r3, [r3, #1] 80a5c34: b2db uxtb r3, r3 80a5c36: 2b01 cmp r3, #1 80a5c38: d112 bne.n 80a5c60 if(pardata.IIN != VOLTS) 80a5c3a: 4b3f ldr r3, [pc, #252] ; (80a5d38 ) 80a5c3c: 799b ldrb r3, [r3, #6] 80a5c3e: b2db uxtb r3, r3 80a5c40: 2b02 cmp r3, #2 80a5c42: d006 beq.n 80a5c52 BSP_LCD_DisplayStringAt(220, 45, "mm/c", LEFT_MODE); 80a5c44: 2303 movs r3, #3 80a5c46: 4a49 ldr r2, [pc, #292] ; (80a5d6c ) 80a5c48: 212d movs r1, #45 ; 0x2d 80a5c4a: 20dc movs r0, #220 ; 0xdc 80a5c4c: f7ad fe74 bl 8053938 80a5c50: e01d b.n 80a5c8e else BSP_LCD_DisplayStringAt(220, 45, "mV", LEFT_MODE); 80a5c52: 2303 movs r3, #3 80a5c54: 4a44 ldr r2, [pc, #272] ; (80a5d68 ) 80a5c56: 212d movs r1, #45 ; 0x2d 80a5c58: 20dc movs r0, #220 ; 0xdc 80a5c5a: f7ad fe6d bl 8053938 80a5c5e: e016 b.n 80a5c8e if(pardata.IPR == DIS) 80a5c60: 4b35 ldr r3, [pc, #212] ; (80a5d38 ) 80a5c62: 785b ldrb r3, [r3, #1] 80a5c64: b2db uxtb r3, r3 80a5c66: 2b02 cmp r3, #2 80a5c68: d111 bne.n 80a5c8e if(pardata.IIN != VOLTS) 80a5c6a: 4b33 ldr r3, [pc, #204] ; (80a5d38 ) 80a5c6c: 799b ldrb r3, [r3, #6] 80a5c6e: b2db uxtb r3, r3 80a5c70: 2b02 cmp r3, #2 80a5c72: d006 beq.n 80a5c82 BSP_LCD_DisplayStringAt(220, 45, "um", LEFT_MODE); 80a5c74: 2303 movs r3, #3 80a5c76: 4a3e ldr r2, [pc, #248] ; (80a5d70 ) 80a5c78: 212d movs r1, #45 ; 0x2d 80a5c7a: 20dc movs r0, #220 ; 0xdc 80a5c7c: f7ad fe5c bl 8053938 80a5c80: e005 b.n 80a5c8e else BSP_LCD_DisplayStringAt(220, 45, "mV", LEFT_MODE); 80a5c82: 2303 movs r3, #3 80a5c84: 4a38 ldr r2, [pc, #224] ; (80a5d68 ) 80a5c86: 212d movs r1, #45 ; 0x2d 80a5c88: 20dc movs r0, #220 ; 0xdc 80a5c8a: f7ad fe55 bl 8053938 BSP_LCD_DisplayStringAt(217, 45, (char *)FloatToASCII(Val, -3), RIGHT_MODE); 80a5c8e: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a5c92: f06f 0002 mvn.w r0, #2 80a5c96: eeb0 0a67 vmov.f32 s0, s15 80a5c9a: f7c0 fd31 bl 8066700 80a5c9e: 4602 mov r2, r0 80a5ca0: 2302 movs r3, #2 80a5ca2: 212d movs r1, #45 ; 0x2d 80a5ca4: 20d9 movs r0, #217 ; 0xd9 80a5ca6: f7ad fe47 bl 8053938 80a5caa: e0f8 b.n 80a5e9e if(pardata.IPR == ACC) 80a5cac: 4b22 ldr r3, [pc, #136] ; (80a5d38 ) 80a5cae: 785b ldrb r3, [r3, #1] 80a5cb0: b2db uxtb r3, r3 80a5cb2: 2b00 cmp r3, #0 80a5cb4: d168 bne.n 80a5d88 Val *= 1000.0f; 80a5cb6: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a5cba: ed9f 7a2e vldr s14, [pc, #184] ; 80a5d74 80a5cbe: ee67 7a87 vmul.f32 s15, s15, s14 80a5cc2: edc7 7a10 vstr s15, [r7, #64] ; 0x40 if(pardata.IIN != VOLTS) 80a5cc6: 4b1c ldr r3, [pc, #112] ; (80a5d38 ) 80a5cc8: 799b ldrb r3, [r3, #6] 80a5cca: b2db uxtb r3, r3 80a5ccc: 2b02 cmp r3, #2 80a5cce: d012 beq.n 80a5cf6 if(pardata.LANG == RUS) 80a5cd0: 4b19 ldr r3, [pc, #100] ; (80a5d38 ) 80a5cd2: 7b1b ldrb r3, [r3, #12] 80a5cd4: b2db uxtb r3, r3 80a5cd6: 2b00 cmp r3, #0 80a5cd8: d106 bne.n 80a5ce8 BSP_LCD_DisplayStringAt(220, 45, "&&/c^", LEFT_MODE); 80a5cda: 2303 movs r3, #3 80a5cdc: 4a26 ldr r2, [pc, #152] ; (80a5d78 ) 80a5cde: 212d movs r1, #45 ; 0x2d 80a5ce0: 20dc movs r0, #220 ; 0xdc 80a5ce2: f7ad fe29 bl 8053938 80a5ce6: e018 b.n 80a5d1a else BSP_LCD_DisplayStringAt(220, 45, "mm/c^", LEFT_MODE); 80a5ce8: 2303 movs r3, #3 80a5cea: 4a24 ldr r2, [pc, #144] ; (80a5d7c ) 80a5cec: 212d movs r1, #45 ; 0x2d 80a5cee: 20dc movs r0, #220 ; 0xdc 80a5cf0: f7ad fe22 bl 8053938 80a5cf4: e011 b.n 80a5d1a if(pardata.LANG == RUS) 80a5cf6: 4b10 ldr r3, [pc, #64] ; (80a5d38 ) 80a5cf8: 7b1b ldrb r3, [r3, #12] 80a5cfa: b2db uxtb r3, r3 80a5cfc: 2b00 cmp r3, #0 80a5cfe: d106 bne.n 80a5d0e BSP_LCD_DisplayStringAt(220, 45, "&kB", LEFT_MODE); 80a5d00: 2303 movs r3, #3 80a5d02: 4a1f ldr r2, [pc, #124] ; (80a5d80 ) 80a5d04: 212d movs r1, #45 ; 0x2d 80a5d06: 20dc movs r0, #220 ; 0xdc 80a5d08: f7ad fe16 bl 8053938 80a5d0c: e005 b.n 80a5d1a else BSP_LCD_DisplayStringAt(220, 45, "uV", LEFT_MODE); 80a5d0e: 2303 movs r3, #3 80a5d10: 4a1c ldr r2, [pc, #112] ; (80a5d84 ) 80a5d12: 212d movs r1, #45 ; 0x2d 80a5d14: 20dc movs r0, #220 ; 0xdc 80a5d16: f7ad fe0f bl 8053938 BSP_LCD_DisplayStringAt(217, 45, (char *)FloatToASCII(Val, -3), RIGHT_MODE); 80a5d1a: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a5d1e: f06f 0002 mvn.w r0, #2 80a5d22: eeb0 0a67 vmov.f32 s0, s15 80a5d26: f7c0 fceb bl 8066700 80a5d2a: 4602 mov r2, r0 80a5d2c: 2302 movs r3, #2 80a5d2e: 212d movs r1, #45 ; 0x2d 80a5d30: 20d9 movs r0, #217 ; 0xd9 80a5d32: f7ad fe01 bl 8053938 80a5d36: e0b2 b.n 80a5e9e 80a5d38: 20023e60 .word 0x20023e60 80a5d3c: 080d0a48 .word 0x080d0a48 80a5d40: 080ce6a0 .word 0x080ce6a0 80a5d44: 080d0ad4 .word 0x080d0ad4 80a5d48: 080d09b4 .word 0x080d09b4 80a5d4c: 3dcccccd .word 0x3dcccccd 80a5d50: bdcccccd .word 0xbdcccccd 80a5d54: 080d0a50 .word 0x080d0a50 80a5d58: 080d0aa0 .word 0x080d0aa0 80a5d5c: 080d0aa8 .word 0x080d0aa8 80a5d60: 080d0ab0 .word 0x080d0ab0 80a5d64: 080d0a58 .word 0x080d0a58 80a5d68: 080d0aa4 .word 0x080d0aa4 80a5d6c: 080d0ad8 .word 0x080d0ad8 80a5d70: 080d09dc .word 0x080d09dc 80a5d74: 447a0000 .word 0x447a0000 80a5d78: 080d0a60 .word 0x080d0a60 80a5d7c: 080d0a68 .word 0x080d0a68 80a5d80: 080d0ab4 .word 0x080d0ab4 80a5d84: 080d0a0c .word 0x080d0a0c if(pardata.IPR == VEL) 80a5d88: 4ba4 ldr r3, [pc, #656] ; (80a601c ) 80a5d8a: 785b ldrb r3, [r3, #1] 80a5d8c: b2db uxtb r3, r3 80a5d8e: 2b01 cmp r3, #1 80a5d90: d140 bne.n 80a5e14 Val *= 1000.0f; 80a5d92: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a5d96: ed9f 7aa2 vldr s14, [pc, #648] ; 80a6020 80a5d9a: ee67 7a87 vmul.f32 s15, s15, s14 80a5d9e: edc7 7a10 vstr s15, [r7, #64] ; 0x40 if(pardata.IIN != VOLTS) 80a5da2: 4b9e ldr r3, [pc, #632] ; (80a601c ) 80a5da4: 799b ldrb r3, [r3, #6] 80a5da6: b2db uxtb r3, r3 80a5da8: 2b02 cmp r3, #2 80a5daa: d012 beq.n 80a5dd2 if(pardata.LANG == RUS) 80a5dac: 4b9b ldr r3, [pc, #620] ; (80a601c ) 80a5dae: 7b1b ldrb r3, [r3, #12] 80a5db0: b2db uxtb r3, r3 80a5db2: 2b00 cmp r3, #0 80a5db4: d106 bne.n 80a5dc4 BSP_LCD_DisplayStringAt(220, 45, "&k&/c", LEFT_MODE); 80a5db6: 2303 movs r3, #3 80a5db8: 4a9a ldr r2, [pc, #616] ; (80a6024 ) 80a5dba: 212d movs r1, #45 ; 0x2d 80a5dbc: 20dc movs r0, #220 ; 0xdc 80a5dbe: f7ad fdbb bl 8053938 80a5dc2: e018 b.n 80a5df6 else BSP_LCD_DisplayStringAt(220, 45, "um/c", LEFT_MODE); 80a5dc4: 2303 movs r3, #3 80a5dc6: 4a98 ldr r2, [pc, #608] ; (80a6028 ) 80a5dc8: 212d movs r1, #45 ; 0x2d 80a5dca: 20dc movs r0, #220 ; 0xdc 80a5dcc: f7ad fdb4 bl 8053938 80a5dd0: e011 b.n 80a5df6 if(pardata.LANG == RUS) 80a5dd2: 4b92 ldr r3, [pc, #584] ; (80a601c ) 80a5dd4: 7b1b ldrb r3, [r3, #12] 80a5dd6: b2db uxtb r3, r3 80a5dd8: 2b00 cmp r3, #0 80a5dda: d106 bne.n 80a5dea BSP_LCD_DisplayStringAt(220, 45, "&kB", LEFT_MODE); 80a5ddc: 2303 movs r3, #3 80a5dde: 4a93 ldr r2, [pc, #588] ; (80a602c ) 80a5de0: 212d movs r1, #45 ; 0x2d 80a5de2: 20dc movs r0, #220 ; 0xdc 80a5de4: f7ad fda8 bl 8053938 80a5de8: e005 b.n 80a5df6 else BSP_LCD_DisplayStringAt(220, 45, "uV", LEFT_MODE); 80a5dea: 2303 movs r3, #3 80a5dec: 4a90 ldr r2, [pc, #576] ; (80a6030 ) 80a5dee: 212d movs r1, #45 ; 0x2d 80a5df0: 20dc movs r0, #220 ; 0xdc 80a5df2: f7ad fda1 bl 8053938 BSP_LCD_DisplayStringAt(217, 45, (char *)FloatToASCII(Val, -3), RIGHT_MODE); 80a5df6: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a5dfa: f06f 0002 mvn.w r0, #2 80a5dfe: eeb0 0a67 vmov.f32 s0, s15 80a5e02: f7c0 fc7d bl 8066700 80a5e06: 4602 mov r2, r0 80a5e08: 2302 movs r3, #2 80a5e0a: 212d movs r1, #45 ; 0x2d 80a5e0c: 20d9 movs r0, #217 ; 0xd9 80a5e0e: f7ad fd93 bl 8053938 80a5e12: e044 b.n 80a5e9e if(pardata.IPR == DIS) 80a5e14: 4b81 ldr r3, [pc, #516] ; (80a601c ) 80a5e16: 785b ldrb r3, [r3, #1] 80a5e18: b2db uxtb r3, r3 80a5e1a: 2b02 cmp r3, #2 80a5e1c: d13f bne.n 80a5e9e if(pardata.IIN != VOLTS) 80a5e1e: 4b7f ldr r3, [pc, #508] ; (80a601c ) 80a5e20: 799b ldrb r3, [r3, #6] 80a5e22: b2db uxtb r3, r3 80a5e24: 2b02 cmp r3, #2 80a5e26: d012 beq.n 80a5e4e if(pardata.LANG == RUS) 80a5e28: 4b7c ldr r3, [pc, #496] ; (80a601c ) 80a5e2a: 7b1b ldrb r3, [r3, #12] 80a5e2c: b2db uxtb r3, r3 80a5e2e: 2b00 cmp r3, #0 80a5e30: d106 bne.n 80a5e40 BSP_LCD_DisplayStringAt(220, 45, "&k&", LEFT_MODE); 80a5e32: 2303 movs r3, #3 80a5e34: 4a7f ldr r2, [pc, #508] ; (80a6034 ) 80a5e36: 212d movs r1, #45 ; 0x2d 80a5e38: 20dc movs r0, #220 ; 0xdc 80a5e3a: f7ad fd7d bl 8053938 80a5e3e: e020 b.n 80a5e82 else BSP_LCD_DisplayStringAt(220, 45, "um", LEFT_MODE); 80a5e40: 2303 movs r3, #3 80a5e42: 4a7d ldr r2, [pc, #500] ; (80a6038 ) 80a5e44: 212d movs r1, #45 ; 0x2d 80a5e46: 20dc movs r0, #220 ; 0xdc 80a5e48: f7ad fd76 bl 8053938 80a5e4c: e019 b.n 80a5e82 Val *= 1000.0f; 80a5e4e: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a5e52: ed9f 7a73 vldr s14, [pc, #460] ; 80a6020 80a5e56: ee67 7a87 vmul.f32 s15, s15, s14 80a5e5a: edc7 7a10 vstr s15, [r7, #64] ; 0x40 if(pardata.LANG == RUS) 80a5e5e: 4b6f ldr r3, [pc, #444] ; (80a601c ) 80a5e60: 7b1b ldrb r3, [r3, #12] 80a5e62: b2db uxtb r3, r3 80a5e64: 2b00 cmp r3, #0 80a5e66: d106 bne.n 80a5e76 BSP_LCD_DisplayStringAt(220, 45, "&kB", LEFT_MODE); 80a5e68: 2303 movs r3, #3 80a5e6a: 4a70 ldr r2, [pc, #448] ; (80a602c ) 80a5e6c: 212d movs r1, #45 ; 0x2d 80a5e6e: 20dc movs r0, #220 ; 0xdc 80a5e70: f7ad fd62 bl 8053938 80a5e74: e005 b.n 80a5e82 else BSP_LCD_DisplayStringAt(220, 45, "uV", LEFT_MODE); 80a5e76: 2303 movs r3, #3 80a5e78: 4a6d ldr r2, [pc, #436] ; (80a6030 ) 80a5e7a: 212d movs r1, #45 ; 0x2d 80a5e7c: 20dc movs r0, #220 ; 0xdc 80a5e7e: f7ad fd5b bl 8053938 BSP_LCD_DisplayStringAt(217, 45, (char *)FloatToASCII(Val, -3), RIGHT_MODE); 80a5e82: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a5e86: f06f 0002 mvn.w r0, #2 80a5e8a: eeb0 0a67 vmov.f32 s0, s15 80a5e8e: f7c0 fc37 bl 8066700 80a5e92: 4602 mov r2, r0 80a5e94: 2302 movs r3, #2 80a5e96: 212d movs r1, #45 ; 0x2d 80a5e98: 20d9 movs r0, #217 ; 0xd9 80a5e9a: f7ad fd4d bl 8053938 LCD_SetColors(LCD_COLOR_GRAY, 0xFF000000); 80a5e9e: f04f 417f mov.w r1, #4278190080 ; 0xff000000 80a5ea2: 4866 ldr r0, [pc, #408] ; (80a603c ) 80a5ea4: f7ad fc82 bl 80537ac tmpF = (float32_t) (fineMpos + 1); 80a5ea8: 4b65 ldr r3, [pc, #404] ; (80a6040 ) 80a5eaa: 881b ldrh r3, [r3, #0] 80a5eac: b29b uxth r3, r3 80a5eae: 3301 adds r3, #1 80a5eb0: ee07 3a90 vmov s15, r3 80a5eb4: eef8 7ae7 vcvt.f32.s32 s15, s15 80a5eb8: edc7 7a16 vstr s15, [r7, #88] ; 0x58 if(tmpF != TF) 80a5ebc: 4b61 ldr r3, [pc, #388] ; (80a6044 ) 80a5ebe: edd3 7a00 vldr s15, [r3] 80a5ec2: ed97 7a16 vldr s14, [r7, #88] ; 0x58 80a5ec6: eeb4 7a67 vcmp.f32 s14, s15 80a5eca: eef1 fa10 vmrs APSR_nzcv, fpscr 80a5ece: d016 beq.n 80a5efe TF = tmpF; 80a5ed0: 4a5c ldr r2, [pc, #368] ; (80a6044 ) 80a5ed2: 6dbb ldr r3, [r7, #88] ; 0x58 80a5ed4: 6013 str r3, [r2, #0] TF *= Delta_OSC[pardata.FRQ]; 80a5ed6: 4b51 ldr r3, [pc, #324] ; (80a601c ) 80a5ed8: 7adb ldrb r3, [r3, #11] 80a5eda: b2db uxtb r3, r3 80a5edc: 4a5a ldr r2, [pc, #360] ; (80a6048 ) 80a5ede: 009b lsls r3, r3, #2 80a5ee0: 4413 add r3, r2 80a5ee2: ed93 7a00 vldr s14, [r3] 80a5ee6: 4b57 ldr r3, [pc, #348] ; (80a6044 ) 80a5ee8: edd3 7a00 vldr s15, [r3] 80a5eec: ee67 7a27 vmul.f32 s15, s14, s15 80a5ef0: 4b54 ldr r3, [pc, #336] ; (80a6044 ) 80a5ef2: edc3 7a00 vstr s15, [r3] oldTF = TF; 80a5ef6: 4b53 ldr r3, [pc, #332] ; (80a6044 ) 80a5ef8: 681b ldr r3, [r3, #0] 80a5efa: 4a54 ldr r2, [pc, #336] ; (80a604c ) 80a5efc: 6013 str r3, [r2, #0] tmpF = TF; 80a5efe: 4b51 ldr r3, [pc, #324] ; (80a6044 ) 80a5f00: 681b ldr r3, [r3, #0] 80a5f02: 65bb str r3, [r7, #88] ; 0x58 if(tmpF >= 1000.0f) 80a5f04: edd7 7a16 vldr s15, [r7, #88] ; 0x58 80a5f08: ed9f 7a45 vldr s14, [pc, #276] ; 80a6020 80a5f0c: eef4 7ac7 vcmpe.f32 s15, s14 80a5f10: eef1 fa10 vmrs APSR_nzcv, fpscr 80a5f14: db29 blt.n 80a5f6a tmpF *= 0.001f; 80a5f16: edd7 7a16 vldr s15, [r7, #88] ; 0x58 80a5f1a: ed9f 7a4d vldr s14, [pc, #308] ; 80a6050 80a5f1e: ee67 7a87 vmul.f32 s15, s15, s14 80a5f22: edc7 7a16 vstr s15, [r7, #88] ; 0x58 if(pardata.LANG == RUS) 80a5f26: 4b3d ldr r3, [pc, #244] ; (80a601c ) 80a5f28: 7b1b ldrb r3, [r3, #12] 80a5f2a: b2db uxtb r3, r3 80a5f2c: 2b00 cmp r3, #0 80a5f2e: d107 bne.n 80a5f40 BSP_LCD_DisplayStringAt(302, 45, "c", LEFT_MODE); 80a5f30: 2303 movs r3, #3 80a5f32: 4a48 ldr r2, [pc, #288] ; (80a6054 ) 80a5f34: 212d movs r1, #45 ; 0x2d 80a5f36: f44f 7097 mov.w r0, #302 ; 0x12e 80a5f3a: f7ad fcfd bl 8053938 80a5f3e: e006 b.n 80a5f4e else BSP_LCD_DisplayStringAt(302, 45, "s", LEFT_MODE); 80a5f40: 2303 movs r3, #3 80a5f42: 4a45 ldr r2, [pc, #276] ; (80a6058 ) 80a5f44: 212d movs r1, #45 ; 0x2d 80a5f46: f44f 7097 mov.w r0, #302 ; 0x12e 80a5f4a: f7ad fcf5 bl 8053938 BSP_LCD_DisplayStringAt(299, 45, (char *) FloatToASCII(tmpF, -4), RIGHT_MODE); 80a5f4e: f06f 0003 mvn.w r0, #3 80a5f52: ed97 0a16 vldr s0, [r7, #88] ; 0x58 80a5f56: f7c0 fbd3 bl 8066700 80a5f5a: 4602 mov r2, r0 80a5f5c: 2302 movs r3, #2 80a5f5e: 212d movs r1, #45 ; 0x2d 80a5f60: f240 102b movw r0, #299 ; 0x12b 80a5f64: f7ad fce8 bl 8053938 } 80a5f68: e054 b.n 80a6014 if(tmpF < 0.1f) 80a5f6a: edd7 7a16 vldr s15, [r7, #88] ; 0x58 80a5f6e: ed9f 7a3b vldr s14, [pc, #236] ; 80a605c 80a5f72: eef4 7ac7 vcmpe.f32 s15, s14 80a5f76: eef1 fa10 vmrs APSR_nzcv, fpscr 80a5f7a: d529 bpl.n 80a5fd0 tmpF *= 1000.0f; 80a5f7c: edd7 7a16 vldr s15, [r7, #88] ; 0x58 80a5f80: ed9f 7a27 vldr s14, [pc, #156] ; 80a6020 80a5f84: ee67 7a87 vmul.f32 s15, s15, s14 80a5f88: edc7 7a16 vstr s15, [r7, #88] ; 0x58 if(pardata.LANG == RUS) 80a5f8c: 4b23 ldr r3, [pc, #140] ; (80a601c ) 80a5f8e: 7b1b ldrb r3, [r3, #12] 80a5f90: b2db uxtb r3, r3 80a5f92: 2b00 cmp r3, #0 80a5f94: d107 bne.n 80a5fa6 BSP_LCD_DisplayStringAt(302, 45, "&kc", LEFT_MODE); 80a5f96: 2303 movs r3, #3 80a5f98: 4a31 ldr r2, [pc, #196] ; (80a6060 ) 80a5f9a: 212d movs r1, #45 ; 0x2d 80a5f9c: f44f 7097 mov.w r0, #302 ; 0x12e 80a5fa0: f7ad fcca bl 8053938 80a5fa4: e006 b.n 80a5fb4 else BSP_LCD_DisplayStringAt(302, 45, "us", LEFT_MODE); 80a5fa6: 2303 movs r3, #3 80a5fa8: 4a2e ldr r2, [pc, #184] ; (80a6064 ) 80a5faa: 212d movs r1, #45 ; 0x2d 80a5fac: f44f 7097 mov.w r0, #302 ; 0x12e 80a5fb0: f7ad fcc2 bl 8053938 BSP_LCD_DisplayStringAt(299, 45, (char *) FloatToASCII(tmpF, -2), RIGHT_MODE); 80a5fb4: f06f 0001 mvn.w r0, #1 80a5fb8: ed97 0a16 vldr s0, [r7, #88] ; 0x58 80a5fbc: f7c0 fba0 bl 8066700 80a5fc0: 4602 mov r2, r0 80a5fc2: 2302 movs r3, #2 80a5fc4: 212d movs r1, #45 ; 0x2d 80a5fc6: f240 102b movw r0, #299 ; 0x12b 80a5fca: f7ad fcb5 bl 8053938 } 80a5fce: e021 b.n 80a6014 if(pardata.LANG == RUS) 80a5fd0: 4b12 ldr r3, [pc, #72] ; (80a601c ) 80a5fd2: 7b1b ldrb r3, [r3, #12] 80a5fd4: b2db uxtb r3, r3 80a5fd6: 2b00 cmp r3, #0 80a5fd8: d107 bne.n 80a5fea BSP_LCD_DisplayStringAt(302, 45, "&c", LEFT_MODE); 80a5fda: 2303 movs r3, #3 80a5fdc: 4a22 ldr r2, [pc, #136] ; (80a6068 ) 80a5fde: 212d movs r1, #45 ; 0x2d 80a5fe0: f44f 7097 mov.w r0, #302 ; 0x12e 80a5fe4: f7ad fca8 bl 8053938 80a5fe8: e006 b.n 80a5ff8 else BSP_LCD_DisplayStringAt(302, 45, "ms", LEFT_MODE); 80a5fea: 2303 movs r3, #3 80a5fec: 4a1f ldr r2, [pc, #124] ; (80a606c ) 80a5fee: 212d movs r1, #45 ; 0x2d 80a5ff0: f44f 7097 mov.w r0, #302 ; 0x12e 80a5ff4: f7ad fca0 bl 8053938 BSP_LCD_DisplayStringAt(299, 45, (char *) FloatToASCII(tmpF, -3), RIGHT_MODE); 80a5ff8: f06f 0002 mvn.w r0, #2 80a5ffc: ed97 0a16 vldr s0, [r7, #88] ; 0x58 80a6000: f7c0 fb7e bl 8066700 80a6004: 4602 mov r2, r0 80a6006: 2302 movs r3, #2 80a6008: 212d movs r1, #45 ; 0x2d 80a600a: f240 102b movw r0, #299 ; 0x12b 80a600e: f7ad fc93 bl 8053938 } 80a6012: e7ff b.n 80a6014 80a6014: bf00 nop 80a6016: 3774 adds r7, #116 ; 0x74 80a6018: 46bd mov sp, r7 80a601a: bd90 pop {r4, r7, pc} 80a601c: 20023e60 .word 0x20023e60 80a6020: 447a0000 .word 0x447a0000 80a6024: 080d0ab8 .word 0x080d0ab8 80a6028: 080d0ae0 .word 0x080d0ae0 80a602c: 080d0ab4 .word 0x080d0ab4 80a6030: 080d0a0c .word 0x080d0a0c 80a6034: 080d0ab0 .word 0x080d0ab0 80a6038: 080d09dc .word 0x080d09dc 80a603c: ff808080 .word 0xff808080 80a6040: 20025d1c .word 0x20025d1c 80a6044: 20021570 .word 0x20021570 80a6048: 080ef640 .word 0x080ef640 80a604c: 20021648 .word 0x20021648 80a6050: 3a83126f .word 0x3a83126f 80a6054: 080d0a70 .word 0x080d0a70 80a6058: 080d0a74 .word 0x080d0a74 80a605c: 3dcccccd .word 0x3dcccccd 80a6060: 080d0a78 .word 0x080d0a78 80a6064: 080d0a7c .word 0x080d0a7c 80a6068: 080d0a80 .word 0x080d0a80 80a606c: 080d0a84 .word 0x080d0a84 080a6070 : void DrawGraph(void) // TODO { 80a6070: b590 push {r4, r7, lr} 80a6072: f5ad 7d2f sub.w sp, sp, #700 ; 0x2bc 80a6076: 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; 80a6078: 2300 movs r3, #0 80a607a: f887 329f strb.w r3, [r7, #671] ; 0x29f Minimum = 32767; 80a607e: f647 73ff movw r3, #32767 ; 0x7fff 80a6082: f8a7 32b0 strh.w r3, [r7, #688] ; 0x2b0 Maximum = -32767; 80a6086: f248 0301 movw r3, #32769 ; 0x8001 80a608a: f8a7 32b4 strh.w r3, [r7, #692] ; 0x2b4 if(menu == MAIN_SYGNAL) 80a608e: 4bc5 ldr r3, [pc, #788] ; (80a63a4 ) 80a6090: 781b ldrb r3, [r3, #0] 80a6092: b2db uxtb r3, r3 80a6094: 2b20 cmp r3, #32 80a6096: f041 8011 bne.w 80a70bc { if(!FIRST) 80a609a: 4bc3 ldr r3, [pc, #780] ; (80a63a8 ) 80a609c: 781b ldrb r3, [r3, #0] 80a609e: b2db uxtb r3, r3 80a60a0: f083 0301 eor.w r3, r3, #1 80a60a4: b2db uxtb r3, r3 80a60a6: 2b00 cmp r3, #0 80a60a8: f005 86da beq.w 80abe60 { if(NUM_CHANNELS == 1) 80a60ac: 4bbf ldr r3, [pc, #764] ; (80a63ac ) 80a60ae: 681b ldr r3, [r3, #0] 80a60b0: 2b01 cmp r3, #1 80a60b2: f040 82d1 bne.w 80a6658 { if(AUTOZOOM) 80a60b6: 4bbe ldr r3, [pc, #760] ; (80a63b0 ) 80a60b8: 781b ldrb r3, [r3, #0] 80a60ba: b2db uxtb r3, r3 80a60bc: 2b00 cmp r3, #0 80a60be: d060 beq.n 80a6182 { arm_max_f32(&ScrA_f32(0), PlayingState.FrameSize, &max, &idx); 80a60c0: 4bbc ldr r3, [pc, #752] ; (80a63b4 ) 80a60c2: 6899 ldr r1, [r3, #8] 80a60c4: f507 731a add.w r3, r7, #616 ; 0x268 80a60c8: f507 721d add.w r2, r7, #628 ; 0x274 80a60cc: 48ba ldr r0, [pc, #744] ; (80a63b8 ) 80a60ce: f023 fff5 bl 80ca0bc arm_min_f32(&ScrA_f32(0), PlayingState.FrameSize, &min, &idx); 80a60d2: 4bb8 ldr r3, [pc, #736] ; (80a63b4 ) 80a60d4: 6899 ldr r1, [r3, #8] 80a60d6: f507 731a add.w r3, r7, #616 ; 0x268 80a60da: f507 721c add.w r2, r7, #624 ; 0x270 80a60de: 48b6 ldr r0, [pc, #728] ; (80a63b8 ) 80a60e0: f023 ff50 bl 80c9f84 if(ABS(max) > ABS(min)) 80a60e4: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80a60e8: eef5 7ac0 vcmpe.f32 s15, #0.0 80a60ec: eef1 fa10 vmrs APSR_nzcv, fpscr 80a60f0: dd02 ble.n 80a60f8 80a60f2: ed97 7a9d vldr s14, [r7, #628] ; 0x274 80a60f6: e003 b.n 80a6100 80a60f8: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80a60fc: eeb1 7a67 vneg.f32 s14, s15 80a6100: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80a6104: eef5 7ac0 vcmpe.f32 s15, #0.0 80a6108: eef1 fa10 vmrs APSR_nzcv, fpscr 80a610c: dd02 ble.n 80a6114 80a610e: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80a6112: e003 b.n 80a611c 80a6114: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80a6118: eef1 7a67 vneg.f32 s15, s15 80a611c: eeb4 7ae7 vcmpe.f32 s14, s15 80a6120: eef1 fa10 vmrs APSR_nzcv, fpscr 80a6124: dd10 ble.n 80a6148 f = ABS(max); 80a6126: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80a612a: eef5 7ac0 vcmpe.f32 s15, #0.0 80a612e: eef1 fa10 vmrs APSR_nzcv, fpscr 80a6132: dd02 ble.n 80a613a 80a6134: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80a6138: e003 b.n 80a6142 80a613a: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80a613e: eef1 7a67 vneg.f32 s15, s15 80a6142: edc7 7a9b vstr s15, [r7, #620] ; 0x26c 80a6146: e00f b.n 80a6168 else f = ABS(min); 80a6148: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80a614c: eef5 7ac0 vcmpe.f32 s15, #0.0 80a6150: eef1 fa10 vmrs APSR_nzcv, fpscr 80a6154: dd02 ble.n 80a615c 80a6156: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80a615a: e003 b.n 80a6164 80a615c: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80a6160: eef1 7a67 vneg.f32 s15, s15 80a6164: edc7 7a9b vstr s15, [r7, #620] ; 0x26c ZoomVal = 60.0f / f; 80a6168: ed97 7a9b vldr s14, [r7, #620] ; 0x26c 80a616c: eddf 6a93 vldr s13, [pc, #588] ; 80a63bc 80a6170: eec6 7a87 vdiv.f32 s15, s13, s14 80a6174: 4b92 ldr r3, [pc, #584] ; (80a63c0 ) 80a6176: edc3 7a00 vstr s15, [r3] AUTOZOOM = false; 80a617a: 4b8d ldr r3, [pc, #564] ; (80a63b0 ) 80a617c: 2200 movs r2, #0 80a617e: 701a strb r2, [r3, #0] 80a6180: e024 b.n 80a61cc } else { if(ZOOM_IN) 80a6182: 4b90 ldr r3, [pc, #576] ; (80a63c4 ) 80a6184: 781b ldrb r3, [r3, #0] 80a6186: b2db uxtb r3, r3 80a6188: 2b00 cmp r3, #0 80a618a: d00d beq.n 80a61a8 { ZOOM_IN = false; 80a618c: 4b8d ldr r3, [pc, #564] ; (80a63c4 ) 80a618e: 2200 movs r2, #0 80a6190: 701a strb r2, [r3, #0] ZoomVal *= 2.0000011f; 80a6192: 4b8b ldr r3, [pc, #556] ; (80a63c0 ) 80a6194: edd3 7a00 vldr s15, [r3] 80a6198: ed9f 7a8b vldr s14, [pc, #556] ; 80a63c8 80a619c: ee67 7a87 vmul.f32 s15, s15, s14 80a61a0: 4b87 ldr r3, [pc, #540] ; (80a63c0 ) 80a61a2: edc3 7a00 vstr s15, [r3] 80a61a6: e011 b.n 80a61cc } else if(ZOOM_OUT) 80a61a8: 4b88 ldr r3, [pc, #544] ; (80a63cc ) 80a61aa: 781b ldrb r3, [r3, #0] 80a61ac: b2db uxtb r3, r3 80a61ae: 2b00 cmp r3, #0 80a61b0: d00c beq.n 80a61cc { ZOOM_OUT = false; 80a61b2: 4b86 ldr r3, [pc, #536] ; (80a63cc ) 80a61b4: 2200 movs r2, #0 80a61b6: 701a strb r2, [r3, #0] ZoomVal *= 0.5000011f; 80a61b8: 4b81 ldr r3, [pc, #516] ; (80a63c0 ) 80a61ba: edd3 7a00 vldr s15, [r3] 80a61be: ed9f 7a84 vldr s14, [pc, #528] ; 80a63d0 80a61c2: ee67 7a87 vmul.f32 s15, s15, s14 80a61c6: 4b7e ldr r3, [pc, #504] ; (80a63c0 ) 80a61c8: edc3 7a00 vstr s15, [r3] } } step = PlayingState.FrameSize >> 8; 80a61cc: 4b79 ldr r3, [pc, #484] ; (80a63b4 ) 80a61ce: 689b ldr r3, [r3, #8] 80a61d0: 0a1b lsrs r3, r3, #8 80a61d2: f8c7 3298 str.w r3, [r7, #664] ; 0x298 NumOverdrives = 0; 80a61d6: 4b7f ldr r3, [pc, #508] ; (80a63d4 ) 80a61d8: 2200 movs r2, #0 80a61da: 701a strb r2, [r3, #0] LCD_SetColors(LCD_COLOR_MYGREEN, LCD_COLOR_BLACK); 80a61dc: 497e ldr r1, [pc, #504] ; (80a63d8 ) 80a61de: 487f ldr r0, [pc, #508] ; (80a63dc ) 80a61e0: f7ad fae4 bl 80537ac for(i = 0; i < 256; i++) 80a61e4: 2300 movs r3, #0 80a61e6: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80a61ea: e215 b.n 80a6618 { if(PlayingState.FrameSize == 256) 80a61ec: 4b71 ldr r3, [pc, #452] ; (80a63b4 ) 80a61ee: 689b ldr r3, [r3, #8] 80a61f0: f5b3 7f80 cmp.w r3, #256 ; 0x100 80a61f4: f040 80fe bne.w 80a63f4 { mF[MAXY] = ScrA_f32(i); 80a61f8: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a61fc: 009a lsls r2, r3, #2 80a61fe: 4b6e ldr r3, [pc, #440] ; (80a63b8 ) 80a6200: 4413 add r3, r2 80a6202: 681b ldr r3, [r3, #0] 80a6204: f8c7 327c str.w r3, [r7, #636] ; 0x27c if(i > 0) 80a6208: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a620c: 2b00 cmp r3, #0 80a620e: d004 beq.n 80a621a mF[MINY] = lastPointOSC[MAXY]; 80a6210: 4b73 ldr r3, [pc, #460] ; (80a63e0 ) 80a6212: 685b ldr r3, [r3, #4] 80a6214: f8c7 3278 str.w r3, [r7, #632] ; 0x278 80a6218: e003 b.n 80a6222 else mF[MINY] = mF[MAXY]; 80a621a: f8d7 327c ldr.w r3, [r7, #636] ; 0x27c 80a621e: f8c7 3278 str.w r3, [r7, #632] ; 0x278 lastPointOSC[MAXY] = mF[MAXY]; 80a6222: f8d7 327c ldr.w r3, [r7, #636] ; 0x27c 80a6226: 4a6e ldr r2, [pc, #440] ; (80a63e0 ) 80a6228: 6053 str r3, [r2, #4] mF[MINY] *= ZoomVal; 80a622a: ed97 7a9e vldr s14, [r7, #632] ; 0x278 80a622e: 4b64 ldr r3, [pc, #400] ; (80a63c0 ) 80a6230: edd3 7a00 vldr s15, [r3] 80a6234: ee67 7a27 vmul.f32 s15, s14, s15 80a6238: edc7 7a9e vstr s15, [r7, #632] ; 0x278 mF[MAXY] *= ZoomVal; 80a623c: ed97 7a9f vldr s14, [r7, #636] ; 0x27c 80a6240: 4b5f ldr r3, [pc, #380] ; (80a63c0 ) 80a6242: edd3 7a00 vldr s15, [r3] 80a6246: ee67 7a27 vmul.f32 s15, s14, s15 80a624a: edc7 7a9f vstr s15, [r7, #636] ; 0x27c if(mF[MAXY] > 32767.0f) mF[MAXY] = 32767.0f; 80a624e: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80a6252: ed9f 7a64 vldr s14, [pc, #400] ; 80a63e4 80a6256: eef4 7ac7 vcmpe.f32 s15, s14 80a625a: eef1 fa10 vmrs APSR_nzcv, fpscr 80a625e: dd02 ble.n 80a6266 80a6260: 4b61 ldr r3, [pc, #388] ; (80a63e8 ) 80a6262: f8c7 327c str.w r3, [r7, #636] ; 0x27c if(mF[MAXY] < -32767.0f) mF[MAXY] = -32767.0f; 80a6266: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80a626a: ed9f 7a60 vldr s14, [pc, #384] ; 80a63ec 80a626e: eef4 7ac7 vcmpe.f32 s15, s14 80a6272: eef1 fa10 vmrs APSR_nzcv, fpscr 80a6276: d502 bpl.n 80a627e 80a6278: 4b5d ldr r3, [pc, #372] ; (80a63f0 ) 80a627a: f8c7 327c str.w r3, [r7, #636] ; 0x27c if(mF[MINY] > 32767.0f) mF[MINY] = 32767.0f; 80a627e: edd7 7a9e vldr s15, [r7, #632] ; 0x278 80a6282: ed9f 7a58 vldr s14, [pc, #352] ; 80a63e4 80a6286: eef4 7ac7 vcmpe.f32 s15, s14 80a628a: eef1 fa10 vmrs APSR_nzcv, fpscr 80a628e: dd02 ble.n 80a6296 80a6290: 4b55 ldr r3, [pc, #340] ; (80a63e8 ) 80a6292: f8c7 3278 str.w r3, [r7, #632] ; 0x278 if(mF[MINY] < -32767.0f) mF[MINY] = -32767.0f; 80a6296: edd7 7a9e vldr s15, [r7, #632] ; 0x278 80a629a: ed9f 7a54 vldr s14, [pc, #336] ; 80a63ec 80a629e: eef4 7ac7 vcmpe.f32 s15, s14 80a62a2: eef1 fa10 vmrs APSR_nzcv, fpscr 80a62a6: d502 bpl.n 80a62ae 80a62a8: 4b51 ldr r3, [pc, #324] ; (80a63f0 ) 80a62aa: f8c7 3278 str.w r3, [r7, #632] ; 0x278 pMax = (int16_t) mF[MAXY]; 80a62ae: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80a62b2: eefd 7ae7 vcvt.s32.f32 s15, s15 80a62b6: edc7 7a01 vstr s15, [r7, #4] 80a62ba: 88bb ldrh r3, [r7, #4] 80a62bc: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 pMin = (int16_t) mF[MINY]; 80a62c0: edd7 7a9e vldr s15, [r7, #632] ; 0x278 80a62c4: eefd 7ae7 vcvt.s32.f32 s15, s15 80a62c8: edc7 7a01 vstr s15, [r7, #4] 80a62cc: 88bb ldrh r3, [r7, #4] 80a62ce: f8a7 32b2 strh.w r3, [r7, #690] ; 0x2b2 if(pMin > 80) 80a62d2: f9b7 32b2 ldrsh.w r3, [r7, #690] ; 0x2b2 80a62d6: 2b50 cmp r3, #80 ; 0x50 80a62d8: dd08 ble.n 80a62ec { pMin = 80; 80a62da: 2350 movs r3, #80 ; 0x50 80a62dc: f8a7 32b2 strh.w r3, [r7, #690] ; 0x2b2 NumOverdrives++; 80a62e0: 4b3c ldr r3, [pc, #240] ; (80a63d4 ) 80a62e2: 781b ldrb r3, [r3, #0] 80a62e4: 3301 adds r3, #1 80a62e6: b2da uxtb r2, r3 80a62e8: 4b3a ldr r3, [pc, #232] ; (80a63d4 ) 80a62ea: 701a strb r2, [r3, #0] } if(pMin < -80) 80a62ec: f9b7 32b2 ldrsh.w r3, [r7, #690] ; 0x2b2 80a62f0: f113 0f50 cmn.w r3, #80 ; 0x50 80a62f4: da09 bge.n 80a630a { pMin = -80; 80a62f6: f64f 73b0 movw r3, #65456 ; 0xffb0 80a62fa: f8a7 32b2 strh.w r3, [r7, #690] ; 0x2b2 NumOverdrives++; 80a62fe: 4b35 ldr r3, [pc, #212] ; (80a63d4 ) 80a6300: 781b ldrb r3, [r3, #0] 80a6302: 3301 adds r3, #1 80a6304: b2da uxtb r2, r3 80a6306: 4b33 ldr r3, [pc, #204] ; (80a63d4 ) 80a6308: 701a strb r2, [r3, #0] } if(pMax > 80) 80a630a: f9b7 32b6 ldrsh.w r3, [r7, #694] ; 0x2b6 80a630e: 2b50 cmp r3, #80 ; 0x50 80a6310: dd08 ble.n 80a6324 { pMax = 80; 80a6312: 2350 movs r3, #80 ; 0x50 80a6314: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 NumOverdrives++; 80a6318: 4b2e ldr r3, [pc, #184] ; (80a63d4 ) 80a631a: 781b ldrb r3, [r3, #0] 80a631c: 3301 adds r3, #1 80a631e: b2da uxtb r2, r3 80a6320: 4b2c ldr r3, [pc, #176] ; (80a63d4 ) 80a6322: 701a strb r2, [r3, #0] } if(pMax < -80) 80a6324: f9b7 32b6 ldrsh.w r3, [r7, #694] ; 0x2b6 80a6328: f113 0f50 cmn.w r3, #80 ; 0x50 80a632c: da09 bge.n 80a6342 { pMax = -80; 80a632e: f64f 73b0 movw r3, #65456 ; 0xffb0 80a6332: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 NumOverdrives++; 80a6336: 4b27 ldr r3, [pc, #156] ; (80a63d4 ) 80a6338: 781b ldrb r3, [r3, #0] 80a633a: 3301 adds r3, #1 80a633c: b2da uxtb r2, r3 80a633e: 4b25 ldr r3, [pc, #148] ; (80a63d4 ) 80a6340: 701a strb r2, [r3, #0] } x = 62 + i; 80a6342: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a6346: 333e adds r3, #62 ; 0x3e 80a6348: f8c7 3294 str.w r3, [r7, #660] ; 0x294 if(i == 0) 80a634c: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a6350: 2b00 cmp r3, #0 80a6352: d112 bne.n 80a637a BSP_LCD_DrawLine(x, 141 - pMin, x, 141 - pMax); 80a6354: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a6358: b298 uxth r0, r3 80a635a: f8b7 32b2 ldrh.w r3, [r7, #690] ; 0x2b2 80a635e: f1c3 038d rsb r3, r3, #141 ; 0x8d 80a6362: b299 uxth r1, r3 80a6364: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a6368: b29a uxth r2, r3 80a636a: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80a636e: f1c3 038d rsb r3, r3, #141 ; 0x8d 80a6372: b29b uxth r3, r3 80a6374: f7ad fc54 bl 8053c20 80a6378: e135 b.n 80a65e6 else BSP_LCD_DrawLine(x - 1, 141 - pMin, x, 141 - pMax); 80a637a: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a637e: b29b uxth r3, r3 80a6380: 3b01 subs r3, #1 80a6382: b298 uxth r0, r3 80a6384: f8b7 32b2 ldrh.w r3, [r7, #690] ; 0x2b2 80a6388: f1c3 038d rsb r3, r3, #141 ; 0x8d 80a638c: b299 uxth r1, r3 80a638e: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a6392: b29a uxth r2, r3 80a6394: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80a6398: f1c3 038d rsb r3, r3, #141 ; 0x8d 80a639c: b29b uxth r3, r3 80a639e: f7ad fc3f bl 8053c20 80a63a2: e120 b.n 80a65e6 80a63a4: 20020f78 .word 0x20020f78 80a63a8: 20020db2 .word 0x20020db2 80a63ac: 20020030 .word 0x20020030 80a63b0: 2002098c .word 0x2002098c 80a63b4: 200228d8 .word 0x200228d8 80a63b8: 64080000 .word 0x64080000 80a63bc: 42700000 .word 0x42700000 80a63c0: 20020990 .word 0x20020990 80a63c4: 20020f6a .word 0x20020f6a 80a63c8: 40000005 .word 0x40000005 80a63cc: 20020f69 .word 0x20020f69 80a63d0: 3f000012 .word 0x3f000012 80a63d4: 2002164e .word 0x2002164e 80a63d8: ff0a0f1f .word 0xff0a0f1f 80a63dc: ff26a01f .word 0xff26a01f 80a63e0: 20021650 .word 0x20021650 80a63e4: 46fffe00 .word 0x46fffe00 80a63e8: 46fffe00 .word 0x46fffe00 80a63ec: c6fffe00 .word 0xc6fffe00 80a63f0: c6fffe00 .word 0xc6fffe00 } else { arm_max_f32(&ScrA_f32(i * step), step, &mF[MAXY], &idx); 80a63f4: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a63f8: f8d7 2298 ldr.w r2, [r7, #664] ; 0x298 80a63fc: fb02 f303 mul.w r3, r2, r3 80a6400: 009a lsls r2, r3, #2 80a6402: 4bcb ldr r3, [pc, #812] ; (80a6730 ) 80a6404: 4413 add r3, r2 80a6406: 4618 mov r0, r3 80a6408: f507 711a add.w r1, r7, #616 ; 0x268 80a640c: f507 731e add.w r3, r7, #632 ; 0x278 80a6410: 1d1a adds r2, r3, #4 80a6412: 460b mov r3, r1 80a6414: f8d7 1298 ldr.w r1, [r7, #664] ; 0x298 80a6418: f023 fe50 bl 80ca0bc arm_min_f32(&ScrA_f32(i * step), step, &mF[MINY], &idx); 80a641c: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a6420: f8d7 2298 ldr.w r2, [r7, #664] ; 0x298 80a6424: fb02 f303 mul.w r3, r2, r3 80a6428: 009a lsls r2, r3, #2 80a642a: 4bc1 ldr r3, [pc, #772] ; (80a6730 ) 80a642c: 4413 add r3, r2 80a642e: 4618 mov r0, r3 80a6430: f507 731a add.w r3, r7, #616 ; 0x268 80a6434: f507 721e add.w r2, r7, #632 ; 0x278 80a6438: f8d7 1298 ldr.w r1, [r7, #664] ; 0x298 80a643c: f023 fda2 bl 80c9f84 if(i > 0) 80a6440: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a6444: 2b00 cmp r3, #0 80a6446: d01b beq.n 80a6480 { if(mF[MINY] > lastPointOSC[MAXY]) 80a6448: ed97 7a9e vldr s14, [r7, #632] ; 0x278 80a644c: 4bb9 ldr r3, [pc, #740] ; (80a6734 ) 80a644e: edd3 7a01 vldr s15, [r3, #4] 80a6452: eeb4 7ae7 vcmpe.f32 s14, s15 80a6456: eef1 fa10 vmrs APSR_nzcv, fpscr 80a645a: dd03 ble.n 80a6464 mF[MINY] = lastPointOSC[MAXY]; 80a645c: 4bb5 ldr r3, [pc, #724] ; (80a6734 ) 80a645e: 685b ldr r3, [r3, #4] 80a6460: f8c7 3278 str.w r3, [r7, #632] ; 0x278 if(mF[MAXY] < lastPointOSC[MINY]) 80a6464: ed97 7a9f vldr s14, [r7, #636] ; 0x27c 80a6468: 4bb2 ldr r3, [pc, #712] ; (80a6734 ) 80a646a: edd3 7a00 vldr s15, [r3] 80a646e: eeb4 7ae7 vcmpe.f32 s14, s15 80a6472: eef1 fa10 vmrs APSR_nzcv, fpscr 80a6476: d503 bpl.n 80a6480 mF[MAXY] = lastPointOSC[MINY]; 80a6478: 4bae ldr r3, [pc, #696] ; (80a6734 ) 80a647a: 681b ldr r3, [r3, #0] 80a647c: f8c7 327c str.w r3, [r7, #636] ; 0x27c } ft[0] = mF[MINY]; ft[1] = mF[MAXY]; 80a6480: f8d7 3278 ldr.w r3, [r7, #632] ; 0x278 80a6484: f8c7 3280 str.w r3, [r7, #640] ; 0x280 80a6488: f8d7 327c ldr.w r3, [r7, #636] ; 0x27c 80a648c: f8c7 3284 str.w r3, [r7, #644] ; 0x284 lastPointOSC[MINY] = ft[0]; lastPointOSC[MAXY] = ft[1]; 80a6490: f8d7 3280 ldr.w r3, [r7, #640] ; 0x280 80a6494: 4aa7 ldr r2, [pc, #668] ; (80a6734 ) 80a6496: 6013 str r3, [r2, #0] 80a6498: f8d7 3284 ldr.w r3, [r7, #644] ; 0x284 80a649c: 4aa5 ldr r2, [pc, #660] ; (80a6734 ) 80a649e: 6053 str r3, [r2, #4] mF[MINY] *= ZoomVal; 80a64a0: ed97 7a9e vldr s14, [r7, #632] ; 0x278 80a64a4: 4ba4 ldr r3, [pc, #656] ; (80a6738 ) 80a64a6: edd3 7a00 vldr s15, [r3] 80a64aa: ee67 7a27 vmul.f32 s15, s14, s15 80a64ae: edc7 7a9e vstr s15, [r7, #632] ; 0x278 mF[MAXY] *= ZoomVal; 80a64b2: ed97 7a9f vldr s14, [r7, #636] ; 0x27c 80a64b6: 4ba0 ldr r3, [pc, #640] ; (80a6738 ) 80a64b8: edd3 7a00 vldr s15, [r3] 80a64bc: ee67 7a27 vmul.f32 s15, s14, s15 80a64c0: edc7 7a9f vstr s15, [r7, #636] ; 0x27c if(mF[MAXY] > 32767.0f) mF[MAXY] = 32767.0f; 80a64c4: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80a64c8: ed9f 7a9c vldr s14, [pc, #624] ; 80a673c 80a64cc: eef4 7ac7 vcmpe.f32 s15, s14 80a64d0: eef1 fa10 vmrs APSR_nzcv, fpscr 80a64d4: dd02 ble.n 80a64dc 80a64d6: 4b9a ldr r3, [pc, #616] ; (80a6740 ) 80a64d8: f8c7 327c str.w r3, [r7, #636] ; 0x27c if(mF[MAXY] < -32767.0f) mF[MAXY] = -32767.0f; 80a64dc: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80a64e0: ed9f 7a98 vldr s14, [pc, #608] ; 80a6744 80a64e4: eef4 7ac7 vcmpe.f32 s15, s14 80a64e8: eef1 fa10 vmrs APSR_nzcv, fpscr 80a64ec: d502 bpl.n 80a64f4 80a64ee: 4b96 ldr r3, [pc, #600] ; (80a6748 ) 80a64f0: f8c7 327c str.w r3, [r7, #636] ; 0x27c if(mF[MINY] > 32767.0f) mF[MINY] = 32767.0f; 80a64f4: edd7 7a9e vldr s15, [r7, #632] ; 0x278 80a64f8: ed9f 7a90 vldr s14, [pc, #576] ; 80a673c 80a64fc: eef4 7ac7 vcmpe.f32 s15, s14 80a6500: eef1 fa10 vmrs APSR_nzcv, fpscr 80a6504: dd02 ble.n 80a650c 80a6506: 4b8e ldr r3, [pc, #568] ; (80a6740 ) 80a6508: f8c7 3278 str.w r3, [r7, #632] ; 0x278 if(mF[MINY] < -32767.0f) mF[MINY] = -32767.0f; 80a650c: edd7 7a9e vldr s15, [r7, #632] ; 0x278 80a6510: ed9f 7a8c vldr s14, [pc, #560] ; 80a6744 80a6514: eef4 7ac7 vcmpe.f32 s15, s14 80a6518: eef1 fa10 vmrs APSR_nzcv, fpscr 80a651c: d502 bpl.n 80a6524 80a651e: 4b8a ldr r3, [pc, #552] ; (80a6748 ) 80a6520: f8c7 3278 str.w r3, [r7, #632] ; 0x278 pMax = (int16_t) mF[MAXY]; 80a6524: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80a6528: eefd 7ae7 vcvt.s32.f32 s15, s15 80a652c: edc7 7a01 vstr s15, [r7, #4] 80a6530: 88bb ldrh r3, [r7, #4] 80a6532: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 pMin = (int16_t) mF[MINY]; 80a6536: edd7 7a9e vldr s15, [r7, #632] ; 0x278 80a653a: eefd 7ae7 vcvt.s32.f32 s15, s15 80a653e: edc7 7a01 vstr s15, [r7, #4] 80a6542: 88bb ldrh r3, [r7, #4] 80a6544: f8a7 32b2 strh.w r3, [r7, #690] ; 0x2b2 if(pMin > 80) 80a6548: f9b7 32b2 ldrsh.w r3, [r7, #690] ; 0x2b2 80a654c: 2b50 cmp r3, #80 ; 0x50 80a654e: dd08 ble.n 80a6562 { pMin = 80; 80a6550: 2350 movs r3, #80 ; 0x50 80a6552: f8a7 32b2 strh.w r3, [r7, #690] ; 0x2b2 NumOverdrives++; 80a6556: 4b7d ldr r3, [pc, #500] ; (80a674c ) 80a6558: 781b ldrb r3, [r3, #0] 80a655a: 3301 adds r3, #1 80a655c: b2da uxtb r2, r3 80a655e: 4b7b ldr r3, [pc, #492] ; (80a674c ) 80a6560: 701a strb r2, [r3, #0] } if(pMin < -80) 80a6562: f9b7 32b2 ldrsh.w r3, [r7, #690] ; 0x2b2 80a6566: f113 0f50 cmn.w r3, #80 ; 0x50 80a656a: da09 bge.n 80a6580 { pMin = -80; 80a656c: f64f 73b0 movw r3, #65456 ; 0xffb0 80a6570: f8a7 32b2 strh.w r3, [r7, #690] ; 0x2b2 NumOverdrives++; 80a6574: 4b75 ldr r3, [pc, #468] ; (80a674c ) 80a6576: 781b ldrb r3, [r3, #0] 80a6578: 3301 adds r3, #1 80a657a: b2da uxtb r2, r3 80a657c: 4b73 ldr r3, [pc, #460] ; (80a674c ) 80a657e: 701a strb r2, [r3, #0] } if(pMax > 80) 80a6580: f9b7 32b6 ldrsh.w r3, [r7, #694] ; 0x2b6 80a6584: 2b50 cmp r3, #80 ; 0x50 80a6586: dd08 ble.n 80a659a { pMax = 80; 80a6588: 2350 movs r3, #80 ; 0x50 80a658a: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 NumOverdrives++; 80a658e: 4b6f ldr r3, [pc, #444] ; (80a674c ) 80a6590: 781b ldrb r3, [r3, #0] 80a6592: 3301 adds r3, #1 80a6594: b2da uxtb r2, r3 80a6596: 4b6d ldr r3, [pc, #436] ; (80a674c ) 80a6598: 701a strb r2, [r3, #0] } if(pMax < -80) 80a659a: f9b7 32b6 ldrsh.w r3, [r7, #694] ; 0x2b6 80a659e: f113 0f50 cmn.w r3, #80 ; 0x50 80a65a2: da09 bge.n 80a65b8 { pMax = -80; 80a65a4: f64f 73b0 movw r3, #65456 ; 0xffb0 80a65a8: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 NumOverdrives++; 80a65ac: 4b67 ldr r3, [pc, #412] ; (80a674c ) 80a65ae: 781b ldrb r3, [r3, #0] 80a65b0: 3301 adds r3, #1 80a65b2: b2da uxtb r2, r3 80a65b4: 4b65 ldr r3, [pc, #404] ; (80a674c ) 80a65b6: 701a strb r2, [r3, #0] } x = 62 + i; 80a65b8: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a65bc: 333e adds r3, #62 ; 0x3e 80a65be: f8c7 3294 str.w r3, [r7, #660] ; 0x294 BSP_LCD_DrawLine(x, 141 - pMin, x, 141 - pMax); 80a65c2: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a65c6: b298 uxth r0, r3 80a65c8: f8b7 32b2 ldrh.w r3, [r7, #690] ; 0x2b2 80a65cc: f1c3 038d rsb r3, r3, #141 ; 0x8d 80a65d0: b299 uxth r1, r3 80a65d2: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a65d6: b29a uxth r2, r3 80a65d8: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80a65dc: f1c3 038d rsb r3, r3, #141 ; 0x8d 80a65e0: b29b uxth r3, r3 80a65e2: f7ad fb1d bl 8053c20 } if(pMax > Maximum) Maximum = pMax; 80a65e6: f9b7 22b6 ldrsh.w r2, [r7, #694] ; 0x2b6 80a65ea: f9b7 32b4 ldrsh.w r3, [r7, #692] ; 0x2b4 80a65ee: 429a cmp r2, r3 80a65f0: dd03 ble.n 80a65fa 80a65f2: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80a65f6: f8a7 32b4 strh.w r3, [r7, #692] ; 0x2b4 if(pMin < Minimum) Minimum = pMin; 80a65fa: f9b7 22b2 ldrsh.w r2, [r7, #690] ; 0x2b2 80a65fe: f9b7 32b0 ldrsh.w r3, [r7, #688] ; 0x2b0 80a6602: 429a cmp r2, r3 80a6604: da03 bge.n 80a660e 80a6606: f8b7 32b2 ldrh.w r3, [r7, #690] ; 0x2b2 80a660a: f8a7 32b0 strh.w r3, [r7, #688] ; 0x2b0 for(i = 0; i < 256; i++) 80a660e: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a6612: 3301 adds r3, #1 80a6614: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80a6618: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a661c: 2bff cmp r3, #255 ; 0xff 80a661e: f67f ade5 bls.w 80a61ec } Maximum = ABS(Maximum); 80a6622: f9b7 32b4 ldrsh.w r3, [r7, #692] ; 0x2b4 80a6626: 2b00 cmp r3, #0 80a6628: bfb8 it lt 80a662a: 425b neglt r3, r3 80a662c: f8a7 32b4 strh.w r3, [r7, #692] ; 0x2b4 Minimum = ABS(Minimum); 80a6630: f9b7 32b0 ldrsh.w r3, [r7, #688] ; 0x2b0 80a6634: 2b00 cmp r3, #0 80a6636: bfb8 it lt 80a6638: 425b neglt r3, r3 80a663a: f8a7 32b0 strh.w r3, [r7, #688] ; 0x2b0 if(Minimum > Maximum) { 80a663e: f9b7 22b0 ldrsh.w r2, [r7, #688] ; 0x2b0 80a6642: f9b7 32b4 ldrsh.w r3, [r7, #692] ; 0x2b4 80a6646: 429a cmp r2, r3 80a6648: f345 840a ble.w 80abe60 Maximum = Minimum; 80a664c: f8b7 32b0 ldrh.w r3, [r7, #688] ; 0x2b0 80a6650: f8a7 32b4 strh.w r3, [r7, #692] ; 0x2b4 } } } } } } 80a6654: f005 bc04 b.w 80abe60 if(NUM_CHANNELS == 2) 80a6658: 4b3d ldr r3, [pc, #244] ; (80a6750 ) 80a665a: 681b ldr r3, [r3, #0] 80a665c: 2b02 cmp r3, #2 80a665e: f045 83ff bne.w 80abe60 if(AUTOZOOM) 80a6662: 4b3c ldr r3, [pc, #240] ; (80a6754 ) 80a6664: 781b ldrb r3, [r3, #0] 80a6666: b2db uxtb r3, r3 80a6668: 2b00 cmp r3, #0 80a666a: d077 beq.n 80a675c arm_max_f32(&ScrA_f32(0), PlayingState.FrameSize, &max, &idx); 80a666c: 4b3a ldr r3, [pc, #232] ; (80a6758 ) 80a666e: 6899 ldr r1, [r3, #8] 80a6670: f507 731a add.w r3, r7, #616 ; 0x268 80a6674: f507 721d add.w r2, r7, #628 ; 0x274 80a6678: 482d ldr r0, [pc, #180] ; (80a6730 ) 80a667a: f023 fd1f bl 80ca0bc arm_min_f32(&ScrA_f32(0), PlayingState.FrameSize, &min, &idx); 80a667e: 4b36 ldr r3, [pc, #216] ; (80a6758 ) 80a6680: 6899 ldr r1, [r3, #8] 80a6682: f507 731a add.w r3, r7, #616 ; 0x268 80a6686: f507 721c add.w r2, r7, #624 ; 0x270 80a668a: 4829 ldr r0, [pc, #164] ; (80a6730 ) 80a668c: f023 fc7a bl 80c9f84 if(ABS(max) > ABS(min)) 80a6690: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80a6694: eef5 7ac0 vcmpe.f32 s15, #0.0 80a6698: eef1 fa10 vmrs APSR_nzcv, fpscr 80a669c: dd02 ble.n 80a66a4 80a669e: ed97 7a9d vldr s14, [r7, #628] ; 0x274 80a66a2: e003 b.n 80a66ac 80a66a4: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80a66a8: eeb1 7a67 vneg.f32 s14, s15 80a66ac: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80a66b0: eef5 7ac0 vcmpe.f32 s15, #0.0 80a66b4: eef1 fa10 vmrs APSR_nzcv, fpscr 80a66b8: dd02 ble.n 80a66c0 80a66ba: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80a66be: e003 b.n 80a66c8 80a66c0: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80a66c4: eef1 7a67 vneg.f32 s15, s15 80a66c8: eeb4 7ae7 vcmpe.f32 s14, s15 80a66cc: eef1 fa10 vmrs APSR_nzcv, fpscr 80a66d0: dd10 ble.n 80a66f4 f = ABS(max); 80a66d2: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80a66d6: eef5 7ac0 vcmpe.f32 s15, #0.0 80a66da: eef1 fa10 vmrs APSR_nzcv, fpscr 80a66de: dd02 ble.n 80a66e6 80a66e0: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80a66e4: e003 b.n 80a66ee 80a66e6: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80a66ea: eef1 7a67 vneg.f32 s15, s15 80a66ee: edc7 7a9b vstr s15, [r7, #620] ; 0x26c 80a66f2: e00f b.n 80a6714 else f = ABS(min); 80a66f4: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80a66f8: eef5 7ac0 vcmpe.f32 s15, #0.0 80a66fc: eef1 fa10 vmrs APSR_nzcv, fpscr 80a6700: dd02 ble.n 80a6708 80a6702: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80a6706: e003 b.n 80a6710 80a6708: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80a670c: eef1 7a67 vneg.f32 s15, s15 80a6710: edc7 7a9b vstr s15, [r7, #620] ; 0x26c ZoomVal = 30.0f / f; 80a6714: ed97 7a9b vldr s14, [r7, #620] ; 0x26c 80a6718: eef3 6a0e vmov.f32 s13, #62 ; 0x41f00000 30.0 80a671c: eec6 7a87 vdiv.f32 s15, s13, s14 80a6720: 4b05 ldr r3, [pc, #20] ; (80a6738 ) 80a6722: edc3 7a00 vstr s15, [r3] AUTOZOOM = false; 80a6726: 4b0b ldr r3, [pc, #44] ; (80a6754 ) 80a6728: 2200 movs r2, #0 80a672a: 701a strb r2, [r3, #0] 80a672c: e03b b.n 80a67a6 80a672e: bf00 nop 80a6730: 64080000 .word 0x64080000 80a6734: 20021650 .word 0x20021650 80a6738: 20020990 .word 0x20020990 80a673c: 46fffe00 .word 0x46fffe00 80a6740: 46fffe00 .word 0x46fffe00 80a6744: c6fffe00 .word 0xc6fffe00 80a6748: c6fffe00 .word 0xc6fffe00 80a674c: 2002164e .word 0x2002164e 80a6750: 20020030 .word 0x20020030 80a6754: 2002098c .word 0x2002098c 80a6758: 200228d8 .word 0x200228d8 if(ZOOM_IN) 80a675c: 4b88 ldr r3, [pc, #544] ; (80a6980 ) 80a675e: 781b ldrb r3, [r3, #0] 80a6760: b2db uxtb r3, r3 80a6762: 2b00 cmp r3, #0 80a6764: d00d beq.n 80a6782 ZOOM_IN = false; 80a6766: 4b86 ldr r3, [pc, #536] ; (80a6980 ) 80a6768: 2200 movs r2, #0 80a676a: 701a strb r2, [r3, #0] ZoomVal *= 2.0000011f; 80a676c: 4b85 ldr r3, [pc, #532] ; (80a6984 ) 80a676e: edd3 7a00 vldr s15, [r3] 80a6772: ed9f 7a85 vldr s14, [pc, #532] ; 80a6988 80a6776: ee67 7a87 vmul.f32 s15, s15, s14 80a677a: 4b82 ldr r3, [pc, #520] ; (80a6984 ) 80a677c: edc3 7a00 vstr s15, [r3] 80a6780: e011 b.n 80a67a6 if(ZOOM_OUT) 80a6782: 4b82 ldr r3, [pc, #520] ; (80a698c ) 80a6784: 781b ldrb r3, [r3, #0] 80a6786: b2db uxtb r3, r3 80a6788: 2b00 cmp r3, #0 80a678a: d00c beq.n 80a67a6 ZOOM_OUT = false; 80a678c: 4b7f ldr r3, [pc, #508] ; (80a698c ) 80a678e: 2200 movs r2, #0 80a6790: 701a strb r2, [r3, #0] ZoomVal *= 0.5000011f; 80a6792: 4b7c ldr r3, [pc, #496] ; (80a6984 ) 80a6794: edd3 7a00 vldr s15, [r3] 80a6798: ed9f 7a7d vldr s14, [pc, #500] ; 80a6990 80a679c: ee67 7a87 vmul.f32 s15, s15, s14 80a67a0: 4b78 ldr r3, [pc, #480] ; (80a6984 ) 80a67a2: edc3 7a00 vstr s15, [r3] step = PlayingState.FrameSize >> 8; 80a67a6: 4b7b ldr r3, [pc, #492] ; (80a6994 ) 80a67a8: 689b ldr r3, [r3, #8] 80a67aa: 0a1b lsrs r3, r3, #8 80a67ac: f8c7 3298 str.w r3, [r7, #664] ; 0x298 NumOverdrives = 0; 80a67b0: 4b79 ldr r3, [pc, #484] ; (80a6998 ) 80a67b2: 2200 movs r2, #0 80a67b4: 701a strb r2, [r3, #0] LCD_SetColors(LCD_COLOR_MYGREEN, LCD_COLOR_BLACK); 80a67b6: 4979 ldr r1, [pc, #484] ; (80a699c ) 80a67b8: 4879 ldr r0, [pc, #484] ; (80a69a0 ) 80a67ba: f7ac fff7 bl 80537ac for(i = 0; i < 256; i++) 80a67be: 2300 movs r3, #0 80a67c0: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80a67c4: e20c b.n 80a6be0 if(PlayingState.FrameSize == 256) 80a67c6: 4b73 ldr r3, [pc, #460] ; (80a6994 ) 80a67c8: 689b ldr r3, [r3, #8] 80a67ca: f5b3 7f80 cmp.w r3, #256 ; 0x100 80a67ce: f040 80f5 bne.w 80a69bc mF[MAXY] = ScrA_f32(i); 80a67d2: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a67d6: 009a lsls r2, r3, #2 80a67d8: 4b72 ldr r3, [pc, #456] ; (80a69a4 ) 80a67da: 4413 add r3, r2 80a67dc: 681b ldr r3, [r3, #0] 80a67de: f8c7 327c str.w r3, [r7, #636] ; 0x27c if(i > 0) 80a67e2: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a67e6: 2b00 cmp r3, #0 80a67e8: d004 beq.n 80a67f4 mF[MINY] = lastPointOSC[MAXY]; 80a67ea: 4b6f ldr r3, [pc, #444] ; (80a69a8 ) 80a67ec: 685b ldr r3, [r3, #4] 80a67ee: f8c7 3278 str.w r3, [r7, #632] ; 0x278 80a67f2: e003 b.n 80a67fc else mF[MINY] = mF[MAXY]; 80a67f4: f8d7 327c ldr.w r3, [r7, #636] ; 0x27c 80a67f8: f8c7 3278 str.w r3, [r7, #632] ; 0x278 lastPointOSC[MAXY] = mF[MAXY]; 80a67fc: f8d7 327c ldr.w r3, [r7, #636] ; 0x27c 80a6800: 4a69 ldr r2, [pc, #420] ; (80a69a8 ) 80a6802: 6053 str r3, [r2, #4] mF[MINY] *= ZoomVal; 80a6804: ed97 7a9e vldr s14, [r7, #632] ; 0x278 80a6808: 4b5e ldr r3, [pc, #376] ; (80a6984 ) 80a680a: edd3 7a00 vldr s15, [r3] 80a680e: ee67 7a27 vmul.f32 s15, s14, s15 80a6812: edc7 7a9e vstr s15, [r7, #632] ; 0x278 mF[MAXY] *= ZoomVal; 80a6816: ed97 7a9f vldr s14, [r7, #636] ; 0x27c 80a681a: 4b5a ldr r3, [pc, #360] ; (80a6984 ) 80a681c: edd3 7a00 vldr s15, [r3] 80a6820: ee67 7a27 vmul.f32 s15, s14, s15 80a6824: edc7 7a9f vstr s15, [r7, #636] ; 0x27c if(mF[MAXY] > 32767.0f) mF[MAXY] = 32767.0f; 80a6828: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80a682c: ed9f 7a5f vldr s14, [pc, #380] ; 80a69ac 80a6830: eef4 7ac7 vcmpe.f32 s15, s14 80a6834: eef1 fa10 vmrs APSR_nzcv, fpscr 80a6838: dd02 ble.n 80a6840 80a683a: 4b5d ldr r3, [pc, #372] ; (80a69b0 ) 80a683c: f8c7 327c str.w r3, [r7, #636] ; 0x27c if(mF[MAXY] < -32767.0f) mF[MAXY] = -32767.0f; 80a6840: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80a6844: ed9f 7a5b vldr s14, [pc, #364] ; 80a69b4 80a6848: eef4 7ac7 vcmpe.f32 s15, s14 80a684c: eef1 fa10 vmrs APSR_nzcv, fpscr 80a6850: d502 bpl.n 80a6858 80a6852: 4b59 ldr r3, [pc, #356] ; (80a69b8 ) 80a6854: f8c7 327c str.w r3, [r7, #636] ; 0x27c if(mF[MINY] > 32767.0f) mF[MINY] = 32767.0f; 80a6858: edd7 7a9e vldr s15, [r7, #632] ; 0x278 80a685c: ed9f 7a53 vldr s14, [pc, #332] ; 80a69ac 80a6860: eef4 7ac7 vcmpe.f32 s15, s14 80a6864: eef1 fa10 vmrs APSR_nzcv, fpscr 80a6868: dd02 ble.n 80a6870 80a686a: 4b51 ldr r3, [pc, #324] ; (80a69b0 ) 80a686c: f8c7 3278 str.w r3, [r7, #632] ; 0x278 if(mF[MINY] < -32767.0f) mF[MINY] = -32767.0f; 80a6870: edd7 7a9e vldr s15, [r7, #632] ; 0x278 80a6874: ed9f 7a4f vldr s14, [pc, #316] ; 80a69b4 80a6878: eef4 7ac7 vcmpe.f32 s15, s14 80a687c: eef1 fa10 vmrs APSR_nzcv, fpscr 80a6880: d502 bpl.n 80a6888 80a6882: 4b4d ldr r3, [pc, #308] ; (80a69b8 ) 80a6884: f8c7 3278 str.w r3, [r7, #632] ; 0x278 pMax = (int16_t) mF[MAXY]; 80a6888: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80a688c: eefd 7ae7 vcvt.s32.f32 s15, s15 80a6890: edc7 7a01 vstr s15, [r7, #4] 80a6894: 88bb ldrh r3, [r7, #4] 80a6896: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 pMin = (int16_t) mF[MINY]; 80a689a: edd7 7a9e vldr s15, [r7, #632] ; 0x278 80a689e: eefd 7ae7 vcvt.s32.f32 s15, s15 80a68a2: edc7 7a01 vstr s15, [r7, #4] 80a68a6: 88bb ldrh r3, [r7, #4] 80a68a8: f8a7 32b2 strh.w r3, [r7, #690] ; 0x2b2 if(pMin > 40) 80a68ac: f9b7 32b2 ldrsh.w r3, [r7, #690] ; 0x2b2 80a68b0: 2b28 cmp r3, #40 ; 0x28 80a68b2: dd08 ble.n 80a68c6 pMin = 40; 80a68b4: 2328 movs r3, #40 ; 0x28 80a68b6: f8a7 32b2 strh.w r3, [r7, #690] ; 0x2b2 NumOverdrives++; 80a68ba: 4b37 ldr r3, [pc, #220] ; (80a6998 ) 80a68bc: 781b ldrb r3, [r3, #0] 80a68be: 3301 adds r3, #1 80a68c0: b2da uxtb r2, r3 80a68c2: 4b35 ldr r3, [pc, #212] ; (80a6998 ) 80a68c4: 701a strb r2, [r3, #0] if(pMin < -40) 80a68c6: f9b7 32b2 ldrsh.w r3, [r7, #690] ; 0x2b2 80a68ca: f113 0f28 cmn.w r3, #40 ; 0x28 80a68ce: da09 bge.n 80a68e4 pMin = -40; 80a68d0: f64f 73d8 movw r3, #65496 ; 0xffd8 80a68d4: f8a7 32b2 strh.w r3, [r7, #690] ; 0x2b2 NumOverdrives++; 80a68d8: 4b2f ldr r3, [pc, #188] ; (80a6998 ) 80a68da: 781b ldrb r3, [r3, #0] 80a68dc: 3301 adds r3, #1 80a68de: b2da uxtb r2, r3 80a68e0: 4b2d ldr r3, [pc, #180] ; (80a6998 ) 80a68e2: 701a strb r2, [r3, #0] if(pMax > 40) 80a68e4: f9b7 32b6 ldrsh.w r3, [r7, #694] ; 0x2b6 80a68e8: 2b28 cmp r3, #40 ; 0x28 80a68ea: dd08 ble.n 80a68fe pMax = 40; 80a68ec: 2328 movs r3, #40 ; 0x28 80a68ee: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 NumOverdrives++; 80a68f2: 4b29 ldr r3, [pc, #164] ; (80a6998 ) 80a68f4: 781b ldrb r3, [r3, #0] 80a68f6: 3301 adds r3, #1 80a68f8: b2da uxtb r2, r3 80a68fa: 4b27 ldr r3, [pc, #156] ; (80a6998 ) 80a68fc: 701a strb r2, [r3, #0] if(pMax < -40) 80a68fe: f9b7 32b6 ldrsh.w r3, [r7, #694] ; 0x2b6 80a6902: f113 0f28 cmn.w r3, #40 ; 0x28 80a6906: da09 bge.n 80a691c pMax = -40; 80a6908: f64f 73d8 movw r3, #65496 ; 0xffd8 80a690c: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 NumOverdrives++; 80a6910: 4b21 ldr r3, [pc, #132] ; (80a6998 ) 80a6912: 781b ldrb r3, [r3, #0] 80a6914: 3301 adds r3, #1 80a6916: b2da uxtb r2, r3 80a6918: 4b1f ldr r3, [pc, #124] ; (80a6998 ) 80a691a: 701a strb r2, [r3, #0] x = 62 + i; 80a691c: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a6920: 333e adds r3, #62 ; 0x3e 80a6922: f8c7 3294 str.w r3, [r7, #660] ; 0x294 if(i == 0) 80a6926: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a692a: 2b00 cmp r3, #0 80a692c: d112 bne.n 80a6954 BSP_LCD_DrawLine(x, 181 - pMin, x, 181 - pMax); 80a692e: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a6932: b298 uxth r0, r3 80a6934: f8b7 32b2 ldrh.w r3, [r7, #690] ; 0x2b2 80a6938: f1c3 03b5 rsb r3, r3, #181 ; 0xb5 80a693c: b299 uxth r1, r3 80a693e: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a6942: b29a uxth r2, r3 80a6944: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80a6948: f1c3 03b5 rsb r3, r3, #181 ; 0xb5 80a694c: b29b uxth r3, r3 80a694e: f7ad f967 bl 8053c20 80a6952: e12c b.n 80a6bae else BSP_LCD_DrawLine(x - 1, 181 - pMin, x, 181 - pMax); 80a6954: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a6958: b29b uxth r3, r3 80a695a: 3b01 subs r3, #1 80a695c: b298 uxth r0, r3 80a695e: f8b7 32b2 ldrh.w r3, [r7, #690] ; 0x2b2 80a6962: f1c3 03b5 rsb r3, r3, #181 ; 0xb5 80a6966: b299 uxth r1, r3 80a6968: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a696c: b29a uxth r2, r3 80a696e: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80a6972: f1c3 03b5 rsb r3, r3, #181 ; 0xb5 80a6976: b29b uxth r3, r3 80a6978: f7ad f952 bl 8053c20 80a697c: e117 b.n 80a6bae 80a697e: bf00 nop 80a6980: 20020f6a .word 0x20020f6a 80a6984: 20020990 .word 0x20020990 80a6988: 40000005 .word 0x40000005 80a698c: 20020f69 .word 0x20020f69 80a6990: 3f000012 .word 0x3f000012 80a6994: 200228d8 .word 0x200228d8 80a6998: 2002164e .word 0x2002164e 80a699c: ff0a0f1f .word 0xff0a0f1f 80a69a0: ff26a01f .word 0xff26a01f 80a69a4: 64080000 .word 0x64080000 80a69a8: 20021650 .word 0x20021650 80a69ac: 46fffe00 .word 0x46fffe00 80a69b0: 46fffe00 .word 0x46fffe00 80a69b4: c6fffe00 .word 0xc6fffe00 80a69b8: c6fffe00 .word 0xc6fffe00 arm_max_f32(&ScrA_f32(i * step), step, &mF[MAXY], &idx); 80a69bc: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a69c0: f8d7 2298 ldr.w r2, [r7, #664] ; 0x298 80a69c4: fb02 f303 mul.w r3, r2, r3 80a69c8: 009a lsls r2, r3, #2 80a69ca: 4ba5 ldr r3, [pc, #660] ; (80a6c60 ) 80a69cc: 4413 add r3, r2 80a69ce: 4618 mov r0, r3 80a69d0: f507 711a add.w r1, r7, #616 ; 0x268 80a69d4: f507 731e add.w r3, r7, #632 ; 0x278 80a69d8: 1d1a adds r2, r3, #4 80a69da: 460b mov r3, r1 80a69dc: f8d7 1298 ldr.w r1, [r7, #664] ; 0x298 80a69e0: f023 fb6c bl 80ca0bc arm_min_f32(&ScrA_f32(i * step), step, &mF[MINY], &idx); 80a69e4: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a69e8: f8d7 2298 ldr.w r2, [r7, #664] ; 0x298 80a69ec: fb02 f303 mul.w r3, r2, r3 80a69f0: 009a lsls r2, r3, #2 80a69f2: 4b9b ldr r3, [pc, #620] ; (80a6c60 ) 80a69f4: 4413 add r3, r2 80a69f6: 4618 mov r0, r3 80a69f8: f507 731a add.w r3, r7, #616 ; 0x268 80a69fc: f507 721e add.w r2, r7, #632 ; 0x278 80a6a00: f8d7 1298 ldr.w r1, [r7, #664] ; 0x298 80a6a04: f023 fabe bl 80c9f84 if(i > 0) 80a6a08: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a6a0c: 2b00 cmp r3, #0 80a6a0e: d01b beq.n 80a6a48 if(mF[MINY] > lastPointOSC[MAXY]) 80a6a10: ed97 7a9e vldr s14, [r7, #632] ; 0x278 80a6a14: 4b93 ldr r3, [pc, #588] ; (80a6c64 ) 80a6a16: edd3 7a01 vldr s15, [r3, #4] 80a6a1a: eeb4 7ae7 vcmpe.f32 s14, s15 80a6a1e: eef1 fa10 vmrs APSR_nzcv, fpscr 80a6a22: dd03 ble.n 80a6a2c mF[MINY] = lastPointOSC[MAXY]; 80a6a24: 4b8f ldr r3, [pc, #572] ; (80a6c64 ) 80a6a26: 685b ldr r3, [r3, #4] 80a6a28: f8c7 3278 str.w r3, [r7, #632] ; 0x278 if(mF[MAXY] < lastPointOSC[MINY]) 80a6a2c: ed97 7a9f vldr s14, [r7, #636] ; 0x27c 80a6a30: 4b8c ldr r3, [pc, #560] ; (80a6c64 ) 80a6a32: edd3 7a00 vldr s15, [r3] 80a6a36: eeb4 7ae7 vcmpe.f32 s14, s15 80a6a3a: eef1 fa10 vmrs APSR_nzcv, fpscr 80a6a3e: d503 bpl.n 80a6a48 mF[MAXY] = lastPointOSC[MINY]; 80a6a40: 4b88 ldr r3, [pc, #544] ; (80a6c64 ) 80a6a42: 681b ldr r3, [r3, #0] 80a6a44: f8c7 327c str.w r3, [r7, #636] ; 0x27c ft[0] = mF[MINY]; ft[1] = mF[MAXY]; 80a6a48: f8d7 3278 ldr.w r3, [r7, #632] ; 0x278 80a6a4c: f8c7 3280 str.w r3, [r7, #640] ; 0x280 80a6a50: f8d7 327c ldr.w r3, [r7, #636] ; 0x27c 80a6a54: f8c7 3284 str.w r3, [r7, #644] ; 0x284 lastPointOSC[MINY] = ft[0]; lastPointOSC[MAXY] = ft[1]; 80a6a58: f8d7 3280 ldr.w r3, [r7, #640] ; 0x280 80a6a5c: 4a81 ldr r2, [pc, #516] ; (80a6c64 ) 80a6a5e: 6013 str r3, [r2, #0] 80a6a60: f8d7 3284 ldr.w r3, [r7, #644] ; 0x284 80a6a64: 4a7f ldr r2, [pc, #508] ; (80a6c64 ) 80a6a66: 6053 str r3, [r2, #4] mF[MINY] *= ZoomVal; 80a6a68: ed97 7a9e vldr s14, [r7, #632] ; 0x278 80a6a6c: 4b7e ldr r3, [pc, #504] ; (80a6c68 ) 80a6a6e: edd3 7a00 vldr s15, [r3] 80a6a72: ee67 7a27 vmul.f32 s15, s14, s15 80a6a76: edc7 7a9e vstr s15, [r7, #632] ; 0x278 mF[MAXY] *= ZoomVal; 80a6a7a: ed97 7a9f vldr s14, [r7, #636] ; 0x27c 80a6a7e: 4b7a ldr r3, [pc, #488] ; (80a6c68 ) 80a6a80: edd3 7a00 vldr s15, [r3] 80a6a84: ee67 7a27 vmul.f32 s15, s14, s15 80a6a88: edc7 7a9f vstr s15, [r7, #636] ; 0x27c if(mF[MAXY] > 32767.0f) mF[MAXY] = 32767.0f; 80a6a8c: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80a6a90: ed9f 7a76 vldr s14, [pc, #472] ; 80a6c6c 80a6a94: eef4 7ac7 vcmpe.f32 s15, s14 80a6a98: eef1 fa10 vmrs APSR_nzcv, fpscr 80a6a9c: dd02 ble.n 80a6aa4 80a6a9e: 4b74 ldr r3, [pc, #464] ; (80a6c70 ) 80a6aa0: f8c7 327c str.w r3, [r7, #636] ; 0x27c if(mF[MAXY] < -32767.0f) mF[MAXY] = -32767.0f; 80a6aa4: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80a6aa8: ed9f 7a72 vldr s14, [pc, #456] ; 80a6c74 80a6aac: eef4 7ac7 vcmpe.f32 s15, s14 80a6ab0: eef1 fa10 vmrs APSR_nzcv, fpscr 80a6ab4: d502 bpl.n 80a6abc 80a6ab6: 4b70 ldr r3, [pc, #448] ; (80a6c78 ) 80a6ab8: f8c7 327c str.w r3, [r7, #636] ; 0x27c if(mF[MINY] > 32767.0f) mF[MINY] = 32767.0f; 80a6abc: edd7 7a9e vldr s15, [r7, #632] ; 0x278 80a6ac0: ed9f 7a6a vldr s14, [pc, #424] ; 80a6c6c 80a6ac4: eef4 7ac7 vcmpe.f32 s15, s14 80a6ac8: eef1 fa10 vmrs APSR_nzcv, fpscr 80a6acc: dd02 ble.n 80a6ad4 80a6ace: 4b68 ldr r3, [pc, #416] ; (80a6c70 ) 80a6ad0: f8c7 3278 str.w r3, [r7, #632] ; 0x278 if(mF[MINY] < -32767.0f) mF[MINY] = -32767.0f; 80a6ad4: edd7 7a9e vldr s15, [r7, #632] ; 0x278 80a6ad8: ed9f 7a66 vldr s14, [pc, #408] ; 80a6c74 80a6adc: eef4 7ac7 vcmpe.f32 s15, s14 80a6ae0: eef1 fa10 vmrs APSR_nzcv, fpscr 80a6ae4: d502 bpl.n 80a6aec 80a6ae6: 4b64 ldr r3, [pc, #400] ; (80a6c78 ) 80a6ae8: f8c7 3278 str.w r3, [r7, #632] ; 0x278 pMax = (int16_t) mF[MAXY]; 80a6aec: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80a6af0: eefd 7ae7 vcvt.s32.f32 s15, s15 80a6af4: edc7 7a01 vstr s15, [r7, #4] 80a6af8: 88bb ldrh r3, [r7, #4] 80a6afa: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 pMin = (int16_t) mF[MINY]; 80a6afe: edd7 7a9e vldr s15, [r7, #632] ; 0x278 80a6b02: eefd 7ae7 vcvt.s32.f32 s15, s15 80a6b06: edc7 7a01 vstr s15, [r7, #4] 80a6b0a: 88bb ldrh r3, [r7, #4] 80a6b0c: f8a7 32b2 strh.w r3, [r7, #690] ; 0x2b2 if(pMin > 40) 80a6b10: f9b7 32b2 ldrsh.w r3, [r7, #690] ; 0x2b2 80a6b14: 2b28 cmp r3, #40 ; 0x28 80a6b16: dd08 ble.n 80a6b2a pMin = 40; 80a6b18: 2328 movs r3, #40 ; 0x28 80a6b1a: f8a7 32b2 strh.w r3, [r7, #690] ; 0x2b2 NumOverdrives++; 80a6b1e: 4b57 ldr r3, [pc, #348] ; (80a6c7c ) 80a6b20: 781b ldrb r3, [r3, #0] 80a6b22: 3301 adds r3, #1 80a6b24: b2da uxtb r2, r3 80a6b26: 4b55 ldr r3, [pc, #340] ; (80a6c7c ) 80a6b28: 701a strb r2, [r3, #0] if(pMin < -40) 80a6b2a: f9b7 32b2 ldrsh.w r3, [r7, #690] ; 0x2b2 80a6b2e: f113 0f28 cmn.w r3, #40 ; 0x28 80a6b32: da09 bge.n 80a6b48 pMin = -40; 80a6b34: f64f 73d8 movw r3, #65496 ; 0xffd8 80a6b38: f8a7 32b2 strh.w r3, [r7, #690] ; 0x2b2 NumOverdrives++; 80a6b3c: 4b4f ldr r3, [pc, #316] ; (80a6c7c ) 80a6b3e: 781b ldrb r3, [r3, #0] 80a6b40: 3301 adds r3, #1 80a6b42: b2da uxtb r2, r3 80a6b44: 4b4d ldr r3, [pc, #308] ; (80a6c7c ) 80a6b46: 701a strb r2, [r3, #0] if(pMax > 40) 80a6b48: f9b7 32b6 ldrsh.w r3, [r7, #694] ; 0x2b6 80a6b4c: 2b28 cmp r3, #40 ; 0x28 80a6b4e: dd08 ble.n 80a6b62 pMax = 40; 80a6b50: 2328 movs r3, #40 ; 0x28 80a6b52: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 NumOverdrives++; 80a6b56: 4b49 ldr r3, [pc, #292] ; (80a6c7c ) 80a6b58: 781b ldrb r3, [r3, #0] 80a6b5a: 3301 adds r3, #1 80a6b5c: b2da uxtb r2, r3 80a6b5e: 4b47 ldr r3, [pc, #284] ; (80a6c7c ) 80a6b60: 701a strb r2, [r3, #0] if(pMax < -40) 80a6b62: f9b7 32b6 ldrsh.w r3, [r7, #694] ; 0x2b6 80a6b66: f113 0f28 cmn.w r3, #40 ; 0x28 80a6b6a: da09 bge.n 80a6b80 pMax = -40; 80a6b6c: f64f 73d8 movw r3, #65496 ; 0xffd8 80a6b70: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 NumOverdrives++; 80a6b74: 4b41 ldr r3, [pc, #260] ; (80a6c7c ) 80a6b76: 781b ldrb r3, [r3, #0] 80a6b78: 3301 adds r3, #1 80a6b7a: b2da uxtb r2, r3 80a6b7c: 4b3f ldr r3, [pc, #252] ; (80a6c7c ) 80a6b7e: 701a strb r2, [r3, #0] x = 62 + i; 80a6b80: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a6b84: 333e adds r3, #62 ; 0x3e 80a6b86: f8c7 3294 str.w r3, [r7, #660] ; 0x294 BSP_LCD_DrawLine(x, 181 - pMin, x, 181 - pMax); 80a6b8a: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a6b8e: b298 uxth r0, r3 80a6b90: f8b7 32b2 ldrh.w r3, [r7, #690] ; 0x2b2 80a6b94: f1c3 03b5 rsb r3, r3, #181 ; 0xb5 80a6b98: b299 uxth r1, r3 80a6b9a: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a6b9e: b29a uxth r2, r3 80a6ba0: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80a6ba4: f1c3 03b5 rsb r3, r3, #181 ; 0xb5 80a6ba8: b29b uxth r3, r3 80a6baa: f7ad f839 bl 8053c20 if(pMax > Maximum) Maximum = pMax; 80a6bae: f9b7 22b6 ldrsh.w r2, [r7, #694] ; 0x2b6 80a6bb2: f9b7 32b4 ldrsh.w r3, [r7, #692] ; 0x2b4 80a6bb6: 429a cmp r2, r3 80a6bb8: dd03 ble.n 80a6bc2 80a6bba: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80a6bbe: f8a7 32b4 strh.w r3, [r7, #692] ; 0x2b4 if(pMin < Minimum) Minimum = pMin; 80a6bc2: f9b7 22b2 ldrsh.w r2, [r7, #690] ; 0x2b2 80a6bc6: f9b7 32b0 ldrsh.w r3, [r7, #688] ; 0x2b0 80a6bca: 429a cmp r2, r3 80a6bcc: da03 bge.n 80a6bd6 80a6bce: f8b7 32b2 ldrh.w r3, [r7, #690] ; 0x2b2 80a6bd2: f8a7 32b0 strh.w r3, [r7, #688] ; 0x2b0 for(i = 0; i < 256; i++) 80a6bd6: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a6bda: 3301 adds r3, #1 80a6bdc: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80a6be0: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a6be4: 2bff cmp r3, #255 ; 0xff 80a6be6: f67f adee bls.w 80a67c6 Maximum = ABS(Maximum); 80a6bea: f9b7 32b4 ldrsh.w r3, [r7, #692] ; 0x2b4 80a6bee: 2b00 cmp r3, #0 80a6bf0: bfb8 it lt 80a6bf2: 425b neglt r3, r3 80a6bf4: f8a7 32b4 strh.w r3, [r7, #692] ; 0x2b4 Minimum = ABS(Minimum); 80a6bf8: f9b7 32b0 ldrsh.w r3, [r7, #688] ; 0x2b0 80a6bfc: 2b00 cmp r3, #0 80a6bfe: bfb8 it lt 80a6c00: 425b neglt r3, r3 80a6c02: f8a7 32b0 strh.w r3, [r7, #688] ; 0x2b0 if(Minimum > Maximum) { 80a6c06: f9b7 22b0 ldrsh.w r2, [r7, #688] ; 0x2b0 80a6c0a: f9b7 32b4 ldrsh.w r3, [r7, #692] ; 0x2b4 80a6c0e: 429a cmp r2, r3 80a6c10: dd03 ble.n 80a6c1a Maximum = Minimum; 80a6c12: f8b7 32b0 ldrh.w r3, [r7, #688] ; 0x2b0 80a6c16: f8a7 32b4 strh.w r3, [r7, #692] ; 0x2b4 NumOverdrives = 0; 80a6c1a: 4b18 ldr r3, [pc, #96] ; (80a6c7c ) 80a6c1c: 2200 movs r2, #0 80a6c1e: 701a strb r2, [r3, #0] LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 80a6c20: 4917 ldr r1, [pc, #92] ; (80a6c80 ) 80a6c22: 4818 ldr r0, [pc, #96] ; (80a6c84 ) 80a6c24: f7ac fdc2 bl 80537ac for(i = 0; i < 256; i++) 80a6c28: 2300 movs r3, #0 80a6c2a: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80a6c2e: e215 b.n 80a705c if(PlayingState.FrameSize == 256) 80a6c30: 4b15 ldr r3, [pc, #84] ; (80a6c88 ) 80a6c32: 689b ldr r3, [r3, #8] 80a6c34: f5b3 7f80 cmp.w r3, #256 ; 0x100 80a6c38: f040 80fe bne.w 80a6e38 mF[MAXY] = ScrB_f32(i); 80a6c3c: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a6c40: 009a lsls r2, r3, #2 80a6c42: 4b12 ldr r3, [pc, #72] ; (80a6c8c ) 80a6c44: 4413 add r3, r2 80a6c46: 681b ldr r3, [r3, #0] 80a6c48: f8c7 327c str.w r3, [r7, #636] ; 0x27c if(i > 0) 80a6c4c: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a6c50: 2b00 cmp r3, #0 80a6c52: d01d beq.n 80a6c90 mF[MINY] = lastPointOSC[MAXY]; 80a6c54: 4b03 ldr r3, [pc, #12] ; (80a6c64 ) 80a6c56: 685b ldr r3, [r3, #4] 80a6c58: f8c7 3278 str.w r3, [r7, #632] ; 0x278 80a6c5c: e01c b.n 80a6c98 80a6c5e: bf00 nop 80a6c60: 64080000 .word 0x64080000 80a6c64: 20021650 .word 0x20021650 80a6c68: 20020990 .word 0x20020990 80a6c6c: 46fffe00 .word 0x46fffe00 80a6c70: 46fffe00 .word 0x46fffe00 80a6c74: c6fffe00 .word 0xc6fffe00 80a6c78: c6fffe00 .word 0xc6fffe00 80a6c7c: 2002164e .word 0x2002164e 80a6c80: ff0a0f1f .word 0xff0a0f1f 80a6c84: ffd3d3d3 .word 0xffd3d3d3 80a6c88: 200228d8 .word 0x200228d8 80a6c8c: 640b0000 .word 0x640b0000 else mF[MINY] = mF[MAXY]; 80a6c90: f8d7 327c ldr.w r3, [r7, #636] ; 0x27c 80a6c94: f8c7 3278 str.w r3, [r7, #632] ; 0x278 lastPointOSC[MAXY] = mF[MAXY]; 80a6c98: f8d7 327c ldr.w r3, [r7, #636] ; 0x27c 80a6c9c: 4a5f ldr r2, [pc, #380] ; (80a6e1c ) 80a6c9e: 6053 str r3, [r2, #4] mF[MINY] *= ZoomVal; 80a6ca0: ed97 7a9e vldr s14, [r7, #632] ; 0x278 80a6ca4: 4b5e ldr r3, [pc, #376] ; (80a6e20 ) 80a6ca6: edd3 7a00 vldr s15, [r3] 80a6caa: ee67 7a27 vmul.f32 s15, s14, s15 80a6cae: edc7 7a9e vstr s15, [r7, #632] ; 0x278 mF[MAXY] *= ZoomVal; 80a6cb2: ed97 7a9f vldr s14, [r7, #636] ; 0x27c 80a6cb6: 4b5a ldr r3, [pc, #360] ; (80a6e20 ) 80a6cb8: edd3 7a00 vldr s15, [r3] 80a6cbc: ee67 7a27 vmul.f32 s15, s14, s15 80a6cc0: edc7 7a9f vstr s15, [r7, #636] ; 0x27c if(mF[MAXY] > 32767.0f) mF[MAXY] = 32767.0f; 80a6cc4: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80a6cc8: ed9f 7a56 vldr s14, [pc, #344] ; 80a6e24 80a6ccc: eef4 7ac7 vcmpe.f32 s15, s14 80a6cd0: eef1 fa10 vmrs APSR_nzcv, fpscr 80a6cd4: dd02 ble.n 80a6cdc 80a6cd6: 4b54 ldr r3, [pc, #336] ; (80a6e28 ) 80a6cd8: f8c7 327c str.w r3, [r7, #636] ; 0x27c if(mF[MAXY] < -32767.0f) mF[MAXY] = -32767.0f; 80a6cdc: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80a6ce0: ed9f 7a52 vldr s14, [pc, #328] ; 80a6e2c 80a6ce4: eef4 7ac7 vcmpe.f32 s15, s14 80a6ce8: eef1 fa10 vmrs APSR_nzcv, fpscr 80a6cec: d502 bpl.n 80a6cf4 80a6cee: 4b50 ldr r3, [pc, #320] ; (80a6e30 ) 80a6cf0: f8c7 327c str.w r3, [r7, #636] ; 0x27c if(mF[MINY] > 32767.0f) mF[MINY] = 32767.0f; 80a6cf4: edd7 7a9e vldr s15, [r7, #632] ; 0x278 80a6cf8: ed9f 7a4a vldr s14, [pc, #296] ; 80a6e24 80a6cfc: eef4 7ac7 vcmpe.f32 s15, s14 80a6d00: eef1 fa10 vmrs APSR_nzcv, fpscr 80a6d04: dd02 ble.n 80a6d0c 80a6d06: 4b48 ldr r3, [pc, #288] ; (80a6e28 ) 80a6d08: f8c7 3278 str.w r3, [r7, #632] ; 0x278 if(mF[MINY] < -32767.0f) mF[MINY] = -32767.0f; 80a6d0c: edd7 7a9e vldr s15, [r7, #632] ; 0x278 80a6d10: ed9f 7a46 vldr s14, [pc, #280] ; 80a6e2c 80a6d14: eef4 7ac7 vcmpe.f32 s15, s14 80a6d18: eef1 fa10 vmrs APSR_nzcv, fpscr 80a6d1c: d502 bpl.n 80a6d24 80a6d1e: 4b44 ldr r3, [pc, #272] ; (80a6e30 ) 80a6d20: f8c7 3278 str.w r3, [r7, #632] ; 0x278 pMax = (int16_t) mF[MAXY]; 80a6d24: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80a6d28: eefd 7ae7 vcvt.s32.f32 s15, s15 80a6d2c: edc7 7a01 vstr s15, [r7, #4] 80a6d30: 88bb ldrh r3, [r7, #4] 80a6d32: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 pMin = (int16_t) mF[MINY]; 80a6d36: edd7 7a9e vldr s15, [r7, #632] ; 0x278 80a6d3a: eefd 7ae7 vcvt.s32.f32 s15, s15 80a6d3e: edc7 7a01 vstr s15, [r7, #4] 80a6d42: 88bb ldrh r3, [r7, #4] 80a6d44: f8a7 32b2 strh.w r3, [r7, #690] ; 0x2b2 if(pMin > 40) 80a6d48: f9b7 32b2 ldrsh.w r3, [r7, #690] ; 0x2b2 80a6d4c: 2b28 cmp r3, #40 ; 0x28 80a6d4e: dd08 ble.n 80a6d62 pMin = 40; 80a6d50: 2328 movs r3, #40 ; 0x28 80a6d52: f8a7 32b2 strh.w r3, [r7, #690] ; 0x2b2 NumOverdrives++; 80a6d56: 4b37 ldr r3, [pc, #220] ; (80a6e34 ) 80a6d58: 781b ldrb r3, [r3, #0] 80a6d5a: 3301 adds r3, #1 80a6d5c: b2da uxtb r2, r3 80a6d5e: 4b35 ldr r3, [pc, #212] ; (80a6e34 ) 80a6d60: 701a strb r2, [r3, #0] if(pMin < -40) 80a6d62: f9b7 32b2 ldrsh.w r3, [r7, #690] ; 0x2b2 80a6d66: f113 0f28 cmn.w r3, #40 ; 0x28 80a6d6a: da09 bge.n 80a6d80 pMin = -40; 80a6d6c: f64f 73d8 movw r3, #65496 ; 0xffd8 80a6d70: f8a7 32b2 strh.w r3, [r7, #690] ; 0x2b2 NumOverdrives++; 80a6d74: 4b2f ldr r3, [pc, #188] ; (80a6e34 ) 80a6d76: 781b ldrb r3, [r3, #0] 80a6d78: 3301 adds r3, #1 80a6d7a: b2da uxtb r2, r3 80a6d7c: 4b2d ldr r3, [pc, #180] ; (80a6e34 ) 80a6d7e: 701a strb r2, [r3, #0] if(pMax > 40) 80a6d80: f9b7 32b6 ldrsh.w r3, [r7, #694] ; 0x2b6 80a6d84: 2b28 cmp r3, #40 ; 0x28 80a6d86: dd08 ble.n 80a6d9a pMax = 40; 80a6d88: 2328 movs r3, #40 ; 0x28 80a6d8a: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 NumOverdrives++; 80a6d8e: 4b29 ldr r3, [pc, #164] ; (80a6e34 ) 80a6d90: 781b ldrb r3, [r3, #0] 80a6d92: 3301 adds r3, #1 80a6d94: b2da uxtb r2, r3 80a6d96: 4b27 ldr r3, [pc, #156] ; (80a6e34 ) 80a6d98: 701a strb r2, [r3, #0] if(pMax < -40) 80a6d9a: f9b7 32b6 ldrsh.w r3, [r7, #694] ; 0x2b6 80a6d9e: f113 0f28 cmn.w r3, #40 ; 0x28 80a6da2: da09 bge.n 80a6db8 pMax = -40; 80a6da4: f64f 73d8 movw r3, #65496 ; 0xffd8 80a6da8: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 NumOverdrives++; 80a6dac: 4b21 ldr r3, [pc, #132] ; (80a6e34 ) 80a6dae: 781b ldrb r3, [r3, #0] 80a6db0: 3301 adds r3, #1 80a6db2: b2da uxtb r2, r3 80a6db4: 4b1f ldr r3, [pc, #124] ; (80a6e34 ) 80a6db6: 701a strb r2, [r3, #0] x = 62 + i; 80a6db8: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a6dbc: 333e adds r3, #62 ; 0x3e 80a6dbe: f8c7 3294 str.w r3, [r7, #660] ; 0x294 if(i == 0) 80a6dc2: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a6dc6: 2b00 cmp r3, #0 80a6dc8: d112 bne.n 80a6df0 BSP_LCD_DrawLine(x, 101 - pMin, x, 101 - pMax); 80a6dca: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a6dce: b298 uxth r0, r3 80a6dd0: f8b7 32b2 ldrh.w r3, [r7, #690] ; 0x2b2 80a6dd4: f1c3 0365 rsb r3, r3, #101 ; 0x65 80a6dd8: b299 uxth r1, r3 80a6dda: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a6dde: b29a uxth r2, r3 80a6de0: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80a6de4: f1c3 0365 rsb r3, r3, #101 ; 0x65 80a6de8: b29b uxth r3, r3 80a6dea: f7ac ff19 bl 8053c20 80a6dee: e11c b.n 80a702a else BSP_LCD_DrawLine(x - 1, 101 - pMin, x, 101 - pMax); 80a6df0: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a6df4: b29b uxth r3, r3 80a6df6: 3b01 subs r3, #1 80a6df8: b298 uxth r0, r3 80a6dfa: f8b7 32b2 ldrh.w r3, [r7, #690] ; 0x2b2 80a6dfe: f1c3 0365 rsb r3, r3, #101 ; 0x65 80a6e02: b299 uxth r1, r3 80a6e04: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a6e08: b29a uxth r2, r3 80a6e0a: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80a6e0e: f1c3 0365 rsb r3, r3, #101 ; 0x65 80a6e12: b29b uxth r3, r3 80a6e14: f7ac ff04 bl 8053c20 80a6e18: e107 b.n 80a702a 80a6e1a: bf00 nop 80a6e1c: 20021650 .word 0x20021650 80a6e20: 20020990 .word 0x20020990 80a6e24: 46fffe00 .word 0x46fffe00 80a6e28: 46fffe00 .word 0x46fffe00 80a6e2c: c6fffe00 .word 0xc6fffe00 80a6e30: c6fffe00 .word 0xc6fffe00 80a6e34: 2002164e .word 0x2002164e arm_max_f32(&ScrB_f32(i * step), step, &mF[MAXY], &idx); 80a6e38: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a6e3c: f8d7 2298 ldr.w r2, [r7, #664] ; 0x298 80a6e40: fb02 f303 mul.w r3, r2, r3 80a6e44: 009a lsls r2, r3, #2 80a6e46: 4b95 ldr r3, [pc, #596] ; (80a709c ) 80a6e48: 4413 add r3, r2 80a6e4a: 4618 mov r0, r3 80a6e4c: f507 711a add.w r1, r7, #616 ; 0x268 80a6e50: f507 731e add.w r3, r7, #632 ; 0x278 80a6e54: 1d1a adds r2, r3, #4 80a6e56: 460b mov r3, r1 80a6e58: f8d7 1298 ldr.w r1, [r7, #664] ; 0x298 80a6e5c: f023 f92e bl 80ca0bc arm_min_f32(&ScrB_f32(i * step), step, &mF[MINY], &idx); 80a6e60: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a6e64: f8d7 2298 ldr.w r2, [r7, #664] ; 0x298 80a6e68: fb02 f303 mul.w r3, r2, r3 80a6e6c: 009a lsls r2, r3, #2 80a6e6e: 4b8b ldr r3, [pc, #556] ; (80a709c ) 80a6e70: 4413 add r3, r2 80a6e72: 4618 mov r0, r3 80a6e74: f507 731a add.w r3, r7, #616 ; 0x268 80a6e78: f507 721e add.w r2, r7, #632 ; 0x278 80a6e7c: f8d7 1298 ldr.w r1, [r7, #664] ; 0x298 80a6e80: f023 f880 bl 80c9f84 if(i > 0) 80a6e84: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a6e88: 2b00 cmp r3, #0 80a6e8a: d01b beq.n 80a6ec4 if(mF[MINY] > lastPointOSC[MAXY]) 80a6e8c: ed97 7a9e vldr s14, [r7, #632] ; 0x278 80a6e90: 4b83 ldr r3, [pc, #524] ; (80a70a0 ) 80a6e92: edd3 7a01 vldr s15, [r3, #4] 80a6e96: eeb4 7ae7 vcmpe.f32 s14, s15 80a6e9a: eef1 fa10 vmrs APSR_nzcv, fpscr 80a6e9e: dd03 ble.n 80a6ea8 mF[MINY] = lastPointOSC[MAXY]; 80a6ea0: 4b7f ldr r3, [pc, #508] ; (80a70a0 ) 80a6ea2: 685b ldr r3, [r3, #4] 80a6ea4: f8c7 3278 str.w r3, [r7, #632] ; 0x278 if(mF[MAXY] < lastPointOSC[MINY]) 80a6ea8: ed97 7a9f vldr s14, [r7, #636] ; 0x27c 80a6eac: 4b7c ldr r3, [pc, #496] ; (80a70a0 ) 80a6eae: edd3 7a00 vldr s15, [r3] 80a6eb2: eeb4 7ae7 vcmpe.f32 s14, s15 80a6eb6: eef1 fa10 vmrs APSR_nzcv, fpscr 80a6eba: d503 bpl.n 80a6ec4 mF[MAXY] = lastPointOSC[MINY]; 80a6ebc: 4b78 ldr r3, [pc, #480] ; (80a70a0 ) 80a6ebe: 681b ldr r3, [r3, #0] 80a6ec0: f8c7 327c str.w r3, [r7, #636] ; 0x27c ft[0] = mF[MINY]; ft[1] = mF[MAXY]; 80a6ec4: f8d7 3278 ldr.w r3, [r7, #632] ; 0x278 80a6ec8: f8c7 3280 str.w r3, [r7, #640] ; 0x280 80a6ecc: f8d7 327c ldr.w r3, [r7, #636] ; 0x27c 80a6ed0: f8c7 3284 str.w r3, [r7, #644] ; 0x284 lastPointOSC[MINY] = ft[0]; lastPointOSC[MAXY] = ft[1]; 80a6ed4: f8d7 3280 ldr.w r3, [r7, #640] ; 0x280 80a6ed8: 4a71 ldr r2, [pc, #452] ; (80a70a0 ) 80a6eda: 6013 str r3, [r2, #0] 80a6edc: f8d7 3284 ldr.w r3, [r7, #644] ; 0x284 80a6ee0: 4a6f ldr r2, [pc, #444] ; (80a70a0 ) 80a6ee2: 6053 str r3, [r2, #4] mF[MINY] *= ZoomVal; 80a6ee4: ed97 7a9e vldr s14, [r7, #632] ; 0x278 80a6ee8: 4b6e ldr r3, [pc, #440] ; (80a70a4 ) 80a6eea: edd3 7a00 vldr s15, [r3] 80a6eee: ee67 7a27 vmul.f32 s15, s14, s15 80a6ef2: edc7 7a9e vstr s15, [r7, #632] ; 0x278 mF[MAXY] *= ZoomVal; 80a6ef6: ed97 7a9f vldr s14, [r7, #636] ; 0x27c 80a6efa: 4b6a ldr r3, [pc, #424] ; (80a70a4 ) 80a6efc: edd3 7a00 vldr s15, [r3] 80a6f00: ee67 7a27 vmul.f32 s15, s14, s15 80a6f04: edc7 7a9f vstr s15, [r7, #636] ; 0x27c if(mF[MAXY] > 32767.0f) mF[MAXY] = 32767.0f; 80a6f08: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80a6f0c: ed9f 7a66 vldr s14, [pc, #408] ; 80a70a8 80a6f10: eef4 7ac7 vcmpe.f32 s15, s14 80a6f14: eef1 fa10 vmrs APSR_nzcv, fpscr 80a6f18: dd02 ble.n 80a6f20 80a6f1a: 4b64 ldr r3, [pc, #400] ; (80a70ac ) 80a6f1c: f8c7 327c str.w r3, [r7, #636] ; 0x27c if(mF[MAXY] < -32767.0f) mF[MAXY] = -32767.0f; 80a6f20: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80a6f24: ed9f 7a62 vldr s14, [pc, #392] ; 80a70b0 80a6f28: eef4 7ac7 vcmpe.f32 s15, s14 80a6f2c: eef1 fa10 vmrs APSR_nzcv, fpscr 80a6f30: d502 bpl.n 80a6f38 80a6f32: 4b60 ldr r3, [pc, #384] ; (80a70b4 ) 80a6f34: f8c7 327c str.w r3, [r7, #636] ; 0x27c if(mF[MINY] > 32767.0f) mF[MINY] = 32767.0f; 80a6f38: edd7 7a9e vldr s15, [r7, #632] ; 0x278 80a6f3c: ed9f 7a5a vldr s14, [pc, #360] ; 80a70a8 80a6f40: eef4 7ac7 vcmpe.f32 s15, s14 80a6f44: eef1 fa10 vmrs APSR_nzcv, fpscr 80a6f48: dd02 ble.n 80a6f50 80a6f4a: 4b58 ldr r3, [pc, #352] ; (80a70ac ) 80a6f4c: f8c7 3278 str.w r3, [r7, #632] ; 0x278 if(mF[MINY] < -32767.0f) mF[MINY] = -32767.0f; 80a6f50: edd7 7a9e vldr s15, [r7, #632] ; 0x278 80a6f54: ed9f 7a56 vldr s14, [pc, #344] ; 80a70b0 80a6f58: eef4 7ac7 vcmpe.f32 s15, s14 80a6f5c: eef1 fa10 vmrs APSR_nzcv, fpscr 80a6f60: d502 bpl.n 80a6f68 80a6f62: 4b54 ldr r3, [pc, #336] ; (80a70b4 ) 80a6f64: f8c7 3278 str.w r3, [r7, #632] ; 0x278 pMax = (int16_t) mF[MAXY]; 80a6f68: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80a6f6c: eefd 7ae7 vcvt.s32.f32 s15, s15 80a6f70: edc7 7a01 vstr s15, [r7, #4] 80a6f74: 88bb ldrh r3, [r7, #4] 80a6f76: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 pMin = (int16_t) mF[MINY]; 80a6f7a: edd7 7a9e vldr s15, [r7, #632] ; 0x278 80a6f7e: eefd 7ae7 vcvt.s32.f32 s15, s15 80a6f82: edc7 7a01 vstr s15, [r7, #4] 80a6f86: 88bb ldrh r3, [r7, #4] 80a6f88: f8a7 32b2 strh.w r3, [r7, #690] ; 0x2b2 if(pMin > 40) 80a6f8c: f9b7 32b2 ldrsh.w r3, [r7, #690] ; 0x2b2 80a6f90: 2b28 cmp r3, #40 ; 0x28 80a6f92: dd08 ble.n 80a6fa6 pMin = 40; 80a6f94: 2328 movs r3, #40 ; 0x28 80a6f96: f8a7 32b2 strh.w r3, [r7, #690] ; 0x2b2 NumOverdrives++; 80a6f9a: 4b47 ldr r3, [pc, #284] ; (80a70b8 ) 80a6f9c: 781b ldrb r3, [r3, #0] 80a6f9e: 3301 adds r3, #1 80a6fa0: b2da uxtb r2, r3 80a6fa2: 4b45 ldr r3, [pc, #276] ; (80a70b8 ) 80a6fa4: 701a strb r2, [r3, #0] if(pMin < -40) 80a6fa6: f9b7 32b2 ldrsh.w r3, [r7, #690] ; 0x2b2 80a6faa: f113 0f28 cmn.w r3, #40 ; 0x28 80a6fae: da09 bge.n 80a6fc4 pMin = -40; 80a6fb0: f64f 73d8 movw r3, #65496 ; 0xffd8 80a6fb4: f8a7 32b2 strh.w r3, [r7, #690] ; 0x2b2 NumOverdrives++; 80a6fb8: 4b3f ldr r3, [pc, #252] ; (80a70b8 ) 80a6fba: 781b ldrb r3, [r3, #0] 80a6fbc: 3301 adds r3, #1 80a6fbe: b2da uxtb r2, r3 80a6fc0: 4b3d ldr r3, [pc, #244] ; (80a70b8 ) 80a6fc2: 701a strb r2, [r3, #0] if(pMax > 40) 80a6fc4: f9b7 32b6 ldrsh.w r3, [r7, #694] ; 0x2b6 80a6fc8: 2b28 cmp r3, #40 ; 0x28 80a6fca: dd08 ble.n 80a6fde pMax = 40; 80a6fcc: 2328 movs r3, #40 ; 0x28 80a6fce: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 NumOverdrives++; 80a6fd2: 4b39 ldr r3, [pc, #228] ; (80a70b8 ) 80a6fd4: 781b ldrb r3, [r3, #0] 80a6fd6: 3301 adds r3, #1 80a6fd8: b2da uxtb r2, r3 80a6fda: 4b37 ldr r3, [pc, #220] ; (80a70b8 ) 80a6fdc: 701a strb r2, [r3, #0] if(pMax < -40) 80a6fde: f9b7 32b6 ldrsh.w r3, [r7, #694] ; 0x2b6 80a6fe2: f113 0f28 cmn.w r3, #40 ; 0x28 80a6fe6: da09 bge.n 80a6ffc pMax = -40; 80a6fe8: f64f 73d8 movw r3, #65496 ; 0xffd8 80a6fec: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 NumOverdrives++; 80a6ff0: 4b31 ldr r3, [pc, #196] ; (80a70b8 ) 80a6ff2: 781b ldrb r3, [r3, #0] 80a6ff4: 3301 adds r3, #1 80a6ff6: b2da uxtb r2, r3 80a6ff8: 4b2f ldr r3, [pc, #188] ; (80a70b8 ) 80a6ffa: 701a strb r2, [r3, #0] x = 62 + i; 80a6ffc: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a7000: 333e adds r3, #62 ; 0x3e 80a7002: f8c7 3294 str.w r3, [r7, #660] ; 0x294 BSP_LCD_DrawLine(x, 101 - pMin, x, 101 - pMax); 80a7006: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a700a: b298 uxth r0, r3 80a700c: f8b7 32b2 ldrh.w r3, [r7, #690] ; 0x2b2 80a7010: f1c3 0365 rsb r3, r3, #101 ; 0x65 80a7014: b299 uxth r1, r3 80a7016: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a701a: b29a uxth r2, r3 80a701c: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80a7020: f1c3 0365 rsb r3, r3, #101 ; 0x65 80a7024: b29b uxth r3, r3 80a7026: f7ac fdfb bl 8053c20 if(pMax > Maximum) Maximum = pMax; 80a702a: f9b7 22b6 ldrsh.w r2, [r7, #694] ; 0x2b6 80a702e: f9b7 32b4 ldrsh.w r3, [r7, #692] ; 0x2b4 80a7032: 429a cmp r2, r3 80a7034: dd03 ble.n 80a703e 80a7036: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80a703a: f8a7 32b4 strh.w r3, [r7, #692] ; 0x2b4 if(pMin < Minimum) Minimum = pMin; 80a703e: f9b7 22b2 ldrsh.w r2, [r7, #690] ; 0x2b2 80a7042: f9b7 32b0 ldrsh.w r3, [r7, #688] ; 0x2b0 80a7046: 429a cmp r2, r3 80a7048: da03 bge.n 80a7052 80a704a: f8b7 32b2 ldrh.w r3, [r7, #690] ; 0x2b2 80a704e: f8a7 32b0 strh.w r3, [r7, #688] ; 0x2b0 for(i = 0; i < 256; i++) 80a7052: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a7056: 3301 adds r3, #1 80a7058: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80a705c: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a7060: 2bff cmp r3, #255 ; 0xff 80a7062: f67f ade5 bls.w 80a6c30 Maximum = ABS(Maximum); 80a7066: f9b7 32b4 ldrsh.w r3, [r7, #692] ; 0x2b4 80a706a: 2b00 cmp r3, #0 80a706c: bfb8 it lt 80a706e: 425b neglt r3, r3 80a7070: f8a7 32b4 strh.w r3, [r7, #692] ; 0x2b4 Minimum = ABS(Minimum); 80a7074: f9b7 32b0 ldrsh.w r3, [r7, #688] ; 0x2b0 80a7078: 2b00 cmp r3, #0 80a707a: bfb8 it lt 80a707c: 425b neglt r3, r3 80a707e: f8a7 32b0 strh.w r3, [r7, #688] ; 0x2b0 if(Minimum > Maximum) { 80a7082: f9b7 22b0 ldrsh.w r2, [r7, #688] ; 0x2b0 80a7086: f9b7 32b4 ldrsh.w r3, [r7, #692] ; 0x2b4 80a708a: 429a cmp r2, r3 80a708c: f344 86e8 ble.w 80abe60 Maximum = Minimum; 80a7090: f8b7 32b0 ldrh.w r3, [r7, #688] ; 0x2b0 80a7094: f8a7 32b4 strh.w r3, [r7, #692] ; 0x2b4 } 80a7098: f004 bee2 b.w 80abe60 80a709c: 640b0000 .word 0x640b0000 80a70a0: 20021650 .word 0x20021650 80a70a4: 20020990 .word 0x20020990 80a70a8: 46fffe00 .word 0x46fffe00 80a70ac: 46fffe00 .word 0x46fffe00 80a70b0: c6fffe00 .word 0xc6fffe00 80a70b4: c6fffe00 .word 0xc6fffe00 80a70b8: 2002164e .word 0x2002164e if(pardata.SYG == FRAN) 80a70bc: 4bce ldr r3, [pc, #824] ; (80a73f8 ) 80a70be: 781b ldrb r3, [r3, #0] 80a70c0: b2db uxtb r3, r3 80a70c2: 2b03 cmp r3, #3 80a70c4: f004 86cc beq.w 80abe60 if(!FIRST) 80a70c8: 4bcc ldr r3, [pc, #816] ; (80a73fc ) 80a70ca: 781b ldrb r3, [r3, #0] 80a70cc: b2db uxtb r3, r3 80a70ce: f083 0301 eor.w r3, r3, #1 80a70d2: b2db uxtb r3, r3 80a70d4: 2b00 cmp r3, #0 80a70d6: f004 86c3 beq.w 80abe60 if(pardata.SYG == ROLL) 80a70da: 4bc7 ldr r3, [pc, #796] ; (80a73f8 ) 80a70dc: 781b ldrb r3, [r3, #0] 80a70de: b2db uxtb r3, r3 80a70e0: 2b08 cmp r3, #8 80a70e2: f042 82c5 bne.w 80a9670 if(READY_TO_SEE) 80a70e6: 4bc6 ldr r3, [pc, #792] ; (80a7400 ) 80a70e8: 781b ldrb r3, [r3, #0] 80a70ea: b2db uxtb r3, r3 80a70ec: 2b00 cmp r3, #0 80a70ee: f004 86b7 beq.w 80abe60 k = 0; 80a70f2: 2300 movs r3, #0 80a70f4: f8c7 32a0 str.w r3, [r7, #672] ; 0x2a0 f = ScrA_f32(lX + k); 80a70f8: 4bc2 ldr r3, [pc, #776] ; (80a7404 ) 80a70fa: 881b ldrh r3, [r3, #0] 80a70fc: b29b uxth r3, r3 80a70fe: 461a mov r2, r3 80a7100: f8d7 32a0 ldr.w r3, [r7, #672] ; 0x2a0 80a7104: 4413 add r3, r2 80a7106: 009a lsls r2, r3, #2 80a7108: 4bbf ldr r3, [pc, #764] ; (80a7408 ) 80a710a: 4413 add r3, r2 80a710c: 681b ldr r3, [r3, #0] 80a710e: f8c7 326c str.w r3, [r7, #620] ; 0x26c LinToLog(&f, &f); 80a7112: f507 721b add.w r2, r7, #620 ; 0x26c 80a7116: f507 731b add.w r3, r7, #620 ; 0x26c 80a711a: 4611 mov r1, r2 80a711c: 4618 mov r0, r3 80a711e: f7bd fec3 bl 8064ea8 if(f <= 0.0f) k++; 80a7122: edd7 7a9b vldr s15, [r7, #620] ; 0x26c 80a7126: eef5 7ac0 vcmpe.f32 s15, #0.0 80a712a: eef1 fa10 vmrs APSR_nzcv, fpscr 80a712e: d942 bls.n 80a71b6 else break; 80a7130: bf00 nop arm_max_f32(&ScrA_f32(lX + k), rX-lX-k-1, &max, &idx); 80a7132: 4bb4 ldr r3, [pc, #720] ; (80a7404 ) 80a7134: 881b ldrh r3, [r3, #0] 80a7136: b29b uxth r3, r3 80a7138: 461a mov r2, r3 80a713a: f8d7 32a0 ldr.w r3, [r7, #672] ; 0x2a0 80a713e: 4413 add r3, r2 80a7140: 009a lsls r2, r3, #2 80a7142: 4bb1 ldr r3, [pc, #708] ; (80a7408 ) 80a7144: 4413 add r3, r2 80a7146: 4618 mov r0, r3 80a7148: 4bb0 ldr r3, [pc, #704] ; (80a740c ) 80a714a: 881b ldrh r3, [r3, #0] 80a714c: b29b uxth r3, r3 80a714e: 461a mov r2, r3 80a7150: 4bac ldr r3, [pc, #688] ; (80a7404 ) 80a7152: 881b ldrh r3, [r3, #0] 80a7154: b29b uxth r3, r3 80a7156: 1ad3 subs r3, r2, r3 80a7158: 461a mov r2, r3 80a715a: f8d7 32a0 ldr.w r3, [r7, #672] ; 0x2a0 80a715e: 1ad3 subs r3, r2, r3 80a7160: 1e59 subs r1, r3, #1 80a7162: f507 731a add.w r3, r7, #616 ; 0x268 80a7166: f507 721d add.w r2, r7, #628 ; 0x274 80a716a: f022 ffa7 bl 80ca0bc arm_min_f32(&ScrA_f32(lX + k), rX-lX-k-1, &min, &idx); 80a716e: 4ba5 ldr r3, [pc, #660] ; (80a7404 ) 80a7170: 881b ldrh r3, [r3, #0] 80a7172: b29b uxth r3, r3 80a7174: 461a mov r2, r3 80a7176: f8d7 32a0 ldr.w r3, [r7, #672] ; 0x2a0 80a717a: 4413 add r3, r2 80a717c: 009a lsls r2, r3, #2 80a717e: 4ba2 ldr r3, [pc, #648] ; (80a7408 ) 80a7180: 4413 add r3, r2 80a7182: 4618 mov r0, r3 80a7184: 4ba1 ldr r3, [pc, #644] ; (80a740c ) 80a7186: 881b ldrh r3, [r3, #0] 80a7188: b29b uxth r3, r3 80a718a: 461a mov r2, r3 80a718c: 4b9d ldr r3, [pc, #628] ; (80a7404 ) 80a718e: 881b ldrh r3, [r3, #0] 80a7190: b29b uxth r3, r3 80a7192: 1ad3 subs r3, r2, r3 80a7194: 461a mov r2, r3 80a7196: f8d7 32a0 ldr.w r3, [r7, #672] ; 0x2a0 80a719a: 1ad3 subs r3, r2, r3 80a719c: 1e59 subs r1, r3, #1 80a719e: f507 731a add.w r3, r7, #616 ; 0x268 80a71a2: f507 721c add.w r2, r7, #624 ; 0x270 80a71a6: f022 feed bl 80c9f84 if(AUTOZOOM) 80a71aa: 4b99 ldr r3, [pc, #612] ; (80a7410 ) 80a71ac: 781b ldrb r3, [r3, #0] 80a71ae: b2db uxtb r3, r3 80a71b0: 2b00 cmp r3, #0 80a71b2: d025 beq.n 80a7200 80a71b4: e005 b.n 80a71c2 if(f <= 0.0f) k++; 80a71b6: f8d7 32a0 ldr.w r3, [r7, #672] ; 0x2a0 80a71ba: 3301 adds r3, #1 80a71bc: f8c7 32a0 str.w r3, [r7, #672] ; 0x2a0 f = ScrA_f32(lX + k); 80a71c0: e79a b.n 80a70f8 f = (max - min); 80a71c2: ed97 7a9d vldr s14, [r7, #628] ; 0x274 80a71c6: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80a71ca: ee77 7a67 vsub.f32 s15, s14, s15 80a71ce: edc7 7a9b vstr s15, [r7, #620] ; 0x26c if(f <= 0.0f) { 80a71d2: edd7 7a9b vldr s15, [r7, #620] ; 0x26c 80a71d6: eef5 7ac0 vcmpe.f32 s15, #0.0 80a71da: eef1 fa10 vmrs APSR_nzcv, fpscr 80a71de: d802 bhi.n 80a71e6 f = 80.0f; 80a71e0: 4b8c ldr r3, [pc, #560] ; (80a7414 ) 80a71e2: f8c7 326c str.w r3, [r7, #620] ; 0x26c ZoomVal = 97.0f / f; 80a71e6: ed97 7a9b vldr s14, [r7, #620] ; 0x26c 80a71ea: eddf 6a8b vldr s13, [pc, #556] ; 80a7418 80a71ee: eec6 7a87 vdiv.f32 s15, s13, s14 80a71f2: 4b8a ldr r3, [pc, #552] ; (80a741c ) 80a71f4: edc3 7a00 vstr s15, [r3] AUTOZOOM = false; 80a71f8: 4b85 ldr r3, [pc, #532] ; (80a7410 ) 80a71fa: 2200 movs r2, #0 80a71fc: 701a strb r2, [r3, #0] 80a71fe: e024 b.n 80a724a if(ZOOM_IN) 80a7200: 4b87 ldr r3, [pc, #540] ; (80a7420 ) 80a7202: 781b ldrb r3, [r3, #0] 80a7204: b2db uxtb r3, r3 80a7206: 2b00 cmp r3, #0 80a7208: d00d beq.n 80a7226 ZOOM_IN = false; 80a720a: 4b85 ldr r3, [pc, #532] ; (80a7420 ) 80a720c: 2200 movs r2, #0 80a720e: 701a strb r2, [r3, #0] ZoomVal *= 2.0000011f; 80a7210: 4b82 ldr r3, [pc, #520] ; (80a741c ) 80a7212: edd3 7a00 vldr s15, [r3] 80a7216: ed9f 7a83 vldr s14, [pc, #524] ; 80a7424 80a721a: ee67 7a87 vmul.f32 s15, s15, s14 80a721e: 4b7f ldr r3, [pc, #508] ; (80a741c ) 80a7220: edc3 7a00 vstr s15, [r3] 80a7224: e011 b.n 80a724a if(ZOOM_OUT) 80a7226: 4b80 ldr r3, [pc, #512] ; (80a7428 ) 80a7228: 781b ldrb r3, [r3, #0] 80a722a: b2db uxtb r3, r3 80a722c: 2b00 cmp r3, #0 80a722e: d00c beq.n 80a724a ZOOM_OUT = false; 80a7230: 4b7d ldr r3, [pc, #500] ; (80a7428 ) 80a7232: 2200 movs r2, #0 80a7234: 701a strb r2, [r3, #0] ZoomVal *= 0.5000011f; 80a7236: 4b79 ldr r3, [pc, #484] ; (80a741c ) 80a7238: edd3 7a00 vldr s15, [r3] 80a723c: ed9f 7a7b vldr s14, [pc, #492] ; 80a742c 80a7240: ee67 7a87 vmul.f32 s15, s15, s14 80a7244: 4b75 ldr r3, [pc, #468] ; (80a741c ) 80a7246: edc3 7a00 vstr s15, [r3] if(menu == VIEW_PORTRET) 80a724a: 4b79 ldr r3, [pc, #484] ; (80a7430 ) 80a724c: 781b ldrb r3, [r3, #0] 80a724e: b2db uxtb r3, r3 80a7250: 2b28 cmp r3, #40 ; 0x28 80a7252: f041 879d bne.w 80a9190 for(i = 0; i < 15; i++) 80a7256: 2300 movs r3, #0 80a7258: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80a725c: e058 b.n 80a7310 _Fvr[i] = -1; 80a725e: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a7262: 009b lsls r3, r3, #2 80a7264: f507 722e add.w r2, r7, #696 ; 0x2b8 80a7268: 4413 add r3, r2 80a726a: f04f 32ff mov.w r2, #4294967295 80a726e: f843 2c8c str.w r2, [r3, #-140] _Fn[i] = -1; 80a7272: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a7276: 009b lsls r3, r3, #2 80a7278: f507 722e add.w r2, r7, #696 ; 0x2b8 80a727c: 4413 add r3, r2 80a727e: f04f 32ff mov.w r2, #4294967295 80a7282: f843 2cc8 str.w r2, [r3, #-200] _Fv[i] = -1; 80a7286: f507 73da add.w r3, r7, #436 ; 0x1b4 80a728a: f8d7 22ac ldr.w r2, [r7, #684] ; 0x2ac 80a728e: f04f 31ff mov.w r1, #4294967295 80a7292: f843 1022 str.w r1, [r3, r2, lsl #2] _Fc[i] = -1; 80a7296: f507 73bc add.w r3, r7, #376 ; 0x178 80a729a: f8d7 22ac ldr.w r2, [r7, #684] ; 0x2ac 80a729e: f04f 31ff mov.w r1, #4294967295 80a72a2: f843 1022 str.w r1, [r3, r2, lsl #2] _Ftk[i] = -1; 80a72a6: f507 739e add.w r3, r7, #316 ; 0x13c 80a72aa: f8d7 22ac ldr.w r2, [r7, #684] ; 0x2ac 80a72ae: f04f 31ff mov.w r1, #4294967295 80a72b2: f843 1022 str.w r1, [r3, r2, lsl #2] _Fvr_m_Fc[i] = -1; 80a72b6: f507 7380 add.w r3, r7, #256 ; 0x100 80a72ba: f8d7 22ac ldr.w r2, [r7, #684] ; 0x2ac 80a72be: f04f 31ff mov.w r1, #4294967295 80a72c2: f843 1022 str.w r1, [r3, r2, lsl #2] _Ftk_p_Fc[i] = -1; 80a72c6: f107 03c4 add.w r3, r7, #196 ; 0xc4 80a72ca: f8d7 22ac ldr.w r2, [r7, #684] ; 0x2ac 80a72ce: f04f 31ff mov.w r1, #4294967295 80a72d2: f843 1022 str.w r1, [r3, r2, lsl #2] _Ftk_m_Fc[i] = -1; 80a72d6: f107 0388 add.w r3, r7, #136 ; 0x88 80a72da: f8d7 22ac ldr.w r2, [r7, #684] ; 0x2ac 80a72de: f04f 31ff mov.w r1, #4294967295 80a72e2: f843 1022 str.w r1, [r3, r2, lsl #2] _Ftk_p_2Fc[i] = -1; 80a72e6: f107 034c add.w r3, r7, #76 ; 0x4c 80a72ea: f8d7 22ac ldr.w r2, [r7, #684] ; 0x2ac 80a72ee: f04f 31ff mov.w r1, #4294967295 80a72f2: f843 1022 str.w r1, [r3, r2, lsl #2] _Ftk_m_2Fc[i] = -1; 80a72f6: f107 0310 add.w r3, r7, #16 80a72fa: f8d7 22ac ldr.w r2, [r7, #684] ; 0x2ac 80a72fe: f04f 31ff mov.w r1, #4294967295 80a7302: f843 1022 str.w r1, [r3, r2, lsl #2] for(i = 0; i < 15; i++) 80a7306: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a730a: 3301 adds r3, #1 80a730c: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80a7310: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a7314: 2b0e cmp r3, #14 80a7316: d9a2 bls.n 80a725e for(i = 0; i < 15; i++) { 80a7318: 2300 movs r3, #0 80a731a: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80a731e: e02a b.n 80a7376 f = Fvr * (float32_t) (i + 1); 80a7320: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a7324: 3301 adds r3, #1 80a7326: ee07 3a90 vmov s15, r3 80a732a: eeb8 7a67 vcvt.f32.u32 s14, s15 80a732e: 4b41 ldr r3, [pc, #260] ; (80a7434 ) 80a7330: edd3 7a00 vldr s15, [r3] 80a7334: ee67 7a27 vmul.f32 s15, s14, s15 80a7338: edc7 7a9b vstr s15, [r7, #620] ; 0x26c _Fvr[i] = (f / 0.48828125) + 0.5f; // íîìåð ãàðìîíèêè öåëûé 80a733c: edd7 7a9b vldr s15, [r7, #620] ; 0x26c 80a7340: eeb7 6ae7 vcvt.f64.f32 d6, s15 80a7344: ed9f 5b2a vldr d5, [pc, #168] ; 80a73f0 80a7348: ee86 7b05 vdiv.f64 d7, d6, d5 80a734c: eeb6 6b00 vmov.f64 d6, #96 ; 0x3f000000 0.5 80a7350: ee37 7b06 vadd.f64 d7, d7, d6 80a7354: eefd 7bc7 vcvt.s32.f64 s15, d7 80a7358: ee17 2a90 vmov r2, s15 80a735c: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a7360: 009b lsls r3, r3, #2 80a7362: f507 712e add.w r1, r7, #696 ; 0x2b8 80a7366: 440b add r3, r1 80a7368: f843 2c8c str.w r2, [r3, #-140] for(i = 0; i < 15; i++) { 80a736c: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a7370: 3301 adds r3, #1 80a7372: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80a7376: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a737a: 2b0e cmp r3, #14 80a737c: d9d0 bls.n 80a7320 for(i = 0; i < 4; i++) { 80a737e: 2300 movs r3, #0 80a7380: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80a7384: e02a b.n 80a73dc f = Fn * (float32_t) (i + 1); 80a7386: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a738a: 3301 adds r3, #1 80a738c: ee07 3a90 vmov s15, r3 80a7390: eeb8 7a67 vcvt.f32.u32 s14, s15 80a7394: 4b28 ldr r3, [pc, #160] ; (80a7438 ) 80a7396: edd3 7a00 vldr s15, [r3] 80a739a: ee67 7a27 vmul.f32 s15, s14, s15 80a739e: edc7 7a9b vstr s15, [r7, #620] ; 0x26c _Fn[i] = (f / 0.48828125) + 0.5f; // íîìåð ãàðìîíèêè öåëûé 80a73a2: edd7 7a9b vldr s15, [r7, #620] ; 0x26c 80a73a6: eeb7 6ae7 vcvt.f64.f32 d6, s15 80a73aa: ed9f 5b11 vldr d5, [pc, #68] ; 80a73f0 80a73ae: ee86 7b05 vdiv.f64 d7, d6, d5 80a73b2: eeb6 6b00 vmov.f64 d6, #96 ; 0x3f000000 0.5 80a73b6: ee37 7b06 vadd.f64 d7, d7, d6 80a73ba: eefd 7bc7 vcvt.s32.f64 s15, d7 80a73be: ee17 2a90 vmov r2, s15 80a73c2: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a73c6: 009b lsls r3, r3, #2 80a73c8: f507 712e add.w r1, r7, #696 ; 0x2b8 80a73cc: 440b add r3, r1 80a73ce: f843 2cc8 str.w r2, [r3, #-200] for(i = 0; i < 4; i++) { 80a73d2: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a73d6: 3301 adds r3, #1 80a73d8: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80a73dc: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a73e0: 2b03 cmp r3, #3 80a73e2: d9d0 bls.n 80a7386 for(i = 0; i < 3; i++) { 80a73e4: 2300 movs r3, #0 80a73e6: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80a73ea: e050 b.n 80a748e 80a73ec: f3af 8000 nop.w 80a73f0: 00000000 .word 0x00000000 80a73f4: 3fdf4000 .word 0x3fdf4000 80a73f8: 20023e60 .word 0x20023e60 80a73fc: 20020db2 .word 0x20020db2 80a7400: 20020d8e .word 0x20020d8e 80a7404: 20025d1a .word 0x20025d1a 80a7408: 64080000 .word 0x64080000 80a740c: 20025d20 .word 0x20025d20 80a7410: 2002098c .word 0x2002098c 80a7414: 42a00000 .word 0x42a00000 80a7418: 42c20000 .word 0x42c20000 80a741c: 20020990 .word 0x20020990 80a7420: 20020f6a .word 0x20020f6a 80a7424: 40000005 .word 0x40000005 80a7428: 20020f69 .word 0x20020f69 80a742c: 3f000012 .word 0x3f000012 80a7430: 20020f78 .word 0x20020f78 80a7434: 20026d00 .word 0x20026d00 80a7438: 200267a8 .word 0x200267a8 f = Fv * (float32_t) (i + 1); 80a743c: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a7440: 3301 adds r3, #1 80a7442: ee07 3a90 vmov s15, r3 80a7446: eeb8 7a67 vcvt.f32.u32 s14, s15 80a744a: 4bcb ldr r3, [pc, #812] ; (80a7778 ) 80a744c: edd3 7a00 vldr s15, [r3] 80a7450: ee67 7a27 vmul.f32 s15, s14, s15 80a7454: edc7 7a9b vstr s15, [r7, #620] ; 0x26c _Fv[i] = (f / 0.48828125) + 0.5f; // íîìåð ãàðìîíèêè öåëûé 80a7458: edd7 7a9b vldr s15, [r7, #620] ; 0x26c 80a745c: eeb7 6ae7 vcvt.f64.f32 d6, s15 80a7460: ed9f 5bc3 vldr d5, [pc, #780] ; 80a7770 80a7464: ee86 7b05 vdiv.f64 d7, d6, d5 80a7468: eeb6 6b00 vmov.f64 d6, #96 ; 0x3f000000 0.5 80a746c: ee37 7b06 vadd.f64 d7, d7, d6 80a7470: eefd 7bc7 vcvt.s32.f64 s15, d7 80a7474: ee17 1a90 vmov r1, s15 80a7478: f507 73da add.w r3, r7, #436 ; 0x1b4 80a747c: f8d7 22ac ldr.w r2, [r7, #684] ; 0x2ac 80a7480: f843 1022 str.w r1, [r3, r2, lsl #2] for(i = 0; i < 3; i++) { 80a7484: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a7488: 3301 adds r3, #1 80a748a: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80a748e: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a7492: 2b02 cmp r3, #2 80a7494: d9d2 bls.n 80a743c for(i = 0; i < 8; i++) 80a7496: 2300 movs r3, #0 80a7498: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80a749c: e051 b.n 80a7542 f = Fc * (float32_t) (i + 1); 80a749e: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a74a2: 3301 adds r3, #1 80a74a4: ee07 3a90 vmov s15, r3 80a74a8: eeb8 7a67 vcvt.f32.u32 s14, s15 80a74ac: 4bb3 ldr r3, [pc, #716] ; (80a777c ) 80a74ae: edd3 7a00 vldr s15, [r3] 80a74b2: ee67 7a27 vmul.f32 s15, s14, s15 80a74b6: edc7 7a9b vstr s15, [r7, #620] ; 0x26c _Fc[i] = (f / 0.48828125) + 0.5f; // íîìåð ãàðìîíèêè öåëûé 80a74ba: edd7 7a9b vldr s15, [r7, #620] ; 0x26c 80a74be: eeb7 6ae7 vcvt.f64.f32 d6, s15 80a74c2: ed9f 5bab vldr d5, [pc, #684] ; 80a7770 80a74c6: ee86 7b05 vdiv.f64 d7, d6, d5 80a74ca: eeb6 6b00 vmov.f64 d6, #96 ; 0x3f000000 0.5 80a74ce: ee37 7b06 vadd.f64 d7, d7, d6 80a74d2: eefd 7bc7 vcvt.s32.f64 s15, d7 80a74d6: ee17 1a90 vmov r1, s15 80a74da: f507 73bc add.w r3, r7, #376 ; 0x178 80a74de: f8d7 22ac ldr.w r2, [r7, #684] ; 0x2ac 80a74e2: f843 1022 str.w r1, [r3, r2, lsl #2] f = (Fvr * (float32_t) (i + 1)) - Fc; 80a74e6: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a74ea: 3301 adds r3, #1 80a74ec: ee07 3a90 vmov s15, r3 80a74f0: eeb8 7a67 vcvt.f32.u32 s14, s15 80a74f4: 4ba2 ldr r3, [pc, #648] ; (80a7780 ) 80a74f6: edd3 7a00 vldr s15, [r3] 80a74fa: ee27 7a27 vmul.f32 s14, s14, s15 80a74fe: 4b9f ldr r3, [pc, #636] ; (80a777c ) 80a7500: edd3 7a00 vldr s15, [r3] 80a7504: ee77 7a67 vsub.f32 s15, s14, s15 80a7508: edc7 7a9b vstr s15, [r7, #620] ; 0x26c _Fvr_m_Fc[i] = (f / 0.48828125) + 0.5f; // íîìåð ãàðìîíèêè öåëûé 80a750c: edd7 7a9b vldr s15, [r7, #620] ; 0x26c 80a7510: eeb7 6ae7 vcvt.f64.f32 d6, s15 80a7514: ed9f 5b96 vldr d5, [pc, #600] ; 80a7770 80a7518: ee86 7b05 vdiv.f64 d7, d6, d5 80a751c: eeb6 6b00 vmov.f64 d6, #96 ; 0x3f000000 0.5 80a7520: ee37 7b06 vadd.f64 d7, d7, d6 80a7524: eefd 7bc7 vcvt.s32.f64 s15, d7 80a7528: ee17 1a90 vmov r1, s15 80a752c: f507 7380 add.w r3, r7, #256 ; 0x100 80a7530: f8d7 22ac ldr.w r2, [r7, #684] ; 0x2ac 80a7534: f843 1022 str.w r1, [r3, r2, lsl #2] for(i = 0; i < 8; i++) 80a7538: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a753c: 3301 adds r3, #1 80a753e: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80a7542: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a7546: 2b07 cmp r3, #7 80a7548: d9a9 bls.n 80a749e for(i = 0; i < 6; i++) 80a754a: 2300 movs r3, #0 80a754c: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80a7550: e0d0 b.n 80a76f4 f = Ftk * (float32_t) (i + 1); 80a7552: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a7556: 3301 adds r3, #1 80a7558: ee07 3a90 vmov s15, r3 80a755c: eeb8 7a67 vcvt.f32.u32 s14, s15 80a7560: 4b88 ldr r3, [pc, #544] ; (80a7784 ) 80a7562: edd3 7a00 vldr s15, [r3] 80a7566: ee67 7a27 vmul.f32 s15, s14, s15 80a756a: edc7 7a9b vstr s15, [r7, #620] ; 0x26c _Ftk[i] = (f / 0.48828125) + 0.5f; // íîìåð ãàðìîíèêè öåëûé 80a756e: edd7 7a9b vldr s15, [r7, #620] ; 0x26c 80a7572: eeb7 6ae7 vcvt.f64.f32 d6, s15 80a7576: ed9f 5b7e vldr d5, [pc, #504] ; 80a7770 80a757a: ee86 7b05 vdiv.f64 d7, d6, d5 80a757e: eeb6 6b00 vmov.f64 d6, #96 ; 0x3f000000 0.5 80a7582: ee37 7b06 vadd.f64 d7, d7, d6 80a7586: eefd 7bc7 vcvt.s32.f64 s15, d7 80a758a: ee17 1a90 vmov r1, s15 80a758e: f507 739e add.w r3, r7, #316 ; 0x13c 80a7592: f8d7 22ac ldr.w r2, [r7, #684] ; 0x2ac 80a7596: f843 1022 str.w r1, [r3, r2, lsl #2] f = (Ftk * (float32_t) (i + 1)) - Fc; 80a759a: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a759e: 3301 adds r3, #1 80a75a0: ee07 3a90 vmov s15, r3 80a75a4: eeb8 7a67 vcvt.f32.u32 s14, s15 80a75a8: 4b76 ldr r3, [pc, #472] ; (80a7784 ) 80a75aa: edd3 7a00 vldr s15, [r3] 80a75ae: ee27 7a27 vmul.f32 s14, s14, s15 80a75b2: 4b72 ldr r3, [pc, #456] ; (80a777c ) 80a75b4: edd3 7a00 vldr s15, [r3] 80a75b8: ee77 7a67 vsub.f32 s15, s14, s15 80a75bc: edc7 7a9b vstr s15, [r7, #620] ; 0x26c _Ftk_m_Fc[i] = (f / 0.48828125) + 0.5f; // íîìåð ãàðìîíèêè öåëûé 80a75c0: edd7 7a9b vldr s15, [r7, #620] ; 0x26c 80a75c4: eeb7 6ae7 vcvt.f64.f32 d6, s15 80a75c8: ed9f 5b69 vldr d5, [pc, #420] ; 80a7770 80a75cc: ee86 7b05 vdiv.f64 d7, d6, d5 80a75d0: eeb6 6b00 vmov.f64 d6, #96 ; 0x3f000000 0.5 80a75d4: ee37 7b06 vadd.f64 d7, d7, d6 80a75d8: eefd 7bc7 vcvt.s32.f64 s15, d7 80a75dc: ee17 1a90 vmov r1, s15 80a75e0: f107 0388 add.w r3, r7, #136 ; 0x88 80a75e4: f8d7 22ac ldr.w r2, [r7, #684] ; 0x2ac 80a75e8: f843 1022 str.w r1, [r3, r2, lsl #2] f = (Ftk * (float32_t) (i + 1)) + Fc; 80a75ec: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a75f0: 3301 adds r3, #1 80a75f2: ee07 3a90 vmov s15, r3 80a75f6: eeb8 7a67 vcvt.f32.u32 s14, s15 80a75fa: 4b62 ldr r3, [pc, #392] ; (80a7784 ) 80a75fc: edd3 7a00 vldr s15, [r3] 80a7600: ee27 7a27 vmul.f32 s14, s14, s15 80a7604: 4b5d ldr r3, [pc, #372] ; (80a777c ) 80a7606: edd3 7a00 vldr s15, [r3] 80a760a: ee77 7a27 vadd.f32 s15, s14, s15 80a760e: edc7 7a9b vstr s15, [r7, #620] ; 0x26c _Ftk_p_Fc[i] = (f / 0.48828125) + 0.5f; // íîìåð ãàðìîíèêè öåëûé 80a7612: edd7 7a9b vldr s15, [r7, #620] ; 0x26c 80a7616: eeb7 6ae7 vcvt.f64.f32 d6, s15 80a761a: ed9f 5b55 vldr d5, [pc, #340] ; 80a7770 80a761e: ee86 7b05 vdiv.f64 d7, d6, d5 80a7622: eeb6 6b00 vmov.f64 d6, #96 ; 0x3f000000 0.5 80a7626: ee37 7b06 vadd.f64 d7, d7, d6 80a762a: eefd 7bc7 vcvt.s32.f64 s15, d7 80a762e: ee17 1a90 vmov r1, s15 80a7632: f107 03c4 add.w r3, r7, #196 ; 0xc4 80a7636: f8d7 22ac ldr.w r2, [r7, #684] ; 0x2ac 80a763a: f843 1022 str.w r1, [r3, r2, lsl #2] f = (Ftk * (float32_t) (i + 1)) - 2*Fc; 80a763e: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a7642: 3301 adds r3, #1 80a7644: ee07 3a90 vmov s15, r3 80a7648: eeb8 7a67 vcvt.f32.u32 s14, s15 80a764c: 4b4d ldr r3, [pc, #308] ; (80a7784 ) 80a764e: edd3 7a00 vldr s15, [r3] 80a7652: ee27 7a27 vmul.f32 s14, s14, s15 80a7656: 4b49 ldr r3, [pc, #292] ; (80a777c ) 80a7658: edd3 7a00 vldr s15, [r3] 80a765c: ee77 7aa7 vadd.f32 s15, s15, s15 80a7660: ee77 7a67 vsub.f32 s15, s14, s15 80a7664: edc7 7a9b vstr s15, [r7, #620] ; 0x26c _Ftk_m_2Fc[i] = (f / 0.48828125) + 0.5f; // íîìåð ãàðìîíèêè öåëûé 80a7668: edd7 7a9b vldr s15, [r7, #620] ; 0x26c 80a766c: eeb7 6ae7 vcvt.f64.f32 d6, s15 80a7670: ed9f 5b3f vldr d5, [pc, #252] ; 80a7770 80a7674: ee86 7b05 vdiv.f64 d7, d6, d5 80a7678: eeb6 6b00 vmov.f64 d6, #96 ; 0x3f000000 0.5 80a767c: ee37 7b06 vadd.f64 d7, d7, d6 80a7680: eefd 7bc7 vcvt.s32.f64 s15, d7 80a7684: ee17 1a90 vmov r1, s15 80a7688: f107 0310 add.w r3, r7, #16 80a768c: f8d7 22ac ldr.w r2, [r7, #684] ; 0x2ac 80a7690: f843 1022 str.w r1, [r3, r2, lsl #2] f = (Ftk * (float32_t) (i + 1)) + 2*Fc; 80a7694: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a7698: 3301 adds r3, #1 80a769a: ee07 3a90 vmov s15, r3 80a769e: eeb8 7a67 vcvt.f32.u32 s14, s15 80a76a2: 4b38 ldr r3, [pc, #224] ; (80a7784 ) 80a76a4: edd3 7a00 vldr s15, [r3] 80a76a8: ee27 7a27 vmul.f32 s14, s14, s15 80a76ac: 4b33 ldr r3, [pc, #204] ; (80a777c ) 80a76ae: edd3 7a00 vldr s15, [r3] 80a76b2: ee77 7aa7 vadd.f32 s15, s15, s15 80a76b6: ee77 7a27 vadd.f32 s15, s14, s15 80a76ba: edc7 7a9b vstr s15, [r7, #620] ; 0x26c _Ftk_p_2Fc[i] = (f / 0.48828125) + 0.5f; // íîìåð ãàðìîíèêè öåëûé 80a76be: edd7 7a9b vldr s15, [r7, #620] ; 0x26c 80a76c2: eeb7 6ae7 vcvt.f64.f32 d6, s15 80a76c6: ed9f 5b2a vldr d5, [pc, #168] ; 80a7770 80a76ca: ee86 7b05 vdiv.f64 d7, d6, d5 80a76ce: eeb6 6b00 vmov.f64 d6, #96 ; 0x3f000000 0.5 80a76d2: ee37 7b06 vadd.f64 d7, d7, d6 80a76d6: eefd 7bc7 vcvt.s32.f64 s15, d7 80a76da: ee17 1a90 vmov r1, s15 80a76de: f107 034c add.w r3, r7, #76 ; 0x4c 80a76e2: f8d7 22ac ldr.w r2, [r7, #684] ; 0x2ac 80a76e6: f843 1022 str.w r1, [r3, r2, lsl #2] for(i = 0; i < 6; i++) 80a76ea: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a76ee: 3301 adds r3, #1 80a76f0: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80a76f4: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a76f8: 2b05 cmp r3, #5 80a76fa: f67f af2a bls.w 80a7552 uint8_t nnn[3] = {0, 0, 0}; 80a76fe: f107 030c add.w r3, r7, #12 80a7702: 2200 movs r2, #0 80a7704: 701a strb r2, [r3, #0] 80a7706: f107 030c add.w r3, r7, #12 80a770a: 2200 movs r2, #0 80a770c: 705a strb r2, [r3, #1] 80a770e: f107 030c add.w r3, r7, #12 80a7712: 2200 movs r2, #0 80a7714: 709a strb r2, [r3, #2] switch(DefectType) 80a7716: 4b1c ldr r3, [pc, #112] ; (80a7788 ) 80a7718: 781b ldrb r3, [r3, #0] 80a771a: b2db uxtb r3, r3 80a771c: 2b0b cmp r3, #11 80a771e: f201 8386 bhi.w 80a8e2e 80a7722: a201 add r2, pc, #4 ; (adr r2, 80a7728 ) 80a7724: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80a7728: 080a7759 .word 0x080a7759 80a772c: 080a7909 .word 0x080a7909 80a7730: 080a7bb1 .word 0x080a7bb1 80a7734: 080a7e61 .word 0x080a7e61 80a7738: 080a81d7 .word 0x080a81d7 80a773c: 080a8359 .word 0x080a8359 80a7740: 080a8359 .word 0x080a8359 80a7744: 080a8551 .word 0x080a8551 80a7748: 080a873f .word 0x080a873f 80a774c: 080a8b13 .word 0x080a8b13 80a7750: 080a8c55 .word 0x080a8c55 80a7754: 080a8c93 .word 0x080a8c93 n = 0; 80a7758: 2300 movs r3, #0 80a775a: f8c7 32a4 str.w r3, [r7, #676] ; 0x2a4 NumOverdrives = 0; 80a775e: 4b0b ldr r3, [pc, #44] ; (80a778c ) 80a7760: 2200 movs r2, #0 80a7762: 701a strb r2, [r3, #0] for(i = 0; i < 256; i++) 80a7764: 2300 movs r3, #0 80a7766: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80a776a: e0c6 b.n 80a78fa 80a776c: f3af 8000 nop.w 80a7770: 00000000 .word 0x00000000 80a7774: 3fdf4000 .word 0x3fdf4000 80a7778: 200261c4 .word 0x200261c4 80a777c: 20068320 .word 0x20068320 80a7780: 20026d00 .word 0x20026d00 80a7784: 20037a40 .word 0x20037a40 80a7788: 20021520 .word 0x20021520 80a778c: 2002164e .word 0x2002164e arm_max_f32(&ScrA_f32(i * avgSPC[ViewLevel][pardata.LNE] + X0), avgSPC[ViewLevel][pardata.LNE], &mF[MAXY], &idx); 80a7790: 4b9f ldr r3, [pc, #636] ; (80a7a10 ) 80a7792: 781b ldrb r3, [r3, #0] 80a7794: b2db uxtb r3, r3 80a7796: 4618 mov r0, r3 80a7798: 4b9e ldr r3, [pc, #632] ; (80a7a14 ) 80a779a: 79db ldrb r3, [r3, #7] 80a779c: b2db uxtb r3, r3 80a779e: 4619 mov r1, r3 80a77a0: 4a9d ldr r2, [pc, #628] ; (80a7a18 ) 80a77a2: 0083 lsls r3, r0, #2 80a77a4: 4413 add r3, r2 80a77a6: 440b add r3, r1 80a77a8: 781b ldrb r3, [r3, #0] 80a77aa: 461a mov r2, r3 80a77ac: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a77b0: fb03 f302 mul.w r3, r3, r2 80a77b4: 4a99 ldr r2, [pc, #612] ; (80a7a1c ) 80a77b6: 8812 ldrh r2, [r2, #0] 80a77b8: b292 uxth r2, r2 80a77ba: 4413 add r3, r2 80a77bc: 009a lsls r2, r3, #2 80a77be: 4b98 ldr r3, [pc, #608] ; (80a7a20 ) 80a77c0: 4413 add r3, r2 80a77c2: 461c mov r4, r3 80a77c4: 4b92 ldr r3, [pc, #584] ; (80a7a10 ) 80a77c6: 781b ldrb r3, [r3, #0] 80a77c8: b2db uxtb r3, r3 80a77ca: 4618 mov r0, r3 80a77cc: 4b91 ldr r3, [pc, #580] ; (80a7a14 ) 80a77ce: 79db ldrb r3, [r3, #7] 80a77d0: b2db uxtb r3, r3 80a77d2: 4619 mov r1, r3 80a77d4: 4a90 ldr r2, [pc, #576] ; (80a7a18 ) 80a77d6: 0083 lsls r3, r0, #2 80a77d8: 4413 add r3, r2 80a77da: 440b add r3, r1 80a77dc: 781b ldrb r3, [r3, #0] 80a77de: 4618 mov r0, r3 80a77e0: f507 711a add.w r1, r7, #616 ; 0x268 80a77e4: f507 731e add.w r3, r7, #632 ; 0x278 80a77e8: 1d1a adds r2, r3, #4 80a77ea: 460b mov r3, r1 80a77ec: 4601 mov r1, r0 80a77ee: 4620 mov r0, r4 80a77f0: f022 fc64 bl 80ca0bc iL = (uint32_t) (i * avgSPC[ViewLevel][pardata.LNE] + X0); 80a77f4: 4b86 ldr r3, [pc, #536] ; (80a7a10 ) 80a77f6: 781b ldrb r3, [r3, #0] 80a77f8: b2db uxtb r3, r3 80a77fa: 4618 mov r0, r3 80a77fc: 4b85 ldr r3, [pc, #532] ; (80a7a14 ) 80a77fe: 79db ldrb r3, [r3, #7] 80a7800: b2db uxtb r3, r3 80a7802: 4619 mov r1, r3 80a7804: 4a84 ldr r2, [pc, #528] ; (80a7a18 ) 80a7806: 0083 lsls r3, r0, #2 80a7808: 4413 add r3, r2 80a780a: 440b add r3, r1 80a780c: 781b ldrb r3, [r3, #0] 80a780e: 461a mov r2, r3 80a7810: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a7814: fb03 f302 mul.w r3, r3, r2 80a7818: 4a80 ldr r2, [pc, #512] ; (80a7a1c ) 80a781a: 8812 ldrh r2, [r2, #0] 80a781c: b292 uxth r2, r2 80a781e: 4413 add r3, r2 80a7820: f8c7 3290 str.w r3, [r7, #656] ; 0x290 iR = (uint32_t) (i * avgSPC[ViewLevel][pardata.LNE] + X0 + avgSPC[ViewLevel][pardata.LNE] - 1); 80a7824: 4b7a ldr r3, [pc, #488] ; (80a7a10 ) 80a7826: 781b ldrb r3, [r3, #0] 80a7828: b2db uxtb r3, r3 80a782a: 4618 mov r0, r3 80a782c: 4b79 ldr r3, [pc, #484] ; (80a7a14 ) 80a782e: 79db ldrb r3, [r3, #7] 80a7830: b2db uxtb r3, r3 80a7832: 4619 mov r1, r3 80a7834: 4a78 ldr r2, [pc, #480] ; (80a7a18 ) 80a7836: 0083 lsls r3, r0, #2 80a7838: 4413 add r3, r2 80a783a: 440b add r3, r1 80a783c: 781b ldrb r3, [r3, #0] 80a783e: 461a mov r2, r3 80a7840: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a7844: fb03 f302 mul.w r3, r3, r2 80a7848: 4a74 ldr r2, [pc, #464] ; (80a7a1c ) 80a784a: 8812 ldrh r2, [r2, #0] 80a784c: b292 uxth r2, r2 80a784e: 4413 add r3, r2 80a7850: 4a6f ldr r2, [pc, #444] ; (80a7a10 ) 80a7852: 7812 ldrb r2, [r2, #0] 80a7854: b2d2 uxtb r2, r2 80a7856: 4614 mov r4, r2 80a7858: 4a6e ldr r2, [pc, #440] ; (80a7a14 ) 80a785a: 79d2 ldrb r2, [r2, #7] 80a785c: b2d2 uxtb r2, r2 80a785e: 4610 mov r0, r2 80a7860: 496d ldr r1, [pc, #436] ; (80a7a18 ) 80a7862: 00a2 lsls r2, r4, #2 80a7864: 440a add r2, r1 80a7866: 4402 add r2, r0 80a7868: 7812 ldrb r2, [r2, #0] 80a786a: 4413 add r3, r2 80a786c: 3b01 subs r3, #1 80a786e: f8c7 328c str.w r3, [r7, #652] ; 0x28c x = 62 + i; 80a7872: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a7876: 333e adds r3, #62 ; 0x3e 80a7878: f8c7 3294 str.w r3, [r7, #660] ; 0x294 for(j = 0; j < 7; j++) 80a787c: 2300 movs r3, #0 80a787e: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80a7882: e031 b.n 80a78e8 if((_Fvr[j] >= iL) && (_Fvr[j] <= iR)) 80a7884: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80a7888: 009b lsls r3, r3, #2 80a788a: f507 722e add.w r2, r7, #696 ; 0x2b8 80a788e: 4413 add r3, r2 80a7890: f853 3c8c ldr.w r3, [r3, #-140] 80a7894: 461a mov r2, r3 80a7896: f8d7 3290 ldr.w r3, [r7, #656] ; 0x290 80a789a: 429a cmp r2, r3 80a789c: d31f bcc.n 80a78de 80a789e: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80a78a2: 009b lsls r3, r3, #2 80a78a4: f507 722e add.w r2, r7, #696 ; 0x2b8 80a78a8: 4413 add r3, r2 80a78aa: f853 3c8c ldr.w r3, [r3, #-140] 80a78ae: 461a mov r2, r3 80a78b0: f8d7 328c ldr.w r3, [r7, #652] ; 0x28c 80a78b4: 429a cmp r2, r3 80a78b6: d812 bhi.n 80a78de LCD_SetColors(LCD_COLOR_FVR, LCD_COLOR_BLACK); 80a78b8: 495a ldr r1, [pc, #360] ; (80a7a24 ) 80a78ba: 485b ldr r0, [pc, #364] ; (80a7a28 ) 80a78bc: f7ab ff76 bl 80537ac BSP_LCD_DrawLine(x, 44, x, 218); 80a78c0: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a78c4: b298 uxth r0, r3 80a78c6: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a78ca: b29a uxth r2, r3 80a78cc: 23da movs r3, #218 ; 0xda 80a78ce: 212c movs r1, #44 ; 0x2c 80a78d0: f7ac f9a6 bl 8053c20 n++; 80a78d4: f8d7 32a4 ldr.w r3, [r7, #676] ; 0x2a4 80a78d8: 3301 adds r3, #1 80a78da: f8c7 32a4 str.w r3, [r7, #676] ; 0x2a4 for(j = 0; j < 7; j++) 80a78de: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80a78e2: 3301 adds r3, #1 80a78e4: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80a78e8: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80a78ec: 2b06 cmp r3, #6 80a78ee: d9c9 bls.n 80a7884 for(i = 0; i < 256; i++) 80a78f0: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a78f4: 3301 adds r3, #1 80a78f6: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80a78fa: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a78fe: 2bff cmp r3, #255 ; 0xff 80a7900: f67f af46 bls.w 80a7790 break; 80a7904: f001 ba93 b.w 80a8e2e n = 0; 80a7908: 2300 movs r3, #0 80a790a: f8c7 32a4 str.w r3, [r7, #676] ; 0x2a4 NumOverdrives = 0; 80a790e: 4b47 ldr r3, [pc, #284] ; (80a7a2c ) 80a7910: 2200 movs r2, #0 80a7912: 701a strb r2, [r3, #0] for(i = 0; i < 256; i++) 80a7914: 2300 movs r3, #0 80a7916: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80a791a: e142 b.n 80a7ba2 arm_max_f32(&ScrA_f32(i * avgSPC[ViewLevel][pardata.LNE] + X0), avgSPC[ViewLevel][pardata.LNE], &mF[MAXY], &idx); 80a791c: 4b3c ldr r3, [pc, #240] ; (80a7a10 ) 80a791e: 781b ldrb r3, [r3, #0] 80a7920: b2db uxtb r3, r3 80a7922: 4618 mov r0, r3 80a7924: 4b3b ldr r3, [pc, #236] ; (80a7a14 ) 80a7926: 79db ldrb r3, [r3, #7] 80a7928: b2db uxtb r3, r3 80a792a: 4619 mov r1, r3 80a792c: 4a3a ldr r2, [pc, #232] ; (80a7a18 ) 80a792e: 0083 lsls r3, r0, #2 80a7930: 4413 add r3, r2 80a7932: 440b add r3, r1 80a7934: 781b ldrb r3, [r3, #0] 80a7936: 461a mov r2, r3 80a7938: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a793c: fb03 f302 mul.w r3, r3, r2 80a7940: 4a36 ldr r2, [pc, #216] ; (80a7a1c ) 80a7942: 8812 ldrh r2, [r2, #0] 80a7944: b292 uxth r2, r2 80a7946: 4413 add r3, r2 80a7948: 009a lsls r2, r3, #2 80a794a: 4b35 ldr r3, [pc, #212] ; (80a7a20 ) 80a794c: 4413 add r3, r2 80a794e: 461c mov r4, r3 80a7950: 4b2f ldr r3, [pc, #188] ; (80a7a10 ) 80a7952: 781b ldrb r3, [r3, #0] 80a7954: b2db uxtb r3, r3 80a7956: 4618 mov r0, r3 80a7958: 4b2e ldr r3, [pc, #184] ; (80a7a14 ) 80a795a: 79db ldrb r3, [r3, #7] 80a795c: b2db uxtb r3, r3 80a795e: 4619 mov r1, r3 80a7960: 4a2d ldr r2, [pc, #180] ; (80a7a18 ) 80a7962: 0083 lsls r3, r0, #2 80a7964: 4413 add r3, r2 80a7966: 440b add r3, r1 80a7968: 781b ldrb r3, [r3, #0] 80a796a: 4618 mov r0, r3 80a796c: f507 711a add.w r1, r7, #616 ; 0x268 80a7970: f507 731e add.w r3, r7, #632 ; 0x278 80a7974: 1d1a adds r2, r3, #4 80a7976: 460b mov r3, r1 80a7978: 4601 mov r1, r0 80a797a: 4620 mov r0, r4 80a797c: f022 fb9e bl 80ca0bc iL = (uint32_t) (i * avgSPC[ViewLevel][pardata.LNE] + X0); 80a7980: 4b23 ldr r3, [pc, #140] ; (80a7a10 ) 80a7982: 781b ldrb r3, [r3, #0] 80a7984: b2db uxtb r3, r3 80a7986: 4618 mov r0, r3 80a7988: 4b22 ldr r3, [pc, #136] ; (80a7a14 ) 80a798a: 79db ldrb r3, [r3, #7] 80a798c: b2db uxtb r3, r3 80a798e: 4619 mov r1, r3 80a7990: 4a21 ldr r2, [pc, #132] ; (80a7a18 ) 80a7992: 0083 lsls r3, r0, #2 80a7994: 4413 add r3, r2 80a7996: 440b add r3, r1 80a7998: 781b ldrb r3, [r3, #0] 80a799a: 461a mov r2, r3 80a799c: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a79a0: fb03 f302 mul.w r3, r3, r2 80a79a4: 4a1d ldr r2, [pc, #116] ; (80a7a1c ) 80a79a6: 8812 ldrh r2, [r2, #0] 80a79a8: b292 uxth r2, r2 80a79aa: 4413 add r3, r2 80a79ac: f8c7 3290 str.w r3, [r7, #656] ; 0x290 iR = (uint32_t) (i * avgSPC[ViewLevel][pardata.LNE] + X0 + avgSPC[ViewLevel][pardata.LNE] - 1); 80a79b0: 4b17 ldr r3, [pc, #92] ; (80a7a10 ) 80a79b2: 781b ldrb r3, [r3, #0] 80a79b4: b2db uxtb r3, r3 80a79b6: 4618 mov r0, r3 80a79b8: 4b16 ldr r3, [pc, #88] ; (80a7a14 ) 80a79ba: 79db ldrb r3, [r3, #7] 80a79bc: b2db uxtb r3, r3 80a79be: 4619 mov r1, r3 80a79c0: 4a15 ldr r2, [pc, #84] ; (80a7a18 ) 80a79c2: 0083 lsls r3, r0, #2 80a79c4: 4413 add r3, r2 80a79c6: 440b add r3, r1 80a79c8: 781b ldrb r3, [r3, #0] 80a79ca: 461a mov r2, r3 80a79cc: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a79d0: fb03 f302 mul.w r3, r3, r2 80a79d4: 4a11 ldr r2, [pc, #68] ; (80a7a1c ) 80a79d6: 8812 ldrh r2, [r2, #0] 80a79d8: b292 uxth r2, r2 80a79da: 4413 add r3, r2 80a79dc: 4a0c ldr r2, [pc, #48] ; (80a7a10 ) 80a79de: 7812 ldrb r2, [r2, #0] 80a79e0: b2d2 uxtb r2, r2 80a79e2: 4614 mov r4, r2 80a79e4: 4a0b ldr r2, [pc, #44] ; (80a7a14 ) 80a79e6: 79d2 ldrb r2, [r2, #7] 80a79e8: b2d2 uxtb r2, r2 80a79ea: 4610 mov r0, r2 80a79ec: 490a ldr r1, [pc, #40] ; (80a7a18 ) 80a79ee: 00a2 lsls r2, r4, #2 80a79f0: 440a add r2, r1 80a79f2: 4402 add r2, r0 80a79f4: 7812 ldrb r2, [r2, #0] 80a79f6: 4413 add r3, r2 80a79f8: 3b01 subs r3, #1 80a79fa: f8c7 328c str.w r3, [r7, #652] ; 0x28c x = 62 + i; 80a79fe: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a7a02: 333e adds r3, #62 ; 0x3e 80a7a04: f8c7 3294 str.w r3, [r7, #660] ; 0x294 for(j = 0; j < 11; j++) 80a7a08: 2300 movs r3, #0 80a7a0a: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80a7a0e: e0be b.n 80a7b8e 80a7a10: 20020f74 .word 0x20020f74 80a7a14: 20023e60 .word 0x20023e60 80a7a18: 080ef614 .word 0x080ef614 80a7a1c: 20025d1e .word 0x20025d1e 80a7a20: 64080000 .word 0x64080000 80a7a24: ff0a0f1f .word 0xff0a0f1f 80a7a28: ff66a6d3 .word 0xff66a6d3 80a7a2c: 2002164e .word 0x2002164e if((_Fvr[j] >= iL) && (_Fvr[j] <= iR)) 80a7a30: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80a7a34: 009b lsls r3, r3, #2 80a7a36: f507 722e add.w r2, r7, #696 ; 0x2b8 80a7a3a: 4413 add r3, r2 80a7a3c: f853 3c8c ldr.w r3, [r3, #-140] 80a7a40: 461a mov r2, r3 80a7a42: f8d7 3290 ldr.w r3, [r7, #656] ; 0x290 80a7a46: 429a cmp r2, r3 80a7a48: f0c0 809c bcc.w 80a7b84 80a7a4c: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80a7a50: 009b lsls r3, r3, #2 80a7a52: f507 722e add.w r2, r7, #696 ; 0x2b8 80a7a56: 4413 add r3, r2 80a7a58: f853 3c8c ldr.w r3, [r3, #-140] 80a7a5c: 461a mov r2, r3 80a7a5e: f8d7 328c ldr.w r3, [r7, #652] ; 0x28c 80a7a62: 429a cmp r2, r3 80a7a64: f200 808e bhi.w 80a7b84 LCD_SetColors(LCD_COLOR_FVR, LCD_COLOR_BLACK); 80a7a68: 49c2 ldr r1, [pc, #776] ; (80a7d74 ) 80a7a6a: 48c3 ldr r0, [pc, #780] ; (80a7d78 ) 80a7a6c: f7ab fe9e bl 80537ac BSP_LCD_DrawLine(x, 44, x, 218); 80a7a70: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a7a74: b298 uxth r0, r3 80a7a76: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a7a7a: b29a uxth r2, r3 80a7a7c: 23da movs r3, #218 ; 0xda 80a7a7e: 212c movs r1, #44 ; 0x2c 80a7a80: f7ac f8ce bl 8053c20 if(j & 1) 80a7a84: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80a7a88: f003 0301 and.w r3, r3, #1 80a7a8c: 2b00 cmp r3, #0 80a7a8e: d079 beq.n 80a7b84 if(ViewLevel < 2) 80a7a90: 4bba ldr r3, [pc, #744] ; (80a7d7c ) 80a7a92: 781b ldrb r3, [r3, #0] 80a7a94: b2db uxtb r3, r3 80a7a96: 2b01 cmp r3, #1 80a7a98: d826 bhi.n 80a7ae8 if(i * avgSPC[ViewLevel][pardata.LNE] + X0 > 0) 80a7a9a: 4bb8 ldr r3, [pc, #736] ; (80a7d7c ) 80a7a9c: 781b ldrb r3, [r3, #0] 80a7a9e: b2db uxtb r3, r3 80a7aa0: 4618 mov r0, r3 80a7aa2: 4bb7 ldr r3, [pc, #732] ; (80a7d80 ) 80a7aa4: 79db ldrb r3, [r3, #7] 80a7aa6: b2db uxtb r3, r3 80a7aa8: 4619 mov r1, r3 80a7aaa: 4ab6 ldr r2, [pc, #728] ; (80a7d84 ) 80a7aac: 0083 lsls r3, r0, #2 80a7aae: 4413 add r3, r2 80a7ab0: 440b add r3, r1 80a7ab2: 781b ldrb r3, [r3, #0] 80a7ab4: 461a mov r2, r3 80a7ab6: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a7aba: fb03 f302 mul.w r3, r3, r2 80a7abe: 4ab2 ldr r2, [pc, #712] ; (80a7d88 ) 80a7ac0: 8812 ldrh r2, [r2, #0] 80a7ac2: b292 uxth r2, r2 80a7ac4: 4413 add r3, r2 80a7ac6: 2b00 cmp r3, #0 80a7ac8: d05c beq.n 80a7b84 BSP_LCD_DrawLine(x-1, 44, x-1, 218); 80a7aca: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a7ace: b29b uxth r3, r3 80a7ad0: 3b01 subs r3, #1 80a7ad2: b298 uxth r0, r3 80a7ad4: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a7ad8: b29b uxth r3, r3 80a7ada: 3b01 subs r3, #1 80a7adc: b29a uxth r2, r3 80a7ade: 23da movs r3, #218 ; 0xda 80a7ae0: 212c movs r1, #44 ; 0x2c 80a7ae2: f7ac f89d bl 8053c20 80a7ae6: e04d b.n 80a7b84 if(i * avgSPC[ViewLevel][pardata.LNE] + X0 > 0) 80a7ae8: 4ba4 ldr r3, [pc, #656] ; (80a7d7c ) 80a7aea: 781b ldrb r3, [r3, #0] 80a7aec: b2db uxtb r3, r3 80a7aee: 4618 mov r0, r3 80a7af0: 4ba3 ldr r3, [pc, #652] ; (80a7d80 ) 80a7af2: 79db ldrb r3, [r3, #7] 80a7af4: b2db uxtb r3, r3 80a7af6: 4619 mov r1, r3 80a7af8: 4aa2 ldr r2, [pc, #648] ; (80a7d84 ) 80a7afa: 0083 lsls r3, r0, #2 80a7afc: 4413 add r3, r2 80a7afe: 440b add r3, r1 80a7b00: 781b ldrb r3, [r3, #0] 80a7b02: 461a mov r2, r3 80a7b04: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a7b08: fb03 f302 mul.w r3, r3, r2 80a7b0c: 4a9e ldr r2, [pc, #632] ; (80a7d88 ) 80a7b0e: 8812 ldrh r2, [r2, #0] 80a7b10: b292 uxth r2, r2 80a7b12: 4413 add r3, r2 80a7b14: 2b00 cmp r3, #0 80a7b16: d00d beq.n 80a7b34 BSP_LCD_DrawLine(x-1, 44, x-1, 218); 80a7b18: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a7b1c: b29b uxth r3, r3 80a7b1e: 3b01 subs r3, #1 80a7b20: b298 uxth r0, r3 80a7b22: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a7b26: b29b uxth r3, r3 80a7b28: 3b01 subs r3, #1 80a7b2a: b29a uxth r2, r3 80a7b2c: 23da movs r3, #218 ; 0xda 80a7b2e: 212c movs r1, #44 ; 0x2c 80a7b30: f7ac f876 bl 8053c20 if(i * avgSPC[ViewLevel][pardata.LNE] + X0 < 4095) 80a7b34: 4b91 ldr r3, [pc, #580] ; (80a7d7c ) 80a7b36: 781b ldrb r3, [r3, #0] 80a7b38: b2db uxtb r3, r3 80a7b3a: 4618 mov r0, r3 80a7b3c: 4b90 ldr r3, [pc, #576] ; (80a7d80 ) 80a7b3e: 79db ldrb r3, [r3, #7] 80a7b40: b2db uxtb r3, r3 80a7b42: 4619 mov r1, r3 80a7b44: 4a8f ldr r2, [pc, #572] ; (80a7d84 ) 80a7b46: 0083 lsls r3, r0, #2 80a7b48: 4413 add r3, r2 80a7b4a: 440b add r3, r1 80a7b4c: 781b ldrb r3, [r3, #0] 80a7b4e: 461a mov r2, r3 80a7b50: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a7b54: fb03 f302 mul.w r3, r3, r2 80a7b58: 4a8b ldr r2, [pc, #556] ; (80a7d88 ) 80a7b5a: 8812 ldrh r2, [r2, #0] 80a7b5c: b292 uxth r2, r2 80a7b5e: 4413 add r3, r2 80a7b60: f640 72fe movw r2, #4094 ; 0xffe 80a7b64: 4293 cmp r3, r2 80a7b66: d80d bhi.n 80a7b84 BSP_LCD_DrawLine(x+1, 44, x+1, 218); 80a7b68: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a7b6c: b29b uxth r3, r3 80a7b6e: 3301 adds r3, #1 80a7b70: b298 uxth r0, r3 80a7b72: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a7b76: b29b uxth r3, r3 80a7b78: 3301 adds r3, #1 80a7b7a: b29a uxth r2, r3 80a7b7c: 23da movs r3, #218 ; 0xda 80a7b7e: 212c movs r1, #44 ; 0x2c 80a7b80: f7ac f84e bl 8053c20 for(j = 0; j < 11; j++) 80a7b84: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80a7b88: 3301 adds r3, #1 80a7b8a: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80a7b8e: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80a7b92: 2b0a cmp r3, #10 80a7b94: f67f af4c bls.w 80a7a30 for(i = 0; i < 256; i++) 80a7b98: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a7b9c: 3301 adds r3, #1 80a7b9e: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80a7ba2: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a7ba6: 2bff cmp r3, #255 ; 0xff 80a7ba8: f67f aeb8 bls.w 80a791c break; 80a7bac: f001 b93f b.w 80a8e2e n = 0; 80a7bb0: 2300 movs r3, #0 80a7bb2: f8c7 32a4 str.w r3, [r7, #676] ; 0x2a4 NumOverdrives = 0; 80a7bb6: 4b75 ldr r3, [pc, #468] ; (80a7d8c ) 80a7bb8: 2200 movs r2, #0 80a7bba: 701a strb r2, [r3, #0] for(i = 0; i < 256; i++) 80a7bbc: 2300 movs r3, #0 80a7bbe: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80a7bc2: e146 b.n 80a7e52 arm_max_f32(&ScrA_f32(i * avgSPC[ViewLevel][pardata.LNE] + X0), avgSPC[ViewLevel][pardata.LNE], &mF[MAXY], &idx); 80a7bc4: 4b6d ldr r3, [pc, #436] ; (80a7d7c ) 80a7bc6: 781b ldrb r3, [r3, #0] 80a7bc8: b2db uxtb r3, r3 80a7bca: 4618 mov r0, r3 80a7bcc: 4b6c ldr r3, [pc, #432] ; (80a7d80 ) 80a7bce: 79db ldrb r3, [r3, #7] 80a7bd0: b2db uxtb r3, r3 80a7bd2: 4619 mov r1, r3 80a7bd4: 4a6b ldr r2, [pc, #428] ; (80a7d84 ) 80a7bd6: 0083 lsls r3, r0, #2 80a7bd8: 4413 add r3, r2 80a7bda: 440b add r3, r1 80a7bdc: 781b ldrb r3, [r3, #0] 80a7bde: 461a mov r2, r3 80a7be0: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a7be4: fb03 f302 mul.w r3, r3, r2 80a7be8: 4a67 ldr r2, [pc, #412] ; (80a7d88 ) 80a7bea: 8812 ldrh r2, [r2, #0] 80a7bec: b292 uxth r2, r2 80a7bee: 4413 add r3, r2 80a7bf0: 009a lsls r2, r3, #2 80a7bf2: 4b67 ldr r3, [pc, #412] ; (80a7d90 ) 80a7bf4: 4413 add r3, r2 80a7bf6: 461c mov r4, r3 80a7bf8: 4b60 ldr r3, [pc, #384] ; (80a7d7c ) 80a7bfa: 781b ldrb r3, [r3, #0] 80a7bfc: b2db uxtb r3, r3 80a7bfe: 4618 mov r0, r3 80a7c00: 4b5f ldr r3, [pc, #380] ; (80a7d80 ) 80a7c02: 79db ldrb r3, [r3, #7] 80a7c04: b2db uxtb r3, r3 80a7c06: 4619 mov r1, r3 80a7c08: 4a5e ldr r2, [pc, #376] ; (80a7d84 ) 80a7c0a: 0083 lsls r3, r0, #2 80a7c0c: 4413 add r3, r2 80a7c0e: 440b add r3, r1 80a7c10: 781b ldrb r3, [r3, #0] 80a7c12: 4618 mov r0, r3 80a7c14: f507 711a add.w r1, r7, #616 ; 0x268 80a7c18: f507 731e add.w r3, r7, #632 ; 0x278 80a7c1c: 1d1a adds r2, r3, #4 80a7c1e: 460b mov r3, r1 80a7c20: 4601 mov r1, r0 80a7c22: 4620 mov r0, r4 80a7c24: f022 fa4a bl 80ca0bc iL = (uint32_t) (i * avgSPC[ViewLevel][pardata.LNE] + X0); 80a7c28: 4b54 ldr r3, [pc, #336] ; (80a7d7c ) 80a7c2a: 781b ldrb r3, [r3, #0] 80a7c2c: b2db uxtb r3, r3 80a7c2e: 4618 mov r0, r3 80a7c30: 4b53 ldr r3, [pc, #332] ; (80a7d80 ) 80a7c32: 79db ldrb r3, [r3, #7] 80a7c34: b2db uxtb r3, r3 80a7c36: 4619 mov r1, r3 80a7c38: 4a52 ldr r2, [pc, #328] ; (80a7d84 ) 80a7c3a: 0083 lsls r3, r0, #2 80a7c3c: 4413 add r3, r2 80a7c3e: 440b add r3, r1 80a7c40: 781b ldrb r3, [r3, #0] 80a7c42: 461a mov r2, r3 80a7c44: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a7c48: fb03 f302 mul.w r3, r3, r2 80a7c4c: 4a4e ldr r2, [pc, #312] ; (80a7d88 ) 80a7c4e: 8812 ldrh r2, [r2, #0] 80a7c50: b292 uxth r2, r2 80a7c52: 4413 add r3, r2 80a7c54: f8c7 3290 str.w r3, [r7, #656] ; 0x290 iR = (uint32_t) (i * avgSPC[ViewLevel][pardata.LNE] + X0 + avgSPC[ViewLevel][pardata.LNE] - 1); 80a7c58: 4b48 ldr r3, [pc, #288] ; (80a7d7c ) 80a7c5a: 781b ldrb r3, [r3, #0] 80a7c5c: b2db uxtb r3, r3 80a7c5e: 4618 mov r0, r3 80a7c60: 4b47 ldr r3, [pc, #284] ; (80a7d80 ) 80a7c62: 79db ldrb r3, [r3, #7] 80a7c64: b2db uxtb r3, r3 80a7c66: 4619 mov r1, r3 80a7c68: 4a46 ldr r2, [pc, #280] ; (80a7d84 ) 80a7c6a: 0083 lsls r3, r0, #2 80a7c6c: 4413 add r3, r2 80a7c6e: 440b add r3, r1 80a7c70: 781b ldrb r3, [r3, #0] 80a7c72: 461a mov r2, r3 80a7c74: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a7c78: fb03 f302 mul.w r3, r3, r2 80a7c7c: 4a42 ldr r2, [pc, #264] ; (80a7d88 ) 80a7c7e: 8812 ldrh r2, [r2, #0] 80a7c80: b292 uxth r2, r2 80a7c82: 4413 add r3, r2 80a7c84: 4a3d ldr r2, [pc, #244] ; (80a7d7c ) 80a7c86: 7812 ldrb r2, [r2, #0] 80a7c88: b2d2 uxtb r2, r2 80a7c8a: 4614 mov r4, r2 80a7c8c: 4a3c ldr r2, [pc, #240] ; (80a7d80 ) 80a7c8e: 79d2 ldrb r2, [r2, #7] 80a7c90: b2d2 uxtb r2, r2 80a7c92: 4610 mov r0, r2 80a7c94: 493b ldr r1, [pc, #236] ; (80a7d84 ) 80a7c96: 00a2 lsls r2, r4, #2 80a7c98: 440a add r2, r1 80a7c9a: 4402 add r2, r0 80a7c9c: 7812 ldrb r2, [r2, #0] 80a7c9e: 4413 add r3, r2 80a7ca0: 3b01 subs r3, #1 80a7ca2: f8c7 328c str.w r3, [r7, #652] ; 0x28c x = 62 + i; 80a7ca6: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a7caa: 333e adds r3, #62 ; 0x3e 80a7cac: f8c7 3294 str.w r3, [r7, #660] ; 0x294 for(j = 0; j < 4; j++) 80a7cb0: 2300 movs r3, #0 80a7cb2: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80a7cb6: e0c2 b.n 80a7e3e if((_Fn[j] >= iL) && (_Fn[j] <= iR)) 80a7cb8: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80a7cbc: 009b lsls r3, r3, #2 80a7cbe: f507 722e add.w r2, r7, #696 ; 0x2b8 80a7cc2: 4413 add r3, r2 80a7cc4: f853 3cc8 ldr.w r3, [r3, #-200] 80a7cc8: 461a mov r2, r3 80a7cca: f8d7 3290 ldr.w r3, [r7, #656] ; 0x290 80a7cce: 429a cmp r2, r3 80a7cd0: f0c0 80b0 bcc.w 80a7e34 80a7cd4: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80a7cd8: 009b lsls r3, r3, #2 80a7cda: f507 722e add.w r2, r7, #696 ; 0x2b8 80a7cde: 4413 add r3, r2 80a7ce0: f853 3cc8 ldr.w r3, [r3, #-200] 80a7ce4: 461a mov r2, r3 80a7ce6: f8d7 328c ldr.w r3, [r7, #652] ; 0x28c 80a7cea: 429a cmp r2, r3 80a7cec: f200 80a2 bhi.w 80a7e34 LCD_SetColors(LCD_COLOR_FN, LCD_COLOR_BLACK); 80a7cf0: 4920 ldr r1, [pc, #128] ; (80a7d74 ) 80a7cf2: 4828 ldr r0, [pc, #160] ; (80a7d94 ) 80a7cf4: f7ab fd5a bl 80537ac BSP_LCD_DrawLine(x, 44, x, 218); 80a7cf8: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a7cfc: b298 uxth r0, r3 80a7cfe: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a7d02: b29a uxth r2, r3 80a7d04: 23da movs r3, #218 ; 0xda 80a7d06: 212c movs r1, #44 ; 0x2c 80a7d08: f7ab ff8a bl 8053c20 if(j & 1) 80a7d0c: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80a7d10: f003 0301 and.w r3, r3, #1 80a7d14: 2b00 cmp r3, #0 80a7d16: f000 808d beq.w 80a7e34 if(ViewLevel < 2) 80a7d1a: 4b18 ldr r3, [pc, #96] ; (80a7d7c ) 80a7d1c: 781b ldrb r3, [r3, #0] 80a7d1e: b2db uxtb r3, r3 80a7d20: 2b01 cmp r3, #1 80a7d22: d839 bhi.n 80a7d98 if(i * avgSPC[ViewLevel][pardata.LNE] + X0 > 0) 80a7d24: 4b15 ldr r3, [pc, #84] ; (80a7d7c ) 80a7d26: 781b ldrb r3, [r3, #0] 80a7d28: b2db uxtb r3, r3 80a7d2a: 4618 mov r0, r3 80a7d2c: 4b14 ldr r3, [pc, #80] ; (80a7d80 ) 80a7d2e: 79db ldrb r3, [r3, #7] 80a7d30: b2db uxtb r3, r3 80a7d32: 4619 mov r1, r3 80a7d34: 4a13 ldr r2, [pc, #76] ; (80a7d84 ) 80a7d36: 0083 lsls r3, r0, #2 80a7d38: 4413 add r3, r2 80a7d3a: 440b add r3, r1 80a7d3c: 781b ldrb r3, [r3, #0] 80a7d3e: 461a mov r2, r3 80a7d40: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a7d44: fb03 f302 mul.w r3, r3, r2 80a7d48: 4a0f ldr r2, [pc, #60] ; (80a7d88 ) 80a7d4a: 8812 ldrh r2, [r2, #0] 80a7d4c: b292 uxth r2, r2 80a7d4e: 4413 add r3, r2 80a7d50: 2b00 cmp r3, #0 80a7d52: d06f beq.n 80a7e34 BSP_LCD_DrawLine(x-1, 44, x-1, 218); 80a7d54: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a7d58: b29b uxth r3, r3 80a7d5a: 3b01 subs r3, #1 80a7d5c: b298 uxth r0, r3 80a7d5e: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a7d62: b29b uxth r3, r3 80a7d64: 3b01 subs r3, #1 80a7d66: b29a uxth r2, r3 80a7d68: 23da movs r3, #218 ; 0xda 80a7d6a: 212c movs r1, #44 ; 0x2c 80a7d6c: f7ab ff58 bl 8053c20 80a7d70: e060 b.n 80a7e34 80a7d72: bf00 nop 80a7d74: ff0a0f1f .word 0xff0a0f1f 80a7d78: ff66a6d3 .word 0xff66a6d3 80a7d7c: 20020f74 .word 0x20020f74 80a7d80: 20023e60 .word 0x20023e60 80a7d84: 080ef614 .word 0x080ef614 80a7d88: 20025d1e .word 0x20025d1e 80a7d8c: 2002164e .word 0x2002164e 80a7d90: 64080000 .word 0x64080000 80a7d94: ff800080 .word 0xff800080 if(i * avgSPC[ViewLevel][pardata.LNE] + X0 > 0) 80a7d98: 4bbb ldr r3, [pc, #748] ; (80a8088 ) 80a7d9a: 781b ldrb r3, [r3, #0] 80a7d9c: b2db uxtb r3, r3 80a7d9e: 4618 mov r0, r3 80a7da0: 4bba ldr r3, [pc, #744] ; (80a808c ) 80a7da2: 79db ldrb r3, [r3, #7] 80a7da4: b2db uxtb r3, r3 80a7da6: 4619 mov r1, r3 80a7da8: 4ab9 ldr r2, [pc, #740] ; (80a8090 ) 80a7daa: 0083 lsls r3, r0, #2 80a7dac: 4413 add r3, r2 80a7dae: 440b add r3, r1 80a7db0: 781b ldrb r3, [r3, #0] 80a7db2: 461a mov r2, r3 80a7db4: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a7db8: fb03 f302 mul.w r3, r3, r2 80a7dbc: 4ab5 ldr r2, [pc, #724] ; (80a8094 ) 80a7dbe: 8812 ldrh r2, [r2, #0] 80a7dc0: b292 uxth r2, r2 80a7dc2: 4413 add r3, r2 80a7dc4: 2b00 cmp r3, #0 80a7dc6: d00d beq.n 80a7de4 BSP_LCD_DrawLine(x-1, 44, x-1, 218); 80a7dc8: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a7dcc: b29b uxth r3, r3 80a7dce: 3b01 subs r3, #1 80a7dd0: b298 uxth r0, r3 80a7dd2: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a7dd6: b29b uxth r3, r3 80a7dd8: 3b01 subs r3, #1 80a7dda: b29a uxth r2, r3 80a7ddc: 23da movs r3, #218 ; 0xda 80a7dde: 212c movs r1, #44 ; 0x2c 80a7de0: f7ab ff1e bl 8053c20 if(i * avgSPC[ViewLevel][pardata.LNE] + X0 < 4095) 80a7de4: 4ba8 ldr r3, [pc, #672] ; (80a8088 ) 80a7de6: 781b ldrb r3, [r3, #0] 80a7de8: b2db uxtb r3, r3 80a7dea: 4618 mov r0, r3 80a7dec: 4ba7 ldr r3, [pc, #668] ; (80a808c ) 80a7dee: 79db ldrb r3, [r3, #7] 80a7df0: b2db uxtb r3, r3 80a7df2: 4619 mov r1, r3 80a7df4: 4aa6 ldr r2, [pc, #664] ; (80a8090 ) 80a7df6: 0083 lsls r3, r0, #2 80a7df8: 4413 add r3, r2 80a7dfa: 440b add r3, r1 80a7dfc: 781b ldrb r3, [r3, #0] 80a7dfe: 461a mov r2, r3 80a7e00: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a7e04: fb03 f302 mul.w r3, r3, r2 80a7e08: 4aa2 ldr r2, [pc, #648] ; (80a8094 ) 80a7e0a: 8812 ldrh r2, [r2, #0] 80a7e0c: b292 uxth r2, r2 80a7e0e: 4413 add r3, r2 80a7e10: f640 72fe movw r2, #4094 ; 0xffe 80a7e14: 4293 cmp r3, r2 80a7e16: d80d bhi.n 80a7e34 BSP_LCD_DrawLine(x+1, 44, x+1, 218); 80a7e18: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a7e1c: b29b uxth r3, r3 80a7e1e: 3301 adds r3, #1 80a7e20: b298 uxth r0, r3 80a7e22: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a7e26: b29b uxth r3, r3 80a7e28: 3301 adds r3, #1 80a7e2a: b29a uxth r2, r3 80a7e2c: 23da movs r3, #218 ; 0xda 80a7e2e: 212c movs r1, #44 ; 0x2c 80a7e30: f7ab fef6 bl 8053c20 for(j = 0; j < 4; j++) 80a7e34: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80a7e38: 3301 adds r3, #1 80a7e3a: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80a7e3e: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80a7e42: 2b03 cmp r3, #3 80a7e44: f67f af38 bls.w 80a7cb8 for(i = 0; i < 256; i++) 80a7e48: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a7e4c: 3301 adds r3, #1 80a7e4e: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80a7e52: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a7e56: 2bff cmp r3, #255 ; 0xff 80a7e58: f67f aeb4 bls.w 80a7bc4 break; 80a7e5c: f000 bfe7 b.w 80a8e2e n = 0; 80a7e60: 2300 movs r3, #0 80a7e62: f8c7 32a4 str.w r3, [r7, #676] ; 0x2a4 NumOverdrives = 0; 80a7e66: 4b8c ldr r3, [pc, #560] ; (80a8098 ) 80a7e68: 2200 movs r2, #0 80a7e6a: 701a strb r2, [r3, #0] for(i = 0; i < 256; i++) 80a7e6c: 2300 movs r3, #0 80a7e6e: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80a7e72: e0b9 b.n 80a7fe8 arm_max_f32(&ScrA_f32(i * avgSPC[ViewLevel][pardata.LNE] + X0), avgSPC[ViewLevel][pardata.LNE], &mF[MAXY], &idx); 80a7e74: 4b84 ldr r3, [pc, #528] ; (80a8088 ) 80a7e76: 781b ldrb r3, [r3, #0] 80a7e78: b2db uxtb r3, r3 80a7e7a: 4618 mov r0, r3 80a7e7c: 4b83 ldr r3, [pc, #524] ; (80a808c ) 80a7e7e: 79db ldrb r3, [r3, #7] 80a7e80: b2db uxtb r3, r3 80a7e82: 4619 mov r1, r3 80a7e84: 4a82 ldr r2, [pc, #520] ; (80a8090 ) 80a7e86: 0083 lsls r3, r0, #2 80a7e88: 4413 add r3, r2 80a7e8a: 440b add r3, r1 80a7e8c: 781b ldrb r3, [r3, #0] 80a7e8e: 461a mov r2, r3 80a7e90: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a7e94: fb03 f302 mul.w r3, r3, r2 80a7e98: 4a7e ldr r2, [pc, #504] ; (80a8094 ) 80a7e9a: 8812 ldrh r2, [r2, #0] 80a7e9c: b292 uxth r2, r2 80a7e9e: 4413 add r3, r2 80a7ea0: 009a lsls r2, r3, #2 80a7ea2: 4b7e ldr r3, [pc, #504] ; (80a809c ) 80a7ea4: 4413 add r3, r2 80a7ea6: 461c mov r4, r3 80a7ea8: 4b77 ldr r3, [pc, #476] ; (80a8088 ) 80a7eaa: 781b ldrb r3, [r3, #0] 80a7eac: b2db uxtb r3, r3 80a7eae: 4618 mov r0, r3 80a7eb0: 4b76 ldr r3, [pc, #472] ; (80a808c ) 80a7eb2: 79db ldrb r3, [r3, #7] 80a7eb4: b2db uxtb r3, r3 80a7eb6: 4619 mov r1, r3 80a7eb8: 4a75 ldr r2, [pc, #468] ; (80a8090 ) 80a7eba: 0083 lsls r3, r0, #2 80a7ebc: 4413 add r3, r2 80a7ebe: 440b add r3, r1 80a7ec0: 781b ldrb r3, [r3, #0] 80a7ec2: 4618 mov r0, r3 80a7ec4: f507 711a add.w r1, r7, #616 ; 0x268 80a7ec8: f507 731e add.w r3, r7, #632 ; 0x278 80a7ecc: 1d1a adds r2, r3, #4 80a7ece: 460b mov r3, r1 80a7ed0: 4601 mov r1, r0 80a7ed2: 4620 mov r0, r4 80a7ed4: f022 f8f2 bl 80ca0bc iL = (uint32_t) (i * avgSPC[ViewLevel][pardata.LNE] + X0); 80a7ed8: 4b6b ldr r3, [pc, #428] ; (80a8088 ) 80a7eda: 781b ldrb r3, [r3, #0] 80a7edc: b2db uxtb r3, r3 80a7ede: 4618 mov r0, r3 80a7ee0: 4b6a ldr r3, [pc, #424] ; (80a808c ) 80a7ee2: 79db ldrb r3, [r3, #7] 80a7ee4: b2db uxtb r3, r3 80a7ee6: 4619 mov r1, r3 80a7ee8: 4a69 ldr r2, [pc, #420] ; (80a8090 ) 80a7eea: 0083 lsls r3, r0, #2 80a7eec: 4413 add r3, r2 80a7eee: 440b add r3, r1 80a7ef0: 781b ldrb r3, [r3, #0] 80a7ef2: 461a mov r2, r3 80a7ef4: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a7ef8: fb03 f302 mul.w r3, r3, r2 80a7efc: 4a65 ldr r2, [pc, #404] ; (80a8094 ) 80a7efe: 8812 ldrh r2, [r2, #0] 80a7f00: b292 uxth r2, r2 80a7f02: 4413 add r3, r2 80a7f04: f8c7 3290 str.w r3, [r7, #656] ; 0x290 iR = (uint32_t) (i * avgSPC[ViewLevel][pardata.LNE] + X0 + avgSPC[ViewLevel][pardata.LNE] - 1); 80a7f08: 4b5f ldr r3, [pc, #380] ; (80a8088 ) 80a7f0a: 781b ldrb r3, [r3, #0] 80a7f0c: b2db uxtb r3, r3 80a7f0e: 4618 mov r0, r3 80a7f10: 4b5e ldr r3, [pc, #376] ; (80a808c ) 80a7f12: 79db ldrb r3, [r3, #7] 80a7f14: b2db uxtb r3, r3 80a7f16: 4619 mov r1, r3 80a7f18: 4a5d ldr r2, [pc, #372] ; (80a8090 ) 80a7f1a: 0083 lsls r3, r0, #2 80a7f1c: 4413 add r3, r2 80a7f1e: 440b add r3, r1 80a7f20: 781b ldrb r3, [r3, #0] 80a7f22: 461a mov r2, r3 80a7f24: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a7f28: fb03 f302 mul.w r3, r3, r2 80a7f2c: 4a59 ldr r2, [pc, #356] ; (80a8094 ) 80a7f2e: 8812 ldrh r2, [r2, #0] 80a7f30: b292 uxth r2, r2 80a7f32: 4413 add r3, r2 80a7f34: 4a54 ldr r2, [pc, #336] ; (80a8088 ) 80a7f36: 7812 ldrb r2, [r2, #0] 80a7f38: b2d2 uxtb r2, r2 80a7f3a: 4614 mov r4, r2 80a7f3c: 4a53 ldr r2, [pc, #332] ; (80a808c ) 80a7f3e: 79d2 ldrb r2, [r2, #7] 80a7f40: b2d2 uxtb r2, r2 80a7f42: 4610 mov r0, r2 80a7f44: 4952 ldr r1, [pc, #328] ; (80a8090 ) 80a7f46: 00a2 lsls r2, r4, #2 80a7f48: 440a add r2, r1 80a7f4a: 4402 add r2, r0 80a7f4c: 7812 ldrb r2, [r2, #0] 80a7f4e: 4413 add r3, r2 80a7f50: 3b01 subs r3, #1 80a7f52: f8c7 328c str.w r3, [r7, #652] ; 0x28c x = 62 + i; 80a7f56: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a7f5a: 333e adds r3, #62 ; 0x3e 80a7f5c: f8c7 3294 str.w r3, [r7, #660] ; 0x294 for(j = 0; j < 3; j++) 80a7f60: 2300 movs r3, #0 80a7f62: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80a7f66: e036 b.n 80a7fd6 if((_Fn[j] >= iL) && (_Fn[j] <= iR)) 80a7f68: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80a7f6c: 009b lsls r3, r3, #2 80a7f6e: f507 722e add.w r2, r7, #696 ; 0x2b8 80a7f72: 4413 add r3, r2 80a7f74: f853 3cc8 ldr.w r3, [r3, #-200] 80a7f78: 461a mov r2, r3 80a7f7a: f8d7 3290 ldr.w r3, [r7, #656] ; 0x290 80a7f7e: 429a cmp r2, r3 80a7f80: d324 bcc.n 80a7fcc 80a7f82: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80a7f86: 009b lsls r3, r3, #2 80a7f88: f507 722e add.w r2, r7, #696 ; 0x2b8 80a7f8c: 4413 add r3, r2 80a7f8e: f853 3cc8 ldr.w r3, [r3, #-200] 80a7f92: 461a mov r2, r3 80a7f94: f8d7 328c ldr.w r3, [r7, #652] ; 0x28c 80a7f98: 429a cmp r2, r3 80a7f9a: d817 bhi.n 80a7fcc LCD_SetColors(LCD_COLOR_FN, LCD_COLOR_BLACK); 80a7f9c: 4940 ldr r1, [pc, #256] ; (80a80a0 ) 80a7f9e: 4841 ldr r0, [pc, #260] ; (80a80a4 ) 80a7fa0: f7ab fc04 bl 80537ac BSP_LCD_DrawLine(x, 44, x, 218); 80a7fa4: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a7fa8: b298 uxth r0, r3 80a7faa: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a7fae: b29a uxth r2, r3 80a7fb0: 23da movs r3, #218 ; 0xda 80a7fb2: 212c movs r1, #44 ; 0x2c 80a7fb4: f7ab fe34 bl 8053c20 nnn[j] = i; 80a7fb8: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a7fbc: b2d9 uxtb r1, r3 80a7fbe: f107 020c add.w r2, r7, #12 80a7fc2: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80a7fc6: 4413 add r3, r2 80a7fc8: 460a mov r2, r1 80a7fca: 701a strb r2, [r3, #0] for(j = 0; j < 3; j++) 80a7fcc: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80a7fd0: 3301 adds r3, #1 80a7fd2: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80a7fd6: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80a7fda: 2b02 cmp r3, #2 80a7fdc: d9c4 bls.n 80a7f68 for(i = 0; i < 256; i++) 80a7fde: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a7fe2: 3301 adds r3, #1 80a7fe4: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80a7fe8: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a7fec: 2bff cmp r3, #255 ; 0xff 80a7fee: f67f af41 bls.w 80a7e74 if((!nnn[2]) && (!nnn[1]) && (!nnn[0])) 80a7ff2: f107 030c add.w r3, r7, #12 80a7ff6: 789b ldrb r3, [r3, #2] 80a7ff8: 2b00 cmp r3, #0 80a7ffa: d10a bne.n 80a8012 80a7ffc: f107 030c add.w r3, r7, #12 80a8000: 785b ldrb r3, [r3, #1] 80a8002: 2b00 cmp r3, #0 80a8004: d105 bne.n 80a8012 80a8006: f107 030c add.w r3, r7, #12 80a800a: 781b ldrb r3, [r3, #0] 80a800c: 2b00 cmp r3, #0 80a800e: f000 80e0 beq.w 80a81d2 if((!nnn[2]) && (!nnn[1]) && (nnn[0])) 80a8012: f107 030c add.w r3, r7, #12 80a8016: 789b ldrb r3, [r3, #2] 80a8018: 2b00 cmp r3, #0 80a801a: d11a bne.n 80a8052 80a801c: f107 030c add.w r3, r7, #12 80a8020: 785b ldrb r3, [r3, #1] 80a8022: 2b00 cmp r3, #0 80a8024: d115 bne.n 80a8052 80a8026: f107 030c add.w r3, r7, #12 80a802a: 781b ldrb r3, [r3, #0] 80a802c: 2b00 cmp r3, #0 80a802e: d010 beq.n 80a8052 LCD_SetColors(LCD_COLOR_FN, LCD_COLOR_BLACK); 80a8030: 491b ldr r1, [pc, #108] ; (80a80a0 ) 80a8032: 481c ldr r0, [pc, #112] ; (80a80a4 ) 80a8034: f7ab fbba bl 80537ac BSP_LCD_DrawLine(62 + 255, 98, 62 + nnn[0], 64); 80a8038: f107 030c add.w r3, r7, #12 80a803c: 781b ldrb r3, [r3, #0] 80a803e: b29b uxth r3, r3 80a8040: 333e adds r3, #62 ; 0x3e 80a8042: b29a uxth r2, r3 80a8044: 2340 movs r3, #64 ; 0x40 80a8046: 2162 movs r1, #98 ; 0x62 80a8048: f240 103d movw r0, #317 ; 0x13d 80a804c: f7ab fde8 bl 8053c20 80a8050: e0bf b.n 80a81d2 if((!nnn[2]) && (nnn[1]) && (!nnn[0])) 80a8052: f107 030c add.w r3, r7, #12 80a8056: 789b ldrb r3, [r3, #2] 80a8058: 2b00 cmp r3, #0 80a805a: d125 bne.n 80a80a8 80a805c: f107 030c add.w r3, r7, #12 80a8060: 785b ldrb r3, [r3, #1] 80a8062: 2b00 cmp r3, #0 80a8064: d020 beq.n 80a80a8 80a8066: f107 030c add.w r3, r7, #12 80a806a: 781b ldrb r3, [r3, #0] 80a806c: 2b00 cmp r3, #0 80a806e: d11b bne.n 80a80a8 LCD_SetColors(LCD_COLOR_FN, LCD_COLOR_BLACK); 80a8070: 490b ldr r1, [pc, #44] ; (80a80a0 ) 80a8072: 480c ldr r0, [pc, #48] ; (80a80a4 ) 80a8074: f7ab fb9a bl 80537ac BSP_LCD_DrawLine(62 + 255, 98, 62, 64); 80a8078: 2340 movs r3, #64 ; 0x40 80a807a: 223e movs r2, #62 ; 0x3e 80a807c: 2162 movs r1, #98 ; 0x62 80a807e: f240 103d movw r0, #317 ; 0x13d 80a8082: f7ab fdcd bl 8053c20 80a8086: e0a4 b.n 80a81d2 80a8088: 20020f74 .word 0x20020f74 80a808c: 20023e60 .word 0x20023e60 80a8090: 080ef614 .word 0x080ef614 80a8094: 20025d1e .word 0x20025d1e 80a8098: 2002164e .word 0x2002164e 80a809c: 64080000 .word 0x64080000 80a80a0: ff0a0f1f .word 0xff0a0f1f 80a80a4: ff800080 .word 0xff800080 if((!nnn[2]) && (nnn[1]) && (nnn[0])) 80a80a8: f107 030c add.w r3, r7, #12 80a80ac: 789b ldrb r3, [r3, #2] 80a80ae: 2b00 cmp r3, #0 80a80b0: d11a bne.n 80a80e8 80a80b2: f107 030c add.w r3, r7, #12 80a80b6: 785b ldrb r3, [r3, #1] 80a80b8: 2b00 cmp r3, #0 80a80ba: d015 beq.n 80a80e8 80a80bc: f107 030c add.w r3, r7, #12 80a80c0: 781b ldrb r3, [r3, #0] 80a80c2: 2b00 cmp r3, #0 80a80c4: d010 beq.n 80a80e8 LCD_SetColors(LCD_COLOR_FN, LCD_COLOR_BLACK); 80a80c6: 49a6 ldr r1, [pc, #664] ; (80a8360 ) 80a80c8: 48a6 ldr r0, [pc, #664] ; (80a8364 ) 80a80ca: f7ab fb6f bl 80537ac BSP_LCD_DrawLine(62 + 255, 98, 62 + nnn[0], 64); 80a80ce: f107 030c add.w r3, r7, #12 80a80d2: 781b ldrb r3, [r3, #0] 80a80d4: b29b uxth r3, r3 80a80d6: 333e adds r3, #62 ; 0x3e 80a80d8: b29a uxth r2, r3 80a80da: 2340 movs r3, #64 ; 0x40 80a80dc: 2162 movs r1, #98 ; 0x62 80a80de: f240 103d movw r0, #317 ; 0x13d 80a80e2: f7ab fd9d bl 8053c20 80a80e6: e074 b.n 80a81d2 if((nnn[2]) && (!nnn[1]) && (!nnn[0])) 80a80e8: f107 030c add.w r3, r7, #12 80a80ec: 789b ldrb r3, [r3, #2] 80a80ee: 2b00 cmp r3, #0 80a80f0: d019 beq.n 80a8126 80a80f2: f107 030c add.w r3, r7, #12 80a80f6: 785b ldrb r3, [r3, #1] 80a80f8: 2b00 cmp r3, #0 80a80fa: d114 bne.n 80a8126 80a80fc: f107 030c add.w r3, r7, #12 80a8100: 781b ldrb r3, [r3, #0] 80a8102: 2b00 cmp r3, #0 80a8104: d10f bne.n 80a8126 LCD_SetColors(LCD_COLOR_FN, LCD_COLOR_BLACK); 80a8106: 4996 ldr r1, [pc, #600] ; (80a8360 ) 80a8108: 4896 ldr r0, [pc, #600] ; (80a8364 ) 80a810a: f7ab fb4f bl 80537ac BSP_LCD_DrawLine(62 + nnn[2], 98, 62, 64); 80a810e: f107 030c add.w r3, r7, #12 80a8112: 789b ldrb r3, [r3, #2] 80a8114: b29b uxth r3, r3 80a8116: 333e adds r3, #62 ; 0x3e 80a8118: b298 uxth r0, r3 80a811a: 2340 movs r3, #64 ; 0x40 80a811c: 223e movs r2, #62 ; 0x3e 80a811e: 2162 movs r1, #98 ; 0x62 80a8120: f7ab fd7e bl 8053c20 80a8124: e055 b.n 80a81d2 if((nnn[2]) && (!nnn[1]) && (nnn[0])) 80a8126: f107 030c add.w r3, r7, #12 80a812a: 789b ldrb r3, [r3, #2] 80a812c: 2b00 cmp r3, #0 80a812e: d009 beq.n 80a8144 80a8130: f107 030c add.w r3, r7, #12 80a8134: 785b ldrb r3, [r3, #1] 80a8136: 2b00 cmp r3, #0 80a8138: d104 bne.n 80a8144 80a813a: f107 030c add.w r3, r7, #12 80a813e: 781b ldrb r3, [r3, #0] 80a8140: 2b00 cmp r3, #0 80a8142: d146 bne.n 80a81d2 if((nnn[2]) && (nnn[1]) && (!nnn[0])) 80a8144: f107 030c add.w r3, r7, #12 80a8148: 789b ldrb r3, [r3, #2] 80a814a: 2b00 cmp r3, #0 80a814c: d019 beq.n 80a8182 80a814e: f107 030c add.w r3, r7, #12 80a8152: 785b ldrb r3, [r3, #1] 80a8154: 2b00 cmp r3, #0 80a8156: d014 beq.n 80a8182 80a8158: f107 030c add.w r3, r7, #12 80a815c: 781b ldrb r3, [r3, #0] 80a815e: 2b00 cmp r3, #0 80a8160: d10f bne.n 80a8182 LCD_SetColors(LCD_COLOR_FN, LCD_COLOR_BLACK); 80a8162: 497f ldr r1, [pc, #508] ; (80a8360 ) 80a8164: 487f ldr r0, [pc, #508] ; (80a8364 ) 80a8166: f7ab fb21 bl 80537ac BSP_LCD_DrawLine(62 + nnn[2], 98, 62, 64); 80a816a: f107 030c add.w r3, r7, #12 80a816e: 789b ldrb r3, [r3, #2] 80a8170: b29b uxth r3, r3 80a8172: 333e adds r3, #62 ; 0x3e 80a8174: b298 uxth r0, r3 80a8176: 2340 movs r3, #64 ; 0x40 80a8178: 223e movs r2, #62 ; 0x3e 80a817a: 2162 movs r1, #98 ; 0x62 80a817c: f7ab fd50 bl 8053c20 80a8180: e027 b.n 80a81d2 if((nnn[2]) && (nnn[1]) && (nnn[0])) 80a8182: f107 030c add.w r3, r7, #12 80a8186: 789b ldrb r3, [r3, #2] 80a8188: 2b00 cmp r3, #0 80a818a: f000 864f beq.w 80a8e2c 80a818e: f107 030c add.w r3, r7, #12 80a8192: 785b ldrb r3, [r3, #1] 80a8194: 2b00 cmp r3, #0 80a8196: f000 8649 beq.w 80a8e2c 80a819a: f107 030c add.w r3, r7, #12 80a819e: 781b ldrb r3, [r3, #0] 80a81a0: 2b00 cmp r3, #0 80a81a2: f000 8643 beq.w 80a8e2c LCD_SetColors(LCD_COLOR_FN, LCD_COLOR_BLACK); 80a81a6: 496e ldr r1, [pc, #440] ; (80a8360 ) 80a81a8: 486e ldr r0, [pc, #440] ; (80a8364 ) 80a81aa: f7ab faff bl 80537ac BSP_LCD_DrawLine(62 + nnn[2], 98, 62 + nnn[0], 64); 80a81ae: f107 030c add.w r3, r7, #12 80a81b2: 789b ldrb r3, [r3, #2] 80a81b4: b29b uxth r3, r3 80a81b6: 333e adds r3, #62 ; 0x3e 80a81b8: b298 uxth r0, r3 80a81ba: f107 030c add.w r3, r7, #12 80a81be: 781b ldrb r3, [r3, #0] 80a81c0: b29b uxth r3, r3 80a81c2: 333e adds r3, #62 ; 0x3e 80a81c4: b29a uxth r2, r3 80a81c6: 2340 movs r3, #64 ; 0x40 80a81c8: 2162 movs r1, #98 ; 0x62 80a81ca: f7ab fd29 bl 8053c20 break; 80a81ce: f000 be2d b.w 80a8e2c 80a81d2: f000 be2b b.w 80a8e2c n = 0; 80a81d6: 2300 movs r3, #0 80a81d8: f8c7 32a4 str.w r3, [r7, #676] ; 0x2a4 NumOverdrives = 0; 80a81dc: 4b62 ldr r3, [pc, #392] ; (80a8368 ) 80a81de: 2200 movs r2, #0 80a81e0: 701a strb r2, [r3, #0] for(i = 0; i < 256; i++) 80a81e2: 2300 movs r3, #0 80a81e4: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80a81e8: e0af b.n 80a834a arm_max_f32(&ScrA_f32(i * avgSPC[ViewLevel][pardata.LNE] + X0), avgSPC[ViewLevel][pardata.LNE], &mF[MAXY], &idx); 80a81ea: 4b60 ldr r3, [pc, #384] ; (80a836c ) 80a81ec: 781b ldrb r3, [r3, #0] 80a81ee: b2db uxtb r3, r3 80a81f0: 4618 mov r0, r3 80a81f2: 4b5f ldr r3, [pc, #380] ; (80a8370 ) 80a81f4: 79db ldrb r3, [r3, #7] 80a81f6: b2db uxtb r3, r3 80a81f8: 4619 mov r1, r3 80a81fa: 4a5e ldr r2, [pc, #376] ; (80a8374 ) 80a81fc: 0083 lsls r3, r0, #2 80a81fe: 4413 add r3, r2 80a8200: 440b add r3, r1 80a8202: 781b ldrb r3, [r3, #0] 80a8204: 461a mov r2, r3 80a8206: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a820a: fb03 f302 mul.w r3, r3, r2 80a820e: 4a5a ldr r2, [pc, #360] ; (80a8378 ) 80a8210: 8812 ldrh r2, [r2, #0] 80a8212: b292 uxth r2, r2 80a8214: 4413 add r3, r2 80a8216: 009a lsls r2, r3, #2 80a8218: 4b58 ldr r3, [pc, #352] ; (80a837c ) 80a821a: 4413 add r3, r2 80a821c: 461c mov r4, r3 80a821e: 4b53 ldr r3, [pc, #332] ; (80a836c ) 80a8220: 781b ldrb r3, [r3, #0] 80a8222: b2db uxtb r3, r3 80a8224: 4618 mov r0, r3 80a8226: 4b52 ldr r3, [pc, #328] ; (80a8370 ) 80a8228: 79db ldrb r3, [r3, #7] 80a822a: b2db uxtb r3, r3 80a822c: 4619 mov r1, r3 80a822e: 4a51 ldr r2, [pc, #324] ; (80a8374 ) 80a8230: 0083 lsls r3, r0, #2 80a8232: 4413 add r3, r2 80a8234: 440b add r3, r1 80a8236: 781b ldrb r3, [r3, #0] 80a8238: 4618 mov r0, r3 80a823a: f507 711a add.w r1, r7, #616 ; 0x268 80a823e: f507 731e add.w r3, r7, #632 ; 0x278 80a8242: 1d1a adds r2, r3, #4 80a8244: 460b mov r3, r1 80a8246: 4601 mov r1, r0 80a8248: 4620 mov r0, r4 80a824a: f021 ff37 bl 80ca0bc iL = (uint32_t) (i * avgSPC[ViewLevel][pardata.LNE] + X0); 80a824e: 4b47 ldr r3, [pc, #284] ; (80a836c ) 80a8250: 781b ldrb r3, [r3, #0] 80a8252: b2db uxtb r3, r3 80a8254: 4618 mov r0, r3 80a8256: 4b46 ldr r3, [pc, #280] ; (80a8370 ) 80a8258: 79db ldrb r3, [r3, #7] 80a825a: b2db uxtb r3, r3 80a825c: 4619 mov r1, r3 80a825e: 4a45 ldr r2, [pc, #276] ; (80a8374 ) 80a8260: 0083 lsls r3, r0, #2 80a8262: 4413 add r3, r2 80a8264: 440b add r3, r1 80a8266: 781b ldrb r3, [r3, #0] 80a8268: 461a mov r2, r3 80a826a: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a826e: fb03 f302 mul.w r3, r3, r2 80a8272: 4a41 ldr r2, [pc, #260] ; (80a8378 ) 80a8274: 8812 ldrh r2, [r2, #0] 80a8276: b292 uxth r2, r2 80a8278: 4413 add r3, r2 80a827a: f8c7 3290 str.w r3, [r7, #656] ; 0x290 iR = (uint32_t) (i * avgSPC[ViewLevel][pardata.LNE] + X0 + avgSPC[ViewLevel][pardata.LNE] - 1); 80a827e: 4b3b ldr r3, [pc, #236] ; (80a836c ) 80a8280: 781b ldrb r3, [r3, #0] 80a8282: b2db uxtb r3, r3 80a8284: 4618 mov r0, r3 80a8286: 4b3a ldr r3, [pc, #232] ; (80a8370 ) 80a8288: 79db ldrb r3, [r3, #7] 80a828a: b2db uxtb r3, r3 80a828c: 4619 mov r1, r3 80a828e: 4a39 ldr r2, [pc, #228] ; (80a8374 ) 80a8290: 0083 lsls r3, r0, #2 80a8292: 4413 add r3, r2 80a8294: 440b add r3, r1 80a8296: 781b ldrb r3, [r3, #0] 80a8298: 461a mov r2, r3 80a829a: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a829e: fb03 f302 mul.w r3, r3, r2 80a82a2: 4a35 ldr r2, [pc, #212] ; (80a8378 ) 80a82a4: 8812 ldrh r2, [r2, #0] 80a82a6: b292 uxth r2, r2 80a82a8: 4413 add r3, r2 80a82aa: 4a30 ldr r2, [pc, #192] ; (80a836c ) 80a82ac: 7812 ldrb r2, [r2, #0] 80a82ae: b2d2 uxtb r2, r2 80a82b0: 4614 mov r4, r2 80a82b2: 4a2f ldr r2, [pc, #188] ; (80a8370 ) 80a82b4: 79d2 ldrb r2, [r2, #7] 80a82b6: b2d2 uxtb r2, r2 80a82b8: 4610 mov r0, r2 80a82ba: 492e ldr r1, [pc, #184] ; (80a8374 ) 80a82bc: 00a2 lsls r2, r4, #2 80a82be: 440a add r2, r1 80a82c0: 4402 add r2, r0 80a82c2: 7812 ldrb r2, [r2, #0] 80a82c4: 4413 add r3, r2 80a82c6: 3b01 subs r3, #1 80a82c8: f8c7 328c str.w r3, [r7, #652] ; 0x28c x = 62 + i; 80a82cc: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a82d0: 333e adds r3, #62 ; 0x3e 80a82d2: f8c7 3294 str.w r3, [r7, #660] ; 0x294 for(j = 0; j < 4; j++) 80a82d6: 2300 movs r3, #0 80a82d8: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80a82dc: e02c b.n 80a8338 if((_Fn[j] >= iL) && (_Fn[j] <= iR)) 80a82de: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80a82e2: 009b lsls r3, r3, #2 80a82e4: f507 722e add.w r2, r7, #696 ; 0x2b8 80a82e8: 4413 add r3, r2 80a82ea: f853 3cc8 ldr.w r3, [r3, #-200] 80a82ee: 461a mov r2, r3 80a82f0: f8d7 3290 ldr.w r3, [r7, #656] ; 0x290 80a82f4: 429a cmp r2, r3 80a82f6: d31a bcc.n 80a832e 80a82f8: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80a82fc: 009b lsls r3, r3, #2 80a82fe: f507 722e add.w r2, r7, #696 ; 0x2b8 80a8302: 4413 add r3, r2 80a8304: f853 3cc8 ldr.w r3, [r3, #-200] 80a8308: 461a mov r2, r3 80a830a: f8d7 328c ldr.w r3, [r7, #652] ; 0x28c 80a830e: 429a cmp r2, r3 80a8310: d80d bhi.n 80a832e LCD_SetColors(LCD_COLOR_FN, LCD_COLOR_BLACK); 80a8312: 4913 ldr r1, [pc, #76] ; (80a8360 ) 80a8314: 4813 ldr r0, [pc, #76] ; (80a8364 ) 80a8316: f7ab fa49 bl 80537ac BSP_LCD_DrawLine(x, 44, x, 218); 80a831a: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a831e: b298 uxth r0, r3 80a8320: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a8324: b29a uxth r2, r3 80a8326: 23da movs r3, #218 ; 0xda 80a8328: 212c movs r1, #44 ; 0x2c 80a832a: f7ab fc79 bl 8053c20 for(j = 0; j < 4; j++) 80a832e: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80a8332: 3301 adds r3, #1 80a8334: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80a8338: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80a833c: 2b03 cmp r3, #3 80a833e: d9ce bls.n 80a82de for(i = 0; i < 256; i++) 80a8340: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a8344: 3301 adds r3, #1 80a8346: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80a834a: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a834e: 2bff cmp r3, #255 ; 0xff 80a8350: f67f af4b bls.w 80a81ea break; 80a8354: f000 bd6b b.w 80a8e2e for(i = 0; i < 256; i++) 80a8358: 2300 movs r3, #0 80a835a: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80a835e: e0f0 b.n 80a8542 80a8360: ff0a0f1f .word 0xff0a0f1f 80a8364: ff800080 .word 0xff800080 80a8368: 2002164e .word 0x2002164e 80a836c: 20020f74 .word 0x20020f74 80a8370: 20023e60 .word 0x20023e60 80a8374: 080ef614 .word 0x080ef614 80a8378: 20025d1e .word 0x20025d1e 80a837c: 64080000 .word 0x64080000 arm_max_f32(&ScrA_f32(i * avgSPC[ViewLevel][pardata.LNE] + X0), avgSPC[ViewLevel][pardata.LNE], &mF[MAXY], &idx); 80a8380: 4bb2 ldr r3, [pc, #712] ; (80a864c ) 80a8382: 781b ldrb r3, [r3, #0] 80a8384: b2db uxtb r3, r3 80a8386: 4618 mov r0, r3 80a8388: 4bb1 ldr r3, [pc, #708] ; (80a8650 ) 80a838a: 79db ldrb r3, [r3, #7] 80a838c: b2db uxtb r3, r3 80a838e: 4619 mov r1, r3 80a8390: 4ab0 ldr r2, [pc, #704] ; (80a8654 ) 80a8392: 0083 lsls r3, r0, #2 80a8394: 4413 add r3, r2 80a8396: 440b add r3, r1 80a8398: 781b ldrb r3, [r3, #0] 80a839a: 461a mov r2, r3 80a839c: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a83a0: fb03 f302 mul.w r3, r3, r2 80a83a4: 4aac ldr r2, [pc, #688] ; (80a8658 ) 80a83a6: 8812 ldrh r2, [r2, #0] 80a83a8: b292 uxth r2, r2 80a83aa: 4413 add r3, r2 80a83ac: 009a lsls r2, r3, #2 80a83ae: 4bab ldr r3, [pc, #684] ; (80a865c ) 80a83b0: 4413 add r3, r2 80a83b2: 461c mov r4, r3 80a83b4: 4ba5 ldr r3, [pc, #660] ; (80a864c ) 80a83b6: 781b ldrb r3, [r3, #0] 80a83b8: b2db uxtb r3, r3 80a83ba: 4618 mov r0, r3 80a83bc: 4ba4 ldr r3, [pc, #656] ; (80a8650 ) 80a83be: 79db ldrb r3, [r3, #7] 80a83c0: b2db uxtb r3, r3 80a83c2: 4619 mov r1, r3 80a83c4: 4aa3 ldr r2, [pc, #652] ; (80a8654 ) 80a83c6: 0083 lsls r3, r0, #2 80a83c8: 4413 add r3, r2 80a83ca: 440b add r3, r1 80a83cc: 781b ldrb r3, [r3, #0] 80a83ce: 4618 mov r0, r3 80a83d0: f507 711a add.w r1, r7, #616 ; 0x268 80a83d4: f507 731e add.w r3, r7, #632 ; 0x278 80a83d8: 1d1a adds r2, r3, #4 80a83da: 460b mov r3, r1 80a83dc: 4601 mov r1, r0 80a83de: 4620 mov r0, r4 80a83e0: f021 fe6c bl 80ca0bc iL = (uint32_t) (i * avgSPC[ViewLevel][pardata.LNE] + X0); 80a83e4: 4b99 ldr r3, [pc, #612] ; (80a864c ) 80a83e6: 781b ldrb r3, [r3, #0] 80a83e8: b2db uxtb r3, r3 80a83ea: 4618 mov r0, r3 80a83ec: 4b98 ldr r3, [pc, #608] ; (80a8650 ) 80a83ee: 79db ldrb r3, [r3, #7] 80a83f0: b2db uxtb r3, r3 80a83f2: 4619 mov r1, r3 80a83f4: 4a97 ldr r2, [pc, #604] ; (80a8654 ) 80a83f6: 0083 lsls r3, r0, #2 80a83f8: 4413 add r3, r2 80a83fa: 440b add r3, r1 80a83fc: 781b ldrb r3, [r3, #0] 80a83fe: 461a mov r2, r3 80a8400: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a8404: fb03 f302 mul.w r3, r3, r2 80a8408: 4a93 ldr r2, [pc, #588] ; (80a8658 ) 80a840a: 8812 ldrh r2, [r2, #0] 80a840c: b292 uxth r2, r2 80a840e: 4413 add r3, r2 80a8410: f8c7 3290 str.w r3, [r7, #656] ; 0x290 iR = (uint32_t) (i * avgSPC[ViewLevel][pardata.LNE] + X0 + avgSPC[ViewLevel][pardata.LNE] - 1); 80a8414: 4b8d ldr r3, [pc, #564] ; (80a864c ) 80a8416: 781b ldrb r3, [r3, #0] 80a8418: b2db uxtb r3, r3 80a841a: 4618 mov r0, r3 80a841c: 4b8c ldr r3, [pc, #560] ; (80a8650 ) 80a841e: 79db ldrb r3, [r3, #7] 80a8420: b2db uxtb r3, r3 80a8422: 4619 mov r1, r3 80a8424: 4a8b ldr r2, [pc, #556] ; (80a8654 ) 80a8426: 0083 lsls r3, r0, #2 80a8428: 4413 add r3, r2 80a842a: 440b add r3, r1 80a842c: 781b ldrb r3, [r3, #0] 80a842e: 461a mov r2, r3 80a8430: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a8434: fb03 f302 mul.w r3, r3, r2 80a8438: 4a87 ldr r2, [pc, #540] ; (80a8658 ) 80a843a: 8812 ldrh r2, [r2, #0] 80a843c: b292 uxth r2, r2 80a843e: 4413 add r3, r2 80a8440: 4a82 ldr r2, [pc, #520] ; (80a864c ) 80a8442: 7812 ldrb r2, [r2, #0] 80a8444: b2d2 uxtb r2, r2 80a8446: 4614 mov r4, r2 80a8448: 4a81 ldr r2, [pc, #516] ; (80a8650 ) 80a844a: 79d2 ldrb r2, [r2, #7] 80a844c: b2d2 uxtb r2, r2 80a844e: 4610 mov r0, r2 80a8450: 4980 ldr r1, [pc, #512] ; (80a8654 ) 80a8452: 00a2 lsls r2, r4, #2 80a8454: 440a add r2, r1 80a8456: 4402 add r2, r0 80a8458: 7812 ldrb r2, [r2, #0] 80a845a: 4413 add r3, r2 80a845c: 3b01 subs r3, #1 80a845e: f8c7 328c str.w r3, [r7, #652] ; 0x28c x = 62 + i; 80a8462: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a8466: 333e adds r3, #62 ; 0x3e 80a8468: f8c7 3294 str.w r3, [r7, #660] ; 0x294 for(j = 0; j < 7; j++) 80a846c: 2300 movs r3, #0 80a846e: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80a8472: e02c b.n 80a84ce if((_Fvr[j] >= iL) && (_Fvr[j] <= iR)) 80a8474: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80a8478: 009b lsls r3, r3, #2 80a847a: f507 722e add.w r2, r7, #696 ; 0x2b8 80a847e: 4413 add r3, r2 80a8480: f853 3c8c ldr.w r3, [r3, #-140] 80a8484: 461a mov r2, r3 80a8486: f8d7 3290 ldr.w r3, [r7, #656] ; 0x290 80a848a: 429a cmp r2, r3 80a848c: d31a bcc.n 80a84c4 80a848e: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80a8492: 009b lsls r3, r3, #2 80a8494: f507 722e add.w r2, r7, #696 ; 0x2b8 80a8498: 4413 add r3, r2 80a849a: f853 3c8c ldr.w r3, [r3, #-140] 80a849e: 461a mov r2, r3 80a84a0: f8d7 328c ldr.w r3, [r7, #652] ; 0x28c 80a84a4: 429a cmp r2, r3 80a84a6: d80d bhi.n 80a84c4 LCD_SetColors(LCD_COLOR_FVR, LCD_COLOR_BLACK); 80a84a8: 496d ldr r1, [pc, #436] ; (80a8660 ) 80a84aa: 486e ldr r0, [pc, #440] ; (80a8664 ) 80a84ac: f7ab f97e bl 80537ac BSP_LCD_DrawLine(x, 44, x, 218); 80a84b0: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a84b4: b298 uxth r0, r3 80a84b6: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a84ba: b29a uxth r2, r3 80a84bc: 23da movs r3, #218 ; 0xda 80a84be: 212c movs r1, #44 ; 0x2c 80a84c0: f7ab fbae bl 8053c20 for(j = 0; j < 7; j++) 80a84c4: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80a84c8: 3301 adds r3, #1 80a84ca: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80a84ce: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80a84d2: 2b06 cmp r3, #6 80a84d4: d9ce bls.n 80a8474 for(j = 0; j < 3; j++) 80a84d6: 2300 movs r3, #0 80a84d8: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80a84dc: e028 b.n 80a8530 if((_Fv[j] >= iL) && (_Fv[j] <= iR)) 80a84de: f507 73da add.w r3, r7, #436 ; 0x1b4 80a84e2: f8d7 22a8 ldr.w r2, [r7, #680] ; 0x2a8 80a84e6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a84ea: 461a mov r2, r3 80a84ec: f8d7 3290 ldr.w r3, [r7, #656] ; 0x290 80a84f0: 429a cmp r2, r3 80a84f2: d318 bcc.n 80a8526 80a84f4: f507 73da add.w r3, r7, #436 ; 0x1b4 80a84f8: f8d7 22a8 ldr.w r2, [r7, #680] ; 0x2a8 80a84fc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a8500: 461a mov r2, r3 80a8502: f8d7 328c ldr.w r3, [r7, #652] ; 0x28c 80a8506: 429a cmp r2, r3 80a8508: d80d bhi.n 80a8526 LCD_SetColors(LCD_COLOR_FV, LCD_COLOR_BLACK); 80a850a: 4955 ldr r1, [pc, #340] ; (80a8660 ) 80a850c: 4856 ldr r0, [pc, #344] ; (80a8668 ) 80a850e: f7ab f94d bl 80537ac BSP_LCD_DrawLine(x, 44, x, 218); 80a8512: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a8516: b298 uxth r0, r3 80a8518: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a851c: b29a uxth r2, r3 80a851e: 23da movs r3, #218 ; 0xda 80a8520: 212c movs r1, #44 ; 0x2c 80a8522: f7ab fb7d bl 8053c20 for(j = 0; j < 3; j++) 80a8526: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80a852a: 3301 adds r3, #1 80a852c: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80a8530: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80a8534: 2b02 cmp r3, #2 80a8536: d9d2 bls.n 80a84de for(i = 0; i < 256; i++) 80a8538: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a853c: 3301 adds r3, #1 80a853e: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80a8542: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a8546: 2bff cmp r3, #255 ; 0xff 80a8548: f67f af1a bls.w 80a8380 break; 80a854c: f000 bc6f b.w 80a8e2e for(i = 0; i < 256; i++) 80a8550: 2300 movs r3, #0 80a8552: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80a8556: e0ec b.n 80a8732 arm_max_f32(&ScrA_f32(i * avgSPC[ViewLevel][pardata.LNE] + X0), avgSPC[ViewLevel][pardata.LNE], &mF[MAXY], &idx); 80a8558: 4b3c ldr r3, [pc, #240] ; (80a864c ) 80a855a: 781b ldrb r3, [r3, #0] 80a855c: b2db uxtb r3, r3 80a855e: 4618 mov r0, r3 80a8560: 4b3b ldr r3, [pc, #236] ; (80a8650 ) 80a8562: 79db ldrb r3, [r3, #7] 80a8564: b2db uxtb r3, r3 80a8566: 4619 mov r1, r3 80a8568: 4a3a ldr r2, [pc, #232] ; (80a8654 ) 80a856a: 0083 lsls r3, r0, #2 80a856c: 4413 add r3, r2 80a856e: 440b add r3, r1 80a8570: 781b ldrb r3, [r3, #0] 80a8572: 461a mov r2, r3 80a8574: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a8578: fb03 f302 mul.w r3, r3, r2 80a857c: 4a36 ldr r2, [pc, #216] ; (80a8658 ) 80a857e: 8812 ldrh r2, [r2, #0] 80a8580: b292 uxth r2, r2 80a8582: 4413 add r3, r2 80a8584: 009a lsls r2, r3, #2 80a8586: 4b35 ldr r3, [pc, #212] ; (80a865c ) 80a8588: 4413 add r3, r2 80a858a: 461c mov r4, r3 80a858c: 4b2f ldr r3, [pc, #188] ; (80a864c ) 80a858e: 781b ldrb r3, [r3, #0] 80a8590: b2db uxtb r3, r3 80a8592: 4618 mov r0, r3 80a8594: 4b2e ldr r3, [pc, #184] ; (80a8650 ) 80a8596: 79db ldrb r3, [r3, #7] 80a8598: b2db uxtb r3, r3 80a859a: 4619 mov r1, r3 80a859c: 4a2d ldr r2, [pc, #180] ; (80a8654 ) 80a859e: 0083 lsls r3, r0, #2 80a85a0: 4413 add r3, r2 80a85a2: 440b add r3, r1 80a85a4: 781b ldrb r3, [r3, #0] 80a85a6: 4618 mov r0, r3 80a85a8: f507 711a add.w r1, r7, #616 ; 0x268 80a85ac: f507 731e add.w r3, r7, #632 ; 0x278 80a85b0: 1d1a adds r2, r3, #4 80a85b2: 460b mov r3, r1 80a85b4: 4601 mov r1, r0 80a85b6: 4620 mov r0, r4 80a85b8: f021 fd80 bl 80ca0bc iL = (uint32_t) (i * avgSPC[ViewLevel][pardata.LNE] + X0); 80a85bc: 4b23 ldr r3, [pc, #140] ; (80a864c ) 80a85be: 781b ldrb r3, [r3, #0] 80a85c0: b2db uxtb r3, r3 80a85c2: 4618 mov r0, r3 80a85c4: 4b22 ldr r3, [pc, #136] ; (80a8650 ) 80a85c6: 79db ldrb r3, [r3, #7] 80a85c8: b2db uxtb r3, r3 80a85ca: 4619 mov r1, r3 80a85cc: 4a21 ldr r2, [pc, #132] ; (80a8654 ) 80a85ce: 0083 lsls r3, r0, #2 80a85d0: 4413 add r3, r2 80a85d2: 440b add r3, r1 80a85d4: 781b ldrb r3, [r3, #0] 80a85d6: 461a mov r2, r3 80a85d8: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a85dc: fb03 f302 mul.w r3, r3, r2 80a85e0: 4a1d ldr r2, [pc, #116] ; (80a8658 ) 80a85e2: 8812 ldrh r2, [r2, #0] 80a85e4: b292 uxth r2, r2 80a85e6: 4413 add r3, r2 80a85e8: f8c7 3290 str.w r3, [r7, #656] ; 0x290 iR = (uint32_t) (i * avgSPC[ViewLevel][pardata.LNE] + X0 + avgSPC[ViewLevel][pardata.LNE] - 1); 80a85ec: 4b17 ldr r3, [pc, #92] ; (80a864c ) 80a85ee: 781b ldrb r3, [r3, #0] 80a85f0: b2db uxtb r3, r3 80a85f2: 4618 mov r0, r3 80a85f4: 4b16 ldr r3, [pc, #88] ; (80a8650 ) 80a85f6: 79db ldrb r3, [r3, #7] 80a85f8: b2db uxtb r3, r3 80a85fa: 4619 mov r1, r3 80a85fc: 4a15 ldr r2, [pc, #84] ; (80a8654 ) 80a85fe: 0083 lsls r3, r0, #2 80a8600: 4413 add r3, r2 80a8602: 440b add r3, r1 80a8604: 781b ldrb r3, [r3, #0] 80a8606: 461a mov r2, r3 80a8608: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a860c: fb03 f302 mul.w r3, r3, r2 80a8610: 4a11 ldr r2, [pc, #68] ; (80a8658 ) 80a8612: 8812 ldrh r2, [r2, #0] 80a8614: b292 uxth r2, r2 80a8616: 4413 add r3, r2 80a8618: 4a0c ldr r2, [pc, #48] ; (80a864c ) 80a861a: 7812 ldrb r2, [r2, #0] 80a861c: b2d2 uxtb r2, r2 80a861e: 4614 mov r4, r2 80a8620: 4a0b ldr r2, [pc, #44] ; (80a8650 ) 80a8622: 79d2 ldrb r2, [r2, #7] 80a8624: b2d2 uxtb r2, r2 80a8626: 4610 mov r0, r2 80a8628: 490a ldr r1, [pc, #40] ; (80a8654 ) 80a862a: 00a2 lsls r2, r4, #2 80a862c: 440a add r2, r1 80a862e: 4402 add r2, r0 80a8630: 7812 ldrb r2, [r2, #0] 80a8632: 4413 add r3, r2 80a8634: 3b01 subs r3, #1 80a8636: f8c7 328c str.w r3, [r7, #652] ; 0x28c x = 62 + i; 80a863a: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a863e: 333e adds r3, #62 ; 0x3e 80a8640: f8c7 3294 str.w r3, [r7, #660] ; 0x294 for(j = 0; j < 8; j++) 80a8644: 2300 movs r3, #0 80a8646: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80a864a: e038 b.n 80a86be 80a864c: 20020f74 .word 0x20020f74 80a8650: 20023e60 .word 0x20023e60 80a8654: 080ef614 .word 0x080ef614 80a8658: 20025d1e .word 0x20025d1e 80a865c: 64080000 .word 0x64080000 80a8660: ff0a0f1f .word 0xff0a0f1f 80a8664: ff66a6d3 .word 0xff66a6d3 80a8668: ffa52a2a .word 0xffa52a2a if((_Fc[j] >= iL) && (_Fc[j] <= iR)) 80a866c: f507 73bc add.w r3, r7, #376 ; 0x178 80a8670: f8d7 22a8 ldr.w r2, [r7, #680] ; 0x2a8 80a8674: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a8678: 461a mov r2, r3 80a867a: f8d7 3290 ldr.w r3, [r7, #656] ; 0x290 80a867e: 429a cmp r2, r3 80a8680: d318 bcc.n 80a86b4 80a8682: f507 73bc add.w r3, r7, #376 ; 0x178 80a8686: f8d7 22a8 ldr.w r2, [r7, #680] ; 0x2a8 80a868a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a868e: 461a mov r2, r3 80a8690: f8d7 328c ldr.w r3, [r7, #652] ; 0x28c 80a8694: 429a cmp r2, r3 80a8696: d80d bhi.n 80a86b4 LCD_SetColors(LCD_COLOR_FC, LCD_COLOR_BLACK); 80a8698: 49c2 ldr r1, [pc, #776] ; (80a89a4 ) 80a869a: 48c3 ldr r0, [pc, #780] ; (80a89a8 ) 80a869c: f7ab f886 bl 80537ac BSP_LCD_DrawLine(x, 44, x, 218); 80a86a0: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a86a4: b298 uxth r0, r3 80a86a6: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a86aa: b29a uxth r2, r3 80a86ac: 23da movs r3, #218 ; 0xda 80a86ae: 212c movs r1, #44 ; 0x2c 80a86b0: f7ab fab6 bl 8053c20 for(j = 0; j < 8; j++) 80a86b4: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80a86b8: 3301 adds r3, #1 80a86ba: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80a86be: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80a86c2: 2b07 cmp r3, #7 80a86c4: d9d2 bls.n 80a866c for(j = 0; j < 8; j++) 80a86c6: 2300 movs r3, #0 80a86c8: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80a86cc: e028 b.n 80a8720 if((_Fvr_m_Fc[j] >= iL) && (_Fvr_m_Fc[j] <= iR)) 80a86ce: f507 7380 add.w r3, r7, #256 ; 0x100 80a86d2: f8d7 22a8 ldr.w r2, [r7, #680] ; 0x2a8 80a86d6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a86da: 461a mov r2, r3 80a86dc: f8d7 3290 ldr.w r3, [r7, #656] ; 0x290 80a86e0: 429a cmp r2, r3 80a86e2: d318 bcc.n 80a8716 80a86e4: f507 7380 add.w r3, r7, #256 ; 0x100 80a86e8: f8d7 22a8 ldr.w r2, [r7, #680] ; 0x2a8 80a86ec: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a86f0: 461a mov r2, r3 80a86f2: f8d7 328c ldr.w r3, [r7, #652] ; 0x28c 80a86f6: 429a cmp r2, r3 80a86f8: d80d bhi.n 80a8716 LCD_SetColors(LCD_COLOR_FVR, LCD_COLOR_BLACK); 80a86fa: 49aa ldr r1, [pc, #680] ; (80a89a4 ) 80a86fc: 48ab ldr r0, [pc, #684] ; (80a89ac ) 80a86fe: f7ab f855 bl 80537ac BSP_LCD_DrawLine(x, 44, x, 218); 80a8702: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a8706: b298 uxth r0, r3 80a8708: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a870c: b29a uxth r2, r3 80a870e: 23da movs r3, #218 ; 0xda 80a8710: 212c movs r1, #44 ; 0x2c 80a8712: f7ab fa85 bl 8053c20 for(j = 0; j < 8; j++) 80a8716: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80a871a: 3301 adds r3, #1 80a871c: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80a8720: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80a8724: 2b07 cmp r3, #7 80a8726: d9d2 bls.n 80a86ce for(i = 0; i < 256; i++) 80a8728: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a872c: 3301 adds r3, #1 80a872e: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80a8732: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a8736: 2bff cmp r3, #255 ; 0xff 80a8738: f67f af0e bls.w 80a8558 break; 80a873c: e377 b.n 80a8e2e for(i = 0; i < 256; i++) 80a873e: 2300 movs r3, #0 80a8740: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80a8744: e1df b.n 80a8b06 arm_max_f32(&ScrA_f32(i * avgSPC[ViewLevel][pardata.LNE] + X0), avgSPC[ViewLevel][pardata.LNE], &mF[MAXY], &idx); 80a8746: 4b9a ldr r3, [pc, #616] ; (80a89b0 ) 80a8748: 781b ldrb r3, [r3, #0] 80a874a: b2db uxtb r3, r3 80a874c: 4618 mov r0, r3 80a874e: 4b99 ldr r3, [pc, #612] ; (80a89b4 ) 80a8750: 79db ldrb r3, [r3, #7] 80a8752: b2db uxtb r3, r3 80a8754: 4619 mov r1, r3 80a8756: 4a98 ldr r2, [pc, #608] ; (80a89b8 ) 80a8758: 0083 lsls r3, r0, #2 80a875a: 4413 add r3, r2 80a875c: 440b add r3, r1 80a875e: 781b ldrb r3, [r3, #0] 80a8760: 461a mov r2, r3 80a8762: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a8766: fb03 f302 mul.w r3, r3, r2 80a876a: 4a94 ldr r2, [pc, #592] ; (80a89bc ) 80a876c: 8812 ldrh r2, [r2, #0] 80a876e: b292 uxth r2, r2 80a8770: 4413 add r3, r2 80a8772: 009a lsls r2, r3, #2 80a8774: 4b92 ldr r3, [pc, #584] ; (80a89c0 ) 80a8776: 4413 add r3, r2 80a8778: 461c mov r4, r3 80a877a: 4b8d ldr r3, [pc, #564] ; (80a89b0 ) 80a877c: 781b ldrb r3, [r3, #0] 80a877e: b2db uxtb r3, r3 80a8780: 4618 mov r0, r3 80a8782: 4b8c ldr r3, [pc, #560] ; (80a89b4 ) 80a8784: 79db ldrb r3, [r3, #7] 80a8786: b2db uxtb r3, r3 80a8788: 4619 mov r1, r3 80a878a: 4a8b ldr r2, [pc, #556] ; (80a89b8 ) 80a878c: 0083 lsls r3, r0, #2 80a878e: 4413 add r3, r2 80a8790: 440b add r3, r1 80a8792: 781b ldrb r3, [r3, #0] 80a8794: 4618 mov r0, r3 80a8796: f507 711a add.w r1, r7, #616 ; 0x268 80a879a: f507 731e add.w r3, r7, #632 ; 0x278 80a879e: 1d1a adds r2, r3, #4 80a87a0: 460b mov r3, r1 80a87a2: 4601 mov r1, r0 80a87a4: 4620 mov r0, r4 80a87a6: f021 fc89 bl 80ca0bc iL = (uint32_t) (i * avgSPC[ViewLevel][pardata.LNE] + X0); 80a87aa: 4b81 ldr r3, [pc, #516] ; (80a89b0 ) 80a87ac: 781b ldrb r3, [r3, #0] 80a87ae: b2db uxtb r3, r3 80a87b0: 4618 mov r0, r3 80a87b2: 4b80 ldr r3, [pc, #512] ; (80a89b4 ) 80a87b4: 79db ldrb r3, [r3, #7] 80a87b6: b2db uxtb r3, r3 80a87b8: 4619 mov r1, r3 80a87ba: 4a7f ldr r2, [pc, #508] ; (80a89b8 ) 80a87bc: 0083 lsls r3, r0, #2 80a87be: 4413 add r3, r2 80a87c0: 440b add r3, r1 80a87c2: 781b ldrb r3, [r3, #0] 80a87c4: 461a mov r2, r3 80a87c6: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a87ca: fb03 f302 mul.w r3, r3, r2 80a87ce: 4a7b ldr r2, [pc, #492] ; (80a89bc ) 80a87d0: 8812 ldrh r2, [r2, #0] 80a87d2: b292 uxth r2, r2 80a87d4: 4413 add r3, r2 80a87d6: f8c7 3290 str.w r3, [r7, #656] ; 0x290 iR = (uint32_t) (i * avgSPC[ViewLevel][pardata.LNE] + X0 + avgSPC[ViewLevel][pardata.LNE] - 1); 80a87da: 4b75 ldr r3, [pc, #468] ; (80a89b0 ) 80a87dc: 781b ldrb r3, [r3, #0] 80a87de: b2db uxtb r3, r3 80a87e0: 4618 mov r0, r3 80a87e2: 4b74 ldr r3, [pc, #464] ; (80a89b4 ) 80a87e4: 79db ldrb r3, [r3, #7] 80a87e6: b2db uxtb r3, r3 80a87e8: 4619 mov r1, r3 80a87ea: 4a73 ldr r2, [pc, #460] ; (80a89b8 ) 80a87ec: 0083 lsls r3, r0, #2 80a87ee: 4413 add r3, r2 80a87f0: 440b add r3, r1 80a87f2: 781b ldrb r3, [r3, #0] 80a87f4: 461a mov r2, r3 80a87f6: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a87fa: fb03 f302 mul.w r3, r3, r2 80a87fe: 4a6f ldr r2, [pc, #444] ; (80a89bc ) 80a8800: 8812 ldrh r2, [r2, #0] 80a8802: b292 uxth r2, r2 80a8804: 4413 add r3, r2 80a8806: 4a6a ldr r2, [pc, #424] ; (80a89b0 ) 80a8808: 7812 ldrb r2, [r2, #0] 80a880a: b2d2 uxtb r2, r2 80a880c: 4614 mov r4, r2 80a880e: 4a69 ldr r2, [pc, #420] ; (80a89b4 ) 80a8810: 79d2 ldrb r2, [r2, #7] 80a8812: b2d2 uxtb r2, r2 80a8814: 4610 mov r0, r2 80a8816: 4968 ldr r1, [pc, #416] ; (80a89b8 ) 80a8818: 00a2 lsls r2, r4, #2 80a881a: 440a add r2, r1 80a881c: 4402 add r2, r0 80a881e: 7812 ldrb r2, [r2, #0] 80a8820: 4413 add r3, r2 80a8822: 3b01 subs r3, #1 80a8824: f8c7 328c str.w r3, [r7, #652] ; 0x28c x = 62 + i; 80a8828: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a882c: 333e adds r3, #62 ; 0x3e 80a882e: f8c7 3294 str.w r3, [r7, #660] ; 0x294 for(j = 0; j < 6; j++) 80a8832: 2300 movs r3, #0 80a8834: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80a8838: e0aa b.n 80a8990 if((_Ftk[j] >= iL) && (_Ftk[j] <= iR)) 80a883a: f507 739e add.w r3, r7, #316 ; 0x13c 80a883e: f8d7 22a8 ldr.w r2, [r7, #680] ; 0x2a8 80a8842: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a8846: 461a mov r2, r3 80a8848: f8d7 3290 ldr.w r3, [r7, #656] ; 0x290 80a884c: 429a cmp r2, r3 80a884e: f0c0 809a bcc.w 80a8986 80a8852: f507 739e add.w r3, r7, #316 ; 0x13c 80a8856: f8d7 22a8 ldr.w r2, [r7, #680] ; 0x2a8 80a885a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a885e: 461a mov r2, r3 80a8860: f8d7 328c ldr.w r3, [r7, #652] ; 0x28c 80a8864: 429a cmp r2, r3 80a8866: f200 808e bhi.w 80a8986 LCD_SetColors(LCD_COLOR_FTK, LCD_COLOR_BLACK); 80a886a: 494e ldr r1, [pc, #312] ; (80a89a4 ) 80a886c: 4855 ldr r0, [pc, #340] ; (80a89c4 ) 80a886e: f7aa ff9d bl 80537ac BSP_LCD_DrawLine(x, 44, x, 218); 80a8872: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a8876: b298 uxth r0, r3 80a8878: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a887c: b29a uxth r2, r3 80a887e: 23da movs r3, #218 ; 0xda 80a8880: 212c movs r1, #44 ; 0x2c 80a8882: f7ab f9cd bl 8053c20 if(j & 1) 80a8886: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80a888a: f003 0301 and.w r3, r3, #1 80a888e: 2b00 cmp r3, #0 80a8890: d079 beq.n 80a8986 if(ViewLevel < 2) 80a8892: 4b47 ldr r3, [pc, #284] ; (80a89b0 ) 80a8894: 781b ldrb r3, [r3, #0] 80a8896: b2db uxtb r3, r3 80a8898: 2b01 cmp r3, #1 80a889a: d826 bhi.n 80a88ea if(i * avgSPC[ViewLevel][pardata.LNE] + X0 > 0) 80a889c: 4b44 ldr r3, [pc, #272] ; (80a89b0 ) 80a889e: 781b ldrb r3, [r3, #0] 80a88a0: b2db uxtb r3, r3 80a88a2: 4618 mov r0, r3 80a88a4: 4b43 ldr r3, [pc, #268] ; (80a89b4 ) 80a88a6: 79db ldrb r3, [r3, #7] 80a88a8: b2db uxtb r3, r3 80a88aa: 4619 mov r1, r3 80a88ac: 4a42 ldr r2, [pc, #264] ; (80a89b8 ) 80a88ae: 0083 lsls r3, r0, #2 80a88b0: 4413 add r3, r2 80a88b2: 440b add r3, r1 80a88b4: 781b ldrb r3, [r3, #0] 80a88b6: 461a mov r2, r3 80a88b8: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a88bc: fb03 f302 mul.w r3, r3, r2 80a88c0: 4a3e ldr r2, [pc, #248] ; (80a89bc ) 80a88c2: 8812 ldrh r2, [r2, #0] 80a88c4: b292 uxth r2, r2 80a88c6: 4413 add r3, r2 80a88c8: 2b00 cmp r3, #0 80a88ca: d05c beq.n 80a8986 BSP_LCD_DrawLine(x-1, 44, x-1, 218); 80a88cc: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a88d0: b29b uxth r3, r3 80a88d2: 3b01 subs r3, #1 80a88d4: b298 uxth r0, r3 80a88d6: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a88da: b29b uxth r3, r3 80a88dc: 3b01 subs r3, #1 80a88de: b29a uxth r2, r3 80a88e0: 23da movs r3, #218 ; 0xda 80a88e2: 212c movs r1, #44 ; 0x2c 80a88e4: f7ab f99c bl 8053c20 80a88e8: e04d b.n 80a8986 if(i * avgSPC[ViewLevel][pardata.LNE] + X0 > 0) 80a88ea: 4b31 ldr r3, [pc, #196] ; (80a89b0 ) 80a88ec: 781b ldrb r3, [r3, #0] 80a88ee: b2db uxtb r3, r3 80a88f0: 4618 mov r0, r3 80a88f2: 4b30 ldr r3, [pc, #192] ; (80a89b4 ) 80a88f4: 79db ldrb r3, [r3, #7] 80a88f6: b2db uxtb r3, r3 80a88f8: 4619 mov r1, r3 80a88fa: 4a2f ldr r2, [pc, #188] ; (80a89b8 ) 80a88fc: 0083 lsls r3, r0, #2 80a88fe: 4413 add r3, r2 80a8900: 440b add r3, r1 80a8902: 781b ldrb r3, [r3, #0] 80a8904: 461a mov r2, r3 80a8906: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a890a: fb03 f302 mul.w r3, r3, r2 80a890e: 4a2b ldr r2, [pc, #172] ; (80a89bc ) 80a8910: 8812 ldrh r2, [r2, #0] 80a8912: b292 uxth r2, r2 80a8914: 4413 add r3, r2 80a8916: 2b00 cmp r3, #0 80a8918: d00d beq.n 80a8936 BSP_LCD_DrawLine(x-1, 44, x-1, 218); 80a891a: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a891e: b29b uxth r3, r3 80a8920: 3b01 subs r3, #1 80a8922: b298 uxth r0, r3 80a8924: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a8928: b29b uxth r3, r3 80a892a: 3b01 subs r3, #1 80a892c: b29a uxth r2, r3 80a892e: 23da movs r3, #218 ; 0xda 80a8930: 212c movs r1, #44 ; 0x2c 80a8932: f7ab f975 bl 8053c20 if(i * avgSPC[ViewLevel][pardata.LNE] + X0 < 4095) 80a8936: 4b1e ldr r3, [pc, #120] ; (80a89b0 ) 80a8938: 781b ldrb r3, [r3, #0] 80a893a: b2db uxtb r3, r3 80a893c: 4618 mov r0, r3 80a893e: 4b1d ldr r3, [pc, #116] ; (80a89b4 ) 80a8940: 79db ldrb r3, [r3, #7] 80a8942: b2db uxtb r3, r3 80a8944: 4619 mov r1, r3 80a8946: 4a1c ldr r2, [pc, #112] ; (80a89b8 ) 80a8948: 0083 lsls r3, r0, #2 80a894a: 4413 add r3, r2 80a894c: 440b add r3, r1 80a894e: 781b ldrb r3, [r3, #0] 80a8950: 461a mov r2, r3 80a8952: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a8956: fb03 f302 mul.w r3, r3, r2 80a895a: 4a18 ldr r2, [pc, #96] ; (80a89bc ) 80a895c: 8812 ldrh r2, [r2, #0] 80a895e: b292 uxth r2, r2 80a8960: 4413 add r3, r2 80a8962: f640 72fe movw r2, #4094 ; 0xffe 80a8966: 4293 cmp r3, r2 80a8968: d80d bhi.n 80a8986 BSP_LCD_DrawLine(x+1, 44, x+1, 218); 80a896a: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a896e: b29b uxth r3, r3 80a8970: 3301 adds r3, #1 80a8972: b298 uxth r0, r3 80a8974: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a8978: b29b uxth r3, r3 80a897a: 3301 adds r3, #1 80a897c: b29a uxth r2, r3 80a897e: 23da movs r3, #218 ; 0xda 80a8980: 212c movs r1, #44 ; 0x2c 80a8982: f7ab f94d bl 8053c20 for(j = 0; j < 6; j++) 80a8986: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80a898a: 3301 adds r3, #1 80a898c: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80a8990: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80a8994: 2b05 cmp r3, #5 80a8996: f67f af50 bls.w 80a883a for(j = 0; j < 6; j++) 80a899a: 2300 movs r3, #0 80a899c: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80a89a0: e0a7 b.n 80a8af2 80a89a2: bf00 nop 80a89a4: ff0a0f1f .word 0xff0a0f1f 80a89a8: ffafff9c .word 0xffafff9c 80a89ac: ff66a6d3 .word 0xff66a6d3 80a89b0: 20020f74 .word 0x20020f74 80a89b4: 20023e60 .word 0x20023e60 80a89b8: 080ef614 .word 0x080ef614 80a89bc: 20025d1e .word 0x20025d1e 80a89c0: 64080000 .word 0x64080000 80a89c4: ffb700eb .word 0xffb700eb if((_Ftk_m_Fc[j] >= iL) && (_Ftk_m_Fc[j] <= iR)) 80a89c8: f107 0388 add.w r3, r7, #136 ; 0x88 80a89cc: f8d7 22a8 ldr.w r2, [r7, #680] ; 0x2a8 80a89d0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a89d4: 461a mov r2, r3 80a89d6: f8d7 3290 ldr.w r3, [r7, #656] ; 0x290 80a89da: 429a cmp r2, r3 80a89dc: d318 bcc.n 80a8a10 80a89de: f107 0388 add.w r3, r7, #136 ; 0x88 80a89e2: f8d7 22a8 ldr.w r2, [r7, #680] ; 0x2a8 80a89e6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a89ea: 461a mov r2, r3 80a89ec: f8d7 328c ldr.w r3, [r7, #652] ; 0x28c 80a89f0: 429a cmp r2, r3 80a89f2: d80d bhi.n 80a8a10 LCD_SetColors(LCD_COLOR_FC, LCD_COLOR_BLACK); 80a89f4: 49a9 ldr r1, [pc, #676] ; (80a8c9c ) 80a89f6: 48aa ldr r0, [pc, #680] ; (80a8ca0 ) 80a89f8: f7aa fed8 bl 80537ac BSP_LCD_DrawLine(x, 44, x, 218); 80a89fc: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a8a00: b298 uxth r0, r3 80a8a02: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a8a06: b29a uxth r2, r3 80a8a08: 23da movs r3, #218 ; 0xda 80a8a0a: 212c movs r1, #44 ; 0x2c 80a8a0c: f7ab f908 bl 8053c20 if((_Ftk_p_Fc[j] >= iL) && (_Ftk_p_Fc[j] <= iR)) 80a8a10: f107 03c4 add.w r3, r7, #196 ; 0xc4 80a8a14: f8d7 22a8 ldr.w r2, [r7, #680] ; 0x2a8 80a8a18: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a8a1c: 461a mov r2, r3 80a8a1e: f8d7 3290 ldr.w r3, [r7, #656] ; 0x290 80a8a22: 429a cmp r2, r3 80a8a24: d318 bcc.n 80a8a58 80a8a26: f107 03c4 add.w r3, r7, #196 ; 0xc4 80a8a2a: f8d7 22a8 ldr.w r2, [r7, #680] ; 0x2a8 80a8a2e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a8a32: 461a mov r2, r3 80a8a34: f8d7 328c ldr.w r3, [r7, #652] ; 0x28c 80a8a38: 429a cmp r2, r3 80a8a3a: d80d bhi.n 80a8a58 LCD_SetColors(LCD_COLOR_FC, LCD_COLOR_BLACK); 80a8a3c: 4997 ldr r1, [pc, #604] ; (80a8c9c ) 80a8a3e: 4898 ldr r0, [pc, #608] ; (80a8ca0 ) 80a8a40: f7aa feb4 bl 80537ac BSP_LCD_DrawLine(x, 44, x, 218); 80a8a44: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a8a48: b298 uxth r0, r3 80a8a4a: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a8a4e: b29a uxth r2, r3 80a8a50: 23da movs r3, #218 ; 0xda 80a8a52: 212c movs r1, #44 ; 0x2c 80a8a54: f7ab f8e4 bl 8053c20 if((_Ftk_m_2Fc[j] >= iL) && (_Ftk_m_2Fc[j] <= iR)) 80a8a58: f107 0310 add.w r3, r7, #16 80a8a5c: f8d7 22a8 ldr.w r2, [r7, #680] ; 0x2a8 80a8a60: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a8a64: 461a mov r2, r3 80a8a66: f8d7 3290 ldr.w r3, [r7, #656] ; 0x290 80a8a6a: 429a cmp r2, r3 80a8a6c: d318 bcc.n 80a8aa0 80a8a6e: f107 0310 add.w r3, r7, #16 80a8a72: f8d7 22a8 ldr.w r2, [r7, #680] ; 0x2a8 80a8a76: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a8a7a: 461a mov r2, r3 80a8a7c: f8d7 328c ldr.w r3, [r7, #652] ; 0x28c 80a8a80: 429a cmp r2, r3 80a8a82: d80d bhi.n 80a8aa0 LCD_SetColors(LCD_COLOR_FC, LCD_COLOR_BLACK); 80a8a84: 4985 ldr r1, [pc, #532] ; (80a8c9c ) 80a8a86: 4886 ldr r0, [pc, #536] ; (80a8ca0 ) 80a8a88: f7aa fe90 bl 80537ac BSP_LCD_DrawLine(x, 44, x, 218); 80a8a8c: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a8a90: b298 uxth r0, r3 80a8a92: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a8a96: b29a uxth r2, r3 80a8a98: 23da movs r3, #218 ; 0xda 80a8a9a: 212c movs r1, #44 ; 0x2c 80a8a9c: f7ab f8c0 bl 8053c20 if((_Ftk_p_2Fc[j] >= iL) && (_Ftk_p_2Fc[j] <= iR)) 80a8aa0: f107 034c add.w r3, r7, #76 ; 0x4c 80a8aa4: f8d7 22a8 ldr.w r2, [r7, #680] ; 0x2a8 80a8aa8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a8aac: 461a mov r2, r3 80a8aae: f8d7 3290 ldr.w r3, [r7, #656] ; 0x290 80a8ab2: 429a cmp r2, r3 80a8ab4: d318 bcc.n 80a8ae8 80a8ab6: f107 034c add.w r3, r7, #76 ; 0x4c 80a8aba: f8d7 22a8 ldr.w r2, [r7, #680] ; 0x2a8 80a8abe: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a8ac2: 461a mov r2, r3 80a8ac4: f8d7 328c ldr.w r3, [r7, #652] ; 0x28c 80a8ac8: 429a cmp r2, r3 80a8aca: d80d bhi.n 80a8ae8 LCD_SetColors(LCD_COLOR_FC, LCD_COLOR_BLACK); 80a8acc: 4973 ldr r1, [pc, #460] ; (80a8c9c ) 80a8ace: 4874 ldr r0, [pc, #464] ; (80a8ca0 ) 80a8ad0: f7aa fe6c bl 80537ac BSP_LCD_DrawLine(x, 44, x, 218); 80a8ad4: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a8ad8: b298 uxth r0, r3 80a8ada: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a8ade: b29a uxth r2, r3 80a8ae0: 23da movs r3, #218 ; 0xda 80a8ae2: 212c movs r1, #44 ; 0x2c 80a8ae4: f7ab f89c bl 8053c20 for(j = 0; j < 6; j++) 80a8ae8: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80a8aec: 3301 adds r3, #1 80a8aee: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80a8af2: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80a8af6: 2b05 cmp r3, #5 80a8af8: f67f af66 bls.w 80a89c8 for(i = 0; i < 256; i++) 80a8afc: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a8b00: 3301 adds r3, #1 80a8b02: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80a8b06: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a8b0a: 2bff cmp r3, #255 ; 0xff 80a8b0c: f67f ae1b bls.w 80a8746 break; 80a8b10: e18d b.n 80a8e2e for(i = 0; i < 256; i++) 80a8b12: 2300 movs r3, #0 80a8b14: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80a8b18: e096 b.n 80a8c48 arm_max_f32(&ScrA_f32(i * avgSPC[ViewLevel][pardata.LNE] + X0), avgSPC[ViewLevel][pardata.LNE], &mF[MAXY], &idx); 80a8b1a: 4b62 ldr r3, [pc, #392] ; (80a8ca4 ) 80a8b1c: 781b ldrb r3, [r3, #0] 80a8b1e: b2db uxtb r3, r3 80a8b20: 4618 mov r0, r3 80a8b22: 4b61 ldr r3, [pc, #388] ; (80a8ca8 ) 80a8b24: 79db ldrb r3, [r3, #7] 80a8b26: b2db uxtb r3, r3 80a8b28: 4619 mov r1, r3 80a8b2a: 4a60 ldr r2, [pc, #384] ; (80a8cac ) 80a8b2c: 0083 lsls r3, r0, #2 80a8b2e: 4413 add r3, r2 80a8b30: 440b add r3, r1 80a8b32: 781b ldrb r3, [r3, #0] 80a8b34: 461a mov r2, r3 80a8b36: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a8b3a: fb03 f302 mul.w r3, r3, r2 80a8b3e: 4a5c ldr r2, [pc, #368] ; (80a8cb0 ) 80a8b40: 8812 ldrh r2, [r2, #0] 80a8b42: b292 uxth r2, r2 80a8b44: 4413 add r3, r2 80a8b46: 009a lsls r2, r3, #2 80a8b48: 4b5a ldr r3, [pc, #360] ; (80a8cb4 ) 80a8b4a: 4413 add r3, r2 80a8b4c: 461c mov r4, r3 80a8b4e: 4b55 ldr r3, [pc, #340] ; (80a8ca4 ) 80a8b50: 781b ldrb r3, [r3, #0] 80a8b52: b2db uxtb r3, r3 80a8b54: 4618 mov r0, r3 80a8b56: 4b54 ldr r3, [pc, #336] ; (80a8ca8 ) 80a8b58: 79db ldrb r3, [r3, #7] 80a8b5a: b2db uxtb r3, r3 80a8b5c: 4619 mov r1, r3 80a8b5e: 4a53 ldr r2, [pc, #332] ; (80a8cac ) 80a8b60: 0083 lsls r3, r0, #2 80a8b62: 4413 add r3, r2 80a8b64: 440b add r3, r1 80a8b66: 781b ldrb r3, [r3, #0] 80a8b68: 4618 mov r0, r3 80a8b6a: f507 711a add.w r1, r7, #616 ; 0x268 80a8b6e: f507 731e add.w r3, r7, #632 ; 0x278 80a8b72: 1d1a adds r2, r3, #4 80a8b74: 460b mov r3, r1 80a8b76: 4601 mov r1, r0 80a8b78: 4620 mov r0, r4 80a8b7a: f021 fa9f bl 80ca0bc iL = (uint32_t) (i * avgSPC[ViewLevel][pardata.LNE] + X0); 80a8b7e: 4b49 ldr r3, [pc, #292] ; (80a8ca4 ) 80a8b80: 781b ldrb r3, [r3, #0] 80a8b82: b2db uxtb r3, r3 80a8b84: 4618 mov r0, r3 80a8b86: 4b48 ldr r3, [pc, #288] ; (80a8ca8 ) 80a8b88: 79db ldrb r3, [r3, #7] 80a8b8a: b2db uxtb r3, r3 80a8b8c: 4619 mov r1, r3 80a8b8e: 4a47 ldr r2, [pc, #284] ; (80a8cac ) 80a8b90: 0083 lsls r3, r0, #2 80a8b92: 4413 add r3, r2 80a8b94: 440b add r3, r1 80a8b96: 781b ldrb r3, [r3, #0] 80a8b98: 461a mov r2, r3 80a8b9a: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a8b9e: fb03 f302 mul.w r3, r3, r2 80a8ba2: 4a43 ldr r2, [pc, #268] ; (80a8cb0 ) 80a8ba4: 8812 ldrh r2, [r2, #0] 80a8ba6: b292 uxth r2, r2 80a8ba8: 4413 add r3, r2 80a8baa: f8c7 3290 str.w r3, [r7, #656] ; 0x290 iR = (uint32_t) (i * avgSPC[ViewLevel][pardata.LNE] + X0 + avgSPC[ViewLevel][pardata.LNE] - 1); 80a8bae: 4b3d ldr r3, [pc, #244] ; (80a8ca4 ) 80a8bb0: 781b ldrb r3, [r3, #0] 80a8bb2: b2db uxtb r3, r3 80a8bb4: 4618 mov r0, r3 80a8bb6: 4b3c ldr r3, [pc, #240] ; (80a8ca8 ) 80a8bb8: 79db ldrb r3, [r3, #7] 80a8bba: b2db uxtb r3, r3 80a8bbc: 4619 mov r1, r3 80a8bbe: 4a3b ldr r2, [pc, #236] ; (80a8cac ) 80a8bc0: 0083 lsls r3, r0, #2 80a8bc2: 4413 add r3, r2 80a8bc4: 440b add r3, r1 80a8bc6: 781b ldrb r3, [r3, #0] 80a8bc8: 461a mov r2, r3 80a8bca: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a8bce: fb03 f302 mul.w r3, r3, r2 80a8bd2: 4a37 ldr r2, [pc, #220] ; (80a8cb0 ) 80a8bd4: 8812 ldrh r2, [r2, #0] 80a8bd6: b292 uxth r2, r2 80a8bd8: 4413 add r3, r2 80a8bda: 4a32 ldr r2, [pc, #200] ; (80a8ca4 ) 80a8bdc: 7812 ldrb r2, [r2, #0] 80a8bde: b2d2 uxtb r2, r2 80a8be0: 4614 mov r4, r2 80a8be2: 4a31 ldr r2, [pc, #196] ; (80a8ca8 ) 80a8be4: 79d2 ldrb r2, [r2, #7] 80a8be6: b2d2 uxtb r2, r2 80a8be8: 4610 mov r0, r2 80a8bea: 4930 ldr r1, [pc, #192] ; (80a8cac ) 80a8bec: 00a2 lsls r2, r4, #2 80a8bee: 440a add r2, r1 80a8bf0: 4402 add r2, r0 80a8bf2: 7812 ldrb r2, [r2, #0] 80a8bf4: 4413 add r3, r2 80a8bf6: 3b01 subs r3, #1 80a8bf8: f8c7 328c str.w r3, [r7, #652] ; 0x28c x = 62 + i; 80a8bfc: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a8c00: 333e adds r3, #62 ; 0x3e 80a8c02: f8c7 3294 str.w r3, [r7, #660] ; 0x294 if((_Fvr[0] >= iL) && (_Fvr[0] <= iR)) 80a8c06: f8d7 322c ldr.w r3, [r7, #556] ; 0x22c 80a8c0a: 461a mov r2, r3 80a8c0c: f8d7 3290 ldr.w r3, [r7, #656] ; 0x290 80a8c10: 429a cmp r2, r3 80a8c12: d314 bcc.n 80a8c3e 80a8c14: f8d7 322c ldr.w r3, [r7, #556] ; 0x22c 80a8c18: 461a mov r2, r3 80a8c1a: f8d7 328c ldr.w r3, [r7, #652] ; 0x28c 80a8c1e: 429a cmp r2, r3 80a8c20: d80d bhi.n 80a8c3e LCD_SetColors(LCD_COLOR_FVR, LCD_COLOR_BLACK); 80a8c22: 491e ldr r1, [pc, #120] ; (80a8c9c ) 80a8c24: 4824 ldr r0, [pc, #144] ; (80a8cb8 ) 80a8c26: f7aa fdc1 bl 80537ac BSP_LCD_DrawLine(x, 44, x, 218); 80a8c2a: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a8c2e: b298 uxth r0, r3 80a8c30: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a8c34: b29a uxth r2, r3 80a8c36: 23da movs r3, #218 ; 0xda 80a8c38: 212c movs r1, #44 ; 0x2c 80a8c3a: f7aa fff1 bl 8053c20 for(i = 0; i < 256; i++) 80a8c3e: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a8c42: 3301 adds r3, #1 80a8c44: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80a8c48: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a8c4c: 2bff cmp r3, #255 ; 0xff 80a8c4e: f67f af64 bls.w 80a8b1a break; 80a8c52: e0ec b.n 80a8e2e LCD_SetColors(LCD_COLOR_ORANGE, LCD_COLOR_BLACK); 80a8c54: 4911 ldr r1, [pc, #68] ; (80a8c9c ) 80a8c56: 4819 ldr r0, [pc, #100] ; (80a8cbc ) 80a8c58: f7aa fda8 bl 80537ac if(X0 == 0) 80a8c5c: 4b14 ldr r3, [pc, #80] ; (80a8cb0 ) 80a8c5e: 881b ldrh r3, [r3, #0] 80a8c60: b29b uxth r3, r3 80a8c62: 2b00 cmp r3, #0 80a8c64: d10d bne.n 80a8c82 BSP_LCD_DrawLine(62, 64, 92, 98); 80a8c66: 2362 movs r3, #98 ; 0x62 80a8c68: 225c movs r2, #92 ; 0x5c 80a8c6a: 2140 movs r1, #64 ; 0x40 80a8c6c: 203e movs r0, #62 ; 0x3e 80a8c6e: f7aa ffd7 bl 8053c20 BSP_LCD_DrawLine(92, 98, 62+255, 98); 80a8c72: 2362 movs r3, #98 ; 0x62 80a8c74: f240 123d movw r2, #317 ; 0x13d 80a8c78: 2162 movs r1, #98 ; 0x62 80a8c7a: 205c movs r0, #92 ; 0x5c 80a8c7c: f7aa ffd0 bl 8053c20 break; 80a8c80: e0d5 b.n 80a8e2e BSP_LCD_DrawLine(62, 98, 62+255, 98); 80a8c82: 2362 movs r3, #98 ; 0x62 80a8c84: f240 123d movw r2, #317 ; 0x13d 80a8c88: 2162 movs r1, #98 ; 0x62 80a8c8a: 203e movs r0, #62 ; 0x3e 80a8c8c: f7aa ffc8 bl 8053c20 break; 80a8c90: e0cd b.n 80a8e2e for(i = 0; i < 256; i++) 80a8c92: 2300 movs r3, #0 80a8c94: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80a8c98: e0c2 b.n 80a8e20 80a8c9a: bf00 nop 80a8c9c: ff0a0f1f .word 0xff0a0f1f 80a8ca0: ffafff9c .word 0xffafff9c 80a8ca4: 20020f74 .word 0x20020f74 80a8ca8: 20023e60 .word 0x20023e60 80a8cac: 080ef614 .word 0x080ef614 80a8cb0: 20025d1e .word 0x20025d1e 80a8cb4: 64080000 .word 0x64080000 80a8cb8: ff66a6d3 .word 0xff66a6d3 80a8cbc: ffffa500 .word 0xffffa500 arm_max_f32(&ScrA_f32(i * avgSPC[ViewLevel][pardata.LNE] + X0), avgSPC[ViewLevel][pardata.LNE], &mF[MAXY], &idx); 80a8cc0: 4bc0 ldr r3, [pc, #768] ; (80a8fc4 ) 80a8cc2: 781b ldrb r3, [r3, #0] 80a8cc4: b2db uxtb r3, r3 80a8cc6: 4618 mov r0, r3 80a8cc8: 4bbf ldr r3, [pc, #764] ; (80a8fc8 ) 80a8cca: 79db ldrb r3, [r3, #7] 80a8ccc: b2db uxtb r3, r3 80a8cce: 4619 mov r1, r3 80a8cd0: 4abe ldr r2, [pc, #760] ; (80a8fcc ) 80a8cd2: 0083 lsls r3, r0, #2 80a8cd4: 4413 add r3, r2 80a8cd6: 440b add r3, r1 80a8cd8: 781b ldrb r3, [r3, #0] 80a8cda: 461a mov r2, r3 80a8cdc: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a8ce0: fb03 f302 mul.w r3, r3, r2 80a8ce4: 4aba ldr r2, [pc, #744] ; (80a8fd0 ) 80a8ce6: 8812 ldrh r2, [r2, #0] 80a8ce8: b292 uxth r2, r2 80a8cea: 4413 add r3, r2 80a8cec: 009a lsls r2, r3, #2 80a8cee: 4bb9 ldr r3, [pc, #740] ; (80a8fd4 ) 80a8cf0: 4413 add r3, r2 80a8cf2: 461c mov r4, r3 80a8cf4: 4bb3 ldr r3, [pc, #716] ; (80a8fc4 ) 80a8cf6: 781b ldrb r3, [r3, #0] 80a8cf8: b2db uxtb r3, r3 80a8cfa: 4618 mov r0, r3 80a8cfc: 4bb2 ldr r3, [pc, #712] ; (80a8fc8 ) 80a8cfe: 79db ldrb r3, [r3, #7] 80a8d00: b2db uxtb r3, r3 80a8d02: 4619 mov r1, r3 80a8d04: 4ab1 ldr r2, [pc, #708] ; (80a8fcc ) 80a8d06: 0083 lsls r3, r0, #2 80a8d08: 4413 add r3, r2 80a8d0a: 440b add r3, r1 80a8d0c: 781b ldrb r3, [r3, #0] 80a8d0e: 4618 mov r0, r3 80a8d10: f507 711a add.w r1, r7, #616 ; 0x268 80a8d14: f507 731e add.w r3, r7, #632 ; 0x278 80a8d18: 1d1a adds r2, r3, #4 80a8d1a: 460b mov r3, r1 80a8d1c: 4601 mov r1, r0 80a8d1e: 4620 mov r0, r4 80a8d20: f021 f9cc bl 80ca0bc iL = (uint32_t) (i * avgSPC[ViewLevel][pardata.LNE] + X0); 80a8d24: 4ba7 ldr r3, [pc, #668] ; (80a8fc4 ) 80a8d26: 781b ldrb r3, [r3, #0] 80a8d28: b2db uxtb r3, r3 80a8d2a: 4618 mov r0, r3 80a8d2c: 4ba6 ldr r3, [pc, #664] ; (80a8fc8 ) 80a8d2e: 79db ldrb r3, [r3, #7] 80a8d30: b2db uxtb r3, r3 80a8d32: 4619 mov r1, r3 80a8d34: 4aa5 ldr r2, [pc, #660] ; (80a8fcc ) 80a8d36: 0083 lsls r3, r0, #2 80a8d38: 4413 add r3, r2 80a8d3a: 440b add r3, r1 80a8d3c: 781b ldrb r3, [r3, #0] 80a8d3e: 461a mov r2, r3 80a8d40: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a8d44: fb03 f302 mul.w r3, r3, r2 80a8d48: 4aa1 ldr r2, [pc, #644] ; (80a8fd0 ) 80a8d4a: 8812 ldrh r2, [r2, #0] 80a8d4c: b292 uxth r2, r2 80a8d4e: 4413 add r3, r2 80a8d50: f8c7 3290 str.w r3, [r7, #656] ; 0x290 iR = (uint32_t) (i * avgSPC[ViewLevel][pardata.LNE] + X0 + avgSPC[ViewLevel][pardata.LNE] - 1); 80a8d54: 4b9b ldr r3, [pc, #620] ; (80a8fc4 ) 80a8d56: 781b ldrb r3, [r3, #0] 80a8d58: b2db uxtb r3, r3 80a8d5a: 4618 mov r0, r3 80a8d5c: 4b9a ldr r3, [pc, #616] ; (80a8fc8 ) 80a8d5e: 79db ldrb r3, [r3, #7] 80a8d60: b2db uxtb r3, r3 80a8d62: 4619 mov r1, r3 80a8d64: 4a99 ldr r2, [pc, #612] ; (80a8fcc ) 80a8d66: 0083 lsls r3, r0, #2 80a8d68: 4413 add r3, r2 80a8d6a: 440b add r3, r1 80a8d6c: 781b ldrb r3, [r3, #0] 80a8d6e: 461a mov r2, r3 80a8d70: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a8d74: fb03 f302 mul.w r3, r3, r2 80a8d78: 4a95 ldr r2, [pc, #596] ; (80a8fd0 ) 80a8d7a: 8812 ldrh r2, [r2, #0] 80a8d7c: b292 uxth r2, r2 80a8d7e: 4413 add r3, r2 80a8d80: 4a90 ldr r2, [pc, #576] ; (80a8fc4 ) 80a8d82: 7812 ldrb r2, [r2, #0] 80a8d84: b2d2 uxtb r2, r2 80a8d86: 4614 mov r4, r2 80a8d88: 4a8f ldr r2, [pc, #572] ; (80a8fc8 ) 80a8d8a: 79d2 ldrb r2, [r2, #7] 80a8d8c: b2d2 uxtb r2, r2 80a8d8e: 4610 mov r0, r2 80a8d90: 498e ldr r1, [pc, #568] ; (80a8fcc ) 80a8d92: 00a2 lsls r2, r4, #2 80a8d94: 440a add r2, r1 80a8d96: 4402 add r2, r0 80a8d98: 7812 ldrb r2, [r2, #0] 80a8d9a: 4413 add r3, r2 80a8d9c: 3b01 subs r3, #1 80a8d9e: f8c7 328c str.w r3, [r7, #652] ; 0x28c x = 62 + i; 80a8da2: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a8da6: 333e adds r3, #62 ; 0x3e 80a8da8: f8c7 3294 str.w r3, [r7, #660] ; 0x294 for(j = 0; j < 15; j++) 80a8dac: 2300 movs r3, #0 80a8dae: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80a8db2: e02c b.n 80a8e0e if((_Fvr[j] >= iL) && (_Fvr[j] <= iR)) 80a8db4: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80a8db8: 009b lsls r3, r3, #2 80a8dba: f507 722e add.w r2, r7, #696 ; 0x2b8 80a8dbe: 4413 add r3, r2 80a8dc0: f853 3c8c ldr.w r3, [r3, #-140] 80a8dc4: 461a mov r2, r3 80a8dc6: f8d7 3290 ldr.w r3, [r7, #656] ; 0x290 80a8dca: 429a cmp r2, r3 80a8dcc: d31a bcc.n 80a8e04 80a8dce: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80a8dd2: 009b lsls r3, r3, #2 80a8dd4: f507 722e add.w r2, r7, #696 ; 0x2b8 80a8dd8: 4413 add r3, r2 80a8dda: f853 3c8c ldr.w r3, [r3, #-140] 80a8dde: 461a mov r2, r3 80a8de0: f8d7 328c ldr.w r3, [r7, #652] ; 0x28c 80a8de4: 429a cmp r2, r3 80a8de6: d80d bhi.n 80a8e04 LCD_SetColors(LCD_COLOR_FVR, LCD_COLOR_BLACK); 80a8de8: 497b ldr r1, [pc, #492] ; (80a8fd8 ) 80a8dea: 487c ldr r0, [pc, #496] ; (80a8fdc ) 80a8dec: f7aa fcde bl 80537ac BSP_LCD_DrawLine(x, 44, x, 218); 80a8df0: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a8df4: b298 uxth r0, r3 80a8df6: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a8dfa: b29a uxth r2, r3 80a8dfc: 23da movs r3, #218 ; 0xda 80a8dfe: 212c movs r1, #44 ; 0x2c 80a8e00: f7aa ff0e bl 8053c20 for(j = 0; j < 15; j++) 80a8e04: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80a8e08: 3301 adds r3, #1 80a8e0a: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80a8e0e: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80a8e12: 2b0e cmp r3, #14 80a8e14: d9ce bls.n 80a8db4 for(i = 0; i < 256; i++) 80a8e16: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a8e1a: 3301 adds r3, #1 80a8e1c: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80a8e20: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a8e24: 2bff cmp r3, #255 ; 0xff 80a8e26: f67f af4b bls.w 80a8cc0 break; 80a8e2a: e000 b.n 80a8e2e break; 80a8e2c: bf00 nop n = 0; 80a8e2e: 2300 movs r3, #0 80a8e30: f8c7 32a4 str.w r3, [r7, #676] ; 0x2a4 NumOverdrives = 0; 80a8e34: 4b6a ldr r3, [pc, #424] ; (80a8fe0 ) 80a8e36: 2200 movs r2, #0 80a8e38: 701a strb r2, [r3, #0] for(i = 0; i < 256; i++) 80a8e3a: 2300 movs r3, #0 80a8e3c: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80a8e40: e1a0 b.n 80a9184 LCD_SetColors(LCD_COLOR_MYGREEN, LCD_COLOR_BLACK); 80a8e42: 4965 ldr r1, [pc, #404] ; (80a8fd8 ) 80a8e44: 4867 ldr r0, [pc, #412] ; (80a8fe4 ) 80a8e46: f7aa fcb1 bl 80537ac arm_max_f32(&ScrA_f32(i * avgSPC[ViewLevel][pardata.LNE] + X0), avgSPC[ViewLevel][pardata.LNE], &mF[MAXY], &idx); 80a8e4a: 4b5e ldr r3, [pc, #376] ; (80a8fc4 ) 80a8e4c: 781b ldrb r3, [r3, #0] 80a8e4e: b2db uxtb r3, r3 80a8e50: 4618 mov r0, r3 80a8e52: 4b5d ldr r3, [pc, #372] ; (80a8fc8 ) 80a8e54: 79db ldrb r3, [r3, #7] 80a8e56: b2db uxtb r3, r3 80a8e58: 4619 mov r1, r3 80a8e5a: 4a5c ldr r2, [pc, #368] ; (80a8fcc ) 80a8e5c: 0083 lsls r3, r0, #2 80a8e5e: 4413 add r3, r2 80a8e60: 440b add r3, r1 80a8e62: 781b ldrb r3, [r3, #0] 80a8e64: 461a mov r2, r3 80a8e66: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a8e6a: fb03 f302 mul.w r3, r3, r2 80a8e6e: 4a58 ldr r2, [pc, #352] ; (80a8fd0 ) 80a8e70: 8812 ldrh r2, [r2, #0] 80a8e72: b292 uxth r2, r2 80a8e74: 4413 add r3, r2 80a8e76: 009a lsls r2, r3, #2 80a8e78: 4b56 ldr r3, [pc, #344] ; (80a8fd4 ) 80a8e7a: 4413 add r3, r2 80a8e7c: 461c mov r4, r3 80a8e7e: 4b51 ldr r3, [pc, #324] ; (80a8fc4 ) 80a8e80: 781b ldrb r3, [r3, #0] 80a8e82: b2db uxtb r3, r3 80a8e84: 4618 mov r0, r3 80a8e86: 4b50 ldr r3, [pc, #320] ; (80a8fc8 ) 80a8e88: 79db ldrb r3, [r3, #7] 80a8e8a: b2db uxtb r3, r3 80a8e8c: 4619 mov r1, r3 80a8e8e: 4a4f ldr r2, [pc, #316] ; (80a8fcc ) 80a8e90: 0083 lsls r3, r0, #2 80a8e92: 4413 add r3, r2 80a8e94: 440b add r3, r1 80a8e96: 781b ldrb r3, [r3, #0] 80a8e98: 4618 mov r0, r3 80a8e9a: f507 711a add.w r1, r7, #616 ; 0x268 80a8e9e: f507 731e add.w r3, r7, #632 ; 0x278 80a8ea2: 1d1a adds r2, r3, #4 80a8ea4: 460b mov r3, r1 80a8ea6: 4601 mov r1, r0 80a8ea8: 4620 mov r0, r4 80a8eaa: f021 f907 bl 80ca0bc iL = (uint32_t) (i * avgSPC[ViewLevel][pardata.LNE] + X0); 80a8eae: 4b45 ldr r3, [pc, #276] ; (80a8fc4 ) 80a8eb0: 781b ldrb r3, [r3, #0] 80a8eb2: b2db uxtb r3, r3 80a8eb4: 4618 mov r0, r3 80a8eb6: 4b44 ldr r3, [pc, #272] ; (80a8fc8 ) 80a8eb8: 79db ldrb r3, [r3, #7] 80a8eba: b2db uxtb r3, r3 80a8ebc: 4619 mov r1, r3 80a8ebe: 4a43 ldr r2, [pc, #268] ; (80a8fcc ) 80a8ec0: 0083 lsls r3, r0, #2 80a8ec2: 4413 add r3, r2 80a8ec4: 440b add r3, r1 80a8ec6: 781b ldrb r3, [r3, #0] 80a8ec8: 461a mov r2, r3 80a8eca: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a8ece: fb03 f302 mul.w r3, r3, r2 80a8ed2: 4a3f ldr r2, [pc, #252] ; (80a8fd0 ) 80a8ed4: 8812 ldrh r2, [r2, #0] 80a8ed6: b292 uxth r2, r2 80a8ed8: 4413 add r3, r2 80a8eda: f8c7 3290 str.w r3, [r7, #656] ; 0x290 iR = (uint32_t) (i * avgSPC[ViewLevel][pardata.LNE] + X0 + avgSPC[ViewLevel][pardata.LNE] - 1); 80a8ede: 4b39 ldr r3, [pc, #228] ; (80a8fc4 ) 80a8ee0: 781b ldrb r3, [r3, #0] 80a8ee2: b2db uxtb r3, r3 80a8ee4: 4618 mov r0, r3 80a8ee6: 4b38 ldr r3, [pc, #224] ; (80a8fc8 ) 80a8ee8: 79db ldrb r3, [r3, #7] 80a8eea: b2db uxtb r3, r3 80a8eec: 4619 mov r1, r3 80a8eee: 4a37 ldr r2, [pc, #220] ; (80a8fcc ) 80a8ef0: 0083 lsls r3, r0, #2 80a8ef2: 4413 add r3, r2 80a8ef4: 440b add r3, r1 80a8ef6: 781b ldrb r3, [r3, #0] 80a8ef8: 461a mov r2, r3 80a8efa: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a8efe: fb03 f302 mul.w r3, r3, r2 80a8f02: 4a33 ldr r2, [pc, #204] ; (80a8fd0 ) 80a8f04: 8812 ldrh r2, [r2, #0] 80a8f06: b292 uxth r2, r2 80a8f08: 4413 add r3, r2 80a8f0a: 4a2e ldr r2, [pc, #184] ; (80a8fc4 ) 80a8f0c: 7812 ldrb r2, [r2, #0] 80a8f0e: b2d2 uxtb r2, r2 80a8f10: 4614 mov r4, r2 80a8f12: 4a2d ldr r2, [pc, #180] ; (80a8fc8 ) 80a8f14: 79d2 ldrb r2, [r2, #7] 80a8f16: b2d2 uxtb r2, r2 80a8f18: 4610 mov r0, r2 80a8f1a: 492c ldr r1, [pc, #176] ; (80a8fcc ) 80a8f1c: 00a2 lsls r2, r4, #2 80a8f1e: 440a add r2, r1 80a8f20: 4402 add r2, r0 80a8f22: 7812 ldrb r2, [r2, #0] 80a8f24: 4413 add r3, r2 80a8f26: 3b01 subs r3, #1 80a8f28: f8c7 328c str.w r3, [r7, #652] ; 0x28c if(mF[MAXY] > 0.0f) 80a8f2c: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80a8f30: eef5 7ac0 vcmpe.f32 s15, #0.0 80a8f34: eef1 fa10 vmrs APSR_nzcv, fpscr 80a8f38: dd60 ble.n 80a8ffc mF[MAXY] = ((mF[MAXY] - min) * ZoomVal) + 3.0f; 80a8f3a: ed97 7a9f vldr s14, [r7, #636] ; 0x27c 80a8f3e: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80a8f42: ee37 7a67 vsub.f32 s14, s14, s15 80a8f46: 4b28 ldr r3, [pc, #160] ; (80a8fe8 ) 80a8f48: edd3 7a00 vldr s15, [r3] 80a8f4c: ee67 7a27 vmul.f32 s15, s14, s15 80a8f50: eeb0 7a08 vmov.f32 s14, #8 ; 0x40400000 3.0 80a8f54: ee77 7a87 vadd.f32 s15, s15, s14 80a8f58: edc7 7a9f vstr s15, [r7, #636] ; 0x27c if(mF[MAXY] > 32767.0f) mF[MAXY] = 32767.0f; 80a8f5c: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80a8f60: ed9f 7a22 vldr s14, [pc, #136] ; 80a8fec 80a8f64: eef4 7ac7 vcmpe.f32 s15, s14 80a8f68: eef1 fa10 vmrs APSR_nzcv, fpscr 80a8f6c: dd02 ble.n 80a8f74 80a8f6e: 4b20 ldr r3, [pc, #128] ; (80a8ff0 ) 80a8f70: f8c7 327c str.w r3, [r7, #636] ; 0x27c if(mF[MAXY] < -32767.0f) mF[MAXY] = -32767.0f; 80a8f74: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80a8f78: ed9f 7a1e vldr s14, [pc, #120] ; 80a8ff4 80a8f7c: eef4 7ac7 vcmpe.f32 s15, s14 80a8f80: eef1 fa10 vmrs APSR_nzcv, fpscr 80a8f84: d502 bpl.n 80a8f8c 80a8f86: 4b1c ldr r3, [pc, #112] ; (80a8ff8 ) 80a8f88: f8c7 327c str.w r3, [r7, #636] ; 0x27c pMax = (int16_t) (mF[MAXY] + 0.5f); 80a8f8c: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80a8f90: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80a8f94: ee77 7a87 vadd.f32 s15, s15, s14 80a8f98: eefd 7ae7 vcvt.s32.f32 s15, s15 80a8f9c: edc7 7a01 vstr s15, [r7, #4] 80a8fa0: 88bb ldrh r3, [r7, #4] 80a8fa2: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 if(pMax > 157) 80a8fa6: f9b7 32b6 ldrsh.w r3, [r7, #694] ; 0x2b6 80a8faa: 2b9d cmp r3, #157 ; 0x9d 80a8fac: dd29 ble.n 80a9002 pMax = 157; 80a8fae: 239d movs r3, #157 ; 0x9d 80a8fb0: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 NumOverdrives++; 80a8fb4: 4b0a ldr r3, [pc, #40] ; (80a8fe0 ) 80a8fb6: 781b ldrb r3, [r3, #0] 80a8fb8: 3301 adds r3, #1 80a8fba: b2da uxtb r2, r3 80a8fbc: 4b08 ldr r3, [pc, #32] ; (80a8fe0 ) 80a8fbe: 701a strb r2, [r3, #0] 80a8fc0: e01f b.n 80a9002 80a8fc2: bf00 nop 80a8fc4: 20020f74 .word 0x20020f74 80a8fc8: 20023e60 .word 0x20023e60 80a8fcc: 080ef614 .word 0x080ef614 80a8fd0: 20025d1e .word 0x20025d1e 80a8fd4: 64080000 .word 0x64080000 80a8fd8: ff0a0f1f .word 0xff0a0f1f 80a8fdc: ff66a6d3 .word 0xff66a6d3 80a8fe0: 2002164e .word 0x2002164e 80a8fe4: ff26a01f .word 0xff26a01f 80a8fe8: 20020990 .word 0x20020990 80a8fec: 46fffe00 .word 0x46fffe00 80a8ff0: 46fffe00 .word 0x46fffe00 80a8ff4: c6fffe00 .word 0xc6fffe00 80a8ff8: c6fffe00 .word 0xc6fffe00 pMax = 0; 80a8ffc: 2300 movs r3, #0 80a8ffe: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 x = 62 + i; 80a9002: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a9006: 333e adds r3, #62 ; 0x3e 80a9008: f8c7 3294 str.w r3, [r7, #660] ; 0x294 if(i == CURSOR) 80a900c: 4bb0 ldr r3, [pc, #704] ; (80a92d0 ) 80a900e: 681b ldr r3, [r3, #0] 80a9010: f8d7 22ac ldr.w r2, [r7, #684] ; 0x2ac 80a9014: 429a cmp r2, r3 80a9016: d12a bne.n 80a906e if(menupos != Cursor) 80a9018: 4bae ldr r3, [pc, #696] ; (80a92d4 ) 80a901a: 781b ldrb r3, [r3, #0] 80a901c: b2db uxtb r3, r3 80a901e: 2b06 cmp r3, #6 80a9020: d004 beq.n 80a902c LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80a9022: 49ad ldr r1, [pc, #692] ; (80a92d8 ) 80a9024: 48ad ldr r0, [pc, #692] ; (80a92dc ) 80a9026: f7aa fbc1 bl 80537ac 80a902a: e003 b.n 80a9034 else LCD_SetColors(LCD_COLOR_RED, LCD_COLOR_BLACK); 80a902c: 49aa ldr r1, [pc, #680] ; (80a92d8 ) 80a902e: 48ac ldr r0, [pc, #688] ; (80a92e0 ) 80a9030: f7aa fbbc bl 80537ac BSP_LCD_DrawLine(x, 44, x, 218); 80a9034: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a9038: b298 uxth r0, r3 80a903a: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a903e: b29a uxth r2, r3 80a9040: 23da movs r3, #218 ; 0xda 80a9042: 212c movs r1, #44 ; 0x2c 80a9044: f7aa fdec bl 8053c20 LCD_SetColors(LCD_COLOR_DARKGREEN, LCD_COLOR_BLACK); 80a9048: 49a3 ldr r1, [pc, #652] ; (80a92d8 ) 80a904a: 48a6 ldr r0, [pc, #664] ; (80a92e4 ) 80a904c: f7aa fbae bl 80537ac BSP_LCD_DrawLine(x, 219, x, 218 - pMax); 80a9050: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a9054: b298 uxth r0, r3 80a9056: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a905a: b29a uxth r2, r3 80a905c: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80a9060: f1c3 03da rsb r3, r3, #218 ; 0xda 80a9064: b29b uxth r3, r3 80a9066: 21db movs r1, #219 ; 0xdb 80a9068: f7aa fdda bl 8053c20 80a906c: e011 b.n 80a9092 LCD_SetColors(LCD_COLOR_MYGREEN, LCD_COLOR_BLACK); 80a906e: 499a ldr r1, [pc, #616] ; (80a92d8 ) 80a9070: 489d ldr r0, [pc, #628] ; (80a92e8 ) 80a9072: f7aa fb9b bl 80537ac BSP_LCD_DrawLine(x, 218, x, 218 - pMax); 80a9076: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a907a: b298 uxth r0, r3 80a907c: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a9080: b29a uxth r2, r3 80a9082: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80a9086: f1c3 03da rsb r3, r3, #218 ; 0xda 80a908a: b29b uxth r3, r3 80a908c: 21da movs r1, #218 ; 0xda 80a908e: f7aa fdc7 bl 8053c20 for(j = i * avgSPC[ViewLevel][pardata.LNE] + X0; j < i * avgSPC[ViewLevel][pardata.LNE] + X0 + avgSPC[ViewLevel][pardata.LNE]; j++) 80a9092: 4b96 ldr r3, [pc, #600] ; (80a92ec ) 80a9094: 781b ldrb r3, [r3, #0] 80a9096: b2db uxtb r3, r3 80a9098: 4618 mov r0, r3 80a909a: 4b95 ldr r3, [pc, #596] ; (80a92f0 ) 80a909c: 79db ldrb r3, [r3, #7] 80a909e: b2db uxtb r3, r3 80a90a0: 4619 mov r1, r3 80a90a2: 4a94 ldr r2, [pc, #592] ; (80a92f4 ) 80a90a4: 0083 lsls r3, r0, #2 80a90a6: 4413 add r3, r2 80a90a8: 440b add r3, r1 80a90aa: 781b ldrb r3, [r3, #0] 80a90ac: 461a mov r2, r3 80a90ae: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a90b2: fb03 f302 mul.w r3, r3, r2 80a90b6: 4a90 ldr r2, [pc, #576] ; (80a92f8 ) 80a90b8: 8812 ldrh r2, [r2, #0] 80a90ba: b292 uxth r2, r2 80a90bc: 4413 add r3, r2 80a90be: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80a90c2: e028 b.n 80a9116 if(Freq[j]) 80a90c4: 4a8d ldr r2, [pc, #564] ; (80a92fc ) 80a90c6: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80a90ca: 4413 add r3, r2 80a90cc: 781b ldrb r3, [r3, #0] 80a90ce: 2b00 cmp r3, #0 80a90d0: d01c beq.n 80a910c LCD_SetColors(0xFFFFDA10, LCD_COLOR_BLACK); 80a90d2: 4981 ldr r1, [pc, #516] ; (80a92d8 ) 80a90d4: 488a ldr r0, [pc, #552] ; (80a9300 ) 80a90d6: f7aa fb69 bl 80537ac BSP_LCD_DrawPixel(x, 218 - pMax, 0xFFFFDA10); 80a90da: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a90de: b298 uxth r0, r3 80a90e0: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80a90e4: f1c3 03da rsb r3, r3, #218 ; 0xda 80a90e8: b29b uxth r3, r3 80a90ea: 4a85 ldr r2, [pc, #532] ; (80a9300 ) 80a90ec: 4619 mov r1, r3 80a90ee: f7aa ff87 bl 8054000 BSP_LCD_DrawPixel(x, 219 - pMax, 0xFFFFDA10); 80a90f2: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a90f6: b298 uxth r0, r3 80a90f8: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80a90fc: f1c3 03db rsb r3, r3, #219 ; 0xdb 80a9100: b29b uxth r3, r3 80a9102: 4a7f ldr r2, [pc, #508] ; (80a9300 ) 80a9104: 4619 mov r1, r3 80a9106: f7aa ff7b bl 8054000 break; 80a910a: e02c b.n 80a9166 for(j = i * avgSPC[ViewLevel][pardata.LNE] + X0; j < i * avgSPC[ViewLevel][pardata.LNE] + X0 + avgSPC[ViewLevel][pardata.LNE]; j++) 80a910c: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80a9110: 3301 adds r3, #1 80a9112: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80a9116: 4b75 ldr r3, [pc, #468] ; (80a92ec ) 80a9118: 781b ldrb r3, [r3, #0] 80a911a: b2db uxtb r3, r3 80a911c: 4618 mov r0, r3 80a911e: 4b74 ldr r3, [pc, #464] ; (80a92f0 ) 80a9120: 79db ldrb r3, [r3, #7] 80a9122: b2db uxtb r3, r3 80a9124: 4619 mov r1, r3 80a9126: 4a73 ldr r2, [pc, #460] ; (80a92f4 ) 80a9128: 0083 lsls r3, r0, #2 80a912a: 4413 add r3, r2 80a912c: 440b add r3, r1 80a912e: 781b ldrb r3, [r3, #0] 80a9130: 461a mov r2, r3 80a9132: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a9136: fb03 f302 mul.w r3, r3, r2 80a913a: 4a6f ldr r2, [pc, #444] ; (80a92f8 ) 80a913c: 8812 ldrh r2, [r2, #0] 80a913e: b292 uxth r2, r2 80a9140: 4413 add r3, r2 80a9142: 4a6a ldr r2, [pc, #424] ; (80a92ec ) 80a9144: 7812 ldrb r2, [r2, #0] 80a9146: b2d2 uxtb r2, r2 80a9148: 4614 mov r4, r2 80a914a: 4a69 ldr r2, [pc, #420] ; (80a92f0 ) 80a914c: 79d2 ldrb r2, [r2, #7] 80a914e: b2d2 uxtb r2, r2 80a9150: 4610 mov r0, r2 80a9152: 4968 ldr r1, [pc, #416] ; (80a92f4 ) 80a9154: 00a2 lsls r2, r4, #2 80a9156: 440a add r2, r1 80a9158: 4402 add r2, r0 80a915a: 7812 ldrb r2, [r2, #0] 80a915c: 441a add r2, r3 80a915e: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80a9162: 429a cmp r2, r3 80a9164: d8ae bhi.n 80a90c4 if(pMax > Maximum) 80a9166: f9b7 22b6 ldrsh.w r2, [r7, #694] ; 0x2b6 80a916a: f9b7 32b4 ldrsh.w r3, [r7, #692] ; 0x2b4 80a916e: 429a cmp r2, r3 80a9170: dd03 ble.n 80a917a Maximum = pMax; 80a9172: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80a9176: f8a7 32b4 strh.w r3, [r7, #692] ; 0x2b4 for(i = 0; i < 256; i++) 80a917a: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a917e: 3301 adds r3, #1 80a9180: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80a9184: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a9188: 2bff cmp r3, #255 ; 0xff 80a918a: f67f ae5a bls.w 80a8e42 80a918e: e178 b.n 80a9482 NumOverdrives = 0; 80a9190: 4b5c ldr r3, [pc, #368] ; (80a9304 ) 80a9192: 2200 movs r2, #0 80a9194: 701a strb r2, [r3, #0] for(i = 0; i < 256; i++) 80a9196: 2300 movs r3, #0 80a9198: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80a919c: e16c b.n 80a9478 LCD_SetColors(LCD_COLOR_MYGREEN, LCD_COLOR_BLACK); 80a919e: 494e ldr r1, [pc, #312] ; (80a92d8 ) 80a91a0: 4851 ldr r0, [pc, #324] ; (80a92e8 ) 80a91a2: f7aa fb03 bl 80537ac arm_max_f32(&ScrA_f32(i * avgSPC[ViewLevel][pardata.LNE] + X0), avgSPC[ViewLevel][pardata.LNE], &mF[MAXY], &idx); 80a91a6: 4b51 ldr r3, [pc, #324] ; (80a92ec ) 80a91a8: 781b ldrb r3, [r3, #0] 80a91aa: b2db uxtb r3, r3 80a91ac: 4618 mov r0, r3 80a91ae: 4b50 ldr r3, [pc, #320] ; (80a92f0 ) 80a91b0: 79db ldrb r3, [r3, #7] 80a91b2: b2db uxtb r3, r3 80a91b4: 4619 mov r1, r3 80a91b6: 4a4f ldr r2, [pc, #316] ; (80a92f4 ) 80a91b8: 0083 lsls r3, r0, #2 80a91ba: 4413 add r3, r2 80a91bc: 440b add r3, r1 80a91be: 781b ldrb r3, [r3, #0] 80a91c0: 461a mov r2, r3 80a91c2: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a91c6: fb03 f302 mul.w r3, r3, r2 80a91ca: 4a4b ldr r2, [pc, #300] ; (80a92f8 ) 80a91cc: 8812 ldrh r2, [r2, #0] 80a91ce: b292 uxth r2, r2 80a91d0: 4413 add r3, r2 80a91d2: 009a lsls r2, r3, #2 80a91d4: 4b4c ldr r3, [pc, #304] ; (80a9308 ) 80a91d6: 4413 add r3, r2 80a91d8: 461c mov r4, r3 80a91da: 4b44 ldr r3, [pc, #272] ; (80a92ec ) 80a91dc: 781b ldrb r3, [r3, #0] 80a91de: b2db uxtb r3, r3 80a91e0: 4618 mov r0, r3 80a91e2: 4b43 ldr r3, [pc, #268] ; (80a92f0 ) 80a91e4: 79db ldrb r3, [r3, #7] 80a91e6: b2db uxtb r3, r3 80a91e8: 4619 mov r1, r3 80a91ea: 4a42 ldr r2, [pc, #264] ; (80a92f4 ) 80a91ec: 0083 lsls r3, r0, #2 80a91ee: 4413 add r3, r2 80a91f0: 440b add r3, r1 80a91f2: 781b ldrb r3, [r3, #0] 80a91f4: 4618 mov r0, r3 80a91f6: f507 711a add.w r1, r7, #616 ; 0x268 80a91fa: f507 731e add.w r3, r7, #632 ; 0x278 80a91fe: 1d1a adds r2, r3, #4 80a9200: 460b mov r3, r1 80a9202: 4601 mov r1, r0 80a9204: 4620 mov r0, r4 80a9206: f020 ff59 bl 80ca0bc if(mF[MAXY] > 0.0f) 80a920a: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80a920e: eef5 7ac0 vcmpe.f32 s15, #0.0 80a9212: eef1 fa10 vmrs APSR_nzcv, fpscr 80a9216: dd43 ble.n 80a92a0 mF[MAXY] = ((mF[MAXY] - min) * ZoomVal) + 3.0f; 80a9218: ed97 7a9f vldr s14, [r7, #636] ; 0x27c 80a921c: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80a9220: ee37 7a67 vsub.f32 s14, s14, s15 80a9224: 4b39 ldr r3, [pc, #228] ; (80a930c ) 80a9226: edd3 7a00 vldr s15, [r3] 80a922a: ee67 7a27 vmul.f32 s15, s14, s15 80a922e: eeb0 7a08 vmov.f32 s14, #8 ; 0x40400000 3.0 80a9232: ee77 7a87 vadd.f32 s15, s15, s14 80a9236: edc7 7a9f vstr s15, [r7, #636] ; 0x27c if(mF[MAXY] > 32767.0f) mF[MAXY] = 32767.0f; 80a923a: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80a923e: ed9f 7a34 vldr s14, [pc, #208] ; 80a9310 80a9242: eef4 7ac7 vcmpe.f32 s15, s14 80a9246: eef1 fa10 vmrs APSR_nzcv, fpscr 80a924a: dd02 ble.n 80a9252 80a924c: 4b31 ldr r3, [pc, #196] ; (80a9314 ) 80a924e: f8c7 327c str.w r3, [r7, #636] ; 0x27c if(mF[MAXY] < -32767.0f) mF[MAXY] = -32767.0f; 80a9252: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80a9256: ed9f 7a30 vldr s14, [pc, #192] ; 80a9318 80a925a: eef4 7ac7 vcmpe.f32 s15, s14 80a925e: eef1 fa10 vmrs APSR_nzcv, fpscr 80a9262: d502 bpl.n 80a926a 80a9264: 4b2d ldr r3, [pc, #180] ; (80a931c ) 80a9266: f8c7 327c str.w r3, [r7, #636] ; 0x27c pMax = (int16_t) (mF[MAXY] + 0.5f); 80a926a: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80a926e: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80a9272: ee77 7a87 vadd.f32 s15, s15, s14 80a9276: eefd 7ae7 vcvt.s32.f32 s15, s15 80a927a: edc7 7a01 vstr s15, [r7, #4] 80a927e: 88bb ldrh r3, [r7, #4] 80a9280: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 if(pMax > 157) 80a9284: f9b7 32b6 ldrsh.w r3, [r7, #694] ; 0x2b6 80a9288: 2b9d cmp r3, #157 ; 0x9d 80a928a: dd0c ble.n 80a92a6 pMax = 157; 80a928c: 239d movs r3, #157 ; 0x9d 80a928e: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 NumOverdrives++; 80a9292: 4b1c ldr r3, [pc, #112] ; (80a9304 ) 80a9294: 781b ldrb r3, [r3, #0] 80a9296: 3301 adds r3, #1 80a9298: b2da uxtb r2, r3 80a929a: 4b1a ldr r3, [pc, #104] ; (80a9304 ) 80a929c: 701a strb r2, [r3, #0] 80a929e: e002 b.n 80a92a6 pMax = 0; 80a92a0: 2300 movs r3, #0 80a92a2: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 x = 62 + i; 80a92a6: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a92aa: 333e adds r3, #62 ; 0x3e 80a92ac: f8c7 3294 str.w r3, [r7, #660] ; 0x294 if(i == CURSOR) 80a92b0: 4b07 ldr r3, [pc, #28] ; (80a92d0 ) 80a92b2: 681b ldr r3, [r3, #0] 80a92b4: f8d7 22ac ldr.w r2, [r7, #684] ; 0x2ac 80a92b8: 429a cmp r2, r3 80a92ba: d156 bne.n 80a936a if(menupos != Cursor) 80a92bc: 4b05 ldr r3, [pc, #20] ; (80a92d4 ) 80a92be: 781b ldrb r3, [r3, #0] 80a92c0: b2db uxtb r3, r3 80a92c2: 2b06 cmp r3, #6 80a92c4: d02c beq.n 80a9320 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80a92c6: 4904 ldr r1, [pc, #16] ; (80a92d8 ) 80a92c8: 4804 ldr r0, [pc, #16] ; (80a92dc ) 80a92ca: f7aa fa6f bl 80537ac 80a92ce: e02b b.n 80a9328 80a92d0: 2002006c .word 0x2002006c 80a92d4: 20020070 .word 0x20020070 80a92d8: ff0a0f1f .word 0xff0a0f1f 80a92dc: ff808080 .word 0xff808080 80a92e0: ffff0000 .word 0xffff0000 80a92e4: ff008000 .word 0xff008000 80a92e8: ff26a01f .word 0xff26a01f 80a92ec: 20020f74 .word 0x20020f74 80a92f0: 20023e60 .word 0x20023e60 80a92f4: 080ef614 .word 0x080ef614 80a92f8: 20025d1e .word 0x20025d1e 80a92fc: 20018000 .word 0x20018000 80a9300: ffffda10 .word 0xffffda10 80a9304: 2002164e .word 0x2002164e 80a9308: 64080000 .word 0x64080000 80a930c: 20020990 .word 0x20020990 80a9310: 46fffe00 .word 0x46fffe00 80a9314: 46fffe00 .word 0x46fffe00 80a9318: c6fffe00 .word 0xc6fffe00 80a931c: c6fffe00 .word 0xc6fffe00 else LCD_SetColors(LCD_COLOR_RED, LCD_COLOR_BLACK); 80a9320: 49c2 ldr r1, [pc, #776] ; (80a962c ) 80a9322: 48c3 ldr r0, [pc, #780] ; (80a9630 ) 80a9324: f7aa fa42 bl 80537ac BSP_LCD_DrawLine(x, 44, x, 218); 80a9328: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a932c: b298 uxth r0, r3 80a932e: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a9332: b29a uxth r2, r3 80a9334: 23da movs r3, #218 ; 0xda 80a9336: 212c movs r1, #44 ; 0x2c 80a9338: f7aa fc72 bl 8053c20 LCD_SetColors(LCD_COLOR_DARKGREEN, LCD_COLOR_BLACK); 80a933c: 49bb ldr r1, [pc, #748] ; (80a962c ) 80a933e: 48bd ldr r0, [pc, #756] ; (80a9634 ) 80a9340: f7aa fa34 bl 80537ac BSP_LCD_DrawLine(x, 219, x, 218 - pMax); 80a9344: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a9348: b298 uxth r0, r3 80a934a: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a934e: b29a uxth r2, r3 80a9350: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80a9354: f1c3 03da rsb r3, r3, #218 ; 0xda 80a9358: b29b uxth r3, r3 80a935a: 21db movs r1, #219 ; 0xdb 80a935c: f7aa fc60 bl 8053c20 LCD_SetColors(LCD_COLOR_MYGREEN, LCD_COLOR_BLACK); 80a9360: 49b2 ldr r1, [pc, #712] ; (80a962c ) 80a9362: 48b5 ldr r0, [pc, #724] ; (80a9638 ) 80a9364: f7aa fa22 bl 80537ac 80a9368: e00d b.n 80a9386 BSP_LCD_DrawLine(x, 218, x, 218 - pMax); 80a936a: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a936e: b298 uxth r0, r3 80a9370: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a9374: b29a uxth r2, r3 80a9376: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80a937a: f1c3 03da rsb r3, r3, #218 ; 0xda 80a937e: b29b uxth r3, r3 80a9380: 21da movs r1, #218 ; 0xda 80a9382: f7aa fc4d bl 8053c20 for(j = i * avgSPC[ViewLevel][pardata.LNE] + X0; j < i * avgSPC[ViewLevel][pardata.LNE] + X0 + avgSPC[ViewLevel][pardata.LNE]; j++) 80a9386: 4bad ldr r3, [pc, #692] ; (80a963c ) 80a9388: 781b ldrb r3, [r3, #0] 80a938a: b2db uxtb r3, r3 80a938c: 4618 mov r0, r3 80a938e: 4bac ldr r3, [pc, #688] ; (80a9640 ) 80a9390: 79db ldrb r3, [r3, #7] 80a9392: b2db uxtb r3, r3 80a9394: 4619 mov r1, r3 80a9396: 4aab ldr r2, [pc, #684] ; (80a9644 ) 80a9398: 0083 lsls r3, r0, #2 80a939a: 4413 add r3, r2 80a939c: 440b add r3, r1 80a939e: 781b ldrb r3, [r3, #0] 80a93a0: 461a mov r2, r3 80a93a2: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a93a6: fb03 f302 mul.w r3, r3, r2 80a93aa: 4aa7 ldr r2, [pc, #668] ; (80a9648 ) 80a93ac: 8812 ldrh r2, [r2, #0] 80a93ae: b292 uxth r2, r2 80a93b0: 4413 add r3, r2 80a93b2: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80a93b6: e028 b.n 80a940a if(Freq[j]) 80a93b8: 4aa4 ldr r2, [pc, #656] ; (80a964c ) 80a93ba: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80a93be: 4413 add r3, r2 80a93c0: 781b ldrb r3, [r3, #0] 80a93c2: 2b00 cmp r3, #0 80a93c4: d01c beq.n 80a9400 LCD_SetColors(0xFFFFDA10, LCD_COLOR_BLACK); 80a93c6: 4999 ldr r1, [pc, #612] ; (80a962c ) 80a93c8: 48a1 ldr r0, [pc, #644] ; (80a9650 ) 80a93ca: f7aa f9ef bl 80537ac BSP_LCD_DrawPixel(x, 218 - pMax, 0xFFFFDA10); 80a93ce: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a93d2: b298 uxth r0, r3 80a93d4: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80a93d8: f1c3 03da rsb r3, r3, #218 ; 0xda 80a93dc: b29b uxth r3, r3 80a93de: 4a9c ldr r2, [pc, #624] ; (80a9650 ) 80a93e0: 4619 mov r1, r3 80a93e2: f7aa fe0d bl 8054000 BSP_LCD_DrawPixel(x, 219 - pMax, 0xFFFFDA10); 80a93e6: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a93ea: b298 uxth r0, r3 80a93ec: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80a93f0: f1c3 03db rsb r3, r3, #219 ; 0xdb 80a93f4: b29b uxth r3, r3 80a93f6: 4a96 ldr r2, [pc, #600] ; (80a9650 ) 80a93f8: 4619 mov r1, r3 80a93fa: f7aa fe01 bl 8054000 break; 80a93fe: e02c b.n 80a945a for(j = i * avgSPC[ViewLevel][pardata.LNE] + X0; j < i * avgSPC[ViewLevel][pardata.LNE] + X0 + avgSPC[ViewLevel][pardata.LNE]; j++) 80a9400: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80a9404: 3301 adds r3, #1 80a9406: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80a940a: 4b8c ldr r3, [pc, #560] ; (80a963c ) 80a940c: 781b ldrb r3, [r3, #0] 80a940e: b2db uxtb r3, r3 80a9410: 4618 mov r0, r3 80a9412: 4b8b ldr r3, [pc, #556] ; (80a9640 ) 80a9414: 79db ldrb r3, [r3, #7] 80a9416: b2db uxtb r3, r3 80a9418: 4619 mov r1, r3 80a941a: 4a8a ldr r2, [pc, #552] ; (80a9644 ) 80a941c: 0083 lsls r3, r0, #2 80a941e: 4413 add r3, r2 80a9420: 440b add r3, r1 80a9422: 781b ldrb r3, [r3, #0] 80a9424: 461a mov r2, r3 80a9426: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a942a: fb03 f302 mul.w r3, r3, r2 80a942e: 4a86 ldr r2, [pc, #536] ; (80a9648 ) 80a9430: 8812 ldrh r2, [r2, #0] 80a9432: b292 uxth r2, r2 80a9434: 4413 add r3, r2 80a9436: 4a81 ldr r2, [pc, #516] ; (80a963c ) 80a9438: 7812 ldrb r2, [r2, #0] 80a943a: b2d2 uxtb r2, r2 80a943c: 4614 mov r4, r2 80a943e: 4a80 ldr r2, [pc, #512] ; (80a9640 ) 80a9440: 79d2 ldrb r2, [r2, #7] 80a9442: b2d2 uxtb r2, r2 80a9444: 4610 mov r0, r2 80a9446: 497f ldr r1, [pc, #508] ; (80a9644 ) 80a9448: 00a2 lsls r2, r4, #2 80a944a: 440a add r2, r1 80a944c: 4402 add r2, r0 80a944e: 7812 ldrb r2, [r2, #0] 80a9450: 441a add r2, r3 80a9452: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80a9456: 429a cmp r2, r3 80a9458: d8ae bhi.n 80a93b8 if(pMax > Maximum) 80a945a: f9b7 22b6 ldrsh.w r2, [r7, #694] ; 0x2b6 80a945e: f9b7 32b4 ldrsh.w r3, [r7, #692] ; 0x2b4 80a9462: 429a cmp r2, r3 80a9464: dd03 ble.n 80a946e Maximum = pMax; 80a9466: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80a946a: f8a7 32b4 strh.w r3, [r7, #692] ; 0x2b4 for(i = 0; i < 256; i++) 80a946e: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a9472: 3301 adds r3, #1 80a9474: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80a9478: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a947c: 2bff cmp r3, #255 ; 0xff 80a947e: f67f ae8e bls.w 80a919e Maximum = ABS(Maximum); 80a9482: f9b7 32b4 ldrsh.w r3, [r7, #692] ; 0x2b4 80a9486: 2b00 cmp r3, #0 80a9488: bfb8 it lt 80a948a: 425b neglt r3, r3 80a948c: f8a7 32b4 strh.w r3, [r7, #692] ; 0x2b4 if((Maximum < 30) && (pardata.OPTIONS & 0x4)) 80a9490: f9b7 32b4 ldrsh.w r3, [r7, #692] ; 0x2b4 80a9494: 2b1d cmp r3, #29 80a9496: dc02 bgt.n 80a949e 80a9498: 4b69 ldr r3, [pc, #420] ; (80a9640 ) 80a949a: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 pMin = 0; 80a949e: 2300 movs r3, #0 80a94a0: f8a7 32b2 strh.w r3, [r7, #690] ; 0x2b2 LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 80a94a4: 4961 ldr r1, [pc, #388] ; (80a962c ) 80a94a6: 486b ldr r0, [pc, #428] ; (80a9654 ) 80a94a8: f7aa f980 bl 80537ac for(i = 0; i < 256; i++) 80a94ac: 2300 movs r3, #0 80a94ae: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80a94b2: e0b4 b.n 80a961e x = 62 + i; 80a94b4: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a94b8: 333e adds r3, #62 ; 0x3e 80a94ba: 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); 80a94be: 4b5f ldr r3, [pc, #380] ; (80a963c ) 80a94c0: 781b ldrb r3, [r3, #0] 80a94c2: b2db uxtb r3, r3 80a94c4: 4618 mov r0, r3 80a94c6: 4b5e ldr r3, [pc, #376] ; (80a9640 ) 80a94c8: 79db ldrb r3, [r3, #7] 80a94ca: b2db uxtb r3, r3 80a94cc: 4619 mov r1, r3 80a94ce: 4a5d ldr r2, [pc, #372] ; (80a9644 ) 80a94d0: 0083 lsls r3, r0, #2 80a94d2: 4413 add r3, r2 80a94d4: 440b add r3, r1 80a94d6: 781b ldrb r3, [r3, #0] 80a94d8: 461a mov r2, r3 80a94da: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a94de: fb03 f302 mul.w r3, r3, r2 80a94e2: 4a59 ldr r2, [pc, #356] ; (80a9648 ) 80a94e4: 8812 ldrh r2, [r2, #0] 80a94e6: b292 uxth r2, r2 80a94e8: 4413 add r3, r2 80a94ea: 009a lsls r2, r3, #2 80a94ec: 4b5a ldr r3, [pc, #360] ; (80a9658 ) 80a94ee: 4413 add r3, r2 80a94f0: 461c mov r4, r3 80a94f2: 4b52 ldr r3, [pc, #328] ; (80a963c ) 80a94f4: 781b ldrb r3, [r3, #0] 80a94f6: b2db uxtb r3, r3 80a94f8: 4618 mov r0, r3 80a94fa: 4b51 ldr r3, [pc, #324] ; (80a9640 ) 80a94fc: 79db ldrb r3, [r3, #7] 80a94fe: b2db uxtb r3, r3 80a9500: 4619 mov r1, r3 80a9502: 4a50 ldr r2, [pc, #320] ; (80a9644 ) 80a9504: 0083 lsls r3, r0, #2 80a9506: 4413 add r3, r2 80a9508: 440b add r3, r1 80a950a: 781b ldrb r3, [r3, #0] 80a950c: 4618 mov r0, r3 80a950e: f507 711a add.w r1, r7, #616 ; 0x268 80a9512: f507 731e add.w r3, r7, #632 ; 0x278 80a9516: 1d1a adds r2, r3, #4 80a9518: 460b mov r3, r1 80a951a: 4601 mov r1, r0 80a951c: 4620 mov r0, r4 80a951e: f020 fdcd bl 80ca0bc if(mF[MAXY] != 0.0f) 80a9522: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80a9526: eef5 7a40 vcmp.f32 s15, #0.0 80a952a: eef1 fa10 vmrs APSR_nzcv, fpscr 80a952e: d060 beq.n 80a95f2 mF[MAXY] = ((mF[MAXY] - min) * ZoomVal) + 3.0f; 80a9530: ed97 7a9f vldr s14, [r7, #636] ; 0x27c 80a9534: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80a9538: ee37 7a67 vsub.f32 s14, s14, s15 80a953c: 4b47 ldr r3, [pc, #284] ; (80a965c ) 80a953e: edd3 7a00 vldr s15, [r3] 80a9542: ee67 7a27 vmul.f32 s15, s14, s15 80a9546: eeb0 7a08 vmov.f32 s14, #8 ; 0x40400000 3.0 80a954a: ee77 7a87 vadd.f32 s15, s15, s14 80a954e: edc7 7a9f vstr s15, [r7, #636] ; 0x27c if(mF[MAXY] > 32767.0f) mF[MAXY] = 32767.0f; 80a9552: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80a9556: ed9f 7a42 vldr s14, [pc, #264] ; 80a9660 80a955a: eef4 7ac7 vcmpe.f32 s15, s14 80a955e: eef1 fa10 vmrs APSR_nzcv, fpscr 80a9562: dd02 ble.n 80a956a 80a9564: 4b3f ldr r3, [pc, #252] ; (80a9664 ) 80a9566: f8c7 327c str.w r3, [r7, #636] ; 0x27c if(mF[MAXY] < -32767.0f) mF[MAXY] = -32767.0f; 80a956a: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80a956e: ed9f 7a3e vldr s14, [pc, #248] ; 80a9668 80a9572: eef4 7ac7 vcmpe.f32 s15, s14 80a9576: eef1 fa10 vmrs APSR_nzcv, fpscr 80a957a: d502 bpl.n 80a9582 80a957c: 4b3b ldr r3, [pc, #236] ; (80a966c ) 80a957e: f8c7 327c str.w r3, [r7, #636] ; 0x27c pMax = (int16_t) (mF[MAXY] + 0.5f); 80a9582: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80a9586: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80a958a: ee77 7a87 vadd.f32 s15, s15, s14 80a958e: eefd 7ae7 vcvt.s32.f32 s15, s15 80a9592: edc7 7a01 vstr s15, [r7, #4] 80a9596: 88bb ldrh r3, [r7, #4] 80a9598: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 if(pMax > 157) 80a959c: f9b7 32b6 ldrsh.w r3, [r7, #694] ; 0x2b6 80a95a0: 2b9d cmp r3, #157 ; 0x9d 80a95a2: dd02 ble.n 80a95aa pMax = 157; 80a95a4: 239d movs r3, #157 ; 0x9d 80a95a6: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 if(pMax < 0) 80a95aa: f9b7 32b6 ldrsh.w r3, [r7, #694] ; 0x2b6 80a95ae: 2b00 cmp r3, #0 80a95b0: da02 bge.n 80a95b8 pMax = 0; 80a95b2: 2300 movs r3, #0 80a95b4: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 if(i == 0) { 80a95b8: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a95bc: 2b00 cmp r3, #0 80a95be: d103 bne.n 80a95c8 pMin = pMax; 80a95c0: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80a95c4: f8a7 32b2 strh.w r3, [r7, #690] ; 0x2b2 BSP_LCD_DrawLine(x - 1, 218 - pMin, x, 218 - pMax); 80a95c8: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a95cc: b29b uxth r3, r3 80a95ce: 3b01 subs r3, #1 80a95d0: b298 uxth r0, r3 80a95d2: f8b7 32b2 ldrh.w r3, [r7, #690] ; 0x2b2 80a95d6: f1c3 03da rsb r3, r3, #218 ; 0xda 80a95da: b299 uxth r1, r3 80a95dc: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a95e0: b29a uxth r2, r3 80a95e2: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80a95e6: f1c3 03da rsb r3, r3, #218 ; 0xda 80a95ea: b29b uxth r3, r3 80a95ec: f7aa fb18 bl 8053c20 80a95f0: e00c b.n 80a960c pMax = 0; 80a95f2: 2300 movs r3, #0 80a95f4: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 BSP_LCD_DrawLine(x, 218, x, 218); 80a95f8: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a95fc: b298 uxth r0, r3 80a95fe: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a9602: b29a uxth r2, r3 80a9604: 23da movs r3, #218 ; 0xda 80a9606: 21da movs r1, #218 ; 0xda 80a9608: f7aa fb0a bl 8053c20 pMin = pMax; 80a960c: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80a9610: f8a7 32b2 strh.w r3, [r7, #690] ; 0x2b2 for(i = 0; i < 256; i++) 80a9614: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a9618: 3301 adds r3, #1 80a961a: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80a961e: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a9622: 2bff cmp r3, #255 ; 0xff 80a9624: f67f af46 bls.w 80a94b4 } 80a9628: f002 bc1a b.w 80abe60 80a962c: ff0a0f1f .word 0xff0a0f1f 80a9630: ffff0000 .word 0xffff0000 80a9634: ff008000 .word 0xff008000 80a9638: ff26a01f .word 0xff26a01f 80a963c: 20020f74 .word 0x20020f74 80a9640: 20023e60 .word 0x20023e60 80a9644: 080ef614 .word 0x080ef614 80a9648: 20025d1e .word 0x20025d1e 80a964c: 20018000 .word 0x20018000 80a9650: ffffda10 .word 0xffffda10 80a9654: ffd3d3d3 .word 0xffd3d3d3 80a9658: 64090000 .word 0x64090000 80a965c: 20020990 .word 0x20020990 80a9660: 46fffe00 .word 0x46fffe00 80a9664: 46fffe00 .word 0x46fffe00 80a9668: c6fffe00 .word 0xc6fffe00 80a966c: c6fffe00 .word 0xc6fffe00 if(pardata.SYG == UDAR) 80a9670: 4ba8 ldr r3, [pc, #672] ; (80a9914 ) 80a9672: 781b ldrb r3, [r3, #0] 80a9674: b2db uxtb r3, r3 80a9676: 2b09 cmp r3, #9 80a9678: f040 83e6 bne.w 80a9e48 if(READY_TO_SEE) 80a967c: 4ba6 ldr r3, [pc, #664] ; (80a9918 ) 80a967e: 781b ldrb r3, [r3, #0] 80a9680: b2db uxtb r3, r3 80a9682: 2b00 cmp r3, #0 80a9684: f002 83ec beq.w 80abe60 if(AUTOZOOM) 80a9688: 4ba4 ldr r3, [pc, #656] ; (80a991c ) 80a968a: 781b ldrb r3, [r3, #0] 80a968c: b2db uxtb r3, r3 80a968e: 2b00 cmp r3, #0 80a9690: f000 810f beq.w 80a98b2 if(pardata.MSH == LOG) 80a9694: 4b9f ldr r3, [pc, #636] ; (80a9914 ) 80a9696: 7a9b ldrb r3, [r3, #10] 80a9698: b2db uxtb r3, r3 80a969a: 2b01 cmp r3, #1 80a969c: f040 808a bne.w 80a97b4 k = 0; 80a96a0: 2300 movs r3, #0 80a96a2: f8c7 32a0 str.w r3, [r7, #672] ; 0x2a0 f = ScrA_f32(lX + k); 80a96a6: 4b9e ldr r3, [pc, #632] ; (80a9920 ) 80a96a8: 881b ldrh r3, [r3, #0] 80a96aa: b29b uxth r3, r3 80a96ac: 461a mov r2, r3 80a96ae: f8d7 32a0 ldr.w r3, [r7, #672] ; 0x2a0 80a96b2: 4413 add r3, r2 80a96b4: 009a lsls r2, r3, #2 80a96b6: 4b9b ldr r3, [pc, #620] ; (80a9924 ) 80a96b8: 4413 add r3, r2 80a96ba: 681b ldr r3, [r3, #0] 80a96bc: f8c7 326c str.w r3, [r7, #620] ; 0x26c LinToLog(&f, &f); 80a96c0: f507 721b add.w r2, r7, #620 ; 0x26c 80a96c4: f507 731b add.w r3, r7, #620 ; 0x26c 80a96c8: 4611 mov r1, r2 80a96ca: 4618 mov r0, r3 80a96cc: f7bb fbec bl 8064ea8 if(f <= 0.0f) k++; 80a96d0: edd7 7a9b vldr s15, [r7, #620] ; 0x26c 80a96d4: eef5 7ac0 vcmpe.f32 s15, #0.0 80a96d8: eef1 fa10 vmrs APSR_nzcv, fpscr 80a96dc: d95c bls.n 80a9798 else break; 80a96de: bf00 nop arm_max_f32(&ScrA_f32(lX + k), rX-lX-k-1, &max, &idx); 80a96e0: 4b8f ldr r3, [pc, #572] ; (80a9920 ) 80a96e2: 881b ldrh r3, [r3, #0] 80a96e4: b29b uxth r3, r3 80a96e6: 461a mov r2, r3 80a96e8: f8d7 32a0 ldr.w r3, [r7, #672] ; 0x2a0 80a96ec: 4413 add r3, r2 80a96ee: 009a lsls r2, r3, #2 80a96f0: 4b8c ldr r3, [pc, #560] ; (80a9924 ) 80a96f2: 4413 add r3, r2 80a96f4: 4618 mov r0, r3 80a96f6: 4b8c ldr r3, [pc, #560] ; (80a9928 ) 80a96f8: 881b ldrh r3, [r3, #0] 80a96fa: b29b uxth r3, r3 80a96fc: 461a mov r2, r3 80a96fe: 4b88 ldr r3, [pc, #544] ; (80a9920 ) 80a9700: 881b ldrh r3, [r3, #0] 80a9702: b29b uxth r3, r3 80a9704: 1ad3 subs r3, r2, r3 80a9706: 461a mov r2, r3 80a9708: f8d7 32a0 ldr.w r3, [r7, #672] ; 0x2a0 80a970c: 1ad3 subs r3, r2, r3 80a970e: 1e59 subs r1, r3, #1 80a9710: f507 731a add.w r3, r7, #616 ; 0x268 80a9714: f507 721d add.w r2, r7, #628 ; 0x274 80a9718: f020 fcd0 bl 80ca0bc arm_min_f32(&ScrA_f32(lX + k), rX-lX-k-1, &min, &idx); 80a971c: 4b80 ldr r3, [pc, #512] ; (80a9920 ) 80a971e: 881b ldrh r3, [r3, #0] 80a9720: b29b uxth r3, r3 80a9722: 461a mov r2, r3 80a9724: f8d7 32a0 ldr.w r3, [r7, #672] ; 0x2a0 80a9728: 4413 add r3, r2 80a972a: 009a lsls r2, r3, #2 80a972c: 4b7d ldr r3, [pc, #500] ; (80a9924 ) 80a972e: 4413 add r3, r2 80a9730: 4618 mov r0, r3 80a9732: 4b7d ldr r3, [pc, #500] ; (80a9928 ) 80a9734: 881b ldrh r3, [r3, #0] 80a9736: b29b uxth r3, r3 80a9738: 461a mov r2, r3 80a973a: 4b79 ldr r3, [pc, #484] ; (80a9920 ) 80a973c: 881b ldrh r3, [r3, #0] 80a973e: b29b uxth r3, r3 80a9740: 1ad3 subs r3, r2, r3 80a9742: 461a mov r2, r3 80a9744: f8d7 32a0 ldr.w r3, [r7, #672] ; 0x2a0 80a9748: 1ad3 subs r3, r2, r3 80a974a: 1e59 subs r1, r3, #1 80a974c: f507 731a add.w r3, r7, #616 ; 0x268 80a9750: f507 721c add.w r2, r7, #624 ; 0x270 80a9754: f020 fc16 bl 80c9f84 LinToLog(&max, &max); 80a9758: f507 721d add.w r2, r7, #628 ; 0x274 80a975c: f507 731d add.w r3, r7, #628 ; 0x274 80a9760: 4611 mov r1, r2 80a9762: 4618 mov r0, r3 80a9764: f7bb fba0 bl 8064ea8 LinToLog(&min, &min); 80a9768: f507 721c add.w r2, r7, #624 ; 0x270 80a976c: f507 731c add.w r3, r7, #624 ; 0x270 80a9770: 4611 mov r1, r2 80a9772: 4618 mov r0, r3 80a9774: f7bb fb98 bl 8064ea8 f = (max - min); 80a9778: ed97 7a9d vldr s14, [r7, #628] ; 0x274 80a977c: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80a9780: ee77 7a67 vsub.f32 s15, s14, s15 80a9784: edc7 7a9b vstr s15, [r7, #620] ; 0x26c if(f <= 0.0f) { 80a9788: edd7 7a9b vldr s15, [r7, #620] ; 0x26c 80a978c: eef5 7ac0 vcmpe.f32 s15, #0.0 80a9790: eef1 fa10 vmrs APSR_nzcv, fpscr 80a9794: d906 bls.n 80a97a4 80a9796: e008 b.n 80a97aa if(f <= 0.0f) k++; 80a9798: f8d7 32a0 ldr.w r3, [r7, #672] ; 0x2a0 80a979c: 3301 adds r3, #1 80a979e: f8c7 32a0 str.w r3, [r7, #672] ; 0x2a0 f = ScrA_f32(lX + k); 80a97a2: e780 b.n 80a96a6 f = 100.0f; 80a97a4: 4b61 ldr r3, [pc, #388] ; (80a992c ) 80a97a6: f8c7 326c str.w r3, [r7, #620] ; 0x26c MIN_Y = min; 80a97aa: f8d7 3270 ldr.w r3, [r7, #624] ; 0x270 80a97ae: 4a60 ldr r2, [pc, #384] ; (80a9930 ) 80a97b0: 6013 str r3, [r2, #0] 80a97b2: e071 b.n 80a9898 arm_max_f32(&ScrA_f32(lX), rX-lX-1, &max, &idx); 80a97b4: 4b5a ldr r3, [pc, #360] ; (80a9920 ) 80a97b6: 881b ldrh r3, [r3, #0] 80a97b8: b29b uxth r3, r3 80a97ba: 009b lsls r3, r3, #2 80a97bc: 461a mov r2, r3 80a97be: 4b59 ldr r3, [pc, #356] ; (80a9924 ) 80a97c0: 4413 add r3, r2 80a97c2: 4618 mov r0, r3 80a97c4: 4b58 ldr r3, [pc, #352] ; (80a9928 ) 80a97c6: 881b ldrh r3, [r3, #0] 80a97c8: b29b uxth r3, r3 80a97ca: 461a mov r2, r3 80a97cc: 4b54 ldr r3, [pc, #336] ; (80a9920 ) 80a97ce: 881b ldrh r3, [r3, #0] 80a97d0: b29b uxth r3, r3 80a97d2: 1ad3 subs r3, r2, r3 80a97d4: 3b01 subs r3, #1 80a97d6: 4619 mov r1, r3 80a97d8: f507 731a add.w r3, r7, #616 ; 0x268 80a97dc: f507 721d add.w r2, r7, #628 ; 0x274 80a97e0: f020 fc6c bl 80ca0bc arm_min_f32(&ScrA_f32(lX), rX-lX-1, &min, &idx); 80a97e4: 4b4e ldr r3, [pc, #312] ; (80a9920 ) 80a97e6: 881b ldrh r3, [r3, #0] 80a97e8: b29b uxth r3, r3 80a97ea: 009b lsls r3, r3, #2 80a97ec: 461a mov r2, r3 80a97ee: 4b4d ldr r3, [pc, #308] ; (80a9924 ) 80a97f0: 4413 add r3, r2 80a97f2: 4618 mov r0, r3 80a97f4: 4b4c ldr r3, [pc, #304] ; (80a9928 ) 80a97f6: 881b ldrh r3, [r3, #0] 80a97f8: b29b uxth r3, r3 80a97fa: 461a mov r2, r3 80a97fc: 4b48 ldr r3, [pc, #288] ; (80a9920 ) 80a97fe: 881b ldrh r3, [r3, #0] 80a9800: b29b uxth r3, r3 80a9802: 1ad3 subs r3, r2, r3 80a9804: 3b01 subs r3, #1 80a9806: 4619 mov r1, r3 80a9808: f507 731a add.w r3, r7, #616 ; 0x268 80a980c: f507 721c add.w r2, r7, #624 ; 0x270 80a9810: f020 fbb8 bl 80c9f84 if(ABS(max) > ABS(min)) f = ABS(max); 80a9814: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80a9818: eef5 7ac0 vcmpe.f32 s15, #0.0 80a981c: eef1 fa10 vmrs APSR_nzcv, fpscr 80a9820: dd02 ble.n 80a9828 80a9822: ed97 7a9d vldr s14, [r7, #628] ; 0x274 80a9826: e003 b.n 80a9830 80a9828: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80a982c: eeb1 7a67 vneg.f32 s14, s15 80a9830: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80a9834: eef5 7ac0 vcmpe.f32 s15, #0.0 80a9838: eef1 fa10 vmrs APSR_nzcv, fpscr 80a983c: dd02 ble.n 80a9844 80a983e: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80a9842: e003 b.n 80a984c 80a9844: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80a9848: eef1 7a67 vneg.f32 s15, s15 80a984c: eeb4 7ae7 vcmpe.f32 s14, s15 80a9850: eef1 fa10 vmrs APSR_nzcv, fpscr 80a9854: dd10 ble.n 80a9878 80a9856: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80a985a: eef5 7ac0 vcmpe.f32 s15, #0.0 80a985e: eef1 fa10 vmrs APSR_nzcv, fpscr 80a9862: dd02 ble.n 80a986a 80a9864: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80a9868: e003 b.n 80a9872 80a986a: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80a986e: eef1 7a67 vneg.f32 s15, s15 80a9872: edc7 7a9b vstr s15, [r7, #620] ; 0x26c 80a9876: e00f b.n 80a9898 else f = ABS(min); 80a9878: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80a987c: eef5 7ac0 vcmpe.f32 s15, #0.0 80a9880: eef1 fa10 vmrs APSR_nzcv, fpscr 80a9884: dd02 ble.n 80a988c 80a9886: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80a988a: e003 b.n 80a9894 80a988c: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80a9890: eef1 7a67 vneg.f32 s15, s15 80a9894: edc7 7a9b vstr s15, [r7, #620] ; 0x26c ZoomVal = 100.0f / f; 80a9898: ed97 7a9b vldr s14, [r7, #620] ; 0x26c 80a989c: eddf 6a25 vldr s13, [pc, #148] ; 80a9934 80a98a0: eec6 7a87 vdiv.f32 s15, s13, s14 80a98a4: 4b24 ldr r3, [pc, #144] ; (80a9938 ) 80a98a6: edc3 7a00 vstr s15, [r3] AUTOZOOM = false; 80a98aa: 4b1c ldr r3, [pc, #112] ; (80a991c ) 80a98ac: 2200 movs r2, #0 80a98ae: 701a strb r2, [r3, #0] 80a98b0: e024 b.n 80a98fc if(ZOOM_IN) 80a98b2: 4b22 ldr r3, [pc, #136] ; (80a993c ) 80a98b4: 781b ldrb r3, [r3, #0] 80a98b6: b2db uxtb r3, r3 80a98b8: 2b00 cmp r3, #0 80a98ba: d00d beq.n 80a98d8 ZOOM_IN = false; 80a98bc: 4b1f ldr r3, [pc, #124] ; (80a993c ) 80a98be: 2200 movs r2, #0 80a98c0: 701a strb r2, [r3, #0] ZoomVal *= 2.0000011f; 80a98c2: 4b1d ldr r3, [pc, #116] ; (80a9938 ) 80a98c4: edd3 7a00 vldr s15, [r3] 80a98c8: ed9f 7a1d vldr s14, [pc, #116] ; 80a9940 80a98cc: ee67 7a87 vmul.f32 s15, s15, s14 80a98d0: 4b19 ldr r3, [pc, #100] ; (80a9938 ) 80a98d2: edc3 7a00 vstr s15, [r3] 80a98d6: e011 b.n 80a98fc if(ZOOM_OUT) 80a98d8: 4b1a ldr r3, [pc, #104] ; (80a9944 ) 80a98da: 781b ldrb r3, [r3, #0] 80a98dc: b2db uxtb r3, r3 80a98de: 2b00 cmp r3, #0 80a98e0: d00c beq.n 80a98fc ZOOM_OUT = false; 80a98e2: 4b18 ldr r3, [pc, #96] ; (80a9944 ) 80a98e4: 2200 movs r2, #0 80a98e6: 701a strb r2, [r3, #0] ZoomVal *= 0.5000011f; 80a98e8: 4b13 ldr r3, [pc, #76] ; (80a9938 ) 80a98ea: edd3 7a00 vldr s15, [r3] 80a98ee: ed9f 7a16 vldr s14, [pc, #88] ; 80a9948 80a98f2: ee67 7a87 vmul.f32 s15, s15, s14 80a98f6: 4b10 ldr r3, [pc, #64] ; (80a9938 ) 80a98f8: edc3 7a00 vstr s15, [r3] NumOverdrives = 0; 80a98fc: 4b13 ldr r3, [pc, #76] ; (80a994c ) 80a98fe: 2200 movs r2, #0 80a9900: 701a strb r2, [r3, #0] LCD_SetColors(LCD_COLOR_MYGREEN, LCD_COLOR_BLACK); 80a9902: 4913 ldr r1, [pc, #76] ; (80a9950 ) 80a9904: 4813 ldr r0, [pc, #76] ; (80a9954 ) 80a9906: f7a9 ff51 bl 80537ac for(i = 0; i < 256; i++) 80a990a: 2300 movs r3, #0 80a990c: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80a9910: e28c b.n 80a9e2c 80a9912: bf00 nop 80a9914: 20023e60 .word 0x20023e60 80a9918: 20020d8e .word 0x20020d8e 80a991c: 2002098c .word 0x2002098c 80a9920: 20025d1a .word 0x20025d1a 80a9924: 64080000 .word 0x64080000 80a9928: 20025d20 .word 0x20025d20 80a992c: 42c80000 .word 0x42c80000 80a9930: 20021634 .word 0x20021634 80a9934: 42c80000 .word 0x42c80000 80a9938: 20020990 .word 0x20020990 80a993c: 20020f6a .word 0x20020f6a 80a9940: 40000005 .word 0x40000005 80a9944: 20020f69 .word 0x20020f69 80a9948: 3f000012 .word 0x3f000012 80a994c: 2002164e .word 0x2002164e 80a9950: ff0a0f1f .word 0xff0a0f1f 80a9954: ff26a01f .word 0xff26a01f arm_max_f32(&ScrA_f32(i * avgSPC[ViewLevel][pardata.LNE] + X0), avgSPC[ViewLevel][pardata.LNE], &mF[MAXY], &idx); 80a9958: 4bcb ldr r3, [pc, #812] ; (80a9c88 ) 80a995a: 781b ldrb r3, [r3, #0] 80a995c: b2db uxtb r3, r3 80a995e: 4618 mov r0, r3 80a9960: 4bca ldr r3, [pc, #808] ; (80a9c8c ) 80a9962: 79db ldrb r3, [r3, #7] 80a9964: b2db uxtb r3, r3 80a9966: 4619 mov r1, r3 80a9968: 4ac9 ldr r2, [pc, #804] ; (80a9c90 ) 80a996a: 0083 lsls r3, r0, #2 80a996c: 4413 add r3, r2 80a996e: 440b add r3, r1 80a9970: 781b ldrb r3, [r3, #0] 80a9972: 461a mov r2, r3 80a9974: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a9978: fb03 f302 mul.w r3, r3, r2 80a997c: 4ac5 ldr r2, [pc, #788] ; (80a9c94 ) 80a997e: 8812 ldrh r2, [r2, #0] 80a9980: b292 uxth r2, r2 80a9982: 4413 add r3, r2 80a9984: 009a lsls r2, r3, #2 80a9986: 4bc4 ldr r3, [pc, #784] ; (80a9c98 ) 80a9988: 4413 add r3, r2 80a998a: 461c mov r4, r3 80a998c: 4bbe ldr r3, [pc, #760] ; (80a9c88 ) 80a998e: 781b ldrb r3, [r3, #0] 80a9990: b2db uxtb r3, r3 80a9992: 4618 mov r0, r3 80a9994: 4bbd ldr r3, [pc, #756] ; (80a9c8c ) 80a9996: 79db ldrb r3, [r3, #7] 80a9998: b2db uxtb r3, r3 80a999a: 4619 mov r1, r3 80a999c: 4abc ldr r2, [pc, #752] ; (80a9c90 ) 80a999e: 0083 lsls r3, r0, #2 80a99a0: 4413 add r3, r2 80a99a2: 440b add r3, r1 80a99a4: 781b ldrb r3, [r3, #0] 80a99a6: 4618 mov r0, r3 80a99a8: f507 711a add.w r1, r7, #616 ; 0x268 80a99ac: f507 731e add.w r3, r7, #632 ; 0x278 80a99b0: 1d1a adds r2, r3, #4 80a99b2: 460b mov r3, r1 80a99b4: 4601 mov r1, r0 80a99b6: 4620 mov r0, r4 80a99b8: f020 fb80 bl 80ca0bc if(avgSPC[ViewLevel][pardata.LNE] == 1) 80a99bc: 4bb2 ldr r3, [pc, #712] ; (80a9c88 ) 80a99be: 781b ldrb r3, [r3, #0] 80a99c0: b2db uxtb r3, r3 80a99c2: 4618 mov r0, r3 80a99c4: 4bb1 ldr r3, [pc, #708] ; (80a9c8c ) 80a99c6: 79db ldrb r3, [r3, #7] 80a99c8: b2db uxtb r3, r3 80a99ca: 4619 mov r1, r3 80a99cc: 4ab0 ldr r2, [pc, #704] ; (80a9c90 ) 80a99ce: 0083 lsls r3, r0, #2 80a99d0: 4413 add r3, r2 80a99d2: 440b add r3, r1 80a99d4: 781b ldrb r3, [r3, #0] 80a99d6: 2b01 cmp r3, #1 80a99d8: f040 80fa bne.w 80a9bd0 thr = 157; 80a99dc: 239d movs r3, #157 ; 0x9d 80a99de: f8a7 328a strh.w r3, [r7, #650] ; 0x28a if(pardata.MSH == LOG) 80a99e2: 4baa ldr r3, [pc, #680] ; (80a9c8c ) 80a99e4: 7a9b ldrb r3, [r3, #10] 80a99e6: b2db uxtb r3, r3 80a99e8: 2b01 cmp r3, #1 80a99ea: d153 bne.n 80a9a94 for(j = 0; j < 2; j++) 80a99ec: 2300 movs r3, #0 80a99ee: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80a99f2: e013 b.n 80a9a1c LinToLog(&mF[j], &mF[j]); 80a99f4: f507 721e add.w r2, r7, #632 ; 0x278 80a99f8: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80a99fc: 009b lsls r3, r3, #2 80a99fe: 18d0 adds r0, r2, r3 80a9a00: f507 721e add.w r2, r7, #632 ; 0x278 80a9a04: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80a9a08: 009b lsls r3, r3, #2 80a9a0a: 4413 add r3, r2 80a9a0c: 4619 mov r1, r3 80a9a0e: f7bb fa4b bl 8064ea8 for(j = 0; j < 2; j++) 80a9a12: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80a9a16: 3301 adds r3, #1 80a9a18: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80a9a1c: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80a9a20: 2b01 cmp r3, #1 80a9a22: d9e7 bls.n 80a99f4 mF[MAXY] = ((mF[MAXY] - MIN_Y) * ZoomVal) + 2.0f; 80a9a24: ed97 7a9f vldr s14, [r7, #636] ; 0x27c 80a9a28: 4b9c ldr r3, [pc, #624] ; (80a9c9c ) 80a9a2a: edd3 7a00 vldr s15, [r3] 80a9a2e: ee37 7a67 vsub.f32 s14, s14, s15 80a9a32: 4b9b ldr r3, [pc, #620] ; (80a9ca0 ) 80a9a34: edd3 7a00 vldr s15, [r3] 80a9a38: ee67 7a27 vmul.f32 s15, s14, s15 80a9a3c: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 80a9a40: ee77 7a87 vadd.f32 s15, s15, s14 80a9a44: edc7 7a9f vstr s15, [r7, #636] ; 0x27c if(mF[MAXY] > 32767.0f) mF[MAXY] = 32767.0f; 80a9a48: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80a9a4c: ed9f 7a95 vldr s14, [pc, #596] ; 80a9ca4 80a9a50: eef4 7ac7 vcmpe.f32 s15, s14 80a9a54: eef1 fa10 vmrs APSR_nzcv, fpscr 80a9a58: dd02 ble.n 80a9a60 80a9a5a: 4b93 ldr r3, [pc, #588] ; (80a9ca8 ) 80a9a5c: f8c7 327c str.w r3, [r7, #636] ; 0x27c if(mF[MAXY] < -32767.0f) mF[MAXY] = -32767.0f; 80a9a60: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80a9a64: ed9f 7a91 vldr s14, [pc, #580] ; 80a9cac 80a9a68: eef4 7ac7 vcmpe.f32 s15, s14 80a9a6c: eef1 fa10 vmrs APSR_nzcv, fpscr 80a9a70: d502 bpl.n 80a9a78 80a9a72: 4b8f ldr r3, [pc, #572] ; (80a9cb0 ) 80a9a74: f8c7 327c str.w r3, [r7, #636] ; 0x27c pMax = (int16_t) (mF[MAXY] + 0.5f); 80a9a78: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80a9a7c: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80a9a80: ee77 7a87 vadd.f32 s15, s15, s14 80a9a84: eefd 7ae7 vcvt.s32.f32 s15, s15 80a9a88: edc7 7a01 vstr s15, [r7, #4] 80a9a8c: 88bb ldrh r3, [r7, #4] 80a9a8e: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 80a9a92: e029 b.n 80a9ae8 mF[MAXY] *= ZoomVal; 80a9a94: ed97 7a9f vldr s14, [r7, #636] ; 0x27c 80a9a98: 4b81 ldr r3, [pc, #516] ; (80a9ca0 ) 80a9a9a: edd3 7a00 vldr s15, [r3] 80a9a9e: ee67 7a27 vmul.f32 s15, s14, s15 80a9aa2: edc7 7a9f vstr s15, [r7, #636] ; 0x27c if(mF[MAXY] > 32767.0f) mF[MAXY] = 32767.0f; 80a9aa6: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80a9aaa: ed9f 7a7e vldr s14, [pc, #504] ; 80a9ca4 80a9aae: eef4 7ac7 vcmpe.f32 s15, s14 80a9ab2: eef1 fa10 vmrs APSR_nzcv, fpscr 80a9ab6: dd02 ble.n 80a9abe 80a9ab8: 4b7b ldr r3, [pc, #492] ; (80a9ca8 ) 80a9aba: f8c7 327c str.w r3, [r7, #636] ; 0x27c if(mF[MAXY] < -32767.0f) mF[MAXY] = -32767.0f; 80a9abe: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80a9ac2: ed9f 7a7a vldr s14, [pc, #488] ; 80a9cac 80a9ac6: eef4 7ac7 vcmpe.f32 s15, s14 80a9aca: eef1 fa10 vmrs APSR_nzcv, fpscr 80a9ace: d502 bpl.n 80a9ad6 80a9ad0: 4b77 ldr r3, [pc, #476] ; (80a9cb0 ) 80a9ad2: f8c7 327c str.w r3, [r7, #636] ; 0x27c pMax = (int16_t) mF[MAXY]; 80a9ad6: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80a9ada: eefd 7ae7 vcvt.s32.f32 s15, s15 80a9ade: edc7 7a01 vstr s15, [r7, #4] 80a9ae2: 88bb ldrh r3, [r7, #4] 80a9ae4: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 if(pMin > thr) 80a9ae8: f9b7 22b2 ldrsh.w r2, [r7, #690] ; 0x2b2 80a9aec: f9b7 328a ldrsh.w r3, [r7, #650] ; 0x28a 80a9af0: 429a cmp r2, r3 80a9af2: dd03 ble.n 80a9afc pMin = thr; 80a9af4: f8b7 328a ldrh.w r3, [r7, #650] ; 0x28a 80a9af8: f8a7 32b2 strh.w r3, [r7, #690] ; 0x2b2 if(pMin < -thr) { 80a9afc: f9b7 22b2 ldrsh.w r2, [r7, #690] ; 0x2b2 80a9b00: f9b7 328a ldrsh.w r3, [r7, #650] ; 0x28a 80a9b04: 425b negs r3, r3 80a9b06: 429a cmp r2, r3 80a9b08: da02 bge.n 80a9b10 pMin = 0; 80a9b0a: 2300 movs r3, #0 80a9b0c: f8a7 32b2 strh.w r3, [r7, #690] ; 0x2b2 if(pMax > thr) 80a9b10: f9b7 22b6 ldrsh.w r2, [r7, #694] ; 0x2b6 80a9b14: f9b7 328a ldrsh.w r3, [r7, #650] ; 0x28a 80a9b18: 429a cmp r2, r3 80a9b1a: dd09 ble.n 80a9b30 pMax = thr; 80a9b1c: f8b7 328a ldrh.w r3, [r7, #650] ; 0x28a 80a9b20: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 NumOverdrives++; 80a9b24: 4b63 ldr r3, [pc, #396] ; (80a9cb4 ) 80a9b26: 781b ldrb r3, [r3, #0] 80a9b28: 3301 adds r3, #1 80a9b2a: b2da uxtb r2, r3 80a9b2c: 4b61 ldr r3, [pc, #388] ; (80a9cb4 ) 80a9b2e: 701a strb r2, [r3, #0] if(pMax < 0) { 80a9b30: f9b7 32b6 ldrsh.w r3, [r7, #694] ; 0x2b6 80a9b34: 2b00 cmp r3, #0 80a9b36: da02 bge.n 80a9b3e pMax = 0; 80a9b38: 2300 movs r3, #0 80a9b3a: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 x = 62 + i; 80a9b3e: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a9b42: 333e adds r3, #62 ; 0x3e 80a9b44: f8c7 3294 str.w r3, [r7, #660] ; 0x294 if(i == CURSOR) 80a9b48: 4b5b ldr r3, [pc, #364] ; (80a9cb8 ) 80a9b4a: 681b ldr r3, [r3, #0] 80a9b4c: f8d7 22ac ldr.w r2, [r7, #684] ; 0x2ac 80a9b50: 429a cmp r2, r3 80a9b52: d12e bne.n 80a9bb2 if(menupos != Cursor) 80a9b54: 4b59 ldr r3, [pc, #356] ; (80a9cbc ) 80a9b56: 781b ldrb r3, [r3, #0] 80a9b58: b2db uxtb r3, r3 80a9b5a: 2b06 cmp r3, #6 80a9b5c: d004 beq.n 80a9b68 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80a9b5e: 4958 ldr r1, [pc, #352] ; (80a9cc0 ) 80a9b60: 4858 ldr r0, [pc, #352] ; (80a9cc4 ) 80a9b62: f7a9 fe23 bl 80537ac 80a9b66: e003 b.n 80a9b70 else LCD_SetColors(LCD_COLOR_RED, LCD_COLOR_BLACK); 80a9b68: 4955 ldr r1, [pc, #340] ; (80a9cc0 ) 80a9b6a: 4857 ldr r0, [pc, #348] ; (80a9cc8 ) 80a9b6c: f7a9 fe1e bl 80537ac BSP_LCD_DrawLine(x, 44, x, 218); 80a9b70: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a9b74: b298 uxth r0, r3 80a9b76: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a9b7a: b29a uxth r2, r3 80a9b7c: 23da movs r3, #218 ; 0xda 80a9b7e: 212c movs r1, #44 ; 0x2c 80a9b80: f7aa f84e bl 8053c20 LCD_SetColors(LCD_COLOR_DARKGREEN, LCD_COLOR_BLACK); 80a9b84: 494e ldr r1, [pc, #312] ; (80a9cc0 ) 80a9b86: 4851 ldr r0, [pc, #324] ; (80a9ccc ) 80a9b88: f7a9 fe10 bl 80537ac BSP_LCD_DrawLine(x, 219, x, 218 - pMax); 80a9b8c: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a9b90: b298 uxth r0, r3 80a9b92: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a9b96: b29a uxth r2, r3 80a9b98: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80a9b9c: f1c3 03da rsb r3, r3, #218 ; 0xda 80a9ba0: b29b uxth r3, r3 80a9ba2: 21db movs r1, #219 ; 0xdb 80a9ba4: f7aa f83c bl 8053c20 LCD_SetColors(LCD_COLOR_MYGREEN, LCD_COLOR_BLACK); 80a9ba8: 4945 ldr r1, [pc, #276] ; (80a9cc0 ) 80a9baa: 4849 ldr r0, [pc, #292] ; (80a9cd0 ) 80a9bac: f7a9 fdfe bl 80537ac 80a9bb0: e12d b.n 80a9e0e BSP_LCD_DrawLine(x, 218, x, 218 - pMax); 80a9bb2: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a9bb6: b298 uxth r0, r3 80a9bb8: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a9bbc: b29a uxth r2, r3 80a9bbe: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80a9bc2: f1c3 03da rsb r3, r3, #218 ; 0xda 80a9bc6: b29b uxth r3, r3 80a9bc8: 21da movs r1, #218 ; 0xda 80a9bca: f7aa f829 bl 8053c20 80a9bce: e11e b.n 80a9e0e thr = 157; 80a9bd0: 239d movs r3, #157 ; 0x9d 80a9bd2: f8a7 328a strh.w r3, [r7, #650] ; 0x28a if(pardata.MSH == LOG) 80a9bd6: 4b2d ldr r3, [pc, #180] ; (80a9c8c ) 80a9bd8: 7a9b ldrb r3, [r3, #10] 80a9bda: b2db uxtb r3, r3 80a9bdc: 2b01 cmp r3, #1 80a9bde: d179 bne.n 80a9cd4 for(j = 0; j < 2; j++) 80a9be0: 2300 movs r3, #0 80a9be2: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80a9be6: e013 b.n 80a9c10 LinToLog(&mF[j], &mF[j]); 80a9be8: f507 721e add.w r2, r7, #632 ; 0x278 80a9bec: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80a9bf0: 009b lsls r3, r3, #2 80a9bf2: 18d0 adds r0, r2, r3 80a9bf4: f507 721e add.w r2, r7, #632 ; 0x278 80a9bf8: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80a9bfc: 009b lsls r3, r3, #2 80a9bfe: 4413 add r3, r2 80a9c00: 4619 mov r1, r3 80a9c02: f7bb f951 bl 8064ea8 for(j = 0; j < 2; j++) 80a9c06: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80a9c0a: 3301 adds r3, #1 80a9c0c: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80a9c10: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80a9c14: 2b01 cmp r3, #1 80a9c16: d9e7 bls.n 80a9be8 mF[MAXY] = ((mF[MAXY] - MIN_Y) * ZoomVal) + 2.0f; 80a9c18: ed97 7a9f vldr s14, [r7, #636] ; 0x27c 80a9c1c: 4b1f ldr r3, [pc, #124] ; (80a9c9c ) 80a9c1e: edd3 7a00 vldr s15, [r3] 80a9c22: ee37 7a67 vsub.f32 s14, s14, s15 80a9c26: 4b1e ldr r3, [pc, #120] ; (80a9ca0 ) 80a9c28: edd3 7a00 vldr s15, [r3] 80a9c2c: ee67 7a27 vmul.f32 s15, s14, s15 80a9c30: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 80a9c34: ee77 7a87 vadd.f32 s15, s15, s14 80a9c38: edc7 7a9f vstr s15, [r7, #636] ; 0x27c if(mF[MAXY] > 32767.0f) mF[MAXY] = 32767.0f; 80a9c3c: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80a9c40: ed9f 7a18 vldr s14, [pc, #96] ; 80a9ca4 80a9c44: eef4 7ac7 vcmpe.f32 s15, s14 80a9c48: eef1 fa10 vmrs APSR_nzcv, fpscr 80a9c4c: dd02 ble.n 80a9c54 80a9c4e: 4b16 ldr r3, [pc, #88] ; (80a9ca8 ) 80a9c50: f8c7 327c str.w r3, [r7, #636] ; 0x27c if(mF[MAXY] < -32767.0f) mF[MAXY] = -32767.0f; 80a9c54: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80a9c58: ed9f 7a14 vldr s14, [pc, #80] ; 80a9cac 80a9c5c: eef4 7ac7 vcmpe.f32 s15, s14 80a9c60: eef1 fa10 vmrs APSR_nzcv, fpscr 80a9c64: d502 bpl.n 80a9c6c 80a9c66: 4b12 ldr r3, [pc, #72] ; (80a9cb0 ) 80a9c68: f8c7 327c str.w r3, [r7, #636] ; 0x27c pMax = (int16_t) (mF[MAXY] + 0.5f); 80a9c6c: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80a9c70: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80a9c74: ee77 7a87 vadd.f32 s15, s15, s14 80a9c78: eefd 7ae7 vcvt.s32.f32 s15, s15 80a9c7c: edc7 7a01 vstr s15, [r7, #4] 80a9c80: 88bb ldrh r3, [r7, #4] 80a9c82: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 80a9c86: e04f b.n 80a9d28 80a9c88: 20020f74 .word 0x20020f74 80a9c8c: 20023e60 .word 0x20023e60 80a9c90: 080ef614 .word 0x080ef614 80a9c94: 20025d1e .word 0x20025d1e 80a9c98: 64080000 .word 0x64080000 80a9c9c: 20021634 .word 0x20021634 80a9ca0: 20020990 .word 0x20020990 80a9ca4: 46fffe00 .word 0x46fffe00 80a9ca8: 46fffe00 .word 0x46fffe00 80a9cac: c6fffe00 .word 0xc6fffe00 80a9cb0: c6fffe00 .word 0xc6fffe00 80a9cb4: 2002164e .word 0x2002164e 80a9cb8: 2002006c .word 0x2002006c 80a9cbc: 20020070 .word 0x20020070 80a9cc0: ff0a0f1f .word 0xff0a0f1f 80a9cc4: ff808080 .word 0xff808080 80a9cc8: ffff0000 .word 0xffff0000 80a9ccc: ff008000 .word 0xff008000 80a9cd0: ff26a01f .word 0xff26a01f mF[MAXY] *= ZoomVal; 80a9cd4: ed97 7a9f vldr s14, [r7, #636] ; 0x27c 80a9cd8: 4ba6 ldr r3, [pc, #664] ; (80a9f74 ) 80a9cda: edd3 7a00 vldr s15, [r3] 80a9cde: ee67 7a27 vmul.f32 s15, s14, s15 80a9ce2: edc7 7a9f vstr s15, [r7, #636] ; 0x27c if(mF[MAXY] > 32767.0f) mF[MAXY] = 32767.0f; 80a9ce6: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80a9cea: ed9f 7aa3 vldr s14, [pc, #652] ; 80a9f78 80a9cee: eef4 7ac7 vcmpe.f32 s15, s14 80a9cf2: eef1 fa10 vmrs APSR_nzcv, fpscr 80a9cf6: dd02 ble.n 80a9cfe 80a9cf8: 4ba0 ldr r3, [pc, #640] ; (80a9f7c ) 80a9cfa: f8c7 327c str.w r3, [r7, #636] ; 0x27c if(mF[MAXY] < -32767.0f) mF[MAXY] = -32767.0f; 80a9cfe: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80a9d02: ed9f 7a9f vldr s14, [pc, #636] ; 80a9f80 80a9d06: eef4 7ac7 vcmpe.f32 s15, s14 80a9d0a: eef1 fa10 vmrs APSR_nzcv, fpscr 80a9d0e: d502 bpl.n 80a9d16 80a9d10: 4b9c ldr r3, [pc, #624] ; (80a9f84 ) 80a9d12: f8c7 327c str.w r3, [r7, #636] ; 0x27c pMax = (int16_t) mF[MAXY]; 80a9d16: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80a9d1a: eefd 7ae7 vcvt.s32.f32 s15, s15 80a9d1e: edc7 7a01 vstr s15, [r7, #4] 80a9d22: 88bb ldrh r3, [r7, #4] 80a9d24: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 if(pMin > thr) 80a9d28: f9b7 22b2 ldrsh.w r2, [r7, #690] ; 0x2b2 80a9d2c: f9b7 328a ldrsh.w r3, [r7, #650] ; 0x28a 80a9d30: 429a cmp r2, r3 80a9d32: dd03 ble.n 80a9d3c pMin = thr; 80a9d34: f8b7 328a ldrh.w r3, [r7, #650] ; 0x28a 80a9d38: f8a7 32b2 strh.w r3, [r7, #690] ; 0x2b2 if(pMin < -thr) { 80a9d3c: f9b7 22b2 ldrsh.w r2, [r7, #690] ; 0x2b2 80a9d40: f9b7 328a ldrsh.w r3, [r7, #650] ; 0x28a 80a9d44: 425b negs r3, r3 80a9d46: 429a cmp r2, r3 80a9d48: da02 bge.n 80a9d50 pMin = 0; 80a9d4a: 2300 movs r3, #0 80a9d4c: f8a7 32b2 strh.w r3, [r7, #690] ; 0x2b2 if(pMax > thr) 80a9d50: f9b7 22b6 ldrsh.w r2, [r7, #694] ; 0x2b6 80a9d54: f9b7 328a ldrsh.w r3, [r7, #650] ; 0x28a 80a9d58: 429a cmp r2, r3 80a9d5a: dd09 ble.n 80a9d70 pMax = thr; 80a9d5c: f8b7 328a ldrh.w r3, [r7, #650] ; 0x28a 80a9d60: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 NumOverdrives++; 80a9d64: 4b88 ldr r3, [pc, #544] ; (80a9f88 ) 80a9d66: 781b ldrb r3, [r3, #0] 80a9d68: 3301 adds r3, #1 80a9d6a: b2da uxtb r2, r3 80a9d6c: 4b86 ldr r3, [pc, #536] ; (80a9f88 ) 80a9d6e: 701a strb r2, [r3, #0] if(pMax < 0) { 80a9d70: f9b7 32b6 ldrsh.w r3, [r7, #694] ; 0x2b6 80a9d74: 2b00 cmp r3, #0 80a9d76: da02 bge.n 80a9d7e pMax = 0; 80a9d78: 2300 movs r3, #0 80a9d7a: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 x = 62 + i; 80a9d7e: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a9d82: 333e adds r3, #62 ; 0x3e 80a9d84: f8c7 3294 str.w r3, [r7, #660] ; 0x294 if(i == CURSOR) 80a9d88: 4b80 ldr r3, [pc, #512] ; (80a9f8c ) 80a9d8a: 681b ldr r3, [r3, #0] 80a9d8c: f8d7 22ac ldr.w r2, [r7, #684] ; 0x2ac 80a9d90: 429a cmp r2, r3 80a9d92: d12e bne.n 80a9df2 if(menupos != Cursor) 80a9d94: 4b7e ldr r3, [pc, #504] ; (80a9f90 ) 80a9d96: 781b ldrb r3, [r3, #0] 80a9d98: b2db uxtb r3, r3 80a9d9a: 2b06 cmp r3, #6 80a9d9c: d004 beq.n 80a9da8 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80a9d9e: 497d ldr r1, [pc, #500] ; (80a9f94 ) 80a9da0: 487d ldr r0, [pc, #500] ; (80a9f98 ) 80a9da2: f7a9 fd03 bl 80537ac 80a9da6: e003 b.n 80a9db0 else LCD_SetColors(LCD_COLOR_RED, LCD_COLOR_BLACK); 80a9da8: 497a ldr r1, [pc, #488] ; (80a9f94 ) 80a9daa: 487c ldr r0, [pc, #496] ; (80a9f9c ) 80a9dac: f7a9 fcfe bl 80537ac BSP_LCD_DrawLine(x, 44, x, 218); 80a9db0: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a9db4: b298 uxth r0, r3 80a9db6: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a9dba: b29a uxth r2, r3 80a9dbc: 23da movs r3, #218 ; 0xda 80a9dbe: 212c movs r1, #44 ; 0x2c 80a9dc0: f7a9 ff2e bl 8053c20 LCD_SetColors(LCD_COLOR_DARKGREEN, LCD_COLOR_BLACK); 80a9dc4: 4973 ldr r1, [pc, #460] ; (80a9f94 ) 80a9dc6: 4876 ldr r0, [pc, #472] ; (80a9fa0 ) 80a9dc8: f7a9 fcf0 bl 80537ac BSP_LCD_DrawLine(x, 219, x, 218 - pMax); 80a9dcc: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a9dd0: b298 uxth r0, r3 80a9dd2: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a9dd6: b29a uxth r2, r3 80a9dd8: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80a9ddc: f1c3 03da rsb r3, r3, #218 ; 0xda 80a9de0: b29b uxth r3, r3 80a9de2: 21db movs r1, #219 ; 0xdb 80a9de4: f7a9 ff1c bl 8053c20 LCD_SetColors(LCD_COLOR_MYGREEN, LCD_COLOR_BLACK); 80a9de8: 496a ldr r1, [pc, #424] ; (80a9f94 ) 80a9dea: 486e ldr r0, [pc, #440] ; (80a9fa4 ) 80a9dec: f7a9 fcde bl 80537ac 80a9df0: e00d b.n 80a9e0e BSP_LCD_DrawLine(x, 218, x, 218 - pMax); 80a9df2: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a9df6: b298 uxth r0, r3 80a9df8: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a9dfc: b29a uxth r2, r3 80a9dfe: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80a9e02: f1c3 03da rsb r3, r3, #218 ; 0xda 80a9e06: b29b uxth r3, r3 80a9e08: 21da movs r1, #218 ; 0xda 80a9e0a: f7a9 ff09 bl 8053c20 if(pMax > Maximum) Maximum = pMax; 80a9e0e: f9b7 22b6 ldrsh.w r2, [r7, #694] ; 0x2b6 80a9e12: f9b7 32b4 ldrsh.w r3, [r7, #692] ; 0x2b4 80a9e16: 429a cmp r2, r3 80a9e18: dd03 ble.n 80a9e22 80a9e1a: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80a9e1e: f8a7 32b4 strh.w r3, [r7, #692] ; 0x2b4 for(i = 0; i < 256; i++) 80a9e22: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a9e26: 3301 adds r3, #1 80a9e28: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80a9e2c: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a9e30: 2bff cmp r3, #255 ; 0xff 80a9e32: f67f ad91 bls.w 80a9958 Maximum = ABS(Maximum); 80a9e36: f9b7 32b4 ldrsh.w r3, [r7, #692] ; 0x2b4 80a9e3a: 2b00 cmp r3, #0 80a9e3c: bfb8 it lt 80a9e3e: 425b neglt r3, r3 80a9e40: f8a7 32b4 strh.w r3, [r7, #692] ; 0x2b4 } 80a9e44: f002 b80c b.w 80abe60 if((pardata.SYG == SPEC) || (pardata.SYG == SPEC_OGIB)) 80a9e48: 4b57 ldr r3, [pc, #348] ; (80a9fa8 ) 80a9e4a: 781b ldrb r3, [r3, #0] 80a9e4c: b2db uxtb r3, r3 80a9e4e: 2b01 cmp r3, #1 80a9e50: d005 beq.n 80a9e5e 80a9e52: 4b55 ldr r3, [pc, #340] ; (80a9fa8 ) 80a9e54: 781b ldrb r3, [r3, #0] 80a9e56: b2db uxtb r3, r3 80a9e58: 2b05 cmp r3, #5 80a9e5a: f040 8717 bne.w 80aac8c if(READY_TO_SEE) 80a9e5e: 4b53 ldr r3, [pc, #332] ; (80a9fac ) 80a9e60: 781b ldrb r3, [r3, #0] 80a9e62: b2db uxtb r3, r3 80a9e64: 2b00 cmp r3, #0 80a9e66: f001 87fa beq.w 80abe5e if(AUTOZOOM) 80a9e6a: 4b51 ldr r3, [pc, #324] ; (80a9fb0 ) 80a9e6c: 781b ldrb r3, [r3, #0] 80a9e6e: b2db uxtb r3, r3 80a9e70: 2b00 cmp r3, #0 80a9e72: f000 81ef beq.w 80aa254 if(pardata.MSH == LOG) 80a9e76: 4b4c ldr r3, [pc, #304] ; (80a9fa8 ) 80a9e78: 7a9b ldrb r3, [r3, #10] 80a9e7a: b2db uxtb r3, r3 80a9e7c: 2b01 cmp r3, #1 80a9e7e: f040 80f9 bne.w 80aa074 k = 0; 80a9e82: 2300 movs r3, #0 80a9e84: f8c7 32a0 str.w r3, [r7, #672] ; 0x2a0 f = ScrA_f32(lX + k); 80a9e88: 4b4a ldr r3, [pc, #296] ; (80a9fb4 ) 80a9e8a: 881b ldrh r3, [r3, #0] 80a9e8c: b29b uxth r3, r3 80a9e8e: 461a mov r2, r3 80a9e90: f8d7 32a0 ldr.w r3, [r7, #672] ; 0x2a0 80a9e94: 4413 add r3, r2 80a9e96: 009a lsls r2, r3, #2 80a9e98: 4b47 ldr r3, [pc, #284] ; (80a9fb8 ) 80a9e9a: 4413 add r3, r2 80a9e9c: 681b ldr r3, [r3, #0] 80a9e9e: f8c7 326c str.w r3, [r7, #620] ; 0x26c LinToLog(&f, &f); 80a9ea2: f507 721b add.w r2, r7, #620 ; 0x26c 80a9ea6: f507 731b add.w r3, r7, #620 ; 0x26c 80a9eaa: 4611 mov r1, r2 80a9eac: 4618 mov r0, r3 80a9eae: f7ba fffb bl 8064ea8 if(f <= 0.0f) k++; 80a9eb2: edd7 7a9b vldr s15, [r7, #620] ; 0x26c 80a9eb6: eef5 7ac0 vcmpe.f32 s15, #0.0 80a9eba: eef1 fa10 vmrs APSR_nzcv, fpscr 80a9ebe: d942 bls.n 80a9f46 else break; 80a9ec0: bf00 nop arm_max_f32(&ScrA_f32(lX + k), rX-lX-k-1, &max, &idx); 80a9ec2: 4b3c ldr r3, [pc, #240] ; (80a9fb4 ) 80a9ec4: 881b ldrh r3, [r3, #0] 80a9ec6: b29b uxth r3, r3 80a9ec8: 461a mov r2, r3 80a9eca: f8d7 32a0 ldr.w r3, [r7, #672] ; 0x2a0 80a9ece: 4413 add r3, r2 80a9ed0: 009a lsls r2, r3, #2 80a9ed2: 4b39 ldr r3, [pc, #228] ; (80a9fb8 ) 80a9ed4: 4413 add r3, r2 80a9ed6: 4618 mov r0, r3 80a9ed8: 4b38 ldr r3, [pc, #224] ; (80a9fbc ) 80a9eda: 881b ldrh r3, [r3, #0] 80a9edc: b29b uxth r3, r3 80a9ede: 461a mov r2, r3 80a9ee0: 4b34 ldr r3, [pc, #208] ; (80a9fb4 ) 80a9ee2: 881b ldrh r3, [r3, #0] 80a9ee4: b29b uxth r3, r3 80a9ee6: 1ad3 subs r3, r2, r3 80a9ee8: 461a mov r2, r3 80a9eea: f8d7 32a0 ldr.w r3, [r7, #672] ; 0x2a0 80a9eee: 1ad3 subs r3, r2, r3 80a9ef0: 1e59 subs r1, r3, #1 80a9ef2: f507 731a add.w r3, r7, #616 ; 0x268 80a9ef6: f507 721d add.w r2, r7, #628 ; 0x274 80a9efa: f020 f8df bl 80ca0bc arm_min_f32(&ScrA_f32(lX + k), rX-lX-k-1, &min, &idx); 80a9efe: 4b2d ldr r3, [pc, #180] ; (80a9fb4 ) 80a9f00: 881b ldrh r3, [r3, #0] 80a9f02: b29b uxth r3, r3 80a9f04: 461a mov r2, r3 80a9f06: f8d7 32a0 ldr.w r3, [r7, #672] ; 0x2a0 80a9f0a: 4413 add r3, r2 80a9f0c: 009a lsls r2, r3, #2 80a9f0e: 4b2a ldr r3, [pc, #168] ; (80a9fb8 ) 80a9f10: 4413 add r3, r2 80a9f12: 4618 mov r0, r3 80a9f14: 4b29 ldr r3, [pc, #164] ; (80a9fbc ) 80a9f16: 881b ldrh r3, [r3, #0] 80a9f18: b29b uxth r3, r3 80a9f1a: 461a mov r2, r3 80a9f1c: 4b25 ldr r3, [pc, #148] ; (80a9fb4 ) 80a9f1e: 881b ldrh r3, [r3, #0] 80a9f20: b29b uxth r3, r3 80a9f22: 1ad3 subs r3, r2, r3 80a9f24: 461a mov r2, r3 80a9f26: f8d7 32a0 ldr.w r3, [r7, #672] ; 0x2a0 80a9f2a: 1ad3 subs r3, r2, r3 80a9f2c: 1e59 subs r1, r3, #1 80a9f2e: f507 731a add.w r3, r7, #616 ; 0x268 80a9f32: f507 721c add.w r2, r7, #624 ; 0x270 80a9f36: f020 f825 bl 80c9f84 if(pardata.IIN != VOLTS) 80a9f3a: 4b1b ldr r3, [pc, #108] ; (80a9fa8 ) 80a9f3c: 799b ldrb r3, [r3, #6] 80a9f3e: b2db uxtb r3, r3 80a9f40: 2b02 cmp r3, #2 80a9f42: d03d beq.n 80a9fc0 80a9f44: e005 b.n 80a9f52 if(f <= 0.0f) k++; 80a9f46: f8d7 32a0 ldr.w r3, [r7, #672] ; 0x2a0 80a9f4a: 3301 adds r3, #1 80a9f4c: f8c7 32a0 str.w r3, [r7, #672] ; 0x2a0 f = ScrA_f32(lX + k); 80a9f50: e79a b.n 80a9e88 LinToLog(&max, &max); 80a9f52: f507 721d add.w r2, r7, #628 ; 0x274 80a9f56: f507 731d add.w r3, r7, #628 ; 0x274 80a9f5a: 4611 mov r1, r2 80a9f5c: 4618 mov r0, r3 80a9f5e: f7ba ffa3 bl 8064ea8 LinToLog(&min, &min); 80a9f62: f507 721c add.w r2, r7, #624 ; 0x270 80a9f66: f507 731c add.w r3, r7, #624 ; 0x270 80a9f6a: 4611 mov r1, r2 80a9f6c: 4618 mov r0, r3 80a9f6e: f7ba ff9b bl 8064ea8 80a9f72: e039 b.n 80a9fe8 80a9f74: 20020990 .word 0x20020990 80a9f78: 46fffe00 .word 0x46fffe00 80a9f7c: 46fffe00 .word 0x46fffe00 80a9f80: c6fffe00 .word 0xc6fffe00 80a9f84: c6fffe00 .word 0xc6fffe00 80a9f88: 2002164e .word 0x2002164e 80a9f8c: 2002006c .word 0x2002006c 80a9f90: 20020070 .word 0x20020070 80a9f94: ff0a0f1f .word 0xff0a0f1f 80a9f98: ff808080 .word 0xff808080 80a9f9c: ffff0000 .word 0xffff0000 80a9fa0: ff008000 .word 0xff008000 80a9fa4: ff26a01f .word 0xff26a01f 80a9fa8: 20023e60 .word 0x20023e60 80a9fac: 20020d8e .word 0x20020d8e 80a9fb0: 2002098c .word 0x2002098c 80a9fb4: 20025d1a .word 0x20025d1a 80a9fb8: 64080000 .word 0x64080000 80a9fbc: 20025d20 .word 0x20025d20 LinToLog_mV(&max, &max, pardata.IPR); 80a9fc0: 4bbd ldr r3, [pc, #756] ; (80aa2b8 ) 80a9fc2: 785b ldrb r3, [r3, #1] 80a9fc4: b2da uxtb r2, r3 80a9fc6: f507 711d add.w r1, r7, #628 ; 0x274 80a9fca: f507 731d add.w r3, r7, #628 ; 0x274 80a9fce: 4618 mov r0, r3 80a9fd0: f7ba ff9a bl 8064f08 LinToLog_mV(&min, &min, pardata.IPR); 80a9fd4: 4bb8 ldr r3, [pc, #736] ; (80aa2b8 ) 80a9fd6: 785b ldrb r3, [r3, #1] 80a9fd8: b2da uxtb r2, r3 80a9fda: f507 711c add.w r1, r7, #624 ; 0x270 80a9fde: f507 731c add.w r3, r7, #624 ; 0x270 80a9fe2: 4618 mov r0, r3 80a9fe4: f7ba ff90 bl 8064f08 f = max; 80a9fe8: f8d7 3274 ldr.w r3, [r7, #628] ; 0x274 80a9fec: f8c7 326c str.w r3, [r7, #620] ; 0x26c if(f <= 0.0f) 80a9ff0: edd7 7a9b vldr s15, [r7, #620] ; 0x26c 80a9ff4: eef5 7ac0 vcmpe.f32 s15, #0.0 80a9ff8: eef1 fa10 vmrs APSR_nzcv, fpscr 80a9ffc: d806 bhi.n 80aa00c f = max = 125.0f; 80a9ffe: 4baf ldr r3, [pc, #700] ; (80aa2bc ) 80aa000: f8c7 3274 str.w r3, [r7, #628] ; 0x274 80aa004: f8d7 3274 ldr.w r3, [r7, #628] ; 0x274 80aa008: f8c7 326c str.w r3, [r7, #620] ; 0x26c MIN_Y = min; 80aa00c: f8d7 3270 ldr.w r3, [r7, #624] ; 0x270 80aa010: 4aab ldr r2, [pc, #684] ; (80aa2c0 ) 80aa012: 6013 str r3, [r2, #0] ZoomVal = 125.0f / max; 80aa014: ed97 7a9d vldr s14, [r7, #628] ; 0x274 80aa018: eddf 6aaa vldr s13, [pc, #680] ; 80aa2c4 80aa01c: eec6 7a87 vdiv.f32 s15, s13, s14 80aa020: 4ba9 ldr r3, [pc, #676] ; (80aa2c8 ) 80aa022: edc3 7a00 vstr s15, [r3] AUTOZOOM = false; 80aa026: 4ba9 ldr r3, [pc, #676] ; (80aa2cc ) 80aa028: 2200 movs r2, #0 80aa02a: 701a strb r2, [r3, #0] f = max / 125; 80aa02c: ed97 7a9d vldr s14, [r7, #628] ; 0x274 80aa030: eddf 6aa4 vldr s13, [pc, #656] ; 80aa2c4 80aa034: eec7 7a26 vdiv.f32 s15, s14, s13 80aa038: edc7 7a9b vstr s15, [r7, #620] ; 0x26c LEGEND[0] = 25 * f; 80aa03c: edd7 7a9b vldr s15, [r7, #620] ; 0x26c 80aa040: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 80aa044: ee67 7a87 vmul.f32 s15, s15, s14 80aa048: 4ba1 ldr r3, [pc, #644] ; (80aa2d0 ) 80aa04a: edc3 7a00 vstr s15, [r3] LEGEND[1] = 75 * f; 80aa04e: edd7 7a9b vldr s15, [r7, #620] ; 0x26c 80aa052: ed9f 7aa0 vldr s14, [pc, #640] ; 80aa2d4 80aa056: ee67 7a87 vmul.f32 s15, s15, s14 80aa05a: 4b9d ldr r3, [pc, #628] ; (80aa2d0 ) 80aa05c: edc3 7a01 vstr s15, [r3, #4] LEGEND[2] = 125 * f; 80aa060: edd7 7a9b vldr s15, [r7, #620] ; 0x26c 80aa064: ed9f 7a97 vldr s14, [pc, #604] ; 80aa2c4 80aa068: ee67 7a87 vmul.f32 s15, s15, s14 80aa06c: 4b98 ldr r3, [pc, #608] ; (80aa2d0 ) 80aa06e: edc3 7a02 vstr s15, [r3, #8] 80aa072: e171 b.n 80aa358 arm_max_f32(&ScrA_f32(lX), rX-lX-1, &max, &idx); 80aa074: 4b98 ldr r3, [pc, #608] ; (80aa2d8 ) 80aa076: 881b ldrh r3, [r3, #0] 80aa078: b29b uxth r3, r3 80aa07a: 009b lsls r3, r3, #2 80aa07c: 461a mov r2, r3 80aa07e: 4b97 ldr r3, [pc, #604] ; (80aa2dc ) 80aa080: 4413 add r3, r2 80aa082: 4618 mov r0, r3 80aa084: 4b96 ldr r3, [pc, #600] ; (80aa2e0 ) 80aa086: 881b ldrh r3, [r3, #0] 80aa088: b29b uxth r3, r3 80aa08a: 461a mov r2, r3 80aa08c: 4b92 ldr r3, [pc, #584] ; (80aa2d8 ) 80aa08e: 881b ldrh r3, [r3, #0] 80aa090: b29b uxth r3, r3 80aa092: 1ad3 subs r3, r2, r3 80aa094: 3b01 subs r3, #1 80aa096: 4619 mov r1, r3 80aa098: f507 731a add.w r3, r7, #616 ; 0x268 80aa09c: f507 721d add.w r2, r7, #628 ; 0x274 80aa0a0: f020 f80c bl 80ca0bc arm_min_f32(&ScrA_f32(lX), rX-lX-1, &min, &idx); 80aa0a4: 4b8c ldr r3, [pc, #560] ; (80aa2d8 ) 80aa0a6: 881b ldrh r3, [r3, #0] 80aa0a8: b29b uxth r3, r3 80aa0aa: 009b lsls r3, r3, #2 80aa0ac: 461a mov r2, r3 80aa0ae: 4b8b ldr r3, [pc, #556] ; (80aa2dc ) 80aa0b0: 4413 add r3, r2 80aa0b2: 4618 mov r0, r3 80aa0b4: 4b8a ldr r3, [pc, #552] ; (80aa2e0 ) 80aa0b6: 881b ldrh r3, [r3, #0] 80aa0b8: b29b uxth r3, r3 80aa0ba: 461a mov r2, r3 80aa0bc: 4b86 ldr r3, [pc, #536] ; (80aa2d8 ) 80aa0be: 881b ldrh r3, [r3, #0] 80aa0c0: b29b uxth r3, r3 80aa0c2: 1ad3 subs r3, r2, r3 80aa0c4: 3b01 subs r3, #1 80aa0c6: 4619 mov r1, r3 80aa0c8: f507 731a add.w r3, r7, #616 ; 0x268 80aa0cc: f507 721c add.w r2, r7, #624 ; 0x270 80aa0d0: f01f ff58 bl 80c9f84 if(ABS(max) > ABS(min)) f = ABS(max); 80aa0d4: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80aa0d8: eef5 7ac0 vcmpe.f32 s15, #0.0 80aa0dc: eef1 fa10 vmrs APSR_nzcv, fpscr 80aa0e0: dd02 ble.n 80aa0e8 80aa0e2: ed97 7a9d vldr s14, [r7, #628] ; 0x274 80aa0e6: e003 b.n 80aa0f0 80aa0e8: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80aa0ec: eeb1 7a67 vneg.f32 s14, s15 80aa0f0: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80aa0f4: eef5 7ac0 vcmpe.f32 s15, #0.0 80aa0f8: eef1 fa10 vmrs APSR_nzcv, fpscr 80aa0fc: dd02 ble.n 80aa104 80aa0fe: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80aa102: e003 b.n 80aa10c 80aa104: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80aa108: eef1 7a67 vneg.f32 s15, s15 80aa10c: eeb4 7ae7 vcmpe.f32 s14, s15 80aa110: eef1 fa10 vmrs APSR_nzcv, fpscr 80aa114: dd10 ble.n 80aa138 80aa116: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80aa11a: eef5 7ac0 vcmpe.f32 s15, #0.0 80aa11e: eef1 fa10 vmrs APSR_nzcv, fpscr 80aa122: dd02 ble.n 80aa12a 80aa124: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80aa128: e003 b.n 80aa132 80aa12a: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80aa12e: eef1 7a67 vneg.f32 s15, s15 80aa132: edc7 7a9b vstr s15, [r7, #620] ; 0x26c 80aa136: e00f b.n 80aa158 else f = ABS(min); 80aa138: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80aa13c: eef5 7ac0 vcmpe.f32 s15, #0.0 80aa140: eef1 fa10 vmrs APSR_nzcv, fpscr 80aa144: dd02 ble.n 80aa14c 80aa146: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80aa14a: e003 b.n 80aa154 80aa14c: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80aa150: eef1 7a67 vneg.f32 s15, s15 80aa154: edc7 7a9b vstr s15, [r7, #620] ; 0x26c ZoomVal = 125.0f / f; 80aa158: ed97 7a9b vldr s14, [r7, #620] ; 0x26c 80aa15c: eddf 6a59 vldr s13, [pc, #356] ; 80aa2c4 80aa160: eec6 7a87 vdiv.f32 s15, s13, s14 80aa164: 4b58 ldr r3, [pc, #352] ; (80aa2c8 ) 80aa166: edc3 7a00 vstr s15, [r3] AUTOZOOM = false; 80aa16a: 4b58 ldr r3, [pc, #352] ; (80aa2cc ) 80aa16c: 2200 movs r2, #0 80aa16e: 701a strb r2, [r3, #0] f = f / 125; 80aa170: ed97 7a9b vldr s14, [r7, #620] ; 0x26c 80aa174: eddf 6a53 vldr s13, [pc, #332] ; 80aa2c4 80aa178: eec7 7a26 vdiv.f32 s15, s14, s13 80aa17c: edc7 7a9b vstr s15, [r7, #620] ; 0x26c f *= 0.70710678f; 80aa180: edd7 7a9b vldr s15, [r7, #620] ; 0x26c 80aa184: ed9f 7a57 vldr s14, [pc, #348] ; 80aa2e4 80aa188: ee67 7a87 vmul.f32 s15, s15, s14 80aa18c: edc7 7a9b vstr s15, [r7, #620] ; 0x26c LEGEND[0] = 25 * f; 80aa190: edd7 7a9b vldr s15, [r7, #620] ; 0x26c 80aa194: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 80aa198: ee67 7a87 vmul.f32 s15, s15, s14 80aa19c: 4b4c ldr r3, [pc, #304] ; (80aa2d0 ) 80aa19e: edc3 7a00 vstr s15, [r3] LEGEND[1] = 75 * f; 80aa1a2: edd7 7a9b vldr s15, [r7, #620] ; 0x26c 80aa1a6: ed9f 7a4b vldr s14, [pc, #300] ; 80aa2d4 80aa1aa: ee67 7a87 vmul.f32 s15, s15, s14 80aa1ae: 4b48 ldr r3, [pc, #288] ; (80aa2d0 ) 80aa1b0: edc3 7a01 vstr s15, [r3, #4] LEGEND[2] = 125 * f; 80aa1b4: edd7 7a9b vldr s15, [r7, #620] ; 0x26c 80aa1b8: ed9f 7a42 vldr s14, [pc, #264] ; 80aa2c4 80aa1bc: ee67 7a87 vmul.f32 s15, s15, s14 80aa1c0: 4b43 ldr r3, [pc, #268] ; (80aa2d0 ) 80aa1c2: edc3 7a02 vstr s15, [r3, #8] if(pardata.WIN == HANN) 80aa1c6: 4b3c ldr r3, [pc, #240] ; (80aa2b8 ) 80aa1c8: 7a5b ldrb r3, [r3, #9] 80aa1ca: b2db uxtb r3, r3 80aa1cc: 2b01 cmp r3, #1 80aa1ce: d117 bne.n 80aa200 LEGEND[0] *= 2.0f; 80aa1d0: 4b3f ldr r3, [pc, #252] ; (80aa2d0 ) 80aa1d2: edd3 7a00 vldr s15, [r3] 80aa1d6: ee77 7aa7 vadd.f32 s15, s15, s15 80aa1da: 4b3d ldr r3, [pc, #244] ; (80aa2d0 ) 80aa1dc: edc3 7a00 vstr s15, [r3] LEGEND[1] *= 2.0f; 80aa1e0: 4b3b ldr r3, [pc, #236] ; (80aa2d0 ) 80aa1e2: edd3 7a01 vldr s15, [r3, #4] 80aa1e6: ee77 7aa7 vadd.f32 s15, s15, s15 80aa1ea: 4b39 ldr r3, [pc, #228] ; (80aa2d0 ) 80aa1ec: edc3 7a01 vstr s15, [r3, #4] LEGEND[2] *= 2.0f; 80aa1f0: 4b37 ldr r3, [pc, #220] ; (80aa2d0 ) 80aa1f2: edd3 7a02 vldr s15, [r3, #8] 80aa1f6: ee77 7aa7 vadd.f32 s15, s15, s15 80aa1fa: 4b35 ldr r3, [pc, #212] ; (80aa2d0 ) 80aa1fc: edc3 7a02 vstr s15, [r3, #8] if(pardata.IVS[pardata.IPR] == PEAK) 80aa200: 4b2d ldr r3, [pc, #180] ; (80aa2b8 ) 80aa202: 785b ldrb r3, [r3, #1] 80aa204: b2db uxtb r3, r3 80aa206: 461a mov r2, r3 80aa208: 4b2b ldr r3, [pc, #172] ; (80aa2b8 ) 80aa20a: 4413 add r3, r2 80aa20c: 789b ldrb r3, [r3, #2] 80aa20e: b2db uxtb r3, r3 80aa210: 2b00 cmp r3, #0 80aa212: f040 80a1 bne.w 80aa358 LEGEND[0] *= 1.414213562373f; 80aa216: 4b2e ldr r3, [pc, #184] ; (80aa2d0 ) 80aa218: edd3 7a00 vldr s15, [r3] 80aa21c: ed9f 7a32 vldr s14, [pc, #200] ; 80aa2e8 80aa220: ee67 7a87 vmul.f32 s15, s15, s14 80aa224: 4b2a ldr r3, [pc, #168] ; (80aa2d0 ) 80aa226: edc3 7a00 vstr s15, [r3] LEGEND[1] *= 1.414213562373f; 80aa22a: 4b29 ldr r3, [pc, #164] ; (80aa2d0 ) 80aa22c: edd3 7a01 vldr s15, [r3, #4] 80aa230: ed9f 7a2d vldr s14, [pc, #180] ; 80aa2e8 80aa234: ee67 7a87 vmul.f32 s15, s15, s14 80aa238: 4b25 ldr r3, [pc, #148] ; (80aa2d0 ) 80aa23a: edc3 7a01 vstr s15, [r3, #4] LEGEND[2] *= 1.414213562373f; 80aa23e: 4b24 ldr r3, [pc, #144] ; (80aa2d0 ) 80aa240: edd3 7a02 vldr s15, [r3, #8] 80aa244: ed9f 7a28 vldr s14, [pc, #160] ; 80aa2e8 80aa248: ee67 7a87 vmul.f32 s15, s15, s14 80aa24c: 4b20 ldr r3, [pc, #128] ; (80aa2d0 ) 80aa24e: edc3 7a02 vstr s15, [r3, #8] 80aa252: e081 b.n 80aa358 if(ZOOM_IN) 80aa254: 4b25 ldr r3, [pc, #148] ; (80aa2ec ) 80aa256: 781b ldrb r3, [r3, #0] 80aa258: b2db uxtb r3, r3 80aa25a: 2b00 cmp r3, #0 80aa25c: d04c beq.n 80aa2f8 ZOOM_IN = false; 80aa25e: 4b23 ldr r3, [pc, #140] ; (80aa2ec ) 80aa260: 2200 movs r2, #0 80aa262: 701a strb r2, [r3, #0] ZoomVal *= 2.0000011f; 80aa264: 4b18 ldr r3, [pc, #96] ; (80aa2c8 ) 80aa266: edd3 7a00 vldr s15, [r3] 80aa26a: ed9f 7a21 vldr s14, [pc, #132] ; 80aa2f0 80aa26e: ee67 7a87 vmul.f32 s15, s15, s14 80aa272: 4b15 ldr r3, [pc, #84] ; (80aa2c8 ) 80aa274: edc3 7a00 vstr s15, [r3] LEGEND[0] *= 0.5000011f; 80aa278: 4b15 ldr r3, [pc, #84] ; (80aa2d0 ) 80aa27a: edd3 7a00 vldr s15, [r3] 80aa27e: ed9f 7a1d vldr s14, [pc, #116] ; 80aa2f4 80aa282: ee67 7a87 vmul.f32 s15, s15, s14 80aa286: 4b12 ldr r3, [pc, #72] ; (80aa2d0 ) 80aa288: edc3 7a00 vstr s15, [r3] LEGEND[1] *= 0.5000011f; 80aa28c: 4b10 ldr r3, [pc, #64] ; (80aa2d0 ) 80aa28e: edd3 7a01 vldr s15, [r3, #4] 80aa292: ed9f 7a18 vldr s14, [pc, #96] ; 80aa2f4 80aa296: ee67 7a87 vmul.f32 s15, s15, s14 80aa29a: 4b0d ldr r3, [pc, #52] ; (80aa2d0 ) 80aa29c: edc3 7a01 vstr s15, [r3, #4] LEGEND[2] *= 0.5000011f; 80aa2a0: 4b0b ldr r3, [pc, #44] ; (80aa2d0 ) 80aa2a2: edd3 7a02 vldr s15, [r3, #8] 80aa2a6: ed9f 7a13 vldr s14, [pc, #76] ; 80aa2f4 80aa2aa: ee67 7a87 vmul.f32 s15, s15, s14 80aa2ae: 4b08 ldr r3, [pc, #32] ; (80aa2d0 ) 80aa2b0: edc3 7a02 vstr s15, [r3, #8] 80aa2b4: e050 b.n 80aa358 80aa2b6: bf00 nop 80aa2b8: 20023e60 .word 0x20023e60 80aa2bc: 42fa0000 .word 0x42fa0000 80aa2c0: 20021634 .word 0x20021634 80aa2c4: 42fa0000 .word 0x42fa0000 80aa2c8: 20020990 .word 0x20020990 80aa2cc: 2002098c .word 0x2002098c 80aa2d0: 200685bc .word 0x200685bc 80aa2d4: 42960000 .word 0x42960000 80aa2d8: 20025d1a .word 0x20025d1a 80aa2dc: 64080000 .word 0x64080000 80aa2e0: 20025d20 .word 0x20025d20 80aa2e4: 3f3504f3 .word 0x3f3504f3 80aa2e8: 3fb504f3 .word 0x3fb504f3 80aa2ec: 20020f6a .word 0x20020f6a 80aa2f0: 40000005 .word 0x40000005 80aa2f4: 3f000012 .word 0x3f000012 if(ZOOM_OUT) 80aa2f8: 4bc9 ldr r3, [pc, #804] ; (80aa620 ) 80aa2fa: 781b ldrb r3, [r3, #0] 80aa2fc: b2db uxtb r3, r3 80aa2fe: 2b00 cmp r3, #0 80aa300: d02a beq.n 80aa358 ZOOM_OUT = false; 80aa302: 4bc7 ldr r3, [pc, #796] ; (80aa620 ) 80aa304: 2200 movs r2, #0 80aa306: 701a strb r2, [r3, #0] ZoomVal *= 0.5000011f; 80aa308: 4bc6 ldr r3, [pc, #792] ; (80aa624 ) 80aa30a: edd3 7a00 vldr s15, [r3] 80aa30e: ed9f 7ac6 vldr s14, [pc, #792] ; 80aa628 80aa312: ee67 7a87 vmul.f32 s15, s15, s14 80aa316: 4bc3 ldr r3, [pc, #780] ; (80aa624 ) 80aa318: edc3 7a00 vstr s15, [r3] LEGEND[0] *= 2.0000011f; 80aa31c: 4bc3 ldr r3, [pc, #780] ; (80aa62c ) 80aa31e: edd3 7a00 vldr s15, [r3] 80aa322: ed9f 7ac3 vldr s14, [pc, #780] ; 80aa630 80aa326: ee67 7a87 vmul.f32 s15, s15, s14 80aa32a: 4bc0 ldr r3, [pc, #768] ; (80aa62c ) 80aa32c: edc3 7a00 vstr s15, [r3] LEGEND[1] *= 2.0000011f; 80aa330: 4bbe ldr r3, [pc, #760] ; (80aa62c ) 80aa332: edd3 7a01 vldr s15, [r3, #4] 80aa336: ed9f 7abe vldr s14, [pc, #760] ; 80aa630 80aa33a: ee67 7a87 vmul.f32 s15, s15, s14 80aa33e: 4bbb ldr r3, [pc, #748] ; (80aa62c ) 80aa340: edc3 7a01 vstr s15, [r3, #4] LEGEND[2] *= 2.0000011f; 80aa344: 4bb9 ldr r3, [pc, #740] ; (80aa62c ) 80aa346: edd3 7a02 vldr s15, [r3, #8] 80aa34a: ed9f 7ab9 vldr s14, [pc, #740] ; 80aa630 80aa34e: ee67 7a87 vmul.f32 s15, s15, s14 80aa352: 4bb6 ldr r3, [pc, #728] ; (80aa62c ) 80aa354: edc3 7a02 vstr s15, [r3, #8] NumOverdrives = 0; 80aa358: 4bb6 ldr r3, [pc, #728] ; (80aa634 ) 80aa35a: 2200 movs r2, #0 80aa35c: 701a strb r2, [r3, #0] LCD_SetColors(LCD_COLOR_MYGREEN, LCD_COLOR_BLACK); 80aa35e: 49b6 ldr r1, [pc, #728] ; (80aa638 ) 80aa360: 48b6 ldr r0, [pc, #728] ; (80aa63c ) 80aa362: f7a9 fa23 bl 80537ac for(i = 0; i < 256; i++) 80aa366: 2300 movs r3, #0 80aa368: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80aa36c: e2a8 b.n 80aa8c0 arm_max_f32(&ScrA_f32(i * avgSPC[ViewLevel][pardata.LNE] + X0), avgSPC[ViewLevel][pardata.LNE], &mF[MAXY], &idx); 80aa36e: 4bb4 ldr r3, [pc, #720] ; (80aa640 ) 80aa370: 781b ldrb r3, [r3, #0] 80aa372: b2db uxtb r3, r3 80aa374: 4618 mov r0, r3 80aa376: 4bb3 ldr r3, [pc, #716] ; (80aa644 ) 80aa378: 79db ldrb r3, [r3, #7] 80aa37a: b2db uxtb r3, r3 80aa37c: 4619 mov r1, r3 80aa37e: 4ab2 ldr r2, [pc, #712] ; (80aa648 ) 80aa380: 0083 lsls r3, r0, #2 80aa382: 4413 add r3, r2 80aa384: 440b add r3, r1 80aa386: 781b ldrb r3, [r3, #0] 80aa388: 461a mov r2, r3 80aa38a: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80aa38e: fb03 f302 mul.w r3, r3, r2 80aa392: 4aae ldr r2, [pc, #696] ; (80aa64c ) 80aa394: 8812 ldrh r2, [r2, #0] 80aa396: b292 uxth r2, r2 80aa398: 4413 add r3, r2 80aa39a: 009a lsls r2, r3, #2 80aa39c: 4bac ldr r3, [pc, #688] ; (80aa650 ) 80aa39e: 4413 add r3, r2 80aa3a0: 461c mov r4, r3 80aa3a2: 4ba7 ldr r3, [pc, #668] ; (80aa640 ) 80aa3a4: 781b ldrb r3, [r3, #0] 80aa3a6: b2db uxtb r3, r3 80aa3a8: 4618 mov r0, r3 80aa3aa: 4ba6 ldr r3, [pc, #664] ; (80aa644 ) 80aa3ac: 79db ldrb r3, [r3, #7] 80aa3ae: b2db uxtb r3, r3 80aa3b0: 4619 mov r1, r3 80aa3b2: 4aa5 ldr r2, [pc, #660] ; (80aa648 ) 80aa3b4: 0083 lsls r3, r0, #2 80aa3b6: 4413 add r3, r2 80aa3b8: 440b add r3, r1 80aa3ba: 781b ldrb r3, [r3, #0] 80aa3bc: 4618 mov r0, r3 80aa3be: f507 711a add.w r1, r7, #616 ; 0x268 80aa3c2: f507 731e add.w r3, r7, #632 ; 0x278 80aa3c6: 1d1a adds r2, r3, #4 80aa3c8: 460b mov r3, r1 80aa3ca: 4601 mov r1, r0 80aa3cc: 4620 mov r0, r4 80aa3ce: f01f fe75 bl 80ca0bc if(avgSPC[ViewLevel][pardata.LNE] == 1) 80aa3d2: 4b9b ldr r3, [pc, #620] ; (80aa640 ) 80aa3d4: 781b ldrb r3, [r3, #0] 80aa3d6: b2db uxtb r3, r3 80aa3d8: 4618 mov r0, r3 80aa3da: 4b9a ldr r3, [pc, #616] ; (80aa644 ) 80aa3dc: 79db ldrb r3, [r3, #7] 80aa3de: b2db uxtb r3, r3 80aa3e0: 4619 mov r1, r3 80aa3e2: 4a99 ldr r2, [pc, #612] ; (80aa648 ) 80aa3e4: 0083 lsls r3, r0, #2 80aa3e6: 4413 add r3, r2 80aa3e8: 440b add r3, r1 80aa3ea: 781b ldrb r3, [r3, #0] 80aa3ec: 2b01 cmp r3, #1 80aa3ee: f040 8143 bne.w 80aa678 thr = 157; 80aa3f2: 239d movs r3, #157 ; 0x9d 80aa3f4: f8a7 328a strh.w r3, [r7, #650] ; 0x28a if(pardata.MSH == LOG) 80aa3f8: 4b92 ldr r3, [pc, #584] ; (80aa644 ) 80aa3fa: 7a9b ldrb r3, [r3, #10] 80aa3fc: b2db uxtb r3, r3 80aa3fe: 2b01 cmp r3, #1 80aa400: d16f bne.n 80aa4e2 if(pardata.IIN != VOLTS) 80aa402: 4b90 ldr r3, [pc, #576] ; (80aa644 ) 80aa404: 799b ldrb r3, [r3, #6] 80aa406: b2db uxtb r3, r3 80aa408: 2b02 cmp r3, #2 80aa40a: d01c beq.n 80aa446 for(j = 0; j < 2; j++) 80aa40c: 2300 movs r3, #0 80aa40e: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80aa412: e013 b.n 80aa43c LinToLog(&mF[j], &mF[j]); 80aa414: f507 721e add.w r2, r7, #632 ; 0x278 80aa418: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80aa41c: 009b lsls r3, r3, #2 80aa41e: 18d0 adds r0, r2, r3 80aa420: f507 721e add.w r2, r7, #632 ; 0x278 80aa424: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80aa428: 009b lsls r3, r3, #2 80aa42a: 4413 add r3, r2 80aa42c: 4619 mov r1, r3 80aa42e: f7ba fd3b bl 8064ea8 for(j = 0; j < 2; j++) 80aa432: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80aa436: 3301 adds r3, #1 80aa438: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80aa43c: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80aa440: 2b01 cmp r3, #1 80aa442: d9e7 bls.n 80aa414 80aa444: e01e b.n 80aa484 for(j = 0; j < 2; j++) 80aa446: 2300 movs r3, #0 80aa448: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80aa44c: e016 b.n 80aa47c LinToLog_mV(&mF[j], &mF[j], pardata.IPR); 80aa44e: f507 721e add.w r2, r7, #632 ; 0x278 80aa452: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80aa456: 009b lsls r3, r3, #2 80aa458: 18d0 adds r0, r2, r3 80aa45a: f507 721e add.w r2, r7, #632 ; 0x278 80aa45e: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80aa462: 009b lsls r3, r3, #2 80aa464: 18d1 adds r1, r2, r3 80aa466: 4b77 ldr r3, [pc, #476] ; (80aa644 ) 80aa468: 785b ldrb r3, [r3, #1] 80aa46a: b2db uxtb r3, r3 80aa46c: 461a mov r2, r3 80aa46e: f7ba fd4b bl 8064f08 for(j = 0; j < 2; j++) 80aa472: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80aa476: 3301 adds r3, #1 80aa478: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80aa47c: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80aa480: 2b01 cmp r3, #1 80aa482: d9e4 bls.n 80aa44e mF[MAXY] *= ZoomVal; 80aa484: ed97 7a9f vldr s14, [r7, #636] ; 0x27c 80aa488: 4b66 ldr r3, [pc, #408] ; (80aa624 ) 80aa48a: edd3 7a00 vldr s15, [r3] 80aa48e: ee67 7a27 vmul.f32 s15, s14, s15 80aa492: edc7 7a9f vstr s15, [r7, #636] ; 0x27c if(mF[MAXY] > 32767.0f) mF[MAXY] = 32767.0f; 80aa496: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80aa49a: ed9f 7a6e vldr s14, [pc, #440] ; 80aa654 80aa49e: eef4 7ac7 vcmpe.f32 s15, s14 80aa4a2: eef1 fa10 vmrs APSR_nzcv, fpscr 80aa4a6: dd02 ble.n 80aa4ae 80aa4a8: 4b6b ldr r3, [pc, #428] ; (80aa658 ) 80aa4aa: f8c7 327c str.w r3, [r7, #636] ; 0x27c if(mF[MAXY] < -32767.0f) mF[MAXY] = -32767.0f; 80aa4ae: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80aa4b2: ed9f 7a6a vldr s14, [pc, #424] ; 80aa65c 80aa4b6: eef4 7ac7 vcmpe.f32 s15, s14 80aa4ba: eef1 fa10 vmrs APSR_nzcv, fpscr 80aa4be: d502 bpl.n 80aa4c6 80aa4c0: 4b67 ldr r3, [pc, #412] ; (80aa660 ) 80aa4c2: f8c7 327c str.w r3, [r7, #636] ; 0x27c pMax = (int16_t) (mF[MAXY] + 0.5f); 80aa4c6: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80aa4ca: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80aa4ce: ee77 7a87 vadd.f32 s15, s15, s14 80aa4d2: eefd 7ae7 vcvt.s32.f32 s15, s15 80aa4d6: edc7 7a01 vstr s15, [r7, #4] 80aa4da: 88bb ldrh r3, [r7, #4] 80aa4dc: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 80aa4e0: e029 b.n 80aa536 mF[MAXY] *= ZoomVal; 80aa4e2: ed97 7a9f vldr s14, [r7, #636] ; 0x27c 80aa4e6: 4b4f ldr r3, [pc, #316] ; (80aa624 ) 80aa4e8: edd3 7a00 vldr s15, [r3] 80aa4ec: ee67 7a27 vmul.f32 s15, s14, s15 80aa4f0: edc7 7a9f vstr s15, [r7, #636] ; 0x27c if(mF[MAXY] > 32767.0f) mF[MAXY] = 32767.0f; 80aa4f4: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80aa4f8: ed9f 7a56 vldr s14, [pc, #344] ; 80aa654 80aa4fc: eef4 7ac7 vcmpe.f32 s15, s14 80aa500: eef1 fa10 vmrs APSR_nzcv, fpscr 80aa504: dd02 ble.n 80aa50c 80aa506: 4b54 ldr r3, [pc, #336] ; (80aa658 ) 80aa508: f8c7 327c str.w r3, [r7, #636] ; 0x27c if(mF[MAXY] < -32767.0f) mF[MAXY] = -32767.0f; 80aa50c: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80aa510: ed9f 7a52 vldr s14, [pc, #328] ; 80aa65c 80aa514: eef4 7ac7 vcmpe.f32 s15, s14 80aa518: eef1 fa10 vmrs APSR_nzcv, fpscr 80aa51c: d502 bpl.n 80aa524 80aa51e: 4b50 ldr r3, [pc, #320] ; (80aa660 ) 80aa520: f8c7 327c str.w r3, [r7, #636] ; 0x27c pMax = (int16_t) mF[MAXY]; 80aa524: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80aa528: eefd 7ae7 vcvt.s32.f32 s15, s15 80aa52c: edc7 7a01 vstr s15, [r7, #4] 80aa530: 88bb ldrh r3, [r7, #4] 80aa532: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 if(pMin > thr) 80aa536: f9b7 22b2 ldrsh.w r2, [r7, #690] ; 0x2b2 80aa53a: f9b7 328a ldrsh.w r3, [r7, #650] ; 0x28a 80aa53e: 429a cmp r2, r3 80aa540: dd03 ble.n 80aa54a pMin = thr; 80aa542: f8b7 328a ldrh.w r3, [r7, #650] ; 0x28a 80aa546: f8a7 32b2 strh.w r3, [r7, #690] ; 0x2b2 if(pMin < -thr) { 80aa54a: f9b7 22b2 ldrsh.w r2, [r7, #690] ; 0x2b2 80aa54e: f9b7 328a ldrsh.w r3, [r7, #650] ; 0x28a 80aa552: 425b negs r3, r3 80aa554: 429a cmp r2, r3 80aa556: da02 bge.n 80aa55e pMin = 0; 80aa558: 2300 movs r3, #0 80aa55a: f8a7 32b2 strh.w r3, [r7, #690] ; 0x2b2 if(pMax > thr) 80aa55e: f9b7 22b6 ldrsh.w r2, [r7, #694] ; 0x2b6 80aa562: f9b7 328a ldrsh.w r3, [r7, #650] ; 0x28a 80aa566: 429a cmp r2, r3 80aa568: dd09 ble.n 80aa57e pMax = thr; 80aa56a: f8b7 328a ldrh.w r3, [r7, #650] ; 0x28a 80aa56e: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 NumOverdrives++; 80aa572: 4b30 ldr r3, [pc, #192] ; (80aa634 ) 80aa574: 781b ldrb r3, [r3, #0] 80aa576: 3301 adds r3, #1 80aa578: b2da uxtb r2, r3 80aa57a: 4b2e ldr r3, [pc, #184] ; (80aa634 ) 80aa57c: 701a strb r2, [r3, #0] if(pMax < 0) { 80aa57e: f9b7 32b6 ldrsh.w r3, [r7, #694] ; 0x2b6 80aa582: 2b00 cmp r3, #0 80aa584: da02 bge.n 80aa58c pMax = 0; 80aa586: 2300 movs r3, #0 80aa588: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 x = 62 + i; 80aa58c: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80aa590: 333e adds r3, #62 ; 0x3e 80aa592: f8c7 3294 str.w r3, [r7, #660] ; 0x294 if(i == CURSOR) 80aa596: 4b33 ldr r3, [pc, #204] ; (80aa664 ) 80aa598: 681b ldr r3, [r3, #0] 80aa59a: f8d7 22ac ldr.w r2, [r7, #684] ; 0x2ac 80aa59e: 429a cmp r2, r3 80aa5a0: d12e bne.n 80aa600 if(menupos != Cursor) 80aa5a2: 4b31 ldr r3, [pc, #196] ; (80aa668 ) 80aa5a4: 781b ldrb r3, [r3, #0] 80aa5a6: b2db uxtb r3, r3 80aa5a8: 2b06 cmp r3, #6 80aa5aa: d004 beq.n 80aa5b6 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80aa5ac: 4922 ldr r1, [pc, #136] ; (80aa638 ) 80aa5ae: 482f ldr r0, [pc, #188] ; (80aa66c ) 80aa5b0: f7a9 f8fc bl 80537ac 80aa5b4: e003 b.n 80aa5be else LCD_SetColors(LCD_COLOR_RED, LCD_COLOR_BLACK); 80aa5b6: 4920 ldr r1, [pc, #128] ; (80aa638 ) 80aa5b8: 482d ldr r0, [pc, #180] ; (80aa670 ) 80aa5ba: f7a9 f8f7 bl 80537ac BSP_LCD_DrawLine(x, 44, x, 218); 80aa5be: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80aa5c2: b298 uxth r0, r3 80aa5c4: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80aa5c8: b29a uxth r2, r3 80aa5ca: 23da movs r3, #218 ; 0xda 80aa5cc: 212c movs r1, #44 ; 0x2c 80aa5ce: f7a9 fb27 bl 8053c20 LCD_SetColors(LCD_COLOR_DARKGREEN, LCD_COLOR_BLACK); 80aa5d2: 4919 ldr r1, [pc, #100] ; (80aa638 ) 80aa5d4: 4827 ldr r0, [pc, #156] ; (80aa674 ) 80aa5d6: f7a9 f8e9 bl 80537ac BSP_LCD_DrawLine(x, 219, x, 218 - pMax); 80aa5da: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80aa5de: b298 uxth r0, r3 80aa5e0: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80aa5e4: b29a uxth r2, r3 80aa5e6: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80aa5ea: f1c3 03da rsb r3, r3, #218 ; 0xda 80aa5ee: b29b uxth r3, r3 80aa5f0: 21db movs r1, #219 ; 0xdb 80aa5f2: f7a9 fb15 bl 8053c20 LCD_SetColors(LCD_COLOR_MYGREEN, LCD_COLOR_BLACK); 80aa5f6: 4910 ldr r1, [pc, #64] ; (80aa638 ) 80aa5f8: 4810 ldr r0, [pc, #64] ; (80aa63c ) 80aa5fa: f7a9 f8d7 bl 80537ac 80aa5fe: e150 b.n 80aa8a2 BSP_LCD_DrawLine(x, 218, x, 218 - pMax); 80aa600: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80aa604: b298 uxth r0, r3 80aa606: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80aa60a: b29a uxth r2, r3 80aa60c: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80aa610: f1c3 03da rsb r3, r3, #218 ; 0xda 80aa614: b29b uxth r3, r3 80aa616: 21da movs r1, #218 ; 0xda 80aa618: f7a9 fb02 bl 8053c20 80aa61c: e141 b.n 80aa8a2 80aa61e: bf00 nop 80aa620: 20020f69 .word 0x20020f69 80aa624: 20020990 .word 0x20020990 80aa628: 3f000012 .word 0x3f000012 80aa62c: 200685bc .word 0x200685bc 80aa630: 40000005 .word 0x40000005 80aa634: 2002164e .word 0x2002164e 80aa638: ff0a0f1f .word 0xff0a0f1f 80aa63c: ff26a01f .word 0xff26a01f 80aa640: 20020f74 .word 0x20020f74 80aa644: 20023e60 .word 0x20023e60 80aa648: 080ef614 .word 0x080ef614 80aa64c: 20025d1e .word 0x20025d1e 80aa650: 64080000 .word 0x64080000 80aa654: 46fffe00 .word 0x46fffe00 80aa658: 46fffe00 .word 0x46fffe00 80aa65c: c6fffe00 .word 0xc6fffe00 80aa660: c6fffe00 .word 0xc6fffe00 80aa664: 2002006c .word 0x2002006c 80aa668: 20020070 .word 0x20020070 80aa66c: ff808080 .word 0xff808080 80aa670: ffff0000 .word 0xffff0000 80aa674: ff008000 .word 0xff008000 thr = 157; 80aa678: 239d movs r3, #157 ; 0x9d 80aa67a: f8a7 328a strh.w r3, [r7, #650] ; 0x28a if(pardata.MSH == LOG) 80aa67e: 4bca ldr r3, [pc, #808] ; (80aa9a8 ) 80aa680: 7a9b ldrb r3, [r3, #10] 80aa682: b2db uxtb r3, r3 80aa684: 2b01 cmp r3, #1 80aa686: d16f bne.n 80aa768 if(pardata.IIN != VOLTS) 80aa688: 4bc7 ldr r3, [pc, #796] ; (80aa9a8 ) 80aa68a: 799b ldrb r3, [r3, #6] 80aa68c: b2db uxtb r3, r3 80aa68e: 2b02 cmp r3, #2 80aa690: d01c beq.n 80aa6cc for(j = 0; j < 2; j++) 80aa692: 2300 movs r3, #0 80aa694: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80aa698: e013 b.n 80aa6c2 LinToLog(&mF[j], &mF[j]); 80aa69a: f507 721e add.w r2, r7, #632 ; 0x278 80aa69e: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80aa6a2: 009b lsls r3, r3, #2 80aa6a4: 18d0 adds r0, r2, r3 80aa6a6: f507 721e add.w r2, r7, #632 ; 0x278 80aa6aa: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80aa6ae: 009b lsls r3, r3, #2 80aa6b0: 4413 add r3, r2 80aa6b2: 4619 mov r1, r3 80aa6b4: f7ba fbf8 bl 8064ea8 for(j = 0; j < 2; j++) 80aa6b8: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80aa6bc: 3301 adds r3, #1 80aa6be: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80aa6c2: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80aa6c6: 2b01 cmp r3, #1 80aa6c8: d9e7 bls.n 80aa69a 80aa6ca: e01e b.n 80aa70a for(j = 0; j < 2; j++) 80aa6cc: 2300 movs r3, #0 80aa6ce: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80aa6d2: e016 b.n 80aa702 LinToLog_mV(&mF[j], &mF[j], pardata.IPR); 80aa6d4: f507 721e add.w r2, r7, #632 ; 0x278 80aa6d8: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80aa6dc: 009b lsls r3, r3, #2 80aa6de: 18d0 adds r0, r2, r3 80aa6e0: f507 721e add.w r2, r7, #632 ; 0x278 80aa6e4: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80aa6e8: 009b lsls r3, r3, #2 80aa6ea: 18d1 adds r1, r2, r3 80aa6ec: 4bae ldr r3, [pc, #696] ; (80aa9a8 ) 80aa6ee: 785b ldrb r3, [r3, #1] 80aa6f0: b2db uxtb r3, r3 80aa6f2: 461a mov r2, r3 80aa6f4: f7ba fc08 bl 8064f08 for(j = 0; j < 2; j++) 80aa6f8: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80aa6fc: 3301 adds r3, #1 80aa6fe: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80aa702: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80aa706: 2b01 cmp r3, #1 80aa708: d9e4 bls.n 80aa6d4 mF[MAXY] *= ZoomVal; 80aa70a: ed97 7a9f vldr s14, [r7, #636] ; 0x27c 80aa70e: 4ba7 ldr r3, [pc, #668] ; (80aa9ac ) 80aa710: edd3 7a00 vldr s15, [r3] 80aa714: ee67 7a27 vmul.f32 s15, s14, s15 80aa718: edc7 7a9f vstr s15, [r7, #636] ; 0x27c if(mF[MAXY] > 32767.0f) mF[MAXY] = 32767.0f; 80aa71c: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80aa720: ed9f 7aa3 vldr s14, [pc, #652] ; 80aa9b0 80aa724: eef4 7ac7 vcmpe.f32 s15, s14 80aa728: eef1 fa10 vmrs APSR_nzcv, fpscr 80aa72c: dd02 ble.n 80aa734 80aa72e: 4ba1 ldr r3, [pc, #644] ; (80aa9b4 ) 80aa730: f8c7 327c str.w r3, [r7, #636] ; 0x27c if(mF[MAXY] < -32767.0f) mF[MAXY] = -32767.0f; 80aa734: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80aa738: ed9f 7a9f vldr s14, [pc, #636] ; 80aa9b8 80aa73c: eef4 7ac7 vcmpe.f32 s15, s14 80aa740: eef1 fa10 vmrs APSR_nzcv, fpscr 80aa744: d502 bpl.n 80aa74c 80aa746: 4b9d ldr r3, [pc, #628] ; (80aa9bc ) 80aa748: f8c7 327c str.w r3, [r7, #636] ; 0x27c pMax = (int16_t) (mF[MAXY] + 0.5f); 80aa74c: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80aa750: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80aa754: ee77 7a87 vadd.f32 s15, s15, s14 80aa758: eefd 7ae7 vcvt.s32.f32 s15, s15 80aa75c: edc7 7a01 vstr s15, [r7, #4] 80aa760: 88bb ldrh r3, [r7, #4] 80aa762: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 80aa766: e029 b.n 80aa7bc mF[MAXY] *= ZoomVal; 80aa768: ed97 7a9f vldr s14, [r7, #636] ; 0x27c 80aa76c: 4b8f ldr r3, [pc, #572] ; (80aa9ac ) 80aa76e: edd3 7a00 vldr s15, [r3] 80aa772: ee67 7a27 vmul.f32 s15, s14, s15 80aa776: edc7 7a9f vstr s15, [r7, #636] ; 0x27c if(mF[MAXY] > 32767.0f) mF[MAXY] = 32767.0f; 80aa77a: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80aa77e: ed9f 7a8c vldr s14, [pc, #560] ; 80aa9b0 80aa782: eef4 7ac7 vcmpe.f32 s15, s14 80aa786: eef1 fa10 vmrs APSR_nzcv, fpscr 80aa78a: dd02 ble.n 80aa792 80aa78c: 4b89 ldr r3, [pc, #548] ; (80aa9b4 ) 80aa78e: f8c7 327c str.w r3, [r7, #636] ; 0x27c if(mF[MAXY] < -32767.0f) mF[MAXY] = -32767.0f; 80aa792: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80aa796: ed9f 7a88 vldr s14, [pc, #544] ; 80aa9b8 80aa79a: eef4 7ac7 vcmpe.f32 s15, s14 80aa79e: eef1 fa10 vmrs APSR_nzcv, fpscr 80aa7a2: d502 bpl.n 80aa7aa 80aa7a4: 4b85 ldr r3, [pc, #532] ; (80aa9bc ) 80aa7a6: f8c7 327c str.w r3, [r7, #636] ; 0x27c pMax = (int16_t) mF[MAXY]; 80aa7aa: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80aa7ae: eefd 7ae7 vcvt.s32.f32 s15, s15 80aa7b2: edc7 7a01 vstr s15, [r7, #4] 80aa7b6: 88bb ldrh r3, [r7, #4] 80aa7b8: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 if(pMin > thr) 80aa7bc: f9b7 22b2 ldrsh.w r2, [r7, #690] ; 0x2b2 80aa7c0: f9b7 328a ldrsh.w r3, [r7, #650] ; 0x28a 80aa7c4: 429a cmp r2, r3 80aa7c6: dd03 ble.n 80aa7d0 pMin = thr; 80aa7c8: f8b7 328a ldrh.w r3, [r7, #650] ; 0x28a 80aa7cc: f8a7 32b2 strh.w r3, [r7, #690] ; 0x2b2 if(pMin < -thr) { 80aa7d0: f9b7 22b2 ldrsh.w r2, [r7, #690] ; 0x2b2 80aa7d4: f9b7 328a ldrsh.w r3, [r7, #650] ; 0x28a 80aa7d8: 425b negs r3, r3 80aa7da: 429a cmp r2, r3 80aa7dc: da02 bge.n 80aa7e4 pMin = 0; 80aa7de: 2300 movs r3, #0 80aa7e0: f8a7 32b2 strh.w r3, [r7, #690] ; 0x2b2 if(pMax > thr) 80aa7e4: f9b7 22b6 ldrsh.w r2, [r7, #694] ; 0x2b6 80aa7e8: f9b7 328a ldrsh.w r3, [r7, #650] ; 0x28a 80aa7ec: 429a cmp r2, r3 80aa7ee: dd09 ble.n 80aa804 pMax = thr; 80aa7f0: f8b7 328a ldrh.w r3, [r7, #650] ; 0x28a 80aa7f4: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 NumOverdrives++; 80aa7f8: 4b71 ldr r3, [pc, #452] ; (80aa9c0 ) 80aa7fa: 781b ldrb r3, [r3, #0] 80aa7fc: 3301 adds r3, #1 80aa7fe: b2da uxtb r2, r3 80aa800: 4b6f ldr r3, [pc, #444] ; (80aa9c0 ) 80aa802: 701a strb r2, [r3, #0] if(pMax < 0) { 80aa804: f9b7 32b6 ldrsh.w r3, [r7, #694] ; 0x2b6 80aa808: 2b00 cmp r3, #0 80aa80a: da02 bge.n 80aa812 pMax = 0; 80aa80c: 2300 movs r3, #0 80aa80e: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 x = 62 + i; 80aa812: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80aa816: 333e adds r3, #62 ; 0x3e 80aa818: f8c7 3294 str.w r3, [r7, #660] ; 0x294 if(i == CURSOR) 80aa81c: 4b69 ldr r3, [pc, #420] ; (80aa9c4 ) 80aa81e: 681b ldr r3, [r3, #0] 80aa820: f8d7 22ac ldr.w r2, [r7, #684] ; 0x2ac 80aa824: 429a cmp r2, r3 80aa826: d12e bne.n 80aa886 if(menupos != Cursor) 80aa828: 4b67 ldr r3, [pc, #412] ; (80aa9c8 ) 80aa82a: 781b ldrb r3, [r3, #0] 80aa82c: b2db uxtb r3, r3 80aa82e: 2b06 cmp r3, #6 80aa830: d004 beq.n 80aa83c LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80aa832: 4966 ldr r1, [pc, #408] ; (80aa9cc ) 80aa834: 4866 ldr r0, [pc, #408] ; (80aa9d0 ) 80aa836: f7a8 ffb9 bl 80537ac 80aa83a: e003 b.n 80aa844 else LCD_SetColors(LCD_COLOR_RED, LCD_COLOR_BLACK); 80aa83c: 4963 ldr r1, [pc, #396] ; (80aa9cc ) 80aa83e: 4865 ldr r0, [pc, #404] ; (80aa9d4 ) 80aa840: f7a8 ffb4 bl 80537ac BSP_LCD_DrawLine(x, 44, x, 218); 80aa844: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80aa848: b298 uxth r0, r3 80aa84a: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80aa84e: b29a uxth r2, r3 80aa850: 23da movs r3, #218 ; 0xda 80aa852: 212c movs r1, #44 ; 0x2c 80aa854: f7a9 f9e4 bl 8053c20 LCD_SetColors(LCD_COLOR_DARKGREEN, LCD_COLOR_BLACK); 80aa858: 495c ldr r1, [pc, #368] ; (80aa9cc ) 80aa85a: 485f ldr r0, [pc, #380] ; (80aa9d8 ) 80aa85c: f7a8 ffa6 bl 80537ac BSP_LCD_DrawLine(x, 219, x, 218 - pMax); 80aa860: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80aa864: b298 uxth r0, r3 80aa866: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80aa86a: b29a uxth r2, r3 80aa86c: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80aa870: f1c3 03da rsb r3, r3, #218 ; 0xda 80aa874: b29b uxth r3, r3 80aa876: 21db movs r1, #219 ; 0xdb 80aa878: f7a9 f9d2 bl 8053c20 LCD_SetColors(LCD_COLOR_MYGREEN, LCD_COLOR_BLACK); 80aa87c: 4953 ldr r1, [pc, #332] ; (80aa9cc ) 80aa87e: 4857 ldr r0, [pc, #348] ; (80aa9dc ) 80aa880: f7a8 ff94 bl 80537ac 80aa884: e00d b.n 80aa8a2 BSP_LCD_DrawLine(x, 218, x, 218 - pMax); 80aa886: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80aa88a: b298 uxth r0, r3 80aa88c: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80aa890: b29a uxth r2, r3 80aa892: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80aa896: f1c3 03da rsb r3, r3, #218 ; 0xda 80aa89a: b29b uxth r3, r3 80aa89c: 21da movs r1, #218 ; 0xda 80aa89e: f7a9 f9bf bl 8053c20 if(pMax > Maximum) Maximum = pMax; 80aa8a2: f9b7 22b6 ldrsh.w r2, [r7, #694] ; 0x2b6 80aa8a6: f9b7 32b4 ldrsh.w r3, [r7, #692] ; 0x2b4 80aa8aa: 429a cmp r2, r3 80aa8ac: dd03 ble.n 80aa8b6 80aa8ae: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80aa8b2: f8a7 32b4 strh.w r3, [r7, #692] ; 0x2b4 for(i = 0; i < 256; i++) 80aa8b6: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80aa8ba: 3301 adds r3, #1 80aa8bc: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80aa8c0: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80aa8c4: 2bff cmp r3, #255 ; 0xff 80aa8c6: f67f ad52 bls.w 80aa36e BSP_LCD_SetFont(&Font8); 80aa8ca: 4845 ldr r0, [pc, #276] ; (80aa9e0 ) 80aa8cc: f7a8 ffaa bl 8053824 LCD_SetColors(LCD_COLOR_GRAY, 0xFF000000); 80aa8d0: f04f 417f mov.w r1, #4278190080 ; 0xff000000 80aa8d4: 483e ldr r0, [pc, #248] ; (80aa9d0 ) 80aa8d6: f7a8 ff69 bl 80537ac if(ABS(LEGEND[0]) == 0.0f) { mmm = -1; } 80aa8da: 4b42 ldr r3, [pc, #264] ; (80aa9e4 ) 80aa8dc: edd3 7a00 vldr s15, [r3] 80aa8e0: eef5 7ac0 vcmpe.f32 s15, #0.0 80aa8e4: eef1 fa10 vmrs APSR_nzcv, fpscr 80aa8e8: dd0b ble.n 80aa902 80aa8ea: 4b3e ldr r3, [pc, #248] ; (80aa9e4 ) 80aa8ec: edd3 7a00 vldr s15, [r3] 80aa8f0: eef5 7a40 vcmp.f32 s15, #0.0 80aa8f4: eef1 fa10 vmrs APSR_nzcv, fpscr 80aa8f8: bf0c ite eq 80aa8fa: 2301 moveq r3, #1 80aa8fc: 2300 movne r3, #0 80aa8fe: b2db uxtb r3, r3 80aa900: e00a b.n 80aa918 80aa902: 4b38 ldr r3, [pc, #224] ; (80aa9e4 ) 80aa904: edd3 7a00 vldr s15, [r3] 80aa908: eef5 7a40 vcmp.f32 s15, #0.0 80aa90c: eef1 fa10 vmrs APSR_nzcv, fpscr 80aa910: bf0c ite eq 80aa912: 2301 moveq r3, #1 80aa914: 2300 movne r3, #0 80aa916: b2db uxtb r3, r3 80aa918: 2b00 cmp r3, #0 80aa91a: d003 beq.n 80aa924 80aa91c: 23ff movs r3, #255 ; 0xff 80aa91e: f887 329f strb.w r3, [r7, #671] ; 0x29f 80aa922: e079 b.n 80aaa18 else if(ABS(LEGEND[0]) < 1) { mmm = -4; } 80aa924: 4b2f ldr r3, [pc, #188] ; (80aa9e4 ) 80aa926: edd3 7a00 vldr s15, [r3] 80aa92a: eef5 7ac0 vcmpe.f32 s15, #0.0 80aa92e: eef1 fa10 vmrs APSR_nzcv, fpscr 80aa932: dd0d ble.n 80aa950 80aa934: 4b2b ldr r3, [pc, #172] ; (80aa9e4 ) 80aa936: edd3 7a00 vldr s15, [r3] 80aa93a: eeb7 7a00 vmov.f32 s14, #112 ; 0x3f800000 1.0 80aa93e: eef4 7ac7 vcmpe.f32 s15, s14 80aa942: eef1 fa10 vmrs APSR_nzcv, fpscr 80aa946: bf4c ite mi 80aa948: 2301 movmi r3, #1 80aa94a: 2300 movpl r3, #0 80aa94c: b2db uxtb r3, r3 80aa94e: e00e b.n 80aa96e 80aa950: 4b24 ldr r3, [pc, #144] ; (80aa9e4 ) 80aa952: edd3 7a00 vldr s15, [r3] 80aa956: eef1 7a67 vneg.f32 s15, s15 80aa95a: eeb7 7a00 vmov.f32 s14, #112 ; 0x3f800000 1.0 80aa95e: eef4 7ac7 vcmpe.f32 s15, s14 80aa962: eef1 fa10 vmrs APSR_nzcv, fpscr 80aa966: bf4c ite mi 80aa968: 2301 movmi r3, #1 80aa96a: 2300 movpl r3, #0 80aa96c: b2db uxtb r3, r3 80aa96e: 2b00 cmp r3, #0 80aa970: d003 beq.n 80aa97a 80aa972: 23fc movs r3, #252 ; 0xfc 80aa974: f887 329f strb.w r3, [r7, #671] ; 0x29f 80aa978: e04e b.n 80aaa18 else if(ABS(LEGEND[0]) < 10) { mmm = -1; } 80aa97a: 4b1a ldr r3, [pc, #104] ; (80aa9e4 ) 80aa97c: edd3 7a00 vldr s15, [r3] 80aa980: eef5 7ac0 vcmpe.f32 s15, #0.0 80aa984: eef1 fa10 vmrs APSR_nzcv, fpscr 80aa988: dd2e ble.n 80aa9e8 80aa98a: 4b16 ldr r3, [pc, #88] ; (80aa9e4 ) 80aa98c: edd3 7a00 vldr s15, [r3] 80aa990: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80aa994: eef4 7ac7 vcmpe.f32 s15, s14 80aa998: eef1 fa10 vmrs APSR_nzcv, fpscr 80aa99c: bf4c ite mi 80aa99e: 2301 movmi r3, #1 80aa9a0: 2300 movpl r3, #0 80aa9a2: b2db uxtb r3, r3 80aa9a4: e02f b.n 80aaa06 80aa9a6: bf00 nop 80aa9a8: 20023e60 .word 0x20023e60 80aa9ac: 20020990 .word 0x20020990 80aa9b0: 46fffe00 .word 0x46fffe00 80aa9b4: 46fffe00 .word 0x46fffe00 80aa9b8: c6fffe00 .word 0xc6fffe00 80aa9bc: c6fffe00 .word 0xc6fffe00 80aa9c0: 2002164e .word 0x2002164e 80aa9c4: 2002006c .word 0x2002006c 80aa9c8: 20020070 .word 0x20020070 80aa9cc: ff0a0f1f .word 0xff0a0f1f 80aa9d0: ff808080 .word 0xff808080 80aa9d4: ffff0000 .word 0xffff0000 80aa9d8: ff008000 .word 0xff008000 80aa9dc: ff26a01f .word 0xff26a01f 80aa9e0: 20020060 .word 0x20020060 80aa9e4: 200685bc .word 0x200685bc 80aa9e8: 4ba7 ldr r3, [pc, #668] ; (80aac88 ) 80aa9ea: edd3 7a00 vldr s15, [r3] 80aa9ee: eef1 7a67 vneg.f32 s15, s15 80aa9f2: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80aa9f6: eef4 7ac7 vcmpe.f32 s15, s14 80aa9fa: eef1 fa10 vmrs APSR_nzcv, fpscr 80aa9fe: bf4c ite mi 80aaa00: 2301 movmi r3, #1 80aaa02: 2300 movpl r3, #0 80aaa04: b2db uxtb r3, r3 80aaa06: 2b00 cmp r3, #0 80aaa08: d003 beq.n 80aaa12 80aaa0a: 23ff movs r3, #255 ; 0xff 80aaa0c: f887 329f strb.w r3, [r7, #671] ; 0x29f 80aaa10: e002 b.n 80aaa18 else { mmm = 0; } 80aaa12: 2300 movs r3, #0 80aaa14: f887 329f strb.w r3, [r7, #671] ; 0x29f BSP_LCD_DisplayStringAt(316, 92-8+98, (char *) FloatToASCII(LEGEND[0], mmm), RIGHT_MODE); 80aaa18: 4b9b ldr r3, [pc, #620] ; (80aac88 ) 80aaa1a: edd3 7a00 vldr s15, [r3] 80aaa1e: f997 329f ldrsb.w r3, [r7, #671] ; 0x29f 80aaa22: 4618 mov r0, r3 80aaa24: eeb0 0a67 vmov.f32 s0, s15 80aaa28: f7bb fe6a bl 8066700 80aaa2c: 4602 mov r2, r0 80aaa2e: 2302 movs r3, #2 80aaa30: 21b6 movs r1, #182 ; 0xb6 80aaa32: f44f 709e mov.w r0, #316 ; 0x13c 80aaa36: f7a8 ff7f bl 8053938 if(ABS(LEGEND[1]) == 0.0f) { mmm = -1; } 80aaa3a: 4b93 ldr r3, [pc, #588] ; (80aac88 ) 80aaa3c: edd3 7a01 vldr s15, [r3, #4] 80aaa40: eef5 7ac0 vcmpe.f32 s15, #0.0 80aaa44: eef1 fa10 vmrs APSR_nzcv, fpscr 80aaa48: dd0b ble.n 80aaa62 80aaa4a: 4b8f ldr r3, [pc, #572] ; (80aac88 ) 80aaa4c: edd3 7a01 vldr s15, [r3, #4] 80aaa50: eef5 7a40 vcmp.f32 s15, #0.0 80aaa54: eef1 fa10 vmrs APSR_nzcv, fpscr 80aaa58: bf0c ite eq 80aaa5a: 2301 moveq r3, #1 80aaa5c: 2300 movne r3, #0 80aaa5e: b2db uxtb r3, r3 80aaa60: e00a b.n 80aaa78 80aaa62: 4b89 ldr r3, [pc, #548] ; (80aac88 ) 80aaa64: edd3 7a01 vldr s15, [r3, #4] 80aaa68: eef5 7a40 vcmp.f32 s15, #0.0 80aaa6c: eef1 fa10 vmrs APSR_nzcv, fpscr 80aaa70: bf0c ite eq 80aaa72: 2301 moveq r3, #1 80aaa74: 2300 movne r3, #0 80aaa76: b2db uxtb r3, r3 80aaa78: 2b00 cmp r3, #0 80aaa7a: d003 beq.n 80aaa84 80aaa7c: 23ff movs r3, #255 ; 0xff 80aaa7e: f887 329f strb.w r3, [r7, #671] ; 0x29f 80aaa82: e058 b.n 80aab36 else if(ABS(LEGEND[1]) < 1) { mmm = -4; } 80aaa84: 4b80 ldr r3, [pc, #512] ; (80aac88 ) 80aaa86: edd3 7a01 vldr s15, [r3, #4] 80aaa8a: eef5 7ac0 vcmpe.f32 s15, #0.0 80aaa8e: eef1 fa10 vmrs APSR_nzcv, fpscr 80aaa92: dd0d ble.n 80aaab0 80aaa94: 4b7c ldr r3, [pc, #496] ; (80aac88 ) 80aaa96: edd3 7a01 vldr s15, [r3, #4] 80aaa9a: eeb7 7a00 vmov.f32 s14, #112 ; 0x3f800000 1.0 80aaa9e: eef4 7ac7 vcmpe.f32 s15, s14 80aaaa2: eef1 fa10 vmrs APSR_nzcv, fpscr 80aaaa6: bf4c ite mi 80aaaa8: 2301 movmi r3, #1 80aaaaa: 2300 movpl r3, #0 80aaaac: b2db uxtb r3, r3 80aaaae: e00e b.n 80aaace 80aaab0: 4b75 ldr r3, [pc, #468] ; (80aac88 ) 80aaab2: edd3 7a01 vldr s15, [r3, #4] 80aaab6: eef1 7a67 vneg.f32 s15, s15 80aaaba: eeb7 7a00 vmov.f32 s14, #112 ; 0x3f800000 1.0 80aaabe: eef4 7ac7 vcmpe.f32 s15, s14 80aaac2: eef1 fa10 vmrs APSR_nzcv, fpscr 80aaac6: bf4c ite mi 80aaac8: 2301 movmi r3, #1 80aaaca: 2300 movpl r3, #0 80aaacc: b2db uxtb r3, r3 80aaace: 2b00 cmp r3, #0 80aaad0: d003 beq.n 80aaada 80aaad2: 23fc movs r3, #252 ; 0xfc 80aaad4: f887 329f strb.w r3, [r7, #671] ; 0x29f 80aaad8: e02d b.n 80aab36 else if(ABS(LEGEND[1]) < 10) { mmm = -1; } 80aaada: 4b6b ldr r3, [pc, #428] ; (80aac88 ) 80aaadc: edd3 7a01 vldr s15, [r3, #4] 80aaae0: eef5 7ac0 vcmpe.f32 s15, #0.0 80aaae4: eef1 fa10 vmrs APSR_nzcv, fpscr 80aaae8: dd0d ble.n 80aab06 80aaaea: 4b67 ldr r3, [pc, #412] ; (80aac88 ) 80aaaec: edd3 7a01 vldr s15, [r3, #4] 80aaaf0: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80aaaf4: eef4 7ac7 vcmpe.f32 s15, s14 80aaaf8: eef1 fa10 vmrs APSR_nzcv, fpscr 80aaafc: bf4c ite mi 80aaafe: 2301 movmi r3, #1 80aab00: 2300 movpl r3, #0 80aab02: b2db uxtb r3, r3 80aab04: e00e b.n 80aab24 80aab06: 4b60 ldr r3, [pc, #384] ; (80aac88 ) 80aab08: edd3 7a01 vldr s15, [r3, #4] 80aab0c: eef1 7a67 vneg.f32 s15, s15 80aab10: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80aab14: eef4 7ac7 vcmpe.f32 s15, s14 80aab18: eef1 fa10 vmrs APSR_nzcv, fpscr 80aab1c: bf4c ite mi 80aab1e: 2301 movmi r3, #1 80aab20: 2300 movpl r3, #0 80aab22: b2db uxtb r3, r3 80aab24: 2b00 cmp r3, #0 80aab26: d003 beq.n 80aab30 80aab28: 23ff movs r3, #255 ; 0xff 80aab2a: f887 329f strb.w r3, [r7, #671] ; 0x29f 80aab2e: e002 b.n 80aab36 else { mmm = 0; } 80aab30: 2300 movs r3, #0 80aab32: f887 329f strb.w r3, [r7, #671] ; 0x29f BSP_LCD_DisplayStringAt(316, 92-8+49, (char *) FloatToASCII(LEGEND[1], mmm), RIGHT_MODE); 80aab36: 4b54 ldr r3, [pc, #336] ; (80aac88 ) 80aab38: edd3 7a01 vldr s15, [r3, #4] 80aab3c: f997 329f ldrsb.w r3, [r7, #671] ; 0x29f 80aab40: 4618 mov r0, r3 80aab42: eeb0 0a67 vmov.f32 s0, s15 80aab46: f7bb fddb bl 8066700 80aab4a: 4602 mov r2, r0 80aab4c: 2302 movs r3, #2 80aab4e: 2185 movs r1, #133 ; 0x85 80aab50: f44f 709e mov.w r0, #316 ; 0x13c 80aab54: f7a8 fef0 bl 8053938 if(ABS(LEGEND[2]) == 0.0f) { mmm = -1; } 80aab58: 4b4b ldr r3, [pc, #300] ; (80aac88 ) 80aab5a: edd3 7a02 vldr s15, [r3, #8] 80aab5e: eef5 7ac0 vcmpe.f32 s15, #0.0 80aab62: eef1 fa10 vmrs APSR_nzcv, fpscr 80aab66: dd0b ble.n 80aab80 80aab68: 4b47 ldr r3, [pc, #284] ; (80aac88 ) 80aab6a: edd3 7a02 vldr s15, [r3, #8] 80aab6e: eef5 7a40 vcmp.f32 s15, #0.0 80aab72: eef1 fa10 vmrs APSR_nzcv, fpscr 80aab76: bf0c ite eq 80aab78: 2301 moveq r3, #1 80aab7a: 2300 movne r3, #0 80aab7c: b2db uxtb r3, r3 80aab7e: e00a b.n 80aab96 80aab80: 4b41 ldr r3, [pc, #260] ; (80aac88 ) 80aab82: edd3 7a02 vldr s15, [r3, #8] 80aab86: eef5 7a40 vcmp.f32 s15, #0.0 80aab8a: eef1 fa10 vmrs APSR_nzcv, fpscr 80aab8e: bf0c ite eq 80aab90: 2301 moveq r3, #1 80aab92: 2300 movne r3, #0 80aab94: b2db uxtb r3, r3 80aab96: 2b00 cmp r3, #0 80aab98: d003 beq.n 80aaba2 80aab9a: 23ff movs r3, #255 ; 0xff 80aab9c: f887 329f strb.w r3, [r7, #671] ; 0x29f 80aaba0: e058 b.n 80aac54 else if(ABS(LEGEND[2]) < 1) { mmm = -4; } 80aaba2: 4b39 ldr r3, [pc, #228] ; (80aac88 ) 80aaba4: edd3 7a02 vldr s15, [r3, #8] 80aaba8: eef5 7ac0 vcmpe.f32 s15, #0.0 80aabac: eef1 fa10 vmrs APSR_nzcv, fpscr 80aabb0: dd0d ble.n 80aabce 80aabb2: 4b35 ldr r3, [pc, #212] ; (80aac88 ) 80aabb4: edd3 7a02 vldr s15, [r3, #8] 80aabb8: eeb7 7a00 vmov.f32 s14, #112 ; 0x3f800000 1.0 80aabbc: eef4 7ac7 vcmpe.f32 s15, s14 80aabc0: eef1 fa10 vmrs APSR_nzcv, fpscr 80aabc4: bf4c ite mi 80aabc6: 2301 movmi r3, #1 80aabc8: 2300 movpl r3, #0 80aabca: b2db uxtb r3, r3 80aabcc: e00e b.n 80aabec 80aabce: 4b2e ldr r3, [pc, #184] ; (80aac88 ) 80aabd0: edd3 7a02 vldr s15, [r3, #8] 80aabd4: eef1 7a67 vneg.f32 s15, s15 80aabd8: eeb7 7a00 vmov.f32 s14, #112 ; 0x3f800000 1.0 80aabdc: eef4 7ac7 vcmpe.f32 s15, s14 80aabe0: eef1 fa10 vmrs APSR_nzcv, fpscr 80aabe4: bf4c ite mi 80aabe6: 2301 movmi r3, #1 80aabe8: 2300 movpl r3, #0 80aabea: b2db uxtb r3, r3 80aabec: 2b00 cmp r3, #0 80aabee: d003 beq.n 80aabf8 80aabf0: 23fc movs r3, #252 ; 0xfc 80aabf2: f887 329f strb.w r3, [r7, #671] ; 0x29f 80aabf6: e02d b.n 80aac54 else if(ABS(LEGEND[2]) < 10) { mmm = -1; } 80aabf8: 4b23 ldr r3, [pc, #140] ; (80aac88 ) 80aabfa: edd3 7a02 vldr s15, [r3, #8] 80aabfe: eef5 7ac0 vcmpe.f32 s15, #0.0 80aac02: eef1 fa10 vmrs APSR_nzcv, fpscr 80aac06: dd0d ble.n 80aac24 80aac08: 4b1f ldr r3, [pc, #124] ; (80aac88 ) 80aac0a: edd3 7a02 vldr s15, [r3, #8] 80aac0e: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80aac12: eef4 7ac7 vcmpe.f32 s15, s14 80aac16: eef1 fa10 vmrs APSR_nzcv, fpscr 80aac1a: bf4c ite mi 80aac1c: 2301 movmi r3, #1 80aac1e: 2300 movpl r3, #0 80aac20: b2db uxtb r3, r3 80aac22: e00e b.n 80aac42 80aac24: 4b18 ldr r3, [pc, #96] ; (80aac88 ) 80aac26: edd3 7a02 vldr s15, [r3, #8] 80aac2a: eef1 7a67 vneg.f32 s15, s15 80aac2e: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80aac32: eef4 7ac7 vcmpe.f32 s15, s14 80aac36: eef1 fa10 vmrs APSR_nzcv, fpscr 80aac3a: bf4c ite mi 80aac3c: 2301 movmi r3, #1 80aac3e: 2300 movpl r3, #0 80aac40: b2db uxtb r3, r3 80aac42: 2b00 cmp r3, #0 80aac44: d003 beq.n 80aac4e 80aac46: 23ff movs r3, #255 ; 0xff 80aac48: f887 329f strb.w r3, [r7, #671] ; 0x29f 80aac4c: e002 b.n 80aac54 else { mmm = 0; } 80aac4e: 2300 movs r3, #0 80aac50: f887 329f strb.w r3, [r7, #671] ; 0x29f BSP_LCD_DisplayStringAt(316, 92-8, (char *) FloatToASCII(LEGEND[2], mmm), RIGHT_MODE); 80aac54: 4b0c ldr r3, [pc, #48] ; (80aac88 ) 80aac56: edd3 7a02 vldr s15, [r3, #8] 80aac5a: f997 329f ldrsb.w r3, [r7, #671] ; 0x29f 80aac5e: 4618 mov r0, r3 80aac60: eeb0 0a67 vmov.f32 s0, s15 80aac64: f7bb fd4c bl 8066700 80aac68: 4602 mov r2, r0 80aac6a: 2302 movs r3, #2 80aac6c: 2154 movs r1, #84 ; 0x54 80aac6e: f44f 709e mov.w r0, #316 ; 0x13c 80aac72: f7a8 fe61 bl 8053938 Maximum = ABS(Maximum); 80aac76: f9b7 32b4 ldrsh.w r3, [r7, #692] ; 0x2b4 80aac7a: 2b00 cmp r3, #0 80aac7c: bfb8 it lt 80aac7e: 425b neglt r3, r3 80aac80: f8a7 32b4 strh.w r3, [r7, #692] ; 0x2b4 { 80aac84: f001 b8eb b.w 80abe5e 80aac88: 200685bc .word 0x200685bc if(pardata.SYG == SPEC_OKT) 80aac8c: 4ba2 ldr r3, [pc, #648] ; (80aaf18 ) 80aac8e: 781b ldrb r3, [r3, #0] 80aac90: b2db uxtb r3, r3 80aac92: 2b06 cmp r3, #6 80aac94: f040 821f bne.w 80ab0d6 if((!firstOkt) && (READY_TO_SEE)) 80aac98: 4ba0 ldr r3, [pc, #640] ; (80aaf1c ) 80aac9a: 781b ldrb r3, [r3, #0] 80aac9c: b2db uxtb r3, r3 80aac9e: f083 0301 eor.w r3, r3, #1 80aaca2: b2db uxtb r3, r3 80aaca4: 2b00 cmp r3, #0 80aaca6: f001 80db beq.w 80abe60 80aacaa: 4b9d ldr r3, [pc, #628] ; (80aaf20 ) 80aacac: 781b ldrb r3, [r3, #0] 80aacae: b2db uxtb r3, r3 80aacb0: 2b00 cmp r3, #0 80aacb2: f001 80d5 beq.w 80abe60 if(AUTOZOOM) 80aacb6: 4b9b ldr r3, [pc, #620] ; (80aaf24 ) 80aacb8: 781b ldrb r3, [r3, #0] 80aacba: b2db uxtb r3, r3 80aacbc: 2b00 cmp r3, #0 80aacbe: f000 809c beq.w 80aadfa arm_max_f32(&ScrA_f32(lX), 15, &max, &idx); 80aacc2: 4b99 ldr r3, [pc, #612] ; (80aaf28 ) 80aacc4: 881b ldrh r3, [r3, #0] 80aacc6: b29b uxth r3, r3 80aacc8: 009b lsls r3, r3, #2 80aacca: 461a mov r2, r3 80aaccc: 4b97 ldr r3, [pc, #604] ; (80aaf2c ) 80aacce: 4413 add r3, r2 80aacd0: 4618 mov r0, r3 80aacd2: f507 731a add.w r3, r7, #616 ; 0x268 80aacd6: f507 721d add.w r2, r7, #628 ; 0x274 80aacda: 210f movs r1, #15 80aacdc: f01f f9ee bl 80ca0bc arm_min_f32(&ScrA_f32(lX), 15, &min, &idx); 80aace0: 4b91 ldr r3, [pc, #580] ; (80aaf28 ) 80aace2: 881b ldrh r3, [r3, #0] 80aace4: b29b uxth r3, r3 80aace6: 009b lsls r3, r3, #2 80aace8: 461a mov r2, r3 80aacea: 4b90 ldr r3, [pc, #576] ; (80aaf2c ) 80aacec: 4413 add r3, r2 80aacee: 4618 mov r0, r3 80aacf0: f507 731a add.w r3, r7, #616 ; 0x268 80aacf4: f507 721c add.w r2, r7, #624 ; 0x270 80aacf8: 210f movs r1, #15 80aacfa: f01f f943 bl 80c9f84 if(max != 0.0f) 80aacfe: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80aad02: eef5 7a40 vcmp.f32 s15, #0.0 80aad06: eef1 fa10 vmrs APSR_nzcv, fpscr 80aad0a: d072 beq.n 80aadf2 if(pardata.MSH == LOG) 80aad0c: 4b82 ldr r3, [pc, #520] ; (80aaf18 ) 80aad0e: 7a9b ldrb r3, [r3, #10] 80aad10: b2db uxtb r3, r3 80aad12: 2b01 cmp r3, #1 80aad14: d122 bne.n 80aad5c LinToLog(&max, &max); 80aad16: f507 721d add.w r2, r7, #628 ; 0x274 80aad1a: f507 731d add.w r3, r7, #628 ; 0x274 80aad1e: 4611 mov r1, r2 80aad20: 4618 mov r0, r3 80aad22: f7ba f8c1 bl 8064ea8 LinToLog(&min, &min); 80aad26: f507 721c add.w r2, r7, #624 ; 0x270 80aad2a: f507 731c add.w r3, r7, #624 ; 0x270 80aad2e: 4611 mov r1, r2 80aad30: 4618 mov r0, r3 80aad32: f7ba f8b9 bl 8064ea8 f = (max);// - min); 80aad36: f8d7 3274 ldr.w r3, [r7, #628] ; 0x274 80aad3a: f8c7 326c str.w r3, [r7, #620] ; 0x26c if(f <= 0.0f) { 80aad3e: edd7 7a9b vldr s15, [r7, #620] ; 0x26c 80aad42: eef5 7ac0 vcmpe.f32 s15, #0.0 80aad46: eef1 fa10 vmrs APSR_nzcv, fpscr 80aad4a: d802 bhi.n 80aad52 f = 100.0f; 80aad4c: 4b78 ldr r3, [pc, #480] ; (80aaf30 ) 80aad4e: f8c7 326c str.w r3, [r7, #620] ; 0x26c MIN_Y = min; 80aad52: f8d7 3270 ldr.w r3, [r7, #624] ; 0x270 80aad56: 4a77 ldr r2, [pc, #476] ; (80aaf34 ) 80aad58: 6013 str r3, [r2, #0] 80aad5a: e041 b.n 80aade0 if(ABS(max) > ABS(min)) f = ABS(max); 80aad5c: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80aad60: eef5 7ac0 vcmpe.f32 s15, #0.0 80aad64: eef1 fa10 vmrs APSR_nzcv, fpscr 80aad68: dd02 ble.n 80aad70 80aad6a: ed97 7a9d vldr s14, [r7, #628] ; 0x274 80aad6e: e003 b.n 80aad78 80aad70: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80aad74: eeb1 7a67 vneg.f32 s14, s15 80aad78: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80aad7c: eef5 7ac0 vcmpe.f32 s15, #0.0 80aad80: eef1 fa10 vmrs APSR_nzcv, fpscr 80aad84: dd02 ble.n 80aad8c 80aad86: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80aad8a: e003 b.n 80aad94 80aad8c: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80aad90: eef1 7a67 vneg.f32 s15, s15 80aad94: eeb4 7ae7 vcmpe.f32 s14, s15 80aad98: eef1 fa10 vmrs APSR_nzcv, fpscr 80aad9c: dd10 ble.n 80aadc0 80aad9e: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80aada2: eef5 7ac0 vcmpe.f32 s15, #0.0 80aada6: eef1 fa10 vmrs APSR_nzcv, fpscr 80aadaa: dd02 ble.n 80aadb2 80aadac: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80aadb0: e003 b.n 80aadba 80aadb2: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80aadb6: eef1 7a67 vneg.f32 s15, s15 80aadba: edc7 7a9b vstr s15, [r7, #620] ; 0x26c 80aadbe: e00f b.n 80aade0 else f = ABS(min); 80aadc0: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80aadc4: eef5 7ac0 vcmpe.f32 s15, #0.0 80aadc8: eef1 fa10 vmrs APSR_nzcv, fpscr 80aadcc: dd02 ble.n 80aadd4 80aadce: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80aadd2: e003 b.n 80aaddc 80aadd4: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80aadd8: eef1 7a67 vneg.f32 s15, s15 80aaddc: edc7 7a9b vstr s15, [r7, #620] ; 0x26c ZoomVal = 100.0f / f; 80aade0: ed97 7a9b vldr s14, [r7, #620] ; 0x26c 80aade4: eddf 6a54 vldr s13, [pc, #336] ; 80aaf38 80aade8: eec6 7a87 vdiv.f32 s15, s13, s14 80aadec: 4b53 ldr r3, [pc, #332] ; (80aaf3c ) 80aadee: edc3 7a00 vstr s15, [r3] AUTOZOOM = false; 80aadf2: 4b4c ldr r3, [pc, #304] ; (80aaf24 ) 80aadf4: 2200 movs r2, #0 80aadf6: 701a strb r2, [r3, #0] 80aadf8: e024 b.n 80aae44 if(ZOOM_IN) 80aadfa: 4b51 ldr r3, [pc, #324] ; (80aaf40 ) 80aadfc: 781b ldrb r3, [r3, #0] 80aadfe: b2db uxtb r3, r3 80aae00: 2b00 cmp r3, #0 80aae02: d00d beq.n 80aae20 ZOOM_IN = false; 80aae04: 4b4e ldr r3, [pc, #312] ; (80aaf40 ) 80aae06: 2200 movs r2, #0 80aae08: 701a strb r2, [r3, #0] ZoomVal *= 2.0000011f; 80aae0a: 4b4c ldr r3, [pc, #304] ; (80aaf3c ) 80aae0c: edd3 7a00 vldr s15, [r3] 80aae10: ed9f 7a4c vldr s14, [pc, #304] ; 80aaf44 80aae14: ee67 7a87 vmul.f32 s15, s15, s14 80aae18: 4b48 ldr r3, [pc, #288] ; (80aaf3c ) 80aae1a: edc3 7a00 vstr s15, [r3] 80aae1e: e011 b.n 80aae44 if(ZOOM_OUT) 80aae20: 4b49 ldr r3, [pc, #292] ; (80aaf48 ) 80aae22: 781b ldrb r3, [r3, #0] 80aae24: b2db uxtb r3, r3 80aae26: 2b00 cmp r3, #0 80aae28: d00c beq.n 80aae44 ZOOM_OUT = false; 80aae2a: 4b47 ldr r3, [pc, #284] ; (80aaf48 ) 80aae2c: 2200 movs r2, #0 80aae2e: 701a strb r2, [r3, #0] ZoomVal *= 0.5000011f; 80aae30: 4b42 ldr r3, [pc, #264] ; (80aaf3c ) 80aae32: edd3 7a00 vldr s15, [r3] 80aae36: ed9f 7a45 vldr s14, [pc, #276] ; 80aaf4c 80aae3a: ee67 7a87 vmul.f32 s15, s15, s14 80aae3e: 4b3f ldr r3, [pc, #252] ; (80aaf3c ) 80aae40: edc3 7a00 vstr s15, [r3] NumOverdrives = 0; 80aae44: 4b42 ldr r3, [pc, #264] ; (80aaf50 ) 80aae46: 2200 movs r2, #0 80aae48: 701a strb r2, [r3, #0] LCD_SetColors(LCD_COLOR_MYGREEN, LCD_COLOR_BLACK); 80aae4a: 4942 ldr r1, [pc, #264] ; (80aaf54 ) 80aae4c: 4842 ldr r0, [pc, #264] ; (80aaf58 ) 80aae4e: f7a8 fcad bl 80537ac for(i = 0; i < 14; i++) 80aae52: 2300 movs r3, #0 80aae54: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80aae58: e12f b.n 80ab0ba mF[MINY] = 0.0f; 80aae5a: f04f 0300 mov.w r3, #0 80aae5e: f8c7 3278 str.w r3, [r7, #632] ; 0x278 mF[MAXY] = ScrA_f32(i); 80aae62: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80aae66: 009a lsls r2, r3, #2 80aae68: 4b30 ldr r3, [pc, #192] ; (80aaf2c ) 80aae6a: 4413 add r3, r2 80aae6c: 681b ldr r3, [r3, #0] 80aae6e: f8c7 327c str.w r3, [r7, #636] ; 0x27c thr = 157; 80aae72: 239d movs r3, #157 ; 0x9d 80aae74: f8a7 328a strh.w r3, [r7, #650] ; 0x28a if(pardata.MSH == LOG) 80aae78: 4b27 ldr r3, [pc, #156] ; (80aaf18 ) 80aae7a: 7a9b ldrb r3, [r3, #10] 80aae7c: b2db uxtb r3, r3 80aae7e: 2b01 cmp r3, #1 80aae80: d174 bne.n 80aaf6c for(j = 0; j < 2; j++) 80aae82: 2300 movs r3, #0 80aae84: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80aae88: e013 b.n 80aaeb2 LinToLog(&mF[j], &mF[j]); 80aae8a: f507 721e add.w r2, r7, #632 ; 0x278 80aae8e: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80aae92: 009b lsls r3, r3, #2 80aae94: 18d0 adds r0, r2, r3 80aae96: f507 721e add.w r2, r7, #632 ; 0x278 80aae9a: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80aae9e: 009b lsls r3, r3, #2 80aaea0: 4413 add r3, r2 80aaea2: 4619 mov r1, r3 80aaea4: f7ba f800 bl 8064ea8 for(j = 0; j < 2; j++) 80aaea8: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80aaeac: 3301 adds r3, #1 80aaeae: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80aaeb2: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80aaeb6: 2b01 cmp r3, #1 80aaeb8: d9e7 bls.n 80aae8a mF[MAXY] = ((mF[MAXY]/* - MIN_Y*/) * ZoomVal)/* + 2.0f*/; 80aaeba: ed97 7a9f vldr s14, [r7, #636] ; 0x27c 80aaebe: 4b1f ldr r3, [pc, #124] ; (80aaf3c ) 80aaec0: edd3 7a00 vldr s15, [r3] 80aaec4: ee67 7a27 vmul.f32 s15, s14, s15 80aaec8: edc7 7a9f vstr s15, [r7, #636] ; 0x27c if(mF[MAXY] > 32767.0f) mF[MAXY] = 32767.0f; 80aaecc: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80aaed0: ed9f 7a22 vldr s14, [pc, #136] ; 80aaf5c 80aaed4: eef4 7ac7 vcmpe.f32 s15, s14 80aaed8: eef1 fa10 vmrs APSR_nzcv, fpscr 80aaedc: dd02 ble.n 80aaee4 80aaede: 4b20 ldr r3, [pc, #128] ; (80aaf60 ) 80aaee0: f8c7 327c str.w r3, [r7, #636] ; 0x27c if(mF[MAXY] < -32767.0f) mF[MAXY] = -32767.0f; 80aaee4: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80aaee8: ed9f 7a1e vldr s14, [pc, #120] ; 80aaf64 80aaeec: eef4 7ac7 vcmpe.f32 s15, s14 80aaef0: eef1 fa10 vmrs APSR_nzcv, fpscr 80aaef4: d502 bpl.n 80aaefc 80aaef6: 4b1c ldr r3, [pc, #112] ; (80aaf68 ) 80aaef8: f8c7 327c str.w r3, [r7, #636] ; 0x27c pMax = (int16_t) (mF[MAXY] + 0.5f); 80aaefc: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80aaf00: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80aaf04: ee77 7a87 vadd.f32 s15, s15, s14 80aaf08: eefd 7ae7 vcvt.s32.f32 s15, s15 80aaf0c: edc7 7a01 vstr s15, [r7, #4] 80aaf10: 88bb ldrh r3, [r7, #4] 80aaf12: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 80aaf16: e059 b.n 80aafcc 80aaf18: 20023e60 .word 0x20023e60 80aaf1c: 20020d94 .word 0x20020d94 80aaf20: 20020d8e .word 0x20020d8e 80aaf24: 2002098c .word 0x2002098c 80aaf28: 20025d1a .word 0x20025d1a 80aaf2c: 64080000 .word 0x64080000 80aaf30: 42c80000 .word 0x42c80000 80aaf34: 20021634 .word 0x20021634 80aaf38: 42c80000 .word 0x42c80000 80aaf3c: 20020990 .word 0x20020990 80aaf40: 20020f6a .word 0x20020f6a 80aaf44: 40000005 .word 0x40000005 80aaf48: 20020f69 .word 0x20020f69 80aaf4c: 3f000012 .word 0x3f000012 80aaf50: 2002164e .word 0x2002164e 80aaf54: ff0a0f1f .word 0xff0a0f1f 80aaf58: ff26a01f .word 0xff26a01f 80aaf5c: 46fffe00 .word 0x46fffe00 80aaf60: 46fffe00 .word 0x46fffe00 80aaf64: c6fffe00 .word 0xc6fffe00 80aaf68: c6fffe00 .word 0xc6fffe00 mF[MAXY] *= ZoomVal; 80aaf6c: ed97 7a9f vldr s14, [r7, #636] ; 0x27c 80aaf70: 4bcd ldr r3, [pc, #820] ; (80ab2a8 ) 80aaf72: edd3 7a00 vldr s15, [r3] 80aaf76: ee67 7a27 vmul.f32 s15, s14, s15 80aaf7a: edc7 7a9f vstr s15, [r7, #636] ; 0x27c if(mF[MAXY] > 32767.0f) mF[MAXY] = 32767.0f; 80aaf7e: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80aaf82: ed9f 7aca vldr s14, [pc, #808] ; 80ab2ac 80aaf86: eef4 7ac7 vcmpe.f32 s15, s14 80aaf8a: eef1 fa10 vmrs APSR_nzcv, fpscr 80aaf8e: dd02 ble.n 80aaf96 80aaf90: 4bc7 ldr r3, [pc, #796] ; (80ab2b0 ) 80aaf92: f8c7 327c str.w r3, [r7, #636] ; 0x27c if(mF[MAXY] < -32767.0f) mF[MAXY] = -32767.0f; 80aaf96: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80aaf9a: ed9f 7ac6 vldr s14, [pc, #792] ; 80ab2b4 80aaf9e: eef4 7ac7 vcmpe.f32 s15, s14 80aafa2: eef1 fa10 vmrs APSR_nzcv, fpscr 80aafa6: d502 bpl.n 80aafae 80aafa8: 4bc3 ldr r3, [pc, #780] ; (80ab2b8 ) 80aafaa: f8c7 327c str.w r3, [r7, #636] ; 0x27c pMax = (int16_t) mF[MAXY]; 80aafae: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80aafb2: eefd 7ae7 vcvt.s32.f32 s15, s15 80aafb6: edc7 7a01 vstr s15, [r7, #4] 80aafba: 88bb ldrh r3, [r7, #4] 80aafbc: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 pMax += 1; 80aafc0: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80aafc4: 3301 adds r3, #1 80aafc6: b29b uxth r3, r3 80aafc8: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 if(pMax > thr) 80aafcc: f9b7 22b6 ldrsh.w r2, [r7, #694] ; 0x2b6 80aafd0: f9b7 328a ldrsh.w r3, [r7, #650] ; 0x28a 80aafd4: 429a cmp r2, r3 80aafd6: dd09 ble.n 80aafec pMax = thr; 80aafd8: f8b7 328a ldrh.w r3, [r7, #650] ; 0x28a 80aafdc: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 NumOverdrives++; 80aafe0: 4bb6 ldr r3, [pc, #728] ; (80ab2bc ) 80aafe2: 781b ldrb r3, [r3, #0] 80aafe4: 3301 adds r3, #1 80aafe6: b2da uxtb r2, r3 80aafe8: 4bb4 ldr r3, [pc, #720] ; (80ab2bc ) 80aafea: 701a strb r2, [r3, #0] if(pMax <= 0) 80aafec: f9b7 32b6 ldrsh.w r3, [r7, #694] ; 0x2b6 80aaff0: 2b00 cmp r3, #0 80aaff2: dc08 bgt.n 80ab006 pMax = 0; 80aaff4: 2300 movs r3, #0 80aaff6: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 pMax += 1; 80aaffa: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80aaffe: 3301 adds r3, #1 80ab000: b29b uxth r3, r3 80ab002: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 x = 62 + 16*i; 80ab006: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ab00a: 011b lsls r3, r3, #4 80ab00c: 333e adds r3, #62 ; 0x3e 80ab00e: f8c7 3294 str.w r3, [r7, #660] ; 0x294 if(i == CURSOR) 80ab012: 4bab ldr r3, [pc, #684] ; (80ab2c0 ) 80ab014: 681b ldr r3, [r3, #0] 80ab016: f8d7 22ac ldr.w r2, [r7, #684] ; 0x2ac 80ab01a: 429a cmp r2, r3 80ab01c: d131 bne.n 80ab082 if(menupos != Cursor) 80ab01e: 4ba9 ldr r3, [pc, #676] ; (80ab2c4 ) 80ab020: 781b ldrb r3, [r3, #0] 80ab022: b2db uxtb r3, r3 80ab024: 2b06 cmp r3, #6 80ab026: d004 beq.n 80ab032 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80ab028: 49a7 ldr r1, [pc, #668] ; (80ab2c8 ) 80ab02a: 48a8 ldr r0, [pc, #672] ; (80ab2cc ) 80ab02c: f7a8 fbbe bl 80537ac 80ab030: e003 b.n 80ab03a else LCD_SetColors(LCD_COLOR_RED, LCD_COLOR_BLACK); 80ab032: 49a5 ldr r1, [pc, #660] ; (80ab2c8 ) 80ab034: 48a6 ldr r0, [pc, #664] ; (80ab2d0 ) 80ab036: f7a8 fbb9 bl 80537ac BSP_LCD_DrawLine(x + 8, 44, x + 8, 218); 80ab03a: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ab03e: b29b uxth r3, r3 80ab040: 3308 adds r3, #8 80ab042: b298 uxth r0, r3 80ab044: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ab048: b29b uxth r3, r3 80ab04a: 3308 adds r3, #8 80ab04c: b29a uxth r2, r3 80ab04e: 23da movs r3, #218 ; 0xda 80ab050: 212c movs r1, #44 ; 0x2c 80ab052: f7a8 fde5 bl 8053c20 LCD_SetColors(LCD_COLOR_ORANGE, LCD_COLOR_BLACK); 80ab056: 499c ldr r1, [pc, #624] ; (80ab2c8 ) 80ab058: 489e ldr r0, [pc, #632] ; (80ab2d4 ) 80ab05a: f7a8 fba7 bl 80537ac BSP_LCD_FillRect(x, 219 - pMax, 15, pMax); 80ab05e: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ab062: b298 uxth r0, r3 80ab064: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80ab068: f1c3 03db rsb r3, r3, #219 ; 0xdb 80ab06c: b299 uxth r1, r3 80ab06e: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80ab072: 220f movs r2, #15 80ab074: f7a9 f828 bl 80540c8 LCD_SetColors(LCD_COLOR_MYGREEN, LCD_COLOR_BLACK); 80ab078: 4993 ldr r1, [pc, #588] ; (80ab2c8 ) 80ab07a: 4897 ldr r0, [pc, #604] ; (80ab2d8 ) 80ab07c: f7a8 fb96 bl 80537ac 80ab080: e00c b.n 80ab09c BSP_LCD_FillRect(x, 219 - pMax, 15, pMax); 80ab082: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ab086: b298 uxth r0, r3 80ab088: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80ab08c: f1c3 03db rsb r3, r3, #219 ; 0xdb 80ab090: b299 uxth r1, r3 80ab092: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80ab096: 220f movs r2, #15 80ab098: f7a9 f816 bl 80540c8 if(pMax > Maximum) 80ab09c: f9b7 22b6 ldrsh.w r2, [r7, #694] ; 0x2b6 80ab0a0: f9b7 32b4 ldrsh.w r3, [r7, #692] ; 0x2b4 80ab0a4: 429a cmp r2, r3 80ab0a6: dd03 ble.n 80ab0b0 Maximum = pMax; 80ab0a8: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80ab0ac: f8a7 32b4 strh.w r3, [r7, #692] ; 0x2b4 for(i = 0; i < 14; i++) 80ab0b0: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ab0b4: 3301 adds r3, #1 80ab0b6: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80ab0ba: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ab0be: 2b0d cmp r3, #13 80ab0c0: f67f aecb bls.w 80aae5a Maximum = ABS(Maximum); 80ab0c4: f9b7 32b4 ldrsh.w r3, [r7, #692] ; 0x2b4 80ab0c8: 2b00 cmp r3, #0 80ab0ca: bfb8 it lt 80ab0cc: 425b neglt r3, r3 80ab0ce: f8a7 32b4 strh.w r3, [r7, #692] ; 0x2b4 } 80ab0d2: f000 bec5 b.w 80abe60 if(pardata.SYG == SPEC_THIRD) 80ab0d6: 4b81 ldr r3, [pc, #516] ; (80ab2dc ) 80ab0d8: 781b ldrb r3, [r3, #0] 80ab0da: b2db uxtb r3, r3 80ab0dc: 2b07 cmp r3, #7 80ab0de: f040 8212 bne.w 80ab506 if(READY_TO_SEE) 80ab0e2: 4b7f ldr r3, [pc, #508] ; (80ab2e0 ) 80ab0e4: 781b ldrb r3, [r3, #0] 80ab0e6: b2db uxtb r3, r3 80ab0e8: 2b00 cmp r3, #0 80ab0ea: f000 86b9 beq.w 80abe60 if(AUTOZOOM) 80ab0ee: 4b7d ldr r3, [pc, #500] ; (80ab2e4 ) 80ab0f0: 781b ldrb r3, [r3, #0] 80ab0f2: b2db uxtb r3, r3 80ab0f4: 2b00 cmp r3, #0 80ab0f6: f000 808e beq.w 80ab216 arm_max_f32(&ScrA_f32(0), 39, &max, &idx); 80ab0fa: f507 731a add.w r3, r7, #616 ; 0x268 80ab0fe: f507 721d add.w r2, r7, #628 ; 0x274 80ab102: 2127 movs r1, #39 ; 0x27 80ab104: 4878 ldr r0, [pc, #480] ; (80ab2e8 ) 80ab106: f01e ffd9 bl 80ca0bc arm_min_f32(&ScrA_f32(0), 39, &min, &idx); 80ab10a: f507 731a add.w r3, r7, #616 ; 0x268 80ab10e: f507 721c add.w r2, r7, #624 ; 0x270 80ab112: 2127 movs r1, #39 ; 0x27 80ab114: 4874 ldr r0, [pc, #464] ; (80ab2e8 ) 80ab116: f01e ff35 bl 80c9f84 if(max != 0.0f) 80ab11a: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80ab11e: eef5 7a40 vcmp.f32 s15, #0.0 80ab122: eef1 fa10 vmrs APSR_nzcv, fpscr 80ab126: d072 beq.n 80ab20e if(pardata.MSH == LOG) 80ab128: 4b6c ldr r3, [pc, #432] ; (80ab2dc ) 80ab12a: 7a9b ldrb r3, [r3, #10] 80ab12c: b2db uxtb r3, r3 80ab12e: 2b01 cmp r3, #1 80ab130: d122 bne.n 80ab178 LinToLog(&max, &max); 80ab132: f507 721d add.w r2, r7, #628 ; 0x274 80ab136: f507 731d add.w r3, r7, #628 ; 0x274 80ab13a: 4611 mov r1, r2 80ab13c: 4618 mov r0, r3 80ab13e: f7b9 feb3 bl 8064ea8 LinToLog(&min, &min); 80ab142: f507 721c add.w r2, r7, #624 ; 0x270 80ab146: f507 731c add.w r3, r7, #624 ; 0x270 80ab14a: 4611 mov r1, r2 80ab14c: 4618 mov r0, r3 80ab14e: f7b9 feab bl 8064ea8 f = (max);// - min); 80ab152: f8d7 3274 ldr.w r3, [r7, #628] ; 0x274 80ab156: f8c7 326c str.w r3, [r7, #620] ; 0x26c if(f <= 0.0f) { 80ab15a: edd7 7a9b vldr s15, [r7, #620] ; 0x26c 80ab15e: eef5 7ac0 vcmpe.f32 s15, #0.0 80ab162: eef1 fa10 vmrs APSR_nzcv, fpscr 80ab166: d802 bhi.n 80ab16e f = 100.0f; 80ab168: 4b60 ldr r3, [pc, #384] ; (80ab2ec ) 80ab16a: f8c7 326c str.w r3, [r7, #620] ; 0x26c MIN_Y = min; 80ab16e: f8d7 3270 ldr.w r3, [r7, #624] ; 0x270 80ab172: 4a5f ldr r2, [pc, #380] ; (80ab2f0 ) 80ab174: 6013 str r3, [r2, #0] 80ab176: e041 b.n 80ab1fc if(ABS(max) > ABS(min)) f = ABS(max); 80ab178: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80ab17c: eef5 7ac0 vcmpe.f32 s15, #0.0 80ab180: eef1 fa10 vmrs APSR_nzcv, fpscr 80ab184: dd02 ble.n 80ab18c 80ab186: ed97 7a9d vldr s14, [r7, #628] ; 0x274 80ab18a: e003 b.n 80ab194 80ab18c: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80ab190: eeb1 7a67 vneg.f32 s14, s15 80ab194: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80ab198: eef5 7ac0 vcmpe.f32 s15, #0.0 80ab19c: eef1 fa10 vmrs APSR_nzcv, fpscr 80ab1a0: dd02 ble.n 80ab1a8 80ab1a2: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80ab1a6: e003 b.n 80ab1b0 80ab1a8: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80ab1ac: eef1 7a67 vneg.f32 s15, s15 80ab1b0: eeb4 7ae7 vcmpe.f32 s14, s15 80ab1b4: eef1 fa10 vmrs APSR_nzcv, fpscr 80ab1b8: dd10 ble.n 80ab1dc 80ab1ba: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80ab1be: eef5 7ac0 vcmpe.f32 s15, #0.0 80ab1c2: eef1 fa10 vmrs APSR_nzcv, fpscr 80ab1c6: dd02 ble.n 80ab1ce 80ab1c8: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80ab1cc: e003 b.n 80ab1d6 80ab1ce: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80ab1d2: eef1 7a67 vneg.f32 s15, s15 80ab1d6: edc7 7a9b vstr s15, [r7, #620] ; 0x26c 80ab1da: e00f b.n 80ab1fc else f = ABS(min); 80ab1dc: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80ab1e0: eef5 7ac0 vcmpe.f32 s15, #0.0 80ab1e4: eef1 fa10 vmrs APSR_nzcv, fpscr 80ab1e8: dd02 ble.n 80ab1f0 80ab1ea: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80ab1ee: e003 b.n 80ab1f8 80ab1f0: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80ab1f4: eef1 7a67 vneg.f32 s15, s15 80ab1f8: edc7 7a9b vstr s15, [r7, #620] ; 0x26c ZoomVal = 100.0f / f; 80ab1fc: ed97 7a9b vldr s14, [r7, #620] ; 0x26c 80ab200: eddf 6a3c vldr s13, [pc, #240] ; 80ab2f4 80ab204: eec6 7a87 vdiv.f32 s15, s13, s14 80ab208: 4b27 ldr r3, [pc, #156] ; (80ab2a8 ) 80ab20a: edc3 7a00 vstr s15, [r3] AUTOZOOM = false; 80ab20e: 4b35 ldr r3, [pc, #212] ; (80ab2e4 ) 80ab210: 2200 movs r2, #0 80ab212: 701a strb r2, [r3, #0] 80ab214: e024 b.n 80ab260 if(ZOOM_IN) 80ab216: 4b38 ldr r3, [pc, #224] ; (80ab2f8 ) 80ab218: 781b ldrb r3, [r3, #0] 80ab21a: b2db uxtb r3, r3 80ab21c: 2b00 cmp r3, #0 80ab21e: d00d beq.n 80ab23c ZOOM_IN = false; 80ab220: 4b35 ldr r3, [pc, #212] ; (80ab2f8 ) 80ab222: 2200 movs r2, #0 80ab224: 701a strb r2, [r3, #0] ZoomVal *= 2.0000011f; 80ab226: 4b20 ldr r3, [pc, #128] ; (80ab2a8 ) 80ab228: edd3 7a00 vldr s15, [r3] 80ab22c: ed9f 7a33 vldr s14, [pc, #204] ; 80ab2fc 80ab230: ee67 7a87 vmul.f32 s15, s15, s14 80ab234: 4b1c ldr r3, [pc, #112] ; (80ab2a8 ) 80ab236: edc3 7a00 vstr s15, [r3] 80ab23a: e011 b.n 80ab260 if(ZOOM_OUT) 80ab23c: 4b30 ldr r3, [pc, #192] ; (80ab300 ) 80ab23e: 781b ldrb r3, [r3, #0] 80ab240: b2db uxtb r3, r3 80ab242: 2b00 cmp r3, #0 80ab244: d00c beq.n 80ab260 ZOOM_OUT = false; 80ab246: 4b2e ldr r3, [pc, #184] ; (80ab300 ) 80ab248: 2200 movs r2, #0 80ab24a: 701a strb r2, [r3, #0] ZoomVal *= 0.5000011f; 80ab24c: 4b16 ldr r3, [pc, #88] ; (80ab2a8 ) 80ab24e: edd3 7a00 vldr s15, [r3] 80ab252: ed9f 7a2c vldr s14, [pc, #176] ; 80ab304 80ab256: ee67 7a87 vmul.f32 s15, s15, s14 80ab25a: 4b13 ldr r3, [pc, #76] ; (80ab2a8 ) 80ab25c: edc3 7a00 vstr s15, [r3] NumOverdrives = 0; 80ab260: 4b16 ldr r3, [pc, #88] ; (80ab2bc ) 80ab262: 2200 movs r2, #0 80ab264: 701a strb r2, [r3, #0] LCD_SetColors(LCD_COLOR_MYGREEN, LCD_COLOR_BLACK); 80ab266: 4918 ldr r1, [pc, #96] ; (80ab2c8 ) 80ab268: 481b ldr r0, [pc, #108] ; (80ab2d8 ) 80ab26a: f7a8 fa9f bl 80537ac for(i = 0; i < 39; i++) 80ab26e: 2300 movs r3, #0 80ab270: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80ab274: e139 b.n 80ab4ea mF[MINY] = 0.0f; 80ab276: f04f 0300 mov.w r3, #0 80ab27a: f8c7 3278 str.w r3, [r7, #632] ; 0x278 mF[MAXY] = ScrA_f32(i); 80ab27e: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ab282: 009a lsls r2, r3, #2 80ab284: 4b18 ldr r3, [pc, #96] ; (80ab2e8 ) 80ab286: 4413 add r3, r2 80ab288: 681b ldr r3, [r3, #0] 80ab28a: f8c7 327c str.w r3, [r7, #636] ; 0x27c thr = 157; 80ab28e: 239d movs r3, #157 ; 0x9d 80ab290: f8a7 328a strh.w r3, [r7, #650] ; 0x28a if(pardata.MSH == LOG) 80ab294: 4b11 ldr r3, [pc, #68] ; (80ab2dc ) 80ab296: 7a9b ldrb r3, [r3, #10] 80ab298: b2db uxtb r3, r3 80ab29a: 2b01 cmp r3, #1 80ab29c: d17b bne.n 80ab396 for(j = 0; j < 2; j++) 80ab29e: 2300 movs r3, #0 80ab2a0: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80ab2a4: e044 b.n 80ab330 80ab2a6: bf00 nop 80ab2a8: 20020990 .word 0x20020990 80ab2ac: 46fffe00 .word 0x46fffe00 80ab2b0: 46fffe00 .word 0x46fffe00 80ab2b4: c6fffe00 .word 0xc6fffe00 80ab2b8: c6fffe00 .word 0xc6fffe00 80ab2bc: 2002164e .word 0x2002164e 80ab2c0: 2002006c .word 0x2002006c 80ab2c4: 20020070 .word 0x20020070 80ab2c8: ff0a0f1f .word 0xff0a0f1f 80ab2cc: ff808080 .word 0xff808080 80ab2d0: ffff0000 .word 0xffff0000 80ab2d4: ffffa500 .word 0xffffa500 80ab2d8: ff26a01f .word 0xff26a01f 80ab2dc: 20023e60 .word 0x20023e60 80ab2e0: 20020d8e .word 0x20020d8e 80ab2e4: 2002098c .word 0x2002098c 80ab2e8: 64080000 .word 0x64080000 80ab2ec: 42c80000 .word 0x42c80000 80ab2f0: 20021634 .word 0x20021634 80ab2f4: 42c80000 .word 0x42c80000 80ab2f8: 20020f6a .word 0x20020f6a 80ab2fc: 40000005 .word 0x40000005 80ab300: 20020f69 .word 0x20020f69 80ab304: 3f000012 .word 0x3f000012 LinToLog(&mF[j], &mF[j]); 80ab308: f507 721e add.w r2, r7, #632 ; 0x278 80ab30c: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80ab310: 009b lsls r3, r3, #2 80ab312: 18d0 adds r0, r2, r3 80ab314: f507 721e add.w r2, r7, #632 ; 0x278 80ab318: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80ab31c: 009b lsls r3, r3, #2 80ab31e: 4413 add r3, r2 80ab320: 4619 mov r1, r3 80ab322: f7b9 fdc1 bl 8064ea8 for(j = 0; j < 2; j++) 80ab326: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80ab32a: 3301 adds r3, #1 80ab32c: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80ab330: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80ab334: 2b01 cmp r3, #1 80ab336: d9e7 bls.n 80ab308 mF[MAXY] = ((mF[MAXY]/* - MIN_Y*/) * ZoomVal)/* + 2.0f*/; 80ab338: ed97 7a9f vldr s14, [r7, #636] ; 0x27c 80ab33c: 4bc6 ldr r3, [pc, #792] ; (80ab658 ) 80ab33e: edd3 7a00 vldr s15, [r3] 80ab342: ee67 7a27 vmul.f32 s15, s14, s15 80ab346: edc7 7a9f vstr s15, [r7, #636] ; 0x27c if(mF[MAXY] > 32767.0f) mF[MAXY] = 32767.0f; 80ab34a: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80ab34e: ed9f 7ac3 vldr s14, [pc, #780] ; 80ab65c 80ab352: eef4 7ac7 vcmpe.f32 s15, s14 80ab356: eef1 fa10 vmrs APSR_nzcv, fpscr 80ab35a: dd02 ble.n 80ab362 80ab35c: 4bc0 ldr r3, [pc, #768] ; (80ab660 ) 80ab35e: f8c7 327c str.w r3, [r7, #636] ; 0x27c if(mF[MAXY] < -32767.0f) mF[MAXY] = -32767.0f; 80ab362: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80ab366: ed9f 7abf vldr s14, [pc, #764] ; 80ab664 80ab36a: eef4 7ac7 vcmpe.f32 s15, s14 80ab36e: eef1 fa10 vmrs APSR_nzcv, fpscr 80ab372: d502 bpl.n 80ab37a 80ab374: 4bbc ldr r3, [pc, #752] ; (80ab668 ) 80ab376: f8c7 327c str.w r3, [r7, #636] ; 0x27c pMax = (int16_t) (mF[MAXY] + 0.5f); 80ab37a: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80ab37e: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80ab382: ee77 7a87 vadd.f32 s15, s15, s14 80ab386: eefd 7ae7 vcvt.s32.f32 s15, s15 80ab38a: edc7 7a01 vstr s15, [r7, #4] 80ab38e: 88bb ldrh r3, [r7, #4] 80ab390: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 80ab394: e02f b.n 80ab3f6 mF[MAXY] *= ZoomVal; 80ab396: ed97 7a9f vldr s14, [r7, #636] ; 0x27c 80ab39a: 4baf ldr r3, [pc, #700] ; (80ab658 ) 80ab39c: edd3 7a00 vldr s15, [r3] 80ab3a0: ee67 7a27 vmul.f32 s15, s14, s15 80ab3a4: edc7 7a9f vstr s15, [r7, #636] ; 0x27c if(mF[MAXY] > 32767.0f) mF[MAXY] = 32767.0f; 80ab3a8: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80ab3ac: ed9f 7aab vldr s14, [pc, #684] ; 80ab65c 80ab3b0: eef4 7ac7 vcmpe.f32 s15, s14 80ab3b4: eef1 fa10 vmrs APSR_nzcv, fpscr 80ab3b8: dd02 ble.n 80ab3c0 80ab3ba: 4ba9 ldr r3, [pc, #676] ; (80ab660 ) 80ab3bc: f8c7 327c str.w r3, [r7, #636] ; 0x27c if(mF[MAXY] < -32767.0f) mF[MAXY] = -32767.0f; 80ab3c0: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80ab3c4: ed9f 7aa7 vldr s14, [pc, #668] ; 80ab664 80ab3c8: eef4 7ac7 vcmpe.f32 s15, s14 80ab3cc: eef1 fa10 vmrs APSR_nzcv, fpscr 80ab3d0: d502 bpl.n 80ab3d8 80ab3d2: 4ba5 ldr r3, [pc, #660] ; (80ab668 ) 80ab3d4: f8c7 327c str.w r3, [r7, #636] ; 0x27c pMax = (int16_t) mF[MAXY]; 80ab3d8: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80ab3dc: eefd 7ae7 vcvt.s32.f32 s15, s15 80ab3e0: edc7 7a01 vstr s15, [r7, #4] 80ab3e4: 88bb ldrh r3, [r7, #4] 80ab3e6: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 pMax += 1; 80ab3ea: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80ab3ee: 3301 adds r3, #1 80ab3f0: b29b uxth r3, r3 80ab3f2: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 if(pMax > thr) 80ab3f6: f9b7 22b6 ldrsh.w r2, [r7, #694] ; 0x2b6 80ab3fa: f9b7 328a ldrsh.w r3, [r7, #650] ; 0x28a 80ab3fe: 429a cmp r2, r3 80ab400: dd09 ble.n 80ab416 pMax = thr; 80ab402: f8b7 328a ldrh.w r3, [r7, #650] ; 0x28a 80ab406: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 NumOverdrives++; 80ab40a: 4b98 ldr r3, [pc, #608] ; (80ab66c ) 80ab40c: 781b ldrb r3, [r3, #0] 80ab40e: 3301 adds r3, #1 80ab410: b2da uxtb r2, r3 80ab412: 4b96 ldr r3, [pc, #600] ; (80ab66c ) 80ab414: 701a strb r2, [r3, #0] if(pMax <= 0) 80ab416: f9b7 32b6 ldrsh.w r3, [r7, #694] ; 0x2b6 80ab41a: 2b00 cmp r3, #0 80ab41c: dc08 bgt.n 80ab430 pMax = 0; 80ab41e: 2300 movs r3, #0 80ab420: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 pMax += 1; 80ab424: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80ab428: 3301 adds r3, #1 80ab42a: b29b uxth r3, r3 80ab42c: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 x = 62 + 6*i; 80ab430: f8d7 22ac ldr.w r2, [r7, #684] ; 0x2ac 80ab434: 4613 mov r3, r2 80ab436: 005b lsls r3, r3, #1 80ab438: 4413 add r3, r2 80ab43a: 005b lsls r3, r3, #1 80ab43c: 333e adds r3, #62 ; 0x3e 80ab43e: f8c7 3294 str.w r3, [r7, #660] ; 0x294 if(i == CURSOR) 80ab442: 4b8b ldr r3, [pc, #556] ; (80ab670 ) 80ab444: 681b ldr r3, [r3, #0] 80ab446: f8d7 22ac ldr.w r2, [r7, #684] ; 0x2ac 80ab44a: 429a cmp r2, r3 80ab44c: d131 bne.n 80ab4b2 if(menupos != Cursor) 80ab44e: 4b89 ldr r3, [pc, #548] ; (80ab674 ) 80ab450: 781b ldrb r3, [r3, #0] 80ab452: b2db uxtb r3, r3 80ab454: 2b06 cmp r3, #6 80ab456: d004 beq.n 80ab462 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80ab458: 4987 ldr r1, [pc, #540] ; (80ab678 ) 80ab45a: 4888 ldr r0, [pc, #544] ; (80ab67c ) 80ab45c: f7a8 f9a6 bl 80537ac 80ab460: e003 b.n 80ab46a else LCD_SetColors(LCD_COLOR_RED, LCD_COLOR_BLACK); 80ab462: 4985 ldr r1, [pc, #532] ; (80ab678 ) 80ab464: 4886 ldr r0, [pc, #536] ; (80ab680 ) 80ab466: f7a8 f9a1 bl 80537ac BSP_LCD_DrawLine(x + 2, 44, x + 2, 218); 80ab46a: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ab46e: b29b uxth r3, r3 80ab470: 3302 adds r3, #2 80ab472: b298 uxth r0, r3 80ab474: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ab478: b29b uxth r3, r3 80ab47a: 3302 adds r3, #2 80ab47c: b29a uxth r2, r3 80ab47e: 23da movs r3, #218 ; 0xda 80ab480: 212c movs r1, #44 ; 0x2c 80ab482: f7a8 fbcd bl 8053c20 LCD_SetColors(LCD_COLOR_ORANGE, LCD_COLOR_BLACK); 80ab486: 497c ldr r1, [pc, #496] ; (80ab678 ) 80ab488: 487e ldr r0, [pc, #504] ; (80ab684 ) 80ab48a: f7a8 f98f bl 80537ac BSP_LCD_FillRect(x, 219 - pMax, 5, pMax); 80ab48e: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ab492: b298 uxth r0, r3 80ab494: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80ab498: f1c3 03db rsb r3, r3, #219 ; 0xdb 80ab49c: b299 uxth r1, r3 80ab49e: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80ab4a2: 2205 movs r2, #5 80ab4a4: f7a8 fe10 bl 80540c8 LCD_SetColors(LCD_COLOR_MYGREEN, LCD_COLOR_BLACK); 80ab4a8: 4973 ldr r1, [pc, #460] ; (80ab678 ) 80ab4aa: 4877 ldr r0, [pc, #476] ; (80ab688 ) 80ab4ac: f7a8 f97e bl 80537ac 80ab4b0: e00c b.n 80ab4cc BSP_LCD_FillRect(x, 219 - pMax, 5, pMax); 80ab4b2: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ab4b6: b298 uxth r0, r3 80ab4b8: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80ab4bc: f1c3 03db rsb r3, r3, #219 ; 0xdb 80ab4c0: b299 uxth r1, r3 80ab4c2: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80ab4c6: 2205 movs r2, #5 80ab4c8: f7a8 fdfe bl 80540c8 if(pMax > Maximum) 80ab4cc: f9b7 22b6 ldrsh.w r2, [r7, #694] ; 0x2b6 80ab4d0: f9b7 32b4 ldrsh.w r3, [r7, #692] ; 0x2b4 80ab4d4: 429a cmp r2, r3 80ab4d6: dd03 ble.n 80ab4e0 Maximum = pMax; 80ab4d8: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80ab4dc: f8a7 32b4 strh.w r3, [r7, #692] ; 0x2b4 for(i = 0; i < 39; i++) 80ab4e0: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ab4e4: 3301 adds r3, #1 80ab4e6: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80ab4ea: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ab4ee: 2b26 cmp r3, #38 ; 0x26 80ab4f0: f67f aec1 bls.w 80ab276 Maximum = ABS(Maximum); 80ab4f4: f9b7 32b4 ldrsh.w r3, [r7, #692] ; 0x2b4 80ab4f8: 2b00 cmp r3, #0 80ab4fa: bfb8 it lt 80ab4fc: 425b neglt r3, r3 80ab4fe: f8a7 32b4 strh.w r3, [r7, #692] ; 0x2b4 } 80ab502: f000 bcad b.w 80abe60 if(pardata.SYG == OSC) 80ab506: 4b61 ldr r3, [pc, #388] ; (80ab68c ) 80ab508: 781b ldrb r3, [r3, #0] 80ab50a: b2db uxtb r3, r3 80ab50c: 2b02 cmp r3, #2 80ab50e: f040 84a7 bne.w 80abe60 if(!timeRelax) 80ab512: 4b5f ldr r3, [pc, #380] ; (80ab690 ) 80ab514: 681b ldr r3, [r3, #0] 80ab516: 2b00 cmp r3, #0 80ab518: f040 84a2 bne.w 80abe60 if(AUTOZOOM) 80ab51c: 4b5d ldr r3, [pc, #372] ; (80ab694 ) 80ab51e: 781b ldrb r3, [r3, #0] 80ab520: b2db uxtb r3, r3 80ab522: 2b00 cmp r3, #0 80ab524: f000 8121 beq.w 80ab76a if(pardata.IPR > ACC) 80ab528: 4b58 ldr r3, [pc, #352] ; (80ab68c ) 80ab52a: 785b ldrb r3, [r3, #1] 80ab52c: b2db uxtb r3, r3 80ab52e: 2b00 cmp r3, #0 80ab530: d030 beq.n 80ab594 arm_max_f32(&ScrA_f32(lX), /*6656*/rX-lX-1, &max, &idx); 80ab532: 4b59 ldr r3, [pc, #356] ; (80ab698 ) 80ab534: 881b ldrh r3, [r3, #0] 80ab536: b29b uxth r3, r3 80ab538: 009b lsls r3, r3, #2 80ab53a: 461a mov r2, r3 80ab53c: 4b57 ldr r3, [pc, #348] ; (80ab69c ) 80ab53e: 4413 add r3, r2 80ab540: 4618 mov r0, r3 80ab542: 4b57 ldr r3, [pc, #348] ; (80ab6a0 ) 80ab544: 881b ldrh r3, [r3, #0] 80ab546: b29b uxth r3, r3 80ab548: 461a mov r2, r3 80ab54a: 4b53 ldr r3, [pc, #332] ; (80ab698 ) 80ab54c: 881b ldrh r3, [r3, #0] 80ab54e: b29b uxth r3, r3 80ab550: 1ad3 subs r3, r2, r3 80ab552: 3b01 subs r3, #1 80ab554: 4619 mov r1, r3 80ab556: f507 731a add.w r3, r7, #616 ; 0x268 80ab55a: f507 721d add.w r2, r7, #628 ; 0x274 80ab55e: f01e fdad bl 80ca0bc arm_min_f32(&ScrA_f32(lX), /*6656*/rX-lX-1, &min, &idx); 80ab562: 4b4d ldr r3, [pc, #308] ; (80ab698 ) 80ab564: 881b ldrh r3, [r3, #0] 80ab566: b29b uxth r3, r3 80ab568: 009b lsls r3, r3, #2 80ab56a: 461a mov r2, r3 80ab56c: 4b4b ldr r3, [pc, #300] ; (80ab69c ) 80ab56e: 4413 add r3, r2 80ab570: 4618 mov r0, r3 80ab572: 4b4b ldr r3, [pc, #300] ; (80ab6a0 ) 80ab574: 881b ldrh r3, [r3, #0] 80ab576: b29b uxth r3, r3 80ab578: 461a mov r2, r3 80ab57a: 4b47 ldr r3, [pc, #284] ; (80ab698 ) 80ab57c: 881b ldrh r3, [r3, #0] 80ab57e: b29b uxth r3, r3 80ab580: 1ad3 subs r3, r2, r3 80ab582: 3b01 subs r3, #1 80ab584: 4619 mov r1, r3 80ab586: f507 731a add.w r3, r7, #616 ; 0x268 80ab58a: f507 721c add.w r2, r7, #624 ; 0x270 80ab58e: f01e fcf9 bl 80c9f84 80ab592: e02f b.n 80ab5f4 arm_max_f32(&ScrA_f32(lX), rX-lX-1, &max, &idx); 80ab594: 4b40 ldr r3, [pc, #256] ; (80ab698 ) 80ab596: 881b ldrh r3, [r3, #0] 80ab598: b29b uxth r3, r3 80ab59a: 009b lsls r3, r3, #2 80ab59c: 461a mov r2, r3 80ab59e: 4b3f ldr r3, [pc, #252] ; (80ab69c ) 80ab5a0: 4413 add r3, r2 80ab5a2: 4618 mov r0, r3 80ab5a4: 4b3e ldr r3, [pc, #248] ; (80ab6a0 ) 80ab5a6: 881b ldrh r3, [r3, #0] 80ab5a8: b29b uxth r3, r3 80ab5aa: 461a mov r2, r3 80ab5ac: 4b3a ldr r3, [pc, #232] ; (80ab698 ) 80ab5ae: 881b ldrh r3, [r3, #0] 80ab5b0: b29b uxth r3, r3 80ab5b2: 1ad3 subs r3, r2, r3 80ab5b4: 3b01 subs r3, #1 80ab5b6: 4619 mov r1, r3 80ab5b8: f507 731a add.w r3, r7, #616 ; 0x268 80ab5bc: f507 721d add.w r2, r7, #628 ; 0x274 80ab5c0: f01e fd7c bl 80ca0bc arm_min_f32(&ScrA_f32(lX), rX-lX-1, &min, &idx); 80ab5c4: 4b34 ldr r3, [pc, #208] ; (80ab698 ) 80ab5c6: 881b ldrh r3, [r3, #0] 80ab5c8: b29b uxth r3, r3 80ab5ca: 009b lsls r3, r3, #2 80ab5cc: 461a mov r2, r3 80ab5ce: 4b33 ldr r3, [pc, #204] ; (80ab69c ) 80ab5d0: 4413 add r3, r2 80ab5d2: 4618 mov r0, r3 80ab5d4: 4b32 ldr r3, [pc, #200] ; (80ab6a0 ) 80ab5d6: 881b ldrh r3, [r3, #0] 80ab5d8: b29b uxth r3, r3 80ab5da: 461a mov r2, r3 80ab5dc: 4b2e ldr r3, [pc, #184] ; (80ab698 ) 80ab5de: 881b ldrh r3, [r3, #0] 80ab5e0: b29b uxth r3, r3 80ab5e2: 1ad3 subs r3, r2, r3 80ab5e4: 3b01 subs r3, #1 80ab5e6: 4619 mov r1, r3 80ab5e8: f507 731a add.w r3, r7, #616 ; 0x268 80ab5ec: f507 721c add.w r2, r7, #624 ; 0x270 80ab5f0: f01e fcc8 bl 80c9f84 if(ABS(max) > ABS(min)) 80ab5f4: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80ab5f8: eef5 7ac0 vcmpe.f32 s15, #0.0 80ab5fc: eef1 fa10 vmrs APSR_nzcv, fpscr 80ab600: dd02 ble.n 80ab608 80ab602: ed97 7a9d vldr s14, [r7, #628] ; 0x274 80ab606: e003 b.n 80ab610 80ab608: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80ab60c: eeb1 7a67 vneg.f32 s14, s15 80ab610: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80ab614: eef5 7ac0 vcmpe.f32 s15, #0.0 80ab618: eef1 fa10 vmrs APSR_nzcv, fpscr 80ab61c: dd02 ble.n 80ab624 80ab61e: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80ab622: e003 b.n 80ab62c 80ab624: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80ab628: eef1 7a67 vneg.f32 s15, s15 80ab62c: eeb4 7ae7 vcmpe.f32 s14, s15 80ab630: eef1 fa10 vmrs APSR_nzcv, fpscr 80ab634: dd38 ble.n 80ab6a8 f = ABS(max); 80ab636: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80ab63a: eef5 7ac0 vcmpe.f32 s15, #0.0 80ab63e: eef1 fa10 vmrs APSR_nzcv, fpscr 80ab642: dd02 ble.n 80ab64a 80ab644: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80ab648: e003 b.n 80ab652 80ab64a: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80ab64e: eef1 7a67 vneg.f32 s15, s15 80ab652: edc7 7a9b vstr s15, [r7, #620] ; 0x26c 80ab656: e037 b.n 80ab6c8 80ab658: 20020990 .word 0x20020990 80ab65c: 46fffe00 .word 0x46fffe00 80ab660: 46fffe00 .word 0x46fffe00 80ab664: c6fffe00 .word 0xc6fffe00 80ab668: c6fffe00 .word 0xc6fffe00 80ab66c: 2002164e .word 0x2002164e 80ab670: 2002006c .word 0x2002006c 80ab674: 20020070 .word 0x20020070 80ab678: ff0a0f1f .word 0xff0a0f1f 80ab67c: ff808080 .word 0xff808080 80ab680: ffff0000 .word 0xffff0000 80ab684: ffffa500 .word 0xffffa500 80ab688: ff26a01f .word 0xff26a01f 80ab68c: 20023e60 .word 0x20023e60 80ab690: 20020d6c .word 0x20020d6c 80ab694: 2002098c .word 0x2002098c 80ab698: 20025d1a .word 0x20025d1a 80ab69c: 64080000 .word 0x64080000 80ab6a0: 20025d20 .word 0x20025d20 80ab6a4: 42480000 .word 0x42480000 else f = ABS(min); 80ab6a8: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80ab6ac: eef5 7ac0 vcmpe.f32 s15, #0.0 80ab6b0: eef1 fa10 vmrs APSR_nzcv, fpscr 80ab6b4: dd02 ble.n 80ab6bc 80ab6b6: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80ab6ba: e003 b.n 80ab6c4 80ab6bc: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80ab6c0: eef1 7a67 vneg.f32 s15, s15 80ab6c4: edc7 7a9b vstr s15, [r7, #620] ; 0x26c ZoomVal = 50.0f / f; 80ab6c8: ed97 7a9b vldr s14, [r7, #620] ; 0x26c 80ab6cc: ed5f 6a0b vldr s13, [pc, #-44] ; 80ab6a4 80ab6d0: eec6 7a87 vdiv.f32 s15, s13, s14 80ab6d4: 4bbf ldr r3, [pc, #764] ; (80ab9d4 ) 80ab6d6: edc3 7a00 vstr s15, [r3] AUTOZOOM = false; 80ab6da: 4bbf ldr r3, [pc, #764] ; (80ab9d8 ) 80ab6dc: 2200 movs r2, #0 80ab6de: 701a strb r2, [r3, #0] LEGEND[0] = min; 80ab6e0: f8d7 3270 ldr.w r3, [r7, #624] ; 0x270 80ab6e4: 4abd ldr r2, [pc, #756] ; (80ab9dc ) 80ab6e6: 6013 str r3, [r2, #0] LEGEND[1] = 0.0f; 80ab6e8: 4bbc ldr r3, [pc, #752] ; (80ab9dc ) 80ab6ea: f04f 0200 mov.w r2, #0 80ab6ee: 605a str r2, [r3, #4] LEGEND[2] = max; 80ab6f0: f8d7 3274 ldr.w r3, [r7, #628] ; 0x274 80ab6f4: 4ab9 ldr r2, [pc, #740] ; (80ab9dc ) 80ab6f6: 6093 str r3, [r2, #8] if(ABS(LEGEND[2]) > ABS(LEGEND[0])) 80ab6f8: 4bb8 ldr r3, [pc, #736] ; (80ab9dc ) 80ab6fa: edd3 7a02 vldr s15, [r3, #8] 80ab6fe: eef5 7ac0 vcmpe.f32 s15, #0.0 80ab702: eef1 fa10 vmrs APSR_nzcv, fpscr 80ab706: dd03 ble.n 80ab710 80ab708: 4bb4 ldr r3, [pc, #720] ; (80ab9dc ) 80ab70a: ed93 7a02 vldr s14, [r3, #8] 80ab70e: e004 b.n 80ab71a 80ab710: 4bb2 ldr r3, [pc, #712] ; (80ab9dc ) 80ab712: edd3 7a02 vldr s15, [r3, #8] 80ab716: eeb1 7a67 vneg.f32 s14, s15 80ab71a: 4bb0 ldr r3, [pc, #704] ; (80ab9dc ) 80ab71c: edd3 7a00 vldr s15, [r3] 80ab720: eef5 7ac0 vcmpe.f32 s15, #0.0 80ab724: eef1 fa10 vmrs APSR_nzcv, fpscr 80ab728: dd03 ble.n 80ab732 80ab72a: 4bac ldr r3, [pc, #688] ; (80ab9dc ) 80ab72c: edd3 7a00 vldr s15, [r3] 80ab730: e004 b.n 80ab73c 80ab732: 4baa ldr r3, [pc, #680] ; (80ab9dc ) 80ab734: edd3 7a00 vldr s15, [r3] 80ab738: eef1 7a67 vneg.f32 s15, s15 80ab73c: eeb4 7ae7 vcmpe.f32 s14, s15 80ab740: eef1 fa10 vmrs APSR_nzcv, fpscr 80ab744: dd08 ble.n 80ab758 LEGEND[0] = -LEGEND[2]; 80ab746: 4ba5 ldr r3, [pc, #660] ; (80ab9dc ) 80ab748: edd3 7a02 vldr s15, [r3, #8] 80ab74c: eef1 7a67 vneg.f32 s15, s15 80ab750: 4ba2 ldr r3, [pc, #648] ; (80ab9dc ) 80ab752: edc3 7a00 vstr s15, [r3] 80ab756: e055 b.n 80ab804 else LEGEND[2] = -LEGEND[0]; 80ab758: 4ba0 ldr r3, [pc, #640] ; (80ab9dc ) 80ab75a: edd3 7a00 vldr s15, [r3] 80ab75e: eef1 7a67 vneg.f32 s15, s15 80ab762: 4b9e ldr r3, [pc, #632] ; (80ab9dc ) 80ab764: edc3 7a02 vstr s15, [r3, #8] 80ab768: e04c b.n 80ab804 if(ZOOM_IN) 80ab76a: 4b9d ldr r3, [pc, #628] ; (80ab9e0 ) 80ab76c: 781b ldrb r3, [r3, #0] 80ab76e: b2db uxtb r3, r3 80ab770: 2b00 cmp r3, #0 80ab772: d021 beq.n 80ab7b8 ZOOM_IN = false; 80ab774: 4b9a ldr r3, [pc, #616] ; (80ab9e0 ) 80ab776: 2200 movs r2, #0 80ab778: 701a strb r2, [r3, #0] ZoomVal *= 2.0000011f; 80ab77a: 4b96 ldr r3, [pc, #600] ; (80ab9d4 ) 80ab77c: edd3 7a00 vldr s15, [r3] 80ab780: ed9f 7a98 vldr s14, [pc, #608] ; 80ab9e4 80ab784: ee67 7a87 vmul.f32 s15, s15, s14 80ab788: 4b92 ldr r3, [pc, #584] ; (80ab9d4 ) 80ab78a: edc3 7a00 vstr s15, [r3] LEGEND[0] *= 0.5000011f; 80ab78e: 4b93 ldr r3, [pc, #588] ; (80ab9dc ) 80ab790: edd3 7a00 vldr s15, [r3] 80ab794: ed9f 7a94 vldr s14, [pc, #592] ; 80ab9e8 80ab798: ee67 7a87 vmul.f32 s15, s15, s14 80ab79c: 4b8f ldr r3, [pc, #572] ; (80ab9dc ) 80ab79e: edc3 7a00 vstr s15, [r3] LEGEND[2] *= 0.5000011f; 80ab7a2: 4b8e ldr r3, [pc, #568] ; (80ab9dc ) 80ab7a4: edd3 7a02 vldr s15, [r3, #8] 80ab7a8: ed9f 7a8f vldr s14, [pc, #572] ; 80ab9e8 80ab7ac: ee67 7a87 vmul.f32 s15, s15, s14 80ab7b0: 4b8a ldr r3, [pc, #552] ; (80ab9dc ) 80ab7b2: edc3 7a02 vstr s15, [r3, #8] 80ab7b6: e025 b.n 80ab804 if(ZOOM_OUT) 80ab7b8: 4b8c ldr r3, [pc, #560] ; (80ab9ec ) 80ab7ba: 781b ldrb r3, [r3, #0] 80ab7bc: b2db uxtb r3, r3 80ab7be: 2b00 cmp r3, #0 80ab7c0: d020 beq.n 80ab804 ZOOM_OUT = false; 80ab7c2: 4b8a ldr r3, [pc, #552] ; (80ab9ec ) 80ab7c4: 2200 movs r2, #0 80ab7c6: 701a strb r2, [r3, #0] ZoomVal *= 0.5000011f; 80ab7c8: 4b82 ldr r3, [pc, #520] ; (80ab9d4 ) 80ab7ca: edd3 7a00 vldr s15, [r3] 80ab7ce: ed9f 7a86 vldr s14, [pc, #536] ; 80ab9e8 80ab7d2: ee67 7a87 vmul.f32 s15, s15, s14 80ab7d6: 4b7f ldr r3, [pc, #508] ; (80ab9d4 ) 80ab7d8: edc3 7a00 vstr s15, [r3] LEGEND[0] *= 2.0000011f; 80ab7dc: 4b7f ldr r3, [pc, #508] ; (80ab9dc ) 80ab7de: edd3 7a00 vldr s15, [r3] 80ab7e2: ed9f 7a80 vldr s14, [pc, #512] ; 80ab9e4 80ab7e6: ee67 7a87 vmul.f32 s15, s15, s14 80ab7ea: 4b7c ldr r3, [pc, #496] ; (80ab9dc ) 80ab7ec: edc3 7a00 vstr s15, [r3] LEGEND[2] *= 2.0000011f; 80ab7f0: 4b7a ldr r3, [pc, #488] ; (80ab9dc ) 80ab7f2: edd3 7a02 vldr s15, [r3, #8] 80ab7f6: ed9f 7a7b vldr s14, [pc, #492] ; 80ab9e4 80ab7fa: ee67 7a87 vmul.f32 s15, s15, s14 80ab7fe: 4b77 ldr r3, [pc, #476] ; (80ab9dc ) 80ab800: edc3 7a02 vstr s15, [r3, #8] NumOverdrives = 0; 80ab804: 4b7a ldr r3, [pc, #488] ; (80ab9f0 ) 80ab806: 2200 movs r2, #0 80ab808: 701a strb r2, [r3, #0] LCD_SetColors(LCD_COLOR_MYGREEN, LCD_COLOR_BLACK); 80ab80a: 497a ldr r1, [pc, #488] ; (80ab9f4 ) 80ab80c: 487a ldr r0, [pc, #488] ; (80ab9f8 ) 80ab80e: f7a7 ffcd bl 80537ac for(i = 0; i < 256; i++) 80ab812: 2300 movs r3, #0 80ab814: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80ab818: e233 b.n 80abc82 k = avgOSC[ViewLevel][pardata.LNE]; 80ab81a: 4b78 ldr r3, [pc, #480] ; (80ab9fc ) 80ab81c: 781b ldrb r3, [r3, #0] 80ab81e: b2db uxtb r3, r3 80ab820: 4619 mov r1, r3 80ab822: 4b77 ldr r3, [pc, #476] ; (80aba00 ) 80ab824: 79db ldrb r3, [r3, #7] 80ab826: b2db uxtb r3, r3 80ab828: 4618 mov r0, r3 80ab82a: 4a76 ldr r2, [pc, #472] ; (80aba04 ) 80ab82c: 460b mov r3, r1 80ab82e: 009b lsls r3, r3, #2 80ab830: 440b add r3, r1 80ab832: 4413 add r3, r2 80ab834: 4403 add r3, r0 80ab836: 781b ldrb r3, [r3, #0] 80ab838: f8c7 32a0 str.w r3, [r7, #672] ; 0x2a0 if(k == 1) 80ab83c: f8d7 32a0 ldr.w r3, [r7, #672] ; 0x2a0 80ab840: 2b01 cmp r3, #1 80ab842: f040 8104 bne.w 80aba4e mF[MAXY] = ScrA_f32(i + X0); 80ab846: 4b70 ldr r3, [pc, #448] ; (80aba08 ) 80ab848: 881b ldrh r3, [r3, #0] 80ab84a: b29b uxth r3, r3 80ab84c: 461a mov r2, r3 80ab84e: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ab852: 4413 add r3, r2 80ab854: 009a lsls r2, r3, #2 80ab856: 4b6d ldr r3, [pc, #436] ; (80aba0c ) 80ab858: 4413 add r3, r2 80ab85a: 681b ldr r3, [r3, #0] 80ab85c: f8c7 327c str.w r3, [r7, #636] ; 0x27c if(i > 0) 80ab860: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ab864: 2b00 cmp r3, #0 80ab866: d004 beq.n 80ab872 mF[MINY] = lastPointOSC[MAXY]; 80ab868: 4b69 ldr r3, [pc, #420] ; (80aba10 ) 80ab86a: 685b ldr r3, [r3, #4] 80ab86c: f8c7 3278 str.w r3, [r7, #632] ; 0x278 80ab870: e003 b.n 80ab87a else mF[MINY] = mF[MAXY]; 80ab872: f8d7 327c ldr.w r3, [r7, #636] ; 0x27c 80ab876: f8c7 3278 str.w r3, [r7, #632] ; 0x278 lastPointOSC[MAXY] = mF[MAXY]; 80ab87a: f8d7 327c ldr.w r3, [r7, #636] ; 0x27c 80ab87e: 4a64 ldr r2, [pc, #400] ; (80aba10 ) 80ab880: 6053 str r3, [r2, #4] mF[MINY] *= ZoomVal; 80ab882: ed97 7a9e vldr s14, [r7, #632] ; 0x278 80ab886: 4b53 ldr r3, [pc, #332] ; (80ab9d4 ) 80ab888: edd3 7a00 vldr s15, [r3] 80ab88c: ee67 7a27 vmul.f32 s15, s14, s15 80ab890: edc7 7a9e vstr s15, [r7, #632] ; 0x278 mF[MAXY] *= ZoomVal; 80ab894: ed97 7a9f vldr s14, [r7, #636] ; 0x27c 80ab898: 4b4e ldr r3, [pc, #312] ; (80ab9d4 ) 80ab89a: edd3 7a00 vldr s15, [r3] 80ab89e: ee67 7a27 vmul.f32 s15, s14, s15 80ab8a2: edc7 7a9f vstr s15, [r7, #636] ; 0x27c if(mF[MAXY] > 32767.0f) mF[MAXY] = 32767.0f; 80ab8a6: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80ab8aa: ed9f 7a5a vldr s14, [pc, #360] ; 80aba14 80ab8ae: eef4 7ac7 vcmpe.f32 s15, s14 80ab8b2: eef1 fa10 vmrs APSR_nzcv, fpscr 80ab8b6: dd02 ble.n 80ab8be 80ab8b8: 4b57 ldr r3, [pc, #348] ; (80aba18 ) 80ab8ba: f8c7 327c str.w r3, [r7, #636] ; 0x27c if(mF[MAXY] < -32767.0f) mF[MAXY] = -32767.0f; 80ab8be: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80ab8c2: ed9f 7a56 vldr s14, [pc, #344] ; 80aba1c 80ab8c6: eef4 7ac7 vcmpe.f32 s15, s14 80ab8ca: eef1 fa10 vmrs APSR_nzcv, fpscr 80ab8ce: d502 bpl.n 80ab8d6 80ab8d0: 4b53 ldr r3, [pc, #332] ; (80aba20 ) 80ab8d2: f8c7 327c str.w r3, [r7, #636] ; 0x27c if(mF[MINY] > 32767.0f) mF[MINY] = 32767.0f; 80ab8d6: edd7 7a9e vldr s15, [r7, #632] ; 0x278 80ab8da: ed9f 7a4e vldr s14, [pc, #312] ; 80aba14 80ab8de: eef4 7ac7 vcmpe.f32 s15, s14 80ab8e2: eef1 fa10 vmrs APSR_nzcv, fpscr 80ab8e6: dd02 ble.n 80ab8ee 80ab8e8: 4b4b ldr r3, [pc, #300] ; (80aba18 ) 80ab8ea: f8c7 3278 str.w r3, [r7, #632] ; 0x278 if(mF[MINY] < -32767.0f) mF[MINY] = -32767.0f; 80ab8ee: edd7 7a9e vldr s15, [r7, #632] ; 0x278 80ab8f2: ed9f 7a4a vldr s14, [pc, #296] ; 80aba1c 80ab8f6: eef4 7ac7 vcmpe.f32 s15, s14 80ab8fa: eef1 fa10 vmrs APSR_nzcv, fpscr 80ab8fe: d502 bpl.n 80ab906 80ab900: 4b47 ldr r3, [pc, #284] ; (80aba20 ) 80ab902: f8c7 3278 str.w r3, [r7, #632] ; 0x278 pMax = (int16_t) mF[MAXY]; 80ab906: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80ab90a: eefd 7ae7 vcvt.s32.f32 s15, s15 80ab90e: edc7 7a01 vstr s15, [r7, #4] 80ab912: 88bb ldrh r3, [r7, #4] 80ab914: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 pMin = (int16_t) mF[MINY]; 80ab918: edd7 7a9e vldr s15, [r7, #632] ; 0x278 80ab91c: eefd 7ae7 vcvt.s32.f32 s15, s15 80ab920: edc7 7a01 vstr s15, [r7, #4] 80ab924: 88bb ldrh r3, [r7, #4] 80ab926: f8a7 32b2 strh.w r3, [r7, #690] ; 0x2b2 if(pMin > 80) 80ab92a: f9b7 32b2 ldrsh.w r3, [r7, #690] ; 0x2b2 80ab92e: 2b50 cmp r3, #80 ; 0x50 80ab930: dd08 ble.n 80ab944 pMin = 80; 80ab932: 2350 movs r3, #80 ; 0x50 80ab934: f8a7 32b2 strh.w r3, [r7, #690] ; 0x2b2 NumOverdrives++; 80ab938: 4b2d ldr r3, [pc, #180] ; (80ab9f0 ) 80ab93a: 781b ldrb r3, [r3, #0] 80ab93c: 3301 adds r3, #1 80ab93e: b2da uxtb r2, r3 80ab940: 4b2b ldr r3, [pc, #172] ; (80ab9f0 ) 80ab942: 701a strb r2, [r3, #0] if(pMin < -80) 80ab944: f9b7 32b2 ldrsh.w r3, [r7, #690] ; 0x2b2 80ab948: f113 0f50 cmn.w r3, #80 ; 0x50 80ab94c: da09 bge.n 80ab962 pMin = -80; 80ab94e: f64f 73b0 movw r3, #65456 ; 0xffb0 80ab952: f8a7 32b2 strh.w r3, [r7, #690] ; 0x2b2 NumOverdrives++; 80ab956: 4b26 ldr r3, [pc, #152] ; (80ab9f0 ) 80ab958: 781b ldrb r3, [r3, #0] 80ab95a: 3301 adds r3, #1 80ab95c: b2da uxtb r2, r3 80ab95e: 4b24 ldr r3, [pc, #144] ; (80ab9f0 ) 80ab960: 701a strb r2, [r3, #0] if(pMax > 80) 80ab962: f9b7 32b6 ldrsh.w r3, [r7, #694] ; 0x2b6 80ab966: 2b50 cmp r3, #80 ; 0x50 80ab968: dd08 ble.n 80ab97c pMax = 80; 80ab96a: 2350 movs r3, #80 ; 0x50 80ab96c: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 NumOverdrives++; 80ab970: 4b1f ldr r3, [pc, #124] ; (80ab9f0 ) 80ab972: 781b ldrb r3, [r3, #0] 80ab974: 3301 adds r3, #1 80ab976: b2da uxtb r2, r3 80ab978: 4b1d ldr r3, [pc, #116] ; (80ab9f0 ) 80ab97a: 701a strb r2, [r3, #0] if(pMax < -80) 80ab97c: f9b7 32b6 ldrsh.w r3, [r7, #694] ; 0x2b6 80ab980: f113 0f50 cmn.w r3, #80 ; 0x50 80ab984: da09 bge.n 80ab99a pMax = -80; 80ab986: f64f 73b0 movw r3, #65456 ; 0xffb0 80ab98a: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 NumOverdrives++; 80ab98e: 4b18 ldr r3, [pc, #96] ; (80ab9f0 ) 80ab990: 781b ldrb r3, [r3, #0] 80ab992: 3301 adds r3, #1 80ab994: b2da uxtb r2, r3 80ab996: 4b16 ldr r3, [pc, #88] ; (80ab9f0 ) 80ab998: 701a strb r2, [r3, #0] x = 62 + i; 80ab99a: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ab99e: 333e adds r3, #62 ; 0x3e 80ab9a0: f8c7 3294 str.w r3, [r7, #660] ; 0x294 if(i == 0) 80ab9a4: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ab9a8: 2b00 cmp r3, #0 80ab9aa: d13b bne.n 80aba24 BSP_LCD_DrawLine(x, 141 - pMin, x, 141 - pMax); 80ab9ac: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ab9b0: b298 uxth r0, r3 80ab9b2: f8b7 32b2 ldrh.w r3, [r7, #690] ; 0x2b2 80ab9b6: f1c3 038d rsb r3, r3, #141 ; 0x8d 80ab9ba: b299 uxth r1, r3 80ab9bc: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ab9c0: b29a uxth r2, r3 80ab9c2: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80ab9c6: f1c3 038d rsb r3, r3, #141 ; 0x8d 80ab9ca: b29b uxth r3, r3 80ab9cc: f7a8 f928 bl 8053c20 80ab9d0: e13e b.n 80abc50 80ab9d2: bf00 nop 80ab9d4: 20020990 .word 0x20020990 80ab9d8: 2002098c .word 0x2002098c 80ab9dc: 200685bc .word 0x200685bc 80ab9e0: 20020f6a .word 0x20020f6a 80ab9e4: 40000005 .word 0x40000005 80ab9e8: 3f000012 .word 0x3f000012 80ab9ec: 20020f69 .word 0x20020f69 80ab9f0: 2002164e .word 0x2002164e 80ab9f4: ff0a0f1f .word 0xff0a0f1f 80ab9f8: ff26a01f .word 0xff26a01f 80ab9fc: 20020f74 .word 0x20020f74 80aba00: 20023e60 .word 0x20023e60 80aba04: 080ef5f0 .word 0x080ef5f0 80aba08: 20025d1e .word 0x20025d1e 80aba0c: 64080000 .word 0x64080000 80aba10: 20021650 .word 0x20021650 80aba14: 46fffe00 .word 0x46fffe00 80aba18: 46fffe00 .word 0x46fffe00 80aba1c: c6fffe00 .word 0xc6fffe00 80aba20: c6fffe00 .word 0xc6fffe00 else BSP_LCD_DrawLine(x - 1, 141 - pMin, x, 141 - pMax); 80aba24: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80aba28: b29b uxth r3, r3 80aba2a: 3b01 subs r3, #1 80aba2c: b298 uxth r0, r3 80aba2e: f8b7 32b2 ldrh.w r3, [r7, #690] ; 0x2b2 80aba32: f1c3 038d rsb r3, r3, #141 ; 0x8d 80aba36: b299 uxth r1, r3 80aba38: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80aba3c: b29a uxth r2, r3 80aba3e: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80aba42: f1c3 038d rsb r3, r3, #141 ; 0x8d 80aba46: b29b uxth r3, r3 80aba48: f7a8 f8ea bl 8053c20 80aba4c: e100 b.n 80abc50 arm_max_f32(&ScrA_f32(i * k + X0), k, &mF[MAXY], &idx); 80aba4e: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80aba52: f8d7 22a0 ldr.w r2, [r7, #672] ; 0x2a0 80aba56: fb02 f303 mul.w r3, r2, r3 80aba5a: 4ac4 ldr r2, [pc, #784] ; (80abd6c ) 80aba5c: 8812 ldrh r2, [r2, #0] 80aba5e: b292 uxth r2, r2 80aba60: 4413 add r3, r2 80aba62: 009a lsls r2, r3, #2 80aba64: 4bc2 ldr r3, [pc, #776] ; (80abd70 ) 80aba66: 4413 add r3, r2 80aba68: 4618 mov r0, r3 80aba6a: f507 711a add.w r1, r7, #616 ; 0x268 80aba6e: f507 731e add.w r3, r7, #632 ; 0x278 80aba72: 1d1a adds r2, r3, #4 80aba74: 460b mov r3, r1 80aba76: f8d7 12a0 ldr.w r1, [r7, #672] ; 0x2a0 80aba7a: f01e fb1f bl 80ca0bc arm_min_f32(&ScrA_f32(i * k + X0), k, &mF[MINY], &idx); 80aba7e: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80aba82: f8d7 22a0 ldr.w r2, [r7, #672] ; 0x2a0 80aba86: fb02 f303 mul.w r3, r2, r3 80aba8a: 4ab8 ldr r2, [pc, #736] ; (80abd6c ) 80aba8c: 8812 ldrh r2, [r2, #0] 80aba8e: b292 uxth r2, r2 80aba90: 4413 add r3, r2 80aba92: 009a lsls r2, r3, #2 80aba94: 4bb6 ldr r3, [pc, #728] ; (80abd70 ) 80aba96: 4413 add r3, r2 80aba98: 4618 mov r0, r3 80aba9a: f507 731a add.w r3, r7, #616 ; 0x268 80aba9e: f507 721e add.w r2, r7, #632 ; 0x278 80abaa2: f8d7 12a0 ldr.w r1, [r7, #672] ; 0x2a0 80abaa6: f01e fa6d bl 80c9f84 if(i > 0) 80abaaa: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80abaae: 2b00 cmp r3, #0 80abab0: d01b beq.n 80abaea if(mF[MINY] > lastPointOSC[MAXY]) 80abab2: ed97 7a9e vldr s14, [r7, #632] ; 0x278 80abab6: 4baf ldr r3, [pc, #700] ; (80abd74 ) 80abab8: edd3 7a01 vldr s15, [r3, #4] 80ababc: eeb4 7ae7 vcmpe.f32 s14, s15 80abac0: eef1 fa10 vmrs APSR_nzcv, fpscr 80abac4: dd03 ble.n 80abace mF[MINY] = lastPointOSC[MAXY]; 80abac6: 4bab ldr r3, [pc, #684] ; (80abd74 ) 80abac8: 685b ldr r3, [r3, #4] 80abaca: f8c7 3278 str.w r3, [r7, #632] ; 0x278 if(mF[MAXY] < lastPointOSC[MINY]) 80abace: ed97 7a9f vldr s14, [r7, #636] ; 0x27c 80abad2: 4ba8 ldr r3, [pc, #672] ; (80abd74 ) 80abad4: edd3 7a00 vldr s15, [r3] 80abad8: eeb4 7ae7 vcmpe.f32 s14, s15 80abadc: eef1 fa10 vmrs APSR_nzcv, fpscr 80abae0: d503 bpl.n 80abaea mF[MAXY] = lastPointOSC[MINY]; 80abae2: 4ba4 ldr r3, [pc, #656] ; (80abd74 ) 80abae4: 681b ldr r3, [r3, #0] 80abae6: f8c7 327c str.w r3, [r7, #636] ; 0x27c ft[0] = mF[MINY]; ft[1] = mF[MAXY]; 80abaea: f8d7 3278 ldr.w r3, [r7, #632] ; 0x278 80abaee: f8c7 3280 str.w r3, [r7, #640] ; 0x280 80abaf2: f8d7 327c ldr.w r3, [r7, #636] ; 0x27c 80abaf6: f8c7 3284 str.w r3, [r7, #644] ; 0x284 lastPointOSC[MINY] = ft[0]; lastPointOSC[MAXY] = ft[1]; 80abafa: f8d7 3280 ldr.w r3, [r7, #640] ; 0x280 80abafe: 4a9d ldr r2, [pc, #628] ; (80abd74 ) 80abb00: 6013 str r3, [r2, #0] 80abb02: f8d7 3284 ldr.w r3, [r7, #644] ; 0x284 80abb06: 4a9b ldr r2, [pc, #620] ; (80abd74 ) 80abb08: 6053 str r3, [r2, #4] mF[MINY] *= ZoomVal; 80abb0a: ed97 7a9e vldr s14, [r7, #632] ; 0x278 80abb0e: 4b9a ldr r3, [pc, #616] ; (80abd78 ) 80abb10: edd3 7a00 vldr s15, [r3] 80abb14: ee67 7a27 vmul.f32 s15, s14, s15 80abb18: edc7 7a9e vstr s15, [r7, #632] ; 0x278 mF[MAXY] *= ZoomVal; 80abb1c: ed97 7a9f vldr s14, [r7, #636] ; 0x27c 80abb20: 4b95 ldr r3, [pc, #596] ; (80abd78 ) 80abb22: edd3 7a00 vldr s15, [r3] 80abb26: ee67 7a27 vmul.f32 s15, s14, s15 80abb2a: edc7 7a9f vstr s15, [r7, #636] ; 0x27c if(mF[MAXY] > 32767.0f) mF[MAXY] = 32767.0f; 80abb2e: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80abb32: ed9f 7a92 vldr s14, [pc, #584] ; 80abd7c 80abb36: eef4 7ac7 vcmpe.f32 s15, s14 80abb3a: eef1 fa10 vmrs APSR_nzcv, fpscr 80abb3e: dd02 ble.n 80abb46 80abb40: 4b8f ldr r3, [pc, #572] ; (80abd80 ) 80abb42: f8c7 327c str.w r3, [r7, #636] ; 0x27c if(mF[MAXY] < -32767.0f) mF[MAXY] = -32767.0f; 80abb46: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80abb4a: ed9f 7a8e vldr s14, [pc, #568] ; 80abd84 80abb4e: eef4 7ac7 vcmpe.f32 s15, s14 80abb52: eef1 fa10 vmrs APSR_nzcv, fpscr 80abb56: d502 bpl.n 80abb5e 80abb58: 4b8b ldr r3, [pc, #556] ; (80abd88 ) 80abb5a: f8c7 327c str.w r3, [r7, #636] ; 0x27c if(mF[MINY] > 32767.0f) mF[MINY] = 32767.0f; 80abb5e: edd7 7a9e vldr s15, [r7, #632] ; 0x278 80abb62: ed9f 7a86 vldr s14, [pc, #536] ; 80abd7c 80abb66: eef4 7ac7 vcmpe.f32 s15, s14 80abb6a: eef1 fa10 vmrs APSR_nzcv, fpscr 80abb6e: dd02 ble.n 80abb76 80abb70: 4b83 ldr r3, [pc, #524] ; (80abd80 ) 80abb72: f8c7 3278 str.w r3, [r7, #632] ; 0x278 if(mF[MINY] < -32767.0f) mF[MINY] = -32767.0f; 80abb76: edd7 7a9e vldr s15, [r7, #632] ; 0x278 80abb7a: ed9f 7a82 vldr s14, [pc, #520] ; 80abd84 80abb7e: eef4 7ac7 vcmpe.f32 s15, s14 80abb82: eef1 fa10 vmrs APSR_nzcv, fpscr 80abb86: d502 bpl.n 80abb8e 80abb88: 4b7f ldr r3, [pc, #508] ; (80abd88 ) 80abb8a: f8c7 3278 str.w r3, [r7, #632] ; 0x278 pMax = (int16_t) mF[MAXY]; 80abb8e: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80abb92: eefd 7ae7 vcvt.s32.f32 s15, s15 80abb96: edc7 7a01 vstr s15, [r7, #4] 80abb9a: 88bb ldrh r3, [r7, #4] 80abb9c: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 pMin = (int16_t) mF[MINY]; 80abba0: edd7 7a9e vldr s15, [r7, #632] ; 0x278 80abba4: eefd 7ae7 vcvt.s32.f32 s15, s15 80abba8: edc7 7a01 vstr s15, [r7, #4] 80abbac: 88bb ldrh r3, [r7, #4] 80abbae: f8a7 32b2 strh.w r3, [r7, #690] ; 0x2b2 if(pMin > 80) 80abbb2: f9b7 32b2 ldrsh.w r3, [r7, #690] ; 0x2b2 80abbb6: 2b50 cmp r3, #80 ; 0x50 80abbb8: dd08 ble.n 80abbcc pMin = 80; 80abbba: 2350 movs r3, #80 ; 0x50 80abbbc: f8a7 32b2 strh.w r3, [r7, #690] ; 0x2b2 NumOverdrives++; 80abbc0: 4b72 ldr r3, [pc, #456] ; (80abd8c ) 80abbc2: 781b ldrb r3, [r3, #0] 80abbc4: 3301 adds r3, #1 80abbc6: b2da uxtb r2, r3 80abbc8: 4b70 ldr r3, [pc, #448] ; (80abd8c ) 80abbca: 701a strb r2, [r3, #0] if(pMin < -80) 80abbcc: f9b7 32b2 ldrsh.w r3, [r7, #690] ; 0x2b2 80abbd0: f113 0f50 cmn.w r3, #80 ; 0x50 80abbd4: da09 bge.n 80abbea pMin = -80; 80abbd6: f64f 73b0 movw r3, #65456 ; 0xffb0 80abbda: f8a7 32b2 strh.w r3, [r7, #690] ; 0x2b2 NumOverdrives++; 80abbde: 4b6b ldr r3, [pc, #428] ; (80abd8c ) 80abbe0: 781b ldrb r3, [r3, #0] 80abbe2: 3301 adds r3, #1 80abbe4: b2da uxtb r2, r3 80abbe6: 4b69 ldr r3, [pc, #420] ; (80abd8c ) 80abbe8: 701a strb r2, [r3, #0] if(pMax > 80) 80abbea: f9b7 32b6 ldrsh.w r3, [r7, #694] ; 0x2b6 80abbee: 2b50 cmp r3, #80 ; 0x50 80abbf0: dd08 ble.n 80abc04 pMax = 80; 80abbf2: 2350 movs r3, #80 ; 0x50 80abbf4: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 NumOverdrives++; 80abbf8: 4b64 ldr r3, [pc, #400] ; (80abd8c ) 80abbfa: 781b ldrb r3, [r3, #0] 80abbfc: 3301 adds r3, #1 80abbfe: b2da uxtb r2, r3 80abc00: 4b62 ldr r3, [pc, #392] ; (80abd8c ) 80abc02: 701a strb r2, [r3, #0] if(pMax < -80) 80abc04: f9b7 32b6 ldrsh.w r3, [r7, #694] ; 0x2b6 80abc08: f113 0f50 cmn.w r3, #80 ; 0x50 80abc0c: da09 bge.n 80abc22 pMax = -80; 80abc0e: f64f 73b0 movw r3, #65456 ; 0xffb0 80abc12: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 NumOverdrives++; 80abc16: 4b5d ldr r3, [pc, #372] ; (80abd8c ) 80abc18: 781b ldrb r3, [r3, #0] 80abc1a: 3301 adds r3, #1 80abc1c: b2da uxtb r2, r3 80abc1e: 4b5b ldr r3, [pc, #364] ; (80abd8c ) 80abc20: 701a strb r2, [r3, #0] x = 62 + i; 80abc22: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80abc26: 333e adds r3, #62 ; 0x3e 80abc28: f8c7 3294 str.w r3, [r7, #660] ; 0x294 BSP_LCD_DrawLine(x, 141 - pMin, x, 141 - pMax); 80abc2c: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80abc30: b298 uxth r0, r3 80abc32: f8b7 32b2 ldrh.w r3, [r7, #690] ; 0x2b2 80abc36: f1c3 038d rsb r3, r3, #141 ; 0x8d 80abc3a: b299 uxth r1, r3 80abc3c: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80abc40: b29a uxth r2, r3 80abc42: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80abc46: f1c3 038d rsb r3, r3, #141 ; 0x8d 80abc4a: b29b uxth r3, r3 80abc4c: f7a7 ffe8 bl 8053c20 if(pMax > Maximum) Maximum = pMax; 80abc50: f9b7 22b6 ldrsh.w r2, [r7, #694] ; 0x2b6 80abc54: f9b7 32b4 ldrsh.w r3, [r7, #692] ; 0x2b4 80abc58: 429a cmp r2, r3 80abc5a: dd03 ble.n 80abc64 80abc5c: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80abc60: f8a7 32b4 strh.w r3, [r7, #692] ; 0x2b4 if(pMin < Minimum) Minimum = pMin; 80abc64: f9b7 22b2 ldrsh.w r2, [r7, #690] ; 0x2b2 80abc68: f9b7 32b0 ldrsh.w r3, [r7, #688] ; 0x2b0 80abc6c: 429a cmp r2, r3 80abc6e: da03 bge.n 80abc78 80abc70: f8b7 32b2 ldrh.w r3, [r7, #690] ; 0x2b2 80abc74: f8a7 32b0 strh.w r3, [r7, #688] ; 0x2b0 for(i = 0; i < 256; i++) 80abc78: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80abc7c: 3301 adds r3, #1 80abc7e: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80abc82: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80abc86: 2bff cmp r3, #255 ; 0xff 80abc88: f67f adc7 bls.w 80ab81a Maximum = ABS(Maximum); 80abc8c: f9b7 32b4 ldrsh.w r3, [r7, #692] ; 0x2b4 80abc90: 2b00 cmp r3, #0 80abc92: bfb8 it lt 80abc94: 425b neglt r3, r3 80abc96: f8a7 32b4 strh.w r3, [r7, #692] ; 0x2b4 Minimum = ABS(Minimum); 80abc9a: f9b7 32b0 ldrsh.w r3, [r7, #688] ; 0x2b0 80abc9e: 2b00 cmp r3, #0 80abca0: bfb8 it lt 80abca2: 425b neglt r3, r3 80abca4: f8a7 32b0 strh.w r3, [r7, #688] ; 0x2b0 if(Minimum > Maximum) { 80abca8: f9b7 22b0 ldrsh.w r2, [r7, #688] ; 0x2b0 80abcac: f9b7 32b4 ldrsh.w r3, [r7, #692] ; 0x2b4 80abcb0: 429a cmp r2, r3 80abcb2: dd03 ble.n 80abcbc Maximum = Minimum; 80abcb4: f8b7 32b0 ldrh.w r3, [r7, #688] ; 0x2b0 80abcb8: f8a7 32b4 strh.w r3, [r7, #692] ; 0x2b4 BSP_LCD_SetFont(&Font8); 80abcbc: 4834 ldr r0, [pc, #208] ; (80abd90 ) 80abcbe: f7a7 fdb1 bl 8053824 LCD_SetColors(LCD_COLOR_GRAY, 0xFF000000); 80abcc2: f04f 417f mov.w r1, #4278190080 ; 0xff000000 80abcc6: 4833 ldr r0, [pc, #204] ; (80abd94 ) 80abcc8: f7a7 fd70 bl 80537ac if(ABS(LEGEND[2]) == 0.0f) { mmm = -1; } 80abccc: 4b32 ldr r3, [pc, #200] ; (80abd98 ) 80abcce: edd3 7a02 vldr s15, [r3, #8] 80abcd2: eef5 7ac0 vcmpe.f32 s15, #0.0 80abcd6: eef1 fa10 vmrs APSR_nzcv, fpscr 80abcda: dd0b ble.n 80abcf4 80abcdc: 4b2e ldr r3, [pc, #184] ; (80abd98 ) 80abcde: edd3 7a02 vldr s15, [r3, #8] 80abce2: eef5 7a40 vcmp.f32 s15, #0.0 80abce6: eef1 fa10 vmrs APSR_nzcv, fpscr 80abcea: bf0c ite eq 80abcec: 2301 moveq r3, #1 80abcee: 2300 movne r3, #0 80abcf0: b2db uxtb r3, r3 80abcf2: e00a b.n 80abd0a 80abcf4: 4b28 ldr r3, [pc, #160] ; (80abd98 ) 80abcf6: edd3 7a02 vldr s15, [r3, #8] 80abcfa: eef5 7a40 vcmp.f32 s15, #0.0 80abcfe: eef1 fa10 vmrs APSR_nzcv, fpscr 80abd02: bf0c ite eq 80abd04: 2301 moveq r3, #1 80abd06: 2300 movne r3, #0 80abd08: b2db uxtb r3, r3 80abd0a: 2b00 cmp r3, #0 80abd0c: d003 beq.n 80abd16 80abd0e: 23ff movs r3, #255 ; 0xff 80abd10: f887 329f strb.w r3, [r7, #671] ; 0x29f 80abd14: e070 b.n 80abdf8 else if(ABS(LEGEND[2]) < 1) { mmm = -4; } 80abd16: 4b20 ldr r3, [pc, #128] ; (80abd98 ) 80abd18: edd3 7a02 vldr s15, [r3, #8] 80abd1c: eef5 7ac0 vcmpe.f32 s15, #0.0 80abd20: eef1 fa10 vmrs APSR_nzcv, fpscr 80abd24: dd0d ble.n 80abd42 80abd26: 4b1c ldr r3, [pc, #112] ; (80abd98 ) 80abd28: edd3 7a02 vldr s15, [r3, #8] 80abd2c: eeb7 7a00 vmov.f32 s14, #112 ; 0x3f800000 1.0 80abd30: eef4 7ac7 vcmpe.f32 s15, s14 80abd34: eef1 fa10 vmrs APSR_nzcv, fpscr 80abd38: bf4c ite mi 80abd3a: 2301 movmi r3, #1 80abd3c: 2300 movpl r3, #0 80abd3e: b2db uxtb r3, r3 80abd40: e00e b.n 80abd60 80abd42: 4b15 ldr r3, [pc, #84] ; (80abd98 ) 80abd44: edd3 7a02 vldr s15, [r3, #8] 80abd48: eef1 7a67 vneg.f32 s15, s15 80abd4c: eeb7 7a00 vmov.f32 s14, #112 ; 0x3f800000 1.0 80abd50: eef4 7ac7 vcmpe.f32 s15, s14 80abd54: eef1 fa10 vmrs APSR_nzcv, fpscr 80abd58: bf4c ite mi 80abd5a: 2301 movmi r3, #1 80abd5c: 2300 movpl r3, #0 80abd5e: b2db uxtb r3, r3 80abd60: 2b00 cmp r3, #0 80abd62: d01b beq.n 80abd9c 80abd64: 23fc movs r3, #252 ; 0xfc 80abd66: f887 329f strb.w r3, [r7, #671] ; 0x29f 80abd6a: e045 b.n 80abdf8 80abd6c: 20025d1e .word 0x20025d1e 80abd70: 64080000 .word 0x64080000 80abd74: 20021650 .word 0x20021650 80abd78: 20020990 .word 0x20020990 80abd7c: 46fffe00 .word 0x46fffe00 80abd80: 46fffe00 .word 0x46fffe00 80abd84: c6fffe00 .word 0xc6fffe00 80abd88: c6fffe00 .word 0xc6fffe00 80abd8c: 2002164e .word 0x2002164e 80abd90: 20020060 .word 0x20020060 80abd94: ff808080 .word 0xff808080 80abd98: 200685bc .word 0x200685bc else if(ABS(LEGEND[2]) < 10) { mmm = -1; } 80abd9c: 4b33 ldr r3, [pc, #204] ; (80abe6c ) 80abd9e: edd3 7a02 vldr s15, [r3, #8] 80abda2: eef5 7ac0 vcmpe.f32 s15, #0.0 80abda6: eef1 fa10 vmrs APSR_nzcv, fpscr 80abdaa: dd0d ble.n 80abdc8 80abdac: 4b2f ldr r3, [pc, #188] ; (80abe6c ) 80abdae: edd3 7a02 vldr s15, [r3, #8] 80abdb2: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80abdb6: eef4 7ac7 vcmpe.f32 s15, s14 80abdba: eef1 fa10 vmrs APSR_nzcv, fpscr 80abdbe: bf4c ite mi 80abdc0: 2301 movmi r3, #1 80abdc2: 2300 movpl r3, #0 80abdc4: b2db uxtb r3, r3 80abdc6: e00e b.n 80abde6 80abdc8: 4b28 ldr r3, [pc, #160] ; (80abe6c ) 80abdca: edd3 7a02 vldr s15, [r3, #8] 80abdce: eef1 7a67 vneg.f32 s15, s15 80abdd2: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80abdd6: eef4 7ac7 vcmpe.f32 s15, s14 80abdda: eef1 fa10 vmrs APSR_nzcv, fpscr 80abdde: bf4c ite mi 80abde0: 2301 movmi r3, #1 80abde2: 2300 movpl r3, #0 80abde4: b2db uxtb r3, r3 80abde6: 2b00 cmp r3, #0 80abde8: d003 beq.n 80abdf2 80abdea: 23ff movs r3, #255 ; 0xff 80abdec: f887 329f strb.w r3, [r7, #671] ; 0x29f 80abdf0: e002 b.n 80abdf8 else { mmm = 0; } 80abdf2: 2300 movs r3, #0 80abdf4: f887 329f strb.w r3, [r7, #671] ; 0x29f BSP_LCD_DisplayStringAt(316, 92-8, (char *) FloatToASCII(LEGEND[2], mmm), RIGHT_MODE); 80abdf8: 4b1c ldr r3, [pc, #112] ; (80abe6c ) 80abdfa: edd3 7a02 vldr s15, [r3, #8] 80abdfe: f997 329f ldrsb.w r3, [r7, #671] ; 0x29f 80abe02: 4618 mov r0, r3 80abe04: eeb0 0a67 vmov.f32 s0, s15 80abe08: f7ba fc7a bl 8066700 80abe0c: 4602 mov r2, r0 80abe0e: 2302 movs r3, #2 80abe10: 2154 movs r1, #84 ; 0x54 80abe12: f44f 709e mov.w r0, #316 ; 0x13c 80abe16: f7a7 fd8f bl 8053938 BSP_LCD_DisplayStringAt(316, 92-8+49, (char *) FloatToASCII(LEGEND[1], -1), RIGHT_MODE); 80abe1a: 4b14 ldr r3, [pc, #80] ; (80abe6c ) 80abe1c: edd3 7a01 vldr s15, [r3, #4] 80abe20: f04f 30ff mov.w r0, #4294967295 80abe24: eeb0 0a67 vmov.f32 s0, s15 80abe28: f7ba fc6a bl 8066700 80abe2c: 4602 mov r2, r0 80abe2e: 2302 movs r3, #2 80abe30: 2185 movs r1, #133 ; 0x85 80abe32: f44f 709e mov.w r0, #316 ; 0x13c 80abe36: f7a7 fd7f bl 8053938 BSP_LCD_DisplayStringAt(316, 92-8+98, (char *) FloatToASCII(LEGEND[0], mmm), RIGHT_MODE); 80abe3a: 4b0c ldr r3, [pc, #48] ; (80abe6c ) 80abe3c: edd3 7a00 vldr s15, [r3] 80abe40: f997 329f ldrsb.w r3, [r7, #671] ; 0x29f 80abe44: 4618 mov r0, r3 80abe46: eeb0 0a67 vmov.f32 s0, s15 80abe4a: f7ba fc59 bl 8066700 80abe4e: 4602 mov r2, r0 80abe50: 2302 movs r3, #2 80abe52: 21b6 movs r1, #182 ; 0xb6 80abe54: f44f 709e mov.w r0, #316 ; 0x13c 80abe58: f7a7 fd6e bl 8053938 } 80abe5c: e000 b.n 80abe60 { 80abe5e: bf00 nop } 80abe60: bf00 nop 80abe62: f507 772f add.w r7, r7, #700 ; 0x2bc 80abe66: 46bd mov sp, r7 80abe68: bd90 pop {r4, r7, pc} 80abe6a: bf00 nop 80abe6c: 200685bc .word 0x200685bc 080abe70 : void DrawScaleValue(void) { 80abe70: b5b0 push {r4, r5, r7, lr} 80abe72: b08c sub sp, #48 ; 0x30 80abe74: af00 add r7, sp, #0 uint32_t step, i, k, t = 0; 80abe76: 2300 movs r3, #0 80abe78: 62bb str r3, [r7, #40] ; 0x28 uint8_t *p; char str[7]; float32_t f, fosc[3], dt; BSP_LCD_SetFont(&Font8); 80abe7a: 489a ldr r0, [pc, #616] ; (80ac0e4 ) 80abe7c: f7a7 fcd2 bl 8053824 LCD_SetColors(LCD_COLOR_GRAY, 0xFF000000); 80abe80: f04f 417f mov.w r1, #4278190080 ; 0xff000000 80abe84: 4898 ldr r0, [pc, #608] ; (80ac0e8 ) 80abe86: f7a7 fc91 bl 80537ac k = FsIndex(); 80abe8a: f7ba fbdf bl 806664c 80abe8e: 6278 str r0, [r7, #36] ; 0x24 if(menu == MAIN_SYGNAL) 80abe90: 4b96 ldr r3, [pc, #600] ; (80ac0ec ) 80abe92: 781b ldrb r3, [r3, #0] 80abe94: b2db uxtb r3, r3 80abe96: 2b20 cmp r3, #32 80abe98: f040 8111 bne.w 80ac0be { step = PlayingState.FrameSize >> 8; 80abe9c: 4b94 ldr r3, [pc, #592] ; (80ac0f0 ) 80abe9e: 689b ldr r3, [r3, #8] 80abea0: 0a1b lsrs r3, r3, #8 80abea2: 623b str r3, [r7, #32] dt = (PlayingState.TimeLength / (float32_t) PlayingState.NumFrames) / ((float32_t) PlayingState.FrameSize); 80abea4: 4b92 ldr r3, [pc, #584] ; (80ac0f0 ) 80abea6: ed93 7a07 vldr s14, [r3, #28] 80abeaa: 4b91 ldr r3, [pc, #580] ; (80ac0f0 ) 80abeac: 685b ldr r3, [r3, #4] 80abeae: ee07 3a90 vmov s15, r3 80abeb2: eef8 7a67 vcvt.f32.u32 s15, s15 80abeb6: eec7 6a27 vdiv.f32 s13, s14, s15 80abeba: 4b8d ldr r3, [pc, #564] ; (80ac0f0 ) 80abebc: 689b ldr r3, [r3, #8] 80abebe: ee07 3a90 vmov s15, r3 80abec2: eeb8 7a67 vcvt.f32.u32 s14, s15 80abec6: eec6 7a87 vdiv.f32 s15, s13, s14 80abeca: edc7 7a07 vstr s15, [r7, #28] t = 0; 80abece: 2300 movs r3, #0 80abed0: 62bb str r3, [r7, #40] ; 0x28 for(i = 0; i < 3; i++) 80abed2: 2300 movs r3, #0 80abed4: 62fb str r3, [r7, #44] ; 0x2c 80abed6: e06f b.n 80abfb8 { if(PlayingState.CurrentFrame < PlayingState.NumFrames) 80abed8: 4b85 ldr r3, [pc, #532] ; (80ac0f0 ) 80abeda: 681a ldr r2, [r3, #0] 80abedc: 4b84 ldr r3, [pc, #528] ; (80ac0f0 ) 80abede: 685b ldr r3, [r3, #4] 80abee0: 429a cmp r2, r3 80abee2: d212 bcs.n 80abf0a fosc[i] = (float32_t) (PlayingState.CurrentFrame * PlayingState.FrameSize); 80abee4: 4b82 ldr r3, [pc, #520] ; (80ac0f0 ) 80abee6: 681b ldr r3, [r3, #0] 80abee8: 4a81 ldr r2, [pc, #516] ; (80ac0f0 ) 80abeea: 6892 ldr r2, [r2, #8] 80abeec: fb02 f303 mul.w r3, r2, r3 80abef0: ee07 3a90 vmov s15, r3 80abef4: eef8 7a67 vcvt.f32.u32 s15, s15 80abef8: 6afb ldr r3, [r7, #44] ; 0x2c 80abefa: 009b lsls r3, r3, #2 80abefc: f107 0230 add.w r2, r7, #48 ; 0x30 80abf00: 4413 add r3, r2 80abf02: 3b30 subs r3, #48 ; 0x30 80abf04: edc3 7a00 vstr s15, [r3] 80abf08: e012 b.n 80abf30 else fosc[i] = (float32_t) ((PlayingState.NumFrames - 1) * PlayingState.FrameSize); 80abf0a: 4b79 ldr r3, [pc, #484] ; (80ac0f0 ) 80abf0c: 685b ldr r3, [r3, #4] 80abf0e: 3b01 subs r3, #1 80abf10: 4a77 ldr r2, [pc, #476] ; (80ac0f0 ) 80abf12: 6892 ldr r2, [r2, #8] 80abf14: fb02 f303 mul.w r3, r2, r3 80abf18: ee07 3a90 vmov s15, r3 80abf1c: eef8 7a67 vcvt.f32.u32 s15, s15 80abf20: 6afb ldr r3, [r7, #44] ; 0x2c 80abf22: 009b lsls r3, r3, #2 80abf24: f107 0230 add.w r2, r7, #48 ; 0x30 80abf28: 4413 add r3, r2 80abf2a: 3b30 subs r3, #48 ; 0x30 80abf2c: edc3 7a00 vstr s15, [r3] fosc[i] += (float32_t) ((64 + 64 * i) * step); 80abf30: 6afb ldr r3, [r7, #44] ; 0x2c 80abf32: 009b lsls r3, r3, #2 80abf34: f107 0230 add.w r2, r7, #48 ; 0x30 80abf38: 4413 add r3, r2 80abf3a: 3b30 subs r3, #48 ; 0x30 80abf3c: ed93 7a00 vldr s14, [r3] 80abf40: 6afb ldr r3, [r7, #44] ; 0x2c 80abf42: 3301 adds r3, #1 80abf44: 6a3a ldr r2, [r7, #32] 80abf46: fb02 f303 mul.w r3, r2, r3 80abf4a: 019b lsls r3, r3, #6 80abf4c: ee07 3a90 vmov s15, r3 80abf50: eef8 7a67 vcvt.f32.u32 s15, s15 80abf54: ee77 7a27 vadd.f32 s15, s14, s15 80abf58: 6afb ldr r3, [r7, #44] ; 0x2c 80abf5a: 009b lsls r3, r3, #2 80abf5c: f107 0230 add.w r2, r7, #48 ; 0x30 80abf60: 4413 add r3, r2 80abf62: 3b30 subs r3, #48 ; 0x30 80abf64: edc3 7a00 vstr s15, [r3] //fosc[i] *= (float32_t) step; fosc[i] *= dt; 80abf68: 6afb ldr r3, [r7, #44] ; 0x2c 80abf6a: 009b lsls r3, r3, #2 80abf6c: f107 0230 add.w r2, r7, #48 ; 0x30 80abf70: 4413 add r3, r2 80abf72: 3b30 subs r3, #48 ; 0x30 80abf74: ed93 7a00 vldr s14, [r3] 80abf78: edd7 7a07 vldr s15, [r7, #28] 80abf7c: ee67 7a27 vmul.f32 s15, s14, s15 80abf80: 6afb ldr r3, [r7, #44] ; 0x2c 80abf82: 009b lsls r3, r3, #2 80abf84: f107 0230 add.w r2, r7, #48 ; 0x30 80abf88: 4413 add r3, r2 80abf8a: 3b30 subs r3, #48 ; 0x30 80abf8c: edc3 7a00 vstr s15, [r3] if(fosc[i] >= 1000.0f) { 80abf90: 6afb ldr r3, [r7, #44] ; 0x2c 80abf92: 009b lsls r3, r3, #2 80abf94: f107 0230 add.w r2, r7, #48 ; 0x30 80abf98: 4413 add r3, r2 80abf9a: 3b30 subs r3, #48 ; 0x30 80abf9c: edd3 7a00 vldr s15, [r3] 80abfa0: ed9f 7a54 vldr s14, [pc, #336] ; 80ac0f4 80abfa4: eef4 7ac7 vcmpe.f32 s15, s14 80abfa8: eef1 fa10 vmrs APSR_nzcv, fpscr 80abfac: db01 blt.n 80abfb2 t = 1; 80abfae: 2301 movs r3, #1 80abfb0: 62bb str r3, [r7, #40] ; 0x28 for(i = 0; i < 3; i++) 80abfb2: 6afb ldr r3, [r7, #44] ; 0x2c 80abfb4: 3301 adds r3, #1 80abfb6: 62fb str r3, [r7, #44] ; 0x2c 80abfb8: 6afb ldr r3, [r7, #44] ; 0x2c 80abfba: 2b02 cmp r3, #2 80abfbc: d98c bls.n 80abed8 } } for(i = 0; i < 3; i++) 80abfbe: 2300 movs r3, #0 80abfc0: 62fb str r3, [r7, #44] ; 0x2c 80abfc2: e04e b.n 80ac062 { if(t == 0) 80abfc4: 6abb ldr r3, [r7, #40] ; 0x28 80abfc6: 2b00 cmp r3, #0 80abfc8: d11a bne.n 80ac000 BSP_LCD_DisplayStringAt(120 + (i << 6), 226, (char *)FloatToASCII(fosc[i], -3), LEFT_MODE); 80abfca: 6afb ldr r3, [r7, #44] ; 0x2c 80abfcc: b29b uxth r3, r3 80abfce: 019b lsls r3, r3, #6 80abfd0: b29b uxth r3, r3 80abfd2: 3378 adds r3, #120 ; 0x78 80abfd4: b29c uxth r4, r3 80abfd6: 6afb ldr r3, [r7, #44] ; 0x2c 80abfd8: 009b lsls r3, r3, #2 80abfda: f107 0230 add.w r2, r7, #48 ; 0x30 80abfde: 4413 add r3, r2 80abfe0: 3b30 subs r3, #48 ; 0x30 80abfe2: edd3 7a00 vldr s15, [r3] 80abfe6: f06f 0002 mvn.w r0, #2 80abfea: eeb0 0a67 vmov.f32 s0, s15 80abfee: f7ba fb87 bl 8066700 80abff2: 4602 mov r2, r0 80abff4: 2303 movs r3, #3 80abff6: 21e2 movs r1, #226 ; 0xe2 80abff8: 4620 mov r0, r4 80abffa: f7a7 fc9d bl 8053938 80abffe: e02d b.n 80ac05c else { fosc[i] *= 0.001f; 80ac000: 6afb ldr r3, [r7, #44] ; 0x2c 80ac002: 009b lsls r3, r3, #2 80ac004: f107 0230 add.w r2, r7, #48 ; 0x30 80ac008: 4413 add r3, r2 80ac00a: 3b30 subs r3, #48 ; 0x30 80ac00c: edd3 7a00 vldr s15, [r3] 80ac010: ed9f 7a39 vldr s14, [pc, #228] ; 80ac0f8 80ac014: ee67 7a87 vmul.f32 s15, s15, s14 80ac018: 6afb ldr r3, [r7, #44] ; 0x2c 80ac01a: 009b lsls r3, r3, #2 80ac01c: f107 0230 add.w r2, r7, #48 ; 0x30 80ac020: 4413 add r3, r2 80ac022: 3b30 subs r3, #48 ; 0x30 80ac024: edc3 7a00 vstr s15, [r3] BSP_LCD_DisplayStringAt(120 + (i << 6), 226, (char *)FloatToASCII(fosc[i], -3), LEFT_MODE); 80ac028: 6afb ldr r3, [r7, #44] ; 0x2c 80ac02a: b29b uxth r3, r3 80ac02c: 019b lsls r3, r3, #6 80ac02e: b29b uxth r3, r3 80ac030: 3378 adds r3, #120 ; 0x78 80ac032: b29c uxth r4, r3 80ac034: 6afb ldr r3, [r7, #44] ; 0x2c 80ac036: 009b lsls r3, r3, #2 80ac038: f107 0230 add.w r2, r7, #48 ; 0x30 80ac03c: 4413 add r3, r2 80ac03e: 3b30 subs r3, #48 ; 0x30 80ac040: edd3 7a00 vldr s15, [r3] 80ac044: f06f 0002 mvn.w r0, #2 80ac048: eeb0 0a67 vmov.f32 s0, s15 80ac04c: f7ba fb58 bl 8066700 80ac050: 4602 mov r2, r0 80ac052: 2303 movs r3, #3 80ac054: 21e2 movs r1, #226 ; 0xe2 80ac056: 4620 mov r0, r4 80ac058: f7a7 fc6e bl 8053938 for(i = 0; i < 3; i++) 80ac05c: 6afb ldr r3, [r7, #44] ; 0x2c 80ac05e: 3301 adds r3, #1 80ac060: 62fb str r3, [r7, #44] ; 0x2c 80ac062: 6afb ldr r3, [r7, #44] ; 0x2c 80ac064: 2b02 cmp r3, #2 80ac066: d9ad bls.n 80abfc4 } } if(pardata.LANG == RUS) 80ac068: 4b24 ldr r3, [pc, #144] ; (80ac0fc ) 80ac06a: 7b1b ldrb r3, [r3, #12] 80ac06c: b2db uxtb r3, r3 80ac06e: 2b00 cmp r3, #0 80ac070: d112 bne.n 80ac098 { if(t == 0) 80ac072: 6abb ldr r3, [r7, #40] ; 0x28 80ac074: 2b00 cmp r3, #0 80ac076: d107 bne.n 80ac088 BSP_LCD_DisplayStringAt(300, 226, "C", LEFT_MODE); 80ac078: 2303 movs r3, #3 80ac07a: 4a21 ldr r2, [pc, #132] ; (80ac100 ) 80ac07c: 21e2 movs r1, #226 ; 0xe2 80ac07e: f44f 7096 mov.w r0, #300 ; 0x12c 80ac082: f7a7 fc59 bl 8053938 } } } 80ac086: e3f7 b.n 80ac878 else BSP_LCD_DisplayStringAt(300, 226, "MC", LEFT_MODE); 80ac088: 2303 movs r3, #3 80ac08a: 4a1e ldr r2, [pc, #120] ; (80ac104 ) 80ac08c: 21e2 movs r1, #226 ; 0xe2 80ac08e: f44f 7096 mov.w r0, #300 ; 0x12c 80ac092: f7a7 fc51 bl 8053938 } 80ac096: e3ef b.n 80ac878 if(t == 0) 80ac098: 6abb ldr r3, [r7, #40] ; 0x28 80ac09a: 2b00 cmp r3, #0 80ac09c: d107 bne.n 80ac0ae BSP_LCD_DisplayStringAt(300, 226, "s", LEFT_MODE); 80ac09e: 2303 movs r3, #3 80ac0a0: 4a19 ldr r2, [pc, #100] ; (80ac108 ) 80ac0a2: 21e2 movs r1, #226 ; 0xe2 80ac0a4: f44f 7096 mov.w r0, #300 ; 0x12c 80ac0a8: f7a7 fc46 bl 8053938 } 80ac0ac: e3e4 b.n 80ac878 else BSP_LCD_DisplayStringAt(300, 226, "ms", LEFT_MODE); 80ac0ae: 2303 movs r3, #3 80ac0b0: 4a16 ldr r2, [pc, #88] ; (80ac10c ) 80ac0b2: 21e2 movs r1, #226 ; 0xe2 80ac0b4: f44f 7096 mov.w r0, #300 ; 0x12c 80ac0b8: f7a7 fc3e bl 8053938 } 80ac0bc: e3dc b.n 80ac878 if((pardata.SYG == SPEC) || (pardata.SYG == SPEC_OGIB) || (pardata.SYG == ROLL)) 80ac0be: 4b0f ldr r3, [pc, #60] ; (80ac0fc ) 80ac0c0: 781b ldrb r3, [r3, #0] 80ac0c2: b2db uxtb r3, r3 80ac0c4: 2b01 cmp r3, #1 80ac0c6: d00a beq.n 80ac0de 80ac0c8: 4b0c ldr r3, [pc, #48] ; (80ac0fc ) 80ac0ca: 781b ldrb r3, [r3, #0] 80ac0cc: b2db uxtb r3, r3 80ac0ce: 2b05 cmp r3, #5 80ac0d0: d005 beq.n 80ac0de 80ac0d2: 4b0a ldr r3, [pc, #40] ; (80ac0fc ) 80ac0d4: 781b ldrb r3, [r3, #0] 80ac0d6: b2db uxtb r3, r3 80ac0d8: 2b08 cmp r3, #8 80ac0da: f040 80b1 bne.w 80ac240 for(i = 0; i < 3; i++) 80ac0de: 2300 movs r3, #0 80ac0e0: 62fb str r3, [r7, #44] ; 0x2c 80ac0e2: e094 b.n 80ac20e 80ac0e4: 20020060 .word 0x20020060 80ac0e8: ff808080 .word 0xff808080 80ac0ec: 20020f78 .word 0x20020f78 80ac0f0: 200228d8 .word 0x200228d8 80ac0f4: 447a0000 .word 0x447a0000 80ac0f8: 3a83126f .word 0x3a83126f 80ac0fc: 20023e60 .word 0x20023e60 80ac100: 080d0ae8 .word 0x080d0ae8 80ac104: 080d0aec .word 0x080d0aec 80ac108: 080d0a74 .word 0x080d0a74 80ac10c: 080d0a84 .word 0x080d0a84 f = (float32_t) (X0 + (64 + 64 * i) * avgSPC[ViewLevel][pardata.LNE]); 80ac110: 4b9c ldr r3, [pc, #624] ; (80ac384 ) 80ac112: 881b ldrh r3, [r3, #0] 80ac114: b29b uxth r3, r3 80ac116: 4618 mov r0, r3 80ac118: 6afb ldr r3, [r7, #44] ; 0x2c 80ac11a: 3301 adds r3, #1 80ac11c: 4a9a ldr r2, [pc, #616] ; (80ac388 ) 80ac11e: 7812 ldrb r2, [r2, #0] 80ac120: b2d2 uxtb r2, r2 80ac122: 4615 mov r5, r2 80ac124: 4a99 ldr r2, [pc, #612] ; (80ac38c ) 80ac126: 79d2 ldrb r2, [r2, #7] 80ac128: b2d2 uxtb r2, r2 80ac12a: 4614 mov r4, r2 80ac12c: 4998 ldr r1, [pc, #608] ; (80ac390 ) 80ac12e: 00aa lsls r2, r5, #2 80ac130: 440a add r2, r1 80ac132: 4422 add r2, r4 80ac134: 7812 ldrb r2, [r2, #0] 80ac136: fb02 f303 mul.w r3, r2, r3 80ac13a: 019b lsls r3, r3, #6 80ac13c: 4403 add r3, r0 80ac13e: ee07 3a90 vmov s15, r3 80ac142: eef8 7a67 vcvt.f32.u32 s15, s15 80ac146: edc7 7a06 vstr s15, [r7, #24] f *= Delta_SPC[k][pardata.LNE]; 80ac14a: 4b90 ldr r3, [pc, #576] ; (80ac38c ) 80ac14c: 79db ldrb r3, [r3, #7] 80ac14e: b2db uxtb r3, r3 80ac150: 4619 mov r1, r3 80ac152: 4a90 ldr r2, [pc, #576] ; (80ac394 ) 80ac154: 6a7b ldr r3, [r7, #36] ; 0x24 80ac156: 009b lsls r3, r3, #2 80ac158: 440b add r3, r1 80ac15a: 009b lsls r3, r3, #2 80ac15c: 4413 add r3, r2 80ac15e: edd3 7a00 vldr s15, [r3] 80ac162: ed97 7a06 vldr s14, [r7, #24] 80ac166: ee67 7a27 vmul.f32 s15, s14, s15 80ac16a: edc7 7a06 vstr s15, [r7, #24] if(f >= 1000.0f) 80ac16e: edd7 7a06 vldr s15, [r7, #24] 80ac172: ed9f 7a89 vldr s14, [pc, #548] ; 80ac398 80ac176: eef4 7ac7 vcmpe.f32 s15, s14 80ac17a: eef1 fa10 vmrs APSR_nzcv, fpscr 80ac17e: db32 blt.n 80ac1e6 f *= 0.001f; 80ac180: edd7 7a06 vldr s15, [r7, #24] 80ac184: ed9f 7a85 vldr s14, [pc, #532] ; 80ac39c 80ac188: ee67 7a87 vmul.f32 s15, s15, s14 80ac18c: edc7 7a06 vstr s15, [r7, #24] p = FloatToASCII(f, -2); 80ac190: f06f 0001 mvn.w r0, #1 80ac194: ed97 0a06 vldr s0, [r7, #24] 80ac198: f7ba fab2 bl 8066700 80ac19c: 6178 str r0, [r7, #20] memcpy((void *)str, (void *)p, sizeof(str)); 80ac19e: 697a ldr r2, [r7, #20] 80ac1a0: f107 030c add.w r3, r7, #12 80ac1a4: 6810 ldr r0, [r2, #0] 80ac1a6: 6018 str r0, [r3, #0] 80ac1a8: 8891 ldrh r1, [r2, #4] 80ac1aa: 7992 ldrb r2, [r2, #6] 80ac1ac: 8099 strh r1, [r3, #4] 80ac1ae: 719a strb r2, [r3, #6] if(f >= 10.0f) 80ac1b0: edd7 7a06 vldr s15, [r7, #24] 80ac1b4: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80ac1b8: eef4 7ac7 vcmpe.f32 s15, s14 80ac1bc: eef1 fa10 vmrs APSR_nzcv, fpscr 80ac1c0: db02 blt.n 80ac1c8 str[5] = 'k'; 80ac1c2: 236b movs r3, #107 ; 0x6b 80ac1c4: 747b strb r3, [r7, #17] 80ac1c6: e001 b.n 80ac1cc else str[4] = 'k'; 80ac1c8: 236b movs r3, #107 ; 0x6b 80ac1ca: 743b strb r3, [r7, #16] BSP_LCD_DisplayStringAt(120 + (i << 6), 226, str, LEFT_MODE); 80ac1cc: 6afb ldr r3, [r7, #44] ; 0x2c 80ac1ce: b29b uxth r3, r3 80ac1d0: 019b lsls r3, r3, #6 80ac1d2: b29b uxth r3, r3 80ac1d4: 3378 adds r3, #120 ; 0x78 80ac1d6: b298 uxth r0, r3 80ac1d8: f107 020c add.w r2, r7, #12 80ac1dc: 2303 movs r3, #3 80ac1de: 21e2 movs r1, #226 ; 0xe2 80ac1e0: f7a7 fbaa bl 8053938 80ac1e4: e010 b.n 80ac208 BSP_LCD_DisplayStringAt(120 + (i << 6), 226, (char *)FloatToASCII(f, 0), LEFT_MODE); 80ac1e6: 6afb ldr r3, [r7, #44] ; 0x2c 80ac1e8: b29b uxth r3, r3 80ac1ea: 019b lsls r3, r3, #6 80ac1ec: b29b uxth r3, r3 80ac1ee: 3378 adds r3, #120 ; 0x78 80ac1f0: b29c uxth r4, r3 80ac1f2: 2000 movs r0, #0 80ac1f4: ed97 0a06 vldr s0, [r7, #24] 80ac1f8: f7ba fa82 bl 8066700 80ac1fc: 4602 mov r2, r0 80ac1fe: 2303 movs r3, #3 80ac200: 21e2 movs r1, #226 ; 0xe2 80ac202: 4620 mov r0, r4 80ac204: f7a7 fb98 bl 8053938 for(i = 0; i < 3; i++) 80ac208: 6afb ldr r3, [r7, #44] ; 0x2c 80ac20a: 3301 adds r3, #1 80ac20c: 62fb str r3, [r7, #44] ; 0x2c 80ac20e: 6afb ldr r3, [r7, #44] ; 0x2c 80ac210: 2b02 cmp r3, #2 80ac212: f67f af7d bls.w 80ac110 if(pardata.LANG == RUS) 80ac216: 4b5d ldr r3, [pc, #372] ; (80ac38c ) 80ac218: 7b1b ldrb r3, [r3, #12] 80ac21a: b2db uxtb r3, r3 80ac21c: 2b00 cmp r3, #0 80ac21e: d107 bne.n 80ac230 BSP_LCD_DisplayStringAt(300, 226, "$%", LEFT_MODE); 80ac220: 2303 movs r3, #3 80ac222: 4a5f ldr r2, [pc, #380] ; (80ac3a0 ) 80ac224: 21e2 movs r1, #226 ; 0xe2 80ac226: f44f 7096 mov.w r0, #300 ; 0x12c 80ac22a: f7a7 fb85 bl 8053938 if(pardata.LANG == RUS) 80ac22e: e323 b.n 80ac878 else BSP_LCD_DisplayStringAt(300, 226, "Hz", LEFT_MODE); 80ac230: 2303 movs r3, #3 80ac232: 4a5c ldr r2, [pc, #368] ; (80ac3a4 ) 80ac234: 21e2 movs r1, #226 ; 0xe2 80ac236: f44f 7096 mov.w r0, #300 ; 0x12c 80ac23a: f7a7 fb7d bl 8053938 if(pardata.LANG == RUS) 80ac23e: e31b b.n 80ac878 if(pardata.SYG == UDAR) //TODO UDAR 80ac240: 4b52 ldr r3, [pc, #328] ; (80ac38c ) 80ac242: 781b ldrb r3, [r3, #0] 80ac244: b2db uxtb r3, r3 80ac246: 2b09 cmp r3, #9 80ac248: f040 80ae bne.w 80ac3a8 for(i = 0; i < 3; i++) 80ac24c: 2300 movs r3, #0 80ac24e: 62fb str r3, [r7, #44] ; 0x2c 80ac250: e07e b.n 80ac350 f = (float32_t) (X0 + (64 + 64 * i) * avgSPC[ViewLevel][pardata.LNE]); 80ac252: 4b4c ldr r3, [pc, #304] ; (80ac384 ) 80ac254: 881b ldrh r3, [r3, #0] 80ac256: b29b uxth r3, r3 80ac258: 4618 mov r0, r3 80ac25a: 6afb ldr r3, [r7, #44] ; 0x2c 80ac25c: 3301 adds r3, #1 80ac25e: 4a4a ldr r2, [pc, #296] ; (80ac388 ) 80ac260: 7812 ldrb r2, [r2, #0] 80ac262: b2d2 uxtb r2, r2 80ac264: 4615 mov r5, r2 80ac266: 4a49 ldr r2, [pc, #292] ; (80ac38c ) 80ac268: 79d2 ldrb r2, [r2, #7] 80ac26a: b2d2 uxtb r2, r2 80ac26c: 4614 mov r4, r2 80ac26e: 4948 ldr r1, [pc, #288] ; (80ac390 ) 80ac270: 00aa lsls r2, r5, #2 80ac272: 440a add r2, r1 80ac274: 4422 add r2, r4 80ac276: 7812 ldrb r2, [r2, #0] 80ac278: fb02 f303 mul.w r3, r2, r3 80ac27c: 019b lsls r3, r3, #6 80ac27e: 4403 add r3, r0 80ac280: ee07 3a90 vmov s15, r3 80ac284: eef8 7a67 vcvt.f32.u32 s15, s15 80ac288: edc7 7a06 vstr s15, [r7, #24] f *= Delta_SPC[k][pardata.LNE]; 80ac28c: 4b3f ldr r3, [pc, #252] ; (80ac38c ) 80ac28e: 79db ldrb r3, [r3, #7] 80ac290: b2db uxtb r3, r3 80ac292: 4619 mov r1, r3 80ac294: 4a3f ldr r2, [pc, #252] ; (80ac394 ) 80ac296: 6a7b ldr r3, [r7, #36] ; 0x24 80ac298: 009b lsls r3, r3, #2 80ac29a: 440b add r3, r1 80ac29c: 009b lsls r3, r3, #2 80ac29e: 4413 add r3, r2 80ac2a0: edd3 7a00 vldr s15, [r3] 80ac2a4: ed97 7a06 vldr s14, [r7, #24] 80ac2a8: ee67 7a27 vmul.f32 s15, s14, s15 80ac2ac: edc7 7a06 vstr s15, [r7, #24] if(f >= 1000.0f) 80ac2b0: edd7 7a06 vldr s15, [r7, #24] 80ac2b4: ed9f 7a38 vldr s14, [pc, #224] ; 80ac398 80ac2b8: eef4 7ac7 vcmpe.f32 s15, s14 80ac2bc: eef1 fa10 vmrs APSR_nzcv, fpscr 80ac2c0: db32 blt.n 80ac328 f *= 0.001f; 80ac2c2: edd7 7a06 vldr s15, [r7, #24] 80ac2c6: ed9f 7a35 vldr s14, [pc, #212] ; 80ac39c 80ac2ca: ee67 7a87 vmul.f32 s15, s15, s14 80ac2ce: edc7 7a06 vstr s15, [r7, #24] p = FloatToASCII(f, -2); 80ac2d2: f06f 0001 mvn.w r0, #1 80ac2d6: ed97 0a06 vldr s0, [r7, #24] 80ac2da: f7ba fa11 bl 8066700 80ac2de: 6178 str r0, [r7, #20] memcpy((void *)str, (void *)p, sizeof(str)); 80ac2e0: 697a ldr r2, [r7, #20] 80ac2e2: f107 030c add.w r3, r7, #12 80ac2e6: 6810 ldr r0, [r2, #0] 80ac2e8: 6018 str r0, [r3, #0] 80ac2ea: 8891 ldrh r1, [r2, #4] 80ac2ec: 7992 ldrb r2, [r2, #6] 80ac2ee: 8099 strh r1, [r3, #4] 80ac2f0: 719a strb r2, [r3, #6] if(f >= 10.0f) 80ac2f2: edd7 7a06 vldr s15, [r7, #24] 80ac2f6: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80ac2fa: eef4 7ac7 vcmpe.f32 s15, s14 80ac2fe: eef1 fa10 vmrs APSR_nzcv, fpscr 80ac302: db02 blt.n 80ac30a str[5] = 'k'; 80ac304: 236b movs r3, #107 ; 0x6b 80ac306: 747b strb r3, [r7, #17] 80ac308: e001 b.n 80ac30e else str[4] = 'k'; 80ac30a: 236b movs r3, #107 ; 0x6b 80ac30c: 743b strb r3, [r7, #16] BSP_LCD_DisplayStringAt(96 + (i << 6), 205, str, CENTER_MODE); 80ac30e: 6afb ldr r3, [r7, #44] ; 0x2c 80ac310: b29b uxth r3, r3 80ac312: 019b lsls r3, r3, #6 80ac314: b29b uxth r3, r3 80ac316: 3360 adds r3, #96 ; 0x60 80ac318: b298 uxth r0, r3 80ac31a: f107 020c add.w r2, r7, #12 80ac31e: 2301 movs r3, #1 80ac320: 21cd movs r1, #205 ; 0xcd 80ac322: f7a7 fb09 bl 8053938 80ac326: e010 b.n 80ac34a BSP_LCD_DisplayStringAt(96 + (i << 6), 205, (char *)FloatToASCII(f, 0), CENTER_MODE); 80ac328: 6afb ldr r3, [r7, #44] ; 0x2c 80ac32a: b29b uxth r3, r3 80ac32c: 019b lsls r3, r3, #6 80ac32e: b29b uxth r3, r3 80ac330: 3360 adds r3, #96 ; 0x60 80ac332: b29c uxth r4, r3 80ac334: 2000 movs r0, #0 80ac336: ed97 0a06 vldr s0, [r7, #24] 80ac33a: f7ba f9e1 bl 8066700 80ac33e: 4602 mov r2, r0 80ac340: 2301 movs r3, #1 80ac342: 21cd movs r1, #205 ; 0xcd 80ac344: 4620 mov r0, r4 80ac346: f7a7 faf7 bl 8053938 for(i = 0; i < 3; i++) 80ac34a: 6afb ldr r3, [r7, #44] ; 0x2c 80ac34c: 3301 adds r3, #1 80ac34e: 62fb str r3, [r7, #44] ; 0x2c 80ac350: 6afb ldr r3, [r7, #44] ; 0x2c 80ac352: 2b02 cmp r3, #2 80ac354: f67f af7d bls.w 80ac252 if(pardata.LANG == RUS) 80ac358: 4b0c ldr r3, [pc, #48] ; (80ac38c ) 80ac35a: 7b1b ldrb r3, [r3, #12] 80ac35c: b2db uxtb r3, r3 80ac35e: 2b00 cmp r3, #0 80ac360: d107 bne.n 80ac372 BSP_LCD_DisplayStringAt(285, 205, "$%", RIGHT_MODE); 80ac362: 2302 movs r3, #2 80ac364: 4a0e ldr r2, [pc, #56] ; (80ac3a0 ) 80ac366: 21cd movs r1, #205 ; 0xcd 80ac368: f240 101d movw r0, #285 ; 0x11d 80ac36c: f7a7 fae4 bl 8053938 } 80ac370: e282 b.n 80ac878 else BSP_LCD_DisplayStringAt(285, 205, "Hz", RIGHT_MODE); 80ac372: 2302 movs r3, #2 80ac374: 4a0b ldr r2, [pc, #44] ; (80ac3a4 ) 80ac376: 21cd movs r1, #205 ; 0xcd 80ac378: f240 101d movw r0, #285 ; 0x11d 80ac37c: f7a7 fadc bl 8053938 } 80ac380: e27a b.n 80ac878 80ac382: bf00 nop 80ac384: 20025d1e .word 0x20025d1e 80ac388: 20020f74 .word 0x20020f74 80ac38c: 20023e60 .word 0x20023e60 80ac390: 080ef614 .word 0x080ef614 80ac394: 080ef668 .word 0x080ef668 80ac398: 447a0000 .word 0x447a0000 80ac39c: 3a83126f .word 0x3a83126f 80ac3a0: 080d0a8c .word 0x080d0a8c 80ac3a4: 080d0a90 .word 0x080d0a90 if(pardata.SYG == SPEC_OKT) 80ac3a8: 4bb8 ldr r3, [pc, #736] ; (80ac68c ) 80ac3aa: 781b ldrb r3, [r3, #0] 80ac3ac: b2db uxtb r3, r3 80ac3ae: 2b06 cmp r3, #6 80ac3b0: d16a bne.n 80ac488 BSP_LCD_DisplayStringAt( 69, 226, "1", CENTER_MODE); 80ac3b2: 2301 movs r3, #1 80ac3b4: 4ab6 ldr r2, [pc, #728] ; (80ac690 ) 80ac3b6: 21e2 movs r1, #226 ; 0xe2 80ac3b8: 2045 movs r0, #69 ; 0x45 80ac3ba: f7a7 fabd bl 8053938 BSP_LCD_DisplayStringAt( 69 + 16, 226, "2", CENTER_MODE); 80ac3be: 2301 movs r3, #1 80ac3c0: 4ab4 ldr r2, [pc, #720] ; (80ac694 ) 80ac3c2: 21e2 movs r1, #226 ; 0xe2 80ac3c4: 2055 movs r0, #85 ; 0x55 80ac3c6: f7a7 fab7 bl 8053938 BSP_LCD_DisplayStringAt( 69 + 32, 226, "4", CENTER_MODE); 80ac3ca: 2301 movs r3, #1 80ac3cc: 4ab2 ldr r2, [pc, #712] ; (80ac698 ) 80ac3ce: 21e2 movs r1, #226 ; 0xe2 80ac3d0: 2065 movs r0, #101 ; 0x65 80ac3d2: f7a7 fab1 bl 8053938 BSP_LCD_DisplayStringAt( 69 + 48, 226, "8", CENTER_MODE); 80ac3d6: 2301 movs r3, #1 80ac3d8: 4ab0 ldr r2, [pc, #704] ; (80ac69c ) 80ac3da: 21e2 movs r1, #226 ; 0xe2 80ac3dc: 2075 movs r0, #117 ; 0x75 80ac3de: f7a7 faab bl 8053938 BSP_LCD_DisplayStringAt( 69 + 64, 226, "16", CENTER_MODE); 80ac3e2: 2301 movs r3, #1 80ac3e4: 4aae ldr r2, [pc, #696] ; (80ac6a0 ) 80ac3e6: 21e2 movs r1, #226 ; 0xe2 80ac3e8: 2085 movs r0, #133 ; 0x85 80ac3ea: f7a7 faa5 bl 8053938 BSP_LCD_DisplayStringAt( 69 + 80, 226, "31", CENTER_MODE); 80ac3ee: 2301 movs r3, #1 80ac3f0: 4aac ldr r2, [pc, #688] ; (80ac6a4 ) 80ac3f2: 21e2 movs r1, #226 ; 0xe2 80ac3f4: 2095 movs r0, #149 ; 0x95 80ac3f6: f7a7 fa9f bl 8053938 BSP_LCD_DisplayStringAt( 69 + 96, 226, "63", CENTER_MODE); 80ac3fa: 2301 movs r3, #1 80ac3fc: 4aaa ldr r2, [pc, #680] ; (80ac6a8 ) 80ac3fe: 21e2 movs r1, #226 ; 0xe2 80ac400: 20a5 movs r0, #165 ; 0xa5 80ac402: f7a7 fa99 bl 8053938 BSP_LCD_DisplayStringAt( 69 + 111, 226, "125", CENTER_MODE); 80ac406: 2301 movs r3, #1 80ac408: 4aa8 ldr r2, [pc, #672] ; (80ac6ac ) 80ac40a: 21e2 movs r1, #226 ; 0xe2 80ac40c: 20b4 movs r0, #180 ; 0xb4 80ac40e: f7a7 fa93 bl 8053938 BSP_LCD_DisplayStringAt( 69 + 128, 226, "250", CENTER_MODE); 80ac412: 2301 movs r3, #1 80ac414: 4aa6 ldr r2, [pc, #664] ; (80ac6b0 ) 80ac416: 21e2 movs r1, #226 ; 0xe2 80ac418: 20c5 movs r0, #197 ; 0xc5 80ac41a: f7a7 fa8d bl 8053938 BSP_LCD_DisplayStringAt( 69 + 145, 226, "500", CENTER_MODE); 80ac41e: 2301 movs r3, #1 80ac420: 4aa4 ldr r2, [pc, #656] ; (80ac6b4 ) 80ac422: 21e2 movs r1, #226 ; 0xe2 80ac424: 20d6 movs r0, #214 ; 0xd6 80ac426: f7a7 fa87 bl 8053938 BSP_LCD_DisplayStringAt( 69 + 160, 226, "1k", CENTER_MODE); 80ac42a: 2301 movs r3, #1 80ac42c: 4aa2 ldr r2, [pc, #648] ; (80ac6b8 ) 80ac42e: 21e2 movs r1, #226 ; 0xe2 80ac430: 20e5 movs r0, #229 ; 0xe5 80ac432: f7a7 fa81 bl 8053938 BSP_LCD_DisplayStringAt( 69 + 176, 226, "2k", CENTER_MODE); 80ac436: 2301 movs r3, #1 80ac438: 4aa0 ldr r2, [pc, #640] ; (80ac6bc ) 80ac43a: 21e2 movs r1, #226 ; 0xe2 80ac43c: 20f5 movs r0, #245 ; 0xf5 80ac43e: f7a7 fa7b bl 8053938 BSP_LCD_DisplayStringAt( 69 + 192, 226, "4k", CENTER_MODE); 80ac442: 2301 movs r3, #1 80ac444: 4a9e ldr r2, [pc, #632] ; (80ac6c0 ) 80ac446: 21e2 movs r1, #226 ; 0xe2 80ac448: f240 1005 movw r0, #261 ; 0x105 80ac44c: f7a7 fa74 bl 8053938 BSP_LCD_DisplayStringAt( 69 + 208, 226, "8k", CENTER_MODE); 80ac450: 2301 movs r3, #1 80ac452: 4a9c ldr r2, [pc, #624] ; (80ac6c4 ) 80ac454: 21e2 movs r1, #226 ; 0xe2 80ac456: f240 1015 movw r0, #277 ; 0x115 80ac45a: f7a7 fa6d bl 8053938 if(pardata.LANG == RUS) 80ac45e: 4b8b ldr r3, [pc, #556] ; (80ac68c ) 80ac460: 7b1b ldrb r3, [r3, #12] 80ac462: b2db uxtb r3, r3 80ac464: 2b00 cmp r3, #0 80ac466: d107 bne.n 80ac478 BSP_LCD_DisplayStringAt(306, 226, "$%", LEFT_MODE); 80ac468: 2303 movs r3, #3 80ac46a: 4a97 ldr r2, [pc, #604] ; (80ac6c8 ) 80ac46c: 21e2 movs r1, #226 ; 0xe2 80ac46e: f44f 7099 mov.w r0, #306 ; 0x132 80ac472: f7a7 fa61 bl 8053938 } 80ac476: e1ff b.n 80ac878 else BSP_LCD_DisplayStringAt(306, 226, "Hz", LEFT_MODE); 80ac478: 2303 movs r3, #3 80ac47a: 4a94 ldr r2, [pc, #592] ; (80ac6cc ) 80ac47c: 21e2 movs r1, #226 ; 0xe2 80ac47e: f44f 7099 mov.w r0, #306 ; 0x132 80ac482: f7a7 fa59 bl 8053938 } 80ac486: e1f7 b.n 80ac878 if(pardata.SYG == SPEC_THIRD) 80ac488: 4b80 ldr r3, [pc, #512] ; (80ac68c ) 80ac48a: 781b ldrb r3, [r3, #0] 80ac48c: b2db uxtb r3, r3 80ac48e: 2b07 cmp r3, #7 80ac490: f040 80f1 bne.w 80ac676 i = 0; 80ac494: 2300 movs r3, #0 80ac496: 62fb str r3, [r7, #44] ; 0x2c BSP_LCD_DisplayStringAt( 69 + 18*i, 226, "1", CENTER_MODE); i++; 80ac498: 6afb ldr r3, [r7, #44] ; 0x2c 80ac49a: b29b uxth r3, r3 80ac49c: 461a mov r2, r3 80ac49e: 00d2 lsls r2, r2, #3 80ac4a0: 4413 add r3, r2 80ac4a2: 005b lsls r3, r3, #1 80ac4a4: b29b uxth r3, r3 80ac4a6: 3345 adds r3, #69 ; 0x45 80ac4a8: b298 uxth r0, r3 80ac4aa: 2301 movs r3, #1 80ac4ac: 4a78 ldr r2, [pc, #480] ; (80ac690 ) 80ac4ae: 21e2 movs r1, #226 ; 0xe2 80ac4b0: f7a7 fa42 bl 8053938 80ac4b4: 6afb ldr r3, [r7, #44] ; 0x2c 80ac4b6: 3301 adds r3, #1 80ac4b8: 62fb str r3, [r7, #44] ; 0x2c BSP_LCD_DisplayStringAt( 69 + 18*i, 226, "2", CENTER_MODE); i++; 80ac4ba: 6afb ldr r3, [r7, #44] ; 0x2c 80ac4bc: b29b uxth r3, r3 80ac4be: 461a mov r2, r3 80ac4c0: 00d2 lsls r2, r2, #3 80ac4c2: 4413 add r3, r2 80ac4c4: 005b lsls r3, r3, #1 80ac4c6: b29b uxth r3, r3 80ac4c8: 3345 adds r3, #69 ; 0x45 80ac4ca: b298 uxth r0, r3 80ac4cc: 2301 movs r3, #1 80ac4ce: 4a71 ldr r2, [pc, #452] ; (80ac694 ) 80ac4d0: 21e2 movs r1, #226 ; 0xe2 80ac4d2: f7a7 fa31 bl 8053938 80ac4d6: 6afb ldr r3, [r7, #44] ; 0x2c 80ac4d8: 3301 adds r3, #1 80ac4da: 62fb str r3, [r7, #44] ; 0x2c BSP_LCD_DisplayStringAt( 69 + 18*i, 226, "4", CENTER_MODE); i++; 80ac4dc: 6afb ldr r3, [r7, #44] ; 0x2c 80ac4de: b29b uxth r3, r3 80ac4e0: 461a mov r2, r3 80ac4e2: 00d2 lsls r2, r2, #3 80ac4e4: 4413 add r3, r2 80ac4e6: 005b lsls r3, r3, #1 80ac4e8: b29b uxth r3, r3 80ac4ea: 3345 adds r3, #69 ; 0x45 80ac4ec: b298 uxth r0, r3 80ac4ee: 2301 movs r3, #1 80ac4f0: 4a69 ldr r2, [pc, #420] ; (80ac698 ) 80ac4f2: 21e2 movs r1, #226 ; 0xe2 80ac4f4: f7a7 fa20 bl 8053938 80ac4f8: 6afb ldr r3, [r7, #44] ; 0x2c 80ac4fa: 3301 adds r3, #1 80ac4fc: 62fb str r3, [r7, #44] ; 0x2c BSP_LCD_DisplayStringAt( 69 + 18*i, 226, "8", CENTER_MODE); i++; 80ac4fe: 6afb ldr r3, [r7, #44] ; 0x2c 80ac500: b29b uxth r3, r3 80ac502: 461a mov r2, r3 80ac504: 00d2 lsls r2, r2, #3 80ac506: 4413 add r3, r2 80ac508: 005b lsls r3, r3, #1 80ac50a: b29b uxth r3, r3 80ac50c: 3345 adds r3, #69 ; 0x45 80ac50e: b298 uxth r0, r3 80ac510: 2301 movs r3, #1 80ac512: 4a62 ldr r2, [pc, #392] ; (80ac69c ) 80ac514: 21e2 movs r1, #226 ; 0xe2 80ac516: f7a7 fa0f bl 8053938 80ac51a: 6afb ldr r3, [r7, #44] ; 0x2c 80ac51c: 3301 adds r3, #1 80ac51e: 62fb str r3, [r7, #44] ; 0x2c BSP_LCD_DisplayStringAt( 69 + 18*i, 226, "16", CENTER_MODE); i++; 80ac520: 6afb ldr r3, [r7, #44] ; 0x2c 80ac522: b29b uxth r3, r3 80ac524: 461a mov r2, r3 80ac526: 00d2 lsls r2, r2, #3 80ac528: 4413 add r3, r2 80ac52a: 005b lsls r3, r3, #1 80ac52c: b29b uxth r3, r3 80ac52e: 3345 adds r3, #69 ; 0x45 80ac530: b298 uxth r0, r3 80ac532: 2301 movs r3, #1 80ac534: 4a5a ldr r2, [pc, #360] ; (80ac6a0 ) 80ac536: 21e2 movs r1, #226 ; 0xe2 80ac538: f7a7 f9fe bl 8053938 80ac53c: 6afb ldr r3, [r7, #44] ; 0x2c 80ac53e: 3301 adds r3, #1 80ac540: 62fb str r3, [r7, #44] ; 0x2c BSP_LCD_DisplayStringAt( 69 + 18*i, 226, "31", CENTER_MODE); i++; 80ac542: 6afb ldr r3, [r7, #44] ; 0x2c 80ac544: b29b uxth r3, r3 80ac546: 461a mov r2, r3 80ac548: 00d2 lsls r2, r2, #3 80ac54a: 4413 add r3, r2 80ac54c: 005b lsls r3, r3, #1 80ac54e: b29b uxth r3, r3 80ac550: 3345 adds r3, #69 ; 0x45 80ac552: b298 uxth r0, r3 80ac554: 2301 movs r3, #1 80ac556: 4a53 ldr r2, [pc, #332] ; (80ac6a4 ) 80ac558: 21e2 movs r1, #226 ; 0xe2 80ac55a: f7a7 f9ed bl 8053938 80ac55e: 6afb ldr r3, [r7, #44] ; 0x2c 80ac560: 3301 adds r3, #1 80ac562: 62fb str r3, [r7, #44] ; 0x2c BSP_LCD_DisplayStringAt( 69 + 18*i, 226, "63", CENTER_MODE); i++; 80ac564: 6afb ldr r3, [r7, #44] ; 0x2c 80ac566: b29b uxth r3, r3 80ac568: 461a mov r2, r3 80ac56a: 00d2 lsls r2, r2, #3 80ac56c: 4413 add r3, r2 80ac56e: 005b lsls r3, r3, #1 80ac570: b29b uxth r3, r3 80ac572: 3345 adds r3, #69 ; 0x45 80ac574: b298 uxth r0, r3 80ac576: 2301 movs r3, #1 80ac578: 4a4b ldr r2, [pc, #300] ; (80ac6a8 ) 80ac57a: 21e2 movs r1, #226 ; 0xe2 80ac57c: f7a7 f9dc bl 8053938 80ac580: 6afb ldr r3, [r7, #44] ; 0x2c 80ac582: 3301 adds r3, #1 80ac584: 62fb str r3, [r7, #44] ; 0x2c BSP_LCD_DisplayStringAt( 69 + 18*i, 226, "125", CENTER_MODE); i++; 80ac586: 6afb ldr r3, [r7, #44] ; 0x2c 80ac588: b29b uxth r3, r3 80ac58a: 461a mov r2, r3 80ac58c: 00d2 lsls r2, r2, #3 80ac58e: 4413 add r3, r2 80ac590: 005b lsls r3, r3, #1 80ac592: b29b uxth r3, r3 80ac594: 3345 adds r3, #69 ; 0x45 80ac596: b298 uxth r0, r3 80ac598: 2301 movs r3, #1 80ac59a: 4a44 ldr r2, [pc, #272] ; (80ac6ac ) 80ac59c: 21e2 movs r1, #226 ; 0xe2 80ac59e: f7a7 f9cb bl 8053938 80ac5a2: 6afb ldr r3, [r7, #44] ; 0x2c 80ac5a4: 3301 adds r3, #1 80ac5a6: 62fb str r3, [r7, #44] ; 0x2c BSP_LCD_DisplayStringAt( 69 + 18*i, 226, "250", CENTER_MODE); i++; 80ac5a8: 6afb ldr r3, [r7, #44] ; 0x2c 80ac5aa: b29b uxth r3, r3 80ac5ac: 461a mov r2, r3 80ac5ae: 00d2 lsls r2, r2, #3 80ac5b0: 4413 add r3, r2 80ac5b2: 005b lsls r3, r3, #1 80ac5b4: b29b uxth r3, r3 80ac5b6: 3345 adds r3, #69 ; 0x45 80ac5b8: b298 uxth r0, r3 80ac5ba: 2301 movs r3, #1 80ac5bc: 4a3c ldr r2, [pc, #240] ; (80ac6b0 ) 80ac5be: 21e2 movs r1, #226 ; 0xe2 80ac5c0: f7a7 f9ba bl 8053938 80ac5c4: 6afb ldr r3, [r7, #44] ; 0x2c 80ac5c6: 3301 adds r3, #1 80ac5c8: 62fb str r3, [r7, #44] ; 0x2c BSP_LCD_DisplayStringAt( 69 + 18*i, 226, "500", CENTER_MODE); i++; 80ac5ca: 6afb ldr r3, [r7, #44] ; 0x2c 80ac5cc: b29b uxth r3, r3 80ac5ce: 461a mov r2, r3 80ac5d0: 00d2 lsls r2, r2, #3 80ac5d2: 4413 add r3, r2 80ac5d4: 005b lsls r3, r3, #1 80ac5d6: b29b uxth r3, r3 80ac5d8: 3345 adds r3, #69 ; 0x45 80ac5da: b298 uxth r0, r3 80ac5dc: 2301 movs r3, #1 80ac5de: 4a35 ldr r2, [pc, #212] ; (80ac6b4 ) 80ac5e0: 21e2 movs r1, #226 ; 0xe2 80ac5e2: f7a7 f9a9 bl 8053938 80ac5e6: 6afb ldr r3, [r7, #44] ; 0x2c 80ac5e8: 3301 adds r3, #1 80ac5ea: 62fb str r3, [r7, #44] ; 0x2c BSP_LCD_DisplayStringAt( 69 + 18*i, 226, "1k", CENTER_MODE); i++; 80ac5ec: 6afb ldr r3, [r7, #44] ; 0x2c 80ac5ee: b29b uxth r3, r3 80ac5f0: 461a mov r2, r3 80ac5f2: 00d2 lsls r2, r2, #3 80ac5f4: 4413 add r3, r2 80ac5f6: 005b lsls r3, r3, #1 80ac5f8: b29b uxth r3, r3 80ac5fa: 3345 adds r3, #69 ; 0x45 80ac5fc: b298 uxth r0, r3 80ac5fe: 2301 movs r3, #1 80ac600: 4a2d ldr r2, [pc, #180] ; (80ac6b8 ) 80ac602: 21e2 movs r1, #226 ; 0xe2 80ac604: f7a7 f998 bl 8053938 80ac608: 6afb ldr r3, [r7, #44] ; 0x2c 80ac60a: 3301 adds r3, #1 80ac60c: 62fb str r3, [r7, #44] ; 0x2c BSP_LCD_DisplayStringAt( 69 + 18*i, 226, "2k", CENTER_MODE); i++; 80ac60e: 6afb ldr r3, [r7, #44] ; 0x2c 80ac610: b29b uxth r3, r3 80ac612: 461a mov r2, r3 80ac614: 00d2 lsls r2, r2, #3 80ac616: 4413 add r3, r2 80ac618: 005b lsls r3, r3, #1 80ac61a: b29b uxth r3, r3 80ac61c: 3345 adds r3, #69 ; 0x45 80ac61e: b298 uxth r0, r3 80ac620: 2301 movs r3, #1 80ac622: 4a26 ldr r2, [pc, #152] ; (80ac6bc ) 80ac624: 21e2 movs r1, #226 ; 0xe2 80ac626: f7a7 f987 bl 8053938 80ac62a: 6afb ldr r3, [r7, #44] ; 0x2c 80ac62c: 3301 adds r3, #1 80ac62e: 62fb str r3, [r7, #44] ; 0x2c BSP_LCD_DisplayStringAt( 69 + 18*i, 226, "4k", CENTER_MODE); //i++; 80ac630: 6afb ldr r3, [r7, #44] ; 0x2c 80ac632: b29b uxth r3, r3 80ac634: 461a mov r2, r3 80ac636: 00d2 lsls r2, r2, #3 80ac638: 4413 add r3, r2 80ac63a: 005b lsls r3, r3, #1 80ac63c: b29b uxth r3, r3 80ac63e: 3345 adds r3, #69 ; 0x45 80ac640: b298 uxth r0, r3 80ac642: 2301 movs r3, #1 80ac644: 4a1e ldr r2, [pc, #120] ; (80ac6c0 ) 80ac646: 21e2 movs r1, #226 ; 0xe2 80ac648: f7a7 f976 bl 8053938 if(pardata.LANG == RUS) 80ac64c: 4b0f ldr r3, [pc, #60] ; (80ac68c ) 80ac64e: 7b1b ldrb r3, [r3, #12] 80ac650: b2db uxtb r3, r3 80ac652: 2b00 cmp r3, #0 80ac654: d107 bne.n 80ac666 BSP_LCD_DisplayStringAt(306, 226, "$%", LEFT_MODE); 80ac656: 2303 movs r3, #3 80ac658: 4a1b ldr r2, [pc, #108] ; (80ac6c8 ) 80ac65a: 21e2 movs r1, #226 ; 0xe2 80ac65c: f44f 7099 mov.w r0, #306 ; 0x132 80ac660: f7a7 f96a bl 8053938 } 80ac664: e108 b.n 80ac878 else BSP_LCD_DisplayStringAt(306, 226, "Hz", LEFT_MODE); 80ac666: 2303 movs r3, #3 80ac668: 4a18 ldr r2, [pc, #96] ; (80ac6cc ) 80ac66a: 21e2 movs r1, #226 ; 0xe2 80ac66c: f44f 7099 mov.w r0, #306 ; 0x132 80ac670: f7a7 f962 bl 8053938 } 80ac674: e100 b.n 80ac878 if(pardata.SYG == OSC) 80ac676: 4b05 ldr r3, [pc, #20] ; (80ac68c ) 80ac678: 781b ldrb r3, [r3, #0] 80ac67a: b2db uxtb r3, r3 80ac67c: 2b02 cmp r3, #2 80ac67e: f040 80fb bne.w 80ac878 t = 0; 80ac682: 2300 movs r3, #0 80ac684: 62bb str r3, [r7, #40] ; 0x28 for(i = 0; i < 3; i++) 80ac686: 2300 movs r3, #0 80ac688: 62fb str r3, [r7, #44] ; 0x2c 80ac68a: e072 b.n 80ac772 80ac68c: 20023e60 .word 0x20023e60 80ac690: 080ce854 .word 0x080ce854 80ac694: 080ce858 .word 0x080ce858 80ac698: 080ce85c .word 0x080ce85c 80ac69c: 080ce860 .word 0x080ce860 80ac6a0: 080ce864 .word 0x080ce864 80ac6a4: 080d0af0 .word 0x080d0af0 80ac6a8: 080d0af4 .word 0x080d0af4 80ac6ac: 080d0af8 .word 0x080d0af8 80ac6b0: 080d0afc .word 0x080d0afc 80ac6b4: 080cfa68 .word 0x080cfa68 80ac6b8: 080d0b00 .word 0x080d0b00 80ac6bc: 080d0b04 .word 0x080d0b04 80ac6c0: 080d0b08 .word 0x080d0b08 80ac6c4: 080d0b0c .word 0x080d0b0c 80ac6c8: 080d0a8c .word 0x080d0a8c 80ac6cc: 080d0a90 .word 0x080d0a90 fosc[i] = (float32_t) (X0 + (64 + 64 * i) * avgOSC[ViewLevel][pardata.LNE]); 80ac6d0: 4b6b ldr r3, [pc, #428] ; (80ac880 ) 80ac6d2: 881b ldrh r3, [r3, #0] 80ac6d4: b29b uxth r3, r3 80ac6d6: 461c mov r4, r3 80ac6d8: 6afb ldr r3, [r7, #44] ; 0x2c 80ac6da: 1c5a adds r2, r3, #1 80ac6dc: 4b69 ldr r3, [pc, #420] ; (80ac884 ) 80ac6de: 781b ldrb r3, [r3, #0] 80ac6e0: b2db uxtb r3, r3 80ac6e2: 4618 mov r0, r3 80ac6e4: 4b68 ldr r3, [pc, #416] ; (80ac888 ) 80ac6e6: 79db ldrb r3, [r3, #7] 80ac6e8: b2db uxtb r3, r3 80ac6ea: 461d mov r5, r3 80ac6ec: 4967 ldr r1, [pc, #412] ; (80ac88c ) 80ac6ee: 4603 mov r3, r0 80ac6f0: 009b lsls r3, r3, #2 80ac6f2: 4403 add r3, r0 80ac6f4: 440b add r3, r1 80ac6f6: 442b add r3, r5 80ac6f8: 781b ldrb r3, [r3, #0] 80ac6fa: fb03 f302 mul.w r3, r3, r2 80ac6fe: 019b lsls r3, r3, #6 80ac700: 4423 add r3, r4 80ac702: ee07 3a90 vmov s15, r3 80ac706: eef8 7a67 vcvt.f32.u32 s15, s15 80ac70a: 6afb ldr r3, [r7, #44] ; 0x2c 80ac70c: 009b lsls r3, r3, #2 80ac70e: f107 0230 add.w r2, r7, #48 ; 0x30 80ac712: 4413 add r3, r2 80ac714: 3b30 subs r3, #48 ; 0x30 80ac716: edc3 7a00 vstr s15, [r3] fosc[i] *= Delta_OSC[k]; 80ac71a: 6afb ldr r3, [r7, #44] ; 0x2c 80ac71c: 009b lsls r3, r3, #2 80ac71e: f107 0230 add.w r2, r7, #48 ; 0x30 80ac722: 4413 add r3, r2 80ac724: 3b30 subs r3, #48 ; 0x30 80ac726: ed93 7a00 vldr s14, [r3] 80ac72a: 4a59 ldr r2, [pc, #356] ; (80ac890 ) 80ac72c: 6a7b ldr r3, [r7, #36] ; 0x24 80ac72e: 009b lsls r3, r3, #2 80ac730: 4413 add r3, r2 80ac732: edd3 7a00 vldr s15, [r3] 80ac736: ee67 7a27 vmul.f32 s15, s14, s15 80ac73a: 6afb ldr r3, [r7, #44] ; 0x2c 80ac73c: 009b lsls r3, r3, #2 80ac73e: f107 0230 add.w r2, r7, #48 ; 0x30 80ac742: 4413 add r3, r2 80ac744: 3b30 subs r3, #48 ; 0x30 80ac746: edc3 7a00 vstr s15, [r3] if(fosc[i] >= 1000.0f) { 80ac74a: 6afb ldr r3, [r7, #44] ; 0x2c 80ac74c: 009b lsls r3, r3, #2 80ac74e: f107 0230 add.w r2, r7, #48 ; 0x30 80ac752: 4413 add r3, r2 80ac754: 3b30 subs r3, #48 ; 0x30 80ac756: edd3 7a00 vldr s15, [r3] 80ac75a: ed9f 7a4e vldr s14, [pc, #312] ; 80ac894 80ac75e: eef4 7ac7 vcmpe.f32 s15, s14 80ac762: eef1 fa10 vmrs APSR_nzcv, fpscr 80ac766: db01 blt.n 80ac76c t = 1; 80ac768: 2301 movs r3, #1 80ac76a: 62bb str r3, [r7, #40] ; 0x28 for(i = 0; i < 3; i++) 80ac76c: 6afb ldr r3, [r7, #44] ; 0x2c 80ac76e: 3301 adds r3, #1 80ac770: 62fb str r3, [r7, #44] ; 0x2c 80ac772: 6afb ldr r3, [r7, #44] ; 0x2c 80ac774: 2b02 cmp r3, #2 80ac776: d9ab bls.n 80ac6d0 for(i = 0; i < 3; i++) 80ac778: 2300 movs r3, #0 80ac77a: 62fb str r3, [r7, #44] ; 0x2c 80ac77c: e04e b.n 80ac81c if(t == 0) 80ac77e: 6abb ldr r3, [r7, #40] ; 0x28 80ac780: 2b00 cmp r3, #0 80ac782: d11a bne.n 80ac7ba BSP_LCD_DisplayStringAt(120 + (i << 6), 226, (char *)FloatToASCII(fosc[i], -1), LEFT_MODE); 80ac784: 6afb ldr r3, [r7, #44] ; 0x2c 80ac786: b29b uxth r3, r3 80ac788: 019b lsls r3, r3, #6 80ac78a: b29b uxth r3, r3 80ac78c: 3378 adds r3, #120 ; 0x78 80ac78e: b29c uxth r4, r3 80ac790: 6afb ldr r3, [r7, #44] ; 0x2c 80ac792: 009b lsls r3, r3, #2 80ac794: f107 0230 add.w r2, r7, #48 ; 0x30 80ac798: 4413 add r3, r2 80ac79a: 3b30 subs r3, #48 ; 0x30 80ac79c: edd3 7a00 vldr s15, [r3] 80ac7a0: f04f 30ff mov.w r0, #4294967295 80ac7a4: eeb0 0a67 vmov.f32 s0, s15 80ac7a8: f7b9 ffaa bl 8066700 80ac7ac: 4602 mov r2, r0 80ac7ae: 2303 movs r3, #3 80ac7b0: 21e2 movs r1, #226 ; 0xe2 80ac7b2: 4620 mov r0, r4 80ac7b4: f7a7 f8c0 bl 8053938 80ac7b8: e02d b.n 80ac816 fosc[i] *= 0.001f; 80ac7ba: 6afb ldr r3, [r7, #44] ; 0x2c 80ac7bc: 009b lsls r3, r3, #2 80ac7be: f107 0230 add.w r2, r7, #48 ; 0x30 80ac7c2: 4413 add r3, r2 80ac7c4: 3b30 subs r3, #48 ; 0x30 80ac7c6: edd3 7a00 vldr s15, [r3] 80ac7ca: ed9f 7a33 vldr s14, [pc, #204] ; 80ac898 80ac7ce: ee67 7a87 vmul.f32 s15, s15, s14 80ac7d2: 6afb ldr r3, [r7, #44] ; 0x2c 80ac7d4: 009b lsls r3, r3, #2 80ac7d6: f107 0230 add.w r2, r7, #48 ; 0x30 80ac7da: 4413 add r3, r2 80ac7dc: 3b30 subs r3, #48 ; 0x30 80ac7de: edc3 7a00 vstr s15, [r3] BSP_LCD_DisplayStringAt(120 + (i << 6), 226, (char *)FloatToASCII(fosc[i], -3), LEFT_MODE); 80ac7e2: 6afb ldr r3, [r7, #44] ; 0x2c 80ac7e4: b29b uxth r3, r3 80ac7e6: 019b lsls r3, r3, #6 80ac7e8: b29b uxth r3, r3 80ac7ea: 3378 adds r3, #120 ; 0x78 80ac7ec: b29c uxth r4, r3 80ac7ee: 6afb ldr r3, [r7, #44] ; 0x2c 80ac7f0: 009b lsls r3, r3, #2 80ac7f2: f107 0230 add.w r2, r7, #48 ; 0x30 80ac7f6: 4413 add r3, r2 80ac7f8: 3b30 subs r3, #48 ; 0x30 80ac7fa: edd3 7a00 vldr s15, [r3] 80ac7fe: f06f 0002 mvn.w r0, #2 80ac802: eeb0 0a67 vmov.f32 s0, s15 80ac806: f7b9 ff7b bl 8066700 80ac80a: 4602 mov r2, r0 80ac80c: 2303 movs r3, #3 80ac80e: 21e2 movs r1, #226 ; 0xe2 80ac810: 4620 mov r0, r4 80ac812: f7a7 f891 bl 8053938 for(i = 0; i < 3; i++) 80ac816: 6afb ldr r3, [r7, #44] ; 0x2c 80ac818: 3301 adds r3, #1 80ac81a: 62fb str r3, [r7, #44] ; 0x2c 80ac81c: 6afb ldr r3, [r7, #44] ; 0x2c 80ac81e: 2b02 cmp r3, #2 80ac820: d9ad bls.n 80ac77e if(pardata.LANG == RUS) 80ac822: 4b19 ldr r3, [pc, #100] ; (80ac888 ) 80ac824: 7b1b ldrb r3, [r3, #12] 80ac826: b2db uxtb r3, r3 80ac828: 2b00 cmp r3, #0 80ac82a: d112 bne.n 80ac852 if(t == 0) 80ac82c: 6abb ldr r3, [r7, #40] ; 0x28 80ac82e: 2b00 cmp r3, #0 80ac830: d107 bne.n 80ac842 BSP_LCD_DisplayStringAt(300, 226, "MC", LEFT_MODE); 80ac832: 2303 movs r3, #3 80ac834: 4a19 ldr r2, [pc, #100] ; (80ac89c ) 80ac836: 21e2 movs r1, #226 ; 0xe2 80ac838: f44f 7096 mov.w r0, #300 ; 0x12c 80ac83c: f7a7 f87c bl 8053938 } 80ac840: e01a b.n 80ac878 else BSP_LCD_DisplayStringAt(300, 226, "C", LEFT_MODE); 80ac842: 2303 movs r3, #3 80ac844: 4a16 ldr r2, [pc, #88] ; (80ac8a0 ) 80ac846: 21e2 movs r1, #226 ; 0xe2 80ac848: f44f 7096 mov.w r0, #300 ; 0x12c 80ac84c: f7a7 f874 bl 8053938 } 80ac850: e012 b.n 80ac878 if(t == 0) 80ac852: 6abb ldr r3, [r7, #40] ; 0x28 80ac854: 2b00 cmp r3, #0 80ac856: d107 bne.n 80ac868 BSP_LCD_DisplayStringAt(300, 226, "ms", LEFT_MODE); 80ac858: 2303 movs r3, #3 80ac85a: 4a12 ldr r2, [pc, #72] ; (80ac8a4 ) 80ac85c: 21e2 movs r1, #226 ; 0xe2 80ac85e: f44f 7096 mov.w r0, #300 ; 0x12c 80ac862: f7a7 f869 bl 8053938 } 80ac866: e007 b.n 80ac878 else BSP_LCD_DisplayStringAt(300, 226, "s", LEFT_MODE); 80ac868: 2303 movs r3, #3 80ac86a: 4a0f ldr r2, [pc, #60] ; (80ac8a8 ) 80ac86c: 21e2 movs r1, #226 ; 0xe2 80ac86e: f44f 7096 mov.w r0, #300 ; 0x12c 80ac872: f7a7 f861 bl 8053938 } 80ac876: e7ff b.n 80ac878 80ac878: bf00 nop 80ac87a: 3730 adds r7, #48 ; 0x30 80ac87c: 46bd mov sp, r7 80ac87e: bdb0 pop {r4, r5, r7, pc} 80ac880: 20025d1e .word 0x20025d1e 80ac884: 20020f74 .word 0x20020f74 80ac888: 20023e60 .word 0x20023e60 80ac88c: 080ef5f0 .word 0x080ef5f0 80ac890: 080ef640 .word 0x080ef640 80ac894: 447a0000 .word 0x447a0000 80ac898: 3a83126f .word 0x3a83126f 80ac89c: 080d0aec .word 0x080d0aec 80ac8a0: 080d0ae8 .word 0x080d0ae8 80ac8a4: 080d0a84 .word 0x080d0a84 80ac8a8: 080d0a74 .word 0x080d0a74 080ac8ac : } } } void DrawButtons(uint8_t menupos) // TODO { 80ac8ac: b580 push {r7, lr} 80ac8ae: b082 sub sp, #8 80ac8b0: af00 add r7, sp, #0 80ac8b2: 4603 mov r3, r0 80ac8b4: 71fb strb r3, [r7, #7] BSP_LCD_SetFont(&Font12); 80ac8b6: 48ab ldr r0, [pc, #684] ; (80acb64 ) 80ac8b8: f7a6 ffb4 bl 8053824 switch(menupos) 80ac8bc: 79fb ldrb r3, [r7, #7] 80ac8be: 2b09 cmp r3, #9 80ac8c0: f200 8516 bhi.w 80ad2f0 80ac8c4: a201 add r2, pc, #4 ; (adr r2, 80ac8cc ) 80ac8c6: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80ac8ca: bf00 nop 80ac8cc: 080ace7d .word 0x080ace7d 80ac8d0: 080ad2f1 .word 0x080ad2f1 80ac8d4: 080ac8f5 .word 0x080ac8f5 80ac8d8: 080aca2d .word 0x080aca2d 80ac8dc: 080acbbd .word 0x080acbbd 80ac8e0: 080accf3 .word 0x080accf3 80ac8e4: 080acfd7 .word 0x080acfd7 80ac8e8: 080ad2f1 .word 0x080ad2f1 80ac8ec: 080ad165 .word 0x080ad165 80ac8f0: 080ad213 .word 0x080ad213 { case ImageLeft: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80ac8f4: 499c ldr r1, [pc, #624] ; (80acb68 ) 80ac8f6: f04f 30ff mov.w r0, #4294967295 80ac8fa: f7a6 ff57 bl 80537ac if(((menu == MAIN_SPEC) || (menu == MAIN_SPEC_OGIB) || (menu == MAIN_SPEC_OKT) || (menu == MAIN_SPEC_THIRD)) && (READY_TO_SEE)) 80ac8fe: 4b9b ldr r3, [pc, #620] ; (80acb6c ) 80ac900: 781b ldrb r3, [r3, #0] 80ac902: b2db uxtb r3, r3 80ac904: 2b1c cmp r3, #28 80ac906: d00e beq.n 80ac926 80ac908: 4b98 ldr r3, [pc, #608] ; (80acb6c ) 80ac90a: 781b ldrb r3, [r3, #0] 80ac90c: b2db uxtb r3, r3 80ac90e: 2b21 cmp r3, #33 ; 0x21 80ac910: d009 beq.n 80ac926 80ac912: 4b96 ldr r3, [pc, #600] ; (80acb6c ) 80ac914: 781b ldrb r3, [r3, #0] 80ac916: b2db uxtb r3, r3 80ac918: 2b22 cmp r3, #34 ; 0x22 80ac91a: d004 beq.n 80ac926 80ac91c: 4b93 ldr r3, [pc, #588] ; (80acb6c ) 80ac91e: 781b ldrb r3, [r3, #0] 80ac920: b2db uxtb r3, r3 80ac922: 2b23 cmp r3, #35 ; 0x23 80ac924: d109 bne.n 80ac93a 80ac926: 4b92 ldr r3, [pc, #584] ; (80acb70 ) 80ac928: 781b ldrb r3, [r3, #0] 80ac92a: b2db uxtb r3, r3 80ac92c: 2b00 cmp r3, #0 80ac92e: d004 beq.n 80ac93a DrawImage(&bmOSC_SAVE, 3, 108-26); 80ac930: 2252 movs r2, #82 ; 0x52 80ac932: 2103 movs r1, #3 80ac934: 488f ldr r0, [pc, #572] ; (80acb74 ) 80ac936: f7a7 fe2d bl 8054594 if(((menu == MAIN_ROLL) || (menu == ROLL_RESULTS)) && (SeeResults)) 80ac93a: 4b8c ldr r3, [pc, #560] ; (80acb6c ) 80ac93c: 781b ldrb r3, [r3, #0] 80ac93e: b2db uxtb r3, r3 80ac940: 2b24 cmp r3, #36 ; 0x24 80ac942: d004 beq.n 80ac94e 80ac944: 4b89 ldr r3, [pc, #548] ; (80acb6c ) 80ac946: 781b ldrb r3, [r3, #0] 80ac948: b2db uxtb r3, r3 80ac94a: 2b27 cmp r3, #39 ; 0x27 80ac94c: d109 bne.n 80ac962 80ac94e: 4b8a ldr r3, [pc, #552] ; (80acb78 ) 80ac950: 781b ldrb r3, [r3, #0] 80ac952: b2db uxtb r3, r3 80ac954: 2b00 cmp r3, #0 80ac956: d004 beq.n 80ac962 DrawImage(&bmRESULT_1, 3, 108-26); 80ac958: 2252 movs r2, #82 ; 0x52 80ac95a: 2103 movs r1, #3 80ac95c: 4887 ldr r0, [pc, #540] ; (80acb7c ) 80ac95e: f7a7 fe19 bl 8054594 DrawImage(&bmLEFT_1_LIGHT, 3, 108); 80ac962: 226c movs r2, #108 ; 0x6c 80ac964: 2103 movs r1, #3 80ac966: 4886 ldr r0, [pc, #536] ; (80acb80 ) 80ac968: f7a7 fe14 bl 8054594 DrawImage(&bmRIGHT_1, 3, 108+26); 80ac96c: 2286 movs r2, #134 ; 0x86 80ac96e: 2103 movs r1, #3 80ac970: 4884 ldr r0, [pc, #528] ; (80acb84 ) 80ac972: f7a7 fe0f bl 8054594 DrawImage(&bmPLUS_1, 3, 108+52); 80ac976: 22a0 movs r2, #160 ; 0xa0 80ac978: 2103 movs r1, #3 80ac97a: 4883 ldr r0, [pc, #524] ; (80acb88 ) 80ac97c: f7a7 fe0a bl 8054594 DrawImage(&bmMINUS_1, 3, 108+78); 80ac980: 22ba movs r2, #186 ; 0xba 80ac982: 2103 movs r1, #3 80ac984: 4881 ldr r0, [pc, #516] ; (80acb8c ) 80ac986: f7a7 fe05 bl 8054594 if(menu < VIEW_PORTRET) 80ac98a: 4b78 ldr r3, [pc, #480] ; (80acb6c ) 80ac98c: 781b ldrb r3, [r3, #0] 80ac98e: b2db uxtb r3, r3 80ac990: 2b27 cmp r3, #39 ; 0x27 80ac992: d822 bhi.n 80ac9da { DrawImage(&bmPLAY_1, 3, 108+104); 80ac994: 22d4 movs r2, #212 ; 0xd4 80ac996: 2103 movs r1, #3 80ac998: 487d ldr r0, [pc, #500] ; (80acb90 ) 80ac99a: f7a7 fdfb bl 8054594 if(measuring) 80ac99e: 4b7d ldr r3, [pc, #500] ; (80acb94 ) 80ac9a0: 781b ldrb r3, [r3, #0] 80ac9a2: b2db uxtb r3, r3 80ac9a4: 2b00 cmp r3, #0 80ac9a6: d00c beq.n 80ac9c2 BSP_LCD_DisplayStringAt(30, 219, (char *) pSTART_STOP[pardata.LANG][1], CENTER_MODE); 80ac9a8: 4b7b ldr r3, [pc, #492] ; (80acb98 ) 80ac9aa: 7b1b ldrb r3, [r3, #12] 80ac9ac: b2db uxtb r3, r3 80ac9ae: 4a7b ldr r2, [pc, #492] ; (80acb9c ) 80ac9b0: 00db lsls r3, r3, #3 80ac9b2: 4413 add r3, r2 80ac9b4: 685a ldr r2, [r3, #4] 80ac9b6: 2301 movs r3, #1 80ac9b8: 21db movs r1, #219 ; 0xdb 80ac9ba: 201e movs r0, #30 80ac9bc: f7a6 ffbc bl 8053938 80ac9c0: e00b b.n 80ac9da else BSP_LCD_DisplayStringAt(30, 219, (char *) pSTART_STOP[pardata.LANG][0], CENTER_MODE); 80ac9c2: 4b75 ldr r3, [pc, #468] ; (80acb98 ) 80ac9c4: 7b1b ldrb r3, [r3, #12] 80ac9c6: b2db uxtb r3, r3 80ac9c8: 461a mov r2, r3 80ac9ca: 4b74 ldr r3, [pc, #464] ; (80acb9c ) 80ac9cc: f853 2032 ldr.w r2, [r3, r2, lsl #3] 80ac9d0: 2301 movs r3, #1 80ac9d2: 21db movs r1, #219 ; 0xdb 80ac9d4: 201e movs r0, #30 80ac9d6: f7a6 ffaf bl 8053938 } if((menu == MAIN_OSC) && (!FIRST) && (Stability > (Nr * 4))) 80ac9da: 4b64 ldr r3, [pc, #400] ; (80acb6c ) 80ac9dc: 781b ldrb r3, [r3, #0] 80ac9de: b2db uxtb r3, r3 80ac9e0: 2b1d cmp r3, #29 80ac9e2: f040 8476 bne.w 80ad2d2 80ac9e6: 4b6e ldr r3, [pc, #440] ; (80acba0 ) 80ac9e8: 781b ldrb r3, [r3, #0] 80ac9ea: b2db uxtb r3, r3 80ac9ec: f083 0301 eor.w r3, r3, #1 80ac9f0: b2db uxtb r3, r3 80ac9f2: 2b00 cmp r3, #0 80ac9f4: f000 846d beq.w 80ad2d2 80ac9f8: 4b6a ldr r3, [pc, #424] ; (80acba4 ) 80ac9fa: 881b ldrh r3, [r3, #0] 80ac9fc: b29b uxth r3, r3 80ac9fe: 009b lsls r3, r3, #2 80aca00: 461a mov r2, r3 80aca02: 4b69 ldr r3, [pc, #420] ; (80acba8 ) 80aca04: 681b ldr r3, [r3, #0] 80aca06: 429a cmp r2, r3 80aca08: f080 8463 bcs.w 80ad2d2 { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80aca0c: 4956 ldr r1, [pc, #344] ; (80acb68 ) 80aca0e: 4867 ldr r0, [pc, #412] ; (80acbac ) 80aca10: f7a6 fecc bl 80537ac BSP_LCD_DrawVLine(62 + CURSOR, 44, 191); 80aca14: 4b66 ldr r3, [pc, #408] ; (80acbb0 ) 80aca16: 681b ldr r3, [r3, #0] 80aca18: b29b uxth r3, r3 80aca1a: 333e adds r3, #62 ; 0x3e 80aca1c: b29b uxth r3, r3 80aca1e: 22bf movs r2, #191 ; 0xbf 80aca20: 212c movs r1, #44 ; 0x2c 80aca22: 4618 mov r0, r3 80aca24: f7a7 f89a bl 8053b5c } break; 80aca28: f000 bc53 b.w 80ad2d2 case ZoomIn: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80aca2c: 494e ldr r1, [pc, #312] ; (80acb68 ) 80aca2e: f04f 30ff mov.w r0, #4294967295 80aca32: f7a6 febb bl 80537ac if(((menu == MAIN_SPEC) || (menu == MAIN_SPEC_OGIB) || (menu == MAIN_SPEC_OKT) || (menu == MAIN_SPEC_THIRD)) && (READY_TO_SEE)) 80aca36: 4b4d ldr r3, [pc, #308] ; (80acb6c ) 80aca38: 781b ldrb r3, [r3, #0] 80aca3a: b2db uxtb r3, r3 80aca3c: 2b1c cmp r3, #28 80aca3e: d00e beq.n 80aca5e 80aca40: 4b4a ldr r3, [pc, #296] ; (80acb6c ) 80aca42: 781b ldrb r3, [r3, #0] 80aca44: b2db uxtb r3, r3 80aca46: 2b21 cmp r3, #33 ; 0x21 80aca48: d009 beq.n 80aca5e 80aca4a: 4b48 ldr r3, [pc, #288] ; (80acb6c ) 80aca4c: 781b ldrb r3, [r3, #0] 80aca4e: b2db uxtb r3, r3 80aca50: 2b22 cmp r3, #34 ; 0x22 80aca52: d004 beq.n 80aca5e 80aca54: 4b45 ldr r3, [pc, #276] ; (80acb6c ) 80aca56: 781b ldrb r3, [r3, #0] 80aca58: b2db uxtb r3, r3 80aca5a: 2b23 cmp r3, #35 ; 0x23 80aca5c: d109 bne.n 80aca72 80aca5e: 4b44 ldr r3, [pc, #272] ; (80acb70 ) 80aca60: 781b ldrb r3, [r3, #0] 80aca62: b2db uxtb r3, r3 80aca64: 2b00 cmp r3, #0 80aca66: d004 beq.n 80aca72 DrawImage(&bmOSC_SAVE, 3, 108-26); 80aca68: 2252 movs r2, #82 ; 0x52 80aca6a: 2103 movs r1, #3 80aca6c: 4841 ldr r0, [pc, #260] ; (80acb74 ) 80aca6e: f7a7 fd91 bl 8054594 if(((menu == MAIN_ROLL) || (menu == ROLL_RESULTS)) && (SeeResults)) 80aca72: 4b3e ldr r3, [pc, #248] ; (80acb6c ) 80aca74: 781b ldrb r3, [r3, #0] 80aca76: b2db uxtb r3, r3 80aca78: 2b24 cmp r3, #36 ; 0x24 80aca7a: d004 beq.n 80aca86 80aca7c: 4b3b ldr r3, [pc, #236] ; (80acb6c ) 80aca7e: 781b ldrb r3, [r3, #0] 80aca80: b2db uxtb r3, r3 80aca82: 2b27 cmp r3, #39 ; 0x27 80aca84: d109 bne.n 80aca9a 80aca86: 4b3c ldr r3, [pc, #240] ; (80acb78 ) 80aca88: 781b ldrb r3, [r3, #0] 80aca8a: b2db uxtb r3, r3 80aca8c: 2b00 cmp r3, #0 80aca8e: d004 beq.n 80aca9a DrawImage(&bmRESULT_1, 3, 108-26); 80aca90: 2252 movs r2, #82 ; 0x52 80aca92: 2103 movs r1, #3 80aca94: 4839 ldr r0, [pc, #228] ; (80acb7c ) 80aca96: f7a7 fd7d bl 8054594 DrawImage(&bmLEFT_1, 3, 108); 80aca9a: 226c movs r2, #108 ; 0x6c 80aca9c: 2103 movs r1, #3 80aca9e: 4845 ldr r0, [pc, #276] ; (80acbb4 ) 80acaa0: f7a7 fd78 bl 8054594 DrawImage(&bmRIGHT_1, 3, 108+26); 80acaa4: 2286 movs r2, #134 ; 0x86 80acaa6: 2103 movs r1, #3 80acaa8: 4836 ldr r0, [pc, #216] ; (80acb84 ) 80acaaa: f7a7 fd73 bl 8054594 DrawImage(&bmPLUS_1_LIGHT, 3, 108+52); 80acaae: 22a0 movs r2, #160 ; 0xa0 80acab0: 2103 movs r1, #3 80acab2: 4841 ldr r0, [pc, #260] ; (80acbb8 ) 80acab4: f7a7 fd6e bl 8054594 DrawImage(&bmMINUS_1, 3, 108+78); 80acab8: 22ba movs r2, #186 ; 0xba 80acaba: 2103 movs r1, #3 80acabc: 4833 ldr r0, [pc, #204] ; (80acb8c ) 80acabe: f7a7 fd69 bl 8054594 if(menu < VIEW_PORTRET) 80acac2: 4b2a ldr r3, [pc, #168] ; (80acb6c ) 80acac4: 781b ldrb r3, [r3, #0] 80acac6: b2db uxtb r3, r3 80acac8: 2b27 cmp r3, #39 ; 0x27 80acaca: d822 bhi.n 80acb12 { DrawImage(&bmPLAY_1, 3, 108+104); 80acacc: 22d4 movs r2, #212 ; 0xd4 80acace: 2103 movs r1, #3 80acad0: 482f ldr r0, [pc, #188] ; (80acb90 ) 80acad2: f7a7 fd5f bl 8054594 if(measuring) 80acad6: 4b2f ldr r3, [pc, #188] ; (80acb94 ) 80acad8: 781b ldrb r3, [r3, #0] 80acada: b2db uxtb r3, r3 80acadc: 2b00 cmp r3, #0 80acade: d00c beq.n 80acafa BSP_LCD_DisplayStringAt(30, 219, (char *) pSTART_STOP[pardata.LANG][1], CENTER_MODE); 80acae0: 4b2d ldr r3, [pc, #180] ; (80acb98 ) 80acae2: 7b1b ldrb r3, [r3, #12] 80acae4: b2db uxtb r3, r3 80acae6: 4a2d ldr r2, [pc, #180] ; (80acb9c ) 80acae8: 00db lsls r3, r3, #3 80acaea: 4413 add r3, r2 80acaec: 685a ldr r2, [r3, #4] 80acaee: 2301 movs r3, #1 80acaf0: 21db movs r1, #219 ; 0xdb 80acaf2: 201e movs r0, #30 80acaf4: f7a6 ff20 bl 8053938 80acaf8: e00b b.n 80acb12 else BSP_LCD_DisplayStringAt(30, 219, (char *) pSTART_STOP[pardata.LANG][0], CENTER_MODE); 80acafa: 4b27 ldr r3, [pc, #156] ; (80acb98 ) 80acafc: 7b1b ldrb r3, [r3, #12] 80acafe: b2db uxtb r3, r3 80acb00: 461a mov r2, r3 80acb02: 4b26 ldr r3, [pc, #152] ; (80acb9c ) 80acb04: f853 2032 ldr.w r2, [r3, r2, lsl #3] 80acb08: 2301 movs r3, #1 80acb0a: 21db movs r1, #219 ; 0xdb 80acb0c: 201e movs r0, #30 80acb0e: f7a6 ff13 bl 8053938 } if((menu == MAIN_OSC) && (!FIRST) && (Stability > (Nr * 4))) 80acb12: 4b16 ldr r3, [pc, #88] ; (80acb6c ) 80acb14: 781b ldrb r3, [r3, #0] 80acb16: b2db uxtb r3, r3 80acb18: 2b1d cmp r3, #29 80acb1a: f040 83dc bne.w 80ad2d6 80acb1e: 4b20 ldr r3, [pc, #128] ; (80acba0 ) 80acb20: 781b ldrb r3, [r3, #0] 80acb22: b2db uxtb r3, r3 80acb24: f083 0301 eor.w r3, r3, #1 80acb28: b2db uxtb r3, r3 80acb2a: 2b00 cmp r3, #0 80acb2c: f000 83d3 beq.w 80ad2d6 80acb30: 4b1c ldr r3, [pc, #112] ; (80acba4 ) 80acb32: 881b ldrh r3, [r3, #0] 80acb34: b29b uxth r3, r3 80acb36: 009b lsls r3, r3, #2 80acb38: 461a mov r2, r3 80acb3a: 4b1b ldr r3, [pc, #108] ; (80acba8 ) 80acb3c: 681b ldr r3, [r3, #0] 80acb3e: 429a cmp r2, r3 80acb40: f080 83c9 bcs.w 80ad2d6 { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80acb44: 4908 ldr r1, [pc, #32] ; (80acb68 ) 80acb46: 4819 ldr r0, [pc, #100] ; (80acbac ) 80acb48: f7a6 fe30 bl 80537ac BSP_LCD_DrawVLine(62 + CURSOR, 44, 191); 80acb4c: 4b18 ldr r3, [pc, #96] ; (80acbb0 ) 80acb4e: 681b ldr r3, [r3, #0] 80acb50: b29b uxth r3, r3 80acb52: 333e adds r3, #62 ; 0x3e 80acb54: b29b uxth r3, r3 80acb56: 22bf movs r2, #191 ; 0xbf 80acb58: 212c movs r1, #44 ; 0x2c 80acb5a: 4618 mov r0, r3 80acb5c: f7a6 fffe bl 8053b5c } break; 80acb60: e3b9 b.n 80ad2d6 80acb62: bf00 nop 80acb64: 20020038 .word 0x20020038 80acb68: ff0a0f1f .word 0xff0a0f1f 80acb6c: 20020f78 .word 0x20020f78 80acb70: 20020d8e .word 0x20020d8e 80acb74: 0813d2c0 .word 0x0813d2c0 80acb78: 20020d68 .word 0x20020d68 80acb7c: 08145574 .word 0x08145574 80acb80: 08114d3c .word 0x08114d3c 80acb84: 08146be4 .word 0x08146be4 80acb88: 081432ac .word 0x081432ac 80acb8c: 0813b624 .word 0x0813b624 80acb90: 08141c3c .word 0x08141c3c 80acb94: 20020daf .word 0x20020daf 80acb98: 20023e60 .word 0x20023e60 80acb9c: 200201cc .word 0x200201cc 80acba0: 20020db2 .word 0x20020db2 80acba4: 20021d20 .word 0x20021d20 80acba8: 20020da8 .word 0x20020da8 80acbac: ff808080 .word 0xff808080 80acbb0: 2002006c .word 0x2002006c 80acbb4: 08114204 .word 0x08114204 80acbb8: 08143de4 .word 0x08143de4 case ZoomOut: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80acbbc: 499a ldr r1, [pc, #616] ; (80ace28 ) 80acbbe: f04f 30ff mov.w r0, #4294967295 80acbc2: f7a6 fdf3 bl 80537ac if(((menu == MAIN_SPEC) || (menu == MAIN_SPEC_OGIB) || (menu == MAIN_SPEC_OKT) || (menu == MAIN_SPEC_THIRD)) && (READY_TO_SEE)) 80acbc6: 4b99 ldr r3, [pc, #612] ; (80ace2c ) 80acbc8: 781b ldrb r3, [r3, #0] 80acbca: b2db uxtb r3, r3 80acbcc: 2b1c cmp r3, #28 80acbce: d00e beq.n 80acbee 80acbd0: 4b96 ldr r3, [pc, #600] ; (80ace2c ) 80acbd2: 781b ldrb r3, [r3, #0] 80acbd4: b2db uxtb r3, r3 80acbd6: 2b21 cmp r3, #33 ; 0x21 80acbd8: d009 beq.n 80acbee 80acbda: 4b94 ldr r3, [pc, #592] ; (80ace2c ) 80acbdc: 781b ldrb r3, [r3, #0] 80acbde: b2db uxtb r3, r3 80acbe0: 2b22 cmp r3, #34 ; 0x22 80acbe2: d004 beq.n 80acbee 80acbe4: 4b91 ldr r3, [pc, #580] ; (80ace2c ) 80acbe6: 781b ldrb r3, [r3, #0] 80acbe8: b2db uxtb r3, r3 80acbea: 2b23 cmp r3, #35 ; 0x23 80acbec: d109 bne.n 80acc02 80acbee: 4b90 ldr r3, [pc, #576] ; (80ace30 ) 80acbf0: 781b ldrb r3, [r3, #0] 80acbf2: b2db uxtb r3, r3 80acbf4: 2b00 cmp r3, #0 80acbf6: d004 beq.n 80acc02 DrawImage(&bmOSC_SAVE, 3, 108-26); 80acbf8: 2252 movs r2, #82 ; 0x52 80acbfa: 2103 movs r1, #3 80acbfc: 488d ldr r0, [pc, #564] ; (80ace34 ) 80acbfe: f7a7 fcc9 bl 8054594 if(((menu == MAIN_ROLL) || (menu == ROLL_RESULTS)) && (SeeResults)) 80acc02: 4b8a ldr r3, [pc, #552] ; (80ace2c ) 80acc04: 781b ldrb r3, [r3, #0] 80acc06: b2db uxtb r3, r3 80acc08: 2b24 cmp r3, #36 ; 0x24 80acc0a: d004 beq.n 80acc16 80acc0c: 4b87 ldr r3, [pc, #540] ; (80ace2c ) 80acc0e: 781b ldrb r3, [r3, #0] 80acc10: b2db uxtb r3, r3 80acc12: 2b27 cmp r3, #39 ; 0x27 80acc14: d109 bne.n 80acc2a 80acc16: 4b88 ldr r3, [pc, #544] ; (80ace38 ) 80acc18: 781b ldrb r3, [r3, #0] 80acc1a: b2db uxtb r3, r3 80acc1c: 2b00 cmp r3, #0 80acc1e: d004 beq.n 80acc2a DrawImage(&bmRESULT_1, 3, 108-26); 80acc20: 2252 movs r2, #82 ; 0x52 80acc22: 2103 movs r1, #3 80acc24: 4885 ldr r0, [pc, #532] ; (80ace3c ) 80acc26: f7a7 fcb5 bl 8054594 DrawImage(&bmLEFT_1, 3, 108); 80acc2a: 226c movs r2, #108 ; 0x6c 80acc2c: 2103 movs r1, #3 80acc2e: 4884 ldr r0, [pc, #528] ; (80ace40 ) 80acc30: f7a7 fcb0 bl 8054594 DrawImage(&bmRIGHT_1, 3, 108+26); 80acc34: 2286 movs r2, #134 ; 0x86 80acc36: 2103 movs r1, #3 80acc38: 4882 ldr r0, [pc, #520] ; (80ace44 ) 80acc3a: f7a7 fcab bl 8054594 DrawImage(&bmPLUS_1, 3, 108+52); 80acc3e: 22a0 movs r2, #160 ; 0xa0 80acc40: 2103 movs r1, #3 80acc42: 4881 ldr r0, [pc, #516] ; (80ace48 ) 80acc44: f7a7 fca6 bl 8054594 DrawImage(&bmMINUS_1_LIGHT, 3, 108+78); 80acc48: 22ba movs r2, #186 ; 0xba 80acc4a: 2103 movs r1, #3 80acc4c: 487f ldr r0, [pc, #508] ; (80ace4c ) 80acc4e: f7a7 fca1 bl 8054594 if(menu < VIEW_PORTRET) 80acc52: 4b76 ldr r3, [pc, #472] ; (80ace2c ) 80acc54: 781b ldrb r3, [r3, #0] 80acc56: b2db uxtb r3, r3 80acc58: 2b27 cmp r3, #39 ; 0x27 80acc5a: d822 bhi.n 80acca2 { DrawImage(&bmPLAY_1, 3, 108+104); 80acc5c: 22d4 movs r2, #212 ; 0xd4 80acc5e: 2103 movs r1, #3 80acc60: 487b ldr r0, [pc, #492] ; (80ace50 ) 80acc62: f7a7 fc97 bl 8054594 if(measuring) 80acc66: 4b7b ldr r3, [pc, #492] ; (80ace54 ) 80acc68: 781b ldrb r3, [r3, #0] 80acc6a: b2db uxtb r3, r3 80acc6c: 2b00 cmp r3, #0 80acc6e: d00c beq.n 80acc8a BSP_LCD_DisplayStringAt(30, 219, (char *) pSTART_STOP[pardata.LANG][1], CENTER_MODE); 80acc70: 4b79 ldr r3, [pc, #484] ; (80ace58 ) 80acc72: 7b1b ldrb r3, [r3, #12] 80acc74: b2db uxtb r3, r3 80acc76: 4a79 ldr r2, [pc, #484] ; (80ace5c ) 80acc78: 00db lsls r3, r3, #3 80acc7a: 4413 add r3, r2 80acc7c: 685a ldr r2, [r3, #4] 80acc7e: 2301 movs r3, #1 80acc80: 21db movs r1, #219 ; 0xdb 80acc82: 201e movs r0, #30 80acc84: f7a6 fe58 bl 8053938 80acc88: e00b b.n 80acca2 else BSP_LCD_DisplayStringAt(30, 219, (char *) pSTART_STOP[pardata.LANG][0], CENTER_MODE); 80acc8a: 4b73 ldr r3, [pc, #460] ; (80ace58 ) 80acc8c: 7b1b ldrb r3, [r3, #12] 80acc8e: b2db uxtb r3, r3 80acc90: 461a mov r2, r3 80acc92: 4b72 ldr r3, [pc, #456] ; (80ace5c ) 80acc94: f853 2032 ldr.w r2, [r3, r2, lsl #3] 80acc98: 2301 movs r3, #1 80acc9a: 21db movs r1, #219 ; 0xdb 80acc9c: 201e movs r0, #30 80acc9e: f7a6 fe4b bl 8053938 } if((menu == MAIN_OSC) && (!FIRST) && (Stability > (Nr * 4))) 80acca2: 4b62 ldr r3, [pc, #392] ; (80ace2c ) 80acca4: 781b ldrb r3, [r3, #0] 80acca6: b2db uxtb r3, r3 80acca8: 2b1d cmp r3, #29 80accaa: f040 8316 bne.w 80ad2da 80accae: 4b6c ldr r3, [pc, #432] ; (80ace60 ) 80accb0: 781b ldrb r3, [r3, #0] 80accb2: b2db uxtb r3, r3 80accb4: f083 0301 eor.w r3, r3, #1 80accb8: b2db uxtb r3, r3 80accba: 2b00 cmp r3, #0 80accbc: f000 830d beq.w 80ad2da 80accc0: 4b68 ldr r3, [pc, #416] ; (80ace64 ) 80accc2: 881b ldrh r3, [r3, #0] 80accc4: b29b uxth r3, r3 80accc6: 009b lsls r3, r3, #2 80accc8: 461a mov r2, r3 80accca: 4b67 ldr r3, [pc, #412] ; (80ace68 ) 80acccc: 681b ldr r3, [r3, #0] 80accce: 429a cmp r2, r3 80accd0: f080 8303 bcs.w 80ad2da { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80accd4: 4954 ldr r1, [pc, #336] ; (80ace28 ) 80accd6: 4865 ldr r0, [pc, #404] ; (80ace6c ) 80accd8: f7a6 fd68 bl 80537ac BSP_LCD_DrawVLine(62 + CURSOR, 44, 191); 80accdc: 4b64 ldr r3, [pc, #400] ; (80ace70 ) 80accde: 681b ldr r3, [r3, #0] 80acce0: b29b uxth r3, r3 80acce2: 333e adds r3, #62 ; 0x3e 80acce4: b29b uxth r3, r3 80acce6: 22bf movs r2, #191 ; 0xbf 80acce8: 212c movs r1, #44 ; 0x2c 80accea: 4618 mov r0, r3 80accec: f7a6 ff36 bl 8053b5c } break; 80accf0: e2f3 b.n 80ad2da case ImageRight: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80accf2: 494d ldr r1, [pc, #308] ; (80ace28 ) 80accf4: f04f 30ff mov.w r0, #4294967295 80accf8: f7a6 fd58 bl 80537ac if(((menu == MAIN_SPEC) || (menu == MAIN_SPEC_OGIB) || (menu == MAIN_SPEC_OKT) || (menu == MAIN_SPEC_THIRD)) && (READY_TO_SEE)) 80accfc: 4b4b ldr r3, [pc, #300] ; (80ace2c ) 80accfe: 781b ldrb r3, [r3, #0] 80acd00: b2db uxtb r3, r3 80acd02: 2b1c cmp r3, #28 80acd04: d00e beq.n 80acd24 80acd06: 4b49 ldr r3, [pc, #292] ; (80ace2c ) 80acd08: 781b ldrb r3, [r3, #0] 80acd0a: b2db uxtb r3, r3 80acd0c: 2b21 cmp r3, #33 ; 0x21 80acd0e: d009 beq.n 80acd24 80acd10: 4b46 ldr r3, [pc, #280] ; (80ace2c ) 80acd12: 781b ldrb r3, [r3, #0] 80acd14: b2db uxtb r3, r3 80acd16: 2b22 cmp r3, #34 ; 0x22 80acd18: d004 beq.n 80acd24 80acd1a: 4b44 ldr r3, [pc, #272] ; (80ace2c ) 80acd1c: 781b ldrb r3, [r3, #0] 80acd1e: b2db uxtb r3, r3 80acd20: 2b23 cmp r3, #35 ; 0x23 80acd22: d109 bne.n 80acd38 80acd24: 4b42 ldr r3, [pc, #264] ; (80ace30 ) 80acd26: 781b ldrb r3, [r3, #0] 80acd28: b2db uxtb r3, r3 80acd2a: 2b00 cmp r3, #0 80acd2c: d004 beq.n 80acd38 DrawImage(&bmOSC_SAVE, 3, 108-26); 80acd2e: 2252 movs r2, #82 ; 0x52 80acd30: 2103 movs r1, #3 80acd32: 4840 ldr r0, [pc, #256] ; (80ace34 ) 80acd34: f7a7 fc2e bl 8054594 if(((menu == MAIN_ROLL) || (menu == ROLL_RESULTS)) && (SeeResults)) 80acd38: 4b3c ldr r3, [pc, #240] ; (80ace2c ) 80acd3a: 781b ldrb r3, [r3, #0] 80acd3c: b2db uxtb r3, r3 80acd3e: 2b24 cmp r3, #36 ; 0x24 80acd40: d004 beq.n 80acd4c 80acd42: 4b3a ldr r3, [pc, #232] ; (80ace2c ) 80acd44: 781b ldrb r3, [r3, #0] 80acd46: b2db uxtb r3, r3 80acd48: 2b27 cmp r3, #39 ; 0x27 80acd4a: d109 bne.n 80acd60 80acd4c: 4b3a ldr r3, [pc, #232] ; (80ace38 ) 80acd4e: 781b ldrb r3, [r3, #0] 80acd50: b2db uxtb r3, r3 80acd52: 2b00 cmp r3, #0 80acd54: d004 beq.n 80acd60 DrawImage(&bmRESULT_1, 3, 108-26); 80acd56: 2252 movs r2, #82 ; 0x52 80acd58: 2103 movs r1, #3 80acd5a: 4838 ldr r0, [pc, #224] ; (80ace3c ) 80acd5c: f7a7 fc1a bl 8054594 DrawImage(&bmLEFT_1, 3, 108); 80acd60: 226c movs r2, #108 ; 0x6c 80acd62: 2103 movs r1, #3 80acd64: 4836 ldr r0, [pc, #216] ; (80ace40 ) 80acd66: f7a7 fc15 bl 8054594 DrawImage(&bmRIGHT_1_LIGHT, 3, 108+26); 80acd6a: 2286 movs r2, #134 ; 0x86 80acd6c: 2103 movs r1, #3 80acd6e: 4841 ldr r0, [pc, #260] ; (80ace74 ) 80acd70: f7a7 fc10 bl 8054594 DrawImage(&bmPLUS_1, 3, 108+52); 80acd74: 22a0 movs r2, #160 ; 0xa0 80acd76: 2103 movs r1, #3 80acd78: 4833 ldr r0, [pc, #204] ; (80ace48 ) 80acd7a: f7a7 fc0b bl 8054594 DrawImage(&bmMINUS_1, 3, 108+78); 80acd7e: 22ba movs r2, #186 ; 0xba 80acd80: 2103 movs r1, #3 80acd82: 483d ldr r0, [pc, #244] ; (80ace78 ) 80acd84: f7a7 fc06 bl 8054594 if(menu < VIEW_PORTRET) 80acd88: 4b28 ldr r3, [pc, #160] ; (80ace2c ) 80acd8a: 781b ldrb r3, [r3, #0] 80acd8c: b2db uxtb r3, r3 80acd8e: 2b27 cmp r3, #39 ; 0x27 80acd90: d822 bhi.n 80acdd8 { DrawImage(&bmPLAY_1, 3, 108+104); 80acd92: 22d4 movs r2, #212 ; 0xd4 80acd94: 2103 movs r1, #3 80acd96: 482e ldr r0, [pc, #184] ; (80ace50 ) 80acd98: f7a7 fbfc bl 8054594 if(measuring) 80acd9c: 4b2d ldr r3, [pc, #180] ; (80ace54 ) 80acd9e: 781b ldrb r3, [r3, #0] 80acda0: b2db uxtb r3, r3 80acda2: 2b00 cmp r3, #0 80acda4: d00c beq.n 80acdc0 BSP_LCD_DisplayStringAt(30, 219, (char *) pSTART_STOP[pardata.LANG][1], CENTER_MODE); 80acda6: 4b2c ldr r3, [pc, #176] ; (80ace58 ) 80acda8: 7b1b ldrb r3, [r3, #12] 80acdaa: b2db uxtb r3, r3 80acdac: 4a2b ldr r2, [pc, #172] ; (80ace5c ) 80acdae: 00db lsls r3, r3, #3 80acdb0: 4413 add r3, r2 80acdb2: 685a ldr r2, [r3, #4] 80acdb4: 2301 movs r3, #1 80acdb6: 21db movs r1, #219 ; 0xdb 80acdb8: 201e movs r0, #30 80acdba: f7a6 fdbd bl 8053938 80acdbe: e00b b.n 80acdd8 else BSP_LCD_DisplayStringAt(30, 219, (char *) pSTART_STOP[pardata.LANG][0], CENTER_MODE); 80acdc0: 4b25 ldr r3, [pc, #148] ; (80ace58 ) 80acdc2: 7b1b ldrb r3, [r3, #12] 80acdc4: b2db uxtb r3, r3 80acdc6: 461a mov r2, r3 80acdc8: 4b24 ldr r3, [pc, #144] ; (80ace5c ) 80acdca: f853 2032 ldr.w r2, [r3, r2, lsl #3] 80acdce: 2301 movs r3, #1 80acdd0: 21db movs r1, #219 ; 0xdb 80acdd2: 201e movs r0, #30 80acdd4: f7a6 fdb0 bl 8053938 } if((menu == MAIN_OSC) && (!FIRST) && (Stability > (Nr * 4))) 80acdd8: 4b14 ldr r3, [pc, #80] ; (80ace2c ) 80acdda: 781b ldrb r3, [r3, #0] 80acddc: b2db uxtb r3, r3 80acdde: 2b1d cmp r3, #29 80acde0: f040 827d bne.w 80ad2de 80acde4: 4b1e ldr r3, [pc, #120] ; (80ace60 ) 80acde6: 781b ldrb r3, [r3, #0] 80acde8: b2db uxtb r3, r3 80acdea: f083 0301 eor.w r3, r3, #1 80acdee: b2db uxtb r3, r3 80acdf0: 2b00 cmp r3, #0 80acdf2: f000 8274 beq.w 80ad2de 80acdf6: 4b1b ldr r3, [pc, #108] ; (80ace64 ) 80acdf8: 881b ldrh r3, [r3, #0] 80acdfa: b29b uxth r3, r3 80acdfc: 009b lsls r3, r3, #2 80acdfe: 461a mov r2, r3 80ace00: 4b19 ldr r3, [pc, #100] ; (80ace68 ) 80ace02: 681b ldr r3, [r3, #0] 80ace04: 429a cmp r2, r3 80ace06: f080 826a bcs.w 80ad2de { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80ace0a: 4907 ldr r1, [pc, #28] ; (80ace28 ) 80ace0c: 4817 ldr r0, [pc, #92] ; (80ace6c ) 80ace0e: f7a6 fccd bl 80537ac BSP_LCD_DrawVLine(62 + CURSOR, 44, 191); 80ace12: 4b17 ldr r3, [pc, #92] ; (80ace70 ) 80ace14: 681b ldr r3, [r3, #0] 80ace16: b29b uxth r3, r3 80ace18: 333e adds r3, #62 ; 0x3e 80ace1a: b29b uxth r3, r3 80ace1c: 22bf movs r2, #191 ; 0xbf 80ace1e: 212c movs r1, #44 ; 0x2c 80ace20: 4618 mov r0, r3 80ace22: f7a6 fe9b bl 8053b5c } break; 80ace26: e25a b.n 80ad2de 80ace28: ff0a0f1f .word 0xff0a0f1f 80ace2c: 20020f78 .word 0x20020f78 80ace30: 20020d8e .word 0x20020d8e 80ace34: 0813d2c0 .word 0x0813d2c0 80ace38: 20020d68 .word 0x20020d68 80ace3c: 08145574 .word 0x08145574 80ace40: 08114204 .word 0x08114204 80ace44: 08146be4 .word 0x08146be4 80ace48: 081432ac .word 0x081432ac 80ace4c: 0813c15c .word 0x0813c15c 80ace50: 08141c3c .word 0x08141c3c 80ace54: 20020daf .word 0x20020daf 80ace58: 20023e60 .word 0x20023e60 80ace5c: 200201cc .word 0x200201cc 80ace60: 20020db2 .word 0x20020db2 80ace64: 20021d20 .word 0x20021d20 80ace68: 20020da8 .word 0x20020da8 80ace6c: ff808080 .word 0xff808080 80ace70: 2002006c .word 0x2002006c 80ace74: 0814771c .word 0x0814771c 80ace78: 0813b624 .word 0x0813b624 case StartStop: LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80ace7c: 49a3 ldr r1, [pc, #652] ; (80ad10c ) 80ace7e: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80ace82: f7a6 fc93 bl 80537ac if(((menu == MAIN_SPEC) || (menu == MAIN_SPEC_OGIB) || (menu == MAIN_SPEC_OKT) || (menu == MAIN_SPEC_THIRD)) && (READY_TO_SEE)) 80ace86: 4ba2 ldr r3, [pc, #648] ; (80ad110 ) 80ace88: 781b ldrb r3, [r3, #0] 80ace8a: b2db uxtb r3, r3 80ace8c: 2b1c cmp r3, #28 80ace8e: d00e beq.n 80aceae 80ace90: 4b9f ldr r3, [pc, #636] ; (80ad110 ) 80ace92: 781b ldrb r3, [r3, #0] 80ace94: b2db uxtb r3, r3 80ace96: 2b21 cmp r3, #33 ; 0x21 80ace98: d009 beq.n 80aceae 80ace9a: 4b9d ldr r3, [pc, #628] ; (80ad110 ) 80ace9c: 781b ldrb r3, [r3, #0] 80ace9e: b2db uxtb r3, r3 80acea0: 2b22 cmp r3, #34 ; 0x22 80acea2: d004 beq.n 80aceae 80acea4: 4b9a ldr r3, [pc, #616] ; (80ad110 ) 80acea6: 781b ldrb r3, [r3, #0] 80acea8: b2db uxtb r3, r3 80aceaa: 2b23 cmp r3, #35 ; 0x23 80aceac: d109 bne.n 80acec2 80aceae: 4b99 ldr r3, [pc, #612] ; (80ad114 ) 80aceb0: 781b ldrb r3, [r3, #0] 80aceb2: b2db uxtb r3, r3 80aceb4: 2b00 cmp r3, #0 80aceb6: d004 beq.n 80acec2 DrawImage(&bmOSC_SAVE, 3, 108-26); 80aceb8: 2252 movs r2, #82 ; 0x52 80aceba: 2103 movs r1, #3 80acebc: 4896 ldr r0, [pc, #600] ; (80ad118 ) 80acebe: f7a7 fb69 bl 8054594 if(((menu == MAIN_ROLL) || (menu == ROLL_RESULTS)) && (SeeResults)) 80acec2: 4b93 ldr r3, [pc, #588] ; (80ad110 ) 80acec4: 781b ldrb r3, [r3, #0] 80acec6: b2db uxtb r3, r3 80acec8: 2b24 cmp r3, #36 ; 0x24 80aceca: d004 beq.n 80aced6 80acecc: 4b90 ldr r3, [pc, #576] ; (80ad110 ) 80acece: 781b ldrb r3, [r3, #0] 80aced0: b2db uxtb r3, r3 80aced2: 2b27 cmp r3, #39 ; 0x27 80aced4: d109 bne.n 80aceea 80aced6: 4b91 ldr r3, [pc, #580] ; (80ad11c ) 80aced8: 781b ldrb r3, [r3, #0] 80aceda: b2db uxtb r3, r3 80acedc: 2b00 cmp r3, #0 80acede: d004 beq.n 80aceea DrawImage(&bmRESULT_1, 3, 108-26); 80acee0: 2252 movs r2, #82 ; 0x52 80acee2: 2103 movs r1, #3 80acee4: 488e ldr r0, [pc, #568] ; (80ad120 ) 80acee6: f7a7 fb55 bl 8054594 DrawImage(&bmLEFT_1, 3, 108); 80aceea: 226c movs r2, #108 ; 0x6c 80aceec: 2103 movs r1, #3 80aceee: 488d ldr r0, [pc, #564] ; (80ad124 ) 80acef0: f7a7 fb50 bl 8054594 DrawImage(&bmRIGHT_1, 3, 108+26); 80acef4: 2286 movs r2, #134 ; 0x86 80acef6: 2103 movs r1, #3 80acef8: 488b ldr r0, [pc, #556] ; (80ad128 ) 80acefa: f7a7 fb4b bl 8054594 DrawImage(&bmPLUS_1, 3, 108+52); 80acefe: 22a0 movs r2, #160 ; 0xa0 80acf00: 2103 movs r1, #3 80acf02: 488a ldr r0, [pc, #552] ; (80ad12c ) 80acf04: f7a7 fb46 bl 8054594 DrawImage(&bmMINUS_1, 3, 108+78); 80acf08: 22ba movs r2, #186 ; 0xba 80acf0a: 2103 movs r1, #3 80acf0c: 4888 ldr r0, [pc, #544] ; (80ad130 ) 80acf0e: f7a7 fb41 bl 8054594 if(menu < VIEW_PORTRET) 80acf12: 4b7f ldr r3, [pc, #508] ; (80ad110 ) 80acf14: 781b ldrb r3, [r3, #0] 80acf16: b2db uxtb r3, r3 80acf18: 2b27 cmp r3, #39 ; 0x27 80acf1a: d834 bhi.n 80acf86 { DrawImage(&bmPLAY_1_LIGHT, 3, 108+104); 80acf1c: 22d4 movs r2, #212 ; 0xd4 80acf1e: 2103 movs r1, #3 80acf20: 4884 ldr r0, [pc, #528] ; (80ad134 ) 80acf22: f7a7 fb37 bl 8054594 if(NeedSTOP) 80acf26: 4b84 ldr r3, [pc, #528] ; (80ad138 ) 80acf28: 781b ldrb r3, [r3, #0] 80acf2a: b2db uxtb r3, r3 80acf2c: 2b00 cmp r3, #0 80acf2e: d00c beq.n 80acf4a BSP_LCD_DisplayStringAt(30, 219, (char *) pSTART_STOP[pardata.LANG][0], CENTER_MODE); 80acf30: 4b82 ldr r3, [pc, #520] ; (80ad13c ) 80acf32: 7b1b ldrb r3, [r3, #12] 80acf34: b2db uxtb r3, r3 80acf36: 461a mov r2, r3 80acf38: 4b81 ldr r3, [pc, #516] ; (80ad140 ) 80acf3a: f853 2032 ldr.w r2, [r3, r2, lsl #3] 80acf3e: 2301 movs r3, #1 80acf40: 21db movs r1, #219 ; 0xdb 80acf42: 201e movs r0, #30 80acf44: f7a6 fcf8 bl 8053938 80acf48: e01d b.n 80acf86 else { if(measuring) 80acf4a: 4b7e ldr r3, [pc, #504] ; (80ad144 ) 80acf4c: 781b ldrb r3, [r3, #0] 80acf4e: b2db uxtb r3, r3 80acf50: 2b00 cmp r3, #0 80acf52: d00c beq.n 80acf6e BSP_LCD_DisplayStringAt(30, 219, (char *) pSTART_STOP[pardata.LANG][1], CENTER_MODE); 80acf54: 4b79 ldr r3, [pc, #484] ; (80ad13c ) 80acf56: 7b1b ldrb r3, [r3, #12] 80acf58: b2db uxtb r3, r3 80acf5a: 4a79 ldr r2, [pc, #484] ; (80ad140 ) 80acf5c: 00db lsls r3, r3, #3 80acf5e: 4413 add r3, r2 80acf60: 685a ldr r2, [r3, #4] 80acf62: 2301 movs r3, #1 80acf64: 21db movs r1, #219 ; 0xdb 80acf66: 201e movs r0, #30 80acf68: f7a6 fce6 bl 8053938 80acf6c: e00b b.n 80acf86 else BSP_LCD_DisplayStringAt(30, 219, (char *) pSTART_STOP[pardata.LANG][0], CENTER_MODE); 80acf6e: 4b73 ldr r3, [pc, #460] ; (80ad13c ) 80acf70: 7b1b ldrb r3, [r3, #12] 80acf72: b2db uxtb r3, r3 80acf74: 461a mov r2, r3 80acf76: 4b72 ldr r3, [pc, #456] ; (80ad140 ) 80acf78: f853 2032 ldr.w r2, [r3, r2, lsl #3] 80acf7c: 2301 movs r3, #1 80acf7e: 21db movs r1, #219 ; 0xdb 80acf80: 201e movs r0, #30 80acf82: f7a6 fcd9 bl 8053938 } } if((menu == MAIN_OSC) && (!FIRST) && (Stability > (Nr * 4))) 80acf86: 4b62 ldr r3, [pc, #392] ; (80ad110 ) 80acf88: 781b ldrb r3, [r3, #0] 80acf8a: b2db uxtb r3, r3 80acf8c: 2b1d cmp r3, #29 80acf8e: f040 81a8 bne.w 80ad2e2 80acf92: 4b6d ldr r3, [pc, #436] ; (80ad148 ) 80acf94: 781b ldrb r3, [r3, #0] 80acf96: b2db uxtb r3, r3 80acf98: f083 0301 eor.w r3, r3, #1 80acf9c: b2db uxtb r3, r3 80acf9e: 2b00 cmp r3, #0 80acfa0: f000 819f beq.w 80ad2e2 80acfa4: 4b69 ldr r3, [pc, #420] ; (80ad14c ) 80acfa6: 881b ldrh r3, [r3, #0] 80acfa8: b29b uxth r3, r3 80acfaa: 009b lsls r3, r3, #2 80acfac: 461a mov r2, r3 80acfae: 4b68 ldr r3, [pc, #416] ; (80ad150 ) 80acfb0: 681b ldr r3, [r3, #0] 80acfb2: 429a cmp r2, r3 80acfb4: f080 8195 bcs.w 80ad2e2 { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80acfb8: 4954 ldr r1, [pc, #336] ; (80ad10c ) 80acfba: 4866 ldr r0, [pc, #408] ; (80ad154 ) 80acfbc: f7a6 fbf6 bl 80537ac BSP_LCD_DrawVLine(62 + CURSOR, 44, 191); 80acfc0: 4b65 ldr r3, [pc, #404] ; (80ad158 ) 80acfc2: 681b ldr r3, [r3, #0] 80acfc4: b29b uxth r3, r3 80acfc6: 333e adds r3, #62 ; 0x3e 80acfc8: b29b uxth r3, r3 80acfca: 22bf movs r2, #191 ; 0xbf 80acfcc: 212c movs r1, #44 ; 0x2c 80acfce: 4618 mov r0, r3 80acfd0: f7a6 fdc4 bl 8053b5c } break; 80acfd4: e185 b.n 80ad2e2 case Cursor: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80acfd6: 494d ldr r1, [pc, #308] ; (80ad10c ) 80acfd8: f04f 30ff mov.w r0, #4294967295 80acfdc: f7a6 fbe6 bl 80537ac if(((menu == MAIN_SPEC) || (menu == MAIN_SPEC_OGIB) || (menu == MAIN_SPEC_OKT) || (menu == MAIN_SPEC_THIRD)) && (READY_TO_SEE)) 80acfe0: 4b4b ldr r3, [pc, #300] ; (80ad110 ) 80acfe2: 781b ldrb r3, [r3, #0] 80acfe4: b2db uxtb r3, r3 80acfe6: 2b1c cmp r3, #28 80acfe8: d00e beq.n 80ad008 80acfea: 4b49 ldr r3, [pc, #292] ; (80ad110 ) 80acfec: 781b ldrb r3, [r3, #0] 80acfee: b2db uxtb r3, r3 80acff0: 2b21 cmp r3, #33 ; 0x21 80acff2: d009 beq.n 80ad008 80acff4: 4b46 ldr r3, [pc, #280] ; (80ad110 ) 80acff6: 781b ldrb r3, [r3, #0] 80acff8: b2db uxtb r3, r3 80acffa: 2b22 cmp r3, #34 ; 0x22 80acffc: d004 beq.n 80ad008 80acffe: 4b44 ldr r3, [pc, #272] ; (80ad110 ) 80ad000: 781b ldrb r3, [r3, #0] 80ad002: b2db uxtb r3, r3 80ad004: 2b23 cmp r3, #35 ; 0x23 80ad006: d109 bne.n 80ad01c 80ad008: 4b42 ldr r3, [pc, #264] ; (80ad114 ) 80ad00a: 781b ldrb r3, [r3, #0] 80ad00c: b2db uxtb r3, r3 80ad00e: 2b00 cmp r3, #0 80ad010: d004 beq.n 80ad01c DrawImage(&bmOSC_SAVE, 3, 108-26); 80ad012: 2252 movs r2, #82 ; 0x52 80ad014: 2103 movs r1, #3 80ad016: 4840 ldr r0, [pc, #256] ; (80ad118 ) 80ad018: f7a7 fabc bl 8054594 if(((menu == MAIN_ROLL) || (menu == ROLL_RESULTS)) && (SeeResults)) 80ad01c: 4b3c ldr r3, [pc, #240] ; (80ad110 ) 80ad01e: 781b ldrb r3, [r3, #0] 80ad020: b2db uxtb r3, r3 80ad022: 2b24 cmp r3, #36 ; 0x24 80ad024: d004 beq.n 80ad030 80ad026: 4b3a ldr r3, [pc, #232] ; (80ad110 ) 80ad028: 781b ldrb r3, [r3, #0] 80ad02a: b2db uxtb r3, r3 80ad02c: 2b27 cmp r3, #39 ; 0x27 80ad02e: d109 bne.n 80ad044 80ad030: 4b3a ldr r3, [pc, #232] ; (80ad11c ) 80ad032: 781b ldrb r3, [r3, #0] 80ad034: b2db uxtb r3, r3 80ad036: 2b00 cmp r3, #0 80ad038: d004 beq.n 80ad044 DrawImage(&bmRESULT_1, 3, 108-26); 80ad03a: 2252 movs r2, #82 ; 0x52 80ad03c: 2103 movs r1, #3 80ad03e: 4838 ldr r0, [pc, #224] ; (80ad120 ) 80ad040: f7a7 faa8 bl 8054594 DrawImage(&bmLEFT_1, 3, 108); 80ad044: 226c movs r2, #108 ; 0x6c 80ad046: 2103 movs r1, #3 80ad048: 4836 ldr r0, [pc, #216] ; (80ad124 ) 80ad04a: f7a7 faa3 bl 8054594 DrawImage(&bmRIGHT_1, 3, 108+26); 80ad04e: 2286 movs r2, #134 ; 0x86 80ad050: 2103 movs r1, #3 80ad052: 4835 ldr r0, [pc, #212] ; (80ad128 ) 80ad054: f7a7 fa9e bl 8054594 DrawImage(&bmPLUS_1, 3, 108+52); 80ad058: 22a0 movs r2, #160 ; 0xa0 80ad05a: 2103 movs r1, #3 80ad05c: 4833 ldr r0, [pc, #204] ; (80ad12c ) 80ad05e: f7a7 fa99 bl 8054594 DrawImage(&bmMINUS_1, 3, 108+78); 80ad062: 22ba movs r2, #186 ; 0xba 80ad064: 2103 movs r1, #3 80ad066: 4832 ldr r0, [pc, #200] ; (80ad130 ) 80ad068: f7a7 fa94 bl 8054594 if(menu < VIEW_PORTRET) 80ad06c: 4b28 ldr r3, [pc, #160] ; (80ad110 ) 80ad06e: 781b ldrb r3, [r3, #0] 80ad070: b2db uxtb r3, r3 80ad072: 2b27 cmp r3, #39 ; 0x27 80ad074: d822 bhi.n 80ad0bc { DrawImage(&bmPLAY_1, 3, 108+104); 80ad076: 22d4 movs r2, #212 ; 0xd4 80ad078: 2103 movs r1, #3 80ad07a: 4838 ldr r0, [pc, #224] ; (80ad15c ) 80ad07c: f7a7 fa8a bl 8054594 if(measuring) 80ad080: 4b30 ldr r3, [pc, #192] ; (80ad144 ) 80ad082: 781b ldrb r3, [r3, #0] 80ad084: b2db uxtb r3, r3 80ad086: 2b00 cmp r3, #0 80ad088: d00c beq.n 80ad0a4 BSP_LCD_DisplayStringAt(30, 219, (char *) pSTART_STOP[pardata.LANG][1], CENTER_MODE); 80ad08a: 4b2c ldr r3, [pc, #176] ; (80ad13c ) 80ad08c: 7b1b ldrb r3, [r3, #12] 80ad08e: b2db uxtb r3, r3 80ad090: 4a2b ldr r2, [pc, #172] ; (80ad140 ) 80ad092: 00db lsls r3, r3, #3 80ad094: 4413 add r3, r2 80ad096: 685a ldr r2, [r3, #4] 80ad098: 2301 movs r3, #1 80ad09a: 21db movs r1, #219 ; 0xdb 80ad09c: 201e movs r0, #30 80ad09e: f7a6 fc4b bl 8053938 80ad0a2: e00b b.n 80ad0bc else BSP_LCD_DisplayStringAt(30, 219, (char *) pSTART_STOP[pardata.LANG][0], CENTER_MODE); 80ad0a4: 4b25 ldr r3, [pc, #148] ; (80ad13c ) 80ad0a6: 7b1b ldrb r3, [r3, #12] 80ad0a8: b2db uxtb r3, r3 80ad0aa: 461a mov r2, r3 80ad0ac: 4b24 ldr r3, [pc, #144] ; (80ad140 ) 80ad0ae: f853 2032 ldr.w r2, [r3, r2, lsl #3] 80ad0b2: 2301 movs r3, #1 80ad0b4: 21db movs r1, #219 ; 0xdb 80ad0b6: 201e movs r0, #30 80ad0b8: f7a6 fc3e bl 8053938 } if((menu == MAIN_OSC) && (!FIRST) && (Stability > (Nr * 4))) 80ad0bc: 4b14 ldr r3, [pc, #80] ; (80ad110 ) 80ad0be: 781b ldrb r3, [r3, #0] 80ad0c0: b2db uxtb r3, r3 80ad0c2: 2b1d cmp r3, #29 80ad0c4: f040 810f bne.w 80ad2e6 80ad0c8: 4b1f ldr r3, [pc, #124] ; (80ad148 ) 80ad0ca: 781b ldrb r3, [r3, #0] 80ad0cc: b2db uxtb r3, r3 80ad0ce: f083 0301 eor.w r3, r3, #1 80ad0d2: b2db uxtb r3, r3 80ad0d4: 2b00 cmp r3, #0 80ad0d6: f000 8106 beq.w 80ad2e6 80ad0da: 4b1c ldr r3, [pc, #112] ; (80ad14c ) 80ad0dc: 881b ldrh r3, [r3, #0] 80ad0de: b29b uxth r3, r3 80ad0e0: 009b lsls r3, r3, #2 80ad0e2: 461a mov r2, r3 80ad0e4: 4b1a ldr r3, [pc, #104] ; (80ad150 ) 80ad0e6: 681b ldr r3, [r3, #0] 80ad0e8: 429a cmp r2, r3 80ad0ea: f080 80fc bcs.w 80ad2e6 { LCD_SetColors(LCD_COLOR_RED, LCD_COLOR_BLACK); 80ad0ee: 4907 ldr r1, [pc, #28] ; (80ad10c ) 80ad0f0: 481b ldr r0, [pc, #108] ; (80ad160 ) 80ad0f2: f7a6 fb5b bl 80537ac BSP_LCD_DrawVLine(62 + CURSOR, 44, 191); 80ad0f6: 4b18 ldr r3, [pc, #96] ; (80ad158 ) 80ad0f8: 681b ldr r3, [r3, #0] 80ad0fa: b29b uxth r3, r3 80ad0fc: 333e adds r3, #62 ; 0x3e 80ad0fe: b29b uxth r3, r3 80ad100: 22bf movs r2, #191 ; 0xbf 80ad102: 212c movs r1, #44 ; 0x2c 80ad104: 4618 mov r0, r3 80ad106: f7a6 fd29 bl 8053b5c } break; 80ad10a: e0ec b.n 80ad2e6 80ad10c: ff0a0f1f .word 0xff0a0f1f 80ad110: 20020f78 .word 0x20020f78 80ad114: 20020d8e .word 0x20020d8e 80ad118: 0813d2c0 .word 0x0813d2c0 80ad11c: 20020d68 .word 0x20020d68 80ad120: 08145574 .word 0x08145574 80ad124: 08114204 .word 0x08114204 80ad128: 08146be4 .word 0x08146be4 80ad12c: 081432ac .word 0x081432ac 80ad130: 0813b624 .word 0x0813b624 80ad134: 08142774 .word 0x08142774 80ad138: 20020f7e .word 0x20020f7e 80ad13c: 20023e60 .word 0x20023e60 80ad140: 200201cc .word 0x200201cc 80ad144: 20020daf .word 0x20020daf 80ad148: 20020db2 .word 0x20020db2 80ad14c: 20021d20 .word 0x20021d20 80ad150: 20020da8 .word 0x20020da8 80ad154: ff808080 .word 0xff808080 80ad158: 2002006c .word 0x2002006c 80ad15c: 08141c3c .word 0x08141c3c 80ad160: ffff0000 .word 0xffff0000 case Results: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80ad164: 4964 ldr r1, [pc, #400] ; (80ad2f8 ) 80ad166: f04f 30ff mov.w r0, #4294967295 80ad16a: f7a6 fb1f bl 80537ac if(((menu == MAIN_ROLL) || (menu == ROLL_RESULTS)) && (SeeResults)) 80ad16e: 4b63 ldr r3, [pc, #396] ; (80ad2fc ) 80ad170: 781b ldrb r3, [r3, #0] 80ad172: b2db uxtb r3, r3 80ad174: 2b24 cmp r3, #36 ; 0x24 80ad176: d004 beq.n 80ad182 80ad178: 4b60 ldr r3, [pc, #384] ; (80ad2fc ) 80ad17a: 781b ldrb r3, [r3, #0] 80ad17c: b2db uxtb r3, r3 80ad17e: 2b27 cmp r3, #39 ; 0x27 80ad180: d109 bne.n 80ad196 80ad182: 4b5f ldr r3, [pc, #380] ; (80ad300 ) 80ad184: 781b ldrb r3, [r3, #0] 80ad186: b2db uxtb r3, r3 80ad188: 2b00 cmp r3, #0 80ad18a: d004 beq.n 80ad196 DrawImage(&bmRESULT_1_LIGHT, 3, 108-26); 80ad18c: 2252 movs r2, #82 ; 0x52 80ad18e: 2103 movs r1, #3 80ad190: 485c ldr r0, [pc, #368] ; (80ad304 ) 80ad192: f7a7 f9ff bl 8054594 DrawImage(&bmLEFT_1, 3, 108); 80ad196: 226c movs r2, #108 ; 0x6c 80ad198: 2103 movs r1, #3 80ad19a: 485b ldr r0, [pc, #364] ; (80ad308 ) 80ad19c: f7a7 f9fa bl 8054594 DrawImage(&bmRIGHT_1, 3, 108+26); 80ad1a0: 2286 movs r2, #134 ; 0x86 80ad1a2: 2103 movs r1, #3 80ad1a4: 4859 ldr r0, [pc, #356] ; (80ad30c ) 80ad1a6: f7a7 f9f5 bl 8054594 DrawImage(&bmPLUS_1, 3, 108+52); 80ad1aa: 22a0 movs r2, #160 ; 0xa0 80ad1ac: 2103 movs r1, #3 80ad1ae: 4858 ldr r0, [pc, #352] ; (80ad310 ) 80ad1b0: f7a7 f9f0 bl 8054594 DrawImage(&bmMINUS_1, 3, 108+78); 80ad1b4: 22ba movs r2, #186 ; 0xba 80ad1b6: 2103 movs r1, #3 80ad1b8: 4856 ldr r0, [pc, #344] ; (80ad314 ) 80ad1ba: f7a7 f9eb bl 8054594 if(menu < VIEW_PORTRET) 80ad1be: 4b4f ldr r3, [pc, #316] ; (80ad2fc ) 80ad1c0: 781b ldrb r3, [r3, #0] 80ad1c2: b2db uxtb r3, r3 80ad1c4: 2b27 cmp r3, #39 ; 0x27 80ad1c6: f200 8090 bhi.w 80ad2ea { DrawImage(&bmPLAY_1, 3, 108+104); 80ad1ca: 22d4 movs r2, #212 ; 0xd4 80ad1cc: 2103 movs r1, #3 80ad1ce: 4852 ldr r0, [pc, #328] ; (80ad318 ) 80ad1d0: f7a7 f9e0 bl 8054594 if(measuring) 80ad1d4: 4b51 ldr r3, [pc, #324] ; (80ad31c ) 80ad1d6: 781b ldrb r3, [r3, #0] 80ad1d8: b2db uxtb r3, r3 80ad1da: 2b00 cmp r3, #0 80ad1dc: d00c beq.n 80ad1f8 BSP_LCD_DisplayStringAt(30, 219, (char *) pSTART_STOP[pardata.LANG][1], CENTER_MODE); 80ad1de: 4b50 ldr r3, [pc, #320] ; (80ad320 ) 80ad1e0: 7b1b ldrb r3, [r3, #12] 80ad1e2: b2db uxtb r3, r3 80ad1e4: 4a4f ldr r2, [pc, #316] ; (80ad324 ) 80ad1e6: 00db lsls r3, r3, #3 80ad1e8: 4413 add r3, r2 80ad1ea: 685a ldr r2, [r3, #4] 80ad1ec: 2301 movs r3, #1 80ad1ee: 21db movs r1, #219 ; 0xdb 80ad1f0: 201e movs r0, #30 80ad1f2: f7a6 fba1 bl 8053938 else BSP_LCD_DisplayStringAt(30, 219, (char *) pSTART_STOP[pardata.LANG][0], CENTER_MODE); } break; 80ad1f6: e078 b.n 80ad2ea else BSP_LCD_DisplayStringAt(30, 219, (char *) pSTART_STOP[pardata.LANG][0], CENTER_MODE); 80ad1f8: 4b49 ldr r3, [pc, #292] ; (80ad320 ) 80ad1fa: 7b1b ldrb r3, [r3, #12] 80ad1fc: b2db uxtb r3, r3 80ad1fe: 461a mov r2, r3 80ad200: 4b48 ldr r3, [pc, #288] ; (80ad324 ) 80ad202: f853 2032 ldr.w r2, [r3, r2, lsl #3] 80ad206: 2301 movs r3, #1 80ad208: 21db movs r1, #219 ; 0xdb 80ad20a: 201e movs r0, #30 80ad20c: f7a6 fb94 bl 8053938 break; 80ad210: e06b b.n 80ad2ea case SaveSpec: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80ad212: 4939 ldr r1, [pc, #228] ; (80ad2f8 ) 80ad214: f04f 30ff mov.w r0, #4294967295 80ad218: f7a6 fac8 bl 80537ac if(((menu == MAIN_SPEC) || (menu == MAIN_SPEC_OGIB) || (menu == MAIN_SPEC_OKT) || (menu == MAIN_SPEC_THIRD)) && (READY_TO_SEE)) 80ad21c: 4b37 ldr r3, [pc, #220] ; (80ad2fc ) 80ad21e: 781b ldrb r3, [r3, #0] 80ad220: b2db uxtb r3, r3 80ad222: 2b1c cmp r3, #28 80ad224: d00e beq.n 80ad244 80ad226: 4b35 ldr r3, [pc, #212] ; (80ad2fc ) 80ad228: 781b ldrb r3, [r3, #0] 80ad22a: b2db uxtb r3, r3 80ad22c: 2b21 cmp r3, #33 ; 0x21 80ad22e: d009 beq.n 80ad244 80ad230: 4b32 ldr r3, [pc, #200] ; (80ad2fc ) 80ad232: 781b ldrb r3, [r3, #0] 80ad234: b2db uxtb r3, r3 80ad236: 2b22 cmp r3, #34 ; 0x22 80ad238: d004 beq.n 80ad244 80ad23a: 4b30 ldr r3, [pc, #192] ; (80ad2fc ) 80ad23c: 781b ldrb r3, [r3, #0] 80ad23e: b2db uxtb r3, r3 80ad240: 2b23 cmp r3, #35 ; 0x23 80ad242: d109 bne.n 80ad258 80ad244: 4b38 ldr r3, [pc, #224] ; (80ad328 ) 80ad246: 781b ldrb r3, [r3, #0] 80ad248: b2db uxtb r3, r3 80ad24a: 2b00 cmp r3, #0 80ad24c: d004 beq.n 80ad258 DrawImage(&bmOSC_SAVE_LIGHT, 3, 108-26); 80ad24e: 2252 movs r2, #82 ; 0x52 80ad250: 2103 movs r1, #3 80ad252: 4836 ldr r0, [pc, #216] ; (80ad32c ) 80ad254: f7a7 f99e bl 8054594 DrawImage(&bmLEFT_1, 3, 108); 80ad258: 226c movs r2, #108 ; 0x6c 80ad25a: 2103 movs r1, #3 80ad25c: 482a ldr r0, [pc, #168] ; (80ad308 ) 80ad25e: f7a7 f999 bl 8054594 DrawImage(&bmRIGHT_1, 3, 108+26); 80ad262: 2286 movs r2, #134 ; 0x86 80ad264: 2103 movs r1, #3 80ad266: 4829 ldr r0, [pc, #164] ; (80ad30c ) 80ad268: f7a7 f994 bl 8054594 DrawImage(&bmPLUS_1, 3, 108+52); 80ad26c: 22a0 movs r2, #160 ; 0xa0 80ad26e: 2103 movs r1, #3 80ad270: 4827 ldr r0, [pc, #156] ; (80ad310 ) 80ad272: f7a7 f98f bl 8054594 DrawImage(&bmMINUS_1, 3, 108+78); 80ad276: 22ba movs r2, #186 ; 0xba 80ad278: 2103 movs r1, #3 80ad27a: 4826 ldr r0, [pc, #152] ; (80ad314 ) 80ad27c: f7a7 f98a bl 8054594 if(menu < VIEW_PORTRET) 80ad280: 4b1e ldr r3, [pc, #120] ; (80ad2fc ) 80ad282: 781b ldrb r3, [r3, #0] 80ad284: b2db uxtb r3, r3 80ad286: 2b27 cmp r3, #39 ; 0x27 80ad288: d831 bhi.n 80ad2ee { DrawImage(&bmPLAY_1, 3, 108+104); 80ad28a: 22d4 movs r2, #212 ; 0xd4 80ad28c: 2103 movs r1, #3 80ad28e: 4822 ldr r0, [pc, #136] ; (80ad318 ) 80ad290: f7a7 f980 bl 8054594 if(measuring) 80ad294: 4b21 ldr r3, [pc, #132] ; (80ad31c ) 80ad296: 781b ldrb r3, [r3, #0] 80ad298: b2db uxtb r3, r3 80ad29a: 2b00 cmp r3, #0 80ad29c: d00c beq.n 80ad2b8 BSP_LCD_DisplayStringAt(30, 219, (char *) pSTART_STOP[pardata.LANG][1], CENTER_MODE); 80ad29e: 4b20 ldr r3, [pc, #128] ; (80ad320 ) 80ad2a0: 7b1b ldrb r3, [r3, #12] 80ad2a2: b2db uxtb r3, r3 80ad2a4: 4a1f ldr r2, [pc, #124] ; (80ad324 ) 80ad2a6: 00db lsls r3, r3, #3 80ad2a8: 4413 add r3, r2 80ad2aa: 685a ldr r2, [r3, #4] 80ad2ac: 2301 movs r3, #1 80ad2ae: 21db movs r1, #219 ; 0xdb 80ad2b0: 201e movs r0, #30 80ad2b2: f7a6 fb41 bl 8053938 else BSP_LCD_DisplayStringAt(30, 219, (char *) pSTART_STOP[pardata.LANG][0], CENTER_MODE); } break; 80ad2b6: e01a b.n 80ad2ee else BSP_LCD_DisplayStringAt(30, 219, (char *) pSTART_STOP[pardata.LANG][0], CENTER_MODE); 80ad2b8: 4b19 ldr r3, [pc, #100] ; (80ad320 ) 80ad2ba: 7b1b ldrb r3, [r3, #12] 80ad2bc: b2db uxtb r3, r3 80ad2be: 461a mov r2, r3 80ad2c0: 4b18 ldr r3, [pc, #96] ; (80ad324 ) 80ad2c2: f853 2032 ldr.w r2, [r3, r2, lsl #3] 80ad2c6: 2301 movs r3, #1 80ad2c8: 21db movs r1, #219 ; 0xdb 80ad2ca: 201e movs r0, #30 80ad2cc: f7a6 fb34 bl 8053938 break; 80ad2d0: e00d b.n 80ad2ee break; 80ad2d2: bf00 nop 80ad2d4: e00c b.n 80ad2f0 break; 80ad2d6: bf00 nop 80ad2d8: e00a b.n 80ad2f0 break; 80ad2da: bf00 nop 80ad2dc: e008 b.n 80ad2f0 break; 80ad2de: bf00 nop 80ad2e0: e006 b.n 80ad2f0 break; 80ad2e2: bf00 nop 80ad2e4: e004 b.n 80ad2f0 break; 80ad2e6: bf00 nop 80ad2e8: e002 b.n 80ad2f0 break; 80ad2ea: bf00 nop 80ad2ec: e000 b.n 80ad2f0 break; 80ad2ee: bf00 nop } } 80ad2f0: bf00 nop 80ad2f2: 3708 adds r7, #8 80ad2f4: 46bd mov sp, r7 80ad2f6: bd80 pop {r7, pc} 80ad2f8: ff0a0f1f .word 0xff0a0f1f 80ad2fc: 20020f78 .word 0x20020f78 80ad300: 20020d68 .word 0x20020d68 80ad304: 081460ac .word 0x081460ac 80ad308: 08114204 .word 0x08114204 80ad30c: 08146be4 .word 0x08146be4 80ad310: 081432ac .word 0x081432ac 80ad314: 0813b624 .word 0x0813b624 80ad318: 08141c3c .word 0x08141c3c 80ad31c: 20020daf .word 0x20020daf 80ad320: 20023e60 .word 0x20023e60 80ad324: 200201cc .word 0x200201cc 80ad328: 20020d8e .word 0x20020d8e 80ad32c: 0813ddf8 .word 0x0813ddf8 080ad330 : void DrawLegend(void) //TODO { 80ad330: b580 push {r7, lr} 80ad332: b082 sub sp, #8 80ad334: af00 add r7, sp, #0 uint32_t i; LCD_SetColors(0xFF000000, LCD_COLOR_BLACK); 80ad336: 4925 ldr r1, [pc, #148] ; (80ad3cc ) 80ad338: f04f 407f mov.w r0, #4278190080 ; 0xff000000 80ad33c: f7a6 fa36 bl 80537ac BSP_LCD_FillRect(60, 43, 258, 191); 80ad340: 23bf movs r3, #191 ; 0xbf 80ad342: f44f 7281 mov.w r2, #258 ; 0x102 80ad346: 212b movs r1, #43 ; 0x2b 80ad348: 203c movs r0, #60 ; 0x3c 80ad34a: f7a6 febd bl 80540c8 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80ad34e: 491f ldr r1, [pc, #124] ; (80ad3cc ) 80ad350: f04f 30ff mov.w r0, #4294967295 80ad354: f7a6 fa2a bl 80537ac BSP_LCD_DrawRect(59, 42, 259, 193); 80ad358: 23c1 movs r3, #193 ; 0xc1 80ad35a: f240 1203 movw r2, #259 ; 0x103 80ad35e: 212a movs r1, #42 ; 0x2a 80ad360: 203b movs r0, #59 ; 0x3b 80ad362: f7a6 fd29 bl 8053db8 LCD_SetColors(LCD_COLOR_DARKGRAY, LCD_COLOR_BLACK); 80ad366: 4919 ldr r1, [pc, #100] ; (80ad3cc ) 80ad368: 4819 ldr r0, [pc, #100] ; (80ad3d0 ) 80ad36a: f7a6 fa1f bl 80537ac BSP_LCD_DrawHLine(61, 92, 256); 80ad36e: f44f 7280 mov.w r2, #256 ; 0x100 80ad372: 215c movs r1, #92 ; 0x5c 80ad374: 203d movs r0, #61 ; 0x3d 80ad376: f7a6 fb93 bl 8053aa0 for(i = 0; i < 4; i++) 80ad37a: 2300 movs r3, #0 80ad37c: 607b str r3, [r7, #4] 80ad37e: e01e b.n 80ad3be { BSP_LCD_DrawVLine(61 + (i << 6), 44, 191); 80ad380: 687b ldr r3, [r7, #4] 80ad382: b29b uxth r3, r3 80ad384: 019b lsls r3, r3, #6 80ad386: b29b uxth r3, r3 80ad388: 333d adds r3, #61 ; 0x3d 80ad38a: b29b uxth r3, r3 80ad38c: 22bf movs r2, #191 ; 0xbf 80ad38e: 212c movs r1, #44 ; 0x2c 80ad390: 4618 mov r0, r3 80ad392: f7a6 fbe3 bl 8053b5c BSP_LCD_DrawHLine(61, 92 + i*49, 256); 80ad396: 687b ldr r3, [r7, #4] 80ad398: b29b uxth r3, r3 80ad39a: 461a mov r2, r3 80ad39c: 00d2 lsls r2, r2, #3 80ad39e: 1ad3 subs r3, r2, r3 80ad3a0: 461a mov r2, r3 80ad3a2: 00d2 lsls r2, r2, #3 80ad3a4: 1ad3 subs r3, r2, r3 80ad3a6: b29b uxth r3, r3 80ad3a8: 335c adds r3, #92 ; 0x5c 80ad3aa: b29b uxth r3, r3 80ad3ac: f44f 7280 mov.w r2, #256 ; 0x100 80ad3b0: 4619 mov r1, r3 80ad3b2: 203d movs r0, #61 ; 0x3d 80ad3b4: f7a6 fb74 bl 8053aa0 for(i = 0; i < 4; i++) 80ad3b8: 687b ldr r3, [r7, #4] 80ad3ba: 3301 adds r3, #1 80ad3bc: 607b str r3, [r7, #4] 80ad3be: 687b ldr r3, [r7, #4] 80ad3c0: 2b03 cmp r3, #3 80ad3c2: d9dd bls.n 80ad380 } } 80ad3c4: bf00 nop 80ad3c6: 3708 adds r7, #8 80ad3c8: 46bd mov sp, r7 80ad3ca: bd80 pop {r7, pc} 80ad3cc: ff0a0f1f .word 0xff0a0f1f 80ad3d0: ff404040 .word 0xff404040 080ad3d4 : { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); } void DrawRMS(void) { 80ad3d4: b580 push {r7, lr} 80ad3d6: b084 sub sp, #16 80ad3d8: af00 add r7, sp, #0 int8_t mmm = 0; 80ad3da: 2300 movs r3, #0 80ad3dc: 73fb strb r3, [r7, #15] float32_t f; uint8_t m = 0; 80ad3de: 2300 movs r3, #0 80ad3e0: 71fb strb r3, [r7, #7] char *pch; BSP_LCD_SetFont(&Font12); 80ad3e2: 48c0 ldr r0, [pc, #768] ; (80ad6e4 ) 80ad3e4: f7a6 fa1e bl 8053824 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80ad3e8: 49bf ldr r1, [pc, #764] ; (80ad6e8 ) 80ad3ea: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80ad3ee: f7a6 f9dd bl 80537ac f = ABS(skz[pardata.IPR]); 80ad3f2: 4bbe ldr r3, [pc, #760] ; (80ad6ec ) 80ad3f4: 785b ldrb r3, [r3, #1] 80ad3f6: b2db uxtb r3, r3 80ad3f8: 4abd ldr r2, [pc, #756] ; (80ad6f0 ) 80ad3fa: 009b lsls r3, r3, #2 80ad3fc: 4413 add r3, r2 80ad3fe: edd3 7a00 vldr s15, [r3] 80ad402: eef5 7ac0 vcmpe.f32 s15, #0.0 80ad406: eef1 fa10 vmrs APSR_nzcv, fpscr 80ad40a: dd08 ble.n 80ad41e 80ad40c: 4bb7 ldr r3, [pc, #732] ; (80ad6ec ) 80ad40e: 785b ldrb r3, [r3, #1] 80ad410: b2db uxtb r3, r3 80ad412: 4ab7 ldr r2, [pc, #732] ; (80ad6f0 ) 80ad414: 009b lsls r3, r3, #2 80ad416: 4413 add r3, r2 80ad418: edd3 7a00 vldr s15, [r3] 80ad41c: e009 b.n 80ad432 80ad41e: 4bb3 ldr r3, [pc, #716] ; (80ad6ec ) 80ad420: 785b ldrb r3, [r3, #1] 80ad422: b2db uxtb r3, r3 80ad424: 4ab2 ldr r2, [pc, #712] ; (80ad6f0 ) 80ad426: 009b lsls r3, r3, #2 80ad428: 4413 add r3, r2 80ad42a: edd3 7a00 vldr s15, [r3] 80ad42e: eef1 7a67 vneg.f32 s15, s15 80ad432: edc7 7a02 vstr s15, [r7, #8] if(pardata.IPR == DIS) 80ad436: 4bad ldr r3, [pc, #692] ; (80ad6ec ) 80ad438: 785b ldrb r3, [r3, #1] 80ad43a: b2db uxtb r3, r3 80ad43c: 2b02 cmp r3, #2 80ad43e: d12b bne.n 80ad498 { if(f >= 1000.0f) 80ad440: edd7 7a02 vldr s15, [r7, #8] 80ad444: ed9f 7aab vldr s14, [pc, #684] ; 80ad6f4 80ad448: eef4 7ac7 vcmpe.f32 s15, s14 80ad44c: eef1 fa10 vmrs APSR_nzcv, fpscr 80ad450: db0a blt.n 80ad468 { m = 1; 80ad452: 2301 movs r3, #1 80ad454: 71fb strb r3, [r7, #7] f *= 0.001f; 80ad456: edd7 7a02 vldr s15, [r7, #8] 80ad45a: ed9f 7aa7 vldr s14, [pc, #668] ; 80ad6f8 80ad45e: ee67 7a87 vmul.f32 s15, s15, s14 80ad462: edc7 7a02 vstr s15, [r7, #8] 80ad466: e017 b.n 80ad498 } else if(f <= 0.00100f) 80ad468: edd7 7a02 vldr s15, [r7, #8] 80ad46c: ed9f 7aa2 vldr s14, [pc, #648] ; 80ad6f8 80ad470: eef4 7ac7 vcmpe.f32 s15, s14 80ad474: eef1 fa10 vmrs APSR_nzcv, fpscr 80ad478: d80e bhi.n 80ad498 { if(pardata.IIN == VOLTS) 80ad47a: 4b9c ldr r3, [pc, #624] ; (80ad6ec ) 80ad47c: 799b ldrb r3, [r3, #6] 80ad47e: b2db uxtb r3, r3 80ad480: 2b02 cmp r3, #2 80ad482: d109 bne.n 80ad498 { m = 2; 80ad484: 2302 movs r3, #2 80ad486: 71fb strb r3, [r7, #7] f *= 1000.000f; 80ad488: edd7 7a02 vldr s15, [r7, #8] 80ad48c: ed9f 7a99 vldr s14, [pc, #612] ; 80ad6f4 80ad490: ee67 7a87 vmul.f32 s15, s15, s14 80ad494: edc7 7a02 vstr s15, [r7, #8] } } } if(f < 1) { mmm = -5; } 80ad498: edd7 7a02 vldr s15, [r7, #8] 80ad49c: eeb7 7a00 vmov.f32 s14, #112 ; 0x3f800000 1.0 80ad4a0: eef4 7ac7 vcmpe.f32 s15, s14 80ad4a4: eef1 fa10 vmrs APSR_nzcv, fpscr 80ad4a8: d502 bpl.n 80ad4b0 80ad4aa: 23fb movs r3, #251 ; 0xfb 80ad4ac: 73fb strb r3, [r7, #15] 80ad4ae: e046 b.n 80ad53e else if(f < 10) { mmm = -5; } 80ad4b0: edd7 7a02 vldr s15, [r7, #8] 80ad4b4: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80ad4b8: eef4 7ac7 vcmpe.f32 s15, s14 80ad4bc: eef1 fa10 vmrs APSR_nzcv, fpscr 80ad4c0: d502 bpl.n 80ad4c8 80ad4c2: 23fb movs r3, #251 ; 0xfb 80ad4c4: 73fb strb r3, [r7, #15] 80ad4c6: e03a b.n 80ad53e else if(f < 100) { mmm = -4; } 80ad4c8: edd7 7a02 vldr s15, [r7, #8] 80ad4cc: ed9f 7a8b vldr s14, [pc, #556] ; 80ad6fc 80ad4d0: eef4 7ac7 vcmpe.f32 s15, s14 80ad4d4: eef1 fa10 vmrs APSR_nzcv, fpscr 80ad4d8: d502 bpl.n 80ad4e0 80ad4da: 23fc movs r3, #252 ; 0xfc 80ad4dc: 73fb strb r3, [r7, #15] 80ad4de: e02e b.n 80ad53e else if(f < 1000) { mmm = -3; } 80ad4e0: edd7 7a02 vldr s15, [r7, #8] 80ad4e4: ed9f 7a83 vldr s14, [pc, #524] ; 80ad6f4 80ad4e8: eef4 7ac7 vcmpe.f32 s15, s14 80ad4ec: eef1 fa10 vmrs APSR_nzcv, fpscr 80ad4f0: d502 bpl.n 80ad4f8 80ad4f2: 23fd movs r3, #253 ; 0xfd 80ad4f4: 73fb strb r3, [r7, #15] 80ad4f6: e022 b.n 80ad53e else if(f < 10000) { mmm = -2; } 80ad4f8: edd7 7a02 vldr s15, [r7, #8] 80ad4fc: ed9f 7a80 vldr s14, [pc, #512] ; 80ad700 80ad500: eef4 7ac7 vcmpe.f32 s15, s14 80ad504: eef1 fa10 vmrs APSR_nzcv, fpscr 80ad508: d502 bpl.n 80ad510 80ad50a: 23fe movs r3, #254 ; 0xfe 80ad50c: 73fb strb r3, [r7, #15] 80ad50e: e016 b.n 80ad53e else if(f < 100000) { mmm = -1; } 80ad510: edd7 7a02 vldr s15, [r7, #8] 80ad514: ed9f 7a7b vldr s14, [pc, #492] ; 80ad704 80ad518: eef4 7ac7 vcmpe.f32 s15, s14 80ad51c: eef1 fa10 vmrs APSR_nzcv, fpscr 80ad520: d502 bpl.n 80ad528 80ad522: 23ff movs r3, #255 ; 0xff 80ad524: 73fb strb r3, [r7, #15] 80ad526: e00a b.n 80ad53e else if(f < 1000000) { mmm = 0; } 80ad528: edd7 7a02 vldr s15, [r7, #8] 80ad52c: ed9f 7a76 vldr s14, [pc, #472] ; 80ad708 80ad530: eef4 7ac7 vcmpe.f32 s15, s14 80ad534: eef1 fa10 vmrs APSR_nzcv, fpscr 80ad538: d501 bpl.n 80ad53e 80ad53a: 2300 movs r3, #0 80ad53c: 73fb strb r3, [r7, #15] BSP_LCD_DisplayStringAt(5, 60, (char *) FloatToASCII(f, mmm), LEFT_MODE); 80ad53e: f997 300f ldrsb.w r3, [r7, #15] 80ad542: 4618 mov r0, r3 80ad544: ed97 0a02 vldr s0, [r7, #8] 80ad548: f7b9 f8da bl 8066700 80ad54c: 4602 mov r2, r0 80ad54e: 2303 movs r3, #3 80ad550: 213c movs r1, #60 ; 0x3c 80ad552: 2005 movs r0, #5 80ad554: f7a6 f9f0 bl 8053938 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80ad558: 4963 ldr r1, [pc, #396] ; (80ad6e8 ) 80ad55a: f04f 30ff mov.w r0, #4294967295 80ad55e: f7a6 f925 bl 80537ac if(pardata.LANG == RUS) 80ad562: 4b62 ldr r3, [pc, #392] ; (80ad6ec ) 80ad564: 7b1b ldrb r3, [r3, #12] 80ad566: b2db uxtb r3, r3 80ad568: 2b00 cmp r3, #0 80ad56a: d170 bne.n 80ad64e { if(pardata.IIN != VOLTS) 80ad56c: 4b5f ldr r3, [pc, #380] ; (80ad6ec ) 80ad56e: 799b ldrb r3, [r3, #6] 80ad570: b2db uxtb r3, r3 80ad572: 2b02 cmp r3, #2 80ad574: d02e beq.n 80ad5d4 { if(pardata.IPR == ACC) 80ad576: 4b5d ldr r3, [pc, #372] ; (80ad6ec ) 80ad578: 785b ldrb r3, [r3, #1] 80ad57a: b2db uxtb r3, r3 80ad57c: 2b00 cmp r3, #0 80ad57e: d106 bne.n 80ad58e BSP_LCD_DisplayStringAt(58, 46, "ì/c^", RIGHT_MODE); 80ad580: 2302 movs r3, #2 80ad582: 4a62 ldr r2, [pc, #392] ; (80ad70c ) 80ad584: 212e movs r1, #46 ; 0x2e 80ad586: 203a movs r0, #58 ; 0x3a 80ad588: f7a6 f9d6 bl 8053938 80ad58c: e0f8 b.n 80ad780 else if(pardata.IPR == VEL) 80ad58e: 4b57 ldr r3, [pc, #348] ; (80ad6ec ) 80ad590: 785b ldrb r3, [r3, #1] 80ad592: b2db uxtb r3, r3 80ad594: 2b01 cmp r3, #1 80ad596: d106 bne.n 80ad5a6 BSP_LCD_DisplayStringAt(58, 46, "ìì/c", RIGHT_MODE); 80ad598: 2302 movs r3, #2 80ad59a: 4a5d ldr r2, [pc, #372] ; (80ad710 ) 80ad59c: 212e movs r1, #46 ; 0x2e 80ad59e: 203a movs r0, #58 ; 0x3a 80ad5a0: f7a6 f9ca bl 8053938 80ad5a4: e0ec b.n 80ad780 else if(pardata.IPR == DIS) 80ad5a6: 4b51 ldr r3, [pc, #324] ; (80ad6ec ) 80ad5a8: 785b ldrb r3, [r3, #1] 80ad5aa: b2db uxtb r3, r3 80ad5ac: 2b02 cmp r3, #2 80ad5ae: f040 80e7 bne.w 80ad780 { if(m == 0) 80ad5b2: 79fb ldrb r3, [r7, #7] 80ad5b4: 2b00 cmp r3, #0 80ad5b6: d106 bne.n 80ad5c6 BSP_LCD_DisplayStringAt(58, 46, "ìkì", RIGHT_MODE); 80ad5b8: 2302 movs r3, #2 80ad5ba: 4a56 ldr r2, [pc, #344] ; (80ad714 ) 80ad5bc: 212e movs r1, #46 ; 0x2e 80ad5be: 203a movs r0, #58 ; 0x3a 80ad5c0: f7a6 f9ba bl 8053938 80ad5c4: e0dc b.n 80ad780 else BSP_LCD_DisplayStringAt(58, 46, "ìì", RIGHT_MODE); 80ad5c6: 2302 movs r3, #2 80ad5c8: 4a53 ldr r2, [pc, #332] ; (80ad718 ) 80ad5ca: 212e movs r1, #46 ; 0x2e 80ad5cc: 203a movs r0, #58 ; 0x3a 80ad5ce: f7a6 f9b3 bl 8053938 80ad5d2: e0d5 b.n 80ad780 } } else { if(pardata.IPR == ACC) 80ad5d4: 4b45 ldr r3, [pc, #276] ; (80ad6ec ) 80ad5d6: 785b ldrb r3, [r3, #1] 80ad5d8: b2db uxtb r3, r3 80ad5da: 2b00 cmp r3, #0 80ad5dc: d106 bne.n 80ad5ec BSP_LCD_DisplayStringAt(58, 46, "ìÂ", RIGHT_MODE); 80ad5de: 2302 movs r3, #2 80ad5e0: 4a4e ldr r2, [pc, #312] ; (80ad71c ) 80ad5e2: 212e movs r1, #46 ; 0x2e 80ad5e4: 203a movs r0, #58 ; 0x3a 80ad5e6: f7a6 f9a7 bl 8053938 80ad5ea: e0c9 b.n 80ad780 else if(pardata.IPR == VEL) 80ad5ec: 4b3f ldr r3, [pc, #252] ; (80ad6ec ) 80ad5ee: 785b ldrb r3, [r3, #1] 80ad5f0: b2db uxtb r3, r3 80ad5f2: 2b01 cmp r3, #1 80ad5f4: d106 bne.n 80ad604 BSP_LCD_DisplayStringAt(58, 46, "ìÂ", RIGHT_MODE); 80ad5f6: 2302 movs r3, #2 80ad5f8: 4a48 ldr r2, [pc, #288] ; (80ad71c ) 80ad5fa: 212e movs r1, #46 ; 0x2e 80ad5fc: 203a movs r0, #58 ; 0x3a 80ad5fe: f7a6 f99b bl 8053938 80ad602: e0bd b.n 80ad780 else if(pardata.IPR == DIS) 80ad604: 4b39 ldr r3, [pc, #228] ; (80ad6ec ) 80ad606: 785b ldrb r3, [r3, #1] 80ad608: b2db uxtb r3, r3 80ad60a: 2b02 cmp r3, #2 80ad60c: f040 80b8 bne.w 80ad780 { if(m == 0) 80ad610: 79fb ldrb r3, [r7, #7] 80ad612: 2b00 cmp r3, #0 80ad614: d106 bne.n 80ad624 BSP_LCD_DisplayStringAt(58, 46, "ìÂ", RIGHT_MODE); 80ad616: 2302 movs r3, #2 80ad618: 4a40 ldr r2, [pc, #256] ; (80ad71c ) 80ad61a: 212e movs r1, #46 ; 0x2e 80ad61c: 203a movs r0, #58 ; 0x3a 80ad61e: f7a6 f98b bl 8053938 80ad622: e0ad b.n 80ad780 else if(m == 1) 80ad624: 79fb ldrb r3, [r7, #7] 80ad626: 2b01 cmp r3, #1 80ad628: d106 bne.n 80ad638 BSP_LCD_DisplayStringAt(58, 46, "Â", RIGHT_MODE); 80ad62a: 2302 movs r3, #2 80ad62c: 4a3c ldr r2, [pc, #240] ; (80ad720 ) 80ad62e: 212e movs r1, #46 ; 0x2e 80ad630: 203a movs r0, #58 ; 0x3a 80ad632: f7a6 f981 bl 8053938 80ad636: e0a3 b.n 80ad780 else if(m == 2) 80ad638: 79fb ldrb r3, [r7, #7] 80ad63a: 2b02 cmp r3, #2 80ad63c: f040 80a0 bne.w 80ad780 BSP_LCD_DisplayStringAt(58, 46, "ìkÂ", RIGHT_MODE); 80ad640: 2302 movs r3, #2 80ad642: 4a38 ldr r2, [pc, #224] ; (80ad724 ) 80ad644: 212e movs r1, #46 ; 0x2e 80ad646: 203a movs r0, #58 ; 0x3a 80ad648: f7a6 f976 bl 8053938 80ad64c: e098 b.n 80ad780 } } } else { if(pardata.IIN != VOLTS) 80ad64e: 4b27 ldr r3, [pc, #156] ; (80ad6ec ) 80ad650: 799b ldrb r3, [r3, #6] 80ad652: b2db uxtb r3, r3 80ad654: 2b02 cmp r3, #2 80ad656: d02d beq.n 80ad6b4 { if(pardata.IPR == ACC) 80ad658: 4b24 ldr r3, [pc, #144] ; (80ad6ec ) 80ad65a: 785b ldrb r3, [r3, #1] 80ad65c: b2db uxtb r3, r3 80ad65e: 2b00 cmp r3, #0 80ad660: d106 bne.n 80ad670 BSP_LCD_DisplayStringAt(58, 46, "m/s^", RIGHT_MODE); 80ad662: 2302 movs r3, #2 80ad664: 4a30 ldr r2, [pc, #192] ; (80ad728 ) 80ad666: 212e movs r1, #46 ; 0x2e 80ad668: 203a movs r0, #58 ; 0x3a 80ad66a: f7a6 f965 bl 8053938 80ad66e: e087 b.n 80ad780 else if(pardata.IPR == VEL) 80ad670: 4b1e ldr r3, [pc, #120] ; (80ad6ec ) 80ad672: 785b ldrb r3, [r3, #1] 80ad674: b2db uxtb r3, r3 80ad676: 2b01 cmp r3, #1 80ad678: d106 bne.n 80ad688 BSP_LCD_DisplayStringAt(58, 46, "mm/s", RIGHT_MODE); 80ad67a: 2302 movs r3, #2 80ad67c: 4a2b ldr r2, [pc, #172] ; (80ad72c ) 80ad67e: 212e movs r1, #46 ; 0x2e 80ad680: 203a movs r0, #58 ; 0x3a 80ad682: f7a6 f959 bl 8053938 80ad686: e07b b.n 80ad780 else if(pardata.IPR == DIS) 80ad688: 4b18 ldr r3, [pc, #96] ; (80ad6ec ) 80ad68a: 785b ldrb r3, [r3, #1] 80ad68c: b2db uxtb r3, r3 80ad68e: 2b02 cmp r3, #2 80ad690: d176 bne.n 80ad780 { if(m == 0) 80ad692: 79fb ldrb r3, [r7, #7] 80ad694: 2b00 cmp r3, #0 80ad696: d106 bne.n 80ad6a6 BSP_LCD_DisplayStringAt(58, 46, "um", RIGHT_MODE); 80ad698: 2302 movs r3, #2 80ad69a: 4a25 ldr r2, [pc, #148] ; (80ad730 ) 80ad69c: 212e movs r1, #46 ; 0x2e 80ad69e: 203a movs r0, #58 ; 0x3a 80ad6a0: f7a6 f94a bl 8053938 80ad6a4: e06c b.n 80ad780 else BSP_LCD_DisplayStringAt(58, 46, "mm", RIGHT_MODE); 80ad6a6: 2302 movs r3, #2 80ad6a8: 4a22 ldr r2, [pc, #136] ; (80ad734 ) 80ad6aa: 212e movs r1, #46 ; 0x2e 80ad6ac: 203a movs r0, #58 ; 0x3a 80ad6ae: f7a6 f943 bl 8053938 80ad6b2: e065 b.n 80ad780 } } else { if(pardata.IPR == ACC) 80ad6b4: 4b0d ldr r3, [pc, #52] ; (80ad6ec ) 80ad6b6: 785b ldrb r3, [r3, #1] 80ad6b8: b2db uxtb r3, r3 80ad6ba: 2b00 cmp r3, #0 80ad6bc: d106 bne.n 80ad6cc BSP_LCD_DisplayStringAt(58, 46, "mV", RIGHT_MODE); 80ad6be: 2302 movs r3, #2 80ad6c0: 4a1d ldr r2, [pc, #116] ; (80ad738 ) 80ad6c2: 212e movs r1, #46 ; 0x2e 80ad6c4: 203a movs r0, #58 ; 0x3a 80ad6c6: f7a6 f937 bl 8053938 80ad6ca: e059 b.n 80ad780 else if(pardata.IPR == VEL) 80ad6cc: 4b07 ldr r3, [pc, #28] ; (80ad6ec ) 80ad6ce: 785b ldrb r3, [r3, #1] 80ad6d0: b2db uxtb r3, r3 80ad6d2: 2b01 cmp r3, #1 80ad6d4: d132 bne.n 80ad73c BSP_LCD_DisplayStringAt(58, 46, "mV", RIGHT_MODE); 80ad6d6: 2302 movs r3, #2 80ad6d8: 4a17 ldr r2, [pc, #92] ; (80ad738 ) 80ad6da: 212e movs r1, #46 ; 0x2e 80ad6dc: 203a movs r0, #58 ; 0x3a 80ad6de: f7a6 f92b bl 8053938 80ad6e2: e04d b.n 80ad780 80ad6e4: 20020038 .word 0x20020038 80ad6e8: ff0a0f1f .word 0xff0a0f1f 80ad6ec: 20023e60 .word 0x20023e60 80ad6f0: 20021540 .word 0x20021540 80ad6f4: 447a0000 .word 0x447a0000 80ad6f8: 3a83126f .word 0x3a83126f 80ad6fc: 42c80000 .word 0x42c80000 80ad700: 461c4000 .word 0x461c4000 80ad704: 47c35000 .word 0x47c35000 80ad708: 49742400 .word 0x49742400 80ad70c: 080d09b8 .word 0x080d09b8 80ad710: 080d09c8 .word 0x080d09c8 80ad714: 080d09d8 .word 0x080d09d8 80ad718: 080d09b0 .word 0x080d09b0 80ad71c: 080d0b10 .word 0x080d0b10 80ad720: 080d0b14 .word 0x080d0b14 80ad724: 080d0b18 .word 0x080d0b18 80ad728: 080d09c0 .word 0x080d09c0 80ad72c: 080d09d0 .word 0x080d09d0 80ad730: 080d09dc .word 0x080d09dc 80ad734: 080d09b4 .word 0x080d09b4 80ad738: 080d0aa4 .word 0x080d0aa4 else if(pardata.IPR == DIS) 80ad73c: 4b24 ldr r3, [pc, #144] ; (80ad7d0 ) 80ad73e: 785b ldrb r3, [r3, #1] 80ad740: b2db uxtb r3, r3 80ad742: 2b02 cmp r3, #2 80ad744: d11c bne.n 80ad780 { if(m == 0) 80ad746: 79fb ldrb r3, [r7, #7] 80ad748: 2b00 cmp r3, #0 80ad74a: d106 bne.n 80ad75a BSP_LCD_DisplayStringAt(58, 46, "mV", RIGHT_MODE); 80ad74c: 2302 movs r3, #2 80ad74e: 4a21 ldr r2, [pc, #132] ; (80ad7d4 ) 80ad750: 212e movs r1, #46 ; 0x2e 80ad752: 203a movs r0, #58 ; 0x3a 80ad754: f7a6 f8f0 bl 8053938 80ad758: e012 b.n 80ad780 else if(m == 1) 80ad75a: 79fb ldrb r3, [r7, #7] 80ad75c: 2b01 cmp r3, #1 80ad75e: d106 bne.n 80ad76e BSP_LCD_DisplayStringAt(58, 46, "V", RIGHT_MODE); 80ad760: 2302 movs r3, #2 80ad762: 4a1d ldr r2, [pc, #116] ; (80ad7d8 ) 80ad764: 212e movs r1, #46 ; 0x2e 80ad766: 203a movs r0, #58 ; 0x3a 80ad768: f7a6 f8e6 bl 8053938 80ad76c: e008 b.n 80ad780 else if(m == 2) 80ad76e: 79fb ldrb r3, [r7, #7] 80ad770: 2b02 cmp r3, #2 80ad772: d105 bne.n 80ad780 BSP_LCD_DisplayStringAt(58, 46, "uV", RIGHT_MODE); 80ad774: 2302 movs r3, #2 80ad776: 4a19 ldr r2, [pc, #100] ; (80ad7dc ) 80ad778: 212e movs r1, #46 ; 0x2e 80ad77a: 203a movs r0, #58 ; 0x3a 80ad77c: f7a6 f8dc bl 8053938 } } } pch = (char *) FloatToASCII(skzDB[pardata.IPR], -1); 80ad780: 4b13 ldr r3, [pc, #76] ; (80ad7d0 ) 80ad782: 785b ldrb r3, [r3, #1] 80ad784: b2db uxtb r3, r3 80ad786: 4a16 ldr r2, [pc, #88] ; (80ad7e0 ) 80ad788: 009b lsls r3, r3, #2 80ad78a: 4413 add r3, r2 80ad78c: edd3 7a00 vldr s15, [r3] 80ad790: f04f 30ff mov.w r0, #4294967295 80ad794: eeb0 0a67 vmov.f32 s0, s15 80ad798: f7b8 ffb2 bl 8066700 80ad79c: 6038 str r0, [r7, #0] strcat(pch, " dB"); 80ad79e: 6838 ldr r0, [r7, #0] 80ad7a0: f772 fdb8 bl 8020314 80ad7a4: 4603 mov r3, r0 80ad7a6: 461a mov r2, r3 80ad7a8: 683b ldr r3, [r7, #0] 80ad7aa: 4413 add r3, r2 80ad7ac: 4a0d ldr r2, [pc, #52] ; (80ad7e4 ) 80ad7ae: 6810 ldr r0, [r2, #0] 80ad7b0: 6018 str r0, [r3, #0] LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80ad7b2: 490d ldr r1, [pc, #52] ; (80ad7e8 ) 80ad7b4: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80ad7b8: f7a5 fff8 bl 80537ac BSP_LCD_DisplayStringAt(30, 73, pch, CENTER_MODE); 80ad7bc: 2301 movs r3, #1 80ad7be: 683a ldr r2, [r7, #0] 80ad7c0: 2149 movs r1, #73 ; 0x49 80ad7c2: 201e movs r0, #30 80ad7c4: f7a6 f8b8 bl 8053938 //BSP_LCD_DisplayStringAt(41, 77, "dB", CENTER_MODE); } 80ad7c8: bf00 nop 80ad7ca: 3710 adds r7, #16 80ad7cc: 46bd mov sp, r7 80ad7ce: bd80 pop {r7, pc} 80ad7d0: 20023e60 .word 0x20023e60 80ad7d4: 080d0aa4 .word 0x080d0aa4 80ad7d8: 080ce6a0 .word 0x080ce6a0 80ad7dc: 080d0a0c .word 0x080d0a0c 80ad7e0: 2002154c .word 0x2002154c 80ad7e4: 080d0b1c .word 0x080d0b1c 80ad7e8: ff0a0f1f .word 0xff0a0f1f 080ad7ec : void DrawAVS(void) //TODO { 80ad7ec: b580 push {r7, lr} 80ad7ee: 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); 80ad7f0: 483f ldr r0, [pc, #252] ; (80ad8f0 ) 80ad7f2: f7a6 f817 bl 8053824 LCD_SetColors(LCD_COLOR_WHITE, 0xFF000000); 80ad7f6: f04f 417f mov.w r1, #4278190080 ; 0xff000000 80ad7fa: f04f 30ff mov.w r0, #4294967295 80ad7fe: f7a5 ffd5 bl 80537ac BSP_LCD_DisplayStringAt(66, 45, (char *) pIPR[pardata.LANG][pardata.IPR], LEFT_MODE); 80ad802: 4b3c ldr r3, [pc, #240] ; (80ad8f4 ) 80ad804: 7b1b ldrb r3, [r3, #12] 80ad806: b2db uxtb r3, r3 80ad808: 4619 mov r1, r3 80ad80a: 4b3a ldr r3, [pc, #232] ; (80ad8f4 ) 80ad80c: 785b ldrb r3, [r3, #1] 80ad80e: b2db uxtb r3, r3 80ad810: 4618 mov r0, r3 80ad812: 4a39 ldr r2, [pc, #228] ; (80ad8f8 ) 80ad814: 460b mov r3, r1 80ad816: 005b lsls r3, r3, #1 80ad818: 440b add r3, r1 80ad81a: 4403 add r3, r0 80ad81c: f852 2023 ldr.w r2, [r2, r3, lsl #2] 80ad820: 2303 movs r3, #3 80ad822: 212d movs r1, #45 ; 0x2d 80ad824: 2042 movs r0, #66 ; 0x42 80ad826: f7a6 f887 bl 8053938 BSP_LCD_SetFont(&Font12); 80ad82a: 4834 ldr r0, [pc, #208] ; (80ad8fc ) 80ad82c: f7a5 fffa bl 8053824 if((menu == MAIN_ROLL) || (menu == VIEW_PORTRET) || (menu == ROLL_RESULTS)) 80ad830: 4b33 ldr r3, [pc, #204] ; (80ad900 ) 80ad832: 781b ldrb r3, [r3, #0] 80ad834: b2db uxtb r3, r3 80ad836: 2b24 cmp r3, #36 ; 0x24 80ad838: d009 beq.n 80ad84e 80ad83a: 4b31 ldr r3, [pc, #196] ; (80ad900 ) 80ad83c: 781b ldrb r3, [r3, #0] 80ad83e: b2db uxtb r3, r3 80ad840: 2b28 cmp r3, #40 ; 0x28 80ad842: d004 beq.n 80ad84e 80ad844: 4b2e ldr r3, [pc, #184] ; (80ad900 ) 80ad846: 781b ldrb r3, [r3, #0] 80ad848: b2db uxtb r3, r3 80ad84a: 2b27 cmp r3, #39 ; 0x27 80ad84c: d106 bne.n 80ad85c { BSP_LCD_DisplayStringAt(83, 53, ",dB", LEFT_MODE); 80ad84e: 2303 movs r3, #3 80ad850: 4a2c ldr r2, [pc, #176] ; (80ad904 ) 80ad852: 2135 movs r1, #53 ; 0x35 80ad854: 2053 movs r0, #83 ; 0x53 80ad856: f7a6 f86f bl 8053938 } else BSP_LCD_DisplayStringAt(83, 53, ",dB", LEFT_MODE); } }*/ } 80ad85a: e047 b.n 80ad8ec if((menu == MAIN_SPEC_OKT) || (menu == MAIN_SPEC_THIRD) || (menu == MAIN_SPEC) || (menu == MAIN_SPEC_OGIB)) 80ad85c: 4b28 ldr r3, [pc, #160] ; (80ad900 ) 80ad85e: 781b ldrb r3, [r3, #0] 80ad860: b2db uxtb r3, r3 80ad862: 2b22 cmp r3, #34 ; 0x22 80ad864: d00e beq.n 80ad884 80ad866: 4b26 ldr r3, [pc, #152] ; (80ad900 ) 80ad868: 781b ldrb r3, [r3, #0] 80ad86a: b2db uxtb r3, r3 80ad86c: 2b23 cmp r3, #35 ; 0x23 80ad86e: d009 beq.n 80ad884 80ad870: 4b23 ldr r3, [pc, #140] ; (80ad900 ) 80ad872: 781b ldrb r3, [r3, #0] 80ad874: b2db uxtb r3, r3 80ad876: 2b1c cmp r3, #28 80ad878: d004 beq.n 80ad884 80ad87a: 4b21 ldr r3, [pc, #132] ; (80ad900 ) 80ad87c: 781b ldrb r3, [r3, #0] 80ad87e: b2db uxtb r3, r3 80ad880: 2b21 cmp r3, #33 ; 0x21 80ad882: d133 bne.n 80ad8ec if(pardata.MSH == LOG) 80ad884: 4b1b ldr r3, [pc, #108] ; (80ad8f4 ) 80ad886: 7a9b ldrb r3, [r3, #10] 80ad888: b2db uxtb r3, r3 80ad88a: 2b01 cmp r3, #1 80ad88c: d117 bne.n 80ad8be BSP_LCD_DisplayStringAt(83, 53, (char *) pTEXT_DB[pardata.LANG][pardata.IVS[pardata.IPR]], LEFT_MODE); 80ad88e: 4b19 ldr r3, [pc, #100] ; (80ad8f4 ) 80ad890: 7b1b ldrb r3, [r3, #12] 80ad892: b2db uxtb r3, r3 80ad894: 4618 mov r0, r3 80ad896: 4b17 ldr r3, [pc, #92] ; (80ad8f4 ) 80ad898: 785b ldrb r3, [r3, #1] 80ad89a: b2db uxtb r3, r3 80ad89c: 461a mov r2, r3 80ad89e: 4b15 ldr r3, [pc, #84] ; (80ad8f4 ) 80ad8a0: 4413 add r3, r2 80ad8a2: 789b ldrb r3, [r3, #2] 80ad8a4: b2db uxtb r3, r3 80ad8a6: 4619 mov r1, r3 80ad8a8: 4a17 ldr r2, [pc, #92] ; (80ad908 ) 80ad8aa: 0043 lsls r3, r0, #1 80ad8ac: 440b add r3, r1 80ad8ae: f852 2023 ldr.w r2, [r2, r3, lsl #2] 80ad8b2: 2303 movs r3, #3 80ad8b4: 2135 movs r1, #53 ; 0x35 80ad8b6: 2053 movs r0, #83 ; 0x53 80ad8b8: f7a6 f83e bl 8053938 } 80ad8bc: e016 b.n 80ad8ec else BSP_LCD_DisplayStringAt(83, 53, (char *) pTEXT[pardata.LANG][pardata.IVS[pardata.IPR]], LEFT_MODE); 80ad8be: 4b0d ldr r3, [pc, #52] ; (80ad8f4 ) 80ad8c0: 7b1b ldrb r3, [r3, #12] 80ad8c2: b2db uxtb r3, r3 80ad8c4: 4618 mov r0, r3 80ad8c6: 4b0b ldr r3, [pc, #44] ; (80ad8f4 ) 80ad8c8: 785b ldrb r3, [r3, #1] 80ad8ca: b2db uxtb r3, r3 80ad8cc: 461a mov r2, r3 80ad8ce: 4b09 ldr r3, [pc, #36] ; (80ad8f4 ) 80ad8d0: 4413 add r3, r2 80ad8d2: 789b ldrb r3, [r3, #2] 80ad8d4: b2db uxtb r3, r3 80ad8d6: 4619 mov r1, r3 80ad8d8: 4a0c ldr r2, [pc, #48] ; (80ad90c ) 80ad8da: 0043 lsls r3, r0, #1 80ad8dc: 440b add r3, r1 80ad8de: f852 2023 ldr.w r2, [r2, r3, lsl #2] 80ad8e2: 2303 movs r3, #3 80ad8e4: 2135 movs r1, #53 ; 0x35 80ad8e6: 2053 movs r0, #83 ; 0x53 80ad8e8: f7a6 f826 bl 8053938 } 80ad8ec: bf00 nop 80ad8ee: bd80 pop {r7, pc} 80ad8f0: 20020058 .word 0x20020058 80ad8f4: 20023e60 .word 0x20023e60 80ad8f8: 20020164 .word 0x20020164 80ad8fc: 20020038 .word 0x20020038 80ad900: 20020f78 .word 0x20020f78 80ad904: 080d0b20 .word 0x080d0b20 80ad908: 20020994 .word 0x20020994 80ad90c: 200209a4 .word 0x200209a4 080ad910 : void DrawKeyboard(void) { 80ad910: b580 push {r7, lr} 80ad912: b084 sub sp, #16 80ad914: af00 add r7, sp, #0 uint32_t i, j; char Bukva[2] = {'\0','\0'}; 80ad916: 2300 movs r3, #0 80ad918: 713b strb r3, [r7, #4] 80ad91a: 2300 movs r3, #0 80ad91c: 717b strb r3, [r7, #5] BSP_LCD_SetFont(&Font12); 80ad91e: 48ba ldr r0, [pc, #744] ; (80adc08 ) 80ad920: f7a5 ff80 bl 8053824 for(j = 0; j < 3; j++) 80ad924: 2300 movs r3, #0 80ad926: 60bb str r3, [r7, #8] 80ad928: e0aa b.n 80ada80 { for(i = 0; i < 10; i++) 80ad92a: 2300 movs r3, #0 80ad92c: 60fb str r3, [r7, #12] 80ad92e: e0a0 b.n 80ada72 { if(menupos != (j*10 + i)) 80ad930: 4bb6 ldr r3, [pc, #728] ; (80adc0c ) 80ad932: 781b ldrb r3, [r3, #0] 80ad934: b2db uxtb r3, r3 80ad936: 4619 mov r1, r3 80ad938: 68ba ldr r2, [r7, #8] 80ad93a: 4613 mov r3, r2 80ad93c: 009b lsls r3, r3, #2 80ad93e: 4413 add r3, r2 80ad940: 005b lsls r3, r3, #1 80ad942: 461a mov r2, r3 80ad944: 68fb ldr r3, [r7, #12] 80ad946: 4413 add r3, r2 80ad948: 4299 cmp r1, r3 80ad94a: d047 beq.n 80ad9dc { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80ad94c: 49b0 ldr r1, [pc, #704] ; (80adc10 ) 80ad94e: 48b1 ldr r0, [pc, #708] ; (80adc14 ) 80ad950: f7a5 ff2c bl 80537ac BSP_LCD_DrawRect(26 + 26*i, 120 + 22*j, 25, 21); 80ad954: 68fb ldr r3, [r7, #12] 80ad956: 3301 adds r3, #1 80ad958: b29b uxth r3, r3 80ad95a: 461a mov r2, r3 80ad95c: 0052 lsls r2, r2, #1 80ad95e: 441a add r2, r3 80ad960: 0092 lsls r2, r2, #2 80ad962: 4413 add r3, r2 80ad964: 005b lsls r3, r3, #1 80ad966: b298 uxth r0, r3 80ad968: 68bb ldr r3, [r7, #8] 80ad96a: b29b uxth r3, r3 80ad96c: 461a mov r2, r3 80ad96e: 0092 lsls r2, r2, #2 80ad970: 441a add r2, r3 80ad972: 0052 lsls r2, r2, #1 80ad974: 4413 add r3, r2 80ad976: 005b lsls r3, r3, #1 80ad978: b29b uxth r3, r3 80ad97a: 3378 adds r3, #120 ; 0x78 80ad97c: b299 uxth r1, r3 80ad97e: 2315 movs r3, #21 80ad980: 2219 movs r2, #25 80ad982: f7a6 fa19 bl 8053db8 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80ad986: 49a2 ldr r1, [pc, #648] ; (80adc10 ) 80ad988: f04f 30ff mov.w r0, #4294967295 80ad98c: f7a5 ff0e bl 80537ac Bukva[0] = CHARS_ENG[j*10 + i]; 80ad990: 68ba ldr r2, [r7, #8] 80ad992: 4613 mov r3, r2 80ad994: 009b lsls r3, r3, #2 80ad996: 4413 add r3, r2 80ad998: 005b lsls r3, r3, #1 80ad99a: 461a mov r2, r3 80ad99c: 68fb ldr r3, [r7, #12] 80ad99e: 4413 add r3, r2 80ad9a0: 4a9d ldr r2, [pc, #628] ; (80adc18 ) 80ad9a2: 5cd3 ldrb r3, [r2, r3] 80ad9a4: 713b strb r3, [r7, #4] BSP_LCD_DisplayStringAt(37 + 26*i, 126 + 22*j, Bukva, LEFT_MODE); 80ad9a6: 68fb ldr r3, [r7, #12] 80ad9a8: b29b uxth r3, r3 80ad9aa: 461a mov r2, r3 80ad9ac: 0052 lsls r2, r2, #1 80ad9ae: 441a add r2, r3 80ad9b0: 0092 lsls r2, r2, #2 80ad9b2: 4413 add r3, r2 80ad9b4: 005b lsls r3, r3, #1 80ad9b6: b29b uxth r3, r3 80ad9b8: 3325 adds r3, #37 ; 0x25 80ad9ba: b298 uxth r0, r3 80ad9bc: 68bb ldr r3, [r7, #8] 80ad9be: b29b uxth r3, r3 80ad9c0: 461a mov r2, r3 80ad9c2: 0092 lsls r2, r2, #2 80ad9c4: 441a add r2, r3 80ad9c6: 0052 lsls r2, r2, #1 80ad9c8: 4413 add r3, r2 80ad9ca: 005b lsls r3, r3, #1 80ad9cc: b29b uxth r3, r3 80ad9ce: 337e adds r3, #126 ; 0x7e 80ad9d0: b299 uxth r1, r3 80ad9d2: 1d3a adds r2, r7, #4 80ad9d4: 2303 movs r3, #3 80ad9d6: f7a5 ffaf bl 8053938 80ad9da: e047 b.n 80ada6c } else { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80ad9dc: 498c ldr r1, [pc, #560] ; (80adc10 ) 80ad9de: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80ad9e2: f7a5 fee3 bl 80537ac BSP_LCD_DrawRect(26 + 26*i, 120 + 22*j, 25, 21); 80ad9e6: 68fb ldr r3, [r7, #12] 80ad9e8: 3301 adds r3, #1 80ad9ea: b29b uxth r3, r3 80ad9ec: 461a mov r2, r3 80ad9ee: 0052 lsls r2, r2, #1 80ad9f0: 441a add r2, r3 80ad9f2: 0092 lsls r2, r2, #2 80ad9f4: 4413 add r3, r2 80ad9f6: 005b lsls r3, r3, #1 80ad9f8: b298 uxth r0, r3 80ad9fa: 68bb ldr r3, [r7, #8] 80ad9fc: b29b uxth r3, r3 80ad9fe: 461a mov r2, r3 80ada00: 0092 lsls r2, r2, #2 80ada02: 441a add r2, r3 80ada04: 0052 lsls r2, r2, #1 80ada06: 4413 add r3, r2 80ada08: 005b lsls r3, r3, #1 80ada0a: b29b uxth r3, r3 80ada0c: 3378 adds r3, #120 ; 0x78 80ada0e: b299 uxth r1, r3 80ada10: 2315 movs r3, #21 80ada12: 2219 movs r2, #25 80ada14: f7a6 f9d0 bl 8053db8 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80ada18: 497d ldr r1, [pc, #500] ; (80adc10 ) 80ada1a: f04f 30ff mov.w r0, #4294967295 80ada1e: f7a5 fec5 bl 80537ac Bukva[0] = CHARS_ENG[j*10 + i]; 80ada22: 68ba ldr r2, [r7, #8] 80ada24: 4613 mov r3, r2 80ada26: 009b lsls r3, r3, #2 80ada28: 4413 add r3, r2 80ada2a: 005b lsls r3, r3, #1 80ada2c: 461a mov r2, r3 80ada2e: 68fb ldr r3, [r7, #12] 80ada30: 4413 add r3, r2 80ada32: 4a79 ldr r2, [pc, #484] ; (80adc18 ) 80ada34: 5cd3 ldrb r3, [r2, r3] 80ada36: 713b strb r3, [r7, #4] BSP_LCD_DisplayStringAt(37 + 26*i, 126 + 22*j, Bukva, LEFT_MODE); 80ada38: 68fb ldr r3, [r7, #12] 80ada3a: b29b uxth r3, r3 80ada3c: 461a mov r2, r3 80ada3e: 0052 lsls r2, r2, #1 80ada40: 441a add r2, r3 80ada42: 0092 lsls r2, r2, #2 80ada44: 4413 add r3, r2 80ada46: 005b lsls r3, r3, #1 80ada48: b29b uxth r3, r3 80ada4a: 3325 adds r3, #37 ; 0x25 80ada4c: b298 uxth r0, r3 80ada4e: 68bb ldr r3, [r7, #8] 80ada50: b29b uxth r3, r3 80ada52: 461a mov r2, r3 80ada54: 0092 lsls r2, r2, #2 80ada56: 441a add r2, r3 80ada58: 0052 lsls r2, r2, #1 80ada5a: 4413 add r3, r2 80ada5c: 005b lsls r3, r3, #1 80ada5e: b29b uxth r3, r3 80ada60: 337e adds r3, #126 ; 0x7e 80ada62: b299 uxth r1, r3 80ada64: 1d3a adds r2, r7, #4 80ada66: 2303 movs r3, #3 80ada68: f7a5 ff66 bl 8053938 for(i = 0; i < 10; i++) 80ada6c: 68fb ldr r3, [r7, #12] 80ada6e: 3301 adds r3, #1 80ada70: 60fb str r3, [r7, #12] 80ada72: 68fb ldr r3, [r7, #12] 80ada74: 2b09 cmp r3, #9 80ada76: f67f af5b bls.w 80ad930 for(j = 0; j < 3; j++) 80ada7a: 68bb ldr r3, [r7, #8] 80ada7c: 3301 adds r3, #1 80ada7e: 60bb str r3, [r7, #8] 80ada80: 68bb ldr r3, [r7, #8] 80ada82: 2b02 cmp r3, #2 80ada84: f67f af51 bls.w 80ad92a } } } i = 0; 80ada88: 2300 movs r3, #0 80ada8a: 60fb str r3, [r7, #12] do { if(i < 4) 80ada8c: 68fb ldr r3, [r7, #12] 80ada8e: 2b03 cmp r3, #3 80ada90: d864 bhi.n 80adb5c { if(menupos != (30 + i)) 80ada92: 4b5e ldr r3, [pc, #376] ; (80adc0c ) 80ada94: 781b ldrb r3, [r3, #0] 80ada96: b2db uxtb r3, r3 80ada98: 461a mov r2, r3 80ada9a: 68fb ldr r3, [r7, #12] 80ada9c: 331e adds r3, #30 80ada9e: 429a cmp r2, r3 80adaa0: d02d beq.n 80adafe { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80adaa2: 495b ldr r1, [pc, #364] ; (80adc10 ) 80adaa4: 485b ldr r0, [pc, #364] ; (80adc14 ) 80adaa6: f7a5 fe81 bl 80537ac BSP_LCD_DrawRect(26 + 26*i, 186, 25, 21); 80adaaa: 68fb ldr r3, [r7, #12] 80adaac: 3301 adds r3, #1 80adaae: b29b uxth r3, r3 80adab0: 461a mov r2, r3 80adab2: 0052 lsls r2, r2, #1 80adab4: 441a add r2, r3 80adab6: 0092 lsls r2, r2, #2 80adab8: 4413 add r3, r2 80adaba: 005b lsls r3, r3, #1 80adabc: b298 uxth r0, r3 80adabe: 2315 movs r3, #21 80adac0: 2219 movs r2, #25 80adac2: 21ba movs r1, #186 ; 0xba 80adac4: f7a6 f978 bl 8053db8 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80adac8: 4951 ldr r1, [pc, #324] ; (80adc10 ) 80adaca: f04f 30ff mov.w r0, #4294967295 80adace: f7a5 fe6d bl 80537ac Bukva[0] = CHARS_ENG[30 + i]; 80adad2: 68fb ldr r3, [r7, #12] 80adad4: 331e adds r3, #30 80adad6: 4a50 ldr r2, [pc, #320] ; (80adc18 ) 80adad8: 5cd3 ldrb r3, [r2, r3] 80adada: 713b strb r3, [r7, #4] BSP_LCD_DisplayStringAt(37 + 26*i, 192, Bukva, LEFT_MODE); 80adadc: 68fb ldr r3, [r7, #12] 80adade: b29b uxth r3, r3 80adae0: 461a mov r2, r3 80adae2: 0052 lsls r2, r2, #1 80adae4: 441a add r2, r3 80adae6: 0092 lsls r2, r2, #2 80adae8: 4413 add r3, r2 80adaea: 005b lsls r3, r3, #1 80adaec: b29b uxth r3, r3 80adaee: 3325 adds r3, #37 ; 0x25 80adaf0: b298 uxth r0, r3 80adaf2: 1d3a adds r2, r7, #4 80adaf4: 2303 movs r3, #3 80adaf6: 21c0 movs r1, #192 ; 0xc0 80adaf8: f7a5 ff1e bl 8053938 80adafc: e0bd b.n 80adc7a } else { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80adafe: 4944 ldr r1, [pc, #272] ; (80adc10 ) 80adb00: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80adb04: f7a5 fe52 bl 80537ac BSP_LCD_DrawRect(26 + 26*i, 186, 25, 21); 80adb08: 68fb ldr r3, [r7, #12] 80adb0a: 3301 adds r3, #1 80adb0c: b29b uxth r3, r3 80adb0e: 461a mov r2, r3 80adb10: 0052 lsls r2, r2, #1 80adb12: 441a add r2, r3 80adb14: 0092 lsls r2, r2, #2 80adb16: 4413 add r3, r2 80adb18: 005b lsls r3, r3, #1 80adb1a: b298 uxth r0, r3 80adb1c: 2315 movs r3, #21 80adb1e: 2219 movs r2, #25 80adb20: 21ba movs r1, #186 ; 0xba 80adb22: f7a6 f949 bl 8053db8 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80adb26: 493a ldr r1, [pc, #232] ; (80adc10 ) 80adb28: f04f 30ff mov.w r0, #4294967295 80adb2c: f7a5 fe3e bl 80537ac Bukva[0] = CHARS_ENG[30 + i]; 80adb30: 68fb ldr r3, [r7, #12] 80adb32: 331e adds r3, #30 80adb34: 4a38 ldr r2, [pc, #224] ; (80adc18 ) 80adb36: 5cd3 ldrb r3, [r2, r3] 80adb38: 713b strb r3, [r7, #4] BSP_LCD_DisplayStringAt(37 + 26*i, 192, Bukva, LEFT_MODE); 80adb3a: 68fb ldr r3, [r7, #12] 80adb3c: b29b uxth r3, r3 80adb3e: 461a mov r2, r3 80adb40: 0052 lsls r2, r2, #1 80adb42: 441a add r2, r3 80adb44: 0092 lsls r2, r2, #2 80adb46: 4413 add r3, r2 80adb48: 005b lsls r3, r3, #1 80adb4a: b29b uxth r3, r3 80adb4c: 3325 adds r3, #37 ; 0x25 80adb4e: b298 uxth r0, r3 80adb50: 1d3a adds r2, r7, #4 80adb52: 2303 movs r3, #3 80adb54: 21c0 movs r1, #192 ; 0xc0 80adb56: f7a5 feef bl 8053938 80adb5a: e08e b.n 80adc7a } } else if(i == 4) 80adb5c: 68fb ldr r3, [r7, #12] 80adb5e: 2b04 cmp r3, #4 80adb60: d11b bne.n 80adb9a { /*"Space" button */ if(menupos != 34) 80adb62: 4b2a ldr r3, [pc, #168] ; (80adc0c ) 80adb64: 781b ldrb r3, [r3, #0] 80adb66: b2db uxtb r3, r3 80adb68: 2b22 cmp r3, #34 ; 0x22 80adb6a: d00a beq.n 80adb82 { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80adb6c: 4928 ldr r1, [pc, #160] ; (80adc10 ) 80adb6e: 4829 ldr r0, [pc, #164] ; (80adc14 ) 80adb70: f7a5 fe1c bl 80537ac BSP_LCD_DrawRect(130, 186, 77, 21); 80adb74: 2315 movs r3, #21 80adb76: 224d movs r2, #77 ; 0x4d 80adb78: 21ba movs r1, #186 ; 0xba 80adb7a: 2082 movs r0, #130 ; 0x82 80adb7c: f7a6 f91c bl 8053db8 80adb80: e07b b.n 80adc7a } else { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80adb82: 4923 ldr r1, [pc, #140] ; (80adc10 ) 80adb84: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80adb88: f7a5 fe10 bl 80537ac BSP_LCD_DrawRect(130, 186, 77, 21); 80adb8c: 2315 movs r3, #21 80adb8e: 224d movs r2, #77 ; 0x4d 80adb90: 21ba movs r1, #186 ; 0xba 80adb92: 2082 movs r0, #130 ; 0x82 80adb94: f7a6 f910 bl 8053db8 80adb98: e06f b.n 80adc7a } } else { /* After "Space" button*/ if(menupos != (30 + i)) 80adb9a: 4b1c ldr r3, [pc, #112] ; (80adc0c ) 80adb9c: 781b ldrb r3, [r3, #0] 80adb9e: b2db uxtb r3, r3 80adba0: 461a mov r2, r3 80adba2: 68fb ldr r3, [r7, #12] 80adba4: 331e adds r3, #30 80adba6: 429a cmp r2, r3 80adba8: d038 beq.n 80adc1c { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80adbaa: 4919 ldr r1, [pc, #100] ; (80adc10 ) 80adbac: 4819 ldr r0, [pc, #100] ; (80adc14 ) 80adbae: f7a5 fdfd bl 80537ac BSP_LCD_DrawRect(78 + 26*i, 186, 25, 21); 80adbb2: 68fb ldr r3, [r7, #12] 80adbb4: b29b uxth r3, r3 80adbb6: 461a mov r2, r3 80adbb8: 0052 lsls r2, r2, #1 80adbba: 441a add r2, r3 80adbbc: 0092 lsls r2, r2, #2 80adbbe: 4413 add r3, r2 80adbc0: 005b lsls r3, r3, #1 80adbc2: b29b uxth r3, r3 80adbc4: 334e adds r3, #78 ; 0x4e 80adbc6: b298 uxth r0, r3 80adbc8: 2315 movs r3, #21 80adbca: 2219 movs r2, #25 80adbcc: 21ba movs r1, #186 ; 0xba 80adbce: f7a6 f8f3 bl 8053db8 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80adbd2: 490f ldr r1, [pc, #60] ; (80adc10 ) 80adbd4: f04f 30ff mov.w r0, #4294967295 80adbd8: f7a5 fde8 bl 80537ac Bukva[0] = CHARS_ENG[30 + i]; 80adbdc: 68fb ldr r3, [r7, #12] 80adbde: 331e adds r3, #30 80adbe0: 4a0d ldr r2, [pc, #52] ; (80adc18 ) 80adbe2: 5cd3 ldrb r3, [r2, r3] 80adbe4: 713b strb r3, [r7, #4] BSP_LCD_DisplayStringAt(89 + 26*i, 192, Bukva, LEFT_MODE); 80adbe6: 68fb ldr r3, [r7, #12] 80adbe8: b29b uxth r3, r3 80adbea: 461a mov r2, r3 80adbec: 0052 lsls r2, r2, #1 80adbee: 441a add r2, r3 80adbf0: 0092 lsls r2, r2, #2 80adbf2: 4413 add r3, r2 80adbf4: 005b lsls r3, r3, #1 80adbf6: b29b uxth r3, r3 80adbf8: 3359 adds r3, #89 ; 0x59 80adbfa: b298 uxth r0, r3 80adbfc: 1d3a adds r2, r7, #4 80adbfe: 2303 movs r3, #3 80adc00: 21c0 movs r1, #192 ; 0xc0 80adc02: f7a5 fe99 bl 8053938 80adc06: e038 b.n 80adc7a 80adc08: 20020038 .word 0x20020038 80adc0c: 20020070 .word 0x20020070 80adc10: ff0a0f1f .word 0xff0a0f1f 80adc14: ff808080 .word 0xff808080 80adc18: 080ef5c8 .word 0x080ef5c8 } else { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80adc1c: 495c ldr r1, [pc, #368] ; (80add90 ) 80adc1e: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80adc22: f7a5 fdc3 bl 80537ac BSP_LCD_DrawRect(78 + 26*i, 186, 25, 21); 80adc26: 68fb ldr r3, [r7, #12] 80adc28: b29b uxth r3, r3 80adc2a: 461a mov r2, r3 80adc2c: 0052 lsls r2, r2, #1 80adc2e: 441a add r2, r3 80adc30: 0092 lsls r2, r2, #2 80adc32: 4413 add r3, r2 80adc34: 005b lsls r3, r3, #1 80adc36: b29b uxth r3, r3 80adc38: 334e adds r3, #78 ; 0x4e 80adc3a: b298 uxth r0, r3 80adc3c: 2315 movs r3, #21 80adc3e: 2219 movs r2, #25 80adc40: 21ba movs r1, #186 ; 0xba 80adc42: f7a6 f8b9 bl 8053db8 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80adc46: 4952 ldr r1, [pc, #328] ; (80add90 ) 80adc48: f04f 30ff mov.w r0, #4294967295 80adc4c: f7a5 fdae bl 80537ac Bukva[0] = CHARS_ENG[30 + i]; 80adc50: 68fb ldr r3, [r7, #12] 80adc52: 331e adds r3, #30 80adc54: 4a4f ldr r2, [pc, #316] ; (80add94 ) 80adc56: 5cd3 ldrb r3, [r2, r3] 80adc58: 713b strb r3, [r7, #4] BSP_LCD_DisplayStringAt(89 + 26*i, 192, Bukva, LEFT_MODE); 80adc5a: 68fb ldr r3, [r7, #12] 80adc5c: b29b uxth r3, r3 80adc5e: 461a mov r2, r3 80adc60: 0052 lsls r2, r2, #1 80adc62: 441a add r2, r3 80adc64: 0092 lsls r2, r2, #2 80adc66: 4413 add r3, r2 80adc68: 005b lsls r3, r3, #1 80adc6a: b29b uxth r3, r3 80adc6c: 3359 adds r3, #89 ; 0x59 80adc6e: b298 uxth r0, r3 80adc70: 1d3a adds r2, r7, #4 80adc72: 2303 movs r3, #3 80adc74: 21c0 movs r1, #192 ; 0xc0 80adc76: f7a5 fe5f bl 8053938 } } } while(++i < 8); 80adc7a: 68fb ldr r3, [r7, #12] 80adc7c: 3301 adds r3, #1 80adc7e: 60fb str r3, [r7, #12] 80adc80: 68fb ldr r3, [r7, #12] 80adc82: 2b07 cmp r3, #7 80adc84: f67f af02 bls.w 80ada8c /* "OK" button */ if(menupos != _ENTER) 80adc88: 4b43 ldr r3, [pc, #268] ; (80add98 ) 80adc8a: 781b ldrb r3, [r3, #0] 80adc8c: b2db uxtb r3, r3 80adc8e: 2b26 cmp r3, #38 ; 0x26 80adc90: d015 beq.n 80adcbe { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80adc92: 493f ldr r1, [pc, #252] ; (80add90 ) 80adc94: 4841 ldr r0, [pc, #260] ; (80add9c ) 80adc96: f7a5 fd89 bl 80537ac BSP_LCD_DrawRect(95, 209, 50, 21); 80adc9a: 2315 movs r3, #21 80adc9c: 2232 movs r2, #50 ; 0x32 80adc9e: 21d1 movs r1, #209 ; 0xd1 80adca0: 205f movs r0, #95 ; 0x5f 80adca2: f7a6 f889 bl 8053db8 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80adca6: 493a ldr r1, [pc, #232] ; (80add90 ) 80adca8: f04f 30ff mov.w r0, #4294967295 80adcac: f7a5 fd7e bl 80537ac BSP_LCD_DisplayStringAt(120, 215, "OK", CENTER_MODE); 80adcb0: 2301 movs r3, #1 80adcb2: 4a3b ldr r2, [pc, #236] ; (80adda0 ) 80adcb4: 21d7 movs r1, #215 ; 0xd7 80adcb6: 2078 movs r0, #120 ; 0x78 80adcb8: f7a5 fe3e bl 8053938 80adcbc: e015 b.n 80adcea } else { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80adcbe: 4934 ldr r1, [pc, #208] ; (80add90 ) 80adcc0: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80adcc4: f7a5 fd72 bl 80537ac BSP_LCD_DrawRect(95, 209, 50, 21); 80adcc8: 2315 movs r3, #21 80adcca: 2232 movs r2, #50 ; 0x32 80adccc: 21d1 movs r1, #209 ; 0xd1 80adcce: 205f movs r0, #95 ; 0x5f 80adcd0: f7a6 f872 bl 8053db8 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80adcd4: 492e ldr r1, [pc, #184] ; (80add90 ) 80adcd6: f04f 30ff mov.w r0, #4294967295 80adcda: f7a5 fd67 bl 80537ac BSP_LCD_DisplayStringAt(120, 215, "OK", CENTER_MODE); 80adcde: 2301 movs r3, #1 80adce0: 4a2f ldr r2, [pc, #188] ; (80adda0 ) 80adce2: 21d7 movs r1, #215 ; 0xd7 80adce4: 2078 movs r0, #120 ; 0x78 80adce6: f7a5 fe27 bl 8053938 } /* "Cancel" button */ if(menupos != _CANCEL) 80adcea: 4b2b ldr r3, [pc, #172] ; (80add98 ) 80adcec: 781b ldrb r3, [r3, #0] 80adcee: b2db uxtb r3, r3 80adcf0: 2b27 cmp r3, #39 ; 0x27 80adcf2: d021 beq.n 80add38 { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80adcf4: 4926 ldr r1, [pc, #152] ; (80add90 ) 80adcf6: 4829 ldr r0, [pc, #164] ; (80add9c ) 80adcf8: f7a5 fd58 bl 80537ac BSP_LCD_DrawRect(175, 209, 50, 21); 80adcfc: 2315 movs r3, #21 80adcfe: 2232 movs r2, #50 ; 0x32 80add00: 21d1 movs r1, #209 ; 0xd1 80add02: 20af movs r0, #175 ; 0xaf 80add04: f7a6 f858 bl 8053db8 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80add08: 4921 ldr r1, [pc, #132] ; (80add90 ) 80add0a: f04f 30ff mov.w r0, #4294967295 80add0e: f7a5 fd4d bl 80537ac if(pardata.LANG == RUS) 80add12: 4b24 ldr r3, [pc, #144] ; (80adda4 ) 80add14: 7b1b ldrb r3, [r3, #12] 80add16: b2db uxtb r3, r3 80add18: 2b00 cmp r3, #0 80add1a: d106 bne.n 80add2a BSP_LCD_DisplayStringAt(200, 215, "OTMEHA", CENTER_MODE); 80add1c: 2301 movs r3, #1 80add1e: 4a22 ldr r2, [pc, #136] ; (80adda8 ) 80add20: 21d7 movs r1, #215 ; 0xd7 80add22: 20c8 movs r0, #200 ; 0xc8 80add24: f7a5 fe08 bl 8053938 80add28: e028 b.n 80add7c else BSP_LCD_DisplayStringAt(200, 215, "CANCEL", CENTER_MODE); 80add2a: 2301 movs r3, #1 80add2c: 4a1f ldr r2, [pc, #124] ; (80addac ) 80add2e: 21d7 movs r1, #215 ; 0xd7 80add30: 20c8 movs r0, #200 ; 0xc8 80add32: f7a5 fe01 bl 8053938 80add36: e021 b.n 80add7c } else { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80add38: 4915 ldr r1, [pc, #84] ; (80add90 ) 80add3a: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80add3e: f7a5 fd35 bl 80537ac BSP_LCD_DrawRect(175, 209, 50, 21); 80add42: 2315 movs r3, #21 80add44: 2232 movs r2, #50 ; 0x32 80add46: 21d1 movs r1, #209 ; 0xd1 80add48: 20af movs r0, #175 ; 0xaf 80add4a: f7a6 f835 bl 8053db8 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80add4e: 4910 ldr r1, [pc, #64] ; (80add90 ) 80add50: f04f 30ff mov.w r0, #4294967295 80add54: f7a5 fd2a bl 80537ac if(pardata.LANG == RUS) 80add58: 4b12 ldr r3, [pc, #72] ; (80adda4 ) 80add5a: 7b1b ldrb r3, [r3, #12] 80add5c: b2db uxtb r3, r3 80add5e: 2b00 cmp r3, #0 80add60: d106 bne.n 80add70 BSP_LCD_DisplayStringAt(200, 215, "OTMEHA", CENTER_MODE); 80add62: 2301 movs r3, #1 80add64: 4a10 ldr r2, [pc, #64] ; (80adda8 ) 80add66: 21d7 movs r1, #215 ; 0xd7 80add68: 20c8 movs r0, #200 ; 0xc8 80add6a: f7a5 fde5 bl 8053938 80add6e: e005 b.n 80add7c else BSP_LCD_DisplayStringAt(200, 215, "CANCEL", CENTER_MODE); 80add70: 2301 movs r3, #1 80add72: 4a0e ldr r2, [pc, #56] ; (80addac ) 80add74: 21d7 movs r1, #215 ; 0xd7 80add76: 20c8 movs r0, #200 ; 0xc8 80add78: f7a5 fdde bl 8053938 } /* Draw on "Backspace" button */ DrawImage(&bmBCKSPACE, 263, 171); 80add7c: 22ab movs r2, #171 ; 0xab 80add7e: f240 1107 movw r1, #263 ; 0x107 80add82: 480b ldr r0, [pc, #44] ; (80addb0 ) 80add84: f7a6 fc06 bl 8054594 } 80add88: bf00 nop 80add8a: 3710 adds r7, #16 80add8c: 46bd mov sp, r7 80add8e: bd80 pop {r7, pc} 80add90: ff0a0f1f .word 0xff0a0f1f 80add94: 080ef5c8 .word 0x080ef5c8 80add98: 20020070 .word 0x20020070 80add9c: ff808080 .word 0xff808080 80adda0: 080d02b8 .word 0x080d02b8 80adda4: 20023e60 .word 0x20023e60 80adda8: 080d0b24 .word 0x080d0b24 80addac: 080d0b2c .word 0x080d0b2c 80addb0: 0811124c .word 0x0811124c 080addb4 : void DrawSizeSD(void)//todo { 80addb4: b580 push {r7, lr} 80addb6: b08c sub sp, #48 ; 0x30 80addb8: af00 add r7, sp, #0 float32_t Ffree, Ftotal, f; char str[32]; LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80addba: 4939 ldr r1, [pc, #228] ; (80adea0 ) 80addbc: 4839 ldr r0, [pc, #228] ; (80adea4 ) 80addbe: f7a5 fcf5 bl 80537ac BSP_LCD_DrawRect(4, 25+4, 30, 2); 80addc2: 2302 movs r3, #2 80addc4: 221e movs r2, #30 80addc6: 211d movs r1, #29 80addc8: 2004 movs r0, #4 80addca: f7a5 fff5 bl 8053db8 Ffree = (float32_t) SD_Space.FreeSectors; 80addce: 4b36 ldr r3, [pc, #216] ; (80adea8 ) 80addd0: 685b ldr r3, [r3, #4] 80addd2: ee07 3a90 vmov s15, r3 80addd6: eef8 7a67 vcvt.f32.u32 s15, s15 80addda: edc7 7a0a vstr s15, [r7, #40] ; 0x28 Ftotal = (float32_t) SD_Space.TotalSectors; 80addde: 4b32 ldr r3, [pc, #200] ; (80adea8 ) 80adde0: 681b ldr r3, [r3, #0] 80adde2: ee07 3a90 vmov s15, r3 80adde6: eef8 7a67 vcvt.f32.u32 s15, s15 80addea: edc7 7a09 vstr s15, [r7, #36] ; 0x24 f = Ffree / Ftotal; 80addee: edd7 6a0a vldr s13, [r7, #40] ; 0x28 80addf2: ed97 7a09 vldr s14, [r7, #36] ; 0x24 80addf6: eec6 7a87 vdiv.f32 s15, s13, s14 80addfa: edc7 7a08 vstr s15, [r7, #32] if(f <= 0.2f) LCD_SetColors(LCD_COLOR_RED, LCD_COLOR_BLACK); 80addfe: edd7 7a08 vldr s15, [r7, #32] 80ade02: ed9f 7a2a vldr s14, [pc, #168] ; 80adeac 80ade06: eef4 7ac7 vcmpe.f32 s15, s14 80ade0a: eef1 fa10 vmrs APSR_nzcv, fpscr 80ade0e: d804 bhi.n 80ade1a 80ade10: 4923 ldr r1, [pc, #140] ; (80adea0 ) 80ade12: 4827 ldr r0, [pc, #156] ; (80adeb0 ) 80ade14: f7a5 fcca bl 80537ac 80ade18: e012 b.n 80ade40 else if(f <= 0.4f) LCD_SetColors(LCD_COLOR_ORANGE, LCD_COLOR_BLACK); 80ade1a: edd7 7a08 vldr s15, [r7, #32] 80ade1e: ed9f 7a25 vldr s14, [pc, #148] ; 80adeb4 80ade22: eef4 7ac7 vcmpe.f32 s15, s14 80ade26: eef1 fa10 vmrs APSR_nzcv, fpscr 80ade2a: d804 bhi.n 80ade36 80ade2c: 491c ldr r1, [pc, #112] ; (80adea0 ) 80ade2e: 4822 ldr r0, [pc, #136] ; (80adeb8 ) 80ade30: f7a5 fcbc bl 80537ac 80ade34: e004 b.n 80ade40 else LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80ade36: 491a ldr r1, [pc, #104] ; (80adea0 ) 80ade38: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80ade3c: f7a5 fcb6 bl 80537ac BSP_LCD_DrawLine(5, 26+4, 33, 26+4); 80ade40: 231e movs r3, #30 80ade42: 2221 movs r2, #33 ; 0x21 80ade44: 211e movs r1, #30 80ade46: 2005 movs r0, #5 80ade48: f7a5 feea bl 8053c20 f *= 28; 80ade4c: edd7 7a08 vldr s15, [r7, #32] 80ade50: eeb3 7a0c vmov.f32 s14, #60 ; 0x41e00000 28.0 80ade54: ee67 7a87 vmul.f32 s15, s15, s14 80ade58: edc7 7a08 vstr s15, [r7, #32] i = (uint32_t) f; 80ade5c: edd7 7a08 vldr s15, [r7, #32] 80ade60: eefc 7ae7 vcvt.u32.f32 s15, s15 80ade64: ee17 3a90 vmov r3, s15 80ade68: 62fb str r3, [r7, #44] ; 0x2c if(i >= 28) 80ade6a: 6afb ldr r3, [r7, #44] ; 0x2c 80ade6c: 2b1b cmp r3, #27 80ade6e: d901 bls.n 80ade74 i = 27; 80ade70: 231b movs r3, #27 80ade72: 62fb str r3, [r7, #44] ; 0x2c if(i > 0) 80ade74: 6afb ldr r3, [r7, #44] ; 0x2c 80ade76: 2b00 cmp r3, #0 80ade78: d00d beq.n 80ade96 { LCD_SetColors(LCD_COLOR_BLACK, LCD_COLOR_BLACK); 80ade7a: 4909 ldr r1, [pc, #36] ; (80adea0 ) 80ade7c: 4808 ldr r0, [pc, #32] ; (80adea0 ) 80ade7e: f7a5 fc95 bl 80537ac BSP_LCD_DrawLine(33, 26+4, 33 - i, 26+4); 80ade82: 6afb ldr r3, [r7, #44] ; 0x2c 80ade84: b29b uxth r3, r3 80ade86: f1c3 0321 rsb r3, r3, #33 ; 0x21 80ade8a: b29a uxth r2, r3 80ade8c: 231e movs r3, #30 80ade8e: 211e movs r1, #30 80ade90: 2021 movs r0, #33 ; 0x21 80ade92: f7a5 fec5 bl 8053c20 } } 80ade96: bf00 nop 80ade98: 3730 adds r7, #48 ; 0x30 80ade9a: 46bd mov sp, r7 80ade9c: bd80 pop {r7, pc} 80ade9e: bf00 nop 80adea0: ff0a0f1f .word 0xff0a0f1f 80adea4: ff808080 .word 0xff808080 80adea8: 20022300 .word 0x20022300 80adeac: 3e4ccccd .word 0x3e4ccccd 80adeb0: ffff0000 .word 0xffff0000 80adeb4: 3ecccccd .word 0x3ecccccd 80adeb8: ffffa500 .word 0xffffa500 080adebc : DMA_HandleTypeDef hdma_sdmmc1_tx; /* SDMMC1 init function */ void MX_SDMMC1_SD_Init(void) { 80adebc: b580 push {r7, lr} 80adebe: af00 add r7, sp, #0 hsd1.Instance = SDMMC1; 80adec0: 4b0c ldr r3, [pc, #48] ; (80adef4 ) 80adec2: 4a0d ldr r2, [pc, #52] ; (80adef8 ) 80adec4: 601a str r2, [r3, #0] hsd1.Init.ClockEdge = SDMMC_CLOCK_EDGE_RISING; 80adec6: 4b0b ldr r3, [pc, #44] ; (80adef4 ) 80adec8: 2200 movs r2, #0 80adeca: 605a str r2, [r3, #4] hsd1.Init.ClockBypass = SDMMC_CLOCK_BYPASS_DISABLE; 80adecc: 4b09 ldr r3, [pc, #36] ; (80adef4 ) 80adece: 2200 movs r2, #0 80aded0: 609a str r2, [r3, #8] hsd1.Init.ClockPowerSave = SDMMC_CLOCK_POWER_SAVE_DISABLE; 80aded2: 4b08 ldr r3, [pc, #32] ; (80adef4 ) 80aded4: 2200 movs r2, #0 80aded6: 60da str r2, [r3, #12] hsd1.Init.BusWide = SDMMC_BUS_WIDE_1B; 80aded8: 4b06 ldr r3, [pc, #24] ; (80adef4 ) 80adeda: 2200 movs r2, #0 80adedc: 611a str r2, [r3, #16] hsd1.Init.HardwareFlowControl = SDMMC_HARDWARE_FLOW_CONTROL_DISABLE; 80adede: 4b05 ldr r3, [pc, #20] ; (80adef4 ) 80adee0: 2200 movs r2, #0 80adee2: 615a str r2, [r3, #20] hsd1.Init.ClockDiv = 0; 80adee4: 4b03 ldr r3, [pc, #12] ; (80adef4 ) 80adee6: 2200 movs r2, #0 80adee8: 619a str r2, [r3, #24] initSD(); 80adeea: f775 fe6f bl 8023bcc } 80adeee: bf00 nop 80adef0: bd80 pop {r7, pc} 80adef2: bf00 nop 80adef4: 200685ec .word 0x200685ec 80adef8: 40012c00 .word 0x40012c00 080adefc : } } void HAL_SD_MspInit(SD_HandleTypeDef* sdHandle) { 80adefc: b580 push {r7, lr} 80adefe: b088 sub sp, #32 80adf00: af00 add r7, sp, #0 80adf02: 6078 str r0, [r7, #4] GPIO_InitTypeDef GPIO_InitStruct; if(sdHandle->Instance == SDMMC1) 80adf04: 687b ldr r3, [r7, #4] 80adf06: 681b ldr r3, [r3, #0] 80adf08: 4a5a ldr r2, [pc, #360] ; (80ae074 ) 80adf0a: 4293 cmp r3, r2 80adf0c: f040 80ad bne.w 80ae06a { /* USER CODE BEGIN SDMMC1_MspInit 0 */ /* USER CODE END SDMMC1_MspInit 0 */ /* SDMMC1 clock enable */ __HAL_RCC_SDMMC1_CLK_ENABLE(); 80adf10: 4a59 ldr r2, [pc, #356] ; (80ae078 ) 80adf12: 4b59 ldr r3, [pc, #356] ; (80ae078 ) 80adf14: 6c5b ldr r3, [r3, #68] ; 0x44 80adf16: f443 6300 orr.w r3, r3, #2048 ; 0x800 80adf1a: 6453 str r3, [r2, #68] ; 0x44 80adf1c: 4b56 ldr r3, [pc, #344] ; (80ae078 ) 80adf1e: 6c5b ldr r3, [r3, #68] ; 0x44 80adf20: f403 6300 and.w r3, r3, #2048 ; 0x800 80adf24: 60bb str r3, [r7, #8] 80adf26: 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; 80adf28: f44f 53f8 mov.w r3, #7936 ; 0x1f00 80adf2c: 60fb str r3, [r7, #12] GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; 80adf2e: 2302 movs r3, #2 80adf30: 613b str r3, [r7, #16] GPIO_InitStruct.Pull = GPIO_NOPULL; 80adf32: 2300 movs r3, #0 80adf34: 617b str r3, [r7, #20] GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; 80adf36: 2303 movs r3, #3 80adf38: 61bb str r3, [r7, #24] GPIO_InitStruct.Alternate = GPIO_AF12_SDMMC1; 80adf3a: 230c movs r3, #12 80adf3c: 61fb str r3, [r7, #28] HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); 80adf3e: f107 030c add.w r3, r7, #12 80adf42: 4619 mov r1, r3 80adf44: 484d ldr r0, [pc, #308] ; (80ae07c ) 80adf46: f007 fb65 bl 80b5614 GPIO_InitStruct.Pin = GPIO_PIN_2; 80adf4a: 2304 movs r3, #4 80adf4c: 60fb str r3, [r7, #12] GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; 80adf4e: 2302 movs r3, #2 80adf50: 613b str r3, [r7, #16] GPIO_InitStruct.Pull = GPIO_NOPULL; 80adf52: 2300 movs r3, #0 80adf54: 617b str r3, [r7, #20] GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; 80adf56: 2303 movs r3, #3 80adf58: 61bb str r3, [r7, #24] GPIO_InitStruct.Alternate = GPIO_AF12_SDMMC1; 80adf5a: 230c movs r3, #12 80adf5c: 61fb str r3, [r7, #28] HAL_GPIO_Init(GPIOD, &GPIO_InitStruct); 80adf5e: f107 030c add.w r3, r7, #12 80adf62: 4619 mov r1, r3 80adf64: 4846 ldr r0, [pc, #280] ; (80ae080 ) 80adf66: f007 fb55 bl 80b5614 /* SDMMC1 interrupt Init */ HAL_NVIC_SetPriority(SDMMC1_IRQn, 4, 0); 80adf6a: 2200 movs r2, #0 80adf6c: 2104 movs r1, #4 80adf6e: 2031 movs r0, #49 ; 0x31 80adf70: f006 f8b9 bl 80b40e6 HAL_NVIC_EnableIRQ(SDMMC1_IRQn); 80adf74: 2031 movs r0, #49 ; 0x31 80adf76: f006 f8d2 bl 80b411e /* SDMMC1 DMA Init */ /* SDMMC1_RX Init */ hdma_sdmmc1_rx.Instance = DMA2_Stream3; 80adf7a: 4b42 ldr r3, [pc, #264] ; (80ae084 ) 80adf7c: 4a42 ldr r2, [pc, #264] ; (80ae088 ) 80adf7e: 601a str r2, [r3, #0] hdma_sdmmc1_rx.Init.Channel = DMA_CHANNEL_4; 80adf80: 4b40 ldr r3, [pc, #256] ; (80ae084 ) 80adf82: f04f 6200 mov.w r2, #134217728 ; 0x8000000 80adf86: 605a str r2, [r3, #4] hdma_sdmmc1_rx.Init.Direction = DMA_PERIPH_TO_MEMORY; 80adf88: 4b3e ldr r3, [pc, #248] ; (80ae084 ) 80adf8a: 2200 movs r2, #0 80adf8c: 609a str r2, [r3, #8] hdma_sdmmc1_rx.Init.PeriphInc = DMA_PINC_DISABLE; 80adf8e: 4b3d ldr r3, [pc, #244] ; (80ae084 ) 80adf90: 2200 movs r2, #0 80adf92: 60da str r2, [r3, #12] hdma_sdmmc1_rx.Init.MemInc = DMA_MINC_ENABLE; 80adf94: 4b3b ldr r3, [pc, #236] ; (80ae084 ) 80adf96: f44f 6280 mov.w r2, #1024 ; 0x400 80adf9a: 611a str r2, [r3, #16] hdma_sdmmc1_rx.Init.PeriphDataAlignment = DMA_PDATAALIGN_WORD; 80adf9c: 4b39 ldr r3, [pc, #228] ; (80ae084 ) 80adf9e: f44f 5280 mov.w r2, #4096 ; 0x1000 80adfa2: 615a str r2, [r3, #20] hdma_sdmmc1_rx.Init.MemDataAlignment = DMA_MDATAALIGN_WORD; 80adfa4: 4b37 ldr r3, [pc, #220] ; (80ae084 ) 80adfa6: f44f 4280 mov.w r2, #16384 ; 0x4000 80adfaa: 619a str r2, [r3, #24] hdma_sdmmc1_rx.Init.Mode = DMA_PFCTRL; 80adfac: 4b35 ldr r3, [pc, #212] ; (80ae084 ) 80adfae: 2220 movs r2, #32 80adfb0: 61da str r2, [r3, #28] hdma_sdmmc1_rx.Init.Priority = DMA_PRIORITY_VERY_HIGH; 80adfb2: 4b34 ldr r3, [pc, #208] ; (80ae084 ) 80adfb4: f44f 3240 mov.w r2, #196608 ; 0x30000 80adfb8: 621a str r2, [r3, #32] hdma_sdmmc1_rx.Init.FIFOMode = DMA_FIFOMODE_ENABLE; 80adfba: 4b32 ldr r3, [pc, #200] ; (80ae084 ) 80adfbc: 2204 movs r2, #4 80adfbe: 625a str r2, [r3, #36] ; 0x24 hdma_sdmmc1_rx.Init.FIFOThreshold = DMA_FIFO_THRESHOLD_FULL; 80adfc0: 4b30 ldr r3, [pc, #192] ; (80ae084 ) 80adfc2: 2203 movs r2, #3 80adfc4: 629a str r2, [r3, #40] ; 0x28 hdma_sdmmc1_rx.Init.MemBurst = DMA_MBURST_INC4; 80adfc6: 4b2f ldr r3, [pc, #188] ; (80ae084 ) 80adfc8: f44f 0200 mov.w r2, #8388608 ; 0x800000 80adfcc: 62da str r2, [r3, #44] ; 0x2c hdma_sdmmc1_rx.Init.PeriphBurst = DMA_PBURST_INC4; 80adfce: 4b2d ldr r3, [pc, #180] ; (80ae084 ) 80adfd0: f44f 1200 mov.w r2, #2097152 ; 0x200000 80adfd4: 631a str r2, [r3, #48] ; 0x30 if(HAL_DMA_Init(&hdma_sdmmc1_rx) != HAL_OK) { 80adfd6: 482b ldr r0, [pc, #172] ; (80ae084 ) 80adfd8: f006 f946 bl 80b4268 80adfdc: 4603 mov r3, r0 80adfde: 2b00 cmp r3, #0 80adfe0: d001 beq.n 80adfe6 Error_Handler(); 80adfe2: f7a6 ff15 bl 8054e10 } __HAL_LINKDMA(sdHandle, hdmarx, hdma_sdmmc1_rx); 80adfe6: 687b ldr r3, [r7, #4] 80adfe8: 4a26 ldr r2, [pc, #152] ; (80ae084 ) 80adfea: 641a str r2, [r3, #64] ; 0x40 80adfec: 4a25 ldr r2, [pc, #148] ; (80ae084 ) 80adfee: 687b ldr r3, [r7, #4] 80adff0: 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; 80adff2: 4b26 ldr r3, [pc, #152] ; (80ae08c ) 80adff4: 4a26 ldr r2, [pc, #152] ; (80ae090 ) 80adff6: 601a str r2, [r3, #0] hdma_sdmmc1_tx.Init.Channel = DMA_CHANNEL_4; 80adff8: 4b24 ldr r3, [pc, #144] ; (80ae08c ) 80adffa: f04f 6200 mov.w r2, #134217728 ; 0x8000000 80adffe: 605a str r2, [r3, #4] hdma_sdmmc1_tx.Init.Direction = DMA_MEMORY_TO_PERIPH; 80ae000: 4b22 ldr r3, [pc, #136] ; (80ae08c ) 80ae002: 2240 movs r2, #64 ; 0x40 80ae004: 609a str r2, [r3, #8] hdma_sdmmc1_tx.Init.PeriphInc = DMA_PINC_DISABLE; 80ae006: 4b21 ldr r3, [pc, #132] ; (80ae08c ) 80ae008: 2200 movs r2, #0 80ae00a: 60da str r2, [r3, #12] hdma_sdmmc1_tx.Init.MemInc = DMA_MINC_ENABLE; 80ae00c: 4b1f ldr r3, [pc, #124] ; (80ae08c ) 80ae00e: f44f 6280 mov.w r2, #1024 ; 0x400 80ae012: 611a str r2, [r3, #16] hdma_sdmmc1_tx.Init.PeriphDataAlignment = DMA_PDATAALIGN_WORD; 80ae014: 4b1d ldr r3, [pc, #116] ; (80ae08c ) 80ae016: f44f 5280 mov.w r2, #4096 ; 0x1000 80ae01a: 615a str r2, [r3, #20] hdma_sdmmc1_tx.Init.MemDataAlignment = DMA_MDATAALIGN_WORD; 80ae01c: 4b1b ldr r3, [pc, #108] ; (80ae08c ) 80ae01e: f44f 4280 mov.w r2, #16384 ; 0x4000 80ae022: 619a str r2, [r3, #24] hdma_sdmmc1_tx.Init.Mode = DMA_PFCTRL; 80ae024: 4b19 ldr r3, [pc, #100] ; (80ae08c ) 80ae026: 2220 movs r2, #32 80ae028: 61da str r2, [r3, #28] hdma_sdmmc1_tx.Init.Priority = DMA_PRIORITY_VERY_HIGH; 80ae02a: 4b18 ldr r3, [pc, #96] ; (80ae08c ) 80ae02c: f44f 3240 mov.w r2, #196608 ; 0x30000 80ae030: 621a str r2, [r3, #32] hdma_sdmmc1_tx.Init.FIFOMode = DMA_FIFOMODE_ENABLE; 80ae032: 4b16 ldr r3, [pc, #88] ; (80ae08c ) 80ae034: 2204 movs r2, #4 80ae036: 625a str r2, [r3, #36] ; 0x24 hdma_sdmmc1_tx.Init.FIFOThreshold = DMA_FIFO_THRESHOLD_FULL; 80ae038: 4b14 ldr r3, [pc, #80] ; (80ae08c ) 80ae03a: 2203 movs r2, #3 80ae03c: 629a str r2, [r3, #40] ; 0x28 hdma_sdmmc1_tx.Init.MemBurst = DMA_MBURST_INC4; 80ae03e: 4b13 ldr r3, [pc, #76] ; (80ae08c ) 80ae040: f44f 0200 mov.w r2, #8388608 ; 0x800000 80ae044: 62da str r2, [r3, #44] ; 0x2c hdma_sdmmc1_tx.Init.PeriphBurst = DMA_PBURST_INC4; 80ae046: 4b11 ldr r3, [pc, #68] ; (80ae08c ) 80ae048: f44f 1200 mov.w r2, #2097152 ; 0x200000 80ae04c: 631a str r2, [r3, #48] ; 0x30 if(HAL_DMA_Init(&hdma_sdmmc1_tx) != HAL_OK) { 80ae04e: 480f ldr r0, [pc, #60] ; (80ae08c ) 80ae050: f006 f90a bl 80b4268 80ae054: 4603 mov r3, r0 80ae056: 2b00 cmp r3, #0 80ae058: d001 beq.n 80ae05e Error_Handler(); 80ae05a: f7a6 fed9 bl 8054e10 } __HAL_LINKDMA(sdHandle, hdmatx, hdma_sdmmc1_tx); 80ae05e: 687b ldr r3, [r7, #4] 80ae060: 4a0a ldr r2, [pc, #40] ; (80ae08c ) 80ae062: 63da str r2, [r3, #60] ; 0x3c 80ae064: 4a09 ldr r2, [pc, #36] ; (80ae08c ) 80ae066: 687b ldr r3, [r7, #4] 80ae068: 6393 str r3, [r2, #56] ; 0x38 // HAL_DMA_DeInit(&hdma_sdmmc1_tx); // HAL_DMA_Init(&hdma_sdmmc1_tx); } } 80ae06a: bf00 nop 80ae06c: 3720 adds r7, #32 80ae06e: 46bd mov sp, r7 80ae070: bd80 pop {r7, pc} 80ae072: bf00 nop 80ae074: 40012c00 .word 0x40012c00 80ae078: 40023800 .word 0x40023800 80ae07c: 40020800 .word 0x40020800 80ae080: 40020c00 .word 0x40020c00 80ae084: 20068670 .word 0x20068670 80ae088: 40026458 .word 0x40026458 80ae08c: 200686d0 .word 0x200686d0 80ae090: 400264a0 .word 0x400264a0 080ae094 : void HAL_SD_MspDeInit(SD_HandleTypeDef* sdHandle) { 80ae094: b580 push {r7, lr} 80ae096: b082 sub sp, #8 80ae098: af00 add r7, sp, #0 80ae09a: 6078 str r0, [r7, #4] if(sdHandle->Instance==SDMMC1) 80ae09c: 687b ldr r3, [r7, #4] 80ae09e: 681b ldr r3, [r3, #0] 80ae0a0: 4a11 ldr r2, [pc, #68] ; (80ae0e8 ) 80ae0a2: 4293 cmp r3, r2 80ae0a4: d11b bne.n 80ae0de { __HAL_RCC_SDMMC1_CLK_DISABLE(); 80ae0a6: 4a11 ldr r2, [pc, #68] ; (80ae0ec ) 80ae0a8: 4b10 ldr r3, [pc, #64] ; (80ae0ec ) 80ae0aa: 6c5b ldr r3, [r3, #68] ; 0x44 80ae0ac: f423 6300 bic.w r3, r3, #2048 ; 0x800 80ae0b0: 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); 80ae0b2: f44f 51f8 mov.w r1, #7936 ; 0x1f00 80ae0b6: 480e ldr r0, [pc, #56] ; (80ae0f0 ) 80ae0b8: f007 fc56 bl 80b5968 HAL_GPIO_DeInit(GPIOD, GPIO_PIN_2); 80ae0bc: 2104 movs r1, #4 80ae0be: 480d ldr r0, [pc, #52] ; (80ae0f4 ) 80ae0c0: f007 fc52 bl 80b5968 /* SDMMC1 DMA DeInit */ HAL_DMA_DeInit(sdHandle->hdmarx); 80ae0c4: 687b ldr r3, [r7, #4] 80ae0c6: 6c1b ldr r3, [r3, #64] ; 0x40 80ae0c8: 4618 mov r0, r3 80ae0ca: f006 f97b bl 80b43c4 HAL_DMA_DeInit(sdHandle->hdmatx); 80ae0ce: 687b ldr r3, [r7, #4] 80ae0d0: 6bdb ldr r3, [r3, #60] ; 0x3c 80ae0d2: 4618 mov r0, r3 80ae0d4: f006 f976 bl 80b43c4 HAL_NVIC_DisableIRQ(SDMMC1_IRQn); 80ae0d8: 2031 movs r0, #49 ; 0x31 80ae0da: f006 f82e bl 80b413a } } 80ae0de: bf00 nop 80ae0e0: 3708 adds r7, #8 80ae0e2: 46bd mov sp, r7 80ae0e4: bd80 pop {r7, pc} 80ae0e6: bf00 nop 80ae0e8: 40012c00 .word 0x40012c00 80ae0ec: 40023800 .word 0x40023800 80ae0f0: 40020800 .word 0x40020800 80ae0f4: 40020c00 .word 0x40020c00 080ae0f8 : uslong_t aRxBuffer; /* SPI1 init function */ void MX_SPI1_Init(void) { 80ae0f8: b580 push {r7, lr} 80ae0fa: af00 add r7, sp, #0 hspi1.Instance = SPI1; 80ae0fc: 4b22 ldr r3, [pc, #136] ; (80ae188 ) 80ae0fe: 4a23 ldr r2, [pc, #140] ; (80ae18c ) 80ae100: 601a str r2, [r3, #0] hspi1.Init.Mode = SPI_MODE_MASTER; 80ae102: 4b21 ldr r3, [pc, #132] ; (80ae188 ) 80ae104: f44f 7282 mov.w r2, #260 ; 0x104 80ae108: 605a str r2, [r3, #4] hspi1.Init.Direction = SPI_DIRECTION_2LINES; 80ae10a: 4b1f ldr r3, [pc, #124] ; (80ae188 ) 80ae10c: 2200 movs r2, #0 80ae10e: 609a str r2, [r3, #8] hspi1.Init.DataSize = SPI_DATASIZE_8BIT; 80ae110: 4b1d ldr r3, [pc, #116] ; (80ae188 ) 80ae112: f44f 62e0 mov.w r2, #1792 ; 0x700 80ae116: 60da str r2, [r3, #12] //hspi1.Init.CLKPolarity = SPI_POLARITY_HIGH; hspi1.Init.CLKPolarity = SPI_POLARITY_LOW; 80ae118: 4b1b ldr r3, [pc, #108] ; (80ae188 ) 80ae11a: 2200 movs r2, #0 80ae11c: 611a str r2, [r3, #16] hspi1.Init.CLKPhase = SPI_PHASE_1EDGE; 80ae11e: 4b1a ldr r3, [pc, #104] ; (80ae188 ) 80ae120: 2200 movs r2, #0 80ae122: 615a str r2, [r3, #20] hspi1.Init.NSS = SPI_NSS_SOFT; 80ae124: 4b18 ldr r3, [pc, #96] ; (80ae188 ) 80ae126: f44f 7200 mov.w r2, #512 ; 0x200 80ae12a: 619a str r2, [r3, #24] hspi1.Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_8; 80ae12c: 4b16 ldr r3, [pc, #88] ; (80ae188 ) 80ae12e: 2210 movs r2, #16 80ae130: 61da str r2, [r3, #28] hspi1.Init.FirstBit = SPI_FIRSTBIT_MSB; 80ae132: 4b15 ldr r3, [pc, #84] ; (80ae188 ) 80ae134: 2200 movs r2, #0 80ae136: 621a str r2, [r3, #32] hspi1.Init.TIMode = SPI_TIMODE_DISABLE; 80ae138: 4b13 ldr r3, [pc, #76] ; (80ae188 ) 80ae13a: 2200 movs r2, #0 80ae13c: 625a str r2, [r3, #36] ; 0x24 hspi1.Init.CRCCalculation = SPI_CRCCALCULATION_DISABLE; 80ae13e: 4b12 ldr r3, [pc, #72] ; (80ae188 ) 80ae140: 2200 movs r2, #0 80ae142: 629a str r2, [r3, #40] ; 0x28 hspi1.Init.CRCPolynomial = 7; 80ae144: 4b10 ldr r3, [pc, #64] ; (80ae188 ) 80ae146: 2207 movs r2, #7 80ae148: 62da str r2, [r3, #44] ; 0x2c hspi1.Init.CRCLength = SPI_CRC_LENGTH_DATASIZE; 80ae14a: 4b0f ldr r3, [pc, #60] ; (80ae188 ) 80ae14c: 2200 movs r2, #0 80ae14e: 631a str r2, [r3, #48] ; 0x30 hspi1.Init.NSSPMode = SPI_NSS_PULSE_DISABLE; 80ae150: 4b0d ldr r3, [pc, #52] ; (80ae188 ) 80ae152: 2200 movs r2, #0 80ae154: 635a str r2, [r3, #52] ; 0x34 if(HAL_SPI_Init(&hspi1) != HAL_OK) { 80ae156: 480c ldr r0, [pc, #48] ; (80ae188 ) 80ae158: f00d f8cc bl 80bb2f4 80ae15c: 4603 mov r3, r0 80ae15e: 2b00 cmp r3, #0 80ae160: d001 beq.n 80ae166 Error_Handler(); 80ae162: f7a6 fe55 bl 8054e10 } HAL_GPIO_WritePin(CR_GPIO_Port, CR_Pin, GPIO_PIN_RESET); 80ae166: 2200 movs r2, #0 80ae168: f44f 4100 mov.w r1, #32768 ; 0x8000 80ae16c: 4808 ldr r0, [pc, #32] ; (80ae190 ) 80ae16e: f007 fd1f bl 80b5bb0 HAL_Delay(1); 80ae172: 2001 movs r0, #1 80ae174: f005 f86c bl 80b3250 HAL_GPIO_WritePin(CR_GPIO_Port, CR_Pin, GPIO_PIN_SET); 80ae178: 2201 movs r2, #1 80ae17a: f44f 4100 mov.w r1, #32768 ; 0x8000 80ae17e: 4804 ldr r0, [pc, #16] ; (80ae190 ) 80ae180: f007 fd16 bl 80b5bb0 } 80ae184: bf00 nop 80ae186: bd80 pop {r7, pc} 80ae188: 20068734 .word 0x20068734 80ae18c: 40013000 .word 0x40013000 80ae190: 40020000 .word 0x40020000 080ae194 : void HAL_SPI_MspInit(SPI_HandleTypeDef* spiHandle) { 80ae194: b580 push {r7, lr} 80ae196: b088 sub sp, #32 80ae198: af00 add r7, sp, #0 80ae19a: 6078 str r0, [r7, #4] GPIO_InitTypeDef GPIO_InitStruct; if(spiHandle->Instance == SPI1) 80ae19c: 687b ldr r3, [r7, #4] 80ae19e: 681b ldr r3, [r3, #0] 80ae1a0: 4a19 ldr r2, [pc, #100] ; (80ae208 ) 80ae1a2: 4293 cmp r3, r2 80ae1a4: d12b bne.n 80ae1fe { __HAL_RCC_SPI1_CLK_ENABLE(); 80ae1a6: 4a19 ldr r2, [pc, #100] ; (80ae20c ) 80ae1a8: 4b18 ldr r3, [pc, #96] ; (80ae20c ) 80ae1aa: 6c5b ldr r3, [r3, #68] ; 0x44 80ae1ac: f443 5380 orr.w r3, r3, #4096 ; 0x1000 80ae1b0: 6453 str r3, [r2, #68] ; 0x44 80ae1b2: 4b16 ldr r3, [pc, #88] ; (80ae20c ) 80ae1b4: 6c5b ldr r3, [r3, #68] ; 0x44 80ae1b6: f403 5380 and.w r3, r3, #4096 ; 0x1000 80ae1ba: 60bb str r3, [r7, #8] 80ae1bc: 68bb ldr r3, [r7, #8] GPIO_InitStruct.Pin = GPIO_PIN_5 | GPIO_PIN_7; 80ae1be: 23a0 movs r3, #160 ; 0xa0 80ae1c0: 60fb str r3, [r7, #12] GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; 80ae1c2: 2302 movs r3, #2 80ae1c4: 613b str r3, [r7, #16] GPIO_InitStruct.Pull = GPIO_NOPULL; 80ae1c6: 2300 movs r3, #0 80ae1c8: 617b str r3, [r7, #20] GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; 80ae1ca: 2303 movs r3, #3 80ae1cc: 61bb str r3, [r7, #24] GPIO_InitStruct.Alternate = GPIO_AF5_SPI1; 80ae1ce: 2305 movs r3, #5 80ae1d0: 61fb str r3, [r7, #28] HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); 80ae1d2: f107 030c add.w r3, r7, #12 80ae1d6: 4619 mov r1, r3 80ae1d8: 480d ldr r0, [pc, #52] ; (80ae210 ) 80ae1da: f007 fa1b bl 80b5614 GPIO_InitStruct.Pin = GPIO_PIN_4; 80ae1de: 2310 movs r3, #16 80ae1e0: 60fb str r3, [r7, #12] GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; 80ae1e2: 2302 movs r3, #2 80ae1e4: 613b str r3, [r7, #16] GPIO_InitStruct.Pull = GPIO_NOPULL; 80ae1e6: 2300 movs r3, #0 80ae1e8: 617b str r3, [r7, #20] GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; 80ae1ea: 2303 movs r3, #3 80ae1ec: 61bb str r3, [r7, #24] GPIO_InitStruct.Alternate = GPIO_AF5_SPI1; 80ae1ee: 2305 movs r3, #5 80ae1f0: 61fb str r3, [r7, #28] HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); 80ae1f2: f107 030c add.w r3, r7, #12 80ae1f6: 4619 mov r1, r3 80ae1f8: 4806 ldr r0, [pc, #24] ; (80ae214 ) 80ae1fa: f007 fa0b bl 80b5614 } } 80ae1fe: bf00 nop 80ae200: 3720 adds r7, #32 80ae202: 46bd mov sp, r7 80ae204: bd80 pop {r7, pc} 80ae206: bf00 nop 80ae208: 40013000 .word 0x40013000 80ae20c: 40023800 .word 0x40023800 80ae210: 40020000 .word 0x40020000 80ae214: 40020400 .word 0x40020400 080ae218 : /* USER CODE END 0 */ /** * Initializes the Global MSP. */ void HAL_MspInit(void) { 80ae218: b480 push {r7} 80ae21a: b083 sub sp, #12 80ae21c: af00 add r7, sp, #0 /* USER CODE BEGIN MspInit 0 */ /* USER CODE END MspInit 0 */ __HAL_RCC_PWR_CLK_ENABLE(); 80ae21e: 4a0f ldr r2, [pc, #60] ; (80ae25c ) 80ae220: 4b0e ldr r3, [pc, #56] ; (80ae25c ) 80ae222: 6c1b ldr r3, [r3, #64] ; 0x40 80ae224: f043 5380 orr.w r3, r3, #268435456 ; 0x10000000 80ae228: 6413 str r3, [r2, #64] ; 0x40 80ae22a: 4b0c ldr r3, [pc, #48] ; (80ae25c ) 80ae22c: 6c1b ldr r3, [r3, #64] ; 0x40 80ae22e: f003 5380 and.w r3, r3, #268435456 ; 0x10000000 80ae232: 607b str r3, [r7, #4] 80ae234: 687b ldr r3, [r7, #4] __HAL_RCC_SYSCFG_CLK_ENABLE(); 80ae236: 4a09 ldr r2, [pc, #36] ; (80ae25c ) 80ae238: 4b08 ldr r3, [pc, #32] ; (80ae25c ) 80ae23a: 6c5b ldr r3, [r3, #68] ; 0x44 80ae23c: f443 4380 orr.w r3, r3, #16384 ; 0x4000 80ae240: 6453 str r3, [r2, #68] ; 0x44 80ae242: 4b06 ldr r3, [pc, #24] ; (80ae25c ) 80ae244: 6c5b ldr r3, [r3, #68] ; 0x44 80ae246: f403 4380 and.w r3, r3, #16384 ; 0x4000 80ae24a: 603b str r3, [r7, #0] 80ae24c: 683b ldr r3, [r7, #0] /* System interrupt init*/ /* USER CODE BEGIN MspInit 1 */ /* USER CODE END MspInit 1 */ } 80ae24e: bf00 nop 80ae250: 370c adds r7, #12 80ae252: 46bd mov sp, r7 80ae254: f85d 7b04 ldr.w r7, [sp], #4 80ae258: 4770 bx lr 80ae25a: bf00 nop 80ae25c: 40023800 .word 0x40023800 080ae260 : /******************************************************************************/ /** * @brief This function handles Non maskable interrupt. */ void NMI_Handler(void) { 80ae260: b480 push {r7} 80ae262: 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) 80ae264: e7fe b.n 80ae264 080ae266 : /** * @brief This function handles Hard fault interrupt. */ void HardFault_Handler(void) { 80ae266: b480 push {r7} 80ae268: af00 add r7, sp, #0 /* USER CODE BEGIN HardFault_IRQn 0 */ /* USER CODE END HardFault_IRQn 0 */ while (1) 80ae26a: e7fe b.n 80ae26a 080ae26c : /** * @brief This function handles Memory management fault. */ void MemManage_Handler(void) { 80ae26c: b480 push {r7} 80ae26e: af00 add r7, sp, #0 /* USER CODE BEGIN MemoryManagement_IRQn 0 */ /* USER CODE END MemoryManagement_IRQn 0 */ while (1) 80ae270: e7fe b.n 80ae270 080ae272 : /** * @brief This function handles Pre-fetch fault, memory access fault. */ void BusFault_Handler(void) { 80ae272: b480 push {r7} 80ae274: af00 add r7, sp, #0 /* USER CODE BEGIN BusFault_IRQn 0 */ /* USER CODE END BusFault_IRQn 0 */ while (1) 80ae276: e7fe b.n 80ae276 080ae278 : /** * @brief This function handles Undefined instruction or illegal state. */ void UsageFault_Handler(void) { 80ae278: b480 push {r7} 80ae27a: af00 add r7, sp, #0 /* USER CODE BEGIN UsageFault_IRQn 0 */ /* USER CODE END UsageFault_IRQn 0 */ while (1) 80ae27c: e7fe b.n 80ae27c 080ae27e : /** * @brief This function handles System service call via SWI instruction. */ void SVC_Handler(void) { 80ae27e: b480 push {r7} 80ae280: af00 add r7, sp, #0 /* USER CODE END SVCall_IRQn 0 */ /* USER CODE BEGIN SVCall_IRQn 1 */ /* USER CODE END SVCall_IRQn 1 */ } 80ae282: bf00 nop 80ae284: 46bd mov sp, r7 80ae286: f85d 7b04 ldr.w r7, [sp], #4 80ae28a: 4770 bx lr 080ae28c : /** * @brief This function handles Debug monitor. */ void DebugMon_Handler(void) { 80ae28c: b480 push {r7} 80ae28e: af00 add r7, sp, #0 /* USER CODE END DebugMonitor_IRQn 0 */ /* USER CODE BEGIN DebugMonitor_IRQn 1 */ /* USER CODE END DebugMonitor_IRQn 1 */ } 80ae290: bf00 nop 80ae292: 46bd mov sp, r7 80ae294: f85d 7b04 ldr.w r7, [sp], #4 80ae298: 4770 bx lr 080ae29a : /** * @brief This function handles Pendable request for system service. */ void PendSV_Handler(void) { 80ae29a: b480 push {r7} 80ae29c: af00 add r7, sp, #0 /* USER CODE END PendSV_IRQn 0 */ /* USER CODE BEGIN PendSV_IRQn 1 */ /* USER CODE END PendSV_IRQn 1 */ } 80ae29e: bf00 nop 80ae2a0: 46bd mov sp, r7 80ae2a2: f85d 7b04 ldr.w r7, [sp], #4 80ae2a6: 4770 bx lr 080ae2a8 : /** * @brief This function handles System tick timer. */ void SysTick_Handler(void) { 80ae2a8: b580 push {r7, lr} 80ae2aa: af00 add r7, sp, #0 /* USER CODE BEGIN SysTick_IRQn 0 */ /* USER CODE END SysTick_IRQn 0 */ HAL_IncTick(); 80ae2ac: f004 ffb0 bl 80b3210 /* USER CODE BEGIN SysTick_IRQn 1 */ /* USER CODE END SysTick_IRQn 1 */ } 80ae2b0: bf00 nop 80ae2b2: bd80 pop {r7, pc} 080ae2b4 : /** * @brief This function handles EXTI line2 interrupt. */ void EXTI2_IRQHandler(void) { 80ae2b4: b580 push {r7, lr} 80ae2b6: af00 add r7, sp, #0 /* USER CODE BEGIN EXTI2_IRQn 0 */ /* USER CODE END EXTI2_IRQn 0 */ HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_2); 80ae2b8: 2004 movs r0, #4 80ae2ba: f007 fc93 bl 80b5be4 /* USER CODE BEGIN EXTI2_IRQn 1 */ /* USER CODE END EXTI2_IRQn 1 */ } 80ae2be: bf00 nop 80ae2c0: bd80 pop {r7, pc} 080ae2c2 : /** * @brief This function handles EXTI line3 interrupt. */ void EXTI3_IRQHandler(void) { 80ae2c2: b580 push {r7, lr} 80ae2c4: af00 add r7, sp, #0 /* USER CODE BEGIN EXTI3_IRQn 0 */ /* USER CODE END EXTI3_IRQn 0 */ HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_3); 80ae2c6: 2008 movs r0, #8 80ae2c8: f007 fc8c bl 80b5be4 /* USER CODE BEGIN EXTI3_IRQn 1 */ /* USER CODE END EXTI3_IRQn 1 */ } 80ae2cc: bf00 nop 80ae2ce: bd80 pop {r7, pc} 080ae2d0 : /** * @brief This function handles I2C1 event interrupt. */ void I2C1_EV_IRQHandler(void) { 80ae2d0: b580 push {r7, lr} 80ae2d2: af00 add r7, sp, #0 /* USER CODE BEGIN I2C1_EV_IRQn 0 */ /* USER CODE END I2C1_EV_IRQn 0 */ HAL_SMBUS_EV_IRQHandler(&hsmbus1); 80ae2d4: 4802 ldr r0, [pc, #8] ; (80ae2e0 ) 80ae2d6: f00c f9f7 bl 80ba6c8 /* USER CODE BEGIN I2C1_EV_IRQn 1 */ /* USER CODE END I2C1_EV_IRQn 1 */ } 80ae2da: bf00 nop 80ae2dc: bd80 pop {r7, pc} 80ae2de: bf00 nop 80ae2e0: 200258c4 .word 0x200258c4 080ae2e4 : /** * @brief This function handles I2C1 error interrupt. */ void I2C1_ER_IRQHandler(void) { 80ae2e4: b580 push {r7, lr} 80ae2e6: af00 add r7, sp, #0 /* USER CODE BEGIN I2C1_ER_IRQn 0 */ /* USER CODE END I2C1_ER_IRQn 0 */ HAL_SMBUS_ER_IRQHandler(&hsmbus1); 80ae2e8: 4802 ldr r0, [pc, #8] ; (80ae2f4 ) 80ae2ea: f00c fa8b bl 80ba804 /* USER CODE BEGIN I2C1_ER_IRQn 1 */ /* USER CODE END I2C1_ER_IRQn 1 */ } 80ae2ee: bf00 nop 80ae2f0: bd80 pop {r7, pc} 80ae2f2: bf00 nop 80ae2f4: 200258c4 .word 0x200258c4 080ae2f8 : /** * @brief This function handles SDMMC1 global interrupt. */ void SDMMC1_IRQHandler(void) { 80ae2f8: b580 push {r7, lr} 80ae2fa: af00 add r7, sp, #0 /* USER CODE BEGIN SDMMC1_IRQn 0 */ /* USER CODE END SDMMC1_IRQn 0 */ HAL_SD_IRQHandler(&hsd1); 80ae2fc: 4802 ldr r0, [pc, #8] ; (80ae308 ) 80ae2fe: f00b f92b bl 80b9558 /* USER CODE BEGIN SDMMC1_IRQn 1 */ /* USER CODE END SDMMC1_IRQn 1 */ } 80ae302: bf00 nop 80ae304: bd80 pop {r7, pc} 80ae306: bf00 nop 80ae308: 200685ec .word 0x200685ec 080ae30c : /** * @brief This function handles TIM7 global interrupt. */ void TIM7_IRQHandler(void) { 80ae30c: b580 push {r7, lr} 80ae30e: af00 add r7, sp, #0 /* USER CODE BEGIN TIM7_IRQn 0 */ /* USER CODE END TIM7_IRQn 0 */ HAL_TIM_IRQHandler(&htim7); 80ae310: 4802 ldr r0, [pc, #8] ; (80ae31c ) 80ae312: f00d fde1 bl 80bbed8 /* USER CODE BEGIN TIM7_IRQn 1 */ /* USER CODE END TIM7_IRQn 1 */ } 80ae316: bf00 nop 80ae318: bd80 pop {r7, pc} 80ae31a: bf00 nop 80ae31c: 200689d8 .word 0x200689d8 080ae320 : /** * @brief This function handles DMA2 stream3 global interrupt. */ void DMA2_Stream3_IRQHandler(void) { 80ae320: b580 push {r7, lr} 80ae322: 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); 80ae324: 4802 ldr r0, [pc, #8] ; (80ae330 ) 80ae326: f006 f99d bl 80b4664 /* USER CODE BEGIN DMA2_Stream3_IRQn 1 */ /* USER CODE END DMA2_Stream3_IRQn 1 */ } 80ae32a: bf00 nop 80ae32c: bd80 pop {r7, pc} 80ae32e: bf00 nop 80ae330: 20068670 .word 0x20068670 080ae334 : void DMA2_Stream1_IRQHandler(void) { 80ae334: b580 push {r7, lr} 80ae336: af00 add r7, sp, #0 /* USER CODE BEGIN DMA2_Stream3_IRQn 0 */ /* USER CODE END DMA2_Stream3_IRQn 0 */ HAL_DMA_IRQHandler(&hdma_adc3); 80ae338: 4802 ldr r0, [pc, #8] ; (80ae344 ) 80ae33a: f006 f993 bl 80b4664 /* USER CODE BEGIN DMA2_Stream3_IRQn 1 */ /* USER CODE END DMA2_Stream3_IRQn 1 */ } 80ae33e: bf00 nop 80ae340: bd80 pop {r7, pc} 80ae342: bf00 nop 80ae344: 20021b78 .word 0x20021b78 080ae348 : /** * @brief This function handles DMA2 stream4 global interrupt. */ void DMA2_Stream4_IRQHandler(void) { 80ae348: b580 push {r7, lr} 80ae34a: af00 add r7, sp, #0 /* USER CODE BEGIN DMA2_Stream4_IRQn 0 */ /* USER CODE END DMA2_Stream4_IRQn 0 */ HAL_DMA_IRQHandler(&hdma_adc1); 80ae34c: 4802 ldr r0, [pc, #8] ; (80ae358 ) 80ae34e: f006 f989 bl 80b4664 /* USER CODE BEGIN DMA2_Stream4_IRQn 1 */ /* USER CODE END DMA2_Stream4_IRQn 1 */ } 80ae352: bf00 nop 80ae354: bd80 pop {r7, pc} 80ae356: bf00 nop 80ae358: 20021c68 .word 0x20021c68 080ae35c : /** * @brief This function handles DMA2 stream6 global interrupt. */ void DMA2_Stream6_IRQHandler(void) { 80ae35c: b580 push {r7, lr} 80ae35e: 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); 80ae360: 4802 ldr r0, [pc, #8] ; (80ae36c ) 80ae362: f006 f97f bl 80b4664 /* USER CODE BEGIN DMA2_Stream6_IRQn 1 */ /* USER CODE END DMA2_Stream6_IRQn 1 */ } 80ae366: bf00 nop 80ae368: bd80 pop {r7, pc} 80ae36a: bf00 nop 80ae36c: 200686d0 .word 0x200686d0 080ae370 : /** * @brief This function handles USB On The Go HS global interrupt. */ void OTG_HS_IRQHandler(void) { 80ae370: b580 push {r7, lr} 80ae372: 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); 80ae374: 4802 ldr r0, [pc, #8] ; (80ae380 ) 80ae376: f008 f963 bl 80b6640 /* USER CODE BEGIN OTG_HS_IRQn 1 */ /* USER CODE END OTG_HS_IRQn 1 */ } 80ae37a: bf00 nop 80ae37c: bd80 pop {r7, pc} 80ae37e: bf00 nop 80ae380: 20069230 .word 0x20069230 080ae384 : /** * @brief This function handles LTDC global interrupt. */ void LTDC_IRQHandler(void) { 80ae384: b580 push {r7, lr} 80ae386: af00 add r7, sp, #0 /* USER CODE BEGIN LTDC_IRQn 0 */ /* USER CODE END LTDC_IRQn 0 */ HAL_LTDC_IRQHandler(&hLtdcHandler); 80ae388: 4802 ldr r0, [pc, #8] ; (80ae394 ) 80ae38a: f007 fd13 bl 80b5db4 /* USER CODE BEGIN LTDC_IRQn 1 */ /* USER CODE END LTDC_IRQn 1 */ } 80ae38e: bf00 nop 80ae390: bd80 pop {r7, pc} 80ae392: bf00 nop 80ae394: 20025d28 .word 0x20025d28 080ae398 : /** * @brief This function handles LTDC global error interrupt. */ void LTDC_ER_IRQHandler(void) { 80ae398: b580 push {r7, lr} 80ae39a: af00 add r7, sp, #0 /* USER CODE BEGIN LTDC_ER_IRQn 0 */ /* USER CODE END LTDC_ER_IRQn 0 */ HAL_LTDC_IRQHandler(&hLtdcHandler); 80ae39c: 4802 ldr r0, [pc, #8] ; (80ae3a8 ) 80ae39e: f007 fd09 bl 80b5db4 /* USER CODE BEGIN LTDC_ER_IRQn 1 */ /* USER CODE END LTDC_ER_IRQn 1 */ } 80ae3a2: bf00 nop 80ae3a4: bd80 pop {r7, pc} 80ae3a6: bf00 nop 80ae3a8: 20025d28 .word 0x20025d28 080ae3ac <_read>: _kill(status, -1); while (1) {} /* Make sure we hang here */ } __attribute__((weak)) int _read(int file, char *ptr, int len) { 80ae3ac: b590 push {r4, r7, lr} 80ae3ae: b087 sub sp, #28 80ae3b0: af00 add r7, sp, #0 80ae3b2: 60f8 str r0, [r7, #12] 80ae3b4: 60b9 str r1, [r7, #8] 80ae3b6: 607a str r2, [r7, #4] int DataIdx; for (DataIdx = 0; DataIdx < len; DataIdx++) 80ae3b8: 2300 movs r3, #0 80ae3ba: 617b str r3, [r7, #20] 80ae3bc: e00a b.n 80ae3d4 <_read+0x28> { *ptr++ = __io_getchar(); 80ae3be: 68bc ldr r4, [r7, #8] 80ae3c0: 1c63 adds r3, r4, #1 80ae3c2: 60bb str r3, [r7, #8] 80ae3c4: f3af 8000 nop.w 80ae3c8: 4603 mov r3, r0 80ae3ca: b2db uxtb r3, r3 80ae3cc: 7023 strb r3, [r4, #0] for (DataIdx = 0; DataIdx < len; DataIdx++) 80ae3ce: 697b ldr r3, [r7, #20] 80ae3d0: 3301 adds r3, #1 80ae3d2: 617b str r3, [r7, #20] 80ae3d4: 697a ldr r2, [r7, #20] 80ae3d6: 687b ldr r3, [r7, #4] 80ae3d8: 429a cmp r2, r3 80ae3da: dbf0 blt.n 80ae3be <_read+0x12> } return len; 80ae3dc: 687b ldr r3, [r7, #4] } 80ae3de: 4618 mov r0, r3 80ae3e0: 371c adds r7, #28 80ae3e2: 46bd mov sp, r7 80ae3e4: bd90 pop {r4, r7, pc} 080ae3e6 <_write>: __attribute__((weak)) int _write(int file, char *ptr, int len) { 80ae3e6: b580 push {r7, lr} 80ae3e8: b086 sub sp, #24 80ae3ea: af00 add r7, sp, #0 80ae3ec: 60f8 str r0, [r7, #12] 80ae3ee: 60b9 str r1, [r7, #8] 80ae3f0: 607a str r2, [r7, #4] int DataIdx; for (DataIdx = 0; DataIdx < len; DataIdx++) 80ae3f2: 2300 movs r3, #0 80ae3f4: 617b str r3, [r7, #20] 80ae3f6: e009 b.n 80ae40c <_write+0x26> { __io_putchar(*ptr++); 80ae3f8: 68bb ldr r3, [r7, #8] 80ae3fa: 1c5a adds r2, r3, #1 80ae3fc: 60ba str r2, [r7, #8] 80ae3fe: 781b ldrb r3, [r3, #0] 80ae400: 4618 mov r0, r3 80ae402: f3af 8000 nop.w for (DataIdx = 0; DataIdx < len; DataIdx++) 80ae406: 697b ldr r3, [r7, #20] 80ae408: 3301 adds r3, #1 80ae40a: 617b str r3, [r7, #20] 80ae40c: 697a ldr r2, [r7, #20] 80ae40e: 687b ldr r3, [r7, #4] 80ae410: 429a cmp r2, r3 80ae412: dbf1 blt.n 80ae3f8 <_write+0x12> } return len; 80ae414: 687b ldr r3, [r7, #4] } 80ae416: 4618 mov r0, r3 80ae418: 3718 adds r7, #24 80ae41a: 46bd mov sp, r7 80ae41c: bd80 pop {r7, pc} ... 080ae420 <_sbrk>: caddr_t _sbrk(int incr) { 80ae420: b580 push {r7, lr} 80ae422: b084 sub sp, #16 80ae424: af00 add r7, sp, #0 80ae426: 6078 str r0, [r7, #4] extern char end asm("end"); static char *heap_end; char *prev_heap_end; if (heap_end == 0) 80ae428: 4b11 ldr r3, [pc, #68] ; (80ae470 <_sbrk+0x50>) 80ae42a: 681b ldr r3, [r3, #0] 80ae42c: 2b00 cmp r3, #0 80ae42e: d102 bne.n 80ae436 <_sbrk+0x16> heap_end = &end; 80ae430: 4b0f ldr r3, [pc, #60] ; (80ae470 <_sbrk+0x50>) 80ae432: 4a10 ldr r2, [pc, #64] ; (80ae474 <_sbrk+0x54>) 80ae434: 601a str r2, [r3, #0] prev_heap_end = heap_end; 80ae436: 4b0e ldr r3, [pc, #56] ; (80ae470 <_sbrk+0x50>) 80ae438: 681b ldr r3, [r3, #0] 80ae43a: 60fb str r3, [r7, #12] if (heap_end + incr > stack_ptr) 80ae43c: 4b0c ldr r3, [pc, #48] ; (80ae470 <_sbrk+0x50>) 80ae43e: 681a ldr r2, [r3, #0] 80ae440: 687b ldr r3, [r7, #4] 80ae442: 4413 add r3, r2 80ae444: 466a mov r2, sp 80ae446: 4293 cmp r3, r2 80ae448: d907 bls.n 80ae45a <_sbrk+0x3a> { // write(1, "Heap and stack collision\n", 25); // abort(); errno = ENOMEM; 80ae44a: f01e fd8f bl 80ccf6c <__errno> 80ae44e: 4602 mov r2, r0 80ae450: 230c movs r3, #12 80ae452: 6013 str r3, [r2, #0] return (caddr_t) -1; 80ae454: f04f 33ff mov.w r3, #4294967295 80ae458: e006 b.n 80ae468 <_sbrk+0x48> } heap_end += incr; 80ae45a: 4b05 ldr r3, [pc, #20] ; (80ae470 <_sbrk+0x50>) 80ae45c: 681a ldr r2, [r3, #0] 80ae45e: 687b ldr r3, [r7, #4] 80ae460: 4413 add r3, r2 80ae462: 4a03 ldr r2, [pc, #12] ; (80ae470 <_sbrk+0x50>) 80ae464: 6013 str r3, [r2, #0] return (caddr_t) prev_heap_end; 80ae466: 68fb ldr r3, [r7, #12] } 80ae468: 4618 mov r0, r3 80ae46a: 3710 adds r7, #16 80ae46c: 46bd mov sp, r7 80ae46e: bd80 pop {r7, pc} 80ae470: 20021680 .word 0x20021680 80ae474: 20069638 .word 0x20069638 080ae478 <_close>: int _close(int file) { 80ae478: b480 push {r7} 80ae47a: b083 sub sp, #12 80ae47c: af00 add r7, sp, #0 80ae47e: 6078 str r0, [r7, #4] return -1; 80ae480: f04f 33ff mov.w r3, #4294967295 } 80ae484: 4618 mov r0, r3 80ae486: 370c adds r7, #12 80ae488: 46bd mov sp, r7 80ae48a: f85d 7b04 ldr.w r7, [sp], #4 80ae48e: 4770 bx lr 080ae490 <_fstat>: int _fstat(int file, struct stat *st) { 80ae490: b480 push {r7} 80ae492: b083 sub sp, #12 80ae494: af00 add r7, sp, #0 80ae496: 6078 str r0, [r7, #4] 80ae498: 6039 str r1, [r7, #0] st->st_mode = S_IFCHR; 80ae49a: 683b ldr r3, [r7, #0] 80ae49c: f44f 5200 mov.w r2, #8192 ; 0x2000 80ae4a0: 605a str r2, [r3, #4] return 0; 80ae4a2: 2300 movs r3, #0 } 80ae4a4: 4618 mov r0, r3 80ae4a6: 370c adds r7, #12 80ae4a8: 46bd mov sp, r7 80ae4aa: f85d 7b04 ldr.w r7, [sp], #4 80ae4ae: 4770 bx lr 080ae4b0 <_isatty>: int _isatty(int file) { 80ae4b0: b480 push {r7} 80ae4b2: b083 sub sp, #12 80ae4b4: af00 add r7, sp, #0 80ae4b6: 6078 str r0, [r7, #4] return 1; 80ae4b8: 2301 movs r3, #1 } 80ae4ba: 4618 mov r0, r3 80ae4bc: 370c adds r7, #12 80ae4be: 46bd mov sp, r7 80ae4c0: f85d 7b04 ldr.w r7, [sp], #4 80ae4c4: 4770 bx lr 080ae4c6 <_lseek>: int _lseek(int file, int ptr, int dir) { 80ae4c6: b480 push {r7} 80ae4c8: b085 sub sp, #20 80ae4ca: af00 add r7, sp, #0 80ae4cc: 60f8 str r0, [r7, #12] 80ae4ce: 60b9 str r1, [r7, #8] 80ae4d0: 607a str r2, [r7, #4] return 0; 80ae4d2: 2300 movs r3, #0 } 80ae4d4: 4618 mov r0, r3 80ae4d6: 3714 adds r7, #20 80ae4d8: 46bd mov sp, r7 80ae4da: f85d 7b04 ldr.w r7, [sp], #4 80ae4de: 4770 bx lr 080ae4e0 : * SystemFrequency variable. * @param None * @retval None */ void SystemInit(void) { 80ae4e0: b480 push {r7} 80ae4e2: 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 */ 80ae4e4: 4a06 ldr r2, [pc, #24] ; (80ae500 ) 80ae4e6: 4b06 ldr r3, [pc, #24] ; (80ae500 ) 80ae4e8: f8d3 3088 ldr.w r3, [r3, #136] ; 0x88 80ae4ec: f443 0370 orr.w r3, r3, #15728640 ; 0xf00000 80ae4f0: 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 */ } 80ae4f4: bf00 nop 80ae4f6: 46bd mov sp, r7 80ae4f8: f85d 7b04 ldr.w r7, [sp], #4 80ae4fc: 4770 bx lr 80ae4fe: bf00 nop 80ae500: e000ed00 .word 0xe000ed00 080ae504 : __IO uint32_t CNT_MEAN = 0; /* TIM5 init function */ void MX_TIM1_Init(void) { 80ae504: b580 push {r7, lr} 80ae506: b088 sub sp, #32 80ae508: af00 add r7, sp, #0 TIM_ClockConfigTypeDef sClockSourceConfig; TIM_MasterConfigTypeDef sMasterConfig; htim1.Instance = TIM1; 80ae50a: 4b1f ldr r3, [pc, #124] ; (80ae588 ) 80ae50c: 4a1f ldr r2, [pc, #124] ; (80ae58c ) 80ae50e: 601a str r2, [r3, #0] htim1.Init.Prescaler = 0; // (96000000Hz / 10000) = 9600Hz 80ae510: 4b1d ldr r3, [pc, #116] ; (80ae588 ) 80ae512: 2200 movs r2, #0 80ae514: 605a str r2, [r3, #4] htim1.Init.CounterMode = TIM_COUNTERMODE_UP; 80ae516: 4b1c ldr r3, [pc, #112] ; (80ae588 ) 80ae518: 2200 movs r2, #0 80ae51a: 609a str r2, [r3, #8] htim1.Init.Period = (10800 - 1); // (216000000 / 10800) ~20kHz 80ae51c: 4b1a ldr r3, [pc, #104] ; (80ae588 ) 80ae51e: f642 222f movw r2, #10799 ; 0x2a2f 80ae522: 60da str r2, [r3, #12] htim1.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; 80ae524: 4b18 ldr r3, [pc, #96] ; (80ae588 ) 80ae526: 2200 movs r2, #0 80ae528: 611a str r2, [r3, #16] htim1.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE; 80ae52a: 4b17 ldr r3, [pc, #92] ; (80ae588 ) 80ae52c: 2200 movs r2, #0 80ae52e: 619a str r2, [r3, #24] if(HAL_TIM_Base_Init(&htim1) != HAL_OK) { 80ae530: 4815 ldr r0, [pc, #84] ; (80ae588 ) 80ae532: f00d fb69 bl 80bbc08 80ae536: 4603 mov r3, r0 80ae538: 2b00 cmp r3, #0 80ae53a: d001 beq.n 80ae540 Error_Handler(); 80ae53c: f7a6 fc68 bl 8054e10 } sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL; 80ae540: f44f 5380 mov.w r3, #4096 ; 0x1000 80ae544: 613b str r3, [r7, #16] if(HAL_TIM_ConfigClockSource(&htim1, &sClockSourceConfig) != HAL_OK) { 80ae546: f107 0310 add.w r3, r7, #16 80ae54a: 4619 mov r1, r3 80ae54c: 480e ldr r0, [pc, #56] ; (80ae588 ) 80ae54e: f00d fe09 bl 80bc164 80ae552: 4603 mov r3, r0 80ae554: 2b00 cmp r3, #0 80ae556: d001 beq.n 80ae55c Error_Handler(); 80ae558: f7a6 fc5a bl 8054e10 } sMasterConfig.MasterOutputTrigger = TIM_TRGO_UPDATE; 80ae55c: 2320 movs r3, #32 80ae55e: 607b str r3, [r7, #4] sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_ENABLE; 80ae560: 2380 movs r3, #128 ; 0x80 80ae562: 60fb str r3, [r7, #12] sMasterConfig.MasterOutputTrigger2 = TIM_TRGO2_UPDATE; 80ae564: f44f 1300 mov.w r3, #2097152 ; 0x200000 80ae568: 60bb str r3, [r7, #8] if(HAL_TIMEx_MasterConfigSynchronization(&htim1, &sMasterConfig) != HAL_OK) { 80ae56a: 1d3b adds r3, r7, #4 80ae56c: 4619 mov r1, r3 80ae56e: 4806 ldr r0, [pc, #24] ; (80ae588 ) 80ae570: f00e f818 bl 80bc5a4 80ae574: 4603 mov r3, r0 80ae576: 2b00 cmp r3, #0 80ae578: d001 beq.n 80ae57e Error_Handler(); 80ae57a: f7a6 fc49 bl 8054e10 } } 80ae57e: bf00 nop 80ae580: 3720 adds r7, #32 80ae582: 46bd mov sp, r7 80ae584: bd80 pop {r7, pc} 80ae586: bf00 nop 80ae588: 20068940 .word 0x20068940 80ae58c: 40010000 .word 0x40010000 080ae590 : /* TIM5 init function */ void MX_TIM5_Init(void) { 80ae590: b580 push {r7, lr} 80ae592: b088 sub sp, #32 80ae594: af00 add r7, sp, #0 TIM_ClockConfigTypeDef sClockSourceConfig; TIM_MasterConfigTypeDef sMasterConfig; htim5.Instance = TIM5; 80ae596: 4b1f ldr r3, [pc, #124] ; (80ae614 ) 80ae598: 4a1f ldr r2, [pc, #124] ; (80ae618 ) 80ae59a: 601a str r2, [r3, #0] htim5.Init.Prescaler = 0; // (96000000Hz / 10000) = 9600Hz 80ae59c: 4b1d ldr r3, [pc, #116] ; (80ae614 ) 80ae59e: 2200 movs r2, #0 80ae5a0: 605a str r2, [r3, #4] htim5.Init.CounterMode = TIM_COUNTERMODE_UP; 80ae5a2: 4b1c ldr r3, [pc, #112] ; (80ae614 ) 80ae5a4: 2200 movs r2, #0 80ae5a6: 609a str r2, [r3, #8] htim5.Init.Period = (432 - 1); // (96000000Hz / 240) ~400kHz 80ae5a8: 4b1a ldr r3, [pc, #104] ; (80ae614 ) 80ae5aa: f240 12af movw r2, #431 ; 0x1af 80ae5ae: 60da str r2, [r3, #12] htim5.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; 80ae5b0: 4b18 ldr r3, [pc, #96] ; (80ae614 ) 80ae5b2: 2200 movs r2, #0 80ae5b4: 611a str r2, [r3, #16] htim5.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE; 80ae5b6: 4b17 ldr r3, [pc, #92] ; (80ae614 ) 80ae5b8: 2200 movs r2, #0 80ae5ba: 619a str r2, [r3, #24] if(HAL_TIM_Base_Init(&htim5) != HAL_OK) { 80ae5bc: 4815 ldr r0, [pc, #84] ; (80ae614 ) 80ae5be: f00d fb23 bl 80bbc08 80ae5c2: 4603 mov r3, r0 80ae5c4: 2b00 cmp r3, #0 80ae5c6: d001 beq.n 80ae5cc Error_Handler(); 80ae5c8: f7a6 fc22 bl 8054e10 } sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL; 80ae5cc: f44f 5380 mov.w r3, #4096 ; 0x1000 80ae5d0: 613b str r3, [r7, #16] if(HAL_TIM_ConfigClockSource(&htim5, &sClockSourceConfig) != HAL_OK) { 80ae5d2: f107 0310 add.w r3, r7, #16 80ae5d6: 4619 mov r1, r3 80ae5d8: 480e ldr r0, [pc, #56] ; (80ae614 ) 80ae5da: f00d fdc3 bl 80bc164 80ae5de: 4603 mov r3, r0 80ae5e0: 2b00 cmp r3, #0 80ae5e2: d001 beq.n 80ae5e8 Error_Handler(); 80ae5e4: f7a6 fc14 bl 8054e10 } sMasterConfig.MasterOutputTrigger = TIM_TRGO_UPDATE; 80ae5e8: 2320 movs r3, #32 80ae5ea: 607b str r3, [r7, #4] sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_ENABLE; 80ae5ec: 2380 movs r3, #128 ; 0x80 80ae5ee: 60fb str r3, [r7, #12] sMasterConfig.MasterOutputTrigger2 = TIM_TRGO2_UPDATE; 80ae5f0: f44f 1300 mov.w r3, #2097152 ; 0x200000 80ae5f4: 60bb str r3, [r7, #8] if(HAL_TIMEx_MasterConfigSynchronization(&htim5, &sMasterConfig) != HAL_OK) { 80ae5f6: 1d3b adds r3, r7, #4 80ae5f8: 4619 mov r1, r3 80ae5fa: 4806 ldr r0, [pc, #24] ; (80ae614 ) 80ae5fc: f00d ffd2 bl 80bc5a4 80ae600: 4603 mov r3, r0 80ae602: 2b00 cmp r3, #0 80ae604: d001 beq.n 80ae60a Error_Handler(); 80ae606: f7a6 fc03 bl 8054e10 } } 80ae60a: bf00 nop 80ae60c: 3720 adds r7, #32 80ae60e: 46bd mov sp, r7 80ae610: bd80 pop {r7, pc} 80ae612: bf00 nop 80ae614: 200688a4 .word 0x200688a4 80ae618: 40000c00 .word 0x40000c00 080ae61c : /* TIM7 init function */ void MX_TIM7_Init(void) { 80ae61c: b580 push {r7, lr} 80ae61e: b084 sub sp, #16 80ae620: af00 add r7, sp, #0 TIM_MasterConfigTypeDef sMasterConfig; htim7.Instance = TIM7; 80ae622: 4b16 ldr r3, [pc, #88] ; (80ae67c ) 80ae624: 4a16 ldr r2, [pc, #88] ; (80ae680 ) 80ae626: 601a str r2, [r3, #0] htim7.Init.Prescaler = 0; /*79;*/ 80ae628: 4b14 ldr r3, [pc, #80] ; (80ae67c ) 80ae62a: 2200 movs r2, #0 80ae62c: 605a str r2, [r3, #4] htim7.Init.CounterMode = TIM_COUNTERMODE_UP; 80ae62e: 4b13 ldr r3, [pc, #76] ; (80ae67c ) 80ae630: 2200 movs r2, #0 80ae632: 609a str r2, [r3, #8] htim7.Init.Period = (52735 - 1); /*659;*/ 80ae634: 4b11 ldr r3, [pc, #68] ; (80ae67c ) 80ae636: f64c 52fe movw r2, #52734 ; 0xcdfe 80ae63a: 60da str r2, [r3, #12] htim7.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE; 80ae63c: 4b0f ldr r3, [pc, #60] ; (80ae67c ) 80ae63e: 2200 movs r2, #0 80ae640: 619a str r2, [r3, #24] if(HAL_TIM_Base_Init(&htim7) != HAL_OK) { 80ae642: 480e ldr r0, [pc, #56] ; (80ae67c ) 80ae644: f00d fae0 bl 80bbc08 80ae648: 4603 mov r3, r0 80ae64a: 2b00 cmp r3, #0 80ae64c: d001 beq.n 80ae652 Error_Handler(); 80ae64e: f7a6 fbdf bl 8054e10 } sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET; 80ae652: 2300 movs r3, #0 80ae654: 607b str r3, [r7, #4] sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE; 80ae656: 2300 movs r3, #0 80ae658: 60fb str r3, [r7, #12] if (HAL_TIMEx_MasterConfigSynchronization(&htim7, &sMasterConfig) != HAL_OK) { 80ae65a: 1d3b adds r3, r7, #4 80ae65c: 4619 mov r1, r3 80ae65e: 4807 ldr r0, [pc, #28] ; (80ae67c ) 80ae660: f00d ffa0 bl 80bc5a4 80ae664: 4603 mov r3, r0 80ae666: 2b00 cmp r3, #0 80ae668: d001 beq.n 80ae66e Error_Handler(); 80ae66a: f7a6 fbd1 bl 8054e10 } HAL_TIM_Base_Start_IT(&htim7); 80ae66e: 4803 ldr r0, [pc, #12] ; (80ae67c ) 80ae670: f00d fbba bl 80bbde8 } 80ae674: bf00 nop 80ae676: 3710 adds r7, #16 80ae678: 46bd mov sp, r7 80ae67a: bd80 pop {r7, pc} 80ae67c: 200689d8 .word 0x200689d8 80ae680: 40001400 .word 0x40001400 080ae684 : void HAL_TIM_Base_MspInit(TIM_HandleTypeDef* tim_baseHandle) { 80ae684: b580 push {r7, lr} 80ae686: b086 sub sp, #24 80ae688: af00 add r7, sp, #0 80ae68a: 6078 str r0, [r7, #4] if(tim_baseHandle->Instance == TIM1) 80ae68c: 687b ldr r3, [r7, #4] 80ae68e: 681b ldr r3, [r3, #0] 80ae690: 4a1f ldr r2, [pc, #124] ; (80ae710 ) 80ae692: 4293 cmp r3, r2 80ae694: d10c bne.n 80ae6b0 { __HAL_RCC_TIM1_CLK_ENABLE(); 80ae696: 4a1f ldr r2, [pc, #124] ; (80ae714 ) 80ae698: 4b1e ldr r3, [pc, #120] ; (80ae714 ) 80ae69a: 6c5b ldr r3, [r3, #68] ; 0x44 80ae69c: f043 0301 orr.w r3, r3, #1 80ae6a0: 6453 str r3, [r2, #68] ; 0x44 80ae6a2: 4b1c ldr r3, [pc, #112] ; (80ae714 ) 80ae6a4: 6c5b ldr r3, [r3, #68] ; 0x44 80ae6a6: f003 0301 and.w r3, r3, #1 80ae6aa: 617b str r3, [r7, #20] 80ae6ac: 697b ldr r3, [r7, #20] { __HAL_RCC_TIM7_CLK_ENABLE(); HAL_NVIC_SetPriority(TIM7_IRQn, 3, 0); HAL_NVIC_EnableIRQ(TIM7_IRQn); } } 80ae6ae: e02a b.n 80ae706 if(tim_baseHandle->Instance == TIM5) 80ae6b0: 687b ldr r3, [r7, #4] 80ae6b2: 681b ldr r3, [r3, #0] 80ae6b4: 4a18 ldr r2, [pc, #96] ; (80ae718 ) 80ae6b6: 4293 cmp r3, r2 80ae6b8: d10c bne.n 80ae6d4 __HAL_RCC_TIM5_CLK_ENABLE(); 80ae6ba: 4a16 ldr r2, [pc, #88] ; (80ae714 ) 80ae6bc: 4b15 ldr r3, [pc, #84] ; (80ae714 ) 80ae6be: 6c1b ldr r3, [r3, #64] ; 0x40 80ae6c0: f043 0308 orr.w r3, r3, #8 80ae6c4: 6413 str r3, [r2, #64] ; 0x40 80ae6c6: 4b13 ldr r3, [pc, #76] ; (80ae714 ) 80ae6c8: 6c1b ldr r3, [r3, #64] ; 0x40 80ae6ca: f003 0308 and.w r3, r3, #8 80ae6ce: 613b str r3, [r7, #16] 80ae6d0: 693b ldr r3, [r7, #16] } 80ae6d2: e018 b.n 80ae706 if(tim_baseHandle->Instance == TIM7) 80ae6d4: 687b ldr r3, [r7, #4] 80ae6d6: 681b ldr r3, [r3, #0] 80ae6d8: 4a10 ldr r2, [pc, #64] ; (80ae71c ) 80ae6da: 4293 cmp r3, r2 80ae6dc: d113 bne.n 80ae706 __HAL_RCC_TIM7_CLK_ENABLE(); 80ae6de: 4a0d ldr r2, [pc, #52] ; (80ae714 ) 80ae6e0: 4b0c ldr r3, [pc, #48] ; (80ae714 ) 80ae6e2: 6c1b ldr r3, [r3, #64] ; 0x40 80ae6e4: f043 0320 orr.w r3, r3, #32 80ae6e8: 6413 str r3, [r2, #64] ; 0x40 80ae6ea: 4b0a ldr r3, [pc, #40] ; (80ae714 ) 80ae6ec: 6c1b ldr r3, [r3, #64] ; 0x40 80ae6ee: f003 0320 and.w r3, r3, #32 80ae6f2: 60fb str r3, [r7, #12] 80ae6f4: 68fb ldr r3, [r7, #12] HAL_NVIC_SetPriority(TIM7_IRQn, 3, 0); 80ae6f6: 2200 movs r2, #0 80ae6f8: 2103 movs r1, #3 80ae6fa: 2037 movs r0, #55 ; 0x37 80ae6fc: f005 fcf3 bl 80b40e6 HAL_NVIC_EnableIRQ(TIM7_IRQn); 80ae700: 2037 movs r0, #55 ; 0x37 80ae702: f005 fd0c bl 80b411e } 80ae706: bf00 nop 80ae708: 3718 adds r7, #24 80ae70a: 46bd mov sp, r7 80ae70c: bd80 pop {r7, pc} 80ae70e: bf00 nop 80ae710: 40010000 .word 0x40010000 80ae714: 40023800 .word 0x40023800 80ae718: 40000c00 .word 0x40000c00 80ae71c: 40001400 .word 0x40001400 080ae720 : __IO uint32_t maxtime = 0; /* USER CODE BEGIN 1 */ void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim) { 80ae720: b580 push {r7, lr} 80ae722: b084 sub sp, #16 80ae724: af00 add r7, sp, #0 80ae726: 6078 str r0, [r7, #4] __IO uint16_t Data32, i; switch((uint32_t) htim->Instance) 80ae728: 687b ldr r3, [r7, #4] 80ae72a: 681b ldr r3, [r3, #0] 80ae72c: 461a mov r2, r3 80ae72e: 4b9a ldr r3, [pc, #616] ; (80ae998 ) 80ae730: 429a cmp r2, r3 80ae732: d000 beq.n 80ae736 if(TIMEOUT_BAT) TIMEOUT_BAT--; break; } } 80ae734: e1af b.n 80aea96 __HAL_TIM_CLEAR_IT(htim, TIM_IT_UPDATE); 80ae736: 687b ldr r3, [r7, #4] 80ae738: 681b ldr r3, [r3, #0] 80ae73a: f06f 0201 mvn.w r2, #1 80ae73e: 611a str r2, [r3, #16] if(timerKeys) 80ae740: 4b96 ldr r3, [pc, #600] ; (80ae99c ) 80ae742: 881b ldrh r3, [r3, #0] 80ae744: b29b uxth r3, r3 80ae746: 2b00 cmp r3, #0 80ae748: d007 beq.n 80ae75a timerKeys--; 80ae74a: 4b94 ldr r3, [pc, #592] ; (80ae99c ) 80ae74c: 881b ldrh r3, [r3, #0] 80ae74e: b29b uxth r3, r3 80ae750: 3b01 subs r3, #1 80ae752: b29a uxth r2, r3 80ae754: 4b91 ldr r3, [pc, #580] ; (80ae99c ) 80ae756: 801a strh r2, [r3, #0] 80ae758: e060 b.n 80ae81c timerKeys = 2; 80ae75a: 4b90 ldr r3, [pc, #576] ; (80ae99c ) 80ae75c: 2202 movs r2, #2 80ae75e: 801a strh r2, [r3, #0] if(LinkPC == 0) 80ae760: 4b8f ldr r3, [pc, #572] ; (80ae9a0 ) 80ae762: 781b ldrb r3, [r3, #0] 80ae764: b2db uxtb r3, r3 80ae766: 2b00 cmp r3, #0 80ae768: d155 bne.n 80ae816 if(!KEY_STATE) 80ae76a: 4b8e ldr r3, [pc, #568] ; (80ae9a4 ) 80ae76c: 681b ldr r3, [r3, #0] 80ae76e: 2b00 cmp r3, #0 80ae770: d141 bne.n 80ae7f6 KEY_STATE = kbhit(); 80ae772: f786 f9dd bl 8034b30 80ae776: 4602 mov r2, r0 80ae778: 4b8a ldr r3, [pc, #552] ; (80ae9a4 ) 80ae77a: 601a str r2, [r3, #0] if(KEY_STATE == KEY_PW) 80ae77c: 4b89 ldr r3, [pc, #548] ; (80ae9a4 ) 80ae77e: 681b ldr r3, [r3, #0] 80ae780: 2b01 cmp r3, #1 80ae782: d14b bne.n 80ae81c if(USBConnected == false) 80ae784: 4b88 ldr r3, [pc, #544] ; (80ae9a8 ) 80ae786: 781b ldrb r3, [r3, #0] 80ae788: b2db uxtb r3, r3 80ae78a: f083 0301 eor.w r3, r3, #1 80ae78e: b2db uxtb r3, r3 80ae790: 2b00 cmp r3, #0 80ae792: d002 beq.n 80ae79a Off(); 80ae794: f775 f886 bl 80238a4 80ae798: e029 b.n 80ae7ee if(ChargerIsConnect == true) 80ae79a: 4b84 ldr r3, [pc, #528] ; (80ae9ac ) 80ae79c: 781b ldrb r3, [r3, #0] 80ae79e: b2db uxtb r3, r3 80ae7a0: 2b00 cmp r3, #0 80ae7a2: d024 beq.n 80ae7ee if(menu == POWER_OFF2) 80ae7a4: 4b82 ldr r3, [pc, #520] ; (80ae9b0 ) 80ae7a6: 781b ldrb r3, [r3, #0] 80ae7a8: b2db uxtb r3, r3 80ae7aa: 2b44 cmp r3, #68 ; 0x44 80ae7ac: d10a bne.n 80ae7c4 menu = POWER_OFF; 80ae7ae: 4b80 ldr r3, [pc, #512] ; (80ae9b0 ) 80ae7b0: 2243 movs r2, #67 ; 0x43 80ae7b2: 701a strb r2, [r3, #0] TIMEOUT_OFF2 = sec10; 80ae7b4: 4b7f ldr r3, [pc, #508] ; (80ae9b4 ) 80ae7b6: f44f 42a0 mov.w r2, #20480 ; 0x5000 80ae7ba: 601a str r2, [r3, #0] needDispOn = true; 80ae7bc: 4b7e ldr r3, [pc, #504] ; (80ae9b8 ) 80ae7be: 2201 movs r2, #1 80ae7c0: 701a strb r2, [r3, #0] 80ae7c2: e014 b.n 80ae7ee if(menu == POWER_OFF) 80ae7c4: 4b7a ldr r3, [pc, #488] ; (80ae9b0 ) 80ae7c6: 781b ldrb r3, [r3, #0] 80ae7c8: b2db uxtb r3, r3 80ae7ca: 2b43 cmp r3, #67 ; 0x43 80ae7cc: d106 bne.n 80ae7dc menu = OPTIONS; 80ae7ce: 4b78 ldr r3, [pc, #480] ; (80ae9b0 ) 80ae7d0: 2201 movs r2, #1 80ae7d2: 701a strb r2, [r3, #0] menupos = Mode; 80ae7d4: 4b79 ldr r3, [pc, #484] ; (80ae9bc ) 80ae7d6: 2201 movs r2, #1 80ae7d8: 701a strb r2, [r3, #0] 80ae7da: e008 b.n 80ae7ee StopMeas(); 80ae7dc: f774 ffde bl 802379c menu = POWER_OFF; 80ae7e0: 4b73 ldr r3, [pc, #460] ; (80ae9b0 ) 80ae7e2: 2243 movs r2, #67 ; 0x43 80ae7e4: 701a strb r2, [r3, #0] TIMEOUT_OFF2 = sec10; 80ae7e6: 4b73 ldr r3, [pc, #460] ; (80ae9b4 ) 80ae7e8: f44f 42a0 mov.w r2, #20480 ; 0x5000 80ae7ec: 601a str r2, [r3, #0] KEY_STATE = 0; 80ae7ee: 4b6d ldr r3, [pc, #436] ; (80ae9a4 ) 80ae7f0: 2200 movs r2, #0 80ae7f2: 601a str r2, [r3, #0] 80ae7f4: e012 b.n 80ae81c if(kbhit() == KEY_PW) 80ae7f6: f786 f99b bl 8034b30 80ae7fa: 4603 mov r3, r0 80ae7fc: 2b01 cmp r3, #1 80ae7fe: d10d bne.n 80ae81c if(USBConnected == false) 80ae800: 4b69 ldr r3, [pc, #420] ; (80ae9a8 ) 80ae802: 781b ldrb r3, [r3, #0] 80ae804: b2db uxtb r3, r3 80ae806: f083 0301 eor.w r3, r3, #1 80ae80a: b2db uxtb r3, r3 80ae80c: 2b00 cmp r3, #0 80ae80e: d005 beq.n 80ae81c Off(); 80ae810: f775 f848 bl 80238a4 80ae814: e002 b.n 80ae81c KEY_STATE = 0; 80ae816: 4b63 ldr r3, [pc, #396] ; (80ae9a4 ) 80ae818: 2200 movs r2, #0 80ae81a: 601a str r2, [r3, #0] if(timerRefreshScreen) 80ae81c: 4b68 ldr r3, [pc, #416] ; (80ae9c0 ) 80ae81e: 881b ldrh r3, [r3, #0] 80ae820: b29b uxth r3, r3 80ae822: 2b00 cmp r3, #0 80ae824: d007 beq.n 80ae836 timerRefreshScreen--; 80ae826: 4b66 ldr r3, [pc, #408] ; (80ae9c0 ) 80ae828: 881b ldrh r3, [r3, #0] 80ae82a: b29b uxth r3, r3 80ae82c: 3b01 subs r3, #1 80ae82e: b29a uxth r2, r3 80ae830: 4b63 ldr r3, [pc, #396] ; (80ae9c0 ) 80ae832: 801a strh r2, [r3, #0] 80ae834: e05e b.n 80ae8f4 if(pardata.SYG == UDAR) 80ae836: 4b63 ldr r3, [pc, #396] ; (80ae9c4 ) 80ae838: 781b ldrb r3, [r3, #0] 80ae83a: b2db uxtb r3, r3 80ae83c: 2b09 cmp r3, #9 80ae83e: d12a bne.n 80ae896 if(measuring) 80ae840: 4b61 ldr r3, [pc, #388] ; (80ae9c8 ) 80ae842: 781b ldrb r3, [r3, #0] 80ae844: b2db uxtb r3, r3 80ae846: 2b00 cmp r3, #0 80ae848: d01b beq.n 80ae882 if((Stability > (Nr * 4)) && (!timeRelax)) 80ae84a: 4b60 ldr r3, [pc, #384] ; (80ae9cc ) 80ae84c: 881b ldrh r3, [r3, #0] 80ae84e: b29b uxth r3, r3 80ae850: 009b lsls r3, r3, #2 80ae852: 461a mov r2, r3 80ae854: 4b5e ldr r3, [pc, #376] ; (80ae9d0 ) 80ae856: 681b ldr r3, [r3, #0] 80ae858: 429a cmp r2, r3 80ae85a: d208 bcs.n 80ae86e 80ae85c: 4b5d ldr r3, [pc, #372] ; (80ae9d4 ) 80ae85e: 681b ldr r3, [r3, #0] 80ae860: 2b00 cmp r3, #0 80ae862: d104 bne.n 80ae86e timerRefreshScreen = 680; //340; //todo 80ae864: 4b56 ldr r3, [pc, #344] ; (80ae9c0 ) 80ae866: f44f 722a mov.w r2, #680 ; 0x2a8 80ae86a: 801a strh r2, [r3, #0] 80ae86c: e01c b.n 80ae8a8 else timerRefreshScreen = MSEC_REFRESH[LinkPC]; 80ae86e: 4b4c ldr r3, [pc, #304] ; (80ae9a0 ) 80ae870: 781b ldrb r3, [r3, #0] 80ae872: b2db uxtb r3, r3 80ae874: 461a mov r2, r3 80ae876: 4b58 ldr r3, [pc, #352] ; (80ae9d8 ) 80ae878: f833 2012 ldrh.w r2, [r3, r2, lsl #1] 80ae87c: 4b50 ldr r3, [pc, #320] ; (80ae9c0 ) 80ae87e: 801a strh r2, [r3, #0] 80ae880: e012 b.n 80ae8a8 timerRefreshScreen = MSEC_REFRESH[LinkPC]; 80ae882: 4b47 ldr r3, [pc, #284] ; (80ae9a0 ) 80ae884: 781b ldrb r3, [r3, #0] 80ae886: b2db uxtb r3, r3 80ae888: 461a mov r2, r3 80ae88a: 4b53 ldr r3, [pc, #332] ; (80ae9d8 ) 80ae88c: f833 2012 ldrh.w r2, [r3, r2, lsl #1] 80ae890: 4b4b ldr r3, [pc, #300] ; (80ae9c0 ) 80ae892: 801a strh r2, [r3, #0] 80ae894: e008 b.n 80ae8a8 timerRefreshScreen = MSEC_REFRESH[LinkPC]; 80ae896: 4b42 ldr r3, [pc, #264] ; (80ae9a0 ) 80ae898: 781b ldrb r3, [r3, #0] 80ae89a: b2db uxtb r3, r3 80ae89c: 461a mov r2, r3 80ae89e: 4b4e ldr r3, [pc, #312] ; (80ae9d8 ) 80ae8a0: f833 2012 ldrh.w r2, [r3, r2, lsl #1] 80ae8a4: 4b46 ldr r3, [pc, #280] ; (80ae9c0 ) 80ae8a6: 801a strh r2, [r3, #0] Cursorblink ^= 1; 80ae8a8: 4b4c ldr r3, [pc, #304] ; (80ae9dc ) 80ae8aa: 781b ldrb r3, [r3, #0] 80ae8ac: b2db uxtb r3, r3 80ae8ae: f083 0301 eor.w r3, r3, #1 80ae8b2: b2da uxtb r2, r3 80ae8b4: 4b49 ldr r3, [pc, #292] ; (80ae9dc ) 80ae8b6: 701a strb r2, [r3, #0] if(cntblink) 80ae8b8: 4b49 ldr r3, [pc, #292] ; (80ae9e0 ) 80ae8ba: 881b ldrh r3, [r3, #0] 80ae8bc: b29b uxth r3, r3 80ae8be: 2b00 cmp r3, #0 80ae8c0: d007 beq.n 80ae8d2 cntblink--; 80ae8c2: 4b47 ldr r3, [pc, #284] ; (80ae9e0 ) 80ae8c4: 881b ldrh r3, [r3, #0] 80ae8c6: b29b uxth r3, r3 80ae8c8: 3b01 subs r3, #1 80ae8ca: b29a uxth r2, r3 80ae8cc: 4b44 ldr r3, [pc, #272] ; (80ae9e0 ) 80ae8ce: 801a strh r2, [r3, #0] 80ae8d0: e00d b.n 80ae8ee cntblink = 2; 80ae8d2: 4b43 ldr r3, [pc, #268] ; (80ae9e0 ) 80ae8d4: 2202 movs r2, #2 80ae8d6: 801a strh r2, [r3, #0] blink ^= 1; 80ae8d8: 4b42 ldr r3, [pc, #264] ; (80ae9e4 ) 80ae8da: 781b ldrb r3, [r3, #0] 80ae8dc: b2db uxtb r3, r3 80ae8de: f083 0301 eor.w r3, r3, #1 80ae8e2: b2da uxtb r2, r3 80ae8e4: 4b3f ldr r3, [pc, #252] ; (80ae9e4 ) 80ae8e6: 701a strb r2, [r3, #0] cntBat = 1; 80ae8e8: 4b3f ldr r3, [pc, #252] ; (80ae9e8 ) 80ae8ea: 2201 movs r2, #1 80ae8ec: 701a strb r2, [r3, #0] screen = true; 80ae8ee: 4b3f ldr r3, [pc, #252] ; (80ae9ec ) 80ae8f0: 2201 movs r2, #1 80ae8f2: 701a strb r2, [r3, #0] if(timerStatus > 1) 80ae8f4: 4b3e ldr r3, [pc, #248] ; (80ae9f0 ) 80ae8f6: 881b ldrh r3, [r3, #0] 80ae8f8: b29b uxth r3, r3 80ae8fa: 2b01 cmp r3, #1 80ae8fc: d907 bls.n 80ae90e timerStatus--; 80ae8fe: 4b3c ldr r3, [pc, #240] ; (80ae9f0 ) 80ae900: 881b ldrh r3, [r3, #0] 80ae902: b29b uxth r3, r3 80ae904: 3b01 subs r3, #1 80ae906: b29a uxth r2, r3 80ae908: 4b39 ldr r3, [pc, #228] ; (80ae9f0 ) 80ae90a: 801a strh r2, [r3, #0] 80ae90c: e016 b.n 80ae93c if(timerStatus == 1) 80ae90e: 4b38 ldr r3, [pc, #224] ; (80ae9f0 ) 80ae910: 881b ldrh r3, [r3, #0] 80ae912: b29b uxth r3, r3 80ae914: 2b01 cmp r3, #1 80ae916: d111 bne.n 80ae93c timerStatus = 0; 80ae918: 4b35 ldr r3, [pc, #212] ; (80ae9f0 ) 80ae91a: 2200 movs r2, #0 80ae91c: 801a strh r2, [r3, #0] STATUS = AP_OK; 80ae91e: 4b35 ldr r3, [pc, #212] ; (80ae9f4 ) 80ae920: 2200 movs r2, #0 80ae922: 601a str r2, [r3, #0] DrawStatus = false; 80ae924: 4b34 ldr r3, [pc, #208] ; (80ae9f8 ) 80ae926: 2200 movs r2, #0 80ae928: 701a strb r2, [r3, #0] ThisFileExist = false; 80ae92a: 4b34 ldr r3, [pc, #208] ; (80ae9fc ) 80ae92c: 2200 movs r2, #0 80ae92e: 701a strb r2, [r3, #0] SavingPassed = false; 80ae930: 4b33 ldr r3, [pc, #204] ; (80aea00 ) 80ae932: 2200 movs r2, #0 80ae934: 701a strb r2, [r3, #0] SavingUnable = false; 80ae936: 4b33 ldr r3, [pc, #204] ; (80aea04 ) 80ae938: 2200 movs r2, #0 80ae93a: 701a strb r2, [r3, #0] if(repeat) 80ae93c: 4b32 ldr r3, [pc, #200] ; (80aea08 ) 80ae93e: 881b ldrh r3, [r3, #0] 80ae940: b29b uxth r3, r3 80ae942: 2b00 cmp r3, #0 80ae944: d006 beq.n 80ae954 repeat--; 80ae946: 4b30 ldr r3, [pc, #192] ; (80aea08 ) 80ae948: 881b ldrh r3, [r3, #0] 80ae94a: b29b uxth r3, r3 80ae94c: 3b01 subs r3, #1 80ae94e: b29a uxth r2, r3 80ae950: 4b2d ldr r3, [pc, #180] ; (80aea08 ) 80ae952: 801a strh r2, [r3, #0] if(TIMEOUT_OFF) 80ae954: 4b2d ldr r3, [pc, #180] ; (80aea0c ) 80ae956: 681b ldr r3, [r3, #0] 80ae958: 2b00 cmp r3, #0 80ae95a: d012 beq.n 80ae982 if(USBConnected == false) 80ae95c: 4b12 ldr r3, [pc, #72] ; (80ae9a8 ) 80ae95e: 781b ldrb r3, [r3, #0] 80ae960: b2db uxtb r3, r3 80ae962: f083 0301 eor.w r3, r3, #1 80ae966: b2db uxtb r3, r3 80ae968: 2b00 cmp r3, #0 80ae96a: d005 beq.n 80ae978 TIMEOUT_OFF--; 80ae96c: 4b27 ldr r3, [pc, #156] ; (80aea0c ) 80ae96e: 681b ldr r3, [r3, #0] 80ae970: 3b01 subs r3, #1 80ae972: 4a26 ldr r2, [pc, #152] ; (80aea0c ) 80ae974: 6013 str r3, [r2, #0] 80ae976: e04f b.n 80aea18 else TIMEOUT_OFF = min15; 80ae978: 4b24 ldr r3, [pc, #144] ; (80aea0c ) 80ae97a: f44f 12e1 mov.w r2, #1843200 ; 0x1c2000 80ae97e: 601a str r2, [r3, #0] 80ae980: e04a b.n 80aea18 if(USBConnected == false) 80ae982: 4b09 ldr r3, [pc, #36] ; (80ae9a8 ) 80ae984: 781b ldrb r3, [r3, #0] 80ae986: b2db uxtb r3, r3 80ae988: f083 0301 eor.w r3, r3, #1 80ae98c: b2db uxtb r3, r3 80ae98e: 2b00 cmp r3, #0 80ae990: d03e beq.n 80aea10 Off(); 80ae992: f774 ff87 bl 80238a4 80ae996: e03f b.n 80aea18 80ae998: 40001400 .word 0x40001400 80ae99c: 200209ba .word 0x200209ba 80ae9a0: 20021b23 .word 0x20021b23 80ae9a4: 20020f80 .word 0x20020f80 80ae9a8: 20021b21 .word 0x20021b21 80ae9ac: 20021b22 .word 0x20021b22 80ae9b0: 20020f78 .word 0x20020f78 80ae9b4: 200209c4 .word 0x200209c4 80ae9b8: 20021b24 .word 0x20021b24 80ae9bc: 20020070 .word 0x20020070 80ae9c0: 200209bc .word 0x200209bc 80ae9c4: 20023e60 .word 0x20023e60 80ae9c8: 20020daf .word 0x20020daf 80ae9cc: 20021d20 .word 0x20021d20 80ae9d0: 20020da8 .word 0x20020da8 80ae9d4: 20020d6c .word 0x20020d6c 80ae9d8: 080ef7f0 .word 0x080ef7f0 80ae9dc: 2002168a .word 0x2002168a 80ae9e0: 200209b8 .word 0x200209b8 80ae9e4: 20021689 .word 0x20021689 80ae9e8: 2002168b .word 0x2002168b 80ae9ec: 200200ca .word 0x200200ca 80ae9f0: 2002168c .word 0x2002168c 80ae9f4: 20020dcc .word 0x20020dcc 80ae9f8: 20020dd2 .word 0x20020dd2 80ae9fc: 20020dd5 .word 0x20020dd5 80aea00: 20020dd4 .word 0x20020dd4 80aea04: 20020dd6 .word 0x20020dd6 80aea08: 20020f7c .word 0x20020f7c 80aea0c: 200209c0 .word 0x200209c0 else TIMEOUT_OFF = min15; 80aea10: 4b23 ldr r3, [pc, #140] ; (80aeaa0 ) 80aea12: f44f 12e1 mov.w r2, #1843200 ; 0x1c2000 80aea16: 601a str r2, [r3, #0] if((ChargerIsConnect) && (menu == POWER_OFF)) 80aea18: 4b22 ldr r3, [pc, #136] ; (80aeaa4 ) 80aea1a: 781b ldrb r3, [r3, #0] 80aea1c: b2db uxtb r3, r3 80aea1e: 2b00 cmp r3, #0 80aea20: d018 beq.n 80aea54 80aea22: 4b21 ldr r3, [pc, #132] ; (80aeaa8 ) 80aea24: 781b ldrb r3, [r3, #0] 80aea26: b2db uxtb r3, r3 80aea28: 2b43 cmp r3, #67 ; 0x43 80aea2a: d113 bne.n 80aea54 if(TIMEOUT_OFF2) 80aea2c: 4b1f ldr r3, [pc, #124] ; (80aeaac ) 80aea2e: 681b ldr r3, [r3, #0] 80aea30: 2b00 cmp r3, #0 80aea32: d005 beq.n 80aea40 TIMEOUT_OFF2--; 80aea34: 4b1d ldr r3, [pc, #116] ; (80aeaac ) 80aea36: 681b ldr r3, [r3, #0] 80aea38: 3b01 subs r3, #1 80aea3a: 4a1c ldr r2, [pc, #112] ; (80aeaac ) 80aea3c: 6013 str r3, [r2, #0] if(TIMEOUT_OFF2) 80aea3e: e00d b.n 80aea5c menu = POWER_OFF2; 80aea40: 4b19 ldr r3, [pc, #100] ; (80aeaa8 ) 80aea42: 2244 movs r2, #68 ; 0x44 80aea44: 701a strb r2, [r3, #0] HAL_GPIO_WritePin(DISP_ON_GPIO_Port, DISP_ON_Pin, GPIO_PIN_SET); // BACKLIGHT IS OFF 80aea46: 2201 movs r2, #1 80aea48: f44f 7180 mov.w r1, #256 ; 0x100 80aea4c: 4818 ldr r0, [pc, #96] ; (80aeab0 ) 80aea4e: f007 f8af bl 80b5bb0 if(TIMEOUT_OFF2) 80aea52: e003 b.n 80aea5c TIMEOUT_OFF2 = sec10; 80aea54: 4b15 ldr r3, [pc, #84] ; (80aeaac ) 80aea56: f44f 42a0 mov.w r2, #20480 ; 0x5000 80aea5a: 601a str r2, [r3, #0] if(timerBattery) 80aea5c: 4b15 ldr r3, [pc, #84] ; (80aeab4 ) 80aea5e: 881b ldrh r3, [r3, #0] 80aea60: b29b uxth r3, r3 80aea62: 2b00 cmp r3, #0 80aea64: d007 beq.n 80aea76 timerBattery--; 80aea66: 4b13 ldr r3, [pc, #76] ; (80aeab4 ) 80aea68: 881b ldrh r3, [r3, #0] 80aea6a: b29b uxth r3, r3 80aea6c: 3b01 subs r3, #1 80aea6e: b29a uxth r2, r3 80aea70: 4b10 ldr r3, [pc, #64] ; (80aeab4 ) 80aea72: 801a strh r2, [r3, #0] 80aea74: e005 b.n 80aea82 timerBattery = sec1; 80aea76: 4b0f ldr r3, [pc, #60] ; (80aeab4 ) 80aea78: f44f 6200 mov.w r2, #2048 ; 0x800 80aea7c: 801a strh r2, [r3, #0] MeasBattery(); 80aea7e: f772 f9c1 bl 8020e04 if(TIMEOUT_BAT) 80aea82: 4b0d ldr r3, [pc, #52] ; (80aeab8 ) 80aea84: 681b ldr r3, [r3, #0] 80aea86: 2b00 cmp r3, #0 80aea88: d004 beq.n 80aea94 TIMEOUT_BAT--; 80aea8a: 4b0b ldr r3, [pc, #44] ; (80aeab8 ) 80aea8c: 681b ldr r3, [r3, #0] 80aea8e: 3b01 subs r3, #1 80aea90: 4a09 ldr r2, [pc, #36] ; (80aeab8 ) 80aea92: 6013 str r3, [r2, #0] break; 80aea94: bf00 nop } 80aea96: bf00 nop 80aea98: 3710 adds r7, #16 80aea9a: 46bd mov sp, r7 80aea9c: bd80 pop {r7, pc} 80aea9e: bf00 nop 80aeaa0: 200209c0 .word 0x200209c0 80aeaa4: 20021b22 .word 0x20021b22 80aeaa8: 20020f78 .word 0x20020f78 80aeaac: 200209c4 .word 0x200209c4 80aeab0: 40020000 .word 0x40020000 80aeab4: 200209be .word 0x200209be 80aeab8: 200209c8 .word 0x200209c8 080aeabc : SET_BIT(huart7.Instance->CR1, USART_CR1_RXNEIE/* | USART_CR1_PEIE*/); } void MX_USART7_UART_DeInit(void) { 80aeabc: b580 push {r7, lr} 80aeabe: af00 add r7, sp, #0 if(HAL_UART_DeInit(&huart7) != HAL_OK) { 80aeac0: 4806 ldr r0, [pc, #24] ; (80aeadc ) 80aeac2: f00d fe1b bl 80bc6fc 80aeac6: 4603 mov r3, r0 80aeac8: 2b00 cmp r3, #0 80aeaca: d001 beq.n 80aead0 Error_Handler(); 80aeacc: f7a6 f9a0 bl 8054e10 } HAL_NVIC_DisableIRQ(UART7_IRQn); 80aead0: 2052 movs r0, #82 ; 0x52 80aead2: f005 fb32 bl 80b413a } 80aead6: bf00 nop 80aead8: bd80 pop {r7, pc} 80aeada: bf00 nop 80aeadc: 20068a24 .word 0x20068a24 080aeae0 : /* USER CODE END UART7_MspInit 1 */ } } void HAL_UART_MspDeInit(UART_HandleTypeDef* uartHandle) { 80aeae0: b580 push {r7, lr} 80aeae2: b082 sub sp, #8 80aeae4: af00 add r7, sp, #0 80aeae6: 6078 str r0, [r7, #4] if(uartHandle->Instance==UART7) 80aeae8: 687b ldr r3, [r7, #4] 80aeaea: 681b ldr r3, [r3, #0] 80aeaec: 4a09 ldr r2, [pc, #36] ; (80aeb14 ) 80aeaee: 4293 cmp r3, r2 80aeaf0: d10c bne.n 80aeb0c { /* USER CODE BEGIN UART7_MspDeInit 0 */ /* USER CODE END UART7_MspDeInit 0 */ /* Peripheral clock disable */ __HAL_RCC_UART7_CLK_DISABLE(); 80aeaf2: 4a09 ldr r2, [pc, #36] ; (80aeb18 ) 80aeaf4: 4b08 ldr r3, [pc, #32] ; (80aeb18 ) 80aeaf6: 6c1b ldr r3, [r3, #64] ; 0x40 80aeaf8: f023 4380 bic.w r3, r3, #1073741824 ; 0x40000000 80aeafc: 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); 80aeafe: 21c0 movs r1, #192 ; 0xc0 80aeb00: 4806 ldr r0, [pc, #24] ; (80aeb1c ) 80aeb02: f006 ff31 bl 80b5968 /* UART7 interrupt Deinit */ HAL_NVIC_DisableIRQ(UART7_IRQn); 80aeb06: 2052 movs r0, #82 ; 0x52 80aeb08: f005 fb17 bl 80b413a } } 80aeb0c: bf00 nop 80aeb0e: 3708 adds r7, #8 80aeb10: 46bd mov sp, r7 80aeb12: bd80 pop {r7, pc} 80aeb14: 40007800 .word 0x40007800 80aeb18: 40023800 .word 0x40023800 80aeb1c: 40021400 .word 0x40021400 080aeb20 : void UART7_IRQHandler(void) { 80aeb20: b580 push {r7, lr} 80aeb22: af00 add r7, sp, #0 if((__HAL_UART_GET_IT_SOURCE(&huart7, UART_IT_RXNE)) && (__HAL_UART_GET_FLAG(&huart7, UART_FLAG_RXNE))) 80aeb24: 4b26 ldr r3, [pc, #152] ; (80aebc0 ) 80aeb26: 681b ldr r3, [r3, #0] 80aeb28: 681b ldr r3, [r3, #0] 80aeb2a: f003 0320 and.w r3, r3, #32 80aeb2e: 2b00 cmp r3, #0 80aeb30: d009 beq.n 80aeb46 80aeb32: 4b23 ldr r3, [pc, #140] ; (80aebc0 ) 80aeb34: 681b ldr r3, [r3, #0] 80aeb36: 69db ldr r3, [r3, #28] 80aeb38: f003 0320 and.w r3, r3, #32 80aeb3c: 2b20 cmp r3, #32 80aeb3e: d102 bne.n 80aeb46 { HAL_UART_RxCplt(); 80aeb40: f780 ff1c bl 802f97c 80aeb44: e002 b.n 80aeb4c } else { HAL_UART_IRQHandler(&huart7); 80aeb46: 481e ldr r0, [pc, #120] ; (80aebc0 ) 80aeb48: f00d ff38 bl 80bc9bc } if(__HAL_UART_GET_FLAG(&huart7, UART_FLAG_ORE)) 80aeb4c: 4b1c ldr r3, [pc, #112] ; (80aebc0 ) 80aeb4e: 681b ldr r3, [r3, #0] 80aeb50: 69db ldr r3, [r3, #28] 80aeb52: f003 0308 and.w r3, r3, #8 80aeb56: 2b08 cmp r3, #8 80aeb58: d103 bne.n 80aeb62 __HAL_UART_CLEAR_OREFLAG(&huart7); 80aeb5a: 4b19 ldr r3, [pc, #100] ; (80aebc0 ) 80aeb5c: 681b ldr r3, [r3, #0] 80aeb5e: 2208 movs r2, #8 80aeb60: 621a str r2, [r3, #32] if(__HAL_UART_GET_FLAG(&huart7, UART_FLAG_PE)) 80aeb62: 4b17 ldr r3, [pc, #92] ; (80aebc0 ) 80aeb64: 681b ldr r3, [r3, #0] 80aeb66: 69db ldr r3, [r3, #28] 80aeb68: f003 0301 and.w r3, r3, #1 80aeb6c: 2b01 cmp r3, #1 80aeb6e: d103 bne.n 80aeb78 __HAL_UART_CLEAR_PEFLAG(&huart7); 80aeb70: 4b13 ldr r3, [pc, #76] ; (80aebc0 ) 80aeb72: 681b ldr r3, [r3, #0] 80aeb74: 2201 movs r2, #1 80aeb76: 621a str r2, [r3, #32] if(__HAL_UART_GET_FLAG(&huart7, UART_FLAG_FE)) 80aeb78: 4b11 ldr r3, [pc, #68] ; (80aebc0 ) 80aeb7a: 681b ldr r3, [r3, #0] 80aeb7c: 69db ldr r3, [r3, #28] 80aeb7e: f003 0302 and.w r3, r3, #2 80aeb82: 2b02 cmp r3, #2 80aeb84: d103 bne.n 80aeb8e __HAL_UART_CLEAR_FEFLAG(&huart7); 80aeb86: 4b0e ldr r3, [pc, #56] ; (80aebc0 ) 80aeb88: 681b ldr r3, [r3, #0] 80aeb8a: 2202 movs r2, #2 80aeb8c: 621a str r2, [r3, #32] if(__HAL_UART_GET_FLAG(&huart7, UART_FLAG_NE)) 80aeb8e: 4b0c ldr r3, [pc, #48] ; (80aebc0 ) 80aeb90: 681b ldr r3, [r3, #0] 80aeb92: 69db ldr r3, [r3, #28] 80aeb94: f003 0304 and.w r3, r3, #4 80aeb98: 2b04 cmp r3, #4 80aeb9a: d103 bne.n 80aeba4 __HAL_UART_CLEAR_NEFLAG(&huart7); 80aeb9c: 4b08 ldr r3, [pc, #32] ; (80aebc0 ) 80aeb9e: 681b ldr r3, [r3, #0] 80aeba0: 2204 movs r2, #4 80aeba2: 621a str r2, [r3, #32] if(__HAL_UART_GET_FLAG(&huart7, UART_FLAG_IDLE)) 80aeba4: 4b06 ldr r3, [pc, #24] ; (80aebc0 ) 80aeba6: 681b ldr r3, [r3, #0] 80aeba8: 69db ldr r3, [r3, #28] 80aebaa: f003 0310 and.w r3, r3, #16 80aebae: 2b10 cmp r3, #16 80aebb0: d103 bne.n 80aebba __HAL_UART_CLEAR_IDLEFLAG(&huart7); 80aebb2: 4b03 ldr r3, [pc, #12] ; (80aebc0 ) 80aebb4: 681b ldr r3, [r3, #0] 80aebb6: 2210 movs r2, #16 80aebb8: 621a str r2, [r3, #32] } 80aebba: bf00 nop 80aebbc: bd80 pop {r7, pc} 80aebbe: bf00 nop 80aebc0: 20068a24 .word 0x20068a24 080aebc4 : void arm_bitreversal_f32( float32_t * pSrc, uint16_t fftSize, uint16_t bitRevFactor, uint16_t * pBitRevTab) { 80aebc4: b480 push {r7} 80aebc6: b089 sub sp, #36 ; 0x24 80aebc8: af00 add r7, sp, #0 80aebca: 60f8 str r0, [r7, #12] 80aebcc: 607b str r3, [r7, #4] 80aebce: 460b mov r3, r1 80aebd0: 817b strh r3, [r7, #10] 80aebd2: 4613 mov r3, r2 80aebd4: 813b strh r3, [r7, #8] uint16_t fftLenBy2, fftLenBy2p1; uint16_t i, j; float32_t in; /* Initializations */ j = 0u; 80aebd6: 2300 movs r3, #0 80aebd8: 83bb strh r3, [r7, #28] fftLenBy2 = fftSize >> 1u; 80aebda: 897b ldrh r3, [r7, #10] 80aebdc: 085b lsrs r3, r3, #1 80aebde: 837b strh r3, [r7, #26] fftLenBy2p1 = (fftSize >> 1u) + 1u; 80aebe0: 897b ldrh r3, [r7, #10] 80aebe2: 085b lsrs r3, r3, #1 80aebe4: b29b uxth r3, r3 80aebe6: 3301 adds r3, #1 80aebe8: 833b strh r3, [r7, #24] /* Bit Reversal Implementation */ for (i = 0u; i <= (fftLenBy2 - 2u); i += 2u) 80aebea: 2300 movs r3, #0 80aebec: 83fb strh r3, [r7, #30] 80aebee: e0ba b.n 80aed66 { if(i < j) 80aebf0: 8bfa ldrh r2, [r7, #30] 80aebf2: 8bbb ldrh r3, [r7, #28] 80aebf4: 429a cmp r2, r3 80aebf6: d26f bcs.n 80aecd8 { /* pSrc[i] <-> pSrc[j]; */ in = pSrc[2u * i]; 80aebf8: 8bfb ldrh r3, [r7, #30] 80aebfa: 00db lsls r3, r3, #3 80aebfc: 68fa ldr r2, [r7, #12] 80aebfe: 4413 add r3, r2 80aec00: 681b ldr r3, [r3, #0] 80aec02: 617b str r3, [r7, #20] pSrc[2u * i] = pSrc[2u * j]; 80aec04: 8bfb ldrh r3, [r7, #30] 80aec06: 00db lsls r3, r3, #3 80aec08: 68fa ldr r2, [r7, #12] 80aec0a: 4413 add r3, r2 80aec0c: 8bba ldrh r2, [r7, #28] 80aec0e: 00d2 lsls r2, r2, #3 80aec10: 68f9 ldr r1, [r7, #12] 80aec12: 440a add r2, r1 80aec14: 6812 ldr r2, [r2, #0] 80aec16: 601a str r2, [r3, #0] pSrc[2u * j] = in; 80aec18: 8bbb ldrh r3, [r7, #28] 80aec1a: 00db lsls r3, r3, #3 80aec1c: 68fa ldr r2, [r7, #12] 80aec1e: 4413 add r3, r2 80aec20: 697a ldr r2, [r7, #20] 80aec22: 601a str r2, [r3, #0] /* pSrc[i+1u] <-> pSrc[j+1u] */ in = pSrc[(2u * i) + 1u]; 80aec24: 8bfb ldrh r3, [r7, #30] 80aec26: 00db lsls r3, r3, #3 80aec28: 3304 adds r3, #4 80aec2a: 68fa ldr r2, [r7, #12] 80aec2c: 4413 add r3, r2 80aec2e: 681b ldr r3, [r3, #0] 80aec30: 617b str r3, [r7, #20] pSrc[(2u * i) + 1u] = pSrc[(2u * j) + 1u]; 80aec32: 8bfb ldrh r3, [r7, #30] 80aec34: 00db lsls r3, r3, #3 80aec36: 3304 adds r3, #4 80aec38: 68fa ldr r2, [r7, #12] 80aec3a: 4413 add r3, r2 80aec3c: 8bba ldrh r2, [r7, #28] 80aec3e: 00d2 lsls r2, r2, #3 80aec40: 3204 adds r2, #4 80aec42: 68f9 ldr r1, [r7, #12] 80aec44: 440a add r2, r1 80aec46: 6812 ldr r2, [r2, #0] 80aec48: 601a str r2, [r3, #0] pSrc[(2u * j) + 1u] = in; 80aec4a: 8bbb ldrh r3, [r7, #28] 80aec4c: 00db lsls r3, r3, #3 80aec4e: 3304 adds r3, #4 80aec50: 68fa ldr r2, [r7, #12] 80aec52: 4413 add r3, r2 80aec54: 697a ldr r2, [r7, #20] 80aec56: 601a str r2, [r3, #0] /* pSrc[i+fftLenBy2p1] <-> pSrc[j+fftLenBy2p1] */ in = pSrc[2u * (i + fftLenBy2p1)]; 80aec58: 8bfa ldrh r2, [r7, #30] 80aec5a: 8b3b ldrh r3, [r7, #24] 80aec5c: 4413 add r3, r2 80aec5e: 00db lsls r3, r3, #3 80aec60: 68fa ldr r2, [r7, #12] 80aec62: 4413 add r3, r2 80aec64: 681b ldr r3, [r3, #0] 80aec66: 617b str r3, [r7, #20] pSrc[2u * (i + fftLenBy2p1)] = pSrc[2u * (j + fftLenBy2p1)]; 80aec68: 8bfa ldrh r2, [r7, #30] 80aec6a: 8b3b ldrh r3, [r7, #24] 80aec6c: 4413 add r3, r2 80aec6e: 00db lsls r3, r3, #3 80aec70: 68fa ldr r2, [r7, #12] 80aec72: 4413 add r3, r2 80aec74: 8bb9 ldrh r1, [r7, #28] 80aec76: 8b3a ldrh r2, [r7, #24] 80aec78: 440a add r2, r1 80aec7a: 00d2 lsls r2, r2, #3 80aec7c: 68f9 ldr r1, [r7, #12] 80aec7e: 440a add r2, r1 80aec80: 6812 ldr r2, [r2, #0] 80aec82: 601a str r2, [r3, #0] pSrc[2u * (j + fftLenBy2p1)] = in; 80aec84: 8bba ldrh r2, [r7, #28] 80aec86: 8b3b ldrh r3, [r7, #24] 80aec88: 4413 add r3, r2 80aec8a: 00db lsls r3, r3, #3 80aec8c: 68fa ldr r2, [r7, #12] 80aec8e: 4413 add r3, r2 80aec90: 697a ldr r2, [r7, #20] 80aec92: 601a str r2, [r3, #0] /* pSrc[i+fftLenBy2p1+1u] <-> pSrc[j+fftLenBy2p1+1u] */ in = pSrc[(2u * (i + fftLenBy2p1)) + 1u]; 80aec94: 8bfa ldrh r2, [r7, #30] 80aec96: 8b3b ldrh r3, [r7, #24] 80aec98: 4413 add r3, r2 80aec9a: 00db lsls r3, r3, #3 80aec9c: 3304 adds r3, #4 80aec9e: 68fa ldr r2, [r7, #12] 80aeca0: 4413 add r3, r2 80aeca2: 681b ldr r3, [r3, #0] 80aeca4: 617b str r3, [r7, #20] pSrc[(2u * (i + fftLenBy2p1)) + 1u] = 80aeca6: 8bfa ldrh r2, [r7, #30] 80aeca8: 8b3b ldrh r3, [r7, #24] 80aecaa: 4413 add r3, r2 80aecac: 00db lsls r3, r3, #3 80aecae: 3304 adds r3, #4 80aecb0: 68fa ldr r2, [r7, #12] 80aecb2: 4413 add r3, r2 pSrc[(2u * (j + fftLenBy2p1)) + 1u]; 80aecb4: 8bb9 ldrh r1, [r7, #28] 80aecb6: 8b3a ldrh r2, [r7, #24] 80aecb8: 440a add r2, r1 80aecba: 00d2 lsls r2, r2, #3 80aecbc: 3204 adds r2, #4 80aecbe: 68f9 ldr r1, [r7, #12] 80aecc0: 440a add r2, r1 80aecc2: 6812 ldr r2, [r2, #0] pSrc[(2u * (i + fftLenBy2p1)) + 1u] = 80aecc4: 601a str r2, [r3, #0] pSrc[(2u * (j + fftLenBy2p1)) + 1u] = in; 80aecc6: 8bba ldrh r2, [r7, #28] 80aecc8: 8b3b ldrh r3, [r7, #24] 80aecca: 4413 add r3, r2 80aeccc: 00db lsls r3, r3, #3 80aecce: 3304 adds r3, #4 80aecd0: 68fa ldr r2, [r7, #12] 80aecd2: 4413 add r3, r2 80aecd4: 697a ldr r2, [r7, #20] 80aecd6: 601a str r2, [r3, #0] } /* pSrc[i+1u] <-> pSrc[j+1u] */ in = pSrc[2u * (i + 1u)]; 80aecd8: 8bfb ldrh r3, [r7, #30] 80aecda: 3301 adds r3, #1 80aecdc: 00db lsls r3, r3, #3 80aecde: 68fa ldr r2, [r7, #12] 80aece0: 4413 add r3, r2 80aece2: 681b ldr r3, [r3, #0] 80aece4: 617b str r3, [r7, #20] pSrc[2u * (i + 1u)] = pSrc[2u * (j + fftLenBy2)]; 80aece6: 8bfb ldrh r3, [r7, #30] 80aece8: 3301 adds r3, #1 80aecea: 00db lsls r3, r3, #3 80aecec: 68fa ldr r2, [r7, #12] 80aecee: 4413 add r3, r2 80aecf0: 8bb9 ldrh r1, [r7, #28] 80aecf2: 8b7a ldrh r2, [r7, #26] 80aecf4: 440a add r2, r1 80aecf6: 00d2 lsls r2, r2, #3 80aecf8: 68f9 ldr r1, [r7, #12] 80aecfa: 440a add r2, r1 80aecfc: 6812 ldr r2, [r2, #0] 80aecfe: 601a str r2, [r3, #0] pSrc[2u * (j + fftLenBy2)] = in; 80aed00: 8bba ldrh r2, [r7, #28] 80aed02: 8b7b ldrh r3, [r7, #26] 80aed04: 4413 add r3, r2 80aed06: 00db lsls r3, r3, #3 80aed08: 68fa ldr r2, [r7, #12] 80aed0a: 4413 add r3, r2 80aed0c: 697a ldr r2, [r7, #20] 80aed0e: 601a str r2, [r3, #0] /* pSrc[i+2u] <-> pSrc[j+2u] */ in = pSrc[(2u * (i + 1u)) + 1u]; 80aed10: 8bfb ldrh r3, [r7, #30] 80aed12: 3301 adds r3, #1 80aed14: 00db lsls r3, r3, #3 80aed16: 3304 adds r3, #4 80aed18: 68fa ldr r2, [r7, #12] 80aed1a: 4413 add r3, r2 80aed1c: 681b ldr r3, [r3, #0] 80aed1e: 617b str r3, [r7, #20] pSrc[(2u * (i + 1u)) + 1u] = pSrc[(2u * (j + fftLenBy2)) + 1u]; 80aed20: 8bfb ldrh r3, [r7, #30] 80aed22: 3301 adds r3, #1 80aed24: 00db lsls r3, r3, #3 80aed26: 3304 adds r3, #4 80aed28: 68fa ldr r2, [r7, #12] 80aed2a: 4413 add r3, r2 80aed2c: 8bb9 ldrh r1, [r7, #28] 80aed2e: 8b7a ldrh r2, [r7, #26] 80aed30: 440a add r2, r1 80aed32: 00d2 lsls r2, r2, #3 80aed34: 3204 adds r2, #4 80aed36: 68f9 ldr r1, [r7, #12] 80aed38: 440a add r2, r1 80aed3a: 6812 ldr r2, [r2, #0] 80aed3c: 601a str r2, [r3, #0] pSrc[(2u * (j + fftLenBy2)) + 1u] = in; 80aed3e: 8bba ldrh r2, [r7, #28] 80aed40: 8b7b ldrh r3, [r7, #26] 80aed42: 4413 add r3, r2 80aed44: 00db lsls r3, r3, #3 80aed46: 3304 adds r3, #4 80aed48: 68fa ldr r2, [r7, #12] 80aed4a: 4413 add r3, r2 80aed4c: 697a ldr r2, [r7, #20] 80aed4e: 601a str r2, [r3, #0] /* Reading the index for the bit reversal */ j = *pBitRevTab; 80aed50: 687b ldr r3, [r7, #4] 80aed52: 881b ldrh r3, [r3, #0] 80aed54: 83bb strh r3, [r7, #28] /* Updating the bit reversal index depending on the fft length */ pBitRevTab += bitRevFactor; 80aed56: 893b ldrh r3, [r7, #8] 80aed58: 005b lsls r3, r3, #1 80aed5a: 687a ldr r2, [r7, #4] 80aed5c: 4413 add r3, r2 80aed5e: 607b str r3, [r7, #4] for (i = 0u; i <= (fftLenBy2 - 2u); i += 2u) 80aed60: 8bfb ldrh r3, [r7, #30] 80aed62: 3302 adds r3, #2 80aed64: 83fb strh r3, [r7, #30] 80aed66: 8bfa ldrh r2, [r7, #30] 80aed68: 8b7b ldrh r3, [r7, #26] 80aed6a: 3b02 subs r3, #2 80aed6c: 429a cmp r2, r3 80aed6e: f67f af3f bls.w 80aebf0 } } 80aed72: bf00 nop 80aed74: 3724 adds r7, #36 ; 0x24 80aed76: 46bd mov sp, r7 80aed78: f85d 7b04 ldr.w r7, [sp], #4 80aed7c: 4770 bx lr 080aed7e : * \endcode * */ void arm_cfft_radix8by2_f32( arm_cfft_instance_f32 * S, float32_t * p1) { 80aed7e: b580 push {r7, lr} 80aed80: b0a0 sub sp, #128 ; 0x80 80aed82: af00 add r7, sp, #0 80aed84: 6078 str r0, [r7, #4] 80aed86: 6039 str r1, [r7, #0] uint32_t L = S->fftLen; 80aed88: 687b ldr r3, [r7, #4] 80aed8a: 881b ldrh r3, [r3, #0] 80aed8c: 66bb str r3, [r7, #104] ; 0x68 float32_t * pCol1, * pCol2, * pMid1, * pMid2; float32_t * p2 = p1 + L; 80aed8e: 6ebb ldr r3, [r7, #104] ; 0x68 80aed90: 009b lsls r3, r3, #2 80aed92: 683a ldr r2, [r7, #0] 80aed94: 4413 add r3, r2 80aed96: 677b str r3, [r7, #116] ; 0x74 const float32_t * tw = (float32_t *) S->pTwiddle; 80aed98: 687b ldr r3, [r7, #4] 80aed9a: 685b ldr r3, [r3, #4] 80aed9c: 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; 80aed9e: 683b ldr r3, [r7, #0] 80aeda0: 667b str r3, [r7, #100] ; 0x64 pCol2 = p2; 80aeda2: 6f7b ldr r3, [r7, #116] ; 0x74 80aeda4: 663b str r3, [r7, #96] ; 0x60 // Define new length L >>= 1; 80aeda6: 6ebb ldr r3, [r7, #104] ; 0x68 80aeda8: 085b lsrs r3, r3, #1 80aedaa: 66bb str r3, [r7, #104] ; 0x68 // Initialize mid pointers pMid1 = p1 + L; 80aedac: 6ebb ldr r3, [r7, #104] ; 0x68 80aedae: 009b lsls r3, r3, #2 80aedb0: 683a ldr r2, [r7, #0] 80aedb2: 4413 add r3, r2 80aedb4: 67fb str r3, [r7, #124] ; 0x7c pMid2 = p2 + L; 80aedb6: 6ebb ldr r3, [r7, #104] ; 0x68 80aedb8: 009b lsls r3, r3, #2 80aedba: 6f7a ldr r2, [r7, #116] ; 0x74 80aedbc: 4413 add r3, r2 80aedbe: 67bb str r3, [r7, #120] ; 0x78 // do two dot Fourier transform for ( l = L >> 2; l > 0; l-- ) 80aedc0: 6ebb ldr r3, [r7, #104] ; 0x68 80aedc2: 089b lsrs r3, r3, #2 80aedc4: 66fb str r3, [r7, #108] ; 0x6c 80aedc6: e1b6 b.n 80af136 { t1[0] = p1[0]; 80aedc8: 683b ldr r3, [r7, #0] 80aedca: 681b ldr r3, [r3, #0] 80aedcc: 63bb str r3, [r7, #56] ; 0x38 t1[1] = p1[1]; 80aedce: 683b ldr r3, [r7, #0] 80aedd0: 685b ldr r3, [r3, #4] 80aedd2: 63fb str r3, [r7, #60] ; 0x3c t1[2] = p1[2]; 80aedd4: 683b ldr r3, [r7, #0] 80aedd6: 689b ldr r3, [r3, #8] 80aedd8: 643b str r3, [r7, #64] ; 0x40 t1[3] = p1[3]; 80aedda: 683b ldr r3, [r7, #0] 80aeddc: 68db ldr r3, [r3, #12] 80aedde: 647b str r3, [r7, #68] ; 0x44 t2[0] = p2[0]; 80aede0: 6f7b ldr r3, [r7, #116] ; 0x74 80aede2: 681b ldr r3, [r3, #0] 80aede4: 62bb str r3, [r7, #40] ; 0x28 t2[1] = p2[1]; 80aede6: 6f7b ldr r3, [r7, #116] ; 0x74 80aede8: 685b ldr r3, [r3, #4] 80aedea: 62fb str r3, [r7, #44] ; 0x2c t2[2] = p2[2]; 80aedec: 6f7b ldr r3, [r7, #116] ; 0x74 80aedee: 689b ldr r3, [r3, #8] 80aedf0: 633b str r3, [r7, #48] ; 0x30 t2[3] = p2[3]; 80aedf2: 6f7b ldr r3, [r7, #116] ; 0x74 80aedf4: 68db ldr r3, [r3, #12] 80aedf6: 637b str r3, [r7, #52] ; 0x34 t3[0] = pMid1[0]; 80aedf8: 6ffb ldr r3, [r7, #124] ; 0x7c 80aedfa: 681b ldr r3, [r3, #0] 80aedfc: 61bb str r3, [r7, #24] t3[1] = pMid1[1]; 80aedfe: 6ffb ldr r3, [r7, #124] ; 0x7c 80aee00: 685b ldr r3, [r3, #4] 80aee02: 61fb str r3, [r7, #28] t3[2] = pMid1[2]; 80aee04: 6ffb ldr r3, [r7, #124] ; 0x7c 80aee06: 689b ldr r3, [r3, #8] 80aee08: 623b str r3, [r7, #32] t3[3] = pMid1[3]; 80aee0a: 6ffb ldr r3, [r7, #124] ; 0x7c 80aee0c: 68db ldr r3, [r3, #12] 80aee0e: 627b str r3, [r7, #36] ; 0x24 t4[0] = pMid2[0]; 80aee10: 6fbb ldr r3, [r7, #120] ; 0x78 80aee12: 681b ldr r3, [r3, #0] 80aee14: 60bb str r3, [r7, #8] t4[1] = pMid2[1]; 80aee16: 6fbb ldr r3, [r7, #120] ; 0x78 80aee18: 685b ldr r3, [r3, #4] 80aee1a: 60fb str r3, [r7, #12] t4[2] = pMid2[2]; 80aee1c: 6fbb ldr r3, [r7, #120] ; 0x78 80aee1e: 689b ldr r3, [r3, #8] 80aee20: 613b str r3, [r7, #16] t4[3] = pMid2[3]; 80aee22: 6fbb ldr r3, [r7, #120] ; 0x78 80aee24: 68db ldr r3, [r3, #12] 80aee26: 617b str r3, [r7, #20] *p1++ = t1[0] + t2[0]; 80aee28: 683b ldr r3, [r7, #0] 80aee2a: 1d1a adds r2, r3, #4 80aee2c: 603a str r2, [r7, #0] 80aee2e: ed97 7a0e vldr s14, [r7, #56] ; 0x38 80aee32: edd7 7a0a vldr s15, [r7, #40] ; 0x28 80aee36: ee77 7a27 vadd.f32 s15, s14, s15 80aee3a: edc3 7a00 vstr s15, [r3] *p1++ = t1[1] + t2[1]; 80aee3e: 683b ldr r3, [r7, #0] 80aee40: 1d1a adds r2, r3, #4 80aee42: 603a str r2, [r7, #0] 80aee44: ed97 7a0f vldr s14, [r7, #60] ; 0x3c 80aee48: edd7 7a0b vldr s15, [r7, #44] ; 0x2c 80aee4c: ee77 7a27 vadd.f32 s15, s14, s15 80aee50: edc3 7a00 vstr s15, [r3] *p1++ = t1[2] + t2[2]; 80aee54: 683b ldr r3, [r7, #0] 80aee56: 1d1a adds r2, r3, #4 80aee58: 603a str r2, [r7, #0] 80aee5a: ed97 7a10 vldr s14, [r7, #64] ; 0x40 80aee5e: edd7 7a0c vldr s15, [r7, #48] ; 0x30 80aee62: ee77 7a27 vadd.f32 s15, s14, s15 80aee66: edc3 7a00 vstr s15, [r3] *p1++ = t1[3] + t2[3]; // col 1 80aee6a: 683b ldr r3, [r7, #0] 80aee6c: 1d1a adds r2, r3, #4 80aee6e: 603a str r2, [r7, #0] 80aee70: ed97 7a11 vldr s14, [r7, #68] ; 0x44 80aee74: edd7 7a0d vldr s15, [r7, #52] ; 0x34 80aee78: ee77 7a27 vadd.f32 s15, s14, s15 80aee7c: edc3 7a00 vstr s15, [r3] t2[0] = t1[0] - t2[0]; 80aee80: ed97 7a0e vldr s14, [r7, #56] ; 0x38 80aee84: edd7 7a0a vldr s15, [r7, #40] ; 0x28 80aee88: ee77 7a67 vsub.f32 s15, s14, s15 80aee8c: edc7 7a0a vstr s15, [r7, #40] ; 0x28 t2[1] = t1[1] - t2[1]; 80aee90: ed97 7a0f vldr s14, [r7, #60] ; 0x3c 80aee94: edd7 7a0b vldr s15, [r7, #44] ; 0x2c 80aee98: ee77 7a67 vsub.f32 s15, s14, s15 80aee9c: edc7 7a0b vstr s15, [r7, #44] ; 0x2c t2[2] = t1[2] - t2[2]; 80aeea0: ed97 7a10 vldr s14, [r7, #64] ; 0x40 80aeea4: edd7 7a0c vldr s15, [r7, #48] ; 0x30 80aeea8: ee77 7a67 vsub.f32 s15, s14, s15 80aeeac: edc7 7a0c vstr s15, [r7, #48] ; 0x30 t2[3] = t1[3] - t2[3]; // for col 2 80aeeb0: ed97 7a11 vldr s14, [r7, #68] ; 0x44 80aeeb4: edd7 7a0d vldr s15, [r7, #52] ; 0x34 80aeeb8: ee77 7a67 vsub.f32 s15, s14, s15 80aeebc: edc7 7a0d vstr s15, [r7, #52] ; 0x34 *pMid1++ = t3[0] + t4[0]; 80aeec0: 6ffb ldr r3, [r7, #124] ; 0x7c 80aeec2: 1d1a adds r2, r3, #4 80aeec4: 67fa str r2, [r7, #124] ; 0x7c 80aeec6: ed97 7a06 vldr s14, [r7, #24] 80aeeca: edd7 7a02 vldr s15, [r7, #8] 80aeece: ee77 7a27 vadd.f32 s15, s14, s15 80aeed2: edc3 7a00 vstr s15, [r3] *pMid1++ = t3[1] + t4[1]; 80aeed6: 6ffb ldr r3, [r7, #124] ; 0x7c 80aeed8: 1d1a adds r2, r3, #4 80aeeda: 67fa str r2, [r7, #124] ; 0x7c 80aeedc: ed97 7a07 vldr s14, [r7, #28] 80aeee0: edd7 7a03 vldr s15, [r7, #12] 80aeee4: ee77 7a27 vadd.f32 s15, s14, s15 80aeee8: edc3 7a00 vstr s15, [r3] *pMid1++ = t3[2] + t4[2]; 80aeeec: 6ffb ldr r3, [r7, #124] ; 0x7c 80aeeee: 1d1a adds r2, r3, #4 80aeef0: 67fa str r2, [r7, #124] ; 0x7c 80aeef2: ed97 7a08 vldr s14, [r7, #32] 80aeef6: edd7 7a04 vldr s15, [r7, #16] 80aeefa: ee77 7a27 vadd.f32 s15, s14, s15 80aeefe: edc3 7a00 vstr s15, [r3] *pMid1++ = t3[3] + t4[3]; // col 1 80aef02: 6ffb ldr r3, [r7, #124] ; 0x7c 80aef04: 1d1a adds r2, r3, #4 80aef06: 67fa str r2, [r7, #124] ; 0x7c 80aef08: ed97 7a09 vldr s14, [r7, #36] ; 0x24 80aef0c: edd7 7a05 vldr s15, [r7, #20] 80aef10: ee77 7a27 vadd.f32 s15, s14, s15 80aef14: edc3 7a00 vstr s15, [r3] t4[0] = t4[0] - t3[0]; 80aef18: ed97 7a02 vldr s14, [r7, #8] 80aef1c: edd7 7a06 vldr s15, [r7, #24] 80aef20: ee77 7a67 vsub.f32 s15, s14, s15 80aef24: edc7 7a02 vstr s15, [r7, #8] t4[1] = t4[1] - t3[1]; 80aef28: ed97 7a03 vldr s14, [r7, #12] 80aef2c: edd7 7a07 vldr s15, [r7, #28] 80aef30: ee77 7a67 vsub.f32 s15, s14, s15 80aef34: edc7 7a03 vstr s15, [r7, #12] t4[2] = t4[2] - t3[2]; 80aef38: ed97 7a04 vldr s14, [r7, #16] 80aef3c: edd7 7a08 vldr s15, [r7, #32] 80aef40: ee77 7a67 vsub.f32 s15, s14, s15 80aef44: edc7 7a04 vstr s15, [r7, #16] t4[3] = t4[3] - t3[3]; // for col 2 80aef48: ed97 7a05 vldr s14, [r7, #20] 80aef4c: edd7 7a09 vldr s15, [r7, #36] ; 0x24 80aef50: ee77 7a67 vsub.f32 s15, s14, s15 80aef54: edc7 7a05 vstr s15, [r7, #20] twR = *tw++; 80aef58: 6f3b ldr r3, [r7, #112] ; 0x70 80aef5a: 1d1a adds r2, r3, #4 80aef5c: 673a str r2, [r7, #112] ; 0x70 80aef5e: 681b ldr r3, [r3, #0] 80aef60: 65fb str r3, [r7, #92] ; 0x5c twI = *tw++; 80aef62: 6f3b ldr r3, [r7, #112] ; 0x70 80aef64: 1d1a adds r2, r3, #4 80aef66: 673a str r2, [r7, #112] ; 0x70 80aef68: 681b ldr r3, [r3, #0] 80aef6a: 65bb str r3, [r7, #88] ; 0x58 // multiply by twiddle factors m0 = t2[0] * twR; 80aef6c: ed97 7a0a vldr s14, [r7, #40] ; 0x28 80aef70: edd7 7a17 vldr s15, [r7, #92] ; 0x5c 80aef74: ee67 7a27 vmul.f32 s15, s14, s15 80aef78: edc7 7a15 vstr s15, [r7, #84] ; 0x54 m1 = t2[1] * twI; 80aef7c: ed97 7a0b vldr s14, [r7, #44] ; 0x2c 80aef80: edd7 7a16 vldr s15, [r7, #88] ; 0x58 80aef84: ee67 7a27 vmul.f32 s15, s14, s15 80aef88: edc7 7a14 vstr s15, [r7, #80] ; 0x50 m2 = t2[1] * twR; 80aef8c: ed97 7a0b vldr s14, [r7, #44] ; 0x2c 80aef90: edd7 7a17 vldr s15, [r7, #92] ; 0x5c 80aef94: ee67 7a27 vmul.f32 s15, s14, s15 80aef98: edc7 7a13 vstr s15, [r7, #76] ; 0x4c m3 = t2[0] * twI; 80aef9c: ed97 7a0a vldr s14, [r7, #40] ; 0x28 80aefa0: edd7 7a16 vldr s15, [r7, #88] ; 0x58 80aefa4: ee67 7a27 vmul.f32 s15, s14, s15 80aefa8: edc7 7a12 vstr s15, [r7, #72] ; 0x48 // R = R * Tr - I * Ti *p2++ = m0 + m1; 80aefac: 6f7b ldr r3, [r7, #116] ; 0x74 80aefae: 1d1a adds r2, r3, #4 80aefb0: 677a str r2, [r7, #116] ; 0x74 80aefb2: ed97 7a15 vldr s14, [r7, #84] ; 0x54 80aefb6: edd7 7a14 vldr s15, [r7, #80] ; 0x50 80aefba: ee77 7a27 vadd.f32 s15, s14, s15 80aefbe: edc3 7a00 vstr s15, [r3] // I = I * Tr + R * Ti *p2++ = m2 - m3; 80aefc2: 6f7b ldr r3, [r7, #116] ; 0x74 80aefc4: 1d1a adds r2, r3, #4 80aefc6: 677a str r2, [r7, #116] ; 0x74 80aefc8: ed97 7a13 vldr s14, [r7, #76] ; 0x4c 80aefcc: edd7 7a12 vldr s15, [r7, #72] ; 0x48 80aefd0: ee77 7a67 vsub.f32 s15, s14, s15 80aefd4: edc3 7a00 vstr s15, [r3] // use vertical symmetry // 0.9988 - 0.0491i <==> -0.0491 - 0.9988i m0 = t4[0] * twI; 80aefd8: ed97 7a02 vldr s14, [r7, #8] 80aefdc: edd7 7a16 vldr s15, [r7, #88] ; 0x58 80aefe0: ee67 7a27 vmul.f32 s15, s14, s15 80aefe4: edc7 7a15 vstr s15, [r7, #84] ; 0x54 m1 = t4[1] * twR; 80aefe8: ed97 7a03 vldr s14, [r7, #12] 80aefec: edd7 7a17 vldr s15, [r7, #92] ; 0x5c 80aeff0: ee67 7a27 vmul.f32 s15, s14, s15 80aeff4: edc7 7a14 vstr s15, [r7, #80] ; 0x50 m2 = t4[1] * twI; 80aeff8: ed97 7a03 vldr s14, [r7, #12] 80aeffc: edd7 7a16 vldr s15, [r7, #88] ; 0x58 80af000: ee67 7a27 vmul.f32 s15, s14, s15 80af004: edc7 7a13 vstr s15, [r7, #76] ; 0x4c m3 = t4[0] * twR; 80af008: ed97 7a02 vldr s14, [r7, #8] 80af00c: edd7 7a17 vldr s15, [r7, #92] ; 0x5c 80af010: ee67 7a27 vmul.f32 s15, s14, s15 80af014: edc7 7a12 vstr s15, [r7, #72] ; 0x48 *pMid2++ = m0 - m1; 80af018: 6fbb ldr r3, [r7, #120] ; 0x78 80af01a: 1d1a adds r2, r3, #4 80af01c: 67ba str r2, [r7, #120] ; 0x78 80af01e: ed97 7a15 vldr s14, [r7, #84] ; 0x54 80af022: edd7 7a14 vldr s15, [r7, #80] ; 0x50 80af026: ee77 7a67 vsub.f32 s15, s14, s15 80af02a: edc3 7a00 vstr s15, [r3] *pMid2++ = m2 + m3; 80af02e: 6fbb ldr r3, [r7, #120] ; 0x78 80af030: 1d1a adds r2, r3, #4 80af032: 67ba str r2, [r7, #120] ; 0x78 80af034: ed97 7a13 vldr s14, [r7, #76] ; 0x4c 80af038: edd7 7a12 vldr s15, [r7, #72] ; 0x48 80af03c: ee77 7a27 vadd.f32 s15, s14, s15 80af040: edc3 7a00 vstr s15, [r3] twR = *tw++; 80af044: 6f3b ldr r3, [r7, #112] ; 0x70 80af046: 1d1a adds r2, r3, #4 80af048: 673a str r2, [r7, #112] ; 0x70 80af04a: 681b ldr r3, [r3, #0] 80af04c: 65fb str r3, [r7, #92] ; 0x5c twI = *tw++; 80af04e: 6f3b ldr r3, [r7, #112] ; 0x70 80af050: 1d1a adds r2, r3, #4 80af052: 673a str r2, [r7, #112] ; 0x70 80af054: 681b ldr r3, [r3, #0] 80af056: 65bb str r3, [r7, #88] ; 0x58 m0 = t2[2] * twR; 80af058: ed97 7a0c vldr s14, [r7, #48] ; 0x30 80af05c: edd7 7a17 vldr s15, [r7, #92] ; 0x5c 80af060: ee67 7a27 vmul.f32 s15, s14, s15 80af064: edc7 7a15 vstr s15, [r7, #84] ; 0x54 m1 = t2[3] * twI; 80af068: ed97 7a0d vldr s14, [r7, #52] ; 0x34 80af06c: edd7 7a16 vldr s15, [r7, #88] ; 0x58 80af070: ee67 7a27 vmul.f32 s15, s14, s15 80af074: edc7 7a14 vstr s15, [r7, #80] ; 0x50 m2 = t2[3] * twR; 80af078: ed97 7a0d vldr s14, [r7, #52] ; 0x34 80af07c: edd7 7a17 vldr s15, [r7, #92] ; 0x5c 80af080: ee67 7a27 vmul.f32 s15, s14, s15 80af084: edc7 7a13 vstr s15, [r7, #76] ; 0x4c m3 = t2[2] * twI; 80af088: ed97 7a0c vldr s14, [r7, #48] ; 0x30 80af08c: edd7 7a16 vldr s15, [r7, #88] ; 0x58 80af090: ee67 7a27 vmul.f32 s15, s14, s15 80af094: edc7 7a12 vstr s15, [r7, #72] ; 0x48 *p2++ = m0 + m1; 80af098: 6f7b ldr r3, [r7, #116] ; 0x74 80af09a: 1d1a adds r2, r3, #4 80af09c: 677a str r2, [r7, #116] ; 0x74 80af09e: ed97 7a15 vldr s14, [r7, #84] ; 0x54 80af0a2: edd7 7a14 vldr s15, [r7, #80] ; 0x50 80af0a6: ee77 7a27 vadd.f32 s15, s14, s15 80af0aa: edc3 7a00 vstr s15, [r3] *p2++ = m2 - m3; 80af0ae: 6f7b ldr r3, [r7, #116] ; 0x74 80af0b0: 1d1a adds r2, r3, #4 80af0b2: 677a str r2, [r7, #116] ; 0x74 80af0b4: ed97 7a13 vldr s14, [r7, #76] ; 0x4c 80af0b8: edd7 7a12 vldr s15, [r7, #72] ; 0x48 80af0bc: ee77 7a67 vsub.f32 s15, s14, s15 80af0c0: edc3 7a00 vstr s15, [r3] m0 = t4[2] * twI; 80af0c4: ed97 7a04 vldr s14, [r7, #16] 80af0c8: edd7 7a16 vldr s15, [r7, #88] ; 0x58 80af0cc: ee67 7a27 vmul.f32 s15, s14, s15 80af0d0: edc7 7a15 vstr s15, [r7, #84] ; 0x54 m1 = t4[3] * twR; 80af0d4: ed97 7a05 vldr s14, [r7, #20] 80af0d8: edd7 7a17 vldr s15, [r7, #92] ; 0x5c 80af0dc: ee67 7a27 vmul.f32 s15, s14, s15 80af0e0: edc7 7a14 vstr s15, [r7, #80] ; 0x50 m2 = t4[3] * twI; 80af0e4: ed97 7a05 vldr s14, [r7, #20] 80af0e8: edd7 7a16 vldr s15, [r7, #88] ; 0x58 80af0ec: ee67 7a27 vmul.f32 s15, s14, s15 80af0f0: edc7 7a13 vstr s15, [r7, #76] ; 0x4c m3 = t4[2] * twR; 80af0f4: ed97 7a04 vldr s14, [r7, #16] 80af0f8: edd7 7a17 vldr s15, [r7, #92] ; 0x5c 80af0fc: ee67 7a27 vmul.f32 s15, s14, s15 80af100: edc7 7a12 vstr s15, [r7, #72] ; 0x48 *pMid2++ = m0 - m1; 80af104: 6fbb ldr r3, [r7, #120] ; 0x78 80af106: 1d1a adds r2, r3, #4 80af108: 67ba str r2, [r7, #120] ; 0x78 80af10a: ed97 7a15 vldr s14, [r7, #84] ; 0x54 80af10e: edd7 7a14 vldr s15, [r7, #80] ; 0x50 80af112: ee77 7a67 vsub.f32 s15, s14, s15 80af116: edc3 7a00 vstr s15, [r3] *pMid2++ = m2 + m3; 80af11a: 6fbb ldr r3, [r7, #120] ; 0x78 80af11c: 1d1a adds r2, r3, #4 80af11e: 67ba str r2, [r7, #120] ; 0x78 80af120: ed97 7a13 vldr s14, [r7, #76] ; 0x4c 80af124: edd7 7a12 vldr s15, [r7, #72] ; 0x48 80af128: ee77 7a27 vadd.f32 s15, s14, s15 80af12c: edc3 7a00 vstr s15, [r3] for ( l = L >> 2; l > 0; l-- ) 80af130: 6efb ldr r3, [r7, #108] ; 0x6c 80af132: 3b01 subs r3, #1 80af134: 66fb str r3, [r7, #108] ; 0x6c 80af136: 6efb ldr r3, [r7, #108] ; 0x6c 80af138: 2b00 cmp r3, #0 80af13a: f47f ae45 bne.w 80aedc8 } // first col arm_radix8_butterfly_f32( pCol1, L, (float32_t *) S->pTwiddle, 2u); 80af13e: 6ebb ldr r3, [r7, #104] ; 0x68 80af140: b299 uxth r1, r3 80af142: 687b ldr r3, [r7, #4] 80af144: 685a ldr r2, [r3, #4] 80af146: 2302 movs r3, #2 80af148: 6e78 ldr r0, [r7, #100] ; 0x64 80af14a: f002 fa11 bl 80b1570 // second col arm_radix8_butterfly_f32( pCol2, L, (float32_t *) S->pTwiddle, 2u); 80af14e: 6ebb ldr r3, [r7, #104] ; 0x68 80af150: b299 uxth r1, r3 80af152: 687b ldr r3, [r7, #4] 80af154: 685a ldr r2, [r3, #4] 80af156: 2302 movs r3, #2 80af158: 6e38 ldr r0, [r7, #96] ; 0x60 80af15a: f002 fa09 bl 80b1570 } 80af15e: bf00 nop 80af160: 3780 adds r7, #128 ; 0x80 80af162: 46bd mov sp, r7 80af164: bd80 pop {r7, pc} 080af166 : void arm_cfft_radix8by4_f32( arm_cfft_instance_f32 * S, float32_t * p1) { 80af166: b580 push {r7, lr} 80af168: b0ac sub sp, #176 ; 0xb0 80af16a: af00 add r7, sp, #0 80af16c: 6078 str r0, [r7, #4] 80af16e: 6039 str r1, [r7, #0] uint32_t L = S->fftLen >> 1; 80af170: 687b ldr r3, [r7, #4] 80af172: 881b ldrh r3, [r3, #0] 80af174: 085b lsrs r3, r3, #1 80af176: b29b uxth r3, r3 80af178: 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; 80af17c: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 80af180: 009b lsls r3, r3, #2 80af182: 683a ldr r2, [r7, #0] 80af184: 4413 add r3, r2 80af186: f8c7 3090 str.w r3, [r7, #144] ; 0x90 float32_t * p3 = p2 + L; 80af18a: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 80af18e: 009b lsls r3, r3, #2 80af190: f8d7 2090 ldr.w r2, [r7, #144] ; 0x90 80af194: 4413 add r3, r2 80af196: f8c7 308c str.w r3, [r7, #140] ; 0x8c float32_t * p4 = p3 + L; 80af19a: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 80af19e: 009b lsls r3, r3, #2 80af1a0: f8d7 208c ldr.w r2, [r7, #140] ; 0x8c 80af1a4: 4413 add r3, r2 80af1a6: 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 80af1aa: 683b ldr r3, [r7, #0] 80af1ac: 67fb str r3, [r7, #124] ; 0x7c pCol2 = p2; 80af1ae: f8d7 3090 ldr.w r3, [r7, #144] ; 0x90 80af1b2: 67bb str r3, [r7, #120] ; 0x78 pCol3 = p3; 80af1b4: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80af1b8: 677b str r3, [r7, #116] ; 0x74 pCol4 = p4; 80af1ba: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 80af1be: 673b str r3, [r7, #112] ; 0x70 pEnd1 = p2 - 1; // points to imaginary values by default 80af1c0: f8d7 3090 ldr.w r3, [r7, #144] ; 0x90 80af1c4: 3b04 subs r3, #4 80af1c6: f8c7 30ac str.w r3, [r7, #172] ; 0xac pEnd2 = p3 - 1; 80af1ca: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80af1ce: 3b04 subs r3, #4 80af1d0: f8c7 30a8 str.w r3, [r7, #168] ; 0xa8 pEnd3 = p4 - 1; 80af1d4: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 80af1d8: 3b04 subs r3, #4 80af1da: f8c7 30a4 str.w r3, [r7, #164] ; 0xa4 pEnd4 = pEnd3 + L; 80af1de: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 80af1e2: 009b lsls r3, r3, #2 80af1e4: f8d7 20a4 ldr.w r2, [r7, #164] ; 0xa4 80af1e8: 4413 add r3, r2 80af1ea: f8c7 30a0 str.w r3, [r7, #160] ; 0xa0 tw2 = tw3 = tw4 = (float32_t *) S->pTwiddle; 80af1ee: 687b ldr r3, [r7, #4] 80af1f0: 685b ldr r3, [r3, #4] 80af1f2: f8c7 3094 str.w r3, [r7, #148] ; 0x94 80af1f6: f8d7 3094 ldr.w r3, [r7, #148] ; 0x94 80af1fa: f8c7 3098 str.w r3, [r7, #152] ; 0x98 80af1fe: f8d7 3098 ldr.w r3, [r7, #152] ; 0x98 80af202: f8c7 309c str.w r3, [r7, #156] ; 0x9c L >>= 1; 80af206: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 80af20a: 085b lsrs r3, r3, #1 80af20c: f8c7 3080 str.w r3, [r7, #128] ; 0x80 // do four dot Fourier transform twMod2 = 2; 80af210: 2302 movs r3, #2 80af212: 66fb str r3, [r7, #108] ; 0x6c twMod3 = 4; 80af214: 2304 movs r3, #4 80af216: 66bb str r3, [r7, #104] ; 0x68 twMod4 = 6; 80af218: 2306 movs r3, #6 80af21a: 667b str r3, [r7, #100] ; 0x64 // TOP p1ap3_0 = p1[0] + p3[0]; 80af21c: 683b ldr r3, [r7, #0] 80af21e: ed93 7a00 vldr s14, [r3] 80af222: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80af226: edd3 7a00 vldr s15, [r3] 80af22a: ee77 7a27 vadd.f32 s15, s14, s15 80af22e: edc7 7a18 vstr s15, [r7, #96] ; 0x60 p1sp3_0 = p1[0] - p3[0]; 80af232: 683b ldr r3, [r7, #0] 80af234: ed93 7a00 vldr s14, [r3] 80af238: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80af23c: edd3 7a00 vldr s15, [r3] 80af240: ee77 7a67 vsub.f32 s15, s14, s15 80af244: edc7 7a17 vstr s15, [r7, #92] ; 0x5c p1ap3_1 = p1[1] + p3[1]; 80af248: 683b ldr r3, [r7, #0] 80af24a: 3304 adds r3, #4 80af24c: ed93 7a00 vldr s14, [r3] 80af250: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80af254: 3304 adds r3, #4 80af256: edd3 7a00 vldr s15, [r3] 80af25a: ee77 7a27 vadd.f32 s15, s14, s15 80af25e: edc7 7a16 vstr s15, [r7, #88] ; 0x58 p1sp3_1 = p1[1] - p3[1]; 80af262: 683b ldr r3, [r7, #0] 80af264: 3304 adds r3, #4 80af266: ed93 7a00 vldr s14, [r3] 80af26a: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80af26e: 3304 adds r3, #4 80af270: edd3 7a00 vldr s15, [r3] 80af274: ee77 7a67 vsub.f32 s15, s14, s15 80af278: edc7 7a15 vstr s15, [r7, #84] ; 0x54 // col 2 t2[0] = p1sp3_0 + p2[1] - p4[1]; 80af27c: f8d7 3090 ldr.w r3, [r7, #144] ; 0x90 80af280: 3304 adds r3, #4 80af282: ed93 7a00 vldr s14, [r3] 80af286: edd7 7a17 vldr s15, [r7, #92] ; 0x5c 80af28a: ee37 7a27 vadd.f32 s14, s14, s15 80af28e: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 80af292: 3304 adds r3, #4 80af294: edd3 7a00 vldr s15, [r3] 80af298: ee77 7a67 vsub.f32 s15, s14, s15 80af29c: edc7 7a0b vstr s15, [r7, #44] ; 0x2c t2[1] = p1sp3_1 - p2[0] + p4[0]; 80af2a0: f8d7 3090 ldr.w r3, [r7, #144] ; 0x90 80af2a4: edd3 7a00 vldr s15, [r3] 80af2a8: ed97 7a15 vldr s14, [r7, #84] ; 0x54 80af2ac: ee37 7a67 vsub.f32 s14, s14, s15 80af2b0: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 80af2b4: edd3 7a00 vldr s15, [r3] 80af2b8: ee77 7a27 vadd.f32 s15, s14, s15 80af2bc: edc7 7a0c vstr s15, [r7, #48] ; 0x30 // col 3 t3[0] = p1ap3_0 - p2[0] - p4[0]; 80af2c0: f8d7 3090 ldr.w r3, [r7, #144] ; 0x90 80af2c4: edd3 7a00 vldr s15, [r3] 80af2c8: ed97 7a18 vldr s14, [r7, #96] ; 0x60 80af2cc: ee37 7a67 vsub.f32 s14, s14, s15 80af2d0: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 80af2d4: edd3 7a00 vldr s15, [r3] 80af2d8: ee77 7a67 vsub.f32 s15, s14, s15 80af2dc: edc7 7a07 vstr s15, [r7, #28] t3[1] = p1ap3_1 - p2[1] - p4[1]; 80af2e0: f8d7 3090 ldr.w r3, [r7, #144] ; 0x90 80af2e4: 3304 adds r3, #4 80af2e6: edd3 7a00 vldr s15, [r3] 80af2ea: ed97 7a16 vldr s14, [r7, #88] ; 0x58 80af2ee: ee37 7a67 vsub.f32 s14, s14, s15 80af2f2: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 80af2f6: 3304 adds r3, #4 80af2f8: edd3 7a00 vldr s15, [r3] 80af2fc: ee77 7a67 vsub.f32 s15, s14, s15 80af300: edc7 7a08 vstr s15, [r7, #32] // col 4 t4[0] = p1sp3_0 - p2[1] + p4[1]; 80af304: f8d7 3090 ldr.w r3, [r7, #144] ; 0x90 80af308: 3304 adds r3, #4 80af30a: edd3 7a00 vldr s15, [r3] 80af30e: ed97 7a17 vldr s14, [r7, #92] ; 0x5c 80af312: ee37 7a67 vsub.f32 s14, s14, s15 80af316: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 80af31a: 3304 adds r3, #4 80af31c: edd3 7a00 vldr s15, [r3] 80af320: ee77 7a27 vadd.f32 s15, s14, s15 80af324: edc7 7a03 vstr s15, [r7, #12] t4[1] = p1sp3_1 + p2[0] - p4[0]; 80af328: f8d7 3090 ldr.w r3, [r7, #144] ; 0x90 80af32c: ed93 7a00 vldr s14, [r3] 80af330: edd7 7a15 vldr s15, [r7, #84] ; 0x54 80af334: ee37 7a27 vadd.f32 s14, s14, s15 80af338: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 80af33c: edd3 7a00 vldr s15, [r3] 80af340: ee77 7a67 vsub.f32 s15, s14, s15 80af344: edc7 7a04 vstr s15, [r7, #16] // col 1 *p1++ = p1ap3_0 + p2[0] + p4[0]; 80af348: 683b ldr r3, [r7, #0] 80af34a: 1d1a adds r2, r3, #4 80af34c: 603a str r2, [r7, #0] 80af34e: f8d7 2090 ldr.w r2, [r7, #144] ; 0x90 80af352: ed92 7a00 vldr s14, [r2] 80af356: edd7 7a18 vldr s15, [r7, #96] ; 0x60 80af35a: ee37 7a27 vadd.f32 s14, s14, s15 80af35e: f8d7 2088 ldr.w r2, [r7, #136] ; 0x88 80af362: edd2 7a00 vldr s15, [r2] 80af366: ee77 7a27 vadd.f32 s15, s14, s15 80af36a: edc3 7a00 vstr s15, [r3] *p1++ = p1ap3_1 + p2[1] + p4[1]; 80af36e: 683b ldr r3, [r7, #0] 80af370: 1d1a adds r2, r3, #4 80af372: 603a str r2, [r7, #0] 80af374: f8d7 2090 ldr.w r2, [r7, #144] ; 0x90 80af378: 3204 adds r2, #4 80af37a: ed92 7a00 vldr s14, [r2] 80af37e: edd7 7a16 vldr s15, [r7, #88] ; 0x58 80af382: ee37 7a27 vadd.f32 s14, s14, s15 80af386: f8d7 2088 ldr.w r2, [r7, #136] ; 0x88 80af38a: 3204 adds r2, #4 80af38c: edd2 7a00 vldr s15, [r2] 80af390: ee77 7a27 vadd.f32 s15, s14, s15 80af394: edc3 7a00 vstr s15, [r3] // Twiddle factors are ones *p2++ = t2[0]; 80af398: f8d7 3090 ldr.w r3, [r7, #144] ; 0x90 80af39c: 1d1a adds r2, r3, #4 80af39e: f8c7 2090 str.w r2, [r7, #144] ; 0x90 80af3a2: 6afa ldr r2, [r7, #44] ; 0x2c 80af3a4: 601a str r2, [r3, #0] *p2++ = t2[1]; 80af3a6: f8d7 3090 ldr.w r3, [r7, #144] ; 0x90 80af3aa: 1d1a adds r2, r3, #4 80af3ac: f8c7 2090 str.w r2, [r7, #144] ; 0x90 80af3b0: 6b3a ldr r2, [r7, #48] ; 0x30 80af3b2: 601a str r2, [r3, #0] *p3++ = t3[0]; 80af3b4: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80af3b8: 1d1a adds r2, r3, #4 80af3ba: f8c7 208c str.w r2, [r7, #140] ; 0x8c 80af3be: 69fa ldr r2, [r7, #28] 80af3c0: 601a str r2, [r3, #0] *p3++ = t3[1]; 80af3c2: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80af3c6: 1d1a adds r2, r3, #4 80af3c8: f8c7 208c str.w r2, [r7, #140] ; 0x8c 80af3cc: 6a3a ldr r2, [r7, #32] 80af3ce: 601a str r2, [r3, #0] *p4++ = t4[0]; 80af3d0: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 80af3d4: 1d1a adds r2, r3, #4 80af3d6: f8c7 2088 str.w r2, [r7, #136] ; 0x88 80af3da: 68fa ldr r2, [r7, #12] 80af3dc: 601a str r2, [r3, #0] *p4++ = t4[1]; 80af3de: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 80af3e2: 1d1a adds r2, r3, #4 80af3e4: f8c7 2088 str.w r2, [r7, #136] ; 0x88 80af3e8: 693a ldr r2, [r7, #16] 80af3ea: 601a str r2, [r3, #0] tw2 += twMod2; 80af3ec: 6efb ldr r3, [r7, #108] ; 0x6c 80af3ee: 009b lsls r3, r3, #2 80af3f0: f8d7 209c ldr.w r2, [r7, #156] ; 0x9c 80af3f4: 4413 add r3, r2 80af3f6: f8c7 309c str.w r3, [r7, #156] ; 0x9c tw3 += twMod3; 80af3fa: 6ebb ldr r3, [r7, #104] ; 0x68 80af3fc: 009b lsls r3, r3, #2 80af3fe: f8d7 2098 ldr.w r2, [r7, #152] ; 0x98 80af402: 4413 add r3, r2 80af404: f8c7 3098 str.w r3, [r7, #152] ; 0x98 tw4 += twMod4; 80af408: 6e7b ldr r3, [r7, #100] ; 0x64 80af40a: 009b lsls r3, r3, #2 80af40c: f8d7 2094 ldr.w r2, [r7, #148] ; 0x94 80af410: 4413 add r3, r2 80af412: f8c7 3094 str.w r3, [r7, #148] ; 0x94 for (l = (L - 2) >> 1; l > 0; l-- ) 80af416: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 80af41a: 3b02 subs r3, #2 80af41c: 085b lsrs r3, r3, #1 80af41e: f8c7 3084 str.w r3, [r7, #132] ; 0x84 80af422: e31a b.n 80afa5a { // TOP p1ap3_0 = p1[0] + p3[0]; 80af424: 683b ldr r3, [r7, #0] 80af426: ed93 7a00 vldr s14, [r3] 80af42a: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80af42e: edd3 7a00 vldr s15, [r3] 80af432: ee77 7a27 vadd.f32 s15, s14, s15 80af436: edc7 7a18 vstr s15, [r7, #96] ; 0x60 p1sp3_0 = p1[0] - p3[0]; 80af43a: 683b ldr r3, [r7, #0] 80af43c: ed93 7a00 vldr s14, [r3] 80af440: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80af444: edd3 7a00 vldr s15, [r3] 80af448: ee77 7a67 vsub.f32 s15, s14, s15 80af44c: edc7 7a17 vstr s15, [r7, #92] ; 0x5c p1ap3_1 = p1[1] + p3[1]; 80af450: 683b ldr r3, [r7, #0] 80af452: 3304 adds r3, #4 80af454: ed93 7a00 vldr s14, [r3] 80af458: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80af45c: 3304 adds r3, #4 80af45e: edd3 7a00 vldr s15, [r3] 80af462: ee77 7a27 vadd.f32 s15, s14, s15 80af466: edc7 7a16 vstr s15, [r7, #88] ; 0x58 p1sp3_1 = p1[1] - p3[1]; 80af46a: 683b ldr r3, [r7, #0] 80af46c: 3304 adds r3, #4 80af46e: ed93 7a00 vldr s14, [r3] 80af472: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80af476: 3304 adds r3, #4 80af478: edd3 7a00 vldr s15, [r3] 80af47c: ee77 7a67 vsub.f32 s15, s14, s15 80af480: edc7 7a15 vstr s15, [r7, #84] ; 0x54 // col 2 t2[0] = p1sp3_0 + p2[1] - p4[1]; 80af484: f8d7 3090 ldr.w r3, [r7, #144] ; 0x90 80af488: 3304 adds r3, #4 80af48a: ed93 7a00 vldr s14, [r3] 80af48e: edd7 7a17 vldr s15, [r7, #92] ; 0x5c 80af492: ee37 7a27 vadd.f32 s14, s14, s15 80af496: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 80af49a: 3304 adds r3, #4 80af49c: edd3 7a00 vldr s15, [r3] 80af4a0: ee77 7a67 vsub.f32 s15, s14, s15 80af4a4: edc7 7a0b vstr s15, [r7, #44] ; 0x2c t2[1] = p1sp3_1 - p2[0] + p4[0]; 80af4a8: f8d7 3090 ldr.w r3, [r7, #144] ; 0x90 80af4ac: edd3 7a00 vldr s15, [r3] 80af4b0: ed97 7a15 vldr s14, [r7, #84] ; 0x54 80af4b4: ee37 7a67 vsub.f32 s14, s14, s15 80af4b8: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 80af4bc: edd3 7a00 vldr s15, [r3] 80af4c0: ee77 7a27 vadd.f32 s15, s14, s15 80af4c4: edc7 7a0c vstr s15, [r7, #48] ; 0x30 // col 3 t3[0] = p1ap3_0 - p2[0] - p4[0]; 80af4c8: f8d7 3090 ldr.w r3, [r7, #144] ; 0x90 80af4cc: edd3 7a00 vldr s15, [r3] 80af4d0: ed97 7a18 vldr s14, [r7, #96] ; 0x60 80af4d4: ee37 7a67 vsub.f32 s14, s14, s15 80af4d8: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 80af4dc: edd3 7a00 vldr s15, [r3] 80af4e0: ee77 7a67 vsub.f32 s15, s14, s15 80af4e4: edc7 7a07 vstr s15, [r7, #28] t3[1] = p1ap3_1 - p2[1] - p4[1]; 80af4e8: f8d7 3090 ldr.w r3, [r7, #144] ; 0x90 80af4ec: 3304 adds r3, #4 80af4ee: edd3 7a00 vldr s15, [r3] 80af4f2: ed97 7a16 vldr s14, [r7, #88] ; 0x58 80af4f6: ee37 7a67 vsub.f32 s14, s14, s15 80af4fa: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 80af4fe: 3304 adds r3, #4 80af500: edd3 7a00 vldr s15, [r3] 80af504: ee77 7a67 vsub.f32 s15, s14, s15 80af508: edc7 7a08 vstr s15, [r7, #32] // col 4 t4[0] = p1sp3_0 - p2[1] + p4[1]; 80af50c: f8d7 3090 ldr.w r3, [r7, #144] ; 0x90 80af510: 3304 adds r3, #4 80af512: edd3 7a00 vldr s15, [r3] 80af516: ed97 7a17 vldr s14, [r7, #92] ; 0x5c 80af51a: ee37 7a67 vsub.f32 s14, s14, s15 80af51e: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 80af522: 3304 adds r3, #4 80af524: edd3 7a00 vldr s15, [r3] 80af528: ee77 7a27 vadd.f32 s15, s14, s15 80af52c: edc7 7a03 vstr s15, [r7, #12] t4[1] = p1sp3_1 + p2[0] - p4[0]; 80af530: f8d7 3090 ldr.w r3, [r7, #144] ; 0x90 80af534: ed93 7a00 vldr s14, [r3] 80af538: edd7 7a15 vldr s15, [r7, #84] ; 0x54 80af53c: ee37 7a27 vadd.f32 s14, s14, s15 80af540: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 80af544: edd3 7a00 vldr s15, [r3] 80af548: ee77 7a67 vsub.f32 s15, s14, s15 80af54c: edc7 7a04 vstr s15, [r7, #16] // col 1 - top *p1++ = p1ap3_0 + p2[0] + p4[0]; 80af550: 683b ldr r3, [r7, #0] 80af552: 1d1a adds r2, r3, #4 80af554: 603a str r2, [r7, #0] 80af556: f8d7 2090 ldr.w r2, [r7, #144] ; 0x90 80af55a: ed92 7a00 vldr s14, [r2] 80af55e: edd7 7a18 vldr s15, [r7, #96] ; 0x60 80af562: ee37 7a27 vadd.f32 s14, s14, s15 80af566: f8d7 2088 ldr.w r2, [r7, #136] ; 0x88 80af56a: edd2 7a00 vldr s15, [r2] 80af56e: ee77 7a27 vadd.f32 s15, s14, s15 80af572: edc3 7a00 vstr s15, [r3] *p1++ = p1ap3_1 + p2[1] + p4[1]; 80af576: 683b ldr r3, [r7, #0] 80af578: 1d1a adds r2, r3, #4 80af57a: 603a str r2, [r7, #0] 80af57c: f8d7 2090 ldr.w r2, [r7, #144] ; 0x90 80af580: 3204 adds r2, #4 80af582: ed92 7a00 vldr s14, [r2] 80af586: edd7 7a16 vldr s15, [r7, #88] ; 0x58 80af58a: ee37 7a27 vadd.f32 s14, s14, s15 80af58e: f8d7 2088 ldr.w r2, [r7, #136] ; 0x88 80af592: 3204 adds r2, #4 80af594: edd2 7a00 vldr s15, [r2] 80af598: ee77 7a27 vadd.f32 s15, s14, s15 80af59c: edc3 7a00 vstr s15, [r3] // BOTTOM p1ap3_1 = pEnd1[-1] + pEnd3[-1]; 80af5a0: f8d7 30ac ldr.w r3, [r7, #172] ; 0xac 80af5a4: 3b04 subs r3, #4 80af5a6: ed93 7a00 vldr s14, [r3] 80af5aa: f8d7 30a4 ldr.w r3, [r7, #164] ; 0xa4 80af5ae: 3b04 subs r3, #4 80af5b0: edd3 7a00 vldr s15, [r3] 80af5b4: ee77 7a27 vadd.f32 s15, s14, s15 80af5b8: edc7 7a16 vstr s15, [r7, #88] ; 0x58 p1sp3_1 = pEnd1[-1] - pEnd3[-1]; 80af5bc: f8d7 30ac ldr.w r3, [r7, #172] ; 0xac 80af5c0: 3b04 subs r3, #4 80af5c2: ed93 7a00 vldr s14, [r3] 80af5c6: f8d7 30a4 ldr.w r3, [r7, #164] ; 0xa4 80af5ca: 3b04 subs r3, #4 80af5cc: edd3 7a00 vldr s15, [r3] 80af5d0: ee77 7a67 vsub.f32 s15, s14, s15 80af5d4: edc7 7a15 vstr s15, [r7, #84] ; 0x54 p1ap3_0 = pEnd1[0] + pEnd3[0]; 80af5d8: f8d7 30ac ldr.w r3, [r7, #172] ; 0xac 80af5dc: ed93 7a00 vldr s14, [r3] 80af5e0: f8d7 30a4 ldr.w r3, [r7, #164] ; 0xa4 80af5e4: edd3 7a00 vldr s15, [r3] 80af5e8: ee77 7a27 vadd.f32 s15, s14, s15 80af5ec: edc7 7a18 vstr s15, [r7, #96] ; 0x60 p1sp3_0 = pEnd1[0] - pEnd3[0]; 80af5f0: f8d7 30ac ldr.w r3, [r7, #172] ; 0xac 80af5f4: ed93 7a00 vldr s14, [r3] 80af5f8: f8d7 30a4 ldr.w r3, [r7, #164] ; 0xa4 80af5fc: edd3 7a00 vldr s15, [r3] 80af600: ee77 7a67 vsub.f32 s15, s14, s15 80af604: edc7 7a17 vstr s15, [r7, #92] ; 0x5c // col 2 t2[2] = pEnd2[0] - pEnd4[0] + p1sp3_1; 80af608: f8d7 30a8 ldr.w r3, [r7, #168] ; 0xa8 80af60c: ed93 7a00 vldr s14, [r3] 80af610: f8d7 30a0 ldr.w r3, [r7, #160] ; 0xa0 80af614: edd3 7a00 vldr s15, [r3] 80af618: ee37 7a67 vsub.f32 s14, s14, s15 80af61c: edd7 7a15 vldr s15, [r7, #84] ; 0x54 80af620: ee77 7a27 vadd.f32 s15, s14, s15 80af624: edc7 7a0d vstr s15, [r7, #52] ; 0x34 t2[3] = pEnd1[0] - pEnd3[0] - pEnd2[-1] + pEnd4[-1]; 80af628: f8d7 30ac ldr.w r3, [r7, #172] ; 0xac 80af62c: ed93 7a00 vldr s14, [r3] 80af630: f8d7 30a4 ldr.w r3, [r7, #164] ; 0xa4 80af634: edd3 7a00 vldr s15, [r3] 80af638: ee37 7a67 vsub.f32 s14, s14, s15 80af63c: f8d7 30a8 ldr.w r3, [r7, #168] ; 0xa8 80af640: 3b04 subs r3, #4 80af642: edd3 7a00 vldr s15, [r3] 80af646: ee37 7a67 vsub.f32 s14, s14, s15 80af64a: f8d7 30a0 ldr.w r3, [r7, #160] ; 0xa0 80af64e: 3b04 subs r3, #4 80af650: edd3 7a00 vldr s15, [r3] 80af654: ee77 7a27 vadd.f32 s15, s14, s15 80af658: edc7 7a0e vstr s15, [r7, #56] ; 0x38 // col 3 t3[2] = p1ap3_1 - pEnd2[-1] - pEnd4[-1]; 80af65c: f8d7 30a8 ldr.w r3, [r7, #168] ; 0xa8 80af660: 3b04 subs r3, #4 80af662: edd3 7a00 vldr s15, [r3] 80af666: ed97 7a16 vldr s14, [r7, #88] ; 0x58 80af66a: ee37 7a67 vsub.f32 s14, s14, s15 80af66e: f8d7 30a0 ldr.w r3, [r7, #160] ; 0xa0 80af672: 3b04 subs r3, #4 80af674: edd3 7a00 vldr s15, [r3] 80af678: ee77 7a67 vsub.f32 s15, s14, s15 80af67c: edc7 7a09 vstr s15, [r7, #36] ; 0x24 t3[3] = p1ap3_0 - pEnd2[0] - pEnd4[0]; 80af680: f8d7 30a8 ldr.w r3, [r7, #168] ; 0xa8 80af684: edd3 7a00 vldr s15, [r3] 80af688: ed97 7a18 vldr s14, [r7, #96] ; 0x60 80af68c: ee37 7a67 vsub.f32 s14, s14, s15 80af690: f8d7 30a0 ldr.w r3, [r7, #160] ; 0xa0 80af694: edd3 7a00 vldr s15, [r3] 80af698: ee77 7a67 vsub.f32 s15, s14, s15 80af69c: edc7 7a0a vstr s15, [r7, #40] ; 0x28 // col 4 t4[2] = pEnd2[0] - pEnd4[0] - p1sp3_1; 80af6a0: f8d7 30a8 ldr.w r3, [r7, #168] ; 0xa8 80af6a4: ed93 7a00 vldr s14, [r3] 80af6a8: f8d7 30a0 ldr.w r3, [r7, #160] ; 0xa0 80af6ac: edd3 7a00 vldr s15, [r3] 80af6b0: ee37 7a67 vsub.f32 s14, s14, s15 80af6b4: edd7 7a15 vldr s15, [r7, #84] ; 0x54 80af6b8: ee77 7a67 vsub.f32 s15, s14, s15 80af6bc: edc7 7a05 vstr s15, [r7, #20] t4[3] = pEnd4[-1] - pEnd2[-1] - p1sp3_0; 80af6c0: f8d7 30a0 ldr.w r3, [r7, #160] ; 0xa0 80af6c4: 3b04 subs r3, #4 80af6c6: ed93 7a00 vldr s14, [r3] 80af6ca: f8d7 30a8 ldr.w r3, [r7, #168] ; 0xa8 80af6ce: 3b04 subs r3, #4 80af6d0: edd3 7a00 vldr s15, [r3] 80af6d4: ee37 7a67 vsub.f32 s14, s14, s15 80af6d8: edd7 7a17 vldr s15, [r7, #92] ; 0x5c 80af6dc: ee77 7a67 vsub.f32 s15, s14, s15 80af6e0: edc7 7a06 vstr s15, [r7, #24] // col 1 - Bottom *pEnd1-- = p1ap3_0 + pEnd2[0] + pEnd4[0]; 80af6e4: f8d7 30ac ldr.w r3, [r7, #172] ; 0xac 80af6e8: 1f1a subs r2, r3, #4 80af6ea: f8c7 20ac str.w r2, [r7, #172] ; 0xac 80af6ee: f8d7 20a8 ldr.w r2, [r7, #168] ; 0xa8 80af6f2: ed92 7a00 vldr s14, [r2] 80af6f6: edd7 7a18 vldr s15, [r7, #96] ; 0x60 80af6fa: ee37 7a27 vadd.f32 s14, s14, s15 80af6fe: f8d7 20a0 ldr.w r2, [r7, #160] ; 0xa0 80af702: edd2 7a00 vldr s15, [r2] 80af706: ee77 7a27 vadd.f32 s15, s14, s15 80af70a: edc3 7a00 vstr s15, [r3] *pEnd1-- = p1ap3_1 + pEnd2[-1] + pEnd4[-1]; 80af70e: f8d7 30ac ldr.w r3, [r7, #172] ; 0xac 80af712: 1f1a subs r2, r3, #4 80af714: f8c7 20ac str.w r2, [r7, #172] ; 0xac 80af718: f8d7 20a8 ldr.w r2, [r7, #168] ; 0xa8 80af71c: 3a04 subs r2, #4 80af71e: ed92 7a00 vldr s14, [r2] 80af722: edd7 7a16 vldr s15, [r7, #88] ; 0x58 80af726: ee37 7a27 vadd.f32 s14, s14, s15 80af72a: f8d7 20a0 ldr.w r2, [r7, #160] ; 0xa0 80af72e: 3a04 subs r2, #4 80af730: edd2 7a00 vldr s15, [r2] 80af734: ee77 7a27 vadd.f32 s15, s14, s15 80af738: edc3 7a00 vstr s15, [r3] // COL 2 // read twiddle factors twR = *tw2++; 80af73c: f8d7 309c ldr.w r3, [r7, #156] ; 0x9c 80af740: 1d1a adds r2, r3, #4 80af742: f8c7 209c str.w r2, [r7, #156] ; 0x9c 80af746: 681b ldr r3, [r3, #0] 80af748: 653b str r3, [r7, #80] ; 0x50 twI = *tw2++; 80af74a: f8d7 309c ldr.w r3, [r7, #156] ; 0x9c 80af74e: 1d1a adds r2, r3, #4 80af750: f8c7 209c str.w r2, [r7, #156] ; 0x9c 80af754: 681b ldr r3, [r3, #0] 80af756: 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; 80af758: ed97 7a0b vldr s14, [r7, #44] ; 0x2c 80af75c: edd7 7a14 vldr s15, [r7, #80] ; 0x50 80af760: ee67 7a27 vmul.f32 s15, s14, s15 80af764: edc7 7a12 vstr s15, [r7, #72] ; 0x48 m1 = t2[1] * twI; 80af768: ed97 7a0c vldr s14, [r7, #48] ; 0x30 80af76c: edd7 7a13 vldr s15, [r7, #76] ; 0x4c 80af770: ee67 7a27 vmul.f32 s15, s14, s15 80af774: edc7 7a11 vstr s15, [r7, #68] ; 0x44 m2 = t2[1] * twR; 80af778: ed97 7a0c vldr s14, [r7, #48] ; 0x30 80af77c: edd7 7a14 vldr s15, [r7, #80] ; 0x50 80af780: ee67 7a27 vmul.f32 s15, s14, s15 80af784: edc7 7a10 vstr s15, [r7, #64] ; 0x40 m3 = t2[0] * twI; 80af788: ed97 7a0b vldr s14, [r7, #44] ; 0x2c 80af78c: edd7 7a13 vldr s15, [r7, #76] ; 0x4c 80af790: ee67 7a27 vmul.f32 s15, s14, s15 80af794: edc7 7a0f vstr s15, [r7, #60] ; 0x3c *p2++ = m0 + m1; 80af798: f8d7 3090 ldr.w r3, [r7, #144] ; 0x90 80af79c: 1d1a adds r2, r3, #4 80af79e: f8c7 2090 str.w r2, [r7, #144] ; 0x90 80af7a2: ed97 7a12 vldr s14, [r7, #72] ; 0x48 80af7a6: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80af7aa: ee77 7a27 vadd.f32 s15, s14, s15 80af7ae: edc3 7a00 vstr s15, [r3] *p2++ = m2 - m3; 80af7b2: f8d7 3090 ldr.w r3, [r7, #144] ; 0x90 80af7b6: 1d1a adds r2, r3, #4 80af7b8: f8c7 2090 str.w r2, [r7, #144] ; 0x90 80af7bc: ed97 7a10 vldr s14, [r7, #64] ; 0x40 80af7c0: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80af7c4: ee77 7a67 vsub.f32 s15, s14, s15 80af7c8: edc3 7a00 vstr s15, [r3] // use vertical symmetry col 2 // 0.9997 - 0.0245i <==> 0.0245 - 0.9997i // Bottom m0 = t2[3] * twI; 80af7cc: ed97 7a0e vldr s14, [r7, #56] ; 0x38 80af7d0: edd7 7a13 vldr s15, [r7, #76] ; 0x4c 80af7d4: ee67 7a27 vmul.f32 s15, s14, s15 80af7d8: edc7 7a12 vstr s15, [r7, #72] ; 0x48 m1 = t2[2] * twR; 80af7dc: ed97 7a0d vldr s14, [r7, #52] ; 0x34 80af7e0: edd7 7a14 vldr s15, [r7, #80] ; 0x50 80af7e4: ee67 7a27 vmul.f32 s15, s14, s15 80af7e8: edc7 7a11 vstr s15, [r7, #68] ; 0x44 m2 = t2[2] * twI; 80af7ec: ed97 7a0d vldr s14, [r7, #52] ; 0x34 80af7f0: edd7 7a13 vldr s15, [r7, #76] ; 0x4c 80af7f4: ee67 7a27 vmul.f32 s15, s14, s15 80af7f8: edc7 7a10 vstr s15, [r7, #64] ; 0x40 m3 = t2[3] * twR; 80af7fc: ed97 7a0e vldr s14, [r7, #56] ; 0x38 80af800: edd7 7a14 vldr s15, [r7, #80] ; 0x50 80af804: ee67 7a27 vmul.f32 s15, s14, s15 80af808: edc7 7a0f vstr s15, [r7, #60] ; 0x3c *pEnd2-- = m0 - m1; 80af80c: f8d7 30a8 ldr.w r3, [r7, #168] ; 0xa8 80af810: 1f1a subs r2, r3, #4 80af812: f8c7 20a8 str.w r2, [r7, #168] ; 0xa8 80af816: ed97 7a12 vldr s14, [r7, #72] ; 0x48 80af81a: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80af81e: ee77 7a67 vsub.f32 s15, s14, s15 80af822: edc3 7a00 vstr s15, [r3] *pEnd2-- = m2 + m3; 80af826: f8d7 30a8 ldr.w r3, [r7, #168] ; 0xa8 80af82a: 1f1a subs r2, r3, #4 80af82c: f8c7 20a8 str.w r2, [r7, #168] ; 0xa8 80af830: ed97 7a10 vldr s14, [r7, #64] ; 0x40 80af834: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80af838: ee77 7a27 vadd.f32 s15, s14, s15 80af83c: edc3 7a00 vstr s15, [r3] // COL 3 twR = tw3[0]; 80af840: f8d7 3098 ldr.w r3, [r7, #152] ; 0x98 80af844: 681b ldr r3, [r3, #0] 80af846: 653b str r3, [r7, #80] ; 0x50 twI = tw3[1]; 80af848: f8d7 3098 ldr.w r3, [r7, #152] ; 0x98 80af84c: 685b ldr r3, [r3, #4] 80af84e: 64fb str r3, [r7, #76] ; 0x4c tw3 += twMod3; 80af850: 6ebb ldr r3, [r7, #104] ; 0x68 80af852: 009b lsls r3, r3, #2 80af854: f8d7 2098 ldr.w r2, [r7, #152] ; 0x98 80af858: 4413 add r3, r2 80af85a: f8c7 3098 str.w r3, [r7, #152] ; 0x98 // Top m0 = t3[0] * twR; 80af85e: ed97 7a07 vldr s14, [r7, #28] 80af862: edd7 7a14 vldr s15, [r7, #80] ; 0x50 80af866: ee67 7a27 vmul.f32 s15, s14, s15 80af86a: edc7 7a12 vstr s15, [r7, #72] ; 0x48 m1 = t3[1] * twI; 80af86e: ed97 7a08 vldr s14, [r7, #32] 80af872: edd7 7a13 vldr s15, [r7, #76] ; 0x4c 80af876: ee67 7a27 vmul.f32 s15, s14, s15 80af87a: edc7 7a11 vstr s15, [r7, #68] ; 0x44 m2 = t3[1] * twR; 80af87e: ed97 7a08 vldr s14, [r7, #32] 80af882: edd7 7a14 vldr s15, [r7, #80] ; 0x50 80af886: ee67 7a27 vmul.f32 s15, s14, s15 80af88a: edc7 7a10 vstr s15, [r7, #64] ; 0x40 m3 = t3[0] * twI; 80af88e: ed97 7a07 vldr s14, [r7, #28] 80af892: edd7 7a13 vldr s15, [r7, #76] ; 0x4c 80af896: ee67 7a27 vmul.f32 s15, s14, s15 80af89a: edc7 7a0f vstr s15, [r7, #60] ; 0x3c *p3++ = m0 + m1; 80af89e: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80af8a2: 1d1a adds r2, r3, #4 80af8a4: f8c7 208c str.w r2, [r7, #140] ; 0x8c 80af8a8: ed97 7a12 vldr s14, [r7, #72] ; 0x48 80af8ac: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80af8b0: ee77 7a27 vadd.f32 s15, s14, s15 80af8b4: edc3 7a00 vstr s15, [r3] *p3++ = m2 - m3; 80af8b8: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80af8bc: 1d1a adds r2, r3, #4 80af8be: f8c7 208c str.w r2, [r7, #140] ; 0x8c 80af8c2: ed97 7a10 vldr s14, [r7, #64] ; 0x40 80af8c6: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80af8ca: ee77 7a67 vsub.f32 s15, s14, s15 80af8ce: edc3 7a00 vstr s15, [r3] // use vertical symmetry col 3 // 0.9988 - 0.0491i <==> -0.9988 - 0.0491i // Bottom m0 = -t3[3] * twR; 80af8d2: edd7 7a0a vldr s15, [r7, #40] ; 0x28 80af8d6: eeb1 7a67 vneg.f32 s14, s15 80af8da: edd7 7a14 vldr s15, [r7, #80] ; 0x50 80af8de: ee67 7a27 vmul.f32 s15, s14, s15 80af8e2: edc7 7a12 vstr s15, [r7, #72] ; 0x48 m1 = t3[2] * twI; 80af8e6: ed97 7a09 vldr s14, [r7, #36] ; 0x24 80af8ea: edd7 7a13 vldr s15, [r7, #76] ; 0x4c 80af8ee: ee67 7a27 vmul.f32 s15, s14, s15 80af8f2: edc7 7a11 vstr s15, [r7, #68] ; 0x44 m2 = t3[2] * twR; 80af8f6: ed97 7a09 vldr s14, [r7, #36] ; 0x24 80af8fa: edd7 7a14 vldr s15, [r7, #80] ; 0x50 80af8fe: ee67 7a27 vmul.f32 s15, s14, s15 80af902: edc7 7a10 vstr s15, [r7, #64] ; 0x40 m3 = t3[3] * twI; 80af906: ed97 7a0a vldr s14, [r7, #40] ; 0x28 80af90a: edd7 7a13 vldr s15, [r7, #76] ; 0x4c 80af90e: ee67 7a27 vmul.f32 s15, s14, s15 80af912: edc7 7a0f vstr s15, [r7, #60] ; 0x3c *pEnd3-- = m0 - m1; 80af916: f8d7 30a4 ldr.w r3, [r7, #164] ; 0xa4 80af91a: 1f1a subs r2, r3, #4 80af91c: f8c7 20a4 str.w r2, [r7, #164] ; 0xa4 80af920: ed97 7a12 vldr s14, [r7, #72] ; 0x48 80af924: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80af928: ee77 7a67 vsub.f32 s15, s14, s15 80af92c: edc3 7a00 vstr s15, [r3] *pEnd3-- = m3 - m2; 80af930: f8d7 30a4 ldr.w r3, [r7, #164] ; 0xa4 80af934: 1f1a subs r2, r3, #4 80af936: f8c7 20a4 str.w r2, [r7, #164] ; 0xa4 80af93a: ed97 7a0f vldr s14, [r7, #60] ; 0x3c 80af93e: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80af942: ee77 7a67 vsub.f32 s15, s14, s15 80af946: edc3 7a00 vstr s15, [r3] // COL 4 twR = tw4[0]; 80af94a: f8d7 3094 ldr.w r3, [r7, #148] ; 0x94 80af94e: 681b ldr r3, [r3, #0] 80af950: 653b str r3, [r7, #80] ; 0x50 twI = tw4[1]; 80af952: f8d7 3094 ldr.w r3, [r7, #148] ; 0x94 80af956: 685b ldr r3, [r3, #4] 80af958: 64fb str r3, [r7, #76] ; 0x4c tw4 += twMod4; 80af95a: 6e7b ldr r3, [r7, #100] ; 0x64 80af95c: 009b lsls r3, r3, #2 80af95e: f8d7 2094 ldr.w r2, [r7, #148] ; 0x94 80af962: 4413 add r3, r2 80af964: f8c7 3094 str.w r3, [r7, #148] ; 0x94 // Top m0 = t4[0] * twR; 80af968: ed97 7a03 vldr s14, [r7, #12] 80af96c: edd7 7a14 vldr s15, [r7, #80] ; 0x50 80af970: ee67 7a27 vmul.f32 s15, s14, s15 80af974: edc7 7a12 vstr s15, [r7, #72] ; 0x48 m1 = t4[1] * twI; 80af978: ed97 7a04 vldr s14, [r7, #16] 80af97c: edd7 7a13 vldr s15, [r7, #76] ; 0x4c 80af980: ee67 7a27 vmul.f32 s15, s14, s15 80af984: edc7 7a11 vstr s15, [r7, #68] ; 0x44 m2 = t4[1] * twR; 80af988: ed97 7a04 vldr s14, [r7, #16] 80af98c: edd7 7a14 vldr s15, [r7, #80] ; 0x50 80af990: ee67 7a27 vmul.f32 s15, s14, s15 80af994: edc7 7a10 vstr s15, [r7, #64] ; 0x40 m3 = t4[0] * twI; 80af998: ed97 7a03 vldr s14, [r7, #12] 80af99c: edd7 7a13 vldr s15, [r7, #76] ; 0x4c 80af9a0: ee67 7a27 vmul.f32 s15, s14, s15 80af9a4: edc7 7a0f vstr s15, [r7, #60] ; 0x3c *p4++ = m0 + m1; 80af9a8: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 80af9ac: 1d1a adds r2, r3, #4 80af9ae: f8c7 2088 str.w r2, [r7, #136] ; 0x88 80af9b2: ed97 7a12 vldr s14, [r7, #72] ; 0x48 80af9b6: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80af9ba: ee77 7a27 vadd.f32 s15, s14, s15 80af9be: edc3 7a00 vstr s15, [r3] *p4++ = m2 - m3; 80af9c2: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 80af9c6: 1d1a adds r2, r3, #4 80af9c8: f8c7 2088 str.w r2, [r7, #136] ; 0x88 80af9cc: ed97 7a10 vldr s14, [r7, #64] ; 0x40 80af9d0: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80af9d4: ee77 7a67 vsub.f32 s15, s14, s15 80af9d8: edc3 7a00 vstr s15, [r3] // use vertical symmetry col 4 // 0.9973 - 0.0736i <==> -0.0736 + 0.9973i // Bottom m0 = t4[3] * twI; 80af9dc: ed97 7a06 vldr s14, [r7, #24] 80af9e0: edd7 7a13 vldr s15, [r7, #76] ; 0x4c 80af9e4: ee67 7a27 vmul.f32 s15, s14, s15 80af9e8: edc7 7a12 vstr s15, [r7, #72] ; 0x48 m1 = t4[2] * twR; 80af9ec: ed97 7a05 vldr s14, [r7, #20] 80af9f0: edd7 7a14 vldr s15, [r7, #80] ; 0x50 80af9f4: ee67 7a27 vmul.f32 s15, s14, s15 80af9f8: edc7 7a11 vstr s15, [r7, #68] ; 0x44 m2 = t4[2] * twI; 80af9fc: ed97 7a05 vldr s14, [r7, #20] 80afa00: edd7 7a13 vldr s15, [r7, #76] ; 0x4c 80afa04: ee67 7a27 vmul.f32 s15, s14, s15 80afa08: edc7 7a10 vstr s15, [r7, #64] ; 0x40 m3 = t4[3] * twR; 80afa0c: ed97 7a06 vldr s14, [r7, #24] 80afa10: edd7 7a14 vldr s15, [r7, #80] ; 0x50 80afa14: ee67 7a27 vmul.f32 s15, s14, s15 80afa18: edc7 7a0f vstr s15, [r7, #60] ; 0x3c *pEnd4-- = m0 - m1; 80afa1c: f8d7 30a0 ldr.w r3, [r7, #160] ; 0xa0 80afa20: 1f1a subs r2, r3, #4 80afa22: f8c7 20a0 str.w r2, [r7, #160] ; 0xa0 80afa26: ed97 7a12 vldr s14, [r7, #72] ; 0x48 80afa2a: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80afa2e: ee77 7a67 vsub.f32 s15, s14, s15 80afa32: edc3 7a00 vstr s15, [r3] *pEnd4-- = m2 + m3; 80afa36: f8d7 30a0 ldr.w r3, [r7, #160] ; 0xa0 80afa3a: 1f1a subs r2, r3, #4 80afa3c: f8c7 20a0 str.w r2, [r7, #160] ; 0xa0 80afa40: ed97 7a10 vldr s14, [r7, #64] ; 0x40 80afa44: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80afa48: ee77 7a27 vadd.f32 s15, s14, s15 80afa4c: edc3 7a00 vstr s15, [r3] for (l = (L - 2) >> 1; l > 0; l-- ) 80afa50: f8d7 3084 ldr.w r3, [r7, #132] ; 0x84 80afa54: 3b01 subs r3, #1 80afa56: f8c7 3084 str.w r3, [r7, #132] ; 0x84 80afa5a: f8d7 3084 ldr.w r3, [r7, #132] ; 0x84 80afa5e: 2b00 cmp r3, #0 80afa60: f47f ace0 bne.w 80af424 } //MIDDLE // Twiddle factors are // 1.0000 0.7071-0.7071i -1.0000i -0.7071-0.7071i p1ap3_0 = p1[0] + p3[0]; 80afa64: 683b ldr r3, [r7, #0] 80afa66: ed93 7a00 vldr s14, [r3] 80afa6a: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80afa6e: edd3 7a00 vldr s15, [r3] 80afa72: ee77 7a27 vadd.f32 s15, s14, s15 80afa76: edc7 7a18 vstr s15, [r7, #96] ; 0x60 p1sp3_0 = p1[0] - p3[0]; 80afa7a: 683b ldr r3, [r7, #0] 80afa7c: ed93 7a00 vldr s14, [r3] 80afa80: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80afa84: edd3 7a00 vldr s15, [r3] 80afa88: ee77 7a67 vsub.f32 s15, s14, s15 80afa8c: edc7 7a17 vstr s15, [r7, #92] ; 0x5c p1ap3_1 = p1[1] + p3[1]; 80afa90: 683b ldr r3, [r7, #0] 80afa92: 3304 adds r3, #4 80afa94: ed93 7a00 vldr s14, [r3] 80afa98: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80afa9c: 3304 adds r3, #4 80afa9e: edd3 7a00 vldr s15, [r3] 80afaa2: ee77 7a27 vadd.f32 s15, s14, s15 80afaa6: edc7 7a16 vstr s15, [r7, #88] ; 0x58 p1sp3_1 = p1[1] - p3[1]; 80afaaa: 683b ldr r3, [r7, #0] 80afaac: 3304 adds r3, #4 80afaae: ed93 7a00 vldr s14, [r3] 80afab2: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80afab6: 3304 adds r3, #4 80afab8: edd3 7a00 vldr s15, [r3] 80afabc: ee77 7a67 vsub.f32 s15, s14, s15 80afac0: edc7 7a15 vstr s15, [r7, #84] ; 0x54 // col 2 t2[0] = p1sp3_0 + p2[1] - p4[1]; 80afac4: f8d7 3090 ldr.w r3, [r7, #144] ; 0x90 80afac8: 3304 adds r3, #4 80afaca: ed93 7a00 vldr s14, [r3] 80aface: edd7 7a17 vldr s15, [r7, #92] ; 0x5c 80afad2: ee37 7a27 vadd.f32 s14, s14, s15 80afad6: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 80afada: 3304 adds r3, #4 80afadc: edd3 7a00 vldr s15, [r3] 80afae0: ee77 7a67 vsub.f32 s15, s14, s15 80afae4: edc7 7a0b vstr s15, [r7, #44] ; 0x2c t2[1] = p1sp3_1 - p2[0] + p4[0]; 80afae8: f8d7 3090 ldr.w r3, [r7, #144] ; 0x90 80afaec: edd3 7a00 vldr s15, [r3] 80afaf0: ed97 7a15 vldr s14, [r7, #84] ; 0x54 80afaf4: ee37 7a67 vsub.f32 s14, s14, s15 80afaf8: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 80afafc: edd3 7a00 vldr s15, [r3] 80afb00: ee77 7a27 vadd.f32 s15, s14, s15 80afb04: edc7 7a0c vstr s15, [r7, #48] ; 0x30 // col 3 t3[0] = p1ap3_0 - p2[0] - p4[0]; 80afb08: f8d7 3090 ldr.w r3, [r7, #144] ; 0x90 80afb0c: edd3 7a00 vldr s15, [r3] 80afb10: ed97 7a18 vldr s14, [r7, #96] ; 0x60 80afb14: ee37 7a67 vsub.f32 s14, s14, s15 80afb18: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 80afb1c: edd3 7a00 vldr s15, [r3] 80afb20: ee77 7a67 vsub.f32 s15, s14, s15 80afb24: edc7 7a07 vstr s15, [r7, #28] t3[1] = p1ap3_1 - p2[1] - p4[1]; 80afb28: f8d7 3090 ldr.w r3, [r7, #144] ; 0x90 80afb2c: 3304 adds r3, #4 80afb2e: edd3 7a00 vldr s15, [r3] 80afb32: ed97 7a16 vldr s14, [r7, #88] ; 0x58 80afb36: ee37 7a67 vsub.f32 s14, s14, s15 80afb3a: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 80afb3e: 3304 adds r3, #4 80afb40: edd3 7a00 vldr s15, [r3] 80afb44: ee77 7a67 vsub.f32 s15, s14, s15 80afb48: edc7 7a08 vstr s15, [r7, #32] // col 4 t4[0] = p1sp3_0 - p2[1] + p4[1]; 80afb4c: f8d7 3090 ldr.w r3, [r7, #144] ; 0x90 80afb50: 3304 adds r3, #4 80afb52: edd3 7a00 vldr s15, [r3] 80afb56: ed97 7a17 vldr s14, [r7, #92] ; 0x5c 80afb5a: ee37 7a67 vsub.f32 s14, s14, s15 80afb5e: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 80afb62: 3304 adds r3, #4 80afb64: edd3 7a00 vldr s15, [r3] 80afb68: ee77 7a27 vadd.f32 s15, s14, s15 80afb6c: edc7 7a03 vstr s15, [r7, #12] t4[1] = p1sp3_1 + p2[0] - p4[0]; 80afb70: f8d7 3090 ldr.w r3, [r7, #144] ; 0x90 80afb74: ed93 7a00 vldr s14, [r3] 80afb78: edd7 7a15 vldr s15, [r7, #84] ; 0x54 80afb7c: ee37 7a27 vadd.f32 s14, s14, s15 80afb80: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 80afb84: edd3 7a00 vldr s15, [r3] 80afb88: ee77 7a67 vsub.f32 s15, s14, s15 80afb8c: edc7 7a04 vstr s15, [r7, #16] // col 1 - Top *p1++ = p1ap3_0 + p2[0] + p4[0]; 80afb90: 683b ldr r3, [r7, #0] 80afb92: 1d1a adds r2, r3, #4 80afb94: 603a str r2, [r7, #0] 80afb96: f8d7 2090 ldr.w r2, [r7, #144] ; 0x90 80afb9a: ed92 7a00 vldr s14, [r2] 80afb9e: edd7 7a18 vldr s15, [r7, #96] ; 0x60 80afba2: ee37 7a27 vadd.f32 s14, s14, s15 80afba6: f8d7 2088 ldr.w r2, [r7, #136] ; 0x88 80afbaa: edd2 7a00 vldr s15, [r2] 80afbae: ee77 7a27 vadd.f32 s15, s14, s15 80afbb2: edc3 7a00 vstr s15, [r3] *p1++ = p1ap3_1 + p2[1] + p4[1]; 80afbb6: 683b ldr r3, [r7, #0] 80afbb8: 1d1a adds r2, r3, #4 80afbba: 603a str r2, [r7, #0] 80afbbc: f8d7 2090 ldr.w r2, [r7, #144] ; 0x90 80afbc0: 3204 adds r2, #4 80afbc2: ed92 7a00 vldr s14, [r2] 80afbc6: edd7 7a16 vldr s15, [r7, #88] ; 0x58 80afbca: ee37 7a27 vadd.f32 s14, s14, s15 80afbce: f8d7 2088 ldr.w r2, [r7, #136] ; 0x88 80afbd2: 3204 adds r2, #4 80afbd4: edd2 7a00 vldr s15, [r2] 80afbd8: ee77 7a27 vadd.f32 s15, s14, s15 80afbdc: edc3 7a00 vstr s15, [r3] // COL 2 twR = tw2[0]; 80afbe0: f8d7 309c ldr.w r3, [r7, #156] ; 0x9c 80afbe4: 681b ldr r3, [r3, #0] 80afbe6: 653b str r3, [r7, #80] ; 0x50 twI = tw2[1]; 80afbe8: f8d7 309c ldr.w r3, [r7, #156] ; 0x9c 80afbec: 685b ldr r3, [r3, #4] 80afbee: 64fb str r3, [r7, #76] ; 0x4c m0 = t2[0] * twR; 80afbf0: ed97 7a0b vldr s14, [r7, #44] ; 0x2c 80afbf4: edd7 7a14 vldr s15, [r7, #80] ; 0x50 80afbf8: ee67 7a27 vmul.f32 s15, s14, s15 80afbfc: edc7 7a12 vstr s15, [r7, #72] ; 0x48 m1 = t2[1] * twI; 80afc00: ed97 7a0c vldr s14, [r7, #48] ; 0x30 80afc04: edd7 7a13 vldr s15, [r7, #76] ; 0x4c 80afc08: ee67 7a27 vmul.f32 s15, s14, s15 80afc0c: edc7 7a11 vstr s15, [r7, #68] ; 0x44 m2 = t2[1] * twR; 80afc10: ed97 7a0c vldr s14, [r7, #48] ; 0x30 80afc14: edd7 7a14 vldr s15, [r7, #80] ; 0x50 80afc18: ee67 7a27 vmul.f32 s15, s14, s15 80afc1c: edc7 7a10 vstr s15, [r7, #64] ; 0x40 m3 = t2[0] * twI; 80afc20: ed97 7a0b vldr s14, [r7, #44] ; 0x2c 80afc24: edd7 7a13 vldr s15, [r7, #76] ; 0x4c 80afc28: ee67 7a27 vmul.f32 s15, s14, s15 80afc2c: edc7 7a0f vstr s15, [r7, #60] ; 0x3c *p2++ = m0 + m1; 80afc30: f8d7 3090 ldr.w r3, [r7, #144] ; 0x90 80afc34: 1d1a adds r2, r3, #4 80afc36: f8c7 2090 str.w r2, [r7, #144] ; 0x90 80afc3a: ed97 7a12 vldr s14, [r7, #72] ; 0x48 80afc3e: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80afc42: ee77 7a27 vadd.f32 s15, s14, s15 80afc46: edc3 7a00 vstr s15, [r3] *p2++ = m2 - m3; 80afc4a: f8d7 3090 ldr.w r3, [r7, #144] ; 0x90 80afc4e: 1d1a adds r2, r3, #4 80afc50: f8c7 2090 str.w r2, [r7, #144] ; 0x90 80afc54: ed97 7a10 vldr s14, [r7, #64] ; 0x40 80afc58: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80afc5c: ee77 7a67 vsub.f32 s15, s14, s15 80afc60: edc3 7a00 vstr s15, [r3] // COL 3 twR = tw3[0]; 80afc64: f8d7 3098 ldr.w r3, [r7, #152] ; 0x98 80afc68: 681b ldr r3, [r3, #0] 80afc6a: 653b str r3, [r7, #80] ; 0x50 twI = tw3[1]; 80afc6c: f8d7 3098 ldr.w r3, [r7, #152] ; 0x98 80afc70: 685b ldr r3, [r3, #4] 80afc72: 64fb str r3, [r7, #76] ; 0x4c m0 = t3[0] * twR; 80afc74: ed97 7a07 vldr s14, [r7, #28] 80afc78: edd7 7a14 vldr s15, [r7, #80] ; 0x50 80afc7c: ee67 7a27 vmul.f32 s15, s14, s15 80afc80: edc7 7a12 vstr s15, [r7, #72] ; 0x48 m1 = t3[1] * twI; 80afc84: ed97 7a08 vldr s14, [r7, #32] 80afc88: edd7 7a13 vldr s15, [r7, #76] ; 0x4c 80afc8c: ee67 7a27 vmul.f32 s15, s14, s15 80afc90: edc7 7a11 vstr s15, [r7, #68] ; 0x44 m2 = t3[1] * twR; 80afc94: ed97 7a08 vldr s14, [r7, #32] 80afc98: edd7 7a14 vldr s15, [r7, #80] ; 0x50 80afc9c: ee67 7a27 vmul.f32 s15, s14, s15 80afca0: edc7 7a10 vstr s15, [r7, #64] ; 0x40 m3 = t3[0] * twI; 80afca4: ed97 7a07 vldr s14, [r7, #28] 80afca8: edd7 7a13 vldr s15, [r7, #76] ; 0x4c 80afcac: ee67 7a27 vmul.f32 s15, s14, s15 80afcb0: edc7 7a0f vstr s15, [r7, #60] ; 0x3c *p3++ = m0 + m1; 80afcb4: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80afcb8: 1d1a adds r2, r3, #4 80afcba: f8c7 208c str.w r2, [r7, #140] ; 0x8c 80afcbe: ed97 7a12 vldr s14, [r7, #72] ; 0x48 80afcc2: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80afcc6: ee77 7a27 vadd.f32 s15, s14, s15 80afcca: edc3 7a00 vstr s15, [r3] *p3++ = m2 - m3; 80afcce: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80afcd2: 1d1a adds r2, r3, #4 80afcd4: f8c7 208c str.w r2, [r7, #140] ; 0x8c 80afcd8: ed97 7a10 vldr s14, [r7, #64] ; 0x40 80afcdc: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80afce0: ee77 7a67 vsub.f32 s15, s14, s15 80afce4: edc3 7a00 vstr s15, [r3] // COL 4 twR = tw4[0]; 80afce8: f8d7 3094 ldr.w r3, [r7, #148] ; 0x94 80afcec: 681b ldr r3, [r3, #0] 80afcee: 653b str r3, [r7, #80] ; 0x50 twI = tw4[1]; 80afcf0: f8d7 3094 ldr.w r3, [r7, #148] ; 0x94 80afcf4: 685b ldr r3, [r3, #4] 80afcf6: 64fb str r3, [r7, #76] ; 0x4c m0 = t4[0] * twR; 80afcf8: ed97 7a03 vldr s14, [r7, #12] 80afcfc: edd7 7a14 vldr s15, [r7, #80] ; 0x50 80afd00: ee67 7a27 vmul.f32 s15, s14, s15 80afd04: edc7 7a12 vstr s15, [r7, #72] ; 0x48 m1 = t4[1] * twI; 80afd08: ed97 7a04 vldr s14, [r7, #16] 80afd0c: edd7 7a13 vldr s15, [r7, #76] ; 0x4c 80afd10: ee67 7a27 vmul.f32 s15, s14, s15 80afd14: edc7 7a11 vstr s15, [r7, #68] ; 0x44 m2 = t4[1] * twR; 80afd18: ed97 7a04 vldr s14, [r7, #16] 80afd1c: edd7 7a14 vldr s15, [r7, #80] ; 0x50 80afd20: ee67 7a27 vmul.f32 s15, s14, s15 80afd24: edc7 7a10 vstr s15, [r7, #64] ; 0x40 m3 = t4[0] * twI; 80afd28: ed97 7a03 vldr s14, [r7, #12] 80afd2c: edd7 7a13 vldr s15, [r7, #76] ; 0x4c 80afd30: ee67 7a27 vmul.f32 s15, s14, s15 80afd34: edc7 7a0f vstr s15, [r7, #60] ; 0x3c *p4++ = m0 + m1; 80afd38: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 80afd3c: 1d1a adds r2, r3, #4 80afd3e: f8c7 2088 str.w r2, [r7, #136] ; 0x88 80afd42: ed97 7a12 vldr s14, [r7, #72] ; 0x48 80afd46: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80afd4a: ee77 7a27 vadd.f32 s15, s14, s15 80afd4e: edc3 7a00 vstr s15, [r3] *p4++ = m2 - m3; 80afd52: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 80afd56: 1d1a adds r2, r3, #4 80afd58: f8c7 2088 str.w r2, [r7, #136] ; 0x88 80afd5c: ed97 7a10 vldr s14, [r7, #64] ; 0x40 80afd60: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80afd64: ee77 7a67 vsub.f32 s15, s14, s15 80afd68: edc3 7a00 vstr s15, [r3] // first col arm_radix8_butterfly_f32( pCol1, L, (float32_t *) S->pTwiddle, 4u); 80afd6c: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 80afd70: b299 uxth r1, r3 80afd72: 687b ldr r3, [r7, #4] 80afd74: 685a ldr r2, [r3, #4] 80afd76: 2304 movs r3, #4 80afd78: 6ff8 ldr r0, [r7, #124] ; 0x7c 80afd7a: f001 fbf9 bl 80b1570 // second col arm_radix8_butterfly_f32( pCol2, L, (float32_t *) S->pTwiddle, 4u); 80afd7e: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 80afd82: b299 uxth r1, r3 80afd84: 687b ldr r3, [r7, #4] 80afd86: 685a ldr r2, [r3, #4] 80afd88: 2304 movs r3, #4 80afd8a: 6fb8 ldr r0, [r7, #120] ; 0x78 80afd8c: f001 fbf0 bl 80b1570 // third col arm_radix8_butterfly_f32( pCol3, L, (float32_t *) S->pTwiddle, 4u); 80afd90: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 80afd94: b299 uxth r1, r3 80afd96: 687b ldr r3, [r7, #4] 80afd98: 685a ldr r2, [r3, #4] 80afd9a: 2304 movs r3, #4 80afd9c: 6f78 ldr r0, [r7, #116] ; 0x74 80afd9e: f001 fbe7 bl 80b1570 // fourth col arm_radix8_butterfly_f32( pCol4, L, (float32_t *) S->pTwiddle, 4u); 80afda2: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 80afda6: b299 uxth r1, r3 80afda8: 687b ldr r3, [r7, #4] 80afdaa: 685a ldr r2, [r3, #4] 80afdac: 2304 movs r3, #4 80afdae: 6f38 ldr r0, [r7, #112] ; 0x70 80afdb0: f001 fbde bl 80b1570 } 80afdb4: bf00 nop 80afdb6: 37b0 adds r7, #176 ; 0xb0 80afdb8: 46bd mov sp, r7 80afdba: bd80 pop {r7, pc} 080afdbc : void arm_cfft_f32( const arm_cfft_instance_f32 * S, float32_t * p1, uint8_t ifftFlag, uint8_t bitReverseFlag) { 80afdbc: b580 push {r7, lr} 80afdbe: b088 sub sp, #32 80afdc0: af00 add r7, sp, #0 80afdc2: 60f8 str r0, [r7, #12] 80afdc4: 60b9 str r1, [r7, #8] 80afdc6: 4611 mov r1, r2 80afdc8: 461a mov r2, r3 80afdca: 460b mov r3, r1 80afdcc: 71fb strb r3, [r7, #7] 80afdce: 4613 mov r3, r2 80afdd0: 71bb strb r3, [r7, #6] uint32_t L = S->fftLen, l; 80afdd2: 68fb ldr r3, [r7, #12] 80afdd4: 881b ldrh r3, [r3, #0] 80afdd6: 617b str r3, [r7, #20] float32_t invL, * pSrc; if(ifftFlag == 1u) 80afdd8: 79fb ldrb r3, [r7, #7] 80afdda: 2b01 cmp r3, #1 80afddc: d117 bne.n 80afe0e { /* Conjugate input data */ pSrc = p1 + 1; 80afdde: 68bb ldr r3, [r7, #8] 80afde0: 3304 adds r3, #4 80afde2: 61bb str r3, [r7, #24] for(l=0; l { *pSrc = -*pSrc; 80afdea: 69bb ldr r3, [r7, #24] 80afdec: edd3 7a00 vldr s15, [r3] 80afdf0: eef1 7a67 vneg.f32 s15, s15 80afdf4: 69bb ldr r3, [r7, #24] 80afdf6: edc3 7a00 vstr s15, [r3] pSrc += 2; 80afdfa: 69bb ldr r3, [r7, #24] 80afdfc: 3308 adds r3, #8 80afdfe: 61bb str r3, [r7, #24] for(l=0; l } } switch (L) 80afe0e: 697b ldr r3, [r7, #20] 80afe10: f5b3 7f80 cmp.w r3, #256 ; 0x100 80afe14: d024 beq.n 80afe60 80afe16: f5b3 7f80 cmp.w r3, #256 ; 0x100 80afe1a: d80b bhi.n 80afe34 80afe1c: 2b20 cmp r3, #32 80afe1e: d01f beq.n 80afe60 80afe20: 2b20 cmp r3, #32 80afe22: d802 bhi.n 80afe2a 80afe24: 2b10 cmp r3, #16 80afe26: d016 beq.n 80afe56 80afe28: e028 b.n 80afe7c 80afe2a: 2b40 cmp r3, #64 ; 0x40 80afe2c: d01d beq.n 80afe6a 80afe2e: 2b80 cmp r3, #128 ; 0x80 80afe30: d011 beq.n 80afe56 80afe32: e023 b.n 80afe7c 80afe34: f5b3 6f80 cmp.w r3, #1024 ; 0x400 80afe38: d00d beq.n 80afe56 80afe3a: f5b3 6f80 cmp.w r3, #1024 ; 0x400 80afe3e: d803 bhi.n 80afe48 80afe40: f5b3 7f00 cmp.w r3, #512 ; 0x200 80afe44: d011 beq.n 80afe6a 80afe46: e019 b.n 80afe7c 80afe48: f5b3 6f00 cmp.w r3, #2048 ; 0x800 80afe4c: d008 beq.n 80afe60 80afe4e: f5b3 5f80 cmp.w r3, #4096 ; 0x1000 80afe52: d00a beq.n 80afe6a 80afe54: e012 b.n 80afe7c { case 16: case 128: case 1024: arm_cfft_radix8by2_f32 ( (arm_cfft_instance_f32 *) S, p1); 80afe56: 68b9 ldr r1, [r7, #8] 80afe58: 68f8 ldr r0, [r7, #12] 80afe5a: f7fe ff90 bl 80aed7e break; 80afe5e: e00d b.n 80afe7c case 32: case 256: case 2048: arm_cfft_radix8by4_f32 ( (arm_cfft_instance_f32 *) S, p1); 80afe60: 68b9 ldr r1, [r7, #8] 80afe62: 68f8 ldr r0, [r7, #12] 80afe64: f7ff f97f bl 80af166 break; 80afe68: e008 b.n 80afe7c case 64: case 512: case 4096: arm_radix8_butterfly_f32( p1, L, (float32_t *) S->pTwiddle, 1); 80afe6a: 697b ldr r3, [r7, #20] 80afe6c: b299 uxth r1, r3 80afe6e: 68fb ldr r3, [r7, #12] 80afe70: 685a ldr r2, [r3, #4] 80afe72: 2301 movs r3, #1 80afe74: 68b8 ldr r0, [r7, #8] 80afe76: f001 fb7b bl 80b1570 break; 80afe7a: bf00 nop } if( bitReverseFlag ) 80afe7c: 79bb ldrb r3, [r7, #6] 80afe7e: 2b00 cmp r3, #0 80afe80: d007 beq.n 80afe92 arm_bitreversal_32((uint32_t*)p1,S->bitRevLength,S->pBitRevTable); 80afe82: 68fb ldr r3, [r7, #12] 80afe84: 8999 ldrh r1, [r3, #12] 80afe86: 68fb ldr r3, [r7, #12] 80afe88: 689b ldr r3, [r3, #8] 80afe8a: 461a mov r2, r3 80afe8c: 68b8 ldr r0, [r7, #8] 80afe8e: f770 f9d7 bl 8020240 if(ifftFlag == 1u) 80afe92: 79fb ldrb r3, [r7, #7] 80afe94: 2b01 cmp r3, #1 80afe96: d130 bne.n 80afefa { invL = 1.0f/(float32_t)L; 80afe98: 697b ldr r3, [r7, #20] 80afe9a: ee07 3a90 vmov s15, r3 80afe9e: eeb8 7a67 vcvt.f32.u32 s14, s15 80afea2: eef7 6a00 vmov.f32 s13, #112 ; 0x3f800000 1.0 80afea6: eec6 7a87 vdiv.f32 s15, s13, s14 80afeaa: edc7 7a04 vstr s15, [r7, #16] /* Conjugate and scale output data */ pSrc = p1; 80afeae: 68bb ldr r3, [r7, #8] 80afeb0: 61bb str r3, [r7, #24] for(l=0; l { *pSrc++ *= invL ; 80afeb8: 69bb ldr r3, [r7, #24] 80afeba: 1d1a adds r2, r3, #4 80afebc: 61ba str r2, [r7, #24] 80afebe: ed93 7a00 vldr s14, [r3] 80afec2: edd7 7a04 vldr s15, [r7, #16] 80afec6: ee67 7a27 vmul.f32 s15, s14, s15 80afeca: edc3 7a00 vstr s15, [r3] *pSrc = -(*pSrc) * invL; 80afece: 69bb ldr r3, [r7, #24] 80afed0: edd3 7a00 vldr s15, [r3] 80afed4: eeb1 7a67 vneg.f32 s14, s15 80afed8: edd7 7a04 vldr s15, [r7, #16] 80afedc: ee67 7a27 vmul.f32 s15, s14, s15 80afee0: 69bb ldr r3, [r7, #24] 80afee2: edc3 7a00 vstr s15, [r3] pSrc++; 80afee6: 69bb ldr r3, [r7, #24] 80afee8: 3304 adds r3, #4 80afeea: 61bb str r3, [r7, #24] for(l=0; l } } } 80afefa: bf00 nop 80afefc: 3720 adds r7, #32 80afefe: 46bd mov sp, r7 80aff00: bd80 pop {r7, pc} 080aff02 : void arm_radix4_butterfly_f32( float32_t * pSrc, uint16_t fftLen, float32_t * pCoef, uint16_t twidCoefModifier) { 80aff02: b480 push {r7} 80aff04: b0c1 sub sp, #260 ; 0x104 80aff06: af00 add r7, sp, #0 80aff08: 60f8 str r0, [r7, #12] 80aff0a: 607a str r2, [r7, #4] 80aff0c: 461a mov r2, r3 80aff0e: 460b mov r3, r1 80aff10: 817b strh r3, [r7, #10] 80aff12: 4613 mov r3, r2 80aff14: 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; 80aff16: 897b ldrh r3, [r7, #10] 80aff18: f8c7 30f4 str.w r3, [r7, #244] ; 0xf4 n1 = n2; 80aff1c: f8d7 30f4 ldr.w r3, [r7, #244] ; 0xf4 80aff20: f8c7 30e4 str.w r3, [r7, #228] ; 0xe4 /* n2 = fftLen/4 */ n2 >>= 2u; 80aff24: f8d7 30f4 ldr.w r3, [r7, #244] ; 0xf4 80aff28: 089b lsrs r3, r3, #2 80aff2a: f8c7 30f4 str.w r3, [r7, #244] ; 0xf4 i0 = 0u; 80aff2e: 2300 movs r3, #0 80aff30: f8c7 30f8 str.w r3, [r7, #248] ; 0xf8 ia1 = 0u; 80aff34: 2300 movs r3, #0 80aff36: f8c7 30fc str.w r3, [r7, #252] ; 0xfc j = n2; 80aff3a: f8d7 30f4 ldr.w r3, [r7, #244] ; 0xf4 80aff3e: 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; 80aff42: f8d7 20f8 ldr.w r2, [r7, #248] ; 0xf8 80aff46: f8d7 30f4 ldr.w r3, [r7, #244] ; 0xf4 80aff4a: 4413 add r3, r2 80aff4c: f8c7 30e0 str.w r3, [r7, #224] ; 0xe0 i2 = i1 + n2; 80aff50: f8d7 20e0 ldr.w r2, [r7, #224] ; 0xe0 80aff54: f8d7 30f4 ldr.w r3, [r7, #244] ; 0xf4 80aff58: 4413 add r3, r2 80aff5a: f8c7 30dc str.w r3, [r7, #220] ; 0xdc i3 = i2 + n2; 80aff5e: f8d7 20dc ldr.w r2, [r7, #220] ; 0xdc 80aff62: f8d7 30f4 ldr.w r3, [r7, #244] ; 0xf4 80aff66: 4413 add r3, r2 80aff68: f8c7 30d8 str.w r3, [r7, #216] ; 0xd8 xaIn = pSrc[(2u * i0)]; 80aff6c: f8d7 30f8 ldr.w r3, [r7, #248] ; 0xf8 80aff70: 00db lsls r3, r3, #3 80aff72: 68fa ldr r2, [r7, #12] 80aff74: 4413 add r3, r2 80aff76: 681b ldr r3, [r3, #0] 80aff78: f8c7 30d4 str.w r3, [r7, #212] ; 0xd4 yaIn = pSrc[(2u * i0) + 1u]; 80aff7c: f8d7 30f8 ldr.w r3, [r7, #248] ; 0xf8 80aff80: 00db lsls r3, r3, #3 80aff82: 3304 adds r3, #4 80aff84: 68fa ldr r2, [r7, #12] 80aff86: 4413 add r3, r2 80aff88: 681b ldr r3, [r3, #0] 80aff8a: f8c7 30d0 str.w r3, [r7, #208] ; 0xd0 xbIn = pSrc[(2u * i1)]; 80aff8e: f8d7 30e0 ldr.w r3, [r7, #224] ; 0xe0 80aff92: 00db lsls r3, r3, #3 80aff94: 68fa ldr r2, [r7, #12] 80aff96: 4413 add r3, r2 80aff98: 681b ldr r3, [r3, #0] 80aff9a: f8c7 30cc str.w r3, [r7, #204] ; 0xcc ybIn = pSrc[(2u * i1) + 1u]; 80aff9e: f8d7 30e0 ldr.w r3, [r7, #224] ; 0xe0 80affa2: 00db lsls r3, r3, #3 80affa4: 3304 adds r3, #4 80affa6: 68fa ldr r2, [r7, #12] 80affa8: 4413 add r3, r2 80affaa: 681b ldr r3, [r3, #0] 80affac: f8c7 30c8 str.w r3, [r7, #200] ; 0xc8 xcIn = pSrc[(2u * i2)]; 80affb0: f8d7 30dc ldr.w r3, [r7, #220] ; 0xdc 80affb4: 00db lsls r3, r3, #3 80affb6: 68fa ldr r2, [r7, #12] 80affb8: 4413 add r3, r2 80affba: 681b ldr r3, [r3, #0] 80affbc: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 ycIn = pSrc[(2u * i2) + 1u]; 80affc0: f8d7 30dc ldr.w r3, [r7, #220] ; 0xdc 80affc4: 00db lsls r3, r3, #3 80affc6: 3304 adds r3, #4 80affc8: 68fa ldr r2, [r7, #12] 80affca: 4413 add r3, r2 80affcc: 681b ldr r3, [r3, #0] 80affce: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 xdIn = pSrc[(2u * i3)]; 80affd2: f8d7 30d8 ldr.w r3, [r7, #216] ; 0xd8 80affd6: 00db lsls r3, r3, #3 80affd8: 68fa ldr r2, [r7, #12] 80affda: 4413 add r3, r2 80affdc: 681b ldr r3, [r3, #0] 80affde: f8c7 30bc str.w r3, [r7, #188] ; 0xbc ydIn = pSrc[(2u * i3) + 1u]; 80affe2: f8d7 30d8 ldr.w r3, [r7, #216] ; 0xd8 80affe6: 00db lsls r3, r3, #3 80affe8: 3304 adds r3, #4 80affea: 68fa ldr r2, [r7, #12] 80affec: 4413 add r3, r2 80affee: 681b ldr r3, [r3, #0] 80afff0: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 /* xa + xc */ Xaplusc = xaIn + xcIn; 80afff4: ed97 7a35 vldr s14, [r7, #212] ; 0xd4 80afff8: edd7 7a31 vldr s15, [r7, #196] ; 0xc4 80afffc: ee77 7a27 vadd.f32 s15, s14, s15 80b0000: edc7 7a2d vstr s15, [r7, #180] ; 0xb4 /* xb + xd */ Xbplusd = xbIn + xdIn; 80b0004: ed97 7a33 vldr s14, [r7, #204] ; 0xcc 80b0008: edd7 7a2f vldr s15, [r7, #188] ; 0xbc 80b000c: ee77 7a27 vadd.f32 s15, s14, s15 80b0010: edc7 7a2c vstr s15, [r7, #176] ; 0xb0 /* ya + yc */ Yaplusc = yaIn + ycIn; 80b0014: ed97 7a34 vldr s14, [r7, #208] ; 0xd0 80b0018: edd7 7a30 vldr s15, [r7, #192] ; 0xc0 80b001c: ee77 7a27 vadd.f32 s15, s14, s15 80b0020: edc7 7a2b vstr s15, [r7, #172] ; 0xac /* yb + yd */ Ybplusd = ybIn + ydIn; 80b0024: ed97 7a32 vldr s14, [r7, #200] ; 0xc8 80b0028: edd7 7a2e vldr s15, [r7, #184] ; 0xb8 80b002c: ee77 7a27 vadd.f32 s15, s14, s15 80b0030: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 /* index calculation for the coefficients */ ia2 = ia1 + ia1; 80b0034: f8d7 20fc ldr.w r2, [r7, #252] ; 0xfc 80b0038: f8d7 30fc ldr.w r3, [r7, #252] ; 0xfc 80b003c: 4413 add r3, r2 80b003e: f8c7 30a4 str.w r3, [r7, #164] ; 0xa4 co2 = pCoef[ia2 * 2u]; 80b0042: f8d7 30a4 ldr.w r3, [r7, #164] ; 0xa4 80b0046: 00db lsls r3, r3, #3 80b0048: 687a ldr r2, [r7, #4] 80b004a: 4413 add r3, r2 80b004c: 681b ldr r3, [r3, #0] 80b004e: f8c7 30a0 str.w r3, [r7, #160] ; 0xa0 si2 = pCoef[(ia2 * 2u) + 1u]; 80b0052: f8d7 30a4 ldr.w r3, [r7, #164] ; 0xa4 80b0056: 00db lsls r3, r3, #3 80b0058: 3304 adds r3, #4 80b005a: 687a ldr r2, [r7, #4] 80b005c: 4413 add r3, r2 80b005e: 681b ldr r3, [r3, #0] 80b0060: f8c7 309c str.w r3, [r7, #156] ; 0x9c /* xa - xc */ Xaminusc = xaIn - xcIn; 80b0064: ed97 7a35 vldr s14, [r7, #212] ; 0xd4 80b0068: edd7 7a31 vldr s15, [r7, #196] ; 0xc4 80b006c: ee77 7a67 vsub.f32 s15, s14, s15 80b0070: edc7 7a26 vstr s15, [r7, #152] ; 0x98 /* xb - xd */ Xbminusd = xbIn - xdIn; 80b0074: ed97 7a33 vldr s14, [r7, #204] ; 0xcc 80b0078: edd7 7a2f vldr s15, [r7, #188] ; 0xbc 80b007c: ee77 7a67 vsub.f32 s15, s14, s15 80b0080: edc7 7a25 vstr s15, [r7, #148] ; 0x94 /* ya - yc */ Yaminusc = yaIn - ycIn; 80b0084: ed97 7a34 vldr s14, [r7, #208] ; 0xd0 80b0088: edd7 7a30 vldr s15, [r7, #192] ; 0xc0 80b008c: ee77 7a67 vsub.f32 s15, s14, s15 80b0090: edc7 7a24 vstr s15, [r7, #144] ; 0x90 /* yb - yd */ Ybminusd = ybIn - ydIn; 80b0094: ed97 7a32 vldr s14, [r7, #200] ; 0xc8 80b0098: edd7 7a2e vldr s15, [r7, #184] ; 0xb8 80b009c: ee77 7a67 vsub.f32 s15, s14, s15 80b00a0: edc7 7a23 vstr s15, [r7, #140] ; 0x8c /* xa' = xa + xb + xc + xd */ pSrc[(2u * i0)] = Xaplusc + Xbplusd; 80b00a4: f8d7 30f8 ldr.w r3, [r7, #248] ; 0xf8 80b00a8: 00db lsls r3, r3, #3 80b00aa: 68fa ldr r2, [r7, #12] 80b00ac: 4413 add r3, r2 80b00ae: ed97 7a2d vldr s14, [r7, #180] ; 0xb4 80b00b2: edd7 7a2c vldr s15, [r7, #176] ; 0xb0 80b00b6: ee77 7a27 vadd.f32 s15, s14, s15 80b00ba: edc3 7a00 vstr s15, [r3] /* ya' = ya + yb + yc + yd */ pSrc[(2u * i0) + 1u] = Yaplusc + Ybplusd; 80b00be: f8d7 30f8 ldr.w r3, [r7, #248] ; 0xf8 80b00c2: 00db lsls r3, r3, #3 80b00c4: 3304 adds r3, #4 80b00c6: 68fa ldr r2, [r7, #12] 80b00c8: 4413 add r3, r2 80b00ca: ed97 7a2b vldr s14, [r7, #172] ; 0xac 80b00ce: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 80b00d2: ee77 7a27 vadd.f32 s15, s14, s15 80b00d6: edc3 7a00 vstr s15, [r3] /* (xa - xc) + (yb - yd) */ Xb12C_out = (Xaminusc + Ybminusd); 80b00da: ed97 7a26 vldr s14, [r7, #152] ; 0x98 80b00de: edd7 7a23 vldr s15, [r7, #140] ; 0x8c 80b00e2: ee77 7a27 vadd.f32 s15, s14, s15 80b00e6: edc7 7a22 vstr s15, [r7, #136] ; 0x88 /* (ya - yc) + (xb - xd) */ Yb12C_out = (Yaminusc - Xbminusd); 80b00ea: ed97 7a24 vldr s14, [r7, #144] ; 0x90 80b00ee: edd7 7a25 vldr s15, [r7, #148] ; 0x94 80b00f2: ee77 7a67 vsub.f32 s15, s14, s15 80b00f6: edc7 7a21 vstr s15, [r7, #132] ; 0x84 /* (xa + xc) - (xb + xd) */ Xc12C_out = (Xaplusc - Xbplusd); 80b00fa: ed97 7a2d vldr s14, [r7, #180] ; 0xb4 80b00fe: edd7 7a2c vldr s15, [r7, #176] ; 0xb0 80b0102: ee77 7a67 vsub.f32 s15, s14, s15 80b0106: edc7 7a20 vstr s15, [r7, #128] ; 0x80 /* (ya + yc) - (yb + yd) */ Yc12C_out = (Yaplusc - Ybplusd); 80b010a: ed97 7a2b vldr s14, [r7, #172] ; 0xac 80b010e: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 80b0112: ee77 7a67 vsub.f32 s15, s14, s15 80b0116: edc7 7a1f vstr s15, [r7, #124] ; 0x7c /* (xa - xc) - (yb - yd) */ Xd12C_out = (Xaminusc - Ybminusd); 80b011a: ed97 7a26 vldr s14, [r7, #152] ; 0x98 80b011e: edd7 7a23 vldr s15, [r7, #140] ; 0x8c 80b0122: ee77 7a67 vsub.f32 s15, s14, s15 80b0126: edc7 7a1e vstr s15, [r7, #120] ; 0x78 /* (ya - yc) + (xb - xd) */ Yd12C_out = (Xbminusd + Yaminusc); 80b012a: ed97 7a25 vldr s14, [r7, #148] ; 0x94 80b012e: edd7 7a24 vldr s15, [r7, #144] ; 0x90 80b0132: ee77 7a27 vadd.f32 s15, s14, s15 80b0136: edc7 7a1d vstr s15, [r7, #116] ; 0x74 co1 = pCoef[ia1 * 2u]; 80b013a: f8d7 30fc ldr.w r3, [r7, #252] ; 0xfc 80b013e: 00db lsls r3, r3, #3 80b0140: 687a ldr r2, [r7, #4] 80b0142: 4413 add r3, r2 80b0144: 681b ldr r3, [r3, #0] 80b0146: 673b str r3, [r7, #112] ; 0x70 si1 = pCoef[(ia1 * 2u) + 1u]; 80b0148: f8d7 30fc ldr.w r3, [r7, #252] ; 0xfc 80b014c: 00db lsls r3, r3, #3 80b014e: 3304 adds r3, #4 80b0150: 687a ldr r2, [r7, #4] 80b0152: 4413 add r3, r2 80b0154: 681b ldr r3, [r3, #0] 80b0156: 66fb str r3, [r7, #108] ; 0x6c /* index calculation for the coefficients */ ia3 = ia2 + ia1; 80b0158: f8d7 20a4 ldr.w r2, [r7, #164] ; 0xa4 80b015c: f8d7 30fc ldr.w r3, [r7, #252] ; 0xfc 80b0160: 4413 add r3, r2 80b0162: 66bb str r3, [r7, #104] ; 0x68 co3 = pCoef[ia3 * 2u]; 80b0164: 6ebb ldr r3, [r7, #104] ; 0x68 80b0166: 00db lsls r3, r3, #3 80b0168: 687a ldr r2, [r7, #4] 80b016a: 4413 add r3, r2 80b016c: 681b ldr r3, [r3, #0] 80b016e: 667b str r3, [r7, #100] ; 0x64 si3 = pCoef[(ia3 * 2u) + 1u]; 80b0170: 6ebb ldr r3, [r7, #104] ; 0x68 80b0172: 00db lsls r3, r3, #3 80b0174: 3304 adds r3, #4 80b0176: 687a ldr r2, [r7, #4] 80b0178: 4413 add r3, r2 80b017a: 681b ldr r3, [r3, #0] 80b017c: 663b str r3, [r7, #96] ; 0x60 Xb12_out = Xb12C_out * co1; 80b017e: ed97 7a22 vldr s14, [r7, #136] ; 0x88 80b0182: edd7 7a1c vldr s15, [r7, #112] ; 0x70 80b0186: ee67 7a27 vmul.f32 s15, s14, s15 80b018a: edc7 7a17 vstr s15, [r7, #92] ; 0x5c Yb12_out = Yb12C_out * co1; 80b018e: ed97 7a21 vldr s14, [r7, #132] ; 0x84 80b0192: edd7 7a1c vldr s15, [r7, #112] ; 0x70 80b0196: ee67 7a27 vmul.f32 s15, s14, s15 80b019a: edc7 7a16 vstr s15, [r7, #88] ; 0x58 Xc12_out = Xc12C_out * co2; 80b019e: ed97 7a20 vldr s14, [r7, #128] ; 0x80 80b01a2: edd7 7a28 vldr s15, [r7, #160] ; 0xa0 80b01a6: ee67 7a27 vmul.f32 s15, s14, s15 80b01aa: edc7 7a15 vstr s15, [r7, #84] ; 0x54 Yc12_out = Yc12C_out * co2; 80b01ae: ed97 7a1f vldr s14, [r7, #124] ; 0x7c 80b01b2: edd7 7a28 vldr s15, [r7, #160] ; 0xa0 80b01b6: ee67 7a27 vmul.f32 s15, s14, s15 80b01ba: edc7 7a14 vstr s15, [r7, #80] ; 0x50 Xd12_out = Xd12C_out * co3; 80b01be: ed97 7a1e vldr s14, [r7, #120] ; 0x78 80b01c2: edd7 7a19 vldr s15, [r7, #100] ; 0x64 80b01c6: ee67 7a27 vmul.f32 s15, s14, s15 80b01ca: edc7 7a13 vstr s15, [r7, #76] ; 0x4c Yd12_out = Yd12C_out * co3; 80b01ce: ed97 7a1d vldr s14, [r7, #116] ; 0x74 80b01d2: edd7 7a19 vldr s15, [r7, #100] ; 0x64 80b01d6: ee67 7a27 vmul.f32 s15, s14, s15 80b01da: 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; 80b01de: ed97 7a21 vldr s14, [r7, #132] ; 0x84 80b01e2: edd7 7a1b vldr s15, [r7, #108] ; 0x6c 80b01e6: ee67 7a27 vmul.f32 s15, s14, s15 80b01ea: 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; 80b01ee: ed97 7a22 vldr s14, [r7, #136] ; 0x88 80b01f2: edd7 7a1b vldr s15, [r7, #108] ; 0x6c 80b01f6: ee67 7a27 vmul.f32 s15, s14, s15 80b01fa: 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; 80b01fe: ed97 7a1f vldr s14, [r7, #124] ; 0x7c 80b0202: edd7 7a27 vldr s15, [r7, #156] ; 0x9c 80b0206: ee67 7a27 vmul.f32 s15, s14, s15 80b020a: 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; 80b020e: ed97 7a20 vldr s14, [r7, #128] ; 0x80 80b0212: edd7 7a27 vldr s15, [r7, #156] ; 0x9c 80b0216: ee67 7a27 vmul.f32 s15, s14, s15 80b021a: 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; 80b021e: ed97 7a1d vldr s14, [r7, #116] ; 0x74 80b0222: edd7 7a18 vldr s15, [r7, #96] ; 0x60 80b0226: ee67 7a27 vmul.f32 s15, s14, s15 80b022a: 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; 80b022e: ed97 7a1e vldr s14, [r7, #120] ; 0x78 80b0232: edd7 7a18 vldr s15, [r7, #96] ; 0x60 80b0236: ee67 7a27 vmul.f32 s15, s14, s15 80b023a: edc7 7a0c vstr s15, [r7, #48] ; 0x30 Xb12_out += p0; 80b023e: ed97 7a17 vldr s14, [r7, #92] ; 0x5c 80b0242: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80b0246: ee77 7a27 vadd.f32 s15, s14, s15 80b024a: edc7 7a17 vstr s15, [r7, #92] ; 0x5c Yb12_out -= p1; 80b024e: ed97 7a16 vldr s14, [r7, #88] ; 0x58 80b0252: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80b0256: ee77 7a67 vsub.f32 s15, s14, s15 80b025a: edc7 7a16 vstr s15, [r7, #88] ; 0x58 Xc12_out += p2; 80b025e: ed97 7a15 vldr s14, [r7, #84] ; 0x54 80b0262: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80b0266: ee77 7a27 vadd.f32 s15, s14, s15 80b026a: edc7 7a15 vstr s15, [r7, #84] ; 0x54 Yc12_out -= p3; 80b026e: ed97 7a14 vldr s14, [r7, #80] ; 0x50 80b0272: edd7 7a0e vldr s15, [r7, #56] ; 0x38 80b0276: ee77 7a67 vsub.f32 s15, s14, s15 80b027a: edc7 7a14 vstr s15, [r7, #80] ; 0x50 Xd12_out += p4; 80b027e: ed97 7a13 vldr s14, [r7, #76] ; 0x4c 80b0282: edd7 7a0d vldr s15, [r7, #52] ; 0x34 80b0286: ee77 7a27 vadd.f32 s15, s14, s15 80b028a: edc7 7a13 vstr s15, [r7, #76] ; 0x4c Yd12_out -= p5; 80b028e: ed97 7a12 vldr s14, [r7, #72] ; 0x48 80b0292: edd7 7a0c vldr s15, [r7, #48] ; 0x30 80b0296: ee77 7a67 vsub.f32 s15, s14, s15 80b029a: edc7 7a12 vstr s15, [r7, #72] ; 0x48 /* xc' = (xa-xb+xc-xd)co2 + (ya-yb+yc-yd)(si2) */ pSrc[2u * i1] = Xc12_out; 80b029e: f8d7 30e0 ldr.w r3, [r7, #224] ; 0xe0 80b02a2: 00db lsls r3, r3, #3 80b02a4: 68fa ldr r2, [r7, #12] 80b02a6: 4413 add r3, r2 80b02a8: 6d7a ldr r2, [r7, #84] ; 0x54 80b02aa: 601a str r2, [r3, #0] /* yc' = (ya-yb+yc-yd)co2 - (xa-xb+xc-xd)(si2) */ pSrc[(2u * i1) + 1u] = Yc12_out; 80b02ac: f8d7 30e0 ldr.w r3, [r7, #224] ; 0xe0 80b02b0: 00db lsls r3, r3, #3 80b02b2: 3304 adds r3, #4 80b02b4: 68fa ldr r2, [r7, #12] 80b02b6: 4413 add r3, r2 80b02b8: 6d3a ldr r2, [r7, #80] ; 0x50 80b02ba: 601a str r2, [r3, #0] /* xb' = (xa+yb-xc-yd)co1 + (ya-xb-yc+xd)(si1) */ pSrc[2u * i2] = Xb12_out; 80b02bc: f8d7 30dc ldr.w r3, [r7, #220] ; 0xdc 80b02c0: 00db lsls r3, r3, #3 80b02c2: 68fa ldr r2, [r7, #12] 80b02c4: 4413 add r3, r2 80b02c6: 6dfa ldr r2, [r7, #92] ; 0x5c 80b02c8: 601a str r2, [r3, #0] /* yb' = (ya-xb-yc+xd)co1 - (xa+yb-xc-yd)(si1) */ pSrc[(2u * i2) + 1u] = Yb12_out; 80b02ca: f8d7 30dc ldr.w r3, [r7, #220] ; 0xdc 80b02ce: 00db lsls r3, r3, #3 80b02d0: 3304 adds r3, #4 80b02d2: 68fa ldr r2, [r7, #12] 80b02d4: 4413 add r3, r2 80b02d6: 6dba ldr r2, [r7, #88] ; 0x58 80b02d8: 601a str r2, [r3, #0] /* xd' = (xa-yb-xc+yd)co3 + (ya+xb-yc-xd)(si3) */ pSrc[2u * i3] = Xd12_out; 80b02da: f8d7 30d8 ldr.w r3, [r7, #216] ; 0xd8 80b02de: 00db lsls r3, r3, #3 80b02e0: 68fa ldr r2, [r7, #12] 80b02e2: 4413 add r3, r2 80b02e4: 6cfa ldr r2, [r7, #76] ; 0x4c 80b02e6: 601a str r2, [r3, #0] /* yd' = (ya+xb-yc-xd)co3 - (xa-yb-xc+yd)(si3) */ pSrc[(2u * i3) + 1u] = Yd12_out; 80b02e8: f8d7 30d8 ldr.w r3, [r7, #216] ; 0xd8 80b02ec: 00db lsls r3, r3, #3 80b02ee: 3304 adds r3, #4 80b02f0: 68fa ldr r2, [r7, #12] 80b02f2: 4413 add r3, r2 80b02f4: 6cba ldr r2, [r7, #72] ; 0x48 80b02f6: 601a str r2, [r3, #0] /* Twiddle coefficients index modifier */ ia1 += twidCoefModifier; 80b02f8: 893b ldrh r3, [r7, #8] 80b02fa: f8d7 20fc ldr.w r2, [r7, #252] ; 0xfc 80b02fe: 4413 add r3, r2 80b0300: f8c7 30fc str.w r3, [r7, #252] ; 0xfc /* Updating input index */ i0++; 80b0304: f8d7 30f8 ldr.w r3, [r7, #248] ; 0xf8 80b0308: 3301 adds r3, #1 80b030a: f8c7 30f8 str.w r3, [r7, #248] ; 0xf8 } while(--j); 80b030e: f8d7 30f0 ldr.w r3, [r7, #240] ; 0xf0 80b0312: 3b01 subs r3, #1 80b0314: f8c7 30f0 str.w r3, [r7, #240] ; 0xf0 80b0318: f8d7 30f0 ldr.w r3, [r7, #240] ; 0xf0 80b031c: 2b00 cmp r3, #0 80b031e: f47f ae10 bne.w 80aff42 twidCoefModifier <<= 2u; 80b0322: 893b ldrh r3, [r7, #8] 80b0324: 009b lsls r3, r3, #2 80b0326: 813b strh r3, [r7, #8] /* Calculation of second stage to excluding last stage */ for (k = fftLen >> 2u; k > 4u; k >>= 2u) 80b0328: 897b ldrh r3, [r7, #10] 80b032a: 089b lsrs r3, r3, #2 80b032c: b29b uxth r3, r3 80b032e: f8c7 30ec str.w r3, [r7, #236] ; 0xec 80b0332: e215 b.n 80b0760 { /* Initializations for the first stage */ n1 = n2; 80b0334: f8d7 30f4 ldr.w r3, [r7, #244] ; 0xf4 80b0338: f8c7 30e4 str.w r3, [r7, #228] ; 0xe4 n2 >>= 2u; 80b033c: f8d7 30f4 ldr.w r3, [r7, #244] ; 0xf4 80b0340: 089b lsrs r3, r3, #2 80b0342: f8c7 30f4 str.w r3, [r7, #244] ; 0xf4 ia1 = 0u; 80b0346: 2300 movs r3, #0 80b0348: f8c7 30fc str.w r3, [r7, #252] ; 0xfc /* Calculation of first stage */ j = 0; 80b034c: 2300 movs r3, #0 80b034e: f8c7 30f0 str.w r3, [r7, #240] ; 0xf0 do { /* index calculation for the coefficients */ ia2 = ia1 + ia1; 80b0352: f8d7 20fc ldr.w r2, [r7, #252] ; 0xfc 80b0356: f8d7 30fc ldr.w r3, [r7, #252] ; 0xfc 80b035a: 4413 add r3, r2 80b035c: f8c7 30a4 str.w r3, [r7, #164] ; 0xa4 ia3 = ia2 + ia1; 80b0360: f8d7 20a4 ldr.w r2, [r7, #164] ; 0xa4 80b0364: f8d7 30fc ldr.w r3, [r7, #252] ; 0xfc 80b0368: 4413 add r3, r2 80b036a: 66bb str r3, [r7, #104] ; 0x68 co1 = pCoef[ia1 * 2u]; 80b036c: f8d7 30fc ldr.w r3, [r7, #252] ; 0xfc 80b0370: 00db lsls r3, r3, #3 80b0372: 687a ldr r2, [r7, #4] 80b0374: 4413 add r3, r2 80b0376: 681b ldr r3, [r3, #0] 80b0378: 673b str r3, [r7, #112] ; 0x70 si1 = pCoef[(ia1 * 2u) + 1u]; 80b037a: f8d7 30fc ldr.w r3, [r7, #252] ; 0xfc 80b037e: 00db lsls r3, r3, #3 80b0380: 3304 adds r3, #4 80b0382: 687a ldr r2, [r7, #4] 80b0384: 4413 add r3, r2 80b0386: 681b ldr r3, [r3, #0] 80b0388: 66fb str r3, [r7, #108] ; 0x6c co2 = pCoef[ia2 * 2u]; 80b038a: f8d7 30a4 ldr.w r3, [r7, #164] ; 0xa4 80b038e: 00db lsls r3, r3, #3 80b0390: 687a ldr r2, [r7, #4] 80b0392: 4413 add r3, r2 80b0394: 681b ldr r3, [r3, #0] 80b0396: f8c7 30a0 str.w r3, [r7, #160] ; 0xa0 si2 = pCoef[(ia2 * 2u) + 1u]; 80b039a: f8d7 30a4 ldr.w r3, [r7, #164] ; 0xa4 80b039e: 00db lsls r3, r3, #3 80b03a0: 3304 adds r3, #4 80b03a2: 687a ldr r2, [r7, #4] 80b03a4: 4413 add r3, r2 80b03a6: 681b ldr r3, [r3, #0] 80b03a8: f8c7 309c str.w r3, [r7, #156] ; 0x9c co3 = pCoef[ia3 * 2u]; 80b03ac: 6ebb ldr r3, [r7, #104] ; 0x68 80b03ae: 00db lsls r3, r3, #3 80b03b0: 687a ldr r2, [r7, #4] 80b03b2: 4413 add r3, r2 80b03b4: 681b ldr r3, [r3, #0] 80b03b6: 667b str r3, [r7, #100] ; 0x64 si3 = pCoef[(ia3 * 2u) + 1u]; 80b03b8: 6ebb ldr r3, [r7, #104] ; 0x68 80b03ba: 00db lsls r3, r3, #3 80b03bc: 3304 adds r3, #4 80b03be: 687a ldr r2, [r7, #4] 80b03c0: 4413 add r3, r2 80b03c2: 681b ldr r3, [r3, #0] 80b03c4: 663b str r3, [r7, #96] ; 0x60 /* Twiddle coefficients index modifier */ ia1 += twidCoefModifier; 80b03c6: 893b ldrh r3, [r7, #8] 80b03c8: f8d7 20fc ldr.w r2, [r7, #252] ; 0xfc 80b03cc: 4413 add r3, r2 80b03ce: f8c7 30fc str.w r3, [r7, #252] ; 0xfc i0 = j; 80b03d2: f8d7 30f0 ldr.w r3, [r7, #240] ; 0xf0 80b03d6: 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; 80b03da: f8d7 20f8 ldr.w r2, [r7, #248] ; 0xf8 80b03de: f8d7 30f4 ldr.w r3, [r7, #244] ; 0xf4 80b03e2: 4413 add r3, r2 80b03e4: f8c7 30e0 str.w r3, [r7, #224] ; 0xe0 i2 = i1 + n2; 80b03e8: f8d7 20e0 ldr.w r2, [r7, #224] ; 0xe0 80b03ec: f8d7 30f4 ldr.w r3, [r7, #244] ; 0xf4 80b03f0: 4413 add r3, r2 80b03f2: f8c7 30dc str.w r3, [r7, #220] ; 0xdc i3 = i2 + n2; 80b03f6: f8d7 20dc ldr.w r2, [r7, #220] ; 0xdc 80b03fa: f8d7 30f4 ldr.w r3, [r7, #244] ; 0xf4 80b03fe: 4413 add r3, r2 80b0400: f8c7 30d8 str.w r3, [r7, #216] ; 0xd8 xaIn = pSrc[(2u * i0)]; 80b0404: f8d7 30f8 ldr.w r3, [r7, #248] ; 0xf8 80b0408: 00db lsls r3, r3, #3 80b040a: 68fa ldr r2, [r7, #12] 80b040c: 4413 add r3, r2 80b040e: 681b ldr r3, [r3, #0] 80b0410: f8c7 30d4 str.w r3, [r7, #212] ; 0xd4 yaIn = pSrc[(2u * i0) + 1u]; 80b0414: f8d7 30f8 ldr.w r3, [r7, #248] ; 0xf8 80b0418: 00db lsls r3, r3, #3 80b041a: 3304 adds r3, #4 80b041c: 68fa ldr r2, [r7, #12] 80b041e: 4413 add r3, r2 80b0420: 681b ldr r3, [r3, #0] 80b0422: f8c7 30d0 str.w r3, [r7, #208] ; 0xd0 xbIn = pSrc[(2u * i1)]; 80b0426: f8d7 30e0 ldr.w r3, [r7, #224] ; 0xe0 80b042a: 00db lsls r3, r3, #3 80b042c: 68fa ldr r2, [r7, #12] 80b042e: 4413 add r3, r2 80b0430: 681b ldr r3, [r3, #0] 80b0432: f8c7 30cc str.w r3, [r7, #204] ; 0xcc ybIn = pSrc[(2u * i1) + 1u]; 80b0436: f8d7 30e0 ldr.w r3, [r7, #224] ; 0xe0 80b043a: 00db lsls r3, r3, #3 80b043c: 3304 adds r3, #4 80b043e: 68fa ldr r2, [r7, #12] 80b0440: 4413 add r3, r2 80b0442: 681b ldr r3, [r3, #0] 80b0444: f8c7 30c8 str.w r3, [r7, #200] ; 0xc8 xcIn = pSrc[(2u * i2)]; 80b0448: f8d7 30dc ldr.w r3, [r7, #220] ; 0xdc 80b044c: 00db lsls r3, r3, #3 80b044e: 68fa ldr r2, [r7, #12] 80b0450: 4413 add r3, r2 80b0452: 681b ldr r3, [r3, #0] 80b0454: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 ycIn = pSrc[(2u * i2) + 1u]; 80b0458: f8d7 30dc ldr.w r3, [r7, #220] ; 0xdc 80b045c: 00db lsls r3, r3, #3 80b045e: 3304 adds r3, #4 80b0460: 68fa ldr r2, [r7, #12] 80b0462: 4413 add r3, r2 80b0464: 681b ldr r3, [r3, #0] 80b0466: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 xdIn = pSrc[(2u * i3)]; 80b046a: f8d7 30d8 ldr.w r3, [r7, #216] ; 0xd8 80b046e: 00db lsls r3, r3, #3 80b0470: 68fa ldr r2, [r7, #12] 80b0472: 4413 add r3, r2 80b0474: 681b ldr r3, [r3, #0] 80b0476: f8c7 30bc str.w r3, [r7, #188] ; 0xbc ydIn = pSrc[(2u * i3) + 1u]; 80b047a: f8d7 30d8 ldr.w r3, [r7, #216] ; 0xd8 80b047e: 00db lsls r3, r3, #3 80b0480: 3304 adds r3, #4 80b0482: 68fa ldr r2, [r7, #12] 80b0484: 4413 add r3, r2 80b0486: 681b ldr r3, [r3, #0] 80b0488: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 /* xa - xc */ Xaminusc = xaIn - xcIn; 80b048c: ed97 7a35 vldr s14, [r7, #212] ; 0xd4 80b0490: edd7 7a31 vldr s15, [r7, #196] ; 0xc4 80b0494: ee77 7a67 vsub.f32 s15, s14, s15 80b0498: edc7 7a26 vstr s15, [r7, #152] ; 0x98 /* (xb - xd) */ Xbminusd = xbIn - xdIn; 80b049c: ed97 7a33 vldr s14, [r7, #204] ; 0xcc 80b04a0: edd7 7a2f vldr s15, [r7, #188] ; 0xbc 80b04a4: ee77 7a67 vsub.f32 s15, s14, s15 80b04a8: edc7 7a25 vstr s15, [r7, #148] ; 0x94 /* ya - yc */ Yaminusc = yaIn - ycIn; 80b04ac: ed97 7a34 vldr s14, [r7, #208] ; 0xd0 80b04b0: edd7 7a30 vldr s15, [r7, #192] ; 0xc0 80b04b4: ee77 7a67 vsub.f32 s15, s14, s15 80b04b8: edc7 7a24 vstr s15, [r7, #144] ; 0x90 /* (yb - yd) */ Ybminusd = ybIn - ydIn; 80b04bc: ed97 7a32 vldr s14, [r7, #200] ; 0xc8 80b04c0: edd7 7a2e vldr s15, [r7, #184] ; 0xb8 80b04c4: ee77 7a67 vsub.f32 s15, s14, s15 80b04c8: edc7 7a23 vstr s15, [r7, #140] ; 0x8c /* xa + xc */ Xaplusc = xaIn + xcIn; 80b04cc: ed97 7a35 vldr s14, [r7, #212] ; 0xd4 80b04d0: edd7 7a31 vldr s15, [r7, #196] ; 0xc4 80b04d4: ee77 7a27 vadd.f32 s15, s14, s15 80b04d8: edc7 7a2d vstr s15, [r7, #180] ; 0xb4 /* xb + xd */ Xbplusd = xbIn + xdIn; 80b04dc: ed97 7a33 vldr s14, [r7, #204] ; 0xcc 80b04e0: edd7 7a2f vldr s15, [r7, #188] ; 0xbc 80b04e4: ee77 7a27 vadd.f32 s15, s14, s15 80b04e8: edc7 7a2c vstr s15, [r7, #176] ; 0xb0 /* ya + yc */ Yaplusc = yaIn + ycIn; 80b04ec: ed97 7a34 vldr s14, [r7, #208] ; 0xd0 80b04f0: edd7 7a30 vldr s15, [r7, #192] ; 0xc0 80b04f4: ee77 7a27 vadd.f32 s15, s14, s15 80b04f8: edc7 7a2b vstr s15, [r7, #172] ; 0xac /* yb + yd */ Ybplusd = ybIn + ydIn; 80b04fc: ed97 7a32 vldr s14, [r7, #200] ; 0xc8 80b0500: edd7 7a2e vldr s15, [r7, #184] ; 0xb8 80b0504: ee77 7a27 vadd.f32 s15, s14, s15 80b0508: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 /* (xa - xc) + (yb - yd) */ Xb12C_out = (Xaminusc + Ybminusd); 80b050c: ed97 7a26 vldr s14, [r7, #152] ; 0x98 80b0510: edd7 7a23 vldr s15, [r7, #140] ; 0x8c 80b0514: ee77 7a27 vadd.f32 s15, s14, s15 80b0518: edc7 7a22 vstr s15, [r7, #136] ; 0x88 /* (ya - yc) - (xb - xd) */ Yb12C_out = (Yaminusc - Xbminusd); 80b051c: ed97 7a24 vldr s14, [r7, #144] ; 0x90 80b0520: edd7 7a25 vldr s15, [r7, #148] ; 0x94 80b0524: ee77 7a67 vsub.f32 s15, s14, s15 80b0528: edc7 7a21 vstr s15, [r7, #132] ; 0x84 /* xa + xc -(xb + xd) */ Xc12C_out = (Xaplusc - Xbplusd); 80b052c: ed97 7a2d vldr s14, [r7, #180] ; 0xb4 80b0530: edd7 7a2c vldr s15, [r7, #176] ; 0xb0 80b0534: ee77 7a67 vsub.f32 s15, s14, s15 80b0538: edc7 7a20 vstr s15, [r7, #128] ; 0x80 /* (ya + yc) - (yb + yd) */ Yc12C_out = (Yaplusc - Ybplusd); 80b053c: ed97 7a2b vldr s14, [r7, #172] ; 0xac 80b0540: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 80b0544: ee77 7a67 vsub.f32 s15, s14, s15 80b0548: edc7 7a1f vstr s15, [r7, #124] ; 0x7c /* (xa - xc) - (yb - yd) */ Xd12C_out = (Xaminusc - Ybminusd); 80b054c: ed97 7a26 vldr s14, [r7, #152] ; 0x98 80b0550: edd7 7a23 vldr s15, [r7, #140] ; 0x8c 80b0554: ee77 7a67 vsub.f32 s15, s14, s15 80b0558: edc7 7a1e vstr s15, [r7, #120] ; 0x78 /* (ya - yc) + (xb - xd) */ Yd12C_out = (Xbminusd + Yaminusc); 80b055c: ed97 7a25 vldr s14, [r7, #148] ; 0x94 80b0560: edd7 7a24 vldr s15, [r7, #144] ; 0x90 80b0564: ee77 7a27 vadd.f32 s15, s14, s15 80b0568: edc7 7a1d vstr s15, [r7, #116] ; 0x74 pSrc[(2u * i0)] = Xaplusc + Xbplusd; 80b056c: f8d7 30f8 ldr.w r3, [r7, #248] ; 0xf8 80b0570: 00db lsls r3, r3, #3 80b0572: 68fa ldr r2, [r7, #12] 80b0574: 4413 add r3, r2 80b0576: ed97 7a2d vldr s14, [r7, #180] ; 0xb4 80b057a: edd7 7a2c vldr s15, [r7, #176] ; 0xb0 80b057e: ee77 7a27 vadd.f32 s15, s14, s15 80b0582: edc3 7a00 vstr s15, [r3] pSrc[(2u * i0) + 1u] = Yaplusc + Ybplusd; 80b0586: f8d7 30f8 ldr.w r3, [r7, #248] ; 0xf8 80b058a: 00db lsls r3, r3, #3 80b058c: 3304 adds r3, #4 80b058e: 68fa ldr r2, [r7, #12] 80b0590: 4413 add r3, r2 80b0592: ed97 7a2b vldr s14, [r7, #172] ; 0xac 80b0596: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 80b059a: ee77 7a27 vadd.f32 s15, s14, s15 80b059e: edc3 7a00 vstr s15, [r3] Xb12_out = Xb12C_out * co1; 80b05a2: ed97 7a22 vldr s14, [r7, #136] ; 0x88 80b05a6: edd7 7a1c vldr s15, [r7, #112] ; 0x70 80b05aa: ee67 7a27 vmul.f32 s15, s14, s15 80b05ae: edc7 7a17 vstr s15, [r7, #92] ; 0x5c Yb12_out = Yb12C_out * co1; 80b05b2: ed97 7a21 vldr s14, [r7, #132] ; 0x84 80b05b6: edd7 7a1c vldr s15, [r7, #112] ; 0x70 80b05ba: ee67 7a27 vmul.f32 s15, s14, s15 80b05be: edc7 7a16 vstr s15, [r7, #88] ; 0x58 Xc12_out = Xc12C_out * co2; 80b05c2: ed97 7a20 vldr s14, [r7, #128] ; 0x80 80b05c6: edd7 7a28 vldr s15, [r7, #160] ; 0xa0 80b05ca: ee67 7a27 vmul.f32 s15, s14, s15 80b05ce: edc7 7a15 vstr s15, [r7, #84] ; 0x54 Yc12_out = Yc12C_out * co2; 80b05d2: ed97 7a1f vldr s14, [r7, #124] ; 0x7c 80b05d6: edd7 7a28 vldr s15, [r7, #160] ; 0xa0 80b05da: ee67 7a27 vmul.f32 s15, s14, s15 80b05de: edc7 7a14 vstr s15, [r7, #80] ; 0x50 Xd12_out = Xd12C_out * co3; 80b05e2: ed97 7a1e vldr s14, [r7, #120] ; 0x78 80b05e6: edd7 7a19 vldr s15, [r7, #100] ; 0x64 80b05ea: ee67 7a27 vmul.f32 s15, s14, s15 80b05ee: edc7 7a13 vstr s15, [r7, #76] ; 0x4c Yd12_out = Yd12C_out * co3; 80b05f2: ed97 7a1d vldr s14, [r7, #116] ; 0x74 80b05f6: edd7 7a19 vldr s15, [r7, #100] ; 0x64 80b05fa: ee67 7a27 vmul.f32 s15, s14, s15 80b05fe: 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; 80b0602: ed97 7a21 vldr s14, [r7, #132] ; 0x84 80b0606: edd7 7a1b vldr s15, [r7, #108] ; 0x6c 80b060a: ee67 7a27 vmul.f32 s15, s14, s15 80b060e: 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; 80b0612: ed97 7a22 vldr s14, [r7, #136] ; 0x88 80b0616: edd7 7a1b vldr s15, [r7, #108] ; 0x6c 80b061a: ee67 7a27 vmul.f32 s15, s14, s15 80b061e: 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; 80b0622: ed97 7a1f vldr s14, [r7, #124] ; 0x7c 80b0626: edd7 7a27 vldr s15, [r7, #156] ; 0x9c 80b062a: ee67 7a27 vmul.f32 s15, s14, s15 80b062e: 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; 80b0632: ed97 7a20 vldr s14, [r7, #128] ; 0x80 80b0636: edd7 7a27 vldr s15, [r7, #156] ; 0x9c 80b063a: ee67 7a27 vmul.f32 s15, s14, s15 80b063e: 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; 80b0642: ed97 7a1d vldr s14, [r7, #116] ; 0x74 80b0646: edd7 7a18 vldr s15, [r7, #96] ; 0x60 80b064a: ee67 7a27 vmul.f32 s15, s14, s15 80b064e: 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; 80b0652: ed97 7a1e vldr s14, [r7, #120] ; 0x78 80b0656: edd7 7a18 vldr s15, [r7, #96] ; 0x60 80b065a: ee67 7a27 vmul.f32 s15, s14, s15 80b065e: edc7 7a0c vstr s15, [r7, #48] ; 0x30 Xb12_out += p0; 80b0662: ed97 7a17 vldr s14, [r7, #92] ; 0x5c 80b0666: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80b066a: ee77 7a27 vadd.f32 s15, s14, s15 80b066e: edc7 7a17 vstr s15, [r7, #92] ; 0x5c Yb12_out -= p1; 80b0672: ed97 7a16 vldr s14, [r7, #88] ; 0x58 80b0676: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80b067a: ee77 7a67 vsub.f32 s15, s14, s15 80b067e: edc7 7a16 vstr s15, [r7, #88] ; 0x58 Xc12_out += p2; 80b0682: ed97 7a15 vldr s14, [r7, #84] ; 0x54 80b0686: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80b068a: ee77 7a27 vadd.f32 s15, s14, s15 80b068e: edc7 7a15 vstr s15, [r7, #84] ; 0x54 Yc12_out -= p3; 80b0692: ed97 7a14 vldr s14, [r7, #80] ; 0x50 80b0696: edd7 7a0e vldr s15, [r7, #56] ; 0x38 80b069a: ee77 7a67 vsub.f32 s15, s14, s15 80b069e: edc7 7a14 vstr s15, [r7, #80] ; 0x50 Xd12_out += p4; 80b06a2: ed97 7a13 vldr s14, [r7, #76] ; 0x4c 80b06a6: edd7 7a0d vldr s15, [r7, #52] ; 0x34 80b06aa: ee77 7a27 vadd.f32 s15, s14, s15 80b06ae: edc7 7a13 vstr s15, [r7, #76] ; 0x4c Yd12_out -= p5; 80b06b2: ed97 7a12 vldr s14, [r7, #72] ; 0x48 80b06b6: edd7 7a0c vldr s15, [r7, #48] ; 0x30 80b06ba: ee77 7a67 vsub.f32 s15, s14, s15 80b06be: edc7 7a12 vstr s15, [r7, #72] ; 0x48 /* xc' = (xa-xb+xc-xd)co2 + (ya-yb+yc-yd)(si2) */ pSrc[2u * i1] = Xc12_out; 80b06c2: f8d7 30e0 ldr.w r3, [r7, #224] ; 0xe0 80b06c6: 00db lsls r3, r3, #3 80b06c8: 68fa ldr r2, [r7, #12] 80b06ca: 4413 add r3, r2 80b06cc: 6d7a ldr r2, [r7, #84] ; 0x54 80b06ce: 601a str r2, [r3, #0] /* yc' = (ya-yb+yc-yd)co2 - (xa-xb+xc-xd)(si2) */ pSrc[(2u * i1) + 1u] = Yc12_out; 80b06d0: f8d7 30e0 ldr.w r3, [r7, #224] ; 0xe0 80b06d4: 00db lsls r3, r3, #3 80b06d6: 3304 adds r3, #4 80b06d8: 68fa ldr r2, [r7, #12] 80b06da: 4413 add r3, r2 80b06dc: 6d3a ldr r2, [r7, #80] ; 0x50 80b06de: 601a str r2, [r3, #0] /* xb' = (xa+yb-xc-yd)co1 + (ya-xb-yc+xd)(si1) */ pSrc[2u * i2] = Xb12_out; 80b06e0: f8d7 30dc ldr.w r3, [r7, #220] ; 0xdc 80b06e4: 00db lsls r3, r3, #3 80b06e6: 68fa ldr r2, [r7, #12] 80b06e8: 4413 add r3, r2 80b06ea: 6dfa ldr r2, [r7, #92] ; 0x5c 80b06ec: 601a str r2, [r3, #0] /* yb' = (ya-xb-yc+xd)co1 - (xa+yb-xc-yd)(si1) */ pSrc[(2u * i2) + 1u] = Yb12_out; 80b06ee: f8d7 30dc ldr.w r3, [r7, #220] ; 0xdc 80b06f2: 00db lsls r3, r3, #3 80b06f4: 3304 adds r3, #4 80b06f6: 68fa ldr r2, [r7, #12] 80b06f8: 4413 add r3, r2 80b06fa: 6dba ldr r2, [r7, #88] ; 0x58 80b06fc: 601a str r2, [r3, #0] /* xd' = (xa-yb-xc+yd)co3 + (ya+xb-yc-xd)(si3) */ pSrc[2u * i3] = Xd12_out; 80b06fe: f8d7 30d8 ldr.w r3, [r7, #216] ; 0xd8 80b0702: 00db lsls r3, r3, #3 80b0704: 68fa ldr r2, [r7, #12] 80b0706: 4413 add r3, r2 80b0708: 6cfa ldr r2, [r7, #76] ; 0x4c 80b070a: 601a str r2, [r3, #0] /* yd' = (ya+xb-yc-xd)co3 - (xa-yb-xc+yd)(si3) */ pSrc[(2u * i3) + 1u] = Yd12_out; 80b070c: f8d7 30d8 ldr.w r3, [r7, #216] ; 0xd8 80b0710: 00db lsls r3, r3, #3 80b0712: 3304 adds r3, #4 80b0714: 68fa ldr r2, [r7, #12] 80b0716: 4413 add r3, r2 80b0718: 6cba ldr r2, [r7, #72] ; 0x48 80b071a: 601a str r2, [r3, #0] i0 += n1; 80b071c: f8d7 20f8 ldr.w r2, [r7, #248] ; 0xf8 80b0720: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80b0724: 4413 add r3, r2 80b0726: f8c7 30f8 str.w r3, [r7, #248] ; 0xf8 } while(i0 < fftLen); 80b072a: 897a ldrh r2, [r7, #10] 80b072c: f8d7 30f8 ldr.w r3, [r7, #248] ; 0xf8 80b0730: 429a cmp r2, r3 80b0732: f63f ae52 bhi.w 80b03da j++; 80b0736: f8d7 30f0 ldr.w r3, [r7, #240] ; 0xf0 80b073a: 3301 adds r3, #1 80b073c: f8c7 30f0 str.w r3, [r7, #240] ; 0xf0 } while(j <= (n2 - 1u)); 80b0740: f8d7 30f4 ldr.w r3, [r7, #244] ; 0xf4 80b0744: 1e5a subs r2, r3, #1 80b0746: f8d7 30f0 ldr.w r3, [r7, #240] ; 0xf0 80b074a: 429a cmp r2, r3 80b074c: f4bf ae01 bcs.w 80b0352 twidCoefModifier <<= 2u; 80b0750: 893b ldrh r3, [r7, #8] 80b0752: 009b lsls r3, r3, #2 80b0754: 813b strh r3, [r7, #8] for (k = fftLen >> 2u; k > 4u; k >>= 2u) 80b0756: f8d7 30ec ldr.w r3, [r7, #236] ; 0xec 80b075a: 089b lsrs r3, r3, #2 80b075c: f8c7 30ec str.w r3, [r7, #236] ; 0xec 80b0760: f8d7 30ec ldr.w r3, [r7, #236] ; 0xec 80b0764: 2b04 cmp r3, #4 80b0766: f63f ade5 bhi.w 80b0334 } j = fftLen >> 2; 80b076a: 897b ldrh r3, [r7, #10] 80b076c: 089b lsrs r3, r3, #2 80b076e: b29b uxth r3, r3 80b0770: f8c7 30f0 str.w r3, [r7, #240] ; 0xf0 ptr1 = &pSrc[0]; 80b0774: 68fb ldr r3, [r7, #12] 80b0776: f8c7 30e8 str.w r3, [r7, #232] ; 0xe8 /* Calculations of last stage */ do { xaIn = ptr1[0]; 80b077a: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b077e: 681b ldr r3, [r3, #0] 80b0780: f8c7 30d4 str.w r3, [r7, #212] ; 0xd4 yaIn = ptr1[1]; 80b0784: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b0788: 685b ldr r3, [r3, #4] 80b078a: f8c7 30d0 str.w r3, [r7, #208] ; 0xd0 xbIn = ptr1[2]; 80b078e: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b0792: 689b ldr r3, [r3, #8] 80b0794: f8c7 30cc str.w r3, [r7, #204] ; 0xcc ybIn = ptr1[3]; 80b0798: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b079c: 68db ldr r3, [r3, #12] 80b079e: f8c7 30c8 str.w r3, [r7, #200] ; 0xc8 xcIn = ptr1[4]; 80b07a2: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b07a6: 691b ldr r3, [r3, #16] 80b07a8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 ycIn = ptr1[5]; 80b07ac: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b07b0: 695b ldr r3, [r3, #20] 80b07b2: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 xdIn = ptr1[6]; 80b07b6: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b07ba: 699b ldr r3, [r3, #24] 80b07bc: f8c7 30bc str.w r3, [r7, #188] ; 0xbc ydIn = ptr1[7]; 80b07c0: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b07c4: 69db ldr r3, [r3, #28] 80b07c6: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 /* xa + xc */ Xaplusc = xaIn + xcIn; 80b07ca: ed97 7a35 vldr s14, [r7, #212] ; 0xd4 80b07ce: edd7 7a31 vldr s15, [r7, #196] ; 0xc4 80b07d2: ee77 7a27 vadd.f32 s15, s14, s15 80b07d6: edc7 7a2d vstr s15, [r7, #180] ; 0xb4 /* xa - xc */ Xaminusc = xaIn - xcIn; 80b07da: ed97 7a35 vldr s14, [r7, #212] ; 0xd4 80b07de: edd7 7a31 vldr s15, [r7, #196] ; 0xc4 80b07e2: ee77 7a67 vsub.f32 s15, s14, s15 80b07e6: edc7 7a26 vstr s15, [r7, #152] ; 0x98 /* ya + yc */ Yaplusc = yaIn + ycIn; 80b07ea: ed97 7a34 vldr s14, [r7, #208] ; 0xd0 80b07ee: edd7 7a30 vldr s15, [r7, #192] ; 0xc0 80b07f2: ee77 7a27 vadd.f32 s15, s14, s15 80b07f6: edc7 7a2b vstr s15, [r7, #172] ; 0xac /* ya - yc */ Yaminusc = yaIn - ycIn; 80b07fa: ed97 7a34 vldr s14, [r7, #208] ; 0xd0 80b07fe: edd7 7a30 vldr s15, [r7, #192] ; 0xc0 80b0802: ee77 7a67 vsub.f32 s15, s14, s15 80b0806: edc7 7a24 vstr s15, [r7, #144] ; 0x90 /* xb + xd */ Xbplusd = xbIn + xdIn; 80b080a: ed97 7a33 vldr s14, [r7, #204] ; 0xcc 80b080e: edd7 7a2f vldr s15, [r7, #188] ; 0xbc 80b0812: ee77 7a27 vadd.f32 s15, s14, s15 80b0816: edc7 7a2c vstr s15, [r7, #176] ; 0xb0 /* yb + yd */ Ybplusd = ybIn + ydIn; 80b081a: ed97 7a32 vldr s14, [r7, #200] ; 0xc8 80b081e: edd7 7a2e vldr s15, [r7, #184] ; 0xb8 80b0822: ee77 7a27 vadd.f32 s15, s14, s15 80b0826: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 /* (xb-xd) */ Xbminusd = xbIn - xdIn; 80b082a: ed97 7a33 vldr s14, [r7, #204] ; 0xcc 80b082e: edd7 7a2f vldr s15, [r7, #188] ; 0xbc 80b0832: ee77 7a67 vsub.f32 s15, s14, s15 80b0836: edc7 7a25 vstr s15, [r7, #148] ; 0x94 /* (yb-yd) */ Ybminusd = ybIn - ydIn; 80b083a: ed97 7a32 vldr s14, [r7, #200] ; 0xc8 80b083e: edd7 7a2e vldr s15, [r7, #184] ; 0xb8 80b0842: ee77 7a67 vsub.f32 s15, s14, s15 80b0846: edc7 7a23 vstr s15, [r7, #140] ; 0x8c /* xa' = xa + xb + xc + xd */ a0 = (Xaplusc + Xbplusd); 80b084a: ed97 7a2d vldr s14, [r7, #180] ; 0xb4 80b084e: edd7 7a2c vldr s15, [r7, #176] ; 0xb0 80b0852: ee77 7a27 vadd.f32 s15, s14, s15 80b0856: edc7 7a0b vstr s15, [r7, #44] ; 0x2c /* ya' = ya + yb + yc + yd */ a1 = (Yaplusc + Ybplusd); 80b085a: ed97 7a2b vldr s14, [r7, #172] ; 0xac 80b085e: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 80b0862: ee77 7a27 vadd.f32 s15, s14, s15 80b0866: edc7 7a0a vstr s15, [r7, #40] ; 0x28 /* xc' = (xa-xb+xc-xd) */ a2 = (Xaplusc - Xbplusd); 80b086a: ed97 7a2d vldr s14, [r7, #180] ; 0xb4 80b086e: edd7 7a2c vldr s15, [r7, #176] ; 0xb0 80b0872: ee77 7a67 vsub.f32 s15, s14, s15 80b0876: edc7 7a09 vstr s15, [r7, #36] ; 0x24 /* yc' = (ya-yb+yc-yd) */ a3 = (Yaplusc - Ybplusd); 80b087a: ed97 7a2b vldr s14, [r7, #172] ; 0xac 80b087e: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 80b0882: ee77 7a67 vsub.f32 s15, s14, s15 80b0886: edc7 7a08 vstr s15, [r7, #32] /* xb' = (xa+yb-xc-yd) */ a4 = (Xaminusc + Ybminusd); 80b088a: ed97 7a26 vldr s14, [r7, #152] ; 0x98 80b088e: edd7 7a23 vldr s15, [r7, #140] ; 0x8c 80b0892: ee77 7a27 vadd.f32 s15, s14, s15 80b0896: edc7 7a07 vstr s15, [r7, #28] /* yb' = (ya-xb-yc+xd) */ a5 = (Yaminusc - Xbminusd); 80b089a: ed97 7a24 vldr s14, [r7, #144] ; 0x90 80b089e: edd7 7a25 vldr s15, [r7, #148] ; 0x94 80b08a2: ee77 7a67 vsub.f32 s15, s14, s15 80b08a6: edc7 7a06 vstr s15, [r7, #24] /* xd' = (xa-yb-xc+yd)) */ a6 = (Xaminusc - Ybminusd); 80b08aa: ed97 7a26 vldr s14, [r7, #152] ; 0x98 80b08ae: edd7 7a23 vldr s15, [r7, #140] ; 0x8c 80b08b2: ee77 7a67 vsub.f32 s15, s14, s15 80b08b6: edc7 7a05 vstr s15, [r7, #20] /* yd' = (ya+xb-yc-xd) */ a7 = (Xbminusd + Yaminusc); 80b08ba: ed97 7a25 vldr s14, [r7, #148] ; 0x94 80b08be: edd7 7a24 vldr s15, [r7, #144] ; 0x90 80b08c2: ee77 7a27 vadd.f32 s15, s14, s15 80b08c6: edc7 7a04 vstr s15, [r7, #16] ptr1[0] = a0; 80b08ca: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b08ce: 6afa ldr r2, [r7, #44] ; 0x2c 80b08d0: 601a str r2, [r3, #0] ptr1[1] = a1; 80b08d2: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b08d6: 3304 adds r3, #4 80b08d8: 6aba ldr r2, [r7, #40] ; 0x28 80b08da: 601a str r2, [r3, #0] ptr1[2] = a2; 80b08dc: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b08e0: 3308 adds r3, #8 80b08e2: 6a7a ldr r2, [r7, #36] ; 0x24 80b08e4: 601a str r2, [r3, #0] ptr1[3] = a3; 80b08e6: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b08ea: 330c adds r3, #12 80b08ec: 6a3a ldr r2, [r7, #32] 80b08ee: 601a str r2, [r3, #0] ptr1[4] = a4; 80b08f0: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b08f4: 3310 adds r3, #16 80b08f6: 69fa ldr r2, [r7, #28] 80b08f8: 601a str r2, [r3, #0] ptr1[5] = a5; 80b08fa: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b08fe: 3314 adds r3, #20 80b0900: 69ba ldr r2, [r7, #24] 80b0902: 601a str r2, [r3, #0] ptr1[6] = a6; 80b0904: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b0908: 3318 adds r3, #24 80b090a: 697a ldr r2, [r7, #20] 80b090c: 601a str r2, [r3, #0] ptr1[7] = a7; 80b090e: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b0912: 331c adds r3, #28 80b0914: 693a ldr r2, [r7, #16] 80b0916: 601a str r2, [r3, #0] /* increment pointer by 8 */ ptr1 += 8u; 80b0918: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b091c: 3320 adds r3, #32 80b091e: f8c7 30e8 str.w r3, [r7, #232] ; 0xe8 } while(--j); 80b0922: f8d7 30f0 ldr.w r3, [r7, #240] ; 0xf0 80b0926: 3b01 subs r3, #1 80b0928: f8c7 30f0 str.w r3, [r7, #240] ; 0xf0 80b092c: f8d7 30f0 ldr.w r3, [r7, #240] ; 0xf0 80b0930: 2b00 cmp r3, #0 80b0932: f47f af22 bne.w 80b077a twidCoefModifier <<= 2u; } #endif /* #ifndef ARM_MATH_CM0_FAMILY_FAMILY */ } 80b0936: bf00 nop 80b0938: f507 7782 add.w r7, r7, #260 ; 0x104 80b093c: 46bd mov sp, r7 80b093e: f85d 7b04 ldr.w r7, [sp], #4 80b0942: 4770 bx lr 080b0944 : float32_t * pSrc, uint16_t fftLen, float32_t * pCoef, uint16_t twidCoefModifier, float32_t onebyfftLen) { 80b0944: b480 push {r7} 80b0946: b0c3 sub sp, #268 ; 0x10c 80b0948: af00 add r7, sp, #0 80b094a: 60f8 str r0, [r7, #12] 80b094c: 4608 mov r0, r1 80b094e: 1d39 adds r1, r7, #4 80b0950: 600a str r2, [r1, #0] 80b0952: 461a mov r2, r3 80b0954: 463b mov r3, r7 80b0956: ed83 0a00 vstr s0, [r3] 80b095a: 4603 mov r3, r0 80b095c: 817b strh r3, [r7, #10] 80b095e: f107 0308 add.w r3, r7, #8 80b0962: 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; 80b0964: 897b ldrh r3, [r7, #10] 80b0966: f8c7 30fc str.w r3, [r7, #252] ; 0xfc n1 = n2; 80b096a: f8d7 30fc ldr.w r3, [r7, #252] ; 0xfc 80b096e: f8c7 30ec str.w r3, [r7, #236] ; 0xec /* n2 = fftLen/4 */ n2 >>= 2u; 80b0972: f8d7 30fc ldr.w r3, [r7, #252] ; 0xfc 80b0976: 089b lsrs r3, r3, #2 80b0978: f8c7 30fc str.w r3, [r7, #252] ; 0xfc i0 = 0u; 80b097c: 2300 movs r3, #0 80b097e: f8c7 3100 str.w r3, [r7, #256] ; 0x100 ia1 = 0u; 80b0982: 2300 movs r3, #0 80b0984: f8c7 3104 str.w r3, [r7, #260] ; 0x104 j = n2; 80b0988: f8d7 30fc ldr.w r3, [r7, #252] ; 0xfc 80b098c: 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; 80b0990: f8d7 2100 ldr.w r2, [r7, #256] ; 0x100 80b0994: f8d7 30fc ldr.w r3, [r7, #252] ; 0xfc 80b0998: 4413 add r3, r2 80b099a: f8c7 30e8 str.w r3, [r7, #232] ; 0xe8 i2 = i1 + n2; 80b099e: f8d7 20e8 ldr.w r2, [r7, #232] ; 0xe8 80b09a2: f8d7 30fc ldr.w r3, [r7, #252] ; 0xfc 80b09a6: 4413 add r3, r2 80b09a8: f8c7 30e4 str.w r3, [r7, #228] ; 0xe4 i3 = i2 + n2; 80b09ac: f8d7 20e4 ldr.w r2, [r7, #228] ; 0xe4 80b09b0: f8d7 30fc ldr.w r3, [r7, #252] ; 0xfc 80b09b4: 4413 add r3, r2 80b09b6: f8c7 30e0 str.w r3, [r7, #224] ; 0xe0 /* Butterfly implementation */ xaIn = pSrc[(2u * i0)]; 80b09ba: f8d7 3100 ldr.w r3, [r7, #256] ; 0x100 80b09be: 00db lsls r3, r3, #3 80b09c0: 68fa ldr r2, [r7, #12] 80b09c2: 4413 add r3, r2 80b09c4: 681b ldr r3, [r3, #0] 80b09c6: f8c7 30dc str.w r3, [r7, #220] ; 0xdc yaIn = pSrc[(2u * i0) + 1u]; 80b09ca: f8d7 3100 ldr.w r3, [r7, #256] ; 0x100 80b09ce: 00db lsls r3, r3, #3 80b09d0: 3304 adds r3, #4 80b09d2: 68fa ldr r2, [r7, #12] 80b09d4: 4413 add r3, r2 80b09d6: 681b ldr r3, [r3, #0] 80b09d8: f8c7 30d8 str.w r3, [r7, #216] ; 0xd8 xcIn = pSrc[(2u * i2)]; 80b09dc: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80b09e0: 00db lsls r3, r3, #3 80b09e2: 68fa ldr r2, [r7, #12] 80b09e4: 4413 add r3, r2 80b09e6: 681b ldr r3, [r3, #0] 80b09e8: f8c7 30d4 str.w r3, [r7, #212] ; 0xd4 ycIn = pSrc[(2u * i2) + 1u]; 80b09ec: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80b09f0: 00db lsls r3, r3, #3 80b09f2: 3304 adds r3, #4 80b09f4: 68fa ldr r2, [r7, #12] 80b09f6: 4413 add r3, r2 80b09f8: 681b ldr r3, [r3, #0] 80b09fa: f8c7 30d0 str.w r3, [r7, #208] ; 0xd0 xbIn = pSrc[(2u * i1)]; 80b09fe: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b0a02: 00db lsls r3, r3, #3 80b0a04: 68fa ldr r2, [r7, #12] 80b0a06: 4413 add r3, r2 80b0a08: 681b ldr r3, [r3, #0] 80b0a0a: f8c7 30cc str.w r3, [r7, #204] ; 0xcc ybIn = pSrc[(2u * i1) + 1u]; 80b0a0e: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b0a12: 00db lsls r3, r3, #3 80b0a14: 3304 adds r3, #4 80b0a16: 68fa ldr r2, [r7, #12] 80b0a18: 4413 add r3, r2 80b0a1a: 681b ldr r3, [r3, #0] 80b0a1c: f8c7 30c8 str.w r3, [r7, #200] ; 0xc8 xdIn = pSrc[(2u * i3)]; 80b0a20: f8d7 30e0 ldr.w r3, [r7, #224] ; 0xe0 80b0a24: 00db lsls r3, r3, #3 80b0a26: 68fa ldr r2, [r7, #12] 80b0a28: 4413 add r3, r2 80b0a2a: 681b ldr r3, [r3, #0] 80b0a2c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 ydIn = pSrc[(2u * i3) + 1u]; 80b0a30: f8d7 30e0 ldr.w r3, [r7, #224] ; 0xe0 80b0a34: 00db lsls r3, r3, #3 80b0a36: 3304 adds r3, #4 80b0a38: 68fa ldr r2, [r7, #12] 80b0a3a: 4413 add r3, r2 80b0a3c: 681b ldr r3, [r3, #0] 80b0a3e: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 /* xa + xc */ Xaplusc = xaIn + xcIn; 80b0a42: ed97 7a37 vldr s14, [r7, #220] ; 0xdc 80b0a46: edd7 7a35 vldr s15, [r7, #212] ; 0xd4 80b0a4a: ee77 7a27 vadd.f32 s15, s14, s15 80b0a4e: edc7 7a2f vstr s15, [r7, #188] ; 0xbc /* xb + xd */ Xbplusd = xbIn + xdIn; 80b0a52: ed97 7a33 vldr s14, [r7, #204] ; 0xcc 80b0a56: edd7 7a31 vldr s15, [r7, #196] ; 0xc4 80b0a5a: ee77 7a27 vadd.f32 s15, s14, s15 80b0a5e: edc7 7a2e vstr s15, [r7, #184] ; 0xb8 /* ya + yc */ Yaplusc = yaIn + ycIn; 80b0a62: ed97 7a36 vldr s14, [r7, #216] ; 0xd8 80b0a66: edd7 7a34 vldr s15, [r7, #208] ; 0xd0 80b0a6a: ee77 7a27 vadd.f32 s15, s14, s15 80b0a6e: edc7 7a2d vstr s15, [r7, #180] ; 0xb4 /* yb + yd */ Ybplusd = ybIn + ydIn; 80b0a72: ed97 7a32 vldr s14, [r7, #200] ; 0xc8 80b0a76: edd7 7a30 vldr s15, [r7, #192] ; 0xc0 80b0a7a: ee77 7a27 vadd.f32 s15, s14, s15 80b0a7e: edc7 7a2c vstr s15, [r7, #176] ; 0xb0 /* index calculation for the coefficients */ ia2 = ia1 + ia1; 80b0a82: f8d7 2104 ldr.w r2, [r7, #260] ; 0x104 80b0a86: f8d7 3104 ldr.w r3, [r7, #260] ; 0x104 80b0a8a: 4413 add r3, r2 80b0a8c: f8c7 30ac str.w r3, [r7, #172] ; 0xac co2 = pCoef[ia2 * 2u]; 80b0a90: f8d7 30ac ldr.w r3, [r7, #172] ; 0xac 80b0a94: 00db lsls r3, r3, #3 80b0a96: 1d3a adds r2, r7, #4 80b0a98: 6812 ldr r2, [r2, #0] 80b0a9a: 4413 add r3, r2 80b0a9c: 681b ldr r3, [r3, #0] 80b0a9e: f8c7 30a8 str.w r3, [r7, #168] ; 0xa8 si2 = pCoef[(ia2 * 2u) + 1u]; 80b0aa2: f8d7 30ac ldr.w r3, [r7, #172] ; 0xac 80b0aa6: 00db lsls r3, r3, #3 80b0aa8: 3304 adds r3, #4 80b0aaa: 1d3a adds r2, r7, #4 80b0aac: 6812 ldr r2, [r2, #0] 80b0aae: 4413 add r3, r2 80b0ab0: 681b ldr r3, [r3, #0] 80b0ab2: f8c7 30a4 str.w r3, [r7, #164] ; 0xa4 /* xa - xc */ Xaminusc = xaIn - xcIn; 80b0ab6: ed97 7a37 vldr s14, [r7, #220] ; 0xdc 80b0aba: edd7 7a35 vldr s15, [r7, #212] ; 0xd4 80b0abe: ee77 7a67 vsub.f32 s15, s14, s15 80b0ac2: edc7 7a28 vstr s15, [r7, #160] ; 0xa0 /* xb - xd */ Xbminusd = xbIn - xdIn; 80b0ac6: ed97 7a33 vldr s14, [r7, #204] ; 0xcc 80b0aca: edd7 7a31 vldr s15, [r7, #196] ; 0xc4 80b0ace: ee77 7a67 vsub.f32 s15, s14, s15 80b0ad2: edc7 7a27 vstr s15, [r7, #156] ; 0x9c /* ya - yc */ Yaminusc = yaIn - ycIn; 80b0ad6: ed97 7a36 vldr s14, [r7, #216] ; 0xd8 80b0ada: edd7 7a34 vldr s15, [r7, #208] ; 0xd0 80b0ade: ee77 7a67 vsub.f32 s15, s14, s15 80b0ae2: edc7 7a26 vstr s15, [r7, #152] ; 0x98 /* yb - yd */ Ybminusd = ybIn - ydIn; 80b0ae6: ed97 7a32 vldr s14, [r7, #200] ; 0xc8 80b0aea: edd7 7a30 vldr s15, [r7, #192] ; 0xc0 80b0aee: ee77 7a67 vsub.f32 s15, s14, s15 80b0af2: edc7 7a25 vstr s15, [r7, #148] ; 0x94 /* xa' = xa + xb + xc + xd */ pSrc[(2u * i0)] = Xaplusc + Xbplusd; 80b0af6: f8d7 3100 ldr.w r3, [r7, #256] ; 0x100 80b0afa: 00db lsls r3, r3, #3 80b0afc: 68fa ldr r2, [r7, #12] 80b0afe: 4413 add r3, r2 80b0b00: ed97 7a2f vldr s14, [r7, #188] ; 0xbc 80b0b04: edd7 7a2e vldr s15, [r7, #184] ; 0xb8 80b0b08: ee77 7a27 vadd.f32 s15, s14, s15 80b0b0c: edc3 7a00 vstr s15, [r3] /* ya' = ya + yb + yc + yd */ pSrc[(2u * i0) + 1u] = Yaplusc + Ybplusd; 80b0b10: f8d7 3100 ldr.w r3, [r7, #256] ; 0x100 80b0b14: 00db lsls r3, r3, #3 80b0b16: 3304 adds r3, #4 80b0b18: 68fa ldr r2, [r7, #12] 80b0b1a: 4413 add r3, r2 80b0b1c: ed97 7a2d vldr s14, [r7, #180] ; 0xb4 80b0b20: edd7 7a2c vldr s15, [r7, #176] ; 0xb0 80b0b24: ee77 7a27 vadd.f32 s15, s14, s15 80b0b28: edc3 7a00 vstr s15, [r3] /* (xa - xc) - (yb - yd) */ Xb12C_out = (Xaminusc - Ybminusd); 80b0b2c: ed97 7a28 vldr s14, [r7, #160] ; 0xa0 80b0b30: edd7 7a25 vldr s15, [r7, #148] ; 0x94 80b0b34: ee77 7a67 vsub.f32 s15, s14, s15 80b0b38: edc7 7a24 vstr s15, [r7, #144] ; 0x90 /* (ya - yc) + (xb - xd) */ Yb12C_out = (Yaminusc + Xbminusd); 80b0b3c: ed97 7a26 vldr s14, [r7, #152] ; 0x98 80b0b40: edd7 7a27 vldr s15, [r7, #156] ; 0x9c 80b0b44: ee77 7a27 vadd.f32 s15, s14, s15 80b0b48: edc7 7a23 vstr s15, [r7, #140] ; 0x8c /* (xa + xc) - (xb + xd) */ Xc12C_out = (Xaplusc - Xbplusd); 80b0b4c: ed97 7a2f vldr s14, [r7, #188] ; 0xbc 80b0b50: edd7 7a2e vldr s15, [r7, #184] ; 0xb8 80b0b54: ee77 7a67 vsub.f32 s15, s14, s15 80b0b58: edc7 7a22 vstr s15, [r7, #136] ; 0x88 /* (ya + yc) - (yb + yd) */ Yc12C_out = (Yaplusc - Ybplusd); 80b0b5c: ed97 7a2d vldr s14, [r7, #180] ; 0xb4 80b0b60: edd7 7a2c vldr s15, [r7, #176] ; 0xb0 80b0b64: ee77 7a67 vsub.f32 s15, s14, s15 80b0b68: edc7 7a21 vstr s15, [r7, #132] ; 0x84 /* (xa - xc) + (yb - yd) */ Xd12C_out = (Xaminusc + Ybminusd); 80b0b6c: ed97 7a28 vldr s14, [r7, #160] ; 0xa0 80b0b70: edd7 7a25 vldr s15, [r7, #148] ; 0x94 80b0b74: ee77 7a27 vadd.f32 s15, s14, s15 80b0b78: edc7 7a20 vstr s15, [r7, #128] ; 0x80 /* (ya - yc) - (xb - xd) */ Yd12C_out = (Yaminusc - Xbminusd); 80b0b7c: ed97 7a26 vldr s14, [r7, #152] ; 0x98 80b0b80: edd7 7a27 vldr s15, [r7, #156] ; 0x9c 80b0b84: ee77 7a67 vsub.f32 s15, s14, s15 80b0b88: edc7 7a1f vstr s15, [r7, #124] ; 0x7c co1 = pCoef[ia1 * 2u]; 80b0b8c: f8d7 3104 ldr.w r3, [r7, #260] ; 0x104 80b0b90: 00db lsls r3, r3, #3 80b0b92: 1d3a adds r2, r7, #4 80b0b94: 6812 ldr r2, [r2, #0] 80b0b96: 4413 add r3, r2 80b0b98: 681b ldr r3, [r3, #0] 80b0b9a: 67bb str r3, [r7, #120] ; 0x78 si1 = pCoef[(ia1 * 2u) + 1u]; 80b0b9c: f8d7 3104 ldr.w r3, [r7, #260] ; 0x104 80b0ba0: 00db lsls r3, r3, #3 80b0ba2: 3304 adds r3, #4 80b0ba4: 1d3a adds r2, r7, #4 80b0ba6: 6812 ldr r2, [r2, #0] 80b0ba8: 4413 add r3, r2 80b0baa: 681b ldr r3, [r3, #0] 80b0bac: 677b str r3, [r7, #116] ; 0x74 /* index calculation for the coefficients */ ia3 = ia2 + ia1; 80b0bae: f8d7 20ac ldr.w r2, [r7, #172] ; 0xac 80b0bb2: f8d7 3104 ldr.w r3, [r7, #260] ; 0x104 80b0bb6: 4413 add r3, r2 80b0bb8: 673b str r3, [r7, #112] ; 0x70 co3 = pCoef[ia3 * 2u]; 80b0bba: 6f3b ldr r3, [r7, #112] ; 0x70 80b0bbc: 00db lsls r3, r3, #3 80b0bbe: 1d3a adds r2, r7, #4 80b0bc0: 6812 ldr r2, [r2, #0] 80b0bc2: 4413 add r3, r2 80b0bc4: 681b ldr r3, [r3, #0] 80b0bc6: 66fb str r3, [r7, #108] ; 0x6c si3 = pCoef[(ia3 * 2u) + 1u]; 80b0bc8: 6f3b ldr r3, [r7, #112] ; 0x70 80b0bca: 00db lsls r3, r3, #3 80b0bcc: 3304 adds r3, #4 80b0bce: 1d3a adds r2, r7, #4 80b0bd0: 6812 ldr r2, [r2, #0] 80b0bd2: 4413 add r3, r2 80b0bd4: 681b ldr r3, [r3, #0] 80b0bd6: 66bb str r3, [r7, #104] ; 0x68 Xb12_out = Xb12C_out * co1; 80b0bd8: ed97 7a24 vldr s14, [r7, #144] ; 0x90 80b0bdc: edd7 7a1e vldr s15, [r7, #120] ; 0x78 80b0be0: ee67 7a27 vmul.f32 s15, s14, s15 80b0be4: edc7 7a19 vstr s15, [r7, #100] ; 0x64 Yb12_out = Yb12C_out * co1; 80b0be8: ed97 7a23 vldr s14, [r7, #140] ; 0x8c 80b0bec: edd7 7a1e vldr s15, [r7, #120] ; 0x78 80b0bf0: ee67 7a27 vmul.f32 s15, s14, s15 80b0bf4: edc7 7a18 vstr s15, [r7, #96] ; 0x60 Xc12_out = Xc12C_out * co2; 80b0bf8: ed97 7a22 vldr s14, [r7, #136] ; 0x88 80b0bfc: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 80b0c00: ee67 7a27 vmul.f32 s15, s14, s15 80b0c04: edc7 7a17 vstr s15, [r7, #92] ; 0x5c Yc12_out = Yc12C_out * co2; 80b0c08: ed97 7a21 vldr s14, [r7, #132] ; 0x84 80b0c0c: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 80b0c10: ee67 7a27 vmul.f32 s15, s14, s15 80b0c14: edc7 7a16 vstr s15, [r7, #88] ; 0x58 Xd12_out = Xd12C_out * co3; 80b0c18: ed97 7a20 vldr s14, [r7, #128] ; 0x80 80b0c1c: edd7 7a1b vldr s15, [r7, #108] ; 0x6c 80b0c20: ee67 7a27 vmul.f32 s15, s14, s15 80b0c24: edc7 7a15 vstr s15, [r7, #84] ; 0x54 Yd12_out = Yd12C_out * co3; 80b0c28: ed97 7a1f vldr s14, [r7, #124] ; 0x7c 80b0c2c: edd7 7a1b vldr s15, [r7, #108] ; 0x6c 80b0c30: ee67 7a27 vmul.f32 s15, s14, s15 80b0c34: 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; 80b0c38: ed97 7a23 vldr s14, [r7, #140] ; 0x8c 80b0c3c: edd7 7a1d vldr s15, [r7, #116] ; 0x74 80b0c40: ee67 7a27 vmul.f32 s15, s14, s15 80b0c44: 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; 80b0c48: ed97 7a24 vldr s14, [r7, #144] ; 0x90 80b0c4c: edd7 7a1d vldr s15, [r7, #116] ; 0x74 80b0c50: ee67 7a27 vmul.f32 s15, s14, s15 80b0c54: 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; 80b0c58: ed97 7a21 vldr s14, [r7, #132] ; 0x84 80b0c5c: edd7 7a29 vldr s15, [r7, #164] ; 0xa4 80b0c60: ee67 7a27 vmul.f32 s15, s14, s15 80b0c64: 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; 80b0c68: ed97 7a22 vldr s14, [r7, #136] ; 0x88 80b0c6c: edd7 7a29 vldr s15, [r7, #164] ; 0xa4 80b0c70: ee67 7a27 vmul.f32 s15, s14, s15 80b0c74: 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; 80b0c78: ed97 7a1f vldr s14, [r7, #124] ; 0x7c 80b0c7c: edd7 7a1a vldr s15, [r7, #104] ; 0x68 80b0c80: ee67 7a27 vmul.f32 s15, s14, s15 80b0c84: 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; 80b0c88: ed97 7a20 vldr s14, [r7, #128] ; 0x80 80b0c8c: edd7 7a1a vldr s15, [r7, #104] ; 0x68 80b0c90: ee67 7a27 vmul.f32 s15, s14, s15 80b0c94: edc7 7a0e vstr s15, [r7, #56] ; 0x38 Xb12_out -= p0; 80b0c98: ed97 7a19 vldr s14, [r7, #100] ; 0x64 80b0c9c: edd7 7a13 vldr s15, [r7, #76] ; 0x4c 80b0ca0: ee77 7a67 vsub.f32 s15, s14, s15 80b0ca4: edc7 7a19 vstr s15, [r7, #100] ; 0x64 Yb12_out += p1; 80b0ca8: ed97 7a18 vldr s14, [r7, #96] ; 0x60 80b0cac: edd7 7a12 vldr s15, [r7, #72] ; 0x48 80b0cb0: ee77 7a27 vadd.f32 s15, s14, s15 80b0cb4: edc7 7a18 vstr s15, [r7, #96] ; 0x60 Xc12_out -= p2; 80b0cb8: ed97 7a17 vldr s14, [r7, #92] ; 0x5c 80b0cbc: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80b0cc0: ee77 7a67 vsub.f32 s15, s14, s15 80b0cc4: edc7 7a17 vstr s15, [r7, #92] ; 0x5c Yc12_out += p3; 80b0cc8: ed97 7a16 vldr s14, [r7, #88] ; 0x58 80b0ccc: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80b0cd0: ee77 7a27 vadd.f32 s15, s14, s15 80b0cd4: edc7 7a16 vstr s15, [r7, #88] ; 0x58 Xd12_out -= p4; 80b0cd8: ed97 7a15 vldr s14, [r7, #84] ; 0x54 80b0cdc: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80b0ce0: ee77 7a67 vsub.f32 s15, s14, s15 80b0ce4: edc7 7a15 vstr s15, [r7, #84] ; 0x54 Yd12_out += p5; 80b0ce8: ed97 7a14 vldr s14, [r7, #80] ; 0x50 80b0cec: edd7 7a0e vldr s15, [r7, #56] ; 0x38 80b0cf0: ee77 7a27 vadd.f32 s15, s14, s15 80b0cf4: edc7 7a14 vstr s15, [r7, #80] ; 0x50 /* xc' = (xa-xb+xc-xd)co2 - (ya-yb+yc-yd)(si2) */ pSrc[2u * i1] = Xc12_out; 80b0cf8: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b0cfc: 00db lsls r3, r3, #3 80b0cfe: 68fa ldr r2, [r7, #12] 80b0d00: 4413 add r3, r2 80b0d02: 6dfa ldr r2, [r7, #92] ; 0x5c 80b0d04: 601a str r2, [r3, #0] /* yc' = (ya-yb+yc-yd)co2 + (xa-xb+xc-xd)(si2) */ pSrc[(2u * i1) + 1u] = Yc12_out; 80b0d06: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b0d0a: 00db lsls r3, r3, #3 80b0d0c: 3304 adds r3, #4 80b0d0e: 68fa ldr r2, [r7, #12] 80b0d10: 4413 add r3, r2 80b0d12: 6dba ldr r2, [r7, #88] ; 0x58 80b0d14: 601a str r2, [r3, #0] /* xb' = (xa+yb-xc-yd)co1 - (ya-xb-yc+xd)(si1) */ pSrc[2u * i2] = Xb12_out; 80b0d16: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80b0d1a: 00db lsls r3, r3, #3 80b0d1c: 68fa ldr r2, [r7, #12] 80b0d1e: 4413 add r3, r2 80b0d20: 6e7a ldr r2, [r7, #100] ; 0x64 80b0d22: 601a str r2, [r3, #0] /* yb' = (ya-xb-yc+xd)co1 + (xa+yb-xc-yd)(si1) */ pSrc[(2u * i2) + 1u] = Yb12_out; 80b0d24: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80b0d28: 00db lsls r3, r3, #3 80b0d2a: 3304 adds r3, #4 80b0d2c: 68fa ldr r2, [r7, #12] 80b0d2e: 4413 add r3, r2 80b0d30: 6e3a ldr r2, [r7, #96] ; 0x60 80b0d32: 601a str r2, [r3, #0] /* xd' = (xa-yb-xc+yd)co3 - (ya+xb-yc-xd)(si3) */ pSrc[2u * i3] = Xd12_out; 80b0d34: f8d7 30e0 ldr.w r3, [r7, #224] ; 0xe0 80b0d38: 00db lsls r3, r3, #3 80b0d3a: 68fa ldr r2, [r7, #12] 80b0d3c: 4413 add r3, r2 80b0d3e: 6d7a ldr r2, [r7, #84] ; 0x54 80b0d40: 601a str r2, [r3, #0] /* yd' = (ya+xb-yc-xd)co3 + (xa-yb-xc+yd)(si3) */ pSrc[(2u * i3) + 1u] = Yd12_out; 80b0d42: f8d7 30e0 ldr.w r3, [r7, #224] ; 0xe0 80b0d46: 00db lsls r3, r3, #3 80b0d48: 3304 adds r3, #4 80b0d4a: 68fa ldr r2, [r7, #12] 80b0d4c: 4413 add r3, r2 80b0d4e: 6d3a ldr r2, [r7, #80] ; 0x50 80b0d50: 601a str r2, [r3, #0] /* Twiddle coefficients index modifier */ ia1 = ia1 + twidCoefModifier; 80b0d52: f107 0308 add.w r3, r7, #8 80b0d56: 881b ldrh r3, [r3, #0] 80b0d58: f8d7 2104 ldr.w r2, [r7, #260] ; 0x104 80b0d5c: 4413 add r3, r2 80b0d5e: f8c7 3104 str.w r3, [r7, #260] ; 0x104 /* Updating input index */ i0 = i0 + 1u; 80b0d62: f8d7 3100 ldr.w r3, [r7, #256] ; 0x100 80b0d66: 3301 adds r3, #1 80b0d68: f8c7 3100 str.w r3, [r7, #256] ; 0x100 } while(--j); 80b0d6c: f8d7 30f8 ldr.w r3, [r7, #248] ; 0xf8 80b0d70: 3b01 subs r3, #1 80b0d72: f8c7 30f8 str.w r3, [r7, #248] ; 0xf8 80b0d76: f8d7 30f8 ldr.w r3, [r7, #248] ; 0xf8 80b0d7a: 2b00 cmp r3, #0 80b0d7c: f47f ae08 bne.w 80b0990 twidCoefModifier <<= 2u; 80b0d80: f107 0308 add.w r3, r7, #8 80b0d84: f107 0208 add.w r2, r7, #8 80b0d88: 8812 ldrh r2, [r2, #0] 80b0d8a: 0092 lsls r2, r2, #2 80b0d8c: 801a strh r2, [r3, #0] /* Calculation of second stage to excluding last stage */ for (k = fftLen >> 2u; k > 4u; k >>= 2u) 80b0d8e: 897b ldrh r3, [r7, #10] 80b0d90: 089b lsrs r3, r3, #2 80b0d92: b29b uxth r3, r3 80b0d94: f8c7 30f4 str.w r3, [r7, #244] ; 0xf4 80b0d98: e221 b.n 80b11de { /* Initializations for the first stage */ n1 = n2; 80b0d9a: f8d7 30fc ldr.w r3, [r7, #252] ; 0xfc 80b0d9e: f8c7 30ec str.w r3, [r7, #236] ; 0xec n2 >>= 2u; 80b0da2: f8d7 30fc ldr.w r3, [r7, #252] ; 0xfc 80b0da6: 089b lsrs r3, r3, #2 80b0da8: f8c7 30fc str.w r3, [r7, #252] ; 0xfc ia1 = 0u; 80b0dac: 2300 movs r3, #0 80b0dae: f8c7 3104 str.w r3, [r7, #260] ; 0x104 /* Calculation of first stage */ j = 0; 80b0db2: 2300 movs r3, #0 80b0db4: f8c7 30f8 str.w r3, [r7, #248] ; 0xf8 do { /* index calculation for the coefficients */ ia2 = ia1 + ia1; 80b0db8: f8d7 2104 ldr.w r2, [r7, #260] ; 0x104 80b0dbc: f8d7 3104 ldr.w r3, [r7, #260] ; 0x104 80b0dc0: 4413 add r3, r2 80b0dc2: f8c7 30ac str.w r3, [r7, #172] ; 0xac ia3 = ia2 + ia1; 80b0dc6: f8d7 20ac ldr.w r2, [r7, #172] ; 0xac 80b0dca: f8d7 3104 ldr.w r3, [r7, #260] ; 0x104 80b0dce: 4413 add r3, r2 80b0dd0: 673b str r3, [r7, #112] ; 0x70 co1 = pCoef[ia1 * 2u]; 80b0dd2: f8d7 3104 ldr.w r3, [r7, #260] ; 0x104 80b0dd6: 00db lsls r3, r3, #3 80b0dd8: 1d3a adds r2, r7, #4 80b0dda: 6812 ldr r2, [r2, #0] 80b0ddc: 4413 add r3, r2 80b0dde: 681b ldr r3, [r3, #0] 80b0de0: 67bb str r3, [r7, #120] ; 0x78 si1 = pCoef[(ia1 * 2u) + 1u]; 80b0de2: f8d7 3104 ldr.w r3, [r7, #260] ; 0x104 80b0de6: 00db lsls r3, r3, #3 80b0de8: 3304 adds r3, #4 80b0dea: 1d3a adds r2, r7, #4 80b0dec: 6812 ldr r2, [r2, #0] 80b0dee: 4413 add r3, r2 80b0df0: 681b ldr r3, [r3, #0] 80b0df2: 677b str r3, [r7, #116] ; 0x74 co2 = pCoef[ia2 * 2u]; 80b0df4: f8d7 30ac ldr.w r3, [r7, #172] ; 0xac 80b0df8: 00db lsls r3, r3, #3 80b0dfa: 1d3a adds r2, r7, #4 80b0dfc: 6812 ldr r2, [r2, #0] 80b0dfe: 4413 add r3, r2 80b0e00: 681b ldr r3, [r3, #0] 80b0e02: f8c7 30a8 str.w r3, [r7, #168] ; 0xa8 si2 = pCoef[(ia2 * 2u) + 1u]; 80b0e06: f8d7 30ac ldr.w r3, [r7, #172] ; 0xac 80b0e0a: 00db lsls r3, r3, #3 80b0e0c: 3304 adds r3, #4 80b0e0e: 1d3a adds r2, r7, #4 80b0e10: 6812 ldr r2, [r2, #0] 80b0e12: 4413 add r3, r2 80b0e14: 681b ldr r3, [r3, #0] 80b0e16: f8c7 30a4 str.w r3, [r7, #164] ; 0xa4 co3 = pCoef[ia3 * 2u]; 80b0e1a: 6f3b ldr r3, [r7, #112] ; 0x70 80b0e1c: 00db lsls r3, r3, #3 80b0e1e: 1d3a adds r2, r7, #4 80b0e20: 6812 ldr r2, [r2, #0] 80b0e22: 4413 add r3, r2 80b0e24: 681b ldr r3, [r3, #0] 80b0e26: 66fb str r3, [r7, #108] ; 0x6c si3 = pCoef[(ia3 * 2u) + 1u]; 80b0e28: 6f3b ldr r3, [r7, #112] ; 0x70 80b0e2a: 00db lsls r3, r3, #3 80b0e2c: 3304 adds r3, #4 80b0e2e: 1d3a adds r2, r7, #4 80b0e30: 6812 ldr r2, [r2, #0] 80b0e32: 4413 add r3, r2 80b0e34: 681b ldr r3, [r3, #0] 80b0e36: 66bb str r3, [r7, #104] ; 0x68 /* Twiddle coefficients index modifier */ ia1 = ia1 + twidCoefModifier; 80b0e38: f107 0308 add.w r3, r7, #8 80b0e3c: 881b ldrh r3, [r3, #0] 80b0e3e: f8d7 2104 ldr.w r2, [r7, #260] ; 0x104 80b0e42: 4413 add r3, r2 80b0e44: f8c7 3104 str.w r3, [r7, #260] ; 0x104 i0 = j; 80b0e48: f8d7 30f8 ldr.w r3, [r7, #248] ; 0xf8 80b0e4c: 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; 80b0e50: f8d7 2100 ldr.w r2, [r7, #256] ; 0x100 80b0e54: f8d7 30fc ldr.w r3, [r7, #252] ; 0xfc 80b0e58: 4413 add r3, r2 80b0e5a: f8c7 30e8 str.w r3, [r7, #232] ; 0xe8 i2 = i1 + n2; 80b0e5e: f8d7 20e8 ldr.w r2, [r7, #232] ; 0xe8 80b0e62: f8d7 30fc ldr.w r3, [r7, #252] ; 0xfc 80b0e66: 4413 add r3, r2 80b0e68: f8c7 30e4 str.w r3, [r7, #228] ; 0xe4 i3 = i2 + n2; 80b0e6c: f8d7 20e4 ldr.w r2, [r7, #228] ; 0xe4 80b0e70: f8d7 30fc ldr.w r3, [r7, #252] ; 0xfc 80b0e74: 4413 add r3, r2 80b0e76: f8c7 30e0 str.w r3, [r7, #224] ; 0xe0 xaIn = pSrc[(2u * i0)]; 80b0e7a: f8d7 3100 ldr.w r3, [r7, #256] ; 0x100 80b0e7e: 00db lsls r3, r3, #3 80b0e80: 68fa ldr r2, [r7, #12] 80b0e82: 4413 add r3, r2 80b0e84: 681b ldr r3, [r3, #0] 80b0e86: f8c7 30dc str.w r3, [r7, #220] ; 0xdc yaIn = pSrc[(2u * i0) + 1u]; 80b0e8a: f8d7 3100 ldr.w r3, [r7, #256] ; 0x100 80b0e8e: 00db lsls r3, r3, #3 80b0e90: 3304 adds r3, #4 80b0e92: 68fa ldr r2, [r7, #12] 80b0e94: 4413 add r3, r2 80b0e96: 681b ldr r3, [r3, #0] 80b0e98: f8c7 30d8 str.w r3, [r7, #216] ; 0xd8 xbIn = pSrc[(2u * i1)]; 80b0e9c: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b0ea0: 00db lsls r3, r3, #3 80b0ea2: 68fa ldr r2, [r7, #12] 80b0ea4: 4413 add r3, r2 80b0ea6: 681b ldr r3, [r3, #0] 80b0ea8: f8c7 30cc str.w r3, [r7, #204] ; 0xcc ybIn = pSrc[(2u * i1) + 1u]; 80b0eac: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b0eb0: 00db lsls r3, r3, #3 80b0eb2: 3304 adds r3, #4 80b0eb4: 68fa ldr r2, [r7, #12] 80b0eb6: 4413 add r3, r2 80b0eb8: 681b ldr r3, [r3, #0] 80b0eba: f8c7 30c8 str.w r3, [r7, #200] ; 0xc8 xcIn = pSrc[(2u * i2)]; 80b0ebe: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80b0ec2: 00db lsls r3, r3, #3 80b0ec4: 68fa ldr r2, [r7, #12] 80b0ec6: 4413 add r3, r2 80b0ec8: 681b ldr r3, [r3, #0] 80b0eca: f8c7 30d4 str.w r3, [r7, #212] ; 0xd4 ycIn = pSrc[(2u * i2) + 1u]; 80b0ece: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80b0ed2: 00db lsls r3, r3, #3 80b0ed4: 3304 adds r3, #4 80b0ed6: 68fa ldr r2, [r7, #12] 80b0ed8: 4413 add r3, r2 80b0eda: 681b ldr r3, [r3, #0] 80b0edc: f8c7 30d0 str.w r3, [r7, #208] ; 0xd0 xdIn = pSrc[(2u * i3)]; 80b0ee0: f8d7 30e0 ldr.w r3, [r7, #224] ; 0xe0 80b0ee4: 00db lsls r3, r3, #3 80b0ee6: 68fa ldr r2, [r7, #12] 80b0ee8: 4413 add r3, r2 80b0eea: 681b ldr r3, [r3, #0] 80b0eec: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 ydIn = pSrc[(2u * i3) + 1u]; 80b0ef0: f8d7 30e0 ldr.w r3, [r7, #224] ; 0xe0 80b0ef4: 00db lsls r3, r3, #3 80b0ef6: 3304 adds r3, #4 80b0ef8: 68fa ldr r2, [r7, #12] 80b0efa: 4413 add r3, r2 80b0efc: 681b ldr r3, [r3, #0] 80b0efe: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 /* xa - xc */ Xaminusc = xaIn - xcIn; 80b0f02: ed97 7a37 vldr s14, [r7, #220] ; 0xdc 80b0f06: edd7 7a35 vldr s15, [r7, #212] ; 0xd4 80b0f0a: ee77 7a67 vsub.f32 s15, s14, s15 80b0f0e: edc7 7a28 vstr s15, [r7, #160] ; 0xa0 /* (xb - xd) */ Xbminusd = xbIn - xdIn; 80b0f12: ed97 7a33 vldr s14, [r7, #204] ; 0xcc 80b0f16: edd7 7a31 vldr s15, [r7, #196] ; 0xc4 80b0f1a: ee77 7a67 vsub.f32 s15, s14, s15 80b0f1e: edc7 7a27 vstr s15, [r7, #156] ; 0x9c /* ya - yc */ Yaminusc = yaIn - ycIn; 80b0f22: ed97 7a36 vldr s14, [r7, #216] ; 0xd8 80b0f26: edd7 7a34 vldr s15, [r7, #208] ; 0xd0 80b0f2a: ee77 7a67 vsub.f32 s15, s14, s15 80b0f2e: edc7 7a26 vstr s15, [r7, #152] ; 0x98 /* (yb - yd) */ Ybminusd = ybIn - ydIn; 80b0f32: ed97 7a32 vldr s14, [r7, #200] ; 0xc8 80b0f36: edd7 7a30 vldr s15, [r7, #192] ; 0xc0 80b0f3a: ee77 7a67 vsub.f32 s15, s14, s15 80b0f3e: edc7 7a25 vstr s15, [r7, #148] ; 0x94 /* xa + xc */ Xaplusc = xaIn + xcIn; 80b0f42: ed97 7a37 vldr s14, [r7, #220] ; 0xdc 80b0f46: edd7 7a35 vldr s15, [r7, #212] ; 0xd4 80b0f4a: ee77 7a27 vadd.f32 s15, s14, s15 80b0f4e: edc7 7a2f vstr s15, [r7, #188] ; 0xbc /* xb + xd */ Xbplusd = xbIn + xdIn; 80b0f52: ed97 7a33 vldr s14, [r7, #204] ; 0xcc 80b0f56: edd7 7a31 vldr s15, [r7, #196] ; 0xc4 80b0f5a: ee77 7a27 vadd.f32 s15, s14, s15 80b0f5e: edc7 7a2e vstr s15, [r7, #184] ; 0xb8 /* ya + yc */ Yaplusc = yaIn + ycIn; 80b0f62: ed97 7a36 vldr s14, [r7, #216] ; 0xd8 80b0f66: edd7 7a34 vldr s15, [r7, #208] ; 0xd0 80b0f6a: ee77 7a27 vadd.f32 s15, s14, s15 80b0f6e: edc7 7a2d vstr s15, [r7, #180] ; 0xb4 /* yb + yd */ Ybplusd = ybIn + ydIn; 80b0f72: ed97 7a32 vldr s14, [r7, #200] ; 0xc8 80b0f76: edd7 7a30 vldr s15, [r7, #192] ; 0xc0 80b0f7a: ee77 7a27 vadd.f32 s15, s14, s15 80b0f7e: edc7 7a2c vstr s15, [r7, #176] ; 0xb0 /* (xa - xc) - (yb - yd) */ Xb12C_out = (Xaminusc - Ybminusd); 80b0f82: ed97 7a28 vldr s14, [r7, #160] ; 0xa0 80b0f86: edd7 7a25 vldr s15, [r7, #148] ; 0x94 80b0f8a: ee77 7a67 vsub.f32 s15, s14, s15 80b0f8e: edc7 7a24 vstr s15, [r7, #144] ; 0x90 /* (ya - yc) + (xb - xd) */ Yb12C_out = (Yaminusc + Xbminusd); 80b0f92: ed97 7a26 vldr s14, [r7, #152] ; 0x98 80b0f96: edd7 7a27 vldr s15, [r7, #156] ; 0x9c 80b0f9a: ee77 7a27 vadd.f32 s15, s14, s15 80b0f9e: edc7 7a23 vstr s15, [r7, #140] ; 0x8c /* xa + xc -(xb + xd) */ Xc12C_out = (Xaplusc - Xbplusd); 80b0fa2: ed97 7a2f vldr s14, [r7, #188] ; 0xbc 80b0fa6: edd7 7a2e vldr s15, [r7, #184] ; 0xb8 80b0faa: ee77 7a67 vsub.f32 s15, s14, s15 80b0fae: edc7 7a22 vstr s15, [r7, #136] ; 0x88 /* (ya + yc) - (yb + yd) */ Yc12C_out = (Yaplusc - Ybplusd); 80b0fb2: ed97 7a2d vldr s14, [r7, #180] ; 0xb4 80b0fb6: edd7 7a2c vldr s15, [r7, #176] ; 0xb0 80b0fba: ee77 7a67 vsub.f32 s15, s14, s15 80b0fbe: edc7 7a21 vstr s15, [r7, #132] ; 0x84 /* (xa - xc) + (yb - yd) */ Xd12C_out = (Xaminusc + Ybminusd); 80b0fc2: ed97 7a28 vldr s14, [r7, #160] ; 0xa0 80b0fc6: edd7 7a25 vldr s15, [r7, #148] ; 0x94 80b0fca: ee77 7a27 vadd.f32 s15, s14, s15 80b0fce: edc7 7a20 vstr s15, [r7, #128] ; 0x80 /* (ya - yc) - (xb - xd) */ Yd12C_out = (Yaminusc - Xbminusd); 80b0fd2: ed97 7a26 vldr s14, [r7, #152] ; 0x98 80b0fd6: edd7 7a27 vldr s15, [r7, #156] ; 0x9c 80b0fda: ee77 7a67 vsub.f32 s15, s14, s15 80b0fde: edc7 7a1f vstr s15, [r7, #124] ; 0x7c pSrc[(2u * i0)] = Xaplusc + Xbplusd; 80b0fe2: f8d7 3100 ldr.w r3, [r7, #256] ; 0x100 80b0fe6: 00db lsls r3, r3, #3 80b0fe8: 68fa ldr r2, [r7, #12] 80b0fea: 4413 add r3, r2 80b0fec: ed97 7a2f vldr s14, [r7, #188] ; 0xbc 80b0ff0: edd7 7a2e vldr s15, [r7, #184] ; 0xb8 80b0ff4: ee77 7a27 vadd.f32 s15, s14, s15 80b0ff8: edc3 7a00 vstr s15, [r3] pSrc[(2u * i0) + 1u] = Yaplusc + Ybplusd; 80b0ffc: f8d7 3100 ldr.w r3, [r7, #256] ; 0x100 80b1000: 00db lsls r3, r3, #3 80b1002: 3304 adds r3, #4 80b1004: 68fa ldr r2, [r7, #12] 80b1006: 4413 add r3, r2 80b1008: ed97 7a2d vldr s14, [r7, #180] ; 0xb4 80b100c: edd7 7a2c vldr s15, [r7, #176] ; 0xb0 80b1010: ee77 7a27 vadd.f32 s15, s14, s15 80b1014: edc3 7a00 vstr s15, [r3] Xb12_out = Xb12C_out * co1; 80b1018: ed97 7a24 vldr s14, [r7, #144] ; 0x90 80b101c: edd7 7a1e vldr s15, [r7, #120] ; 0x78 80b1020: ee67 7a27 vmul.f32 s15, s14, s15 80b1024: edc7 7a19 vstr s15, [r7, #100] ; 0x64 Yb12_out = Yb12C_out * co1; 80b1028: ed97 7a23 vldr s14, [r7, #140] ; 0x8c 80b102c: edd7 7a1e vldr s15, [r7, #120] ; 0x78 80b1030: ee67 7a27 vmul.f32 s15, s14, s15 80b1034: edc7 7a18 vstr s15, [r7, #96] ; 0x60 Xc12_out = Xc12C_out * co2; 80b1038: ed97 7a22 vldr s14, [r7, #136] ; 0x88 80b103c: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 80b1040: ee67 7a27 vmul.f32 s15, s14, s15 80b1044: edc7 7a17 vstr s15, [r7, #92] ; 0x5c Yc12_out = Yc12C_out * co2; 80b1048: ed97 7a21 vldr s14, [r7, #132] ; 0x84 80b104c: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 80b1050: ee67 7a27 vmul.f32 s15, s14, s15 80b1054: edc7 7a16 vstr s15, [r7, #88] ; 0x58 Xd12_out = Xd12C_out * co3; 80b1058: ed97 7a20 vldr s14, [r7, #128] ; 0x80 80b105c: edd7 7a1b vldr s15, [r7, #108] ; 0x6c 80b1060: ee67 7a27 vmul.f32 s15, s14, s15 80b1064: edc7 7a15 vstr s15, [r7, #84] ; 0x54 Yd12_out = Yd12C_out * co3; 80b1068: ed97 7a1f vldr s14, [r7, #124] ; 0x7c 80b106c: edd7 7a1b vldr s15, [r7, #108] ; 0x6c 80b1070: ee67 7a27 vmul.f32 s15, s14, s15 80b1074: 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; 80b1078: ed97 7a23 vldr s14, [r7, #140] ; 0x8c 80b107c: edd7 7a1d vldr s15, [r7, #116] ; 0x74 80b1080: ee67 7a27 vmul.f32 s15, s14, s15 80b1084: 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; 80b1088: ed97 7a24 vldr s14, [r7, #144] ; 0x90 80b108c: edd7 7a1d vldr s15, [r7, #116] ; 0x74 80b1090: ee67 7a27 vmul.f32 s15, s14, s15 80b1094: 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; 80b1098: ed97 7a21 vldr s14, [r7, #132] ; 0x84 80b109c: edd7 7a29 vldr s15, [r7, #164] ; 0xa4 80b10a0: ee67 7a27 vmul.f32 s15, s14, s15 80b10a4: 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; 80b10a8: ed97 7a22 vldr s14, [r7, #136] ; 0x88 80b10ac: edd7 7a29 vldr s15, [r7, #164] ; 0xa4 80b10b0: ee67 7a27 vmul.f32 s15, s14, s15 80b10b4: 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; 80b10b8: ed97 7a1f vldr s14, [r7, #124] ; 0x7c 80b10bc: edd7 7a1a vldr s15, [r7, #104] ; 0x68 80b10c0: ee67 7a27 vmul.f32 s15, s14, s15 80b10c4: 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; 80b10c8: ed97 7a20 vldr s14, [r7, #128] ; 0x80 80b10cc: edd7 7a1a vldr s15, [r7, #104] ; 0x68 80b10d0: ee67 7a27 vmul.f32 s15, s14, s15 80b10d4: edc7 7a0e vstr s15, [r7, #56] ; 0x38 Xb12_out -= p0; 80b10d8: ed97 7a19 vldr s14, [r7, #100] ; 0x64 80b10dc: edd7 7a13 vldr s15, [r7, #76] ; 0x4c 80b10e0: ee77 7a67 vsub.f32 s15, s14, s15 80b10e4: edc7 7a19 vstr s15, [r7, #100] ; 0x64 Yb12_out += p1; 80b10e8: ed97 7a18 vldr s14, [r7, #96] ; 0x60 80b10ec: edd7 7a12 vldr s15, [r7, #72] ; 0x48 80b10f0: ee77 7a27 vadd.f32 s15, s14, s15 80b10f4: edc7 7a18 vstr s15, [r7, #96] ; 0x60 Xc12_out -= p2; 80b10f8: ed97 7a17 vldr s14, [r7, #92] ; 0x5c 80b10fc: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80b1100: ee77 7a67 vsub.f32 s15, s14, s15 80b1104: edc7 7a17 vstr s15, [r7, #92] ; 0x5c Yc12_out += p3; 80b1108: ed97 7a16 vldr s14, [r7, #88] ; 0x58 80b110c: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80b1110: ee77 7a27 vadd.f32 s15, s14, s15 80b1114: edc7 7a16 vstr s15, [r7, #88] ; 0x58 Xd12_out -= p4; 80b1118: ed97 7a15 vldr s14, [r7, #84] ; 0x54 80b111c: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80b1120: ee77 7a67 vsub.f32 s15, s14, s15 80b1124: edc7 7a15 vstr s15, [r7, #84] ; 0x54 Yd12_out += p5; 80b1128: ed97 7a14 vldr s14, [r7, #80] ; 0x50 80b112c: edd7 7a0e vldr s15, [r7, #56] ; 0x38 80b1130: ee77 7a27 vadd.f32 s15, s14, s15 80b1134: edc7 7a14 vstr s15, [r7, #80] ; 0x50 /* xc' = (xa-xb+xc-xd)co2 - (ya-yb+yc-yd)(si2) */ pSrc[2u * i1] = Xc12_out; 80b1138: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b113c: 00db lsls r3, r3, #3 80b113e: 68fa ldr r2, [r7, #12] 80b1140: 4413 add r3, r2 80b1142: 6dfa ldr r2, [r7, #92] ; 0x5c 80b1144: 601a str r2, [r3, #0] /* yc' = (ya-yb+yc-yd)co2 + (xa-xb+xc-xd)(si2) */ pSrc[(2u * i1) + 1u] = Yc12_out; 80b1146: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b114a: 00db lsls r3, r3, #3 80b114c: 3304 adds r3, #4 80b114e: 68fa ldr r2, [r7, #12] 80b1150: 4413 add r3, r2 80b1152: 6dba ldr r2, [r7, #88] ; 0x58 80b1154: 601a str r2, [r3, #0] /* xb' = (xa+yb-xc-yd)co1 - (ya-xb-yc+xd)(si1) */ pSrc[2u * i2] = Xb12_out; 80b1156: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80b115a: 00db lsls r3, r3, #3 80b115c: 68fa ldr r2, [r7, #12] 80b115e: 4413 add r3, r2 80b1160: 6e7a ldr r2, [r7, #100] ; 0x64 80b1162: 601a str r2, [r3, #0] /* yb' = (ya-xb-yc+xd)co1 + (xa+yb-xc-yd)(si1) */ pSrc[(2u * i2) + 1u] = Yb12_out; 80b1164: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80b1168: 00db lsls r3, r3, #3 80b116a: 3304 adds r3, #4 80b116c: 68fa ldr r2, [r7, #12] 80b116e: 4413 add r3, r2 80b1170: 6e3a ldr r2, [r7, #96] ; 0x60 80b1172: 601a str r2, [r3, #0] /* xd' = (xa-yb-xc+yd)co3 - (ya+xb-yc-xd)(si3) */ pSrc[2u * i3] = Xd12_out; 80b1174: f8d7 30e0 ldr.w r3, [r7, #224] ; 0xe0 80b1178: 00db lsls r3, r3, #3 80b117a: 68fa ldr r2, [r7, #12] 80b117c: 4413 add r3, r2 80b117e: 6d7a ldr r2, [r7, #84] ; 0x54 80b1180: 601a str r2, [r3, #0] /* yd' = (ya+xb-yc-xd)co3 + (xa-yb-xc+yd)(si3) */ pSrc[(2u * i3) + 1u] = Yd12_out; 80b1182: f8d7 30e0 ldr.w r3, [r7, #224] ; 0xe0 80b1186: 00db lsls r3, r3, #3 80b1188: 3304 adds r3, #4 80b118a: 68fa ldr r2, [r7, #12] 80b118c: 4413 add r3, r2 80b118e: 6d3a ldr r2, [r7, #80] ; 0x50 80b1190: 601a str r2, [r3, #0] i0 += n1; 80b1192: f8d7 2100 ldr.w r2, [r7, #256] ; 0x100 80b1196: f8d7 30ec ldr.w r3, [r7, #236] ; 0xec 80b119a: 4413 add r3, r2 80b119c: f8c7 3100 str.w r3, [r7, #256] ; 0x100 } while(i0 < fftLen); 80b11a0: 897a ldrh r2, [r7, #10] 80b11a2: f8d7 3100 ldr.w r3, [r7, #256] ; 0x100 80b11a6: 429a cmp r2, r3 80b11a8: f63f ae52 bhi.w 80b0e50 j++; 80b11ac: f8d7 30f8 ldr.w r3, [r7, #248] ; 0xf8 80b11b0: 3301 adds r3, #1 80b11b2: f8c7 30f8 str.w r3, [r7, #248] ; 0xf8 } while(j <= (n2 - 1u)); 80b11b6: f8d7 30fc ldr.w r3, [r7, #252] ; 0xfc 80b11ba: 1e5a subs r2, r3, #1 80b11bc: f8d7 30f8 ldr.w r3, [r7, #248] ; 0xf8 80b11c0: 429a cmp r2, r3 80b11c2: f4bf adf9 bcs.w 80b0db8 twidCoefModifier <<= 2u; 80b11c6: f107 0308 add.w r3, r7, #8 80b11ca: f107 0208 add.w r2, r7, #8 80b11ce: 8812 ldrh r2, [r2, #0] 80b11d0: 0092 lsls r2, r2, #2 80b11d2: 801a strh r2, [r3, #0] for (k = fftLen >> 2u; k > 4u; k >>= 2u) 80b11d4: f8d7 30f4 ldr.w r3, [r7, #244] ; 0xf4 80b11d8: 089b lsrs r3, r3, #2 80b11da: f8c7 30f4 str.w r3, [r7, #244] ; 0xf4 80b11de: f8d7 30f4 ldr.w r3, [r7, #244] ; 0xf4 80b11e2: 2b04 cmp r3, #4 80b11e4: f63f add9 bhi.w 80b0d9a } /* Initializations of last stage */ j = fftLen >> 2; 80b11e8: 897b ldrh r3, [r7, #10] 80b11ea: 089b lsrs r3, r3, #2 80b11ec: b29b uxth r3, r3 80b11ee: f8c7 30f8 str.w r3, [r7, #248] ; 0xf8 ptr1 = &pSrc[0]; 80b11f2: 68fb ldr r3, [r7, #12] 80b11f4: f8c7 30f0 str.w r3, [r7, #240] ; 0xf0 /* Calculations of last stage */ do { xaIn = ptr1[0]; 80b11f8: f8d7 30f0 ldr.w r3, [r7, #240] ; 0xf0 80b11fc: 681b ldr r3, [r3, #0] 80b11fe: f8c7 30dc str.w r3, [r7, #220] ; 0xdc yaIn = ptr1[1]; 80b1202: f8d7 30f0 ldr.w r3, [r7, #240] ; 0xf0 80b1206: 685b ldr r3, [r3, #4] 80b1208: f8c7 30d8 str.w r3, [r7, #216] ; 0xd8 xbIn = ptr1[2]; 80b120c: f8d7 30f0 ldr.w r3, [r7, #240] ; 0xf0 80b1210: 689b ldr r3, [r3, #8] 80b1212: f8c7 30cc str.w r3, [r7, #204] ; 0xcc ybIn = ptr1[3]; 80b1216: f8d7 30f0 ldr.w r3, [r7, #240] ; 0xf0 80b121a: 68db ldr r3, [r3, #12] 80b121c: f8c7 30c8 str.w r3, [r7, #200] ; 0xc8 xcIn = ptr1[4]; 80b1220: f8d7 30f0 ldr.w r3, [r7, #240] ; 0xf0 80b1224: 691b ldr r3, [r3, #16] 80b1226: f8c7 30d4 str.w r3, [r7, #212] ; 0xd4 ycIn = ptr1[5]; 80b122a: f8d7 30f0 ldr.w r3, [r7, #240] ; 0xf0 80b122e: 695b ldr r3, [r3, #20] 80b1230: f8c7 30d0 str.w r3, [r7, #208] ; 0xd0 xdIn = ptr1[6]; 80b1234: f8d7 30f0 ldr.w r3, [r7, #240] ; 0xf0 80b1238: 699b ldr r3, [r3, #24] 80b123a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 ydIn = ptr1[7]; 80b123e: f8d7 30f0 ldr.w r3, [r7, #240] ; 0xf0 80b1242: 69db ldr r3, [r3, #28] 80b1244: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 /* Butterfly implementation */ /* xa + xc */ Xaplusc = xaIn + xcIn; 80b1248: ed97 7a37 vldr s14, [r7, #220] ; 0xdc 80b124c: edd7 7a35 vldr s15, [r7, #212] ; 0xd4 80b1250: ee77 7a27 vadd.f32 s15, s14, s15 80b1254: edc7 7a2f vstr s15, [r7, #188] ; 0xbc /* xa - xc */ Xaminusc = xaIn - xcIn; 80b1258: ed97 7a37 vldr s14, [r7, #220] ; 0xdc 80b125c: edd7 7a35 vldr s15, [r7, #212] ; 0xd4 80b1260: ee77 7a67 vsub.f32 s15, s14, s15 80b1264: edc7 7a28 vstr s15, [r7, #160] ; 0xa0 /* ya + yc */ Yaplusc = yaIn + ycIn; 80b1268: ed97 7a36 vldr s14, [r7, #216] ; 0xd8 80b126c: edd7 7a34 vldr s15, [r7, #208] ; 0xd0 80b1270: ee77 7a27 vadd.f32 s15, s14, s15 80b1274: edc7 7a2d vstr s15, [r7, #180] ; 0xb4 /* ya - yc */ Yaminusc = yaIn - ycIn; 80b1278: ed97 7a36 vldr s14, [r7, #216] ; 0xd8 80b127c: edd7 7a34 vldr s15, [r7, #208] ; 0xd0 80b1280: ee77 7a67 vsub.f32 s15, s14, s15 80b1284: edc7 7a26 vstr s15, [r7, #152] ; 0x98 /* xb + xd */ Xbplusd = xbIn + xdIn; 80b1288: ed97 7a33 vldr s14, [r7, #204] ; 0xcc 80b128c: edd7 7a31 vldr s15, [r7, #196] ; 0xc4 80b1290: ee77 7a27 vadd.f32 s15, s14, s15 80b1294: edc7 7a2e vstr s15, [r7, #184] ; 0xb8 /* yb + yd */ Ybplusd = ybIn + ydIn; 80b1298: ed97 7a32 vldr s14, [r7, #200] ; 0xc8 80b129c: edd7 7a30 vldr s15, [r7, #192] ; 0xc0 80b12a0: ee77 7a27 vadd.f32 s15, s14, s15 80b12a4: edc7 7a2c vstr s15, [r7, #176] ; 0xb0 /* (xb-xd) */ Xbminusd = xbIn - xdIn; 80b12a8: ed97 7a33 vldr s14, [r7, #204] ; 0xcc 80b12ac: edd7 7a31 vldr s15, [r7, #196] ; 0xc4 80b12b0: ee77 7a67 vsub.f32 s15, s14, s15 80b12b4: edc7 7a27 vstr s15, [r7, #156] ; 0x9c /* (yb-yd) */ Ybminusd = ybIn - ydIn; 80b12b8: ed97 7a32 vldr s14, [r7, #200] ; 0xc8 80b12bc: edd7 7a30 vldr s15, [r7, #192] ; 0xc0 80b12c0: ee77 7a67 vsub.f32 s15, s14, s15 80b12c4: edc7 7a25 vstr s15, [r7, #148] ; 0x94 /* xa' = (xa+xb+xc+xd) * onebyfftLen */ a0 = (Xaplusc + Xbplusd); 80b12c8: ed97 7a2f vldr s14, [r7, #188] ; 0xbc 80b12cc: edd7 7a2e vldr s15, [r7, #184] ; 0xb8 80b12d0: ee77 7a27 vadd.f32 s15, s14, s15 80b12d4: edc7 7a0d vstr s15, [r7, #52] ; 0x34 /* ya' = (ya+yb+yc+yd) * onebyfftLen */ a1 = (Yaplusc + Ybplusd); 80b12d8: ed97 7a2d vldr s14, [r7, #180] ; 0xb4 80b12dc: edd7 7a2c vldr s15, [r7, #176] ; 0xb0 80b12e0: ee77 7a27 vadd.f32 s15, s14, s15 80b12e4: edc7 7a0c vstr s15, [r7, #48] ; 0x30 /* xc' = (xa-xb+xc-xd) * onebyfftLen */ a2 = (Xaplusc - Xbplusd); 80b12e8: ed97 7a2f vldr s14, [r7, #188] ; 0xbc 80b12ec: edd7 7a2e vldr s15, [r7, #184] ; 0xb8 80b12f0: ee77 7a67 vsub.f32 s15, s14, s15 80b12f4: edc7 7a0b vstr s15, [r7, #44] ; 0x2c /* yc' = (ya-yb+yc-yd) * onebyfftLen */ a3 = (Yaplusc - Ybplusd); 80b12f8: ed97 7a2d vldr s14, [r7, #180] ; 0xb4 80b12fc: edd7 7a2c vldr s15, [r7, #176] ; 0xb0 80b1300: ee77 7a67 vsub.f32 s15, s14, s15 80b1304: edc7 7a0a vstr s15, [r7, #40] ; 0x28 /* xb' = (xa-yb-xc+yd) * onebyfftLen */ a4 = (Xaminusc - Ybminusd); 80b1308: ed97 7a28 vldr s14, [r7, #160] ; 0xa0 80b130c: edd7 7a25 vldr s15, [r7, #148] ; 0x94 80b1310: ee77 7a67 vsub.f32 s15, s14, s15 80b1314: edc7 7a09 vstr s15, [r7, #36] ; 0x24 /* yb' = (ya+xb-yc-xd) * onebyfftLen */ a5 = (Yaminusc + Xbminusd); 80b1318: ed97 7a26 vldr s14, [r7, #152] ; 0x98 80b131c: edd7 7a27 vldr s15, [r7, #156] ; 0x9c 80b1320: ee77 7a27 vadd.f32 s15, s14, s15 80b1324: edc7 7a08 vstr s15, [r7, #32] /* xd' = (xa-yb-xc+yd) * onebyfftLen */ a6 = (Xaminusc + Ybminusd); 80b1328: ed97 7a28 vldr s14, [r7, #160] ; 0xa0 80b132c: edd7 7a25 vldr s15, [r7, #148] ; 0x94 80b1330: ee77 7a27 vadd.f32 s15, s14, s15 80b1334: edc7 7a07 vstr s15, [r7, #28] /* yd' = (ya-xb-yc+xd) * onebyfftLen */ a7 = (Yaminusc - Xbminusd); 80b1338: ed97 7a26 vldr s14, [r7, #152] ; 0x98 80b133c: edd7 7a27 vldr s15, [r7, #156] ; 0x9c 80b1340: ee77 7a67 vsub.f32 s15, s14, s15 80b1344: edc7 7a06 vstr s15, [r7, #24] p0 = a0 * onebyfftLen; 80b1348: 463b mov r3, r7 80b134a: ed97 7a0d vldr s14, [r7, #52] ; 0x34 80b134e: edd3 7a00 vldr s15, [r3] 80b1352: ee67 7a27 vmul.f32 s15, s14, s15 80b1356: edc7 7a13 vstr s15, [r7, #76] ; 0x4c p1 = a1 * onebyfftLen; 80b135a: 463b mov r3, r7 80b135c: ed97 7a0c vldr s14, [r7, #48] ; 0x30 80b1360: edd3 7a00 vldr s15, [r3] 80b1364: ee67 7a27 vmul.f32 s15, s14, s15 80b1368: edc7 7a12 vstr s15, [r7, #72] ; 0x48 p2 = a2 * onebyfftLen; 80b136c: 463b mov r3, r7 80b136e: ed97 7a0b vldr s14, [r7, #44] ; 0x2c 80b1372: edd3 7a00 vldr s15, [r3] 80b1376: ee67 7a27 vmul.f32 s15, s14, s15 80b137a: edc7 7a11 vstr s15, [r7, #68] ; 0x44 p3 = a3 * onebyfftLen; 80b137e: 463b mov r3, r7 80b1380: ed97 7a0a vldr s14, [r7, #40] ; 0x28 80b1384: edd3 7a00 vldr s15, [r3] 80b1388: ee67 7a27 vmul.f32 s15, s14, s15 80b138c: edc7 7a10 vstr s15, [r7, #64] ; 0x40 p4 = a4 * onebyfftLen; 80b1390: 463b mov r3, r7 80b1392: ed97 7a09 vldr s14, [r7, #36] ; 0x24 80b1396: edd3 7a00 vldr s15, [r3] 80b139a: ee67 7a27 vmul.f32 s15, s14, s15 80b139e: edc7 7a0f vstr s15, [r7, #60] ; 0x3c p5 = a5 * onebyfftLen; 80b13a2: 463b mov r3, r7 80b13a4: ed97 7a08 vldr s14, [r7, #32] 80b13a8: edd3 7a00 vldr s15, [r3] 80b13ac: ee67 7a27 vmul.f32 s15, s14, s15 80b13b0: edc7 7a0e vstr s15, [r7, #56] ; 0x38 p6 = a6 * onebyfftLen; 80b13b4: 463b mov r3, r7 80b13b6: ed97 7a07 vldr s14, [r7, #28] 80b13ba: edd3 7a00 vldr s15, [r3] 80b13be: ee67 7a27 vmul.f32 s15, s14, s15 80b13c2: edc7 7a05 vstr s15, [r7, #20] p7 = a7 * onebyfftLen; 80b13c6: 463b mov r3, r7 80b13c8: ed97 7a06 vldr s14, [r7, #24] 80b13cc: edd3 7a00 vldr s15, [r3] 80b13d0: ee67 7a27 vmul.f32 s15, s14, s15 80b13d4: edc7 7a04 vstr s15, [r7, #16] /* xa' = (xa+xb+xc+xd) * onebyfftLen */ ptr1[0] = p0; 80b13d8: f8d7 30f0 ldr.w r3, [r7, #240] ; 0xf0 80b13dc: 6cfa ldr r2, [r7, #76] ; 0x4c 80b13de: 601a str r2, [r3, #0] /* ya' = (ya+yb+yc+yd) * onebyfftLen */ ptr1[1] = p1; 80b13e0: f8d7 30f0 ldr.w r3, [r7, #240] ; 0xf0 80b13e4: 3304 adds r3, #4 80b13e6: 6cba ldr r2, [r7, #72] ; 0x48 80b13e8: 601a str r2, [r3, #0] /* xc' = (xa-xb+xc-xd) * onebyfftLen */ ptr1[2] = p2; 80b13ea: f8d7 30f0 ldr.w r3, [r7, #240] ; 0xf0 80b13ee: 3308 adds r3, #8 80b13f0: 6c7a ldr r2, [r7, #68] ; 0x44 80b13f2: 601a str r2, [r3, #0] /* yc' = (ya-yb+yc-yd) * onebyfftLen */ ptr1[3] = p3; 80b13f4: f8d7 30f0 ldr.w r3, [r7, #240] ; 0xf0 80b13f8: 330c adds r3, #12 80b13fa: 6c3a ldr r2, [r7, #64] ; 0x40 80b13fc: 601a str r2, [r3, #0] /* xb' = (xa-yb-xc+yd) * onebyfftLen */ ptr1[4] = p4; 80b13fe: f8d7 30f0 ldr.w r3, [r7, #240] ; 0xf0 80b1402: 3310 adds r3, #16 80b1404: 6bfa ldr r2, [r7, #60] ; 0x3c 80b1406: 601a str r2, [r3, #0] /* yb' = (ya+xb-yc-xd) * onebyfftLen */ ptr1[5] = p5; 80b1408: f8d7 30f0 ldr.w r3, [r7, #240] ; 0xf0 80b140c: 3314 adds r3, #20 80b140e: 6bba ldr r2, [r7, #56] ; 0x38 80b1410: 601a str r2, [r3, #0] /* xd' = (xa-yb-xc+yd) * onebyfftLen */ ptr1[6] = p6; 80b1412: f8d7 30f0 ldr.w r3, [r7, #240] ; 0xf0 80b1416: 3318 adds r3, #24 80b1418: 697a ldr r2, [r7, #20] 80b141a: 601a str r2, [r3, #0] /* yd' = (ya-xb-yc+xd) * onebyfftLen */ ptr1[7] = p7; 80b141c: f8d7 30f0 ldr.w r3, [r7, #240] ; 0xf0 80b1420: 331c adds r3, #28 80b1422: 693a ldr r2, [r7, #16] 80b1424: 601a str r2, [r3, #0] /* increment source pointer by 8 for next calculations */ ptr1 = ptr1 + 8u; 80b1426: f8d7 30f0 ldr.w r3, [r7, #240] ; 0xf0 80b142a: 3320 adds r3, #32 80b142c: f8c7 30f0 str.w r3, [r7, #240] ; 0xf0 } while(--j); 80b1430: f8d7 30f8 ldr.w r3, [r7, #248] ; 0xf8 80b1434: 3b01 subs r3, #1 80b1436: f8c7 30f8 str.w r3, [r7, #248] ; 0xf8 80b143a: f8d7 30f8 ldr.w r3, [r7, #248] ; 0xf8 80b143e: 2b00 cmp r3, #0 80b1440: f47f aeda bne.w 80b11f8 /* yd' = (ya+xb-yc-xd)co3 + (xa-yb-xc+yd)(si3) */ pSrc[(2u * i3) + 1u] = s2 * onebyfftLen; } #endif /* #ifndef ARM_MATH_CM0_FAMILY_FAMILY */ } 80b1444: bf00 nop 80b1446: f507 7786 add.w r7, r7, #268 ; 0x10c 80b144a: 46bd mov sp, r7 80b144c: f85d 7b04 ldr.w r7, [sp], #4 80b1450: 4770 bx lr ... 080b1454 : arm_status arm_cfft_radix4_init_f32( arm_cfft_radix4_instance_f32 * S, uint16_t fftLen, uint8_t ifftFlag, uint8_t bitReverseFlag) { 80b1454: b480 push {r7} 80b1456: b085 sub sp, #20 80b1458: af00 add r7, sp, #0 80b145a: 6078 str r0, [r7, #4] 80b145c: 4608 mov r0, r1 80b145e: 4611 mov r1, r2 80b1460: 461a mov r2, r3 80b1462: 4603 mov r3, r0 80b1464: 807b strh r3, [r7, #2] 80b1466: 460b mov r3, r1 80b1468: 707b strb r3, [r7, #1] 80b146a: 4613 mov r3, r2 80b146c: 703b strb r3, [r7, #0] /* Initialise the default arm status */ arm_status status = ARM_MATH_SUCCESS; 80b146e: 2300 movs r3, #0 80b1470: 73fb strb r3, [r7, #15] /* Initialise the FFT length */ S->fftLen = fftLen; 80b1472: 687b ldr r3, [r7, #4] 80b1474: 887a ldrh r2, [r7, #2] 80b1476: 801a strh r2, [r3, #0] /* Initialise the Twiddle coefficient pointer */ S->pTwiddle = (float32_t *) twiddleCoef; 80b1478: 687b ldr r3, [r7, #4] 80b147a: 4a37 ldr r2, [pc, #220] ; (80b1558 ) 80b147c: 605a str r2, [r3, #4] /* Initialise the Flag for selection of CFFT or CIFFT */ S->ifftFlag = ifftFlag; 80b147e: 687b ldr r3, [r7, #4] 80b1480: 787a ldrb r2, [r7, #1] 80b1482: 709a strb r2, [r3, #2] /* Initialise the Flag for calculation Bit reversal or not */ S->bitReverseFlag = bitReverseFlag; 80b1484: 687b ldr r3, [r7, #4] 80b1486: 783a ldrb r2, [r7, #0] 80b1488: 70da strb r2, [r3, #3] /* Initializations of structure parameters depending on the FFT length */ switch (S->fftLen) 80b148a: 687b ldr r3, [r7, #4] 80b148c: 881b ldrh r3, [r3, #0] 80b148e: f5b3 7f80 cmp.w r3, #256 ; 0x100 80b1492: d029 beq.n 80b14e8 80b1494: f5b3 7f80 cmp.w r3, #256 ; 0x100 80b1498: dc04 bgt.n 80b14a4 80b149a: 2b10 cmp r3, #16 80b149c: d040 beq.n 80b1520 80b149e: 2b40 cmp r3, #64 ; 0x40 80b14a0: d030 beq.n 80b1504 80b14a2: e04d b.n 80b1540 80b14a4: f5b3 6f80 cmp.w r3, #1024 ; 0x400 80b14a8: d010 beq.n 80b14cc 80b14aa: f5b3 5f80 cmp.w r3, #4096 ; 0x1000 80b14ae: d147 bne.n 80b1540 case 4096u: /* Initializations of structure parameters for 4096 point FFT */ /* Initialise the twiddle coef modifier value */ S->twidCoefModifier = 1u; 80b14b0: 687b ldr r3, [r7, #4] 80b14b2: 2201 movs r2, #1 80b14b4: 819a strh r2, [r3, #12] /* Initialise the bit reversal table modifier */ S->bitRevFactor = 1u; 80b14b6: 687b ldr r3, [r7, #4] 80b14b8: 2201 movs r2, #1 80b14ba: 81da strh r2, [r3, #14] /* Initialise the bit reversal table pointer */ S->pBitRevTable = (uint16_t *) armBitRevTable; 80b14bc: 687b ldr r3, [r7, #4] 80b14be: 4a27 ldr r2, [pc, #156] ; (80b155c ) 80b14c0: 609a str r2, [r3, #8] /* Initialise the 1/fftLen Value */ S->onebyfftLen = 0.000244140625; 80b14c2: 687b ldr r3, [r7, #4] 80b14c4: f04f 5266 mov.w r2, #964689920 ; 0x39800000 80b14c8: 611a str r2, [r3, #16] break; 80b14ca: e03c b.n 80b1546 case 1024u: /* Initializations of structure parameters for 1024 point FFT */ /* Initialise the twiddle coef modifier value */ S->twidCoefModifier = 4u; 80b14cc: 687b ldr r3, [r7, #4] 80b14ce: 2204 movs r2, #4 80b14d0: 819a strh r2, [r3, #12] /* Initialise the bit reversal table modifier */ S->bitRevFactor = 4u; 80b14d2: 687b ldr r3, [r7, #4] 80b14d4: 2204 movs r2, #4 80b14d6: 81da strh r2, [r3, #14] /* Initialise the bit reversal table pointer */ S->pBitRevTable = (uint16_t *) & armBitRevTable[3]; 80b14d8: 687b ldr r3, [r7, #4] 80b14da: 4a21 ldr r2, [pc, #132] ; (80b1560 ) 80b14dc: 609a str r2, [r3, #8] /* Initialise the 1/fftLen Value */ S->onebyfftLen = 0.0009765625f; 80b14de: 687b ldr r3, [r7, #4] 80b14e0: f04f 526a mov.w r2, #981467136 ; 0x3a800000 80b14e4: 611a str r2, [r3, #16] break; 80b14e6: e02e b.n 80b1546 case 256u: /* Initializations of structure parameters for 256 point FFT */ S->twidCoefModifier = 16u; 80b14e8: 687b ldr r3, [r7, #4] 80b14ea: 2210 movs r2, #16 80b14ec: 819a strh r2, [r3, #12] S->bitRevFactor = 16u; 80b14ee: 687b ldr r3, [r7, #4] 80b14f0: 2210 movs r2, #16 80b14f2: 81da strh r2, [r3, #14] S->pBitRevTable = (uint16_t *) & armBitRevTable[15]; 80b14f4: 687b ldr r3, [r7, #4] 80b14f6: 4a1b ldr r2, [pc, #108] ; (80b1564 ) 80b14f8: 609a str r2, [r3, #8] S->onebyfftLen = 0.00390625f; 80b14fa: 687b ldr r3, [r7, #4] 80b14fc: f04f 526e mov.w r2, #998244352 ; 0x3b800000 80b1500: 611a str r2, [r3, #16] break; 80b1502: e020 b.n 80b1546 case 64u: /* Initializations of structure parameters for 64 point FFT */ S->twidCoefModifier = 64u; 80b1504: 687b ldr r3, [r7, #4] 80b1506: 2240 movs r2, #64 ; 0x40 80b1508: 819a strh r2, [r3, #12] S->bitRevFactor = 64u; 80b150a: 687b ldr r3, [r7, #4] 80b150c: 2240 movs r2, #64 ; 0x40 80b150e: 81da strh r2, [r3, #14] S->pBitRevTable = (uint16_t *) & armBitRevTable[63]; 80b1510: 687b ldr r3, [r7, #4] 80b1512: 4a15 ldr r2, [pc, #84] ; (80b1568 ) 80b1514: 609a str r2, [r3, #8] S->onebyfftLen = 0.015625f; 80b1516: 687b ldr r3, [r7, #4] 80b1518: f04f 5272 mov.w r2, #1015021568 ; 0x3c800000 80b151c: 611a str r2, [r3, #16] break; 80b151e: e012 b.n 80b1546 case 16u: /* Initializations of structure parameters for 16 point FFT */ S->twidCoefModifier = 256u; 80b1520: 687b ldr r3, [r7, #4] 80b1522: f44f 7280 mov.w r2, #256 ; 0x100 80b1526: 819a strh r2, [r3, #12] S->bitRevFactor = 256u; 80b1528: 687b ldr r3, [r7, #4] 80b152a: f44f 7280 mov.w r2, #256 ; 0x100 80b152e: 81da strh r2, [r3, #14] S->pBitRevTable = (uint16_t *) & armBitRevTable[255]; 80b1530: 687b ldr r3, [r7, #4] 80b1532: 4a0e ldr r2, [pc, #56] ; (80b156c ) 80b1534: 609a str r2, [r3, #8] S->onebyfftLen = 0.0625f; 80b1536: 687b ldr r3, [r7, #4] 80b1538: f04f 5276 mov.w r2, #1031798784 ; 0x3d800000 80b153c: 611a str r2, [r3, #16] break; 80b153e: e002 b.n 80b1546 default: /* Reporting argument error if fftSize is not valid value */ status = ARM_MATH_ARGUMENT_ERROR; 80b1540: 23ff movs r3, #255 ; 0xff 80b1542: 73fb strb r3, [r7, #15] break; 80b1544: bf00 nop } return (status); 80b1546: f997 300f ldrsb.w r3, [r7, #15] } 80b154a: 4618 mov r0, r3 80b154c: 3714 adds r7, #20 80b154e: 46bd mov sp, r7 80b1550: f85d 7b04 ldr.w r7, [sp], #4 80b1554: 4770 bx lr 80b1556: bf00 nop 80b1558: 0817e5d8 .word 0x0817e5d8 80b155c: 08177b84 .word 0x08177b84 80b1560: 08177b8a .word 0x08177b8a 80b1564: 08177ba2 .word 0x08177ba2 80b1568: 08177c02 .word 0x08177c02 80b156c: 08177d82 .word 0x08177d82 080b1570 : void arm_radix8_butterfly_f32( float32_t * pSrc, uint16_t fftLen, const float32_t * pCoef, uint16_t twidCoefModifier) { 80b1570: b480 push {r7} 80b1572: b0bd sub sp, #244 ; 0xf4 80b1574: af00 add r7, sp, #0 80b1576: 60f8 str r0, [r7, #12] 80b1578: 607a str r2, [r7, #4] 80b157a: 461a mov r2, r3 80b157c: 460b mov r3, r1 80b157e: 817b strh r3, [r7, #10] 80b1580: 4613 mov r3, r2 80b1582: 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; 80b1584: 4b09 ldr r3, [pc, #36] ; (80b15ac ) 80b1586: f8c7 30dc str.w r3, [r7, #220] ; 0xdc n2 = fftLen; 80b158a: 897b ldrh r3, [r7, #10] 80b158c: f8c7 30e4 str.w r3, [r7, #228] ; 0xe4 do { n1 = n2; 80b1590: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80b1594: f8c7 30d8 str.w r3, [r7, #216] ; 0xd8 n2 = n2 >> 3; 80b1598: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80b159c: 08db lsrs r3, r3, #3 80b159e: f8c7 30e4 str.w r3, [r7, #228] ; 0xe4 i1 = 0; 80b15a2: 2300 movs r3, #0 80b15a4: f8c7 30e8 str.w r3, [r7, #232] ; 0xe8 80b15a8: e002 b.n 80b15b0 80b15aa: bf00 nop 80b15ac: 3f3504f3 .word 0x3f3504f3 do { i2 = i1 + n2; 80b15b0: f8d7 20e8 ldr.w r2, [r7, #232] ; 0xe8 80b15b4: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80b15b8: 4413 add r3, r2 80b15ba: f8c7 30d4 str.w r3, [r7, #212] ; 0xd4 i3 = i2 + n2; 80b15be: f8d7 20d4 ldr.w r2, [r7, #212] ; 0xd4 80b15c2: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80b15c6: 4413 add r3, r2 80b15c8: f8c7 30d0 str.w r3, [r7, #208] ; 0xd0 i4 = i3 + n2; 80b15cc: f8d7 20d0 ldr.w r2, [r7, #208] ; 0xd0 80b15d0: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80b15d4: 4413 add r3, r2 80b15d6: f8c7 30cc str.w r3, [r7, #204] ; 0xcc i5 = i4 + n2; 80b15da: f8d7 20cc ldr.w r2, [r7, #204] ; 0xcc 80b15de: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80b15e2: 4413 add r3, r2 80b15e4: f8c7 30c8 str.w r3, [r7, #200] ; 0xc8 i6 = i5 + n2; 80b15e8: f8d7 20c8 ldr.w r2, [r7, #200] ; 0xc8 80b15ec: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80b15f0: 4413 add r3, r2 80b15f2: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 i7 = i6 + n2; 80b15f6: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80b15fa: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80b15fe: 4413 add r3, r2 80b1600: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 i8 = i7 + n2; 80b1604: f8d7 20c0 ldr.w r2, [r7, #192] ; 0xc0 80b1608: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80b160c: 4413 add r3, r2 80b160e: f8c7 30bc str.w r3, [r7, #188] ; 0xbc r1 = pSrc[2 * i1] + pSrc[2 * i5]; 80b1612: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b1616: 00db lsls r3, r3, #3 80b1618: 68fa ldr r2, [r7, #12] 80b161a: 4413 add r3, r2 80b161c: ed93 7a00 vldr s14, [r3] 80b1620: f8d7 30c8 ldr.w r3, [r7, #200] ; 0xc8 80b1624: 00db lsls r3, r3, #3 80b1626: 68fa ldr r2, [r7, #12] 80b1628: 4413 add r3, r2 80b162a: edd3 7a00 vldr s15, [r3] 80b162e: ee77 7a27 vadd.f32 s15, s14, s15 80b1632: edc7 7a2e vstr s15, [r7, #184] ; 0xb8 r5 = pSrc[2 * i1] - pSrc[2 * i5]; 80b1636: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b163a: 00db lsls r3, r3, #3 80b163c: 68fa ldr r2, [r7, #12] 80b163e: 4413 add r3, r2 80b1640: ed93 7a00 vldr s14, [r3] 80b1644: f8d7 30c8 ldr.w r3, [r7, #200] ; 0xc8 80b1648: 00db lsls r3, r3, #3 80b164a: 68fa ldr r2, [r7, #12] 80b164c: 4413 add r3, r2 80b164e: edd3 7a00 vldr s15, [r3] 80b1652: ee77 7a67 vsub.f32 s15, s14, s15 80b1656: edc7 7a2d vstr s15, [r7, #180] ; 0xb4 r2 = pSrc[2 * i2] + pSrc[2 * i6]; 80b165a: f8d7 30d4 ldr.w r3, [r7, #212] ; 0xd4 80b165e: 00db lsls r3, r3, #3 80b1660: 68fa ldr r2, [r7, #12] 80b1662: 4413 add r3, r2 80b1664: ed93 7a00 vldr s14, [r3] 80b1668: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80b166c: 00db lsls r3, r3, #3 80b166e: 68fa ldr r2, [r7, #12] 80b1670: 4413 add r3, r2 80b1672: edd3 7a00 vldr s15, [r3] 80b1676: ee77 7a27 vadd.f32 s15, s14, s15 80b167a: edc7 7a2c vstr s15, [r7, #176] ; 0xb0 r6 = pSrc[2 * i2] - pSrc[2 * i6]; 80b167e: f8d7 30d4 ldr.w r3, [r7, #212] ; 0xd4 80b1682: 00db lsls r3, r3, #3 80b1684: 68fa ldr r2, [r7, #12] 80b1686: 4413 add r3, r2 80b1688: ed93 7a00 vldr s14, [r3] 80b168c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80b1690: 00db lsls r3, r3, #3 80b1692: 68fa ldr r2, [r7, #12] 80b1694: 4413 add r3, r2 80b1696: edd3 7a00 vldr s15, [r3] 80b169a: ee77 7a67 vsub.f32 s15, s14, s15 80b169e: edc7 7a2b vstr s15, [r7, #172] ; 0xac r3 = pSrc[2 * i3] + pSrc[2 * i7]; 80b16a2: f8d7 30d0 ldr.w r3, [r7, #208] ; 0xd0 80b16a6: 00db lsls r3, r3, #3 80b16a8: 68fa ldr r2, [r7, #12] 80b16aa: 4413 add r3, r2 80b16ac: ed93 7a00 vldr s14, [r3] 80b16b0: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 80b16b4: 00db lsls r3, r3, #3 80b16b6: 68fa ldr r2, [r7, #12] 80b16b8: 4413 add r3, r2 80b16ba: edd3 7a00 vldr s15, [r3] 80b16be: ee77 7a27 vadd.f32 s15, s14, s15 80b16c2: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 r7 = pSrc[2 * i3] - pSrc[2 * i7]; 80b16c6: f8d7 30d0 ldr.w r3, [r7, #208] ; 0xd0 80b16ca: 00db lsls r3, r3, #3 80b16cc: 68fa ldr r2, [r7, #12] 80b16ce: 4413 add r3, r2 80b16d0: ed93 7a00 vldr s14, [r3] 80b16d4: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 80b16d8: 00db lsls r3, r3, #3 80b16da: 68fa ldr r2, [r7, #12] 80b16dc: 4413 add r3, r2 80b16de: edd3 7a00 vldr s15, [r3] 80b16e2: ee77 7a67 vsub.f32 s15, s14, s15 80b16e6: edc7 7a29 vstr s15, [r7, #164] ; 0xa4 r4 = pSrc[2 * i4] + pSrc[2 * i8]; 80b16ea: f8d7 30cc ldr.w r3, [r7, #204] ; 0xcc 80b16ee: 00db lsls r3, r3, #3 80b16f0: 68fa ldr r2, [r7, #12] 80b16f2: 4413 add r3, r2 80b16f4: ed93 7a00 vldr s14, [r3] 80b16f8: f8d7 30bc ldr.w r3, [r7, #188] ; 0xbc 80b16fc: 00db lsls r3, r3, #3 80b16fe: 68fa ldr r2, [r7, #12] 80b1700: 4413 add r3, r2 80b1702: edd3 7a00 vldr s15, [r3] 80b1706: ee77 7a27 vadd.f32 s15, s14, s15 80b170a: edc7 7a28 vstr s15, [r7, #160] ; 0xa0 r8 = pSrc[2 * i4] - pSrc[2 * i8]; 80b170e: f8d7 30cc ldr.w r3, [r7, #204] ; 0xcc 80b1712: 00db lsls r3, r3, #3 80b1714: 68fa ldr r2, [r7, #12] 80b1716: 4413 add r3, r2 80b1718: ed93 7a00 vldr s14, [r3] 80b171c: f8d7 30bc ldr.w r3, [r7, #188] ; 0xbc 80b1720: 00db lsls r3, r3, #3 80b1722: 68fa ldr r2, [r7, #12] 80b1724: 4413 add r3, r2 80b1726: edd3 7a00 vldr s15, [r3] 80b172a: ee77 7a67 vsub.f32 s15, s14, s15 80b172e: edc7 7a27 vstr s15, [r7, #156] ; 0x9c t1 = r1 - r3; 80b1732: ed97 7a2e vldr s14, [r7, #184] ; 0xb8 80b1736: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 80b173a: ee77 7a67 vsub.f32 s15, s14, s15 80b173e: edc7 7a26 vstr s15, [r7, #152] ; 0x98 r1 = r1 + r3; 80b1742: ed97 7a2e vldr s14, [r7, #184] ; 0xb8 80b1746: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 80b174a: ee77 7a27 vadd.f32 s15, s14, s15 80b174e: edc7 7a2e vstr s15, [r7, #184] ; 0xb8 r3 = r2 - r4; 80b1752: ed97 7a2c vldr s14, [r7, #176] ; 0xb0 80b1756: edd7 7a28 vldr s15, [r7, #160] ; 0xa0 80b175a: ee77 7a67 vsub.f32 s15, s14, s15 80b175e: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 r2 = r2 + r4; 80b1762: ed97 7a2c vldr s14, [r7, #176] ; 0xb0 80b1766: edd7 7a28 vldr s15, [r7, #160] ; 0xa0 80b176a: ee77 7a27 vadd.f32 s15, s14, s15 80b176e: edc7 7a2c vstr s15, [r7, #176] ; 0xb0 pSrc[2 * i1] = r1 + r2; 80b1772: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b1776: 00db lsls r3, r3, #3 80b1778: 68fa ldr r2, [r7, #12] 80b177a: 4413 add r3, r2 80b177c: ed97 7a2e vldr s14, [r7, #184] ; 0xb8 80b1780: edd7 7a2c vldr s15, [r7, #176] ; 0xb0 80b1784: ee77 7a27 vadd.f32 s15, s14, s15 80b1788: edc3 7a00 vstr s15, [r3] pSrc[2 * i5] = r1 - r2; 80b178c: f8d7 30c8 ldr.w r3, [r7, #200] ; 0xc8 80b1790: 00db lsls r3, r3, #3 80b1792: 68fa ldr r2, [r7, #12] 80b1794: 4413 add r3, r2 80b1796: ed97 7a2e vldr s14, [r7, #184] ; 0xb8 80b179a: edd7 7a2c vldr s15, [r7, #176] ; 0xb0 80b179e: ee77 7a67 vsub.f32 s15, s14, s15 80b17a2: edc3 7a00 vstr s15, [r3] r1 = pSrc[2 * i1 + 1] + pSrc[2 * i5 + 1]; 80b17a6: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b17aa: 00db lsls r3, r3, #3 80b17ac: 3304 adds r3, #4 80b17ae: 68fa ldr r2, [r7, #12] 80b17b0: 4413 add r3, r2 80b17b2: ed93 7a00 vldr s14, [r3] 80b17b6: f8d7 30c8 ldr.w r3, [r7, #200] ; 0xc8 80b17ba: 00db lsls r3, r3, #3 80b17bc: 3304 adds r3, #4 80b17be: 68fa ldr r2, [r7, #12] 80b17c0: 4413 add r3, r2 80b17c2: edd3 7a00 vldr s15, [r3] 80b17c6: ee77 7a27 vadd.f32 s15, s14, s15 80b17ca: edc7 7a2e vstr s15, [r7, #184] ; 0xb8 s5 = pSrc[2 * i1 + 1] - pSrc[2 * i5 + 1]; 80b17ce: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b17d2: 00db lsls r3, r3, #3 80b17d4: 3304 adds r3, #4 80b17d6: 68fa ldr r2, [r7, #12] 80b17d8: 4413 add r3, r2 80b17da: ed93 7a00 vldr s14, [r3] 80b17de: f8d7 30c8 ldr.w r3, [r7, #200] ; 0xc8 80b17e2: 00db lsls r3, r3, #3 80b17e4: 3304 adds r3, #4 80b17e6: 68fa ldr r2, [r7, #12] 80b17e8: 4413 add r3, r2 80b17ea: edd3 7a00 vldr s15, [r3] 80b17ee: ee77 7a67 vsub.f32 s15, s14, s15 80b17f2: edc7 7a25 vstr s15, [r7, #148] ; 0x94 r2 = pSrc[2 * i2 + 1] + pSrc[2 * i6 + 1]; 80b17f6: f8d7 30d4 ldr.w r3, [r7, #212] ; 0xd4 80b17fa: 00db lsls r3, r3, #3 80b17fc: 3304 adds r3, #4 80b17fe: 68fa ldr r2, [r7, #12] 80b1800: 4413 add r3, r2 80b1802: ed93 7a00 vldr s14, [r3] 80b1806: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80b180a: 00db lsls r3, r3, #3 80b180c: 3304 adds r3, #4 80b180e: 68fa ldr r2, [r7, #12] 80b1810: 4413 add r3, r2 80b1812: edd3 7a00 vldr s15, [r3] 80b1816: ee77 7a27 vadd.f32 s15, s14, s15 80b181a: edc7 7a2c vstr s15, [r7, #176] ; 0xb0 s6 = pSrc[2 * i2 + 1] - pSrc[2 * i6 + 1]; 80b181e: f8d7 30d4 ldr.w r3, [r7, #212] ; 0xd4 80b1822: 00db lsls r3, r3, #3 80b1824: 3304 adds r3, #4 80b1826: 68fa ldr r2, [r7, #12] 80b1828: 4413 add r3, r2 80b182a: ed93 7a00 vldr s14, [r3] 80b182e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80b1832: 00db lsls r3, r3, #3 80b1834: 3304 adds r3, #4 80b1836: 68fa ldr r2, [r7, #12] 80b1838: 4413 add r3, r2 80b183a: edd3 7a00 vldr s15, [r3] 80b183e: ee77 7a67 vsub.f32 s15, s14, s15 80b1842: edc7 7a24 vstr s15, [r7, #144] ; 0x90 s3 = pSrc[2 * i3 + 1] + pSrc[2 * i7 + 1]; 80b1846: f8d7 30d0 ldr.w r3, [r7, #208] ; 0xd0 80b184a: 00db lsls r3, r3, #3 80b184c: 3304 adds r3, #4 80b184e: 68fa ldr r2, [r7, #12] 80b1850: 4413 add r3, r2 80b1852: ed93 7a00 vldr s14, [r3] 80b1856: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 80b185a: 00db lsls r3, r3, #3 80b185c: 3304 adds r3, #4 80b185e: 68fa ldr r2, [r7, #12] 80b1860: 4413 add r3, r2 80b1862: edd3 7a00 vldr s15, [r3] 80b1866: ee77 7a27 vadd.f32 s15, s14, s15 80b186a: edc7 7a23 vstr s15, [r7, #140] ; 0x8c s7 = pSrc[2 * i3 + 1] - pSrc[2 * i7 + 1]; 80b186e: f8d7 30d0 ldr.w r3, [r7, #208] ; 0xd0 80b1872: 00db lsls r3, r3, #3 80b1874: 3304 adds r3, #4 80b1876: 68fa ldr r2, [r7, #12] 80b1878: 4413 add r3, r2 80b187a: ed93 7a00 vldr s14, [r3] 80b187e: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 80b1882: 00db lsls r3, r3, #3 80b1884: 3304 adds r3, #4 80b1886: 68fa ldr r2, [r7, #12] 80b1888: 4413 add r3, r2 80b188a: edd3 7a00 vldr s15, [r3] 80b188e: ee77 7a67 vsub.f32 s15, s14, s15 80b1892: edc7 7a22 vstr s15, [r7, #136] ; 0x88 r4 = pSrc[2 * i4 + 1] + pSrc[2 * i8 + 1]; 80b1896: f8d7 30cc ldr.w r3, [r7, #204] ; 0xcc 80b189a: 00db lsls r3, r3, #3 80b189c: 3304 adds r3, #4 80b189e: 68fa ldr r2, [r7, #12] 80b18a0: 4413 add r3, r2 80b18a2: ed93 7a00 vldr s14, [r3] 80b18a6: f8d7 30bc ldr.w r3, [r7, #188] ; 0xbc 80b18aa: 00db lsls r3, r3, #3 80b18ac: 3304 adds r3, #4 80b18ae: 68fa ldr r2, [r7, #12] 80b18b0: 4413 add r3, r2 80b18b2: edd3 7a00 vldr s15, [r3] 80b18b6: ee77 7a27 vadd.f32 s15, s14, s15 80b18ba: edc7 7a28 vstr s15, [r7, #160] ; 0xa0 s8 = pSrc[2 * i4 + 1] - pSrc[2 * i8 + 1]; 80b18be: f8d7 30cc ldr.w r3, [r7, #204] ; 0xcc 80b18c2: 00db lsls r3, r3, #3 80b18c4: 3304 adds r3, #4 80b18c6: 68fa ldr r2, [r7, #12] 80b18c8: 4413 add r3, r2 80b18ca: ed93 7a00 vldr s14, [r3] 80b18ce: f8d7 30bc ldr.w r3, [r7, #188] ; 0xbc 80b18d2: 00db lsls r3, r3, #3 80b18d4: 3304 adds r3, #4 80b18d6: 68fa ldr r2, [r7, #12] 80b18d8: 4413 add r3, r2 80b18da: edd3 7a00 vldr s15, [r3] 80b18de: ee77 7a67 vsub.f32 s15, s14, s15 80b18e2: edc7 7a21 vstr s15, [r7, #132] ; 0x84 t2 = r1 - s3; 80b18e6: ed97 7a2e vldr s14, [r7, #184] ; 0xb8 80b18ea: edd7 7a23 vldr s15, [r7, #140] ; 0x8c 80b18ee: ee77 7a67 vsub.f32 s15, s14, s15 80b18f2: edc7 7a20 vstr s15, [r7, #128] ; 0x80 r1 = r1 + s3; 80b18f6: ed97 7a2e vldr s14, [r7, #184] ; 0xb8 80b18fa: edd7 7a23 vldr s15, [r7, #140] ; 0x8c 80b18fe: ee77 7a27 vadd.f32 s15, s14, s15 80b1902: edc7 7a2e vstr s15, [r7, #184] ; 0xb8 s3 = r2 - r4; 80b1906: ed97 7a2c vldr s14, [r7, #176] ; 0xb0 80b190a: edd7 7a28 vldr s15, [r7, #160] ; 0xa0 80b190e: ee77 7a67 vsub.f32 s15, s14, s15 80b1912: edc7 7a23 vstr s15, [r7, #140] ; 0x8c r2 = r2 + r4; 80b1916: ed97 7a2c vldr s14, [r7, #176] ; 0xb0 80b191a: edd7 7a28 vldr s15, [r7, #160] ; 0xa0 80b191e: ee77 7a27 vadd.f32 s15, s14, s15 80b1922: edc7 7a2c vstr s15, [r7, #176] ; 0xb0 pSrc[2 * i1 + 1] = r1 + r2; 80b1926: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b192a: 00db lsls r3, r3, #3 80b192c: 3304 adds r3, #4 80b192e: 68fa ldr r2, [r7, #12] 80b1930: 4413 add r3, r2 80b1932: ed97 7a2e vldr s14, [r7, #184] ; 0xb8 80b1936: edd7 7a2c vldr s15, [r7, #176] ; 0xb0 80b193a: ee77 7a27 vadd.f32 s15, s14, s15 80b193e: edc3 7a00 vstr s15, [r3] pSrc[2 * i5 + 1] = r1 - r2; 80b1942: f8d7 30c8 ldr.w r3, [r7, #200] ; 0xc8 80b1946: 00db lsls r3, r3, #3 80b1948: 3304 adds r3, #4 80b194a: 68fa ldr r2, [r7, #12] 80b194c: 4413 add r3, r2 80b194e: ed97 7a2e vldr s14, [r7, #184] ; 0xb8 80b1952: edd7 7a2c vldr s15, [r7, #176] ; 0xb0 80b1956: ee77 7a67 vsub.f32 s15, s14, s15 80b195a: edc3 7a00 vstr s15, [r3] pSrc[2 * i3] = t1 + s3; 80b195e: f8d7 30d0 ldr.w r3, [r7, #208] ; 0xd0 80b1962: 00db lsls r3, r3, #3 80b1964: 68fa ldr r2, [r7, #12] 80b1966: 4413 add r3, r2 80b1968: ed97 7a26 vldr s14, [r7, #152] ; 0x98 80b196c: edd7 7a23 vldr s15, [r7, #140] ; 0x8c 80b1970: ee77 7a27 vadd.f32 s15, s14, s15 80b1974: edc3 7a00 vstr s15, [r3] pSrc[2 * i7] = t1 - s3; 80b1978: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 80b197c: 00db lsls r3, r3, #3 80b197e: 68fa ldr r2, [r7, #12] 80b1980: 4413 add r3, r2 80b1982: ed97 7a26 vldr s14, [r7, #152] ; 0x98 80b1986: edd7 7a23 vldr s15, [r7, #140] ; 0x8c 80b198a: ee77 7a67 vsub.f32 s15, s14, s15 80b198e: edc3 7a00 vstr s15, [r3] pSrc[2 * i3 + 1] = t2 - r3; 80b1992: f8d7 30d0 ldr.w r3, [r7, #208] ; 0xd0 80b1996: 00db lsls r3, r3, #3 80b1998: 3304 adds r3, #4 80b199a: 68fa ldr r2, [r7, #12] 80b199c: 4413 add r3, r2 80b199e: ed97 7a20 vldr s14, [r7, #128] ; 0x80 80b19a2: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 80b19a6: ee77 7a67 vsub.f32 s15, s14, s15 80b19aa: edc3 7a00 vstr s15, [r3] pSrc[2 * i7 + 1] = t2 + r3; 80b19ae: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 80b19b2: 00db lsls r3, r3, #3 80b19b4: 3304 adds r3, #4 80b19b6: 68fa ldr r2, [r7, #12] 80b19b8: 4413 add r3, r2 80b19ba: ed97 7a20 vldr s14, [r7, #128] ; 0x80 80b19be: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 80b19c2: ee77 7a27 vadd.f32 s15, s14, s15 80b19c6: edc3 7a00 vstr s15, [r3] r1 = (r6 - r8) * C81; 80b19ca: ed97 7a2b vldr s14, [r7, #172] ; 0xac 80b19ce: edd7 7a27 vldr s15, [r7, #156] ; 0x9c 80b19d2: ee37 7a67 vsub.f32 s14, s14, s15 80b19d6: edd7 7a37 vldr s15, [r7, #220] ; 0xdc 80b19da: ee67 7a27 vmul.f32 s15, s14, s15 80b19de: edc7 7a2e vstr s15, [r7, #184] ; 0xb8 r6 = (r6 + r8) * C81; 80b19e2: ed97 7a2b vldr s14, [r7, #172] ; 0xac 80b19e6: edd7 7a27 vldr s15, [r7, #156] ; 0x9c 80b19ea: ee37 7a27 vadd.f32 s14, s14, s15 80b19ee: edd7 7a37 vldr s15, [r7, #220] ; 0xdc 80b19f2: ee67 7a27 vmul.f32 s15, s14, s15 80b19f6: edc7 7a2b vstr s15, [r7, #172] ; 0xac r2 = (s6 - s8) * C81; 80b19fa: ed97 7a24 vldr s14, [r7, #144] ; 0x90 80b19fe: edd7 7a21 vldr s15, [r7, #132] ; 0x84 80b1a02: ee37 7a67 vsub.f32 s14, s14, s15 80b1a06: edd7 7a37 vldr s15, [r7, #220] ; 0xdc 80b1a0a: ee67 7a27 vmul.f32 s15, s14, s15 80b1a0e: edc7 7a2c vstr s15, [r7, #176] ; 0xb0 s6 = (s6 + s8) * C81; 80b1a12: ed97 7a24 vldr s14, [r7, #144] ; 0x90 80b1a16: edd7 7a21 vldr s15, [r7, #132] ; 0x84 80b1a1a: ee37 7a27 vadd.f32 s14, s14, s15 80b1a1e: edd7 7a37 vldr s15, [r7, #220] ; 0xdc 80b1a22: ee67 7a27 vmul.f32 s15, s14, s15 80b1a26: edc7 7a24 vstr s15, [r7, #144] ; 0x90 t1 = r5 - r1; 80b1a2a: ed97 7a2d vldr s14, [r7, #180] ; 0xb4 80b1a2e: edd7 7a2e vldr s15, [r7, #184] ; 0xb8 80b1a32: ee77 7a67 vsub.f32 s15, s14, s15 80b1a36: edc7 7a26 vstr s15, [r7, #152] ; 0x98 r5 = r5 + r1; 80b1a3a: ed97 7a2d vldr s14, [r7, #180] ; 0xb4 80b1a3e: edd7 7a2e vldr s15, [r7, #184] ; 0xb8 80b1a42: ee77 7a27 vadd.f32 s15, s14, s15 80b1a46: edc7 7a2d vstr s15, [r7, #180] ; 0xb4 r8 = r7 - r6; 80b1a4a: ed97 7a29 vldr s14, [r7, #164] ; 0xa4 80b1a4e: edd7 7a2b vldr s15, [r7, #172] ; 0xac 80b1a52: ee77 7a67 vsub.f32 s15, s14, s15 80b1a56: edc7 7a27 vstr s15, [r7, #156] ; 0x9c r7 = r7 + r6; 80b1a5a: ed97 7a29 vldr s14, [r7, #164] ; 0xa4 80b1a5e: edd7 7a2b vldr s15, [r7, #172] ; 0xac 80b1a62: ee77 7a27 vadd.f32 s15, s14, s15 80b1a66: edc7 7a29 vstr s15, [r7, #164] ; 0xa4 t2 = s5 - r2; 80b1a6a: ed97 7a25 vldr s14, [r7, #148] ; 0x94 80b1a6e: edd7 7a2c vldr s15, [r7, #176] ; 0xb0 80b1a72: ee77 7a67 vsub.f32 s15, s14, s15 80b1a76: edc7 7a20 vstr s15, [r7, #128] ; 0x80 s5 = s5 + r2; 80b1a7a: ed97 7a25 vldr s14, [r7, #148] ; 0x94 80b1a7e: edd7 7a2c vldr s15, [r7, #176] ; 0xb0 80b1a82: ee77 7a27 vadd.f32 s15, s14, s15 80b1a86: edc7 7a25 vstr s15, [r7, #148] ; 0x94 s8 = s7 - s6; 80b1a8a: ed97 7a22 vldr s14, [r7, #136] ; 0x88 80b1a8e: edd7 7a24 vldr s15, [r7, #144] ; 0x90 80b1a92: ee77 7a67 vsub.f32 s15, s14, s15 80b1a96: edc7 7a21 vstr s15, [r7, #132] ; 0x84 s7 = s7 + s6; 80b1a9a: ed97 7a22 vldr s14, [r7, #136] ; 0x88 80b1a9e: edd7 7a24 vldr s15, [r7, #144] ; 0x90 80b1aa2: ee77 7a27 vadd.f32 s15, s14, s15 80b1aa6: edc7 7a22 vstr s15, [r7, #136] ; 0x88 pSrc[2 * i2] = r5 + s7; 80b1aaa: f8d7 30d4 ldr.w r3, [r7, #212] ; 0xd4 80b1aae: 00db lsls r3, r3, #3 80b1ab0: 68fa ldr r2, [r7, #12] 80b1ab2: 4413 add r3, r2 80b1ab4: ed97 7a2d vldr s14, [r7, #180] ; 0xb4 80b1ab8: edd7 7a22 vldr s15, [r7, #136] ; 0x88 80b1abc: ee77 7a27 vadd.f32 s15, s14, s15 80b1ac0: edc3 7a00 vstr s15, [r3] pSrc[2 * i8] = r5 - s7; 80b1ac4: f8d7 30bc ldr.w r3, [r7, #188] ; 0xbc 80b1ac8: 00db lsls r3, r3, #3 80b1aca: 68fa ldr r2, [r7, #12] 80b1acc: 4413 add r3, r2 80b1ace: ed97 7a2d vldr s14, [r7, #180] ; 0xb4 80b1ad2: edd7 7a22 vldr s15, [r7, #136] ; 0x88 80b1ad6: ee77 7a67 vsub.f32 s15, s14, s15 80b1ada: edc3 7a00 vstr s15, [r3] pSrc[2 * i6] = t1 + s8; 80b1ade: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80b1ae2: 00db lsls r3, r3, #3 80b1ae4: 68fa ldr r2, [r7, #12] 80b1ae6: 4413 add r3, r2 80b1ae8: ed97 7a26 vldr s14, [r7, #152] ; 0x98 80b1aec: edd7 7a21 vldr s15, [r7, #132] ; 0x84 80b1af0: ee77 7a27 vadd.f32 s15, s14, s15 80b1af4: edc3 7a00 vstr s15, [r3] pSrc[2 * i4] = t1 - s8; 80b1af8: f8d7 30cc ldr.w r3, [r7, #204] ; 0xcc 80b1afc: 00db lsls r3, r3, #3 80b1afe: 68fa ldr r2, [r7, #12] 80b1b00: 4413 add r3, r2 80b1b02: ed97 7a26 vldr s14, [r7, #152] ; 0x98 80b1b06: edd7 7a21 vldr s15, [r7, #132] ; 0x84 80b1b0a: ee77 7a67 vsub.f32 s15, s14, s15 80b1b0e: edc3 7a00 vstr s15, [r3] pSrc[2 * i2 + 1] = s5 - r7; 80b1b12: f8d7 30d4 ldr.w r3, [r7, #212] ; 0xd4 80b1b16: 00db lsls r3, r3, #3 80b1b18: 3304 adds r3, #4 80b1b1a: 68fa ldr r2, [r7, #12] 80b1b1c: 4413 add r3, r2 80b1b1e: ed97 7a25 vldr s14, [r7, #148] ; 0x94 80b1b22: edd7 7a29 vldr s15, [r7, #164] ; 0xa4 80b1b26: ee77 7a67 vsub.f32 s15, s14, s15 80b1b2a: edc3 7a00 vstr s15, [r3] pSrc[2 * i8 + 1] = s5 + r7; 80b1b2e: f8d7 30bc ldr.w r3, [r7, #188] ; 0xbc 80b1b32: 00db lsls r3, r3, #3 80b1b34: 3304 adds r3, #4 80b1b36: 68fa ldr r2, [r7, #12] 80b1b38: 4413 add r3, r2 80b1b3a: ed97 7a25 vldr s14, [r7, #148] ; 0x94 80b1b3e: edd7 7a29 vldr s15, [r7, #164] ; 0xa4 80b1b42: ee77 7a27 vadd.f32 s15, s14, s15 80b1b46: edc3 7a00 vstr s15, [r3] pSrc[2 * i6 + 1] = t2 - r8; 80b1b4a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80b1b4e: 00db lsls r3, r3, #3 80b1b50: 3304 adds r3, #4 80b1b52: 68fa ldr r2, [r7, #12] 80b1b54: 4413 add r3, r2 80b1b56: ed97 7a20 vldr s14, [r7, #128] ; 0x80 80b1b5a: edd7 7a27 vldr s15, [r7, #156] ; 0x9c 80b1b5e: ee77 7a67 vsub.f32 s15, s14, s15 80b1b62: edc3 7a00 vstr s15, [r3] pSrc[2 * i4 + 1] = t2 + r8; 80b1b66: f8d7 30cc ldr.w r3, [r7, #204] ; 0xcc 80b1b6a: 00db lsls r3, r3, #3 80b1b6c: 3304 adds r3, #4 80b1b6e: 68fa ldr r2, [r7, #12] 80b1b70: 4413 add r3, r2 80b1b72: ed97 7a20 vldr s14, [r7, #128] ; 0x80 80b1b76: edd7 7a27 vldr s15, [r7, #156] ; 0x9c 80b1b7a: ee77 7a27 vadd.f32 s15, s14, s15 80b1b7e: edc3 7a00 vstr s15, [r3] i1 += n1; 80b1b82: f8d7 20e8 ldr.w r2, [r7, #232] ; 0xe8 80b1b86: f8d7 30d8 ldr.w r3, [r7, #216] ; 0xd8 80b1b8a: 4413 add r3, r2 80b1b8c: f8c7 30e8 str.w r3, [r7, #232] ; 0xe8 } while(i1 < fftLen); 80b1b90: 897a ldrh r2, [r7, #10] 80b1b92: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b1b96: 429a cmp r2, r3 80b1b98: f63f ad0a bhi.w 80b15b0 if(n2 < 8) 80b1b9c: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80b1ba0: 2b07 cmp r3, #7 80b1ba2: f240 84e3 bls.w 80b256c break; ia1 = 0; 80b1ba6: 2300 movs r3, #0 80b1ba8: f8c7 30ec str.w r3, [r7, #236] ; 0xec j = 1; 80b1bac: 2301 movs r3, #1 80b1bae: f8c7 30e0 str.w r3, [r7, #224] ; 0xe0 do { /* index calculation for the coefficients */ id = ia1 + twidCoefModifier; 80b1bb2: 893a ldrh r2, [r7, #8] 80b1bb4: f8d7 30ec ldr.w r3, [r7, #236] ; 0xec 80b1bb8: 4413 add r3, r2 80b1bba: 67fb str r3, [r7, #124] ; 0x7c ia1 = id; 80b1bbc: 6ffb ldr r3, [r7, #124] ; 0x7c 80b1bbe: f8c7 30ec str.w r3, [r7, #236] ; 0xec ia2 = ia1 + id; 80b1bc2: f8d7 20ec ldr.w r2, [r7, #236] ; 0xec 80b1bc6: 6ffb ldr r3, [r7, #124] ; 0x7c 80b1bc8: 4413 add r3, r2 80b1bca: 67bb str r3, [r7, #120] ; 0x78 ia3 = ia2 + id; 80b1bcc: 6fba ldr r2, [r7, #120] ; 0x78 80b1bce: 6ffb ldr r3, [r7, #124] ; 0x7c 80b1bd0: 4413 add r3, r2 80b1bd2: 677b str r3, [r7, #116] ; 0x74 ia4 = ia3 + id; 80b1bd4: 6f7a ldr r2, [r7, #116] ; 0x74 80b1bd6: 6ffb ldr r3, [r7, #124] ; 0x7c 80b1bd8: 4413 add r3, r2 80b1bda: 673b str r3, [r7, #112] ; 0x70 ia5 = ia4 + id; 80b1bdc: 6f3a ldr r2, [r7, #112] ; 0x70 80b1bde: 6ffb ldr r3, [r7, #124] ; 0x7c 80b1be0: 4413 add r3, r2 80b1be2: 66fb str r3, [r7, #108] ; 0x6c ia6 = ia5 + id; 80b1be4: 6efa ldr r2, [r7, #108] ; 0x6c 80b1be6: 6ffb ldr r3, [r7, #124] ; 0x7c 80b1be8: 4413 add r3, r2 80b1bea: 66bb str r3, [r7, #104] ; 0x68 ia7 = ia6 + id; 80b1bec: 6eba ldr r2, [r7, #104] ; 0x68 80b1bee: 6ffb ldr r3, [r7, #124] ; 0x7c 80b1bf0: 4413 add r3, r2 80b1bf2: 667b str r3, [r7, #100] ; 0x64 co2 = pCoef[2 * ia1]; 80b1bf4: f8d7 30ec ldr.w r3, [r7, #236] ; 0xec 80b1bf8: 00db lsls r3, r3, #3 80b1bfa: 687a ldr r2, [r7, #4] 80b1bfc: 4413 add r3, r2 80b1bfe: 681b ldr r3, [r3, #0] 80b1c00: 663b str r3, [r7, #96] ; 0x60 co3 = pCoef[2 * ia2]; 80b1c02: 6fbb ldr r3, [r7, #120] ; 0x78 80b1c04: 00db lsls r3, r3, #3 80b1c06: 687a ldr r2, [r7, #4] 80b1c08: 4413 add r3, r2 80b1c0a: 681b ldr r3, [r3, #0] 80b1c0c: 65fb str r3, [r7, #92] ; 0x5c co4 = pCoef[2 * ia3]; 80b1c0e: 6f7b ldr r3, [r7, #116] ; 0x74 80b1c10: 00db lsls r3, r3, #3 80b1c12: 687a ldr r2, [r7, #4] 80b1c14: 4413 add r3, r2 80b1c16: 681b ldr r3, [r3, #0] 80b1c18: 65bb str r3, [r7, #88] ; 0x58 co5 = pCoef[2 * ia4]; 80b1c1a: 6f3b ldr r3, [r7, #112] ; 0x70 80b1c1c: 00db lsls r3, r3, #3 80b1c1e: 687a ldr r2, [r7, #4] 80b1c20: 4413 add r3, r2 80b1c22: 681b ldr r3, [r3, #0] 80b1c24: 657b str r3, [r7, #84] ; 0x54 co6 = pCoef[2 * ia5]; 80b1c26: 6efb ldr r3, [r7, #108] ; 0x6c 80b1c28: 00db lsls r3, r3, #3 80b1c2a: 687a ldr r2, [r7, #4] 80b1c2c: 4413 add r3, r2 80b1c2e: 681b ldr r3, [r3, #0] 80b1c30: 653b str r3, [r7, #80] ; 0x50 co7 = pCoef[2 * ia6]; 80b1c32: 6ebb ldr r3, [r7, #104] ; 0x68 80b1c34: 00db lsls r3, r3, #3 80b1c36: 687a ldr r2, [r7, #4] 80b1c38: 4413 add r3, r2 80b1c3a: 681b ldr r3, [r3, #0] 80b1c3c: 64fb str r3, [r7, #76] ; 0x4c co8 = pCoef[2 * ia7]; 80b1c3e: 6e7b ldr r3, [r7, #100] ; 0x64 80b1c40: 00db lsls r3, r3, #3 80b1c42: 687a ldr r2, [r7, #4] 80b1c44: 4413 add r3, r2 80b1c46: 681b ldr r3, [r3, #0] 80b1c48: 64bb str r3, [r7, #72] ; 0x48 si2 = pCoef[2 * ia1 + 1]; 80b1c4a: f8d7 30ec ldr.w r3, [r7, #236] ; 0xec 80b1c4e: 00db lsls r3, r3, #3 80b1c50: 3304 adds r3, #4 80b1c52: 687a ldr r2, [r7, #4] 80b1c54: 4413 add r3, r2 80b1c56: 681b ldr r3, [r3, #0] 80b1c58: 647b str r3, [r7, #68] ; 0x44 si3 = pCoef[2 * ia2 + 1]; 80b1c5a: 6fbb ldr r3, [r7, #120] ; 0x78 80b1c5c: 00db lsls r3, r3, #3 80b1c5e: 3304 adds r3, #4 80b1c60: 687a ldr r2, [r7, #4] 80b1c62: 4413 add r3, r2 80b1c64: 681b ldr r3, [r3, #0] 80b1c66: 643b str r3, [r7, #64] ; 0x40 si4 = pCoef[2 * ia3 + 1]; 80b1c68: 6f7b ldr r3, [r7, #116] ; 0x74 80b1c6a: 00db lsls r3, r3, #3 80b1c6c: 3304 adds r3, #4 80b1c6e: 687a ldr r2, [r7, #4] 80b1c70: 4413 add r3, r2 80b1c72: 681b ldr r3, [r3, #0] 80b1c74: 63fb str r3, [r7, #60] ; 0x3c si5 = pCoef[2 * ia4 + 1]; 80b1c76: 6f3b ldr r3, [r7, #112] ; 0x70 80b1c78: 00db lsls r3, r3, #3 80b1c7a: 3304 adds r3, #4 80b1c7c: 687a ldr r2, [r7, #4] 80b1c7e: 4413 add r3, r2 80b1c80: 681b ldr r3, [r3, #0] 80b1c82: 63bb str r3, [r7, #56] ; 0x38 si6 = pCoef[2 * ia5 + 1]; 80b1c84: 6efb ldr r3, [r7, #108] ; 0x6c 80b1c86: 00db lsls r3, r3, #3 80b1c88: 3304 adds r3, #4 80b1c8a: 687a ldr r2, [r7, #4] 80b1c8c: 4413 add r3, r2 80b1c8e: 681b ldr r3, [r3, #0] 80b1c90: 637b str r3, [r7, #52] ; 0x34 si7 = pCoef[2 * ia6 + 1]; 80b1c92: 6ebb ldr r3, [r7, #104] ; 0x68 80b1c94: 00db lsls r3, r3, #3 80b1c96: 3304 adds r3, #4 80b1c98: 687a ldr r2, [r7, #4] 80b1c9a: 4413 add r3, r2 80b1c9c: 681b ldr r3, [r3, #0] 80b1c9e: 633b str r3, [r7, #48] ; 0x30 si8 = pCoef[2 * ia7 + 1]; 80b1ca0: 6e7b ldr r3, [r7, #100] ; 0x64 80b1ca2: 00db lsls r3, r3, #3 80b1ca4: 3304 adds r3, #4 80b1ca6: 687a ldr r2, [r7, #4] 80b1ca8: 4413 add r3, r2 80b1caa: 681b ldr r3, [r3, #0] 80b1cac: 62fb str r3, [r7, #44] ; 0x2c i1 = j; 80b1cae: f8d7 30e0 ldr.w r3, [r7, #224] ; 0xe0 80b1cb2: f8c7 30e8 str.w r3, [r7, #232] ; 0xe8 do { /* index calculation for the input */ i2 = i1 + n2; 80b1cb6: f8d7 20e8 ldr.w r2, [r7, #232] ; 0xe8 80b1cba: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80b1cbe: 4413 add r3, r2 80b1cc0: f8c7 30d4 str.w r3, [r7, #212] ; 0xd4 i3 = i2 + n2; 80b1cc4: f8d7 20d4 ldr.w r2, [r7, #212] ; 0xd4 80b1cc8: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80b1ccc: 4413 add r3, r2 80b1cce: f8c7 30d0 str.w r3, [r7, #208] ; 0xd0 i4 = i3 + n2; 80b1cd2: f8d7 20d0 ldr.w r2, [r7, #208] ; 0xd0 80b1cd6: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80b1cda: 4413 add r3, r2 80b1cdc: f8c7 30cc str.w r3, [r7, #204] ; 0xcc i5 = i4 + n2; 80b1ce0: f8d7 20cc ldr.w r2, [r7, #204] ; 0xcc 80b1ce4: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80b1ce8: 4413 add r3, r2 80b1cea: f8c7 30c8 str.w r3, [r7, #200] ; 0xc8 i6 = i5 + n2; 80b1cee: f8d7 20c8 ldr.w r2, [r7, #200] ; 0xc8 80b1cf2: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80b1cf6: 4413 add r3, r2 80b1cf8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 i7 = i6 + n2; 80b1cfc: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80b1d00: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80b1d04: 4413 add r3, r2 80b1d06: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 i8 = i7 + n2; 80b1d0a: f8d7 20c0 ldr.w r2, [r7, #192] ; 0xc0 80b1d0e: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80b1d12: 4413 add r3, r2 80b1d14: f8c7 30bc str.w r3, [r7, #188] ; 0xbc r1 = pSrc[2 * i1] + pSrc[2 * i5]; 80b1d18: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b1d1c: 00db lsls r3, r3, #3 80b1d1e: 68fa ldr r2, [r7, #12] 80b1d20: 4413 add r3, r2 80b1d22: ed93 7a00 vldr s14, [r3] 80b1d26: f8d7 30c8 ldr.w r3, [r7, #200] ; 0xc8 80b1d2a: 00db lsls r3, r3, #3 80b1d2c: 68fa ldr r2, [r7, #12] 80b1d2e: 4413 add r3, r2 80b1d30: edd3 7a00 vldr s15, [r3] 80b1d34: ee77 7a27 vadd.f32 s15, s14, s15 80b1d38: edc7 7a2e vstr s15, [r7, #184] ; 0xb8 r5 = pSrc[2 * i1] - pSrc[2 * i5]; 80b1d3c: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b1d40: 00db lsls r3, r3, #3 80b1d42: 68fa ldr r2, [r7, #12] 80b1d44: 4413 add r3, r2 80b1d46: ed93 7a00 vldr s14, [r3] 80b1d4a: f8d7 30c8 ldr.w r3, [r7, #200] ; 0xc8 80b1d4e: 00db lsls r3, r3, #3 80b1d50: 68fa ldr r2, [r7, #12] 80b1d52: 4413 add r3, r2 80b1d54: edd3 7a00 vldr s15, [r3] 80b1d58: ee77 7a67 vsub.f32 s15, s14, s15 80b1d5c: edc7 7a2d vstr s15, [r7, #180] ; 0xb4 r2 = pSrc[2 * i2] + pSrc[2 * i6]; 80b1d60: f8d7 30d4 ldr.w r3, [r7, #212] ; 0xd4 80b1d64: 00db lsls r3, r3, #3 80b1d66: 68fa ldr r2, [r7, #12] 80b1d68: 4413 add r3, r2 80b1d6a: ed93 7a00 vldr s14, [r3] 80b1d6e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80b1d72: 00db lsls r3, r3, #3 80b1d74: 68fa ldr r2, [r7, #12] 80b1d76: 4413 add r3, r2 80b1d78: edd3 7a00 vldr s15, [r3] 80b1d7c: ee77 7a27 vadd.f32 s15, s14, s15 80b1d80: edc7 7a2c vstr s15, [r7, #176] ; 0xb0 r6 = pSrc[2 * i2] - pSrc[2 * i6]; 80b1d84: f8d7 30d4 ldr.w r3, [r7, #212] ; 0xd4 80b1d88: 00db lsls r3, r3, #3 80b1d8a: 68fa ldr r2, [r7, #12] 80b1d8c: 4413 add r3, r2 80b1d8e: ed93 7a00 vldr s14, [r3] 80b1d92: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80b1d96: 00db lsls r3, r3, #3 80b1d98: 68fa ldr r2, [r7, #12] 80b1d9a: 4413 add r3, r2 80b1d9c: edd3 7a00 vldr s15, [r3] 80b1da0: ee77 7a67 vsub.f32 s15, s14, s15 80b1da4: edc7 7a2b vstr s15, [r7, #172] ; 0xac r3 = pSrc[2 * i3] + pSrc[2 * i7]; 80b1da8: f8d7 30d0 ldr.w r3, [r7, #208] ; 0xd0 80b1dac: 00db lsls r3, r3, #3 80b1dae: 68fa ldr r2, [r7, #12] 80b1db0: 4413 add r3, r2 80b1db2: ed93 7a00 vldr s14, [r3] 80b1db6: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 80b1dba: 00db lsls r3, r3, #3 80b1dbc: 68fa ldr r2, [r7, #12] 80b1dbe: 4413 add r3, r2 80b1dc0: edd3 7a00 vldr s15, [r3] 80b1dc4: ee77 7a27 vadd.f32 s15, s14, s15 80b1dc8: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 r7 = pSrc[2 * i3] - pSrc[2 * i7]; 80b1dcc: f8d7 30d0 ldr.w r3, [r7, #208] ; 0xd0 80b1dd0: 00db lsls r3, r3, #3 80b1dd2: 68fa ldr r2, [r7, #12] 80b1dd4: 4413 add r3, r2 80b1dd6: ed93 7a00 vldr s14, [r3] 80b1dda: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 80b1dde: 00db lsls r3, r3, #3 80b1de0: 68fa ldr r2, [r7, #12] 80b1de2: 4413 add r3, r2 80b1de4: edd3 7a00 vldr s15, [r3] 80b1de8: ee77 7a67 vsub.f32 s15, s14, s15 80b1dec: edc7 7a29 vstr s15, [r7, #164] ; 0xa4 r4 = pSrc[2 * i4] + pSrc[2 * i8]; 80b1df0: f8d7 30cc ldr.w r3, [r7, #204] ; 0xcc 80b1df4: 00db lsls r3, r3, #3 80b1df6: 68fa ldr r2, [r7, #12] 80b1df8: 4413 add r3, r2 80b1dfa: ed93 7a00 vldr s14, [r3] 80b1dfe: f8d7 30bc ldr.w r3, [r7, #188] ; 0xbc 80b1e02: 00db lsls r3, r3, #3 80b1e04: 68fa ldr r2, [r7, #12] 80b1e06: 4413 add r3, r2 80b1e08: edd3 7a00 vldr s15, [r3] 80b1e0c: ee77 7a27 vadd.f32 s15, s14, s15 80b1e10: edc7 7a28 vstr s15, [r7, #160] ; 0xa0 r8 = pSrc[2 * i4] - pSrc[2 * i8]; 80b1e14: f8d7 30cc ldr.w r3, [r7, #204] ; 0xcc 80b1e18: 00db lsls r3, r3, #3 80b1e1a: 68fa ldr r2, [r7, #12] 80b1e1c: 4413 add r3, r2 80b1e1e: ed93 7a00 vldr s14, [r3] 80b1e22: f8d7 30bc ldr.w r3, [r7, #188] ; 0xbc 80b1e26: 00db lsls r3, r3, #3 80b1e28: 68fa ldr r2, [r7, #12] 80b1e2a: 4413 add r3, r2 80b1e2c: edd3 7a00 vldr s15, [r3] 80b1e30: ee77 7a67 vsub.f32 s15, s14, s15 80b1e34: edc7 7a27 vstr s15, [r7, #156] ; 0x9c t1 = r1 - r3; 80b1e38: ed97 7a2e vldr s14, [r7, #184] ; 0xb8 80b1e3c: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 80b1e40: ee77 7a67 vsub.f32 s15, s14, s15 80b1e44: edc7 7a26 vstr s15, [r7, #152] ; 0x98 r1 = r1 + r3; 80b1e48: ed97 7a2e vldr s14, [r7, #184] ; 0xb8 80b1e4c: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 80b1e50: ee77 7a27 vadd.f32 s15, s14, s15 80b1e54: edc7 7a2e vstr s15, [r7, #184] ; 0xb8 r3 = r2 - r4; 80b1e58: ed97 7a2c vldr s14, [r7, #176] ; 0xb0 80b1e5c: edd7 7a28 vldr s15, [r7, #160] ; 0xa0 80b1e60: ee77 7a67 vsub.f32 s15, s14, s15 80b1e64: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 r2 = r2 + r4; 80b1e68: ed97 7a2c vldr s14, [r7, #176] ; 0xb0 80b1e6c: edd7 7a28 vldr s15, [r7, #160] ; 0xa0 80b1e70: ee77 7a27 vadd.f32 s15, s14, s15 80b1e74: edc7 7a2c vstr s15, [r7, #176] ; 0xb0 pSrc[2 * i1] = r1 + r2; 80b1e78: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b1e7c: 00db lsls r3, r3, #3 80b1e7e: 68fa ldr r2, [r7, #12] 80b1e80: 4413 add r3, r2 80b1e82: ed97 7a2e vldr s14, [r7, #184] ; 0xb8 80b1e86: edd7 7a2c vldr s15, [r7, #176] ; 0xb0 80b1e8a: ee77 7a27 vadd.f32 s15, s14, s15 80b1e8e: edc3 7a00 vstr s15, [r3] r2 = r1 - r2; 80b1e92: ed97 7a2e vldr s14, [r7, #184] ; 0xb8 80b1e96: edd7 7a2c vldr s15, [r7, #176] ; 0xb0 80b1e9a: ee77 7a67 vsub.f32 s15, s14, s15 80b1e9e: edc7 7a2c vstr s15, [r7, #176] ; 0xb0 s1 = pSrc[2 * i1 + 1] + pSrc[2 * i5 + 1]; 80b1ea2: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b1ea6: 00db lsls r3, r3, #3 80b1ea8: 3304 adds r3, #4 80b1eaa: 68fa ldr r2, [r7, #12] 80b1eac: 4413 add r3, r2 80b1eae: ed93 7a00 vldr s14, [r3] 80b1eb2: f8d7 30c8 ldr.w r3, [r7, #200] ; 0xc8 80b1eb6: 00db lsls r3, r3, #3 80b1eb8: 3304 adds r3, #4 80b1eba: 68fa ldr r2, [r7, #12] 80b1ebc: 4413 add r3, r2 80b1ebe: edd3 7a00 vldr s15, [r3] 80b1ec2: ee77 7a27 vadd.f32 s15, s14, s15 80b1ec6: edc7 7a0a vstr s15, [r7, #40] ; 0x28 s5 = pSrc[2 * i1 + 1] - pSrc[2 * i5 + 1]; 80b1eca: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b1ece: 00db lsls r3, r3, #3 80b1ed0: 3304 adds r3, #4 80b1ed2: 68fa ldr r2, [r7, #12] 80b1ed4: 4413 add r3, r2 80b1ed6: ed93 7a00 vldr s14, [r3] 80b1eda: f8d7 30c8 ldr.w r3, [r7, #200] ; 0xc8 80b1ede: 00db lsls r3, r3, #3 80b1ee0: 3304 adds r3, #4 80b1ee2: 68fa ldr r2, [r7, #12] 80b1ee4: 4413 add r3, r2 80b1ee6: edd3 7a00 vldr s15, [r3] 80b1eea: ee77 7a67 vsub.f32 s15, s14, s15 80b1eee: edc7 7a25 vstr s15, [r7, #148] ; 0x94 s2 = pSrc[2 * i2 + 1] + pSrc[2 * i6 + 1]; 80b1ef2: f8d7 30d4 ldr.w r3, [r7, #212] ; 0xd4 80b1ef6: 00db lsls r3, r3, #3 80b1ef8: 3304 adds r3, #4 80b1efa: 68fa ldr r2, [r7, #12] 80b1efc: 4413 add r3, r2 80b1efe: ed93 7a00 vldr s14, [r3] 80b1f02: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80b1f06: 00db lsls r3, r3, #3 80b1f08: 3304 adds r3, #4 80b1f0a: 68fa ldr r2, [r7, #12] 80b1f0c: 4413 add r3, r2 80b1f0e: edd3 7a00 vldr s15, [r3] 80b1f12: ee77 7a27 vadd.f32 s15, s14, s15 80b1f16: edc7 7a09 vstr s15, [r7, #36] ; 0x24 s6 = pSrc[2 * i2 + 1] - pSrc[2 * i6 + 1]; 80b1f1a: f8d7 30d4 ldr.w r3, [r7, #212] ; 0xd4 80b1f1e: 00db lsls r3, r3, #3 80b1f20: 3304 adds r3, #4 80b1f22: 68fa ldr r2, [r7, #12] 80b1f24: 4413 add r3, r2 80b1f26: ed93 7a00 vldr s14, [r3] 80b1f2a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80b1f2e: 00db lsls r3, r3, #3 80b1f30: 3304 adds r3, #4 80b1f32: 68fa ldr r2, [r7, #12] 80b1f34: 4413 add r3, r2 80b1f36: edd3 7a00 vldr s15, [r3] 80b1f3a: ee77 7a67 vsub.f32 s15, s14, s15 80b1f3e: edc7 7a24 vstr s15, [r7, #144] ; 0x90 s3 = pSrc[2 * i3 + 1] + pSrc[2 * i7 + 1]; 80b1f42: f8d7 30d0 ldr.w r3, [r7, #208] ; 0xd0 80b1f46: 00db lsls r3, r3, #3 80b1f48: 3304 adds r3, #4 80b1f4a: 68fa ldr r2, [r7, #12] 80b1f4c: 4413 add r3, r2 80b1f4e: ed93 7a00 vldr s14, [r3] 80b1f52: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 80b1f56: 00db lsls r3, r3, #3 80b1f58: 3304 adds r3, #4 80b1f5a: 68fa ldr r2, [r7, #12] 80b1f5c: 4413 add r3, r2 80b1f5e: edd3 7a00 vldr s15, [r3] 80b1f62: ee77 7a27 vadd.f32 s15, s14, s15 80b1f66: edc7 7a23 vstr s15, [r7, #140] ; 0x8c s7 = pSrc[2 * i3 + 1] - pSrc[2 * i7 + 1]; 80b1f6a: f8d7 30d0 ldr.w r3, [r7, #208] ; 0xd0 80b1f6e: 00db lsls r3, r3, #3 80b1f70: 3304 adds r3, #4 80b1f72: 68fa ldr r2, [r7, #12] 80b1f74: 4413 add r3, r2 80b1f76: ed93 7a00 vldr s14, [r3] 80b1f7a: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 80b1f7e: 00db lsls r3, r3, #3 80b1f80: 3304 adds r3, #4 80b1f82: 68fa ldr r2, [r7, #12] 80b1f84: 4413 add r3, r2 80b1f86: edd3 7a00 vldr s15, [r3] 80b1f8a: ee77 7a67 vsub.f32 s15, s14, s15 80b1f8e: edc7 7a22 vstr s15, [r7, #136] ; 0x88 s4 = pSrc[2 * i4 + 1] + pSrc[2 * i8 + 1]; 80b1f92: f8d7 30cc ldr.w r3, [r7, #204] ; 0xcc 80b1f96: 00db lsls r3, r3, #3 80b1f98: 3304 adds r3, #4 80b1f9a: 68fa ldr r2, [r7, #12] 80b1f9c: 4413 add r3, r2 80b1f9e: ed93 7a00 vldr s14, [r3] 80b1fa2: f8d7 30bc ldr.w r3, [r7, #188] ; 0xbc 80b1fa6: 00db lsls r3, r3, #3 80b1fa8: 3304 adds r3, #4 80b1faa: 68fa ldr r2, [r7, #12] 80b1fac: 4413 add r3, r2 80b1fae: edd3 7a00 vldr s15, [r3] 80b1fb2: ee77 7a27 vadd.f32 s15, s14, s15 80b1fb6: edc7 7a08 vstr s15, [r7, #32] s8 = pSrc[2 * i4 + 1] - pSrc[2 * i8 + 1]; 80b1fba: f8d7 30cc ldr.w r3, [r7, #204] ; 0xcc 80b1fbe: 00db lsls r3, r3, #3 80b1fc0: 3304 adds r3, #4 80b1fc2: 68fa ldr r2, [r7, #12] 80b1fc4: 4413 add r3, r2 80b1fc6: ed93 7a00 vldr s14, [r3] 80b1fca: f8d7 30bc ldr.w r3, [r7, #188] ; 0xbc 80b1fce: 00db lsls r3, r3, #3 80b1fd0: 3304 adds r3, #4 80b1fd2: 68fa ldr r2, [r7, #12] 80b1fd4: 4413 add r3, r2 80b1fd6: edd3 7a00 vldr s15, [r3] 80b1fda: ee77 7a67 vsub.f32 s15, s14, s15 80b1fde: edc7 7a21 vstr s15, [r7, #132] ; 0x84 t2 = s1 - s3; 80b1fe2: ed97 7a0a vldr s14, [r7, #40] ; 0x28 80b1fe6: edd7 7a23 vldr s15, [r7, #140] ; 0x8c 80b1fea: ee77 7a67 vsub.f32 s15, s14, s15 80b1fee: edc7 7a20 vstr s15, [r7, #128] ; 0x80 s1 = s1 + s3; 80b1ff2: ed97 7a0a vldr s14, [r7, #40] ; 0x28 80b1ff6: edd7 7a23 vldr s15, [r7, #140] ; 0x8c 80b1ffa: ee77 7a27 vadd.f32 s15, s14, s15 80b1ffe: edc7 7a0a vstr s15, [r7, #40] ; 0x28 s3 = s2 - s4; 80b2002: ed97 7a09 vldr s14, [r7, #36] ; 0x24 80b2006: edd7 7a08 vldr s15, [r7, #32] 80b200a: ee77 7a67 vsub.f32 s15, s14, s15 80b200e: edc7 7a23 vstr s15, [r7, #140] ; 0x8c s2 = s2 + s4; 80b2012: ed97 7a09 vldr s14, [r7, #36] ; 0x24 80b2016: edd7 7a08 vldr s15, [r7, #32] 80b201a: ee77 7a27 vadd.f32 s15, s14, s15 80b201e: edc7 7a09 vstr s15, [r7, #36] ; 0x24 r1 = t1 + s3; 80b2022: ed97 7a26 vldr s14, [r7, #152] ; 0x98 80b2026: edd7 7a23 vldr s15, [r7, #140] ; 0x8c 80b202a: ee77 7a27 vadd.f32 s15, s14, s15 80b202e: edc7 7a2e vstr s15, [r7, #184] ; 0xb8 t1 = t1 - s3; 80b2032: ed97 7a26 vldr s14, [r7, #152] ; 0x98 80b2036: edd7 7a23 vldr s15, [r7, #140] ; 0x8c 80b203a: ee77 7a67 vsub.f32 s15, s14, s15 80b203e: edc7 7a26 vstr s15, [r7, #152] ; 0x98 pSrc[2 * i1 + 1] = s1 + s2; 80b2042: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b2046: 00db lsls r3, r3, #3 80b2048: 3304 adds r3, #4 80b204a: 68fa ldr r2, [r7, #12] 80b204c: 4413 add r3, r2 80b204e: ed97 7a0a vldr s14, [r7, #40] ; 0x28 80b2052: edd7 7a09 vldr s15, [r7, #36] ; 0x24 80b2056: ee77 7a27 vadd.f32 s15, s14, s15 80b205a: edc3 7a00 vstr s15, [r3] s2 = s1 - s2; 80b205e: ed97 7a0a vldr s14, [r7, #40] ; 0x28 80b2062: edd7 7a09 vldr s15, [r7, #36] ; 0x24 80b2066: ee77 7a67 vsub.f32 s15, s14, s15 80b206a: edc7 7a09 vstr s15, [r7, #36] ; 0x24 s1 = t2 - r3; 80b206e: ed97 7a20 vldr s14, [r7, #128] ; 0x80 80b2072: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 80b2076: ee77 7a67 vsub.f32 s15, s14, s15 80b207a: edc7 7a0a vstr s15, [r7, #40] ; 0x28 t2 = t2 + r3; 80b207e: ed97 7a20 vldr s14, [r7, #128] ; 0x80 80b2082: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 80b2086: ee77 7a27 vadd.f32 s15, s14, s15 80b208a: edc7 7a20 vstr s15, [r7, #128] ; 0x80 p1 = co5 * r2; 80b208e: ed97 7a15 vldr s14, [r7, #84] ; 0x54 80b2092: edd7 7a2c vldr s15, [r7, #176] ; 0xb0 80b2096: ee67 7a27 vmul.f32 s15, s14, s15 80b209a: edc7 7a07 vstr s15, [r7, #28] p2 = si5 * s2; 80b209e: ed97 7a0e vldr s14, [r7, #56] ; 0x38 80b20a2: edd7 7a09 vldr s15, [r7, #36] ; 0x24 80b20a6: ee67 7a27 vmul.f32 s15, s14, s15 80b20aa: edc7 7a06 vstr s15, [r7, #24] p3 = co5 * s2; 80b20ae: ed97 7a15 vldr s14, [r7, #84] ; 0x54 80b20b2: edd7 7a09 vldr s15, [r7, #36] ; 0x24 80b20b6: ee67 7a27 vmul.f32 s15, s14, s15 80b20ba: edc7 7a05 vstr s15, [r7, #20] p4 = si5 * r2; 80b20be: ed97 7a0e vldr s14, [r7, #56] ; 0x38 80b20c2: edd7 7a2c vldr s15, [r7, #176] ; 0xb0 80b20c6: ee67 7a27 vmul.f32 s15, s14, s15 80b20ca: edc7 7a04 vstr s15, [r7, #16] pSrc[2 * i5] = p1 + p2; 80b20ce: f8d7 30c8 ldr.w r3, [r7, #200] ; 0xc8 80b20d2: 00db lsls r3, r3, #3 80b20d4: 68fa ldr r2, [r7, #12] 80b20d6: 4413 add r3, r2 80b20d8: ed97 7a07 vldr s14, [r7, #28] 80b20dc: edd7 7a06 vldr s15, [r7, #24] 80b20e0: ee77 7a27 vadd.f32 s15, s14, s15 80b20e4: edc3 7a00 vstr s15, [r3] pSrc[2 * i5 + 1] = p3 - p4; 80b20e8: f8d7 30c8 ldr.w r3, [r7, #200] ; 0xc8 80b20ec: 00db lsls r3, r3, #3 80b20ee: 3304 adds r3, #4 80b20f0: 68fa ldr r2, [r7, #12] 80b20f2: 4413 add r3, r2 80b20f4: ed97 7a05 vldr s14, [r7, #20] 80b20f8: edd7 7a04 vldr s15, [r7, #16] 80b20fc: ee77 7a67 vsub.f32 s15, s14, s15 80b2100: edc3 7a00 vstr s15, [r3] p1 = co3 * r1; 80b2104: ed97 7a17 vldr s14, [r7, #92] ; 0x5c 80b2108: edd7 7a2e vldr s15, [r7, #184] ; 0xb8 80b210c: ee67 7a27 vmul.f32 s15, s14, s15 80b2110: edc7 7a07 vstr s15, [r7, #28] p2 = si3 * s1; 80b2114: ed97 7a10 vldr s14, [r7, #64] ; 0x40 80b2118: edd7 7a0a vldr s15, [r7, #40] ; 0x28 80b211c: ee67 7a27 vmul.f32 s15, s14, s15 80b2120: edc7 7a06 vstr s15, [r7, #24] p3 = co3 * s1; 80b2124: ed97 7a17 vldr s14, [r7, #92] ; 0x5c 80b2128: edd7 7a0a vldr s15, [r7, #40] ; 0x28 80b212c: ee67 7a27 vmul.f32 s15, s14, s15 80b2130: edc7 7a05 vstr s15, [r7, #20] p4 = si3 * r1; 80b2134: ed97 7a10 vldr s14, [r7, #64] ; 0x40 80b2138: edd7 7a2e vldr s15, [r7, #184] ; 0xb8 80b213c: ee67 7a27 vmul.f32 s15, s14, s15 80b2140: edc7 7a04 vstr s15, [r7, #16] pSrc[2 * i3] = p1 + p2; 80b2144: f8d7 30d0 ldr.w r3, [r7, #208] ; 0xd0 80b2148: 00db lsls r3, r3, #3 80b214a: 68fa ldr r2, [r7, #12] 80b214c: 4413 add r3, r2 80b214e: ed97 7a07 vldr s14, [r7, #28] 80b2152: edd7 7a06 vldr s15, [r7, #24] 80b2156: ee77 7a27 vadd.f32 s15, s14, s15 80b215a: edc3 7a00 vstr s15, [r3] pSrc[2 * i3 + 1] = p3 - p4; 80b215e: f8d7 30d0 ldr.w r3, [r7, #208] ; 0xd0 80b2162: 00db lsls r3, r3, #3 80b2164: 3304 adds r3, #4 80b2166: 68fa ldr r2, [r7, #12] 80b2168: 4413 add r3, r2 80b216a: ed97 7a05 vldr s14, [r7, #20] 80b216e: edd7 7a04 vldr s15, [r7, #16] 80b2172: ee77 7a67 vsub.f32 s15, s14, s15 80b2176: edc3 7a00 vstr s15, [r3] p1 = co7 * t1; 80b217a: ed97 7a13 vldr s14, [r7, #76] ; 0x4c 80b217e: edd7 7a26 vldr s15, [r7, #152] ; 0x98 80b2182: ee67 7a27 vmul.f32 s15, s14, s15 80b2186: edc7 7a07 vstr s15, [r7, #28] p2 = si7 * t2; 80b218a: ed97 7a0c vldr s14, [r7, #48] ; 0x30 80b218e: edd7 7a20 vldr s15, [r7, #128] ; 0x80 80b2192: ee67 7a27 vmul.f32 s15, s14, s15 80b2196: edc7 7a06 vstr s15, [r7, #24] p3 = co7 * t2; 80b219a: ed97 7a13 vldr s14, [r7, #76] ; 0x4c 80b219e: edd7 7a20 vldr s15, [r7, #128] ; 0x80 80b21a2: ee67 7a27 vmul.f32 s15, s14, s15 80b21a6: edc7 7a05 vstr s15, [r7, #20] p4 = si7 * t1; 80b21aa: ed97 7a0c vldr s14, [r7, #48] ; 0x30 80b21ae: edd7 7a26 vldr s15, [r7, #152] ; 0x98 80b21b2: ee67 7a27 vmul.f32 s15, s14, s15 80b21b6: edc7 7a04 vstr s15, [r7, #16] pSrc[2 * i7] = p1 + p2; 80b21ba: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 80b21be: 00db lsls r3, r3, #3 80b21c0: 68fa ldr r2, [r7, #12] 80b21c2: 4413 add r3, r2 80b21c4: ed97 7a07 vldr s14, [r7, #28] 80b21c8: edd7 7a06 vldr s15, [r7, #24] 80b21cc: ee77 7a27 vadd.f32 s15, s14, s15 80b21d0: edc3 7a00 vstr s15, [r3] pSrc[2 * i7 + 1] = p3 - p4; 80b21d4: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 80b21d8: 00db lsls r3, r3, #3 80b21da: 3304 adds r3, #4 80b21dc: 68fa ldr r2, [r7, #12] 80b21de: 4413 add r3, r2 80b21e0: ed97 7a05 vldr s14, [r7, #20] 80b21e4: edd7 7a04 vldr s15, [r7, #16] 80b21e8: ee77 7a67 vsub.f32 s15, s14, s15 80b21ec: edc3 7a00 vstr s15, [r3] r1 = (r6 - r8) * C81; 80b21f0: ed97 7a2b vldr s14, [r7, #172] ; 0xac 80b21f4: edd7 7a27 vldr s15, [r7, #156] ; 0x9c 80b21f8: ee37 7a67 vsub.f32 s14, s14, s15 80b21fc: edd7 7a37 vldr s15, [r7, #220] ; 0xdc 80b2200: ee67 7a27 vmul.f32 s15, s14, s15 80b2204: edc7 7a2e vstr s15, [r7, #184] ; 0xb8 r6 = (r6 + r8) * C81; 80b2208: ed97 7a2b vldr s14, [r7, #172] ; 0xac 80b220c: edd7 7a27 vldr s15, [r7, #156] ; 0x9c 80b2210: ee37 7a27 vadd.f32 s14, s14, s15 80b2214: edd7 7a37 vldr s15, [r7, #220] ; 0xdc 80b2218: ee67 7a27 vmul.f32 s15, s14, s15 80b221c: edc7 7a2b vstr s15, [r7, #172] ; 0xac s1 = (s6 - s8) * C81; 80b2220: ed97 7a24 vldr s14, [r7, #144] ; 0x90 80b2224: edd7 7a21 vldr s15, [r7, #132] ; 0x84 80b2228: ee37 7a67 vsub.f32 s14, s14, s15 80b222c: edd7 7a37 vldr s15, [r7, #220] ; 0xdc 80b2230: ee67 7a27 vmul.f32 s15, s14, s15 80b2234: edc7 7a0a vstr s15, [r7, #40] ; 0x28 s6 = (s6 + s8) * C81; 80b2238: ed97 7a24 vldr s14, [r7, #144] ; 0x90 80b223c: edd7 7a21 vldr s15, [r7, #132] ; 0x84 80b2240: ee37 7a27 vadd.f32 s14, s14, s15 80b2244: edd7 7a37 vldr s15, [r7, #220] ; 0xdc 80b2248: ee67 7a27 vmul.f32 s15, s14, s15 80b224c: edc7 7a24 vstr s15, [r7, #144] ; 0x90 t1 = r5 - r1; 80b2250: ed97 7a2d vldr s14, [r7, #180] ; 0xb4 80b2254: edd7 7a2e vldr s15, [r7, #184] ; 0xb8 80b2258: ee77 7a67 vsub.f32 s15, s14, s15 80b225c: edc7 7a26 vstr s15, [r7, #152] ; 0x98 r5 = r5 + r1; 80b2260: ed97 7a2d vldr s14, [r7, #180] ; 0xb4 80b2264: edd7 7a2e vldr s15, [r7, #184] ; 0xb8 80b2268: ee77 7a27 vadd.f32 s15, s14, s15 80b226c: edc7 7a2d vstr s15, [r7, #180] ; 0xb4 r8 = r7 - r6; 80b2270: ed97 7a29 vldr s14, [r7, #164] ; 0xa4 80b2274: edd7 7a2b vldr s15, [r7, #172] ; 0xac 80b2278: ee77 7a67 vsub.f32 s15, s14, s15 80b227c: edc7 7a27 vstr s15, [r7, #156] ; 0x9c r7 = r7 + r6; 80b2280: ed97 7a29 vldr s14, [r7, #164] ; 0xa4 80b2284: edd7 7a2b vldr s15, [r7, #172] ; 0xac 80b2288: ee77 7a27 vadd.f32 s15, s14, s15 80b228c: edc7 7a29 vstr s15, [r7, #164] ; 0xa4 t2 = s5 - s1; 80b2290: ed97 7a25 vldr s14, [r7, #148] ; 0x94 80b2294: edd7 7a0a vldr s15, [r7, #40] ; 0x28 80b2298: ee77 7a67 vsub.f32 s15, s14, s15 80b229c: edc7 7a20 vstr s15, [r7, #128] ; 0x80 s5 = s5 + s1; 80b22a0: ed97 7a25 vldr s14, [r7, #148] ; 0x94 80b22a4: edd7 7a0a vldr s15, [r7, #40] ; 0x28 80b22a8: ee77 7a27 vadd.f32 s15, s14, s15 80b22ac: edc7 7a25 vstr s15, [r7, #148] ; 0x94 s8 = s7 - s6; 80b22b0: ed97 7a22 vldr s14, [r7, #136] ; 0x88 80b22b4: edd7 7a24 vldr s15, [r7, #144] ; 0x90 80b22b8: ee77 7a67 vsub.f32 s15, s14, s15 80b22bc: edc7 7a21 vstr s15, [r7, #132] ; 0x84 s7 = s7 + s6; 80b22c0: ed97 7a22 vldr s14, [r7, #136] ; 0x88 80b22c4: edd7 7a24 vldr s15, [r7, #144] ; 0x90 80b22c8: ee77 7a27 vadd.f32 s15, s14, s15 80b22cc: edc7 7a22 vstr s15, [r7, #136] ; 0x88 r1 = r5 + s7; 80b22d0: ed97 7a2d vldr s14, [r7, #180] ; 0xb4 80b22d4: edd7 7a22 vldr s15, [r7, #136] ; 0x88 80b22d8: ee77 7a27 vadd.f32 s15, s14, s15 80b22dc: edc7 7a2e vstr s15, [r7, #184] ; 0xb8 r5 = r5 - s7; 80b22e0: ed97 7a2d vldr s14, [r7, #180] ; 0xb4 80b22e4: edd7 7a22 vldr s15, [r7, #136] ; 0x88 80b22e8: ee77 7a67 vsub.f32 s15, s14, s15 80b22ec: edc7 7a2d vstr s15, [r7, #180] ; 0xb4 r6 = t1 + s8; 80b22f0: ed97 7a26 vldr s14, [r7, #152] ; 0x98 80b22f4: edd7 7a21 vldr s15, [r7, #132] ; 0x84 80b22f8: ee77 7a27 vadd.f32 s15, s14, s15 80b22fc: edc7 7a2b vstr s15, [r7, #172] ; 0xac t1 = t1 - s8; 80b2300: ed97 7a26 vldr s14, [r7, #152] ; 0x98 80b2304: edd7 7a21 vldr s15, [r7, #132] ; 0x84 80b2308: ee77 7a67 vsub.f32 s15, s14, s15 80b230c: edc7 7a26 vstr s15, [r7, #152] ; 0x98 s1 = s5 - r7; 80b2310: ed97 7a25 vldr s14, [r7, #148] ; 0x94 80b2314: edd7 7a29 vldr s15, [r7, #164] ; 0xa4 80b2318: ee77 7a67 vsub.f32 s15, s14, s15 80b231c: edc7 7a0a vstr s15, [r7, #40] ; 0x28 s5 = s5 + r7; 80b2320: ed97 7a25 vldr s14, [r7, #148] ; 0x94 80b2324: edd7 7a29 vldr s15, [r7, #164] ; 0xa4 80b2328: ee77 7a27 vadd.f32 s15, s14, s15 80b232c: edc7 7a25 vstr s15, [r7, #148] ; 0x94 s6 = t2 - r8; 80b2330: ed97 7a20 vldr s14, [r7, #128] ; 0x80 80b2334: edd7 7a27 vldr s15, [r7, #156] ; 0x9c 80b2338: ee77 7a67 vsub.f32 s15, s14, s15 80b233c: edc7 7a24 vstr s15, [r7, #144] ; 0x90 t2 = t2 + r8; 80b2340: ed97 7a20 vldr s14, [r7, #128] ; 0x80 80b2344: edd7 7a27 vldr s15, [r7, #156] ; 0x9c 80b2348: ee77 7a27 vadd.f32 s15, s14, s15 80b234c: edc7 7a20 vstr s15, [r7, #128] ; 0x80 p1 = co2 * r1; 80b2350: ed97 7a18 vldr s14, [r7, #96] ; 0x60 80b2354: edd7 7a2e vldr s15, [r7, #184] ; 0xb8 80b2358: ee67 7a27 vmul.f32 s15, s14, s15 80b235c: edc7 7a07 vstr s15, [r7, #28] p2 = si2 * s1; 80b2360: ed97 7a11 vldr s14, [r7, #68] ; 0x44 80b2364: edd7 7a0a vldr s15, [r7, #40] ; 0x28 80b2368: ee67 7a27 vmul.f32 s15, s14, s15 80b236c: edc7 7a06 vstr s15, [r7, #24] p3 = co2 * s1; 80b2370: ed97 7a18 vldr s14, [r7, #96] ; 0x60 80b2374: edd7 7a0a vldr s15, [r7, #40] ; 0x28 80b2378: ee67 7a27 vmul.f32 s15, s14, s15 80b237c: edc7 7a05 vstr s15, [r7, #20] p4 = si2 * r1; 80b2380: ed97 7a11 vldr s14, [r7, #68] ; 0x44 80b2384: edd7 7a2e vldr s15, [r7, #184] ; 0xb8 80b2388: ee67 7a27 vmul.f32 s15, s14, s15 80b238c: edc7 7a04 vstr s15, [r7, #16] pSrc[2 * i2] = p1 + p2; 80b2390: f8d7 30d4 ldr.w r3, [r7, #212] ; 0xd4 80b2394: 00db lsls r3, r3, #3 80b2396: 68fa ldr r2, [r7, #12] 80b2398: 4413 add r3, r2 80b239a: ed97 7a07 vldr s14, [r7, #28] 80b239e: edd7 7a06 vldr s15, [r7, #24] 80b23a2: ee77 7a27 vadd.f32 s15, s14, s15 80b23a6: edc3 7a00 vstr s15, [r3] pSrc[2 * i2 + 1] = p3 - p4; 80b23aa: f8d7 30d4 ldr.w r3, [r7, #212] ; 0xd4 80b23ae: 00db lsls r3, r3, #3 80b23b0: 3304 adds r3, #4 80b23b2: 68fa ldr r2, [r7, #12] 80b23b4: 4413 add r3, r2 80b23b6: ed97 7a05 vldr s14, [r7, #20] 80b23ba: edd7 7a04 vldr s15, [r7, #16] 80b23be: ee77 7a67 vsub.f32 s15, s14, s15 80b23c2: edc3 7a00 vstr s15, [r3] p1 = co8 * r5; 80b23c6: ed97 7a12 vldr s14, [r7, #72] ; 0x48 80b23ca: edd7 7a2d vldr s15, [r7, #180] ; 0xb4 80b23ce: ee67 7a27 vmul.f32 s15, s14, s15 80b23d2: edc7 7a07 vstr s15, [r7, #28] p2 = si8 * s5; 80b23d6: ed97 7a0b vldr s14, [r7, #44] ; 0x2c 80b23da: edd7 7a25 vldr s15, [r7, #148] ; 0x94 80b23de: ee67 7a27 vmul.f32 s15, s14, s15 80b23e2: edc7 7a06 vstr s15, [r7, #24] p3 = co8 * s5; 80b23e6: ed97 7a12 vldr s14, [r7, #72] ; 0x48 80b23ea: edd7 7a25 vldr s15, [r7, #148] ; 0x94 80b23ee: ee67 7a27 vmul.f32 s15, s14, s15 80b23f2: edc7 7a05 vstr s15, [r7, #20] p4 = si8 * r5; 80b23f6: ed97 7a0b vldr s14, [r7, #44] ; 0x2c 80b23fa: edd7 7a2d vldr s15, [r7, #180] ; 0xb4 80b23fe: ee67 7a27 vmul.f32 s15, s14, s15 80b2402: edc7 7a04 vstr s15, [r7, #16] pSrc[2 * i8] = p1 + p2; 80b2406: f8d7 30bc ldr.w r3, [r7, #188] ; 0xbc 80b240a: 00db lsls r3, r3, #3 80b240c: 68fa ldr r2, [r7, #12] 80b240e: 4413 add r3, r2 80b2410: ed97 7a07 vldr s14, [r7, #28] 80b2414: edd7 7a06 vldr s15, [r7, #24] 80b2418: ee77 7a27 vadd.f32 s15, s14, s15 80b241c: edc3 7a00 vstr s15, [r3] pSrc[2 * i8 + 1] = p3 - p4; 80b2420: f8d7 30bc ldr.w r3, [r7, #188] ; 0xbc 80b2424: 00db lsls r3, r3, #3 80b2426: 3304 adds r3, #4 80b2428: 68fa ldr r2, [r7, #12] 80b242a: 4413 add r3, r2 80b242c: ed97 7a05 vldr s14, [r7, #20] 80b2430: edd7 7a04 vldr s15, [r7, #16] 80b2434: ee77 7a67 vsub.f32 s15, s14, s15 80b2438: edc3 7a00 vstr s15, [r3] p1 = co6 * r6; 80b243c: ed97 7a14 vldr s14, [r7, #80] ; 0x50 80b2440: edd7 7a2b vldr s15, [r7, #172] ; 0xac 80b2444: ee67 7a27 vmul.f32 s15, s14, s15 80b2448: edc7 7a07 vstr s15, [r7, #28] p2 = si6 * s6; 80b244c: ed97 7a0d vldr s14, [r7, #52] ; 0x34 80b2450: edd7 7a24 vldr s15, [r7, #144] ; 0x90 80b2454: ee67 7a27 vmul.f32 s15, s14, s15 80b2458: edc7 7a06 vstr s15, [r7, #24] p3 = co6 * s6; 80b245c: ed97 7a14 vldr s14, [r7, #80] ; 0x50 80b2460: edd7 7a24 vldr s15, [r7, #144] ; 0x90 80b2464: ee67 7a27 vmul.f32 s15, s14, s15 80b2468: edc7 7a05 vstr s15, [r7, #20] p4 = si6 * r6; 80b246c: ed97 7a0d vldr s14, [r7, #52] ; 0x34 80b2470: edd7 7a2b vldr s15, [r7, #172] ; 0xac 80b2474: ee67 7a27 vmul.f32 s15, s14, s15 80b2478: edc7 7a04 vstr s15, [r7, #16] pSrc[2 * i6] = p1 + p2; 80b247c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80b2480: 00db lsls r3, r3, #3 80b2482: 68fa ldr r2, [r7, #12] 80b2484: 4413 add r3, r2 80b2486: ed97 7a07 vldr s14, [r7, #28] 80b248a: edd7 7a06 vldr s15, [r7, #24] 80b248e: ee77 7a27 vadd.f32 s15, s14, s15 80b2492: edc3 7a00 vstr s15, [r3] pSrc[2 * i6 + 1] = p3 - p4; 80b2496: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80b249a: 00db lsls r3, r3, #3 80b249c: 3304 adds r3, #4 80b249e: 68fa ldr r2, [r7, #12] 80b24a0: 4413 add r3, r2 80b24a2: ed97 7a05 vldr s14, [r7, #20] 80b24a6: edd7 7a04 vldr s15, [r7, #16] 80b24aa: ee77 7a67 vsub.f32 s15, s14, s15 80b24ae: edc3 7a00 vstr s15, [r3] p1 = co4 * t1; 80b24b2: ed97 7a16 vldr s14, [r7, #88] ; 0x58 80b24b6: edd7 7a26 vldr s15, [r7, #152] ; 0x98 80b24ba: ee67 7a27 vmul.f32 s15, s14, s15 80b24be: edc7 7a07 vstr s15, [r7, #28] p2 = si4 * t2; 80b24c2: ed97 7a0f vldr s14, [r7, #60] ; 0x3c 80b24c6: edd7 7a20 vldr s15, [r7, #128] ; 0x80 80b24ca: ee67 7a27 vmul.f32 s15, s14, s15 80b24ce: edc7 7a06 vstr s15, [r7, #24] p3 = co4 * t2; 80b24d2: ed97 7a16 vldr s14, [r7, #88] ; 0x58 80b24d6: edd7 7a20 vldr s15, [r7, #128] ; 0x80 80b24da: ee67 7a27 vmul.f32 s15, s14, s15 80b24de: edc7 7a05 vstr s15, [r7, #20] p4 = si4 * t1; 80b24e2: ed97 7a0f vldr s14, [r7, #60] ; 0x3c 80b24e6: edd7 7a26 vldr s15, [r7, #152] ; 0x98 80b24ea: ee67 7a27 vmul.f32 s15, s14, s15 80b24ee: edc7 7a04 vstr s15, [r7, #16] pSrc[2 * i4] = p1 + p2; 80b24f2: f8d7 30cc ldr.w r3, [r7, #204] ; 0xcc 80b24f6: 00db lsls r3, r3, #3 80b24f8: 68fa ldr r2, [r7, #12] 80b24fa: 4413 add r3, r2 80b24fc: ed97 7a07 vldr s14, [r7, #28] 80b2500: edd7 7a06 vldr s15, [r7, #24] 80b2504: ee77 7a27 vadd.f32 s15, s14, s15 80b2508: edc3 7a00 vstr s15, [r3] pSrc[2 * i4 + 1] = p3 - p4; 80b250c: f8d7 30cc ldr.w r3, [r7, #204] ; 0xcc 80b2510: 00db lsls r3, r3, #3 80b2512: 3304 adds r3, #4 80b2514: 68fa ldr r2, [r7, #12] 80b2516: 4413 add r3, r2 80b2518: ed97 7a05 vldr s14, [r7, #20] 80b251c: edd7 7a04 vldr s15, [r7, #16] 80b2520: ee77 7a67 vsub.f32 s15, s14, s15 80b2524: edc3 7a00 vstr s15, [r3] i1 += n1; 80b2528: f8d7 20e8 ldr.w r2, [r7, #232] ; 0xe8 80b252c: f8d7 30d8 ldr.w r3, [r7, #216] ; 0xd8 80b2530: 4413 add r3, r2 80b2532: f8c7 30e8 str.w r3, [r7, #232] ; 0xe8 } while(i1 < fftLen); 80b2536: 897a ldrh r2, [r7, #10] 80b2538: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b253c: 429a cmp r2, r3 80b253e: f63f abba bhi.w 80b1cb6 j++; 80b2542: f8d7 30e0 ldr.w r3, [r7, #224] ; 0xe0 80b2546: 3301 adds r3, #1 80b2548: f8c7 30e0 str.w r3, [r7, #224] ; 0xe0 } while(j < n2); 80b254c: f8d7 20e0 ldr.w r2, [r7, #224] ; 0xe0 80b2550: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80b2554: 429a cmp r2, r3 80b2556: f4ff ab2c bcc.w 80b1bb2 twidCoefModifier <<= 3; 80b255a: 893b ldrh r3, [r7, #8] 80b255c: 00db lsls r3, r3, #3 80b255e: 813b strh r3, [r7, #8] } while(n2 > 7); 80b2560: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80b2564: 2b07 cmp r3, #7 80b2566: f63f a813 bhi.w 80b1590 } 80b256a: e000 b.n 80b256e break; 80b256c: bf00 nop } 80b256e: bf00 nop 80b2570: 37f4 adds r7, #244 ; 0xf4 80b2572: 46bd mov sp, r7 80b2574: f85d 7b04 ldr.w r7, [sp], #4 80b2578: 4770 bx lr 80b257a: bf00 nop 080b257c : * @return cos(x). */ float32_t arm_cos_f32( float32_t x) { 80b257c: b480 push {r7} 80b257e: b08b sub sp, #44 ; 0x2c 80b2580: af00 add r7, sp, #0 80b2582: 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; 80b2586: edd7 7a01 vldr s15, [r7, #4] 80b258a: ed9f 7a37 vldr s14, [pc, #220] ; 80b2668 80b258e: ee67 7a87 vmul.f32 s15, s15, s14 80b2592: eeb5 7a00 vmov.f32 s14, #80 ; 0x3e800000 0.250 80b2596: ee77 7a87 vadd.f32 s15, s15, s14 80b259a: edc7 7a08 vstr s15, [r7, #32] /* Calculation of floor value of input */ n = (int32_t) in; 80b259e: edd7 7a08 vldr s15, [r7, #32] 80b25a2: eefd 7ae7 vcvt.s32.f32 s15, s15 80b25a6: ee17 3a90 vmov r3, s15 80b25aa: 627b str r3, [r7, #36] ; 0x24 /* Make negative values towards -infinity */ if(in < 0.0f) 80b25ac: edd7 7a08 vldr s15, [r7, #32] 80b25b0: eef5 7ac0 vcmpe.f32 s15, #0.0 80b25b4: eef1 fa10 vmrs APSR_nzcv, fpscr 80b25b8: d502 bpl.n 80b25c0 { n--; 80b25ba: 6a7b ldr r3, [r7, #36] ; 0x24 80b25bc: 3b01 subs r3, #1 80b25be: 627b str r3, [r7, #36] ; 0x24 } /* Map input value to [0 1] */ in = in - (float32_t) n; 80b25c0: 6a7b ldr r3, [r7, #36] ; 0x24 80b25c2: ee07 3a90 vmov s15, r3 80b25c6: eef8 7ae7 vcvt.f32.s32 s15, s15 80b25ca: ed97 7a08 vldr s14, [r7, #32] 80b25ce: ee77 7a67 vsub.f32 s15, s14, s15 80b25d2: edc7 7a08 vstr s15, [r7, #32] /* Calculation of index of the table */ findex = (float32_t) FAST_MATH_TABLE_SIZE * in; 80b25d6: edd7 7a08 vldr s15, [r7, #32] 80b25da: ed9f 7a24 vldr s14, [pc, #144] ; 80b266c 80b25de: ee67 7a87 vmul.f32 s15, s15, s14 80b25e2: edc7 7a07 vstr s15, [r7, #28] index = ((uint16_t)findex) & 0x1ff; 80b25e6: edd7 7a07 vldr s15, [r7, #28] 80b25ea: eefc 7ae7 vcvt.u32.f32 s15, s15 80b25ee: edc7 7a00 vstr s15, [r7] 80b25f2: 883b ldrh r3, [r7, #0] 80b25f4: b29b uxth r3, r3 80b25f6: f3c3 0308 ubfx r3, r3, #0, #9 80b25fa: 837b strh r3, [r7, #26] /* fractional value calculation */ fract = findex - (float32_t) index; 80b25fc: 8b7b ldrh r3, [r7, #26] 80b25fe: ee07 3a90 vmov s15, r3 80b2602: eef8 7a67 vcvt.f32.u32 s15, s15 80b2606: ed97 7a07 vldr s14, [r7, #28] 80b260a: ee77 7a67 vsub.f32 s15, s14, s15 80b260e: edc7 7a05 vstr s15, [r7, #20] /* Read two nearest values of input value from the cos table */ a = sinTable_f32[index]; 80b2612: 8b7b ldrh r3, [r7, #26] 80b2614: 4a16 ldr r2, [pc, #88] ; (80b2670 ) 80b2616: 009b lsls r3, r3, #2 80b2618: 4413 add r3, r2 80b261a: 681b ldr r3, [r3, #0] 80b261c: 613b str r3, [r7, #16] b = sinTable_f32[index+1]; 80b261e: 8b7b ldrh r3, [r7, #26] 80b2620: 3301 adds r3, #1 80b2622: 4a13 ldr r2, [pc, #76] ; (80b2670 ) 80b2624: 009b lsls r3, r3, #2 80b2626: 4413 add r3, r2 80b2628: 681b ldr r3, [r3, #0] 80b262a: 60fb str r3, [r7, #12] /* Linear interpolation process */ cosVal = (1.0f-fract)*a + fract*b; 80b262c: eeb7 7a00 vmov.f32 s14, #112 ; 0x3f800000 1.0 80b2630: edd7 7a05 vldr s15, [r7, #20] 80b2634: ee37 7a67 vsub.f32 s14, s14, s15 80b2638: edd7 7a04 vldr s15, [r7, #16] 80b263c: ee27 7a27 vmul.f32 s14, s14, s15 80b2640: edd7 6a05 vldr s13, [r7, #20] 80b2644: edd7 7a03 vldr s15, [r7, #12] 80b2648: ee66 7aa7 vmul.f32 s15, s13, s15 80b264c: ee77 7a27 vadd.f32 s15, s14, s15 80b2650: edc7 7a02 vstr s15, [r7, #8] /* Return the output value */ return (cosVal); 80b2654: 68bb ldr r3, [r7, #8] 80b2656: ee07 3a90 vmov s15, r3 } 80b265a: eeb0 0a67 vmov.f32 s0, s15 80b265e: 372c adds r7, #44 ; 0x2c 80b2660: 46bd mov sp, r7 80b2662: f85d 7b04 ldr.w r7, [sp], #4 80b2666: 4770 bx lr 80b2668: 3e22f983 .word 0x3e22f983 80b266c: 44000000 .word 0x44000000 80b2670: 08178384 .word 0x08178384 080b2674 : void arm_rfft_f32( const arm_rfft_instance_f32 * S, float32_t * pSrc, float32_t * pDst) { 80b2674: b580 push {r7, lr} 80b2676: b088 sub sp, #32 80b2678: af02 add r7, sp, #8 80b267a: 60f8 str r0, [r7, #12] 80b267c: 60b9 str r1, [r7, #8] 80b267e: 607a str r2, [r7, #4] const arm_cfft_radix4_instance_f32 *S_CFFT = S->pCfft; 80b2680: 68fb ldr r3, [r7, #12] 80b2682: 695b ldr r3, [r3, #20] 80b2684: 617b str r3, [r7, #20] /* Calculation of Real IFFT of input */ if(S->ifftFlagR == 1u) 80b2686: 68fb ldr r3, [r7, #12] 80b2688: 799b ldrb r3, [r3, #6] 80b268a: 2b01 cmp r3, #1 80b268c: d12d bne.n 80b26ea { /* Real IFFT core process */ arm_split_rifft_f32(pSrc, S->fftLenBy2, S->pTwiddleAReal, 80b268e: 68fb ldr r3, [r7, #12] 80b2690: 889b ldrh r3, [r3, #4] 80b2692: 4618 mov r0, r3 80b2694: 68fb ldr r3, [r7, #12] 80b2696: 68da ldr r2, [r3, #12] 80b2698: 68fb ldr r3, [r7, #12] 80b269a: 6919 ldr r1, [r3, #16] 80b269c: 68fb ldr r3, [r7, #12] 80b269e: 689b ldr r3, [r3, #8] 80b26a0: 9301 str r3, [sp, #4] 80b26a2: 687b ldr r3, [r7, #4] 80b26a4: 9300 str r3, [sp, #0] 80b26a6: 460b mov r3, r1 80b26a8: 4601 mov r1, r0 80b26aa: 68b8 ldr r0, [r7, #8] 80b26ac: f000 f932 bl 80b2914 S->pTwiddleBReal, pDst, S->twidCoefRModifier); /* Complex radix-4 IFFT process */ arm_radix4_butterfly_inverse_f32(pDst, S_CFFT->fftLen, 80b26b0: 697b ldr r3, [r7, #20] 80b26b2: 8819 ldrh r1, [r3, #0] 80b26b4: 697b ldr r3, [r7, #20] 80b26b6: 685a ldr r2, [r3, #4] 80b26b8: 697b ldr r3, [r7, #20] 80b26ba: 8998 ldrh r0, [r3, #12] 80b26bc: 697b ldr r3, [r7, #20] 80b26be: edd3 7a04 vldr s15, [r3, #16] 80b26c2: eeb0 0a67 vmov.f32 s0, s15 80b26c6: 4603 mov r3, r0 80b26c8: 6878 ldr r0, [r7, #4] 80b26ca: f7fe f93b bl 80b0944 S_CFFT->pTwiddle, S_CFFT->twidCoefModifier, S_CFFT->onebyfftLen); /* Bit reversal process */ if(S->bitReverseFlagR == 1u) 80b26ce: 68fb ldr r3, [r7, #12] 80b26d0: 79db ldrb r3, [r3, #7] 80b26d2: 2b01 cmp r3, #1 80b26d4: d130 bne.n 80b2738 { arm_bitreversal_f32(pDst, S_CFFT->fftLen, 80b26d6: 697b ldr r3, [r7, #20] 80b26d8: 8819 ldrh r1, [r3, #0] 80b26da: 697b ldr r3, [r7, #20] 80b26dc: 89da ldrh r2, [r3, #14] 80b26de: 697b ldr r3, [r7, #20] 80b26e0: 689b ldr r3, [r3, #8] 80b26e2: 6878 ldr r0, [r7, #4] 80b26e4: f7fc fa6e bl 80aebc4 /* Real FFT core process */ arm_split_rfft_f32(pSrc, S->fftLenBy2, S->pTwiddleAReal, S->pTwiddleBReal, pDst, S->twidCoefRModifier); } } 80b26e8: e026 b.n 80b2738 arm_radix4_butterfly_f32(pSrc, S_CFFT->fftLen, 80b26ea: 697b ldr r3, [r7, #20] 80b26ec: 8819 ldrh r1, [r3, #0] 80b26ee: 697b ldr r3, [r7, #20] 80b26f0: 685a ldr r2, [r3, #4] 80b26f2: 697b ldr r3, [r7, #20] 80b26f4: 899b ldrh r3, [r3, #12] 80b26f6: 68b8 ldr r0, [r7, #8] 80b26f8: f7fd fc03 bl 80aff02 if(S->bitReverseFlagR == 1u) 80b26fc: 68fb ldr r3, [r7, #12] 80b26fe: 79db ldrb r3, [r3, #7] 80b2700: 2b01 cmp r3, #1 80b2702: d108 bne.n 80b2716 arm_bitreversal_f32(pSrc, S_CFFT->fftLen, 80b2704: 697b ldr r3, [r7, #20] 80b2706: 8819 ldrh r1, [r3, #0] 80b2708: 697b ldr r3, [r7, #20] 80b270a: 89da ldrh r2, [r3, #14] 80b270c: 697b ldr r3, [r7, #20] 80b270e: 689b ldr r3, [r3, #8] 80b2710: 68b8 ldr r0, [r7, #8] 80b2712: f7fc fa57 bl 80aebc4 arm_split_rfft_f32(pSrc, S->fftLenBy2, S->pTwiddleAReal, 80b2716: 68fb ldr r3, [r7, #12] 80b2718: 889b ldrh r3, [r3, #4] 80b271a: 4618 mov r0, r3 80b271c: 68fb ldr r3, [r7, #12] 80b271e: 68da ldr r2, [r3, #12] 80b2720: 68fb ldr r3, [r7, #12] 80b2722: 6919 ldr r1, [r3, #16] 80b2724: 68fb ldr r3, [r7, #12] 80b2726: 689b ldr r3, [r3, #8] 80b2728: 9301 str r3, [sp, #4] 80b272a: 687b ldr r3, [r7, #4] 80b272c: 9300 str r3, [sp, #0] 80b272e: 460b mov r3, r1 80b2730: 4601 mov r1, r0 80b2732: 68b8 ldr r0, [r7, #8] 80b2734: f000 f804 bl 80b2740 } 80b2738: bf00 nop 80b273a: 3718 adds r7, #24 80b273c: 46bd mov sp, r7 80b273e: bd80 pop {r7, pc} 080b2740 : uint32_t fftLen, float32_t * pATable, float32_t * pBTable, float32_t * pDst, uint32_t modifier) { 80b2740: b480 push {r7} 80b2742: b091 sub sp, #68 ; 0x44 80b2744: af00 add r7, sp, #0 80b2746: 60f8 str r0, [r7, #12] 80b2748: 60b9 str r1, [r7, #8] 80b274a: 607a str r2, [r7, #4] 80b274c: 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 */ 80b274e: 6cbb ldr r3, [r7, #72] ; 0x48 80b2750: 3308 adds r3, #8 80b2752: 633b str r3, [r7, #48] ; 0x30 80b2754: 68bb ldr r3, [r7, #8] 80b2756: 011b lsls r3, r3, #4 80b2758: 3b04 subs r3, #4 80b275a: 6cba ldr r2, [r7, #72] ; 0x48 80b275c: 4413 add r3, r2 80b275e: 62fb str r3, [r7, #44] ; 0x2c float32_t *pSrc1 = &pSrc[2], *pSrc2 = &pSrc[(2u * fftLen) - 1u]; /* temp pointers for input buffer */ 80b2760: 68fb ldr r3, [r7, #12] 80b2762: 3308 adds r3, #8 80b2764: 62bb str r3, [r7, #40] ; 0x28 80b2766: 68bb ldr r3, [r7, #8] 80b2768: 00db lsls r3, r3, #3 80b276a: 3b04 subs r3, #4 80b276c: 68fa ldr r2, [r7, #12] 80b276e: 4413 add r3, r2 80b2770: 627b str r3, [r7, #36] ; 0x24 /* Init coefficient pointers */ pCoefA = &pATable[modifier * 2u]; 80b2772: 6cfb ldr r3, [r7, #76] ; 0x4c 80b2774: 00db lsls r3, r3, #3 80b2776: 687a ldr r2, [r7, #4] 80b2778: 4413 add r3, r2 80b277a: 63bb str r3, [r7, #56] ; 0x38 pCoefB = &pBTable[modifier * 2u]; 80b277c: 6cfb ldr r3, [r7, #76] ; 0x4c 80b277e: 00db lsls r3, r3, #3 80b2780: 683a ldr r2, [r7, #0] 80b2782: 4413 add r3, r2 80b2784: 637b str r3, [r7, #52] ; 0x34 i = fftLen - 1u; 80b2786: 68bb ldr r3, [r7, #8] 80b2788: 3b01 subs r3, #1 80b278a: 63fb str r3, [r7, #60] ; 0x3c while(i > 0u) 80b278c: e090 b.n 80b28b0 /* 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++; 80b278e: 6bbb ldr r3, [r7, #56] ; 0x38 80b2790: 1d1a adds r2, r3, #4 80b2792: 63ba str r2, [r7, #56] ; 0x38 80b2794: 681b ldr r3, [r3, #0] 80b2796: 623b str r3, [r7, #32] /* pATable[2 * i + 1] */ CoefA2 = *pCoefA; 80b2798: 6bbb ldr r3, [r7, #56] ; 0x38 80b279a: 681b ldr r3, [r3, #0] 80b279c: 61fb str r3, [r7, #28] /* pSrc[2 * i] * pATable[2 * i] */ outR = *pSrc1 * CoefA1; 80b279e: 6abb ldr r3, [r7, #40] ; 0x28 80b27a0: ed93 7a00 vldr s14, [r3] 80b27a4: edd7 7a08 vldr s15, [r7, #32] 80b27a8: ee67 7a27 vmul.f32 s15, s14, s15 80b27ac: edc7 7a06 vstr s15, [r7, #24] /* pSrc[2 * i] * CoefA2 */ outI = *pSrc1++ * CoefA2; 80b27b0: 6abb ldr r3, [r7, #40] ; 0x28 80b27b2: 1d1a adds r2, r3, #4 80b27b4: 62ba str r2, [r7, #40] ; 0x28 80b27b6: ed93 7a00 vldr s14, [r3] 80b27ba: edd7 7a07 vldr s15, [r7, #28] 80b27be: ee67 7a27 vmul.f32 s15, s14, s15 80b27c2: edc7 7a05 vstr s15, [r7, #20] /* (pSrc[2 * i + 1] + pSrc[2 * fftLen - 2 * i + 1]) * CoefA2 */ outR -= (*pSrc1 + *pSrc2) * CoefA2; 80b27c6: 6abb ldr r3, [r7, #40] ; 0x28 80b27c8: ed93 7a00 vldr s14, [r3] 80b27cc: 6a7b ldr r3, [r7, #36] ; 0x24 80b27ce: edd3 7a00 vldr s15, [r3] 80b27d2: ee37 7a27 vadd.f32 s14, s14, s15 80b27d6: edd7 7a07 vldr s15, [r7, #28] 80b27da: ee67 7a27 vmul.f32 s15, s14, s15 80b27de: ed97 7a06 vldr s14, [r7, #24] 80b27e2: ee77 7a67 vsub.f32 s15, s14, s15 80b27e6: edc7 7a06 vstr s15, [r7, #24] /* pSrc[2 * i + 1] * CoefA1 */ outI += *pSrc1++ * CoefA1; 80b27ea: 6abb ldr r3, [r7, #40] ; 0x28 80b27ec: 1d1a adds r2, r3, #4 80b27ee: 62ba str r2, [r7, #40] ; 0x28 80b27f0: ed93 7a00 vldr s14, [r3] 80b27f4: edd7 7a08 vldr s15, [r7, #32] 80b27f8: ee67 7a27 vmul.f32 s15, s14, s15 80b27fc: ed97 7a05 vldr s14, [r7, #20] 80b2800: ee77 7a27 vadd.f32 s15, s14, s15 80b2804: edc7 7a05 vstr s15, [r7, #20] CoefB1 = *pCoefB; 80b2808: 6b7b ldr r3, [r7, #52] ; 0x34 80b280a: 681b ldr r3, [r3, #0] 80b280c: 613b str r3, [r7, #16] /* pSrc[2 * fftLen - 2 * i + 1] * CoefB1 */ outI -= *pSrc2-- * CoefB1; 80b280e: 6a7b ldr r3, [r7, #36] ; 0x24 80b2810: 1f1a subs r2, r3, #4 80b2812: 627a str r2, [r7, #36] ; 0x24 80b2814: ed93 7a00 vldr s14, [r3] 80b2818: edd7 7a04 vldr s15, [r7, #16] 80b281c: ee67 7a27 vmul.f32 s15, s14, s15 80b2820: ed97 7a05 vldr s14, [r7, #20] 80b2824: ee77 7a67 vsub.f32 s15, s14, s15 80b2828: edc7 7a05 vstr s15, [r7, #20] /* pSrc[2 * fftLen - 2 * i] * CoefA2 */ outI -= *pSrc2 * CoefA2; 80b282c: 6a7b ldr r3, [r7, #36] ; 0x24 80b282e: ed93 7a00 vldr s14, [r3] 80b2832: edd7 7a07 vldr s15, [r7, #28] 80b2836: ee67 7a27 vmul.f32 s15, s14, s15 80b283a: ed97 7a05 vldr s14, [r7, #20] 80b283e: ee77 7a67 vsub.f32 s15, s14, s15 80b2842: edc7 7a05 vstr s15, [r7, #20] /* pSrc[2 * fftLen - 2 * i] * CoefB1 */ outR += *pSrc2-- * CoefB1; 80b2846: 6a7b ldr r3, [r7, #36] ; 0x24 80b2848: 1f1a subs r2, r3, #4 80b284a: 627a str r2, [r7, #36] ; 0x24 80b284c: ed93 7a00 vldr s14, [r3] 80b2850: edd7 7a04 vldr s15, [r7, #16] 80b2854: ee67 7a27 vmul.f32 s15, s14, s15 80b2858: ed97 7a06 vldr s14, [r7, #24] 80b285c: ee77 7a27 vadd.f32 s15, s14, s15 80b2860: edc7 7a06 vstr s15, [r7, #24] /* write output */ *pDst1++ = outR; 80b2864: 6b3b ldr r3, [r7, #48] ; 0x30 80b2866: 1d1a adds r2, r3, #4 80b2868: 633a str r2, [r7, #48] ; 0x30 80b286a: 69ba ldr r2, [r7, #24] 80b286c: 601a str r2, [r3, #0] *pDst1++ = outI; 80b286e: 6b3b ldr r3, [r7, #48] ; 0x30 80b2870: 1d1a adds r2, r3, #4 80b2872: 633a str r2, [r7, #48] ; 0x30 80b2874: 697a ldr r2, [r7, #20] 80b2876: 601a str r2, [r3, #0] /* write complex conjugate output */ *pDst2-- = -outI; 80b2878: 6afb ldr r3, [r7, #44] ; 0x2c 80b287a: 1f1a subs r2, r3, #4 80b287c: 62fa str r2, [r7, #44] ; 0x2c 80b287e: edd7 7a05 vldr s15, [r7, #20] 80b2882: eef1 7a67 vneg.f32 s15, s15 80b2886: edc3 7a00 vstr s15, [r3] *pDst2-- = outR; 80b288a: 6afb ldr r3, [r7, #44] ; 0x2c 80b288c: 1f1a subs r2, r3, #4 80b288e: 62fa str r2, [r7, #44] ; 0x2c 80b2890: 69ba ldr r2, [r7, #24] 80b2892: 601a str r2, [r3, #0] /* update coefficient pointer */ pCoefB = pCoefB + (modifier * 2u); 80b2894: 6cfb ldr r3, [r7, #76] ; 0x4c 80b2896: 00db lsls r3, r3, #3 80b2898: 6b7a ldr r2, [r7, #52] ; 0x34 80b289a: 4413 add r3, r2 80b289c: 637b str r3, [r7, #52] ; 0x34 pCoefA = pCoefA + ((modifier * 2u) - 1u); 80b289e: 6cfb ldr r3, [r7, #76] ; 0x4c 80b28a0: 00db lsls r3, r3, #3 80b28a2: 3b04 subs r3, #4 80b28a4: 6bba ldr r2, [r7, #56] ; 0x38 80b28a6: 4413 add r3, r2 80b28a8: 63bb str r3, [r7, #56] ; 0x38 i--; 80b28aa: 6bfb ldr r3, [r7, #60] ; 0x3c 80b28ac: 3b01 subs r3, #1 80b28ae: 63fb str r3, [r7, #60] ; 0x3c while(i > 0u) 80b28b0: 6bfb ldr r3, [r7, #60] ; 0x3c 80b28b2: 2b00 cmp r3, #0 80b28b4: f47f af6b bne.w 80b278e } pDst[2u * fftLen] = pSrc[0] - pSrc[1]; 80b28b8: 68bb ldr r3, [r7, #8] 80b28ba: 00db lsls r3, r3, #3 80b28bc: 6cba ldr r2, [r7, #72] ; 0x48 80b28be: 4413 add r3, r2 80b28c0: 68fa ldr r2, [r7, #12] 80b28c2: ed92 7a00 vldr s14, [r2] 80b28c6: 68fa ldr r2, [r7, #12] 80b28c8: 3204 adds r2, #4 80b28ca: edd2 7a00 vldr s15, [r2] 80b28ce: ee77 7a67 vsub.f32 s15, s14, s15 80b28d2: edc3 7a00 vstr s15, [r3] pDst[(2u * fftLen) + 1u] = 0.0f; 80b28d6: 68bb ldr r3, [r7, #8] 80b28d8: 00db lsls r3, r3, #3 80b28da: 3304 adds r3, #4 80b28dc: 6cba ldr r2, [r7, #72] ; 0x48 80b28de: 4413 add r3, r2 80b28e0: f04f 0200 mov.w r2, #0 80b28e4: 601a str r2, [r3, #0] pDst[0] = pSrc[0] + pSrc[1]; 80b28e6: 68fb ldr r3, [r7, #12] 80b28e8: ed93 7a00 vldr s14, [r3] 80b28ec: 68fb ldr r3, [r7, #12] 80b28ee: 3304 adds r3, #4 80b28f0: edd3 7a00 vldr s15, [r3] 80b28f4: ee77 7a27 vadd.f32 s15, s14, s15 80b28f8: 6cbb ldr r3, [r7, #72] ; 0x48 80b28fa: edc3 7a00 vstr s15, [r3] pDst[1] = 0.0f; 80b28fe: 6cbb ldr r3, [r7, #72] ; 0x48 80b2900: 3304 adds r3, #4 80b2902: f04f 0200 mov.w r2, #0 80b2906: 601a str r2, [r3, #0] } 80b2908: bf00 nop 80b290a: 3744 adds r7, #68 ; 0x44 80b290c: 46bd mov sp, r7 80b290e: f85d 7b04 ldr.w r7, [sp], #4 80b2912: 4770 bx lr 080b2914 : uint32_t fftLen, float32_t * pATable, float32_t * pBTable, float32_t * pDst, uint32_t modifier) { 80b2914: b480 push {r7} 80b2916: b08f sub sp, #60 ; 0x3c 80b2918: af00 add r7, sp, #0 80b291a: 60f8 str r0, [r7, #12] 80b291c: 60b9 str r1, [r7, #8] 80b291e: 607a str r2, [r7, #4] 80b2920: 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]; 80b2922: 68fb ldr r3, [r7, #12] 80b2924: 62fb str r3, [r7, #44] ; 0x2c 80b2926: 68bb ldr r3, [r7, #8] 80b2928: 00db lsls r3, r3, #3 80b292a: 3304 adds r3, #4 80b292c: 68fa ldr r2, [r7, #12] 80b292e: 4413 add r3, r2 80b2930: 62bb str r3, [r7, #40] ; 0x28 pCoefA = &pATable[0]; 80b2932: 687b ldr r3, [r7, #4] 80b2934: 637b str r3, [r7, #52] ; 0x34 pCoefB = &pBTable[0]; 80b2936: 683b ldr r3, [r7, #0] 80b2938: 633b str r3, [r7, #48] ; 0x30 while(fftLen > 0u) 80b293a: e084 b.n 80b2a46 pIn[2 * n - 2 * i] * pBTable[2 * i + 1] - pIn[2 * n - 2 * i + 1] * pBTable[2 * i]); */ CoefA1 = *pCoefA++; 80b293c: 6b7b ldr r3, [r7, #52] ; 0x34 80b293e: 1d1a adds r2, r3, #4 80b2940: 637a str r2, [r7, #52] ; 0x34 80b2942: 681b ldr r3, [r3, #0] 80b2944: 627b str r3, [r7, #36] ; 0x24 CoefA2 = *pCoefA; 80b2946: 6b7b ldr r3, [r7, #52] ; 0x34 80b2948: 681b ldr r3, [r3, #0] 80b294a: 623b str r3, [r7, #32] /* outR = (pSrc[2 * i] * CoefA1 */ outR = *pSrc1 * CoefA1; 80b294c: 6afb ldr r3, [r7, #44] ; 0x2c 80b294e: ed93 7a00 vldr s14, [r3] 80b2952: edd7 7a09 vldr s15, [r7, #36] ; 0x24 80b2956: ee67 7a27 vmul.f32 s15, s14, s15 80b295a: edc7 7a07 vstr s15, [r7, #28] /* - pSrc[2 * i] * CoefA2 */ outI = -(*pSrc1++) * CoefA2; 80b295e: 6afb ldr r3, [r7, #44] ; 0x2c 80b2960: 1d1a adds r2, r3, #4 80b2962: 62fa str r2, [r7, #44] ; 0x2c 80b2964: edd3 7a00 vldr s15, [r3] 80b2968: eeb1 7a67 vneg.f32 s14, s15 80b296c: edd7 7a08 vldr s15, [r7, #32] 80b2970: ee67 7a27 vmul.f32 s15, s14, s15 80b2974: edc7 7a06 vstr s15, [r7, #24] /* (pSrc[2 * i + 1] + pSrc[2 * fftLen - 2 * i + 1]) * CoefA2 */ outR += (*pSrc1 + *pSrc2) * CoefA2; 80b2978: 6afb ldr r3, [r7, #44] ; 0x2c 80b297a: ed93 7a00 vldr s14, [r3] 80b297e: 6abb ldr r3, [r7, #40] ; 0x28 80b2980: edd3 7a00 vldr s15, [r3] 80b2984: ee37 7a27 vadd.f32 s14, s14, s15 80b2988: edd7 7a08 vldr s15, [r7, #32] 80b298c: ee67 7a27 vmul.f32 s15, s14, s15 80b2990: ed97 7a07 vldr s14, [r7, #28] 80b2994: ee77 7a27 vadd.f32 s15, s14, s15 80b2998: edc7 7a07 vstr s15, [r7, #28] /* pSrc[2 * i + 1] * CoefA1 */ outI += (*pSrc1++) * CoefA1; 80b299c: 6afb ldr r3, [r7, #44] ; 0x2c 80b299e: 1d1a adds r2, r3, #4 80b29a0: 62fa str r2, [r7, #44] ; 0x2c 80b29a2: ed93 7a00 vldr s14, [r3] 80b29a6: edd7 7a09 vldr s15, [r7, #36] ; 0x24 80b29aa: ee67 7a27 vmul.f32 s15, s14, s15 80b29ae: ed97 7a06 vldr s14, [r7, #24] 80b29b2: ee77 7a27 vadd.f32 s15, s14, s15 80b29b6: edc7 7a06 vstr s15, [r7, #24] CoefB1 = *pCoefB; 80b29ba: 6b3b ldr r3, [r7, #48] ; 0x30 80b29bc: 681b ldr r3, [r3, #0] 80b29be: 617b str r3, [r7, #20] /* - pSrc[2 * fftLen - 2 * i + 1] * CoefB1 */ outI -= *pSrc2-- * CoefB1; 80b29c0: 6abb ldr r3, [r7, #40] ; 0x28 80b29c2: 1f1a subs r2, r3, #4 80b29c4: 62ba str r2, [r7, #40] ; 0x28 80b29c6: ed93 7a00 vldr s14, [r3] 80b29ca: edd7 7a05 vldr s15, [r7, #20] 80b29ce: ee67 7a27 vmul.f32 s15, s14, s15 80b29d2: ed97 7a06 vldr s14, [r7, #24] 80b29d6: ee77 7a67 vsub.f32 s15, s14, s15 80b29da: edc7 7a06 vstr s15, [r7, #24] /* pSrc[2 * fftLen - 2 * i] * CoefB1 */ outR += *pSrc2 * CoefB1; 80b29de: 6abb ldr r3, [r7, #40] ; 0x28 80b29e0: ed93 7a00 vldr s14, [r3] 80b29e4: edd7 7a05 vldr s15, [r7, #20] 80b29e8: ee67 7a27 vmul.f32 s15, s14, s15 80b29ec: ed97 7a07 vldr s14, [r7, #28] 80b29f0: ee77 7a27 vadd.f32 s15, s14, s15 80b29f4: edc7 7a07 vstr s15, [r7, #28] /* pSrc[2 * fftLen - 2 * i] * CoefA2 */ outI += *pSrc2-- * CoefA2; 80b29f8: 6abb ldr r3, [r7, #40] ; 0x28 80b29fa: 1f1a subs r2, r3, #4 80b29fc: 62ba str r2, [r7, #40] ; 0x28 80b29fe: ed93 7a00 vldr s14, [r3] 80b2a02: edd7 7a08 vldr s15, [r7, #32] 80b2a06: ee67 7a27 vmul.f32 s15, s14, s15 80b2a0a: ed97 7a06 vldr s14, [r7, #24] 80b2a0e: ee77 7a27 vadd.f32 s15, s14, s15 80b2a12: edc7 7a06 vstr s15, [r7, #24] /* write output */ *pDst++ = outR; 80b2a16: 6c3b ldr r3, [r7, #64] ; 0x40 80b2a18: 1d1a adds r2, r3, #4 80b2a1a: 643a str r2, [r7, #64] ; 0x40 80b2a1c: 69fa ldr r2, [r7, #28] 80b2a1e: 601a str r2, [r3, #0] *pDst++ = outI; 80b2a20: 6c3b ldr r3, [r7, #64] ; 0x40 80b2a22: 1d1a adds r2, r3, #4 80b2a24: 643a str r2, [r7, #64] ; 0x40 80b2a26: 69ba ldr r2, [r7, #24] 80b2a28: 601a str r2, [r3, #0] /* update coefficient pointer */ pCoefB = pCoefB + (modifier * 2u); 80b2a2a: 6c7b ldr r3, [r7, #68] ; 0x44 80b2a2c: 00db lsls r3, r3, #3 80b2a2e: 6b3a ldr r2, [r7, #48] ; 0x30 80b2a30: 4413 add r3, r2 80b2a32: 633b str r3, [r7, #48] ; 0x30 pCoefA = pCoefA + ((modifier * 2u) - 1u); 80b2a34: 6c7b ldr r3, [r7, #68] ; 0x44 80b2a36: 00db lsls r3, r3, #3 80b2a38: 3b04 subs r3, #4 80b2a3a: 6b7a ldr r2, [r7, #52] ; 0x34 80b2a3c: 4413 add r3, r2 80b2a3e: 637b str r3, [r7, #52] ; 0x34 /* Decrement loop count */ fftLen--; 80b2a40: 68bb ldr r3, [r7, #8] 80b2a42: 3b01 subs r3, #1 80b2a44: 60bb str r3, [r7, #8] while(fftLen > 0u) 80b2a46: 68bb ldr r3, [r7, #8] 80b2a48: 2b00 cmp r3, #0 80b2a4a: f47f af77 bne.w 80b293c } } 80b2a4e: bf00 nop 80b2a50: 373c adds r7, #60 ; 0x3c 80b2a52: 46bd mov sp, r7 80b2a54: f85d 7b04 ldr.w r7, [sp], #4 80b2a58: 4770 bx lr 080b2a5a : #include "arm_math.h" void stage_rfft_f32( arm_rfft_fast_instance_f32 * S, float32_t * p, float32_t * pOut) { 80b2a5a: b480 push {r7} 80b2a5c: b095 sub sp, #84 ; 0x54 80b2a5e: af00 add r7, sp, #0 80b2a60: 60f8 str r0, [r7, #12] 80b2a62: 60b9 str r1, [r7, #8] 80b2a64: 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 */ 80b2a66: 68fb ldr r3, [r7, #12] 80b2a68: 695b ldr r3, [r3, #20] 80b2a6a: 64bb str r3, [r7, #72] ; 0x48 float32_t *pA = p; /* increasing pointer */ 80b2a6c: 68bb ldr r3, [r7, #8] 80b2a6e: 647b str r3, [r7, #68] ; 0x44 float32_t *pB = p; /* decreasing pointer */ 80b2a70: 68bb ldr r3, [r7, #8] 80b2a72: 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; 80b2a74: 68fb ldr r3, [r7, #12] 80b2a76: 881b ldrh r3, [r3, #0] 80b2a78: 3b01 subs r3, #1 80b2a7a: 64fb str r3, [r7, #76] ; 0x4c /* Pack first and last sample of the frequency domain together */ xBR = pB[0]; 80b2a7c: 6c3b ldr r3, [r7, #64] ; 0x40 80b2a7e: 681b ldr r3, [r3, #0] 80b2a80: 63fb str r3, [r7, #60] ; 0x3c xBI = pB[1]; 80b2a82: 6c3b ldr r3, [r7, #64] ; 0x40 80b2a84: 685b ldr r3, [r3, #4] 80b2a86: 63bb str r3, [r7, #56] ; 0x38 xAR = pA[0]; 80b2a88: 6c7b ldr r3, [r7, #68] ; 0x44 80b2a8a: 681b ldr r3, [r3, #0] 80b2a8c: 637b str r3, [r7, #52] ; 0x34 xAI = pA[1]; 80b2a8e: 6c7b ldr r3, [r7, #68] ; 0x44 80b2a90: 685b ldr r3, [r3, #4] 80b2a92: 633b str r3, [r7, #48] ; 0x30 twR = *pCoeff++ ; 80b2a94: 6cbb ldr r3, [r7, #72] ; 0x48 80b2a96: 1d1a adds r2, r3, #4 80b2a98: 64ba str r2, [r7, #72] ; 0x48 80b2a9a: 681b ldr r3, [r3, #0] 80b2a9c: 62fb str r3, [r7, #44] ; 0x2c twI = *pCoeff++ ; 80b2a9e: 6cbb ldr r3, [r7, #72] ; 0x48 80b2aa0: 1d1a adds r2, r3, #4 80b2aa2: 64ba str r2, [r7, #72] ; 0x48 80b2aa4: 681b ldr r3, [r3, #0] 80b2aa6: 62bb str r3, [r7, #40] ; 0x28 // U1 = XA(1) + XB(1); % It is real t1a = xBR + xAR ; 80b2aa8: ed97 7a0f vldr s14, [r7, #60] ; 0x3c 80b2aac: edd7 7a0d vldr s15, [r7, #52] ; 0x34 80b2ab0: ee77 7a27 vadd.f32 s15, s14, s15 80b2ab4: edc7 7a09 vstr s15, [r7, #36] ; 0x24 // U2 = XB(1) - XA(1); % It is imaginary t1b = xBI + xAI ; 80b2ab8: ed97 7a0e vldr s14, [r7, #56] ; 0x38 80b2abc: edd7 7a0c vldr s15, [r7, #48] ; 0x30 80b2ac0: ee77 7a27 vadd.f32 s15, s14, s15 80b2ac4: 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 ); 80b2ac8: 687b ldr r3, [r7, #4] 80b2aca: 1d1a adds r2, r3, #4 80b2acc: 607a str r2, [r7, #4] 80b2ace: ed97 7a09 vldr s14, [r7, #36] ; 0x24 80b2ad2: edd7 7a08 vldr s15, [r7, #32] 80b2ad6: ee77 7a27 vadd.f32 s15, s14, s15 80b2ada: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80b2ade: ee67 7a87 vmul.f32 s15, s15, s14 80b2ae2: edc3 7a00 vstr s15, [r3] *pOut++ = 0.5f * ( t1a - t1b ); 80b2ae6: 687b ldr r3, [r7, #4] 80b2ae8: 1d1a adds r2, r3, #4 80b2aea: 607a str r2, [r7, #4] 80b2aec: ed97 7a09 vldr s14, [r7, #36] ; 0x24 80b2af0: edd7 7a08 vldr s15, [r7, #32] 80b2af4: ee77 7a67 vsub.f32 s15, s14, s15 80b2af8: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80b2afc: ee67 7a87 vmul.f32 s15, s15, s14 80b2b00: edc3 7a00 vstr s15, [r3] // XA(1) = 1/2*( U1 - imag(U2) + i*( U1 +imag(U2) )); pB = p + 2*k; 80b2b04: 6cfb ldr r3, [r7, #76] ; 0x4c 80b2b06: 00db lsls r3, r3, #3 80b2b08: 68ba ldr r2, [r7, #8] 80b2b0a: 4413 add r3, r2 80b2b0c: 643b str r3, [r7, #64] ; 0x40 pA += 2; 80b2b0e: 6c7b ldr r3, [r7, #68] ; 0x44 80b2b10: 3308 adds r3, #8 80b2b12: 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]; 80b2b14: 6c3b ldr r3, [r7, #64] ; 0x40 80b2b16: 685b ldr r3, [r3, #4] 80b2b18: 63bb str r3, [r7, #56] ; 0x38 xBR = pB[0]; 80b2b1a: 6c3b ldr r3, [r7, #64] ; 0x40 80b2b1c: 681b ldr r3, [r3, #0] 80b2b1e: 63fb str r3, [r7, #60] ; 0x3c xAR = pA[0]; 80b2b20: 6c7b ldr r3, [r7, #68] ; 0x44 80b2b22: 681b ldr r3, [r3, #0] 80b2b24: 637b str r3, [r7, #52] ; 0x34 xAI = pA[1]; 80b2b26: 6c7b ldr r3, [r7, #68] ; 0x44 80b2b28: 685b ldr r3, [r3, #4] 80b2b2a: 633b str r3, [r7, #48] ; 0x30 twR = *pCoeff++; 80b2b2c: 6cbb ldr r3, [r7, #72] ; 0x48 80b2b2e: 1d1a adds r2, r3, #4 80b2b30: 64ba str r2, [r7, #72] ; 0x48 80b2b32: 681b ldr r3, [r3, #0] 80b2b34: 62fb str r3, [r7, #44] ; 0x2c twI = *pCoeff++; 80b2b36: 6cbb ldr r3, [r7, #72] ; 0x48 80b2b38: 1d1a adds r2, r3, #4 80b2b3a: 64ba str r2, [r7, #72] ; 0x48 80b2b3c: 681b ldr r3, [r3, #0] 80b2b3e: 62bb str r3, [r7, #40] ; 0x28 t1a = xBR - xAR ; 80b2b40: ed97 7a0f vldr s14, [r7, #60] ; 0x3c 80b2b44: edd7 7a0d vldr s15, [r7, #52] ; 0x34 80b2b48: ee77 7a67 vsub.f32 s15, s14, s15 80b2b4c: edc7 7a09 vstr s15, [r7, #36] ; 0x24 t1b = xBI + xAI ; 80b2b50: ed97 7a0e vldr s14, [r7, #56] ; 0x38 80b2b54: edd7 7a0c vldr s15, [r7, #48] ; 0x30 80b2b58: ee77 7a27 vadd.f32 s15, s14, s15 80b2b5c: 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; 80b2b60: ed97 7a0b vldr s14, [r7, #44] ; 0x2c 80b2b64: edd7 7a09 vldr s15, [r7, #36] ; 0x24 80b2b68: ee67 7a27 vmul.f32 s15, s14, s15 80b2b6c: edc7 7a07 vstr s15, [r7, #28] p1 = twI * t1a; 80b2b70: ed97 7a0a vldr s14, [r7, #40] ; 0x28 80b2b74: edd7 7a09 vldr s15, [r7, #36] ; 0x24 80b2b78: ee67 7a27 vmul.f32 s15, s14, s15 80b2b7c: edc7 7a06 vstr s15, [r7, #24] p2 = twR * t1b; 80b2b80: ed97 7a0b vldr s14, [r7, #44] ; 0x2c 80b2b84: edd7 7a08 vldr s15, [r7, #32] 80b2b88: ee67 7a27 vmul.f32 s15, s14, s15 80b2b8c: edc7 7a05 vstr s15, [r7, #20] p3 = twI * t1b; 80b2b90: ed97 7a0a vldr s14, [r7, #40] ; 0x28 80b2b94: edd7 7a08 vldr s15, [r7, #32] 80b2b98: ee67 7a27 vmul.f32 s15, s14, s15 80b2b9c: edc7 7a04 vstr s15, [r7, #16] *pOut++ = 0.5f * (xAR + xBR + p0 + p3 ); //xAR 80b2ba0: 687b ldr r3, [r7, #4] 80b2ba2: 1d1a adds r2, r3, #4 80b2ba4: 607a str r2, [r7, #4] 80b2ba6: ed97 7a0d vldr s14, [r7, #52] ; 0x34 80b2baa: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80b2bae: ee37 7a27 vadd.f32 s14, s14, s15 80b2bb2: edd7 7a07 vldr s15, [r7, #28] 80b2bb6: ee37 7a27 vadd.f32 s14, s14, s15 80b2bba: edd7 7a04 vldr s15, [r7, #16] 80b2bbe: ee77 7a27 vadd.f32 s15, s14, s15 80b2bc2: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80b2bc6: ee67 7a87 vmul.f32 s15, s15, s14 80b2bca: edc3 7a00 vstr s15, [r3] *pOut++ = 0.5f * (xAI - xBI + p1 - p2 ); //xAI 80b2bce: 687b ldr r3, [r7, #4] 80b2bd0: 1d1a adds r2, r3, #4 80b2bd2: 607a str r2, [r7, #4] 80b2bd4: ed97 7a0c vldr s14, [r7, #48] ; 0x30 80b2bd8: edd7 7a0e vldr s15, [r7, #56] ; 0x38 80b2bdc: ee37 7a67 vsub.f32 s14, s14, s15 80b2be0: edd7 7a06 vldr s15, [r7, #24] 80b2be4: ee37 7a27 vadd.f32 s14, s14, s15 80b2be8: edd7 7a05 vldr s15, [r7, #20] 80b2bec: ee77 7a67 vsub.f32 s15, s14, s15 80b2bf0: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80b2bf4: ee67 7a87 vmul.f32 s15, s15, s14 80b2bf8: edc3 7a00 vstr s15, [r3] pA += 2; 80b2bfc: 6c7b ldr r3, [r7, #68] ; 0x44 80b2bfe: 3308 adds r3, #8 80b2c00: 647b str r3, [r7, #68] ; 0x44 pB -= 2; 80b2c02: 6c3b ldr r3, [r7, #64] ; 0x40 80b2c04: 3b08 subs r3, #8 80b2c06: 643b str r3, [r7, #64] ; 0x40 k--; 80b2c08: 6cfb ldr r3, [r7, #76] ; 0x4c 80b2c0a: 3b01 subs r3, #1 80b2c0c: 64fb str r3, [r7, #76] ; 0x4c } while(k > 0u); 80b2c0e: 6cfb ldr r3, [r7, #76] ; 0x4c 80b2c10: 2b00 cmp r3, #0 80b2c12: f47f af7f bne.w 80b2b14 } 80b2c16: bf00 nop 80b2c18: 3754 adds r7, #84 ; 0x54 80b2c1a: 46bd mov sp, r7 80b2c1c: f85d 7b04 ldr.w r7, [sp], #4 80b2c20: 4770 bx lr 080b2c22 : /* Prepares data for inverse cfft */ void merge_rfft_f32( arm_rfft_fast_instance_f32 * S, float32_t * p, float32_t * pOut) { 80b2c22: b480 push {r7} 80b2c24: b095 sub sp, #84 ; 0x54 80b2c26: af00 add r7, sp, #0 80b2c28: 60f8 str r0, [r7, #12] 80b2c2a: 60b9 str r1, [r7, #8] 80b2c2c: 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 */ 80b2c2e: 68fb ldr r3, [r7, #12] 80b2c30: 695b ldr r3, [r3, #20] 80b2c32: 64bb str r3, [r7, #72] ; 0x48 float32_t *pA = p; /* increasing pointer */ 80b2c34: 68bb ldr r3, [r7, #8] 80b2c36: 647b str r3, [r7, #68] ; 0x44 float32_t *pB = p; /* decreasing pointer */ 80b2c38: 68bb ldr r3, [r7, #8] 80b2c3a: 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; 80b2c3c: 68fb ldr r3, [r7, #12] 80b2c3e: 881b ldrh r3, [r3, #0] 80b2c40: 3b01 subs r3, #1 80b2c42: 64fb str r3, [r7, #76] ; 0x4c xAR = pA[0]; 80b2c44: 6c7b ldr r3, [r7, #68] ; 0x44 80b2c46: 681b ldr r3, [r3, #0] 80b2c48: 63fb str r3, [r7, #60] ; 0x3c xAI = pA[1]; 80b2c4a: 6c7b ldr r3, [r7, #68] ; 0x44 80b2c4c: 685b ldr r3, [r3, #4] 80b2c4e: 63bb str r3, [r7, #56] ; 0x38 pCoeff += 2 ; 80b2c50: 6cbb ldr r3, [r7, #72] ; 0x48 80b2c52: 3308 adds r3, #8 80b2c54: 64bb str r3, [r7, #72] ; 0x48 *pOut++ = 0.5f * ( xAR + xAI ); 80b2c56: 687b ldr r3, [r7, #4] 80b2c58: 1d1a adds r2, r3, #4 80b2c5a: 607a str r2, [r7, #4] 80b2c5c: ed97 7a0f vldr s14, [r7, #60] ; 0x3c 80b2c60: edd7 7a0e vldr s15, [r7, #56] ; 0x38 80b2c64: ee77 7a27 vadd.f32 s15, s14, s15 80b2c68: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80b2c6c: ee67 7a87 vmul.f32 s15, s15, s14 80b2c70: edc3 7a00 vstr s15, [r3] *pOut++ = 0.5f * ( xAR - xAI ); 80b2c74: 687b ldr r3, [r7, #4] 80b2c76: 1d1a adds r2, r3, #4 80b2c78: 607a str r2, [r7, #4] 80b2c7a: ed97 7a0f vldr s14, [r7, #60] ; 0x3c 80b2c7e: edd7 7a0e vldr s15, [r7, #56] ; 0x38 80b2c82: ee77 7a67 vsub.f32 s15, s14, s15 80b2c86: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80b2c8a: ee67 7a87 vmul.f32 s15, s15, s14 80b2c8e: edc3 7a00 vstr s15, [r3] pB = p + 2*k ; 80b2c92: 6cfb ldr r3, [r7, #76] ; 0x4c 80b2c94: 00db lsls r3, r3, #3 80b2c96: 68ba ldr r2, [r7, #8] 80b2c98: 4413 add r3, r2 80b2c9a: 643b str r3, [r7, #64] ; 0x40 pA += 2 ; 80b2c9c: 6c7b ldr r3, [r7, #68] ; 0x44 80b2c9e: 3308 adds r3, #8 80b2ca0: 647b str r3, [r7, #68] ; 0x44 while(k > 0u) 80b2ca2: e07c b.n 80b2d9e { /* 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] ; 80b2ca4: 6c3b ldr r3, [r7, #64] ; 0x40 80b2ca6: 685b ldr r3, [r3, #4] 80b2ca8: 637b str r3, [r7, #52] ; 0x34 xBR = pB[0] ; 80b2caa: 6c3b ldr r3, [r7, #64] ; 0x40 80b2cac: 681b ldr r3, [r3, #0] 80b2cae: 633b str r3, [r7, #48] ; 0x30 xAR = pA[0]; 80b2cb0: 6c7b ldr r3, [r7, #68] ; 0x44 80b2cb2: 681b ldr r3, [r3, #0] 80b2cb4: 63fb str r3, [r7, #60] ; 0x3c xAI = pA[1]; 80b2cb6: 6c7b ldr r3, [r7, #68] ; 0x44 80b2cb8: 685b ldr r3, [r3, #4] 80b2cba: 63bb str r3, [r7, #56] ; 0x38 twR = *pCoeff++; 80b2cbc: 6cbb ldr r3, [r7, #72] ; 0x48 80b2cbe: 1d1a adds r2, r3, #4 80b2cc0: 64ba str r2, [r7, #72] ; 0x48 80b2cc2: 681b ldr r3, [r3, #0] 80b2cc4: 62fb str r3, [r7, #44] ; 0x2c twI = *pCoeff++; 80b2cc6: 6cbb ldr r3, [r7, #72] ; 0x48 80b2cc8: 1d1a adds r2, r3, #4 80b2cca: 64ba str r2, [r7, #72] ; 0x48 80b2ccc: 681b ldr r3, [r3, #0] 80b2cce: 62bb str r3, [r7, #40] ; 0x28 t1a = xAR - xBR ; 80b2cd0: ed97 7a0f vldr s14, [r7, #60] ; 0x3c 80b2cd4: edd7 7a0c vldr s15, [r7, #48] ; 0x30 80b2cd8: ee77 7a67 vsub.f32 s15, s14, s15 80b2cdc: edc7 7a09 vstr s15, [r7, #36] ; 0x24 t1b = xAI + xBI ; 80b2ce0: ed97 7a0e vldr s14, [r7, #56] ; 0x38 80b2ce4: edd7 7a0d vldr s15, [r7, #52] ; 0x34 80b2ce8: ee77 7a27 vadd.f32 s15, s14, s15 80b2cec: edc7 7a08 vstr s15, [r7, #32] r = twR * t1a; 80b2cf0: ed97 7a0b vldr s14, [r7, #44] ; 0x2c 80b2cf4: edd7 7a09 vldr s15, [r7, #36] ; 0x24 80b2cf8: ee67 7a27 vmul.f32 s15, s14, s15 80b2cfc: edc7 7a07 vstr s15, [r7, #28] s = twI * t1b; 80b2d00: ed97 7a0a vldr s14, [r7, #40] ; 0x28 80b2d04: edd7 7a08 vldr s15, [r7, #32] 80b2d08: ee67 7a27 vmul.f32 s15, s14, s15 80b2d0c: edc7 7a06 vstr s15, [r7, #24] t = twI * t1a; 80b2d10: ed97 7a0a vldr s14, [r7, #40] ; 0x28 80b2d14: edd7 7a09 vldr s15, [r7, #36] ; 0x24 80b2d18: ee67 7a27 vmul.f32 s15, s14, s15 80b2d1c: edc7 7a05 vstr s15, [r7, #20] u = twR * t1b; 80b2d20: ed97 7a0b vldr s14, [r7, #44] ; 0x2c 80b2d24: edd7 7a08 vldr s15, [r7, #32] 80b2d28: ee67 7a27 vmul.f32 s15, s14, s15 80b2d2c: 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 80b2d30: 687b ldr r3, [r7, #4] 80b2d32: 1d1a adds r2, r3, #4 80b2d34: 607a str r2, [r7, #4] 80b2d36: ed97 7a0f vldr s14, [r7, #60] ; 0x3c 80b2d3a: edd7 7a0c vldr s15, [r7, #48] ; 0x30 80b2d3e: ee37 7a27 vadd.f32 s14, s14, s15 80b2d42: edd7 7a07 vldr s15, [r7, #28] 80b2d46: ee37 7a67 vsub.f32 s14, s14, s15 80b2d4a: edd7 7a06 vldr s15, [r7, #24] 80b2d4e: ee77 7a67 vsub.f32 s15, s14, s15 80b2d52: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80b2d56: ee67 7a87 vmul.f32 s15, s15, s14 80b2d5a: edc3 7a00 vstr s15, [r3] *pOut++ = 0.5f * (xAI - xBI + t - u ); //xAI 80b2d5e: 687b ldr r3, [r7, #4] 80b2d60: 1d1a adds r2, r3, #4 80b2d62: 607a str r2, [r7, #4] 80b2d64: ed97 7a0e vldr s14, [r7, #56] ; 0x38 80b2d68: edd7 7a0d vldr s15, [r7, #52] ; 0x34 80b2d6c: ee37 7a67 vsub.f32 s14, s14, s15 80b2d70: edd7 7a05 vldr s15, [r7, #20] 80b2d74: ee37 7a27 vadd.f32 s14, s14, s15 80b2d78: edd7 7a04 vldr s15, [r7, #16] 80b2d7c: ee77 7a67 vsub.f32 s15, s14, s15 80b2d80: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80b2d84: ee67 7a87 vmul.f32 s15, s15, s14 80b2d88: edc3 7a00 vstr s15, [r3] pA += 2; 80b2d8c: 6c7b ldr r3, [r7, #68] ; 0x44 80b2d8e: 3308 adds r3, #8 80b2d90: 647b str r3, [r7, #68] ; 0x44 pB -= 2; 80b2d92: 6c3b ldr r3, [r7, #64] ; 0x40 80b2d94: 3b08 subs r3, #8 80b2d96: 643b str r3, [r7, #64] ; 0x40 k--; 80b2d98: 6cfb ldr r3, [r7, #76] ; 0x4c 80b2d9a: 3b01 subs r3, #1 80b2d9c: 64fb str r3, [r7, #76] ; 0x4c while(k > 0u) 80b2d9e: 6cfb ldr r3, [r7, #76] ; 0x4c 80b2da0: 2b00 cmp r3, #0 80b2da2: f47f af7f bne.w 80b2ca4 } } 80b2da6: bf00 nop 80b2da8: 3754 adds r7, #84 ; 0x54 80b2daa: 46bd mov sp, r7 80b2dac: f85d 7b04 ldr.w r7, [sp], #4 80b2db0: 4770 bx lr 080b2db2 : void arm_rfft_fast_f32( arm_rfft_fast_instance_f32 * S, float32_t * p, float32_t * pOut, uint8_t ifftFlag) { 80b2db2: b580 push {r7, lr} 80b2db4: b086 sub sp, #24 80b2db6: af00 add r7, sp, #0 80b2db8: 60f8 str r0, [r7, #12] 80b2dba: 60b9 str r1, [r7, #8] 80b2dbc: 607a str r2, [r7, #4] 80b2dbe: 70fb strb r3, [r7, #3] arm_cfft_instance_f32 * Sint = &(S->Sint); 80b2dc0: 68fb ldr r3, [r7, #12] 80b2dc2: 617b str r3, [r7, #20] Sint->fftLen = S->fftLenRFFT / 2; 80b2dc4: 68fb ldr r3, [r7, #12] 80b2dc6: 8a1b ldrh r3, [r3, #16] 80b2dc8: 085b lsrs r3, r3, #1 80b2dca: b29a uxth r2, r3 80b2dcc: 697b ldr r3, [r7, #20] 80b2dce: 801a strh r2, [r3, #0] /* Calculation of Real FFT */ if(ifftFlag) 80b2dd0: 78fb ldrb r3, [r7, #3] 80b2dd2: 2b00 cmp r3, #0 80b2dd4: d00b beq.n 80b2dee { /* Real FFT compression */ merge_rfft_f32(S, p, pOut); 80b2dd6: 687a ldr r2, [r7, #4] 80b2dd8: 68b9 ldr r1, [r7, #8] 80b2dda: 68f8 ldr r0, [r7, #12] 80b2ddc: f7ff ff21 bl 80b2c22 /* Complex radix-4 IFFT process */ arm_cfft_f32( Sint, pOut, ifftFlag, 1); 80b2de0: 78fa ldrb r2, [r7, #3] 80b2de2: 2301 movs r3, #1 80b2de4: 6879 ldr r1, [r7, #4] 80b2de6: 6978 ldr r0, [r7, #20] 80b2de8: f7fc ffe8 bl 80afdbc arm_cfft_f32( Sint, p, ifftFlag, 1); /* Real FFT extraction */ stage_rfft_f32(S, p, pOut); } } 80b2dec: e00a b.n 80b2e04 arm_cfft_f32( Sint, p, ifftFlag, 1); 80b2dee: 78fa ldrb r2, [r7, #3] 80b2df0: 2301 movs r3, #1 80b2df2: 68b9 ldr r1, [r7, #8] 80b2df4: 6978 ldr r0, [r7, #20] 80b2df6: f7fc ffe1 bl 80afdbc stage_rfft_f32(S, p, pOut); 80b2dfa: 687a ldr r2, [r7, #4] 80b2dfc: 68b9 ldr r1, [r7, #8] 80b2dfe: 68f8 ldr r0, [r7, #12] 80b2e00: f7ff fe2b bl 80b2a5a } 80b2e04: bf00 nop 80b2e06: 3718 adds r7, #24 80b2e08: 46bd mov sp, r7 80b2e0a: bd80 pop {r7, pc} 080b2e0c : * 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) { 80b2e0c: b480 push {r7} 80b2e0e: b085 sub sp, #20 80b2e10: af00 add r7, sp, #0 80b2e12: 6078 str r0, [r7, #4] 80b2e14: 460b mov r3, r1 80b2e16: 807b strh r3, [r7, #2] arm_cfft_instance_f32 * Sint; /* Initialise the default arm status */ arm_status status = ARM_MATH_SUCCESS; 80b2e18: 2300 movs r3, #0 80b2e1a: 73fb strb r3, [r7, #15] /* Initialise the FFT length */ Sint = &(S->Sint); 80b2e1c: 687b ldr r3, [r7, #4] 80b2e1e: 60bb str r3, [r7, #8] Sint->fftLen = fftLen/2; 80b2e20: 887b ldrh r3, [r7, #2] 80b2e22: 085b lsrs r3, r3, #1 80b2e24: b29a uxth r2, r3 80b2e26: 68bb ldr r3, [r7, #8] 80b2e28: 801a strh r2, [r3, #0] S->fftLenRFFT = fftLen; 80b2e2a: 687b ldr r3, [r7, #4] 80b2e2c: 887a ldrh r2, [r7, #2] 80b2e2e: 821a strh r2, [r3, #16] /* Initializations of structure parameters depending on the FFT length */ switch (Sint->fftLen) 80b2e30: 68bb ldr r3, [r7, #8] 80b2e32: 881b ldrh r3, [r3, #0] 80b2e34: 2b80 cmp r3, #128 ; 0x80 80b2e36: d050 beq.n 80b2eda 80b2e38: 2b80 cmp r3, #128 ; 0x80 80b2e3a: dc06 bgt.n 80b2e4a 80b2e3c: 2b20 cmp r3, #32 80b2e3e: d066 beq.n 80b2f0e 80b2e40: 2b40 cmp r3, #64 ; 0x40 80b2e42: d057 beq.n 80b2ef4 80b2e44: 2b10 cmp r3, #16 80b2e46: d06f beq.n 80b2f28 80b2e48: e07b b.n 80b2f42 80b2e4a: f5b3 7f00 cmp.w r3, #512 ; 0x200 80b2e4e: d028 beq.n 80b2ea2 80b2e50: f5b3 7f00 cmp.w r3, #512 ; 0x200 80b2e54: dc03 bgt.n 80b2e5e 80b2e56: f5b3 7f80 cmp.w r3, #256 ; 0x100 80b2e5a: d030 beq.n 80b2ebe 80b2e5c: e071 b.n 80b2f42 80b2e5e: f5b3 6f80 cmp.w r3, #1024 ; 0x400 80b2e62: d010 beq.n 80b2e86 80b2e64: f5b3 6f00 cmp.w r3, #2048 ; 0x800 80b2e68: d16b bne.n 80b2f42 { case 2048u: /* Initializations of structure parameters for 2048 point FFT */ /* Initialise the bit reversal table length */ Sint->bitRevLength = ARMBITREVINDEXTABLE2048_TABLE_LENGTH; 80b2e6a: 68bb ldr r3, [r7, #8] 80b2e6c: f44f 626e mov.w r2, #3808 ; 0xee0 80b2e70: 819a strh r2, [r3, #12] /* Initialise the bit reversal table pointer */ Sint->pBitRevTable = (uint16_t *)armBitRevIndexTable2048; 80b2e72: 68bb ldr r3, [r7, #8] 80b2e74: 4a38 ldr r2, [pc, #224] ; (80b2f58 ) 80b2e76: 609a str r2, [r3, #8] /* Initialise the Twiddle coefficient pointers */ Sint->pTwiddle = (float32_t *) twiddleCoef_2048; 80b2e78: 68bb ldr r3, [r7, #8] 80b2e7a: 4a38 ldr r2, [pc, #224] ; (80b2f5c ) 80b2e7c: 605a str r2, [r3, #4] S->pTwiddleRFFT = (float32_t *) twiddleCoef_rfft_4096; 80b2e7e: 687b ldr r3, [r7, #4] 80b2e80: 4a37 ldr r2, [pc, #220] ; (80b2f60 ) 80b2e82: 615a str r2, [r3, #20] break; 80b2e84: e060 b.n 80b2f48 case 1024u: Sint->bitRevLength = ARMBITREVINDEXTABLE1024_TABLE_LENGTH; 80b2e86: 68bb ldr r3, [r7, #8] 80b2e88: f44f 62e1 mov.w r2, #1800 ; 0x708 80b2e8c: 819a strh r2, [r3, #12] Sint->pBitRevTable = (uint16_t *)armBitRevIndexTable1024; 80b2e8e: 68bb ldr r3, [r7, #8] 80b2e90: 4a34 ldr r2, [pc, #208] ; (80b2f64 ) 80b2e92: 609a str r2, [r3, #8] Sint->pTwiddle = (float32_t *) twiddleCoef_1024; 80b2e94: 68bb ldr r3, [r7, #8] 80b2e96: 4a34 ldr r2, [pc, #208] ; (80b2f68 ) 80b2e98: 605a str r2, [r3, #4] S->pTwiddleRFFT = (float32_t *) twiddleCoef_rfft_2048; 80b2e9a: 687b ldr r3, [r7, #4] 80b2e9c: 4a33 ldr r2, [pc, #204] ; (80b2f6c ) 80b2e9e: 615a str r2, [r3, #20] break; 80b2ea0: e052 b.n 80b2f48 case 512u: Sint->bitRevLength = ARMBITREVINDEXTABLE_512_TABLE_LENGTH; 80b2ea2: 68bb ldr r3, [r7, #8] 80b2ea4: f44f 72e0 mov.w r2, #448 ; 0x1c0 80b2ea8: 819a strh r2, [r3, #12] Sint->pBitRevTable = (uint16_t *)armBitRevIndexTable512; 80b2eaa: 68bb ldr r3, [r7, #8] 80b2eac: 4a30 ldr r2, [pc, #192] ; (80b2f70 ) 80b2eae: 609a str r2, [r3, #8] Sint->pTwiddle = (float32_t *) twiddleCoef_512; 80b2eb0: 68bb ldr r3, [r7, #8] 80b2eb2: 4a30 ldr r2, [pc, #192] ; (80b2f74 ) 80b2eb4: 605a str r2, [r3, #4] S->pTwiddleRFFT = (float32_t *) twiddleCoef_rfft_1024; 80b2eb6: 687b ldr r3, [r7, #4] 80b2eb8: 4a2f ldr r2, [pc, #188] ; (80b2f78 ) 80b2eba: 615a str r2, [r3, #20] break; 80b2ebc: e044 b.n 80b2f48 case 256u: Sint->bitRevLength = ARMBITREVINDEXTABLE_256_TABLE_LENGTH; 80b2ebe: 68bb ldr r3, [r7, #8] 80b2ec0: f44f 72dc mov.w r2, #440 ; 0x1b8 80b2ec4: 819a strh r2, [r3, #12] Sint->pBitRevTable = (uint16_t *)armBitRevIndexTable256; 80b2ec6: 68bb ldr r3, [r7, #8] 80b2ec8: 4a2c ldr r2, [pc, #176] ; (80b2f7c ) 80b2eca: 609a str r2, [r3, #8] Sint->pTwiddle = (float32_t *) twiddleCoef_256; 80b2ecc: 68bb ldr r3, [r7, #8] 80b2ece: 4a2c ldr r2, [pc, #176] ; (80b2f80 ) 80b2ed0: 605a str r2, [r3, #4] S->pTwiddleRFFT = (float32_t *) twiddleCoef_rfft_512; 80b2ed2: 687b ldr r3, [r7, #4] 80b2ed4: 4a2b ldr r2, [pc, #172] ; (80b2f84 ) 80b2ed6: 615a str r2, [r3, #20] break; 80b2ed8: e036 b.n 80b2f48 case 128u: Sint->bitRevLength = ARMBITREVINDEXTABLE_128_TABLE_LENGTH; 80b2eda: 68bb ldr r3, [r7, #8] 80b2edc: 22d0 movs r2, #208 ; 0xd0 80b2ede: 819a strh r2, [r3, #12] Sint->pBitRevTable = (uint16_t *)armBitRevIndexTable128; 80b2ee0: 68bb ldr r3, [r7, #8] 80b2ee2: 4a29 ldr r2, [pc, #164] ; (80b2f88 ) 80b2ee4: 609a str r2, [r3, #8] Sint->pTwiddle = (float32_t *) twiddleCoef_128; 80b2ee6: 68bb ldr r3, [r7, #8] 80b2ee8: 4a28 ldr r2, [pc, #160] ; (80b2f8c ) 80b2eea: 605a str r2, [r3, #4] S->pTwiddleRFFT = (float32_t *) twiddleCoef_rfft_256; 80b2eec: 687b ldr r3, [r7, #4] 80b2eee: 4a28 ldr r2, [pc, #160] ; (80b2f90 ) 80b2ef0: 615a str r2, [r3, #20] break; 80b2ef2: e029 b.n 80b2f48 case 64u: Sint->bitRevLength = ARMBITREVINDEXTABLE__64_TABLE_LENGTH; 80b2ef4: 68bb ldr r3, [r7, #8] 80b2ef6: 2238 movs r2, #56 ; 0x38 80b2ef8: 819a strh r2, [r3, #12] Sint->pBitRevTable = (uint16_t *)armBitRevIndexTable64; 80b2efa: 68bb ldr r3, [r7, #8] 80b2efc: 4a25 ldr r2, [pc, #148] ; (80b2f94 ) 80b2efe: 609a str r2, [r3, #8] Sint->pTwiddle = (float32_t *) twiddleCoef_64; 80b2f00: 68bb ldr r3, [r7, #8] 80b2f02: 4a25 ldr r2, [pc, #148] ; (80b2f98 ) 80b2f04: 605a str r2, [r3, #4] S->pTwiddleRFFT = (float32_t *) twiddleCoef_rfft_128; 80b2f06: 687b ldr r3, [r7, #4] 80b2f08: 4a24 ldr r2, [pc, #144] ; (80b2f9c ) 80b2f0a: 615a str r2, [r3, #20] break; 80b2f0c: e01c b.n 80b2f48 case 32u: Sint->bitRevLength = ARMBITREVINDEXTABLE__32_TABLE_LENGTH; 80b2f0e: 68bb ldr r3, [r7, #8] 80b2f10: 2230 movs r2, #48 ; 0x30 80b2f12: 819a strh r2, [r3, #12] Sint->pBitRevTable = (uint16_t *)armBitRevIndexTable32; 80b2f14: 68bb ldr r3, [r7, #8] 80b2f16: 4a22 ldr r2, [pc, #136] ; (80b2fa0 ) 80b2f18: 609a str r2, [r3, #8] Sint->pTwiddle = (float32_t *) twiddleCoef_32; 80b2f1a: 68bb ldr r3, [r7, #8] 80b2f1c: 4a21 ldr r2, [pc, #132] ; (80b2fa4 ) 80b2f1e: 605a str r2, [r3, #4] S->pTwiddleRFFT = (float32_t *) twiddleCoef_rfft_64; 80b2f20: 687b ldr r3, [r7, #4] 80b2f22: 4a21 ldr r2, [pc, #132] ; (80b2fa8 ) 80b2f24: 615a str r2, [r3, #20] break; 80b2f26: e00f b.n 80b2f48 case 16u: Sint->bitRevLength = ARMBITREVINDEXTABLE__16_TABLE_LENGTH; 80b2f28: 68bb ldr r3, [r7, #8] 80b2f2a: 2214 movs r2, #20 80b2f2c: 819a strh r2, [r3, #12] Sint->pBitRevTable = (uint16_t *)armBitRevIndexTable16; 80b2f2e: 68bb ldr r3, [r7, #8] 80b2f30: 4a1e ldr r2, [pc, #120] ; (80b2fac ) 80b2f32: 609a str r2, [r3, #8] Sint->pTwiddle = (float32_t *) twiddleCoef_16; 80b2f34: 68bb ldr r3, [r7, #8] 80b2f36: 4a1e ldr r2, [pc, #120] ; (80b2fb0 ) 80b2f38: 605a str r2, [r3, #4] S->pTwiddleRFFT = (float32_t *) twiddleCoef_rfft_32; 80b2f3a: 687b ldr r3, [r7, #4] 80b2f3c: 4a1d ldr r2, [pc, #116] ; (80b2fb4 ) 80b2f3e: 615a str r2, [r3, #20] break; 80b2f40: e002 b.n 80b2f48 default: /* Reporting argument error if fftSize is not valid value */ status = ARM_MATH_ARGUMENT_ERROR; 80b2f42: 23ff movs r3, #255 ; 0xff 80b2f44: 73fb strb r3, [r7, #15] break; 80b2f46: bf00 nop } return (status); 80b2f48: f997 300f ldrsb.w r3, [r7, #15] } 80b2f4c: 4618 mov r0, r3 80b2f4e: 3714 adds r7, #20 80b2f50: 46bd mov sp, r7 80b2f52: f85d 7b04 ldr.w r7, [sp], #4 80b2f56: 4770 bx lr 80b2f58: 08179f88 .word 0x08179f88 80b2f5c: 0816a17c .word 0x0816a17c 80b2f60: 081702ec .word 0x081702ec 80b2f64: 08176c6c .word 0x08176c6c 80b2f68: 08174b6c .word 0x08174b6c 80b2f6c: 0816e2ec .word 0x0816e2ec 80b2f70: 0817c748 .word 0x0817c748 80b2f74: 08178f88 .word 0x08178f88 80b2f78: 0817cac8 .word 0x0817cac8 80b2f7c: 0817dec8 .word 0x0817dec8 80b2f80: 081742ec .word 0x081742ec 80b2f84: 0817bf48 .word 0x0817bf48 80b2f88: 0817e438 .word 0x0817e438 80b2f8c: 08178b88 .word 0x08178b88 80b2f90: 0817dac8 .word 0x0817dac8 80b2f94: 0816e27c .word 0x0816e27c 80b2f98: 0817bd48 .word 0x0817bd48 80b2f9c: 0817e238 .word 0x0817e238 80b2fa0: 08177b24 .word 0x08177b24 80b2fa4: 08176b6c .word 0x08176b6c 80b2fa8: 0816e17c .word 0x0816e17c 80b2fac: 08177a7c .word 0x08177a7c 80b2fb0: 08174aec .word 0x08174aec 80b2fb4: 08177aa4 .word 0x08177aa4 080b2fb8 : arm_rfft_instance_f32 * S, arm_cfft_radix4_instance_f32 * S_CFFT, uint32_t fftLenReal, uint32_t ifftFlagR, uint32_t bitReverseFlag) { 80b2fb8: b580 push {r7, lr} 80b2fba: b086 sub sp, #24 80b2fbc: af00 add r7, sp, #0 80b2fbe: 60f8 str r0, [r7, #12] 80b2fc0: 60b9 str r1, [r7, #8] 80b2fc2: 607a str r2, [r7, #4] 80b2fc4: 603b str r3, [r7, #0] /* Initialise the default arm status */ arm_status status = ARM_MATH_SUCCESS; 80b2fc6: 2300 movs r3, #0 80b2fc8: 75fb strb r3, [r7, #23] /* Initialize the Real FFT length */ S->fftLenReal = (uint16_t) fftLenReal; 80b2fca: 687b ldr r3, [r7, #4] 80b2fcc: b29b uxth r3, r3 80b2fce: 461a mov r2, r3 80b2fd0: 68fb ldr r3, [r7, #12] 80b2fd2: 601a str r2, [r3, #0] /* Initialize the Complex FFT length */ S->fftLenBy2 = (uint16_t) fftLenReal / 2u; 80b2fd4: 687b ldr r3, [r7, #4] 80b2fd6: b29b uxth r3, r3 80b2fd8: 085b lsrs r3, r3, #1 80b2fda: b29a uxth r2, r3 80b2fdc: 68fb ldr r3, [r7, #12] 80b2fde: 809a strh r2, [r3, #4] /* Initialize the Twiddle coefficientA pointer */ S->pTwiddleAReal = (float32_t *) realCoefA; 80b2fe0: 68fb ldr r3, [r7, #12] 80b2fe2: 4a27 ldr r2, [pc, #156] ; (80b3080 ) 80b2fe4: 60da str r2, [r3, #12] /* Initialize the Twiddle coefficientB pointer */ S->pTwiddleBReal = (float32_t *) realCoefB; 80b2fe6: 68fb ldr r3, [r7, #12] 80b2fe8: 4a26 ldr r2, [pc, #152] ; (80b3084 ) 80b2fea: 611a str r2, [r3, #16] /* Initialize the Flag for selection of RFFT or RIFFT */ S->ifftFlagR = (uint8_t) ifftFlagR; 80b2fec: 683b ldr r3, [r7, #0] 80b2fee: b2da uxtb r2, r3 80b2ff0: 68fb ldr r3, [r7, #12] 80b2ff2: 719a strb r2, [r3, #6] /* Initialize the Flag for calculation Bit reversal or not */ S->bitReverseFlagR = (uint8_t) bitReverseFlag; 80b2ff4: 6a3b ldr r3, [r7, #32] 80b2ff6: b2da uxtb r2, r3 80b2ff8: 68fb ldr r3, [r7, #12] 80b2ffa: 71da strb r2, [r3, #7] /* Initializations of structure parameters depending on the FFT length */ switch (S->fftLenReal) 80b2ffc: 68fb ldr r3, [r7, #12] 80b2ffe: 681b ldr r3, [r3, #0] 80b3000: f5b3 7f00 cmp.w r3, #512 ; 0x200 80b3004: d013 beq.n 80b302e 80b3006: f5b3 7f00 cmp.w r3, #512 ; 0x200 80b300a: d802 bhi.n 80b3012 80b300c: 2b80 cmp r3, #128 ; 0x80 80b300e: d012 beq.n 80b3036 80b3010: e015 b.n 80b303e 80b3012: f5b3 6f00 cmp.w r3, #2048 ; 0x800 80b3016: d006 beq.n 80b3026 80b3018: f5b3 5f00 cmp.w r3, #8192 ; 0x2000 80b301c: d10f bne.n 80b303e { /* Init table modifier value */ case 8192u: S->twidCoefRModifier = 1u; 80b301e: 68fb ldr r3, [r7, #12] 80b3020: 2201 movs r2, #1 80b3022: 609a str r2, [r3, #8] break; 80b3024: e00e b.n 80b3044 case 2048u: S->twidCoefRModifier = 4u; 80b3026: 68fb ldr r3, [r7, #12] 80b3028: 2204 movs r2, #4 80b302a: 609a str r2, [r3, #8] break; 80b302c: e00a b.n 80b3044 case 512u: S->twidCoefRModifier = 16u; 80b302e: 68fb ldr r3, [r7, #12] 80b3030: 2210 movs r2, #16 80b3032: 609a str r2, [r3, #8] break; 80b3034: e006 b.n 80b3044 case 128u: S->twidCoefRModifier = 64u; 80b3036: 68fb ldr r3, [r7, #12] 80b3038: 2240 movs r2, #64 ; 0x40 80b303a: 609a str r2, [r3, #8] break; 80b303c: e002 b.n 80b3044 default: /* Reporting argument error if rfftSize is not valid value */ status = ARM_MATH_ARGUMENT_ERROR; 80b303e: 23ff movs r3, #255 ; 0xff 80b3040: 75fb strb r3, [r7, #23] break; 80b3042: bf00 nop } /* Init Complex FFT Instance */ S->pCfft = S_CFFT; 80b3044: 68fb ldr r3, [r7, #12] 80b3046: 68ba ldr r2, [r7, #8] 80b3048: 615a str r2, [r3, #20] if(S->ifftFlagR) 80b304a: 68fb ldr r3, [r7, #12] 80b304c: 799b ldrb r3, [r3, #6] 80b304e: 2b00 cmp r3, #0 80b3050: d008 beq.n 80b3064 { /* Initializes the CIFFT Module for fftLenreal/2 length */ arm_cfft_radix4_init_f32(S->pCfft, S->fftLenBy2, 1u, 0u); 80b3052: 68fb ldr r3, [r7, #12] 80b3054: 6958 ldr r0, [r3, #20] 80b3056: 68fb ldr r3, [r7, #12] 80b3058: 8899 ldrh r1, [r3, #4] 80b305a: 2300 movs r3, #0 80b305c: 2201 movs r2, #1 80b305e: f7fe f9f9 bl 80b1454 80b3062: e007 b.n 80b3074 } else { /* Initializes the CFFT Module for fftLenreal/2 length */ arm_cfft_radix4_init_f32(S->pCfft, S->fftLenBy2, 0u, 0u); 80b3064: 68fb ldr r3, [r7, #12] 80b3066: 6958 ldr r0, [r3, #20] 80b3068: 68fb ldr r3, [r7, #12] 80b306a: 8899 ldrh r1, [r3, #4] 80b306c: 2300 movs r3, #0 80b306e: 2200 movs r2, #0 80b3070: f7fe f9f0 bl 80b1454 } /* return the status of RFFT Init function */ return (status); 80b3074: f997 3017 ldrsb.w r3, [r7, #23] } 80b3078: 4618 mov r0, r3 80b307a: 3718 adds r7, #24 80b307c: 46bd mov sp, r7 80b307e: bd80 pop {r7, pc} 80b3080: 080ef7f4 .word 0x080ef7f4 80b3084: 080f77f4 .word 0x080f77f4 080b3088 : * @return sin(x). */ float32_t arm_sin_f32( float32_t x) { 80b3088: b480 push {r7} 80b308a: b08b sub sp, #44 ; 0x2c 80b308c: af00 add r7, sp, #0 80b308e: 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; 80b3092: edd7 7a01 vldr s15, [r7, #4] 80b3096: ed9f 7a35 vldr s14, [pc, #212] ; 80b316c 80b309a: ee67 7a87 vmul.f32 s15, s15, s14 80b309e: edc7 7a08 vstr s15, [r7, #32] /* Calculation of floor value of input */ n = (int32_t) in; 80b30a2: edd7 7a08 vldr s15, [r7, #32] 80b30a6: eefd 7ae7 vcvt.s32.f32 s15, s15 80b30aa: ee17 3a90 vmov r3, s15 80b30ae: 627b str r3, [r7, #36] ; 0x24 /* Make negative values towards -infinity */ if(x < 0.0f) 80b30b0: edd7 7a01 vldr s15, [r7, #4] 80b30b4: eef5 7ac0 vcmpe.f32 s15, #0.0 80b30b8: eef1 fa10 vmrs APSR_nzcv, fpscr 80b30bc: d502 bpl.n 80b30c4 { n--; 80b30be: 6a7b ldr r3, [r7, #36] ; 0x24 80b30c0: 3b01 subs r3, #1 80b30c2: 627b str r3, [r7, #36] ; 0x24 } /* Map input value to [0 1] */ in = in - (float32_t) n; 80b30c4: 6a7b ldr r3, [r7, #36] ; 0x24 80b30c6: ee07 3a90 vmov s15, r3 80b30ca: eef8 7ae7 vcvt.f32.s32 s15, s15 80b30ce: ed97 7a08 vldr s14, [r7, #32] 80b30d2: ee77 7a67 vsub.f32 s15, s14, s15 80b30d6: edc7 7a08 vstr s15, [r7, #32] /* Calculation of index of the table */ findex = (float32_t) FAST_MATH_TABLE_SIZE * in; 80b30da: edd7 7a08 vldr s15, [r7, #32] 80b30de: ed9f 7a24 vldr s14, [pc, #144] ; 80b3170 80b30e2: ee67 7a87 vmul.f32 s15, s15, s14 80b30e6: edc7 7a07 vstr s15, [r7, #28] index = ((uint16_t)findex) & 0x1ff; 80b30ea: edd7 7a07 vldr s15, [r7, #28] 80b30ee: eefc 7ae7 vcvt.u32.f32 s15, s15 80b30f2: edc7 7a00 vstr s15, [r7] 80b30f6: 883b ldrh r3, [r7, #0] 80b30f8: b29b uxth r3, r3 80b30fa: f3c3 0308 ubfx r3, r3, #0, #9 80b30fe: 837b strh r3, [r7, #26] /* fractional value calculation */ fract = findex - (float32_t) index; 80b3100: 8b7b ldrh r3, [r7, #26] 80b3102: ee07 3a90 vmov s15, r3 80b3106: eef8 7a67 vcvt.f32.u32 s15, s15 80b310a: ed97 7a07 vldr s14, [r7, #28] 80b310e: ee77 7a67 vsub.f32 s15, s14, s15 80b3112: edc7 7a05 vstr s15, [r7, #20] /* Read two nearest values of input value from the sin table */ a = sinTable_f32[index]; 80b3116: 8b7b ldrh r3, [r7, #26] 80b3118: 4a16 ldr r2, [pc, #88] ; (80b3174 ) 80b311a: 009b lsls r3, r3, #2 80b311c: 4413 add r3, r2 80b311e: 681b ldr r3, [r3, #0] 80b3120: 613b str r3, [r7, #16] b = sinTable_f32[index+1]; 80b3122: 8b7b ldrh r3, [r7, #26] 80b3124: 3301 adds r3, #1 80b3126: 4a13 ldr r2, [pc, #76] ; (80b3174 ) 80b3128: 009b lsls r3, r3, #2 80b312a: 4413 add r3, r2 80b312c: 681b ldr r3, [r3, #0] 80b312e: 60fb str r3, [r7, #12] /* Linear interpolation process */ sinVal = (1.0f-fract)*a + fract*b; 80b3130: eeb7 7a00 vmov.f32 s14, #112 ; 0x3f800000 1.0 80b3134: edd7 7a05 vldr s15, [r7, #20] 80b3138: ee37 7a67 vsub.f32 s14, s14, s15 80b313c: edd7 7a04 vldr s15, [r7, #16] 80b3140: ee27 7a27 vmul.f32 s14, s14, s15 80b3144: edd7 6a05 vldr s13, [r7, #20] 80b3148: edd7 7a03 vldr s15, [r7, #12] 80b314c: ee66 7aa7 vmul.f32 s15, s13, s15 80b3150: ee77 7a27 vadd.f32 s15, s14, s15 80b3154: edc7 7a02 vstr s15, [r7, #8] /* Return the output value */ return (sinVal); 80b3158: 68bb ldr r3, [r7, #8] 80b315a: ee07 3a90 vmov s15, r3 } 80b315e: eeb0 0a67 vmov.f32 s0, s15 80b3162: 372c adds r7, #44 ; 0x2c 80b3164: 46bd mov sp, r7 80b3166: f85d 7b04 ldr.w r7, [sp], #4 80b316a: 4770 bx lr 80b316c: 3e22f983 .word 0x3e22f983 80b3170: 44000000 .word 0x44000000 80b3174: 08178384 .word 0x08178384 080b3178 : * 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) { 80b3178: b580 push {r7, lr} 80b317a: af00 add r7, sp, #0 /* Configure Instruction cache through ART accelerator */ #if (ART_ACCLERATOR_ENABLE != 0) __HAL_FLASH_ART_ENABLE(); 80b317c: 4a0b ldr r2, [pc, #44] ; (80b31ac ) 80b317e: 4b0b ldr r3, [pc, #44] ; (80b31ac ) 80b3180: 681b ldr r3, [r3, #0] 80b3182: f443 7300 orr.w r3, r3, #512 ; 0x200 80b3186: 6013 str r3, [r2, #0] #endif /* ART_ACCLERATOR_ENABLE */ /* Configure Flash prefetch */ #if (PREFETCH_ENABLE != 0U) __HAL_FLASH_PREFETCH_BUFFER_ENABLE(); 80b3188: 4a08 ldr r2, [pc, #32] ; (80b31ac ) 80b318a: 4b08 ldr r3, [pc, #32] ; (80b31ac ) 80b318c: 681b ldr r3, [r3, #0] 80b318e: f443 7380 orr.w r3, r3, #256 ; 0x100 80b3192: 6013 str r3, [r2, #0] #endif /* PREFETCH_ENABLE */ /* Set Interrupt Group Priority */ HAL_NVIC_SetPriorityGrouping(NVIC_PRIORITYGROUP_4); 80b3194: 2003 movs r0, #3 80b3196: f000 ff9b bl 80b40d0 /* Use systick as time base source and configure 1ms tick (default clock after Reset is HSI) */ HAL_InitTick(TICK_INT_PRIORITY); 80b319a: 2000 movs r0, #0 80b319c: f000 f808 bl 80b31b0 /* Init the low level hardware */ HAL_MspInit(); 80b31a0: f7fb f83a bl 80ae218 /* Return function status */ return HAL_OK; 80b31a4: 2300 movs r3, #0 } 80b31a6: 4618 mov r0, r3 80b31a8: bd80 pop {r7, pc} 80b31aa: bf00 nop 80b31ac: 40023c00 .word 0x40023c00 080b31b0 : * implementation in user file. * @param TickPriority Tick interrupt priority. * @retval HAL status */ __weak HAL_StatusTypeDef HAL_InitTick(uint32_t TickPriority) { 80b31b0: b580 push {r7, lr} 80b31b2: b082 sub sp, #8 80b31b4: af00 add r7, sp, #0 80b31b6: 6078 str r0, [r7, #4] /* Configure the SysTick to have interrupt in 1ms time basis*/ if (HAL_SYSTICK_Config(SystemCoreClock / (1000U / uwTickFreq)) > 0U) 80b31b8: 4b12 ldr r3, [pc, #72] ; (80b3204 ) 80b31ba: 681a ldr r2, [r3, #0] 80b31bc: 4b12 ldr r3, [pc, #72] ; (80b3208 ) 80b31be: 781b ldrb r3, [r3, #0] 80b31c0: 4619 mov r1, r3 80b31c2: f44f 737a mov.w r3, #1000 ; 0x3e8 80b31c6: fbb3 f3f1 udiv r3, r3, r1 80b31ca: fbb2 f3f3 udiv r3, r2, r3 80b31ce: 4618 mov r0, r3 80b31d0: f000 ffc5 bl 80b415e 80b31d4: 4603 mov r3, r0 80b31d6: 2b00 cmp r3, #0 80b31d8: d001 beq.n 80b31de { return HAL_ERROR; 80b31da: 2301 movs r3, #1 80b31dc: e00e b.n 80b31fc } /* Configure the SysTick IRQ priority */ if (TickPriority < (1UL << __NVIC_PRIO_BITS)) 80b31de: 687b ldr r3, [r7, #4] 80b31e0: 2b0f cmp r3, #15 80b31e2: d80a bhi.n 80b31fa { HAL_NVIC_SetPriority(SysTick_IRQn, TickPriority, 0U); 80b31e4: 2200 movs r2, #0 80b31e6: 6879 ldr r1, [r7, #4] 80b31e8: f04f 30ff mov.w r0, #4294967295 80b31ec: f000 ff7b bl 80b40e6 uwTickPrio = TickPriority; 80b31f0: 4a06 ldr r2, [pc, #24] ; (80b320c ) 80b31f2: 687b ldr r3, [r7, #4] 80b31f4: 6013 str r3, [r2, #0] { return HAL_ERROR; } /* Return function status */ return HAL_OK; 80b31f6: 2300 movs r3, #0 80b31f8: e000 b.n 80b31fc return HAL_ERROR; 80b31fa: 2301 movs r3, #1 } 80b31fc: 4618 mov r0, r3 80b31fe: 3708 adds r7, #8 80b3200: 46bd mov sp, r7 80b3202: bd80 pop {r7, pc} 80b3204: 200209b4 .word 0x200209b4 80b3208: 200209d8 .word 0x200209d8 80b320c: 200209d4 .word 0x200209d4 080b3210 : * @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) { 80b3210: b480 push {r7} 80b3212: af00 add r7, sp, #0 uwTick += uwTickFreq; 80b3214: 4b06 ldr r3, [pc, #24] ; (80b3230 ) 80b3216: 781b ldrb r3, [r3, #0] 80b3218: 461a mov r2, r3 80b321a: 4b06 ldr r3, [pc, #24] ; (80b3234 ) 80b321c: 681b ldr r3, [r3, #0] 80b321e: 4413 add r3, r2 80b3220: 4a04 ldr r2, [pc, #16] ; (80b3234 ) 80b3222: 6013 str r3, [r2, #0] } 80b3224: bf00 nop 80b3226: 46bd mov sp, r7 80b3228: f85d 7b04 ldr.w r7, [sp], #4 80b322c: 4770 bx lr 80b322e: bf00 nop 80b3230: 200209d8 .word 0x200209d8 80b3234: 20068aa8 .word 0x20068aa8 080b3238 : * @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) { 80b3238: b480 push {r7} 80b323a: af00 add r7, sp, #0 return uwTick; 80b323c: 4b03 ldr r3, [pc, #12] ; (80b324c ) 80b323e: 681b ldr r3, [r3, #0] } 80b3240: 4618 mov r0, r3 80b3242: 46bd mov sp, r7 80b3244: f85d 7b04 ldr.w r7, [sp], #4 80b3248: 4770 bx lr 80b324a: bf00 nop 80b324c: 20068aa8 .word 0x20068aa8 080b3250 : * implementations in user file. * @param Delay specifies the delay time length, in milliseconds. * @retval None */ __weak void HAL_Delay(uint32_t Delay) { 80b3250: b580 push {r7, lr} 80b3252: b084 sub sp, #16 80b3254: af00 add r7, sp, #0 80b3256: 6078 str r0, [r7, #4] uint32_t tickstart = HAL_GetTick(); 80b3258: f7ff ffee bl 80b3238 80b325c: 60b8 str r0, [r7, #8] uint32_t wait = Delay; 80b325e: 687b ldr r3, [r7, #4] 80b3260: 60fb str r3, [r7, #12] /* Add a freq to guarantee minimum wait */ if (wait < HAL_MAX_DELAY) 80b3262: 68fb ldr r3, [r7, #12] 80b3264: f1b3 3fff cmp.w r3, #4294967295 80b3268: d005 beq.n 80b3276 { wait += (uint32_t)(uwTickFreq); 80b326a: 4b09 ldr r3, [pc, #36] ; (80b3290 ) 80b326c: 781b ldrb r3, [r3, #0] 80b326e: 461a mov r2, r3 80b3270: 68fb ldr r3, [r7, #12] 80b3272: 4413 add r3, r2 80b3274: 60fb str r3, [r7, #12] } while ((HAL_GetTick() - tickstart) < wait) 80b3276: bf00 nop 80b3278: f7ff ffde bl 80b3238 80b327c: 4602 mov r2, r0 80b327e: 68bb ldr r3, [r7, #8] 80b3280: 1ad2 subs r2, r2, r3 80b3282: 68fb ldr r3, [r7, #12] 80b3284: 429a cmp r2, r3 80b3286: d3f7 bcc.n 80b3278 { } } 80b3288: bf00 nop 80b328a: 3710 adds r7, #16 80b328c: 46bd mov sp, r7 80b328e: bd80 pop {r7, pc} 80b3290: 200209d8 .word 0x200209d8 080b3294 : * @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) { 80b3294: b580 push {r7, lr} 80b3296: b084 sub sp, #16 80b3298: af00 add r7, sp, #0 80b329a: 6078 str r0, [r7, #4] HAL_StatusTypeDef tmp_hal_status = HAL_OK; 80b329c: 2300 movs r3, #0 80b329e: 73fb strb r3, [r7, #15] /* Check ADC handle */ if(hadc == NULL) 80b32a0: 687b ldr r3, [r7, #4] 80b32a2: 2b00 cmp r3, #0 80b32a4: d101 bne.n 80b32aa { return HAL_ERROR; 80b32a6: 2301 movs r3, #1 80b32a8: e031 b.n 80b330e if(hadc->Init.ExternalTrigConv != ADC_SOFTWARE_START) { assert_param(IS_ADC_EXT_TRIG_EDGE(hadc->Init.ExternalTrigConvEdge)); } if(hadc->State == HAL_ADC_STATE_RESET) 80b32aa: 687b ldr r3, [r7, #4] 80b32ac: 6c1b ldr r3, [r3, #64] ; 0x40 80b32ae: 2b00 cmp r3, #0 80b32b0: d109 bne.n 80b32c6 /* Init the low level hardware */ hadc->MspInitCallback(hadc); #else /* Init the low level hardware */ HAL_ADC_MspInit(hadc); 80b32b2: 6878 ldr r0, [r7, #4] 80b32b4: f76d fc5a bl 8020b6c #endif /* USE_HAL_ADC_REGISTER_CALLBACKS */ /* Initialize ADC error code */ ADC_CLEAR_ERRORCODE(hadc); 80b32b8: 687b ldr r3, [r7, #4] 80b32ba: 2200 movs r2, #0 80b32bc: 645a str r2, [r3, #68] ; 0x44 /* Allocate lock resource and initialize it */ hadc->Lock = HAL_UNLOCKED; 80b32be: 687b ldr r3, [r7, #4] 80b32c0: 2200 movs r2, #0 80b32c2: 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)) 80b32c6: 687b ldr r3, [r7, #4] 80b32c8: 6c1b ldr r3, [r3, #64] ; 0x40 80b32ca: f003 0310 and.w r3, r3, #16 80b32ce: 2b00 cmp r3, #0 80b32d0: d116 bne.n 80b3300 { /* Set ADC state */ ADC_STATE_CLR_SET(hadc->State, 80b32d2: 687b ldr r3, [r7, #4] 80b32d4: 6c1a ldr r2, [r3, #64] ; 0x40 80b32d6: 4b10 ldr r3, [pc, #64] ; (80b3318 ) 80b32d8: 4013 ands r3, r2 80b32da: f043 0202 orr.w r2, r3, #2 80b32de: 687b ldr r3, [r7, #4] 80b32e0: 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); 80b32e2: 6878 ldr r0, [r7, #4] 80b32e4: f000 fc74 bl 80b3bd0 /* Set ADC error code to none */ ADC_CLEAR_ERRORCODE(hadc); 80b32e8: 687b ldr r3, [r7, #4] 80b32ea: 2200 movs r2, #0 80b32ec: 645a str r2, [r3, #68] ; 0x44 /* Set the ADC state */ ADC_STATE_CLR_SET(hadc->State, 80b32ee: 687b ldr r3, [r7, #4] 80b32f0: 6c1b ldr r3, [r3, #64] ; 0x40 80b32f2: f023 0303 bic.w r3, r3, #3 80b32f6: f043 0201 orr.w r2, r3, #1 80b32fa: 687b ldr r3, [r7, #4] 80b32fc: 641a str r2, [r3, #64] ; 0x40 80b32fe: e001 b.n 80b3304 HAL_ADC_STATE_BUSY_INTERNAL, HAL_ADC_STATE_READY); } else { tmp_hal_status = HAL_ERROR; 80b3300: 2301 movs r3, #1 80b3302: 73fb strb r3, [r7, #15] } /* Release Lock */ __HAL_UNLOCK(hadc); 80b3304: 687b ldr r3, [r7, #4] 80b3306: 2200 movs r2, #0 80b3308: f883 203c strb.w r2, [r3, #60] ; 0x3c /* Return function status */ return tmp_hal_status; 80b330c: 7bfb ldrb r3, [r7, #15] } 80b330e: 4618 mov r0, r3 80b3310: 3710 adds r7, #16 80b3312: 46bd mov sp, r7 80b3314: bd80 pop {r7, pc} 80b3316: bf00 nop 80b3318: ffffeefd .word 0xffffeefd 080b331c : * @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) { 80b331c: b480 push {r7} 80b331e: b085 sub sp, #20 80b3320: af00 add r7, sp, #0 80b3322: 6078 str r0, [r7, #4] __IO uint32_t counter = 0; 80b3324: 2300 movs r3, #0 80b3326: 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); 80b3328: 687b ldr r3, [r7, #4] 80b332a: f893 303c ldrb.w r3, [r3, #60] ; 0x3c 80b332e: 2b01 cmp r3, #1 80b3330: d101 bne.n 80b3336 80b3332: 2302 movs r3, #2 80b3334: e0ad b.n 80b3492 80b3336: 687b ldr r3, [r7, #4] 80b3338: 2201 movs r2, #1 80b333a: 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) 80b333e: 687b ldr r3, [r7, #4] 80b3340: 681b ldr r3, [r3, #0] 80b3342: 689b ldr r3, [r3, #8] 80b3344: f003 0301 and.w r3, r3, #1 80b3348: 2b01 cmp r3, #1 80b334a: d018 beq.n 80b337e { /* Enable the Peripheral */ __HAL_ADC_ENABLE(hadc); 80b334c: 687b ldr r3, [r7, #4] 80b334e: 681b ldr r3, [r3, #0] 80b3350: 687a ldr r2, [r7, #4] 80b3352: 6812 ldr r2, [r2, #0] 80b3354: 6892 ldr r2, [r2, #8] 80b3356: f042 0201 orr.w r2, r2, #1 80b335a: 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)); 80b335c: 4b50 ldr r3, [pc, #320] ; (80b34a0 ) 80b335e: 681b ldr r3, [r3, #0] 80b3360: 4a50 ldr r2, [pc, #320] ; (80b34a4 ) 80b3362: fba2 2303 umull r2, r3, r2, r3 80b3366: 0c9a lsrs r2, r3, #18 80b3368: 4613 mov r3, r2 80b336a: 005b lsls r3, r3, #1 80b336c: 4413 add r3, r2 80b336e: 60fb str r3, [r7, #12] while(counter != 0) 80b3370: e002 b.n 80b3378 { counter--; 80b3372: 68fb ldr r3, [r7, #12] 80b3374: 3b01 subs r3, #1 80b3376: 60fb str r3, [r7, #12] while(counter != 0) 80b3378: 68fb ldr r3, [r7, #12] 80b337a: 2b00 cmp r3, #0 80b337c: d1f9 bne.n 80b3372 } } /* Start conversion if ADC is effectively enabled */ if(HAL_IS_BIT_SET(hadc->Instance->CR2, ADC_CR2_ADON)) 80b337e: 687b ldr r3, [r7, #4] 80b3380: 681b ldr r3, [r3, #0] 80b3382: 689b ldr r3, [r3, #8] 80b3384: f003 0301 and.w r3, r3, #1 80b3388: 2b01 cmp r3, #1 80b338a: d175 bne.n 80b3478 { /* 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, 80b338c: 687b ldr r3, [r7, #4] 80b338e: 6c1a ldr r2, [r3, #64] ; 0x40 80b3390: 4b45 ldr r3, [pc, #276] ; (80b34a8 ) 80b3392: 4013 ands r3, r2 80b3394: f443 7280 orr.w r2, r3, #256 ; 0x100 80b3398: 687b ldr r3, [r7, #4] 80b339a: 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) 80b339c: 687b ldr r3, [r7, #4] 80b339e: 681b ldr r3, [r3, #0] 80b33a0: 685b ldr r3, [r3, #4] 80b33a2: f403 6380 and.w r3, r3, #1024 ; 0x400 80b33a6: 2b00 cmp r3, #0 80b33a8: d007 beq.n 80b33ba { ADC_STATE_CLR_SET(hadc->State, HAL_ADC_STATE_INJ_EOC, HAL_ADC_STATE_INJ_BUSY); 80b33aa: 687b ldr r3, [r7, #4] 80b33ac: 6c1b ldr r3, [r3, #64] ; 0x40 80b33ae: f423 5340 bic.w r3, r3, #12288 ; 0x3000 80b33b2: f443 5280 orr.w r2, r3, #4096 ; 0x1000 80b33b6: 687b ldr r3, [r7, #4] 80b33b8: 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)) 80b33ba: 687b ldr r3, [r7, #4] 80b33bc: 6c1b ldr r3, [r3, #64] ; 0x40 80b33be: f403 5380 and.w r3, r3, #4096 ; 0x1000 80b33c2: f5b3 5f80 cmp.w r3, #4096 ; 0x1000 80b33c6: d106 bne.n 80b33d6 { /* Reset ADC error code fields related to conversions on group regular */ CLEAR_BIT(hadc->ErrorCode, (HAL_ADC_ERROR_OVR | HAL_ADC_ERROR_DMA)); 80b33c8: 687b ldr r3, [r7, #4] 80b33ca: 6c5b ldr r3, [r3, #68] ; 0x44 80b33cc: f023 0206 bic.w r2, r3, #6 80b33d0: 687b ldr r3, [r7, #4] 80b33d2: 645a str r2, [r3, #68] ; 0x44 80b33d4: e002 b.n 80b33dc } else { /* Reset ADC all error code fields */ ADC_CLEAR_ERRORCODE(hadc); 80b33d6: 687b ldr r3, [r7, #4] 80b33d8: 2200 movs r2, #0 80b33da: 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); 80b33dc: 687b ldr r3, [r7, #4] 80b33de: 2200 movs r2, #0 80b33e0: 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); 80b33e4: 687b ldr r3, [r7, #4] 80b33e6: 681b ldr r3, [r3, #0] 80b33e8: f06f 0222 mvn.w r2, #34 ; 0x22 80b33ec: 601a str r2, [r3, #0] /* Check if Multimode enabled */ if(HAL_IS_BIT_CLR(ADC->CCR, ADC_CCR_MULTI)) 80b33ee: 4b2f ldr r3, [pc, #188] ; (80b34ac ) 80b33f0: 685b ldr r3, [r3, #4] 80b33f2: f003 031f and.w r3, r3, #31 80b33f6: 2b00 cmp r3, #0 80b33f8: d10f bne.n 80b341a { /* if no external trigger present enable software conversion of regular channels */ if((hadc->Instance->CR2 & ADC_CR2_EXTEN) == RESET) 80b33fa: 687b ldr r3, [r7, #4] 80b33fc: 681b ldr r3, [r3, #0] 80b33fe: 689b ldr r3, [r3, #8] 80b3400: f003 5340 and.w r3, r3, #805306368 ; 0x30000000 80b3404: 2b00 cmp r3, #0 80b3406: d143 bne.n 80b3490 { /* Enable the selected ADC software conversion for regular group */ hadc->Instance->CR2 |= (uint32_t)ADC_CR2_SWSTART; 80b3408: 687b ldr r3, [r7, #4] 80b340a: 681b ldr r3, [r3, #0] 80b340c: 687a ldr r2, [r7, #4] 80b340e: 6812 ldr r2, [r2, #0] 80b3410: 6892 ldr r2, [r2, #8] 80b3412: f042 4280 orr.w r2, r2, #1073741824 ; 0x40000000 80b3416: 609a str r2, [r3, #8] 80b3418: e03a b.n 80b3490 } } 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)) 80b341a: 687b ldr r3, [r7, #4] 80b341c: 681b ldr r3, [r3, #0] 80b341e: 4a24 ldr r2, [pc, #144] ; (80b34b0 ) 80b3420: 4293 cmp r3, r2 80b3422: d10e bne.n 80b3442 80b3424: 687b ldr r3, [r7, #4] 80b3426: 681b ldr r3, [r3, #0] 80b3428: 689b ldr r3, [r3, #8] 80b342a: f003 5340 and.w r3, r3, #805306368 ; 0x30000000 80b342e: 2b00 cmp r3, #0 80b3430: d107 bne.n 80b3442 { /* Enable the selected ADC software conversion for regular group */ hadc->Instance->CR2 |= (uint32_t)ADC_CR2_SWSTART; 80b3432: 687b ldr r3, [r7, #4] 80b3434: 681b ldr r3, [r3, #0] 80b3436: 687a ldr r2, [r7, #4] 80b3438: 6812 ldr r2, [r2, #0] 80b343a: 6892 ldr r2, [r2, #8] 80b343c: f042 4280 orr.w r2, r2, #1073741824 ; 0x40000000 80b3440: 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) ) 80b3442: 4b1a ldr r3, [pc, #104] ; (80b34ac ) 80b3444: 685b ldr r3, [r3, #4] 80b3446: f003 0310 and.w r3, r3, #16 80b344a: 2b00 cmp r3, #0 80b344c: d120 bne.n 80b3490 { /* 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)) 80b344e: 687b ldr r3, [r7, #4] 80b3450: 681b ldr r3, [r3, #0] 80b3452: 4a18 ldr r2, [pc, #96] ; (80b34b4 ) 80b3454: 4293 cmp r3, r2 80b3456: d11b bne.n 80b3490 80b3458: 687b ldr r3, [r7, #4] 80b345a: 681b ldr r3, [r3, #0] 80b345c: 689b ldr r3, [r3, #8] 80b345e: f003 5340 and.w r3, r3, #805306368 ; 0x30000000 80b3462: 2b00 cmp r3, #0 80b3464: d114 bne.n 80b3490 { /* Enable the selected ADC software conversion for regular group */ hadc->Instance->CR2 |= (uint32_t)ADC_CR2_SWSTART; 80b3466: 687b ldr r3, [r7, #4] 80b3468: 681b ldr r3, [r3, #0] 80b346a: 687a ldr r2, [r7, #4] 80b346c: 6812 ldr r2, [r2, #0] 80b346e: 6892 ldr r2, [r2, #8] 80b3470: f042 4280 orr.w r2, r2, #1073741824 ; 0x40000000 80b3474: 609a str r2, [r3, #8] 80b3476: e00b b.n 80b3490 } } else { /* Update ADC state machine to error */ SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL); 80b3478: 687b ldr r3, [r7, #4] 80b347a: 6c1b ldr r3, [r3, #64] ; 0x40 80b347c: f043 0210 orr.w r2, r3, #16 80b3480: 687b ldr r3, [r7, #4] 80b3482: 641a str r2, [r3, #64] ; 0x40 /* Set ADC error code to ADC IP internal error */ SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_INTERNAL); 80b3484: 687b ldr r3, [r7, #4] 80b3486: 6c5b ldr r3, [r3, #68] ; 0x44 80b3488: f043 0201 orr.w r2, r3, #1 80b348c: 687b ldr r3, [r7, #4] 80b348e: 645a str r2, [r3, #68] ; 0x44 } /* Return function status */ return HAL_OK; 80b3490: 2300 movs r3, #0 } 80b3492: 4618 mov r0, r3 80b3494: 3714 adds r7, #20 80b3496: 46bd mov sp, r7 80b3498: f85d 7b04 ldr.w r7, [sp], #4 80b349c: 4770 bx lr 80b349e: bf00 nop 80b34a0: 200209b4 .word 0x200209b4 80b34a4: 431bde83 .word 0x431bde83 80b34a8: fffff8fe .word 0xfffff8fe 80b34ac: 40012300 .word 0x40012300 80b34b0: 40012000 .word 0x40012000 80b34b4: 40012200 .word 0x40012200 080b34b8 : * the configuration information for the specified ADC. * * @retval HAL status. */ HAL_StatusTypeDef HAL_ADC_Stop(ADC_HandleTypeDef* hadc) { 80b34b8: b480 push {r7} 80b34ba: b083 sub sp, #12 80b34bc: af00 add r7, sp, #0 80b34be: 6078 str r0, [r7, #4] /* Check the parameters */ assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); /* Process locked */ __HAL_LOCK(hadc); 80b34c0: 687b ldr r3, [r7, #4] 80b34c2: f893 303c ldrb.w r3, [r3, #60] ; 0x3c 80b34c6: 2b01 cmp r3, #1 80b34c8: d101 bne.n 80b34ce 80b34ca: 2302 movs r3, #2 80b34cc: e01f b.n 80b350e 80b34ce: 687b ldr r3, [r7, #4] 80b34d0: 2201 movs r2, #1 80b34d2: 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); 80b34d6: 687b ldr r3, [r7, #4] 80b34d8: 681b ldr r3, [r3, #0] 80b34da: 687a ldr r2, [r7, #4] 80b34dc: 6812 ldr r2, [r2, #0] 80b34de: 6892 ldr r2, [r2, #8] 80b34e0: f022 0201 bic.w r2, r2, #1 80b34e4: 609a str r2, [r3, #8] /* Check if ADC is effectively disabled */ if(HAL_IS_BIT_CLR(hadc->Instance->CR2, ADC_CR2_ADON)) 80b34e6: 687b ldr r3, [r7, #4] 80b34e8: 681b ldr r3, [r3, #0] 80b34ea: 689b ldr r3, [r3, #8] 80b34ec: f003 0301 and.w r3, r3, #1 80b34f0: 2b00 cmp r3, #0 80b34f2: d107 bne.n 80b3504 { /* Set ADC state */ ADC_STATE_CLR_SET(hadc->State, 80b34f4: 687b ldr r3, [r7, #4] 80b34f6: 6c1a ldr r2, [r3, #64] ; 0x40 80b34f8: 4b08 ldr r3, [pc, #32] ; (80b351c ) 80b34fa: 4013 ands r3, r2 80b34fc: f043 0201 orr.w r2, r3, #1 80b3500: 687b ldr r3, [r7, #4] 80b3502: 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); 80b3504: 687b ldr r3, [r7, #4] 80b3506: 2200 movs r2, #0 80b3508: f883 203c strb.w r2, [r3, #60] ; 0x3c /* Return function status */ return HAL_OK; 80b350c: 2300 movs r3, #0 } 80b350e: 4618 mov r0, r3 80b3510: 370c adds r7, #12 80b3512: 46bd mov sp, r7 80b3514: f85d 7b04 ldr.w r7, [sp], #4 80b3518: 4770 bx lr 80b351a: bf00 nop 80b351c: ffffeefe .word 0xffffeefe 080b3520 : * 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) { 80b3520: b580 push {r7, lr} 80b3522: b084 sub sp, #16 80b3524: af00 add r7, sp, #0 80b3526: 6078 str r0, [r7, #4] 80b3528: 6039 str r1, [r7, #0] uint32_t tickstart = 0; 80b352a: 2300 movs r3, #0 80b352c: 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) && 80b352e: 687b ldr r3, [r7, #4] 80b3530: 681b ldr r3, [r3, #0] 80b3532: 689b ldr r3, [r3, #8] 80b3534: f403 6380 and.w r3, r3, #1024 ; 0x400 80b3538: f5b3 6f80 cmp.w r3, #1024 ; 0x400 80b353c: d113 bne.n 80b3566 HAL_IS_BIT_SET(hadc->Instance->CR2, ADC_CR2_DMA) ) 80b353e: 687b ldr r3, [r7, #4] 80b3540: 681b ldr r3, [r3, #0] 80b3542: 689b ldr r3, [r3, #8] 80b3544: f403 7380 and.w r3, r3, #256 ; 0x100 if (HAL_IS_BIT_SET(hadc->Instance->CR2, ADC_CR2_EOCS) && 80b3548: f5b3 7f80 cmp.w r3, #256 ; 0x100 80b354c: d10b bne.n 80b3566 { /* Update ADC state machine to error */ SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_CONFIG); 80b354e: 687b ldr r3, [r7, #4] 80b3550: 6c1b ldr r3, [r3, #64] ; 0x40 80b3552: f043 0220 orr.w r2, r3, #32 80b3556: 687b ldr r3, [r7, #4] 80b3558: 641a str r2, [r3, #64] ; 0x40 /* Process unlocked */ __HAL_UNLOCK(hadc); 80b355a: 687b ldr r3, [r7, #4] 80b355c: 2200 movs r2, #0 80b355e: f883 203c strb.w r2, [r3, #60] ; 0x3c return HAL_ERROR; 80b3562: 2301 movs r3, #1 80b3564: e063 b.n 80b362e } /* Get tick */ tickstart = HAL_GetTick(); 80b3566: f7ff fe67 bl 80b3238 80b356a: 60f8 str r0, [r7, #12] /* Check End of conversion flag */ while(!(__HAL_ADC_GET_FLAG(hadc, ADC_FLAG_EOC))) 80b356c: e021 b.n 80b35b2 { /* Check if timeout is disabled (set to infinite wait) */ if(Timeout != HAL_MAX_DELAY) 80b356e: 683b ldr r3, [r7, #0] 80b3570: f1b3 3fff cmp.w r3, #4294967295 80b3574: d01d beq.n 80b35b2 { if((Timeout == 0) || ((HAL_GetTick() - tickstart ) > Timeout)) 80b3576: 683b ldr r3, [r7, #0] 80b3578: 2b00 cmp r3, #0 80b357a: d007 beq.n 80b358c 80b357c: f7ff fe5c bl 80b3238 80b3580: 4602 mov r2, r0 80b3582: 68fb ldr r3, [r7, #12] 80b3584: 1ad2 subs r2, r2, r3 80b3586: 683b ldr r3, [r7, #0] 80b3588: 429a cmp r2, r3 80b358a: d912 bls.n 80b35b2 { /* New check to avoid false timeout detection in case of preemption */ if(!(__HAL_ADC_GET_FLAG(hadc, ADC_FLAG_EOC))) 80b358c: 687b ldr r3, [r7, #4] 80b358e: 681b ldr r3, [r3, #0] 80b3590: 681b ldr r3, [r3, #0] 80b3592: f003 0302 and.w r3, r3, #2 80b3596: 2b02 cmp r3, #2 80b3598: d00b beq.n 80b35b2 { /* Update ADC state machine to timeout */ SET_BIT(hadc->State, HAL_ADC_STATE_TIMEOUT); 80b359a: 687b ldr r3, [r7, #4] 80b359c: 6c1b ldr r3, [r3, #64] ; 0x40 80b359e: f043 0204 orr.w r2, r3, #4 80b35a2: 687b ldr r3, [r7, #4] 80b35a4: 641a str r2, [r3, #64] ; 0x40 /* Process unlocked */ __HAL_UNLOCK(hadc); 80b35a6: 687b ldr r3, [r7, #4] 80b35a8: 2200 movs r2, #0 80b35aa: f883 203c strb.w r2, [r3, #60] ; 0x3c return HAL_TIMEOUT; 80b35ae: 2303 movs r3, #3 80b35b0: e03d b.n 80b362e while(!(__HAL_ADC_GET_FLAG(hadc, ADC_FLAG_EOC))) 80b35b2: 687b ldr r3, [r7, #4] 80b35b4: 681b ldr r3, [r3, #0] 80b35b6: 681b ldr r3, [r3, #0] 80b35b8: f003 0302 and.w r3, r3, #2 80b35bc: 2b02 cmp r3, #2 80b35be: d1d6 bne.n 80b356e } } } /* Clear regular group conversion flag */ __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_STRT | ADC_FLAG_EOC); 80b35c0: 687b ldr r3, [r7, #4] 80b35c2: 681b ldr r3, [r3, #0] 80b35c4: f06f 0212 mvn.w r2, #18 80b35c8: 601a str r2, [r3, #0] /* Update ADC state machine */ SET_BIT(hadc->State, HAL_ADC_STATE_REG_EOC); 80b35ca: 687b ldr r3, [r7, #4] 80b35cc: 6c1b ldr r3, [r3, #64] ; 0x40 80b35ce: f443 7200 orr.w r2, r3, #512 ; 0x200 80b35d2: 687b ldr r3, [r7, #4] 80b35d4: 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) && 80b35d6: 687b ldr r3, [r7, #4] 80b35d8: 681b ldr r3, [r3, #0] 80b35da: 689b ldr r3, [r3, #8] 80b35dc: f003 5340 and.w r3, r3, #805306368 ; 0x30000000 80b35e0: 2b00 cmp r3, #0 80b35e2: d123 bne.n 80b362c (hadc->Init.ContinuousConvMode == DISABLE) && 80b35e4: 687b ldr r3, [r7, #4] 80b35e6: 699b ldr r3, [r3, #24] if(ADC_IS_SOFTWARE_START_REGULAR(hadc) && 80b35e8: 2b00 cmp r3, #0 80b35ea: d11f bne.n 80b362c (HAL_IS_BIT_CLR(hadc->Instance->SQR1, ADC_SQR1_L) || 80b35ec: 687b ldr r3, [r7, #4] 80b35ee: 681b ldr r3, [r3, #0] 80b35f0: 6adb ldr r3, [r3, #44] ; 0x2c 80b35f2: f403 0370 and.w r3, r3, #15728640 ; 0xf00000 (hadc->Init.ContinuousConvMode == DISABLE) && 80b35f6: 2b00 cmp r3, #0 80b35f8: d006 beq.n 80b3608 HAL_IS_BIT_CLR(hadc->Instance->CR2, ADC_CR2_EOCS) ) ) 80b35fa: 687b ldr r3, [r7, #4] 80b35fc: 681b ldr r3, [r3, #0] 80b35fe: 689b ldr r3, [r3, #8] 80b3600: f403 6380 and.w r3, r3, #1024 ; 0x400 (HAL_IS_BIT_CLR(hadc->Instance->SQR1, ADC_SQR1_L) || 80b3604: 2b00 cmp r3, #0 80b3606: d111 bne.n 80b362c { /* Set ADC state */ CLEAR_BIT(hadc->State, HAL_ADC_STATE_REG_BUSY); 80b3608: 687b ldr r3, [r7, #4] 80b360a: 6c1b ldr r3, [r3, #64] ; 0x40 80b360c: f423 7280 bic.w r2, r3, #256 ; 0x100 80b3610: 687b ldr r3, [r7, #4] 80b3612: 641a str r2, [r3, #64] ; 0x40 if (HAL_IS_BIT_CLR(hadc->State, HAL_ADC_STATE_INJ_BUSY)) 80b3614: 687b ldr r3, [r7, #4] 80b3616: 6c1b ldr r3, [r3, #64] ; 0x40 80b3618: f403 5380 and.w r3, r3, #4096 ; 0x1000 80b361c: 2b00 cmp r3, #0 80b361e: d105 bne.n 80b362c { SET_BIT(hadc->State, HAL_ADC_STATE_READY); 80b3620: 687b ldr r3, [r7, #4] 80b3622: 6c1b ldr r3, [r3, #64] ; 0x40 80b3624: f043 0201 orr.w r2, r3, #1 80b3628: 687b ldr r3, [r7, #4] 80b362a: 641a str r2, [r3, #64] ; 0x40 } } /* Return ADC state */ return HAL_OK; 80b362c: 2300 movs r3, #0 } 80b362e: 4618 mov r0, r3 80b3630: 3710 adds r7, #16 80b3632: 46bd mov sp, r7 80b3634: bd80 pop {r7, pc} ... 080b3638 : * @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) { 80b3638: b580 push {r7, lr} 80b363a: b086 sub sp, #24 80b363c: af00 add r7, sp, #0 80b363e: 60f8 str r0, [r7, #12] 80b3640: 60b9 str r1, [r7, #8] 80b3642: 607a str r2, [r7, #4] __IO uint32_t counter = 0; 80b3644: 2300 movs r3, #0 80b3646: 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); 80b3648: 68fb ldr r3, [r7, #12] 80b364a: f893 303c ldrb.w r3, [r3, #60] ; 0x3c 80b364e: 2b01 cmp r3, #1 80b3650: d101 bne.n 80b3656 80b3652: 2302 movs r3, #2 80b3654: e0d4 b.n 80b3800 80b3656: 68fb ldr r3, [r7, #12] 80b3658: 2201 movs r2, #1 80b365a: 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) 80b365e: 68fb ldr r3, [r7, #12] 80b3660: 681b ldr r3, [r3, #0] 80b3662: 689b ldr r3, [r3, #8] 80b3664: f003 0301 and.w r3, r3, #1 80b3668: 2b01 cmp r3, #1 80b366a: d018 beq.n 80b369e { /* Enable the Peripheral */ __HAL_ADC_ENABLE(hadc); 80b366c: 68fb ldr r3, [r7, #12] 80b366e: 681b ldr r3, [r3, #0] 80b3670: 68fa ldr r2, [r7, #12] 80b3672: 6812 ldr r2, [r2, #0] 80b3674: 6892 ldr r2, [r2, #8] 80b3676: f042 0201 orr.w r2, r2, #1 80b367a: 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)); 80b367c: 4b62 ldr r3, [pc, #392] ; (80b3808 ) 80b367e: 681b ldr r3, [r3, #0] 80b3680: 4a62 ldr r2, [pc, #392] ; (80b380c ) 80b3682: fba2 2303 umull r2, r3, r2, r3 80b3686: 0c9a lsrs r2, r3, #18 80b3688: 4613 mov r3, r2 80b368a: 005b lsls r3, r3, #1 80b368c: 4413 add r3, r2 80b368e: 617b str r3, [r7, #20] while(counter != 0) 80b3690: e002 b.n 80b3698 { counter--; 80b3692: 697b ldr r3, [r7, #20] 80b3694: 3b01 subs r3, #1 80b3696: 617b str r3, [r7, #20] while(counter != 0) 80b3698: 697b ldr r3, [r7, #20] 80b369a: 2b00 cmp r3, #0 80b369c: d1f9 bne.n 80b3692 } } /* Start conversion if ADC is effectively enabled */ if(HAL_IS_BIT_SET(hadc->Instance->CR2, ADC_CR2_ADON)) 80b369e: 68fb ldr r3, [r7, #12] 80b36a0: 681b ldr r3, [r3, #0] 80b36a2: 689b ldr r3, [r3, #8] 80b36a4: f003 0301 and.w r3, r3, #1 80b36a8: 2b01 cmp r3, #1 80b36aa: f040 809c bne.w 80b37e6 { /* 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, 80b36ae: 68fb ldr r3, [r7, #12] 80b36b0: 6c1a ldr r2, [r3, #64] ; 0x40 80b36b2: 4b57 ldr r3, [pc, #348] ; (80b3810 ) 80b36b4: 4013 ands r3, r2 80b36b6: f443 7280 orr.w r2, r3, #256 ; 0x100 80b36ba: 68fb ldr r3, [r7, #12] 80b36bc: 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) 80b36be: 68fb ldr r3, [r7, #12] 80b36c0: 681b ldr r3, [r3, #0] 80b36c2: 685b ldr r3, [r3, #4] 80b36c4: f403 6380 and.w r3, r3, #1024 ; 0x400 80b36c8: 2b00 cmp r3, #0 80b36ca: d007 beq.n 80b36dc { ADC_STATE_CLR_SET(hadc->State, HAL_ADC_STATE_INJ_EOC, HAL_ADC_STATE_INJ_BUSY); 80b36cc: 68fb ldr r3, [r7, #12] 80b36ce: 6c1b ldr r3, [r3, #64] ; 0x40 80b36d0: f423 5340 bic.w r3, r3, #12288 ; 0x3000 80b36d4: f443 5280 orr.w r2, r3, #4096 ; 0x1000 80b36d8: 68fb ldr r3, [r7, #12] 80b36da: 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)) 80b36dc: 68fb ldr r3, [r7, #12] 80b36de: 6c1b ldr r3, [r3, #64] ; 0x40 80b36e0: f403 5380 and.w r3, r3, #4096 ; 0x1000 80b36e4: f5b3 5f80 cmp.w r3, #4096 ; 0x1000 80b36e8: d106 bne.n 80b36f8 { /* Reset ADC error code fields related to conversions on group regular */ CLEAR_BIT(hadc->ErrorCode, (HAL_ADC_ERROR_OVR | HAL_ADC_ERROR_DMA)); 80b36ea: 68fb ldr r3, [r7, #12] 80b36ec: 6c5b ldr r3, [r3, #68] ; 0x44 80b36ee: f023 0206 bic.w r2, r3, #6 80b36f2: 68fb ldr r3, [r7, #12] 80b36f4: 645a str r2, [r3, #68] ; 0x44 80b36f6: e002 b.n 80b36fe } else { /* Reset ADC all error code fields */ ADC_CLEAR_ERRORCODE(hadc); 80b36f8: 68fb ldr r3, [r7, #12] 80b36fa: 2200 movs r2, #0 80b36fc: 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); 80b36fe: 68fb ldr r3, [r7, #12] 80b3700: 2200 movs r2, #0 80b3702: f883 203c strb.w r2, [r3, #60] ; 0x3c /* Set the DMA transfer complete callback */ hadc->DMA_Handle->XferCpltCallback = ADC_DMAConvCplt; 80b3706: 68fb ldr r3, [r7, #12] 80b3708: 6b9b ldr r3, [r3, #56] ; 0x38 80b370a: 4a42 ldr r2, [pc, #264] ; (80b3814 ) 80b370c: 63da str r2, [r3, #60] ; 0x3c /* Set the DMA half transfer complete callback */ hadc->DMA_Handle->XferHalfCpltCallback = ADC_DMAHalfConvCplt; 80b370e: 68fb ldr r3, [r7, #12] 80b3710: 6b9b ldr r3, [r3, #56] ; 0x38 80b3712: 4a41 ldr r2, [pc, #260] ; (80b3818 ) 80b3714: 641a str r2, [r3, #64] ; 0x40 /* Set the DMA error callback */ hadc->DMA_Handle->XferErrorCallback = ADC_DMAError; 80b3716: 68fb ldr r3, [r7, #12] 80b3718: 6b9b ldr r3, [r3, #56] ; 0x38 80b371a: 4a40 ldr r2, [pc, #256] ; (80b381c ) 80b371c: 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); 80b371e: 68fb ldr r3, [r7, #12] 80b3720: 681b ldr r3, [r3, #0] 80b3722: f06f 0222 mvn.w r2, #34 ; 0x22 80b3726: 601a str r2, [r3, #0] /* Enable ADC overrun interrupt */ __HAL_ADC_ENABLE_IT(hadc, ADC_IT_OVR); 80b3728: 68fb ldr r3, [r7, #12] 80b372a: 681b ldr r3, [r3, #0] 80b372c: 68fa ldr r2, [r7, #12] 80b372e: 6812 ldr r2, [r2, #0] 80b3730: 6852 ldr r2, [r2, #4] 80b3732: f042 6280 orr.w r2, r2, #67108864 ; 0x4000000 80b3736: 605a str r2, [r3, #4] /* Enable ADC DMA mode */ hadc->Instance->CR2 |= ADC_CR2_DMA; 80b3738: 68fb ldr r3, [r7, #12] 80b373a: 681b ldr r3, [r3, #0] 80b373c: 68fa ldr r2, [r7, #12] 80b373e: 6812 ldr r2, [r2, #0] 80b3740: 6892 ldr r2, [r2, #8] 80b3742: f442 7280 orr.w r2, r2, #256 ; 0x100 80b3746: 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); 80b3748: 68fb ldr r3, [r7, #12] 80b374a: 6b98 ldr r0, [r3, #56] ; 0x38 80b374c: 68fb ldr r3, [r7, #12] 80b374e: 681b ldr r3, [r3, #0] 80b3750: 334c adds r3, #76 ; 0x4c 80b3752: 4619 mov r1, r3 80b3754: 68ba ldr r2, [r7, #8] 80b3756: 687b ldr r3, [r7, #4] 80b3758: f000 fe92 bl 80b4480 /* Check if Multimode enabled */ if(HAL_IS_BIT_CLR(ADC->CCR, ADC_CCR_MULTI)) 80b375c: 4b30 ldr r3, [pc, #192] ; (80b3820 ) 80b375e: 685b ldr r3, [r3, #4] 80b3760: f003 031f and.w r3, r3, #31 80b3764: 2b00 cmp r3, #0 80b3766: d10f bne.n 80b3788 { /* if no external trigger present enable software conversion of regular channels */ if((hadc->Instance->CR2 & ADC_CR2_EXTEN) == RESET) 80b3768: 68fb ldr r3, [r7, #12] 80b376a: 681b ldr r3, [r3, #0] 80b376c: 689b ldr r3, [r3, #8] 80b376e: f003 5340 and.w r3, r3, #805306368 ; 0x30000000 80b3772: 2b00 cmp r3, #0 80b3774: d143 bne.n 80b37fe { /* Enable the selected ADC software conversion for regular group */ hadc->Instance->CR2 |= (uint32_t)ADC_CR2_SWSTART; 80b3776: 68fb ldr r3, [r7, #12] 80b3778: 681b ldr r3, [r3, #0] 80b377a: 68fa ldr r2, [r7, #12] 80b377c: 6812 ldr r2, [r2, #0] 80b377e: 6892 ldr r2, [r2, #8] 80b3780: f042 4280 orr.w r2, r2, #1073741824 ; 0x40000000 80b3784: 609a str r2, [r3, #8] 80b3786: e03a b.n 80b37fe } } 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)) 80b3788: 68fb ldr r3, [r7, #12] 80b378a: 681b ldr r3, [r3, #0] 80b378c: 4a25 ldr r2, [pc, #148] ; (80b3824 ) 80b378e: 4293 cmp r3, r2 80b3790: d10e bne.n 80b37b0 80b3792: 68fb ldr r3, [r7, #12] 80b3794: 681b ldr r3, [r3, #0] 80b3796: 689b ldr r3, [r3, #8] 80b3798: f003 5340 and.w r3, r3, #805306368 ; 0x30000000 80b379c: 2b00 cmp r3, #0 80b379e: d107 bne.n 80b37b0 { /* Enable the selected ADC software conversion for regular group */ hadc->Instance->CR2 |= (uint32_t)ADC_CR2_SWSTART; 80b37a0: 68fb ldr r3, [r7, #12] 80b37a2: 681b ldr r3, [r3, #0] 80b37a4: 68fa ldr r2, [r7, #12] 80b37a6: 6812 ldr r2, [r2, #0] 80b37a8: 6892 ldr r2, [r2, #8] 80b37aa: f042 4280 orr.w r2, r2, #1073741824 ; 0x40000000 80b37ae: 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) ) 80b37b0: 4b1b ldr r3, [pc, #108] ; (80b3820 ) 80b37b2: 685b ldr r3, [r3, #4] 80b37b4: f003 0310 and.w r3, r3, #16 80b37b8: 2b00 cmp r3, #0 80b37ba: d120 bne.n 80b37fe { /* 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)) 80b37bc: 68fb ldr r3, [r7, #12] 80b37be: 681b ldr r3, [r3, #0] 80b37c0: 4a19 ldr r2, [pc, #100] ; (80b3828 ) 80b37c2: 4293 cmp r3, r2 80b37c4: d11b bne.n 80b37fe 80b37c6: 68fb ldr r3, [r7, #12] 80b37c8: 681b ldr r3, [r3, #0] 80b37ca: 689b ldr r3, [r3, #8] 80b37cc: f003 5340 and.w r3, r3, #805306368 ; 0x30000000 80b37d0: 2b00 cmp r3, #0 80b37d2: d114 bne.n 80b37fe { /* Enable the selected ADC software conversion for regular group */ hadc->Instance->CR2 |= (uint32_t)ADC_CR2_SWSTART; 80b37d4: 68fb ldr r3, [r7, #12] 80b37d6: 681b ldr r3, [r3, #0] 80b37d8: 68fa ldr r2, [r7, #12] 80b37da: 6812 ldr r2, [r2, #0] 80b37dc: 6892 ldr r2, [r2, #8] 80b37de: f042 4280 orr.w r2, r2, #1073741824 ; 0x40000000 80b37e2: 609a str r2, [r3, #8] 80b37e4: e00b b.n 80b37fe } } else { /* Update ADC state machine to error */ SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL); 80b37e6: 68fb ldr r3, [r7, #12] 80b37e8: 6c1b ldr r3, [r3, #64] ; 0x40 80b37ea: f043 0210 orr.w r2, r3, #16 80b37ee: 68fb ldr r3, [r7, #12] 80b37f0: 641a str r2, [r3, #64] ; 0x40 /* Set ADC error code to ADC IP internal error */ SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_INTERNAL); 80b37f2: 68fb ldr r3, [r7, #12] 80b37f4: 6c5b ldr r3, [r3, #68] ; 0x44 80b37f6: f043 0201 orr.w r2, r3, #1 80b37fa: 68fb ldr r3, [r7, #12] 80b37fc: 645a str r2, [r3, #68] ; 0x44 } /* Return function status */ return HAL_OK; 80b37fe: 2300 movs r3, #0 } 80b3800: 4618 mov r0, r3 80b3802: 3718 adds r7, #24 80b3804: 46bd mov sp, r7 80b3806: bd80 pop {r7, pc} 80b3808: 200209b4 .word 0x200209b4 80b380c: 431bde83 .word 0x431bde83 80b3810: fffff8fe .word 0xfffff8fe 80b3814: 080b3dc5 .word 0x080b3dc5 80b3818: 080b3e7f .word 0x080b3e7f 80b381c: 080b3e9b .word 0x080b3e9b 80b3820: 40012300 .word 0x40012300 80b3824: 40012000 .word 0x40012000 80b3828: 40012200 .word 0x40012200 080b382c : * @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) { 80b382c: b580 push {r7, lr} 80b382e: b084 sub sp, #16 80b3830: af00 add r7, sp, #0 80b3832: 6078 str r0, [r7, #4] HAL_StatusTypeDef tmp_hal_status = HAL_OK; 80b3834: 2300 movs r3, #0 80b3836: 73fb strb r3, [r7, #15] /* Check the parameters */ assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); /* Process locked */ __HAL_LOCK(hadc); 80b3838: 687b ldr r3, [r7, #4] 80b383a: f893 303c ldrb.w r3, [r3, #60] ; 0x3c 80b383e: 2b01 cmp r3, #1 80b3840: d101 bne.n 80b3846 80b3842: 2302 movs r3, #2 80b3844: e046 b.n 80b38d4 80b3846: 687b ldr r3, [r7, #4] 80b3848: 2201 movs r2, #1 80b384a: 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); 80b384e: 687b ldr r3, [r7, #4] 80b3850: 681b ldr r3, [r3, #0] 80b3852: 687a ldr r2, [r7, #4] 80b3854: 6812 ldr r2, [r2, #0] 80b3856: 6892 ldr r2, [r2, #8] 80b3858: f022 0201 bic.w r2, r2, #1 80b385c: 609a str r2, [r3, #8] /* Check if ADC is effectively disabled */ if(HAL_IS_BIT_CLR(hadc->Instance->CR2, ADC_CR2_ADON)) 80b385e: 687b ldr r3, [r7, #4] 80b3860: 681b ldr r3, [r3, #0] 80b3862: 689b ldr r3, [r3, #8] 80b3864: f003 0301 and.w r3, r3, #1 80b3868: 2b00 cmp r3, #0 80b386a: d12e bne.n 80b38ca { /* Disable the selected ADC DMA mode */ hadc->Instance->CR2 &= ~ADC_CR2_DMA; 80b386c: 687b ldr r3, [r7, #4] 80b386e: 681b ldr r3, [r3, #0] 80b3870: 687a ldr r2, [r7, #4] 80b3872: 6812 ldr r2, [r2, #0] 80b3874: 6892 ldr r2, [r2, #8] 80b3876: f422 7280 bic.w r2, r2, #256 ; 0x100 80b387a: 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) 80b387c: 687b ldr r3, [r7, #4] 80b387e: 6b9b ldr r3, [r3, #56] ; 0x38 80b3880: f893 3035 ldrb.w r3, [r3, #53] ; 0x35 80b3884: b2db uxtb r3, r3 80b3886: 2b02 cmp r3, #2 80b3888: d10f bne.n 80b38aa { tmp_hal_status = HAL_DMA_Abort(hadc->DMA_Handle); 80b388a: 687b ldr r3, [r7, #4] 80b388c: 6b9b ldr r3, [r3, #56] ; 0x38 80b388e: 4618 mov r0, r3 80b3890: f000 fe56 bl 80b4540 80b3894: 4603 mov r3, r0 80b3896: 73fb strb r3, [r7, #15] /* Check if DMA channel effectively disabled */ if (tmp_hal_status != HAL_OK) 80b3898: 7bfb ldrb r3, [r7, #15] 80b389a: 2b00 cmp r3, #0 80b389c: d005 beq.n 80b38aa { /* Update ADC state machine to error */ SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_DMA); 80b389e: 687b ldr r3, [r7, #4] 80b38a0: 6c1b ldr r3, [r3, #64] ; 0x40 80b38a2: f043 0240 orr.w r2, r3, #64 ; 0x40 80b38a6: 687b ldr r3, [r7, #4] 80b38a8: 641a str r2, [r3, #64] ; 0x40 } } /* Disable ADC overrun interrupt */ __HAL_ADC_DISABLE_IT(hadc, ADC_IT_OVR); 80b38aa: 687b ldr r3, [r7, #4] 80b38ac: 681b ldr r3, [r3, #0] 80b38ae: 687a ldr r2, [r7, #4] 80b38b0: 6812 ldr r2, [r2, #0] 80b38b2: 6852 ldr r2, [r2, #4] 80b38b4: f022 6280 bic.w r2, r2, #67108864 ; 0x4000000 80b38b8: 605a str r2, [r3, #4] /* Set ADC state */ ADC_STATE_CLR_SET(hadc->State, 80b38ba: 687b ldr r3, [r7, #4] 80b38bc: 6c1a ldr r2, [r3, #64] ; 0x40 80b38be: 4b07 ldr r3, [pc, #28] ; (80b38dc ) 80b38c0: 4013 ands r3, r2 80b38c2: f043 0201 orr.w r2, r3, #1 80b38c6: 687b ldr r3, [r7, #4] 80b38c8: 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); 80b38ca: 687b ldr r3, [r7, #4] 80b38cc: 2200 movs r2, #0 80b38ce: f883 203c strb.w r2, [r3, #60] ; 0x3c /* Return function status */ return tmp_hal_status; 80b38d2: 7bfb ldrb r3, [r7, #15] } 80b38d4: 4618 mov r0, r3 80b38d6: 3710 adds r7, #16 80b38d8: 46bd mov sp, r7 80b38da: bd80 pop {r7, pc} 80b38dc: ffffeefe .word 0xffffeefe 080b38e0 : * @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) { 80b38e0: b480 push {r7} 80b38e2: b083 sub sp, #12 80b38e4: af00 add r7, sp, #0 80b38e6: 6078 str r0, [r7, #4] /* Return the selected ADC converted value */ return hadc->Instance->DR; 80b38e8: 687b ldr r3, [r7, #4] 80b38ea: 681b ldr r3, [r3, #0] 80b38ec: 6cdb ldr r3, [r3, #76] ; 0x4c } 80b38ee: 4618 mov r0, r3 80b38f0: 370c adds r7, #12 80b38f2: 46bd mov sp, r7 80b38f4: f85d 7b04 ldr.w r7, [sp], #4 80b38f8: 4770 bx lr 080b38fa : * @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) { 80b38fa: b480 push {r7} 80b38fc: b083 sub sp, #12 80b38fe: af00 add r7, sp, #0 80b3900: 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 */ } 80b3902: bf00 nop 80b3904: 370c adds r7, #12 80b3906: 46bd mov sp, r7 80b3908: f85d 7b04 ldr.w r7, [sp], #4 80b390c: 4770 bx lr 080b390e : * @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) { 80b390e: b480 push {r7} 80b3910: b083 sub sp, #12 80b3912: af00 add r7, sp, #0 80b3914: 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 */ } 80b3916: bf00 nop 80b3918: 370c adds r7, #12 80b391a: 46bd mov sp, r7 80b391c: f85d 7b04 ldr.w r7, [sp], #4 80b3920: 4770 bx lr ... 080b3924 : * 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) { 80b3924: b490 push {r4, r7} 80b3926: b084 sub sp, #16 80b3928: af00 add r7, sp, #0 80b392a: 6078 str r0, [r7, #4] 80b392c: 6039 str r1, [r7, #0] __IO uint32_t counter = 0; 80b392e: 2300 movs r3, #0 80b3930: 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); 80b3932: 687b ldr r3, [r7, #4] 80b3934: f893 303c ldrb.w r3, [r3, #60] ; 0x3c 80b3938: 2b01 cmp r3, #1 80b393a: d101 bne.n 80b3940 80b393c: 2302 movs r3, #2 80b393e: e138 b.n 80b3bb2 80b3940: 687b ldr r3, [r7, #4] 80b3942: 2201 movs r2, #1 80b3944: 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)) 80b3948: 683b ldr r3, [r7, #0] 80b394a: 681b ldr r3, [r3, #0] 80b394c: 2b09 cmp r3, #9 80b394e: d93b bls.n 80b39c8 80b3950: 683b ldr r3, [r7, #0] 80b3952: 681b ldr r3, [r3, #0] 80b3954: f1b3 4f00 cmp.w r3, #2147483648 ; 0x80000000 80b3958: d036 beq.n 80b39c8 { /* Clear the old sample time */ hadc->Instance->SMPR1 &= ~ADC_SMPR1(ADC_SMPR1_SMP10, sConfig->Channel); 80b395a: 687b ldr r3, [r7, #4] 80b395c: 681a ldr r2, [r3, #0] 80b395e: 687b ldr r3, [r7, #4] 80b3960: 681b ldr r3, [r3, #0] 80b3962: 68d9 ldr r1, [r3, #12] 80b3964: 683b ldr r3, [r7, #0] 80b3966: 681b ldr r3, [r3, #0] 80b3968: b29b uxth r3, r3 80b396a: 4618 mov r0, r3 80b396c: 4603 mov r3, r0 80b396e: 005b lsls r3, r3, #1 80b3970: 4403 add r3, r0 80b3972: 3b1e subs r3, #30 80b3974: 2007 movs r0, #7 80b3976: fa00 f303 lsl.w r3, r0, r3 80b397a: 43db mvns r3, r3 80b397c: 400b ands r3, r1 80b397e: 60d3 str r3, [r2, #12] if (sConfig->Channel == ADC_CHANNEL_TEMPSENSOR) 80b3980: 683b ldr r3, [r7, #0] 80b3982: 681b ldr r3, [r3, #0] 80b3984: 4a8d ldr r2, [pc, #564] ; (80b3bbc ) 80b3986: 4293 cmp r3, r2 80b3988: d10a bne.n 80b39a0 { /* Set the new sample time */ hadc->Instance->SMPR1 |= ADC_SMPR1(sConfig->SamplingTime, ADC_CHANNEL_18); 80b398a: 687b ldr r3, [r7, #4] 80b398c: 681b ldr r3, [r3, #0] 80b398e: 687a ldr r2, [r7, #4] 80b3990: 6812 ldr r2, [r2, #0] 80b3992: 68d1 ldr r1, [r2, #12] 80b3994: 683a ldr r2, [r7, #0] 80b3996: 6892 ldr r2, [r2, #8] 80b3998: 0612 lsls r2, r2, #24 80b399a: 430a orrs r2, r1 80b399c: 60da str r2, [r3, #12] if (sConfig->Channel == ADC_CHANNEL_TEMPSENSOR) 80b399e: e037 b.n 80b3a10 } else { /* Set the new sample time */ hadc->Instance->SMPR1 |= ADC_SMPR1(sConfig->SamplingTime, sConfig->Channel); 80b39a0: 687b ldr r3, [r7, #4] 80b39a2: 681a ldr r2, [r3, #0] 80b39a4: 687b ldr r3, [r7, #4] 80b39a6: 681b ldr r3, [r3, #0] 80b39a8: 68d9 ldr r1, [r3, #12] 80b39aa: 683b ldr r3, [r7, #0] 80b39ac: 6898 ldr r0, [r3, #8] 80b39ae: 683b ldr r3, [r7, #0] 80b39b0: 681b ldr r3, [r3, #0] 80b39b2: b29b uxth r3, r3 80b39b4: 461c mov r4, r3 80b39b6: 4623 mov r3, r4 80b39b8: 005b lsls r3, r3, #1 80b39ba: 4423 add r3, r4 80b39bc: 3b1e subs r3, #30 80b39be: fa00 f303 lsl.w r3, r0, r3 80b39c2: 430b orrs r3, r1 80b39c4: 60d3 str r3, [r2, #12] if (sConfig->Channel == ADC_CHANNEL_TEMPSENSOR) 80b39c6: e023 b.n 80b3a10 } } else /* ADC_Channel include in ADC_Channel_[0..9] */ { /* Clear the old sample time */ hadc->Instance->SMPR2 &= ~ADC_SMPR2(ADC_SMPR2_SMP0, sConfig->Channel); 80b39c8: 687b ldr r3, [r7, #4] 80b39ca: 681a ldr r2, [r3, #0] 80b39cc: 687b ldr r3, [r7, #4] 80b39ce: 681b ldr r3, [r3, #0] 80b39d0: 6919 ldr r1, [r3, #16] 80b39d2: 683b ldr r3, [r7, #0] 80b39d4: 681b ldr r3, [r3, #0] 80b39d6: b29b uxth r3, r3 80b39d8: 4618 mov r0, r3 80b39da: 4603 mov r3, r0 80b39dc: 005b lsls r3, r3, #1 80b39de: 4403 add r3, r0 80b39e0: 2007 movs r0, #7 80b39e2: fa00 f303 lsl.w r3, r0, r3 80b39e6: 43db mvns r3, r3 80b39e8: 400b ands r3, r1 80b39ea: 6113 str r3, [r2, #16] /* Set the new sample time */ hadc->Instance->SMPR2 |= ADC_SMPR2(sConfig->SamplingTime, sConfig->Channel); 80b39ec: 687b ldr r3, [r7, #4] 80b39ee: 681a ldr r2, [r3, #0] 80b39f0: 687b ldr r3, [r7, #4] 80b39f2: 681b ldr r3, [r3, #0] 80b39f4: 6919 ldr r1, [r3, #16] 80b39f6: 683b ldr r3, [r7, #0] 80b39f8: 6898 ldr r0, [r3, #8] 80b39fa: 683b ldr r3, [r7, #0] 80b39fc: 681b ldr r3, [r3, #0] 80b39fe: b29b uxth r3, r3 80b3a00: 461c mov r4, r3 80b3a02: 4623 mov r3, r4 80b3a04: 005b lsls r3, r3, #1 80b3a06: 4423 add r3, r4 80b3a08: fa00 f303 lsl.w r3, r0, r3 80b3a0c: 430b orrs r3, r1 80b3a0e: 6113 str r3, [r2, #16] } /* For Rank 1 to 6 */ if (sConfig->Rank < 7) 80b3a10: 683b ldr r3, [r7, #0] 80b3a12: 685b ldr r3, [r3, #4] 80b3a14: 2b06 cmp r3, #6 80b3a16: d824 bhi.n 80b3a62 { /* Clear the old SQx bits for the selected rank */ hadc->Instance->SQR3 &= ~ADC_SQR3_RK(ADC_SQR3_SQ1, sConfig->Rank); 80b3a18: 687b ldr r3, [r7, #4] 80b3a1a: 6819 ldr r1, [r3, #0] 80b3a1c: 687b ldr r3, [r7, #4] 80b3a1e: 681b ldr r3, [r3, #0] 80b3a20: 6b58 ldr r0, [r3, #52] ; 0x34 80b3a22: 683b ldr r3, [r7, #0] 80b3a24: 685a ldr r2, [r3, #4] 80b3a26: 4613 mov r3, r2 80b3a28: 009b lsls r3, r3, #2 80b3a2a: 4413 add r3, r2 80b3a2c: 3b05 subs r3, #5 80b3a2e: 221f movs r2, #31 80b3a30: fa02 f303 lsl.w r3, r2, r3 80b3a34: 43db mvns r3, r3 80b3a36: 4003 ands r3, r0 80b3a38: 634b str r3, [r1, #52] ; 0x34 /* Set the SQx bits for the selected rank */ hadc->Instance->SQR3 |= ADC_SQR3_RK(sConfig->Channel, sConfig->Rank); 80b3a3a: 687b ldr r3, [r7, #4] 80b3a3c: 6819 ldr r1, [r3, #0] 80b3a3e: 687b ldr r3, [r7, #4] 80b3a40: 681b ldr r3, [r3, #0] 80b3a42: 6b58 ldr r0, [r3, #52] ; 0x34 80b3a44: 683b ldr r3, [r7, #0] 80b3a46: 681b ldr r3, [r3, #0] 80b3a48: b29b uxth r3, r3 80b3a4a: 461c mov r4, r3 80b3a4c: 683b ldr r3, [r7, #0] 80b3a4e: 685a ldr r2, [r3, #4] 80b3a50: 4613 mov r3, r2 80b3a52: 009b lsls r3, r3, #2 80b3a54: 4413 add r3, r2 80b3a56: 3b05 subs r3, #5 80b3a58: fa04 f303 lsl.w r3, r4, r3 80b3a5c: 4303 orrs r3, r0 80b3a5e: 634b str r3, [r1, #52] ; 0x34 80b3a60: e04c b.n 80b3afc } /* For Rank 7 to 12 */ else if (sConfig->Rank < 13) 80b3a62: 683b ldr r3, [r7, #0] 80b3a64: 685b ldr r3, [r3, #4] 80b3a66: 2b0c cmp r3, #12 80b3a68: d824 bhi.n 80b3ab4 { /* Clear the old SQx bits for the selected rank */ hadc->Instance->SQR2 &= ~ADC_SQR2_RK(ADC_SQR2_SQ7, sConfig->Rank); 80b3a6a: 687b ldr r3, [r7, #4] 80b3a6c: 6819 ldr r1, [r3, #0] 80b3a6e: 687b ldr r3, [r7, #4] 80b3a70: 681b ldr r3, [r3, #0] 80b3a72: 6b18 ldr r0, [r3, #48] ; 0x30 80b3a74: 683b ldr r3, [r7, #0] 80b3a76: 685a ldr r2, [r3, #4] 80b3a78: 4613 mov r3, r2 80b3a7a: 009b lsls r3, r3, #2 80b3a7c: 4413 add r3, r2 80b3a7e: 3b23 subs r3, #35 ; 0x23 80b3a80: 221f movs r2, #31 80b3a82: fa02 f303 lsl.w r3, r2, r3 80b3a86: 43db mvns r3, r3 80b3a88: 4003 ands r3, r0 80b3a8a: 630b str r3, [r1, #48] ; 0x30 /* Set the SQx bits for the selected rank */ hadc->Instance->SQR2 |= ADC_SQR2_RK(sConfig->Channel, sConfig->Rank); 80b3a8c: 687b ldr r3, [r7, #4] 80b3a8e: 6819 ldr r1, [r3, #0] 80b3a90: 687b ldr r3, [r7, #4] 80b3a92: 681b ldr r3, [r3, #0] 80b3a94: 6b18 ldr r0, [r3, #48] ; 0x30 80b3a96: 683b ldr r3, [r7, #0] 80b3a98: 681b ldr r3, [r3, #0] 80b3a9a: b29b uxth r3, r3 80b3a9c: 461c mov r4, r3 80b3a9e: 683b ldr r3, [r7, #0] 80b3aa0: 685a ldr r2, [r3, #4] 80b3aa2: 4613 mov r3, r2 80b3aa4: 009b lsls r3, r3, #2 80b3aa6: 4413 add r3, r2 80b3aa8: 3b23 subs r3, #35 ; 0x23 80b3aaa: fa04 f303 lsl.w r3, r4, r3 80b3aae: 4303 orrs r3, r0 80b3ab0: 630b str r3, [r1, #48] ; 0x30 80b3ab2: e023 b.n 80b3afc } /* 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); 80b3ab4: 687b ldr r3, [r7, #4] 80b3ab6: 6819 ldr r1, [r3, #0] 80b3ab8: 687b ldr r3, [r7, #4] 80b3aba: 681b ldr r3, [r3, #0] 80b3abc: 6ad8 ldr r0, [r3, #44] ; 0x2c 80b3abe: 683b ldr r3, [r7, #0] 80b3ac0: 685a ldr r2, [r3, #4] 80b3ac2: 4613 mov r3, r2 80b3ac4: 009b lsls r3, r3, #2 80b3ac6: 4413 add r3, r2 80b3ac8: 3b41 subs r3, #65 ; 0x41 80b3aca: 221f movs r2, #31 80b3acc: fa02 f303 lsl.w r3, r2, r3 80b3ad0: 43db mvns r3, r3 80b3ad2: 4003 ands r3, r0 80b3ad4: 62cb str r3, [r1, #44] ; 0x2c /* Set the SQx bits for the selected rank */ hadc->Instance->SQR1 |= ADC_SQR1_RK(sConfig->Channel, sConfig->Rank); 80b3ad6: 687b ldr r3, [r7, #4] 80b3ad8: 6819 ldr r1, [r3, #0] 80b3ada: 687b ldr r3, [r7, #4] 80b3adc: 681b ldr r3, [r3, #0] 80b3ade: 6ad8 ldr r0, [r3, #44] ; 0x2c 80b3ae0: 683b ldr r3, [r7, #0] 80b3ae2: 681b ldr r3, [r3, #0] 80b3ae4: b29b uxth r3, r3 80b3ae6: 461c mov r4, r3 80b3ae8: 683b ldr r3, [r7, #0] 80b3aea: 685a ldr r2, [r3, #4] 80b3aec: 4613 mov r3, r2 80b3aee: 009b lsls r3, r3, #2 80b3af0: 4413 add r3, r2 80b3af2: 3b41 subs r3, #65 ; 0x41 80b3af4: fa04 f303 lsl.w r3, r4, r3 80b3af8: 4303 orrs r3, r0 80b3afa: 62cb str r3, [r1, #44] ; 0x2c } /* if no internal channel selected */ if ((hadc->Instance == ADC1) && (sConfig->Channel == ADC_INTERNAL_NONE)) 80b3afc: 687b ldr r3, [r7, #4] 80b3afe: 681b ldr r3, [r3, #0] 80b3b00: 4a2f ldr r2, [pc, #188] ; (80b3bc0 ) 80b3b02: 4293 cmp r3, r2 80b3b04: d10a bne.n 80b3b1c 80b3b06: 683b ldr r3, [r7, #0] 80b3b08: 681b ldr r3, [r3, #0] 80b3b0a: f1b3 4f00 cmp.w r3, #2147483648 ; 0x80000000 80b3b0e: d105 bne.n 80b3b1c { /* Disable the VBAT & TSVREFE channel*/ ADC->CCR &= ~(ADC_CCR_VBATE | ADC_CCR_TSVREFE); 80b3b10: 4a2c ldr r2, [pc, #176] ; (80b3bc4 ) 80b3b12: 4b2c ldr r3, [pc, #176] ; (80b3bc4 ) 80b3b14: 685b ldr r3, [r3, #4] 80b3b16: f423 0340 bic.w r3, r3, #12582912 ; 0xc00000 80b3b1a: 6053 str r3, [r2, #4] } /* if ADC1 Channel_18 is selected enable VBAT Channel */ if ((hadc->Instance == ADC1) && (sConfig->Channel == ADC_CHANNEL_VBAT)) 80b3b1c: 687b ldr r3, [r7, #4] 80b3b1e: 681b ldr r3, [r3, #0] 80b3b20: 4a27 ldr r2, [pc, #156] ; (80b3bc0 ) 80b3b22: 4293 cmp r3, r2 80b3b24: d10f bne.n 80b3b46 80b3b26: 683b ldr r3, [r7, #0] 80b3b28: 681b ldr r3, [r3, #0] 80b3b2a: 2b12 cmp r3, #18 80b3b2c: d10b bne.n 80b3b46 { /* Disable the TEMPSENSOR channel as it is multiplixed with the VBAT channel */ ADC->CCR &= ~ADC_CCR_TSVREFE; 80b3b2e: 4a25 ldr r2, [pc, #148] ; (80b3bc4 ) 80b3b30: 4b24 ldr r3, [pc, #144] ; (80b3bc4 ) 80b3b32: 685b ldr r3, [r3, #4] 80b3b34: f423 0300 bic.w r3, r3, #8388608 ; 0x800000 80b3b38: 6053 str r3, [r2, #4] /* Enable the VBAT channel*/ ADC->CCR |= ADC_CCR_VBATE; 80b3b3a: 4a22 ldr r2, [pc, #136] ; (80b3bc4 ) 80b3b3c: 4b21 ldr r3, [pc, #132] ; (80b3bc4 ) 80b3b3e: 685b ldr r3, [r3, #4] 80b3b40: f443 0380 orr.w r3, r3, #4194304 ; 0x400000 80b3b44: 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))) 80b3b46: 687b ldr r3, [r7, #4] 80b3b48: 681b ldr r3, [r3, #0] 80b3b4a: 4a1d ldr r2, [pc, #116] ; (80b3bc0 ) 80b3b4c: 4293 cmp r3, r2 80b3b4e: d12b bne.n 80b3ba8 80b3b50: 683b ldr r3, [r7, #0] 80b3b52: 681b ldr r3, [r3, #0] 80b3b54: 4a19 ldr r2, [pc, #100] ; (80b3bbc ) 80b3b56: 4293 cmp r3, r2 80b3b58: d003 beq.n 80b3b62 80b3b5a: 683b ldr r3, [r7, #0] 80b3b5c: 681b ldr r3, [r3, #0] 80b3b5e: 2b11 cmp r3, #17 80b3b60: d122 bne.n 80b3ba8 { /* Disable the VBAT channel as it is multiplixed with TEMPSENSOR channel */ ADC->CCR &= ~ADC_CCR_VBATE; 80b3b62: 4a18 ldr r2, [pc, #96] ; (80b3bc4 ) 80b3b64: 4b17 ldr r3, [pc, #92] ; (80b3bc4 ) 80b3b66: 685b ldr r3, [r3, #4] 80b3b68: f423 0380 bic.w r3, r3, #4194304 ; 0x400000 80b3b6c: 6053 str r3, [r2, #4] /* Enable the TSVREFE channel*/ ADC->CCR |= ADC_CCR_TSVREFE; 80b3b6e: 4a15 ldr r2, [pc, #84] ; (80b3bc4 ) 80b3b70: 4b14 ldr r3, [pc, #80] ; (80b3bc4 ) 80b3b72: 685b ldr r3, [r3, #4] 80b3b74: f443 0300 orr.w r3, r3, #8388608 ; 0x800000 80b3b78: 6053 str r3, [r2, #4] if(sConfig->Channel == ADC_CHANNEL_TEMPSENSOR) 80b3b7a: 683b ldr r3, [r7, #0] 80b3b7c: 681b ldr r3, [r3, #0] 80b3b7e: 4a0f ldr r2, [pc, #60] ; (80b3bbc ) 80b3b80: 4293 cmp r3, r2 80b3b82: d111 bne.n 80b3ba8 { /* Delay for temperature sensor stabilization time */ /* Compute number of CPU cycles to wait for */ counter = (ADC_TEMPSENSOR_DELAY_US * (SystemCoreClock / 1000000)); 80b3b84: 4b10 ldr r3, [pc, #64] ; (80b3bc8 ) 80b3b86: 681b ldr r3, [r3, #0] 80b3b88: 4a10 ldr r2, [pc, #64] ; (80b3bcc ) 80b3b8a: fba2 2303 umull r2, r3, r2, r3 80b3b8e: 0c9a lsrs r2, r3, #18 80b3b90: 4613 mov r3, r2 80b3b92: 009b lsls r3, r3, #2 80b3b94: 4413 add r3, r2 80b3b96: 005b lsls r3, r3, #1 80b3b98: 60fb str r3, [r7, #12] while(counter != 0) 80b3b9a: e002 b.n 80b3ba2 { counter--; 80b3b9c: 68fb ldr r3, [r7, #12] 80b3b9e: 3b01 subs r3, #1 80b3ba0: 60fb str r3, [r7, #12] while(counter != 0) 80b3ba2: 68fb ldr r3, [r7, #12] 80b3ba4: 2b00 cmp r3, #0 80b3ba6: d1f9 bne.n 80b3b9c } } } /* Process unlocked */ __HAL_UNLOCK(hadc); 80b3ba8: 687b ldr r3, [r7, #4] 80b3baa: 2200 movs r2, #0 80b3bac: f883 203c strb.w r2, [r3, #60] ; 0x3c /* Return function status */ return HAL_OK; 80b3bb0: 2300 movs r3, #0 } 80b3bb2: 4618 mov r0, r3 80b3bb4: 3710 adds r7, #16 80b3bb6: 46bd mov sp, r7 80b3bb8: bc90 pop {r4, r7} 80b3bba: 4770 bx lr 80b3bbc: 10000012 .word 0x10000012 80b3bc0: 40012000 .word 0x40012000 80b3bc4: 40012300 .word 0x40012300 80b3bc8: 200209b4 .word 0x200209b4 80b3bcc: 431bde83 .word 0x431bde83 080b3bd0 : * @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) { 80b3bd0: b480 push {r7} 80b3bd2: b083 sub sp, #12 80b3bd4: af00 add r7, sp, #0 80b3bd6: 6078 str r0, [r7, #4] /* Set ADC parameters */ /* Set the ADC clock prescaler */ ADC->CCR &= ~(ADC_CCR_ADCPRE); 80b3bd8: 4a78 ldr r2, [pc, #480] ; (80b3dbc ) 80b3bda: 4b78 ldr r3, [pc, #480] ; (80b3dbc ) 80b3bdc: 685b ldr r3, [r3, #4] 80b3bde: f423 3340 bic.w r3, r3, #196608 ; 0x30000 80b3be2: 6053 str r3, [r2, #4] ADC->CCR |= hadc->Init.ClockPrescaler; 80b3be4: 4975 ldr r1, [pc, #468] ; (80b3dbc ) 80b3be6: 4b75 ldr r3, [pc, #468] ; (80b3dbc ) 80b3be8: 685a ldr r2, [r3, #4] 80b3bea: 687b ldr r3, [r7, #4] 80b3bec: 685b ldr r3, [r3, #4] 80b3bee: 4313 orrs r3, r2 80b3bf0: 604b str r3, [r1, #4] /* Set ADC scan mode */ hadc->Instance->CR1 &= ~(ADC_CR1_SCAN); 80b3bf2: 687b ldr r3, [r7, #4] 80b3bf4: 681b ldr r3, [r3, #0] 80b3bf6: 687a ldr r2, [r7, #4] 80b3bf8: 6812 ldr r2, [r2, #0] 80b3bfa: 6852 ldr r2, [r2, #4] 80b3bfc: f422 7280 bic.w r2, r2, #256 ; 0x100 80b3c00: 605a str r2, [r3, #4] hadc->Instance->CR1 |= ADC_CR1_SCANCONV(hadc->Init.ScanConvMode); 80b3c02: 687b ldr r3, [r7, #4] 80b3c04: 681b ldr r3, [r3, #0] 80b3c06: 687a ldr r2, [r7, #4] 80b3c08: 6812 ldr r2, [r2, #0] 80b3c0a: 6851 ldr r1, [r2, #4] 80b3c0c: 687a ldr r2, [r7, #4] 80b3c0e: 6912 ldr r2, [r2, #16] 80b3c10: 0212 lsls r2, r2, #8 80b3c12: 430a orrs r2, r1 80b3c14: 605a str r2, [r3, #4] /* Set ADC resolution */ hadc->Instance->CR1 &= ~(ADC_CR1_RES); 80b3c16: 687b ldr r3, [r7, #4] 80b3c18: 681b ldr r3, [r3, #0] 80b3c1a: 687a ldr r2, [r7, #4] 80b3c1c: 6812 ldr r2, [r2, #0] 80b3c1e: 6852 ldr r2, [r2, #4] 80b3c20: f022 7240 bic.w r2, r2, #50331648 ; 0x3000000 80b3c24: 605a str r2, [r3, #4] hadc->Instance->CR1 |= hadc->Init.Resolution; 80b3c26: 687b ldr r3, [r7, #4] 80b3c28: 681b ldr r3, [r3, #0] 80b3c2a: 687a ldr r2, [r7, #4] 80b3c2c: 6812 ldr r2, [r2, #0] 80b3c2e: 6851 ldr r1, [r2, #4] 80b3c30: 687a ldr r2, [r7, #4] 80b3c32: 6892 ldr r2, [r2, #8] 80b3c34: 430a orrs r2, r1 80b3c36: 605a str r2, [r3, #4] /* Set ADC data alignment */ hadc->Instance->CR2 &= ~(ADC_CR2_ALIGN); 80b3c38: 687b ldr r3, [r7, #4] 80b3c3a: 681b ldr r3, [r3, #0] 80b3c3c: 687a ldr r2, [r7, #4] 80b3c3e: 6812 ldr r2, [r2, #0] 80b3c40: 6892 ldr r2, [r2, #8] 80b3c42: f422 6200 bic.w r2, r2, #2048 ; 0x800 80b3c46: 609a str r2, [r3, #8] hadc->Instance->CR2 |= hadc->Init.DataAlign; 80b3c48: 687b ldr r3, [r7, #4] 80b3c4a: 681b ldr r3, [r3, #0] 80b3c4c: 687a ldr r2, [r7, #4] 80b3c4e: 6812 ldr r2, [r2, #0] 80b3c50: 6891 ldr r1, [r2, #8] 80b3c52: 687a ldr r2, [r7, #4] 80b3c54: 68d2 ldr r2, [r2, #12] 80b3c56: 430a orrs r2, r1 80b3c58: 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) 80b3c5a: 687b ldr r3, [r7, #4] 80b3c5c: 6a9b ldr r3, [r3, #40] ; 0x28 80b3c5e: 4a58 ldr r2, [pc, #352] ; (80b3dc0 ) 80b3c60: 4293 cmp r3, r2 80b3c62: d022 beq.n 80b3caa { /* Select external trigger to start conversion */ hadc->Instance->CR2 &= ~(ADC_CR2_EXTSEL); 80b3c64: 687b ldr r3, [r7, #4] 80b3c66: 681b ldr r3, [r3, #0] 80b3c68: 687a ldr r2, [r7, #4] 80b3c6a: 6812 ldr r2, [r2, #0] 80b3c6c: 6892 ldr r2, [r2, #8] 80b3c6e: f022 6270 bic.w r2, r2, #251658240 ; 0xf000000 80b3c72: 609a str r2, [r3, #8] hadc->Instance->CR2 |= hadc->Init.ExternalTrigConv; 80b3c74: 687b ldr r3, [r7, #4] 80b3c76: 681b ldr r3, [r3, #0] 80b3c78: 687a ldr r2, [r7, #4] 80b3c7a: 6812 ldr r2, [r2, #0] 80b3c7c: 6891 ldr r1, [r2, #8] 80b3c7e: 687a ldr r2, [r7, #4] 80b3c80: 6a92 ldr r2, [r2, #40] ; 0x28 80b3c82: 430a orrs r2, r1 80b3c84: 609a str r2, [r3, #8] /* Select external trigger polarity */ hadc->Instance->CR2 &= ~(ADC_CR2_EXTEN); 80b3c86: 687b ldr r3, [r7, #4] 80b3c88: 681b ldr r3, [r3, #0] 80b3c8a: 687a ldr r2, [r7, #4] 80b3c8c: 6812 ldr r2, [r2, #0] 80b3c8e: 6892 ldr r2, [r2, #8] 80b3c90: f022 5240 bic.w r2, r2, #805306368 ; 0x30000000 80b3c94: 609a str r2, [r3, #8] hadc->Instance->CR2 |= hadc->Init.ExternalTrigConvEdge; 80b3c96: 687b ldr r3, [r7, #4] 80b3c98: 681b ldr r3, [r3, #0] 80b3c9a: 687a ldr r2, [r7, #4] 80b3c9c: 6812 ldr r2, [r2, #0] 80b3c9e: 6891 ldr r1, [r2, #8] 80b3ca0: 687a ldr r2, [r7, #4] 80b3ca2: 6ad2 ldr r2, [r2, #44] ; 0x2c 80b3ca4: 430a orrs r2, r1 80b3ca6: 609a str r2, [r3, #8] 80b3ca8: e00f b.n 80b3cca } else { /* Reset the external trigger */ hadc->Instance->CR2 &= ~(ADC_CR2_EXTSEL); 80b3caa: 687b ldr r3, [r7, #4] 80b3cac: 681b ldr r3, [r3, #0] 80b3cae: 687a ldr r2, [r7, #4] 80b3cb0: 6812 ldr r2, [r2, #0] 80b3cb2: 6892 ldr r2, [r2, #8] 80b3cb4: f022 6270 bic.w r2, r2, #251658240 ; 0xf000000 80b3cb8: 609a str r2, [r3, #8] hadc->Instance->CR2 &= ~(ADC_CR2_EXTEN); 80b3cba: 687b ldr r3, [r7, #4] 80b3cbc: 681b ldr r3, [r3, #0] 80b3cbe: 687a ldr r2, [r7, #4] 80b3cc0: 6812 ldr r2, [r2, #0] 80b3cc2: 6892 ldr r2, [r2, #8] 80b3cc4: f022 5240 bic.w r2, r2, #805306368 ; 0x30000000 80b3cc8: 609a str r2, [r3, #8] } /* Enable or disable ADC continuous conversion mode */ hadc->Instance->CR2 &= ~(ADC_CR2_CONT); 80b3cca: 687b ldr r3, [r7, #4] 80b3ccc: 681b ldr r3, [r3, #0] 80b3cce: 687a ldr r2, [r7, #4] 80b3cd0: 6812 ldr r2, [r2, #0] 80b3cd2: 6892 ldr r2, [r2, #8] 80b3cd4: f022 0202 bic.w r2, r2, #2 80b3cd8: 609a str r2, [r3, #8] hadc->Instance->CR2 |= ADC_CR2_CONTINUOUS((uint32_t)hadc->Init.ContinuousConvMode); 80b3cda: 687b ldr r3, [r7, #4] 80b3cdc: 681b ldr r3, [r3, #0] 80b3cde: 687a ldr r2, [r7, #4] 80b3ce0: 6812 ldr r2, [r2, #0] 80b3ce2: 6891 ldr r1, [r2, #8] 80b3ce4: 687a ldr r2, [r7, #4] 80b3ce6: 6992 ldr r2, [r2, #24] 80b3ce8: 0052 lsls r2, r2, #1 80b3cea: 430a orrs r2, r1 80b3cec: 609a str r2, [r3, #8] if(hadc->Init.DiscontinuousConvMode != DISABLE) 80b3cee: 687b ldr r3, [r7, #4] 80b3cf0: f893 3020 ldrb.w r3, [r3, #32] 80b3cf4: 2b00 cmp r3, #0 80b3cf6: d01b beq.n 80b3d30 { 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; 80b3cf8: 687b ldr r3, [r7, #4] 80b3cfa: 681b ldr r3, [r3, #0] 80b3cfc: 687a ldr r2, [r7, #4] 80b3cfe: 6812 ldr r2, [r2, #0] 80b3d00: 6852 ldr r2, [r2, #4] 80b3d02: f442 6200 orr.w r2, r2, #2048 ; 0x800 80b3d06: 605a str r2, [r3, #4] /* Set the number of channels to be converted in discontinuous mode */ hadc->Instance->CR1 &= ~(ADC_CR1_DISCNUM); 80b3d08: 687b ldr r3, [r7, #4] 80b3d0a: 681b ldr r3, [r3, #0] 80b3d0c: 687a ldr r2, [r7, #4] 80b3d0e: 6812 ldr r2, [r2, #0] 80b3d10: 6852 ldr r2, [r2, #4] 80b3d12: f422 4260 bic.w r2, r2, #57344 ; 0xe000 80b3d16: 605a str r2, [r3, #4] hadc->Instance->CR1 |= ADC_CR1_DISCONTINUOUS(hadc->Init.NbrOfDiscConversion); 80b3d18: 687b ldr r3, [r7, #4] 80b3d1a: 681b ldr r3, [r3, #0] 80b3d1c: 687a ldr r2, [r7, #4] 80b3d1e: 6812 ldr r2, [r2, #0] 80b3d20: 6851 ldr r1, [r2, #4] 80b3d22: 687a ldr r2, [r7, #4] 80b3d24: 6a52 ldr r2, [r2, #36] ; 0x24 80b3d26: 3a01 subs r2, #1 80b3d28: 0352 lsls r2, r2, #13 80b3d2a: 430a orrs r2, r1 80b3d2c: 605a str r2, [r3, #4] 80b3d2e: e007 b.n 80b3d40 } else { /* Disable the selected ADC regular discontinuous mode */ hadc->Instance->CR1 &= ~(ADC_CR1_DISCEN); 80b3d30: 687b ldr r3, [r7, #4] 80b3d32: 681b ldr r3, [r3, #0] 80b3d34: 687a ldr r2, [r7, #4] 80b3d36: 6812 ldr r2, [r2, #0] 80b3d38: 6852 ldr r2, [r2, #4] 80b3d3a: f422 6200 bic.w r2, r2, #2048 ; 0x800 80b3d3e: 605a str r2, [r3, #4] } /* Set ADC number of conversion */ hadc->Instance->SQR1 &= ~(ADC_SQR1_L); 80b3d40: 687b ldr r3, [r7, #4] 80b3d42: 681b ldr r3, [r3, #0] 80b3d44: 687a ldr r2, [r7, #4] 80b3d46: 6812 ldr r2, [r2, #0] 80b3d48: 6ad2 ldr r2, [r2, #44] ; 0x2c 80b3d4a: f422 0270 bic.w r2, r2, #15728640 ; 0xf00000 80b3d4e: 62da str r2, [r3, #44] ; 0x2c hadc->Instance->SQR1 |= ADC_SQR1(hadc->Init.NbrOfConversion); 80b3d50: 687b ldr r3, [r7, #4] 80b3d52: 681b ldr r3, [r3, #0] 80b3d54: 687a ldr r2, [r7, #4] 80b3d56: 6812 ldr r2, [r2, #0] 80b3d58: 6ad1 ldr r1, [r2, #44] ; 0x2c 80b3d5a: 687a ldr r2, [r7, #4] 80b3d5c: 69d2 ldr r2, [r2, #28] 80b3d5e: 3a01 subs r2, #1 80b3d60: 0512 lsls r2, r2, #20 80b3d62: 430a orrs r2, r1 80b3d64: 62da str r2, [r3, #44] ; 0x2c /* Enable or disable ADC DMA continuous request */ hadc->Instance->CR2 &= ~(ADC_CR2_DDS); 80b3d66: 687b ldr r3, [r7, #4] 80b3d68: 681b ldr r3, [r3, #0] 80b3d6a: 687a ldr r2, [r7, #4] 80b3d6c: 6812 ldr r2, [r2, #0] 80b3d6e: 6892 ldr r2, [r2, #8] 80b3d70: f422 7200 bic.w r2, r2, #512 ; 0x200 80b3d74: 609a str r2, [r3, #8] hadc->Instance->CR2 |= ADC_CR2_DMAContReq((uint32_t)hadc->Init.DMAContinuousRequests); 80b3d76: 687b ldr r3, [r7, #4] 80b3d78: 681b ldr r3, [r3, #0] 80b3d7a: 687a ldr r2, [r7, #4] 80b3d7c: 6812 ldr r2, [r2, #0] 80b3d7e: 6891 ldr r1, [r2, #8] 80b3d80: 687a ldr r2, [r7, #4] 80b3d82: f892 2030 ldrb.w r2, [r2, #48] ; 0x30 80b3d86: 0252 lsls r2, r2, #9 80b3d88: 430a orrs r2, r1 80b3d8a: 609a str r2, [r3, #8] /* Enable or disable ADC end of conversion selection */ hadc->Instance->CR2 &= ~(ADC_CR2_EOCS); 80b3d8c: 687b ldr r3, [r7, #4] 80b3d8e: 681b ldr r3, [r3, #0] 80b3d90: 687a ldr r2, [r7, #4] 80b3d92: 6812 ldr r2, [r2, #0] 80b3d94: 6892 ldr r2, [r2, #8] 80b3d96: f422 6280 bic.w r2, r2, #1024 ; 0x400 80b3d9a: 609a str r2, [r3, #8] hadc->Instance->CR2 |= ADC_CR2_EOCSelection(hadc->Init.EOCSelection); 80b3d9c: 687b ldr r3, [r7, #4] 80b3d9e: 681b ldr r3, [r3, #0] 80b3da0: 687a ldr r2, [r7, #4] 80b3da2: 6812 ldr r2, [r2, #0] 80b3da4: 6891 ldr r1, [r2, #8] 80b3da6: 687a ldr r2, [r7, #4] 80b3da8: 6952 ldr r2, [r2, #20] 80b3daa: 0292 lsls r2, r2, #10 80b3dac: 430a orrs r2, r1 80b3dae: 609a str r2, [r3, #8] } 80b3db0: bf00 nop 80b3db2: 370c adds r7, #12 80b3db4: 46bd mov sp, r7 80b3db6: f85d 7b04 ldr.w r7, [sp], #4 80b3dba: 4770 bx lr 80b3dbc: 40012300 .word 0x40012300 80b3dc0: 0f000001 .word 0x0f000001 080b3dc4 : * @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) { 80b3dc4: b580 push {r7, lr} 80b3dc6: b084 sub sp, #16 80b3dc8: af00 add r7, sp, #0 80b3dca: 6078 str r0, [r7, #4] /* Retrieve ADC handle corresponding to current DMA handle */ ADC_HandleTypeDef* hadc = ( ADC_HandleTypeDef* )((DMA_HandleTypeDef* )hdma)->Parent; 80b3dcc: 687b ldr r3, [r7, #4] 80b3dce: 6b9b ldr r3, [r3, #56] ; 0x38 80b3dd0: 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)) 80b3dd2: 68fb ldr r3, [r7, #12] 80b3dd4: 6c1b ldr r3, [r3, #64] ; 0x40 80b3dd6: f003 0350 and.w r3, r3, #80 ; 0x50 80b3dda: 2b00 cmp r3, #0 80b3ddc: d13c bne.n 80b3e58 { /* Update ADC state machine */ SET_BIT(hadc->State, HAL_ADC_STATE_REG_EOC); 80b3dde: 68fb ldr r3, [r7, #12] 80b3de0: 6c1b ldr r3, [r3, #64] ; 0x40 80b3de2: f443 7200 orr.w r2, r3, #512 ; 0x200 80b3de6: 68fb ldr r3, [r7, #12] 80b3de8: 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) && 80b3dea: 68fb ldr r3, [r7, #12] 80b3dec: 681b ldr r3, [r3, #0] 80b3dee: 689b ldr r3, [r3, #8] 80b3df0: f003 5340 and.w r3, r3, #805306368 ; 0x30000000 80b3df4: 2b00 cmp r3, #0 80b3df6: d12b bne.n 80b3e50 (hadc->Init.ContinuousConvMode == DISABLE) && 80b3df8: 68fb ldr r3, [r7, #12] 80b3dfa: 699b ldr r3, [r3, #24] if(ADC_IS_SOFTWARE_START_REGULAR(hadc) && 80b3dfc: 2b00 cmp r3, #0 80b3dfe: d127 bne.n 80b3e50 (HAL_IS_BIT_CLR(hadc->Instance->SQR1, ADC_SQR1_L) || 80b3e00: 68fb ldr r3, [r7, #12] 80b3e02: 681b ldr r3, [r3, #0] 80b3e04: 6adb ldr r3, [r3, #44] ; 0x2c 80b3e06: f403 0370 and.w r3, r3, #15728640 ; 0xf00000 (hadc->Init.ContinuousConvMode == DISABLE) && 80b3e0a: 2b00 cmp r3, #0 80b3e0c: d006 beq.n 80b3e1c HAL_IS_BIT_CLR(hadc->Instance->CR2, ADC_CR2_EOCS) ) ) 80b3e0e: 68fb ldr r3, [r7, #12] 80b3e10: 681b ldr r3, [r3, #0] 80b3e12: 689b ldr r3, [r3, #8] 80b3e14: f403 6380 and.w r3, r3, #1024 ; 0x400 (HAL_IS_BIT_CLR(hadc->Instance->SQR1, ADC_SQR1_L) || 80b3e18: 2b00 cmp r3, #0 80b3e1a: d119 bne.n 80b3e50 { /* 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); 80b3e1c: 68fb ldr r3, [r7, #12] 80b3e1e: 681b ldr r3, [r3, #0] 80b3e20: 68fa ldr r2, [r7, #12] 80b3e22: 6812 ldr r2, [r2, #0] 80b3e24: 6852 ldr r2, [r2, #4] 80b3e26: f022 0220 bic.w r2, r2, #32 80b3e2a: 605a str r2, [r3, #4] /* Set ADC state */ CLEAR_BIT(hadc->State, HAL_ADC_STATE_REG_BUSY); 80b3e2c: 68fb ldr r3, [r7, #12] 80b3e2e: 6c1b ldr r3, [r3, #64] ; 0x40 80b3e30: f423 7280 bic.w r2, r3, #256 ; 0x100 80b3e34: 68fb ldr r3, [r7, #12] 80b3e36: 641a str r2, [r3, #64] ; 0x40 if (HAL_IS_BIT_CLR(hadc->State, HAL_ADC_STATE_INJ_BUSY)) 80b3e38: 68fb ldr r3, [r7, #12] 80b3e3a: 6c1b ldr r3, [r3, #64] ; 0x40 80b3e3c: f403 5380 and.w r3, r3, #4096 ; 0x1000 80b3e40: 2b00 cmp r3, #0 80b3e42: d105 bne.n 80b3e50 { SET_BIT(hadc->State, HAL_ADC_STATE_READY); 80b3e44: 68fb ldr r3, [r7, #12] 80b3e46: 6c1b ldr r3, [r3, #64] ; 0x40 80b3e48: f043 0201 orr.w r2, r3, #1 80b3e4c: 68fb ldr r3, [r7, #12] 80b3e4e: 641a str r2, [r3, #64] ; 0x40 /* Conversion complete callback */ #if (USE_HAL_ADC_REGISTER_CALLBACKS == 1) hadc->ConvCpltCallback(hadc); #else HAL_ADC_ConvCpltCallback(hadc); 80b3e50: 68f8 ldr r0, [r7, #12] 80b3e52: f7a1 fd03 bl 805585c { /* Call DMA error callback */ hadc->DMA_Handle->XferErrorCallback(hdma); } } } 80b3e56: e00e b.n 80b3e76 if ((hadc->State & HAL_ADC_STATE_ERROR_INTERNAL) != 0UL) 80b3e58: 68fb ldr r3, [r7, #12] 80b3e5a: 6c1b ldr r3, [r3, #64] ; 0x40 80b3e5c: f003 0310 and.w r3, r3, #16 80b3e60: 2b00 cmp r3, #0 80b3e62: d003 beq.n 80b3e6c HAL_ADC_ErrorCallback(hadc); 80b3e64: 68f8 ldr r0, [r7, #12] 80b3e66: f7ff fd52 bl 80b390e } 80b3e6a: e004 b.n 80b3e76 hadc->DMA_Handle->XferErrorCallback(hdma); 80b3e6c: 68fb ldr r3, [r7, #12] 80b3e6e: 6b9b ldr r3, [r3, #56] ; 0x38 80b3e70: 6cdb ldr r3, [r3, #76] ; 0x4c 80b3e72: 6878 ldr r0, [r7, #4] 80b3e74: 4798 blx r3 } 80b3e76: bf00 nop 80b3e78: 3710 adds r7, #16 80b3e7a: 46bd mov sp, r7 80b3e7c: bd80 pop {r7, pc} 080b3e7e : * @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) { 80b3e7e: b580 push {r7, lr} 80b3e80: b084 sub sp, #16 80b3e82: af00 add r7, sp, #0 80b3e84: 6078 str r0, [r7, #4] ADC_HandleTypeDef* hadc = ( ADC_HandleTypeDef* )((DMA_HandleTypeDef* )hdma)->Parent; 80b3e86: 687b ldr r3, [r7, #4] 80b3e88: 6b9b ldr r3, [r3, #56] ; 0x38 80b3e8a: 60fb str r3, [r7, #12] /* Half conversion callback */ #if (USE_HAL_ADC_REGISTER_CALLBACKS == 1) hadc->ConvHalfCpltCallback(hadc); #else HAL_ADC_ConvHalfCpltCallback(hadc); 80b3e8c: 68f8 ldr r0, [r7, #12] 80b3e8e: f7ff fd34 bl 80b38fa #endif /* USE_HAL_ADC_REGISTER_CALLBACKS */ } 80b3e92: bf00 nop 80b3e94: 3710 adds r7, #16 80b3e96: 46bd mov sp, r7 80b3e98: bd80 pop {r7, pc} 080b3e9a : * @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) { 80b3e9a: b580 push {r7, lr} 80b3e9c: b084 sub sp, #16 80b3e9e: af00 add r7, sp, #0 80b3ea0: 6078 str r0, [r7, #4] ADC_HandleTypeDef* hadc = ( ADC_HandleTypeDef* )((DMA_HandleTypeDef* )hdma)->Parent; 80b3ea2: 687b ldr r3, [r7, #4] 80b3ea4: 6b9b ldr r3, [r3, #56] ; 0x38 80b3ea6: 60fb str r3, [r7, #12] hadc->State= HAL_ADC_STATE_ERROR_DMA; 80b3ea8: 68fb ldr r3, [r7, #12] 80b3eaa: 2240 movs r2, #64 ; 0x40 80b3eac: 641a str r2, [r3, #64] ; 0x40 /* Set ADC error code to DMA error */ hadc->ErrorCode |= HAL_ADC_ERROR_DMA; 80b3eae: 68fb ldr r3, [r7, #12] 80b3eb0: 6c5b ldr r3, [r3, #68] ; 0x44 80b3eb2: f043 0204 orr.w r2, r3, #4 80b3eb6: 68fb ldr r3, [r7, #12] 80b3eb8: 645a str r2, [r3, #68] ; 0x44 /* Error callback */ #if (USE_HAL_ADC_REGISTER_CALLBACKS == 1) hadc->ErrorCallback(hadc); #else HAL_ADC_ErrorCallback(hadc); 80b3eba: 68f8 ldr r0, [r7, #12] 80b3ebc: f7ff fd27 bl 80b390e #endif /* USE_HAL_ADC_REGISTER_CALLBACKS */ } 80b3ec0: bf00 nop 80b3ec2: 3710 adds r7, #16 80b3ec4: 46bd mov sp, r7 80b3ec6: bd80 pop {r7, pc} 080b3ec8 <__NVIC_SetPriorityGrouping>: { 80b3ec8: b480 push {r7} 80b3eca: b085 sub sp, #20 80b3ecc: af00 add r7, sp, #0 80b3ece: 6078 str r0, [r7, #4] uint32_t PriorityGroupTmp = (PriorityGroup & (uint32_t)0x07UL); /* only values 0..7 are used */ 80b3ed0: 687b ldr r3, [r7, #4] 80b3ed2: f003 0307 and.w r3, r3, #7 80b3ed6: 60fb str r3, [r7, #12] reg_value = SCB->AIRCR; /* read old register configuration */ 80b3ed8: 4b0b ldr r3, [pc, #44] ; (80b3f08 <__NVIC_SetPriorityGrouping+0x40>) 80b3eda: 68db ldr r3, [r3, #12] 80b3edc: 60bb str r3, [r7, #8] reg_value &= ~((uint32_t)(SCB_AIRCR_VECTKEY_Msk | SCB_AIRCR_PRIGROUP_Msk)); /* clear bits to change */ 80b3ede: 68ba ldr r2, [r7, #8] 80b3ee0: f64f 03ff movw r3, #63743 ; 0xf8ff 80b3ee4: 4013 ands r3, r2 80b3ee6: 60bb str r3, [r7, #8] (PriorityGroupTmp << SCB_AIRCR_PRIGROUP_Pos) ); /* Insert write key and priority group */ 80b3ee8: 68fb ldr r3, [r7, #12] 80b3eea: 021a lsls r2, r3, #8 ((uint32_t)0x5FAUL << SCB_AIRCR_VECTKEY_Pos) | 80b3eec: 68bb ldr r3, [r7, #8] 80b3eee: 431a orrs r2, r3 reg_value = (reg_value | 80b3ef0: 4b06 ldr r3, [pc, #24] ; (80b3f0c <__NVIC_SetPriorityGrouping+0x44>) 80b3ef2: 4313 orrs r3, r2 80b3ef4: 60bb str r3, [r7, #8] SCB->AIRCR = reg_value; 80b3ef6: 4a04 ldr r2, [pc, #16] ; (80b3f08 <__NVIC_SetPriorityGrouping+0x40>) 80b3ef8: 68bb ldr r3, [r7, #8] 80b3efa: 60d3 str r3, [r2, #12] } 80b3efc: bf00 nop 80b3efe: 3714 adds r7, #20 80b3f00: 46bd mov sp, r7 80b3f02: f85d 7b04 ldr.w r7, [sp], #4 80b3f06: 4770 bx lr 80b3f08: e000ed00 .word 0xe000ed00 80b3f0c: 05fa0000 .word 0x05fa0000 080b3f10 <__NVIC_GetPriorityGrouping>: { 80b3f10: b480 push {r7} 80b3f12: af00 add r7, sp, #0 return ((uint32_t)((SCB->AIRCR & SCB_AIRCR_PRIGROUP_Msk) >> SCB_AIRCR_PRIGROUP_Pos)); 80b3f14: 4b04 ldr r3, [pc, #16] ; (80b3f28 <__NVIC_GetPriorityGrouping+0x18>) 80b3f16: 68db ldr r3, [r3, #12] 80b3f18: 0a1b lsrs r3, r3, #8 80b3f1a: f003 0307 and.w r3, r3, #7 } 80b3f1e: 4618 mov r0, r3 80b3f20: 46bd mov sp, r7 80b3f22: f85d 7b04 ldr.w r7, [sp], #4 80b3f26: 4770 bx lr 80b3f28: e000ed00 .word 0xe000ed00 080b3f2c <__NVIC_EnableIRQ>: { 80b3f2c: b480 push {r7} 80b3f2e: b083 sub sp, #12 80b3f30: af00 add r7, sp, #0 80b3f32: 4603 mov r3, r0 80b3f34: 71fb strb r3, [r7, #7] if ((int32_t)(IRQn) >= 0) 80b3f36: f997 3007 ldrsb.w r3, [r7, #7] 80b3f3a: 2b00 cmp r3, #0 80b3f3c: db0b blt.n 80b3f56 <__NVIC_EnableIRQ+0x2a> NVIC->ISER[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL)); 80b3f3e: 4909 ldr r1, [pc, #36] ; (80b3f64 <__NVIC_EnableIRQ+0x38>) 80b3f40: f997 3007 ldrsb.w r3, [r7, #7] 80b3f44: 095b lsrs r3, r3, #5 80b3f46: 79fa ldrb r2, [r7, #7] 80b3f48: f002 021f and.w r2, r2, #31 80b3f4c: 2001 movs r0, #1 80b3f4e: fa00 f202 lsl.w r2, r0, r2 80b3f52: f841 2023 str.w r2, [r1, r3, lsl #2] } 80b3f56: bf00 nop 80b3f58: 370c adds r7, #12 80b3f5a: 46bd mov sp, r7 80b3f5c: f85d 7b04 ldr.w r7, [sp], #4 80b3f60: 4770 bx lr 80b3f62: bf00 nop 80b3f64: e000e100 .word 0xe000e100 080b3f68 <__NVIC_DisableIRQ>: { 80b3f68: b480 push {r7} 80b3f6a: b083 sub sp, #12 80b3f6c: af00 add r7, sp, #0 80b3f6e: 4603 mov r3, r0 80b3f70: 71fb strb r3, [r7, #7] if ((int32_t)(IRQn) >= 0) 80b3f72: f997 3007 ldrsb.w r3, [r7, #7] 80b3f76: 2b00 cmp r3, #0 80b3f78: db10 blt.n 80b3f9c <__NVIC_DisableIRQ+0x34> NVIC->ICER[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL)); 80b3f7a: 490b ldr r1, [pc, #44] ; (80b3fa8 <__NVIC_DisableIRQ+0x40>) 80b3f7c: f997 3007 ldrsb.w r3, [r7, #7] 80b3f80: 095b lsrs r3, r3, #5 80b3f82: 79fa ldrb r2, [r7, #7] 80b3f84: f002 021f and.w r2, r2, #31 80b3f88: 2001 movs r0, #1 80b3f8a: fa00 f202 lsl.w r2, r0, r2 80b3f8e: 3320 adds r3, #32 80b3f90: f841 2023 str.w r2, [r1, r3, lsl #2] __ASM volatile ("dsb 0xF":::"memory"); 80b3f94: f3bf 8f4f dsb sy __ASM volatile ("isb 0xF":::"memory"); 80b3f98: f3bf 8f6f isb sy } 80b3f9c: bf00 nop 80b3f9e: 370c adds r7, #12 80b3fa0: 46bd mov sp, r7 80b3fa2: f85d 7b04 ldr.w r7, [sp], #4 80b3fa6: 4770 bx lr 80b3fa8: e000e100 .word 0xe000e100 080b3fac <__NVIC_SetPriority>: { 80b3fac: b480 push {r7} 80b3fae: b083 sub sp, #12 80b3fb0: af00 add r7, sp, #0 80b3fb2: 4603 mov r3, r0 80b3fb4: 6039 str r1, [r7, #0] 80b3fb6: 71fb strb r3, [r7, #7] if ((int32_t)(IRQn) >= 0) 80b3fb8: f997 3007 ldrsb.w r3, [r7, #7] 80b3fbc: 2b00 cmp r3, #0 80b3fbe: db0a blt.n 80b3fd6 <__NVIC_SetPriority+0x2a> NVIC->IP[((uint32_t)IRQn)] = (uint8_t)((priority << (8U - __NVIC_PRIO_BITS)) & (uint32_t)0xFFUL); 80b3fc0: 490d ldr r1, [pc, #52] ; (80b3ff8 <__NVIC_SetPriority+0x4c>) 80b3fc2: f997 3007 ldrsb.w r3, [r7, #7] 80b3fc6: 683a ldr r2, [r7, #0] 80b3fc8: b2d2 uxtb r2, r2 80b3fca: 0112 lsls r2, r2, #4 80b3fcc: b2d2 uxtb r2, r2 80b3fce: 440b add r3, r1 80b3fd0: f883 2300 strb.w r2, [r3, #768] ; 0x300 } 80b3fd4: e00a b.n 80b3fec <__NVIC_SetPriority+0x40> SCB->SHPR[(((uint32_t)IRQn) & 0xFUL)-4UL] = (uint8_t)((priority << (8U - __NVIC_PRIO_BITS)) & (uint32_t)0xFFUL); 80b3fd6: 4909 ldr r1, [pc, #36] ; (80b3ffc <__NVIC_SetPriority+0x50>) 80b3fd8: 79fb ldrb r3, [r7, #7] 80b3fda: f003 030f and.w r3, r3, #15 80b3fde: 3b04 subs r3, #4 80b3fe0: 683a ldr r2, [r7, #0] 80b3fe2: b2d2 uxtb r2, r2 80b3fe4: 0112 lsls r2, r2, #4 80b3fe6: b2d2 uxtb r2, r2 80b3fe8: 440b add r3, r1 80b3fea: 761a strb r2, [r3, #24] } 80b3fec: bf00 nop 80b3fee: 370c adds r7, #12 80b3ff0: 46bd mov sp, r7 80b3ff2: f85d 7b04 ldr.w r7, [sp], #4 80b3ff6: 4770 bx lr 80b3ff8: e000e100 .word 0xe000e100 80b3ffc: e000ed00 .word 0xe000ed00 080b4000 : { 80b4000: b480 push {r7} 80b4002: b089 sub sp, #36 ; 0x24 80b4004: af00 add r7, sp, #0 80b4006: 60f8 str r0, [r7, #12] 80b4008: 60b9 str r1, [r7, #8] 80b400a: 607a str r2, [r7, #4] uint32_t PriorityGroupTmp = (PriorityGroup & (uint32_t)0x07UL); /* only values 0..7 are used */ 80b400c: 68fb ldr r3, [r7, #12] 80b400e: f003 0307 and.w r3, r3, #7 80b4012: 61fb str r3, [r7, #28] PreemptPriorityBits = ((7UL - PriorityGroupTmp) > (uint32_t)(__NVIC_PRIO_BITS)) ? (uint32_t)(__NVIC_PRIO_BITS) : (uint32_t)(7UL - PriorityGroupTmp); 80b4014: 69fb ldr r3, [r7, #28] 80b4016: f1c3 0307 rsb r3, r3, #7 80b401a: 2b04 cmp r3, #4 80b401c: bf28 it cs 80b401e: 2304 movcs r3, #4 80b4020: 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)); 80b4022: 69fb ldr r3, [r7, #28] 80b4024: 3304 adds r3, #4 80b4026: 2b06 cmp r3, #6 80b4028: d902 bls.n 80b4030 80b402a: 69fb ldr r3, [r7, #28] 80b402c: 3b03 subs r3, #3 80b402e: e000 b.n 80b4032 80b4030: 2300 movs r3, #0 80b4032: 617b str r3, [r7, #20] ((PreemptPriority & (uint32_t)((1UL << (PreemptPriorityBits)) - 1UL)) << SubPriorityBits) | 80b4034: 2201 movs r2, #1 80b4036: 69bb ldr r3, [r7, #24] 80b4038: fa02 f303 lsl.w r3, r2, r3 80b403c: 1e5a subs r2, r3, #1 80b403e: 68bb ldr r3, [r7, #8] 80b4040: 401a ands r2, r3 80b4042: 697b ldr r3, [r7, #20] 80b4044: 409a lsls r2, r3 ((SubPriority & (uint32_t)((1UL << (SubPriorityBits )) - 1UL))) 80b4046: 2101 movs r1, #1 80b4048: 697b ldr r3, [r7, #20] 80b404a: fa01 f303 lsl.w r3, r1, r3 80b404e: 1e59 subs r1, r3, #1 80b4050: 687b ldr r3, [r7, #4] 80b4052: 400b ands r3, r1 ((PreemptPriority & (uint32_t)((1UL << (PreemptPriorityBits)) - 1UL)) << SubPriorityBits) | 80b4054: 4313 orrs r3, r2 } 80b4056: 4618 mov r0, r3 80b4058: 3724 adds r7, #36 ; 0x24 80b405a: 46bd mov sp, r7 80b405c: f85d 7b04 ldr.w r7, [sp], #4 80b4060: 4770 bx lr ... 080b4064 <__NVIC_SystemReset>: { 80b4064: b480 push {r7} 80b4066: af00 add r7, sp, #0 __ASM volatile ("dsb 0xF":::"memory"); 80b4068: f3bf 8f4f dsb sy SCB->AIRCR = (uint32_t)((0x5FAUL << SCB_AIRCR_VECTKEY_Pos) | 80b406c: 4905 ldr r1, [pc, #20] ; (80b4084 <__NVIC_SystemReset+0x20>) (SCB->AIRCR & SCB_AIRCR_PRIGROUP_Msk) | 80b406e: 4b05 ldr r3, [pc, #20] ; (80b4084 <__NVIC_SystemReset+0x20>) 80b4070: 68db ldr r3, [r3, #12] 80b4072: f403 62e0 and.w r2, r3, #1792 ; 0x700 SCB->AIRCR = (uint32_t)((0x5FAUL << SCB_AIRCR_VECTKEY_Pos) | 80b4076: 4b04 ldr r3, [pc, #16] ; (80b4088 <__NVIC_SystemReset+0x24>) 80b4078: 4313 orrs r3, r2 80b407a: 60cb str r3, [r1, #12] 80b407c: f3bf 8f4f dsb sy __NOP(); 80b4080: bf00 nop 80b4082: e7fd b.n 80b4080 <__NVIC_SystemReset+0x1c> 80b4084: e000ed00 .word 0xe000ed00 80b4088: 05fa0004 .word 0x05fa0004 080b408c : \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) { 80b408c: b580 push {r7, lr} 80b408e: b082 sub sp, #8 80b4090: af00 add r7, sp, #0 80b4092: 6078 str r0, [r7, #4] if ((ticks - 1UL) > SysTick_LOAD_RELOAD_Msk) 80b4094: 687b ldr r3, [r7, #4] 80b4096: 3b01 subs r3, #1 80b4098: f1b3 7f80 cmp.w r3, #16777216 ; 0x1000000 80b409c: d301 bcc.n 80b40a2 { return (1UL); /* Reload value impossible */ 80b409e: 2301 movs r3, #1 80b40a0: e00f b.n 80b40c2 } SysTick->LOAD = (uint32_t)(ticks - 1UL); /* set reload register */ 80b40a2: 4a0a ldr r2, [pc, #40] ; (80b40cc ) 80b40a4: 687b ldr r3, [r7, #4] 80b40a6: 3b01 subs r3, #1 80b40a8: 6053 str r3, [r2, #4] NVIC_SetPriority (SysTick_IRQn, (1UL << __NVIC_PRIO_BITS) - 1UL); /* set Priority for Systick Interrupt */ 80b40aa: 210f movs r1, #15 80b40ac: f04f 30ff mov.w r0, #4294967295 80b40b0: f7ff ff7c bl 80b3fac <__NVIC_SetPriority> SysTick->VAL = 0UL; /* Load the SysTick Counter Value */ 80b40b4: 4b05 ldr r3, [pc, #20] ; (80b40cc ) 80b40b6: 2200 movs r2, #0 80b40b8: 609a str r2, [r3, #8] SysTick->CTRL = SysTick_CTRL_CLKSOURCE_Msk | 80b40ba: 4b04 ldr r3, [pc, #16] ; (80b40cc ) 80b40bc: 2207 movs r2, #7 80b40be: 601a str r2, [r3, #0] SysTick_CTRL_TICKINT_Msk | SysTick_CTRL_ENABLE_Msk; /* Enable SysTick IRQ and SysTick Timer */ return (0UL); /* Function successful */ 80b40c0: 2300 movs r3, #0 } 80b40c2: 4618 mov r0, r3 80b40c4: 3708 adds r7, #8 80b40c6: 46bd mov sp, r7 80b40c8: bd80 pop {r7, pc} 80b40ca: bf00 nop 80b40cc: e000e010 .word 0xe000e010 080b40d0 : * @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) { 80b40d0: b580 push {r7, lr} 80b40d2: b082 sub sp, #8 80b40d4: af00 add r7, sp, #0 80b40d6: 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); 80b40d8: 6878 ldr r0, [r7, #4] 80b40da: f7ff fef5 bl 80b3ec8 <__NVIC_SetPriorityGrouping> } 80b40de: bf00 nop 80b40e0: 3708 adds r7, #8 80b40e2: 46bd mov sp, r7 80b40e4: bd80 pop {r7, pc} 080b40e6 : * 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) { 80b40e6: b580 push {r7, lr} 80b40e8: b086 sub sp, #24 80b40ea: af00 add r7, sp, #0 80b40ec: 4603 mov r3, r0 80b40ee: 60b9 str r1, [r7, #8] 80b40f0: 607a str r2, [r7, #4] 80b40f2: 73fb strb r3, [r7, #15] uint32_t prioritygroup = 0x00; 80b40f4: 2300 movs r3, #0 80b40f6: 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(); 80b40f8: f7ff ff0a bl 80b3f10 <__NVIC_GetPriorityGrouping> 80b40fc: 6178 str r0, [r7, #20] NVIC_SetPriority(IRQn, NVIC_EncodePriority(prioritygroup, PreemptPriority, SubPriority)); 80b40fe: 687a ldr r2, [r7, #4] 80b4100: 68b9 ldr r1, [r7, #8] 80b4102: 6978 ldr r0, [r7, #20] 80b4104: f7ff ff7c bl 80b4000 80b4108: 4602 mov r2, r0 80b410a: f997 300f ldrsb.w r3, [r7, #15] 80b410e: 4611 mov r1, r2 80b4110: 4618 mov r0, r3 80b4112: f7ff ff4b bl 80b3fac <__NVIC_SetPriority> } 80b4116: bf00 nop 80b4118: 3718 adds r7, #24 80b411a: 46bd mov sp, r7 80b411c: bd80 pop {r7, pc} 080b411e : * 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) { 80b411e: b580 push {r7, lr} 80b4120: b082 sub sp, #8 80b4122: af00 add r7, sp, #0 80b4124: 4603 mov r3, r0 80b4126: 71fb strb r3, [r7, #7] /* Check the parameters */ assert_param(IS_NVIC_DEVICE_IRQ(IRQn)); /* Enable interrupt */ NVIC_EnableIRQ(IRQn); 80b4128: f997 3007 ldrsb.w r3, [r7, #7] 80b412c: 4618 mov r0, r3 80b412e: f7ff fefd bl 80b3f2c <__NVIC_EnableIRQ> } 80b4132: bf00 nop 80b4134: 3708 adds r7, #8 80b4136: 46bd mov sp, r7 80b4138: bd80 pop {r7, pc} 080b413a : * 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) { 80b413a: b580 push {r7, lr} 80b413c: b082 sub sp, #8 80b413e: af00 add r7, sp, #0 80b4140: 4603 mov r3, r0 80b4142: 71fb strb r3, [r7, #7] /* Check the parameters */ assert_param(IS_NVIC_DEVICE_IRQ(IRQn)); /* Disable interrupt */ NVIC_DisableIRQ(IRQn); 80b4144: f997 3007 ldrsb.w r3, [r7, #7] 80b4148: 4618 mov r0, r3 80b414a: f7ff ff0d bl 80b3f68 <__NVIC_DisableIRQ> } 80b414e: bf00 nop 80b4150: 3708 adds r7, #8 80b4152: 46bd mov sp, r7 80b4154: bd80 pop {r7, pc} 080b4156 : /** * @brief Initiates a system reset request to reset the MCU. * @retval None */ void HAL_NVIC_SystemReset(void) { 80b4156: b580 push {r7, lr} 80b4158: af00 add r7, sp, #0 /* System Reset */ NVIC_SystemReset(); 80b415a: f7ff ff83 bl 80b4064 <__NVIC_SystemReset> 080b415e : * @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) { 80b415e: b580 push {r7, lr} 80b4160: b082 sub sp, #8 80b4162: af00 add r7, sp, #0 80b4164: 6078 str r0, [r7, #4] return SysTick_Config(TicksNumb); 80b4166: 6878 ldr r0, [r7, #4] 80b4168: f7ff ff90 bl 80b408c 80b416c: 4603 mov r3, r0 } 80b416e: 4618 mov r0, r3 80b4170: 3708 adds r7, #8 80b4172: 46bd mov sp, r7 80b4174: bd80 pop {r7, pc} ... 080b4178 : /** * @brief Disables the MPU * @retval None */ void HAL_MPU_Disable(void) { 80b4178: b480 push {r7} 80b417a: 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"); 80b417c: f3bf 8f5f dmb sy /* Make sure outstanding transfers are done */ __DMB(); /* Disable fault exceptions */ SCB->SHCSR &= ~SCB_SHCSR_MEMFAULTENA_Msk; 80b4180: 4a06 ldr r2, [pc, #24] ; (80b419c ) 80b4182: 4b06 ldr r3, [pc, #24] ; (80b419c ) 80b4184: 6a5b ldr r3, [r3, #36] ; 0x24 80b4186: f423 3380 bic.w r3, r3, #65536 ; 0x10000 80b418a: 6253 str r3, [r2, #36] ; 0x24 /* Disable the MPU and clear the control register*/ MPU->CTRL = 0; 80b418c: 4b04 ldr r3, [pc, #16] ; (80b41a0 ) 80b418e: 2200 movs r2, #0 80b4190: 605a str r2, [r3, #4] } 80b4192: bf00 nop 80b4194: 46bd mov sp, r7 80b4196: f85d 7b04 ldr.w r7, [sp], #4 80b419a: 4770 bx lr 80b419c: e000ed00 .word 0xe000ed00 80b41a0: e000ed90 .word 0xe000ed90 080b41a4 : * @arg MPU_PRIVILEGED_DEFAULT * @arg MPU_HFNMI_PRIVDEF * @retval None */ void HAL_MPU_Enable(uint32_t MPU_Control) { 80b41a4: b480 push {r7} 80b41a6: b083 sub sp, #12 80b41a8: af00 add r7, sp, #0 80b41aa: 6078 str r0, [r7, #4] /* Enable the MPU */ MPU->CTRL = MPU_Control | MPU_CTRL_ENABLE_Msk; 80b41ac: 4a0a ldr r2, [pc, #40] ; (80b41d8 ) 80b41ae: 687b ldr r3, [r7, #4] 80b41b0: f043 0301 orr.w r3, r3, #1 80b41b4: 6053 str r3, [r2, #4] /* Enable fault exceptions */ SCB->SHCSR |= SCB_SHCSR_MEMFAULTENA_Msk; 80b41b6: 4a09 ldr r2, [pc, #36] ; (80b41dc ) 80b41b8: 4b08 ldr r3, [pc, #32] ; (80b41dc ) 80b41ba: 6a5b ldr r3, [r3, #36] ; 0x24 80b41bc: f443 3380 orr.w r3, r3, #65536 ; 0x10000 80b41c0: 6253 str r3, [r2, #36] ; 0x24 __ASM volatile ("dsb 0xF":::"memory"); 80b41c2: f3bf 8f4f dsb sy __ASM volatile ("isb 0xF":::"memory"); 80b41c6: f3bf 8f6f isb sy /* Ensure MPU setting take effects */ __DSB(); __ISB(); } 80b41ca: bf00 nop 80b41cc: 370c adds r7, #12 80b41ce: 46bd mov sp, r7 80b41d0: f85d 7b04 ldr.w r7, [sp], #4 80b41d4: 4770 bx lr 80b41d6: bf00 nop 80b41d8: e000ed90 .word 0xe000ed90 80b41dc: e000ed00 .word 0xe000ed00 080b41e0 : * @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) { 80b41e0: b480 push {r7} 80b41e2: b083 sub sp, #12 80b41e4: af00 add r7, sp, #0 80b41e6: 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; 80b41e8: 4a1e ldr r2, [pc, #120] ; (80b4264 ) 80b41ea: 687b ldr r3, [r7, #4] 80b41ec: 785b ldrb r3, [r3, #1] 80b41ee: 6093 str r3, [r2, #8] if ((MPU_Init->Enable) != RESET) 80b41f0: 687b ldr r3, [r7, #4] 80b41f2: 781b ldrb r3, [r3, #0] 80b41f4: 2b00 cmp r3, #0 80b41f6: d028 beq.n 80b424a 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; 80b41f8: 4a1a ldr r2, [pc, #104] ; (80b4264 ) 80b41fa: 687b ldr r3, [r7, #4] 80b41fc: 685b ldr r3, [r3, #4] 80b41fe: 60d3 str r3, [r2, #12] MPU->RASR = ((uint32_t)MPU_Init->DisableExec << MPU_RASR_XN_Pos) | 80b4200: 4918 ldr r1, [pc, #96] ; (80b4264 ) 80b4202: 687b ldr r3, [r7, #4] 80b4204: 7b1b ldrb r3, [r3, #12] 80b4206: 071a lsls r2, r3, #28 ((uint32_t)MPU_Init->AccessPermission << MPU_RASR_AP_Pos) | 80b4208: 687b ldr r3, [r7, #4] 80b420a: 7adb ldrb r3, [r3, #11] 80b420c: 061b lsls r3, r3, #24 MPU->RASR = ((uint32_t)MPU_Init->DisableExec << MPU_RASR_XN_Pos) | 80b420e: 431a orrs r2, r3 ((uint32_t)MPU_Init->TypeExtField << MPU_RASR_TEX_Pos) | 80b4210: 687b ldr r3, [r7, #4] 80b4212: 7a9b ldrb r3, [r3, #10] 80b4214: 04db lsls r3, r3, #19 ((uint32_t)MPU_Init->AccessPermission << MPU_RASR_AP_Pos) | 80b4216: 431a orrs r2, r3 ((uint32_t)MPU_Init->IsShareable << MPU_RASR_S_Pos) | 80b4218: 687b ldr r3, [r7, #4] 80b421a: 7b5b ldrb r3, [r3, #13] 80b421c: 049b lsls r3, r3, #18 ((uint32_t)MPU_Init->TypeExtField << MPU_RASR_TEX_Pos) | 80b421e: 431a orrs r2, r3 ((uint32_t)MPU_Init->IsCacheable << MPU_RASR_C_Pos) | 80b4220: 687b ldr r3, [r7, #4] 80b4222: 7b9b ldrb r3, [r3, #14] 80b4224: 045b lsls r3, r3, #17 ((uint32_t)MPU_Init->IsShareable << MPU_RASR_S_Pos) | 80b4226: 431a orrs r2, r3 ((uint32_t)MPU_Init->IsBufferable << MPU_RASR_B_Pos) | 80b4228: 687b ldr r3, [r7, #4] 80b422a: 7bdb ldrb r3, [r3, #15] 80b422c: 041b lsls r3, r3, #16 ((uint32_t)MPU_Init->IsCacheable << MPU_RASR_C_Pos) | 80b422e: 431a orrs r2, r3 ((uint32_t)MPU_Init->SubRegionDisable << MPU_RASR_SRD_Pos) | 80b4230: 687b ldr r3, [r7, #4] 80b4232: 7a5b ldrb r3, [r3, #9] 80b4234: 021b lsls r3, r3, #8 ((uint32_t)MPU_Init->IsBufferable << MPU_RASR_B_Pos) | 80b4236: 431a orrs r2, r3 ((uint32_t)MPU_Init->Size << MPU_RASR_SIZE_Pos) | 80b4238: 687b ldr r3, [r7, #4] 80b423a: 7a1b ldrb r3, [r3, #8] 80b423c: 005b lsls r3, r3, #1 ((uint32_t)MPU_Init->SubRegionDisable << MPU_RASR_SRD_Pos) | 80b423e: 4313 orrs r3, r2 ((uint32_t)MPU_Init->Enable << MPU_RASR_ENABLE_Pos); 80b4240: 687a ldr r2, [r7, #4] 80b4242: 7812 ldrb r2, [r2, #0] ((uint32_t)MPU_Init->Size << MPU_RASR_SIZE_Pos) | 80b4244: 4313 orrs r3, r2 MPU->RASR = ((uint32_t)MPU_Init->DisableExec << MPU_RASR_XN_Pos) | 80b4246: 610b str r3, [r1, #16] else { MPU->RBAR = 0x00; MPU->RASR = 0x00; } } 80b4248: e005 b.n 80b4256 MPU->RBAR = 0x00; 80b424a: 4b06 ldr r3, [pc, #24] ; (80b4264 ) 80b424c: 2200 movs r2, #0 80b424e: 60da str r2, [r3, #12] MPU->RASR = 0x00; 80b4250: 4b04 ldr r3, [pc, #16] ; (80b4264 ) 80b4252: 2200 movs r2, #0 80b4254: 611a str r2, [r3, #16] } 80b4256: bf00 nop 80b4258: 370c adds r7, #12 80b425a: 46bd mov sp, r7 80b425c: f85d 7b04 ldr.w r7, [sp], #4 80b4260: 4770 bx lr 80b4262: bf00 nop 80b4264: e000ed90 .word 0xe000ed90 080b4268 : * @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) { 80b4268: b580 push {r7, lr} 80b426a: b086 sub sp, #24 80b426c: af00 add r7, sp, #0 80b426e: 6078 str r0, [r7, #4] uint32_t tmp = 0U; 80b4270: 2300 movs r3, #0 80b4272: 617b str r3, [r7, #20] uint32_t tickstart = HAL_GetTick(); 80b4274: f7fe ffe0 bl 80b3238 80b4278: 6138 str r0, [r7, #16] DMA_Base_Registers *regs; /* Check the DMA peripheral state */ if(hdma == NULL) 80b427a: 687b ldr r3, [r7, #4] 80b427c: 2b00 cmp r3, #0 80b427e: d101 bne.n 80b4284 { return HAL_ERROR; 80b4280: 2301 movs r3, #1 80b4282: e099 b.n 80b43b8 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; 80b4284: 687b ldr r3, [r7, #4] 80b4286: 2202 movs r2, #2 80b4288: f883 2035 strb.w r2, [r3, #53] ; 0x35 /* Allocate lock resource */ __HAL_UNLOCK(hdma); 80b428c: 687b ldr r3, [r7, #4] 80b428e: 2200 movs r2, #0 80b4290: f883 2034 strb.w r2, [r3, #52] ; 0x34 /* Disable the peripheral */ __HAL_DMA_DISABLE(hdma); 80b4294: 687b ldr r3, [r7, #4] 80b4296: 681b ldr r3, [r3, #0] 80b4298: 687a ldr r2, [r7, #4] 80b429a: 6812 ldr r2, [r2, #0] 80b429c: 6812 ldr r2, [r2, #0] 80b429e: f022 0201 bic.w r2, r2, #1 80b42a2: 601a str r2, [r3, #0] /* Check if the DMA Stream is effectively disabled */ while((hdma->Instance->CR & DMA_SxCR_EN) != RESET) 80b42a4: e00f b.n 80b42c6 { /* Check for the Timeout */ if((HAL_GetTick() - tickstart ) > HAL_TIMEOUT_DMA_ABORT) 80b42a6: f7fe ffc7 bl 80b3238 80b42aa: 4602 mov r2, r0 80b42ac: 693b ldr r3, [r7, #16] 80b42ae: 1ad3 subs r3, r2, r3 80b42b0: 2b05 cmp r3, #5 80b42b2: d908 bls.n 80b42c6 { /* Update error code */ hdma->ErrorCode = HAL_DMA_ERROR_TIMEOUT; 80b42b4: 687b ldr r3, [r7, #4] 80b42b6: 2220 movs r2, #32 80b42b8: 655a str r2, [r3, #84] ; 0x54 /* Change the DMA state */ hdma->State = HAL_DMA_STATE_TIMEOUT; 80b42ba: 687b ldr r3, [r7, #4] 80b42bc: 2203 movs r2, #3 80b42be: f883 2035 strb.w r2, [r3, #53] ; 0x35 return HAL_TIMEOUT; 80b42c2: 2303 movs r3, #3 80b42c4: e078 b.n 80b43b8 while((hdma->Instance->CR & DMA_SxCR_EN) != RESET) 80b42c6: 687b ldr r3, [r7, #4] 80b42c8: 681b ldr r3, [r3, #0] 80b42ca: 681b ldr r3, [r3, #0] 80b42cc: f003 0301 and.w r3, r3, #1 80b42d0: 2b00 cmp r3, #0 80b42d2: d1e8 bne.n 80b42a6 } } /* Get the CR register value */ tmp = hdma->Instance->CR; 80b42d4: 687b ldr r3, [r7, #4] 80b42d6: 681b ldr r3, [r3, #0] 80b42d8: 681b ldr r3, [r3, #0] 80b42da: 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 | \ 80b42dc: 697a ldr r2, [r7, #20] 80b42de: 4b38 ldr r3, [pc, #224] ; (80b43c0 ) 80b42e0: 4013 ands r3, r2 80b42e2: 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 | 80b42e4: 687b ldr r3, [r7, #4] 80b42e6: 685a ldr r2, [r3, #4] 80b42e8: 687b ldr r3, [r7, #4] 80b42ea: 689b ldr r3, [r3, #8] 80b42ec: 431a orrs r2, r3 hdma->Init.PeriphInc | hdma->Init.MemInc | 80b42ee: 687b ldr r3, [r7, #4] 80b42f0: 68db ldr r3, [r3, #12] tmp |= hdma->Init.Channel | hdma->Init.Direction | 80b42f2: 431a orrs r2, r3 hdma->Init.PeriphInc | hdma->Init.MemInc | 80b42f4: 687b ldr r3, [r7, #4] 80b42f6: 691b ldr r3, [r3, #16] 80b42f8: 431a orrs r2, r3 hdma->Init.PeriphDataAlignment | hdma->Init.MemDataAlignment | 80b42fa: 687b ldr r3, [r7, #4] 80b42fc: 695b ldr r3, [r3, #20] hdma->Init.PeriphInc | hdma->Init.MemInc | 80b42fe: 431a orrs r2, r3 hdma->Init.PeriphDataAlignment | hdma->Init.MemDataAlignment | 80b4300: 687b ldr r3, [r7, #4] 80b4302: 699b ldr r3, [r3, #24] 80b4304: 431a orrs r2, r3 hdma->Init.Mode | hdma->Init.Priority; 80b4306: 687b ldr r3, [r7, #4] 80b4308: 69db ldr r3, [r3, #28] hdma->Init.PeriphDataAlignment | hdma->Init.MemDataAlignment | 80b430a: 431a orrs r2, r3 hdma->Init.Mode | hdma->Init.Priority; 80b430c: 687b ldr r3, [r7, #4] 80b430e: 6a1b ldr r3, [r3, #32] 80b4310: 4313 orrs r3, r2 tmp |= hdma->Init.Channel | hdma->Init.Direction | 80b4312: 697a ldr r2, [r7, #20] 80b4314: 4313 orrs r3, r2 80b4316: 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) 80b4318: 687b ldr r3, [r7, #4] 80b431a: 6a5b ldr r3, [r3, #36] ; 0x24 80b431c: 2b04 cmp r3, #4 80b431e: d107 bne.n 80b4330 { /* Get memory burst and peripheral burst */ tmp |= hdma->Init.MemBurst | hdma->Init.PeriphBurst; 80b4320: 687b ldr r3, [r7, #4] 80b4322: 6ada ldr r2, [r3, #44] ; 0x2c 80b4324: 687b ldr r3, [r7, #4] 80b4326: 6b1b ldr r3, [r3, #48] ; 0x30 80b4328: 4313 orrs r3, r2 80b432a: 697a ldr r2, [r7, #20] 80b432c: 4313 orrs r3, r2 80b432e: 617b str r3, [r7, #20] } /* Write to DMA Stream CR register */ hdma->Instance->CR = tmp; 80b4330: 687b ldr r3, [r7, #4] 80b4332: 681b ldr r3, [r3, #0] 80b4334: 697a ldr r2, [r7, #20] 80b4336: 601a str r2, [r3, #0] /* Get the FCR register value */ tmp = hdma->Instance->FCR; 80b4338: 687b ldr r3, [r7, #4] 80b433a: 681b ldr r3, [r3, #0] 80b433c: 695b ldr r3, [r3, #20] 80b433e: 617b str r3, [r7, #20] /* Clear Direct mode and FIFO threshold bits */ tmp &= (uint32_t)~(DMA_SxFCR_DMDIS | DMA_SxFCR_FTH); 80b4340: 697b ldr r3, [r7, #20] 80b4342: f023 0307 bic.w r3, r3, #7 80b4346: 617b str r3, [r7, #20] /* Prepare the DMA Stream FIFO configuration */ tmp |= hdma->Init.FIFOMode; 80b4348: 687b ldr r3, [r7, #4] 80b434a: 6a5b ldr r3, [r3, #36] ; 0x24 80b434c: 697a ldr r2, [r7, #20] 80b434e: 4313 orrs r3, r2 80b4350: 617b str r3, [r7, #20] /* The FIFO threshold is not used when the FIFO mode is disabled */ if(hdma->Init.FIFOMode == DMA_FIFOMODE_ENABLE) 80b4352: 687b ldr r3, [r7, #4] 80b4354: 6a5b ldr r3, [r3, #36] ; 0x24 80b4356: 2b04 cmp r3, #4 80b4358: d117 bne.n 80b438a { /* Get the FIFO threshold */ tmp |= hdma->Init.FIFOThreshold; 80b435a: 687b ldr r3, [r7, #4] 80b435c: 6a9b ldr r3, [r3, #40] ; 0x28 80b435e: 697a ldr r2, [r7, #20] 80b4360: 4313 orrs r3, r2 80b4362: 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) 80b4364: 687b ldr r3, [r7, #4] 80b4366: 6adb ldr r3, [r3, #44] ; 0x2c 80b4368: 2b00 cmp r3, #0 80b436a: d00e beq.n 80b438a { if (DMA_CheckFifoParam(hdma) != HAL_OK) 80b436c: 6878 ldr r0, [r7, #4] 80b436e: f000 fb81 bl 80b4a74 80b4372: 4603 mov r3, r0 80b4374: 2b00 cmp r3, #0 80b4376: d008 beq.n 80b438a { /* Update error code */ hdma->ErrorCode = HAL_DMA_ERROR_PARAM; 80b4378: 687b ldr r3, [r7, #4] 80b437a: 2240 movs r2, #64 ; 0x40 80b437c: 655a str r2, [r3, #84] ; 0x54 /* Change the DMA state */ hdma->State = HAL_DMA_STATE_READY; 80b437e: 687b ldr r3, [r7, #4] 80b4380: 2201 movs r2, #1 80b4382: f883 2035 strb.w r2, [r3, #53] ; 0x35 return HAL_ERROR; 80b4386: 2301 movs r3, #1 80b4388: e016 b.n 80b43b8 } } } /* Write to DMA Stream FCR */ hdma->Instance->FCR = tmp; 80b438a: 687b ldr r3, [r7, #4] 80b438c: 681b ldr r3, [r3, #0] 80b438e: 697a ldr r2, [r7, #20] 80b4390: 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); 80b4392: 6878 ldr r0, [r7, #4] 80b4394: f000 fb38 bl 80b4a08 80b4398: 4603 mov r3, r0 80b439a: 60fb str r3, [r7, #12] /* Clear all interrupt flags */ regs->IFCR = 0x3FU << hdma->StreamIndex; 80b439c: 687b ldr r3, [r7, #4] 80b439e: 6ddb ldr r3, [r3, #92] ; 0x5c 80b43a0: 223f movs r2, #63 ; 0x3f 80b43a2: 409a lsls r2, r3 80b43a4: 68fb ldr r3, [r7, #12] 80b43a6: 609a str r2, [r3, #8] /* Initialize the error code */ hdma->ErrorCode = HAL_DMA_ERROR_NONE; 80b43a8: 687b ldr r3, [r7, #4] 80b43aa: 2200 movs r2, #0 80b43ac: 655a str r2, [r3, #84] ; 0x54 /* Initialize the DMA state */ hdma->State = HAL_DMA_STATE_READY; 80b43ae: 687b ldr r3, [r7, #4] 80b43b0: 2201 movs r2, #1 80b43b2: f883 2035 strb.w r2, [r3, #53] ; 0x35 return HAL_OK; 80b43b6: 2300 movs r3, #0 } 80b43b8: 4618 mov r0, r3 80b43ba: 3718 adds r7, #24 80b43bc: 46bd mov sp, r7 80b43be: bd80 pop {r7, pc} 80b43c0: e010803f .word 0xe010803f 080b43c4 : * @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) { 80b43c4: b580 push {r7, lr} 80b43c6: b084 sub sp, #16 80b43c8: af00 add r7, sp, #0 80b43ca: 6078 str r0, [r7, #4] DMA_Base_Registers *regs; /* Check the DMA peripheral state */ if(hdma == NULL) 80b43cc: 687b ldr r3, [r7, #4] 80b43ce: 2b00 cmp r3, #0 80b43d0: d101 bne.n 80b43d6 { return HAL_ERROR; 80b43d2: 2301 movs r3, #1 80b43d4: e050 b.n 80b4478 } /* Check the DMA peripheral state */ if(hdma->State == HAL_DMA_STATE_BUSY) 80b43d6: 687b ldr r3, [r7, #4] 80b43d8: f893 3035 ldrb.w r3, [r3, #53] ; 0x35 80b43dc: b2db uxtb r3, r3 80b43de: 2b02 cmp r3, #2 80b43e0: d101 bne.n 80b43e6 { /* Return error status */ return HAL_BUSY; 80b43e2: 2302 movs r3, #2 80b43e4: e048 b.n 80b4478 /* Check the parameters */ assert_param(IS_DMA_STREAM_ALL_INSTANCE(hdma->Instance)); /* Disable the selected DMA Streamx */ __HAL_DMA_DISABLE(hdma); 80b43e6: 687b ldr r3, [r7, #4] 80b43e8: 681b ldr r3, [r3, #0] 80b43ea: 687a ldr r2, [r7, #4] 80b43ec: 6812 ldr r2, [r2, #0] 80b43ee: 6812 ldr r2, [r2, #0] 80b43f0: f022 0201 bic.w r2, r2, #1 80b43f4: 601a str r2, [r3, #0] /* Reset DMA Streamx control register */ hdma->Instance->CR = 0U; 80b43f6: 687b ldr r3, [r7, #4] 80b43f8: 681b ldr r3, [r3, #0] 80b43fa: 2200 movs r2, #0 80b43fc: 601a str r2, [r3, #0] /* Reset DMA Streamx number of data to transfer register */ hdma->Instance->NDTR = 0U; 80b43fe: 687b ldr r3, [r7, #4] 80b4400: 681b ldr r3, [r3, #0] 80b4402: 2200 movs r2, #0 80b4404: 605a str r2, [r3, #4] /* Reset DMA Streamx peripheral address register */ hdma->Instance->PAR = 0U; 80b4406: 687b ldr r3, [r7, #4] 80b4408: 681b ldr r3, [r3, #0] 80b440a: 2200 movs r2, #0 80b440c: 609a str r2, [r3, #8] /* Reset DMA Streamx memory 0 address register */ hdma->Instance->M0AR = 0U; 80b440e: 687b ldr r3, [r7, #4] 80b4410: 681b ldr r3, [r3, #0] 80b4412: 2200 movs r2, #0 80b4414: 60da str r2, [r3, #12] /* Reset DMA Streamx memory 1 address register */ hdma->Instance->M1AR = 0U; 80b4416: 687b ldr r3, [r7, #4] 80b4418: 681b ldr r3, [r3, #0] 80b441a: 2200 movs r2, #0 80b441c: 611a str r2, [r3, #16] /* Reset DMA Streamx FIFO control register */ hdma->Instance->FCR = (uint32_t)0x00000021U; 80b441e: 687b ldr r3, [r7, #4] 80b4420: 681b ldr r3, [r3, #0] 80b4422: 2221 movs r2, #33 ; 0x21 80b4424: 615a str r2, [r3, #20] /* Get DMA steam Base Address */ regs = (DMA_Base_Registers *)DMA_CalcBaseAndBitshift(hdma); 80b4426: 6878 ldr r0, [r7, #4] 80b4428: f000 faee bl 80b4a08 80b442c: 4603 mov r3, r0 80b442e: 60fb str r3, [r7, #12] /* Clear all interrupt flags at correct offset within the register */ regs->IFCR = 0x3FU << hdma->StreamIndex; 80b4430: 687b ldr r3, [r7, #4] 80b4432: 6ddb ldr r3, [r3, #92] ; 0x5c 80b4434: 223f movs r2, #63 ; 0x3f 80b4436: 409a lsls r2, r3 80b4438: 68fb ldr r3, [r7, #12] 80b443a: 609a str r2, [r3, #8] /* Clean all callbacks */ hdma->XferCpltCallback = NULL; 80b443c: 687b ldr r3, [r7, #4] 80b443e: 2200 movs r2, #0 80b4440: 63da str r2, [r3, #60] ; 0x3c hdma->XferHalfCpltCallback = NULL; 80b4442: 687b ldr r3, [r7, #4] 80b4444: 2200 movs r2, #0 80b4446: 641a str r2, [r3, #64] ; 0x40 hdma->XferM1CpltCallback = NULL; 80b4448: 687b ldr r3, [r7, #4] 80b444a: 2200 movs r2, #0 80b444c: 645a str r2, [r3, #68] ; 0x44 hdma->XferM1HalfCpltCallback = NULL; 80b444e: 687b ldr r3, [r7, #4] 80b4450: 2200 movs r2, #0 80b4452: 649a str r2, [r3, #72] ; 0x48 hdma->XferErrorCallback = NULL; 80b4454: 687b ldr r3, [r7, #4] 80b4456: 2200 movs r2, #0 80b4458: 64da str r2, [r3, #76] ; 0x4c hdma->XferAbortCallback = NULL; 80b445a: 687b ldr r3, [r7, #4] 80b445c: 2200 movs r2, #0 80b445e: 651a str r2, [r3, #80] ; 0x50 /* Reset the error code */ hdma->ErrorCode = HAL_DMA_ERROR_NONE; 80b4460: 687b ldr r3, [r7, #4] 80b4462: 2200 movs r2, #0 80b4464: 655a str r2, [r3, #84] ; 0x54 /* Reset the DMA state */ hdma->State = HAL_DMA_STATE_RESET; 80b4466: 687b ldr r3, [r7, #4] 80b4468: 2200 movs r2, #0 80b446a: f883 2035 strb.w r2, [r3, #53] ; 0x35 /* Release Lock */ __HAL_UNLOCK(hdma); 80b446e: 687b ldr r3, [r7, #4] 80b4470: 2200 movs r2, #0 80b4472: f883 2034 strb.w r2, [r3, #52] ; 0x34 return HAL_OK; 80b4476: 2300 movs r3, #0 } 80b4478: 4618 mov r0, r3 80b447a: 3710 adds r7, #16 80b447c: 46bd mov sp, r7 80b447e: bd80 pop {r7, pc} 080b4480 : * @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) { 80b4480: b580 push {r7, lr} 80b4482: b086 sub sp, #24 80b4484: af00 add r7, sp, #0 80b4486: 60f8 str r0, [r7, #12] 80b4488: 60b9 str r1, [r7, #8] 80b448a: 607a str r2, [r7, #4] 80b448c: 603b str r3, [r7, #0] HAL_StatusTypeDef status = HAL_OK; 80b448e: 2300 movs r3, #0 80b4490: 75fb strb r3, [r7, #23] /* calculate DMA base and stream number */ DMA_Base_Registers *regs = (DMA_Base_Registers *)hdma->StreamBaseAddress; 80b4492: 68fb ldr r3, [r7, #12] 80b4494: 6d9b ldr r3, [r3, #88] ; 0x58 80b4496: 613b str r3, [r7, #16] /* Check the parameters */ assert_param(IS_DMA_BUFFER_SIZE(DataLength)); /* Process locked */ __HAL_LOCK(hdma); 80b4498: 68fb ldr r3, [r7, #12] 80b449a: f893 3034 ldrb.w r3, [r3, #52] ; 0x34 80b449e: 2b01 cmp r3, #1 80b44a0: d101 bne.n 80b44a6 80b44a2: 2302 movs r3, #2 80b44a4: e048 b.n 80b4538 80b44a6: 68fb ldr r3, [r7, #12] 80b44a8: 2201 movs r2, #1 80b44aa: f883 2034 strb.w r2, [r3, #52] ; 0x34 if(HAL_DMA_STATE_READY == hdma->State) 80b44ae: 68fb ldr r3, [r7, #12] 80b44b0: f893 3035 ldrb.w r3, [r3, #53] ; 0x35 80b44b4: b2db uxtb r3, r3 80b44b6: 2b01 cmp r3, #1 80b44b8: d137 bne.n 80b452a { /* Change DMA peripheral state */ hdma->State = HAL_DMA_STATE_BUSY; 80b44ba: 68fb ldr r3, [r7, #12] 80b44bc: 2202 movs r2, #2 80b44be: f883 2035 strb.w r2, [r3, #53] ; 0x35 /* Initialize the error code */ hdma->ErrorCode = HAL_DMA_ERROR_NONE; 80b44c2: 68fb ldr r3, [r7, #12] 80b44c4: 2200 movs r2, #0 80b44c6: 655a str r2, [r3, #84] ; 0x54 /* Configure the source, destination address and the data length */ DMA_SetConfig(hdma, SrcAddress, DstAddress, DataLength); 80b44c8: 683b ldr r3, [r7, #0] 80b44ca: 687a ldr r2, [r7, #4] 80b44cc: 68b9 ldr r1, [r7, #8] 80b44ce: 68f8 ldr r0, [r7, #12] 80b44d0: f000 fa6c bl 80b49ac /* Clear all interrupt flags at correct offset within the register */ regs->IFCR = 0x3FU << hdma->StreamIndex; 80b44d4: 68fb ldr r3, [r7, #12] 80b44d6: 6ddb ldr r3, [r3, #92] ; 0x5c 80b44d8: 223f movs r2, #63 ; 0x3f 80b44da: 409a lsls r2, r3 80b44dc: 693b ldr r3, [r7, #16] 80b44de: 609a str r2, [r3, #8] /* Enable Common interrupts*/ hdma->Instance->CR |= DMA_IT_TC | DMA_IT_TE | DMA_IT_DME; 80b44e0: 68fb ldr r3, [r7, #12] 80b44e2: 681b ldr r3, [r3, #0] 80b44e4: 68fa ldr r2, [r7, #12] 80b44e6: 6812 ldr r2, [r2, #0] 80b44e8: 6812 ldr r2, [r2, #0] 80b44ea: f042 0216 orr.w r2, r2, #22 80b44ee: 601a str r2, [r3, #0] hdma->Instance->FCR |= DMA_IT_FE; 80b44f0: 68fb ldr r3, [r7, #12] 80b44f2: 681b ldr r3, [r3, #0] 80b44f4: 68fa ldr r2, [r7, #12] 80b44f6: 6812 ldr r2, [r2, #0] 80b44f8: 6952 ldr r2, [r2, #20] 80b44fa: f042 0280 orr.w r2, r2, #128 ; 0x80 80b44fe: 615a str r2, [r3, #20] if(hdma->XferHalfCpltCallback != NULL) 80b4500: 68fb ldr r3, [r7, #12] 80b4502: 6c1b ldr r3, [r3, #64] ; 0x40 80b4504: 2b00 cmp r3, #0 80b4506: d007 beq.n 80b4518 { hdma->Instance->CR |= DMA_IT_HT; 80b4508: 68fb ldr r3, [r7, #12] 80b450a: 681b ldr r3, [r3, #0] 80b450c: 68fa ldr r2, [r7, #12] 80b450e: 6812 ldr r2, [r2, #0] 80b4510: 6812 ldr r2, [r2, #0] 80b4512: f042 0208 orr.w r2, r2, #8 80b4516: 601a str r2, [r3, #0] } /* Enable the Peripheral */ __HAL_DMA_ENABLE(hdma); 80b4518: 68fb ldr r3, [r7, #12] 80b451a: 681b ldr r3, [r3, #0] 80b451c: 68fa ldr r2, [r7, #12] 80b451e: 6812 ldr r2, [r2, #0] 80b4520: 6812 ldr r2, [r2, #0] 80b4522: f042 0201 orr.w r2, r2, #1 80b4526: 601a str r2, [r3, #0] 80b4528: e005 b.n 80b4536 } else { /* Process unlocked */ __HAL_UNLOCK(hdma); 80b452a: 68fb ldr r3, [r7, #12] 80b452c: 2200 movs r2, #0 80b452e: f883 2034 strb.w r2, [r3, #52] ; 0x34 /* Return error status */ status = HAL_BUSY; 80b4532: 2302 movs r3, #2 80b4534: 75fb strb r3, [r7, #23] } return status; 80b4536: 7dfb ldrb r3, [r7, #23] } 80b4538: 4618 mov r0, r3 80b453a: 3718 adds r7, #24 80b453c: 46bd mov sp, r7 80b453e: bd80 pop {r7, pc} 080b4540 : * 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) { 80b4540: b580 push {r7, lr} 80b4542: b084 sub sp, #16 80b4544: af00 add r7, sp, #0 80b4546: 6078 str r0, [r7, #4] /* calculate DMA base and stream number */ DMA_Base_Registers *regs = (DMA_Base_Registers *)hdma->StreamBaseAddress; 80b4548: 687b ldr r3, [r7, #4] 80b454a: 6d9b ldr r3, [r3, #88] ; 0x58 80b454c: 60fb str r3, [r7, #12] uint32_t tickstart = HAL_GetTick(); 80b454e: f7fe fe73 bl 80b3238 80b4552: 60b8 str r0, [r7, #8] if(hdma->State != HAL_DMA_STATE_BUSY) 80b4554: 687b ldr r3, [r7, #4] 80b4556: f893 3035 ldrb.w r3, [r3, #53] ; 0x35 80b455a: b2db uxtb r3, r3 80b455c: 2b02 cmp r3, #2 80b455e: d008 beq.n 80b4572 { hdma->ErrorCode = HAL_DMA_ERROR_NO_XFER; 80b4560: 687b ldr r3, [r7, #4] 80b4562: 2280 movs r2, #128 ; 0x80 80b4564: 655a str r2, [r3, #84] ; 0x54 /* Process Unlocked */ __HAL_UNLOCK(hdma); 80b4566: 687b ldr r3, [r7, #4] 80b4568: 2200 movs r2, #0 80b456a: f883 2034 strb.w r2, [r3, #52] ; 0x34 return HAL_ERROR; 80b456e: 2301 movs r3, #1 80b4570: e052 b.n 80b4618 } else { /* Disable all the transfer interrupts */ hdma->Instance->CR &= ~(DMA_IT_TC | DMA_IT_TE | DMA_IT_DME); 80b4572: 687b ldr r3, [r7, #4] 80b4574: 681b ldr r3, [r3, #0] 80b4576: 687a ldr r2, [r7, #4] 80b4578: 6812 ldr r2, [r2, #0] 80b457a: 6812 ldr r2, [r2, #0] 80b457c: f022 0216 bic.w r2, r2, #22 80b4580: 601a str r2, [r3, #0] hdma->Instance->FCR &= ~(DMA_IT_FE); 80b4582: 687b ldr r3, [r7, #4] 80b4584: 681b ldr r3, [r3, #0] 80b4586: 687a ldr r2, [r7, #4] 80b4588: 6812 ldr r2, [r2, #0] 80b458a: 6952 ldr r2, [r2, #20] 80b458c: f022 0280 bic.w r2, r2, #128 ; 0x80 80b4590: 615a str r2, [r3, #20] if((hdma->XferHalfCpltCallback != NULL) || (hdma->XferM1HalfCpltCallback != NULL)) 80b4592: 687b ldr r3, [r7, #4] 80b4594: 6c1b ldr r3, [r3, #64] ; 0x40 80b4596: 2b00 cmp r3, #0 80b4598: d103 bne.n 80b45a2 80b459a: 687b ldr r3, [r7, #4] 80b459c: 6c9b ldr r3, [r3, #72] ; 0x48 80b459e: 2b00 cmp r3, #0 80b45a0: d007 beq.n 80b45b2 { hdma->Instance->CR &= ~(DMA_IT_HT); 80b45a2: 687b ldr r3, [r7, #4] 80b45a4: 681b ldr r3, [r3, #0] 80b45a6: 687a ldr r2, [r7, #4] 80b45a8: 6812 ldr r2, [r2, #0] 80b45aa: 6812 ldr r2, [r2, #0] 80b45ac: f022 0208 bic.w r2, r2, #8 80b45b0: 601a str r2, [r3, #0] } /* Disable the stream */ __HAL_DMA_DISABLE(hdma); 80b45b2: 687b ldr r3, [r7, #4] 80b45b4: 681b ldr r3, [r3, #0] 80b45b6: 687a ldr r2, [r7, #4] 80b45b8: 6812 ldr r2, [r2, #0] 80b45ba: 6812 ldr r2, [r2, #0] 80b45bc: f022 0201 bic.w r2, r2, #1 80b45c0: 601a str r2, [r3, #0] /* Check if the DMA Stream is effectively disabled */ while((hdma->Instance->CR & DMA_SxCR_EN) != RESET) 80b45c2: e013 b.n 80b45ec { /* Check for the Timeout */ if((HAL_GetTick() - tickstart ) > HAL_TIMEOUT_DMA_ABORT) 80b45c4: f7fe fe38 bl 80b3238 80b45c8: 4602 mov r2, r0 80b45ca: 68bb ldr r3, [r7, #8] 80b45cc: 1ad3 subs r3, r2, r3 80b45ce: 2b05 cmp r3, #5 80b45d0: d90c bls.n 80b45ec { /* Update error code */ hdma->ErrorCode = HAL_DMA_ERROR_TIMEOUT; 80b45d2: 687b ldr r3, [r7, #4] 80b45d4: 2220 movs r2, #32 80b45d6: 655a str r2, [r3, #84] ; 0x54 /* Change the DMA state */ hdma->State = HAL_DMA_STATE_TIMEOUT; 80b45d8: 687b ldr r3, [r7, #4] 80b45da: 2203 movs r2, #3 80b45dc: f883 2035 strb.w r2, [r3, #53] ; 0x35 /* Process Unlocked */ __HAL_UNLOCK(hdma); 80b45e0: 687b ldr r3, [r7, #4] 80b45e2: 2200 movs r2, #0 80b45e4: f883 2034 strb.w r2, [r3, #52] ; 0x34 return HAL_TIMEOUT; 80b45e8: 2303 movs r3, #3 80b45ea: e015 b.n 80b4618 while((hdma->Instance->CR & DMA_SxCR_EN) != RESET) 80b45ec: 687b ldr r3, [r7, #4] 80b45ee: 681b ldr r3, [r3, #0] 80b45f0: 681b ldr r3, [r3, #0] 80b45f2: f003 0301 and.w r3, r3, #1 80b45f6: 2b00 cmp r3, #0 80b45f8: d1e4 bne.n 80b45c4 } } /* Clear all interrupt flags at correct offset within the register */ regs->IFCR = 0x3FU << hdma->StreamIndex; 80b45fa: 687b ldr r3, [r7, #4] 80b45fc: 6ddb ldr r3, [r3, #92] ; 0x5c 80b45fe: 223f movs r2, #63 ; 0x3f 80b4600: 409a lsls r2, r3 80b4602: 68fb ldr r3, [r7, #12] 80b4604: 609a str r2, [r3, #8] /* Change the DMA state*/ hdma->State = HAL_DMA_STATE_READY; 80b4606: 687b ldr r3, [r7, #4] 80b4608: 2201 movs r2, #1 80b460a: f883 2035 strb.w r2, [r3, #53] ; 0x35 /* Process Unlocked */ __HAL_UNLOCK(hdma); 80b460e: 687b ldr r3, [r7, #4] 80b4610: 2200 movs r2, #0 80b4612: f883 2034 strb.w r2, [r3, #52] ; 0x34 } return HAL_OK; 80b4616: 2300 movs r3, #0 } 80b4618: 4618 mov r0, r3 80b461a: 3710 adds r7, #16 80b461c: 46bd mov sp, r7 80b461e: bd80 pop {r7, pc} 080b4620 : * @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) { 80b4620: b480 push {r7} 80b4622: b083 sub sp, #12 80b4624: af00 add r7, sp, #0 80b4626: 6078 str r0, [r7, #4] if(hdma->State != HAL_DMA_STATE_BUSY) 80b4628: 687b ldr r3, [r7, #4] 80b462a: f893 3035 ldrb.w r3, [r3, #53] ; 0x35 80b462e: b2db uxtb r3, r3 80b4630: 2b02 cmp r3, #2 80b4632: d004 beq.n 80b463e { hdma->ErrorCode = HAL_DMA_ERROR_NO_XFER; 80b4634: 687b ldr r3, [r7, #4] 80b4636: 2280 movs r2, #128 ; 0x80 80b4638: 655a str r2, [r3, #84] ; 0x54 return HAL_ERROR; 80b463a: 2301 movs r3, #1 80b463c: e00c b.n 80b4658 } else { /* Set Abort State */ hdma->State = HAL_DMA_STATE_ABORT; 80b463e: 687b ldr r3, [r7, #4] 80b4640: 2205 movs r2, #5 80b4642: f883 2035 strb.w r2, [r3, #53] ; 0x35 /* Disable the stream */ __HAL_DMA_DISABLE(hdma); 80b4646: 687b ldr r3, [r7, #4] 80b4648: 681b ldr r3, [r3, #0] 80b464a: 687a ldr r2, [r7, #4] 80b464c: 6812 ldr r2, [r2, #0] 80b464e: 6812 ldr r2, [r2, #0] 80b4650: f022 0201 bic.w r2, r2, #1 80b4654: 601a str r2, [r3, #0] } return HAL_OK; 80b4656: 2300 movs r3, #0 } 80b4658: 4618 mov r0, r3 80b465a: 370c adds r7, #12 80b465c: 46bd mov sp, r7 80b465e: f85d 7b04 ldr.w r7, [sp], #4 80b4662: 4770 bx lr 080b4664 : * @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) { 80b4664: b580 push {r7, lr} 80b4666: b086 sub sp, #24 80b4668: af00 add r7, sp, #0 80b466a: 6078 str r0, [r7, #4] uint32_t tmpisr; __IO uint32_t count = 0; 80b466c: 2300 movs r3, #0 80b466e: 60bb str r3, [r7, #8] uint32_t timeout = SystemCoreClock / 9600; 80b4670: 4b92 ldr r3, [pc, #584] ; (80b48bc ) 80b4672: 681b ldr r3, [r3, #0] 80b4674: 4a92 ldr r2, [pc, #584] ; (80b48c0 ) 80b4676: fba2 2303 umull r2, r3, r2, r3 80b467a: 0a9b lsrs r3, r3, #10 80b467c: 617b str r3, [r7, #20] /* calculate DMA base and stream number */ DMA_Base_Registers *regs = (DMA_Base_Registers *)hdma->StreamBaseAddress; 80b467e: 687b ldr r3, [r7, #4] 80b4680: 6d9b ldr r3, [r3, #88] ; 0x58 80b4682: 613b str r3, [r7, #16] tmpisr = regs->ISR; 80b4684: 693b ldr r3, [r7, #16] 80b4686: 681b ldr r3, [r3, #0] 80b4688: 60fb str r3, [r7, #12] /* Transfer Error Interrupt management ***************************************/ if ((tmpisr & (DMA_FLAG_TEIF0_4 << hdma->StreamIndex)) != RESET) 80b468a: 687b ldr r3, [r7, #4] 80b468c: 6ddb ldr r3, [r3, #92] ; 0x5c 80b468e: 2208 movs r2, #8 80b4690: 409a lsls r2, r3 80b4692: 68fb ldr r3, [r7, #12] 80b4694: 4013 ands r3, r2 80b4696: 2b00 cmp r3, #0 80b4698: d01a beq.n 80b46d0 { if(__HAL_DMA_GET_IT_SOURCE(hdma, DMA_IT_TE) != RESET) 80b469a: 687b ldr r3, [r7, #4] 80b469c: 681b ldr r3, [r3, #0] 80b469e: 681b ldr r3, [r3, #0] 80b46a0: f003 0304 and.w r3, r3, #4 80b46a4: 2b00 cmp r3, #0 80b46a6: d013 beq.n 80b46d0 { /* Disable the transfer error interrupt */ hdma->Instance->CR &= ~(DMA_IT_TE); 80b46a8: 687b ldr r3, [r7, #4] 80b46aa: 681b ldr r3, [r3, #0] 80b46ac: 687a ldr r2, [r7, #4] 80b46ae: 6812 ldr r2, [r2, #0] 80b46b0: 6812 ldr r2, [r2, #0] 80b46b2: f022 0204 bic.w r2, r2, #4 80b46b6: 601a str r2, [r3, #0] /* Clear the transfer error flag */ regs->IFCR = DMA_FLAG_TEIF0_4 << hdma->StreamIndex; 80b46b8: 687b ldr r3, [r7, #4] 80b46ba: 6ddb ldr r3, [r3, #92] ; 0x5c 80b46bc: 2208 movs r2, #8 80b46be: 409a lsls r2, r3 80b46c0: 693b ldr r3, [r7, #16] 80b46c2: 609a str r2, [r3, #8] /* Update error code */ hdma->ErrorCode |= HAL_DMA_ERROR_TE; 80b46c4: 687b ldr r3, [r7, #4] 80b46c6: 6d5b ldr r3, [r3, #84] ; 0x54 80b46c8: f043 0201 orr.w r2, r3, #1 80b46cc: 687b ldr r3, [r7, #4] 80b46ce: 655a str r2, [r3, #84] ; 0x54 } } /* FIFO Error Interrupt management ******************************************/ if ((tmpisr & (DMA_FLAG_FEIF0_4 << hdma->StreamIndex)) != RESET) 80b46d0: 687b ldr r3, [r7, #4] 80b46d2: 6ddb ldr r3, [r3, #92] ; 0x5c 80b46d4: 2201 movs r2, #1 80b46d6: 409a lsls r2, r3 80b46d8: 68fb ldr r3, [r7, #12] 80b46da: 4013 ands r3, r2 80b46dc: 2b00 cmp r3, #0 80b46de: d012 beq.n 80b4706 { if(__HAL_DMA_GET_IT_SOURCE(hdma, DMA_IT_FE) != RESET) 80b46e0: 687b ldr r3, [r7, #4] 80b46e2: 681b ldr r3, [r3, #0] 80b46e4: 695b ldr r3, [r3, #20] 80b46e6: f003 0380 and.w r3, r3, #128 ; 0x80 80b46ea: 2b00 cmp r3, #0 80b46ec: d00b beq.n 80b4706 { /* Clear the FIFO error flag */ regs->IFCR = DMA_FLAG_FEIF0_4 << hdma->StreamIndex; 80b46ee: 687b ldr r3, [r7, #4] 80b46f0: 6ddb ldr r3, [r3, #92] ; 0x5c 80b46f2: 2201 movs r2, #1 80b46f4: 409a lsls r2, r3 80b46f6: 693b ldr r3, [r7, #16] 80b46f8: 609a str r2, [r3, #8] /* Update error code */ hdma->ErrorCode |= HAL_DMA_ERROR_FE; 80b46fa: 687b ldr r3, [r7, #4] 80b46fc: 6d5b ldr r3, [r3, #84] ; 0x54 80b46fe: f043 0202 orr.w r2, r3, #2 80b4702: 687b ldr r3, [r7, #4] 80b4704: 655a str r2, [r3, #84] ; 0x54 } } /* Direct Mode Error Interrupt management ***********************************/ if ((tmpisr & (DMA_FLAG_DMEIF0_4 << hdma->StreamIndex)) != RESET) 80b4706: 687b ldr r3, [r7, #4] 80b4708: 6ddb ldr r3, [r3, #92] ; 0x5c 80b470a: 2204 movs r2, #4 80b470c: 409a lsls r2, r3 80b470e: 68fb ldr r3, [r7, #12] 80b4710: 4013 ands r3, r2 80b4712: 2b00 cmp r3, #0 80b4714: d012 beq.n 80b473c { if(__HAL_DMA_GET_IT_SOURCE(hdma, DMA_IT_DME) != RESET) 80b4716: 687b ldr r3, [r7, #4] 80b4718: 681b ldr r3, [r3, #0] 80b471a: 681b ldr r3, [r3, #0] 80b471c: f003 0302 and.w r3, r3, #2 80b4720: 2b00 cmp r3, #0 80b4722: d00b beq.n 80b473c { /* Clear the direct mode error flag */ regs->IFCR = DMA_FLAG_DMEIF0_4 << hdma->StreamIndex; 80b4724: 687b ldr r3, [r7, #4] 80b4726: 6ddb ldr r3, [r3, #92] ; 0x5c 80b4728: 2204 movs r2, #4 80b472a: 409a lsls r2, r3 80b472c: 693b ldr r3, [r7, #16] 80b472e: 609a str r2, [r3, #8] /* Update error code */ hdma->ErrorCode |= HAL_DMA_ERROR_DME; 80b4730: 687b ldr r3, [r7, #4] 80b4732: 6d5b ldr r3, [r3, #84] ; 0x54 80b4734: f043 0204 orr.w r2, r3, #4 80b4738: 687b ldr r3, [r7, #4] 80b473a: 655a str r2, [r3, #84] ; 0x54 } } /* Half Transfer Complete Interrupt management ******************************/ if ((tmpisr & (DMA_FLAG_HTIF0_4 << hdma->StreamIndex)) != RESET) 80b473c: 687b ldr r3, [r7, #4] 80b473e: 6ddb ldr r3, [r3, #92] ; 0x5c 80b4740: 2210 movs r2, #16 80b4742: 409a lsls r2, r3 80b4744: 68fb ldr r3, [r7, #12] 80b4746: 4013 ands r3, r2 80b4748: 2b00 cmp r3, #0 80b474a: d043 beq.n 80b47d4 { if(__HAL_DMA_GET_IT_SOURCE(hdma, DMA_IT_HT) != RESET) 80b474c: 687b ldr r3, [r7, #4] 80b474e: 681b ldr r3, [r3, #0] 80b4750: 681b ldr r3, [r3, #0] 80b4752: f003 0308 and.w r3, r3, #8 80b4756: 2b00 cmp r3, #0 80b4758: d03c beq.n 80b47d4 { /* Clear the half transfer complete flag */ regs->IFCR = DMA_FLAG_HTIF0_4 << hdma->StreamIndex; 80b475a: 687b ldr r3, [r7, #4] 80b475c: 6ddb ldr r3, [r3, #92] ; 0x5c 80b475e: 2210 movs r2, #16 80b4760: 409a lsls r2, r3 80b4762: 693b ldr r3, [r7, #16] 80b4764: 609a str r2, [r3, #8] /* Multi_Buffering mode enabled */ if(((hdma->Instance->CR) & (uint32_t)(DMA_SxCR_DBM)) != RESET) 80b4766: 687b ldr r3, [r7, #4] 80b4768: 681b ldr r3, [r3, #0] 80b476a: 681b ldr r3, [r3, #0] 80b476c: f403 2380 and.w r3, r3, #262144 ; 0x40000 80b4770: 2b00 cmp r3, #0 80b4772: d018 beq.n 80b47a6 { /* Current memory buffer used is Memory 0 */ if((hdma->Instance->CR & DMA_SxCR_CT) == RESET) 80b4774: 687b ldr r3, [r7, #4] 80b4776: 681b ldr r3, [r3, #0] 80b4778: 681b ldr r3, [r3, #0] 80b477a: f403 2300 and.w r3, r3, #524288 ; 0x80000 80b477e: 2b00 cmp r3, #0 80b4780: d108 bne.n 80b4794 { if(hdma->XferHalfCpltCallback != NULL) 80b4782: 687b ldr r3, [r7, #4] 80b4784: 6c1b ldr r3, [r3, #64] ; 0x40 80b4786: 2b00 cmp r3, #0 80b4788: d024 beq.n 80b47d4 { /* Half transfer callback */ hdma->XferHalfCpltCallback(hdma); 80b478a: 687b ldr r3, [r7, #4] 80b478c: 6c1b ldr r3, [r3, #64] ; 0x40 80b478e: 6878 ldr r0, [r7, #4] 80b4790: 4798 blx r3 80b4792: e01f b.n 80b47d4 } } /* Current memory buffer used is Memory 1 */ else { if(hdma->XferM1HalfCpltCallback != NULL) 80b4794: 687b ldr r3, [r7, #4] 80b4796: 6c9b ldr r3, [r3, #72] ; 0x48 80b4798: 2b00 cmp r3, #0 80b479a: d01b beq.n 80b47d4 { /* Half transfer callback */ hdma->XferM1HalfCpltCallback(hdma); 80b479c: 687b ldr r3, [r7, #4] 80b479e: 6c9b ldr r3, [r3, #72] ; 0x48 80b47a0: 6878 ldr r0, [r7, #4] 80b47a2: 4798 blx r3 80b47a4: e016 b.n 80b47d4 } } else { /* Disable the half transfer interrupt if the DMA mode is not CIRCULAR */ if((hdma->Instance->CR & DMA_SxCR_CIRC) == RESET) 80b47a6: 687b ldr r3, [r7, #4] 80b47a8: 681b ldr r3, [r3, #0] 80b47aa: 681b ldr r3, [r3, #0] 80b47ac: f403 7380 and.w r3, r3, #256 ; 0x100 80b47b0: 2b00 cmp r3, #0 80b47b2: d107 bne.n 80b47c4 { /* Disable the half transfer interrupt */ hdma->Instance->CR &= ~(DMA_IT_HT); 80b47b4: 687b ldr r3, [r7, #4] 80b47b6: 681b ldr r3, [r3, #0] 80b47b8: 687a ldr r2, [r7, #4] 80b47ba: 6812 ldr r2, [r2, #0] 80b47bc: 6812 ldr r2, [r2, #0] 80b47be: f022 0208 bic.w r2, r2, #8 80b47c2: 601a str r2, [r3, #0] } if(hdma->XferHalfCpltCallback != NULL) 80b47c4: 687b ldr r3, [r7, #4] 80b47c6: 6c1b ldr r3, [r3, #64] ; 0x40 80b47c8: 2b00 cmp r3, #0 80b47ca: d003 beq.n 80b47d4 { /* Half transfer callback */ hdma->XferHalfCpltCallback(hdma); 80b47cc: 687b ldr r3, [r7, #4] 80b47ce: 6c1b ldr r3, [r3, #64] ; 0x40 80b47d0: 6878 ldr r0, [r7, #4] 80b47d2: 4798 blx r3 } } } } /* Transfer Complete Interrupt management ***********************************/ if ((tmpisr & (DMA_FLAG_TCIF0_4 << hdma->StreamIndex)) != RESET) 80b47d4: 687b ldr r3, [r7, #4] 80b47d6: 6ddb ldr r3, [r3, #92] ; 0x5c 80b47d8: 2220 movs r2, #32 80b47da: 409a lsls r2, r3 80b47dc: 68fb ldr r3, [r7, #12] 80b47de: 4013 ands r3, r2 80b47e0: 2b00 cmp r3, #0 80b47e2: f000 808e beq.w 80b4902 { if(__HAL_DMA_GET_IT_SOURCE(hdma, DMA_IT_TC) != RESET) 80b47e6: 687b ldr r3, [r7, #4] 80b47e8: 681b ldr r3, [r3, #0] 80b47ea: 681b ldr r3, [r3, #0] 80b47ec: f003 0310 and.w r3, r3, #16 80b47f0: 2b00 cmp r3, #0 80b47f2: f000 8086 beq.w 80b4902 { /* Clear the transfer complete flag */ regs->IFCR = DMA_FLAG_TCIF0_4 << hdma->StreamIndex; 80b47f6: 687b ldr r3, [r7, #4] 80b47f8: 6ddb ldr r3, [r3, #92] ; 0x5c 80b47fa: 2220 movs r2, #32 80b47fc: 409a lsls r2, r3 80b47fe: 693b ldr r3, [r7, #16] 80b4800: 609a str r2, [r3, #8] if(HAL_DMA_STATE_ABORT == hdma->State) 80b4802: 687b ldr r3, [r7, #4] 80b4804: f893 3035 ldrb.w r3, [r3, #53] ; 0x35 80b4808: b2db uxtb r3, r3 80b480a: 2b05 cmp r3, #5 80b480c: d136 bne.n 80b487c { /* Disable all the transfer interrupts */ hdma->Instance->CR &= ~(DMA_IT_TC | DMA_IT_TE | DMA_IT_DME); 80b480e: 687b ldr r3, [r7, #4] 80b4810: 681b ldr r3, [r3, #0] 80b4812: 687a ldr r2, [r7, #4] 80b4814: 6812 ldr r2, [r2, #0] 80b4816: 6812 ldr r2, [r2, #0] 80b4818: f022 0216 bic.w r2, r2, #22 80b481c: 601a str r2, [r3, #0] hdma->Instance->FCR &= ~(DMA_IT_FE); 80b481e: 687b ldr r3, [r7, #4] 80b4820: 681b ldr r3, [r3, #0] 80b4822: 687a ldr r2, [r7, #4] 80b4824: 6812 ldr r2, [r2, #0] 80b4826: 6952 ldr r2, [r2, #20] 80b4828: f022 0280 bic.w r2, r2, #128 ; 0x80 80b482c: 615a str r2, [r3, #20] if((hdma->XferHalfCpltCallback != NULL) || (hdma->XferM1HalfCpltCallback != NULL)) 80b482e: 687b ldr r3, [r7, #4] 80b4830: 6c1b ldr r3, [r3, #64] ; 0x40 80b4832: 2b00 cmp r3, #0 80b4834: d103 bne.n 80b483e 80b4836: 687b ldr r3, [r7, #4] 80b4838: 6c9b ldr r3, [r3, #72] ; 0x48 80b483a: 2b00 cmp r3, #0 80b483c: d007 beq.n 80b484e { hdma->Instance->CR &= ~(DMA_IT_HT); 80b483e: 687b ldr r3, [r7, #4] 80b4840: 681b ldr r3, [r3, #0] 80b4842: 687a ldr r2, [r7, #4] 80b4844: 6812 ldr r2, [r2, #0] 80b4846: 6812 ldr r2, [r2, #0] 80b4848: f022 0208 bic.w r2, r2, #8 80b484c: 601a str r2, [r3, #0] } /* Clear all interrupt flags at correct offset within the register */ regs->IFCR = 0x3FU << hdma->StreamIndex; 80b484e: 687b ldr r3, [r7, #4] 80b4850: 6ddb ldr r3, [r3, #92] ; 0x5c 80b4852: 223f movs r2, #63 ; 0x3f 80b4854: 409a lsls r2, r3 80b4856: 693b ldr r3, [r7, #16] 80b4858: 609a str r2, [r3, #8] /* Change the DMA state */ hdma->State = HAL_DMA_STATE_READY; 80b485a: 687b ldr r3, [r7, #4] 80b485c: 2201 movs r2, #1 80b485e: f883 2035 strb.w r2, [r3, #53] ; 0x35 /* Process Unlocked */ __HAL_UNLOCK(hdma); 80b4862: 687b ldr r3, [r7, #4] 80b4864: 2200 movs r2, #0 80b4866: f883 2034 strb.w r2, [r3, #52] ; 0x34 if(hdma->XferAbortCallback != NULL) 80b486a: 687b ldr r3, [r7, #4] 80b486c: 6d1b ldr r3, [r3, #80] ; 0x50 80b486e: 2b00 cmp r3, #0 80b4870: d07d beq.n 80b496e { hdma->XferAbortCallback(hdma); 80b4872: 687b ldr r3, [r7, #4] 80b4874: 6d1b ldr r3, [r3, #80] ; 0x50 80b4876: 6878 ldr r0, [r7, #4] 80b4878: 4798 blx r3 } return; 80b487a: e078 b.n 80b496e } if(((hdma->Instance->CR) & (uint32_t)(DMA_SxCR_DBM)) != RESET) 80b487c: 687b ldr r3, [r7, #4] 80b487e: 681b ldr r3, [r3, #0] 80b4880: 681b ldr r3, [r3, #0] 80b4882: f403 2380 and.w r3, r3, #262144 ; 0x40000 80b4886: 2b00 cmp r3, #0 80b4888: d01c beq.n 80b48c4 { /* Current memory buffer used is Memory 0 */ if((hdma->Instance->CR & DMA_SxCR_CT) == RESET) 80b488a: 687b ldr r3, [r7, #4] 80b488c: 681b ldr r3, [r3, #0] 80b488e: 681b ldr r3, [r3, #0] 80b4890: f403 2300 and.w r3, r3, #524288 ; 0x80000 80b4894: 2b00 cmp r3, #0 80b4896: d108 bne.n 80b48aa { if(hdma->XferM1CpltCallback != NULL) 80b4898: 687b ldr r3, [r7, #4] 80b489a: 6c5b ldr r3, [r3, #68] ; 0x44 80b489c: 2b00 cmp r3, #0 80b489e: d030 beq.n 80b4902 { /* Transfer complete Callback for memory1 */ hdma->XferM1CpltCallback(hdma); 80b48a0: 687b ldr r3, [r7, #4] 80b48a2: 6c5b ldr r3, [r3, #68] ; 0x44 80b48a4: 6878 ldr r0, [r7, #4] 80b48a6: 4798 blx r3 80b48a8: e02b b.n 80b4902 } } /* Current memory buffer used is Memory 1 */ else { if(hdma->XferCpltCallback != NULL) 80b48aa: 687b ldr r3, [r7, #4] 80b48ac: 6bdb ldr r3, [r3, #60] ; 0x3c 80b48ae: 2b00 cmp r3, #0 80b48b0: d027 beq.n 80b4902 { /* Transfer complete Callback for memory0 */ hdma->XferCpltCallback(hdma); 80b48b2: 687b ldr r3, [r7, #4] 80b48b4: 6bdb ldr r3, [r3, #60] ; 0x3c 80b48b6: 6878 ldr r0, [r7, #4] 80b48b8: 4798 blx r3 80b48ba: e022 b.n 80b4902 80b48bc: 200209b4 .word 0x200209b4 80b48c0: 1b4e81b5 .word 0x1b4e81b5 } } /* Disable the transfer complete interrupt if the DMA mode is not CIRCULAR */ else { if((hdma->Instance->CR & DMA_SxCR_CIRC) == RESET) 80b48c4: 687b ldr r3, [r7, #4] 80b48c6: 681b ldr r3, [r3, #0] 80b48c8: 681b ldr r3, [r3, #0] 80b48ca: f403 7380 and.w r3, r3, #256 ; 0x100 80b48ce: 2b00 cmp r3, #0 80b48d0: d10f bne.n 80b48f2 { /* Disable the transfer complete interrupt */ hdma->Instance->CR &= ~(DMA_IT_TC); 80b48d2: 687b ldr r3, [r7, #4] 80b48d4: 681b ldr r3, [r3, #0] 80b48d6: 687a ldr r2, [r7, #4] 80b48d8: 6812 ldr r2, [r2, #0] 80b48da: 6812 ldr r2, [r2, #0] 80b48dc: f022 0210 bic.w r2, r2, #16 80b48e0: 601a str r2, [r3, #0] /* Change the DMA state */ hdma->State = HAL_DMA_STATE_READY; 80b48e2: 687b ldr r3, [r7, #4] 80b48e4: 2201 movs r2, #1 80b48e6: f883 2035 strb.w r2, [r3, #53] ; 0x35 /* Process Unlocked */ __HAL_UNLOCK(hdma); 80b48ea: 687b ldr r3, [r7, #4] 80b48ec: 2200 movs r2, #0 80b48ee: f883 2034 strb.w r2, [r3, #52] ; 0x34 } if(hdma->XferCpltCallback != NULL) 80b48f2: 687b ldr r3, [r7, #4] 80b48f4: 6bdb ldr r3, [r3, #60] ; 0x3c 80b48f6: 2b00 cmp r3, #0 80b48f8: d003 beq.n 80b4902 { /* Transfer complete callback */ hdma->XferCpltCallback(hdma); 80b48fa: 687b ldr r3, [r7, #4] 80b48fc: 6bdb ldr r3, [r3, #60] ; 0x3c 80b48fe: 6878 ldr r0, [r7, #4] 80b4900: 4798 blx r3 } } } /* manage error case */ if(hdma->ErrorCode != HAL_DMA_ERROR_NONE) 80b4902: 687b ldr r3, [r7, #4] 80b4904: 6d5b ldr r3, [r3, #84] ; 0x54 80b4906: 2b00 cmp r3, #0 80b4908: d032 beq.n 80b4970 { if((hdma->ErrorCode & HAL_DMA_ERROR_TE) != RESET) 80b490a: 687b ldr r3, [r7, #4] 80b490c: 6d5b ldr r3, [r3, #84] ; 0x54 80b490e: f003 0301 and.w r3, r3, #1 80b4912: 2b00 cmp r3, #0 80b4914: d022 beq.n 80b495c { hdma->State = HAL_DMA_STATE_ABORT; 80b4916: 687b ldr r3, [r7, #4] 80b4918: 2205 movs r2, #5 80b491a: f883 2035 strb.w r2, [r3, #53] ; 0x35 /* Disable the stream */ __HAL_DMA_DISABLE(hdma); 80b491e: 687b ldr r3, [r7, #4] 80b4920: 681b ldr r3, [r3, #0] 80b4922: 687a ldr r2, [r7, #4] 80b4924: 6812 ldr r2, [r2, #0] 80b4926: 6812 ldr r2, [r2, #0] 80b4928: f022 0201 bic.w r2, r2, #1 80b492c: 601a str r2, [r3, #0] do { if (++count > timeout) 80b492e: 68bb ldr r3, [r7, #8] 80b4930: 3301 adds r3, #1 80b4932: 60bb str r3, [r7, #8] 80b4934: 697a ldr r2, [r7, #20] 80b4936: 4293 cmp r3, r2 80b4938: d807 bhi.n 80b494a { break; } } while((hdma->Instance->CR & DMA_SxCR_EN) != RESET); 80b493a: 687b ldr r3, [r7, #4] 80b493c: 681b ldr r3, [r3, #0] 80b493e: 681b ldr r3, [r3, #0] 80b4940: f003 0301 and.w r3, r3, #1 80b4944: 2b00 cmp r3, #0 80b4946: d1f2 bne.n 80b492e 80b4948: e000 b.n 80b494c break; 80b494a: bf00 nop /* Change the DMA state */ hdma->State = HAL_DMA_STATE_READY; 80b494c: 687b ldr r3, [r7, #4] 80b494e: 2201 movs r2, #1 80b4950: f883 2035 strb.w r2, [r3, #53] ; 0x35 /* Process Unlocked */ __HAL_UNLOCK(hdma); 80b4954: 687b ldr r3, [r7, #4] 80b4956: 2200 movs r2, #0 80b4958: f883 2034 strb.w r2, [r3, #52] ; 0x34 } if(hdma->XferErrorCallback != NULL) 80b495c: 687b ldr r3, [r7, #4] 80b495e: 6cdb ldr r3, [r3, #76] ; 0x4c 80b4960: 2b00 cmp r3, #0 80b4962: d005 beq.n 80b4970 { /* Transfer error callback */ hdma->XferErrorCallback(hdma); 80b4964: 687b ldr r3, [r7, #4] 80b4966: 6cdb ldr r3, [r3, #76] ; 0x4c 80b4968: 6878 ldr r0, [r7, #4] 80b496a: 4798 blx r3 80b496c: e000 b.n 80b4970 return; 80b496e: bf00 nop } } } 80b4970: 3718 adds r7, #24 80b4972: 46bd mov sp, r7 80b4974: bd80 pop {r7, pc} 80b4976: bf00 nop 080b4978 : * @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) { 80b4978: b480 push {r7} 80b497a: b083 sub sp, #12 80b497c: af00 add r7, sp, #0 80b497e: 6078 str r0, [r7, #4] return hdma->State; 80b4980: 687b ldr r3, [r7, #4] 80b4982: f893 3035 ldrb.w r3, [r3, #53] ; 0x35 80b4986: b2db uxtb r3, r3 } 80b4988: 4618 mov r0, r3 80b498a: 370c adds r7, #12 80b498c: 46bd mov sp, r7 80b498e: f85d 7b04 ldr.w r7, [sp], #4 80b4992: 4770 bx lr 080b4994 : * @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) { 80b4994: b480 push {r7} 80b4996: b083 sub sp, #12 80b4998: af00 add r7, sp, #0 80b499a: 6078 str r0, [r7, #4] return hdma->ErrorCode; 80b499c: 687b ldr r3, [r7, #4] 80b499e: 6d5b ldr r3, [r3, #84] ; 0x54 } 80b49a0: 4618 mov r0, r3 80b49a2: 370c adds r7, #12 80b49a4: 46bd mov sp, r7 80b49a6: f85d 7b04 ldr.w r7, [sp], #4 80b49aa: 4770 bx lr 080b49ac : * @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) { 80b49ac: b480 push {r7} 80b49ae: b085 sub sp, #20 80b49b0: af00 add r7, sp, #0 80b49b2: 60f8 str r0, [r7, #12] 80b49b4: 60b9 str r1, [r7, #8] 80b49b6: 607a str r2, [r7, #4] 80b49b8: 603b str r3, [r7, #0] /* Clear DBM bit */ hdma->Instance->CR &= (uint32_t)(~DMA_SxCR_DBM); 80b49ba: 68fb ldr r3, [r7, #12] 80b49bc: 681b ldr r3, [r3, #0] 80b49be: 68fa ldr r2, [r7, #12] 80b49c0: 6812 ldr r2, [r2, #0] 80b49c2: 6812 ldr r2, [r2, #0] 80b49c4: f422 2280 bic.w r2, r2, #262144 ; 0x40000 80b49c8: 601a str r2, [r3, #0] /* Configure DMA Stream data length */ hdma->Instance->NDTR = DataLength; 80b49ca: 68fb ldr r3, [r7, #12] 80b49cc: 681b ldr r3, [r3, #0] 80b49ce: 683a ldr r2, [r7, #0] 80b49d0: 605a str r2, [r3, #4] /* Memory to Peripheral */ if((hdma->Init.Direction) == DMA_MEMORY_TO_PERIPH) 80b49d2: 68fb ldr r3, [r7, #12] 80b49d4: 689b ldr r3, [r3, #8] 80b49d6: 2b40 cmp r3, #64 ; 0x40 80b49d8: d108 bne.n 80b49ec { /* Configure DMA Stream destination address */ hdma->Instance->PAR = DstAddress; 80b49da: 68fb ldr r3, [r7, #12] 80b49dc: 681b ldr r3, [r3, #0] 80b49de: 687a ldr r2, [r7, #4] 80b49e0: 609a str r2, [r3, #8] /* Configure DMA Stream source address */ hdma->Instance->M0AR = SrcAddress; 80b49e2: 68fb ldr r3, [r7, #12] 80b49e4: 681b ldr r3, [r3, #0] 80b49e6: 68ba ldr r2, [r7, #8] 80b49e8: 60da str r2, [r3, #12] hdma->Instance->PAR = SrcAddress; /* Configure DMA Stream destination address */ hdma->Instance->M0AR = DstAddress; } } 80b49ea: e007 b.n 80b49fc hdma->Instance->PAR = SrcAddress; 80b49ec: 68fb ldr r3, [r7, #12] 80b49ee: 681b ldr r3, [r3, #0] 80b49f0: 68ba ldr r2, [r7, #8] 80b49f2: 609a str r2, [r3, #8] hdma->Instance->M0AR = DstAddress; 80b49f4: 68fb ldr r3, [r7, #12] 80b49f6: 681b ldr r3, [r3, #0] 80b49f8: 687a ldr r2, [r7, #4] 80b49fa: 60da str r2, [r3, #12] } 80b49fc: bf00 nop 80b49fe: 3714 adds r7, #20 80b4a00: 46bd mov sp, r7 80b4a02: f85d 7b04 ldr.w r7, [sp], #4 80b4a06: 4770 bx lr 080b4a08 : * @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) { 80b4a08: b480 push {r7} 80b4a0a: b085 sub sp, #20 80b4a0c: af00 add r7, sp, #0 80b4a0e: 6078 str r0, [r7, #4] uint32_t stream_number = (((uint32_t)hdma->Instance & 0xFFU) - 16U) / 24U; 80b4a10: 687b ldr r3, [r7, #4] 80b4a12: 681b ldr r3, [r3, #0] 80b4a14: b2db uxtb r3, r3 80b4a16: 3b10 subs r3, #16 80b4a18: 4a13 ldr r2, [pc, #76] ; (80b4a68 ) 80b4a1a: fba2 2303 umull r2, r3, r2, r3 80b4a1e: 091b lsrs r3, r3, #4 80b4a20: 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]; 80b4a22: 4a12 ldr r2, [pc, #72] ; (80b4a6c ) 80b4a24: 68fb ldr r3, [r7, #12] 80b4a26: 4413 add r3, r2 80b4a28: 781b ldrb r3, [r3, #0] 80b4a2a: 461a mov r2, r3 80b4a2c: 687b ldr r3, [r7, #4] 80b4a2e: 65da str r2, [r3, #92] ; 0x5c if (stream_number > 3U) 80b4a30: 68fb ldr r3, [r7, #12] 80b4a32: 2b03 cmp r3, #3 80b4a34: d908 bls.n 80b4a48 { /* return pointer to HISR and HIFCR */ hdma->StreamBaseAddress = (((uint32_t)hdma->Instance & (uint32_t)(~0x3FFU)) + 4U); 80b4a36: 687b ldr r3, [r7, #4] 80b4a38: 681b ldr r3, [r3, #0] 80b4a3a: 461a mov r2, r3 80b4a3c: 4b0c ldr r3, [pc, #48] ; (80b4a70 ) 80b4a3e: 4013 ands r3, r2 80b4a40: 1d1a adds r2, r3, #4 80b4a42: 687b ldr r3, [r7, #4] 80b4a44: 659a str r2, [r3, #88] ; 0x58 80b4a46: e006 b.n 80b4a56 } else { /* return pointer to LISR and LIFCR */ hdma->StreamBaseAddress = ((uint32_t)hdma->Instance & (uint32_t)(~0x3FFU)); 80b4a48: 687b ldr r3, [r7, #4] 80b4a4a: 681b ldr r3, [r3, #0] 80b4a4c: 461a mov r2, r3 80b4a4e: 4b08 ldr r3, [pc, #32] ; (80b4a70 ) 80b4a50: 4013 ands r3, r2 80b4a52: 687a ldr r2, [r7, #4] 80b4a54: 6593 str r3, [r2, #88] ; 0x58 } return hdma->StreamBaseAddress; 80b4a56: 687b ldr r3, [r7, #4] 80b4a58: 6d9b ldr r3, [r3, #88] ; 0x58 } 80b4a5a: 4618 mov r0, r3 80b4a5c: 3714 adds r7, #20 80b4a5e: 46bd mov sp, r7 80b4a60: f85d 7b04 ldr.w r7, [sp], #4 80b4a64: 4770 bx lr 80b4a66: bf00 nop 80b4a68: aaaaaaab .word 0xaaaaaaab 80b4a6c: 080ff7f4 .word 0x080ff7f4 80b4a70: fffffc00 .word 0xfffffc00 080b4a74 : * @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) { 80b4a74: b480 push {r7} 80b4a76: b085 sub sp, #20 80b4a78: af00 add r7, sp, #0 80b4a7a: 6078 str r0, [r7, #4] HAL_StatusTypeDef status = HAL_OK; 80b4a7c: 2300 movs r3, #0 80b4a7e: 73fb strb r3, [r7, #15] uint32_t tmp = hdma->Init.FIFOThreshold; 80b4a80: 687b ldr r3, [r7, #4] 80b4a82: 6a9b ldr r3, [r3, #40] ; 0x28 80b4a84: 60bb str r3, [r7, #8] /* Memory Data size equal to Byte */ if(hdma->Init.MemDataAlignment == DMA_MDATAALIGN_BYTE) 80b4a86: 687b ldr r3, [r7, #4] 80b4a88: 699b ldr r3, [r3, #24] 80b4a8a: 2b00 cmp r3, #0 80b4a8c: d11f bne.n 80b4ace { switch (tmp) 80b4a8e: 68bb ldr r3, [r7, #8] 80b4a90: 2b03 cmp r3, #3 80b4a92: d855 bhi.n 80b4b40 80b4a94: a201 add r2, pc, #4 ; (adr r2, 80b4a9c ) 80b4a96: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80b4a9a: bf00 nop 80b4a9c: 080b4aad .word 0x080b4aad 80b4aa0: 080b4abf .word 0x080b4abf 80b4aa4: 080b4aad .word 0x080b4aad 80b4aa8: 080b4b41 .word 0x080b4b41 { case DMA_FIFO_THRESHOLD_1QUARTERFULL: case DMA_FIFO_THRESHOLD_3QUARTERSFULL: if ((hdma->Init.MemBurst & DMA_SxCR_MBURST_1) == DMA_SxCR_MBURST_1) 80b4aac: 687b ldr r3, [r7, #4] 80b4aae: 6adb ldr r3, [r3, #44] ; 0x2c 80b4ab0: f003 7380 and.w r3, r3, #16777216 ; 0x1000000 80b4ab4: 2b00 cmp r3, #0 80b4ab6: d045 beq.n 80b4b44 { status = HAL_ERROR; 80b4ab8: 2301 movs r3, #1 80b4aba: 73fb strb r3, [r7, #15] } break; 80b4abc: e042 b.n 80b4b44 case DMA_FIFO_THRESHOLD_HALFFULL: if (hdma->Init.MemBurst == DMA_MBURST_INC16) 80b4abe: 687b ldr r3, [r7, #4] 80b4ac0: 6adb ldr r3, [r3, #44] ; 0x2c 80b4ac2: f1b3 7fc0 cmp.w r3, #25165824 ; 0x1800000 80b4ac6: d13f bne.n 80b4b48 { status = HAL_ERROR; 80b4ac8: 2301 movs r3, #1 80b4aca: 73fb strb r3, [r7, #15] } break; 80b4acc: e03c b.n 80b4b48 break; } } /* Memory Data size equal to Half-Word */ else if (hdma->Init.MemDataAlignment == DMA_MDATAALIGN_HALFWORD) 80b4ace: 687b ldr r3, [r7, #4] 80b4ad0: 699b ldr r3, [r3, #24] 80b4ad2: f5b3 5f00 cmp.w r3, #8192 ; 0x2000 80b4ad6: d121 bne.n 80b4b1c { switch (tmp) 80b4ad8: 68bb ldr r3, [r7, #8] 80b4ada: 2b03 cmp r3, #3 80b4adc: d836 bhi.n 80b4b4c 80b4ade: a201 add r2, pc, #4 ; (adr r2, 80b4ae4 ) 80b4ae0: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80b4ae4: 080b4af5 .word 0x080b4af5 80b4ae8: 080b4afb .word 0x080b4afb 80b4aec: 080b4af5 .word 0x080b4af5 80b4af0: 080b4b0d .word 0x080b4b0d { case DMA_FIFO_THRESHOLD_1QUARTERFULL: case DMA_FIFO_THRESHOLD_3QUARTERSFULL: status = HAL_ERROR; 80b4af4: 2301 movs r3, #1 80b4af6: 73fb strb r3, [r7, #15] break; 80b4af8: e02f b.n 80b4b5a case DMA_FIFO_THRESHOLD_HALFFULL: if ((hdma->Init.MemBurst & DMA_SxCR_MBURST_1) == DMA_SxCR_MBURST_1) 80b4afa: 687b ldr r3, [r7, #4] 80b4afc: 6adb ldr r3, [r3, #44] ; 0x2c 80b4afe: f003 7380 and.w r3, r3, #16777216 ; 0x1000000 80b4b02: 2b00 cmp r3, #0 80b4b04: d024 beq.n 80b4b50 { status = HAL_ERROR; 80b4b06: 2301 movs r3, #1 80b4b08: 73fb strb r3, [r7, #15] } break; 80b4b0a: e021 b.n 80b4b50 case DMA_FIFO_THRESHOLD_FULL: if (hdma->Init.MemBurst == DMA_MBURST_INC16) 80b4b0c: 687b ldr r3, [r7, #4] 80b4b0e: 6adb ldr r3, [r3, #44] ; 0x2c 80b4b10: f1b3 7fc0 cmp.w r3, #25165824 ; 0x1800000 80b4b14: d11e bne.n 80b4b54 { status = HAL_ERROR; 80b4b16: 2301 movs r3, #1 80b4b18: 73fb strb r3, [r7, #15] } break; 80b4b1a: e01b b.n 80b4b54 } /* Memory Data size equal to Word */ else { switch (tmp) 80b4b1c: 68bb ldr r3, [r7, #8] 80b4b1e: 2b02 cmp r3, #2 80b4b20: d902 bls.n 80b4b28 80b4b22: 2b03 cmp r3, #3 80b4b24: d003 beq.n 80b4b2e { status = HAL_ERROR; } break; default: break; 80b4b26: e018 b.n 80b4b5a status = HAL_ERROR; 80b4b28: 2301 movs r3, #1 80b4b2a: 73fb strb r3, [r7, #15] break; 80b4b2c: e015 b.n 80b4b5a if ((hdma->Init.MemBurst & DMA_SxCR_MBURST_1) == DMA_SxCR_MBURST_1) 80b4b2e: 687b ldr r3, [r7, #4] 80b4b30: 6adb ldr r3, [r3, #44] ; 0x2c 80b4b32: f003 7380 and.w r3, r3, #16777216 ; 0x1000000 80b4b36: 2b00 cmp r3, #0 80b4b38: d00e beq.n 80b4b58 status = HAL_ERROR; 80b4b3a: 2301 movs r3, #1 80b4b3c: 73fb strb r3, [r7, #15] break; 80b4b3e: e00b b.n 80b4b58 break; 80b4b40: bf00 nop 80b4b42: e00a b.n 80b4b5a break; 80b4b44: bf00 nop 80b4b46: e008 b.n 80b4b5a break; 80b4b48: bf00 nop 80b4b4a: e006 b.n 80b4b5a break; 80b4b4c: bf00 nop 80b4b4e: e004 b.n 80b4b5a break; 80b4b50: bf00 nop 80b4b52: e002 b.n 80b4b5a break; 80b4b54: bf00 nop 80b4b56: e000 b.n 80b4b5a break; 80b4b58: bf00 nop } } return status; 80b4b5a: 7bfb ldrb r3, [r7, #15] } 80b4b5c: 4618 mov r0, r3 80b4b5e: 3714 adds r7, #20 80b4b60: 46bd mov sp, r7 80b4b62: f85d 7b04 ldr.w r7, [sp], #4 80b4b66: 4770 bx lr 080b4b68 : * @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) { 80b4b68: b580 push {r7, lr} 80b4b6a: b082 sub sp, #8 80b4b6c: af00 add r7, sp, #0 80b4b6e: 6078 str r0, [r7, #4] /* Check the DMA2D peripheral state */ if (hdma2d == NULL) 80b4b70: 687b ldr r3, [r7, #4] 80b4b72: 2b00 cmp r3, #0 80b4b74: d101 bne.n 80b4b7a { return HAL_ERROR; 80b4b76: 2301 movs r3, #1 80b4b78: e049 b.n 80b4c0e /* Init the low level hardware */ hdma2d->MspInitCallback(hdma2d); } #else if (hdma2d->State == HAL_DMA2D_STATE_RESET) 80b4b7a: 687b ldr r3, [r7, #4] 80b4b7c: f893 3051 ldrb.w r3, [r3, #81] ; 0x51 80b4b80: b2db uxtb r3, r3 80b4b82: 2b00 cmp r3, #0 80b4b84: d106 bne.n 80b4b94 { /* Allocate lock resource and initialize it */ hdma2d->Lock = HAL_UNLOCKED; 80b4b86: 687b ldr r3, [r7, #4] 80b4b88: 2200 movs r2, #0 80b4b8a: f883 2050 strb.w r2, [r3, #80] ; 0x50 /* Init the low level hardware */ HAL_DMA2D_MspInit(hdma2d); 80b4b8e: 6878 ldr r0, [r7, #4] 80b4b90: f76e fffc bl 8023b8c } #endif /* (USE_HAL_DMA2D_REGISTER_CALLBACKS) */ /* Change DMA2D peripheral state */ hdma2d->State = HAL_DMA2D_STATE_BUSY; 80b4b94: 687b ldr r3, [r7, #4] 80b4b96: 2202 movs r2, #2 80b4b98: f883 2051 strb.w r2, [r3, #81] ; 0x51 /* DMA2D CR register configuration -------------------------------------------*/ MODIFY_REG(hdma2d->Instance->CR, DMA2D_CR_MODE, hdma2d->Init.Mode); 80b4b9c: 687b ldr r3, [r7, #4] 80b4b9e: 681b ldr r3, [r3, #0] 80b4ba0: 687a ldr r2, [r7, #4] 80b4ba2: 6812 ldr r2, [r2, #0] 80b4ba4: 6812 ldr r2, [r2, #0] 80b4ba6: f422 3140 bic.w r1, r2, #196608 ; 0x30000 80b4baa: 687a ldr r2, [r7, #4] 80b4bac: 6852 ldr r2, [r2, #4] 80b4bae: 430a orrs r2, r1 80b4bb0: 601a str r2, [r3, #0] /* DMA2D OPFCCR register configuration ---------------------------------------*/ MODIFY_REG(hdma2d->Instance->OPFCCR, DMA2D_OPFCCR_CM, hdma2d->Init.ColorMode); 80b4bb2: 687b ldr r3, [r7, #4] 80b4bb4: 681b ldr r3, [r3, #0] 80b4bb6: 687a ldr r2, [r7, #4] 80b4bb8: 6812 ldr r2, [r2, #0] 80b4bba: 6b52 ldr r2, [r2, #52] ; 0x34 80b4bbc: f022 0107 bic.w r1, r2, #7 80b4bc0: 687a ldr r2, [r7, #4] 80b4bc2: 6892 ldr r2, [r2, #8] 80b4bc4: 430a orrs r2, r1 80b4bc6: 635a str r2, [r3, #52] ; 0x34 /* DMA2D OOR register configuration ------------------------------------------*/ MODIFY_REG(hdma2d->Instance->OOR, DMA2D_OOR_LO, hdma2d->Init.OutputOffset); 80b4bc8: 687b ldr r3, [r7, #4] 80b4bca: 681a ldr r2, [r3, #0] 80b4bcc: 687b ldr r3, [r7, #4] 80b4bce: 681b ldr r3, [r3, #0] 80b4bd0: 6c19 ldr r1, [r3, #64] ; 0x40 80b4bd2: 4b11 ldr r3, [pc, #68] ; (80b4c18 ) 80b4bd4: 400b ands r3, r1 80b4bd6: 6879 ldr r1, [r7, #4] 80b4bd8: 68c9 ldr r1, [r1, #12] 80b4bda: 430b orrs r3, r1 80b4bdc: 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), 80b4bde: 687b ldr r3, [r7, #4] 80b4be0: 681b ldr r3, [r3, #0] 80b4be2: 687a ldr r2, [r7, #4] 80b4be4: 6812 ldr r2, [r2, #0] 80b4be6: 6b52 ldr r2, [r2, #52] ; 0x34 80b4be8: f422 1140 bic.w r1, r2, #3145728 ; 0x300000 80b4bec: 687a ldr r2, [r7, #4] 80b4bee: 6912 ldr r2, [r2, #16] 80b4bf0: 0510 lsls r0, r2, #20 80b4bf2: 687a ldr r2, [r7, #4] 80b4bf4: 6952 ldr r2, [r2, #20] 80b4bf6: 0552 lsls r2, r2, #21 80b4bf8: 4302 orrs r2, r0 80b4bfa: 430a orrs r2, r1 80b4bfc: 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; 80b4bfe: 687b ldr r3, [r7, #4] 80b4c00: 2200 movs r2, #0 80b4c02: 655a str r2, [r3, #84] ; 0x54 /* Initialize the DMA2D state*/ hdma2d->State = HAL_DMA2D_STATE_READY; 80b4c04: 687b ldr r3, [r7, #4] 80b4c06: 2201 movs r2, #1 80b4c08: f883 2051 strb.w r2, [r3, #81] ; 0x51 return HAL_OK; 80b4c0c: 2300 movs r3, #0 } 80b4c0e: 4618 mov r0, r3 80b4c10: 3708 adds r7, #8 80b4c12: 46bd mov sp, r7 80b4c14: bd80 pop {r7, pc} 80b4c16: bf00 nop 80b4c18: ffffc000 .word 0xffffc000 080b4c1c : * @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) { 80b4c1c: b580 push {r7, lr} 80b4c1e: b086 sub sp, #24 80b4c20: af02 add r7, sp, #8 80b4c22: 60f8 str r0, [r7, #12] 80b4c24: 60b9 str r1, [r7, #8] 80b4c26: 607a str r2, [r7, #4] 80b4c28: 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); 80b4c2a: 68fb ldr r3, [r7, #12] 80b4c2c: f893 3050 ldrb.w r3, [r3, #80] ; 0x50 80b4c30: 2b01 cmp r3, #1 80b4c32: d101 bne.n 80b4c38 80b4c34: 2302 movs r3, #2 80b4c36: e018 b.n 80b4c6a 80b4c38: 68fb ldr r3, [r7, #12] 80b4c3a: 2201 movs r2, #1 80b4c3c: f883 2050 strb.w r2, [r3, #80] ; 0x50 /* Change DMA2D peripheral state */ hdma2d->State = HAL_DMA2D_STATE_BUSY; 80b4c40: 68fb ldr r3, [r7, #12] 80b4c42: 2202 movs r2, #2 80b4c44: f883 2051 strb.w r2, [r3, #81] ; 0x51 /* Configure the source, destination address and the data size */ DMA2D_SetConfig(hdma2d, pdata, DstAddress, Width, Height); 80b4c48: 69bb ldr r3, [r7, #24] 80b4c4a: 9300 str r3, [sp, #0] 80b4c4c: 683b ldr r3, [r7, #0] 80b4c4e: 687a ldr r2, [r7, #4] 80b4c50: 68b9 ldr r1, [r7, #8] 80b4c52: 68f8 ldr r0, [r7, #12] 80b4c54: f000 f992 bl 80b4f7c /* Enable the Peripheral */ __HAL_DMA2D_ENABLE(hdma2d); 80b4c58: 68fb ldr r3, [r7, #12] 80b4c5a: 681b ldr r3, [r3, #0] 80b4c5c: 68fa ldr r2, [r7, #12] 80b4c5e: 6812 ldr r2, [r2, #0] 80b4c60: 6812 ldr r2, [r2, #0] 80b4c62: f042 0201 orr.w r2, r2, #1 80b4c66: 601a str r2, [r3, #0] return HAL_OK; 80b4c68: 2300 movs r3, #0 } 80b4c6a: 4618 mov r0, r3 80b4c6c: 3710 adds r7, #16 80b4c6e: 46bd mov sp, r7 80b4c70: bd80 pop {r7, pc} 080b4c72 : * the configuration information for the DMA2D. * @param Timeout Timeout duration * @retval HAL status */ HAL_StatusTypeDef HAL_DMA2D_PollForTransfer(DMA2D_HandleTypeDef *hdma2d, uint32_t Timeout) { 80b4c72: b580 push {r7, lr} 80b4c74: b086 sub sp, #24 80b4c76: af00 add r7, sp, #0 80b4c78: 6078 str r0, [r7, #4] 80b4c7a: 6039 str r1, [r7, #0] uint32_t tickstart; uint32_t layer_start; __IO uint32_t isrflags = 0x0U; 80b4c7c: 2300 movs r3, #0 80b4c7e: 60fb str r3, [r7, #12] /* Polling for DMA2D transfer */ if ((hdma2d->Instance->CR & DMA2D_CR_START) != 0U) 80b4c80: 687b ldr r3, [r7, #4] 80b4c82: 681b ldr r3, [r3, #0] 80b4c84: 681b ldr r3, [r3, #0] 80b4c86: f003 0301 and.w r3, r3, #1 80b4c8a: 2b00 cmp r3, #0 80b4c8c: d056 beq.n 80b4d3c { /* Get tick */ tickstart = HAL_GetTick(); 80b4c8e: f7fe fad3 bl 80b3238 80b4c92: 6178 str r0, [r7, #20] while (__HAL_DMA2D_GET_FLAG(hdma2d, DMA2D_FLAG_TC) == 0U) 80b4c94: e04b b.n 80b4d2e { isrflags = READ_REG(hdma2d->Instance->ISR); 80b4c96: 687b ldr r3, [r7, #4] 80b4c98: 681b ldr r3, [r3, #0] 80b4c9a: 685b ldr r3, [r3, #4] 80b4c9c: 60fb str r3, [r7, #12] if ((isrflags & (DMA2D_FLAG_CE | DMA2D_FLAG_TE)) != 0U) 80b4c9e: 68fb ldr r3, [r7, #12] 80b4ca0: f003 0321 and.w r3, r3, #33 ; 0x21 80b4ca4: 2b00 cmp r3, #0 80b4ca6: d023 beq.n 80b4cf0 { if ((isrflags & DMA2D_FLAG_CE) != 0U) 80b4ca8: 68fb ldr r3, [r7, #12] 80b4caa: f003 0320 and.w r3, r3, #32 80b4cae: 2b00 cmp r3, #0 80b4cb0: d005 beq.n 80b4cbe { hdma2d->ErrorCode |= HAL_DMA2D_ERROR_CE; 80b4cb2: 687b ldr r3, [r7, #4] 80b4cb4: 6d5b ldr r3, [r3, #84] ; 0x54 80b4cb6: f043 0202 orr.w r2, r3, #2 80b4cba: 687b ldr r3, [r7, #4] 80b4cbc: 655a str r2, [r3, #84] ; 0x54 } if ((isrflags & DMA2D_FLAG_TE) != 0U) 80b4cbe: 68fb ldr r3, [r7, #12] 80b4cc0: f003 0301 and.w r3, r3, #1 80b4cc4: 2b00 cmp r3, #0 80b4cc6: d005 beq.n 80b4cd4 { hdma2d->ErrorCode |= HAL_DMA2D_ERROR_TE; 80b4cc8: 687b ldr r3, [r7, #4] 80b4cca: 6d5b ldr r3, [r3, #84] ; 0x54 80b4ccc: f043 0201 orr.w r2, r3, #1 80b4cd0: 687b ldr r3, [r7, #4] 80b4cd2: 655a str r2, [r3, #84] ; 0x54 } /* Clear the transfer and configuration error flags */ __HAL_DMA2D_CLEAR_FLAG(hdma2d, DMA2D_FLAG_CE | DMA2D_FLAG_TE); 80b4cd4: 687b ldr r3, [r7, #4] 80b4cd6: 681b ldr r3, [r3, #0] 80b4cd8: 2221 movs r2, #33 ; 0x21 80b4cda: 609a str r2, [r3, #8] /* Change DMA2D state */ hdma2d->State = HAL_DMA2D_STATE_ERROR; 80b4cdc: 687b ldr r3, [r7, #4] 80b4cde: 2204 movs r2, #4 80b4ce0: f883 2051 strb.w r2, [r3, #81] ; 0x51 /* Process unlocked */ __HAL_UNLOCK(hdma2d); 80b4ce4: 687b ldr r3, [r7, #4] 80b4ce6: 2200 movs r2, #0 80b4ce8: f883 2050 strb.w r2, [r3, #80] ; 0x50 return HAL_ERROR; 80b4cec: 2301 movs r3, #1 80b4cee: e0a5 b.n 80b4e3c } /* Check for the Timeout */ if (Timeout != HAL_MAX_DELAY) 80b4cf0: 683b ldr r3, [r7, #0] 80b4cf2: f1b3 3fff cmp.w r3, #4294967295 80b4cf6: d01a beq.n 80b4d2e { if (((HAL_GetTick() - tickstart) > Timeout) || (Timeout == 0U)) 80b4cf8: f7fe fa9e bl 80b3238 80b4cfc: 4602 mov r2, r0 80b4cfe: 697b ldr r3, [r7, #20] 80b4d00: 1ad2 subs r2, r2, r3 80b4d02: 683b ldr r3, [r7, #0] 80b4d04: 429a cmp r2, r3 80b4d06: d802 bhi.n 80b4d0e 80b4d08: 683b ldr r3, [r7, #0] 80b4d0a: 2b00 cmp r3, #0 80b4d0c: d10f bne.n 80b4d2e { /* Update error code */ hdma2d->ErrorCode |= HAL_DMA2D_ERROR_TIMEOUT; 80b4d0e: 687b ldr r3, [r7, #4] 80b4d10: 6d5b ldr r3, [r3, #84] ; 0x54 80b4d12: f043 0220 orr.w r2, r3, #32 80b4d16: 687b ldr r3, [r7, #4] 80b4d18: 655a str r2, [r3, #84] ; 0x54 /* Change the DMA2D state */ hdma2d->State = HAL_DMA2D_STATE_TIMEOUT; 80b4d1a: 687b ldr r3, [r7, #4] 80b4d1c: 2203 movs r2, #3 80b4d1e: f883 2051 strb.w r2, [r3, #81] ; 0x51 /* Process unlocked */ __HAL_UNLOCK(hdma2d); 80b4d22: 687b ldr r3, [r7, #4] 80b4d24: 2200 movs r2, #0 80b4d26: f883 2050 strb.w r2, [r3, #80] ; 0x50 return HAL_TIMEOUT; 80b4d2a: 2303 movs r3, #3 80b4d2c: e086 b.n 80b4e3c while (__HAL_DMA2D_GET_FLAG(hdma2d, DMA2D_FLAG_TC) == 0U) 80b4d2e: 687b ldr r3, [r7, #4] 80b4d30: 681b ldr r3, [r3, #0] 80b4d32: 685b ldr r3, [r3, #4] 80b4d34: f003 0302 and.w r3, r3, #2 80b4d38: 2b00 cmp r3, #0 80b4d3a: d0ac beq.n 80b4c96 } } } } /* Polling for CLUT loading (foreground or background) */ layer_start = hdma2d->Instance->FGPFCCR & DMA2D_FGPFCCR_START; 80b4d3c: 687b ldr r3, [r7, #4] 80b4d3e: 681b ldr r3, [r3, #0] 80b4d40: 69db ldr r3, [r3, #28] 80b4d42: f003 0320 and.w r3, r3, #32 80b4d46: 613b str r3, [r7, #16] layer_start |= hdma2d->Instance->BGPFCCR & DMA2D_BGPFCCR_START; 80b4d48: 687b ldr r3, [r7, #4] 80b4d4a: 681b ldr r3, [r3, #0] 80b4d4c: 6a5b ldr r3, [r3, #36] ; 0x24 80b4d4e: f003 0320 and.w r3, r3, #32 80b4d52: 693a ldr r2, [r7, #16] 80b4d54: 4313 orrs r3, r2 80b4d56: 613b str r3, [r7, #16] if (layer_start != 0U) 80b4d58: 693b ldr r3, [r7, #16] 80b4d5a: 2b00 cmp r3, #0 80b4d5c: d061 beq.n 80b4e22 { /* Get tick */ tickstart = HAL_GetTick(); 80b4d5e: f7fe fa6b bl 80b3238 80b4d62: 6178 str r0, [r7, #20] while (__HAL_DMA2D_GET_FLAG(hdma2d, DMA2D_FLAG_CTC) == 0U) 80b4d64: e056 b.n 80b4e14 { isrflags = READ_REG(hdma2d->Instance->ISR); 80b4d66: 687b ldr r3, [r7, #4] 80b4d68: 681b ldr r3, [r3, #0] 80b4d6a: 685b ldr r3, [r3, #4] 80b4d6c: 60fb str r3, [r7, #12] if ((isrflags & (DMA2D_FLAG_CAE | DMA2D_FLAG_CE | DMA2D_FLAG_TE)) != 0U) 80b4d6e: 68fb ldr r3, [r7, #12] 80b4d70: f003 0329 and.w r3, r3, #41 ; 0x29 80b4d74: 2b00 cmp r3, #0 80b4d76: d02e beq.n 80b4dd6 { if ((isrflags & DMA2D_FLAG_CAE) != 0U) 80b4d78: 68fb ldr r3, [r7, #12] 80b4d7a: f003 0308 and.w r3, r3, #8 80b4d7e: 2b00 cmp r3, #0 80b4d80: d005 beq.n 80b4d8e { hdma2d->ErrorCode |= HAL_DMA2D_ERROR_CAE; 80b4d82: 687b ldr r3, [r7, #4] 80b4d84: 6d5b ldr r3, [r3, #84] ; 0x54 80b4d86: f043 0204 orr.w r2, r3, #4 80b4d8a: 687b ldr r3, [r7, #4] 80b4d8c: 655a str r2, [r3, #84] ; 0x54 } if ((isrflags & DMA2D_FLAG_CE) != 0U) 80b4d8e: 68fb ldr r3, [r7, #12] 80b4d90: f003 0320 and.w r3, r3, #32 80b4d94: 2b00 cmp r3, #0 80b4d96: d005 beq.n 80b4da4 { hdma2d->ErrorCode |= HAL_DMA2D_ERROR_CE; 80b4d98: 687b ldr r3, [r7, #4] 80b4d9a: 6d5b ldr r3, [r3, #84] ; 0x54 80b4d9c: f043 0202 orr.w r2, r3, #2 80b4da0: 687b ldr r3, [r7, #4] 80b4da2: 655a str r2, [r3, #84] ; 0x54 } if ((isrflags & DMA2D_FLAG_TE) != 0U) 80b4da4: 68fb ldr r3, [r7, #12] 80b4da6: f003 0301 and.w r3, r3, #1 80b4daa: 2b00 cmp r3, #0 80b4dac: d005 beq.n 80b4dba { hdma2d->ErrorCode |= HAL_DMA2D_ERROR_TE; 80b4dae: 687b ldr r3, [r7, #4] 80b4db0: 6d5b ldr r3, [r3, #84] ; 0x54 80b4db2: f043 0201 orr.w r2, r3, #1 80b4db6: 687b ldr r3, [r7, #4] 80b4db8: 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); 80b4dba: 687b ldr r3, [r7, #4] 80b4dbc: 681b ldr r3, [r3, #0] 80b4dbe: 2229 movs r2, #41 ; 0x29 80b4dc0: 609a str r2, [r3, #8] /* Change DMA2D state */ hdma2d->State = HAL_DMA2D_STATE_ERROR; 80b4dc2: 687b ldr r3, [r7, #4] 80b4dc4: 2204 movs r2, #4 80b4dc6: f883 2051 strb.w r2, [r3, #81] ; 0x51 /* Process unlocked */ __HAL_UNLOCK(hdma2d); 80b4dca: 687b ldr r3, [r7, #4] 80b4dcc: 2200 movs r2, #0 80b4dce: f883 2050 strb.w r2, [r3, #80] ; 0x50 return HAL_ERROR; 80b4dd2: 2301 movs r3, #1 80b4dd4: e032 b.n 80b4e3c } /* Check for the Timeout */ if (Timeout != HAL_MAX_DELAY) 80b4dd6: 683b ldr r3, [r7, #0] 80b4dd8: f1b3 3fff cmp.w r3, #4294967295 80b4ddc: d01a beq.n 80b4e14 { if (((HAL_GetTick() - tickstart) > Timeout) || (Timeout == 0U)) 80b4dde: f7fe fa2b bl 80b3238 80b4de2: 4602 mov r2, r0 80b4de4: 697b ldr r3, [r7, #20] 80b4de6: 1ad2 subs r2, r2, r3 80b4de8: 683b ldr r3, [r7, #0] 80b4dea: 429a cmp r2, r3 80b4dec: d802 bhi.n 80b4df4 80b4dee: 683b ldr r3, [r7, #0] 80b4df0: 2b00 cmp r3, #0 80b4df2: d10f bne.n 80b4e14 { /* Update error code */ hdma2d->ErrorCode |= HAL_DMA2D_ERROR_TIMEOUT; 80b4df4: 687b ldr r3, [r7, #4] 80b4df6: 6d5b ldr r3, [r3, #84] ; 0x54 80b4df8: f043 0220 orr.w r2, r3, #32 80b4dfc: 687b ldr r3, [r7, #4] 80b4dfe: 655a str r2, [r3, #84] ; 0x54 /* Change the DMA2D state */ hdma2d->State = HAL_DMA2D_STATE_TIMEOUT; 80b4e00: 687b ldr r3, [r7, #4] 80b4e02: 2203 movs r2, #3 80b4e04: f883 2051 strb.w r2, [r3, #81] ; 0x51 /* Process unlocked */ __HAL_UNLOCK(hdma2d); 80b4e08: 687b ldr r3, [r7, #4] 80b4e0a: 2200 movs r2, #0 80b4e0c: f883 2050 strb.w r2, [r3, #80] ; 0x50 return HAL_TIMEOUT; 80b4e10: 2303 movs r3, #3 80b4e12: e013 b.n 80b4e3c while (__HAL_DMA2D_GET_FLAG(hdma2d, DMA2D_FLAG_CTC) == 0U) 80b4e14: 687b ldr r3, [r7, #4] 80b4e16: 681b ldr r3, [r3, #0] 80b4e18: 685b ldr r3, [r3, #4] 80b4e1a: f003 0310 and.w r3, r3, #16 80b4e1e: 2b00 cmp r3, #0 80b4e20: d0a1 beq.n 80b4d66 } } } /* Clear the transfer complete and CLUT loading flags */ __HAL_DMA2D_CLEAR_FLAG(hdma2d, DMA2D_FLAG_TC | DMA2D_FLAG_CTC); 80b4e22: 687b ldr r3, [r7, #4] 80b4e24: 681b ldr r3, [r3, #0] 80b4e26: 2212 movs r2, #18 80b4e28: 609a str r2, [r3, #8] /* Change DMA2D state */ hdma2d->State = HAL_DMA2D_STATE_READY; 80b4e2a: 687b ldr r3, [r7, #4] 80b4e2c: 2201 movs r2, #1 80b4e2e: f883 2051 strb.w r2, [r3, #81] ; 0x51 /* Process unlocked */ __HAL_UNLOCK(hdma2d); 80b4e32: 687b ldr r3, [r7, #4] 80b4e34: 2200 movs r2, #0 80b4e36: f883 2050 strb.w r2, [r3, #80] ; 0x50 return HAL_OK; 80b4e3a: 2300 movs r3, #0 } 80b4e3c: 4618 mov r0, r3 80b4e3e: 3718 adds r7, #24 80b4e40: 46bd mov sp, r7 80b4e42: bd80 pop {r7, pc} 080b4e44 : * 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) { 80b4e44: b480 push {r7} 80b4e46: b087 sub sp, #28 80b4e48: af00 add r7, sp, #0 80b4e4a: 6078 str r0, [r7, #4] 80b4e4c: 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) 80b4e4e: 687b ldr r3, [r7, #4] 80b4e50: 685b ldr r3, [r3, #4] 80b4e52: 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); 80b4e56: 687b ldr r3, [r7, #4] 80b4e58: f893 3050 ldrb.w r3, [r3, #80] ; 0x50 80b4e5c: 2b01 cmp r3, #1 80b4e5e: d101 bne.n 80b4e64 80b4e60: 2302 movs r3, #2 80b4e62: e082 b.n 80b4f6a 80b4e64: 687b ldr r3, [r7, #4] 80b4e66: 2201 movs r2, #1 80b4e68: f883 2050 strb.w r2, [r3, #80] ; 0x50 /* Change DMA2D peripheral state */ hdma2d->State = HAL_DMA2D_STATE_BUSY; 80b4e6c: 687b ldr r3, [r7, #4] 80b4e6e: 2202 movs r2, #2 80b4e70: f883 2051 strb.w r2, [r3, #81] ; 0x51 pLayerCfg = &hdma2d->LayerCfg[LayerIdx]; 80b4e74: 683a ldr r2, [r7, #0] 80b4e76: 4613 mov r3, r2 80b4e78: 005b lsls r3, r3, #1 80b4e7a: 4413 add r3, r2 80b4e7c: 00db lsls r3, r3, #3 80b4e7e: 3320 adds r3, #32 80b4e80: 687a ldr r2, [r7, #4] 80b4e82: 4413 add r3, r2 80b4e84: 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) | \ 80b4e86: 693b ldr r3, [r7, #16] 80b4e88: 685a ldr r2, [r3, #4] 80b4e8a: 693b ldr r3, [r7, #16] 80b4e8c: 689b ldr r3, [r3, #8] 80b4e8e: 041b lsls r3, r3, #16 80b4e90: 431a orrs r2, r3 (pLayerCfg->AlphaInverted << DMA2D_BGPFCCR_AI_Pos) | (pLayerCfg->RedBlueSwap << DMA2D_BGPFCCR_RBS_Pos); 80b4e92: 693b ldr r3, [r7, #16] 80b4e94: 691b ldr r3, [r3, #16] 80b4e96: 051b lsls r3, r3, #20 regValue = pLayerCfg->InputColorMode | (pLayerCfg->AlphaMode << DMA2D_BGPFCCR_AM_Pos) | \ 80b4e98: 431a orrs r2, r3 (pLayerCfg->AlphaInverted << DMA2D_BGPFCCR_AI_Pos) | (pLayerCfg->RedBlueSwap << DMA2D_BGPFCCR_RBS_Pos); 80b4e9a: 693b ldr r3, [r7, #16] 80b4e9c: 695b ldr r3, [r3, #20] 80b4e9e: 055b lsls r3, r3, #21 regValue = pLayerCfg->InputColorMode | (pLayerCfg->AlphaMode << DMA2D_BGPFCCR_AM_Pos) | \ 80b4ea0: 4313 orrs r3, r2 80b4ea2: 617b str r3, [r7, #20] regMask = (DMA2D_BGPFCCR_CM | DMA2D_BGPFCCR_AM | DMA2D_BGPFCCR_ALPHA | DMA2D_BGPFCCR_AI | DMA2D_BGPFCCR_RBS); 80b4ea4: 4b34 ldr r3, [pc, #208] ; (80b4f78 ) 80b4ea6: 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)) 80b4ea8: 693b ldr r3, [r7, #16] 80b4eaa: 685b ldr r3, [r3, #4] 80b4eac: 2b0a cmp r3, #10 80b4eae: d003 beq.n 80b4eb8 80b4eb0: 693b ldr r3, [r7, #16] 80b4eb2: 685b ldr r3, [r3, #4] 80b4eb4: 2b09 cmp r3, #9 80b4eb6: d107 bne.n 80b4ec8 { regValue |= (pLayerCfg->InputAlpha & DMA2D_BGPFCCR_ALPHA); 80b4eb8: 693b ldr r3, [r7, #16] 80b4eba: 68db ldr r3, [r3, #12] 80b4ebc: f003 437f and.w r3, r3, #4278190080 ; 0xff000000 80b4ec0: 697a ldr r2, [r7, #20] 80b4ec2: 4313 orrs r3, r2 80b4ec4: 617b str r3, [r7, #20] 80b4ec6: e005 b.n 80b4ed4 } else { regValue |= (pLayerCfg->InputAlpha << DMA2D_BGPFCCR_ALPHA_Pos); 80b4ec8: 693b ldr r3, [r7, #16] 80b4eca: 68db ldr r3, [r3, #12] 80b4ecc: 061b lsls r3, r3, #24 80b4ece: 697a ldr r2, [r7, #20] 80b4ed0: 4313 orrs r3, r2 80b4ed2: 617b str r3, [r7, #20] } /* Configure the background DMA2D layer */ if (LayerIdx == DMA2D_BACKGROUND_LAYER) 80b4ed4: 683b ldr r3, [r7, #0] 80b4ed6: 2b00 cmp r3, #0 80b4ed8: d11f bne.n 80b4f1a { /* Write DMA2D BGPFCCR register */ MODIFY_REG(hdma2d->Instance->BGPFCCR, regMask, regValue); 80b4eda: 687b ldr r3, [r7, #4] 80b4edc: 681b ldr r3, [r3, #0] 80b4ede: 687a ldr r2, [r7, #4] 80b4ee0: 6812 ldr r2, [r2, #0] 80b4ee2: 6a51 ldr r1, [r2, #36] ; 0x24 80b4ee4: 68fa ldr r2, [r7, #12] 80b4ee6: 43d2 mvns r2, r2 80b4ee8: 4011 ands r1, r2 80b4eea: 697a ldr r2, [r7, #20] 80b4eec: 430a orrs r2, r1 80b4eee: 625a str r2, [r3, #36] ; 0x24 /* DMA2D BGOR register configuration -------------------------------------*/ WRITE_REG(hdma2d->Instance->BGOR, pLayerCfg->InputOffset); 80b4ef0: 687b ldr r3, [r7, #4] 80b4ef2: 681b ldr r3, [r3, #0] 80b4ef4: 693a ldr r2, [r7, #16] 80b4ef6: 6812 ldr r2, [r2, #0] 80b4ef8: 619a str r2, [r3, #24] /* DMA2D BGCOLR register configuration -------------------------------------*/ if ((pLayerCfg->InputColorMode == DMA2D_INPUT_A4) || (pLayerCfg->InputColorMode == DMA2D_INPUT_A8)) 80b4efa: 693b ldr r3, [r7, #16] 80b4efc: 685b ldr r3, [r3, #4] 80b4efe: 2b0a cmp r3, #10 80b4f00: d003 beq.n 80b4f0a 80b4f02: 693b ldr r3, [r7, #16] 80b4f04: 685b ldr r3, [r3, #4] 80b4f06: 2b09 cmp r3, #9 80b4f08: d126 bne.n 80b4f58 { WRITE_REG(hdma2d->Instance->BGCOLR, pLayerCfg->InputAlpha & (DMA2D_BGCOLR_BLUE | DMA2D_BGCOLR_GREEN | \ 80b4f0a: 687b ldr r3, [r7, #4] 80b4f0c: 681b ldr r3, [r3, #0] 80b4f0e: 693a ldr r2, [r7, #16] 80b4f10: 68d2 ldr r2, [r2, #12] 80b4f12: f022 427f bic.w r2, r2, #4278190080 ; 0xff000000 80b4f16: 629a str r2, [r3, #40] ; 0x28 80b4f18: e01e b.n 80b4f58 else { /* Write DMA2D FGPFCCR register */ MODIFY_REG(hdma2d->Instance->FGPFCCR, regMask, regValue); 80b4f1a: 687b ldr r3, [r7, #4] 80b4f1c: 681b ldr r3, [r3, #0] 80b4f1e: 687a ldr r2, [r7, #4] 80b4f20: 6812 ldr r2, [r2, #0] 80b4f22: 69d1 ldr r1, [r2, #28] 80b4f24: 68fa ldr r2, [r7, #12] 80b4f26: 43d2 mvns r2, r2 80b4f28: 4011 ands r1, r2 80b4f2a: 697a ldr r2, [r7, #20] 80b4f2c: 430a orrs r2, r1 80b4f2e: 61da str r2, [r3, #28] /* DMA2D FGOR register configuration -------------------------------------*/ WRITE_REG(hdma2d->Instance->FGOR, pLayerCfg->InputOffset); 80b4f30: 687b ldr r3, [r7, #4] 80b4f32: 681b ldr r3, [r3, #0] 80b4f34: 693a ldr r2, [r7, #16] 80b4f36: 6812 ldr r2, [r2, #0] 80b4f38: 611a str r2, [r3, #16] /* DMA2D FGCOLR register configuration -------------------------------------*/ if ((pLayerCfg->InputColorMode == DMA2D_INPUT_A4) || (pLayerCfg->InputColorMode == DMA2D_INPUT_A8)) 80b4f3a: 693b ldr r3, [r7, #16] 80b4f3c: 685b ldr r3, [r3, #4] 80b4f3e: 2b0a cmp r3, #10 80b4f40: d003 beq.n 80b4f4a 80b4f42: 693b ldr r3, [r7, #16] 80b4f44: 685b ldr r3, [r3, #4] 80b4f46: 2b09 cmp r3, #9 80b4f48: d106 bne.n 80b4f58 { WRITE_REG(hdma2d->Instance->FGCOLR, pLayerCfg->InputAlpha & (DMA2D_FGCOLR_BLUE | DMA2D_FGCOLR_GREEN | \ 80b4f4a: 687b ldr r3, [r7, #4] 80b4f4c: 681b ldr r3, [r3, #0] 80b4f4e: 693a ldr r2, [r7, #16] 80b4f50: 68d2 ldr r2, [r2, #12] 80b4f52: f022 427f bic.w r2, r2, #4278190080 ; 0xff000000 80b4f56: 621a str r2, [r3, #32] DMA2D_FGCOLR_RED)); } } /* Initialize the DMA2D state*/ hdma2d->State = HAL_DMA2D_STATE_READY; 80b4f58: 687b ldr r3, [r7, #4] 80b4f5a: 2201 movs r2, #1 80b4f5c: f883 2051 strb.w r2, [r3, #81] ; 0x51 /* Process unlocked */ __HAL_UNLOCK(hdma2d); 80b4f60: 687b ldr r3, [r7, #4] 80b4f62: 2200 movs r2, #0 80b4f64: f883 2050 strb.w r2, [r3, #80] ; 0x50 return HAL_OK; 80b4f68: 2300 movs r3, #0 } 80b4f6a: 4618 mov r0, r3 80b4f6c: 371c adds r7, #28 80b4f6e: 46bd mov sp, r7 80b4f70: f85d 7b04 ldr.w r7, [sp], #4 80b4f74: 4770 bx lr 80b4f76: bf00 nop 80b4f78: ff33000f .word 0xff33000f 080b4f7c : * @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) { 80b4f7c: b480 push {r7} 80b4f7e: b08b sub sp, #44 ; 0x2c 80b4f80: af00 add r7, sp, #0 80b4f82: 60f8 str r0, [r7, #12] 80b4f84: 60b9 str r1, [r7, #8] 80b4f86: 607a str r2, [r7, #4] 80b4f88: 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))); 80b4f8a: 68fb ldr r3, [r7, #12] 80b4f8c: 681b ldr r3, [r3, #0] 80b4f8e: 68fa ldr r2, [r7, #12] 80b4f90: 6812 ldr r2, [r2, #0] 80b4f92: 6c52 ldr r2, [r2, #68] ; 0x44 80b4f94: f002 4140 and.w r1, r2, #3221225472 ; 0xc0000000 80b4f98: 683a ldr r2, [r7, #0] 80b4f9a: 0410 lsls r0, r2, #16 80b4f9c: 6b3a ldr r2, [r7, #48] ; 0x30 80b4f9e: 4302 orrs r2, r0 80b4fa0: 430a orrs r2, r1 80b4fa2: 645a str r2, [r3, #68] ; 0x44 /* Configure DMA2D destination address */ WRITE_REG(hdma2d->Instance->OMAR, DstAddress); 80b4fa4: 68fb ldr r3, [r7, #12] 80b4fa6: 681b ldr r3, [r3, #0] 80b4fa8: 687a ldr r2, [r7, #4] 80b4faa: 63da str r2, [r3, #60] ; 0x3c /* Register to memory DMA2D mode selected */ if (hdma2d->Init.Mode == DMA2D_R2M) 80b4fac: 68fb ldr r3, [r7, #12] 80b4fae: 685b ldr r3, [r3, #4] 80b4fb0: f5b3 3f40 cmp.w r3, #196608 ; 0x30000 80b4fb4: d174 bne.n 80b50a0 { tmp1 = pdata & DMA2D_OCOLR_ALPHA_1; 80b4fb6: 68bb ldr r3, [r7, #8] 80b4fb8: f003 437f and.w r3, r3, #4278190080 ; 0xff000000 80b4fbc: 623b str r3, [r7, #32] tmp2 = pdata & DMA2D_OCOLR_RED_1; 80b4fbe: 68bb ldr r3, [r7, #8] 80b4fc0: f403 037f and.w r3, r3, #16711680 ; 0xff0000 80b4fc4: 61fb str r3, [r7, #28] tmp3 = pdata & DMA2D_OCOLR_GREEN_1; 80b4fc6: 68bb ldr r3, [r7, #8] 80b4fc8: f403 437f and.w r3, r3, #65280 ; 0xff00 80b4fcc: 61bb str r3, [r7, #24] tmp4 = pdata & DMA2D_OCOLR_BLUE_1; 80b4fce: 68bb ldr r3, [r7, #8] 80b4fd0: b2db uxtb r3, r3 80b4fd2: 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) 80b4fd4: 68fb ldr r3, [r7, #12] 80b4fd6: 689b ldr r3, [r3, #8] 80b4fd8: 2b00 cmp r3, #0 80b4fda: d108 bne.n 80b4fee { tmp = (tmp3 | tmp2 | tmp1 | tmp4); 80b4fdc: 69ba ldr r2, [r7, #24] 80b4fde: 69fb ldr r3, [r7, #28] 80b4fe0: 431a orrs r2, r3 80b4fe2: 6a3b ldr r3, [r7, #32] 80b4fe4: 431a orrs r2, r3 80b4fe6: 697b ldr r3, [r7, #20] 80b4fe8: 4313 orrs r3, r2 80b4fea: 627b str r3, [r7, #36] ; 0x24 80b4fec: e053 b.n 80b5096 } else if (hdma2d->Init.ColorMode == DMA2D_OUTPUT_RGB888) 80b4fee: 68fb ldr r3, [r7, #12] 80b4ff0: 689b ldr r3, [r3, #8] 80b4ff2: 2b01 cmp r3, #1 80b4ff4: d106 bne.n 80b5004 { tmp = (tmp3 | tmp2 | tmp4); 80b4ff6: 69ba ldr r2, [r7, #24] 80b4ff8: 69fb ldr r3, [r7, #28] 80b4ffa: 431a orrs r2, r3 80b4ffc: 697b ldr r3, [r7, #20] 80b4ffe: 4313 orrs r3, r2 80b5000: 627b str r3, [r7, #36] ; 0x24 80b5002: e048 b.n 80b5096 } else if (hdma2d->Init.ColorMode == DMA2D_OUTPUT_RGB565) 80b5004: 68fb ldr r3, [r7, #12] 80b5006: 689b ldr r3, [r3, #8] 80b5008: 2b02 cmp r3, #2 80b500a: d111 bne.n 80b5030 { tmp2 = (tmp2 >> 19U); 80b500c: 69fb ldr r3, [r7, #28] 80b500e: 0cdb lsrs r3, r3, #19 80b5010: 61fb str r3, [r7, #28] tmp3 = (tmp3 >> 10U); 80b5012: 69bb ldr r3, [r7, #24] 80b5014: 0a9b lsrs r3, r3, #10 80b5016: 61bb str r3, [r7, #24] tmp4 = (tmp4 >> 3U); 80b5018: 697b ldr r3, [r7, #20] 80b501a: 08db lsrs r3, r3, #3 80b501c: 617b str r3, [r7, #20] tmp = ((tmp3 << 5U) | (tmp2 << 11U) | tmp4); 80b501e: 69bb ldr r3, [r7, #24] 80b5020: 015a lsls r2, r3, #5 80b5022: 69fb ldr r3, [r7, #28] 80b5024: 02db lsls r3, r3, #11 80b5026: 431a orrs r2, r3 80b5028: 697b ldr r3, [r7, #20] 80b502a: 4313 orrs r3, r2 80b502c: 627b str r3, [r7, #36] ; 0x24 80b502e: e032 b.n 80b5096 } else if (hdma2d->Init.ColorMode == DMA2D_OUTPUT_ARGB1555) 80b5030: 68fb ldr r3, [r7, #12] 80b5032: 689b ldr r3, [r3, #8] 80b5034: 2b03 cmp r3, #3 80b5036: d117 bne.n 80b5068 { tmp1 = (tmp1 >> 31U); 80b5038: 6a3b ldr r3, [r7, #32] 80b503a: 0fdb lsrs r3, r3, #31 80b503c: 623b str r3, [r7, #32] tmp2 = (tmp2 >> 19U); 80b503e: 69fb ldr r3, [r7, #28] 80b5040: 0cdb lsrs r3, r3, #19 80b5042: 61fb str r3, [r7, #28] tmp3 = (tmp3 >> 11U); 80b5044: 69bb ldr r3, [r7, #24] 80b5046: 0adb lsrs r3, r3, #11 80b5048: 61bb str r3, [r7, #24] tmp4 = (tmp4 >> 3U); 80b504a: 697b ldr r3, [r7, #20] 80b504c: 08db lsrs r3, r3, #3 80b504e: 617b str r3, [r7, #20] tmp = ((tmp3 << 5U) | (tmp2 << 10U) | (tmp1 << 15U) | tmp4); 80b5050: 69bb ldr r3, [r7, #24] 80b5052: 015a lsls r2, r3, #5 80b5054: 69fb ldr r3, [r7, #28] 80b5056: 029b lsls r3, r3, #10 80b5058: 431a orrs r2, r3 80b505a: 6a3b ldr r3, [r7, #32] 80b505c: 03db lsls r3, r3, #15 80b505e: 431a orrs r2, r3 80b5060: 697b ldr r3, [r7, #20] 80b5062: 4313 orrs r3, r2 80b5064: 627b str r3, [r7, #36] ; 0x24 80b5066: e016 b.n 80b5096 } else /* Dhdma2d->Init.ColorMode = DMA2D_OUTPUT_ARGB4444 */ { tmp1 = (tmp1 >> 28U); 80b5068: 6a3b ldr r3, [r7, #32] 80b506a: 0f1b lsrs r3, r3, #28 80b506c: 623b str r3, [r7, #32] tmp2 = (tmp2 >> 20U); 80b506e: 69fb ldr r3, [r7, #28] 80b5070: 0d1b lsrs r3, r3, #20 80b5072: 61fb str r3, [r7, #28] tmp3 = (tmp3 >> 12U); 80b5074: 69bb ldr r3, [r7, #24] 80b5076: 0b1b lsrs r3, r3, #12 80b5078: 61bb str r3, [r7, #24] tmp4 = (tmp4 >> 4U); 80b507a: 697b ldr r3, [r7, #20] 80b507c: 091b lsrs r3, r3, #4 80b507e: 617b str r3, [r7, #20] tmp = ((tmp3 << 4U) | (tmp2 << 8U) | (tmp1 << 12U) | tmp4); 80b5080: 69bb ldr r3, [r7, #24] 80b5082: 011a lsls r2, r3, #4 80b5084: 69fb ldr r3, [r7, #28] 80b5086: 021b lsls r3, r3, #8 80b5088: 431a orrs r2, r3 80b508a: 6a3b ldr r3, [r7, #32] 80b508c: 031b lsls r3, r3, #12 80b508e: 431a orrs r2, r3 80b5090: 697b ldr r3, [r7, #20] 80b5092: 4313 orrs r3, r2 80b5094: 627b str r3, [r7, #36] ; 0x24 } /* Write to DMA2D OCOLR register */ WRITE_REG(hdma2d->Instance->OCOLR, tmp); 80b5096: 68fb ldr r3, [r7, #12] 80b5098: 681b ldr r3, [r3, #0] 80b509a: 6a7a ldr r2, [r7, #36] ; 0x24 80b509c: 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); } } 80b509e: e003 b.n 80b50a8 WRITE_REG(hdma2d->Instance->FGMAR, pdata); 80b50a0: 68fb ldr r3, [r7, #12] 80b50a2: 681b ldr r3, [r3, #0] 80b50a4: 68ba ldr r2, [r7, #8] 80b50a6: 60da str r2, [r3, #12] } 80b50a8: bf00 nop 80b50aa: 372c adds r7, #44 ; 0x2c 80b50ac: 46bd mov sp, r7 80b50ae: f85d 7b04 ldr.w r7, [sp], #4 80b50b2: 4770 bx lr 080b50b4 : * @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) { 80b50b4: b580 push {r7, lr} 80b50b6: b086 sub sp, #24 80b50b8: af00 add r7, sp, #0 80b50ba: 60f8 str r0, [r7, #12] 80b50bc: 60b9 str r1, [r7, #8] 80b50be: e9c7 2300 strd r2, r3, [r7] HAL_StatusTypeDef status = HAL_ERROR; 80b50c2: 2301 movs r3, #1 80b50c4: 75fb strb r3, [r7, #23] /* Process Locked */ __HAL_LOCK(&pFlash); 80b50c6: 4b27 ldr r3, [pc, #156] ; (80b5164 ) 80b50c8: 7d1b ldrb r3, [r3, #20] 80b50ca: 2b01 cmp r3, #1 80b50cc: d101 bne.n 80b50d2 80b50ce: 2302 movs r3, #2 80b50d0: e043 b.n 80b515a 80b50d2: 4b24 ldr r3, [pc, #144] ; (80b5164 ) 80b50d4: 2201 movs r2, #1 80b50d6: 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); 80b50d8: f24c 3050 movw r0, #50000 ; 0xc350 80b50dc: f000 f878 bl 80b51d0 80b50e0: 4603 mov r3, r0 80b50e2: 75fb strb r3, [r7, #23] if(status == HAL_OK) 80b50e4: 7dfb ldrb r3, [r7, #23] 80b50e6: 2b00 cmp r3, #0 80b50e8: d133 bne.n 80b5152 { switch(TypeProgram) 80b50ea: 68fb ldr r3, [r7, #12] 80b50ec: 2b03 cmp r3, #3 80b50ee: d823 bhi.n 80b5138 80b50f0: a201 add r2, pc, #4 ; (adr r2, 80b50f8 ) 80b50f2: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80b50f6: bf00 nop 80b50f8: 080b5109 .word 0x080b5109 80b50fc: 080b5115 .word 0x080b5115 80b5100: 080b5121 .word 0x080b5121 80b5104: 080b512d .word 0x080b512d { case FLASH_TYPEPROGRAM_BYTE : { /*Program byte (8-bit) at a specified address.*/ FLASH_Program_Byte(Address, (uint8_t) Data); 80b5108: 783b ldrb r3, [r7, #0] 80b510a: 4619 mov r1, r3 80b510c: 68b8 ldr r0, [r7, #8] 80b510e: f000 f919 bl 80b5344 break; 80b5112: e012 b.n 80b513a } case FLASH_TYPEPROGRAM_HALFWORD : { /*Program halfword (16-bit) at a specified address.*/ FLASH_Program_HalfWord(Address, (uint16_t) Data); 80b5114: 883b ldrh r3, [r7, #0] 80b5116: 4619 mov r1, r3 80b5118: 68b8 ldr r0, [r7, #8] 80b511a: f000 f8ed bl 80b52f8 break; 80b511e: e00c b.n 80b513a } case FLASH_TYPEPROGRAM_WORD : { /*Program word (32-bit) at a specified address.*/ FLASH_Program_Word(Address, (uint32_t) Data); 80b5120: 683b ldr r3, [r7, #0] 80b5122: 4619 mov r1, r3 80b5124: 68b8 ldr r0, [r7, #8] 80b5126: f000 f8c3 bl 80b52b0 break; 80b512a: e006 b.n 80b513a } case FLASH_TYPEPROGRAM_DOUBLEWORD : { /*Program double word (64-bit) at a specified address.*/ FLASH_Program_DoubleWord(Address, Data); 80b512c: e9d7 2300 ldrd r2, r3, [r7] 80b5130: 68b8 ldr r0, [r7, #8] 80b5132: f000 f88d bl 80b5250 break; 80b5136: e000 b.n 80b513a } default : break; 80b5138: bf00 nop } /* Wait for last operation to be completed */ status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE); 80b513a: f24c 3050 movw r0, #50000 ; 0xc350 80b513e: f000 f847 bl 80b51d0 80b5142: 4603 mov r3, r0 80b5144: 75fb strb r3, [r7, #23] /* If the program operation is completed, disable the PG Bit */ FLASH->CR &= (~FLASH_CR_PG); 80b5146: 4a08 ldr r2, [pc, #32] ; (80b5168 ) 80b5148: 4b07 ldr r3, [pc, #28] ; (80b5168 ) 80b514a: 691b ldr r3, [r3, #16] 80b514c: f023 0301 bic.w r3, r3, #1 80b5150: 6113 str r3, [r2, #16] } /* Process Unlocked */ __HAL_UNLOCK(&pFlash); 80b5152: 4b04 ldr r3, [pc, #16] ; (80b5164 ) 80b5154: 2200 movs r2, #0 80b5156: 751a strb r2, [r3, #20] return status; 80b5158: 7dfb ldrb r3, [r7, #23] } 80b515a: 4618 mov r0, r3 80b515c: 3718 adds r7, #24 80b515e: 46bd mov sp, r7 80b5160: bd80 pop {r7, pc} 80b5162: bf00 nop 80b5164: 20068aac .word 0x20068aac 80b5168: 40023c00 .word 0x40023c00 080b516c : /** * @brief Unlock the FLASH control register access * @retval HAL Status */ HAL_StatusTypeDef HAL_FLASH_Unlock(void) { 80b516c: b480 push {r7} 80b516e: b083 sub sp, #12 80b5170: af00 add r7, sp, #0 HAL_StatusTypeDef status = HAL_OK; 80b5172: 2300 movs r3, #0 80b5174: 71fb strb r3, [r7, #7] if(READ_BIT(FLASH->CR, FLASH_CR_LOCK) != RESET) 80b5176: 4b0b ldr r3, [pc, #44] ; (80b51a4 ) 80b5178: 691b ldr r3, [r3, #16] 80b517a: 2b00 cmp r3, #0 80b517c: da0b bge.n 80b5196 { /* Authorize the FLASH Registers access */ WRITE_REG(FLASH->KEYR, FLASH_KEY1); 80b517e: 4b09 ldr r3, [pc, #36] ; (80b51a4 ) 80b5180: 4a09 ldr r2, [pc, #36] ; (80b51a8 ) 80b5182: 605a str r2, [r3, #4] WRITE_REG(FLASH->KEYR, FLASH_KEY2); 80b5184: 4b07 ldr r3, [pc, #28] ; (80b51a4 ) 80b5186: 4a09 ldr r2, [pc, #36] ; (80b51ac ) 80b5188: 605a str r2, [r3, #4] /* Verify Flash is unlocked */ if(READ_BIT(FLASH->CR, FLASH_CR_LOCK) != RESET) 80b518a: 4b06 ldr r3, [pc, #24] ; (80b51a4 ) 80b518c: 691b ldr r3, [r3, #16] 80b518e: 2b00 cmp r3, #0 80b5190: da01 bge.n 80b5196 { status = HAL_ERROR; 80b5192: 2301 movs r3, #1 80b5194: 71fb strb r3, [r7, #7] } } return status; 80b5196: 79fb ldrb r3, [r7, #7] } 80b5198: 4618 mov r0, r3 80b519a: 370c adds r7, #12 80b519c: 46bd mov sp, r7 80b519e: f85d 7b04 ldr.w r7, [sp], #4 80b51a2: 4770 bx lr 80b51a4: 40023c00 .word 0x40023c00 80b51a8: 45670123 .word 0x45670123 80b51ac: cdef89ab .word 0xcdef89ab 080b51b0 : /** * @brief Locks the FLASH control register access * @retval HAL Status */ HAL_StatusTypeDef HAL_FLASH_Lock(void) { 80b51b0: b480 push {r7} 80b51b2: af00 add r7, sp, #0 /* Set the LOCK Bit to lock the FLASH Registers access */ FLASH->CR |= FLASH_CR_LOCK; 80b51b4: 4a05 ldr r2, [pc, #20] ; (80b51cc ) 80b51b6: 4b05 ldr r3, [pc, #20] ; (80b51cc ) 80b51b8: 691b ldr r3, [r3, #16] 80b51ba: f043 4300 orr.w r3, r3, #2147483648 ; 0x80000000 80b51be: 6113 str r3, [r2, #16] return HAL_OK; 80b51c0: 2300 movs r3, #0 } 80b51c2: 4618 mov r0, r3 80b51c4: 46bd mov sp, r7 80b51c6: f85d 7b04 ldr.w r7, [sp], #4 80b51ca: 4770 bx lr 80b51cc: 40023c00 .word 0x40023c00 080b51d0 : * @brief Wait for a FLASH operation to complete. * @param Timeout maximum flash operationtimeout * @retval HAL Status */ HAL_StatusTypeDef FLASH_WaitForLastOperation(uint32_t Timeout) { 80b51d0: b580 push {r7, lr} 80b51d2: b084 sub sp, #16 80b51d4: af00 add r7, sp, #0 80b51d6: 6078 str r0, [r7, #4] uint32_t tickstart = 0; 80b51d8: 2300 movs r3, #0 80b51da: 60fb str r3, [r7, #12] /* Clear Error Code */ pFlash.ErrorCode = HAL_FLASH_ERROR_NONE; 80b51dc: 4b1a ldr r3, [pc, #104] ; (80b5248 ) 80b51de: 2200 movs r2, #0 80b51e0: 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(); 80b51e2: f7fe f829 bl 80b3238 80b51e6: 60f8 str r0, [r7, #12] while(__HAL_FLASH_GET_FLAG(FLASH_FLAG_BSY) != RESET) 80b51e8: e010 b.n 80b520c { if(Timeout != HAL_MAX_DELAY) 80b51ea: 687b ldr r3, [r7, #4] 80b51ec: f1b3 3fff cmp.w r3, #4294967295 80b51f0: d00c beq.n 80b520c { if((Timeout == 0)||((HAL_GetTick() - tickstart ) > Timeout)) 80b51f2: 687b ldr r3, [r7, #4] 80b51f4: 2b00 cmp r3, #0 80b51f6: d007 beq.n 80b5208 80b51f8: f7fe f81e bl 80b3238 80b51fc: 4602 mov r2, r0 80b51fe: 68fb ldr r3, [r7, #12] 80b5200: 1ad2 subs r2, r2, r3 80b5202: 687b ldr r3, [r7, #4] 80b5204: 429a cmp r2, r3 80b5206: d901 bls.n 80b520c { return HAL_TIMEOUT; 80b5208: 2303 movs r3, #3 80b520a: e019 b.n 80b5240 while(__HAL_FLASH_GET_FLAG(FLASH_FLAG_BSY) != RESET) 80b520c: 4b0f ldr r3, [pc, #60] ; (80b524c ) 80b520e: 68db ldr r3, [r3, #12] 80b5210: f403 3380 and.w r3, r3, #65536 ; 0x10000 80b5214: 2b00 cmp r3, #0 80b5216: d1e8 bne.n 80b51ea } } } if(__HAL_FLASH_GET_FLAG(FLASH_FLAG_ALL_ERRORS) != RESET) 80b5218: 4b0c ldr r3, [pc, #48] ; (80b524c ) 80b521a: 68db ldr r3, [r3, #12] 80b521c: f003 03f2 and.w r3, r3, #242 ; 0xf2 80b5220: 2b00 cmp r3, #0 80b5222: d003 beq.n 80b522c { /*Save the error code*/ FLASH_SetErrorCode(); 80b5224: f000 f8b2 bl 80b538c return HAL_ERROR; 80b5228: 2301 movs r3, #1 80b522a: e009 b.n 80b5240 } /* Check FLASH End of Operation flag */ if (__HAL_FLASH_GET_FLAG(FLASH_FLAG_EOP) != RESET) 80b522c: 4b07 ldr r3, [pc, #28] ; (80b524c ) 80b522e: 68db ldr r3, [r3, #12] 80b5230: f003 0301 and.w r3, r3, #1 80b5234: 2b00 cmp r3, #0 80b5236: d002 beq.n 80b523e { /* Clear FLASH End of Operation pending bit */ __HAL_FLASH_CLEAR_FLAG(FLASH_FLAG_EOP); 80b5238: 4b04 ldr r3, [pc, #16] ; (80b524c ) 80b523a: 2201 movs r2, #1 80b523c: 60da str r2, [r3, #12] } /* If there is an error flag set */ return HAL_OK; 80b523e: 2300 movs r3, #0 } 80b5240: 4618 mov r0, r3 80b5242: 3710 adds r7, #16 80b5244: 46bd mov sp, r7 80b5246: bd80 pop {r7, pc} 80b5248: 20068aac .word 0x20068aac 80b524c: 40023c00 .word 0x40023c00 080b5250 : * @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) { 80b5250: b4f0 push {r4, r5, r6, r7} 80b5252: b084 sub sp, #16 80b5254: af00 add r7, sp, #0 80b5256: 60f8 str r0, [r7, #12] 80b5258: 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; 80b525c: 4a13 ldr r2, [pc, #76] ; (80b52ac ) 80b525e: 4b13 ldr r3, [pc, #76] ; (80b52ac ) 80b5260: 691b ldr r3, [r3, #16] 80b5262: f423 7340 bic.w r3, r3, #768 ; 0x300 80b5266: 6113 str r3, [r2, #16] FLASH->CR |= FLASH_PSIZE_DOUBLE_WORD; 80b5268: 4a10 ldr r2, [pc, #64] ; (80b52ac ) 80b526a: 4b10 ldr r3, [pc, #64] ; (80b52ac ) 80b526c: 691b ldr r3, [r3, #16] 80b526e: f443 7340 orr.w r3, r3, #768 ; 0x300 80b5272: 6113 str r3, [r2, #16] FLASH->CR |= FLASH_CR_PG; 80b5274: 4a0d ldr r2, [pc, #52] ; (80b52ac ) 80b5276: 4b0d ldr r3, [pc, #52] ; (80b52ac ) 80b5278: 691b ldr r3, [r3, #16] 80b527a: f043 0301 orr.w r3, r3, #1 80b527e: 6113 str r3, [r2, #16] /* Program first word */ *(__IO uint32_t*)Address = (uint32_t)Data; 80b5280: 68fb ldr r3, [r7, #12] 80b5282: 683a ldr r2, [r7, #0] 80b5284: 601a str r2, [r3, #0] 80b5286: 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); 80b528a: 68fb ldr r3, [r7, #12] 80b528c: 3304 adds r3, #4 80b528e: 461a mov r2, r3 80b5290: e897 0018 ldmia.w r7, {r3, r4} 80b5294: 0025 movs r5, r4 80b5296: 2600 movs r6, #0 80b5298: 462b mov r3, r5 80b529a: 6013 str r3, [r2, #0] __ASM volatile ("dsb 0xF":::"memory"); 80b529c: 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(); } 80b52a0: bf00 nop 80b52a2: 3710 adds r7, #16 80b52a4: 46bd mov sp, r7 80b52a6: bcf0 pop {r4, r5, r6, r7} 80b52a8: 4770 bx lr 80b52aa: bf00 nop 80b52ac: 40023c00 .word 0x40023c00 080b52b0 : * @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) { 80b52b0: b480 push {r7} 80b52b2: b083 sub sp, #12 80b52b4: af00 add r7, sp, #0 80b52b6: 6078 str r0, [r7, #4] 80b52b8: 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; 80b52ba: 4a0e ldr r2, [pc, #56] ; (80b52f4 ) 80b52bc: 4b0d ldr r3, [pc, #52] ; (80b52f4 ) 80b52be: 691b ldr r3, [r3, #16] 80b52c0: f423 7340 bic.w r3, r3, #768 ; 0x300 80b52c4: 6113 str r3, [r2, #16] FLASH->CR |= FLASH_PSIZE_WORD; 80b52c6: 4a0b ldr r2, [pc, #44] ; (80b52f4 ) 80b52c8: 4b0a ldr r3, [pc, #40] ; (80b52f4 ) 80b52ca: 691b ldr r3, [r3, #16] 80b52cc: f443 7300 orr.w r3, r3, #512 ; 0x200 80b52d0: 6113 str r3, [r2, #16] FLASH->CR |= FLASH_CR_PG; 80b52d2: 4a08 ldr r2, [pc, #32] ; (80b52f4 ) 80b52d4: 4b07 ldr r3, [pc, #28] ; (80b52f4 ) 80b52d6: 691b ldr r3, [r3, #16] 80b52d8: f043 0301 orr.w r3, r3, #1 80b52dc: 6113 str r3, [r2, #16] *(__IO uint32_t*)Address = Data; 80b52de: 687b ldr r3, [r7, #4] 80b52e0: 683a ldr r2, [r7, #0] 80b52e2: 601a str r2, [r3, #0] 80b52e4: 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(); } 80b52e8: bf00 nop 80b52ea: 370c adds r7, #12 80b52ec: 46bd mov sp, r7 80b52ee: f85d 7b04 ldr.w r7, [sp], #4 80b52f2: 4770 bx lr 80b52f4: 40023c00 .word 0x40023c00 080b52f8 : * @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) { 80b52f8: b480 push {r7} 80b52fa: b083 sub sp, #12 80b52fc: af00 add r7, sp, #0 80b52fe: 6078 str r0, [r7, #4] 80b5300: 460b mov r3, r1 80b5302: 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; 80b5304: 4a0e ldr r2, [pc, #56] ; (80b5340 ) 80b5306: 4b0e ldr r3, [pc, #56] ; (80b5340 ) 80b5308: 691b ldr r3, [r3, #16] 80b530a: f423 7340 bic.w r3, r3, #768 ; 0x300 80b530e: 6113 str r3, [r2, #16] FLASH->CR |= FLASH_PSIZE_HALF_WORD; 80b5310: 4a0b ldr r2, [pc, #44] ; (80b5340 ) 80b5312: 4b0b ldr r3, [pc, #44] ; (80b5340 ) 80b5314: 691b ldr r3, [r3, #16] 80b5316: f443 7380 orr.w r3, r3, #256 ; 0x100 80b531a: 6113 str r3, [r2, #16] FLASH->CR |= FLASH_CR_PG; 80b531c: 4a08 ldr r2, [pc, #32] ; (80b5340 ) 80b531e: 4b08 ldr r3, [pc, #32] ; (80b5340 ) 80b5320: 691b ldr r3, [r3, #16] 80b5322: f043 0301 orr.w r3, r3, #1 80b5326: 6113 str r3, [r2, #16] *(__IO uint16_t*)Address = Data; 80b5328: 687b ldr r3, [r7, #4] 80b532a: 887a ldrh r2, [r7, #2] 80b532c: 801a strh r2, [r3, #0] 80b532e: 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(); } 80b5332: bf00 nop 80b5334: 370c adds r7, #12 80b5336: 46bd mov sp, r7 80b5338: f85d 7b04 ldr.w r7, [sp], #4 80b533c: 4770 bx lr 80b533e: bf00 nop 80b5340: 40023c00 .word 0x40023c00 080b5344 : * @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) { 80b5344: b480 push {r7} 80b5346: b083 sub sp, #12 80b5348: af00 add r7, sp, #0 80b534a: 6078 str r0, [r7, #4] 80b534c: 460b mov r3, r1 80b534e: 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; 80b5350: 4a0d ldr r2, [pc, #52] ; (80b5388 ) 80b5352: 4b0d ldr r3, [pc, #52] ; (80b5388 ) 80b5354: 691b ldr r3, [r3, #16] 80b5356: f423 7340 bic.w r3, r3, #768 ; 0x300 80b535a: 6113 str r3, [r2, #16] FLASH->CR |= FLASH_PSIZE_BYTE; 80b535c: 4a0a ldr r2, [pc, #40] ; (80b5388 ) 80b535e: 4b0a ldr r3, [pc, #40] ; (80b5388 ) 80b5360: 691b ldr r3, [r3, #16] 80b5362: 6113 str r3, [r2, #16] FLASH->CR |= FLASH_CR_PG; 80b5364: 4a08 ldr r2, [pc, #32] ; (80b5388 ) 80b5366: 4b08 ldr r3, [pc, #32] ; (80b5388 ) 80b5368: 691b ldr r3, [r3, #16] 80b536a: f043 0301 orr.w r3, r3, #1 80b536e: 6113 str r3, [r2, #16] *(__IO uint8_t*)Address = Data; 80b5370: 687b ldr r3, [r7, #4] 80b5372: 78fa ldrb r2, [r7, #3] 80b5374: 701a strb r2, [r3, #0] 80b5376: 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(); } 80b537a: bf00 nop 80b537c: 370c adds r7, #12 80b537e: 46bd mov sp, r7 80b5380: f85d 7b04 ldr.w r7, [sp], #4 80b5384: 4770 bx lr 80b5386: bf00 nop 80b5388: 40023c00 .word 0x40023c00 080b538c : /** * @brief Set the specific FLASH error flag. * @retval None */ static void FLASH_SetErrorCode(void) { 80b538c: b480 push {r7} 80b538e: af00 add r7, sp, #0 if(__HAL_FLASH_GET_FLAG(FLASH_FLAG_OPERR) != RESET) 80b5390: 4b21 ldr r3, [pc, #132] ; (80b5418 ) 80b5392: 68db ldr r3, [r3, #12] 80b5394: f003 0302 and.w r3, r3, #2 80b5398: 2b00 cmp r3, #0 80b539a: d005 beq.n 80b53a8 { pFlash.ErrorCode |= HAL_FLASH_ERROR_OPERATION; 80b539c: 4b1f ldr r3, [pc, #124] ; (80b541c ) 80b539e: 699b ldr r3, [r3, #24] 80b53a0: f043 0320 orr.w r3, r3, #32 80b53a4: 4a1d ldr r2, [pc, #116] ; (80b541c ) 80b53a6: 6193 str r3, [r2, #24] } if(__HAL_FLASH_GET_FLAG(FLASH_FLAG_WRPERR) != RESET) 80b53a8: 4b1b ldr r3, [pc, #108] ; (80b5418 ) 80b53aa: 68db ldr r3, [r3, #12] 80b53ac: f003 0310 and.w r3, r3, #16 80b53b0: 2b00 cmp r3, #0 80b53b2: d005 beq.n 80b53c0 { pFlash.ErrorCode |= HAL_FLASH_ERROR_WRP; 80b53b4: 4b19 ldr r3, [pc, #100] ; (80b541c ) 80b53b6: 699b ldr r3, [r3, #24] 80b53b8: f043 0310 orr.w r3, r3, #16 80b53bc: 4a17 ldr r2, [pc, #92] ; (80b541c ) 80b53be: 6193 str r3, [r2, #24] } if(__HAL_FLASH_GET_FLAG(FLASH_FLAG_PGAERR) != RESET) 80b53c0: 4b15 ldr r3, [pc, #84] ; (80b5418 ) 80b53c2: 68db ldr r3, [r3, #12] 80b53c4: f003 0320 and.w r3, r3, #32 80b53c8: 2b00 cmp r3, #0 80b53ca: d005 beq.n 80b53d8 { pFlash.ErrorCode |= HAL_FLASH_ERROR_PGA; 80b53cc: 4b13 ldr r3, [pc, #76] ; (80b541c ) 80b53ce: 699b ldr r3, [r3, #24] 80b53d0: f043 0308 orr.w r3, r3, #8 80b53d4: 4a11 ldr r2, [pc, #68] ; (80b541c ) 80b53d6: 6193 str r3, [r2, #24] } if(__HAL_FLASH_GET_FLAG(FLASH_FLAG_PGPERR) != RESET) 80b53d8: 4b0f ldr r3, [pc, #60] ; (80b5418 ) 80b53da: 68db ldr r3, [r3, #12] 80b53dc: f003 0340 and.w r3, r3, #64 ; 0x40 80b53e0: 2b00 cmp r3, #0 80b53e2: d005 beq.n 80b53f0 { pFlash.ErrorCode |= HAL_FLASH_ERROR_PGP; 80b53e4: 4b0d ldr r3, [pc, #52] ; (80b541c ) 80b53e6: 699b ldr r3, [r3, #24] 80b53e8: f043 0304 orr.w r3, r3, #4 80b53ec: 4a0b ldr r2, [pc, #44] ; (80b541c ) 80b53ee: 6193 str r3, [r2, #24] } if(__HAL_FLASH_GET_FLAG(FLASH_FLAG_ERSERR) != RESET) 80b53f0: 4b09 ldr r3, [pc, #36] ; (80b5418 ) 80b53f2: 68db ldr r3, [r3, #12] 80b53f4: f003 0380 and.w r3, r3, #128 ; 0x80 80b53f8: 2b00 cmp r3, #0 80b53fa: d005 beq.n 80b5408 { pFlash.ErrorCode |= HAL_FLASH_ERROR_ERS; 80b53fc: 4b07 ldr r3, [pc, #28] ; (80b541c ) 80b53fe: 699b ldr r3, [r3, #24] 80b5400: f043 0302 orr.w r3, r3, #2 80b5404: 4a05 ldr r2, [pc, #20] ; (80b541c ) 80b5406: 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); 80b5408: 4b03 ldr r3, [pc, #12] ; (80b5418 ) 80b540a: 22f2 movs r2, #242 ; 0xf2 80b540c: 60da str r2, [r3, #12] } 80b540e: bf00 nop 80b5410: 46bd mov sp, r7 80b5412: f85d 7b04 ldr.w r7, [sp], #4 80b5416: 4770 bx lr 80b5418: 40023c00 .word 0x40023c00 80b541c: 20068aac .word 0x20068aac 080b5420 : * (0xFFFFFFFF means that all the sectors have been correctly erased) * * @retval HAL Status */ HAL_StatusTypeDef HAL_FLASHEx_Erase(FLASH_EraseInitTypeDef *pEraseInit, uint32_t *SectorError) { 80b5420: b580 push {r7, lr} 80b5422: b084 sub sp, #16 80b5424: af00 add r7, sp, #0 80b5426: 6078 str r0, [r7, #4] 80b5428: 6039 str r1, [r7, #0] HAL_StatusTypeDef status = HAL_ERROR; 80b542a: 2301 movs r3, #1 80b542c: 73fb strb r3, [r7, #15] uint32_t index = 0; 80b542e: 2300 movs r3, #0 80b5430: 60bb str r3, [r7, #8] /* Process Locked */ __HAL_LOCK(&pFlash); 80b5432: 4b30 ldr r3, [pc, #192] ; (80b54f4 ) 80b5434: 7d1b ldrb r3, [r3, #20] 80b5436: 2b01 cmp r3, #1 80b5438: d101 bne.n 80b543e 80b543a: 2302 movs r3, #2 80b543c: e056 b.n 80b54ec 80b543e: 4b2d ldr r3, [pc, #180] ; (80b54f4 ) 80b5440: 2201 movs r2, #1 80b5442: 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); 80b5444: f24c 3050 movw r0, #50000 ; 0xc350 80b5448: f7ff fec2 bl 80b51d0 80b544c: 4603 mov r3, r0 80b544e: 73fb strb r3, [r7, #15] if(status == HAL_OK) 80b5450: 7bfb ldrb r3, [r7, #15] 80b5452: 2b00 cmp r3, #0 80b5454: d146 bne.n 80b54e4 { /*Initialization of SectorError variable*/ *SectorError = 0xFFFFFFFFU; 80b5456: 683b ldr r3, [r7, #0] 80b5458: f04f 32ff mov.w r2, #4294967295 80b545c: 601a str r2, [r3, #0] if(pEraseInit->TypeErase == FLASH_TYPEERASE_MASSERASE) 80b545e: 687b ldr r3, [r7, #4] 80b5460: 681b ldr r3, [r3, #0] 80b5462: 2b01 cmp r3, #1 80b5464: d115 bne.n 80b5492 { /*Mass erase to be done*/ #if defined (FLASH_OPTCR_nDBANK) FLASH_MassErase((uint8_t) pEraseInit->VoltageRange, pEraseInit->Banks); 80b5466: 687b ldr r3, [r7, #4] 80b5468: 691b ldr r3, [r3, #16] 80b546a: b2da uxtb r2, r3 80b546c: 687b ldr r3, [r7, #4] 80b546e: 685b ldr r3, [r3, #4] 80b5470: 4619 mov r1, r3 80b5472: 4610 mov r0, r2 80b5474: f000 f844 bl 80b5500 #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); 80b5478: f24c 3050 movw r0, #50000 ; 0xc350 80b547c: f7ff fea8 bl 80b51d0 80b5480: 4603 mov r3, r0 80b5482: 73fb strb r3, [r7, #15] /* if the erase operation is completed, disable the MER Bit */ FLASH->CR &= (~FLASH_MER_BIT); 80b5484: 491c ldr r1, [pc, #112] ; (80b54f8 ) 80b5486: 4b1c ldr r3, [pc, #112] ; (80b54f8 ) 80b5488: 691a ldr r2, [r3, #16] 80b548a: 4b1c ldr r3, [pc, #112] ; (80b54fc ) 80b548c: 4013 ands r3, r2 80b548e: 610b str r3, [r1, #16] 80b5490: e028 b.n 80b54e4 { /* 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++) 80b5492: 687b ldr r3, [r7, #4] 80b5494: 689b ldr r3, [r3, #8] 80b5496: 60bb str r3, [r7, #8] 80b5498: e01c b.n 80b54d4 { FLASH_Erase_Sector(index, (uint8_t) pEraseInit->VoltageRange); 80b549a: 687b ldr r3, [r7, #4] 80b549c: 691b ldr r3, [r3, #16] 80b549e: b2db uxtb r3, r3 80b54a0: 4619 mov r1, r3 80b54a2: 68b8 ldr r0, [r7, #8] 80b54a4: f000 f866 bl 80b5574 /* Wait for last operation to be completed */ status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE); 80b54a8: f24c 3050 movw r0, #50000 ; 0xc350 80b54ac: f7ff fe90 bl 80b51d0 80b54b0: 4603 mov r3, r0 80b54b2: 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)); 80b54b4: 4a10 ldr r2, [pc, #64] ; (80b54f8 ) 80b54b6: 4b10 ldr r3, [pc, #64] ; (80b54f8 ) 80b54b8: 691b ldr r3, [r3, #16] 80b54ba: f023 03fa bic.w r3, r3, #250 ; 0xfa 80b54be: 6113 str r3, [r2, #16] if(status != HAL_OK) 80b54c0: 7bfb ldrb r3, [r7, #15] 80b54c2: 2b00 cmp r3, #0 80b54c4: d003 beq.n 80b54ce { /* In case of error, stop erase procedure and return the faulty sector*/ *SectorError = index; 80b54c6: 683b ldr r3, [r7, #0] 80b54c8: 68ba ldr r2, [r7, #8] 80b54ca: 601a str r2, [r3, #0] break; 80b54cc: e00a b.n 80b54e4 for(index = pEraseInit->Sector; index < (pEraseInit->NbSectors + pEraseInit->Sector); index++) 80b54ce: 68bb ldr r3, [r7, #8] 80b54d0: 3301 adds r3, #1 80b54d2: 60bb str r3, [r7, #8] 80b54d4: 687b ldr r3, [r7, #4] 80b54d6: 68da ldr r2, [r3, #12] 80b54d8: 687b ldr r3, [r7, #4] 80b54da: 689b ldr r3, [r3, #8] 80b54dc: 441a add r2, r3 80b54de: 68bb ldr r3, [r7, #8] 80b54e0: 429a cmp r2, r3 80b54e2: d8da bhi.n 80b549a } } } /* Process Unlocked */ __HAL_UNLOCK(&pFlash); 80b54e4: 4b03 ldr r3, [pc, #12] ; (80b54f4 ) 80b54e6: 2200 movs r2, #0 80b54e8: 751a strb r2, [r3, #20] return status; 80b54ea: 7bfb ldrb r3, [r7, #15] } 80b54ec: 4618 mov r0, r3 80b54ee: 3710 adds r7, #16 80b54f0: 46bd mov sp, r7 80b54f2: bd80 pop {r7, pc} 80b54f4: 20068aac .word 0x20068aac 80b54f8: 40023c00 .word 0x40023c00 80b54fc: ffff7ffb .word 0xffff7ffb 080b5500 : * @arg FLASH_BANK_BOTH: Bank1 and Bank2 to be erased * * @retval HAL Status */ static void FLASH_MassErase(uint8_t VoltageRange, uint32_t Banks) { 80b5500: b480 push {r7} 80b5502: b083 sub sp, #12 80b5504: af00 add r7, sp, #0 80b5506: 4603 mov r3, r0 80b5508: 6039 str r1, [r7, #0] 80b550a: 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; 80b550c: 4a18 ldr r2, [pc, #96] ; (80b5570 ) 80b550e: 4b18 ldr r3, [pc, #96] ; (80b5570 ) 80b5510: 691b ldr r3, [r3, #16] 80b5512: f423 7340 bic.w r3, r3, #768 ; 0x300 80b5516: 6113 str r3, [r2, #16] if(Banks == FLASH_BANK_BOTH) 80b5518: 683b ldr r3, [r7, #0] 80b551a: 2b03 cmp r3, #3 80b551c: d107 bne.n 80b552e { /* bank1 & bank2 will be erased*/ FLASH->CR |= FLASH_MER_BIT; 80b551e: 4914 ldr r1, [pc, #80] ; (80b5570 ) 80b5520: 4b13 ldr r3, [pc, #76] ; (80b5570 ) 80b5522: 691a ldr r2, [r3, #16] 80b5524: f248 0304 movw r3, #32772 ; 0x8004 80b5528: 4313 orrs r3, r2 80b552a: 610b str r3, [r1, #16] 80b552c: e00f b.n 80b554e } else if(Banks == FLASH_BANK_2) 80b552e: 683b ldr r3, [r7, #0] 80b5530: 2b02 cmp r3, #2 80b5532: d106 bne.n 80b5542 { /*Only bank2 will be erased*/ FLASH->CR |= FLASH_CR_MER2; 80b5534: 4a0e ldr r2, [pc, #56] ; (80b5570 ) 80b5536: 4b0e ldr r3, [pc, #56] ; (80b5570 ) 80b5538: 691b ldr r3, [r3, #16] 80b553a: f443 4300 orr.w r3, r3, #32768 ; 0x8000 80b553e: 6113 str r3, [r2, #16] 80b5540: e005 b.n 80b554e } else { /*Only bank1 will be erased*/ FLASH->CR |= FLASH_CR_MER1; 80b5542: 4a0b ldr r2, [pc, #44] ; (80b5570 ) 80b5544: 4b0a ldr r3, [pc, #40] ; (80b5570 ) 80b5546: 691b ldr r3, [r3, #16] 80b5548: f043 0304 orr.w r3, r3, #4 80b554c: 6113 str r3, [r2, #16] } FLASH->CR |= FLASH_CR_STRT | ((uint32_t)VoltageRange <<8); 80b554e: 4908 ldr r1, [pc, #32] ; (80b5570 ) 80b5550: 4b07 ldr r3, [pc, #28] ; (80b5570 ) 80b5552: 691a ldr r2, [r3, #16] 80b5554: 79fb ldrb r3, [r7, #7] 80b5556: 021b lsls r3, r3, #8 80b5558: 4313 orrs r3, r2 80b555a: f443 3380 orr.w r3, r3, #65536 ; 0x10000 80b555e: 610b str r3, [r1, #16] 80b5560: 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(); } 80b5564: bf00 nop 80b5566: 370c adds r7, #12 80b5568: 46bd mov sp, r7 80b556a: f85d 7b04 ldr.w r7, [sp], #4 80b556e: 4770 bx lr 80b5570: 40023c00 .word 0x40023c00 080b5574 : * the operation will be done by double word (64-bit) * * @retval None */ void FLASH_Erase_Sector(uint32_t Sector, uint8_t VoltageRange) { 80b5574: b480 push {r7} 80b5576: b085 sub sp, #20 80b5578: af00 add r7, sp, #0 80b557a: 6078 str r0, [r7, #4] 80b557c: 460b mov r3, r1 80b557e: 70fb strb r3, [r7, #3] uint32_t tmp_psize = 0; 80b5580: 2300 movs r3, #0 80b5582: 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) 80b5584: 78fb ldrb r3, [r7, #3] 80b5586: 2b00 cmp r3, #0 80b5588: d102 bne.n 80b5590 { tmp_psize = FLASH_PSIZE_BYTE; 80b558a: 2300 movs r3, #0 80b558c: 60fb str r3, [r7, #12] 80b558e: e010 b.n 80b55b2 } else if(VoltageRange == FLASH_VOLTAGE_RANGE_2) 80b5590: 78fb ldrb r3, [r7, #3] 80b5592: 2b01 cmp r3, #1 80b5594: d103 bne.n 80b559e { tmp_psize = FLASH_PSIZE_HALF_WORD; 80b5596: f44f 7380 mov.w r3, #256 ; 0x100 80b559a: 60fb str r3, [r7, #12] 80b559c: e009 b.n 80b55b2 } else if(VoltageRange == FLASH_VOLTAGE_RANGE_3) 80b559e: 78fb ldrb r3, [r7, #3] 80b55a0: 2b02 cmp r3, #2 80b55a2: d103 bne.n 80b55ac { tmp_psize = FLASH_PSIZE_WORD; 80b55a4: f44f 7300 mov.w r3, #512 ; 0x200 80b55a8: 60fb str r3, [r7, #12] 80b55aa: e002 b.n 80b55b2 } else { tmp_psize = FLASH_PSIZE_DOUBLE_WORD; 80b55ac: f44f 7340 mov.w r3, #768 ; 0x300 80b55b0: 60fb str r3, [r7, #12] } /* Need to add offset of 4 when sector higher than FLASH_SECTOR_11 */ if(Sector > FLASH_SECTOR_11) 80b55b2: 687b ldr r3, [r7, #4] 80b55b4: 2b0b cmp r3, #11 80b55b6: d902 bls.n 80b55be { Sector += 4; 80b55b8: 687b ldr r3, [r7, #4] 80b55ba: 3304 adds r3, #4 80b55bc: 607b str r3, [r7, #4] } /* If the previous operation is completed, proceed to erase the sector */ FLASH->CR &= CR_PSIZE_MASK; 80b55be: 4a14 ldr r2, [pc, #80] ; (80b5610 ) 80b55c0: 4b13 ldr r3, [pc, #76] ; (80b5610 ) 80b55c2: 691b ldr r3, [r3, #16] 80b55c4: f423 7340 bic.w r3, r3, #768 ; 0x300 80b55c8: 6113 str r3, [r2, #16] FLASH->CR |= tmp_psize; 80b55ca: 4911 ldr r1, [pc, #68] ; (80b5610 ) 80b55cc: 4b10 ldr r3, [pc, #64] ; (80b5610 ) 80b55ce: 691a ldr r2, [r3, #16] 80b55d0: 68fb ldr r3, [r7, #12] 80b55d2: 4313 orrs r3, r2 80b55d4: 610b str r3, [r1, #16] CLEAR_BIT(FLASH->CR, FLASH_CR_SNB); 80b55d6: 4a0e ldr r2, [pc, #56] ; (80b5610 ) 80b55d8: 4b0d ldr r3, [pc, #52] ; (80b5610 ) 80b55da: 691b ldr r3, [r3, #16] 80b55dc: f023 03f8 bic.w r3, r3, #248 ; 0xf8 80b55e0: 6113 str r3, [r2, #16] FLASH->CR |= FLASH_CR_SER | (Sector << FLASH_CR_SNB_Pos); 80b55e2: 490b ldr r1, [pc, #44] ; (80b5610 ) 80b55e4: 4b0a ldr r3, [pc, #40] ; (80b5610 ) 80b55e6: 691a ldr r2, [r3, #16] 80b55e8: 687b ldr r3, [r7, #4] 80b55ea: 00db lsls r3, r3, #3 80b55ec: 4313 orrs r3, r2 80b55ee: f043 0302 orr.w r3, r3, #2 80b55f2: 610b str r3, [r1, #16] FLASH->CR |= FLASH_CR_STRT; 80b55f4: 4a06 ldr r2, [pc, #24] ; (80b5610 ) 80b55f6: 4b06 ldr r3, [pc, #24] ; (80b5610 ) 80b55f8: 691b ldr r3, [r3, #16] 80b55fa: f443 3380 orr.w r3, r3, #65536 ; 0x10000 80b55fe: 6113 str r3, [r2, #16] 80b5600: 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(); } 80b5604: bf00 nop 80b5606: 3714 adds r7, #20 80b5608: 46bd mov sp, r7 80b560a: f85d 7b04 ldr.w r7, [sp], #4 80b560e: 4770 bx lr 80b5610: 40023c00 .word 0x40023c00 080b5614 : * @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) { 80b5614: b480 push {r7} 80b5616: b089 sub sp, #36 ; 0x24 80b5618: af00 add r7, sp, #0 80b561a: 6078 str r0, [r7, #4] 80b561c: 6039 str r1, [r7, #0] uint32_t position = 0x00; 80b561e: 2300 movs r3, #0 80b5620: 61fb str r3, [r7, #28] uint32_t ioposition = 0x00; 80b5622: 2300 movs r3, #0 80b5624: 617b str r3, [r7, #20] uint32_t iocurrent = 0x00; 80b5626: 2300 movs r3, #0 80b5628: 613b str r3, [r7, #16] uint32_t temp = 0x00; 80b562a: 2300 movs r3, #0 80b562c: 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++) 80b562e: 2300 movs r3, #0 80b5630: 61fb str r3, [r7, #28] 80b5632: e175 b.n 80b5920 { /* Get the IO position */ ioposition = ((uint32_t)0x01) << position; 80b5634: 2201 movs r2, #1 80b5636: 69fb ldr r3, [r7, #28] 80b5638: fa02 f303 lsl.w r3, r2, r3 80b563c: 617b str r3, [r7, #20] /* Get the current IO position */ iocurrent = (uint32_t)(GPIO_Init->Pin) & ioposition; 80b563e: 683b ldr r3, [r7, #0] 80b5640: 681a ldr r2, [r3, #0] 80b5642: 697b ldr r3, [r7, #20] 80b5644: 4013 ands r3, r2 80b5646: 613b str r3, [r7, #16] if(iocurrent == ioposition) 80b5648: 693a ldr r2, [r7, #16] 80b564a: 697b ldr r3, [r7, #20] 80b564c: 429a cmp r2, r3 80b564e: f040 8164 bne.w 80b591a { /*--------------------- 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)) 80b5652: 683b ldr r3, [r7, #0] 80b5654: 685b ldr r3, [r3, #4] 80b5656: f003 0303 and.w r3, r3, #3 80b565a: 2b01 cmp r3, #1 80b565c: d005 beq.n 80b566a 80b565e: 683b ldr r3, [r7, #0] 80b5660: 685b ldr r3, [r3, #4] 80b5662: f003 0303 and.w r3, r3, #3 80b5666: 2b02 cmp r3, #2 80b5668: d130 bne.n 80b56cc { /* Check the Speed parameter */ assert_param(IS_GPIO_SPEED(GPIO_Init->Speed)); /* Configure the IO Speed */ temp = GPIOx->OSPEEDR; 80b566a: 687b ldr r3, [r7, #4] 80b566c: 689b ldr r3, [r3, #8] 80b566e: 61bb str r3, [r7, #24] temp &= ~(GPIO_OSPEEDER_OSPEEDR0 << (position * 2)); 80b5670: 69fb ldr r3, [r7, #28] 80b5672: 005b lsls r3, r3, #1 80b5674: 2203 movs r2, #3 80b5676: fa02 f303 lsl.w r3, r2, r3 80b567a: 43db mvns r3, r3 80b567c: 69ba ldr r2, [r7, #24] 80b567e: 4013 ands r3, r2 80b5680: 61bb str r3, [r7, #24] temp |= (GPIO_Init->Speed << (position * 2)); 80b5682: 683b ldr r3, [r7, #0] 80b5684: 68da ldr r2, [r3, #12] 80b5686: 69fb ldr r3, [r7, #28] 80b5688: 005b lsls r3, r3, #1 80b568a: fa02 f303 lsl.w r3, r2, r3 80b568e: 69ba ldr r2, [r7, #24] 80b5690: 4313 orrs r3, r2 80b5692: 61bb str r3, [r7, #24] GPIOx->OSPEEDR = temp; 80b5694: 687b ldr r3, [r7, #4] 80b5696: 69ba ldr r2, [r7, #24] 80b5698: 609a str r2, [r3, #8] /* Configure the IO Output Type */ temp = GPIOx->OTYPER; 80b569a: 687b ldr r3, [r7, #4] 80b569c: 685b ldr r3, [r3, #4] 80b569e: 61bb str r3, [r7, #24] temp &= ~(GPIO_OTYPER_OT_0 << position) ; 80b56a0: 2201 movs r2, #1 80b56a2: 69fb ldr r3, [r7, #28] 80b56a4: fa02 f303 lsl.w r3, r2, r3 80b56a8: 43db mvns r3, r3 80b56aa: 69ba ldr r2, [r7, #24] 80b56ac: 4013 ands r3, r2 80b56ae: 61bb str r3, [r7, #24] temp |= (((GPIO_Init->Mode & OUTPUT_TYPE) >> OUTPUT_TYPE_Pos) << position); 80b56b0: 683b ldr r3, [r7, #0] 80b56b2: 685b ldr r3, [r3, #4] 80b56b4: 091b lsrs r3, r3, #4 80b56b6: f003 0201 and.w r2, r3, #1 80b56ba: 69fb ldr r3, [r7, #28] 80b56bc: fa02 f303 lsl.w r3, r2, r3 80b56c0: 69ba ldr r2, [r7, #24] 80b56c2: 4313 orrs r3, r2 80b56c4: 61bb str r3, [r7, #24] GPIOx->OTYPER = temp; 80b56c6: 687b ldr r3, [r7, #4] 80b56c8: 69ba ldr r2, [r7, #24] 80b56ca: 605a str r2, [r3, #4] } if((GPIO_Init->Mode & GPIO_MODE) != MODE_ANALOG) 80b56cc: 683b ldr r3, [r7, #0] 80b56ce: 685b ldr r3, [r3, #4] 80b56d0: f003 0303 and.w r3, r3, #3 80b56d4: 2b03 cmp r3, #3 80b56d6: d017 beq.n 80b5708 { /* 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; 80b56d8: 687b ldr r3, [r7, #4] 80b56da: 68db ldr r3, [r3, #12] 80b56dc: 61bb str r3, [r7, #24] temp &= ~(GPIO_PUPDR_PUPDR0 << (position * 2)); 80b56de: 69fb ldr r3, [r7, #28] 80b56e0: 005b lsls r3, r3, #1 80b56e2: 2203 movs r2, #3 80b56e4: fa02 f303 lsl.w r3, r2, r3 80b56e8: 43db mvns r3, r3 80b56ea: 69ba ldr r2, [r7, #24] 80b56ec: 4013 ands r3, r2 80b56ee: 61bb str r3, [r7, #24] temp |= ((GPIO_Init->Pull) << (position * 2)); 80b56f0: 683b ldr r3, [r7, #0] 80b56f2: 689a ldr r2, [r3, #8] 80b56f4: 69fb ldr r3, [r7, #28] 80b56f6: 005b lsls r3, r3, #1 80b56f8: fa02 f303 lsl.w r3, r2, r3 80b56fc: 69ba ldr r2, [r7, #24] 80b56fe: 4313 orrs r3, r2 80b5700: 61bb str r3, [r7, #24] GPIOx->PUPDR = temp; 80b5702: 687b ldr r3, [r7, #4] 80b5704: 69ba ldr r2, [r7, #24] 80b5706: 60da str r2, [r3, #12] } /* In case of Alternate function mode selection */ if((GPIO_Init->Mode & GPIO_MODE) == MODE_AF) 80b5708: 683b ldr r3, [r7, #0] 80b570a: 685b ldr r3, [r3, #4] 80b570c: f003 0303 and.w r3, r3, #3 80b5710: 2b02 cmp r3, #2 80b5712: d123 bne.n 80b575c { /* 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]; 80b5714: 69fb ldr r3, [r7, #28] 80b5716: 08da lsrs r2, r3, #3 80b5718: 687b ldr r3, [r7, #4] 80b571a: 3208 adds r2, #8 80b571c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80b5720: 61bb str r3, [r7, #24] temp &= ~((uint32_t)0xF << ((uint32_t)(position & (uint32_t)0x07) * 4)) ; 80b5722: 69fb ldr r3, [r7, #28] 80b5724: f003 0307 and.w r3, r3, #7 80b5728: 009b lsls r3, r3, #2 80b572a: 220f movs r2, #15 80b572c: fa02 f303 lsl.w r3, r2, r3 80b5730: 43db mvns r3, r3 80b5732: 69ba ldr r2, [r7, #24] 80b5734: 4013 ands r3, r2 80b5736: 61bb str r3, [r7, #24] temp |= ((uint32_t)(GPIO_Init->Alternate) << (((uint32_t)position & (uint32_t)0x07) * 4)); 80b5738: 683b ldr r3, [r7, #0] 80b573a: 691a ldr r2, [r3, #16] 80b573c: 69fb ldr r3, [r7, #28] 80b573e: f003 0307 and.w r3, r3, #7 80b5742: 009b lsls r3, r3, #2 80b5744: fa02 f303 lsl.w r3, r2, r3 80b5748: 69ba ldr r2, [r7, #24] 80b574a: 4313 orrs r3, r2 80b574c: 61bb str r3, [r7, #24] GPIOx->AFR[position >> 3] = temp; 80b574e: 69fb ldr r3, [r7, #28] 80b5750: 08da lsrs r2, r3, #3 80b5752: 687b ldr r3, [r7, #4] 80b5754: 3208 adds r2, #8 80b5756: 69b9 ldr r1, [r7, #24] 80b5758: f843 1022 str.w r1, [r3, r2, lsl #2] } /* Configure IO Direction mode (Input, Output, Alternate or Analog) */ temp = GPIOx->MODER; 80b575c: 687b ldr r3, [r7, #4] 80b575e: 681b ldr r3, [r3, #0] 80b5760: 61bb str r3, [r7, #24] temp &= ~(GPIO_MODER_MODER0 << (position * 2)); 80b5762: 69fb ldr r3, [r7, #28] 80b5764: 005b lsls r3, r3, #1 80b5766: 2203 movs r2, #3 80b5768: fa02 f303 lsl.w r3, r2, r3 80b576c: 43db mvns r3, r3 80b576e: 69ba ldr r2, [r7, #24] 80b5770: 4013 ands r3, r2 80b5772: 61bb str r3, [r7, #24] temp |= ((GPIO_Init->Mode & GPIO_MODE) << (position * 2)); 80b5774: 683b ldr r3, [r7, #0] 80b5776: 685b ldr r3, [r3, #4] 80b5778: f003 0203 and.w r2, r3, #3 80b577c: 69fb ldr r3, [r7, #28] 80b577e: 005b lsls r3, r3, #1 80b5780: fa02 f303 lsl.w r3, r2, r3 80b5784: 69ba ldr r2, [r7, #24] 80b5786: 4313 orrs r3, r2 80b5788: 61bb str r3, [r7, #24] GPIOx->MODER = temp; 80b578a: 687b ldr r3, [r7, #4] 80b578c: 69ba ldr r2, [r7, #24] 80b578e: 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) 80b5790: 683b ldr r3, [r7, #0] 80b5792: 685b ldr r3, [r3, #4] 80b5794: f403 3340 and.w r3, r3, #196608 ; 0x30000 80b5798: 2b00 cmp r3, #0 80b579a: f000 80be beq.w 80b591a { /* Enable SYSCFG Clock */ __HAL_RCC_SYSCFG_CLK_ENABLE(); 80b579e: 4a65 ldr r2, [pc, #404] ; (80b5934 ) 80b57a0: 4b64 ldr r3, [pc, #400] ; (80b5934 ) 80b57a2: 6c5b ldr r3, [r3, #68] ; 0x44 80b57a4: f443 4380 orr.w r3, r3, #16384 ; 0x4000 80b57a8: 6453 str r3, [r2, #68] ; 0x44 80b57aa: 4b62 ldr r3, [pc, #392] ; (80b5934 ) 80b57ac: 6c5b ldr r3, [r3, #68] ; 0x44 80b57ae: f403 4380 and.w r3, r3, #16384 ; 0x4000 80b57b2: 60fb str r3, [r7, #12] 80b57b4: 68fb ldr r3, [r7, #12] temp = SYSCFG->EXTICR[position >> 2]; 80b57b6: 4a60 ldr r2, [pc, #384] ; (80b5938 ) 80b57b8: 69fb ldr r3, [r7, #28] 80b57ba: 089b lsrs r3, r3, #2 80b57bc: 3302 adds r3, #2 80b57be: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80b57c2: 61bb str r3, [r7, #24] temp &= ~(((uint32_t)0x0F) << (4 * (position & 0x03))); 80b57c4: 69fb ldr r3, [r7, #28] 80b57c6: f003 0303 and.w r3, r3, #3 80b57ca: 009b lsls r3, r3, #2 80b57cc: 220f movs r2, #15 80b57ce: fa02 f303 lsl.w r3, r2, r3 80b57d2: 43db mvns r3, r3 80b57d4: 69ba ldr r2, [r7, #24] 80b57d6: 4013 ands r3, r2 80b57d8: 61bb str r3, [r7, #24] temp |= ((uint32_t)(GPIO_GET_INDEX(GPIOx)) << (4 * (position & 0x03))); 80b57da: 687b ldr r3, [r7, #4] 80b57dc: 4a57 ldr r2, [pc, #348] ; (80b593c ) 80b57de: 4293 cmp r3, r2 80b57e0: d037 beq.n 80b5852 80b57e2: 687b ldr r3, [r7, #4] 80b57e4: 4a56 ldr r2, [pc, #344] ; (80b5940 ) 80b57e6: 4293 cmp r3, r2 80b57e8: d031 beq.n 80b584e 80b57ea: 687b ldr r3, [r7, #4] 80b57ec: 4a55 ldr r2, [pc, #340] ; (80b5944 ) 80b57ee: 4293 cmp r3, r2 80b57f0: d02b beq.n 80b584a 80b57f2: 687b ldr r3, [r7, #4] 80b57f4: 4a54 ldr r2, [pc, #336] ; (80b5948 ) 80b57f6: 4293 cmp r3, r2 80b57f8: d025 beq.n 80b5846 80b57fa: 687b ldr r3, [r7, #4] 80b57fc: 4a53 ldr r2, [pc, #332] ; (80b594c ) 80b57fe: 4293 cmp r3, r2 80b5800: d01f beq.n 80b5842 80b5802: 687b ldr r3, [r7, #4] 80b5804: 4a52 ldr r2, [pc, #328] ; (80b5950 ) 80b5806: 4293 cmp r3, r2 80b5808: d019 beq.n 80b583e 80b580a: 687b ldr r3, [r7, #4] 80b580c: 4a51 ldr r2, [pc, #324] ; (80b5954 ) 80b580e: 4293 cmp r3, r2 80b5810: d013 beq.n 80b583a 80b5812: 687b ldr r3, [r7, #4] 80b5814: 4a50 ldr r2, [pc, #320] ; (80b5958 ) 80b5816: 4293 cmp r3, r2 80b5818: d00d beq.n 80b5836 80b581a: 687b ldr r3, [r7, #4] 80b581c: 4a4f ldr r2, [pc, #316] ; (80b595c ) 80b581e: 4293 cmp r3, r2 80b5820: d007 beq.n 80b5832 80b5822: 687b ldr r3, [r7, #4] 80b5824: 4a4e ldr r2, [pc, #312] ; (80b5960 ) 80b5826: 4293 cmp r3, r2 80b5828: d101 bne.n 80b582e 80b582a: 2309 movs r3, #9 80b582c: e012 b.n 80b5854 80b582e: 230a movs r3, #10 80b5830: e010 b.n 80b5854 80b5832: 2308 movs r3, #8 80b5834: e00e b.n 80b5854 80b5836: 2307 movs r3, #7 80b5838: e00c b.n 80b5854 80b583a: 2306 movs r3, #6 80b583c: e00a b.n 80b5854 80b583e: 2305 movs r3, #5 80b5840: e008 b.n 80b5854 80b5842: 2304 movs r3, #4 80b5844: e006 b.n 80b5854 80b5846: 2303 movs r3, #3 80b5848: e004 b.n 80b5854 80b584a: 2302 movs r3, #2 80b584c: e002 b.n 80b5854 80b584e: 2301 movs r3, #1 80b5850: e000 b.n 80b5854 80b5852: 2300 movs r3, #0 80b5854: 69fa ldr r2, [r7, #28] 80b5856: f002 0203 and.w r2, r2, #3 80b585a: 0092 lsls r2, r2, #2 80b585c: 4093 lsls r3, r2 80b585e: 69ba ldr r2, [r7, #24] 80b5860: 4313 orrs r3, r2 80b5862: 61bb str r3, [r7, #24] SYSCFG->EXTICR[position >> 2] = temp; 80b5864: 4934 ldr r1, [pc, #208] ; (80b5938 ) 80b5866: 69fb ldr r3, [r7, #28] 80b5868: 089b lsrs r3, r3, #2 80b586a: 3302 adds r3, #2 80b586c: 69ba ldr r2, [r7, #24] 80b586e: f841 2023 str.w r2, [r1, r3, lsl #2] /* Clear Rising Falling edge configuration */ temp = EXTI->RTSR; 80b5872: 4b3c ldr r3, [pc, #240] ; (80b5964 ) 80b5874: 689b ldr r3, [r3, #8] 80b5876: 61bb str r3, [r7, #24] temp &= ~((uint32_t)iocurrent); 80b5878: 693b ldr r3, [r7, #16] 80b587a: 43db mvns r3, r3 80b587c: 69ba ldr r2, [r7, #24] 80b587e: 4013 ands r3, r2 80b5880: 61bb str r3, [r7, #24] if((GPIO_Init->Mode & TRIGGER_RISING) != 0x00u) 80b5882: 683b ldr r3, [r7, #0] 80b5884: 685b ldr r3, [r3, #4] 80b5886: f403 1380 and.w r3, r3, #1048576 ; 0x100000 80b588a: 2b00 cmp r3, #0 80b588c: d003 beq.n 80b5896 { temp |= iocurrent; 80b588e: 69ba ldr r2, [r7, #24] 80b5890: 693b ldr r3, [r7, #16] 80b5892: 4313 orrs r3, r2 80b5894: 61bb str r3, [r7, #24] } EXTI->RTSR = temp; 80b5896: 4a33 ldr r2, [pc, #204] ; (80b5964 ) 80b5898: 69bb ldr r3, [r7, #24] 80b589a: 6093 str r3, [r2, #8] temp = EXTI->FTSR; 80b589c: 4b31 ldr r3, [pc, #196] ; (80b5964 ) 80b589e: 68db ldr r3, [r3, #12] 80b58a0: 61bb str r3, [r7, #24] temp &= ~((uint32_t)iocurrent); 80b58a2: 693b ldr r3, [r7, #16] 80b58a4: 43db mvns r3, r3 80b58a6: 69ba ldr r2, [r7, #24] 80b58a8: 4013 ands r3, r2 80b58aa: 61bb str r3, [r7, #24] if((GPIO_Init->Mode & TRIGGER_FALLING) != 0x00u) 80b58ac: 683b ldr r3, [r7, #0] 80b58ae: 685b ldr r3, [r3, #4] 80b58b0: f403 1300 and.w r3, r3, #2097152 ; 0x200000 80b58b4: 2b00 cmp r3, #0 80b58b6: d003 beq.n 80b58c0 { temp |= iocurrent; 80b58b8: 69ba ldr r2, [r7, #24] 80b58ba: 693b ldr r3, [r7, #16] 80b58bc: 4313 orrs r3, r2 80b58be: 61bb str r3, [r7, #24] } EXTI->FTSR = temp; 80b58c0: 4a28 ldr r2, [pc, #160] ; (80b5964 ) 80b58c2: 69bb ldr r3, [r7, #24] 80b58c4: 60d3 str r3, [r2, #12] temp = EXTI->EMR; 80b58c6: 4b27 ldr r3, [pc, #156] ; (80b5964 ) 80b58c8: 685b ldr r3, [r3, #4] 80b58ca: 61bb str r3, [r7, #24] temp &= ~((uint32_t)iocurrent); 80b58cc: 693b ldr r3, [r7, #16] 80b58ce: 43db mvns r3, r3 80b58d0: 69ba ldr r2, [r7, #24] 80b58d2: 4013 ands r3, r2 80b58d4: 61bb str r3, [r7, #24] if((GPIO_Init->Mode & EXTI_EVT) != 0x00u) 80b58d6: 683b ldr r3, [r7, #0] 80b58d8: 685b ldr r3, [r3, #4] 80b58da: f403 3300 and.w r3, r3, #131072 ; 0x20000 80b58de: 2b00 cmp r3, #0 80b58e0: d003 beq.n 80b58ea { temp |= iocurrent; 80b58e2: 69ba ldr r2, [r7, #24] 80b58e4: 693b ldr r3, [r7, #16] 80b58e6: 4313 orrs r3, r2 80b58e8: 61bb str r3, [r7, #24] } EXTI->EMR = temp; 80b58ea: 4a1e ldr r2, [pc, #120] ; (80b5964 ) 80b58ec: 69bb ldr r3, [r7, #24] 80b58ee: 6053 str r3, [r2, #4] /* Clear EXTI line configuration */ temp = EXTI->IMR; 80b58f0: 4b1c ldr r3, [pc, #112] ; (80b5964 ) 80b58f2: 681b ldr r3, [r3, #0] 80b58f4: 61bb str r3, [r7, #24] temp &= ~((uint32_t)iocurrent); 80b58f6: 693b ldr r3, [r7, #16] 80b58f8: 43db mvns r3, r3 80b58fa: 69ba ldr r2, [r7, #24] 80b58fc: 4013 ands r3, r2 80b58fe: 61bb str r3, [r7, #24] if((GPIO_Init->Mode & EXTI_IT) != 0x00u) 80b5900: 683b ldr r3, [r7, #0] 80b5902: 685b ldr r3, [r3, #4] 80b5904: f403 3380 and.w r3, r3, #65536 ; 0x10000 80b5908: 2b00 cmp r3, #0 80b590a: d003 beq.n 80b5914 { temp |= iocurrent; 80b590c: 69ba ldr r2, [r7, #24] 80b590e: 693b ldr r3, [r7, #16] 80b5910: 4313 orrs r3, r2 80b5912: 61bb str r3, [r7, #24] } EXTI->IMR = temp; 80b5914: 4a13 ldr r2, [pc, #76] ; (80b5964 ) 80b5916: 69bb ldr r3, [r7, #24] 80b5918: 6013 str r3, [r2, #0] for(position = 0; position < GPIO_NUMBER; position++) 80b591a: 69fb ldr r3, [r7, #28] 80b591c: 3301 adds r3, #1 80b591e: 61fb str r3, [r7, #28] 80b5920: 69fb ldr r3, [r7, #28] 80b5922: 2b0f cmp r3, #15 80b5924: f67f ae86 bls.w 80b5634 } } } } 80b5928: bf00 nop 80b592a: 3724 adds r7, #36 ; 0x24 80b592c: 46bd mov sp, r7 80b592e: f85d 7b04 ldr.w r7, [sp], #4 80b5932: 4770 bx lr 80b5934: 40023800 .word 0x40023800 80b5938: 40013800 .word 0x40013800 80b593c: 40020000 .word 0x40020000 80b5940: 40020400 .word 0x40020400 80b5944: 40020800 .word 0x40020800 80b5948: 40020c00 .word 0x40020c00 80b594c: 40021000 .word 0x40021000 80b5950: 40021400 .word 0x40021400 80b5954: 40021800 .word 0x40021800 80b5958: 40021c00 .word 0x40021c00 80b595c: 40022000 .word 0x40022000 80b5960: 40022400 .word 0x40022400 80b5964: 40013c00 .word 0x40013c00 080b5968 : * @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) { 80b5968: b480 push {r7} 80b596a: b087 sub sp, #28 80b596c: af00 add r7, sp, #0 80b596e: 6078 str r0, [r7, #4] 80b5970: 6039 str r1, [r7, #0] uint32_t position; uint32_t ioposition = 0x00; 80b5972: 2300 movs r3, #0 80b5974: 613b str r3, [r7, #16] uint32_t iocurrent = 0x00; 80b5976: 2300 movs r3, #0 80b5978: 60fb str r3, [r7, #12] uint32_t tmp = 0x00; 80b597a: 2300 movs r3, #0 80b597c: 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++) 80b597e: 2300 movs r3, #0 80b5980: 617b str r3, [r7, #20] 80b5982: e0da b.n 80b5b3a { /* Get the IO position */ ioposition = ((uint32_t)0x01) << position; 80b5984: 2201 movs r2, #1 80b5986: 697b ldr r3, [r7, #20] 80b5988: fa02 f303 lsl.w r3, r2, r3 80b598c: 613b str r3, [r7, #16] /* Get the current IO position */ iocurrent = (GPIO_Pin) & ioposition; 80b598e: 683a ldr r2, [r7, #0] 80b5990: 693b ldr r3, [r7, #16] 80b5992: 4013 ands r3, r2 80b5994: 60fb str r3, [r7, #12] if(iocurrent == ioposition) 80b5996: 68fa ldr r2, [r7, #12] 80b5998: 693b ldr r3, [r7, #16] 80b599a: 429a cmp r2, r3 80b599c: f040 80ca bne.w 80b5b34 { /*------------------------- EXTI Mode Configuration --------------------*/ tmp = SYSCFG->EXTICR[position >> 2]; 80b59a0: 4a6b ldr r2, [pc, #428] ; (80b5b50 ) 80b59a2: 697b ldr r3, [r7, #20] 80b59a4: 089b lsrs r3, r3, #2 80b59a6: 3302 adds r3, #2 80b59a8: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80b59ac: 60bb str r3, [r7, #8] tmp &= (((uint32_t)0x0F) << (4 * (position & 0x03))); 80b59ae: 697b ldr r3, [r7, #20] 80b59b0: f003 0303 and.w r3, r3, #3 80b59b4: 009b lsls r3, r3, #2 80b59b6: 220f movs r2, #15 80b59b8: fa02 f303 lsl.w r3, r2, r3 80b59bc: 68ba ldr r2, [r7, #8] 80b59be: 4013 ands r3, r2 80b59c0: 60bb str r3, [r7, #8] if(tmp == ((uint32_t)(GPIO_GET_INDEX(GPIOx)) << (4 * (position & 0x03)))) 80b59c2: 687b ldr r3, [r7, #4] 80b59c4: 4a63 ldr r2, [pc, #396] ; (80b5b54 ) 80b59c6: 4293 cmp r3, r2 80b59c8: d037 beq.n 80b5a3a 80b59ca: 687b ldr r3, [r7, #4] 80b59cc: 4a62 ldr r2, [pc, #392] ; (80b5b58 ) 80b59ce: 4293 cmp r3, r2 80b59d0: d031 beq.n 80b5a36 80b59d2: 687b ldr r3, [r7, #4] 80b59d4: 4a61 ldr r2, [pc, #388] ; (80b5b5c ) 80b59d6: 4293 cmp r3, r2 80b59d8: d02b beq.n 80b5a32 80b59da: 687b ldr r3, [r7, #4] 80b59dc: 4a60 ldr r2, [pc, #384] ; (80b5b60 ) 80b59de: 4293 cmp r3, r2 80b59e0: d025 beq.n 80b5a2e 80b59e2: 687b ldr r3, [r7, #4] 80b59e4: 4a5f ldr r2, [pc, #380] ; (80b5b64 ) 80b59e6: 4293 cmp r3, r2 80b59e8: d01f beq.n 80b5a2a 80b59ea: 687b ldr r3, [r7, #4] 80b59ec: 4a5e ldr r2, [pc, #376] ; (80b5b68 ) 80b59ee: 4293 cmp r3, r2 80b59f0: d019 beq.n 80b5a26 80b59f2: 687b ldr r3, [r7, #4] 80b59f4: 4a5d ldr r2, [pc, #372] ; (80b5b6c ) 80b59f6: 4293 cmp r3, r2 80b59f8: d013 beq.n 80b5a22 80b59fa: 687b ldr r3, [r7, #4] 80b59fc: 4a5c ldr r2, [pc, #368] ; (80b5b70 ) 80b59fe: 4293 cmp r3, r2 80b5a00: d00d beq.n 80b5a1e 80b5a02: 687b ldr r3, [r7, #4] 80b5a04: 4a5b ldr r2, [pc, #364] ; (80b5b74 ) 80b5a06: 4293 cmp r3, r2 80b5a08: d007 beq.n 80b5a1a 80b5a0a: 687b ldr r3, [r7, #4] 80b5a0c: 4a5a ldr r2, [pc, #360] ; (80b5b78 ) 80b5a0e: 4293 cmp r3, r2 80b5a10: d101 bne.n 80b5a16 80b5a12: 2309 movs r3, #9 80b5a14: e012 b.n 80b5a3c 80b5a16: 230a movs r3, #10 80b5a18: e010 b.n 80b5a3c 80b5a1a: 2308 movs r3, #8 80b5a1c: e00e b.n 80b5a3c 80b5a1e: 2307 movs r3, #7 80b5a20: e00c b.n 80b5a3c 80b5a22: 2306 movs r3, #6 80b5a24: e00a b.n 80b5a3c 80b5a26: 2305 movs r3, #5 80b5a28: e008 b.n 80b5a3c 80b5a2a: 2304 movs r3, #4 80b5a2c: e006 b.n 80b5a3c 80b5a2e: 2303 movs r3, #3 80b5a30: e004 b.n 80b5a3c 80b5a32: 2302 movs r3, #2 80b5a34: e002 b.n 80b5a3c 80b5a36: 2301 movs r3, #1 80b5a38: e000 b.n 80b5a3c 80b5a3a: 2300 movs r3, #0 80b5a3c: 697a ldr r2, [r7, #20] 80b5a3e: f002 0203 and.w r2, r2, #3 80b5a42: 0092 lsls r2, r2, #2 80b5a44: fa03 f202 lsl.w r2, r3, r2 80b5a48: 68bb ldr r3, [r7, #8] 80b5a4a: 429a cmp r2, r3 80b5a4c: d132 bne.n 80b5ab4 { /* Clear EXTI line configuration */ EXTI->IMR &= ~((uint32_t)iocurrent); 80b5a4e: 494b ldr r1, [pc, #300] ; (80b5b7c ) 80b5a50: 4b4a ldr r3, [pc, #296] ; (80b5b7c ) 80b5a52: 681a ldr r2, [r3, #0] 80b5a54: 68fb ldr r3, [r7, #12] 80b5a56: 43db mvns r3, r3 80b5a58: 4013 ands r3, r2 80b5a5a: 600b str r3, [r1, #0] EXTI->EMR &= ~((uint32_t)iocurrent); 80b5a5c: 4947 ldr r1, [pc, #284] ; (80b5b7c ) 80b5a5e: 4b47 ldr r3, [pc, #284] ; (80b5b7c ) 80b5a60: 685a ldr r2, [r3, #4] 80b5a62: 68fb ldr r3, [r7, #12] 80b5a64: 43db mvns r3, r3 80b5a66: 4013 ands r3, r2 80b5a68: 604b str r3, [r1, #4] /* Clear Rising Falling edge configuration */ EXTI->FTSR &= ~((uint32_t)iocurrent); 80b5a6a: 4944 ldr r1, [pc, #272] ; (80b5b7c ) 80b5a6c: 4b43 ldr r3, [pc, #268] ; (80b5b7c ) 80b5a6e: 68da ldr r2, [r3, #12] 80b5a70: 68fb ldr r3, [r7, #12] 80b5a72: 43db mvns r3, r3 80b5a74: 4013 ands r3, r2 80b5a76: 60cb str r3, [r1, #12] EXTI->RTSR &= ~((uint32_t)iocurrent); 80b5a78: 4940 ldr r1, [pc, #256] ; (80b5b7c ) 80b5a7a: 4b40 ldr r3, [pc, #256] ; (80b5b7c ) 80b5a7c: 689a ldr r2, [r3, #8] 80b5a7e: 68fb ldr r3, [r7, #12] 80b5a80: 43db mvns r3, r3 80b5a82: 4013 ands r3, r2 80b5a84: 608b str r3, [r1, #8] /* Configure the External Interrupt or event for the current IO */ tmp = ((uint32_t)0x0F) << (4 * (position & 0x03)); 80b5a86: 697b ldr r3, [r7, #20] 80b5a88: f003 0303 and.w r3, r3, #3 80b5a8c: 009b lsls r3, r3, #2 80b5a8e: 220f movs r2, #15 80b5a90: fa02 f303 lsl.w r3, r2, r3 80b5a94: 60bb str r3, [r7, #8] SYSCFG->EXTICR[position >> 2] &= ~tmp; 80b5a96: 482e ldr r0, [pc, #184] ; (80b5b50 ) 80b5a98: 697b ldr r3, [r7, #20] 80b5a9a: 089b lsrs r3, r3, #2 80b5a9c: 492c ldr r1, [pc, #176] ; (80b5b50 ) 80b5a9e: 697a ldr r2, [r7, #20] 80b5aa0: 0892 lsrs r2, r2, #2 80b5aa2: 3202 adds r2, #2 80b5aa4: f851 1022 ldr.w r1, [r1, r2, lsl #2] 80b5aa8: 68ba ldr r2, [r7, #8] 80b5aaa: 43d2 mvns r2, r2 80b5aac: 400a ands r2, r1 80b5aae: 3302 adds r3, #2 80b5ab0: 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)); 80b5ab4: 687b ldr r3, [r7, #4] 80b5ab6: 681a ldr r2, [r3, #0] 80b5ab8: 697b ldr r3, [r7, #20] 80b5aba: 005b lsls r3, r3, #1 80b5abc: 2103 movs r1, #3 80b5abe: fa01 f303 lsl.w r3, r1, r3 80b5ac2: 43db mvns r3, r3 80b5ac4: 401a ands r2, r3 80b5ac6: 687b ldr r3, [r7, #4] 80b5ac8: 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)) ; 80b5aca: 697b ldr r3, [r7, #20] 80b5acc: 08da lsrs r2, r3, #3 80b5ace: 697b ldr r3, [r7, #20] 80b5ad0: 08d9 lsrs r1, r3, #3 80b5ad2: 687b ldr r3, [r7, #4] 80b5ad4: 3108 adds r1, #8 80b5ad6: f853 1021 ldr.w r1, [r3, r1, lsl #2] 80b5ada: 697b ldr r3, [r7, #20] 80b5adc: f003 0307 and.w r3, r3, #7 80b5ae0: 009b lsls r3, r3, #2 80b5ae2: 200f movs r0, #15 80b5ae4: fa00 f303 lsl.w r3, r0, r3 80b5ae8: 43db mvns r3, r3 80b5aea: 4019 ands r1, r3 80b5aec: 687b ldr r3, [r7, #4] 80b5aee: 3208 adds r2, #8 80b5af0: 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)); 80b5af4: 687b ldr r3, [r7, #4] 80b5af6: 68da ldr r2, [r3, #12] 80b5af8: 697b ldr r3, [r7, #20] 80b5afa: 005b lsls r3, r3, #1 80b5afc: 2103 movs r1, #3 80b5afe: fa01 f303 lsl.w r3, r1, r3 80b5b02: 43db mvns r3, r3 80b5b04: 401a ands r2, r3 80b5b06: 687b ldr r3, [r7, #4] 80b5b08: 60da str r2, [r3, #12] /* Configure the default value IO Output Type */ GPIOx->OTYPER &= ~(GPIO_OTYPER_OT_0 << position) ; 80b5b0a: 687b ldr r3, [r7, #4] 80b5b0c: 685a ldr r2, [r3, #4] 80b5b0e: 2101 movs r1, #1 80b5b10: 697b ldr r3, [r7, #20] 80b5b12: fa01 f303 lsl.w r3, r1, r3 80b5b16: 43db mvns r3, r3 80b5b18: 401a ands r2, r3 80b5b1a: 687b ldr r3, [r7, #4] 80b5b1c: 605a str r2, [r3, #4] /* Configure the default value for IO Speed */ GPIOx->OSPEEDR &= ~(GPIO_OSPEEDER_OSPEEDR0 << (position * 2)); 80b5b1e: 687b ldr r3, [r7, #4] 80b5b20: 689a ldr r2, [r3, #8] 80b5b22: 697b ldr r3, [r7, #20] 80b5b24: 005b lsls r3, r3, #1 80b5b26: 2103 movs r1, #3 80b5b28: fa01 f303 lsl.w r3, r1, r3 80b5b2c: 43db mvns r3, r3 80b5b2e: 401a ands r2, r3 80b5b30: 687b ldr r3, [r7, #4] 80b5b32: 609a str r2, [r3, #8] for(position = 0; position < GPIO_NUMBER; position++) 80b5b34: 697b ldr r3, [r7, #20] 80b5b36: 3301 adds r3, #1 80b5b38: 617b str r3, [r7, #20] 80b5b3a: 697b ldr r3, [r7, #20] 80b5b3c: 2b0f cmp r3, #15 80b5b3e: f67f af21 bls.w 80b5984 } } } 80b5b42: bf00 nop 80b5b44: 371c adds r7, #28 80b5b46: 46bd mov sp, r7 80b5b48: f85d 7b04 ldr.w r7, [sp], #4 80b5b4c: 4770 bx lr 80b5b4e: bf00 nop 80b5b50: 40013800 .word 0x40013800 80b5b54: 40020000 .word 0x40020000 80b5b58: 40020400 .word 0x40020400 80b5b5c: 40020800 .word 0x40020800 80b5b60: 40020c00 .word 0x40020c00 80b5b64: 40021000 .word 0x40021000 80b5b68: 40021400 .word 0x40021400 80b5b6c: 40021800 .word 0x40021800 80b5b70: 40021c00 .word 0x40021c00 80b5b74: 40022000 .word 0x40022000 80b5b78: 40022400 .word 0x40022400 80b5b7c: 40013c00 .word 0x40013c00 080b5b80 : * @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) { 80b5b80: b480 push {r7} 80b5b82: b085 sub sp, #20 80b5b84: af00 add r7, sp, #0 80b5b86: 6078 str r0, [r7, #4] 80b5b88: 460b mov r3, r1 80b5b8a: 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) 80b5b8c: 687b ldr r3, [r7, #4] 80b5b8e: 691a ldr r2, [r3, #16] 80b5b90: 887b ldrh r3, [r7, #2] 80b5b92: 4013 ands r3, r2 80b5b94: 2b00 cmp r3, #0 80b5b96: d002 beq.n 80b5b9e { bitstatus = GPIO_PIN_SET; 80b5b98: 2301 movs r3, #1 80b5b9a: 73fb strb r3, [r7, #15] 80b5b9c: e001 b.n 80b5ba2 } else { bitstatus = GPIO_PIN_RESET; 80b5b9e: 2300 movs r3, #0 80b5ba0: 73fb strb r3, [r7, #15] } return bitstatus; 80b5ba2: 7bfb ldrb r3, [r7, #15] } 80b5ba4: 4618 mov r0, r3 80b5ba6: 3714 adds r7, #20 80b5ba8: 46bd mov sp, r7 80b5baa: f85d 7b04 ldr.w r7, [sp], #4 80b5bae: 4770 bx lr 080b5bb0 : * @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) { 80b5bb0: b480 push {r7} 80b5bb2: b083 sub sp, #12 80b5bb4: af00 add r7, sp, #0 80b5bb6: 6078 str r0, [r7, #4] 80b5bb8: 460b mov r3, r1 80b5bba: 807b strh r3, [r7, #2] 80b5bbc: 4613 mov r3, r2 80b5bbe: 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) 80b5bc0: 787b ldrb r3, [r7, #1] 80b5bc2: 2b00 cmp r3, #0 80b5bc4: d003 beq.n 80b5bce { GPIOx->BSRR = GPIO_Pin; 80b5bc6: 887a ldrh r2, [r7, #2] 80b5bc8: 687b ldr r3, [r7, #4] 80b5bca: 619a str r2, [r3, #24] } else { GPIOx->BSRR = (uint32_t)GPIO_Pin << 16; } } 80b5bcc: e003 b.n 80b5bd6 GPIOx->BSRR = (uint32_t)GPIO_Pin << 16; 80b5bce: 887b ldrh r3, [r7, #2] 80b5bd0: 041a lsls r2, r3, #16 80b5bd2: 687b ldr r3, [r7, #4] 80b5bd4: 619a str r2, [r3, #24] } 80b5bd6: bf00 nop 80b5bd8: 370c adds r7, #12 80b5bda: 46bd mov sp, r7 80b5bdc: f85d 7b04 ldr.w r7, [sp], #4 80b5be0: 4770 bx lr ... 080b5be4 : * @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) { 80b5be4: b580 push {r7, lr} 80b5be6: b082 sub sp, #8 80b5be8: af00 add r7, sp, #0 80b5bea: 4603 mov r3, r0 80b5bec: 80fb strh r3, [r7, #6] /* EXTI line interrupt detected */ if(__HAL_GPIO_EXTI_GET_IT(GPIO_Pin) != RESET) 80b5bee: 4b08 ldr r3, [pc, #32] ; (80b5c10 ) 80b5bf0: 695a ldr r2, [r3, #20] 80b5bf2: 88fb ldrh r3, [r7, #6] 80b5bf4: 4013 ands r3, r2 80b5bf6: 2b00 cmp r3, #0 80b5bf8: d006 beq.n 80b5c08 { __HAL_GPIO_EXTI_CLEAR_IT(GPIO_Pin); 80b5bfa: 4a05 ldr r2, [pc, #20] ; (80b5c10 ) 80b5bfc: 88fb ldrh r3, [r7, #6] 80b5bfe: 6153 str r3, [r2, #20] HAL_GPIO_EXTI_Callback(GPIO_Pin); 80b5c00: 88fb ldrh r3, [r7, #6] 80b5c02: 4618 mov r0, r3 80b5c04: f7b2 f8ca bl 8067d9c } } 80b5c08: bf00 nop 80b5c0a: 3708 adds r7, #8 80b5c0c: 46bd mov sp, r7 80b5c0e: bd80 pop {r7, pc} 80b5c10: 40013c00 .word 0x40013c00 080b5c14 : * @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) { 80b5c14: b580 push {r7, lr} 80b5c16: b084 sub sp, #16 80b5c18: af00 add r7, sp, #0 80b5c1a: 6078 str r0, [r7, #4] uint32_t tmp, tmp1; /* Check the LTDC peripheral state */ if (hltdc == NULL) 80b5c1c: 687b ldr r3, [r7, #4] 80b5c1e: 2b00 cmp r3, #0 80b5c20: d101 bne.n 80b5c26 { return HAL_ERROR; 80b5c22: 2301 movs r3, #1 80b5c24: e0bf b.n 80b5da6 } /* Init the low level hardware */ hltdc->MspInitCallback(hltdc); } #else if (hltdc->State == HAL_LTDC_STATE_RESET) 80b5c26: 687b ldr r3, [r7, #4] 80b5c28: f893 30a1 ldrb.w r3, [r3, #161] ; 0xa1 80b5c2c: b2db uxtb r3, r3 80b5c2e: 2b00 cmp r3, #0 80b5c30: d106 bne.n 80b5c40 { /* Allocate lock resource and initialize it */ hltdc->Lock = HAL_UNLOCKED; 80b5c32: 687b ldr r3, [r7, #4] 80b5c34: 2200 movs r2, #0 80b5c36: f883 20a0 strb.w r2, [r3, #160] ; 0xa0 /* Init the low level hardware */ HAL_LTDC_MspInit(hltdc); 80b5c3a: 6878 ldr r0, [r7, #4] 80b5c3c: f79d fc50 bl 80534e0 } #endif /* USE_HAL_LTDC_REGISTER_CALLBACKS */ /* Change LTDC peripheral state */ hltdc->State = HAL_LTDC_STATE_BUSY; 80b5c40: 687b ldr r3, [r7, #4] 80b5c42: 2202 movs r2, #2 80b5c44: 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); 80b5c48: 687b ldr r3, [r7, #4] 80b5c4a: 681b ldr r3, [r3, #0] 80b5c4c: 687a ldr r2, [r7, #4] 80b5c4e: 6812 ldr r2, [r2, #0] 80b5c50: 6992 ldr r2, [r2, #24] 80b5c52: f022 4270 bic.w r2, r2, #4026531840 ; 0xf0000000 80b5c56: 619a str r2, [r3, #24] hltdc->Instance->GCR |= (uint32_t)(hltdc->Init.HSPolarity | hltdc->Init.VSPolarity | \ 80b5c58: 687b ldr r3, [r7, #4] 80b5c5a: 681b ldr r3, [r3, #0] 80b5c5c: 687a ldr r2, [r7, #4] 80b5c5e: 6812 ldr r2, [r2, #0] 80b5c60: 6991 ldr r1, [r2, #24] 80b5c62: 687a ldr r2, [r7, #4] 80b5c64: 6850 ldr r0, [r2, #4] 80b5c66: 687a ldr r2, [r7, #4] 80b5c68: 6892 ldr r2, [r2, #8] 80b5c6a: 4310 orrs r0, r2 hltdc->Init.DEPolarity | hltdc->Init.PCPolarity); 80b5c6c: 687a ldr r2, [r7, #4] 80b5c6e: 68d2 ldr r2, [r2, #12] hltdc->Instance->GCR |= (uint32_t)(hltdc->Init.HSPolarity | hltdc->Init.VSPolarity | \ 80b5c70: 4310 orrs r0, r2 hltdc->Init.DEPolarity | hltdc->Init.PCPolarity); 80b5c72: 687a ldr r2, [r7, #4] 80b5c74: 6912 ldr r2, [r2, #16] 80b5c76: 4302 orrs r2, r0 hltdc->Instance->GCR |= (uint32_t)(hltdc->Init.HSPolarity | hltdc->Init.VSPolarity | \ 80b5c78: 430a orrs r2, r1 80b5c7a: 619a str r2, [r3, #24] /* Set Synchronization size */ hltdc->Instance->SSCR &= ~(LTDC_SSCR_VSH | LTDC_SSCR_HSW); 80b5c7c: 687b ldr r3, [r7, #4] 80b5c7e: 681a ldr r2, [r3, #0] 80b5c80: 687b ldr r3, [r7, #4] 80b5c82: 681b ldr r3, [r3, #0] 80b5c84: 6899 ldr r1, [r3, #8] 80b5c86: 4b4a ldr r3, [pc, #296] ; (80b5db0 ) 80b5c88: 400b ands r3, r1 80b5c8a: 6093 str r3, [r2, #8] tmp = (hltdc->Init.HorizontalSync << 16U); 80b5c8c: 687b ldr r3, [r7, #4] 80b5c8e: 695b ldr r3, [r3, #20] 80b5c90: 041b lsls r3, r3, #16 80b5c92: 60fb str r3, [r7, #12] hltdc->Instance->SSCR |= (tmp | hltdc->Init.VerticalSync); 80b5c94: 687b ldr r3, [r7, #4] 80b5c96: 681b ldr r3, [r3, #0] 80b5c98: 687a ldr r2, [r7, #4] 80b5c9a: 6812 ldr r2, [r2, #0] 80b5c9c: 6891 ldr r1, [r2, #8] 80b5c9e: 687a ldr r2, [r7, #4] 80b5ca0: 6990 ldr r0, [r2, #24] 80b5ca2: 68fa ldr r2, [r7, #12] 80b5ca4: 4302 orrs r2, r0 80b5ca6: 430a orrs r2, r1 80b5ca8: 609a str r2, [r3, #8] /* Set Accumulated Back porch */ hltdc->Instance->BPCR &= ~(LTDC_BPCR_AVBP | LTDC_BPCR_AHBP); 80b5caa: 687b ldr r3, [r7, #4] 80b5cac: 681a ldr r2, [r3, #0] 80b5cae: 687b ldr r3, [r7, #4] 80b5cb0: 681b ldr r3, [r3, #0] 80b5cb2: 68d9 ldr r1, [r3, #12] 80b5cb4: 4b3e ldr r3, [pc, #248] ; (80b5db0 ) 80b5cb6: 400b ands r3, r1 80b5cb8: 60d3 str r3, [r2, #12] tmp = (hltdc->Init.AccumulatedHBP << 16U); 80b5cba: 687b ldr r3, [r7, #4] 80b5cbc: 69db ldr r3, [r3, #28] 80b5cbe: 041b lsls r3, r3, #16 80b5cc0: 60fb str r3, [r7, #12] hltdc->Instance->BPCR |= (tmp | hltdc->Init.AccumulatedVBP); 80b5cc2: 687b ldr r3, [r7, #4] 80b5cc4: 681b ldr r3, [r3, #0] 80b5cc6: 687a ldr r2, [r7, #4] 80b5cc8: 6812 ldr r2, [r2, #0] 80b5cca: 68d1 ldr r1, [r2, #12] 80b5ccc: 687a ldr r2, [r7, #4] 80b5cce: 6a10 ldr r0, [r2, #32] 80b5cd0: 68fa ldr r2, [r7, #12] 80b5cd2: 4302 orrs r2, r0 80b5cd4: 430a orrs r2, r1 80b5cd6: 60da str r2, [r3, #12] /* Set Accumulated Active Width */ hltdc->Instance->AWCR &= ~(LTDC_AWCR_AAH | LTDC_AWCR_AAW); 80b5cd8: 687b ldr r3, [r7, #4] 80b5cda: 681a ldr r2, [r3, #0] 80b5cdc: 687b ldr r3, [r7, #4] 80b5cde: 681b ldr r3, [r3, #0] 80b5ce0: 6919 ldr r1, [r3, #16] 80b5ce2: 4b33 ldr r3, [pc, #204] ; (80b5db0 ) 80b5ce4: 400b ands r3, r1 80b5ce6: 6113 str r3, [r2, #16] tmp = (hltdc->Init.AccumulatedActiveW << 16U); 80b5ce8: 687b ldr r3, [r7, #4] 80b5cea: 6a5b ldr r3, [r3, #36] ; 0x24 80b5cec: 041b lsls r3, r3, #16 80b5cee: 60fb str r3, [r7, #12] hltdc->Instance->AWCR |= (tmp | hltdc->Init.AccumulatedActiveH); 80b5cf0: 687b ldr r3, [r7, #4] 80b5cf2: 681b ldr r3, [r3, #0] 80b5cf4: 687a ldr r2, [r7, #4] 80b5cf6: 6812 ldr r2, [r2, #0] 80b5cf8: 6911 ldr r1, [r2, #16] 80b5cfa: 687a ldr r2, [r7, #4] 80b5cfc: 6a90 ldr r0, [r2, #40] ; 0x28 80b5cfe: 68fa ldr r2, [r7, #12] 80b5d00: 4302 orrs r2, r0 80b5d02: 430a orrs r2, r1 80b5d04: 611a str r2, [r3, #16] /* Set Total Width */ hltdc->Instance->TWCR &= ~(LTDC_TWCR_TOTALH | LTDC_TWCR_TOTALW); 80b5d06: 687b ldr r3, [r7, #4] 80b5d08: 681a ldr r2, [r3, #0] 80b5d0a: 687b ldr r3, [r7, #4] 80b5d0c: 681b ldr r3, [r3, #0] 80b5d0e: 6959 ldr r1, [r3, #20] 80b5d10: 4b27 ldr r3, [pc, #156] ; (80b5db0 ) 80b5d12: 400b ands r3, r1 80b5d14: 6153 str r3, [r2, #20] tmp = (hltdc->Init.TotalWidth << 16U); 80b5d16: 687b ldr r3, [r7, #4] 80b5d18: 6adb ldr r3, [r3, #44] ; 0x2c 80b5d1a: 041b lsls r3, r3, #16 80b5d1c: 60fb str r3, [r7, #12] hltdc->Instance->TWCR |= (tmp | hltdc->Init.TotalHeigh); 80b5d1e: 687b ldr r3, [r7, #4] 80b5d20: 681b ldr r3, [r3, #0] 80b5d22: 687a ldr r2, [r7, #4] 80b5d24: 6812 ldr r2, [r2, #0] 80b5d26: 6951 ldr r1, [r2, #20] 80b5d28: 687a ldr r2, [r7, #4] 80b5d2a: 6b10 ldr r0, [r2, #48] ; 0x30 80b5d2c: 68fa ldr r2, [r7, #12] 80b5d2e: 4302 orrs r2, r0 80b5d30: 430a orrs r2, r1 80b5d32: 615a str r2, [r3, #20] /* Set the background color value */ tmp = ((uint32_t)(hltdc->Init.Backcolor.Green) << 8U); 80b5d34: 687b ldr r3, [r7, #4] 80b5d36: f893 3035 ldrb.w r3, [r3, #53] ; 0x35 80b5d3a: 021b lsls r3, r3, #8 80b5d3c: 60fb str r3, [r7, #12] tmp1 = ((uint32_t)(hltdc->Init.Backcolor.Red) << 16U); 80b5d3e: 687b ldr r3, [r7, #4] 80b5d40: f893 3036 ldrb.w r3, [r3, #54] ; 0x36 80b5d44: 041b lsls r3, r3, #16 80b5d46: 60bb str r3, [r7, #8] hltdc->Instance->BCCR &= ~(LTDC_BCCR_BCBLUE | LTDC_BCCR_BCGREEN | LTDC_BCCR_BCRED); 80b5d48: 687b ldr r3, [r7, #4] 80b5d4a: 681b ldr r3, [r3, #0] 80b5d4c: 687a ldr r2, [r7, #4] 80b5d4e: 6812 ldr r2, [r2, #0] 80b5d50: 6ad2 ldr r2, [r2, #44] ; 0x2c 80b5d52: f002 427f and.w r2, r2, #4278190080 ; 0xff000000 80b5d56: 62da str r2, [r3, #44] ; 0x2c hltdc->Instance->BCCR |= (tmp1 | tmp | hltdc->Init.Backcolor.Blue); 80b5d58: 687b ldr r3, [r7, #4] 80b5d5a: 681b ldr r3, [r3, #0] 80b5d5c: 687a ldr r2, [r7, #4] 80b5d5e: 6812 ldr r2, [r2, #0] 80b5d60: 6ad1 ldr r1, [r2, #44] ; 0x2c 80b5d62: 68b8 ldr r0, [r7, #8] 80b5d64: 68fa ldr r2, [r7, #12] 80b5d66: 4302 orrs r2, r0 80b5d68: 6878 ldr r0, [r7, #4] 80b5d6a: f890 0034 ldrb.w r0, [r0, #52] ; 0x34 80b5d6e: 4302 orrs r2, r0 80b5d70: 430a orrs r2, r1 80b5d72: 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); 80b5d74: 687b ldr r3, [r7, #4] 80b5d76: 681b ldr r3, [r3, #0] 80b5d78: 687a ldr r2, [r7, #4] 80b5d7a: 6812 ldr r2, [r2, #0] 80b5d7c: 6b52 ldr r2, [r2, #52] ; 0x34 80b5d7e: f042 0206 orr.w r2, r2, #6 80b5d82: 635a str r2, [r3, #52] ; 0x34 /* Enable LTDC by setting LTDCEN bit */ __HAL_LTDC_ENABLE(hltdc); 80b5d84: 687b ldr r3, [r7, #4] 80b5d86: 681b ldr r3, [r3, #0] 80b5d88: 687a ldr r2, [r7, #4] 80b5d8a: 6812 ldr r2, [r2, #0] 80b5d8c: 6992 ldr r2, [r2, #24] 80b5d8e: f042 0201 orr.w r2, r2, #1 80b5d92: 619a str r2, [r3, #24] /* Initialize the error code */ hltdc->ErrorCode = HAL_LTDC_ERROR_NONE; 80b5d94: 687b ldr r3, [r7, #4] 80b5d96: 2200 movs r2, #0 80b5d98: f8c3 20a4 str.w r2, [r3, #164] ; 0xa4 /* Initialize the LTDC state*/ hltdc->State = HAL_LTDC_STATE_READY; 80b5d9c: 687b ldr r3, [r7, #4] 80b5d9e: 2201 movs r2, #1 80b5da0: f883 20a1 strb.w r2, [r3, #161] ; 0xa1 return HAL_OK; 80b5da4: 2300 movs r3, #0 } 80b5da6: 4618 mov r0, r3 80b5da8: 3710 adds r7, #16 80b5daa: 46bd mov sp, r7 80b5dac: bd80 pop {r7, pc} 80b5dae: bf00 nop 80b5db0: f000f800 .word 0xf000f800 080b5db4 : * @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) { 80b5db4: b580 push {r7, lr} 80b5db6: b084 sub sp, #16 80b5db8: af00 add r7, sp, #0 80b5dba: 6078 str r0, [r7, #4] uint32_t isrflags = READ_REG(hltdc->Instance->ISR); 80b5dbc: 687b ldr r3, [r7, #4] 80b5dbe: 681b ldr r3, [r3, #0] 80b5dc0: 6b9b ldr r3, [r3, #56] ; 0x38 80b5dc2: 60fb str r3, [r7, #12] uint32_t itsources = READ_REG(hltdc->Instance->IER); 80b5dc4: 687b ldr r3, [r7, #4] 80b5dc6: 681b ldr r3, [r3, #0] 80b5dc8: 6b5b ldr r3, [r3, #52] ; 0x34 80b5dca: 60bb str r3, [r7, #8] /* Transfer Error Interrupt management ***************************************/ if (((isrflags & LTDC_ISR_TERRIF) != 0U) && ((itsources & LTDC_IER_TERRIE) != 0U)) 80b5dcc: 68fb ldr r3, [r7, #12] 80b5dce: f003 0304 and.w r3, r3, #4 80b5dd2: 2b00 cmp r3, #0 80b5dd4: d023 beq.n 80b5e1e 80b5dd6: 68bb ldr r3, [r7, #8] 80b5dd8: f003 0304 and.w r3, r3, #4 80b5ddc: 2b00 cmp r3, #0 80b5dde: d01e beq.n 80b5e1e { /* Disable the transfer Error interrupt */ __HAL_LTDC_DISABLE_IT(hltdc, LTDC_IT_TE); 80b5de0: 687b ldr r3, [r7, #4] 80b5de2: 681b ldr r3, [r3, #0] 80b5de4: 687a ldr r2, [r7, #4] 80b5de6: 6812 ldr r2, [r2, #0] 80b5de8: 6b52 ldr r2, [r2, #52] ; 0x34 80b5dea: f022 0204 bic.w r2, r2, #4 80b5dee: 635a str r2, [r3, #52] ; 0x34 /* Clear the transfer error flag */ __HAL_LTDC_CLEAR_FLAG(hltdc, LTDC_FLAG_TE); 80b5df0: 687b ldr r3, [r7, #4] 80b5df2: 681b ldr r3, [r3, #0] 80b5df4: 2204 movs r2, #4 80b5df6: 63da str r2, [r3, #60] ; 0x3c /* Update error code */ hltdc->ErrorCode |= HAL_LTDC_ERROR_TE; 80b5df8: 687b ldr r3, [r7, #4] 80b5dfa: f8d3 30a4 ldr.w r3, [r3, #164] ; 0xa4 80b5dfe: f043 0201 orr.w r2, r3, #1 80b5e02: 687b ldr r3, [r7, #4] 80b5e04: f8c3 20a4 str.w r2, [r3, #164] ; 0xa4 /* Change LTDC state */ hltdc->State = HAL_LTDC_STATE_ERROR; 80b5e08: 687b ldr r3, [r7, #4] 80b5e0a: 2204 movs r2, #4 80b5e0c: f883 20a1 strb.w r2, [r3, #161] ; 0xa1 /* Process unlocked */ __HAL_UNLOCK(hltdc); 80b5e10: 687b ldr r3, [r7, #4] 80b5e12: 2200 movs r2, #0 80b5e14: 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); 80b5e18: 6878 ldr r0, [r7, #4] 80b5e1a: f000 f86f bl 80b5efc #endif /* USE_HAL_LTDC_REGISTER_CALLBACKS */ } /* FIFO underrun Interrupt management ***************************************/ if (((isrflags & LTDC_ISR_FUIF) != 0U) && ((itsources & LTDC_IER_FUIE) != 0U)) 80b5e1e: 68fb ldr r3, [r7, #12] 80b5e20: f003 0302 and.w r3, r3, #2 80b5e24: 2b00 cmp r3, #0 80b5e26: d023 beq.n 80b5e70 80b5e28: 68bb ldr r3, [r7, #8] 80b5e2a: f003 0302 and.w r3, r3, #2 80b5e2e: 2b00 cmp r3, #0 80b5e30: d01e beq.n 80b5e70 { /* Disable the FIFO underrun interrupt */ __HAL_LTDC_DISABLE_IT(hltdc, LTDC_IT_FU); 80b5e32: 687b ldr r3, [r7, #4] 80b5e34: 681b ldr r3, [r3, #0] 80b5e36: 687a ldr r2, [r7, #4] 80b5e38: 6812 ldr r2, [r2, #0] 80b5e3a: 6b52 ldr r2, [r2, #52] ; 0x34 80b5e3c: f022 0202 bic.w r2, r2, #2 80b5e40: 635a str r2, [r3, #52] ; 0x34 /* Clear the FIFO underrun flag */ __HAL_LTDC_CLEAR_FLAG(hltdc, LTDC_FLAG_FU); 80b5e42: 687b ldr r3, [r7, #4] 80b5e44: 681b ldr r3, [r3, #0] 80b5e46: 2202 movs r2, #2 80b5e48: 63da str r2, [r3, #60] ; 0x3c /* Update error code */ hltdc->ErrorCode |= HAL_LTDC_ERROR_FU; 80b5e4a: 687b ldr r3, [r7, #4] 80b5e4c: f8d3 30a4 ldr.w r3, [r3, #164] ; 0xa4 80b5e50: f043 0202 orr.w r2, r3, #2 80b5e54: 687b ldr r3, [r7, #4] 80b5e56: f8c3 20a4 str.w r2, [r3, #164] ; 0xa4 /* Change LTDC state */ hltdc->State = HAL_LTDC_STATE_ERROR; 80b5e5a: 687b ldr r3, [r7, #4] 80b5e5c: 2204 movs r2, #4 80b5e5e: f883 20a1 strb.w r2, [r3, #161] ; 0xa1 /* Process unlocked */ __HAL_UNLOCK(hltdc); 80b5e62: 687b ldr r3, [r7, #4] 80b5e64: 2200 movs r2, #0 80b5e66: 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); 80b5e6a: 6878 ldr r0, [r7, #4] 80b5e6c: f000 f846 bl 80b5efc #endif /* USE_HAL_LTDC_REGISTER_CALLBACKS */ } /* Line Interrupt management ************************************************/ if (((isrflags & LTDC_ISR_LIF) != 0U) && ((itsources & LTDC_IER_LIE) != 0U)) 80b5e70: 68fb ldr r3, [r7, #12] 80b5e72: f003 0301 and.w r3, r3, #1 80b5e76: 2b00 cmp r3, #0 80b5e78: d01b beq.n 80b5eb2 80b5e7a: 68bb ldr r3, [r7, #8] 80b5e7c: f003 0301 and.w r3, r3, #1 80b5e80: 2b00 cmp r3, #0 80b5e82: d016 beq.n 80b5eb2 { /* Disable the Line interrupt */ __HAL_LTDC_DISABLE_IT(hltdc, LTDC_IT_LI); 80b5e84: 687b ldr r3, [r7, #4] 80b5e86: 681b ldr r3, [r3, #0] 80b5e88: 687a ldr r2, [r7, #4] 80b5e8a: 6812 ldr r2, [r2, #0] 80b5e8c: 6b52 ldr r2, [r2, #52] ; 0x34 80b5e8e: f022 0201 bic.w r2, r2, #1 80b5e92: 635a str r2, [r3, #52] ; 0x34 /* Clear the Line interrupt flag */ __HAL_LTDC_CLEAR_FLAG(hltdc, LTDC_FLAG_LI); 80b5e94: 687b ldr r3, [r7, #4] 80b5e96: 681b ldr r3, [r3, #0] 80b5e98: 2201 movs r2, #1 80b5e9a: 63da str r2, [r3, #60] ; 0x3c /* Change LTDC state */ hltdc->State = HAL_LTDC_STATE_READY; 80b5e9c: 687b ldr r3, [r7, #4] 80b5e9e: 2201 movs r2, #1 80b5ea0: f883 20a1 strb.w r2, [r3, #161] ; 0xa1 /* Process unlocked */ __HAL_UNLOCK(hltdc); 80b5ea4: 687b ldr r3, [r7, #4] 80b5ea6: 2200 movs r2, #0 80b5ea8: 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); 80b5eac: 6878 ldr r0, [r7, #4] 80b5eae: f79e fc47 bl 8054740 #endif /* USE_HAL_LTDC_REGISTER_CALLBACKS */ } /* Register reload Interrupt management ***************************************/ if (((isrflags & LTDC_ISR_RRIF) != 0U) && ((itsources & LTDC_IER_RRIE) != 0U)) 80b5eb2: 68fb ldr r3, [r7, #12] 80b5eb4: f003 0308 and.w r3, r3, #8 80b5eb8: 2b00 cmp r3, #0 80b5eba: d01b beq.n 80b5ef4 80b5ebc: 68bb ldr r3, [r7, #8] 80b5ebe: f003 0308 and.w r3, r3, #8 80b5ec2: 2b00 cmp r3, #0 80b5ec4: d016 beq.n 80b5ef4 { /* Disable the register reload interrupt */ __HAL_LTDC_DISABLE_IT(hltdc, LTDC_IT_RR); 80b5ec6: 687b ldr r3, [r7, #4] 80b5ec8: 681b ldr r3, [r3, #0] 80b5eca: 687a ldr r2, [r7, #4] 80b5ecc: 6812 ldr r2, [r2, #0] 80b5ece: 6b52 ldr r2, [r2, #52] ; 0x34 80b5ed0: f022 0208 bic.w r2, r2, #8 80b5ed4: 635a str r2, [r3, #52] ; 0x34 /* Clear the register reload flag */ __HAL_LTDC_CLEAR_FLAG(hltdc, LTDC_FLAG_RR); 80b5ed6: 687b ldr r3, [r7, #4] 80b5ed8: 681b ldr r3, [r3, #0] 80b5eda: 2208 movs r2, #8 80b5edc: 63da str r2, [r3, #60] ; 0x3c /* Change LTDC state */ hltdc->State = HAL_LTDC_STATE_READY; 80b5ede: 687b ldr r3, [r7, #4] 80b5ee0: 2201 movs r2, #1 80b5ee2: f883 20a1 strb.w r2, [r3, #161] ; 0xa1 /* Process unlocked */ __HAL_UNLOCK(hltdc); 80b5ee6: 687b ldr r3, [r7, #4] 80b5ee8: 2200 movs r2, #0 80b5eea: 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); 80b5eee: 6878 ldr r0, [r7, #4] 80b5ef0: f000 f80e bl 80b5f10 #endif /* USE_HAL_LTDC_REGISTER_CALLBACKS */ } } 80b5ef4: bf00 nop 80b5ef6: 3710 adds r7, #16 80b5ef8: 46bd mov sp, r7 80b5efa: bd80 pop {r7, pc} 080b5efc : * @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) { 80b5efc: b480 push {r7} 80b5efe: b083 sub sp, #12 80b5f00: af00 add r7, sp, #0 80b5f02: 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 */ } 80b5f04: bf00 nop 80b5f06: 370c adds r7, #12 80b5f08: 46bd mov sp, r7 80b5f0a: f85d 7b04 ldr.w r7, [sp], #4 80b5f0e: 4770 bx lr 080b5f10 : * @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) { 80b5f10: b480 push {r7} 80b5f12: b083 sub sp, #12 80b5f14: af00 add r7, sp, #0 80b5f16: 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 */ } 80b5f18: bf00 nop 80b5f1a: 370c adds r7, #12 80b5f1c: 46bd mov sp, r7 80b5f1e: f85d 7b04 ldr.w r7, [sp], #4 80b5f22: 4770 bx lr 080b5f24 : * 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) { 80b5f24: b5b0 push {r4, r5, r7, lr} 80b5f26: b084 sub sp, #16 80b5f28: af00 add r7, sp, #0 80b5f2a: 60f8 str r0, [r7, #12] 80b5f2c: 60b9 str r1, [r7, #8] 80b5f2e: 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); 80b5f30: 68fb ldr r3, [r7, #12] 80b5f32: f893 30a0 ldrb.w r3, [r3, #160] ; 0xa0 80b5f36: 2b01 cmp r3, #1 80b5f38: d101 bne.n 80b5f3e 80b5f3a: 2302 movs r3, #2 80b5f3c: e02c b.n 80b5f98 80b5f3e: 68fb ldr r3, [r7, #12] 80b5f40: 2201 movs r2, #1 80b5f42: f883 20a0 strb.w r2, [r3, #160] ; 0xa0 /* Change LTDC peripheral state */ hltdc->State = HAL_LTDC_STATE_BUSY; 80b5f46: 68fb ldr r3, [r7, #12] 80b5f48: 2202 movs r2, #2 80b5f4a: f883 20a1 strb.w r2, [r3, #161] ; 0xa1 /* Copy new layer configuration into handle structure */ hltdc->LayerCfg[LayerIdx] = *pLayerCfg; 80b5f4e: 68fa ldr r2, [r7, #12] 80b5f50: 687b ldr r3, [r7, #4] 80b5f52: 2134 movs r1, #52 ; 0x34 80b5f54: fb01 f303 mul.w r3, r1, r3 80b5f58: 4413 add r3, r2 80b5f5a: f103 0238 add.w r2, r3, #56 ; 0x38 80b5f5e: 68bb ldr r3, [r7, #8] 80b5f60: 4614 mov r4, r2 80b5f62: 461d mov r5, r3 80b5f64: cd0f ldmia r5!, {r0, r1, r2, r3} 80b5f66: c40f stmia r4!, {r0, r1, r2, r3} 80b5f68: cd0f ldmia r5!, {r0, r1, r2, r3} 80b5f6a: c40f stmia r4!, {r0, r1, r2, r3} 80b5f6c: cd0f ldmia r5!, {r0, r1, r2, r3} 80b5f6e: c40f stmia r4!, {r0, r1, r2, r3} 80b5f70: 682b ldr r3, [r5, #0] 80b5f72: 6023 str r3, [r4, #0] /* Configure the LTDC Layer */ LTDC_SetConfig(hltdc, pLayerCfg, LayerIdx); 80b5f74: 687a ldr r2, [r7, #4] 80b5f76: 68b9 ldr r1, [r7, #8] 80b5f78: 68f8 ldr r0, [r7, #12] 80b5f7a: f000 f879 bl 80b6070 /* Set the Immediate Reload type */ hltdc->Instance->SRCR = LTDC_SRCR_IMR; 80b5f7e: 68fb ldr r3, [r7, #12] 80b5f80: 681b ldr r3, [r3, #0] 80b5f82: 2201 movs r2, #1 80b5f84: 625a str r2, [r3, #36] ; 0x24 /* Initialize the LTDC state*/ hltdc->State = HAL_LTDC_STATE_READY; 80b5f86: 68fb ldr r3, [r7, #12] 80b5f88: 2201 movs r2, #1 80b5f8a: f883 20a1 strb.w r2, [r3, #161] ; 0xa1 /* Process unlocked */ __HAL_UNLOCK(hltdc); 80b5f8e: 68fb ldr r3, [r7, #12] 80b5f90: 2200 movs r2, #0 80b5f92: f883 20a0 strb.w r2, [r3, #160] ; 0xa0 return HAL_OK; 80b5f96: 2300 movs r3, #0 } 80b5f98: 4618 mov r0, r3 80b5f9a: 3710 adds r7, #16 80b5f9c: 46bd mov sp, r7 80b5f9e: bdb0 pop {r4, r5, r7, pc} 080b5fa0 : * @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) { 80b5fa0: b480 push {r7} 80b5fa2: b083 sub sp, #12 80b5fa4: af00 add r7, sp, #0 80b5fa6: 6078 str r0, [r7, #4] 80b5fa8: 6039 str r1, [r7, #0] /* Check the parameters */ assert_param(IS_LTDC_LIPOS(Line)); /* Process locked */ __HAL_LOCK(hltdc); 80b5faa: 687b ldr r3, [r7, #4] 80b5fac: f893 30a0 ldrb.w r3, [r3, #160] ; 0xa0 80b5fb0: 2b01 cmp r3, #1 80b5fb2: d101 bne.n 80b5fb8 80b5fb4: 2302 movs r3, #2 80b5fb6: e023 b.n 80b6000 80b5fb8: 687b ldr r3, [r7, #4] 80b5fba: 2201 movs r2, #1 80b5fbc: f883 20a0 strb.w r2, [r3, #160] ; 0xa0 /* Change LTDC peripheral state */ hltdc->State = HAL_LTDC_STATE_BUSY; 80b5fc0: 687b ldr r3, [r7, #4] 80b5fc2: 2202 movs r2, #2 80b5fc4: f883 20a1 strb.w r2, [r3, #161] ; 0xa1 /* Disable the Line interrupt */ __HAL_LTDC_DISABLE_IT(hltdc, LTDC_IT_LI); 80b5fc8: 687b ldr r3, [r7, #4] 80b5fca: 681b ldr r3, [r3, #0] 80b5fcc: 687a ldr r2, [r7, #4] 80b5fce: 6812 ldr r2, [r2, #0] 80b5fd0: 6b52 ldr r2, [r2, #52] ; 0x34 80b5fd2: f022 0201 bic.w r2, r2, #1 80b5fd6: 635a str r2, [r3, #52] ; 0x34 /* Set the Line Interrupt position */ LTDC->LIPCR = (uint32_t)Line; 80b5fd8: 4a0c ldr r2, [pc, #48] ; (80b600c ) 80b5fda: 683b ldr r3, [r7, #0] 80b5fdc: 6413 str r3, [r2, #64] ; 0x40 /* Enable the Line interrupt */ __HAL_LTDC_ENABLE_IT(hltdc, LTDC_IT_LI); 80b5fde: 687b ldr r3, [r7, #4] 80b5fe0: 681b ldr r3, [r3, #0] 80b5fe2: 687a ldr r2, [r7, #4] 80b5fe4: 6812 ldr r2, [r2, #0] 80b5fe6: 6b52 ldr r2, [r2, #52] ; 0x34 80b5fe8: f042 0201 orr.w r2, r2, #1 80b5fec: 635a str r2, [r3, #52] ; 0x34 /* Change the LTDC state*/ hltdc->State = HAL_LTDC_STATE_READY; 80b5fee: 687b ldr r3, [r7, #4] 80b5ff0: 2201 movs r2, #1 80b5ff2: f883 20a1 strb.w r2, [r3, #161] ; 0xa1 /* Process unlocked */ __HAL_UNLOCK(hltdc); 80b5ff6: 687b ldr r3, [r7, #4] 80b5ff8: 2200 movs r2, #0 80b5ffa: f883 20a0 strb.w r2, [r3, #160] ; 0xa0 return HAL_OK; 80b5ffe: 2300 movs r3, #0 } 80b6000: 4618 mov r0, r3 80b6002: 370c adds r7, #12 80b6004: 46bd mov sp, r7 80b6006: f85d 7b04 ldr.w r7, [sp], #4 80b600a: 4770 bx lr 80b600c: 40016800 .word 0x40016800 080b6010 : * 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) { 80b6010: b480 push {r7} 80b6012: b083 sub sp, #12 80b6014: af00 add r7, sp, #0 80b6016: 6078 str r0, [r7, #4] 80b6018: 6039 str r1, [r7, #0] /* Check the parameters */ assert_param(IS_LTDC_RELOAD(ReloadType)); /* Process locked */ __HAL_LOCK(hltdc); 80b601a: 687b ldr r3, [r7, #4] 80b601c: f893 30a0 ldrb.w r3, [r3, #160] ; 0xa0 80b6020: 2b01 cmp r3, #1 80b6022: d101 bne.n 80b6028 80b6024: 2302 movs r3, #2 80b6026: e01c b.n 80b6062 80b6028: 687b ldr r3, [r7, #4] 80b602a: 2201 movs r2, #1 80b602c: f883 20a0 strb.w r2, [r3, #160] ; 0xa0 /* Change LTDC peripheral state */ hltdc->State = HAL_LTDC_STATE_BUSY; 80b6030: 687b ldr r3, [r7, #4] 80b6032: 2202 movs r2, #2 80b6034: f883 20a1 strb.w r2, [r3, #161] ; 0xa1 /* Enable the Reload interrupt */ __HAL_LTDC_ENABLE_IT(hltdc, LTDC_IT_RR); 80b6038: 687b ldr r3, [r7, #4] 80b603a: 681b ldr r3, [r3, #0] 80b603c: 687a ldr r2, [r7, #4] 80b603e: 6812 ldr r2, [r2, #0] 80b6040: 6b52 ldr r2, [r2, #52] ; 0x34 80b6042: f042 0208 orr.w r2, r2, #8 80b6046: 635a str r2, [r3, #52] ; 0x34 /* Apply Reload type */ hltdc->Instance->SRCR = ReloadType; 80b6048: 687b ldr r3, [r7, #4] 80b604a: 681b ldr r3, [r3, #0] 80b604c: 683a ldr r2, [r7, #0] 80b604e: 625a str r2, [r3, #36] ; 0x24 /* Change the LTDC state*/ hltdc->State = HAL_LTDC_STATE_READY; 80b6050: 687b ldr r3, [r7, #4] 80b6052: 2201 movs r2, #1 80b6054: f883 20a1 strb.w r2, [r3, #161] ; 0xa1 /* Process unlocked */ __HAL_UNLOCK(hltdc); 80b6058: 687b ldr r3, [r7, #4] 80b605a: 2200 movs r2, #0 80b605c: f883 20a0 strb.w r2, [r3, #160] ; 0xa0 return HAL_OK; 80b6060: 2300 movs r3, #0 } 80b6062: 4618 mov r0, r3 80b6064: 370c adds r7, #12 80b6066: 46bd mov sp, r7 80b6068: f85d 7b04 ldr.w r7, [sp], #4 80b606c: 4770 bx lr ... 080b6070 : * @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) { 80b6070: b480 push {r7} 80b6072: b089 sub sp, #36 ; 0x24 80b6074: af00 add r7, sp, #0 80b6076: 60f8 str r0, [r7, #12] 80b6078: 60b9 str r1, [r7, #8] 80b607a: 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); 80b607c: 68bb ldr r3, [r7, #8] 80b607e: 685a ldr r2, [r3, #4] 80b6080: 68fb ldr r3, [r7, #12] 80b6082: 681b ldr r3, [r3, #0] 80b6084: 68db ldr r3, [r3, #12] 80b6086: 0c1b lsrs r3, r3, #16 80b6088: f3c3 030b ubfx r3, r3, #0, #12 80b608c: 4413 add r3, r2 80b608e: 041b lsls r3, r3, #16 80b6090: 61fb str r3, [r7, #28] LTDC_LAYER(hltdc, LayerIdx)->WHPCR &= ~(LTDC_LxWHPCR_WHSTPOS | LTDC_LxWHPCR_WHSPPOS); 80b6092: 68fb ldr r3, [r7, #12] 80b6094: 681b ldr r3, [r3, #0] 80b6096: 461a mov r2, r3 80b6098: 687b ldr r3, [r7, #4] 80b609a: 01db lsls r3, r3, #7 80b609c: 4413 add r3, r2 80b609e: 3384 adds r3, #132 ; 0x84 80b60a0: 461a mov r2, r3 80b60a2: 68fb ldr r3, [r7, #12] 80b60a4: 681b ldr r3, [r3, #0] 80b60a6: 4619 mov r1, r3 80b60a8: 687b ldr r3, [r7, #4] 80b60aa: 01db lsls r3, r3, #7 80b60ac: 440b add r3, r1 80b60ae: 3384 adds r3, #132 ; 0x84 80b60b0: 685b ldr r3, [r3, #4] 80b60b2: f403 4370 and.w r3, r3, #61440 ; 0xf000 80b60b6: 6053 str r3, [r2, #4] LTDC_LAYER(hltdc, LayerIdx)->WHPCR = ((pLayerCfg->WindowX0 + ((hltdc->Instance->BPCR & LTDC_BPCR_AHBP) >> 16U) + 1U) | tmp); 80b60b8: 68fb ldr r3, [r7, #12] 80b60ba: 681b ldr r3, [r3, #0] 80b60bc: 461a mov r2, r3 80b60be: 687b ldr r3, [r7, #4] 80b60c0: 01db lsls r3, r3, #7 80b60c2: 4413 add r3, r2 80b60c4: 3384 adds r3, #132 ; 0x84 80b60c6: 4619 mov r1, r3 80b60c8: 68bb ldr r3, [r7, #8] 80b60ca: 681a ldr r2, [r3, #0] 80b60cc: 68fb ldr r3, [r7, #12] 80b60ce: 681b ldr r3, [r3, #0] 80b60d0: 68db ldr r3, [r3, #12] 80b60d2: 0c1b lsrs r3, r3, #16 80b60d4: f3c3 030b ubfx r3, r3, #0, #12 80b60d8: 4413 add r3, r2 80b60da: 1c5a adds r2, r3, #1 80b60dc: 69fb ldr r3, [r7, #28] 80b60de: 4313 orrs r3, r2 80b60e0: 604b str r3, [r1, #4] /* Configure the vertical start and stop position */ tmp = ((pLayerCfg->WindowY1 + (hltdc->Instance->BPCR & LTDC_BPCR_AVBP)) << 16U); 80b60e2: 68bb ldr r3, [r7, #8] 80b60e4: 68da ldr r2, [r3, #12] 80b60e6: 68fb ldr r3, [r7, #12] 80b60e8: 681b ldr r3, [r3, #0] 80b60ea: 68db ldr r3, [r3, #12] 80b60ec: f3c3 030a ubfx r3, r3, #0, #11 80b60f0: 4413 add r3, r2 80b60f2: 041b lsls r3, r3, #16 80b60f4: 61fb str r3, [r7, #28] LTDC_LAYER(hltdc, LayerIdx)->WVPCR &= ~(LTDC_LxWVPCR_WVSTPOS | LTDC_LxWVPCR_WVSPPOS); 80b60f6: 68fb ldr r3, [r7, #12] 80b60f8: 681b ldr r3, [r3, #0] 80b60fa: 461a mov r2, r3 80b60fc: 687b ldr r3, [r7, #4] 80b60fe: 01db lsls r3, r3, #7 80b6100: 4413 add r3, r2 80b6102: 3384 adds r3, #132 ; 0x84 80b6104: 461a mov r2, r3 80b6106: 68fb ldr r3, [r7, #12] 80b6108: 681b ldr r3, [r3, #0] 80b610a: 4619 mov r1, r3 80b610c: 687b ldr r3, [r7, #4] 80b610e: 01db lsls r3, r3, #7 80b6110: 440b add r3, r1 80b6112: 3384 adds r3, #132 ; 0x84 80b6114: 689b ldr r3, [r3, #8] 80b6116: f403 4370 and.w r3, r3, #61440 ; 0xf000 80b611a: 6093 str r3, [r2, #8] LTDC_LAYER(hltdc, LayerIdx)->WVPCR = ((pLayerCfg->WindowY0 + (hltdc->Instance->BPCR & LTDC_BPCR_AVBP) + 1U) | tmp); 80b611c: 68fb ldr r3, [r7, #12] 80b611e: 681b ldr r3, [r3, #0] 80b6120: 461a mov r2, r3 80b6122: 687b ldr r3, [r7, #4] 80b6124: 01db lsls r3, r3, #7 80b6126: 4413 add r3, r2 80b6128: 3384 adds r3, #132 ; 0x84 80b612a: 4619 mov r1, r3 80b612c: 68bb ldr r3, [r7, #8] 80b612e: 689a ldr r2, [r3, #8] 80b6130: 68fb ldr r3, [r7, #12] 80b6132: 681b ldr r3, [r3, #0] 80b6134: 68db ldr r3, [r3, #12] 80b6136: f3c3 030a ubfx r3, r3, #0, #11 80b613a: 4413 add r3, r2 80b613c: 1c5a adds r2, r3, #1 80b613e: 69fb ldr r3, [r7, #28] 80b6140: 4313 orrs r3, r2 80b6142: 608b str r3, [r1, #8] /* Specifies the pixel format */ LTDC_LAYER(hltdc, LayerIdx)->PFCR &= ~(LTDC_LxPFCR_PF); 80b6144: 68fb ldr r3, [r7, #12] 80b6146: 681b ldr r3, [r3, #0] 80b6148: 461a mov r2, r3 80b614a: 687b ldr r3, [r7, #4] 80b614c: 01db lsls r3, r3, #7 80b614e: 4413 add r3, r2 80b6150: 3384 adds r3, #132 ; 0x84 80b6152: 461a mov r2, r3 80b6154: 68fb ldr r3, [r7, #12] 80b6156: 681b ldr r3, [r3, #0] 80b6158: 4619 mov r1, r3 80b615a: 687b ldr r3, [r7, #4] 80b615c: 01db lsls r3, r3, #7 80b615e: 440b add r3, r1 80b6160: 3384 adds r3, #132 ; 0x84 80b6162: 691b ldr r3, [r3, #16] 80b6164: f023 0307 bic.w r3, r3, #7 80b6168: 6113 str r3, [r2, #16] LTDC_LAYER(hltdc, LayerIdx)->PFCR = (pLayerCfg->PixelFormat); 80b616a: 68fb ldr r3, [r7, #12] 80b616c: 681b ldr r3, [r3, #0] 80b616e: 461a mov r2, r3 80b6170: 687b ldr r3, [r7, #4] 80b6172: 01db lsls r3, r3, #7 80b6174: 4413 add r3, r2 80b6176: 3384 adds r3, #132 ; 0x84 80b6178: 461a mov r2, r3 80b617a: 68bb ldr r3, [r7, #8] 80b617c: 691b ldr r3, [r3, #16] 80b617e: 6113 str r3, [r2, #16] /* Configure the default color values */ tmp = ((uint32_t)(pLayerCfg->Backcolor.Green) << 8U); 80b6180: 68bb ldr r3, [r7, #8] 80b6182: f893 3031 ldrb.w r3, [r3, #49] ; 0x31 80b6186: 021b lsls r3, r3, #8 80b6188: 61fb str r3, [r7, #28] tmp1 = ((uint32_t)(pLayerCfg->Backcolor.Red) << 16U); 80b618a: 68bb ldr r3, [r7, #8] 80b618c: f893 3032 ldrb.w r3, [r3, #50] ; 0x32 80b6190: 041b lsls r3, r3, #16 80b6192: 61bb str r3, [r7, #24] tmp2 = (pLayerCfg->Alpha0 << 24U); 80b6194: 68bb ldr r3, [r7, #8] 80b6196: 699b ldr r3, [r3, #24] 80b6198: 061b lsls r3, r3, #24 80b619a: 617b str r3, [r7, #20] LTDC_LAYER(hltdc, LayerIdx)->DCCR &= ~(LTDC_LxDCCR_DCBLUE | LTDC_LxDCCR_DCGREEN | LTDC_LxDCCR_DCRED | LTDC_LxDCCR_DCALPHA); 80b619c: 68fb ldr r3, [r7, #12] 80b619e: 681b ldr r3, [r3, #0] 80b61a0: 461a mov r2, r3 80b61a2: 687b ldr r3, [r7, #4] 80b61a4: 01db lsls r3, r3, #7 80b61a6: 4413 add r3, r2 80b61a8: 3384 adds r3, #132 ; 0x84 80b61aa: 699b ldr r3, [r3, #24] 80b61ac: 68fb ldr r3, [r7, #12] 80b61ae: 681b ldr r3, [r3, #0] 80b61b0: 461a mov r2, r3 80b61b2: 687b ldr r3, [r7, #4] 80b61b4: 01db lsls r3, r3, #7 80b61b6: 4413 add r3, r2 80b61b8: 3384 adds r3, #132 ; 0x84 80b61ba: 461a mov r2, r3 80b61bc: 2300 movs r3, #0 80b61be: 6193 str r3, [r2, #24] LTDC_LAYER(hltdc, LayerIdx)->DCCR = (pLayerCfg->Backcolor.Blue | tmp | tmp1 | tmp2); 80b61c0: 68fb ldr r3, [r7, #12] 80b61c2: 681b ldr r3, [r3, #0] 80b61c4: 461a mov r2, r3 80b61c6: 687b ldr r3, [r7, #4] 80b61c8: 01db lsls r3, r3, #7 80b61ca: 4413 add r3, r2 80b61cc: 3384 adds r3, #132 ; 0x84 80b61ce: 4619 mov r1, r3 80b61d0: 68bb ldr r3, [r7, #8] 80b61d2: f893 3030 ldrb.w r3, [r3, #48] ; 0x30 80b61d6: 461a mov r2, r3 80b61d8: 69fb ldr r3, [r7, #28] 80b61da: 431a orrs r2, r3 80b61dc: 69bb ldr r3, [r7, #24] 80b61de: 431a orrs r2, r3 80b61e0: 697b ldr r3, [r7, #20] 80b61e2: 4313 orrs r3, r2 80b61e4: 618b str r3, [r1, #24] /* Specifies the constant alpha value */ LTDC_LAYER(hltdc, LayerIdx)->CACR &= ~(LTDC_LxCACR_CONSTA); 80b61e6: 68fb ldr r3, [r7, #12] 80b61e8: 681b ldr r3, [r3, #0] 80b61ea: 461a mov r2, r3 80b61ec: 687b ldr r3, [r7, #4] 80b61ee: 01db lsls r3, r3, #7 80b61f0: 4413 add r3, r2 80b61f2: 3384 adds r3, #132 ; 0x84 80b61f4: 461a mov r2, r3 80b61f6: 68fb ldr r3, [r7, #12] 80b61f8: 681b ldr r3, [r3, #0] 80b61fa: 4619 mov r1, r3 80b61fc: 687b ldr r3, [r7, #4] 80b61fe: 01db lsls r3, r3, #7 80b6200: 440b add r3, r1 80b6202: 3384 adds r3, #132 ; 0x84 80b6204: 695b ldr r3, [r3, #20] 80b6206: f023 03ff bic.w r3, r3, #255 ; 0xff 80b620a: 6153 str r3, [r2, #20] LTDC_LAYER(hltdc, LayerIdx)->CACR = (pLayerCfg->Alpha); 80b620c: 68fb ldr r3, [r7, #12] 80b620e: 681b ldr r3, [r3, #0] 80b6210: 461a mov r2, r3 80b6212: 687b ldr r3, [r7, #4] 80b6214: 01db lsls r3, r3, #7 80b6216: 4413 add r3, r2 80b6218: 3384 adds r3, #132 ; 0x84 80b621a: 461a mov r2, r3 80b621c: 68bb ldr r3, [r7, #8] 80b621e: 695b ldr r3, [r3, #20] 80b6220: 6153 str r3, [r2, #20] /* Specifies the blending factors */ LTDC_LAYER(hltdc, LayerIdx)->BFCR &= ~(LTDC_LxBFCR_BF2 | LTDC_LxBFCR_BF1); 80b6222: 68fb ldr r3, [r7, #12] 80b6224: 681b ldr r3, [r3, #0] 80b6226: 461a mov r2, r3 80b6228: 687b ldr r3, [r7, #4] 80b622a: 01db lsls r3, r3, #7 80b622c: 4413 add r3, r2 80b622e: 3384 adds r3, #132 ; 0x84 80b6230: 4619 mov r1, r3 80b6232: 68fb ldr r3, [r7, #12] 80b6234: 681b ldr r3, [r3, #0] 80b6236: 461a mov r2, r3 80b6238: 687b ldr r3, [r7, #4] 80b623a: 01db lsls r3, r3, #7 80b623c: 4413 add r3, r2 80b623e: 3384 adds r3, #132 ; 0x84 80b6240: 69da ldr r2, [r3, #28] 80b6242: 4b5a ldr r3, [pc, #360] ; (80b63ac ) 80b6244: 4013 ands r3, r2 80b6246: 61cb str r3, [r1, #28] LTDC_LAYER(hltdc, LayerIdx)->BFCR = (pLayerCfg->BlendingFactor1 | pLayerCfg->BlendingFactor2); 80b6248: 68fb ldr r3, [r7, #12] 80b624a: 681b ldr r3, [r3, #0] 80b624c: 461a mov r2, r3 80b624e: 687b ldr r3, [r7, #4] 80b6250: 01db lsls r3, r3, #7 80b6252: 4413 add r3, r2 80b6254: 3384 adds r3, #132 ; 0x84 80b6256: 4619 mov r1, r3 80b6258: 68bb ldr r3, [r7, #8] 80b625a: 69da ldr r2, [r3, #28] 80b625c: 68bb ldr r3, [r7, #8] 80b625e: 6a1b ldr r3, [r3, #32] 80b6260: 4313 orrs r3, r2 80b6262: 61cb str r3, [r1, #28] /* Configure the color frame buffer start address */ LTDC_LAYER(hltdc, LayerIdx)->CFBAR &= ~(LTDC_LxCFBAR_CFBADD); 80b6264: 68fb ldr r3, [r7, #12] 80b6266: 681b ldr r3, [r3, #0] 80b6268: 461a mov r2, r3 80b626a: 687b ldr r3, [r7, #4] 80b626c: 01db lsls r3, r3, #7 80b626e: 4413 add r3, r2 80b6270: 3384 adds r3, #132 ; 0x84 80b6272: 6a9b ldr r3, [r3, #40] ; 0x28 80b6274: 68fb ldr r3, [r7, #12] 80b6276: 681b ldr r3, [r3, #0] 80b6278: 461a mov r2, r3 80b627a: 687b ldr r3, [r7, #4] 80b627c: 01db lsls r3, r3, #7 80b627e: 4413 add r3, r2 80b6280: 3384 adds r3, #132 ; 0x84 80b6282: 461a mov r2, r3 80b6284: 2300 movs r3, #0 80b6286: 6293 str r3, [r2, #40] ; 0x28 LTDC_LAYER(hltdc, LayerIdx)->CFBAR = (pLayerCfg->FBStartAdress); 80b6288: 68fb ldr r3, [r7, #12] 80b628a: 681b ldr r3, [r3, #0] 80b628c: 461a mov r2, r3 80b628e: 687b ldr r3, [r7, #4] 80b6290: 01db lsls r3, r3, #7 80b6292: 4413 add r3, r2 80b6294: 3384 adds r3, #132 ; 0x84 80b6296: 461a mov r2, r3 80b6298: 68bb ldr r3, [r7, #8] 80b629a: 6a5b ldr r3, [r3, #36] ; 0x24 80b629c: 6293 str r3, [r2, #40] ; 0x28 if (pLayerCfg->PixelFormat == LTDC_PIXEL_FORMAT_ARGB8888) 80b629e: 68bb ldr r3, [r7, #8] 80b62a0: 691b ldr r3, [r3, #16] 80b62a2: 2b00 cmp r3, #0 80b62a4: d102 bne.n 80b62ac { tmp = 4U; 80b62a6: 2304 movs r3, #4 80b62a8: 61fb str r3, [r7, #28] 80b62aa: e01b b.n 80b62e4 } else if (pLayerCfg->PixelFormat == LTDC_PIXEL_FORMAT_RGB888) 80b62ac: 68bb ldr r3, [r7, #8] 80b62ae: 691b ldr r3, [r3, #16] 80b62b0: 2b01 cmp r3, #1 80b62b2: d102 bne.n 80b62ba { tmp = 3U; 80b62b4: 2303 movs r3, #3 80b62b6: 61fb str r3, [r7, #28] 80b62b8: e014 b.n 80b62e4 } else if ((pLayerCfg->PixelFormat == LTDC_PIXEL_FORMAT_ARGB4444) || \ 80b62ba: 68bb ldr r3, [r7, #8] 80b62bc: 691b ldr r3, [r3, #16] 80b62be: 2b04 cmp r3, #4 80b62c0: d00b beq.n 80b62da (pLayerCfg->PixelFormat == LTDC_PIXEL_FORMAT_RGB565) || \ 80b62c2: 68bb ldr r3, [r7, #8] 80b62c4: 691b ldr r3, [r3, #16] else if ((pLayerCfg->PixelFormat == LTDC_PIXEL_FORMAT_ARGB4444) || \ 80b62c6: 2b02 cmp r3, #2 80b62c8: d007 beq.n 80b62da (pLayerCfg->PixelFormat == LTDC_PIXEL_FORMAT_ARGB1555) || \ 80b62ca: 68bb ldr r3, [r7, #8] 80b62cc: 691b ldr r3, [r3, #16] (pLayerCfg->PixelFormat == LTDC_PIXEL_FORMAT_RGB565) || \ 80b62ce: 2b03 cmp r3, #3 80b62d0: d003 beq.n 80b62da (pLayerCfg->PixelFormat == LTDC_PIXEL_FORMAT_AL88)) 80b62d2: 68bb ldr r3, [r7, #8] 80b62d4: 691b ldr r3, [r3, #16] (pLayerCfg->PixelFormat == LTDC_PIXEL_FORMAT_ARGB1555) || \ 80b62d6: 2b07 cmp r3, #7 80b62d8: d102 bne.n 80b62e0 { tmp = 2U; 80b62da: 2302 movs r3, #2 80b62dc: 61fb str r3, [r7, #28] 80b62de: e001 b.n 80b62e4 } else { tmp = 1U; 80b62e0: 2301 movs r3, #1 80b62e2: 61fb str r3, [r7, #28] } /* Configure the color frame buffer pitch in byte */ LTDC_LAYER(hltdc, LayerIdx)->CFBLR &= ~(LTDC_LxCFBLR_CFBLL | LTDC_LxCFBLR_CFBP); 80b62e4: 68fb ldr r3, [r7, #12] 80b62e6: 681b ldr r3, [r3, #0] 80b62e8: 461a mov r2, r3 80b62ea: 687b ldr r3, [r7, #4] 80b62ec: 01db lsls r3, r3, #7 80b62ee: 4413 add r3, r2 80b62f0: 3384 adds r3, #132 ; 0x84 80b62f2: 461a mov r2, r3 80b62f4: 68fb ldr r3, [r7, #12] 80b62f6: 681b ldr r3, [r3, #0] 80b62f8: 4619 mov r1, r3 80b62fa: 687b ldr r3, [r7, #4] 80b62fc: 01db lsls r3, r3, #7 80b62fe: 440b add r3, r1 80b6300: 3384 adds r3, #132 ; 0x84 80b6302: 6adb ldr r3, [r3, #44] ; 0x2c 80b6304: f003 23e0 and.w r3, r3, #3758153728 ; 0xe000e000 80b6308: 62d3 str r3, [r2, #44] ; 0x2c LTDC_LAYER(hltdc, LayerIdx)->CFBLR = (((pLayerCfg->ImageWidth * tmp) << 16U) | (((pLayerCfg->WindowX1 - pLayerCfg->WindowX0) * tmp) + 3U)); 80b630a: 68fb ldr r3, [r7, #12] 80b630c: 681b ldr r3, [r3, #0] 80b630e: 461a mov r2, r3 80b6310: 687b ldr r3, [r7, #4] 80b6312: 01db lsls r3, r3, #7 80b6314: 4413 add r3, r2 80b6316: 3384 adds r3, #132 ; 0x84 80b6318: 4618 mov r0, r3 80b631a: 68bb ldr r3, [r7, #8] 80b631c: 6a9b ldr r3, [r3, #40] ; 0x28 80b631e: 69fa ldr r2, [r7, #28] 80b6320: fb02 f303 mul.w r3, r2, r3 80b6324: 041a lsls r2, r3, #16 80b6326: 68bb ldr r3, [r7, #8] 80b6328: 6859 ldr r1, [r3, #4] 80b632a: 68bb ldr r3, [r7, #8] 80b632c: 681b ldr r3, [r3, #0] 80b632e: 1acb subs r3, r1, r3 80b6330: 69f9 ldr r1, [r7, #28] 80b6332: fb01 f303 mul.w r3, r1, r3 80b6336: 3303 adds r3, #3 80b6338: 4313 orrs r3, r2 80b633a: 62c3 str r3, [r0, #44] ; 0x2c /* Configure the frame buffer line number */ LTDC_LAYER(hltdc, LayerIdx)->CFBLNR &= ~(LTDC_LxCFBLNR_CFBLNBR); 80b633c: 68fb ldr r3, [r7, #12] 80b633e: 681b ldr r3, [r3, #0] 80b6340: 461a mov r2, r3 80b6342: 687b ldr r3, [r7, #4] 80b6344: 01db lsls r3, r3, #7 80b6346: 4413 add r3, r2 80b6348: 3384 adds r3, #132 ; 0x84 80b634a: 4619 mov r1, r3 80b634c: 68fb ldr r3, [r7, #12] 80b634e: 681b ldr r3, [r3, #0] 80b6350: 461a mov r2, r3 80b6352: 687b ldr r3, [r7, #4] 80b6354: 01db lsls r3, r3, #7 80b6356: 4413 add r3, r2 80b6358: 3384 adds r3, #132 ; 0x84 80b635a: 6b1a ldr r2, [r3, #48] ; 0x30 80b635c: 4b14 ldr r3, [pc, #80] ; (80b63b0 ) 80b635e: 4013 ands r3, r2 80b6360: 630b str r3, [r1, #48] ; 0x30 LTDC_LAYER(hltdc, LayerIdx)->CFBLNR = (pLayerCfg->ImageHeight); 80b6362: 68fb ldr r3, [r7, #12] 80b6364: 681b ldr r3, [r3, #0] 80b6366: 461a mov r2, r3 80b6368: 687b ldr r3, [r7, #4] 80b636a: 01db lsls r3, r3, #7 80b636c: 4413 add r3, r2 80b636e: 3384 adds r3, #132 ; 0x84 80b6370: 461a mov r2, r3 80b6372: 68bb ldr r3, [r7, #8] 80b6374: 6adb ldr r3, [r3, #44] ; 0x2c 80b6376: 6313 str r3, [r2, #48] ; 0x30 /* Enable LTDC_Layer by setting LEN bit */ LTDC_LAYER(hltdc, LayerIdx)->CR |= (uint32_t)LTDC_LxCR_LEN; 80b6378: 68fb ldr r3, [r7, #12] 80b637a: 681b ldr r3, [r3, #0] 80b637c: 461a mov r2, r3 80b637e: 687b ldr r3, [r7, #4] 80b6380: 01db lsls r3, r3, #7 80b6382: 4413 add r3, r2 80b6384: 3384 adds r3, #132 ; 0x84 80b6386: 461a mov r2, r3 80b6388: 68fb ldr r3, [r7, #12] 80b638a: 681b ldr r3, [r3, #0] 80b638c: 4619 mov r1, r3 80b638e: 687b ldr r3, [r7, #4] 80b6390: 01db lsls r3, r3, #7 80b6392: 440b add r3, r1 80b6394: 3384 adds r3, #132 ; 0x84 80b6396: 681b ldr r3, [r3, #0] 80b6398: f043 0301 orr.w r3, r3, #1 80b639c: 6013 str r3, [r2, #0] } 80b639e: bf00 nop 80b63a0: 3724 adds r7, #36 ; 0x24 80b63a2: 46bd mov sp, r7 80b63a4: f85d 7b04 ldr.w r7, [sp], #4 80b63a8: 4770 bx lr 80b63aa: bf00 nop 80b63ac: fffff8f8 .word 0xfffff8f8 80b63b0: fffff800 .word 0xfffff800 080b63b4 : * 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) { 80b63b4: b5f0 push {r4, r5, r6, r7, lr} 80b63b6: b08f sub sp, #60 ; 0x3c 80b63b8: af0a add r7, sp, #40 ; 0x28 80b63ba: 6078 str r0, [r7, #4] USB_OTG_GlobalTypeDef *USBx; uint8_t i; /* Check the PCD handle allocation */ if (hpcd == NULL) 80b63bc: 687b ldr r3, [r7, #4] 80b63be: 2b00 cmp r3, #0 80b63c0: d101 bne.n 80b63c6 { return HAL_ERROR; 80b63c2: 2301 movs r3, #1 80b63c4: e116 b.n 80b65f4 } /* Check the parameters */ assert_param(IS_PCD_ALL_INSTANCE(hpcd->Instance)); USBx = hpcd->Instance; 80b63c6: 687b ldr r3, [r7, #4] 80b63c8: 681b ldr r3, [r3, #0] 80b63ca: 60bb str r3, [r7, #8] if (hpcd->State == HAL_PCD_STATE_RESET) 80b63cc: 687b ldr r3, [r7, #4] 80b63ce: f893 33bd ldrb.w r3, [r3, #957] ; 0x3bd 80b63d2: b2db uxtb r3, r3 80b63d4: 2b00 cmp r3, #0 80b63d6: d106 bne.n 80b63e6 { /* Allocate lock resource and initialize it */ hpcd->Lock = HAL_UNLOCKED; 80b63d8: 687b ldr r3, [r7, #4] 80b63da: 2200 movs r2, #0 80b63dc: 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); 80b63e0: 6878 ldr r0, [r7, #4] 80b63e2: f013 f8c9 bl 80c9578 #endif /* (USE_HAL_PCD_REGISTER_CALLBACKS) */ } hpcd->State = HAL_PCD_STATE_BUSY; 80b63e6: 687b ldr r3, [r7, #4] 80b63e8: 2203 movs r2, #3 80b63ea: f883 23bd strb.w r2, [r3, #957] ; 0x3bd /* Disable DMA mode for FS instance */ if ((USBx->CID & (0x1U << 8)) == 0U) 80b63ee: 68bb ldr r3, [r7, #8] 80b63f0: 6bdb ldr r3, [r3, #60] ; 0x3c 80b63f2: f403 7380 and.w r3, r3, #256 ; 0x100 80b63f6: 2b00 cmp r3, #0 80b63f8: d102 bne.n 80b6400 { hpcd->Init.dma_enable = 0U; 80b63fa: 687b ldr r3, [r7, #4] 80b63fc: 2200 movs r2, #0 80b63fe: 611a str r2, [r3, #16] } /* Disable the Interrupts */ __HAL_PCD_DISABLE(hpcd); 80b6400: 687b ldr r3, [r7, #4] 80b6402: 681b ldr r3, [r3, #0] 80b6404: 4618 mov r0, r3 80b6406: f007 fe96 bl 80be136 /*Init the Core (common init.) */ if (USB_CoreInit(hpcd->Instance, hpcd->Init) != HAL_OK) 80b640a: 687b ldr r3, [r7, #4] 80b640c: 681b ldr r3, [r3, #0] 80b640e: 603b str r3, [r7, #0] 80b6410: 687e ldr r6, [r7, #4] 80b6412: 466d mov r5, sp 80b6414: f106 0410 add.w r4, r6, #16 80b6418: cc0f ldmia r4!, {r0, r1, r2, r3} 80b641a: c50f stmia r5!, {r0, r1, r2, r3} 80b641c: cc0f ldmia r4!, {r0, r1, r2, r3} 80b641e: c50f stmia r5!, {r0, r1, r2, r3} 80b6420: e894 0003 ldmia.w r4, {r0, r1} 80b6424: e885 0003 stmia.w r5, {r0, r1} 80b6428: 1d33 adds r3, r6, #4 80b642a: cb0e ldmia r3, {r1, r2, r3} 80b642c: 6838 ldr r0, [r7, #0] 80b642e: f007 fd77 bl 80bdf20 80b6432: 4603 mov r3, r0 80b6434: 2b00 cmp r3, #0 80b6436: d005 beq.n 80b6444 { hpcd->State = HAL_PCD_STATE_ERROR; 80b6438: 687b ldr r3, [r7, #4] 80b643a: 2202 movs r2, #2 80b643c: f883 23bd strb.w r2, [r3, #957] ; 0x3bd return HAL_ERROR; 80b6440: 2301 movs r3, #1 80b6442: e0d7 b.n 80b65f4 } /* Force Device Mode*/ (void)USB_SetCurrentMode(hpcd->Instance, USB_DEVICE_MODE); 80b6444: 687b ldr r3, [r7, #4] 80b6446: 681b ldr r3, [r3, #0] 80b6448: 2100 movs r1, #0 80b644a: 4618 mov r0, r3 80b644c: f007 fe84 bl 80be158 /* Init endpoints structures */ for (i = 0U; i < hpcd->Init.dev_endpoints; i++) 80b6450: 2300 movs r3, #0 80b6452: 73fb strb r3, [r7, #15] 80b6454: e04a b.n 80b64ec { /* Init ep structure */ hpcd->IN_ep[i].is_in = 1U; 80b6456: 7bfa ldrb r2, [r7, #15] 80b6458: 6879 ldr r1, [r7, #4] 80b645a: 4613 mov r3, r2 80b645c: 00db lsls r3, r3, #3 80b645e: 1a9b subs r3, r3, r2 80b6460: 009b lsls r3, r3, #2 80b6462: 440b add r3, r1 80b6464: 333d adds r3, #61 ; 0x3d 80b6466: 2201 movs r2, #1 80b6468: 701a strb r2, [r3, #0] hpcd->IN_ep[i].num = i; 80b646a: 7bfa ldrb r2, [r7, #15] 80b646c: 6879 ldr r1, [r7, #4] 80b646e: 4613 mov r3, r2 80b6470: 00db lsls r3, r3, #3 80b6472: 1a9b subs r3, r3, r2 80b6474: 009b lsls r3, r3, #2 80b6476: 440b add r3, r1 80b6478: 333c adds r3, #60 ; 0x3c 80b647a: 7bfa ldrb r2, [r7, #15] 80b647c: 701a strb r2, [r3, #0] hpcd->IN_ep[i].tx_fifo_num = i; 80b647e: 7bfa ldrb r2, [r7, #15] 80b6480: 7bfb ldrb r3, [r7, #15] 80b6482: b298 uxth r0, r3 80b6484: 6879 ldr r1, [r7, #4] 80b6486: 4613 mov r3, r2 80b6488: 00db lsls r3, r3, #3 80b648a: 1a9b subs r3, r3, r2 80b648c: 009b lsls r3, r3, #2 80b648e: 440b add r3, r1 80b6490: 3342 adds r3, #66 ; 0x42 80b6492: 4602 mov r2, r0 80b6494: 801a strh r2, [r3, #0] /* Control until ep is activated */ hpcd->IN_ep[i].type = EP_TYPE_CTRL; 80b6496: 7bfa ldrb r2, [r7, #15] 80b6498: 6879 ldr r1, [r7, #4] 80b649a: 4613 mov r3, r2 80b649c: 00db lsls r3, r3, #3 80b649e: 1a9b subs r3, r3, r2 80b64a0: 009b lsls r3, r3, #2 80b64a2: 440b add r3, r1 80b64a4: 333f adds r3, #63 ; 0x3f 80b64a6: 2200 movs r2, #0 80b64a8: 701a strb r2, [r3, #0] hpcd->IN_ep[i].maxpacket = 0U; 80b64aa: 7bfa ldrb r2, [r7, #15] 80b64ac: 6879 ldr r1, [r7, #4] 80b64ae: 4613 mov r3, r2 80b64b0: 00db lsls r3, r3, #3 80b64b2: 1a9b subs r3, r3, r2 80b64b4: 009b lsls r3, r3, #2 80b64b6: 440b add r3, r1 80b64b8: 3344 adds r3, #68 ; 0x44 80b64ba: 2200 movs r2, #0 80b64bc: 601a str r2, [r3, #0] hpcd->IN_ep[i].xfer_buff = 0U; 80b64be: 7bfa ldrb r2, [r7, #15] 80b64c0: 6879 ldr r1, [r7, #4] 80b64c2: 4613 mov r3, r2 80b64c4: 00db lsls r3, r3, #3 80b64c6: 1a9b subs r3, r3, r2 80b64c8: 009b lsls r3, r3, #2 80b64ca: 440b add r3, r1 80b64cc: 3348 adds r3, #72 ; 0x48 80b64ce: 2200 movs r2, #0 80b64d0: 601a str r2, [r3, #0] hpcd->IN_ep[i].xfer_len = 0U; 80b64d2: 7bfa ldrb r2, [r7, #15] 80b64d4: 6879 ldr r1, [r7, #4] 80b64d6: 4613 mov r3, r2 80b64d8: 00db lsls r3, r3, #3 80b64da: 1a9b subs r3, r3, r2 80b64dc: 009b lsls r3, r3, #2 80b64de: 440b add r3, r1 80b64e0: 3350 adds r3, #80 ; 0x50 80b64e2: 2200 movs r2, #0 80b64e4: 601a str r2, [r3, #0] for (i = 0U; i < hpcd->Init.dev_endpoints; i++) 80b64e6: 7bfb ldrb r3, [r7, #15] 80b64e8: 3301 adds r3, #1 80b64ea: 73fb strb r3, [r7, #15] 80b64ec: 7bfa ldrb r2, [r7, #15] 80b64ee: 687b ldr r3, [r7, #4] 80b64f0: 685b ldr r3, [r3, #4] 80b64f2: 429a cmp r2, r3 80b64f4: d3af bcc.n 80b6456 } for (i = 0U; i < hpcd->Init.dev_endpoints; i++) 80b64f6: 2300 movs r3, #0 80b64f8: 73fb strb r3, [r7, #15] 80b64fa: e044 b.n 80b6586 { hpcd->OUT_ep[i].is_in = 0U; 80b64fc: 7bfa ldrb r2, [r7, #15] 80b64fe: 6879 ldr r1, [r7, #4] 80b6500: 4613 mov r3, r2 80b6502: 00db lsls r3, r3, #3 80b6504: 1a9b subs r3, r3, r2 80b6506: 009b lsls r3, r3, #2 80b6508: 440b add r3, r1 80b650a: f203 13fd addw r3, r3, #509 ; 0x1fd 80b650e: 2200 movs r2, #0 80b6510: 701a strb r2, [r3, #0] hpcd->OUT_ep[i].num = i; 80b6512: 7bfa ldrb r2, [r7, #15] 80b6514: 6879 ldr r1, [r7, #4] 80b6516: 4613 mov r3, r2 80b6518: 00db lsls r3, r3, #3 80b651a: 1a9b subs r3, r3, r2 80b651c: 009b lsls r3, r3, #2 80b651e: 440b add r3, r1 80b6520: f503 73fe add.w r3, r3, #508 ; 0x1fc 80b6524: 7bfa ldrb r2, [r7, #15] 80b6526: 701a strb r2, [r3, #0] /* Control until ep is activated */ hpcd->OUT_ep[i].type = EP_TYPE_CTRL; 80b6528: 7bfa ldrb r2, [r7, #15] 80b652a: 6879 ldr r1, [r7, #4] 80b652c: 4613 mov r3, r2 80b652e: 00db lsls r3, r3, #3 80b6530: 1a9b subs r3, r3, r2 80b6532: 009b lsls r3, r3, #2 80b6534: 440b add r3, r1 80b6536: f203 13ff addw r3, r3, #511 ; 0x1ff 80b653a: 2200 movs r2, #0 80b653c: 701a strb r2, [r3, #0] hpcd->OUT_ep[i].maxpacket = 0U; 80b653e: 7bfa ldrb r2, [r7, #15] 80b6540: 6879 ldr r1, [r7, #4] 80b6542: 4613 mov r3, r2 80b6544: 00db lsls r3, r3, #3 80b6546: 1a9b subs r3, r3, r2 80b6548: 009b lsls r3, r3, #2 80b654a: 440b add r3, r1 80b654c: f503 7301 add.w r3, r3, #516 ; 0x204 80b6550: 2200 movs r2, #0 80b6552: 601a str r2, [r3, #0] hpcd->OUT_ep[i].xfer_buff = 0U; 80b6554: 7bfa ldrb r2, [r7, #15] 80b6556: 6879 ldr r1, [r7, #4] 80b6558: 4613 mov r3, r2 80b655a: 00db lsls r3, r3, #3 80b655c: 1a9b subs r3, r3, r2 80b655e: 009b lsls r3, r3, #2 80b6560: 440b add r3, r1 80b6562: f503 7302 add.w r3, r3, #520 ; 0x208 80b6566: 2200 movs r2, #0 80b6568: 601a str r2, [r3, #0] hpcd->OUT_ep[i].xfer_len = 0U; 80b656a: 7bfa ldrb r2, [r7, #15] 80b656c: 6879 ldr r1, [r7, #4] 80b656e: 4613 mov r3, r2 80b6570: 00db lsls r3, r3, #3 80b6572: 1a9b subs r3, r3, r2 80b6574: 009b lsls r3, r3, #2 80b6576: 440b add r3, r1 80b6578: f503 7304 add.w r3, r3, #528 ; 0x210 80b657c: 2200 movs r2, #0 80b657e: 601a str r2, [r3, #0] for (i = 0U; i < hpcd->Init.dev_endpoints; i++) 80b6580: 7bfb ldrb r3, [r7, #15] 80b6582: 3301 adds r3, #1 80b6584: 73fb strb r3, [r7, #15] 80b6586: 7bfa ldrb r2, [r7, #15] 80b6588: 687b ldr r3, [r7, #4] 80b658a: 685b ldr r3, [r3, #4] 80b658c: 429a cmp r2, r3 80b658e: d3b5 bcc.n 80b64fc } /* Init Device */ if (USB_DevInit(hpcd->Instance, hpcd->Init) != HAL_OK) 80b6590: 687b ldr r3, [r7, #4] 80b6592: 681b ldr r3, [r3, #0] 80b6594: 603b str r3, [r7, #0] 80b6596: 687e ldr r6, [r7, #4] 80b6598: 466d mov r5, sp 80b659a: f106 0410 add.w r4, r6, #16 80b659e: cc0f ldmia r4!, {r0, r1, r2, r3} 80b65a0: c50f stmia r5!, {r0, r1, r2, r3} 80b65a2: cc0f ldmia r4!, {r0, r1, r2, r3} 80b65a4: c50f stmia r5!, {r0, r1, r2, r3} 80b65a6: e894 0003 ldmia.w r4, {r0, r1} 80b65aa: e885 0003 stmia.w r5, {r0, r1} 80b65ae: 1d33 adds r3, r6, #4 80b65b0: cb0e ldmia r3, {r1, r2, r3} 80b65b2: 6838 ldr r0, [r7, #0] 80b65b4: f007 fe1c bl 80be1f0 80b65b8: 4603 mov r3, r0 80b65ba: 2b00 cmp r3, #0 80b65bc: d005 beq.n 80b65ca { hpcd->State = HAL_PCD_STATE_ERROR; 80b65be: 687b ldr r3, [r7, #4] 80b65c0: 2202 movs r2, #2 80b65c2: f883 23bd strb.w r2, [r3, #957] ; 0x3bd return HAL_ERROR; 80b65c6: 2301 movs r3, #1 80b65c8: e014 b.n 80b65f4 } hpcd->USB_Address = 0U; 80b65ca: 687b ldr r3, [r7, #4] 80b65cc: 2200 movs r2, #0 80b65ce: f883 2038 strb.w r2, [r3, #56] ; 0x38 hpcd->State = HAL_PCD_STATE_READY; 80b65d2: 687b ldr r3, [r7, #4] 80b65d4: 2201 movs r2, #1 80b65d6: f883 23bd strb.w r2, [r3, #957] ; 0x3bd /* Activate LPM */ if (hpcd->Init.lpm_enable == 1U) 80b65da: 687b ldr r3, [r7, #4] 80b65dc: 6a5b ldr r3, [r3, #36] ; 0x24 80b65de: 2b01 cmp r3, #1 80b65e0: d102 bne.n 80b65e8 { (void)HAL_PCDEx_ActivateLPM(hpcd); 80b65e2: 6878 ldr r0, [r7, #4] 80b65e4: f001 f8aa bl 80b773c } (void)USB_DevDisconnect(hpcd->Instance); 80b65e8: 687b ldr r3, [r7, #4] 80b65ea: 681b ldr r3, [r3, #0] 80b65ec: 4618 mov r0, r3 80b65ee: f008 fee9 bl 80bf3c4 return HAL_OK; 80b65f2: 2300 movs r3, #0 } 80b65f4: 4618 mov r0, r3 80b65f6: 3714 adds r7, #20 80b65f8: 46bd mov sp, r7 80b65fa: bdf0 pop {r4, r5, r6, r7, pc} 080b65fc : * @brief Start the USB device * @param hpcd PCD handle * @retval HAL status */ HAL_StatusTypeDef HAL_PCD_Start(PCD_HandleTypeDef *hpcd) { 80b65fc: b580 push {r7, lr} 80b65fe: b082 sub sp, #8 80b6600: af00 add r7, sp, #0 80b6602: 6078 str r0, [r7, #4] __HAL_LOCK(hpcd); 80b6604: 687b ldr r3, [r7, #4] 80b6606: f893 33bc ldrb.w r3, [r3, #956] ; 0x3bc 80b660a: 2b01 cmp r3, #1 80b660c: d101 bne.n 80b6612 80b660e: 2302 movs r3, #2 80b6610: e012 b.n 80b6638 80b6612: 687b ldr r3, [r7, #4] 80b6614: 2201 movs r2, #1 80b6616: f883 23bc strb.w r2, [r3, #956] ; 0x3bc __HAL_PCD_ENABLE(hpcd); 80b661a: 687b ldr r3, [r7, #4] 80b661c: 681b ldr r3, [r3, #0] 80b661e: 4618 mov r0, r3 80b6620: f007 fd78 bl 80be114 (void)USB_DevConnect(hpcd->Instance); 80b6624: 687b ldr r3, [r7, #4] 80b6626: 681b ldr r3, [r3, #0] 80b6628: 4618 mov r0, r3 80b662a: f008 fea8 bl 80bf37e __HAL_UNLOCK(hpcd); 80b662e: 687b ldr r3, [r7, #4] 80b6630: 2200 movs r2, #0 80b6632: f883 23bc strb.w r2, [r3, #956] ; 0x3bc return HAL_OK; 80b6636: 2300 movs r3, #0 } 80b6638: 4618 mov r0, r3 80b663a: 3708 adds r7, #8 80b663c: 46bd mov sp, r7 80b663e: bd80 pop {r7, pc} 080b6640 : * @brief Handles PCD interrupt request. * @param hpcd PCD handle * @retval HAL status */ void HAL_PCD_IRQHandler(PCD_HandleTypeDef *hpcd) { 80b6640: b590 push {r4, r7, lr} 80b6642: b08d sub sp, #52 ; 0x34 80b6644: af00 add r7, sp, #0 80b6646: 6078 str r0, [r7, #4] USB_OTG_GlobalTypeDef *USBx = hpcd->Instance; 80b6648: 687b ldr r3, [r7, #4] 80b664a: 681b ldr r3, [r3, #0] 80b664c: 623b str r3, [r7, #32] uint32_t USBx_BASE = (uint32_t)USBx; 80b664e: 6a3b ldr r3, [r7, #32] 80b6650: 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) 80b6652: 687b ldr r3, [r7, #4] 80b6654: 681b ldr r3, [r3, #0] 80b6656: 4618 mov r0, r3 80b6658: f008 ff6a bl 80bf530 80b665c: 4603 mov r3, r0 80b665e: 2b00 cmp r3, #0 80b6660: f040 83c5 bne.w 80b6dee { /* avoid spurious interrupt */ if (__HAL_PCD_IS_INVALID_INTERRUPT(hpcd)) 80b6664: 687b ldr r3, [r7, #4] 80b6666: 681b ldr r3, [r3, #0] 80b6668: 4618 mov r0, r3 80b666a: f008 fece bl 80bf40a 80b666e: 4603 mov r3, r0 80b6670: 2b00 cmp r3, #0 80b6672: f000 83bb beq.w 80b6dec { return; } if (__HAL_PCD_GET_FLAG(hpcd, USB_OTG_GINTSTS_MMIS)) 80b6676: 687b ldr r3, [r7, #4] 80b6678: 681b ldr r3, [r3, #0] 80b667a: 4618 mov r0, r3 80b667c: f008 fec5 bl 80bf40a 80b6680: 4603 mov r3, r0 80b6682: f003 0302 and.w r3, r3, #2 80b6686: 2b02 cmp r3, #2 80b6688: d107 bne.n 80b669a { /* incorrect mode, acknowledge the interrupt */ __HAL_PCD_CLEAR_FLAG(hpcd, USB_OTG_GINTSTS_MMIS); 80b668a: 687b ldr r3, [r7, #4] 80b668c: 681b ldr r3, [r3, #0] 80b668e: 687a ldr r2, [r7, #4] 80b6690: 6812 ldr r2, [r2, #0] 80b6692: 6952 ldr r2, [r2, #20] 80b6694: f002 0202 and.w r2, r2, #2 80b6698: 615a str r2, [r3, #20] } /* Handle RxQLevel Interrupt */ if (__HAL_PCD_GET_FLAG(hpcd, USB_OTG_GINTSTS_RXFLVL)) 80b669a: 687b ldr r3, [r7, #4] 80b669c: 681b ldr r3, [r3, #0] 80b669e: 4618 mov r0, r3 80b66a0: f008 feb3 bl 80bf40a 80b66a4: 4603 mov r3, r0 80b66a6: f003 0310 and.w r3, r3, #16 80b66aa: 2b10 cmp r3, #16 80b66ac: d161 bne.n 80b6772 { USB_MASK_INTERRUPT(hpcd->Instance, USB_OTG_GINTSTS_RXFLVL); 80b66ae: 687b ldr r3, [r7, #4] 80b66b0: 681b ldr r3, [r3, #0] 80b66b2: 687a ldr r2, [r7, #4] 80b66b4: 6812 ldr r2, [r2, #0] 80b66b6: 6992 ldr r2, [r2, #24] 80b66b8: f022 0210 bic.w r2, r2, #16 80b66bc: 619a str r2, [r3, #24] temp = USBx->GRXSTSP; 80b66be: 6a3b ldr r3, [r7, #32] 80b66c0: 6a1b ldr r3, [r3, #32] 80b66c2: 61bb str r3, [r7, #24] ep = &hpcd->OUT_ep[temp & USB_OTG_GRXSTSP_EPNUM]; 80b66c4: 69bb ldr r3, [r7, #24] 80b66c6: f003 020f and.w r2, r3, #15 80b66ca: 4613 mov r3, r2 80b66cc: 00db lsls r3, r3, #3 80b66ce: 1a9b subs r3, r3, r2 80b66d0: 009b lsls r3, r3, #2 80b66d2: f503 73fc add.w r3, r3, #504 ; 0x1f8 80b66d6: 687a ldr r2, [r7, #4] 80b66d8: 4413 add r3, r2 80b66da: 3304 adds r3, #4 80b66dc: 617b str r3, [r7, #20] if (((temp & USB_OTG_GRXSTSP_PKTSTS) >> 17) == STS_DATA_UPDT) 80b66de: 69bb ldr r3, [r7, #24] 80b66e0: 0c5b lsrs r3, r3, #17 80b66e2: f003 030f and.w r3, r3, #15 80b66e6: 2b02 cmp r3, #2 80b66e8: d124 bne.n 80b6734 { if ((temp & USB_OTG_GRXSTSP_BCNT) != 0U) 80b66ea: 69ba ldr r2, [r7, #24] 80b66ec: f647 73f0 movw r3, #32752 ; 0x7ff0 80b66f0: 4013 ands r3, r2 80b66f2: 2b00 cmp r3, #0 80b66f4: d035 beq.n 80b6762 { (void)USB_ReadPacket(USBx, ep->xfer_buff, 80b66f6: 697b ldr r3, [r7, #20] 80b66f8: 68d9 ldr r1, [r3, #12] (uint16_t)((temp & USB_OTG_GRXSTSP_BCNT) >> 4)); 80b66fa: 69bb ldr r3, [r7, #24] 80b66fc: 091b lsrs r3, r3, #4 80b66fe: b29b uxth r3, r3 (void)USB_ReadPacket(USBx, ep->xfer_buff, 80b6700: f3c3 030a ubfx r3, r3, #0, #11 80b6704: b29b uxth r3, r3 80b6706: 461a mov r2, r3 80b6708: 6a38 ldr r0, [r7, #32] 80b670a: f008 fcdd bl 80bf0c8 ep->xfer_buff += (temp & USB_OTG_GRXSTSP_BCNT) >> 4; 80b670e: 697b ldr r3, [r7, #20] 80b6710: 68da ldr r2, [r3, #12] 80b6712: 69bb ldr r3, [r7, #24] 80b6714: 091b lsrs r3, r3, #4 80b6716: f3c3 030a ubfx r3, r3, #0, #11 80b671a: 441a add r2, r3 80b671c: 697b ldr r3, [r7, #20] 80b671e: 60da str r2, [r3, #12] ep->xfer_count += (temp & USB_OTG_GRXSTSP_BCNT) >> 4; 80b6720: 697b ldr r3, [r7, #20] 80b6722: 699a ldr r2, [r3, #24] 80b6724: 69bb ldr r3, [r7, #24] 80b6726: 091b lsrs r3, r3, #4 80b6728: f3c3 030a ubfx r3, r3, #0, #11 80b672c: 441a add r2, r3 80b672e: 697b ldr r3, [r7, #20] 80b6730: 619a str r2, [r3, #24] 80b6732: e016 b.n 80b6762 } } else if (((temp & USB_OTG_GRXSTSP_PKTSTS) >> 17) == STS_SETUP_UPDT) 80b6734: 69bb ldr r3, [r7, #24] 80b6736: 0c5b lsrs r3, r3, #17 80b6738: f003 030f and.w r3, r3, #15 80b673c: 2b06 cmp r3, #6 80b673e: d110 bne.n 80b6762 { (void)USB_ReadPacket(USBx, (uint8_t *)hpcd->Setup, 8U); 80b6740: 687b ldr r3, [r7, #4] 80b6742: f503 7371 add.w r3, r3, #964 ; 0x3c4 80b6746: 2208 movs r2, #8 80b6748: 4619 mov r1, r3 80b674a: 6a38 ldr r0, [r7, #32] 80b674c: f008 fcbc bl 80bf0c8 ep->xfer_count += (temp & USB_OTG_GRXSTSP_BCNT) >> 4; 80b6750: 697b ldr r3, [r7, #20] 80b6752: 699a ldr r2, [r3, #24] 80b6754: 69bb ldr r3, [r7, #24] 80b6756: 091b lsrs r3, r3, #4 80b6758: f3c3 030a ubfx r3, r3, #0, #11 80b675c: 441a add r2, r3 80b675e: 697b ldr r3, [r7, #20] 80b6760: 619a str r2, [r3, #24] else { /* ... */ } USB_UNMASK_INTERRUPT(hpcd->Instance, USB_OTG_GINTSTS_RXFLVL); 80b6762: 687b ldr r3, [r7, #4] 80b6764: 681b ldr r3, [r3, #0] 80b6766: 687a ldr r2, [r7, #4] 80b6768: 6812 ldr r2, [r2, #0] 80b676a: 6992 ldr r2, [r2, #24] 80b676c: f042 0210 orr.w r2, r2, #16 80b6770: 619a str r2, [r3, #24] } if (__HAL_PCD_GET_FLAG(hpcd, USB_OTG_GINTSTS_OEPINT)) 80b6772: 687b ldr r3, [r7, #4] 80b6774: 681b ldr r3, [r3, #0] 80b6776: 4618 mov r0, r3 80b6778: f008 fe47 bl 80bf40a 80b677c: 4603 mov r3, r0 80b677e: f403 2300 and.w r3, r3, #524288 ; 0x80000 80b6782: f5b3 2f00 cmp.w r3, #524288 ; 0x80000 80b6786: d16e bne.n 80b6866 { epnum = 0U; 80b6788: 2300 movs r3, #0 80b678a: 627b str r3, [r7, #36] ; 0x24 /* Read in the device interrupt bits */ ep_intr = USB_ReadDevAllOutEpInterrupt(hpcd->Instance); 80b678c: 687b ldr r3, [r7, #4] 80b678e: 681b ldr r3, [r3, #0] 80b6790: 4618 mov r0, r3 80b6792: f008 fe4d bl 80bf430 80b6796: 62b8 str r0, [r7, #40] ; 0x28 while (ep_intr != 0U) 80b6798: e062 b.n 80b6860 { if ((ep_intr & 0x1U) != 0U) 80b679a: 6abb ldr r3, [r7, #40] ; 0x28 80b679c: f003 0301 and.w r3, r3, #1 80b67a0: 2b00 cmp r3, #0 80b67a2: d057 beq.n 80b6854 { epint = USB_ReadDevOutEPInterrupt(hpcd->Instance, (uint8_t)epnum); 80b67a4: 687b ldr r3, [r7, #4] 80b67a6: 681b ldr r3, [r3, #0] 80b67a8: 6a7a ldr r2, [r7, #36] ; 0x24 80b67aa: b2d2 uxtb r2, r2 80b67ac: 4611 mov r1, r2 80b67ae: 4618 mov r0, r3 80b67b0: f008 fe72 bl 80bf498 80b67b4: 6138 str r0, [r7, #16] if ((epint & USB_OTG_DOEPINT_XFRC) == USB_OTG_DOEPINT_XFRC) 80b67b6: 693b ldr r3, [r7, #16] 80b67b8: f003 0301 and.w r3, r3, #1 80b67bc: 2b00 cmp r3, #0 80b67be: d00c beq.n 80b67da { CLEAR_OUT_EP_INTR(epnum, USB_OTG_DOEPINT_XFRC); 80b67c0: 6a7b ldr r3, [r7, #36] ; 0x24 80b67c2: 015a lsls r2, r3, #5 80b67c4: 69fb ldr r3, [r7, #28] 80b67c6: 4413 add r3, r2 80b67c8: f503 6330 add.w r3, r3, #2816 ; 0xb00 80b67cc: 461a mov r2, r3 80b67ce: 2301 movs r3, #1 80b67d0: 6093 str r3, [r2, #8] (void)PCD_EP_OutXfrComplete_int(hpcd, epnum); 80b67d2: 6a79 ldr r1, [r7, #36] ; 0x24 80b67d4: 6878 ldr r0, [r7, #4] 80b67d6: f000 fe07 bl 80b73e8 } if ((epint & USB_OTG_DOEPINT_STUP) == USB_OTG_DOEPINT_STUP) 80b67da: 693b ldr r3, [r7, #16] 80b67dc: f003 0308 and.w r3, r3, #8 80b67e0: 2b00 cmp r3, #0 80b67e2: d00c beq.n 80b67fe { CLEAR_OUT_EP_INTR(epnum, USB_OTG_DOEPINT_STUP); 80b67e4: 6a7b ldr r3, [r7, #36] ; 0x24 80b67e6: 015a lsls r2, r3, #5 80b67e8: 69fb ldr r3, [r7, #28] 80b67ea: 4413 add r3, r2 80b67ec: f503 6330 add.w r3, r3, #2816 ; 0xb00 80b67f0: 461a mov r2, r3 80b67f2: 2308 movs r3, #8 80b67f4: 6093 str r3, [r2, #8] /* Class B setup phase done for previous decoded setup */ (void)PCD_EP_OutSetupPacket_int(hpcd, epnum); 80b67f6: 6a79 ldr r1, [r7, #36] ; 0x24 80b67f8: 6878 ldr r0, [r7, #4] 80b67fa: f000 ff01 bl 80b7600 } if ((epint & USB_OTG_DOEPINT_OTEPDIS) == USB_OTG_DOEPINT_OTEPDIS) 80b67fe: 693b ldr r3, [r7, #16] 80b6800: f003 0310 and.w r3, r3, #16 80b6804: 2b00 cmp r3, #0 80b6806: d008 beq.n 80b681a { CLEAR_OUT_EP_INTR(epnum, USB_OTG_DOEPINT_OTEPDIS); 80b6808: 6a7b ldr r3, [r7, #36] ; 0x24 80b680a: 015a lsls r2, r3, #5 80b680c: 69fb ldr r3, [r7, #28] 80b680e: 4413 add r3, r2 80b6810: f503 6330 add.w r3, r3, #2816 ; 0xb00 80b6814: 461a mov r2, r3 80b6816: 2310 movs r3, #16 80b6818: 6093 str r3, [r2, #8] } /* Clear Status Phase Received interrupt */ if ((epint & USB_OTG_DOEPINT_OTEPSPR) == USB_OTG_DOEPINT_OTEPSPR) 80b681a: 693b ldr r3, [r7, #16] 80b681c: f003 0320 and.w r3, r3, #32 80b6820: 2b00 cmp r3, #0 80b6822: d008 beq.n 80b6836 { CLEAR_OUT_EP_INTR(epnum, USB_OTG_DOEPINT_OTEPSPR); 80b6824: 6a7b ldr r3, [r7, #36] ; 0x24 80b6826: 015a lsls r2, r3, #5 80b6828: 69fb ldr r3, [r7, #28] 80b682a: 4413 add r3, r2 80b682c: f503 6330 add.w r3, r3, #2816 ; 0xb00 80b6830: 461a mov r2, r3 80b6832: 2320 movs r3, #32 80b6834: 6093 str r3, [r2, #8] } /* Clear OUT NAK interrupt */ if ((epint & USB_OTG_DOEPINT_NAK) == USB_OTG_DOEPINT_NAK) 80b6836: 693b ldr r3, [r7, #16] 80b6838: f403 5300 and.w r3, r3, #8192 ; 0x2000 80b683c: 2b00 cmp r3, #0 80b683e: d009 beq.n 80b6854 { CLEAR_OUT_EP_INTR(epnum, USB_OTG_DOEPINT_NAK); 80b6840: 6a7b ldr r3, [r7, #36] ; 0x24 80b6842: 015a lsls r2, r3, #5 80b6844: 69fb ldr r3, [r7, #28] 80b6846: 4413 add r3, r2 80b6848: f503 6330 add.w r3, r3, #2816 ; 0xb00 80b684c: 461a mov r2, r3 80b684e: f44f 5300 mov.w r3, #8192 ; 0x2000 80b6852: 6093 str r3, [r2, #8] } } epnum++; 80b6854: 6a7b ldr r3, [r7, #36] ; 0x24 80b6856: 3301 adds r3, #1 80b6858: 627b str r3, [r7, #36] ; 0x24 ep_intr >>= 1U; 80b685a: 6abb ldr r3, [r7, #40] ; 0x28 80b685c: 085b lsrs r3, r3, #1 80b685e: 62bb str r3, [r7, #40] ; 0x28 while (ep_intr != 0U) 80b6860: 6abb ldr r3, [r7, #40] ; 0x28 80b6862: 2b00 cmp r3, #0 80b6864: d199 bne.n 80b679a } } if (__HAL_PCD_GET_FLAG(hpcd, USB_OTG_GINTSTS_IEPINT)) 80b6866: 687b ldr r3, [r7, #4] 80b6868: 681b ldr r3, [r3, #0] 80b686a: 4618 mov r0, r3 80b686c: f008 fdcd bl 80bf40a 80b6870: 4603 mov r3, r0 80b6872: f403 2380 and.w r3, r3, #262144 ; 0x40000 80b6876: f5b3 2f80 cmp.w r3, #262144 ; 0x40000 80b687a: f040 80c1 bne.w 80b6a00 { /* Read in the device interrupt bits */ ep_intr = USB_ReadDevAllInEpInterrupt(hpcd->Instance); 80b687e: 687b ldr r3, [r7, #4] 80b6880: 681b ldr r3, [r3, #0] 80b6882: 4618 mov r0, r3 80b6884: f008 fdee bl 80bf464 80b6888: 62b8 str r0, [r7, #40] ; 0x28 epnum = 0U; 80b688a: 2300 movs r3, #0 80b688c: 627b str r3, [r7, #36] ; 0x24 while (ep_intr != 0U) 80b688e: e0b3 b.n 80b69f8 { if ((ep_intr & 0x1U) != 0U) /* In ITR */ 80b6890: 6abb ldr r3, [r7, #40] ; 0x28 80b6892: f003 0301 and.w r3, r3, #1 80b6896: 2b00 cmp r3, #0 80b6898: f000 80a8 beq.w 80b69ec { epint = USB_ReadDevInEPInterrupt(hpcd->Instance, (uint8_t)epnum); 80b689c: 687b ldr r3, [r7, #4] 80b689e: 681b ldr r3, [r3, #0] 80b68a0: 6a7a ldr r2, [r7, #36] ; 0x24 80b68a2: b2d2 uxtb r2, r2 80b68a4: 4611 mov r1, r2 80b68a6: 4618 mov r0, r3 80b68a8: f008 fe14 bl 80bf4d4 80b68ac: 6138 str r0, [r7, #16] if ((epint & USB_OTG_DIEPINT_XFRC) == USB_OTG_DIEPINT_XFRC) 80b68ae: 693b ldr r3, [r7, #16] 80b68b0: f003 0301 and.w r3, r3, #1 80b68b4: 2b00 cmp r3, #0 80b68b6: d058 beq.n 80b696a { fifoemptymsk = (uint32_t)(0x1UL << (epnum & EP_ADDR_MSK)); 80b68b8: 6a7b ldr r3, [r7, #36] ; 0x24 80b68ba: f003 030f and.w r3, r3, #15 80b68be: 2201 movs r2, #1 80b68c0: fa02 f303 lsl.w r3, r2, r3 80b68c4: 60fb str r3, [r7, #12] USBx_DEVICE->DIEPEMPMSK &= ~fifoemptymsk; 80b68c6: 69fb ldr r3, [r7, #28] 80b68c8: f503 6300 add.w r3, r3, #2048 ; 0x800 80b68cc: 4619 mov r1, r3 80b68ce: 69fb ldr r3, [r7, #28] 80b68d0: f503 6300 add.w r3, r3, #2048 ; 0x800 80b68d4: 6b5a ldr r2, [r3, #52] ; 0x34 80b68d6: 68fb ldr r3, [r7, #12] 80b68d8: 43db mvns r3, r3 80b68da: 4013 ands r3, r2 80b68dc: 634b str r3, [r1, #52] ; 0x34 CLEAR_IN_EP_INTR(epnum, USB_OTG_DIEPINT_XFRC); 80b68de: 6a7b ldr r3, [r7, #36] ; 0x24 80b68e0: 015a lsls r2, r3, #5 80b68e2: 69fb ldr r3, [r7, #28] 80b68e4: 4413 add r3, r2 80b68e6: f503 6310 add.w r3, r3, #2304 ; 0x900 80b68ea: 461a mov r2, r3 80b68ec: 2301 movs r3, #1 80b68ee: 6093 str r3, [r2, #8] if (hpcd->Init.dma_enable == 1U) 80b68f0: 687b ldr r3, [r7, #4] 80b68f2: 691b ldr r3, [r3, #16] 80b68f4: 2b01 cmp r3, #1 80b68f6: d132 bne.n 80b695e { hpcd->IN_ep[epnum].xfer_buff += hpcd->IN_ep[epnum].maxpacket; 80b68f8: 6879 ldr r1, [r7, #4] 80b68fa: 6a7a ldr r2, [r7, #36] ; 0x24 80b68fc: 4613 mov r3, r2 80b68fe: 00db lsls r3, r3, #3 80b6900: 1a9b subs r3, r3, r2 80b6902: 009b lsls r3, r3, #2 80b6904: 440b add r3, r1 80b6906: 3348 adds r3, #72 ; 0x48 80b6908: 6819 ldr r1, [r3, #0] 80b690a: 6878 ldr r0, [r7, #4] 80b690c: 6a7a ldr r2, [r7, #36] ; 0x24 80b690e: 4613 mov r3, r2 80b6910: 00db lsls r3, r3, #3 80b6912: 1a9b subs r3, r3, r2 80b6914: 009b lsls r3, r3, #2 80b6916: 4403 add r3, r0 80b6918: 3344 adds r3, #68 ; 0x44 80b691a: 681b ldr r3, [r3, #0] 80b691c: 4419 add r1, r3 80b691e: 6878 ldr r0, [r7, #4] 80b6920: 6a7a ldr r2, [r7, #36] ; 0x24 80b6922: 4613 mov r3, r2 80b6924: 00db lsls r3, r3, #3 80b6926: 1a9b subs r3, r3, r2 80b6928: 009b lsls r3, r3, #2 80b692a: 4403 add r3, r0 80b692c: 3348 adds r3, #72 ; 0x48 80b692e: 6019 str r1, [r3, #0] /* this is ZLP, so prepare EP0 for next setup */ if ((epnum == 0U) && (hpcd->IN_ep[epnum].xfer_len == 0U)) 80b6930: 6a7b ldr r3, [r7, #36] ; 0x24 80b6932: 2b00 cmp r3, #0 80b6934: d113 bne.n 80b695e 80b6936: 6879 ldr r1, [r7, #4] 80b6938: 6a7a ldr r2, [r7, #36] ; 0x24 80b693a: 4613 mov r3, r2 80b693c: 00db lsls r3, r3, #3 80b693e: 1a9b subs r3, r3, r2 80b6940: 009b lsls r3, r3, #2 80b6942: 440b add r3, r1 80b6944: 3350 adds r3, #80 ; 0x50 80b6946: 681b ldr r3, [r3, #0] 80b6948: 2b00 cmp r3, #0 80b694a: d108 bne.n 80b695e { /* prepare to rx more setup packets */ (void)USB_EP0_OutStart(hpcd->Instance, 1U, (uint8_t *)hpcd->Setup); 80b694c: 687b ldr r3, [r7, #4] 80b694e: 6818 ldr r0, [r3, #0] 80b6950: 687b ldr r3, [r7, #4] 80b6952: f503 7371 add.w r3, r3, #964 ; 0x3c4 80b6956: 461a mov r2, r3 80b6958: 2101 movs r1, #1 80b695a: f008 fe1d bl 80bf598 } #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) hpcd->DataInStageCallback(hpcd, (uint8_t)epnum); #else HAL_PCD_DataInStageCallback(hpcd, (uint8_t)epnum); 80b695e: 6a7b ldr r3, [r7, #36] ; 0x24 80b6960: b2db uxtb r3, r3 80b6962: 4619 mov r1, r3 80b6964: 6878 ldr r0, [r7, #4] 80b6966: f012 fe92 bl 80c968e #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ } if ((epint & USB_OTG_DIEPINT_TOC) == USB_OTG_DIEPINT_TOC) 80b696a: 693b ldr r3, [r7, #16] 80b696c: f003 0308 and.w r3, r3, #8 80b6970: 2b00 cmp r3, #0 80b6972: d008 beq.n 80b6986 { CLEAR_IN_EP_INTR(epnum, USB_OTG_DIEPINT_TOC); 80b6974: 6a7b ldr r3, [r7, #36] ; 0x24 80b6976: 015a lsls r2, r3, #5 80b6978: 69fb ldr r3, [r7, #28] 80b697a: 4413 add r3, r2 80b697c: f503 6310 add.w r3, r3, #2304 ; 0x900 80b6980: 461a mov r2, r3 80b6982: 2308 movs r3, #8 80b6984: 6093 str r3, [r2, #8] } if ((epint & USB_OTG_DIEPINT_ITTXFE) == USB_OTG_DIEPINT_ITTXFE) 80b6986: 693b ldr r3, [r7, #16] 80b6988: f003 0310 and.w r3, r3, #16 80b698c: 2b00 cmp r3, #0 80b698e: d008 beq.n 80b69a2 { CLEAR_IN_EP_INTR(epnum, USB_OTG_DIEPINT_ITTXFE); 80b6990: 6a7b ldr r3, [r7, #36] ; 0x24 80b6992: 015a lsls r2, r3, #5 80b6994: 69fb ldr r3, [r7, #28] 80b6996: 4413 add r3, r2 80b6998: f503 6310 add.w r3, r3, #2304 ; 0x900 80b699c: 461a mov r2, r3 80b699e: 2310 movs r3, #16 80b69a0: 6093 str r3, [r2, #8] } if ((epint & USB_OTG_DIEPINT_INEPNE) == USB_OTG_DIEPINT_INEPNE) 80b69a2: 693b ldr r3, [r7, #16] 80b69a4: f003 0340 and.w r3, r3, #64 ; 0x40 80b69a8: 2b00 cmp r3, #0 80b69aa: d008 beq.n 80b69be { CLEAR_IN_EP_INTR(epnum, USB_OTG_DIEPINT_INEPNE); 80b69ac: 6a7b ldr r3, [r7, #36] ; 0x24 80b69ae: 015a lsls r2, r3, #5 80b69b0: 69fb ldr r3, [r7, #28] 80b69b2: 4413 add r3, r2 80b69b4: f503 6310 add.w r3, r3, #2304 ; 0x900 80b69b8: 461a mov r2, r3 80b69ba: 2340 movs r3, #64 ; 0x40 80b69bc: 6093 str r3, [r2, #8] } if ((epint & USB_OTG_DIEPINT_EPDISD) == USB_OTG_DIEPINT_EPDISD) 80b69be: 693b ldr r3, [r7, #16] 80b69c0: f003 0302 and.w r3, r3, #2 80b69c4: 2b00 cmp r3, #0 80b69c6: d008 beq.n 80b69da { CLEAR_IN_EP_INTR(epnum, USB_OTG_DIEPINT_EPDISD); 80b69c8: 6a7b ldr r3, [r7, #36] ; 0x24 80b69ca: 015a lsls r2, r3, #5 80b69cc: 69fb ldr r3, [r7, #28] 80b69ce: 4413 add r3, r2 80b69d0: f503 6310 add.w r3, r3, #2304 ; 0x900 80b69d4: 461a mov r2, r3 80b69d6: 2302 movs r3, #2 80b69d8: 6093 str r3, [r2, #8] } if ((epint & USB_OTG_DIEPINT_TXFE) == USB_OTG_DIEPINT_TXFE) 80b69da: 693b ldr r3, [r7, #16] 80b69dc: f003 0380 and.w r3, r3, #128 ; 0x80 80b69e0: 2b00 cmp r3, #0 80b69e2: d003 beq.n 80b69ec { (void)PCD_WriteEmptyTxFifo(hpcd, epnum); 80b69e4: 6a79 ldr r1, [r7, #36] ; 0x24 80b69e6: 6878 ldr r0, [r7, #4] 80b69e8: f000 fc6f bl 80b72ca } } epnum++; 80b69ec: 6a7b ldr r3, [r7, #36] ; 0x24 80b69ee: 3301 adds r3, #1 80b69f0: 627b str r3, [r7, #36] ; 0x24 ep_intr >>= 1U; 80b69f2: 6abb ldr r3, [r7, #40] ; 0x28 80b69f4: 085b lsrs r3, r3, #1 80b69f6: 62bb str r3, [r7, #40] ; 0x28 while (ep_intr != 0U) 80b69f8: 6abb ldr r3, [r7, #40] ; 0x28 80b69fa: 2b00 cmp r3, #0 80b69fc: f47f af48 bne.w 80b6890 } } /* Handle Resume Interrupt */ if (__HAL_PCD_GET_FLAG(hpcd, USB_OTG_GINTSTS_WKUINT)) 80b6a00: 687b ldr r3, [r7, #4] 80b6a02: 681b ldr r3, [r3, #0] 80b6a04: 4618 mov r0, r3 80b6a06: f008 fd00 bl 80bf40a 80b6a0a: 4603 mov r3, r0 80b6a0c: f003 4300 and.w r3, r3, #2147483648 ; 0x80000000 80b6a10: f1b3 4f00 cmp.w r3, #2147483648 ; 0x80000000 80b6a14: d123 bne.n 80b6a5e { /* Clear the Remote Wake-up Signaling */ USBx_DEVICE->DCTL &= ~USB_OTG_DCTL_RWUSIG; 80b6a16: 69fb ldr r3, [r7, #28] 80b6a18: f503 6300 add.w r3, r3, #2048 ; 0x800 80b6a1c: 461a mov r2, r3 80b6a1e: 69fb ldr r3, [r7, #28] 80b6a20: f503 6300 add.w r3, r3, #2048 ; 0x800 80b6a24: 685b ldr r3, [r3, #4] 80b6a26: f023 0301 bic.w r3, r3, #1 80b6a2a: 6053 str r3, [r2, #4] if (hpcd->LPM_State == LPM_L1) 80b6a2c: 687b ldr r3, [r7, #4] 80b6a2e: f893 33f4 ldrb.w r3, [r3, #1012] ; 0x3f4 80b6a32: 2b01 cmp r3, #1 80b6a34: d108 bne.n 80b6a48 { hpcd->LPM_State = LPM_L0; 80b6a36: 687b ldr r3, [r7, #4] 80b6a38: 2200 movs r2, #0 80b6a3a: 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); 80b6a3e: 2100 movs r1, #0 80b6a40: 6878 ldr r0, [r7, #4] 80b6a42: f013 f8b3 bl 80c9bac 80b6a46: e002 b.n 80b6a4e else { #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) hpcd->ResumeCallback(hpcd); #else HAL_PCD_ResumeCallback(hpcd); 80b6a48: 6878 ldr r0, [r7, #4] 80b6a4a: f012 fe99 bl 80c9780 #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ } __HAL_PCD_CLEAR_FLAG(hpcd, USB_OTG_GINTSTS_WKUINT); 80b6a4e: 687b ldr r3, [r7, #4] 80b6a50: 681b ldr r3, [r3, #0] 80b6a52: 687a ldr r2, [r7, #4] 80b6a54: 6812 ldr r2, [r2, #0] 80b6a56: 6952 ldr r2, [r2, #20] 80b6a58: f002 4200 and.w r2, r2, #2147483648 ; 0x80000000 80b6a5c: 615a str r2, [r3, #20] } /* Handle Suspend Interrupt */ if (__HAL_PCD_GET_FLAG(hpcd, USB_OTG_GINTSTS_USBSUSP)) 80b6a5e: 687b ldr r3, [r7, #4] 80b6a60: 681b ldr r3, [r3, #0] 80b6a62: 4618 mov r0, r3 80b6a64: f008 fcd1 bl 80bf40a 80b6a68: 4603 mov r3, r0 80b6a6a: f403 6300 and.w r3, r3, #2048 ; 0x800 80b6a6e: f5b3 6f00 cmp.w r3, #2048 ; 0x800 80b6a72: d112 bne.n 80b6a9a { if ((USBx_DEVICE->DSTS & USB_OTG_DSTS_SUSPSTS) == USB_OTG_DSTS_SUSPSTS) 80b6a74: 69fb ldr r3, [r7, #28] 80b6a76: f503 6300 add.w r3, r3, #2048 ; 0x800 80b6a7a: 689b ldr r3, [r3, #8] 80b6a7c: f003 0301 and.w r3, r3, #1 80b6a80: 2b01 cmp r3, #1 80b6a82: d102 bne.n 80b6a8a { #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) hpcd->SuspendCallback(hpcd); #else HAL_PCD_SuspendCallback(hpcd); 80b6a84: 6878 ldr r0, [r7, #4] 80b6a86: f012 fe53 bl 80c9730 #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ } __HAL_PCD_CLEAR_FLAG(hpcd, USB_OTG_GINTSTS_USBSUSP); 80b6a8a: 687b ldr r3, [r7, #4] 80b6a8c: 681b ldr r3, [r3, #0] 80b6a8e: 687a ldr r2, [r7, #4] 80b6a90: 6812 ldr r2, [r2, #0] 80b6a92: 6952 ldr r2, [r2, #20] 80b6a94: f402 6200 and.w r2, r2, #2048 ; 0x800 80b6a98: 615a str r2, [r3, #20] } /* Handle LPM Interrupt */ if (__HAL_PCD_GET_FLAG(hpcd, USB_OTG_GINTSTS_LPMINT)) 80b6a9a: 687b ldr r3, [r7, #4] 80b6a9c: 681b ldr r3, [r3, #0] 80b6a9e: 4618 mov r0, r3 80b6aa0: f008 fcb3 bl 80bf40a 80b6aa4: 4603 mov r3, r0 80b6aa6: f003 6300 and.w r3, r3, #134217728 ; 0x8000000 80b6aaa: f1b3 6f00 cmp.w r3, #134217728 ; 0x8000000 80b6aae: d121 bne.n 80b6af4 { __HAL_PCD_CLEAR_FLAG(hpcd, USB_OTG_GINTSTS_LPMINT); 80b6ab0: 687b ldr r3, [r7, #4] 80b6ab2: 681b ldr r3, [r3, #0] 80b6ab4: 687a ldr r2, [r7, #4] 80b6ab6: 6812 ldr r2, [r2, #0] 80b6ab8: 6952 ldr r2, [r2, #20] 80b6aba: f002 6200 and.w r2, r2, #134217728 ; 0x8000000 80b6abe: 615a str r2, [r3, #20] if (hpcd->LPM_State == LPM_L0) 80b6ac0: 687b ldr r3, [r7, #4] 80b6ac2: f893 33f4 ldrb.w r3, [r3, #1012] ; 0x3f4 80b6ac6: 2b00 cmp r3, #0 80b6ac8: d111 bne.n 80b6aee { hpcd->LPM_State = LPM_L1; 80b6aca: 687b ldr r3, [r7, #4] 80b6acc: 2201 movs r2, #1 80b6ace: f883 23f4 strb.w r2, [r3, #1012] ; 0x3f4 hpcd->BESL = (hpcd->Instance->GLPMCFG & USB_OTG_GLPMCFG_BESL) >> 2U; 80b6ad2: 687b ldr r3, [r7, #4] 80b6ad4: 681b ldr r3, [r3, #0] 80b6ad6: 6d5b ldr r3, [r3, #84] ; 0x54 80b6ad8: 089b lsrs r3, r3, #2 80b6ada: f003 020f and.w r2, r3, #15 80b6ade: 687b ldr r3, [r7, #4] 80b6ae0: 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); 80b6ae4: 2101 movs r1, #1 80b6ae6: 6878 ldr r0, [r7, #4] 80b6ae8: f013 f860 bl 80c9bac 80b6aec: e002 b.n 80b6af4 else { #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) hpcd->SuspendCallback(hpcd); #else HAL_PCD_SuspendCallback(hpcd); 80b6aee: 6878 ldr r0, [r7, #4] 80b6af0: f012 fe1e bl 80c9730 #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ } } /* Handle Reset Interrupt */ if (__HAL_PCD_GET_FLAG(hpcd, USB_OTG_GINTSTS_USBRST)) 80b6af4: 687b ldr r3, [r7, #4] 80b6af6: 681b ldr r3, [r3, #0] 80b6af8: 4618 mov r0, r3 80b6afa: f008 fc86 bl 80bf40a 80b6afe: 4603 mov r3, r0 80b6b00: f403 5380 and.w r3, r3, #4096 ; 0x1000 80b6b04: f5b3 5f80 cmp.w r3, #4096 ; 0x1000 80b6b08: f040 80c0 bne.w 80b6c8c { USBx_DEVICE->DCTL &= ~USB_OTG_DCTL_RWUSIG; 80b6b0c: 69fb ldr r3, [r7, #28] 80b6b0e: f503 6300 add.w r3, r3, #2048 ; 0x800 80b6b12: 461a mov r2, r3 80b6b14: 69fb ldr r3, [r7, #28] 80b6b16: f503 6300 add.w r3, r3, #2048 ; 0x800 80b6b1a: 685b ldr r3, [r3, #4] 80b6b1c: f023 0301 bic.w r3, r3, #1 80b6b20: 6053 str r3, [r2, #4] (void)USB_FlushTxFifo(hpcd->Instance, 0x10U); 80b6b22: 687b ldr r3, [r7, #4] 80b6b24: 681b ldr r3, [r3, #0] 80b6b26: 2110 movs r1, #16 80b6b28: 4618 mov r0, r3 80b6b2a: f007 fcc1 bl 80be4b0 for (i = 0U; i < hpcd->Init.dev_endpoints; i++) 80b6b2e: 2300 movs r3, #0 80b6b30: 62fb str r3, [r7, #44] ; 0x2c 80b6b32: e049 b.n 80b6bc8 { USBx_INEP(i)->DIEPINT = 0xFB7FU; 80b6b34: 6afb ldr r3, [r7, #44] ; 0x2c 80b6b36: 015a lsls r2, r3, #5 80b6b38: 69fb ldr r3, [r7, #28] 80b6b3a: 4413 add r3, r2 80b6b3c: f503 6310 add.w r3, r3, #2304 ; 0x900 80b6b40: 461a mov r2, r3 80b6b42: f64f 337f movw r3, #64383 ; 0xfb7f 80b6b46: 6093 str r3, [r2, #8] USBx_INEP(i)->DIEPCTL &= ~USB_OTG_DIEPCTL_STALL; 80b6b48: 6afb ldr r3, [r7, #44] ; 0x2c 80b6b4a: 015a lsls r2, r3, #5 80b6b4c: 69fb ldr r3, [r7, #28] 80b6b4e: 4413 add r3, r2 80b6b50: f503 6310 add.w r3, r3, #2304 ; 0x900 80b6b54: 4619 mov r1, r3 80b6b56: 6afb ldr r3, [r7, #44] ; 0x2c 80b6b58: 015a lsls r2, r3, #5 80b6b5a: 69fb ldr r3, [r7, #28] 80b6b5c: 4413 add r3, r2 80b6b5e: f503 6310 add.w r3, r3, #2304 ; 0x900 80b6b62: 681b ldr r3, [r3, #0] 80b6b64: f423 1300 bic.w r3, r3, #2097152 ; 0x200000 80b6b68: 600b str r3, [r1, #0] USBx_OUTEP(i)->DOEPINT = 0xFB7FU; 80b6b6a: 6afb ldr r3, [r7, #44] ; 0x2c 80b6b6c: 015a lsls r2, r3, #5 80b6b6e: 69fb ldr r3, [r7, #28] 80b6b70: 4413 add r3, r2 80b6b72: f503 6330 add.w r3, r3, #2816 ; 0xb00 80b6b76: 461a mov r2, r3 80b6b78: f64f 337f movw r3, #64383 ; 0xfb7f 80b6b7c: 6093 str r3, [r2, #8] USBx_OUTEP(i)->DOEPCTL &= ~USB_OTG_DOEPCTL_STALL; 80b6b7e: 6afb ldr r3, [r7, #44] ; 0x2c 80b6b80: 015a lsls r2, r3, #5 80b6b82: 69fb ldr r3, [r7, #28] 80b6b84: 4413 add r3, r2 80b6b86: f503 6330 add.w r3, r3, #2816 ; 0xb00 80b6b8a: 4619 mov r1, r3 80b6b8c: 6afb ldr r3, [r7, #44] ; 0x2c 80b6b8e: 015a lsls r2, r3, #5 80b6b90: 69fb ldr r3, [r7, #28] 80b6b92: 4413 add r3, r2 80b6b94: f503 6330 add.w r3, r3, #2816 ; 0xb00 80b6b98: 681b ldr r3, [r3, #0] 80b6b9a: f423 1300 bic.w r3, r3, #2097152 ; 0x200000 80b6b9e: 600b str r3, [r1, #0] USBx_OUTEP(i)->DOEPCTL |= USB_OTG_DOEPCTL_SNAK; 80b6ba0: 6afb ldr r3, [r7, #44] ; 0x2c 80b6ba2: 015a lsls r2, r3, #5 80b6ba4: 69fb ldr r3, [r7, #28] 80b6ba6: 4413 add r3, r2 80b6ba8: f503 6330 add.w r3, r3, #2816 ; 0xb00 80b6bac: 4619 mov r1, r3 80b6bae: 6afb ldr r3, [r7, #44] ; 0x2c 80b6bb0: 015a lsls r2, r3, #5 80b6bb2: 69fb ldr r3, [r7, #28] 80b6bb4: 4413 add r3, r2 80b6bb6: f503 6330 add.w r3, r3, #2816 ; 0xb00 80b6bba: 681b ldr r3, [r3, #0] 80b6bbc: f043 6300 orr.w r3, r3, #134217728 ; 0x8000000 80b6bc0: 600b str r3, [r1, #0] for (i = 0U; i < hpcd->Init.dev_endpoints; i++) 80b6bc2: 6afb ldr r3, [r7, #44] ; 0x2c 80b6bc4: 3301 adds r3, #1 80b6bc6: 62fb str r3, [r7, #44] ; 0x2c 80b6bc8: 687b ldr r3, [r7, #4] 80b6bca: 685a ldr r2, [r3, #4] 80b6bcc: 6afb ldr r3, [r7, #44] ; 0x2c 80b6bce: 429a cmp r2, r3 80b6bd0: d8b0 bhi.n 80b6b34 } USBx_DEVICE->DAINTMSK |= 0x10001U; 80b6bd2: 69fb ldr r3, [r7, #28] 80b6bd4: f503 6300 add.w r3, r3, #2048 ; 0x800 80b6bd8: 461a mov r2, r3 80b6bda: 69fb ldr r3, [r7, #28] 80b6bdc: f503 6300 add.w r3, r3, #2048 ; 0x800 80b6be0: 69db ldr r3, [r3, #28] 80b6be2: f043 1301 orr.w r3, r3, #65537 ; 0x10001 80b6be6: 61d3 str r3, [r2, #28] if (hpcd->Init.use_dedicated_ep1 != 0U) 80b6be8: 687b ldr r3, [r7, #4] 80b6bea: 6b1b ldr r3, [r3, #48] ; 0x30 80b6bec: 2b00 cmp r3, #0 80b6bee: d018 beq.n 80b6c22 { USBx_DEVICE->DOUTEP1MSK |= USB_OTG_DOEPMSK_STUPM | 80b6bf0: 69fb ldr r3, [r7, #28] 80b6bf2: f503 6300 add.w r3, r3, #2048 ; 0x800 80b6bf6: 461a mov r2, r3 80b6bf8: 69fb ldr r3, [r7, #28] 80b6bfa: f503 6300 add.w r3, r3, #2048 ; 0x800 80b6bfe: f8d3 3084 ldr.w r3, [r3, #132] ; 0x84 80b6c02: f043 030b orr.w r3, r3, #11 80b6c06: f8c2 3084 str.w r3, [r2, #132] ; 0x84 USB_OTG_DOEPMSK_XFRCM | USB_OTG_DOEPMSK_EPDM; USBx_DEVICE->DINEP1MSK |= USB_OTG_DIEPMSK_TOM | 80b6c0a: 69fb ldr r3, [r7, #28] 80b6c0c: f503 6300 add.w r3, r3, #2048 ; 0x800 80b6c10: 461a mov r2, r3 80b6c12: 69fb ldr r3, [r7, #28] 80b6c14: f503 6300 add.w r3, r3, #2048 ; 0x800 80b6c18: 6c5b ldr r3, [r3, #68] ; 0x44 80b6c1a: f043 030b orr.w r3, r3, #11 80b6c1e: 6453 str r3, [r2, #68] ; 0x44 80b6c20: e016 b.n 80b6c50 USB_OTG_DIEPMSK_XFRCM | USB_OTG_DIEPMSK_EPDM; } else { USBx_DEVICE->DOEPMSK |= USB_OTG_DOEPMSK_STUPM | 80b6c22: 69fb ldr r3, [r7, #28] 80b6c24: f503 6300 add.w r3, r3, #2048 ; 0x800 80b6c28: 4619 mov r1, r3 80b6c2a: 69fb ldr r3, [r7, #28] 80b6c2c: f503 6300 add.w r3, r3, #2048 ; 0x800 80b6c30: 695a ldr r2, [r3, #20] 80b6c32: f242 032b movw r3, #8235 ; 0x202b 80b6c36: 4313 orrs r3, r2 80b6c38: 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 | 80b6c3a: 69fb ldr r3, [r7, #28] 80b6c3c: f503 6300 add.w r3, r3, #2048 ; 0x800 80b6c40: 461a mov r2, r3 80b6c42: 69fb ldr r3, [r7, #28] 80b6c44: f503 6300 add.w r3, r3, #2048 ; 0x800 80b6c48: 691b ldr r3, [r3, #16] 80b6c4a: f043 030b orr.w r3, r3, #11 80b6c4e: 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; 80b6c50: 69fb ldr r3, [r7, #28] 80b6c52: f503 6300 add.w r3, r3, #2048 ; 0x800 80b6c56: 461a mov r2, r3 80b6c58: 69fb ldr r3, [r7, #28] 80b6c5a: f503 6300 add.w r3, r3, #2048 ; 0x800 80b6c5e: 681b ldr r3, [r3, #0] 80b6c60: f423 63fe bic.w r3, r3, #2032 ; 0x7f0 80b6c64: 6013 str r3, [r2, #0] /* setup EP0 to receive SETUP packets */ (void)USB_EP0_OutStart(hpcd->Instance, (uint8_t)hpcd->Init.dma_enable, 80b6c66: 687b ldr r3, [r7, #4] 80b6c68: 6818 ldr r0, [r3, #0] 80b6c6a: 687b ldr r3, [r7, #4] 80b6c6c: 691b ldr r3, [r3, #16] 80b6c6e: b2d9 uxtb r1, r3 (uint8_t *)hpcd->Setup); 80b6c70: 687b ldr r3, [r7, #4] 80b6c72: f503 7371 add.w r3, r3, #964 ; 0x3c4 (void)USB_EP0_OutStart(hpcd->Instance, (uint8_t)hpcd->Init.dma_enable, 80b6c76: 461a mov r2, r3 80b6c78: f008 fc8e bl 80bf598 __HAL_PCD_CLEAR_FLAG(hpcd, USB_OTG_GINTSTS_USBRST); 80b6c7c: 687b ldr r3, [r7, #4] 80b6c7e: 681b ldr r3, [r3, #0] 80b6c80: 687a ldr r2, [r7, #4] 80b6c82: 6812 ldr r2, [r2, #0] 80b6c84: 6952 ldr r2, [r2, #20] 80b6c86: f402 5280 and.w r2, r2, #4096 ; 0x1000 80b6c8a: 615a str r2, [r3, #20] } /* Handle Enumeration done Interrupt */ if (__HAL_PCD_GET_FLAG(hpcd, USB_OTG_GINTSTS_ENUMDNE)) 80b6c8c: 687b ldr r3, [r7, #4] 80b6c8e: 681b ldr r3, [r3, #0] 80b6c90: 4618 mov r0, r3 80b6c92: f008 fbba bl 80bf40a 80b6c96: 4603 mov r3, r0 80b6c98: f403 5300 and.w r3, r3, #8192 ; 0x2000 80b6c9c: f5b3 5f00 cmp.w r3, #8192 ; 0x2000 80b6ca0: d124 bne.n 80b6cec { (void)USB_ActivateSetup(hpcd->Instance); 80b6ca2: 687b ldr r3, [r7, #4] 80b6ca4: 681b ldr r3, [r3, #0] 80b6ca6: 4618 mov r0, r3 80b6ca8: f008 fc50 bl 80bf54c hpcd->Init.speed = USB_GetDevSpeed(hpcd->Instance); 80b6cac: 687b ldr r3, [r7, #4] 80b6cae: 681b ldr r3, [r3, #0] 80b6cb0: 4618 mov r0, r3 80b6cb2: f007 fc77 bl 80be5a4 80b6cb6: 4603 mov r3, r0 80b6cb8: 461a mov r2, r3 80b6cba: 687b ldr r3, [r7, #4] 80b6cbc: 60da str r2, [r3, #12] /* Set USB Turnaround time */ (void)USB_SetTurnaroundTime(hpcd->Instance, 80b6cbe: 687b ldr r3, [r7, #4] 80b6cc0: 681c ldr r4, [r3, #0] 80b6cc2: f001 fa0f bl 80b80e4 80b6cc6: 4601 mov r1, r0 HAL_RCC_GetHCLKFreq(), (uint8_t)hpcd->Init.speed); 80b6cc8: 687b ldr r3, [r7, #4] 80b6cca: 68db ldr r3, [r3, #12] (void)USB_SetTurnaroundTime(hpcd->Instance, 80b6ccc: b2db uxtb r3, r3 80b6cce: 461a mov r2, r3 80b6cd0: 4620 mov r0, r4 80b6cd2: f007 f97d bl 80bdfd0 #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) hpcd->ResetCallback(hpcd); #else HAL_PCD_ResetCallback(hpcd); 80b6cd6: 6878 ldr r0, [r7, #4] 80b6cd8: f012 fd01 bl 80c96de #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ __HAL_PCD_CLEAR_FLAG(hpcd, USB_OTG_GINTSTS_ENUMDNE); 80b6cdc: 687b ldr r3, [r7, #4] 80b6cde: 681b ldr r3, [r3, #0] 80b6ce0: 687a ldr r2, [r7, #4] 80b6ce2: 6812 ldr r2, [r2, #0] 80b6ce4: 6952 ldr r2, [r2, #20] 80b6ce6: f402 5200 and.w r2, r2, #8192 ; 0x2000 80b6cea: 615a str r2, [r3, #20] } /* Handle SOF Interrupt */ if (__HAL_PCD_GET_FLAG(hpcd, USB_OTG_GINTSTS_SOF)) 80b6cec: 687b ldr r3, [r7, #4] 80b6cee: 681b ldr r3, [r3, #0] 80b6cf0: 4618 mov r0, r3 80b6cf2: f008 fb8a bl 80bf40a 80b6cf6: 4603 mov r3, r0 80b6cf8: f003 0308 and.w r3, r3, #8 80b6cfc: 2b08 cmp r3, #8 80b6cfe: d10a bne.n 80b6d16 { #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) hpcd->SOFCallback(hpcd); #else HAL_PCD_SOFCallback(hpcd); 80b6d00: 6878 ldr r0, [r7, #4] 80b6d02: f012 fcde bl 80c96c2 #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ __HAL_PCD_CLEAR_FLAG(hpcd, USB_OTG_GINTSTS_SOF); 80b6d06: 687b ldr r3, [r7, #4] 80b6d08: 681b ldr r3, [r3, #0] 80b6d0a: 687a ldr r2, [r7, #4] 80b6d0c: 6812 ldr r2, [r2, #0] 80b6d0e: 6952 ldr r2, [r2, #20] 80b6d10: f002 0208 and.w r2, r2, #8 80b6d14: 615a str r2, [r3, #20] } /* Handle Incomplete ISO IN Interrupt */ if (__HAL_PCD_GET_FLAG(hpcd, USB_OTG_GINTSTS_IISOIXFR)) 80b6d16: 687b ldr r3, [r7, #4] 80b6d18: 681b ldr r3, [r3, #0] 80b6d1a: 4618 mov r0, r3 80b6d1c: f008 fb75 bl 80bf40a 80b6d20: 4603 mov r3, r0 80b6d22: f403 1380 and.w r3, r3, #1048576 ; 0x100000 80b6d26: f5b3 1f80 cmp.w r3, #1048576 ; 0x100000 80b6d2a: d10f bne.n 80b6d4c { /* Keep application checking the corresponding Iso IN endpoint causing the incomplete Interrupt */ epnum = 0U; 80b6d2c: 2300 movs r3, #0 80b6d2e: 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); 80b6d30: 6a7b ldr r3, [r7, #36] ; 0x24 80b6d32: b2db uxtb r3, r3 80b6d34: 4619 mov r1, r3 80b6d36: 6878 ldr r0, [r7, #4] 80b6d38: f012 fd42 bl 80c97c0 #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ __HAL_PCD_CLEAR_FLAG(hpcd, USB_OTG_GINTSTS_IISOIXFR); 80b6d3c: 687b ldr r3, [r7, #4] 80b6d3e: 681b ldr r3, [r3, #0] 80b6d40: 687a ldr r2, [r7, #4] 80b6d42: 6812 ldr r2, [r2, #0] 80b6d44: 6952 ldr r2, [r2, #20] 80b6d46: f402 1280 and.w r2, r2, #1048576 ; 0x100000 80b6d4a: 615a str r2, [r3, #20] } /* Handle Incomplete ISO OUT Interrupt */ if (__HAL_PCD_GET_FLAG(hpcd, USB_OTG_GINTSTS_PXFR_INCOMPISOOUT)) 80b6d4c: 687b ldr r3, [r7, #4] 80b6d4e: 681b ldr r3, [r3, #0] 80b6d50: 4618 mov r0, r3 80b6d52: f008 fb5a bl 80bf40a 80b6d56: 4603 mov r3, r0 80b6d58: f403 1300 and.w r3, r3, #2097152 ; 0x200000 80b6d5c: f5b3 1f00 cmp.w r3, #2097152 ; 0x200000 80b6d60: d10f bne.n 80b6d82 { /* Keep application checking the corresponding Iso OUT endpoint causing the incomplete Interrupt */ epnum = 0U; 80b6d62: 2300 movs r3, #0 80b6d64: 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); 80b6d66: 6a7b ldr r3, [r7, #36] ; 0x24 80b6d68: b2db uxtb r3, r3 80b6d6a: 4619 mov r1, r3 80b6d6c: 6878 ldr r0, [r7, #4] 80b6d6e: f012 fd15 bl 80c979c #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ __HAL_PCD_CLEAR_FLAG(hpcd, USB_OTG_GINTSTS_PXFR_INCOMPISOOUT); 80b6d72: 687b ldr r3, [r7, #4] 80b6d74: 681b ldr r3, [r3, #0] 80b6d76: 687a ldr r2, [r7, #4] 80b6d78: 6812 ldr r2, [r2, #0] 80b6d7a: 6952 ldr r2, [r2, #20] 80b6d7c: f402 1200 and.w r2, r2, #2097152 ; 0x200000 80b6d80: 615a str r2, [r3, #20] } /* Handle Connection event Interrupt */ if (__HAL_PCD_GET_FLAG(hpcd, USB_OTG_GINTSTS_SRQINT)) 80b6d82: 687b ldr r3, [r7, #4] 80b6d84: 681b ldr r3, [r3, #0] 80b6d86: 4618 mov r0, r3 80b6d88: f008 fb3f bl 80bf40a 80b6d8c: 4603 mov r3, r0 80b6d8e: f003 4380 and.w r3, r3, #1073741824 ; 0x40000000 80b6d92: f1b3 4f80 cmp.w r3, #1073741824 ; 0x40000000 80b6d96: d10a bne.n 80b6dae { #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) hpcd->ConnectCallback(hpcd); #else HAL_PCD_ConnectCallback(hpcd); 80b6d98: 6878 ldr r0, [r7, #4] 80b6d9a: f012 fd23 bl 80c97e4 #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ __HAL_PCD_CLEAR_FLAG(hpcd, USB_OTG_GINTSTS_SRQINT); 80b6d9e: 687b ldr r3, [r7, #4] 80b6da0: 681b ldr r3, [r3, #0] 80b6da2: 687a ldr r2, [r7, #4] 80b6da4: 6812 ldr r2, [r2, #0] 80b6da6: 6952 ldr r2, [r2, #20] 80b6da8: f002 4280 and.w r2, r2, #1073741824 ; 0x40000000 80b6dac: 615a str r2, [r3, #20] } /* Handle Disconnection event Interrupt */ if (__HAL_PCD_GET_FLAG(hpcd, USB_OTG_GINTSTS_OTGINT)) 80b6dae: 687b ldr r3, [r7, #4] 80b6db0: 681b ldr r3, [r3, #0] 80b6db2: 4618 mov r0, r3 80b6db4: f008 fb29 bl 80bf40a 80b6db8: 4603 mov r3, r0 80b6dba: f003 0304 and.w r3, r3, #4 80b6dbe: 2b04 cmp r3, #4 80b6dc0: d115 bne.n 80b6dee { temp = hpcd->Instance->GOTGINT; 80b6dc2: 687b ldr r3, [r7, #4] 80b6dc4: 681b ldr r3, [r3, #0] 80b6dc6: 685b ldr r3, [r3, #4] 80b6dc8: 61bb str r3, [r7, #24] if ((temp & USB_OTG_GOTGINT_SEDET) == USB_OTG_GOTGINT_SEDET) 80b6dca: 69bb ldr r3, [r7, #24] 80b6dcc: f003 0304 and.w r3, r3, #4 80b6dd0: 2b00 cmp r3, #0 80b6dd2: d002 beq.n 80b6dda { #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) hpcd->DisconnectCallback(hpcd); #else HAL_PCD_DisconnectCallback(hpcd); 80b6dd4: 6878 ldr r0, [r7, #4] 80b6dd6: f012 fd1f bl 80c9818 #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ } hpcd->Instance->GOTGINT |= temp; 80b6dda: 687b ldr r3, [r7, #4] 80b6ddc: 681b ldr r3, [r3, #0] 80b6dde: 687a ldr r2, [r7, #4] 80b6de0: 6812 ldr r2, [r2, #0] 80b6de2: 6851 ldr r1, [r2, #4] 80b6de4: 69ba ldr r2, [r7, #24] 80b6de6: 430a orrs r2, r1 80b6de8: 605a str r2, [r3, #4] 80b6dea: e000 b.n 80b6dee return; 80b6dec: bf00 nop } } } 80b6dee: 3734 adds r7, #52 ; 0x34 80b6df0: 46bd mov sp, r7 80b6df2: bd90 pop {r4, r7, pc} 080b6df4 : * @param hpcd PCD handle * @param address new device address * @retval HAL status */ HAL_StatusTypeDef HAL_PCD_SetAddress(PCD_HandleTypeDef *hpcd, uint8_t address) { 80b6df4: b580 push {r7, lr} 80b6df6: b082 sub sp, #8 80b6df8: af00 add r7, sp, #0 80b6dfa: 6078 str r0, [r7, #4] 80b6dfc: 460b mov r3, r1 80b6dfe: 70fb strb r3, [r7, #3] __HAL_LOCK(hpcd); 80b6e00: 687b ldr r3, [r7, #4] 80b6e02: f893 33bc ldrb.w r3, [r3, #956] ; 0x3bc 80b6e06: 2b01 cmp r3, #1 80b6e08: d101 bne.n 80b6e0e 80b6e0a: 2302 movs r3, #2 80b6e0c: e013 b.n 80b6e36 80b6e0e: 687b ldr r3, [r7, #4] 80b6e10: 2201 movs r2, #1 80b6e12: f883 23bc strb.w r2, [r3, #956] ; 0x3bc hpcd->USB_Address = address; 80b6e16: 687b ldr r3, [r7, #4] 80b6e18: 78fa ldrb r2, [r7, #3] 80b6e1a: f883 2038 strb.w r2, [r3, #56] ; 0x38 (void)USB_SetDevAddress(hpcd->Instance, address); 80b6e1e: 687b ldr r3, [r7, #4] 80b6e20: 681b ldr r3, [r3, #0] 80b6e22: 78fa ldrb r2, [r7, #3] 80b6e24: 4611 mov r1, r2 80b6e26: 4618 mov r0, r3 80b6e28: f008 fa81 bl 80bf32e __HAL_UNLOCK(hpcd); 80b6e2c: 687b ldr r3, [r7, #4] 80b6e2e: 2200 movs r2, #0 80b6e30: f883 23bc strb.w r2, [r3, #956] ; 0x3bc return HAL_OK; 80b6e34: 2300 movs r3, #0 } 80b6e36: 4618 mov r0, r3 80b6e38: 3708 adds r7, #8 80b6e3a: 46bd mov sp, r7 80b6e3c: bd80 pop {r7, pc} 080b6e3e : * @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) { 80b6e3e: b580 push {r7, lr} 80b6e40: b084 sub sp, #16 80b6e42: af00 add r7, sp, #0 80b6e44: 6078 str r0, [r7, #4] 80b6e46: 4608 mov r0, r1 80b6e48: 4611 mov r1, r2 80b6e4a: 461a mov r2, r3 80b6e4c: 4603 mov r3, r0 80b6e4e: 70fb strb r3, [r7, #3] 80b6e50: 460b mov r3, r1 80b6e52: 803b strh r3, [r7, #0] 80b6e54: 4613 mov r3, r2 80b6e56: 70bb strb r3, [r7, #2] HAL_StatusTypeDef ret = HAL_OK; 80b6e58: 2300 movs r3, #0 80b6e5a: 72fb strb r3, [r7, #11] PCD_EPTypeDef *ep; if ((ep_addr & 0x80U) == 0x80U) 80b6e5c: f997 3003 ldrsb.w r3, [r7, #3] 80b6e60: 2b00 cmp r3, #0 80b6e62: da0f bge.n 80b6e84 { ep = &hpcd->IN_ep[ep_addr & EP_ADDR_MSK]; 80b6e64: 78fb ldrb r3, [r7, #3] 80b6e66: f003 020f and.w r2, r3, #15 80b6e6a: 4613 mov r3, r2 80b6e6c: 00db lsls r3, r3, #3 80b6e6e: 1a9b subs r3, r3, r2 80b6e70: 009b lsls r3, r3, #2 80b6e72: 3338 adds r3, #56 ; 0x38 80b6e74: 687a ldr r2, [r7, #4] 80b6e76: 4413 add r3, r2 80b6e78: 3304 adds r3, #4 80b6e7a: 60fb str r3, [r7, #12] ep->is_in = 1U; 80b6e7c: 68fb ldr r3, [r7, #12] 80b6e7e: 2201 movs r2, #1 80b6e80: 705a strb r2, [r3, #1] 80b6e82: e00f b.n 80b6ea4 } else { ep = &hpcd->OUT_ep[ep_addr & EP_ADDR_MSK]; 80b6e84: 78fb ldrb r3, [r7, #3] 80b6e86: f003 020f and.w r2, r3, #15 80b6e8a: 4613 mov r3, r2 80b6e8c: 00db lsls r3, r3, #3 80b6e8e: 1a9b subs r3, r3, r2 80b6e90: 009b lsls r3, r3, #2 80b6e92: f503 73fc add.w r3, r3, #504 ; 0x1f8 80b6e96: 687a ldr r2, [r7, #4] 80b6e98: 4413 add r3, r2 80b6e9a: 3304 adds r3, #4 80b6e9c: 60fb str r3, [r7, #12] ep->is_in = 0U; 80b6e9e: 68fb ldr r3, [r7, #12] 80b6ea0: 2200 movs r2, #0 80b6ea2: 705a strb r2, [r3, #1] } ep->num = ep_addr & EP_ADDR_MSK; 80b6ea4: 78fb ldrb r3, [r7, #3] 80b6ea6: f003 030f and.w r3, r3, #15 80b6eaa: b2da uxtb r2, r3 80b6eac: 68fb ldr r3, [r7, #12] 80b6eae: 701a strb r2, [r3, #0] ep->maxpacket = ep_mps; 80b6eb0: 883a ldrh r2, [r7, #0] 80b6eb2: 68fb ldr r3, [r7, #12] 80b6eb4: 609a str r2, [r3, #8] ep->type = ep_type; 80b6eb6: 68fb ldr r3, [r7, #12] 80b6eb8: 78ba ldrb r2, [r7, #2] 80b6eba: 70da strb r2, [r3, #3] if (ep->is_in != 0U) 80b6ebc: 68fb ldr r3, [r7, #12] 80b6ebe: 785b ldrb r3, [r3, #1] 80b6ec0: 2b00 cmp r3, #0 80b6ec2: d004 beq.n 80b6ece { /* Assign a Tx FIFO */ ep->tx_fifo_num = ep->num; 80b6ec4: 68fb ldr r3, [r7, #12] 80b6ec6: 781b ldrb r3, [r3, #0] 80b6ec8: b29a uxth r2, r3 80b6eca: 68fb ldr r3, [r7, #12] 80b6ecc: 80da strh r2, [r3, #6] } /* Set initial data PID. */ if (ep_type == EP_TYPE_BULK) 80b6ece: 78bb ldrb r3, [r7, #2] 80b6ed0: 2b02 cmp r3, #2 80b6ed2: d102 bne.n 80b6eda { ep->data_pid_start = 0U; 80b6ed4: 68fb ldr r3, [r7, #12] 80b6ed6: 2200 movs r2, #0 80b6ed8: 711a strb r2, [r3, #4] } __HAL_LOCK(hpcd); 80b6eda: 687b ldr r3, [r7, #4] 80b6edc: f893 33bc ldrb.w r3, [r3, #956] ; 0x3bc 80b6ee0: 2b01 cmp r3, #1 80b6ee2: d101 bne.n 80b6ee8 80b6ee4: 2302 movs r3, #2 80b6ee6: e00e b.n 80b6f06 80b6ee8: 687b ldr r3, [r7, #4] 80b6eea: 2201 movs r2, #1 80b6eec: f883 23bc strb.w r2, [r3, #956] ; 0x3bc (void)USB_ActivateEndpoint(hpcd->Instance, ep); 80b6ef0: 687b ldr r3, [r7, #4] 80b6ef2: 681b ldr r3, [r3, #0] 80b6ef4: 68f9 ldr r1, [r7, #12] 80b6ef6: 4618 mov r0, r3 80b6ef8: f007 fb7a bl 80be5f0 __HAL_UNLOCK(hpcd); 80b6efc: 687b ldr r3, [r7, #4] 80b6efe: 2200 movs r2, #0 80b6f00: f883 23bc strb.w r2, [r3, #956] ; 0x3bc return ret; 80b6f04: 7afb ldrb r3, [r7, #11] } 80b6f06: 4618 mov r0, r3 80b6f08: 3710 adds r7, #16 80b6f0a: 46bd mov sp, r7 80b6f0c: bd80 pop {r7, pc} 080b6f0e : * @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) { 80b6f0e: b580 push {r7, lr} 80b6f10: b084 sub sp, #16 80b6f12: af00 add r7, sp, #0 80b6f14: 6078 str r0, [r7, #4] 80b6f16: 460b mov r3, r1 80b6f18: 70fb strb r3, [r7, #3] PCD_EPTypeDef *ep; if ((ep_addr & 0x80U) == 0x80U) 80b6f1a: f997 3003 ldrsb.w r3, [r7, #3] 80b6f1e: 2b00 cmp r3, #0 80b6f20: da0f bge.n 80b6f42 { ep = &hpcd->IN_ep[ep_addr & EP_ADDR_MSK]; 80b6f22: 78fb ldrb r3, [r7, #3] 80b6f24: f003 020f and.w r2, r3, #15 80b6f28: 4613 mov r3, r2 80b6f2a: 00db lsls r3, r3, #3 80b6f2c: 1a9b subs r3, r3, r2 80b6f2e: 009b lsls r3, r3, #2 80b6f30: 3338 adds r3, #56 ; 0x38 80b6f32: 687a ldr r2, [r7, #4] 80b6f34: 4413 add r3, r2 80b6f36: 3304 adds r3, #4 80b6f38: 60fb str r3, [r7, #12] ep->is_in = 1U; 80b6f3a: 68fb ldr r3, [r7, #12] 80b6f3c: 2201 movs r2, #1 80b6f3e: 705a strb r2, [r3, #1] 80b6f40: e00f b.n 80b6f62 } else { ep = &hpcd->OUT_ep[ep_addr & EP_ADDR_MSK]; 80b6f42: 78fb ldrb r3, [r7, #3] 80b6f44: f003 020f and.w r2, r3, #15 80b6f48: 4613 mov r3, r2 80b6f4a: 00db lsls r3, r3, #3 80b6f4c: 1a9b subs r3, r3, r2 80b6f4e: 009b lsls r3, r3, #2 80b6f50: f503 73fc add.w r3, r3, #504 ; 0x1f8 80b6f54: 687a ldr r2, [r7, #4] 80b6f56: 4413 add r3, r2 80b6f58: 3304 adds r3, #4 80b6f5a: 60fb str r3, [r7, #12] ep->is_in = 0U; 80b6f5c: 68fb ldr r3, [r7, #12] 80b6f5e: 2200 movs r2, #0 80b6f60: 705a strb r2, [r3, #1] } ep->num = ep_addr & EP_ADDR_MSK; 80b6f62: 78fb ldrb r3, [r7, #3] 80b6f64: f003 030f and.w r3, r3, #15 80b6f68: b2da uxtb r2, r3 80b6f6a: 68fb ldr r3, [r7, #12] 80b6f6c: 701a strb r2, [r3, #0] __HAL_LOCK(hpcd); 80b6f6e: 687b ldr r3, [r7, #4] 80b6f70: f893 33bc ldrb.w r3, [r3, #956] ; 0x3bc 80b6f74: 2b01 cmp r3, #1 80b6f76: d101 bne.n 80b6f7c 80b6f78: 2302 movs r3, #2 80b6f7a: e00e b.n 80b6f9a 80b6f7c: 687b ldr r3, [r7, #4] 80b6f7e: 2201 movs r2, #1 80b6f80: f883 23bc strb.w r2, [r3, #956] ; 0x3bc (void)USB_DeactivateEndpoint(hpcd->Instance, ep); 80b6f84: 687b ldr r3, [r7, #4] 80b6f86: 681b ldr r3, [r3, #0] 80b6f88: 68f9 ldr r1, [r7, #12] 80b6f8a: 4618 mov r0, r3 80b6f8c: f007 fbba bl 80be704 __HAL_UNLOCK(hpcd); 80b6f90: 687b ldr r3, [r7, #4] 80b6f92: 2200 movs r2, #0 80b6f94: f883 23bc strb.w r2, [r3, #956] ; 0x3bc return HAL_OK; 80b6f98: 2300 movs r3, #0 } 80b6f9a: 4618 mov r0, r3 80b6f9c: 3710 adds r7, #16 80b6f9e: 46bd mov sp, r7 80b6fa0: bd80 pop {r7, pc} 080b6fa2 : * @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) { 80b6fa2: b580 push {r7, lr} 80b6fa4: b086 sub sp, #24 80b6fa6: af00 add r7, sp, #0 80b6fa8: 60f8 str r0, [r7, #12] 80b6faa: 607a str r2, [r7, #4] 80b6fac: 603b str r3, [r7, #0] 80b6fae: 460b mov r3, r1 80b6fb0: 72fb strb r3, [r7, #11] PCD_EPTypeDef *ep; ep = &hpcd->OUT_ep[ep_addr & EP_ADDR_MSK]; 80b6fb2: 7afb ldrb r3, [r7, #11] 80b6fb4: f003 020f and.w r2, r3, #15 80b6fb8: 4613 mov r3, r2 80b6fba: 00db lsls r3, r3, #3 80b6fbc: 1a9b subs r3, r3, r2 80b6fbe: 009b lsls r3, r3, #2 80b6fc0: f503 73fc add.w r3, r3, #504 ; 0x1f8 80b6fc4: 68fa ldr r2, [r7, #12] 80b6fc6: 4413 add r3, r2 80b6fc8: 3304 adds r3, #4 80b6fca: 617b str r3, [r7, #20] /*setup and start the Xfer */ ep->xfer_buff = pBuf; 80b6fcc: 697b ldr r3, [r7, #20] 80b6fce: 687a ldr r2, [r7, #4] 80b6fd0: 60da str r2, [r3, #12] ep->xfer_len = len; 80b6fd2: 697b ldr r3, [r7, #20] 80b6fd4: 683a ldr r2, [r7, #0] 80b6fd6: 615a str r2, [r3, #20] ep->xfer_count = 0U; 80b6fd8: 697b ldr r3, [r7, #20] 80b6fda: 2200 movs r2, #0 80b6fdc: 619a str r2, [r3, #24] ep->is_in = 0U; 80b6fde: 697b ldr r3, [r7, #20] 80b6fe0: 2200 movs r2, #0 80b6fe2: 705a strb r2, [r3, #1] ep->num = ep_addr & EP_ADDR_MSK; 80b6fe4: 7afb ldrb r3, [r7, #11] 80b6fe6: f003 030f and.w r3, r3, #15 80b6fea: b2da uxtb r2, r3 80b6fec: 697b ldr r3, [r7, #20] 80b6fee: 701a strb r2, [r3, #0] if (hpcd->Init.dma_enable == 1U) 80b6ff0: 68fb ldr r3, [r7, #12] 80b6ff2: 691b ldr r3, [r3, #16] 80b6ff4: 2b01 cmp r3, #1 80b6ff6: d102 bne.n 80b6ffe { ep->dma_addr = (uint32_t)pBuf; 80b6ff8: 687a ldr r2, [r7, #4] 80b6ffa: 697b ldr r3, [r7, #20] 80b6ffc: 611a str r2, [r3, #16] } if ((ep_addr & EP_ADDR_MSK) == 0U) 80b6ffe: 7afb ldrb r3, [r7, #11] 80b7000: f003 030f and.w r3, r3, #15 80b7004: 2b00 cmp r3, #0 80b7006: d109 bne.n 80b701c { (void)USB_EP0StartXfer(hpcd->Instance, ep, (uint8_t)hpcd->Init.dma_enable); 80b7008: 68fb ldr r3, [r7, #12] 80b700a: 6818 ldr r0, [r3, #0] 80b700c: 68fb ldr r3, [r7, #12] 80b700e: 691b ldr r3, [r3, #16] 80b7010: b2db uxtb r3, r3 80b7012: 461a mov r2, r3 80b7014: 6979 ldr r1, [r7, #20] 80b7016: f007 feb7 bl 80bed88 80b701a: e008 b.n 80b702e } else { (void)USB_EPStartXfer(hpcd->Instance, ep, (uint8_t)hpcd->Init.dma_enable); 80b701c: 68fb ldr r3, [r7, #12] 80b701e: 6818 ldr r0, [r3, #0] 80b7020: 68fb ldr r3, [r7, #12] 80b7022: 691b ldr r3, [r3, #16] 80b7024: b2db uxtb r3, r3 80b7026: 461a mov r2, r3 80b7028: 6979 ldr r1, [r7, #20] 80b702a: f007 fc4f bl 80be8cc } return HAL_OK; 80b702e: 2300 movs r3, #0 } 80b7030: 4618 mov r0, r3 80b7032: 3718 adds r7, #24 80b7034: 46bd mov sp, r7 80b7036: bd80 pop {r7, pc} 080b7038 : * @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) { 80b7038: b480 push {r7} 80b703a: b083 sub sp, #12 80b703c: af00 add r7, sp, #0 80b703e: 6078 str r0, [r7, #4] 80b7040: 460b mov r3, r1 80b7042: 70fb strb r3, [r7, #3] return hpcd->OUT_ep[ep_addr & EP_ADDR_MSK].xfer_count; 80b7044: 78fb ldrb r3, [r7, #3] 80b7046: f003 020f and.w r2, r3, #15 80b704a: 6879 ldr r1, [r7, #4] 80b704c: 4613 mov r3, r2 80b704e: 00db lsls r3, r3, #3 80b7050: 1a9b subs r3, r3, r2 80b7052: 009b lsls r3, r3, #2 80b7054: 440b add r3, r1 80b7056: f503 7305 add.w r3, r3, #532 ; 0x214 80b705a: 681b ldr r3, [r3, #0] } 80b705c: 4618 mov r0, r3 80b705e: 370c adds r7, #12 80b7060: 46bd mov sp, r7 80b7062: f85d 7b04 ldr.w r7, [sp], #4 80b7066: 4770 bx lr 080b7068 : * @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) { 80b7068: b580 push {r7, lr} 80b706a: b086 sub sp, #24 80b706c: af00 add r7, sp, #0 80b706e: 60f8 str r0, [r7, #12] 80b7070: 607a str r2, [r7, #4] 80b7072: 603b str r3, [r7, #0] 80b7074: 460b mov r3, r1 80b7076: 72fb strb r3, [r7, #11] PCD_EPTypeDef *ep; ep = &hpcd->IN_ep[ep_addr & EP_ADDR_MSK]; 80b7078: 7afb ldrb r3, [r7, #11] 80b707a: f003 020f and.w r2, r3, #15 80b707e: 4613 mov r3, r2 80b7080: 00db lsls r3, r3, #3 80b7082: 1a9b subs r3, r3, r2 80b7084: 009b lsls r3, r3, #2 80b7086: 3338 adds r3, #56 ; 0x38 80b7088: 68fa ldr r2, [r7, #12] 80b708a: 4413 add r3, r2 80b708c: 3304 adds r3, #4 80b708e: 617b str r3, [r7, #20] /*setup and start the Xfer */ ep->xfer_buff = pBuf; 80b7090: 697b ldr r3, [r7, #20] 80b7092: 687a ldr r2, [r7, #4] 80b7094: 60da str r2, [r3, #12] ep->xfer_len = len; 80b7096: 697b ldr r3, [r7, #20] 80b7098: 683a ldr r2, [r7, #0] 80b709a: 615a str r2, [r3, #20] ep->xfer_count = 0U; 80b709c: 697b ldr r3, [r7, #20] 80b709e: 2200 movs r2, #0 80b70a0: 619a str r2, [r3, #24] ep->is_in = 1U; 80b70a2: 697b ldr r3, [r7, #20] 80b70a4: 2201 movs r2, #1 80b70a6: 705a strb r2, [r3, #1] ep->num = ep_addr & EP_ADDR_MSK; 80b70a8: 7afb ldrb r3, [r7, #11] 80b70aa: f003 030f and.w r3, r3, #15 80b70ae: b2da uxtb r2, r3 80b70b0: 697b ldr r3, [r7, #20] 80b70b2: 701a strb r2, [r3, #0] if (hpcd->Init.dma_enable == 1U) 80b70b4: 68fb ldr r3, [r7, #12] 80b70b6: 691b ldr r3, [r3, #16] 80b70b8: 2b01 cmp r3, #1 80b70ba: d102 bne.n 80b70c2 { ep->dma_addr = (uint32_t)pBuf; 80b70bc: 687a ldr r2, [r7, #4] 80b70be: 697b ldr r3, [r7, #20] 80b70c0: 611a str r2, [r3, #16] } if ((ep_addr & EP_ADDR_MSK) == 0U) 80b70c2: 7afb ldrb r3, [r7, #11] 80b70c4: f003 030f and.w r3, r3, #15 80b70c8: 2b00 cmp r3, #0 80b70ca: d109 bne.n 80b70e0 { (void)USB_EP0StartXfer(hpcd->Instance, ep, (uint8_t)hpcd->Init.dma_enable); 80b70cc: 68fb ldr r3, [r7, #12] 80b70ce: 6818 ldr r0, [r3, #0] 80b70d0: 68fb ldr r3, [r7, #12] 80b70d2: 691b ldr r3, [r3, #16] 80b70d4: b2db uxtb r3, r3 80b70d6: 461a mov r2, r3 80b70d8: 6979 ldr r1, [r7, #20] 80b70da: f007 fe55 bl 80bed88 80b70de: e008 b.n 80b70f2 } else { (void)USB_EPStartXfer(hpcd->Instance, ep, (uint8_t)hpcd->Init.dma_enable); 80b70e0: 68fb ldr r3, [r7, #12] 80b70e2: 6818 ldr r0, [r3, #0] 80b70e4: 68fb ldr r3, [r7, #12] 80b70e6: 691b ldr r3, [r3, #16] 80b70e8: b2db uxtb r3, r3 80b70ea: 461a mov r2, r3 80b70ec: 6979 ldr r1, [r7, #20] 80b70ee: f007 fbed bl 80be8cc } return HAL_OK; 80b70f2: 2300 movs r3, #0 } 80b70f4: 4618 mov r0, r3 80b70f6: 3718 adds r7, #24 80b70f8: 46bd mov sp, r7 80b70fa: bd80 pop {r7, pc} 080b70fc : * @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) { 80b70fc: b580 push {r7, lr} 80b70fe: b084 sub sp, #16 80b7100: af00 add r7, sp, #0 80b7102: 6078 str r0, [r7, #4] 80b7104: 460b mov r3, r1 80b7106: 70fb strb r3, [r7, #3] PCD_EPTypeDef *ep; if (((uint32_t)ep_addr & EP_ADDR_MSK) > hpcd->Init.dev_endpoints) 80b7108: 78fb ldrb r3, [r7, #3] 80b710a: f003 020f and.w r2, r3, #15 80b710e: 687b ldr r3, [r7, #4] 80b7110: 685b ldr r3, [r3, #4] 80b7112: 429a cmp r2, r3 80b7114: d901 bls.n 80b711a { return HAL_ERROR; 80b7116: 2301 movs r3, #1 80b7118: e050 b.n 80b71bc } if ((0x80U & ep_addr) == 0x80U) 80b711a: f997 3003 ldrsb.w r3, [r7, #3] 80b711e: 2b00 cmp r3, #0 80b7120: da0f bge.n 80b7142 { ep = &hpcd->IN_ep[ep_addr & EP_ADDR_MSK]; 80b7122: 78fb ldrb r3, [r7, #3] 80b7124: f003 020f and.w r2, r3, #15 80b7128: 4613 mov r3, r2 80b712a: 00db lsls r3, r3, #3 80b712c: 1a9b subs r3, r3, r2 80b712e: 009b lsls r3, r3, #2 80b7130: 3338 adds r3, #56 ; 0x38 80b7132: 687a ldr r2, [r7, #4] 80b7134: 4413 add r3, r2 80b7136: 3304 adds r3, #4 80b7138: 60fb str r3, [r7, #12] ep->is_in = 1U; 80b713a: 68fb ldr r3, [r7, #12] 80b713c: 2201 movs r2, #1 80b713e: 705a strb r2, [r3, #1] 80b7140: e00d b.n 80b715e } else { ep = &hpcd->OUT_ep[ep_addr]; 80b7142: 78fa ldrb r2, [r7, #3] 80b7144: 4613 mov r3, r2 80b7146: 00db lsls r3, r3, #3 80b7148: 1a9b subs r3, r3, r2 80b714a: 009b lsls r3, r3, #2 80b714c: f503 73fc add.w r3, r3, #504 ; 0x1f8 80b7150: 687a ldr r2, [r7, #4] 80b7152: 4413 add r3, r2 80b7154: 3304 adds r3, #4 80b7156: 60fb str r3, [r7, #12] ep->is_in = 0U; 80b7158: 68fb ldr r3, [r7, #12] 80b715a: 2200 movs r2, #0 80b715c: 705a strb r2, [r3, #1] } ep->is_stall = 1U; 80b715e: 68fb ldr r3, [r7, #12] 80b7160: 2201 movs r2, #1 80b7162: 709a strb r2, [r3, #2] ep->num = ep_addr & EP_ADDR_MSK; 80b7164: 78fb ldrb r3, [r7, #3] 80b7166: f003 030f and.w r3, r3, #15 80b716a: b2da uxtb r2, r3 80b716c: 68fb ldr r3, [r7, #12] 80b716e: 701a strb r2, [r3, #0] __HAL_LOCK(hpcd); 80b7170: 687b ldr r3, [r7, #4] 80b7172: f893 33bc ldrb.w r3, [r3, #956] ; 0x3bc 80b7176: 2b01 cmp r3, #1 80b7178: d101 bne.n 80b717e 80b717a: 2302 movs r3, #2 80b717c: e01e b.n 80b71bc 80b717e: 687b ldr r3, [r7, #4] 80b7180: 2201 movs r2, #1 80b7182: f883 23bc strb.w r2, [r3, #956] ; 0x3bc (void)USB_EPSetStall(hpcd->Instance, ep); 80b7186: 687b ldr r3, [r7, #4] 80b7188: 681b ldr r3, [r3, #0] 80b718a: 68f9 ldr r1, [r7, #12] 80b718c: 4618 mov r0, r3 80b718e: f007 fff2 bl 80bf176 if ((ep_addr & EP_ADDR_MSK) == 0U) 80b7192: 78fb ldrb r3, [r7, #3] 80b7194: f003 030f and.w r3, r3, #15 80b7198: 2b00 cmp r3, #0 80b719a: d10a bne.n 80b71b2 { (void)USB_EP0_OutStart(hpcd->Instance, (uint8_t)hpcd->Init.dma_enable, (uint8_t *)hpcd->Setup); 80b719c: 687b ldr r3, [r7, #4] 80b719e: 6818 ldr r0, [r3, #0] 80b71a0: 687b ldr r3, [r7, #4] 80b71a2: 691b ldr r3, [r3, #16] 80b71a4: b2d9 uxtb r1, r3 80b71a6: 687b ldr r3, [r7, #4] 80b71a8: f503 7371 add.w r3, r3, #964 ; 0x3c4 80b71ac: 461a mov r2, r3 80b71ae: f008 f9f3 bl 80bf598 } __HAL_UNLOCK(hpcd); 80b71b2: 687b ldr r3, [r7, #4] 80b71b4: 2200 movs r2, #0 80b71b6: f883 23bc strb.w r2, [r3, #956] ; 0x3bc return HAL_OK; 80b71ba: 2300 movs r3, #0 } 80b71bc: 4618 mov r0, r3 80b71be: 3710 adds r7, #16 80b71c0: 46bd mov sp, r7 80b71c2: bd80 pop {r7, pc} 080b71c4 : * @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) { 80b71c4: b580 push {r7, lr} 80b71c6: b084 sub sp, #16 80b71c8: af00 add r7, sp, #0 80b71ca: 6078 str r0, [r7, #4] 80b71cc: 460b mov r3, r1 80b71ce: 70fb strb r3, [r7, #3] PCD_EPTypeDef *ep; if (((uint32_t)ep_addr & 0x0FU) > hpcd->Init.dev_endpoints) 80b71d0: 78fb ldrb r3, [r7, #3] 80b71d2: f003 020f and.w r2, r3, #15 80b71d6: 687b ldr r3, [r7, #4] 80b71d8: 685b ldr r3, [r3, #4] 80b71da: 429a cmp r2, r3 80b71dc: d901 bls.n 80b71e2 { return HAL_ERROR; 80b71de: 2301 movs r3, #1 80b71e0: e042 b.n 80b7268 } if ((0x80U & ep_addr) == 0x80U) 80b71e2: f997 3003 ldrsb.w r3, [r7, #3] 80b71e6: 2b00 cmp r3, #0 80b71e8: da0f bge.n 80b720a { ep = &hpcd->IN_ep[ep_addr & EP_ADDR_MSK]; 80b71ea: 78fb ldrb r3, [r7, #3] 80b71ec: f003 020f and.w r2, r3, #15 80b71f0: 4613 mov r3, r2 80b71f2: 00db lsls r3, r3, #3 80b71f4: 1a9b subs r3, r3, r2 80b71f6: 009b lsls r3, r3, #2 80b71f8: 3338 adds r3, #56 ; 0x38 80b71fa: 687a ldr r2, [r7, #4] 80b71fc: 4413 add r3, r2 80b71fe: 3304 adds r3, #4 80b7200: 60fb str r3, [r7, #12] ep->is_in = 1U; 80b7202: 68fb ldr r3, [r7, #12] 80b7204: 2201 movs r2, #1 80b7206: 705a strb r2, [r3, #1] 80b7208: e00f b.n 80b722a } else { ep = &hpcd->OUT_ep[ep_addr & EP_ADDR_MSK]; 80b720a: 78fb ldrb r3, [r7, #3] 80b720c: f003 020f and.w r2, r3, #15 80b7210: 4613 mov r3, r2 80b7212: 00db lsls r3, r3, #3 80b7214: 1a9b subs r3, r3, r2 80b7216: 009b lsls r3, r3, #2 80b7218: f503 73fc add.w r3, r3, #504 ; 0x1f8 80b721c: 687a ldr r2, [r7, #4] 80b721e: 4413 add r3, r2 80b7220: 3304 adds r3, #4 80b7222: 60fb str r3, [r7, #12] ep->is_in = 0U; 80b7224: 68fb ldr r3, [r7, #12] 80b7226: 2200 movs r2, #0 80b7228: 705a strb r2, [r3, #1] } ep->is_stall = 0U; 80b722a: 68fb ldr r3, [r7, #12] 80b722c: 2200 movs r2, #0 80b722e: 709a strb r2, [r3, #2] ep->num = ep_addr & EP_ADDR_MSK; 80b7230: 78fb ldrb r3, [r7, #3] 80b7232: f003 030f and.w r3, r3, #15 80b7236: b2da uxtb r2, r3 80b7238: 68fb ldr r3, [r7, #12] 80b723a: 701a strb r2, [r3, #0] __HAL_LOCK(hpcd); 80b723c: 687b ldr r3, [r7, #4] 80b723e: f893 33bc ldrb.w r3, [r3, #956] ; 0x3bc 80b7242: 2b01 cmp r3, #1 80b7244: d101 bne.n 80b724a 80b7246: 2302 movs r3, #2 80b7248: e00e b.n 80b7268 80b724a: 687b ldr r3, [r7, #4] 80b724c: 2201 movs r2, #1 80b724e: f883 23bc strb.w r2, [r3, #956] ; 0x3bc (void)USB_EPClearStall(hpcd->Instance, ep); 80b7252: 687b ldr r3, [r7, #4] 80b7254: 681b ldr r3, [r3, #0] 80b7256: 68f9 ldr r1, [r7, #12] 80b7258: 4618 mov r0, r3 80b725a: f007 fffe bl 80bf25a __HAL_UNLOCK(hpcd); 80b725e: 687b ldr r3, [r7, #4] 80b7260: 2200 movs r2, #0 80b7262: f883 23bc strb.w r2, [r3, #956] ; 0x3bc return HAL_OK; 80b7266: 2300 movs r3, #0 } 80b7268: 4618 mov r0, r3 80b726a: 3710 adds r7, #16 80b726c: 46bd mov sp, r7 80b726e: bd80 pop {r7, pc} 080b7270 : * @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) { 80b7270: b580 push {r7, lr} 80b7272: b082 sub sp, #8 80b7274: af00 add r7, sp, #0 80b7276: 6078 str r0, [r7, #4] 80b7278: 460b mov r3, r1 80b727a: 70fb strb r3, [r7, #3] __HAL_LOCK(hpcd); 80b727c: 687b ldr r3, [r7, #4] 80b727e: f893 33bc ldrb.w r3, [r3, #956] ; 0x3bc 80b7282: 2b01 cmp r3, #1 80b7284: d101 bne.n 80b728a 80b7286: 2302 movs r3, #2 80b7288: e01b b.n 80b72c2 80b728a: 687b ldr r3, [r7, #4] 80b728c: 2201 movs r2, #1 80b728e: f883 23bc strb.w r2, [r3, #956] ; 0x3bc if ((ep_addr & 0x80U) == 0x80U) 80b7292: f997 3003 ldrsb.w r3, [r7, #3] 80b7296: 2b00 cmp r3, #0 80b7298: da09 bge.n 80b72ae { (void)USB_FlushTxFifo(hpcd->Instance, (uint32_t)ep_addr & EP_ADDR_MSK); 80b729a: 687b ldr r3, [r7, #4] 80b729c: 681a ldr r2, [r3, #0] 80b729e: 78fb ldrb r3, [r7, #3] 80b72a0: f003 030f and.w r3, r3, #15 80b72a4: 4619 mov r1, r3 80b72a6: 4610 mov r0, r2 80b72a8: f007 f902 bl 80be4b0 80b72ac: e004 b.n 80b72b8 } else { (void)USB_FlushRxFifo(hpcd->Instance); 80b72ae: 687b ldr r3, [r7, #4] 80b72b0: 681b ldr r3, [r3, #0] 80b72b2: 4618 mov r0, r3 80b72b4: f007 f92e bl 80be514 } __HAL_UNLOCK(hpcd); 80b72b8: 687b ldr r3, [r7, #4] 80b72ba: 2200 movs r2, #0 80b72bc: f883 23bc strb.w r2, [r3, #956] ; 0x3bc return HAL_OK; 80b72c0: 2300 movs r3, #0 } 80b72c2: 4618 mov r0, r3 80b72c4: 3708 adds r7, #8 80b72c6: 46bd mov sp, r7 80b72c8: bd80 pop {r7, pc} 080b72ca : * @param hpcd PCD handle * @param epnum endpoint number * @retval HAL status */ static HAL_StatusTypeDef PCD_WriteEmptyTxFifo(PCD_HandleTypeDef *hpcd, uint32_t epnum) { 80b72ca: b580 push {r7, lr} 80b72cc: b08a sub sp, #40 ; 0x28 80b72ce: af02 add r7, sp, #8 80b72d0: 6078 str r0, [r7, #4] 80b72d2: 6039 str r1, [r7, #0] USB_OTG_GlobalTypeDef *USBx = hpcd->Instance; 80b72d4: 687b ldr r3, [r7, #4] 80b72d6: 681b ldr r3, [r3, #0] 80b72d8: 617b str r3, [r7, #20] uint32_t USBx_BASE = (uint32_t)USBx; 80b72da: 697b ldr r3, [r7, #20] 80b72dc: 613b str r3, [r7, #16] USB_OTG_EPTypeDef *ep; uint32_t len; uint32_t len32b; uint32_t fifoemptymsk; ep = &hpcd->IN_ep[epnum]; 80b72de: 683a ldr r2, [r7, #0] 80b72e0: 4613 mov r3, r2 80b72e2: 00db lsls r3, r3, #3 80b72e4: 1a9b subs r3, r3, r2 80b72e6: 009b lsls r3, r3, #2 80b72e8: 3338 adds r3, #56 ; 0x38 80b72ea: 687a ldr r2, [r7, #4] 80b72ec: 4413 add r3, r2 80b72ee: 3304 adds r3, #4 80b72f0: 60fb str r3, [r7, #12] if (ep->xfer_count > ep->xfer_len) 80b72f2: 68fb ldr r3, [r7, #12] 80b72f4: 699a ldr r2, [r3, #24] 80b72f6: 68fb ldr r3, [r7, #12] 80b72f8: 695b ldr r3, [r3, #20] 80b72fa: 429a cmp r2, r3 80b72fc: d901 bls.n 80b7302 { return HAL_ERROR; 80b72fe: 2301 movs r3, #1 80b7300: e06d b.n 80b73de } len = ep->xfer_len - ep->xfer_count; 80b7302: 68fb ldr r3, [r7, #12] 80b7304: 695a ldr r2, [r3, #20] 80b7306: 68fb ldr r3, [r7, #12] 80b7308: 699b ldr r3, [r3, #24] 80b730a: 1ad3 subs r3, r2, r3 80b730c: 61fb str r3, [r7, #28] if (len > ep->maxpacket) 80b730e: 68fb ldr r3, [r7, #12] 80b7310: 689a ldr r2, [r3, #8] 80b7312: 69fb ldr r3, [r7, #28] 80b7314: 429a cmp r2, r3 80b7316: d202 bcs.n 80b731e { len = ep->maxpacket; 80b7318: 68fb ldr r3, [r7, #12] 80b731a: 689b ldr r3, [r3, #8] 80b731c: 61fb str r3, [r7, #28] } len32b = (len + 3U) / 4U; 80b731e: 69fb ldr r3, [r7, #28] 80b7320: 3303 adds r3, #3 80b7322: 089b lsrs r3, r3, #2 80b7324: 61bb str r3, [r7, #24] while (((USBx_INEP(epnum)->DTXFSTS & USB_OTG_DTXFSTS_INEPTFSAV) >= len32b) && 80b7326: e02b b.n 80b7380 (ep->xfer_count < ep->xfer_len) && (ep->xfer_len != 0U)) { /* Write the FIFO */ len = ep->xfer_len - ep->xfer_count; 80b7328: 68fb ldr r3, [r7, #12] 80b732a: 695a ldr r2, [r3, #20] 80b732c: 68fb ldr r3, [r7, #12] 80b732e: 699b ldr r3, [r3, #24] 80b7330: 1ad3 subs r3, r2, r3 80b7332: 61fb str r3, [r7, #28] if (len > ep->maxpacket) 80b7334: 68fb ldr r3, [r7, #12] 80b7336: 689a ldr r2, [r3, #8] 80b7338: 69fb ldr r3, [r7, #28] 80b733a: 429a cmp r2, r3 80b733c: d202 bcs.n 80b7344 { len = ep->maxpacket; 80b733e: 68fb ldr r3, [r7, #12] 80b7340: 689b ldr r3, [r3, #8] 80b7342: 61fb str r3, [r7, #28] } len32b = (len + 3U) / 4U; 80b7344: 69fb ldr r3, [r7, #28] 80b7346: 3303 adds r3, #3 80b7348: 089b lsrs r3, r3, #2 80b734a: 61bb str r3, [r7, #24] (void)USB_WritePacket(USBx, ep->xfer_buff, (uint8_t)epnum, (uint16_t)len, 80b734c: 68fb ldr r3, [r7, #12] 80b734e: 68d9 ldr r1, [r3, #12] 80b7350: 683b ldr r3, [r7, #0] 80b7352: b2da uxtb r2, r3 80b7354: 69fb ldr r3, [r7, #28] 80b7356: b298 uxth r0, r3 (uint8_t)hpcd->Init.dma_enable); 80b7358: 687b ldr r3, [r7, #4] 80b735a: 691b ldr r3, [r3, #16] (void)USB_WritePacket(USBx, ep->xfer_buff, (uint8_t)epnum, (uint16_t)len, 80b735c: b2db uxtb r3, r3 80b735e: 9300 str r3, [sp, #0] 80b7360: 4603 mov r3, r0 80b7362: 6978 ldr r0, [r7, #20] 80b7364: f007 fe72 bl 80bf04c ep->xfer_buff += len; 80b7368: 68fb ldr r3, [r7, #12] 80b736a: 68da ldr r2, [r3, #12] 80b736c: 69fb ldr r3, [r7, #28] 80b736e: 441a add r2, r3 80b7370: 68fb ldr r3, [r7, #12] 80b7372: 60da str r2, [r3, #12] ep->xfer_count += len; 80b7374: 68fb ldr r3, [r7, #12] 80b7376: 699a ldr r2, [r3, #24] 80b7378: 69fb ldr r3, [r7, #28] 80b737a: 441a add r2, r3 80b737c: 68fb ldr r3, [r7, #12] 80b737e: 619a str r2, [r3, #24] while (((USBx_INEP(epnum)->DTXFSTS & USB_OTG_DTXFSTS_INEPTFSAV) >= len32b) && 80b7380: 683b ldr r3, [r7, #0] 80b7382: 015a lsls r2, r3, #5 80b7384: 693b ldr r3, [r7, #16] 80b7386: 4413 add r3, r2 80b7388: f503 6310 add.w r3, r3, #2304 ; 0x900 80b738c: 699b ldr r3, [r3, #24] 80b738e: b29a uxth r2, r3 80b7390: 69bb ldr r3, [r7, #24] 80b7392: 429a cmp r2, r3 80b7394: d309 bcc.n 80b73aa (ep->xfer_count < ep->xfer_len) && (ep->xfer_len != 0U)) 80b7396: 68fb ldr r3, [r7, #12] 80b7398: 699a ldr r2, [r3, #24] 80b739a: 68fb ldr r3, [r7, #12] 80b739c: 695b ldr r3, [r3, #20] while (((USBx_INEP(epnum)->DTXFSTS & USB_OTG_DTXFSTS_INEPTFSAV) >= len32b) && 80b739e: 429a cmp r2, r3 80b73a0: d203 bcs.n 80b73aa (ep->xfer_count < ep->xfer_len) && (ep->xfer_len != 0U)) 80b73a2: 68fb ldr r3, [r7, #12] 80b73a4: 695b ldr r3, [r3, #20] 80b73a6: 2b00 cmp r3, #0 80b73a8: d1be bne.n 80b7328 } if (ep->xfer_len <= ep->xfer_count) 80b73aa: 68fb ldr r3, [r7, #12] 80b73ac: 695a ldr r2, [r3, #20] 80b73ae: 68fb ldr r3, [r7, #12] 80b73b0: 699b ldr r3, [r3, #24] 80b73b2: 429a cmp r2, r3 80b73b4: d812 bhi.n 80b73dc { fifoemptymsk = (uint32_t)(0x1UL << (epnum & EP_ADDR_MSK)); 80b73b6: 683b ldr r3, [r7, #0] 80b73b8: f003 030f and.w r3, r3, #15 80b73bc: 2201 movs r2, #1 80b73be: fa02 f303 lsl.w r3, r2, r3 80b73c2: 60bb str r3, [r7, #8] USBx_DEVICE->DIEPEMPMSK &= ~fifoemptymsk; 80b73c4: 693b ldr r3, [r7, #16] 80b73c6: f503 6300 add.w r3, r3, #2048 ; 0x800 80b73ca: 4619 mov r1, r3 80b73cc: 693b ldr r3, [r7, #16] 80b73ce: f503 6300 add.w r3, r3, #2048 ; 0x800 80b73d2: 6b5a ldr r2, [r3, #52] ; 0x34 80b73d4: 68bb ldr r3, [r7, #8] 80b73d6: 43db mvns r3, r3 80b73d8: 4013 ands r3, r2 80b73da: 634b str r3, [r1, #52] ; 0x34 } return HAL_OK; 80b73dc: 2300 movs r3, #0 } 80b73de: 4618 mov r0, r3 80b73e0: 3720 adds r7, #32 80b73e2: 46bd mov sp, r7 80b73e4: bd80 pop {r7, pc} ... 080b73e8 : * @param hpcd PCD handle * @param epnum endpoint number * @retval HAL status */ static HAL_StatusTypeDef PCD_EP_OutXfrComplete_int(PCD_HandleTypeDef *hpcd, uint32_t epnum) { 80b73e8: b580 push {r7, lr} 80b73ea: b086 sub sp, #24 80b73ec: af00 add r7, sp, #0 80b73ee: 6078 str r0, [r7, #4] 80b73f0: 6039 str r1, [r7, #0] USB_OTG_GlobalTypeDef *USBx = hpcd->Instance; 80b73f2: 687b ldr r3, [r7, #4] 80b73f4: 681b ldr r3, [r3, #0] 80b73f6: 617b str r3, [r7, #20] uint32_t USBx_BASE = (uint32_t)USBx; 80b73f8: 697b ldr r3, [r7, #20] 80b73fa: 613b str r3, [r7, #16] uint32_t gSNPSiD = *(__IO uint32_t *)(&USBx->CID + 0x1U); 80b73fc: 697b ldr r3, [r7, #20] 80b73fe: 333c adds r3, #60 ; 0x3c 80b7400: 3304 adds r3, #4 80b7402: 681b ldr r3, [r3, #0] 80b7404: 60fb str r3, [r7, #12] uint32_t DoepintReg = USBx_OUTEP(epnum)->DOEPINT; 80b7406: 683b ldr r3, [r7, #0] 80b7408: 015a lsls r2, r3, #5 80b740a: 693b ldr r3, [r7, #16] 80b740c: 4413 add r3, r2 80b740e: f503 6330 add.w r3, r3, #2816 ; 0xb00 80b7412: 689b ldr r3, [r3, #8] 80b7414: 60bb str r3, [r7, #8] if (hpcd->Init.dma_enable == 1U) 80b7416: 687b ldr r3, [r7, #4] 80b7418: 691b ldr r3, [r3, #16] 80b741a: 2b01 cmp r3, #1 80b741c: f040 80a0 bne.w 80b7560 { if ((DoepintReg & USB_OTG_DOEPINT_STUP) == USB_OTG_DOEPINT_STUP) /* Class C */ 80b7420: 68bb ldr r3, [r7, #8] 80b7422: f003 0308 and.w r3, r3, #8 80b7426: 2b00 cmp r3, #0 80b7428: d015 beq.n 80b7456 { /* StupPktRcvd = 1 this is a setup packet */ if ((gSNPSiD > USB_OTG_CORE_ID_300A) && 80b742a: 68fb ldr r3, [r7, #12] 80b742c: 4a72 ldr r2, [pc, #456] ; (80b75f8 ) 80b742e: 4293 cmp r3, r2 80b7430: f240 80dd bls.w 80b75ee ((DoepintReg & USB_OTG_DOEPINT_STPKTRX) == USB_OTG_DOEPINT_STPKTRX)) 80b7434: 68bb ldr r3, [r7, #8] 80b7436: f403 4300 and.w r3, r3, #32768 ; 0x8000 if ((gSNPSiD > USB_OTG_CORE_ID_300A) && 80b743a: 2b00 cmp r3, #0 80b743c: f000 80d7 beq.w 80b75ee { CLEAR_OUT_EP_INTR(epnum, USB_OTG_DOEPINT_STPKTRX); 80b7440: 683b ldr r3, [r7, #0] 80b7442: 015a lsls r2, r3, #5 80b7444: 693b ldr r3, [r7, #16] 80b7446: 4413 add r3, r2 80b7448: f503 6330 add.w r3, r3, #2816 ; 0xb00 80b744c: 461a mov r2, r3 80b744e: f44f 4300 mov.w r3, #32768 ; 0x8000 80b7452: 6093 str r3, [r2, #8] 80b7454: e0cb b.n 80b75ee } } else if ((DoepintReg & USB_OTG_DOEPINT_OTEPSPR) == USB_OTG_DOEPINT_OTEPSPR) /* Class E */ 80b7456: 68bb ldr r3, [r7, #8] 80b7458: f003 0320 and.w r3, r3, #32 80b745c: 2b00 cmp r3, #0 80b745e: d009 beq.n 80b7474 { CLEAR_OUT_EP_INTR(epnum, USB_OTG_DOEPINT_OTEPSPR); 80b7460: 683b ldr r3, [r7, #0] 80b7462: 015a lsls r2, r3, #5 80b7464: 693b ldr r3, [r7, #16] 80b7466: 4413 add r3, r2 80b7468: f503 6330 add.w r3, r3, #2816 ; 0xb00 80b746c: 461a mov r2, r3 80b746e: 2320 movs r3, #32 80b7470: 6093 str r3, [r2, #8] 80b7472: e0bc b.n 80b75ee } else if ((DoepintReg & (USB_OTG_DOEPINT_STUP | USB_OTG_DOEPINT_OTEPSPR)) == 0U) 80b7474: 68bb ldr r3, [r7, #8] 80b7476: f003 0328 and.w r3, r3, #40 ; 0x28 80b747a: 2b00 cmp r3, #0 80b747c: f040 80b7 bne.w 80b75ee { /* StupPktRcvd = 1 this is a setup packet */ if ((gSNPSiD > USB_OTG_CORE_ID_300A) && 80b7480: 68fb ldr r3, [r7, #12] 80b7482: 4a5d ldr r2, [pc, #372] ; (80b75f8 ) 80b7484: 4293 cmp r3, r2 80b7486: d90f bls.n 80b74a8 ((DoepintReg & USB_OTG_DOEPINT_STPKTRX) == USB_OTG_DOEPINT_STPKTRX)) 80b7488: 68bb ldr r3, [r7, #8] 80b748a: f403 4300 and.w r3, r3, #32768 ; 0x8000 if ((gSNPSiD > USB_OTG_CORE_ID_300A) && 80b748e: 2b00 cmp r3, #0 80b7490: d00a beq.n 80b74a8 { CLEAR_OUT_EP_INTR(epnum, USB_OTG_DOEPINT_STPKTRX); 80b7492: 683b ldr r3, [r7, #0] 80b7494: 015a lsls r2, r3, #5 80b7496: 693b ldr r3, [r7, #16] 80b7498: 4413 add r3, r2 80b749a: f503 6330 add.w r3, r3, #2816 ; 0xb00 80b749e: 461a mov r2, r3 80b74a0: f44f 4300 mov.w r3, #32768 ; 0x8000 80b74a4: 6093 str r3, [r2, #8] 80b74a6: e0a2 b.n 80b75ee } else { /* out data packet received over EP0 */ hpcd->OUT_ep[epnum].xfer_count = hpcd->OUT_ep[epnum].maxpacket - 80b74a8: 6879 ldr r1, [r7, #4] 80b74aa: 683a ldr r2, [r7, #0] 80b74ac: 4613 mov r3, r2 80b74ae: 00db lsls r3, r3, #3 80b74b0: 1a9b subs r3, r3, r2 80b74b2: 009b lsls r3, r3, #2 80b74b4: 440b add r3, r1 80b74b6: f503 7301 add.w r3, r3, #516 ; 0x204 80b74ba: 681a ldr r2, [r3, #0] (USBx_OUTEP(epnum)->DOEPTSIZ & USB_OTG_DOEPTSIZ_XFRSIZ); 80b74bc: 683b ldr r3, [r7, #0] 80b74be: 0159 lsls r1, r3, #5 80b74c0: 693b ldr r3, [r7, #16] 80b74c2: 440b add r3, r1 80b74c4: f503 6330 add.w r3, r3, #2816 ; 0xb00 80b74c8: 691b ldr r3, [r3, #16] 80b74ca: f3c3 0312 ubfx r3, r3, #0, #19 hpcd->OUT_ep[epnum].maxpacket - 80b74ce: 1ad1 subs r1, r2, r3 hpcd->OUT_ep[epnum].xfer_count = 80b74d0: 6878 ldr r0, [r7, #4] 80b74d2: 683a ldr r2, [r7, #0] 80b74d4: 4613 mov r3, r2 80b74d6: 00db lsls r3, r3, #3 80b74d8: 1a9b subs r3, r3, r2 80b74da: 009b lsls r3, r3, #2 80b74dc: 4403 add r3, r0 80b74de: f503 7305 add.w r3, r3, #532 ; 0x214 80b74e2: 6019 str r1, [r3, #0] hpcd->OUT_ep[epnum].xfer_buff += hpcd->OUT_ep[epnum].maxpacket; 80b74e4: 6879 ldr r1, [r7, #4] 80b74e6: 683a ldr r2, [r7, #0] 80b74e8: 4613 mov r3, r2 80b74ea: 00db lsls r3, r3, #3 80b74ec: 1a9b subs r3, r3, r2 80b74ee: 009b lsls r3, r3, #2 80b74f0: 440b add r3, r1 80b74f2: f503 7302 add.w r3, r3, #520 ; 0x208 80b74f6: 6819 ldr r1, [r3, #0] 80b74f8: 6878 ldr r0, [r7, #4] 80b74fa: 683a ldr r2, [r7, #0] 80b74fc: 4613 mov r3, r2 80b74fe: 00db lsls r3, r3, #3 80b7500: 1a9b subs r3, r3, r2 80b7502: 009b lsls r3, r3, #2 80b7504: 4403 add r3, r0 80b7506: f503 7301 add.w r3, r3, #516 ; 0x204 80b750a: 681b ldr r3, [r3, #0] 80b750c: 4419 add r1, r3 80b750e: 6878 ldr r0, [r7, #4] 80b7510: 683a ldr r2, [r7, #0] 80b7512: 4613 mov r3, r2 80b7514: 00db lsls r3, r3, #3 80b7516: 1a9b subs r3, r3, r2 80b7518: 009b lsls r3, r3, #2 80b751a: 4403 add r3, r0 80b751c: f503 7302 add.w r3, r3, #520 ; 0x208 80b7520: 6019 str r1, [r3, #0] if ((epnum == 0U) && (hpcd->OUT_ep[epnum].xfer_len == 0U)) 80b7522: 683b ldr r3, [r7, #0] 80b7524: 2b00 cmp r3, #0 80b7526: d114 bne.n 80b7552 80b7528: 6879 ldr r1, [r7, #4] 80b752a: 683a ldr r2, [r7, #0] 80b752c: 4613 mov r3, r2 80b752e: 00db lsls r3, r3, #3 80b7530: 1a9b subs r3, r3, r2 80b7532: 009b lsls r3, r3, #2 80b7534: 440b add r3, r1 80b7536: f503 7304 add.w r3, r3, #528 ; 0x210 80b753a: 681b ldr r3, [r3, #0] 80b753c: 2b00 cmp r3, #0 80b753e: d108 bne.n 80b7552 { /* this is ZLP, so prepare EP0 for next setup */ (void)USB_EP0_OutStart(hpcd->Instance, 1U, (uint8_t *)hpcd->Setup); 80b7540: 687b ldr r3, [r7, #4] 80b7542: 6818 ldr r0, [r3, #0] 80b7544: 687b ldr r3, [r7, #4] 80b7546: f503 7371 add.w r3, r3, #964 ; 0x3c4 80b754a: 461a mov r2, r3 80b754c: 2101 movs r1, #1 80b754e: f008 f823 bl 80bf598 } #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) hpcd->DataOutStageCallback(hpcd, (uint8_t)epnum); #else HAL_PCD_DataOutStageCallback(hpcd, (uint8_t)epnum); 80b7552: 683b ldr r3, [r7, #0] 80b7554: b2db uxtb r3, r3 80b7556: 4619 mov r1, r3 80b7558: 6878 ldr r0, [r7, #4] 80b755a: f012 f87d bl 80c9658 80b755e: e046 b.n 80b75ee /* ... */ } } else { if (gSNPSiD == USB_OTG_CORE_ID_310A) 80b7560: 68fb ldr r3, [r7, #12] 80b7562: 4a26 ldr r2, [pc, #152] ; (80b75fc ) 80b7564: 4293 cmp r3, r2 80b7566: d124 bne.n 80b75b2 { /* StupPktRcvd = 1 this is a setup packet */ if ((DoepintReg & USB_OTG_DOEPINT_STPKTRX) == USB_OTG_DOEPINT_STPKTRX) 80b7568: 68bb ldr r3, [r7, #8] 80b756a: f403 4300 and.w r3, r3, #32768 ; 0x8000 80b756e: 2b00 cmp r3, #0 80b7570: d00a beq.n 80b7588 { CLEAR_OUT_EP_INTR(epnum, USB_OTG_DOEPINT_STPKTRX); 80b7572: 683b ldr r3, [r7, #0] 80b7574: 015a lsls r2, r3, #5 80b7576: 693b ldr r3, [r7, #16] 80b7578: 4413 add r3, r2 80b757a: f503 6330 add.w r3, r3, #2816 ; 0xb00 80b757e: 461a mov r2, r3 80b7580: f44f 4300 mov.w r3, #32768 ; 0x8000 80b7584: 6093 str r3, [r2, #8] 80b7586: e032 b.n 80b75ee } else { if ((DoepintReg & USB_OTG_DOEPINT_OTEPSPR) == USB_OTG_DOEPINT_OTEPSPR) 80b7588: 68bb ldr r3, [r7, #8] 80b758a: f003 0320 and.w r3, r3, #32 80b758e: 2b00 cmp r3, #0 80b7590: d008 beq.n 80b75a4 { CLEAR_OUT_EP_INTR(epnum, USB_OTG_DOEPINT_OTEPSPR); 80b7592: 683b ldr r3, [r7, #0] 80b7594: 015a lsls r2, r3, #5 80b7596: 693b ldr r3, [r7, #16] 80b7598: 4413 add r3, r2 80b759a: f503 6330 add.w r3, r3, #2816 ; 0xb00 80b759e: 461a mov r2, r3 80b75a0: 2320 movs r3, #32 80b75a2: 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); 80b75a4: 683b ldr r3, [r7, #0] 80b75a6: b2db uxtb r3, r3 80b75a8: 4619 mov r1, r3 80b75aa: 6878 ldr r0, [r7, #4] 80b75ac: f012 f854 bl 80c9658 80b75b0: e01d b.n 80b75ee #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ } } else { if ((epnum == 0U) && (hpcd->OUT_ep[epnum].xfer_len == 0U)) 80b75b2: 683b ldr r3, [r7, #0] 80b75b4: 2b00 cmp r3, #0 80b75b6: d114 bne.n 80b75e2 80b75b8: 6879 ldr r1, [r7, #4] 80b75ba: 683a ldr r2, [r7, #0] 80b75bc: 4613 mov r3, r2 80b75be: 00db lsls r3, r3, #3 80b75c0: 1a9b subs r3, r3, r2 80b75c2: 009b lsls r3, r3, #2 80b75c4: 440b add r3, r1 80b75c6: f503 7304 add.w r3, r3, #528 ; 0x210 80b75ca: 681b ldr r3, [r3, #0] 80b75cc: 2b00 cmp r3, #0 80b75ce: d108 bne.n 80b75e2 { /* this is ZLP, so prepare EP0 for next setup */ (void)USB_EP0_OutStart(hpcd->Instance, 0U, (uint8_t *)hpcd->Setup); 80b75d0: 687b ldr r3, [r7, #4] 80b75d2: 6818 ldr r0, [r3, #0] 80b75d4: 687b ldr r3, [r7, #4] 80b75d6: f503 7371 add.w r3, r3, #964 ; 0x3c4 80b75da: 461a mov r2, r3 80b75dc: 2100 movs r1, #0 80b75de: f007 ffdb bl 80bf598 } #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) hpcd->DataOutStageCallback(hpcd, (uint8_t)epnum); #else HAL_PCD_DataOutStageCallback(hpcd, (uint8_t)epnum); 80b75e2: 683b ldr r3, [r7, #0] 80b75e4: b2db uxtb r3, r3 80b75e6: 4619 mov r1, r3 80b75e8: 6878 ldr r0, [r7, #4] 80b75ea: f012 f835 bl 80c9658 #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ } } return HAL_OK; 80b75ee: 2300 movs r3, #0 } 80b75f0: 4618 mov r0, r3 80b75f2: 3718 adds r7, #24 80b75f4: 46bd mov sp, r7 80b75f6: bd80 pop {r7, pc} 80b75f8: 4f54300a .word 0x4f54300a 80b75fc: 4f54310a .word 0x4f54310a 080b7600 : * @param hpcd PCD handle * @param epnum endpoint number * @retval HAL status */ static HAL_StatusTypeDef PCD_EP_OutSetupPacket_int(PCD_HandleTypeDef *hpcd, uint32_t epnum) { 80b7600: b580 push {r7, lr} 80b7602: b086 sub sp, #24 80b7604: af00 add r7, sp, #0 80b7606: 6078 str r0, [r7, #4] 80b7608: 6039 str r1, [r7, #0] USB_OTG_GlobalTypeDef *USBx = hpcd->Instance; 80b760a: 687b ldr r3, [r7, #4] 80b760c: 681b ldr r3, [r3, #0] 80b760e: 617b str r3, [r7, #20] uint32_t USBx_BASE = (uint32_t)USBx; 80b7610: 697b ldr r3, [r7, #20] 80b7612: 613b str r3, [r7, #16] uint32_t gSNPSiD = *(__IO uint32_t *)(&USBx->CID + 0x1U); 80b7614: 697b ldr r3, [r7, #20] 80b7616: 333c adds r3, #60 ; 0x3c 80b7618: 3304 adds r3, #4 80b761a: 681b ldr r3, [r3, #0] 80b761c: 60fb str r3, [r7, #12] uint32_t DoepintReg = USBx_OUTEP(epnum)->DOEPINT; 80b761e: 683b ldr r3, [r7, #0] 80b7620: 015a lsls r2, r3, #5 80b7622: 693b ldr r3, [r7, #16] 80b7624: 4413 add r3, r2 80b7626: f503 6330 add.w r3, r3, #2816 ; 0xb00 80b762a: 689b ldr r3, [r3, #8] 80b762c: 60bb str r3, [r7, #8] if ((gSNPSiD > USB_OTG_CORE_ID_300A) && 80b762e: 68fb ldr r3, [r7, #12] 80b7630: 4a15 ldr r2, [pc, #84] ; (80b7688 ) 80b7632: 4293 cmp r3, r2 80b7634: d90e bls.n 80b7654 ((DoepintReg & USB_OTG_DOEPINT_STPKTRX) == USB_OTG_DOEPINT_STPKTRX)) 80b7636: 68bb ldr r3, [r7, #8] 80b7638: f403 4300 and.w r3, r3, #32768 ; 0x8000 if ((gSNPSiD > USB_OTG_CORE_ID_300A) && 80b763c: 2b00 cmp r3, #0 80b763e: d009 beq.n 80b7654 { CLEAR_OUT_EP_INTR(epnum, USB_OTG_DOEPINT_STPKTRX); 80b7640: 683b ldr r3, [r7, #0] 80b7642: 015a lsls r2, r3, #5 80b7644: 693b ldr r3, [r7, #16] 80b7646: 4413 add r3, r2 80b7648: f503 6330 add.w r3, r3, #2816 ; 0xb00 80b764c: 461a mov r2, r3 80b764e: f44f 4300 mov.w r3, #32768 ; 0x8000 80b7652: 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); 80b7654: 6878 ldr r0, [r7, #4] 80b7656: f011 ffed bl 80c9634 #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ if ((gSNPSiD > USB_OTG_CORE_ID_300A) && (hpcd->Init.dma_enable == 1U)) 80b765a: 68fb ldr r3, [r7, #12] 80b765c: 4a0a ldr r2, [pc, #40] ; (80b7688 ) 80b765e: 4293 cmp r3, r2 80b7660: d90c bls.n 80b767c 80b7662: 687b ldr r3, [r7, #4] 80b7664: 691b ldr r3, [r3, #16] 80b7666: 2b01 cmp r3, #1 80b7668: d108 bne.n 80b767c { (void)USB_EP0_OutStart(hpcd->Instance, 1U, (uint8_t *)hpcd->Setup); 80b766a: 687b ldr r3, [r7, #4] 80b766c: 6818 ldr r0, [r3, #0] 80b766e: 687b ldr r3, [r7, #4] 80b7670: f503 7371 add.w r3, r3, #964 ; 0x3c4 80b7674: 461a mov r2, r3 80b7676: 2101 movs r1, #1 80b7678: f007 ff8e bl 80bf598 } return HAL_OK; 80b767c: 2300 movs r3, #0 } 80b767e: 4618 mov r0, r3 80b7680: 3718 adds r7, #24 80b7682: 46bd mov sp, r7 80b7684: bd80 pop {r7, pc} 80b7686: bf00 nop 80b7688: 4f54300a .word 0x4f54300a 080b768c : * @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) { 80b768c: b480 push {r7} 80b768e: b085 sub sp, #20 80b7690: af00 add r7, sp, #0 80b7692: 6078 str r0, [r7, #4] 80b7694: 460b mov r3, r1 80b7696: 70fb strb r3, [r7, #3] 80b7698: 4613 mov r3, r2 80b769a: 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; 80b769c: 687b ldr r3, [r7, #4] 80b769e: 681b ldr r3, [r3, #0] 80b76a0: 6a5b ldr r3, [r3, #36] ; 0x24 80b76a2: 60bb str r3, [r7, #8] if (fifo == 0U) 80b76a4: 78fb ldrb r3, [r7, #3] 80b76a6: 2b00 cmp r3, #0 80b76a8: d107 bne.n 80b76ba { hpcd->Instance->DIEPTXF0_HNPTXFSIZ = ((uint32_t)size << 16) | Tx_Offset; 80b76aa: 687b ldr r3, [r7, #4] 80b76ac: 681b ldr r3, [r3, #0] 80b76ae: 883a ldrh r2, [r7, #0] 80b76b0: 0411 lsls r1, r2, #16 80b76b2: 68ba ldr r2, [r7, #8] 80b76b4: 430a orrs r2, r1 80b76b6: 629a str r2, [r3, #40] ; 0x28 80b76b8: e028 b.n 80b770c } else { Tx_Offset += (hpcd->Instance->DIEPTXF0_HNPTXFSIZ) >> 16; 80b76ba: 687b ldr r3, [r7, #4] 80b76bc: 681b ldr r3, [r3, #0] 80b76be: 6a9b ldr r3, [r3, #40] ; 0x28 80b76c0: 0c1b lsrs r3, r3, #16 80b76c2: 68ba ldr r2, [r7, #8] 80b76c4: 4413 add r3, r2 80b76c6: 60bb str r3, [r7, #8] for (i = 0U; i < (fifo - 1U); i++) 80b76c8: 2300 movs r3, #0 80b76ca: 73fb strb r3, [r7, #15] 80b76cc: e00d b.n 80b76ea { Tx_Offset += (hpcd->Instance->DIEPTXF[i] >> 16); 80b76ce: 687b ldr r3, [r7, #4] 80b76d0: 681a ldr r2, [r3, #0] 80b76d2: 7bfb ldrb r3, [r7, #15] 80b76d4: 3340 adds r3, #64 ; 0x40 80b76d6: 009b lsls r3, r3, #2 80b76d8: 4413 add r3, r2 80b76da: 685b ldr r3, [r3, #4] 80b76dc: 0c1b lsrs r3, r3, #16 80b76de: 68ba ldr r2, [r7, #8] 80b76e0: 4413 add r3, r2 80b76e2: 60bb str r3, [r7, #8] for (i = 0U; i < (fifo - 1U); i++) 80b76e4: 7bfb ldrb r3, [r7, #15] 80b76e6: 3301 adds r3, #1 80b76e8: 73fb strb r3, [r7, #15] 80b76ea: 7bfa ldrb r2, [r7, #15] 80b76ec: 78fb ldrb r3, [r7, #3] 80b76ee: 3b01 subs r3, #1 80b76f0: 429a cmp r2, r3 80b76f2: d3ec bcc.n 80b76ce } /* Multiply Tx_Size by 2 to get higher performance */ hpcd->Instance->DIEPTXF[fifo - 1U] = ((uint32_t)size << 16) | Tx_Offset; 80b76f4: 687b ldr r3, [r7, #4] 80b76f6: 6819 ldr r1, [r3, #0] 80b76f8: 78fb ldrb r3, [r7, #3] 80b76fa: 3b01 subs r3, #1 80b76fc: 883a ldrh r2, [r7, #0] 80b76fe: 0410 lsls r0, r2, #16 80b7700: 68ba ldr r2, [r7, #8] 80b7702: 4302 orrs r2, r0 80b7704: 3340 adds r3, #64 ; 0x40 80b7706: 009b lsls r3, r3, #2 80b7708: 440b add r3, r1 80b770a: 605a str r2, [r3, #4] } return HAL_OK; 80b770c: 2300 movs r3, #0 } 80b770e: 4618 mov r0, r3 80b7710: 3714 adds r7, #20 80b7712: 46bd mov sp, r7 80b7714: f85d 7b04 ldr.w r7, [sp], #4 80b7718: 4770 bx lr 080b771a : * @param hpcd PCD handle * @param size Size of Rx fifo * @retval HAL status */ HAL_StatusTypeDef HAL_PCDEx_SetRxFiFo(PCD_HandleTypeDef *hpcd, uint16_t size) { 80b771a: b480 push {r7} 80b771c: b083 sub sp, #12 80b771e: af00 add r7, sp, #0 80b7720: 6078 str r0, [r7, #4] 80b7722: 460b mov r3, r1 80b7724: 807b strh r3, [r7, #2] hpcd->Instance->GRXFSIZ = size; 80b7726: 687b ldr r3, [r7, #4] 80b7728: 681b ldr r3, [r3, #0] 80b772a: 887a ldrh r2, [r7, #2] 80b772c: 625a str r2, [r3, #36] ; 0x24 return HAL_OK; 80b772e: 2300 movs r3, #0 } 80b7730: 4618 mov r0, r3 80b7732: 370c adds r7, #12 80b7734: 46bd mov sp, r7 80b7736: f85d 7b04 ldr.w r7, [sp], #4 80b773a: 4770 bx lr 080b773c : * @brief Activate LPM feature. * @param hpcd PCD handle * @retval HAL status */ HAL_StatusTypeDef HAL_PCDEx_ActivateLPM(PCD_HandleTypeDef *hpcd) { 80b773c: b480 push {r7} 80b773e: b085 sub sp, #20 80b7740: af00 add r7, sp, #0 80b7742: 6078 str r0, [r7, #4] USB_OTG_GlobalTypeDef *USBx = hpcd->Instance; 80b7744: 687b ldr r3, [r7, #4] 80b7746: 681b ldr r3, [r3, #0] 80b7748: 60fb str r3, [r7, #12] hpcd->lpm_active = 1U; 80b774a: 687b ldr r3, [r7, #4] 80b774c: 2201 movs r2, #1 80b774e: f8c3 23fc str.w r2, [r3, #1020] ; 0x3fc hpcd->LPM_State = LPM_L0; 80b7752: 687b ldr r3, [r7, #4] 80b7754: 2200 movs r2, #0 80b7756: f883 23f4 strb.w r2, [r3, #1012] ; 0x3f4 USBx->GINTMSK |= USB_OTG_GINTMSK_LPMINTM; 80b775a: 68fb ldr r3, [r7, #12] 80b775c: 699b ldr r3, [r3, #24] 80b775e: f043 6200 orr.w r2, r3, #134217728 ; 0x8000000 80b7762: 68fb ldr r3, [r7, #12] 80b7764: 619a str r2, [r3, #24] USBx->GLPMCFG |= (USB_OTG_GLPMCFG_LPMEN | USB_OTG_GLPMCFG_LPMACK | USB_OTG_GLPMCFG_ENBESL); 80b7766: 68fb ldr r3, [r7, #12] 80b7768: 6d5a ldr r2, [r3, #84] ; 0x54 80b776a: 4b05 ldr r3, [pc, #20] ; (80b7780 ) 80b776c: 4313 orrs r3, r2 80b776e: 68fa ldr r2, [r7, #12] 80b7770: 6553 str r3, [r2, #84] ; 0x54 return HAL_OK; 80b7772: 2300 movs r3, #0 } 80b7774: 4618 mov r0, r3 80b7776: 3714 adds r7, #20 80b7778: 46bd mov sp, r7 80b777a: f85d 7b04 ldr.w r7, [sp], #4 80b777e: 4770 bx lr 80b7780: 10000003 .word 0x10000003 080b7784 : * @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) { 80b7784: b480 push {r7} 80b7786: af00 add r7, sp, #0 /* Enable access to RTC and backup registers */ SET_BIT(PWR->CR1, PWR_CR1_DBP); 80b7788: 4a05 ldr r2, [pc, #20] ; (80b77a0 ) 80b778a: 4b05 ldr r3, [pc, #20] ; (80b77a0 ) 80b778c: 681b ldr r3, [r3, #0] 80b778e: f443 7380 orr.w r3, r3, #256 ; 0x100 80b7792: 6013 str r3, [r2, #0] } 80b7794: bf00 nop 80b7796: 46bd mov sp, r7 80b7798: f85d 7b04 ldr.w r7, [sp], #4 80b779c: 4770 bx lr 80b779e: bf00 nop 80b77a0: 40007000 .word 0x40007000 080b77a4 : * 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) { 80b77a4: b580 push {r7, lr} 80b77a6: b082 sub sp, #8 80b77a8: af00 add r7, sp, #0 uint32_t tickstart = 0; 80b77aa: 2300 movs r3, #0 80b77ac: 607b str r3, [r7, #4] __HAL_RCC_PWR_CLK_ENABLE(); 80b77ae: 4a23 ldr r2, [pc, #140] ; (80b783c ) 80b77b0: 4b22 ldr r3, [pc, #136] ; (80b783c ) 80b77b2: 6c1b ldr r3, [r3, #64] ; 0x40 80b77b4: f043 5380 orr.w r3, r3, #268435456 ; 0x10000000 80b77b8: 6413 str r3, [r2, #64] ; 0x40 80b77ba: 4b20 ldr r3, [pc, #128] ; (80b783c ) 80b77bc: 6c1b ldr r3, [r3, #64] ; 0x40 80b77be: f003 5380 and.w r3, r3, #268435456 ; 0x10000000 80b77c2: 603b str r3, [r7, #0] 80b77c4: 683b ldr r3, [r7, #0] /* Enable the Over-drive to extend the clock frequency to 216 MHz */ __HAL_PWR_OVERDRIVE_ENABLE(); 80b77c6: 4a1e ldr r2, [pc, #120] ; (80b7840 ) 80b77c8: 4b1d ldr r3, [pc, #116] ; (80b7840 ) 80b77ca: 681b ldr r3, [r3, #0] 80b77cc: f443 3380 orr.w r3, r3, #65536 ; 0x10000 80b77d0: 6013 str r3, [r2, #0] /* Get tick */ tickstart = HAL_GetTick(); 80b77d2: f7fb fd31 bl 80b3238 80b77d6: 6078 str r0, [r7, #4] while(!__HAL_PWR_GET_FLAG(PWR_FLAG_ODRDY)) 80b77d8: e009 b.n 80b77ee { if((HAL_GetTick() - tickstart ) > PWR_OVERDRIVE_TIMEOUT_VALUE) 80b77da: f7fb fd2d bl 80b3238 80b77de: 4602 mov r2, r0 80b77e0: 687b ldr r3, [r7, #4] 80b77e2: 1ad3 subs r3, r2, r3 80b77e4: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 80b77e8: d901 bls.n 80b77ee { return HAL_TIMEOUT; 80b77ea: 2303 movs r3, #3 80b77ec: e022 b.n 80b7834 while(!__HAL_PWR_GET_FLAG(PWR_FLAG_ODRDY)) 80b77ee: 4b14 ldr r3, [pc, #80] ; (80b7840 ) 80b77f0: 685b ldr r3, [r3, #4] 80b77f2: f403 3380 and.w r3, r3, #65536 ; 0x10000 80b77f6: f5b3 3f80 cmp.w r3, #65536 ; 0x10000 80b77fa: d1ee bne.n 80b77da } } /* Enable the Over-drive switch */ __HAL_PWR_OVERDRIVESWITCHING_ENABLE(); 80b77fc: 4a10 ldr r2, [pc, #64] ; (80b7840 ) 80b77fe: 4b10 ldr r3, [pc, #64] ; (80b7840 ) 80b7800: 681b ldr r3, [r3, #0] 80b7802: f443 3300 orr.w r3, r3, #131072 ; 0x20000 80b7806: 6013 str r3, [r2, #0] /* Get tick */ tickstart = HAL_GetTick(); 80b7808: f7fb fd16 bl 80b3238 80b780c: 6078 str r0, [r7, #4] while(!__HAL_PWR_GET_FLAG(PWR_FLAG_ODSWRDY)) 80b780e: e009 b.n 80b7824 { if((HAL_GetTick() - tickstart ) > PWR_OVERDRIVE_TIMEOUT_VALUE) 80b7810: f7fb fd12 bl 80b3238 80b7814: 4602 mov r2, r0 80b7816: 687b ldr r3, [r7, #4] 80b7818: 1ad3 subs r3, r2, r3 80b781a: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 80b781e: d901 bls.n 80b7824 { return HAL_TIMEOUT; 80b7820: 2303 movs r3, #3 80b7822: e007 b.n 80b7834 while(!__HAL_PWR_GET_FLAG(PWR_FLAG_ODSWRDY)) 80b7824: 4b06 ldr r3, [pc, #24] ; (80b7840 ) 80b7826: 685b ldr r3, [r3, #4] 80b7828: f403 3300 and.w r3, r3, #131072 ; 0x20000 80b782c: f5b3 3f00 cmp.w r3, #131072 ; 0x20000 80b7830: d1ee bne.n 80b7810 } } return HAL_OK; 80b7832: 2300 movs r3, #0 } 80b7834: 4618 mov r0, r3 80b7836: 3708 adds r7, #8 80b7838: 46bd mov sp, r7 80b783a: bd80 pop {r7, pc} 80b783c: 40023800 .word 0x40023800 80b7840: 40007000 .word 0x40007000 080b7844 : * 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) { 80b7844: b580 push {r7, lr} 80b7846: b086 sub sp, #24 80b7848: af00 add r7, sp, #0 80b784a: 6078 str r0, [r7, #4] uint32_t tickstart; uint32_t pll_config; FlagStatus pwrclkchanged = RESET; 80b784c: 2300 movs r3, #0 80b784e: 75fb strb r3, [r7, #23] /* Check Null pointer */ if (RCC_OscInitStruct == NULL) 80b7850: 687b ldr r3, [r7, #4] 80b7852: 2b00 cmp r3, #0 80b7854: d101 bne.n 80b785a { return HAL_ERROR; 80b7856: 2301 movs r3, #1 80b7858: e29b b.n 80b7d92 /* Check the parameters */ assert_param(IS_RCC_OSCILLATORTYPE(RCC_OscInitStruct->OscillatorType)); /*------------------------------- HSE Configuration ------------------------*/ if (((RCC_OscInitStruct->OscillatorType) & RCC_OSCILLATORTYPE_HSE) == RCC_OSCILLATORTYPE_HSE) 80b785a: 687b ldr r3, [r7, #4] 80b785c: 681b ldr r3, [r3, #0] 80b785e: f003 0301 and.w r3, r3, #1 80b7862: 2b00 cmp r3, #0 80b7864: f000 8087 beq.w 80b7976 { /* 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) 80b7868: 4b96 ldr r3, [pc, #600] ; (80b7ac4 ) 80b786a: 689b ldr r3, [r3, #8] 80b786c: f003 030c and.w r3, r3, #12 80b7870: 2b04 cmp r3, #4 80b7872: d00c beq.n 80b788e || ((__HAL_RCC_GET_SYSCLK_SOURCE() == RCC_SYSCLKSOURCE_STATUS_PLLCLK) && ((RCC->PLLCFGR & RCC_PLLCFGR_PLLSRC) == RCC_PLLCFGR_PLLSRC_HSE))) 80b7874: 4b93 ldr r3, [pc, #588] ; (80b7ac4 ) 80b7876: 689b ldr r3, [r3, #8] 80b7878: f003 030c and.w r3, r3, #12 80b787c: 2b08 cmp r3, #8 80b787e: d112 bne.n 80b78a6 80b7880: 4b90 ldr r3, [pc, #576] ; (80b7ac4 ) 80b7882: 685b ldr r3, [r3, #4] 80b7884: f403 0380 and.w r3, r3, #4194304 ; 0x400000 80b7888: f5b3 0f80 cmp.w r3, #4194304 ; 0x400000 80b788c: d10b bne.n 80b78a6 { if ((__HAL_RCC_GET_FLAG(RCC_FLAG_HSERDY) != RESET) && (RCC_OscInitStruct->HSEState == RCC_HSE_OFF)) 80b788e: 4b8d ldr r3, [pc, #564] ; (80b7ac4 ) 80b7890: 681b ldr r3, [r3, #0] 80b7892: f403 3300 and.w r3, r3, #131072 ; 0x20000 80b7896: 2b00 cmp r3, #0 80b7898: d06c beq.n 80b7974 80b789a: 687b ldr r3, [r7, #4] 80b789c: 685b ldr r3, [r3, #4] 80b789e: 2b00 cmp r3, #0 80b78a0: d168 bne.n 80b7974 { return HAL_ERROR; 80b78a2: 2301 movs r3, #1 80b78a4: e275 b.n 80b7d92 } } else { /* Set the new HSE configuration ---------------------------------------*/ __HAL_RCC_HSE_CONFIG(RCC_OscInitStruct->HSEState); 80b78a6: 687b ldr r3, [r7, #4] 80b78a8: 685b ldr r3, [r3, #4] 80b78aa: f5b3 3f80 cmp.w r3, #65536 ; 0x10000 80b78ae: d106 bne.n 80b78be 80b78b0: 4a84 ldr r2, [pc, #528] ; (80b7ac4 ) 80b78b2: 4b84 ldr r3, [pc, #528] ; (80b7ac4 ) 80b78b4: 681b ldr r3, [r3, #0] 80b78b6: f443 3380 orr.w r3, r3, #65536 ; 0x10000 80b78ba: 6013 str r3, [r2, #0] 80b78bc: e02e b.n 80b791c 80b78be: 687b ldr r3, [r7, #4] 80b78c0: 685b ldr r3, [r3, #4] 80b78c2: 2b00 cmp r3, #0 80b78c4: d10c bne.n 80b78e0 80b78c6: 4a7f ldr r2, [pc, #508] ; (80b7ac4 ) 80b78c8: 4b7e ldr r3, [pc, #504] ; (80b7ac4 ) 80b78ca: 681b ldr r3, [r3, #0] 80b78cc: f423 3380 bic.w r3, r3, #65536 ; 0x10000 80b78d0: 6013 str r3, [r2, #0] 80b78d2: 4a7c ldr r2, [pc, #496] ; (80b7ac4 ) 80b78d4: 4b7b ldr r3, [pc, #492] ; (80b7ac4 ) 80b78d6: 681b ldr r3, [r3, #0] 80b78d8: f423 2380 bic.w r3, r3, #262144 ; 0x40000 80b78dc: 6013 str r3, [r2, #0] 80b78de: e01d b.n 80b791c 80b78e0: 687b ldr r3, [r7, #4] 80b78e2: 685b ldr r3, [r3, #4] 80b78e4: f5b3 2fa0 cmp.w r3, #327680 ; 0x50000 80b78e8: d10c bne.n 80b7904 80b78ea: 4a76 ldr r2, [pc, #472] ; (80b7ac4 ) 80b78ec: 4b75 ldr r3, [pc, #468] ; (80b7ac4 ) 80b78ee: 681b ldr r3, [r3, #0] 80b78f0: f443 2380 orr.w r3, r3, #262144 ; 0x40000 80b78f4: 6013 str r3, [r2, #0] 80b78f6: 4a73 ldr r2, [pc, #460] ; (80b7ac4 ) 80b78f8: 4b72 ldr r3, [pc, #456] ; (80b7ac4 ) 80b78fa: 681b ldr r3, [r3, #0] 80b78fc: f443 3380 orr.w r3, r3, #65536 ; 0x10000 80b7900: 6013 str r3, [r2, #0] 80b7902: e00b b.n 80b791c 80b7904: 4a6f ldr r2, [pc, #444] ; (80b7ac4 ) 80b7906: 4b6f ldr r3, [pc, #444] ; (80b7ac4 ) 80b7908: 681b ldr r3, [r3, #0] 80b790a: f423 3380 bic.w r3, r3, #65536 ; 0x10000 80b790e: 6013 str r3, [r2, #0] 80b7910: 4a6c ldr r2, [pc, #432] ; (80b7ac4 ) 80b7912: 4b6c ldr r3, [pc, #432] ; (80b7ac4 ) 80b7914: 681b ldr r3, [r3, #0] 80b7916: f423 2380 bic.w r3, r3, #262144 ; 0x40000 80b791a: 6013 str r3, [r2, #0] /* Check the HSE State */ if (RCC_OscInitStruct->HSEState != RCC_HSE_OFF) 80b791c: 687b ldr r3, [r7, #4] 80b791e: 685b ldr r3, [r3, #4] 80b7920: 2b00 cmp r3, #0 80b7922: d013 beq.n 80b794c { /* Get Start Tick*/ tickstart = HAL_GetTick(); 80b7924: f7fb fc88 bl 80b3238 80b7928: 6138 str r0, [r7, #16] /* Wait till HSE is ready */ while (__HAL_RCC_GET_FLAG(RCC_FLAG_HSERDY) == RESET) 80b792a: e008 b.n 80b793e { if ((HAL_GetTick() - tickstart) > HSE_TIMEOUT_VALUE) 80b792c: f7fb fc84 bl 80b3238 80b7930: 4602 mov r2, r0 80b7932: 693b ldr r3, [r7, #16] 80b7934: 1ad3 subs r3, r2, r3 80b7936: 2b64 cmp r3, #100 ; 0x64 80b7938: d901 bls.n 80b793e { return HAL_TIMEOUT; 80b793a: 2303 movs r3, #3 80b793c: e229 b.n 80b7d92 while (__HAL_RCC_GET_FLAG(RCC_FLAG_HSERDY) == RESET) 80b793e: 4b61 ldr r3, [pc, #388] ; (80b7ac4 ) 80b7940: 681b ldr r3, [r3, #0] 80b7942: f403 3300 and.w r3, r3, #131072 ; 0x20000 80b7946: 2b00 cmp r3, #0 80b7948: d0f0 beq.n 80b792c 80b794a: e014 b.n 80b7976 } } else { /* Get Start Tick*/ tickstart = HAL_GetTick(); 80b794c: f7fb fc74 bl 80b3238 80b7950: 6138 str r0, [r7, #16] /* Wait till HSE is bypassed or disabled */ while (__HAL_RCC_GET_FLAG(RCC_FLAG_HSERDY) != RESET) 80b7952: e008 b.n 80b7966 { if ((HAL_GetTick() - tickstart) > HSE_TIMEOUT_VALUE) 80b7954: f7fb fc70 bl 80b3238 80b7958: 4602 mov r2, r0 80b795a: 693b ldr r3, [r7, #16] 80b795c: 1ad3 subs r3, r2, r3 80b795e: 2b64 cmp r3, #100 ; 0x64 80b7960: d901 bls.n 80b7966 { return HAL_TIMEOUT; 80b7962: 2303 movs r3, #3 80b7964: e215 b.n 80b7d92 while (__HAL_RCC_GET_FLAG(RCC_FLAG_HSERDY) != RESET) 80b7966: 4b57 ldr r3, [pc, #348] ; (80b7ac4 ) 80b7968: 681b ldr r3, [r3, #0] 80b796a: f403 3300 and.w r3, r3, #131072 ; 0x20000 80b796e: 2b00 cmp r3, #0 80b7970: d1f0 bne.n 80b7954 80b7972: e000 b.n 80b7976 if ((__HAL_RCC_GET_FLAG(RCC_FLAG_HSERDY) != RESET) && (RCC_OscInitStruct->HSEState == RCC_HSE_OFF)) 80b7974: bf00 nop } } } } /*----------------------------- HSI Configuration --------------------------*/ if (((RCC_OscInitStruct->OscillatorType) & RCC_OSCILLATORTYPE_HSI) == RCC_OSCILLATORTYPE_HSI) 80b7976: 687b ldr r3, [r7, #4] 80b7978: 681b ldr r3, [r3, #0] 80b797a: f003 0302 and.w r3, r3, #2 80b797e: 2b00 cmp r3, #0 80b7980: d069 beq.n 80b7a56 /* 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) 80b7982: 4b50 ldr r3, [pc, #320] ; (80b7ac4 ) 80b7984: 689b ldr r3, [r3, #8] 80b7986: f003 030c and.w r3, r3, #12 80b798a: 2b00 cmp r3, #0 80b798c: d00b beq.n 80b79a6 || ((__HAL_RCC_GET_SYSCLK_SOURCE() == RCC_SYSCLKSOURCE_STATUS_PLLCLK) && ((RCC->PLLCFGR & RCC_PLLCFGR_PLLSRC) == RCC_PLLCFGR_PLLSRC_HSI))) 80b798e: 4b4d ldr r3, [pc, #308] ; (80b7ac4 ) 80b7990: 689b ldr r3, [r3, #8] 80b7992: f003 030c and.w r3, r3, #12 80b7996: 2b08 cmp r3, #8 80b7998: d11c bne.n 80b79d4 80b799a: 4b4a ldr r3, [pc, #296] ; (80b7ac4 ) 80b799c: 685b ldr r3, [r3, #4] 80b799e: f403 0380 and.w r3, r3, #4194304 ; 0x400000 80b79a2: 2b00 cmp r3, #0 80b79a4: d116 bne.n 80b79d4 { /* 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)) 80b79a6: 4b47 ldr r3, [pc, #284] ; (80b7ac4 ) 80b79a8: 681b ldr r3, [r3, #0] 80b79aa: f003 0302 and.w r3, r3, #2 80b79ae: 2b00 cmp r3, #0 80b79b0: d005 beq.n 80b79be 80b79b2: 687b ldr r3, [r7, #4] 80b79b4: 68db ldr r3, [r3, #12] 80b79b6: 2b01 cmp r3, #1 80b79b8: d001 beq.n 80b79be { return HAL_ERROR; 80b79ba: 2301 movs r3, #1 80b79bc: e1e9 b.n 80b7d92 } /* Otherwise, just the calibration is allowed */ else { /* Adjusts the Internal High Speed oscillator (HSI) calibration value.*/ __HAL_RCC_HSI_CALIBRATIONVALUE_ADJUST(RCC_OscInitStruct->HSICalibrationValue); 80b79be: 4941 ldr r1, [pc, #260] ; (80b7ac4 ) 80b79c0: 4b40 ldr r3, [pc, #256] ; (80b7ac4 ) 80b79c2: 681b ldr r3, [r3, #0] 80b79c4: f023 02f8 bic.w r2, r3, #248 ; 0xf8 80b79c8: 687b ldr r3, [r7, #4] 80b79ca: 691b ldr r3, [r3, #16] 80b79cc: 00db lsls r3, r3, #3 80b79ce: 4313 orrs r3, r2 80b79d0: 600b str r3, [r1, #0] if ((__HAL_RCC_GET_FLAG(RCC_FLAG_HSIRDY) != RESET) && (RCC_OscInitStruct->HSIState != RCC_HSI_ON)) 80b79d2: e040 b.n 80b7a56 } } else { /* Check the HSI State */ if ((RCC_OscInitStruct->HSIState) != RCC_HSI_OFF) 80b79d4: 687b ldr r3, [r7, #4] 80b79d6: 68db ldr r3, [r3, #12] 80b79d8: 2b00 cmp r3, #0 80b79da: d023 beq.n 80b7a24 { /* Enable the Internal High Speed oscillator (HSI). */ __HAL_RCC_HSI_ENABLE(); 80b79dc: 4a39 ldr r2, [pc, #228] ; (80b7ac4 ) 80b79de: 4b39 ldr r3, [pc, #228] ; (80b7ac4 ) 80b79e0: 681b ldr r3, [r3, #0] 80b79e2: f043 0301 orr.w r3, r3, #1 80b79e6: 6013 str r3, [r2, #0] /* Get Start Tick*/ tickstart = HAL_GetTick(); 80b79e8: f7fb fc26 bl 80b3238 80b79ec: 6138 str r0, [r7, #16] /* Wait till HSI is ready */ while (__HAL_RCC_GET_FLAG(RCC_FLAG_HSIRDY) == RESET) 80b79ee: e008 b.n 80b7a02 { if ((HAL_GetTick() - tickstart) > HSI_TIMEOUT_VALUE) 80b79f0: f7fb fc22 bl 80b3238 80b79f4: 4602 mov r2, r0 80b79f6: 693b ldr r3, [r7, #16] 80b79f8: 1ad3 subs r3, r2, r3 80b79fa: 2b02 cmp r3, #2 80b79fc: d901 bls.n 80b7a02 { return HAL_TIMEOUT; 80b79fe: 2303 movs r3, #3 80b7a00: e1c7 b.n 80b7d92 while (__HAL_RCC_GET_FLAG(RCC_FLAG_HSIRDY) == RESET) 80b7a02: 4b30 ldr r3, [pc, #192] ; (80b7ac4 ) 80b7a04: 681b ldr r3, [r3, #0] 80b7a06: f003 0302 and.w r3, r3, #2 80b7a0a: 2b00 cmp r3, #0 80b7a0c: d0f0 beq.n 80b79f0 } } /* Adjusts the Internal High Speed oscillator (HSI) calibration value.*/ __HAL_RCC_HSI_CALIBRATIONVALUE_ADJUST(RCC_OscInitStruct->HSICalibrationValue); 80b7a0e: 492d ldr r1, [pc, #180] ; (80b7ac4 ) 80b7a10: 4b2c ldr r3, [pc, #176] ; (80b7ac4 ) 80b7a12: 681b ldr r3, [r3, #0] 80b7a14: f023 02f8 bic.w r2, r3, #248 ; 0xf8 80b7a18: 687b ldr r3, [r7, #4] 80b7a1a: 691b ldr r3, [r3, #16] 80b7a1c: 00db lsls r3, r3, #3 80b7a1e: 4313 orrs r3, r2 80b7a20: 600b str r3, [r1, #0] 80b7a22: e018 b.n 80b7a56 } else { /* Disable the Internal High Speed oscillator (HSI). */ __HAL_RCC_HSI_DISABLE(); 80b7a24: 4a27 ldr r2, [pc, #156] ; (80b7ac4 ) 80b7a26: 4b27 ldr r3, [pc, #156] ; (80b7ac4 ) 80b7a28: 681b ldr r3, [r3, #0] 80b7a2a: f023 0301 bic.w r3, r3, #1 80b7a2e: 6013 str r3, [r2, #0] /* Get Start Tick*/ tickstart = HAL_GetTick(); 80b7a30: f7fb fc02 bl 80b3238 80b7a34: 6138 str r0, [r7, #16] /* Wait till HSI is ready */ while (__HAL_RCC_GET_FLAG(RCC_FLAG_HSIRDY) != RESET) 80b7a36: e008 b.n 80b7a4a { if ((HAL_GetTick() - tickstart) > HSI_TIMEOUT_VALUE) 80b7a38: f7fb fbfe bl 80b3238 80b7a3c: 4602 mov r2, r0 80b7a3e: 693b ldr r3, [r7, #16] 80b7a40: 1ad3 subs r3, r2, r3 80b7a42: 2b02 cmp r3, #2 80b7a44: d901 bls.n 80b7a4a { return HAL_TIMEOUT; 80b7a46: 2303 movs r3, #3 80b7a48: e1a3 b.n 80b7d92 while (__HAL_RCC_GET_FLAG(RCC_FLAG_HSIRDY) != RESET) 80b7a4a: 4b1e ldr r3, [pc, #120] ; (80b7ac4 ) 80b7a4c: 681b ldr r3, [r3, #0] 80b7a4e: f003 0302 and.w r3, r3, #2 80b7a52: 2b00 cmp r3, #0 80b7a54: d1f0 bne.n 80b7a38 } } } } /*------------------------------ LSI Configuration -------------------------*/ if (((RCC_OscInitStruct->OscillatorType) & RCC_OSCILLATORTYPE_LSI) == RCC_OSCILLATORTYPE_LSI) 80b7a56: 687b ldr r3, [r7, #4] 80b7a58: 681b ldr r3, [r3, #0] 80b7a5a: f003 0308 and.w r3, r3, #8 80b7a5e: 2b00 cmp r3, #0 80b7a60: d038 beq.n 80b7ad4 { /* Check the parameters */ assert_param(IS_RCC_LSI(RCC_OscInitStruct->LSIState)); /* Check the LSI State */ if ((RCC_OscInitStruct->LSIState) != RCC_LSI_OFF) 80b7a62: 687b ldr r3, [r7, #4] 80b7a64: 695b ldr r3, [r3, #20] 80b7a66: 2b00 cmp r3, #0 80b7a68: d019 beq.n 80b7a9e { /* Enable the Internal Low Speed oscillator (LSI). */ __HAL_RCC_LSI_ENABLE(); 80b7a6a: 4a16 ldr r2, [pc, #88] ; (80b7ac4 ) 80b7a6c: 4b15 ldr r3, [pc, #84] ; (80b7ac4 ) 80b7a6e: 6f5b ldr r3, [r3, #116] ; 0x74 80b7a70: f043 0301 orr.w r3, r3, #1 80b7a74: 6753 str r3, [r2, #116] ; 0x74 /* Get Start Tick*/ tickstart = HAL_GetTick(); 80b7a76: f7fb fbdf bl 80b3238 80b7a7a: 6138 str r0, [r7, #16] /* Wait till LSI is ready */ while (__HAL_RCC_GET_FLAG(RCC_FLAG_LSIRDY) == RESET) 80b7a7c: e008 b.n 80b7a90 { if ((HAL_GetTick() - tickstart) > LSI_TIMEOUT_VALUE) 80b7a7e: f7fb fbdb bl 80b3238 80b7a82: 4602 mov r2, r0 80b7a84: 693b ldr r3, [r7, #16] 80b7a86: 1ad3 subs r3, r2, r3 80b7a88: 2b02 cmp r3, #2 80b7a8a: d901 bls.n 80b7a90 { return HAL_TIMEOUT; 80b7a8c: 2303 movs r3, #3 80b7a8e: e180 b.n 80b7d92 while (__HAL_RCC_GET_FLAG(RCC_FLAG_LSIRDY) == RESET) 80b7a90: 4b0c ldr r3, [pc, #48] ; (80b7ac4 ) 80b7a92: 6f5b ldr r3, [r3, #116] ; 0x74 80b7a94: f003 0302 and.w r3, r3, #2 80b7a98: 2b00 cmp r3, #0 80b7a9a: d0f0 beq.n 80b7a7e 80b7a9c: e01a b.n 80b7ad4 } } else { /* Disable the Internal Low Speed oscillator (LSI). */ __HAL_RCC_LSI_DISABLE(); 80b7a9e: 4a09 ldr r2, [pc, #36] ; (80b7ac4 ) 80b7aa0: 4b08 ldr r3, [pc, #32] ; (80b7ac4 ) 80b7aa2: 6f5b ldr r3, [r3, #116] ; 0x74 80b7aa4: f023 0301 bic.w r3, r3, #1 80b7aa8: 6753 str r3, [r2, #116] ; 0x74 /* Get Start Tick*/ tickstart = HAL_GetTick(); 80b7aaa: f7fb fbc5 bl 80b3238 80b7aae: 6138 str r0, [r7, #16] /* Wait till LSI is ready */ while (__HAL_RCC_GET_FLAG(RCC_FLAG_LSIRDY) != RESET) 80b7ab0: e00a b.n 80b7ac8 { if ((HAL_GetTick() - tickstart) > LSI_TIMEOUT_VALUE) 80b7ab2: f7fb fbc1 bl 80b3238 80b7ab6: 4602 mov r2, r0 80b7ab8: 693b ldr r3, [r7, #16] 80b7aba: 1ad3 subs r3, r2, r3 80b7abc: 2b02 cmp r3, #2 80b7abe: d903 bls.n 80b7ac8 { return HAL_TIMEOUT; 80b7ac0: 2303 movs r3, #3 80b7ac2: e166 b.n 80b7d92 80b7ac4: 40023800 .word 0x40023800 while (__HAL_RCC_GET_FLAG(RCC_FLAG_LSIRDY) != RESET) 80b7ac8: 4b92 ldr r3, [pc, #584] ; (80b7d14 ) 80b7aca: 6f5b ldr r3, [r3, #116] ; 0x74 80b7acc: f003 0302 and.w r3, r3, #2 80b7ad0: 2b00 cmp r3, #0 80b7ad2: d1ee bne.n 80b7ab2 } } } } /*------------------------------ LSE Configuration -------------------------*/ if (((RCC_OscInitStruct->OscillatorType) & RCC_OSCILLATORTYPE_LSE) == RCC_OSCILLATORTYPE_LSE) 80b7ad4: 687b ldr r3, [r7, #4] 80b7ad6: 681b ldr r3, [r3, #0] 80b7ad8: f003 0304 and.w r3, r3, #4 80b7adc: 2b00 cmp r3, #0 80b7ade: f000 80a4 beq.w 80b7c2a /* 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()) 80b7ae2: 4b8c ldr r3, [pc, #560] ; (80b7d14 ) 80b7ae4: 6c1b ldr r3, [r3, #64] ; 0x40 80b7ae6: f003 5380 and.w r3, r3, #268435456 ; 0x10000000 80b7aea: 2b00 cmp r3, #0 80b7aec: d10d bne.n 80b7b0a { /* Enable Power Clock*/ __HAL_RCC_PWR_CLK_ENABLE(); 80b7aee: 4a89 ldr r2, [pc, #548] ; (80b7d14 ) 80b7af0: 4b88 ldr r3, [pc, #544] ; (80b7d14 ) 80b7af2: 6c1b ldr r3, [r3, #64] ; 0x40 80b7af4: f043 5380 orr.w r3, r3, #268435456 ; 0x10000000 80b7af8: 6413 str r3, [r2, #64] ; 0x40 80b7afa: 4b86 ldr r3, [pc, #536] ; (80b7d14 ) 80b7afc: 6c1b ldr r3, [r3, #64] ; 0x40 80b7afe: f003 5380 and.w r3, r3, #268435456 ; 0x10000000 80b7b02: 60bb str r3, [r7, #8] 80b7b04: 68bb ldr r3, [r7, #8] pwrclkchanged = SET; 80b7b06: 2301 movs r3, #1 80b7b08: 75fb strb r3, [r7, #23] } if (HAL_IS_BIT_CLR(PWR->CR1, PWR_CR1_DBP)) 80b7b0a: 4b83 ldr r3, [pc, #524] ; (80b7d18 ) 80b7b0c: 681b ldr r3, [r3, #0] 80b7b0e: f403 7380 and.w r3, r3, #256 ; 0x100 80b7b12: 2b00 cmp r3, #0 80b7b14: d118 bne.n 80b7b48 { /* Enable write access to Backup domain */ PWR->CR1 |= PWR_CR1_DBP; 80b7b16: 4a80 ldr r2, [pc, #512] ; (80b7d18 ) 80b7b18: 4b7f ldr r3, [pc, #508] ; (80b7d18 ) 80b7b1a: 681b ldr r3, [r3, #0] 80b7b1c: f443 7380 orr.w r3, r3, #256 ; 0x100 80b7b20: 6013 str r3, [r2, #0] /* Wait for Backup domain Write protection disable */ tickstart = HAL_GetTick(); 80b7b22: f7fb fb89 bl 80b3238 80b7b26: 6138 str r0, [r7, #16] while (HAL_IS_BIT_CLR(PWR->CR1, PWR_CR1_DBP)) 80b7b28: e008 b.n 80b7b3c { if ((HAL_GetTick() - tickstart) > RCC_DBP_TIMEOUT_VALUE) 80b7b2a: f7fb fb85 bl 80b3238 80b7b2e: 4602 mov r2, r0 80b7b30: 693b ldr r3, [r7, #16] 80b7b32: 1ad3 subs r3, r2, r3 80b7b34: 2b64 cmp r3, #100 ; 0x64 80b7b36: d901 bls.n 80b7b3c { return HAL_TIMEOUT; 80b7b38: 2303 movs r3, #3 80b7b3a: e12a b.n 80b7d92 while (HAL_IS_BIT_CLR(PWR->CR1, PWR_CR1_DBP)) 80b7b3c: 4b76 ldr r3, [pc, #472] ; (80b7d18 ) 80b7b3e: 681b ldr r3, [r3, #0] 80b7b40: f403 7380 and.w r3, r3, #256 ; 0x100 80b7b44: 2b00 cmp r3, #0 80b7b46: d0f0 beq.n 80b7b2a } } } /* Set the new LSE configuration -----------------------------------------*/ __HAL_RCC_LSE_CONFIG(RCC_OscInitStruct->LSEState); 80b7b48: 687b ldr r3, [r7, #4] 80b7b4a: 689b ldr r3, [r3, #8] 80b7b4c: 2b01 cmp r3, #1 80b7b4e: d106 bne.n 80b7b5e 80b7b50: 4a70 ldr r2, [pc, #448] ; (80b7d14 ) 80b7b52: 4b70 ldr r3, [pc, #448] ; (80b7d14 ) 80b7b54: 6f1b ldr r3, [r3, #112] ; 0x70 80b7b56: f043 0301 orr.w r3, r3, #1 80b7b5a: 6713 str r3, [r2, #112] ; 0x70 80b7b5c: e02d b.n 80b7bba 80b7b5e: 687b ldr r3, [r7, #4] 80b7b60: 689b ldr r3, [r3, #8] 80b7b62: 2b00 cmp r3, #0 80b7b64: d10c bne.n 80b7b80 80b7b66: 4a6b ldr r2, [pc, #428] ; (80b7d14 ) 80b7b68: 4b6a ldr r3, [pc, #424] ; (80b7d14 ) 80b7b6a: 6f1b ldr r3, [r3, #112] ; 0x70 80b7b6c: f023 0301 bic.w r3, r3, #1 80b7b70: 6713 str r3, [r2, #112] ; 0x70 80b7b72: 4a68 ldr r2, [pc, #416] ; (80b7d14 ) 80b7b74: 4b67 ldr r3, [pc, #412] ; (80b7d14 ) 80b7b76: 6f1b ldr r3, [r3, #112] ; 0x70 80b7b78: f023 0304 bic.w r3, r3, #4 80b7b7c: 6713 str r3, [r2, #112] ; 0x70 80b7b7e: e01c b.n 80b7bba 80b7b80: 687b ldr r3, [r7, #4] 80b7b82: 689b ldr r3, [r3, #8] 80b7b84: 2b05 cmp r3, #5 80b7b86: d10c bne.n 80b7ba2 80b7b88: 4a62 ldr r2, [pc, #392] ; (80b7d14 ) 80b7b8a: 4b62 ldr r3, [pc, #392] ; (80b7d14 ) 80b7b8c: 6f1b ldr r3, [r3, #112] ; 0x70 80b7b8e: f043 0304 orr.w r3, r3, #4 80b7b92: 6713 str r3, [r2, #112] ; 0x70 80b7b94: 4a5f ldr r2, [pc, #380] ; (80b7d14 ) 80b7b96: 4b5f ldr r3, [pc, #380] ; (80b7d14 ) 80b7b98: 6f1b ldr r3, [r3, #112] ; 0x70 80b7b9a: f043 0301 orr.w r3, r3, #1 80b7b9e: 6713 str r3, [r2, #112] ; 0x70 80b7ba0: e00b b.n 80b7bba 80b7ba2: 4a5c ldr r2, [pc, #368] ; (80b7d14 ) 80b7ba4: 4b5b ldr r3, [pc, #364] ; (80b7d14 ) 80b7ba6: 6f1b ldr r3, [r3, #112] ; 0x70 80b7ba8: f023 0301 bic.w r3, r3, #1 80b7bac: 6713 str r3, [r2, #112] ; 0x70 80b7bae: 4a59 ldr r2, [pc, #356] ; (80b7d14 ) 80b7bb0: 4b58 ldr r3, [pc, #352] ; (80b7d14 ) 80b7bb2: 6f1b ldr r3, [r3, #112] ; 0x70 80b7bb4: f023 0304 bic.w r3, r3, #4 80b7bb8: 6713 str r3, [r2, #112] ; 0x70 /* Check the LSE State */ if ((RCC_OscInitStruct->LSEState) != RCC_LSE_OFF) 80b7bba: 687b ldr r3, [r7, #4] 80b7bbc: 689b ldr r3, [r3, #8] 80b7bbe: 2b00 cmp r3, #0 80b7bc0: d015 beq.n 80b7bee { /* Get Start Tick*/ tickstart = HAL_GetTick(); 80b7bc2: f7fb fb39 bl 80b3238 80b7bc6: 6138 str r0, [r7, #16] /* Wait till LSE is ready */ while (__HAL_RCC_GET_FLAG(RCC_FLAG_LSERDY) == RESET) 80b7bc8: e00a b.n 80b7be0 { if ((HAL_GetTick() - tickstart) > RCC_LSE_TIMEOUT_VALUE) 80b7bca: f7fb fb35 bl 80b3238 80b7bce: 4602 mov r2, r0 80b7bd0: 693b ldr r3, [r7, #16] 80b7bd2: 1ad3 subs r3, r2, r3 80b7bd4: f241 3288 movw r2, #5000 ; 0x1388 80b7bd8: 4293 cmp r3, r2 80b7bda: d901 bls.n 80b7be0 { return HAL_TIMEOUT; 80b7bdc: 2303 movs r3, #3 80b7bde: e0d8 b.n 80b7d92 while (__HAL_RCC_GET_FLAG(RCC_FLAG_LSERDY) == RESET) 80b7be0: 4b4c ldr r3, [pc, #304] ; (80b7d14 ) 80b7be2: 6f1b ldr r3, [r3, #112] ; 0x70 80b7be4: f003 0302 and.w r3, r3, #2 80b7be8: 2b00 cmp r3, #0 80b7bea: d0ee beq.n 80b7bca 80b7bec: e014 b.n 80b7c18 } } else { /* Get Start Tick*/ tickstart = HAL_GetTick(); 80b7bee: f7fb fb23 bl 80b3238 80b7bf2: 6138 str r0, [r7, #16] /* Wait till LSE is ready */ while (__HAL_RCC_GET_FLAG(RCC_FLAG_LSERDY) != RESET) 80b7bf4: e00a b.n 80b7c0c { if ((HAL_GetTick() - tickstart) > RCC_LSE_TIMEOUT_VALUE) 80b7bf6: f7fb fb1f bl 80b3238 80b7bfa: 4602 mov r2, r0 80b7bfc: 693b ldr r3, [r7, #16] 80b7bfe: 1ad3 subs r3, r2, r3 80b7c00: f241 3288 movw r2, #5000 ; 0x1388 80b7c04: 4293 cmp r3, r2 80b7c06: d901 bls.n 80b7c0c { return HAL_TIMEOUT; 80b7c08: 2303 movs r3, #3 80b7c0a: e0c2 b.n 80b7d92 while (__HAL_RCC_GET_FLAG(RCC_FLAG_LSERDY) != RESET) 80b7c0c: 4b41 ldr r3, [pc, #260] ; (80b7d14 ) 80b7c0e: 6f1b ldr r3, [r3, #112] ; 0x70 80b7c10: f003 0302 and.w r3, r3, #2 80b7c14: 2b00 cmp r3, #0 80b7c16: d1ee bne.n 80b7bf6 } } } /* Restore clock configuration if changed */ if (pwrclkchanged == SET) 80b7c18: 7dfb ldrb r3, [r7, #23] 80b7c1a: 2b01 cmp r3, #1 80b7c1c: d105 bne.n 80b7c2a { __HAL_RCC_PWR_CLK_DISABLE(); 80b7c1e: 4a3d ldr r2, [pc, #244] ; (80b7d14 ) 80b7c20: 4b3c ldr r3, [pc, #240] ; (80b7d14 ) 80b7c22: 6c1b ldr r3, [r3, #64] ; 0x40 80b7c24: f023 5380 bic.w r3, r3, #268435456 ; 0x10000000 80b7c28: 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) 80b7c2a: 687b ldr r3, [r7, #4] 80b7c2c: 699b ldr r3, [r3, #24] 80b7c2e: 2b00 cmp r3, #0 80b7c30: f000 80ae beq.w 80b7d90 { /* Check if the PLL is used as system clock or not */ if (__HAL_RCC_GET_SYSCLK_SOURCE() != RCC_SYSCLKSOURCE_STATUS_PLLCLK) 80b7c34: 4b37 ldr r3, [pc, #220] ; (80b7d14 ) 80b7c36: 689b ldr r3, [r3, #8] 80b7c38: f003 030c and.w r3, r3, #12 80b7c3c: 2b08 cmp r3, #8 80b7c3e: d06d beq.n 80b7d1c { if ((RCC_OscInitStruct->PLL.PLLState) == RCC_PLL_ON) 80b7c40: 687b ldr r3, [r7, #4] 80b7c42: 699b ldr r3, [r3, #24] 80b7c44: 2b02 cmp r3, #2 80b7c46: d14b bne.n 80b7ce0 #if defined (RCC_PLLCFGR_PLLR) assert_param(IS_RCC_PLLR_VALUE(RCC_OscInitStruct->PLL.PLLR)); #endif /* Disable the main PLL. */ __HAL_RCC_PLL_DISABLE(); 80b7c48: 4a32 ldr r2, [pc, #200] ; (80b7d14 ) 80b7c4a: 4b32 ldr r3, [pc, #200] ; (80b7d14 ) 80b7c4c: 681b ldr r3, [r3, #0] 80b7c4e: f023 7380 bic.w r3, r3, #16777216 ; 0x1000000 80b7c52: 6013 str r3, [r2, #0] /* Get Start Tick*/ tickstart = HAL_GetTick(); 80b7c54: f7fb faf0 bl 80b3238 80b7c58: 6138 str r0, [r7, #16] /* Wait till PLL is ready */ while (__HAL_RCC_GET_FLAG(RCC_FLAG_PLLRDY) != RESET) 80b7c5a: e008 b.n 80b7c6e { if ((HAL_GetTick() - tickstart) > PLL_TIMEOUT_VALUE) 80b7c5c: f7fb faec bl 80b3238 80b7c60: 4602 mov r2, r0 80b7c62: 693b ldr r3, [r7, #16] 80b7c64: 1ad3 subs r3, r2, r3 80b7c66: 2b02 cmp r3, #2 80b7c68: d901 bls.n 80b7c6e { return HAL_TIMEOUT; 80b7c6a: 2303 movs r3, #3 80b7c6c: e091 b.n 80b7d92 while (__HAL_RCC_GET_FLAG(RCC_FLAG_PLLRDY) != RESET) 80b7c6e: 4b29 ldr r3, [pc, #164] ; (80b7d14 ) 80b7c70: 681b ldr r3, [r3, #0] 80b7c72: f003 7300 and.w r3, r3, #33554432 ; 0x2000000 80b7c76: 2b00 cmp r3, #0 80b7c78: d1f0 bne.n 80b7c5c } } /* Configure the main PLL clock source, multiplication and division factors. */ #if defined (RCC_PLLCFGR_PLLR) __HAL_RCC_PLL_CONFIG(RCC_OscInitStruct->PLL.PLLSource, 80b7c7a: 4926 ldr r1, [pc, #152] ; (80b7d14 ) 80b7c7c: 687b ldr r3, [r7, #4] 80b7c7e: 69da ldr r2, [r3, #28] 80b7c80: 687b ldr r3, [r7, #4] 80b7c82: 6a1b ldr r3, [r3, #32] 80b7c84: 431a orrs r2, r3 80b7c86: 687b ldr r3, [r7, #4] 80b7c88: 6a5b ldr r3, [r3, #36] ; 0x24 80b7c8a: 019b lsls r3, r3, #6 80b7c8c: 431a orrs r2, r3 80b7c8e: 687b ldr r3, [r7, #4] 80b7c90: 6a9b ldr r3, [r3, #40] ; 0x28 80b7c92: 085b lsrs r3, r3, #1 80b7c94: 3b01 subs r3, #1 80b7c96: 041b lsls r3, r3, #16 80b7c98: 431a orrs r2, r3 80b7c9a: 687b ldr r3, [r7, #4] 80b7c9c: 6adb ldr r3, [r3, #44] ; 0x2c 80b7c9e: 061b lsls r3, r3, #24 80b7ca0: 431a orrs r2, r3 80b7ca2: 687b ldr r3, [r7, #4] 80b7ca4: 6b1b ldr r3, [r3, #48] ; 0x30 80b7ca6: 071b lsls r3, r3, #28 80b7ca8: 4313 orrs r3, r2 80b7caa: 604b str r3, [r1, #4] RCC_OscInitStruct->PLL.PLLP, RCC_OscInitStruct->PLL.PLLQ); #endif /* Enable the main PLL. */ __HAL_RCC_PLL_ENABLE(); 80b7cac: 4a19 ldr r2, [pc, #100] ; (80b7d14 ) 80b7cae: 4b19 ldr r3, [pc, #100] ; (80b7d14 ) 80b7cb0: 681b ldr r3, [r3, #0] 80b7cb2: f043 7380 orr.w r3, r3, #16777216 ; 0x1000000 80b7cb6: 6013 str r3, [r2, #0] /* Get Start Tick*/ tickstart = HAL_GetTick(); 80b7cb8: f7fb fabe bl 80b3238 80b7cbc: 6138 str r0, [r7, #16] /* Wait till PLL is ready */ while (__HAL_RCC_GET_FLAG(RCC_FLAG_PLLRDY) == RESET) 80b7cbe: e008 b.n 80b7cd2 { if ((HAL_GetTick() - tickstart) > PLL_TIMEOUT_VALUE) 80b7cc0: f7fb faba bl 80b3238 80b7cc4: 4602 mov r2, r0 80b7cc6: 693b ldr r3, [r7, #16] 80b7cc8: 1ad3 subs r3, r2, r3 80b7cca: 2b02 cmp r3, #2 80b7ccc: d901 bls.n 80b7cd2 { return HAL_TIMEOUT; 80b7cce: 2303 movs r3, #3 80b7cd0: e05f b.n 80b7d92 while (__HAL_RCC_GET_FLAG(RCC_FLAG_PLLRDY) == RESET) 80b7cd2: 4b10 ldr r3, [pc, #64] ; (80b7d14 ) 80b7cd4: 681b ldr r3, [r3, #0] 80b7cd6: f003 7300 and.w r3, r3, #33554432 ; 0x2000000 80b7cda: 2b00 cmp r3, #0 80b7cdc: d0f0 beq.n 80b7cc0 80b7cde: e057 b.n 80b7d90 } } else { /* Disable the main PLL. */ __HAL_RCC_PLL_DISABLE(); 80b7ce0: 4a0c ldr r2, [pc, #48] ; (80b7d14 ) 80b7ce2: 4b0c ldr r3, [pc, #48] ; (80b7d14 ) 80b7ce4: 681b ldr r3, [r3, #0] 80b7ce6: f023 7380 bic.w r3, r3, #16777216 ; 0x1000000 80b7cea: 6013 str r3, [r2, #0] /* Get Start Tick*/ tickstart = HAL_GetTick(); 80b7cec: f7fb faa4 bl 80b3238 80b7cf0: 6138 str r0, [r7, #16] /* Wait till PLL is ready */ while (__HAL_RCC_GET_FLAG(RCC_FLAG_PLLRDY) != RESET) 80b7cf2: e008 b.n 80b7d06 { if ((HAL_GetTick() - tickstart) > PLL_TIMEOUT_VALUE) 80b7cf4: f7fb faa0 bl 80b3238 80b7cf8: 4602 mov r2, r0 80b7cfa: 693b ldr r3, [r7, #16] 80b7cfc: 1ad3 subs r3, r2, r3 80b7cfe: 2b02 cmp r3, #2 80b7d00: d901 bls.n 80b7d06 { return HAL_TIMEOUT; 80b7d02: 2303 movs r3, #3 80b7d04: e045 b.n 80b7d92 while (__HAL_RCC_GET_FLAG(RCC_FLAG_PLLRDY) != RESET) 80b7d06: 4b03 ldr r3, [pc, #12] ; (80b7d14 ) 80b7d08: 681b ldr r3, [r3, #0] 80b7d0a: f003 7300 and.w r3, r3, #33554432 ; 0x2000000 80b7d0e: 2b00 cmp r3, #0 80b7d10: d1f0 bne.n 80b7cf4 80b7d12: e03d b.n 80b7d90 80b7d14: 40023800 .word 0x40023800 80b7d18: 40007000 .word 0x40007000 } } else { /* Do not return HAL_ERROR if request repeats the current configuration */ pll_config = RCC->PLLCFGR; 80b7d1c: 4b1f ldr r3, [pc, #124] ; (80b7d9c ) 80b7d1e: 685b ldr r3, [r3, #4] 80b7d20: 60fb str r3, [r7, #12] #if defined (RCC_PLLCFGR_PLLR) if (((RCC_OscInitStruct->PLL.PLLState) == RCC_PLL_OFF) || 80b7d22: 687b ldr r3, [r7, #4] 80b7d24: 699b ldr r3, [r3, #24] 80b7d26: 2b01 cmp r3, #1 80b7d28: d030 beq.n 80b7d8c (READ_BIT(pll_config, RCC_PLLCFGR_PLLSRC) != RCC_OscInitStruct->PLL.PLLSource) || 80b7d2a: 68fb ldr r3, [r7, #12] 80b7d2c: f403 0280 and.w r2, r3, #4194304 ; 0x400000 80b7d30: 687b ldr r3, [r7, #4] 80b7d32: 69db ldr r3, [r3, #28] if (((RCC_OscInitStruct->PLL.PLLState) == RCC_PLL_OFF) || 80b7d34: 429a cmp r2, r3 80b7d36: d129 bne.n 80b7d8c (READ_BIT(pll_config, RCC_PLLCFGR_PLLM) != RCC_OscInitStruct->PLL.PLLM) || 80b7d38: 68fb ldr r3, [r7, #12] 80b7d3a: f003 023f and.w r2, r3, #63 ; 0x3f 80b7d3e: 687b ldr r3, [r7, #4] 80b7d40: 6a1b ldr r3, [r3, #32] (READ_BIT(pll_config, RCC_PLLCFGR_PLLSRC) != RCC_OscInitStruct->PLL.PLLSource) || 80b7d42: 429a cmp r2, r3 80b7d44: d122 bne.n 80b7d8c (READ_BIT(pll_config, RCC_PLLCFGR_PLLN) != (RCC_OscInitStruct->PLL.PLLN << RCC_PLLCFGR_PLLN_Pos)) || 80b7d46: 68fa ldr r2, [r7, #12] 80b7d48: f647 73c0 movw r3, #32704 ; 0x7fc0 80b7d4c: 4013 ands r3, r2 80b7d4e: 687a ldr r2, [r7, #4] 80b7d50: 6a52 ldr r2, [r2, #36] ; 0x24 80b7d52: 0192 lsls r2, r2, #6 (READ_BIT(pll_config, RCC_PLLCFGR_PLLM) != RCC_OscInitStruct->PLL.PLLM) || 80b7d54: 4293 cmp r3, r2 80b7d56: d119 bne.n 80b7d8c (READ_BIT(pll_config, RCC_PLLCFGR_PLLP) != ((((RCC_OscInitStruct->PLL.PLLP) >> 1U) - 1U) << RCC_PLLCFGR_PLLP_Pos)) || 80b7d58: 68fb ldr r3, [r7, #12] 80b7d5a: f403 3240 and.w r2, r3, #196608 ; 0x30000 80b7d5e: 687b ldr r3, [r7, #4] 80b7d60: 6a9b ldr r3, [r3, #40] ; 0x28 80b7d62: 085b lsrs r3, r3, #1 80b7d64: 3b01 subs r3, #1 80b7d66: 041b lsls r3, r3, #16 (READ_BIT(pll_config, RCC_PLLCFGR_PLLN) != (RCC_OscInitStruct->PLL.PLLN << RCC_PLLCFGR_PLLN_Pos)) || 80b7d68: 429a cmp r2, r3 80b7d6a: d10f bne.n 80b7d8c (READ_BIT(pll_config, RCC_PLLCFGR_PLLQ) != (RCC_OscInitStruct->PLL.PLLQ << RCC_PLLCFGR_PLLQ_Pos)) || 80b7d6c: 68fb ldr r3, [r7, #12] 80b7d6e: f003 6270 and.w r2, r3, #251658240 ; 0xf000000 80b7d72: 687b ldr r3, [r7, #4] 80b7d74: 6adb ldr r3, [r3, #44] ; 0x2c 80b7d76: 061b lsls r3, r3, #24 (READ_BIT(pll_config, RCC_PLLCFGR_PLLP) != ((((RCC_OscInitStruct->PLL.PLLP) >> 1U) - 1U) << RCC_PLLCFGR_PLLP_Pos)) || 80b7d78: 429a cmp r2, r3 80b7d7a: d107 bne.n 80b7d8c (READ_BIT(pll_config, RCC_PLLCFGR_PLLR) != (RCC_OscInitStruct->PLL.PLLR << RCC_PLLCFGR_PLLR_Pos))) 80b7d7c: 68fb ldr r3, [r7, #12] 80b7d7e: f003 42e0 and.w r2, r3, #1879048192 ; 0x70000000 80b7d82: 687b ldr r3, [r7, #4] 80b7d84: 6b1b ldr r3, [r3, #48] ; 0x30 80b7d86: 071b lsls r3, r3, #28 (READ_BIT(pll_config, RCC_PLLCFGR_PLLQ) != (RCC_OscInitStruct->PLL.PLLQ << RCC_PLLCFGR_PLLQ_Pos)) || 80b7d88: 429a cmp r2, r3 80b7d8a: d001 beq.n 80b7d90 (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; 80b7d8c: 2301 movs r3, #1 80b7d8e: e000 b.n 80b7d92 } } } return HAL_OK; 80b7d90: 2300 movs r3, #0 } 80b7d92: 4618 mov r0, r3 80b7d94: 3718 adds r7, #24 80b7d96: 46bd mov sp, r7 80b7d98: bd80 pop {r7, pc} 80b7d9a: bf00 nop 80b7d9c: 40023800 .word 0x40023800 080b7da0 : * 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) { 80b7da0: b580 push {r7, lr} 80b7da2: b084 sub sp, #16 80b7da4: af00 add r7, sp, #0 80b7da6: 6078 str r0, [r7, #4] 80b7da8: 6039 str r1, [r7, #0] uint32_t tickstart = 0; 80b7daa: 2300 movs r3, #0 80b7dac: 60fb str r3, [r7, #12] /* Check Null pointer */ if (RCC_ClkInitStruct == NULL) 80b7dae: 687b ldr r3, [r7, #4] 80b7db0: 2b00 cmp r3, #0 80b7db2: d101 bne.n 80b7db8 { return HAL_ERROR; 80b7db4: 2301 movs r3, #1 80b7db6: e0d0 b.n 80b7f5a /* 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()) 80b7db8: 4b6a ldr r3, [pc, #424] ; (80b7f64 ) 80b7dba: 681b ldr r3, [r3, #0] 80b7dbc: f003 020f and.w r2, r3, #15 80b7dc0: 683b ldr r3, [r7, #0] 80b7dc2: 429a cmp r2, r3 80b7dc4: d210 bcs.n 80b7de8 { /* Program the new number of wait states to the LATENCY bits in the FLASH_ACR register */ __HAL_FLASH_SET_LATENCY(FLatency); 80b7dc6: 4967 ldr r1, [pc, #412] ; (80b7f64 ) 80b7dc8: 4b66 ldr r3, [pc, #408] ; (80b7f64 ) 80b7dca: 681b ldr r3, [r3, #0] 80b7dcc: f023 020f bic.w r2, r3, #15 80b7dd0: 683b ldr r3, [r7, #0] 80b7dd2: 4313 orrs r3, r2 80b7dd4: 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) 80b7dd6: 4b63 ldr r3, [pc, #396] ; (80b7f64 ) 80b7dd8: 681b ldr r3, [r3, #0] 80b7dda: f003 020f and.w r2, r3, #15 80b7dde: 683b ldr r3, [r7, #0] 80b7de0: 429a cmp r2, r3 80b7de2: d001 beq.n 80b7de8 { return HAL_ERROR; 80b7de4: 2301 movs r3, #1 80b7de6: e0b8 b.n 80b7f5a } } /*-------------------------- HCLK Configuration --------------------------*/ if (((RCC_ClkInitStruct->ClockType) & RCC_CLOCKTYPE_HCLK) == RCC_CLOCKTYPE_HCLK) 80b7de8: 687b ldr r3, [r7, #4] 80b7dea: 681b ldr r3, [r3, #0] 80b7dec: f003 0302 and.w r3, r3, #2 80b7df0: 2b00 cmp r3, #0 80b7df2: d020 beq.n 80b7e36 { /* 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) 80b7df4: 687b ldr r3, [r7, #4] 80b7df6: 681b ldr r3, [r3, #0] 80b7df8: f003 0304 and.w r3, r3, #4 80b7dfc: 2b00 cmp r3, #0 80b7dfe: d005 beq.n 80b7e0c { MODIFY_REG(RCC->CFGR, RCC_CFGR_PPRE1, RCC_HCLK_DIV16); 80b7e00: 4a59 ldr r2, [pc, #356] ; (80b7f68 ) 80b7e02: 4b59 ldr r3, [pc, #356] ; (80b7f68 ) 80b7e04: 689b ldr r3, [r3, #8] 80b7e06: f443 53e0 orr.w r3, r3, #7168 ; 0x1c00 80b7e0a: 6093 str r3, [r2, #8] } if (((RCC_ClkInitStruct->ClockType) & RCC_CLOCKTYPE_PCLK2) == RCC_CLOCKTYPE_PCLK2) 80b7e0c: 687b ldr r3, [r7, #4] 80b7e0e: 681b ldr r3, [r3, #0] 80b7e10: f003 0308 and.w r3, r3, #8 80b7e14: 2b00 cmp r3, #0 80b7e16: d005 beq.n 80b7e24 { MODIFY_REG(RCC->CFGR, RCC_CFGR_PPRE2, (RCC_HCLK_DIV16 << 3)); 80b7e18: 4a53 ldr r2, [pc, #332] ; (80b7f68 ) 80b7e1a: 4b53 ldr r3, [pc, #332] ; (80b7f68 ) 80b7e1c: 689b ldr r3, [r3, #8] 80b7e1e: f443 4360 orr.w r3, r3, #57344 ; 0xe000 80b7e22: 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); 80b7e24: 4950 ldr r1, [pc, #320] ; (80b7f68 ) 80b7e26: 4b50 ldr r3, [pc, #320] ; (80b7f68 ) 80b7e28: 689b ldr r3, [r3, #8] 80b7e2a: f023 02f0 bic.w r2, r3, #240 ; 0xf0 80b7e2e: 687b ldr r3, [r7, #4] 80b7e30: 689b ldr r3, [r3, #8] 80b7e32: 4313 orrs r3, r2 80b7e34: 608b str r3, [r1, #8] } /*------------------------- SYSCLK Configuration ---------------------------*/ if (((RCC_ClkInitStruct->ClockType) & RCC_CLOCKTYPE_SYSCLK) == RCC_CLOCKTYPE_SYSCLK) 80b7e36: 687b ldr r3, [r7, #4] 80b7e38: 681b ldr r3, [r3, #0] 80b7e3a: f003 0301 and.w r3, r3, #1 80b7e3e: 2b00 cmp r3, #0 80b7e40: d040 beq.n 80b7ec4 { assert_param(IS_RCC_SYSCLKSOURCE(RCC_ClkInitStruct->SYSCLKSource)); /* HSE is selected as System Clock Source */ if (RCC_ClkInitStruct->SYSCLKSource == RCC_SYSCLKSOURCE_HSE) 80b7e42: 687b ldr r3, [r7, #4] 80b7e44: 685b ldr r3, [r3, #4] 80b7e46: 2b01 cmp r3, #1 80b7e48: d107 bne.n 80b7e5a { /* Check the HSE ready flag */ if (__HAL_RCC_GET_FLAG(RCC_FLAG_HSERDY) == RESET) 80b7e4a: 4b47 ldr r3, [pc, #284] ; (80b7f68 ) 80b7e4c: 681b ldr r3, [r3, #0] 80b7e4e: f403 3300 and.w r3, r3, #131072 ; 0x20000 80b7e52: 2b00 cmp r3, #0 80b7e54: d115 bne.n 80b7e82 { return HAL_ERROR; 80b7e56: 2301 movs r3, #1 80b7e58: e07f b.n 80b7f5a } } /* PLL is selected as System Clock Source */ else if (RCC_ClkInitStruct->SYSCLKSource == RCC_SYSCLKSOURCE_PLLCLK) 80b7e5a: 687b ldr r3, [r7, #4] 80b7e5c: 685b ldr r3, [r3, #4] 80b7e5e: 2b02 cmp r3, #2 80b7e60: d107 bne.n 80b7e72 { /* Check the PLL ready flag */ if (__HAL_RCC_GET_FLAG(RCC_FLAG_PLLRDY) == RESET) 80b7e62: 4b41 ldr r3, [pc, #260] ; (80b7f68 ) 80b7e64: 681b ldr r3, [r3, #0] 80b7e66: f003 7300 and.w r3, r3, #33554432 ; 0x2000000 80b7e6a: 2b00 cmp r3, #0 80b7e6c: d109 bne.n 80b7e82 { return HAL_ERROR; 80b7e6e: 2301 movs r3, #1 80b7e70: e073 b.n 80b7f5a } /* HSI is selected as System Clock Source */ else { /* Check the HSI ready flag */ if (__HAL_RCC_GET_FLAG(RCC_FLAG_HSIRDY) == RESET) 80b7e72: 4b3d ldr r3, [pc, #244] ; (80b7f68 ) 80b7e74: 681b ldr r3, [r3, #0] 80b7e76: f003 0302 and.w r3, r3, #2 80b7e7a: 2b00 cmp r3, #0 80b7e7c: d101 bne.n 80b7e82 { return HAL_ERROR; 80b7e7e: 2301 movs r3, #1 80b7e80: e06b b.n 80b7f5a } } __HAL_RCC_SYSCLK_CONFIG(RCC_ClkInitStruct->SYSCLKSource); 80b7e82: 4939 ldr r1, [pc, #228] ; (80b7f68 ) 80b7e84: 4b38 ldr r3, [pc, #224] ; (80b7f68 ) 80b7e86: 689b ldr r3, [r3, #8] 80b7e88: f023 0203 bic.w r2, r3, #3 80b7e8c: 687b ldr r3, [r7, #4] 80b7e8e: 685b ldr r3, [r3, #4] 80b7e90: 4313 orrs r3, r2 80b7e92: 608b str r3, [r1, #8] /* Get Start Tick*/ tickstart = HAL_GetTick(); 80b7e94: f7fb f9d0 bl 80b3238 80b7e98: 60f8 str r0, [r7, #12] while (__HAL_RCC_GET_SYSCLK_SOURCE() != (RCC_ClkInitStruct->SYSCLKSource << RCC_CFGR_SWS_Pos)) 80b7e9a: e00a b.n 80b7eb2 { if ((HAL_GetTick() - tickstart) > CLOCKSWITCH_TIMEOUT_VALUE) 80b7e9c: f7fb f9cc bl 80b3238 80b7ea0: 4602 mov r2, r0 80b7ea2: 68fb ldr r3, [r7, #12] 80b7ea4: 1ad3 subs r3, r2, r3 80b7ea6: f241 3288 movw r2, #5000 ; 0x1388 80b7eaa: 4293 cmp r3, r2 80b7eac: d901 bls.n 80b7eb2 { return HAL_TIMEOUT; 80b7eae: 2303 movs r3, #3 80b7eb0: e053 b.n 80b7f5a while (__HAL_RCC_GET_SYSCLK_SOURCE() != (RCC_ClkInitStruct->SYSCLKSource << RCC_CFGR_SWS_Pos)) 80b7eb2: 4b2d ldr r3, [pc, #180] ; (80b7f68 ) 80b7eb4: 689b ldr r3, [r3, #8] 80b7eb6: f003 020c and.w r2, r3, #12 80b7eba: 687b ldr r3, [r7, #4] 80b7ebc: 685b ldr r3, [r3, #4] 80b7ebe: 009b lsls r3, r3, #2 80b7ec0: 429a cmp r2, r3 80b7ec2: d1eb bne.n 80b7e9c } } } /* Decreasing the number of wait states because of lower CPU frequency */ if (FLatency < __HAL_FLASH_GET_LATENCY()) 80b7ec4: 4b27 ldr r3, [pc, #156] ; (80b7f64 ) 80b7ec6: 681b ldr r3, [r3, #0] 80b7ec8: f003 020f and.w r2, r3, #15 80b7ecc: 683b ldr r3, [r7, #0] 80b7ece: 429a cmp r2, r3 80b7ed0: d910 bls.n 80b7ef4 { /* Program the new number of wait states to the LATENCY bits in the FLASH_ACR register */ __HAL_FLASH_SET_LATENCY(FLatency); 80b7ed2: 4924 ldr r1, [pc, #144] ; (80b7f64 ) 80b7ed4: 4b23 ldr r3, [pc, #140] ; (80b7f64 ) 80b7ed6: 681b ldr r3, [r3, #0] 80b7ed8: f023 020f bic.w r2, r3, #15 80b7edc: 683b ldr r3, [r7, #0] 80b7ede: 4313 orrs r3, r2 80b7ee0: 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) 80b7ee2: 4b20 ldr r3, [pc, #128] ; (80b7f64 ) 80b7ee4: 681b ldr r3, [r3, #0] 80b7ee6: f003 020f and.w r2, r3, #15 80b7eea: 683b ldr r3, [r7, #0] 80b7eec: 429a cmp r2, r3 80b7eee: d001 beq.n 80b7ef4 { return HAL_ERROR; 80b7ef0: 2301 movs r3, #1 80b7ef2: e032 b.n 80b7f5a } } /*-------------------------- PCLK1 Configuration ---------------------------*/ if (((RCC_ClkInitStruct->ClockType) & RCC_CLOCKTYPE_PCLK1) == RCC_CLOCKTYPE_PCLK1) 80b7ef4: 687b ldr r3, [r7, #4] 80b7ef6: 681b ldr r3, [r3, #0] 80b7ef8: f003 0304 and.w r3, r3, #4 80b7efc: 2b00 cmp r3, #0 80b7efe: d008 beq.n 80b7f12 { assert_param(IS_RCC_PCLK(RCC_ClkInitStruct->APB1CLKDivider)); MODIFY_REG(RCC->CFGR, RCC_CFGR_PPRE1, RCC_ClkInitStruct->APB1CLKDivider); 80b7f00: 4919 ldr r1, [pc, #100] ; (80b7f68 ) 80b7f02: 4b19 ldr r3, [pc, #100] ; (80b7f68 ) 80b7f04: 689b ldr r3, [r3, #8] 80b7f06: f423 52e0 bic.w r2, r3, #7168 ; 0x1c00 80b7f0a: 687b ldr r3, [r7, #4] 80b7f0c: 68db ldr r3, [r3, #12] 80b7f0e: 4313 orrs r3, r2 80b7f10: 608b str r3, [r1, #8] } /*-------------------------- PCLK2 Configuration ---------------------------*/ if (((RCC_ClkInitStruct->ClockType) & RCC_CLOCKTYPE_PCLK2) == RCC_CLOCKTYPE_PCLK2) 80b7f12: 687b ldr r3, [r7, #4] 80b7f14: 681b ldr r3, [r3, #0] 80b7f16: f003 0308 and.w r3, r3, #8 80b7f1a: 2b00 cmp r3, #0 80b7f1c: d009 beq.n 80b7f32 { assert_param(IS_RCC_PCLK(RCC_ClkInitStruct->APB2CLKDivider)); MODIFY_REG(RCC->CFGR, RCC_CFGR_PPRE2, ((RCC_ClkInitStruct->APB2CLKDivider) << 3)); 80b7f1e: 4912 ldr r1, [pc, #72] ; (80b7f68 ) 80b7f20: 4b11 ldr r3, [pc, #68] ; (80b7f68 ) 80b7f22: 689b ldr r3, [r3, #8] 80b7f24: f423 4260 bic.w r2, r3, #57344 ; 0xe000 80b7f28: 687b ldr r3, [r7, #4] 80b7f2a: 691b ldr r3, [r3, #16] 80b7f2c: 00db lsls r3, r3, #3 80b7f2e: 4313 orrs r3, r2 80b7f30: 608b str r3, [r1, #8] } /* Update the SystemCoreClock global variable */ SystemCoreClock = HAL_RCC_GetSysClockFreq() >> AHBPrescTable[(RCC->CFGR & RCC_CFGR_HPRE) >> RCC_CFGR_HPRE_Pos]; 80b7f32: f000 f821 bl 80b7f78 80b7f36: 4601 mov r1, r0 80b7f38: 4b0b ldr r3, [pc, #44] ; (80b7f68 ) 80b7f3a: 689b ldr r3, [r3, #8] 80b7f3c: 091b lsrs r3, r3, #4 80b7f3e: f003 030f and.w r3, r3, #15 80b7f42: 4a0a ldr r2, [pc, #40] ; (80b7f6c ) 80b7f44: 5cd3 ldrb r3, [r2, r3] 80b7f46: fa21 f303 lsr.w r3, r1, r3 80b7f4a: 4a09 ldr r2, [pc, #36] ; (80b7f70 ) 80b7f4c: 6013 str r3, [r2, #0] /* Configure the source of time base considering new system clocks settings*/ HAL_InitTick(uwTickPrio); 80b7f4e: 4b09 ldr r3, [pc, #36] ; (80b7f74 ) 80b7f50: 681b ldr r3, [r3, #0] 80b7f52: 4618 mov r0, r3 80b7f54: f7fb f92c bl 80b31b0 return HAL_OK; 80b7f58: 2300 movs r3, #0 } 80b7f5a: 4618 mov r0, r3 80b7f5c: 3710 adds r7, #16 80b7f5e: 46bd mov sp, r7 80b7f60: bd80 pop {r7, pc} 80b7f62: bf00 nop 80b7f64: 40023c00 .word 0x40023c00 80b7f68: 40023800 .word 0x40023800 80b7f6c: 080ef7e0 .word 0x080ef7e0 80b7f70: 200209b4 .word 0x200209b4 80b7f74: 200209d4 .word 0x200209d4 080b7f78 : * * * @retval SYSCLK frequency */ uint32_t HAL_RCC_GetSysClockFreq(void) { 80b7f78: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 80b7f7c: b087 sub sp, #28 80b7f7e: af00 add r7, sp, #0 uint32_t pllm = 0, pllvco = 0, pllp = 0; 80b7f80: 2200 movs r2, #0 80b7f82: 60fa str r2, [r7, #12] 80b7f84: 2200 movs r2, #0 80b7f86: 617a str r2, [r7, #20] 80b7f88: 2200 movs r2, #0 80b7f8a: 60ba str r2, [r7, #8] uint32_t sysclockfreq = 0; 80b7f8c: 2200 movs r2, #0 80b7f8e: 613a str r2, [r7, #16] /* Get SYSCLK source -------------------------------------------------------*/ switch (RCC->CFGR & RCC_CFGR_SWS) 80b7f90: 4a51 ldr r2, [pc, #324] ; (80b80d8 ) 80b7f92: 6892 ldr r2, [r2, #8] 80b7f94: f002 020c and.w r2, r2, #12 80b7f98: 2a04 cmp r2, #4 80b7f9a: d007 beq.n 80b7fac 80b7f9c: 2a08 cmp r2, #8 80b7f9e: d008 beq.n 80b7fb2 80b7fa0: 2a00 cmp r2, #0 80b7fa2: f040 8090 bne.w 80b80c6 { case RCC_SYSCLKSOURCE_STATUS_HSI: /* HSI used as system clock source */ { sysclockfreq = HSI_VALUE; 80b7fa6: 4b4d ldr r3, [pc, #308] ; (80b80dc ) 80b7fa8: 613b str r3, [r7, #16] break; 80b7faa: e08f b.n 80b80cc } case RCC_SYSCLKSOURCE_STATUS_HSE: /* HSE used as system clock source */ { sysclockfreq = HSE_VALUE; 80b7fac: 4b4c ldr r3, [pc, #304] ; (80b80e0 ) 80b7fae: 613b str r3, [r7, #16] break; 80b7fb0: e08c b.n 80b80cc } 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; 80b7fb2: 4a49 ldr r2, [pc, #292] ; (80b80d8 ) 80b7fb4: 6852 ldr r2, [r2, #4] 80b7fb6: f002 023f and.w r2, r2, #63 ; 0x3f 80b7fba: 60fa str r2, [r7, #12] if (__HAL_RCC_GET_PLL_OSCSOURCE() != RCC_PLLCFGR_PLLSRC_HSI) 80b7fbc: 4a46 ldr r2, [pc, #280] ; (80b80d8 ) 80b7fbe: 6852 ldr r2, [r2, #4] 80b7fc0: f402 0280 and.w r2, r2, #4194304 ; 0x400000 80b7fc4: 2a00 cmp r2, #0 80b7fc6: d023 beq.n 80b8010 { /* 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); 80b7fc8: 4b43 ldr r3, [pc, #268] ; (80b80d8 ) 80b7fca: 685b ldr r3, [r3, #4] 80b7fcc: 099b lsrs r3, r3, #6 80b7fce: f04f 0400 mov.w r4, #0 80b7fd2: f240 11ff movw r1, #511 ; 0x1ff 80b7fd6: f04f 0200 mov.w r2, #0 80b7fda: ea03 0301 and.w r3, r3, r1 80b7fde: ea04 0402 and.w r4, r4, r2 80b7fe2: 4a3f ldr r2, [pc, #252] ; (80b80e0 ) 80b7fe4: fb02 f104 mul.w r1, r2, r4 80b7fe8: 2200 movs r2, #0 80b7fea: fb02 f203 mul.w r2, r2, r3 80b7fee: 440a add r2, r1 80b7ff0: 493b ldr r1, [pc, #236] ; (80b80e0 ) 80b7ff2: fba3 0101 umull r0, r1, r3, r1 80b7ff6: 1853 adds r3, r2, r1 80b7ff8: 4619 mov r1, r3 80b7ffa: 68fb ldr r3, [r7, #12] 80b7ffc: f04f 0400 mov.w r4, #0 80b8000: 461a mov r2, r3 80b8002: 4623 mov r3, r4 80b8004: f768 faf2 bl 80205ec <__aeabi_uldivmod> 80b8008: 4603 mov r3, r0 80b800a: 460c mov r4, r1 80b800c: 617b str r3, [r7, #20] 80b800e: e04c b.n 80b80aa } 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); 80b8010: 4a31 ldr r2, [pc, #196] ; (80b80d8 ) 80b8012: 6852 ldr r2, [r2, #4] 80b8014: 0992 lsrs r2, r2, #6 80b8016: 4611 mov r1, r2 80b8018: f04f 0200 mov.w r2, #0 80b801c: f240 15ff movw r5, #511 ; 0x1ff 80b8020: f04f 0600 mov.w r6, #0 80b8024: ea05 0501 and.w r5, r5, r1 80b8028: ea06 0602 and.w r6, r6, r2 80b802c: 4629 mov r1, r5 80b802e: 4632 mov r2, r6 80b8030: ea4f 1b42 mov.w fp, r2, lsl #5 80b8034: ea4b 6bd1 orr.w fp, fp, r1, lsr #27 80b8038: ea4f 1a41 mov.w sl, r1, lsl #5 80b803c: 4651 mov r1, sl 80b803e: 465a mov r2, fp 80b8040: 46aa mov sl, r5 80b8042: 46b3 mov fp, r6 80b8044: 4655 mov r5, sl 80b8046: 465e mov r6, fp 80b8048: 1b4d subs r5, r1, r5 80b804a: eb62 0606 sbc.w r6, r2, r6 80b804e: 4629 mov r1, r5 80b8050: 4632 mov r2, r6 80b8052: 0194 lsls r4, r2, #6 80b8054: ea44 6491 orr.w r4, r4, r1, lsr #26 80b8058: 018b lsls r3, r1, #6 80b805a: 1a5b subs r3, r3, r1 80b805c: eb64 0402 sbc.w r4, r4, r2 80b8060: ea4f 09c4 mov.w r9, r4, lsl #3 80b8064: ea49 7953 orr.w r9, r9, r3, lsr #29 80b8068: ea4f 08c3 mov.w r8, r3, lsl #3 80b806c: 4643 mov r3, r8 80b806e: 464c mov r4, r9 80b8070: 4655 mov r5, sl 80b8072: 465e mov r6, fp 80b8074: 18ed adds r5, r5, r3 80b8076: eb46 0604 adc.w r6, r6, r4 80b807a: 462b mov r3, r5 80b807c: 4634 mov r4, r6 80b807e: 02a2 lsls r2, r4, #10 80b8080: 607a str r2, [r7, #4] 80b8082: 687a ldr r2, [r7, #4] 80b8084: ea42 5293 orr.w r2, r2, r3, lsr #22 80b8088: 607a str r2, [r7, #4] 80b808a: 029b lsls r3, r3, #10 80b808c: 603b str r3, [r7, #0] 80b808e: e897 0018 ldmia.w r7, {r3, r4} 80b8092: 4618 mov r0, r3 80b8094: 4621 mov r1, r4 80b8096: 68fb ldr r3, [r7, #12] 80b8098: f04f 0400 mov.w r4, #0 80b809c: 461a mov r2, r3 80b809e: 4623 mov r3, r4 80b80a0: f768 faa4 bl 80205ec <__aeabi_uldivmod> 80b80a4: 4603 mov r3, r0 80b80a6: 460c mov r4, r1 80b80a8: 617b str r3, [r7, #20] } pllp = ((((RCC->PLLCFGR & RCC_PLLCFGR_PLLP) >> RCC_PLLCFGR_PLLP_Pos) + 1) * 2); 80b80aa: 4b0b ldr r3, [pc, #44] ; (80b80d8 ) 80b80ac: 685b ldr r3, [r3, #4] 80b80ae: 0c1b lsrs r3, r3, #16 80b80b0: f003 0303 and.w r3, r3, #3 80b80b4: 3301 adds r3, #1 80b80b6: 005b lsls r3, r3, #1 80b80b8: 60bb str r3, [r7, #8] sysclockfreq = pllvco / pllp; 80b80ba: 697a ldr r2, [r7, #20] 80b80bc: 68bb ldr r3, [r7, #8] 80b80be: fbb2 f3f3 udiv r3, r2, r3 80b80c2: 613b str r3, [r7, #16] break; 80b80c4: e002 b.n 80b80cc } default: { sysclockfreq = HSI_VALUE; 80b80c6: 4b05 ldr r3, [pc, #20] ; (80b80dc ) 80b80c8: 613b str r3, [r7, #16] break; 80b80ca: bf00 nop } } return sysclockfreq; 80b80cc: 693b ldr r3, [r7, #16] } 80b80ce: 4618 mov r0, r3 80b80d0: 371c adds r7, #28 80b80d2: 46bd mov sp, r7 80b80d4: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 80b80d8: 40023800 .word 0x40023800 80b80dc: 00f42400 .word 0x00f42400 80b80e0: 017d7840 .word 0x017d7840 080b80e4 : * 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) { 80b80e4: b480 push {r7} 80b80e6: af00 add r7, sp, #0 return SystemCoreClock; 80b80e8: 4b03 ldr r3, [pc, #12] ; (80b80f8 ) 80b80ea: 681b ldr r3, [r3, #0] } 80b80ec: 4618 mov r0, r3 80b80ee: 46bd mov sp, r7 80b80f0: f85d 7b04 ldr.w r7, [sp], #4 80b80f4: 4770 bx lr 80b80f6: bf00 nop 80b80f8: 200209b4 .word 0x200209b4 080b80fc : * the backup registers) are set to their reset values. * * @retval HAL status */ HAL_StatusTypeDef HAL_RCCEx_PeriphCLKConfig(RCC_PeriphCLKInitTypeDef *PeriphClkInit) { 80b80fc: b580 push {r7, lr} 80b80fe: b088 sub sp, #32 80b8100: af00 add r7, sp, #0 80b8102: 6078 str r0, [r7, #4] uint32_t tickstart = 0; 80b8104: 2300 movs r3, #0 80b8106: 617b str r3, [r7, #20] uint32_t tmpreg0 = 0; 80b8108: 2300 movs r3, #0 80b810a: 613b str r3, [r7, #16] uint32_t tmpreg1 = 0; 80b810c: 2300 movs r3, #0 80b810e: 60fb str r3, [r7, #12] uint32_t plli2sused = 0; 80b8110: 2300 movs r3, #0 80b8112: 61fb str r3, [r7, #28] uint32_t pllsaiused = 0; 80b8114: 2300 movs r3, #0 80b8116: 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)) 80b8118: 687b ldr r3, [r7, #4] 80b811a: 681b ldr r3, [r3, #0] 80b811c: f003 0301 and.w r3, r3, #1 80b8120: 2b00 cmp r3, #0 80b8122: d012 beq.n 80b814a { /* Check the parameters */ assert_param(IS_RCC_I2SCLKSOURCE(PeriphClkInit->I2sClockSelection)); /* Configure I2S Clock source */ __HAL_RCC_I2S_CONFIG(PeriphClkInit->I2sClockSelection); 80b8124: 4a69 ldr r2, [pc, #420] ; (80b82cc ) 80b8126: 4b69 ldr r3, [pc, #420] ; (80b82cc ) 80b8128: 689b ldr r3, [r3, #8] 80b812a: f423 0300 bic.w r3, r3, #8388608 ; 0x800000 80b812e: 6093 str r3, [r2, #8] 80b8130: 4966 ldr r1, [pc, #408] ; (80b82cc ) 80b8132: 4b66 ldr r3, [pc, #408] ; (80b82cc ) 80b8134: 689a ldr r2, [r3, #8] 80b8136: 687b ldr r3, [r7, #4] 80b8138: 6b5b ldr r3, [r3, #52] ; 0x34 80b813a: 4313 orrs r3, r2 80b813c: 608b str r3, [r1, #8] /* Enable the PLLI2S when it's used as clock source for I2S */ if(PeriphClkInit->I2sClockSelection == RCC_I2SCLKSOURCE_PLLI2S) 80b813e: 687b ldr r3, [r7, #4] 80b8140: 6b5b ldr r3, [r3, #52] ; 0x34 80b8142: 2b00 cmp r3, #0 80b8144: d101 bne.n 80b814a { plli2sused = 1; 80b8146: 2301 movs r3, #1 80b8148: 61fb str r3, [r7, #28] } } /*------------------------------------ SAI1 configuration --------------------------------------*/ if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_SAI1) == (RCC_PERIPHCLK_SAI1)) 80b814a: 687b ldr r3, [r7, #4] 80b814c: 681b ldr r3, [r3, #0] 80b814e: f403 2300 and.w r3, r3, #524288 ; 0x80000 80b8152: 2b00 cmp r3, #0 80b8154: d017 beq.n 80b8186 { /* Check the parameters */ assert_param(IS_RCC_SAI1CLKSOURCE(PeriphClkInit->Sai1ClockSelection)); /* Configure SAI1 Clock source */ __HAL_RCC_SAI1_CONFIG(PeriphClkInit->Sai1ClockSelection); 80b8156: 495d ldr r1, [pc, #372] ; (80b82cc ) 80b8158: 4b5c ldr r3, [pc, #368] ; (80b82cc ) 80b815a: f8d3 308c ldr.w r3, [r3, #140] ; 0x8c 80b815e: f423 1240 bic.w r2, r3, #3145728 ; 0x300000 80b8162: 687b ldr r3, [r7, #4] 80b8164: 6bdb ldr r3, [r3, #60] ; 0x3c 80b8166: 4313 orrs r3, r2 80b8168: 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) 80b816c: 687b ldr r3, [r7, #4] 80b816e: 6bdb ldr r3, [r3, #60] ; 0x3c 80b8170: f5b3 1f80 cmp.w r3, #1048576 ; 0x100000 80b8174: d101 bne.n 80b817a { plli2sused = 1; 80b8176: 2301 movs r3, #1 80b8178: 61fb str r3, [r7, #28] } /* Enable the PLLSAI when it's used as clock source for SAI */ if(PeriphClkInit->Sai1ClockSelection == RCC_SAI1CLKSOURCE_PLLSAI) 80b817a: 687b ldr r3, [r7, #4] 80b817c: 6bdb ldr r3, [r3, #60] ; 0x3c 80b817e: 2b00 cmp r3, #0 80b8180: d101 bne.n 80b8186 { pllsaiused = 1; 80b8182: 2301 movs r3, #1 80b8184: 61bb str r3, [r7, #24] } } /*------------------------------------ SAI2 configuration --------------------------------------*/ if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_SAI2) == (RCC_PERIPHCLK_SAI2)) 80b8186: 687b ldr r3, [r7, #4] 80b8188: 681b ldr r3, [r3, #0] 80b818a: f403 1380 and.w r3, r3, #1048576 ; 0x100000 80b818e: 2b00 cmp r3, #0 80b8190: d017 beq.n 80b81c2 { /* Check the parameters */ assert_param(IS_RCC_SAI2CLKSOURCE(PeriphClkInit->Sai2ClockSelection)); /* Configure SAI2 Clock source */ __HAL_RCC_SAI2_CONFIG(PeriphClkInit->Sai2ClockSelection); 80b8192: 494e ldr r1, [pc, #312] ; (80b82cc ) 80b8194: 4b4d ldr r3, [pc, #308] ; (80b82cc ) 80b8196: f8d3 308c ldr.w r3, [r3, #140] ; 0x8c 80b819a: f423 0240 bic.w r2, r3, #12582912 ; 0xc00000 80b819e: 687b ldr r3, [r7, #4] 80b81a0: 6c1b ldr r3, [r3, #64] ; 0x40 80b81a2: 4313 orrs r3, r2 80b81a4: 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) 80b81a8: 687b ldr r3, [r7, #4] 80b81aa: 6c1b ldr r3, [r3, #64] ; 0x40 80b81ac: f5b3 0f80 cmp.w r3, #4194304 ; 0x400000 80b81b0: d101 bne.n 80b81b6 { plli2sused = 1; 80b81b2: 2301 movs r3, #1 80b81b4: 61fb str r3, [r7, #28] } /* Enable the PLLSAI when it's used as clock source for SAI */ if(PeriphClkInit->Sai2ClockSelection == RCC_SAI2CLKSOURCE_PLLSAI) 80b81b6: 687b ldr r3, [r7, #4] 80b81b8: 6c1b ldr r3, [r3, #64] ; 0x40 80b81ba: 2b00 cmp r3, #0 80b81bc: d101 bne.n 80b81c2 { pllsaiused = 1; 80b81be: 2301 movs r3, #1 80b81c0: 61bb str r3, [r7, #24] } } /*-------------------------------------- SPDIF-RX Configuration -----------------------------------*/ if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_SPDIFRX) == RCC_PERIPHCLK_SPDIFRX) 80b81c2: 687b ldr r3, [r7, #4] 80b81c4: 681b ldr r3, [r3, #0] 80b81c6: f003 7380 and.w r3, r3, #16777216 ; 0x1000000 80b81ca: 2b00 cmp r3, #0 80b81cc: d001 beq.n 80b81d2 { plli2sused = 1; 80b81ce: 2301 movs r3, #1 80b81d0: 61fb str r3, [r7, #28] } /*------------------------------------ RTC configuration --------------------------------------*/ if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_RTC) == (RCC_PERIPHCLK_RTC)) 80b81d2: 687b ldr r3, [r7, #4] 80b81d4: 681b ldr r3, [r3, #0] 80b81d6: f003 0320 and.w r3, r3, #32 80b81da: 2b00 cmp r3, #0 80b81dc: f000 808b beq.w 80b82f6 { /* Check for RTC Parameters used to output RTCCLK */ assert_param(IS_RCC_RTCCLKSOURCE(PeriphClkInit->RTCClockSelection)); /* Enable Power Clock*/ __HAL_RCC_PWR_CLK_ENABLE(); 80b81e0: 4a3a ldr r2, [pc, #232] ; (80b82cc ) 80b81e2: 4b3a ldr r3, [pc, #232] ; (80b82cc ) 80b81e4: 6c1b ldr r3, [r3, #64] ; 0x40 80b81e6: f043 5380 orr.w r3, r3, #268435456 ; 0x10000000 80b81ea: 6413 str r3, [r2, #64] ; 0x40 80b81ec: 4b37 ldr r3, [pc, #220] ; (80b82cc ) 80b81ee: 6c1b ldr r3, [r3, #64] ; 0x40 80b81f0: f003 5380 and.w r3, r3, #268435456 ; 0x10000000 80b81f4: 60bb str r3, [r7, #8] 80b81f6: 68bb ldr r3, [r7, #8] /* Enable write access to Backup domain */ PWR->CR1 |= PWR_CR1_DBP; 80b81f8: 4a35 ldr r2, [pc, #212] ; (80b82d0 ) 80b81fa: 4b35 ldr r3, [pc, #212] ; (80b82d0 ) 80b81fc: 681b ldr r3, [r3, #0] 80b81fe: f443 7380 orr.w r3, r3, #256 ; 0x100 80b8202: 6013 str r3, [r2, #0] /* Get Start Tick*/ tickstart = HAL_GetTick(); 80b8204: f7fb f818 bl 80b3238 80b8208: 6178 str r0, [r7, #20] /* Wait for Backup domain Write protection disable */ while((PWR->CR1 & PWR_CR1_DBP) == RESET) 80b820a: e008 b.n 80b821e { if((HAL_GetTick() - tickstart) > RCC_DBP_TIMEOUT_VALUE) 80b820c: f7fb f814 bl 80b3238 80b8210: 4602 mov r2, r0 80b8212: 697b ldr r3, [r7, #20] 80b8214: 1ad3 subs r3, r2, r3 80b8216: 2b64 cmp r3, #100 ; 0x64 80b8218: d901 bls.n 80b821e { return HAL_TIMEOUT; 80b821a: 2303 movs r3, #3 80b821c: e38d b.n 80b893a while((PWR->CR1 & PWR_CR1_DBP) == RESET) 80b821e: 4b2c ldr r3, [pc, #176] ; (80b82d0 ) 80b8220: 681b ldr r3, [r3, #0] 80b8222: f403 7380 and.w r3, r3, #256 ; 0x100 80b8226: 2b00 cmp r3, #0 80b8228: d0f0 beq.n 80b820c } } /* Reset the Backup domain only if the RTC Clock source selection is modified */ tmpreg0 = (RCC->BDCR & RCC_BDCR_RTCSEL); 80b822a: 4b28 ldr r3, [pc, #160] ; (80b82cc ) 80b822c: 6f1b ldr r3, [r3, #112] ; 0x70 80b822e: f403 7340 and.w r3, r3, #768 ; 0x300 80b8232: 613b str r3, [r7, #16] if((tmpreg0 != 0x00000000U) && (tmpreg0 != (PeriphClkInit->RTCClockSelection & RCC_BDCR_RTCSEL))) 80b8234: 693b ldr r3, [r7, #16] 80b8236: 2b00 cmp r3, #0 80b8238: d035 beq.n 80b82a6 80b823a: 687b ldr r3, [r7, #4] 80b823c: 6b1b ldr r3, [r3, #48] ; 0x30 80b823e: f403 7240 and.w r2, r3, #768 ; 0x300 80b8242: 693b ldr r3, [r7, #16] 80b8244: 429a cmp r2, r3 80b8246: d02e beq.n 80b82a6 { /* Store the content of BDCR register before the reset of Backup Domain */ tmpreg0 = (RCC->BDCR & ~(RCC_BDCR_RTCSEL)); 80b8248: 4b20 ldr r3, [pc, #128] ; (80b82cc ) 80b824a: 6f1b ldr r3, [r3, #112] ; 0x70 80b824c: f423 7340 bic.w r3, r3, #768 ; 0x300 80b8250: 613b str r3, [r7, #16] /* RTC Clock selection can be changed only if the Backup Domain is reset */ __HAL_RCC_BACKUPRESET_FORCE(); 80b8252: 4a1e ldr r2, [pc, #120] ; (80b82cc ) 80b8254: 4b1d ldr r3, [pc, #116] ; (80b82cc ) 80b8256: 6f1b ldr r3, [r3, #112] ; 0x70 80b8258: f443 3380 orr.w r3, r3, #65536 ; 0x10000 80b825c: 6713 str r3, [r2, #112] ; 0x70 __HAL_RCC_BACKUPRESET_RELEASE(); 80b825e: 4a1b ldr r2, [pc, #108] ; (80b82cc ) 80b8260: 4b1a ldr r3, [pc, #104] ; (80b82cc ) 80b8262: 6f1b ldr r3, [r3, #112] ; 0x70 80b8264: f423 3380 bic.w r3, r3, #65536 ; 0x10000 80b8268: 6713 str r3, [r2, #112] ; 0x70 /* Restore the Content of BDCR register */ RCC->BDCR = tmpreg0; 80b826a: 4a18 ldr r2, [pc, #96] ; (80b82cc ) 80b826c: 693b ldr r3, [r7, #16] 80b826e: 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)) 80b8270: 4b16 ldr r3, [pc, #88] ; (80b82cc ) 80b8272: 6f1b ldr r3, [r3, #112] ; 0x70 80b8274: f003 0301 and.w r3, r3, #1 80b8278: 2b01 cmp r3, #1 80b827a: d114 bne.n 80b82a6 { /* Get Start Tick*/ tickstart = HAL_GetTick(); 80b827c: f7fa ffdc bl 80b3238 80b8280: 6178 str r0, [r7, #20] /* Wait till LSE is ready */ while(__HAL_RCC_GET_FLAG(RCC_FLAG_LSERDY) == RESET) 80b8282: e00a b.n 80b829a { if((HAL_GetTick() - tickstart ) > RCC_LSE_TIMEOUT_VALUE) 80b8284: f7fa ffd8 bl 80b3238 80b8288: 4602 mov r2, r0 80b828a: 697b ldr r3, [r7, #20] 80b828c: 1ad3 subs r3, r2, r3 80b828e: f241 3288 movw r2, #5000 ; 0x1388 80b8292: 4293 cmp r3, r2 80b8294: d901 bls.n 80b829a { return HAL_TIMEOUT; 80b8296: 2303 movs r3, #3 80b8298: e34f b.n 80b893a while(__HAL_RCC_GET_FLAG(RCC_FLAG_LSERDY) == RESET) 80b829a: 4b0c ldr r3, [pc, #48] ; (80b82cc ) 80b829c: 6f1b ldr r3, [r3, #112] ; 0x70 80b829e: f003 0302 and.w r3, r3, #2 80b82a2: 2b00 cmp r3, #0 80b82a4: d0ee beq.n 80b8284 } } } } __HAL_RCC_RTC_CONFIG(PeriphClkInit->RTCClockSelection); 80b82a6: 687b ldr r3, [r7, #4] 80b82a8: 6b1b ldr r3, [r3, #48] ; 0x30 80b82aa: f403 7340 and.w r3, r3, #768 ; 0x300 80b82ae: f5b3 7f40 cmp.w r3, #768 ; 0x300 80b82b2: d111 bne.n 80b82d8 80b82b4: 4805 ldr r0, [pc, #20] ; (80b82cc ) 80b82b6: 4b05 ldr r3, [pc, #20] ; (80b82cc ) 80b82b8: 689b ldr r3, [r3, #8] 80b82ba: f423 12f8 bic.w r2, r3, #2031616 ; 0x1f0000 80b82be: 687b ldr r3, [r7, #4] 80b82c0: 6b19 ldr r1, [r3, #48] ; 0x30 80b82c2: 4b04 ldr r3, [pc, #16] ; (80b82d4 ) 80b82c4: 400b ands r3, r1 80b82c6: 4313 orrs r3, r2 80b82c8: 6083 str r3, [r0, #8] 80b82ca: e00b b.n 80b82e4 80b82cc: 40023800 .word 0x40023800 80b82d0: 40007000 .word 0x40007000 80b82d4: 0ffffcff .word 0x0ffffcff 80b82d8: 4ab2 ldr r2, [pc, #712] ; (80b85a4 ) 80b82da: 4bb2 ldr r3, [pc, #712] ; (80b85a4 ) 80b82dc: 689b ldr r3, [r3, #8] 80b82de: f423 13f8 bic.w r3, r3, #2031616 ; 0x1f0000 80b82e2: 6093 str r3, [r2, #8] 80b82e4: 49af ldr r1, [pc, #700] ; (80b85a4 ) 80b82e6: 4baf ldr r3, [pc, #700] ; (80b85a4 ) 80b82e8: 6f1a ldr r2, [r3, #112] ; 0x70 80b82ea: 687b ldr r3, [r7, #4] 80b82ec: 6b1b ldr r3, [r3, #48] ; 0x30 80b82ee: f3c3 030b ubfx r3, r3, #0, #12 80b82f2: 4313 orrs r3, r2 80b82f4: 670b str r3, [r1, #112] ; 0x70 } /*------------------------------------ TIM configuration --------------------------------------*/ if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_TIM) == (RCC_PERIPHCLK_TIM)) 80b82f6: 687b ldr r3, [r7, #4] 80b82f8: 681b ldr r3, [r3, #0] 80b82fa: f003 0310 and.w r3, r3, #16 80b82fe: 2b00 cmp r3, #0 80b8300: d010 beq.n 80b8324 { /* Check the parameters */ assert_param(IS_RCC_TIMPRES(PeriphClkInit->TIMPresSelection)); /* Configure Timer Prescaler */ __HAL_RCC_TIMCLKPRESCALER(PeriphClkInit->TIMPresSelection); 80b8302: 4aa8 ldr r2, [pc, #672] ; (80b85a4 ) 80b8304: 4ba7 ldr r3, [pc, #668] ; (80b85a4 ) 80b8306: f8d3 308c ldr.w r3, [r3, #140] ; 0x8c 80b830a: f023 7380 bic.w r3, r3, #16777216 ; 0x1000000 80b830e: f8c2 308c str.w r3, [r2, #140] ; 0x8c 80b8312: 49a4 ldr r1, [pc, #656] ; (80b85a4 ) 80b8314: 4ba3 ldr r3, [pc, #652] ; (80b85a4 ) 80b8316: f8d3 208c ldr.w r2, [r3, #140] ; 0x8c 80b831a: 687b ldr r3, [r7, #4] 80b831c: 6b9b ldr r3, [r3, #56] ; 0x38 80b831e: 4313 orrs r3, r2 80b8320: f8c1 308c str.w r3, [r1, #140] ; 0x8c } /*-------------------------------------- I2C1 Configuration -----------------------------------*/ if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_I2C1) == RCC_PERIPHCLK_I2C1) 80b8324: 687b ldr r3, [r7, #4] 80b8326: 681b ldr r3, [r3, #0] 80b8328: f403 4380 and.w r3, r3, #16384 ; 0x4000 80b832c: 2b00 cmp r3, #0 80b832e: d00a beq.n 80b8346 { /* Check the parameters */ assert_param(IS_RCC_I2C1CLKSOURCE(PeriphClkInit->I2c1ClockSelection)); /* Configure the I2C1 clock source */ __HAL_RCC_I2C1_CONFIG(PeriphClkInit->I2c1ClockSelection); 80b8330: 499c ldr r1, [pc, #624] ; (80b85a4 ) 80b8332: 4b9c ldr r3, [pc, #624] ; (80b85a4 ) 80b8334: f8d3 3090 ldr.w r3, [r3, #144] ; 0x90 80b8338: f423 3240 bic.w r2, r3, #196608 ; 0x30000 80b833c: 687b ldr r3, [r7, #4] 80b833e: 6e5b ldr r3, [r3, #100] ; 0x64 80b8340: 4313 orrs r3, r2 80b8342: f8c1 3090 str.w r3, [r1, #144] ; 0x90 } /*-------------------------------------- I2C2 Configuration -----------------------------------*/ if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_I2C2) == RCC_PERIPHCLK_I2C2) 80b8346: 687b ldr r3, [r7, #4] 80b8348: 681b ldr r3, [r3, #0] 80b834a: f403 4300 and.w r3, r3, #32768 ; 0x8000 80b834e: 2b00 cmp r3, #0 80b8350: d00a beq.n 80b8368 { /* Check the parameters */ assert_param(IS_RCC_I2C2CLKSOURCE(PeriphClkInit->I2c2ClockSelection)); /* Configure the I2C2 clock source */ __HAL_RCC_I2C2_CONFIG(PeriphClkInit->I2c2ClockSelection); 80b8352: 4994 ldr r1, [pc, #592] ; (80b85a4 ) 80b8354: 4b93 ldr r3, [pc, #588] ; (80b85a4 ) 80b8356: f8d3 3090 ldr.w r3, [r3, #144] ; 0x90 80b835a: f423 2240 bic.w r2, r3, #786432 ; 0xc0000 80b835e: 687b ldr r3, [r7, #4] 80b8360: 6e9b ldr r3, [r3, #104] ; 0x68 80b8362: 4313 orrs r3, r2 80b8364: f8c1 3090 str.w r3, [r1, #144] ; 0x90 } /*-------------------------------------- I2C3 Configuration -----------------------------------*/ if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_I2C3) == RCC_PERIPHCLK_I2C3) 80b8368: 687b ldr r3, [r7, #4] 80b836a: 681b ldr r3, [r3, #0] 80b836c: f403 3380 and.w r3, r3, #65536 ; 0x10000 80b8370: 2b00 cmp r3, #0 80b8372: d00a beq.n 80b838a { /* Check the parameters */ assert_param(IS_RCC_I2C3CLKSOURCE(PeriphClkInit->I2c3ClockSelection)); /* Configure the I2C3 clock source */ __HAL_RCC_I2C3_CONFIG(PeriphClkInit->I2c3ClockSelection); 80b8374: 498b ldr r1, [pc, #556] ; (80b85a4 ) 80b8376: 4b8b ldr r3, [pc, #556] ; (80b85a4 ) 80b8378: f8d3 3090 ldr.w r3, [r3, #144] ; 0x90 80b837c: f423 1240 bic.w r2, r3, #3145728 ; 0x300000 80b8380: 687b ldr r3, [r7, #4] 80b8382: 6edb ldr r3, [r3, #108] ; 0x6c 80b8384: 4313 orrs r3, r2 80b8386: f8c1 3090 str.w r3, [r1, #144] ; 0x90 } /*-------------------------------------- I2C4 Configuration -----------------------------------*/ if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_I2C4) == RCC_PERIPHCLK_I2C4) 80b838a: 687b ldr r3, [r7, #4] 80b838c: 681b ldr r3, [r3, #0] 80b838e: f403 3300 and.w r3, r3, #131072 ; 0x20000 80b8392: 2b00 cmp r3, #0 80b8394: d00a beq.n 80b83ac { /* Check the parameters */ assert_param(IS_RCC_I2C4CLKSOURCE(PeriphClkInit->I2c4ClockSelection)); /* Configure the I2C4 clock source */ __HAL_RCC_I2C4_CONFIG(PeriphClkInit->I2c4ClockSelection); 80b8396: 4983 ldr r1, [pc, #524] ; (80b85a4 ) 80b8398: 4b82 ldr r3, [pc, #520] ; (80b85a4 ) 80b839a: f8d3 3090 ldr.w r3, [r3, #144] ; 0x90 80b839e: f423 0240 bic.w r2, r3, #12582912 ; 0xc00000 80b83a2: 687b ldr r3, [r7, #4] 80b83a4: 6f1b ldr r3, [r3, #112] ; 0x70 80b83a6: 4313 orrs r3, r2 80b83a8: f8c1 3090 str.w r3, [r1, #144] ; 0x90 } /*-------------------------------------- USART1 Configuration -----------------------------------*/ if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_USART1) == RCC_PERIPHCLK_USART1) 80b83ac: 687b ldr r3, [r7, #4] 80b83ae: 681b ldr r3, [r3, #0] 80b83b0: f003 0340 and.w r3, r3, #64 ; 0x40 80b83b4: 2b00 cmp r3, #0 80b83b6: d00a beq.n 80b83ce { /* Check the parameters */ assert_param(IS_RCC_USART1CLKSOURCE(PeriphClkInit->Usart1ClockSelection)); /* Configure the USART1 clock source */ __HAL_RCC_USART1_CONFIG(PeriphClkInit->Usart1ClockSelection); 80b83b8: 497a ldr r1, [pc, #488] ; (80b85a4 ) 80b83ba: 4b7a ldr r3, [pc, #488] ; (80b85a4 ) 80b83bc: f8d3 3090 ldr.w r3, [r3, #144] ; 0x90 80b83c0: f023 0203 bic.w r2, r3, #3 80b83c4: 687b ldr r3, [r7, #4] 80b83c6: 6c5b ldr r3, [r3, #68] ; 0x44 80b83c8: 4313 orrs r3, r2 80b83ca: f8c1 3090 str.w r3, [r1, #144] ; 0x90 } /*-------------------------------------- USART2 Configuration -----------------------------------*/ if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_USART2) == RCC_PERIPHCLK_USART2) 80b83ce: 687b ldr r3, [r7, #4] 80b83d0: 681b ldr r3, [r3, #0] 80b83d2: f003 0380 and.w r3, r3, #128 ; 0x80 80b83d6: 2b00 cmp r3, #0 80b83d8: d00a beq.n 80b83f0 { /* Check the parameters */ assert_param(IS_RCC_USART2CLKSOURCE(PeriphClkInit->Usart2ClockSelection)); /* Configure the USART2 clock source */ __HAL_RCC_USART2_CONFIG(PeriphClkInit->Usart2ClockSelection); 80b83da: 4972 ldr r1, [pc, #456] ; (80b85a4 ) 80b83dc: 4b71 ldr r3, [pc, #452] ; (80b85a4 ) 80b83de: f8d3 3090 ldr.w r3, [r3, #144] ; 0x90 80b83e2: f023 020c bic.w r2, r3, #12 80b83e6: 687b ldr r3, [r7, #4] 80b83e8: 6c9b ldr r3, [r3, #72] ; 0x48 80b83ea: 4313 orrs r3, r2 80b83ec: f8c1 3090 str.w r3, [r1, #144] ; 0x90 } /*-------------------------------------- USART3 Configuration -----------------------------------*/ if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_USART3) == RCC_PERIPHCLK_USART3) 80b83f0: 687b ldr r3, [r7, #4] 80b83f2: 681b ldr r3, [r3, #0] 80b83f4: f403 7380 and.w r3, r3, #256 ; 0x100 80b83f8: 2b00 cmp r3, #0 80b83fa: d00a beq.n 80b8412 { /* Check the parameters */ assert_param(IS_RCC_USART3CLKSOURCE(PeriphClkInit->Usart3ClockSelection)); /* Configure the USART3 clock source */ __HAL_RCC_USART3_CONFIG(PeriphClkInit->Usart3ClockSelection); 80b83fc: 4969 ldr r1, [pc, #420] ; (80b85a4 ) 80b83fe: 4b69 ldr r3, [pc, #420] ; (80b85a4 ) 80b8400: f8d3 3090 ldr.w r3, [r3, #144] ; 0x90 80b8404: f023 0230 bic.w r2, r3, #48 ; 0x30 80b8408: 687b ldr r3, [r7, #4] 80b840a: 6cdb ldr r3, [r3, #76] ; 0x4c 80b840c: 4313 orrs r3, r2 80b840e: f8c1 3090 str.w r3, [r1, #144] ; 0x90 } /*-------------------------------------- UART4 Configuration -----------------------------------*/ if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_UART4) == RCC_PERIPHCLK_UART4) 80b8412: 687b ldr r3, [r7, #4] 80b8414: 681b ldr r3, [r3, #0] 80b8416: f403 7300 and.w r3, r3, #512 ; 0x200 80b841a: 2b00 cmp r3, #0 80b841c: d00a beq.n 80b8434 { /* Check the parameters */ assert_param(IS_RCC_UART4CLKSOURCE(PeriphClkInit->Uart4ClockSelection)); /* Configure the UART4 clock source */ __HAL_RCC_UART4_CONFIG(PeriphClkInit->Uart4ClockSelection); 80b841e: 4961 ldr r1, [pc, #388] ; (80b85a4 ) 80b8420: 4b60 ldr r3, [pc, #384] ; (80b85a4 ) 80b8422: f8d3 3090 ldr.w r3, [r3, #144] ; 0x90 80b8426: f023 02c0 bic.w r2, r3, #192 ; 0xc0 80b842a: 687b ldr r3, [r7, #4] 80b842c: 6d1b ldr r3, [r3, #80] ; 0x50 80b842e: 4313 orrs r3, r2 80b8430: f8c1 3090 str.w r3, [r1, #144] ; 0x90 } /*-------------------------------------- UART5 Configuration -----------------------------------*/ if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_UART5) == RCC_PERIPHCLK_UART5) 80b8434: 687b ldr r3, [r7, #4] 80b8436: 681b ldr r3, [r3, #0] 80b8438: f403 6380 and.w r3, r3, #1024 ; 0x400 80b843c: 2b00 cmp r3, #0 80b843e: d00a beq.n 80b8456 { /* Check the parameters */ assert_param(IS_RCC_UART5CLKSOURCE(PeriphClkInit->Uart5ClockSelection)); /* Configure the UART5 clock source */ __HAL_RCC_UART5_CONFIG(PeriphClkInit->Uart5ClockSelection); 80b8440: 4958 ldr r1, [pc, #352] ; (80b85a4 ) 80b8442: 4b58 ldr r3, [pc, #352] ; (80b85a4 ) 80b8444: f8d3 3090 ldr.w r3, [r3, #144] ; 0x90 80b8448: f423 7240 bic.w r2, r3, #768 ; 0x300 80b844c: 687b ldr r3, [r7, #4] 80b844e: 6d5b ldr r3, [r3, #84] ; 0x54 80b8450: 4313 orrs r3, r2 80b8452: f8c1 3090 str.w r3, [r1, #144] ; 0x90 } /*-------------------------------------- USART6 Configuration -----------------------------------*/ if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_USART6) == RCC_PERIPHCLK_USART6) 80b8456: 687b ldr r3, [r7, #4] 80b8458: 681b ldr r3, [r3, #0] 80b845a: f403 6300 and.w r3, r3, #2048 ; 0x800 80b845e: 2b00 cmp r3, #0 80b8460: d00a beq.n 80b8478 { /* Check the parameters */ assert_param(IS_RCC_USART6CLKSOURCE(PeriphClkInit->Usart6ClockSelection)); /* Configure the USART6 clock source */ __HAL_RCC_USART6_CONFIG(PeriphClkInit->Usart6ClockSelection); 80b8462: 4950 ldr r1, [pc, #320] ; (80b85a4 ) 80b8464: 4b4f ldr r3, [pc, #316] ; (80b85a4 ) 80b8466: f8d3 3090 ldr.w r3, [r3, #144] ; 0x90 80b846a: f423 6240 bic.w r2, r3, #3072 ; 0xc00 80b846e: 687b ldr r3, [r7, #4] 80b8470: 6d9b ldr r3, [r3, #88] ; 0x58 80b8472: 4313 orrs r3, r2 80b8474: f8c1 3090 str.w r3, [r1, #144] ; 0x90 } /*-------------------------------------- UART7 Configuration -----------------------------------*/ if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_UART7) == RCC_PERIPHCLK_UART7) 80b8478: 687b ldr r3, [r7, #4] 80b847a: 681b ldr r3, [r3, #0] 80b847c: f403 5380 and.w r3, r3, #4096 ; 0x1000 80b8480: 2b00 cmp r3, #0 80b8482: d00a beq.n 80b849a { /* Check the parameters */ assert_param(IS_RCC_UART7CLKSOURCE(PeriphClkInit->Uart7ClockSelection)); /* Configure the UART7 clock source */ __HAL_RCC_UART7_CONFIG(PeriphClkInit->Uart7ClockSelection); 80b8484: 4947 ldr r1, [pc, #284] ; (80b85a4 ) 80b8486: 4b47 ldr r3, [pc, #284] ; (80b85a4 ) 80b8488: f8d3 3090 ldr.w r3, [r3, #144] ; 0x90 80b848c: f423 5240 bic.w r2, r3, #12288 ; 0x3000 80b8490: 687b ldr r3, [r7, #4] 80b8492: 6ddb ldr r3, [r3, #92] ; 0x5c 80b8494: 4313 orrs r3, r2 80b8496: f8c1 3090 str.w r3, [r1, #144] ; 0x90 } /*-------------------------------------- UART8 Configuration -----------------------------------*/ if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_UART8) == RCC_PERIPHCLK_UART8) 80b849a: 687b ldr r3, [r7, #4] 80b849c: 681b ldr r3, [r3, #0] 80b849e: f403 5300 and.w r3, r3, #8192 ; 0x2000 80b84a2: 2b00 cmp r3, #0 80b84a4: d00a beq.n 80b84bc { /* Check the parameters */ assert_param(IS_RCC_UART8CLKSOURCE(PeriphClkInit->Uart8ClockSelection)); /* Configure the UART8 clock source */ __HAL_RCC_UART8_CONFIG(PeriphClkInit->Uart8ClockSelection); 80b84a6: 493f ldr r1, [pc, #252] ; (80b85a4 ) 80b84a8: 4b3e ldr r3, [pc, #248] ; (80b85a4 ) 80b84aa: f8d3 3090 ldr.w r3, [r3, #144] ; 0x90 80b84ae: f423 4240 bic.w r2, r3, #49152 ; 0xc000 80b84b2: 687b ldr r3, [r7, #4] 80b84b4: 6e1b ldr r3, [r3, #96] ; 0x60 80b84b6: 4313 orrs r3, r2 80b84b8: f8c1 3090 str.w r3, [r1, #144] ; 0x90 } /*--------------------------------------- CEC Configuration -----------------------------------*/ if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_CEC) == RCC_PERIPHCLK_CEC) 80b84bc: 687b ldr r3, [r7, #4] 80b84be: 681b ldr r3, [r3, #0] 80b84c0: f403 0380 and.w r3, r3, #4194304 ; 0x400000 80b84c4: 2b00 cmp r3, #0 80b84c6: d00a beq.n 80b84de { /* Check the parameters */ assert_param(IS_RCC_CECCLKSOURCE(PeriphClkInit->CecClockSelection)); /* Configure the CEC clock source */ __HAL_RCC_CEC_CONFIG(PeriphClkInit->CecClockSelection); 80b84c8: 4936 ldr r1, [pc, #216] ; (80b85a4 ) 80b84ca: 4b36 ldr r3, [pc, #216] ; (80b85a4 ) 80b84cc: f8d3 3090 ldr.w r3, [r3, #144] ; 0x90 80b84d0: f023 6280 bic.w r2, r3, #67108864 ; 0x4000000 80b84d4: 687b ldr r3, [r7, #4] 80b84d6: 6f9b ldr r3, [r3, #120] ; 0x78 80b84d8: 4313 orrs r3, r2 80b84da: f8c1 3090 str.w r3, [r1, #144] ; 0x90 } /*-------------------------------------- CK48 Configuration -----------------------------------*/ if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_CLK48) == RCC_PERIPHCLK_CLK48) 80b84de: 687b ldr r3, [r7, #4] 80b84e0: 681b ldr r3, [r3, #0] 80b84e2: f403 1300 and.w r3, r3, #2097152 ; 0x200000 80b84e6: 2b00 cmp r3, #0 80b84e8: d011 beq.n 80b850e { /* Check the parameters */ assert_param(IS_RCC_CLK48SOURCE(PeriphClkInit->Clk48ClockSelection)); /* Configure the CLK48 source */ __HAL_RCC_CLK48_CONFIG(PeriphClkInit->Clk48ClockSelection); 80b84ea: 492e ldr r1, [pc, #184] ; (80b85a4 ) 80b84ec: 4b2d ldr r3, [pc, #180] ; (80b85a4 ) 80b84ee: f8d3 3090 ldr.w r3, [r3, #144] ; 0x90 80b84f2: f023 6200 bic.w r2, r3, #134217728 ; 0x8000000 80b84f6: 687b ldr r3, [r7, #4] 80b84f8: 6fdb ldr r3, [r3, #124] ; 0x7c 80b84fa: 4313 orrs r3, r2 80b84fc: 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) 80b8500: 687b ldr r3, [r7, #4] 80b8502: 6fdb ldr r3, [r3, #124] ; 0x7c 80b8504: f1b3 6f00 cmp.w r3, #134217728 ; 0x8000000 80b8508: d101 bne.n 80b850e { pllsaiused = 1; 80b850a: 2301 movs r3, #1 80b850c: 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) 80b850e: 687b ldr r3, [r7, #4] 80b8510: 681b ldr r3, [r3, #0] 80b8512: f003 0308 and.w r3, r3, #8 80b8516: 2b00 cmp r3, #0 80b8518: d001 beq.n 80b851e { pllsaiused = 1; 80b851a: 2301 movs r3, #1 80b851c: 61bb str r3, [r7, #24] } #endif /* STM32F746xx || STM32F756xx || STM32F767xx || STM32F769xx || STM32F777xx || STM32F779xx || STM32F750xx */ /*-------------------------------------- LPTIM1 Configuration -----------------------------------*/ if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_LPTIM1) == RCC_PERIPHCLK_LPTIM1) 80b851e: 687b ldr r3, [r7, #4] 80b8520: 681b ldr r3, [r3, #0] 80b8522: f403 2380 and.w r3, r3, #262144 ; 0x40000 80b8526: 2b00 cmp r3, #0 80b8528: d00a beq.n 80b8540 { /* Check the parameters */ assert_param(IS_RCC_LPTIM1CLK(PeriphClkInit->Lptim1ClockSelection)); /* Configure the LTPIM1 clock source */ __HAL_RCC_LPTIM1_CONFIG(PeriphClkInit->Lptim1ClockSelection); 80b852a: 491e ldr r1, [pc, #120] ; (80b85a4 ) 80b852c: 4b1d ldr r3, [pc, #116] ; (80b85a4 ) 80b852e: f8d3 3090 ldr.w r3, [r3, #144] ; 0x90 80b8532: f023 7240 bic.w r2, r3, #50331648 ; 0x3000000 80b8536: 687b ldr r3, [r7, #4] 80b8538: 6f5b ldr r3, [r3, #116] ; 0x74 80b853a: 4313 orrs r3, r2 80b853c: f8c1 3090 str.w r3, [r1, #144] ; 0x90 } /*------------------------------------- SDMMC1 Configuration ------------------------------------*/ if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_SDMMC1) == RCC_PERIPHCLK_SDMMC1) 80b8540: 687b ldr r3, [r7, #4] 80b8542: 681b ldr r3, [r3, #0] 80b8544: f403 0300 and.w r3, r3, #8388608 ; 0x800000 80b8548: 2b00 cmp r3, #0 80b854a: d00b beq.n 80b8564 { /* Check the parameters */ assert_param(IS_RCC_SDMMC1CLKSOURCE(PeriphClkInit->Sdmmc1ClockSelection)); /* Configure the SDMMC1 clock source */ __HAL_RCC_SDMMC1_CONFIG(PeriphClkInit->Sdmmc1ClockSelection); 80b854c: 4915 ldr r1, [pc, #84] ; (80b85a4 ) 80b854e: 4b15 ldr r3, [pc, #84] ; (80b85a4 ) 80b8550: f8d3 3090 ldr.w r3, [r3, #144] ; 0x90 80b8554: f023 5280 bic.w r2, r3, #268435456 ; 0x10000000 80b8558: 687b ldr r3, [r7, #4] 80b855a: f8d3 3080 ldr.w r3, [r3, #128] ; 0x80 80b855e: 4313 orrs r3, r2 80b8560: 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) 80b8564: 687b ldr r3, [r7, #4] 80b8566: 681b ldr r3, [r3, #0] 80b8568: f003 6380 and.w r3, r3, #67108864 ; 0x4000000 80b856c: 2b00 cmp r3, #0 80b856e: d00b beq.n 80b8588 { /* Check the parameters */ assert_param(IS_RCC_SDMMC2CLKSOURCE(PeriphClkInit->Sdmmc2ClockSelection)); /* Configure the SDMMC2 clock source */ __HAL_RCC_SDMMC2_CONFIG(PeriphClkInit->Sdmmc2ClockSelection); 80b8570: 490c ldr r1, [pc, #48] ; (80b85a4 ) 80b8572: 4b0c ldr r3, [pc, #48] ; (80b85a4 ) 80b8574: f8d3 3090 ldr.w r3, [r3, #144] ; 0x90 80b8578: f023 5200 bic.w r2, r3, #536870912 ; 0x20000000 80b857c: 687b ldr r3, [r7, #4] 80b857e: f8d3 3084 ldr.w r3, [r3, #132] ; 0x84 80b8582: 4313 orrs r3, r2 80b8584: f8c1 3090 str.w r3, [r1, #144] ; 0x90 } /*------------------------------------- DFSDM1 Configuration -------------------------------------*/ if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_DFSDM1) == RCC_PERIPHCLK_DFSDM1) 80b8588: 687b ldr r3, [r7, #4] 80b858a: 681b ldr r3, [r3, #0] 80b858c: f003 6300 and.w r3, r3, #134217728 ; 0x8000000 80b8590: 2b00 cmp r3, #0 80b8592: d00e beq.n 80b85b2 { /* Check the parameters */ assert_param(IS_RCC_DFSDM1CLKSOURCE(PeriphClkInit->Dfsdm1ClockSelection)); /* Configure the DFSDM1 interface clock source */ __HAL_RCC_DFSDM1_CONFIG(PeriphClkInit->Dfsdm1ClockSelection); 80b8594: 4903 ldr r1, [pc, #12] ; (80b85a4 ) 80b8596: 4b03 ldr r3, [pc, #12] ; (80b85a4 ) 80b8598: f8d3 308c ldr.w r3, [r3, #140] ; 0x8c 80b859c: f023 7200 bic.w r2, r3, #33554432 ; 0x2000000 80b85a0: 687b ldr r3, [r7, #4] 80b85a2: e001 b.n 80b85a8 80b85a4: 40023800 .word 0x40023800 80b85a8: f8d3 3088 ldr.w r3, [r3, #136] ; 0x88 80b85ac: 4313 orrs r3, r2 80b85ae: f8c1 308c str.w r3, [r1, #140] ; 0x8c } /*------------------------------------- DFSDM AUDIO Configuration -------------------------------------*/ if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_DFSDM1_AUDIO) == RCC_PERIPHCLK_DFSDM1_AUDIO) 80b85b2: 687b ldr r3, [r7, #4] 80b85b4: 681b ldr r3, [r3, #0] 80b85b6: f003 5380 and.w r3, r3, #268435456 ; 0x10000000 80b85ba: 2b00 cmp r3, #0 80b85bc: d00b beq.n 80b85d6 { /* Check the parameters */ assert_param(IS_RCC_DFSDM1AUDIOCLKSOURCE(PeriphClkInit->Dfsdm1AudioClockSelection)); /* Configure the DFSDM interface clock source */ __HAL_RCC_DFSDM1AUDIO_CONFIG(PeriphClkInit->Dfsdm1AudioClockSelection); 80b85be: 4981 ldr r1, [pc, #516] ; (80b87c4 ) 80b85c0: 4b80 ldr r3, [pc, #512] ; (80b87c4 ) 80b85c2: f8d3 308c ldr.w r3, [r3, #140] ; 0x8c 80b85c6: f023 6280 bic.w r2, r3, #67108864 ; 0x4000000 80b85ca: 687b ldr r3, [r7, #4] 80b85cc: f8d3 308c ldr.w r3, [r3, #140] ; 0x8c 80b85d0: 4313 orrs r3, r2 80b85d2: 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)) 80b85d6: 69fb ldr r3, [r7, #28] 80b85d8: 2b01 cmp r3, #1 80b85da: d006 beq.n 80b85ea 80b85dc: 687b ldr r3, [r7, #4] 80b85de: 681b ldr r3, [r3, #0] 80b85e0: f003 7300 and.w r3, r3, #33554432 ; 0x2000000 80b85e4: 2b00 cmp r3, #0 80b85e6: f000 80d6 beq.w 80b8796 { /* Disable the PLLI2S */ __HAL_RCC_PLLI2S_DISABLE(); 80b85ea: 4a76 ldr r2, [pc, #472] ; (80b87c4 ) 80b85ec: 4b75 ldr r3, [pc, #468] ; (80b87c4 ) 80b85ee: 681b ldr r3, [r3, #0] 80b85f0: f023 6380 bic.w r3, r3, #67108864 ; 0x4000000 80b85f4: 6013 str r3, [r2, #0] /* Get Start Tick*/ tickstart = HAL_GetTick(); 80b85f6: f7fa fe1f bl 80b3238 80b85fa: 6178 str r0, [r7, #20] /* Wait till PLLI2S is disabled */ while(__HAL_RCC_GET_FLAG(RCC_FLAG_PLLI2SRDY) != RESET) 80b85fc: e008 b.n 80b8610 { if((HAL_GetTick() - tickstart) > PLLI2S_TIMEOUT_VALUE) 80b85fe: f7fa fe1b bl 80b3238 80b8602: 4602 mov r2, r0 80b8604: 697b ldr r3, [r7, #20] 80b8606: 1ad3 subs r3, r2, r3 80b8608: 2b64 cmp r3, #100 ; 0x64 80b860a: d901 bls.n 80b8610 { /* return in case of Timeout detected */ return HAL_TIMEOUT; 80b860c: 2303 movs r3, #3 80b860e: e194 b.n 80b893a while(__HAL_RCC_GET_FLAG(RCC_FLAG_PLLI2SRDY) != RESET) 80b8610: 4b6c ldr r3, [pc, #432] ; (80b87c4 ) 80b8612: 681b ldr r3, [r3, #0] 80b8614: f003 6300 and.w r3, r3, #134217728 ; 0x8000000 80b8618: 2b00 cmp r3, #0 80b861a: d1f0 bne.n 80b85fe /* 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))) 80b861c: 687b ldr r3, [r7, #4] 80b861e: 681b ldr r3, [r3, #0] 80b8620: f003 0301 and.w r3, r3, #1 80b8624: 2b00 cmp r3, #0 80b8626: d021 beq.n 80b866c 80b8628: 687b ldr r3, [r7, #4] 80b862a: 6b5b ldr r3, [r3, #52] ; 0x34 80b862c: 2b00 cmp r3, #0 80b862e: d11d bne.n 80b866c { /* 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); 80b8630: 4b64 ldr r3, [pc, #400] ; (80b87c4 ) 80b8632: f8d3 3084 ldr.w r3, [r3, #132] ; 0x84 80b8636: 0c1b lsrs r3, r3, #16 80b8638: f003 0303 and.w r3, r3, #3 80b863c: 613b str r3, [r7, #16] tmpreg1 = ((RCC->PLLI2SCFGR & RCC_PLLI2SCFGR_PLLI2SQ) >> RCC_PLLI2SCFGR_PLLI2SQ_Pos); 80b863e: 4b61 ldr r3, [pc, #388] ; (80b87c4 ) 80b8640: f8d3 3084 ldr.w r3, [r3, #132] ; 0x84 80b8644: 0e1b lsrs r3, r3, #24 80b8646: f003 030f and.w r3, r3, #15 80b864a: 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); 80b864c: 495d ldr r1, [pc, #372] ; (80b87c4 ) 80b864e: 687b ldr r3, [r7, #4] 80b8650: 685b ldr r3, [r3, #4] 80b8652: 019a lsls r2, r3, #6 80b8654: 693b ldr r3, [r7, #16] 80b8656: 041b lsls r3, r3, #16 80b8658: 431a orrs r2, r3 80b865a: 68fb ldr r3, [r7, #12] 80b865c: 061b lsls r3, r3, #24 80b865e: 431a orrs r2, r3 80b8660: 687b ldr r3, [r7, #4] 80b8662: 689b ldr r3, [r3, #8] 80b8664: 071b lsls r3, r3, #28 80b8666: 4313 orrs r3, r2 80b8668: 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)) || 80b866c: 687b ldr r3, [r7, #4] 80b866e: 681b ldr r3, [r3, #0] 80b8670: f403 2300 and.w r3, r3, #524288 ; 0x80000 80b8674: 2b00 cmp r3, #0 80b8676: d004 beq.n 80b8682 80b8678: 687b ldr r3, [r7, #4] 80b867a: 6bdb ldr r3, [r3, #60] ; 0x3c 80b867c: f5b3 1f80 cmp.w r3, #1048576 ; 0x100000 80b8680: d00a beq.n 80b8698 ((((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_SAI2) == RCC_PERIPHCLK_SAI2) && (PeriphClkInit->Sai2ClockSelection == RCC_SAI2CLKSOURCE_PLLI2S))) 80b8682: 687b ldr r3, [r7, #4] 80b8684: 681b ldr r3, [r3, #0] 80b8686: f403 1380 and.w r3, r3, #1048576 ; 0x100000 if(((((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_SAI1) == RCC_PERIPHCLK_SAI1) && (PeriphClkInit->Sai1ClockSelection == RCC_SAI1CLKSOURCE_PLLI2S)) || 80b868a: 2b00 cmp r3, #0 80b868c: d02e beq.n 80b86ec ((((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_SAI2) == RCC_PERIPHCLK_SAI2) && (PeriphClkInit->Sai2ClockSelection == RCC_SAI2CLKSOURCE_PLLI2S))) 80b868e: 687b ldr r3, [r7, #4] 80b8690: 6c1b ldr r3, [r3, #64] ; 0x40 80b8692: f5b3 0f80 cmp.w r3, #4194304 ; 0x400000 80b8696: d129 bne.n 80b86ec 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); 80b8698: 4b4a ldr r3, [pc, #296] ; (80b87c4 ) 80b869a: f8d3 3084 ldr.w r3, [r3, #132] ; 0x84 80b869e: 0c1b lsrs r3, r3, #16 80b86a0: f003 0303 and.w r3, r3, #3 80b86a4: 613b str r3, [r7, #16] tmpreg1 = ((RCC->PLLI2SCFGR & RCC_PLLI2SCFGR_PLLI2SR) >> RCC_PLLI2SCFGR_PLLI2SR_Pos); 80b86a6: 4b47 ldr r3, [pc, #284] ; (80b87c4 ) 80b86a8: f8d3 3084 ldr.w r3, [r3, #132] ; 0x84 80b86ac: 0f1b lsrs r3, r3, #28 80b86ae: f003 0307 and.w r3, r3, #7 80b86b2: 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); 80b86b4: 4943 ldr r1, [pc, #268] ; (80b87c4 ) 80b86b6: 687b ldr r3, [r7, #4] 80b86b8: 685b ldr r3, [r3, #4] 80b86ba: 019a lsls r2, r3, #6 80b86bc: 693b ldr r3, [r7, #16] 80b86be: 041b lsls r3, r3, #16 80b86c0: 431a orrs r2, r3 80b86c2: 687b ldr r3, [r7, #4] 80b86c4: 68db ldr r3, [r3, #12] 80b86c6: 061b lsls r3, r3, #24 80b86c8: 431a orrs r2, r3 80b86ca: 68fb ldr r3, [r7, #12] 80b86cc: 071b lsls r3, r3, #28 80b86ce: 4313 orrs r3, r2 80b86d0: f8c1 3084 str.w r3, [r1, #132] ; 0x84 /* SAI_CLK_x = SAI_CLK(first level)/PLLI2SDIVQ */ __HAL_RCC_PLLI2S_PLLSAICLKDIVQ_CONFIG(PeriphClkInit->PLLI2SDivQ); 80b86d4: 493b ldr r1, [pc, #236] ; (80b87c4 ) 80b86d6: 4b3b ldr r3, [pc, #236] ; (80b87c4 ) 80b86d8: f8d3 308c ldr.w r3, [r3, #140] ; 0x8c 80b86dc: f023 021f bic.w r2, r3, #31 80b86e0: 687b ldr r3, [r7, #4] 80b86e2: 6a5b ldr r3, [r3, #36] ; 0x24 80b86e4: 3b01 subs r3, #1 80b86e6: 4313 orrs r3, r2 80b86e8: 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) 80b86ec: 687b ldr r3, [r7, #4] 80b86ee: 681b ldr r3, [r3, #0] 80b86f0: f003 7380 and.w r3, r3, #16777216 ; 0x1000000 80b86f4: 2b00 cmp r3, #0 80b86f6: d01d beq.n 80b8734 { /* 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); 80b86f8: 4b32 ldr r3, [pc, #200] ; (80b87c4 ) 80b86fa: f8d3 3084 ldr.w r3, [r3, #132] ; 0x84 80b86fe: 0e1b lsrs r3, r3, #24 80b8700: f003 030f and.w r3, r3, #15 80b8704: 613b str r3, [r7, #16] tmpreg1 = ((RCC->PLLI2SCFGR & RCC_PLLI2SCFGR_PLLI2SR) >> RCC_PLLI2SCFGR_PLLI2SR_Pos); 80b8706: 4b2f ldr r3, [pc, #188] ; (80b87c4 ) 80b8708: f8d3 3084 ldr.w r3, [r3, #132] ; 0x84 80b870c: 0f1b lsrs r3, r3, #28 80b870e: f003 0307 and.w r3, r3, #7 80b8712: 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); 80b8714: 492b ldr r1, [pc, #172] ; (80b87c4 ) 80b8716: 687b ldr r3, [r7, #4] 80b8718: 685b ldr r3, [r3, #4] 80b871a: 019a lsls r2, r3, #6 80b871c: 687b ldr r3, [r7, #4] 80b871e: 691b ldr r3, [r3, #16] 80b8720: 041b lsls r3, r3, #16 80b8722: 431a orrs r2, r3 80b8724: 693b ldr r3, [r7, #16] 80b8726: 061b lsls r3, r3, #24 80b8728: 431a orrs r2, r3 80b872a: 68fb ldr r3, [r7, #12] 80b872c: 071b lsls r3, r3, #28 80b872e: 4313 orrs r3, r2 80b8730: f8c1 3084 str.w r3, [r1, #132] ; 0x84 } /*----------------- In Case of PLLI2S is just selected -----------------*/ if((PeriphClkInit->PeriphClockSelection & RCC_PERIPHCLK_PLLI2S) == RCC_PERIPHCLK_PLLI2S) 80b8734: 687b ldr r3, [r7, #4] 80b8736: 681b ldr r3, [r3, #0] 80b8738: f003 7300 and.w r3, r3, #33554432 ; 0x2000000 80b873c: 2b00 cmp r3, #0 80b873e: d011 beq.n 80b8764 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); 80b8740: 4920 ldr r1, [pc, #128] ; (80b87c4 ) 80b8742: 687b ldr r3, [r7, #4] 80b8744: 685b ldr r3, [r3, #4] 80b8746: 019a lsls r2, r3, #6 80b8748: 687b ldr r3, [r7, #4] 80b874a: 691b ldr r3, [r3, #16] 80b874c: 041b lsls r3, r3, #16 80b874e: 431a orrs r2, r3 80b8750: 687b ldr r3, [r7, #4] 80b8752: 68db ldr r3, [r3, #12] 80b8754: 061b lsls r3, r3, #24 80b8756: 431a orrs r2, r3 80b8758: 687b ldr r3, [r7, #4] 80b875a: 689b ldr r3, [r3, #8] 80b875c: 071b lsls r3, r3, #28 80b875e: 4313 orrs r3, r2 80b8760: f8c1 3084 str.w r3, [r1, #132] ; 0x84 } /* Enable the PLLI2S */ __HAL_RCC_PLLI2S_ENABLE(); 80b8764: 4a17 ldr r2, [pc, #92] ; (80b87c4 ) 80b8766: 4b17 ldr r3, [pc, #92] ; (80b87c4 ) 80b8768: 681b ldr r3, [r3, #0] 80b876a: f043 6380 orr.w r3, r3, #67108864 ; 0x4000000 80b876e: 6013 str r3, [r2, #0] /* Get Start Tick*/ tickstart = HAL_GetTick(); 80b8770: f7fa fd62 bl 80b3238 80b8774: 6178 str r0, [r7, #20] /* Wait till PLLI2S is ready */ while(__HAL_RCC_GET_FLAG(RCC_FLAG_PLLI2SRDY) == RESET) 80b8776: e008 b.n 80b878a { if((HAL_GetTick() - tickstart) > PLLI2S_TIMEOUT_VALUE) 80b8778: f7fa fd5e bl 80b3238 80b877c: 4602 mov r2, r0 80b877e: 697b ldr r3, [r7, #20] 80b8780: 1ad3 subs r3, r2, r3 80b8782: 2b64 cmp r3, #100 ; 0x64 80b8784: d901 bls.n 80b878a { /* return in case of Timeout detected */ return HAL_TIMEOUT; 80b8786: 2303 movs r3, #3 80b8788: e0d7 b.n 80b893a while(__HAL_RCC_GET_FLAG(RCC_FLAG_PLLI2SRDY) == RESET) 80b878a: 4b0e ldr r3, [pc, #56] ; (80b87c4 ) 80b878c: 681b ldr r3, [r3, #0] 80b878e: f003 6300 and.w r3, r3, #134217728 ; 0x8000000 80b8792: 2b00 cmp r3, #0 80b8794: d0f0 beq.n 80b8778 } } /*-------------------------------------- PLLSAI Configuration ---------------------------------*/ /* PLLSAI is configured when a peripheral will use it as source clock : SAI1, SAI2, LTDC or CK48 */ if(pllsaiused == 1) 80b8796: 69bb ldr r3, [r7, #24] 80b8798: 2b01 cmp r3, #1 80b879a: f040 80cd bne.w 80b8938 { /* Disable PLLSAI Clock */ __HAL_RCC_PLLSAI_DISABLE(); 80b879e: 4a09 ldr r2, [pc, #36] ; (80b87c4 ) 80b87a0: 4b08 ldr r3, [pc, #32] ; (80b87c4 ) 80b87a2: 681b ldr r3, [r3, #0] 80b87a4: f023 5380 bic.w r3, r3, #268435456 ; 0x10000000 80b87a8: 6013 str r3, [r2, #0] /* Get Start Tick*/ tickstart = HAL_GetTick(); 80b87aa: f7fa fd45 bl 80b3238 80b87ae: 6178 str r0, [r7, #20] /* Wait till PLLSAI is disabled */ while(__HAL_RCC_PLLSAI_GET_FLAG() != RESET) 80b87b0: e00a b.n 80b87c8 { if((HAL_GetTick() - tickstart) > PLLSAI_TIMEOUT_VALUE) 80b87b2: f7fa fd41 bl 80b3238 80b87b6: 4602 mov r2, r0 80b87b8: 697b ldr r3, [r7, #20] 80b87ba: 1ad3 subs r3, r2, r3 80b87bc: 2b64 cmp r3, #100 ; 0x64 80b87be: d903 bls.n 80b87c8 { /* return in case of Timeout detected */ return HAL_TIMEOUT; 80b87c0: 2303 movs r3, #3 80b87c2: e0ba b.n 80b893a 80b87c4: 40023800 .word 0x40023800 while(__HAL_RCC_PLLSAI_GET_FLAG() != RESET) 80b87c8: 4b5e ldr r3, [pc, #376] ; (80b8944 ) 80b87ca: 681b ldr r3, [r3, #0] 80b87cc: f003 5300 and.w r3, r3, #536870912 ; 0x20000000 80b87d0: f1b3 5f00 cmp.w r3, #536870912 ; 0x20000000 80b87d4: d0ed beq.n 80b87b2 /* 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)) ||\ 80b87d6: 687b ldr r3, [r7, #4] 80b87d8: 681b ldr r3, [r3, #0] 80b87da: f403 2300 and.w r3, r3, #524288 ; 0x80000 80b87de: 2b00 cmp r3, #0 80b87e0: d003 beq.n 80b87ea 80b87e2: 687b ldr r3, [r7, #4] 80b87e4: 6bdb ldr r3, [r3, #60] ; 0x3c 80b87e6: 2b00 cmp r3, #0 80b87e8: d009 beq.n 80b87fe ((((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_SAI2) == RCC_PERIPHCLK_SAI2) && (PeriphClkInit->Sai2ClockSelection == RCC_SAI2CLKSOURCE_PLLSAI))) 80b87ea: 687b ldr r3, [r7, #4] 80b87ec: 681b ldr r3, [r3, #0] 80b87ee: f403 1380 and.w r3, r3, #1048576 ; 0x100000 if(((((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_SAI1) == RCC_PERIPHCLK_SAI1) && (PeriphClkInit->Sai1ClockSelection == RCC_SAI1CLKSOURCE_PLLSAI)) ||\ 80b87f2: 2b00 cmp r3, #0 80b87f4: d02e beq.n 80b8854 ((((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_SAI2) == RCC_PERIPHCLK_SAI2) && (PeriphClkInit->Sai2ClockSelection == RCC_SAI2CLKSOURCE_PLLSAI))) 80b87f6: 687b ldr r3, [r7, #4] 80b87f8: 6c1b ldr r3, [r3, #64] ; 0x40 80b87fa: 2b00 cmp r3, #0 80b87fc: d12a bne.n 80b8854 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); 80b87fe: 4b51 ldr r3, [pc, #324] ; (80b8944 ) 80b8800: f8d3 3088 ldr.w r3, [r3, #136] ; 0x88 80b8804: 0c1b lsrs r3, r3, #16 80b8806: f003 0303 and.w r3, r3, #3 80b880a: 613b str r3, [r7, #16] tmpreg1 = ((RCC->PLLSAICFGR & RCC_PLLI2SCFGR_PLLI2SR) >> RCC_PLLSAICFGR_PLLSAIR_Pos); 80b880c: 4b4d ldr r3, [pc, #308] ; (80b8944 ) 80b880e: f8d3 3088 ldr.w r3, [r3, #136] ; 0x88 80b8812: 0f1b lsrs r3, r3, #28 80b8814: f003 0307 and.w r3, r3, #7 80b8818: 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); 80b881a: 494a ldr r1, [pc, #296] ; (80b8944 ) 80b881c: 687b ldr r3, [r7, #4] 80b881e: 695b ldr r3, [r3, #20] 80b8820: 019a lsls r2, r3, #6 80b8822: 693b ldr r3, [r7, #16] 80b8824: 041b lsls r3, r3, #16 80b8826: 431a orrs r2, r3 80b8828: 687b ldr r3, [r7, #4] 80b882a: 699b ldr r3, [r3, #24] 80b882c: 061b lsls r3, r3, #24 80b882e: 431a orrs r2, r3 80b8830: 68fb ldr r3, [r7, #12] 80b8832: 071b lsls r3, r3, #28 80b8834: 4313 orrs r3, r2 80b8836: f8c1 3088 str.w r3, [r1, #136] ; 0x88 /* SAI_CLK_x = SAI_CLK(first level)/PLLSAIDIVQ */ __HAL_RCC_PLLSAI_PLLSAICLKDIVQ_CONFIG(PeriphClkInit->PLLSAIDivQ); 80b883a: 4942 ldr r1, [pc, #264] ; (80b8944 ) 80b883c: 4b41 ldr r3, [pc, #260] ; (80b8944 ) 80b883e: f8d3 308c ldr.w r3, [r3, #140] ; 0x8c 80b8842: f423 52f8 bic.w r2, r3, #7936 ; 0x1f00 80b8846: 687b ldr r3, [r7, #4] 80b8848: 6a9b ldr r3, [r3, #40] ; 0x28 80b884a: 3b01 subs r3, #1 80b884c: 021b lsls r3, r3, #8 80b884e: 4313 orrs r3, r2 80b8850: 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)) 80b8854: 687b ldr r3, [r7, #4] 80b8856: 681b ldr r3, [r3, #0] 80b8858: f403 1300 and.w r3, r3, #2097152 ; 0x200000 80b885c: 2b00 cmp r3, #0 80b885e: d022 beq.n 80b88a6 80b8860: 687b ldr r3, [r7, #4] 80b8862: 6fdb ldr r3, [r3, #124] ; 0x7c 80b8864: f1b3 6f00 cmp.w r3, #134217728 ; 0x8000000 80b8868: d11d bne.n 80b88a6 { /* 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); 80b886a: 4b36 ldr r3, [pc, #216] ; (80b8944 ) 80b886c: f8d3 3088 ldr.w r3, [r3, #136] ; 0x88 80b8870: 0e1b lsrs r3, r3, #24 80b8872: f003 030f and.w r3, r3, #15 80b8876: 613b str r3, [r7, #16] tmpreg1 = ((RCC->PLLSAICFGR & RCC_PLLSAICFGR_PLLSAIR) >> RCC_PLLSAICFGR_PLLSAIR_Pos); 80b8878: 4b32 ldr r3, [pc, #200] ; (80b8944 ) 80b887a: f8d3 3088 ldr.w r3, [r3, #136] ; 0x88 80b887e: 0f1b lsrs r3, r3, #28 80b8880: f003 0307 and.w r3, r3, #7 80b8884: 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); 80b8886: 492f ldr r1, [pc, #188] ; (80b8944 ) 80b8888: 687b ldr r3, [r7, #4] 80b888a: 695b ldr r3, [r3, #20] 80b888c: 019a lsls r2, r3, #6 80b888e: 687b ldr r3, [r7, #4] 80b8890: 6a1b ldr r3, [r3, #32] 80b8892: 041b lsls r3, r3, #16 80b8894: 431a orrs r2, r3 80b8896: 693b ldr r3, [r7, #16] 80b8898: 061b lsls r3, r3, #24 80b889a: 431a orrs r2, r3 80b889c: 68fb ldr r3, [r7, #12] 80b889e: 071b lsls r3, r3, #28 80b88a0: 4313 orrs r3, r2 80b88a2: 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)) 80b88a6: 687b ldr r3, [r7, #4] 80b88a8: 681b ldr r3, [r3, #0] 80b88aa: f003 0308 and.w r3, r3, #8 80b88ae: 2b00 cmp r3, #0 80b88b0: d028 beq.n 80b8904 { 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); 80b88b2: 4b24 ldr r3, [pc, #144] ; (80b8944 ) 80b88b4: f8d3 3088 ldr.w r3, [r3, #136] ; 0x88 80b88b8: 0e1b lsrs r3, r3, #24 80b88ba: f003 030f and.w r3, r3, #15 80b88be: 613b str r3, [r7, #16] tmpreg1 = ((RCC->PLLSAICFGR & RCC_PLLSAICFGR_PLLSAIP) >> RCC_PLLSAICFGR_PLLSAIP_Pos); 80b88c0: 4b20 ldr r3, [pc, #128] ; (80b8944 ) 80b88c2: f8d3 3088 ldr.w r3, [r3, #136] ; 0x88 80b88c6: 0c1b lsrs r3, r3, #16 80b88c8: f003 0303 and.w r3, r3, #3 80b88cc: 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); 80b88ce: 491d ldr r1, [pc, #116] ; (80b8944 ) 80b88d0: 687b ldr r3, [r7, #4] 80b88d2: 695b ldr r3, [r3, #20] 80b88d4: 019a lsls r2, r3, #6 80b88d6: 68fb ldr r3, [r7, #12] 80b88d8: 041b lsls r3, r3, #16 80b88da: 431a orrs r2, r3 80b88dc: 693b ldr r3, [r7, #16] 80b88de: 061b lsls r3, r3, #24 80b88e0: 431a orrs r2, r3 80b88e2: 687b ldr r3, [r7, #4] 80b88e4: 69db ldr r3, [r3, #28] 80b88e6: 071b lsls r3, r3, #28 80b88e8: 4313 orrs r3, r2 80b88ea: f8c1 3088 str.w r3, [r1, #136] ; 0x88 /* LTDC_CLK = LTDC_CLK(first level)/PLLSAIDIVR */ __HAL_RCC_PLLSAI_PLLSAICLKDIVR_CONFIG(PeriphClkInit->PLLSAIDivR); 80b88ee: 4915 ldr r1, [pc, #84] ; (80b8944 ) 80b88f0: 4b14 ldr r3, [pc, #80] ; (80b8944 ) 80b88f2: f8d3 308c ldr.w r3, [r3, #140] ; 0x8c 80b88f6: f423 3240 bic.w r2, r3, #196608 ; 0x30000 80b88fa: 687b ldr r3, [r7, #4] 80b88fc: 6adb ldr r3, [r3, #44] ; 0x2c 80b88fe: 4313 orrs r3, r2 80b8900: f8c1 308c str.w r3, [r1, #140] ; 0x8c } #endif /* STM32F746xx || STM32F756xx || STM32F767xx || STM32F769xx || STM32F777xx || STM32F779xx || STM32F750xx */ /* Enable PLLSAI Clock */ __HAL_RCC_PLLSAI_ENABLE(); 80b8904: 4a0f ldr r2, [pc, #60] ; (80b8944 ) 80b8906: 4b0f ldr r3, [pc, #60] ; (80b8944 ) 80b8908: 681b ldr r3, [r3, #0] 80b890a: f043 5380 orr.w r3, r3, #268435456 ; 0x10000000 80b890e: 6013 str r3, [r2, #0] /* Get Start Tick*/ tickstart = HAL_GetTick(); 80b8910: f7fa fc92 bl 80b3238 80b8914: 6178 str r0, [r7, #20] /* Wait till PLLSAI is ready */ while(__HAL_RCC_PLLSAI_GET_FLAG() == RESET) 80b8916: e008 b.n 80b892a { if((HAL_GetTick() - tickstart) > PLLSAI_TIMEOUT_VALUE) 80b8918: f7fa fc8e bl 80b3238 80b891c: 4602 mov r2, r0 80b891e: 697b ldr r3, [r7, #20] 80b8920: 1ad3 subs r3, r2, r3 80b8922: 2b64 cmp r3, #100 ; 0x64 80b8924: d901 bls.n 80b892a { /* return in case of Timeout detected */ return HAL_TIMEOUT; 80b8926: 2303 movs r3, #3 80b8928: e007 b.n 80b893a while(__HAL_RCC_PLLSAI_GET_FLAG() == RESET) 80b892a: 4b06 ldr r3, [pc, #24] ; (80b8944 ) 80b892c: 681b ldr r3, [r3, #0] 80b892e: f003 5300 and.w r3, r3, #536870912 ; 0x20000000 80b8932: f1b3 5f00 cmp.w r3, #536870912 ; 0x20000000 80b8936: d1ef bne.n 80b8918 } } } return HAL_OK; 80b8938: 2300 movs r3, #0 } 80b893a: 4618 mov r0, r3 80b893c: 3720 adds r7, #32 80b893e: 46bd mov sp, r7 80b8940: bd80 pop {r7, pc} 80b8942: bf00 nop 80b8944: 40023800 .word 0x40023800 080b8948 : * @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) { 80b8948: b580 push {r7, lr} 80b894a: b082 sub sp, #8 80b894c: af00 add r7, sp, #0 80b894e: 6078 str r0, [r7, #4] /* Check the RTC peripheral state */ if(hrtc == NULL) 80b8950: 687b ldr r3, [r7, #4] 80b8952: 2b00 cmp r3, #0 80b8954: d101 bne.n 80b895a { return HAL_ERROR; 80b8956: 2301 movs r3, #1 80b8958: e081 b.n 80b8a5e { hrtc->MspDeInitCallback = HAL_RTC_MspDeInit; } } #else if(hrtc->State == HAL_RTC_STATE_RESET) 80b895a: 687b ldr r3, [r7, #4] 80b895c: 7f5b ldrb r3, [r3, #29] 80b895e: b2db uxtb r3, r3 80b8960: 2b00 cmp r3, #0 80b8962: d105 bne.n 80b8970 { /* Allocate lock resource and initialize it */ hrtc->Lock = HAL_UNLOCKED; 80b8964: 687b ldr r3, [r7, #4] 80b8966: 2200 movs r2, #0 80b8968: 771a strb r2, [r3, #28] /* Initialize RTC MSP */ HAL_RTC_MspInit(hrtc); 80b896a: 6878 ldr r0, [r7, #4] 80b896c: f7ae fdd4 bl 8067518 } #endif /* (USE_HAL_RTC_REGISTER_CALLBACKS) */ /* Set RTC state */ hrtc->State = HAL_RTC_STATE_BUSY; 80b8970: 687b ldr r3, [r7, #4] 80b8972: 2202 movs r2, #2 80b8974: 775a strb r2, [r3, #29] /* Disable the write protection for RTC registers */ __HAL_RTC_WRITEPROTECTION_DISABLE(hrtc); 80b8976: 687b ldr r3, [r7, #4] 80b8978: 681b ldr r3, [r3, #0] 80b897a: 22ca movs r2, #202 ; 0xca 80b897c: 625a str r2, [r3, #36] ; 0x24 80b897e: 687b ldr r3, [r7, #4] 80b8980: 681b ldr r3, [r3, #0] 80b8982: 2253 movs r2, #83 ; 0x53 80b8984: 625a str r2, [r3, #36] ; 0x24 /* Set Initialization mode */ if(RTC_EnterInitMode(hrtc) != HAL_OK) 80b8986: 6878 ldr r0, [r7, #4] 80b8988: f000 faac bl 80b8ee4 80b898c: 4603 mov r3, r0 80b898e: 2b00 cmp r3, #0 80b8990: d008 beq.n 80b89a4 { /* Enable the write protection for RTC registers */ __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc); 80b8992: 687b ldr r3, [r7, #4] 80b8994: 681b ldr r3, [r3, #0] 80b8996: 22ff movs r2, #255 ; 0xff 80b8998: 625a str r2, [r3, #36] ; 0x24 /* Set RTC state */ hrtc->State = HAL_RTC_STATE_ERROR; 80b899a: 687b ldr r3, [r7, #4] 80b899c: 2204 movs r2, #4 80b899e: 775a strb r2, [r3, #29] return HAL_ERROR; 80b89a0: 2301 movs r3, #1 80b89a2: e05c b.n 80b8a5e } else { /* Clear RTC_CR FMT, OSEL and POL Bits */ hrtc->Instance->CR &= ((uint32_t)~(RTC_CR_FMT | RTC_CR_OSEL | RTC_CR_POL)); 80b89a4: 687b ldr r3, [r7, #4] 80b89a6: 681a ldr r2, [r3, #0] 80b89a8: 687b ldr r3, [r7, #4] 80b89aa: 681b ldr r3, [r3, #0] 80b89ac: 6899 ldr r1, [r3, #8] 80b89ae: 4b2e ldr r3, [pc, #184] ; (80b8a68 ) 80b89b0: 400b ands r3, r1 80b89b2: 6093 str r3, [r2, #8] /* Set RTC_CR register */ hrtc->Instance->CR |= (uint32_t)(hrtc->Init.HourFormat | hrtc->Init.OutPut | hrtc->Init.OutPutPolarity); 80b89b4: 687b ldr r3, [r7, #4] 80b89b6: 681b ldr r3, [r3, #0] 80b89b8: 687a ldr r2, [r7, #4] 80b89ba: 6812 ldr r2, [r2, #0] 80b89bc: 6891 ldr r1, [r2, #8] 80b89be: 687a ldr r2, [r7, #4] 80b89c0: 6850 ldr r0, [r2, #4] 80b89c2: 687a ldr r2, [r7, #4] 80b89c4: 6912 ldr r2, [r2, #16] 80b89c6: 4310 orrs r0, r2 80b89c8: 687a ldr r2, [r7, #4] 80b89ca: 6952 ldr r2, [r2, #20] 80b89cc: 4302 orrs r2, r0 80b89ce: 430a orrs r2, r1 80b89d0: 609a str r2, [r3, #8] /* Configure the RTC PRER */ hrtc->Instance->PRER = (uint32_t)(hrtc->Init.SynchPrediv); 80b89d2: 687b ldr r3, [r7, #4] 80b89d4: 681b ldr r3, [r3, #0] 80b89d6: 687a ldr r2, [r7, #4] 80b89d8: 68d2 ldr r2, [r2, #12] 80b89da: 611a str r2, [r3, #16] hrtc->Instance->PRER |= (uint32_t)(hrtc->Init.AsynchPrediv << 16); 80b89dc: 687b ldr r3, [r7, #4] 80b89de: 681b ldr r3, [r3, #0] 80b89e0: 687a ldr r2, [r7, #4] 80b89e2: 6812 ldr r2, [r2, #0] 80b89e4: 6911 ldr r1, [r2, #16] 80b89e6: 687a ldr r2, [r7, #4] 80b89e8: 6892 ldr r2, [r2, #8] 80b89ea: 0412 lsls r2, r2, #16 80b89ec: 430a orrs r2, r1 80b89ee: 611a str r2, [r3, #16] /* Exit Initialization mode */ hrtc->Instance->ISR &= (uint32_t)~RTC_ISR_INIT; 80b89f0: 687b ldr r3, [r7, #4] 80b89f2: 681b ldr r3, [r3, #0] 80b89f4: 687a ldr r2, [r7, #4] 80b89f6: 6812 ldr r2, [r2, #0] 80b89f8: 68d2 ldr r2, [r2, #12] 80b89fa: f022 0280 bic.w r2, r2, #128 ; 0x80 80b89fe: 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) 80b8a00: 687b ldr r3, [r7, #4] 80b8a02: 681b ldr r3, [r3, #0] 80b8a04: 689b ldr r3, [r3, #8] 80b8a06: f003 0320 and.w r3, r3, #32 80b8a0a: 2b00 cmp r3, #0 80b8a0c: d10e bne.n 80b8a2c { if(HAL_RTC_WaitForSynchro(hrtc) != HAL_OK) 80b8a0e: 6878 ldr r0, [r7, #4] 80b8a10: f000 fa40 bl 80b8e94 80b8a14: 4603 mov r3, r0 80b8a16: 2b00 cmp r3, #0 80b8a18: d008 beq.n 80b8a2c { /* Enable the write protection for RTC registers */ __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc); 80b8a1a: 687b ldr r3, [r7, #4] 80b8a1c: 681b ldr r3, [r3, #0] 80b8a1e: 22ff movs r2, #255 ; 0xff 80b8a20: 625a str r2, [r3, #36] ; 0x24 hrtc->State = HAL_RTC_STATE_ERROR; 80b8a22: 687b ldr r3, [r7, #4] 80b8a24: 2204 movs r2, #4 80b8a26: 775a strb r2, [r3, #29] return HAL_ERROR; 80b8a28: 2301 movs r3, #1 80b8a2a: e018 b.n 80b8a5e } } hrtc->Instance->OR &= (uint32_t)~RTC_OR_ALARMTYPE; 80b8a2c: 687b ldr r3, [r7, #4] 80b8a2e: 681b ldr r3, [r3, #0] 80b8a30: 687a ldr r2, [r7, #4] 80b8a32: 6812 ldr r2, [r2, #0] 80b8a34: 6cd2 ldr r2, [r2, #76] ; 0x4c 80b8a36: f022 0208 bic.w r2, r2, #8 80b8a3a: 64da str r2, [r3, #76] ; 0x4c hrtc->Instance->OR |= (uint32_t)(hrtc->Init.OutPutType); 80b8a3c: 687b ldr r3, [r7, #4] 80b8a3e: 681b ldr r3, [r3, #0] 80b8a40: 687a ldr r2, [r7, #4] 80b8a42: 6812 ldr r2, [r2, #0] 80b8a44: 6cd1 ldr r1, [r2, #76] ; 0x4c 80b8a46: 687a ldr r2, [r7, #4] 80b8a48: 6992 ldr r2, [r2, #24] 80b8a4a: 430a orrs r2, r1 80b8a4c: 64da str r2, [r3, #76] ; 0x4c /* Enable the write protection for RTC registers */ __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc); 80b8a4e: 687b ldr r3, [r7, #4] 80b8a50: 681b ldr r3, [r3, #0] 80b8a52: 22ff movs r2, #255 ; 0xff 80b8a54: 625a str r2, [r3, #36] ; 0x24 /* Set RTC state */ hrtc->State = HAL_RTC_STATE_READY; 80b8a56: 687b ldr r3, [r7, #4] 80b8a58: 2201 movs r2, #1 80b8a5a: 775a strb r2, [r3, #29] return HAL_OK; 80b8a5c: 2300 movs r3, #0 } } 80b8a5e: 4618 mov r0, r3 80b8a60: 3708 adds r7, #8 80b8a62: 46bd mov sp, r7 80b8a64: bd80 pop {r7, pc} 80b8a66: bf00 nop 80b8a68: ff8fffbf .word 0xff8fffbf 080b8a6c : * @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) { 80b8a6c: b590 push {r4, r7, lr} 80b8a6e: b087 sub sp, #28 80b8a70: af00 add r7, sp, #0 80b8a72: 60f8 str r0, [r7, #12] 80b8a74: 60b9 str r1, [r7, #8] 80b8a76: 607a str r2, [r7, #4] uint32_t tmpreg = 0; 80b8a78: 2300 movs r3, #0 80b8a7a: 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); 80b8a7c: 68fb ldr r3, [r7, #12] 80b8a7e: 7f1b ldrb r3, [r3, #28] 80b8a80: 2b01 cmp r3, #1 80b8a82: d101 bne.n 80b8a88 80b8a84: 2302 movs r3, #2 80b8a86: e0a8 b.n 80b8bda 80b8a88: 68fb ldr r3, [r7, #12] 80b8a8a: 2201 movs r2, #1 80b8a8c: 771a strb r2, [r3, #28] hrtc->State = HAL_RTC_STATE_BUSY; 80b8a8e: 68fb ldr r3, [r7, #12] 80b8a90: 2202 movs r2, #2 80b8a92: 775a strb r2, [r3, #29] if(Format == RTC_FORMAT_BIN) 80b8a94: 687b ldr r3, [r7, #4] 80b8a96: 2b00 cmp r3, #0 80b8a98: d126 bne.n 80b8ae8 { if((hrtc->Instance->CR & RTC_CR_FMT) != (uint32_t)RESET) 80b8a9a: 68fb ldr r3, [r7, #12] 80b8a9c: 681b ldr r3, [r3, #0] 80b8a9e: 689b ldr r3, [r3, #8] 80b8aa0: f003 0340 and.w r3, r3, #64 ; 0x40 80b8aa4: 2b00 cmp r3, #0 80b8aa6: d102 bne.n 80b8aae assert_param(IS_RTC_HOUR12(sTime->Hours)); assert_param(IS_RTC_HOURFORMAT12(sTime->TimeFormat)); } else { sTime->TimeFormat = 0x00; 80b8aa8: 68bb ldr r3, [r7, #8] 80b8aaa: 2200 movs r2, #0 80b8aac: 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) | \ 80b8aae: 68bb ldr r3, [r7, #8] 80b8ab0: 781b ldrb r3, [r3, #0] 80b8ab2: 4618 mov r0, r3 80b8ab4: f000 fa42 bl 80b8f3c 80b8ab8: 4603 mov r3, r0 80b8aba: 041c lsls r4, r3, #16 ((uint32_t)RTC_ByteToBcd2(sTime->Minutes) << 8) | \ 80b8abc: 68bb ldr r3, [r7, #8] 80b8abe: 785b ldrb r3, [r3, #1] 80b8ac0: 4618 mov r0, r3 80b8ac2: f000 fa3b bl 80b8f3c 80b8ac6: 4603 mov r3, r0 80b8ac8: 021b lsls r3, r3, #8 tmpreg = (uint32_t)(((uint32_t)RTC_ByteToBcd2(sTime->Hours) << 16) | \ 80b8aca: 431c orrs r4, r3 ((uint32_t)RTC_ByteToBcd2(sTime->Seconds)) | \ 80b8acc: 68bb ldr r3, [r7, #8] 80b8ace: 789b ldrb r3, [r3, #2] 80b8ad0: 4618 mov r0, r3 80b8ad2: f000 fa33 bl 80b8f3c 80b8ad6: 4603 mov r3, r0 ((uint32_t)RTC_ByteToBcd2(sTime->Minutes) << 8) | \ 80b8ad8: ea44 0203 orr.w r2, r4, r3 (((uint32_t)sTime->TimeFormat) << 16)); 80b8adc: 68bb ldr r3, [r7, #8] 80b8ade: 7b1b ldrb r3, [r3, #12] 80b8ae0: 041b lsls r3, r3, #16 tmpreg = (uint32_t)(((uint32_t)RTC_ByteToBcd2(sTime->Hours) << 16) | \ 80b8ae2: 4313 orrs r3, r2 80b8ae4: 617b str r3, [r7, #20] 80b8ae6: e018 b.n 80b8b1a } else { if((hrtc->Instance->CR & RTC_CR_FMT) != (uint32_t)RESET) 80b8ae8: 68fb ldr r3, [r7, #12] 80b8aea: 681b ldr r3, [r3, #0] 80b8aec: 689b ldr r3, [r3, #8] 80b8aee: f003 0340 and.w r3, r3, #64 ; 0x40 80b8af2: 2b00 cmp r3, #0 80b8af4: d102 bne.n 80b8afc assert_param(IS_RTC_HOUR12(RTC_Bcd2ToByte(sTime->Hours))); assert_param(IS_RTC_HOURFORMAT12(sTime->TimeFormat)); } else { sTime->TimeFormat = 0x00; 80b8af6: 68bb ldr r3, [r7, #8] 80b8af8: 2200 movs r2, #0 80b8afa: 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) | \ 80b8afc: 68bb ldr r3, [r7, #8] 80b8afe: 781b ldrb r3, [r3, #0] 80b8b00: 041a lsls r2, r3, #16 ((uint32_t)(sTime->Minutes) << 8) | \ 80b8b02: 68bb ldr r3, [r7, #8] 80b8b04: 785b ldrb r3, [r3, #1] 80b8b06: 021b lsls r3, r3, #8 tmpreg = (((uint32_t)(sTime->Hours) << 16) | \ 80b8b08: 4313 orrs r3, r2 ((uint32_t)sTime->Seconds) | \ 80b8b0a: 68ba ldr r2, [r7, #8] 80b8b0c: 7892 ldrb r2, [r2, #2] ((uint32_t)(sTime->Minutes) << 8) | \ 80b8b0e: 431a orrs r2, r3 ((uint32_t)(sTime->TimeFormat) << 16)); 80b8b10: 68bb ldr r3, [r7, #8] 80b8b12: 7b1b ldrb r3, [r3, #12] 80b8b14: 041b lsls r3, r3, #16 tmpreg = (((uint32_t)(sTime->Hours) << 16) | \ 80b8b16: 4313 orrs r3, r2 80b8b18: 617b str r3, [r7, #20] } /* Disable the write protection for RTC registers */ __HAL_RTC_WRITEPROTECTION_DISABLE(hrtc); 80b8b1a: 68fb ldr r3, [r7, #12] 80b8b1c: 681b ldr r3, [r3, #0] 80b8b1e: 22ca movs r2, #202 ; 0xca 80b8b20: 625a str r2, [r3, #36] ; 0x24 80b8b22: 68fb ldr r3, [r7, #12] 80b8b24: 681b ldr r3, [r3, #0] 80b8b26: 2253 movs r2, #83 ; 0x53 80b8b28: 625a str r2, [r3, #36] ; 0x24 /* Set Initialization mode */ if(RTC_EnterInitMode(hrtc) != HAL_OK) 80b8b2a: 68f8 ldr r0, [r7, #12] 80b8b2c: f000 f9da bl 80b8ee4 80b8b30: 4603 mov r3, r0 80b8b32: 2b00 cmp r3, #0 80b8b34: d00b beq.n 80b8b4e { /* Enable the write protection for RTC registers */ __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc); 80b8b36: 68fb ldr r3, [r7, #12] 80b8b38: 681b ldr r3, [r3, #0] 80b8b3a: 22ff movs r2, #255 ; 0xff 80b8b3c: 625a str r2, [r3, #36] ; 0x24 /* Set RTC state */ hrtc->State = HAL_RTC_STATE_ERROR; 80b8b3e: 68fb ldr r3, [r7, #12] 80b8b40: 2204 movs r2, #4 80b8b42: 775a strb r2, [r3, #29] /* Process Unlocked */ __HAL_UNLOCK(hrtc); 80b8b44: 68fb ldr r3, [r7, #12] 80b8b46: 2200 movs r2, #0 80b8b48: 771a strb r2, [r3, #28] return HAL_ERROR; 80b8b4a: 2301 movs r3, #1 80b8b4c: e045 b.n 80b8bda } else { /* Set the RTC_TR register */ hrtc->Instance->TR = (uint32_t)(tmpreg & RTC_TR_RESERVED_MASK); 80b8b4e: 68fb ldr r3, [r7, #12] 80b8b50: 681a ldr r2, [r3, #0] 80b8b52: 6979 ldr r1, [r7, #20] 80b8b54: 4b23 ldr r3, [pc, #140] ; (80b8be4 ) 80b8b56: 400b ands r3, r1 80b8b58: 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; 80b8b5a: 68fb ldr r3, [r7, #12] 80b8b5c: 681b ldr r3, [r3, #0] 80b8b5e: 68fa ldr r2, [r7, #12] 80b8b60: 6812 ldr r2, [r2, #0] 80b8b62: 6892 ldr r2, [r2, #8] 80b8b64: f422 2280 bic.w r2, r2, #262144 ; 0x40000 80b8b68: 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); 80b8b6a: 68fb ldr r3, [r7, #12] 80b8b6c: 681b ldr r3, [r3, #0] 80b8b6e: 68fa ldr r2, [r7, #12] 80b8b70: 6812 ldr r2, [r2, #0] 80b8b72: 6891 ldr r1, [r2, #8] 80b8b74: 68ba ldr r2, [r7, #8] 80b8b76: 6910 ldr r0, [r2, #16] 80b8b78: 68ba ldr r2, [r7, #8] 80b8b7a: 6952 ldr r2, [r2, #20] 80b8b7c: 4302 orrs r2, r0 80b8b7e: 430a orrs r2, r1 80b8b80: 609a str r2, [r3, #8] /* Exit Initialization mode */ hrtc->Instance->ISR &= (uint32_t)~RTC_ISR_INIT; 80b8b82: 68fb ldr r3, [r7, #12] 80b8b84: 681b ldr r3, [r3, #0] 80b8b86: 68fa ldr r2, [r7, #12] 80b8b88: 6812 ldr r2, [r2, #0] 80b8b8a: 68d2 ldr r2, [r2, #12] 80b8b8c: f022 0280 bic.w r2, r2, #128 ; 0x80 80b8b90: 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) 80b8b92: 68fb ldr r3, [r7, #12] 80b8b94: 681b ldr r3, [r3, #0] 80b8b96: 689b ldr r3, [r3, #8] 80b8b98: f003 0320 and.w r3, r3, #32 80b8b9c: 2b00 cmp r3, #0 80b8b9e: d111 bne.n 80b8bc4 { if(HAL_RTC_WaitForSynchro(hrtc) != HAL_OK) 80b8ba0: 68f8 ldr r0, [r7, #12] 80b8ba2: f000 f977 bl 80b8e94 80b8ba6: 4603 mov r3, r0 80b8ba8: 2b00 cmp r3, #0 80b8baa: d00b beq.n 80b8bc4 { /* Enable the write protection for RTC registers */ __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc); 80b8bac: 68fb ldr r3, [r7, #12] 80b8bae: 681b ldr r3, [r3, #0] 80b8bb0: 22ff movs r2, #255 ; 0xff 80b8bb2: 625a str r2, [r3, #36] ; 0x24 hrtc->State = HAL_RTC_STATE_ERROR; 80b8bb4: 68fb ldr r3, [r7, #12] 80b8bb6: 2204 movs r2, #4 80b8bb8: 775a strb r2, [r3, #29] /* Process Unlocked */ __HAL_UNLOCK(hrtc); 80b8bba: 68fb ldr r3, [r7, #12] 80b8bbc: 2200 movs r2, #0 80b8bbe: 771a strb r2, [r3, #28] return HAL_ERROR; 80b8bc0: 2301 movs r3, #1 80b8bc2: e00a b.n 80b8bda } } /* Enable the write protection for RTC registers */ __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc); 80b8bc4: 68fb ldr r3, [r7, #12] 80b8bc6: 681b ldr r3, [r3, #0] 80b8bc8: 22ff movs r2, #255 ; 0xff 80b8bca: 625a str r2, [r3, #36] ; 0x24 hrtc->State = HAL_RTC_STATE_READY; 80b8bcc: 68fb ldr r3, [r7, #12] 80b8bce: 2201 movs r2, #1 80b8bd0: 775a strb r2, [r3, #29] __HAL_UNLOCK(hrtc); 80b8bd2: 68fb ldr r3, [r7, #12] 80b8bd4: 2200 movs r2, #0 80b8bd6: 771a strb r2, [r3, #28] return HAL_OK; 80b8bd8: 2300 movs r3, #0 } } 80b8bda: 4618 mov r0, r3 80b8bdc: 371c adds r7, #28 80b8bde: 46bd mov sp, r7 80b8be0: bd90 pop {r4, r7, pc} 80b8be2: bf00 nop 80b8be4: 007f7f7f .word 0x007f7f7f 080b8be8 : * 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) { 80b8be8: b580 push {r7, lr} 80b8bea: b086 sub sp, #24 80b8bec: af00 add r7, sp, #0 80b8bee: 60f8 str r0, [r7, #12] 80b8bf0: 60b9 str r1, [r7, #8] 80b8bf2: 607a str r2, [r7, #4] uint32_t tmpreg = 0; 80b8bf4: 2300 movs r3, #0 80b8bf6: 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); 80b8bf8: 68fb ldr r3, [r7, #12] 80b8bfa: 681b ldr r3, [r3, #0] 80b8bfc: 6a9a ldr r2, [r3, #40] ; 0x28 80b8bfe: 68bb ldr r3, [r7, #8] 80b8c00: 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); 80b8c02: 68fb ldr r3, [r7, #12] 80b8c04: 681b ldr r3, [r3, #0] 80b8c06: 691b ldr r3, [r3, #16] 80b8c08: f3c3 020e ubfx r2, r3, #0, #15 80b8c0c: 68bb ldr r3, [r7, #8] 80b8c0e: 609a str r2, [r3, #8] /* Get the TR register */ tmpreg = (uint32_t)(hrtc->Instance->TR & RTC_TR_RESERVED_MASK); 80b8c10: 68fb ldr r3, [r7, #12] 80b8c12: 681b ldr r3, [r3, #0] 80b8c14: 681a ldr r2, [r3, #0] 80b8c16: 4b22 ldr r3, [pc, #136] ; (80b8ca0 ) 80b8c18: 4013 ands r3, r2 80b8c1a: 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); 80b8c1c: 697b ldr r3, [r7, #20] 80b8c1e: 0c1b lsrs r3, r3, #16 80b8c20: b2db uxtb r3, r3 80b8c22: f003 033f and.w r3, r3, #63 ; 0x3f 80b8c26: b2da uxtb r2, r3 80b8c28: 68bb ldr r3, [r7, #8] 80b8c2a: 701a strb r2, [r3, #0] sTime->Minutes = (uint8_t)((tmpreg & (RTC_TR_MNT | RTC_TR_MNU)) >>8); 80b8c2c: 697b ldr r3, [r7, #20] 80b8c2e: 0a1b lsrs r3, r3, #8 80b8c30: b2db uxtb r3, r3 80b8c32: f003 037f and.w r3, r3, #127 ; 0x7f 80b8c36: b2da uxtb r2, r3 80b8c38: 68bb ldr r3, [r7, #8] 80b8c3a: 705a strb r2, [r3, #1] sTime->Seconds = (uint8_t)(tmpreg & (RTC_TR_ST | RTC_TR_SU)); 80b8c3c: 697b ldr r3, [r7, #20] 80b8c3e: b2db uxtb r3, r3 80b8c40: f003 037f and.w r3, r3, #127 ; 0x7f 80b8c44: b2da uxtb r2, r3 80b8c46: 68bb ldr r3, [r7, #8] 80b8c48: 709a strb r2, [r3, #2] sTime->TimeFormat = (uint8_t)((tmpreg & (RTC_TR_PM)) >> 16); 80b8c4a: 697b ldr r3, [r7, #20] 80b8c4c: 0c1b lsrs r3, r3, #16 80b8c4e: b2db uxtb r3, r3 80b8c50: f003 0340 and.w r3, r3, #64 ; 0x40 80b8c54: b2da uxtb r2, r3 80b8c56: 68bb ldr r3, [r7, #8] 80b8c58: 731a strb r2, [r3, #12] /* Check the input parameters format */ if(Format == RTC_FORMAT_BIN) 80b8c5a: 687b ldr r3, [r7, #4] 80b8c5c: 2b00 cmp r3, #0 80b8c5e: d11a bne.n 80b8c96 { /* Convert the time structure parameters to Binary format */ sTime->Hours = (uint8_t)RTC_Bcd2ToByte(sTime->Hours); 80b8c60: 68bb ldr r3, [r7, #8] 80b8c62: 781b ldrb r3, [r3, #0] 80b8c64: 4618 mov r0, r3 80b8c66: f000 f987 bl 80b8f78 80b8c6a: 4603 mov r3, r0 80b8c6c: 461a mov r2, r3 80b8c6e: 68bb ldr r3, [r7, #8] 80b8c70: 701a strb r2, [r3, #0] sTime->Minutes = (uint8_t)RTC_Bcd2ToByte(sTime->Minutes); 80b8c72: 68bb ldr r3, [r7, #8] 80b8c74: 785b ldrb r3, [r3, #1] 80b8c76: 4618 mov r0, r3 80b8c78: f000 f97e bl 80b8f78 80b8c7c: 4603 mov r3, r0 80b8c7e: 461a mov r2, r3 80b8c80: 68bb ldr r3, [r7, #8] 80b8c82: 705a strb r2, [r3, #1] sTime->Seconds = (uint8_t)RTC_Bcd2ToByte(sTime->Seconds); 80b8c84: 68bb ldr r3, [r7, #8] 80b8c86: 789b ldrb r3, [r3, #2] 80b8c88: 4618 mov r0, r3 80b8c8a: f000 f975 bl 80b8f78 80b8c8e: 4603 mov r3, r0 80b8c90: 461a mov r2, r3 80b8c92: 68bb ldr r3, [r7, #8] 80b8c94: 709a strb r2, [r3, #2] } return HAL_OK; 80b8c96: 2300 movs r3, #0 } 80b8c98: 4618 mov r0, r3 80b8c9a: 3718 adds r7, #24 80b8c9c: 46bd mov sp, r7 80b8c9e: bd80 pop {r7, pc} 80b8ca0: 007f7f7f .word 0x007f7f7f 080b8ca4 : * @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) { 80b8ca4: b590 push {r4, r7, lr} 80b8ca6: b087 sub sp, #28 80b8ca8: af00 add r7, sp, #0 80b8caa: 60f8 str r0, [r7, #12] 80b8cac: 60b9 str r1, [r7, #8] 80b8cae: 607a str r2, [r7, #4] uint32_t datetmpreg = 0; 80b8cb0: 2300 movs r3, #0 80b8cb2: 617b str r3, [r7, #20] /* Check the parameters */ assert_param(IS_RTC_FORMAT(Format)); /* Process Locked */ __HAL_LOCK(hrtc); 80b8cb4: 68fb ldr r3, [r7, #12] 80b8cb6: 7f1b ldrb r3, [r3, #28] 80b8cb8: 2b01 cmp r3, #1 80b8cba: d101 bne.n 80b8cc0 80b8cbc: 2302 movs r3, #2 80b8cbe: e092 b.n 80b8de6 80b8cc0: 68fb ldr r3, [r7, #12] 80b8cc2: 2201 movs r2, #1 80b8cc4: 771a strb r2, [r3, #28] hrtc->State = HAL_RTC_STATE_BUSY; 80b8cc6: 68fb ldr r3, [r7, #12] 80b8cc8: 2202 movs r2, #2 80b8cca: 775a strb r2, [r3, #29] if((Format == RTC_FORMAT_BIN) && ((sDate->Month & 0x10U) == 0x10U)) 80b8ccc: 687b ldr r3, [r7, #4] 80b8cce: 2b00 cmp r3, #0 80b8cd0: d10e bne.n 80b8cf0 80b8cd2: 68bb ldr r3, [r7, #8] 80b8cd4: 785b ldrb r3, [r3, #1] 80b8cd6: f003 0310 and.w r3, r3, #16 80b8cda: 2b00 cmp r3, #0 80b8cdc: d008 beq.n 80b8cf0 { sDate->Month = (uint8_t)((sDate->Month & (uint8_t)~(0x10U)) + (uint8_t)0x0AU); 80b8cde: 68bb ldr r3, [r7, #8] 80b8ce0: 785b ldrb r3, [r3, #1] 80b8ce2: f023 0310 bic.w r3, r3, #16 80b8ce6: b2db uxtb r3, r3 80b8ce8: 330a adds r3, #10 80b8cea: b2da uxtb r2, r3 80b8cec: 68bb ldr r3, [r7, #8] 80b8cee: 705a strb r2, [r3, #1] } assert_param(IS_RTC_WEEKDAY(sDate->WeekDay)); if(Format == RTC_FORMAT_BIN) 80b8cf0: 687b ldr r3, [r7, #4] 80b8cf2: 2b00 cmp r3, #0 80b8cf4: d11c bne.n 80b8d30 { 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) | \ 80b8cf6: 68bb ldr r3, [r7, #8] 80b8cf8: 78db ldrb r3, [r3, #3] 80b8cfa: 4618 mov r0, r3 80b8cfc: f000 f91e bl 80b8f3c 80b8d00: 4603 mov r3, r0 80b8d02: 041c lsls r4, r3, #16 ((uint32_t)RTC_ByteToBcd2(sDate->Month) << 8) | \ 80b8d04: 68bb ldr r3, [r7, #8] 80b8d06: 785b ldrb r3, [r3, #1] 80b8d08: 4618 mov r0, r3 80b8d0a: f000 f917 bl 80b8f3c 80b8d0e: 4603 mov r3, r0 80b8d10: 021b lsls r3, r3, #8 datetmpreg = (((uint32_t)RTC_ByteToBcd2(sDate->Year) << 16) | \ 80b8d12: 431c orrs r4, r3 ((uint32_t)RTC_ByteToBcd2(sDate->Date)) | \ 80b8d14: 68bb ldr r3, [r7, #8] 80b8d16: 789b ldrb r3, [r3, #2] 80b8d18: 4618 mov r0, r3 80b8d1a: f000 f90f bl 80b8f3c 80b8d1e: 4603 mov r3, r0 ((uint32_t)RTC_ByteToBcd2(sDate->Month) << 8) | \ 80b8d20: ea44 0203 orr.w r2, r4, r3 ((uint32_t)sDate->WeekDay << 13)); 80b8d24: 68bb ldr r3, [r7, #8] 80b8d26: 781b ldrb r3, [r3, #0] 80b8d28: 035b lsls r3, r3, #13 datetmpreg = (((uint32_t)RTC_ByteToBcd2(sDate->Year) << 16) | \ 80b8d2a: 4313 orrs r3, r2 80b8d2c: 617b str r3, [r7, #20] 80b8d2e: e00e b.n 80b8d4e { 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) | \ 80b8d30: 68bb ldr r3, [r7, #8] 80b8d32: 78db ldrb r3, [r3, #3] 80b8d34: 041a lsls r2, r3, #16 (((uint32_t)sDate->Month) << 8) | \ 80b8d36: 68bb ldr r3, [r7, #8] 80b8d38: 785b ldrb r3, [r3, #1] 80b8d3a: 021b lsls r3, r3, #8 datetmpreg = ((((uint32_t)sDate->Year) << 16) | \ 80b8d3c: 4313 orrs r3, r2 ((uint32_t)sDate->Date) | \ 80b8d3e: 68ba ldr r2, [r7, #8] 80b8d40: 7892 ldrb r2, [r2, #2] (((uint32_t)sDate->Month) << 8) | \ 80b8d42: 431a orrs r2, r3 (((uint32_t)sDate->WeekDay) << 13)); 80b8d44: 68bb ldr r3, [r7, #8] 80b8d46: 781b ldrb r3, [r3, #0] 80b8d48: 035b lsls r3, r3, #13 datetmpreg = ((((uint32_t)sDate->Year) << 16) | \ 80b8d4a: 4313 orrs r3, r2 80b8d4c: 617b str r3, [r7, #20] } /* Disable the write protection for RTC registers */ __HAL_RTC_WRITEPROTECTION_DISABLE(hrtc); 80b8d4e: 68fb ldr r3, [r7, #12] 80b8d50: 681b ldr r3, [r3, #0] 80b8d52: 22ca movs r2, #202 ; 0xca 80b8d54: 625a str r2, [r3, #36] ; 0x24 80b8d56: 68fb ldr r3, [r7, #12] 80b8d58: 681b ldr r3, [r3, #0] 80b8d5a: 2253 movs r2, #83 ; 0x53 80b8d5c: 625a str r2, [r3, #36] ; 0x24 /* Set Initialization mode */ if(RTC_EnterInitMode(hrtc) != HAL_OK) 80b8d5e: 68f8 ldr r0, [r7, #12] 80b8d60: f000 f8c0 bl 80b8ee4 80b8d64: 4603 mov r3, r0 80b8d66: 2b00 cmp r3, #0 80b8d68: d00b beq.n 80b8d82 { /* Enable the write protection for RTC registers */ __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc); 80b8d6a: 68fb ldr r3, [r7, #12] 80b8d6c: 681b ldr r3, [r3, #0] 80b8d6e: 22ff movs r2, #255 ; 0xff 80b8d70: 625a str r2, [r3, #36] ; 0x24 /* Set RTC state*/ hrtc->State = HAL_RTC_STATE_ERROR; 80b8d72: 68fb ldr r3, [r7, #12] 80b8d74: 2204 movs r2, #4 80b8d76: 775a strb r2, [r3, #29] /* Process Unlocked */ __HAL_UNLOCK(hrtc); 80b8d78: 68fb ldr r3, [r7, #12] 80b8d7a: 2200 movs r2, #0 80b8d7c: 771a strb r2, [r3, #28] return HAL_ERROR; 80b8d7e: 2301 movs r3, #1 80b8d80: e031 b.n 80b8de6 } else { /* Set the RTC_DR register */ hrtc->Instance->DR = (uint32_t)(datetmpreg & RTC_DR_RESERVED_MASK); 80b8d82: 68fb ldr r3, [r7, #12] 80b8d84: 681a ldr r2, [r3, #0] 80b8d86: 6979 ldr r1, [r7, #20] 80b8d88: 4b19 ldr r3, [pc, #100] ; (80b8df0 ) 80b8d8a: 400b ands r3, r1 80b8d8c: 6053 str r3, [r2, #4] /* Exit Initialization mode */ hrtc->Instance->ISR &= (uint32_t)~RTC_ISR_INIT; 80b8d8e: 68fb ldr r3, [r7, #12] 80b8d90: 681b ldr r3, [r3, #0] 80b8d92: 68fa ldr r2, [r7, #12] 80b8d94: 6812 ldr r2, [r2, #0] 80b8d96: 68d2 ldr r2, [r2, #12] 80b8d98: f022 0280 bic.w r2, r2, #128 ; 0x80 80b8d9c: 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) 80b8d9e: 68fb ldr r3, [r7, #12] 80b8da0: 681b ldr r3, [r3, #0] 80b8da2: 689b ldr r3, [r3, #8] 80b8da4: f003 0320 and.w r3, r3, #32 80b8da8: 2b00 cmp r3, #0 80b8daa: d111 bne.n 80b8dd0 { if(HAL_RTC_WaitForSynchro(hrtc) != HAL_OK) 80b8dac: 68f8 ldr r0, [r7, #12] 80b8dae: f000 f871 bl 80b8e94 80b8db2: 4603 mov r3, r0 80b8db4: 2b00 cmp r3, #0 80b8db6: d00b beq.n 80b8dd0 { /* Enable the write protection for RTC registers */ __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc); 80b8db8: 68fb ldr r3, [r7, #12] 80b8dba: 681b ldr r3, [r3, #0] 80b8dbc: 22ff movs r2, #255 ; 0xff 80b8dbe: 625a str r2, [r3, #36] ; 0x24 hrtc->State = HAL_RTC_STATE_ERROR; 80b8dc0: 68fb ldr r3, [r7, #12] 80b8dc2: 2204 movs r2, #4 80b8dc4: 775a strb r2, [r3, #29] /* Process Unlocked */ __HAL_UNLOCK(hrtc); 80b8dc6: 68fb ldr r3, [r7, #12] 80b8dc8: 2200 movs r2, #0 80b8dca: 771a strb r2, [r3, #28] return HAL_ERROR; 80b8dcc: 2301 movs r3, #1 80b8dce: e00a b.n 80b8de6 } } /* Enable the write protection for RTC registers */ __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc); 80b8dd0: 68fb ldr r3, [r7, #12] 80b8dd2: 681b ldr r3, [r3, #0] 80b8dd4: 22ff movs r2, #255 ; 0xff 80b8dd6: 625a str r2, [r3, #36] ; 0x24 hrtc->State = HAL_RTC_STATE_READY ; 80b8dd8: 68fb ldr r3, [r7, #12] 80b8dda: 2201 movs r2, #1 80b8ddc: 775a strb r2, [r3, #29] /* Process Unlocked */ __HAL_UNLOCK(hrtc); 80b8dde: 68fb ldr r3, [r7, #12] 80b8de0: 2200 movs r2, #0 80b8de2: 771a strb r2, [r3, #28] return HAL_OK; 80b8de4: 2300 movs r3, #0 } } 80b8de6: 4618 mov r0, r3 80b8de8: 371c adds r7, #28 80b8dea: 46bd mov sp, r7 80b8dec: bd90 pop {r4, r7, pc} 80b8dee: bf00 nop 80b8df0: 00ffff3f .word 0x00ffff3f 080b8df4 : * 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) { 80b8df4: b580 push {r7, lr} 80b8df6: b086 sub sp, #24 80b8df8: af00 add r7, sp, #0 80b8dfa: 60f8 str r0, [r7, #12] 80b8dfc: 60b9 str r1, [r7, #8] 80b8dfe: 607a str r2, [r7, #4] uint32_t datetmpreg = 0; 80b8e00: 2300 movs r3, #0 80b8e02: 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); 80b8e04: 68fb ldr r3, [r7, #12] 80b8e06: 681b ldr r3, [r3, #0] 80b8e08: 685a ldr r2, [r3, #4] 80b8e0a: 4b21 ldr r3, [pc, #132] ; (80b8e90 ) 80b8e0c: 4013 ands r3, r2 80b8e0e: 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); 80b8e10: 697b ldr r3, [r7, #20] 80b8e12: 0c1b lsrs r3, r3, #16 80b8e14: b2da uxtb r2, r3 80b8e16: 68bb ldr r3, [r7, #8] 80b8e18: 70da strb r2, [r3, #3] sDate->Month = (uint8_t)((datetmpreg & (RTC_DR_MT | RTC_DR_MU)) >> 8); 80b8e1a: 697b ldr r3, [r7, #20] 80b8e1c: 0a1b lsrs r3, r3, #8 80b8e1e: b2db uxtb r3, r3 80b8e20: f003 031f and.w r3, r3, #31 80b8e24: b2da uxtb r2, r3 80b8e26: 68bb ldr r3, [r7, #8] 80b8e28: 705a strb r2, [r3, #1] sDate->Date = (uint8_t)(datetmpreg & (RTC_DR_DT | RTC_DR_DU)); 80b8e2a: 697b ldr r3, [r7, #20] 80b8e2c: b2db uxtb r3, r3 80b8e2e: f003 033f and.w r3, r3, #63 ; 0x3f 80b8e32: b2da uxtb r2, r3 80b8e34: 68bb ldr r3, [r7, #8] 80b8e36: 709a strb r2, [r3, #2] sDate->WeekDay = (uint8_t)((datetmpreg & (RTC_DR_WDU)) >> 13); 80b8e38: 697b ldr r3, [r7, #20] 80b8e3a: 0b5b lsrs r3, r3, #13 80b8e3c: b2db uxtb r3, r3 80b8e3e: f003 0307 and.w r3, r3, #7 80b8e42: b2da uxtb r2, r3 80b8e44: 68bb ldr r3, [r7, #8] 80b8e46: 701a strb r2, [r3, #0] /* Check the input parameters format */ if(Format == RTC_FORMAT_BIN) 80b8e48: 687b ldr r3, [r7, #4] 80b8e4a: 2b00 cmp r3, #0 80b8e4c: d11a bne.n 80b8e84 { /* Convert the date structure parameters to Binary format */ sDate->Year = (uint8_t)RTC_Bcd2ToByte(sDate->Year); 80b8e4e: 68bb ldr r3, [r7, #8] 80b8e50: 78db ldrb r3, [r3, #3] 80b8e52: 4618 mov r0, r3 80b8e54: f000 f890 bl 80b8f78 80b8e58: 4603 mov r3, r0 80b8e5a: 461a mov r2, r3 80b8e5c: 68bb ldr r3, [r7, #8] 80b8e5e: 70da strb r2, [r3, #3] sDate->Month = (uint8_t)RTC_Bcd2ToByte(sDate->Month); 80b8e60: 68bb ldr r3, [r7, #8] 80b8e62: 785b ldrb r3, [r3, #1] 80b8e64: 4618 mov r0, r3 80b8e66: f000 f887 bl 80b8f78 80b8e6a: 4603 mov r3, r0 80b8e6c: 461a mov r2, r3 80b8e6e: 68bb ldr r3, [r7, #8] 80b8e70: 705a strb r2, [r3, #1] sDate->Date = (uint8_t)RTC_Bcd2ToByte(sDate->Date); 80b8e72: 68bb ldr r3, [r7, #8] 80b8e74: 789b ldrb r3, [r3, #2] 80b8e76: 4618 mov r0, r3 80b8e78: f000 f87e bl 80b8f78 80b8e7c: 4603 mov r3, r0 80b8e7e: 461a mov r2, r3 80b8e80: 68bb ldr r3, [r7, #8] 80b8e82: 709a strb r2, [r3, #2] } return HAL_OK; 80b8e84: 2300 movs r3, #0 } 80b8e86: 4618 mov r0, r3 80b8e88: 3718 adds r7, #24 80b8e8a: 46bd mov sp, r7 80b8e8c: bd80 pop {r7, pc} 80b8e8e: bf00 nop 80b8e90: 00ffff3f .word 0x00ffff3f 080b8e94 : * @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) { 80b8e94: b580 push {r7, lr} 80b8e96: b084 sub sp, #16 80b8e98: af00 add r7, sp, #0 80b8e9a: 6078 str r0, [r7, #4] uint32_t tickstart = 0; 80b8e9c: 2300 movs r3, #0 80b8e9e: 60fb str r3, [r7, #12] /* Clear RSF flag */ hrtc->Instance->ISR &= (uint32_t)RTC_RSF_MASK; 80b8ea0: 687b ldr r3, [r7, #4] 80b8ea2: 681b ldr r3, [r3, #0] 80b8ea4: 687a ldr r2, [r7, #4] 80b8ea6: 6812 ldr r2, [r2, #0] 80b8ea8: 68d2 ldr r2, [r2, #12] 80b8eaa: f022 02a0 bic.w r2, r2, #160 ; 0xa0 80b8eae: 60da str r2, [r3, #12] /* Get tick */ tickstart = HAL_GetTick(); 80b8eb0: f7fa f9c2 bl 80b3238 80b8eb4: 60f8 str r0, [r7, #12] /* Wait the registers to be synchronised */ while((hrtc->Instance->ISR & RTC_ISR_RSF) == (uint32_t)RESET) 80b8eb6: e009 b.n 80b8ecc { if((HAL_GetTick() - tickstart ) > RTC_TIMEOUT_VALUE) 80b8eb8: f7fa f9be bl 80b3238 80b8ebc: 4602 mov r2, r0 80b8ebe: 68fb ldr r3, [r7, #12] 80b8ec0: 1ad3 subs r3, r2, r3 80b8ec2: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 80b8ec6: d901 bls.n 80b8ecc { return HAL_TIMEOUT; 80b8ec8: 2303 movs r3, #3 80b8eca: e007 b.n 80b8edc while((hrtc->Instance->ISR & RTC_ISR_RSF) == (uint32_t)RESET) 80b8ecc: 687b ldr r3, [r7, #4] 80b8ece: 681b ldr r3, [r3, #0] 80b8ed0: 68db ldr r3, [r3, #12] 80b8ed2: f003 0320 and.w r3, r3, #32 80b8ed6: 2b00 cmp r3, #0 80b8ed8: d0ee beq.n 80b8eb8 } } return HAL_OK; 80b8eda: 2300 movs r3, #0 } 80b8edc: 4618 mov r0, r3 80b8ede: 3710 adds r7, #16 80b8ee0: 46bd mov sp, r7 80b8ee2: bd80 pop {r7, pc} 080b8ee4 : * @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) { 80b8ee4: b580 push {r7, lr} 80b8ee6: b084 sub sp, #16 80b8ee8: af00 add r7, sp, #0 80b8eea: 6078 str r0, [r7, #4] uint32_t tickstart = 0; 80b8eec: 2300 movs r3, #0 80b8eee: 60fb str r3, [r7, #12] /* Check if the Initialization mode is set */ if((hrtc->Instance->ISR & RTC_ISR_INITF) == (uint32_t)RESET) 80b8ef0: 687b ldr r3, [r7, #4] 80b8ef2: 681b ldr r3, [r3, #0] 80b8ef4: 68db ldr r3, [r3, #12] 80b8ef6: f003 0340 and.w r3, r3, #64 ; 0x40 80b8efa: 2b00 cmp r3, #0 80b8efc: d119 bne.n 80b8f32 { /* Set the Initialization mode */ hrtc->Instance->ISR = (uint32_t)RTC_INIT_MASK; 80b8efe: 687b ldr r3, [r7, #4] 80b8f00: 681b ldr r3, [r3, #0] 80b8f02: f04f 32ff mov.w r2, #4294967295 80b8f06: 60da str r2, [r3, #12] /* Get tick */ tickstart = HAL_GetTick(); 80b8f08: f7fa f996 bl 80b3238 80b8f0c: 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) 80b8f0e: e009 b.n 80b8f24 { if((HAL_GetTick() - tickstart ) > RTC_TIMEOUT_VALUE) 80b8f10: f7fa f992 bl 80b3238 80b8f14: 4602 mov r2, r0 80b8f16: 68fb ldr r3, [r7, #12] 80b8f18: 1ad3 subs r3, r2, r3 80b8f1a: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 80b8f1e: d901 bls.n 80b8f24 { return HAL_TIMEOUT; 80b8f20: 2303 movs r3, #3 80b8f22: e007 b.n 80b8f34 while((hrtc->Instance->ISR & RTC_ISR_INITF) == (uint32_t)RESET) 80b8f24: 687b ldr r3, [r7, #4] 80b8f26: 681b ldr r3, [r3, #0] 80b8f28: 68db ldr r3, [r3, #12] 80b8f2a: f003 0340 and.w r3, r3, #64 ; 0x40 80b8f2e: 2b00 cmp r3, #0 80b8f30: d0ee beq.n 80b8f10 } } } return HAL_OK; 80b8f32: 2300 movs r3, #0 } 80b8f34: 4618 mov r0, r3 80b8f36: 3710 adds r7, #16 80b8f38: 46bd mov sp, r7 80b8f3a: bd80 pop {r7, pc} 080b8f3c : * @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) { 80b8f3c: b480 push {r7} 80b8f3e: b085 sub sp, #20 80b8f40: af00 add r7, sp, #0 80b8f42: 4603 mov r3, r0 80b8f44: 71fb strb r3, [r7, #7] uint32_t bcdhigh = 0; 80b8f46: 2300 movs r3, #0 80b8f48: 60fb str r3, [r7, #12] while(Value >= 10) 80b8f4a: e005 b.n 80b8f58 { bcdhigh++; 80b8f4c: 68fb ldr r3, [r7, #12] 80b8f4e: 3301 adds r3, #1 80b8f50: 60fb str r3, [r7, #12] Value -= 10; 80b8f52: 79fb ldrb r3, [r7, #7] 80b8f54: 3b0a subs r3, #10 80b8f56: 71fb strb r3, [r7, #7] while(Value >= 10) 80b8f58: 79fb ldrb r3, [r7, #7] 80b8f5a: 2b09 cmp r3, #9 80b8f5c: d8f6 bhi.n 80b8f4c } return ((uint8_t)(bcdhigh << 4) | Value); 80b8f5e: 68fb ldr r3, [r7, #12] 80b8f60: b2db uxtb r3, r3 80b8f62: 011b lsls r3, r3, #4 80b8f64: b2da uxtb r2, r3 80b8f66: 79fb ldrb r3, [r7, #7] 80b8f68: 4313 orrs r3, r2 80b8f6a: b2db uxtb r3, r3 } 80b8f6c: 4618 mov r0, r3 80b8f6e: 3714 adds r7, #20 80b8f70: 46bd mov sp, r7 80b8f72: f85d 7b04 ldr.w r7, [sp], #4 80b8f76: 4770 bx lr 080b8f78 : * @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) { 80b8f78: b480 push {r7} 80b8f7a: b085 sub sp, #20 80b8f7c: af00 add r7, sp, #0 80b8f7e: 4603 mov r3, r0 80b8f80: 71fb strb r3, [r7, #7] uint32_t tmp = 0; 80b8f82: 2300 movs r3, #0 80b8f84: 60fb str r3, [r7, #12] tmp = ((uint8_t)(Value & (uint8_t)0xF0) >> (uint8_t)0x4) * 10; 80b8f86: 79fb ldrb r3, [r7, #7] 80b8f88: 091b lsrs r3, r3, #4 80b8f8a: b2db uxtb r3, r3 80b8f8c: 461a mov r2, r3 80b8f8e: 4613 mov r3, r2 80b8f90: 009b lsls r3, r3, #2 80b8f92: 4413 add r3, r2 80b8f94: 005b lsls r3, r3, #1 80b8f96: 60fb str r3, [r7, #12] return (tmp + (Value & (uint8_t)0x0F)); 80b8f98: 79fb ldrb r3, [r7, #7] 80b8f9a: f003 030f and.w r3, r3, #15 80b8f9e: b2da uxtb r2, r3 80b8fa0: 68fb ldr r3, [r7, #12] 80b8fa2: b2db uxtb r3, r3 80b8fa4: 4413 add r3, r2 80b8fa6: b2db uxtb r3, r3 } 80b8fa8: 4618 mov r0, r3 80b8faa: 3714 adds r7, #20 80b8fac: 46bd mov sp, r7 80b8fae: f85d 7b04 ldr.w r7, [sp], #4 80b8fb2: 4770 bx lr 080b8fb4 : * 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) { 80b8fb4: b480 push {r7} 80b8fb6: b087 sub sp, #28 80b8fb8: af00 add r7, sp, #0 80b8fba: 60f8 str r0, [r7, #12] 80b8fbc: 60b9 str r1, [r7, #8] 80b8fbe: 607a str r2, [r7, #4] uint32_t tmp = 0; 80b8fc0: 2300 movs r3, #0 80b8fc2: 617b str r3, [r7, #20] /* Check the parameters */ assert_param(IS_RTC_BKP(BackupRegister)); tmp = (uint32_t)&(hrtc->Instance->BKP0R); 80b8fc4: 68fb ldr r3, [r7, #12] 80b8fc6: 681b ldr r3, [r3, #0] 80b8fc8: 3350 adds r3, #80 ; 0x50 80b8fca: 617b str r3, [r7, #20] tmp += (BackupRegister * 4); 80b8fcc: 68bb ldr r3, [r7, #8] 80b8fce: 009b lsls r3, r3, #2 80b8fd0: 697a ldr r2, [r7, #20] 80b8fd2: 4413 add r3, r2 80b8fd4: 617b str r3, [r7, #20] /* Write the specified register */ *(__IO uint32_t *)tmp = (uint32_t)Data; 80b8fd6: 697b ldr r3, [r7, #20] 80b8fd8: 687a ldr r2, [r7, #4] 80b8fda: 601a str r2, [r3, #0] } 80b8fdc: bf00 nop 80b8fde: 371c adds r7, #28 80b8fe0: 46bd mov sp, r7 80b8fe2: f85d 7b04 ldr.w r7, [sp], #4 80b8fe6: 4770 bx lr 080b8fe8 : * 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) { 80b8fe8: b480 push {r7} 80b8fea: b085 sub sp, #20 80b8fec: af00 add r7, sp, #0 80b8fee: 6078 str r0, [r7, #4] 80b8ff0: 6039 str r1, [r7, #0] uint32_t tmp = 0; 80b8ff2: 2300 movs r3, #0 80b8ff4: 60fb str r3, [r7, #12] /* Check the parameters */ assert_param(IS_RTC_BKP(BackupRegister)); tmp = (uint32_t)&(hrtc->Instance->BKP0R); 80b8ff6: 687b ldr r3, [r7, #4] 80b8ff8: 681b ldr r3, [r3, #0] 80b8ffa: 3350 adds r3, #80 ; 0x50 80b8ffc: 60fb str r3, [r7, #12] tmp += (BackupRegister * 4); 80b8ffe: 683b ldr r3, [r7, #0] 80b9000: 009b lsls r3, r3, #2 80b9002: 68fa ldr r2, [r7, #12] 80b9004: 4413 add r3, r2 80b9006: 60fb str r3, [r7, #12] /* Read the specified register */ return (*(__IO uint32_t *)tmp); 80b9008: 68fb ldr r3, [r7, #12] 80b900a: 681b ldr r3, [r3, #0] } 80b900c: 4618 mov r0, r3 80b900e: 3714 adds r7, #20 80b9010: 46bd mov sp, r7 80b9012: f85d 7b04 ldr.w r7, [sp], #4 80b9016: 4770 bx lr 080b9018 : 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) { 80b9018: b580 push {r7, lr} 80b901a: b082 sub sp, #8 80b901c: af00 add r7, sp, #0 80b901e: 6078 str r0, [r7, #4] /* Check the SD handle allocation */ if(hsd == NULL) 80b9020: 687b ldr r3, [r7, #4] 80b9022: 2b00 cmp r3, #0 80b9024: d101 bne.n 80b902a { return HAL_ERROR; 80b9026: 2301 movs r3, #1 80b9028: e022 b.n 80b9070 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) 80b902a: 687b ldr r3, [r7, #4] 80b902c: f893 3034 ldrb.w r3, [r3, #52] ; 0x34 80b9030: b2db uxtb r3, r3 80b9032: 2b00 cmp r3, #0 80b9034: d105 bne.n 80b9042 { /* Allocate lock resource and initialize it */ hsd->Lock = HAL_UNLOCKED; 80b9036: 687b ldr r3, [r7, #4] 80b9038: 2200 movs r2, #0 80b903a: 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); 80b903c: 6878 ldr r0, [r7, #4] 80b903e: f7f4 ff5d bl 80adefc #endif /* USE_HAL_SD_REGISTER_CALLBACKS */ } hsd->State = HAL_SD_STATE_BUSY; 80b9042: 687b ldr r3, [r7, #4] 80b9044: 2203 movs r2, #3 80b9046: f883 2034 strb.w r2, [r3, #52] ; 0x34 /* Initialize the Card parameters */ if (HAL_SD_InitCard(hsd) != HAL_OK) 80b904a: 6878 ldr r0, [r7, #4] 80b904c: f000 f814 bl 80b9078 80b9050: 4603 mov r3, r0 80b9052: 2b00 cmp r3, #0 80b9054: d001 beq.n 80b905a { return HAL_ERROR; 80b9056: 2301 movs r3, #1 80b9058: e00a b.n 80b9070 } /* Initialize the error code */ hsd->ErrorCode = HAL_SD_ERROR_NONE; 80b905a: 687b ldr r3, [r7, #4] 80b905c: 2200 movs r2, #0 80b905e: 639a str r2, [r3, #56] ; 0x38 /* Initialize the SD operation */ hsd->Context = SD_CONTEXT_NONE; 80b9060: 687b ldr r3, [r7, #4] 80b9062: 2200 movs r2, #0 80b9064: 631a str r2, [r3, #48] ; 0x30 /* Initialize the SD state */ hsd->State = HAL_SD_STATE_READY; 80b9066: 687b ldr r3, [r7, #4] 80b9068: 2201 movs r2, #1 80b906a: f883 2034 strb.w r2, [r3, #52] ; 0x34 return HAL_OK; 80b906e: 2300 movs r3, #0 } 80b9070: 4618 mov r0, r3 80b9072: 3708 adds r7, #8 80b9074: 46bd mov sp, r7 80b9076: bd80 pop {r7, pc} 080b9078 : * @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) { 80b9078: b5b0 push {r4, r5, r7, lr} 80b907a: b08e sub sp, #56 ; 0x38 80b907c: af04 add r7, sp, #16 80b907e: 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; 80b9080: 2300 movs r3, #0 80b9082: 60bb str r3, [r7, #8] Init.ClockBypass = SDMMC_CLOCK_BYPASS_DISABLE; 80b9084: 2300 movs r3, #0 80b9086: 60fb str r3, [r7, #12] Init.ClockPowerSave = SDMMC_CLOCK_POWER_SAVE_DISABLE; 80b9088: 2300 movs r3, #0 80b908a: 613b str r3, [r7, #16] Init.BusWide = SDMMC_BUS_WIDE_1B; 80b908c: 2300 movs r3, #0 80b908e: 617b str r3, [r7, #20] Init.HardwareFlowControl = SDMMC_HARDWARE_FLOW_CONTROL_DISABLE; 80b9090: 2300 movs r3, #0 80b9092: 61bb str r3, [r7, #24] Init.ClockDiv = SDMMC_INIT_CLK_DIV; 80b9094: 2376 movs r3, #118 ; 0x76 80b9096: 61fb str r3, [r7, #28] /* Initialize SDMMC peripheral interface with default configuration */ status = SDMMC_Init(hsd->Instance, Init); 80b9098: 687b ldr r3, [r7, #4] 80b909a: 681d ldr r5, [r3, #0] 80b909c: 466c mov r4, sp 80b909e: f107 0314 add.w r3, r7, #20 80b90a2: e893 0007 ldmia.w r3, {r0, r1, r2} 80b90a6: e884 0007 stmia.w r4, {r0, r1, r2} 80b90aa: f107 0308 add.w r3, r7, #8 80b90ae: cb0e ldmia r3, {r1, r2, r3} 80b90b0: 4628 mov r0, r5 80b90b2: f004 f9b1 bl 80bd418 80b90b6: 4603 mov r3, r0 80b90b8: f887 3027 strb.w r3, [r7, #39] ; 0x27 if(status != HAL_OK) 80b90bc: f897 3027 ldrb.w r3, [r7, #39] ; 0x27 80b90c0: 2b00 cmp r3, #0 80b90c2: d001 beq.n 80b90c8 { return HAL_ERROR; 80b90c4: 2301 movs r3, #1 80b90c6: e059 b.n 80b917c } /* Disable SDMMC Clock */ __HAL_SD_DISABLE(hsd); 80b90c8: 687b ldr r3, [r7, #4] 80b90ca: 681b ldr r3, [r3, #0] 80b90cc: 687a ldr r2, [r7, #4] 80b90ce: 6812 ldr r2, [r2, #0] 80b90d0: 6852 ldr r2, [r2, #4] 80b90d2: f422 7280 bic.w r2, r2, #256 ; 0x100 80b90d6: 605a str r2, [r3, #4] /* Set Power State to ON */ (void)SDMMC_PowerState_ON(hsd->Instance); 80b90d8: 687b ldr r3, [r7, #4] 80b90da: 681b ldr r3, [r3, #0] 80b90dc: 4618 mov r0, r3 80b90de: f004 f9e5 bl 80bd4ac /* Enable SDMMC Clock */ __HAL_SD_ENABLE(hsd); 80b90e2: 687b ldr r3, [r7, #4] 80b90e4: 681b ldr r3, [r3, #0] 80b90e6: 687a ldr r2, [r7, #4] 80b90e8: 6812 ldr r2, [r2, #0] 80b90ea: 6852 ldr r2, [r2, #4] 80b90ec: f442 7280 orr.w r2, r2, #256 ; 0x100 80b90f0: 605a str r2, [r3, #4] /* Required power up waiting time before starting the SD initialization sequence */ HAL_Delay(2); 80b90f2: 2002 movs r0, #2 80b90f4: f7fa f8ac bl 80b3250 /* Identify card operating voltage */ errorstate = SD_PowerON(hsd); 80b90f8: 6878 ldr r0, [r7, #4] 80b90fa: f001 f813 bl 80ba124 80b90fe: 6238 str r0, [r7, #32] if(errorstate != HAL_SD_ERROR_NONE) 80b9100: 6a3b ldr r3, [r7, #32] 80b9102: 2b00 cmp r3, #0 80b9104: d00b beq.n 80b911e { hsd->State = HAL_SD_STATE_READY; 80b9106: 687b ldr r3, [r7, #4] 80b9108: 2201 movs r2, #1 80b910a: f883 2034 strb.w r2, [r3, #52] ; 0x34 hsd->ErrorCode |= errorstate; 80b910e: 687b ldr r3, [r7, #4] 80b9110: 6b9a ldr r2, [r3, #56] ; 0x38 80b9112: 6a3b ldr r3, [r7, #32] 80b9114: 431a orrs r2, r3 80b9116: 687b ldr r3, [r7, #4] 80b9118: 639a str r2, [r3, #56] ; 0x38 return HAL_ERROR; 80b911a: 2301 movs r3, #1 80b911c: e02e b.n 80b917c } /* Card initialization */ errorstate = SD_InitCard(hsd); 80b911e: 6878 ldr r0, [r7, #4] 80b9120: f000 ff32 bl 80b9f88 80b9124: 6238 str r0, [r7, #32] if(errorstate != HAL_SD_ERROR_NONE) 80b9126: 6a3b ldr r3, [r7, #32] 80b9128: 2b00 cmp r3, #0 80b912a: d00b beq.n 80b9144 { hsd->State = HAL_SD_STATE_READY; 80b912c: 687b ldr r3, [r7, #4] 80b912e: 2201 movs r2, #1 80b9130: f883 2034 strb.w r2, [r3, #52] ; 0x34 hsd->ErrorCode |= errorstate; 80b9134: 687b ldr r3, [r7, #4] 80b9136: 6b9a ldr r2, [r3, #56] ; 0x38 80b9138: 6a3b ldr r3, [r7, #32] 80b913a: 431a orrs r2, r3 80b913c: 687b ldr r3, [r7, #4] 80b913e: 639a str r2, [r3, #56] ; 0x38 return HAL_ERROR; 80b9140: 2301 movs r3, #1 80b9142: e01b b.n 80b917c } /* Set Block Size for Card */ errorstate = SDMMC_CmdBlockLength(hsd->Instance, BLOCKSIZE); 80b9144: 687b ldr r3, [r7, #4] 80b9146: 681b ldr r3, [r3, #0] 80b9148: f44f 7100 mov.w r1, #512 ; 0x200 80b914c: 4618 mov r0, r3 80b914e: f004 fa4d bl 80bd5ec 80b9152: 6238 str r0, [r7, #32] if(errorstate != HAL_SD_ERROR_NONE) 80b9154: 6a3b ldr r3, [r7, #32] 80b9156: 2b00 cmp r3, #0 80b9158: d00f beq.n 80b917a { /* Clear all the static flags */ __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_FLAGS); 80b915a: 687b ldr r3, [r7, #4] 80b915c: 681b ldr r3, [r3, #0] 80b915e: 4a09 ldr r2, [pc, #36] ; (80b9184 ) 80b9160: 639a str r2, [r3, #56] ; 0x38 hsd->ErrorCode |= errorstate; 80b9162: 687b ldr r3, [r7, #4] 80b9164: 6b9a ldr r2, [r3, #56] ; 0x38 80b9166: 6a3b ldr r3, [r7, #32] 80b9168: 431a orrs r2, r3 80b916a: 687b ldr r3, [r7, #4] 80b916c: 639a str r2, [r3, #56] ; 0x38 hsd->State = HAL_SD_STATE_READY; 80b916e: 687b ldr r3, [r7, #4] 80b9170: 2201 movs r2, #1 80b9172: f883 2034 strb.w r2, [r3, #52] ; 0x34 return HAL_ERROR; 80b9176: 2301 movs r3, #1 80b9178: e000 b.n 80b917c } return HAL_OK; 80b917a: 2300 movs r3, #0 } 80b917c: 4618 mov r0, r3 80b917e: 3728 adds r7, #40 ; 0x28 80b9180: 46bd mov sp, r7 80b9182: bdb0 pop {r4, r5, r7, pc} 80b9184: 004005ff .word 0x004005ff 080b9188 : * @brief De-Initializes the SD card. * @param hsd: Pointer to SD handle * @retval HAL status */ HAL_StatusTypeDef HAL_SD_DeInit(SD_HandleTypeDef *hsd) { 80b9188: b580 push {r7, lr} 80b918a: b082 sub sp, #8 80b918c: af00 add r7, sp, #0 80b918e: 6078 str r0, [r7, #4] /* Check the SD handle allocation */ if(hsd == NULL) 80b9190: 687b ldr r3, [r7, #4] 80b9192: 2b00 cmp r3, #0 80b9194: d101 bne.n 80b919a { return HAL_ERROR; 80b9196: 2301 movs r3, #1 80b9198: e011 b.n 80b91be } /* Check the parameters */ assert_param(IS_SDMMC_ALL_INSTANCE(hsd->Instance)); hsd->State = HAL_SD_STATE_BUSY; 80b919a: 687b ldr r3, [r7, #4] 80b919c: 2203 movs r2, #3 80b919e: f883 2034 strb.w r2, [r3, #52] ; 0x34 /* Set SD power state to off */ SD_PowerOFF(hsd); 80b91a2: 6878 ldr r0, [r7, #4] 80b91a4: f001 f84c bl 80ba240 /* DeInit the low level hardware */ hsd->MspDeInitCallback(hsd); #else /* De-Initialize the MSP layer */ HAL_SD_MspDeInit(hsd); 80b91a8: 6878 ldr r0, [r7, #4] 80b91aa: f7f4 ff73 bl 80ae094 #endif /* USE_HAL_SD_REGISTER_CALLBACKS */ hsd->ErrorCode = HAL_SD_ERROR_NONE; 80b91ae: 687b ldr r3, [r7, #4] 80b91b0: 2200 movs r2, #0 80b91b2: 639a str r2, [r3, #56] ; 0x38 hsd->State = HAL_SD_STATE_RESET; 80b91b4: 687b ldr r3, [r7, #4] 80b91b6: 2200 movs r2, #0 80b91b8: f883 2034 strb.w r2, [r3, #52] ; 0x34 return HAL_OK; 80b91bc: 2300 movs r3, #0 } 80b91be: 4618 mov r0, r3 80b91c0: 3708 adds r7, #8 80b91c2: 46bd mov sp, r7 80b91c4: bd80 pop {r7, pc} ... 080b91c8 : * @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) { 80b91c8: b580 push {r7, lr} 80b91ca: b08c sub sp, #48 ; 0x30 80b91cc: af00 add r7, sp, #0 80b91ce: 60f8 str r0, [r7, #12] 80b91d0: 60b9 str r1, [r7, #8] 80b91d2: 607a str r2, [r7, #4] 80b91d4: 603b str r3, [r7, #0] SDMMC_DataInitTypeDef config; uint32_t errorstate; uint32_t add = BlockAdd; 80b91d6: 687b ldr r3, [r7, #4] 80b91d8: 62bb str r3, [r7, #40] ; 0x28 if(NULL == pData) 80b91da: 68bb ldr r3, [r7, #8] 80b91dc: 2b00 cmp r3, #0 80b91de: d107 bne.n 80b91f0 { hsd->ErrorCode |= HAL_SD_ERROR_PARAM; 80b91e0: 68fb ldr r3, [r7, #12] 80b91e2: 6b9b ldr r3, [r3, #56] ; 0x38 80b91e4: f043 6200 orr.w r2, r3, #134217728 ; 0x8000000 80b91e8: 68fb ldr r3, [r7, #12] 80b91ea: 639a str r2, [r3, #56] ; 0x38 return HAL_ERROR; 80b91ec: 2301 movs r3, #1 80b91ee: e0c3 b.n 80b9378 } if(hsd->State == HAL_SD_STATE_READY) 80b91f0: 68fb ldr r3, [r7, #12] 80b91f2: f893 3034 ldrb.w r3, [r3, #52] ; 0x34 80b91f6: b2db uxtb r3, r3 80b91f8: 2b01 cmp r3, #1 80b91fa: f040 80bc bne.w 80b9376 { hsd->ErrorCode = HAL_SD_ERROR_NONE; 80b91fe: 68fb ldr r3, [r7, #12] 80b9200: 2200 movs r2, #0 80b9202: 639a str r2, [r3, #56] ; 0x38 if((add + NumberOfBlocks) > (hsd->SdCard.LogBlockNbr)) 80b9204: 6aba ldr r2, [r7, #40] ; 0x28 80b9206: 683b ldr r3, [r7, #0] 80b9208: 441a add r2, r3 80b920a: 68fb ldr r3, [r7, #12] 80b920c: 6ddb ldr r3, [r3, #92] ; 0x5c 80b920e: 429a cmp r2, r3 80b9210: d907 bls.n 80b9222 { hsd->ErrorCode |= HAL_SD_ERROR_ADDR_OUT_OF_RANGE; 80b9212: 68fb ldr r3, [r7, #12] 80b9214: 6b9b ldr r3, [r3, #56] ; 0x38 80b9216: f043 7200 orr.w r2, r3, #33554432 ; 0x2000000 80b921a: 68fb ldr r3, [r7, #12] 80b921c: 639a str r2, [r3, #56] ; 0x38 return HAL_ERROR; 80b921e: 2301 movs r3, #1 80b9220: e0aa b.n 80b9378 } hsd->State = HAL_SD_STATE_BUSY; 80b9222: 68fb ldr r3, [r7, #12] 80b9224: 2203 movs r2, #3 80b9226: f883 2034 strb.w r2, [r3, #52] ; 0x34 /* Initialize data control register */ hsd->Instance->DCTRL = 0U; 80b922a: 68fb ldr r3, [r7, #12] 80b922c: 681b ldr r3, [r3, #0] 80b922e: 2200 movs r2, #0 80b9230: 62da str r2, [r3, #44] ; 0x2c __HAL_SD_ENABLE_IT(hsd, (SDMMC_IT_DCRCFAIL | SDMMC_IT_DTIMEOUT | SDMMC_IT_RXOVERR | SDMMC_IT_DATAEND)); 80b9232: 68fb ldr r3, [r7, #12] 80b9234: 681b ldr r3, [r3, #0] 80b9236: 68fa ldr r2, [r7, #12] 80b9238: 6812 ldr r2, [r2, #0] 80b923a: 6bd2 ldr r2, [r2, #60] ; 0x3c 80b923c: f442 7295 orr.w r2, r2, #298 ; 0x12a 80b9240: 63da str r2, [r3, #60] ; 0x3c /* Set the DMA transfer complete callback */ hsd->hdmarx->XferCpltCallback = SD_DMAReceiveCplt; 80b9242: 68fb ldr r3, [r7, #12] 80b9244: 6c1b ldr r3, [r3, #64] ; 0x40 80b9246: 4a4e ldr r2, [pc, #312] ; (80b9380 ) 80b9248: 63da str r2, [r3, #60] ; 0x3c /* Set the DMA error callback */ hsd->hdmarx->XferErrorCallback = SD_DMAError; 80b924a: 68fb ldr r3, [r7, #12] 80b924c: 6c1b ldr r3, [r3, #64] ; 0x40 80b924e: 4a4d ldr r2, [pc, #308] ; (80b9384 ) 80b9250: 64da str r2, [r3, #76] ; 0x4c /* Set the DMA Abort callback */ hsd->hdmarx->XferAbortCallback = NULL; 80b9252: 68fb ldr r3, [r7, #12] 80b9254: 6c1b ldr r3, [r3, #64] ; 0x40 80b9256: 2200 movs r2, #0 80b9258: 651a str r2, [r3, #80] ; 0x50 /* Force DMA Direction */ hsd->hdmarx->Init.Direction = DMA_PERIPH_TO_MEMORY; 80b925a: 68fb ldr r3, [r7, #12] 80b925c: 6c1b ldr r3, [r3, #64] ; 0x40 80b925e: 2200 movs r2, #0 80b9260: 609a str r2, [r3, #8] MODIFY_REG(hsd->hdmarx->Instance->CR, DMA_SxCR_DIR, hsd->hdmarx->Init.Direction); 80b9262: 68fb ldr r3, [r7, #12] 80b9264: 6c1b ldr r3, [r3, #64] ; 0x40 80b9266: 681b ldr r3, [r3, #0] 80b9268: 68fa ldr r2, [r7, #12] 80b926a: 6c12 ldr r2, [r2, #64] ; 0x40 80b926c: 6812 ldr r2, [r2, #0] 80b926e: 6812 ldr r2, [r2, #0] 80b9270: f022 01c0 bic.w r1, r2, #192 ; 0xc0 80b9274: 68fa ldr r2, [r7, #12] 80b9276: 6c12 ldr r2, [r2, #64] ; 0x40 80b9278: 6892 ldr r2, [r2, #8] 80b927a: 430a orrs r2, r1 80b927c: 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) 80b927e: 68fb ldr r3, [r7, #12] 80b9280: 6c18 ldr r0, [r3, #64] ; 0x40 80b9282: 68fb ldr r3, [r7, #12] 80b9284: 681b ldr r3, [r3, #0] 80b9286: 3380 adds r3, #128 ; 0x80 80b9288: 4619 mov r1, r3 80b928a: 68ba ldr r2, [r7, #8] 80b928c: 683b ldr r3, [r7, #0] 80b928e: 025b lsls r3, r3, #9 80b9290: 089b lsrs r3, r3, #2 80b9292: f7fb f8f5 bl 80b4480 80b9296: 4603 mov r3, r0 80b9298: 2b00 cmp r3, #0 80b929a: d017 beq.n 80b92cc { __HAL_SD_DISABLE_IT(hsd, (SDMMC_IT_DCRCFAIL | SDMMC_IT_DTIMEOUT | SDMMC_IT_RXOVERR | SDMMC_IT_DATAEND)); 80b929c: 68fb ldr r3, [r7, #12] 80b929e: 681b ldr r3, [r3, #0] 80b92a0: 68fa ldr r2, [r7, #12] 80b92a2: 6812 ldr r2, [r2, #0] 80b92a4: 6bd2 ldr r2, [r2, #60] ; 0x3c 80b92a6: f422 7295 bic.w r2, r2, #298 ; 0x12a 80b92aa: 63da str r2, [r3, #60] ; 0x3c __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_FLAGS); 80b92ac: 68fb ldr r3, [r7, #12] 80b92ae: 681b ldr r3, [r3, #0] 80b92b0: 4a35 ldr r2, [pc, #212] ; (80b9388 ) 80b92b2: 639a str r2, [r3, #56] ; 0x38 hsd->ErrorCode |= HAL_SD_ERROR_DMA; 80b92b4: 68fb ldr r3, [r7, #12] 80b92b6: 6b9b ldr r3, [r3, #56] ; 0x38 80b92b8: f043 4280 orr.w r2, r3, #1073741824 ; 0x40000000 80b92bc: 68fb ldr r3, [r7, #12] 80b92be: 639a str r2, [r3, #56] ; 0x38 hsd->State = HAL_SD_STATE_READY; 80b92c0: 68fb ldr r3, [r7, #12] 80b92c2: 2201 movs r2, #1 80b92c4: f883 2034 strb.w r2, [r3, #52] ; 0x34 return HAL_ERROR; 80b92c8: 2301 movs r3, #1 80b92ca: e055 b.n 80b9378 } else { /* Enable SD DMA transfer */ __HAL_SD_DMA_ENABLE(hsd); 80b92cc: 68fb ldr r3, [r7, #12] 80b92ce: 681b ldr r3, [r3, #0] 80b92d0: 68fa ldr r2, [r7, #12] 80b92d2: 6812 ldr r2, [r2, #0] 80b92d4: 6ad2 ldr r2, [r2, #44] ; 0x2c 80b92d6: f042 0208 orr.w r2, r2, #8 80b92da: 62da str r2, [r3, #44] ; 0x2c if(hsd->SdCard.CardType != CARD_SDHC_SDXC) 80b92dc: 68fb ldr r3, [r7, #12] 80b92de: 6c5b ldr r3, [r3, #68] ; 0x44 80b92e0: 2b01 cmp r3, #1 80b92e2: d002 beq.n 80b92ea { add *= 512U; 80b92e4: 6abb ldr r3, [r7, #40] ; 0x28 80b92e6: 025b lsls r3, r3, #9 80b92e8: 62bb str r3, [r7, #40] ; 0x28 } /* Configure the SD DPSM (Data Path State Machine) */ config.DataTimeOut = SDMMC_DATATIMEOUT; 80b92ea: f04f 33ff mov.w r3, #4294967295 80b92ee: 613b str r3, [r7, #16] config.DataLength = BLOCKSIZE * NumberOfBlocks; 80b92f0: 683b ldr r3, [r7, #0] 80b92f2: 025b lsls r3, r3, #9 80b92f4: 617b str r3, [r7, #20] config.DataBlockSize = SDMMC_DATABLOCK_SIZE_512B; 80b92f6: 2390 movs r3, #144 ; 0x90 80b92f8: 61bb str r3, [r7, #24] config.TransferDir = SDMMC_TRANSFER_DIR_TO_SDMMC; 80b92fa: 2302 movs r3, #2 80b92fc: 61fb str r3, [r7, #28] config.TransferMode = SDMMC_TRANSFER_MODE_BLOCK; 80b92fe: 2300 movs r3, #0 80b9300: 623b str r3, [r7, #32] config.DPSM = SDMMC_DPSM_ENABLE; 80b9302: 2301 movs r3, #1 80b9304: 627b str r3, [r7, #36] ; 0x24 (void)SDMMC_ConfigData(hsd->Instance, &config); 80b9306: 68fb ldr r3, [r7, #12] 80b9308: 681b ldr r3, [r3, #0] 80b930a: f107 0210 add.w r2, r7, #16 80b930e: 4611 mov r1, r2 80b9310: 4618 mov r0, r3 80b9312: f004 f93f bl 80bd594 /* Read Blocks in DMA mode */ if(NumberOfBlocks > 1U) 80b9316: 683b ldr r3, [r7, #0] 80b9318: 2b01 cmp r3, #1 80b931a: d90a bls.n 80b9332 { hsd->Context = (SD_CONTEXT_READ_MULTIPLE_BLOCK | SD_CONTEXT_DMA); 80b931c: 68fb ldr r3, [r7, #12] 80b931e: 2282 movs r2, #130 ; 0x82 80b9320: 631a str r2, [r3, #48] ; 0x30 /* Read Multi Block command */ errorstate = SDMMC_CmdReadMultiBlock(hsd->Instance, add); 80b9322: 68fb ldr r3, [r7, #12] 80b9324: 681b ldr r3, [r3, #0] 80b9326: 6ab9 ldr r1, [r7, #40] ; 0x28 80b9328: 4618 mov r0, r3 80b932a: f004 f9a3 bl 80bd674 80b932e: 62f8 str r0, [r7, #44] ; 0x2c 80b9330: e009 b.n 80b9346 } else { hsd->Context = (SD_CONTEXT_READ_SINGLE_BLOCK | SD_CONTEXT_DMA); 80b9332: 68fb ldr r3, [r7, #12] 80b9334: 2281 movs r2, #129 ; 0x81 80b9336: 631a str r2, [r3, #48] ; 0x30 /* Read Single Block command */ errorstate = SDMMC_CmdReadSingleBlock(hsd->Instance, add); 80b9338: 68fb ldr r3, [r7, #12] 80b933a: 681b ldr r3, [r3, #0] 80b933c: 6ab9 ldr r1, [r7, #40] ; 0x28 80b933e: 4618 mov r0, r3 80b9340: f004 f976 bl 80bd630 80b9344: 62f8 str r0, [r7, #44] ; 0x2c } if(errorstate != HAL_SD_ERROR_NONE) 80b9346: 6afb ldr r3, [r7, #44] ; 0x2c 80b9348: 2b00 cmp r3, #0 80b934a: d012 beq.n 80b9372 { /* Clear all the static flags */ __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_FLAGS); 80b934c: 68fb ldr r3, [r7, #12] 80b934e: 681b ldr r3, [r3, #0] 80b9350: 4a0d ldr r2, [pc, #52] ; (80b9388 ) 80b9352: 639a str r2, [r3, #56] ; 0x38 hsd->ErrorCode |= errorstate; 80b9354: 68fb ldr r3, [r7, #12] 80b9356: 6b9a ldr r2, [r3, #56] ; 0x38 80b9358: 6afb ldr r3, [r7, #44] ; 0x2c 80b935a: 431a orrs r2, r3 80b935c: 68fb ldr r3, [r7, #12] 80b935e: 639a str r2, [r3, #56] ; 0x38 hsd->State = HAL_SD_STATE_READY; 80b9360: 68fb ldr r3, [r7, #12] 80b9362: 2201 movs r2, #1 80b9364: f883 2034 strb.w r2, [r3, #52] ; 0x34 hsd->Context = SD_CONTEXT_NONE; 80b9368: 68fb ldr r3, [r7, #12] 80b936a: 2200 movs r2, #0 80b936c: 631a str r2, [r3, #48] ; 0x30 return HAL_ERROR; 80b936e: 2301 movs r3, #1 80b9370: e002 b.n 80b9378 } return HAL_OK; 80b9372: 2300 movs r3, #0 80b9374: e000 b.n 80b9378 } } else { return HAL_BUSY; 80b9376: 2302 movs r3, #2 } } 80b9378: 4618 mov r0, r3 80b937a: 3730 adds r7, #48 ; 0x30 80b937c: 46bd mov sp, r7 80b937e: bd80 pop {r7, pc} 80b9380: 080b9d97 .word 0x080b9d97 80b9384: 080b9e09 .word 0x080b9e09 80b9388: 004005ff .word 0x004005ff 080b938c : * @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) { 80b938c: b580 push {r7, lr} 80b938e: b08c sub sp, #48 ; 0x30 80b9390: af00 add r7, sp, #0 80b9392: 60f8 str r0, [r7, #12] 80b9394: 60b9 str r1, [r7, #8] 80b9396: 607a str r2, [r7, #4] 80b9398: 603b str r3, [r7, #0] SDMMC_DataInitTypeDef config; uint32_t errorstate; uint32_t add = BlockAdd; 80b939a: 687b ldr r3, [r7, #4] 80b939c: 62bb str r3, [r7, #40] ; 0x28 if(NULL == pData) 80b939e: 68bb ldr r3, [r7, #8] 80b93a0: 2b00 cmp r3, #0 80b93a2: d107 bne.n 80b93b4 { hsd->ErrorCode |= HAL_SD_ERROR_PARAM; 80b93a4: 68fb ldr r3, [r7, #12] 80b93a6: 6b9b ldr r3, [r3, #56] ; 0x38 80b93a8: f043 6200 orr.w r2, r3, #134217728 ; 0x8000000 80b93ac: 68fb ldr r3, [r7, #12] 80b93ae: 639a str r2, [r3, #56] ; 0x38 return HAL_ERROR; 80b93b0: 2301 movs r3, #1 80b93b2: e0c6 b.n 80b9542 } if(hsd->State == HAL_SD_STATE_READY) 80b93b4: 68fb ldr r3, [r7, #12] 80b93b6: f893 3034 ldrb.w r3, [r3, #52] ; 0x34 80b93ba: b2db uxtb r3, r3 80b93bc: 2b01 cmp r3, #1 80b93be: f040 80bf bne.w 80b9540 { hsd->ErrorCode = HAL_SD_ERROR_NONE; 80b93c2: 68fb ldr r3, [r7, #12] 80b93c4: 2200 movs r2, #0 80b93c6: 639a str r2, [r3, #56] ; 0x38 if((add + NumberOfBlocks) > (hsd->SdCard.LogBlockNbr)) 80b93c8: 6aba ldr r2, [r7, #40] ; 0x28 80b93ca: 683b ldr r3, [r7, #0] 80b93cc: 441a add r2, r3 80b93ce: 68fb ldr r3, [r7, #12] 80b93d0: 6ddb ldr r3, [r3, #92] ; 0x5c 80b93d2: 429a cmp r2, r3 80b93d4: d907 bls.n 80b93e6 { hsd->ErrorCode |= HAL_SD_ERROR_ADDR_OUT_OF_RANGE; 80b93d6: 68fb ldr r3, [r7, #12] 80b93d8: 6b9b ldr r3, [r3, #56] ; 0x38 80b93da: f043 7200 orr.w r2, r3, #33554432 ; 0x2000000 80b93de: 68fb ldr r3, [r7, #12] 80b93e0: 639a str r2, [r3, #56] ; 0x38 return HAL_ERROR; 80b93e2: 2301 movs r3, #1 80b93e4: e0ad b.n 80b9542 } hsd->State = HAL_SD_STATE_BUSY; 80b93e6: 68fb ldr r3, [r7, #12] 80b93e8: 2203 movs r2, #3 80b93ea: f883 2034 strb.w r2, [r3, #52] ; 0x34 /* Initialize data control register */ hsd->Instance->DCTRL = 0U; 80b93ee: 68fb ldr r3, [r7, #12] 80b93f0: 681b ldr r3, [r3, #0] 80b93f2: 2200 movs r2, #0 80b93f4: 62da str r2, [r3, #44] ; 0x2c /* Enable SD Error interrupts */ __HAL_SD_ENABLE_IT(hsd, (SDMMC_IT_DCRCFAIL | SDMMC_IT_DTIMEOUT | SDMMC_IT_TXUNDERR)); 80b93f6: 68fb ldr r3, [r7, #12] 80b93f8: 681b ldr r3, [r3, #0] 80b93fa: 68fa ldr r2, [r7, #12] 80b93fc: 6812 ldr r2, [r2, #0] 80b93fe: 6bd2 ldr r2, [r2, #60] ; 0x3c 80b9400: f042 021a orr.w r2, r2, #26 80b9404: 63da str r2, [r3, #60] ; 0x3c /* Set the DMA transfer complete callback */ hsd->hdmatx->XferCpltCallback = SD_DMATransmitCplt; 80b9406: 68fb ldr r3, [r7, #12] 80b9408: 6bdb ldr r3, [r3, #60] ; 0x3c 80b940a: 4a50 ldr r2, [pc, #320] ; (80b954c ) 80b940c: 63da str r2, [r3, #60] ; 0x3c /* Set the DMA error callback */ hsd->hdmatx->XferErrorCallback = SD_DMAError; 80b940e: 68fb ldr r3, [r7, #12] 80b9410: 6bdb ldr r3, [r3, #60] ; 0x3c 80b9412: 4a4f ldr r2, [pc, #316] ; (80b9550 ) 80b9414: 64da str r2, [r3, #76] ; 0x4c /* Set the DMA Abort callback */ hsd->hdmatx->XferAbortCallback = NULL; 80b9416: 68fb ldr r3, [r7, #12] 80b9418: 6bdb ldr r3, [r3, #60] ; 0x3c 80b941a: 2200 movs r2, #0 80b941c: 651a str r2, [r3, #80] ; 0x50 if(hsd->SdCard.CardType != CARD_SDHC_SDXC) 80b941e: 68fb ldr r3, [r7, #12] 80b9420: 6c5b ldr r3, [r3, #68] ; 0x44 80b9422: 2b01 cmp r3, #1 80b9424: d002 beq.n 80b942c { add *= 512U; 80b9426: 6abb ldr r3, [r7, #40] ; 0x28 80b9428: 025b lsls r3, r3, #9 80b942a: 62bb str r3, [r7, #40] ; 0x28 } /* Write Blocks in Polling mode */ if(NumberOfBlocks > 1U) 80b942c: 683b ldr r3, [r7, #0] 80b942e: 2b01 cmp r3, #1 80b9430: d90a bls.n 80b9448 { hsd->Context = (SD_CONTEXT_WRITE_MULTIPLE_BLOCK | SD_CONTEXT_DMA); 80b9432: 68fb ldr r3, [r7, #12] 80b9434: 22a0 movs r2, #160 ; 0xa0 80b9436: 631a str r2, [r3, #48] ; 0x30 /* Write Multi Block command */ errorstate = SDMMC_CmdWriteMultiBlock(hsd->Instance, add); 80b9438: 68fb ldr r3, [r7, #12] 80b943a: 681b ldr r3, [r3, #0] 80b943c: 6ab9 ldr r1, [r7, #40] ; 0x28 80b943e: 4618 mov r0, r3 80b9440: f004 f95c bl 80bd6fc 80b9444: 62f8 str r0, [r7, #44] ; 0x2c 80b9446: e009 b.n 80b945c } else { hsd->Context = (SD_CONTEXT_WRITE_SINGLE_BLOCK | SD_CONTEXT_DMA); 80b9448: 68fb ldr r3, [r7, #12] 80b944a: 2290 movs r2, #144 ; 0x90 80b944c: 631a str r2, [r3, #48] ; 0x30 /* Write Single Block command */ errorstate = SDMMC_CmdWriteSingleBlock(hsd->Instance, add); 80b944e: 68fb ldr r3, [r7, #12] 80b9450: 681b ldr r3, [r3, #0] 80b9452: 6ab9 ldr r1, [r7, #40] ; 0x28 80b9454: 4618 mov r0, r3 80b9456: f004 f92f bl 80bd6b8 80b945a: 62f8 str r0, [r7, #44] ; 0x2c } if(errorstate != HAL_SD_ERROR_NONE) 80b945c: 6afb ldr r3, [r7, #44] ; 0x2c 80b945e: 2b00 cmp r3, #0 80b9460: d012 beq.n 80b9488 { /* Clear all the static flags */ __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_FLAGS); 80b9462: 68fb ldr r3, [r7, #12] 80b9464: 681b ldr r3, [r3, #0] 80b9466: 4a3b ldr r2, [pc, #236] ; (80b9554 ) 80b9468: 639a str r2, [r3, #56] ; 0x38 hsd->ErrorCode |= errorstate; 80b946a: 68fb ldr r3, [r7, #12] 80b946c: 6b9a ldr r2, [r3, #56] ; 0x38 80b946e: 6afb ldr r3, [r7, #44] ; 0x2c 80b9470: 431a orrs r2, r3 80b9472: 68fb ldr r3, [r7, #12] 80b9474: 639a str r2, [r3, #56] ; 0x38 hsd->State = HAL_SD_STATE_READY; 80b9476: 68fb ldr r3, [r7, #12] 80b9478: 2201 movs r2, #1 80b947a: f883 2034 strb.w r2, [r3, #52] ; 0x34 hsd->Context = SD_CONTEXT_NONE; 80b947e: 68fb ldr r3, [r7, #12] 80b9480: 2200 movs r2, #0 80b9482: 631a str r2, [r3, #48] ; 0x30 return HAL_ERROR; 80b9484: 2301 movs r3, #1 80b9486: e05c b.n 80b9542 } /* Enable SDMMC DMA transfer */ __HAL_SD_DMA_ENABLE(hsd); 80b9488: 68fb ldr r3, [r7, #12] 80b948a: 681b ldr r3, [r3, #0] 80b948c: 68fa ldr r2, [r7, #12] 80b948e: 6812 ldr r2, [r2, #0] 80b9490: 6ad2 ldr r2, [r2, #44] ; 0x2c 80b9492: f042 0208 orr.w r2, r2, #8 80b9496: 62da str r2, [r3, #44] ; 0x2c /* Force DMA Direction */ hsd->hdmatx->Init.Direction = DMA_MEMORY_TO_PERIPH; 80b9498: 68fb ldr r3, [r7, #12] 80b949a: 6bdb ldr r3, [r3, #60] ; 0x3c 80b949c: 2240 movs r2, #64 ; 0x40 80b949e: 609a str r2, [r3, #8] MODIFY_REG(hsd->hdmatx->Instance->CR, DMA_SxCR_DIR, hsd->hdmatx->Init.Direction); 80b94a0: 68fb ldr r3, [r7, #12] 80b94a2: 6bdb ldr r3, [r3, #60] ; 0x3c 80b94a4: 681b ldr r3, [r3, #0] 80b94a6: 68fa ldr r2, [r7, #12] 80b94a8: 6bd2 ldr r2, [r2, #60] ; 0x3c 80b94aa: 6812 ldr r2, [r2, #0] 80b94ac: 6812 ldr r2, [r2, #0] 80b94ae: f022 01c0 bic.w r1, r2, #192 ; 0xc0 80b94b2: 68fa ldr r2, [r7, #12] 80b94b4: 6bd2 ldr r2, [r2, #60] ; 0x3c 80b94b6: 6892 ldr r2, [r2, #8] 80b94b8: 430a orrs r2, r1 80b94ba: 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) 80b94bc: 68fb ldr r3, [r7, #12] 80b94be: 6bd8 ldr r0, [r3, #60] ; 0x3c 80b94c0: 68b9 ldr r1, [r7, #8] 80b94c2: 68fb ldr r3, [r7, #12] 80b94c4: 681b ldr r3, [r3, #0] 80b94c6: 3380 adds r3, #128 ; 0x80 80b94c8: 461a mov r2, r3 80b94ca: 683b ldr r3, [r7, #0] 80b94cc: 025b lsls r3, r3, #9 80b94ce: 089b lsrs r3, r3, #2 80b94d0: f7fa ffd6 bl 80b4480 80b94d4: 4603 mov r3, r0 80b94d6: 2b00 cmp r3, #0 80b94d8: d01a beq.n 80b9510 { __HAL_SD_DISABLE_IT(hsd, (SDMMC_IT_DCRCFAIL | SDMMC_IT_DTIMEOUT | SDMMC_IT_TXUNDERR)); 80b94da: 68fb ldr r3, [r7, #12] 80b94dc: 681b ldr r3, [r3, #0] 80b94de: 68fa ldr r2, [r7, #12] 80b94e0: 6812 ldr r2, [r2, #0] 80b94e2: 6bd2 ldr r2, [r2, #60] ; 0x3c 80b94e4: f022 021a bic.w r2, r2, #26 80b94e8: 63da str r2, [r3, #60] ; 0x3c __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_FLAGS); 80b94ea: 68fb ldr r3, [r7, #12] 80b94ec: 681b ldr r3, [r3, #0] 80b94ee: 4a19 ldr r2, [pc, #100] ; (80b9554 ) 80b94f0: 639a str r2, [r3, #56] ; 0x38 hsd->ErrorCode |= HAL_SD_ERROR_DMA; 80b94f2: 68fb ldr r3, [r7, #12] 80b94f4: 6b9b ldr r3, [r3, #56] ; 0x38 80b94f6: f043 4280 orr.w r2, r3, #1073741824 ; 0x40000000 80b94fa: 68fb ldr r3, [r7, #12] 80b94fc: 639a str r2, [r3, #56] ; 0x38 hsd->State = HAL_SD_STATE_READY; 80b94fe: 68fb ldr r3, [r7, #12] 80b9500: 2201 movs r2, #1 80b9502: f883 2034 strb.w r2, [r3, #52] ; 0x34 hsd->Context = SD_CONTEXT_NONE; 80b9506: 68fb ldr r3, [r7, #12] 80b9508: 2200 movs r2, #0 80b950a: 631a str r2, [r3, #48] ; 0x30 return HAL_ERROR; 80b950c: 2301 movs r3, #1 80b950e: e018 b.n 80b9542 } else { /* Configure the SD DPSM (Data Path State Machine) */ config.DataTimeOut = SDMMC_DATATIMEOUT; 80b9510: f04f 33ff mov.w r3, #4294967295 80b9514: 613b str r3, [r7, #16] config.DataLength = BLOCKSIZE * NumberOfBlocks; 80b9516: 683b ldr r3, [r7, #0] 80b9518: 025b lsls r3, r3, #9 80b951a: 617b str r3, [r7, #20] config.DataBlockSize = SDMMC_DATABLOCK_SIZE_512B; 80b951c: 2390 movs r3, #144 ; 0x90 80b951e: 61bb str r3, [r7, #24] config.TransferDir = SDMMC_TRANSFER_DIR_TO_CARD; 80b9520: 2300 movs r3, #0 80b9522: 61fb str r3, [r7, #28] config.TransferMode = SDMMC_TRANSFER_MODE_BLOCK; 80b9524: 2300 movs r3, #0 80b9526: 623b str r3, [r7, #32] config.DPSM = SDMMC_DPSM_ENABLE; 80b9528: 2301 movs r3, #1 80b952a: 627b str r3, [r7, #36] ; 0x24 (void)SDMMC_ConfigData(hsd->Instance, &config); 80b952c: 68fb ldr r3, [r7, #12] 80b952e: 681b ldr r3, [r3, #0] 80b9530: f107 0210 add.w r2, r7, #16 80b9534: 4611 mov r1, r2 80b9536: 4618 mov r0, r3 80b9538: f004 f82c bl 80bd594 return HAL_OK; 80b953c: 2300 movs r3, #0 80b953e: e000 b.n 80b9542 } } else { return HAL_BUSY; 80b9540: 2302 movs r3, #2 } } 80b9542: 4618 mov r0, r3 80b9544: 3730 adds r7, #48 ; 0x30 80b9546: 46bd mov sp, r7 80b9548: bd80 pop {r7, pc} 80b954a: bf00 nop 80b954c: 080b9d6d .word 0x080b9d6d 80b9550: 080b9e09 .word 0x080b9e09 80b9554: 004005ff .word 0x004005ff 080b9558 : * @brief This function handles SD card interrupt request. * @param hsd: Pointer to SD handle * @retval None */ void HAL_SD_IRQHandler(SD_HandleTypeDef *hsd) { 80b9558: b580 push {r7, lr} 80b955a: b084 sub sp, #16 80b955c: af00 add r7, sp, #0 80b955e: 6078 str r0, [r7, #4] uint32_t errorstate; uint32_t context = hsd->Context; 80b9560: 687b ldr r3, [r7, #4] 80b9562: 6b1b ldr r3, [r3, #48] ; 0x30 80b9564: 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)) 80b9566: 687b ldr r3, [r7, #4] 80b9568: 681b ldr r3, [r3, #0] 80b956a: 6b5b ldr r3, [r3, #52] ; 0x34 80b956c: f403 4300 and.w r3, r3, #32768 ; 0x8000 80b9570: 2b00 cmp r3, #0 80b9572: d008 beq.n 80b9586 80b9574: 68fb ldr r3, [r7, #12] 80b9576: f003 0308 and.w r3, r3, #8 80b957a: 2b00 cmp r3, #0 80b957c: d003 beq.n 80b9586 { SD_Read_IT(hsd); 80b957e: 6878 ldr r0, [r7, #4] 80b9580: f000 fffc bl 80ba57c 80b9584: e153 b.n 80b982e } else if(__HAL_SD_GET_FLAG(hsd, SDMMC_FLAG_DATAEND) != RESET) 80b9586: 687b ldr r3, [r7, #4] 80b9588: 681b ldr r3, [r3, #0] 80b958a: 6b5b ldr r3, [r3, #52] ; 0x34 80b958c: f403 7380 and.w r3, r3, #256 ; 0x100 80b9590: 2b00 cmp r3, #0 80b9592: f000 808d beq.w 80b96b0 { __HAL_SD_CLEAR_FLAG(hsd, SDMMC_FLAG_DATAEND); 80b9596: 687b ldr r3, [r7, #4] 80b9598: 681b ldr r3, [r3, #0] 80b959a: f44f 7280 mov.w r2, #256 ; 0x100 80b959e: 639a str r2, [r3, #56] ; 0x38 __HAL_SD_DISABLE_IT(hsd, SDMMC_IT_DATAEND | SDMMC_IT_DCRCFAIL | SDMMC_IT_DTIMEOUT|\ 80b95a0: 687b ldr r3, [r7, #4] 80b95a2: 681a ldr r2, [r3, #0] 80b95a4: 687b ldr r3, [r7, #4] 80b95a6: 681b ldr r3, [r3, #0] 80b95a8: 6bd9 ldr r1, [r3, #60] ; 0x3c 80b95aa: 4ba3 ldr r3, [pc, #652] ; (80b9838 ) 80b95ac: 400b ands r3, r1 80b95ae: 63d3 str r3, [r2, #60] ; 0x3c SDMMC_IT_TXUNDERR | SDMMC_IT_RXOVERR | SDMMC_IT_TXFIFOHE |\ SDMMC_IT_RXFIFOHF); hsd->Instance->DCTRL &= ~(SDMMC_DCTRL_DTEN); 80b95b0: 687b ldr r3, [r7, #4] 80b95b2: 681b ldr r3, [r3, #0] 80b95b4: 687a ldr r2, [r7, #4] 80b95b6: 6812 ldr r2, [r2, #0] 80b95b8: 6ad2 ldr r2, [r2, #44] ; 0x2c 80b95ba: f022 0201 bic.w r2, r2, #1 80b95be: 62da str r2, [r3, #44] ; 0x2c if((context & SD_CONTEXT_IT) != 0U) 80b95c0: 68fb ldr r3, [r7, #12] 80b95c2: f003 0308 and.w r3, r3, #8 80b95c6: 2b00 cmp r3, #0 80b95c8: d039 beq.n 80b963e { if(((context & SD_CONTEXT_READ_MULTIPLE_BLOCK) != 0U) || ((context & SD_CONTEXT_WRITE_MULTIPLE_BLOCK) != 0U)) 80b95ca: 68fb ldr r3, [r7, #12] 80b95cc: f003 0302 and.w r3, r3, #2 80b95d0: 2b00 cmp r3, #0 80b95d2: d104 bne.n 80b95de 80b95d4: 68fb ldr r3, [r7, #12] 80b95d6: f003 0320 and.w r3, r3, #32 80b95da: 2b00 cmp r3, #0 80b95dc: d011 beq.n 80b9602 { errorstate = SDMMC_CmdStopTransfer(hsd->Instance); 80b95de: 687b ldr r3, [r7, #4] 80b95e0: 681b ldr r3, [r3, #0] 80b95e2: 4618 mov r0, r3 80b95e4: f004 f8ac bl 80bd740 80b95e8: 60b8 str r0, [r7, #8] if(errorstate != HAL_SD_ERROR_NONE) 80b95ea: 68bb ldr r3, [r7, #8] 80b95ec: 2b00 cmp r3, #0 80b95ee: d008 beq.n 80b9602 { hsd->ErrorCode |= errorstate; 80b95f0: 687b ldr r3, [r7, #4] 80b95f2: 6b9a ldr r2, [r3, #56] ; 0x38 80b95f4: 68bb ldr r3, [r7, #8] 80b95f6: 431a orrs r2, r3 80b95f8: 687b ldr r3, [r7, #4] 80b95fa: 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); 80b95fc: 6878 ldr r0, [r7, #4] 80b95fe: f000 f921 bl 80b9844 #endif /* USE_HAL_SD_REGISTER_CALLBACKS */ } } /* Clear all the static flags */ __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_DATA_FLAGS); 80b9602: 687b ldr r3, [r7, #4] 80b9604: 681b ldr r3, [r3, #0] 80b9606: f240 523a movw r2, #1338 ; 0x53a 80b960a: 639a str r2, [r3, #56] ; 0x38 hsd->State = HAL_SD_STATE_READY; 80b960c: 687b ldr r3, [r7, #4] 80b960e: 2201 movs r2, #1 80b9610: f883 2034 strb.w r2, [r3, #52] ; 0x34 hsd->Context = SD_CONTEXT_NONE; 80b9614: 687b ldr r3, [r7, #4] 80b9616: 2200 movs r2, #0 80b9618: 631a str r2, [r3, #48] ; 0x30 if(((context & SD_CONTEXT_READ_SINGLE_BLOCK) != 0U) || ((context & SD_CONTEXT_READ_MULTIPLE_BLOCK) != 0U)) 80b961a: 68fb ldr r3, [r7, #12] 80b961c: f003 0301 and.w r3, r3, #1 80b9620: 2b00 cmp r3, #0 80b9622: d104 bne.n 80b962e 80b9624: 68fb ldr r3, [r7, #12] 80b9626: f003 0302 and.w r3, r3, #2 80b962a: 2b00 cmp r3, #0 80b962c: d003 beq.n 80b9636 { #if defined (USE_HAL_SD_REGISTER_CALLBACKS) && (USE_HAL_SD_REGISTER_CALLBACKS == 1U) hsd->RxCpltCallback(hsd); #else HAL_SD_RxCpltCallback(hsd); 80b962e: 6878 ldr r0, [r7, #4] 80b9630: f006 f936 bl 80bf8a0 80b9634: e0fb b.n 80b982e else { #if defined (USE_HAL_SD_REGISTER_CALLBACKS) && (USE_HAL_SD_REGISTER_CALLBACKS == 1U) hsd->TxCpltCallback(hsd); #else HAL_SD_TxCpltCallback(hsd); 80b9636: 6878 ldr r0, [r7, #4] 80b9638: f006 f928 bl 80bf88c } else { /* Nothing to do */ } } 80b963c: e0f7 b.n 80b982e else if((context & SD_CONTEXT_DMA) != 0U) 80b963e: 68fb ldr r3, [r7, #12] 80b9640: f003 0380 and.w r3, r3, #128 ; 0x80 80b9644: 2b00 cmp r3, #0 80b9646: f000 80f2 beq.w 80b982e if((context & SD_CONTEXT_WRITE_MULTIPLE_BLOCK) != 0U) 80b964a: 68fb ldr r3, [r7, #12] 80b964c: f003 0320 and.w r3, r3, #32 80b9650: 2b00 cmp r3, #0 80b9652: d011 beq.n 80b9678 errorstate = SDMMC_CmdStopTransfer(hsd->Instance); 80b9654: 687b ldr r3, [r7, #4] 80b9656: 681b ldr r3, [r3, #0] 80b9658: 4618 mov r0, r3 80b965a: f004 f871 bl 80bd740 80b965e: 60b8 str r0, [r7, #8] if(errorstate != HAL_SD_ERROR_NONE) 80b9660: 68bb ldr r3, [r7, #8] 80b9662: 2b00 cmp r3, #0 80b9664: d008 beq.n 80b9678 hsd->ErrorCode |= errorstate; 80b9666: 687b ldr r3, [r7, #4] 80b9668: 6b9a ldr r2, [r3, #56] ; 0x38 80b966a: 68bb ldr r3, [r7, #8] 80b966c: 431a orrs r2, r3 80b966e: 687b ldr r3, [r7, #4] 80b9670: 639a str r2, [r3, #56] ; 0x38 HAL_SD_ErrorCallback(hsd); 80b9672: 6878 ldr r0, [r7, #4] 80b9674: f000 f8e6 bl 80b9844 if(((context & SD_CONTEXT_READ_SINGLE_BLOCK) == 0U) && ((context & SD_CONTEXT_READ_MULTIPLE_BLOCK) == 0U)) 80b9678: 68fb ldr r3, [r7, #12] 80b967a: f003 0301 and.w r3, r3, #1 80b967e: 2b00 cmp r3, #0 80b9680: f040 80d5 bne.w 80b982e 80b9684: 68fb ldr r3, [r7, #12] 80b9686: f003 0302 and.w r3, r3, #2 80b968a: 2b00 cmp r3, #0 80b968c: f040 80cf bne.w 80b982e hsd->Instance->DCTRL &= (uint32_t)~((uint32_t)SDMMC_DCTRL_DMAEN); 80b9690: 687b ldr r3, [r7, #4] 80b9692: 681b ldr r3, [r3, #0] 80b9694: 687a ldr r2, [r7, #4] 80b9696: 6812 ldr r2, [r2, #0] 80b9698: 6ad2 ldr r2, [r2, #44] ; 0x2c 80b969a: f022 0208 bic.w r2, r2, #8 80b969e: 62da str r2, [r3, #44] ; 0x2c hsd->State = HAL_SD_STATE_READY; 80b96a0: 687b ldr r3, [r7, #4] 80b96a2: 2201 movs r2, #1 80b96a4: f883 2034 strb.w r2, [r3, #52] ; 0x34 HAL_SD_TxCpltCallback(hsd); 80b96a8: 6878 ldr r0, [r7, #4] 80b96aa: f006 f8ef bl 80bf88c } 80b96ae: e0be b.n 80b982e else if((__HAL_SD_GET_FLAG(hsd, SDMMC_FLAG_TXFIFOHE) != RESET) && ((context & SD_CONTEXT_IT) != 0U)) 80b96b0: 687b ldr r3, [r7, #4] 80b96b2: 681b ldr r3, [r3, #0] 80b96b4: 6b5b ldr r3, [r3, #52] ; 0x34 80b96b6: f403 4380 and.w r3, r3, #16384 ; 0x4000 80b96ba: 2b00 cmp r3, #0 80b96bc: d008 beq.n 80b96d0 80b96be: 68fb ldr r3, [r7, #12] 80b96c0: f003 0308 and.w r3, r3, #8 80b96c4: 2b00 cmp r3, #0 80b96c6: d003 beq.n 80b96d0 SD_Write_IT(hsd); 80b96c8: 6878 ldr r0, [r7, #4] 80b96ca: f000 ffa8 bl 80ba61e 80b96ce: e0ae b.n 80b982e else if(__HAL_SD_GET_FLAG(hsd, SDMMC_FLAG_DCRCFAIL | SDMMC_FLAG_DTIMEOUT | SDMMC_FLAG_RXOVERR | SDMMC_FLAG_TXUNDERR) != RESET) 80b96d0: 687b ldr r3, [r7, #4] 80b96d2: 681b ldr r3, [r3, #0] 80b96d4: 6b5b ldr r3, [r3, #52] ; 0x34 80b96d6: f003 033a and.w r3, r3, #58 ; 0x3a 80b96da: 2b00 cmp r3, #0 80b96dc: f000 80a7 beq.w 80b982e if(__HAL_SD_GET_FLAG(hsd, SDMMC_FLAG_DCRCFAIL) != RESET) 80b96e0: 687b ldr r3, [r7, #4] 80b96e2: 681b ldr r3, [r3, #0] 80b96e4: 6b5b ldr r3, [r3, #52] ; 0x34 80b96e6: f003 0302 and.w r3, r3, #2 80b96ea: 2b00 cmp r3, #0 80b96ec: d005 beq.n 80b96fa hsd->ErrorCode |= HAL_SD_ERROR_DATA_CRC_FAIL; 80b96ee: 687b ldr r3, [r7, #4] 80b96f0: 6b9b ldr r3, [r3, #56] ; 0x38 80b96f2: f043 0202 orr.w r2, r3, #2 80b96f6: 687b ldr r3, [r7, #4] 80b96f8: 639a str r2, [r3, #56] ; 0x38 if(__HAL_SD_GET_FLAG(hsd, SDMMC_FLAG_DTIMEOUT) != RESET) 80b96fa: 687b ldr r3, [r7, #4] 80b96fc: 681b ldr r3, [r3, #0] 80b96fe: 6b5b ldr r3, [r3, #52] ; 0x34 80b9700: f003 0308 and.w r3, r3, #8 80b9704: 2b00 cmp r3, #0 80b9706: d005 beq.n 80b9714 hsd->ErrorCode |= HAL_SD_ERROR_DATA_TIMEOUT; 80b9708: 687b ldr r3, [r7, #4] 80b970a: 6b9b ldr r3, [r3, #56] ; 0x38 80b970c: f043 0208 orr.w r2, r3, #8 80b9710: 687b ldr r3, [r7, #4] 80b9712: 639a str r2, [r3, #56] ; 0x38 if(__HAL_SD_GET_FLAG(hsd, SDMMC_FLAG_RXOVERR) != RESET) 80b9714: 687b ldr r3, [r7, #4] 80b9716: 681b ldr r3, [r3, #0] 80b9718: 6b5b ldr r3, [r3, #52] ; 0x34 80b971a: f003 0320 and.w r3, r3, #32 80b971e: 2b00 cmp r3, #0 80b9720: d005 beq.n 80b972e hsd->ErrorCode |= HAL_SD_ERROR_RX_OVERRUN; 80b9722: 687b ldr r3, [r7, #4] 80b9724: 6b9b ldr r3, [r3, #56] ; 0x38 80b9726: f043 0220 orr.w r2, r3, #32 80b972a: 687b ldr r3, [r7, #4] 80b972c: 639a str r2, [r3, #56] ; 0x38 if(__HAL_SD_GET_FLAG(hsd, SDMMC_FLAG_TXUNDERR) != RESET) 80b972e: 687b ldr r3, [r7, #4] 80b9730: 681b ldr r3, [r3, #0] 80b9732: 6b5b ldr r3, [r3, #52] ; 0x34 80b9734: f003 0310 and.w r3, r3, #16 80b9738: 2b00 cmp r3, #0 80b973a: d005 beq.n 80b9748 hsd->ErrorCode |= HAL_SD_ERROR_TX_UNDERRUN; 80b973c: 687b ldr r3, [r7, #4] 80b973e: 6b9b ldr r3, [r3, #56] ; 0x38 80b9740: f043 0210 orr.w r2, r3, #16 80b9744: 687b ldr r3, [r7, #4] 80b9746: 639a str r2, [r3, #56] ; 0x38 __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_DATA_FLAGS); 80b9748: 687b ldr r3, [r7, #4] 80b974a: 681b ldr r3, [r3, #0] 80b974c: f240 523a movw r2, #1338 ; 0x53a 80b9750: 639a str r2, [r3, #56] ; 0x38 __HAL_SD_DISABLE_IT(hsd, SDMMC_IT_DATAEND | SDMMC_IT_DCRCFAIL | SDMMC_IT_DTIMEOUT|\ 80b9752: 687b ldr r3, [r7, #4] 80b9754: 681b ldr r3, [r3, #0] 80b9756: 687a ldr r2, [r7, #4] 80b9758: 6812 ldr r2, [r2, #0] 80b975a: 6bd2 ldr r2, [r2, #60] ; 0x3c 80b975c: f422 729d bic.w r2, r2, #314 ; 0x13a 80b9760: 63da str r2, [r3, #60] ; 0x3c hsd->ErrorCode |= SDMMC_CmdStopTransfer(hsd->Instance); 80b9762: 687b ldr r3, [r7, #4] 80b9764: 681b ldr r3, [r3, #0] 80b9766: 4618 mov r0, r3 80b9768: f003 ffea bl 80bd740 80b976c: 4602 mov r2, r0 80b976e: 687b ldr r3, [r7, #4] 80b9770: 6b9b ldr r3, [r3, #56] ; 0x38 80b9772: 431a orrs r2, r3 80b9774: 687b ldr r3, [r7, #4] 80b9776: 639a str r2, [r3, #56] ; 0x38 if((context & SD_CONTEXT_IT) != 0U) 80b9778: 68fb ldr r3, [r7, #12] 80b977a: f003 0308 and.w r3, r3, #8 80b977e: 2b00 cmp r3, #0 80b9780: d00a beq.n 80b9798 hsd->State = HAL_SD_STATE_READY; 80b9782: 687b ldr r3, [r7, #4] 80b9784: 2201 movs r2, #1 80b9786: f883 2034 strb.w r2, [r3, #52] ; 0x34 hsd->Context = SD_CONTEXT_NONE; 80b978a: 687b ldr r3, [r7, #4] 80b978c: 2200 movs r2, #0 80b978e: 631a str r2, [r3, #48] ; 0x30 HAL_SD_ErrorCallback(hsd); 80b9790: 6878 ldr r0, [r7, #4] 80b9792: f000 f857 bl 80b9844 } 80b9796: e04a b.n 80b982e else if((context & SD_CONTEXT_DMA) != 0U) 80b9798: 68fb ldr r3, [r7, #12] 80b979a: f003 0380 and.w r3, r3, #128 ; 0x80 80b979e: 2b00 cmp r3, #0 80b97a0: d045 beq.n 80b982e if(((context & SD_CONTEXT_WRITE_SINGLE_BLOCK) != 0U) || ((context & SD_CONTEXT_WRITE_MULTIPLE_BLOCK) != 0U)) 80b97a2: 68fb ldr r3, [r7, #12] 80b97a4: f003 0310 and.w r3, r3, #16 80b97a8: 2b00 cmp r3, #0 80b97aa: d104 bne.n 80b97b6 80b97ac: 68fb ldr r3, [r7, #12] 80b97ae: f003 0320 and.w r3, r3, #32 80b97b2: 2b00 cmp r3, #0 80b97b4: d011 beq.n 80b97da hsd->hdmatx->XferAbortCallback = SD_DMATxAbort; 80b97b6: 687b ldr r3, [r7, #4] 80b97b8: 6bdb ldr r3, [r3, #60] ; 0x3c 80b97ba: 4a20 ldr r2, [pc, #128] ; (80b983c ) 80b97bc: 651a str r2, [r3, #80] ; 0x50 if(HAL_DMA_Abort_IT(hsd->hdmatx) != HAL_OK) 80b97be: 687b ldr r3, [r7, #4] 80b97c0: 6bdb ldr r3, [r3, #60] ; 0x3c 80b97c2: 4618 mov r0, r3 80b97c4: f7fa ff2c bl 80b4620 80b97c8: 4603 mov r3, r0 80b97ca: 2b00 cmp r3, #0 80b97cc: d02f beq.n 80b982e SD_DMATxAbort(hsd->hdmatx); 80b97ce: 687b ldr r3, [r7, #4] 80b97d0: 6bdb ldr r3, [r3, #60] ; 0x3c 80b97d2: 4618 mov r0, r3 80b97d4: f000 fb6a bl 80b9eac if(HAL_DMA_Abort_IT(hsd->hdmatx) != HAL_OK) 80b97d8: e029 b.n 80b982e else if(((context & SD_CONTEXT_READ_SINGLE_BLOCK) != 0U) || ((context & SD_CONTEXT_READ_MULTIPLE_BLOCK) != 0U)) 80b97da: 68fb ldr r3, [r7, #12] 80b97dc: f003 0301 and.w r3, r3, #1 80b97e0: 2b00 cmp r3, #0 80b97e2: d104 bne.n 80b97ee 80b97e4: 68fb ldr r3, [r7, #12] 80b97e6: f003 0302 and.w r3, r3, #2 80b97ea: 2b00 cmp r3, #0 80b97ec: d011 beq.n 80b9812 hsd->hdmarx->XferAbortCallback = SD_DMARxAbort; 80b97ee: 687b ldr r3, [r7, #4] 80b97f0: 6c1b ldr r3, [r3, #64] ; 0x40 80b97f2: 4a13 ldr r2, [pc, #76] ; (80b9840 ) 80b97f4: 651a str r2, [r3, #80] ; 0x50 if(HAL_DMA_Abort_IT(hsd->hdmarx) != HAL_OK) 80b97f6: 687b ldr r3, [r7, #4] 80b97f8: 6c1b ldr r3, [r3, #64] ; 0x40 80b97fa: 4618 mov r0, r3 80b97fc: f7fa ff10 bl 80b4620 80b9800: 4603 mov r3, r0 80b9802: 2b00 cmp r3, #0 80b9804: d013 beq.n 80b982e SD_DMARxAbort(hsd->hdmarx); 80b9806: 687b ldr r3, [r7, #4] 80b9808: 6c1b ldr r3, [r3, #64] ; 0x40 80b980a: 4618 mov r0, r3 80b980c: f000 fb85 bl 80b9f1a if(HAL_DMA_Abort_IT(hsd->hdmarx) != HAL_OK) 80b9810: e00d b.n 80b982e hsd->ErrorCode = HAL_SD_ERROR_NONE; 80b9812: 687b ldr r3, [r7, #4] 80b9814: 2200 movs r2, #0 80b9816: 639a str r2, [r3, #56] ; 0x38 hsd->State = HAL_SD_STATE_READY; 80b9818: 687b ldr r3, [r7, #4] 80b981a: 2201 movs r2, #1 80b981c: f883 2034 strb.w r2, [r3, #52] ; 0x34 hsd->Context = SD_CONTEXT_NONE; 80b9820: 687b ldr r3, [r7, #4] 80b9822: 2200 movs r2, #0 80b9824: 631a str r2, [r3, #48] ; 0x30 HAL_SD_AbortCallback(hsd); 80b9826: 6878 ldr r0, [r7, #4] 80b9828: f006 f826 bl 80bf878 } 80b982c: e7ff b.n 80b982e 80b982e: bf00 nop 80b9830: 3710 adds r7, #16 80b9832: 46bd mov sp, r7 80b9834: bd80 pop {r7, pc} 80b9836: bf00 nop 80b9838: ffff3ec5 .word 0xffff3ec5 80b983c: 080b9ead .word 0x080b9ead 80b9840: 080b9f1b .word 0x080b9f1b 080b9844 : * @brief SD error callbacks * @param hsd: Pointer SD handle * @retval None */ __weak void HAL_SD_ErrorCallback(SD_HandleTypeDef *hsd) { 80b9844: b480 push {r7} 80b9846: b083 sub sp, #12 80b9848: af00 add r7, sp, #0 80b984a: 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 */ } 80b984c: bf00 nop 80b984e: 370c adds r7, #12 80b9850: 46bd mov sp, r7 80b9852: f85d 7b04 ldr.w r7, [sp], #4 80b9856: 4770 bx lr 080b9858 : * @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) { 80b9858: b480 push {r7} 80b985a: b083 sub sp, #12 80b985c: af00 add r7, sp, #0 80b985e: 6078 str r0, [r7, #4] 80b9860: 6039 str r1, [r7, #0] pCSD->CSDStruct = (uint8_t)((hsd->CSD[0] & 0xC0000000U) >> 30U); 80b9862: 687b ldr r3, [r7, #4] 80b9864: 6e5b ldr r3, [r3, #100] ; 0x64 80b9866: 0f9b lsrs r3, r3, #30 80b9868: b2da uxtb r2, r3 80b986a: 683b ldr r3, [r7, #0] 80b986c: 701a strb r2, [r3, #0] pCSD->SysSpecVersion = (uint8_t)((hsd->CSD[0] & 0x3C000000U) >> 26U); 80b986e: 687b ldr r3, [r7, #4] 80b9870: 6e5b ldr r3, [r3, #100] ; 0x64 80b9872: 0e9b lsrs r3, r3, #26 80b9874: b2db uxtb r3, r3 80b9876: f003 030f and.w r3, r3, #15 80b987a: b2da uxtb r2, r3 80b987c: 683b ldr r3, [r7, #0] 80b987e: 705a strb r2, [r3, #1] pCSD->Reserved1 = (uint8_t)((hsd->CSD[0] & 0x03000000U) >> 24U); 80b9880: 687b ldr r3, [r7, #4] 80b9882: 6e5b ldr r3, [r3, #100] ; 0x64 80b9884: 0e1b lsrs r3, r3, #24 80b9886: b2db uxtb r3, r3 80b9888: f003 0303 and.w r3, r3, #3 80b988c: b2da uxtb r2, r3 80b988e: 683b ldr r3, [r7, #0] 80b9890: 709a strb r2, [r3, #2] pCSD->TAAC = (uint8_t)((hsd->CSD[0] & 0x00FF0000U) >> 16U); 80b9892: 687b ldr r3, [r7, #4] 80b9894: 6e5b ldr r3, [r3, #100] ; 0x64 80b9896: 0c1b lsrs r3, r3, #16 80b9898: b2da uxtb r2, r3 80b989a: 683b ldr r3, [r7, #0] 80b989c: 70da strb r2, [r3, #3] pCSD->NSAC = (uint8_t)((hsd->CSD[0] & 0x0000FF00U) >> 8U); 80b989e: 687b ldr r3, [r7, #4] 80b98a0: 6e5b ldr r3, [r3, #100] ; 0x64 80b98a2: 0a1b lsrs r3, r3, #8 80b98a4: b2da uxtb r2, r3 80b98a6: 683b ldr r3, [r7, #0] 80b98a8: 711a strb r2, [r3, #4] pCSD->MaxBusClkFrec = (uint8_t)(hsd->CSD[0] & 0x000000FFU); 80b98aa: 687b ldr r3, [r7, #4] 80b98ac: 6e5b ldr r3, [r3, #100] ; 0x64 80b98ae: b2da uxtb r2, r3 80b98b0: 683b ldr r3, [r7, #0] 80b98b2: 715a strb r2, [r3, #5] pCSD->CardComdClasses = (uint16_t)((hsd->CSD[1] & 0xFFF00000U) >> 20U); 80b98b4: 687b ldr r3, [r7, #4] 80b98b6: 6e9b ldr r3, [r3, #104] ; 0x68 80b98b8: 0d1b lsrs r3, r3, #20 80b98ba: b29a uxth r2, r3 80b98bc: 683b ldr r3, [r7, #0] 80b98be: 80da strh r2, [r3, #6] pCSD->RdBlockLen = (uint8_t)((hsd->CSD[1] & 0x000F0000U) >> 16U); 80b98c0: 687b ldr r3, [r7, #4] 80b98c2: 6e9b ldr r3, [r3, #104] ; 0x68 80b98c4: 0c1b lsrs r3, r3, #16 80b98c6: b2db uxtb r3, r3 80b98c8: f003 030f and.w r3, r3, #15 80b98cc: b2da uxtb r2, r3 80b98ce: 683b ldr r3, [r7, #0] 80b98d0: 721a strb r2, [r3, #8] pCSD->PartBlockRead = (uint8_t)((hsd->CSD[1] & 0x00008000U) >> 15U); 80b98d2: 687b ldr r3, [r7, #4] 80b98d4: 6e9b ldr r3, [r3, #104] ; 0x68 80b98d6: 0bdb lsrs r3, r3, #15 80b98d8: b2db uxtb r3, r3 80b98da: f003 0301 and.w r3, r3, #1 80b98de: b2da uxtb r2, r3 80b98e0: 683b ldr r3, [r7, #0] 80b98e2: 725a strb r2, [r3, #9] pCSD->WrBlockMisalign = (uint8_t)((hsd->CSD[1] & 0x00004000U) >> 14U); 80b98e4: 687b ldr r3, [r7, #4] 80b98e6: 6e9b ldr r3, [r3, #104] ; 0x68 80b98e8: 0b9b lsrs r3, r3, #14 80b98ea: b2db uxtb r3, r3 80b98ec: f003 0301 and.w r3, r3, #1 80b98f0: b2da uxtb r2, r3 80b98f2: 683b ldr r3, [r7, #0] 80b98f4: 729a strb r2, [r3, #10] pCSD->RdBlockMisalign = (uint8_t)((hsd->CSD[1] & 0x00002000U) >> 13U); 80b98f6: 687b ldr r3, [r7, #4] 80b98f8: 6e9b ldr r3, [r3, #104] ; 0x68 80b98fa: 0b5b lsrs r3, r3, #13 80b98fc: b2db uxtb r3, r3 80b98fe: f003 0301 and.w r3, r3, #1 80b9902: b2da uxtb r2, r3 80b9904: 683b ldr r3, [r7, #0] 80b9906: 72da strb r2, [r3, #11] pCSD->DSRImpl = (uint8_t)((hsd->CSD[1] & 0x00001000U) >> 12U); 80b9908: 687b ldr r3, [r7, #4] 80b990a: 6e9b ldr r3, [r3, #104] ; 0x68 80b990c: 0b1b lsrs r3, r3, #12 80b990e: b2db uxtb r3, r3 80b9910: f003 0301 and.w r3, r3, #1 80b9914: b2da uxtb r2, r3 80b9916: 683b ldr r3, [r7, #0] 80b9918: 731a strb r2, [r3, #12] pCSD->Reserved2 = 0U; /*!< Reserved */ 80b991a: 683b ldr r3, [r7, #0] 80b991c: 2200 movs r2, #0 80b991e: 735a strb r2, [r3, #13] if(hsd->SdCard.CardType == CARD_SDSC) 80b9920: 687b ldr r3, [r7, #4] 80b9922: 6c5b ldr r3, [r3, #68] ; 0x44 80b9924: 2b00 cmp r3, #0 80b9926: d162 bne.n 80b99ee { pCSD->DeviceSize = (((hsd->CSD[1] & 0x000003FFU) << 2U) | ((hsd->CSD[2] & 0xC0000000U) >> 30U)); 80b9928: 687b ldr r3, [r7, #4] 80b992a: 6e9b ldr r3, [r3, #104] ; 0x68 80b992c: 009a lsls r2, r3, #2 80b992e: f640 73fc movw r3, #4092 ; 0xffc 80b9932: 4013 ands r3, r2 80b9934: 687a ldr r2, [r7, #4] 80b9936: 6ed2 ldr r2, [r2, #108] ; 0x6c 80b9938: 0f92 lsrs r2, r2, #30 80b993a: 431a orrs r2, r3 80b993c: 683b ldr r3, [r7, #0] 80b993e: 611a str r2, [r3, #16] pCSD->MaxRdCurrentVDDMin = (uint8_t)((hsd->CSD[2] & 0x38000000U) >> 27U); 80b9940: 687b ldr r3, [r7, #4] 80b9942: 6edb ldr r3, [r3, #108] ; 0x6c 80b9944: 0edb lsrs r3, r3, #27 80b9946: b2db uxtb r3, r3 80b9948: f003 0307 and.w r3, r3, #7 80b994c: b2da uxtb r2, r3 80b994e: 683b ldr r3, [r7, #0] 80b9950: 751a strb r2, [r3, #20] pCSD->MaxRdCurrentVDDMax = (uint8_t)((hsd->CSD[2] & 0x07000000U) >> 24U); 80b9952: 687b ldr r3, [r7, #4] 80b9954: 6edb ldr r3, [r3, #108] ; 0x6c 80b9956: 0e1b lsrs r3, r3, #24 80b9958: b2db uxtb r3, r3 80b995a: f003 0307 and.w r3, r3, #7 80b995e: b2da uxtb r2, r3 80b9960: 683b ldr r3, [r7, #0] 80b9962: 755a strb r2, [r3, #21] pCSD->MaxWrCurrentVDDMin = (uint8_t)((hsd->CSD[2] & 0x00E00000U) >> 21U); 80b9964: 687b ldr r3, [r7, #4] 80b9966: 6edb ldr r3, [r3, #108] ; 0x6c 80b9968: 0d5b lsrs r3, r3, #21 80b996a: b2db uxtb r3, r3 80b996c: f003 0307 and.w r3, r3, #7 80b9970: b2da uxtb r2, r3 80b9972: 683b ldr r3, [r7, #0] 80b9974: 759a strb r2, [r3, #22] pCSD->MaxWrCurrentVDDMax = (uint8_t)((hsd->CSD[2] & 0x001C0000U) >> 18U); 80b9976: 687b ldr r3, [r7, #4] 80b9978: 6edb ldr r3, [r3, #108] ; 0x6c 80b997a: 0c9b lsrs r3, r3, #18 80b997c: b2db uxtb r3, r3 80b997e: f003 0307 and.w r3, r3, #7 80b9982: b2da uxtb r2, r3 80b9984: 683b ldr r3, [r7, #0] 80b9986: 75da strb r2, [r3, #23] pCSD->DeviceSizeMul = (uint8_t)((hsd->CSD[2] & 0x00038000U) >> 15U); 80b9988: 687b ldr r3, [r7, #4] 80b998a: 6edb ldr r3, [r3, #108] ; 0x6c 80b998c: 0bdb lsrs r3, r3, #15 80b998e: b2db uxtb r3, r3 80b9990: f003 0307 and.w r3, r3, #7 80b9994: b2da uxtb r2, r3 80b9996: 683b ldr r3, [r7, #0] 80b9998: 761a strb r2, [r3, #24] hsd->SdCard.BlockNbr = (pCSD->DeviceSize + 1U) ; 80b999a: 683b ldr r3, [r7, #0] 80b999c: 691b ldr r3, [r3, #16] 80b999e: 1c5a adds r2, r3, #1 80b99a0: 687b ldr r3, [r7, #4] 80b99a2: 655a str r2, [r3, #84] ; 0x54 hsd->SdCard.BlockNbr *= (1UL << ((pCSD->DeviceSizeMul & 0x07U) + 2U)); 80b99a4: 683b ldr r3, [r7, #0] 80b99a6: 7e1b ldrb r3, [r3, #24] 80b99a8: b2db uxtb r3, r3 80b99aa: f003 0307 and.w r3, r3, #7 80b99ae: 3302 adds r3, #2 80b99b0: 2201 movs r2, #1 80b99b2: 409a lsls r2, r3 80b99b4: 687b ldr r3, [r7, #4] 80b99b6: 6d5b ldr r3, [r3, #84] ; 0x54 80b99b8: fb02 f203 mul.w r2, r2, r3 80b99bc: 687b ldr r3, [r7, #4] 80b99be: 655a str r2, [r3, #84] ; 0x54 hsd->SdCard.BlockSize = (1UL << (pCSD->RdBlockLen & 0x0FU)); 80b99c0: 683b ldr r3, [r7, #0] 80b99c2: 7a1b ldrb r3, [r3, #8] 80b99c4: b2db uxtb r3, r3 80b99c6: f003 030f and.w r3, r3, #15 80b99ca: 2201 movs r2, #1 80b99cc: 409a lsls r2, r3 80b99ce: 687b ldr r3, [r7, #4] 80b99d0: 659a str r2, [r3, #88] ; 0x58 hsd->SdCard.LogBlockNbr = (hsd->SdCard.BlockNbr) * ((hsd->SdCard.BlockSize) / 512U); 80b99d2: 687b ldr r3, [r7, #4] 80b99d4: 6d5b ldr r3, [r3, #84] ; 0x54 80b99d6: 687a ldr r2, [r7, #4] 80b99d8: 6d92 ldr r2, [r2, #88] ; 0x58 80b99da: 0a52 lsrs r2, r2, #9 80b99dc: fb02 f203 mul.w r2, r2, r3 80b99e0: 687b ldr r3, [r7, #4] 80b99e2: 65da str r2, [r3, #92] ; 0x5c hsd->SdCard.LogBlockSize = 512U; 80b99e4: 687b ldr r3, [r7, #4] 80b99e6: f44f 7200 mov.w r2, #512 ; 0x200 80b99ea: 661a str r2, [r3, #96] ; 0x60 80b99ec: e031 b.n 80b9a52 } else if(hsd->SdCard.CardType == CARD_SDHC_SDXC) 80b99ee: 687b ldr r3, [r7, #4] 80b99f0: 6c5b ldr r3, [r3, #68] ; 0x44 80b99f2: 2b01 cmp r3, #1 80b99f4: d11d bne.n 80b9a32 { /* Byte 7 */ pCSD->DeviceSize = (((hsd->CSD[1] & 0x0000003FU) << 16U) | ((hsd->CSD[2] & 0xFFFF0000U) >> 16U)); 80b99f6: 687b ldr r3, [r7, #4] 80b99f8: 6e9b ldr r3, [r3, #104] ; 0x68 80b99fa: 041b lsls r3, r3, #16 80b99fc: f403 127c and.w r2, r3, #4128768 ; 0x3f0000 80b9a00: 687b ldr r3, [r7, #4] 80b9a02: 6edb ldr r3, [r3, #108] ; 0x6c 80b9a04: 0c1b lsrs r3, r3, #16 80b9a06: 431a orrs r2, r3 80b9a08: 683b ldr r3, [r7, #0] 80b9a0a: 611a str r2, [r3, #16] hsd->SdCard.BlockNbr = ((pCSD->DeviceSize + 1U) * 1024U); 80b9a0c: 683b ldr r3, [r7, #0] 80b9a0e: 691b ldr r3, [r3, #16] 80b9a10: 3301 adds r3, #1 80b9a12: 029a lsls r2, r3, #10 80b9a14: 687b ldr r3, [r7, #4] 80b9a16: 655a str r2, [r3, #84] ; 0x54 hsd->SdCard.LogBlockNbr = hsd->SdCard.BlockNbr; 80b9a18: 687b ldr r3, [r7, #4] 80b9a1a: 6d5a ldr r2, [r3, #84] ; 0x54 80b9a1c: 687b ldr r3, [r7, #4] 80b9a1e: 65da str r2, [r3, #92] ; 0x5c hsd->SdCard.BlockSize = 512U; 80b9a20: 687b ldr r3, [r7, #4] 80b9a22: f44f 7200 mov.w r2, #512 ; 0x200 80b9a26: 659a str r2, [r3, #88] ; 0x58 hsd->SdCard.LogBlockSize = hsd->SdCard.BlockSize; 80b9a28: 687b ldr r3, [r7, #4] 80b9a2a: 6d9a ldr r2, [r3, #88] ; 0x58 80b9a2c: 687b ldr r3, [r7, #4] 80b9a2e: 661a str r2, [r3, #96] ; 0x60 80b9a30: e00f b.n 80b9a52 } else { /* Clear all the static flags */ __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_FLAGS); 80b9a32: 687b ldr r3, [r7, #4] 80b9a34: 681b ldr r3, [r3, #0] 80b9a36: 4a59 ldr r2, [pc, #356] ; (80b9b9c ) 80b9a38: 639a str r2, [r3, #56] ; 0x38 hsd->ErrorCode |= HAL_SD_ERROR_UNSUPPORTED_FEATURE; 80b9a3a: 687b ldr r3, [r7, #4] 80b9a3c: 6b9b ldr r3, [r3, #56] ; 0x38 80b9a3e: f043 5280 orr.w r2, r3, #268435456 ; 0x10000000 80b9a42: 687b ldr r3, [r7, #4] 80b9a44: 639a str r2, [r3, #56] ; 0x38 hsd->State = HAL_SD_STATE_READY; 80b9a46: 687b ldr r3, [r7, #4] 80b9a48: 2201 movs r2, #1 80b9a4a: f883 2034 strb.w r2, [r3, #52] ; 0x34 return HAL_ERROR; 80b9a4e: 2301 movs r3, #1 80b9a50: e09d b.n 80b9b8e } pCSD->EraseGrSize = (uint8_t)((hsd->CSD[2] & 0x00004000U) >> 14U); 80b9a52: 687b ldr r3, [r7, #4] 80b9a54: 6edb ldr r3, [r3, #108] ; 0x6c 80b9a56: 0b9b lsrs r3, r3, #14 80b9a58: b2db uxtb r3, r3 80b9a5a: f003 0301 and.w r3, r3, #1 80b9a5e: b2da uxtb r2, r3 80b9a60: 683b ldr r3, [r7, #0] 80b9a62: 765a strb r2, [r3, #25] pCSD->EraseGrMul = (uint8_t)((hsd->CSD[2] & 0x00003F80U) >> 7U); 80b9a64: 687b ldr r3, [r7, #4] 80b9a66: 6edb ldr r3, [r3, #108] ; 0x6c 80b9a68: 09db lsrs r3, r3, #7 80b9a6a: b2db uxtb r3, r3 80b9a6c: f003 037f and.w r3, r3, #127 ; 0x7f 80b9a70: b2da uxtb r2, r3 80b9a72: 683b ldr r3, [r7, #0] 80b9a74: 769a strb r2, [r3, #26] pCSD->WrProtectGrSize = (uint8_t)(hsd->CSD[2] & 0x0000007FU); 80b9a76: 687b ldr r3, [r7, #4] 80b9a78: 6edb ldr r3, [r3, #108] ; 0x6c 80b9a7a: b2db uxtb r3, r3 80b9a7c: f003 037f and.w r3, r3, #127 ; 0x7f 80b9a80: b2da uxtb r2, r3 80b9a82: 683b ldr r3, [r7, #0] 80b9a84: 76da strb r2, [r3, #27] pCSD->WrProtectGrEnable = (uint8_t)((hsd->CSD[3] & 0x80000000U) >> 31U); 80b9a86: 687b ldr r3, [r7, #4] 80b9a88: 6f1b ldr r3, [r3, #112] ; 0x70 80b9a8a: 0fdb lsrs r3, r3, #31 80b9a8c: b2da uxtb r2, r3 80b9a8e: 683b ldr r3, [r7, #0] 80b9a90: 771a strb r2, [r3, #28] pCSD->ManDeflECC = (uint8_t)((hsd->CSD[3] & 0x60000000U) >> 29U); 80b9a92: 687b ldr r3, [r7, #4] 80b9a94: 6f1b ldr r3, [r3, #112] ; 0x70 80b9a96: 0f5b lsrs r3, r3, #29 80b9a98: b2db uxtb r3, r3 80b9a9a: f003 0303 and.w r3, r3, #3 80b9a9e: b2da uxtb r2, r3 80b9aa0: 683b ldr r3, [r7, #0] 80b9aa2: 775a strb r2, [r3, #29] pCSD->WrSpeedFact = (uint8_t)((hsd->CSD[3] & 0x1C000000U) >> 26U); 80b9aa4: 687b ldr r3, [r7, #4] 80b9aa6: 6f1b ldr r3, [r3, #112] ; 0x70 80b9aa8: 0e9b lsrs r3, r3, #26 80b9aaa: b2db uxtb r3, r3 80b9aac: f003 0307 and.w r3, r3, #7 80b9ab0: b2da uxtb r2, r3 80b9ab2: 683b ldr r3, [r7, #0] 80b9ab4: 779a strb r2, [r3, #30] pCSD->MaxWrBlockLen= (uint8_t)((hsd->CSD[3] & 0x03C00000U) >> 22U); 80b9ab6: 687b ldr r3, [r7, #4] 80b9ab8: 6f1b ldr r3, [r3, #112] ; 0x70 80b9aba: 0d9b lsrs r3, r3, #22 80b9abc: b2db uxtb r3, r3 80b9abe: f003 030f and.w r3, r3, #15 80b9ac2: b2da uxtb r2, r3 80b9ac4: 683b ldr r3, [r7, #0] 80b9ac6: 77da strb r2, [r3, #31] pCSD->WriteBlockPaPartial = (uint8_t)((hsd->CSD[3] & 0x00200000U) >> 21U); 80b9ac8: 687b ldr r3, [r7, #4] 80b9aca: 6f1b ldr r3, [r3, #112] ; 0x70 80b9acc: 0d5b lsrs r3, r3, #21 80b9ace: b2db uxtb r3, r3 80b9ad0: f003 0301 and.w r3, r3, #1 80b9ad4: b2da uxtb r2, r3 80b9ad6: 683b ldr r3, [r7, #0] 80b9ad8: f883 2020 strb.w r2, [r3, #32] pCSD->Reserved3 = 0; 80b9adc: 683b ldr r3, [r7, #0] 80b9ade: 2200 movs r2, #0 80b9ae0: f883 2021 strb.w r2, [r3, #33] ; 0x21 pCSD->ContentProtectAppli = (uint8_t)((hsd->CSD[3] & 0x00010000U) >> 16U); 80b9ae4: 687b ldr r3, [r7, #4] 80b9ae6: 6f1b ldr r3, [r3, #112] ; 0x70 80b9ae8: 0c1b lsrs r3, r3, #16 80b9aea: b2db uxtb r3, r3 80b9aec: f003 0301 and.w r3, r3, #1 80b9af0: b2da uxtb r2, r3 80b9af2: 683b ldr r3, [r7, #0] 80b9af4: f883 2022 strb.w r2, [r3, #34] ; 0x22 pCSD->FileFormatGroup = (uint8_t)((hsd->CSD[3] & 0x00008000U) >> 15U); 80b9af8: 687b ldr r3, [r7, #4] 80b9afa: 6f1b ldr r3, [r3, #112] ; 0x70 80b9afc: 0bdb lsrs r3, r3, #15 80b9afe: b2db uxtb r3, r3 80b9b00: f003 0301 and.w r3, r3, #1 80b9b04: b2da uxtb r2, r3 80b9b06: 683b ldr r3, [r7, #0] 80b9b08: f883 2023 strb.w r2, [r3, #35] ; 0x23 pCSD->CopyFlag = (uint8_t)((hsd->CSD[3] & 0x00004000U) >> 14U); 80b9b0c: 687b ldr r3, [r7, #4] 80b9b0e: 6f1b ldr r3, [r3, #112] ; 0x70 80b9b10: 0b9b lsrs r3, r3, #14 80b9b12: b2db uxtb r3, r3 80b9b14: f003 0301 and.w r3, r3, #1 80b9b18: b2da uxtb r2, r3 80b9b1a: 683b ldr r3, [r7, #0] 80b9b1c: f883 2024 strb.w r2, [r3, #36] ; 0x24 pCSD->PermWrProtect = (uint8_t)((hsd->CSD[3] & 0x00002000U) >> 13U); 80b9b20: 687b ldr r3, [r7, #4] 80b9b22: 6f1b ldr r3, [r3, #112] ; 0x70 80b9b24: 0b5b lsrs r3, r3, #13 80b9b26: b2db uxtb r3, r3 80b9b28: f003 0301 and.w r3, r3, #1 80b9b2c: b2da uxtb r2, r3 80b9b2e: 683b ldr r3, [r7, #0] 80b9b30: f883 2025 strb.w r2, [r3, #37] ; 0x25 pCSD->TempWrProtect = (uint8_t)((hsd->CSD[3] & 0x00001000U) >> 12U); 80b9b34: 687b ldr r3, [r7, #4] 80b9b36: 6f1b ldr r3, [r3, #112] ; 0x70 80b9b38: 0b1b lsrs r3, r3, #12 80b9b3a: b2db uxtb r3, r3 80b9b3c: f003 0301 and.w r3, r3, #1 80b9b40: b2da uxtb r2, r3 80b9b42: 683b ldr r3, [r7, #0] 80b9b44: f883 2026 strb.w r2, [r3, #38] ; 0x26 pCSD->FileFormat = (uint8_t)((hsd->CSD[3] & 0x00000C00U) >> 10U); 80b9b48: 687b ldr r3, [r7, #4] 80b9b4a: 6f1b ldr r3, [r3, #112] ; 0x70 80b9b4c: 0a9b lsrs r3, r3, #10 80b9b4e: b2db uxtb r3, r3 80b9b50: f003 0303 and.w r3, r3, #3 80b9b54: b2da uxtb r2, r3 80b9b56: 683b ldr r3, [r7, #0] 80b9b58: f883 2027 strb.w r2, [r3, #39] ; 0x27 pCSD->ECC= (uint8_t)((hsd->CSD[3] & 0x00000300U) >> 8U); 80b9b5c: 687b ldr r3, [r7, #4] 80b9b5e: 6f1b ldr r3, [r3, #112] ; 0x70 80b9b60: 0a1b lsrs r3, r3, #8 80b9b62: b2db uxtb r3, r3 80b9b64: f003 0303 and.w r3, r3, #3 80b9b68: b2da uxtb r2, r3 80b9b6a: 683b ldr r3, [r7, #0] 80b9b6c: f883 2028 strb.w r2, [r3, #40] ; 0x28 pCSD->CSD_CRC = (uint8_t)((hsd->CSD[3] & 0x000000FEU) >> 1U); 80b9b70: 687b ldr r3, [r7, #4] 80b9b72: 6f1b ldr r3, [r3, #112] ; 0x70 80b9b74: 085b lsrs r3, r3, #1 80b9b76: b2db uxtb r3, r3 80b9b78: f003 037f and.w r3, r3, #127 ; 0x7f 80b9b7c: b2da uxtb r2, r3 80b9b7e: 683b ldr r3, [r7, #0] 80b9b80: f883 2029 strb.w r2, [r3, #41] ; 0x29 pCSD->Reserved4 = 1; 80b9b84: 683b ldr r3, [r7, #0] 80b9b86: 2201 movs r2, #1 80b9b88: f883 202a strb.w r2, [r3, #42] ; 0x2a return HAL_OK; 80b9b8c: 2300 movs r3, #0 } 80b9b8e: 4618 mov r0, r3 80b9b90: 370c adds r7, #12 80b9b92: 46bd mov sp, r7 80b9b94: f85d 7b04 ldr.w r7, [sp], #4 80b9b98: 4770 bx lr 80b9b9a: bf00 nop 80b9b9c: 004005ff .word 0x004005ff 080b9ba0 : * @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) { 80b9ba0: b480 push {r7} 80b9ba2: b083 sub sp, #12 80b9ba4: af00 add r7, sp, #0 80b9ba6: 6078 str r0, [r7, #4] 80b9ba8: 6039 str r1, [r7, #0] pCardInfo->CardType = (uint32_t)(hsd->SdCard.CardType); 80b9baa: 687b ldr r3, [r7, #4] 80b9bac: 6c5a ldr r2, [r3, #68] ; 0x44 80b9bae: 683b ldr r3, [r7, #0] 80b9bb0: 601a str r2, [r3, #0] pCardInfo->CardVersion = (uint32_t)(hsd->SdCard.CardVersion); 80b9bb2: 687b ldr r3, [r7, #4] 80b9bb4: 6c9a ldr r2, [r3, #72] ; 0x48 80b9bb6: 683b ldr r3, [r7, #0] 80b9bb8: 605a str r2, [r3, #4] pCardInfo->Class = (uint32_t)(hsd->SdCard.Class); 80b9bba: 687b ldr r3, [r7, #4] 80b9bbc: 6cda ldr r2, [r3, #76] ; 0x4c 80b9bbe: 683b ldr r3, [r7, #0] 80b9bc0: 609a str r2, [r3, #8] pCardInfo->RelCardAdd = (uint32_t)(hsd->SdCard.RelCardAdd); 80b9bc2: 687b ldr r3, [r7, #4] 80b9bc4: 6d1a ldr r2, [r3, #80] ; 0x50 80b9bc6: 683b ldr r3, [r7, #0] 80b9bc8: 60da str r2, [r3, #12] pCardInfo->BlockNbr = (uint32_t)(hsd->SdCard.BlockNbr); 80b9bca: 687b ldr r3, [r7, #4] 80b9bcc: 6d5a ldr r2, [r3, #84] ; 0x54 80b9bce: 683b ldr r3, [r7, #0] 80b9bd0: 611a str r2, [r3, #16] pCardInfo->BlockSize = (uint32_t)(hsd->SdCard.BlockSize); 80b9bd2: 687b ldr r3, [r7, #4] 80b9bd4: 6d9a ldr r2, [r3, #88] ; 0x58 80b9bd6: 683b ldr r3, [r7, #0] 80b9bd8: 615a str r2, [r3, #20] pCardInfo->LogBlockNbr = (uint32_t)(hsd->SdCard.LogBlockNbr); 80b9bda: 687b ldr r3, [r7, #4] 80b9bdc: 6dda ldr r2, [r3, #92] ; 0x5c 80b9bde: 683b ldr r3, [r7, #0] 80b9be0: 619a str r2, [r3, #24] pCardInfo->LogBlockSize = (uint32_t)(hsd->SdCard.LogBlockSize); 80b9be2: 687b ldr r3, [r7, #4] 80b9be4: 6e1a ldr r2, [r3, #96] ; 0x60 80b9be6: 683b ldr r3, [r7, #0] 80b9be8: 61da str r2, [r3, #28] 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 080b9bf8 : * @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) { 80b9bf8: b5b0 push {r4, r5, r7, lr} 80b9bfa: b08e sub sp, #56 ; 0x38 80b9bfc: af04 add r7, sp, #16 80b9bfe: 6078 str r0, [r7, #4] 80b9c00: 6039 str r1, [r7, #0] SDMMC_InitTypeDef Init; uint32_t errorstate; HAL_StatusTypeDef status = HAL_OK; 80b9c02: 2300 movs r3, #0 80b9c04: 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; 80b9c08: 687b ldr r3, [r7, #4] 80b9c0a: 2203 movs r2, #3 80b9c0c: f883 2034 strb.w r2, [r3, #52] ; 0x34 if(hsd->SdCard.CardType != CARD_SECURED) 80b9c10: 687b ldr r3, [r7, #4] 80b9c12: 6c5b ldr r3, [r3, #68] ; 0x44 80b9c14: 2b03 cmp r3, #3 80b9c16: d02e beq.n 80b9c76 { if(WideMode == SDMMC_BUS_WIDE_8B) 80b9c18: 683b ldr r3, [r7, #0] 80b9c1a: f5b3 5f80 cmp.w r3, #4096 ; 0x1000 80b9c1e: d106 bne.n 80b9c2e { hsd->ErrorCode |= HAL_SD_ERROR_UNSUPPORTED_FEATURE; 80b9c20: 687b ldr r3, [r7, #4] 80b9c22: 6b9b ldr r3, [r3, #56] ; 0x38 80b9c24: f043 5280 orr.w r2, r3, #268435456 ; 0x10000000 80b9c28: 687b ldr r3, [r7, #4] 80b9c2a: 639a str r2, [r3, #56] ; 0x38 80b9c2c: e029 b.n 80b9c82 } else if(WideMode == SDMMC_BUS_WIDE_4B) 80b9c2e: 683b ldr r3, [r7, #0] 80b9c30: f5b3 6f00 cmp.w r3, #2048 ; 0x800 80b9c34: d10a bne.n 80b9c4c { errorstate = SD_WideBus_Enable(hsd); 80b9c36: 6878 ldr r0, [r7, #4] 80b9c38: f000 fb37 bl 80ba2aa 80b9c3c: 6238 str r0, [r7, #32] hsd->ErrorCode |= errorstate; 80b9c3e: 687b ldr r3, [r7, #4] 80b9c40: 6b9a ldr r2, [r3, #56] ; 0x38 80b9c42: 6a3b ldr r3, [r7, #32] 80b9c44: 431a orrs r2, r3 80b9c46: 687b ldr r3, [r7, #4] 80b9c48: 639a str r2, [r3, #56] ; 0x38 80b9c4a: e01a b.n 80b9c82 } else if(WideMode == SDMMC_BUS_WIDE_1B) 80b9c4c: 683b ldr r3, [r7, #0] 80b9c4e: 2b00 cmp r3, #0 80b9c50: d10a bne.n 80b9c68 { errorstate = SD_WideBus_Disable(hsd); 80b9c52: 6878 ldr r0, [r7, #4] 80b9c54: f000 fb74 bl 80ba340 80b9c58: 6238 str r0, [r7, #32] hsd->ErrorCode |= errorstate; 80b9c5a: 687b ldr r3, [r7, #4] 80b9c5c: 6b9a ldr r2, [r3, #56] ; 0x38 80b9c5e: 6a3b ldr r3, [r7, #32] 80b9c60: 431a orrs r2, r3 80b9c62: 687b ldr r3, [r7, #4] 80b9c64: 639a str r2, [r3, #56] ; 0x38 80b9c66: e00c b.n 80b9c82 } else { /* WideMode is not a valid argument*/ hsd->ErrorCode |= HAL_SD_ERROR_PARAM; 80b9c68: 687b ldr r3, [r7, #4] 80b9c6a: 6b9b ldr r3, [r3, #56] ; 0x38 80b9c6c: f043 6200 orr.w r2, r3, #134217728 ; 0x8000000 80b9c70: 687b ldr r3, [r7, #4] 80b9c72: 639a str r2, [r3, #56] ; 0x38 80b9c74: e005 b.n 80b9c82 } } else { /* MMC Card does not support this feature */ hsd->ErrorCode |= HAL_SD_ERROR_UNSUPPORTED_FEATURE; 80b9c76: 687b ldr r3, [r7, #4] 80b9c78: 6b9b ldr r3, [r3, #56] ; 0x38 80b9c7a: f043 5280 orr.w r2, r3, #268435456 ; 0x10000000 80b9c7e: 687b ldr r3, [r7, #4] 80b9c80: 639a str r2, [r3, #56] ; 0x38 } if(hsd->ErrorCode != HAL_SD_ERROR_NONE) 80b9c82: 687b ldr r3, [r7, #4] 80b9c84: 6b9b ldr r3, [r3, #56] ; 0x38 80b9c86: 2b00 cmp r3, #0 80b9c88: d00b beq.n 80b9ca2 { /* Clear all the static flags */ __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_FLAGS); 80b9c8a: 687b ldr r3, [r7, #4] 80b9c8c: 681b ldr r3, [r3, #0] 80b9c8e: 4a26 ldr r2, [pc, #152] ; (80b9d28 ) 80b9c90: 639a str r2, [r3, #56] ; 0x38 hsd->State = HAL_SD_STATE_READY; 80b9c92: 687b ldr r3, [r7, #4] 80b9c94: 2201 movs r2, #1 80b9c96: f883 2034 strb.w r2, [r3, #52] ; 0x34 status = HAL_ERROR; 80b9c9a: 2301 movs r3, #1 80b9c9c: f887 3027 strb.w r3, [r7, #39] ; 0x27 80b9ca0: e01f b.n 80b9ce2 } else { /* Configure the SDMMC peripheral */ Init.ClockEdge = hsd->Init.ClockEdge; 80b9ca2: 687b ldr r3, [r7, #4] 80b9ca4: 685b ldr r3, [r3, #4] 80b9ca6: 60bb str r3, [r7, #8] Init.ClockBypass = hsd->Init.ClockBypass; 80b9ca8: 687b ldr r3, [r7, #4] 80b9caa: 689b ldr r3, [r3, #8] 80b9cac: 60fb str r3, [r7, #12] Init.ClockPowerSave = hsd->Init.ClockPowerSave; 80b9cae: 687b ldr r3, [r7, #4] 80b9cb0: 68db ldr r3, [r3, #12] 80b9cb2: 613b str r3, [r7, #16] Init.BusWide = WideMode; 80b9cb4: 683b ldr r3, [r7, #0] 80b9cb6: 617b str r3, [r7, #20] Init.HardwareFlowControl = hsd->Init.HardwareFlowControl; 80b9cb8: 687b ldr r3, [r7, #4] 80b9cba: 695b ldr r3, [r3, #20] 80b9cbc: 61bb str r3, [r7, #24] Init.ClockDiv = hsd->Init.ClockDiv; 80b9cbe: 687b ldr r3, [r7, #4] 80b9cc0: 699b ldr r3, [r3, #24] 80b9cc2: 61fb str r3, [r7, #28] (void)SDMMC_Init(hsd->Instance, Init); 80b9cc4: 687b ldr r3, [r7, #4] 80b9cc6: 681d ldr r5, [r3, #0] 80b9cc8: 466c mov r4, sp 80b9cca: f107 0314 add.w r3, r7, #20 80b9cce: e893 0007 ldmia.w r3, {r0, r1, r2} 80b9cd2: e884 0007 stmia.w r4, {r0, r1, r2} 80b9cd6: f107 0308 add.w r3, r7, #8 80b9cda: cb0e ldmia r3, {r1, r2, r3} 80b9cdc: 4628 mov r0, r5 80b9cde: f003 fb9b bl 80bd418 } /* Set Block Size for Card */ errorstate = SDMMC_CmdBlockLength(hsd->Instance, BLOCKSIZE); 80b9ce2: 687b ldr r3, [r7, #4] 80b9ce4: 681b ldr r3, [r3, #0] 80b9ce6: f44f 7100 mov.w r1, #512 ; 0x200 80b9cea: 4618 mov r0, r3 80b9cec: f003 fc7e bl 80bd5ec 80b9cf0: 6238 str r0, [r7, #32] if(errorstate != HAL_SD_ERROR_NONE) 80b9cf2: 6a3b ldr r3, [r7, #32] 80b9cf4: 2b00 cmp r3, #0 80b9cf6: d00c beq.n 80b9d12 { /* Clear all the static flags */ __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_FLAGS); 80b9cf8: 687b ldr r3, [r7, #4] 80b9cfa: 681b ldr r3, [r3, #0] 80b9cfc: 4a0a ldr r2, [pc, #40] ; (80b9d28 ) 80b9cfe: 639a str r2, [r3, #56] ; 0x38 hsd->ErrorCode |= errorstate; 80b9d00: 687b ldr r3, [r7, #4] 80b9d02: 6b9a ldr r2, [r3, #56] ; 0x38 80b9d04: 6a3b ldr r3, [r7, #32] 80b9d06: 431a orrs r2, r3 80b9d08: 687b ldr r3, [r7, #4] 80b9d0a: 639a str r2, [r3, #56] ; 0x38 status = HAL_ERROR; 80b9d0c: 2301 movs r3, #1 80b9d0e: f887 3027 strb.w r3, [r7, #39] ; 0x27 } /* Change State */ hsd->State = HAL_SD_STATE_READY; 80b9d12: 687b ldr r3, [r7, #4] 80b9d14: 2201 movs r2, #1 80b9d16: f883 2034 strb.w r2, [r3, #52] ; 0x34 return status; 80b9d1a: f897 3027 ldrb.w r3, [r7, #39] ; 0x27 } 80b9d1e: 4618 mov r0, r3 80b9d20: 3728 adds r7, #40 ; 0x28 80b9d22: 46bd mov sp, r7 80b9d24: bdb0 pop {r4, r5, r7, pc} 80b9d26: bf00 nop 80b9d28: 004005ff .word 0x004005ff 080b9d2c : * @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) { 80b9d2c: b580 push {r7, lr} 80b9d2e: b086 sub sp, #24 80b9d30: af00 add r7, sp, #0 80b9d32: 6078 str r0, [r7, #4] uint32_t cardstate; uint32_t errorstate; uint32_t resp1 = 0; 80b9d34: 2300 movs r3, #0 80b9d36: 60fb str r3, [r7, #12] errorstate = SD_SendStatus(hsd, &resp1); 80b9d38: f107 030c add.w r3, r7, #12 80b9d3c: 4619 mov r1, r3 80b9d3e: 6878 ldr r0, [r7, #4] 80b9d40: f000 fa8b bl 80ba25a 80b9d44: 6178 str r0, [r7, #20] if(errorstate != HAL_SD_ERROR_NONE) 80b9d46: 697b ldr r3, [r7, #20] 80b9d48: 2b00 cmp r3, #0 80b9d4a: d005 beq.n 80b9d58 { hsd->ErrorCode |= errorstate; 80b9d4c: 687b ldr r3, [r7, #4] 80b9d4e: 6b9a ldr r2, [r3, #56] ; 0x38 80b9d50: 697b ldr r3, [r7, #20] 80b9d52: 431a orrs r2, r3 80b9d54: 687b ldr r3, [r7, #4] 80b9d56: 639a str r2, [r3, #56] ; 0x38 } cardstate = ((resp1 >> 9U) & 0x0FU); 80b9d58: 68fb ldr r3, [r7, #12] 80b9d5a: 0a5b lsrs r3, r3, #9 80b9d5c: f003 030f and.w r3, r3, #15 80b9d60: 613b str r3, [r7, #16] return (HAL_SD_CardStateTypeDef)cardstate; 80b9d62: 693b ldr r3, [r7, #16] } 80b9d64: 4618 mov r0, r3 80b9d66: 3718 adds r7, #24 80b9d68: 46bd mov sp, r7 80b9d6a: bd80 pop {r7, pc} 080b9d6c : * @brief DMA SD transmit process complete callback * @param hdma: DMA handle * @retval None */ static void SD_DMATransmitCplt(DMA_HandleTypeDef *hdma) { 80b9d6c: b480 push {r7} 80b9d6e: b085 sub sp, #20 80b9d70: af00 add r7, sp, #0 80b9d72: 6078 str r0, [r7, #4] SD_HandleTypeDef* hsd = (SD_HandleTypeDef* )(hdma->Parent); 80b9d74: 687b ldr r3, [r7, #4] 80b9d76: 6b9b ldr r3, [r3, #56] ; 0x38 80b9d78: 60fb str r3, [r7, #12] /* Enable DATAEND Interrupt */ __HAL_SD_ENABLE_IT(hsd, (SDMMC_IT_DATAEND)); 80b9d7a: 68fb ldr r3, [r7, #12] 80b9d7c: 681b ldr r3, [r3, #0] 80b9d7e: 68fa ldr r2, [r7, #12] 80b9d80: 6812 ldr r2, [r2, #0] 80b9d82: 6bd2 ldr r2, [r2, #60] ; 0x3c 80b9d84: f442 7280 orr.w r2, r2, #256 ; 0x100 80b9d88: 63da str r2, [r3, #60] ; 0x3c } 80b9d8a: bf00 nop 80b9d8c: 3714 adds r7, #20 80b9d8e: 46bd mov sp, r7 80b9d90: f85d 7b04 ldr.w r7, [sp], #4 80b9d94: 4770 bx lr 080b9d96 : * @brief DMA SD receive process complete callback * @param hdma: DMA handle * @retval None */ static void SD_DMAReceiveCplt(DMA_HandleTypeDef *hdma) { 80b9d96: b580 push {r7, lr} 80b9d98: b084 sub sp, #16 80b9d9a: af00 add r7, sp, #0 80b9d9c: 6078 str r0, [r7, #4] SD_HandleTypeDef* hsd = (SD_HandleTypeDef* )(hdma->Parent); 80b9d9e: 687b ldr r3, [r7, #4] 80b9da0: 6b9b ldr r3, [r3, #56] ; 0x38 80b9da2: 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)) 80b9da4: 68fb ldr r3, [r7, #12] 80b9da6: 6b1b ldr r3, [r3, #48] ; 0x30 80b9da8: 2b82 cmp r3, #130 ; 0x82 80b9daa: d111 bne.n 80b9dd0 { errorstate = SDMMC_CmdStopTransfer(hsd->Instance); 80b9dac: 68fb ldr r3, [r7, #12] 80b9dae: 681b ldr r3, [r3, #0] 80b9db0: 4618 mov r0, r3 80b9db2: f003 fcc5 bl 80bd740 80b9db6: 60b8 str r0, [r7, #8] if(errorstate != HAL_SD_ERROR_NONE) 80b9db8: 68bb ldr r3, [r7, #8] 80b9dba: 2b00 cmp r3, #0 80b9dbc: d008 beq.n 80b9dd0 { hsd->ErrorCode |= errorstate; 80b9dbe: 68fb ldr r3, [r7, #12] 80b9dc0: 6b9a ldr r2, [r3, #56] ; 0x38 80b9dc2: 68bb ldr r3, [r7, #8] 80b9dc4: 431a orrs r2, r3 80b9dc6: 68fb ldr r3, [r7, #12] 80b9dc8: 639a str r2, [r3, #56] ; 0x38 #if (USE_HAL_SD_REGISTER_CALLBACKS == 1) hsd->ErrorCallback(hsd); #else HAL_SD_ErrorCallback(hsd); 80b9dca: 68f8 ldr r0, [r7, #12] 80b9dcc: f7ff fd3a bl 80b9844 } } /* 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); 80b9dd0: 68fb ldr r3, [r7, #12] 80b9dd2: 681b ldr r3, [r3, #0] 80b9dd4: 68fa ldr r2, [r7, #12] 80b9dd6: 6812 ldr r2, [r2, #0] 80b9dd8: 6ad2 ldr r2, [r2, #44] ; 0x2c 80b9dda: f022 0208 bic.w r2, r2, #8 80b9dde: 62da str r2, [r3, #44] ; 0x2c /* Clear all the static flags */ __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_DATA_FLAGS); 80b9de0: 68fb ldr r3, [r7, #12] 80b9de2: 681b ldr r3, [r3, #0] 80b9de4: f240 523a movw r2, #1338 ; 0x53a 80b9de8: 639a str r2, [r3, #56] ; 0x38 hsd->State = HAL_SD_STATE_READY; 80b9dea: 68fb ldr r3, [r7, #12] 80b9dec: 2201 movs r2, #1 80b9dee: f883 2034 strb.w r2, [r3, #52] ; 0x34 hsd->Context = SD_CONTEXT_NONE; 80b9df2: 68fb ldr r3, [r7, #12] 80b9df4: 2200 movs r2, #0 80b9df6: 631a str r2, [r3, #48] ; 0x30 #if (USE_HAL_SD_REGISTER_CALLBACKS == 1) hsd->RxCpltCallback(hsd); #else HAL_SD_RxCpltCallback(hsd); 80b9df8: 68f8 ldr r0, [r7, #12] 80b9dfa: f005 fd51 bl 80bf8a0 #endif } 80b9dfe: bf00 nop 80b9e00: 3710 adds r7, #16 80b9e02: 46bd mov sp, r7 80b9e04: bd80 pop {r7, pc} ... 080b9e08 : * @brief DMA SD communication error callback * @param hdma: DMA handle * @retval None */ static void SD_DMAError(DMA_HandleTypeDef *hdma) { 80b9e08: b580 push {r7, lr} 80b9e0a: b086 sub sp, #24 80b9e0c: af00 add r7, sp, #0 80b9e0e: 6078 str r0, [r7, #4] SD_HandleTypeDef* hsd = (SD_HandleTypeDef* )(hdma->Parent); 80b9e10: 687b ldr r3, [r7, #4] 80b9e12: 6b9b ldr r3, [r3, #56] ; 0x38 80b9e14: 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) 80b9e16: 6878 ldr r0, [r7, #4] 80b9e18: f7fa fdbc bl 80b4994 80b9e1c: 4603 mov r3, r0 80b9e1e: 2b02 cmp r3, #2 80b9e20: d03e beq.n 80b9ea0 { RxErrorCode = hsd->hdmarx->ErrorCode; 80b9e22: 697b ldr r3, [r7, #20] 80b9e24: 6c1b ldr r3, [r3, #64] ; 0x40 80b9e26: 6d5b ldr r3, [r3, #84] ; 0x54 80b9e28: 613b str r3, [r7, #16] TxErrorCode = hsd->hdmatx->ErrorCode; 80b9e2a: 697b ldr r3, [r7, #20] 80b9e2c: 6bdb ldr r3, [r3, #60] ; 0x3c 80b9e2e: 6d5b ldr r3, [r3, #84] ; 0x54 80b9e30: 60fb str r3, [r7, #12] if((RxErrorCode == HAL_DMA_ERROR_TE) || (TxErrorCode == HAL_DMA_ERROR_TE)) 80b9e32: 693b ldr r3, [r7, #16] 80b9e34: 2b01 cmp r3, #1 80b9e36: d002 beq.n 80b9e3e 80b9e38: 68fb ldr r3, [r7, #12] 80b9e3a: 2b01 cmp r3, #1 80b9e3c: d12d bne.n 80b9e9a { /* Clear All flags */ __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_FLAGS); 80b9e3e: 697b ldr r3, [r7, #20] 80b9e40: 681b ldr r3, [r3, #0] 80b9e42: 4a19 ldr r2, [pc, #100] ; (80b9ea8 ) 80b9e44: 639a str r2, [r3, #56] ; 0x38 /* Disable All interrupts */ __HAL_SD_DISABLE_IT(hsd, SDMMC_IT_DATAEND | SDMMC_IT_DCRCFAIL | SDMMC_IT_DTIMEOUT|\ 80b9e46: 697b ldr r3, [r7, #20] 80b9e48: 681b ldr r3, [r3, #0] 80b9e4a: 697a ldr r2, [r7, #20] 80b9e4c: 6812 ldr r2, [r2, #0] 80b9e4e: 6bd2 ldr r2, [r2, #60] ; 0x3c 80b9e50: f422 729d bic.w r2, r2, #314 ; 0x13a 80b9e54: 63da str r2, [r3, #60] ; 0x3c SDMMC_IT_TXUNDERR| SDMMC_IT_RXOVERR); hsd->ErrorCode |= HAL_SD_ERROR_DMA; 80b9e56: 697b ldr r3, [r7, #20] 80b9e58: 6b9b ldr r3, [r3, #56] ; 0x38 80b9e5a: f043 4280 orr.w r2, r3, #1073741824 ; 0x40000000 80b9e5e: 697b ldr r3, [r7, #20] 80b9e60: 639a str r2, [r3, #56] ; 0x38 CardState = HAL_SD_GetCardState(hsd); 80b9e62: 6978 ldr r0, [r7, #20] 80b9e64: f7ff ff62 bl 80b9d2c 80b9e68: 60b8 str r0, [r7, #8] if((CardState == HAL_SD_CARD_RECEIVING) || (CardState == HAL_SD_CARD_SENDING)) 80b9e6a: 68bb ldr r3, [r7, #8] 80b9e6c: 2b06 cmp r3, #6 80b9e6e: d002 beq.n 80b9e76 80b9e70: 68bb ldr r3, [r7, #8] 80b9e72: 2b05 cmp r3, #5 80b9e74: d10a bne.n 80b9e8c { hsd->ErrorCode |= SDMMC_CmdStopTransfer(hsd->Instance); 80b9e76: 697b ldr r3, [r7, #20] 80b9e78: 681b ldr r3, [r3, #0] 80b9e7a: 4618 mov r0, r3 80b9e7c: f003 fc60 bl 80bd740 80b9e80: 4602 mov r2, r0 80b9e82: 697b ldr r3, [r7, #20] 80b9e84: 6b9b ldr r3, [r3, #56] ; 0x38 80b9e86: 431a orrs r2, r3 80b9e88: 697b ldr r3, [r7, #20] 80b9e8a: 639a str r2, [r3, #56] ; 0x38 } hsd->State= HAL_SD_STATE_READY; 80b9e8c: 697b ldr r3, [r7, #20] 80b9e8e: 2201 movs r2, #1 80b9e90: f883 2034 strb.w r2, [r3, #52] ; 0x34 hsd->Context = SD_CONTEXT_NONE; 80b9e94: 697b ldr r3, [r7, #20] 80b9e96: 2200 movs r2, #0 80b9e98: 631a str r2, [r3, #48] ; 0x30 } #if (USE_HAL_SD_REGISTER_CALLBACKS == 1) hsd->ErrorCallback(hsd); #else HAL_SD_ErrorCallback(hsd); 80b9e9a: 6978 ldr r0, [r7, #20] 80b9e9c: f7ff fcd2 bl 80b9844 #endif } } 80b9ea0: bf00 nop 80b9ea2: 3718 adds r7, #24 80b9ea4: 46bd mov sp, r7 80b9ea6: bd80 pop {r7, pc} 80b9ea8: 004005ff .word 0x004005ff 080b9eac : * @brief DMA SD Tx Abort callback * @param hdma: DMA handle * @retval None */ static void SD_DMATxAbort(DMA_HandleTypeDef *hdma) { 80b9eac: b580 push {r7, lr} 80b9eae: b084 sub sp, #16 80b9eb0: af00 add r7, sp, #0 80b9eb2: 6078 str r0, [r7, #4] SD_HandleTypeDef* hsd = (SD_HandleTypeDef* )(hdma->Parent); 80b9eb4: 687b ldr r3, [r7, #4] 80b9eb6: 6b9b ldr r3, [r3, #56] ; 0x38 80b9eb8: 60fb str r3, [r7, #12] HAL_SD_CardStateTypeDef CardState; /* Clear All flags */ __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_DATA_FLAGS); 80b9eba: 68fb ldr r3, [r7, #12] 80b9ebc: 681b ldr r3, [r3, #0] 80b9ebe: f240 523a movw r2, #1338 ; 0x53a 80b9ec2: 639a str r2, [r3, #56] ; 0x38 CardState = HAL_SD_GetCardState(hsd); 80b9ec4: 68f8 ldr r0, [r7, #12] 80b9ec6: f7ff ff31 bl 80b9d2c 80b9eca: 60b8 str r0, [r7, #8] hsd->State = HAL_SD_STATE_READY; 80b9ecc: 68fb ldr r3, [r7, #12] 80b9ece: 2201 movs r2, #1 80b9ed0: f883 2034 strb.w r2, [r3, #52] ; 0x34 hsd->Context = SD_CONTEXT_NONE; 80b9ed4: 68fb ldr r3, [r7, #12] 80b9ed6: 2200 movs r2, #0 80b9ed8: 631a str r2, [r3, #48] ; 0x30 if((CardState == HAL_SD_CARD_RECEIVING) || (CardState == HAL_SD_CARD_SENDING)) 80b9eda: 68bb ldr r3, [r7, #8] 80b9edc: 2b06 cmp r3, #6 80b9ede: d002 beq.n 80b9ee6 80b9ee0: 68bb ldr r3, [r7, #8] 80b9ee2: 2b05 cmp r3, #5 80b9ee4: d10a bne.n 80b9efc { hsd->ErrorCode |= SDMMC_CmdStopTransfer(hsd->Instance); 80b9ee6: 68fb ldr r3, [r7, #12] 80b9ee8: 681b ldr r3, [r3, #0] 80b9eea: 4618 mov r0, r3 80b9eec: f003 fc28 bl 80bd740 80b9ef0: 4602 mov r2, r0 80b9ef2: 68fb ldr r3, [r7, #12] 80b9ef4: 6b9b ldr r3, [r3, #56] ; 0x38 80b9ef6: 431a orrs r2, r3 80b9ef8: 68fb ldr r3, [r7, #12] 80b9efa: 639a str r2, [r3, #56] ; 0x38 } if(hsd->ErrorCode == HAL_SD_ERROR_NONE) 80b9efc: 68fb ldr r3, [r7, #12] 80b9efe: 6b9b ldr r3, [r3, #56] ; 0x38 80b9f00: 2b00 cmp r3, #0 80b9f02: d103 bne.n 80b9f0c { #if (USE_HAL_SD_REGISTER_CALLBACKS == 1) hsd->AbortCpltCallback(hsd); #else HAL_SD_AbortCallback(hsd); 80b9f04: 68f8 ldr r0, [r7, #12] 80b9f06: f005 fcb7 bl 80bf878 hsd->ErrorCallback(hsd); #else HAL_SD_ErrorCallback(hsd); #endif } } 80b9f0a: e002 b.n 80b9f12 HAL_SD_ErrorCallback(hsd); 80b9f0c: 68f8 ldr r0, [r7, #12] 80b9f0e: f7ff fc99 bl 80b9844 } 80b9f12: bf00 nop 80b9f14: 3710 adds r7, #16 80b9f16: 46bd mov sp, r7 80b9f18: bd80 pop {r7, pc} 080b9f1a : * @brief DMA SD Rx Abort callback * @param hdma: DMA handle * @retval None */ static void SD_DMARxAbort(DMA_HandleTypeDef *hdma) { 80b9f1a: b580 push {r7, lr} 80b9f1c: b084 sub sp, #16 80b9f1e: af00 add r7, sp, #0 80b9f20: 6078 str r0, [r7, #4] SD_HandleTypeDef* hsd = (SD_HandleTypeDef* )(hdma->Parent); 80b9f22: 687b ldr r3, [r7, #4] 80b9f24: 6b9b ldr r3, [r3, #56] ; 0x38 80b9f26: 60fb str r3, [r7, #12] HAL_SD_CardStateTypeDef CardState; /* Clear All flags */ __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_DATA_FLAGS); 80b9f28: 68fb ldr r3, [r7, #12] 80b9f2a: 681b ldr r3, [r3, #0] 80b9f2c: f240 523a movw r2, #1338 ; 0x53a 80b9f30: 639a str r2, [r3, #56] ; 0x38 CardState = HAL_SD_GetCardState(hsd); 80b9f32: 68f8 ldr r0, [r7, #12] 80b9f34: f7ff fefa bl 80b9d2c 80b9f38: 60b8 str r0, [r7, #8] hsd->State = HAL_SD_STATE_READY; 80b9f3a: 68fb ldr r3, [r7, #12] 80b9f3c: 2201 movs r2, #1 80b9f3e: f883 2034 strb.w r2, [r3, #52] ; 0x34 hsd->Context = SD_CONTEXT_NONE; 80b9f42: 68fb ldr r3, [r7, #12] 80b9f44: 2200 movs r2, #0 80b9f46: 631a str r2, [r3, #48] ; 0x30 if((CardState == HAL_SD_CARD_RECEIVING) || (CardState == HAL_SD_CARD_SENDING)) 80b9f48: 68bb ldr r3, [r7, #8] 80b9f4a: 2b06 cmp r3, #6 80b9f4c: d002 beq.n 80b9f54 80b9f4e: 68bb ldr r3, [r7, #8] 80b9f50: 2b05 cmp r3, #5 80b9f52: d10a bne.n 80b9f6a { hsd->ErrorCode |= SDMMC_CmdStopTransfer(hsd->Instance); 80b9f54: 68fb ldr r3, [r7, #12] 80b9f56: 681b ldr r3, [r3, #0] 80b9f58: 4618 mov r0, r3 80b9f5a: f003 fbf1 bl 80bd740 80b9f5e: 4602 mov r2, r0 80b9f60: 68fb ldr r3, [r7, #12] 80b9f62: 6b9b ldr r3, [r3, #56] ; 0x38 80b9f64: 431a orrs r2, r3 80b9f66: 68fb ldr r3, [r7, #12] 80b9f68: 639a str r2, [r3, #56] ; 0x38 } if(hsd->ErrorCode == HAL_SD_ERROR_NONE) 80b9f6a: 68fb ldr r3, [r7, #12] 80b9f6c: 6b9b ldr r3, [r3, #56] ; 0x38 80b9f6e: 2b00 cmp r3, #0 80b9f70: d103 bne.n 80b9f7a { #if (USE_HAL_SD_REGISTER_CALLBACKS == 1) hsd->AbortCpltCallback(hsd); #else HAL_SD_AbortCallback(hsd); 80b9f72: 68f8 ldr r0, [r7, #12] 80b9f74: f005 fc80 bl 80bf878 hsd->ErrorCallback(hsd); #else HAL_SD_ErrorCallback(hsd); #endif } } 80b9f78: e002 b.n 80b9f80 HAL_SD_ErrorCallback(hsd); 80b9f7a: 68f8 ldr r0, [r7, #12] 80b9f7c: f7ff fc62 bl 80b9844 } 80b9f80: bf00 nop 80b9f82: 3710 adds r7, #16 80b9f84: 46bd mov sp, r7 80b9f86: bd80 pop {r7, pc} 080b9f88 : * @brief Initializes the sd card. * @param hsd: Pointer to SD handle * @retval SD Card error state */ static uint32_t SD_InitCard(SD_HandleTypeDef *hsd) { 80b9f88: b5b0 push {r4, r5, r7, lr} 80b9f8a: b094 sub sp, #80 ; 0x50 80b9f8c: af04 add r7, sp, #16 80b9f8e: 6078 str r0, [r7, #4] HAL_SD_CardCSDTypeDef CSD; uint32_t errorstate; uint16_t sd_rca = 1U; 80b9f90: 2301 movs r3, #1 80b9f92: 81fb strh r3, [r7, #14] /* Check the power State */ if(SDMMC_GetPowerState(hsd->Instance) == 0U) 80b9f94: 687b ldr r3, [r7, #4] 80b9f96: 681b ldr r3, [r3, #0] 80b9f98: 4618 mov r0, r3 80b9f9a: f003 faa3 bl 80bd4e4 80b9f9e: 4603 mov r3, r0 80b9fa0: 2b00 cmp r3, #0 80b9fa2: d102 bne.n 80b9faa { /* Power off */ return HAL_SD_ERROR_REQUEST_NOT_APPLICABLE; 80b9fa4: f04f 6380 mov.w r3, #67108864 ; 0x4000000 80b9fa8: e0b7 b.n 80ba11a } if(hsd->SdCard.CardType != CARD_SECURED) 80b9faa: 687b ldr r3, [r7, #4] 80b9fac: 6c5b ldr r3, [r3, #68] ; 0x44 80b9fae: 2b03 cmp r3, #3 80b9fb0: d02f beq.n 80ba012 { /* Send CMD2 ALL_SEND_CID */ errorstate = SDMMC_CmdSendCID(hsd->Instance); 80b9fb2: 687b ldr r3, [r7, #4] 80b9fb4: 681b ldr r3, [r3, #0] 80b9fb6: 4618 mov r0, r3 80b9fb8: f003 fccd bl 80bd956 80b9fbc: 63f8 str r0, [r7, #60] ; 0x3c if(errorstate != HAL_SD_ERROR_NONE) 80b9fbe: 6bfb ldr r3, [r7, #60] ; 0x3c 80b9fc0: 2b00 cmp r3, #0 80b9fc2: d001 beq.n 80b9fc8 { return errorstate; 80b9fc4: 6bfb ldr r3, [r7, #60] ; 0x3c 80b9fc6: e0a8 b.n 80ba11a } else { /* Get Card identification number data */ hsd->CID[0U] = SDMMC_GetResponse(hsd->Instance, SDMMC_RESP1); 80b9fc8: 687b ldr r3, [r7, #4] 80b9fca: 681b ldr r3, [r3, #0] 80b9fcc: 2100 movs r1, #0 80b9fce: 4618 mov r0, r3 80b9fd0: f003 facd bl 80bd56e 80b9fd4: 4602 mov r2, r0 80b9fd6: 687b ldr r3, [r7, #4] 80b9fd8: 675a str r2, [r3, #116] ; 0x74 hsd->CID[1U] = SDMMC_GetResponse(hsd->Instance, SDMMC_RESP2); 80b9fda: 687b ldr r3, [r7, #4] 80b9fdc: 681b ldr r3, [r3, #0] 80b9fde: 2104 movs r1, #4 80b9fe0: 4618 mov r0, r3 80b9fe2: f003 fac4 bl 80bd56e 80b9fe6: 4602 mov r2, r0 80b9fe8: 687b ldr r3, [r7, #4] 80b9fea: 679a str r2, [r3, #120] ; 0x78 hsd->CID[2U] = SDMMC_GetResponse(hsd->Instance, SDMMC_RESP3); 80b9fec: 687b ldr r3, [r7, #4] 80b9fee: 681b ldr r3, [r3, #0] 80b9ff0: 2108 movs r1, #8 80b9ff2: 4618 mov r0, r3 80b9ff4: f003 fabb bl 80bd56e 80b9ff8: 4602 mov r2, r0 80b9ffa: 687b ldr r3, [r7, #4] 80b9ffc: 67da str r2, [r3, #124] ; 0x7c hsd->CID[3U] = SDMMC_GetResponse(hsd->Instance, SDMMC_RESP4); 80b9ffe: 687b ldr r3, [r7, #4] 80ba000: 681b ldr r3, [r3, #0] 80ba002: 210c movs r1, #12 80ba004: 4618 mov r0, r3 80ba006: f003 fab2 bl 80bd56e 80ba00a: 4602 mov r2, r0 80ba00c: 687b ldr r3, [r7, #4] 80ba00e: f8c3 2080 str.w r2, [r3, #128] ; 0x80 } } if(hsd->SdCard.CardType != CARD_SECURED) 80ba012: 687b ldr r3, [r7, #4] 80ba014: 6c5b ldr r3, [r3, #68] ; 0x44 80ba016: 2b03 cmp r3, #3 80ba018: d00d beq.n 80ba036 { /* Send CMD3 SET_REL_ADDR with argument 0 */ /* SD Card publishes its RCA. */ errorstate = SDMMC_CmdSetRelAdd(hsd->Instance, &sd_rca); 80ba01a: 687b ldr r3, [r7, #4] 80ba01c: 681b ldr r3, [r3, #0] 80ba01e: f107 020e add.w r2, r7, #14 80ba022: 4611 mov r1, r2 80ba024: 4618 mov r0, r3 80ba026: f003 fcd3 bl 80bd9d0 80ba02a: 63f8 str r0, [r7, #60] ; 0x3c if(errorstate != HAL_SD_ERROR_NONE) 80ba02c: 6bfb ldr r3, [r7, #60] ; 0x3c 80ba02e: 2b00 cmp r3, #0 80ba030: d001 beq.n 80ba036 { return errorstate; 80ba032: 6bfb ldr r3, [r7, #60] ; 0x3c 80ba034: e071 b.n 80ba11a } } if(hsd->SdCard.CardType != CARD_SECURED) 80ba036: 687b ldr r3, [r7, #4] 80ba038: 6c5b ldr r3, [r3, #68] ; 0x44 80ba03a: 2b03 cmp r3, #3 80ba03c: d036 beq.n 80ba0ac { /* Get the SD card RCA */ hsd->SdCard.RelCardAdd = sd_rca; 80ba03e: 89fb ldrh r3, [r7, #14] 80ba040: 461a mov r2, r3 80ba042: 687b ldr r3, [r7, #4] 80ba044: 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)); 80ba046: 687b ldr r3, [r7, #4] 80ba048: 681a ldr r2, [r3, #0] 80ba04a: 687b ldr r3, [r7, #4] 80ba04c: 6d1b ldr r3, [r3, #80] ; 0x50 80ba04e: 041b lsls r3, r3, #16 80ba050: 4619 mov r1, r3 80ba052: 4610 mov r0, r2 80ba054: f003 fc9d bl 80bd992 80ba058: 63f8 str r0, [r7, #60] ; 0x3c if(errorstate != HAL_SD_ERROR_NONE) 80ba05a: 6bfb ldr r3, [r7, #60] ; 0x3c 80ba05c: 2b00 cmp r3, #0 80ba05e: d001 beq.n 80ba064 { return errorstate; 80ba060: 6bfb ldr r3, [r7, #60] ; 0x3c 80ba062: e05a b.n 80ba11a } else { /* Get Card Specific Data */ hsd->CSD[0U] = SDMMC_GetResponse(hsd->Instance, SDMMC_RESP1); 80ba064: 687b ldr r3, [r7, #4] 80ba066: 681b ldr r3, [r3, #0] 80ba068: 2100 movs r1, #0 80ba06a: 4618 mov r0, r3 80ba06c: f003 fa7f bl 80bd56e 80ba070: 4602 mov r2, r0 80ba072: 687b ldr r3, [r7, #4] 80ba074: 665a str r2, [r3, #100] ; 0x64 hsd->CSD[1U] = SDMMC_GetResponse(hsd->Instance, SDMMC_RESP2); 80ba076: 687b ldr r3, [r7, #4] 80ba078: 681b ldr r3, [r3, #0] 80ba07a: 2104 movs r1, #4 80ba07c: 4618 mov r0, r3 80ba07e: f003 fa76 bl 80bd56e 80ba082: 4602 mov r2, r0 80ba084: 687b ldr r3, [r7, #4] 80ba086: 669a str r2, [r3, #104] ; 0x68 hsd->CSD[2U] = SDMMC_GetResponse(hsd->Instance, SDMMC_RESP3); 80ba088: 687b ldr r3, [r7, #4] 80ba08a: 681b ldr r3, [r3, #0] 80ba08c: 2108 movs r1, #8 80ba08e: 4618 mov r0, r3 80ba090: f003 fa6d bl 80bd56e 80ba094: 4602 mov r2, r0 80ba096: 687b ldr r3, [r7, #4] 80ba098: 66da str r2, [r3, #108] ; 0x6c hsd->CSD[3U] = SDMMC_GetResponse(hsd->Instance, SDMMC_RESP4); 80ba09a: 687b ldr r3, [r7, #4] 80ba09c: 681b ldr r3, [r3, #0] 80ba09e: 210c movs r1, #12 80ba0a0: 4618 mov r0, r3 80ba0a2: f003 fa64 bl 80bd56e 80ba0a6: 4602 mov r2, r0 80ba0a8: 687b ldr r3, [r7, #4] 80ba0aa: 671a str r2, [r3, #112] ; 0x70 } } /* Get the Card Class */ hsd->SdCard.Class = (SDMMC_GetResponse(hsd->Instance, SDMMC_RESP2) >> 20U); 80ba0ac: 687b ldr r3, [r7, #4] 80ba0ae: 681b ldr r3, [r3, #0] 80ba0b0: 2104 movs r1, #4 80ba0b2: 4618 mov r0, r3 80ba0b4: f003 fa5b bl 80bd56e 80ba0b8: 4603 mov r3, r0 80ba0ba: 0d1a lsrs r2, r3, #20 80ba0bc: 687b ldr r3, [r7, #4] 80ba0be: 64da str r2, [r3, #76] ; 0x4c /* Get CSD parameters */ if (HAL_SD_GetCardCSD(hsd, &CSD) != HAL_OK) 80ba0c0: f107 0310 add.w r3, r7, #16 80ba0c4: 4619 mov r1, r3 80ba0c6: 6878 ldr r0, [r7, #4] 80ba0c8: f7ff fbc6 bl 80b9858 80ba0cc: 4603 mov r3, r0 80ba0ce: 2b00 cmp r3, #0 80ba0d0: d002 beq.n 80ba0d8 { return HAL_SD_ERROR_UNSUPPORTED_FEATURE; 80ba0d2: f04f 5380 mov.w r3, #268435456 ; 0x10000000 80ba0d6: e020 b.n 80ba11a } /* Select the Card */ errorstate = SDMMC_CmdSelDesel(hsd->Instance, (uint32_t)(((uint32_t)hsd->SdCard.RelCardAdd) << 16U)); 80ba0d8: 687b ldr r3, [r7, #4] 80ba0da: 6819 ldr r1, [r3, #0] 80ba0dc: 687b ldr r3, [r7, #4] 80ba0de: 6d1b ldr r3, [r3, #80] ; 0x50 80ba0e0: 041b lsls r3, r3, #16 80ba0e2: f04f 0400 mov.w r4, #0 80ba0e6: 461a mov r2, r3 80ba0e8: 4623 mov r3, r4 80ba0ea: 4608 mov r0, r1 80ba0ec: f003 fb4a bl 80bd784 80ba0f0: 63f8 str r0, [r7, #60] ; 0x3c if(errorstate != HAL_SD_ERROR_NONE) 80ba0f2: 6bfb ldr r3, [r7, #60] ; 0x3c 80ba0f4: 2b00 cmp r3, #0 80ba0f6: d001 beq.n 80ba0fc { return errorstate; 80ba0f8: 6bfb ldr r3, [r7, #60] ; 0x3c 80ba0fa: e00e b.n 80ba11a } /* Configure SDMMC peripheral interface */ (void)SDMMC_Init(hsd->Instance, hsd->Init); 80ba0fc: 687b ldr r3, [r7, #4] 80ba0fe: 681d ldr r5, [r3, #0] 80ba100: 687b ldr r3, [r7, #4] 80ba102: 466c mov r4, sp 80ba104: f103 0210 add.w r2, r3, #16 80ba108: ca07 ldmia r2, {r0, r1, r2} 80ba10a: e884 0007 stmia.w r4, {r0, r1, r2} 80ba10e: 3304 adds r3, #4 80ba110: cb0e ldmia r3, {r1, r2, r3} 80ba112: 4628 mov r0, r5 80ba114: f003 f980 bl 80bd418 /* All cards are initialized */ return HAL_SD_ERROR_NONE; 80ba118: 2300 movs r3, #0 } 80ba11a: 4618 mov r0, r3 80ba11c: 3740 adds r7, #64 ; 0x40 80ba11e: 46bd mov sp, r7 80ba120: bdb0 pop {r4, r5, r7, pc} ... 080ba124 : * in the SD handle. * @param hsd: Pointer to SD handle * @retval error state */ static uint32_t SD_PowerON(SD_HandleTypeDef *hsd) { 80ba124: b580 push {r7, lr} 80ba126: b086 sub sp, #24 80ba128: af00 add r7, sp, #0 80ba12a: 6078 str r0, [r7, #4] __IO uint32_t count = 0U; 80ba12c: 2300 movs r3, #0 80ba12e: 60bb str r3, [r7, #8] uint32_t response = 0U, validvoltage = 0U; 80ba130: 2300 movs r3, #0 80ba132: 617b str r3, [r7, #20] 80ba134: 2300 movs r3, #0 80ba136: 613b str r3, [r7, #16] uint32_t errorstate; /* CMD0: GO_IDLE_STATE */ errorstate = SDMMC_CmdGoIdleState(hsd->Instance); 80ba138: 687b ldr r3, [r7, #4] 80ba13a: 681b ldr r3, [r3, #0] 80ba13c: 4618 mov r0, r3 80ba13e: f003 fb44 bl 80bd7ca 80ba142: 60f8 str r0, [r7, #12] if(errorstate != HAL_SD_ERROR_NONE) 80ba144: 68fb ldr r3, [r7, #12] 80ba146: 2b00 cmp r3, #0 80ba148: d001 beq.n 80ba14e { return errorstate; 80ba14a: 68fb ldr r3, [r7, #12] 80ba14c: e072 b.n 80ba234 } /* CMD8: SEND_IF_COND: Command available only on V2.0 cards */ errorstate = SDMMC_CmdOperCond(hsd->Instance); 80ba14e: 687b ldr r3, [r7, #4] 80ba150: 681b ldr r3, [r3, #0] 80ba152: 4618 mov r0, r3 80ba154: f003 fb57 bl 80bd806 80ba158: 60f8 str r0, [r7, #12] if(errorstate != HAL_SD_ERROR_NONE) 80ba15a: 68fb ldr r3, [r7, #12] 80ba15c: 2b00 cmp r3, #0 80ba15e: d00d beq.n 80ba17c { hsd->SdCard.CardVersion = CARD_V1_X; 80ba160: 687b ldr r3, [r7, #4] 80ba162: 2200 movs r2, #0 80ba164: 649a str r2, [r3, #72] ; 0x48 /* CMD0: GO_IDLE_STATE */ errorstate = SDMMC_CmdGoIdleState(hsd->Instance); 80ba166: 687b ldr r3, [r7, #4] 80ba168: 681b ldr r3, [r3, #0] 80ba16a: 4618 mov r0, r3 80ba16c: f003 fb2d bl 80bd7ca 80ba170: 60f8 str r0, [r7, #12] if(errorstate != HAL_SD_ERROR_NONE) 80ba172: 68fb ldr r3, [r7, #12] 80ba174: 2b00 cmp r3, #0 80ba176: d004 beq.n 80ba182 { return errorstate; 80ba178: 68fb ldr r3, [r7, #12] 80ba17a: e05b b.n 80ba234 } } else { hsd->SdCard.CardVersion = CARD_V2_X; 80ba17c: 687b ldr r3, [r7, #4] 80ba17e: 2201 movs r2, #1 80ba180: 649a str r2, [r3, #72] ; 0x48 } if( hsd->SdCard.CardVersion == CARD_V2_X) 80ba182: 687b ldr r3, [r7, #4] 80ba184: 6c9b ldr r3, [r3, #72] ; 0x48 80ba186: 2b01 cmp r3, #1 80ba188: d137 bne.n 80ba1fa { /* SEND CMD55 APP_CMD with RCA as 0 */ errorstate = SDMMC_CmdAppCommand(hsd->Instance, 0); 80ba18a: 687b ldr r3, [r7, #4] 80ba18c: 681b ldr r3, [r3, #0] 80ba18e: 2100 movs r1, #0 80ba190: 4618 mov r0, r3 80ba192: f003 fb57 bl 80bd844 80ba196: 60f8 str r0, [r7, #12] if(errorstate != HAL_SD_ERROR_NONE) 80ba198: 68fb ldr r3, [r7, #12] 80ba19a: 2b00 cmp r3, #0 80ba19c: d02d beq.n 80ba1fa { return HAL_SD_ERROR_UNSUPPORTED_FEATURE; 80ba19e: f04f 5380 mov.w r3, #268435456 ; 0x10000000 80ba1a2: e047 b.n 80ba234 /* 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); 80ba1a4: 687b ldr r3, [r7, #4] 80ba1a6: 681b ldr r3, [r3, #0] 80ba1a8: 2100 movs r1, #0 80ba1aa: 4618 mov r0, r3 80ba1ac: f003 fb4a bl 80bd844 80ba1b0: 60f8 str r0, [r7, #12] if(errorstate != HAL_SD_ERROR_NONE) 80ba1b2: 68fb ldr r3, [r7, #12] 80ba1b4: 2b00 cmp r3, #0 80ba1b6: d001 beq.n 80ba1bc { return errorstate; 80ba1b8: 68fb ldr r3, [r7, #12] 80ba1ba: e03b b.n 80ba234 } /* Send CMD41 */ errorstate = SDMMC_CmdAppOperCommand(hsd->Instance, SDMMC_VOLTAGE_WINDOW_SD | SDMMC_HIGH_CAPACITY | SD_SWITCH_1_8V_CAPACITY); 80ba1bc: 687b ldr r3, [r7, #4] 80ba1be: 681b ldr r3, [r3, #0] 80ba1c0: 491e ldr r1, [pc, #120] ; (80ba23c ) 80ba1c2: 4618 mov r0, r3 80ba1c4: f003 fb60 bl 80bd888 80ba1c8: 60f8 str r0, [r7, #12] if(errorstate != HAL_SD_ERROR_NONE) 80ba1ca: 68fb ldr r3, [r7, #12] 80ba1cc: 2b00 cmp r3, #0 80ba1ce: d002 beq.n 80ba1d6 { return HAL_SD_ERROR_UNSUPPORTED_FEATURE; 80ba1d0: f04f 5380 mov.w r3, #268435456 ; 0x10000000 80ba1d4: e02e b.n 80ba234 } /* Get command response */ response = SDMMC_GetResponse(hsd->Instance, SDMMC_RESP1); 80ba1d6: 687b ldr r3, [r7, #4] 80ba1d8: 681b ldr r3, [r3, #0] 80ba1da: 2100 movs r1, #0 80ba1dc: 4618 mov r0, r3 80ba1de: f003 f9c6 bl 80bd56e 80ba1e2: 6178 str r0, [r7, #20] /* Get operating voltage*/ validvoltage = (((response >> 31U) == 1U) ? 1U : 0U); 80ba1e4: 697b ldr r3, [r7, #20] 80ba1e6: 0fdb lsrs r3, r3, #31 80ba1e8: 2b01 cmp r3, #1 80ba1ea: d101 bne.n 80ba1f0 80ba1ec: 2301 movs r3, #1 80ba1ee: e000 b.n 80ba1f2 80ba1f0: 2300 movs r3, #0 80ba1f2: 613b str r3, [r7, #16] count++; 80ba1f4: 68bb ldr r3, [r7, #8] 80ba1f6: 3301 adds r3, #1 80ba1f8: 60bb str r3, [r7, #8] while((count < SDMMC_MAX_VOLT_TRIAL) && (validvoltage == 0U)) 80ba1fa: 68bb ldr r3, [r7, #8] 80ba1fc: f64f 72fe movw r2, #65534 ; 0xfffe 80ba200: 4293 cmp r3, r2 80ba202: d802 bhi.n 80ba20a 80ba204: 693b ldr r3, [r7, #16] 80ba206: 2b00 cmp r3, #0 80ba208: d0cc beq.n 80ba1a4 } if(count >= SDMMC_MAX_VOLT_TRIAL) 80ba20a: 68bb ldr r3, [r7, #8] 80ba20c: f64f 72fe movw r2, #65534 ; 0xfffe 80ba210: 4293 cmp r3, r2 80ba212: d902 bls.n 80ba21a { return HAL_SD_ERROR_INVALID_VOLTRANGE; 80ba214: f04f 7380 mov.w r3, #16777216 ; 0x1000000 80ba218: e00c b.n 80ba234 } if((response & SDMMC_HIGH_CAPACITY) == SDMMC_HIGH_CAPACITY) /* (response &= SD_HIGH_CAPACITY) */ 80ba21a: 697b ldr r3, [r7, #20] 80ba21c: f003 4380 and.w r3, r3, #1073741824 ; 0x40000000 80ba220: 2b00 cmp r3, #0 80ba222: d003 beq.n 80ba22c { hsd->SdCard.CardType = CARD_SDHC_SDXC; 80ba224: 687b ldr r3, [r7, #4] 80ba226: 2201 movs r2, #1 80ba228: 645a str r2, [r3, #68] ; 0x44 80ba22a: e002 b.n 80ba232 } else { hsd->SdCard.CardType = CARD_SDSC; 80ba22c: 687b ldr r3, [r7, #4] 80ba22e: 2200 movs r2, #0 80ba230: 645a str r2, [r3, #68] ; 0x44 } return HAL_SD_ERROR_NONE; 80ba232: 2300 movs r3, #0 } 80ba234: 4618 mov r0, r3 80ba236: 3718 adds r7, #24 80ba238: 46bd mov sp, r7 80ba23a: bd80 pop {r7, pc} 80ba23c: c1100000 .word 0xc1100000 080ba240 : * @brief Turns the SDMMC output signals off. * @param hsd: Pointer to SD handle * @retval None */ static void SD_PowerOFF(SD_HandleTypeDef *hsd) { 80ba240: b580 push {r7, lr} 80ba242: b082 sub sp, #8 80ba244: af00 add r7, sp, #0 80ba246: 6078 str r0, [r7, #4] /* Set Power State to OFF */ (void)SDMMC_PowerState_OFF(hsd->Instance); 80ba248: 687b ldr r3, [r7, #4] 80ba24a: 681b ldr r3, [r3, #0] 80ba24c: 4618 mov r0, r3 80ba24e: f003 f93b bl 80bd4c8 } 80ba252: bf00 nop 80ba254: 3708 adds r7, #8 80ba256: 46bd mov sp, r7 80ba258: bd80 pop {r7, pc} 080ba25a : * @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) { 80ba25a: b580 push {r7, lr} 80ba25c: b084 sub sp, #16 80ba25e: af00 add r7, sp, #0 80ba260: 6078 str r0, [r7, #4] 80ba262: 6039 str r1, [r7, #0] uint32_t errorstate; if(pCardStatus == NULL) 80ba264: 683b ldr r3, [r7, #0] 80ba266: 2b00 cmp r3, #0 80ba268: d102 bne.n 80ba270 { return HAL_SD_ERROR_PARAM; 80ba26a: f04f 6300 mov.w r3, #134217728 ; 0x8000000 80ba26e: e018 b.n 80ba2a2 } /* Send Status command */ errorstate = SDMMC_CmdSendStatus(hsd->Instance, (uint32_t)(hsd->SdCard.RelCardAdd << 16U)); 80ba270: 687b ldr r3, [r7, #4] 80ba272: 681a ldr r2, [r3, #0] 80ba274: 687b ldr r3, [r7, #4] 80ba276: 6d1b ldr r3, [r3, #80] ; 0x50 80ba278: 041b lsls r3, r3, #16 80ba27a: 4619 mov r1, r3 80ba27c: 4610 mov r0, r2 80ba27e: f003 fbc8 bl 80bda12 80ba282: 60f8 str r0, [r7, #12] if(errorstate != HAL_SD_ERROR_NONE) 80ba284: 68fb ldr r3, [r7, #12] 80ba286: 2b00 cmp r3, #0 80ba288: d001 beq.n 80ba28e { return errorstate; 80ba28a: 68fb ldr r3, [r7, #12] 80ba28c: e009 b.n 80ba2a2 } /* Get SD card status */ *pCardStatus = SDMMC_GetResponse(hsd->Instance, SDMMC_RESP1); 80ba28e: 687b ldr r3, [r7, #4] 80ba290: 681b ldr r3, [r3, #0] 80ba292: 2100 movs r1, #0 80ba294: 4618 mov r0, r3 80ba296: f003 f96a bl 80bd56e 80ba29a: 4602 mov r2, r0 80ba29c: 683b ldr r3, [r7, #0] 80ba29e: 601a str r2, [r3, #0] return HAL_SD_ERROR_NONE; 80ba2a0: 2300 movs r3, #0 } 80ba2a2: 4618 mov r0, r3 80ba2a4: 3710 adds r7, #16 80ba2a6: 46bd mov sp, r7 80ba2a8: bd80 pop {r7, pc} 080ba2aa : * @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) { 80ba2aa: b580 push {r7, lr} 80ba2ac: b086 sub sp, #24 80ba2ae: af00 add r7, sp, #0 80ba2b0: 6078 str r0, [r7, #4] uint32_t scr[2U] = {0U, 0U}; 80ba2b2: 2300 movs r3, #0 80ba2b4: 60fb str r3, [r7, #12] 80ba2b6: 2300 movs r3, #0 80ba2b8: 613b str r3, [r7, #16] uint32_t errorstate; if((SDMMC_GetResponse(hsd->Instance, SDMMC_RESP1) & SDMMC_CARD_LOCKED) == SDMMC_CARD_LOCKED) 80ba2ba: 687b ldr r3, [r7, #4] 80ba2bc: 681b ldr r3, [r3, #0] 80ba2be: 2100 movs r1, #0 80ba2c0: 4618 mov r0, r3 80ba2c2: f003 f954 bl 80bd56e 80ba2c6: 4603 mov r3, r0 80ba2c8: f003 7300 and.w r3, r3, #33554432 ; 0x2000000 80ba2cc: f1b3 7f00 cmp.w r3, #33554432 ; 0x2000000 80ba2d0: d102 bne.n 80ba2d8 { return HAL_SD_ERROR_LOCK_UNLOCK_FAILED; 80ba2d2: f44f 6300 mov.w r3, #2048 ; 0x800 80ba2d6: e02f b.n 80ba338 } /* Get SCR Register */ errorstate = SD_FindSCR(hsd, scr); 80ba2d8: f107 030c add.w r3, r7, #12 80ba2dc: 4619 mov r1, r3 80ba2de: 6878 ldr r0, [r7, #4] 80ba2e0: f000 f879 bl 80ba3d6 80ba2e4: 6178 str r0, [r7, #20] if(errorstate != HAL_SD_ERROR_NONE) 80ba2e6: 697b ldr r3, [r7, #20] 80ba2e8: 2b00 cmp r3, #0 80ba2ea: d001 beq.n 80ba2f0 { return errorstate; 80ba2ec: 697b ldr r3, [r7, #20] 80ba2ee: e023 b.n 80ba338 } /* If requested card supports wide bus operation */ if((scr[1U] & SDMMC_WIDE_BUS_SUPPORT) != SDMMC_ALLZERO) 80ba2f0: 693b ldr r3, [r7, #16] 80ba2f2: f403 2380 and.w r3, r3, #262144 ; 0x40000 80ba2f6: 2b00 cmp r3, #0 80ba2f8: d01c beq.n 80ba334 { /* Send CMD55 APP_CMD with argument as card's RCA.*/ errorstate = SDMMC_CmdAppCommand(hsd->Instance, (uint32_t)(hsd->SdCard.RelCardAdd << 16U)); 80ba2fa: 687b ldr r3, [r7, #4] 80ba2fc: 681a ldr r2, [r3, #0] 80ba2fe: 687b ldr r3, [r7, #4] 80ba300: 6d1b ldr r3, [r3, #80] ; 0x50 80ba302: 041b lsls r3, r3, #16 80ba304: 4619 mov r1, r3 80ba306: 4610 mov r0, r2 80ba308: f003 fa9c bl 80bd844 80ba30c: 6178 str r0, [r7, #20] if(errorstate != HAL_SD_ERROR_NONE) 80ba30e: 697b ldr r3, [r7, #20] 80ba310: 2b00 cmp r3, #0 80ba312: d001 beq.n 80ba318 { return errorstate; 80ba314: 697b ldr r3, [r7, #20] 80ba316: e00f b.n 80ba338 } /* Send ACMD6 APP_CMD with argument as 2 for wide bus mode */ errorstate = SDMMC_CmdBusWidth(hsd->Instance, 2U); 80ba318: 687b ldr r3, [r7, #4] 80ba31a: 681b ldr r3, [r3, #0] 80ba31c: 2102 movs r1, #2 80ba31e: 4618 mov r0, r3 80ba320: f003 fad6 bl 80bd8d0 80ba324: 6178 str r0, [r7, #20] if(errorstate != HAL_SD_ERROR_NONE) 80ba326: 697b ldr r3, [r7, #20] 80ba328: 2b00 cmp r3, #0 80ba32a: d001 beq.n 80ba330 { return errorstate; 80ba32c: 697b ldr r3, [r7, #20] 80ba32e: e003 b.n 80ba338 } return HAL_SD_ERROR_NONE; 80ba330: 2300 movs r3, #0 80ba332: e001 b.n 80ba338 } else { return HAL_SD_ERROR_REQUEST_NOT_APPLICABLE; 80ba334: f04f 6380 mov.w r3, #67108864 ; 0x4000000 } } 80ba338: 4618 mov r0, r3 80ba33a: 3718 adds r7, #24 80ba33c: 46bd mov sp, r7 80ba33e: bd80 pop {r7, pc} 080ba340 : * @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) { 80ba340: b580 push {r7, lr} 80ba342: b086 sub sp, #24 80ba344: af00 add r7, sp, #0 80ba346: 6078 str r0, [r7, #4] uint32_t scr[2U] = {0U, 0U}; 80ba348: 2300 movs r3, #0 80ba34a: 60fb str r3, [r7, #12] 80ba34c: 2300 movs r3, #0 80ba34e: 613b str r3, [r7, #16] uint32_t errorstate; if((SDMMC_GetResponse(hsd->Instance, SDMMC_RESP1) & SDMMC_CARD_LOCKED) == SDMMC_CARD_LOCKED) 80ba350: 687b ldr r3, [r7, #4] 80ba352: 681b ldr r3, [r3, #0] 80ba354: 2100 movs r1, #0 80ba356: 4618 mov r0, r3 80ba358: f003 f909 bl 80bd56e 80ba35c: 4603 mov r3, r0 80ba35e: f003 7300 and.w r3, r3, #33554432 ; 0x2000000 80ba362: f1b3 7f00 cmp.w r3, #33554432 ; 0x2000000 80ba366: d102 bne.n 80ba36e { return HAL_SD_ERROR_LOCK_UNLOCK_FAILED; 80ba368: f44f 6300 mov.w r3, #2048 ; 0x800 80ba36c: e02f b.n 80ba3ce } /* Get SCR Register */ errorstate = SD_FindSCR(hsd, scr); 80ba36e: f107 030c add.w r3, r7, #12 80ba372: 4619 mov r1, r3 80ba374: 6878 ldr r0, [r7, #4] 80ba376: f000 f82e bl 80ba3d6 80ba37a: 6178 str r0, [r7, #20] if(errorstate != HAL_SD_ERROR_NONE) 80ba37c: 697b ldr r3, [r7, #20] 80ba37e: 2b00 cmp r3, #0 80ba380: d001 beq.n 80ba386 { return errorstate; 80ba382: 697b ldr r3, [r7, #20] 80ba384: e023 b.n 80ba3ce } /* If requested card supports 1 bit mode operation */ if((scr[1U] & SDMMC_SINGLE_BUS_SUPPORT) != SDMMC_ALLZERO) 80ba386: 693b ldr r3, [r7, #16] 80ba388: f403 3380 and.w r3, r3, #65536 ; 0x10000 80ba38c: 2b00 cmp r3, #0 80ba38e: d01c beq.n 80ba3ca { /* Send CMD55 APP_CMD with argument as card's RCA */ errorstate = SDMMC_CmdAppCommand(hsd->Instance, (uint32_t)(hsd->SdCard.RelCardAdd << 16U)); 80ba390: 687b ldr r3, [r7, #4] 80ba392: 681a ldr r2, [r3, #0] 80ba394: 687b ldr r3, [r7, #4] 80ba396: 6d1b ldr r3, [r3, #80] ; 0x50 80ba398: 041b lsls r3, r3, #16 80ba39a: 4619 mov r1, r3 80ba39c: 4610 mov r0, r2 80ba39e: f003 fa51 bl 80bd844 80ba3a2: 6178 str r0, [r7, #20] if(errorstate != HAL_SD_ERROR_NONE) 80ba3a4: 697b ldr r3, [r7, #20] 80ba3a6: 2b00 cmp r3, #0 80ba3a8: d001 beq.n 80ba3ae { return errorstate; 80ba3aa: 697b ldr r3, [r7, #20] 80ba3ac: e00f b.n 80ba3ce } /* Send ACMD6 APP_CMD with argument as 0 for single bus mode */ errorstate = SDMMC_CmdBusWidth(hsd->Instance, 0U); 80ba3ae: 687b ldr r3, [r7, #4] 80ba3b0: 681b ldr r3, [r3, #0] 80ba3b2: 2100 movs r1, #0 80ba3b4: 4618 mov r0, r3 80ba3b6: f003 fa8b bl 80bd8d0 80ba3ba: 6178 str r0, [r7, #20] if(errorstate != HAL_SD_ERROR_NONE) 80ba3bc: 697b ldr r3, [r7, #20] 80ba3be: 2b00 cmp r3, #0 80ba3c0: d001 beq.n 80ba3c6 { return errorstate; 80ba3c2: 697b ldr r3, [r7, #20] 80ba3c4: e003 b.n 80ba3ce } return HAL_SD_ERROR_NONE; 80ba3c6: 2300 movs r3, #0 80ba3c8: e001 b.n 80ba3ce } else { return HAL_SD_ERROR_REQUEST_NOT_APPLICABLE; 80ba3ca: f04f 6380 mov.w r3, #67108864 ; 0x4000000 } } 80ba3ce: 4618 mov r0, r3 80ba3d0: 3718 adds r7, #24 80ba3d2: 46bd mov sp, r7 80ba3d4: bd80 pop {r7, pc} 080ba3d6 : * @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) { 80ba3d6: b590 push {r4, r7, lr} 80ba3d8: b08f sub sp, #60 ; 0x3c 80ba3da: af00 add r7, sp, #0 80ba3dc: 6078 str r0, [r7, #4] 80ba3de: 6039 str r1, [r7, #0] SDMMC_DataInitTypeDef config; uint32_t errorstate; uint32_t tickstart = HAL_GetTick(); 80ba3e0: f7f8 ff2a bl 80b3238 80ba3e4: 6338 str r0, [r7, #48] ; 0x30 uint32_t index = 0U; 80ba3e6: 2300 movs r3, #0 80ba3e8: 637b str r3, [r7, #52] ; 0x34 uint32_t tempscr[2U] = {0U, 0U}; 80ba3ea: 2300 movs r3, #0 80ba3ec: 60bb str r3, [r7, #8] 80ba3ee: 2300 movs r3, #0 80ba3f0: 60fb str r3, [r7, #12] uint32_t *scr = pSCR; 80ba3f2: 683b ldr r3, [r7, #0] 80ba3f4: 62fb str r3, [r7, #44] ; 0x2c /* Set Block Size To 8 Bytes */ errorstate = SDMMC_CmdBlockLength(hsd->Instance, 8U); 80ba3f6: 687b ldr r3, [r7, #4] 80ba3f8: 681b ldr r3, [r3, #0] 80ba3fa: 2108 movs r1, #8 80ba3fc: 4618 mov r0, r3 80ba3fe: f003 f8f5 bl 80bd5ec 80ba402: 62b8 str r0, [r7, #40] ; 0x28 if(errorstate != HAL_SD_ERROR_NONE) 80ba404: 6abb ldr r3, [r7, #40] ; 0x28 80ba406: 2b00 cmp r3, #0 80ba408: d001 beq.n 80ba40e { return errorstate; 80ba40a: 6abb ldr r3, [r7, #40] ; 0x28 80ba40c: e0b2 b.n 80ba574 } /* Send CMD55 APP_CMD with argument as card's RCA */ errorstate = SDMMC_CmdAppCommand(hsd->Instance, (uint32_t)((hsd->SdCard.RelCardAdd) << 16U)); 80ba40e: 687b ldr r3, [r7, #4] 80ba410: 681a ldr r2, [r3, #0] 80ba412: 687b ldr r3, [r7, #4] 80ba414: 6d1b ldr r3, [r3, #80] ; 0x50 80ba416: 041b lsls r3, r3, #16 80ba418: 4619 mov r1, r3 80ba41a: 4610 mov r0, r2 80ba41c: f003 fa12 bl 80bd844 80ba420: 62b8 str r0, [r7, #40] ; 0x28 if(errorstate != HAL_SD_ERROR_NONE) 80ba422: 6abb ldr r3, [r7, #40] ; 0x28 80ba424: 2b00 cmp r3, #0 80ba426: d001 beq.n 80ba42c { return errorstate; 80ba428: 6abb ldr r3, [r7, #40] ; 0x28 80ba42a: e0a3 b.n 80ba574 } config.DataTimeOut = SDMMC_DATATIMEOUT; 80ba42c: f04f 33ff mov.w r3, #4294967295 80ba430: 613b str r3, [r7, #16] config.DataLength = 8U; 80ba432: 2308 movs r3, #8 80ba434: 617b str r3, [r7, #20] config.DataBlockSize = SDMMC_DATABLOCK_SIZE_8B; 80ba436: 2330 movs r3, #48 ; 0x30 80ba438: 61bb str r3, [r7, #24] config.TransferDir = SDMMC_TRANSFER_DIR_TO_SDMMC; 80ba43a: 2302 movs r3, #2 80ba43c: 61fb str r3, [r7, #28] config.TransferMode = SDMMC_TRANSFER_MODE_BLOCK; 80ba43e: 2300 movs r3, #0 80ba440: 623b str r3, [r7, #32] config.DPSM = SDMMC_DPSM_ENABLE; 80ba442: 2301 movs r3, #1 80ba444: 627b str r3, [r7, #36] ; 0x24 (void)SDMMC_ConfigData(hsd->Instance, &config); 80ba446: 687b ldr r3, [r7, #4] 80ba448: 681b ldr r3, [r3, #0] 80ba44a: f107 0210 add.w r2, r7, #16 80ba44e: 4611 mov r1, r2 80ba450: 4618 mov r0, r3 80ba452: f003 f89f bl 80bd594 /* Send ACMD51 SD_APP_SEND_SCR with argument as 0 */ errorstate = SDMMC_CmdSendSCR(hsd->Instance); 80ba456: 687b ldr r3, [r7, #4] 80ba458: 681b ldr r3, [r3, #0] 80ba45a: 4618 mov r0, r3 80ba45c: f003 fa5a bl 80bd914 80ba460: 62b8 str r0, [r7, #40] ; 0x28 if(errorstate != HAL_SD_ERROR_NONE) 80ba462: 6abb ldr r3, [r7, #40] ; 0x28 80ba464: 2b00 cmp r3, #0 80ba466: d02a beq.n 80ba4be { return errorstate; 80ba468: 6abb ldr r3, [r7, #40] ; 0x28 80ba46a: e083 b.n 80ba574 } while(!__HAL_SD_GET_FLAG(hsd, SDMMC_FLAG_RXOVERR | SDMMC_FLAG_DCRCFAIL | SDMMC_FLAG_DTIMEOUT)) { if(__HAL_SD_GET_FLAG(hsd, SDMMC_FLAG_RXDAVL)) 80ba46c: 687b ldr r3, [r7, #4] 80ba46e: 681b ldr r3, [r3, #0] 80ba470: 6b5b ldr r3, [r3, #52] ; 0x34 80ba472: f403 1300 and.w r3, r3, #2097152 ; 0x200000 80ba476: 2b00 cmp r3, #0 80ba478: d00f beq.n 80ba49a { *(tempscr + index) = SDMMC_ReadFIFO(hsd->Instance); 80ba47a: 6b7b ldr r3, [r7, #52] ; 0x34 80ba47c: 009b lsls r3, r3, #2 80ba47e: f107 0208 add.w r2, r7, #8 80ba482: 18d4 adds r4, r2, r3 80ba484: 687b ldr r3, [r7, #4] 80ba486: 681b ldr r3, [r3, #0] 80ba488: 4618 mov r0, r3 80ba48a: f002 fff1 bl 80bd470 80ba48e: 4603 mov r3, r0 80ba490: 6023 str r3, [r4, #0] index++; 80ba492: 6b7b ldr r3, [r7, #52] ; 0x34 80ba494: 3301 adds r3, #1 80ba496: 637b str r3, [r7, #52] ; 0x34 80ba498: e006 b.n 80ba4a8 } else if(!__HAL_SD_GET_FLAG(hsd, SDMMC_FLAG_RXACT)) 80ba49a: 687b ldr r3, [r7, #4] 80ba49c: 681b ldr r3, [r3, #0] 80ba49e: 6b5b ldr r3, [r3, #52] ; 0x34 80ba4a0: f403 5300 and.w r3, r3, #8192 ; 0x2000 80ba4a4: 2b00 cmp r3, #0 80ba4a6: d012 beq.n 80ba4ce { break; } if((HAL_GetTick() - tickstart) >= SDMMC_DATATIMEOUT) 80ba4a8: f7f8 fec6 bl 80b3238 80ba4ac: 4602 mov r2, r0 80ba4ae: 6b3b ldr r3, [r7, #48] ; 0x30 80ba4b0: 1ad3 subs r3, r2, r3 80ba4b2: f1b3 3fff cmp.w r3, #4294967295 80ba4b6: d102 bne.n 80ba4be { return HAL_SD_ERROR_TIMEOUT; 80ba4b8: f04f 4300 mov.w r3, #2147483648 ; 0x80000000 80ba4bc: e05a b.n 80ba574 while(!__HAL_SD_GET_FLAG(hsd, SDMMC_FLAG_RXOVERR | SDMMC_FLAG_DCRCFAIL | SDMMC_FLAG_DTIMEOUT)) 80ba4be: 687b ldr r3, [r7, #4] 80ba4c0: 681b ldr r3, [r3, #0] 80ba4c2: 6b5b ldr r3, [r3, #52] ; 0x34 80ba4c4: f003 032a and.w r3, r3, #42 ; 0x2a 80ba4c8: 2b00 cmp r3, #0 80ba4ca: d0cf beq.n 80ba46c 80ba4cc: e000 b.n 80ba4d0 break; 80ba4ce: bf00 nop } } if(__HAL_SD_GET_FLAG(hsd, SDMMC_FLAG_DTIMEOUT)) 80ba4d0: 687b ldr r3, [r7, #4] 80ba4d2: 681b ldr r3, [r3, #0] 80ba4d4: 6b5b ldr r3, [r3, #52] ; 0x34 80ba4d6: f003 0308 and.w r3, r3, #8 80ba4da: 2b00 cmp r3, #0 80ba4dc: d005 beq.n 80ba4ea { __HAL_SD_CLEAR_FLAG(hsd, SDMMC_FLAG_DTIMEOUT); 80ba4de: 687b ldr r3, [r7, #4] 80ba4e0: 681b ldr r3, [r3, #0] 80ba4e2: 2208 movs r2, #8 80ba4e4: 639a str r2, [r3, #56] ; 0x38 return HAL_SD_ERROR_DATA_TIMEOUT; 80ba4e6: 2308 movs r3, #8 80ba4e8: e044 b.n 80ba574 } else if(__HAL_SD_GET_FLAG(hsd, SDMMC_FLAG_DCRCFAIL)) 80ba4ea: 687b ldr r3, [r7, #4] 80ba4ec: 681b ldr r3, [r3, #0] 80ba4ee: 6b5b ldr r3, [r3, #52] ; 0x34 80ba4f0: f003 0302 and.w r3, r3, #2 80ba4f4: 2b00 cmp r3, #0 80ba4f6: d005 beq.n 80ba504 { __HAL_SD_CLEAR_FLAG(hsd, SDMMC_FLAG_DCRCFAIL); 80ba4f8: 687b ldr r3, [r7, #4] 80ba4fa: 681b ldr r3, [r3, #0] 80ba4fc: 2202 movs r2, #2 80ba4fe: 639a str r2, [r3, #56] ; 0x38 return HAL_SD_ERROR_DATA_CRC_FAIL; 80ba500: 2302 movs r3, #2 80ba502: e037 b.n 80ba574 } else if(__HAL_SD_GET_FLAG(hsd, SDMMC_FLAG_RXOVERR)) 80ba504: 687b ldr r3, [r7, #4] 80ba506: 681b ldr r3, [r3, #0] 80ba508: 6b5b ldr r3, [r3, #52] ; 0x34 80ba50a: f003 0320 and.w r3, r3, #32 80ba50e: 2b00 cmp r3, #0 80ba510: d005 beq.n 80ba51e { __HAL_SD_CLEAR_FLAG(hsd, SDMMC_FLAG_RXOVERR); 80ba512: 687b ldr r3, [r7, #4] 80ba514: 681b ldr r3, [r3, #0] 80ba516: 2220 movs r2, #32 80ba518: 639a str r2, [r3, #56] ; 0x38 return HAL_SD_ERROR_RX_OVERRUN; 80ba51a: 2320 movs r3, #32 80ba51c: e02a b.n 80ba574 } else { /* No error flag set */ /* Clear all the static flags */ __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_DATA_FLAGS); 80ba51e: 687b ldr r3, [r7, #4] 80ba520: 681b ldr r3, [r3, #0] 80ba522: f240 523a movw r2, #1338 ; 0x53a 80ba526: 639a str r2, [r3, #56] ; 0x38 *scr = (((tempscr[1] & SDMMC_0TO7BITS) << 24) | ((tempscr[1] & SDMMC_8TO15BITS) << 8) |\ 80ba528: 68fb ldr r3, [r7, #12] 80ba52a: 061a lsls r2, r3, #24 80ba52c: 68fb ldr r3, [r7, #12] 80ba52e: 021b lsls r3, r3, #8 80ba530: f403 037f and.w r3, r3, #16711680 ; 0xff0000 80ba534: 431a orrs r2, r3 ((tempscr[1] & SDMMC_16TO23BITS) >> 8) | ((tempscr[1] & SDMMC_24TO31BITS) >> 24)); 80ba536: 68fb ldr r3, [r7, #12] 80ba538: 0a1b lsrs r3, r3, #8 80ba53a: f403 437f and.w r3, r3, #65280 ; 0xff00 *scr = (((tempscr[1] & SDMMC_0TO7BITS) << 24) | ((tempscr[1] & SDMMC_8TO15BITS) << 8) |\ 80ba53e: 431a orrs r2, r3 ((tempscr[1] & SDMMC_16TO23BITS) >> 8) | ((tempscr[1] & SDMMC_24TO31BITS) >> 24)); 80ba540: 68fb ldr r3, [r7, #12] 80ba542: 0e1b lsrs r3, r3, #24 80ba544: 431a orrs r2, r3 *scr = (((tempscr[1] & SDMMC_0TO7BITS) << 24) | ((tempscr[1] & SDMMC_8TO15BITS) << 8) |\ 80ba546: 6afb ldr r3, [r7, #44] ; 0x2c 80ba548: 601a str r2, [r3, #0] scr++; 80ba54a: 6afb ldr r3, [r7, #44] ; 0x2c 80ba54c: 3304 adds r3, #4 80ba54e: 62fb str r3, [r7, #44] ; 0x2c *scr = (((tempscr[0] & SDMMC_0TO7BITS) << 24) | ((tempscr[0] & SDMMC_8TO15BITS) << 8) |\ 80ba550: 68bb ldr r3, [r7, #8] 80ba552: 061a lsls r2, r3, #24 80ba554: 68bb ldr r3, [r7, #8] 80ba556: 021b lsls r3, r3, #8 80ba558: f403 037f and.w r3, r3, #16711680 ; 0xff0000 80ba55c: 431a orrs r2, r3 ((tempscr[0] & SDMMC_16TO23BITS) >> 8) | ((tempscr[0] & SDMMC_24TO31BITS) >> 24)); 80ba55e: 68bb ldr r3, [r7, #8] 80ba560: 0a1b lsrs r3, r3, #8 80ba562: f403 437f and.w r3, r3, #65280 ; 0xff00 *scr = (((tempscr[0] & SDMMC_0TO7BITS) << 24) | ((tempscr[0] & SDMMC_8TO15BITS) << 8) |\ 80ba566: 431a orrs r2, r3 ((tempscr[0] & SDMMC_16TO23BITS) >> 8) | ((tempscr[0] & SDMMC_24TO31BITS) >> 24)); 80ba568: 68bb ldr r3, [r7, #8] 80ba56a: 0e1b lsrs r3, r3, #24 80ba56c: 431a orrs r2, r3 *scr = (((tempscr[0] & SDMMC_0TO7BITS) << 24) | ((tempscr[0] & SDMMC_8TO15BITS) << 8) |\ 80ba56e: 6afb ldr r3, [r7, #44] ; 0x2c 80ba570: 601a str r2, [r3, #0] } return HAL_SD_ERROR_NONE; 80ba572: 2300 movs r3, #0 } 80ba574: 4618 mov r0, r3 80ba576: 373c adds r7, #60 ; 0x3c 80ba578: 46bd mov sp, r7 80ba57a: bd90 pop {r4, r7, pc} 080ba57c : * @param hsd: pointer to a SD_HandleTypeDef structure that contains * the configuration information. * @retval None */ static void SD_Read_IT(SD_HandleTypeDef *hsd) { 80ba57c: b580 push {r7, lr} 80ba57e: b086 sub sp, #24 80ba580: af00 add r7, sp, #0 80ba582: 6078 str r0, [r7, #4] uint32_t count, data, dataremaining; uint8_t* tmp; tmp = hsd->pRxBuffPtr; 80ba584: 687b ldr r3, [r7, #4] 80ba586: 6a9b ldr r3, [r3, #40] ; 0x28 80ba588: 60fb str r3, [r7, #12] dataremaining = hsd->RxXferSize; 80ba58a: 687b ldr r3, [r7, #4] 80ba58c: 6adb ldr r3, [r3, #44] ; 0x2c 80ba58e: 613b str r3, [r7, #16] if (dataremaining > 0U) 80ba590: 693b ldr r3, [r7, #16] 80ba592: 2b00 cmp r3, #0 80ba594: d03f beq.n 80ba616 { /* Read data from SDMMC Rx FIFO */ for(count = 0U; count < 8U; count++) 80ba596: 2300 movs r3, #0 80ba598: 617b str r3, [r7, #20] 80ba59a: e033 b.n 80ba604 { data = SDMMC_ReadFIFO(hsd->Instance); 80ba59c: 687b ldr r3, [r7, #4] 80ba59e: 681b ldr r3, [r3, #0] 80ba5a0: 4618 mov r0, r3 80ba5a2: f002 ff65 bl 80bd470 80ba5a6: 60b8 str r0, [r7, #8] *tmp = (uint8_t)(data & 0xFFU); 80ba5a8: 68bb ldr r3, [r7, #8] 80ba5aa: b2da uxtb r2, r3 80ba5ac: 68fb ldr r3, [r7, #12] 80ba5ae: 701a strb r2, [r3, #0] tmp++; 80ba5b0: 68fb ldr r3, [r7, #12] 80ba5b2: 3301 adds r3, #1 80ba5b4: 60fb str r3, [r7, #12] dataremaining--; 80ba5b6: 693b ldr r3, [r7, #16] 80ba5b8: 3b01 subs r3, #1 80ba5ba: 613b str r3, [r7, #16] *tmp = (uint8_t)((data >> 8U) & 0xFFU); 80ba5bc: 68bb ldr r3, [r7, #8] 80ba5be: 0a1b lsrs r3, r3, #8 80ba5c0: b2da uxtb r2, r3 80ba5c2: 68fb ldr r3, [r7, #12] 80ba5c4: 701a strb r2, [r3, #0] tmp++; 80ba5c6: 68fb ldr r3, [r7, #12] 80ba5c8: 3301 adds r3, #1 80ba5ca: 60fb str r3, [r7, #12] dataremaining--; 80ba5cc: 693b ldr r3, [r7, #16] 80ba5ce: 3b01 subs r3, #1 80ba5d0: 613b str r3, [r7, #16] *tmp = (uint8_t)((data >> 16U) & 0xFFU); 80ba5d2: 68bb ldr r3, [r7, #8] 80ba5d4: 0c1b lsrs r3, r3, #16 80ba5d6: b2da uxtb r2, r3 80ba5d8: 68fb ldr r3, [r7, #12] 80ba5da: 701a strb r2, [r3, #0] tmp++; 80ba5dc: 68fb ldr r3, [r7, #12] 80ba5de: 3301 adds r3, #1 80ba5e0: 60fb str r3, [r7, #12] dataremaining--; 80ba5e2: 693b ldr r3, [r7, #16] 80ba5e4: 3b01 subs r3, #1 80ba5e6: 613b str r3, [r7, #16] *tmp = (uint8_t)((data >> 24U) & 0xFFU); 80ba5e8: 68bb ldr r3, [r7, #8] 80ba5ea: 0e1b lsrs r3, r3, #24 80ba5ec: b2da uxtb r2, r3 80ba5ee: 68fb ldr r3, [r7, #12] 80ba5f0: 701a strb r2, [r3, #0] tmp++; 80ba5f2: 68fb ldr r3, [r7, #12] 80ba5f4: 3301 adds r3, #1 80ba5f6: 60fb str r3, [r7, #12] dataremaining--; 80ba5f8: 693b ldr r3, [r7, #16] 80ba5fa: 3b01 subs r3, #1 80ba5fc: 613b str r3, [r7, #16] for(count = 0U; count < 8U; count++) 80ba5fe: 697b ldr r3, [r7, #20] 80ba600: 3301 adds r3, #1 80ba602: 617b str r3, [r7, #20] 80ba604: 697b ldr r3, [r7, #20] 80ba606: 2b07 cmp r3, #7 80ba608: d9c8 bls.n 80ba59c } hsd->pRxBuffPtr = tmp; 80ba60a: 687b ldr r3, [r7, #4] 80ba60c: 68fa ldr r2, [r7, #12] 80ba60e: 629a str r2, [r3, #40] ; 0x28 hsd->RxXferSize = dataremaining; 80ba610: 687b ldr r3, [r7, #4] 80ba612: 693a ldr r2, [r7, #16] 80ba614: 62da str r2, [r3, #44] ; 0x2c } } 80ba616: bf00 nop 80ba618: 3718 adds r7, #24 80ba61a: 46bd mov sp, r7 80ba61c: bd80 pop {r7, pc} 080ba61e : * @param hsd: pointer to a SD_HandleTypeDef structure that contains * the configuration information. * @retval None */ static void SD_Write_IT(SD_HandleTypeDef *hsd) { 80ba61e: b580 push {r7, lr} 80ba620: b086 sub sp, #24 80ba622: af00 add r7, sp, #0 80ba624: 6078 str r0, [r7, #4] uint32_t count, data, dataremaining; uint8_t* tmp; tmp = hsd->pTxBuffPtr; 80ba626: 687b ldr r3, [r7, #4] 80ba628: 6a1b ldr r3, [r3, #32] 80ba62a: 60fb str r3, [r7, #12] dataremaining = hsd->TxXferSize; 80ba62c: 687b ldr r3, [r7, #4] 80ba62e: 6a5b ldr r3, [r3, #36] ; 0x24 80ba630: 613b str r3, [r7, #16] if (dataremaining > 0U) 80ba632: 693b ldr r3, [r7, #16] 80ba634: 2b00 cmp r3, #0 80ba636: d043 beq.n 80ba6c0 { /* Write data to SDMMC Tx FIFO */ for(count = 0U; count < 8U; count++) 80ba638: 2300 movs r3, #0 80ba63a: 617b str r3, [r7, #20] 80ba63c: e037 b.n 80ba6ae { data = (uint32_t)(*tmp); 80ba63e: 68fb ldr r3, [r7, #12] 80ba640: 781b ldrb r3, [r3, #0] 80ba642: 60bb str r3, [r7, #8] tmp++; 80ba644: 68fb ldr r3, [r7, #12] 80ba646: 3301 adds r3, #1 80ba648: 60fb str r3, [r7, #12] dataremaining--; 80ba64a: 693b ldr r3, [r7, #16] 80ba64c: 3b01 subs r3, #1 80ba64e: 613b str r3, [r7, #16] data |= ((uint32_t)(*tmp) << 8U); 80ba650: 68fb ldr r3, [r7, #12] 80ba652: 781b ldrb r3, [r3, #0] 80ba654: 021a lsls r2, r3, #8 80ba656: 68bb ldr r3, [r7, #8] 80ba658: 4313 orrs r3, r2 80ba65a: 60bb str r3, [r7, #8] tmp++; 80ba65c: 68fb ldr r3, [r7, #12] 80ba65e: 3301 adds r3, #1 80ba660: 60fb str r3, [r7, #12] dataremaining--; 80ba662: 693b ldr r3, [r7, #16] 80ba664: 3b01 subs r3, #1 80ba666: 613b str r3, [r7, #16] data |= ((uint32_t)(*tmp) << 16U); 80ba668: 68fb ldr r3, [r7, #12] 80ba66a: 781b ldrb r3, [r3, #0] 80ba66c: 041a lsls r2, r3, #16 80ba66e: 68bb ldr r3, [r7, #8] 80ba670: 4313 orrs r3, r2 80ba672: 60bb str r3, [r7, #8] tmp++; 80ba674: 68fb ldr r3, [r7, #12] 80ba676: 3301 adds r3, #1 80ba678: 60fb str r3, [r7, #12] dataremaining--; 80ba67a: 693b ldr r3, [r7, #16] 80ba67c: 3b01 subs r3, #1 80ba67e: 613b str r3, [r7, #16] data |= ((uint32_t)(*tmp) << 24U); 80ba680: 68fb ldr r3, [r7, #12] 80ba682: 781b ldrb r3, [r3, #0] 80ba684: 061a lsls r2, r3, #24 80ba686: 68bb ldr r3, [r7, #8] 80ba688: 4313 orrs r3, r2 80ba68a: 60bb str r3, [r7, #8] tmp++; 80ba68c: 68fb ldr r3, [r7, #12] 80ba68e: 3301 adds r3, #1 80ba690: 60fb str r3, [r7, #12] dataremaining--; 80ba692: 693b ldr r3, [r7, #16] 80ba694: 3b01 subs r3, #1 80ba696: 613b str r3, [r7, #16] (void)SDMMC_WriteFIFO(hsd->Instance, &data); 80ba698: 687b ldr r3, [r7, #4] 80ba69a: 681b ldr r3, [r3, #0] 80ba69c: f107 0208 add.w r2, r7, #8 80ba6a0: 4611 mov r1, r2 80ba6a2: 4618 mov r0, r3 80ba6a4: f002 fef1 bl 80bd48a for(count = 0U; count < 8U; count++) 80ba6a8: 697b ldr r3, [r7, #20] 80ba6aa: 3301 adds r3, #1 80ba6ac: 617b str r3, [r7, #20] 80ba6ae: 697b ldr r3, [r7, #20] 80ba6b0: 2b07 cmp r3, #7 80ba6b2: d9c4 bls.n 80ba63e } hsd->pTxBuffPtr = tmp; 80ba6b4: 687b ldr r3, [r7, #4] 80ba6b6: 68fa ldr r2, [r7, #12] 80ba6b8: 621a str r2, [r3, #32] hsd->TxXferSize = dataremaining; 80ba6ba: 687b ldr r3, [r7, #4] 80ba6bc: 693a ldr r2, [r7, #16] 80ba6be: 625a str r2, [r3, #36] ; 0x24 } } 80ba6c0: bf00 nop 80ba6c2: 3718 adds r7, #24 80ba6c4: 46bd mov sp, r7 80ba6c6: bd80 pop {r7, pc} 080ba6c8 : * @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) { 80ba6c8: b580 push {r7, lr} 80ba6ca: b084 sub sp, #16 80ba6cc: af00 add r7, sp, #0 80ba6ce: 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); 80ba6d0: 687b ldr r3, [r7, #4] 80ba6d2: 681b ldr r3, [r3, #0] 80ba6d4: 699b ldr r3, [r3, #24] 80ba6d6: 60fb str r3, [r7, #12] uint32_t tmpcr1value = READ_REG(hsmbus->Instance->CR1); 80ba6d8: 687b ldr r3, [r7, #4] 80ba6da: 681b ldr r3, [r3, #0] 80ba6dc: 681b ldr r3, [r3, #0] 80ba6de: 60bb str r3, [r7, #8] /* SMBUS in mode Transmitter ---------------------------------------------------*/ if ((SMBUS_CHECK_IT_SOURCE(tmpcr1value, (SMBUS_IT_TCI | SMBUS_IT_STOPI | 80ba6e0: 68bb ldr r3, [r7, #8] 80ba6e2: f003 0372 and.w r3, r3, #114 ; 0x72 80ba6e6: 2b72 cmp r3, #114 ; 0x72 80ba6e8: d12d bne.n 80ba746 SMBUS_IT_NACKI | SMBUS_IT_TXI)) != RESET) && ((SMBUS_CHECK_FLAG(tmpisrvalue, SMBUS_FLAG_TXIS) != RESET) || 80ba6ea: 68fb ldr r3, [r7, #12] 80ba6ec: f003 0302 and.w r3, r3, #2 SMBUS_IT_NACKI | SMBUS_IT_TXI)) != RESET) && 80ba6f0: 2b00 cmp r3, #0 80ba6f2: d113 bne.n 80ba71c (SMBUS_CHECK_FLAG(tmpisrvalue, SMBUS_FLAG_TCR) != RESET) || 80ba6f4: 68fb ldr r3, [r7, #12] 80ba6f6: f003 0380 and.w r3, r3, #128 ; 0x80 ((SMBUS_CHECK_FLAG(tmpisrvalue, SMBUS_FLAG_TXIS) != RESET) || 80ba6fa: 2b00 cmp r3, #0 80ba6fc: d10e bne.n 80ba71c (SMBUS_CHECK_FLAG(tmpisrvalue, SMBUS_FLAG_TC) != RESET) || 80ba6fe: 68fb ldr r3, [r7, #12] 80ba700: f003 0340 and.w r3, r3, #64 ; 0x40 (SMBUS_CHECK_FLAG(tmpisrvalue, SMBUS_FLAG_TCR) != RESET) || 80ba704: 2b00 cmp r3, #0 80ba706: d109 bne.n 80ba71c (SMBUS_CHECK_FLAG(tmpisrvalue, SMBUS_FLAG_STOPF) != RESET) || 80ba708: 68fb ldr r3, [r7, #12] 80ba70a: f003 0320 and.w r3, r3, #32 (SMBUS_CHECK_FLAG(tmpisrvalue, SMBUS_FLAG_TC) != RESET) || 80ba70e: 2b00 cmp r3, #0 80ba710: d104 bne.n 80ba71c (SMBUS_CHECK_FLAG(tmpisrvalue, SMBUS_FLAG_AF) != RESET))) 80ba712: 68fb ldr r3, [r7, #12] 80ba714: f003 0310 and.w r3, r3, #16 (SMBUS_CHECK_FLAG(tmpisrvalue, SMBUS_FLAG_STOPF) != RESET) || 80ba718: 2b00 cmp r3, #0 80ba71a: d014 beq.n 80ba746 { /* Slave mode selected */ if ((hsmbus->State & HAL_SMBUS_STATE_SLAVE_BUSY_TX) == HAL_SMBUS_STATE_SLAVE_BUSY_TX) 80ba71c: 687b ldr r3, [r7, #4] 80ba71e: 6c9b ldr r3, [r3, #72] ; 0x48 80ba720: f003 0332 and.w r3, r3, #50 ; 0x32 80ba724: 2b32 cmp r3, #50 ; 0x32 80ba726: d104 bne.n 80ba732 { (void)SMBUS_Slave_ISR(hsmbus, tmpisrvalue); 80ba728: 68f9 ldr r1, [r7, #12] 80ba72a: 6878 ldr r0, [r7, #4] 80ba72c: f000 fa80 bl 80bac30 80ba730: e009 b.n 80ba746 } /* Master mode selected */ else if ((hsmbus->State & HAL_SMBUS_STATE_MASTER_BUSY_TX) == HAL_SMBUS_STATE_MASTER_BUSY_TX) 80ba732: 687b ldr r3, [r7, #4] 80ba734: 6c9b ldr r3, [r3, #72] ; 0x48 80ba736: f003 0312 and.w r3, r3, #18 80ba73a: 2b12 cmp r3, #18 80ba73c: d103 bne.n 80ba746 { (void)SMBUS_Master_ISR(hsmbus, tmpisrvalue); 80ba73e: 68f9 ldr r1, [r7, #12] 80ba740: 6878 ldr r0, [r7, #4] 80ba742: f000 f8a1 bl 80ba888 /* Nothing to do */ } } /* SMBUS in mode Receiver ----------------------------------------------------*/ if ((SMBUS_CHECK_IT_SOURCE(tmpcr1value, (SMBUS_IT_TCI | SMBUS_IT_STOPI | 80ba746: 68bb ldr r3, [r7, #8] 80ba748: f003 0374 and.w r3, r3, #116 ; 0x74 80ba74c: 2b74 cmp r3, #116 ; 0x74 80ba74e: d12d bne.n 80ba7ac SMBUS_IT_NACKI | SMBUS_IT_RXI)) != RESET) && ((SMBUS_CHECK_FLAG(tmpisrvalue, SMBUS_FLAG_RXNE) != RESET) || 80ba750: 68fb ldr r3, [r7, #12] 80ba752: f003 0304 and.w r3, r3, #4 SMBUS_IT_NACKI | SMBUS_IT_RXI)) != RESET) && 80ba756: 2b00 cmp r3, #0 80ba758: d113 bne.n 80ba782 (SMBUS_CHECK_FLAG(tmpisrvalue, SMBUS_FLAG_TCR) != RESET) || 80ba75a: 68fb ldr r3, [r7, #12] 80ba75c: f003 0380 and.w r3, r3, #128 ; 0x80 ((SMBUS_CHECK_FLAG(tmpisrvalue, SMBUS_FLAG_RXNE) != RESET) || 80ba760: 2b00 cmp r3, #0 80ba762: d10e bne.n 80ba782 (SMBUS_CHECK_FLAG(tmpisrvalue, SMBUS_FLAG_TC) != RESET) || 80ba764: 68fb ldr r3, [r7, #12] 80ba766: f003 0340 and.w r3, r3, #64 ; 0x40 (SMBUS_CHECK_FLAG(tmpisrvalue, SMBUS_FLAG_TCR) != RESET) || 80ba76a: 2b00 cmp r3, #0 80ba76c: d109 bne.n 80ba782 (SMBUS_CHECK_FLAG(tmpisrvalue, SMBUS_FLAG_STOPF) != RESET) || 80ba76e: 68fb ldr r3, [r7, #12] 80ba770: f003 0320 and.w r3, r3, #32 (SMBUS_CHECK_FLAG(tmpisrvalue, SMBUS_FLAG_TC) != RESET) || 80ba774: 2b00 cmp r3, #0 80ba776: d104 bne.n 80ba782 (SMBUS_CHECK_FLAG(tmpisrvalue, SMBUS_FLAG_AF) != RESET))) 80ba778: 68fb ldr r3, [r7, #12] 80ba77a: f003 0310 and.w r3, r3, #16 (SMBUS_CHECK_FLAG(tmpisrvalue, SMBUS_FLAG_STOPF) != RESET) || 80ba77e: 2b00 cmp r3, #0 80ba780: d014 beq.n 80ba7ac { /* Slave mode selected */ if ((hsmbus->State & HAL_SMBUS_STATE_SLAVE_BUSY_RX) == HAL_SMBUS_STATE_SLAVE_BUSY_RX) 80ba782: 687b ldr r3, [r7, #4] 80ba784: 6c9b ldr r3, [r3, #72] ; 0x48 80ba786: f003 0342 and.w r3, r3, #66 ; 0x42 80ba78a: 2b42 cmp r3, #66 ; 0x42 80ba78c: d104 bne.n 80ba798 { (void)SMBUS_Slave_ISR(hsmbus, tmpisrvalue); 80ba78e: 68f9 ldr r1, [r7, #12] 80ba790: 6878 ldr r0, [r7, #4] 80ba792: f000 fa4d bl 80bac30 80ba796: e009 b.n 80ba7ac } /* Master mode selected */ else if ((hsmbus->State & HAL_SMBUS_STATE_MASTER_BUSY_RX) == HAL_SMBUS_STATE_MASTER_BUSY_RX) 80ba798: 687b ldr r3, [r7, #4] 80ba79a: 6c9b ldr r3, [r3, #72] ; 0x48 80ba79c: f003 0322 and.w r3, r3, #34 ; 0x22 80ba7a0: 2b22 cmp r3, #34 ; 0x22 80ba7a2: d103 bne.n 80ba7ac { (void)SMBUS_Master_ISR(hsmbus, tmpisrvalue); 80ba7a4: 68f9 ldr r1, [r7, #12] 80ba7a6: 6878 ldr r0, [r7, #4] 80ba7a8: f000 f86e bl 80ba888 /* Nothing to do */ } } /* SMBUS in mode Listener Only --------------------------------------------------*/ if (((SMBUS_CHECK_IT_SOURCE(tmpcr1value, SMBUS_IT_ADDRI) != RESET) || 80ba7ac: 68bb ldr r3, [r7, #8] 80ba7ae: f003 0308 and.w r3, r3, #8 80ba7b2: 2b00 cmp r3, #0 80ba7b4: d109 bne.n 80ba7ca (SMBUS_CHECK_IT_SOURCE(tmpcr1value, SMBUS_IT_STOPI) != RESET) || 80ba7b6: 68bb ldr r3, [r7, #8] 80ba7b8: f003 0320 and.w r3, r3, #32 if (((SMBUS_CHECK_IT_SOURCE(tmpcr1value, SMBUS_IT_ADDRI) != RESET) || 80ba7bc: 2b00 cmp r3, #0 80ba7be: d104 bne.n 80ba7ca (SMBUS_CHECK_IT_SOURCE(tmpcr1value, SMBUS_IT_NACKI) != RESET)) && 80ba7c0: 68bb ldr r3, [r7, #8] 80ba7c2: f003 0310 and.w r3, r3, #16 (SMBUS_CHECK_IT_SOURCE(tmpcr1value, SMBUS_IT_STOPI) != RESET) || 80ba7c6: 2b00 cmp r3, #0 80ba7c8: d018 beq.n 80ba7fc ((SMBUS_CHECK_FLAG(tmpisrvalue, SMBUS_FLAG_ADDR) != RESET) || 80ba7ca: 68fb ldr r3, [r7, #12] 80ba7cc: f003 0308 and.w r3, r3, #8 (SMBUS_CHECK_IT_SOURCE(tmpcr1value, SMBUS_IT_NACKI) != RESET)) && 80ba7d0: 2b00 cmp r3, #0 80ba7d2: d109 bne.n 80ba7e8 (SMBUS_CHECK_FLAG(tmpisrvalue, SMBUS_FLAG_STOPF) != RESET) || 80ba7d4: 68fb ldr r3, [r7, #12] 80ba7d6: f003 0320 and.w r3, r3, #32 ((SMBUS_CHECK_FLAG(tmpisrvalue, SMBUS_FLAG_ADDR) != RESET) || 80ba7da: 2b00 cmp r3, #0 80ba7dc: d104 bne.n 80ba7e8 (SMBUS_CHECK_FLAG(tmpisrvalue, SMBUS_FLAG_AF) != RESET))) 80ba7de: 68fb ldr r3, [r7, #12] 80ba7e0: f003 0310 and.w r3, r3, #16 (SMBUS_CHECK_FLAG(tmpisrvalue, SMBUS_FLAG_STOPF) != RESET) || 80ba7e4: 2b00 cmp r3, #0 80ba7e6: d009 beq.n 80ba7fc { if ((hsmbus->State & HAL_SMBUS_STATE_LISTEN) == HAL_SMBUS_STATE_LISTEN) 80ba7e8: 687b ldr r3, [r7, #4] 80ba7ea: 6c9b ldr r3, [r3, #72] ; 0x48 80ba7ec: f003 0308 and.w r3, r3, #8 80ba7f0: 2b08 cmp r3, #8 80ba7f2: d103 bne.n 80ba7fc { (void)SMBUS_Slave_ISR(hsmbus, tmpisrvalue); 80ba7f4: 68f9 ldr r1, [r7, #12] 80ba7f6: 6878 ldr r0, [r7, #4] 80ba7f8: f000 fa1a bl 80bac30 } } } 80ba7fc: bf00 nop 80ba7fe: 3710 adds r7, #16 80ba800: 46bd mov sp, r7 80ba802: bd80 pop {r7, pc} 080ba804 : * @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) { 80ba804: b580 push {r7, lr} 80ba806: b082 sub sp, #8 80ba808: af00 add r7, sp, #0 80ba80a: 6078 str r0, [r7, #4] SMBUS_ITErrorHandler(hsmbus); 80ba80c: 6878 ldr r0, [r7, #4] 80ba80e: f000 fc6c bl 80bb0ea } 80ba812: bf00 nop 80ba814: 3708 adds r7, #8 80ba816: 46bd mov sp, r7 80ba818: bd80 pop {r7, pc} 080ba81a : * @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) { 80ba81a: b480 push {r7} 80ba81c: b083 sub sp, #12 80ba81e: af00 add r7, sp, #0 80ba820: 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 */ } 80ba822: bf00 nop 80ba824: 370c adds r7, #12 80ba826: 46bd mov sp, r7 80ba828: f85d 7b04 ldr.w r7, [sp], #4 80ba82c: 4770 bx lr 080ba82e : * @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) { 80ba82e: b480 push {r7} 80ba830: b083 sub sp, #12 80ba832: af00 add r7, sp, #0 80ba834: 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 */ } 80ba836: bf00 nop 80ba838: 370c adds r7, #12 80ba83a: 46bd mov sp, r7 80ba83c: f85d 7b04 ldr.w r7, [sp], #4 80ba840: 4770 bx lr 080ba842 : * @param AddrMatchCode Address Match Code * @retval None */ __weak void HAL_SMBUS_AddrCallback(SMBUS_HandleTypeDef *hsmbus, uint8_t TransferDirection, uint16_t AddrMatchCode) { 80ba842: b480 push {r7} 80ba844: b083 sub sp, #12 80ba846: af00 add r7, sp, #0 80ba848: 6078 str r0, [r7, #4] 80ba84a: 460b mov r3, r1 80ba84c: 70fb strb r3, [r7, #3] 80ba84e: 4613 mov r3, r2 80ba850: 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 */ } 80ba852: bf00 nop 80ba854: 370c adds r7, #12 80ba856: 46bd mov sp, r7 80ba858: f85d 7b04 ldr.w r7, [sp], #4 80ba85c: 4770 bx lr 080ba85e : * @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) { 80ba85e: b480 push {r7} 80ba860: b083 sub sp, #12 80ba862: af00 add r7, sp, #0 80ba864: 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 */ } 80ba866: bf00 nop 80ba868: 370c adds r7, #12 80ba86a: 46bd mov sp, r7 80ba86c: f85d 7b04 ldr.w r7, [sp], #4 80ba870: 4770 bx lr 080ba872 : * @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) { 80ba872: b480 push {r7} 80ba874: b083 sub sp, #12 80ba876: af00 add r7, sp, #0 80ba878: 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 */ } 80ba87a: bf00 nop 80ba87c: 370c adds r7, #12 80ba87e: 46bd mov sp, r7 80ba880: f85d 7b04 ldr.w r7, [sp], #4 80ba884: 4770 bx lr ... 080ba888 : * 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) { 80ba888: b580 push {r7, lr} 80ba88a: b086 sub sp, #24 80ba88c: af02 add r7, sp, #8 80ba88e: 6078 str r0, [r7, #4] 80ba890: 6039 str r1, [r7, #0] uint16_t DevAddress; /* Process Locked */ __HAL_LOCK(hsmbus); 80ba892: 687b ldr r3, [r7, #4] 80ba894: f893 3044 ldrb.w r3, [r3, #68] ; 0x44 80ba898: 2b01 cmp r3, #1 80ba89a: d101 bne.n 80ba8a0 80ba89c: 2302 movs r3, #2 80ba89e: e1c3 b.n 80bac28 80ba8a0: 687b ldr r3, [r7, #4] 80ba8a2: 2201 movs r2, #1 80ba8a4: f883 2044 strb.w r2, [r3, #68] ; 0x44 if (SMBUS_CHECK_FLAG(StatusFlags, SMBUS_FLAG_AF) != RESET) 80ba8a8: 683b ldr r3, [r7, #0] 80ba8aa: f003 0310 and.w r3, r3, #16 80ba8ae: 2b00 cmp r3, #0 80ba8b0: d014 beq.n 80ba8dc { /* Clear NACK Flag */ __HAL_SMBUS_CLEAR_FLAG(hsmbus, SMBUS_FLAG_AF); 80ba8b2: 687b ldr r3, [r7, #4] 80ba8b4: 681b ldr r3, [r3, #0] 80ba8b6: 2210 movs r2, #16 80ba8b8: 61da str r2, [r3, #28] /* Set corresponding Error Code */ /* No need to generate STOP, it is automatically done */ hsmbus->ErrorCode |= HAL_SMBUS_ERROR_ACKF; 80ba8ba: 687b ldr r3, [r7, #4] 80ba8bc: 6cdb ldr r3, [r3, #76] ; 0x4c 80ba8be: f043 0204 orr.w r2, r3, #4 80ba8c2: 687b ldr r3, [r7, #4] 80ba8c4: 64da str r2, [r3, #76] ; 0x4c /* Flush TX register */ SMBUS_Flush_TXDR(hsmbus); 80ba8c6: 6878 ldr r0, [r7, #4] 80ba8c8: f000 fcc4 bl 80bb254 /* Process Unlocked */ __HAL_UNLOCK(hsmbus); 80ba8cc: 687b ldr r3, [r7, #4] 80ba8ce: 2200 movs r2, #0 80ba8d0: 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); 80ba8d4: 6878 ldr r0, [r7, #4] 80ba8d6: f7ff ffcc bl 80ba872 80ba8da: e1a0 b.n 80bac1e #endif /* USE_HAL_SMBUS_REGISTER_CALLBACKS */ } else if (SMBUS_CHECK_FLAG(StatusFlags, SMBUS_FLAG_STOPF) != RESET) 80ba8dc: 683b ldr r3, [r7, #0] 80ba8de: f003 0320 and.w r3, r3, #32 80ba8e2: 2b00 cmp r3, #0 80ba8e4: d079 beq.n 80ba9da { /* Check and treat errors if errors occurs during STOP process */ SMBUS_ITErrorHandler(hsmbus); 80ba8e6: 6878 ldr r0, [r7, #4] 80ba8e8: f000 fbff bl 80bb0ea /* Call the corresponding callback to inform upper layer of End of Transfer */ if (hsmbus->State == HAL_SMBUS_STATE_MASTER_BUSY_TX) 80ba8ec: 687b ldr r3, [r7, #4] 80ba8ee: 6c9b ldr r3, [r3, #72] ; 0x48 80ba8f0: 2b12 cmp r3, #18 80ba8f2: d12d bne.n 80ba950 { /* Disable Interrupt */ SMBUS_Disable_IRQ(hsmbus, SMBUS_IT_TX); 80ba8f4: 21f2 movs r1, #242 ; 0xf2 80ba8f6: 6878 ldr r0, [r7, #4] 80ba8f8: f000 fb7a bl 80baff0 /* Clear STOP Flag */ __HAL_SMBUS_CLEAR_FLAG(hsmbus, SMBUS_FLAG_STOPF); 80ba8fc: 687b ldr r3, [r7, #4] 80ba8fe: 681b ldr r3, [r3, #0] 80ba900: 2220 movs r2, #32 80ba902: 61da str r2, [r3, #28] /* Clear Configuration Register 2 */ SMBUS_RESET_CR2(hsmbus); 80ba904: 687b ldr r3, [r7, #4] 80ba906: 681a ldr r2, [r3, #0] 80ba908: 687b ldr r3, [r7, #4] 80ba90a: 681b ldr r3, [r3, #0] 80ba90c: 6859 ldr r1, [r3, #4] 80ba90e: 4b90 ldr r3, [pc, #576] ; (80bab50 ) 80ba910: 400b ands r3, r1 80ba912: 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); 80ba914: 687b ldr r3, [r7, #4] 80ba916: 681b ldr r3, [r3, #0] 80ba918: 687a ldr r2, [r7, #4] 80ba91a: 6812 ldr r2, [r2, #0] 80ba91c: 6812 ldr r2, [r2, #0] 80ba91e: f022 0201 bic.w r2, r2, #1 80ba922: 601a str r2, [r3, #0] hsmbus->PreviousState = HAL_SMBUS_STATE_READY; 80ba924: 687b ldr r3, [r7, #4] 80ba926: 2201 movs r2, #1 80ba928: 641a str r2, [r3, #64] ; 0x40 hsmbus->State = HAL_SMBUS_STATE_READY; 80ba92a: 687b ldr r3, [r7, #4] 80ba92c: 2201 movs r2, #1 80ba92e: 649a str r2, [r3, #72] ; 0x48 /* Process Unlocked */ __HAL_UNLOCK(hsmbus); 80ba930: 687b ldr r3, [r7, #4] 80ba932: 2200 movs r2, #0 80ba934: f883 2044 strb.w r2, [r3, #68] ; 0x44 /* Re-enable the selected SMBUS peripheral */ __HAL_SMBUS_ENABLE(hsmbus); 80ba938: 687b ldr r3, [r7, #4] 80ba93a: 681b ldr r3, [r3, #0] 80ba93c: 687a ldr r2, [r7, #4] 80ba93e: 6812 ldr r2, [r2, #0] 80ba940: 6812 ldr r2, [r2, #0] 80ba942: f042 0201 orr.w r2, r2, #1 80ba946: 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); 80ba948: 6878 ldr r0, [r7, #4] 80ba94a: f775 f897 bl 802fa7c 80ba94e: e166 b.n 80bac1e #endif /* USE_HAL_SMBUS_REGISTER_CALLBACKS */ } else if (hsmbus->State == HAL_SMBUS_STATE_MASTER_BUSY_RX) 80ba950: 687b ldr r3, [r7, #4] 80ba952: 6c9b ldr r3, [r3, #72] ; 0x48 80ba954: 2b22 cmp r3, #34 ; 0x22 80ba956: f040 8162 bne.w 80bac1e { /* Store Last receive data if any */ if (SMBUS_CHECK_FLAG(StatusFlags, SMBUS_FLAG_RXNE) != RESET) 80ba95a: 683b ldr r3, [r7, #0] 80ba95c: f003 0304 and.w r3, r3, #4 80ba960: 2b00 cmp r3, #0 80ba962: d01c beq.n 80ba99e { /* Read data from RXDR */ *hsmbus->pBuffPtr = (uint8_t)(hsmbus->Instance->RXDR); 80ba964: 687b ldr r3, [r7, #4] 80ba966: 6b5b ldr r3, [r3, #52] ; 0x34 80ba968: 687a ldr r2, [r7, #4] 80ba96a: 6812 ldr r2, [r2, #0] 80ba96c: 6a52 ldr r2, [r2, #36] ; 0x24 80ba96e: b2d2 uxtb r2, r2 80ba970: 701a strb r2, [r3, #0] /* Increment Buffer pointer */ hsmbus->pBuffPtr++; 80ba972: 687b ldr r3, [r7, #4] 80ba974: 6b5b ldr r3, [r3, #52] ; 0x34 80ba976: 1c5a adds r2, r3, #1 80ba978: 687b ldr r3, [r7, #4] 80ba97a: 635a str r2, [r3, #52] ; 0x34 if ((hsmbus->XferSize > 0U)) 80ba97c: 687b ldr r3, [r7, #4] 80ba97e: 8f1b ldrh r3, [r3, #56] ; 0x38 80ba980: 2b00 cmp r3, #0 80ba982: d00c beq.n 80ba99e { hsmbus->XferSize--; 80ba984: 687b ldr r3, [r7, #4] 80ba986: 8f1b ldrh r3, [r3, #56] ; 0x38 80ba988: 3b01 subs r3, #1 80ba98a: b29a uxth r2, r3 80ba98c: 687b ldr r3, [r7, #4] 80ba98e: 871a strh r2, [r3, #56] ; 0x38 hsmbus->XferCount--; 80ba990: 687b ldr r3, [r7, #4] 80ba992: 8f5b ldrh r3, [r3, #58] ; 0x3a 80ba994: b29b uxth r3, r3 80ba996: 3b01 subs r3, #1 80ba998: b29a uxth r2, r3 80ba99a: 687b ldr r3, [r7, #4] 80ba99c: 875a strh r2, [r3, #58] ; 0x3a } } /* Disable Interrupt */ SMBUS_Disable_IRQ(hsmbus, SMBUS_IT_RX); 80ba99e: 21d4 movs r1, #212 ; 0xd4 80ba9a0: 6878 ldr r0, [r7, #4] 80ba9a2: f000 fb25 bl 80baff0 /* Clear STOP Flag */ __HAL_SMBUS_CLEAR_FLAG(hsmbus, SMBUS_FLAG_STOPF); 80ba9a6: 687b ldr r3, [r7, #4] 80ba9a8: 681b ldr r3, [r3, #0] 80ba9aa: 2220 movs r2, #32 80ba9ac: 61da str r2, [r3, #28] /* Clear Configuration Register 2 */ SMBUS_RESET_CR2(hsmbus); 80ba9ae: 687b ldr r3, [r7, #4] 80ba9b0: 681a ldr r2, [r3, #0] 80ba9b2: 687b ldr r3, [r7, #4] 80ba9b4: 681b ldr r3, [r3, #0] 80ba9b6: 6859 ldr r1, [r3, #4] 80ba9b8: 4b65 ldr r3, [pc, #404] ; (80bab50 ) 80ba9ba: 400b ands r3, r1 80ba9bc: 6053 str r3, [r2, #4] hsmbus->PreviousState = HAL_SMBUS_STATE_READY; 80ba9be: 687b ldr r3, [r7, #4] 80ba9c0: 2201 movs r2, #1 80ba9c2: 641a str r2, [r3, #64] ; 0x40 hsmbus->State = HAL_SMBUS_STATE_READY; 80ba9c4: 687b ldr r3, [r7, #4] 80ba9c6: 2201 movs r2, #1 80ba9c8: 649a str r2, [r3, #72] ; 0x48 /* Process Unlocked */ __HAL_UNLOCK(hsmbus); 80ba9ca: 687b ldr r3, [r7, #4] 80ba9cc: 2200 movs r2, #0 80ba9ce: 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); 80ba9d2: 6878 ldr r0, [r7, #4] 80ba9d4: f775 f862 bl 802fa9c 80ba9d8: e121 b.n 80bac1e else { /* Nothing to do */ } } else if (SMBUS_CHECK_FLAG(StatusFlags, SMBUS_FLAG_RXNE) != RESET) 80ba9da: 683b ldr r3, [r7, #0] 80ba9dc: f003 0304 and.w r3, r3, #4 80ba9e0: 2b00 cmp r3, #0 80ba9e2: d019 beq.n 80baa18 { /* Read data from RXDR */ *hsmbus->pBuffPtr = (uint8_t)(hsmbus->Instance->RXDR); 80ba9e4: 687b ldr r3, [r7, #4] 80ba9e6: 6b5b ldr r3, [r3, #52] ; 0x34 80ba9e8: 687a ldr r2, [r7, #4] 80ba9ea: 6812 ldr r2, [r2, #0] 80ba9ec: 6a52 ldr r2, [r2, #36] ; 0x24 80ba9ee: b2d2 uxtb r2, r2 80ba9f0: 701a strb r2, [r3, #0] /* Increment Buffer pointer */ hsmbus->pBuffPtr++; 80ba9f2: 687b ldr r3, [r7, #4] 80ba9f4: 6b5b ldr r3, [r3, #52] ; 0x34 80ba9f6: 1c5a adds r2, r3, #1 80ba9f8: 687b ldr r3, [r7, #4] 80ba9fa: 635a str r2, [r3, #52] ; 0x34 /* Increment Size counter */ hsmbus->XferSize--; 80ba9fc: 687b ldr r3, [r7, #4] 80ba9fe: 8f1b ldrh r3, [r3, #56] ; 0x38 80baa00: 3b01 subs r3, #1 80baa02: b29a uxth r2, r3 80baa04: 687b ldr r3, [r7, #4] 80baa06: 871a strh r2, [r3, #56] ; 0x38 hsmbus->XferCount--; 80baa08: 687b ldr r3, [r7, #4] 80baa0a: 8f5b ldrh r3, [r3, #58] ; 0x3a 80baa0c: b29b uxth r3, r3 80baa0e: 3b01 subs r3, #1 80baa10: b29a uxth r2, r3 80baa12: 687b ldr r3, [r7, #4] 80baa14: 875a strh r2, [r3, #58] ; 0x3a 80baa16: e102 b.n 80bac1e } else if (SMBUS_CHECK_FLAG(StatusFlags, SMBUS_FLAG_TXIS) != RESET) 80baa18: 683b ldr r3, [r7, #0] 80baa1a: f003 0302 and.w r3, r3, #2 80baa1e: 2b00 cmp r3, #0 80baa20: d018 beq.n 80baa54 { /* Write data to TXDR */ hsmbus->Instance->TXDR = *hsmbus->pBuffPtr; 80baa22: 687b ldr r3, [r7, #4] 80baa24: 681b ldr r3, [r3, #0] 80baa26: 687a ldr r2, [r7, #4] 80baa28: 6b52 ldr r2, [r2, #52] ; 0x34 80baa2a: 7812 ldrb r2, [r2, #0] 80baa2c: 629a str r2, [r3, #40] ; 0x28 /* Increment Buffer pointer */ hsmbus->pBuffPtr++; 80baa2e: 687b ldr r3, [r7, #4] 80baa30: 6b5b ldr r3, [r3, #52] ; 0x34 80baa32: 1c5a adds r2, r3, #1 80baa34: 687b ldr r3, [r7, #4] 80baa36: 635a str r2, [r3, #52] ; 0x34 /* Increment Size counter */ hsmbus->XferSize--; 80baa38: 687b ldr r3, [r7, #4] 80baa3a: 8f1b ldrh r3, [r3, #56] ; 0x38 80baa3c: 3b01 subs r3, #1 80baa3e: b29a uxth r2, r3 80baa40: 687b ldr r3, [r7, #4] 80baa42: 871a strh r2, [r3, #56] ; 0x38 hsmbus->XferCount--; 80baa44: 687b ldr r3, [r7, #4] 80baa46: 8f5b ldrh r3, [r3, #58] ; 0x3a 80baa48: b29b uxth r3, r3 80baa4a: 3b01 subs r3, #1 80baa4c: b29a uxth r2, r3 80baa4e: 687b ldr r3, [r7, #4] 80baa50: 875a strh r2, [r3, #58] ; 0x3a 80baa52: e0e4 b.n 80bac1e } else if (SMBUS_CHECK_FLAG(StatusFlags, SMBUS_FLAG_TCR) != RESET) 80baa54: 683b ldr r3, [r7, #0] 80baa56: f003 0380 and.w r3, r3, #128 ; 0x80 80baa5a: 2b00 cmp r3, #0 80baa5c: f000 8091 beq.w 80bab82 { if ((hsmbus->XferCount != 0U) && (hsmbus->XferSize == 0U)) 80baa60: 687b ldr r3, [r7, #4] 80baa62: 8f5b ldrh r3, [r3, #58] ; 0x3a 80baa64: b29b uxth r3, r3 80baa66: 2b00 cmp r3, #0 80baa68: d048 beq.n 80baafc 80baa6a: 687b ldr r3, [r7, #4] 80baa6c: 8f1b ldrh r3, [r3, #56] ; 0x38 80baa6e: 2b00 cmp r3, #0 80baa70: d144 bne.n 80baafc { DevAddress = (uint16_t)(hsmbus->Instance->CR2 & I2C_CR2_SADD); 80baa72: 687b ldr r3, [r7, #4] 80baa74: 681b ldr r3, [r3, #0] 80baa76: 685b ldr r3, [r3, #4] 80baa78: b29b uxth r3, r3 80baa7a: f3c3 0309 ubfx r3, r3, #0, #10 80baa7e: 81fb strh r3, [r7, #14] if (hsmbus->XferCount > MAX_NBYTE_SIZE) 80baa80: 687b ldr r3, [r7, #4] 80baa82: 8f5b ldrh r3, [r3, #58] ; 0x3a 80baa84: b29b uxth r3, r3 80baa86: 2bff cmp r3, #255 ; 0xff 80baa88: d911 bls.n 80baaae { SMBUS_TransferConfig(hsmbus, DevAddress, MAX_NBYTE_SIZE, (SMBUS_RELOAD_MODE | (hsmbus->XferOptions & SMBUS_SENDPEC_MODE)), 80baa8a: 687b ldr r3, [r7, #4] 80baa8c: 6bdb ldr r3, [r3, #60] ; 0x3c 80baa8e: f003 6380 and.w r3, r3, #67108864 ; 0x4000000 SMBUS_TransferConfig(hsmbus, DevAddress, MAX_NBYTE_SIZE, 80baa92: f043 7280 orr.w r2, r3, #16777216 ; 0x1000000 80baa96: 89f9 ldrh r1, [r7, #14] 80baa98: 2300 movs r3, #0 80baa9a: 9300 str r3, [sp, #0] 80baa9c: 4613 mov r3, r2 80baa9e: 22ff movs r2, #255 ; 0xff 80baaa0: 6878 ldr r0, [r7, #4] 80baaa2: f000 fbfb bl 80bb29c SMBUS_NO_STARTSTOP); hsmbus->XferSize = MAX_NBYTE_SIZE; 80baaa6: 687b ldr r3, [r7, #4] 80baaa8: 22ff movs r2, #255 ; 0xff 80baaaa: 871a strh r2, [r3, #56] ; 0x38 if (hsmbus->XferCount > MAX_NBYTE_SIZE) 80baaac: e0b6 b.n 80bac1c } else { hsmbus->XferSize = hsmbus->XferCount; 80baaae: 687b ldr r3, [r7, #4] 80baab0: 8f5b ldrh r3, [r3, #58] ; 0x3a 80baab2: b29a uxth r2, r3 80baab4: 687b ldr r3, [r7, #4] 80baab6: 871a strh r2, [r3, #56] ; 0x38 SMBUS_TransferConfig(hsmbus, DevAddress, (uint8_t)hsmbus->XferSize, hsmbus->XferOptions, 80baab8: 687b ldr r3, [r7, #4] 80baaba: 8f1b ldrh r3, [r3, #56] ; 0x38 80baabc: b2da uxtb r2, r3 80baabe: 687b ldr r3, [r7, #4] 80baac0: 6bd8 ldr r0, [r3, #60] ; 0x3c 80baac2: 89f9 ldrh r1, [r7, #14] 80baac4: 2300 movs r3, #0 80baac6: 9300 str r3, [sp, #0] 80baac8: 4603 mov r3, r0 80baaca: 6878 ldr r0, [r7, #4] 80baacc: f000 fbe6 bl 80bb29c 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) 80baad0: 687b ldr r3, [r7, #4] 80baad2: 681b ldr r3, [r3, #0] 80baad4: 685b ldr r3, [r3, #4] 80baad6: f003 6380 and.w r3, r3, #67108864 ; 0x4000000 80baada: 2b00 cmp r3, #0 80baadc: f000 809e beq.w 80bac1c { hsmbus->XferSize--; 80baae0: 687b ldr r3, [r7, #4] 80baae2: 8f1b ldrh r3, [r3, #56] ; 0x38 80baae4: 3b01 subs r3, #1 80baae6: b29a uxth r2, r3 80baae8: 687b ldr r3, [r7, #4] 80baaea: 871a strh r2, [r3, #56] ; 0x38 hsmbus->XferCount--; 80baaec: 687b ldr r3, [r7, #4] 80baaee: 8f5b ldrh r3, [r3, #58] ; 0x3a 80baaf0: b29b uxth r3, r3 80baaf2: 3b01 subs r3, #1 80baaf4: b29a uxth r2, r3 80baaf6: 687b ldr r3, [r7, #4] 80baaf8: 875a strh r2, [r3, #58] ; 0x3a if (hsmbus->XferCount > MAX_NBYTE_SIZE) 80baafa: e08f b.n 80bac1c } } } else if ((hsmbus->XferCount == 0U) && (hsmbus->XferSize == 0U)) 80baafc: 687b ldr r3, [r7, #4] 80baafe: 8f5b ldrh r3, [r3, #58] ; 0x3a 80bab00: b29b uxth r3, r3 80bab02: 2b00 cmp r3, #0 80bab04: f040 808b bne.w 80bac1e 80bab08: 687b ldr r3, [r7, #4] 80bab0a: 8f1b ldrh r3, [r3, #56] ; 0x38 80bab0c: 2b00 cmp r3, #0 80bab0e: f040 8086 bne.w 80bac1e { /* Call TxCpltCallback() if no stop mode is set */ if (SMBUS_GET_STOP_MODE(hsmbus) != SMBUS_AUTOEND_MODE) 80bab12: 687b ldr r3, [r7, #4] 80bab14: 681b ldr r3, [r3, #0] 80bab16: 685b ldr r3, [r3, #4] 80bab18: f003 7300 and.w r3, r3, #33554432 ; 0x2000000 80bab1c: f1b3 7f00 cmp.w r3, #33554432 ; 0x2000000 80bab20: d07d beq.n 80bac1e { /* Call the corresponding callback to inform upper layer of End of Transfer */ if (hsmbus->State == HAL_SMBUS_STATE_MASTER_BUSY_TX) 80bab22: 687b ldr r3, [r7, #4] 80bab24: 6c9b ldr r3, [r3, #72] ; 0x48 80bab26: 2b12 cmp r3, #18 80bab28: d114 bne.n 80bab54 { /* Disable Interrupt */ SMBUS_Disable_IRQ(hsmbus, SMBUS_IT_TX); 80bab2a: 21f2 movs r1, #242 ; 0xf2 80bab2c: 6878 ldr r0, [r7, #4] 80bab2e: f000 fa5f bl 80baff0 hsmbus->PreviousState = hsmbus->State; 80bab32: 687b ldr r3, [r7, #4] 80bab34: 6c9a ldr r2, [r3, #72] ; 0x48 80bab36: 687b ldr r3, [r7, #4] 80bab38: 641a str r2, [r3, #64] ; 0x40 hsmbus->State = HAL_SMBUS_STATE_READY; 80bab3a: 687b ldr r3, [r7, #4] 80bab3c: 2201 movs r2, #1 80bab3e: 649a str r2, [r3, #72] ; 0x48 /* Process Unlocked */ __HAL_UNLOCK(hsmbus); 80bab40: 687b ldr r3, [r7, #4] 80bab42: 2200 movs r2, #0 80bab44: 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); 80bab48: 6878 ldr r0, [r7, #4] 80bab4a: f774 ff97 bl 802fa7c 80bab4e: e066 b.n 80bac1e 80bab50: fe00e800 .word 0xfe00e800 #endif /* USE_HAL_SMBUS_REGISTER_CALLBACKS */ } else if (hsmbus->State == HAL_SMBUS_STATE_MASTER_BUSY_RX) 80bab54: 687b ldr r3, [r7, #4] 80bab56: 6c9b ldr r3, [r3, #72] ; 0x48 80bab58: 2b22 cmp r3, #34 ; 0x22 80bab5a: d160 bne.n 80bac1e { SMBUS_Disable_IRQ(hsmbus, SMBUS_IT_RX); 80bab5c: 21d4 movs r1, #212 ; 0xd4 80bab5e: 6878 ldr r0, [r7, #4] 80bab60: f000 fa46 bl 80baff0 hsmbus->PreviousState = hsmbus->State; 80bab64: 687b ldr r3, [r7, #4] 80bab66: 6c9a ldr r2, [r3, #72] ; 0x48 80bab68: 687b ldr r3, [r7, #4] 80bab6a: 641a str r2, [r3, #64] ; 0x40 hsmbus->State = HAL_SMBUS_STATE_READY; 80bab6c: 687b ldr r3, [r7, #4] 80bab6e: 2201 movs r2, #1 80bab70: 649a str r2, [r3, #72] ; 0x48 /* Process Unlocked */ __HAL_UNLOCK(hsmbus); 80bab72: 687b ldr r3, [r7, #4] 80bab74: 2200 movs r2, #0 80bab76: 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); 80bab7a: 6878 ldr r0, [r7, #4] 80bab7c: f774 ff8e bl 802fa9c 80bab80: e04d b.n 80bac1e else { /* Nothing to do */ } } else if (SMBUS_CHECK_FLAG(StatusFlags, SMBUS_FLAG_TC) != RESET) 80bab82: 683b ldr r3, [r7, #0] 80bab84: f003 0340 and.w r3, r3, #64 ; 0x40 80bab88: 2b00 cmp r3, #0 80bab8a: d048 beq.n 80bac1e { if (hsmbus->XferCount == 0U) 80bab8c: 687b ldr r3, [r7, #4] 80bab8e: 8f5b ldrh r3, [r3, #58] ; 0x3a 80bab90: b29b uxth r3, r3 80bab92: 2b00 cmp r3, #0 80bab94: d143 bne.n 80bac1e { /* Specific use case for Quick command */ if (hsmbus->pBuffPtr == NULL) 80bab96: 687b ldr r3, [r7, #4] 80bab98: 6b5b ldr r3, [r3, #52] ; 0x34 80bab9a: 2b00 cmp r3, #0 80bab9c: d108 bne.n 80babb0 { /* Generate a Stop command */ hsmbus->Instance->CR2 |= I2C_CR2_STOP; 80bab9e: 687b ldr r3, [r7, #4] 80baba0: 681b ldr r3, [r3, #0] 80baba2: 687a ldr r2, [r7, #4] 80baba4: 6812 ldr r2, [r2, #0] 80baba6: 6852 ldr r2, [r2, #4] 80baba8: f442 4280 orr.w r2, r2, #16384 ; 0x4000 80babac: 605a str r2, [r3, #4] 80babae: e036 b.n 80bac1e } /* Call TxCpltCallback() if no stop mode is set */ else if (SMBUS_GET_STOP_MODE(hsmbus) != SMBUS_AUTOEND_MODE) 80babb0: 687b ldr r3, [r7, #4] 80babb2: 681b ldr r3, [r3, #0] 80babb4: 685b ldr r3, [r3, #4] 80babb6: f003 7300 and.w r3, r3, #33554432 ; 0x2000000 80babba: f1b3 7f00 cmp.w r3, #33554432 ; 0x2000000 80babbe: d02e beq.n 80bac1e { /* 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) 80babc0: 687b ldr r3, [r7, #4] 80babc2: 6c9b ldr r3, [r3, #72] ; 0x48 80babc4: 2b12 cmp r3, #18 80babc6: d112 bne.n 80babee { /* Disable Interrupt */ SMBUS_Disable_IRQ(hsmbus, SMBUS_IT_TX); 80babc8: 21f2 movs r1, #242 ; 0xf2 80babca: 6878 ldr r0, [r7, #4] 80babcc: f000 fa10 bl 80baff0 hsmbus->PreviousState = hsmbus->State; 80babd0: 687b ldr r3, [r7, #4] 80babd2: 6c9a ldr r2, [r3, #72] ; 0x48 80babd4: 687b ldr r3, [r7, #4] 80babd6: 641a str r2, [r3, #64] ; 0x40 hsmbus->State = HAL_SMBUS_STATE_READY; 80babd8: 687b ldr r3, [r7, #4] 80babda: 2201 movs r2, #1 80babdc: 649a str r2, [r3, #72] ; 0x48 /* Process Unlocked */ __HAL_UNLOCK(hsmbus); 80babde: 687b ldr r3, [r7, #4] 80babe0: 2200 movs r2, #0 80babe2: 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); 80babe6: 6878 ldr r0, [r7, #4] 80babe8: f774 ff48 bl 802fa7c 80babec: e017 b.n 80bac1e #endif /* USE_HAL_SMBUS_REGISTER_CALLBACKS */ } else if (hsmbus->State == HAL_SMBUS_STATE_MASTER_BUSY_RX) 80babee: 687b ldr r3, [r7, #4] 80babf0: 6c9b ldr r3, [r3, #72] ; 0x48 80babf2: 2b22 cmp r3, #34 ; 0x22 80babf4: d113 bne.n 80bac1e { SMBUS_Disable_IRQ(hsmbus, SMBUS_IT_RX); 80babf6: 21d4 movs r1, #212 ; 0xd4 80babf8: 6878 ldr r0, [r7, #4] 80babfa: f000 f9f9 bl 80baff0 hsmbus->PreviousState = hsmbus->State; 80babfe: 687b ldr r3, [r7, #4] 80bac00: 6c9a ldr r2, [r3, #72] ; 0x48 80bac02: 687b ldr r3, [r7, #4] 80bac04: 641a str r2, [r3, #64] ; 0x40 hsmbus->State = HAL_SMBUS_STATE_READY; 80bac06: 687b ldr r3, [r7, #4] 80bac08: 2201 movs r2, #1 80bac0a: 649a str r2, [r3, #72] ; 0x48 /* Process Unlocked */ __HAL_UNLOCK(hsmbus); 80bac0c: 687b ldr r3, [r7, #4] 80bac0e: 2200 movs r2, #0 80bac10: 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); 80bac14: 6878 ldr r0, [r7, #4] 80bac16: f774 ff41 bl 802fa9c 80bac1a: e000 b.n 80bac1e if (hsmbus->XferCount > MAX_NBYTE_SIZE) 80bac1c: bf00 nop { /* Nothing to do */ } /* Process Unlocked */ __HAL_UNLOCK(hsmbus); 80bac1e: 687b ldr r3, [r7, #4] 80bac20: 2200 movs r2, #0 80bac22: f883 2044 strb.w r2, [r3, #68] ; 0x44 return HAL_OK; 80bac26: 2300 movs r3, #0 } 80bac28: 4618 mov r0, r3 80bac2a: 3710 adds r7, #16 80bac2c: 46bd mov sp, r7 80bac2e: bd80 pop {r7, pc} 080bac30 : * 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) { 80bac30: b580 push {r7, lr} 80bac32: b086 sub sp, #24 80bac34: af02 add r7, sp, #8 80bac36: 6078 str r0, [r7, #4] 80bac38: 6039 str r1, [r7, #0] uint8_t TransferDirection; uint16_t SlaveAddrCode; /* Process Locked */ __HAL_LOCK(hsmbus); 80bac3a: 687b ldr r3, [r7, #4] 80bac3c: f893 3044 ldrb.w r3, [r3, #68] ; 0x44 80bac40: 2b01 cmp r3, #1 80bac42: d101 bne.n 80bac48 80bac44: 2302 movs r3, #2 80bac46: e1cc b.n 80bafe2 80bac48: 687b ldr r3, [r7, #4] 80bac4a: 2201 movs r2, #1 80bac4c: f883 2044 strb.w r2, [r3, #68] ; 0x44 if (SMBUS_CHECK_FLAG(StatusFlags, SMBUS_FLAG_AF) != RESET) 80bac50: 683b ldr r3, [r7, #0] 80bac52: f003 0310 and.w r3, r3, #16 80bac56: 2b00 cmp r3, #0 80bac58: d039 beq.n 80bacce { /* 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) 80bac5a: 687b ldr r3, [r7, #4] 80bac5c: 8f5b ldrh r3, [r3, #58] ; 0x3a 80bac5e: b29b uxth r3, r3 80bac60: 2b00 cmp r3, #0 80bac62: d10b bne.n 80bac7c { /* Clear NACK Flag */ __HAL_SMBUS_CLEAR_FLAG(hsmbus, SMBUS_FLAG_AF); 80bac64: 687b ldr r3, [r7, #4] 80bac66: 681b ldr r3, [r3, #0] 80bac68: 2210 movs r2, #16 80bac6a: 61da str r2, [r3, #28] /* Flush TX register */ SMBUS_Flush_TXDR(hsmbus); 80bac6c: 6878 ldr r0, [r7, #4] 80bac6e: f000 faf1 bl 80bb254 /* Process Unlocked */ __HAL_UNLOCK(hsmbus); 80bac72: 687b ldr r3, [r7, #4] 80bac74: 2200 movs r2, #0 80bac76: f883 2044 strb.w r2, [r3, #68] ; 0x44 80bac7a: e14d b.n 80baf18 } 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); 80bac7c: 687b ldr r3, [r7, #4] 80bac7e: 681b ldr r3, [r3, #0] 80bac80: 2210 movs r2, #16 80bac82: 61da str r2, [r3, #28] /* Set HAL State to "Idle" State, mean to LISTEN state */ /* So reset Slave Busy state */ hsmbus->PreviousState = hsmbus->State; 80bac84: 687b ldr r3, [r7, #4] 80bac86: 6c9a ldr r2, [r3, #72] ; 0x48 80bac88: 687b ldr r3, [r7, #4] 80bac8a: 641a str r2, [r3, #64] ; 0x40 hsmbus->State &= ~((uint32_t)HAL_SMBUS_STATE_SLAVE_BUSY_TX); 80bac8c: 687b ldr r3, [r7, #4] 80bac8e: 6c9b ldr r3, [r3, #72] ; 0x48 80bac90: f023 0232 bic.w r2, r3, #50 ; 0x32 80bac94: 687b ldr r3, [r7, #4] 80bac96: 649a str r2, [r3, #72] ; 0x48 hsmbus->State &= ~((uint32_t)HAL_SMBUS_STATE_SLAVE_BUSY_RX); 80bac98: 687b ldr r3, [r7, #4] 80bac9a: 6c9b ldr r3, [r3, #72] ; 0x48 80bac9c: f023 0242 bic.w r2, r3, #66 ; 0x42 80baca0: 687b ldr r3, [r7, #4] 80baca2: 649a str r2, [r3, #72] ; 0x48 /* Disable RX/TX Interrupts, keep only ADDR Interrupt */ SMBUS_Disable_IRQ(hsmbus, SMBUS_IT_RX | SMBUS_IT_TX); 80baca4: 21f6 movs r1, #246 ; 0xf6 80baca6: 6878 ldr r0, [r7, #4] 80baca8: f000 f9a2 bl 80baff0 /* Set ErrorCode corresponding to a Non-Acknowledge */ hsmbus->ErrorCode |= HAL_SMBUS_ERROR_ACKF; 80bacac: 687b ldr r3, [r7, #4] 80bacae: 6cdb ldr r3, [r3, #76] ; 0x4c 80bacb0: f043 0204 orr.w r2, r3, #4 80bacb4: 687b ldr r3, [r7, #4] 80bacb6: 64da str r2, [r3, #76] ; 0x4c /* Flush TX register */ SMBUS_Flush_TXDR(hsmbus); 80bacb8: 6878 ldr r0, [r7, #4] 80bacba: f000 facb bl 80bb254 /* Process Unlocked */ __HAL_UNLOCK(hsmbus); 80bacbe: 687b ldr r3, [r7, #4] 80bacc0: 2200 movs r2, #0 80bacc2: 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); 80bacc6: 6878 ldr r0, [r7, #4] 80bacc8: f7ff fdd3 bl 80ba872 80baccc: e124 b.n 80baf18 #endif /* USE_HAL_SMBUS_REGISTER_CALLBACKS */ } } else if (SMBUS_CHECK_FLAG(StatusFlags, SMBUS_FLAG_ADDR) != RESET) 80bacce: 683b ldr r3, [r7, #0] 80bacd0: f003 0308 and.w r3, r3, #8 80bacd4: 2b00 cmp r3, #0 80bacd6: d022 beq.n 80bad1e { TransferDirection = (uint8_t)(SMBUS_GET_DIR(hsmbus)); 80bacd8: 687b ldr r3, [r7, #4] 80bacda: 681b ldr r3, [r3, #0] 80bacdc: 699b ldr r3, [r3, #24] 80bacde: 0c1b lsrs r3, r3, #16 80bace0: b2db uxtb r3, r3 80bace2: f003 0301 and.w r3, r3, #1 80bace6: 73fb strb r3, [r7, #15] SlaveAddrCode = (uint16_t)(SMBUS_GET_ADDR_MATCH(hsmbus)); 80bace8: 687b ldr r3, [r7, #4] 80bacea: 681b ldr r3, [r3, #0] 80bacec: 699b ldr r3, [r3, #24] 80bacee: 0c5b lsrs r3, r3, #17 80bacf0: b29b uxth r3, r3 80bacf2: f003 037f and.w r3, r3, #127 ; 0x7f 80bacf6: 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); 80bacf8: 687b ldr r3, [r7, #4] 80bacfa: 681b ldr r3, [r3, #0] 80bacfc: 687a ldr r2, [r7, #4] 80bacfe: 6812 ldr r2, [r2, #0] 80bad00: 6812 ldr r2, [r2, #0] 80bad02: f022 0208 bic.w r2, r2, #8 80bad06: 601a str r2, [r3, #0] /* Process Unlocked */ __HAL_UNLOCK(hsmbus); 80bad08: 687b ldr r3, [r7, #4] 80bad0a: 2200 movs r2, #0 80bad0c: 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); 80bad10: 89ba ldrh r2, [r7, #12] 80bad12: 7bfb ldrb r3, [r7, #15] 80bad14: 4619 mov r1, r3 80bad16: 6878 ldr r0, [r7, #4] 80bad18: f7ff fd93 bl 80ba842 80bad1c: e0fc b.n 80baf18 #endif /* USE_HAL_SMBUS_REGISTER_CALLBACKS */ } else if ((SMBUS_CHECK_FLAG(StatusFlags, SMBUS_FLAG_RXNE) != RESET) || 80bad1e: 683b ldr r3, [r7, #0] 80bad20: f003 0304 and.w r3, r3, #4 80bad24: 2b00 cmp r3, #0 80bad26: d105 bne.n 80bad34 (SMBUS_CHECK_FLAG(StatusFlags, SMBUS_FLAG_TCR) != RESET)) 80bad28: 683b ldr r3, [r7, #0] 80bad2a: f003 0380 and.w r3, r3, #128 ; 0x80 else if ((SMBUS_CHECK_FLAG(StatusFlags, SMBUS_FLAG_RXNE) != RESET) || 80bad2e: 2b00 cmp r3, #0 80bad30: f000 80b4 beq.w 80bae9c { if ((hsmbus->State & HAL_SMBUS_STATE_SLAVE_BUSY_RX) == HAL_SMBUS_STATE_SLAVE_BUSY_RX) 80bad34: 687b ldr r3, [r7, #4] 80bad36: 6c9b ldr r3, [r3, #72] ; 0x48 80bad38: f003 0342 and.w r3, r3, #66 ; 0x42 80bad3c: 2b42 cmp r3, #66 ; 0x42 80bad3e: d160 bne.n 80bae02 { /* Read data from RXDR */ *hsmbus->pBuffPtr = (uint8_t)(hsmbus->Instance->RXDR); 80bad40: 687b ldr r3, [r7, #4] 80bad42: 6b5b ldr r3, [r3, #52] ; 0x34 80bad44: 687a ldr r2, [r7, #4] 80bad46: 6812 ldr r2, [r2, #0] 80bad48: 6a52 ldr r2, [r2, #36] ; 0x24 80bad4a: b2d2 uxtb r2, r2 80bad4c: 701a strb r2, [r3, #0] /* Increment Buffer pointer */ hsmbus->pBuffPtr++; 80bad4e: 687b ldr r3, [r7, #4] 80bad50: 6b5b ldr r3, [r3, #52] ; 0x34 80bad52: 1c5a adds r2, r3, #1 80bad54: 687b ldr r3, [r7, #4] 80bad56: 635a str r2, [r3, #52] ; 0x34 hsmbus->XferSize--; 80bad58: 687b ldr r3, [r7, #4] 80bad5a: 8f1b ldrh r3, [r3, #56] ; 0x38 80bad5c: 3b01 subs r3, #1 80bad5e: b29a uxth r2, r3 80bad60: 687b ldr r3, [r7, #4] 80bad62: 871a strh r2, [r3, #56] ; 0x38 hsmbus->XferCount--; 80bad64: 687b ldr r3, [r7, #4] 80bad66: 8f5b ldrh r3, [r3, #58] ; 0x3a 80bad68: b29b uxth r3, r3 80bad6a: 3b01 subs r3, #1 80bad6c: b29a uxth r2, r3 80bad6e: 687b ldr r3, [r7, #4] 80bad70: 875a strh r2, [r3, #58] ; 0x3a if (hsmbus->XferCount == 1U) 80bad72: 687b ldr r3, [r7, #4] 80bad74: 8f5b ldrh r3, [r3, #58] ; 0x3a 80bad76: b29b uxth r3, r3 80bad78: 2b01 cmp r3, #1 80bad7a: d110 bne.n 80bad9e { /* 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; 80bad7c: 687b ldr r3, [r7, #4] 80bad7e: 6bdb ldr r3, [r3, #60] ; 0x3c 80bad80: f023 7280 bic.w r2, r3, #16777216 ; 0x1000000 80bad84: 687b ldr r3, [r7, #4] 80bad86: 63da str r2, [r3, #60] ; 0x3c SMBUS_TransferConfig(hsmbus, 0, 1, hsmbus->XferOptions, SMBUS_NO_STARTSTOP); 80bad88: 687b ldr r3, [r7, #4] 80bad8a: 6bda ldr r2, [r3, #60] ; 0x3c 80bad8c: 2300 movs r3, #0 80bad8e: 9300 str r3, [sp, #0] 80bad90: 4613 mov r3, r2 80bad92: 2201 movs r2, #1 80bad94: 2100 movs r1, #0 80bad96: 6878 ldr r0, [r7, #4] 80bad98: f000 fa80 bl 80bb29c if ((hsmbus->State & HAL_SMBUS_STATE_SLAVE_BUSY_RX) == HAL_SMBUS_STATE_SLAVE_BUSY_RX) 80bad9c: e0bb b.n 80baf16 } else if (hsmbus->XferCount == 0U) 80bad9e: 687b ldr r3, [r7, #4] 80bada0: 8f5b ldrh r3, [r3, #58] ; 0x3a 80bada2: b29b uxth r3, r3 80bada4: 2b00 cmp r3, #0 80bada6: d115 bne.n 80badd4 { /* Last Byte is received, disable Interrupt */ SMBUS_Disable_IRQ(hsmbus, SMBUS_IT_RX); 80bada8: 21d4 movs r1, #212 ; 0xd4 80badaa: 6878 ldr r0, [r7, #4] 80badac: f000 f920 bl 80baff0 /* Remove HAL_SMBUS_STATE_SLAVE_BUSY_RX, keep only HAL_SMBUS_STATE_LISTEN */ hsmbus->PreviousState = hsmbus->State; 80badb0: 687b ldr r3, [r7, #4] 80badb2: 6c9a ldr r2, [r3, #72] ; 0x48 80badb4: 687b ldr r3, [r7, #4] 80badb6: 641a str r2, [r3, #64] ; 0x40 hsmbus->State &= ~((uint32_t)HAL_SMBUS_STATE_SLAVE_BUSY_RX); 80badb8: 687b ldr r3, [r7, #4] 80badba: 6c9b ldr r3, [r3, #72] ; 0x48 80badbc: f023 0242 bic.w r2, r3, #66 ; 0x42 80badc0: 687b ldr r3, [r7, #4] 80badc2: 649a str r2, [r3, #72] ; 0x48 /* Process Unlocked */ __HAL_UNLOCK(hsmbus); 80badc4: 687b ldr r3, [r7, #4] 80badc6: 2200 movs r2, #0 80badc8: 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); 80badcc: 6878 ldr r0, [r7, #4] 80badce: f7ff fd2e bl 80ba82e if ((hsmbus->State & HAL_SMBUS_STATE_SLAVE_BUSY_RX) == HAL_SMBUS_STATE_SLAVE_BUSY_RX) 80badd2: e0a0 b.n 80baf16 } else { /* Set Reload for next Bytes */ SMBUS_TransferConfig(hsmbus, 0, 1, SMBUS_RELOAD_MODE | (hsmbus->XferOptions & SMBUS_SENDPEC_MODE), 80badd4: 687b ldr r3, [r7, #4] 80badd6: 6bdb ldr r3, [r3, #60] ; 0x3c 80badd8: f003 6380 and.w r3, r3, #67108864 ; 0x4000000 SMBUS_TransferConfig(hsmbus, 0, 1, 80baddc: f043 7280 orr.w r2, r3, #16777216 ; 0x1000000 80bade0: 2300 movs r3, #0 80bade2: 9300 str r3, [sp, #0] 80bade4: 4613 mov r3, r2 80bade6: 2201 movs r2, #1 80bade8: 2100 movs r1, #0 80badea: 6878 ldr r0, [r7, #4] 80badec: f000 fa56 bl 80bb29c SMBUS_NO_STARTSTOP); /* Ack last Byte Read */ hsmbus->Instance->CR2 &= ~I2C_CR2_NACK; 80badf0: 687b ldr r3, [r7, #4] 80badf2: 681b ldr r3, [r3, #0] 80badf4: 687a ldr r2, [r7, #4] 80badf6: 6812 ldr r2, [r2, #0] 80badf8: 6852 ldr r2, [r2, #4] 80badfa: f422 4200 bic.w r2, r2, #32768 ; 0x8000 80badfe: 605a str r2, [r3, #4] if ((hsmbus->State & HAL_SMBUS_STATE_SLAVE_BUSY_RX) == HAL_SMBUS_STATE_SLAVE_BUSY_RX) 80bae00: e089 b.n 80baf16 } } else if ((hsmbus->State & HAL_SMBUS_STATE_SLAVE_BUSY_TX) == HAL_SMBUS_STATE_SLAVE_BUSY_TX) 80bae02: 687b ldr r3, [r7, #4] 80bae04: 6c9b ldr r3, [r3, #72] ; 0x48 80bae06: f003 0332 and.w r3, r3, #50 ; 0x32 80bae0a: 2b32 cmp r3, #50 ; 0x32 80bae0c: f040 8083 bne.w 80baf16 { if ((hsmbus->XferCount != 0U) && (hsmbus->XferSize == 0U)) 80bae10: 687b ldr r3, [r7, #4] 80bae12: 8f5b ldrh r3, [r3, #58] ; 0x3a 80bae14: b29b uxth r3, r3 80bae16: 2b00 cmp r3, #0 80bae18: d07d beq.n 80baf16 80bae1a: 687b ldr r3, [r7, #4] 80bae1c: 8f1b ldrh r3, [r3, #56] ; 0x38 80bae1e: 2b00 cmp r3, #0 80bae20: d179 bne.n 80baf16 { if (hsmbus->XferCount > MAX_NBYTE_SIZE) 80bae22: 687b ldr r3, [r7, #4] 80bae24: 8f5b ldrh r3, [r3, #58] ; 0x3a 80bae26: b29b uxth r3, r3 80bae28: 2bff cmp r3, #255 ; 0xff 80bae2a: d911 bls.n 80bae50 { SMBUS_TransferConfig(hsmbus, 0, MAX_NBYTE_SIZE, (SMBUS_RELOAD_MODE | (hsmbus->XferOptions & SMBUS_SENDPEC_MODE)), 80bae2c: 687b ldr r3, [r7, #4] 80bae2e: 6bdb ldr r3, [r3, #60] ; 0x3c 80bae30: f003 6380 and.w r3, r3, #67108864 ; 0x4000000 SMBUS_TransferConfig(hsmbus, 0, MAX_NBYTE_SIZE, 80bae34: f043 7280 orr.w r2, r3, #16777216 ; 0x1000000 80bae38: 2300 movs r3, #0 80bae3a: 9300 str r3, [sp, #0] 80bae3c: 4613 mov r3, r2 80bae3e: 22ff movs r2, #255 ; 0xff 80bae40: 2100 movs r1, #0 80bae42: 6878 ldr r0, [r7, #4] 80bae44: f000 fa2a bl 80bb29c SMBUS_NO_STARTSTOP); hsmbus->XferSize = MAX_NBYTE_SIZE; 80bae48: 687b ldr r3, [r7, #4] 80bae4a: 22ff movs r2, #255 ; 0xff 80bae4c: 871a strh r2, [r3, #56] ; 0x38 if ((hsmbus->State & HAL_SMBUS_STATE_SLAVE_BUSY_RX) == HAL_SMBUS_STATE_SLAVE_BUSY_RX) 80bae4e: e062 b.n 80baf16 } else { hsmbus->XferSize = hsmbus->XferCount; 80bae50: 687b ldr r3, [r7, #4] 80bae52: 8f5b ldrh r3, [r3, #58] ; 0x3a 80bae54: b29a uxth r2, r3 80bae56: 687b ldr r3, [r7, #4] 80bae58: 871a strh r2, [r3, #56] ; 0x38 SMBUS_TransferConfig(hsmbus, 0, (uint8_t)hsmbus->XferSize, hsmbus->XferOptions, 80bae5a: 687b ldr r3, [r7, #4] 80bae5c: 8f1b ldrh r3, [r3, #56] ; 0x38 80bae5e: b2da uxtb r2, r3 80bae60: 687b ldr r3, [r7, #4] 80bae62: 6bd9 ldr r1, [r3, #60] ; 0x3c 80bae64: 2300 movs r3, #0 80bae66: 9300 str r3, [sp, #0] 80bae68: 460b mov r3, r1 80bae6a: 2100 movs r1, #0 80bae6c: 6878 ldr r0, [r7, #4] 80bae6e: f000 fa15 bl 80bb29c 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) 80bae72: 687b ldr r3, [r7, #4] 80bae74: 681b ldr r3, [r3, #0] 80bae76: 685b ldr r3, [r3, #4] 80bae78: f003 6380 and.w r3, r3, #67108864 ; 0x4000000 80bae7c: 2b00 cmp r3, #0 80bae7e: d04a beq.n 80baf16 { hsmbus->XferSize--; 80bae80: 687b ldr r3, [r7, #4] 80bae82: 8f1b ldrh r3, [r3, #56] ; 0x38 80bae84: 3b01 subs r3, #1 80bae86: b29a uxth r2, r3 80bae88: 687b ldr r3, [r7, #4] 80bae8a: 871a strh r2, [r3, #56] ; 0x38 hsmbus->XferCount--; 80bae8c: 687b ldr r3, [r7, #4] 80bae8e: 8f5b ldrh r3, [r3, #58] ; 0x3a 80bae90: b29b uxth r3, r3 80bae92: 3b01 subs r3, #1 80bae94: b29a uxth r2, r3 80bae96: 687b ldr r3, [r7, #4] 80bae98: 875a strh r2, [r3, #58] ; 0x3a if ((hsmbus->State & HAL_SMBUS_STATE_SLAVE_BUSY_RX) == HAL_SMBUS_STATE_SLAVE_BUSY_RX) 80bae9a: e03c b.n 80baf16 else { /* Nothing to do */ } } else if (SMBUS_CHECK_FLAG(StatusFlags, SMBUS_FLAG_TXIS) != RESET) 80bae9c: 683b ldr r3, [r7, #0] 80bae9e: f003 0302 and.w r3, r3, #2 80baea2: 2b00 cmp r3, #0 80baea4: d038 beq.n 80baf18 { /* 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) 80baea6: 687b ldr r3, [r7, #4] 80baea8: 8f5b ldrh r3, [r3, #58] ; 0x3a 80baeaa: b29b uxth r3, r3 80baeac: 2b00 cmp r3, #0 80baeae: d017 beq.n 80baee0 { /* Write data to TXDR */ hsmbus->Instance->TXDR = *hsmbus->pBuffPtr; 80baeb0: 687b ldr r3, [r7, #4] 80baeb2: 681b ldr r3, [r3, #0] 80baeb4: 687a ldr r2, [r7, #4] 80baeb6: 6b52 ldr r2, [r2, #52] ; 0x34 80baeb8: 7812 ldrb r2, [r2, #0] 80baeba: 629a str r2, [r3, #40] ; 0x28 /* Increment Buffer pointer */ hsmbus->pBuffPtr++; 80baebc: 687b ldr r3, [r7, #4] 80baebe: 6b5b ldr r3, [r3, #52] ; 0x34 80baec0: 1c5a adds r2, r3, #1 80baec2: 687b ldr r3, [r7, #4] 80baec4: 635a str r2, [r3, #52] ; 0x34 hsmbus->XferCount--; 80baec6: 687b ldr r3, [r7, #4] 80baec8: 8f5b ldrh r3, [r3, #58] ; 0x3a 80baeca: b29b uxth r3, r3 80baecc: 3b01 subs r3, #1 80baece: b29a uxth r2, r3 80baed0: 687b ldr r3, [r7, #4] 80baed2: 875a strh r2, [r3, #58] ; 0x3a hsmbus->XferSize--; 80baed4: 687b ldr r3, [r7, #4] 80baed6: 8f1b ldrh r3, [r3, #56] ; 0x38 80baed8: 3b01 subs r3, #1 80baeda: b29a uxth r2, r3 80baedc: 687b ldr r3, [r7, #4] 80baede: 871a strh r2, [r3, #56] ; 0x38 } if (hsmbus->XferCount == 0U) 80baee0: 687b ldr r3, [r7, #4] 80baee2: 8f5b ldrh r3, [r3, #58] ; 0x3a 80baee4: b29b uxth r3, r3 80baee6: 2b00 cmp r3, #0 80baee8: d116 bne.n 80baf18 { /* Last Byte is Transmitted */ /* Remove HAL_SMBUS_STATE_SLAVE_BUSY_TX, keep only HAL_SMBUS_STATE_LISTEN */ SMBUS_Disable_IRQ(hsmbus, SMBUS_IT_TX); 80baeea: 21f2 movs r1, #242 ; 0xf2 80baeec: 6878 ldr r0, [r7, #4] 80baeee: f000 f87f bl 80baff0 hsmbus->PreviousState = hsmbus->State; 80baef2: 687b ldr r3, [r7, #4] 80baef4: 6c9a ldr r2, [r3, #72] ; 0x48 80baef6: 687b ldr r3, [r7, #4] 80baef8: 641a str r2, [r3, #64] ; 0x40 hsmbus->State &= ~((uint32_t)HAL_SMBUS_STATE_SLAVE_BUSY_TX); 80baefa: 687b ldr r3, [r7, #4] 80baefc: 6c9b ldr r3, [r3, #72] ; 0x48 80baefe: f023 0232 bic.w r2, r3, #50 ; 0x32 80baf02: 687b ldr r3, [r7, #4] 80baf04: 649a str r2, [r3, #72] ; 0x48 /* Process Unlocked */ __HAL_UNLOCK(hsmbus); 80baf06: 687b ldr r3, [r7, #4] 80baf08: 2200 movs r2, #0 80baf0a: 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); 80baf0e: 6878 ldr r0, [r7, #4] 80baf10: f7ff fc83 bl 80ba81a 80baf14: e000 b.n 80baf18 if ((hsmbus->State & HAL_SMBUS_STATE_SLAVE_BUSY_RX) == HAL_SMBUS_STATE_SLAVE_BUSY_RX) 80baf16: bf00 nop { /* Nothing to do */ } /* Check if STOPF is set */ if (SMBUS_CHECK_FLAG(StatusFlags, SMBUS_FLAG_STOPF) != RESET) 80baf18: 683b ldr r3, [r7, #0] 80baf1a: f003 0320 and.w r3, r3, #32 80baf1e: 2b00 cmp r3, #0 80baf20: d05a beq.n 80bafd8 { if ((hsmbus->State & HAL_SMBUS_STATE_LISTEN) == HAL_SMBUS_STATE_LISTEN) 80baf22: 687b ldr r3, [r7, #4] 80baf24: 6c9b ldr r3, [r3, #72] ; 0x48 80baf26: f003 0308 and.w r3, r3, #8 80baf2a: 2b08 cmp r3, #8 80baf2c: d154 bne.n 80bafd8 { /* Store Last receive data if any */ if (__HAL_SMBUS_GET_FLAG(hsmbus, SMBUS_FLAG_RXNE) != RESET) 80baf2e: 687b ldr r3, [r7, #4] 80baf30: 681b ldr r3, [r3, #0] 80baf32: 699b ldr r3, [r3, #24] 80baf34: f003 0304 and.w r3, r3, #4 80baf38: 2b04 cmp r3, #4 80baf3a: d11c bne.n 80baf76 { /* Read data from RXDR */ *hsmbus->pBuffPtr = (uint8_t)(hsmbus->Instance->RXDR); 80baf3c: 687b ldr r3, [r7, #4] 80baf3e: 6b5b ldr r3, [r3, #52] ; 0x34 80baf40: 687a ldr r2, [r7, #4] 80baf42: 6812 ldr r2, [r2, #0] 80baf44: 6a52 ldr r2, [r2, #36] ; 0x24 80baf46: b2d2 uxtb r2, r2 80baf48: 701a strb r2, [r3, #0] /* Increment Buffer pointer */ hsmbus->pBuffPtr++; 80baf4a: 687b ldr r3, [r7, #4] 80baf4c: 6b5b ldr r3, [r3, #52] ; 0x34 80baf4e: 1c5a adds r2, r3, #1 80baf50: 687b ldr r3, [r7, #4] 80baf52: 635a str r2, [r3, #52] ; 0x34 if ((hsmbus->XferSize > 0U)) 80baf54: 687b ldr r3, [r7, #4] 80baf56: 8f1b ldrh r3, [r3, #56] ; 0x38 80baf58: 2b00 cmp r3, #0 80baf5a: d00c beq.n 80baf76 { hsmbus->XferSize--; 80baf5c: 687b ldr r3, [r7, #4] 80baf5e: 8f1b ldrh r3, [r3, #56] ; 0x38 80baf60: 3b01 subs r3, #1 80baf62: b29a uxth r2, r3 80baf64: 687b ldr r3, [r7, #4] 80baf66: 871a strh r2, [r3, #56] ; 0x38 hsmbus->XferCount--; 80baf68: 687b ldr r3, [r7, #4] 80baf6a: 8f5b ldrh r3, [r3, #58] ; 0x3a 80baf6c: b29b uxth r3, r3 80baf6e: 3b01 subs r3, #1 80baf70: b29a uxth r2, r3 80baf72: 687b ldr r3, [r7, #4] 80baf74: 875a strh r2, [r3, #58] ; 0x3a } } /* Disable RX and TX Interrupts */ SMBUS_Disable_IRQ(hsmbus, SMBUS_IT_RX | SMBUS_IT_TX); 80baf76: 21f6 movs r1, #246 ; 0xf6 80baf78: 6878 ldr r0, [r7, #4] 80baf7a: f000 f839 bl 80baff0 /* Disable ADDR Interrupt */ SMBUS_Disable_IRQ(hsmbus, SMBUS_IT_ADDR); 80baf7e: 2138 movs r1, #56 ; 0x38 80baf80: 6878 ldr r0, [r7, #4] 80baf82: f000 f835 bl 80baff0 /* Disable Address Acknowledge */ hsmbus->Instance->CR2 |= I2C_CR2_NACK; 80baf86: 687b ldr r3, [r7, #4] 80baf88: 681b ldr r3, [r3, #0] 80baf8a: 687a ldr r2, [r7, #4] 80baf8c: 6812 ldr r2, [r2, #0] 80baf8e: 6852 ldr r2, [r2, #4] 80baf90: f442 4200 orr.w r2, r2, #32768 ; 0x8000 80baf94: 605a str r2, [r3, #4] /* Clear Configuration Register 2 */ SMBUS_RESET_CR2(hsmbus); 80baf96: 687b ldr r3, [r7, #4] 80baf98: 681a ldr r2, [r3, #0] 80baf9a: 687b ldr r3, [r7, #4] 80baf9c: 681b ldr r3, [r3, #0] 80baf9e: 6859 ldr r1, [r3, #4] 80bafa0: 4b12 ldr r3, [pc, #72] ; (80bafec ) 80bafa2: 400b ands r3, r1 80bafa4: 6053 str r3, [r2, #4] /* Clear STOP Flag */ __HAL_SMBUS_CLEAR_FLAG(hsmbus, SMBUS_FLAG_STOPF); 80bafa6: 687b ldr r3, [r7, #4] 80bafa8: 681b ldr r3, [r3, #0] 80bafaa: 2220 movs r2, #32 80bafac: 61da str r2, [r3, #28] /* Clear ADDR flag */ __HAL_SMBUS_CLEAR_FLAG(hsmbus, SMBUS_FLAG_ADDR); 80bafae: 687b ldr r3, [r7, #4] 80bafb0: 681b ldr r3, [r3, #0] 80bafb2: 2208 movs r2, #8 80bafb4: 61da str r2, [r3, #28] hsmbus->XferOptions = 0; 80bafb6: 687b ldr r3, [r7, #4] 80bafb8: 2200 movs r2, #0 80bafba: 63da str r2, [r3, #60] ; 0x3c hsmbus->PreviousState = hsmbus->State; 80bafbc: 687b ldr r3, [r7, #4] 80bafbe: 6c9a ldr r2, [r3, #72] ; 0x48 80bafc0: 687b ldr r3, [r7, #4] 80bafc2: 641a str r2, [r3, #64] ; 0x40 hsmbus->State = HAL_SMBUS_STATE_READY; 80bafc4: 687b ldr r3, [r7, #4] 80bafc6: 2201 movs r2, #1 80bafc8: 649a str r2, [r3, #72] ; 0x48 /* Process Unlocked */ __HAL_UNLOCK(hsmbus); 80bafca: 687b ldr r3, [r7, #4] 80bafcc: 2200 movs r2, #0 80bafce: 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); 80bafd2: 6878 ldr r0, [r7, #4] 80bafd4: f7ff fc43 bl 80ba85e #endif /* USE_HAL_SMBUS_REGISTER_CALLBACKS */ } } /* Process Unlocked */ __HAL_UNLOCK(hsmbus); 80bafd8: 687b ldr r3, [r7, #4] 80bafda: 2200 movs r2, #0 80bafdc: f883 2044 strb.w r2, [r3, #68] ; 0x44 return HAL_OK; 80bafe0: 2300 movs r3, #0 } 80bafe2: 4618 mov r0, r3 80bafe4: 3710 adds r7, #16 80bafe6: 46bd mov sp, r7 80bafe8: bd80 pop {r7, pc} 80bafea: bf00 nop 80bafec: fe00e800 .word 0xfe00e800 080baff0 : * 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) { 80baff0: b480 push {r7} 80baff2: b085 sub sp, #20 80baff4: af00 add r7, sp, #0 80baff6: 6078 str r0, [r7, #4] 80baff8: 6039 str r1, [r7, #0] uint32_t tmpisr = 0UL; 80baffa: 2300 movs r3, #0 80baffc: 60fb str r3, [r7, #12] uint32_t tmpstate = hsmbus->State; 80baffe: 687b ldr r3, [r7, #4] 80bb000: 6c9b ldr r3, [r3, #72] ; 0x48 80bb002: 60bb str r3, [r7, #8] if ((tmpstate == HAL_SMBUS_STATE_READY) && ((InterruptRequest & SMBUS_IT_ALERT) == SMBUS_IT_ALERT)) 80bb004: 68bb ldr r3, [r7, #8] 80bb006: 2b01 cmp r3, #1 80bb008: d108 bne.n 80bb01c 80bb00a: 683b ldr r3, [r7, #0] 80bb00c: f003 0380 and.w r3, r3, #128 ; 0x80 80bb010: 2b00 cmp r3, #0 80bb012: d003 beq.n 80bb01c { /* Disable ERR interrupt */ tmpisr |= SMBUS_IT_ERRI; 80bb014: 68fb ldr r3, [r7, #12] 80bb016: f043 0380 orr.w r3, r3, #128 ; 0x80 80bb01a: 60fb str r3, [r7, #12] } if ((InterruptRequest & SMBUS_IT_TX) == SMBUS_IT_TX) 80bb01c: 683b ldr r3, [r7, #0] 80bb01e: f003 03f2 and.w r3, r3, #242 ; 0xf2 80bb022: 2bf2 cmp r3, #242 ; 0xf2 80bb024: d11c bne.n 80bb060 { /* Disable TC, STOP, NACK and TXI interrupt */ tmpisr |= SMBUS_IT_TCI | SMBUS_IT_TXI; 80bb026: 68fb ldr r3, [r7, #12] 80bb028: f043 0342 orr.w r3, r3, #66 ; 0x42 80bb02c: 60fb str r3, [r7, #12] if ((SMBUS_GET_ALERT_ENABLED(hsmbus) == 0UL) 80bb02e: 687b ldr r3, [r7, #4] 80bb030: 681b ldr r3, [r3, #0] 80bb032: 681b ldr r3, [r3, #0] 80bb034: f403 0380 and.w r3, r3, #4194304 ; 0x400000 80bb038: 2b00 cmp r3, #0 80bb03a: d108 bne.n 80bb04e && ((tmpstate & HAL_SMBUS_STATE_LISTEN) != HAL_SMBUS_STATE_LISTEN)) 80bb03c: 68bb ldr r3, [r7, #8] 80bb03e: f003 0308 and.w r3, r3, #8 80bb042: 2b00 cmp r3, #0 80bb044: d103 bne.n 80bb04e { /* Disable ERR interrupt */ tmpisr |= SMBUS_IT_ERRI; 80bb046: 68fb ldr r3, [r7, #12] 80bb048: f043 0380 orr.w r3, r3, #128 ; 0x80 80bb04c: 60fb str r3, [r7, #12] } if ((tmpstate & HAL_SMBUS_STATE_LISTEN) != HAL_SMBUS_STATE_LISTEN) 80bb04e: 68bb ldr r3, [r7, #8] 80bb050: f003 0308 and.w r3, r3, #8 80bb054: 2b00 cmp r3, #0 80bb056: d103 bne.n 80bb060 { /* Disable STOP and NACK interrupt */ tmpisr |= SMBUS_IT_STOPI | SMBUS_IT_NACKI; 80bb058: 68fb ldr r3, [r7, #12] 80bb05a: f043 0330 orr.w r3, r3, #48 ; 0x30 80bb05e: 60fb str r3, [r7, #12] } } if ((InterruptRequest & SMBUS_IT_RX) == SMBUS_IT_RX) 80bb060: 683b ldr r3, [r7, #0] 80bb062: f003 03d4 and.w r3, r3, #212 ; 0xd4 80bb066: 2bd4 cmp r3, #212 ; 0xd4 80bb068: d11c bne.n 80bb0a4 { /* Disable TC, STOP, NACK and RXI interrupt */ tmpisr |= SMBUS_IT_TCI | SMBUS_IT_RXI; 80bb06a: 68fb ldr r3, [r7, #12] 80bb06c: f043 0344 orr.w r3, r3, #68 ; 0x44 80bb070: 60fb str r3, [r7, #12] if ((SMBUS_GET_ALERT_ENABLED(hsmbus) == 0UL) 80bb072: 687b ldr r3, [r7, #4] 80bb074: 681b ldr r3, [r3, #0] 80bb076: 681b ldr r3, [r3, #0] 80bb078: f403 0380 and.w r3, r3, #4194304 ; 0x400000 80bb07c: 2b00 cmp r3, #0 80bb07e: d108 bne.n 80bb092 && ((tmpstate & HAL_SMBUS_STATE_LISTEN) != HAL_SMBUS_STATE_LISTEN)) 80bb080: 68bb ldr r3, [r7, #8] 80bb082: f003 0308 and.w r3, r3, #8 80bb086: 2b00 cmp r3, #0 80bb088: d103 bne.n 80bb092 { /* Disable ERR interrupt */ tmpisr |= SMBUS_IT_ERRI; 80bb08a: 68fb ldr r3, [r7, #12] 80bb08c: f043 0380 orr.w r3, r3, #128 ; 0x80 80bb090: 60fb str r3, [r7, #12] } if ((tmpstate & HAL_SMBUS_STATE_LISTEN) != HAL_SMBUS_STATE_LISTEN) 80bb092: 68bb ldr r3, [r7, #8] 80bb094: f003 0308 and.w r3, r3, #8 80bb098: 2b00 cmp r3, #0 80bb09a: d103 bne.n 80bb0a4 { /* Disable STOP and NACK interrupt */ tmpisr |= SMBUS_IT_STOPI | SMBUS_IT_NACKI; 80bb09c: 68fb ldr r3, [r7, #12] 80bb09e: f043 0330 orr.w r3, r3, #48 ; 0x30 80bb0a2: 60fb str r3, [r7, #12] } } if ((InterruptRequest & SMBUS_IT_ADDR) == SMBUS_IT_ADDR) 80bb0a4: 683b ldr r3, [r7, #0] 80bb0a6: f003 0338 and.w r3, r3, #56 ; 0x38 80bb0aa: 2b38 cmp r3, #56 ; 0x38 80bb0ac: d10e bne.n 80bb0cc { /* Disable ADDR, STOP and NACK interrupt */ tmpisr |= SMBUS_IT_ADDRI | SMBUS_IT_STOPI | SMBUS_IT_NACKI; 80bb0ae: 68fb ldr r3, [r7, #12] 80bb0b0: f043 0338 orr.w r3, r3, #56 ; 0x38 80bb0b4: 60fb str r3, [r7, #12] if (SMBUS_GET_ALERT_ENABLED(hsmbus) == 0UL) 80bb0b6: 687b ldr r3, [r7, #4] 80bb0b8: 681b ldr r3, [r3, #0] 80bb0ba: 681b ldr r3, [r3, #0] 80bb0bc: f403 0380 and.w r3, r3, #4194304 ; 0x400000 80bb0c0: 2b00 cmp r3, #0 80bb0c2: d103 bne.n 80bb0cc { /* Disable ERR interrupt */ tmpisr |= SMBUS_IT_ERRI; 80bb0c4: 68fb ldr r3, [r7, #12] 80bb0c6: f043 0380 orr.w r3, r3, #128 ; 0x80 80bb0ca: 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); 80bb0cc: 687b ldr r3, [r7, #4] 80bb0ce: 681b ldr r3, [r3, #0] 80bb0d0: 687a ldr r2, [r7, #4] 80bb0d2: 6812 ldr r2, [r2, #0] 80bb0d4: 6811 ldr r1, [r2, #0] 80bb0d6: 68fa ldr r2, [r7, #12] 80bb0d8: 43d2 mvns r2, r2 80bb0da: 400a ands r2, r1 80bb0dc: 601a str r2, [r3, #0] } 80bb0de: bf00 nop 80bb0e0: 3714 adds r7, #20 80bb0e2: 46bd mov sp, r7 80bb0e4: f85d 7b04 ldr.w r7, [sp], #4 80bb0e8: 4770 bx lr 080bb0ea : * @brief SMBUS interrupts error handler. * @param hsmbus SMBUS handle. * @retval None */ static void SMBUS_ITErrorHandler(SMBUS_HandleTypeDef *hsmbus) { 80bb0ea: b580 push {r7, lr} 80bb0ec: b086 sub sp, #24 80bb0ee: af00 add r7, sp, #0 80bb0f0: 6078 str r0, [r7, #4] uint32_t itflags = READ_REG(hsmbus->Instance->ISR); 80bb0f2: 687b ldr r3, [r7, #4] 80bb0f4: 681b ldr r3, [r3, #0] 80bb0f6: 699b ldr r3, [r3, #24] 80bb0f8: 617b str r3, [r7, #20] uint32_t itsources = READ_REG(hsmbus->Instance->CR1); 80bb0fa: 687b ldr r3, [r7, #4] 80bb0fc: 681b ldr r3, [r3, #0] 80bb0fe: 681b ldr r3, [r3, #0] 80bb100: 613b str r3, [r7, #16] uint32_t tmpstate; uint32_t tmperror; /* SMBUS Bus error interrupt occurred ------------------------------------*/ if (((itflags & SMBUS_FLAG_BERR) == SMBUS_FLAG_BERR) && \ 80bb102: 697b ldr r3, [r7, #20] 80bb104: f403 7380 and.w r3, r3, #256 ; 0x100 80bb108: 2b00 cmp r3, #0 80bb10a: d00f beq.n 80bb12c ((itsources & SMBUS_IT_ERRI) == SMBUS_IT_ERRI)) 80bb10c: 693b ldr r3, [r7, #16] 80bb10e: f003 0380 and.w r3, r3, #128 ; 0x80 if (((itflags & SMBUS_FLAG_BERR) == SMBUS_FLAG_BERR) && \ 80bb112: 2b00 cmp r3, #0 80bb114: d00a beq.n 80bb12c { hsmbus->ErrorCode |= HAL_SMBUS_ERROR_BERR; 80bb116: 687b ldr r3, [r7, #4] 80bb118: 6cdb ldr r3, [r3, #76] ; 0x4c 80bb11a: f043 0201 orr.w r2, r3, #1 80bb11e: 687b ldr r3, [r7, #4] 80bb120: 64da str r2, [r3, #76] ; 0x4c /* Clear BERR flag */ __HAL_SMBUS_CLEAR_FLAG(hsmbus, SMBUS_FLAG_BERR); 80bb122: 687b ldr r3, [r7, #4] 80bb124: 681b ldr r3, [r3, #0] 80bb126: f44f 7280 mov.w r2, #256 ; 0x100 80bb12a: 61da str r2, [r3, #28] } /* SMBUS Over-Run/Under-Run interrupt occurred ----------------------------------------*/ if (((itflags & SMBUS_FLAG_OVR) == SMBUS_FLAG_OVR) && \ 80bb12c: 697b ldr r3, [r7, #20] 80bb12e: f403 6380 and.w r3, r3, #1024 ; 0x400 80bb132: 2b00 cmp r3, #0 80bb134: d00f beq.n 80bb156 ((itsources & SMBUS_IT_ERRI) == SMBUS_IT_ERRI)) 80bb136: 693b ldr r3, [r7, #16] 80bb138: f003 0380 and.w r3, r3, #128 ; 0x80 if (((itflags & SMBUS_FLAG_OVR) == SMBUS_FLAG_OVR) && \ 80bb13c: 2b00 cmp r3, #0 80bb13e: d00a beq.n 80bb156 { hsmbus->ErrorCode |= HAL_SMBUS_ERROR_OVR; 80bb140: 687b ldr r3, [r7, #4] 80bb142: 6cdb ldr r3, [r3, #76] ; 0x4c 80bb144: f043 0208 orr.w r2, r3, #8 80bb148: 687b ldr r3, [r7, #4] 80bb14a: 64da str r2, [r3, #76] ; 0x4c /* Clear OVR flag */ __HAL_SMBUS_CLEAR_FLAG(hsmbus, SMBUS_FLAG_OVR); 80bb14c: 687b ldr r3, [r7, #4] 80bb14e: 681b ldr r3, [r3, #0] 80bb150: f44f 6280 mov.w r2, #1024 ; 0x400 80bb154: 61da str r2, [r3, #28] } /* SMBUS Arbitration Loss error interrupt occurred ------------------------------------*/ if (((itflags & SMBUS_FLAG_ARLO) == SMBUS_FLAG_ARLO) && \ 80bb156: 697b ldr r3, [r7, #20] 80bb158: f403 7300 and.w r3, r3, #512 ; 0x200 80bb15c: 2b00 cmp r3, #0 80bb15e: d00f beq.n 80bb180 ((itsources & SMBUS_IT_ERRI) == SMBUS_IT_ERRI)) 80bb160: 693b ldr r3, [r7, #16] 80bb162: f003 0380 and.w r3, r3, #128 ; 0x80 if (((itflags & SMBUS_FLAG_ARLO) == SMBUS_FLAG_ARLO) && \ 80bb166: 2b00 cmp r3, #0 80bb168: d00a beq.n 80bb180 { hsmbus->ErrorCode |= HAL_SMBUS_ERROR_ARLO; 80bb16a: 687b ldr r3, [r7, #4] 80bb16c: 6cdb ldr r3, [r3, #76] ; 0x4c 80bb16e: f043 0202 orr.w r2, r3, #2 80bb172: 687b ldr r3, [r7, #4] 80bb174: 64da str r2, [r3, #76] ; 0x4c /* Clear ARLO flag */ __HAL_SMBUS_CLEAR_FLAG(hsmbus, SMBUS_FLAG_ARLO); 80bb176: 687b ldr r3, [r7, #4] 80bb178: 681b ldr r3, [r3, #0] 80bb17a: f44f 7200 mov.w r2, #512 ; 0x200 80bb17e: 61da str r2, [r3, #28] } /* SMBUS Timeout error interrupt occurred ---------------------------------------------*/ if (((itflags & SMBUS_FLAG_TIMEOUT) == SMBUS_FLAG_TIMEOUT) && \ 80bb180: 697b ldr r3, [r7, #20] 80bb182: f403 5380 and.w r3, r3, #4096 ; 0x1000 80bb186: 2b00 cmp r3, #0 80bb188: d00f beq.n 80bb1aa ((itsources & SMBUS_IT_ERRI) == SMBUS_IT_ERRI)) 80bb18a: 693b ldr r3, [r7, #16] 80bb18c: f003 0380 and.w r3, r3, #128 ; 0x80 if (((itflags & SMBUS_FLAG_TIMEOUT) == SMBUS_FLAG_TIMEOUT) && \ 80bb190: 2b00 cmp r3, #0 80bb192: d00a beq.n 80bb1aa { hsmbus->ErrorCode |= HAL_SMBUS_ERROR_BUSTIMEOUT; 80bb194: 687b ldr r3, [r7, #4] 80bb196: 6cdb ldr r3, [r3, #76] ; 0x4c 80bb198: f043 0220 orr.w r2, r3, #32 80bb19c: 687b ldr r3, [r7, #4] 80bb19e: 64da str r2, [r3, #76] ; 0x4c /* Clear TIMEOUT flag */ __HAL_SMBUS_CLEAR_FLAG(hsmbus, SMBUS_FLAG_TIMEOUT); 80bb1a0: 687b ldr r3, [r7, #4] 80bb1a2: 681b ldr r3, [r3, #0] 80bb1a4: f44f 5280 mov.w r2, #4096 ; 0x1000 80bb1a8: 61da str r2, [r3, #28] } /* SMBUS Alert error interrupt occurred -----------------------------------------------*/ if (((itflags & SMBUS_FLAG_ALERT) == SMBUS_FLAG_ALERT) && \ 80bb1aa: 697b ldr r3, [r7, #20] 80bb1ac: f403 5300 and.w r3, r3, #8192 ; 0x2000 80bb1b0: 2b00 cmp r3, #0 80bb1b2: d00f beq.n 80bb1d4 ((itsources & SMBUS_IT_ERRI) == SMBUS_IT_ERRI)) 80bb1b4: 693b ldr r3, [r7, #16] 80bb1b6: f003 0380 and.w r3, r3, #128 ; 0x80 if (((itflags & SMBUS_FLAG_ALERT) == SMBUS_FLAG_ALERT) && \ 80bb1ba: 2b00 cmp r3, #0 80bb1bc: d00a beq.n 80bb1d4 { hsmbus->ErrorCode |= HAL_SMBUS_ERROR_ALERT; 80bb1be: 687b ldr r3, [r7, #4] 80bb1c0: 6cdb ldr r3, [r3, #76] ; 0x4c 80bb1c2: f043 0240 orr.w r2, r3, #64 ; 0x40 80bb1c6: 687b ldr r3, [r7, #4] 80bb1c8: 64da str r2, [r3, #76] ; 0x4c /* Clear ALERT flag */ __HAL_SMBUS_CLEAR_FLAG(hsmbus, SMBUS_FLAG_ALERT); 80bb1ca: 687b ldr r3, [r7, #4] 80bb1cc: 681b ldr r3, [r3, #0] 80bb1ce: f44f 5200 mov.w r2, #8192 ; 0x2000 80bb1d2: 61da str r2, [r3, #28] } /* SMBUS Packet Error Check error interrupt occurred ----------------------------------*/ if (((itflags & SMBUS_FLAG_PECERR) == SMBUS_FLAG_PECERR) && \ 80bb1d4: 697b ldr r3, [r7, #20] 80bb1d6: f403 6300 and.w r3, r3, #2048 ; 0x800 80bb1da: 2b00 cmp r3, #0 80bb1dc: d00f beq.n 80bb1fe ((itsources & SMBUS_IT_ERRI) == SMBUS_IT_ERRI)) 80bb1de: 693b ldr r3, [r7, #16] 80bb1e0: f003 0380 and.w r3, r3, #128 ; 0x80 if (((itflags & SMBUS_FLAG_PECERR) == SMBUS_FLAG_PECERR) && \ 80bb1e4: 2b00 cmp r3, #0 80bb1e6: d00a beq.n 80bb1fe { hsmbus->ErrorCode |= HAL_SMBUS_ERROR_PECERR; 80bb1e8: 687b ldr r3, [r7, #4] 80bb1ea: 6cdb ldr r3, [r3, #76] ; 0x4c 80bb1ec: f043 0280 orr.w r2, r3, #128 ; 0x80 80bb1f0: 687b ldr r3, [r7, #4] 80bb1f2: 64da str r2, [r3, #76] ; 0x4c /* Clear PEC error flag */ __HAL_SMBUS_CLEAR_FLAG(hsmbus, SMBUS_FLAG_PECERR); 80bb1f4: 687b ldr r3, [r7, #4] 80bb1f6: 681b ldr r3, [r3, #0] 80bb1f8: f44f 6200 mov.w r2, #2048 ; 0x800 80bb1fc: 61da str r2, [r3, #28] } /* Flush TX register */ SMBUS_Flush_TXDR(hsmbus); 80bb1fe: 6878 ldr r0, [r7, #4] 80bb200: f000 f828 bl 80bb254 /* Store current volatile hsmbus->ErrorCode, misra rule */ tmperror = hsmbus->ErrorCode; 80bb204: 687b ldr r3, [r7, #4] 80bb206: 6cdb ldr r3, [r3, #76] ; 0x4c 80bb208: 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)) 80bb20a: 68fb ldr r3, [r7, #12] 80bb20c: 2b00 cmp r3, #0 80bb20e: d01d beq.n 80bb24c 80bb210: 68fb ldr r3, [r7, #12] 80bb212: 2b04 cmp r3, #4 80bb214: d01a beq.n 80bb24c { /* Do not Reset the HAL state in case of ALERT error */ if ((tmperror & HAL_SMBUS_ERROR_ALERT) != HAL_SMBUS_ERROR_ALERT) 80bb216: 68fb ldr r3, [r7, #12] 80bb218: f003 0340 and.w r3, r3, #64 ; 0x40 80bb21c: 2b00 cmp r3, #0 80bb21e: d112 bne.n 80bb246 { /* Store current volatile hsmbus->State, misra rule */ tmpstate = hsmbus->State; 80bb220: 687b ldr r3, [r7, #4] 80bb222: 6c9b ldr r3, [r3, #72] ; 0x48 80bb224: 60bb str r3, [r7, #8] if (((tmpstate & HAL_SMBUS_STATE_SLAVE_BUSY_TX) == HAL_SMBUS_STATE_SLAVE_BUSY_TX) 80bb226: 68bb ldr r3, [r7, #8] 80bb228: f003 0332 and.w r3, r3, #50 ; 0x32 80bb22c: 2b32 cmp r3, #50 ; 0x32 80bb22e: d004 beq.n 80bb23a || ((tmpstate & HAL_SMBUS_STATE_SLAVE_BUSY_RX) == HAL_SMBUS_STATE_SLAVE_BUSY_RX)) 80bb230: 68bb ldr r3, [r7, #8] 80bb232: f003 0342 and.w r3, r3, #66 ; 0x42 80bb236: 2b42 cmp r3, #66 ; 0x42 80bb238: d105 bne.n 80bb246 { /* Reset only HAL_SMBUS_STATE_SLAVE_BUSY_XX */ /* keep HAL_SMBUS_STATE_LISTEN if set */ hsmbus->PreviousState = HAL_SMBUS_STATE_READY; 80bb23a: 687b ldr r3, [r7, #4] 80bb23c: 2201 movs r2, #1 80bb23e: 641a str r2, [r3, #64] ; 0x40 hsmbus->State = HAL_SMBUS_STATE_LISTEN; 80bb240: 687b ldr r3, [r7, #4] 80bb242: 2208 movs r2, #8 80bb244: 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); 80bb246: 6878 ldr r0, [r7, #4] 80bb248: f7ff fb13 bl 80ba872 #endif /* USE_HAL_SMBUS_REGISTER_CALLBACKS */ } } 80bb24c: bf00 nop 80bb24e: 3718 adds r7, #24 80bb250: 46bd mov sp, r7 80bb252: bd80 pop {r7, pc} 080bb254 : * @brief SMBUS Tx data register flush process. * @param hsmbus SMBUS handle. * @retval None */ static void SMBUS_Flush_TXDR(SMBUS_HandleTypeDef *hsmbus) { 80bb254: b480 push {r7} 80bb256: b083 sub sp, #12 80bb258: af00 add r7, sp, #0 80bb25a: 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) 80bb25c: 687b ldr r3, [r7, #4] 80bb25e: 681b ldr r3, [r3, #0] 80bb260: 699b ldr r3, [r3, #24] 80bb262: f003 0302 and.w r3, r3, #2 80bb266: 2b02 cmp r3, #2 80bb268: d103 bne.n 80bb272 { hsmbus->Instance->TXDR = 0x00U; 80bb26a: 687b ldr r3, [r7, #4] 80bb26c: 681b ldr r3, [r3, #0] 80bb26e: 2200 movs r2, #0 80bb270: 629a str r2, [r3, #40] ; 0x28 } /* Flush TX register if not empty */ if (__HAL_SMBUS_GET_FLAG(hsmbus, SMBUS_FLAG_TXE) == RESET) 80bb272: 687b ldr r3, [r7, #4] 80bb274: 681b ldr r3, [r3, #0] 80bb276: 699b ldr r3, [r3, #24] 80bb278: f003 0301 and.w r3, r3, #1 80bb27c: 2b01 cmp r3, #1 80bb27e: d007 beq.n 80bb290 { __HAL_SMBUS_CLEAR_FLAG(hsmbus, SMBUS_FLAG_TXE); 80bb280: 687b ldr r3, [r7, #4] 80bb282: 681b ldr r3, [r3, #0] 80bb284: 687a ldr r2, [r7, #4] 80bb286: 6812 ldr r2, [r2, #0] 80bb288: 6992 ldr r2, [r2, #24] 80bb28a: f042 0201 orr.w r2, r2, #1 80bb28e: 619a str r2, [r3, #24] } } 80bb290: bf00 nop 80bb292: 370c adds r7, #12 80bb294: 46bd mov sp, r7 80bb296: f85d 7b04 ldr.w r7, [sp], #4 80bb29a: 4770 bx lr 080bb29c : * @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) { 80bb29c: b480 push {r7} 80bb29e: b085 sub sp, #20 80bb2a0: af00 add r7, sp, #0 80bb2a2: 60f8 str r0, [r7, #12] 80bb2a4: 607b str r3, [r7, #4] 80bb2a6: 460b mov r3, r1 80bb2a8: 817b strh r3, [r7, #10] 80bb2aa: 4613 mov r3, r2 80bb2ac: 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, 80bb2ae: 68fb ldr r3, [r7, #12] 80bb2b0: 681a ldr r2, [r3, #0] 80bb2b2: 68fb ldr r3, [r7, #12] 80bb2b4: 681b ldr r3, [r3, #0] 80bb2b6: 6859 ldr r1, [r3, #4] 80bb2b8: 69bb ldr r3, [r7, #24] 80bb2ba: 0d5b lsrs r3, r3, #21 80bb2bc: f403 6080 and.w r0, r3, #1024 ; 0x400 80bb2c0: 4b0b ldr r3, [pc, #44] ; (80bb2f0 ) 80bb2c2: 4303 orrs r3, r0 80bb2c4: 43db mvns r3, r3 80bb2c6: 4019 ands r1, r3 80bb2c8: 897b ldrh r3, [r7, #10] 80bb2ca: f3c3 0009 ubfx r0, r3, #0, #10 80bb2ce: 7a7b ldrb r3, [r7, #9] 80bb2d0: 041b lsls r3, r3, #16 80bb2d2: f403 037f and.w r3, r3, #16711680 ; 0xff0000 80bb2d6: 4318 orrs r0, r3 80bb2d8: 687b ldr r3, [r7, #4] 80bb2da: 4318 orrs r0, r3 80bb2dc: 69bb ldr r3, [r7, #24] 80bb2de: 4303 orrs r3, r0 80bb2e0: 430b orrs r3, r1 80bb2e2: 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)); } 80bb2e4: bf00 nop 80bb2e6: 3714 adds r7, #20 80bb2e8: 46bd mov sp, r7 80bb2ea: f85d 7b04 ldr.w r7, [sp], #4 80bb2ee: 4770 bx lr 80bb2f0: 07ff63ff .word 0x07ff63ff 080bb2f4 : * @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) { 80bb2f4: b580 push {r7, lr} 80bb2f6: b084 sub sp, #16 80bb2f8: af00 add r7, sp, #0 80bb2fa: 6078 str r0, [r7, #4] uint32_t frxth; /* Check the SPI handle allocation */ if (hspi == NULL) 80bb2fc: 687b ldr r3, [r7, #4] 80bb2fe: 2b00 cmp r3, #0 80bb300: d101 bne.n 80bb306 { return HAL_ERROR; 80bb302: 2301 movs r3, #1 80bb304: e09b b.n 80bb43e 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) 80bb306: 687b ldr r3, [r7, #4] 80bb308: 6a5b ldr r3, [r3, #36] ; 0x24 80bb30a: 2b00 cmp r3, #0 80bb30c: d108 bne.n 80bb320 { assert_param(IS_SPI_CPOL(hspi->Init.CLKPolarity)); assert_param(IS_SPI_CPHA(hspi->Init.CLKPhase)); if (hspi->Init.Mode == SPI_MODE_MASTER) 80bb30e: 687b ldr r3, [r7, #4] 80bb310: 685b ldr r3, [r3, #4] 80bb312: f5b3 7f82 cmp.w r3, #260 ; 0x104 80bb316: d009 beq.n 80bb32c 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; 80bb318: 687b ldr r3, [r7, #4] 80bb31a: 2200 movs r2, #0 80bb31c: 61da str r2, [r3, #28] 80bb31e: e005 b.n 80bb32c else { assert_param(IS_SPI_BAUDRATE_PRESCALER(hspi->Init.BaudRatePrescaler)); /* Force polarity and phase to TI protocaol requirements */ hspi->Init.CLKPolarity = SPI_POLARITY_LOW; 80bb320: 687b ldr r3, [r7, #4] 80bb322: 2200 movs r2, #0 80bb324: 611a str r2, [r3, #16] hspi->Init.CLKPhase = SPI_PHASE_1EDGE; 80bb326: 687b ldr r3, [r7, #4] 80bb328: 2200 movs r2, #0 80bb32a: 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; 80bb32c: 687b ldr r3, [r7, #4] 80bb32e: 2200 movs r2, #0 80bb330: 629a str r2, [r3, #40] ; 0x28 #endif /* USE_SPI_CRC */ if (hspi->State == HAL_SPI_STATE_RESET) 80bb332: 687b ldr r3, [r7, #4] 80bb334: f893 305d ldrb.w r3, [r3, #93] ; 0x5d 80bb338: b2db uxtb r3, r3 80bb33a: 2b00 cmp r3, #0 80bb33c: d106 bne.n 80bb34c { /* Allocate lock resource and initialize it */ hspi->Lock = HAL_UNLOCKED; 80bb33e: 687b ldr r3, [r7, #4] 80bb340: 2200 movs r2, #0 80bb342: 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); 80bb346: 6878 ldr r0, [r7, #4] 80bb348: f7f2 ff24 bl 80ae194 #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */ } hspi->State = HAL_SPI_STATE_BUSY; 80bb34c: 687b ldr r3, [r7, #4] 80bb34e: 2202 movs r2, #2 80bb350: f883 205d strb.w r2, [r3, #93] ; 0x5d /* Disable the selected SPI peripheral */ __HAL_SPI_DISABLE(hspi); 80bb354: 687b ldr r3, [r7, #4] 80bb356: 681b ldr r3, [r3, #0] 80bb358: 687a ldr r2, [r7, #4] 80bb35a: 6812 ldr r2, [r2, #0] 80bb35c: 6812 ldr r2, [r2, #0] 80bb35e: f022 0240 bic.w r2, r2, #64 ; 0x40 80bb362: 601a str r2, [r3, #0] /* Align by default the rs fifo threshold on the data size */ if (hspi->Init.DataSize > SPI_DATASIZE_8BIT) 80bb364: 687b ldr r3, [r7, #4] 80bb366: 68db ldr r3, [r3, #12] 80bb368: f5b3 6fe0 cmp.w r3, #1792 ; 0x700 80bb36c: d902 bls.n 80bb374 { frxth = SPI_RXFIFO_THRESHOLD_HF; 80bb36e: 2300 movs r3, #0 80bb370: 60fb str r3, [r7, #12] 80bb372: e002 b.n 80bb37a } else { frxth = SPI_RXFIFO_THRESHOLD_QF; 80bb374: f44f 5380 mov.w r3, #4096 ; 0x1000 80bb378: 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)) 80bb37a: 687b ldr r3, [r7, #4] 80bb37c: 68db ldr r3, [r3, #12] 80bb37e: f5b3 6f70 cmp.w r3, #3840 ; 0xf00 80bb382: d007 beq.n 80bb394 80bb384: 687b ldr r3, [r7, #4] 80bb386: 68db ldr r3, [r3, #12] 80bb388: f5b3 6fe0 cmp.w r3, #1792 ; 0x700 80bb38c: d002 beq.n 80bb394 { /* CRC must be disabled */ hspi->Init.CRCCalculation = SPI_CRCCALCULATION_DISABLE; 80bb38e: 687b ldr r3, [r7, #4] 80bb390: 2200 movs r2, #0 80bb392: 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)) | 80bb394: 687b ldr r3, [r7, #4] 80bb396: 681b ldr r3, [r3, #0] 80bb398: 687a ldr r2, [r7, #4] 80bb39a: 6852 ldr r2, [r2, #4] 80bb39c: f402 7182 and.w r1, r2, #260 ; 0x104 80bb3a0: 687a ldr r2, [r7, #4] 80bb3a2: 6892 ldr r2, [r2, #8] 80bb3a4: f402 4204 and.w r2, r2, #33792 ; 0x8400 80bb3a8: 4311 orrs r1, r2 80bb3aa: 687a ldr r2, [r7, #4] 80bb3ac: 6912 ldr r2, [r2, #16] 80bb3ae: f002 0202 and.w r2, r2, #2 80bb3b2: 4311 orrs r1, r2 80bb3b4: 687a ldr r2, [r7, #4] 80bb3b6: 6952 ldr r2, [r2, #20] 80bb3b8: f002 0201 and.w r2, r2, #1 80bb3bc: 4311 orrs r1, r2 80bb3be: 687a ldr r2, [r7, #4] 80bb3c0: 6992 ldr r2, [r2, #24] 80bb3c2: f402 7200 and.w r2, r2, #512 ; 0x200 80bb3c6: 4311 orrs r1, r2 80bb3c8: 687a ldr r2, [r7, #4] 80bb3ca: 69d2 ldr r2, [r2, #28] 80bb3cc: f002 0238 and.w r2, r2, #56 ; 0x38 80bb3d0: 4311 orrs r1, r2 80bb3d2: 687a ldr r2, [r7, #4] 80bb3d4: 6a12 ldr r2, [r2, #32] 80bb3d6: f002 0280 and.w r2, r2, #128 ; 0x80 80bb3da: 4311 orrs r1, r2 80bb3dc: 687a ldr r2, [r7, #4] 80bb3de: 6a92 ldr r2, [r2, #40] ; 0x28 80bb3e0: f402 5200 and.w r2, r2, #8192 ; 0x2000 80bb3e4: 430a orrs r2, r1 80bb3e6: 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) | 80bb3e8: 687b ldr r3, [r7, #4] 80bb3ea: 681b ldr r3, [r3, #0] 80bb3ec: 687a ldr r2, [r7, #4] 80bb3ee: 6992 ldr r2, [r2, #24] 80bb3f0: 0c12 lsrs r2, r2, #16 80bb3f2: f002 0104 and.w r1, r2, #4 80bb3f6: 687a ldr r2, [r7, #4] 80bb3f8: 6a52 ldr r2, [r2, #36] ; 0x24 80bb3fa: f002 0210 and.w r2, r2, #16 80bb3fe: 4311 orrs r1, r2 80bb400: 687a ldr r2, [r7, #4] 80bb402: 6b52 ldr r2, [r2, #52] ; 0x34 80bb404: f002 0208 and.w r2, r2, #8 80bb408: 4311 orrs r1, r2 80bb40a: 687a ldr r2, [r7, #4] 80bb40c: 68d2 ldr r2, [r2, #12] 80bb40e: f402 6270 and.w r2, r2, #3840 ; 0xf00 80bb412: 4311 orrs r1, r2 80bb414: 68fa ldr r2, [r7, #12] 80bb416: f402 5280 and.w r2, r2, #4096 ; 0x1000 80bb41a: 430a orrs r2, r1 80bb41c: 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); 80bb41e: 687b ldr r3, [r7, #4] 80bb420: 681b ldr r3, [r3, #0] 80bb422: 687a ldr r2, [r7, #4] 80bb424: 6812 ldr r2, [r2, #0] 80bb426: 69d2 ldr r2, [r2, #28] 80bb428: f422 6200 bic.w r2, r2, #2048 ; 0x800 80bb42c: 61da str r2, [r3, #28] #endif /* SPI_I2SCFGR_I2SMOD */ hspi->ErrorCode = HAL_SPI_ERROR_NONE; 80bb42e: 687b ldr r3, [r7, #4] 80bb430: 2200 movs r2, #0 80bb432: 661a str r2, [r3, #96] ; 0x60 hspi->State = HAL_SPI_STATE_READY; 80bb434: 687b ldr r3, [r7, #4] 80bb436: 2201 movs r2, #1 80bb438: f883 205d strb.w r2, [r3, #93] ; 0x5d return HAL_OK; 80bb43c: 2300 movs r3, #0 } 80bb43e: 4618 mov r0, r3 80bb440: 3710 adds r7, #16 80bb442: 46bd mov sp, r7 80bb444: bd80 pop {r7, pc} 080bb446 : * @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) { 80bb446: b580 push {r7, lr} 80bb448: b08a sub sp, #40 ; 0x28 80bb44a: af00 add r7, sp, #0 80bb44c: 60f8 str r0, [r7, #12] 80bb44e: 60b9 str r1, [r7, #8] 80bb450: 607a str r2, [r7, #4] 80bb452: 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; 80bb454: 2301 movs r3, #1 80bb456: 627b str r3, [r7, #36] ; 0x24 HAL_StatusTypeDef errorcode = HAL_OK; 80bb458: 2300 movs r3, #0 80bb45a: 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); 80bb45e: 68fb ldr r3, [r7, #12] 80bb460: f893 305c ldrb.w r3, [r3, #92] ; 0x5c 80bb464: 2b01 cmp r3, #1 80bb466: d101 bne.n 80bb46c 80bb468: 2302 movs r3, #2 80bb46a: e1f8 b.n 80bb85e 80bb46c: 68fb ldr r3, [r7, #12] 80bb46e: 2201 movs r2, #1 80bb470: f883 205c strb.w r2, [r3, #92] ; 0x5c /* Init tickstart for timeout management*/ tickstart = HAL_GetTick(); 80bb474: f7f7 fee0 bl 80b3238 80bb478: 61f8 str r0, [r7, #28] /* Init temporary variables */ tmp_state = hspi->State; 80bb47a: 68fb ldr r3, [r7, #12] 80bb47c: f893 305d ldrb.w r3, [r3, #93] ; 0x5d 80bb480: 76fb strb r3, [r7, #27] tmp_mode = hspi->Init.Mode; 80bb482: 68fb ldr r3, [r7, #12] 80bb484: 685b ldr r3, [r3, #4] 80bb486: 617b str r3, [r7, #20] initial_TxXferCount = Size; 80bb488: 887b ldrh r3, [r7, #2] 80bb48a: 827b strh r3, [r7, #18] initial_RxXferCount = Size; 80bb48c: 887b ldrh r3, [r7, #2] 80bb48e: 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) || \ 80bb490: 7efb ldrb r3, [r7, #27] 80bb492: 2b01 cmp r3, #1 80bb494: d00e beq.n 80bb4b4 80bb496: 697b ldr r3, [r7, #20] 80bb498: f5b3 7f82 cmp.w r3, #260 ; 0x104 80bb49c: d106 bne.n 80bb4ac ((tmp_mode == SPI_MODE_MASTER) && (hspi->Init.Direction == SPI_DIRECTION_2LINES) && (tmp_state == HAL_SPI_STATE_BUSY_RX)))) 80bb49e: 68fb ldr r3, [r7, #12] 80bb4a0: 689b ldr r3, [r3, #8] 80bb4a2: 2b00 cmp r3, #0 80bb4a4: d102 bne.n 80bb4ac 80bb4a6: 7efb ldrb r3, [r7, #27] 80bb4a8: 2b04 cmp r3, #4 80bb4aa: d003 beq.n 80bb4b4 { errorcode = HAL_BUSY; 80bb4ac: 2302 movs r3, #2 80bb4ae: f887 3023 strb.w r3, [r7, #35] ; 0x23 goto error; 80bb4b2: e1ca b.n 80bb84a } if ((pTxData == NULL) || (pRxData == NULL) || (Size == 0U)) 80bb4b4: 68bb ldr r3, [r7, #8] 80bb4b6: 2b00 cmp r3, #0 80bb4b8: d005 beq.n 80bb4c6 80bb4ba: 687b ldr r3, [r7, #4] 80bb4bc: 2b00 cmp r3, #0 80bb4be: d002 beq.n 80bb4c6 80bb4c0: 887b ldrh r3, [r7, #2] 80bb4c2: 2b00 cmp r3, #0 80bb4c4: d103 bne.n 80bb4ce { errorcode = HAL_ERROR; 80bb4c6: 2301 movs r3, #1 80bb4c8: f887 3023 strb.w r3, [r7, #35] ; 0x23 goto error; 80bb4cc: e1bd b.n 80bb84a } /* Don't overwrite in case of HAL_SPI_STATE_BUSY_RX */ if (hspi->State != HAL_SPI_STATE_BUSY_RX) 80bb4ce: 68fb ldr r3, [r7, #12] 80bb4d0: f893 305d ldrb.w r3, [r3, #93] ; 0x5d 80bb4d4: b2db uxtb r3, r3 80bb4d6: 2b04 cmp r3, #4 80bb4d8: d003 beq.n 80bb4e2 { hspi->State = HAL_SPI_STATE_BUSY_TX_RX; 80bb4da: 68fb ldr r3, [r7, #12] 80bb4dc: 2205 movs r2, #5 80bb4de: f883 205d strb.w r2, [r3, #93] ; 0x5d } /* Set the transaction information */ hspi->ErrorCode = HAL_SPI_ERROR_NONE; 80bb4e2: 68fb ldr r3, [r7, #12] 80bb4e4: 2200 movs r2, #0 80bb4e6: 661a str r2, [r3, #96] ; 0x60 hspi->pRxBuffPtr = (uint8_t *)pRxData; 80bb4e8: 68fb ldr r3, [r7, #12] 80bb4ea: 687a ldr r2, [r7, #4] 80bb4ec: 641a str r2, [r3, #64] ; 0x40 hspi->RxXferCount = Size; 80bb4ee: 68fb ldr r3, [r7, #12] 80bb4f0: 887a ldrh r2, [r7, #2] 80bb4f2: f8a3 2046 strh.w r2, [r3, #70] ; 0x46 hspi->RxXferSize = Size; 80bb4f6: 68fb ldr r3, [r7, #12] 80bb4f8: 887a ldrh r2, [r7, #2] 80bb4fa: f8a3 2044 strh.w r2, [r3, #68] ; 0x44 hspi->pTxBuffPtr = (uint8_t *)pTxData; 80bb4fe: 68fb ldr r3, [r7, #12] 80bb500: 68ba ldr r2, [r7, #8] 80bb502: 639a str r2, [r3, #56] ; 0x38 hspi->TxXferCount = Size; 80bb504: 68fb ldr r3, [r7, #12] 80bb506: 887a ldrh r2, [r7, #2] 80bb508: 87da strh r2, [r3, #62] ; 0x3e hspi->TxXferSize = Size; 80bb50a: 68fb ldr r3, [r7, #12] 80bb50c: 887a ldrh r2, [r7, #2] 80bb50e: 879a strh r2, [r3, #60] ; 0x3c /*Init field not used in handle to zero */ hspi->RxISR = NULL; 80bb510: 68fb ldr r3, [r7, #12] 80bb512: 2200 movs r2, #0 80bb514: 64da str r2, [r3, #76] ; 0x4c hspi->TxISR = NULL; 80bb516: 68fb ldr r3, [r7, #12] 80bb518: 2200 movs r2, #0 80bb51a: 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)) 80bb51c: 68fb ldr r3, [r7, #12] 80bb51e: 68db ldr r3, [r3, #12] 80bb520: f5b3 6fe0 cmp.w r3, #1792 ; 0x700 80bb524: d802 bhi.n 80bb52c 80bb526: 8a3b ldrh r3, [r7, #16] 80bb528: 2b01 cmp r3, #1 80bb52a: d908 bls.n 80bb53e { /* Set fiforxthreshold according the reception data length: 16bit */ CLEAR_BIT(hspi->Instance->CR2, SPI_RXFIFO_THRESHOLD); 80bb52c: 68fb ldr r3, [r7, #12] 80bb52e: 681b ldr r3, [r3, #0] 80bb530: 68fa ldr r2, [r7, #12] 80bb532: 6812 ldr r2, [r2, #0] 80bb534: 6852 ldr r2, [r2, #4] 80bb536: f422 5280 bic.w r2, r2, #4096 ; 0x1000 80bb53a: 605a str r2, [r3, #4] 80bb53c: e007 b.n 80bb54e } else { /* Set fiforxthreshold according the reception data length: 8bit */ SET_BIT(hspi->Instance->CR2, SPI_RXFIFO_THRESHOLD); 80bb53e: 68fb ldr r3, [r7, #12] 80bb540: 681b ldr r3, [r3, #0] 80bb542: 68fa ldr r2, [r7, #12] 80bb544: 6812 ldr r2, [r2, #0] 80bb546: 6852 ldr r2, [r2, #4] 80bb548: f442 5280 orr.w r2, r2, #4096 ; 0x1000 80bb54c: 605a str r2, [r3, #4] } /* Check if the SPI is already enabled */ if ((hspi->Instance->CR1 & SPI_CR1_SPE) != SPI_CR1_SPE) 80bb54e: 68fb ldr r3, [r7, #12] 80bb550: 681b ldr r3, [r3, #0] 80bb552: 681b ldr r3, [r3, #0] 80bb554: f003 0340 and.w r3, r3, #64 ; 0x40 80bb558: 2b40 cmp r3, #64 ; 0x40 80bb55a: d007 beq.n 80bb56c { /* Enable SPI peripheral */ __HAL_SPI_ENABLE(hspi); 80bb55c: 68fb ldr r3, [r7, #12] 80bb55e: 681b ldr r3, [r3, #0] 80bb560: 68fa ldr r2, [r7, #12] 80bb562: 6812 ldr r2, [r2, #0] 80bb564: 6812 ldr r2, [r2, #0] 80bb566: f042 0240 orr.w r2, r2, #64 ; 0x40 80bb56a: 601a str r2, [r3, #0] } /* Transmit and Receive data in 16 Bit mode */ if (hspi->Init.DataSize > SPI_DATASIZE_8BIT) 80bb56c: 68fb ldr r3, [r7, #12] 80bb56e: 68db ldr r3, [r3, #12] 80bb570: f5b3 6fe0 cmp.w r3, #1792 ; 0x700 80bb574: d97c bls.n 80bb670 { if ((hspi->Init.Mode == SPI_MODE_SLAVE) || (initial_TxXferCount == 0x01U)) 80bb576: 68fb ldr r3, [r7, #12] 80bb578: 685b ldr r3, [r3, #4] 80bb57a: 2b00 cmp r3, #0 80bb57c: d002 beq.n 80bb584 80bb57e: 8a7b ldrh r3, [r7, #18] 80bb580: 2b01 cmp r3, #1 80bb582: d169 bne.n 80bb658 { hspi->Instance->DR = *((uint16_t *)hspi->pTxBuffPtr); 80bb584: 68fb ldr r3, [r7, #12] 80bb586: 681b ldr r3, [r3, #0] 80bb588: 68fa ldr r2, [r7, #12] 80bb58a: 6b92 ldr r2, [r2, #56] ; 0x38 80bb58c: 8812 ldrh r2, [r2, #0] 80bb58e: 60da str r2, [r3, #12] hspi->pTxBuffPtr += sizeof(uint16_t); 80bb590: 68fb ldr r3, [r7, #12] 80bb592: 6b9b ldr r3, [r3, #56] ; 0x38 80bb594: 1c9a adds r2, r3, #2 80bb596: 68fb ldr r3, [r7, #12] 80bb598: 639a str r2, [r3, #56] ; 0x38 hspi->TxXferCount--; 80bb59a: 68fb ldr r3, [r7, #12] 80bb59c: 8fdb ldrh r3, [r3, #62] ; 0x3e 80bb59e: b29b uxth r3, r3 80bb5a0: 3b01 subs r3, #1 80bb5a2: b29a uxth r2, r3 80bb5a4: 68fb ldr r3, [r7, #12] 80bb5a6: 87da strh r2, [r3, #62] ; 0x3e } while ((hspi->TxXferCount > 0U) || (hspi->RxXferCount > 0U)) 80bb5a8: e056 b.n 80bb658 { /* Check TXE flag */ if ((__HAL_SPI_GET_FLAG(hspi, SPI_FLAG_TXE)) && (hspi->TxXferCount > 0U) && (txallowed == 1U)) 80bb5aa: 68fb ldr r3, [r7, #12] 80bb5ac: 681b ldr r3, [r3, #0] 80bb5ae: 689b ldr r3, [r3, #8] 80bb5b0: f003 0302 and.w r3, r3, #2 80bb5b4: 2b02 cmp r3, #2 80bb5b6: d11b bne.n 80bb5f0 80bb5b8: 68fb ldr r3, [r7, #12] 80bb5ba: 8fdb ldrh r3, [r3, #62] ; 0x3e 80bb5bc: b29b uxth r3, r3 80bb5be: 2b00 cmp r3, #0 80bb5c0: d016 beq.n 80bb5f0 80bb5c2: 6a7b ldr r3, [r7, #36] ; 0x24 80bb5c4: 2b01 cmp r3, #1 80bb5c6: d113 bne.n 80bb5f0 { hspi->Instance->DR = *((uint16_t *)hspi->pTxBuffPtr); 80bb5c8: 68fb ldr r3, [r7, #12] 80bb5ca: 681b ldr r3, [r3, #0] 80bb5cc: 68fa ldr r2, [r7, #12] 80bb5ce: 6b92 ldr r2, [r2, #56] ; 0x38 80bb5d0: 8812 ldrh r2, [r2, #0] 80bb5d2: 60da str r2, [r3, #12] hspi->pTxBuffPtr += sizeof(uint16_t); 80bb5d4: 68fb ldr r3, [r7, #12] 80bb5d6: 6b9b ldr r3, [r3, #56] ; 0x38 80bb5d8: 1c9a adds r2, r3, #2 80bb5da: 68fb ldr r3, [r7, #12] 80bb5dc: 639a str r2, [r3, #56] ; 0x38 hspi->TxXferCount--; 80bb5de: 68fb ldr r3, [r7, #12] 80bb5e0: 8fdb ldrh r3, [r3, #62] ; 0x3e 80bb5e2: b29b uxth r3, r3 80bb5e4: 3b01 subs r3, #1 80bb5e6: b29a uxth r2, r3 80bb5e8: 68fb ldr r3, [r7, #12] 80bb5ea: 87da strh r2, [r3, #62] ; 0x3e /* Next Data is a reception (Rx). Tx not allowed */ txallowed = 0U; 80bb5ec: 2300 movs r3, #0 80bb5ee: 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)) 80bb5f0: 68fb ldr r3, [r7, #12] 80bb5f2: 681b ldr r3, [r3, #0] 80bb5f4: 689b ldr r3, [r3, #8] 80bb5f6: f003 0301 and.w r3, r3, #1 80bb5fa: 2b01 cmp r3, #1 80bb5fc: d11c bne.n 80bb638 80bb5fe: 68fb ldr r3, [r7, #12] 80bb600: f8b3 3046 ldrh.w r3, [r3, #70] ; 0x46 80bb604: b29b uxth r3, r3 80bb606: 2b00 cmp r3, #0 80bb608: d016 beq.n 80bb638 { *((uint16_t *)hspi->pRxBuffPtr) = (uint16_t)hspi->Instance->DR; 80bb60a: 68fb ldr r3, [r7, #12] 80bb60c: 6c1b ldr r3, [r3, #64] ; 0x40 80bb60e: 68fa ldr r2, [r7, #12] 80bb610: 6812 ldr r2, [r2, #0] 80bb612: 68d2 ldr r2, [r2, #12] 80bb614: b292 uxth r2, r2 80bb616: 801a strh r2, [r3, #0] hspi->pRxBuffPtr += sizeof(uint16_t); 80bb618: 68fb ldr r3, [r7, #12] 80bb61a: 6c1b ldr r3, [r3, #64] ; 0x40 80bb61c: 1c9a adds r2, r3, #2 80bb61e: 68fb ldr r3, [r7, #12] 80bb620: 641a str r2, [r3, #64] ; 0x40 hspi->RxXferCount--; 80bb622: 68fb ldr r3, [r7, #12] 80bb624: f8b3 3046 ldrh.w r3, [r3, #70] ; 0x46 80bb628: b29b uxth r3, r3 80bb62a: 3b01 subs r3, #1 80bb62c: b29a uxth r2, r3 80bb62e: 68fb ldr r3, [r7, #12] 80bb630: f8a3 2046 strh.w r2, [r3, #70] ; 0x46 /* Next Data is a Transmission (Tx). Tx is allowed */ txallowed = 1U; 80bb634: 2301 movs r3, #1 80bb636: 627b str r3, [r7, #36] ; 0x24 } if (((HAL_GetTick() - tickstart) >= Timeout) && (Timeout != HAL_MAX_DELAY)) 80bb638: f7f7 fdfe bl 80b3238 80bb63c: 4602 mov r2, r0 80bb63e: 69fb ldr r3, [r7, #28] 80bb640: 1ad2 subs r2, r2, r3 80bb642: 6b3b ldr r3, [r7, #48] ; 0x30 80bb644: 429a cmp r2, r3 80bb646: d307 bcc.n 80bb658 80bb648: 6b3b ldr r3, [r7, #48] ; 0x30 80bb64a: f1b3 3fff cmp.w r3, #4294967295 80bb64e: d003 beq.n 80bb658 { errorcode = HAL_TIMEOUT; 80bb650: 2303 movs r3, #3 80bb652: f887 3023 strb.w r3, [r7, #35] ; 0x23 goto error; 80bb656: e0f8 b.n 80bb84a while ((hspi->TxXferCount > 0U) || (hspi->RxXferCount > 0U)) 80bb658: 68fb ldr r3, [r7, #12] 80bb65a: 8fdb ldrh r3, [r3, #62] ; 0x3e 80bb65c: b29b uxth r3, r3 80bb65e: 2b00 cmp r3, #0 80bb660: d1a3 bne.n 80bb5aa 80bb662: 68fb ldr r3, [r7, #12] 80bb664: f8b3 3046 ldrh.w r3, [r3, #70] ; 0x46 80bb668: b29b uxth r3, r3 80bb66a: 2b00 cmp r3, #0 80bb66c: d19d bne.n 80bb5aa 80bb66e: e0de b.n 80bb82e } } /* Transmit and Receive data in 8 Bit mode */ else { if ((hspi->Init.Mode == SPI_MODE_SLAVE) || (initial_TxXferCount == 0x01U)) 80bb670: 68fb ldr r3, [r7, #12] 80bb672: 685b ldr r3, [r3, #4] 80bb674: 2b00 cmp r3, #0 80bb676: d003 beq.n 80bb680 80bb678: 8a7b ldrh r3, [r7, #18] 80bb67a: 2b01 cmp r3, #1 80bb67c: f040 80ca bne.w 80bb814 { if (hspi->TxXferCount > 1U) 80bb680: 68fb ldr r3, [r7, #12] 80bb682: 8fdb ldrh r3, [r3, #62] ; 0x3e 80bb684: b29b uxth r3, r3 80bb686: 2b01 cmp r3, #1 80bb688: d912 bls.n 80bb6b0 { hspi->Instance->DR = *((uint16_t *)hspi->pTxBuffPtr); 80bb68a: 68fb ldr r3, [r7, #12] 80bb68c: 681b ldr r3, [r3, #0] 80bb68e: 68fa ldr r2, [r7, #12] 80bb690: 6b92 ldr r2, [r2, #56] ; 0x38 80bb692: 8812 ldrh r2, [r2, #0] 80bb694: 60da str r2, [r3, #12] hspi->pTxBuffPtr += sizeof(uint16_t); 80bb696: 68fb ldr r3, [r7, #12] 80bb698: 6b9b ldr r3, [r3, #56] ; 0x38 80bb69a: 1c9a adds r2, r3, #2 80bb69c: 68fb ldr r3, [r7, #12] 80bb69e: 639a str r2, [r3, #56] ; 0x38 hspi->TxXferCount -= 2U; 80bb6a0: 68fb ldr r3, [r7, #12] 80bb6a2: 8fdb ldrh r3, [r3, #62] ; 0x3e 80bb6a4: b29b uxth r3, r3 80bb6a6: 3b02 subs r3, #2 80bb6a8: b29a uxth r2, r3 80bb6aa: 68fb ldr r3, [r7, #12] 80bb6ac: 87da strh r2, [r3, #62] ; 0x3e 80bb6ae: e0b1 b.n 80bb814 } else { *(__IO uint8_t *)&hspi->Instance->DR = (*hspi->pTxBuffPtr); 80bb6b0: 68fb ldr r3, [r7, #12] 80bb6b2: 681b ldr r3, [r3, #0] 80bb6b4: 330c adds r3, #12 80bb6b6: 68fa ldr r2, [r7, #12] 80bb6b8: 6b92 ldr r2, [r2, #56] ; 0x38 80bb6ba: 7812 ldrb r2, [r2, #0] 80bb6bc: 701a strb r2, [r3, #0] hspi->pTxBuffPtr++; 80bb6be: 68fb ldr r3, [r7, #12] 80bb6c0: 6b9b ldr r3, [r3, #56] ; 0x38 80bb6c2: 1c5a adds r2, r3, #1 80bb6c4: 68fb ldr r3, [r7, #12] 80bb6c6: 639a str r2, [r3, #56] ; 0x38 hspi->TxXferCount--; 80bb6c8: 68fb ldr r3, [r7, #12] 80bb6ca: 8fdb ldrh r3, [r3, #62] ; 0x3e 80bb6cc: b29b uxth r3, r3 80bb6ce: 3b01 subs r3, #1 80bb6d0: b29a uxth r2, r3 80bb6d2: 68fb ldr r3, [r7, #12] 80bb6d4: 87da strh r2, [r3, #62] ; 0x3e } } while ((hspi->TxXferCount > 0U) || (hspi->RxXferCount > 0U)) 80bb6d6: e09d b.n 80bb814 { /* Check TXE flag */ if ((__HAL_SPI_GET_FLAG(hspi, SPI_FLAG_TXE)) && (hspi->TxXferCount > 0U) && (txallowed == 1U)) 80bb6d8: 68fb ldr r3, [r7, #12] 80bb6da: 681b ldr r3, [r3, #0] 80bb6dc: 689b ldr r3, [r3, #8] 80bb6de: f003 0302 and.w r3, r3, #2 80bb6e2: 2b02 cmp r3, #2 80bb6e4: d134 bne.n 80bb750 80bb6e6: 68fb ldr r3, [r7, #12] 80bb6e8: 8fdb ldrh r3, [r3, #62] ; 0x3e 80bb6ea: b29b uxth r3, r3 80bb6ec: 2b00 cmp r3, #0 80bb6ee: d02f beq.n 80bb750 80bb6f0: 6a7b ldr r3, [r7, #36] ; 0x24 80bb6f2: 2b01 cmp r3, #1 80bb6f4: d12c bne.n 80bb750 { if (hspi->TxXferCount > 1U) 80bb6f6: 68fb ldr r3, [r7, #12] 80bb6f8: 8fdb ldrh r3, [r3, #62] ; 0x3e 80bb6fa: b29b uxth r3, r3 80bb6fc: 2b01 cmp r3, #1 80bb6fe: d912 bls.n 80bb726 { hspi->Instance->DR = *((uint16_t *)hspi->pTxBuffPtr); 80bb700: 68fb ldr r3, [r7, #12] 80bb702: 681b ldr r3, [r3, #0] 80bb704: 68fa ldr r2, [r7, #12] 80bb706: 6b92 ldr r2, [r2, #56] ; 0x38 80bb708: 8812 ldrh r2, [r2, #0] 80bb70a: 60da str r2, [r3, #12] hspi->pTxBuffPtr += sizeof(uint16_t); 80bb70c: 68fb ldr r3, [r7, #12] 80bb70e: 6b9b ldr r3, [r3, #56] ; 0x38 80bb710: 1c9a adds r2, r3, #2 80bb712: 68fb ldr r3, [r7, #12] 80bb714: 639a str r2, [r3, #56] ; 0x38 hspi->TxXferCount -= 2U; 80bb716: 68fb ldr r3, [r7, #12] 80bb718: 8fdb ldrh r3, [r3, #62] ; 0x3e 80bb71a: b29b uxth r3, r3 80bb71c: 3b02 subs r3, #2 80bb71e: b29a uxth r2, r3 80bb720: 68fb ldr r3, [r7, #12] 80bb722: 87da strh r2, [r3, #62] ; 0x3e 80bb724: e012 b.n 80bb74c } else { *(__IO uint8_t *)&hspi->Instance->DR = (*hspi->pTxBuffPtr); 80bb726: 68fb ldr r3, [r7, #12] 80bb728: 681b ldr r3, [r3, #0] 80bb72a: 330c adds r3, #12 80bb72c: 68fa ldr r2, [r7, #12] 80bb72e: 6b92 ldr r2, [r2, #56] ; 0x38 80bb730: 7812 ldrb r2, [r2, #0] 80bb732: 701a strb r2, [r3, #0] hspi->pTxBuffPtr++; 80bb734: 68fb ldr r3, [r7, #12] 80bb736: 6b9b ldr r3, [r3, #56] ; 0x38 80bb738: 1c5a adds r2, r3, #1 80bb73a: 68fb ldr r3, [r7, #12] 80bb73c: 639a str r2, [r3, #56] ; 0x38 hspi->TxXferCount--; 80bb73e: 68fb ldr r3, [r7, #12] 80bb740: 8fdb ldrh r3, [r3, #62] ; 0x3e 80bb742: b29b uxth r3, r3 80bb744: 3b01 subs r3, #1 80bb746: b29a uxth r2, r3 80bb748: 68fb ldr r3, [r7, #12] 80bb74a: 87da strh r2, [r3, #62] ; 0x3e } /* Next Data is a reception (Rx). Tx not allowed */ txallowed = 0U; 80bb74c: 2300 movs r3, #0 80bb74e: 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)) 80bb750: 68fb ldr r3, [r7, #12] 80bb752: 681b ldr r3, [r3, #0] 80bb754: 689b ldr r3, [r3, #8] 80bb756: f003 0301 and.w r3, r3, #1 80bb75a: 2b01 cmp r3, #1 80bb75c: d147 bne.n 80bb7ee 80bb75e: 68fb ldr r3, [r7, #12] 80bb760: f8b3 3046 ldrh.w r3, [r3, #70] ; 0x46 80bb764: b29b uxth r3, r3 80bb766: 2b00 cmp r3, #0 80bb768: d041 beq.n 80bb7ee { if (hspi->RxXferCount > 1U) 80bb76a: 68fb ldr r3, [r7, #12] 80bb76c: f8b3 3046 ldrh.w r3, [r3, #70] ; 0x46 80bb770: b29b uxth r3, r3 80bb772: 2b01 cmp r3, #1 80bb774: d923 bls.n 80bb7be { *((uint16_t *)hspi->pRxBuffPtr) = (uint16_t)hspi->Instance->DR; 80bb776: 68fb ldr r3, [r7, #12] 80bb778: 6c1b ldr r3, [r3, #64] ; 0x40 80bb77a: 68fa ldr r2, [r7, #12] 80bb77c: 6812 ldr r2, [r2, #0] 80bb77e: 68d2 ldr r2, [r2, #12] 80bb780: b292 uxth r2, r2 80bb782: 801a strh r2, [r3, #0] hspi->pRxBuffPtr += sizeof(uint16_t); 80bb784: 68fb ldr r3, [r7, #12] 80bb786: 6c1b ldr r3, [r3, #64] ; 0x40 80bb788: 1c9a adds r2, r3, #2 80bb78a: 68fb ldr r3, [r7, #12] 80bb78c: 641a str r2, [r3, #64] ; 0x40 hspi->RxXferCount -= 2U; 80bb78e: 68fb ldr r3, [r7, #12] 80bb790: f8b3 3046 ldrh.w r3, [r3, #70] ; 0x46 80bb794: b29b uxth r3, r3 80bb796: 3b02 subs r3, #2 80bb798: b29a uxth r2, r3 80bb79a: 68fb ldr r3, [r7, #12] 80bb79c: f8a3 2046 strh.w r2, [r3, #70] ; 0x46 if (hspi->RxXferCount <= 1U) 80bb7a0: 68fb ldr r3, [r7, #12] 80bb7a2: f8b3 3046 ldrh.w r3, [r3, #70] ; 0x46 80bb7a6: b29b uxth r3, r3 80bb7a8: 2b01 cmp r3, #1 80bb7aa: d81e bhi.n 80bb7ea { /* Set RX Fifo threshold before to switch on 8 bit data size */ SET_BIT(hspi->Instance->CR2, SPI_RXFIFO_THRESHOLD); 80bb7ac: 68fb ldr r3, [r7, #12] 80bb7ae: 681b ldr r3, [r3, #0] 80bb7b0: 68fa ldr r2, [r7, #12] 80bb7b2: 6812 ldr r2, [r2, #0] 80bb7b4: 6852 ldr r2, [r2, #4] 80bb7b6: f442 5280 orr.w r2, r2, #4096 ; 0x1000 80bb7ba: 605a str r2, [r3, #4] 80bb7bc: e015 b.n 80bb7ea } } else { (*(uint8_t *)hspi->pRxBuffPtr) = *(__IO uint8_t *)&hspi->Instance->DR; 80bb7be: 68fb ldr r3, [r7, #12] 80bb7c0: 6c1b ldr r3, [r3, #64] ; 0x40 80bb7c2: 68fa ldr r2, [r7, #12] 80bb7c4: 6812 ldr r2, [r2, #0] 80bb7c6: 320c adds r2, #12 80bb7c8: 7812 ldrb r2, [r2, #0] 80bb7ca: b2d2 uxtb r2, r2 80bb7cc: 701a strb r2, [r3, #0] hspi->pRxBuffPtr++; 80bb7ce: 68fb ldr r3, [r7, #12] 80bb7d0: 6c1b ldr r3, [r3, #64] ; 0x40 80bb7d2: 1c5a adds r2, r3, #1 80bb7d4: 68fb ldr r3, [r7, #12] 80bb7d6: 641a str r2, [r3, #64] ; 0x40 hspi->RxXferCount--; 80bb7d8: 68fb ldr r3, [r7, #12] 80bb7da: f8b3 3046 ldrh.w r3, [r3, #70] ; 0x46 80bb7de: b29b uxth r3, r3 80bb7e0: 3b01 subs r3, #1 80bb7e2: b29a uxth r2, r3 80bb7e4: 68fb ldr r3, [r7, #12] 80bb7e6: f8a3 2046 strh.w r2, [r3, #70] ; 0x46 } /* Next Data is a Transmission (Tx). Tx is allowed */ txallowed = 1U; 80bb7ea: 2301 movs r3, #1 80bb7ec: 627b str r3, [r7, #36] ; 0x24 } if ((((HAL_GetTick() - tickstart) >= Timeout) && ((Timeout != HAL_MAX_DELAY))) || (Timeout == 0U)) 80bb7ee: f7f7 fd23 bl 80b3238 80bb7f2: 4602 mov r2, r0 80bb7f4: 69fb ldr r3, [r7, #28] 80bb7f6: 1ad2 subs r2, r2, r3 80bb7f8: 6b3b ldr r3, [r7, #48] ; 0x30 80bb7fa: 429a cmp r2, r3 80bb7fc: d303 bcc.n 80bb806 80bb7fe: 6b3b ldr r3, [r7, #48] ; 0x30 80bb800: f1b3 3fff cmp.w r3, #4294967295 80bb804: d102 bne.n 80bb80c 80bb806: 6b3b ldr r3, [r7, #48] ; 0x30 80bb808: 2b00 cmp r3, #0 80bb80a: d103 bne.n 80bb814 { errorcode = HAL_TIMEOUT; 80bb80c: 2303 movs r3, #3 80bb80e: f887 3023 strb.w r3, [r7, #35] ; 0x23 goto error; 80bb812: e01a b.n 80bb84a while ((hspi->TxXferCount > 0U) || (hspi->RxXferCount > 0U)) 80bb814: 68fb ldr r3, [r7, #12] 80bb816: 8fdb ldrh r3, [r3, #62] ; 0x3e 80bb818: b29b uxth r3, r3 80bb81a: 2b00 cmp r3, #0 80bb81c: f47f af5c bne.w 80bb6d8 80bb820: 68fb ldr r3, [r7, #12] 80bb822: f8b3 3046 ldrh.w r3, [r3, #70] ; 0x46 80bb826: b29b uxth r3, r3 80bb828: 2b00 cmp r3, #0 80bb82a: f47f af55 bne.w 80bb6d8 errorcode = HAL_ERROR; } #endif /* USE_SPI_CRC */ /* Check the end of the transaction */ if (SPI_EndRxTxTransaction(hspi, Timeout, tickstart) != HAL_OK) 80bb82e: 69fa ldr r2, [r7, #28] 80bb830: 6b39 ldr r1, [r7, #48] ; 0x30 80bb832: 68f8 ldr r0, [r7, #12] 80bb834: f000 f936 bl 80bbaa4 80bb838: 4603 mov r3, r0 80bb83a: 2b00 cmp r3, #0 80bb83c: d005 beq.n 80bb84a { errorcode = HAL_ERROR; 80bb83e: 2301 movs r3, #1 80bb840: f887 3023 strb.w r3, [r7, #35] ; 0x23 hspi->ErrorCode = HAL_SPI_ERROR_FLAG; 80bb844: 68fb ldr r3, [r7, #12] 80bb846: 2220 movs r2, #32 80bb848: 661a str r2, [r3, #96] ; 0x60 } error : hspi->State = HAL_SPI_STATE_READY; 80bb84a: 68fb ldr r3, [r7, #12] 80bb84c: 2201 movs r2, #1 80bb84e: f883 205d strb.w r2, [r3, #93] ; 0x5d __HAL_UNLOCK(hspi); 80bb852: 68fb ldr r3, [r7, #12] 80bb854: 2200 movs r2, #0 80bb856: f883 205c strb.w r2, [r3, #92] ; 0x5c return errorcode; 80bb85a: f897 3023 ldrb.w r3, [r7, #35] ; 0x23 } 80bb85e: 4618 mov r0, r3 80bb860: 3728 adds r7, #40 ; 0x28 80bb862: 46bd mov sp, r7 80bb864: bd80 pop {r7, pc} ... 080bb868 : * @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) { 80bb868: b580 push {r7, lr} 80bb86a: b088 sub sp, #32 80bb86c: af00 add r7, sp, #0 80bb86e: 60f8 str r0, [r7, #12] 80bb870: 60b9 str r1, [r7, #8] 80bb872: 603b str r3, [r7, #0] 80bb874: 4613 mov r3, r2 80bb876: 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); 80bb878: f7f7 fcde bl 80b3238 80bb87c: 4602 mov r2, r0 80bb87e: 6abb ldr r3, [r7, #40] ; 0x28 80bb880: 1a9a subs r2, r3, r2 80bb882: 683b ldr r3, [r7, #0] 80bb884: 4413 add r3, r2 80bb886: 61fb str r3, [r7, #28] tmp_tickstart = HAL_GetTick(); 80bb888: f7f7 fcd6 bl 80b3238 80bb88c: 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); 80bb88e: 4b39 ldr r3, [pc, #228] ; (80bb974 ) 80bb890: 681b ldr r3, [r3, #0] 80bb892: 015b lsls r3, r3, #5 80bb894: 0d1b lsrs r3, r3, #20 80bb896: 69fa ldr r2, [r7, #28] 80bb898: fb02 f303 mul.w r3, r2, r3 80bb89c: 617b str r3, [r7, #20] while ((__HAL_SPI_GET_FLAG(hspi, Flag) ? SET : RESET) != State) 80bb89e: e054 b.n 80bb94a { if (Timeout != HAL_MAX_DELAY) 80bb8a0: 683b ldr r3, [r7, #0] 80bb8a2: f1b3 3fff cmp.w r3, #4294967295 80bb8a6: d050 beq.n 80bb94a { if (((HAL_GetTick() - tmp_tickstart) >= tmp_timeout) || (tmp_timeout == 0U)) 80bb8a8: f7f7 fcc6 bl 80b3238 80bb8ac: 4602 mov r2, r0 80bb8ae: 69bb ldr r3, [r7, #24] 80bb8b0: 1ad2 subs r2, r2, r3 80bb8b2: 69fb ldr r3, [r7, #28] 80bb8b4: 429a cmp r2, r3 80bb8b6: d202 bcs.n 80bb8be 80bb8b8: 69fb ldr r3, [r7, #28] 80bb8ba: 2b00 cmp r3, #0 80bb8bc: d13d bne.n 80bb93a /* 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)); 80bb8be: 68fb ldr r3, [r7, #12] 80bb8c0: 681b ldr r3, [r3, #0] 80bb8c2: 68fa ldr r2, [r7, #12] 80bb8c4: 6812 ldr r2, [r2, #0] 80bb8c6: 6852 ldr r2, [r2, #4] 80bb8c8: f022 02e0 bic.w r2, r2, #224 ; 0xe0 80bb8cc: 605a str r2, [r3, #4] if ((hspi->Init.Mode == SPI_MODE_MASTER) && ((hspi->Init.Direction == SPI_DIRECTION_1LINE) 80bb8ce: 68fb ldr r3, [r7, #12] 80bb8d0: 685b ldr r3, [r3, #4] 80bb8d2: f5b3 7f82 cmp.w r3, #260 ; 0x104 80bb8d6: d111 bne.n 80bb8fc 80bb8d8: 68fb ldr r3, [r7, #12] 80bb8da: 689b ldr r3, [r3, #8] 80bb8dc: f5b3 4f00 cmp.w r3, #32768 ; 0x8000 80bb8e0: d004 beq.n 80bb8ec || (hspi->Init.Direction == SPI_DIRECTION_2LINES_RXONLY))) 80bb8e2: 68fb ldr r3, [r7, #12] 80bb8e4: 689b ldr r3, [r3, #8] 80bb8e6: f5b3 6f80 cmp.w r3, #1024 ; 0x400 80bb8ea: d107 bne.n 80bb8fc { /* Disable SPI peripheral */ __HAL_SPI_DISABLE(hspi); 80bb8ec: 68fb ldr r3, [r7, #12] 80bb8ee: 681b ldr r3, [r3, #0] 80bb8f0: 68fa ldr r2, [r7, #12] 80bb8f2: 6812 ldr r2, [r2, #0] 80bb8f4: 6812 ldr r2, [r2, #0] 80bb8f6: f022 0240 bic.w r2, r2, #64 ; 0x40 80bb8fa: 601a str r2, [r3, #0] } /* Reset CRC Calculation */ if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE) 80bb8fc: 68fb ldr r3, [r7, #12] 80bb8fe: 6a9b ldr r3, [r3, #40] ; 0x28 80bb900: f5b3 5f00 cmp.w r3, #8192 ; 0x2000 80bb904: d10f bne.n 80bb926 { SPI_RESET_CRC(hspi); 80bb906: 68fb ldr r3, [r7, #12] 80bb908: 681b ldr r3, [r3, #0] 80bb90a: 68fa ldr r2, [r7, #12] 80bb90c: 6812 ldr r2, [r2, #0] 80bb90e: 6812 ldr r2, [r2, #0] 80bb910: f422 5200 bic.w r2, r2, #8192 ; 0x2000 80bb914: 601a str r2, [r3, #0] 80bb916: 68fb ldr r3, [r7, #12] 80bb918: 681b ldr r3, [r3, #0] 80bb91a: 68fa ldr r2, [r7, #12] 80bb91c: 6812 ldr r2, [r2, #0] 80bb91e: 6812 ldr r2, [r2, #0] 80bb920: f442 5200 orr.w r2, r2, #8192 ; 0x2000 80bb924: 601a str r2, [r3, #0] } hspi->State = HAL_SPI_STATE_READY; 80bb926: 68fb ldr r3, [r7, #12] 80bb928: 2201 movs r2, #1 80bb92a: f883 205d strb.w r2, [r3, #93] ; 0x5d /* Process Unlocked */ __HAL_UNLOCK(hspi); 80bb92e: 68fb ldr r3, [r7, #12] 80bb930: 2200 movs r2, #0 80bb932: f883 205c strb.w r2, [r3, #92] ; 0x5c return HAL_TIMEOUT; 80bb936: 2303 movs r3, #3 80bb938: e017 b.n 80bb96a } /* If Systick is disabled or not incremented, deactivate timeout to go in disable loop procedure */ if (count == 0U) 80bb93a: 697b ldr r3, [r7, #20] 80bb93c: 2b00 cmp r3, #0 80bb93e: d101 bne.n 80bb944 { tmp_timeout = 0U; 80bb940: 2300 movs r3, #0 80bb942: 61fb str r3, [r7, #28] } count--; 80bb944: 697b ldr r3, [r7, #20] 80bb946: 3b01 subs r3, #1 80bb948: 617b str r3, [r7, #20] while ((__HAL_SPI_GET_FLAG(hspi, Flag) ? SET : RESET) != State) 80bb94a: 68fb ldr r3, [r7, #12] 80bb94c: 681b ldr r3, [r3, #0] 80bb94e: 689a ldr r2, [r3, #8] 80bb950: 68bb ldr r3, [r7, #8] 80bb952: 401a ands r2, r3 80bb954: 68bb ldr r3, [r7, #8] 80bb956: 429a cmp r2, r3 80bb958: bf0c ite eq 80bb95a: 2301 moveq r3, #1 80bb95c: 2300 movne r3, #0 80bb95e: b2db uxtb r3, r3 80bb960: 461a mov r2, r3 80bb962: 79fb ldrb r3, [r7, #7] 80bb964: 429a cmp r2, r3 80bb966: d19b bne.n 80bb8a0 } } return HAL_OK; 80bb968: 2300 movs r3, #0 } 80bb96a: 4618 mov r0, r3 80bb96c: 3720 adds r7, #32 80bb96e: 46bd mov sp, r7 80bb970: bd80 pop {r7, pc} 80bb972: bf00 nop 80bb974: 200209b4 .word 0x200209b4 080bb978 : * @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) { 80bb978: b580 push {r7, lr} 80bb97a: b08a sub sp, #40 ; 0x28 80bb97c: af00 add r7, sp, #0 80bb97e: 60f8 str r0, [r7, #12] 80bb980: 60b9 str r1, [r7, #8] 80bb982: 607a str r2, [r7, #4] 80bb984: 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; 80bb986: 2300 movs r3, #0 80bb988: 75fb strb r3, [r7, #23] /* Adjust Timeout value in case of end of transfer */ tmp_timeout = Timeout - (HAL_GetTick() - Tickstart); 80bb98a: f7f7 fc55 bl 80b3238 80bb98e: 4602 mov r2, r0 80bb990: 6b3b ldr r3, [r7, #48] ; 0x30 80bb992: 1a9a subs r2, r3, r2 80bb994: 683b ldr r3, [r7, #0] 80bb996: 4413 add r3, r2 80bb998: 627b str r3, [r7, #36] ; 0x24 tmp_tickstart = HAL_GetTick(); 80bb99a: f7f7 fc4d bl 80b3238 80bb99e: 6238 str r0, [r7, #32] /* Initialize the 8bit temporary pointer */ ptmpreg8 = (__IO uint8_t *)&hspi->Instance->DR; 80bb9a0: 68fb ldr r3, [r7, #12] 80bb9a2: 681b ldr r3, [r3, #0] 80bb9a4: 330c adds r3, #12 80bb9a6: 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); 80bb9a8: 4b3d ldr r3, [pc, #244] ; (80bbaa0 ) 80bb9aa: 681a ldr r2, [r3, #0] 80bb9ac: 4613 mov r3, r2 80bb9ae: 009b lsls r3, r3, #2 80bb9b0: 4413 add r3, r2 80bb9b2: 00da lsls r2, r3, #3 80bb9b4: 1ad3 subs r3, r2, r3 80bb9b6: 0d1b lsrs r3, r3, #20 80bb9b8: 6a7a ldr r2, [r7, #36] ; 0x24 80bb9ba: fb02 f303 mul.w r3, r2, r3 80bb9be: 61bb str r3, [r7, #24] while ((hspi->Instance->SR & Fifo) != State) 80bb9c0: e060 b.n 80bba84 { if ((Fifo == SPI_SR_FRLVL) && (State == SPI_FRLVL_EMPTY)) 80bb9c2: 68bb ldr r3, [r7, #8] 80bb9c4: f5b3 6fc0 cmp.w r3, #1536 ; 0x600 80bb9c8: d107 bne.n 80bb9da 80bb9ca: 687b ldr r3, [r7, #4] 80bb9cc: 2b00 cmp r3, #0 80bb9ce: d104 bne.n 80bb9da { /* Flush Data Register by a blank read */ tmpreg8 = *ptmpreg8; 80bb9d0: 69fb ldr r3, [r7, #28] 80bb9d2: 781b ldrb r3, [r3, #0] 80bb9d4: b2db uxtb r3, r3 80bb9d6: 75fb strb r3, [r7, #23] /* To avoid GCC warning */ UNUSED(tmpreg8); 80bb9d8: 7dfb ldrb r3, [r7, #23] } if (Timeout != HAL_MAX_DELAY) 80bb9da: 683b ldr r3, [r7, #0] 80bb9dc: f1b3 3fff cmp.w r3, #4294967295 80bb9e0: d050 beq.n 80bba84 { if (((HAL_GetTick() - tmp_tickstart) >= tmp_timeout) || (tmp_timeout == 0U)) 80bb9e2: f7f7 fc29 bl 80b3238 80bb9e6: 4602 mov r2, r0 80bb9e8: 6a3b ldr r3, [r7, #32] 80bb9ea: 1ad2 subs r2, r2, r3 80bb9ec: 6a7b ldr r3, [r7, #36] ; 0x24 80bb9ee: 429a cmp r2, r3 80bb9f0: d202 bcs.n 80bb9f8 80bb9f2: 6a7b ldr r3, [r7, #36] ; 0x24 80bb9f4: 2b00 cmp r3, #0 80bb9f6: d13d bne.n 80bba74 /* 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)); 80bb9f8: 68fb ldr r3, [r7, #12] 80bb9fa: 681b ldr r3, [r3, #0] 80bb9fc: 68fa ldr r2, [r7, #12] 80bb9fe: 6812 ldr r2, [r2, #0] 80bba00: 6852 ldr r2, [r2, #4] 80bba02: f022 02e0 bic.w r2, r2, #224 ; 0xe0 80bba06: 605a str r2, [r3, #4] if ((hspi->Init.Mode == SPI_MODE_MASTER) && ((hspi->Init.Direction == SPI_DIRECTION_1LINE) 80bba08: 68fb ldr r3, [r7, #12] 80bba0a: 685b ldr r3, [r3, #4] 80bba0c: f5b3 7f82 cmp.w r3, #260 ; 0x104 80bba10: d111 bne.n 80bba36 80bba12: 68fb ldr r3, [r7, #12] 80bba14: 689b ldr r3, [r3, #8] 80bba16: f5b3 4f00 cmp.w r3, #32768 ; 0x8000 80bba1a: d004 beq.n 80bba26 || (hspi->Init.Direction == SPI_DIRECTION_2LINES_RXONLY))) 80bba1c: 68fb ldr r3, [r7, #12] 80bba1e: 689b ldr r3, [r3, #8] 80bba20: f5b3 6f80 cmp.w r3, #1024 ; 0x400 80bba24: d107 bne.n 80bba36 { /* Disable SPI peripheral */ __HAL_SPI_DISABLE(hspi); 80bba26: 68fb ldr r3, [r7, #12] 80bba28: 681b ldr r3, [r3, #0] 80bba2a: 68fa ldr r2, [r7, #12] 80bba2c: 6812 ldr r2, [r2, #0] 80bba2e: 6812 ldr r2, [r2, #0] 80bba30: f022 0240 bic.w r2, r2, #64 ; 0x40 80bba34: 601a str r2, [r3, #0] } /* Reset CRC Calculation */ if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE) 80bba36: 68fb ldr r3, [r7, #12] 80bba38: 6a9b ldr r3, [r3, #40] ; 0x28 80bba3a: f5b3 5f00 cmp.w r3, #8192 ; 0x2000 80bba3e: d10f bne.n 80bba60 { SPI_RESET_CRC(hspi); 80bba40: 68fb ldr r3, [r7, #12] 80bba42: 681b ldr r3, [r3, #0] 80bba44: 68fa ldr r2, [r7, #12] 80bba46: 6812 ldr r2, [r2, #0] 80bba48: 6812 ldr r2, [r2, #0] 80bba4a: f422 5200 bic.w r2, r2, #8192 ; 0x2000 80bba4e: 601a str r2, [r3, #0] 80bba50: 68fb ldr r3, [r7, #12] 80bba52: 681b ldr r3, [r3, #0] 80bba54: 68fa ldr r2, [r7, #12] 80bba56: 6812 ldr r2, [r2, #0] 80bba58: 6812 ldr r2, [r2, #0] 80bba5a: f442 5200 orr.w r2, r2, #8192 ; 0x2000 80bba5e: 601a str r2, [r3, #0] } hspi->State = HAL_SPI_STATE_READY; 80bba60: 68fb ldr r3, [r7, #12] 80bba62: 2201 movs r2, #1 80bba64: f883 205d strb.w r2, [r3, #93] ; 0x5d /* Process Unlocked */ __HAL_UNLOCK(hspi); 80bba68: 68fb ldr r3, [r7, #12] 80bba6a: 2200 movs r2, #0 80bba6c: f883 205c strb.w r2, [r3, #92] ; 0x5c return HAL_TIMEOUT; 80bba70: 2303 movs r3, #3 80bba72: e010 b.n 80bba96 } /* If Systick is disabled or not incremented, deactivate timeout to go in disable loop procedure */ if (count == 0U) 80bba74: 69bb ldr r3, [r7, #24] 80bba76: 2b00 cmp r3, #0 80bba78: d101 bne.n 80bba7e { tmp_timeout = 0U; 80bba7a: 2300 movs r3, #0 80bba7c: 627b str r3, [r7, #36] ; 0x24 } count--; 80bba7e: 69bb ldr r3, [r7, #24] 80bba80: 3b01 subs r3, #1 80bba82: 61bb str r3, [r7, #24] while ((hspi->Instance->SR & Fifo) != State) 80bba84: 68fb ldr r3, [r7, #12] 80bba86: 681b ldr r3, [r3, #0] 80bba88: 689a ldr r2, [r3, #8] 80bba8a: 68bb ldr r3, [r7, #8] 80bba8c: 401a ands r2, r3 80bba8e: 687b ldr r3, [r7, #4] 80bba90: 429a cmp r2, r3 80bba92: d196 bne.n 80bb9c2 } } return HAL_OK; 80bba94: 2300 movs r3, #0 } 80bba96: 4618 mov r0, r3 80bba98: 3728 adds r7, #40 ; 0x28 80bba9a: 46bd mov sp, r7 80bba9c: bd80 pop {r7, pc} 80bba9e: bf00 nop 80bbaa0: 200209b4 .word 0x200209b4 080bbaa4 : * @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) { 80bbaa4: b580 push {r7, lr} 80bbaa6: b088 sub sp, #32 80bbaa8: af02 add r7, sp, #8 80bbaaa: 60f8 str r0, [r7, #12] 80bbaac: 60b9 str r1, [r7, #8] 80bbaae: 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) 80bbab0: 687b ldr r3, [r7, #4] 80bbab2: 9300 str r3, [sp, #0] 80bbab4: 68bb ldr r3, [r7, #8] 80bbab6: 2200 movs r2, #0 80bbab8: f44f 51c0 mov.w r1, #6144 ; 0x1800 80bbabc: 68f8 ldr r0, [r7, #12] 80bbabe: f7ff ff5b bl 80bb978 80bbac2: 4603 mov r3, r0 80bbac4: 2b00 cmp r3, #0 80bbac6: d007 beq.n 80bbad8 { SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_FLAG); 80bbac8: 68fb ldr r3, [r7, #12] 80bbaca: 6e1b ldr r3, [r3, #96] ; 0x60 80bbacc: f043 0220 orr.w r2, r3, #32 80bbad0: 68fb ldr r3, [r7, #12] 80bbad2: 661a str r2, [r3, #96] ; 0x60 return HAL_TIMEOUT; 80bbad4: 2303 movs r3, #3 80bbad6: e046 b.n 80bbb66 } /* Timeout in µs */ __IO uint32_t count = SPI_BSY_FLAG_WORKAROUND_TIMEOUT * (SystemCoreClock / 24U / 1000000U); 80bbad8: 4b25 ldr r3, [pc, #148] ; (80bbb70 ) 80bbada: 681b ldr r3, [r3, #0] 80bbadc: 4a25 ldr r2, [pc, #148] ; (80bbb74 ) 80bbade: fba2 2303 umull r2, r3, r2, r3 80bbae2: 0d5b lsrs r3, r3, #21 80bbae4: f44f 727a mov.w r2, #1000 ; 0x3e8 80bbae8: fb02 f303 mul.w r3, r2, r3 80bbaec: 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) 80bbaee: 68fb ldr r3, [r7, #12] 80bbaf0: 685b ldr r3, [r3, #4] 80bbaf2: f5b3 7f82 cmp.w r3, #260 ; 0x104 80bbaf6: d112 bne.n 80bbb1e { /* Control the BSY flag */ if (SPI_WaitFlagStateUntilTimeout(hspi, SPI_FLAG_BSY, RESET, Timeout, Tickstart) != HAL_OK) 80bbaf8: 687b ldr r3, [r7, #4] 80bbafa: 9300 str r3, [sp, #0] 80bbafc: 68bb ldr r3, [r7, #8] 80bbafe: 2200 movs r2, #0 80bbb00: 2180 movs r1, #128 ; 0x80 80bbb02: 68f8 ldr r0, [r7, #12] 80bbb04: f7ff feb0 bl 80bb868 80bbb08: 4603 mov r3, r0 80bbb0a: 2b00 cmp r3, #0 80bbb0c: d016 beq.n 80bbb3c { SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_FLAG); 80bbb0e: 68fb ldr r3, [r7, #12] 80bbb10: 6e1b ldr r3, [r3, #96] ; 0x60 80bbb12: f043 0220 orr.w r2, r3, #32 80bbb16: 68fb ldr r3, [r7, #12] 80bbb18: 661a str r2, [r3, #96] ; 0x60 return HAL_TIMEOUT; 80bbb1a: 2303 movs r3, #3 80bbb1c: e023 b.n 80bbb66 * 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) 80bbb1e: 697b ldr r3, [r7, #20] 80bbb20: 2b00 cmp r3, #0 80bbb22: d00a beq.n 80bbb3a { break; } count--; 80bbb24: 697b ldr r3, [r7, #20] 80bbb26: 3b01 subs r3, #1 80bbb28: 617b str r3, [r7, #20] } while (__HAL_SPI_GET_FLAG(hspi, SPI_FLAG_BSY) != RESET); 80bbb2a: 68fb ldr r3, [r7, #12] 80bbb2c: 681b ldr r3, [r3, #0] 80bbb2e: 689b ldr r3, [r3, #8] 80bbb30: f003 0380 and.w r3, r3, #128 ; 0x80 80bbb34: 2b80 cmp r3, #128 ; 0x80 80bbb36: d0f2 beq.n 80bbb1e 80bbb38: e000 b.n 80bbb3c break; 80bbb3a: bf00 nop } /* Control if the RX fifo is empty */ if (SPI_WaitFifoStateUntilTimeout(hspi, SPI_FLAG_FRLVL, SPI_FRLVL_EMPTY, Timeout, Tickstart) != HAL_OK) 80bbb3c: 687b ldr r3, [r7, #4] 80bbb3e: 9300 str r3, [sp, #0] 80bbb40: 68bb ldr r3, [r7, #8] 80bbb42: 2200 movs r2, #0 80bbb44: f44f 61c0 mov.w r1, #1536 ; 0x600 80bbb48: 68f8 ldr r0, [r7, #12] 80bbb4a: f7ff ff15 bl 80bb978 80bbb4e: 4603 mov r3, r0 80bbb50: 2b00 cmp r3, #0 80bbb52: d007 beq.n 80bbb64 { SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_FLAG); 80bbb54: 68fb ldr r3, [r7, #12] 80bbb56: 6e1b ldr r3, [r3, #96] ; 0x60 80bbb58: f043 0220 orr.w r2, r3, #32 80bbb5c: 68fb ldr r3, [r7, #12] 80bbb5e: 661a str r2, [r3, #96] ; 0x60 return HAL_TIMEOUT; 80bbb60: 2303 movs r3, #3 80bbb62: e000 b.n 80bbb66 } return HAL_OK; 80bbb64: 2300 movs r3, #0 } 80bbb66: 4618 mov r0, r3 80bbb68: 3718 adds r7, #24 80bbb6a: 46bd mov sp, r7 80bbb6c: bd80 pop {r7, pc} 80bbb6e: bf00 nop 80bbb70: 200209b4 .word 0x200209b4 80bbb74: 165e9f81 .word 0x165e9f81 080bbb78 : * @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) { 80bbb78: b580 push {r7, lr} 80bbb7a: b084 sub sp, #16 80bbb7c: af00 add r7, sp, #0 80bbb7e: 60f8 str r0, [r7, #12] 80bbb80: 60b9 str r1, [r7, #8] 80bbb82: 607a str r2, [r7, #4] /* Check the SRAM handle parameter */ if (hsram == NULL) 80bbb84: 68fb ldr r3, [r7, #12] 80bbb86: 2b00 cmp r3, #0 80bbb88: d101 bne.n 80bbb8e { return HAL_ERROR; 80bbb8a: 2301 movs r3, #1 80bbb8c: e038 b.n 80bbc00 } if (hsram->State == HAL_SRAM_STATE_RESET) 80bbb8e: 68fb ldr r3, [r7, #12] 80bbb90: f893 3045 ldrb.w r3, [r3, #69] ; 0x45 80bbb94: b2db uxtb r3, r3 80bbb96: 2b00 cmp r3, #0 80bbb98: d106 bne.n 80bbba8 { /* Allocate lock resource and initialize it */ hsram->Lock = HAL_UNLOCKED; 80bbb9a: 68fb ldr r3, [r7, #12] 80bbb9c: 2200 movs r2, #0 80bbb9e: 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); 80bbba2: 68f8 ldr r0, [r7, #12] 80bbba4: f773 fb70 bl 802f288 #endif /* USE_HAL_SRAM_REGISTER_CALLBACKS */ } /* Initialize SRAM control Interface */ (void)FMC_NORSRAM_Init(hsram->Instance, &(hsram->Init)); 80bbba8: 68fb ldr r3, [r7, #12] 80bbbaa: 681a ldr r2, [r3, #0] 80bbbac: 68fb ldr r3, [r7, #12] 80bbbae: 3308 adds r3, #8 80bbbb0: 4619 mov r1, r3 80bbbb2: 4610 mov r0, r2 80bbbb4: f001 fb18 bl 80bd1e8 /* Initialize SRAM timing Interface */ (void)FMC_NORSRAM_Timing_Init(hsram->Instance, Timing, hsram->Init.NSBank); 80bbbb8: 68fb ldr r3, [r7, #12] 80bbbba: 6818 ldr r0, [r3, #0] 80bbbbc: 68fb ldr r3, [r7, #12] 80bbbbe: 689b ldr r3, [r3, #8] 80bbbc0: 461a mov r2, r3 80bbbc2: 68b9 ldr r1, [r7, #8] 80bbbc4: f001 fba0 bl 80bd308 /* Initialize SRAM extended mode timing Interface */ (void)FMC_NORSRAM_Extended_Timing_Init(hsram->Extended, ExtTiming, hsram->Init.NSBank, 80bbbc8: 68fb ldr r3, [r7, #12] 80bbbca: 6858 ldr r0, [r3, #4] 80bbbcc: 68fb ldr r3, [r7, #12] 80bbbce: 689a ldr r2, [r3, #8] 80bbbd0: 68fb ldr r3, [r7, #12] 80bbbd2: 6adb ldr r3, [r3, #44] ; 0x2c 80bbbd4: 6879 ldr r1, [r7, #4] 80bbbd6: f001 fbe7 bl 80bd3a8 hsram->Init.ExtendedMode); /* Enable the NORSRAM device */ __FMC_NORSRAM_ENABLE(hsram->Instance, hsram->Init.NSBank); 80bbbda: 68fb ldr r3, [r7, #12] 80bbbdc: 681b ldr r3, [r3, #0] 80bbbde: 68fa ldr r2, [r7, #12] 80bbbe0: 6892 ldr r2, [r2, #8] 80bbbe2: 68f9 ldr r1, [r7, #12] 80bbbe4: 6809 ldr r1, [r1, #0] 80bbbe6: 68f8 ldr r0, [r7, #12] 80bbbe8: 6880 ldr r0, [r0, #8] 80bbbea: f851 1020 ldr.w r1, [r1, r0, lsl #2] 80bbbee: f041 0101 orr.w r1, r1, #1 80bbbf2: f843 1022 str.w r1, [r3, r2, lsl #2] /* Initialize the SRAM controller state */ hsram->State = HAL_SRAM_STATE_READY; 80bbbf6: 68fb ldr r3, [r7, #12] 80bbbf8: 2201 movs r2, #1 80bbbfa: f883 2045 strb.w r2, [r3, #69] ; 0x45 return HAL_OK; 80bbbfe: 2300 movs r3, #0 } 80bbc00: 4618 mov r0, r3 80bbc02: 3710 adds r7, #16 80bbc04: 46bd mov sp, r7 80bbc06: bd80 pop {r7, pc} 080bbc08 : * 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) { 80bbc08: b580 push {r7, lr} 80bbc0a: b082 sub sp, #8 80bbc0c: af00 add r7, sp, #0 80bbc0e: 6078 str r0, [r7, #4] /* Check the TIM handle allocation */ if (htim == NULL) 80bbc10: 687b ldr r3, [r7, #4] 80bbc12: 2b00 cmp r3, #0 80bbc14: d101 bne.n 80bbc1a { return HAL_ERROR; 80bbc16: 2301 movs r3, #1 80bbc18: e049 b.n 80bbcae 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) 80bbc1a: 687b ldr r3, [r7, #4] 80bbc1c: f893 303d ldrb.w r3, [r3, #61] ; 0x3d 80bbc20: b2db uxtb r3, r3 80bbc22: 2b00 cmp r3, #0 80bbc24: d106 bne.n 80bbc34 { /* Allocate lock resource and initialize it */ htim->Lock = HAL_UNLOCKED; 80bbc26: 687b ldr r3, [r7, #4] 80bbc28: 2200 movs r2, #0 80bbc2a: 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); 80bbc2e: 6878 ldr r0, [r7, #4] 80bbc30: f7f2 fd28 bl 80ae684 #endif /* USE_HAL_TIM_REGISTER_CALLBACKS */ } /* Set the TIM state */ htim->State = HAL_TIM_STATE_BUSY; 80bbc34: 687b ldr r3, [r7, #4] 80bbc36: 2202 movs r2, #2 80bbc38: f883 203d strb.w r2, [r3, #61] ; 0x3d /* Set the Time Base configuration */ TIM_Base_SetConfig(htim->Instance, &htim->Init); 80bbc3c: 687b ldr r3, [r7, #4] 80bbc3e: 681a ldr r2, [r3, #0] 80bbc40: 687b ldr r3, [r7, #4] 80bbc42: 3304 adds r3, #4 80bbc44: 4619 mov r1, r3 80bbc46: 4610 mov r0, r2 80bbc48: f000 fb72 bl 80bc330 /* Initialize the DMA burst operation state */ htim->DMABurstState = HAL_DMA_BURST_STATE_READY; 80bbc4c: 687b ldr r3, [r7, #4] 80bbc4e: 2201 movs r2, #1 80bbc50: f883 2048 strb.w r2, [r3, #72] ; 0x48 /* Initialize the TIM channels state */ TIM_CHANNEL_STATE_SET_ALL(htim, HAL_TIM_CHANNEL_STATE_READY); 80bbc54: 687b ldr r3, [r7, #4] 80bbc56: 2201 movs r2, #1 80bbc58: f883 203e strb.w r2, [r3, #62] ; 0x3e 80bbc5c: 687b ldr r3, [r7, #4] 80bbc5e: 2201 movs r2, #1 80bbc60: f883 203f strb.w r2, [r3, #63] ; 0x3f 80bbc64: 687b ldr r3, [r7, #4] 80bbc66: 2201 movs r2, #1 80bbc68: f883 2040 strb.w r2, [r3, #64] ; 0x40 80bbc6c: 687b ldr r3, [r7, #4] 80bbc6e: 2201 movs r2, #1 80bbc70: f883 2041 strb.w r2, [r3, #65] ; 0x41 80bbc74: 687b ldr r3, [r7, #4] 80bbc76: 2201 movs r2, #1 80bbc78: f883 2042 strb.w r2, [r3, #66] ; 0x42 80bbc7c: 687b ldr r3, [r7, #4] 80bbc7e: 2201 movs r2, #1 80bbc80: f883 2043 strb.w r2, [r3, #67] ; 0x43 TIM_CHANNEL_N_STATE_SET_ALL(htim, HAL_TIM_CHANNEL_STATE_READY); 80bbc84: 687b ldr r3, [r7, #4] 80bbc86: 2201 movs r2, #1 80bbc88: f883 2044 strb.w r2, [r3, #68] ; 0x44 80bbc8c: 687b ldr r3, [r7, #4] 80bbc8e: 2201 movs r2, #1 80bbc90: f883 2045 strb.w r2, [r3, #69] ; 0x45 80bbc94: 687b ldr r3, [r7, #4] 80bbc96: 2201 movs r2, #1 80bbc98: f883 2046 strb.w r2, [r3, #70] ; 0x46 80bbc9c: 687b ldr r3, [r7, #4] 80bbc9e: 2201 movs r2, #1 80bbca0: f883 2047 strb.w r2, [r3, #71] ; 0x47 /* Initialize the TIM state*/ htim->State = HAL_TIM_STATE_READY; 80bbca4: 687b ldr r3, [r7, #4] 80bbca6: 2201 movs r2, #1 80bbca8: f883 203d strb.w r2, [r3, #61] ; 0x3d return HAL_OK; 80bbcac: 2300 movs r3, #0 } 80bbcae: 4618 mov r0, r3 80bbcb0: 3708 adds r7, #8 80bbcb2: 46bd mov sp, r7 80bbcb4: bd80 pop {r7, pc} ... 080bbcb8 : * @brief Starts the TIM Base generation. * @param htim TIM Base handle * @retval HAL status */ HAL_StatusTypeDef HAL_TIM_Base_Start(TIM_HandleTypeDef *htim) { 80bbcb8: b480 push {r7} 80bbcba: b085 sub sp, #20 80bbcbc: af00 add r7, sp, #0 80bbcbe: 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) 80bbcc0: 687b ldr r3, [r7, #4] 80bbcc2: f893 303d ldrb.w r3, [r3, #61] ; 0x3d 80bbcc6: b2db uxtb r3, r3 80bbcc8: 2b01 cmp r3, #1 80bbcca: d001 beq.n 80bbcd0 { return HAL_ERROR; 80bbccc: 2301 movs r3, #1 80bbcce: e04c b.n 80bbd6a } /* Set the TIM state */ htim->State = HAL_TIM_STATE_BUSY; 80bbcd0: 687b ldr r3, [r7, #4] 80bbcd2: 2202 movs r2, #2 80bbcd4: 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)) 80bbcd8: 687b ldr r3, [r7, #4] 80bbcda: 681b ldr r3, [r3, #0] 80bbcdc: 4a26 ldr r2, [pc, #152] ; (80bbd78 ) 80bbcde: 4293 cmp r3, r2 80bbce0: d022 beq.n 80bbd28 80bbce2: 687b ldr r3, [r7, #4] 80bbce4: 681b ldr r3, [r3, #0] 80bbce6: f1b3 4f80 cmp.w r3, #1073741824 ; 0x40000000 80bbcea: d01d beq.n 80bbd28 80bbcec: 687b ldr r3, [r7, #4] 80bbcee: 681b ldr r3, [r3, #0] 80bbcf0: 4a22 ldr r2, [pc, #136] ; (80bbd7c ) 80bbcf2: 4293 cmp r3, r2 80bbcf4: d018 beq.n 80bbd28 80bbcf6: 687b ldr r3, [r7, #4] 80bbcf8: 681b ldr r3, [r3, #0] 80bbcfa: 4a21 ldr r2, [pc, #132] ; (80bbd80 ) 80bbcfc: 4293 cmp r3, r2 80bbcfe: d013 beq.n 80bbd28 80bbd00: 687b ldr r3, [r7, #4] 80bbd02: 681b ldr r3, [r3, #0] 80bbd04: 4a1f ldr r2, [pc, #124] ; (80bbd84 ) 80bbd06: 4293 cmp r3, r2 80bbd08: d00e beq.n 80bbd28 80bbd0a: 687b ldr r3, [r7, #4] 80bbd0c: 681b ldr r3, [r3, #0] 80bbd0e: 4a1e ldr r2, [pc, #120] ; (80bbd88 ) 80bbd10: 4293 cmp r3, r2 80bbd12: d009 beq.n 80bbd28 80bbd14: 687b ldr r3, [r7, #4] 80bbd16: 681b ldr r3, [r3, #0] 80bbd18: 4a1c ldr r2, [pc, #112] ; (80bbd8c ) 80bbd1a: 4293 cmp r3, r2 80bbd1c: d004 beq.n 80bbd28 80bbd1e: 687b ldr r3, [r7, #4] 80bbd20: 681b ldr r3, [r3, #0] 80bbd22: 4a1b ldr r2, [pc, #108] ; (80bbd90 ) 80bbd24: 4293 cmp r3, r2 80bbd26: d115 bne.n 80bbd54 { tmpsmcr = htim->Instance->SMCR & TIM_SMCR_SMS; 80bbd28: 687b ldr r3, [r7, #4] 80bbd2a: 681b ldr r3, [r3, #0] 80bbd2c: 689a ldr r2, [r3, #8] 80bbd2e: 4b19 ldr r3, [pc, #100] ; (80bbd94 ) 80bbd30: 4013 ands r3, r2 80bbd32: 60fb str r3, [r7, #12] if (!IS_TIM_SLAVEMODE_TRIGGER_ENABLED(tmpsmcr)) 80bbd34: 68fb ldr r3, [r7, #12] 80bbd36: 2b06 cmp r3, #6 80bbd38: d015 beq.n 80bbd66 80bbd3a: 68fb ldr r3, [r7, #12] 80bbd3c: f5b3 3f80 cmp.w r3, #65536 ; 0x10000 80bbd40: d011 beq.n 80bbd66 { __HAL_TIM_ENABLE(htim); 80bbd42: 687b ldr r3, [r7, #4] 80bbd44: 681b ldr r3, [r3, #0] 80bbd46: 687a ldr r2, [r7, #4] 80bbd48: 6812 ldr r2, [r2, #0] 80bbd4a: 6812 ldr r2, [r2, #0] 80bbd4c: f042 0201 orr.w r2, r2, #1 80bbd50: 601a str r2, [r3, #0] if (!IS_TIM_SLAVEMODE_TRIGGER_ENABLED(tmpsmcr)) 80bbd52: e008 b.n 80bbd66 } } else { __HAL_TIM_ENABLE(htim); 80bbd54: 687b ldr r3, [r7, #4] 80bbd56: 681b ldr r3, [r3, #0] 80bbd58: 687a ldr r2, [r7, #4] 80bbd5a: 6812 ldr r2, [r2, #0] 80bbd5c: 6812 ldr r2, [r2, #0] 80bbd5e: f042 0201 orr.w r2, r2, #1 80bbd62: 601a str r2, [r3, #0] 80bbd64: e000 b.n 80bbd68 if (!IS_TIM_SLAVEMODE_TRIGGER_ENABLED(tmpsmcr)) 80bbd66: bf00 nop } /* Return function status */ return HAL_OK; 80bbd68: 2300 movs r3, #0 } 80bbd6a: 4618 mov r0, r3 80bbd6c: 3714 adds r7, #20 80bbd6e: 46bd mov sp, r7 80bbd70: f85d 7b04 ldr.w r7, [sp], #4 80bbd74: 4770 bx lr 80bbd76: bf00 nop 80bbd78: 40010000 .word 0x40010000 80bbd7c: 40000400 .word 0x40000400 80bbd80: 40000800 .word 0x40000800 80bbd84: 40000c00 .word 0x40000c00 80bbd88: 40010400 .word 0x40010400 80bbd8c: 40014000 .word 0x40014000 80bbd90: 40001800 .word 0x40001800 80bbd94: 00010007 .word 0x00010007 080bbd98 : * @brief Stops the TIM Base generation. * @param htim TIM Base handle * @retval HAL status */ HAL_StatusTypeDef HAL_TIM_Base_Stop(TIM_HandleTypeDef *htim) { 80bbd98: b480 push {r7} 80bbd9a: b083 sub sp, #12 80bbd9c: af00 add r7, sp, #0 80bbd9e: 6078 str r0, [r7, #4] /* Check the parameters */ assert_param(IS_TIM_INSTANCE(htim->Instance)); /* Disable the Peripheral */ __HAL_TIM_DISABLE(htim); 80bbda0: 687b ldr r3, [r7, #4] 80bbda2: 681b ldr r3, [r3, #0] 80bbda4: 6a1a ldr r2, [r3, #32] 80bbda6: f241 1311 movw r3, #4369 ; 0x1111 80bbdaa: 4013 ands r3, r2 80bbdac: 2b00 cmp r3, #0 80bbdae: d10f bne.n 80bbdd0 80bbdb0: 687b ldr r3, [r7, #4] 80bbdb2: 681b ldr r3, [r3, #0] 80bbdb4: 6a1a ldr r2, [r3, #32] 80bbdb6: f240 4344 movw r3, #1092 ; 0x444 80bbdba: 4013 ands r3, r2 80bbdbc: 2b00 cmp r3, #0 80bbdbe: d107 bne.n 80bbdd0 80bbdc0: 687b ldr r3, [r7, #4] 80bbdc2: 681b ldr r3, [r3, #0] 80bbdc4: 687a ldr r2, [r7, #4] 80bbdc6: 6812 ldr r2, [r2, #0] 80bbdc8: 6812 ldr r2, [r2, #0] 80bbdca: f022 0201 bic.w r2, r2, #1 80bbdce: 601a str r2, [r3, #0] /* Set the TIM state */ htim->State = HAL_TIM_STATE_READY; 80bbdd0: 687b ldr r3, [r7, #4] 80bbdd2: 2201 movs r2, #1 80bbdd4: f883 203d strb.w r2, [r3, #61] ; 0x3d /* Return function status */ return HAL_OK; 80bbdd8: 2300 movs r3, #0 } 80bbdda: 4618 mov r0, r3 80bbddc: 370c adds r7, #12 80bbdde: 46bd mov sp, r7 80bbde0: f85d 7b04 ldr.w r7, [sp], #4 80bbde4: 4770 bx lr ... 080bbde8 : * @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) { 80bbde8: b480 push {r7} 80bbdea: b085 sub sp, #20 80bbdec: af00 add r7, sp, #0 80bbdee: 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) 80bbdf0: 687b ldr r3, [r7, #4] 80bbdf2: f893 303d ldrb.w r3, [r3, #61] ; 0x3d 80bbdf6: b2db uxtb r3, r3 80bbdf8: 2b01 cmp r3, #1 80bbdfa: d001 beq.n 80bbe00 { return HAL_ERROR; 80bbdfc: 2301 movs r3, #1 80bbdfe: e054 b.n 80bbeaa } /* Set the TIM state */ htim->State = HAL_TIM_STATE_BUSY; 80bbe00: 687b ldr r3, [r7, #4] 80bbe02: 2202 movs r2, #2 80bbe04: f883 203d strb.w r2, [r3, #61] ; 0x3d /* Enable the TIM Update interrupt */ __HAL_TIM_ENABLE_IT(htim, TIM_IT_UPDATE); 80bbe08: 687b ldr r3, [r7, #4] 80bbe0a: 681b ldr r3, [r3, #0] 80bbe0c: 687a ldr r2, [r7, #4] 80bbe0e: 6812 ldr r2, [r2, #0] 80bbe10: 68d2 ldr r2, [r2, #12] 80bbe12: f042 0201 orr.w r2, r2, #1 80bbe16: 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)) 80bbe18: 687b ldr r3, [r7, #4] 80bbe1a: 681b ldr r3, [r3, #0] 80bbe1c: 4a26 ldr r2, [pc, #152] ; (80bbeb8 ) 80bbe1e: 4293 cmp r3, r2 80bbe20: d022 beq.n 80bbe68 80bbe22: 687b ldr r3, [r7, #4] 80bbe24: 681b ldr r3, [r3, #0] 80bbe26: f1b3 4f80 cmp.w r3, #1073741824 ; 0x40000000 80bbe2a: d01d beq.n 80bbe68 80bbe2c: 687b ldr r3, [r7, #4] 80bbe2e: 681b ldr r3, [r3, #0] 80bbe30: 4a22 ldr r2, [pc, #136] ; (80bbebc ) 80bbe32: 4293 cmp r3, r2 80bbe34: d018 beq.n 80bbe68 80bbe36: 687b ldr r3, [r7, #4] 80bbe38: 681b ldr r3, [r3, #0] 80bbe3a: 4a21 ldr r2, [pc, #132] ; (80bbec0 ) 80bbe3c: 4293 cmp r3, r2 80bbe3e: d013 beq.n 80bbe68 80bbe40: 687b ldr r3, [r7, #4] 80bbe42: 681b ldr r3, [r3, #0] 80bbe44: 4a1f ldr r2, [pc, #124] ; (80bbec4 ) 80bbe46: 4293 cmp r3, r2 80bbe48: d00e beq.n 80bbe68 80bbe4a: 687b ldr r3, [r7, #4] 80bbe4c: 681b ldr r3, [r3, #0] 80bbe4e: 4a1e ldr r2, [pc, #120] ; (80bbec8 ) 80bbe50: 4293 cmp r3, r2 80bbe52: d009 beq.n 80bbe68 80bbe54: 687b ldr r3, [r7, #4] 80bbe56: 681b ldr r3, [r3, #0] 80bbe58: 4a1c ldr r2, [pc, #112] ; (80bbecc ) 80bbe5a: 4293 cmp r3, r2 80bbe5c: d004 beq.n 80bbe68 80bbe5e: 687b ldr r3, [r7, #4] 80bbe60: 681b ldr r3, [r3, #0] 80bbe62: 4a1b ldr r2, [pc, #108] ; (80bbed0 ) 80bbe64: 4293 cmp r3, r2 80bbe66: d115 bne.n 80bbe94 { tmpsmcr = htim->Instance->SMCR & TIM_SMCR_SMS; 80bbe68: 687b ldr r3, [r7, #4] 80bbe6a: 681b ldr r3, [r3, #0] 80bbe6c: 689a ldr r2, [r3, #8] 80bbe6e: 4b19 ldr r3, [pc, #100] ; (80bbed4 ) 80bbe70: 4013 ands r3, r2 80bbe72: 60fb str r3, [r7, #12] if (!IS_TIM_SLAVEMODE_TRIGGER_ENABLED(tmpsmcr)) 80bbe74: 68fb ldr r3, [r7, #12] 80bbe76: 2b06 cmp r3, #6 80bbe78: d015 beq.n 80bbea6 80bbe7a: 68fb ldr r3, [r7, #12] 80bbe7c: f5b3 3f80 cmp.w r3, #65536 ; 0x10000 80bbe80: d011 beq.n 80bbea6 { __HAL_TIM_ENABLE(htim); 80bbe82: 687b ldr r3, [r7, #4] 80bbe84: 681b ldr r3, [r3, #0] 80bbe86: 687a ldr r2, [r7, #4] 80bbe88: 6812 ldr r2, [r2, #0] 80bbe8a: 6812 ldr r2, [r2, #0] 80bbe8c: f042 0201 orr.w r2, r2, #1 80bbe90: 601a str r2, [r3, #0] if (!IS_TIM_SLAVEMODE_TRIGGER_ENABLED(tmpsmcr)) 80bbe92: e008 b.n 80bbea6 } } else { __HAL_TIM_ENABLE(htim); 80bbe94: 687b ldr r3, [r7, #4] 80bbe96: 681b ldr r3, [r3, #0] 80bbe98: 687a ldr r2, [r7, #4] 80bbe9a: 6812 ldr r2, [r2, #0] 80bbe9c: 6812 ldr r2, [r2, #0] 80bbe9e: f042 0201 orr.w r2, r2, #1 80bbea2: 601a str r2, [r3, #0] 80bbea4: e000 b.n 80bbea8 if (!IS_TIM_SLAVEMODE_TRIGGER_ENABLED(tmpsmcr)) 80bbea6: bf00 nop } /* Return function status */ return HAL_OK; 80bbea8: 2300 movs r3, #0 } 80bbeaa: 4618 mov r0, r3 80bbeac: 3714 adds r7, #20 80bbeae: 46bd mov sp, r7 80bbeb0: f85d 7b04 ldr.w r7, [sp], #4 80bbeb4: 4770 bx lr 80bbeb6: bf00 nop 80bbeb8: 40010000 .word 0x40010000 80bbebc: 40000400 .word 0x40000400 80bbec0: 40000800 .word 0x40000800 80bbec4: 40000c00 .word 0x40000c00 80bbec8: 40010400 .word 0x40010400 80bbecc: 40014000 .word 0x40014000 80bbed0: 40001800 .word 0x40001800 80bbed4: 00010007 .word 0x00010007 080bbed8 : * @brief This function handles TIM interrupts requests. * @param htim TIM handle * @retval None */ void HAL_TIM_IRQHandler(TIM_HandleTypeDef *htim) { 80bbed8: b580 push {r7, lr} 80bbeda: b082 sub sp, #8 80bbedc: af00 add r7, sp, #0 80bbede: 6078 str r0, [r7, #4] /* Capture compare 1 event */ if (__HAL_TIM_GET_FLAG(htim, TIM_FLAG_CC1) != RESET) 80bbee0: 687b ldr r3, [r7, #4] 80bbee2: 681b ldr r3, [r3, #0] 80bbee4: 691b ldr r3, [r3, #16] 80bbee6: f003 0302 and.w r3, r3, #2 80bbeea: 2b02 cmp r3, #2 80bbeec: d122 bne.n 80bbf34 { if (__HAL_TIM_GET_IT_SOURCE(htim, TIM_IT_CC1) != RESET) 80bbeee: 687b ldr r3, [r7, #4] 80bbef0: 681b ldr r3, [r3, #0] 80bbef2: 68db ldr r3, [r3, #12] 80bbef4: f003 0302 and.w r3, r3, #2 80bbef8: 2b02 cmp r3, #2 80bbefa: d11b bne.n 80bbf34 { { __HAL_TIM_CLEAR_IT(htim, TIM_IT_CC1); 80bbefc: 687b ldr r3, [r7, #4] 80bbefe: 681b ldr r3, [r3, #0] 80bbf00: f06f 0202 mvn.w r2, #2 80bbf04: 611a str r2, [r3, #16] htim->Channel = HAL_TIM_ACTIVE_CHANNEL_1; 80bbf06: 687b ldr r3, [r7, #4] 80bbf08: 2201 movs r2, #1 80bbf0a: 771a strb r2, [r3, #28] /* Input capture event */ if ((htim->Instance->CCMR1 & TIM_CCMR1_CC1S) != 0x00U) 80bbf0c: 687b ldr r3, [r7, #4] 80bbf0e: 681b ldr r3, [r3, #0] 80bbf10: 699b ldr r3, [r3, #24] 80bbf12: f003 0303 and.w r3, r3, #3 80bbf16: 2b00 cmp r3, #0 80bbf18: d003 beq.n 80bbf22 { #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1) htim->IC_CaptureCallback(htim); #else HAL_TIM_IC_CaptureCallback(htim); 80bbf1a: 6878 ldr r0, [r7, #4] 80bbf1c: f000 f9ea bl 80bc2f4 80bbf20: e005 b.n 80bbf2e { #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1) htim->OC_DelayElapsedCallback(htim); htim->PWM_PulseFinishedCallback(htim); #else HAL_TIM_OC_DelayElapsedCallback(htim); 80bbf22: 6878 ldr r0, [r7, #4] 80bbf24: f000 f9dc bl 80bc2e0 HAL_TIM_PWM_PulseFinishedCallback(htim); 80bbf28: 6878 ldr r0, [r7, #4] 80bbf2a: f000 f9ed bl 80bc308 #endif /* USE_HAL_TIM_REGISTER_CALLBACKS */ } htim->Channel = HAL_TIM_ACTIVE_CHANNEL_CLEARED; 80bbf2e: 687b ldr r3, [r7, #4] 80bbf30: 2200 movs r2, #0 80bbf32: 771a strb r2, [r3, #28] } } } /* Capture compare 2 event */ if (__HAL_TIM_GET_FLAG(htim, TIM_FLAG_CC2) != RESET) 80bbf34: 687b ldr r3, [r7, #4] 80bbf36: 681b ldr r3, [r3, #0] 80bbf38: 691b ldr r3, [r3, #16] 80bbf3a: f003 0304 and.w r3, r3, #4 80bbf3e: 2b04 cmp r3, #4 80bbf40: d122 bne.n 80bbf88 { if (__HAL_TIM_GET_IT_SOURCE(htim, TIM_IT_CC2) != RESET) 80bbf42: 687b ldr r3, [r7, #4] 80bbf44: 681b ldr r3, [r3, #0] 80bbf46: 68db ldr r3, [r3, #12] 80bbf48: f003 0304 and.w r3, r3, #4 80bbf4c: 2b04 cmp r3, #4 80bbf4e: d11b bne.n 80bbf88 { __HAL_TIM_CLEAR_IT(htim, TIM_IT_CC2); 80bbf50: 687b ldr r3, [r7, #4] 80bbf52: 681b ldr r3, [r3, #0] 80bbf54: f06f 0204 mvn.w r2, #4 80bbf58: 611a str r2, [r3, #16] htim->Channel = HAL_TIM_ACTIVE_CHANNEL_2; 80bbf5a: 687b ldr r3, [r7, #4] 80bbf5c: 2202 movs r2, #2 80bbf5e: 771a strb r2, [r3, #28] /* Input capture event */ if ((htim->Instance->CCMR1 & TIM_CCMR1_CC2S) != 0x00U) 80bbf60: 687b ldr r3, [r7, #4] 80bbf62: 681b ldr r3, [r3, #0] 80bbf64: 699b ldr r3, [r3, #24] 80bbf66: f403 7340 and.w r3, r3, #768 ; 0x300 80bbf6a: 2b00 cmp r3, #0 80bbf6c: d003 beq.n 80bbf76 { #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1) htim->IC_CaptureCallback(htim); #else HAL_TIM_IC_CaptureCallback(htim); 80bbf6e: 6878 ldr r0, [r7, #4] 80bbf70: f000 f9c0 bl 80bc2f4 80bbf74: e005 b.n 80bbf82 { #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1) htim->OC_DelayElapsedCallback(htim); htim->PWM_PulseFinishedCallback(htim); #else HAL_TIM_OC_DelayElapsedCallback(htim); 80bbf76: 6878 ldr r0, [r7, #4] 80bbf78: f000 f9b2 bl 80bc2e0 HAL_TIM_PWM_PulseFinishedCallback(htim); 80bbf7c: 6878 ldr r0, [r7, #4] 80bbf7e: f000 f9c3 bl 80bc308 #endif /* USE_HAL_TIM_REGISTER_CALLBACKS */ } htim->Channel = HAL_TIM_ACTIVE_CHANNEL_CLEARED; 80bbf82: 687b ldr r3, [r7, #4] 80bbf84: 2200 movs r2, #0 80bbf86: 771a strb r2, [r3, #28] } } /* Capture compare 3 event */ if (__HAL_TIM_GET_FLAG(htim, TIM_FLAG_CC3) != RESET) 80bbf88: 687b ldr r3, [r7, #4] 80bbf8a: 681b ldr r3, [r3, #0] 80bbf8c: 691b ldr r3, [r3, #16] 80bbf8e: f003 0308 and.w r3, r3, #8 80bbf92: 2b08 cmp r3, #8 80bbf94: d122 bne.n 80bbfdc { if (__HAL_TIM_GET_IT_SOURCE(htim, TIM_IT_CC3) != RESET) 80bbf96: 687b ldr r3, [r7, #4] 80bbf98: 681b ldr r3, [r3, #0] 80bbf9a: 68db ldr r3, [r3, #12] 80bbf9c: f003 0308 and.w r3, r3, #8 80bbfa0: 2b08 cmp r3, #8 80bbfa2: d11b bne.n 80bbfdc { __HAL_TIM_CLEAR_IT(htim, TIM_IT_CC3); 80bbfa4: 687b ldr r3, [r7, #4] 80bbfa6: 681b ldr r3, [r3, #0] 80bbfa8: f06f 0208 mvn.w r2, #8 80bbfac: 611a str r2, [r3, #16] htim->Channel = HAL_TIM_ACTIVE_CHANNEL_3; 80bbfae: 687b ldr r3, [r7, #4] 80bbfb0: 2204 movs r2, #4 80bbfb2: 771a strb r2, [r3, #28] /* Input capture event */ if ((htim->Instance->CCMR2 & TIM_CCMR2_CC3S) != 0x00U) 80bbfb4: 687b ldr r3, [r7, #4] 80bbfb6: 681b ldr r3, [r3, #0] 80bbfb8: 69db ldr r3, [r3, #28] 80bbfba: f003 0303 and.w r3, r3, #3 80bbfbe: 2b00 cmp r3, #0 80bbfc0: d003 beq.n 80bbfca { #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1) htim->IC_CaptureCallback(htim); #else HAL_TIM_IC_CaptureCallback(htim); 80bbfc2: 6878 ldr r0, [r7, #4] 80bbfc4: f000 f996 bl 80bc2f4 80bbfc8: e005 b.n 80bbfd6 { #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1) htim->OC_DelayElapsedCallback(htim); htim->PWM_PulseFinishedCallback(htim); #else HAL_TIM_OC_DelayElapsedCallback(htim); 80bbfca: 6878 ldr r0, [r7, #4] 80bbfcc: f000 f988 bl 80bc2e0 HAL_TIM_PWM_PulseFinishedCallback(htim); 80bbfd0: 6878 ldr r0, [r7, #4] 80bbfd2: f000 f999 bl 80bc308 #endif /* USE_HAL_TIM_REGISTER_CALLBACKS */ } htim->Channel = HAL_TIM_ACTIVE_CHANNEL_CLEARED; 80bbfd6: 687b ldr r3, [r7, #4] 80bbfd8: 2200 movs r2, #0 80bbfda: 771a strb r2, [r3, #28] } } /* Capture compare 4 event */ if (__HAL_TIM_GET_FLAG(htim, TIM_FLAG_CC4) != RESET) 80bbfdc: 687b ldr r3, [r7, #4] 80bbfde: 681b ldr r3, [r3, #0] 80bbfe0: 691b ldr r3, [r3, #16] 80bbfe2: f003 0310 and.w r3, r3, #16 80bbfe6: 2b10 cmp r3, #16 80bbfe8: d122 bne.n 80bc030 { if (__HAL_TIM_GET_IT_SOURCE(htim, TIM_IT_CC4) != RESET) 80bbfea: 687b ldr r3, [r7, #4] 80bbfec: 681b ldr r3, [r3, #0] 80bbfee: 68db ldr r3, [r3, #12] 80bbff0: f003 0310 and.w r3, r3, #16 80bbff4: 2b10 cmp r3, #16 80bbff6: d11b bne.n 80bc030 { __HAL_TIM_CLEAR_IT(htim, TIM_IT_CC4); 80bbff8: 687b ldr r3, [r7, #4] 80bbffa: 681b ldr r3, [r3, #0] 80bbffc: f06f 0210 mvn.w r2, #16 80bc000: 611a str r2, [r3, #16] htim->Channel = HAL_TIM_ACTIVE_CHANNEL_4; 80bc002: 687b ldr r3, [r7, #4] 80bc004: 2208 movs r2, #8 80bc006: 771a strb r2, [r3, #28] /* Input capture event */ if ((htim->Instance->CCMR2 & TIM_CCMR2_CC4S) != 0x00U) 80bc008: 687b ldr r3, [r7, #4] 80bc00a: 681b ldr r3, [r3, #0] 80bc00c: 69db ldr r3, [r3, #28] 80bc00e: f403 7340 and.w r3, r3, #768 ; 0x300 80bc012: 2b00 cmp r3, #0 80bc014: d003 beq.n 80bc01e { #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1) htim->IC_CaptureCallback(htim); #else HAL_TIM_IC_CaptureCallback(htim); 80bc016: 6878 ldr r0, [r7, #4] 80bc018: f000 f96c bl 80bc2f4 80bc01c: e005 b.n 80bc02a { #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1) htim->OC_DelayElapsedCallback(htim); htim->PWM_PulseFinishedCallback(htim); #else HAL_TIM_OC_DelayElapsedCallback(htim); 80bc01e: 6878 ldr r0, [r7, #4] 80bc020: f000 f95e bl 80bc2e0 HAL_TIM_PWM_PulseFinishedCallback(htim); 80bc024: 6878 ldr r0, [r7, #4] 80bc026: f000 f96f bl 80bc308 #endif /* USE_HAL_TIM_REGISTER_CALLBACKS */ } htim->Channel = HAL_TIM_ACTIVE_CHANNEL_CLEARED; 80bc02a: 687b ldr r3, [r7, #4] 80bc02c: 2200 movs r2, #0 80bc02e: 771a strb r2, [r3, #28] } } /* TIM Update event */ if (__HAL_TIM_GET_FLAG(htim, TIM_FLAG_UPDATE) != RESET) 80bc030: 687b ldr r3, [r7, #4] 80bc032: 681b ldr r3, [r3, #0] 80bc034: 691b ldr r3, [r3, #16] 80bc036: f003 0301 and.w r3, r3, #1 80bc03a: 2b01 cmp r3, #1 80bc03c: d10e bne.n 80bc05c { if (__HAL_TIM_GET_IT_SOURCE(htim, TIM_IT_UPDATE) != RESET) 80bc03e: 687b ldr r3, [r7, #4] 80bc040: 681b ldr r3, [r3, #0] 80bc042: 68db ldr r3, [r3, #12] 80bc044: f003 0301 and.w r3, r3, #1 80bc048: 2b01 cmp r3, #1 80bc04a: d107 bne.n 80bc05c { __HAL_TIM_CLEAR_IT(htim, TIM_IT_UPDATE); 80bc04c: 687b ldr r3, [r7, #4] 80bc04e: 681b ldr r3, [r3, #0] 80bc050: f06f 0201 mvn.w r2, #1 80bc054: 611a str r2, [r3, #16] #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1) htim->PeriodElapsedCallback(htim); #else HAL_TIM_PeriodElapsedCallback(htim); 80bc056: 6878 ldr r0, [r7, #4] 80bc058: f7f2 fb62 bl 80ae720 #endif /* USE_HAL_TIM_REGISTER_CALLBACKS */ } } /* TIM Break input event */ if (__HAL_TIM_GET_FLAG(htim, TIM_FLAG_BREAK) != RESET) 80bc05c: 687b ldr r3, [r7, #4] 80bc05e: 681b ldr r3, [r3, #0] 80bc060: 691b ldr r3, [r3, #16] 80bc062: f003 0380 and.w r3, r3, #128 ; 0x80 80bc066: 2b80 cmp r3, #128 ; 0x80 80bc068: d10e bne.n 80bc088 { if (__HAL_TIM_GET_IT_SOURCE(htim, TIM_IT_BREAK) != RESET) 80bc06a: 687b ldr r3, [r7, #4] 80bc06c: 681b ldr r3, [r3, #0] 80bc06e: 68db ldr r3, [r3, #12] 80bc070: f003 0380 and.w r3, r3, #128 ; 0x80 80bc074: 2b80 cmp r3, #128 ; 0x80 80bc076: d107 bne.n 80bc088 { __HAL_TIM_CLEAR_IT(htim, TIM_IT_BREAK); 80bc078: 687b ldr r3, [r7, #4] 80bc07a: 681b ldr r3, [r3, #0] 80bc07c: f06f 0280 mvn.w r2, #128 ; 0x80 80bc080: 611a str r2, [r3, #16] #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1) htim->BreakCallback(htim); #else HAL_TIMEx_BreakCallback(htim); 80bc082: 6878 ldr r0, [r7, #4] 80bc084: f000 fb26 bl 80bc6d4 #endif /* USE_HAL_TIM_REGISTER_CALLBACKS */ } } /* TIM Break2 input event */ if (__HAL_TIM_GET_FLAG(htim, TIM_FLAG_BREAK2) != RESET) 80bc088: 687b ldr r3, [r7, #4] 80bc08a: 681b ldr r3, [r3, #0] 80bc08c: 691b ldr r3, [r3, #16] 80bc08e: f403 7380 and.w r3, r3, #256 ; 0x100 80bc092: f5b3 7f80 cmp.w r3, #256 ; 0x100 80bc096: d10e bne.n 80bc0b6 { if (__HAL_TIM_GET_IT_SOURCE(htim, TIM_IT_BREAK) != RESET) 80bc098: 687b ldr r3, [r7, #4] 80bc09a: 681b ldr r3, [r3, #0] 80bc09c: 68db ldr r3, [r3, #12] 80bc09e: f003 0380 and.w r3, r3, #128 ; 0x80 80bc0a2: 2b80 cmp r3, #128 ; 0x80 80bc0a4: d107 bne.n 80bc0b6 { __HAL_TIM_CLEAR_FLAG(htim, TIM_FLAG_BREAK2); 80bc0a6: 687b ldr r3, [r7, #4] 80bc0a8: 681b ldr r3, [r3, #0] 80bc0aa: f46f 7280 mvn.w r2, #256 ; 0x100 80bc0ae: 611a str r2, [r3, #16] #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1) htim->Break2Callback(htim); #else HAL_TIMEx_Break2Callback(htim); 80bc0b0: 6878 ldr r0, [r7, #4] 80bc0b2: f000 fb19 bl 80bc6e8 #endif /* USE_HAL_TIM_REGISTER_CALLBACKS */ } } /* TIM Trigger detection event */ if (__HAL_TIM_GET_FLAG(htim, TIM_FLAG_TRIGGER) != RESET) 80bc0b6: 687b ldr r3, [r7, #4] 80bc0b8: 681b ldr r3, [r3, #0] 80bc0ba: 691b ldr r3, [r3, #16] 80bc0bc: f003 0340 and.w r3, r3, #64 ; 0x40 80bc0c0: 2b40 cmp r3, #64 ; 0x40 80bc0c2: d10e bne.n 80bc0e2 { if (__HAL_TIM_GET_IT_SOURCE(htim, TIM_IT_TRIGGER) != RESET) 80bc0c4: 687b ldr r3, [r7, #4] 80bc0c6: 681b ldr r3, [r3, #0] 80bc0c8: 68db ldr r3, [r3, #12] 80bc0ca: f003 0340 and.w r3, r3, #64 ; 0x40 80bc0ce: 2b40 cmp r3, #64 ; 0x40 80bc0d0: d107 bne.n 80bc0e2 { __HAL_TIM_CLEAR_IT(htim, TIM_IT_TRIGGER); 80bc0d2: 687b ldr r3, [r7, #4] 80bc0d4: 681b ldr r3, [r3, #0] 80bc0d6: f06f 0240 mvn.w r2, #64 ; 0x40 80bc0da: 611a str r2, [r3, #16] #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1) htim->TriggerCallback(htim); #else HAL_TIM_TriggerCallback(htim); 80bc0dc: 6878 ldr r0, [r7, #4] 80bc0de: f000 f91d bl 80bc31c #endif /* USE_HAL_TIM_REGISTER_CALLBACKS */ } } /* TIM commutation event */ if (__HAL_TIM_GET_FLAG(htim, TIM_FLAG_COM) != RESET) 80bc0e2: 687b ldr r3, [r7, #4] 80bc0e4: 681b ldr r3, [r3, #0] 80bc0e6: 691b ldr r3, [r3, #16] 80bc0e8: f003 0320 and.w r3, r3, #32 80bc0ec: 2b20 cmp r3, #32 80bc0ee: d10e bne.n 80bc10e { if (__HAL_TIM_GET_IT_SOURCE(htim, TIM_IT_COM) != RESET) 80bc0f0: 687b ldr r3, [r7, #4] 80bc0f2: 681b ldr r3, [r3, #0] 80bc0f4: 68db ldr r3, [r3, #12] 80bc0f6: f003 0320 and.w r3, r3, #32 80bc0fa: 2b20 cmp r3, #32 80bc0fc: d107 bne.n 80bc10e { __HAL_TIM_CLEAR_IT(htim, TIM_FLAG_COM); 80bc0fe: 687b ldr r3, [r7, #4] 80bc100: 681b ldr r3, [r3, #0] 80bc102: f06f 0220 mvn.w r2, #32 80bc106: 611a str r2, [r3, #16] #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1) htim->CommutationCallback(htim); #else HAL_TIMEx_CommutCallback(htim); 80bc108: 6878 ldr r0, [r7, #4] 80bc10a: f000 fad9 bl 80bc6c0 #endif /* USE_HAL_TIM_REGISTER_CALLBACKS */ } } } 80bc10e: bf00 nop 80bc110: 3708 adds r7, #8 80bc112: 46bd mov sp, r7 80bc114: bd80 pop {r7, pc} 080bc116 : * only for timer instances supporting break input(s). * @retval HAL status */ HAL_StatusTypeDef HAL_TIM_GenerateEvent(TIM_HandleTypeDef *htim, uint32_t EventSource) { 80bc116: b480 push {r7} 80bc118: b083 sub sp, #12 80bc11a: af00 add r7, sp, #0 80bc11c: 6078 str r0, [r7, #4] 80bc11e: 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); 80bc120: 687b ldr r3, [r7, #4] 80bc122: f893 303c ldrb.w r3, [r3, #60] ; 0x3c 80bc126: 2b01 cmp r3, #1 80bc128: d101 bne.n 80bc12e 80bc12a: 2302 movs r3, #2 80bc12c: e014 b.n 80bc158 80bc12e: 687b ldr r3, [r7, #4] 80bc130: 2201 movs r2, #1 80bc132: f883 203c strb.w r2, [r3, #60] ; 0x3c /* Change the TIM state */ htim->State = HAL_TIM_STATE_BUSY; 80bc136: 687b ldr r3, [r7, #4] 80bc138: 2202 movs r2, #2 80bc13a: f883 203d strb.w r2, [r3, #61] ; 0x3d /* Set the event sources */ htim->Instance->EGR = EventSource; 80bc13e: 687b ldr r3, [r7, #4] 80bc140: 681b ldr r3, [r3, #0] 80bc142: 683a ldr r2, [r7, #0] 80bc144: 615a str r2, [r3, #20] /* Change the TIM state */ htim->State = HAL_TIM_STATE_READY; 80bc146: 687b ldr r3, [r7, #4] 80bc148: 2201 movs r2, #1 80bc14a: f883 203d strb.w r2, [r3, #61] ; 0x3d __HAL_UNLOCK(htim); 80bc14e: 687b ldr r3, [r7, #4] 80bc150: 2200 movs r2, #0 80bc152: f883 203c strb.w r2, [r3, #60] ; 0x3c /* Return function status */ return HAL_OK; 80bc156: 2300 movs r3, #0 } 80bc158: 4618 mov r0, r3 80bc15a: 370c adds r7, #12 80bc15c: 46bd mov sp, r7 80bc15e: f85d 7b04 ldr.w r7, [sp], #4 80bc162: 4770 bx lr 080bc164 : * @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) { 80bc164: b580 push {r7, lr} 80bc166: b084 sub sp, #16 80bc168: af00 add r7, sp, #0 80bc16a: 6078 str r0, [r7, #4] 80bc16c: 6039 str r1, [r7, #0] HAL_StatusTypeDef status = HAL_OK; 80bc16e: 2300 movs r3, #0 80bc170: 73fb strb r3, [r7, #15] uint32_t tmpsmcr; /* Process Locked */ __HAL_LOCK(htim); 80bc172: 687b ldr r3, [r7, #4] 80bc174: f893 303c ldrb.w r3, [r3, #60] ; 0x3c 80bc178: 2b01 cmp r3, #1 80bc17a: d101 bne.n 80bc180 80bc17c: 2302 movs r3, #2 80bc17e: e0a9 b.n 80bc2d4 80bc180: 687b ldr r3, [r7, #4] 80bc182: 2201 movs r2, #1 80bc184: f883 203c strb.w r2, [r3, #60] ; 0x3c htim->State = HAL_TIM_STATE_BUSY; 80bc188: 687b ldr r3, [r7, #4] 80bc18a: 2202 movs r2, #2 80bc18c: 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; 80bc190: 687b ldr r3, [r7, #4] 80bc192: 681b ldr r3, [r3, #0] 80bc194: 689b ldr r3, [r3, #8] 80bc196: 60bb str r3, [r7, #8] tmpsmcr &= ~(TIM_SMCR_SMS | TIM_SMCR_TS); 80bc198: 68ba ldr r2, [r7, #8] 80bc19a: 4b50 ldr r3, [pc, #320] ; (80bc2dc ) 80bc19c: 4013 ands r3, r2 80bc19e: 60bb str r3, [r7, #8] tmpsmcr &= ~(TIM_SMCR_ETF | TIM_SMCR_ETPS | TIM_SMCR_ECE | TIM_SMCR_ETP); 80bc1a0: 68bb ldr r3, [r7, #8] 80bc1a2: f423 437f bic.w r3, r3, #65280 ; 0xff00 80bc1a6: 60bb str r3, [r7, #8] htim->Instance->SMCR = tmpsmcr; 80bc1a8: 687b ldr r3, [r7, #4] 80bc1aa: 681b ldr r3, [r3, #0] 80bc1ac: 68ba ldr r2, [r7, #8] 80bc1ae: 609a str r2, [r3, #8] switch (sClockSourceConfig->ClockSource) 80bc1b0: 683b ldr r3, [r7, #0] 80bc1b2: 681b ldr r3, [r3, #0] 80bc1b4: 2b40 cmp r3, #64 ; 0x40 80bc1b6: d067 beq.n 80bc288 80bc1b8: 2b40 cmp r3, #64 ; 0x40 80bc1ba: d80b bhi.n 80bc1d4 80bc1bc: 2b10 cmp r3, #16 80bc1be: d073 beq.n 80bc2a8 80bc1c0: 2b10 cmp r3, #16 80bc1c2: d802 bhi.n 80bc1ca 80bc1c4: 2b00 cmp r3, #0 80bc1c6: d06f beq.n 80bc2a8 80bc1c8: e077 b.n 80bc2ba 80bc1ca: 2b20 cmp r3, #32 80bc1cc: d06c beq.n 80bc2a8 80bc1ce: 2b30 cmp r3, #48 ; 0x30 80bc1d0: d06a beq.n 80bc2a8 80bc1d2: e072 b.n 80bc2ba 80bc1d4: 2b70 cmp r3, #112 ; 0x70 80bc1d6: d00d beq.n 80bc1f4 80bc1d8: 2b70 cmp r3, #112 ; 0x70 80bc1da: d804 bhi.n 80bc1e6 80bc1dc: 2b50 cmp r3, #80 ; 0x50 80bc1de: d033 beq.n 80bc248 80bc1e0: 2b60 cmp r3, #96 ; 0x60 80bc1e2: d041 beq.n 80bc268 80bc1e4: e069 b.n 80bc2ba 80bc1e6: f5b3 5f80 cmp.w r3, #4096 ; 0x1000 80bc1ea: d069 beq.n 80bc2c0 80bc1ec: f5b3 5f00 cmp.w r3, #8192 ; 0x2000 80bc1f0: d017 beq.n 80bc222 80bc1f2: e062 b.n 80bc2ba 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, 80bc1f4: 687b ldr r3, [r7, #4] 80bc1f6: 6818 ldr r0, [r3, #0] 80bc1f8: 683b ldr r3, [r7, #0] 80bc1fa: 6899 ldr r1, [r3, #8] 80bc1fc: 683b ldr r3, [r7, #0] 80bc1fe: 685a ldr r2, [r3, #4] 80bc200: 683b ldr r3, [r7, #0] 80bc202: 68db ldr r3, [r3, #12] 80bc204: f000 f9ae bl 80bc564 sClockSourceConfig->ClockPrescaler, sClockSourceConfig->ClockPolarity, sClockSourceConfig->ClockFilter); /* Select the External clock mode1 and the ETRF trigger */ tmpsmcr = htim->Instance->SMCR; 80bc208: 687b ldr r3, [r7, #4] 80bc20a: 681b ldr r3, [r3, #0] 80bc20c: 689b ldr r3, [r3, #8] 80bc20e: 60bb str r3, [r7, #8] tmpsmcr |= (TIM_SLAVEMODE_EXTERNAL1 | TIM_CLOCKSOURCE_ETRMODE1); 80bc210: 68bb ldr r3, [r7, #8] 80bc212: f043 0377 orr.w r3, r3, #119 ; 0x77 80bc216: 60bb str r3, [r7, #8] /* Write to TIMx SMCR */ htim->Instance->SMCR = tmpsmcr; 80bc218: 687b ldr r3, [r7, #4] 80bc21a: 681b ldr r3, [r3, #0] 80bc21c: 68ba ldr r2, [r7, #8] 80bc21e: 609a str r2, [r3, #8] break; 80bc220: e04f b.n 80bc2c2 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, 80bc222: 687b ldr r3, [r7, #4] 80bc224: 6818 ldr r0, [r3, #0] 80bc226: 683b ldr r3, [r7, #0] 80bc228: 6899 ldr r1, [r3, #8] 80bc22a: 683b ldr r3, [r7, #0] 80bc22c: 685a ldr r2, [r3, #4] 80bc22e: 683b ldr r3, [r7, #0] 80bc230: 68db ldr r3, [r3, #12] 80bc232: f000 f997 bl 80bc564 sClockSourceConfig->ClockPrescaler, sClockSourceConfig->ClockPolarity, sClockSourceConfig->ClockFilter); /* Enable the External clock mode2 */ htim->Instance->SMCR |= TIM_SMCR_ECE; 80bc236: 687b ldr r3, [r7, #4] 80bc238: 681b ldr r3, [r3, #0] 80bc23a: 687a ldr r2, [r7, #4] 80bc23c: 6812 ldr r2, [r2, #0] 80bc23e: 6892 ldr r2, [r2, #8] 80bc240: f442 4280 orr.w r2, r2, #16384 ; 0x4000 80bc244: 609a str r2, [r3, #8] break; 80bc246: e03c b.n 80bc2c2 /* 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, 80bc248: 687b ldr r3, [r7, #4] 80bc24a: 6818 ldr r0, [r3, #0] 80bc24c: 683b ldr r3, [r7, #0] 80bc24e: 6859 ldr r1, [r3, #4] 80bc250: 683b ldr r3, [r7, #0] 80bc252: 68db ldr r3, [r3, #12] 80bc254: 461a mov r2, r3 80bc256: f000 f90b bl 80bc470 sClockSourceConfig->ClockPolarity, sClockSourceConfig->ClockFilter); TIM_ITRx_SetConfig(htim->Instance, TIM_CLOCKSOURCE_TI1); 80bc25a: 687b ldr r3, [r7, #4] 80bc25c: 681b ldr r3, [r3, #0] 80bc25e: 2150 movs r1, #80 ; 0x50 80bc260: 4618 mov r0, r3 80bc262: f000 f964 bl 80bc52e break; 80bc266: e02c b.n 80bc2c2 /* 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, 80bc268: 687b ldr r3, [r7, #4] 80bc26a: 6818 ldr r0, [r3, #0] 80bc26c: 683b ldr r3, [r7, #0] 80bc26e: 6859 ldr r1, [r3, #4] 80bc270: 683b ldr r3, [r7, #0] 80bc272: 68db ldr r3, [r3, #12] 80bc274: 461a mov r2, r3 80bc276: f000 f92a bl 80bc4ce sClockSourceConfig->ClockPolarity, sClockSourceConfig->ClockFilter); TIM_ITRx_SetConfig(htim->Instance, TIM_CLOCKSOURCE_TI2); 80bc27a: 687b ldr r3, [r7, #4] 80bc27c: 681b ldr r3, [r3, #0] 80bc27e: 2160 movs r1, #96 ; 0x60 80bc280: 4618 mov r0, r3 80bc282: f000 f954 bl 80bc52e break; 80bc286: e01c b.n 80bc2c2 /* 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, 80bc288: 687b ldr r3, [r7, #4] 80bc28a: 6818 ldr r0, [r3, #0] 80bc28c: 683b ldr r3, [r7, #0] 80bc28e: 6859 ldr r1, [r3, #4] 80bc290: 683b ldr r3, [r7, #0] 80bc292: 68db ldr r3, [r3, #12] 80bc294: 461a mov r2, r3 80bc296: f000 f8eb bl 80bc470 sClockSourceConfig->ClockPolarity, sClockSourceConfig->ClockFilter); TIM_ITRx_SetConfig(htim->Instance, TIM_CLOCKSOURCE_TI1ED); 80bc29a: 687b ldr r3, [r7, #4] 80bc29c: 681b ldr r3, [r3, #0] 80bc29e: 2140 movs r1, #64 ; 0x40 80bc2a0: 4618 mov r0, r3 80bc2a2: f000 f944 bl 80bc52e break; 80bc2a6: e00c b.n 80bc2c2 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); 80bc2a8: 687b ldr r3, [r7, #4] 80bc2aa: 681a ldr r2, [r3, #0] 80bc2ac: 683b ldr r3, [r7, #0] 80bc2ae: 681b ldr r3, [r3, #0] 80bc2b0: 4619 mov r1, r3 80bc2b2: 4610 mov r0, r2 80bc2b4: f000 f93b bl 80bc52e break; 80bc2b8: e003 b.n 80bc2c2 } default: status = HAL_ERROR; 80bc2ba: 2301 movs r3, #1 80bc2bc: 73fb strb r3, [r7, #15] break; 80bc2be: e000 b.n 80bc2c2 break; 80bc2c0: bf00 nop } htim->State = HAL_TIM_STATE_READY; 80bc2c2: 687b ldr r3, [r7, #4] 80bc2c4: 2201 movs r2, #1 80bc2c6: f883 203d strb.w r2, [r3, #61] ; 0x3d __HAL_UNLOCK(htim); 80bc2ca: 687b ldr r3, [r7, #4] 80bc2cc: 2200 movs r2, #0 80bc2ce: f883 203c strb.w r2, [r3, #60] ; 0x3c return status; 80bc2d2: 7bfb ldrb r3, [r7, #15] } 80bc2d4: 4618 mov r0, r3 80bc2d6: 3710 adds r7, #16 80bc2d8: 46bd mov sp, r7 80bc2da: bd80 pop {r7, pc} 80bc2dc: fffeff88 .word 0xfffeff88 080bc2e0 : * @brief Output Compare callback in non-blocking mode * @param htim TIM OC handle * @retval None */ __weak void HAL_TIM_OC_DelayElapsedCallback(TIM_HandleTypeDef *htim) { 80bc2e0: b480 push {r7} 80bc2e2: b083 sub sp, #12 80bc2e4: af00 add r7, sp, #0 80bc2e6: 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 */ } 80bc2e8: bf00 nop 80bc2ea: 370c adds r7, #12 80bc2ec: 46bd mov sp, r7 80bc2ee: f85d 7b04 ldr.w r7, [sp], #4 80bc2f2: 4770 bx lr 080bc2f4 : * @brief Input Capture callback in non-blocking mode * @param htim TIM IC handle * @retval None */ __weak void HAL_TIM_IC_CaptureCallback(TIM_HandleTypeDef *htim) { 80bc2f4: b480 push {r7} 80bc2f6: b083 sub sp, #12 80bc2f8: af00 add r7, sp, #0 80bc2fa: 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 */ } 80bc2fc: bf00 nop 80bc2fe: 370c adds r7, #12 80bc300: 46bd mov sp, r7 80bc302: f85d 7b04 ldr.w r7, [sp], #4 80bc306: 4770 bx lr 080bc308 : * @brief PWM Pulse finished callback in non-blocking mode * @param htim TIM handle * @retval None */ __weak void HAL_TIM_PWM_PulseFinishedCallback(TIM_HandleTypeDef *htim) { 80bc308: b480 push {r7} 80bc30a: b083 sub sp, #12 80bc30c: af00 add r7, sp, #0 80bc30e: 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 */ } 80bc310: bf00 nop 80bc312: 370c adds r7, #12 80bc314: 46bd mov sp, r7 80bc316: f85d 7b04 ldr.w r7, [sp], #4 80bc31a: 4770 bx lr 080bc31c : * @brief Hall Trigger detection callback in non-blocking mode * @param htim TIM handle * @retval None */ __weak void HAL_TIM_TriggerCallback(TIM_HandleTypeDef *htim) { 80bc31c: b480 push {r7} 80bc31e: b083 sub sp, #12 80bc320: af00 add r7, sp, #0 80bc322: 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 */ } 80bc324: bf00 nop 80bc326: 370c adds r7, #12 80bc328: 46bd mov sp, r7 80bc32a: f85d 7b04 ldr.w r7, [sp], #4 80bc32e: 4770 bx lr 080bc330 : * @param TIMx TIM peripheral * @param Structure TIM Base configuration structure * @retval None */ void TIM_Base_SetConfig(TIM_TypeDef *TIMx, TIM_Base_InitTypeDef *Structure) { 80bc330: b480 push {r7} 80bc332: b085 sub sp, #20 80bc334: af00 add r7, sp, #0 80bc336: 6078 str r0, [r7, #4] 80bc338: 6039 str r1, [r7, #0] uint32_t tmpcr1; tmpcr1 = TIMx->CR1; 80bc33a: 687b ldr r3, [r7, #4] 80bc33c: 681b ldr r3, [r3, #0] 80bc33e: 60fb str r3, [r7, #12] /* Set TIM Time Base Unit parameters ---------------------------------------*/ if (IS_TIM_COUNTER_MODE_SELECT_INSTANCE(TIMx)) 80bc340: 687b ldr r3, [r7, #4] 80bc342: 4a40 ldr r2, [pc, #256] ; (80bc444 ) 80bc344: 4293 cmp r3, r2 80bc346: d013 beq.n 80bc370 80bc348: 687b ldr r3, [r7, #4] 80bc34a: f1b3 4f80 cmp.w r3, #1073741824 ; 0x40000000 80bc34e: d00f beq.n 80bc370 80bc350: 687b ldr r3, [r7, #4] 80bc352: 4a3d ldr r2, [pc, #244] ; (80bc448 ) 80bc354: 4293 cmp r3, r2 80bc356: d00b beq.n 80bc370 80bc358: 687b ldr r3, [r7, #4] 80bc35a: 4a3c ldr r2, [pc, #240] ; (80bc44c ) 80bc35c: 4293 cmp r3, r2 80bc35e: d007 beq.n 80bc370 80bc360: 687b ldr r3, [r7, #4] 80bc362: 4a3b ldr r2, [pc, #236] ; (80bc450 ) 80bc364: 4293 cmp r3, r2 80bc366: d003 beq.n 80bc370 80bc368: 687b ldr r3, [r7, #4] 80bc36a: 4a3a ldr r2, [pc, #232] ; (80bc454 ) 80bc36c: 4293 cmp r3, r2 80bc36e: d108 bne.n 80bc382 { /* Select the Counter Mode */ tmpcr1 &= ~(TIM_CR1_DIR | TIM_CR1_CMS); 80bc370: 68fb ldr r3, [r7, #12] 80bc372: f023 0370 bic.w r3, r3, #112 ; 0x70 80bc376: 60fb str r3, [r7, #12] tmpcr1 |= Structure->CounterMode; 80bc378: 683b ldr r3, [r7, #0] 80bc37a: 685b ldr r3, [r3, #4] 80bc37c: 68fa ldr r2, [r7, #12] 80bc37e: 4313 orrs r3, r2 80bc380: 60fb str r3, [r7, #12] } if (IS_TIM_CLOCK_DIVISION_INSTANCE(TIMx)) 80bc382: 687b ldr r3, [r7, #4] 80bc384: 4a2f ldr r2, [pc, #188] ; (80bc444 ) 80bc386: 4293 cmp r3, r2 80bc388: d02b beq.n 80bc3e2 80bc38a: 687b ldr r3, [r7, #4] 80bc38c: f1b3 4f80 cmp.w r3, #1073741824 ; 0x40000000 80bc390: d027 beq.n 80bc3e2 80bc392: 687b ldr r3, [r7, #4] 80bc394: 4a2c ldr r2, [pc, #176] ; (80bc448 ) 80bc396: 4293 cmp r3, r2 80bc398: d023 beq.n 80bc3e2 80bc39a: 687b ldr r3, [r7, #4] 80bc39c: 4a2b ldr r2, [pc, #172] ; (80bc44c ) 80bc39e: 4293 cmp r3, r2 80bc3a0: d01f beq.n 80bc3e2 80bc3a2: 687b ldr r3, [r7, #4] 80bc3a4: 4a2a ldr r2, [pc, #168] ; (80bc450 ) 80bc3a6: 4293 cmp r3, r2 80bc3a8: d01b beq.n 80bc3e2 80bc3aa: 687b ldr r3, [r7, #4] 80bc3ac: 4a29 ldr r2, [pc, #164] ; (80bc454 ) 80bc3ae: 4293 cmp r3, r2 80bc3b0: d017 beq.n 80bc3e2 80bc3b2: 687b ldr r3, [r7, #4] 80bc3b4: 4a28 ldr r2, [pc, #160] ; (80bc458 ) 80bc3b6: 4293 cmp r3, r2 80bc3b8: d013 beq.n 80bc3e2 80bc3ba: 687b ldr r3, [r7, #4] 80bc3bc: 4a27 ldr r2, [pc, #156] ; (80bc45c ) 80bc3be: 4293 cmp r3, r2 80bc3c0: d00f beq.n 80bc3e2 80bc3c2: 687b ldr r3, [r7, #4] 80bc3c4: 4a26 ldr r2, [pc, #152] ; (80bc460 ) 80bc3c6: 4293 cmp r3, r2 80bc3c8: d00b beq.n 80bc3e2 80bc3ca: 687b ldr r3, [r7, #4] 80bc3cc: 4a25 ldr r2, [pc, #148] ; (80bc464 ) 80bc3ce: 4293 cmp r3, r2 80bc3d0: d007 beq.n 80bc3e2 80bc3d2: 687b ldr r3, [r7, #4] 80bc3d4: 4a24 ldr r2, [pc, #144] ; (80bc468 ) 80bc3d6: 4293 cmp r3, r2 80bc3d8: d003 beq.n 80bc3e2 80bc3da: 687b ldr r3, [r7, #4] 80bc3dc: 4a23 ldr r2, [pc, #140] ; (80bc46c ) 80bc3de: 4293 cmp r3, r2 80bc3e0: d108 bne.n 80bc3f4 { /* Set the clock division */ tmpcr1 &= ~TIM_CR1_CKD; 80bc3e2: 68fb ldr r3, [r7, #12] 80bc3e4: f423 7340 bic.w r3, r3, #768 ; 0x300 80bc3e8: 60fb str r3, [r7, #12] tmpcr1 |= (uint32_t)Structure->ClockDivision; 80bc3ea: 683b ldr r3, [r7, #0] 80bc3ec: 68db ldr r3, [r3, #12] 80bc3ee: 68fa ldr r2, [r7, #12] 80bc3f0: 4313 orrs r3, r2 80bc3f2: 60fb str r3, [r7, #12] } /* Set the auto-reload preload */ MODIFY_REG(tmpcr1, TIM_CR1_ARPE, Structure->AutoReloadPreload); 80bc3f4: 68fb ldr r3, [r7, #12] 80bc3f6: f023 0280 bic.w r2, r3, #128 ; 0x80 80bc3fa: 683b ldr r3, [r7, #0] 80bc3fc: 695b ldr r3, [r3, #20] 80bc3fe: 4313 orrs r3, r2 80bc400: 60fb str r3, [r7, #12] TIMx->CR1 = tmpcr1; 80bc402: 687b ldr r3, [r7, #4] 80bc404: 68fa ldr r2, [r7, #12] 80bc406: 601a str r2, [r3, #0] /* Set the Autoreload value */ TIMx->ARR = (uint32_t)Structure->Period ; 80bc408: 683b ldr r3, [r7, #0] 80bc40a: 689a ldr r2, [r3, #8] 80bc40c: 687b ldr r3, [r7, #4] 80bc40e: 62da str r2, [r3, #44] ; 0x2c /* Set the Prescaler value */ TIMx->PSC = Structure->Prescaler; 80bc410: 683b ldr r3, [r7, #0] 80bc412: 681a ldr r2, [r3, #0] 80bc414: 687b ldr r3, [r7, #4] 80bc416: 629a str r2, [r3, #40] ; 0x28 if (IS_TIM_REPETITION_COUNTER_INSTANCE(TIMx)) 80bc418: 687b ldr r3, [r7, #4] 80bc41a: 4a0a ldr r2, [pc, #40] ; (80bc444 ) 80bc41c: 4293 cmp r3, r2 80bc41e: d003 beq.n 80bc428 80bc420: 687b ldr r3, [r7, #4] 80bc422: 4a0c ldr r2, [pc, #48] ; (80bc454 ) 80bc424: 4293 cmp r3, r2 80bc426: d103 bne.n 80bc430 { /* Set the Repetition Counter value */ TIMx->RCR = Structure->RepetitionCounter; 80bc428: 683b ldr r3, [r7, #0] 80bc42a: 691a ldr r2, [r3, #16] 80bc42c: 687b ldr r3, [r7, #4] 80bc42e: 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; 80bc430: 687b ldr r3, [r7, #4] 80bc432: 2201 movs r2, #1 80bc434: 615a str r2, [r3, #20] } 80bc436: bf00 nop 80bc438: 3714 adds r7, #20 80bc43a: 46bd mov sp, r7 80bc43c: f85d 7b04 ldr.w r7, [sp], #4 80bc440: 4770 bx lr 80bc442: bf00 nop 80bc444: 40010000 .word 0x40010000 80bc448: 40000400 .word 0x40000400 80bc44c: 40000800 .word 0x40000800 80bc450: 40000c00 .word 0x40000c00 80bc454: 40010400 .word 0x40010400 80bc458: 40014000 .word 0x40014000 80bc45c: 40014400 .word 0x40014400 80bc460: 40014800 .word 0x40014800 80bc464: 40001800 .word 0x40001800 80bc468: 40001c00 .word 0x40001c00 80bc46c: 40002000 .word 0x40002000 080bc470 : * @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) { 80bc470: b480 push {r7} 80bc472: b087 sub sp, #28 80bc474: af00 add r7, sp, #0 80bc476: 60f8 str r0, [r7, #12] 80bc478: 60b9 str r1, [r7, #8] 80bc47a: 607a str r2, [r7, #4] uint32_t tmpccmr1; uint32_t tmpccer; /* Disable the Channel 1: Reset the CC1E Bit */ tmpccer = TIMx->CCER; 80bc47c: 68fb ldr r3, [r7, #12] 80bc47e: 6a1b ldr r3, [r3, #32] 80bc480: 617b str r3, [r7, #20] TIMx->CCER &= ~TIM_CCER_CC1E; 80bc482: 68fb ldr r3, [r7, #12] 80bc484: 6a1b ldr r3, [r3, #32] 80bc486: f023 0201 bic.w r2, r3, #1 80bc48a: 68fb ldr r3, [r7, #12] 80bc48c: 621a str r2, [r3, #32] tmpccmr1 = TIMx->CCMR1; 80bc48e: 68fb ldr r3, [r7, #12] 80bc490: 699b ldr r3, [r3, #24] 80bc492: 613b str r3, [r7, #16] /* Set the filter */ tmpccmr1 &= ~TIM_CCMR1_IC1F; 80bc494: 693b ldr r3, [r7, #16] 80bc496: f023 03f0 bic.w r3, r3, #240 ; 0xf0 80bc49a: 613b str r3, [r7, #16] tmpccmr1 |= (TIM_ICFilter << 4U); 80bc49c: 687b ldr r3, [r7, #4] 80bc49e: 011b lsls r3, r3, #4 80bc4a0: 693a ldr r2, [r7, #16] 80bc4a2: 4313 orrs r3, r2 80bc4a4: 613b str r3, [r7, #16] /* Select the Polarity and set the CC1E Bit */ tmpccer &= ~(TIM_CCER_CC1P | TIM_CCER_CC1NP); 80bc4a6: 697b ldr r3, [r7, #20] 80bc4a8: f023 030a bic.w r3, r3, #10 80bc4ac: 617b str r3, [r7, #20] tmpccer |= TIM_ICPolarity; 80bc4ae: 697a ldr r2, [r7, #20] 80bc4b0: 68bb ldr r3, [r7, #8] 80bc4b2: 4313 orrs r3, r2 80bc4b4: 617b str r3, [r7, #20] /* Write to TIMx CCMR1 and CCER registers */ TIMx->CCMR1 = tmpccmr1; 80bc4b6: 68fb ldr r3, [r7, #12] 80bc4b8: 693a ldr r2, [r7, #16] 80bc4ba: 619a str r2, [r3, #24] TIMx->CCER = tmpccer; 80bc4bc: 68fb ldr r3, [r7, #12] 80bc4be: 697a ldr r2, [r7, #20] 80bc4c0: 621a str r2, [r3, #32] } 80bc4c2: bf00 nop 80bc4c4: 371c adds r7, #28 80bc4c6: 46bd mov sp, r7 80bc4c8: f85d 7b04 ldr.w r7, [sp], #4 80bc4cc: 4770 bx lr 080bc4ce : * @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) { 80bc4ce: b480 push {r7} 80bc4d0: b087 sub sp, #28 80bc4d2: af00 add r7, sp, #0 80bc4d4: 60f8 str r0, [r7, #12] 80bc4d6: 60b9 str r1, [r7, #8] 80bc4d8: 607a str r2, [r7, #4] uint32_t tmpccmr1; uint32_t tmpccer; /* Disable the Channel 2: Reset the CC2E Bit */ TIMx->CCER &= ~TIM_CCER_CC2E; 80bc4da: 68fb ldr r3, [r7, #12] 80bc4dc: 6a1b ldr r3, [r3, #32] 80bc4de: f023 0210 bic.w r2, r3, #16 80bc4e2: 68fb ldr r3, [r7, #12] 80bc4e4: 621a str r2, [r3, #32] tmpccmr1 = TIMx->CCMR1; 80bc4e6: 68fb ldr r3, [r7, #12] 80bc4e8: 699b ldr r3, [r3, #24] 80bc4ea: 617b str r3, [r7, #20] tmpccer = TIMx->CCER; 80bc4ec: 68fb ldr r3, [r7, #12] 80bc4ee: 6a1b ldr r3, [r3, #32] 80bc4f0: 613b str r3, [r7, #16] /* Set the filter */ tmpccmr1 &= ~TIM_CCMR1_IC2F; 80bc4f2: 697b ldr r3, [r7, #20] 80bc4f4: f423 4370 bic.w r3, r3, #61440 ; 0xf000 80bc4f8: 617b str r3, [r7, #20] tmpccmr1 |= (TIM_ICFilter << 12U); 80bc4fa: 687b ldr r3, [r7, #4] 80bc4fc: 031b lsls r3, r3, #12 80bc4fe: 697a ldr r2, [r7, #20] 80bc500: 4313 orrs r3, r2 80bc502: 617b str r3, [r7, #20] /* Select the Polarity and set the CC2E Bit */ tmpccer &= ~(TIM_CCER_CC2P | TIM_CCER_CC2NP); 80bc504: 693b ldr r3, [r7, #16] 80bc506: f023 03a0 bic.w r3, r3, #160 ; 0xa0 80bc50a: 613b str r3, [r7, #16] tmpccer |= (TIM_ICPolarity << 4U); 80bc50c: 68bb ldr r3, [r7, #8] 80bc50e: 011b lsls r3, r3, #4 80bc510: 693a ldr r2, [r7, #16] 80bc512: 4313 orrs r3, r2 80bc514: 613b str r3, [r7, #16] /* Write to TIMx CCMR1 and CCER registers */ TIMx->CCMR1 = tmpccmr1 ; 80bc516: 68fb ldr r3, [r7, #12] 80bc518: 697a ldr r2, [r7, #20] 80bc51a: 619a str r2, [r3, #24] TIMx->CCER = tmpccer; 80bc51c: 68fb ldr r3, [r7, #12] 80bc51e: 693a ldr r2, [r7, #16] 80bc520: 621a str r2, [r3, #32] } 80bc522: bf00 nop 80bc524: 371c adds r7, #28 80bc526: 46bd mov sp, r7 80bc528: f85d 7b04 ldr.w r7, [sp], #4 80bc52c: 4770 bx lr 080bc52e : * @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) { 80bc52e: b480 push {r7} 80bc530: b085 sub sp, #20 80bc532: af00 add r7, sp, #0 80bc534: 6078 str r0, [r7, #4] 80bc536: 6039 str r1, [r7, #0] uint32_t tmpsmcr; /* Get the TIMx SMCR register value */ tmpsmcr = TIMx->SMCR; 80bc538: 687b ldr r3, [r7, #4] 80bc53a: 689b ldr r3, [r3, #8] 80bc53c: 60fb str r3, [r7, #12] /* Reset the TS Bits */ tmpsmcr &= ~TIM_SMCR_TS; 80bc53e: 68fb ldr r3, [r7, #12] 80bc540: f023 0370 bic.w r3, r3, #112 ; 0x70 80bc544: 60fb str r3, [r7, #12] /* Set the Input Trigger source and the slave mode*/ tmpsmcr |= (InputTriggerSource | TIM_SLAVEMODE_EXTERNAL1); 80bc546: 683a ldr r2, [r7, #0] 80bc548: 68fb ldr r3, [r7, #12] 80bc54a: 4313 orrs r3, r2 80bc54c: f043 0307 orr.w r3, r3, #7 80bc550: 60fb str r3, [r7, #12] /* Write to TIMx SMCR */ TIMx->SMCR = tmpsmcr; 80bc552: 687b ldr r3, [r7, #4] 80bc554: 68fa ldr r2, [r7, #12] 80bc556: 609a str r2, [r3, #8] } 80bc558: bf00 nop 80bc55a: 3714 adds r7, #20 80bc55c: 46bd mov sp, r7 80bc55e: f85d 7b04 ldr.w r7, [sp], #4 80bc562: 4770 bx lr 080bc564 : * 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) { 80bc564: b480 push {r7} 80bc566: b087 sub sp, #28 80bc568: af00 add r7, sp, #0 80bc56a: 60f8 str r0, [r7, #12] 80bc56c: 60b9 str r1, [r7, #8] 80bc56e: 607a str r2, [r7, #4] 80bc570: 603b str r3, [r7, #0] uint32_t tmpsmcr; tmpsmcr = TIMx->SMCR; 80bc572: 68fb ldr r3, [r7, #12] 80bc574: 689b ldr r3, [r3, #8] 80bc576: 617b str r3, [r7, #20] /* Reset the ETR Bits */ tmpsmcr &= ~(TIM_SMCR_ETF | TIM_SMCR_ETPS | TIM_SMCR_ECE | TIM_SMCR_ETP); 80bc578: 697b ldr r3, [r7, #20] 80bc57a: f423 437f bic.w r3, r3, #65280 ; 0xff00 80bc57e: 617b str r3, [r7, #20] /* Set the Prescaler, the Filter value and the Polarity */ tmpsmcr |= (uint32_t)(TIM_ExtTRGPrescaler | (TIM_ExtTRGPolarity | (ExtTRGFilter << 8U))); 80bc580: 683b ldr r3, [r7, #0] 80bc582: 021a lsls r2, r3, #8 80bc584: 687b ldr r3, [r7, #4] 80bc586: 431a orrs r2, r3 80bc588: 68bb ldr r3, [r7, #8] 80bc58a: 4313 orrs r3, r2 80bc58c: 697a ldr r2, [r7, #20] 80bc58e: 4313 orrs r3, r2 80bc590: 617b str r3, [r7, #20] /* Write to TIMx SMCR */ TIMx->SMCR = tmpsmcr; 80bc592: 68fb ldr r3, [r7, #12] 80bc594: 697a ldr r2, [r7, #20] 80bc596: 609a str r2, [r3, #8] } 80bc598: bf00 nop 80bc59a: 371c adds r7, #28 80bc59c: 46bd mov sp, r7 80bc59e: f85d 7b04 ldr.w r7, [sp], #4 80bc5a2: 4770 bx lr 080bc5a4 : * mode. * @retval HAL status */ HAL_StatusTypeDef HAL_TIMEx_MasterConfigSynchronization(TIM_HandleTypeDef *htim, TIM_MasterConfigTypeDef *sMasterConfig) { 80bc5a4: b480 push {r7} 80bc5a6: b085 sub sp, #20 80bc5a8: af00 add r7, sp, #0 80bc5aa: 6078 str r0, [r7, #4] 80bc5ac: 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); 80bc5ae: 687b ldr r3, [r7, #4] 80bc5b0: f893 303c ldrb.w r3, [r3, #60] ; 0x3c 80bc5b4: 2b01 cmp r3, #1 80bc5b6: d101 bne.n 80bc5bc 80bc5b8: 2302 movs r3, #2 80bc5ba: e06d b.n 80bc698 80bc5bc: 687b ldr r3, [r7, #4] 80bc5be: 2201 movs r2, #1 80bc5c0: f883 203c strb.w r2, [r3, #60] ; 0x3c /* Change the handler state */ htim->State = HAL_TIM_STATE_BUSY; 80bc5c4: 687b ldr r3, [r7, #4] 80bc5c6: 2202 movs r2, #2 80bc5c8: f883 203d strb.w r2, [r3, #61] ; 0x3d /* Get the TIMx CR2 register value */ tmpcr2 = htim->Instance->CR2; 80bc5cc: 687b ldr r3, [r7, #4] 80bc5ce: 681b ldr r3, [r3, #0] 80bc5d0: 685b ldr r3, [r3, #4] 80bc5d2: 60fb str r3, [r7, #12] /* Get the TIMx SMCR register value */ tmpsmcr = htim->Instance->SMCR; 80bc5d4: 687b ldr r3, [r7, #4] 80bc5d6: 681b ldr r3, [r3, #0] 80bc5d8: 689b ldr r3, [r3, #8] 80bc5da: 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)) 80bc5dc: 687b ldr r3, [r7, #4] 80bc5de: 681b ldr r3, [r3, #0] 80bc5e0: 4a30 ldr r2, [pc, #192] ; (80bc6a4 ) 80bc5e2: 4293 cmp r3, r2 80bc5e4: d004 beq.n 80bc5f0 80bc5e6: 687b ldr r3, [r7, #4] 80bc5e8: 681b ldr r3, [r3, #0] 80bc5ea: 4a2f ldr r2, [pc, #188] ; (80bc6a8 ) 80bc5ec: 4293 cmp r3, r2 80bc5ee: d108 bne.n 80bc602 { /* Check the parameters */ assert_param(IS_TIM_TRGO2_SOURCE(sMasterConfig->MasterOutputTrigger2)); /* Clear the MMS2 bits */ tmpcr2 &= ~TIM_CR2_MMS2; 80bc5f0: 68fb ldr r3, [r7, #12] 80bc5f2: f423 0370 bic.w r3, r3, #15728640 ; 0xf00000 80bc5f6: 60fb str r3, [r7, #12] /* Select the TRGO2 source*/ tmpcr2 |= sMasterConfig->MasterOutputTrigger2; 80bc5f8: 683b ldr r3, [r7, #0] 80bc5fa: 685b ldr r3, [r3, #4] 80bc5fc: 68fa ldr r2, [r7, #12] 80bc5fe: 4313 orrs r3, r2 80bc600: 60fb str r3, [r7, #12] } /* Reset the MMS Bits */ tmpcr2 &= ~TIM_CR2_MMS; 80bc602: 68fb ldr r3, [r7, #12] 80bc604: f023 0370 bic.w r3, r3, #112 ; 0x70 80bc608: 60fb str r3, [r7, #12] /* Select the TRGO source */ tmpcr2 |= sMasterConfig->MasterOutputTrigger; 80bc60a: 683b ldr r3, [r7, #0] 80bc60c: 681b ldr r3, [r3, #0] 80bc60e: 68fa ldr r2, [r7, #12] 80bc610: 4313 orrs r3, r2 80bc612: 60fb str r3, [r7, #12] /* Update TIMx CR2 */ htim->Instance->CR2 = tmpcr2; 80bc614: 687b ldr r3, [r7, #4] 80bc616: 681b ldr r3, [r3, #0] 80bc618: 68fa ldr r2, [r7, #12] 80bc61a: 605a str r2, [r3, #4] if (IS_TIM_SLAVE_INSTANCE(htim->Instance)) 80bc61c: 687b ldr r3, [r7, #4] 80bc61e: 681b ldr r3, [r3, #0] 80bc620: 4a20 ldr r2, [pc, #128] ; (80bc6a4 ) 80bc622: 4293 cmp r3, r2 80bc624: d022 beq.n 80bc66c 80bc626: 687b ldr r3, [r7, #4] 80bc628: 681b ldr r3, [r3, #0] 80bc62a: f1b3 4f80 cmp.w r3, #1073741824 ; 0x40000000 80bc62e: d01d beq.n 80bc66c 80bc630: 687b ldr r3, [r7, #4] 80bc632: 681b ldr r3, [r3, #0] 80bc634: 4a1d ldr r2, [pc, #116] ; (80bc6ac ) 80bc636: 4293 cmp r3, r2 80bc638: d018 beq.n 80bc66c 80bc63a: 687b ldr r3, [r7, #4] 80bc63c: 681b ldr r3, [r3, #0] 80bc63e: 4a1c ldr r2, [pc, #112] ; (80bc6b0 ) 80bc640: 4293 cmp r3, r2 80bc642: d013 beq.n 80bc66c 80bc644: 687b ldr r3, [r7, #4] 80bc646: 681b ldr r3, [r3, #0] 80bc648: 4a1a ldr r2, [pc, #104] ; (80bc6b4 ) 80bc64a: 4293 cmp r3, r2 80bc64c: d00e beq.n 80bc66c 80bc64e: 687b ldr r3, [r7, #4] 80bc650: 681b ldr r3, [r3, #0] 80bc652: 4a15 ldr r2, [pc, #84] ; (80bc6a8 ) 80bc654: 4293 cmp r3, r2 80bc656: d009 beq.n 80bc66c 80bc658: 687b ldr r3, [r7, #4] 80bc65a: 681b ldr r3, [r3, #0] 80bc65c: 4a16 ldr r2, [pc, #88] ; (80bc6b8 ) 80bc65e: 4293 cmp r3, r2 80bc660: d004 beq.n 80bc66c 80bc662: 687b ldr r3, [r7, #4] 80bc664: 681b ldr r3, [r3, #0] 80bc666: 4a15 ldr r2, [pc, #84] ; (80bc6bc ) 80bc668: 4293 cmp r3, r2 80bc66a: d10c bne.n 80bc686 { /* Reset the MSM Bit */ tmpsmcr &= ~TIM_SMCR_MSM; 80bc66c: 68bb ldr r3, [r7, #8] 80bc66e: f023 0380 bic.w r3, r3, #128 ; 0x80 80bc672: 60bb str r3, [r7, #8] /* Set master mode */ tmpsmcr |= sMasterConfig->MasterSlaveMode; 80bc674: 683b ldr r3, [r7, #0] 80bc676: 689b ldr r3, [r3, #8] 80bc678: 68ba ldr r2, [r7, #8] 80bc67a: 4313 orrs r3, r2 80bc67c: 60bb str r3, [r7, #8] /* Update TIMx SMCR */ htim->Instance->SMCR = tmpsmcr; 80bc67e: 687b ldr r3, [r7, #4] 80bc680: 681b ldr r3, [r3, #0] 80bc682: 68ba ldr r2, [r7, #8] 80bc684: 609a str r2, [r3, #8] } /* Change the htim state */ htim->State = HAL_TIM_STATE_READY; 80bc686: 687b ldr r3, [r7, #4] 80bc688: 2201 movs r2, #1 80bc68a: f883 203d strb.w r2, [r3, #61] ; 0x3d __HAL_UNLOCK(htim); 80bc68e: 687b ldr r3, [r7, #4] 80bc690: 2200 movs r2, #0 80bc692: f883 203c strb.w r2, [r3, #60] ; 0x3c return HAL_OK; 80bc696: 2300 movs r3, #0 } 80bc698: 4618 mov r0, r3 80bc69a: 3714 adds r7, #20 80bc69c: 46bd mov sp, r7 80bc69e: f85d 7b04 ldr.w r7, [sp], #4 80bc6a2: 4770 bx lr 80bc6a4: 40010000 .word 0x40010000 80bc6a8: 40010400 .word 0x40010400 80bc6ac: 40000400 .word 0x40000400 80bc6b0: 40000800 .word 0x40000800 80bc6b4: 40000c00 .word 0x40000c00 80bc6b8: 40014000 .word 0x40014000 80bc6bc: 40001800 .word 0x40001800 080bc6c0 : * @brief Hall commutation changed callback in non-blocking mode * @param htim TIM handle * @retval None */ __weak void HAL_TIMEx_CommutCallback(TIM_HandleTypeDef *htim) { 80bc6c0: b480 push {r7} 80bc6c2: b083 sub sp, #12 80bc6c4: af00 add r7, sp, #0 80bc6c6: 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 */ } 80bc6c8: bf00 nop 80bc6ca: 370c adds r7, #12 80bc6cc: 46bd mov sp, r7 80bc6ce: f85d 7b04 ldr.w r7, [sp], #4 80bc6d2: 4770 bx lr 080bc6d4 : * @brief Hall Break detection callback in non-blocking mode * @param htim TIM handle * @retval None */ __weak void HAL_TIMEx_BreakCallback(TIM_HandleTypeDef *htim) { 80bc6d4: b480 push {r7} 80bc6d6: b083 sub sp, #12 80bc6d8: af00 add r7, sp, #0 80bc6da: 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 */ } 80bc6dc: bf00 nop 80bc6de: 370c adds r7, #12 80bc6e0: 46bd mov sp, r7 80bc6e2: f85d 7b04 ldr.w r7, [sp], #4 80bc6e6: 4770 bx lr 080bc6e8 : * @brief Hall Break2 detection callback in non blocking mode * @param htim: TIM handle * @retval None */ __weak void HAL_TIMEx_Break2Callback(TIM_HandleTypeDef *htim) { 80bc6e8: b480 push {r7} 80bc6ea: b083 sub sp, #12 80bc6ec: af00 add r7, sp, #0 80bc6ee: 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 */ } 80bc6f0: bf00 nop 80bc6f2: 370c adds r7, #12 80bc6f4: 46bd mov sp, r7 80bc6f6: f85d 7b04 ldr.w r7, [sp], #4 80bc6fa: 4770 bx lr 080bc6fc : * @brief DeInitialize the UART peripheral. * @param huart UART handle. * @retval HAL status */ HAL_StatusTypeDef HAL_UART_DeInit(UART_HandleTypeDef *huart) { 80bc6fc: b580 push {r7, lr} 80bc6fe: b082 sub sp, #8 80bc700: af00 add r7, sp, #0 80bc702: 6078 str r0, [r7, #4] /* Check the UART handle allocation */ if (huart == NULL) 80bc704: 687b ldr r3, [r7, #4] 80bc706: 2b00 cmp r3, #0 80bc708: d101 bne.n 80bc70e { return HAL_ERROR; 80bc70a: 2301 movs r3, #1 80bc70c: e02b b.n 80bc766 } /* Check the parameters */ assert_param(IS_UART_INSTANCE(huart->Instance)); huart->gState = HAL_UART_STATE_BUSY; 80bc70e: 687b ldr r3, [r7, #4] 80bc710: 2224 movs r2, #36 ; 0x24 80bc712: 679a str r2, [r3, #120] ; 0x78 __HAL_UART_DISABLE(huart); 80bc714: 687b ldr r3, [r7, #4] 80bc716: 681b ldr r3, [r3, #0] 80bc718: 687a ldr r2, [r7, #4] 80bc71a: 6812 ldr r2, [r2, #0] 80bc71c: 6812 ldr r2, [r2, #0] 80bc71e: f022 0201 bic.w r2, r2, #1 80bc722: 601a str r2, [r3, #0] huart->Instance->CR1 = 0x0U; 80bc724: 687b ldr r3, [r7, #4] 80bc726: 681b ldr r3, [r3, #0] 80bc728: 2200 movs r2, #0 80bc72a: 601a str r2, [r3, #0] huart->Instance->CR2 = 0x0U; 80bc72c: 687b ldr r3, [r7, #4] 80bc72e: 681b ldr r3, [r3, #0] 80bc730: 2200 movs r2, #0 80bc732: 605a str r2, [r3, #4] huart->Instance->CR3 = 0x0U; 80bc734: 687b ldr r3, [r7, #4] 80bc736: 681b ldr r3, [r3, #0] 80bc738: 2200 movs r2, #0 80bc73a: 609a str r2, [r3, #8] } /* DeInit the low level hardware */ huart->MspDeInitCallback(huart); #else /* DeInit the low level hardware */ HAL_UART_MspDeInit(huart); 80bc73c: 6878 ldr r0, [r7, #4] 80bc73e: f7f2 f9cf bl 80aeae0 #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ huart->ErrorCode = HAL_UART_ERROR_NONE; 80bc742: 687b ldr r3, [r7, #4] 80bc744: 2200 movs r2, #0 80bc746: f8c3 2080 str.w r2, [r3, #128] ; 0x80 huart->gState = HAL_UART_STATE_RESET; 80bc74a: 687b ldr r3, [r7, #4] 80bc74c: 2200 movs r2, #0 80bc74e: 679a str r2, [r3, #120] ; 0x78 huart->RxState = HAL_UART_STATE_RESET; 80bc750: 687b ldr r3, [r7, #4] 80bc752: 2200 movs r2, #0 80bc754: 67da str r2, [r3, #124] ; 0x7c huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 80bc756: 687b ldr r3, [r7, #4] 80bc758: 2200 movs r2, #0 80bc75a: 661a str r2, [r3, #96] ; 0x60 __HAL_UNLOCK(huart); 80bc75c: 687b ldr r3, [r7, #4] 80bc75e: 2200 movs r2, #0 80bc760: f883 2074 strb.w r2, [r3, #116] ; 0x74 return HAL_OK; 80bc764: 2300 movs r3, #0 } 80bc766: 4618 mov r0, r3 80bc768: 3708 adds r7, #8 80bc76a: 46bd mov sp, r7 80bc76c: bd80 pop {r7, pc} ... 080bc770 : * @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) { 80bc770: b580 push {r7, lr} 80bc772: b0a2 sub sp, #136 ; 0x88 80bc774: af00 add r7, sp, #0 80bc776: 6078 str r0, [r7, #4] uint32_t abortcplt = 1U; 80bc778: 2301 movs r3, #1 80bc77a: 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)); 80bc77e: 687b ldr r3, [r7, #4] 80bc780: 681b ldr r3, [r3, #0] 80bc782: 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) ); 80bc784: 6e3b ldr r3, [r7, #96] ; 0x60 80bc786: e853 3f00 ldrex r3, [r3] 80bc78a: 65fb str r3, [r7, #92] ; 0x5c return(result); 80bc78c: 6dfb ldr r3, [r7, #92] ; 0x5c 80bc78e: f423 73f0 bic.w r3, r3, #480 ; 0x1e0 80bc792: f8c7 3080 str.w r3, [r7, #128] ; 0x80 80bc796: 687b ldr r3, [r7, #4] 80bc798: 681b ldr r3, [r3, #0] 80bc79a: 461a mov r2, r3 80bc79c: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 80bc7a0: 66fb str r3, [r7, #108] ; 0x6c 80bc7a2: 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) ); 80bc7a4: 6eb9 ldr r1, [r7, #104] ; 0x68 80bc7a6: 6efa ldr r2, [r7, #108] ; 0x6c 80bc7a8: e841 2300 strex r3, r2, [r1] 80bc7ac: 667b str r3, [r7, #100] ; 0x64 return(result); 80bc7ae: 6e7b ldr r3, [r7, #100] ; 0x64 80bc7b0: 2b00 cmp r3, #0 80bc7b2: d1e4 bne.n 80bc77e ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 80bc7b4: 687b ldr r3, [r7, #4] 80bc7b6: 681b ldr r3, [r3, #0] 80bc7b8: 3308 adds r3, #8 80bc7ba: 64fb str r3, [r7, #76] ; 0x4c __ASM volatile ("ldrex %0, %1" : "=r" (result) : "Q" (*addr) ); 80bc7bc: 6cfb ldr r3, [r7, #76] ; 0x4c 80bc7be: e853 3f00 ldrex r3, [r3] 80bc7c2: 64bb str r3, [r7, #72] ; 0x48 return(result); 80bc7c4: 6cbb ldr r3, [r7, #72] ; 0x48 80bc7c6: f023 0301 bic.w r3, r3, #1 80bc7ca: 67fb str r3, [r7, #124] ; 0x7c 80bc7cc: 687b ldr r3, [r7, #4] 80bc7ce: 681b ldr r3, [r3, #0] 80bc7d0: 3308 adds r3, #8 80bc7d2: 6ffa ldr r2, [r7, #124] ; 0x7c 80bc7d4: 65ba str r2, [r7, #88] ; 0x58 80bc7d6: 657b str r3, [r7, #84] ; 0x54 __ASM volatile ("strex %0, %2, %1" : "=&r" (result), "=Q" (*addr) : "r" (value) ); 80bc7d8: 6d79 ldr r1, [r7, #84] ; 0x54 80bc7da: 6dba ldr r2, [r7, #88] ; 0x58 80bc7dc: e841 2300 strex r3, r2, [r1] 80bc7e0: 653b str r3, [r7, #80] ; 0x50 return(result); 80bc7e2: 6d3b ldr r3, [r7, #80] ; 0x50 80bc7e4: 2b00 cmp r3, #0 80bc7e6: d1e5 bne.n 80bc7b4 /* If Reception till IDLE event was ongoing, disable IDLEIE interrupt */ if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE) 80bc7e8: 687b ldr r3, [r7, #4] 80bc7ea: 6e1b ldr r3, [r3, #96] ; 0x60 80bc7ec: 2b01 cmp r3, #1 80bc7ee: d118 bne.n 80bc822 { ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_IDLEIE)); 80bc7f0: 687b ldr r3, [r7, #4] 80bc7f2: 681b ldr r3, [r3, #0] 80bc7f4: 63bb str r3, [r7, #56] ; 0x38 __ASM volatile ("ldrex %0, %1" : "=r" (result) : "Q" (*addr) ); 80bc7f6: 6bbb ldr r3, [r7, #56] ; 0x38 80bc7f8: e853 3f00 ldrex r3, [r3] 80bc7fc: 637b str r3, [r7, #52] ; 0x34 return(result); 80bc7fe: 6b7b ldr r3, [r7, #52] ; 0x34 80bc800: f023 0310 bic.w r3, r3, #16 80bc804: 67bb str r3, [r7, #120] ; 0x78 80bc806: 687b ldr r3, [r7, #4] 80bc808: 681b ldr r3, [r3, #0] 80bc80a: 461a mov r2, r3 80bc80c: 6fbb ldr r3, [r7, #120] ; 0x78 80bc80e: 647b str r3, [r7, #68] ; 0x44 80bc810: 643a str r2, [r7, #64] ; 0x40 __ASM volatile ("strex %0, %2, %1" : "=&r" (result), "=Q" (*addr) : "r" (value) ); 80bc812: 6c39 ldr r1, [r7, #64] ; 0x40 80bc814: 6c7a ldr r2, [r7, #68] ; 0x44 80bc816: e841 2300 strex r3, r2, [r1] 80bc81a: 63fb str r3, [r7, #60] ; 0x3c return(result); 80bc81c: 6bfb ldr r3, [r7, #60] ; 0x3c 80bc81e: 2b00 cmp r3, #0 80bc820: d1e6 bne.n 80bc7f0 } /* 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) 80bc822: 687b ldr r3, [r7, #4] 80bc824: 6edb ldr r3, [r3, #108] ; 0x6c 80bc826: 2b00 cmp r3, #0 80bc828: d00f beq.n 80bc84a { /* 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)) 80bc82a: 687b ldr r3, [r7, #4] 80bc82c: 681b ldr r3, [r3, #0] 80bc82e: 689b ldr r3, [r3, #8] 80bc830: f003 0380 and.w r3, r3, #128 ; 0x80 80bc834: 2b80 cmp r3, #128 ; 0x80 80bc836: d104 bne.n 80bc842 { huart->hdmatx->XferAbortCallback = UART_DMATxAbortCallback; 80bc838: 687b ldr r3, [r7, #4] 80bc83a: 6edb ldr r3, [r3, #108] ; 0x6c 80bc83c: 4a5d ldr r2, [pc, #372] ; (80bc9b4 ) 80bc83e: 651a str r2, [r3, #80] ; 0x50 80bc840: e003 b.n 80bc84a } else { huart->hdmatx->XferAbortCallback = NULL; 80bc842: 687b ldr r3, [r7, #4] 80bc844: 6edb ldr r3, [r3, #108] ; 0x6c 80bc846: 2200 movs r2, #0 80bc848: 651a str r2, [r3, #80] ; 0x50 } } /* DMA Rx Handle is valid */ if (huart->hdmarx != NULL) 80bc84a: 687b ldr r3, [r7, #4] 80bc84c: 6f1b ldr r3, [r3, #112] ; 0x70 80bc84e: 2b00 cmp r3, #0 80bc850: d00f beq.n 80bc872 { /* 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)) 80bc852: 687b ldr r3, [r7, #4] 80bc854: 681b ldr r3, [r3, #0] 80bc856: 689b ldr r3, [r3, #8] 80bc858: f003 0340 and.w r3, r3, #64 ; 0x40 80bc85c: 2b40 cmp r3, #64 ; 0x40 80bc85e: d104 bne.n 80bc86a { huart->hdmarx->XferAbortCallback = UART_DMARxAbortCallback; 80bc860: 687b ldr r3, [r7, #4] 80bc862: 6f1b ldr r3, [r3, #112] ; 0x70 80bc864: 4a54 ldr r2, [pc, #336] ; (80bc9b8 ) 80bc866: 651a str r2, [r3, #80] ; 0x50 80bc868: e003 b.n 80bc872 } else { huart->hdmarx->XferAbortCallback = NULL; 80bc86a: 687b ldr r3, [r7, #4] 80bc86c: 6f1b ldr r3, [r3, #112] ; 0x70 80bc86e: 2200 movs r2, #0 80bc870: 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)) 80bc872: 687b ldr r3, [r7, #4] 80bc874: 681b ldr r3, [r3, #0] 80bc876: 689b ldr r3, [r3, #8] 80bc878: f003 0380 and.w r3, r3, #128 ; 0x80 80bc87c: 2b80 cmp r3, #128 ; 0x80 80bc87e: d12d bne.n 80bc8dc { /* Disable DMA Tx at UART level */ ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT); 80bc880: 687b ldr r3, [r7, #4] 80bc882: 681b ldr r3, [r3, #0] 80bc884: 3308 adds r3, #8 80bc886: 627b str r3, [r7, #36] ; 0x24 __ASM volatile ("ldrex %0, %1" : "=r" (result) : "Q" (*addr) ); 80bc888: 6a7b ldr r3, [r7, #36] ; 0x24 80bc88a: e853 3f00 ldrex r3, [r3] 80bc88e: 623b str r3, [r7, #32] return(result); 80bc890: 6a3b ldr r3, [r7, #32] 80bc892: f023 0380 bic.w r3, r3, #128 ; 0x80 80bc896: 677b str r3, [r7, #116] ; 0x74 80bc898: 687b ldr r3, [r7, #4] 80bc89a: 681b ldr r3, [r3, #0] 80bc89c: 3308 adds r3, #8 80bc89e: 6f7a ldr r2, [r7, #116] ; 0x74 80bc8a0: 633a str r2, [r7, #48] ; 0x30 80bc8a2: 62fb str r3, [r7, #44] ; 0x2c __ASM volatile ("strex %0, %2, %1" : "=&r" (result), "=Q" (*addr) : "r" (value) ); 80bc8a4: 6af9 ldr r1, [r7, #44] ; 0x2c 80bc8a6: 6b3a ldr r2, [r7, #48] ; 0x30 80bc8a8: e841 2300 strex r3, r2, [r1] 80bc8ac: 62bb str r3, [r7, #40] ; 0x28 return(result); 80bc8ae: 6abb ldr r3, [r7, #40] ; 0x28 80bc8b0: 2b00 cmp r3, #0 80bc8b2: d1e5 bne.n 80bc880 /* Abort the UART DMA Tx channel : use non blocking DMA Abort API (callback) */ if (huart->hdmatx != NULL) 80bc8b4: 687b ldr r3, [r7, #4] 80bc8b6: 6edb ldr r3, [r3, #108] ; 0x6c 80bc8b8: 2b00 cmp r3, #0 80bc8ba: d00f beq.n 80bc8dc { /* 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) 80bc8bc: 687b ldr r3, [r7, #4] 80bc8be: 6edb ldr r3, [r3, #108] ; 0x6c 80bc8c0: 4618 mov r0, r3 80bc8c2: f7f7 fead bl 80b4620 80bc8c6: 4603 mov r3, r0 80bc8c8: 2b00 cmp r3, #0 80bc8ca: d004 beq.n 80bc8d6 { huart->hdmatx->XferAbortCallback = NULL; 80bc8cc: 687b ldr r3, [r7, #4] 80bc8ce: 6edb ldr r3, [r3, #108] ; 0x6c 80bc8d0: 2200 movs r2, #0 80bc8d2: 651a str r2, [r3, #80] ; 0x50 80bc8d4: e002 b.n 80bc8dc } else { abortcplt = 0U; 80bc8d6: 2300 movs r3, #0 80bc8d8: 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)) 80bc8dc: 687b ldr r3, [r7, #4] 80bc8de: 681b ldr r3, [r3, #0] 80bc8e0: 689b ldr r3, [r3, #8] 80bc8e2: f003 0340 and.w r3, r3, #64 ; 0x40 80bc8e6: 2b40 cmp r3, #64 ; 0x40 80bc8e8: d130 bne.n 80bc94c { /* Disable the UART DMA Rx request if enabled */ ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR); 80bc8ea: 687b ldr r3, [r7, #4] 80bc8ec: 681b ldr r3, [r3, #0] 80bc8ee: 3308 adds r3, #8 80bc8f0: 613b str r3, [r7, #16] __ASM volatile ("ldrex %0, %1" : "=r" (result) : "Q" (*addr) ); 80bc8f2: 693b ldr r3, [r7, #16] 80bc8f4: e853 3f00 ldrex r3, [r3] 80bc8f8: 60fb str r3, [r7, #12] return(result); 80bc8fa: 68fb ldr r3, [r7, #12] 80bc8fc: f023 0340 bic.w r3, r3, #64 ; 0x40 80bc900: 673b str r3, [r7, #112] ; 0x70 80bc902: 687b ldr r3, [r7, #4] 80bc904: 681b ldr r3, [r3, #0] 80bc906: 3308 adds r3, #8 80bc908: 6f3a ldr r2, [r7, #112] ; 0x70 80bc90a: 61fa str r2, [r7, #28] 80bc90c: 61bb str r3, [r7, #24] __ASM volatile ("strex %0, %2, %1" : "=&r" (result), "=Q" (*addr) : "r" (value) ); 80bc90e: 69b9 ldr r1, [r7, #24] 80bc910: 69fa ldr r2, [r7, #28] 80bc912: e841 2300 strex r3, r2, [r1] 80bc916: 617b str r3, [r7, #20] return(result); 80bc918: 697b ldr r3, [r7, #20] 80bc91a: 2b00 cmp r3, #0 80bc91c: d1e5 bne.n 80bc8ea /* Abort the UART DMA Rx channel : use non blocking DMA Abort API (callback) */ if (huart->hdmarx != NULL) 80bc91e: 687b ldr r3, [r7, #4] 80bc920: 6f1b ldr r3, [r3, #112] ; 0x70 80bc922: 2b00 cmp r3, #0 80bc924: d012 beq.n 80bc94c { /* 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) 80bc926: 687b ldr r3, [r7, #4] 80bc928: 6f1b ldr r3, [r3, #112] ; 0x70 80bc92a: 4618 mov r0, r3 80bc92c: f7f7 fe78 bl 80b4620 80bc930: 4603 mov r3, r0 80bc932: 2b00 cmp r3, #0 80bc934: d007 beq.n 80bc946 { huart->hdmarx->XferAbortCallback = NULL; 80bc936: 687b ldr r3, [r7, #4] 80bc938: 6f1b ldr r3, [r3, #112] ; 0x70 80bc93a: 2200 movs r2, #0 80bc93c: 651a str r2, [r3, #80] ; 0x50 abortcplt = 1U; 80bc93e: 2301 movs r3, #1 80bc940: f8c7 3084 str.w r3, [r7, #132] ; 0x84 80bc944: e002 b.n 80bc94c } else { abortcplt = 0U; 80bc946: 2300 movs r3, #0 80bc948: 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) 80bc94c: f8d7 3084 ldr.w r3, [r7, #132] ; 0x84 80bc950: 2b01 cmp r3, #1 80bc952: d129 bne.n 80bc9a8 { /* Reset Tx and Rx transfer counters */ huart->TxXferCount = 0U; 80bc954: 687b ldr r3, [r7, #4] 80bc956: 2200 movs r2, #0 80bc958: f8a3 2052 strh.w r2, [r3, #82] ; 0x52 huart->RxXferCount = 0U; 80bc95c: 687b ldr r3, [r7, #4] 80bc95e: 2200 movs r2, #0 80bc960: f8a3 205a strh.w r2, [r3, #90] ; 0x5a /* Clear ISR function pointers */ huart->RxISR = NULL; 80bc964: 687b ldr r3, [r7, #4] 80bc966: 2200 movs r2, #0 80bc968: 665a str r2, [r3, #100] ; 0x64 huart->TxISR = NULL; 80bc96a: 687b ldr r3, [r7, #4] 80bc96c: 2200 movs r2, #0 80bc96e: 669a str r2, [r3, #104] ; 0x68 /* Reset errorCode */ huart->ErrorCode = HAL_UART_ERROR_NONE; 80bc970: 687b ldr r3, [r7, #4] 80bc972: 2200 movs r2, #0 80bc974: 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); 80bc978: 687b ldr r3, [r7, #4] 80bc97a: 681b ldr r3, [r3, #0] 80bc97c: 220f movs r2, #15 80bc97e: 621a str r2, [r3, #32] /* Discard the received data */ __HAL_UART_SEND_REQ(huart, UART_RXDATA_FLUSH_REQUEST); 80bc980: 687b ldr r3, [r7, #4] 80bc982: 681b ldr r3, [r3, #0] 80bc984: 687a ldr r2, [r7, #4] 80bc986: 6812 ldr r2, [r2, #0] 80bc988: 6992 ldr r2, [r2, #24] 80bc98a: f042 0208 orr.w r2, r2, #8 80bc98e: 619a str r2, [r3, #24] /* Restore huart->gState and huart->RxState to Ready */ huart->gState = HAL_UART_STATE_READY; 80bc990: 687b ldr r3, [r7, #4] 80bc992: 2220 movs r2, #32 80bc994: 679a str r2, [r3, #120] ; 0x78 huart->RxState = HAL_UART_STATE_READY; 80bc996: 687b ldr r3, [r7, #4] 80bc998: 2220 movs r2, #32 80bc99a: 67da str r2, [r3, #124] ; 0x7c huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 80bc99c: 687b ldr r3, [r7, #4] 80bc99e: 2200 movs r2, #0 80bc9a0: 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); 80bc9a2: 6878 ldr r0, [r7, #4] 80bc9a4: f000 faea bl 80bcf7c #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ } return HAL_OK; 80bc9a8: 2300 movs r3, #0 } 80bc9aa: 4618 mov r0, r3 80bc9ac: 3788 adds r7, #136 ; 0x88 80bc9ae: 46bd mov sp, r7 80bc9b0: bd80 pop {r7, pc} 80bc9b2: bf00 nop 80bc9b4: 080bd0af .word 0x080bd0af 80bc9b8: 080bd119 .word 0x080bd119 080bc9bc : * @brief Handle UART interrupt request. * @param huart UART handle. * @retval None */ void HAL_UART_IRQHandler(UART_HandleTypeDef *huart) { 80bc9bc: b580 push {r7, lr} 80bc9be: b0ba sub sp, #232 ; 0xe8 80bc9c0: af00 add r7, sp, #0 80bc9c2: 6078 str r0, [r7, #4] uint32_t isrflags = READ_REG(huart->Instance->ISR); 80bc9c4: 687b ldr r3, [r7, #4] 80bc9c6: 681b ldr r3, [r3, #0] 80bc9c8: 69db ldr r3, [r3, #28] 80bc9ca: f8c7 30e4 str.w r3, [r7, #228] ; 0xe4 uint32_t cr1its = READ_REG(huart->Instance->CR1); 80bc9ce: 687b ldr r3, [r7, #4] 80bc9d0: 681b ldr r3, [r3, #0] 80bc9d2: 681b ldr r3, [r3, #0] 80bc9d4: f8c7 30e0 str.w r3, [r7, #224] ; 0xe0 uint32_t cr3its = READ_REG(huart->Instance->CR3); 80bc9d8: 687b ldr r3, [r7, #4] 80bc9da: 681b ldr r3, [r3, #0] 80bc9dc: 689b ldr r3, [r3, #8] 80bc9de: 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)); 80bc9e2: f8d7 20e4 ldr.w r2, [r7, #228] ; 0xe4 80bc9e6: f640 030f movw r3, #2063 ; 0x80f 80bc9ea: 4013 ands r3, r2 80bc9ec: f8c7 30d8 str.w r3, [r7, #216] ; 0xd8 if (errorflags == 0U) 80bc9f0: f8d7 30d8 ldr.w r3, [r7, #216] ; 0xd8 80bc9f4: 2b00 cmp r3, #0 80bc9f6: d115 bne.n 80bca24 { /* UART in mode Receiver ---------------------------------------------------*/ if (((isrflags & USART_ISR_RXNE) != 0U) 80bc9f8: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80bc9fc: f003 0320 and.w r3, r3, #32 80bca00: 2b00 cmp r3, #0 80bca02: d00f beq.n 80bca24 && ((cr1its & USART_CR1_RXNEIE) != 0U)) 80bca04: f8d7 30e0 ldr.w r3, [r7, #224] ; 0xe0 80bca08: f003 0320 and.w r3, r3, #32 80bca0c: 2b00 cmp r3, #0 80bca0e: d009 beq.n 80bca24 { if (huart->RxISR != NULL) 80bca10: 687b ldr r3, [r7, #4] 80bca12: 6e5b ldr r3, [r3, #100] ; 0x64 80bca14: 2b00 cmp r3, #0 80bca16: f000 82a5 beq.w 80bcf64 { huart->RxISR(huart); 80bca1a: 687b ldr r3, [r7, #4] 80bca1c: 6e5b ldr r3, [r3, #100] ; 0x64 80bca1e: 6878 ldr r0, [r7, #4] 80bca20: 4798 blx r3 } return; 80bca22: e29f b.n 80bcf64 } } /* If some errors occur */ if ((errorflags != 0U) 80bca24: f8d7 30d8 ldr.w r3, [r7, #216] ; 0xd8 80bca28: 2b00 cmp r3, #0 80bca2a: f000 8117 beq.w 80bcc5c && (((cr3its & USART_CR3_EIE) != 0U) 80bca2e: f8d7 30dc ldr.w r3, [r7, #220] ; 0xdc 80bca32: f003 0301 and.w r3, r3, #1 80bca36: 2b00 cmp r3, #0 80bca38: d106 bne.n 80bca48 || ((cr1its & (USART_CR1_RXNEIE | USART_CR1_PEIE | USART_CR1_RTOIE)) != 0U))) 80bca3a: f8d7 20e0 ldr.w r2, [r7, #224] ; 0xe0 80bca3e: 4b85 ldr r3, [pc, #532] ; (80bcc54 ) 80bca40: 4013 ands r3, r2 80bca42: 2b00 cmp r3, #0 80bca44: f000 810a beq.w 80bcc5c { /* UART parity error interrupt occurred -------------------------------------*/ if (((isrflags & USART_ISR_PE) != 0U) && ((cr1its & USART_CR1_PEIE) != 0U)) 80bca48: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80bca4c: f003 0301 and.w r3, r3, #1 80bca50: 2b00 cmp r3, #0 80bca52: d011 beq.n 80bca78 80bca54: f8d7 30e0 ldr.w r3, [r7, #224] ; 0xe0 80bca58: f403 7380 and.w r3, r3, #256 ; 0x100 80bca5c: 2b00 cmp r3, #0 80bca5e: d00b beq.n 80bca78 { __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_PEF); 80bca60: 687b ldr r3, [r7, #4] 80bca62: 681b ldr r3, [r3, #0] 80bca64: 2201 movs r2, #1 80bca66: 621a str r2, [r3, #32] huart->ErrorCode |= HAL_UART_ERROR_PE; 80bca68: 687b ldr r3, [r7, #4] 80bca6a: f8d3 3080 ldr.w r3, [r3, #128] ; 0x80 80bca6e: f043 0201 orr.w r2, r3, #1 80bca72: 687b ldr r3, [r7, #4] 80bca74: f8c3 2080 str.w r2, [r3, #128] ; 0x80 } /* UART frame error interrupt occurred --------------------------------------*/ if (((isrflags & USART_ISR_FE) != 0U) && ((cr3its & USART_CR3_EIE) != 0U)) 80bca78: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80bca7c: f003 0302 and.w r3, r3, #2 80bca80: 2b00 cmp r3, #0 80bca82: d011 beq.n 80bcaa8 80bca84: f8d7 30dc ldr.w r3, [r7, #220] ; 0xdc 80bca88: f003 0301 and.w r3, r3, #1 80bca8c: 2b00 cmp r3, #0 80bca8e: d00b beq.n 80bcaa8 { __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_FEF); 80bca90: 687b ldr r3, [r7, #4] 80bca92: 681b ldr r3, [r3, #0] 80bca94: 2202 movs r2, #2 80bca96: 621a str r2, [r3, #32] huart->ErrorCode |= HAL_UART_ERROR_FE; 80bca98: 687b ldr r3, [r7, #4] 80bca9a: f8d3 3080 ldr.w r3, [r3, #128] ; 0x80 80bca9e: f043 0204 orr.w r2, r3, #4 80bcaa2: 687b ldr r3, [r7, #4] 80bcaa4: f8c3 2080 str.w r2, [r3, #128] ; 0x80 } /* UART noise error interrupt occurred --------------------------------------*/ if (((isrflags & USART_ISR_NE) != 0U) && ((cr3its & USART_CR3_EIE) != 0U)) 80bcaa8: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80bcaac: f003 0304 and.w r3, r3, #4 80bcab0: 2b00 cmp r3, #0 80bcab2: d011 beq.n 80bcad8 80bcab4: f8d7 30dc ldr.w r3, [r7, #220] ; 0xdc 80bcab8: f003 0301 and.w r3, r3, #1 80bcabc: 2b00 cmp r3, #0 80bcabe: d00b beq.n 80bcad8 { __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_NEF); 80bcac0: 687b ldr r3, [r7, #4] 80bcac2: 681b ldr r3, [r3, #0] 80bcac4: 2204 movs r2, #4 80bcac6: 621a str r2, [r3, #32] huart->ErrorCode |= HAL_UART_ERROR_NE; 80bcac8: 687b ldr r3, [r7, #4] 80bcaca: f8d3 3080 ldr.w r3, [r3, #128] ; 0x80 80bcace: f043 0202 orr.w r2, r3, #2 80bcad2: 687b ldr r3, [r7, #4] 80bcad4: f8c3 2080 str.w r2, [r3, #128] ; 0x80 } /* UART Over-Run interrupt occurred -----------------------------------------*/ if (((isrflags & USART_ISR_ORE) != 0U) 80bcad8: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80bcadc: f003 0308 and.w r3, r3, #8 80bcae0: 2b00 cmp r3, #0 80bcae2: d017 beq.n 80bcb14 && (((cr1its & USART_CR1_RXNEIE) != 0U) || 80bcae4: f8d7 30e0 ldr.w r3, [r7, #224] ; 0xe0 80bcae8: f003 0320 and.w r3, r3, #32 80bcaec: 2b00 cmp r3, #0 80bcaee: d105 bne.n 80bcafc ((cr3its & USART_CR3_EIE) != 0U))) 80bcaf0: f8d7 30dc ldr.w r3, [r7, #220] ; 0xdc 80bcaf4: f003 0301 and.w r3, r3, #1 && (((cr1its & USART_CR1_RXNEIE) != 0U) || 80bcaf8: 2b00 cmp r3, #0 80bcafa: d00b beq.n 80bcb14 { __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_OREF); 80bcafc: 687b ldr r3, [r7, #4] 80bcafe: 681b ldr r3, [r3, #0] 80bcb00: 2208 movs r2, #8 80bcb02: 621a str r2, [r3, #32] huart->ErrorCode |= HAL_UART_ERROR_ORE; 80bcb04: 687b ldr r3, [r7, #4] 80bcb06: f8d3 3080 ldr.w r3, [r3, #128] ; 0x80 80bcb0a: f043 0208 orr.w r2, r3, #8 80bcb0e: 687b ldr r3, [r7, #4] 80bcb10: f8c3 2080 str.w r2, [r3, #128] ; 0x80 } /* UART Receiver Timeout interrupt occurred ---------------------------------*/ if (((isrflags & USART_ISR_RTOF) != 0U) && ((cr1its & USART_CR1_RTOIE) != 0U)) 80bcb14: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80bcb18: f403 6300 and.w r3, r3, #2048 ; 0x800 80bcb1c: 2b00 cmp r3, #0 80bcb1e: d012 beq.n 80bcb46 80bcb20: f8d7 30e0 ldr.w r3, [r7, #224] ; 0xe0 80bcb24: f003 6380 and.w r3, r3, #67108864 ; 0x4000000 80bcb28: 2b00 cmp r3, #0 80bcb2a: d00c beq.n 80bcb46 { __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_RTOF); 80bcb2c: 687b ldr r3, [r7, #4] 80bcb2e: 681b ldr r3, [r3, #0] 80bcb30: f44f 6200 mov.w r2, #2048 ; 0x800 80bcb34: 621a str r2, [r3, #32] huart->ErrorCode |= HAL_UART_ERROR_RTO; 80bcb36: 687b ldr r3, [r7, #4] 80bcb38: f8d3 3080 ldr.w r3, [r3, #128] ; 0x80 80bcb3c: f043 0220 orr.w r2, r3, #32 80bcb40: 687b ldr r3, [r7, #4] 80bcb42: f8c3 2080 str.w r2, [r3, #128] ; 0x80 } /* Call UART Error Call back function if need be ----------------------------*/ if (huart->ErrorCode != HAL_UART_ERROR_NONE) 80bcb46: 687b ldr r3, [r7, #4] 80bcb48: f8d3 3080 ldr.w r3, [r3, #128] ; 0x80 80bcb4c: 2b00 cmp r3, #0 80bcb4e: f000 820b beq.w 80bcf68 { /* UART in mode Receiver --------------------------------------------------*/ if (((isrflags & USART_ISR_RXNE) != 0U) 80bcb52: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80bcb56: f003 0320 and.w r3, r3, #32 80bcb5a: 2b00 cmp r3, #0 80bcb5c: d00d beq.n 80bcb7a && ((cr1its & USART_CR1_RXNEIE) != 0U)) 80bcb5e: f8d7 30e0 ldr.w r3, [r7, #224] ; 0xe0 80bcb62: f003 0320 and.w r3, r3, #32 80bcb66: 2b00 cmp r3, #0 80bcb68: d007 beq.n 80bcb7a { if (huart->RxISR != NULL) 80bcb6a: 687b ldr r3, [r7, #4] 80bcb6c: 6e5b ldr r3, [r3, #100] ; 0x64 80bcb6e: 2b00 cmp r3, #0 80bcb70: d003 beq.n 80bcb7a { huart->RxISR(huart); 80bcb72: 687b ldr r3, [r7, #4] 80bcb74: 6e5b ldr r3, [r3, #100] ; 0x64 80bcb76: 6878 ldr r0, [r7, #4] 80bcb78: 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; 80bcb7a: 687b ldr r3, [r7, #4] 80bcb7c: f8d3 3080 ldr.w r3, [r3, #128] ; 0x80 80bcb80: f8c7 30d4 str.w r3, [r7, #212] ; 0xd4 if ((HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) || 80bcb84: 687b ldr r3, [r7, #4] 80bcb86: 681b ldr r3, [r3, #0] 80bcb88: 689b ldr r3, [r3, #8] 80bcb8a: f003 0340 and.w r3, r3, #64 ; 0x40 80bcb8e: 2b40 cmp r3, #64 ; 0x40 80bcb90: d005 beq.n 80bcb9e ((errorcode & (HAL_UART_ERROR_RTO | HAL_UART_ERROR_ORE)) != 0U)) 80bcb92: f8d7 30d4 ldr.w r3, [r7, #212] ; 0xd4 80bcb96: f003 0328 and.w r3, r3, #40 ; 0x28 if ((HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) || 80bcb9a: 2b00 cmp r3, #0 80bcb9c: d04f beq.n 80bcc3e { /* 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); 80bcb9e: 6878 ldr r0, [r7, #4] 80bcba0: f000 fa0c bl 80bcfbc /* Abort the UART DMA Rx channel if enabled */ if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) 80bcba4: 687b ldr r3, [r7, #4] 80bcba6: 681b ldr r3, [r3, #0] 80bcba8: 689b ldr r3, [r3, #8] 80bcbaa: f003 0340 and.w r3, r3, #64 ; 0x40 80bcbae: 2b40 cmp r3, #64 ; 0x40 80bcbb0: d141 bne.n 80bcc36 { /* Disable the UART DMA Rx request if enabled */ ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR); 80bcbb2: 687b ldr r3, [r7, #4] 80bcbb4: 681b ldr r3, [r3, #0] 80bcbb6: 3308 adds r3, #8 80bcbb8: f8c7 309c str.w r3, [r7, #156] ; 0x9c __ASM volatile ("ldrex %0, %1" : "=r" (result) : "Q" (*addr) ); 80bcbbc: f8d7 309c ldr.w r3, [r7, #156] ; 0x9c 80bcbc0: e853 3f00 ldrex r3, [r3] 80bcbc4: f8c7 3098 str.w r3, [r7, #152] ; 0x98 return(result); 80bcbc8: f8d7 3098 ldr.w r3, [r7, #152] ; 0x98 80bcbcc: f023 0340 bic.w r3, r3, #64 ; 0x40 80bcbd0: f8c7 30d0 str.w r3, [r7, #208] ; 0xd0 80bcbd4: 687b ldr r3, [r7, #4] 80bcbd6: 681b ldr r3, [r3, #0] 80bcbd8: 3308 adds r3, #8 80bcbda: f8d7 20d0 ldr.w r2, [r7, #208] ; 0xd0 80bcbde: f8c7 20a8 str.w r2, [r7, #168] ; 0xa8 80bcbe2: f8c7 30a4 str.w r3, [r7, #164] ; 0xa4 __ASM volatile ("strex %0, %2, %1" : "=&r" (result), "=Q" (*addr) : "r" (value) ); 80bcbe6: f8d7 10a4 ldr.w r1, [r7, #164] ; 0xa4 80bcbea: f8d7 20a8 ldr.w r2, [r7, #168] ; 0xa8 80bcbee: e841 2300 strex r3, r2, [r1] 80bcbf2: f8c7 30a0 str.w r3, [r7, #160] ; 0xa0 return(result); 80bcbf6: f8d7 30a0 ldr.w r3, [r7, #160] ; 0xa0 80bcbfa: 2b00 cmp r3, #0 80bcbfc: d1d9 bne.n 80bcbb2 /* Abort the UART DMA Rx channel */ if (huart->hdmarx != NULL) 80bcbfe: 687b ldr r3, [r7, #4] 80bcc00: 6f1b ldr r3, [r3, #112] ; 0x70 80bcc02: 2b00 cmp r3, #0 80bcc04: d013 beq.n 80bcc2e { /* Set the UART DMA Abort callback : will lead to call HAL_UART_ErrorCallback() at end of DMA abort procedure */ huart->hdmarx->XferAbortCallback = UART_DMAAbortOnError; 80bcc06: 687b ldr r3, [r7, #4] 80bcc08: 6f1b ldr r3, [r3, #112] ; 0x70 80bcc0a: 4a13 ldr r2, [pc, #76] ; (80bcc58 ) 80bcc0c: 651a str r2, [r3, #80] ; 0x50 /* Abort DMA RX */ if (HAL_DMA_Abort_IT(huart->hdmarx) != HAL_OK) 80bcc0e: 687b ldr r3, [r7, #4] 80bcc10: 6f1b ldr r3, [r3, #112] ; 0x70 80bcc12: 4618 mov r0, r3 80bcc14: f7f7 fd04 bl 80b4620 80bcc18: 4603 mov r3, r0 80bcc1a: 2b00 cmp r3, #0 80bcc1c: d017 beq.n 80bcc4e { /* Call Directly huart->hdmarx->XferAbortCallback function in case of error */ huart->hdmarx->XferAbortCallback(huart->hdmarx); 80bcc1e: 687b ldr r3, [r7, #4] 80bcc20: 6f1b ldr r3, [r3, #112] ; 0x70 80bcc22: 6d1b ldr r3, [r3, #80] ; 0x50 80bcc24: 687a ldr r2, [r7, #4] 80bcc26: 6f12 ldr r2, [r2, #112] ; 0x70 80bcc28: 4610 mov r0, r2 80bcc2a: 4798 blx r3 if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) 80bcc2c: e00f b.n 80bcc4e #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) /*Call registered error callback*/ huart->ErrorCallback(huart); #else /*Call legacy weak error callback*/ HAL_UART_ErrorCallback(huart); 80bcc2e: 6878 ldr r0, [r7, #4] 80bcc30: f772 ff0c bl 802fa4c if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) 80bcc34: e00b b.n 80bcc4e #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) /*Call registered error callback*/ huart->ErrorCallback(huart); #else /*Call legacy weak error callback*/ HAL_UART_ErrorCallback(huart); 80bcc36: 6878 ldr r0, [r7, #4] 80bcc38: f772 ff08 bl 802fa4c if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) 80bcc3c: e007 b.n 80bcc4e #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) /*Call registered error callback*/ huart->ErrorCallback(huart); #else /*Call legacy weak error callback*/ HAL_UART_ErrorCallback(huart); 80bcc3e: 6878 ldr r0, [r7, #4] 80bcc40: f772 ff04 bl 802fa4c #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ huart->ErrorCode = HAL_UART_ERROR_NONE; 80bcc44: 687b ldr r3, [r7, #4] 80bcc46: 2200 movs r2, #0 80bcc48: f8c3 2080 str.w r2, [r3, #128] ; 0x80 } } return; 80bcc4c: e18c b.n 80bcf68 if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) 80bcc4e: bf00 nop return; 80bcc50: e18a b.n 80bcf68 80bcc52: bf00 nop 80bcc54: 04000120 .word 0x04000120 80bcc58: 080bd083 .word 0x080bd083 } /* End if some error occurs */ /* Check current reception Mode : If Reception till IDLE event has been selected : */ if ((huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE) 80bcc5c: 687b ldr r3, [r7, #4] 80bcc5e: 6e1b ldr r3, [r3, #96] ; 0x60 80bcc60: 2b01 cmp r3, #1 80bcc62: f040 8144 bne.w 80bceee && ((isrflags & USART_ISR_IDLE) != 0U) 80bcc66: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80bcc6a: f003 0310 and.w r3, r3, #16 80bcc6e: 2b00 cmp r3, #0 80bcc70: f000 813d beq.w 80bceee && ((cr1its & USART_ISR_IDLE) != 0U)) 80bcc74: f8d7 30e0 ldr.w r3, [r7, #224] ; 0xe0 80bcc78: f003 0310 and.w r3, r3, #16 80bcc7c: 2b00 cmp r3, #0 80bcc7e: f000 8136 beq.w 80bceee { __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_IDLEF); 80bcc82: 687b ldr r3, [r7, #4] 80bcc84: 681b ldr r3, [r3, #0] 80bcc86: 2210 movs r2, #16 80bcc88: 621a str r2, [r3, #32] /* Check if DMA mode is enabled in UART */ if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) 80bcc8a: 687b ldr r3, [r7, #4] 80bcc8c: 681b ldr r3, [r3, #0] 80bcc8e: 689b ldr r3, [r3, #8] 80bcc90: f003 0340 and.w r3, r3, #64 ; 0x40 80bcc94: 2b40 cmp r3, #64 ; 0x40 80bcc96: f040 80b2 bne.w 80bcdfe { /* 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); 80bcc9a: 687b ldr r3, [r7, #4] 80bcc9c: 6f1b ldr r3, [r3, #112] ; 0x70 80bcc9e: 681b ldr r3, [r3, #0] 80bcca0: 685b ldr r3, [r3, #4] 80bcca2: f8a7 30ce strh.w r3, [r7, #206] ; 0xce if ((nb_remaining_rx_data > 0U) 80bcca6: f8b7 30ce ldrh.w r3, [r7, #206] ; 0xce 80bccaa: 2b00 cmp r3, #0 80bccac: f000 815e beq.w 80bcf6c && (nb_remaining_rx_data < huart->RxXferSize)) 80bccb0: 687b ldr r3, [r7, #4] 80bccb2: f8b3 3058 ldrh.w r3, [r3, #88] ; 0x58 80bccb6: f8b7 20ce ldrh.w r2, [r7, #206] ; 0xce 80bccba: 429a cmp r2, r3 80bccbc: f080 8156 bcs.w 80bcf6c { /* Reception is not complete */ huart->RxXferCount = nb_remaining_rx_data; 80bccc0: 687b ldr r3, [r7, #4] 80bccc2: f8b7 20ce ldrh.w r2, [r7, #206] ; 0xce 80bccc6: 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) 80bccca: 687b ldr r3, [r7, #4] 80bcccc: 6f1b ldr r3, [r3, #112] ; 0x70 80bccce: 69db ldr r3, [r3, #28] 80bccd0: f5b3 7f80 cmp.w r3, #256 ; 0x100 80bccd4: f000 8085 beq.w 80bcde2 { /* Disable PE and ERR (Frame error, noise error, overrun error) interrupts */ ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_PEIE); 80bccd8: 687b ldr r3, [r7, #4] 80bccda: 681b ldr r3, [r3, #0] 80bccdc: f8c7 3088 str.w r3, [r7, #136] ; 0x88 __ASM volatile ("ldrex %0, %1" : "=r" (result) : "Q" (*addr) ); 80bcce0: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 80bcce4: e853 3f00 ldrex r3, [r3] 80bcce8: f8c7 3084 str.w r3, [r7, #132] ; 0x84 return(result); 80bccec: f8d7 3084 ldr.w r3, [r7, #132] ; 0x84 80bccf0: f423 7380 bic.w r3, r3, #256 ; 0x100 80bccf4: f8c7 30c8 str.w r3, [r7, #200] ; 0xc8 80bccf8: 687b ldr r3, [r7, #4] 80bccfa: 681b ldr r3, [r3, #0] 80bccfc: 461a mov r2, r3 80bccfe: f8d7 30c8 ldr.w r3, [r7, #200] ; 0xc8 80bcd02: f8c7 3094 str.w r3, [r7, #148] ; 0x94 80bcd06: f8c7 2090 str.w r2, [r7, #144] ; 0x90 __ASM volatile ("strex %0, %2, %1" : "=&r" (result), "=Q" (*addr) : "r" (value) ); 80bcd0a: f8d7 1090 ldr.w r1, [r7, #144] ; 0x90 80bcd0e: f8d7 2094 ldr.w r2, [r7, #148] ; 0x94 80bcd12: e841 2300 strex r3, r2, [r1] 80bcd16: f8c7 308c str.w r3, [r7, #140] ; 0x8c return(result); 80bcd1a: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80bcd1e: 2b00 cmp r3, #0 80bcd20: d1da bne.n 80bccd8 ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 80bcd22: 687b ldr r3, [r7, #4] 80bcd24: 681b ldr r3, [r3, #0] 80bcd26: 3308 adds r3, #8 80bcd28: 677b str r3, [r7, #116] ; 0x74 __ASM volatile ("ldrex %0, %1" : "=r" (result) : "Q" (*addr) ); 80bcd2a: 6f7b ldr r3, [r7, #116] ; 0x74 80bcd2c: e853 3f00 ldrex r3, [r3] 80bcd30: 673b str r3, [r7, #112] ; 0x70 return(result); 80bcd32: 6f3b ldr r3, [r7, #112] ; 0x70 80bcd34: f023 0301 bic.w r3, r3, #1 80bcd38: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 80bcd3c: 687b ldr r3, [r7, #4] 80bcd3e: 681b ldr r3, [r3, #0] 80bcd40: 3308 adds r3, #8 80bcd42: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80bcd46: f8c7 2080 str.w r2, [r7, #128] ; 0x80 80bcd4a: 67fb str r3, [r7, #124] ; 0x7c __ASM volatile ("strex %0, %2, %1" : "=&r" (result), "=Q" (*addr) : "r" (value) ); 80bcd4c: 6ff9 ldr r1, [r7, #124] ; 0x7c 80bcd4e: f8d7 2080 ldr.w r2, [r7, #128] ; 0x80 80bcd52: e841 2300 strex r3, r2, [r1] 80bcd56: 67bb str r3, [r7, #120] ; 0x78 return(result); 80bcd58: 6fbb ldr r3, [r7, #120] ; 0x78 80bcd5a: 2b00 cmp r3, #0 80bcd5c: d1e1 bne.n 80bcd22 /* 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); 80bcd5e: 687b ldr r3, [r7, #4] 80bcd60: 681b ldr r3, [r3, #0] 80bcd62: 3308 adds r3, #8 80bcd64: 663b str r3, [r7, #96] ; 0x60 __ASM volatile ("ldrex %0, %1" : "=r" (result) : "Q" (*addr) ); 80bcd66: 6e3b ldr r3, [r7, #96] ; 0x60 80bcd68: e853 3f00 ldrex r3, [r3] 80bcd6c: 65fb str r3, [r7, #92] ; 0x5c return(result); 80bcd6e: 6dfb ldr r3, [r7, #92] ; 0x5c 80bcd70: f023 0340 bic.w r3, r3, #64 ; 0x40 80bcd74: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 80bcd78: 687b ldr r3, [r7, #4] 80bcd7a: 681b ldr r3, [r3, #0] 80bcd7c: 3308 adds r3, #8 80bcd7e: f8d7 20c0 ldr.w r2, [r7, #192] ; 0xc0 80bcd82: 66fa str r2, [r7, #108] ; 0x6c 80bcd84: 66bb str r3, [r7, #104] ; 0x68 __ASM volatile ("strex %0, %2, %1" : "=&r" (result), "=Q" (*addr) : "r" (value) ); 80bcd86: 6eb9 ldr r1, [r7, #104] ; 0x68 80bcd88: 6efa ldr r2, [r7, #108] ; 0x6c 80bcd8a: e841 2300 strex r3, r2, [r1] 80bcd8e: 667b str r3, [r7, #100] ; 0x64 return(result); 80bcd90: 6e7b ldr r3, [r7, #100] ; 0x64 80bcd92: 2b00 cmp r3, #0 80bcd94: d1e3 bne.n 80bcd5e /* At end of Rx process, restore huart->RxState to Ready */ huart->RxState = HAL_UART_STATE_READY; 80bcd96: 687b ldr r3, [r7, #4] 80bcd98: 2220 movs r2, #32 80bcd9a: 67da str r2, [r3, #124] ; 0x7c huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 80bcd9c: 687b ldr r3, [r7, #4] 80bcd9e: 2200 movs r2, #0 80bcda0: 661a str r2, [r3, #96] ; 0x60 ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_IDLEIE); 80bcda2: 687b ldr r3, [r7, #4] 80bcda4: 681b ldr r3, [r3, #0] 80bcda6: 64fb str r3, [r7, #76] ; 0x4c __ASM volatile ("ldrex %0, %1" : "=r" (result) : "Q" (*addr) ); 80bcda8: 6cfb ldr r3, [r7, #76] ; 0x4c 80bcdaa: e853 3f00 ldrex r3, [r3] 80bcdae: 64bb str r3, [r7, #72] ; 0x48 return(result); 80bcdb0: 6cbb ldr r3, [r7, #72] ; 0x48 80bcdb2: f023 0310 bic.w r3, r3, #16 80bcdb6: f8c7 30bc str.w r3, [r7, #188] ; 0xbc 80bcdba: 687b ldr r3, [r7, #4] 80bcdbc: 681b ldr r3, [r3, #0] 80bcdbe: 461a mov r2, r3 80bcdc0: f8d7 30bc ldr.w r3, [r7, #188] ; 0xbc 80bcdc4: 65bb str r3, [r7, #88] ; 0x58 80bcdc6: 657a str r2, [r7, #84] ; 0x54 __ASM volatile ("strex %0, %2, %1" : "=&r" (result), "=Q" (*addr) : "r" (value) ); 80bcdc8: 6d79 ldr r1, [r7, #84] ; 0x54 80bcdca: 6dba ldr r2, [r7, #88] ; 0x58 80bcdcc: e841 2300 strex r3, r2, [r1] 80bcdd0: 653b str r3, [r7, #80] ; 0x50 return(result); 80bcdd2: 6d3b ldr r3, [r7, #80] ; 0x50 80bcdd4: 2b00 cmp r3, #0 80bcdd6: d1e4 bne.n 80bcda2 /* Last bytes received, so no need as the abort is immediate */ (void)HAL_DMA_Abort(huart->hdmarx); 80bcdd8: 687b ldr r3, [r7, #4] 80bcdda: 6f1b ldr r3, [r3, #112] ; 0x70 80bcddc: 4618 mov r0, r3 80bcdde: f7f7 fbaf bl 80b4540 #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)); 80bcde2: 687b ldr r3, [r7, #4] 80bcde4: f8b3 2058 ldrh.w r2, [r3, #88] ; 0x58 80bcde8: 687b ldr r3, [r7, #4] 80bcdea: f8b3 305a ldrh.w r3, [r3, #90] ; 0x5a 80bcdee: b29b uxth r3, r3 80bcdf0: 1ad3 subs r3, r2, r3 80bcdf2: b29b uxth r3, r3 80bcdf4: 4619 mov r1, r3 80bcdf6: 6878 ldr r0, [r7, #4] 80bcdf8: f000 f8ca bl 80bcf90 #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ } return; 80bcdfc: e0b6 b.n 80bcf6c 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; 80bcdfe: 687b ldr r3, [r7, #4] 80bce00: f8b3 2058 ldrh.w r2, [r3, #88] ; 0x58 80bce04: 687b ldr r3, [r7, #4] 80bce06: f8b3 305a ldrh.w r3, [r3, #90] ; 0x5a 80bce0a: b29b uxth r3, r3 80bce0c: 1ad3 subs r3, r2, r3 80bce0e: f8a7 30ba strh.w r3, [r7, #186] ; 0xba if ((huart->RxXferCount > 0U) 80bce12: 687b ldr r3, [r7, #4] 80bce14: f8b3 305a ldrh.w r3, [r3, #90] ; 0x5a 80bce18: b29b uxth r3, r3 80bce1a: 2b00 cmp r3, #0 80bce1c: f000 80a8 beq.w 80bcf70 && (nb_rx_data > 0U)) 80bce20: f8b7 30ba ldrh.w r3, [r7, #186] ; 0xba 80bce24: 2b00 cmp r3, #0 80bce26: f000 80a3 beq.w 80bcf70 { /* Disable the UART Parity Error Interrupt and RXNE interrupts */ ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE)); 80bce2a: 687b ldr r3, [r7, #4] 80bce2c: 681b ldr r3, [r3, #0] 80bce2e: 63bb str r3, [r7, #56] ; 0x38 __ASM volatile ("ldrex %0, %1" : "=r" (result) : "Q" (*addr) ); 80bce30: 6bbb ldr r3, [r7, #56] ; 0x38 80bce32: e853 3f00 ldrex r3, [r3] 80bce36: 637b str r3, [r7, #52] ; 0x34 return(result); 80bce38: 6b7b ldr r3, [r7, #52] ; 0x34 80bce3a: f423 7390 bic.w r3, r3, #288 ; 0x120 80bce3e: f8c7 30b4 str.w r3, [r7, #180] ; 0xb4 80bce42: 687b ldr r3, [r7, #4] 80bce44: 681b ldr r3, [r3, #0] 80bce46: 461a mov r2, r3 80bce48: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 80bce4c: 647b str r3, [r7, #68] ; 0x44 80bce4e: 643a str r2, [r7, #64] ; 0x40 __ASM volatile ("strex %0, %2, %1" : "=&r" (result), "=Q" (*addr) : "r" (value) ); 80bce50: 6c39 ldr r1, [r7, #64] ; 0x40 80bce52: 6c7a ldr r2, [r7, #68] ; 0x44 80bce54: e841 2300 strex r3, r2, [r1] 80bce58: 63fb str r3, [r7, #60] ; 0x3c return(result); 80bce5a: 6bfb ldr r3, [r7, #60] ; 0x3c 80bce5c: 2b00 cmp r3, #0 80bce5e: d1e4 bne.n 80bce2a /* Disable the UART Error Interrupt: (Frame error, noise error, overrun error) */ ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 80bce60: 687b ldr r3, [r7, #4] 80bce62: 681b ldr r3, [r3, #0] 80bce64: 3308 adds r3, #8 80bce66: 627b str r3, [r7, #36] ; 0x24 __ASM volatile ("ldrex %0, %1" : "=r" (result) : "Q" (*addr) ); 80bce68: 6a7b ldr r3, [r7, #36] ; 0x24 80bce6a: e853 3f00 ldrex r3, [r3] 80bce6e: 623b str r3, [r7, #32] return(result); 80bce70: 6a3b ldr r3, [r7, #32] 80bce72: f023 0301 bic.w r3, r3, #1 80bce76: f8c7 30b0 str.w r3, [r7, #176] ; 0xb0 80bce7a: 687b ldr r3, [r7, #4] 80bce7c: 681b ldr r3, [r3, #0] 80bce7e: 3308 adds r3, #8 80bce80: f8d7 20b0 ldr.w r2, [r7, #176] ; 0xb0 80bce84: 633a str r2, [r7, #48] ; 0x30 80bce86: 62fb str r3, [r7, #44] ; 0x2c __ASM volatile ("strex %0, %2, %1" : "=&r" (result), "=Q" (*addr) : "r" (value) ); 80bce88: 6af9 ldr r1, [r7, #44] ; 0x2c 80bce8a: 6b3a ldr r2, [r7, #48] ; 0x30 80bce8c: e841 2300 strex r3, r2, [r1] 80bce90: 62bb str r3, [r7, #40] ; 0x28 return(result); 80bce92: 6abb ldr r3, [r7, #40] ; 0x28 80bce94: 2b00 cmp r3, #0 80bce96: d1e3 bne.n 80bce60 /* Rx process is completed, restore huart->RxState to Ready */ huart->RxState = HAL_UART_STATE_READY; 80bce98: 687b ldr r3, [r7, #4] 80bce9a: 2220 movs r2, #32 80bce9c: 67da str r2, [r3, #124] ; 0x7c huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 80bce9e: 687b ldr r3, [r7, #4] 80bcea0: 2200 movs r2, #0 80bcea2: 661a str r2, [r3, #96] ; 0x60 /* Clear RxISR function pointer */ huart->RxISR = NULL; 80bcea4: 687b ldr r3, [r7, #4] 80bcea6: 2200 movs r2, #0 80bcea8: 665a str r2, [r3, #100] ; 0x64 ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_IDLEIE); 80bceaa: 687b ldr r3, [r7, #4] 80bceac: 681b ldr r3, [r3, #0] 80bceae: 613b str r3, [r7, #16] __ASM volatile ("ldrex %0, %1" : "=r" (result) : "Q" (*addr) ); 80bceb0: 693b ldr r3, [r7, #16] 80bceb2: e853 3f00 ldrex r3, [r3] 80bceb6: 60fb str r3, [r7, #12] return(result); 80bceb8: 68fb ldr r3, [r7, #12] 80bceba: f023 0310 bic.w r3, r3, #16 80bcebe: f8c7 30ac str.w r3, [r7, #172] ; 0xac 80bcec2: 687b ldr r3, [r7, #4] 80bcec4: 681b ldr r3, [r3, #0] 80bcec6: 461a mov r2, r3 80bcec8: f8d7 30ac ldr.w r3, [r7, #172] ; 0xac 80bcecc: 61fb str r3, [r7, #28] 80bcece: 61ba str r2, [r7, #24] __ASM volatile ("strex %0, %2, %1" : "=&r" (result), "=Q" (*addr) : "r" (value) ); 80bced0: 69b9 ldr r1, [r7, #24] 80bced2: 69fa ldr r2, [r7, #28] 80bced4: e841 2300 strex r3, r2, [r1] 80bced8: 617b str r3, [r7, #20] return(result); 80bceda: 697b ldr r3, [r7, #20] 80bcedc: 2b00 cmp r3, #0 80bcede: d1e4 bne.n 80bceaa #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); 80bcee0: f8b7 30ba ldrh.w r3, [r7, #186] ; 0xba 80bcee4: 4619 mov r1, r3 80bcee6: 6878 ldr r0, [r7, #4] 80bcee8: f000 f852 bl 80bcf90 #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ } return; 80bceec: e040 b.n 80bcf70 } #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)) 80bceee: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80bcef2: f403 1380 and.w r3, r3, #1048576 ; 0x100000 80bcef6: 2b00 cmp r3, #0 80bcef8: d00e beq.n 80bcf18 80bcefa: f8d7 30dc ldr.w r3, [r7, #220] ; 0xdc 80bcefe: f403 0380 and.w r3, r3, #4194304 ; 0x400000 80bcf02: 2b00 cmp r3, #0 80bcf04: d008 beq.n 80bcf18 { __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_WUF); 80bcf06: 687b ldr r3, [r7, #4] 80bcf08: 681b ldr r3, [r3, #0] 80bcf0a: f44f 1280 mov.w r2, #1048576 ; 0x100000 80bcf0e: 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); 80bcf10: 6878 ldr r0, [r7, #4] 80bcf12: f000 f849 bl 80bcfa8 #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ return; 80bcf16: e02e b.n 80bcf76 } #endif /* USART_CR3_WUFIE */ #endif /* USART_CR1_UESM */ /* UART in mode Transmitter ------------------------------------------------*/ if (((isrflags & USART_ISR_TXE) != 0U) 80bcf18: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80bcf1c: f003 0380 and.w r3, r3, #128 ; 0x80 80bcf20: 2b00 cmp r3, #0 80bcf22: d00e beq.n 80bcf42 && ((cr1its & USART_CR1_TXEIE) != 0U)) 80bcf24: f8d7 30e0 ldr.w r3, [r7, #224] ; 0xe0 80bcf28: f003 0380 and.w r3, r3, #128 ; 0x80 80bcf2c: 2b00 cmp r3, #0 80bcf2e: d008 beq.n 80bcf42 { if (huart->TxISR != NULL) 80bcf30: 687b ldr r3, [r7, #4] 80bcf32: 6e9b ldr r3, [r3, #104] ; 0x68 80bcf34: 2b00 cmp r3, #0 80bcf36: d01d beq.n 80bcf74 { huart->TxISR(huart); 80bcf38: 687b ldr r3, [r7, #4] 80bcf3a: 6e9b ldr r3, [r3, #104] ; 0x68 80bcf3c: 6878 ldr r0, [r7, #4] 80bcf3e: 4798 blx r3 } return; 80bcf40: e018 b.n 80bcf74 } /* UART in mode Transmitter (transmission end) -----------------------------*/ if (((isrflags & USART_ISR_TC) != 0U) && ((cr1its & USART_CR1_TCIE) != 0U)) 80bcf42: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80bcf46: f003 0340 and.w r3, r3, #64 ; 0x40 80bcf4a: 2b00 cmp r3, #0 80bcf4c: d013 beq.n 80bcf76 80bcf4e: f8d7 30e0 ldr.w r3, [r7, #224] ; 0xe0 80bcf52: f003 0340 and.w r3, r3, #64 ; 0x40 80bcf56: 2b00 cmp r3, #0 80bcf58: d00d beq.n 80bcf76 { UART_EndTransmit_IT(huart); 80bcf5a: 6878 ldr r0, [r7, #4] 80bcf5c: f000 f919 bl 80bd192 return; 80bcf60: bf00 nop 80bcf62: e008 b.n 80bcf76 return; 80bcf64: bf00 nop 80bcf66: e006 b.n 80bcf76 return; 80bcf68: bf00 nop 80bcf6a: e004 b.n 80bcf76 return; 80bcf6c: bf00 nop 80bcf6e: e002 b.n 80bcf76 return; 80bcf70: bf00 nop 80bcf72: e000 b.n 80bcf76 return; 80bcf74: bf00 nop } } 80bcf76: 37e8 adds r7, #232 ; 0xe8 80bcf78: 46bd mov sp, r7 80bcf7a: bd80 pop {r7, pc} 080bcf7c : * @brief UART Abort Complete callback. * @param huart UART handle. * @retval None */ __weak void HAL_UART_AbortCpltCallback(UART_HandleTypeDef *huart) { 80bcf7c: b480 push {r7} 80bcf7e: b083 sub sp, #12 80bcf80: af00 add r7, sp, #0 80bcf82: 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. */ } 80bcf84: bf00 nop 80bcf86: 370c adds r7, #12 80bcf88: 46bd mov sp, r7 80bcf8a: f85d 7b04 ldr.w r7, [sp], #4 80bcf8e: 4770 bx lr 080bcf90 : * @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) { 80bcf90: b480 push {r7} 80bcf92: b083 sub sp, #12 80bcf94: af00 add r7, sp, #0 80bcf96: 6078 str r0, [r7, #4] 80bcf98: 460b mov r3, r1 80bcf9a: 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. */ } 80bcf9c: bf00 nop 80bcf9e: 370c adds r7, #12 80bcfa0: 46bd mov sp, r7 80bcfa2: f85d 7b04 ldr.w r7, [sp], #4 80bcfa6: 4770 bx lr 080bcfa8 : * @brief UART wakeup from Stop mode callback. * @param huart UART handle. * @retval None */ __weak void HAL_UARTEx_WakeupCallback(UART_HandleTypeDef *huart) { 80bcfa8: b480 push {r7} 80bcfaa: b083 sub sp, #12 80bcfac: af00 add r7, sp, #0 80bcfae: 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. */ } 80bcfb0: bf00 nop 80bcfb2: 370c adds r7, #12 80bcfb4: 46bd mov sp, r7 80bcfb6: f85d 7b04 ldr.w r7, [sp], #4 80bcfba: 4770 bx lr 080bcfbc : * @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) { 80bcfbc: b480 push {r7} 80bcfbe: b095 sub sp, #84 ; 0x54 80bcfc0: af00 add r7, sp, #0 80bcfc2: 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)); 80bcfc4: 687b ldr r3, [r7, #4] 80bcfc6: 681b ldr r3, [r3, #0] 80bcfc8: 637b str r3, [r7, #52] ; 0x34 __ASM volatile ("ldrex %0, %1" : "=r" (result) : "Q" (*addr) ); 80bcfca: 6b7b ldr r3, [r7, #52] ; 0x34 80bcfcc: e853 3f00 ldrex r3, [r3] 80bcfd0: 633b str r3, [r7, #48] ; 0x30 return(result); 80bcfd2: 6b3b ldr r3, [r7, #48] ; 0x30 80bcfd4: f423 7390 bic.w r3, r3, #288 ; 0x120 80bcfd8: 64fb str r3, [r7, #76] ; 0x4c 80bcfda: 687b ldr r3, [r7, #4] 80bcfdc: 681b ldr r3, [r3, #0] 80bcfde: 461a mov r2, r3 80bcfe0: 6cfb ldr r3, [r7, #76] ; 0x4c 80bcfe2: 643b str r3, [r7, #64] ; 0x40 80bcfe4: 63fa str r2, [r7, #60] ; 0x3c __ASM volatile ("strex %0, %2, %1" : "=&r" (result), "=Q" (*addr) : "r" (value) ); 80bcfe6: 6bf9 ldr r1, [r7, #60] ; 0x3c 80bcfe8: 6c3a ldr r2, [r7, #64] ; 0x40 80bcfea: e841 2300 strex r3, r2, [r1] 80bcfee: 63bb str r3, [r7, #56] ; 0x38 return(result); 80bcff0: 6bbb ldr r3, [r7, #56] ; 0x38 80bcff2: 2b00 cmp r3, #0 80bcff4: d1e6 bne.n 80bcfc4 ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 80bcff6: 687b ldr r3, [r7, #4] 80bcff8: 681b ldr r3, [r3, #0] 80bcffa: 3308 adds r3, #8 80bcffc: 623b str r3, [r7, #32] __ASM volatile ("ldrex %0, %1" : "=r" (result) : "Q" (*addr) ); 80bcffe: 6a3b ldr r3, [r7, #32] 80bd000: e853 3f00 ldrex r3, [r3] 80bd004: 61fb str r3, [r7, #28] return(result); 80bd006: 69fb ldr r3, [r7, #28] 80bd008: f023 0301 bic.w r3, r3, #1 80bd00c: 64bb str r3, [r7, #72] ; 0x48 80bd00e: 687b ldr r3, [r7, #4] 80bd010: 681b ldr r3, [r3, #0] 80bd012: 3308 adds r3, #8 80bd014: 6cba ldr r2, [r7, #72] ; 0x48 80bd016: 62fa str r2, [r7, #44] ; 0x2c 80bd018: 62bb str r3, [r7, #40] ; 0x28 __ASM volatile ("strex %0, %2, %1" : "=&r" (result), "=Q" (*addr) : "r" (value) ); 80bd01a: 6ab9 ldr r1, [r7, #40] ; 0x28 80bd01c: 6afa ldr r2, [r7, #44] ; 0x2c 80bd01e: e841 2300 strex r3, r2, [r1] 80bd022: 627b str r3, [r7, #36] ; 0x24 return(result); 80bd024: 6a7b ldr r3, [r7, #36] ; 0x24 80bd026: 2b00 cmp r3, #0 80bd028: d1e5 bne.n 80bcff6 /* In case of reception waiting for IDLE event, disable also the IDLE IE interrupt source */ if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE) 80bd02a: 687b ldr r3, [r7, #4] 80bd02c: 6e1b ldr r3, [r3, #96] ; 0x60 80bd02e: 2b01 cmp r3, #1 80bd030: d118 bne.n 80bd064 { ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_IDLEIE); 80bd032: 687b ldr r3, [r7, #4] 80bd034: 681b ldr r3, [r3, #0] 80bd036: 60fb str r3, [r7, #12] __ASM volatile ("ldrex %0, %1" : "=r" (result) : "Q" (*addr) ); 80bd038: 68fb ldr r3, [r7, #12] 80bd03a: e853 3f00 ldrex r3, [r3] 80bd03e: 60bb str r3, [r7, #8] return(result); 80bd040: 68bb ldr r3, [r7, #8] 80bd042: f023 0310 bic.w r3, r3, #16 80bd046: 647b str r3, [r7, #68] ; 0x44 80bd048: 687b ldr r3, [r7, #4] 80bd04a: 681b ldr r3, [r3, #0] 80bd04c: 461a mov r2, r3 80bd04e: 6c7b ldr r3, [r7, #68] ; 0x44 80bd050: 61bb str r3, [r7, #24] 80bd052: 617a str r2, [r7, #20] __ASM volatile ("strex %0, %2, %1" : "=&r" (result), "=Q" (*addr) : "r" (value) ); 80bd054: 6979 ldr r1, [r7, #20] 80bd056: 69ba ldr r2, [r7, #24] 80bd058: e841 2300 strex r3, r2, [r1] 80bd05c: 613b str r3, [r7, #16] return(result); 80bd05e: 693b ldr r3, [r7, #16] 80bd060: 2b00 cmp r3, #0 80bd062: d1e6 bne.n 80bd032 } /* At end of Rx process, restore huart->RxState to Ready */ huart->RxState = HAL_UART_STATE_READY; 80bd064: 687b ldr r3, [r7, #4] 80bd066: 2220 movs r2, #32 80bd068: 67da str r2, [r3, #124] ; 0x7c huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 80bd06a: 687b ldr r3, [r7, #4] 80bd06c: 2200 movs r2, #0 80bd06e: 661a str r2, [r3, #96] ; 0x60 /* Reset RxIsr function pointer */ huart->RxISR = NULL; 80bd070: 687b ldr r3, [r7, #4] 80bd072: 2200 movs r2, #0 80bd074: 665a str r2, [r3, #100] ; 0x64 } 80bd076: bf00 nop 80bd078: 3754 adds r7, #84 ; 0x54 80bd07a: 46bd mov sp, r7 80bd07c: f85d 7b04 ldr.w r7, [sp], #4 80bd080: 4770 bx lr 080bd082 : * (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) { 80bd082: b580 push {r7, lr} 80bd084: b084 sub sp, #16 80bd086: af00 add r7, sp, #0 80bd088: 6078 str r0, [r7, #4] UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 80bd08a: 687b ldr r3, [r7, #4] 80bd08c: 6b9b ldr r3, [r3, #56] ; 0x38 80bd08e: 60fb str r3, [r7, #12] huart->RxXferCount = 0U; 80bd090: 68fb ldr r3, [r7, #12] 80bd092: 2200 movs r2, #0 80bd094: f8a3 205a strh.w r2, [r3, #90] ; 0x5a huart->TxXferCount = 0U; 80bd098: 68fb ldr r3, [r7, #12] 80bd09a: 2200 movs r2, #0 80bd09c: 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); 80bd0a0: 68f8 ldr r0, [r7, #12] 80bd0a2: f772 fcd3 bl 802fa4c #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ } 80bd0a6: bf00 nop 80bd0a8: 3710 adds r7, #16 80bd0aa: 46bd mov sp, r7 80bd0ac: bd80 pop {r7, pc} 080bd0ae : * Abort still ongoing for Rx DMA Handle. * @param hdma DMA handle. * @retval None */ static void UART_DMATxAbortCallback(DMA_HandleTypeDef *hdma) { 80bd0ae: b580 push {r7, lr} 80bd0b0: b084 sub sp, #16 80bd0b2: af00 add r7, sp, #0 80bd0b4: 6078 str r0, [r7, #4] UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 80bd0b6: 687b ldr r3, [r7, #4] 80bd0b8: 6b9b ldr r3, [r3, #56] ; 0x38 80bd0ba: 60fb str r3, [r7, #12] huart->hdmatx->XferAbortCallback = NULL; 80bd0bc: 68fb ldr r3, [r7, #12] 80bd0be: 6edb ldr r3, [r3, #108] ; 0x6c 80bd0c0: 2200 movs r2, #0 80bd0c2: 651a str r2, [r3, #80] ; 0x50 /* Check if an Abort process is still ongoing */ if (huart->hdmarx != NULL) 80bd0c4: 68fb ldr r3, [r7, #12] 80bd0c6: 6f1b ldr r3, [r3, #112] ; 0x70 80bd0c8: 2b00 cmp r3, #0 80bd0ca: d004 beq.n 80bd0d6 { if (huart->hdmarx->XferAbortCallback != NULL) 80bd0cc: 68fb ldr r3, [r7, #12] 80bd0ce: 6f1b ldr r3, [r3, #112] ; 0x70 80bd0d0: 6d1b ldr r3, [r3, #80] ; 0x50 80bd0d2: 2b00 cmp r3, #0 80bd0d4: d11c bne.n 80bd110 return; } } /* No Abort process still ongoing : All DMA channels are aborted, call user Abort Complete callback */ huart->TxXferCount = 0U; 80bd0d6: 68fb ldr r3, [r7, #12] 80bd0d8: 2200 movs r2, #0 80bd0da: f8a3 2052 strh.w r2, [r3, #82] ; 0x52 huart->RxXferCount = 0U; 80bd0de: 68fb ldr r3, [r7, #12] 80bd0e0: 2200 movs r2, #0 80bd0e2: f8a3 205a strh.w r2, [r3, #90] ; 0x5a /* Reset errorCode */ huart->ErrorCode = HAL_UART_ERROR_NONE; 80bd0e6: 68fb ldr r3, [r7, #12] 80bd0e8: 2200 movs r2, #0 80bd0ea: 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); 80bd0ee: 68fb ldr r3, [r7, #12] 80bd0f0: 681b ldr r3, [r3, #0] 80bd0f2: 220f movs r2, #15 80bd0f4: 621a str r2, [r3, #32] /* Restore huart->gState and huart->RxState to Ready */ huart->gState = HAL_UART_STATE_READY; 80bd0f6: 68fb ldr r3, [r7, #12] 80bd0f8: 2220 movs r2, #32 80bd0fa: 679a str r2, [r3, #120] ; 0x78 huart->RxState = HAL_UART_STATE_READY; 80bd0fc: 68fb ldr r3, [r7, #12] 80bd0fe: 2220 movs r2, #32 80bd100: 67da str r2, [r3, #124] ; 0x7c huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 80bd102: 68fb ldr r3, [r7, #12] 80bd104: 2200 movs r2, #0 80bd106: 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); 80bd108: 68f8 ldr r0, [r7, #12] 80bd10a: f7ff ff37 bl 80bcf7c 80bd10e: e000 b.n 80bd112 return; 80bd110: bf00 nop #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ } 80bd112: 3710 adds r7, #16 80bd114: 46bd mov sp, r7 80bd116: bd80 pop {r7, pc} 080bd118 : * Abort still ongoing for Tx DMA Handle. * @param hdma DMA handle. * @retval None */ static void UART_DMARxAbortCallback(DMA_HandleTypeDef *hdma) { 80bd118: b580 push {r7, lr} 80bd11a: b084 sub sp, #16 80bd11c: af00 add r7, sp, #0 80bd11e: 6078 str r0, [r7, #4] UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 80bd120: 687b ldr r3, [r7, #4] 80bd122: 6b9b ldr r3, [r3, #56] ; 0x38 80bd124: 60fb str r3, [r7, #12] huart->hdmarx->XferAbortCallback = NULL; 80bd126: 68fb ldr r3, [r7, #12] 80bd128: 6f1b ldr r3, [r3, #112] ; 0x70 80bd12a: 2200 movs r2, #0 80bd12c: 651a str r2, [r3, #80] ; 0x50 /* Check if an Abort process is still ongoing */ if (huart->hdmatx != NULL) 80bd12e: 68fb ldr r3, [r7, #12] 80bd130: 6edb ldr r3, [r3, #108] ; 0x6c 80bd132: 2b00 cmp r3, #0 80bd134: d004 beq.n 80bd140 { if (huart->hdmatx->XferAbortCallback != NULL) 80bd136: 68fb ldr r3, [r7, #12] 80bd138: 6edb ldr r3, [r3, #108] ; 0x6c 80bd13a: 6d1b ldr r3, [r3, #80] ; 0x50 80bd13c: 2b00 cmp r3, #0 80bd13e: d124 bne.n 80bd18a return; } } /* No Abort process still ongoing : All DMA channels are aborted, call user Abort Complete callback */ huart->TxXferCount = 0U; 80bd140: 68fb ldr r3, [r7, #12] 80bd142: 2200 movs r2, #0 80bd144: f8a3 2052 strh.w r2, [r3, #82] ; 0x52 huart->RxXferCount = 0U; 80bd148: 68fb ldr r3, [r7, #12] 80bd14a: 2200 movs r2, #0 80bd14c: f8a3 205a strh.w r2, [r3, #90] ; 0x5a /* Reset errorCode */ huart->ErrorCode = HAL_UART_ERROR_NONE; 80bd150: 68fb ldr r3, [r7, #12] 80bd152: 2200 movs r2, #0 80bd154: 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); 80bd158: 68fb ldr r3, [r7, #12] 80bd15a: 681b ldr r3, [r3, #0] 80bd15c: 220f movs r2, #15 80bd15e: 621a str r2, [r3, #32] /* Discard the received data */ __HAL_UART_SEND_REQ(huart, UART_RXDATA_FLUSH_REQUEST); 80bd160: 68fb ldr r3, [r7, #12] 80bd162: 681b ldr r3, [r3, #0] 80bd164: 68fa ldr r2, [r7, #12] 80bd166: 6812 ldr r2, [r2, #0] 80bd168: 6992 ldr r2, [r2, #24] 80bd16a: f042 0208 orr.w r2, r2, #8 80bd16e: 619a str r2, [r3, #24] /* Restore huart->gState and huart->RxState to Ready */ huart->gState = HAL_UART_STATE_READY; 80bd170: 68fb ldr r3, [r7, #12] 80bd172: 2220 movs r2, #32 80bd174: 679a str r2, [r3, #120] ; 0x78 huart->RxState = HAL_UART_STATE_READY; 80bd176: 68fb ldr r3, [r7, #12] 80bd178: 2220 movs r2, #32 80bd17a: 67da str r2, [r3, #124] ; 0x7c huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 80bd17c: 68fb ldr r3, [r7, #12] 80bd17e: 2200 movs r2, #0 80bd180: 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); 80bd182: 68f8 ldr r0, [r7, #12] 80bd184: f7ff fefa bl 80bcf7c 80bd188: e000 b.n 80bd18c return; 80bd18a: bf00 nop #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ } 80bd18c: 3710 adds r7, #16 80bd18e: 46bd mov sp, r7 80bd190: bd80 pop {r7, pc} 080bd192 : * @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) { 80bd192: b580 push {r7, lr} 80bd194: b088 sub sp, #32 80bd196: af00 add r7, sp, #0 80bd198: 6078 str r0, [r7, #4] /* Disable the UART Transmit Complete Interrupt */ ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_TCIE); 80bd19a: 687b ldr r3, [r7, #4] 80bd19c: 681b ldr r3, [r3, #0] 80bd19e: 60fb str r3, [r7, #12] __ASM volatile ("ldrex %0, %1" : "=r" (result) : "Q" (*addr) ); 80bd1a0: 68fb ldr r3, [r7, #12] 80bd1a2: e853 3f00 ldrex r3, [r3] 80bd1a6: 60bb str r3, [r7, #8] return(result); 80bd1a8: 68bb ldr r3, [r7, #8] 80bd1aa: f023 0340 bic.w r3, r3, #64 ; 0x40 80bd1ae: 61fb str r3, [r7, #28] 80bd1b0: 687b ldr r3, [r7, #4] 80bd1b2: 681b ldr r3, [r3, #0] 80bd1b4: 461a mov r2, r3 80bd1b6: 69fb ldr r3, [r7, #28] 80bd1b8: 61bb str r3, [r7, #24] 80bd1ba: 617a str r2, [r7, #20] __ASM volatile ("strex %0, %2, %1" : "=&r" (result), "=Q" (*addr) : "r" (value) ); 80bd1bc: 6979 ldr r1, [r7, #20] 80bd1be: 69ba ldr r2, [r7, #24] 80bd1c0: e841 2300 strex r3, r2, [r1] 80bd1c4: 613b str r3, [r7, #16] return(result); 80bd1c6: 693b ldr r3, [r7, #16] 80bd1c8: 2b00 cmp r3, #0 80bd1ca: d1e6 bne.n 80bd19a /* Tx process is ended, restore huart->gState to Ready */ huart->gState = HAL_UART_STATE_READY; 80bd1cc: 687b ldr r3, [r7, #4] 80bd1ce: 2220 movs r2, #32 80bd1d0: 679a str r2, [r3, #120] ; 0x78 /* Cleat TxISR function pointer */ huart->TxISR = NULL; 80bd1d2: 687b ldr r3, [r7, #4] 80bd1d4: 2200 movs r2, #0 80bd1d6: 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); 80bd1d8: 6878 ldr r0, [r7, #4] 80bd1da: f772 fc27 bl 802fa2c #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ } 80bd1de: bf00 nop 80bd1e0: 3720 adds r7, #32 80bd1e2: 46bd mov sp, r7 80bd1e4: bd80 pop {r7, pc} ... 080bd1e8 : * @param Init Pointer to NORSRAM Initialization structure * @retval HAL status */ HAL_StatusTypeDef FMC_NORSRAM_Init(FMC_NORSRAM_TypeDef *Device, FMC_NORSRAM_InitTypeDef *Init) { 80bd1e8: b480 push {r7} 80bd1ea: b087 sub sp, #28 80bd1ec: af00 add r7, sp, #0 80bd1ee: 6078 str r0, [r7, #4] 80bd1f0: 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); 80bd1f2: 683b ldr r3, [r7, #0] 80bd1f4: 681a ldr r2, [r3, #0] 80bd1f6: 683b ldr r3, [r7, #0] 80bd1f8: 6819 ldr r1, [r3, #0] 80bd1fa: 687b ldr r3, [r7, #4] 80bd1fc: f853 3021 ldr.w r3, [r3, r1, lsl #2] 80bd200: f023 0101 bic.w r1, r3, #1 80bd204: 687b ldr r3, [r7, #4] 80bd206: f843 1022 str.w r1, [r3, r2, lsl #2] /* Set NORSRAM device control parameters */ if (Init->MemoryType == FMC_MEMORY_TYPE_NOR) 80bd20a: 683b ldr r3, [r7, #0] 80bd20c: 689b ldr r3, [r3, #8] 80bd20e: 2b08 cmp r3, #8 80bd210: d102 bne.n 80bd218 { flashaccess = FMC_NORSRAM_FLASH_ACCESS_ENABLE; 80bd212: 2340 movs r3, #64 ; 0x40 80bd214: 617b str r3, [r7, #20] 80bd216: e001 b.n 80bd21c } else { flashaccess = FMC_NORSRAM_FLASH_ACCESS_DISABLE; 80bd218: 2300 movs r3, #0 80bd21a: 617b str r3, [r7, #20] } btcr_reg = (flashaccess | \ Init->DataAddressMux | \ 80bd21c: 683b ldr r3, [r7, #0] 80bd21e: 685a ldr r2, [r3, #4] btcr_reg = (flashaccess | \ 80bd220: 697b ldr r3, [r7, #20] 80bd222: 431a orrs r2, r3 Init->MemoryType | \ 80bd224: 683b ldr r3, [r7, #0] 80bd226: 689b ldr r3, [r3, #8] Init->DataAddressMux | \ 80bd228: 431a orrs r2, r3 Init->MemoryDataWidth | \ 80bd22a: 683b ldr r3, [r7, #0] 80bd22c: 68db ldr r3, [r3, #12] Init->MemoryType | \ 80bd22e: 431a orrs r2, r3 Init->BurstAccessMode | \ 80bd230: 683b ldr r3, [r7, #0] 80bd232: 691b ldr r3, [r3, #16] Init->MemoryDataWidth | \ 80bd234: 431a orrs r2, r3 Init->WaitSignalPolarity | \ 80bd236: 683b ldr r3, [r7, #0] 80bd238: 695b ldr r3, [r3, #20] Init->BurstAccessMode | \ 80bd23a: 431a orrs r2, r3 Init->WaitSignalActive | \ 80bd23c: 683b ldr r3, [r7, #0] 80bd23e: 699b ldr r3, [r3, #24] Init->WaitSignalPolarity | \ 80bd240: 431a orrs r2, r3 Init->WriteOperation | \ 80bd242: 683b ldr r3, [r7, #0] 80bd244: 69db ldr r3, [r3, #28] Init->WaitSignalActive | \ 80bd246: 431a orrs r2, r3 Init->WaitSignal | \ 80bd248: 683b ldr r3, [r7, #0] 80bd24a: 6a1b ldr r3, [r3, #32] Init->WriteOperation | \ 80bd24c: 431a orrs r2, r3 Init->ExtendedMode | \ 80bd24e: 683b ldr r3, [r7, #0] 80bd250: 6a5b ldr r3, [r3, #36] ; 0x24 Init->WaitSignal | \ 80bd252: 431a orrs r2, r3 Init->AsynchronousWait | \ 80bd254: 683b ldr r3, [r7, #0] 80bd256: 6a9b ldr r3, [r3, #40] ; 0x28 Init->ExtendedMode | \ 80bd258: 431a orrs r2, r3 Init->WriteBurst); 80bd25a: 683b ldr r3, [r7, #0] 80bd25c: 6adb ldr r3, [r3, #44] ; 0x2c btcr_reg = (flashaccess | \ 80bd25e: 4313 orrs r3, r2 80bd260: 613b str r3, [r7, #16] btcr_reg |= Init->ContinuousClock; 80bd262: 683b ldr r3, [r7, #0] 80bd264: 6b1b ldr r3, [r3, #48] ; 0x30 80bd266: 693a ldr r2, [r7, #16] 80bd268: 4313 orrs r3, r2 80bd26a: 613b str r3, [r7, #16] btcr_reg |= Init->WriteFifo; 80bd26c: 683b ldr r3, [r7, #0] 80bd26e: 6b5b ldr r3, [r3, #52] ; 0x34 80bd270: 693a ldr r2, [r7, #16] 80bd272: 4313 orrs r3, r2 80bd274: 613b str r3, [r7, #16] btcr_reg |= Init->PageSize; 80bd276: 683b ldr r3, [r7, #0] 80bd278: 6b9b ldr r3, [r3, #56] ; 0x38 80bd27a: 693a ldr r2, [r7, #16] 80bd27c: 4313 orrs r3, r2 80bd27e: 613b str r3, [r7, #16] mask = (FMC_BCR1_MBKEN | 80bd280: 4b20 ldr r3, [pc, #128] ; (80bd304 ) 80bd282: 60fb str r3, [r7, #12] FMC_BCR1_WAITEN | FMC_BCR1_EXTMOD | FMC_BCR1_ASYNCWAIT | FMC_BCR1_CBURSTRW); mask |= FMC_BCR1_CCLKEN; 80bd284: 68fb ldr r3, [r7, #12] 80bd286: f443 1380 orr.w r3, r3, #1048576 ; 0x100000 80bd28a: 60fb str r3, [r7, #12] mask |= FMC_BCR1_WFDIS; 80bd28c: 68fb ldr r3, [r7, #12] 80bd28e: f443 1300 orr.w r3, r3, #2097152 ; 0x200000 80bd292: 60fb str r3, [r7, #12] mask |= FMC_BCR1_CPSIZE; 80bd294: 68fb ldr r3, [r7, #12] 80bd296: f443 23e0 orr.w r3, r3, #458752 ; 0x70000 80bd29a: 60fb str r3, [r7, #12] MODIFY_REG(Device->BTCR[Init->NSBank], mask, btcr_reg); 80bd29c: 683b ldr r3, [r7, #0] 80bd29e: 681a ldr r2, [r3, #0] 80bd2a0: 683b ldr r3, [r7, #0] 80bd2a2: 6819 ldr r1, [r3, #0] 80bd2a4: 687b ldr r3, [r7, #4] 80bd2a6: f853 1021 ldr.w r1, [r3, r1, lsl #2] 80bd2aa: 68fb ldr r3, [r7, #12] 80bd2ac: 43db mvns r3, r3 80bd2ae: 4019 ands r1, r3 80bd2b0: 693b ldr r3, [r7, #16] 80bd2b2: 4319 orrs r1, r3 80bd2b4: 687b ldr r3, [r7, #4] 80bd2b6: 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)) 80bd2ba: 683b ldr r3, [r7, #0] 80bd2bc: 6b1b ldr r3, [r3, #48] ; 0x30 80bd2be: f5b3 1f80 cmp.w r3, #1048576 ; 0x100000 80bd2c2: d10c bne.n 80bd2de 80bd2c4: 683b ldr r3, [r7, #0] 80bd2c6: 681b ldr r3, [r3, #0] 80bd2c8: 2b00 cmp r3, #0 80bd2ca: d008 beq.n 80bd2de { MODIFY_REG(Device->BTCR[FMC_NORSRAM_BANK1], FMC_BCR1_CCLKEN, Init->ContinuousClock); 80bd2cc: 687b ldr r3, [r7, #4] 80bd2ce: 681b ldr r3, [r3, #0] 80bd2d0: f423 1280 bic.w r2, r3, #1048576 ; 0x100000 80bd2d4: 683b ldr r3, [r7, #0] 80bd2d6: 6b1b ldr r3, [r3, #48] ; 0x30 80bd2d8: 431a orrs r2, r3 80bd2da: 687b ldr r3, [r7, #4] 80bd2dc: 601a str r2, [r3, #0] } if (Init->NSBank != FMC_NORSRAM_BANK1) 80bd2de: 683b ldr r3, [r7, #0] 80bd2e0: 681b ldr r3, [r3, #0] 80bd2e2: 2b00 cmp r3, #0 80bd2e4: d006 beq.n 80bd2f4 { /* Configure Write FIFO mode when Write Fifo is enabled for bank2..4 */ SET_BIT(Device->BTCR[FMC_NORSRAM_BANK1], (uint32_t)(Init->WriteFifo)); 80bd2e6: 687b ldr r3, [r7, #4] 80bd2e8: 681a ldr r2, [r3, #0] 80bd2ea: 683b ldr r3, [r7, #0] 80bd2ec: 6b5b ldr r3, [r3, #52] ; 0x34 80bd2ee: 431a orrs r2, r3 80bd2f0: 687b ldr r3, [r7, #4] 80bd2f2: 601a str r2, [r3, #0] } return HAL_OK; 80bd2f4: 2300 movs r3, #0 } 80bd2f6: 4618 mov r0, r3 80bd2f8: 371c adds r7, #28 80bd2fa: 46bd mov sp, r7 80bd2fc: f85d 7b04 ldr.w r7, [sp], #4 80bd300: 4770 bx lr 80bd302: bf00 nop 80bd304: 0008fb7f .word 0x0008fb7f 080bd308 : * @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) { 80bd308: b480 push {r7} 80bd30a: b087 sub sp, #28 80bd30c: af00 add r7, sp, #0 80bd30e: 60f8 str r0, [r7, #12] 80bd310: 60b9 str r1, [r7, #8] 80bd312: 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 | 80bd314: 687b ldr r3, [r7, #4] 80bd316: 1c5a adds r2, r3, #1 80bd318: 687b ldr r3, [r7, #4] 80bd31a: 1c59 adds r1, r3, #1 80bd31c: 68fb ldr r3, [r7, #12] 80bd31e: f853 3021 ldr.w r3, [r3, r1, lsl #2] 80bd322: f003 4140 and.w r1, r3, #3221225472 ; 0xc0000000 80bd326: 68bb ldr r3, [r7, #8] 80bd328: 6818 ldr r0, [r3, #0] 80bd32a: 68bb ldr r3, [r7, #8] 80bd32c: 685b ldr r3, [r3, #4] 80bd32e: 011b lsls r3, r3, #4 80bd330: 4318 orrs r0, r3 80bd332: 68bb ldr r3, [r7, #8] 80bd334: 689b ldr r3, [r3, #8] 80bd336: 021b lsls r3, r3, #8 80bd338: 4318 orrs r0, r3 80bd33a: 68bb ldr r3, [r7, #8] 80bd33c: 68db ldr r3, [r3, #12] 80bd33e: 041b lsls r3, r3, #16 80bd340: 4318 orrs r0, r3 80bd342: 68bb ldr r3, [r7, #8] 80bd344: 691b ldr r3, [r3, #16] 80bd346: 3b01 subs r3, #1 80bd348: 051b lsls r3, r3, #20 80bd34a: 4318 orrs r0, r3 80bd34c: 68bb ldr r3, [r7, #8] 80bd34e: 695b ldr r3, [r3, #20] 80bd350: 3b02 subs r3, #2 80bd352: 061b lsls r3, r3, #24 80bd354: 4318 orrs r0, r3 80bd356: 68bb ldr r3, [r7, #8] 80bd358: 699b ldr r3, [r3, #24] 80bd35a: 4303 orrs r3, r0 80bd35c: 4319 orrs r1, r3 80bd35e: 68fb ldr r3, [r7, #12] 80bd360: 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)) 80bd364: 68fb ldr r3, [r7, #12] 80bd366: 681b ldr r3, [r3, #0] 80bd368: f403 1380 and.w r3, r3, #1048576 ; 0x100000 80bd36c: f5b3 1f80 cmp.w r3, #1048576 ; 0x100000 80bd370: d113 bne.n 80bd39a { tmpr = (uint32_t)(Device->BTCR[FMC_NORSRAM_BANK1 + 1U] & ~((0x0FU) << FMC_BTR1_CLKDIV_Pos)); 80bd372: 68fb ldr r3, [r7, #12] 80bd374: 685b ldr r3, [r3, #4] 80bd376: f423 0370 bic.w r3, r3, #15728640 ; 0xf00000 80bd37a: 617b str r3, [r7, #20] tmpr |= (uint32_t)(((Timing->CLKDivision) - 1U) << FMC_BTR1_CLKDIV_Pos); 80bd37c: 68bb ldr r3, [r7, #8] 80bd37e: 691b ldr r3, [r3, #16] 80bd380: 3b01 subs r3, #1 80bd382: 051b lsls r3, r3, #20 80bd384: 697a ldr r2, [r7, #20] 80bd386: 4313 orrs r3, r2 80bd388: 617b str r3, [r7, #20] MODIFY_REG(Device->BTCR[FMC_NORSRAM_BANK1 + 1U], FMC_BTR1_CLKDIV, tmpr); 80bd38a: 68fb ldr r3, [r7, #12] 80bd38c: 685b ldr r3, [r3, #4] 80bd38e: f423 0270 bic.w r2, r3, #15728640 ; 0xf00000 80bd392: 697b ldr r3, [r7, #20] 80bd394: 431a orrs r2, r3 80bd396: 68fb ldr r3, [r7, #12] 80bd398: 605a str r2, [r3, #4] } return HAL_OK; 80bd39a: 2300 movs r3, #0 } 80bd39c: 4618 mov r0, r3 80bd39e: 371c adds r7, #28 80bd3a0: 46bd mov sp, r7 80bd3a2: f85d 7b04 ldr.w r7, [sp], #4 80bd3a6: 4770 bx lr 080bd3a8 : * @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) { 80bd3a8: b480 push {r7} 80bd3aa: b085 sub sp, #20 80bd3ac: af00 add r7, sp, #0 80bd3ae: 60f8 str r0, [r7, #12] 80bd3b0: 60b9 str r1, [r7, #8] 80bd3b2: 607a str r2, [r7, #4] 80bd3b4: 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) 80bd3b6: 683b ldr r3, [r7, #0] 80bd3b8: f5b3 4f80 cmp.w r3, #16384 ; 0x4000 80bd3bc: d11d bne.n 80bd3fa 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 | 80bd3be: 68fb ldr r3, [r7, #12] 80bd3c0: 687a ldr r2, [r7, #4] 80bd3c2: f853 2022 ldr.w r2, [r3, r2, lsl #2] 80bd3c6: 4b13 ldr r3, [pc, #76] ; (80bd414 ) 80bd3c8: 4013 ands r3, r2 80bd3ca: 68ba ldr r2, [r7, #8] 80bd3cc: 6811 ldr r1, [r2, #0] 80bd3ce: 68ba ldr r2, [r7, #8] 80bd3d0: 6852 ldr r2, [r2, #4] 80bd3d2: 0112 lsls r2, r2, #4 80bd3d4: 4311 orrs r1, r2 80bd3d6: 68ba ldr r2, [r7, #8] 80bd3d8: 6892 ldr r2, [r2, #8] 80bd3da: 0212 lsls r2, r2, #8 80bd3dc: 4311 orrs r1, r2 80bd3de: 68ba ldr r2, [r7, #8] 80bd3e0: 6992 ldr r2, [r2, #24] 80bd3e2: 4311 orrs r1, r2 80bd3e4: 68ba ldr r2, [r7, #8] 80bd3e6: 68d2 ldr r2, [r2, #12] 80bd3e8: 0412 lsls r2, r2, #16 80bd3ea: 430a orrs r2, r1 80bd3ec: ea43 0102 orr.w r1, r3, r2 80bd3f0: 68fb ldr r3, [r7, #12] 80bd3f2: 687a ldr r2, [r7, #4] 80bd3f4: f843 1022 str.w r1, [r3, r2, lsl #2] 80bd3f8: e005 b.n 80bd406 Timing->AccessMode | ((Timing->BusTurnAroundDuration) << FMC_BWTR1_BUSTURN_Pos))); } else { Device->BWTR[Bank] = 0x0FFFFFFFU; 80bd3fa: 68fb ldr r3, [r7, #12] 80bd3fc: 687a ldr r2, [r7, #4] 80bd3fe: f06f 4170 mvn.w r1, #4026531840 ; 0xf0000000 80bd402: f843 1022 str.w r1, [r3, r2, lsl #2] } return HAL_OK; 80bd406: 2300 movs r3, #0 } 80bd408: 4618 mov r0, r3 80bd40a: 3714 adds r7, #20 80bd40c: 46bd mov sp, r7 80bd40e: f85d 7b04 ldr.w r7, [sp], #4 80bd412: 4770 bx lr 80bd414: cff00000 .word 0xcff00000 080bd418 : * @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) { 80bd418: b084 sub sp, #16 80bd41a: b480 push {r7} 80bd41c: b085 sub sp, #20 80bd41e: af00 add r7, sp, #0 80bd420: 6078 str r0, [r7, #4] 80bd422: f107 001c add.w r0, r7, #28 80bd426: e880 000e stmia.w r0, {r1, r2, r3} uint32_t tmpreg = 0; 80bd42a: 2300 movs r3, #0 80bd42c: 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 |\ 80bd42e: 69fa ldr r2, [r7, #28] Init.ClockBypass |\ 80bd430: 6a3b ldr r3, [r7, #32] tmpreg |= (Init.ClockEdge |\ 80bd432: 431a orrs r2, r3 Init.ClockPowerSave |\ 80bd434: 6a7b ldr r3, [r7, #36] ; 0x24 Init.ClockBypass |\ 80bd436: 431a orrs r2, r3 Init.BusWide |\ 80bd438: 6abb ldr r3, [r7, #40] ; 0x28 Init.ClockPowerSave |\ 80bd43a: 431a orrs r2, r3 Init.HardwareFlowControl |\ 80bd43c: 6afb ldr r3, [r7, #44] ; 0x2c Init.BusWide |\ 80bd43e: 431a orrs r2, r3 Init.ClockDiv 80bd440: 6b3b ldr r3, [r7, #48] ; 0x30 Init.HardwareFlowControl |\ 80bd442: 4313 orrs r3, r2 tmpreg |= (Init.ClockEdge |\ 80bd444: 68fa ldr r2, [r7, #12] 80bd446: 4313 orrs r3, r2 80bd448: 60fb str r3, [r7, #12] ); /* Write to SDMMC CLKCR */ MODIFY_REG(SDMMCx->CLKCR, CLKCR_CLEAR_MASK, tmpreg); 80bd44a: 687b ldr r3, [r7, #4] 80bd44c: 685a ldr r2, [r3, #4] 80bd44e: 4b07 ldr r3, [pc, #28] ; (80bd46c ) 80bd450: 4013 ands r3, r2 80bd452: 68fa ldr r2, [r7, #12] 80bd454: 431a orrs r2, r3 80bd456: 687b ldr r3, [r7, #4] 80bd458: 605a str r2, [r3, #4] return HAL_OK; 80bd45a: 2300 movs r3, #0 } 80bd45c: 4618 mov r0, r3 80bd45e: 3714 adds r7, #20 80bd460: 46bd mov sp, r7 80bd462: f85d 7b04 ldr.w r7, [sp], #4 80bd466: b004 add sp, #16 80bd468: 4770 bx lr 80bd46a: bf00 nop 80bd46c: ffff8100 .word 0xffff8100 080bd470 : * @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) { 80bd470: b480 push {r7} 80bd472: b083 sub sp, #12 80bd474: af00 add r7, sp, #0 80bd476: 6078 str r0, [r7, #4] /* Read data from Rx FIFO */ return (SDMMCx->FIFO); 80bd478: 687b ldr r3, [r7, #4] 80bd47a: f8d3 3080 ldr.w r3, [r3, #128] ; 0x80 } 80bd47e: 4618 mov r0, r3 80bd480: 370c adds r7, #12 80bd482: 46bd mov sp, r7 80bd484: f85d 7b04 ldr.w r7, [sp], #4 80bd488: 4770 bx lr 080bd48a : * @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) { 80bd48a: b480 push {r7} 80bd48c: b083 sub sp, #12 80bd48e: af00 add r7, sp, #0 80bd490: 6078 str r0, [r7, #4] 80bd492: 6039 str r1, [r7, #0] /* Write data to FIFO */ SDMMCx->FIFO = *pWriteData; 80bd494: 683b ldr r3, [r7, #0] 80bd496: 681a ldr r2, [r3, #0] 80bd498: 687b ldr r3, [r7, #4] 80bd49a: f8c3 2080 str.w r2, [r3, #128] ; 0x80 return HAL_OK; 80bd49e: 2300 movs r3, #0 } 80bd4a0: 4618 mov r0, r3 80bd4a2: 370c adds r7, #12 80bd4a4: 46bd mov sp, r7 80bd4a6: f85d 7b04 ldr.w r7, [sp], #4 80bd4aa: 4770 bx lr 080bd4ac : * @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) { 80bd4ac: b480 push {r7} 80bd4ae: b083 sub sp, #12 80bd4b0: af00 add r7, sp, #0 80bd4b2: 6078 str r0, [r7, #4] /* Set power state to ON */ SDMMCx->POWER = SDMMC_POWER_PWRCTRL; 80bd4b4: 687b ldr r3, [r7, #4] 80bd4b6: 2203 movs r2, #3 80bd4b8: 601a str r2, [r3, #0] return HAL_OK; 80bd4ba: 2300 movs r3, #0 } 80bd4bc: 4618 mov r0, r3 80bd4be: 370c adds r7, #12 80bd4c0: 46bd mov sp, r7 80bd4c2: f85d 7b04 ldr.w r7, [sp], #4 80bd4c6: 4770 bx lr 080bd4c8 : * @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) { 80bd4c8: b480 push {r7} 80bd4ca: b083 sub sp, #12 80bd4cc: af00 add r7, sp, #0 80bd4ce: 6078 str r0, [r7, #4] /* Set power state to OFF */ SDMMCx->POWER = (uint32_t)0x00000000; 80bd4d0: 687b ldr r3, [r7, #4] 80bd4d2: 2200 movs r2, #0 80bd4d4: 601a str r2, [r3, #0] return HAL_OK; 80bd4d6: 2300 movs r3, #0 } 80bd4d8: 4618 mov r0, r3 80bd4da: 370c adds r7, #12 80bd4dc: 46bd mov sp, r7 80bd4de: f85d 7b04 ldr.w r7, [sp], #4 80bd4e2: 4770 bx lr 080bd4e4 : * - 0x00: Power OFF * - 0x02: Power UP * - 0x03: Power ON */ uint32_t SDMMC_GetPowerState(SDMMC_TypeDef *SDMMCx) { 80bd4e4: b480 push {r7} 80bd4e6: b083 sub sp, #12 80bd4e8: af00 add r7, sp, #0 80bd4ea: 6078 str r0, [r7, #4] return (SDMMCx->POWER & SDMMC_POWER_PWRCTRL); 80bd4ec: 687b ldr r3, [r7, #4] 80bd4ee: 681b ldr r3, [r3, #0] 80bd4f0: f003 0303 and.w r3, r3, #3 } 80bd4f4: 4618 mov r0, r3 80bd4f6: 370c adds r7, #12 80bd4f8: 46bd mov sp, r7 80bd4fa: f85d 7b04 ldr.w r7, [sp], #4 80bd4fe: 4770 bx lr 080bd500 : * @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) { 80bd500: b480 push {r7} 80bd502: b085 sub sp, #20 80bd504: af00 add r7, sp, #0 80bd506: 6078 str r0, [r7, #4] 80bd508: 6039 str r1, [r7, #0] uint32_t tmpreg = 0; 80bd50a: 2300 movs r3, #0 80bd50c: 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; 80bd50e: 683b ldr r3, [r7, #0] 80bd510: 681a ldr r2, [r3, #0] 80bd512: 687b ldr r3, [r7, #4] 80bd514: 609a str r2, [r3, #8] /* Set SDMMC command parameters */ tmpreg |= (uint32_t)(Command->CmdIndex |\ 80bd516: 683b ldr r3, [r7, #0] 80bd518: 685a ldr r2, [r3, #4] Command->Response |\ 80bd51a: 683b ldr r3, [r7, #0] 80bd51c: 689b ldr r3, [r3, #8] tmpreg |= (uint32_t)(Command->CmdIndex |\ 80bd51e: 431a orrs r2, r3 Command->WaitForInterrupt |\ 80bd520: 683b ldr r3, [r7, #0] 80bd522: 68db ldr r3, [r3, #12] Command->Response |\ 80bd524: 431a orrs r2, r3 Command->CPSM); 80bd526: 683b ldr r3, [r7, #0] 80bd528: 691b ldr r3, [r3, #16] Command->WaitForInterrupt |\ 80bd52a: 4313 orrs r3, r2 tmpreg |= (uint32_t)(Command->CmdIndex |\ 80bd52c: 68fa ldr r2, [r7, #12] 80bd52e: 4313 orrs r3, r2 80bd530: 60fb str r3, [r7, #12] /* Write to SDMMC CMD register */ MODIFY_REG(SDMMCx->CMD, CMD_CLEAR_MASK, tmpreg); 80bd532: 687b ldr r3, [r7, #4] 80bd534: 68da ldr r2, [r3, #12] 80bd536: 4b06 ldr r3, [pc, #24] ; (80bd550 ) 80bd538: 4013 ands r3, r2 80bd53a: 68fa ldr r2, [r7, #12] 80bd53c: 431a orrs r2, r3 80bd53e: 687b ldr r3, [r7, #4] 80bd540: 60da str r2, [r3, #12] return HAL_OK; 80bd542: 2300 movs r3, #0 } 80bd544: 4618 mov r0, r3 80bd546: 3714 adds r7, #20 80bd548: 46bd mov sp, r7 80bd54a: f85d 7b04 ldr.w r7, [sp], #4 80bd54e: 4770 bx lr 80bd550: fffff000 .word 0xfffff000 080bd554 : * @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) { 80bd554: b480 push {r7} 80bd556: b083 sub sp, #12 80bd558: af00 add r7, sp, #0 80bd55a: 6078 str r0, [r7, #4] return (uint8_t)(SDMMCx->RESPCMD); 80bd55c: 687b ldr r3, [r7, #4] 80bd55e: 691b ldr r3, [r3, #16] 80bd560: b2db uxtb r3, r3 } 80bd562: 4618 mov r0, r3 80bd564: 370c adds r7, #12 80bd566: 46bd mov sp, r7 80bd568: f85d 7b04 ldr.w r7, [sp], #4 80bd56c: 4770 bx lr 080bd56e : * @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) { 80bd56e: b480 push {r7} 80bd570: b085 sub sp, #20 80bd572: af00 add r7, sp, #0 80bd574: 6078 str r0, [r7, #4] 80bd576: 6039 str r1, [r7, #0] /* Check the parameters */ assert_param(IS_SDMMC_RESP(Response)); /* Get the response */ tmp = (uint32_t)(&(SDMMCx->RESP1)) + Response; 80bd578: 687b ldr r3, [r7, #4] 80bd57a: 3314 adds r3, #20 80bd57c: 461a mov r2, r3 80bd57e: 683b ldr r3, [r7, #0] 80bd580: 4413 add r3, r2 80bd582: 60fb str r3, [r7, #12] return (*(__IO uint32_t *) tmp); 80bd584: 68fb ldr r3, [r7, #12] 80bd586: 681b ldr r3, [r3, #0] } 80bd588: 4618 mov r0, r3 80bd58a: 3714 adds r7, #20 80bd58c: 46bd mov sp, r7 80bd58e: f85d 7b04 ldr.w r7, [sp], #4 80bd592: 4770 bx lr 080bd594 : * @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) { 80bd594: b480 push {r7} 80bd596: b085 sub sp, #20 80bd598: af00 add r7, sp, #0 80bd59a: 6078 str r0, [r7, #4] 80bd59c: 6039 str r1, [r7, #0] uint32_t tmpreg = 0; 80bd59e: 2300 movs r3, #0 80bd5a0: 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; 80bd5a2: 683b ldr r3, [r7, #0] 80bd5a4: 681a ldr r2, [r3, #0] 80bd5a6: 687b ldr r3, [r7, #4] 80bd5a8: 625a str r2, [r3, #36] ; 0x24 /* Set the SDMMC DataLength value */ SDMMCx->DLEN = Data->DataLength; 80bd5aa: 683b ldr r3, [r7, #0] 80bd5ac: 685a ldr r2, [r3, #4] 80bd5ae: 687b ldr r3, [r7, #4] 80bd5b0: 629a str r2, [r3, #40] ; 0x28 /* Set the SDMMC data configuration parameters */ tmpreg |= (uint32_t)(Data->DataBlockSize |\ 80bd5b2: 683b ldr r3, [r7, #0] 80bd5b4: 689a ldr r2, [r3, #8] Data->TransferDir |\ 80bd5b6: 683b ldr r3, [r7, #0] 80bd5b8: 68db ldr r3, [r3, #12] tmpreg |= (uint32_t)(Data->DataBlockSize |\ 80bd5ba: 431a orrs r2, r3 Data->TransferMode |\ 80bd5bc: 683b ldr r3, [r7, #0] 80bd5be: 691b ldr r3, [r3, #16] Data->TransferDir |\ 80bd5c0: 431a orrs r2, r3 Data->DPSM); 80bd5c2: 683b ldr r3, [r7, #0] 80bd5c4: 695b ldr r3, [r3, #20] Data->TransferMode |\ 80bd5c6: 4313 orrs r3, r2 tmpreg |= (uint32_t)(Data->DataBlockSize |\ 80bd5c8: 68fa ldr r2, [r7, #12] 80bd5ca: 4313 orrs r3, r2 80bd5cc: 60fb str r3, [r7, #12] /* Write to SDMMC DCTRL */ MODIFY_REG(SDMMCx->DCTRL, DCTRL_CLEAR_MASK, tmpreg); 80bd5ce: 687b ldr r3, [r7, #4] 80bd5d0: 6adb ldr r3, [r3, #44] ; 0x2c 80bd5d2: f023 02f7 bic.w r2, r3, #247 ; 0xf7 80bd5d6: 68fb ldr r3, [r7, #12] 80bd5d8: 431a orrs r2, r3 80bd5da: 687b ldr r3, [r7, #4] 80bd5dc: 62da str r2, [r3, #44] ; 0x2c return HAL_OK; 80bd5de: 2300 movs r3, #0 } 80bd5e0: 4618 mov r0, r3 80bd5e2: 3714 adds r7, #20 80bd5e4: 46bd mov sp, r7 80bd5e6: f85d 7b04 ldr.w r7, [sp], #4 80bd5ea: 4770 bx lr 080bd5ec : * @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) { 80bd5ec: b580 push {r7, lr} 80bd5ee: b088 sub sp, #32 80bd5f0: af00 add r7, sp, #0 80bd5f2: 6078 str r0, [r7, #4] 80bd5f4: 6039 str r1, [r7, #0] SDMMC_CmdInitTypeDef sdmmc_cmdinit; uint32_t errorstate; /* Set Block Size for Card */ sdmmc_cmdinit.Argument = (uint32_t)BlockSize; 80bd5f6: 683b ldr r3, [r7, #0] 80bd5f8: 60bb str r3, [r7, #8] sdmmc_cmdinit.CmdIndex = SDMMC_CMD_SET_BLOCKLEN; 80bd5fa: 2310 movs r3, #16 80bd5fc: 60fb str r3, [r7, #12] sdmmc_cmdinit.Response = SDMMC_RESPONSE_SHORT; 80bd5fe: 2340 movs r3, #64 ; 0x40 80bd600: 613b str r3, [r7, #16] sdmmc_cmdinit.WaitForInterrupt = SDMMC_WAIT_NO; 80bd602: 2300 movs r3, #0 80bd604: 617b str r3, [r7, #20] sdmmc_cmdinit.CPSM = SDMMC_CPSM_ENABLE; 80bd606: f44f 6380 mov.w r3, #1024 ; 0x400 80bd60a: 61bb str r3, [r7, #24] (void)SDMMC_SendCommand(SDMMCx, &sdmmc_cmdinit); 80bd60c: f107 0308 add.w r3, r7, #8 80bd610: 4619 mov r1, r3 80bd612: 6878 ldr r0, [r7, #4] 80bd614: f7ff ff74 bl 80bd500 /* Check for error conditions */ errorstate = SDMMC_GetCmdResp1(SDMMCx, SDMMC_CMD_SET_BLOCKLEN, SDMMC_CMDTIMEOUT); 80bd618: f241 3288 movw r2, #5000 ; 0x1388 80bd61c: 2110 movs r1, #16 80bd61e: 6878 ldr r0, [r7, #4] 80bd620: f000 fa1a bl 80bda58 80bd624: 61f8 str r0, [r7, #28] return errorstate; 80bd626: 69fb ldr r3, [r7, #28] } 80bd628: 4618 mov r0, r3 80bd62a: 3720 adds r7, #32 80bd62c: 46bd mov sp, r7 80bd62e: bd80 pop {r7, pc} 080bd630 : * @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) { 80bd630: b580 push {r7, lr} 80bd632: b088 sub sp, #32 80bd634: af00 add r7, sp, #0 80bd636: 6078 str r0, [r7, #4] 80bd638: 6039 str r1, [r7, #0] SDMMC_CmdInitTypeDef sdmmc_cmdinit; uint32_t errorstate; /* Set Block Size for Card */ sdmmc_cmdinit.Argument = (uint32_t)ReadAdd; 80bd63a: 683b ldr r3, [r7, #0] 80bd63c: 60bb str r3, [r7, #8] sdmmc_cmdinit.CmdIndex = SDMMC_CMD_READ_SINGLE_BLOCK; 80bd63e: 2311 movs r3, #17 80bd640: 60fb str r3, [r7, #12] sdmmc_cmdinit.Response = SDMMC_RESPONSE_SHORT; 80bd642: 2340 movs r3, #64 ; 0x40 80bd644: 613b str r3, [r7, #16] sdmmc_cmdinit.WaitForInterrupt = SDMMC_WAIT_NO; 80bd646: 2300 movs r3, #0 80bd648: 617b str r3, [r7, #20] sdmmc_cmdinit.CPSM = SDMMC_CPSM_ENABLE; 80bd64a: f44f 6380 mov.w r3, #1024 ; 0x400 80bd64e: 61bb str r3, [r7, #24] (void)SDMMC_SendCommand(SDMMCx, &sdmmc_cmdinit); 80bd650: f107 0308 add.w r3, r7, #8 80bd654: 4619 mov r1, r3 80bd656: 6878 ldr r0, [r7, #4] 80bd658: f7ff ff52 bl 80bd500 /* Check for error conditions */ errorstate = SDMMC_GetCmdResp1(SDMMCx, SDMMC_CMD_READ_SINGLE_BLOCK, SDMMC_CMDTIMEOUT); 80bd65c: f241 3288 movw r2, #5000 ; 0x1388 80bd660: 2111 movs r1, #17 80bd662: 6878 ldr r0, [r7, #4] 80bd664: f000 f9f8 bl 80bda58 80bd668: 61f8 str r0, [r7, #28] return errorstate; 80bd66a: 69fb ldr r3, [r7, #28] } 80bd66c: 4618 mov r0, r3 80bd66e: 3720 adds r7, #32 80bd670: 46bd mov sp, r7 80bd672: bd80 pop {r7, pc} 080bd674 : * @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) { 80bd674: b580 push {r7, lr} 80bd676: b088 sub sp, #32 80bd678: af00 add r7, sp, #0 80bd67a: 6078 str r0, [r7, #4] 80bd67c: 6039 str r1, [r7, #0] SDMMC_CmdInitTypeDef sdmmc_cmdinit; uint32_t errorstate; /* Set Block Size for Card */ sdmmc_cmdinit.Argument = (uint32_t)ReadAdd; 80bd67e: 683b ldr r3, [r7, #0] 80bd680: 60bb str r3, [r7, #8] sdmmc_cmdinit.CmdIndex = SDMMC_CMD_READ_MULT_BLOCK; 80bd682: 2312 movs r3, #18 80bd684: 60fb str r3, [r7, #12] sdmmc_cmdinit.Response = SDMMC_RESPONSE_SHORT; 80bd686: 2340 movs r3, #64 ; 0x40 80bd688: 613b str r3, [r7, #16] sdmmc_cmdinit.WaitForInterrupt = SDMMC_WAIT_NO; 80bd68a: 2300 movs r3, #0 80bd68c: 617b str r3, [r7, #20] sdmmc_cmdinit.CPSM = SDMMC_CPSM_ENABLE; 80bd68e: f44f 6380 mov.w r3, #1024 ; 0x400 80bd692: 61bb str r3, [r7, #24] (void)SDMMC_SendCommand(SDMMCx, &sdmmc_cmdinit); 80bd694: f107 0308 add.w r3, r7, #8 80bd698: 4619 mov r1, r3 80bd69a: 6878 ldr r0, [r7, #4] 80bd69c: f7ff ff30 bl 80bd500 /* Check for error conditions */ errorstate = SDMMC_GetCmdResp1(SDMMCx, SDMMC_CMD_READ_MULT_BLOCK, SDMMC_CMDTIMEOUT); 80bd6a0: f241 3288 movw r2, #5000 ; 0x1388 80bd6a4: 2112 movs r1, #18 80bd6a6: 6878 ldr r0, [r7, #4] 80bd6a8: f000 f9d6 bl 80bda58 80bd6ac: 61f8 str r0, [r7, #28] return errorstate; 80bd6ae: 69fb ldr r3, [r7, #28] } 80bd6b0: 4618 mov r0, r3 80bd6b2: 3720 adds r7, #32 80bd6b4: 46bd mov sp, r7 80bd6b6: bd80 pop {r7, pc} 080bd6b8 : * @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) { 80bd6b8: b580 push {r7, lr} 80bd6ba: b088 sub sp, #32 80bd6bc: af00 add r7, sp, #0 80bd6be: 6078 str r0, [r7, #4] 80bd6c0: 6039 str r1, [r7, #0] SDMMC_CmdInitTypeDef sdmmc_cmdinit; uint32_t errorstate; /* Set Block Size for Card */ sdmmc_cmdinit.Argument = (uint32_t)WriteAdd; 80bd6c2: 683b ldr r3, [r7, #0] 80bd6c4: 60bb str r3, [r7, #8] sdmmc_cmdinit.CmdIndex = SDMMC_CMD_WRITE_SINGLE_BLOCK; 80bd6c6: 2318 movs r3, #24 80bd6c8: 60fb str r3, [r7, #12] sdmmc_cmdinit.Response = SDMMC_RESPONSE_SHORT; 80bd6ca: 2340 movs r3, #64 ; 0x40 80bd6cc: 613b str r3, [r7, #16] sdmmc_cmdinit.WaitForInterrupt = SDMMC_WAIT_NO; 80bd6ce: 2300 movs r3, #0 80bd6d0: 617b str r3, [r7, #20] sdmmc_cmdinit.CPSM = SDMMC_CPSM_ENABLE; 80bd6d2: f44f 6380 mov.w r3, #1024 ; 0x400 80bd6d6: 61bb str r3, [r7, #24] (void)SDMMC_SendCommand(SDMMCx, &sdmmc_cmdinit); 80bd6d8: f107 0308 add.w r3, r7, #8 80bd6dc: 4619 mov r1, r3 80bd6de: 6878 ldr r0, [r7, #4] 80bd6e0: f7ff ff0e bl 80bd500 /* Check for error conditions */ errorstate = SDMMC_GetCmdResp1(SDMMCx, SDMMC_CMD_WRITE_SINGLE_BLOCK, SDMMC_CMDTIMEOUT); 80bd6e4: f241 3288 movw r2, #5000 ; 0x1388 80bd6e8: 2118 movs r1, #24 80bd6ea: 6878 ldr r0, [r7, #4] 80bd6ec: f000 f9b4 bl 80bda58 80bd6f0: 61f8 str r0, [r7, #28] return errorstate; 80bd6f2: 69fb ldr r3, [r7, #28] } 80bd6f4: 4618 mov r0, r3 80bd6f6: 3720 adds r7, #32 80bd6f8: 46bd mov sp, r7 80bd6fa: bd80 pop {r7, pc} 080bd6fc : * @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) { 80bd6fc: b580 push {r7, lr} 80bd6fe: b088 sub sp, #32 80bd700: af00 add r7, sp, #0 80bd702: 6078 str r0, [r7, #4] 80bd704: 6039 str r1, [r7, #0] SDMMC_CmdInitTypeDef sdmmc_cmdinit; uint32_t errorstate; /* Set Block Size for Card */ sdmmc_cmdinit.Argument = (uint32_t)WriteAdd; 80bd706: 683b ldr r3, [r7, #0] 80bd708: 60bb str r3, [r7, #8] sdmmc_cmdinit.CmdIndex = SDMMC_CMD_WRITE_MULT_BLOCK; 80bd70a: 2319 movs r3, #25 80bd70c: 60fb str r3, [r7, #12] sdmmc_cmdinit.Response = SDMMC_RESPONSE_SHORT; 80bd70e: 2340 movs r3, #64 ; 0x40 80bd710: 613b str r3, [r7, #16] sdmmc_cmdinit.WaitForInterrupt = SDMMC_WAIT_NO; 80bd712: 2300 movs r3, #0 80bd714: 617b str r3, [r7, #20] sdmmc_cmdinit.CPSM = SDMMC_CPSM_ENABLE; 80bd716: f44f 6380 mov.w r3, #1024 ; 0x400 80bd71a: 61bb str r3, [r7, #24] (void)SDMMC_SendCommand(SDMMCx, &sdmmc_cmdinit); 80bd71c: f107 0308 add.w r3, r7, #8 80bd720: 4619 mov r1, r3 80bd722: 6878 ldr r0, [r7, #4] 80bd724: f7ff feec bl 80bd500 /* Check for error conditions */ errorstate = SDMMC_GetCmdResp1(SDMMCx, SDMMC_CMD_WRITE_MULT_BLOCK, SDMMC_CMDTIMEOUT); 80bd728: f241 3288 movw r2, #5000 ; 0x1388 80bd72c: 2119 movs r1, #25 80bd72e: 6878 ldr r0, [r7, #4] 80bd730: f000 f992 bl 80bda58 80bd734: 61f8 str r0, [r7, #28] return errorstate; 80bd736: 69fb ldr r3, [r7, #28] } 80bd738: 4618 mov r0, r3 80bd73a: 3720 adds r7, #32 80bd73c: 46bd mov sp, r7 80bd73e: bd80 pop {r7, pc} 080bd740 : * @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) { 80bd740: b580 push {r7, lr} 80bd742: b088 sub sp, #32 80bd744: af00 add r7, sp, #0 80bd746: 6078 str r0, [r7, #4] SDMMC_CmdInitTypeDef sdmmc_cmdinit; uint32_t errorstate; /* Send CMD12 STOP_TRANSMISSION */ sdmmc_cmdinit.Argument = 0U; 80bd748: 2300 movs r3, #0 80bd74a: 60bb str r3, [r7, #8] sdmmc_cmdinit.CmdIndex = SDMMC_CMD_STOP_TRANSMISSION; 80bd74c: 230c movs r3, #12 80bd74e: 60fb str r3, [r7, #12] sdmmc_cmdinit.Response = SDMMC_RESPONSE_SHORT; 80bd750: 2340 movs r3, #64 ; 0x40 80bd752: 613b str r3, [r7, #16] sdmmc_cmdinit.WaitForInterrupt = SDMMC_WAIT_NO; 80bd754: 2300 movs r3, #0 80bd756: 617b str r3, [r7, #20] sdmmc_cmdinit.CPSM = SDMMC_CPSM_ENABLE; 80bd758: f44f 6380 mov.w r3, #1024 ; 0x400 80bd75c: 61bb str r3, [r7, #24] (void)SDMMC_SendCommand(SDMMCx, &sdmmc_cmdinit); 80bd75e: f107 0308 add.w r3, r7, #8 80bd762: 4619 mov r1, r3 80bd764: 6878 ldr r0, [r7, #4] 80bd766: f7ff fecb bl 80bd500 /* Check for error conditions */ errorstate = SDMMC_GetCmdResp1(SDMMCx, SDMMC_CMD_STOP_TRANSMISSION, SDMMC_STOPTRANSFERTIMEOUT); 80bd76a: 4a05 ldr r2, [pc, #20] ; (80bd780 ) 80bd76c: 210c movs r1, #12 80bd76e: 6878 ldr r0, [r7, #4] 80bd770: f000 f972 bl 80bda58 80bd774: 61f8 str r0, [r7, #28] return errorstate; 80bd776: 69fb ldr r3, [r7, #28] } 80bd778: 4618 mov r0, r3 80bd77a: 3720 adds r7, #32 80bd77c: 46bd mov sp, r7 80bd77e: bd80 pop {r7, pc} 80bd780: 05f5e100 .word 0x05f5e100 080bd784 : * @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) { 80bd784: b580 push {r7, lr} 80bd786: b08a sub sp, #40 ; 0x28 80bd788: af00 add r7, sp, #0 80bd78a: 60f8 str r0, [r7, #12] 80bd78c: 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; 80bd790: 683b ldr r3, [r7, #0] 80bd792: 613b str r3, [r7, #16] sdmmc_cmdinit.CmdIndex = SDMMC_CMD_SEL_DESEL_CARD; 80bd794: 2307 movs r3, #7 80bd796: 617b str r3, [r7, #20] sdmmc_cmdinit.Response = SDMMC_RESPONSE_SHORT; 80bd798: 2340 movs r3, #64 ; 0x40 80bd79a: 61bb str r3, [r7, #24] sdmmc_cmdinit.WaitForInterrupt = SDMMC_WAIT_NO; 80bd79c: 2300 movs r3, #0 80bd79e: 61fb str r3, [r7, #28] sdmmc_cmdinit.CPSM = SDMMC_CPSM_ENABLE; 80bd7a0: f44f 6380 mov.w r3, #1024 ; 0x400 80bd7a4: 623b str r3, [r7, #32] (void)SDMMC_SendCommand(SDMMCx, &sdmmc_cmdinit); 80bd7a6: f107 0310 add.w r3, r7, #16 80bd7aa: 4619 mov r1, r3 80bd7ac: 68f8 ldr r0, [r7, #12] 80bd7ae: f7ff fea7 bl 80bd500 /* Check for error conditions */ errorstate = SDMMC_GetCmdResp1(SDMMCx, SDMMC_CMD_SEL_DESEL_CARD, SDMMC_CMDTIMEOUT); 80bd7b2: f241 3288 movw r2, #5000 ; 0x1388 80bd7b6: 2107 movs r1, #7 80bd7b8: 68f8 ldr r0, [r7, #12] 80bd7ba: f000 f94d bl 80bda58 80bd7be: 6278 str r0, [r7, #36] ; 0x24 return errorstate; 80bd7c0: 6a7b ldr r3, [r7, #36] ; 0x24 } 80bd7c2: 4618 mov r0, r3 80bd7c4: 3728 adds r7, #40 ; 0x28 80bd7c6: 46bd mov sp, r7 80bd7c8: bd80 pop {r7, pc} 080bd7ca : * @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) { 80bd7ca: b580 push {r7, lr} 80bd7cc: b088 sub sp, #32 80bd7ce: af00 add r7, sp, #0 80bd7d0: 6078 str r0, [r7, #4] SDMMC_CmdInitTypeDef sdmmc_cmdinit; uint32_t errorstate; sdmmc_cmdinit.Argument = 0U; 80bd7d2: 2300 movs r3, #0 80bd7d4: 60bb str r3, [r7, #8] sdmmc_cmdinit.CmdIndex = SDMMC_CMD_GO_IDLE_STATE; 80bd7d6: 2300 movs r3, #0 80bd7d8: 60fb str r3, [r7, #12] sdmmc_cmdinit.Response = SDMMC_RESPONSE_NO; 80bd7da: 2300 movs r3, #0 80bd7dc: 613b str r3, [r7, #16] sdmmc_cmdinit.WaitForInterrupt = SDMMC_WAIT_NO; 80bd7de: 2300 movs r3, #0 80bd7e0: 617b str r3, [r7, #20] sdmmc_cmdinit.CPSM = SDMMC_CPSM_ENABLE; 80bd7e2: f44f 6380 mov.w r3, #1024 ; 0x400 80bd7e6: 61bb str r3, [r7, #24] (void)SDMMC_SendCommand(SDMMCx, &sdmmc_cmdinit); 80bd7e8: f107 0308 add.w r3, r7, #8 80bd7ec: 4619 mov r1, r3 80bd7ee: 6878 ldr r0, [r7, #4] 80bd7f0: f7ff fe86 bl 80bd500 /* Check for error conditions */ errorstate = SDMMC_GetCmdError(SDMMCx); 80bd7f4: 6878 ldr r0, [r7, #4] 80bd7f6: f000 fb67 bl 80bdec8 80bd7fa: 61f8 str r0, [r7, #28] return errorstate; 80bd7fc: 69fb ldr r3, [r7, #28] } 80bd7fe: 4618 mov r0, r3 80bd800: 3720 adds r7, #32 80bd802: 46bd mov sp, r7 80bd804: bd80 pop {r7, pc} 080bd806 : * @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) { 80bd806: b580 push {r7, lr} 80bd808: b088 sub sp, #32 80bd80a: af00 add r7, sp, #0 80bd80c: 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; 80bd80e: f44f 73d5 mov.w r3, #426 ; 0x1aa 80bd812: 60bb str r3, [r7, #8] sdmmc_cmdinit.CmdIndex = SDMMC_CMD_HS_SEND_EXT_CSD; 80bd814: 2308 movs r3, #8 80bd816: 60fb str r3, [r7, #12] sdmmc_cmdinit.Response = SDMMC_RESPONSE_SHORT; 80bd818: 2340 movs r3, #64 ; 0x40 80bd81a: 613b str r3, [r7, #16] sdmmc_cmdinit.WaitForInterrupt = SDMMC_WAIT_NO; 80bd81c: 2300 movs r3, #0 80bd81e: 617b str r3, [r7, #20] sdmmc_cmdinit.CPSM = SDMMC_CPSM_ENABLE; 80bd820: f44f 6380 mov.w r3, #1024 ; 0x400 80bd824: 61bb str r3, [r7, #24] (void)SDMMC_SendCommand(SDMMCx, &sdmmc_cmdinit); 80bd826: f107 0308 add.w r3, r7, #8 80bd82a: 4619 mov r1, r3 80bd82c: 6878 ldr r0, [r7, #4] 80bd82e: f7ff fe67 bl 80bd500 /* Check for error conditions */ errorstate = SDMMC_GetCmdResp7(SDMMCx); 80bd832: 6878 ldr r0, [r7, #4] 80bd834: f000 fafa bl 80bde2c 80bd838: 61f8 str r0, [r7, #28] return errorstate; 80bd83a: 69fb ldr r3, [r7, #28] } 80bd83c: 4618 mov r0, r3 80bd83e: 3720 adds r7, #32 80bd840: 46bd mov sp, r7 80bd842: bd80 pop {r7, pc} 080bd844 : * @param SDMMCx: Pointer to SDMMC register base * @param Argument: Command Argument * @retval HAL status */ uint32_t SDMMC_CmdAppCommand(SDMMC_TypeDef *SDMMCx, uint32_t Argument) { 80bd844: b580 push {r7, lr} 80bd846: b088 sub sp, #32 80bd848: af00 add r7, sp, #0 80bd84a: 6078 str r0, [r7, #4] 80bd84c: 6039 str r1, [r7, #0] SDMMC_CmdInitTypeDef sdmmc_cmdinit; uint32_t errorstate; sdmmc_cmdinit.Argument = (uint32_t)Argument; 80bd84e: 683b ldr r3, [r7, #0] 80bd850: 60bb str r3, [r7, #8] sdmmc_cmdinit.CmdIndex = SDMMC_CMD_APP_CMD; 80bd852: 2337 movs r3, #55 ; 0x37 80bd854: 60fb str r3, [r7, #12] sdmmc_cmdinit.Response = SDMMC_RESPONSE_SHORT; 80bd856: 2340 movs r3, #64 ; 0x40 80bd858: 613b str r3, [r7, #16] sdmmc_cmdinit.WaitForInterrupt = SDMMC_WAIT_NO; 80bd85a: 2300 movs r3, #0 80bd85c: 617b str r3, [r7, #20] sdmmc_cmdinit.CPSM = SDMMC_CPSM_ENABLE; 80bd85e: f44f 6380 mov.w r3, #1024 ; 0x400 80bd862: 61bb str r3, [r7, #24] (void)SDMMC_SendCommand(SDMMCx, &sdmmc_cmdinit); 80bd864: f107 0308 add.w r3, r7, #8 80bd868: 4619 mov r1, r3 80bd86a: 6878 ldr r0, [r7, #4] 80bd86c: f7ff fe48 bl 80bd500 /* 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); 80bd870: f241 3288 movw r2, #5000 ; 0x1388 80bd874: 2137 movs r1, #55 ; 0x37 80bd876: 6878 ldr r0, [r7, #4] 80bd878: f000 f8ee bl 80bda58 80bd87c: 61f8 str r0, [r7, #28] return errorstate; 80bd87e: 69fb ldr r3, [r7, #28] } 80bd880: 4618 mov r0, r3 80bd882: 3720 adds r7, #32 80bd884: 46bd mov sp, r7 80bd886: bd80 pop {r7, pc} 080bd888 : * @param SDMMCx: Pointer to SDMMC register base * @param Argument: Command Argument * @retval HAL status */ uint32_t SDMMC_CmdAppOperCommand(SDMMC_TypeDef *SDMMCx, uint32_t Argument) { 80bd888: b580 push {r7, lr} 80bd88a: b088 sub sp, #32 80bd88c: af00 add r7, sp, #0 80bd88e: 6078 str r0, [r7, #4] 80bd890: 6039 str r1, [r7, #0] SDMMC_CmdInitTypeDef sdmmc_cmdinit; uint32_t errorstate; sdmmc_cmdinit.Argument = SDMMC_VOLTAGE_WINDOW_SD | Argument; 80bd892: 683a ldr r2, [r7, #0] 80bd894: 4b0d ldr r3, [pc, #52] ; (80bd8cc ) 80bd896: 4313 orrs r3, r2 80bd898: 60bb str r3, [r7, #8] sdmmc_cmdinit.CmdIndex = SDMMC_CMD_SD_APP_OP_COND; 80bd89a: 2329 movs r3, #41 ; 0x29 80bd89c: 60fb str r3, [r7, #12] sdmmc_cmdinit.Response = SDMMC_RESPONSE_SHORT; 80bd89e: 2340 movs r3, #64 ; 0x40 80bd8a0: 613b str r3, [r7, #16] sdmmc_cmdinit.WaitForInterrupt = SDMMC_WAIT_NO; 80bd8a2: 2300 movs r3, #0 80bd8a4: 617b str r3, [r7, #20] sdmmc_cmdinit.CPSM = SDMMC_CPSM_ENABLE; 80bd8a6: f44f 6380 mov.w r3, #1024 ; 0x400 80bd8aa: 61bb str r3, [r7, #24] (void)SDMMC_SendCommand(SDMMCx, &sdmmc_cmdinit); 80bd8ac: f107 0308 add.w r3, r7, #8 80bd8b0: 4619 mov r1, r3 80bd8b2: 6878 ldr r0, [r7, #4] 80bd8b4: f7ff fe24 bl 80bd500 /* Check for error conditions */ errorstate = SDMMC_GetCmdResp3(SDMMCx); 80bd8b8: 6878 ldr r0, [r7, #4] 80bd8ba: f000 fa03 bl 80bdcc4 80bd8be: 61f8 str r0, [r7, #28] return errorstate; 80bd8c0: 69fb ldr r3, [r7, #28] } 80bd8c2: 4618 mov r0, r3 80bd8c4: 3720 adds r7, #32 80bd8c6: 46bd mov sp, r7 80bd8c8: bd80 pop {r7, pc} 80bd8ca: bf00 nop 80bd8cc: 80100000 .word 0x80100000 080bd8d0 : * @param SDMMCx: Pointer to SDMMC register base * @param BusWidth: BusWidth * @retval HAL status */ uint32_t SDMMC_CmdBusWidth(SDMMC_TypeDef *SDMMCx, uint32_t BusWidth) { 80bd8d0: b580 push {r7, lr} 80bd8d2: b088 sub sp, #32 80bd8d4: af00 add r7, sp, #0 80bd8d6: 6078 str r0, [r7, #4] 80bd8d8: 6039 str r1, [r7, #0] SDMMC_CmdInitTypeDef sdmmc_cmdinit; uint32_t errorstate; sdmmc_cmdinit.Argument = (uint32_t)BusWidth; 80bd8da: 683b ldr r3, [r7, #0] 80bd8dc: 60bb str r3, [r7, #8] sdmmc_cmdinit.CmdIndex = SDMMC_CMD_APP_SD_SET_BUSWIDTH; 80bd8de: 2306 movs r3, #6 80bd8e0: 60fb str r3, [r7, #12] sdmmc_cmdinit.Response = SDMMC_RESPONSE_SHORT; 80bd8e2: 2340 movs r3, #64 ; 0x40 80bd8e4: 613b str r3, [r7, #16] sdmmc_cmdinit.WaitForInterrupt = SDMMC_WAIT_NO; 80bd8e6: 2300 movs r3, #0 80bd8e8: 617b str r3, [r7, #20] sdmmc_cmdinit.CPSM = SDMMC_CPSM_ENABLE; 80bd8ea: f44f 6380 mov.w r3, #1024 ; 0x400 80bd8ee: 61bb str r3, [r7, #24] (void)SDMMC_SendCommand(SDMMCx, &sdmmc_cmdinit); 80bd8f0: f107 0308 add.w r3, r7, #8 80bd8f4: 4619 mov r1, r3 80bd8f6: 6878 ldr r0, [r7, #4] 80bd8f8: f7ff fe02 bl 80bd500 /* Check for error conditions */ errorstate = SDMMC_GetCmdResp1(SDMMCx, SDMMC_CMD_APP_SD_SET_BUSWIDTH, SDMMC_CMDTIMEOUT); 80bd8fc: f241 3288 movw r2, #5000 ; 0x1388 80bd900: 2106 movs r1, #6 80bd902: 6878 ldr r0, [r7, #4] 80bd904: f000 f8a8 bl 80bda58 80bd908: 61f8 str r0, [r7, #28] return errorstate; 80bd90a: 69fb ldr r3, [r7, #28] } 80bd90c: 4618 mov r0, r3 80bd90e: 3720 adds r7, #32 80bd910: 46bd mov sp, r7 80bd912: bd80 pop {r7, pc} 080bd914 : * @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) { 80bd914: b580 push {r7, lr} 80bd916: b088 sub sp, #32 80bd918: af00 add r7, sp, #0 80bd91a: 6078 str r0, [r7, #4] SDMMC_CmdInitTypeDef sdmmc_cmdinit; uint32_t errorstate; /* Send CMD51 SD_APP_SEND_SCR */ sdmmc_cmdinit.Argument = 0U; 80bd91c: 2300 movs r3, #0 80bd91e: 60bb str r3, [r7, #8] sdmmc_cmdinit.CmdIndex = SDMMC_CMD_SD_APP_SEND_SCR; 80bd920: 2333 movs r3, #51 ; 0x33 80bd922: 60fb str r3, [r7, #12] sdmmc_cmdinit.Response = SDMMC_RESPONSE_SHORT; 80bd924: 2340 movs r3, #64 ; 0x40 80bd926: 613b str r3, [r7, #16] sdmmc_cmdinit.WaitForInterrupt = SDMMC_WAIT_NO; 80bd928: 2300 movs r3, #0 80bd92a: 617b str r3, [r7, #20] sdmmc_cmdinit.CPSM = SDMMC_CPSM_ENABLE; 80bd92c: f44f 6380 mov.w r3, #1024 ; 0x400 80bd930: 61bb str r3, [r7, #24] (void)SDMMC_SendCommand(SDMMCx, &sdmmc_cmdinit); 80bd932: f107 0308 add.w r3, r7, #8 80bd936: 4619 mov r1, r3 80bd938: 6878 ldr r0, [r7, #4] 80bd93a: f7ff fde1 bl 80bd500 /* Check for error conditions */ errorstate = SDMMC_GetCmdResp1(SDMMCx, SDMMC_CMD_SD_APP_SEND_SCR, SDMMC_CMDTIMEOUT); 80bd93e: f241 3288 movw r2, #5000 ; 0x1388 80bd942: 2133 movs r1, #51 ; 0x33 80bd944: 6878 ldr r0, [r7, #4] 80bd946: f000 f887 bl 80bda58 80bd94a: 61f8 str r0, [r7, #28] return errorstate; 80bd94c: 69fb ldr r3, [r7, #28] } 80bd94e: 4618 mov r0, r3 80bd950: 3720 adds r7, #32 80bd952: 46bd mov sp, r7 80bd954: bd80 pop {r7, pc} 080bd956 : * @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) { 80bd956: b580 push {r7, lr} 80bd958: b088 sub sp, #32 80bd95a: af00 add r7, sp, #0 80bd95c: 6078 str r0, [r7, #4] SDMMC_CmdInitTypeDef sdmmc_cmdinit; uint32_t errorstate; /* Send CMD2 ALL_SEND_CID */ sdmmc_cmdinit.Argument = 0U; 80bd95e: 2300 movs r3, #0 80bd960: 60bb str r3, [r7, #8] sdmmc_cmdinit.CmdIndex = SDMMC_CMD_ALL_SEND_CID; 80bd962: 2302 movs r3, #2 80bd964: 60fb str r3, [r7, #12] sdmmc_cmdinit.Response = SDMMC_RESPONSE_LONG; 80bd966: 23c0 movs r3, #192 ; 0xc0 80bd968: 613b str r3, [r7, #16] sdmmc_cmdinit.WaitForInterrupt = SDMMC_WAIT_NO; 80bd96a: 2300 movs r3, #0 80bd96c: 617b str r3, [r7, #20] sdmmc_cmdinit.CPSM = SDMMC_CPSM_ENABLE; 80bd96e: f44f 6380 mov.w r3, #1024 ; 0x400 80bd972: 61bb str r3, [r7, #24] (void)SDMMC_SendCommand(SDMMCx, &sdmmc_cmdinit); 80bd974: f107 0308 add.w r3, r7, #8 80bd978: 4619 mov r1, r3 80bd97a: 6878 ldr r0, [r7, #4] 80bd97c: f7ff fdc0 bl 80bd500 /* Check for error conditions */ errorstate = SDMMC_GetCmdResp2(SDMMCx); 80bd980: 6878 ldr r0, [r7, #4] 80bd982: f000 f957 bl 80bdc34 80bd986: 61f8 str r0, [r7, #28] return errorstate; 80bd988: 69fb ldr r3, [r7, #28] } 80bd98a: 4618 mov r0, r3 80bd98c: 3720 adds r7, #32 80bd98e: 46bd mov sp, r7 80bd990: bd80 pop {r7, pc} 080bd992 : * @param SDMMCx: Pointer to SDMMC register base * @param Argument: Command Argument * @retval HAL status */ uint32_t SDMMC_CmdSendCSD(SDMMC_TypeDef *SDMMCx, uint32_t Argument) { 80bd992: b580 push {r7, lr} 80bd994: b088 sub sp, #32 80bd996: af00 add r7, sp, #0 80bd998: 6078 str r0, [r7, #4] 80bd99a: 6039 str r1, [r7, #0] SDMMC_CmdInitTypeDef sdmmc_cmdinit; uint32_t errorstate; /* Send CMD9 SEND_CSD */ sdmmc_cmdinit.Argument = Argument; 80bd99c: 683b ldr r3, [r7, #0] 80bd99e: 60bb str r3, [r7, #8] sdmmc_cmdinit.CmdIndex = SDMMC_CMD_SEND_CSD; 80bd9a0: 2309 movs r3, #9 80bd9a2: 60fb str r3, [r7, #12] sdmmc_cmdinit.Response = SDMMC_RESPONSE_LONG; 80bd9a4: 23c0 movs r3, #192 ; 0xc0 80bd9a6: 613b str r3, [r7, #16] sdmmc_cmdinit.WaitForInterrupt = SDMMC_WAIT_NO; 80bd9a8: 2300 movs r3, #0 80bd9aa: 617b str r3, [r7, #20] sdmmc_cmdinit.CPSM = SDMMC_CPSM_ENABLE; 80bd9ac: f44f 6380 mov.w r3, #1024 ; 0x400 80bd9b0: 61bb str r3, [r7, #24] (void)SDMMC_SendCommand(SDMMCx, &sdmmc_cmdinit); 80bd9b2: f107 0308 add.w r3, r7, #8 80bd9b6: 4619 mov r1, r3 80bd9b8: 6878 ldr r0, [r7, #4] 80bd9ba: f7ff fda1 bl 80bd500 /* Check for error conditions */ errorstate = SDMMC_GetCmdResp2(SDMMCx); 80bd9be: 6878 ldr r0, [r7, #4] 80bd9c0: f000 f938 bl 80bdc34 80bd9c4: 61f8 str r0, [r7, #28] return errorstate; 80bd9c6: 69fb ldr r3, [r7, #28] } 80bd9c8: 4618 mov r0, r3 80bd9ca: 3720 adds r7, #32 80bd9cc: 46bd mov sp, r7 80bd9ce: bd80 pop {r7, pc} 080bd9d0 : * @param SDMMCx: Pointer to SDMMC register base * @param pRCA: Card RCA * @retval HAL status */ uint32_t SDMMC_CmdSetRelAdd(SDMMC_TypeDef *SDMMCx, uint16_t *pRCA) { 80bd9d0: b580 push {r7, lr} 80bd9d2: b088 sub sp, #32 80bd9d4: af00 add r7, sp, #0 80bd9d6: 6078 str r0, [r7, #4] 80bd9d8: 6039 str r1, [r7, #0] SDMMC_CmdInitTypeDef sdmmc_cmdinit; uint32_t errorstate; /* Send CMD3 SD_CMD_SET_REL_ADDR */ sdmmc_cmdinit.Argument = 0U; 80bd9da: 2300 movs r3, #0 80bd9dc: 60bb str r3, [r7, #8] sdmmc_cmdinit.CmdIndex = SDMMC_CMD_SET_REL_ADDR; 80bd9de: 2303 movs r3, #3 80bd9e0: 60fb str r3, [r7, #12] sdmmc_cmdinit.Response = SDMMC_RESPONSE_SHORT; 80bd9e2: 2340 movs r3, #64 ; 0x40 80bd9e4: 613b str r3, [r7, #16] sdmmc_cmdinit.WaitForInterrupt = SDMMC_WAIT_NO; 80bd9e6: 2300 movs r3, #0 80bd9e8: 617b str r3, [r7, #20] sdmmc_cmdinit.CPSM = SDMMC_CPSM_ENABLE; 80bd9ea: f44f 6380 mov.w r3, #1024 ; 0x400 80bd9ee: 61bb str r3, [r7, #24] (void)SDMMC_SendCommand(SDMMCx, &sdmmc_cmdinit); 80bd9f0: f107 0308 add.w r3, r7, #8 80bd9f4: 4619 mov r1, r3 80bd9f6: 6878 ldr r0, [r7, #4] 80bd9f8: f7ff fd82 bl 80bd500 /* Check for error conditions */ errorstate = SDMMC_GetCmdResp6(SDMMCx, SDMMC_CMD_SET_REL_ADDR, pRCA); 80bd9fc: 683a ldr r2, [r7, #0] 80bd9fe: 2103 movs r1, #3 80bda00: 6878 ldr r0, [r7, #4] 80bda02: f000 f99d bl 80bdd40 80bda06: 61f8 str r0, [r7, #28] return errorstate; 80bda08: 69fb ldr r3, [r7, #28] } 80bda0a: 4618 mov r0, r3 80bda0c: 3720 adds r7, #32 80bda0e: 46bd mov sp, r7 80bda10: bd80 pop {r7, pc} 080bda12 : * @param SDMMCx: Pointer to SDMMC register base * @param Argument: Command Argument * @retval HAL status */ uint32_t SDMMC_CmdSendStatus(SDMMC_TypeDef *SDMMCx, uint32_t Argument) { 80bda12: b580 push {r7, lr} 80bda14: b088 sub sp, #32 80bda16: af00 add r7, sp, #0 80bda18: 6078 str r0, [r7, #4] 80bda1a: 6039 str r1, [r7, #0] SDMMC_CmdInitTypeDef sdmmc_cmdinit; uint32_t errorstate; sdmmc_cmdinit.Argument = Argument; 80bda1c: 683b ldr r3, [r7, #0] 80bda1e: 60bb str r3, [r7, #8] sdmmc_cmdinit.CmdIndex = SDMMC_CMD_SEND_STATUS; 80bda20: 230d movs r3, #13 80bda22: 60fb str r3, [r7, #12] sdmmc_cmdinit.Response = SDMMC_RESPONSE_SHORT; 80bda24: 2340 movs r3, #64 ; 0x40 80bda26: 613b str r3, [r7, #16] sdmmc_cmdinit.WaitForInterrupt = SDMMC_WAIT_NO; 80bda28: 2300 movs r3, #0 80bda2a: 617b str r3, [r7, #20] sdmmc_cmdinit.CPSM = SDMMC_CPSM_ENABLE; 80bda2c: f44f 6380 mov.w r3, #1024 ; 0x400 80bda30: 61bb str r3, [r7, #24] (void)SDMMC_SendCommand(SDMMCx, &sdmmc_cmdinit); 80bda32: f107 0308 add.w r3, r7, #8 80bda36: 4619 mov r1, r3 80bda38: 6878 ldr r0, [r7, #4] 80bda3a: f7ff fd61 bl 80bd500 /* Check for error conditions */ errorstate = SDMMC_GetCmdResp1(SDMMCx, SDMMC_CMD_SEND_STATUS, SDMMC_CMDTIMEOUT); 80bda3e: f241 3288 movw r2, #5000 ; 0x1388 80bda42: 210d movs r1, #13 80bda44: 6878 ldr r0, [r7, #4] 80bda46: f000 f807 bl 80bda58 80bda4a: 61f8 str r0, [r7, #28] return errorstate; 80bda4c: 69fb ldr r3, [r7, #28] } 80bda4e: 4618 mov r0, r3 80bda50: 3720 adds r7, #32 80bda52: 46bd mov sp, r7 80bda54: bd80 pop {r7, pc} ... 080bda58 : * @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) { 80bda58: b580 push {r7, lr} 80bda5a: b088 sub sp, #32 80bda5c: af00 add r7, sp, #0 80bda5e: 60f8 str r0, [r7, #12] 80bda60: 460b mov r3, r1 80bda62: 607a str r2, [r7, #4] 80bda64: 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); 80bda66: 4b70 ldr r3, [pc, #448] ; (80bdc28 ) 80bda68: 681b ldr r3, [r3, #0] 80bda6a: 4a70 ldr r2, [pc, #448] ; (80bdc2c ) 80bda6c: fba2 2303 umull r2, r3, r2, r3 80bda70: 0a5b lsrs r3, r3, #9 80bda72: 687a ldr r2, [r7, #4] 80bda74: fb02 f303 mul.w r3, r2, r3 80bda78: 61fb str r3, [r7, #28] do { if (count-- == 0U) 80bda7a: 69fb ldr r3, [r7, #28] 80bda7c: 1e5a subs r2, r3, #1 80bda7e: 61fa str r2, [r7, #28] 80bda80: 2b00 cmp r3, #0 80bda82: d102 bne.n 80bda8a { return SDMMC_ERROR_TIMEOUT; 80bda84: f04f 4300 mov.w r3, #2147483648 ; 0x80000000 80bda88: e0c9 b.n 80bdc1e } sta_reg = SDMMCx->STA; 80bda8a: 68fb ldr r3, [r7, #12] 80bda8c: 6b5b ldr r3, [r3, #52] ; 0x34 80bda8e: 61bb str r3, [r7, #24] }while(((sta_reg & (SDMMC_FLAG_CCRCFAIL | SDMMC_FLAG_CMDREND | SDMMC_FLAG_CTIMEOUT)) == 0U) || 80bda90: 69bb ldr r3, [r7, #24] 80bda92: f003 0345 and.w r3, r3, #69 ; 0x45 ((sta_reg & SDMMC_FLAG_CMDACT) != 0U )); 80bda96: 2b00 cmp r3, #0 80bda98: d0ef beq.n 80bda7a 80bda9a: 69bb ldr r3, [r7, #24] 80bda9c: f403 6300 and.w r3, r3, #2048 ; 0x800 }while(((sta_reg & (SDMMC_FLAG_CCRCFAIL | SDMMC_FLAG_CMDREND | SDMMC_FLAG_CTIMEOUT)) == 0U) || 80bdaa0: 2b00 cmp r3, #0 80bdaa2: d1ea bne.n 80bda7a if(__SDMMC_GET_FLAG(SDMMCx, SDMMC_FLAG_CTIMEOUT)) 80bdaa4: 68fb ldr r3, [r7, #12] 80bdaa6: 6b5b ldr r3, [r3, #52] ; 0x34 80bdaa8: f003 0304 and.w r3, r3, #4 80bdaac: 2b00 cmp r3, #0 80bdaae: d004 beq.n 80bdaba { __SDMMC_CLEAR_FLAG(SDMMCx, SDMMC_FLAG_CTIMEOUT); 80bdab0: 68fb ldr r3, [r7, #12] 80bdab2: 2204 movs r2, #4 80bdab4: 639a str r2, [r3, #56] ; 0x38 return SDMMC_ERROR_CMD_RSP_TIMEOUT; 80bdab6: 2304 movs r3, #4 80bdab8: e0b1 b.n 80bdc1e } else if(__SDMMC_GET_FLAG(SDMMCx, SDMMC_FLAG_CCRCFAIL)) 80bdaba: 68fb ldr r3, [r7, #12] 80bdabc: 6b5b ldr r3, [r3, #52] ; 0x34 80bdabe: f003 0301 and.w r3, r3, #1 80bdac2: 2b00 cmp r3, #0 80bdac4: d004 beq.n 80bdad0 { __SDMMC_CLEAR_FLAG(SDMMCx, SDMMC_FLAG_CCRCFAIL); 80bdac6: 68fb ldr r3, [r7, #12] 80bdac8: 2201 movs r2, #1 80bdaca: 639a str r2, [r3, #56] ; 0x38 return SDMMC_ERROR_CMD_CRC_FAIL; 80bdacc: 2301 movs r3, #1 80bdace: e0a6 b.n 80bdc1e { /* Nothing to do */ } /* Clear all the static flags */ __SDMMC_CLEAR_FLAG(SDMMCx, SDMMC_STATIC_CMD_FLAGS); 80bdad0: 68fb ldr r3, [r7, #12] 80bdad2: 22c5 movs r2, #197 ; 0xc5 80bdad4: 639a str r2, [r3, #56] ; 0x38 /* Check response received is of desired command */ if(SDMMC_GetCommandResponse(SDMMCx) != SD_CMD) 80bdad6: 68f8 ldr r0, [r7, #12] 80bdad8: f7ff fd3c bl 80bd554 80bdadc: 4603 mov r3, r0 80bdade: 461a mov r2, r3 80bdae0: 7afb ldrb r3, [r7, #11] 80bdae2: 4293 cmp r3, r2 80bdae4: d001 beq.n 80bdaea { return SDMMC_ERROR_CMD_CRC_FAIL; 80bdae6: 2301 movs r3, #1 80bdae8: e099 b.n 80bdc1e } /* We have received response, retrieve it for analysis */ response_r1 = SDMMC_GetResponse(SDMMCx, SDMMC_RESP1); 80bdaea: 2100 movs r1, #0 80bdaec: 68f8 ldr r0, [r7, #12] 80bdaee: f7ff fd3e bl 80bd56e 80bdaf2: 6178 str r0, [r7, #20] if((response_r1 & SDMMC_OCR_ERRORBITS) == SDMMC_ALLZERO) 80bdaf4: 697a ldr r2, [r7, #20] 80bdaf6: 4b4e ldr r3, [pc, #312] ; (80bdc30 ) 80bdaf8: 4013 ands r3, r2 80bdafa: 2b00 cmp r3, #0 80bdafc: d101 bne.n 80bdb02 { return SDMMC_ERROR_NONE; 80bdafe: 2300 movs r3, #0 80bdb00: e08d b.n 80bdc1e } else if((response_r1 & SDMMC_OCR_ADDR_OUT_OF_RANGE) == SDMMC_OCR_ADDR_OUT_OF_RANGE) 80bdb02: 697b ldr r3, [r7, #20] 80bdb04: 2b00 cmp r3, #0 80bdb06: da02 bge.n 80bdb0e { return SDMMC_ERROR_ADDR_OUT_OF_RANGE; 80bdb08: f04f 7300 mov.w r3, #33554432 ; 0x2000000 80bdb0c: e087 b.n 80bdc1e } else if((response_r1 & SDMMC_OCR_ADDR_MISALIGNED) == SDMMC_OCR_ADDR_MISALIGNED) 80bdb0e: 697b ldr r3, [r7, #20] 80bdb10: f003 4380 and.w r3, r3, #1073741824 ; 0x40000000 80bdb14: 2b00 cmp r3, #0 80bdb16: d001 beq.n 80bdb1c { return SDMMC_ERROR_ADDR_MISALIGNED; 80bdb18: 2340 movs r3, #64 ; 0x40 80bdb1a: e080 b.n 80bdc1e } else if((response_r1 & SDMMC_OCR_BLOCK_LEN_ERR) == SDMMC_OCR_BLOCK_LEN_ERR) 80bdb1c: 697b ldr r3, [r7, #20] 80bdb1e: f003 5300 and.w r3, r3, #536870912 ; 0x20000000 80bdb22: 2b00 cmp r3, #0 80bdb24: d001 beq.n 80bdb2a { return SDMMC_ERROR_BLOCK_LEN_ERR; 80bdb26: 2380 movs r3, #128 ; 0x80 80bdb28: e079 b.n 80bdc1e } else if((response_r1 & SDMMC_OCR_ERASE_SEQ_ERR) == SDMMC_OCR_ERASE_SEQ_ERR) 80bdb2a: 697b ldr r3, [r7, #20] 80bdb2c: f003 5380 and.w r3, r3, #268435456 ; 0x10000000 80bdb30: 2b00 cmp r3, #0 80bdb32: d002 beq.n 80bdb3a { return SDMMC_ERROR_ERASE_SEQ_ERR; 80bdb34: f44f 7380 mov.w r3, #256 ; 0x100 80bdb38: e071 b.n 80bdc1e } else if((response_r1 & SDMMC_OCR_BAD_ERASE_PARAM) == SDMMC_OCR_BAD_ERASE_PARAM) 80bdb3a: 697b ldr r3, [r7, #20] 80bdb3c: f003 6300 and.w r3, r3, #134217728 ; 0x8000000 80bdb40: 2b00 cmp r3, #0 80bdb42: d002 beq.n 80bdb4a { return SDMMC_ERROR_BAD_ERASE_PARAM; 80bdb44: f44f 7300 mov.w r3, #512 ; 0x200 80bdb48: e069 b.n 80bdc1e } else if((response_r1 & SDMMC_OCR_WRITE_PROT_VIOLATION) == SDMMC_OCR_WRITE_PROT_VIOLATION) 80bdb4a: 697b ldr r3, [r7, #20] 80bdb4c: f003 6380 and.w r3, r3, #67108864 ; 0x4000000 80bdb50: 2b00 cmp r3, #0 80bdb52: d002 beq.n 80bdb5a { return SDMMC_ERROR_WRITE_PROT_VIOLATION; 80bdb54: f44f 6380 mov.w r3, #1024 ; 0x400 80bdb58: e061 b.n 80bdc1e } else if((response_r1 & SDMMC_OCR_LOCK_UNLOCK_FAILED) == SDMMC_OCR_LOCK_UNLOCK_FAILED) 80bdb5a: 697b ldr r3, [r7, #20] 80bdb5c: f003 7380 and.w r3, r3, #16777216 ; 0x1000000 80bdb60: 2b00 cmp r3, #0 80bdb62: d002 beq.n 80bdb6a { return SDMMC_ERROR_LOCK_UNLOCK_FAILED; 80bdb64: f44f 6300 mov.w r3, #2048 ; 0x800 80bdb68: e059 b.n 80bdc1e } else if((response_r1 & SDMMC_OCR_COM_CRC_FAILED) == SDMMC_OCR_COM_CRC_FAILED) 80bdb6a: 697b ldr r3, [r7, #20] 80bdb6c: f403 0300 and.w r3, r3, #8388608 ; 0x800000 80bdb70: 2b00 cmp r3, #0 80bdb72: d002 beq.n 80bdb7a { return SDMMC_ERROR_COM_CRC_FAILED; 80bdb74: f44f 5380 mov.w r3, #4096 ; 0x1000 80bdb78: e051 b.n 80bdc1e } else if((response_r1 & SDMMC_OCR_ILLEGAL_CMD) == SDMMC_OCR_ILLEGAL_CMD) 80bdb7a: 697b ldr r3, [r7, #20] 80bdb7c: f403 0380 and.w r3, r3, #4194304 ; 0x400000 80bdb80: 2b00 cmp r3, #0 80bdb82: d002 beq.n 80bdb8a { return SDMMC_ERROR_ILLEGAL_CMD; 80bdb84: f44f 5300 mov.w r3, #8192 ; 0x2000 80bdb88: e049 b.n 80bdc1e } else if((response_r1 & SDMMC_OCR_CARD_ECC_FAILED) == SDMMC_OCR_CARD_ECC_FAILED) 80bdb8a: 697b ldr r3, [r7, #20] 80bdb8c: f403 1300 and.w r3, r3, #2097152 ; 0x200000 80bdb90: 2b00 cmp r3, #0 80bdb92: d002 beq.n 80bdb9a { return SDMMC_ERROR_CARD_ECC_FAILED; 80bdb94: f44f 4380 mov.w r3, #16384 ; 0x4000 80bdb98: e041 b.n 80bdc1e } else if((response_r1 & SDMMC_OCR_CC_ERROR) == SDMMC_OCR_CC_ERROR) 80bdb9a: 697b ldr r3, [r7, #20] 80bdb9c: f403 1380 and.w r3, r3, #1048576 ; 0x100000 80bdba0: 2b00 cmp r3, #0 80bdba2: d002 beq.n 80bdbaa { return SDMMC_ERROR_CC_ERR; 80bdba4: f44f 4300 mov.w r3, #32768 ; 0x8000 80bdba8: e039 b.n 80bdc1e } else if((response_r1 & SDMMC_OCR_STREAM_READ_UNDERRUN) == SDMMC_OCR_STREAM_READ_UNDERRUN) 80bdbaa: 697b ldr r3, [r7, #20] 80bdbac: f403 2380 and.w r3, r3, #262144 ; 0x40000 80bdbb0: 2b00 cmp r3, #0 80bdbb2: d002 beq.n 80bdbba { return SDMMC_ERROR_STREAM_READ_UNDERRUN; 80bdbb4: f44f 3300 mov.w r3, #131072 ; 0x20000 80bdbb8: e031 b.n 80bdc1e } else if((response_r1 & SDMMC_OCR_STREAM_WRITE_OVERRUN) == SDMMC_OCR_STREAM_WRITE_OVERRUN) 80bdbba: 697b ldr r3, [r7, #20] 80bdbbc: f403 3300 and.w r3, r3, #131072 ; 0x20000 80bdbc0: 2b00 cmp r3, #0 80bdbc2: d002 beq.n 80bdbca { return SDMMC_ERROR_STREAM_WRITE_OVERRUN; 80bdbc4: f44f 2380 mov.w r3, #262144 ; 0x40000 80bdbc8: e029 b.n 80bdc1e } else if((response_r1 & SDMMC_OCR_CID_CSD_OVERWRITE) == SDMMC_OCR_CID_CSD_OVERWRITE) 80bdbca: 697b ldr r3, [r7, #20] 80bdbcc: f403 3380 and.w r3, r3, #65536 ; 0x10000 80bdbd0: 2b00 cmp r3, #0 80bdbd2: d002 beq.n 80bdbda { return SDMMC_ERROR_CID_CSD_OVERWRITE; 80bdbd4: f44f 2300 mov.w r3, #524288 ; 0x80000 80bdbd8: e021 b.n 80bdc1e } else if((response_r1 & SDMMC_OCR_WP_ERASE_SKIP) == SDMMC_OCR_WP_ERASE_SKIP) 80bdbda: 697b ldr r3, [r7, #20] 80bdbdc: f403 4300 and.w r3, r3, #32768 ; 0x8000 80bdbe0: 2b00 cmp r3, #0 80bdbe2: d002 beq.n 80bdbea { return SDMMC_ERROR_WP_ERASE_SKIP; 80bdbe4: f44f 1380 mov.w r3, #1048576 ; 0x100000 80bdbe8: e019 b.n 80bdc1e } else if((response_r1 & SDMMC_OCR_CARD_ECC_DISABLED) == SDMMC_OCR_CARD_ECC_DISABLED) 80bdbea: 697b ldr r3, [r7, #20] 80bdbec: f403 4380 and.w r3, r3, #16384 ; 0x4000 80bdbf0: 2b00 cmp r3, #0 80bdbf2: d002 beq.n 80bdbfa { return SDMMC_ERROR_CARD_ECC_DISABLED; 80bdbf4: f44f 1300 mov.w r3, #2097152 ; 0x200000 80bdbf8: e011 b.n 80bdc1e } else if((response_r1 & SDMMC_OCR_ERASE_RESET) == SDMMC_OCR_ERASE_RESET) 80bdbfa: 697b ldr r3, [r7, #20] 80bdbfc: f403 5300 and.w r3, r3, #8192 ; 0x2000 80bdc00: 2b00 cmp r3, #0 80bdc02: d002 beq.n 80bdc0a { return SDMMC_ERROR_ERASE_RESET; 80bdc04: f44f 0380 mov.w r3, #4194304 ; 0x400000 80bdc08: e009 b.n 80bdc1e } else if((response_r1 & SDMMC_OCR_AKE_SEQ_ERROR) == SDMMC_OCR_AKE_SEQ_ERROR) 80bdc0a: 697b ldr r3, [r7, #20] 80bdc0c: f003 0308 and.w r3, r3, #8 80bdc10: 2b00 cmp r3, #0 80bdc12: d002 beq.n 80bdc1a { return SDMMC_ERROR_AKE_SEQ_ERR; 80bdc14: f44f 0300 mov.w r3, #8388608 ; 0x800000 80bdc18: e001 b.n 80bdc1e } else { return SDMMC_ERROR_GENERAL_UNKNOWN_ERR; 80bdc1a: f44f 3380 mov.w r3, #65536 ; 0x10000 } } 80bdc1e: 4618 mov r0, r3 80bdc20: 3720 adds r7, #32 80bdc22: 46bd mov sp, r7 80bdc24: bd80 pop {r7, pc} 80bdc26: bf00 nop 80bdc28: 200209b4 .word 0x200209b4 80bdc2c: 10624dd3 .word 0x10624dd3 80bdc30: fdffe008 .word 0xfdffe008 080bdc34 : * @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) { 80bdc34: b480 push {r7} 80bdc36: b085 sub sp, #20 80bdc38: af00 add r7, sp, #0 80bdc3a: 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); 80bdc3c: 4b1f ldr r3, [pc, #124] ; (80bdcbc ) 80bdc3e: 681b ldr r3, [r3, #0] 80bdc40: 4a1f ldr r2, [pc, #124] ; (80bdcc0 ) 80bdc42: fba2 2303 umull r2, r3, r2, r3 80bdc46: 0a5b lsrs r3, r3, #9 80bdc48: f241 3288 movw r2, #5000 ; 0x1388 80bdc4c: fb02 f303 mul.w r3, r2, r3 80bdc50: 60fb str r3, [r7, #12] do { if (count-- == 0U) 80bdc52: 68fb ldr r3, [r7, #12] 80bdc54: 1e5a subs r2, r3, #1 80bdc56: 60fa str r2, [r7, #12] 80bdc58: 2b00 cmp r3, #0 80bdc5a: d102 bne.n 80bdc62 { return SDMMC_ERROR_TIMEOUT; 80bdc5c: f04f 4300 mov.w r3, #2147483648 ; 0x80000000 80bdc60: e026 b.n 80bdcb0 } sta_reg = SDMMCx->STA; 80bdc62: 687b ldr r3, [r7, #4] 80bdc64: 6b5b ldr r3, [r3, #52] ; 0x34 80bdc66: 60bb str r3, [r7, #8] }while(((sta_reg & (SDMMC_FLAG_CCRCFAIL | SDMMC_FLAG_CMDREND | SDMMC_FLAG_CTIMEOUT)) == 0U) || 80bdc68: 68bb ldr r3, [r7, #8] 80bdc6a: f003 0345 and.w r3, r3, #69 ; 0x45 ((sta_reg & SDMMC_FLAG_CMDACT) != 0U )); 80bdc6e: 2b00 cmp r3, #0 80bdc70: d0ef beq.n 80bdc52 80bdc72: 68bb ldr r3, [r7, #8] 80bdc74: f403 6300 and.w r3, r3, #2048 ; 0x800 }while(((sta_reg & (SDMMC_FLAG_CCRCFAIL | SDMMC_FLAG_CMDREND | SDMMC_FLAG_CTIMEOUT)) == 0U) || 80bdc78: 2b00 cmp r3, #0 80bdc7a: d1ea bne.n 80bdc52 if (__SDMMC_GET_FLAG(SDMMCx, SDMMC_FLAG_CTIMEOUT)) 80bdc7c: 687b ldr r3, [r7, #4] 80bdc7e: 6b5b ldr r3, [r3, #52] ; 0x34 80bdc80: f003 0304 and.w r3, r3, #4 80bdc84: 2b00 cmp r3, #0 80bdc86: d004 beq.n 80bdc92 { __SDMMC_CLEAR_FLAG(SDMMCx, SDMMC_FLAG_CTIMEOUT); 80bdc88: 687b ldr r3, [r7, #4] 80bdc8a: 2204 movs r2, #4 80bdc8c: 639a str r2, [r3, #56] ; 0x38 return SDMMC_ERROR_CMD_RSP_TIMEOUT; 80bdc8e: 2304 movs r3, #4 80bdc90: e00e b.n 80bdcb0 } else if (__SDMMC_GET_FLAG(SDMMCx, SDMMC_FLAG_CCRCFAIL)) 80bdc92: 687b ldr r3, [r7, #4] 80bdc94: 6b5b ldr r3, [r3, #52] ; 0x34 80bdc96: f003 0301 and.w r3, r3, #1 80bdc9a: 2b00 cmp r3, #0 80bdc9c: d004 beq.n 80bdca8 { __SDMMC_CLEAR_FLAG(SDMMCx, SDMMC_FLAG_CCRCFAIL); 80bdc9e: 687b ldr r3, [r7, #4] 80bdca0: 2201 movs r2, #1 80bdca2: 639a str r2, [r3, #56] ; 0x38 return SDMMC_ERROR_CMD_CRC_FAIL; 80bdca4: 2301 movs r3, #1 80bdca6: e003 b.n 80bdcb0 } else { /* No error flag set */ /* Clear all the static flags */ __SDMMC_CLEAR_FLAG(SDMMCx, SDMMC_STATIC_CMD_FLAGS); 80bdca8: 687b ldr r3, [r7, #4] 80bdcaa: 22c5 movs r2, #197 ; 0xc5 80bdcac: 639a str r2, [r3, #56] ; 0x38 } return SDMMC_ERROR_NONE; 80bdcae: 2300 movs r3, #0 } 80bdcb0: 4618 mov r0, r3 80bdcb2: 3714 adds r7, #20 80bdcb4: 46bd mov sp, r7 80bdcb6: f85d 7b04 ldr.w r7, [sp], #4 80bdcba: 4770 bx lr 80bdcbc: 200209b4 .word 0x200209b4 80bdcc0: 10624dd3 .word 0x10624dd3 080bdcc4 : * @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) { 80bdcc4: b480 push {r7} 80bdcc6: b085 sub sp, #20 80bdcc8: af00 add r7, sp, #0 80bdcca: 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); 80bdccc: 4b1a ldr r3, [pc, #104] ; (80bdd38 ) 80bdcce: 681b ldr r3, [r3, #0] 80bdcd0: 4a1a ldr r2, [pc, #104] ; (80bdd3c ) 80bdcd2: fba2 2303 umull r2, r3, r2, r3 80bdcd6: 0a5b lsrs r3, r3, #9 80bdcd8: f241 3288 movw r2, #5000 ; 0x1388 80bdcdc: fb02 f303 mul.w r3, r2, r3 80bdce0: 60fb str r3, [r7, #12] do { if (count-- == 0U) 80bdce2: 68fb ldr r3, [r7, #12] 80bdce4: 1e5a subs r2, r3, #1 80bdce6: 60fa str r2, [r7, #12] 80bdce8: 2b00 cmp r3, #0 80bdcea: d102 bne.n 80bdcf2 { return SDMMC_ERROR_TIMEOUT; 80bdcec: f04f 4300 mov.w r3, #2147483648 ; 0x80000000 80bdcf0: e01b b.n 80bdd2a } sta_reg = SDMMCx->STA; 80bdcf2: 687b ldr r3, [r7, #4] 80bdcf4: 6b5b ldr r3, [r3, #52] ; 0x34 80bdcf6: 60bb str r3, [r7, #8] }while(((sta_reg & (SDMMC_FLAG_CCRCFAIL | SDMMC_FLAG_CMDREND | SDMMC_FLAG_CTIMEOUT)) == 0U) || 80bdcf8: 68bb ldr r3, [r7, #8] 80bdcfa: f003 0345 and.w r3, r3, #69 ; 0x45 ((sta_reg & SDMMC_FLAG_CMDACT) != 0U )); 80bdcfe: 2b00 cmp r3, #0 80bdd00: d0ef beq.n 80bdce2 80bdd02: 68bb ldr r3, [r7, #8] 80bdd04: f403 6300 and.w r3, r3, #2048 ; 0x800 }while(((sta_reg & (SDMMC_FLAG_CCRCFAIL | SDMMC_FLAG_CMDREND | SDMMC_FLAG_CTIMEOUT)) == 0U) || 80bdd08: 2b00 cmp r3, #0 80bdd0a: d1ea bne.n 80bdce2 if(__SDMMC_GET_FLAG(SDMMCx, SDMMC_FLAG_CTIMEOUT)) 80bdd0c: 687b ldr r3, [r7, #4] 80bdd0e: 6b5b ldr r3, [r3, #52] ; 0x34 80bdd10: f003 0304 and.w r3, r3, #4 80bdd14: 2b00 cmp r3, #0 80bdd16: d004 beq.n 80bdd22 { __SDMMC_CLEAR_FLAG(SDMMCx, SDMMC_FLAG_CTIMEOUT); 80bdd18: 687b ldr r3, [r7, #4] 80bdd1a: 2204 movs r2, #4 80bdd1c: 639a str r2, [r3, #56] ; 0x38 return SDMMC_ERROR_CMD_RSP_TIMEOUT; 80bdd1e: 2304 movs r3, #4 80bdd20: e003 b.n 80bdd2a } else { /* Clear all the static flags */ __SDMMC_CLEAR_FLAG(SDMMCx, SDMMC_STATIC_CMD_FLAGS); 80bdd22: 687b ldr r3, [r7, #4] 80bdd24: 22c5 movs r2, #197 ; 0xc5 80bdd26: 639a str r2, [r3, #56] ; 0x38 } return SDMMC_ERROR_NONE; 80bdd28: 2300 movs r3, #0 } 80bdd2a: 4618 mov r0, r3 80bdd2c: 3714 adds r7, #20 80bdd2e: 46bd mov sp, r7 80bdd30: f85d 7b04 ldr.w r7, [sp], #4 80bdd34: 4770 bx lr 80bdd36: bf00 nop 80bdd38: 200209b4 .word 0x200209b4 80bdd3c: 10624dd3 .word 0x10624dd3 080bdd40 : * @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) { 80bdd40: b580 push {r7, lr} 80bdd42: b088 sub sp, #32 80bdd44: af00 add r7, sp, #0 80bdd46: 60f8 str r0, [r7, #12] 80bdd48: 460b mov r3, r1 80bdd4a: 607a str r2, [r7, #4] 80bdd4c: 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); 80bdd4e: 4b35 ldr r3, [pc, #212] ; (80bde24 ) 80bdd50: 681b ldr r3, [r3, #0] 80bdd52: 4a35 ldr r2, [pc, #212] ; (80bde28 ) 80bdd54: fba2 2303 umull r2, r3, r2, r3 80bdd58: 0a5b lsrs r3, r3, #9 80bdd5a: f241 3288 movw r2, #5000 ; 0x1388 80bdd5e: fb02 f303 mul.w r3, r2, r3 80bdd62: 61fb str r3, [r7, #28] do { if (count-- == 0U) 80bdd64: 69fb ldr r3, [r7, #28] 80bdd66: 1e5a subs r2, r3, #1 80bdd68: 61fa str r2, [r7, #28] 80bdd6a: 2b00 cmp r3, #0 80bdd6c: d102 bne.n 80bdd74 { return SDMMC_ERROR_TIMEOUT; 80bdd6e: f04f 4300 mov.w r3, #2147483648 ; 0x80000000 80bdd72: e052 b.n 80bde1a } sta_reg = SDMMCx->STA; 80bdd74: 68fb ldr r3, [r7, #12] 80bdd76: 6b5b ldr r3, [r3, #52] ; 0x34 80bdd78: 61bb str r3, [r7, #24] }while(((sta_reg & (SDMMC_FLAG_CCRCFAIL | SDMMC_FLAG_CMDREND | SDMMC_FLAG_CTIMEOUT)) == 0U) || 80bdd7a: 69bb ldr r3, [r7, #24] 80bdd7c: f003 0345 and.w r3, r3, #69 ; 0x45 ((sta_reg & SDMMC_FLAG_CMDACT) != 0U )); 80bdd80: 2b00 cmp r3, #0 80bdd82: d0ef beq.n 80bdd64 80bdd84: 69bb ldr r3, [r7, #24] 80bdd86: f403 6300 and.w r3, r3, #2048 ; 0x800 }while(((sta_reg & (SDMMC_FLAG_CCRCFAIL | SDMMC_FLAG_CMDREND | SDMMC_FLAG_CTIMEOUT)) == 0U) || 80bdd8a: 2b00 cmp r3, #0 80bdd8c: d1ea bne.n 80bdd64 if(__SDMMC_GET_FLAG(SDMMCx, SDMMC_FLAG_CTIMEOUT)) 80bdd8e: 68fb ldr r3, [r7, #12] 80bdd90: 6b5b ldr r3, [r3, #52] ; 0x34 80bdd92: f003 0304 and.w r3, r3, #4 80bdd96: 2b00 cmp r3, #0 80bdd98: d004 beq.n 80bdda4 { __SDMMC_CLEAR_FLAG(SDMMCx, SDMMC_FLAG_CTIMEOUT); 80bdd9a: 68fb ldr r3, [r7, #12] 80bdd9c: 2204 movs r2, #4 80bdd9e: 639a str r2, [r3, #56] ; 0x38 return SDMMC_ERROR_CMD_RSP_TIMEOUT; 80bdda0: 2304 movs r3, #4 80bdda2: e03a b.n 80bde1a } else if(__SDMMC_GET_FLAG(SDMMCx, SDMMC_FLAG_CCRCFAIL)) 80bdda4: 68fb ldr r3, [r7, #12] 80bdda6: 6b5b ldr r3, [r3, #52] ; 0x34 80bdda8: f003 0301 and.w r3, r3, #1 80bddac: 2b00 cmp r3, #0 80bddae: d004 beq.n 80bddba { __SDMMC_CLEAR_FLAG(SDMMCx, SDMMC_FLAG_CCRCFAIL); 80bddb0: 68fb ldr r3, [r7, #12] 80bddb2: 2201 movs r2, #1 80bddb4: 639a str r2, [r3, #56] ; 0x38 return SDMMC_ERROR_CMD_CRC_FAIL; 80bddb6: 2301 movs r3, #1 80bddb8: e02f b.n 80bde1a { /* Nothing to do */ } /* Check response received is of desired command */ if(SDMMC_GetCommandResponse(SDMMCx) != SD_CMD) 80bddba: 68f8 ldr r0, [r7, #12] 80bddbc: f7ff fbca bl 80bd554 80bddc0: 4603 mov r3, r0 80bddc2: 461a mov r2, r3 80bddc4: 7afb ldrb r3, [r7, #11] 80bddc6: 4293 cmp r3, r2 80bddc8: d001 beq.n 80bddce { return SDMMC_ERROR_CMD_CRC_FAIL; 80bddca: 2301 movs r3, #1 80bddcc: e025 b.n 80bde1a } /* Clear all the static flags */ __SDMMC_CLEAR_FLAG(SDMMCx, SDMMC_STATIC_CMD_FLAGS); 80bddce: 68fb ldr r3, [r7, #12] 80bddd0: 22c5 movs r2, #197 ; 0xc5 80bddd2: 639a str r2, [r3, #56] ; 0x38 /* We have received response, retrieve it. */ response_r1 = SDMMC_GetResponse(SDMMCx, SDMMC_RESP1); 80bddd4: 2100 movs r1, #0 80bddd6: 68f8 ldr r0, [r7, #12] 80bddd8: f7ff fbc9 bl 80bd56e 80bdddc: 6178 str r0, [r7, #20] if((response_r1 & (SDMMC_R6_GENERAL_UNKNOWN_ERROR | SDMMC_R6_ILLEGAL_CMD | SDMMC_R6_COM_CRC_FAILED)) == SDMMC_ALLZERO) 80bddde: 697b ldr r3, [r7, #20] 80bdde0: f403 4360 and.w r3, r3, #57344 ; 0xe000 80bdde4: 2b00 cmp r3, #0 80bdde6: d106 bne.n 80bddf6 { *pRCA = (uint16_t) (response_r1 >> 16); 80bdde8: 697b ldr r3, [r7, #20] 80bddea: 0c1b lsrs r3, r3, #16 80bddec: b29a uxth r2, r3 80bddee: 687b ldr r3, [r7, #4] 80bddf0: 801a strh r2, [r3, #0] return SDMMC_ERROR_NONE; 80bddf2: 2300 movs r3, #0 80bddf4: e011 b.n 80bde1a } else if((response_r1 & SDMMC_R6_ILLEGAL_CMD) == SDMMC_R6_ILLEGAL_CMD) 80bddf6: 697b ldr r3, [r7, #20] 80bddf8: f403 4380 and.w r3, r3, #16384 ; 0x4000 80bddfc: 2b00 cmp r3, #0 80bddfe: d002 beq.n 80bde06 { return SDMMC_ERROR_ILLEGAL_CMD; 80bde00: f44f 5300 mov.w r3, #8192 ; 0x2000 80bde04: e009 b.n 80bde1a } else if((response_r1 & SDMMC_R6_COM_CRC_FAILED) == SDMMC_R6_COM_CRC_FAILED) 80bde06: 697b ldr r3, [r7, #20] 80bde08: f403 4300 and.w r3, r3, #32768 ; 0x8000 80bde0c: 2b00 cmp r3, #0 80bde0e: d002 beq.n 80bde16 { return SDMMC_ERROR_COM_CRC_FAILED; 80bde10: f44f 5380 mov.w r3, #4096 ; 0x1000 80bde14: e001 b.n 80bde1a } else { return SDMMC_ERROR_GENERAL_UNKNOWN_ERR; 80bde16: f44f 3380 mov.w r3, #65536 ; 0x10000 } } 80bde1a: 4618 mov r0, r3 80bde1c: 3720 adds r7, #32 80bde1e: 46bd mov sp, r7 80bde20: bd80 pop {r7, pc} 80bde22: bf00 nop 80bde24: 200209b4 .word 0x200209b4 80bde28: 10624dd3 .word 0x10624dd3 080bde2c : * @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) { 80bde2c: b480 push {r7} 80bde2e: b085 sub sp, #20 80bde30: af00 add r7, sp, #0 80bde32: 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); 80bde34: 4b22 ldr r3, [pc, #136] ; (80bdec0 ) 80bde36: 681b ldr r3, [r3, #0] 80bde38: 4a22 ldr r2, [pc, #136] ; (80bdec4 ) 80bde3a: fba2 2303 umull r2, r3, r2, r3 80bde3e: 0a5b lsrs r3, r3, #9 80bde40: f241 3288 movw r2, #5000 ; 0x1388 80bde44: fb02 f303 mul.w r3, r2, r3 80bde48: 60fb str r3, [r7, #12] do { if (count-- == 0U) 80bde4a: 68fb ldr r3, [r7, #12] 80bde4c: 1e5a subs r2, r3, #1 80bde4e: 60fa str r2, [r7, #12] 80bde50: 2b00 cmp r3, #0 80bde52: d102 bne.n 80bde5a { return SDMMC_ERROR_TIMEOUT; 80bde54: f04f 4300 mov.w r3, #2147483648 ; 0x80000000 80bde58: e02c b.n 80bdeb4 } sta_reg = SDMMCx->STA; 80bde5a: 687b ldr r3, [r7, #4] 80bde5c: 6b5b ldr r3, [r3, #52] ; 0x34 80bde5e: 60bb str r3, [r7, #8] }while(((sta_reg & (SDMMC_FLAG_CCRCFAIL | SDMMC_FLAG_CMDREND | SDMMC_FLAG_CTIMEOUT)) == 0U) || 80bde60: 68bb ldr r3, [r7, #8] 80bde62: f003 0345 and.w r3, r3, #69 ; 0x45 ((sta_reg & SDMMC_FLAG_CMDACT) != 0U )); 80bde66: 2b00 cmp r3, #0 80bde68: d0ef beq.n 80bde4a 80bde6a: 68bb ldr r3, [r7, #8] 80bde6c: f403 6300 and.w r3, r3, #2048 ; 0x800 }while(((sta_reg & (SDMMC_FLAG_CCRCFAIL | SDMMC_FLAG_CMDREND | SDMMC_FLAG_CTIMEOUT)) == 0U) || 80bde70: 2b00 cmp r3, #0 80bde72: d1ea bne.n 80bde4a if(__SDMMC_GET_FLAG(SDMMCx, SDMMC_FLAG_CTIMEOUT)) 80bde74: 687b ldr r3, [r7, #4] 80bde76: 6b5b ldr r3, [r3, #52] ; 0x34 80bde78: f003 0304 and.w r3, r3, #4 80bde7c: 2b00 cmp r3, #0 80bde7e: d004 beq.n 80bde8a { /* Card is SD V2.0 compliant */ __SDMMC_CLEAR_FLAG(SDMMCx, SDMMC_FLAG_CTIMEOUT); 80bde80: 687b ldr r3, [r7, #4] 80bde82: 2204 movs r2, #4 80bde84: 639a str r2, [r3, #56] ; 0x38 return SDMMC_ERROR_CMD_RSP_TIMEOUT; 80bde86: 2304 movs r3, #4 80bde88: e014 b.n 80bdeb4 } else if(__SDMMC_GET_FLAG(SDMMCx, SDMMC_FLAG_CCRCFAIL)) 80bde8a: 687b ldr r3, [r7, #4] 80bde8c: 6b5b ldr r3, [r3, #52] ; 0x34 80bde8e: f003 0301 and.w r3, r3, #1 80bde92: 2b00 cmp r3, #0 80bde94: d004 beq.n 80bdea0 { /* Card is SD V2.0 compliant */ __SDMMC_CLEAR_FLAG(SDMMCx, SDMMC_FLAG_CCRCFAIL); 80bde96: 687b ldr r3, [r7, #4] 80bde98: 2201 movs r2, #1 80bde9a: 639a str r2, [r3, #56] ; 0x38 return SDMMC_ERROR_CMD_CRC_FAIL; 80bde9c: 2301 movs r3, #1 80bde9e: e009 b.n 80bdeb4 else { /* Nothing to do */ } if(__SDMMC_GET_FLAG(SDMMCx, SDMMC_FLAG_CMDREND)) 80bdea0: 687b ldr r3, [r7, #4] 80bdea2: 6b5b ldr r3, [r3, #52] ; 0x34 80bdea4: f003 0340 and.w r3, r3, #64 ; 0x40 80bdea8: 2b00 cmp r3, #0 80bdeaa: d002 beq.n 80bdeb2 { /* Card is SD V2.0 compliant */ __SDMMC_CLEAR_FLAG(SDMMCx, SDMMC_FLAG_CMDREND); 80bdeac: 687b ldr r3, [r7, #4] 80bdeae: 2240 movs r2, #64 ; 0x40 80bdeb0: 639a str r2, [r3, #56] ; 0x38 } return SDMMC_ERROR_NONE; 80bdeb2: 2300 movs r3, #0 } 80bdeb4: 4618 mov r0, r3 80bdeb6: 3714 adds r7, #20 80bdeb8: 46bd mov sp, r7 80bdeba: f85d 7b04 ldr.w r7, [sp], #4 80bdebe: 4770 bx lr 80bdec0: 200209b4 .word 0x200209b4 80bdec4: 10624dd3 .word 0x10624dd3 080bdec8 : * @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) { 80bdec8: b480 push {r7} 80bdeca: b085 sub sp, #20 80bdecc: af00 add r7, sp, #0 80bdece: 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); 80bded0: 4b11 ldr r3, [pc, #68] ; (80bdf18 ) 80bded2: 681b ldr r3, [r3, #0] 80bded4: 4a11 ldr r2, [pc, #68] ; (80bdf1c ) 80bded6: fba2 2303 umull r2, r3, r2, r3 80bdeda: 0a5b lsrs r3, r3, #9 80bdedc: f241 3288 movw r2, #5000 ; 0x1388 80bdee0: fb02 f303 mul.w r3, r2, r3 80bdee4: 60fb str r3, [r7, #12] do { if (count-- == 0U) 80bdee6: 68fb ldr r3, [r7, #12] 80bdee8: 1e5a subs r2, r3, #1 80bdeea: 60fa str r2, [r7, #12] 80bdeec: 2b00 cmp r3, #0 80bdeee: d102 bne.n 80bdef6 { return SDMMC_ERROR_TIMEOUT; 80bdef0: f04f 4300 mov.w r3, #2147483648 ; 0x80000000 80bdef4: e009 b.n 80bdf0a } }while(!__SDMMC_GET_FLAG(SDMMCx, SDMMC_FLAG_CMDSENT)); 80bdef6: 687b ldr r3, [r7, #4] 80bdef8: 6b5b ldr r3, [r3, #52] ; 0x34 80bdefa: f003 0380 and.w r3, r3, #128 ; 0x80 80bdefe: 2b00 cmp r3, #0 80bdf00: d0f1 beq.n 80bdee6 /* Clear all the static flags */ __SDMMC_CLEAR_FLAG(SDMMCx, SDMMC_STATIC_CMD_FLAGS); 80bdf02: 687b ldr r3, [r7, #4] 80bdf04: 22c5 movs r2, #197 ; 0xc5 80bdf06: 639a str r2, [r3, #56] ; 0x38 return SDMMC_ERROR_NONE; 80bdf08: 2300 movs r3, #0 } 80bdf0a: 4618 mov r0, r3 80bdf0c: 3714 adds r7, #20 80bdf0e: 46bd mov sp, r7 80bdf10: f85d 7b04 ldr.w r7, [sp], #4 80bdf14: 4770 bx lr 80bdf16: bf00 nop 80bdf18: 200209b4 .word 0x200209b4 80bdf1c: 10624dd3 .word 0x10624dd3 080bdf20 : * @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) { 80bdf20: b084 sub sp, #16 80bdf22: b580 push {r7, lr} 80bdf24: b084 sub sp, #16 80bdf26: af00 add r7, sp, #0 80bdf28: 6078 str r0, [r7, #4] 80bdf2a: f107 001c add.w r0, r7, #28 80bdf2e: e880 000e stmia.w r0, {r1, r2, r3} HAL_StatusTypeDef ret; if (cfg.phy_itface == USB_OTG_ULPI_PHY) 80bdf32: 6b3b ldr r3, [r7, #48] ; 0x30 80bdf34: 2b01 cmp r3, #1 80bdf36: d120 bne.n 80bdf7a { USBx->GCCFG &= ~(USB_OTG_GCCFG_PWRDWN); 80bdf38: 687b ldr r3, [r7, #4] 80bdf3a: 6b9b ldr r3, [r3, #56] ; 0x38 80bdf3c: f423 3280 bic.w r2, r3, #65536 ; 0x10000 80bdf40: 687b ldr r3, [r7, #4] 80bdf42: 639a str r2, [r3, #56] ; 0x38 /* Init The ULPI Interface */ USBx->GUSBCFG &= ~(USB_OTG_GUSBCFG_TSDPS | USB_OTG_GUSBCFG_ULPIFSLS | USB_OTG_GUSBCFG_PHYSEL); 80bdf44: 687b ldr r3, [r7, #4] 80bdf46: 68da ldr r2, [r3, #12] 80bdf48: 4b20 ldr r3, [pc, #128] ; (80bdfcc ) 80bdf4a: 4013 ands r3, r2 80bdf4c: 687a ldr r2, [r7, #4] 80bdf4e: 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); 80bdf50: 687b ldr r3, [r7, #4] 80bdf52: 68db ldr r3, [r3, #12] 80bdf54: f423 1240 bic.w r2, r3, #3145728 ; 0x300000 80bdf58: 687b ldr r3, [r7, #4] 80bdf5a: 60da str r2, [r3, #12] if (cfg.use_external_vbus == 1U) 80bdf5c: 6cfb ldr r3, [r7, #76] ; 0x4c 80bdf5e: 2b01 cmp r3, #1 80bdf60: d105 bne.n 80bdf6e { USBx->GUSBCFG |= USB_OTG_GUSBCFG_ULPIEVBUSD; 80bdf62: 687b ldr r3, [r7, #4] 80bdf64: 68db ldr r3, [r3, #12] 80bdf66: f443 1280 orr.w r2, r3, #1048576 ; 0x100000 80bdf6a: 687b ldr r3, [r7, #4] 80bdf6c: 60da str r2, [r3, #12] } /* Reset after a PHY select */ ret = USB_CoreReset(USBx); 80bdf6e: 6878 ldr r0, [r7, #4] 80bdf70: f001 fb74 bl 80bf65c 80bdf74: 4603 mov r3, r0 80bdf76: 73fb strb r3, [r7, #15] 80bdf78: e010 b.n 80bdf9c } #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; 80bdf7a: 687b ldr r3, [r7, #4] 80bdf7c: 68db ldr r3, [r3, #12] 80bdf7e: f043 0240 orr.w r2, r3, #64 ; 0x40 80bdf82: 687b ldr r3, [r7, #4] 80bdf84: 60da str r2, [r3, #12] /* Reset after a PHY select */ ret = USB_CoreReset(USBx); 80bdf86: 6878 ldr r0, [r7, #4] 80bdf88: f001 fb68 bl 80bf65c 80bdf8c: 4603 mov r3, r0 80bdf8e: 73fb strb r3, [r7, #15] /* Activate the USB Transceiver */ USBx->GCCFG |= USB_OTG_GCCFG_PWRDWN; 80bdf90: 687b ldr r3, [r7, #4] 80bdf92: 6b9b ldr r3, [r3, #56] ; 0x38 80bdf94: f443 3280 orr.w r2, r3, #65536 ; 0x10000 80bdf98: 687b ldr r3, [r7, #4] 80bdf9a: 639a str r2, [r3, #56] ; 0x38 } if (cfg.dma_enable == 1U) 80bdf9c: 6abb ldr r3, [r7, #40] ; 0x28 80bdf9e: 2b01 cmp r3, #1 80bdfa0: d10b bne.n 80bdfba { USBx->GAHBCFG |= USB_OTG_GAHBCFG_HBSTLEN_2; 80bdfa2: 687b ldr r3, [r7, #4] 80bdfa4: 689b ldr r3, [r3, #8] 80bdfa6: f043 0206 orr.w r2, r3, #6 80bdfaa: 687b ldr r3, [r7, #4] 80bdfac: 609a str r2, [r3, #8] USBx->GAHBCFG |= USB_OTG_GAHBCFG_DMAEN; 80bdfae: 687b ldr r3, [r7, #4] 80bdfb0: 689b ldr r3, [r3, #8] 80bdfb2: f043 0220 orr.w r2, r3, #32 80bdfb6: 687b ldr r3, [r7, #4] 80bdfb8: 609a str r2, [r3, #8] } return ret; 80bdfba: 7bfb ldrb r3, [r7, #15] } 80bdfbc: 4618 mov r0, r3 80bdfbe: 3710 adds r7, #16 80bdfc0: 46bd mov sp, r7 80bdfc2: e8bd 4080 ldmia.w sp!, {r7, lr} 80bdfc6: b004 add sp, #16 80bdfc8: 4770 bx lr 80bdfca: bf00 nop 80bdfcc: ffbdffbf .word 0xffbdffbf 080bdfd0 : * @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) { 80bdfd0: b480 push {r7} 80bdfd2: b087 sub sp, #28 80bdfd4: af00 add r7, sp, #0 80bdfd6: 60f8 str r0, [r7, #12] 80bdfd8: 60b9 str r1, [r7, #8] 80bdfda: 4613 mov r3, r2 80bdfdc: 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) 80bdfde: 79fb ldrb r3, [r7, #7] 80bdfe0: 2b02 cmp r3, #2 80bdfe2: d165 bne.n 80be0b0 { if ((hclk >= 14200000U) && (hclk < 15000000U)) 80bdfe4: 68bb ldr r3, [r7, #8] 80bdfe6: 4a41 ldr r2, [pc, #260] ; (80be0ec ) 80bdfe8: 4293 cmp r3, r2 80bdfea: d906 bls.n 80bdffa 80bdfec: 68bb ldr r3, [r7, #8] 80bdfee: 4a40 ldr r2, [pc, #256] ; (80be0f0 ) 80bdff0: 4293 cmp r3, r2 80bdff2: d802 bhi.n 80bdffa { /* hclk Clock Range between 14.2-15 MHz */ UsbTrd = 0xFU; 80bdff4: 230f movs r3, #15 80bdff6: 617b str r3, [r7, #20] 80bdff8: e062 b.n 80be0c0 } else if ((hclk >= 15000000U) && (hclk < 16000000U)) 80bdffa: 68bb ldr r3, [r7, #8] 80bdffc: 4a3c ldr r2, [pc, #240] ; (80be0f0 ) 80bdffe: 4293 cmp r3, r2 80be000: d906 bls.n 80be010 80be002: 68bb ldr r3, [r7, #8] 80be004: 4a3b ldr r2, [pc, #236] ; (80be0f4 ) 80be006: 4293 cmp r3, r2 80be008: d802 bhi.n 80be010 { /* hclk Clock Range between 15-16 MHz */ UsbTrd = 0xEU; 80be00a: 230e movs r3, #14 80be00c: 617b str r3, [r7, #20] 80be00e: e057 b.n 80be0c0 } else if ((hclk >= 16000000U) && (hclk < 17200000U)) 80be010: 68bb ldr r3, [r7, #8] 80be012: 4a38 ldr r2, [pc, #224] ; (80be0f4 ) 80be014: 4293 cmp r3, r2 80be016: d906 bls.n 80be026 80be018: 68bb ldr r3, [r7, #8] 80be01a: 4a37 ldr r2, [pc, #220] ; (80be0f8 ) 80be01c: 4293 cmp r3, r2 80be01e: d802 bhi.n 80be026 { /* hclk Clock Range between 16-17.2 MHz */ UsbTrd = 0xDU; 80be020: 230d movs r3, #13 80be022: 617b str r3, [r7, #20] 80be024: e04c b.n 80be0c0 } else if ((hclk >= 17200000U) && (hclk < 18500000U)) 80be026: 68bb ldr r3, [r7, #8] 80be028: 4a33 ldr r2, [pc, #204] ; (80be0f8 ) 80be02a: 4293 cmp r3, r2 80be02c: d906 bls.n 80be03c 80be02e: 68bb ldr r3, [r7, #8] 80be030: 4a32 ldr r2, [pc, #200] ; (80be0fc ) 80be032: 4293 cmp r3, r2 80be034: d802 bhi.n 80be03c { /* hclk Clock Range between 17.2-18.5 MHz */ UsbTrd = 0xCU; 80be036: 230c movs r3, #12 80be038: 617b str r3, [r7, #20] 80be03a: e041 b.n 80be0c0 } else if ((hclk >= 18500000U) && (hclk < 20000000U)) 80be03c: 68bb ldr r3, [r7, #8] 80be03e: 4a2f ldr r2, [pc, #188] ; (80be0fc ) 80be040: 4293 cmp r3, r2 80be042: d906 bls.n 80be052 80be044: 68bb ldr r3, [r7, #8] 80be046: 4a2e ldr r2, [pc, #184] ; (80be100 ) 80be048: 4293 cmp r3, r2 80be04a: d802 bhi.n 80be052 { /* hclk Clock Range between 18.5-20 MHz */ UsbTrd = 0xBU; 80be04c: 230b movs r3, #11 80be04e: 617b str r3, [r7, #20] 80be050: e036 b.n 80be0c0 } else if ((hclk >= 20000000U) && (hclk < 21800000U)) 80be052: 68bb ldr r3, [r7, #8] 80be054: 4a2a ldr r2, [pc, #168] ; (80be100 ) 80be056: 4293 cmp r3, r2 80be058: d906 bls.n 80be068 80be05a: 68bb ldr r3, [r7, #8] 80be05c: 4a29 ldr r2, [pc, #164] ; (80be104 ) 80be05e: 4293 cmp r3, r2 80be060: d802 bhi.n 80be068 { /* hclk Clock Range between 20-21.8 MHz */ UsbTrd = 0xAU; 80be062: 230a movs r3, #10 80be064: 617b str r3, [r7, #20] 80be066: e02b b.n 80be0c0 } else if ((hclk >= 21800000U) && (hclk < 24000000U)) 80be068: 68bb ldr r3, [r7, #8] 80be06a: 4a26 ldr r2, [pc, #152] ; (80be104 ) 80be06c: 4293 cmp r3, r2 80be06e: d906 bls.n 80be07e 80be070: 68bb ldr r3, [r7, #8] 80be072: 4a25 ldr r2, [pc, #148] ; (80be108 ) 80be074: 4293 cmp r3, r2 80be076: d802 bhi.n 80be07e { /* hclk Clock Range between 21.8-24 MHz */ UsbTrd = 0x9U; 80be078: 2309 movs r3, #9 80be07a: 617b str r3, [r7, #20] 80be07c: e020 b.n 80be0c0 } else if ((hclk >= 24000000U) && (hclk < 27700000U)) 80be07e: 68bb ldr r3, [r7, #8] 80be080: 4a21 ldr r2, [pc, #132] ; (80be108 ) 80be082: 4293 cmp r3, r2 80be084: d906 bls.n 80be094 80be086: 68bb ldr r3, [r7, #8] 80be088: 4a20 ldr r2, [pc, #128] ; (80be10c ) 80be08a: 4293 cmp r3, r2 80be08c: d802 bhi.n 80be094 { /* hclk Clock Range between 24-27.7 MHz */ UsbTrd = 0x8U; 80be08e: 2308 movs r3, #8 80be090: 617b str r3, [r7, #20] 80be092: e015 b.n 80be0c0 } else if ((hclk >= 27700000U) && (hclk < 32000000U)) 80be094: 68bb ldr r3, [r7, #8] 80be096: 4a1d ldr r2, [pc, #116] ; (80be10c ) 80be098: 4293 cmp r3, r2 80be09a: d906 bls.n 80be0aa 80be09c: 68bb ldr r3, [r7, #8] 80be09e: 4a1c ldr r2, [pc, #112] ; (80be110 ) 80be0a0: 4293 cmp r3, r2 80be0a2: d802 bhi.n 80be0aa { /* hclk Clock Range between 27.7-32 MHz */ UsbTrd = 0x7U; 80be0a4: 2307 movs r3, #7 80be0a6: 617b str r3, [r7, #20] 80be0a8: e00a b.n 80be0c0 } else /* if(hclk >= 32000000) */ { /* hclk Clock Range between 32-200 MHz */ UsbTrd = 0x6U; 80be0aa: 2306 movs r3, #6 80be0ac: 617b str r3, [r7, #20] 80be0ae: e007 b.n 80be0c0 } } else if (speed == USBD_HS_SPEED) 80be0b0: 79fb ldrb r3, [r7, #7] 80be0b2: 2b00 cmp r3, #0 80be0b4: d102 bne.n 80be0bc { UsbTrd = USBD_HS_TRDT_VALUE; 80be0b6: 2309 movs r3, #9 80be0b8: 617b str r3, [r7, #20] 80be0ba: e001 b.n 80be0c0 } else { UsbTrd = USBD_DEFAULT_TRDT_VALUE; 80be0bc: 2309 movs r3, #9 80be0be: 617b str r3, [r7, #20] } USBx->GUSBCFG &= ~USB_OTG_GUSBCFG_TRDT; 80be0c0: 68fb ldr r3, [r7, #12] 80be0c2: 68db ldr r3, [r3, #12] 80be0c4: f423 5270 bic.w r2, r3, #15360 ; 0x3c00 80be0c8: 68fb ldr r3, [r7, #12] 80be0ca: 60da str r2, [r3, #12] USBx->GUSBCFG |= (uint32_t)((UsbTrd << 10) & USB_OTG_GUSBCFG_TRDT); 80be0cc: 68fb ldr r3, [r7, #12] 80be0ce: 68da ldr r2, [r3, #12] 80be0d0: 697b ldr r3, [r7, #20] 80be0d2: 029b lsls r3, r3, #10 80be0d4: f403 5370 and.w r3, r3, #15360 ; 0x3c00 80be0d8: 431a orrs r2, r3 80be0da: 68fb ldr r3, [r7, #12] 80be0dc: 60da str r2, [r3, #12] return HAL_OK; 80be0de: 2300 movs r3, #0 } 80be0e0: 4618 mov r0, r3 80be0e2: 371c adds r7, #28 80be0e4: 46bd mov sp, r7 80be0e6: f85d 7b04 ldr.w r7, [sp], #4 80be0ea: 4770 bx lr 80be0ec: 00d8acbf .word 0x00d8acbf 80be0f0: 00e4e1bf .word 0x00e4e1bf 80be0f4: 00f423ff .word 0x00f423ff 80be0f8: 0106737f .word 0x0106737f 80be0fc: 011a499f .word 0x011a499f 80be100: 01312cff .word 0x01312cff 80be104: 014ca43f .word 0x014ca43f 80be108: 016e35ff .word 0x016e35ff 80be10c: 01a6ab1f .word 0x01a6ab1f 80be110: 01e847ff .word 0x01e847ff 080be114 : * 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) { 80be114: b480 push {r7} 80be116: b083 sub sp, #12 80be118: af00 add r7, sp, #0 80be11a: 6078 str r0, [r7, #4] USBx->GAHBCFG |= USB_OTG_GAHBCFG_GINT; 80be11c: 687b ldr r3, [r7, #4] 80be11e: 689b ldr r3, [r3, #8] 80be120: f043 0201 orr.w r2, r3, #1 80be124: 687b ldr r3, [r7, #4] 80be126: 609a str r2, [r3, #8] return HAL_OK; 80be128: 2300 movs r3, #0 } 80be12a: 4618 mov r0, r3 80be12c: 370c adds r7, #12 80be12e: 46bd mov sp, r7 80be130: f85d 7b04 ldr.w r7, [sp], #4 80be134: 4770 bx lr 080be136 : * 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) { 80be136: b480 push {r7} 80be138: b083 sub sp, #12 80be13a: af00 add r7, sp, #0 80be13c: 6078 str r0, [r7, #4] USBx->GAHBCFG &= ~USB_OTG_GAHBCFG_GINT; 80be13e: 687b ldr r3, [r7, #4] 80be140: 689b ldr r3, [r3, #8] 80be142: f023 0201 bic.w r2, r3, #1 80be146: 687b ldr r3, [r7, #4] 80be148: 609a str r2, [r3, #8] return HAL_OK; 80be14a: 2300 movs r3, #0 } 80be14c: 4618 mov r0, r3 80be14e: 370c adds r7, #12 80be150: 46bd mov sp, r7 80be152: f85d 7b04 ldr.w r7, [sp], #4 80be156: 4770 bx lr 080be158 : * @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) { 80be158: b580 push {r7, lr} 80be15a: b084 sub sp, #16 80be15c: af00 add r7, sp, #0 80be15e: 6078 str r0, [r7, #4] 80be160: 460b mov r3, r1 80be162: 70fb strb r3, [r7, #3] uint32_t ms = 0U; 80be164: 2300 movs r3, #0 80be166: 60fb str r3, [r7, #12] USBx->GUSBCFG &= ~(USB_OTG_GUSBCFG_FHMOD | USB_OTG_GUSBCFG_FDMOD); 80be168: 687b ldr r3, [r7, #4] 80be16a: 68db ldr r3, [r3, #12] 80be16c: f023 42c0 bic.w r2, r3, #1610612736 ; 0x60000000 80be170: 687b ldr r3, [r7, #4] 80be172: 60da str r2, [r3, #12] if (mode == USB_HOST_MODE) 80be174: 78fb ldrb r3, [r7, #3] 80be176: 2b01 cmp r3, #1 80be178: d115 bne.n 80be1a6 { USBx->GUSBCFG |= USB_OTG_GUSBCFG_FHMOD; 80be17a: 687b ldr r3, [r7, #4] 80be17c: 68db ldr r3, [r3, #12] 80be17e: f043 5200 orr.w r2, r3, #536870912 ; 0x20000000 80be182: 687b ldr r3, [r7, #4] 80be184: 60da str r2, [r3, #12] do { HAL_Delay(1U); 80be186: 2001 movs r0, #1 80be188: f7f5 f862 bl 80b3250 ms++; 80be18c: 68fb ldr r3, [r7, #12] 80be18e: 3301 adds r3, #1 80be190: 60fb str r3, [r7, #12] } while ((USB_GetMode(USBx) != (uint32_t)USB_HOST_MODE) && (ms < 50U)); 80be192: 6878 ldr r0, [r7, #4] 80be194: f001 f9cc bl 80bf530 80be198: 4603 mov r3, r0 80be19a: 2b01 cmp r3, #1 80be19c: d01e beq.n 80be1dc 80be19e: 68fb ldr r3, [r7, #12] 80be1a0: 2b31 cmp r3, #49 ; 0x31 80be1a2: d9f0 bls.n 80be186 80be1a4: e01a b.n 80be1dc } else if (mode == USB_DEVICE_MODE) 80be1a6: 78fb ldrb r3, [r7, #3] 80be1a8: 2b00 cmp r3, #0 80be1aa: d115 bne.n 80be1d8 { USBx->GUSBCFG |= USB_OTG_GUSBCFG_FDMOD; 80be1ac: 687b ldr r3, [r7, #4] 80be1ae: 68db ldr r3, [r3, #12] 80be1b0: f043 4280 orr.w r2, r3, #1073741824 ; 0x40000000 80be1b4: 687b ldr r3, [r7, #4] 80be1b6: 60da str r2, [r3, #12] do { HAL_Delay(1U); 80be1b8: 2001 movs r0, #1 80be1ba: f7f5 f849 bl 80b3250 ms++; 80be1be: 68fb ldr r3, [r7, #12] 80be1c0: 3301 adds r3, #1 80be1c2: 60fb str r3, [r7, #12] } while ((USB_GetMode(USBx) != (uint32_t)USB_DEVICE_MODE) && (ms < 50U)); 80be1c4: 6878 ldr r0, [r7, #4] 80be1c6: f001 f9b3 bl 80bf530 80be1ca: 4603 mov r3, r0 80be1cc: 2b00 cmp r3, #0 80be1ce: d005 beq.n 80be1dc 80be1d0: 68fb ldr r3, [r7, #12] 80be1d2: 2b31 cmp r3, #49 ; 0x31 80be1d4: d9f0 bls.n 80be1b8 80be1d6: e001 b.n 80be1dc } else { return HAL_ERROR; 80be1d8: 2301 movs r3, #1 80be1da: e005 b.n 80be1e8 } if (ms == 50U) 80be1dc: 68fb ldr r3, [r7, #12] 80be1de: 2b32 cmp r3, #50 ; 0x32 80be1e0: d101 bne.n 80be1e6 { return HAL_ERROR; 80be1e2: 2301 movs r3, #1 80be1e4: e000 b.n 80be1e8 } return HAL_OK; 80be1e6: 2300 movs r3, #0 } 80be1e8: 4618 mov r0, r3 80be1ea: 3710 adds r7, #16 80be1ec: 46bd mov sp, r7 80be1ee: bd80 pop {r7, pc} 080be1f0 : * @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) { 80be1f0: b084 sub sp, #16 80be1f2: b580 push {r7, lr} 80be1f4: b086 sub sp, #24 80be1f6: af00 add r7, sp, #0 80be1f8: 6078 str r0, [r7, #4] 80be1fa: f107 0024 add.w r0, r7, #36 ; 0x24 80be1fe: e880 000e stmia.w r0, {r1, r2, r3} HAL_StatusTypeDef ret = HAL_OK; 80be202: 2300 movs r3, #0 80be204: 75fb strb r3, [r7, #23] uint32_t USBx_BASE = (uint32_t)USBx; 80be206: 687b ldr r3, [r7, #4] 80be208: 60fb str r3, [r7, #12] uint32_t i; for (i = 0U; i < 15U; i++) 80be20a: 2300 movs r3, #0 80be20c: 613b str r3, [r7, #16] 80be20e: e009 b.n 80be224 { USBx->DIEPTXF[i] = 0U; 80be210: 687a ldr r2, [r7, #4] 80be212: 693b ldr r3, [r7, #16] 80be214: 3340 adds r3, #64 ; 0x40 80be216: 009b lsls r3, r3, #2 80be218: 4413 add r3, r2 80be21a: 2200 movs r2, #0 80be21c: 605a str r2, [r3, #4] for (i = 0U; i < 15U; i++) 80be21e: 693b ldr r3, [r7, #16] 80be220: 3301 adds r3, #1 80be222: 613b str r3, [r7, #16] 80be224: 693b ldr r3, [r7, #16] 80be226: 2b0e cmp r3, #14 80be228: d9f2 bls.n 80be210 } /* VBUS Sensing setup */ if (cfg.vbus_sensing_enable == 0U) 80be22a: 6cfb ldr r3, [r7, #76] ; 0x4c 80be22c: 2b00 cmp r3, #0 80be22e: d11d bne.n 80be26c { USBx_DEVICE->DCTL |= USB_OTG_DCTL_SDIS; 80be230: 68fb ldr r3, [r7, #12] 80be232: f503 6300 add.w r3, r3, #2048 ; 0x800 80be236: 461a mov r2, r3 80be238: 68fb ldr r3, [r7, #12] 80be23a: f503 6300 add.w r3, r3, #2048 ; 0x800 80be23e: 685b ldr r3, [r3, #4] 80be240: f043 0302 orr.w r3, r3, #2 80be244: 6053 str r3, [r2, #4] /* Deactivate VBUS Sensing B */ USBx->GCCFG &= ~USB_OTG_GCCFG_VBDEN; 80be246: 687b ldr r3, [r7, #4] 80be248: 6b9b ldr r3, [r3, #56] ; 0x38 80be24a: f423 1200 bic.w r2, r3, #2097152 ; 0x200000 80be24e: 687b ldr r3, [r7, #4] 80be250: 639a str r2, [r3, #56] ; 0x38 /* B-peripheral session valid override enable */ USBx->GOTGCTL |= USB_OTG_GOTGCTL_BVALOEN; 80be252: 687b ldr r3, [r7, #4] 80be254: 681b ldr r3, [r3, #0] 80be256: f043 0240 orr.w r2, r3, #64 ; 0x40 80be25a: 687b ldr r3, [r7, #4] 80be25c: 601a str r2, [r3, #0] USBx->GOTGCTL |= USB_OTG_GOTGCTL_BVALOVAL; 80be25e: 687b ldr r3, [r7, #4] 80be260: 681b ldr r3, [r3, #0] 80be262: f043 0280 orr.w r2, r3, #128 ; 0x80 80be266: 687b ldr r3, [r7, #4] 80be268: 601a str r2, [r3, #0] 80be26a: e005 b.n 80be278 } else { /* Enable HW VBUS sensing */ USBx->GCCFG |= USB_OTG_GCCFG_VBDEN; 80be26c: 687b ldr r3, [r7, #4] 80be26e: 6b9b ldr r3, [r3, #56] ; 0x38 80be270: f443 1200 orr.w r2, r3, #2097152 ; 0x200000 80be274: 687b ldr r3, [r7, #4] 80be276: 639a str r2, [r3, #56] ; 0x38 } /* Restart the Phy Clock */ USBx_PCGCCTL = 0U; 80be278: 68fb ldr r3, [r7, #12] 80be27a: f503 6360 add.w r3, r3, #3584 ; 0xe00 80be27e: 461a mov r2, r3 80be280: 2300 movs r3, #0 80be282: 6013 str r3, [r2, #0] /* Device mode configuration */ USBx_DEVICE->DCFG |= DCFG_FRAME_INTERVAL_80; 80be284: 68fb ldr r3, [r7, #12] 80be286: f503 6300 add.w r3, r3, #2048 ; 0x800 80be28a: 461a mov r2, r3 80be28c: 68fb ldr r3, [r7, #12] 80be28e: f503 6300 add.w r3, r3, #2048 ; 0x800 80be292: 681b ldr r3, [r3, #0] 80be294: 6013 str r3, [r2, #0] if (cfg.phy_itface == USB_OTG_ULPI_PHY) 80be296: 6bbb ldr r3, [r7, #56] ; 0x38 80be298: 2b01 cmp r3, #1 80be29a: d10c bne.n 80be2b6 { if (cfg.speed == USBD_HS_SPEED) 80be29c: 6afb ldr r3, [r7, #44] ; 0x2c 80be29e: 2b00 cmp r3, #0 80be2a0: d104 bne.n 80be2ac { /* Set Core speed to High speed mode */ (void)USB_SetDevSpeed(USBx, USB_OTG_SPEED_HIGH); 80be2a2: 2100 movs r1, #0 80be2a4: 6878 ldr r0, [r7, #4] 80be2a6: f000 f963 bl 80be570 80be2aa: e008 b.n 80be2be } else { /* Set Core speed to Full speed mode */ (void)USB_SetDevSpeed(USBx, USB_OTG_SPEED_HIGH_IN_FULL); 80be2ac: 2101 movs r1, #1 80be2ae: 6878 ldr r0, [r7, #4] 80be2b0: f000 f95e bl 80be570 80be2b4: e003 b.n 80be2be } #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); 80be2b6: 2103 movs r1, #3 80be2b8: 6878 ldr r0, [r7, #4] 80be2ba: f000 f959 bl 80be570 } /* Flush the FIFOs */ if (USB_FlushTxFifo(USBx, 0x10U) != HAL_OK) /* all Tx FIFOs */ 80be2be: 2110 movs r1, #16 80be2c0: 6878 ldr r0, [r7, #4] 80be2c2: f000 f8f5 bl 80be4b0 80be2c6: 4603 mov r3, r0 80be2c8: 2b00 cmp r3, #0 80be2ca: d001 beq.n 80be2d0 { ret = HAL_ERROR; 80be2cc: 2301 movs r3, #1 80be2ce: 75fb strb r3, [r7, #23] } if (USB_FlushRxFifo(USBx) != HAL_OK) 80be2d0: 6878 ldr r0, [r7, #4] 80be2d2: f000 f91f bl 80be514 80be2d6: 4603 mov r3, r0 80be2d8: 2b00 cmp r3, #0 80be2da: d001 beq.n 80be2e0 { ret = HAL_ERROR; 80be2dc: 2301 movs r3, #1 80be2de: 75fb strb r3, [r7, #23] } /* Clear all pending Device Interrupts */ USBx_DEVICE->DIEPMSK = 0U; 80be2e0: 68fb ldr r3, [r7, #12] 80be2e2: f503 6300 add.w r3, r3, #2048 ; 0x800 80be2e6: 461a mov r2, r3 80be2e8: 2300 movs r3, #0 80be2ea: 6113 str r3, [r2, #16] USBx_DEVICE->DOEPMSK = 0U; 80be2ec: 68fb ldr r3, [r7, #12] 80be2ee: f503 6300 add.w r3, r3, #2048 ; 0x800 80be2f2: 461a mov r2, r3 80be2f4: 2300 movs r3, #0 80be2f6: 6153 str r3, [r2, #20] USBx_DEVICE->DAINTMSK = 0U; 80be2f8: 68fb ldr r3, [r7, #12] 80be2fa: f503 6300 add.w r3, r3, #2048 ; 0x800 80be2fe: 461a mov r2, r3 80be300: 2300 movs r3, #0 80be302: 61d3 str r3, [r2, #28] for (i = 0U; i < cfg.dev_endpoints; i++) 80be304: 2300 movs r3, #0 80be306: 613b str r3, [r7, #16] 80be308: e043 b.n 80be392 { if ((USBx_INEP(i)->DIEPCTL & USB_OTG_DIEPCTL_EPENA) == USB_OTG_DIEPCTL_EPENA) 80be30a: 693b ldr r3, [r7, #16] 80be30c: 015a lsls r2, r3, #5 80be30e: 68fb ldr r3, [r7, #12] 80be310: 4413 add r3, r2 80be312: f503 6310 add.w r3, r3, #2304 ; 0x900 80be316: 681b ldr r3, [r3, #0] 80be318: f003 4300 and.w r3, r3, #2147483648 ; 0x80000000 80be31c: f1b3 4f00 cmp.w r3, #2147483648 ; 0x80000000 80be320: d118 bne.n 80be354 { if (i == 0U) 80be322: 693b ldr r3, [r7, #16] 80be324: 2b00 cmp r3, #0 80be326: d10a bne.n 80be33e { USBx_INEP(i)->DIEPCTL = USB_OTG_DIEPCTL_SNAK; 80be328: 693b ldr r3, [r7, #16] 80be32a: 015a lsls r2, r3, #5 80be32c: 68fb ldr r3, [r7, #12] 80be32e: 4413 add r3, r2 80be330: f503 6310 add.w r3, r3, #2304 ; 0x900 80be334: 461a mov r2, r3 80be336: f04f 6300 mov.w r3, #134217728 ; 0x8000000 80be33a: 6013 str r3, [r2, #0] 80be33c: e013 b.n 80be366 } else { USBx_INEP(i)->DIEPCTL = USB_OTG_DIEPCTL_EPDIS | USB_OTG_DIEPCTL_SNAK; 80be33e: 693b ldr r3, [r7, #16] 80be340: 015a lsls r2, r3, #5 80be342: 68fb ldr r3, [r7, #12] 80be344: 4413 add r3, r2 80be346: f503 6310 add.w r3, r3, #2304 ; 0x900 80be34a: 461a mov r2, r3 80be34c: f04f 4390 mov.w r3, #1207959552 ; 0x48000000 80be350: 6013 str r3, [r2, #0] 80be352: e008 b.n 80be366 } } else { USBx_INEP(i)->DIEPCTL = 0U; 80be354: 693b ldr r3, [r7, #16] 80be356: 015a lsls r2, r3, #5 80be358: 68fb ldr r3, [r7, #12] 80be35a: 4413 add r3, r2 80be35c: f503 6310 add.w r3, r3, #2304 ; 0x900 80be360: 461a mov r2, r3 80be362: 2300 movs r3, #0 80be364: 6013 str r3, [r2, #0] } USBx_INEP(i)->DIEPTSIZ = 0U; 80be366: 693b ldr r3, [r7, #16] 80be368: 015a lsls r2, r3, #5 80be36a: 68fb ldr r3, [r7, #12] 80be36c: 4413 add r3, r2 80be36e: f503 6310 add.w r3, r3, #2304 ; 0x900 80be372: 461a mov r2, r3 80be374: 2300 movs r3, #0 80be376: 6113 str r3, [r2, #16] USBx_INEP(i)->DIEPINT = 0xFB7FU; 80be378: 693b ldr r3, [r7, #16] 80be37a: 015a lsls r2, r3, #5 80be37c: 68fb ldr r3, [r7, #12] 80be37e: 4413 add r3, r2 80be380: f503 6310 add.w r3, r3, #2304 ; 0x900 80be384: 461a mov r2, r3 80be386: f64f 337f movw r3, #64383 ; 0xfb7f 80be38a: 6093 str r3, [r2, #8] for (i = 0U; i < cfg.dev_endpoints; i++) 80be38c: 693b ldr r3, [r7, #16] 80be38e: 3301 adds r3, #1 80be390: 613b str r3, [r7, #16] 80be392: 6a7a ldr r2, [r7, #36] ; 0x24 80be394: 693b ldr r3, [r7, #16] 80be396: 429a cmp r2, r3 80be398: d8b7 bhi.n 80be30a } for (i = 0U; i < cfg.dev_endpoints; i++) 80be39a: 2300 movs r3, #0 80be39c: 613b str r3, [r7, #16] 80be39e: e043 b.n 80be428 { if ((USBx_OUTEP(i)->DOEPCTL & USB_OTG_DOEPCTL_EPENA) == USB_OTG_DOEPCTL_EPENA) 80be3a0: 693b ldr r3, [r7, #16] 80be3a2: 015a lsls r2, r3, #5 80be3a4: 68fb ldr r3, [r7, #12] 80be3a6: 4413 add r3, r2 80be3a8: f503 6330 add.w r3, r3, #2816 ; 0xb00 80be3ac: 681b ldr r3, [r3, #0] 80be3ae: f003 4300 and.w r3, r3, #2147483648 ; 0x80000000 80be3b2: f1b3 4f00 cmp.w r3, #2147483648 ; 0x80000000 80be3b6: d118 bne.n 80be3ea { if (i == 0U) 80be3b8: 693b ldr r3, [r7, #16] 80be3ba: 2b00 cmp r3, #0 80be3bc: d10a bne.n 80be3d4 { USBx_OUTEP(i)->DOEPCTL = USB_OTG_DOEPCTL_SNAK; 80be3be: 693b ldr r3, [r7, #16] 80be3c0: 015a lsls r2, r3, #5 80be3c2: 68fb ldr r3, [r7, #12] 80be3c4: 4413 add r3, r2 80be3c6: f503 6330 add.w r3, r3, #2816 ; 0xb00 80be3ca: 461a mov r2, r3 80be3cc: f04f 6300 mov.w r3, #134217728 ; 0x8000000 80be3d0: 6013 str r3, [r2, #0] 80be3d2: e013 b.n 80be3fc } else { USBx_OUTEP(i)->DOEPCTL = USB_OTG_DOEPCTL_EPDIS | USB_OTG_DOEPCTL_SNAK; 80be3d4: 693b ldr r3, [r7, #16] 80be3d6: 015a lsls r2, r3, #5 80be3d8: 68fb ldr r3, [r7, #12] 80be3da: 4413 add r3, r2 80be3dc: f503 6330 add.w r3, r3, #2816 ; 0xb00 80be3e0: 461a mov r2, r3 80be3e2: f04f 4390 mov.w r3, #1207959552 ; 0x48000000 80be3e6: 6013 str r3, [r2, #0] 80be3e8: e008 b.n 80be3fc } } else { USBx_OUTEP(i)->DOEPCTL = 0U; 80be3ea: 693b ldr r3, [r7, #16] 80be3ec: 015a lsls r2, r3, #5 80be3ee: 68fb ldr r3, [r7, #12] 80be3f0: 4413 add r3, r2 80be3f2: f503 6330 add.w r3, r3, #2816 ; 0xb00 80be3f6: 461a mov r2, r3 80be3f8: 2300 movs r3, #0 80be3fa: 6013 str r3, [r2, #0] } USBx_OUTEP(i)->DOEPTSIZ = 0U; 80be3fc: 693b ldr r3, [r7, #16] 80be3fe: 015a lsls r2, r3, #5 80be400: 68fb ldr r3, [r7, #12] 80be402: 4413 add r3, r2 80be404: f503 6330 add.w r3, r3, #2816 ; 0xb00 80be408: 461a mov r2, r3 80be40a: 2300 movs r3, #0 80be40c: 6113 str r3, [r2, #16] USBx_OUTEP(i)->DOEPINT = 0xFB7FU; 80be40e: 693b ldr r3, [r7, #16] 80be410: 015a lsls r2, r3, #5 80be412: 68fb ldr r3, [r7, #12] 80be414: 4413 add r3, r2 80be416: f503 6330 add.w r3, r3, #2816 ; 0xb00 80be41a: 461a mov r2, r3 80be41c: f64f 337f movw r3, #64383 ; 0xfb7f 80be420: 6093 str r3, [r2, #8] for (i = 0U; i < cfg.dev_endpoints; i++) 80be422: 693b ldr r3, [r7, #16] 80be424: 3301 adds r3, #1 80be426: 613b str r3, [r7, #16] 80be428: 6a7a ldr r2, [r7, #36] ; 0x24 80be42a: 693b ldr r3, [r7, #16] 80be42c: 429a cmp r2, r3 80be42e: d8b7 bhi.n 80be3a0 } USBx_DEVICE->DIEPMSK &= ~(USB_OTG_DIEPMSK_TXFURM); 80be430: 68fb ldr r3, [r7, #12] 80be432: f503 6300 add.w r3, r3, #2048 ; 0x800 80be436: 461a mov r2, r3 80be438: 68fb ldr r3, [r7, #12] 80be43a: f503 6300 add.w r3, r3, #2048 ; 0x800 80be43e: 691b ldr r3, [r3, #16] 80be440: f423 7380 bic.w r3, r3, #256 ; 0x100 80be444: 6113 str r3, [r2, #16] /* Disable all interrupts. */ USBx->GINTMSK = 0U; 80be446: 687b ldr r3, [r7, #4] 80be448: 2200 movs r2, #0 80be44a: 619a str r2, [r3, #24] /* Clear any pending interrupts */ USBx->GINTSTS = 0xBFFFFFFFU; 80be44c: 687b ldr r3, [r7, #4] 80be44e: f06f 4280 mvn.w r2, #1073741824 ; 0x40000000 80be452: 615a str r2, [r3, #20] /* Enable the common interrupts */ if (cfg.dma_enable == 0U) 80be454: 6b3b ldr r3, [r7, #48] ; 0x30 80be456: 2b00 cmp r3, #0 80be458: d105 bne.n 80be466 { USBx->GINTMSK |= USB_OTG_GINTMSK_RXFLVLM; 80be45a: 687b ldr r3, [r7, #4] 80be45c: 699b ldr r3, [r3, #24] 80be45e: f043 0210 orr.w r2, r3, #16 80be462: 687b ldr r3, [r7, #4] 80be464: 619a str r2, [r3, #24] } /* Enable interrupts matching to the Device mode ONLY */ USBx->GINTMSK |= USB_OTG_GINTMSK_USBSUSPM | USB_OTG_GINTMSK_USBRST | 80be466: 687b ldr r3, [r7, #4] 80be468: 699a ldr r2, [r3, #24] 80be46a: 4b0f ldr r3, [pc, #60] ; (80be4a8 ) 80be46c: 4313 orrs r3, r2 80be46e: 687a ldr r2, [r7, #4] 80be470: 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) 80be472: 6bfb ldr r3, [r7, #60] ; 0x3c 80be474: 2b00 cmp r3, #0 80be476: d005 beq.n 80be484 { USBx->GINTMSK |= USB_OTG_GINTMSK_SOFM; 80be478: 687b ldr r3, [r7, #4] 80be47a: 699b ldr r3, [r3, #24] 80be47c: f043 0208 orr.w r2, r3, #8 80be480: 687b ldr r3, [r7, #4] 80be482: 619a str r2, [r3, #24] } if (cfg.vbus_sensing_enable == 1U) 80be484: 6cfb ldr r3, [r7, #76] ; 0x4c 80be486: 2b01 cmp r3, #1 80be488: d105 bne.n 80be496 { USBx->GINTMSK |= (USB_OTG_GINTMSK_SRQIM | USB_OTG_GINTMSK_OTGINT); 80be48a: 687b ldr r3, [r7, #4] 80be48c: 699a ldr r2, [r3, #24] 80be48e: 4b07 ldr r3, [pc, #28] ; (80be4ac ) 80be490: 4313 orrs r3, r2 80be492: 687a ldr r2, [r7, #4] 80be494: 6193 str r3, [r2, #24] } return ret; 80be496: 7dfb ldrb r3, [r7, #23] } 80be498: 4618 mov r0, r3 80be49a: 3718 adds r7, #24 80be49c: 46bd mov sp, r7 80be49e: e8bd 4080 ldmia.w sp!, {r7, lr} 80be4a2: b004 add sp, #16 80be4a4: 4770 bx lr 80be4a6: bf00 nop 80be4a8: 803c3800 .word 0x803c3800 80be4ac: 40000004 .word 0x40000004 080be4b0 : * 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) { 80be4b0: b480 push {r7} 80be4b2: b085 sub sp, #20 80be4b4: af00 add r7, sp, #0 80be4b6: 6078 str r0, [r7, #4] 80be4b8: 6039 str r1, [r7, #0] __IO uint32_t count = 0U; 80be4ba: 2300 movs r3, #0 80be4bc: 60fb str r3, [r7, #12] /* Wait for AHB master IDLE state. */ do { if (++count > 200000U) 80be4be: 68fb ldr r3, [r7, #12] 80be4c0: 3301 adds r3, #1 80be4c2: 60fb str r3, [r7, #12] 80be4c4: 4a12 ldr r2, [pc, #72] ; (80be510 ) 80be4c6: 4293 cmp r3, r2 80be4c8: d901 bls.n 80be4ce { return HAL_TIMEOUT; 80be4ca: 2303 movs r3, #3 80be4cc: e01a b.n 80be504 } } while ((USBx->GRSTCTL & USB_OTG_GRSTCTL_AHBIDL) == 0U); 80be4ce: 687b ldr r3, [r7, #4] 80be4d0: 691b ldr r3, [r3, #16] 80be4d2: 2b00 cmp r3, #0 80be4d4: daf3 bge.n 80be4be /* Flush TX Fifo */ count = 0U; 80be4d6: 2300 movs r3, #0 80be4d8: 60fb str r3, [r7, #12] USBx->GRSTCTL = (USB_OTG_GRSTCTL_TXFFLSH | (num << 6)); 80be4da: 683b ldr r3, [r7, #0] 80be4dc: 019b lsls r3, r3, #6 80be4de: f043 0220 orr.w r2, r3, #32 80be4e2: 687b ldr r3, [r7, #4] 80be4e4: 611a str r2, [r3, #16] do { if (++count > 200000U) 80be4e6: 68fb ldr r3, [r7, #12] 80be4e8: 3301 adds r3, #1 80be4ea: 60fb str r3, [r7, #12] 80be4ec: 4a08 ldr r2, [pc, #32] ; (80be510 ) 80be4ee: 4293 cmp r3, r2 80be4f0: d901 bls.n 80be4f6 { return HAL_TIMEOUT; 80be4f2: 2303 movs r3, #3 80be4f4: e006 b.n 80be504 } } while ((USBx->GRSTCTL & USB_OTG_GRSTCTL_TXFFLSH) == USB_OTG_GRSTCTL_TXFFLSH); 80be4f6: 687b ldr r3, [r7, #4] 80be4f8: 691b ldr r3, [r3, #16] 80be4fa: f003 0320 and.w r3, r3, #32 80be4fe: 2b20 cmp r3, #32 80be500: d0f1 beq.n 80be4e6 return HAL_OK; 80be502: 2300 movs r3, #0 } 80be504: 4618 mov r0, r3 80be506: 3714 adds r7, #20 80be508: 46bd mov sp, r7 80be50a: f85d 7b04 ldr.w r7, [sp], #4 80be50e: 4770 bx lr 80be510: 00030d40 .word 0x00030d40 080be514 : * @brief USB_FlushRxFifo Flush Rx FIFO * @param USBx Selected device * @retval HAL status */ HAL_StatusTypeDef USB_FlushRxFifo(USB_OTG_GlobalTypeDef *USBx) { 80be514: b480 push {r7} 80be516: b085 sub sp, #20 80be518: af00 add r7, sp, #0 80be51a: 6078 str r0, [r7, #4] __IO uint32_t count = 0U; 80be51c: 2300 movs r3, #0 80be51e: 60fb str r3, [r7, #12] /* Wait for AHB master IDLE state. */ do { if (++count > 200000U) 80be520: 68fb ldr r3, [r7, #12] 80be522: 3301 adds r3, #1 80be524: 60fb str r3, [r7, #12] 80be526: 4a11 ldr r2, [pc, #68] ; (80be56c ) 80be528: 4293 cmp r3, r2 80be52a: d901 bls.n 80be530 { return HAL_TIMEOUT; 80be52c: 2303 movs r3, #3 80be52e: e017 b.n 80be560 } } while ((USBx->GRSTCTL & USB_OTG_GRSTCTL_AHBIDL) == 0U); 80be530: 687b ldr r3, [r7, #4] 80be532: 691b ldr r3, [r3, #16] 80be534: 2b00 cmp r3, #0 80be536: daf3 bge.n 80be520 /* Flush RX Fifo */ count = 0U; 80be538: 2300 movs r3, #0 80be53a: 60fb str r3, [r7, #12] USBx->GRSTCTL = USB_OTG_GRSTCTL_RXFFLSH; 80be53c: 687b ldr r3, [r7, #4] 80be53e: 2210 movs r2, #16 80be540: 611a str r2, [r3, #16] do { if (++count > 200000U) 80be542: 68fb ldr r3, [r7, #12] 80be544: 3301 adds r3, #1 80be546: 60fb str r3, [r7, #12] 80be548: 4a08 ldr r2, [pc, #32] ; (80be56c ) 80be54a: 4293 cmp r3, r2 80be54c: d901 bls.n 80be552 { return HAL_TIMEOUT; 80be54e: 2303 movs r3, #3 80be550: e006 b.n 80be560 } } while ((USBx->GRSTCTL & USB_OTG_GRSTCTL_RXFFLSH) == USB_OTG_GRSTCTL_RXFFLSH); 80be552: 687b ldr r3, [r7, #4] 80be554: 691b ldr r3, [r3, #16] 80be556: f003 0310 and.w r3, r3, #16 80be55a: 2b10 cmp r3, #16 80be55c: d0f1 beq.n 80be542 return HAL_OK; 80be55e: 2300 movs r3, #0 } 80be560: 4618 mov r0, r3 80be562: 3714 adds r7, #20 80be564: 46bd mov sp, r7 80be566: f85d 7b04 ldr.w r7, [sp], #4 80be56a: 4770 bx lr 80be56c: 00030d40 .word 0x00030d40 080be570 : * @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) { 80be570: b480 push {r7} 80be572: b085 sub sp, #20 80be574: af00 add r7, sp, #0 80be576: 6078 str r0, [r7, #4] 80be578: 460b mov r3, r1 80be57a: 70fb strb r3, [r7, #3] uint32_t USBx_BASE = (uint32_t)USBx; 80be57c: 687b ldr r3, [r7, #4] 80be57e: 60fb str r3, [r7, #12] USBx_DEVICE->DCFG |= speed; 80be580: 68fb ldr r3, [r7, #12] 80be582: f503 6300 add.w r3, r3, #2048 ; 0x800 80be586: 4619 mov r1, r3 80be588: 68fb ldr r3, [r7, #12] 80be58a: f503 6300 add.w r3, r3, #2048 ; 0x800 80be58e: 681a ldr r2, [r3, #0] 80be590: 78fb ldrb r3, [r7, #3] 80be592: 4313 orrs r3, r2 80be594: 600b str r3, [r1, #0] return HAL_OK; 80be596: 2300 movs r3, #0 } 80be598: 4618 mov r0, r3 80be59a: 3714 adds r7, #20 80be59c: 46bd mov sp, r7 80be59e: f85d 7b04 ldr.w r7, [sp], #4 80be5a2: 4770 bx lr 080be5a4 : * 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) { 80be5a4: b480 push {r7} 80be5a6: b087 sub sp, #28 80be5a8: af00 add r7, sp, #0 80be5aa: 6078 str r0, [r7, #4] uint32_t USBx_BASE = (uint32_t)USBx; 80be5ac: 687b ldr r3, [r7, #4] 80be5ae: 613b str r3, [r7, #16] uint8_t speed; uint32_t DevEnumSpeed = USBx_DEVICE->DSTS & USB_OTG_DSTS_ENUMSPD; 80be5b0: 693b ldr r3, [r7, #16] 80be5b2: f503 6300 add.w r3, r3, #2048 ; 0x800 80be5b6: 689b ldr r3, [r3, #8] 80be5b8: f003 0306 and.w r3, r3, #6 80be5bc: 60fb str r3, [r7, #12] if (DevEnumSpeed == DSTS_ENUMSPD_HS_PHY_30MHZ_OR_60MHZ) 80be5be: 68fb ldr r3, [r7, #12] 80be5c0: 2b00 cmp r3, #0 80be5c2: d102 bne.n 80be5ca { speed = USBD_HS_SPEED; 80be5c4: 2300 movs r3, #0 80be5c6: 75fb strb r3, [r7, #23] 80be5c8: e00a b.n 80be5e0 } else if ((DevEnumSpeed == DSTS_ENUMSPD_FS_PHY_30MHZ_OR_60MHZ) || 80be5ca: 68fb ldr r3, [r7, #12] 80be5cc: 2b02 cmp r3, #2 80be5ce: d002 beq.n 80be5d6 80be5d0: 68fb ldr r3, [r7, #12] 80be5d2: 2b06 cmp r3, #6 80be5d4: d102 bne.n 80be5dc (DevEnumSpeed == DSTS_ENUMSPD_FS_PHY_48MHZ)) { speed = USBD_FS_SPEED; 80be5d6: 2302 movs r3, #2 80be5d8: 75fb strb r3, [r7, #23] 80be5da: e001 b.n 80be5e0 } else { speed = 0xFU; 80be5dc: 230f movs r3, #15 80be5de: 75fb strb r3, [r7, #23] } return speed; 80be5e0: 7dfb ldrb r3, [r7, #23] } 80be5e2: 4618 mov r0, r3 80be5e4: 371c adds r7, #28 80be5e6: 46bd mov sp, r7 80be5e8: f85d 7b04 ldr.w r7, [sp], #4 80be5ec: 4770 bx lr ... 080be5f0 : * @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) { 80be5f0: b480 push {r7} 80be5f2: b085 sub sp, #20 80be5f4: af00 add r7, sp, #0 80be5f6: 6078 str r0, [r7, #4] 80be5f8: 6039 str r1, [r7, #0] uint32_t USBx_BASE = (uint32_t)USBx; 80be5fa: 687b ldr r3, [r7, #4] 80be5fc: 60fb str r3, [r7, #12] uint32_t epnum = (uint32_t)ep->num; 80be5fe: 683b ldr r3, [r7, #0] 80be600: 781b ldrb r3, [r3, #0] 80be602: 60bb str r3, [r7, #8] if (ep->is_in == 1U) 80be604: 683b ldr r3, [r7, #0] 80be606: 785b ldrb r3, [r3, #1] 80be608: 2b01 cmp r3, #1 80be60a: d13a bne.n 80be682 { USBx_DEVICE->DAINTMSK |= USB_OTG_DAINTMSK_IEPM & (uint32_t)(1UL << (ep->num & EP_ADDR_MSK)); 80be60c: 68fb ldr r3, [r7, #12] 80be60e: f503 6300 add.w r3, r3, #2048 ; 0x800 80be612: 4618 mov r0, r3 80be614: 68fb ldr r3, [r7, #12] 80be616: f503 6300 add.w r3, r3, #2048 ; 0x800 80be61a: 69da ldr r2, [r3, #28] 80be61c: 683b ldr r3, [r7, #0] 80be61e: 781b ldrb r3, [r3, #0] 80be620: f003 030f and.w r3, r3, #15 80be624: 2101 movs r1, #1 80be626: fa01 f303 lsl.w r3, r1, r3 80be62a: b29b uxth r3, r3 80be62c: 4313 orrs r3, r2 80be62e: 61c3 str r3, [r0, #28] if ((USBx_INEP(epnum)->DIEPCTL & USB_OTG_DIEPCTL_USBAEP) == 0U) 80be630: 68bb ldr r3, [r7, #8] 80be632: 015a lsls r2, r3, #5 80be634: 68fb ldr r3, [r7, #12] 80be636: 4413 add r3, r2 80be638: f503 6310 add.w r3, r3, #2304 ; 0x900 80be63c: 681b ldr r3, [r3, #0] 80be63e: f403 4300 and.w r3, r3, #32768 ; 0x8000 80be642: 2b00 cmp r3, #0 80be644: d154 bne.n 80be6f0 { USBx_INEP(epnum)->DIEPCTL |= (ep->maxpacket & USB_OTG_DIEPCTL_MPSIZ) | 80be646: 68bb ldr r3, [r7, #8] 80be648: 015a lsls r2, r3, #5 80be64a: 68fb ldr r3, [r7, #12] 80be64c: 4413 add r3, r2 80be64e: f503 6310 add.w r3, r3, #2304 ; 0x900 80be652: 4618 mov r0, r3 80be654: 68bb ldr r3, [r7, #8] 80be656: 015a lsls r2, r3, #5 80be658: 68fb ldr r3, [r7, #12] 80be65a: 4413 add r3, r2 80be65c: f503 6310 add.w r3, r3, #2304 ; 0x900 80be660: 681a ldr r2, [r3, #0] 80be662: 683b ldr r3, [r7, #0] 80be664: 689b ldr r3, [r3, #8] 80be666: f3c3 010a ubfx r1, r3, #0, #11 ((uint32_t)ep->type << 18) | (epnum << 22) | 80be66a: 683b ldr r3, [r7, #0] 80be66c: 78db ldrb r3, [r3, #3] 80be66e: 049b lsls r3, r3, #18 USBx_INEP(epnum)->DIEPCTL |= (ep->maxpacket & USB_OTG_DIEPCTL_MPSIZ) | 80be670: 4319 orrs r1, r3 ((uint32_t)ep->type << 18) | (epnum << 22) | 80be672: 68bb ldr r3, [r7, #8] 80be674: 059b lsls r3, r3, #22 80be676: 430b orrs r3, r1 USBx_INEP(epnum)->DIEPCTL |= (ep->maxpacket & USB_OTG_DIEPCTL_MPSIZ) | 80be678: 431a orrs r2, r3 80be67a: 4b21 ldr r3, [pc, #132] ; (80be700 ) 80be67c: 4313 orrs r3, r2 80be67e: 6003 str r3, [r0, #0] 80be680: e036 b.n 80be6f0 USB_OTG_DIEPCTL_USBAEP; } } else { USBx_DEVICE->DAINTMSK |= USB_OTG_DAINTMSK_OEPM & ((uint32_t)(1UL << (ep->num & EP_ADDR_MSK)) << 16); 80be682: 68fb ldr r3, [r7, #12] 80be684: f503 6300 add.w r3, r3, #2048 ; 0x800 80be688: 4618 mov r0, r3 80be68a: 68fb ldr r3, [r7, #12] 80be68c: f503 6300 add.w r3, r3, #2048 ; 0x800 80be690: 69da ldr r2, [r3, #28] 80be692: 683b ldr r3, [r7, #0] 80be694: 781b ldrb r3, [r3, #0] 80be696: f003 030f and.w r3, r3, #15 80be69a: 2101 movs r1, #1 80be69c: fa01 f303 lsl.w r3, r1, r3 80be6a0: 041b lsls r3, r3, #16 80be6a2: 4313 orrs r3, r2 80be6a4: 61c3 str r3, [r0, #28] if (((USBx_OUTEP(epnum)->DOEPCTL) & USB_OTG_DOEPCTL_USBAEP) == 0U) 80be6a6: 68bb ldr r3, [r7, #8] 80be6a8: 015a lsls r2, r3, #5 80be6aa: 68fb ldr r3, [r7, #12] 80be6ac: 4413 add r3, r2 80be6ae: f503 6330 add.w r3, r3, #2816 ; 0xb00 80be6b2: 681b ldr r3, [r3, #0] 80be6b4: f403 4300 and.w r3, r3, #32768 ; 0x8000 80be6b8: 2b00 cmp r3, #0 80be6ba: d119 bne.n 80be6f0 { USBx_OUTEP(epnum)->DOEPCTL |= (ep->maxpacket & USB_OTG_DOEPCTL_MPSIZ) | 80be6bc: 68bb ldr r3, [r7, #8] 80be6be: 015a lsls r2, r3, #5 80be6c0: 68fb ldr r3, [r7, #12] 80be6c2: 4413 add r3, r2 80be6c4: f503 6330 add.w r3, r3, #2816 ; 0xb00 80be6c8: 4618 mov r0, r3 80be6ca: 68bb ldr r3, [r7, #8] 80be6cc: 015a lsls r2, r3, #5 80be6ce: 68fb ldr r3, [r7, #12] 80be6d0: 4413 add r3, r2 80be6d2: f503 6330 add.w r3, r3, #2816 ; 0xb00 80be6d6: 681a ldr r2, [r3, #0] 80be6d8: 683b ldr r3, [r7, #0] 80be6da: 689b ldr r3, [r3, #8] 80be6dc: f3c3 010a ubfx r1, r3, #0, #11 ((uint32_t)ep->type << 18) | 80be6e0: 683b ldr r3, [r7, #0] 80be6e2: 78db ldrb r3, [r3, #3] 80be6e4: 049b lsls r3, r3, #18 USBx_OUTEP(epnum)->DOEPCTL |= (ep->maxpacket & USB_OTG_DOEPCTL_MPSIZ) | 80be6e6: 430b orrs r3, r1 80be6e8: 431a orrs r2, r3 80be6ea: 4b05 ldr r3, [pc, #20] ; (80be700 ) 80be6ec: 4313 orrs r3, r2 80be6ee: 6003 str r3, [r0, #0] USB_OTG_DIEPCTL_SD0PID_SEVNFRM | USB_OTG_DOEPCTL_USBAEP; } } return HAL_OK; 80be6f0: 2300 movs r3, #0 } 80be6f2: 4618 mov r0, r3 80be6f4: 3714 adds r7, #20 80be6f6: 46bd mov sp, r7 80be6f8: f85d 7b04 ldr.w r7, [sp], #4 80be6fc: 4770 bx lr 80be6fe: bf00 nop 80be700: 10008000 .word 0x10008000 080be704 : * @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) { 80be704: b480 push {r7} 80be706: b085 sub sp, #20 80be708: af00 add r7, sp, #0 80be70a: 6078 str r0, [r7, #4] 80be70c: 6039 str r1, [r7, #0] uint32_t USBx_BASE = (uint32_t)USBx; 80be70e: 687b ldr r3, [r7, #4] 80be710: 60fb str r3, [r7, #12] uint32_t epnum = (uint32_t)ep->num; 80be712: 683b ldr r3, [r7, #0] 80be714: 781b ldrb r3, [r3, #0] 80be716: 60bb str r3, [r7, #8] /* Read DEPCTLn register */ if (ep->is_in == 1U) 80be718: 683b ldr r3, [r7, #0] 80be71a: 785b ldrb r3, [r3, #1] 80be71c: 2b01 cmp r3, #1 80be71e: d165 bne.n 80be7ec { if ((USBx_INEP(epnum)->DIEPCTL & USB_OTG_DIEPCTL_EPENA) == USB_OTG_DIEPCTL_EPENA) 80be720: 68bb ldr r3, [r7, #8] 80be722: 015a lsls r2, r3, #5 80be724: 68fb ldr r3, [r7, #12] 80be726: 4413 add r3, r2 80be728: f503 6310 add.w r3, r3, #2304 ; 0x900 80be72c: 681b ldr r3, [r3, #0] 80be72e: f003 4300 and.w r3, r3, #2147483648 ; 0x80000000 80be732: f1b3 4f00 cmp.w r3, #2147483648 ; 0x80000000 80be736: d121 bne.n 80be77c { USBx_INEP(epnum)->DIEPCTL |= USB_OTG_DIEPCTL_SNAK; 80be738: 68bb ldr r3, [r7, #8] 80be73a: 015a lsls r2, r3, #5 80be73c: 68fb ldr r3, [r7, #12] 80be73e: 4413 add r3, r2 80be740: f503 6310 add.w r3, r3, #2304 ; 0x900 80be744: 4619 mov r1, r3 80be746: 68bb ldr r3, [r7, #8] 80be748: 015a lsls r2, r3, #5 80be74a: 68fb ldr r3, [r7, #12] 80be74c: 4413 add r3, r2 80be74e: f503 6310 add.w r3, r3, #2304 ; 0x900 80be752: 681b ldr r3, [r3, #0] 80be754: f043 6300 orr.w r3, r3, #134217728 ; 0x8000000 80be758: 600b str r3, [r1, #0] USBx_INEP(epnum)->DIEPCTL |= USB_OTG_DIEPCTL_EPDIS; 80be75a: 68bb ldr r3, [r7, #8] 80be75c: 015a lsls r2, r3, #5 80be75e: 68fb ldr r3, [r7, #12] 80be760: 4413 add r3, r2 80be762: f503 6310 add.w r3, r3, #2304 ; 0x900 80be766: 4619 mov r1, r3 80be768: 68bb ldr r3, [r7, #8] 80be76a: 015a lsls r2, r3, #5 80be76c: 68fb ldr r3, [r7, #12] 80be76e: 4413 add r3, r2 80be770: f503 6310 add.w r3, r3, #2304 ; 0x900 80be774: 681b ldr r3, [r3, #0] 80be776: f043 4380 orr.w r3, r3, #1073741824 ; 0x40000000 80be77a: 600b str r3, [r1, #0] } USBx_DEVICE->DEACHMSK &= ~(USB_OTG_DAINTMSK_IEPM & (uint32_t)(1UL << (ep->num & EP_ADDR_MSK))); 80be77c: 68fb ldr r3, [r7, #12] 80be77e: f503 6300 add.w r3, r3, #2048 ; 0x800 80be782: 4618 mov r0, r3 80be784: 68fb ldr r3, [r7, #12] 80be786: f503 6300 add.w r3, r3, #2048 ; 0x800 80be78a: 6bda ldr r2, [r3, #60] ; 0x3c 80be78c: 683b ldr r3, [r7, #0] 80be78e: 781b ldrb r3, [r3, #0] 80be790: f003 030f and.w r3, r3, #15 80be794: 2101 movs r1, #1 80be796: fa01 f303 lsl.w r3, r1, r3 80be79a: b29b uxth r3, r3 80be79c: 43db mvns r3, r3 80be79e: 4013 ands r3, r2 80be7a0: 63c3 str r3, [r0, #60] ; 0x3c USBx_DEVICE->DAINTMSK &= ~(USB_OTG_DAINTMSK_IEPM & (uint32_t)(1UL << (ep->num & EP_ADDR_MSK))); 80be7a2: 68fb ldr r3, [r7, #12] 80be7a4: f503 6300 add.w r3, r3, #2048 ; 0x800 80be7a8: 4618 mov r0, r3 80be7aa: 68fb ldr r3, [r7, #12] 80be7ac: f503 6300 add.w r3, r3, #2048 ; 0x800 80be7b0: 69da ldr r2, [r3, #28] 80be7b2: 683b ldr r3, [r7, #0] 80be7b4: 781b ldrb r3, [r3, #0] 80be7b6: f003 030f and.w r3, r3, #15 80be7ba: 2101 movs r1, #1 80be7bc: fa01 f303 lsl.w r3, r1, r3 80be7c0: b29b uxth r3, r3 80be7c2: 43db mvns r3, r3 80be7c4: 4013 ands r3, r2 80be7c6: 61c3 str r3, [r0, #28] USBx_INEP(epnum)->DIEPCTL &= ~(USB_OTG_DIEPCTL_USBAEP | 80be7c8: 68bb ldr r3, [r7, #8] 80be7ca: 015a lsls r2, r3, #5 80be7cc: 68fb ldr r3, [r7, #12] 80be7ce: 4413 add r3, r2 80be7d0: f503 6310 add.w r3, r3, #2304 ; 0x900 80be7d4: 4619 mov r1, r3 80be7d6: 68bb ldr r3, [r7, #8] 80be7d8: 015a lsls r2, r3, #5 80be7da: 68fb ldr r3, [r7, #12] 80be7dc: 4413 add r3, r2 80be7de: f503 6310 add.w r3, r3, #2304 ; 0x900 80be7e2: 681a ldr r2, [r3, #0] 80be7e4: 4b37 ldr r3, [pc, #220] ; (80be8c4 ) 80be7e6: 4013 ands r3, r2 80be7e8: 600b str r3, [r1, #0] 80be7ea: e064 b.n 80be8b6 USB_OTG_DIEPCTL_SD0PID_SEVNFRM | USB_OTG_DIEPCTL_EPTYP); } else { if ((USBx_OUTEP(epnum)->DOEPCTL & USB_OTG_DOEPCTL_EPENA) == USB_OTG_DOEPCTL_EPENA) 80be7ec: 68bb ldr r3, [r7, #8] 80be7ee: 015a lsls r2, r3, #5 80be7f0: 68fb ldr r3, [r7, #12] 80be7f2: 4413 add r3, r2 80be7f4: f503 6330 add.w r3, r3, #2816 ; 0xb00 80be7f8: 681b ldr r3, [r3, #0] 80be7fa: f003 4300 and.w r3, r3, #2147483648 ; 0x80000000 80be7fe: f1b3 4f00 cmp.w r3, #2147483648 ; 0x80000000 80be802: d121 bne.n 80be848 { USBx_OUTEP(epnum)->DOEPCTL |= USB_OTG_DOEPCTL_SNAK; 80be804: 68bb ldr r3, [r7, #8] 80be806: 015a lsls r2, r3, #5 80be808: 68fb ldr r3, [r7, #12] 80be80a: 4413 add r3, r2 80be80c: f503 6330 add.w r3, r3, #2816 ; 0xb00 80be810: 4619 mov r1, r3 80be812: 68bb ldr r3, [r7, #8] 80be814: 015a lsls r2, r3, #5 80be816: 68fb ldr r3, [r7, #12] 80be818: 4413 add r3, r2 80be81a: f503 6330 add.w r3, r3, #2816 ; 0xb00 80be81e: 681b ldr r3, [r3, #0] 80be820: f043 6300 orr.w r3, r3, #134217728 ; 0x8000000 80be824: 600b str r3, [r1, #0] USBx_OUTEP(epnum)->DOEPCTL |= USB_OTG_DOEPCTL_EPDIS; 80be826: 68bb ldr r3, [r7, #8] 80be828: 015a lsls r2, r3, #5 80be82a: 68fb ldr r3, [r7, #12] 80be82c: 4413 add r3, r2 80be82e: f503 6330 add.w r3, r3, #2816 ; 0xb00 80be832: 4619 mov r1, r3 80be834: 68bb ldr r3, [r7, #8] 80be836: 015a lsls r2, r3, #5 80be838: 68fb ldr r3, [r7, #12] 80be83a: 4413 add r3, r2 80be83c: f503 6330 add.w r3, r3, #2816 ; 0xb00 80be840: 681b ldr r3, [r3, #0] 80be842: f043 4380 orr.w r3, r3, #1073741824 ; 0x40000000 80be846: 600b str r3, [r1, #0] } USBx_DEVICE->DEACHMSK &= ~(USB_OTG_DAINTMSK_OEPM & ((uint32_t)(1UL << (ep->num & EP_ADDR_MSK)) << 16)); 80be848: 68fb ldr r3, [r7, #12] 80be84a: f503 6300 add.w r3, r3, #2048 ; 0x800 80be84e: 4618 mov r0, r3 80be850: 68fb ldr r3, [r7, #12] 80be852: f503 6300 add.w r3, r3, #2048 ; 0x800 80be856: 6bda ldr r2, [r3, #60] ; 0x3c 80be858: 683b ldr r3, [r7, #0] 80be85a: 781b ldrb r3, [r3, #0] 80be85c: f003 030f and.w r3, r3, #15 80be860: 2101 movs r1, #1 80be862: fa01 f303 lsl.w r3, r1, r3 80be866: 041b lsls r3, r3, #16 80be868: 43db mvns r3, r3 80be86a: 4013 ands r3, r2 80be86c: 63c3 str r3, [r0, #60] ; 0x3c USBx_DEVICE->DAINTMSK &= ~(USB_OTG_DAINTMSK_OEPM & ((uint32_t)(1UL << (ep->num & EP_ADDR_MSK)) << 16)); 80be86e: 68fb ldr r3, [r7, #12] 80be870: f503 6300 add.w r3, r3, #2048 ; 0x800 80be874: 4618 mov r0, r3 80be876: 68fb ldr r3, [r7, #12] 80be878: f503 6300 add.w r3, r3, #2048 ; 0x800 80be87c: 69da ldr r2, [r3, #28] 80be87e: 683b ldr r3, [r7, #0] 80be880: 781b ldrb r3, [r3, #0] 80be882: f003 030f and.w r3, r3, #15 80be886: 2101 movs r1, #1 80be888: fa01 f303 lsl.w r3, r1, r3 80be88c: 041b lsls r3, r3, #16 80be88e: 43db mvns r3, r3 80be890: 4013 ands r3, r2 80be892: 61c3 str r3, [r0, #28] USBx_OUTEP(epnum)->DOEPCTL &= ~(USB_OTG_DOEPCTL_USBAEP | 80be894: 68bb ldr r3, [r7, #8] 80be896: 015a lsls r2, r3, #5 80be898: 68fb ldr r3, [r7, #12] 80be89a: 4413 add r3, r2 80be89c: f503 6330 add.w r3, r3, #2816 ; 0xb00 80be8a0: 4619 mov r1, r3 80be8a2: 68bb ldr r3, [r7, #8] 80be8a4: 015a lsls r2, r3, #5 80be8a6: 68fb ldr r3, [r7, #12] 80be8a8: 4413 add r3, r2 80be8aa: f503 6330 add.w r3, r3, #2816 ; 0xb00 80be8ae: 681a ldr r2, [r3, #0] 80be8b0: 4b05 ldr r3, [pc, #20] ; (80be8c8 ) 80be8b2: 4013 ands r3, r2 80be8b4: 600b str r3, [r1, #0] USB_OTG_DOEPCTL_MPSIZ | USB_OTG_DOEPCTL_SD0PID_SEVNFRM | USB_OTG_DOEPCTL_EPTYP); } return HAL_OK; 80be8b6: 2300 movs r3, #0 } 80be8b8: 4618 mov r0, r3 80be8ba: 3714 adds r7, #20 80be8bc: 46bd mov sp, r7 80be8be: f85d 7b04 ldr.w r7, [sp], #4 80be8c2: 4770 bx lr 80be8c4: ec337800 .word 0xec337800 80be8c8: eff37800 .word 0xeff37800 080be8cc : * 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) { 80be8cc: b580 push {r7, lr} 80be8ce: b08a sub sp, #40 ; 0x28 80be8d0: af02 add r7, sp, #8 80be8d2: 60f8 str r0, [r7, #12] 80be8d4: 60b9 str r1, [r7, #8] 80be8d6: 4613 mov r3, r2 80be8d8: 71fb strb r3, [r7, #7] uint32_t USBx_BASE = (uint32_t)USBx; 80be8da: 68fb ldr r3, [r7, #12] 80be8dc: 61fb str r3, [r7, #28] uint32_t epnum = (uint32_t)ep->num; 80be8de: 68bb ldr r3, [r7, #8] 80be8e0: 781b ldrb r3, [r3, #0] 80be8e2: 61bb str r3, [r7, #24] uint16_t pktcnt; /* IN endpoint */ if (ep->is_in == 1U) 80be8e4: 68bb ldr r3, [r7, #8] 80be8e6: 785b ldrb r3, [r3, #1] 80be8e8: 2b01 cmp r3, #1 80be8ea: f040 816f bne.w 80bebcc { /* Zero Length Packet? */ if (ep->xfer_len == 0U) 80be8ee: 68bb ldr r3, [r7, #8] 80be8f0: 695b ldr r3, [r3, #20] 80be8f2: 2b00 cmp r3, #0 80be8f4: d133 bne.n 80be95e { USBx_INEP(epnum)->DIEPTSIZ &= ~(USB_OTG_DIEPTSIZ_PKTCNT); 80be8f6: 69bb ldr r3, [r7, #24] 80be8f8: 015a lsls r2, r3, #5 80be8fa: 69fb ldr r3, [r7, #28] 80be8fc: 4413 add r3, r2 80be8fe: f503 6310 add.w r3, r3, #2304 ; 0x900 80be902: 4619 mov r1, r3 80be904: 69bb ldr r3, [r7, #24] 80be906: 015a lsls r2, r3, #5 80be908: 69fb ldr r3, [r7, #28] 80be90a: 4413 add r3, r2 80be90c: f503 6310 add.w r3, r3, #2304 ; 0x900 80be910: 691a ldr r2, [r3, #16] 80be912: 4bab ldr r3, [pc, #684] ; (80bebc0 ) 80be914: 4013 ands r3, r2 80be916: 610b str r3, [r1, #16] USBx_INEP(epnum)->DIEPTSIZ |= (USB_OTG_DIEPTSIZ_PKTCNT & (1U << 19)); 80be918: 69bb ldr r3, [r7, #24] 80be91a: 015a lsls r2, r3, #5 80be91c: 69fb ldr r3, [r7, #28] 80be91e: 4413 add r3, r2 80be920: f503 6310 add.w r3, r3, #2304 ; 0x900 80be924: 4619 mov r1, r3 80be926: 69bb ldr r3, [r7, #24] 80be928: 015a lsls r2, r3, #5 80be92a: 69fb ldr r3, [r7, #28] 80be92c: 4413 add r3, r2 80be92e: f503 6310 add.w r3, r3, #2304 ; 0x900 80be932: 691b ldr r3, [r3, #16] 80be934: f443 2300 orr.w r3, r3, #524288 ; 0x80000 80be938: 610b str r3, [r1, #16] USBx_INEP(epnum)->DIEPTSIZ &= ~(USB_OTG_DIEPTSIZ_XFRSIZ); 80be93a: 69bb ldr r3, [r7, #24] 80be93c: 015a lsls r2, r3, #5 80be93e: 69fb ldr r3, [r7, #28] 80be940: 4413 add r3, r2 80be942: f503 6310 add.w r3, r3, #2304 ; 0x900 80be946: 4619 mov r1, r3 80be948: 69bb ldr r3, [r7, #24] 80be94a: 015a lsls r2, r3, #5 80be94c: 69fb ldr r3, [r7, #28] 80be94e: 4413 add r3, r2 80be950: f503 6310 add.w r3, r3, #2304 ; 0x900 80be954: 691a ldr r2, [r3, #16] 80be956: 4b9b ldr r3, [pc, #620] ; (80bebc4 ) 80be958: 4013 ands r3, r2 80be95a: 610b str r3, [r1, #16] 80be95c: e078 b.n 80bea50 /* 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); 80be95e: 69bb ldr r3, [r7, #24] 80be960: 015a lsls r2, r3, #5 80be962: 69fb ldr r3, [r7, #28] 80be964: 4413 add r3, r2 80be966: f503 6310 add.w r3, r3, #2304 ; 0x900 80be96a: 4619 mov r1, r3 80be96c: 69bb ldr r3, [r7, #24] 80be96e: 015a lsls r2, r3, #5 80be970: 69fb ldr r3, [r7, #28] 80be972: 4413 add r3, r2 80be974: f503 6310 add.w r3, r3, #2304 ; 0x900 80be978: 691a ldr r2, [r3, #16] 80be97a: 4b92 ldr r3, [pc, #584] ; (80bebc4 ) 80be97c: 4013 ands r3, r2 80be97e: 610b str r3, [r1, #16] USBx_INEP(epnum)->DIEPTSIZ &= ~(USB_OTG_DIEPTSIZ_PKTCNT); 80be980: 69bb ldr r3, [r7, #24] 80be982: 015a lsls r2, r3, #5 80be984: 69fb ldr r3, [r7, #28] 80be986: 4413 add r3, r2 80be988: f503 6310 add.w r3, r3, #2304 ; 0x900 80be98c: 4619 mov r1, r3 80be98e: 69bb ldr r3, [r7, #24] 80be990: 015a lsls r2, r3, #5 80be992: 69fb ldr r3, [r7, #28] 80be994: 4413 add r3, r2 80be996: f503 6310 add.w r3, r3, #2304 ; 0x900 80be99a: 691a ldr r2, [r3, #16] 80be99c: 4b88 ldr r3, [pc, #544] ; (80bebc0 ) 80be99e: 4013 ands r3, r2 80be9a0: 610b str r3, [r1, #16] USBx_INEP(epnum)->DIEPTSIZ |= (USB_OTG_DIEPTSIZ_PKTCNT & 80be9a2: 69bb ldr r3, [r7, #24] 80be9a4: 015a lsls r2, r3, #5 80be9a6: 69fb ldr r3, [r7, #28] 80be9a8: 4413 add r3, r2 80be9aa: f503 6310 add.w r3, r3, #2304 ; 0x900 80be9ae: 4618 mov r0, r3 80be9b0: 69bb ldr r3, [r7, #24] 80be9b2: 015a lsls r2, r3, #5 80be9b4: 69fb ldr r3, [r7, #28] 80be9b6: 4413 add r3, r2 80be9b8: f503 6310 add.w r3, r3, #2304 ; 0x900 80be9bc: 691a ldr r2, [r3, #16] (((ep->xfer_len + ep->maxpacket - 1U) / ep->maxpacket) << 19)); 80be9be: 68bb ldr r3, [r7, #8] 80be9c0: 6959 ldr r1, [r3, #20] 80be9c2: 68bb ldr r3, [r7, #8] 80be9c4: 689b ldr r3, [r3, #8] 80be9c6: 440b add r3, r1 80be9c8: 1e59 subs r1, r3, #1 80be9ca: 68bb ldr r3, [r7, #8] 80be9cc: 689b ldr r3, [r3, #8] 80be9ce: fbb1 f3f3 udiv r3, r1, r3 80be9d2: 04d9 lsls r1, r3, #19 USBx_INEP(epnum)->DIEPTSIZ |= (USB_OTG_DIEPTSIZ_PKTCNT & 80be9d4: 4b7c ldr r3, [pc, #496] ; (80bebc8 ) 80be9d6: 400b ands r3, r1 80be9d8: 4313 orrs r3, r2 80be9da: 6103 str r3, [r0, #16] USBx_INEP(epnum)->DIEPTSIZ |= (USB_OTG_DIEPTSIZ_XFRSIZ & ep->xfer_len); 80be9dc: 69bb ldr r3, [r7, #24] 80be9de: 015a lsls r2, r3, #5 80be9e0: 69fb ldr r3, [r7, #28] 80be9e2: 4413 add r3, r2 80be9e4: f503 6310 add.w r3, r3, #2304 ; 0x900 80be9e8: 4619 mov r1, r3 80be9ea: 69bb ldr r3, [r7, #24] 80be9ec: 015a lsls r2, r3, #5 80be9ee: 69fb ldr r3, [r7, #28] 80be9f0: 4413 add r3, r2 80be9f2: f503 6310 add.w r3, r3, #2304 ; 0x900 80be9f6: 691a ldr r2, [r3, #16] 80be9f8: 68bb ldr r3, [r7, #8] 80be9fa: 695b ldr r3, [r3, #20] 80be9fc: f3c3 0312 ubfx r3, r3, #0, #19 80bea00: 4313 orrs r3, r2 80bea02: 610b str r3, [r1, #16] if (ep->type == EP_TYPE_ISOC) 80bea04: 68bb ldr r3, [r7, #8] 80bea06: 78db ldrb r3, [r3, #3] 80bea08: 2b01 cmp r3, #1 80bea0a: d121 bne.n 80bea50 { USBx_INEP(epnum)->DIEPTSIZ &= ~(USB_OTG_DIEPTSIZ_MULCNT); 80bea0c: 69bb ldr r3, [r7, #24] 80bea0e: 015a lsls r2, r3, #5 80bea10: 69fb ldr r3, [r7, #28] 80bea12: 4413 add r3, r2 80bea14: f503 6310 add.w r3, r3, #2304 ; 0x900 80bea18: 4619 mov r1, r3 80bea1a: 69bb ldr r3, [r7, #24] 80bea1c: 015a lsls r2, r3, #5 80bea1e: 69fb ldr r3, [r7, #28] 80bea20: 4413 add r3, r2 80bea22: f503 6310 add.w r3, r3, #2304 ; 0x900 80bea26: 691b ldr r3, [r3, #16] 80bea28: f023 43c0 bic.w r3, r3, #1610612736 ; 0x60000000 80bea2c: 610b str r3, [r1, #16] USBx_INEP(epnum)->DIEPTSIZ |= (USB_OTG_DIEPTSIZ_MULCNT & (1U << 29)); 80bea2e: 69bb ldr r3, [r7, #24] 80bea30: 015a lsls r2, r3, #5 80bea32: 69fb ldr r3, [r7, #28] 80bea34: 4413 add r3, r2 80bea36: f503 6310 add.w r3, r3, #2304 ; 0x900 80bea3a: 4619 mov r1, r3 80bea3c: 69bb ldr r3, [r7, #24] 80bea3e: 015a lsls r2, r3, #5 80bea40: 69fb ldr r3, [r7, #28] 80bea42: 4413 add r3, r2 80bea44: f503 6310 add.w r3, r3, #2304 ; 0x900 80bea48: 691b ldr r3, [r3, #16] 80bea4a: f043 5300 orr.w r3, r3, #536870912 ; 0x20000000 80bea4e: 610b str r3, [r1, #16] } } if (dma == 1U) 80bea50: 79fb ldrb r3, [r7, #7] 80bea52: 2b01 cmp r3, #1 80bea54: d14e bne.n 80beaf4 { if ((uint32_t)ep->dma_addr != 0U) 80bea56: 68bb ldr r3, [r7, #8] 80bea58: 691b ldr r3, [r3, #16] 80bea5a: 2b00 cmp r3, #0 80bea5c: d009 beq.n 80bea72 { USBx_INEP(epnum)->DIEPDMA = (uint32_t)(ep->dma_addr); 80bea5e: 69bb ldr r3, [r7, #24] 80bea60: 015a lsls r2, r3, #5 80bea62: 69fb ldr r3, [r7, #28] 80bea64: 4413 add r3, r2 80bea66: f503 6310 add.w r3, r3, #2304 ; 0x900 80bea6a: 461a mov r2, r3 80bea6c: 68bb ldr r3, [r7, #8] 80bea6e: 691b ldr r3, [r3, #16] 80bea70: 6153 str r3, [r2, #20] } if (ep->type == EP_TYPE_ISOC) 80bea72: 68bb ldr r3, [r7, #8] 80bea74: 78db ldrb r3, [r3, #3] 80bea76: 2b01 cmp r3, #1 80bea78: d12a bne.n 80bead0 { if ((USBx_DEVICE->DSTS & (1U << 8)) == 0U) 80bea7a: 69fb ldr r3, [r7, #28] 80bea7c: f503 6300 add.w r3, r3, #2048 ; 0x800 80bea80: 689b ldr r3, [r3, #8] 80bea82: f403 7380 and.w r3, r3, #256 ; 0x100 80bea86: 2b00 cmp r3, #0 80bea88: d111 bne.n 80beaae { USBx_INEP(epnum)->DIEPCTL |= USB_OTG_DIEPCTL_SODDFRM; 80bea8a: 69bb ldr r3, [r7, #24] 80bea8c: 015a lsls r2, r3, #5 80bea8e: 69fb ldr r3, [r7, #28] 80bea90: 4413 add r3, r2 80bea92: f503 6310 add.w r3, r3, #2304 ; 0x900 80bea96: 4619 mov r1, r3 80bea98: 69bb ldr r3, [r7, #24] 80bea9a: 015a lsls r2, r3, #5 80bea9c: 69fb ldr r3, [r7, #28] 80bea9e: 4413 add r3, r2 80beaa0: f503 6310 add.w r3, r3, #2304 ; 0x900 80beaa4: 681b ldr r3, [r3, #0] 80beaa6: f043 5300 orr.w r3, r3, #536870912 ; 0x20000000 80beaaa: 600b str r3, [r1, #0] 80beaac: e010 b.n 80bead0 } else { USBx_INEP(epnum)->DIEPCTL |= USB_OTG_DIEPCTL_SD0PID_SEVNFRM; 80beaae: 69bb ldr r3, [r7, #24] 80beab0: 015a lsls r2, r3, #5 80beab2: 69fb ldr r3, [r7, #28] 80beab4: 4413 add r3, r2 80beab6: f503 6310 add.w r3, r3, #2304 ; 0x900 80beaba: 4619 mov r1, r3 80beabc: 69bb ldr r3, [r7, #24] 80beabe: 015a lsls r2, r3, #5 80beac0: 69fb ldr r3, [r7, #28] 80beac2: 4413 add r3, r2 80beac4: f503 6310 add.w r3, r3, #2304 ; 0x900 80beac8: 681b ldr r3, [r3, #0] 80beaca: f043 5380 orr.w r3, r3, #268435456 ; 0x10000000 80beace: 600b str r3, [r1, #0] } } /* EP enable, IN data in FIFO */ USBx_INEP(epnum)->DIEPCTL |= (USB_OTG_DIEPCTL_CNAK | USB_OTG_DIEPCTL_EPENA); 80bead0: 69bb ldr r3, [r7, #24] 80bead2: 015a lsls r2, r3, #5 80bead4: 69fb ldr r3, [r7, #28] 80bead6: 4413 add r3, r2 80bead8: f503 6310 add.w r3, r3, #2304 ; 0x900 80beadc: 4619 mov r1, r3 80beade: 69bb ldr r3, [r7, #24] 80beae0: 015a lsls r2, r3, #5 80beae2: 69fb ldr r3, [r7, #28] 80beae4: 4413 add r3, r2 80beae6: f503 6310 add.w r3, r3, #2304 ; 0x900 80beaea: 681b ldr r3, [r3, #0] 80beaec: f043 4304 orr.w r3, r3, #2214592512 ; 0x84000000 80beaf0: 600b str r3, [r1, #0] 80beaf2: e13e b.n 80bed72 } else { /* EP enable, IN data in FIFO */ USBx_INEP(epnum)->DIEPCTL |= (USB_OTG_DIEPCTL_CNAK | USB_OTG_DIEPCTL_EPENA); 80beaf4: 69bb ldr r3, [r7, #24] 80beaf6: 015a lsls r2, r3, #5 80beaf8: 69fb ldr r3, [r7, #28] 80beafa: 4413 add r3, r2 80beafc: f503 6310 add.w r3, r3, #2304 ; 0x900 80beb00: 4619 mov r1, r3 80beb02: 69bb ldr r3, [r7, #24] 80beb04: 015a lsls r2, r3, #5 80beb06: 69fb ldr r3, [r7, #28] 80beb08: 4413 add r3, r2 80beb0a: f503 6310 add.w r3, r3, #2304 ; 0x900 80beb0e: 681b ldr r3, [r3, #0] 80beb10: f043 4304 orr.w r3, r3, #2214592512 ; 0x84000000 80beb14: 600b str r3, [r1, #0] if (ep->type != EP_TYPE_ISOC) 80beb16: 68bb ldr r3, [r7, #8] 80beb18: 78db ldrb r3, [r3, #3] 80beb1a: 2b01 cmp r3, #1 80beb1c: d016 beq.n 80beb4c { /* Enable the Tx FIFO Empty Interrupt for this EP */ if (ep->xfer_len > 0U) 80beb1e: 68bb ldr r3, [r7, #8] 80beb20: 695b ldr r3, [r3, #20] 80beb22: 2b00 cmp r3, #0 80beb24: f000 8125 beq.w 80bed72 { USBx_DEVICE->DIEPEMPMSK |= 1UL << (ep->num & EP_ADDR_MSK); 80beb28: 69fb ldr r3, [r7, #28] 80beb2a: f503 6300 add.w r3, r3, #2048 ; 0x800 80beb2e: 4618 mov r0, r3 80beb30: 69fb ldr r3, [r7, #28] 80beb32: f503 6300 add.w r3, r3, #2048 ; 0x800 80beb36: 6b5a ldr r2, [r3, #52] ; 0x34 80beb38: 68bb ldr r3, [r7, #8] 80beb3a: 781b ldrb r3, [r3, #0] 80beb3c: f003 030f and.w r3, r3, #15 80beb40: 2101 movs r1, #1 80beb42: fa01 f303 lsl.w r3, r1, r3 80beb46: 4313 orrs r3, r2 80beb48: 6343 str r3, [r0, #52] ; 0x34 80beb4a: e112 b.n 80bed72 } } else { if ((USBx_DEVICE->DSTS & (1U << 8)) == 0U) 80beb4c: 69fb ldr r3, [r7, #28] 80beb4e: f503 6300 add.w r3, r3, #2048 ; 0x800 80beb52: 689b ldr r3, [r3, #8] 80beb54: f403 7380 and.w r3, r3, #256 ; 0x100 80beb58: 2b00 cmp r3, #0 80beb5a: d111 bne.n 80beb80 { USBx_INEP(epnum)->DIEPCTL |= USB_OTG_DIEPCTL_SODDFRM; 80beb5c: 69bb ldr r3, [r7, #24] 80beb5e: 015a lsls r2, r3, #5 80beb60: 69fb ldr r3, [r7, #28] 80beb62: 4413 add r3, r2 80beb64: f503 6310 add.w r3, r3, #2304 ; 0x900 80beb68: 4619 mov r1, r3 80beb6a: 69bb ldr r3, [r7, #24] 80beb6c: 015a lsls r2, r3, #5 80beb6e: 69fb ldr r3, [r7, #28] 80beb70: 4413 add r3, r2 80beb72: f503 6310 add.w r3, r3, #2304 ; 0x900 80beb76: 681b ldr r3, [r3, #0] 80beb78: f043 5300 orr.w r3, r3, #536870912 ; 0x20000000 80beb7c: 600b str r3, [r1, #0] 80beb7e: e010 b.n 80beba2 } else { USBx_INEP(epnum)->DIEPCTL |= USB_OTG_DIEPCTL_SD0PID_SEVNFRM; 80beb80: 69bb ldr r3, [r7, #24] 80beb82: 015a lsls r2, r3, #5 80beb84: 69fb ldr r3, [r7, #28] 80beb86: 4413 add r3, r2 80beb88: f503 6310 add.w r3, r3, #2304 ; 0x900 80beb8c: 4619 mov r1, r3 80beb8e: 69bb ldr r3, [r7, #24] 80beb90: 015a lsls r2, r3, #5 80beb92: 69fb ldr r3, [r7, #28] 80beb94: 4413 add r3, r2 80beb96: f503 6310 add.w r3, r3, #2304 ; 0x900 80beb9a: 681b ldr r3, [r3, #0] 80beb9c: f043 5380 orr.w r3, r3, #268435456 ; 0x10000000 80beba0: 600b str r3, [r1, #0] } (void)USB_WritePacket(USBx, ep->xfer_buff, ep->num, (uint16_t)ep->xfer_len, dma); 80beba2: 68bb ldr r3, [r7, #8] 80beba4: 68d9 ldr r1, [r3, #12] 80beba6: 68bb ldr r3, [r7, #8] 80beba8: 781a ldrb r2, [r3, #0] 80bebaa: 68bb ldr r3, [r7, #8] 80bebac: 695b ldr r3, [r3, #20] 80bebae: b298 uxth r0, r3 80bebb0: 79fb ldrb r3, [r7, #7] 80bebb2: 9300 str r3, [sp, #0] 80bebb4: 4603 mov r3, r0 80bebb6: 68f8 ldr r0, [r7, #12] 80bebb8: f000 fa48 bl 80bf04c 80bebbc: e0d9 b.n 80bed72 80bebbe: bf00 nop 80bebc0: e007ffff .word 0xe007ffff 80bebc4: fff80000 .word 0xfff80000 80bebc8: 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); 80bebcc: 69bb ldr r3, [r7, #24] 80bebce: 015a lsls r2, r3, #5 80bebd0: 69fb ldr r3, [r7, #28] 80bebd2: 4413 add r3, r2 80bebd4: f503 6330 add.w r3, r3, #2816 ; 0xb00 80bebd8: 4619 mov r1, r3 80bebda: 69bb ldr r3, [r7, #24] 80bebdc: 015a lsls r2, r3, #5 80bebde: 69fb ldr r3, [r7, #28] 80bebe0: 4413 add r3, r2 80bebe2: f503 6330 add.w r3, r3, #2816 ; 0xb00 80bebe6: 691a ldr r2, [r3, #16] 80bebe8: 4b64 ldr r3, [pc, #400] ; (80bed7c ) 80bebea: 4013 ands r3, r2 80bebec: 610b str r3, [r1, #16] USBx_OUTEP(epnum)->DOEPTSIZ &= ~(USB_OTG_DOEPTSIZ_PKTCNT); 80bebee: 69bb ldr r3, [r7, #24] 80bebf0: 015a lsls r2, r3, #5 80bebf2: 69fb ldr r3, [r7, #28] 80bebf4: 4413 add r3, r2 80bebf6: f503 6330 add.w r3, r3, #2816 ; 0xb00 80bebfa: 4619 mov r1, r3 80bebfc: 69bb ldr r3, [r7, #24] 80bebfe: 015a lsls r2, r3, #5 80bec00: 69fb ldr r3, [r7, #28] 80bec02: 4413 add r3, r2 80bec04: f503 6330 add.w r3, r3, #2816 ; 0xb00 80bec08: 691a ldr r2, [r3, #16] 80bec0a: 4b5d ldr r3, [pc, #372] ; (80bed80 ) 80bec0c: 4013 ands r3, r2 80bec0e: 610b str r3, [r1, #16] if (ep->xfer_len == 0U) 80bec10: 68bb ldr r3, [r7, #8] 80bec12: 695b ldr r3, [r3, #20] 80bec14: 2b00 cmp r3, #0 80bec16: d125 bne.n 80bec64 { USBx_OUTEP(epnum)->DOEPTSIZ |= (USB_OTG_DOEPTSIZ_XFRSIZ & ep->maxpacket); 80bec18: 69bb ldr r3, [r7, #24] 80bec1a: 015a lsls r2, r3, #5 80bec1c: 69fb ldr r3, [r7, #28] 80bec1e: 4413 add r3, r2 80bec20: f503 6330 add.w r3, r3, #2816 ; 0xb00 80bec24: 4619 mov r1, r3 80bec26: 69bb ldr r3, [r7, #24] 80bec28: 015a lsls r2, r3, #5 80bec2a: 69fb ldr r3, [r7, #28] 80bec2c: 4413 add r3, r2 80bec2e: f503 6330 add.w r3, r3, #2816 ; 0xb00 80bec32: 691a ldr r2, [r3, #16] 80bec34: 68bb ldr r3, [r7, #8] 80bec36: 689b ldr r3, [r3, #8] 80bec38: f3c3 0312 ubfx r3, r3, #0, #19 80bec3c: 4313 orrs r3, r2 80bec3e: 610b str r3, [r1, #16] USBx_OUTEP(epnum)->DOEPTSIZ |= (USB_OTG_DOEPTSIZ_PKTCNT & (1U << 19)); 80bec40: 69bb ldr r3, [r7, #24] 80bec42: 015a lsls r2, r3, #5 80bec44: 69fb ldr r3, [r7, #28] 80bec46: 4413 add r3, r2 80bec48: f503 6330 add.w r3, r3, #2816 ; 0xb00 80bec4c: 4619 mov r1, r3 80bec4e: 69bb ldr r3, [r7, #24] 80bec50: 015a lsls r2, r3, #5 80bec52: 69fb ldr r3, [r7, #28] 80bec54: 4413 add r3, r2 80bec56: f503 6330 add.w r3, r3, #2816 ; 0xb00 80bec5a: 691b ldr r3, [r3, #16] 80bec5c: f443 2300 orr.w r3, r3, #524288 ; 0x80000 80bec60: 610b str r3, [r1, #16] 80bec62: e035 b.n 80becd0 } else { pktcnt = (uint16_t)((ep->xfer_len + ep->maxpacket - 1U) / ep->maxpacket); 80bec64: 68bb ldr r3, [r7, #8] 80bec66: 695a ldr r2, [r3, #20] 80bec68: 68bb ldr r3, [r7, #8] 80bec6a: 689b ldr r3, [r3, #8] 80bec6c: 4413 add r3, r2 80bec6e: 1e5a subs r2, r3, #1 80bec70: 68bb ldr r3, [r7, #8] 80bec72: 689b ldr r3, [r3, #8] 80bec74: fbb2 f3f3 udiv r3, r2, r3 80bec78: 82fb strh r3, [r7, #22] USBx_OUTEP(epnum)->DOEPTSIZ |= USB_OTG_DOEPTSIZ_PKTCNT & ((uint32_t)pktcnt << 19); 80bec7a: 69bb ldr r3, [r7, #24] 80bec7c: 015a lsls r2, r3, #5 80bec7e: 69fb ldr r3, [r7, #28] 80bec80: 4413 add r3, r2 80bec82: f503 6330 add.w r3, r3, #2816 ; 0xb00 80bec86: 4618 mov r0, r3 80bec88: 69bb ldr r3, [r7, #24] 80bec8a: 015a lsls r2, r3, #5 80bec8c: 69fb ldr r3, [r7, #28] 80bec8e: 4413 add r3, r2 80bec90: f503 6330 add.w r3, r3, #2816 ; 0xb00 80bec94: 691a ldr r2, [r3, #16] 80bec96: 8afb ldrh r3, [r7, #22] 80bec98: 04d9 lsls r1, r3, #19 80bec9a: 4b3a ldr r3, [pc, #232] ; (80bed84 ) 80bec9c: 400b ands r3, r1 80bec9e: 4313 orrs r3, r2 80beca0: 6103 str r3, [r0, #16] USBx_OUTEP(epnum)->DOEPTSIZ |= USB_OTG_DOEPTSIZ_XFRSIZ & (ep->maxpacket * pktcnt); 80beca2: 69bb ldr r3, [r7, #24] 80beca4: 015a lsls r2, r3, #5 80beca6: 69fb ldr r3, [r7, #28] 80beca8: 4413 add r3, r2 80becaa: f503 6330 add.w r3, r3, #2816 ; 0xb00 80becae: 4618 mov r0, r3 80becb0: 69bb ldr r3, [r7, #24] 80becb2: 015a lsls r2, r3, #5 80becb4: 69fb ldr r3, [r7, #28] 80becb6: 4413 add r3, r2 80becb8: f503 6330 add.w r3, r3, #2816 ; 0xb00 80becbc: 691a ldr r2, [r3, #16] 80becbe: 68bb ldr r3, [r7, #8] 80becc0: 689b ldr r3, [r3, #8] 80becc2: 8af9 ldrh r1, [r7, #22] 80becc4: fb01 f303 mul.w r3, r1, r3 80becc8: f3c3 0312 ubfx r3, r3, #0, #19 80beccc: 4313 orrs r3, r2 80becce: 6103 str r3, [r0, #16] } if (dma == 1U) 80becd0: 79fb ldrb r3, [r7, #7] 80becd2: 2b01 cmp r3, #1 80becd4: d10d bne.n 80becf2 { if ((uint32_t)ep->xfer_buff != 0U) 80becd6: 68bb ldr r3, [r7, #8] 80becd8: 68db ldr r3, [r3, #12] 80becda: 2b00 cmp r3, #0 80becdc: d009 beq.n 80becf2 { USBx_OUTEP(epnum)->DOEPDMA = (uint32_t)(ep->xfer_buff); 80becde: 69bb ldr r3, [r7, #24] 80bece0: 015a lsls r2, r3, #5 80bece2: 69fb ldr r3, [r7, #28] 80bece4: 4413 add r3, r2 80bece6: f503 6330 add.w r3, r3, #2816 ; 0xb00 80becea: 461a mov r2, r3 80becec: 68bb ldr r3, [r7, #8] 80becee: 68db ldr r3, [r3, #12] 80becf0: 6153 str r3, [r2, #20] } } if (ep->type == EP_TYPE_ISOC) 80becf2: 68bb ldr r3, [r7, #8] 80becf4: 78db ldrb r3, [r3, #3] 80becf6: 2b01 cmp r3, #1 80becf8: d12a bne.n 80bed50 { if ((USBx_DEVICE->DSTS & (1U << 8)) == 0U) 80becfa: 69fb ldr r3, [r7, #28] 80becfc: f503 6300 add.w r3, r3, #2048 ; 0x800 80bed00: 689b ldr r3, [r3, #8] 80bed02: f403 7380 and.w r3, r3, #256 ; 0x100 80bed06: 2b00 cmp r3, #0 80bed08: d111 bne.n 80bed2e { USBx_OUTEP(epnum)->DOEPCTL |= USB_OTG_DOEPCTL_SODDFRM; 80bed0a: 69bb ldr r3, [r7, #24] 80bed0c: 015a lsls r2, r3, #5 80bed0e: 69fb ldr r3, [r7, #28] 80bed10: 4413 add r3, r2 80bed12: f503 6330 add.w r3, r3, #2816 ; 0xb00 80bed16: 4619 mov r1, r3 80bed18: 69bb ldr r3, [r7, #24] 80bed1a: 015a lsls r2, r3, #5 80bed1c: 69fb ldr r3, [r7, #28] 80bed1e: 4413 add r3, r2 80bed20: f503 6330 add.w r3, r3, #2816 ; 0xb00 80bed24: 681b ldr r3, [r3, #0] 80bed26: f043 5300 orr.w r3, r3, #536870912 ; 0x20000000 80bed2a: 600b str r3, [r1, #0] 80bed2c: e010 b.n 80bed50 } else { USBx_OUTEP(epnum)->DOEPCTL |= USB_OTG_DOEPCTL_SD0PID_SEVNFRM; 80bed2e: 69bb ldr r3, [r7, #24] 80bed30: 015a lsls r2, r3, #5 80bed32: 69fb ldr r3, [r7, #28] 80bed34: 4413 add r3, r2 80bed36: f503 6330 add.w r3, r3, #2816 ; 0xb00 80bed3a: 4619 mov r1, r3 80bed3c: 69bb ldr r3, [r7, #24] 80bed3e: 015a lsls r2, r3, #5 80bed40: 69fb ldr r3, [r7, #28] 80bed42: 4413 add r3, r2 80bed44: f503 6330 add.w r3, r3, #2816 ; 0xb00 80bed48: 681b ldr r3, [r3, #0] 80bed4a: f043 5380 orr.w r3, r3, #268435456 ; 0x10000000 80bed4e: 600b str r3, [r1, #0] } } /* EP enable */ USBx_OUTEP(epnum)->DOEPCTL |= (USB_OTG_DOEPCTL_CNAK | USB_OTG_DOEPCTL_EPENA); 80bed50: 69bb ldr r3, [r7, #24] 80bed52: 015a lsls r2, r3, #5 80bed54: 69fb ldr r3, [r7, #28] 80bed56: 4413 add r3, r2 80bed58: f503 6330 add.w r3, r3, #2816 ; 0xb00 80bed5c: 4619 mov r1, r3 80bed5e: 69bb ldr r3, [r7, #24] 80bed60: 015a lsls r2, r3, #5 80bed62: 69fb ldr r3, [r7, #28] 80bed64: 4413 add r3, r2 80bed66: f503 6330 add.w r3, r3, #2816 ; 0xb00 80bed6a: 681b ldr r3, [r3, #0] 80bed6c: f043 4304 orr.w r3, r3, #2214592512 ; 0x84000000 80bed70: 600b str r3, [r1, #0] } return HAL_OK; 80bed72: 2300 movs r3, #0 } 80bed74: 4618 mov r0, r3 80bed76: 3720 adds r7, #32 80bed78: 46bd mov sp, r7 80bed7a: bd80 pop {r7, pc} 80bed7c: fff80000 .word 0xfff80000 80bed80: e007ffff .word 0xe007ffff 80bed84: 1ff80000 .word 0x1ff80000 080bed88 : * 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) { 80bed88: b480 push {r7} 80bed8a: b087 sub sp, #28 80bed8c: af00 add r7, sp, #0 80bed8e: 60f8 str r0, [r7, #12] 80bed90: 60b9 str r1, [r7, #8] 80bed92: 4613 mov r3, r2 80bed94: 71fb strb r3, [r7, #7] uint32_t USBx_BASE = (uint32_t)USBx; 80bed96: 68fb ldr r3, [r7, #12] 80bed98: 617b str r3, [r7, #20] uint32_t epnum = (uint32_t)ep->num; 80bed9a: 68bb ldr r3, [r7, #8] 80bed9c: 781b ldrb r3, [r3, #0] 80bed9e: 613b str r3, [r7, #16] /* IN endpoint */ if (ep->is_in == 1U) 80beda0: 68bb ldr r3, [r7, #8] 80beda2: 785b ldrb r3, [r3, #1] 80beda4: 2b01 cmp r3, #1 80beda6: f040 80d4 bne.w 80bef52 { /* Zero Length Packet? */ if (ep->xfer_len == 0U) 80bedaa: 68bb ldr r3, [r7, #8] 80bedac: 695b ldr r3, [r3, #20] 80bedae: 2b00 cmp r3, #0 80bedb0: d133 bne.n 80bee1a { USBx_INEP(epnum)->DIEPTSIZ &= ~(USB_OTG_DIEPTSIZ_PKTCNT); 80bedb2: 693b ldr r3, [r7, #16] 80bedb4: 015a lsls r2, r3, #5 80bedb6: 697b ldr r3, [r7, #20] 80bedb8: 4413 add r3, r2 80bedba: f503 6310 add.w r3, r3, #2304 ; 0x900 80bedbe: 4619 mov r1, r3 80bedc0: 693b ldr r3, [r7, #16] 80bedc2: 015a lsls r2, r3, #5 80bedc4: 697b ldr r3, [r7, #20] 80bedc6: 4413 add r3, r2 80bedc8: f503 6310 add.w r3, r3, #2304 ; 0x900 80bedcc: 691a ldr r2, [r3, #16] 80bedce: 4b9d ldr r3, [pc, #628] ; (80bf044 ) 80bedd0: 4013 ands r3, r2 80bedd2: 610b str r3, [r1, #16] USBx_INEP(epnum)->DIEPTSIZ |= (USB_OTG_DIEPTSIZ_PKTCNT & (1U << 19)); 80bedd4: 693b ldr r3, [r7, #16] 80bedd6: 015a lsls r2, r3, #5 80bedd8: 697b ldr r3, [r7, #20] 80bedda: 4413 add r3, r2 80beddc: f503 6310 add.w r3, r3, #2304 ; 0x900 80bede0: 4619 mov r1, r3 80bede2: 693b ldr r3, [r7, #16] 80bede4: 015a lsls r2, r3, #5 80bede6: 697b ldr r3, [r7, #20] 80bede8: 4413 add r3, r2 80bedea: f503 6310 add.w r3, r3, #2304 ; 0x900 80bedee: 691b ldr r3, [r3, #16] 80bedf0: f443 2300 orr.w r3, r3, #524288 ; 0x80000 80bedf4: 610b str r3, [r1, #16] USBx_INEP(epnum)->DIEPTSIZ &= ~(USB_OTG_DIEPTSIZ_XFRSIZ); 80bedf6: 693b ldr r3, [r7, #16] 80bedf8: 015a lsls r2, r3, #5 80bedfa: 697b ldr r3, [r7, #20] 80bedfc: 4413 add r3, r2 80bedfe: f503 6310 add.w r3, r3, #2304 ; 0x900 80bee02: 4619 mov r1, r3 80bee04: 693b ldr r3, [r7, #16] 80bee06: 015a lsls r2, r3, #5 80bee08: 697b ldr r3, [r7, #20] 80bee0a: 4413 add r3, r2 80bee0c: f503 6310 add.w r3, r3, #2304 ; 0x900 80bee10: 691a ldr r2, [r3, #16] 80bee12: 4b8d ldr r3, [pc, #564] ; (80bf048 ) 80bee14: 4013 ands r3, r2 80bee16: 610b str r3, [r1, #16] 80bee18: e050 b.n 80beebc /* 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); 80bee1a: 693b ldr r3, [r7, #16] 80bee1c: 015a lsls r2, r3, #5 80bee1e: 697b ldr r3, [r7, #20] 80bee20: 4413 add r3, r2 80bee22: f503 6310 add.w r3, r3, #2304 ; 0x900 80bee26: 4619 mov r1, r3 80bee28: 693b ldr r3, [r7, #16] 80bee2a: 015a lsls r2, r3, #5 80bee2c: 697b ldr r3, [r7, #20] 80bee2e: 4413 add r3, r2 80bee30: f503 6310 add.w r3, r3, #2304 ; 0x900 80bee34: 691a ldr r2, [r3, #16] 80bee36: 4b84 ldr r3, [pc, #528] ; (80bf048 ) 80bee38: 4013 ands r3, r2 80bee3a: 610b str r3, [r1, #16] USBx_INEP(epnum)->DIEPTSIZ &= ~(USB_OTG_DIEPTSIZ_PKTCNT); 80bee3c: 693b ldr r3, [r7, #16] 80bee3e: 015a lsls r2, r3, #5 80bee40: 697b ldr r3, [r7, #20] 80bee42: 4413 add r3, r2 80bee44: f503 6310 add.w r3, r3, #2304 ; 0x900 80bee48: 4619 mov r1, r3 80bee4a: 693b ldr r3, [r7, #16] 80bee4c: 015a lsls r2, r3, #5 80bee4e: 697b ldr r3, [r7, #20] 80bee50: 4413 add r3, r2 80bee52: f503 6310 add.w r3, r3, #2304 ; 0x900 80bee56: 691a ldr r2, [r3, #16] 80bee58: 4b7a ldr r3, [pc, #488] ; (80bf044 ) 80bee5a: 4013 ands r3, r2 80bee5c: 610b str r3, [r1, #16] if (ep->xfer_len > ep->maxpacket) 80bee5e: 68bb ldr r3, [r7, #8] 80bee60: 695a ldr r2, [r3, #20] 80bee62: 68bb ldr r3, [r7, #8] 80bee64: 689b ldr r3, [r3, #8] 80bee66: 429a cmp r2, r3 80bee68: d903 bls.n 80bee72 { ep->xfer_len = ep->maxpacket; 80bee6a: 68bb ldr r3, [r7, #8] 80bee6c: 689a ldr r2, [r3, #8] 80bee6e: 68bb ldr r3, [r7, #8] 80bee70: 615a str r2, [r3, #20] } USBx_INEP(epnum)->DIEPTSIZ |= (USB_OTG_DIEPTSIZ_PKTCNT & (1U << 19)); 80bee72: 693b ldr r3, [r7, #16] 80bee74: 015a lsls r2, r3, #5 80bee76: 697b ldr r3, [r7, #20] 80bee78: 4413 add r3, r2 80bee7a: f503 6310 add.w r3, r3, #2304 ; 0x900 80bee7e: 4619 mov r1, r3 80bee80: 693b ldr r3, [r7, #16] 80bee82: 015a lsls r2, r3, #5 80bee84: 697b ldr r3, [r7, #20] 80bee86: 4413 add r3, r2 80bee88: f503 6310 add.w r3, r3, #2304 ; 0x900 80bee8c: 691b ldr r3, [r3, #16] 80bee8e: f443 2300 orr.w r3, r3, #524288 ; 0x80000 80bee92: 610b str r3, [r1, #16] USBx_INEP(epnum)->DIEPTSIZ |= (USB_OTG_DIEPTSIZ_XFRSIZ & ep->xfer_len); 80bee94: 693b ldr r3, [r7, #16] 80bee96: 015a lsls r2, r3, #5 80bee98: 697b ldr r3, [r7, #20] 80bee9a: 4413 add r3, r2 80bee9c: f503 6310 add.w r3, r3, #2304 ; 0x900 80beea0: 4619 mov r1, r3 80beea2: 693b ldr r3, [r7, #16] 80beea4: 015a lsls r2, r3, #5 80beea6: 697b ldr r3, [r7, #20] 80beea8: 4413 add r3, r2 80beeaa: f503 6310 add.w r3, r3, #2304 ; 0x900 80beeae: 691a ldr r2, [r3, #16] 80beeb0: 68bb ldr r3, [r7, #8] 80beeb2: 695b ldr r3, [r3, #20] 80beeb4: f3c3 0312 ubfx r3, r3, #0, #19 80beeb8: 4313 orrs r3, r2 80beeba: 610b str r3, [r1, #16] } if (dma == 1U) 80beebc: 79fb ldrb r3, [r7, #7] 80beebe: 2b01 cmp r3, #1 80beec0: d11f bne.n 80bef02 { if ((uint32_t)ep->dma_addr != 0U) 80beec2: 68bb ldr r3, [r7, #8] 80beec4: 691b ldr r3, [r3, #16] 80beec6: 2b00 cmp r3, #0 80beec8: d009 beq.n 80beede { USBx_INEP(epnum)->DIEPDMA = (uint32_t)(ep->dma_addr); 80beeca: 693b ldr r3, [r7, #16] 80beecc: 015a lsls r2, r3, #5 80beece: 697b ldr r3, [r7, #20] 80beed0: 4413 add r3, r2 80beed2: f503 6310 add.w r3, r3, #2304 ; 0x900 80beed6: 461a mov r2, r3 80beed8: 68bb ldr r3, [r7, #8] 80beeda: 691b ldr r3, [r3, #16] 80beedc: 6153 str r3, [r2, #20] } /* EP enable, IN data in FIFO */ USBx_INEP(epnum)->DIEPCTL |= (USB_OTG_DIEPCTL_CNAK | USB_OTG_DIEPCTL_EPENA); 80beede: 693b ldr r3, [r7, #16] 80beee0: 015a lsls r2, r3, #5 80beee2: 697b ldr r3, [r7, #20] 80beee4: 4413 add r3, r2 80beee6: f503 6310 add.w r3, r3, #2304 ; 0x900 80beeea: 4619 mov r1, r3 80beeec: 693b ldr r3, [r7, #16] 80beeee: 015a lsls r2, r3, #5 80beef0: 697b ldr r3, [r7, #20] 80beef2: 4413 add r3, r2 80beef4: f503 6310 add.w r3, r3, #2304 ; 0x900 80beef8: 681b ldr r3, [r3, #0] 80beefa: f043 4304 orr.w r3, r3, #2214592512 ; 0x84000000 80beefe: 600b str r3, [r1, #0] 80bef00: e098 b.n 80bf034 } else { /* EP enable, IN data in FIFO */ USBx_INEP(epnum)->DIEPCTL |= (USB_OTG_DIEPCTL_CNAK | USB_OTG_DIEPCTL_EPENA); 80bef02: 693b ldr r3, [r7, #16] 80bef04: 015a lsls r2, r3, #5 80bef06: 697b ldr r3, [r7, #20] 80bef08: 4413 add r3, r2 80bef0a: f503 6310 add.w r3, r3, #2304 ; 0x900 80bef0e: 4619 mov r1, r3 80bef10: 693b ldr r3, [r7, #16] 80bef12: 015a lsls r2, r3, #5 80bef14: 697b ldr r3, [r7, #20] 80bef16: 4413 add r3, r2 80bef18: f503 6310 add.w r3, r3, #2304 ; 0x900 80bef1c: 681b ldr r3, [r3, #0] 80bef1e: f043 4304 orr.w r3, r3, #2214592512 ; 0x84000000 80bef22: 600b str r3, [r1, #0] /* Enable the Tx FIFO Empty Interrupt for this EP */ if (ep->xfer_len > 0U) 80bef24: 68bb ldr r3, [r7, #8] 80bef26: 695b ldr r3, [r3, #20] 80bef28: 2b00 cmp r3, #0 80bef2a: f000 8083 beq.w 80bf034 { USBx_DEVICE->DIEPEMPMSK |= 1UL << (ep->num & EP_ADDR_MSK); 80bef2e: 697b ldr r3, [r7, #20] 80bef30: f503 6300 add.w r3, r3, #2048 ; 0x800 80bef34: 4618 mov r0, r3 80bef36: 697b ldr r3, [r7, #20] 80bef38: f503 6300 add.w r3, r3, #2048 ; 0x800 80bef3c: 6b5a ldr r2, [r3, #52] ; 0x34 80bef3e: 68bb ldr r3, [r7, #8] 80bef40: 781b ldrb r3, [r3, #0] 80bef42: f003 030f and.w r3, r3, #15 80bef46: 2101 movs r1, #1 80bef48: fa01 f303 lsl.w r3, r1, r3 80bef4c: 4313 orrs r3, r2 80bef4e: 6343 str r3, [r0, #52] ; 0x34 80bef50: e070 b.n 80bf034 { /* Program the transfer size and packet count as follows: * pktcnt = N * xfersize = N * maxpacket */ USBx_OUTEP(epnum)->DOEPTSIZ &= ~(USB_OTG_DOEPTSIZ_XFRSIZ); 80bef52: 693b ldr r3, [r7, #16] 80bef54: 015a lsls r2, r3, #5 80bef56: 697b ldr r3, [r7, #20] 80bef58: 4413 add r3, r2 80bef5a: f503 6330 add.w r3, r3, #2816 ; 0xb00 80bef5e: 4619 mov r1, r3 80bef60: 693b ldr r3, [r7, #16] 80bef62: 015a lsls r2, r3, #5 80bef64: 697b ldr r3, [r7, #20] 80bef66: 4413 add r3, r2 80bef68: f503 6330 add.w r3, r3, #2816 ; 0xb00 80bef6c: 691a ldr r2, [r3, #16] 80bef6e: 4b36 ldr r3, [pc, #216] ; (80bf048 ) 80bef70: 4013 ands r3, r2 80bef72: 610b str r3, [r1, #16] USBx_OUTEP(epnum)->DOEPTSIZ &= ~(USB_OTG_DOEPTSIZ_PKTCNT); 80bef74: 693b ldr r3, [r7, #16] 80bef76: 015a lsls r2, r3, #5 80bef78: 697b ldr r3, [r7, #20] 80bef7a: 4413 add r3, r2 80bef7c: f503 6330 add.w r3, r3, #2816 ; 0xb00 80bef80: 4619 mov r1, r3 80bef82: 693b ldr r3, [r7, #16] 80bef84: 015a lsls r2, r3, #5 80bef86: 697b ldr r3, [r7, #20] 80bef88: 4413 add r3, r2 80bef8a: f503 6330 add.w r3, r3, #2816 ; 0xb00 80bef8e: 691a ldr r2, [r3, #16] 80bef90: 4b2c ldr r3, [pc, #176] ; (80bf044 ) 80bef92: 4013 ands r3, r2 80bef94: 610b str r3, [r1, #16] if (ep->xfer_len > 0U) 80bef96: 68bb ldr r3, [r7, #8] 80bef98: 695b ldr r3, [r3, #20] 80bef9a: 2b00 cmp r3, #0 80bef9c: d003 beq.n 80befa6 { ep->xfer_len = ep->maxpacket; 80bef9e: 68bb ldr r3, [r7, #8] 80befa0: 689a ldr r2, [r3, #8] 80befa2: 68bb ldr r3, [r7, #8] 80befa4: 615a str r2, [r3, #20] } USBx_OUTEP(epnum)->DOEPTSIZ |= (USB_OTG_DOEPTSIZ_PKTCNT & (1U << 19)); 80befa6: 693b ldr r3, [r7, #16] 80befa8: 015a lsls r2, r3, #5 80befaa: 697b ldr r3, [r7, #20] 80befac: 4413 add r3, r2 80befae: f503 6330 add.w r3, r3, #2816 ; 0xb00 80befb2: 4619 mov r1, r3 80befb4: 693b ldr r3, [r7, #16] 80befb6: 015a lsls r2, r3, #5 80befb8: 697b ldr r3, [r7, #20] 80befba: 4413 add r3, r2 80befbc: f503 6330 add.w r3, r3, #2816 ; 0xb00 80befc0: 691b ldr r3, [r3, #16] 80befc2: f443 2300 orr.w r3, r3, #524288 ; 0x80000 80befc6: 610b str r3, [r1, #16] USBx_OUTEP(epnum)->DOEPTSIZ |= (USB_OTG_DOEPTSIZ_XFRSIZ & (ep->maxpacket)); 80befc8: 693b ldr r3, [r7, #16] 80befca: 015a lsls r2, r3, #5 80befcc: 697b ldr r3, [r7, #20] 80befce: 4413 add r3, r2 80befd0: f503 6330 add.w r3, r3, #2816 ; 0xb00 80befd4: 4619 mov r1, r3 80befd6: 693b ldr r3, [r7, #16] 80befd8: 015a lsls r2, r3, #5 80befda: 697b ldr r3, [r7, #20] 80befdc: 4413 add r3, r2 80befde: f503 6330 add.w r3, r3, #2816 ; 0xb00 80befe2: 691a ldr r2, [r3, #16] 80befe4: 68bb ldr r3, [r7, #8] 80befe6: 689b ldr r3, [r3, #8] 80befe8: f3c3 0312 ubfx r3, r3, #0, #19 80befec: 4313 orrs r3, r2 80befee: 610b str r3, [r1, #16] if (dma == 1U) 80beff0: 79fb ldrb r3, [r7, #7] 80beff2: 2b01 cmp r3, #1 80beff4: d10d bne.n 80bf012 { if ((uint32_t)ep->xfer_buff != 0U) 80beff6: 68bb ldr r3, [r7, #8] 80beff8: 68db ldr r3, [r3, #12] 80beffa: 2b00 cmp r3, #0 80beffc: d009 beq.n 80bf012 { USBx_OUTEP(epnum)->DOEPDMA = (uint32_t)(ep->xfer_buff); 80beffe: 693b ldr r3, [r7, #16] 80bf000: 015a lsls r2, r3, #5 80bf002: 697b ldr r3, [r7, #20] 80bf004: 4413 add r3, r2 80bf006: f503 6330 add.w r3, r3, #2816 ; 0xb00 80bf00a: 461a mov r2, r3 80bf00c: 68bb ldr r3, [r7, #8] 80bf00e: 68db ldr r3, [r3, #12] 80bf010: 6153 str r3, [r2, #20] } } /* EP enable */ USBx_OUTEP(epnum)->DOEPCTL |= (USB_OTG_DOEPCTL_CNAK | USB_OTG_DOEPCTL_EPENA); 80bf012: 693b ldr r3, [r7, #16] 80bf014: 015a lsls r2, r3, #5 80bf016: 697b ldr r3, [r7, #20] 80bf018: 4413 add r3, r2 80bf01a: f503 6330 add.w r3, r3, #2816 ; 0xb00 80bf01e: 4619 mov r1, r3 80bf020: 693b ldr r3, [r7, #16] 80bf022: 015a lsls r2, r3, #5 80bf024: 697b ldr r3, [r7, #20] 80bf026: 4413 add r3, r2 80bf028: f503 6330 add.w r3, r3, #2816 ; 0xb00 80bf02c: 681b ldr r3, [r3, #0] 80bf02e: f043 4304 orr.w r3, r3, #2214592512 ; 0x84000000 80bf032: 600b str r3, [r1, #0] } return HAL_OK; 80bf034: 2300 movs r3, #0 } 80bf036: 4618 mov r0, r3 80bf038: 371c adds r7, #28 80bf03a: 46bd mov sp, r7 80bf03c: f85d 7b04 ldr.w r7, [sp], #4 80bf040: 4770 bx lr 80bf042: bf00 nop 80bf044: e007ffff .word 0xe007ffff 80bf048: fff80000 .word 0xfff80000 080bf04c : * 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) { 80bf04c: b480 push {r7} 80bf04e: b089 sub sp, #36 ; 0x24 80bf050: af00 add r7, sp, #0 80bf052: 60f8 str r0, [r7, #12] 80bf054: 60b9 str r1, [r7, #8] 80bf056: 4611 mov r1, r2 80bf058: 461a mov r2, r3 80bf05a: 460b mov r3, r1 80bf05c: 71fb strb r3, [r7, #7] 80bf05e: 4613 mov r3, r2 80bf060: 80bb strh r3, [r7, #4] uint32_t USBx_BASE = (uint32_t)USBx; 80bf062: 68fb ldr r3, [r7, #12] 80bf064: 617b str r3, [r7, #20] uint8_t *pSrc = src; 80bf066: 68bb ldr r3, [r7, #8] 80bf068: 61fb str r3, [r7, #28] uint32_t count32b; uint32_t i; if (dma == 0U) 80bf06a: f897 3028 ldrb.w r3, [r7, #40] ; 0x28 80bf06e: 2b00 cmp r3, #0 80bf070: d123 bne.n 80bf0ba { count32b = ((uint32_t)len + 3U) / 4U; 80bf072: 88bb ldrh r3, [r7, #4] 80bf074: 3303 adds r3, #3 80bf076: 089b lsrs r3, r3, #2 80bf078: 613b str r3, [r7, #16] for (i = 0U; i < count32b; i++) 80bf07a: 2300 movs r3, #0 80bf07c: 61bb str r3, [r7, #24] 80bf07e: e018 b.n 80bf0b2 { USBx_DFIFO((uint32_t)ch_ep_num) = __UNALIGNED_UINT32_READ(pSrc); 80bf080: 79fb ldrb r3, [r7, #7] 80bf082: 031a lsls r2, r3, #12 80bf084: 697b ldr r3, [r7, #20] 80bf086: 4413 add r3, r2 80bf088: f503 5380 add.w r3, r3, #4096 ; 0x1000 80bf08c: 461a mov r2, r3 80bf08e: 69fb ldr r3, [r7, #28] 80bf090: 681b ldr r3, [r3, #0] 80bf092: 6013 str r3, [r2, #0] pSrc++; 80bf094: 69fb ldr r3, [r7, #28] 80bf096: 3301 adds r3, #1 80bf098: 61fb str r3, [r7, #28] pSrc++; 80bf09a: 69fb ldr r3, [r7, #28] 80bf09c: 3301 adds r3, #1 80bf09e: 61fb str r3, [r7, #28] pSrc++; 80bf0a0: 69fb ldr r3, [r7, #28] 80bf0a2: 3301 adds r3, #1 80bf0a4: 61fb str r3, [r7, #28] pSrc++; 80bf0a6: 69fb ldr r3, [r7, #28] 80bf0a8: 3301 adds r3, #1 80bf0aa: 61fb str r3, [r7, #28] for (i = 0U; i < count32b; i++) 80bf0ac: 69bb ldr r3, [r7, #24] 80bf0ae: 3301 adds r3, #1 80bf0b0: 61bb str r3, [r7, #24] 80bf0b2: 69ba ldr r2, [r7, #24] 80bf0b4: 693b ldr r3, [r7, #16] 80bf0b6: 429a cmp r2, r3 80bf0b8: d3e2 bcc.n 80bf080 } } return HAL_OK; 80bf0ba: 2300 movs r3, #0 } 80bf0bc: 4618 mov r0, r3 80bf0be: 3724 adds r7, #36 ; 0x24 80bf0c0: 46bd mov sp, r7 80bf0c2: f85d 7b04 ldr.w r7, [sp], #4 80bf0c6: 4770 bx lr 080bf0c8 : * @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) { 80bf0c8: b480 push {r7} 80bf0ca: b08b sub sp, #44 ; 0x2c 80bf0cc: af00 add r7, sp, #0 80bf0ce: 60f8 str r0, [r7, #12] 80bf0d0: 60b9 str r1, [r7, #8] 80bf0d2: 4613 mov r3, r2 80bf0d4: 80fb strh r3, [r7, #6] uint32_t USBx_BASE = (uint32_t)USBx; 80bf0d6: 68fb ldr r3, [r7, #12] 80bf0d8: 61bb str r3, [r7, #24] uint8_t *pDest = dest; 80bf0da: 68bb ldr r3, [r7, #8] 80bf0dc: 627b str r3, [r7, #36] ; 0x24 uint32_t pData; uint32_t i; uint32_t count32b = (uint32_t)len >> 2U; 80bf0de: 88fb ldrh r3, [r7, #6] 80bf0e0: 089b lsrs r3, r3, #2 80bf0e2: b29b uxth r3, r3 80bf0e4: 617b str r3, [r7, #20] uint16_t remaining_bytes = len % 4U; 80bf0e6: 88fb ldrh r3, [r7, #6] 80bf0e8: f003 0303 and.w r3, r3, #3 80bf0ec: 83fb strh r3, [r7, #30] for (i = 0U; i < count32b; i++) 80bf0ee: 2300 movs r3, #0 80bf0f0: 623b str r3, [r7, #32] 80bf0f2: e014 b.n 80bf11e { __UNALIGNED_UINT32_WRITE(pDest, USBx_DFIFO(0U)); 80bf0f4: 69bb ldr r3, [r7, #24] 80bf0f6: f503 5380 add.w r3, r3, #4096 ; 0x1000 80bf0fa: 681a ldr r2, [r3, #0] 80bf0fc: 6a7b ldr r3, [r7, #36] ; 0x24 80bf0fe: 601a str r2, [r3, #0] pDest++; 80bf100: 6a7b ldr r3, [r7, #36] ; 0x24 80bf102: 3301 adds r3, #1 80bf104: 627b str r3, [r7, #36] ; 0x24 pDest++; 80bf106: 6a7b ldr r3, [r7, #36] ; 0x24 80bf108: 3301 adds r3, #1 80bf10a: 627b str r3, [r7, #36] ; 0x24 pDest++; 80bf10c: 6a7b ldr r3, [r7, #36] ; 0x24 80bf10e: 3301 adds r3, #1 80bf110: 627b str r3, [r7, #36] ; 0x24 pDest++; 80bf112: 6a7b ldr r3, [r7, #36] ; 0x24 80bf114: 3301 adds r3, #1 80bf116: 627b str r3, [r7, #36] ; 0x24 for (i = 0U; i < count32b; i++) 80bf118: 6a3b ldr r3, [r7, #32] 80bf11a: 3301 adds r3, #1 80bf11c: 623b str r3, [r7, #32] 80bf11e: 6a3a ldr r2, [r7, #32] 80bf120: 697b ldr r3, [r7, #20] 80bf122: 429a cmp r2, r3 80bf124: d3e6 bcc.n 80bf0f4 } /* When Number of data is not word aligned, read the remaining byte */ if (remaining_bytes != 0U) 80bf126: 8bfb ldrh r3, [r7, #30] 80bf128: 2b00 cmp r3, #0 80bf12a: d01d beq.n 80bf168 { i = 0U; 80bf12c: 2300 movs r3, #0 80bf12e: 623b str r3, [r7, #32] __UNALIGNED_UINT32_WRITE(&pData, USBx_DFIFO(0U)); 80bf130: f107 0310 add.w r3, r7, #16 80bf134: 69ba ldr r2, [r7, #24] 80bf136: f502 5280 add.w r2, r2, #4096 ; 0x1000 80bf13a: 6812 ldr r2, [r2, #0] 80bf13c: 601a str r2, [r3, #0] do { *(uint8_t *)pDest = (uint8_t)(pData >> (8U * (uint8_t)(i))); 80bf13e: 693a ldr r2, [r7, #16] 80bf140: 6a3b ldr r3, [r7, #32] 80bf142: b2db uxtb r3, r3 80bf144: 00db lsls r3, r3, #3 80bf146: fa22 f303 lsr.w r3, r2, r3 80bf14a: b2da uxtb r2, r3 80bf14c: 6a7b ldr r3, [r7, #36] ; 0x24 80bf14e: 701a strb r2, [r3, #0] i++; 80bf150: 6a3b ldr r3, [r7, #32] 80bf152: 3301 adds r3, #1 80bf154: 623b str r3, [r7, #32] pDest++; 80bf156: 6a7b ldr r3, [r7, #36] ; 0x24 80bf158: 3301 adds r3, #1 80bf15a: 627b str r3, [r7, #36] ; 0x24 remaining_bytes--; 80bf15c: 8bfb ldrh r3, [r7, #30] 80bf15e: 3b01 subs r3, #1 80bf160: 83fb strh r3, [r7, #30] } while (remaining_bytes != 0U); 80bf162: 8bfb ldrh r3, [r7, #30] 80bf164: 2b00 cmp r3, #0 80bf166: d1ea bne.n 80bf13e } return ((void *)pDest); 80bf168: 6a7b ldr r3, [r7, #36] ; 0x24 } 80bf16a: 4618 mov r0, r3 80bf16c: 372c adds r7, #44 ; 0x2c 80bf16e: 46bd mov sp, r7 80bf170: f85d 7b04 ldr.w r7, [sp], #4 80bf174: 4770 bx lr 080bf176 : * @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) { 80bf176: b480 push {r7} 80bf178: b085 sub sp, #20 80bf17a: af00 add r7, sp, #0 80bf17c: 6078 str r0, [r7, #4] 80bf17e: 6039 str r1, [r7, #0] uint32_t USBx_BASE = (uint32_t)USBx; 80bf180: 687b ldr r3, [r7, #4] 80bf182: 60fb str r3, [r7, #12] uint32_t epnum = (uint32_t)ep->num; 80bf184: 683b ldr r3, [r7, #0] 80bf186: 781b ldrb r3, [r3, #0] 80bf188: 60bb str r3, [r7, #8] if (ep->is_in == 1U) 80bf18a: 683b ldr r3, [r7, #0] 80bf18c: 785b ldrb r3, [r3, #1] 80bf18e: 2b01 cmp r3, #1 80bf190: d12e bne.n 80bf1f0 { if (((USBx_INEP(epnum)->DIEPCTL & USB_OTG_DIEPCTL_EPENA) == 0U) && (epnum != 0U)) 80bf192: 68bb ldr r3, [r7, #8] 80bf194: 015a lsls r2, r3, #5 80bf196: 68fb ldr r3, [r7, #12] 80bf198: 4413 add r3, r2 80bf19a: f503 6310 add.w r3, r3, #2304 ; 0x900 80bf19e: 681b ldr r3, [r3, #0] 80bf1a0: 2b00 cmp r3, #0 80bf1a2: db13 blt.n 80bf1cc 80bf1a4: 68bb ldr r3, [r7, #8] 80bf1a6: 2b00 cmp r3, #0 80bf1a8: d010 beq.n 80bf1cc { USBx_INEP(epnum)->DIEPCTL &= ~(USB_OTG_DIEPCTL_EPDIS); 80bf1aa: 68bb ldr r3, [r7, #8] 80bf1ac: 015a lsls r2, r3, #5 80bf1ae: 68fb ldr r3, [r7, #12] 80bf1b0: 4413 add r3, r2 80bf1b2: f503 6310 add.w r3, r3, #2304 ; 0x900 80bf1b6: 4619 mov r1, r3 80bf1b8: 68bb ldr r3, [r7, #8] 80bf1ba: 015a lsls r2, r3, #5 80bf1bc: 68fb ldr r3, [r7, #12] 80bf1be: 4413 add r3, r2 80bf1c0: f503 6310 add.w r3, r3, #2304 ; 0x900 80bf1c4: 681b ldr r3, [r3, #0] 80bf1c6: f023 4380 bic.w r3, r3, #1073741824 ; 0x40000000 80bf1ca: 600b str r3, [r1, #0] } USBx_INEP(epnum)->DIEPCTL |= USB_OTG_DIEPCTL_STALL; 80bf1cc: 68bb ldr r3, [r7, #8] 80bf1ce: 015a lsls r2, r3, #5 80bf1d0: 68fb ldr r3, [r7, #12] 80bf1d2: 4413 add r3, r2 80bf1d4: f503 6310 add.w r3, r3, #2304 ; 0x900 80bf1d8: 4619 mov r1, r3 80bf1da: 68bb ldr r3, [r7, #8] 80bf1dc: 015a lsls r2, r3, #5 80bf1de: 68fb ldr r3, [r7, #12] 80bf1e0: 4413 add r3, r2 80bf1e2: f503 6310 add.w r3, r3, #2304 ; 0x900 80bf1e6: 681b ldr r3, [r3, #0] 80bf1e8: f443 1300 orr.w r3, r3, #2097152 ; 0x200000 80bf1ec: 600b str r3, [r1, #0] 80bf1ee: e02d b.n 80bf24c } else { if (((USBx_OUTEP(epnum)->DOEPCTL & USB_OTG_DOEPCTL_EPENA) == 0U) && (epnum != 0U)) 80bf1f0: 68bb ldr r3, [r7, #8] 80bf1f2: 015a lsls r2, r3, #5 80bf1f4: 68fb ldr r3, [r7, #12] 80bf1f6: 4413 add r3, r2 80bf1f8: f503 6330 add.w r3, r3, #2816 ; 0xb00 80bf1fc: 681b ldr r3, [r3, #0] 80bf1fe: 2b00 cmp r3, #0 80bf200: db13 blt.n 80bf22a 80bf202: 68bb ldr r3, [r7, #8] 80bf204: 2b00 cmp r3, #0 80bf206: d010 beq.n 80bf22a { USBx_OUTEP(epnum)->DOEPCTL &= ~(USB_OTG_DOEPCTL_EPDIS); 80bf208: 68bb ldr r3, [r7, #8] 80bf20a: 015a lsls r2, r3, #5 80bf20c: 68fb ldr r3, [r7, #12] 80bf20e: 4413 add r3, r2 80bf210: f503 6330 add.w r3, r3, #2816 ; 0xb00 80bf214: 4619 mov r1, r3 80bf216: 68bb ldr r3, [r7, #8] 80bf218: 015a lsls r2, r3, #5 80bf21a: 68fb ldr r3, [r7, #12] 80bf21c: 4413 add r3, r2 80bf21e: f503 6330 add.w r3, r3, #2816 ; 0xb00 80bf222: 681b ldr r3, [r3, #0] 80bf224: f023 4380 bic.w r3, r3, #1073741824 ; 0x40000000 80bf228: 600b str r3, [r1, #0] } USBx_OUTEP(epnum)->DOEPCTL |= USB_OTG_DOEPCTL_STALL; 80bf22a: 68bb ldr r3, [r7, #8] 80bf22c: 015a lsls r2, r3, #5 80bf22e: 68fb ldr r3, [r7, #12] 80bf230: 4413 add r3, r2 80bf232: f503 6330 add.w r3, r3, #2816 ; 0xb00 80bf236: 4619 mov r1, r3 80bf238: 68bb ldr r3, [r7, #8] 80bf23a: 015a lsls r2, r3, #5 80bf23c: 68fb ldr r3, [r7, #12] 80bf23e: 4413 add r3, r2 80bf240: f503 6330 add.w r3, r3, #2816 ; 0xb00 80bf244: 681b ldr r3, [r3, #0] 80bf246: f443 1300 orr.w r3, r3, #2097152 ; 0x200000 80bf24a: 600b str r3, [r1, #0] } return HAL_OK; 80bf24c: 2300 movs r3, #0 } 80bf24e: 4618 mov r0, r3 80bf250: 3714 adds r7, #20 80bf252: 46bd mov sp, r7 80bf254: f85d 7b04 ldr.w r7, [sp], #4 80bf258: 4770 bx lr 080bf25a : * @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) { 80bf25a: b480 push {r7} 80bf25c: b085 sub sp, #20 80bf25e: af00 add r7, sp, #0 80bf260: 6078 str r0, [r7, #4] 80bf262: 6039 str r1, [r7, #0] uint32_t USBx_BASE = (uint32_t)USBx; 80bf264: 687b ldr r3, [r7, #4] 80bf266: 60fb str r3, [r7, #12] uint32_t epnum = (uint32_t)ep->num; 80bf268: 683b ldr r3, [r7, #0] 80bf26a: 781b ldrb r3, [r3, #0] 80bf26c: 60bb str r3, [r7, #8] if (ep->is_in == 1U) 80bf26e: 683b ldr r3, [r7, #0] 80bf270: 785b ldrb r3, [r3, #1] 80bf272: 2b01 cmp r3, #1 80bf274: d12a bne.n 80bf2cc { USBx_INEP(epnum)->DIEPCTL &= ~USB_OTG_DIEPCTL_STALL; 80bf276: 68bb ldr r3, [r7, #8] 80bf278: 015a lsls r2, r3, #5 80bf27a: 68fb ldr r3, [r7, #12] 80bf27c: 4413 add r3, r2 80bf27e: f503 6310 add.w r3, r3, #2304 ; 0x900 80bf282: 4619 mov r1, r3 80bf284: 68bb ldr r3, [r7, #8] 80bf286: 015a lsls r2, r3, #5 80bf288: 68fb ldr r3, [r7, #12] 80bf28a: 4413 add r3, r2 80bf28c: f503 6310 add.w r3, r3, #2304 ; 0x900 80bf290: 681b ldr r3, [r3, #0] 80bf292: f423 1300 bic.w r3, r3, #2097152 ; 0x200000 80bf296: 600b str r3, [r1, #0] if ((ep->type == EP_TYPE_INTR) || (ep->type == EP_TYPE_BULK)) 80bf298: 683b ldr r3, [r7, #0] 80bf29a: 78db ldrb r3, [r3, #3] 80bf29c: 2b03 cmp r3, #3 80bf29e: d003 beq.n 80bf2a8 80bf2a0: 683b ldr r3, [r7, #0] 80bf2a2: 78db ldrb r3, [r3, #3] 80bf2a4: 2b02 cmp r3, #2 80bf2a6: d13b bne.n 80bf320 { USBx_INEP(epnum)->DIEPCTL |= USB_OTG_DIEPCTL_SD0PID_SEVNFRM; /* DATA0 */ 80bf2a8: 68bb ldr r3, [r7, #8] 80bf2aa: 015a lsls r2, r3, #5 80bf2ac: 68fb ldr r3, [r7, #12] 80bf2ae: 4413 add r3, r2 80bf2b0: f503 6310 add.w r3, r3, #2304 ; 0x900 80bf2b4: 4619 mov r1, r3 80bf2b6: 68bb ldr r3, [r7, #8] 80bf2b8: 015a lsls r2, r3, #5 80bf2ba: 68fb ldr r3, [r7, #12] 80bf2bc: 4413 add r3, r2 80bf2be: f503 6310 add.w r3, r3, #2304 ; 0x900 80bf2c2: 681b ldr r3, [r3, #0] 80bf2c4: f043 5380 orr.w r3, r3, #268435456 ; 0x10000000 80bf2c8: 600b str r3, [r1, #0] 80bf2ca: e029 b.n 80bf320 } } else { USBx_OUTEP(epnum)->DOEPCTL &= ~USB_OTG_DOEPCTL_STALL; 80bf2cc: 68bb ldr r3, [r7, #8] 80bf2ce: 015a lsls r2, r3, #5 80bf2d0: 68fb ldr r3, [r7, #12] 80bf2d2: 4413 add r3, r2 80bf2d4: f503 6330 add.w r3, r3, #2816 ; 0xb00 80bf2d8: 4619 mov r1, r3 80bf2da: 68bb ldr r3, [r7, #8] 80bf2dc: 015a lsls r2, r3, #5 80bf2de: 68fb ldr r3, [r7, #12] 80bf2e0: 4413 add r3, r2 80bf2e2: f503 6330 add.w r3, r3, #2816 ; 0xb00 80bf2e6: 681b ldr r3, [r3, #0] 80bf2e8: f423 1300 bic.w r3, r3, #2097152 ; 0x200000 80bf2ec: 600b str r3, [r1, #0] if ((ep->type == EP_TYPE_INTR) || (ep->type == EP_TYPE_BULK)) 80bf2ee: 683b ldr r3, [r7, #0] 80bf2f0: 78db ldrb r3, [r3, #3] 80bf2f2: 2b03 cmp r3, #3 80bf2f4: d003 beq.n 80bf2fe 80bf2f6: 683b ldr r3, [r7, #0] 80bf2f8: 78db ldrb r3, [r3, #3] 80bf2fa: 2b02 cmp r3, #2 80bf2fc: d110 bne.n 80bf320 { USBx_OUTEP(epnum)->DOEPCTL |= USB_OTG_DOEPCTL_SD0PID_SEVNFRM; /* DATA0 */ 80bf2fe: 68bb ldr r3, [r7, #8] 80bf300: 015a lsls r2, r3, #5 80bf302: 68fb ldr r3, [r7, #12] 80bf304: 4413 add r3, r2 80bf306: f503 6330 add.w r3, r3, #2816 ; 0xb00 80bf30a: 4619 mov r1, r3 80bf30c: 68bb ldr r3, [r7, #8] 80bf30e: 015a lsls r2, r3, #5 80bf310: 68fb ldr r3, [r7, #12] 80bf312: 4413 add r3, r2 80bf314: f503 6330 add.w r3, r3, #2816 ; 0xb00 80bf318: 681b ldr r3, [r3, #0] 80bf31a: f043 5380 orr.w r3, r3, #268435456 ; 0x10000000 80bf31e: 600b str r3, [r1, #0] } } return HAL_OK; 80bf320: 2300 movs r3, #0 } 80bf322: 4618 mov r0, r3 80bf324: 3714 adds r7, #20 80bf326: 46bd mov sp, r7 80bf328: f85d 7b04 ldr.w r7, [sp], #4 80bf32c: 4770 bx lr 080bf32e : * @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) { 80bf32e: b480 push {r7} 80bf330: b085 sub sp, #20 80bf332: af00 add r7, sp, #0 80bf334: 6078 str r0, [r7, #4] 80bf336: 460b mov r3, r1 80bf338: 70fb strb r3, [r7, #3] uint32_t USBx_BASE = (uint32_t)USBx; 80bf33a: 687b ldr r3, [r7, #4] 80bf33c: 60fb str r3, [r7, #12] USBx_DEVICE->DCFG &= ~(USB_OTG_DCFG_DAD); 80bf33e: 68fb ldr r3, [r7, #12] 80bf340: f503 6300 add.w r3, r3, #2048 ; 0x800 80bf344: 461a mov r2, r3 80bf346: 68fb ldr r3, [r7, #12] 80bf348: f503 6300 add.w r3, r3, #2048 ; 0x800 80bf34c: 681b ldr r3, [r3, #0] 80bf34e: f423 63fe bic.w r3, r3, #2032 ; 0x7f0 80bf352: 6013 str r3, [r2, #0] USBx_DEVICE->DCFG |= ((uint32_t)address << 4) & USB_OTG_DCFG_DAD; 80bf354: 68fb ldr r3, [r7, #12] 80bf356: f503 6300 add.w r3, r3, #2048 ; 0x800 80bf35a: 4619 mov r1, r3 80bf35c: 68fb ldr r3, [r7, #12] 80bf35e: f503 6300 add.w r3, r3, #2048 ; 0x800 80bf362: 681a ldr r2, [r3, #0] 80bf364: 78fb ldrb r3, [r7, #3] 80bf366: 011b lsls r3, r3, #4 80bf368: f403 63fe and.w r3, r3, #2032 ; 0x7f0 80bf36c: 4313 orrs r3, r2 80bf36e: 600b str r3, [r1, #0] return HAL_OK; 80bf370: 2300 movs r3, #0 } 80bf372: 4618 mov r0, r3 80bf374: 3714 adds r7, #20 80bf376: 46bd mov sp, r7 80bf378: f85d 7b04 ldr.w r7, [sp], #4 80bf37c: 4770 bx lr 080bf37e : * @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) { 80bf37e: b480 push {r7} 80bf380: b085 sub sp, #20 80bf382: af00 add r7, sp, #0 80bf384: 6078 str r0, [r7, #4] uint32_t USBx_BASE = (uint32_t)USBx; 80bf386: 687b ldr r3, [r7, #4] 80bf388: 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); 80bf38a: 68fb ldr r3, [r7, #12] 80bf38c: f503 6360 add.w r3, r3, #3584 ; 0xe00 80bf390: 461a mov r2, r3 80bf392: 68fb ldr r3, [r7, #12] 80bf394: f503 6360 add.w r3, r3, #3584 ; 0xe00 80bf398: 681b ldr r3, [r3, #0] 80bf39a: f023 0303 bic.w r3, r3, #3 80bf39e: 6013 str r3, [r2, #0] USBx_DEVICE->DCTL &= ~USB_OTG_DCTL_SDIS; 80bf3a0: 68fb ldr r3, [r7, #12] 80bf3a2: f503 6300 add.w r3, r3, #2048 ; 0x800 80bf3a6: 461a mov r2, r3 80bf3a8: 68fb ldr r3, [r7, #12] 80bf3aa: f503 6300 add.w r3, r3, #2048 ; 0x800 80bf3ae: 685b ldr r3, [r3, #4] 80bf3b0: f023 0302 bic.w r3, r3, #2 80bf3b4: 6053 str r3, [r2, #4] return HAL_OK; 80bf3b6: 2300 movs r3, #0 } 80bf3b8: 4618 mov r0, r3 80bf3ba: 3714 adds r7, #20 80bf3bc: 46bd mov sp, r7 80bf3be: f85d 7b04 ldr.w r7, [sp], #4 80bf3c2: 4770 bx lr 080bf3c4 : * @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) { 80bf3c4: b480 push {r7} 80bf3c6: b085 sub sp, #20 80bf3c8: af00 add r7, sp, #0 80bf3ca: 6078 str r0, [r7, #4] uint32_t USBx_BASE = (uint32_t)USBx; 80bf3cc: 687b ldr r3, [r7, #4] 80bf3ce: 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); 80bf3d0: 68fb ldr r3, [r7, #12] 80bf3d2: f503 6360 add.w r3, r3, #3584 ; 0xe00 80bf3d6: 461a mov r2, r3 80bf3d8: 68fb ldr r3, [r7, #12] 80bf3da: f503 6360 add.w r3, r3, #3584 ; 0xe00 80bf3de: 681b ldr r3, [r3, #0] 80bf3e0: f023 0303 bic.w r3, r3, #3 80bf3e4: 6013 str r3, [r2, #0] USBx_DEVICE->DCTL |= USB_OTG_DCTL_SDIS; 80bf3e6: 68fb ldr r3, [r7, #12] 80bf3e8: f503 6300 add.w r3, r3, #2048 ; 0x800 80bf3ec: 461a mov r2, r3 80bf3ee: 68fb ldr r3, [r7, #12] 80bf3f0: f503 6300 add.w r3, r3, #2048 ; 0x800 80bf3f4: 685b ldr r3, [r3, #4] 80bf3f6: f043 0302 orr.w r3, r3, #2 80bf3fa: 6053 str r3, [r2, #4] return HAL_OK; 80bf3fc: 2300 movs r3, #0 } 80bf3fe: 4618 mov r0, r3 80bf400: 3714 adds r7, #20 80bf402: 46bd mov sp, r7 80bf404: f85d 7b04 ldr.w r7, [sp], #4 80bf408: 4770 bx lr 080bf40a : * @brief USB_ReadInterrupts: return the global USB interrupt status * @param USBx Selected device * @retval HAL status */ uint32_t USB_ReadInterrupts(USB_OTG_GlobalTypeDef *USBx) { 80bf40a: b480 push {r7} 80bf40c: b085 sub sp, #20 80bf40e: af00 add r7, sp, #0 80bf410: 6078 str r0, [r7, #4] uint32_t tmpreg; tmpreg = USBx->GINTSTS; 80bf412: 687b ldr r3, [r7, #4] 80bf414: 695b ldr r3, [r3, #20] 80bf416: 60fb str r3, [r7, #12] tmpreg &= USBx->GINTMSK; 80bf418: 687b ldr r3, [r7, #4] 80bf41a: 699b ldr r3, [r3, #24] 80bf41c: 68fa ldr r2, [r7, #12] 80bf41e: 4013 ands r3, r2 80bf420: 60fb str r3, [r7, #12] return tmpreg; 80bf422: 68fb ldr r3, [r7, #12] } 80bf424: 4618 mov r0, r3 80bf426: 3714 adds r7, #20 80bf428: 46bd mov sp, r7 80bf42a: f85d 7b04 ldr.w r7, [sp], #4 80bf42e: 4770 bx lr 080bf430 : * @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) { 80bf430: b480 push {r7} 80bf432: b085 sub sp, #20 80bf434: af00 add r7, sp, #0 80bf436: 6078 str r0, [r7, #4] uint32_t USBx_BASE = (uint32_t)USBx; 80bf438: 687b ldr r3, [r7, #4] 80bf43a: 60fb str r3, [r7, #12] uint32_t tmpreg; tmpreg = USBx_DEVICE->DAINT; 80bf43c: 68fb ldr r3, [r7, #12] 80bf43e: f503 6300 add.w r3, r3, #2048 ; 0x800 80bf442: 699b ldr r3, [r3, #24] 80bf444: 60bb str r3, [r7, #8] tmpreg &= USBx_DEVICE->DAINTMSK; 80bf446: 68fb ldr r3, [r7, #12] 80bf448: f503 6300 add.w r3, r3, #2048 ; 0x800 80bf44c: 69db ldr r3, [r3, #28] 80bf44e: 68ba ldr r2, [r7, #8] 80bf450: 4013 ands r3, r2 80bf452: 60bb str r3, [r7, #8] return ((tmpreg & 0xffff0000U) >> 16); 80bf454: 68bb ldr r3, [r7, #8] 80bf456: 0c1b lsrs r3, r3, #16 } 80bf458: 4618 mov r0, r3 80bf45a: 3714 adds r7, #20 80bf45c: 46bd mov sp, r7 80bf45e: f85d 7b04 ldr.w r7, [sp], #4 80bf462: 4770 bx lr 080bf464 : * @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) { 80bf464: b480 push {r7} 80bf466: b085 sub sp, #20 80bf468: af00 add r7, sp, #0 80bf46a: 6078 str r0, [r7, #4] uint32_t USBx_BASE = (uint32_t)USBx; 80bf46c: 687b ldr r3, [r7, #4] 80bf46e: 60fb str r3, [r7, #12] uint32_t tmpreg; tmpreg = USBx_DEVICE->DAINT; 80bf470: 68fb ldr r3, [r7, #12] 80bf472: f503 6300 add.w r3, r3, #2048 ; 0x800 80bf476: 699b ldr r3, [r3, #24] 80bf478: 60bb str r3, [r7, #8] tmpreg &= USBx_DEVICE->DAINTMSK; 80bf47a: 68fb ldr r3, [r7, #12] 80bf47c: f503 6300 add.w r3, r3, #2048 ; 0x800 80bf480: 69db ldr r3, [r3, #28] 80bf482: 68ba ldr r2, [r7, #8] 80bf484: 4013 ands r3, r2 80bf486: 60bb str r3, [r7, #8] return ((tmpreg & 0xFFFFU)); 80bf488: 68bb ldr r3, [r7, #8] 80bf48a: b29b uxth r3, r3 } 80bf48c: 4618 mov r0, r3 80bf48e: 3714 adds r7, #20 80bf490: 46bd mov sp, r7 80bf492: f85d 7b04 ldr.w r7, [sp], #4 80bf496: 4770 bx lr 080bf498 : * @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) { 80bf498: b480 push {r7} 80bf49a: b085 sub sp, #20 80bf49c: af00 add r7, sp, #0 80bf49e: 6078 str r0, [r7, #4] 80bf4a0: 460b mov r3, r1 80bf4a2: 70fb strb r3, [r7, #3] uint32_t USBx_BASE = (uint32_t)USBx; 80bf4a4: 687b ldr r3, [r7, #4] 80bf4a6: 60fb str r3, [r7, #12] uint32_t tmpreg; tmpreg = USBx_OUTEP((uint32_t)epnum)->DOEPINT; 80bf4a8: 78fb ldrb r3, [r7, #3] 80bf4aa: 015a lsls r2, r3, #5 80bf4ac: 68fb ldr r3, [r7, #12] 80bf4ae: 4413 add r3, r2 80bf4b0: f503 6330 add.w r3, r3, #2816 ; 0xb00 80bf4b4: 689b ldr r3, [r3, #8] 80bf4b6: 60bb str r3, [r7, #8] tmpreg &= USBx_DEVICE->DOEPMSK; 80bf4b8: 68fb ldr r3, [r7, #12] 80bf4ba: f503 6300 add.w r3, r3, #2048 ; 0x800 80bf4be: 695b ldr r3, [r3, #20] 80bf4c0: 68ba ldr r2, [r7, #8] 80bf4c2: 4013 ands r3, r2 80bf4c4: 60bb str r3, [r7, #8] return tmpreg; 80bf4c6: 68bb ldr r3, [r7, #8] } 80bf4c8: 4618 mov r0, r3 80bf4ca: 3714 adds r7, #20 80bf4cc: 46bd mov sp, r7 80bf4ce: f85d 7b04 ldr.w r7, [sp], #4 80bf4d2: 4770 bx lr 080bf4d4 : * @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) { 80bf4d4: b480 push {r7} 80bf4d6: b087 sub sp, #28 80bf4d8: af00 add r7, sp, #0 80bf4da: 6078 str r0, [r7, #4] 80bf4dc: 460b mov r3, r1 80bf4de: 70fb strb r3, [r7, #3] uint32_t USBx_BASE = (uint32_t)USBx; 80bf4e0: 687b ldr r3, [r7, #4] 80bf4e2: 617b str r3, [r7, #20] uint32_t tmpreg; uint32_t msk; uint32_t emp; msk = USBx_DEVICE->DIEPMSK; 80bf4e4: 697b ldr r3, [r7, #20] 80bf4e6: f503 6300 add.w r3, r3, #2048 ; 0x800 80bf4ea: 691b ldr r3, [r3, #16] 80bf4ec: 613b str r3, [r7, #16] emp = USBx_DEVICE->DIEPEMPMSK; 80bf4ee: 697b ldr r3, [r7, #20] 80bf4f0: f503 6300 add.w r3, r3, #2048 ; 0x800 80bf4f4: 6b5b ldr r3, [r3, #52] ; 0x34 80bf4f6: 60fb str r3, [r7, #12] msk |= ((emp >> (epnum & EP_ADDR_MSK)) & 0x1U) << 7; 80bf4f8: 78fb ldrb r3, [r7, #3] 80bf4fa: f003 030f and.w r3, r3, #15 80bf4fe: 68fa ldr r2, [r7, #12] 80bf500: fa22 f303 lsr.w r3, r2, r3 80bf504: 01db lsls r3, r3, #7 80bf506: b2db uxtb r3, r3 80bf508: 693a ldr r2, [r7, #16] 80bf50a: 4313 orrs r3, r2 80bf50c: 613b str r3, [r7, #16] tmpreg = USBx_INEP((uint32_t)epnum)->DIEPINT & msk; 80bf50e: 78fb ldrb r3, [r7, #3] 80bf510: 015a lsls r2, r3, #5 80bf512: 697b ldr r3, [r7, #20] 80bf514: 4413 add r3, r2 80bf516: f503 6310 add.w r3, r3, #2304 ; 0x900 80bf51a: 689a ldr r2, [r3, #8] 80bf51c: 693b ldr r3, [r7, #16] 80bf51e: 4013 ands r3, r2 80bf520: 60bb str r3, [r7, #8] return tmpreg; 80bf522: 68bb ldr r3, [r7, #8] } 80bf524: 4618 mov r0, r3 80bf526: 371c adds r7, #28 80bf528: 46bd mov sp, r7 80bf52a: f85d 7b04 ldr.w r7, [sp], #4 80bf52e: 4770 bx lr 080bf530 : * This parameter can be one of these values: * 0 : Host * 1 : Device */ uint32_t USB_GetMode(USB_OTG_GlobalTypeDef *USBx) { 80bf530: b480 push {r7} 80bf532: b083 sub sp, #12 80bf534: af00 add r7, sp, #0 80bf536: 6078 str r0, [r7, #4] return ((USBx->GINTSTS) & 0x1U); 80bf538: 687b ldr r3, [r7, #4] 80bf53a: 695b ldr r3, [r3, #20] 80bf53c: f003 0301 and.w r3, r3, #1 } 80bf540: 4618 mov r0, r3 80bf542: 370c adds r7, #12 80bf544: 46bd mov sp, r7 80bf546: f85d 7b04 ldr.w r7, [sp], #4 80bf54a: 4770 bx lr 080bf54c : * @brief Activate EP0 for Setup transactions * @param USBx Selected device * @retval HAL status */ HAL_StatusTypeDef USB_ActivateSetup(USB_OTG_GlobalTypeDef *USBx) { 80bf54c: b480 push {r7} 80bf54e: b085 sub sp, #20 80bf550: af00 add r7, sp, #0 80bf552: 6078 str r0, [r7, #4] uint32_t USBx_BASE = (uint32_t)USBx; 80bf554: 687b ldr r3, [r7, #4] 80bf556: 60fb str r3, [r7, #12] /* Set the MPS of the IN EP0 to 64 bytes */ USBx_INEP(0U)->DIEPCTL &= ~USB_OTG_DIEPCTL_MPSIZ; 80bf558: 68fb ldr r3, [r7, #12] 80bf55a: f503 6310 add.w r3, r3, #2304 ; 0x900 80bf55e: 4619 mov r1, r3 80bf560: 68fb ldr r3, [r7, #12] 80bf562: f503 6310 add.w r3, r3, #2304 ; 0x900 80bf566: 681a ldr r2, [r3, #0] 80bf568: 4b0a ldr r3, [pc, #40] ; (80bf594 ) 80bf56a: 4013 ands r3, r2 80bf56c: 600b str r3, [r1, #0] USBx_DEVICE->DCTL |= USB_OTG_DCTL_CGINAK; 80bf56e: 68fb ldr r3, [r7, #12] 80bf570: f503 6300 add.w r3, r3, #2048 ; 0x800 80bf574: 461a mov r2, r3 80bf576: 68fb ldr r3, [r7, #12] 80bf578: f503 6300 add.w r3, r3, #2048 ; 0x800 80bf57c: 685b ldr r3, [r3, #4] 80bf57e: f443 7380 orr.w r3, r3, #256 ; 0x100 80bf582: 6053 str r3, [r2, #4] return HAL_OK; 80bf584: 2300 movs r3, #0 } 80bf586: 4618 mov r0, r3 80bf588: 3714 adds r7, #20 80bf58a: 46bd mov sp, r7 80bf58c: f85d 7b04 ldr.w r7, [sp], #4 80bf590: 4770 bx lr 80bf592: bf00 nop 80bf594: fffff800 .word 0xfffff800 080bf598 : * 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) { 80bf598: b480 push {r7} 80bf59a: b087 sub sp, #28 80bf59c: af00 add r7, sp, #0 80bf59e: 60f8 str r0, [r7, #12] 80bf5a0: 460b mov r3, r1 80bf5a2: 607a str r2, [r7, #4] 80bf5a4: 72fb strb r3, [r7, #11] uint32_t USBx_BASE = (uint32_t)USBx; 80bf5a6: 68fb ldr r3, [r7, #12] 80bf5a8: 617b str r3, [r7, #20] uint32_t gSNPSiD = *(__IO uint32_t *)(&USBx->CID + 0x1U); 80bf5aa: 68fb ldr r3, [r7, #12] 80bf5ac: 333c adds r3, #60 ; 0x3c 80bf5ae: 3304 adds r3, #4 80bf5b0: 681b ldr r3, [r3, #0] 80bf5b2: 613b str r3, [r7, #16] if (gSNPSiD > USB_OTG_CORE_ID_300A) 80bf5b4: 693b ldr r3, [r7, #16] 80bf5b6: 4a28 ldr r2, [pc, #160] ; (80bf658 ) 80bf5b8: 4293 cmp r3, r2 80bf5ba: d90a bls.n 80bf5d2 { if ((USBx_OUTEP(0U)->DOEPCTL & USB_OTG_DOEPCTL_EPENA) == USB_OTG_DOEPCTL_EPENA) 80bf5bc: 697b ldr r3, [r7, #20] 80bf5be: f503 6330 add.w r3, r3, #2816 ; 0xb00 80bf5c2: 681b ldr r3, [r3, #0] 80bf5c4: f003 4300 and.w r3, r3, #2147483648 ; 0x80000000 80bf5c8: f1b3 4f00 cmp.w r3, #2147483648 ; 0x80000000 80bf5cc: d101 bne.n 80bf5d2 { return HAL_OK; 80bf5ce: 2300 movs r3, #0 80bf5d0: e03b b.n 80bf64a } } USBx_OUTEP(0U)->DOEPTSIZ = 0U; 80bf5d2: 697b ldr r3, [r7, #20] 80bf5d4: f503 6330 add.w r3, r3, #2816 ; 0xb00 80bf5d8: 461a mov r2, r3 80bf5da: 2300 movs r3, #0 80bf5dc: 6113 str r3, [r2, #16] USBx_OUTEP(0U)->DOEPTSIZ |= (USB_OTG_DOEPTSIZ_PKTCNT & (1U << 19)); 80bf5de: 697b ldr r3, [r7, #20] 80bf5e0: f503 6330 add.w r3, r3, #2816 ; 0xb00 80bf5e4: 461a mov r2, r3 80bf5e6: 697b ldr r3, [r7, #20] 80bf5e8: f503 6330 add.w r3, r3, #2816 ; 0xb00 80bf5ec: 691b ldr r3, [r3, #16] 80bf5ee: f443 2300 orr.w r3, r3, #524288 ; 0x80000 80bf5f2: 6113 str r3, [r2, #16] USBx_OUTEP(0U)->DOEPTSIZ |= (3U * 8U); 80bf5f4: 697b ldr r3, [r7, #20] 80bf5f6: f503 6330 add.w r3, r3, #2816 ; 0xb00 80bf5fa: 461a mov r2, r3 80bf5fc: 697b ldr r3, [r7, #20] 80bf5fe: f503 6330 add.w r3, r3, #2816 ; 0xb00 80bf602: 691b ldr r3, [r3, #16] 80bf604: f043 0318 orr.w r3, r3, #24 80bf608: 6113 str r3, [r2, #16] USBx_OUTEP(0U)->DOEPTSIZ |= USB_OTG_DOEPTSIZ_STUPCNT; 80bf60a: 697b ldr r3, [r7, #20] 80bf60c: f503 6330 add.w r3, r3, #2816 ; 0xb00 80bf610: 461a mov r2, r3 80bf612: 697b ldr r3, [r7, #20] 80bf614: f503 6330 add.w r3, r3, #2816 ; 0xb00 80bf618: 691b ldr r3, [r3, #16] 80bf61a: f043 43c0 orr.w r3, r3, #1610612736 ; 0x60000000 80bf61e: 6113 str r3, [r2, #16] if (dma == 1U) 80bf620: 7afb ldrb r3, [r7, #11] 80bf622: 2b01 cmp r3, #1 80bf624: d110 bne.n 80bf648 { USBx_OUTEP(0U)->DOEPDMA = (uint32_t)psetup; 80bf626: 697b ldr r3, [r7, #20] 80bf628: f503 6330 add.w r3, r3, #2816 ; 0xb00 80bf62c: 461a mov r2, r3 80bf62e: 687b ldr r3, [r7, #4] 80bf630: 6153 str r3, [r2, #20] /* EP enable */ USBx_OUTEP(0U)->DOEPCTL |= USB_OTG_DOEPCTL_EPENA | USB_OTG_DOEPCTL_USBAEP; 80bf632: 697b ldr r3, [r7, #20] 80bf634: f503 6330 add.w r3, r3, #2816 ; 0xb00 80bf638: 461a mov r2, r3 80bf63a: 697b ldr r3, [r7, #20] 80bf63c: f503 6330 add.w r3, r3, #2816 ; 0xb00 80bf640: 681b ldr r3, [r3, #0] 80bf642: f043 2380 orr.w r3, r3, #2147516416 ; 0x80008000 80bf646: 6013 str r3, [r2, #0] } return HAL_OK; 80bf648: 2300 movs r3, #0 } 80bf64a: 4618 mov r0, r3 80bf64c: 371c adds r7, #28 80bf64e: 46bd mov sp, r7 80bf650: f85d 7b04 ldr.w r7, [sp], #4 80bf654: 4770 bx lr 80bf656: bf00 nop 80bf658: 4f54300a .word 0x4f54300a 080bf65c : * @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) { 80bf65c: b480 push {r7} 80bf65e: b085 sub sp, #20 80bf660: af00 add r7, sp, #0 80bf662: 6078 str r0, [r7, #4] __IO uint32_t count = 0U; 80bf664: 2300 movs r3, #0 80bf666: 60fb str r3, [r7, #12] /* Wait for AHB master IDLE state. */ do { if (++count > 200000U) 80bf668: 68fb ldr r3, [r7, #12] 80bf66a: 3301 adds r3, #1 80bf66c: 60fb str r3, [r7, #12] 80bf66e: 4a13 ldr r2, [pc, #76] ; (80bf6bc ) 80bf670: 4293 cmp r3, r2 80bf672: d901 bls.n 80bf678 { return HAL_TIMEOUT; 80bf674: 2303 movs r3, #3 80bf676: e01a b.n 80bf6ae } } while ((USBx->GRSTCTL & USB_OTG_GRSTCTL_AHBIDL) == 0U); 80bf678: 687b ldr r3, [r7, #4] 80bf67a: 691b ldr r3, [r3, #16] 80bf67c: 2b00 cmp r3, #0 80bf67e: daf3 bge.n 80bf668 /* Core Soft Reset */ count = 0U; 80bf680: 2300 movs r3, #0 80bf682: 60fb str r3, [r7, #12] USBx->GRSTCTL |= USB_OTG_GRSTCTL_CSRST; 80bf684: 687b ldr r3, [r7, #4] 80bf686: 691b ldr r3, [r3, #16] 80bf688: f043 0201 orr.w r2, r3, #1 80bf68c: 687b ldr r3, [r7, #4] 80bf68e: 611a str r2, [r3, #16] do { if (++count > 200000U) 80bf690: 68fb ldr r3, [r7, #12] 80bf692: 3301 adds r3, #1 80bf694: 60fb str r3, [r7, #12] 80bf696: 4a09 ldr r2, [pc, #36] ; (80bf6bc ) 80bf698: 4293 cmp r3, r2 80bf69a: d901 bls.n 80bf6a0 { return HAL_TIMEOUT; 80bf69c: 2303 movs r3, #3 80bf69e: e006 b.n 80bf6ae } } while ((USBx->GRSTCTL & USB_OTG_GRSTCTL_CSRST) == USB_OTG_GRSTCTL_CSRST); 80bf6a0: 687b ldr r3, [r7, #4] 80bf6a2: 691b ldr r3, [r3, #16] 80bf6a4: f003 0301 and.w r3, r3, #1 80bf6a8: 2b01 cmp r3, #1 80bf6aa: d0f1 beq.n 80bf690 return HAL_OK; 80bf6ac: 2300 movs r3, #0 } 80bf6ae: 4618 mov r0, r3 80bf6b0: 3714 adds r7, #20 80bf6b2: 46bd mov sp, r7 80bf6b4: f85d 7b04 ldr.w r7, [sp], #4 80bf6b8: 4770 bx lr 80bf6ba: bf00 nop 80bf6bc: 00030d40 .word 0x00030d40 080bf6c0 : /* USER CODE BEGIN Variables */ extern RTC_HandleTypeDef hrtc; /* USER CODE END Variables */ void MX_FATFS_Init(void) { 80bf6c0: b580 push {r7, lr} 80bf6c2: af00 add r7, sp, #0 /*## FatFS: Link the SD driver ###########################*/ retSD = FATFS_LinkDriver(&SD_Driver, SDPath); 80bf6c4: 4904 ldr r1, [pc, #16] ; (80bf6d8 ) 80bf6c6: 4805 ldr r0, [pc, #20] ; (80bf6dc ) 80bf6c8: f009 fbc0 bl 80c8e4c 80bf6cc: 4603 mov r3, r0 80bf6ce: 461a mov r2, r3 80bf6d0: 4b03 ldr r3, [pc, #12] ; (80bf6e0 ) 80bf6d2: 701a strb r2, [r3, #0] /* USER CODE BEGIN Init */ /* additional user code for init */ /* USER CODE END Init */ } 80bf6d4: bf00 nop 80bf6d6: bd80 pop {r7, pc} 80bf6d8: 20068acc .word 0x20068acc 80bf6dc: 080ff7fc .word 0x080ff7fc 80bf6e0: 20068ac8 .word 0x20068ac8 080bf6e4 : * @brief Gets Time from RTC * @param None * @retval Time in DWORD */ DWORD get_fattime(void) { 80bf6e4: b580 push {r7, lr} 80bf6e6: b08e sub sp, #56 ; 0x38 80bf6e8: 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); 80bf6ea: f107 0318 add.w r3, r7, #24 80bf6ee: 2200 movs r2, #0 80bf6f0: 4619 mov r1, r3 80bf6f2: 4818 ldr r0, [pc, #96] ; (80bf754 ) 80bf6f4: f7f9 fb7e bl 80b8df4 HAL_RTC_GetTime(&hrtc, &RTC_Time, RTC_FORMAT_BIN); 80bf6f8: 463b mov r3, r7 80bf6fa: 2200 movs r2, #0 80bf6fc: 4619 mov r1, r3 80bf6fe: 4815 ldr r0, [pc, #84] ; (80bf754 ) 80bf700: f7f9 fa72 bl 80b8be8 Year = RTC_Date.Year + 2000; 80bf704: 7efb ldrb r3, [r7, #27] 80bf706: f503 63fa add.w r3, r3, #2000 ; 0x7d0 80bf70a: 637b str r3, [r7, #52] ; 0x34 Month = RTC_Date.Month; 80bf70c: 7e7b ldrb r3, [r7, #25] 80bf70e: 633b str r3, [r7, #48] ; 0x30 Day = RTC_Date.Date; 80bf710: 7ebb ldrb r3, [r7, #26] 80bf712: 62fb str r3, [r7, #44] ; 0x2c Hour = RTC_Time.Hours; 80bf714: 783b ldrb r3, [r7, #0] 80bf716: 62bb str r3, [r7, #40] ; 0x28 Min = RTC_Time.Minutes; 80bf718: 787b ldrb r3, [r7, #1] 80bf71a: 627b str r3, [r7, #36] ; 0x24 Sec = RTC_Time.Seconds; 80bf71c: 78bb ldrb r3, [r7, #2] 80bf71e: 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); 80bf720: 6b7b ldr r3, [r7, #52] ; 0x34 80bf722: f2a3 73bc subw r3, r3, #1980 ; 0x7bc 80bf726: 065a lsls r2, r3, #25 80bf728: 6b3b ldr r3, [r7, #48] ; 0x30 80bf72a: 055b lsls r3, r3, #21 80bf72c: 431a orrs r2, r3 80bf72e: 6afb ldr r3, [r7, #44] ; 0x2c 80bf730: 041b lsls r3, r3, #16 80bf732: 431a orrs r2, r3 80bf734: 6abb ldr r3, [r7, #40] ; 0x28 80bf736: 02db lsls r3, r3, #11 80bf738: 431a orrs r2, r3 80bf73a: 6a7b ldr r3, [r7, #36] ; 0x24 80bf73c: 015b lsls r3, r3, #5 80bf73e: 431a orrs r2, r3 80bf740: 6a3b ldr r3, [r7, #32] 80bf742: 085b lsrs r3, r3, #1 80bf744: 4313 orrs r3, r2 80bf746: 61fb str r3, [r7, #28] return DateTime; 80bf748: 69fb ldr r3, [r7, #28] } 80bf74a: 4618 mov r0, r3 80bf74c: 3738 adds r7, #56 ; 0x38 80bf74e: 46bd mov sp, r7 80bf750: bd80 pop {r7, pc} 80bf752: bf00 nop 80bf754: 20068598 .word 0x20068598 080bf758 : extern volatile uint8_t CardState; uint8_t BSP_PlatformIsDetected(void) { 80bf758: b580 push {r7, lr} 80bf75a: b082 sub sp, #8 80bf75c: af00 add r7, sp, #0 uint8_t status = (uint8_t)0x01; 80bf75e: 2301 movs r3, #1 80bf760: 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) 80bf762: f44f 5180 mov.w r1, #4096 ; 0x1000 80bf766: 4806 ldr r0, [pc, #24] ; (80bf780 ) 80bf768: f7f6 fa0a bl 80b5b80 80bf76c: 4603 mov r3, r0 80bf76e: 2b01 cmp r3, #1 80bf770: d101 bne.n 80bf776 { status = (uint8_t)0x00; 80bf772: 2300 movs r3, #0 80bf774: 71fb strb r3, [r7, #7] } /* USER CODE BEGIN 1 */ /* user code can be inserted here */ /* USER CODE END 1 */ return status; 80bf776: 79fb ldrb r3, [r7, #7] } 80bf778: 4618 mov r0, r3 80bf77a: 3708 adds r7, #8 80bf77c: 46bd mov sp, r7 80bf77e: bd80 pop {r7, pc} 80bf780: 40020400 .word 0x40020400 080bf784 : /** * @brief Initializes the SD card device. * @retval SD status */ uint8_t BSP_SD_Init(void) { 80bf784: b580 push {r7, lr} 80bf786: b082 sub sp, #8 80bf788: af00 add r7, sp, #0 uint8_t sd_state = MSD_OK; 80bf78a: 2300 movs r3, #0 80bf78c: 71fb strb r3, [r7, #7] /* Check if the SD card is plugged in the slot */ if (BSP_SD_IsDetected() != SD_PRESENT) 80bf78e: f000 f898 bl 80bf8c2 80bf792: 4603 mov r3, r0 80bf794: 2b01 cmp r3, #1 80bf796: d001 beq.n 80bf79c { return MSD_ERROR_SD_NOT_PRESENT; 80bf798: 2302 movs r3, #2 80bf79a: e015 b.n 80bf7c8 } /* HAL SD initialization */ HAL_SD_DeInit(&hsd1); 80bf79c: 480c ldr r0, [pc, #48] ; (80bf7d0 ) 80bf79e: f7f9 fcf3 bl 80b9188 sd_state = HAL_SD_Init(&hsd1); 80bf7a2: 480b ldr r0, [pc, #44] ; (80bf7d0 ) 80bf7a4: f7f9 fc38 bl 80b9018 80bf7a8: 4603 mov r3, r0 80bf7aa: 71fb strb r3, [r7, #7] /* Configure SD Bus width (4 bits mode selected) */ if (sd_state == MSD_OK) 80bf7ac: 79fb ldrb r3, [r7, #7] 80bf7ae: 2b00 cmp r3, #0 80bf7b0: d109 bne.n 80bf7c6 { /* Enable wide operation */ if (HAL_SD_ConfigWideBusOperation(&hsd1, SDMMC_BUS_WIDE_4B) != HAL_OK) 80bf7b2: f44f 6100 mov.w r1, #2048 ; 0x800 80bf7b6: 4806 ldr r0, [pc, #24] ; (80bf7d0 ) 80bf7b8: f7fa fa1e bl 80b9bf8 80bf7bc: 4603 mov r3, r0 80bf7be: 2b00 cmp r3, #0 80bf7c0: d001 beq.n 80bf7c6 { sd_state = MSD_ERROR; 80bf7c2: 2301 movs r3, #1 80bf7c4: 71fb strb r3, [r7, #7] } } return sd_state; 80bf7c6: 79fb ldrb r3, [r7, #7] } 80bf7c8: 4618 mov r0, r3 80bf7ca: 3708 adds r7, #8 80bf7cc: 46bd mov sp, r7 80bf7ce: bd80 pop {r7, pc} 80bf7d0: 200685ec .word 0x200685ec 080bf7d4 : * @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) { 80bf7d4: b580 push {r7, lr} 80bf7d6: b086 sub sp, #24 80bf7d8: af00 add r7, sp, #0 80bf7da: 60f8 str r0, [r7, #12] 80bf7dc: 60b9 str r1, [r7, #8] 80bf7de: 607a str r2, [r7, #4] uint8_t sd_state = MSD_OK; 80bf7e0: 2300 movs r3, #0 80bf7e2: 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) 80bf7e4: 687b ldr r3, [r7, #4] 80bf7e6: 68ba ldr r2, [r7, #8] 80bf7e8: 68f9 ldr r1, [r7, #12] 80bf7ea: 4806 ldr r0, [pc, #24] ; (80bf804 ) 80bf7ec: f7f9 fcec bl 80b91c8 80bf7f0: 4603 mov r3, r0 80bf7f2: 2b00 cmp r3, #0 80bf7f4: d001 beq.n 80bf7fa { sd_state = MSD_ERROR; 80bf7f6: 2301 movs r3, #1 80bf7f8: 75fb strb r3, [r7, #23] } return sd_state; 80bf7fa: 7dfb ldrb r3, [r7, #23] } 80bf7fc: 4618 mov r0, r3 80bf7fe: 3718 adds r7, #24 80bf800: 46bd mov sp, r7 80bf802: bd80 pop {r7, pc} 80bf804: 200685ec .word 0x200685ec 080bf808 : * @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) { 80bf808: b580 push {r7, lr} 80bf80a: b086 sub sp, #24 80bf80c: af00 add r7, sp, #0 80bf80e: 60f8 str r0, [r7, #12] 80bf810: 60b9 str r1, [r7, #8] 80bf812: 607a str r2, [r7, #4] uint8_t sd_state = MSD_OK; 80bf814: 2300 movs r3, #0 80bf816: 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) 80bf818: 687b ldr r3, [r7, #4] 80bf81a: 68ba ldr r2, [r7, #8] 80bf81c: 68f9 ldr r1, [r7, #12] 80bf81e: 4806 ldr r0, [pc, #24] ; (80bf838 ) 80bf820: f7f9 fdb4 bl 80b938c 80bf824: 4603 mov r3, r0 80bf826: 2b00 cmp r3, #0 80bf828: d001 beq.n 80bf82e { sd_state = MSD_ERROR; 80bf82a: 2301 movs r3, #1 80bf82c: 75fb strb r3, [r7, #23] } return sd_state; 80bf82e: 7dfb ldrb r3, [r7, #23] } 80bf830: 4618 mov r0, r3 80bf832: 3718 adds r7, #24 80bf834: 46bd mov sp, r7 80bf836: bd80 pop {r7, pc} 80bf838: 200685ec .word 0x200685ec 080bf83c : * 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) { 80bf83c: b580 push {r7, lr} 80bf83e: af00 add r7, sp, #0 return ((HAL_SD_GetCardState(&hsd1) == HAL_SD_CARD_TRANSFER ) ? SD_TRANSFER_OK : SD_TRANSFER_BUSY); 80bf840: 4805 ldr r0, [pc, #20] ; (80bf858 ) 80bf842: f7fa fa73 bl 80b9d2c 80bf846: 4603 mov r3, r0 80bf848: 2b04 cmp r3, #4 80bf84a: bf14 ite ne 80bf84c: 2301 movne r3, #1 80bf84e: 2300 moveq r3, #0 80bf850: b2db uxtb r3, r3 } 80bf852: 4618 mov r0, r3 80bf854: bd80 pop {r7, pc} 80bf856: bf00 nop 80bf858: 200685ec .word 0x200685ec 080bf85c : * @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) { 80bf85c: b580 push {r7, lr} 80bf85e: b082 sub sp, #8 80bf860: af00 add r7, sp, #0 80bf862: 6078 str r0, [r7, #4] /* Get SD card Information */ HAL_SD_GetCardInfo(&hsd1, CardInfo); 80bf864: 6879 ldr r1, [r7, #4] 80bf866: 4803 ldr r0, [pc, #12] ; (80bf874 ) 80bf868: f7fa f99a bl 80b9ba0 } 80bf86c: bf00 nop 80bf86e: 3708 adds r7, #8 80bf870: 46bd mov sp, r7 80bf872: bd80 pop {r7, pc} 80bf874: 200685ec .word 0x200685ec 080bf878 : * @brief SD Abort callbacks * @param hsd: SD handle * @retval None */ void HAL_SD_AbortCallback(SD_HandleTypeDef *hsd) { 80bf878: b580 push {r7, lr} 80bf87a: b082 sub sp, #8 80bf87c: af00 add r7, sp, #0 80bf87e: 6078 str r0, [r7, #4] BSP_SD_AbortCallback(); 80bf880: f000 f818 bl 80bf8b4 } 80bf884: bf00 nop 80bf886: 3708 adds r7, #8 80bf888: 46bd mov sp, r7 80bf88a: bd80 pop {r7, pc} 080bf88c : * @brief Tx Transfer completed callback * @param hsd: SD handle * @retval None */ void HAL_SD_TxCpltCallback(SD_HandleTypeDef *hsd) { 80bf88c: b580 push {r7, lr} 80bf88e: b082 sub sp, #8 80bf890: af00 add r7, sp, #0 80bf892: 6078 str r0, [r7, #4] BSP_SD_WriteCpltCallback(); 80bf894: f000 f9e8 bl 80bfc68 } 80bf898: bf00 nop 80bf89a: 3708 adds r7, #8 80bf89c: 46bd mov sp, r7 80bf89e: bd80 pop {r7, pc} 080bf8a0 : * @brief Rx Transfer completed callback * @param hsd: SD handle * @retval None */ void HAL_SD_RxCpltCallback(SD_HandleTypeDef *hsd) { 80bf8a0: b580 push {r7, lr} 80bf8a2: b082 sub sp, #8 80bf8a4: af00 add r7, sp, #0 80bf8a6: 6078 str r0, [r7, #4] BSP_SD_ReadCpltCallback(); 80bf8a8: f000 f9ea bl 80bfc80 } 80bf8ac: bf00 nop 80bf8ae: 3708 adds r7, #8 80bf8b0: 46bd mov sp, r7 80bf8b2: bd80 pop {r7, pc} 080bf8b4 : /** * @brief BSP SD Abort callback * @retval None */ __weak void BSP_SD_AbortCallback(void) { 80bf8b4: b480 push {r7} 80bf8b6: af00 add r7, sp, #0 } 80bf8b8: bf00 nop 80bf8ba: 46bd mov sp, r7 80bf8bc: f85d 7b04 ldr.w r7, [sp], #4 80bf8c0: 4770 bx lr 080bf8c2 : * @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) { 80bf8c2: b580 push {r7, lr} 80bf8c4: b082 sub sp, #8 80bf8c6: af00 add r7, sp, #0 __IO uint8_t status = SD_PRESENT; 80bf8c8: 2301 movs r3, #1 80bf8ca: 71fb strb r3, [r7, #7] if(BSP_PlatformIsDetected() == 0x0) 80bf8cc: f7ff ff44 bl 80bf758 80bf8d0: 4603 mov r3, r0 80bf8d2: 2b00 cmp r3, #0 80bf8d4: d101 bne.n 80bf8da status = SD_NOT_PRESENT; 80bf8d6: 2300 movs r3, #0 80bf8d8: 71fb strb r3, [r7, #7] /*if(BSP_PlatformIsDetected() == 0x0) { status = SD_NOT_PRESENT; }*/ return status; 80bf8da: 79fb ldrb r3, [r7, #7] 80bf8dc: b2db uxtb r3, r3 } 80bf8de: 4618 mov r0, r3 80bf8e0: 3708 adds r7, #8 80bf8e2: 46bd mov sp, r7 80bf8e4: bd80 pop {r7, pc} ... 080bf8e8 : { 80bf8e8: b480 push {r7} 80bf8ea: b085 sub sp, #20 80bf8ec: af00 add r7, sp, #0 SCB->CSSELR = 0U; /*(0U << 1U) | 0U;*/ /* Level 1 data cache */ 80bf8ee: 4b19 ldr r3, [pc, #100] ; (80bf954 ) 80bf8f0: 2200 movs r2, #0 80bf8f2: f8c3 2084 str.w r2, [r3, #132] ; 0x84 __ASM volatile ("dsb 0xF":::"memory"); 80bf8f6: f3bf 8f4f dsb sy ccsidr = SCB->CCSIDR; 80bf8fa: 4b16 ldr r3, [pc, #88] ; (80bf954 ) 80bf8fc: f8d3 3080 ldr.w r3, [r3, #128] ; 0x80 80bf900: 607b str r3, [r7, #4] sets = (uint32_t)(CCSIDR_SETS(ccsidr)); 80bf902: 687b ldr r3, [r7, #4] 80bf904: 0b5b lsrs r3, r3, #13 80bf906: f3c3 030e ubfx r3, r3, #0, #15 80bf90a: 60fb str r3, [r7, #12] ways = (uint32_t)(CCSIDR_WAYS(ccsidr)); 80bf90c: 687b ldr r3, [r7, #4] 80bf90e: 08db lsrs r3, r3, #3 80bf910: f3c3 0309 ubfx r3, r3, #0, #10 80bf914: 60bb str r3, [r7, #8] SCB->DCCISW = (((sets << SCB_DCCISW_SET_Pos) & SCB_DCCISW_SET_Msk) | 80bf916: 490f ldr r1, [pc, #60] ; (80bf954 ) 80bf918: 68fb ldr r3, [r7, #12] 80bf91a: 015a lsls r2, r3, #5 80bf91c: f643 73e0 movw r3, #16352 ; 0x3fe0 80bf920: 4013 ands r3, r2 ((ways << SCB_DCCISW_WAY_Pos) & SCB_DCCISW_WAY_Msk) ); 80bf922: 68ba ldr r2, [r7, #8] 80bf924: 0792 lsls r2, r2, #30 SCB->DCCISW = (((sets << SCB_DCCISW_SET_Pos) & SCB_DCCISW_SET_Msk) | 80bf926: 4313 orrs r3, r2 80bf928: f8c1 3274 str.w r3, [r1, #628] ; 0x274 } while (ways-- != 0U); 80bf92c: 68bb ldr r3, [r7, #8] 80bf92e: 1e5a subs r2, r3, #1 80bf930: 60ba str r2, [r7, #8] 80bf932: 2b00 cmp r3, #0 80bf934: d1ef bne.n 80bf916 } while(sets-- != 0U); 80bf936: 68fb ldr r3, [r7, #12] 80bf938: 1e5a subs r2, r3, #1 80bf93a: 60fa str r2, [r7, #12] 80bf93c: 2b00 cmp r3, #0 80bf93e: d1e5 bne.n 80bf90c 80bf940: f3bf 8f4f dsb sy __ASM volatile ("isb 0xF":::"memory"); 80bf944: f3bf 8f6f isb sy } 80bf948: bf00 nop 80bf94a: 3714 adds r7, #20 80bf94c: 46bd mov sp, r7 80bf94e: f85d 7b04 ldr.w r7, [sp], #4 80bf952: 4770 bx lr 80bf954: e000ed00 .word 0xe000ed00 080bf958 : { 80bf958: b480 push {r7} 80bf95a: b087 sub sp, #28 80bf95c: af00 add r7, sp, #0 80bf95e: 6078 str r0, [r7, #4] 80bf960: 6039 str r1, [r7, #0] int32_t op_size = dsize; 80bf962: 683b ldr r3, [r7, #0] 80bf964: 617b str r3, [r7, #20] uint32_t op_addr = (uint32_t) addr; 80bf966: 687b ldr r3, [r7, #4] 80bf968: 613b str r3, [r7, #16] int32_t linesize = 32; /* in Cortex-M7 size of cache line is fixed to 8 words (32 bytes) */ 80bf96a: 2320 movs r3, #32 80bf96c: 60fb str r3, [r7, #12] __ASM volatile ("dsb 0xF":::"memory"); 80bf96e: f3bf 8f4f dsb sy while (op_size > 0) { 80bf972: e00b b.n 80bf98c SCB->DCCIMVAC = op_addr; 80bf974: 4a0c ldr r2, [pc, #48] ; (80bf9a8 ) 80bf976: 693b ldr r3, [r7, #16] 80bf978: f8c2 3270 str.w r3, [r2, #624] ; 0x270 op_addr += (uint32_t)linesize; 80bf97c: 68fb ldr r3, [r7, #12] 80bf97e: 693a ldr r2, [r7, #16] 80bf980: 4413 add r3, r2 80bf982: 613b str r3, [r7, #16] op_size -= linesize; 80bf984: 697a ldr r2, [r7, #20] 80bf986: 68fb ldr r3, [r7, #12] 80bf988: 1ad3 subs r3, r2, r3 80bf98a: 617b str r3, [r7, #20] while (op_size > 0) { 80bf98c: 697b ldr r3, [r7, #20] 80bf98e: 2b00 cmp r3, #0 80bf990: dcf0 bgt.n 80bf974 80bf992: f3bf 8f4f dsb sy __ASM volatile ("isb 0xF":::"memory"); 80bf996: f3bf 8f6f isb sy } 80bf99a: bf00 nop 80bf99c: 371c adds r7, #28 80bf99e: 46bd mov sp, r7 80bf9a0: f85d 7b04 ldr.w r7, [sp], #4 80bf9a4: 4770 bx lr 80bf9a6: bf00 nop 80bf9a8: e000ed00 .word 0xe000ed00 080bf9ac : /* can be used to modify / undefine following code or add new code */ /* USER CODE END beforeFunctionSection */ /* Private functions ---------------------------------------------------------*/ static DSTATUS SD_CheckStatus(BYTE lun) { 80bf9ac: b580 push {r7, lr} 80bf9ae: b082 sub sp, #8 80bf9b0: af00 add r7, sp, #0 80bf9b2: 4603 mov r3, r0 80bf9b4: 71fb strb r3, [r7, #7] Stat = STA_NOINIT; 80bf9b6: 4b0b ldr r3, [pc, #44] ; (80bf9e4 ) 80bf9b8: 2201 movs r2, #1 80bf9ba: 701a strb r2, [r3, #0] if(BSP_SD_GetCardState() == MSD_OK) 80bf9bc: f7ff ff3e bl 80bf83c 80bf9c0: 4603 mov r3, r0 80bf9c2: 2b00 cmp r3, #0 80bf9c4: d107 bne.n 80bf9d6 { Stat &= ~STA_NOINIT; 80bf9c6: 4b07 ldr r3, [pc, #28] ; (80bf9e4 ) 80bf9c8: 781b ldrb r3, [r3, #0] 80bf9ca: b2db uxtb r3, r3 80bf9cc: f023 0301 bic.w r3, r3, #1 80bf9d0: b2da uxtb r2, r3 80bf9d2: 4b04 ldr r3, [pc, #16] ; (80bf9e4 ) 80bf9d4: 701a strb r2, [r3, #0] } return Stat; 80bf9d6: 4b03 ldr r3, [pc, #12] ; (80bf9e4 ) 80bf9d8: 781b ldrb r3, [r3, #0] 80bf9da: b2db uxtb r3, r3 } 80bf9dc: 4618 mov r0, r3 80bf9de: 3708 adds r7, #8 80bf9e0: 46bd mov sp, r7 80bf9e2: bd80 pop {r7, pc} 80bf9e4: 200209d9 .word 0x200209d9 080bf9e8 : * @brief Initializes a Drive * @param lun : not used * @retval DSTATUS: Operation status */ DSTATUS SD_initialize(BYTE lun) { 80bf9e8: b580 push {r7, lr} 80bf9ea: b082 sub sp, #8 80bf9ec: af00 add r7, sp, #0 80bf9ee: 4603 mov r3, r0 80bf9f0: 71fb strb r3, [r7, #7] Stat = STA_NOINIT; 80bf9f2: 4b0b ldr r3, [pc, #44] ; (80bfa20 ) 80bf9f4: 2201 movs r2, #1 80bf9f6: 701a strb r2, [r3, #0] #if !defined(DISABLE_SD_INIT) if(BSP_SD_Init() == MSD_OK) 80bf9f8: f7ff fec4 bl 80bf784 80bf9fc: 4603 mov r3, r0 80bf9fe: 2b00 cmp r3, #0 80bfa00: d107 bne.n 80bfa12 { Stat = SD_CheckStatus(lun); 80bfa02: 79fb ldrb r3, [r7, #7] 80bfa04: 4618 mov r0, r3 80bfa06: f7ff ffd1 bl 80bf9ac 80bfa0a: 4603 mov r3, r0 80bfa0c: 461a mov r2, r3 80bfa0e: 4b04 ldr r3, [pc, #16] ; (80bfa20 ) 80bfa10: 701a strb r2, [r3, #0] } #else Stat = SD_CheckStatus(lun); #endif return Stat; 80bfa12: 4b03 ldr r3, [pc, #12] ; (80bfa20 ) 80bfa14: 781b ldrb r3, [r3, #0] 80bfa16: b2db uxtb r3, r3 } 80bfa18: 4618 mov r0, r3 80bfa1a: 3708 adds r7, #8 80bfa1c: 46bd mov sp, r7 80bfa1e: bd80 pop {r7, pc} 80bfa20: 200209d9 .word 0x200209d9 080bfa24 : * @brief Gets Disk Status * @param lun : not used * @retval DSTATUS: Operation status */ DSTATUS SD_status(BYTE lun) { 80bfa24: b580 push {r7, lr} 80bfa26: b082 sub sp, #8 80bfa28: af00 add r7, sp, #0 80bfa2a: 4603 mov r3, r0 80bfa2c: 71fb strb r3, [r7, #7] return SD_CheckStatus(lun); 80bfa2e: 79fb ldrb r3, [r7, #7] 80bfa30: 4618 mov r0, r3 80bfa32: f7ff ffbb bl 80bf9ac 80bfa36: 4603 mov r3, r0 } 80bfa38: 4618 mov r0, r3 80bfa3a: 3708 adds r7, #8 80bfa3c: 46bd mov sp, r7 80bfa3e: bd80 pop {r7, pc} 080bfa40 : * @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) { 80bfa40: b580 push {r7, lr} 80bfa42: b088 sub sp, #32 80bfa44: af00 add r7, sp, #0 80bfa46: 60b9 str r1, [r7, #8] 80bfa48: 607a str r2, [r7, #4] 80bfa4a: 603b str r3, [r7, #0] 80bfa4c: 4603 mov r3, r0 80bfa4e: 73fb strb r3, [r7, #15] DRESULT res = RES_ERROR; 80bfa50: 2301 movs r3, #1 80bfa52: 77fb strb r3, [r7, #31] uint32_t timeout; uint32_t alignedAddr; #if(ENABLE_SD_DMA_CACHE_MAINTENANCE == 1) alignedAddr = (uint32_t)buff & ~0x1F; 80bfa54: 68bb ldr r3, [r7, #8] 80bfa56: f023 031f bic.w r3, r3, #31 80bfa5a: 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)); 80bfa5c: 69b8 ldr r0, [r7, #24] 80bfa5e: 683b ldr r3, [r7, #0] 80bfa60: 025a lsls r2, r3, #9 80bfa62: 68b9 ldr r1, [r7, #8] 80bfa64: 69bb ldr r3, [r7, #24] 80bfa66: 1acb subs r3, r1, r3 80bfa68: 4413 add r3, r2 80bfa6a: 4619 mov r1, r3 80bfa6c: f7ff ff74 bl 80bf958 #endif MY_SD_TIMEOUT = count * 2000UL; 80bfa70: 683b ldr r3, [r7, #0] 80bfa72: f44f 62fa mov.w r2, #2000 ; 0x7d0 80bfa76: fb02 f303 mul.w r3, r2, r3 80bfa7a: 4a21 ldr r2, [pc, #132] ; (80bfb00 ) 80bfa7c: 6013 str r3, [r2, #0] ReadStatus = 0; 80bfa7e: 4b21 ldr r3, [pc, #132] ; (80bfb04 ) 80bfa80: 2200 movs r2, #0 80bfa82: 601a str r2, [r3, #0] //SCB_CleanInvalidateDCache(); if(BSP_SD_ReadBlocks_DMA((uint32_t *)buff, (uint32_t) sector, count) == MSD_OK) 80bfa84: 683a ldr r2, [r7, #0] 80bfa86: 6879 ldr r1, [r7, #4] 80bfa88: 68b8 ldr r0, [r7, #8] 80bfa8a: f7ff fea3 bl 80bf7d4 80bfa8e: 4603 mov r3, r0 80bfa90: 2b00 cmp r3, #0 80bfa92: d12f bne.n 80bfaf4 { timeout = HAL_GetTick(); 80bfa94: f7f3 fbd0 bl 80b3238 80bfa98: 6178 str r0, [r7, #20] while((ReadStatus == 0) && ((HAL_GetTick() - timeout) < MY_SD_TIMEOUT)); 80bfa9a: bf00 nop 80bfa9c: 4b19 ldr r3, [pc, #100] ; (80bfb04 ) 80bfa9e: 681b ldr r3, [r3, #0] 80bfaa0: 2b00 cmp r3, #0 80bfaa2: d108 bne.n 80bfab6 80bfaa4: f7f3 fbc8 bl 80b3238 80bfaa8: 4602 mov r2, r0 80bfaaa: 697b ldr r3, [r7, #20] 80bfaac: 1ad2 subs r2, r2, r3 80bfaae: 4b14 ldr r3, [pc, #80] ; (80bfb00 ) 80bfab0: 681b ldr r3, [r3, #0] 80bfab2: 429a cmp r2, r3 80bfab4: d3f2 bcc.n 80bfa9c if(ReadStatus == 0) 80bfab6: 4b13 ldr r3, [pc, #76] ; (80bfb04 ) 80bfab8: 681b ldr r3, [r3, #0] 80bfaba: 2b00 cmp r3, #0 80bfabc: d102 bne.n 80bfac4 { res = RES_ERROR; 80bfabe: 2301 movs r3, #1 80bfac0: 77fb strb r3, [r7, #31] 80bfac2: e017 b.n 80bfaf4 } else { ReadStatus = 0; 80bfac4: 4b0f ldr r3, [pc, #60] ; (80bfb04 ) 80bfac6: 2200 movs r2, #0 80bfac8: 601a str r2, [r3, #0] timeout = HAL_GetTick(); 80bfaca: f7f3 fbb5 bl 80b3238 80bface: 6178 str r0, [r7, #20] while((HAL_GetTick() - timeout) < MY_SD_TIMEOUT) 80bfad0: e007 b.n 80bfae2 { if(BSP_SD_GetCardState() == SD_TRANSFER_OK) 80bfad2: f7ff feb3 bl 80bf83c 80bfad6: 4603 mov r3, r0 80bfad8: 2b00 cmp r3, #0 80bfada: d102 bne.n 80bfae2 { res = RES_OK; 80bfadc: 2300 movs r3, #0 80bfade: 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; 80bfae0: e008 b.n 80bfaf4 while((HAL_GetTick() - timeout) < MY_SD_TIMEOUT) 80bfae2: f7f3 fba9 bl 80b3238 80bfae6: 4602 mov r2, r0 80bfae8: 697b ldr r3, [r7, #20] 80bfaea: 1ad2 subs r2, r2, r3 80bfaec: 4b04 ldr r3, [pc, #16] ; (80bfb00 ) 80bfaee: 681b ldr r3, [r3, #0] 80bfaf0: 429a cmp r2, r3 80bfaf2: d3ee bcc.n 80bfad2 } } } } return res; 80bfaf4: 7ffb ldrb r3, [r7, #31] } 80bfaf6: 4618 mov r0, r3 80bfaf8: 3720 adds r7, #32 80bfafa: 46bd mov sp, r7 80bfafc: bd80 pop {r7, pc} 80bfafe: bf00 nop 80bfb00: 2002169c .word 0x2002169c 80bfb04: 200216a4 .word 0x200216a4 080bfb08 : * @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) { 80bfb08: b580 push {r7, lr} 80bfb0a: b086 sub sp, #24 80bfb0c: af00 add r7, sp, #0 80bfb0e: 60b9 str r1, [r7, #8] 80bfb10: 607a str r2, [r7, #4] 80bfb12: 603b str r3, [r7, #0] 80bfb14: 4603 mov r3, r0 80bfb16: 73fb strb r3, [r7, #15] DRESULT res = RES_ERROR; 80bfb18: 2301 movs r3, #1 80bfb1a: 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; 80bfb1c: 683b ldr r3, [r7, #0] 80bfb1e: f44f 62fa mov.w r2, #2000 ; 0x7d0 80bfb22: fb02 f303 mul.w r3, r2, r3 80bfb26: 4a22 ldr r2, [pc, #136] ; (80bfbb0 ) 80bfb28: 6013 str r3, [r2, #0] WriteStatus = 0; 80bfb2a: 4b22 ldr r3, [pc, #136] ; (80bfbb4 ) 80bfb2c: 2200 movs r2, #0 80bfb2e: 601a str r2, [r3, #0] SCB_CleanInvalidateDCache(); 80bfb30: f7ff feda bl 80bf8e8 if(BSP_SD_WriteBlocks_DMA((uint32_t *) buff, (uint32_t) sector, count) == MSD_OK) 80bfb34: 683a ldr r2, [r7, #0] 80bfb36: 6879 ldr r1, [r7, #4] 80bfb38: 68b8 ldr r0, [r7, #8] 80bfb3a: f7ff fe65 bl 80bf808 80bfb3e: 4603 mov r3, r0 80bfb40: 2b00 cmp r3, #0 80bfb42: d12f bne.n 80bfba4 { timeout = HAL_GetTick(); 80bfb44: f7f3 fb78 bl 80b3238 80bfb48: 6138 str r0, [r7, #16] while((WriteStatus == 0) && ((HAL_GetTick() - timeout) < MY_SD_TIMEOUT)); 80bfb4a: bf00 nop 80bfb4c: 4b19 ldr r3, [pc, #100] ; (80bfbb4 ) 80bfb4e: 681b ldr r3, [r3, #0] 80bfb50: 2b00 cmp r3, #0 80bfb52: d108 bne.n 80bfb66 80bfb54: f7f3 fb70 bl 80b3238 80bfb58: 4602 mov r2, r0 80bfb5a: 693b ldr r3, [r7, #16] 80bfb5c: 1ad2 subs r2, r2, r3 80bfb5e: 4b14 ldr r3, [pc, #80] ; (80bfbb0 ) 80bfb60: 681b ldr r3, [r3, #0] 80bfb62: 429a cmp r2, r3 80bfb64: d3f2 bcc.n 80bfb4c if(WriteStatus == 0) 80bfb66: 4b13 ldr r3, [pc, #76] ; (80bfbb4 ) 80bfb68: 681b ldr r3, [r3, #0] 80bfb6a: 2b00 cmp r3, #0 80bfb6c: d102 bne.n 80bfb74 { res = RES_ERROR; 80bfb6e: 2301 movs r3, #1 80bfb70: 75fb strb r3, [r7, #23] 80bfb72: e017 b.n 80bfba4 } else { WriteStatus = 0; 80bfb74: 4b0f ldr r3, [pc, #60] ; (80bfbb4 ) 80bfb76: 2200 movs r2, #0 80bfb78: 601a str r2, [r3, #0] timeout = HAL_GetTick(); 80bfb7a: f7f3 fb5d bl 80b3238 80bfb7e: 6138 str r0, [r7, #16] while((HAL_GetTick() - timeout) < MY_SD_TIMEOUT) 80bfb80: e007 b.n 80bfb92 { if (BSP_SD_GetCardState() == SD_TRANSFER_OK) 80bfb82: f7ff fe5b bl 80bf83c 80bfb86: 4603 mov r3, r0 80bfb88: 2b00 cmp r3, #0 80bfb8a: d102 bne.n 80bfb92 { res = RES_OK; 80bfb8c: 2300 movs r3, #0 80bfb8e: 75fb strb r3, [r7, #23] //alignedAddr = (uint32_t) buff & ~0x1F; //SCB_InvalidateDCache_by_Addr((uint32_t *) alignedAddr, count*BLOCKSIZE + ((uint32_t)buff - alignedAddr)); break; 80bfb90: e008 b.n 80bfba4 while((HAL_GetTick() - timeout) < MY_SD_TIMEOUT) 80bfb92: f7f3 fb51 bl 80b3238 80bfb96: 4602 mov r2, r0 80bfb98: 693b ldr r3, [r7, #16] 80bfb9a: 1ad2 subs r2, r2, r3 80bfb9c: 4b04 ldr r3, [pc, #16] ; (80bfbb0 ) 80bfb9e: 681b ldr r3, [r3, #0] 80bfba0: 429a cmp r2, r3 80bfba2: d3ee bcc.n 80bfb82 } } } } return res; 80bfba4: 7dfb ldrb r3, [r7, #23] } 80bfba6: 4618 mov r0, r3 80bfba8: 3718 adds r7, #24 80bfbaa: 46bd mov sp, r7 80bfbac: bd80 pop {r7, pc} 80bfbae: bf00 nop 80bfbb0: 2002169c .word 0x2002169c 80bfbb4: 200216a0 .word 0x200216a0 080bfbb8 : * @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) { 80bfbb8: b580 push {r7, lr} 80bfbba: b08c sub sp, #48 ; 0x30 80bfbbc: af00 add r7, sp, #0 80bfbbe: 4603 mov r3, r0 80bfbc0: 603a str r2, [r7, #0] 80bfbc2: 71fb strb r3, [r7, #7] 80bfbc4: 460b mov r3, r1 80bfbc6: 71bb strb r3, [r7, #6] DRESULT res = RES_ERROR; 80bfbc8: 2301 movs r3, #1 80bfbca: f887 302f strb.w r3, [r7, #47] ; 0x2f BSP_SD_CardInfo CardInfo; if (Stat & STA_NOINIT) return RES_NOTRDY; 80bfbce: 4b25 ldr r3, [pc, #148] ; (80bfc64 ) 80bfbd0: 781b ldrb r3, [r3, #0] 80bfbd2: b2db uxtb r3, r3 80bfbd4: f003 0301 and.w r3, r3, #1 80bfbd8: 2b00 cmp r3, #0 80bfbda: d001 beq.n 80bfbe0 80bfbdc: 2303 movs r3, #3 80bfbde: e03c b.n 80bfc5a switch (cmd) 80bfbe0: 79bb ldrb r3, [r7, #6] 80bfbe2: 2b03 cmp r3, #3 80bfbe4: d834 bhi.n 80bfc50 80bfbe6: a201 add r2, pc, #4 ; (adr r2, 80bfbec ) 80bfbe8: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80bfbec: 080bfbfd .word 0x080bfbfd 80bfbf0: 080bfc05 .word 0x080bfc05 80bfbf4: 080bfc1d .word 0x080bfc1d 80bfbf8: 080bfc37 .word 0x080bfc37 { /* Make sure that no pending write process */ case CTRL_SYNC : res = RES_OK; 80bfbfc: 2300 movs r3, #0 80bfbfe: f887 302f strb.w r3, [r7, #47] ; 0x2f break; 80bfc02: e028 b.n 80bfc56 /* Get number of sectors on the disk (DWORD) */ case GET_SECTOR_COUNT : BSP_SD_GetCardInfo(&CardInfo); 80bfc04: f107 030c add.w r3, r7, #12 80bfc08: 4618 mov r0, r3 80bfc0a: f7ff fe27 bl 80bf85c *(DWORD*)buff = CardInfo.LogBlockNbr; 80bfc0e: 6a7a ldr r2, [r7, #36] ; 0x24 80bfc10: 683b ldr r3, [r7, #0] 80bfc12: 601a str r2, [r3, #0] res = RES_OK; 80bfc14: 2300 movs r3, #0 80bfc16: f887 302f strb.w r3, [r7, #47] ; 0x2f break; 80bfc1a: e01c b.n 80bfc56 /* Get R/W sector size (WORD) */ case GET_SECTOR_SIZE : BSP_SD_GetCardInfo(&CardInfo); 80bfc1c: f107 030c add.w r3, r7, #12 80bfc20: 4618 mov r0, r3 80bfc22: f7ff fe1b bl 80bf85c *(WORD*)buff = CardInfo.LogBlockSize; 80bfc26: 6abb ldr r3, [r7, #40] ; 0x28 80bfc28: b29a uxth r2, r3 80bfc2a: 683b ldr r3, [r7, #0] 80bfc2c: 801a strh r2, [r3, #0] res = RES_OK; 80bfc2e: 2300 movs r3, #0 80bfc30: f887 302f strb.w r3, [r7, #47] ; 0x2f break; 80bfc34: e00f b.n 80bfc56 /* Get erase block size in unit of sector (DWORD) */ case GET_BLOCK_SIZE : BSP_SD_GetCardInfo(&CardInfo); 80bfc36: f107 030c add.w r3, r7, #12 80bfc3a: 4618 mov r0, r3 80bfc3c: f7ff fe0e bl 80bf85c *(DWORD*)buff = CardInfo.LogBlockSize / SD_DEFAULT_BLOCK_SIZE; 80bfc40: 6abb ldr r3, [r7, #40] ; 0x28 80bfc42: 0a5a lsrs r2, r3, #9 80bfc44: 683b ldr r3, [r7, #0] 80bfc46: 601a str r2, [r3, #0] res = RES_OK; 80bfc48: 2300 movs r3, #0 80bfc4a: f887 302f strb.w r3, [r7, #47] ; 0x2f break; 80bfc4e: e002 b.n 80bfc56 default: res = RES_PARERR; 80bfc50: 2304 movs r3, #4 80bfc52: f887 302f strb.w r3, [r7, #47] ; 0x2f } return res; 80bfc56: f897 302f ldrb.w r3, [r7, #47] ; 0x2f } 80bfc5a: 4618 mov r0, r3 80bfc5c: 3730 adds r7, #48 ; 0x30 80bfc5e: 46bd mov sp, r7 80bfc60: bd80 pop {r7, pc} 80bfc62: bf00 nop 80bfc64: 200209d9 .word 0x200209d9 080bfc68 : prototype =============================================================================== */ //void BSP_SD_WriteCpltCallback(uint32_t SdCard) void BSP_SD_WriteCpltCallback(void) { 80bfc68: b480 push {r7} 80bfc6a: af00 add r7, sp, #0 WriteStatus = 1; 80bfc6c: 4b03 ldr r3, [pc, #12] ; (80bfc7c ) 80bfc6e: 2201 movs r2, #1 80bfc70: 601a str r2, [r3, #0] } 80bfc72: bf00 nop 80bfc74: 46bd mov sp, r7 80bfc76: f85d 7b04 ldr.w r7, [sp], #4 80bfc7a: 4770 bx lr 80bfc7c: 200216a0 .word 0x200216a0 080bfc80 : prototype =============================================================================== */ //void BSP_SD_ReadCpltCallback(uint32_t SdCard) void BSP_SD_ReadCpltCallback(void) { 80bfc80: b480 push {r7} 80bfc82: af00 add r7, sp, #0 ReadStatus = 1; 80bfc84: 4b03 ldr r3, [pc, #12] ; (80bfc94 ) 80bfc86: 2201 movs r2, #1 80bfc88: 601a str r2, [r3, #0] } 80bfc8a: bf00 nop 80bfc8c: 46bd mov sp, r7 80bfc8e: f85d 7b04 ldr.w r7, [sp], #4 80bfc92: 4770 bx lr 80bfc94: 200216a4 .word 0x200216a4 080bfc98 : * @param pdev: device instance * @param cfgidx: configuration index * @retval status */ uint8_t USBD_MSC_Init(USBD_HandleTypeDef *pdev, uint8_t cfgidx) { 80bfc98: b580 push {r7, lr} 80bfc9a: b084 sub sp, #16 80bfc9c: af00 add r7, sp, #0 80bfc9e: 6078 str r0, [r7, #4] 80bfca0: 460b mov r3, r1 80bfca2: 70fb strb r3, [r7, #3] UNUSED(cfgidx); USBD_MSC_BOT_HandleTypeDef *hmsc; hmsc = USBD_malloc(sizeof(USBD_MSC_BOT_HandleTypeDef)); 80bfca4: f44f 701d mov.w r0, #628 ; 0x274 80bfca8: f00d f9a4 bl 80ccff4 80bfcac: 4603 mov r3, r0 80bfcae: 60fb str r3, [r7, #12] if (hmsc == NULL) 80bfcb0: 68fb ldr r3, [r7, #12] 80bfcb2: 2b00 cmp r3, #0 80bfcb4: d105 bne.n 80bfcc2 { pdev->pClassData = NULL; 80bfcb6: 687b ldr r3, [r7, #4] 80bfcb8: 2200 movs r2, #0 80bfcba: f8c3 22bc str.w r2, [r3, #700] ; 0x2bc return (uint8_t)USBD_EMEM; 80bfcbe: 2302 movs r3, #2 80bfcc0: e034 b.n 80bfd2c } pdev->pClassData = (void *)hmsc; 80bfcc2: 687b ldr r3, [r7, #4] 80bfcc4: 68fa ldr r2, [r7, #12] 80bfcc6: f8c3 22bc str.w r2, [r3, #700] ; 0x2bc if (pdev->dev_speed == USBD_SPEED_HIGH) 80bfcca: 687b ldr r3, [r7, #4] 80bfccc: 7c1b ldrb r3, [r3, #16] 80bfcce: 2b00 cmp r3, #0 80bfcd0: d115 bne.n 80bfcfe { /* Open EP OUT */ (void)USBD_LL_OpenEP(pdev, MSC_EPOUT_ADDR, USBD_EP_TYPE_BULK, MSC_MAX_HS_PACKET); 80bfcd2: f44f 7300 mov.w r3, #512 ; 0x200 80bfcd6: 2202 movs r2, #2 80bfcd8: 2101 movs r1, #1 80bfcda: 6878 ldr r0, [r7, #4] 80bfcdc: f009 fe23 bl 80c9926 pdev->ep_out[MSC_EPOUT_ADDR & 0xFU].is_used = 1U; 80bfce0: 687b ldr r3, [r7, #4] 80bfce2: 2201 movs r2, #1 80bfce4: 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); 80bfce8: f44f 7300 mov.w r3, #512 ; 0x200 80bfcec: 2202 movs r2, #2 80bfcee: 2181 movs r1, #129 ; 0x81 80bfcf0: 6878 ldr r0, [r7, #4] 80bfcf2: f009 fe18 bl 80c9926 pdev->ep_in[MSC_EPIN_ADDR & 0xFU].is_used = 1U; 80bfcf6: 687b ldr r3, [r7, #4] 80bfcf8: 2201 movs r2, #1 80bfcfa: 871a strh r2, [r3, #56] ; 0x38 80bfcfc: e012 b.n 80bfd24 } else { /* Open EP OUT */ (void)USBD_LL_OpenEP(pdev, MSC_EPOUT_ADDR, USBD_EP_TYPE_BULK, MSC_MAX_FS_PACKET); 80bfcfe: 2340 movs r3, #64 ; 0x40 80bfd00: 2202 movs r2, #2 80bfd02: 2101 movs r1, #1 80bfd04: 6878 ldr r0, [r7, #4] 80bfd06: f009 fe0e bl 80c9926 pdev->ep_out[MSC_EPOUT_ADDR & 0xFU].is_used = 1U; 80bfd0a: 687b ldr r3, [r7, #4] 80bfd0c: 2201 movs r2, #1 80bfd0e: 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); 80bfd12: 2340 movs r3, #64 ; 0x40 80bfd14: 2202 movs r2, #2 80bfd16: 2181 movs r1, #129 ; 0x81 80bfd18: 6878 ldr r0, [r7, #4] 80bfd1a: f009 fe04 bl 80c9926 pdev->ep_in[MSC_EPIN_ADDR & 0xFU].is_used = 1U; 80bfd1e: 687b ldr r3, [r7, #4] 80bfd20: 2201 movs r2, #1 80bfd22: 871a strh r2, [r3, #56] ; 0x38 } /* Init the BOT layer */ MSC_BOT_Init(pdev); 80bfd24: 6878 ldr r0, [r7, #4] 80bfd26: f000 f98e bl 80c0046 return (uint8_t)USBD_OK; 80bfd2a: 2300 movs r3, #0 } 80bfd2c: 4618 mov r0, r3 80bfd2e: 3710 adds r7, #16 80bfd30: 46bd mov sp, r7 80bfd32: bd80 pop {r7, pc} 080bfd34 : * @param pdev: device instance * @param cfgidx: configuration index * @retval status */ uint8_t USBD_MSC_DeInit(USBD_HandleTypeDef *pdev, uint8_t cfgidx) { 80bfd34: b580 push {r7, lr} 80bfd36: b082 sub sp, #8 80bfd38: af00 add r7, sp, #0 80bfd3a: 6078 str r0, [r7, #4] 80bfd3c: 460b mov r3, r1 80bfd3e: 70fb strb r3, [r7, #3] UNUSED(cfgidx); /* Close MSC EPs */ (void)USBD_LL_CloseEP(pdev, MSC_EPOUT_ADDR); 80bfd40: 2101 movs r1, #1 80bfd42: 6878 ldr r0, [r7, #4] 80bfd44: f009 fe15 bl 80c9972 pdev->ep_out[MSC_EPOUT_ADDR & 0xFU].is_used = 0U; 80bfd48: 687b ldr r3, [r7, #4] 80bfd4a: 2200 movs r2, #0 80bfd4c: f8a3 2178 strh.w r2, [r3, #376] ; 0x178 /* Close EP IN */ (void)USBD_LL_CloseEP(pdev, MSC_EPIN_ADDR); 80bfd50: 2181 movs r1, #129 ; 0x81 80bfd52: 6878 ldr r0, [r7, #4] 80bfd54: f009 fe0d bl 80c9972 pdev->ep_in[MSC_EPIN_ADDR & 0xFU].is_used = 0U; 80bfd58: 687b ldr r3, [r7, #4] 80bfd5a: 2200 movs r2, #0 80bfd5c: 871a strh r2, [r3, #56] ; 0x38 /* De-Init the BOT layer */ MSC_BOT_DeInit(pdev); 80bfd5e: 6878 ldr r0, [r7, #4] 80bfd60: f000 f9c7 bl 80c00f2 /* Free MSC Class Resources */ if (pdev->pClassData != NULL) 80bfd64: 687b ldr r3, [r7, #4] 80bfd66: f8d3 32bc ldr.w r3, [r3, #700] ; 0x2bc 80bfd6a: 2b00 cmp r3, #0 80bfd6c: d009 beq.n 80bfd82 { (void)USBD_free(pdev->pClassData); 80bfd6e: 687b ldr r3, [r7, #4] 80bfd70: f8d3 32bc ldr.w r3, [r3, #700] ; 0x2bc 80bfd74: 4618 mov r0, r3 80bfd76: f00d f945 bl 80cd004 pdev->pClassData = NULL; 80bfd7a: 687b ldr r3, [r7, #4] 80bfd7c: 2200 movs r2, #0 80bfd7e: f8c3 22bc str.w r2, [r3, #700] ; 0x2bc } return (uint8_t)USBD_OK; 80bfd82: 2300 movs r3, #0 } 80bfd84: 4618 mov r0, r3 80bfd86: 3708 adds r7, #8 80bfd88: 46bd mov sp, r7 80bfd8a: bd80 pop {r7, pc} 080bfd8c : * @param pdev: device instance * @param req: USB request * @retval status */ uint8_t USBD_MSC_Setup(USBD_HandleTypeDef *pdev, USBD_SetupReqTypedef *req) { 80bfd8c: b580 push {r7, lr} 80bfd8e: b086 sub sp, #24 80bfd90: af00 add r7, sp, #0 80bfd92: 6078 str r0, [r7, #4] 80bfd94: 6039 str r1, [r7, #0] USBD_MSC_BOT_HandleTypeDef *hmsc = (USBD_MSC_BOT_HandleTypeDef *)pdev->pClassData; 80bfd96: 687b ldr r3, [r7, #4] 80bfd98: f8d3 32bc ldr.w r3, [r3, #700] ; 0x2bc 80bfd9c: 613b str r3, [r7, #16] USBD_StatusTypeDef ret = USBD_OK; 80bfd9e: 2300 movs r3, #0 80bfda0: 75fb strb r3, [r7, #23] uint16_t status_info = 0U; 80bfda2: 2300 movs r3, #0 80bfda4: 81fb strh r3, [r7, #14] switch (req->bmRequest & USB_REQ_TYPE_MASK) 80bfda6: 683b ldr r3, [r7, #0] 80bfda8: 781b ldrb r3, [r3, #0] 80bfdaa: f003 0360 and.w r3, r3, #96 ; 0x60 80bfdae: 2b00 cmp r3, #0 80bfdb0: d04d beq.n 80bfe4e 80bfdb2: 2b20 cmp r3, #32 80bfdb4: f040 80c6 bne.w 80bff44 { /* Class request */ case USB_REQ_TYPE_CLASS: switch (req->bRequest) 80bfdb8: 683b ldr r3, [r7, #0] 80bfdba: 785b ldrb r3, [r3, #1] 80bfdbc: 2bfe cmp r3, #254 ; 0xfe 80bfdbe: d002 beq.n 80bfdc6 80bfdc0: 2bff cmp r3, #255 ; 0xff 80bfdc2: d024 beq.n 80bfe0e 80bfdc4: e03b b.n 80bfe3e { case BOT_GET_MAX_LUN: if ((req->wValue == 0U) && (req->wLength == 1U) && 80bfdc6: 683b ldr r3, [r7, #0] 80bfdc8: 885b ldrh r3, [r3, #2] 80bfdca: 2b00 cmp r3, #0 80bfdcc: d118 bne.n 80bfe00 80bfdce: 683b ldr r3, [r7, #0] 80bfdd0: 88db ldrh r3, [r3, #6] 80bfdd2: 2b01 cmp r3, #1 80bfdd4: d114 bne.n 80bfe00 ((req->bmRequest & 0x80U) == 0x80U)) 80bfdd6: 683b ldr r3, [r7, #0] 80bfdd8: 781b ldrb r3, [r3, #0] 80bfdda: b25b sxtb r3, r3 if ((req->wValue == 0U) && (req->wLength == 1U) && 80bfddc: 2b00 cmp r3, #0 80bfdde: da0f bge.n 80bfe00 { hmsc->max_lun = (uint32_t)((USBD_StorageTypeDef *)pdev->pUserData)->GetMaxLun(); 80bfde0: 687b ldr r3, [r7, #4] 80bfde2: f8d3 32c0 ldr.w r3, [r3, #704] ; 0x2c0 80bfde6: 699b ldr r3, [r3, #24] 80bfde8: 4798 blx r3 80bfdea: 4603 mov r3, r0 80bfdec: 461a mov r2, r3 80bfdee: 693b ldr r3, [r7, #16] 80bfdf0: 601a str r2, [r3, #0] (void)USBD_CtlSendData(pdev, (uint8_t *)&hmsc->max_lun, 1U); 80bfdf2: 693b ldr r3, [r7, #16] 80bfdf4: 2201 movs r2, #1 80bfdf6: 4619 mov r1, r3 80bfdf8: 6878 ldr r0, [r7, #4] 80bfdfa: f002 fc82 bl 80c2702 else { USBD_CtlError(pdev, req); ret = USBD_FAIL; } break; 80bfdfe: e025 b.n 80bfe4c USBD_CtlError(pdev, req); 80bfe00: 6839 ldr r1, [r7, #0] 80bfe02: 6878 ldr r0, [r7, #4] 80bfe04: f002 fc0c bl 80c2620 ret = USBD_FAIL; 80bfe08: 2303 movs r3, #3 80bfe0a: 75fb strb r3, [r7, #23] break; 80bfe0c: e01e b.n 80bfe4c case BOT_RESET : if ((req->wValue == 0U) && (req->wLength == 0U) && 80bfe0e: 683b ldr r3, [r7, #0] 80bfe10: 885b ldrh r3, [r3, #2] 80bfe12: 2b00 cmp r3, #0 80bfe14: d10c bne.n 80bfe30 80bfe16: 683b ldr r3, [r7, #0] 80bfe18: 88db ldrh r3, [r3, #6] 80bfe1a: 2b00 cmp r3, #0 80bfe1c: d108 bne.n 80bfe30 ((req->bmRequest & 0x80U) != 0x80U)) 80bfe1e: 683b ldr r3, [r7, #0] 80bfe20: 781b ldrb r3, [r3, #0] 80bfe22: b25b sxtb r3, r3 if ((req->wValue == 0U) && (req->wLength == 0U) && 80bfe24: 2b00 cmp r3, #0 80bfe26: db03 blt.n 80bfe30 { MSC_BOT_Reset(pdev); 80bfe28: 6878 ldr r0, [r7, #4] 80bfe2a: f000 f940 bl 80c00ae else { USBD_CtlError(pdev, req); ret = USBD_FAIL; } break; 80bfe2e: e00d b.n 80bfe4c USBD_CtlError(pdev, req); 80bfe30: 6839 ldr r1, [r7, #0] 80bfe32: 6878 ldr r0, [r7, #4] 80bfe34: f002 fbf4 bl 80c2620 ret = USBD_FAIL; 80bfe38: 2303 movs r3, #3 80bfe3a: 75fb strb r3, [r7, #23] break; 80bfe3c: e006 b.n 80bfe4c default: USBD_CtlError(pdev, req); 80bfe3e: 6839 ldr r1, [r7, #0] 80bfe40: 6878 ldr r0, [r7, #4] 80bfe42: f002 fbed bl 80c2620 ret = USBD_FAIL; 80bfe46: 2303 movs r3, #3 80bfe48: 75fb strb r3, [r7, #23] break; 80bfe4a: bf00 nop } break; 80bfe4c: e081 b.n 80bff52 /* Interface & Endpoint request */ case USB_REQ_TYPE_STANDARD: switch (req->bRequest) 80bfe4e: 683b ldr r3, [r7, #0] 80bfe50: 785b ldrb r3, [r3, #1] 80bfe52: 2b0b cmp r3, #11 80bfe54: d86d bhi.n 80bff32 80bfe56: a201 add r2, pc, #4 ; (adr r2, 80bfe5c ) 80bfe58: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80bfe5c: 080bfe8d .word 0x080bfe8d 80bfe60: 080bff03 .word 0x080bff03 80bfe64: 080bff33 .word 0x080bff33 80bfe68: 080bff33 .word 0x080bff33 80bfe6c: 080bff33 .word 0x080bff33 80bfe70: 080bff33 .word 0x080bff33 80bfe74: 080bff33 .word 0x080bff33 80bfe78: 080bff33 .word 0x080bff33 80bfe7c: 080bff33 .word 0x080bff33 80bfe80: 080bff33 .word 0x080bff33 80bfe84: 080bfeb5 .word 0x080bfeb5 80bfe88: 080bfedd .word 0x080bfedd { case USB_REQ_GET_STATUS: if (pdev->dev_state == USBD_STATE_CONFIGURED) 80bfe8c: 687b ldr r3, [r7, #4] 80bfe8e: f893 329c ldrb.w r3, [r3, #668] ; 0x29c 80bfe92: 2b03 cmp r3, #3 80bfe94: d107 bne.n 80bfea6 { (void)USBD_CtlSendData(pdev, (uint8_t *)&status_info, 2U); 80bfe96: f107 030e add.w r3, r7, #14 80bfe9a: 2202 movs r2, #2 80bfe9c: 4619 mov r1, r3 80bfe9e: 6878 ldr r0, [r7, #4] 80bfea0: f002 fc2f bl 80c2702 else { USBD_CtlError(pdev, req); ret = USBD_FAIL; } break; 80bfea4: e04d b.n 80bff42 USBD_CtlError(pdev, req); 80bfea6: 6839 ldr r1, [r7, #0] 80bfea8: 6878 ldr r0, [r7, #4] 80bfeaa: f002 fbb9 bl 80c2620 ret = USBD_FAIL; 80bfeae: 2303 movs r3, #3 80bfeb0: 75fb strb r3, [r7, #23] break; 80bfeb2: e046 b.n 80bff42 case USB_REQ_GET_INTERFACE: if (pdev->dev_state == USBD_STATE_CONFIGURED) 80bfeb4: 687b ldr r3, [r7, #4] 80bfeb6: f893 329c ldrb.w r3, [r3, #668] ; 0x29c 80bfeba: 2b03 cmp r3, #3 80bfebc: d107 bne.n 80bfece { (void)USBD_CtlSendData(pdev, (uint8_t *)&hmsc->interface, 1U); 80bfebe: 693b ldr r3, [r7, #16] 80bfec0: 3304 adds r3, #4 80bfec2: 2201 movs r2, #1 80bfec4: 4619 mov r1, r3 80bfec6: 6878 ldr r0, [r7, #4] 80bfec8: f002 fc1b bl 80c2702 else { USBD_CtlError(pdev, req); ret = USBD_FAIL; } break; 80bfecc: e039 b.n 80bff42 USBD_CtlError(pdev, req); 80bfece: 6839 ldr r1, [r7, #0] 80bfed0: 6878 ldr r0, [r7, #4] 80bfed2: f002 fba5 bl 80c2620 ret = USBD_FAIL; 80bfed6: 2303 movs r3, #3 80bfed8: 75fb strb r3, [r7, #23] break; 80bfeda: e032 b.n 80bff42 case USB_REQ_SET_INTERFACE: if (pdev->dev_state == USBD_STATE_CONFIGURED) 80bfedc: 687b ldr r3, [r7, #4] 80bfede: f893 329c ldrb.w r3, [r3, #668] ; 0x29c 80bfee2: 2b03 cmp r3, #3 80bfee4: d106 bne.n 80bfef4 { hmsc->interface = (uint8_t)(req->wValue); 80bfee6: 683b ldr r3, [r7, #0] 80bfee8: 885b ldrh r3, [r3, #2] 80bfeea: b2db uxtb r3, r3 80bfeec: 461a mov r2, r3 80bfeee: 693b ldr r3, [r7, #16] 80bfef0: 605a str r2, [r3, #4] else { USBD_CtlError(pdev, req); ret = USBD_FAIL; } break; 80bfef2: e026 b.n 80bff42 USBD_CtlError(pdev, req); 80bfef4: 6839 ldr r1, [r7, #0] 80bfef6: 6878 ldr r0, [r7, #4] 80bfef8: f002 fb92 bl 80c2620 ret = USBD_FAIL; 80bfefc: 2303 movs r3, #3 80bfefe: 75fb strb r3, [r7, #23] break; 80bff00: e01f b.n 80bff42 case USB_REQ_CLEAR_FEATURE: if (pdev->dev_state == USBD_STATE_CONFIGURED) 80bff02: 687b ldr r3, [r7, #4] 80bff04: f893 329c ldrb.w r3, [r3, #668] ; 0x29c 80bff08: 2b03 cmp r3, #3 80bff0a: d119 bne.n 80bff40 { if (req->wValue == USB_FEATURE_EP_HALT) 80bff0c: 683b ldr r3, [r7, #0] 80bff0e: 885b ldrh r3, [r3, #2] 80bff10: 2b00 cmp r3, #0 80bff12: d115 bne.n 80bff40 { /* Flush the FIFO */ (void)USBD_LL_FlushEP(pdev, (uint8_t)req->wIndex); 80bff14: 683b ldr r3, [r7, #0] 80bff16: 889b ldrh r3, [r3, #4] 80bff18: b2db uxtb r3, r3 80bff1a: 4619 mov r1, r3 80bff1c: 6878 ldr r0, [r7, #4] 80bff1e: f009 fd47 bl 80c99b0 /* Handle BOT error */ MSC_BOT_CplClrFeature(pdev, (uint8_t)req->wIndex); 80bff22: 683b ldr r3, [r7, #0] 80bff24: 889b ldrh r3, [r3, #4] 80bff26: b2db uxtb r3, r3 80bff28: 4619 mov r1, r3 80bff2a: 6878 ldr r0, [r7, #4] 80bff2c: f000 fa5a bl 80c03e4 } } break; 80bff30: e006 b.n 80bff40 default: USBD_CtlError(pdev, req); 80bff32: 6839 ldr r1, [r7, #0] 80bff34: 6878 ldr r0, [r7, #4] 80bff36: f002 fb73 bl 80c2620 ret = USBD_FAIL; 80bff3a: 2303 movs r3, #3 80bff3c: 75fb strb r3, [r7, #23] break; 80bff3e: e000 b.n 80bff42 break; 80bff40: bf00 nop } break; 80bff42: e006 b.n 80bff52 default: USBD_CtlError(pdev, req); 80bff44: 6839 ldr r1, [r7, #0] 80bff46: 6878 ldr r0, [r7, #4] 80bff48: f002 fb6a bl 80c2620 ret = USBD_FAIL; 80bff4c: 2303 movs r3, #3 80bff4e: 75fb strb r3, [r7, #23] break; 80bff50: bf00 nop } return (uint8_t)ret; 80bff52: 7dfb ldrb r3, [r7, #23] } 80bff54: 4618 mov r0, r3 80bff56: 3718 adds r7, #24 80bff58: 46bd mov sp, r7 80bff5a: bd80 pop {r7, pc} 080bff5c : * @param pdev: device instance * @param epnum: endpoint index * @retval status */ uint8_t USBD_MSC_DataIn(USBD_HandleTypeDef *pdev, uint8_t epnum) { 80bff5c: b580 push {r7, lr} 80bff5e: b082 sub sp, #8 80bff60: af00 add r7, sp, #0 80bff62: 6078 str r0, [r7, #4] 80bff64: 460b mov r3, r1 80bff66: 70fb strb r3, [r7, #3] MSC_BOT_DataIn(pdev, epnum); 80bff68: 78fb ldrb r3, [r7, #3] 80bff6a: 4619 mov r1, r3 80bff6c: 6878 ldr r0, [r7, #4] 80bff6e: f000 f8d1 bl 80c0114 return (uint8_t)USBD_OK; 80bff72: 2300 movs r3, #0 } 80bff74: 4618 mov r0, r3 80bff76: 3708 adds r7, #8 80bff78: 46bd mov sp, r7 80bff7a: bd80 pop {r7, pc} 080bff7c : * @param pdev: device instance * @param epnum: endpoint index * @retval status */ uint8_t USBD_MSC_DataOut(USBD_HandleTypeDef *pdev, uint8_t epnum) { 80bff7c: b580 push {r7, lr} 80bff7e: b082 sub sp, #8 80bff80: af00 add r7, sp, #0 80bff82: 6078 str r0, [r7, #4] 80bff84: 460b mov r3, r1 80bff86: 70fb strb r3, [r7, #3] MSC_BOT_DataOut(pdev, epnum); 80bff88: 78fb ldrb r3, [r7, #3] 80bff8a: 4619 mov r1, r3 80bff8c: 6878 ldr r0, [r7, #4] 80bff8e: f000 f8f2 bl 80c0176 return (uint8_t)USBD_OK; 80bff92: 2300 movs r3, #0 } 80bff94: 4618 mov r0, r3 80bff96: 3708 adds r7, #8 80bff98: 46bd mov sp, r7 80bff9a: bd80 pop {r7, pc} 080bff9c : * return configuration descriptor * @param length : pointer data length * @retval pointer to descriptor buffer */ uint8_t *USBD_MSC_GetHSCfgDesc(uint16_t *length) { 80bff9c: b480 push {r7} 80bff9e: b083 sub sp, #12 80bffa0: af00 add r7, sp, #0 80bffa2: 6078 str r0, [r7, #4] *length = (uint16_t)sizeof(USBD_MSC_CfgHSDesc); 80bffa4: 687b ldr r3, [r7, #4] 80bffa6: 2220 movs r2, #32 80bffa8: 801a strh r2, [r3, #0] return USBD_MSC_CfgHSDesc; 80bffaa: 4b03 ldr r3, [pc, #12] ; (80bffb8 ) } 80bffac: 4618 mov r0, r3 80bffae: 370c adds r7, #12 80bffb0: 46bd mov sp, r7 80bffb2: f85d 7b04 ldr.w r7, [sp], #4 80bffb6: 4770 bx lr 80bffb8: 20020a14 .word 0x20020a14 080bffbc : * return configuration descriptor * @param length : pointer data length * @retval pointer to descriptor buffer */ uint8_t *USBD_MSC_GetFSCfgDesc(uint16_t *length) { 80bffbc: b480 push {r7} 80bffbe: b083 sub sp, #12 80bffc0: af00 add r7, sp, #0 80bffc2: 6078 str r0, [r7, #4] *length = (uint16_t)sizeof(USBD_MSC_CfgFSDesc); 80bffc4: 687b ldr r3, [r7, #4] 80bffc6: 2220 movs r2, #32 80bffc8: 801a strh r2, [r3, #0] return USBD_MSC_CfgFSDesc; 80bffca: 4b03 ldr r3, [pc, #12] ; (80bffd8 ) } 80bffcc: 4618 mov r0, r3 80bffce: 370c adds r7, #12 80bffd0: 46bd mov sp, r7 80bffd2: f85d 7b04 ldr.w r7, [sp], #4 80bffd6: 4770 bx lr 80bffd8: 20020a34 .word 0x20020a34 080bffdc : * return other speed configuration descriptor * @param length : pointer data length * @retval pointer to descriptor buffer */ uint8_t *USBD_MSC_GetOtherSpeedCfgDesc(uint16_t *length) { 80bffdc: b480 push {r7} 80bffde: b083 sub sp, #12 80bffe0: af00 add r7, sp, #0 80bffe2: 6078 str r0, [r7, #4] *length = (uint16_t)sizeof(USBD_MSC_OtherSpeedCfgDesc); 80bffe4: 687b ldr r3, [r7, #4] 80bffe6: 2220 movs r2, #32 80bffe8: 801a strh r2, [r3, #0] return USBD_MSC_OtherSpeedCfgDesc; 80bffea: 4b03 ldr r3, [pc, #12] ; (80bfff8 ) } 80bffec: 4618 mov r0, r3 80bffee: 370c adds r7, #12 80bfff0: 46bd mov sp, r7 80bfff2: f85d 7b04 ldr.w r7, [sp], #4 80bfff6: 4770 bx lr 80bfff8: 20020a54 .word 0x20020a54 080bfffc : * return Device Qualifier descriptor * @param length : pointer data length * @retval pointer to descriptor buffer */ uint8_t *USBD_MSC_GetDeviceQualifierDescriptor(uint16_t *length) { 80bfffc: b480 push {r7} 80bfffe: b083 sub sp, #12 80c0000: af00 add r7, sp, #0 80c0002: 6078 str r0, [r7, #4] *length = (uint16_t)sizeof(USBD_MSC_DeviceQualifierDesc); 80c0004: 687b ldr r3, [r7, #4] 80c0006: 220a movs r2, #10 80c0008: 801a strh r2, [r3, #0] return USBD_MSC_DeviceQualifierDesc; 80c000a: 4b03 ldr r3, [pc, #12] ; (80c0018 ) } 80c000c: 4618 mov r0, r3 80c000e: 370c adds r7, #12 80c0010: 46bd mov sp, r7 80c0012: f85d 7b04 ldr.w r7, [sp], #4 80c0016: 4770 bx lr 80c0018: 20020a74 .word 0x20020a74 080c001c : * @brief USBD_MSC_RegisterStorage * @param fops: storage callback * @retval status */ uint8_t USBD_MSC_RegisterStorage(USBD_HandleTypeDef *pdev, USBD_StorageTypeDef *fops) { 80c001c: b480 push {r7} 80c001e: b083 sub sp, #12 80c0020: af00 add r7, sp, #0 80c0022: 6078 str r0, [r7, #4] 80c0024: 6039 str r1, [r7, #0] if (fops == NULL) 80c0026: 683b ldr r3, [r7, #0] 80c0028: 2b00 cmp r3, #0 80c002a: d101 bne.n 80c0030 { return (uint8_t)USBD_FAIL; 80c002c: 2303 movs r3, #3 80c002e: e004 b.n 80c003a } pdev->pUserData = fops; 80c0030: 687b ldr r3, [r7, #4] 80c0032: 683a ldr r2, [r7, #0] 80c0034: f8c3 22c0 str.w r2, [r3, #704] ; 0x2c0 return (uint8_t)USBD_OK; 80c0038: 2300 movs r3, #0 } 80c003a: 4618 mov r0, r3 80c003c: 370c adds r7, #12 80c003e: 46bd mov sp, r7 80c0040: f85d 7b04 ldr.w r7, [sp], #4 80c0044: 4770 bx lr 080c0046 : * Initialize the BOT Process * @param pdev: device instance * @retval None */ void MSC_BOT_Init(USBD_HandleTypeDef *pdev) { 80c0046: b580 push {r7, lr} 80c0048: b084 sub sp, #16 80c004a: af00 add r7, sp, #0 80c004c: 6078 str r0, [r7, #4] USBD_MSC_BOT_HandleTypeDef *hmsc = (USBD_MSC_BOT_HandleTypeDef *)pdev->pClassData; 80c004e: 687b ldr r3, [r7, #4] 80c0050: f8d3 32bc ldr.w r3, [r3, #700] ; 0x2bc 80c0054: 60fb str r3, [r7, #12] hmsc->bot_state = USBD_BOT_IDLE; 80c0056: 68fb ldr r3, [r7, #12] 80c0058: 2200 movs r2, #0 80c005a: 721a strb r2, [r3, #8] hmsc->bot_status = USBD_BOT_STATUS_NORMAL; 80c005c: 68fb ldr r3, [r7, #12] 80c005e: 2200 movs r2, #0 80c0060: 725a strb r2, [r3, #9] hmsc->scsi_sense_tail = 0U; 80c0062: 68fb ldr r3, [r7, #12] 80c0064: 2200 movs r2, #0 80c0066: f883 2261 strb.w r2, [r3, #609] ; 0x261 hmsc->scsi_sense_head = 0U; 80c006a: 68fb ldr r3, [r7, #12] 80c006c: 2200 movs r2, #0 80c006e: f883 2260 strb.w r2, [r3, #608] ; 0x260 hmsc->scsi_medium_state = SCSI_MEDIUM_UNLOCKED; 80c0072: 68fb ldr r3, [r7, #12] 80c0074: 2200 movs r2, #0 80c0076: f883 2262 strb.w r2, [r3, #610] ; 0x262 ((USBD_StorageTypeDef *)pdev->pUserData)->Init(0U); 80c007a: 687b ldr r3, [r7, #4] 80c007c: f8d3 32c0 ldr.w r3, [r3, #704] ; 0x2c0 80c0080: 681b ldr r3, [r3, #0] 80c0082: 2000 movs r0, #0 80c0084: 4798 blx r3 (void)USBD_LL_FlushEP(pdev, MSC_EPOUT_ADDR); 80c0086: 2101 movs r1, #1 80c0088: 6878 ldr r0, [r7, #4] 80c008a: f009 fc91 bl 80c99b0 (void)USBD_LL_FlushEP(pdev, MSC_EPIN_ADDR); 80c008e: 2181 movs r1, #129 ; 0x81 80c0090: 6878 ldr r0, [r7, #4] 80c0092: f009 fc8d bl 80c99b0 /* Prapare EP to Receive First BOT Cmd */ (void)USBD_LL_PrepareReceive(pdev, MSC_EPOUT_ADDR, (uint8_t *)&hmsc->cbw, 80c0096: 68fb ldr r3, [r7, #12] 80c0098: f503 7204 add.w r2, r3, #528 ; 0x210 80c009c: 231f movs r3, #31 80c009e: 2101 movs r1, #1 80c00a0: 6878 ldr r0, [r7, #4] 80c00a2: f009 fd4e bl 80c9b42 USBD_BOT_CBW_LENGTH); } 80c00a6: bf00 nop 80c00a8: 3710 adds r7, #16 80c00aa: 46bd mov sp, r7 80c00ac: bd80 pop {r7, pc} 080c00ae : * Reset the BOT Machine * @param pdev: device instance * @retval None */ void MSC_BOT_Reset(USBD_HandleTypeDef *pdev) { 80c00ae: b580 push {r7, lr} 80c00b0: b084 sub sp, #16 80c00b2: af00 add r7, sp, #0 80c00b4: 6078 str r0, [r7, #4] USBD_MSC_BOT_HandleTypeDef *hmsc = (USBD_MSC_BOT_HandleTypeDef *)pdev->pClassData; 80c00b6: 687b ldr r3, [r7, #4] 80c00b8: f8d3 32bc ldr.w r3, [r3, #700] ; 0x2bc 80c00bc: 60fb str r3, [r7, #12] hmsc->bot_state = USBD_BOT_IDLE; 80c00be: 68fb ldr r3, [r7, #12] 80c00c0: 2200 movs r2, #0 80c00c2: 721a strb r2, [r3, #8] hmsc->bot_status = USBD_BOT_STATUS_RECOVERY; 80c00c4: 68fb ldr r3, [r7, #12] 80c00c6: 2201 movs r2, #1 80c00c8: 725a strb r2, [r3, #9] (void)USBD_LL_ClearStallEP(pdev, MSC_EPIN_ADDR); 80c00ca: 2181 movs r1, #129 ; 0x81 80c00cc: 6878 ldr r0, [r7, #4] 80c00ce: f009 fcad bl 80c9a2c (void)USBD_LL_ClearStallEP(pdev, MSC_EPOUT_ADDR); 80c00d2: 2101 movs r1, #1 80c00d4: 6878 ldr r0, [r7, #4] 80c00d6: f009 fca9 bl 80c9a2c /* Prapare EP to Receive First BOT Cmd */ (void)USBD_LL_PrepareReceive(pdev, MSC_EPOUT_ADDR, (uint8_t *)&hmsc->cbw, 80c00da: 68fb ldr r3, [r7, #12] 80c00dc: f503 7204 add.w r2, r3, #528 ; 0x210 80c00e0: 231f movs r3, #31 80c00e2: 2101 movs r1, #1 80c00e4: 6878 ldr r0, [r7, #4] 80c00e6: f009 fd2c bl 80c9b42 USBD_BOT_CBW_LENGTH); } 80c00ea: bf00 nop 80c00ec: 3710 adds r7, #16 80c00ee: 46bd mov sp, r7 80c00f0: bd80 pop {r7, pc} 080c00f2 : * Deinitialize the BOT Machine * @param pdev: device instance * @retval None */ void MSC_BOT_DeInit(USBD_HandleTypeDef *pdev) { 80c00f2: b480 push {r7} 80c00f4: b085 sub sp, #20 80c00f6: af00 add r7, sp, #0 80c00f8: 6078 str r0, [r7, #4] USBD_MSC_BOT_HandleTypeDef *hmsc = (USBD_MSC_BOT_HandleTypeDef *)pdev->pClassData; 80c00fa: 687b ldr r3, [r7, #4] 80c00fc: f8d3 32bc ldr.w r3, [r3, #700] ; 0x2bc 80c0100: 60fb str r3, [r7, #12] hmsc->bot_state = USBD_BOT_IDLE; 80c0102: 68fb ldr r3, [r7, #12] 80c0104: 2200 movs r2, #0 80c0106: 721a strb r2, [r3, #8] } 80c0108: bf00 nop 80c010a: 3714 adds r7, #20 80c010c: 46bd mov sp, r7 80c010e: f85d 7b04 ldr.w r7, [sp], #4 80c0112: 4770 bx lr 080c0114 : * @param pdev: device instance * @param epnum: endpoint index * @retval None */ void MSC_BOT_DataIn(USBD_HandleTypeDef *pdev, uint8_t epnum) { 80c0114: b580 push {r7, lr} 80c0116: b084 sub sp, #16 80c0118: af00 add r7, sp, #0 80c011a: 6078 str r0, [r7, #4] 80c011c: 460b mov r3, r1 80c011e: 70fb strb r3, [r7, #3] UNUSED(epnum); USBD_MSC_BOT_HandleTypeDef *hmsc = (USBD_MSC_BOT_HandleTypeDef *)pdev->pClassData; 80c0120: 687b ldr r3, [r7, #4] 80c0122: f8d3 32bc ldr.w r3, [r3, #700] ; 0x2bc 80c0126: 60fb str r3, [r7, #12] switch (hmsc->bot_state) 80c0128: 68fb ldr r3, [r7, #12] 80c012a: 7a1b ldrb r3, [r3, #8] 80c012c: 2b02 cmp r3, #2 80c012e: d004 beq.n 80c013a 80c0130: 2b02 cmp r3, #2 80c0132: db19 blt.n 80c0168 80c0134: 2b04 cmp r3, #4 80c0136: dc17 bgt.n 80c0168 80c0138: e011 b.n 80c015e { case USBD_BOT_DATA_IN: if (SCSI_ProcessCmd(pdev, hmsc->cbw.bLUN, &hmsc->cbw.CB[0]) < 0) 80c013a: 68fb ldr r3, [r7, #12] 80c013c: f893 121d ldrb.w r1, [r3, #541] ; 0x21d 80c0140: 68fb ldr r3, [r7, #12] 80c0142: f203 231f addw r3, r3, #543 ; 0x21f 80c0146: 461a mov r2, r3 80c0148: 6878 ldr r0, [r7, #4] 80c014a: f000 f973 bl 80c0434 80c014e: 4603 mov r3, r0 80c0150: 2b00 cmp r3, #0 80c0152: da0b bge.n 80c016c { MSC_BOT_SendCSW(pdev, USBD_CSW_CMD_FAILED); 80c0154: 2101 movs r1, #1 80c0156: 6878 ldr r0, [r7, #4] 80c0158: f000 f8ea bl 80c0330 } break; 80c015c: e006 b.n 80c016c case USBD_BOT_SEND_DATA: case USBD_BOT_LAST_DATA_IN: MSC_BOT_SendCSW(pdev, USBD_CSW_CMD_PASSED); 80c015e: 2100 movs r1, #0 80c0160: 6878 ldr r0, [r7, #4] 80c0162: f000 f8e5 bl 80c0330 break; 80c0166: e002 b.n 80c016e default: break; 80c0168: bf00 nop 80c016a: e000 b.n 80c016e break; 80c016c: bf00 nop } } 80c016e: bf00 nop 80c0170: 3710 adds r7, #16 80c0172: 46bd mov sp, r7 80c0174: bd80 pop {r7, pc} 080c0176 : * @param pdev: device instance * @param epnum: endpoint index * @retval None */ void MSC_BOT_DataOut(USBD_HandleTypeDef *pdev, uint8_t epnum) { 80c0176: b580 push {r7, lr} 80c0178: b084 sub sp, #16 80c017a: af00 add r7, sp, #0 80c017c: 6078 str r0, [r7, #4] 80c017e: 460b mov r3, r1 80c0180: 70fb strb r3, [r7, #3] UNUSED(epnum); USBD_MSC_BOT_HandleTypeDef *hmsc = (USBD_MSC_BOT_HandleTypeDef *)pdev->pClassData; 80c0182: 687b ldr r3, [r7, #4] 80c0184: f8d3 32bc ldr.w r3, [r3, #700] ; 0x2bc 80c0188: 60fb str r3, [r7, #12] switch (hmsc->bot_state) 80c018a: 68fb ldr r3, [r7, #12] 80c018c: 7a1b ldrb r3, [r3, #8] 80c018e: 2b00 cmp r3, #0 80c0190: d002 beq.n 80c0198 80c0192: 2b01 cmp r3, #1 80c0194: d004 beq.n 80c01a0 MSC_BOT_SendCSW(pdev, USBD_CSW_CMD_FAILED); } break; default: break; 80c0196: e015 b.n 80c01c4 MSC_BOT_CBW_Decode(pdev); 80c0198: 6878 ldr r0, [r7, #4] 80c019a: f000 f817 bl 80c01cc break; 80c019e: e011 b.n 80c01c4 if (SCSI_ProcessCmd(pdev, hmsc->cbw.bLUN, &hmsc->cbw.CB[0]) < 0) 80c01a0: 68fb ldr r3, [r7, #12] 80c01a2: f893 121d ldrb.w r1, [r3, #541] ; 0x21d 80c01a6: 68fb ldr r3, [r7, #12] 80c01a8: f203 231f addw r3, r3, #543 ; 0x21f 80c01ac: 461a mov r2, r3 80c01ae: 6878 ldr r0, [r7, #4] 80c01b0: f000 f940 bl 80c0434 80c01b4: 4603 mov r3, r0 80c01b6: 2b00 cmp r3, #0 80c01b8: da03 bge.n 80c01c2 MSC_BOT_SendCSW(pdev, USBD_CSW_CMD_FAILED); 80c01ba: 2101 movs r1, #1 80c01bc: 6878 ldr r0, [r7, #4] 80c01be: f000 f8b7 bl 80c0330 break; 80c01c2: bf00 nop } } 80c01c4: bf00 nop 80c01c6: 3710 adds r7, #16 80c01c8: 46bd mov sp, r7 80c01ca: bd80 pop {r7, pc} 080c01cc : * 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) { 80c01cc: b580 push {r7, lr} 80c01ce: b084 sub sp, #16 80c01d0: af00 add r7, sp, #0 80c01d2: 6078 str r0, [r7, #4] USBD_MSC_BOT_HandleTypeDef *hmsc = (USBD_MSC_BOT_HandleTypeDef *)pdev->pClassData; 80c01d4: 687b ldr r3, [r7, #4] 80c01d6: f8d3 32bc ldr.w r3, [r3, #700] ; 0x2bc 80c01da: 60fb str r3, [r7, #12] hmsc->csw.dTag = hmsc->cbw.dTag; 80c01dc: 68fb ldr r3, [r7, #12] 80c01de: f8d3 2214 ldr.w r2, [r3, #532] ; 0x214 80c01e2: 68fb ldr r3, [r7, #12] 80c01e4: f8c3 2234 str.w r2, [r3, #564] ; 0x234 hmsc->csw.dDataResidue = hmsc->cbw.dDataLength; 80c01e8: 68fb ldr r3, [r7, #12] 80c01ea: f8d3 2218 ldr.w r2, [r3, #536] ; 0x218 80c01ee: 68fb ldr r3, [r7, #12] 80c01f0: f8c3 2238 str.w r2, [r3, #568] ; 0x238 if ((USBD_LL_GetRxDataSize(pdev, MSC_EPOUT_ADDR) != USBD_BOT_CBW_LENGTH) || 80c01f4: 2101 movs r1, #1 80c01f6: 6878 ldr r0, [r7, #4] 80c01f8: f009 fcc4 bl 80c9b84 80c01fc: 4603 mov r3, r0 80c01fe: 2b1f cmp r3, #31 80c0200: d114 bne.n 80c022c (hmsc->cbw.dSignature != USBD_BOT_CBW_SIGNATURE) || 80c0202: 68fb ldr r3, [r7, #12] 80c0204: f8d3 3210 ldr.w r3, [r3, #528] ; 0x210 if ((USBD_LL_GetRxDataSize(pdev, MSC_EPOUT_ADDR) != USBD_BOT_CBW_LENGTH) || 80c0208: 4a32 ldr r2, [pc, #200] ; (80c02d4 ) 80c020a: 4293 cmp r3, r2 80c020c: d10e bne.n 80c022c (hmsc->cbw.bLUN > 1U) || (hmsc->cbw.bCBLength < 1U) || 80c020e: 68fb ldr r3, [r7, #12] 80c0210: f893 321d ldrb.w r3, [r3, #541] ; 0x21d (hmsc->cbw.dSignature != USBD_BOT_CBW_SIGNATURE) || 80c0214: 2b01 cmp r3, #1 80c0216: d809 bhi.n 80c022c (hmsc->cbw.bLUN > 1U) || (hmsc->cbw.bCBLength < 1U) || 80c0218: 68fb ldr r3, [r7, #12] 80c021a: f893 321e ldrb.w r3, [r3, #542] ; 0x21e 80c021e: 2b00 cmp r3, #0 80c0220: d004 beq.n 80c022c (hmsc->cbw.bCBLength > 16U)) 80c0222: 68fb ldr r3, [r7, #12] 80c0224: f893 321e ldrb.w r3, [r3, #542] ; 0x21e (hmsc->cbw.bLUN > 1U) || (hmsc->cbw.bCBLength < 1U) || 80c0228: 2b10 cmp r3, #16 80c022a: d90e bls.n 80c024a { SCSI_SenseCode(pdev, hmsc->cbw.bLUN, ILLEGAL_REQUEST, INVALID_CDB); 80c022c: 68fb ldr r3, [r7, #12] 80c022e: f893 121d ldrb.w r1, [r3, #541] ; 0x21d 80c0232: 2320 movs r3, #32 80c0234: 2205 movs r2, #5 80c0236: 6878 ldr r0, [r7, #4] 80c0238: f000 fcc9 bl 80c0bce hmsc->bot_status = USBD_BOT_STATUS_ERROR; 80c023c: 68fb ldr r3, [r7, #12] 80c023e: 2202 movs r2, #2 80c0240: 725a strb r2, [r3, #9] MSC_BOT_Abort(pdev); 80c0242: 6878 ldr r0, [r7, #4] 80c0244: f000 f8a0 bl 80c0388 80c0248: e041 b.n 80c02ce } else { if (SCSI_ProcessCmd(pdev, hmsc->cbw.bLUN, &hmsc->cbw.CB[0]) < 0) 80c024a: 68fb ldr r3, [r7, #12] 80c024c: f893 121d ldrb.w r1, [r3, #541] ; 0x21d 80c0250: 68fb ldr r3, [r7, #12] 80c0252: f203 231f addw r3, r3, #543 ; 0x21f 80c0256: 461a mov r2, r3 80c0258: 6878 ldr r0, [r7, #4] 80c025a: f000 f8eb bl 80c0434 80c025e: 4603 mov r3, r0 80c0260: 2b00 cmp r3, #0 80c0262: da0c bge.n 80c027e { if (hmsc->bot_state == USBD_BOT_NO_DATA) 80c0264: 68fb ldr r3, [r7, #12] 80c0266: 7a1b ldrb r3, [r3, #8] 80c0268: 2b05 cmp r3, #5 80c026a: d104 bne.n 80c0276 { MSC_BOT_SendCSW(pdev, USBD_CSW_CMD_FAILED); 80c026c: 2101 movs r1, #1 80c026e: 6878 ldr r0, [r7, #4] 80c0270: f000 f85e bl 80c0330 80c0274: e02b b.n 80c02ce } else { MSC_BOT_Abort(pdev); 80c0276: 6878 ldr r0, [r7, #4] 80c0278: f000 f886 bl 80c0388 80c027c: e027 b.n 80c02ce } } /* Burst xfer handled internally */ else if ((hmsc->bot_state != USBD_BOT_DATA_IN) && 80c027e: 68fb ldr r3, [r7, #12] 80c0280: 7a1b ldrb r3, [r3, #8] 80c0282: 2b02 cmp r3, #2 80c0284: d022 beq.n 80c02cc (hmsc->bot_state != USBD_BOT_DATA_OUT) && 80c0286: 68fb ldr r3, [r7, #12] 80c0288: 7a1b ldrb r3, [r3, #8] else if ((hmsc->bot_state != USBD_BOT_DATA_IN) && 80c028a: 2b01 cmp r3, #1 80c028c: d01e beq.n 80c02cc (hmsc->bot_state != USBD_BOT_LAST_DATA_IN)) 80c028e: 68fb ldr r3, [r7, #12] 80c0290: 7a1b ldrb r3, [r3, #8] (hmsc->bot_state != USBD_BOT_DATA_OUT) && 80c0292: 2b03 cmp r3, #3 80c0294: d01a beq.n 80c02cc { if (hmsc->bot_data_length > 0U) 80c0296: 68fb ldr r3, [r7, #12] 80c0298: 68db ldr r3, [r3, #12] 80c029a: 2b00 cmp r3, #0 80c029c: d009 beq.n 80c02b2 { MSC_BOT_SendData(pdev, hmsc->bot_data, hmsc->bot_data_length); 80c029e: 68fb ldr r3, [r7, #12] 80c02a0: f103 0110 add.w r1, r3, #16 80c02a4: 68fb ldr r3, [r7, #12] 80c02a6: 68db ldr r3, [r3, #12] 80c02a8: 461a mov r2, r3 80c02aa: 6878 ldr r0, [r7, #4] 80c02ac: f000 f814 bl 80c02d8 if (hmsc->bot_data_length > 0U) 80c02b0: e00d b.n 80c02ce } else if (hmsc->bot_data_length == 0U) 80c02b2: 68fb ldr r3, [r7, #12] 80c02b4: 68db ldr r3, [r3, #12] 80c02b6: 2b00 cmp r3, #0 80c02b8: d104 bne.n 80c02c4 { MSC_BOT_SendCSW(pdev, USBD_CSW_CMD_PASSED); 80c02ba: 2100 movs r1, #0 80c02bc: 6878 ldr r0, [r7, #4] 80c02be: f000 f837 bl 80c0330 if (hmsc->bot_data_length > 0U) 80c02c2: e004 b.n 80c02ce } else { MSC_BOT_Abort(pdev); 80c02c4: 6878 ldr r0, [r7, #4] 80c02c6: f000 f85f bl 80c0388 if (hmsc->bot_data_length > 0U) 80c02ca: e000 b.n 80c02ce } } else { return; 80c02cc: bf00 nop } } } 80c02ce: 3710 adds r7, #16 80c02d0: 46bd mov sp, r7 80c02d2: bd80 pop {r7, pc} 80c02d4: 43425355 .word 0x43425355 080c02d8 : * @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) { 80c02d8: b580 push {r7, lr} 80c02da: b086 sub sp, #24 80c02dc: af00 add r7, sp, #0 80c02de: 60f8 str r0, [r7, #12] 80c02e0: 60b9 str r1, [r7, #8] 80c02e2: 607a str r2, [r7, #4] USBD_MSC_BOT_HandleTypeDef *hmsc = (USBD_MSC_BOT_HandleTypeDef *)pdev->pClassData; 80c02e4: 68fb ldr r3, [r7, #12] 80c02e6: f8d3 32bc ldr.w r3, [r3, #700] ; 0x2bc 80c02ea: 617b str r3, [r7, #20] uint32_t length = MIN(hmsc->cbw.dDataLength, len); 80c02ec: 697b ldr r3, [r7, #20] 80c02ee: f8d3 2218 ldr.w r2, [r3, #536] ; 0x218 80c02f2: 687b ldr r3, [r7, #4] 80c02f4: 4293 cmp r3, r2 80c02f6: bf28 it cs 80c02f8: 4613 movcs r3, r2 80c02fa: 613b str r3, [r7, #16] hmsc->csw.dDataResidue -= len; 80c02fc: 697b ldr r3, [r7, #20] 80c02fe: f8d3 2238 ldr.w r2, [r3, #568] ; 0x238 80c0302: 687b ldr r3, [r7, #4] 80c0304: 1ad2 subs r2, r2, r3 80c0306: 697b ldr r3, [r7, #20] 80c0308: f8c3 2238 str.w r2, [r3, #568] ; 0x238 hmsc->csw.bStatus = USBD_CSW_CMD_PASSED; 80c030c: 697b ldr r3, [r7, #20] 80c030e: 2200 movs r2, #0 80c0310: f883 223c strb.w r2, [r3, #572] ; 0x23c hmsc->bot_state = USBD_BOT_SEND_DATA; 80c0314: 697b ldr r3, [r7, #20] 80c0316: 2204 movs r2, #4 80c0318: 721a strb r2, [r3, #8] (void)USBD_LL_Transmit(pdev, MSC_EPIN_ADDR, pbuf, length); 80c031a: 693b ldr r3, [r7, #16] 80c031c: 68ba ldr r2, [r7, #8] 80c031e: 2181 movs r1, #129 ; 0x81 80c0320: 68f8 ldr r0, [r7, #12] 80c0322: f009 fbed bl 80c9b00 } 80c0326: bf00 nop 80c0328: 3718 adds r7, #24 80c032a: 46bd mov sp, r7 80c032c: bd80 pop {r7, pc} ... 080c0330 : * @param pdev: device instance * @param status : CSW status * @retval None */ void MSC_BOT_SendCSW(USBD_HandleTypeDef *pdev, uint8_t CSW_Status) { 80c0330: b580 push {r7, lr} 80c0332: b084 sub sp, #16 80c0334: af00 add r7, sp, #0 80c0336: 6078 str r0, [r7, #4] 80c0338: 460b mov r3, r1 80c033a: 70fb strb r3, [r7, #3] USBD_MSC_BOT_HandleTypeDef *hmsc = (USBD_MSC_BOT_HandleTypeDef *)pdev->pClassData; 80c033c: 687b ldr r3, [r7, #4] 80c033e: f8d3 32bc ldr.w r3, [r3, #700] ; 0x2bc 80c0342: 60fb str r3, [r7, #12] hmsc->csw.dSignature = USBD_BOT_CSW_SIGNATURE; 80c0344: 68fb ldr r3, [r7, #12] 80c0346: 4a0f ldr r2, [pc, #60] ; (80c0384 ) 80c0348: f8c3 2230 str.w r2, [r3, #560] ; 0x230 hmsc->csw.bStatus = CSW_Status; 80c034c: 68fb ldr r3, [r7, #12] 80c034e: 78fa ldrb r2, [r7, #3] 80c0350: f883 223c strb.w r2, [r3, #572] ; 0x23c hmsc->bot_state = USBD_BOT_IDLE; 80c0354: 68fb ldr r3, [r7, #12] 80c0356: 2200 movs r2, #0 80c0358: 721a strb r2, [r3, #8] (void)USBD_LL_Transmit(pdev, MSC_EPIN_ADDR, (uint8_t *)&hmsc->csw, 80c035a: 68fb ldr r3, [r7, #12] 80c035c: f503 720c add.w r2, r3, #560 ; 0x230 80c0360: 230d movs r3, #13 80c0362: 2181 movs r1, #129 ; 0x81 80c0364: 6878 ldr r0, [r7, #4] 80c0366: f009 fbcb bl 80c9b00 USBD_BOT_CSW_LENGTH); /* Prepare EP to Receive next Cmd */ (void)USBD_LL_PrepareReceive(pdev, MSC_EPOUT_ADDR, (uint8_t *)&hmsc->cbw, 80c036a: 68fb ldr r3, [r7, #12] 80c036c: f503 7204 add.w r2, r3, #528 ; 0x210 80c0370: 231f movs r3, #31 80c0372: 2101 movs r1, #1 80c0374: 6878 ldr r0, [r7, #4] 80c0376: f009 fbe4 bl 80c9b42 USBD_BOT_CBW_LENGTH); } 80c037a: bf00 nop 80c037c: 3710 adds r7, #16 80c037e: 46bd mov sp, r7 80c0380: bd80 pop {r7, pc} 80c0382: bf00 nop 80c0384: 53425355 .word 0x53425355 080c0388 : * @param pdev: device instance * @retval status */ static void MSC_BOT_Abort(USBD_HandleTypeDef *pdev) { 80c0388: b580 push {r7, lr} 80c038a: b084 sub sp, #16 80c038c: af00 add r7, sp, #0 80c038e: 6078 str r0, [r7, #4] USBD_MSC_BOT_HandleTypeDef *hmsc = (USBD_MSC_BOT_HandleTypeDef *)pdev->pClassData; 80c0390: 687b ldr r3, [r7, #4] 80c0392: f8d3 32bc ldr.w r3, [r3, #700] ; 0x2bc 80c0396: 60fb str r3, [r7, #12] if ((hmsc->cbw.bmFlags == 0U) && 80c0398: 68fb ldr r3, [r7, #12] 80c039a: f893 321c ldrb.w r3, [r3, #540] ; 0x21c 80c039e: 2b00 cmp r3, #0 80c03a0: d10c bne.n 80c03bc (hmsc->cbw.dDataLength != 0U) && 80c03a2: 68fb ldr r3, [r7, #12] 80c03a4: f8d3 3218 ldr.w r3, [r3, #536] ; 0x218 if ((hmsc->cbw.bmFlags == 0U) && 80c03a8: 2b00 cmp r3, #0 80c03aa: d007 beq.n 80c03bc (hmsc->bot_status == USBD_BOT_STATUS_NORMAL)) 80c03ac: 68fb ldr r3, [r7, #12] 80c03ae: 7a5b ldrb r3, [r3, #9] (hmsc->cbw.dDataLength != 0U) && 80c03b0: 2b00 cmp r3, #0 80c03b2: d103 bne.n 80c03bc { (void)USBD_LL_StallEP(pdev, MSC_EPOUT_ADDR); 80c03b4: 2101 movs r1, #1 80c03b6: 6878 ldr r0, [r7, #4] 80c03b8: f009 fb19 bl 80c99ee } (void)USBD_LL_StallEP(pdev, MSC_EPIN_ADDR); 80c03bc: 2181 movs r1, #129 ; 0x81 80c03be: 6878 ldr r0, [r7, #4] 80c03c0: f009 fb15 bl 80c99ee if (hmsc->bot_status == USBD_BOT_STATUS_ERROR) 80c03c4: 68fb ldr r3, [r7, #12] 80c03c6: 7a5b ldrb r3, [r3, #9] 80c03c8: 2b02 cmp r3, #2 80c03ca: d107 bne.n 80c03dc { (void)USBD_LL_StallEP(pdev, MSC_EPIN_ADDR); 80c03cc: 2181 movs r1, #129 ; 0x81 80c03ce: 6878 ldr r0, [r7, #4] 80c03d0: f009 fb0d bl 80c99ee (void)USBD_LL_StallEP(pdev, MSC_EPOUT_ADDR); 80c03d4: 2101 movs r1, #1 80c03d6: 6878 ldr r0, [r7, #4] 80c03d8: f009 fb09 bl 80c99ee } } 80c03dc: bf00 nop 80c03de: 3710 adds r7, #16 80c03e0: 46bd mov sp, r7 80c03e2: bd80 pop {r7, pc} 080c03e4 : * @param epnum: endpoint index * @retval None */ void MSC_BOT_CplClrFeature(USBD_HandleTypeDef *pdev, uint8_t epnum) { 80c03e4: b580 push {r7, lr} 80c03e6: b084 sub sp, #16 80c03e8: af00 add r7, sp, #0 80c03ea: 6078 str r0, [r7, #4] 80c03ec: 460b mov r3, r1 80c03ee: 70fb strb r3, [r7, #3] USBD_MSC_BOT_HandleTypeDef *hmsc = (USBD_MSC_BOT_HandleTypeDef *)pdev->pClassData; 80c03f0: 687b ldr r3, [r7, #4] 80c03f2: f8d3 32bc ldr.w r3, [r3, #700] ; 0x2bc 80c03f6: 60fb str r3, [r7, #12] if (hmsc->bot_status == USBD_BOT_STATUS_ERROR) /* Bad CBW Signature */ 80c03f8: 68fb ldr r3, [r7, #12] 80c03fa: 7a5b ldrb r3, [r3, #9] 80c03fc: 2b02 cmp r3, #2 80c03fe: d108 bne.n 80c0412 { (void)USBD_LL_StallEP(pdev, MSC_EPIN_ADDR); 80c0400: 2181 movs r1, #129 ; 0x81 80c0402: 6878 ldr r0, [r7, #4] 80c0404: f009 faf3 bl 80c99ee (void)USBD_LL_StallEP(pdev, MSC_EPOUT_ADDR); 80c0408: 2101 movs r1, #1 80c040a: 6878 ldr r0, [r7, #4] 80c040c: f009 faef bl 80c99ee 80c0410: e00d b.n 80c042e } else if (((epnum & 0x80U) == 0x80U) && (hmsc->bot_status != USBD_BOT_STATUS_RECOVERY)) 80c0412: f997 3003 ldrsb.w r3, [r7, #3] 80c0416: 2b00 cmp r3, #0 80c0418: da08 bge.n 80c042c 80c041a: 68fb ldr r3, [r7, #12] 80c041c: 7a5b ldrb r3, [r3, #9] 80c041e: 2b01 cmp r3, #1 80c0420: d004 beq.n 80c042c { MSC_BOT_SendCSW(pdev, USBD_CSW_CMD_FAILED); 80c0422: 2101 movs r1, #1 80c0424: 6878 ldr r0, [r7, #4] 80c0426: f7ff ff83 bl 80c0330 80c042a: e000 b.n 80c042e } else { return; 80c042c: bf00 nop } } 80c042e: 3710 adds r7, #16 80c0430: 46bd mov sp, r7 80c0432: bd80 pop {r7, pc} 080c0434 : * @param lun: Logical unit number * @param params: Command parameters * @retval status */ int8_t SCSI_ProcessCmd(USBD_HandleTypeDef *pdev, uint8_t lun, uint8_t *cmd) { 80c0434: b580 push {r7, lr} 80c0436: b086 sub sp, #24 80c0438: af00 add r7, sp, #0 80c043a: 60f8 str r0, [r7, #12] 80c043c: 460b mov r3, r1 80c043e: 607a str r2, [r7, #4] 80c0440: 72fb strb r3, [r7, #11] int8_t ret; USBD_MSC_BOT_HandleTypeDef *hmsc = (USBD_MSC_BOT_HandleTypeDef *)pdev->pClassData; 80c0442: 68fb ldr r3, [r7, #12] 80c0444: f8d3 32bc ldr.w r3, [r3, #700] ; 0x2bc 80c0448: 613b str r3, [r7, #16] switch (cmd[0]) 80c044a: 687b ldr r3, [r7, #4] 80c044c: 781b ldrb r3, [r3, #0] 80c044e: 2b25 cmp r3, #37 ; 0x25 80c0450: d06e beq.n 80c0530 80c0452: 2b25 cmp r3, #37 ; 0x25 80c0454: dc11 bgt.n 80c047a 80c0456: 2b1a cmp r3, #26 80c0458: d04f beq.n 80c04fa 80c045a: 2b1a cmp r3, #26 80c045c: dc06 bgt.n 80c046c 80c045e: 2b03 cmp r3, #3 80c0460: d027 beq.n 80c04b2 80c0462: 2b12 cmp r3, #18 80c0464: d02e beq.n 80c04c4 80c0466: 2b00 cmp r3, #0 80c0468: d01a beq.n 80c04a0 80c046a: e0a0 b.n 80c05ae 80c046c: 2b1e cmp r3, #30 80c046e: d03b beq.n 80c04e8 80c0470: 2b23 cmp r3, #35 ; 0x23 80c0472: d054 beq.n 80c051e 80c0474: 2b1b cmp r3, #27 80c0476: d02e beq.n 80c04d6 80c0478: e099 b.n 80c05ae 80c047a: 2b5a cmp r3, #90 ; 0x5a 80c047c: d046 beq.n 80c050c 80c047e: 2b5a cmp r3, #90 ; 0x5a 80c0480: dc07 bgt.n 80c0492 80c0482: 2b2a cmp r3, #42 ; 0x2a 80c0484: d078 beq.n 80c0578 80c0486: 2b2f cmp r3, #47 ; 0x2f 80c0488: f000 8088 beq.w 80c059c 80c048c: 2b28 cmp r3, #40 ; 0x28 80c048e: d061 beq.n 80c0554 80c0490: e08d b.n 80c05ae 80c0492: 2ba8 cmp r3, #168 ; 0xa8 80c0494: d067 beq.n 80c0566 80c0496: 2baa cmp r3, #170 ; 0xaa 80c0498: d077 beq.n 80c058a 80c049a: 2b9e cmp r3, #158 ; 0x9e 80c049c: d051 beq.n 80c0542 80c049e: e086 b.n 80c05ae { case SCSI_TEST_UNIT_READY: ret = SCSI_TestUnitReady(pdev, lun, cmd); 80c04a0: 7afb ldrb r3, [r7, #11] 80c04a2: 687a ldr r2, [r7, #4] 80c04a4: 4619 mov r1, r3 80c04a6: 68f8 ldr r0, [r7, #12] 80c04a8: f000 f893 bl 80c05d2 80c04ac: 4603 mov r3, r0 80c04ae: 75fb strb r3, [r7, #23] break; 80c04b0: e089 b.n 80c05c6 case SCSI_REQUEST_SENSE: ret = SCSI_RequestSense(pdev, lun, cmd); 80c04b2: 7afb ldrb r3, [r7, #11] 80c04b4: 687a ldr r2, [r7, #4] 80c04b6: 4619 mov r1, r3 80c04b8: 68f8 ldr r0, [r7, #12] 80c04ba: f000 fb0f bl 80c0adc 80c04be: 4603 mov r3, r0 80c04c0: 75fb strb r3, [r7, #23] break; 80c04c2: e080 b.n 80c05c6 case SCSI_INQUIRY: ret = SCSI_Inquiry(pdev, lun, cmd); 80c04c4: 7afb ldrb r3, [r7, #11] 80c04c6: 687a ldr r2, [r7, #4] 80c04c8: 4619 mov r1, r3 80c04ca: 68f8 ldr r0, [r7, #12] 80c04cc: f000 f8cc bl 80c0668 80c04d0: 4603 mov r3, r0 80c04d2: 75fb strb r3, [r7, #23] break; 80c04d4: e077 b.n 80c05c6 case SCSI_START_STOP_UNIT: ret = SCSI_StartStopUnit(pdev, lun, cmd); 80c04d6: 7afb ldrb r3, [r7, #11] 80c04d8: 687a ldr r2, [r7, #4] 80c04da: 4619 mov r1, r3 80c04dc: 68f8 ldr r0, [r7, #12] 80c04de: f000 fbb9 bl 80c0c54 80c04e2: 4603 mov r3, r0 80c04e4: 75fb strb r3, [r7, #23] break; 80c04e6: e06e b.n 80c05c6 case SCSI_ALLOW_MEDIUM_REMOVAL: ret = SCSI_AllowPreventRemovable(pdev, lun, cmd); 80c04e8: 7afb ldrb r3, [r7, #11] 80c04ea: 687a ldr r2, [r7, #4] 80c04ec: 4619 mov r1, r3 80c04ee: 68f8 ldr r0, [r7, #12] 80c04f0: f000 fbfb bl 80c0cea 80c04f4: 4603 mov r3, r0 80c04f6: 75fb strb r3, [r7, #23] break; 80c04f8: e065 b.n 80c05c6 case SCSI_MODE_SENSE6: ret = SCSI_ModeSense6(pdev, lun, cmd); 80c04fa: 7afb ldrb r3, [r7, #11] 80c04fc: 687a ldr r2, [r7, #4] 80c04fe: 4619 mov r1, r3 80c0500: 68f8 ldr r0, [r7, #12] 80c0502: f000 fa9f bl 80c0a44 80c0506: 4603 mov r3, r0 80c0508: 75fb strb r3, [r7, #23] break; 80c050a: e05c b.n 80c05c6 case SCSI_MODE_SENSE10: ret = SCSI_ModeSense10(pdev, lun, cmd); 80c050c: 7afb ldrb r3, [r7, #11] 80c050e: 687a ldr r2, [r7, #4] 80c0510: 4619 mov r1, r3 80c0512: 68f8 ldr r0, [r7, #12] 80c0514: f000 fabc bl 80c0a90 80c0518: 4603 mov r3, r0 80c051a: 75fb strb r3, [r7, #23] break; 80c051c: e053 b.n 80c05c6 case SCSI_READ_FORMAT_CAPACITIES: ret = SCSI_ReadFormatCapacity(pdev, lun, cmd); 80c051e: 7afb ldrb r3, [r7, #11] 80c0520: 687a ldr r2, [r7, #4] 80c0522: 4619 mov r1, r3 80c0524: 68f8 ldr r0, [r7, #12] 80c0526: f000 fa20 bl 80c096a 80c052a: 4603 mov r3, r0 80c052c: 75fb strb r3, [r7, #23] break; 80c052e: e04a b.n 80c05c6 case SCSI_READ_CAPACITY10: ret = SCSI_ReadCapacity10(pdev, lun, cmd); 80c0530: 7afb ldrb r3, [r7, #11] 80c0532: 687a ldr r2, [r7, #4] 80c0534: 4619 mov r1, r3 80c0536: 68f8 ldr r0, [r7, #12] 80c0538: f000 f904 bl 80c0744 80c053c: 4603 mov r3, r0 80c053e: 75fb strb r3, [r7, #23] break; 80c0540: e041 b.n 80c05c6 case SCSI_READ_CAPACITY16: ret = SCSI_ReadCapacity16(pdev, lun, cmd); 80c0542: 7afb ldrb r3, [r7, #11] 80c0544: 687a ldr r2, [r7, #4] 80c0546: 4619 mov r1, r3 80c0548: 68f8 ldr r0, [r7, #12] 80c054a: f000 f96a bl 80c0822 80c054e: 4603 mov r3, r0 80c0550: 75fb strb r3, [r7, #23] break; 80c0552: e038 b.n 80c05c6 case SCSI_READ10: ret = SCSI_Read10(pdev, lun, cmd); 80c0554: 7afb ldrb r3, [r7, #11] 80c0556: 687a ldr r2, [r7, #4] 80c0558: 4619 mov r1, r3 80c055a: 68f8 ldr r0, [r7, #12] 80c055c: f000 fbe8 bl 80c0d30 80c0560: 4603 mov r3, r0 80c0562: 75fb strb r3, [r7, #23] break; 80c0564: e02f b.n 80c05c6 case SCSI_READ12: ret = SCSI_Read12(pdev, lun, cmd); 80c0566: 7afb ldrb r3, [r7, #11] 80c0568: 687a ldr r2, [r7, #4] 80c056a: 4619 mov r1, r3 80c056c: 68f8 ldr r0, [r7, #12] 80c056e: f000 fc79 bl 80c0e64 80c0572: 4603 mov r3, r0 80c0574: 75fb strb r3, [r7, #23] break; 80c0576: e026 b.n 80c05c6 case SCSI_WRITE10: ret = SCSI_Write10(pdev, lun, cmd); 80c0578: 7afb ldrb r3, [r7, #11] 80c057a: 687a ldr r2, [r7, #4] 80c057c: 4619 mov r1, r3 80c057e: 68f8 ldr r0, [r7, #12] 80c0580: f000 fd15 bl 80c0fae 80c0584: 4603 mov r3, r0 80c0586: 75fb strb r3, [r7, #23] break; 80c0588: e01d b.n 80c05c6 case SCSI_WRITE12: ret = SCSI_Write12(pdev, lun, cmd); 80c058a: 7afb ldrb r3, [r7, #11] 80c058c: 687a ldr r2, [r7, #4] 80c058e: 4619 mov r1, r3 80c0590: 68f8 ldr r0, [r7, #12] 80c0592: f000 fdcb bl 80c112c 80c0596: 4603 mov r3, r0 80c0598: 75fb strb r3, [r7, #23] break; 80c059a: e014 b.n 80c05c6 case SCSI_VERIFY10: ret = SCSI_Verify10(pdev, lun, cmd); 80c059c: 7afb ldrb r3, [r7, #11] 80c059e: 687a ldr r2, [r7, #4] 80c05a0: 4619 mov r1, r3 80c05a2: 68f8 ldr r0, [r7, #12] 80c05a4: f000 fe91 bl 80c12ca 80c05a8: 4603 mov r3, r0 80c05aa: 75fb strb r3, [r7, #23] break; 80c05ac: e00b b.n 80c05c6 default: SCSI_SenseCode(pdev, lun, ILLEGAL_REQUEST, INVALID_CDB); 80c05ae: 7af9 ldrb r1, [r7, #11] 80c05b0: 2320 movs r3, #32 80c05b2: 2205 movs r2, #5 80c05b4: 68f8 ldr r0, [r7, #12] 80c05b6: f000 fb0a bl 80c0bce hmsc->bot_status = USBD_BOT_STATUS_ERROR; 80c05ba: 693b ldr r3, [r7, #16] 80c05bc: 2202 movs r2, #2 80c05be: 725a strb r2, [r3, #9] ret = -1; 80c05c0: 23ff movs r3, #255 ; 0xff 80c05c2: 75fb strb r3, [r7, #23] break; 80c05c4: bf00 nop } return ret; 80c05c6: f997 3017 ldrsb.w r3, [r7, #23] } 80c05ca: 4618 mov r0, r3 80c05cc: 3718 adds r7, #24 80c05ce: 46bd mov sp, r7 80c05d0: bd80 pop {r7, pc} 080c05d2 : * @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) { 80c05d2: b580 push {r7, lr} 80c05d4: b086 sub sp, #24 80c05d6: af00 add r7, sp, #0 80c05d8: 60f8 str r0, [r7, #12] 80c05da: 460b mov r3, r1 80c05dc: 607a str r2, [r7, #4] 80c05de: 72fb strb r3, [r7, #11] UNUSED(params); USBD_MSC_BOT_HandleTypeDef *hmsc = (USBD_MSC_BOT_HandleTypeDef *)pdev->pClassData; 80c05e0: 68fb ldr r3, [r7, #12] 80c05e2: f8d3 32bc ldr.w r3, [r3, #700] ; 0x2bc 80c05e6: 617b str r3, [r7, #20] /* case 9 : Hi > D0 */ if (hmsc->cbw.dDataLength != 0U) 80c05e8: 697b ldr r3, [r7, #20] 80c05ea: f8d3 3218 ldr.w r3, [r3, #536] ; 0x218 80c05ee: 2b00 cmp r3, #0 80c05f0: d00a beq.n 80c0608 { SCSI_SenseCode(pdev, hmsc->cbw.bLUN, ILLEGAL_REQUEST, INVALID_CDB); 80c05f2: 697b ldr r3, [r7, #20] 80c05f4: f893 121d ldrb.w r1, [r3, #541] ; 0x21d 80c05f8: 2320 movs r3, #32 80c05fa: 2205 movs r2, #5 80c05fc: 68f8 ldr r0, [r7, #12] 80c05fe: f000 fae6 bl 80c0bce return -1; 80c0602: f04f 33ff mov.w r3, #4294967295 80c0606: e02a b.n 80c065e } if (hmsc->scsi_medium_state == SCSI_MEDIUM_EJECTED) 80c0608: 697b ldr r3, [r7, #20] 80c060a: f893 3262 ldrb.w r3, [r3, #610] ; 0x262 80c060e: 2b02 cmp r3, #2 80c0610: d10b bne.n 80c062a { SCSI_SenseCode(pdev, lun, NOT_READY, MEDIUM_NOT_PRESENT); 80c0612: 7af9 ldrb r1, [r7, #11] 80c0614: 233a movs r3, #58 ; 0x3a 80c0616: 2202 movs r2, #2 80c0618: 68f8 ldr r0, [r7, #12] 80c061a: f000 fad8 bl 80c0bce hmsc->bot_state = USBD_BOT_NO_DATA; 80c061e: 697b ldr r3, [r7, #20] 80c0620: 2205 movs r2, #5 80c0622: 721a strb r2, [r3, #8] return -1; 80c0624: f04f 33ff mov.w r3, #4294967295 80c0628: e019 b.n 80c065e } if (((USBD_StorageTypeDef *)pdev->pUserData)->IsReady(lun) != 0) 80c062a: 68fb ldr r3, [r7, #12] 80c062c: f8d3 32c0 ldr.w r3, [r3, #704] ; 0x2c0 80c0630: 689b ldr r3, [r3, #8] 80c0632: 7afa ldrb r2, [r7, #11] 80c0634: 4610 mov r0, r2 80c0636: 4798 blx r3 80c0638: 4603 mov r3, r0 80c063a: 2b00 cmp r3, #0 80c063c: d00b beq.n 80c0656 { SCSI_SenseCode(pdev, lun, NOT_READY, MEDIUM_NOT_PRESENT); 80c063e: 7af9 ldrb r1, [r7, #11] 80c0640: 233a movs r3, #58 ; 0x3a 80c0642: 2202 movs r2, #2 80c0644: 68f8 ldr r0, [r7, #12] 80c0646: f000 fac2 bl 80c0bce hmsc->bot_state = USBD_BOT_NO_DATA; 80c064a: 697b ldr r3, [r7, #20] 80c064c: 2205 movs r2, #5 80c064e: 721a strb r2, [r3, #8] return -1; 80c0650: f04f 33ff mov.w r3, #4294967295 80c0654: e003 b.n 80c065e } hmsc->bot_data_length = 0U; 80c0656: 697b ldr r3, [r7, #20] 80c0658: 2200 movs r2, #0 80c065a: 60da str r2, [r3, #12] return 0; 80c065c: 2300 movs r3, #0 } 80c065e: 4618 mov r0, r3 80c0660: 3718 adds r7, #24 80c0662: 46bd mov sp, r7 80c0664: bd80 pop {r7, pc} ... 080c0668 : * @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) { 80c0668: b580 push {r7, lr} 80c066a: b088 sub sp, #32 80c066c: af00 add r7, sp, #0 80c066e: 60f8 str r0, [r7, #12] 80c0670: 460b mov r3, r1 80c0672: 607a str r2, [r7, #4] 80c0674: 72fb strb r3, [r7, #11] uint8_t *pPage; uint16_t len; USBD_MSC_BOT_HandleTypeDef *hmsc = (USBD_MSC_BOT_HandleTypeDef *)pdev->pClassData; 80c0676: 68fb ldr r3, [r7, #12] 80c0678: f8d3 32bc ldr.w r3, [r3, #700] ; 0x2bc 80c067c: 61bb str r3, [r7, #24] if (hmsc->cbw.dDataLength == 0U) 80c067e: 69bb ldr r3, [r7, #24] 80c0680: f8d3 3218 ldr.w r3, [r3, #536] ; 0x218 80c0684: 2b00 cmp r3, #0 80c0686: d10a bne.n 80c069e { SCSI_SenseCode(pdev, hmsc->cbw.bLUN, ILLEGAL_REQUEST, INVALID_CDB); 80c0688: 69bb ldr r3, [r7, #24] 80c068a: f893 121d ldrb.w r1, [r3, #541] ; 0x21d 80c068e: 2320 movs r3, #32 80c0690: 2205 movs r2, #5 80c0692: 68f8 ldr r0, [r7, #12] 80c0694: f000 fa9b bl 80c0bce return -1; 80c0698: f04f 33ff mov.w r3, #4294967295 80c069c: e04a b.n 80c0734 } if ((params[1] & 0x01U) != 0U) /* Evpd is set */ 80c069e: 687b ldr r3, [r7, #4] 80c06a0: 3301 adds r3, #1 80c06a2: 781b ldrb r3, [r3, #0] 80c06a4: f003 0301 and.w r3, r3, #1 80c06a8: 2b00 cmp r3, #0 80c06aa: d020 beq.n 80c06ee { if (params[2] == 0U) /* Request for Supported Vital Product Data Pages*/ 80c06ac: 687b ldr r3, [r7, #4] 80c06ae: 3302 adds r3, #2 80c06b0: 781b ldrb r3, [r3, #0] 80c06b2: 2b00 cmp r3, #0 80c06b4: d105 bne.n 80c06c2 { (void)SCSI_UpdateBotData(hmsc, MSC_Page00_Inquiry_Data, LENGTH_INQUIRY_PAGE00); 80c06b6: 2206 movs r2, #6 80c06b8: 4920 ldr r1, [pc, #128] ; (80c073c ) 80c06ba: 69b8 ldr r0, [r7, #24] 80c06bc: f000 ff50 bl 80c1560 80c06c0: e037 b.n 80c0732 } else if (params[2] == 0x80U) /* Request for VPD page 0x80 Unit Serial Number */ 80c06c2: 687b ldr r3, [r7, #4] 80c06c4: 3302 adds r3, #2 80c06c6: 781b ldrb r3, [r3, #0] 80c06c8: 2b80 cmp r3, #128 ; 0x80 80c06ca: d105 bne.n 80c06d8 { (void)SCSI_UpdateBotData(hmsc, MSC_Page80_Inquiry_Data, LENGTH_INQUIRY_PAGE80); 80c06cc: 2208 movs r2, #8 80c06ce: 491c ldr r1, [pc, #112] ; (80c0740 ) 80c06d0: 69b8 ldr r0, [r7, #24] 80c06d2: f000 ff45 bl 80c1560 80c06d6: e02c b.n 80c0732 } else /* Request Not supported */ { SCSI_SenseCode(pdev, hmsc->cbw.bLUN, ILLEGAL_REQUEST, 80c06d8: 69bb ldr r3, [r7, #24] 80c06da: f893 121d ldrb.w r1, [r3, #541] ; 0x21d 80c06de: 2324 movs r3, #36 ; 0x24 80c06e0: 2205 movs r2, #5 80c06e2: 68f8 ldr r0, [r7, #12] 80c06e4: f000 fa73 bl 80c0bce INVALID_FIELED_IN_COMMAND); return -1; 80c06e8: f04f 33ff mov.w r3, #4294967295 80c06ec: e022 b.n 80c0734 } } else { pPage = (uint8_t *)&((USBD_StorageTypeDef *)pdev->pUserData)->pInquiry[lun * STANDARD_INQUIRY_DATA_LEN]; 80c06ee: 68fb ldr r3, [r7, #12] 80c06f0: f8d3 32c0 ldr.w r3, [r3, #704] ; 0x2c0 80c06f4: 69d9 ldr r1, [r3, #28] 80c06f6: 7afa ldrb r2, [r7, #11] 80c06f8: 4613 mov r3, r2 80c06fa: 00db lsls r3, r3, #3 80c06fc: 4413 add r3, r2 80c06fe: 009b lsls r3, r3, #2 80c0700: 440b add r3, r1 80c0702: 617b str r3, [r7, #20] len = (uint16_t)pPage[4] + 5U; 80c0704: 697b ldr r3, [r7, #20] 80c0706: 3304 adds r3, #4 80c0708: 781b ldrb r3, [r3, #0] 80c070a: b29b uxth r3, r3 80c070c: 3305 adds r3, #5 80c070e: 83fb strh r3, [r7, #30] if (params[4] <= len) 80c0710: 687b ldr r3, [r7, #4] 80c0712: 3304 adds r3, #4 80c0714: 781b ldrb r3, [r3, #0] 80c0716: b29b uxth r3, r3 80c0718: 8bfa ldrh r2, [r7, #30] 80c071a: 429a cmp r2, r3 80c071c: d303 bcc.n 80c0726 { len = params[4]; 80c071e: 687b ldr r3, [r7, #4] 80c0720: 3304 adds r3, #4 80c0722: 781b ldrb r3, [r3, #0] 80c0724: 83fb strh r3, [r7, #30] } (void)SCSI_UpdateBotData(hmsc, pPage, len); 80c0726: 8bfb ldrh r3, [r7, #30] 80c0728: 461a mov r2, r3 80c072a: 6979 ldr r1, [r7, #20] 80c072c: 69b8 ldr r0, [r7, #24] 80c072e: f000 ff17 bl 80c1560 } return 0; 80c0732: 2300 movs r3, #0 } 80c0734: 4618 mov r0, r3 80c0736: 3720 adds r7, #32 80c0738: 46bd mov sp, r7 80c073a: bd80 pop {r7, pc} 80c073c: 20020a80 .word 0x20020a80 80c0740: 20020a88 .word 0x20020a88 080c0744 : * @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) { 80c0744: b580 push {r7, lr} 80c0746: b086 sub sp, #24 80c0748: af00 add r7, sp, #0 80c074a: 60f8 str r0, [r7, #12] 80c074c: 460b mov r3, r1 80c074e: 607a str r2, [r7, #4] 80c0750: 72fb strb r3, [r7, #11] UNUSED(params); int8_t ret; USBD_MSC_BOT_HandleTypeDef *hmsc = (USBD_MSC_BOT_HandleTypeDef *)pdev->pClassData; 80c0752: 68fb ldr r3, [r7, #12] 80c0754: f8d3 32bc ldr.w r3, [r3, #700] ; 0x2bc 80c0758: 617b str r3, [r7, #20] ret = ((USBD_StorageTypeDef *)pdev->pUserData)->GetCapacity(lun, &hmsc->scsi_blk_nbr, &hmsc->scsi_blk_size); 80c075a: 68fb ldr r3, [r7, #12] 80c075c: f8d3 32c0 ldr.w r3, [r3, #704] ; 0x2c0 80c0760: 685b ldr r3, [r3, #4] 80c0762: 697a ldr r2, [r7, #20] 80c0764: f502 711a add.w r1, r2, #616 ; 0x268 80c0768: 697a ldr r2, [r7, #20] 80c076a: f502 7219 add.w r2, r2, #612 ; 0x264 80c076e: 7af8 ldrb r0, [r7, #11] 80c0770: 4798 blx r3 80c0772: 4603 mov r3, r0 80c0774: 74fb strb r3, [r7, #19] if ((ret != 0) || (hmsc->scsi_medium_state == SCSI_MEDIUM_EJECTED)) 80c0776: f997 3013 ldrsb.w r3, [r7, #19] 80c077a: 2b00 cmp r3, #0 80c077c: d104 bne.n 80c0788 80c077e: 697b ldr r3, [r7, #20] 80c0780: f893 3262 ldrb.w r3, [r3, #610] ; 0x262 80c0784: 2b02 cmp r3, #2 80c0786: d108 bne.n 80c079a { SCSI_SenseCode(pdev, lun, NOT_READY, MEDIUM_NOT_PRESENT); 80c0788: 7af9 ldrb r1, [r7, #11] 80c078a: 233a movs r3, #58 ; 0x3a 80c078c: 2202 movs r2, #2 80c078e: 68f8 ldr r0, [r7, #12] 80c0790: f000 fa1d bl 80c0bce return -1; 80c0794: f04f 33ff mov.w r3, #4294967295 80c0798: e03f b.n 80c081a } hmsc->bot_data[0] = (uint8_t)((hmsc->scsi_blk_nbr - 1U) >> 24); 80c079a: 697b ldr r3, [r7, #20] 80c079c: f8d3 3268 ldr.w r3, [r3, #616] ; 0x268 80c07a0: 3b01 subs r3, #1 80c07a2: 0e1b lsrs r3, r3, #24 80c07a4: b2da uxtb r2, r3 80c07a6: 697b ldr r3, [r7, #20] 80c07a8: 741a strb r2, [r3, #16] hmsc->bot_data[1] = (uint8_t)((hmsc->scsi_blk_nbr - 1U) >> 16); 80c07aa: 697b ldr r3, [r7, #20] 80c07ac: f8d3 3268 ldr.w r3, [r3, #616] ; 0x268 80c07b0: 3b01 subs r3, #1 80c07b2: 0c1b lsrs r3, r3, #16 80c07b4: b2da uxtb r2, r3 80c07b6: 697b ldr r3, [r7, #20] 80c07b8: 745a strb r2, [r3, #17] hmsc->bot_data[2] = (uint8_t)((hmsc->scsi_blk_nbr - 1U) >> 8); 80c07ba: 697b ldr r3, [r7, #20] 80c07bc: f8d3 3268 ldr.w r3, [r3, #616] ; 0x268 80c07c0: 3b01 subs r3, #1 80c07c2: 0a1b lsrs r3, r3, #8 80c07c4: b2da uxtb r2, r3 80c07c6: 697b ldr r3, [r7, #20] 80c07c8: 749a strb r2, [r3, #18] hmsc->bot_data[3] = (uint8_t)(hmsc->scsi_blk_nbr - 1U); 80c07ca: 697b ldr r3, [r7, #20] 80c07cc: f8d3 3268 ldr.w r3, [r3, #616] ; 0x268 80c07d0: b2db uxtb r3, r3 80c07d2: 3b01 subs r3, #1 80c07d4: b2da uxtb r2, r3 80c07d6: 697b ldr r3, [r7, #20] 80c07d8: 74da strb r2, [r3, #19] hmsc->bot_data[4] = (uint8_t)(hmsc->scsi_blk_size >> 24); 80c07da: 697b ldr r3, [r7, #20] 80c07dc: f8b3 3264 ldrh.w r3, [r3, #612] ; 0x264 80c07e0: 161b asrs r3, r3, #24 80c07e2: b2da uxtb r2, r3 80c07e4: 697b ldr r3, [r7, #20] 80c07e6: 751a strb r2, [r3, #20] hmsc->bot_data[5] = (uint8_t)(hmsc->scsi_blk_size >> 16); 80c07e8: 697b ldr r3, [r7, #20] 80c07ea: f8b3 3264 ldrh.w r3, [r3, #612] ; 0x264 80c07ee: 141b asrs r3, r3, #16 80c07f0: b2da uxtb r2, r3 80c07f2: 697b ldr r3, [r7, #20] 80c07f4: 755a strb r2, [r3, #21] hmsc->bot_data[6] = (uint8_t)(hmsc->scsi_blk_size >> 8); 80c07f6: 697b ldr r3, [r7, #20] 80c07f8: f8b3 3264 ldrh.w r3, [r3, #612] ; 0x264 80c07fc: 0a1b lsrs r3, r3, #8 80c07fe: b29b uxth r3, r3 80c0800: b2da uxtb r2, r3 80c0802: 697b ldr r3, [r7, #20] 80c0804: 759a strb r2, [r3, #22] hmsc->bot_data[7] = (uint8_t)(hmsc->scsi_blk_size); 80c0806: 697b ldr r3, [r7, #20] 80c0808: f8b3 3264 ldrh.w r3, [r3, #612] ; 0x264 80c080c: b2da uxtb r2, r3 80c080e: 697b ldr r3, [r7, #20] 80c0810: 75da strb r2, [r3, #23] hmsc->bot_data_length = 8U; 80c0812: 697b ldr r3, [r7, #20] 80c0814: 2208 movs r2, #8 80c0816: 60da str r2, [r3, #12] return 0; 80c0818: 2300 movs r3, #0 } 80c081a: 4618 mov r0, r3 80c081c: 3718 adds r7, #24 80c081e: 46bd mov sp, r7 80c0820: bd80 pop {r7, pc} 080c0822 : * @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) { 80c0822: b580 push {r7, lr} 80c0824: b088 sub sp, #32 80c0826: af00 add r7, sp, #0 80c0828: 60f8 str r0, [r7, #12] 80c082a: 460b mov r3, r1 80c082c: 607a str r2, [r7, #4] 80c082e: 72fb strb r3, [r7, #11] UNUSED(params); uint8_t idx; int8_t ret; USBD_MSC_BOT_HandleTypeDef *hmsc = (USBD_MSC_BOT_HandleTypeDef *)pdev->pClassData; 80c0830: 68fb ldr r3, [r7, #12] 80c0832: f8d3 32bc ldr.w r3, [r3, #700] ; 0x2bc 80c0836: 61bb str r3, [r7, #24] ret = ((USBD_StorageTypeDef *)pdev->pUserData)->GetCapacity(lun, &hmsc->scsi_blk_nbr, &hmsc->scsi_blk_size); 80c0838: 68fb ldr r3, [r7, #12] 80c083a: f8d3 32c0 ldr.w r3, [r3, #704] ; 0x2c0 80c083e: 685b ldr r3, [r3, #4] 80c0840: 69ba ldr r2, [r7, #24] 80c0842: f502 711a add.w r1, r2, #616 ; 0x268 80c0846: 69ba ldr r2, [r7, #24] 80c0848: f502 7219 add.w r2, r2, #612 ; 0x264 80c084c: 7af8 ldrb r0, [r7, #11] 80c084e: 4798 blx r3 80c0850: 4603 mov r3, r0 80c0852: 75fb strb r3, [r7, #23] if ((ret != 0) || (hmsc->scsi_medium_state == SCSI_MEDIUM_EJECTED)) 80c0854: f997 3017 ldrsb.w r3, [r7, #23] 80c0858: 2b00 cmp r3, #0 80c085a: d104 bne.n 80c0866 80c085c: 69bb ldr r3, [r7, #24] 80c085e: f893 3262 ldrb.w r3, [r3, #610] ; 0x262 80c0862: 2b02 cmp r3, #2 80c0864: d108 bne.n 80c0878 { SCSI_SenseCode(pdev, lun, NOT_READY, MEDIUM_NOT_PRESENT); 80c0866: 7af9 ldrb r1, [r7, #11] 80c0868: 233a movs r3, #58 ; 0x3a 80c086a: 2202 movs r2, #2 80c086c: 68f8 ldr r0, [r7, #12] 80c086e: f000 f9ae bl 80c0bce return -1; 80c0872: f04f 33ff mov.w r3, #4294967295 80c0876: e074 b.n 80c0962 } hmsc->bot_data_length = ((uint32_t)params[10] << 24) | 80c0878: 687b ldr r3, [r7, #4] 80c087a: 330a adds r3, #10 80c087c: 781b ldrb r3, [r3, #0] 80c087e: 061a lsls r2, r3, #24 ((uint32_t)params[11] << 16) | 80c0880: 687b ldr r3, [r7, #4] 80c0882: 330b adds r3, #11 80c0884: 781b ldrb r3, [r3, #0] 80c0886: 041b lsls r3, r3, #16 hmsc->bot_data_length = ((uint32_t)params[10] << 24) | 80c0888: 431a orrs r2, r3 ((uint32_t)params[12] << 8) | 80c088a: 687b ldr r3, [r7, #4] 80c088c: 330c adds r3, #12 80c088e: 781b ldrb r3, [r3, #0] 80c0890: 021b lsls r3, r3, #8 ((uint32_t)params[11] << 16) | 80c0892: 4313 orrs r3, r2 (uint32_t)params[13]; 80c0894: 687a ldr r2, [r7, #4] 80c0896: 320d adds r2, #13 80c0898: 7812 ldrb r2, [r2, #0] ((uint32_t)params[12] << 8) | 80c089a: 431a orrs r2, r3 hmsc->bot_data_length = ((uint32_t)params[10] << 24) | 80c089c: 69bb ldr r3, [r7, #24] 80c089e: 60da str r2, [r3, #12] for (idx = 0U; idx < hmsc->bot_data_length; idx++) 80c08a0: 2300 movs r3, #0 80c08a2: 77fb strb r3, [r7, #31] 80c08a4: e007 b.n 80c08b6 { hmsc->bot_data[idx] = 0U; 80c08a6: 7ffb ldrb r3, [r7, #31] 80c08a8: 69ba ldr r2, [r7, #24] 80c08aa: 4413 add r3, r2 80c08ac: 2200 movs r2, #0 80c08ae: 741a strb r2, [r3, #16] for (idx = 0U; idx < hmsc->bot_data_length; idx++) 80c08b0: 7ffb ldrb r3, [r7, #31] 80c08b2: 3301 adds r3, #1 80c08b4: 77fb strb r3, [r7, #31] 80c08b6: 7ffa ldrb r2, [r7, #31] 80c08b8: 69bb ldr r3, [r7, #24] 80c08ba: 68db ldr r3, [r3, #12] 80c08bc: 429a cmp r2, r3 80c08be: d3f2 bcc.n 80c08a6 } hmsc->bot_data[4] = (uint8_t)((hmsc->scsi_blk_nbr - 1U) >> 24); 80c08c0: 69bb ldr r3, [r7, #24] 80c08c2: f8d3 3268 ldr.w r3, [r3, #616] ; 0x268 80c08c6: 3b01 subs r3, #1 80c08c8: 0e1b lsrs r3, r3, #24 80c08ca: b2da uxtb r2, r3 80c08cc: 69bb ldr r3, [r7, #24] 80c08ce: 751a strb r2, [r3, #20] hmsc->bot_data[5] = (uint8_t)((hmsc->scsi_blk_nbr - 1U) >> 16); 80c08d0: 69bb ldr r3, [r7, #24] 80c08d2: f8d3 3268 ldr.w r3, [r3, #616] ; 0x268 80c08d6: 3b01 subs r3, #1 80c08d8: 0c1b lsrs r3, r3, #16 80c08da: b2da uxtb r2, r3 80c08dc: 69bb ldr r3, [r7, #24] 80c08de: 755a strb r2, [r3, #21] hmsc->bot_data[6] = (uint8_t)((hmsc->scsi_blk_nbr - 1U) >> 8); 80c08e0: 69bb ldr r3, [r7, #24] 80c08e2: f8d3 3268 ldr.w r3, [r3, #616] ; 0x268 80c08e6: 3b01 subs r3, #1 80c08e8: 0a1b lsrs r3, r3, #8 80c08ea: b2da uxtb r2, r3 80c08ec: 69bb ldr r3, [r7, #24] 80c08ee: 759a strb r2, [r3, #22] hmsc->bot_data[7] = (uint8_t)(hmsc->scsi_blk_nbr - 1U); 80c08f0: 69bb ldr r3, [r7, #24] 80c08f2: f8d3 3268 ldr.w r3, [r3, #616] ; 0x268 80c08f6: b2db uxtb r3, r3 80c08f8: 3b01 subs r3, #1 80c08fa: b2da uxtb r2, r3 80c08fc: 69bb ldr r3, [r7, #24] 80c08fe: 75da strb r2, [r3, #23] hmsc->bot_data[8] = (uint8_t)(hmsc->scsi_blk_size >> 24); 80c0900: 69bb ldr r3, [r7, #24] 80c0902: f8b3 3264 ldrh.w r3, [r3, #612] ; 0x264 80c0906: 161b asrs r3, r3, #24 80c0908: b2da uxtb r2, r3 80c090a: 69bb ldr r3, [r7, #24] 80c090c: 761a strb r2, [r3, #24] hmsc->bot_data[9] = (uint8_t)(hmsc->scsi_blk_size >> 16); 80c090e: 69bb ldr r3, [r7, #24] 80c0910: f8b3 3264 ldrh.w r3, [r3, #612] ; 0x264 80c0914: 141b asrs r3, r3, #16 80c0916: b2da uxtb r2, r3 80c0918: 69bb ldr r3, [r7, #24] 80c091a: 765a strb r2, [r3, #25] hmsc->bot_data[10] = (uint8_t)(hmsc->scsi_blk_size >> 8); 80c091c: 69bb ldr r3, [r7, #24] 80c091e: f8b3 3264 ldrh.w r3, [r3, #612] ; 0x264 80c0922: 0a1b lsrs r3, r3, #8 80c0924: b29b uxth r3, r3 80c0926: b2da uxtb r2, r3 80c0928: 69bb ldr r3, [r7, #24] 80c092a: 769a strb r2, [r3, #26] hmsc->bot_data[11] = (uint8_t)(hmsc->scsi_blk_size); 80c092c: 69bb ldr r3, [r7, #24] 80c092e: f8b3 3264 ldrh.w r3, [r3, #612] ; 0x264 80c0932: b2da uxtb r2, r3 80c0934: 69bb ldr r3, [r7, #24] 80c0936: 76da strb r2, [r3, #27] hmsc->bot_data_length = ((uint32_t)params[10] << 24) | 80c0938: 687b ldr r3, [r7, #4] 80c093a: 330a adds r3, #10 80c093c: 781b ldrb r3, [r3, #0] 80c093e: 061a lsls r2, r3, #24 ((uint32_t)params[11] << 16) | 80c0940: 687b ldr r3, [r7, #4] 80c0942: 330b adds r3, #11 80c0944: 781b ldrb r3, [r3, #0] 80c0946: 041b lsls r3, r3, #16 hmsc->bot_data_length = ((uint32_t)params[10] << 24) | 80c0948: 431a orrs r2, r3 ((uint32_t)params[12] << 8) | 80c094a: 687b ldr r3, [r7, #4] 80c094c: 330c adds r3, #12 80c094e: 781b ldrb r3, [r3, #0] 80c0950: 021b lsls r3, r3, #8 ((uint32_t)params[11] << 16) | 80c0952: 4313 orrs r3, r2 (uint32_t)params[13]; 80c0954: 687a ldr r2, [r7, #4] 80c0956: 320d adds r2, #13 80c0958: 7812 ldrb r2, [r2, #0] ((uint32_t)params[12] << 8) | 80c095a: 431a orrs r2, r3 hmsc->bot_data_length = ((uint32_t)params[10] << 24) | 80c095c: 69bb ldr r3, [r7, #24] 80c095e: 60da str r2, [r3, #12] return 0; 80c0960: 2300 movs r3, #0 } 80c0962: 4618 mov r0, r3 80c0964: 3720 adds r7, #32 80c0966: 46bd mov sp, r7 80c0968: bd80 pop {r7, pc} 080c096a : * @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) { 80c096a: b580 push {r7, lr} 80c096c: b088 sub sp, #32 80c096e: af00 add r7, sp, #0 80c0970: 60f8 str r0, [r7, #12] 80c0972: 460b mov r3, r1 80c0974: 607a str r2, [r7, #4] 80c0976: 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; 80c0978: 68fb ldr r3, [r7, #12] 80c097a: f8d3 32bc ldr.w r3, [r3, #700] ; 0x2bc 80c097e: 61bb str r3, [r7, #24] ret = ((USBD_StorageTypeDef *)pdev->pUserData)->GetCapacity(lun, &blk_nbr, &blk_size); 80c0980: 68fb ldr r3, [r7, #12] 80c0982: f8d3 32c0 ldr.w r3, [r3, #704] ; 0x2c0 80c0986: 685b ldr r3, [r3, #4] 80c0988: f107 0214 add.w r2, r7, #20 80c098c: f107 0110 add.w r1, r7, #16 80c0990: 7af8 ldrb r0, [r7, #11] 80c0992: 4798 blx r3 80c0994: 4603 mov r3, r0 80c0996: 75fb strb r3, [r7, #23] if ((ret != 0) || (hmsc->scsi_medium_state == SCSI_MEDIUM_EJECTED)) 80c0998: f997 3017 ldrsb.w r3, [r7, #23] 80c099c: 2b00 cmp r3, #0 80c099e: d104 bne.n 80c09aa 80c09a0: 69bb ldr r3, [r7, #24] 80c09a2: f893 3262 ldrb.w r3, [r3, #610] ; 0x262 80c09a6: 2b02 cmp r3, #2 80c09a8: d108 bne.n 80c09bc { SCSI_SenseCode(pdev, lun, NOT_READY, MEDIUM_NOT_PRESENT); 80c09aa: 7af9 ldrb r1, [r7, #11] 80c09ac: 233a movs r3, #58 ; 0x3a 80c09ae: 2202 movs r2, #2 80c09b0: 68f8 ldr r0, [r7, #12] 80c09b2: f000 f90c bl 80c0bce return -1; 80c09b6: f04f 33ff mov.w r3, #4294967295 80c09ba: e03e b.n 80c0a3a } for (i = 0U; i < 12U ; i++) 80c09bc: 2300 movs r3, #0 80c09be: 83fb strh r3, [r7, #30] 80c09c0: e007 b.n 80c09d2 { hmsc->bot_data[i] = 0U; 80c09c2: 8bfb ldrh r3, [r7, #30] 80c09c4: 69ba ldr r2, [r7, #24] 80c09c6: 4413 add r3, r2 80c09c8: 2200 movs r2, #0 80c09ca: 741a strb r2, [r3, #16] for (i = 0U; i < 12U ; i++) 80c09cc: 8bfb ldrh r3, [r7, #30] 80c09ce: 3301 adds r3, #1 80c09d0: 83fb strh r3, [r7, #30] 80c09d2: 8bfb ldrh r3, [r7, #30] 80c09d4: 2b0b cmp r3, #11 80c09d6: d9f4 bls.n 80c09c2 } hmsc->bot_data[3] = 0x08U; 80c09d8: 69bb ldr r3, [r7, #24] 80c09da: 2208 movs r2, #8 80c09dc: 74da strb r2, [r3, #19] hmsc->bot_data[4] = (uint8_t)((blk_nbr - 1U) >> 24); 80c09de: 693b ldr r3, [r7, #16] 80c09e0: 3b01 subs r3, #1 80c09e2: 0e1b lsrs r3, r3, #24 80c09e4: b2da uxtb r2, r3 80c09e6: 69bb ldr r3, [r7, #24] 80c09e8: 751a strb r2, [r3, #20] hmsc->bot_data[5] = (uint8_t)((blk_nbr - 1U) >> 16); 80c09ea: 693b ldr r3, [r7, #16] 80c09ec: 3b01 subs r3, #1 80c09ee: 0c1b lsrs r3, r3, #16 80c09f0: b2da uxtb r2, r3 80c09f2: 69bb ldr r3, [r7, #24] 80c09f4: 755a strb r2, [r3, #21] hmsc->bot_data[6] = (uint8_t)((blk_nbr - 1U) >> 8); 80c09f6: 693b ldr r3, [r7, #16] 80c09f8: 3b01 subs r3, #1 80c09fa: 0a1b lsrs r3, r3, #8 80c09fc: b2da uxtb r2, r3 80c09fe: 69bb ldr r3, [r7, #24] 80c0a00: 759a strb r2, [r3, #22] hmsc->bot_data[7] = (uint8_t)(blk_nbr - 1U); 80c0a02: 693b ldr r3, [r7, #16] 80c0a04: b2db uxtb r3, r3 80c0a06: 3b01 subs r3, #1 80c0a08: b2da uxtb r2, r3 80c0a0a: 69bb ldr r3, [r7, #24] 80c0a0c: 75da strb r2, [r3, #23] hmsc->bot_data[8] = 0x02U; 80c0a0e: 69bb ldr r3, [r7, #24] 80c0a10: 2202 movs r2, #2 80c0a12: 761a strb r2, [r3, #24] hmsc->bot_data[9] = (uint8_t)(blk_size >> 16); 80c0a14: 8abb ldrh r3, [r7, #20] 80c0a16: 141b asrs r3, r3, #16 80c0a18: b2da uxtb r2, r3 80c0a1a: 69bb ldr r3, [r7, #24] 80c0a1c: 765a strb r2, [r3, #25] hmsc->bot_data[10] = (uint8_t)(blk_size >> 8); 80c0a1e: 8abb ldrh r3, [r7, #20] 80c0a20: 0a1b lsrs r3, r3, #8 80c0a22: b29b uxth r3, r3 80c0a24: b2da uxtb r2, r3 80c0a26: 69bb ldr r3, [r7, #24] 80c0a28: 769a strb r2, [r3, #26] hmsc->bot_data[11] = (uint8_t)(blk_size); 80c0a2a: 8abb ldrh r3, [r7, #20] 80c0a2c: b2da uxtb r2, r3 80c0a2e: 69bb ldr r3, [r7, #24] 80c0a30: 76da strb r2, [r3, #27] hmsc->bot_data_length = 12U; 80c0a32: 69bb ldr r3, [r7, #24] 80c0a34: 220c movs r2, #12 80c0a36: 60da str r2, [r3, #12] return 0; 80c0a38: 2300 movs r3, #0 } 80c0a3a: 4618 mov r0, r3 80c0a3c: 3720 adds r7, #32 80c0a3e: 46bd mov sp, r7 80c0a40: bd80 pop {r7, pc} ... 080c0a44 : * @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) { 80c0a44: b580 push {r7, lr} 80c0a46: b086 sub sp, #24 80c0a48: af00 add r7, sp, #0 80c0a4a: 60f8 str r0, [r7, #12] 80c0a4c: 460b mov r3, r1 80c0a4e: 607a str r2, [r7, #4] 80c0a50: 72fb strb r3, [r7, #11] UNUSED(lun); USBD_MSC_BOT_HandleTypeDef *hmsc = (USBD_MSC_BOT_HandleTypeDef *)pdev->pClassData; 80c0a52: 68fb ldr r3, [r7, #12] 80c0a54: f8d3 32bc ldr.w r3, [r3, #700] ; 0x2bc 80c0a58: 613b str r3, [r7, #16] uint16_t len = MODE_SENSE6_LEN; 80c0a5a: 2317 movs r3, #23 80c0a5c: 82fb strh r3, [r7, #22] if (params[4] <= len) 80c0a5e: 687b ldr r3, [r7, #4] 80c0a60: 3304 adds r3, #4 80c0a62: 781b ldrb r3, [r3, #0] 80c0a64: b29b uxth r3, r3 80c0a66: 8afa ldrh r2, [r7, #22] 80c0a68: 429a cmp r2, r3 80c0a6a: d303 bcc.n 80c0a74 { len = params[4]; 80c0a6c: 687b ldr r3, [r7, #4] 80c0a6e: 3304 adds r3, #4 80c0a70: 781b ldrb r3, [r3, #0] 80c0a72: 82fb strh r3, [r7, #22] } (void)SCSI_UpdateBotData(hmsc, MSC_Mode_Sense6_data, len); 80c0a74: 8afb ldrh r3, [r7, #22] 80c0a76: 461a mov r2, r3 80c0a78: 4904 ldr r1, [pc, #16] ; (80c0a8c ) 80c0a7a: 6938 ldr r0, [r7, #16] 80c0a7c: f000 fd70 bl 80c1560 return 0; 80c0a80: 2300 movs r3, #0 } 80c0a82: 4618 mov r0, r3 80c0a84: 3718 adds r7, #24 80c0a86: 46bd mov sp, r7 80c0a88: bd80 pop {r7, pc} 80c0a8a: bf00 nop 80c0a8c: 20020a90 .word 0x20020a90 080c0a90 : * @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) { 80c0a90: b580 push {r7, lr} 80c0a92: b086 sub sp, #24 80c0a94: af00 add r7, sp, #0 80c0a96: 60f8 str r0, [r7, #12] 80c0a98: 460b mov r3, r1 80c0a9a: 607a str r2, [r7, #4] 80c0a9c: 72fb strb r3, [r7, #11] UNUSED(lun); USBD_MSC_BOT_HandleTypeDef *hmsc = (USBD_MSC_BOT_HandleTypeDef *)pdev->pClassData; 80c0a9e: 68fb ldr r3, [r7, #12] 80c0aa0: f8d3 32bc ldr.w r3, [r3, #700] ; 0x2bc 80c0aa4: 613b str r3, [r7, #16] uint16_t len = MODE_SENSE10_LEN; 80c0aa6: 231b movs r3, #27 80c0aa8: 82fb strh r3, [r7, #22] if (params[8] <= len) 80c0aaa: 687b ldr r3, [r7, #4] 80c0aac: 3308 adds r3, #8 80c0aae: 781b ldrb r3, [r3, #0] 80c0ab0: b29b uxth r3, r3 80c0ab2: 8afa ldrh r2, [r7, #22] 80c0ab4: 429a cmp r2, r3 80c0ab6: d303 bcc.n 80c0ac0 { len = params[8]; 80c0ab8: 687b ldr r3, [r7, #4] 80c0aba: 3308 adds r3, #8 80c0abc: 781b ldrb r3, [r3, #0] 80c0abe: 82fb strh r3, [r7, #22] } (void)SCSI_UpdateBotData(hmsc, MSC_Mode_Sense10_data, len); 80c0ac0: 8afb ldrh r3, [r7, #22] 80c0ac2: 461a mov r2, r3 80c0ac4: 4904 ldr r1, [pc, #16] ; (80c0ad8 ) 80c0ac6: 6938 ldr r0, [r7, #16] 80c0ac8: f000 fd4a bl 80c1560 return 0; 80c0acc: 2300 movs r3, #0 } 80c0ace: 4618 mov r0, r3 80c0ad0: 3718 adds r7, #24 80c0ad2: 46bd mov sp, r7 80c0ad4: bd80 pop {r7, pc} 80c0ad6: bf00 nop 80c0ad8: 20020aa8 .word 0x20020aa8 080c0adc : * @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) { 80c0adc: b580 push {r7, lr} 80c0ade: b086 sub sp, #24 80c0ae0: af00 add r7, sp, #0 80c0ae2: 60f8 str r0, [r7, #12] 80c0ae4: 460b mov r3, r1 80c0ae6: 607a str r2, [r7, #4] 80c0ae8: 72fb strb r3, [r7, #11] UNUSED(lun); uint8_t i; USBD_MSC_BOT_HandleTypeDef *hmsc = (USBD_MSC_BOT_HandleTypeDef *)pdev->pClassData; 80c0aea: 68fb ldr r3, [r7, #12] 80c0aec: f8d3 32bc ldr.w r3, [r3, #700] ; 0x2bc 80c0af0: 613b str r3, [r7, #16] if (hmsc->cbw.dDataLength == 0U) 80c0af2: 693b ldr r3, [r7, #16] 80c0af4: f8d3 3218 ldr.w r3, [r3, #536] ; 0x218 80c0af8: 2b00 cmp r3, #0 80c0afa: d10a bne.n 80c0b12 { SCSI_SenseCode(pdev, hmsc->cbw.bLUN, ILLEGAL_REQUEST, INVALID_CDB); 80c0afc: 693b ldr r3, [r7, #16] 80c0afe: f893 121d ldrb.w r1, [r3, #541] ; 0x21d 80c0b02: 2320 movs r3, #32 80c0b04: 2205 movs r2, #5 80c0b06: 68f8 ldr r0, [r7, #12] 80c0b08: f000 f861 bl 80c0bce return -1; 80c0b0c: f04f 33ff mov.w r3, #4294967295 80c0b10: e059 b.n 80c0bc6 } for (i = 0U; i < REQUEST_SENSE_DATA_LEN; i++) 80c0b12: 2300 movs r3, #0 80c0b14: 75fb strb r3, [r7, #23] 80c0b16: e007 b.n 80c0b28 { hmsc->bot_data[i] = 0U; 80c0b18: 7dfb ldrb r3, [r7, #23] 80c0b1a: 693a ldr r2, [r7, #16] 80c0b1c: 4413 add r3, r2 80c0b1e: 2200 movs r2, #0 80c0b20: 741a strb r2, [r3, #16] for (i = 0U; i < REQUEST_SENSE_DATA_LEN; i++) 80c0b22: 7dfb ldrb r3, [r7, #23] 80c0b24: 3301 adds r3, #1 80c0b26: 75fb strb r3, [r7, #23] 80c0b28: 7dfb ldrb r3, [r7, #23] 80c0b2a: 2b11 cmp r3, #17 80c0b2c: d9f4 bls.n 80c0b18 } hmsc->bot_data[0] = 0x70U; 80c0b2e: 693b ldr r3, [r7, #16] 80c0b30: 2270 movs r2, #112 ; 0x70 80c0b32: 741a strb r2, [r3, #16] hmsc->bot_data[7] = REQUEST_SENSE_DATA_LEN - 6U; 80c0b34: 693b ldr r3, [r7, #16] 80c0b36: 220c movs r2, #12 80c0b38: 75da strb r2, [r3, #23] if ((hmsc->scsi_sense_head != hmsc->scsi_sense_tail)) 80c0b3a: 693b ldr r3, [r7, #16] 80c0b3c: f893 2260 ldrb.w r2, [r3, #608] ; 0x260 80c0b40: 693b ldr r3, [r7, #16] 80c0b42: f893 3261 ldrb.w r3, [r3, #609] ; 0x261 80c0b46: 429a cmp r2, r3 80c0b48: d02e beq.n 80c0ba8 { hmsc->bot_data[2] = (uint8_t)hmsc->scsi_sense[hmsc->scsi_sense_head].Skey; 80c0b4a: 693b ldr r3, [r7, #16] 80c0b4c: f893 3260 ldrb.w r3, [r3, #608] ; 0x260 80c0b50: 461a mov r2, r3 80c0b52: 693b ldr r3, [r7, #16] 80c0b54: 3248 adds r2, #72 ; 0x48 80c0b56: f813 2032 ldrb.w r2, [r3, r2, lsl #3] 80c0b5a: 693b ldr r3, [r7, #16] 80c0b5c: 749a strb r2, [r3, #18] hmsc->bot_data[12] = (uint8_t)hmsc->scsi_sense[hmsc->scsi_sense_head].w.b.ASC; 80c0b5e: 693b ldr r3, [r7, #16] 80c0b60: f893 3260 ldrb.w r3, [r3, #608] ; 0x260 80c0b64: 693a ldr r2, [r7, #16] 80c0b66: 3348 adds r3, #72 ; 0x48 80c0b68: 00db lsls r3, r3, #3 80c0b6a: 4413 add r3, r2 80c0b6c: 791a ldrb r2, [r3, #4] 80c0b6e: 693b ldr r3, [r7, #16] 80c0b70: 771a strb r2, [r3, #28] hmsc->bot_data[13] = (uint8_t)hmsc->scsi_sense[hmsc->scsi_sense_head].w.b.ASCQ; 80c0b72: 693b ldr r3, [r7, #16] 80c0b74: f893 3260 ldrb.w r3, [r3, #608] ; 0x260 80c0b78: 693a ldr r2, [r7, #16] 80c0b7a: 3348 adds r3, #72 ; 0x48 80c0b7c: 00db lsls r3, r3, #3 80c0b7e: 4413 add r3, r2 80c0b80: 795a ldrb r2, [r3, #5] 80c0b82: 693b ldr r3, [r7, #16] 80c0b84: 775a strb r2, [r3, #29] hmsc->scsi_sense_head++; 80c0b86: 693b ldr r3, [r7, #16] 80c0b88: f893 3260 ldrb.w r3, [r3, #608] ; 0x260 80c0b8c: 3301 adds r3, #1 80c0b8e: b2da uxtb r2, r3 80c0b90: 693b ldr r3, [r7, #16] 80c0b92: f883 2260 strb.w r2, [r3, #608] ; 0x260 if (hmsc->scsi_sense_head == SENSE_LIST_DEEPTH) 80c0b96: 693b ldr r3, [r7, #16] 80c0b98: f893 3260 ldrb.w r3, [r3, #608] ; 0x260 80c0b9c: 2b04 cmp r3, #4 80c0b9e: d103 bne.n 80c0ba8 { hmsc->scsi_sense_head = 0U; 80c0ba0: 693b ldr r3, [r7, #16] 80c0ba2: 2200 movs r2, #0 80c0ba4: f883 2260 strb.w r2, [r3, #608] ; 0x260 } } hmsc->bot_data_length = REQUEST_SENSE_DATA_LEN; 80c0ba8: 693b ldr r3, [r7, #16] 80c0baa: 2212 movs r2, #18 80c0bac: 60da str r2, [r3, #12] if (params[4] <= REQUEST_SENSE_DATA_LEN) 80c0bae: 687b ldr r3, [r7, #4] 80c0bb0: 3304 adds r3, #4 80c0bb2: 781b ldrb r3, [r3, #0] 80c0bb4: 2b12 cmp r3, #18 80c0bb6: d805 bhi.n 80c0bc4 { hmsc->bot_data_length = params[4]; 80c0bb8: 687b ldr r3, [r7, #4] 80c0bba: 3304 adds r3, #4 80c0bbc: 781b ldrb r3, [r3, #0] 80c0bbe: 461a mov r2, r3 80c0bc0: 693b ldr r3, [r7, #16] 80c0bc2: 60da str r2, [r3, #12] } return 0; 80c0bc4: 2300 movs r3, #0 } 80c0bc6: 4618 mov r0, r3 80c0bc8: 3718 adds r7, #24 80c0bca: 46bd mov sp, r7 80c0bcc: bd80 pop {r7, pc} 080c0bce : * @param ASC: Additional Sense Code * @retval none */ void SCSI_SenseCode(USBD_HandleTypeDef *pdev, uint8_t lun, uint8_t sKey, uint8_t ASC) { 80c0bce: b480 push {r7} 80c0bd0: b085 sub sp, #20 80c0bd2: af00 add r7, sp, #0 80c0bd4: 6078 str r0, [r7, #4] 80c0bd6: 4608 mov r0, r1 80c0bd8: 4611 mov r1, r2 80c0bda: 461a mov r2, r3 80c0bdc: 4603 mov r3, r0 80c0bde: 70fb strb r3, [r7, #3] 80c0be0: 460b mov r3, r1 80c0be2: 70bb strb r3, [r7, #2] 80c0be4: 4613 mov r3, r2 80c0be6: 707b strb r3, [r7, #1] UNUSED(lun); USBD_MSC_BOT_HandleTypeDef *hmsc = (USBD_MSC_BOT_HandleTypeDef *)pdev->pClassData; 80c0be8: 687b ldr r3, [r7, #4] 80c0bea: f8d3 32bc ldr.w r3, [r3, #700] ; 0x2bc 80c0bee: 60fb str r3, [r7, #12] hmsc->scsi_sense[hmsc->scsi_sense_tail].Skey = sKey; 80c0bf0: 68fb ldr r3, [r7, #12] 80c0bf2: f893 3261 ldrb.w r3, [r3, #609] ; 0x261 80c0bf6: 461a mov r2, r3 80c0bf8: 68fb ldr r3, [r7, #12] 80c0bfa: 3248 adds r2, #72 ; 0x48 80c0bfc: 78b9 ldrb r1, [r7, #2] 80c0bfe: f803 1032 strb.w r1, [r3, r2, lsl #3] hmsc->scsi_sense[hmsc->scsi_sense_tail].w.b.ASC = ASC; 80c0c02: 68fb ldr r3, [r7, #12] 80c0c04: f893 3261 ldrb.w r3, [r3, #609] ; 0x261 80c0c08: 68fa ldr r2, [r7, #12] 80c0c0a: 3348 adds r3, #72 ; 0x48 80c0c0c: 00db lsls r3, r3, #3 80c0c0e: 4413 add r3, r2 80c0c10: 787a ldrb r2, [r7, #1] 80c0c12: 711a strb r2, [r3, #4] hmsc->scsi_sense[hmsc->scsi_sense_tail].w.b.ASCQ = 0U; 80c0c14: 68fb ldr r3, [r7, #12] 80c0c16: f893 3261 ldrb.w r3, [r3, #609] ; 0x261 80c0c1a: 68fa ldr r2, [r7, #12] 80c0c1c: 3348 adds r3, #72 ; 0x48 80c0c1e: 00db lsls r3, r3, #3 80c0c20: 4413 add r3, r2 80c0c22: 2200 movs r2, #0 80c0c24: 715a strb r2, [r3, #5] hmsc->scsi_sense_tail++; 80c0c26: 68fb ldr r3, [r7, #12] 80c0c28: f893 3261 ldrb.w r3, [r3, #609] ; 0x261 80c0c2c: 3301 adds r3, #1 80c0c2e: b2da uxtb r2, r3 80c0c30: 68fb ldr r3, [r7, #12] 80c0c32: f883 2261 strb.w r2, [r3, #609] ; 0x261 if (hmsc->scsi_sense_tail == SENSE_LIST_DEEPTH) 80c0c36: 68fb ldr r3, [r7, #12] 80c0c38: f893 3261 ldrb.w r3, [r3, #609] ; 0x261 80c0c3c: 2b04 cmp r3, #4 80c0c3e: d103 bne.n 80c0c48 { hmsc->scsi_sense_tail = 0U; 80c0c40: 68fb ldr r3, [r7, #12] 80c0c42: 2200 movs r2, #0 80c0c44: f883 2261 strb.w r2, [r3, #609] ; 0x261 } } 80c0c48: bf00 nop 80c0c4a: 3714 adds r7, #20 80c0c4c: 46bd mov sp, r7 80c0c4e: f85d 7b04 ldr.w r7, [sp], #4 80c0c52: 4770 bx lr 080c0c54 : * @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) { 80c0c54: b580 push {r7, lr} 80c0c56: b086 sub sp, #24 80c0c58: af00 add r7, sp, #0 80c0c5a: 60f8 str r0, [r7, #12] 80c0c5c: 460b mov r3, r1 80c0c5e: 607a str r2, [r7, #4] 80c0c60: 72fb strb r3, [r7, #11] UNUSED(lun); USBD_MSC_BOT_HandleTypeDef *hmsc = (USBD_MSC_BOT_HandleTypeDef *)pdev->pClassData; 80c0c62: 68fb ldr r3, [r7, #12] 80c0c64: f8d3 32bc ldr.w r3, [r3, #700] ; 0x2bc 80c0c68: 617b str r3, [r7, #20] if ((hmsc->scsi_medium_state == SCSI_MEDIUM_LOCKED) && ((params[4] & 0x3U) == 2U)) 80c0c6a: 697b ldr r3, [r7, #20] 80c0c6c: f893 3262 ldrb.w r3, [r3, #610] ; 0x262 80c0c70: 2b01 cmp r3, #1 80c0c72: d10f bne.n 80c0c94 80c0c74: 687b ldr r3, [r7, #4] 80c0c76: 3304 adds r3, #4 80c0c78: 781b ldrb r3, [r3, #0] 80c0c7a: f003 0303 and.w r3, r3, #3 80c0c7e: 2b02 cmp r3, #2 80c0c80: d108 bne.n 80c0c94 { SCSI_SenseCode(pdev, lun, ILLEGAL_REQUEST, INVALID_FIELED_IN_COMMAND); 80c0c82: 7af9 ldrb r1, [r7, #11] 80c0c84: 2324 movs r3, #36 ; 0x24 80c0c86: 2205 movs r2, #5 80c0c88: 68f8 ldr r0, [r7, #12] 80c0c8a: f7ff ffa0 bl 80c0bce return -1; 80c0c8e: f04f 33ff mov.w r3, #4294967295 80c0c92: e026 b.n 80c0ce2 } if ((params[4] & 0x3U) == 0x1U) /* START=1 */ 80c0c94: 687b ldr r3, [r7, #4] 80c0c96: 3304 adds r3, #4 80c0c98: 781b ldrb r3, [r3, #0] 80c0c9a: f003 0303 and.w r3, r3, #3 80c0c9e: 2b01 cmp r3, #1 80c0ca0: d104 bne.n 80c0cac { hmsc->scsi_medium_state = SCSI_MEDIUM_UNLOCKED; 80c0ca2: 697b ldr r3, [r7, #20] 80c0ca4: 2200 movs r2, #0 80c0ca6: f883 2262 strb.w r2, [r3, #610] ; 0x262 80c0caa: e016 b.n 80c0cda } else if ((params[4] & 0x3U) == 0x2U) /* START=0 and LOEJ Load Eject=1 */ 80c0cac: 687b ldr r3, [r7, #4] 80c0cae: 3304 adds r3, #4 80c0cb0: 781b ldrb r3, [r3, #0] 80c0cb2: f003 0303 and.w r3, r3, #3 80c0cb6: 2b02 cmp r3, #2 80c0cb8: d104 bne.n 80c0cc4 { hmsc->scsi_medium_state = SCSI_MEDIUM_EJECTED; 80c0cba: 697b ldr r3, [r7, #20] 80c0cbc: 2202 movs r2, #2 80c0cbe: f883 2262 strb.w r2, [r3, #610] ; 0x262 80c0cc2: e00a b.n 80c0cda } else if ((params[4] & 0x3U) == 0x3U) /* START=1 and LOEJ Load Eject=1 */ 80c0cc4: 687b ldr r3, [r7, #4] 80c0cc6: 3304 adds r3, #4 80c0cc8: 781b ldrb r3, [r3, #0] 80c0cca: f003 0303 and.w r3, r3, #3 80c0cce: 2b03 cmp r3, #3 80c0cd0: d103 bne.n 80c0cda { hmsc->scsi_medium_state = SCSI_MEDIUM_UNLOCKED; 80c0cd2: 697b ldr r3, [r7, #20] 80c0cd4: 2200 movs r2, #0 80c0cd6: f883 2262 strb.w r2, [r3, #610] ; 0x262 } else { /* .. */ } hmsc->bot_data_length = 0U; 80c0cda: 697b ldr r3, [r7, #20] 80c0cdc: 2200 movs r2, #0 80c0cde: 60da str r2, [r3, #12] return 0; 80c0ce0: 2300 movs r3, #0 } 80c0ce2: 4618 mov r0, r3 80c0ce4: 3718 adds r7, #24 80c0ce6: 46bd mov sp, r7 80c0ce8: bd80 pop {r7, pc} 080c0cea : * @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) { 80c0cea: b480 push {r7} 80c0cec: b087 sub sp, #28 80c0cee: af00 add r7, sp, #0 80c0cf0: 60f8 str r0, [r7, #12] 80c0cf2: 460b mov r3, r1 80c0cf4: 607a str r2, [r7, #4] 80c0cf6: 72fb strb r3, [r7, #11] UNUSED(lun); USBD_MSC_BOT_HandleTypeDef *hmsc = (USBD_MSC_BOT_HandleTypeDef *)pdev->pClassData; 80c0cf8: 68fb ldr r3, [r7, #12] 80c0cfa: f8d3 32bc ldr.w r3, [r3, #700] ; 0x2bc 80c0cfe: 617b str r3, [r7, #20] if (params[4] == 0U) 80c0d00: 687b ldr r3, [r7, #4] 80c0d02: 3304 adds r3, #4 80c0d04: 781b ldrb r3, [r3, #0] 80c0d06: 2b00 cmp r3, #0 80c0d08: d104 bne.n 80c0d14 { hmsc->scsi_medium_state = SCSI_MEDIUM_UNLOCKED; 80c0d0a: 697b ldr r3, [r7, #20] 80c0d0c: 2200 movs r2, #0 80c0d0e: f883 2262 strb.w r2, [r3, #610] ; 0x262 80c0d12: e003 b.n 80c0d1c } else { hmsc->scsi_medium_state = SCSI_MEDIUM_LOCKED; 80c0d14: 697b ldr r3, [r7, #20] 80c0d16: 2201 movs r2, #1 80c0d18: f883 2262 strb.w r2, [r3, #610] ; 0x262 } hmsc->bot_data_length = 0U; 80c0d1c: 697b ldr r3, [r7, #20] 80c0d1e: 2200 movs r2, #0 80c0d20: 60da str r2, [r3, #12] return 0; 80c0d22: 2300 movs r3, #0 } 80c0d24: 4618 mov r0, r3 80c0d26: 371c adds r7, #28 80c0d28: 46bd mov sp, r7 80c0d2a: f85d 7b04 ldr.w r7, [sp], #4 80c0d2e: 4770 bx lr 080c0d30 : * @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) { 80c0d30: b580 push {r7, lr} 80c0d32: b086 sub sp, #24 80c0d34: af00 add r7, sp, #0 80c0d36: 60f8 str r0, [r7, #12] 80c0d38: 460b mov r3, r1 80c0d3a: 607a str r2, [r7, #4] 80c0d3c: 72fb strb r3, [r7, #11] USBD_MSC_BOT_HandleTypeDef *hmsc = (USBD_MSC_BOT_HandleTypeDef *)pdev->pClassData; 80c0d3e: 68fb ldr r3, [r7, #12] 80c0d40: f8d3 32bc ldr.w r3, [r3, #700] ; 0x2bc 80c0d44: 617b str r3, [r7, #20] if (hmsc->bot_state == USBD_BOT_IDLE) /* Idle */ 80c0d46: 697b ldr r3, [r7, #20] 80c0d48: 7a1b ldrb r3, [r3, #8] 80c0d4a: 2b00 cmp r3, #0 80c0d4c: d17c bne.n 80c0e48 { /* case 10 : Ho <> Di */ if ((hmsc->cbw.bmFlags & 0x80U) != 0x80U) 80c0d4e: 697b ldr r3, [r7, #20] 80c0d50: f893 321c ldrb.w r3, [r3, #540] ; 0x21c 80c0d54: b25b sxtb r3, r3 80c0d56: 2b00 cmp r3, #0 80c0d58: db0a blt.n 80c0d70 { SCSI_SenseCode(pdev, hmsc->cbw.bLUN, ILLEGAL_REQUEST, INVALID_CDB); 80c0d5a: 697b ldr r3, [r7, #20] 80c0d5c: f893 121d ldrb.w r1, [r3, #541] ; 0x21d 80c0d60: 2320 movs r3, #32 80c0d62: 2205 movs r2, #5 80c0d64: 68f8 ldr r0, [r7, #12] 80c0d66: f7ff ff32 bl 80c0bce return -1; 80c0d6a: f04f 33ff mov.w r3, #4294967295 80c0d6e: e075 b.n 80c0e5c } if (hmsc->scsi_medium_state == SCSI_MEDIUM_EJECTED) 80c0d70: 697b ldr r3, [r7, #20] 80c0d72: f893 3262 ldrb.w r3, [r3, #610] ; 0x262 80c0d76: 2b02 cmp r3, #2 80c0d78: d108 bne.n 80c0d8c { SCSI_SenseCode(pdev, lun, NOT_READY, MEDIUM_NOT_PRESENT); 80c0d7a: 7af9 ldrb r1, [r7, #11] 80c0d7c: 233a movs r3, #58 ; 0x3a 80c0d7e: 2202 movs r2, #2 80c0d80: 68f8 ldr r0, [r7, #12] 80c0d82: f7ff ff24 bl 80c0bce return -1; 80c0d86: f04f 33ff mov.w r3, #4294967295 80c0d8a: e067 b.n 80c0e5c } if (((USBD_StorageTypeDef *)pdev->pUserData)->IsReady(lun) != 0) 80c0d8c: 68fb ldr r3, [r7, #12] 80c0d8e: f8d3 32c0 ldr.w r3, [r3, #704] ; 0x2c0 80c0d92: 689b ldr r3, [r3, #8] 80c0d94: 7afa ldrb r2, [r7, #11] 80c0d96: 4610 mov r0, r2 80c0d98: 4798 blx r3 80c0d9a: 4603 mov r3, r0 80c0d9c: 2b00 cmp r3, #0 80c0d9e: d008 beq.n 80c0db2 { SCSI_SenseCode(pdev, lun, NOT_READY, MEDIUM_NOT_PRESENT); 80c0da0: 7af9 ldrb r1, [r7, #11] 80c0da2: 233a movs r3, #58 ; 0x3a 80c0da4: 2202 movs r2, #2 80c0da6: 68f8 ldr r0, [r7, #12] 80c0da8: f7ff ff11 bl 80c0bce return -1; 80c0dac: f04f 33ff mov.w r3, #4294967295 80c0db0: e054 b.n 80c0e5c } hmsc->scsi_blk_addr = ((uint32_t)params[2] << 24) | 80c0db2: 687b ldr r3, [r7, #4] 80c0db4: 3302 adds r3, #2 80c0db6: 781b ldrb r3, [r3, #0] 80c0db8: 061a lsls r2, r3, #24 ((uint32_t)params[3] << 16) | 80c0dba: 687b ldr r3, [r7, #4] 80c0dbc: 3303 adds r3, #3 80c0dbe: 781b ldrb r3, [r3, #0] 80c0dc0: 041b lsls r3, r3, #16 hmsc->scsi_blk_addr = ((uint32_t)params[2] << 24) | 80c0dc2: 431a orrs r2, r3 ((uint32_t)params[4] << 8) | 80c0dc4: 687b ldr r3, [r7, #4] 80c0dc6: 3304 adds r3, #4 80c0dc8: 781b ldrb r3, [r3, #0] 80c0dca: 021b lsls r3, r3, #8 ((uint32_t)params[3] << 16) | 80c0dcc: 4313 orrs r3, r2 (uint32_t)params[5]; 80c0dce: 687a ldr r2, [r7, #4] 80c0dd0: 3205 adds r2, #5 80c0dd2: 7812 ldrb r2, [r2, #0] ((uint32_t)params[4] << 8) | 80c0dd4: 431a orrs r2, r3 hmsc->scsi_blk_addr = ((uint32_t)params[2] << 24) | 80c0dd6: 697b ldr r3, [r7, #20] 80c0dd8: f8c3 226c str.w r2, [r3, #620] ; 0x26c hmsc->scsi_blk_len = ((uint32_t)params[7] << 8) | (uint32_t)params[8]; 80c0ddc: 687b ldr r3, [r7, #4] 80c0dde: 3307 adds r3, #7 80c0de0: 781b ldrb r3, [r3, #0] 80c0de2: 021b lsls r3, r3, #8 80c0de4: 687a ldr r2, [r7, #4] 80c0de6: 3208 adds r2, #8 80c0de8: 7812 ldrb r2, [r2, #0] 80c0dea: 431a orrs r2, r3 80c0dec: 697b ldr r3, [r7, #20] 80c0dee: f8c3 2270 str.w r2, [r3, #624] ; 0x270 if (SCSI_CheckAddressRange(pdev, lun, hmsc->scsi_blk_addr, 80c0df2: 697b ldr r3, [r7, #20] 80c0df4: f8d3 226c ldr.w r2, [r3, #620] ; 0x26c 80c0df8: 697b ldr r3, [r7, #20] 80c0dfa: f8d3 3270 ldr.w r3, [r3, #624] ; 0x270 80c0dfe: 7af9 ldrb r1, [r7, #11] 80c0e00: 68f8 ldr r0, [r7, #12] 80c0e02: f000 fa95 bl 80c1330 80c0e06: 4603 mov r3, r0 80c0e08: 2b00 cmp r3, #0 80c0e0a: da02 bge.n 80c0e12 hmsc->scsi_blk_len) < 0) { return -1; /* error */ 80c0e0c: f04f 33ff mov.w r3, #4294967295 80c0e10: e024 b.n 80c0e5c } /* cases 4,5 : Hi <> Dn */ if (hmsc->cbw.dDataLength != (hmsc->scsi_blk_len * hmsc->scsi_blk_size)) 80c0e12: 697b ldr r3, [r7, #20] 80c0e14: f8d3 2218 ldr.w r2, [r3, #536] ; 0x218 80c0e18: 697b ldr r3, [r7, #20] 80c0e1a: f8d3 3270 ldr.w r3, [r3, #624] ; 0x270 80c0e1e: 6979 ldr r1, [r7, #20] 80c0e20: f8b1 1264 ldrh.w r1, [r1, #612] ; 0x264 80c0e24: fb01 f303 mul.w r3, r1, r3 80c0e28: 429a cmp r2, r3 80c0e2a: d00a beq.n 80c0e42 { SCSI_SenseCode(pdev, hmsc->cbw.bLUN, ILLEGAL_REQUEST, INVALID_CDB); 80c0e2c: 697b ldr r3, [r7, #20] 80c0e2e: f893 121d ldrb.w r1, [r3, #541] ; 0x21d 80c0e32: 2320 movs r3, #32 80c0e34: 2205 movs r2, #5 80c0e36: 68f8 ldr r0, [r7, #12] 80c0e38: f7ff fec9 bl 80c0bce return -1; 80c0e3c: f04f 33ff mov.w r3, #4294967295 80c0e40: e00c b.n 80c0e5c } hmsc->bot_state = USBD_BOT_DATA_IN; 80c0e42: 697b ldr r3, [r7, #20] 80c0e44: 2202 movs r2, #2 80c0e46: 721a strb r2, [r3, #8] } hmsc->bot_data_length = MSC_MEDIA_PACKET; 80c0e48: 697b ldr r3, [r7, #20] 80c0e4a: f44f 7200 mov.w r2, #512 ; 0x200 80c0e4e: 60da str r2, [r3, #12] return SCSI_ProcessRead(pdev, lun); 80c0e50: 7afb ldrb r3, [r7, #11] 80c0e52: 4619 mov r1, r3 80c0e54: 68f8 ldr r0, [r7, #12] 80c0e56: f000 fa8d bl 80c1374 80c0e5a: 4603 mov r3, r0 } 80c0e5c: 4618 mov r0, r3 80c0e5e: 3718 adds r7, #24 80c0e60: 46bd mov sp, r7 80c0e62: bd80 pop {r7, pc} 080c0e64 : * @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) { 80c0e64: b580 push {r7, lr} 80c0e66: b086 sub sp, #24 80c0e68: af00 add r7, sp, #0 80c0e6a: 60f8 str r0, [r7, #12] 80c0e6c: 460b mov r3, r1 80c0e6e: 607a str r2, [r7, #4] 80c0e70: 72fb strb r3, [r7, #11] USBD_MSC_BOT_HandleTypeDef *hmsc = (USBD_MSC_BOT_HandleTypeDef *)pdev->pClassData; 80c0e72: 68fb ldr r3, [r7, #12] 80c0e74: f8d3 32bc ldr.w r3, [r3, #700] ; 0x2bc 80c0e78: 617b str r3, [r7, #20] if (hmsc->bot_state == USBD_BOT_IDLE) /* Idle */ 80c0e7a: 697b ldr r3, [r7, #20] 80c0e7c: 7a1b ldrb r3, [r3, #8] 80c0e7e: 2b00 cmp r3, #0 80c0e80: f040 8087 bne.w 80c0f92 { /* case 10 : Ho <> Di */ if ((hmsc->cbw.bmFlags & 0x80U) != 0x80U) 80c0e84: 697b ldr r3, [r7, #20] 80c0e86: f893 321c ldrb.w r3, [r3, #540] ; 0x21c 80c0e8a: b25b sxtb r3, r3 80c0e8c: 2b00 cmp r3, #0 80c0e8e: db0a blt.n 80c0ea6 { SCSI_SenseCode(pdev, hmsc->cbw.bLUN, ILLEGAL_REQUEST, INVALID_CDB); 80c0e90: 697b ldr r3, [r7, #20] 80c0e92: f893 121d ldrb.w r1, [r3, #541] ; 0x21d 80c0e96: 2320 movs r3, #32 80c0e98: 2205 movs r2, #5 80c0e9a: 68f8 ldr r0, [r7, #12] 80c0e9c: f7ff fe97 bl 80c0bce return -1; 80c0ea0: f04f 33ff mov.w r3, #4294967295 80c0ea4: e07f b.n 80c0fa6 } if (hmsc->scsi_medium_state == SCSI_MEDIUM_EJECTED) 80c0ea6: 697b ldr r3, [r7, #20] 80c0ea8: f893 3262 ldrb.w r3, [r3, #610] ; 0x262 80c0eac: 2b02 cmp r3, #2 80c0eae: d108 bne.n 80c0ec2 { SCSI_SenseCode(pdev, lun, NOT_READY, MEDIUM_NOT_PRESENT); 80c0eb0: 7af9 ldrb r1, [r7, #11] 80c0eb2: 233a movs r3, #58 ; 0x3a 80c0eb4: 2202 movs r2, #2 80c0eb6: 68f8 ldr r0, [r7, #12] 80c0eb8: f7ff fe89 bl 80c0bce return -1; 80c0ebc: f04f 33ff mov.w r3, #4294967295 80c0ec0: e071 b.n 80c0fa6 } if (((USBD_StorageTypeDef *)pdev->pUserData)->IsReady(lun) != 0) 80c0ec2: 68fb ldr r3, [r7, #12] 80c0ec4: f8d3 32c0 ldr.w r3, [r3, #704] ; 0x2c0 80c0ec8: 689b ldr r3, [r3, #8] 80c0eca: 7afa ldrb r2, [r7, #11] 80c0ecc: 4610 mov r0, r2 80c0ece: 4798 blx r3 80c0ed0: 4603 mov r3, r0 80c0ed2: 2b00 cmp r3, #0 80c0ed4: d008 beq.n 80c0ee8 { SCSI_SenseCode(pdev, lun, NOT_READY, MEDIUM_NOT_PRESENT); 80c0ed6: 7af9 ldrb r1, [r7, #11] 80c0ed8: 233a movs r3, #58 ; 0x3a 80c0eda: 2202 movs r2, #2 80c0edc: 68f8 ldr r0, [r7, #12] 80c0ede: f7ff fe76 bl 80c0bce return -1; 80c0ee2: f04f 33ff mov.w r3, #4294967295 80c0ee6: e05e b.n 80c0fa6 } hmsc->scsi_blk_addr = ((uint32_t)params[2] << 24) | 80c0ee8: 687b ldr r3, [r7, #4] 80c0eea: 3302 adds r3, #2 80c0eec: 781b ldrb r3, [r3, #0] 80c0eee: 061a lsls r2, r3, #24 ((uint32_t)params[3] << 16) | 80c0ef0: 687b ldr r3, [r7, #4] 80c0ef2: 3303 adds r3, #3 80c0ef4: 781b ldrb r3, [r3, #0] 80c0ef6: 041b lsls r3, r3, #16 hmsc->scsi_blk_addr = ((uint32_t)params[2] << 24) | 80c0ef8: 431a orrs r2, r3 ((uint32_t)params[4] << 8) | 80c0efa: 687b ldr r3, [r7, #4] 80c0efc: 3304 adds r3, #4 80c0efe: 781b ldrb r3, [r3, #0] 80c0f00: 021b lsls r3, r3, #8 ((uint32_t)params[3] << 16) | 80c0f02: 4313 orrs r3, r2 (uint32_t)params[5]; 80c0f04: 687a ldr r2, [r7, #4] 80c0f06: 3205 adds r2, #5 80c0f08: 7812 ldrb r2, [r2, #0] ((uint32_t)params[4] << 8) | 80c0f0a: 431a orrs r2, r3 hmsc->scsi_blk_addr = ((uint32_t)params[2] << 24) | 80c0f0c: 697b ldr r3, [r7, #20] 80c0f0e: f8c3 226c str.w r2, [r3, #620] ; 0x26c hmsc->scsi_blk_len = ((uint32_t)params[6] << 24) | 80c0f12: 687b ldr r3, [r7, #4] 80c0f14: 3306 adds r3, #6 80c0f16: 781b ldrb r3, [r3, #0] 80c0f18: 061a lsls r2, r3, #24 ((uint32_t)params[7] << 16) | 80c0f1a: 687b ldr r3, [r7, #4] 80c0f1c: 3307 adds r3, #7 80c0f1e: 781b ldrb r3, [r3, #0] 80c0f20: 041b lsls r3, r3, #16 hmsc->scsi_blk_len = ((uint32_t)params[6] << 24) | 80c0f22: 431a orrs r2, r3 ((uint32_t)params[8] << 8) | 80c0f24: 687b ldr r3, [r7, #4] 80c0f26: 3308 adds r3, #8 80c0f28: 781b ldrb r3, [r3, #0] 80c0f2a: 021b lsls r3, r3, #8 ((uint32_t)params[7] << 16) | 80c0f2c: 4313 orrs r3, r2 (uint32_t)params[9]; 80c0f2e: 687a ldr r2, [r7, #4] 80c0f30: 3209 adds r2, #9 80c0f32: 7812 ldrb r2, [r2, #0] ((uint32_t)params[8] << 8) | 80c0f34: 431a orrs r2, r3 hmsc->scsi_blk_len = ((uint32_t)params[6] << 24) | 80c0f36: 697b ldr r3, [r7, #20] 80c0f38: f8c3 2270 str.w r2, [r3, #624] ; 0x270 if (SCSI_CheckAddressRange(pdev, lun, hmsc->scsi_blk_addr, 80c0f3c: 697b ldr r3, [r7, #20] 80c0f3e: f8d3 226c ldr.w r2, [r3, #620] ; 0x26c 80c0f42: 697b ldr r3, [r7, #20] 80c0f44: f8d3 3270 ldr.w r3, [r3, #624] ; 0x270 80c0f48: 7af9 ldrb r1, [r7, #11] 80c0f4a: 68f8 ldr r0, [r7, #12] 80c0f4c: f000 f9f0 bl 80c1330 80c0f50: 4603 mov r3, r0 80c0f52: 2b00 cmp r3, #0 80c0f54: da02 bge.n 80c0f5c hmsc->scsi_blk_len) < 0) { return -1; /* error */ 80c0f56: f04f 33ff mov.w r3, #4294967295 80c0f5a: e024 b.n 80c0fa6 } /* cases 4,5 : Hi <> Dn */ if (hmsc->cbw.dDataLength != (hmsc->scsi_blk_len * hmsc->scsi_blk_size)) 80c0f5c: 697b ldr r3, [r7, #20] 80c0f5e: f8d3 2218 ldr.w r2, [r3, #536] ; 0x218 80c0f62: 697b ldr r3, [r7, #20] 80c0f64: f8d3 3270 ldr.w r3, [r3, #624] ; 0x270 80c0f68: 6979 ldr r1, [r7, #20] 80c0f6a: f8b1 1264 ldrh.w r1, [r1, #612] ; 0x264 80c0f6e: fb01 f303 mul.w r3, r1, r3 80c0f72: 429a cmp r2, r3 80c0f74: d00a beq.n 80c0f8c { SCSI_SenseCode(pdev, hmsc->cbw.bLUN, ILLEGAL_REQUEST, INVALID_CDB); 80c0f76: 697b ldr r3, [r7, #20] 80c0f78: f893 121d ldrb.w r1, [r3, #541] ; 0x21d 80c0f7c: 2320 movs r3, #32 80c0f7e: 2205 movs r2, #5 80c0f80: 68f8 ldr r0, [r7, #12] 80c0f82: f7ff fe24 bl 80c0bce return -1; 80c0f86: f04f 33ff mov.w r3, #4294967295 80c0f8a: e00c b.n 80c0fa6 } hmsc->bot_state = USBD_BOT_DATA_IN; 80c0f8c: 697b ldr r3, [r7, #20] 80c0f8e: 2202 movs r2, #2 80c0f90: 721a strb r2, [r3, #8] } hmsc->bot_data_length = MSC_MEDIA_PACKET; 80c0f92: 697b ldr r3, [r7, #20] 80c0f94: f44f 7200 mov.w r2, #512 ; 0x200 80c0f98: 60da str r2, [r3, #12] return SCSI_ProcessRead(pdev, lun); 80c0f9a: 7afb ldrb r3, [r7, #11] 80c0f9c: 4619 mov r1, r3 80c0f9e: 68f8 ldr r0, [r7, #12] 80c0fa0: f000 f9e8 bl 80c1374 80c0fa4: 4603 mov r3, r0 } 80c0fa6: 4618 mov r0, r3 80c0fa8: 3718 adds r7, #24 80c0faa: 46bd mov sp, r7 80c0fac: bd80 pop {r7, pc} 080c0fae : * @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) { 80c0fae: b580 push {r7, lr} 80c0fb0: b086 sub sp, #24 80c0fb2: af00 add r7, sp, #0 80c0fb4: 60f8 str r0, [r7, #12] 80c0fb6: 460b mov r3, r1 80c0fb8: 607a str r2, [r7, #4] 80c0fba: 72fb strb r3, [r7, #11] USBD_MSC_BOT_HandleTypeDef *hmsc = (USBD_MSC_BOT_HandleTypeDef *)pdev->pClassData; 80c0fbc: 68fb ldr r3, [r7, #12] 80c0fbe: f8d3 32bc ldr.w r3, [r3, #700] ; 0x2bc 80c0fc2: 617b str r3, [r7, #20] uint32_t len; if (hmsc->bot_state == USBD_BOT_IDLE) /* Idle */ 80c0fc4: 697b ldr r3, [r7, #20] 80c0fc6: 7a1b ldrb r3, [r3, #8] 80c0fc8: 2b00 cmp r3, #0 80c0fca: f040 80a5 bne.w 80c1118 { if (hmsc->cbw.dDataLength == 0U) 80c0fce: 697b ldr r3, [r7, #20] 80c0fd0: f8d3 3218 ldr.w r3, [r3, #536] ; 0x218 80c0fd4: 2b00 cmp r3, #0 80c0fd6: d10a bne.n 80c0fee { SCSI_SenseCode(pdev, hmsc->cbw.bLUN, ILLEGAL_REQUEST, INVALID_CDB); 80c0fd8: 697b ldr r3, [r7, #20] 80c0fda: f893 121d ldrb.w r1, [r3, #541] ; 0x21d 80c0fde: 2320 movs r3, #32 80c0fe0: 2205 movs r2, #5 80c0fe2: 68f8 ldr r0, [r7, #12] 80c0fe4: f7ff fdf3 bl 80c0bce return -1; 80c0fe8: f04f 33ff mov.w r3, #4294967295 80c0fec: e09a b.n 80c1124 } /* case 8 : Hi <> Do */ if ((hmsc->cbw.bmFlags & 0x80U) == 0x80U) 80c0fee: 697b ldr r3, [r7, #20] 80c0ff0: f893 321c ldrb.w r3, [r3, #540] ; 0x21c 80c0ff4: b25b sxtb r3, r3 80c0ff6: 2b00 cmp r3, #0 80c0ff8: da0a bge.n 80c1010 { SCSI_SenseCode(pdev, hmsc->cbw.bLUN, ILLEGAL_REQUEST, INVALID_CDB); 80c0ffa: 697b ldr r3, [r7, #20] 80c0ffc: f893 121d ldrb.w r1, [r3, #541] ; 0x21d 80c1000: 2320 movs r3, #32 80c1002: 2205 movs r2, #5 80c1004: 68f8 ldr r0, [r7, #12] 80c1006: f7ff fde2 bl 80c0bce return -1; 80c100a: f04f 33ff mov.w r3, #4294967295 80c100e: e089 b.n 80c1124 } /* Check whether Media is ready */ if (((USBD_StorageTypeDef *)pdev->pUserData)->IsReady(lun) != 0) 80c1010: 68fb ldr r3, [r7, #12] 80c1012: f8d3 32c0 ldr.w r3, [r3, #704] ; 0x2c0 80c1016: 689b ldr r3, [r3, #8] 80c1018: 7afa ldrb r2, [r7, #11] 80c101a: 4610 mov r0, r2 80c101c: 4798 blx r3 80c101e: 4603 mov r3, r0 80c1020: 2b00 cmp r3, #0 80c1022: d008 beq.n 80c1036 { SCSI_SenseCode(pdev, lun, NOT_READY, MEDIUM_NOT_PRESENT); 80c1024: 7af9 ldrb r1, [r7, #11] 80c1026: 233a movs r3, #58 ; 0x3a 80c1028: 2202 movs r2, #2 80c102a: 68f8 ldr r0, [r7, #12] 80c102c: f7ff fdcf bl 80c0bce return -1; 80c1030: f04f 33ff mov.w r3, #4294967295 80c1034: e076 b.n 80c1124 } /* Check If media is write-protected */ if (((USBD_StorageTypeDef *)pdev->pUserData)->IsWriteProtected(lun) != 0) 80c1036: 68fb ldr r3, [r7, #12] 80c1038: f8d3 32c0 ldr.w r3, [r3, #704] ; 0x2c0 80c103c: 68db ldr r3, [r3, #12] 80c103e: 7afa ldrb r2, [r7, #11] 80c1040: 4610 mov r0, r2 80c1042: 4798 blx r3 80c1044: 4603 mov r3, r0 80c1046: 2b00 cmp r3, #0 80c1048: d008 beq.n 80c105c { SCSI_SenseCode(pdev, lun, NOT_READY, WRITE_PROTECTED); 80c104a: 7af9 ldrb r1, [r7, #11] 80c104c: 2327 movs r3, #39 ; 0x27 80c104e: 2202 movs r2, #2 80c1050: 68f8 ldr r0, [r7, #12] 80c1052: f7ff fdbc bl 80c0bce return -1; 80c1056: f04f 33ff mov.w r3, #4294967295 80c105a: e063 b.n 80c1124 } hmsc->scsi_blk_addr = ((uint32_t)params[2] << 24) | 80c105c: 687b ldr r3, [r7, #4] 80c105e: 3302 adds r3, #2 80c1060: 781b ldrb r3, [r3, #0] 80c1062: 061a lsls r2, r3, #24 ((uint32_t)params[3] << 16) | 80c1064: 687b ldr r3, [r7, #4] 80c1066: 3303 adds r3, #3 80c1068: 781b ldrb r3, [r3, #0] 80c106a: 041b lsls r3, r3, #16 hmsc->scsi_blk_addr = ((uint32_t)params[2] << 24) | 80c106c: 431a orrs r2, r3 ((uint32_t)params[4] << 8) | 80c106e: 687b ldr r3, [r7, #4] 80c1070: 3304 adds r3, #4 80c1072: 781b ldrb r3, [r3, #0] 80c1074: 021b lsls r3, r3, #8 ((uint32_t)params[3] << 16) | 80c1076: 4313 orrs r3, r2 (uint32_t)params[5]; 80c1078: 687a ldr r2, [r7, #4] 80c107a: 3205 adds r2, #5 80c107c: 7812 ldrb r2, [r2, #0] ((uint32_t)params[4] << 8) | 80c107e: 431a orrs r2, r3 hmsc->scsi_blk_addr = ((uint32_t)params[2] << 24) | 80c1080: 697b ldr r3, [r7, #20] 80c1082: f8c3 226c str.w r2, [r3, #620] ; 0x26c hmsc->scsi_blk_len = ((uint32_t)params[7] << 8) | 80c1086: 687b ldr r3, [r7, #4] 80c1088: 3307 adds r3, #7 80c108a: 781b ldrb r3, [r3, #0] 80c108c: 021b lsls r3, r3, #8 (uint32_t)params[8]; 80c108e: 687a ldr r2, [r7, #4] 80c1090: 3208 adds r2, #8 80c1092: 7812 ldrb r2, [r2, #0] hmsc->scsi_blk_len = ((uint32_t)params[7] << 8) | 80c1094: 431a orrs r2, r3 80c1096: 697b ldr r3, [r7, #20] 80c1098: 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, 80c109c: 697b ldr r3, [r7, #20] 80c109e: f8d3 226c ldr.w r2, [r3, #620] ; 0x26c 80c10a2: 697b ldr r3, [r7, #20] 80c10a4: f8d3 3270 ldr.w r3, [r3, #624] ; 0x270 80c10a8: 7af9 ldrb r1, [r7, #11] 80c10aa: 68f8 ldr r0, [r7, #12] 80c10ac: f000 f940 bl 80c1330 80c10b0: 4603 mov r3, r0 80c10b2: 2b00 cmp r3, #0 80c10b4: da02 bge.n 80c10bc hmsc->scsi_blk_len) < 0) { return -1; /* error */ 80c10b6: f04f 33ff mov.w r3, #4294967295 80c10ba: e033 b.n 80c1124 } len = hmsc->scsi_blk_len * hmsc->scsi_blk_size; 80c10bc: 697b ldr r3, [r7, #20] 80c10be: f8d3 3270 ldr.w r3, [r3, #624] ; 0x270 80c10c2: 697a ldr r2, [r7, #20] 80c10c4: f8b2 2264 ldrh.w r2, [r2, #612] ; 0x264 80c10c8: fb02 f303 mul.w r3, r2, r3 80c10cc: 613b str r3, [r7, #16] /* cases 3,11,13 : Hn,Ho <> D0 */ if (hmsc->cbw.dDataLength != len) 80c10ce: 697b ldr r3, [r7, #20] 80c10d0: f8d3 2218 ldr.w r2, [r3, #536] ; 0x218 80c10d4: 693b ldr r3, [r7, #16] 80c10d6: 429a cmp r2, r3 80c10d8: d00a beq.n 80c10f0 { SCSI_SenseCode(pdev, hmsc->cbw.bLUN, ILLEGAL_REQUEST, INVALID_CDB); 80c10da: 697b ldr r3, [r7, #20] 80c10dc: f893 121d ldrb.w r1, [r3, #541] ; 0x21d 80c10e0: 2320 movs r3, #32 80c10e2: 2205 movs r2, #5 80c10e4: 68f8 ldr r0, [r7, #12] 80c10e6: f7ff fd72 bl 80c0bce return -1; 80c10ea: f04f 33ff mov.w r3, #4294967295 80c10ee: e019 b.n 80c1124 } len = MIN(len, MSC_MEDIA_PACKET); 80c10f0: 693b ldr r3, [r7, #16] 80c10f2: f5b3 7f00 cmp.w r3, #512 ; 0x200 80c10f6: bf28 it cs 80c10f8: f44f 7300 movcs.w r3, #512 ; 0x200 80c10fc: 613b str r3, [r7, #16] /* Prepare EP to receive first data packet */ hmsc->bot_state = USBD_BOT_DATA_OUT; 80c10fe: 697b ldr r3, [r7, #20] 80c1100: 2201 movs r2, #1 80c1102: 721a strb r2, [r3, #8] (void)USBD_LL_PrepareReceive(pdev, MSC_EPOUT_ADDR, hmsc->bot_data, len); 80c1104: 697b ldr r3, [r7, #20] 80c1106: f103 0210 add.w r2, r3, #16 80c110a: 693b ldr r3, [r7, #16] 80c110c: 2101 movs r1, #1 80c110e: 68f8 ldr r0, [r7, #12] 80c1110: f008 fd17 bl 80c9b42 else /* Write Process ongoing */ { return SCSI_ProcessWrite(pdev, lun); } return 0; 80c1114: 2300 movs r3, #0 80c1116: e005 b.n 80c1124 return SCSI_ProcessWrite(pdev, lun); 80c1118: 7afb ldrb r3, [r7, #11] 80c111a: 4619 mov r1, r3 80c111c: 68f8 ldr r0, [r7, #12] 80c111e: f000 f99c bl 80c145a 80c1122: 4603 mov r3, r0 } 80c1124: 4618 mov r0, r3 80c1126: 3718 adds r7, #24 80c1128: 46bd mov sp, r7 80c112a: bd80 pop {r7, pc} 080c112c : * @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) { 80c112c: b580 push {r7, lr} 80c112e: b086 sub sp, #24 80c1130: af00 add r7, sp, #0 80c1132: 60f8 str r0, [r7, #12] 80c1134: 460b mov r3, r1 80c1136: 607a str r2, [r7, #4] 80c1138: 72fb strb r3, [r7, #11] USBD_MSC_BOT_HandleTypeDef *hmsc = (USBD_MSC_BOT_HandleTypeDef *)pdev->pClassData; 80c113a: 68fb ldr r3, [r7, #12] 80c113c: f8d3 32bc ldr.w r3, [r3, #700] ; 0x2bc 80c1140: 617b str r3, [r7, #20] uint32_t len; if (hmsc->bot_state == USBD_BOT_IDLE) /* Idle */ 80c1142: 697b ldr r3, [r7, #20] 80c1144: 7a1b ldrb r3, [r3, #8] 80c1146: 2b00 cmp r3, #0 80c1148: f040 80b5 bne.w 80c12b6 { if (hmsc->cbw.dDataLength == 0U) 80c114c: 697b ldr r3, [r7, #20] 80c114e: f8d3 3218 ldr.w r3, [r3, #536] ; 0x218 80c1152: 2b00 cmp r3, #0 80c1154: d10a bne.n 80c116c { SCSI_SenseCode(pdev, hmsc->cbw.bLUN, ILLEGAL_REQUEST, INVALID_CDB); 80c1156: 697b ldr r3, [r7, #20] 80c1158: f893 121d ldrb.w r1, [r3, #541] ; 0x21d 80c115c: 2320 movs r3, #32 80c115e: 2205 movs r2, #5 80c1160: 68f8 ldr r0, [r7, #12] 80c1162: f7ff fd34 bl 80c0bce return -1; 80c1166: f04f 33ff mov.w r3, #4294967295 80c116a: e0aa b.n 80c12c2 } /* case 8 : Hi <> Do */ if ((hmsc->cbw.bmFlags & 0x80U) == 0x80U) 80c116c: 697b ldr r3, [r7, #20] 80c116e: f893 321c ldrb.w r3, [r3, #540] ; 0x21c 80c1172: b25b sxtb r3, r3 80c1174: 2b00 cmp r3, #0 80c1176: da0a bge.n 80c118e { SCSI_SenseCode(pdev, hmsc->cbw.bLUN, ILLEGAL_REQUEST, INVALID_CDB); 80c1178: 697b ldr r3, [r7, #20] 80c117a: f893 121d ldrb.w r1, [r3, #541] ; 0x21d 80c117e: 2320 movs r3, #32 80c1180: 2205 movs r2, #5 80c1182: 68f8 ldr r0, [r7, #12] 80c1184: f7ff fd23 bl 80c0bce return -1; 80c1188: f04f 33ff mov.w r3, #4294967295 80c118c: e099 b.n 80c12c2 } /* Check whether Media is ready */ if (((USBD_StorageTypeDef *)pdev->pUserData)->IsReady(lun) != 0) 80c118e: 68fb ldr r3, [r7, #12] 80c1190: f8d3 32c0 ldr.w r3, [r3, #704] ; 0x2c0 80c1194: 689b ldr r3, [r3, #8] 80c1196: 7afa ldrb r2, [r7, #11] 80c1198: 4610 mov r0, r2 80c119a: 4798 blx r3 80c119c: 4603 mov r3, r0 80c119e: 2b00 cmp r3, #0 80c11a0: d00b beq.n 80c11ba { SCSI_SenseCode(pdev, lun, NOT_READY, MEDIUM_NOT_PRESENT); 80c11a2: 7af9 ldrb r1, [r7, #11] 80c11a4: 233a movs r3, #58 ; 0x3a 80c11a6: 2202 movs r2, #2 80c11a8: 68f8 ldr r0, [r7, #12] 80c11aa: f7ff fd10 bl 80c0bce hmsc->bot_state = USBD_BOT_NO_DATA; 80c11ae: 697b ldr r3, [r7, #20] 80c11b0: 2205 movs r2, #5 80c11b2: 721a strb r2, [r3, #8] return -1; 80c11b4: f04f 33ff mov.w r3, #4294967295 80c11b8: e083 b.n 80c12c2 } /* Check If media is write-protected */ if (((USBD_StorageTypeDef *)pdev->pUserData)->IsWriteProtected(lun) != 0) 80c11ba: 68fb ldr r3, [r7, #12] 80c11bc: f8d3 32c0 ldr.w r3, [r3, #704] ; 0x2c0 80c11c0: 68db ldr r3, [r3, #12] 80c11c2: 7afa ldrb r2, [r7, #11] 80c11c4: 4610 mov r0, r2 80c11c6: 4798 blx r3 80c11c8: 4603 mov r3, r0 80c11ca: 2b00 cmp r3, #0 80c11cc: d00b beq.n 80c11e6 { SCSI_SenseCode(pdev, lun, NOT_READY, WRITE_PROTECTED); 80c11ce: 7af9 ldrb r1, [r7, #11] 80c11d0: 2327 movs r3, #39 ; 0x27 80c11d2: 2202 movs r2, #2 80c11d4: 68f8 ldr r0, [r7, #12] 80c11d6: f7ff fcfa bl 80c0bce hmsc->bot_state = USBD_BOT_NO_DATA; 80c11da: 697b ldr r3, [r7, #20] 80c11dc: 2205 movs r2, #5 80c11de: 721a strb r2, [r3, #8] return -1; 80c11e0: f04f 33ff mov.w r3, #4294967295 80c11e4: e06d b.n 80c12c2 } hmsc->scsi_blk_addr = ((uint32_t)params[2] << 24) | 80c11e6: 687b ldr r3, [r7, #4] 80c11e8: 3302 adds r3, #2 80c11ea: 781b ldrb r3, [r3, #0] 80c11ec: 061a lsls r2, r3, #24 ((uint32_t)params[3] << 16) | 80c11ee: 687b ldr r3, [r7, #4] 80c11f0: 3303 adds r3, #3 80c11f2: 781b ldrb r3, [r3, #0] 80c11f4: 041b lsls r3, r3, #16 hmsc->scsi_blk_addr = ((uint32_t)params[2] << 24) | 80c11f6: 431a orrs r2, r3 ((uint32_t)params[4] << 8) | 80c11f8: 687b ldr r3, [r7, #4] 80c11fa: 3304 adds r3, #4 80c11fc: 781b ldrb r3, [r3, #0] 80c11fe: 021b lsls r3, r3, #8 ((uint32_t)params[3] << 16) | 80c1200: 4313 orrs r3, r2 (uint32_t)params[5]; 80c1202: 687a ldr r2, [r7, #4] 80c1204: 3205 adds r2, #5 80c1206: 7812 ldrb r2, [r2, #0] ((uint32_t)params[4] << 8) | 80c1208: 431a orrs r2, r3 hmsc->scsi_blk_addr = ((uint32_t)params[2] << 24) | 80c120a: 697b ldr r3, [r7, #20] 80c120c: f8c3 226c str.w r2, [r3, #620] ; 0x26c hmsc->scsi_blk_len = ((uint32_t)params[6] << 24) | 80c1210: 687b ldr r3, [r7, #4] 80c1212: 3306 adds r3, #6 80c1214: 781b ldrb r3, [r3, #0] 80c1216: 061a lsls r2, r3, #24 ((uint32_t)params[7] << 16) | 80c1218: 687b ldr r3, [r7, #4] 80c121a: 3307 adds r3, #7 80c121c: 781b ldrb r3, [r3, #0] 80c121e: 041b lsls r3, r3, #16 hmsc->scsi_blk_len = ((uint32_t)params[6] << 24) | 80c1220: 431a orrs r2, r3 ((uint32_t)params[8] << 8) | 80c1222: 687b ldr r3, [r7, #4] 80c1224: 3308 adds r3, #8 80c1226: 781b ldrb r3, [r3, #0] 80c1228: 021b lsls r3, r3, #8 ((uint32_t)params[7] << 16) | 80c122a: 4313 orrs r3, r2 (uint32_t)params[9]; 80c122c: 687a ldr r2, [r7, #4] 80c122e: 3209 adds r2, #9 80c1230: 7812 ldrb r2, [r2, #0] ((uint32_t)params[8] << 8) | 80c1232: 431a orrs r2, r3 hmsc->scsi_blk_len = ((uint32_t)params[6] << 24) | 80c1234: 697b ldr r3, [r7, #20] 80c1236: 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, 80c123a: 697b ldr r3, [r7, #20] 80c123c: f8d3 226c ldr.w r2, [r3, #620] ; 0x26c 80c1240: 697b ldr r3, [r7, #20] 80c1242: f8d3 3270 ldr.w r3, [r3, #624] ; 0x270 80c1246: 7af9 ldrb r1, [r7, #11] 80c1248: 68f8 ldr r0, [r7, #12] 80c124a: f000 f871 bl 80c1330 80c124e: 4603 mov r3, r0 80c1250: 2b00 cmp r3, #0 80c1252: da02 bge.n 80c125a hmsc->scsi_blk_len) < 0) { return -1; /* error */ 80c1254: f04f 33ff mov.w r3, #4294967295 80c1258: e033 b.n 80c12c2 } len = hmsc->scsi_blk_len * hmsc->scsi_blk_size; 80c125a: 697b ldr r3, [r7, #20] 80c125c: f8d3 3270 ldr.w r3, [r3, #624] ; 0x270 80c1260: 697a ldr r2, [r7, #20] 80c1262: f8b2 2264 ldrh.w r2, [r2, #612] ; 0x264 80c1266: fb02 f303 mul.w r3, r2, r3 80c126a: 613b str r3, [r7, #16] /* cases 3,11,13 : Hn,Ho <> D0 */ if (hmsc->cbw.dDataLength != len) 80c126c: 697b ldr r3, [r7, #20] 80c126e: f8d3 2218 ldr.w r2, [r3, #536] ; 0x218 80c1272: 693b ldr r3, [r7, #16] 80c1274: 429a cmp r2, r3 80c1276: d00a beq.n 80c128e { SCSI_SenseCode(pdev, hmsc->cbw.bLUN, ILLEGAL_REQUEST, INVALID_CDB); 80c1278: 697b ldr r3, [r7, #20] 80c127a: f893 121d ldrb.w r1, [r3, #541] ; 0x21d 80c127e: 2320 movs r3, #32 80c1280: 2205 movs r2, #5 80c1282: 68f8 ldr r0, [r7, #12] 80c1284: f7ff fca3 bl 80c0bce return -1; 80c1288: f04f 33ff mov.w r3, #4294967295 80c128c: e019 b.n 80c12c2 } len = MIN(len, MSC_MEDIA_PACKET); 80c128e: 693b ldr r3, [r7, #16] 80c1290: f5b3 7f00 cmp.w r3, #512 ; 0x200 80c1294: bf28 it cs 80c1296: f44f 7300 movcs.w r3, #512 ; 0x200 80c129a: 613b str r3, [r7, #16] /* Prepare EP to receive first data packet */ hmsc->bot_state = USBD_BOT_DATA_OUT; 80c129c: 697b ldr r3, [r7, #20] 80c129e: 2201 movs r2, #1 80c12a0: 721a strb r2, [r3, #8] (void)USBD_LL_PrepareReceive(pdev, MSC_EPOUT_ADDR, hmsc->bot_data, len); 80c12a2: 697b ldr r3, [r7, #20] 80c12a4: f103 0210 add.w r2, r3, #16 80c12a8: 693b ldr r3, [r7, #16] 80c12aa: 2101 movs r1, #1 80c12ac: 68f8 ldr r0, [r7, #12] 80c12ae: f008 fc48 bl 80c9b42 else /* Write Process ongoing */ { return SCSI_ProcessWrite(pdev, lun); } return 0; 80c12b2: 2300 movs r3, #0 80c12b4: e005 b.n 80c12c2 return SCSI_ProcessWrite(pdev, lun); 80c12b6: 7afb ldrb r3, [r7, #11] 80c12b8: 4619 mov r1, r3 80c12ba: 68f8 ldr r0, [r7, #12] 80c12bc: f000 f8cd bl 80c145a 80c12c0: 4603 mov r3, r0 } 80c12c2: 4618 mov r0, r3 80c12c4: 3718 adds r7, #24 80c12c6: 46bd mov sp, r7 80c12c8: bd80 pop {r7, pc} 080c12ca : * @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) { 80c12ca: b580 push {r7, lr} 80c12cc: b086 sub sp, #24 80c12ce: af00 add r7, sp, #0 80c12d0: 60f8 str r0, [r7, #12] 80c12d2: 460b mov r3, r1 80c12d4: 607a str r2, [r7, #4] 80c12d6: 72fb strb r3, [r7, #11] USBD_MSC_BOT_HandleTypeDef *hmsc = (USBD_MSC_BOT_HandleTypeDef *)pdev->pClassData; 80c12d8: 68fb ldr r3, [r7, #12] 80c12da: f8d3 32bc ldr.w r3, [r3, #700] ; 0x2bc 80c12de: 617b str r3, [r7, #20] if ((params[1] & 0x02U) == 0x02U) 80c12e0: 687b ldr r3, [r7, #4] 80c12e2: 3301 adds r3, #1 80c12e4: 781b ldrb r3, [r3, #0] 80c12e6: f003 0302 and.w r3, r3, #2 80c12ea: 2b00 cmp r3, #0 80c12ec: d008 beq.n 80c1300 { SCSI_SenseCode(pdev, lun, ILLEGAL_REQUEST, INVALID_FIELED_IN_COMMAND); 80c12ee: 7af9 ldrb r1, [r7, #11] 80c12f0: 2324 movs r3, #36 ; 0x24 80c12f2: 2205 movs r2, #5 80c12f4: 68f8 ldr r0, [r7, #12] 80c12f6: f7ff fc6a bl 80c0bce return -1; /* Error, Verify Mode Not supported*/ 80c12fa: f04f 33ff mov.w r3, #4294967295 80c12fe: e013 b.n 80c1328 } if (SCSI_CheckAddressRange(pdev, lun, hmsc->scsi_blk_addr, hmsc->scsi_blk_len) < 0) 80c1300: 697b ldr r3, [r7, #20] 80c1302: f8d3 226c ldr.w r2, [r3, #620] ; 0x26c 80c1306: 697b ldr r3, [r7, #20] 80c1308: f8d3 3270 ldr.w r3, [r3, #624] ; 0x270 80c130c: 7af9 ldrb r1, [r7, #11] 80c130e: 68f8 ldr r0, [r7, #12] 80c1310: f000 f80e bl 80c1330 80c1314: 4603 mov r3, r0 80c1316: 2b00 cmp r3, #0 80c1318: da02 bge.n 80c1320 { return -1; /* error */ 80c131a: f04f 33ff mov.w r3, #4294967295 80c131e: e003 b.n 80c1328 } hmsc->bot_data_length = 0U; 80c1320: 697b ldr r3, [r7, #20] 80c1322: 2200 movs r2, #0 80c1324: 60da str r2, [r3, #12] return 0; 80c1326: 2300 movs r3, #0 } 80c1328: 4618 mov r0, r3 80c132a: 3718 adds r7, #24 80c132c: 46bd mov sp, r7 80c132e: bd80 pop {r7, pc} 080c1330 : * @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) { 80c1330: b580 push {r7, lr} 80c1332: b086 sub sp, #24 80c1334: af00 add r7, sp, #0 80c1336: 60f8 str r0, [r7, #12] 80c1338: 607a str r2, [r7, #4] 80c133a: 603b str r3, [r7, #0] 80c133c: 460b mov r3, r1 80c133e: 72fb strb r3, [r7, #11] USBD_MSC_BOT_HandleTypeDef *hmsc = (USBD_MSC_BOT_HandleTypeDef *)pdev->pClassData; 80c1340: 68fb ldr r3, [r7, #12] 80c1342: f8d3 32bc ldr.w r3, [r3, #700] ; 0x2bc 80c1346: 617b str r3, [r7, #20] if ((blk_offset + blk_nbr) > hmsc->scsi_blk_nbr) 80c1348: 687a ldr r2, [r7, #4] 80c134a: 683b ldr r3, [r7, #0] 80c134c: 441a add r2, r3 80c134e: 697b ldr r3, [r7, #20] 80c1350: f8d3 3268 ldr.w r3, [r3, #616] ; 0x268 80c1354: 429a cmp r2, r3 80c1356: d908 bls.n 80c136a { SCSI_SenseCode(pdev, lun, ILLEGAL_REQUEST, ADDRESS_OUT_OF_RANGE); 80c1358: 7af9 ldrb r1, [r7, #11] 80c135a: 2321 movs r3, #33 ; 0x21 80c135c: 2205 movs r2, #5 80c135e: 68f8 ldr r0, [r7, #12] 80c1360: f7ff fc35 bl 80c0bce return -1; 80c1364: f04f 33ff mov.w r3, #4294967295 80c1368: e000 b.n 80c136c } return 0; 80c136a: 2300 movs r3, #0 } 80c136c: 4618 mov r0, r3 80c136e: 3718 adds r7, #24 80c1370: 46bd mov sp, r7 80c1372: bd80 pop {r7, pc} 080c1374 : * Handle Read Process * @param lun: Logical unit number * @retval status */ static int8_t SCSI_ProcessRead(USBD_HandleTypeDef *pdev, uint8_t lun) { 80c1374: b590 push {r4, r7, lr} 80c1376: b085 sub sp, #20 80c1378: af00 add r7, sp, #0 80c137a: 6078 str r0, [r7, #4] 80c137c: 460b mov r3, r1 80c137e: 70fb strb r3, [r7, #3] USBD_MSC_BOT_HandleTypeDef *hmsc = (USBD_MSC_BOT_HandleTypeDef *)pdev->pClassData; 80c1380: 687b ldr r3, [r7, #4] 80c1382: f8d3 32bc ldr.w r3, [r3, #700] ; 0x2bc 80c1386: 60fb str r3, [r7, #12] uint32_t len = hmsc->scsi_blk_len * hmsc->scsi_blk_size; 80c1388: 68fb ldr r3, [r7, #12] 80c138a: f8d3 3270 ldr.w r3, [r3, #624] ; 0x270 80c138e: 68fa ldr r2, [r7, #12] 80c1390: f8b2 2264 ldrh.w r2, [r2, #612] ; 0x264 80c1394: fb02 f303 mul.w r3, r2, r3 80c1398: 60bb str r3, [r7, #8] len = MIN(len, MSC_MEDIA_PACKET); 80c139a: 68bb ldr r3, [r7, #8] 80c139c: f5b3 7f00 cmp.w r3, #512 ; 0x200 80c13a0: bf28 it cs 80c13a2: f44f 7300 movcs.w r3, #512 ; 0x200 80c13a6: 60bb str r3, [r7, #8] if (((USBD_StorageTypeDef *)pdev->pUserData)->Read(lun, hmsc->bot_data, 80c13a8: 687b ldr r3, [r7, #4] 80c13aa: f8d3 32c0 ldr.w r3, [r3, #704] ; 0x2c0 80c13ae: 691c ldr r4, [r3, #16] 80c13b0: 68fb ldr r3, [r7, #12] 80c13b2: f103 0110 add.w r1, r3, #16 80c13b6: 68fb ldr r3, [r7, #12] 80c13b8: f8d3 226c ldr.w r2, [r3, #620] ; 0x26c hmsc->scsi_blk_addr, (len / hmsc->scsi_blk_size)) < 0) 80c13bc: 68fb ldr r3, [r7, #12] 80c13be: f8b3 3264 ldrh.w r3, [r3, #612] ; 0x264 80c13c2: 4618 mov r0, r3 80c13c4: 68bb ldr r3, [r7, #8] 80c13c6: fbb3 f3f0 udiv r3, r3, r0 if (((USBD_StorageTypeDef *)pdev->pUserData)->Read(lun, hmsc->bot_data, 80c13ca: b29b uxth r3, r3 80c13cc: 78f8 ldrb r0, [r7, #3] 80c13ce: 47a0 blx r4 80c13d0: 4603 mov r3, r0 80c13d2: 2b00 cmp r3, #0 80c13d4: da08 bge.n 80c13e8 { SCSI_SenseCode(pdev, lun, HARDWARE_ERROR, UNRECOVERED_READ_ERROR); 80c13d6: 78f9 ldrb r1, [r7, #3] 80c13d8: 2311 movs r3, #17 80c13da: 2204 movs r2, #4 80c13dc: 6878 ldr r0, [r7, #4] 80c13de: f7ff fbf6 bl 80c0bce return -1; 80c13e2: f04f 33ff mov.w r3, #4294967295 80c13e6: e034 b.n 80c1452 } (void)USBD_LL_Transmit(pdev, MSC_EPIN_ADDR, hmsc->bot_data, len); 80c13e8: 68fb ldr r3, [r7, #12] 80c13ea: f103 0210 add.w r2, r3, #16 80c13ee: 68bb ldr r3, [r7, #8] 80c13f0: 2181 movs r1, #129 ; 0x81 80c13f2: 6878 ldr r0, [r7, #4] 80c13f4: f008 fb84 bl 80c9b00 hmsc->scsi_blk_addr += (len / hmsc->scsi_blk_size); 80c13f8: 68fb ldr r3, [r7, #12] 80c13fa: f8d3 226c ldr.w r2, [r3, #620] ; 0x26c 80c13fe: 68fb ldr r3, [r7, #12] 80c1400: f8b3 3264 ldrh.w r3, [r3, #612] ; 0x264 80c1404: 4619 mov r1, r3 80c1406: 68bb ldr r3, [r7, #8] 80c1408: fbb3 f3f1 udiv r3, r3, r1 80c140c: 441a add r2, r3 80c140e: 68fb ldr r3, [r7, #12] 80c1410: f8c3 226c str.w r2, [r3, #620] ; 0x26c hmsc->scsi_blk_len -= (len / hmsc->scsi_blk_size); 80c1414: 68fb ldr r3, [r7, #12] 80c1416: f8d3 2270 ldr.w r2, [r3, #624] ; 0x270 80c141a: 68fb ldr r3, [r7, #12] 80c141c: f8b3 3264 ldrh.w r3, [r3, #612] ; 0x264 80c1420: 4619 mov r1, r3 80c1422: 68bb ldr r3, [r7, #8] 80c1424: fbb3 f3f1 udiv r3, r3, r1 80c1428: 1ad2 subs r2, r2, r3 80c142a: 68fb ldr r3, [r7, #12] 80c142c: f8c3 2270 str.w r2, [r3, #624] ; 0x270 /* case 6 : Hi = Di */ hmsc->csw.dDataResidue -= len; 80c1430: 68fb ldr r3, [r7, #12] 80c1432: f8d3 2238 ldr.w r2, [r3, #568] ; 0x238 80c1436: 68bb ldr r3, [r7, #8] 80c1438: 1ad2 subs r2, r2, r3 80c143a: 68fb ldr r3, [r7, #12] 80c143c: f8c3 2238 str.w r2, [r3, #568] ; 0x238 if (hmsc->scsi_blk_len == 0U) 80c1440: 68fb ldr r3, [r7, #12] 80c1442: f8d3 3270 ldr.w r3, [r3, #624] ; 0x270 80c1446: 2b00 cmp r3, #0 80c1448: d102 bne.n 80c1450 { hmsc->bot_state = USBD_BOT_LAST_DATA_IN; 80c144a: 68fb ldr r3, [r7, #12] 80c144c: 2203 movs r2, #3 80c144e: 721a strb r2, [r3, #8] } return 0; 80c1450: 2300 movs r3, #0 } 80c1452: 4618 mov r0, r3 80c1454: 3714 adds r7, #20 80c1456: 46bd mov sp, r7 80c1458: bd90 pop {r4, r7, pc} 080c145a : * Handle Write Process * @param lun: Logical unit number * @retval status */ static int8_t SCSI_ProcessWrite(USBD_HandleTypeDef *pdev, uint8_t lun) { 80c145a: b590 push {r4, r7, lr} 80c145c: b085 sub sp, #20 80c145e: af00 add r7, sp, #0 80c1460: 6078 str r0, [r7, #4] 80c1462: 460b mov r3, r1 80c1464: 70fb strb r3, [r7, #3] USBD_MSC_BOT_HandleTypeDef *hmsc = (USBD_MSC_BOT_HandleTypeDef *)pdev->pClassData; 80c1466: 687b ldr r3, [r7, #4] 80c1468: f8d3 32bc ldr.w r3, [r3, #700] ; 0x2bc 80c146c: 60fb str r3, [r7, #12] uint32_t len = hmsc->scsi_blk_len * hmsc->scsi_blk_size; 80c146e: 68fb ldr r3, [r7, #12] 80c1470: f8d3 3270 ldr.w r3, [r3, #624] ; 0x270 80c1474: 68fa ldr r2, [r7, #12] 80c1476: f8b2 2264 ldrh.w r2, [r2, #612] ; 0x264 80c147a: fb02 f303 mul.w r3, r2, r3 80c147e: 60bb str r3, [r7, #8] len = MIN(len, MSC_MEDIA_PACKET); 80c1480: 68bb ldr r3, [r7, #8] 80c1482: f5b3 7f00 cmp.w r3, #512 ; 0x200 80c1486: bf28 it cs 80c1488: f44f 7300 movcs.w r3, #512 ; 0x200 80c148c: 60bb str r3, [r7, #8] if (((USBD_StorageTypeDef *)pdev->pUserData)->Write(lun, hmsc->bot_data, 80c148e: 687b ldr r3, [r7, #4] 80c1490: f8d3 32c0 ldr.w r3, [r3, #704] ; 0x2c0 80c1494: 695c ldr r4, [r3, #20] 80c1496: 68fb ldr r3, [r7, #12] 80c1498: f103 0110 add.w r1, r3, #16 80c149c: 68fb ldr r3, [r7, #12] 80c149e: f8d3 226c ldr.w r2, [r3, #620] ; 0x26c hmsc->scsi_blk_addr, (len / hmsc->scsi_blk_size)) < 0) 80c14a2: 68fb ldr r3, [r7, #12] 80c14a4: f8b3 3264 ldrh.w r3, [r3, #612] ; 0x264 80c14a8: 4618 mov r0, r3 80c14aa: 68bb ldr r3, [r7, #8] 80c14ac: fbb3 f3f0 udiv r3, r3, r0 if (((USBD_StorageTypeDef *)pdev->pUserData)->Write(lun, hmsc->bot_data, 80c14b0: b29b uxth r3, r3 80c14b2: 78f8 ldrb r0, [r7, #3] 80c14b4: 47a0 blx r4 80c14b6: 4603 mov r3, r0 80c14b8: 2b00 cmp r3, #0 80c14ba: da08 bge.n 80c14ce { SCSI_SenseCode(pdev, lun, HARDWARE_ERROR, WRITE_FAULT); 80c14bc: 78f9 ldrb r1, [r7, #3] 80c14be: 2303 movs r3, #3 80c14c0: 2204 movs r2, #4 80c14c2: 6878 ldr r0, [r7, #4] 80c14c4: f7ff fb83 bl 80c0bce return -1; 80c14c8: f04f 33ff mov.w r3, #4294967295 80c14cc: e044 b.n 80c1558 } hmsc->scsi_blk_addr += (len / hmsc->scsi_blk_size); 80c14ce: 68fb ldr r3, [r7, #12] 80c14d0: f8d3 226c ldr.w r2, [r3, #620] ; 0x26c 80c14d4: 68fb ldr r3, [r7, #12] 80c14d6: f8b3 3264 ldrh.w r3, [r3, #612] ; 0x264 80c14da: 4619 mov r1, r3 80c14dc: 68bb ldr r3, [r7, #8] 80c14de: fbb3 f3f1 udiv r3, r3, r1 80c14e2: 441a add r2, r3 80c14e4: 68fb ldr r3, [r7, #12] 80c14e6: f8c3 226c str.w r2, [r3, #620] ; 0x26c hmsc->scsi_blk_len -= (len / hmsc->scsi_blk_size); 80c14ea: 68fb ldr r3, [r7, #12] 80c14ec: f8d3 2270 ldr.w r2, [r3, #624] ; 0x270 80c14f0: 68fb ldr r3, [r7, #12] 80c14f2: f8b3 3264 ldrh.w r3, [r3, #612] ; 0x264 80c14f6: 4619 mov r1, r3 80c14f8: 68bb ldr r3, [r7, #8] 80c14fa: fbb3 f3f1 udiv r3, r3, r1 80c14fe: 1ad2 subs r2, r2, r3 80c1500: 68fb ldr r3, [r7, #12] 80c1502: f8c3 2270 str.w r2, [r3, #624] ; 0x270 /* case 12 : Ho = Do */ hmsc->csw.dDataResidue -= len; 80c1506: 68fb ldr r3, [r7, #12] 80c1508: f8d3 2238 ldr.w r2, [r3, #568] ; 0x238 80c150c: 68bb ldr r3, [r7, #8] 80c150e: 1ad2 subs r2, r2, r3 80c1510: 68fb ldr r3, [r7, #12] 80c1512: f8c3 2238 str.w r2, [r3, #568] ; 0x238 if (hmsc->scsi_blk_len == 0U) 80c1516: 68fb ldr r3, [r7, #12] 80c1518: f8d3 3270 ldr.w r3, [r3, #624] ; 0x270 80c151c: 2b00 cmp r3, #0 80c151e: d104 bne.n 80c152a { MSC_BOT_SendCSW(pdev, USBD_CSW_CMD_PASSED); 80c1520: 2100 movs r1, #0 80c1522: 6878 ldr r0, [r7, #4] 80c1524: f7fe ff04 bl 80c0330 80c1528: e015 b.n 80c1556 } else { len = MIN((hmsc->scsi_blk_len * hmsc->scsi_blk_size), MSC_MEDIA_PACKET); 80c152a: 68fb ldr r3, [r7, #12] 80c152c: f8d3 3270 ldr.w r3, [r3, #624] ; 0x270 80c1530: 68fa ldr r2, [r7, #12] 80c1532: f8b2 2264 ldrh.w r2, [r2, #612] ; 0x264 80c1536: fb02 f303 mul.w r3, r2, r3 80c153a: f5b3 7f00 cmp.w r3, #512 ; 0x200 80c153e: bf28 it cs 80c1540: f44f 7300 movcs.w r3, #512 ; 0x200 80c1544: 60bb str r3, [r7, #8] /* Prepare EP to Receive next packet */ (void)USBD_LL_PrepareReceive(pdev, MSC_EPOUT_ADDR, hmsc->bot_data, len); 80c1546: 68fb ldr r3, [r7, #12] 80c1548: f103 0210 add.w r2, r3, #16 80c154c: 68bb ldr r3, [r7, #8] 80c154e: 2101 movs r1, #1 80c1550: 6878 ldr r0, [r7, #4] 80c1552: f008 faf6 bl 80c9b42 } return 0; 80c1556: 2300 movs r3, #0 } 80c1558: 4618 mov r0, r3 80c155a: 3714 adds r7, #20 80c155c: 46bd mov sp, r7 80c155e: bd90 pop {r4, r7, pc} 080c1560 : * @param length: Data length * @retval status */ static int8_t SCSI_UpdateBotData(USBD_MSC_BOT_HandleTypeDef *hmsc, uint8_t *pBuff, uint16_t length) { 80c1560: b480 push {r7} 80c1562: b087 sub sp, #28 80c1564: af00 add r7, sp, #0 80c1566: 60f8 str r0, [r7, #12] 80c1568: 60b9 str r1, [r7, #8] 80c156a: 4613 mov r3, r2 80c156c: 80fb strh r3, [r7, #6] uint16_t len = length; 80c156e: 88fb ldrh r3, [r7, #6] 80c1570: 82fb strh r3, [r7, #22] hmsc->bot_data_length = len; 80c1572: 8afa ldrh r2, [r7, #22] 80c1574: 68fb ldr r3, [r7, #12] 80c1576: 60da str r2, [r3, #12] while (len != 0U) 80c1578: e00b b.n 80c1592 { len--; 80c157a: 8afb ldrh r3, [r7, #22] 80c157c: 3b01 subs r3, #1 80c157e: 82fb strh r3, [r7, #22] hmsc->bot_data[len] = pBuff[len]; 80c1580: 8afb ldrh r3, [r7, #22] 80c1582: 8afa ldrh r2, [r7, #22] 80c1584: 68b9 ldr r1, [r7, #8] 80c1586: 440a add r2, r1 80c1588: 7811 ldrb r1, [r2, #0] 80c158a: 68fa ldr r2, [r7, #12] 80c158c: 4413 add r3, r2 80c158e: 460a mov r2, r1 80c1590: 741a strb r2, [r3, #16] while (len != 0U) 80c1592: 8afb ldrh r3, [r7, #22] 80c1594: 2b00 cmp r3, #0 80c1596: d1f0 bne.n 80c157a } return 0; 80c1598: 2300 movs r3, #0 } 80c159a: 4618 mov r0, r3 80c159c: 371c adds r7, #28 80c159e: 46bd mov sp, r7 80c15a0: f85d 7b04 ldr.w r7, [sp], #4 80c15a4: 4770 bx lr 080c15a6 : * @param id: Low level core index * @retval None */ USBD_StatusTypeDef USBD_Init(USBD_HandleTypeDef *pdev, USBD_DescriptorsTypeDef *pdesc, uint8_t id) { 80c15a6: b580 push {r7, lr} 80c15a8: b086 sub sp, #24 80c15aa: af00 add r7, sp, #0 80c15ac: 60f8 str r0, [r7, #12] 80c15ae: 60b9 str r1, [r7, #8] 80c15b0: 4613 mov r3, r2 80c15b2: 71fb strb r3, [r7, #7] USBD_StatusTypeDef ret; /* Check whether the USB Host handle is valid */ if (pdev == NULL) 80c15b4: 68fb ldr r3, [r7, #12] 80c15b6: 2b00 cmp r3, #0 80c15b8: d101 bne.n 80c15be { #if (USBD_DEBUG_LEVEL > 1U) USBD_ErrLog("Invalid Device handle"); #endif return USBD_FAIL; 80c15ba: 2303 movs r3, #3 80c15bc: e025 b.n 80c160a } /* Unlink previous class */ if (pdev->pClass != NULL) 80c15be: 68fb ldr r3, [r7, #12] 80c15c0: f8d3 32b8 ldr.w r3, [r3, #696] ; 0x2b8 80c15c4: 2b00 cmp r3, #0 80c15c6: d003 beq.n 80c15d0 { pdev->pClass = NULL; 80c15c8: 68fb ldr r3, [r7, #12] 80c15ca: 2200 movs r2, #0 80c15cc: f8c3 22b8 str.w r2, [r3, #696] ; 0x2b8 } if (pdev->pConfDesc != NULL) 80c15d0: 68fb ldr r3, [r7, #12] 80c15d2: f8d3 32cc ldr.w r3, [r3, #716] ; 0x2cc 80c15d6: 2b00 cmp r3, #0 80c15d8: d003 beq.n 80c15e2 { pdev->pConfDesc = NULL; 80c15da: 68fb ldr r3, [r7, #12] 80c15dc: 2200 movs r2, #0 80c15de: f8c3 22cc str.w r2, [r3, #716] ; 0x2cc } /* Assign USBD Descriptors */ if (pdesc != NULL) 80c15e2: 68bb ldr r3, [r7, #8] 80c15e4: 2b00 cmp r3, #0 80c15e6: d003 beq.n 80c15f0 { pdev->pDesc = pdesc; 80c15e8: 68fb ldr r3, [r7, #12] 80c15ea: 68ba ldr r2, [r7, #8] 80c15ec: f8c3 22b4 str.w r2, [r3, #692] ; 0x2b4 } /* Set Device initial State */ pdev->dev_state = USBD_STATE_DEFAULT; 80c15f0: 68fb ldr r3, [r7, #12] 80c15f2: 2201 movs r2, #1 80c15f4: f883 229c strb.w r2, [r3, #668] ; 0x29c pdev->id = id; 80c15f8: 68fb ldr r3, [r7, #12] 80c15fa: 79fa ldrb r2, [r7, #7] 80c15fc: 701a strb r2, [r3, #0] /* Initialize low level driver */ ret = USBD_LL_Init(pdev); 80c15fe: 68f8 ldr r0, [r7, #12] 80c1600: f008 f924 bl 80c984c 80c1604: 4603 mov r3, r0 80c1606: 75fb strb r3, [r7, #23] return ret; 80c1608: 7dfb ldrb r3, [r7, #23] } 80c160a: 4618 mov r0, r3 80c160c: 3718 adds r7, #24 80c160e: 46bd mov sp, r7 80c1610: bd80 pop {r7, pc} 080c1612 : * @param pDevice : Device Handle * @param pclass: Class handle * @retval USBD Status */ USBD_StatusTypeDef USBD_RegisterClass(USBD_HandleTypeDef *pdev, USBD_ClassTypeDef *pclass) { 80c1612: b580 push {r7, lr} 80c1614: b084 sub sp, #16 80c1616: af00 add r7, sp, #0 80c1618: 6078 str r0, [r7, #4] 80c161a: 6039 str r1, [r7, #0] uint16_t len = 0U; 80c161c: 2300 movs r3, #0 80c161e: 81fb strh r3, [r7, #14] if (pclass == NULL) 80c1620: 683b ldr r3, [r7, #0] 80c1622: 2b00 cmp r3, #0 80c1624: d101 bne.n 80c162a { #if (USBD_DEBUG_LEVEL > 1U) USBD_ErrLog("Invalid Class handle"); #endif return USBD_FAIL; 80c1626: 2303 movs r3, #3 80c1628: e010 b.n 80c164c } /* link the class to the USB Device handle */ pdev->pClass = pclass; 80c162a: 687b ldr r3, [r7, #4] 80c162c: 683a ldr r2, [r7, #0] 80c162e: 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); 80c1632: 687b ldr r3, [r7, #4] 80c1634: f8d3 32b8 ldr.w r3, [r3, #696] ; 0x2b8 80c1638: 6a9b ldr r3, [r3, #40] ; 0x28 80c163a: f107 020e add.w r2, r7, #14 80c163e: 4610 mov r0, r2 80c1640: 4798 blx r3 80c1642: 4602 mov r2, r0 80c1644: 687b ldr r3, [r7, #4] 80c1646: f8c3 22cc str.w r2, [r3, #716] ; 0x2cc #endif /* USE_USB_FS */ return USBD_OK; 80c164a: 2300 movs r3, #0 } 80c164c: 4618 mov r0, r3 80c164e: 3710 adds r7, #16 80c1650: 46bd mov sp, r7 80c1652: bd80 pop {r7, pc} 080c1654 : * Start the USB Device Core. * @param pdev: Device Handle * @retval USBD Status */ USBD_StatusTypeDef USBD_Start(USBD_HandleTypeDef *pdev) { 80c1654: b580 push {r7, lr} 80c1656: b082 sub sp, #8 80c1658: af00 add r7, sp, #0 80c165a: 6078 str r0, [r7, #4] /* Start the low level driver */ return USBD_LL_Start(pdev); 80c165c: 6878 ldr r0, [r7, #4] 80c165e: f008 f947 bl 80c98f0 80c1662: 4603 mov r3, r0 } 80c1664: 4618 mov r0, r3 80c1666: 3708 adds r7, #8 80c1668: 46bd mov sp, r7 80c166a: bd80 pop {r7, pc} 080c166c : * Launch test mode process * @param pdev: device instance * @retval status */ USBD_StatusTypeDef USBD_RunTestMode(USBD_HandleTypeDef *pdev) { 80c166c: b480 push {r7} 80c166e: b083 sub sp, #12 80c1670: af00 add r7, sp, #0 80c1672: 6078 str r0, [r7, #4] /* Prevent unused argument compilation warning */ UNUSED(pdev); return USBD_OK; 80c1674: 2300 movs r3, #0 } 80c1676: 4618 mov r0, r3 80c1678: 370c adds r7, #12 80c167a: 46bd mov sp, r7 80c167c: f85d 7b04 ldr.w r7, [sp], #4 80c1680: 4770 bx lr 080c1682 : * @param cfgidx: configuration index * @retval status */ USBD_StatusTypeDef USBD_SetClassConfig(USBD_HandleTypeDef *pdev, uint8_t cfgidx) { 80c1682: b580 push {r7, lr} 80c1684: b084 sub sp, #16 80c1686: af00 add r7, sp, #0 80c1688: 6078 str r0, [r7, #4] 80c168a: 460b mov r3, r1 80c168c: 70fb strb r3, [r7, #3] USBD_StatusTypeDef ret = USBD_FAIL; 80c168e: 2303 movs r3, #3 80c1690: 73fb strb r3, [r7, #15] if (pdev->pClass != NULL) 80c1692: 687b ldr r3, [r7, #4] 80c1694: f8d3 32b8 ldr.w r3, [r3, #696] ; 0x2b8 80c1698: 2b00 cmp r3, #0 80c169a: d009 beq.n 80c16b0 { /* Set configuration and Start the Class */ ret = (USBD_StatusTypeDef)pdev->pClass->Init(pdev, cfgidx); 80c169c: 687b ldr r3, [r7, #4] 80c169e: f8d3 32b8 ldr.w r3, [r3, #696] ; 0x2b8 80c16a2: 681b ldr r3, [r3, #0] 80c16a4: 78fa ldrb r2, [r7, #3] 80c16a6: 4611 mov r1, r2 80c16a8: 6878 ldr r0, [r7, #4] 80c16aa: 4798 blx r3 80c16ac: 4603 mov r3, r0 80c16ae: 73fb strb r3, [r7, #15] } return ret; 80c16b0: 7bfb ldrb r3, [r7, #15] } 80c16b2: 4618 mov r0, r3 80c16b4: 3710 adds r7, #16 80c16b6: 46bd mov sp, r7 80c16b8: bd80 pop {r7, pc} 080c16ba : * @param pdev: device instance * @param cfgidx: configuration index * @retval status: USBD_StatusTypeDef */ USBD_StatusTypeDef USBD_ClrClassConfig(USBD_HandleTypeDef *pdev, uint8_t cfgidx) { 80c16ba: b580 push {r7, lr} 80c16bc: b082 sub sp, #8 80c16be: af00 add r7, sp, #0 80c16c0: 6078 str r0, [r7, #4] 80c16c2: 460b mov r3, r1 80c16c4: 70fb strb r3, [r7, #3] /* Clear configuration and De-initialize the Class process */ if (pdev->pClass != NULL) 80c16c6: 687b ldr r3, [r7, #4] 80c16c8: f8d3 32b8 ldr.w r3, [r3, #696] ; 0x2b8 80c16cc: 2b00 cmp r3, #0 80c16ce: d007 beq.n 80c16e0 { pdev->pClass->DeInit(pdev, cfgidx); 80c16d0: 687b ldr r3, [r7, #4] 80c16d2: f8d3 32b8 ldr.w r3, [r3, #696] ; 0x2b8 80c16d6: 685b ldr r3, [r3, #4] 80c16d8: 78fa ldrb r2, [r7, #3] 80c16da: 4611 mov r1, r2 80c16dc: 6878 ldr r0, [r7, #4] 80c16de: 4798 blx r3 } return USBD_OK; 80c16e0: 2300 movs r3, #0 } 80c16e2: 4618 mov r0, r3 80c16e4: 3708 adds r7, #8 80c16e6: 46bd mov sp, r7 80c16e8: bd80 pop {r7, pc} 080c16ea : * Handle the setup stage * @param pdev: device instance * @retval status */ USBD_StatusTypeDef USBD_LL_SetupStage(USBD_HandleTypeDef *pdev, uint8_t *psetup) { 80c16ea: b580 push {r7, lr} 80c16ec: b084 sub sp, #16 80c16ee: af00 add r7, sp, #0 80c16f0: 6078 str r0, [r7, #4] 80c16f2: 6039 str r1, [r7, #0] USBD_StatusTypeDef ret; USBD_ParseSetupRequest(&pdev->request, psetup); 80c16f4: 687b ldr r3, [r7, #4] 80c16f6: f203 23aa addw r3, r3, #682 ; 0x2aa 80c16fa: 6839 ldr r1, [r7, #0] 80c16fc: 4618 mov r0, r3 80c16fe: f000 ff55 bl 80c25ac pdev->ep0_state = USBD_EP0_SETUP; 80c1702: 687b ldr r3, [r7, #4] 80c1704: 2201 movs r2, #1 80c1706: f8c3 2294 str.w r2, [r3, #660] ; 0x294 pdev->ep0_data_len = pdev->request.wLength; 80c170a: 687b ldr r3, [r7, #4] 80c170c: f8b3 32b0 ldrh.w r3, [r3, #688] ; 0x2b0 80c1710: 461a mov r2, r3 80c1712: 687b ldr r3, [r7, #4] 80c1714: f8c3 2298 str.w r2, [r3, #664] ; 0x298 switch (pdev->request.bmRequest & 0x1FU) 80c1718: 687b ldr r3, [r7, #4] 80c171a: f893 32aa ldrb.w r3, [r3, #682] ; 0x2aa 80c171e: f003 031f and.w r3, r3, #31 80c1722: 2b01 cmp r3, #1 80c1724: d00e beq.n 80c1744 80c1726: 2b01 cmp r3, #1 80c1728: d302 bcc.n 80c1730 80c172a: 2b02 cmp r3, #2 80c172c: d014 beq.n 80c1758 80c172e: e01d b.n 80c176c { case USB_REQ_RECIPIENT_DEVICE: ret = USBD_StdDevReq(pdev, &pdev->request); 80c1730: 687b ldr r3, [r7, #4] 80c1732: f203 23aa addw r3, r3, #682 ; 0x2aa 80c1736: 4619 mov r1, r3 80c1738: 6878 ldr r0, [r7, #4] 80c173a: f000 fa17 bl 80c1b6c 80c173e: 4603 mov r3, r0 80c1740: 73fb strb r3, [r7, #15] break; 80c1742: e020 b.n 80c1786 case USB_REQ_RECIPIENT_INTERFACE: ret = USBD_StdItfReq(pdev, &pdev->request); 80c1744: 687b ldr r3, [r7, #4] 80c1746: f203 23aa addw r3, r3, #682 ; 0x2aa 80c174a: 4619 mov r1, r3 80c174c: 6878 ldr r0, [r7, #4] 80c174e: f000 fa7b bl 80c1c48 80c1752: 4603 mov r3, r0 80c1754: 73fb strb r3, [r7, #15] break; 80c1756: e016 b.n 80c1786 case USB_REQ_RECIPIENT_ENDPOINT: ret = USBD_StdEPReq(pdev, &pdev->request); 80c1758: 687b ldr r3, [r7, #4] 80c175a: f203 23aa addw r3, r3, #682 ; 0x2aa 80c175e: 4619 mov r1, r3 80c1760: 6878 ldr r0, [r7, #4] 80c1762: f000 fab7 bl 80c1cd4 80c1766: 4603 mov r3, r0 80c1768: 73fb strb r3, [r7, #15] break; 80c176a: e00c b.n 80c1786 default: ret = USBD_LL_StallEP(pdev, (pdev->request.bmRequest & 0x80U)); 80c176c: 687b ldr r3, [r7, #4] 80c176e: f893 32aa ldrb.w r3, [r3, #682] ; 0x2aa 80c1772: f023 037f bic.w r3, r3, #127 ; 0x7f 80c1776: b2db uxtb r3, r3 80c1778: 4619 mov r1, r3 80c177a: 6878 ldr r0, [r7, #4] 80c177c: f008 f937 bl 80c99ee 80c1780: 4603 mov r3, r0 80c1782: 73fb strb r3, [r7, #15] break; 80c1784: bf00 nop } return ret; 80c1786: 7bfb ldrb r3, [r7, #15] } 80c1788: 4618 mov r0, r3 80c178a: 3710 adds r7, #16 80c178c: 46bd mov sp, r7 80c178e: bd80 pop {r7, pc} 080c1790 : * @param epnum: endpoint index * @retval status */ USBD_StatusTypeDef USBD_LL_DataOutStage(USBD_HandleTypeDef *pdev, uint8_t epnum, uint8_t *pdata) { 80c1790: b580 push {r7, lr} 80c1792: b086 sub sp, #24 80c1794: af00 add r7, sp, #0 80c1796: 60f8 str r0, [r7, #12] 80c1798: 460b mov r3, r1 80c179a: 607a str r2, [r7, #4] 80c179c: 72fb strb r3, [r7, #11] USBD_EndpointTypeDef *pep; USBD_StatusTypeDef ret; if (epnum == 0U) 80c179e: 7afb ldrb r3, [r7, #11] 80c17a0: 2b00 cmp r3, #0 80c17a2: d137 bne.n 80c1814 { pep = &pdev->ep_out[0]; 80c17a4: 68fb ldr r3, [r7, #12] 80c17a6: f503 73aa add.w r3, r3, #340 ; 0x154 80c17aa: 613b str r3, [r7, #16] if (pdev->ep0_state == USBD_EP0_DATA_OUT) 80c17ac: 68fb ldr r3, [r7, #12] 80c17ae: f8d3 3294 ldr.w r3, [r3, #660] ; 0x294 80c17b2: 2b03 cmp r3, #3 80c17b4: d14a bne.n 80c184c { if (pep->rem_length > pep->maxpacket) 80c17b6: 693b ldr r3, [r7, #16] 80c17b8: 689a ldr r2, [r3, #8] 80c17ba: 693b ldr r3, [r7, #16] 80c17bc: 68db ldr r3, [r3, #12] 80c17be: 429a cmp r2, r3 80c17c0: d913 bls.n 80c17ea { pep->rem_length -= pep->maxpacket; 80c17c2: 693b ldr r3, [r7, #16] 80c17c4: 689a ldr r2, [r3, #8] 80c17c6: 693b ldr r3, [r7, #16] 80c17c8: 68db ldr r3, [r3, #12] 80c17ca: 1ad2 subs r2, r2, r3 80c17cc: 693b ldr r3, [r7, #16] 80c17ce: 609a str r2, [r3, #8] (void)USBD_CtlContinueRx(pdev, pdata, MIN(pep->rem_length, pep->maxpacket)); 80c17d0: 693b ldr r3, [r7, #16] 80c17d2: 68da ldr r2, [r3, #12] 80c17d4: 693b ldr r3, [r7, #16] 80c17d6: 689b ldr r3, [r3, #8] 80c17d8: 4293 cmp r3, r2 80c17da: bf28 it cs 80c17dc: 4613 movcs r3, r2 80c17de: 461a mov r2, r3 80c17e0: 6879 ldr r1, [r7, #4] 80c17e2: 68f8 ldr r0, [r7, #12] 80c17e4: f000 ffb9 bl 80c275a 80c17e8: e030 b.n 80c184c } else { if ((pdev->pClass->EP0_RxReady != NULL) && 80c17ea: 68fb ldr r3, [r7, #12] 80c17ec: f8d3 32b8 ldr.w r3, [r3, #696] ; 0x2b8 80c17f0: 691b ldr r3, [r3, #16] 80c17f2: 2b00 cmp r3, #0 80c17f4: d00a beq.n 80c180c (pdev->dev_state == USBD_STATE_CONFIGURED)) 80c17f6: 68fb ldr r3, [r7, #12] 80c17f8: f893 329c ldrb.w r3, [r3, #668] ; 0x29c if ((pdev->pClass->EP0_RxReady != NULL) && 80c17fc: 2b03 cmp r3, #3 80c17fe: d105 bne.n 80c180c { pdev->pClass->EP0_RxReady(pdev); 80c1800: 68fb ldr r3, [r7, #12] 80c1802: f8d3 32b8 ldr.w r3, [r3, #696] ; 0x2b8 80c1806: 691b ldr r3, [r3, #16] 80c1808: 68f8 ldr r0, [r7, #12] 80c180a: 4798 blx r3 } (void)USBD_CtlSendStatus(pdev); 80c180c: 68f8 ldr r0, [r7, #12] 80c180e: f000 ffb5 bl 80c277c 80c1812: e01b b.n 80c184c (void)USBD_LL_StallEP(pdev, 0U); } #endif } } else if ((pdev->pClass->DataOut != NULL) && 80c1814: 68fb ldr r3, [r7, #12] 80c1816: f8d3 32b8 ldr.w r3, [r3, #696] ; 0x2b8 80c181a: 699b ldr r3, [r3, #24] 80c181c: 2b00 cmp r3, #0 80c181e: d013 beq.n 80c1848 (pdev->dev_state == USBD_STATE_CONFIGURED)) 80c1820: 68fb ldr r3, [r7, #12] 80c1822: f893 329c ldrb.w r3, [r3, #668] ; 0x29c else if ((pdev->pClass->DataOut != NULL) && 80c1826: 2b03 cmp r3, #3 80c1828: d10e bne.n 80c1848 { ret = (USBD_StatusTypeDef)pdev->pClass->DataOut(pdev, epnum); 80c182a: 68fb ldr r3, [r7, #12] 80c182c: f8d3 32b8 ldr.w r3, [r3, #696] ; 0x2b8 80c1830: 699b ldr r3, [r3, #24] 80c1832: 7afa ldrb r2, [r7, #11] 80c1834: 4611 mov r1, r2 80c1836: 68f8 ldr r0, [r7, #12] 80c1838: 4798 blx r3 80c183a: 4603 mov r3, r0 80c183c: 75fb strb r3, [r7, #23] if (ret != USBD_OK) 80c183e: 7dfb ldrb r3, [r7, #23] 80c1840: 2b00 cmp r3, #0 80c1842: d003 beq.n 80c184c { return ret; 80c1844: 7dfb ldrb r3, [r7, #23] 80c1846: e002 b.n 80c184e } } else { /* should never be in this condition */ return USBD_FAIL; 80c1848: 2303 movs r3, #3 80c184a: e000 b.n 80c184e } return USBD_OK; 80c184c: 2300 movs r3, #0 } 80c184e: 4618 mov r0, r3 80c1850: 3718 adds r7, #24 80c1852: 46bd mov sp, r7 80c1854: bd80 pop {r7, pc} 080c1856 : * @param epnum: endpoint index * @retval status */ USBD_StatusTypeDef USBD_LL_DataInStage(USBD_HandleTypeDef *pdev, uint8_t epnum, uint8_t *pdata) { 80c1856: b580 push {r7, lr} 80c1858: b086 sub sp, #24 80c185a: af00 add r7, sp, #0 80c185c: 60f8 str r0, [r7, #12] 80c185e: 460b mov r3, r1 80c1860: 607a str r2, [r7, #4] 80c1862: 72fb strb r3, [r7, #11] USBD_EndpointTypeDef *pep; USBD_StatusTypeDef ret; if (epnum == 0U) 80c1864: 7afb ldrb r3, [r7, #11] 80c1866: 2b00 cmp r3, #0 80c1868: d16a bne.n 80c1940 { pep = &pdev->ep_in[0]; 80c186a: 68fb ldr r3, [r7, #12] 80c186c: 3314 adds r3, #20 80c186e: 613b str r3, [r7, #16] if (pdev->ep0_state == USBD_EP0_DATA_IN) 80c1870: 68fb ldr r3, [r7, #12] 80c1872: f8d3 3294 ldr.w r3, [r3, #660] ; 0x294 80c1876: 2b02 cmp r3, #2 80c1878: d155 bne.n 80c1926 { if (pep->rem_length > pep->maxpacket) 80c187a: 693b ldr r3, [r7, #16] 80c187c: 689a ldr r2, [r3, #8] 80c187e: 693b ldr r3, [r7, #16] 80c1880: 68db ldr r3, [r3, #12] 80c1882: 429a cmp r2, r3 80c1884: d914 bls.n 80c18b0 { pep->rem_length -= pep->maxpacket; 80c1886: 693b ldr r3, [r7, #16] 80c1888: 689a ldr r2, [r3, #8] 80c188a: 693b ldr r3, [r7, #16] 80c188c: 68db ldr r3, [r3, #12] 80c188e: 1ad2 subs r2, r2, r3 80c1890: 693b ldr r3, [r7, #16] 80c1892: 609a str r2, [r3, #8] (void)USBD_CtlContinueSendData(pdev, pdata, pep->rem_length); 80c1894: 693b ldr r3, [r7, #16] 80c1896: 689b ldr r3, [r3, #8] 80c1898: 461a mov r2, r3 80c189a: 6879 ldr r1, [r7, #4] 80c189c: 68f8 ldr r0, [r7, #12] 80c189e: f000 ff4b bl 80c2738 /* Prepare endpoint for premature end of transfer */ (void)USBD_LL_PrepareReceive(pdev, 0U, NULL, 0U); 80c18a2: 2300 movs r3, #0 80c18a4: 2200 movs r2, #0 80c18a6: 2100 movs r1, #0 80c18a8: 68f8 ldr r0, [r7, #12] 80c18aa: f008 f94a bl 80c9b42 80c18ae: e03a b.n 80c1926 } else { /* last packet is MPS multiple, so send ZLP packet */ if ((pep->maxpacket == pep->rem_length) && 80c18b0: 693b ldr r3, [r7, #16] 80c18b2: 68da ldr r2, [r3, #12] 80c18b4: 693b ldr r3, [r7, #16] 80c18b6: 689b ldr r3, [r3, #8] 80c18b8: 429a cmp r2, r3 80c18ba: d11c bne.n 80c18f6 (pep->total_length >= pep->maxpacket) && 80c18bc: 693b ldr r3, [r7, #16] 80c18be: 685a ldr r2, [r3, #4] 80c18c0: 693b ldr r3, [r7, #16] 80c18c2: 68db ldr r3, [r3, #12] if ((pep->maxpacket == pep->rem_length) && 80c18c4: 429a cmp r2, r3 80c18c6: d316 bcc.n 80c18f6 (pep->total_length < pdev->ep0_data_len)) 80c18c8: 693b ldr r3, [r7, #16] 80c18ca: 685a ldr r2, [r3, #4] 80c18cc: 68fb ldr r3, [r7, #12] 80c18ce: f8d3 3298 ldr.w r3, [r3, #664] ; 0x298 (pep->total_length >= pep->maxpacket) && 80c18d2: 429a cmp r2, r3 80c18d4: d20f bcs.n 80c18f6 { (void)USBD_CtlContinueSendData(pdev, NULL, 0U); 80c18d6: 2200 movs r2, #0 80c18d8: 2100 movs r1, #0 80c18da: 68f8 ldr r0, [r7, #12] 80c18dc: f000 ff2c bl 80c2738 pdev->ep0_data_len = 0U; 80c18e0: 68fb ldr r3, [r7, #12] 80c18e2: 2200 movs r2, #0 80c18e4: f8c3 2298 str.w r2, [r3, #664] ; 0x298 /* Prepare endpoint for premature end of transfer */ (void)USBD_LL_PrepareReceive(pdev, 0U, NULL, 0U); 80c18e8: 2300 movs r3, #0 80c18ea: 2200 movs r2, #0 80c18ec: 2100 movs r1, #0 80c18ee: 68f8 ldr r0, [r7, #12] 80c18f0: f008 f927 bl 80c9b42 80c18f4: e017 b.n 80c1926 } else { if ((pdev->pClass->EP0_TxSent != NULL) && 80c18f6: 68fb ldr r3, [r7, #12] 80c18f8: f8d3 32b8 ldr.w r3, [r3, #696] ; 0x2b8 80c18fc: 68db ldr r3, [r3, #12] 80c18fe: 2b00 cmp r3, #0 80c1900: d00a beq.n 80c1918 (pdev->dev_state == USBD_STATE_CONFIGURED)) 80c1902: 68fb ldr r3, [r7, #12] 80c1904: f893 329c ldrb.w r3, [r3, #668] ; 0x29c if ((pdev->pClass->EP0_TxSent != NULL) && 80c1908: 2b03 cmp r3, #3 80c190a: d105 bne.n 80c1918 { pdev->pClass->EP0_TxSent(pdev); 80c190c: 68fb ldr r3, [r7, #12] 80c190e: f8d3 32b8 ldr.w r3, [r3, #696] ; 0x2b8 80c1912: 68db ldr r3, [r3, #12] 80c1914: 68f8 ldr r0, [r7, #12] 80c1916: 4798 blx r3 } (void)USBD_LL_StallEP(pdev, 0x80U); 80c1918: 2180 movs r1, #128 ; 0x80 80c191a: 68f8 ldr r0, [r7, #12] 80c191c: f008 f867 bl 80c99ee (void)USBD_CtlReceiveStatus(pdev); 80c1920: 68f8 ldr r0, [r7, #12] 80c1922: f000 ff3e bl 80c27a2 (void)USBD_LL_StallEP(pdev, 0x80U); } #endif } if (pdev->dev_test_mode == 1U) 80c1926: 68fb ldr r3, [r7, #12] 80c1928: f893 32a0 ldrb.w r3, [r3, #672] ; 0x2a0 80c192c: 2b01 cmp r3, #1 80c192e: d123 bne.n 80c1978 { (void)USBD_RunTestMode(pdev); 80c1930: 68f8 ldr r0, [r7, #12] 80c1932: f7ff fe9b bl 80c166c pdev->dev_test_mode = 0U; 80c1936: 68fb ldr r3, [r7, #12] 80c1938: 2200 movs r2, #0 80c193a: f883 22a0 strb.w r2, [r3, #672] ; 0x2a0 80c193e: e01b b.n 80c1978 } } else if ((pdev->pClass->DataIn != NULL) && 80c1940: 68fb ldr r3, [r7, #12] 80c1942: f8d3 32b8 ldr.w r3, [r3, #696] ; 0x2b8 80c1946: 695b ldr r3, [r3, #20] 80c1948: 2b00 cmp r3, #0 80c194a: d013 beq.n 80c1974 (pdev->dev_state == USBD_STATE_CONFIGURED)) 80c194c: 68fb ldr r3, [r7, #12] 80c194e: f893 329c ldrb.w r3, [r3, #668] ; 0x29c else if ((pdev->pClass->DataIn != NULL) && 80c1952: 2b03 cmp r3, #3 80c1954: d10e bne.n 80c1974 { ret = (USBD_StatusTypeDef)pdev->pClass->DataIn(pdev, epnum); 80c1956: 68fb ldr r3, [r7, #12] 80c1958: f8d3 32b8 ldr.w r3, [r3, #696] ; 0x2b8 80c195c: 695b ldr r3, [r3, #20] 80c195e: 7afa ldrb r2, [r7, #11] 80c1960: 4611 mov r1, r2 80c1962: 68f8 ldr r0, [r7, #12] 80c1964: 4798 blx r3 80c1966: 4603 mov r3, r0 80c1968: 75fb strb r3, [r7, #23] if (ret != USBD_OK) 80c196a: 7dfb ldrb r3, [r7, #23] 80c196c: 2b00 cmp r3, #0 80c196e: d003 beq.n 80c1978 { return ret; 80c1970: 7dfb ldrb r3, [r7, #23] 80c1972: e002 b.n 80c197a } } else { /* should never be in this condition */ return USBD_FAIL; 80c1974: 2303 movs r3, #3 80c1976: e000 b.n 80c197a } return USBD_OK; 80c1978: 2300 movs r3, #0 } 80c197a: 4618 mov r0, r3 80c197c: 3718 adds r7, #24 80c197e: 46bd mov sp, r7 80c1980: bd80 pop {r7, pc} 080c1982 : * @param pdev: device instance * @retval status */ USBD_StatusTypeDef USBD_LL_Reset(USBD_HandleTypeDef *pdev) { 80c1982: b580 push {r7, lr} 80c1984: b082 sub sp, #8 80c1986: af00 add r7, sp, #0 80c1988: 6078 str r0, [r7, #4] /* Upon Reset call user call back */ pdev->dev_state = USBD_STATE_DEFAULT; 80c198a: 687b ldr r3, [r7, #4] 80c198c: 2201 movs r2, #1 80c198e: f883 229c strb.w r2, [r3, #668] ; 0x29c pdev->ep0_state = USBD_EP0_IDLE; 80c1992: 687b ldr r3, [r7, #4] 80c1994: 2200 movs r2, #0 80c1996: f8c3 2294 str.w r2, [r3, #660] ; 0x294 pdev->dev_config = 0U; 80c199a: 687b ldr r3, [r7, #4] 80c199c: 2200 movs r2, #0 80c199e: 605a str r2, [r3, #4] pdev->dev_remote_wakeup = 0U; 80c19a0: 687b ldr r3, [r7, #4] 80c19a2: 2200 movs r2, #0 80c19a4: f8c3 22a4 str.w r2, [r3, #676] ; 0x2a4 if (pdev->pClassData != NULL) 80c19a8: 687b ldr r3, [r7, #4] 80c19aa: f8d3 32bc ldr.w r3, [r3, #700] ; 0x2bc 80c19ae: 2b00 cmp r3, #0 80c19b0: d009 beq.n 80c19c6 { pdev->pClass->DeInit(pdev, (uint8_t)pdev->dev_config); 80c19b2: 687b ldr r3, [r7, #4] 80c19b4: f8d3 32b8 ldr.w r3, [r3, #696] ; 0x2b8 80c19b8: 685b ldr r3, [r3, #4] 80c19ba: 687a ldr r2, [r7, #4] 80c19bc: 6852 ldr r2, [r2, #4] 80c19be: b2d2 uxtb r2, r2 80c19c0: 4611 mov r1, r2 80c19c2: 6878 ldr r0, [r7, #4] 80c19c4: 4798 blx r3 } /* Open EP0 OUT */ (void)USBD_LL_OpenEP(pdev, 0x00U, USBD_EP_TYPE_CTRL, USB_MAX_EP0_SIZE); 80c19c6: 2340 movs r3, #64 ; 0x40 80c19c8: 2200 movs r2, #0 80c19ca: 2100 movs r1, #0 80c19cc: 6878 ldr r0, [r7, #4] 80c19ce: f007 ffaa bl 80c9926 pdev->ep_out[0x00U & 0xFU].is_used = 1U; 80c19d2: 687b ldr r3, [r7, #4] 80c19d4: 2201 movs r2, #1 80c19d6: f8a3 2164 strh.w r2, [r3, #356] ; 0x164 pdev->ep_out[0].maxpacket = USB_MAX_EP0_SIZE; 80c19da: 687b ldr r3, [r7, #4] 80c19dc: 2240 movs r2, #64 ; 0x40 80c19de: 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); 80c19e2: 2340 movs r3, #64 ; 0x40 80c19e4: 2200 movs r2, #0 80c19e6: 2180 movs r1, #128 ; 0x80 80c19e8: 6878 ldr r0, [r7, #4] 80c19ea: f007 ff9c bl 80c9926 pdev->ep_in[0x80U & 0xFU].is_used = 1U; 80c19ee: 687b ldr r3, [r7, #4] 80c19f0: 2201 movs r2, #1 80c19f2: 849a strh r2, [r3, #36] ; 0x24 pdev->ep_in[0].maxpacket = USB_MAX_EP0_SIZE; 80c19f4: 687b ldr r3, [r7, #4] 80c19f6: 2240 movs r2, #64 ; 0x40 80c19f8: 621a str r2, [r3, #32] return USBD_OK; 80c19fa: 2300 movs r3, #0 } 80c19fc: 4618 mov r0, r3 80c19fe: 3708 adds r7, #8 80c1a00: 46bd mov sp, r7 80c1a02: bd80 pop {r7, pc} 080c1a04 : * @param pdev: device instance * @retval status */ USBD_StatusTypeDef USBD_LL_SetSpeed(USBD_HandleTypeDef *pdev, USBD_SpeedTypeDef speed) { 80c1a04: b480 push {r7} 80c1a06: b083 sub sp, #12 80c1a08: af00 add r7, sp, #0 80c1a0a: 6078 str r0, [r7, #4] 80c1a0c: 460b mov r3, r1 80c1a0e: 70fb strb r3, [r7, #3] pdev->dev_speed = speed; 80c1a10: 687b ldr r3, [r7, #4] 80c1a12: 78fa ldrb r2, [r7, #3] 80c1a14: 741a strb r2, [r3, #16] return USBD_OK; 80c1a16: 2300 movs r3, #0 } 80c1a18: 4618 mov r0, r3 80c1a1a: 370c adds r7, #12 80c1a1c: 46bd mov sp, r7 80c1a1e: f85d 7b04 ldr.w r7, [sp], #4 80c1a22: 4770 bx lr 080c1a24 : * @param pdev: device instance * @retval status */ USBD_StatusTypeDef USBD_LL_Suspend(USBD_HandleTypeDef *pdev) { 80c1a24: b480 push {r7} 80c1a26: b083 sub sp, #12 80c1a28: af00 add r7, sp, #0 80c1a2a: 6078 str r0, [r7, #4] pdev->dev_old_state = pdev->dev_state; 80c1a2c: 687b ldr r3, [r7, #4] 80c1a2e: f893 229c ldrb.w r2, [r3, #668] ; 0x29c 80c1a32: 687b ldr r3, [r7, #4] 80c1a34: f883 229d strb.w r2, [r3, #669] ; 0x29d pdev->dev_state = USBD_STATE_SUSPENDED; 80c1a38: 687b ldr r3, [r7, #4] 80c1a3a: 2204 movs r2, #4 80c1a3c: f883 229c strb.w r2, [r3, #668] ; 0x29c return USBD_OK; 80c1a40: 2300 movs r3, #0 } 80c1a42: 4618 mov r0, r3 80c1a44: 370c adds r7, #12 80c1a46: 46bd mov sp, r7 80c1a48: f85d 7b04 ldr.w r7, [sp], #4 80c1a4c: 4770 bx lr 080c1a4e : * @param pdev: device instance * @retval status */ USBD_StatusTypeDef USBD_LL_Resume(USBD_HandleTypeDef *pdev) { 80c1a4e: b480 push {r7} 80c1a50: b083 sub sp, #12 80c1a52: af00 add r7, sp, #0 80c1a54: 6078 str r0, [r7, #4] if (pdev->dev_state == USBD_STATE_SUSPENDED) 80c1a56: 687b ldr r3, [r7, #4] 80c1a58: f893 329c ldrb.w r3, [r3, #668] ; 0x29c 80c1a5c: 2b04 cmp r3, #4 80c1a5e: d105 bne.n 80c1a6c { pdev->dev_state = pdev->dev_old_state; 80c1a60: 687b ldr r3, [r7, #4] 80c1a62: f893 229d ldrb.w r2, [r3, #669] ; 0x29d 80c1a66: 687b ldr r3, [r7, #4] 80c1a68: f883 229c strb.w r2, [r3, #668] ; 0x29c } return USBD_OK; 80c1a6c: 2300 movs r3, #0 } 80c1a6e: 4618 mov r0, r3 80c1a70: 370c adds r7, #12 80c1a72: 46bd mov sp, r7 80c1a74: f85d 7b04 ldr.w r7, [sp], #4 80c1a78: 4770 bx lr 080c1a7a : * @param pdev: device instance * @retval status */ USBD_StatusTypeDef USBD_LL_SOF(USBD_HandleTypeDef *pdev) { 80c1a7a: b580 push {r7, lr} 80c1a7c: b082 sub sp, #8 80c1a7e: af00 add r7, sp, #0 80c1a80: 6078 str r0, [r7, #4] if (pdev->dev_state == USBD_STATE_CONFIGURED) 80c1a82: 687b ldr r3, [r7, #4] 80c1a84: f893 329c ldrb.w r3, [r3, #668] ; 0x29c 80c1a88: 2b03 cmp r3, #3 80c1a8a: d10b bne.n 80c1aa4 { if (pdev->pClass->SOF != NULL) 80c1a8c: 687b ldr r3, [r7, #4] 80c1a8e: f8d3 32b8 ldr.w r3, [r3, #696] ; 0x2b8 80c1a92: 69db ldr r3, [r3, #28] 80c1a94: 2b00 cmp r3, #0 80c1a96: d005 beq.n 80c1aa4 { pdev->pClass->SOF(pdev); 80c1a98: 687b ldr r3, [r7, #4] 80c1a9a: f8d3 32b8 ldr.w r3, [r3, #696] ; 0x2b8 80c1a9e: 69db ldr r3, [r3, #28] 80c1aa0: 6878 ldr r0, [r7, #4] 80c1aa2: 4798 blx r3 } } return USBD_OK; 80c1aa4: 2300 movs r3, #0 } 80c1aa6: 4618 mov r0, r3 80c1aa8: 3708 adds r7, #8 80c1aaa: 46bd mov sp, r7 80c1aac: bd80 pop {r7, pc} 080c1aae : * @param pdev: device instance * @retval status */ USBD_StatusTypeDef USBD_LL_IsoINIncomplete(USBD_HandleTypeDef *pdev, uint8_t epnum) { 80c1aae: b480 push {r7} 80c1ab0: b083 sub sp, #12 80c1ab2: af00 add r7, sp, #0 80c1ab4: 6078 str r0, [r7, #4] 80c1ab6: 460b mov r3, r1 80c1ab8: 70fb strb r3, [r7, #3] /* Prevent unused arguments compilation warning */ UNUSED(pdev); UNUSED(epnum); return USBD_OK; 80c1aba: 2300 movs r3, #0 } 80c1abc: 4618 mov r0, r3 80c1abe: 370c adds r7, #12 80c1ac0: 46bd mov sp, r7 80c1ac2: f85d 7b04 ldr.w r7, [sp], #4 80c1ac6: 4770 bx lr 080c1ac8 : * @param pdev: device instance * @retval status */ USBD_StatusTypeDef USBD_LL_IsoOUTIncomplete(USBD_HandleTypeDef *pdev, uint8_t epnum) { 80c1ac8: b480 push {r7} 80c1aca: b083 sub sp, #12 80c1acc: af00 add r7, sp, #0 80c1ace: 6078 str r0, [r7, #4] 80c1ad0: 460b mov r3, r1 80c1ad2: 70fb strb r3, [r7, #3] /* Prevent unused arguments compilation warning */ UNUSED(pdev); UNUSED(epnum); return USBD_OK; 80c1ad4: 2300 movs r3, #0 } 80c1ad6: 4618 mov r0, r3 80c1ad8: 370c adds r7, #12 80c1ada: 46bd mov sp, r7 80c1adc: f85d 7b04 ldr.w r7, [sp], #4 80c1ae0: 4770 bx lr 080c1ae2 : * Handle device connection event * @param pdev: device instance * @retval status */ USBD_StatusTypeDef USBD_LL_DevConnected(USBD_HandleTypeDef *pdev) { 80c1ae2: b480 push {r7} 80c1ae4: b083 sub sp, #12 80c1ae6: af00 add r7, sp, #0 80c1ae8: 6078 str r0, [r7, #4] /* Prevent unused argument compilation warning */ UNUSED(pdev); return USBD_OK; 80c1aea: 2300 movs r3, #0 } 80c1aec: 4618 mov r0, r3 80c1aee: 370c adds r7, #12 80c1af0: 46bd mov sp, r7 80c1af2: f85d 7b04 ldr.w r7, [sp], #4 80c1af6: 4770 bx lr 080c1af8 : * Handle device disconnection event * @param pdev: device instance * @retval status */ USBD_StatusTypeDef USBD_LL_DevDisconnected(USBD_HandleTypeDef *pdev) { 80c1af8: b580 push {r7, lr} 80c1afa: b082 sub sp, #8 80c1afc: af00 add r7, sp, #0 80c1afe: 6078 str r0, [r7, #4] /* Free Class Resources */ pdev->dev_state = USBD_STATE_DEFAULT; 80c1b00: 687b ldr r3, [r7, #4] 80c1b02: 2201 movs r2, #1 80c1b04: f883 229c strb.w r2, [r3, #668] ; 0x29c if (pdev->pClass != NULL) 80c1b08: 687b ldr r3, [r7, #4] 80c1b0a: f8d3 32b8 ldr.w r3, [r3, #696] ; 0x2b8 80c1b0e: 2b00 cmp r3, #0 80c1b10: d009 beq.n 80c1b26 { pdev->pClass->DeInit(pdev, (uint8_t)pdev->dev_config); 80c1b12: 687b ldr r3, [r7, #4] 80c1b14: f8d3 32b8 ldr.w r3, [r3, #696] ; 0x2b8 80c1b18: 685b ldr r3, [r3, #4] 80c1b1a: 687a ldr r2, [r7, #4] 80c1b1c: 6852 ldr r2, [r2, #4] 80c1b1e: b2d2 uxtb r2, r2 80c1b20: 4611 mov r1, r2 80c1b22: 6878 ldr r0, [r7, #4] 80c1b24: 4798 blx r3 } return USBD_OK; 80c1b26: 2300 movs r3, #0 } 80c1b28: 4618 mov r0, r3 80c1b2a: 3708 adds r7, #8 80c1b2c: 46bd mov sp, r7 80c1b2e: bd80 pop {r7, pc} 080c1b30 : /** @defgroup USBD_DEF_Exported_Macros * @{ */ __STATIC_INLINE uint16_t SWAPBYTE(uint8_t *addr) { 80c1b30: b480 push {r7} 80c1b32: b087 sub sp, #28 80c1b34: af00 add r7, sp, #0 80c1b36: 6078 str r0, [r7, #4] uint16_t _SwapVal, _Byte1, _Byte2; uint8_t *_pbuff = addr; 80c1b38: 687b ldr r3, [r7, #4] 80c1b3a: 617b str r3, [r7, #20] _Byte1 = *(uint8_t *)_pbuff; 80c1b3c: 697b ldr r3, [r7, #20] 80c1b3e: 781b ldrb r3, [r3, #0] 80c1b40: 827b strh r3, [r7, #18] _pbuff++; 80c1b42: 697b ldr r3, [r7, #20] 80c1b44: 3301 adds r3, #1 80c1b46: 617b str r3, [r7, #20] _Byte2 = *(uint8_t *)_pbuff; 80c1b48: 697b ldr r3, [r7, #20] 80c1b4a: 781b ldrb r3, [r3, #0] 80c1b4c: 823b strh r3, [r7, #16] _SwapVal = (_Byte2 << 8) | _Byte1; 80c1b4e: 8a3b ldrh r3, [r7, #16] 80c1b50: 021b lsls r3, r3, #8 80c1b52: b21a sxth r2, r3 80c1b54: f9b7 3012 ldrsh.w r3, [r7, #18] 80c1b58: 4313 orrs r3, r2 80c1b5a: b21b sxth r3, r3 80c1b5c: 81fb strh r3, [r7, #14] return _SwapVal; 80c1b5e: 89fb ldrh r3, [r7, #14] } 80c1b60: 4618 mov r0, r3 80c1b62: 371c adds r7, #28 80c1b64: 46bd mov sp, r7 80c1b66: f85d 7b04 ldr.w r7, [sp], #4 80c1b6a: 4770 bx lr 080c1b6c : * @param pdev: device instance * @param req: usb request * @retval status */ USBD_StatusTypeDef USBD_StdDevReq(USBD_HandleTypeDef *pdev, USBD_SetupReqTypedef *req) { 80c1b6c: b580 push {r7, lr} 80c1b6e: b084 sub sp, #16 80c1b70: af00 add r7, sp, #0 80c1b72: 6078 str r0, [r7, #4] 80c1b74: 6039 str r1, [r7, #0] USBD_StatusTypeDef ret = USBD_OK; 80c1b76: 2300 movs r3, #0 80c1b78: 73fb strb r3, [r7, #15] switch (req->bmRequest & USB_REQ_TYPE_MASK) 80c1b7a: 683b ldr r3, [r7, #0] 80c1b7c: 781b ldrb r3, [r3, #0] 80c1b7e: f003 0360 and.w r3, r3, #96 ; 0x60 80c1b82: 2b20 cmp r3, #32 80c1b84: d004 beq.n 80c1b90 80c1b86: 2b40 cmp r3, #64 ; 0x40 80c1b88: d002 beq.n 80c1b90 80c1b8a: 2b00 cmp r3, #0 80c1b8c: d00a beq.n 80c1ba4 80c1b8e: e050 b.n 80c1c32 { case USB_REQ_TYPE_CLASS: case USB_REQ_TYPE_VENDOR: ret = (USBD_StatusTypeDef)pdev->pClass->Setup(pdev, req); 80c1b90: 687b ldr r3, [r7, #4] 80c1b92: f8d3 32b8 ldr.w r3, [r3, #696] ; 0x2b8 80c1b96: 689b ldr r3, [r3, #8] 80c1b98: 6839 ldr r1, [r7, #0] 80c1b9a: 6878 ldr r0, [r7, #4] 80c1b9c: 4798 blx r3 80c1b9e: 4603 mov r3, r0 80c1ba0: 73fb strb r3, [r7, #15] break; 80c1ba2: e04b b.n 80c1c3c case USB_REQ_TYPE_STANDARD: switch (req->bRequest) 80c1ba4: 683b ldr r3, [r7, #0] 80c1ba6: 785b ldrb r3, [r3, #1] 80c1ba8: 2b09 cmp r3, #9 80c1baa: d83c bhi.n 80c1c26 80c1bac: a201 add r2, pc, #4 ; (adr r2, 80c1bb4 ) 80c1bae: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80c1bb2: bf00 nop 80c1bb4: 080c1c09 .word 0x080c1c09 80c1bb8: 080c1c1d .word 0x080c1c1d 80c1bbc: 080c1c27 .word 0x080c1c27 80c1bc0: 080c1c13 .word 0x080c1c13 80c1bc4: 080c1c27 .word 0x080c1c27 80c1bc8: 080c1be7 .word 0x080c1be7 80c1bcc: 080c1bdd .word 0x080c1bdd 80c1bd0: 080c1c27 .word 0x080c1c27 80c1bd4: 080c1bff .word 0x080c1bff 80c1bd8: 080c1bf1 .word 0x080c1bf1 { case USB_REQ_GET_DESCRIPTOR: USBD_GetDescriptor(pdev, req); 80c1bdc: 6839 ldr r1, [r7, #0] 80c1bde: 6878 ldr r0, [r7, #4] 80c1be0: f000 f9ce bl 80c1f80 break; 80c1be4: e024 b.n 80c1c30 case USB_REQ_SET_ADDRESS: USBD_SetAddress(pdev, req); 80c1be6: 6839 ldr r1, [r7, #0] 80c1be8: 6878 ldr r0, [r7, #4] 80c1bea: f000 fb5d bl 80c22a8 break; 80c1bee: e01f b.n 80c1c30 case USB_REQ_SET_CONFIGURATION: ret = USBD_SetConfig(pdev, req); 80c1bf0: 6839 ldr r1, [r7, #0] 80c1bf2: 6878 ldr r0, [r7, #4] 80c1bf4: f000 fb9a bl 80c232c 80c1bf8: 4603 mov r3, r0 80c1bfa: 73fb strb r3, [r7, #15] break; 80c1bfc: e018 b.n 80c1c30 case USB_REQ_GET_CONFIGURATION: USBD_GetConfig(pdev, req); 80c1bfe: 6839 ldr r1, [r7, #0] 80c1c00: 6878 ldr r0, [r7, #4] 80c1c02: f000 fc37 bl 80c2474 break; 80c1c06: e013 b.n 80c1c30 case USB_REQ_GET_STATUS: USBD_GetStatus(pdev, req); 80c1c08: 6839 ldr r1, [r7, #0] 80c1c0a: 6878 ldr r0, [r7, #4] 80c1c0c: f000 fc66 bl 80c24dc break; 80c1c10: e00e b.n 80c1c30 case USB_REQ_SET_FEATURE: USBD_SetFeature(pdev, req); 80c1c12: 6839 ldr r1, [r7, #0] 80c1c14: 6878 ldr r0, [r7, #4] 80c1c16: f000 fc94 bl 80c2542 break; 80c1c1a: e009 b.n 80c1c30 case USB_REQ_CLEAR_FEATURE: USBD_ClrFeature(pdev, req); 80c1c1c: 6839 ldr r1, [r7, #0] 80c1c1e: 6878 ldr r0, [r7, #4] 80c1c20: f000 fca3 bl 80c256a break; 80c1c24: e004 b.n 80c1c30 default: USBD_CtlError(pdev, req); 80c1c26: 6839 ldr r1, [r7, #0] 80c1c28: 6878 ldr r0, [r7, #4] 80c1c2a: f000 fcf9 bl 80c2620 break; 80c1c2e: bf00 nop } break; 80c1c30: e004 b.n 80c1c3c default: USBD_CtlError(pdev, req); 80c1c32: 6839 ldr r1, [r7, #0] 80c1c34: 6878 ldr r0, [r7, #4] 80c1c36: f000 fcf3 bl 80c2620 break; 80c1c3a: bf00 nop } return ret; 80c1c3c: 7bfb ldrb r3, [r7, #15] } 80c1c3e: 4618 mov r0, r3 80c1c40: 3710 adds r7, #16 80c1c42: 46bd mov sp, r7 80c1c44: bd80 pop {r7, pc} 80c1c46: bf00 nop 080c1c48 : * @param pdev: device instance * @param req: usb request * @retval status */ USBD_StatusTypeDef USBD_StdItfReq(USBD_HandleTypeDef *pdev, USBD_SetupReqTypedef *req) { 80c1c48: b580 push {r7, lr} 80c1c4a: b084 sub sp, #16 80c1c4c: af00 add r7, sp, #0 80c1c4e: 6078 str r0, [r7, #4] 80c1c50: 6039 str r1, [r7, #0] USBD_StatusTypeDef ret = USBD_OK; 80c1c52: 2300 movs r3, #0 80c1c54: 73fb strb r3, [r7, #15] switch (req->bmRequest & USB_REQ_TYPE_MASK) 80c1c56: 683b ldr r3, [r7, #0] 80c1c58: 781b ldrb r3, [r3, #0] 80c1c5a: f003 0360 and.w r3, r3, #96 ; 0x60 80c1c5e: 2b20 cmp r3, #32 80c1c60: d003 beq.n 80c1c6a 80c1c62: 2b40 cmp r3, #64 ; 0x40 80c1c64: d001 beq.n 80c1c6a 80c1c66: 2b00 cmp r3, #0 80c1c68: d12a bne.n 80c1cc0 { case USB_REQ_TYPE_CLASS: case USB_REQ_TYPE_VENDOR: case USB_REQ_TYPE_STANDARD: switch (pdev->dev_state) 80c1c6a: 687b ldr r3, [r7, #4] 80c1c6c: f893 329c ldrb.w r3, [r3, #668] ; 0x29c 80c1c70: 3b01 subs r3, #1 80c1c72: 2b02 cmp r3, #2 80c1c74: d81d bhi.n 80c1cb2 { case USBD_STATE_DEFAULT: case USBD_STATE_ADDRESSED: case USBD_STATE_CONFIGURED: if (LOBYTE(req->wIndex) <= USBD_MAX_NUM_INTERFACES) 80c1c76: 683b ldr r3, [r7, #0] 80c1c78: 889b ldrh r3, [r3, #4] 80c1c7a: b2db uxtb r3, r3 80c1c7c: 2b01 cmp r3, #1 80c1c7e: d813 bhi.n 80c1ca8 { ret = (USBD_StatusTypeDef)pdev->pClass->Setup(pdev, req); 80c1c80: 687b ldr r3, [r7, #4] 80c1c82: f8d3 32b8 ldr.w r3, [r3, #696] ; 0x2b8 80c1c86: 689b ldr r3, [r3, #8] 80c1c88: 6839 ldr r1, [r7, #0] 80c1c8a: 6878 ldr r0, [r7, #4] 80c1c8c: 4798 blx r3 80c1c8e: 4603 mov r3, r0 80c1c90: 73fb strb r3, [r7, #15] if ((req->wLength == 0U) && (ret == USBD_OK)) 80c1c92: 683b ldr r3, [r7, #0] 80c1c94: 88db ldrh r3, [r3, #6] 80c1c96: 2b00 cmp r3, #0 80c1c98: d110 bne.n 80c1cbc 80c1c9a: 7bfb ldrb r3, [r7, #15] 80c1c9c: 2b00 cmp r3, #0 80c1c9e: d10d bne.n 80c1cbc { (void)USBD_CtlSendStatus(pdev); 80c1ca0: 6878 ldr r0, [r7, #4] 80c1ca2: f000 fd6b bl 80c277c } else { USBD_CtlError(pdev, req); } break; 80c1ca6: e009 b.n 80c1cbc USBD_CtlError(pdev, req); 80c1ca8: 6839 ldr r1, [r7, #0] 80c1caa: 6878 ldr r0, [r7, #4] 80c1cac: f000 fcb8 bl 80c2620 break; 80c1cb0: e004 b.n 80c1cbc default: USBD_CtlError(pdev, req); 80c1cb2: 6839 ldr r1, [r7, #0] 80c1cb4: 6878 ldr r0, [r7, #4] 80c1cb6: f000 fcb3 bl 80c2620 break; 80c1cba: e000 b.n 80c1cbe break; 80c1cbc: bf00 nop } break; 80c1cbe: e004 b.n 80c1cca default: USBD_CtlError(pdev, req); 80c1cc0: 6839 ldr r1, [r7, #0] 80c1cc2: 6878 ldr r0, [r7, #4] 80c1cc4: f000 fcac bl 80c2620 break; 80c1cc8: bf00 nop } return ret; 80c1cca: 7bfb ldrb r3, [r7, #15] } 80c1ccc: 4618 mov r0, r3 80c1cce: 3710 adds r7, #16 80c1cd0: 46bd mov sp, r7 80c1cd2: bd80 pop {r7, pc} 080c1cd4 : * @param pdev: device instance * @param req: usb request * @retval status */ USBD_StatusTypeDef USBD_StdEPReq(USBD_HandleTypeDef *pdev, USBD_SetupReqTypedef *req) { 80c1cd4: b580 push {r7, lr} 80c1cd6: b084 sub sp, #16 80c1cd8: af00 add r7, sp, #0 80c1cda: 6078 str r0, [r7, #4] 80c1cdc: 6039 str r1, [r7, #0] USBD_EndpointTypeDef *pep; uint8_t ep_addr; USBD_StatusTypeDef ret = USBD_OK; 80c1cde: 2300 movs r3, #0 80c1ce0: 73fb strb r3, [r7, #15] ep_addr = LOBYTE(req->wIndex); 80c1ce2: 683b ldr r3, [r7, #0] 80c1ce4: 889b ldrh r3, [r3, #4] 80c1ce6: 73bb strb r3, [r7, #14] switch (req->bmRequest & USB_REQ_TYPE_MASK) 80c1ce8: 683b ldr r3, [r7, #0] 80c1cea: 781b ldrb r3, [r3, #0] 80c1cec: f003 0360 and.w r3, r3, #96 ; 0x60 80c1cf0: 2b20 cmp r3, #32 80c1cf2: d004 beq.n 80c1cfe 80c1cf4: 2b40 cmp r3, #64 ; 0x40 80c1cf6: d002 beq.n 80c1cfe 80c1cf8: 2b00 cmp r3, #0 80c1cfa: d00a beq.n 80c1d12 80c1cfc: e135 b.n 80c1f6a { case USB_REQ_TYPE_CLASS: case USB_REQ_TYPE_VENDOR: ret = (USBD_StatusTypeDef)pdev->pClass->Setup(pdev, req); 80c1cfe: 687b ldr r3, [r7, #4] 80c1d00: f8d3 32b8 ldr.w r3, [r3, #696] ; 0x2b8 80c1d04: 689b ldr r3, [r3, #8] 80c1d06: 6839 ldr r1, [r7, #0] 80c1d08: 6878 ldr r0, [r7, #4] 80c1d0a: 4798 blx r3 80c1d0c: 4603 mov r3, r0 80c1d0e: 73fb strb r3, [r7, #15] break; 80c1d10: e130 b.n 80c1f74 case USB_REQ_TYPE_STANDARD: switch (req->bRequest) 80c1d12: 683b ldr r3, [r7, #0] 80c1d14: 785b ldrb r3, [r3, #1] 80c1d16: 2b01 cmp r3, #1 80c1d18: d03e beq.n 80c1d98 80c1d1a: 2b03 cmp r3, #3 80c1d1c: d002 beq.n 80c1d24 80c1d1e: 2b00 cmp r3, #0 80c1d20: d077 beq.n 80c1e12 80c1d22: e11c b.n 80c1f5e { case USB_REQ_SET_FEATURE: switch (pdev->dev_state) 80c1d24: 687b ldr r3, [r7, #4] 80c1d26: f893 329c ldrb.w r3, [r3, #668] ; 0x29c 80c1d2a: 2b02 cmp r3, #2 80c1d2c: d002 beq.n 80c1d34 80c1d2e: 2b03 cmp r3, #3 80c1d30: d015 beq.n 80c1d5e 80c1d32: e02b b.n 80c1d8c { case USBD_STATE_ADDRESSED: if ((ep_addr != 0x00U) && (ep_addr != 0x80U)) 80c1d34: 7bbb ldrb r3, [r7, #14] 80c1d36: 2b00 cmp r3, #0 80c1d38: d00c beq.n 80c1d54 80c1d3a: 7bbb ldrb r3, [r7, #14] 80c1d3c: 2b80 cmp r3, #128 ; 0x80 80c1d3e: d009 beq.n 80c1d54 { (void)USBD_LL_StallEP(pdev, ep_addr); 80c1d40: 7bbb ldrb r3, [r7, #14] 80c1d42: 4619 mov r1, r3 80c1d44: 6878 ldr r0, [r7, #4] 80c1d46: f007 fe52 bl 80c99ee (void)USBD_LL_StallEP(pdev, 0x80U); 80c1d4a: 2180 movs r1, #128 ; 0x80 80c1d4c: 6878 ldr r0, [r7, #4] 80c1d4e: f007 fe4e bl 80c99ee } else { USBD_CtlError(pdev, req); } break; 80c1d52: e020 b.n 80c1d96 USBD_CtlError(pdev, req); 80c1d54: 6839 ldr r1, [r7, #0] 80c1d56: 6878 ldr r0, [r7, #4] 80c1d58: f000 fc62 bl 80c2620 break; 80c1d5c: e01b b.n 80c1d96 case USBD_STATE_CONFIGURED: if (req->wValue == USB_FEATURE_EP_HALT) 80c1d5e: 683b ldr r3, [r7, #0] 80c1d60: 885b ldrh r3, [r3, #2] 80c1d62: 2b00 cmp r3, #0 80c1d64: d10e bne.n 80c1d84 { if ((ep_addr != 0x00U) && (ep_addr != 0x80U) && (req->wLength == 0x00U)) 80c1d66: 7bbb ldrb r3, [r7, #14] 80c1d68: 2b00 cmp r3, #0 80c1d6a: d00b beq.n 80c1d84 80c1d6c: 7bbb ldrb r3, [r7, #14] 80c1d6e: 2b80 cmp r3, #128 ; 0x80 80c1d70: d008 beq.n 80c1d84 80c1d72: 683b ldr r3, [r7, #0] 80c1d74: 88db ldrh r3, [r3, #6] 80c1d76: 2b00 cmp r3, #0 80c1d78: d104 bne.n 80c1d84 { (void)USBD_LL_StallEP(pdev, ep_addr); 80c1d7a: 7bbb ldrb r3, [r7, #14] 80c1d7c: 4619 mov r1, r3 80c1d7e: 6878 ldr r0, [r7, #4] 80c1d80: f007 fe35 bl 80c99ee } } (void)USBD_CtlSendStatus(pdev); 80c1d84: 6878 ldr r0, [r7, #4] 80c1d86: f000 fcf9 bl 80c277c break; 80c1d8a: e004 b.n 80c1d96 default: USBD_CtlError(pdev, req); 80c1d8c: 6839 ldr r1, [r7, #0] 80c1d8e: 6878 ldr r0, [r7, #4] 80c1d90: f000 fc46 bl 80c2620 break; 80c1d94: bf00 nop } break; 80c1d96: e0e7 b.n 80c1f68 case USB_REQ_CLEAR_FEATURE: switch (pdev->dev_state) 80c1d98: 687b ldr r3, [r7, #4] 80c1d9a: f893 329c ldrb.w r3, [r3, #668] ; 0x29c 80c1d9e: 2b02 cmp r3, #2 80c1da0: d002 beq.n 80c1da8 80c1da2: 2b03 cmp r3, #3 80c1da4: d015 beq.n 80c1dd2 80c1da6: e02d b.n 80c1e04 { case USBD_STATE_ADDRESSED: if ((ep_addr != 0x00U) && (ep_addr != 0x80U)) 80c1da8: 7bbb ldrb r3, [r7, #14] 80c1daa: 2b00 cmp r3, #0 80c1dac: d00c beq.n 80c1dc8 80c1dae: 7bbb ldrb r3, [r7, #14] 80c1db0: 2b80 cmp r3, #128 ; 0x80 80c1db2: d009 beq.n 80c1dc8 { (void)USBD_LL_StallEP(pdev, ep_addr); 80c1db4: 7bbb ldrb r3, [r7, #14] 80c1db6: 4619 mov r1, r3 80c1db8: 6878 ldr r0, [r7, #4] 80c1dba: f007 fe18 bl 80c99ee (void)USBD_LL_StallEP(pdev, 0x80U); 80c1dbe: 2180 movs r1, #128 ; 0x80 80c1dc0: 6878 ldr r0, [r7, #4] 80c1dc2: f007 fe14 bl 80c99ee } else { USBD_CtlError(pdev, req); } break; 80c1dc6: e023 b.n 80c1e10 USBD_CtlError(pdev, req); 80c1dc8: 6839 ldr r1, [r7, #0] 80c1dca: 6878 ldr r0, [r7, #4] 80c1dcc: f000 fc28 bl 80c2620 break; 80c1dd0: e01e b.n 80c1e10 case USBD_STATE_CONFIGURED: if (req->wValue == USB_FEATURE_EP_HALT) 80c1dd2: 683b ldr r3, [r7, #0] 80c1dd4: 885b ldrh r3, [r3, #2] 80c1dd6: 2b00 cmp r3, #0 80c1dd8: d119 bne.n 80c1e0e { if ((ep_addr & 0x7FU) != 0x00U) 80c1dda: 7bbb ldrb r3, [r7, #14] 80c1ddc: f003 037f and.w r3, r3, #127 ; 0x7f 80c1de0: 2b00 cmp r3, #0 80c1de2: d004 beq.n 80c1dee { (void)USBD_LL_ClearStallEP(pdev, ep_addr); 80c1de4: 7bbb ldrb r3, [r7, #14] 80c1de6: 4619 mov r1, r3 80c1de8: 6878 ldr r0, [r7, #4] 80c1dea: f007 fe1f bl 80c9a2c } (void)USBD_CtlSendStatus(pdev); 80c1dee: 6878 ldr r0, [r7, #4] 80c1df0: f000 fcc4 bl 80c277c (USBD_StatusTypeDef)pdev->pClass->Setup(pdev, req); 80c1df4: 687b ldr r3, [r7, #4] 80c1df6: f8d3 32b8 ldr.w r3, [r3, #696] ; 0x2b8 80c1dfa: 689b ldr r3, [r3, #8] 80c1dfc: 6839 ldr r1, [r7, #0] 80c1dfe: 6878 ldr r0, [r7, #4] 80c1e00: 4798 blx r3 } break; 80c1e02: e004 b.n 80c1e0e default: USBD_CtlError(pdev, req); 80c1e04: 6839 ldr r1, [r7, #0] 80c1e06: 6878 ldr r0, [r7, #4] 80c1e08: f000 fc0a bl 80c2620 break; 80c1e0c: e000 b.n 80c1e10 break; 80c1e0e: bf00 nop } break; 80c1e10: e0aa b.n 80c1f68 case USB_REQ_GET_STATUS: switch (pdev->dev_state) 80c1e12: 687b ldr r3, [r7, #4] 80c1e14: f893 329c ldrb.w r3, [r3, #668] ; 0x29c 80c1e18: 2b02 cmp r3, #2 80c1e1a: d002 beq.n 80c1e22 80c1e1c: 2b03 cmp r3, #3 80c1e1e: d032 beq.n 80c1e86 80c1e20: e097 b.n 80c1f52 { case USBD_STATE_ADDRESSED: if ((ep_addr != 0x00U) && (ep_addr != 0x80U)) 80c1e22: 7bbb ldrb r3, [r7, #14] 80c1e24: 2b00 cmp r3, #0 80c1e26: d007 beq.n 80c1e38 80c1e28: 7bbb ldrb r3, [r7, #14] 80c1e2a: 2b80 cmp r3, #128 ; 0x80 80c1e2c: d004 beq.n 80c1e38 { USBD_CtlError(pdev, req); 80c1e2e: 6839 ldr r1, [r7, #0] 80c1e30: 6878 ldr r0, [r7, #4] 80c1e32: f000 fbf5 bl 80c2620 break; 80c1e36: e091 b.n 80c1f5c } pep = ((ep_addr & 0x80U) == 0x80U) ? &pdev->ep_in[ep_addr & 0x7FU] : \ 80c1e38: f997 300e ldrsb.w r3, [r7, #14] 80c1e3c: 2b00 cmp r3, #0 80c1e3e: da0b bge.n 80c1e58 80c1e40: 7bbb ldrb r3, [r7, #14] 80c1e42: f003 027f and.w r2, r3, #127 ; 0x7f 80c1e46: 4613 mov r3, r2 80c1e48: 009b lsls r3, r3, #2 80c1e4a: 4413 add r3, r2 80c1e4c: 009b lsls r3, r3, #2 80c1e4e: 3310 adds r3, #16 80c1e50: 687a ldr r2, [r7, #4] 80c1e52: 4413 add r3, r2 80c1e54: 3304 adds r3, #4 80c1e56: e00b b.n 80c1e70 &pdev->ep_out[ep_addr & 0x7FU]; 80c1e58: 7bbb ldrb r3, [r7, #14] 80c1e5a: f003 027f and.w r2, r3, #127 ; 0x7f pep = ((ep_addr & 0x80U) == 0x80U) ? &pdev->ep_in[ep_addr & 0x7FU] : \ 80c1e5e: 4613 mov r3, r2 80c1e60: 009b lsls r3, r3, #2 80c1e62: 4413 add r3, r2 80c1e64: 009b lsls r3, r3, #2 80c1e66: f503 73a8 add.w r3, r3, #336 ; 0x150 80c1e6a: 687a ldr r2, [r7, #4] 80c1e6c: 4413 add r3, r2 80c1e6e: 3304 adds r3, #4 80c1e70: 60bb str r3, [r7, #8] pep->status = 0x0000U; 80c1e72: 68bb ldr r3, [r7, #8] 80c1e74: 2200 movs r2, #0 80c1e76: 601a str r2, [r3, #0] (void)USBD_CtlSendData(pdev, (uint8_t *)&pep->status, 2U); 80c1e78: 68bb ldr r3, [r7, #8] 80c1e7a: 2202 movs r2, #2 80c1e7c: 4619 mov r1, r3 80c1e7e: 6878 ldr r0, [r7, #4] 80c1e80: f000 fc3f bl 80c2702 break; 80c1e84: e06a b.n 80c1f5c case USBD_STATE_CONFIGURED: if ((ep_addr & 0x80U) == 0x80U) 80c1e86: f997 300e ldrsb.w r3, [r7, #14] 80c1e8a: 2b00 cmp r3, #0 80c1e8c: da11 bge.n 80c1eb2 { if (pdev->ep_in[ep_addr & 0xFU].is_used == 0U) 80c1e8e: 7bbb ldrb r3, [r7, #14] 80c1e90: f003 020f and.w r2, r3, #15 80c1e94: 6879 ldr r1, [r7, #4] 80c1e96: 4613 mov r3, r2 80c1e98: 009b lsls r3, r3, #2 80c1e9a: 4413 add r3, r2 80c1e9c: 009b lsls r3, r3, #2 80c1e9e: 440b add r3, r1 80c1ea0: 3324 adds r3, #36 ; 0x24 80c1ea2: 881b ldrh r3, [r3, #0] 80c1ea4: 2b00 cmp r3, #0 80c1ea6: d117 bne.n 80c1ed8 { USBD_CtlError(pdev, req); 80c1ea8: 6839 ldr r1, [r7, #0] 80c1eaa: 6878 ldr r0, [r7, #4] 80c1eac: f000 fbb8 bl 80c2620 break; 80c1eb0: e054 b.n 80c1f5c } } else { if (pdev->ep_out[ep_addr & 0xFU].is_used == 0U) 80c1eb2: 7bbb ldrb r3, [r7, #14] 80c1eb4: f003 020f and.w r2, r3, #15 80c1eb8: 6879 ldr r1, [r7, #4] 80c1eba: 4613 mov r3, r2 80c1ebc: 009b lsls r3, r3, #2 80c1ebe: 4413 add r3, r2 80c1ec0: 009b lsls r3, r3, #2 80c1ec2: 440b add r3, r1 80c1ec4: f503 73b2 add.w r3, r3, #356 ; 0x164 80c1ec8: 881b ldrh r3, [r3, #0] 80c1eca: 2b00 cmp r3, #0 80c1ecc: d104 bne.n 80c1ed8 { USBD_CtlError(pdev, req); 80c1ece: 6839 ldr r1, [r7, #0] 80c1ed0: 6878 ldr r0, [r7, #4] 80c1ed2: f000 fba5 bl 80c2620 break; 80c1ed6: e041 b.n 80c1f5c } } pep = ((ep_addr & 0x80U) == 0x80U) ? &pdev->ep_in[ep_addr & 0x7FU] : \ 80c1ed8: f997 300e ldrsb.w r3, [r7, #14] 80c1edc: 2b00 cmp r3, #0 80c1ede: da0b bge.n 80c1ef8 80c1ee0: 7bbb ldrb r3, [r7, #14] 80c1ee2: f003 027f and.w r2, r3, #127 ; 0x7f 80c1ee6: 4613 mov r3, r2 80c1ee8: 009b lsls r3, r3, #2 80c1eea: 4413 add r3, r2 80c1eec: 009b lsls r3, r3, #2 80c1eee: 3310 adds r3, #16 80c1ef0: 687a ldr r2, [r7, #4] 80c1ef2: 4413 add r3, r2 80c1ef4: 3304 adds r3, #4 80c1ef6: e00b b.n 80c1f10 &pdev->ep_out[ep_addr & 0x7FU]; 80c1ef8: 7bbb ldrb r3, [r7, #14] 80c1efa: f003 027f and.w r2, r3, #127 ; 0x7f pep = ((ep_addr & 0x80U) == 0x80U) ? &pdev->ep_in[ep_addr & 0x7FU] : \ 80c1efe: 4613 mov r3, r2 80c1f00: 009b lsls r3, r3, #2 80c1f02: 4413 add r3, r2 80c1f04: 009b lsls r3, r3, #2 80c1f06: f503 73a8 add.w r3, r3, #336 ; 0x150 80c1f0a: 687a ldr r2, [r7, #4] 80c1f0c: 4413 add r3, r2 80c1f0e: 3304 adds r3, #4 80c1f10: 60bb str r3, [r7, #8] if ((ep_addr == 0x00U) || (ep_addr == 0x80U)) 80c1f12: 7bbb ldrb r3, [r7, #14] 80c1f14: 2b00 cmp r3, #0 80c1f16: d002 beq.n 80c1f1e 80c1f18: 7bbb ldrb r3, [r7, #14] 80c1f1a: 2b80 cmp r3, #128 ; 0x80 80c1f1c: d103 bne.n 80c1f26 { pep->status = 0x0000U; 80c1f1e: 68bb ldr r3, [r7, #8] 80c1f20: 2200 movs r2, #0 80c1f22: 601a str r2, [r3, #0] 80c1f24: e00e b.n 80c1f44 } else if (USBD_LL_IsStallEP(pdev, ep_addr) != 0U) 80c1f26: 7bbb ldrb r3, [r7, #14] 80c1f28: 4619 mov r1, r3 80c1f2a: 6878 ldr r0, [r7, #4] 80c1f2c: f007 fd9d bl 80c9a6a 80c1f30: 4603 mov r3, r0 80c1f32: 2b00 cmp r3, #0 80c1f34: d003 beq.n 80c1f3e { pep->status = 0x0001U; 80c1f36: 68bb ldr r3, [r7, #8] 80c1f38: 2201 movs r2, #1 80c1f3a: 601a str r2, [r3, #0] 80c1f3c: e002 b.n 80c1f44 } else { pep->status = 0x0000U; 80c1f3e: 68bb ldr r3, [r7, #8] 80c1f40: 2200 movs r2, #0 80c1f42: 601a str r2, [r3, #0] } (void)USBD_CtlSendData(pdev, (uint8_t *)&pep->status, 2U); 80c1f44: 68bb ldr r3, [r7, #8] 80c1f46: 2202 movs r2, #2 80c1f48: 4619 mov r1, r3 80c1f4a: 6878 ldr r0, [r7, #4] 80c1f4c: f000 fbd9 bl 80c2702 break; 80c1f50: e004 b.n 80c1f5c default: USBD_CtlError(pdev, req); 80c1f52: 6839 ldr r1, [r7, #0] 80c1f54: 6878 ldr r0, [r7, #4] 80c1f56: f000 fb63 bl 80c2620 break; 80c1f5a: bf00 nop } break; 80c1f5c: e004 b.n 80c1f68 default: USBD_CtlError(pdev, req); 80c1f5e: 6839 ldr r1, [r7, #0] 80c1f60: 6878 ldr r0, [r7, #4] 80c1f62: f000 fb5d bl 80c2620 break; 80c1f66: bf00 nop } break; 80c1f68: e004 b.n 80c1f74 default: USBD_CtlError(pdev, req); 80c1f6a: 6839 ldr r1, [r7, #0] 80c1f6c: 6878 ldr r0, [r7, #4] 80c1f6e: f000 fb57 bl 80c2620 break; 80c1f72: bf00 nop } return ret; 80c1f74: 7bfb ldrb r3, [r7, #15] } 80c1f76: 4618 mov r0, r3 80c1f78: 3710 adds r7, #16 80c1f7a: 46bd mov sp, r7 80c1f7c: bd80 pop {r7, pc} ... 080c1f80 : * @param pdev: device instance * @param req: usb request * @retval status */ static void USBD_GetDescriptor(USBD_HandleTypeDef *pdev, USBD_SetupReqTypedef *req) { 80c1f80: b580 push {r7, lr} 80c1f82: b084 sub sp, #16 80c1f84: af00 add r7, sp, #0 80c1f86: 6078 str r0, [r7, #4] 80c1f88: 6039 str r1, [r7, #0] uint16_t len = 0U; 80c1f8a: 2300 movs r3, #0 80c1f8c: 813b strh r3, [r7, #8] uint8_t *pbuf = NULL; 80c1f8e: 2300 movs r3, #0 80c1f90: 60fb str r3, [r7, #12] uint8_t err = 0U; 80c1f92: 2300 movs r3, #0 80c1f94: 72fb strb r3, [r7, #11] switch (req->wValue >> 8) 80c1f96: 683b ldr r3, [r7, #0] 80c1f98: 885b ldrh r3, [r3, #2] 80c1f9a: 0a1b lsrs r3, r3, #8 80c1f9c: b29b uxth r3, r3 80c1f9e: 3b01 subs r3, #1 80c1fa0: 2b0e cmp r3, #14 80c1fa2: f200 8152 bhi.w 80c224a 80c1fa6: a201 add r2, pc, #4 ; (adr r2, 80c1fac ) 80c1fa8: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80c1fac: 080c201d .word 0x080c201d 80c1fb0: 080c2035 .word 0x080c2035 80c1fb4: 080c2075 .word 0x080c2075 80c1fb8: 080c224b .word 0x080c224b 80c1fbc: 080c224b .word 0x080c224b 80c1fc0: 080c21eb .word 0x080c21eb 80c1fc4: 080c2217 .word 0x080c2217 80c1fc8: 080c224b .word 0x080c224b 80c1fcc: 080c224b .word 0x080c224b 80c1fd0: 080c224b .word 0x080c224b 80c1fd4: 080c224b .word 0x080c224b 80c1fd8: 080c224b .word 0x080c224b 80c1fdc: 080c224b .word 0x080c224b 80c1fe0: 080c224b .word 0x080c224b 80c1fe4: 080c1fe9 .word 0x080c1fe9 { #if ((USBD_LPM_ENABLED == 1U) || (USBD_CLASS_BOS_ENABLED == 1U)) case USB_DESC_TYPE_BOS: if (pdev->pDesc->GetBOSDescriptor != NULL) 80c1fe8: 687b ldr r3, [r7, #4] 80c1fea: f8d3 32b4 ldr.w r3, [r3, #692] ; 0x2b4 80c1fee: 69db ldr r3, [r3, #28] 80c1ff0: 2b00 cmp r3, #0 80c1ff2: d00b beq.n 80c200c { pbuf = pdev->pDesc->GetBOSDescriptor(pdev->dev_speed, &len); 80c1ff4: 687b ldr r3, [r7, #4] 80c1ff6: f8d3 32b4 ldr.w r3, [r3, #692] ; 0x2b4 80c1ffa: 69db ldr r3, [r3, #28] 80c1ffc: 687a ldr r2, [r7, #4] 80c1ffe: 7c12 ldrb r2, [r2, #16] 80c2000: f107 0108 add.w r1, r7, #8 80c2004: 4610 mov r0, r2 80c2006: 4798 blx r3 80c2008: 60f8 str r0, [r7, #12] else { USBD_CtlError(pdev, req); err++; } break; 80c200a: e126 b.n 80c225a USBD_CtlError(pdev, req); 80c200c: 6839 ldr r1, [r7, #0] 80c200e: 6878 ldr r0, [r7, #4] 80c2010: f000 fb06 bl 80c2620 err++; 80c2014: 7afb ldrb r3, [r7, #11] 80c2016: 3301 adds r3, #1 80c2018: 72fb strb r3, [r7, #11] break; 80c201a: e11e b.n 80c225a #endif case USB_DESC_TYPE_DEVICE: pbuf = pdev->pDesc->GetDeviceDescriptor(pdev->dev_speed, &len); 80c201c: 687b ldr r3, [r7, #4] 80c201e: f8d3 32b4 ldr.w r3, [r3, #692] ; 0x2b4 80c2022: 681b ldr r3, [r3, #0] 80c2024: 687a ldr r2, [r7, #4] 80c2026: 7c12 ldrb r2, [r2, #16] 80c2028: f107 0108 add.w r1, r7, #8 80c202c: 4610 mov r0, r2 80c202e: 4798 blx r3 80c2030: 60f8 str r0, [r7, #12] break; 80c2032: e112 b.n 80c225a case USB_DESC_TYPE_CONFIGURATION: if (pdev->dev_speed == USBD_SPEED_HIGH) 80c2034: 687b ldr r3, [r7, #4] 80c2036: 7c1b ldrb r3, [r3, #16] 80c2038: 2b00 cmp r3, #0 80c203a: d10d bne.n 80c2058 { pbuf = pdev->pClass->GetHSConfigDescriptor(&len); 80c203c: 687b ldr r3, [r7, #4] 80c203e: f8d3 32b8 ldr.w r3, [r3, #696] ; 0x2b8 80c2042: 6a9b ldr r3, [r3, #40] ; 0x28 80c2044: f107 0208 add.w r2, r7, #8 80c2048: 4610 mov r0, r2 80c204a: 4798 blx r3 80c204c: 60f8 str r0, [r7, #12] pbuf[1] = USB_DESC_TYPE_CONFIGURATION; 80c204e: 68fb ldr r3, [r7, #12] 80c2050: 3301 adds r3, #1 80c2052: 2202 movs r2, #2 80c2054: 701a strb r2, [r3, #0] else { pbuf = pdev->pClass->GetFSConfigDescriptor(&len); pbuf[1] = USB_DESC_TYPE_CONFIGURATION; } break; 80c2056: e100 b.n 80c225a pbuf = pdev->pClass->GetFSConfigDescriptor(&len); 80c2058: 687b ldr r3, [r7, #4] 80c205a: f8d3 32b8 ldr.w r3, [r3, #696] ; 0x2b8 80c205e: 6adb ldr r3, [r3, #44] ; 0x2c 80c2060: f107 0208 add.w r2, r7, #8 80c2064: 4610 mov r0, r2 80c2066: 4798 blx r3 80c2068: 60f8 str r0, [r7, #12] pbuf[1] = USB_DESC_TYPE_CONFIGURATION; 80c206a: 68fb ldr r3, [r7, #12] 80c206c: 3301 adds r3, #1 80c206e: 2202 movs r2, #2 80c2070: 701a strb r2, [r3, #0] break; 80c2072: e0f2 b.n 80c225a case USB_DESC_TYPE_STRING: switch ((uint8_t)(req->wValue)) 80c2074: 683b ldr r3, [r7, #0] 80c2076: 885b ldrh r3, [r3, #2] 80c2078: b2db uxtb r3, r3 80c207a: 2b05 cmp r3, #5 80c207c: f200 80ac bhi.w 80c21d8 80c2080: a201 add r2, pc, #4 ; (adr r2, 80c2088 ) 80c2082: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80c2086: bf00 nop 80c2088: 080c20a1 .word 0x080c20a1 80c208c: 080c20d5 .word 0x080c20d5 80c2090: 080c2109 .word 0x080c2109 80c2094: 080c213d .word 0x080c213d 80c2098: 080c2171 .word 0x080c2171 80c209c: 080c21a5 .word 0x080c21a5 { case USBD_IDX_LANGID_STR: if (pdev->pDesc->GetLangIDStrDescriptor != NULL) 80c20a0: 687b ldr r3, [r7, #4] 80c20a2: f8d3 32b4 ldr.w r3, [r3, #692] ; 0x2b4 80c20a6: 685b ldr r3, [r3, #4] 80c20a8: 2b00 cmp r3, #0 80c20aa: d00b beq.n 80c20c4 { pbuf = pdev->pDesc->GetLangIDStrDescriptor(pdev->dev_speed, &len); 80c20ac: 687b ldr r3, [r7, #4] 80c20ae: f8d3 32b4 ldr.w r3, [r3, #692] ; 0x2b4 80c20b2: 685b ldr r3, [r3, #4] 80c20b4: 687a ldr r2, [r7, #4] 80c20b6: 7c12 ldrb r2, [r2, #16] 80c20b8: f107 0108 add.w r1, r7, #8 80c20bc: 4610 mov r0, r2 80c20be: 4798 blx r3 80c20c0: 60f8 str r0, [r7, #12] else { USBD_CtlError(pdev, req); err++; } break; 80c20c2: e091 b.n 80c21e8 USBD_CtlError(pdev, req); 80c20c4: 6839 ldr r1, [r7, #0] 80c20c6: 6878 ldr r0, [r7, #4] 80c20c8: f000 faaa bl 80c2620 err++; 80c20cc: 7afb ldrb r3, [r7, #11] 80c20ce: 3301 adds r3, #1 80c20d0: 72fb strb r3, [r7, #11] break; 80c20d2: e089 b.n 80c21e8 case USBD_IDX_MFC_STR: if (pdev->pDesc->GetManufacturerStrDescriptor != NULL) 80c20d4: 687b ldr r3, [r7, #4] 80c20d6: f8d3 32b4 ldr.w r3, [r3, #692] ; 0x2b4 80c20da: 689b ldr r3, [r3, #8] 80c20dc: 2b00 cmp r3, #0 80c20de: d00b beq.n 80c20f8 { pbuf = pdev->pDesc->GetManufacturerStrDescriptor(pdev->dev_speed, &len); 80c20e0: 687b ldr r3, [r7, #4] 80c20e2: f8d3 32b4 ldr.w r3, [r3, #692] ; 0x2b4 80c20e6: 689b ldr r3, [r3, #8] 80c20e8: 687a ldr r2, [r7, #4] 80c20ea: 7c12 ldrb r2, [r2, #16] 80c20ec: f107 0108 add.w r1, r7, #8 80c20f0: 4610 mov r0, r2 80c20f2: 4798 blx r3 80c20f4: 60f8 str r0, [r7, #12] else { USBD_CtlError(pdev, req); err++; } break; 80c20f6: e077 b.n 80c21e8 USBD_CtlError(pdev, req); 80c20f8: 6839 ldr r1, [r7, #0] 80c20fa: 6878 ldr r0, [r7, #4] 80c20fc: f000 fa90 bl 80c2620 err++; 80c2100: 7afb ldrb r3, [r7, #11] 80c2102: 3301 adds r3, #1 80c2104: 72fb strb r3, [r7, #11] break; 80c2106: e06f b.n 80c21e8 case USBD_IDX_PRODUCT_STR: if (pdev->pDesc->GetProductStrDescriptor != NULL) 80c2108: 687b ldr r3, [r7, #4] 80c210a: f8d3 32b4 ldr.w r3, [r3, #692] ; 0x2b4 80c210e: 68db ldr r3, [r3, #12] 80c2110: 2b00 cmp r3, #0 80c2112: d00b beq.n 80c212c { pbuf = pdev->pDesc->GetProductStrDescriptor(pdev->dev_speed, &len); 80c2114: 687b ldr r3, [r7, #4] 80c2116: f8d3 32b4 ldr.w r3, [r3, #692] ; 0x2b4 80c211a: 68db ldr r3, [r3, #12] 80c211c: 687a ldr r2, [r7, #4] 80c211e: 7c12 ldrb r2, [r2, #16] 80c2120: f107 0108 add.w r1, r7, #8 80c2124: 4610 mov r0, r2 80c2126: 4798 blx r3 80c2128: 60f8 str r0, [r7, #12] else { USBD_CtlError(pdev, req); err++; } break; 80c212a: e05d b.n 80c21e8 USBD_CtlError(pdev, req); 80c212c: 6839 ldr r1, [r7, #0] 80c212e: 6878 ldr r0, [r7, #4] 80c2130: f000 fa76 bl 80c2620 err++; 80c2134: 7afb ldrb r3, [r7, #11] 80c2136: 3301 adds r3, #1 80c2138: 72fb strb r3, [r7, #11] break; 80c213a: e055 b.n 80c21e8 case USBD_IDX_SERIAL_STR: if (pdev->pDesc->GetSerialStrDescriptor != NULL) 80c213c: 687b ldr r3, [r7, #4] 80c213e: f8d3 32b4 ldr.w r3, [r3, #692] ; 0x2b4 80c2142: 691b ldr r3, [r3, #16] 80c2144: 2b00 cmp r3, #0 80c2146: d00b beq.n 80c2160 { pbuf = pdev->pDesc->GetSerialStrDescriptor(pdev->dev_speed, &len); 80c2148: 687b ldr r3, [r7, #4] 80c214a: f8d3 32b4 ldr.w r3, [r3, #692] ; 0x2b4 80c214e: 691b ldr r3, [r3, #16] 80c2150: 687a ldr r2, [r7, #4] 80c2152: 7c12 ldrb r2, [r2, #16] 80c2154: f107 0108 add.w r1, r7, #8 80c2158: 4610 mov r0, r2 80c215a: 4798 blx r3 80c215c: 60f8 str r0, [r7, #12] else { USBD_CtlError(pdev, req); err++; } break; 80c215e: e043 b.n 80c21e8 USBD_CtlError(pdev, req); 80c2160: 6839 ldr r1, [r7, #0] 80c2162: 6878 ldr r0, [r7, #4] 80c2164: f000 fa5c bl 80c2620 err++; 80c2168: 7afb ldrb r3, [r7, #11] 80c216a: 3301 adds r3, #1 80c216c: 72fb strb r3, [r7, #11] break; 80c216e: e03b b.n 80c21e8 case USBD_IDX_CONFIG_STR: if (pdev->pDesc->GetConfigurationStrDescriptor != NULL) 80c2170: 687b ldr r3, [r7, #4] 80c2172: f8d3 32b4 ldr.w r3, [r3, #692] ; 0x2b4 80c2176: 695b ldr r3, [r3, #20] 80c2178: 2b00 cmp r3, #0 80c217a: d00b beq.n 80c2194 { pbuf = pdev->pDesc->GetConfigurationStrDescriptor(pdev->dev_speed, &len); 80c217c: 687b ldr r3, [r7, #4] 80c217e: f8d3 32b4 ldr.w r3, [r3, #692] ; 0x2b4 80c2182: 695b ldr r3, [r3, #20] 80c2184: 687a ldr r2, [r7, #4] 80c2186: 7c12 ldrb r2, [r2, #16] 80c2188: f107 0108 add.w r1, r7, #8 80c218c: 4610 mov r0, r2 80c218e: 4798 blx r3 80c2190: 60f8 str r0, [r7, #12] else { USBD_CtlError(pdev, req); err++; } break; 80c2192: e029 b.n 80c21e8 USBD_CtlError(pdev, req); 80c2194: 6839 ldr r1, [r7, #0] 80c2196: 6878 ldr r0, [r7, #4] 80c2198: f000 fa42 bl 80c2620 err++; 80c219c: 7afb ldrb r3, [r7, #11] 80c219e: 3301 adds r3, #1 80c21a0: 72fb strb r3, [r7, #11] break; 80c21a2: e021 b.n 80c21e8 case USBD_IDX_INTERFACE_STR: if (pdev->pDesc->GetInterfaceStrDescriptor != NULL) 80c21a4: 687b ldr r3, [r7, #4] 80c21a6: f8d3 32b4 ldr.w r3, [r3, #692] ; 0x2b4 80c21aa: 699b ldr r3, [r3, #24] 80c21ac: 2b00 cmp r3, #0 80c21ae: d00b beq.n 80c21c8 { pbuf = pdev->pDesc->GetInterfaceStrDescriptor(pdev->dev_speed, &len); 80c21b0: 687b ldr r3, [r7, #4] 80c21b2: f8d3 32b4 ldr.w r3, [r3, #692] ; 0x2b4 80c21b6: 699b ldr r3, [r3, #24] 80c21b8: 687a ldr r2, [r7, #4] 80c21ba: 7c12 ldrb r2, [r2, #16] 80c21bc: f107 0108 add.w r1, r7, #8 80c21c0: 4610 mov r0, r2 80c21c2: 4798 blx r3 80c21c4: 60f8 str r0, [r7, #12] else { USBD_CtlError(pdev, req); err++; } break; 80c21c6: e00f b.n 80c21e8 USBD_CtlError(pdev, req); 80c21c8: 6839 ldr r1, [r7, #0] 80c21ca: 6878 ldr r0, [r7, #4] 80c21cc: f000 fa28 bl 80c2620 err++; 80c21d0: 7afb ldrb r3, [r7, #11] 80c21d2: 3301 adds r3, #1 80c21d4: 72fb strb r3, [r7, #11] break; 80c21d6: e007 b.n 80c21e8 { USBD_CtlError(pdev, req); err++; } #else USBD_CtlError(pdev, req); 80c21d8: 6839 ldr r1, [r7, #0] 80c21da: 6878 ldr r0, [r7, #4] 80c21dc: f000 fa20 bl 80c2620 err++; 80c21e0: 7afb ldrb r3, [r7, #11] 80c21e2: 3301 adds r3, #1 80c21e4: 72fb strb r3, [r7, #11] #endif break; 80c21e6: bf00 nop } break; 80c21e8: e037 b.n 80c225a case USB_DESC_TYPE_DEVICE_QUALIFIER: if (pdev->dev_speed == USBD_SPEED_HIGH) 80c21ea: 687b ldr r3, [r7, #4] 80c21ec: 7c1b ldrb r3, [r3, #16] 80c21ee: 2b00 cmp r3, #0 80c21f0: d109 bne.n 80c2206 { pbuf = pdev->pClass->GetDeviceQualifierDescriptor(&len); 80c21f2: 687b ldr r3, [r7, #4] 80c21f4: f8d3 32b8 ldr.w r3, [r3, #696] ; 0x2b8 80c21f8: 6b5b ldr r3, [r3, #52] ; 0x34 80c21fa: f107 0208 add.w r2, r7, #8 80c21fe: 4610 mov r0, r2 80c2200: 4798 blx r3 80c2202: 60f8 str r0, [r7, #12] else { USBD_CtlError(pdev, req); err++; } break; 80c2204: e029 b.n 80c225a USBD_CtlError(pdev, req); 80c2206: 6839 ldr r1, [r7, #0] 80c2208: 6878 ldr r0, [r7, #4] 80c220a: f000 fa09 bl 80c2620 err++; 80c220e: 7afb ldrb r3, [r7, #11] 80c2210: 3301 adds r3, #1 80c2212: 72fb strb r3, [r7, #11] break; 80c2214: e021 b.n 80c225a case USB_DESC_TYPE_OTHER_SPEED_CONFIGURATION: if (pdev->dev_speed == USBD_SPEED_HIGH) 80c2216: 687b ldr r3, [r7, #4] 80c2218: 7c1b ldrb r3, [r3, #16] 80c221a: 2b00 cmp r3, #0 80c221c: d10d bne.n 80c223a { pbuf = pdev->pClass->GetOtherSpeedConfigDescriptor(&len); 80c221e: 687b ldr r3, [r7, #4] 80c2220: f8d3 32b8 ldr.w r3, [r3, #696] ; 0x2b8 80c2224: 6b1b ldr r3, [r3, #48] ; 0x30 80c2226: f107 0208 add.w r2, r7, #8 80c222a: 4610 mov r0, r2 80c222c: 4798 blx r3 80c222e: 60f8 str r0, [r7, #12] pbuf[1] = USB_DESC_TYPE_OTHER_SPEED_CONFIGURATION; 80c2230: 68fb ldr r3, [r7, #12] 80c2232: 3301 adds r3, #1 80c2234: 2207 movs r2, #7 80c2236: 701a strb r2, [r3, #0] else { USBD_CtlError(pdev, req); err++; } break; 80c2238: e00f b.n 80c225a USBD_CtlError(pdev, req); 80c223a: 6839 ldr r1, [r7, #0] 80c223c: 6878 ldr r0, [r7, #4] 80c223e: f000 f9ef bl 80c2620 err++; 80c2242: 7afb ldrb r3, [r7, #11] 80c2244: 3301 adds r3, #1 80c2246: 72fb strb r3, [r7, #11] break; 80c2248: e007 b.n 80c225a default: USBD_CtlError(pdev, req); 80c224a: 6839 ldr r1, [r7, #0] 80c224c: 6878 ldr r0, [r7, #4] 80c224e: f000 f9e7 bl 80c2620 err++; 80c2252: 7afb ldrb r3, [r7, #11] 80c2254: 3301 adds r3, #1 80c2256: 72fb strb r3, [r7, #11] break; 80c2258: bf00 nop } if (err != 0U) 80c225a: 7afb ldrb r3, [r7, #11] 80c225c: 2b00 cmp r3, #0 80c225e: d11e bne.n 80c229e { return; } else { if (req->wLength != 0U) 80c2260: 683b ldr r3, [r7, #0] 80c2262: 88db ldrh r3, [r3, #6] 80c2264: 2b00 cmp r3, #0 80c2266: d016 beq.n 80c2296 { if (len != 0U) 80c2268: 893b ldrh r3, [r7, #8] 80c226a: 2b00 cmp r3, #0 80c226c: d00e beq.n 80c228c { len = MIN(len, req->wLength); 80c226e: 683b ldr r3, [r7, #0] 80c2270: 88da ldrh r2, [r3, #6] 80c2272: 893b ldrh r3, [r7, #8] 80c2274: 4293 cmp r3, r2 80c2276: bf28 it cs 80c2278: 4613 movcs r3, r2 80c227a: b29b uxth r3, r3 80c227c: 813b strh r3, [r7, #8] (void)USBD_CtlSendData(pdev, pbuf, len); 80c227e: 893b ldrh r3, [r7, #8] 80c2280: 461a mov r2, r3 80c2282: 68f9 ldr r1, [r7, #12] 80c2284: 6878 ldr r0, [r7, #4] 80c2286: f000 fa3c bl 80c2702 80c228a: e009 b.n 80c22a0 } else { USBD_CtlError(pdev, req); 80c228c: 6839 ldr r1, [r7, #0] 80c228e: 6878 ldr r0, [r7, #4] 80c2290: f000 f9c6 bl 80c2620 80c2294: e004 b.n 80c22a0 } } else { (void)USBD_CtlSendStatus(pdev); 80c2296: 6878 ldr r0, [r7, #4] 80c2298: f000 fa70 bl 80c277c 80c229c: e000 b.n 80c22a0 return; 80c229e: bf00 nop } } } 80c22a0: 3710 adds r7, #16 80c22a2: 46bd mov sp, r7 80c22a4: bd80 pop {r7, pc} 80c22a6: bf00 nop 080c22a8 : * @param pdev: device instance * @param req: usb request * @retval status */ static void USBD_SetAddress(USBD_HandleTypeDef *pdev, USBD_SetupReqTypedef *req) { 80c22a8: b580 push {r7, lr} 80c22aa: b084 sub sp, #16 80c22ac: af00 add r7, sp, #0 80c22ae: 6078 str r0, [r7, #4] 80c22b0: 6039 str r1, [r7, #0] uint8_t dev_addr; if ((req->wIndex == 0U) && (req->wLength == 0U) && (req->wValue < 128U)) 80c22b2: 683b ldr r3, [r7, #0] 80c22b4: 889b ldrh r3, [r3, #4] 80c22b6: 2b00 cmp r3, #0 80c22b8: d130 bne.n 80c231c 80c22ba: 683b ldr r3, [r7, #0] 80c22bc: 88db ldrh r3, [r3, #6] 80c22be: 2b00 cmp r3, #0 80c22c0: d12c bne.n 80c231c 80c22c2: 683b ldr r3, [r7, #0] 80c22c4: 885b ldrh r3, [r3, #2] 80c22c6: 2b7f cmp r3, #127 ; 0x7f 80c22c8: d828 bhi.n 80c231c { dev_addr = (uint8_t)(req->wValue) & 0x7FU; 80c22ca: 683b ldr r3, [r7, #0] 80c22cc: 885b ldrh r3, [r3, #2] 80c22ce: b2db uxtb r3, r3 80c22d0: f003 037f and.w r3, r3, #127 ; 0x7f 80c22d4: 73fb strb r3, [r7, #15] if (pdev->dev_state == USBD_STATE_CONFIGURED) 80c22d6: 687b ldr r3, [r7, #4] 80c22d8: f893 329c ldrb.w r3, [r3, #668] ; 0x29c 80c22dc: 2b03 cmp r3, #3 80c22de: d104 bne.n 80c22ea { USBD_CtlError(pdev, req); 80c22e0: 6839 ldr r1, [r7, #0] 80c22e2: 6878 ldr r0, [r7, #4] 80c22e4: f000 f99c bl 80c2620 if (pdev->dev_state == USBD_STATE_CONFIGURED) 80c22e8: e01c b.n 80c2324 } else { pdev->dev_address = dev_addr; 80c22ea: 687b ldr r3, [r7, #4] 80c22ec: 7bfa ldrb r2, [r7, #15] 80c22ee: f883 229e strb.w r2, [r3, #670] ; 0x29e (void)USBD_LL_SetUSBAddress(pdev, dev_addr); 80c22f2: 7bfb ldrb r3, [r7, #15] 80c22f4: 4619 mov r1, r3 80c22f6: 6878 ldr r0, [r7, #4] 80c22f8: f007 fbe3 bl 80c9ac2 (void)USBD_CtlSendStatus(pdev); 80c22fc: 6878 ldr r0, [r7, #4] 80c22fe: f000 fa3d bl 80c277c if (dev_addr != 0U) 80c2302: 7bfb ldrb r3, [r7, #15] 80c2304: 2b00 cmp r3, #0 80c2306: d004 beq.n 80c2312 { pdev->dev_state = USBD_STATE_ADDRESSED; 80c2308: 687b ldr r3, [r7, #4] 80c230a: 2202 movs r2, #2 80c230c: f883 229c strb.w r2, [r3, #668] ; 0x29c if (pdev->dev_state == USBD_STATE_CONFIGURED) 80c2310: e008 b.n 80c2324 } else { pdev->dev_state = USBD_STATE_DEFAULT; 80c2312: 687b ldr r3, [r7, #4] 80c2314: 2201 movs r2, #1 80c2316: f883 229c strb.w r2, [r3, #668] ; 0x29c if (pdev->dev_state == USBD_STATE_CONFIGURED) 80c231a: e003 b.n 80c2324 } } } else { USBD_CtlError(pdev, req); 80c231c: 6839 ldr r1, [r7, #0] 80c231e: 6878 ldr r0, [r7, #4] 80c2320: f000 f97e bl 80c2620 } } 80c2324: bf00 nop 80c2326: 3710 adds r7, #16 80c2328: 46bd mov sp, r7 80c232a: bd80 pop {r7, pc} 080c232c : * @param pdev: device instance * @param req: usb request * @retval status */ static USBD_StatusTypeDef USBD_SetConfig(USBD_HandleTypeDef *pdev, USBD_SetupReqTypedef *req) { 80c232c: b580 push {r7, lr} 80c232e: b084 sub sp, #16 80c2330: af00 add r7, sp, #0 80c2332: 6078 str r0, [r7, #4] 80c2334: 6039 str r1, [r7, #0] USBD_StatusTypeDef ret = USBD_OK; 80c2336: 2300 movs r3, #0 80c2338: 73fb strb r3, [r7, #15] static uint8_t cfgidx; cfgidx = (uint8_t)(req->wValue); 80c233a: 683b ldr r3, [r7, #0] 80c233c: 885b ldrh r3, [r3, #2] 80c233e: b2da uxtb r2, r3 80c2340: 4b4b ldr r3, [pc, #300] ; (80c2470 ) 80c2342: 701a strb r2, [r3, #0] if (cfgidx > USBD_MAX_NUM_CONFIGURATION) 80c2344: 4b4a ldr r3, [pc, #296] ; (80c2470 ) 80c2346: 781b ldrb r3, [r3, #0] 80c2348: 2b01 cmp r3, #1 80c234a: d905 bls.n 80c2358 { USBD_CtlError(pdev, req); 80c234c: 6839 ldr r1, [r7, #0] 80c234e: 6878 ldr r0, [r7, #4] 80c2350: f000 f966 bl 80c2620 return USBD_FAIL; 80c2354: 2303 movs r3, #3 80c2356: e087 b.n 80c2468 } switch (pdev->dev_state) 80c2358: 687b ldr r3, [r7, #4] 80c235a: f893 329c ldrb.w r3, [r3, #668] ; 0x29c 80c235e: 2b02 cmp r3, #2 80c2360: d002 beq.n 80c2368 80c2362: 2b03 cmp r3, #3 80c2364: d025 beq.n 80c23b2 80c2366: e071 b.n 80c244c { case USBD_STATE_ADDRESSED: if (cfgidx != 0U) 80c2368: 4b41 ldr r3, [pc, #260] ; (80c2470 ) 80c236a: 781b ldrb r3, [r3, #0] 80c236c: 2b00 cmp r3, #0 80c236e: d01c beq.n 80c23aa { pdev->dev_config = cfgidx; 80c2370: 4b3f ldr r3, [pc, #252] ; (80c2470 ) 80c2372: 781b ldrb r3, [r3, #0] 80c2374: 461a mov r2, r3 80c2376: 687b ldr r3, [r7, #4] 80c2378: 605a str r2, [r3, #4] ret = USBD_SetClassConfig(pdev, cfgidx); 80c237a: 4b3d ldr r3, [pc, #244] ; (80c2470 ) 80c237c: 781b ldrb r3, [r3, #0] 80c237e: 4619 mov r1, r3 80c2380: 6878 ldr r0, [r7, #4] 80c2382: f7ff f97e bl 80c1682 80c2386: 4603 mov r3, r0 80c2388: 73fb strb r3, [r7, #15] if (ret != USBD_OK) 80c238a: 7bfb ldrb r3, [r7, #15] 80c238c: 2b00 cmp r3, #0 80c238e: d004 beq.n 80c239a { USBD_CtlError(pdev, req); 80c2390: 6839 ldr r1, [r7, #0] 80c2392: 6878 ldr r0, [r7, #4] 80c2394: f000 f944 bl 80c2620 } else { (void)USBD_CtlSendStatus(pdev); } break; 80c2398: e065 b.n 80c2466 (void)USBD_CtlSendStatus(pdev); 80c239a: 6878 ldr r0, [r7, #4] 80c239c: f000 f9ee bl 80c277c pdev->dev_state = USBD_STATE_CONFIGURED; 80c23a0: 687b ldr r3, [r7, #4] 80c23a2: 2203 movs r2, #3 80c23a4: f883 229c strb.w r2, [r3, #668] ; 0x29c break; 80c23a8: e05d b.n 80c2466 (void)USBD_CtlSendStatus(pdev); 80c23aa: 6878 ldr r0, [r7, #4] 80c23ac: f000 f9e6 bl 80c277c break; 80c23b0: e059 b.n 80c2466 case USBD_STATE_CONFIGURED: if (cfgidx == 0U) 80c23b2: 4b2f ldr r3, [pc, #188] ; (80c2470 ) 80c23b4: 781b ldrb r3, [r3, #0] 80c23b6: 2b00 cmp r3, #0 80c23b8: d112 bne.n 80c23e0 { pdev->dev_state = USBD_STATE_ADDRESSED; 80c23ba: 687b ldr r3, [r7, #4] 80c23bc: 2202 movs r2, #2 80c23be: f883 229c strb.w r2, [r3, #668] ; 0x29c pdev->dev_config = cfgidx; 80c23c2: 4b2b ldr r3, [pc, #172] ; (80c2470 ) 80c23c4: 781b ldrb r3, [r3, #0] 80c23c6: 461a mov r2, r3 80c23c8: 687b ldr r3, [r7, #4] 80c23ca: 605a str r2, [r3, #4] (void)USBD_ClrClassConfig(pdev, cfgidx); 80c23cc: 4b28 ldr r3, [pc, #160] ; (80c2470 ) 80c23ce: 781b ldrb r3, [r3, #0] 80c23d0: 4619 mov r1, r3 80c23d2: 6878 ldr r0, [r7, #4] 80c23d4: f7ff f971 bl 80c16ba (void)USBD_CtlSendStatus(pdev); 80c23d8: 6878 ldr r0, [r7, #4] 80c23da: f000 f9cf bl 80c277c } else { (void)USBD_CtlSendStatus(pdev); } break; 80c23de: e042 b.n 80c2466 else if (cfgidx != pdev->dev_config) 80c23e0: 4b23 ldr r3, [pc, #140] ; (80c2470 ) 80c23e2: 781b ldrb r3, [r3, #0] 80c23e4: 461a mov r2, r3 80c23e6: 687b ldr r3, [r7, #4] 80c23e8: 685b ldr r3, [r3, #4] 80c23ea: 429a cmp r2, r3 80c23ec: d02a beq.n 80c2444 (void)USBD_ClrClassConfig(pdev, (uint8_t)pdev->dev_config); 80c23ee: 687b ldr r3, [r7, #4] 80c23f0: 685b ldr r3, [r3, #4] 80c23f2: b2db uxtb r3, r3 80c23f4: 4619 mov r1, r3 80c23f6: 6878 ldr r0, [r7, #4] 80c23f8: f7ff f95f bl 80c16ba pdev->dev_config = cfgidx; 80c23fc: 4b1c ldr r3, [pc, #112] ; (80c2470 ) 80c23fe: 781b ldrb r3, [r3, #0] 80c2400: 461a mov r2, r3 80c2402: 687b ldr r3, [r7, #4] 80c2404: 605a str r2, [r3, #4] ret = USBD_SetClassConfig(pdev, cfgidx); 80c2406: 4b1a ldr r3, [pc, #104] ; (80c2470 ) 80c2408: 781b ldrb r3, [r3, #0] 80c240a: 4619 mov r1, r3 80c240c: 6878 ldr r0, [r7, #4] 80c240e: f7ff f938 bl 80c1682 80c2412: 4603 mov r3, r0 80c2414: 73fb strb r3, [r7, #15] if (ret != USBD_OK) 80c2416: 7bfb ldrb r3, [r7, #15] 80c2418: 2b00 cmp r3, #0 80c241a: d00f beq.n 80c243c USBD_CtlError(pdev, req); 80c241c: 6839 ldr r1, [r7, #0] 80c241e: 6878 ldr r0, [r7, #4] 80c2420: f000 f8fe bl 80c2620 (void)USBD_ClrClassConfig(pdev, (uint8_t)pdev->dev_config); 80c2424: 687b ldr r3, [r7, #4] 80c2426: 685b ldr r3, [r3, #4] 80c2428: b2db uxtb r3, r3 80c242a: 4619 mov r1, r3 80c242c: 6878 ldr r0, [r7, #4] 80c242e: f7ff f944 bl 80c16ba pdev->dev_state = USBD_STATE_ADDRESSED; 80c2432: 687b ldr r3, [r7, #4] 80c2434: 2202 movs r2, #2 80c2436: f883 229c strb.w r2, [r3, #668] ; 0x29c break; 80c243a: e014 b.n 80c2466 (void)USBD_CtlSendStatus(pdev); 80c243c: 6878 ldr r0, [r7, #4] 80c243e: f000 f99d bl 80c277c break; 80c2442: e010 b.n 80c2466 (void)USBD_CtlSendStatus(pdev); 80c2444: 6878 ldr r0, [r7, #4] 80c2446: f000 f999 bl 80c277c break; 80c244a: e00c b.n 80c2466 default: USBD_CtlError(pdev, req); 80c244c: 6839 ldr r1, [r7, #0] 80c244e: 6878 ldr r0, [r7, #4] 80c2450: f000 f8e6 bl 80c2620 (void)USBD_ClrClassConfig(pdev, cfgidx); 80c2454: 4b06 ldr r3, [pc, #24] ; (80c2470 ) 80c2456: 781b ldrb r3, [r3, #0] 80c2458: 4619 mov r1, r3 80c245a: 6878 ldr r0, [r7, #4] 80c245c: f7ff f92d bl 80c16ba ret = USBD_FAIL; 80c2460: 2303 movs r3, #3 80c2462: 73fb strb r3, [r7, #15] break; 80c2464: bf00 nop } return ret; 80c2466: 7bfb ldrb r3, [r7, #15] } 80c2468: 4618 mov r0, r3 80c246a: 3710 adds r7, #16 80c246c: 46bd mov sp, r7 80c246e: bd80 pop {r7, pc} 80c2470: 200216a8 .word 0x200216a8 080c2474 : * @param pdev: device instance * @param req: usb request * @retval status */ static void USBD_GetConfig(USBD_HandleTypeDef *pdev, USBD_SetupReqTypedef *req) { 80c2474: b580 push {r7, lr} 80c2476: b082 sub sp, #8 80c2478: af00 add r7, sp, #0 80c247a: 6078 str r0, [r7, #4] 80c247c: 6039 str r1, [r7, #0] if (req->wLength != 1U) 80c247e: 683b ldr r3, [r7, #0] 80c2480: 88db ldrh r3, [r3, #6] 80c2482: 2b01 cmp r3, #1 80c2484: d004 beq.n 80c2490 { USBD_CtlError(pdev, req); 80c2486: 6839 ldr r1, [r7, #0] 80c2488: 6878 ldr r0, [r7, #4] 80c248a: f000 f8c9 bl 80c2620 default: USBD_CtlError(pdev, req); break; } } } 80c248e: e021 b.n 80c24d4 switch (pdev->dev_state) 80c2490: 687b ldr r3, [r7, #4] 80c2492: f893 329c ldrb.w r3, [r3, #668] ; 0x29c 80c2496: 2b01 cmp r3, #1 80c2498: db17 blt.n 80c24ca 80c249a: 2b02 cmp r3, #2 80c249c: dd02 ble.n 80c24a4 80c249e: 2b03 cmp r3, #3 80c24a0: d00b beq.n 80c24ba 80c24a2: e012 b.n 80c24ca pdev->dev_default_config = 0U; 80c24a4: 687b ldr r3, [r7, #4] 80c24a6: 2200 movs r2, #0 80c24a8: 609a str r2, [r3, #8] (void)USBD_CtlSendData(pdev, (uint8_t *)&pdev->dev_default_config, 1U); 80c24aa: 687b ldr r3, [r7, #4] 80c24ac: 3308 adds r3, #8 80c24ae: 2201 movs r2, #1 80c24b0: 4619 mov r1, r3 80c24b2: 6878 ldr r0, [r7, #4] 80c24b4: f000 f925 bl 80c2702 break; 80c24b8: e00c b.n 80c24d4 (void)USBD_CtlSendData(pdev, (uint8_t *)&pdev->dev_config, 1U); 80c24ba: 687b ldr r3, [r7, #4] 80c24bc: 3304 adds r3, #4 80c24be: 2201 movs r2, #1 80c24c0: 4619 mov r1, r3 80c24c2: 6878 ldr r0, [r7, #4] 80c24c4: f000 f91d bl 80c2702 break; 80c24c8: e004 b.n 80c24d4 USBD_CtlError(pdev, req); 80c24ca: 6839 ldr r1, [r7, #0] 80c24cc: 6878 ldr r0, [r7, #4] 80c24ce: f000 f8a7 bl 80c2620 break; 80c24d2: bf00 nop } 80c24d4: bf00 nop 80c24d6: 3708 adds r7, #8 80c24d8: 46bd mov sp, r7 80c24da: bd80 pop {r7, pc} 080c24dc : * @param pdev: device instance * @param req: usb request * @retval status */ static void USBD_GetStatus(USBD_HandleTypeDef *pdev, USBD_SetupReqTypedef *req) { 80c24dc: b580 push {r7, lr} 80c24de: b082 sub sp, #8 80c24e0: af00 add r7, sp, #0 80c24e2: 6078 str r0, [r7, #4] 80c24e4: 6039 str r1, [r7, #0] switch (pdev->dev_state) 80c24e6: 687b ldr r3, [r7, #4] 80c24e8: f893 329c ldrb.w r3, [r3, #668] ; 0x29c 80c24ec: 3b01 subs r3, #1 80c24ee: 2b02 cmp r3, #2 80c24f0: d81e bhi.n 80c2530 { case USBD_STATE_DEFAULT: case USBD_STATE_ADDRESSED: case USBD_STATE_CONFIGURED: if (req->wLength != 0x2U) 80c24f2: 683b ldr r3, [r7, #0] 80c24f4: 88db ldrh r3, [r3, #6] 80c24f6: 2b02 cmp r3, #2 80c24f8: d004 beq.n 80c2504 { USBD_CtlError(pdev, req); 80c24fa: 6839 ldr r1, [r7, #0] 80c24fc: 6878 ldr r0, [r7, #4] 80c24fe: f000 f88f bl 80c2620 break; 80c2502: e01a b.n 80c253a } #if (USBD_SELF_POWERED == 1U) pdev->dev_config_status = USB_CONFIG_SELF_POWERED; 80c2504: 687b ldr r3, [r7, #4] 80c2506: 2201 movs r2, #1 80c2508: 60da str r2, [r3, #12] #else pdev->dev_config_status = 0U; #endif if (pdev->dev_remote_wakeup != 0U) 80c250a: 687b ldr r3, [r7, #4] 80c250c: f8d3 32a4 ldr.w r3, [r3, #676] ; 0x2a4 80c2510: 2b00 cmp r3, #0 80c2512: d005 beq.n 80c2520 { pdev->dev_config_status |= USB_CONFIG_REMOTE_WAKEUP; 80c2514: 687b ldr r3, [r7, #4] 80c2516: 68db ldr r3, [r3, #12] 80c2518: f043 0202 orr.w r2, r3, #2 80c251c: 687b ldr r3, [r7, #4] 80c251e: 60da str r2, [r3, #12] } (void)USBD_CtlSendData(pdev, (uint8_t *)&pdev->dev_config_status, 2U); 80c2520: 687b ldr r3, [r7, #4] 80c2522: 330c adds r3, #12 80c2524: 2202 movs r2, #2 80c2526: 4619 mov r1, r3 80c2528: 6878 ldr r0, [r7, #4] 80c252a: f000 f8ea bl 80c2702 break; 80c252e: e004 b.n 80c253a default: USBD_CtlError(pdev, req); 80c2530: 6839 ldr r1, [r7, #0] 80c2532: 6878 ldr r0, [r7, #4] 80c2534: f000 f874 bl 80c2620 break; 80c2538: bf00 nop } } 80c253a: bf00 nop 80c253c: 3708 adds r7, #8 80c253e: 46bd mov sp, r7 80c2540: bd80 pop {r7, pc} 080c2542 : * @param pdev: device instance * @param req: usb request * @retval status */ static void USBD_SetFeature(USBD_HandleTypeDef *pdev, USBD_SetupReqTypedef *req) { 80c2542: b580 push {r7, lr} 80c2544: b082 sub sp, #8 80c2546: af00 add r7, sp, #0 80c2548: 6078 str r0, [r7, #4] 80c254a: 6039 str r1, [r7, #0] if (req->wValue == USB_FEATURE_REMOTE_WAKEUP) 80c254c: 683b ldr r3, [r7, #0] 80c254e: 885b ldrh r3, [r3, #2] 80c2550: 2b01 cmp r3, #1 80c2552: d106 bne.n 80c2562 { pdev->dev_remote_wakeup = 1U; 80c2554: 687b ldr r3, [r7, #4] 80c2556: 2201 movs r2, #1 80c2558: f8c3 22a4 str.w r2, [r3, #676] ; 0x2a4 (void)USBD_CtlSendStatus(pdev); 80c255c: 6878 ldr r0, [r7, #4] 80c255e: f000 f90d bl 80c277c } } 80c2562: bf00 nop 80c2564: 3708 adds r7, #8 80c2566: 46bd mov sp, r7 80c2568: bd80 pop {r7, pc} 080c256a : * @param pdev: device instance * @param req: usb request * @retval status */ static void USBD_ClrFeature(USBD_HandleTypeDef *pdev, USBD_SetupReqTypedef *req) { 80c256a: b580 push {r7, lr} 80c256c: b082 sub sp, #8 80c256e: af00 add r7, sp, #0 80c2570: 6078 str r0, [r7, #4] 80c2572: 6039 str r1, [r7, #0] switch (pdev->dev_state) 80c2574: 687b ldr r3, [r7, #4] 80c2576: f893 329c ldrb.w r3, [r3, #668] ; 0x29c 80c257a: 3b01 subs r3, #1 80c257c: 2b02 cmp r3, #2 80c257e: d80b bhi.n 80c2598 { case USBD_STATE_DEFAULT: case USBD_STATE_ADDRESSED: case USBD_STATE_CONFIGURED: if (req->wValue == USB_FEATURE_REMOTE_WAKEUP) 80c2580: 683b ldr r3, [r7, #0] 80c2582: 885b ldrh r3, [r3, #2] 80c2584: 2b01 cmp r3, #1 80c2586: d10c bne.n 80c25a2 { pdev->dev_remote_wakeup = 0U; 80c2588: 687b ldr r3, [r7, #4] 80c258a: 2200 movs r2, #0 80c258c: f8c3 22a4 str.w r2, [r3, #676] ; 0x2a4 (void)USBD_CtlSendStatus(pdev); 80c2590: 6878 ldr r0, [r7, #4] 80c2592: f000 f8f3 bl 80c277c } break; 80c2596: e004 b.n 80c25a2 default: USBD_CtlError(pdev, req); 80c2598: 6839 ldr r1, [r7, #0] 80c259a: 6878 ldr r0, [r7, #4] 80c259c: f000 f840 bl 80c2620 break; 80c25a0: e000 b.n 80c25a4 break; 80c25a2: bf00 nop } } 80c25a4: bf00 nop 80c25a6: 3708 adds r7, #8 80c25a8: 46bd mov sp, r7 80c25aa: bd80 pop {r7, pc} 080c25ac : * @param req: usb request * @retval None */ void USBD_ParseSetupRequest(USBD_SetupReqTypedef *req, uint8_t *pdata) { 80c25ac: b580 push {r7, lr} 80c25ae: b084 sub sp, #16 80c25b0: af00 add r7, sp, #0 80c25b2: 6078 str r0, [r7, #4] 80c25b4: 6039 str r1, [r7, #0] uint8_t *pbuff = pdata; 80c25b6: 683b ldr r3, [r7, #0] 80c25b8: 60fb str r3, [r7, #12] req->bmRequest = *(uint8_t *)(pbuff); 80c25ba: 68fb ldr r3, [r7, #12] 80c25bc: 781a ldrb r2, [r3, #0] 80c25be: 687b ldr r3, [r7, #4] 80c25c0: 701a strb r2, [r3, #0] pbuff++; 80c25c2: 68fb ldr r3, [r7, #12] 80c25c4: 3301 adds r3, #1 80c25c6: 60fb str r3, [r7, #12] req->bRequest = *(uint8_t *)(pbuff); 80c25c8: 68fb ldr r3, [r7, #12] 80c25ca: 781a ldrb r2, [r3, #0] 80c25cc: 687b ldr r3, [r7, #4] 80c25ce: 705a strb r2, [r3, #1] pbuff++; 80c25d0: 68fb ldr r3, [r7, #12] 80c25d2: 3301 adds r3, #1 80c25d4: 60fb str r3, [r7, #12] req->wValue = SWAPBYTE(pbuff); 80c25d6: 68f8 ldr r0, [r7, #12] 80c25d8: f7ff faaa bl 80c1b30 80c25dc: 4603 mov r3, r0 80c25de: 461a mov r2, r3 80c25e0: 687b ldr r3, [r7, #4] 80c25e2: 805a strh r2, [r3, #2] pbuff++; 80c25e4: 68fb ldr r3, [r7, #12] 80c25e6: 3301 adds r3, #1 80c25e8: 60fb str r3, [r7, #12] pbuff++; 80c25ea: 68fb ldr r3, [r7, #12] 80c25ec: 3301 adds r3, #1 80c25ee: 60fb str r3, [r7, #12] req->wIndex = SWAPBYTE(pbuff); 80c25f0: 68f8 ldr r0, [r7, #12] 80c25f2: f7ff fa9d bl 80c1b30 80c25f6: 4603 mov r3, r0 80c25f8: 461a mov r2, r3 80c25fa: 687b ldr r3, [r7, #4] 80c25fc: 809a strh r2, [r3, #4] pbuff++; 80c25fe: 68fb ldr r3, [r7, #12] 80c2600: 3301 adds r3, #1 80c2602: 60fb str r3, [r7, #12] pbuff++; 80c2604: 68fb ldr r3, [r7, #12] 80c2606: 3301 adds r3, #1 80c2608: 60fb str r3, [r7, #12] req->wLength = SWAPBYTE(pbuff); 80c260a: 68f8 ldr r0, [r7, #12] 80c260c: f7ff fa90 bl 80c1b30 80c2610: 4603 mov r3, r0 80c2612: 461a mov r2, r3 80c2614: 687b ldr r3, [r7, #4] 80c2616: 80da strh r2, [r3, #6] } 80c2618: bf00 nop 80c261a: 3710 adds r7, #16 80c261c: 46bd mov sp, r7 80c261e: bd80 pop {r7, pc} 080c2620 : * @param req: usb request * @retval None */ void USBD_CtlError(USBD_HandleTypeDef *pdev, USBD_SetupReqTypedef *req) { 80c2620: b580 push {r7, lr} 80c2622: b082 sub sp, #8 80c2624: af00 add r7, sp, #0 80c2626: 6078 str r0, [r7, #4] 80c2628: 6039 str r1, [r7, #0] UNUSED(req); (void)USBD_LL_StallEP(pdev, 0x80U); 80c262a: 2180 movs r1, #128 ; 0x80 80c262c: 6878 ldr r0, [r7, #4] 80c262e: f007 f9de bl 80c99ee (void)USBD_LL_StallEP(pdev, 0U); 80c2632: 2100 movs r1, #0 80c2634: 6878 ldr r0, [r7, #4] 80c2636: f007 f9da bl 80c99ee } 80c263a: bf00 nop 80c263c: 3708 adds r7, #8 80c263e: 46bd mov sp, r7 80c2640: bd80 pop {r7, pc} 080c2642 : * @param unicode : Formatted string buffer (unicode) * @param len : descriptor length * @retval None */ void USBD_GetString(uint8_t *desc, uint8_t *unicode, uint16_t *len) { 80c2642: b580 push {r7, lr} 80c2644: b086 sub sp, #24 80c2646: af00 add r7, sp, #0 80c2648: 60f8 str r0, [r7, #12] 80c264a: 60b9 str r1, [r7, #8] 80c264c: 607a str r2, [r7, #4] uint8_t idx = 0U; 80c264e: 2300 movs r3, #0 80c2650: 75fb strb r3, [r7, #23] uint8_t *pdesc; if (desc == NULL) 80c2652: 68fb ldr r3, [r7, #12] 80c2654: 2b00 cmp r3, #0 80c2656: d036 beq.n 80c26c6 { return; } pdesc = desc; 80c2658: 68fb ldr r3, [r7, #12] 80c265a: 613b str r3, [r7, #16] *len = ((uint16_t)USBD_GetLen(pdesc) * 2U) + 2U; 80c265c: 6938 ldr r0, [r7, #16] 80c265e: f000 f836 bl 80c26ce 80c2662: 4603 mov r3, r0 80c2664: 3301 adds r3, #1 80c2666: b29b uxth r3, r3 80c2668: 005b lsls r3, r3, #1 80c266a: b29a uxth r2, r3 80c266c: 687b ldr r3, [r7, #4] 80c266e: 801a strh r2, [r3, #0] unicode[idx] = *(uint8_t *)len; 80c2670: 7dfb ldrb r3, [r7, #23] 80c2672: 68ba ldr r2, [r7, #8] 80c2674: 4413 add r3, r2 80c2676: 687a ldr r2, [r7, #4] 80c2678: 7812 ldrb r2, [r2, #0] 80c267a: 701a strb r2, [r3, #0] idx++; 80c267c: 7dfb ldrb r3, [r7, #23] 80c267e: 3301 adds r3, #1 80c2680: 75fb strb r3, [r7, #23] unicode[idx] = USB_DESC_TYPE_STRING; 80c2682: 7dfb ldrb r3, [r7, #23] 80c2684: 68ba ldr r2, [r7, #8] 80c2686: 4413 add r3, r2 80c2688: 2203 movs r2, #3 80c268a: 701a strb r2, [r3, #0] idx++; 80c268c: 7dfb ldrb r3, [r7, #23] 80c268e: 3301 adds r3, #1 80c2690: 75fb strb r3, [r7, #23] while (*pdesc != (uint8_t)'\0') 80c2692: e013 b.n 80c26bc { unicode[idx] = *pdesc; 80c2694: 7dfb ldrb r3, [r7, #23] 80c2696: 68ba ldr r2, [r7, #8] 80c2698: 4413 add r3, r2 80c269a: 693a ldr r2, [r7, #16] 80c269c: 7812 ldrb r2, [r2, #0] 80c269e: 701a strb r2, [r3, #0] pdesc++; 80c26a0: 693b ldr r3, [r7, #16] 80c26a2: 3301 adds r3, #1 80c26a4: 613b str r3, [r7, #16] idx++; 80c26a6: 7dfb ldrb r3, [r7, #23] 80c26a8: 3301 adds r3, #1 80c26aa: 75fb strb r3, [r7, #23] unicode[idx] = 0U; 80c26ac: 7dfb ldrb r3, [r7, #23] 80c26ae: 68ba ldr r2, [r7, #8] 80c26b0: 4413 add r3, r2 80c26b2: 2200 movs r2, #0 80c26b4: 701a strb r2, [r3, #0] idx++; 80c26b6: 7dfb ldrb r3, [r7, #23] 80c26b8: 3301 adds r3, #1 80c26ba: 75fb strb r3, [r7, #23] while (*pdesc != (uint8_t)'\0') 80c26bc: 693b ldr r3, [r7, #16] 80c26be: 781b ldrb r3, [r3, #0] 80c26c0: 2b00 cmp r3, #0 80c26c2: d1e7 bne.n 80c2694 80c26c4: e000 b.n 80c26c8 return; 80c26c6: bf00 nop } } 80c26c8: 3718 adds r7, #24 80c26ca: 46bd mov sp, r7 80c26cc: bd80 pop {r7, pc} 080c26ce : * return the string length * @param buf : pointer to the ascii string buffer * @retval string length */ static uint8_t USBD_GetLen(uint8_t *buf) { 80c26ce: b480 push {r7} 80c26d0: b085 sub sp, #20 80c26d2: af00 add r7, sp, #0 80c26d4: 6078 str r0, [r7, #4] uint8_t len = 0U; 80c26d6: 2300 movs r3, #0 80c26d8: 73fb strb r3, [r7, #15] uint8_t *pbuff = buf; 80c26da: 687b ldr r3, [r7, #4] 80c26dc: 60bb str r3, [r7, #8] while (*pbuff != (uint8_t)'\0') 80c26de: e005 b.n 80c26ec { len++; 80c26e0: 7bfb ldrb r3, [r7, #15] 80c26e2: 3301 adds r3, #1 80c26e4: 73fb strb r3, [r7, #15] pbuff++; 80c26e6: 68bb ldr r3, [r7, #8] 80c26e8: 3301 adds r3, #1 80c26ea: 60bb str r3, [r7, #8] while (*pbuff != (uint8_t)'\0') 80c26ec: 68bb ldr r3, [r7, #8] 80c26ee: 781b ldrb r3, [r3, #0] 80c26f0: 2b00 cmp r3, #0 80c26f2: d1f5 bne.n 80c26e0 } return len; 80c26f4: 7bfb ldrb r3, [r7, #15] } 80c26f6: 4618 mov r0, r3 80c26f8: 3714 adds r7, #20 80c26fa: 46bd mov sp, r7 80c26fc: f85d 7b04 ldr.w r7, [sp], #4 80c2700: 4770 bx lr 080c2702 : * @param len: length of data to be sent * @retval status */ USBD_StatusTypeDef USBD_CtlSendData(USBD_HandleTypeDef *pdev, uint8_t *pbuf, uint32_t len) { 80c2702: b580 push {r7, lr} 80c2704: b084 sub sp, #16 80c2706: af00 add r7, sp, #0 80c2708: 60f8 str r0, [r7, #12] 80c270a: 60b9 str r1, [r7, #8] 80c270c: 607a str r2, [r7, #4] /* Set EP0 State */ pdev->ep0_state = USBD_EP0_DATA_IN; 80c270e: 68fb ldr r3, [r7, #12] 80c2710: 2202 movs r2, #2 80c2712: f8c3 2294 str.w r2, [r3, #660] ; 0x294 pdev->ep_in[0].total_length = len; 80c2716: 68fb ldr r3, [r7, #12] 80c2718: 687a ldr r2, [r7, #4] 80c271a: 619a str r2, [r3, #24] pdev->ep_in[0].rem_length = len; 80c271c: 68fb ldr r3, [r7, #12] 80c271e: 687a ldr r2, [r7, #4] 80c2720: 61da str r2, [r3, #28] /* Start the transfer */ (void)USBD_LL_Transmit(pdev, 0x00U, pbuf, len); 80c2722: 687b ldr r3, [r7, #4] 80c2724: 68ba ldr r2, [r7, #8] 80c2726: 2100 movs r1, #0 80c2728: 68f8 ldr r0, [r7, #12] 80c272a: f007 f9e9 bl 80c9b00 return USBD_OK; 80c272e: 2300 movs r3, #0 } 80c2730: 4618 mov r0, r3 80c2732: 3710 adds r7, #16 80c2734: 46bd mov sp, r7 80c2736: bd80 pop {r7, pc} 080c2738 : * @param len: length of data to be sent * @retval status */ USBD_StatusTypeDef USBD_CtlContinueSendData(USBD_HandleTypeDef *pdev, uint8_t *pbuf, uint32_t len) { 80c2738: b580 push {r7, lr} 80c273a: b084 sub sp, #16 80c273c: af00 add r7, sp, #0 80c273e: 60f8 str r0, [r7, #12] 80c2740: 60b9 str r1, [r7, #8] 80c2742: 607a str r2, [r7, #4] /* Start the next transfer */ (void)USBD_LL_Transmit(pdev, 0x00U, pbuf, len); 80c2744: 687b ldr r3, [r7, #4] 80c2746: 68ba ldr r2, [r7, #8] 80c2748: 2100 movs r1, #0 80c274a: 68f8 ldr r0, [r7, #12] 80c274c: f007 f9d8 bl 80c9b00 return USBD_OK; 80c2750: 2300 movs r3, #0 } 80c2752: 4618 mov r0, r3 80c2754: 3710 adds r7, #16 80c2756: 46bd mov sp, r7 80c2758: bd80 pop {r7, pc} 080c275a : * @param len: length of data to be received * @retval status */ USBD_StatusTypeDef USBD_CtlContinueRx(USBD_HandleTypeDef *pdev, uint8_t *pbuf, uint32_t len) { 80c275a: b580 push {r7, lr} 80c275c: b084 sub sp, #16 80c275e: af00 add r7, sp, #0 80c2760: 60f8 str r0, [r7, #12] 80c2762: 60b9 str r1, [r7, #8] 80c2764: 607a str r2, [r7, #4] (void)USBD_LL_PrepareReceive(pdev, 0U, pbuf, len); 80c2766: 687b ldr r3, [r7, #4] 80c2768: 68ba ldr r2, [r7, #8] 80c276a: 2100 movs r1, #0 80c276c: 68f8 ldr r0, [r7, #12] 80c276e: f007 f9e8 bl 80c9b42 return USBD_OK; 80c2772: 2300 movs r3, #0 } 80c2774: 4618 mov r0, r3 80c2776: 3710 adds r7, #16 80c2778: 46bd mov sp, r7 80c277a: bd80 pop {r7, pc} 080c277c : * send zero lzngth packet on the ctl pipe * @param pdev: device instance * @retval status */ USBD_StatusTypeDef USBD_CtlSendStatus(USBD_HandleTypeDef *pdev) { 80c277c: b580 push {r7, lr} 80c277e: b082 sub sp, #8 80c2780: af00 add r7, sp, #0 80c2782: 6078 str r0, [r7, #4] /* Set EP0 State */ pdev->ep0_state = USBD_EP0_STATUS_IN; 80c2784: 687b ldr r3, [r7, #4] 80c2786: 2204 movs r2, #4 80c2788: f8c3 2294 str.w r2, [r3, #660] ; 0x294 /* Start the transfer */ (void)USBD_LL_Transmit(pdev, 0x00U, NULL, 0U); 80c278c: 2300 movs r3, #0 80c278e: 2200 movs r2, #0 80c2790: 2100 movs r1, #0 80c2792: 6878 ldr r0, [r7, #4] 80c2794: f007 f9b4 bl 80c9b00 return USBD_OK; 80c2798: 2300 movs r3, #0 } 80c279a: 4618 mov r0, r3 80c279c: 3708 adds r7, #8 80c279e: 46bd mov sp, r7 80c27a0: bd80 pop {r7, pc} 080c27a2 : * receive zero lzngth packet on the ctl pipe * @param pdev: device instance * @retval status */ USBD_StatusTypeDef USBD_CtlReceiveStatus(USBD_HandleTypeDef *pdev) { 80c27a2: b580 push {r7, lr} 80c27a4: b082 sub sp, #8 80c27a6: af00 add r7, sp, #0 80c27a8: 6078 str r0, [r7, #4] /* Set EP0 State */ pdev->ep0_state = USBD_EP0_STATUS_OUT; 80c27aa: 687b ldr r3, [r7, #4] 80c27ac: 2205 movs r2, #5 80c27ae: f8c3 2294 str.w r2, [r3, #660] ; 0x294 /* Start the transfer */ (void)USBD_LL_PrepareReceive(pdev, 0U, NULL, 0U); 80c27b2: 2300 movs r3, #0 80c27b4: 2200 movs r2, #0 80c27b6: 2100 movs r1, #0 80c27b8: 6878 ldr r0, [r7, #4] 80c27ba: f007 f9c2 bl 80c9b42 return USBD_OK; 80c27be: 2300 movs r3, #0 } 80c27c0: 4618 mov r0, r3 80c27c2: 3708 adds r7, #8 80c27c4: 46bd mov sp, r7 80c27c6: bd80 pop {r7, pc} 080c27c8 : * @retval DSTATUS: Operation status */ DSTATUS disk_status ( BYTE pdrv /* Physical drive number to identify the drive */ ) { 80c27c8: b580 push {r7, lr} 80c27ca: b084 sub sp, #16 80c27cc: af00 add r7, sp, #0 80c27ce: 4603 mov r3, r0 80c27d0: 71fb strb r3, [r7, #7] DSTATUS stat; stat = disk.drv[pdrv]->disk_status(disk.lun[pdrv]); 80c27d2: 79fb ldrb r3, [r7, #7] 80c27d4: 4a08 ldr r2, [pc, #32] ; (80c27f8 ) 80c27d6: 009b lsls r3, r3, #2 80c27d8: 4413 add r3, r2 80c27da: 685b ldr r3, [r3, #4] 80c27dc: 685b ldr r3, [r3, #4] 80c27de: 79fa ldrb r2, [r7, #7] 80c27e0: 4905 ldr r1, [pc, #20] ; (80c27f8 ) 80c27e2: 440a add r2, r1 80c27e4: 7a12 ldrb r2, [r2, #8] 80c27e6: 4610 mov r0, r2 80c27e8: 4798 blx r3 80c27ea: 4603 mov r3, r0 80c27ec: 73fb strb r3, [r7, #15] return stat; 80c27ee: 7bfb ldrb r3, [r7, #15] } 80c27f0: 4618 mov r0, r3 80c27f2: 3710 adds r7, #16 80c27f4: 46bd mov sp, r7 80c27f6: bd80 pop {r7, pc} 80c27f8: 20021b14 .word 0x20021b14 080c27fc : * @retval DSTATUS: Operation status */ DSTATUS disk_initialize ( BYTE pdrv /* Physical drive nmuber to identify the drive */ ) { 80c27fc: b580 push {r7, lr} 80c27fe: b084 sub sp, #16 80c2800: af00 add r7, sp, #0 80c2802: 4603 mov r3, r0 80c2804: 71fb strb r3, [r7, #7] DSTATUS stat = RES_OK; 80c2806: 2300 movs r3, #0 80c2808: 73fb strb r3, [r7, #15] if(disk.is_initialized[pdrv] == 0) 80c280a: 79fb ldrb r3, [r7, #7] 80c280c: 4a0d ldr r2, [pc, #52] ; (80c2844 ) 80c280e: 5cd3 ldrb r3, [r2, r3] 80c2810: 2b00 cmp r3, #0 80c2812: d111 bne.n 80c2838 { disk.is_initialized[pdrv] = 1; 80c2814: 79fb ldrb r3, [r7, #7] 80c2816: 4a0b ldr r2, [pc, #44] ; (80c2844 ) 80c2818: 2101 movs r1, #1 80c281a: 54d1 strb r1, [r2, r3] stat = disk.drv[pdrv]->disk_initialize(disk.lun[pdrv]); 80c281c: 79fb ldrb r3, [r7, #7] 80c281e: 4a09 ldr r2, [pc, #36] ; (80c2844 ) 80c2820: 009b lsls r3, r3, #2 80c2822: 4413 add r3, r2 80c2824: 685b ldr r3, [r3, #4] 80c2826: 681b ldr r3, [r3, #0] 80c2828: 79fa ldrb r2, [r7, #7] 80c282a: 4906 ldr r1, [pc, #24] ; (80c2844 ) 80c282c: 440a add r2, r1 80c282e: 7a12 ldrb r2, [r2, #8] 80c2830: 4610 mov r0, r2 80c2832: 4798 blx r3 80c2834: 4603 mov r3, r0 80c2836: 73fb strb r3, [r7, #15] } return stat; 80c2838: 7bfb ldrb r3, [r7, #15] } 80c283a: 4618 mov r0, r3 80c283c: 3710 adds r7, #16 80c283e: 46bd mov sp, r7 80c2840: bd80 pop {r7, pc} 80c2842: bf00 nop 80c2844: 20021b14 .word 0x20021b14 080c2848 : 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 */ ) { 80c2848: b590 push {r4, r7, lr} 80c284a: b087 sub sp, #28 80c284c: af00 add r7, sp, #0 80c284e: 60b9 str r1, [r7, #8] 80c2850: 607a str r2, [r7, #4] 80c2852: 603b str r3, [r7, #0] 80c2854: 4603 mov r3, r0 80c2856: 73fb strb r3, [r7, #15] DRESULT res; res = disk.drv[pdrv]->disk_read(disk.lun[pdrv], buff, sector, count); 80c2858: 7bfb ldrb r3, [r7, #15] 80c285a: 4a0a ldr r2, [pc, #40] ; (80c2884 ) 80c285c: 009b lsls r3, r3, #2 80c285e: 4413 add r3, r2 80c2860: 685b ldr r3, [r3, #4] 80c2862: 689c ldr r4, [r3, #8] 80c2864: 7bfb ldrb r3, [r7, #15] 80c2866: 4a07 ldr r2, [pc, #28] ; (80c2884 ) 80c2868: 4413 add r3, r2 80c286a: 7a18 ldrb r0, [r3, #8] 80c286c: 683b ldr r3, [r7, #0] 80c286e: 687a ldr r2, [r7, #4] 80c2870: 68b9 ldr r1, [r7, #8] 80c2872: 47a0 blx r4 80c2874: 4603 mov r3, r0 80c2876: 75fb strb r3, [r7, #23] return res; 80c2878: 7dfb ldrb r3, [r7, #23] } 80c287a: 4618 mov r0, r3 80c287c: 371c adds r7, #28 80c287e: 46bd mov sp, r7 80c2880: bd90 pop {r4, r7, pc} 80c2882: bf00 nop 80c2884: 20021b14 .word 0x20021b14 080c2888 : 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 */ ) { 80c2888: b590 push {r4, r7, lr} 80c288a: b087 sub sp, #28 80c288c: af00 add r7, sp, #0 80c288e: 60b9 str r1, [r7, #8] 80c2890: 607a str r2, [r7, #4] 80c2892: 603b str r3, [r7, #0] 80c2894: 4603 mov r3, r0 80c2896: 73fb strb r3, [r7, #15] DRESULT res; res = disk.drv[pdrv]->disk_write(disk.lun[pdrv], buff, sector, count); 80c2898: 7bfb ldrb r3, [r7, #15] 80c289a: 4a0a ldr r2, [pc, #40] ; (80c28c4 ) 80c289c: 009b lsls r3, r3, #2 80c289e: 4413 add r3, r2 80c28a0: 685b ldr r3, [r3, #4] 80c28a2: 68dc ldr r4, [r3, #12] 80c28a4: 7bfb ldrb r3, [r7, #15] 80c28a6: 4a07 ldr r2, [pc, #28] ; (80c28c4 ) 80c28a8: 4413 add r3, r2 80c28aa: 7a18 ldrb r0, [r3, #8] 80c28ac: 683b ldr r3, [r7, #0] 80c28ae: 687a ldr r2, [r7, #4] 80c28b0: 68b9 ldr r1, [r7, #8] 80c28b2: 47a0 blx r4 80c28b4: 4603 mov r3, r0 80c28b6: 75fb strb r3, [r7, #23] return res; 80c28b8: 7dfb ldrb r3, [r7, #23] } 80c28ba: 4618 mov r0, r3 80c28bc: 371c adds r7, #28 80c28be: 46bd mov sp, r7 80c28c0: bd90 pop {r4, r7, pc} 80c28c2: bf00 nop 80c28c4: 20021b14 .word 0x20021b14 080c28c8 : DRESULT disk_ioctl ( BYTE pdrv, /* Physical drive nmuber (0..) */ BYTE cmd, /* Control code */ void *buff /* Buffer to send/receive control data */ ) { 80c28c8: b580 push {r7, lr} 80c28ca: b084 sub sp, #16 80c28cc: af00 add r7, sp, #0 80c28ce: 4603 mov r3, r0 80c28d0: 603a str r2, [r7, #0] 80c28d2: 71fb strb r3, [r7, #7] 80c28d4: 460b mov r3, r1 80c28d6: 71bb strb r3, [r7, #6] DRESULT res; res = disk.drv[pdrv]->disk_ioctl(disk.lun[pdrv], cmd, buff); 80c28d8: 79fb ldrb r3, [r7, #7] 80c28da: 4a09 ldr r2, [pc, #36] ; (80c2900 ) 80c28dc: 009b lsls r3, r3, #2 80c28de: 4413 add r3, r2 80c28e0: 685b ldr r3, [r3, #4] 80c28e2: 691b ldr r3, [r3, #16] 80c28e4: 79fa ldrb r2, [r7, #7] 80c28e6: 4906 ldr r1, [pc, #24] ; (80c2900 ) 80c28e8: 440a add r2, r1 80c28ea: 7a10 ldrb r0, [r2, #8] 80c28ec: 79b9 ldrb r1, [r7, #6] 80c28ee: 683a ldr r2, [r7, #0] 80c28f0: 4798 blx r3 80c28f2: 4603 mov r3, r0 80c28f4: 73fb strb r3, [r7, #15] return res; 80c28f6: 7bfb ldrb r3, [r7, #15] } 80c28f8: 4618 mov r0, r3 80c28fa: 3710 adds r7, #16 80c28fc: 46bd mov sp, r7 80c28fe: bd80 pop {r7, pc} 80c2900: 20021b14 .word 0x20021b14 080c2904 : /* Load/Store multi-byte word in the FAT structure */ /*-----------------------------------------------------------------------*/ static WORD ld_word (const BYTE* ptr) /* Load a 2-byte little-endian word */ { 80c2904: b480 push {r7} 80c2906: b085 sub sp, #20 80c2908: af00 add r7, sp, #0 80c290a: 6078 str r0, [r7, #4] WORD rv; rv = ptr[1]; 80c290c: 687b ldr r3, [r7, #4] 80c290e: 3301 adds r3, #1 80c2910: 781b ldrb r3, [r3, #0] 80c2912: 81fb strh r3, [r7, #14] rv = rv << 8 | ptr[0]; 80c2914: 89fb ldrh r3, [r7, #14] 80c2916: 021b lsls r3, r3, #8 80c2918: b21a sxth r2, r3 80c291a: 687b ldr r3, [r7, #4] 80c291c: 781b ldrb r3, [r3, #0] 80c291e: b21b sxth r3, r3 80c2920: 4313 orrs r3, r2 80c2922: b21b sxth r3, r3 80c2924: 81fb strh r3, [r7, #14] return rv; 80c2926: 89fb ldrh r3, [r7, #14] } 80c2928: 4618 mov r0, r3 80c292a: 3714 adds r7, #20 80c292c: 46bd mov sp, r7 80c292e: f85d 7b04 ldr.w r7, [sp], #4 80c2932: 4770 bx lr 080c2934 : static DWORD ld_dword (const BYTE* ptr) /* Load a 4-byte little-endian word */ { 80c2934: b480 push {r7} 80c2936: b085 sub sp, #20 80c2938: af00 add r7, sp, #0 80c293a: 6078 str r0, [r7, #4] DWORD rv; rv = ptr[3]; 80c293c: 687b ldr r3, [r7, #4] 80c293e: 3303 adds r3, #3 80c2940: 781b ldrb r3, [r3, #0] 80c2942: 60fb str r3, [r7, #12] rv = rv << 8 | ptr[2]; 80c2944: 68fb ldr r3, [r7, #12] 80c2946: 021b lsls r3, r3, #8 80c2948: 687a ldr r2, [r7, #4] 80c294a: 3202 adds r2, #2 80c294c: 7812 ldrb r2, [r2, #0] 80c294e: 4313 orrs r3, r2 80c2950: 60fb str r3, [r7, #12] rv = rv << 8 | ptr[1]; 80c2952: 68fb ldr r3, [r7, #12] 80c2954: 021b lsls r3, r3, #8 80c2956: 687a ldr r2, [r7, #4] 80c2958: 3201 adds r2, #1 80c295a: 7812 ldrb r2, [r2, #0] 80c295c: 4313 orrs r3, r2 80c295e: 60fb str r3, [r7, #12] rv = rv << 8 | ptr[0]; 80c2960: 68fb ldr r3, [r7, #12] 80c2962: 021b lsls r3, r3, #8 80c2964: 687a ldr r2, [r7, #4] 80c2966: 7812 ldrb r2, [r2, #0] 80c2968: 4313 orrs r3, r2 80c296a: 60fb str r3, [r7, #12] return rv; 80c296c: 68fb ldr r3, [r7, #12] } 80c296e: 4618 mov r0, r3 80c2970: 3714 adds r7, #20 80c2972: 46bd mov sp, r7 80c2974: f85d 7b04 ldr.w r7, [sp], #4 80c2978: 4770 bx lr 080c297a : #if _FS_EXFAT static QWORD ld_qword (const BYTE* ptr) /* Load an 8-byte little-endian word */ { 80c297a: e92d 0ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp} 80c297e: b08a sub sp, #40 ; 0x28 80c2980: af00 add r7, sp, #0 80c2982: 61f8 str r0, [r7, #28] QWORD rv; rv = ptr[7]; 80c2984: 69fb ldr r3, [r7, #28] 80c2986: 3307 adds r3, #7 80c2988: 781b ldrb r3, [r3, #0] 80c298a: b2db uxtb r3, r3 80c298c: f04f 0400 mov.w r4, #0 80c2990: e9c7 3408 strd r3, r4, [r7, #32] rv = rv << 8 | ptr[6]; 80c2994: e9d7 3408 ldrd r3, r4, [r7, #32] 80c2998: 0222 lsls r2, r4, #8 80c299a: ea42 6213 orr.w r2, r2, r3, lsr #24 80c299e: 0219 lsls r1, r3, #8 80c29a0: 69fb ldr r3, [r7, #28] 80c29a2: 3306 adds r3, #6 80c29a4: 781b ldrb r3, [r3, #0] 80c29a6: b2db uxtb r3, r3 80c29a8: f04f 0400 mov.w r4, #0 80c29ac: ea43 0301 orr.w r3, r3, r1 80c29b0: ea44 0402 orr.w r4, r4, r2 80c29b4: e9c7 3408 strd r3, r4, [r7, #32] rv = rv << 8 | ptr[5]; 80c29b8: e9d7 3408 ldrd r3, r4, [r7, #32] 80c29bc: 0222 lsls r2, r4, #8 80c29be: 617a str r2, [r7, #20] 80c29c0: 697a ldr r2, [r7, #20] 80c29c2: ea42 6213 orr.w r2, r2, r3, lsr #24 80c29c6: 617a str r2, [r7, #20] 80c29c8: 021b lsls r3, r3, #8 80c29ca: 613b str r3, [r7, #16] 80c29cc: 69fb ldr r3, [r7, #28] 80c29ce: 3305 adds r3, #5 80c29d0: 781b ldrb r3, [r3, #0] 80c29d2: b2db uxtb r3, r3 80c29d4: f04f 0400 mov.w r4, #0 80c29d8: e9d7 1204 ldrd r1, r2, [r7, #16] 80c29dc: ea41 0103 orr.w r1, r1, r3 80c29e0: ea42 0204 orr.w r2, r2, r4 80c29e4: 460b mov r3, r1 80c29e6: 4614 mov r4, r2 80c29e8: e9c7 3408 strd r3, r4, [r7, #32] rv = rv << 8 | ptr[4]; 80c29ec: e9d7 3408 ldrd r3, r4, [r7, #32] 80c29f0: 0222 lsls r2, r4, #8 80c29f2: 60fa str r2, [r7, #12] 80c29f4: 68fa ldr r2, [r7, #12] 80c29f6: ea42 6213 orr.w r2, r2, r3, lsr #24 80c29fa: 60fa str r2, [r7, #12] 80c29fc: 021b lsls r3, r3, #8 80c29fe: 60bb str r3, [r7, #8] 80c2a00: 69fb ldr r3, [r7, #28] 80c2a02: 3304 adds r3, #4 80c2a04: 781b ldrb r3, [r3, #0] 80c2a06: b2db uxtb r3, r3 80c2a08: f04f 0400 mov.w r4, #0 80c2a0c: e9d7 1202 ldrd r1, r2, [r7, #8] 80c2a10: ea41 0103 orr.w r1, r1, r3 80c2a14: ea42 0204 orr.w r2, r2, r4 80c2a18: 460b mov r3, r1 80c2a1a: 4614 mov r4, r2 80c2a1c: e9c7 3408 strd r3, r4, [r7, #32] rv = rv << 8 | ptr[3]; 80c2a20: e9d7 3408 ldrd r3, r4, [r7, #32] 80c2a24: 0222 lsls r2, r4, #8 80c2a26: 607a str r2, [r7, #4] 80c2a28: 687a ldr r2, [r7, #4] 80c2a2a: ea42 6213 orr.w r2, r2, r3, lsr #24 80c2a2e: 607a str r2, [r7, #4] 80c2a30: 021b lsls r3, r3, #8 80c2a32: 603b str r3, [r7, #0] 80c2a34: 69fb ldr r3, [r7, #28] 80c2a36: 3303 adds r3, #3 80c2a38: 781b ldrb r3, [r3, #0] 80c2a3a: b2db uxtb r3, r3 80c2a3c: f04f 0400 mov.w r4, #0 80c2a40: e897 0006 ldmia.w r7, {r1, r2} 80c2a44: ea41 0103 orr.w r1, r1, r3 80c2a48: ea42 0204 orr.w r2, r2, r4 80c2a4c: 460b mov r3, r1 80c2a4e: 4614 mov r4, r2 80c2a50: e9c7 3408 strd r3, r4, [r7, #32] rv = rv << 8 | ptr[2]; 80c2a54: e9d7 3408 ldrd r3, r4, [r7, #32] 80c2a58: ea4f 2b04 mov.w fp, r4, lsl #8 80c2a5c: ea4b 6b13 orr.w fp, fp, r3, lsr #24 80c2a60: ea4f 2a03 mov.w sl, r3, lsl #8 80c2a64: 69fb ldr r3, [r7, #28] 80c2a66: 3302 adds r3, #2 80c2a68: 781b ldrb r3, [r3, #0] 80c2a6a: b2db uxtb r3, r3 80c2a6c: f04f 0400 mov.w r4, #0 80c2a70: ea43 030a orr.w r3, r3, sl 80c2a74: ea44 040b orr.w r4, r4, fp 80c2a78: e9c7 3408 strd r3, r4, [r7, #32] rv = rv << 8 | ptr[1]; 80c2a7c: e9d7 3408 ldrd r3, r4, [r7, #32] 80c2a80: ea4f 2904 mov.w r9, r4, lsl #8 80c2a84: ea49 6913 orr.w r9, r9, r3, lsr #24 80c2a88: ea4f 2803 mov.w r8, r3, lsl #8 80c2a8c: 69fb ldr r3, [r7, #28] 80c2a8e: 3301 adds r3, #1 80c2a90: 781b ldrb r3, [r3, #0] 80c2a92: b2db uxtb r3, r3 80c2a94: f04f 0400 mov.w r4, #0 80c2a98: ea43 0308 orr.w r3, r3, r8 80c2a9c: ea44 0409 orr.w r4, r4, r9 80c2aa0: e9c7 3408 strd r3, r4, [r7, #32] rv = rv << 8 | ptr[0]; 80c2aa4: e9d7 3408 ldrd r3, r4, [r7, #32] 80c2aa8: 0226 lsls r6, r4, #8 80c2aaa: ea46 6613 orr.w r6, r6, r3, lsr #24 80c2aae: 021d lsls r5, r3, #8 80c2ab0: 69fb ldr r3, [r7, #28] 80c2ab2: 781b ldrb r3, [r3, #0] 80c2ab4: b2db uxtb r3, r3 80c2ab6: f04f 0400 mov.w r4, #0 80c2aba: ea43 0305 orr.w r3, r3, r5 80c2abe: ea44 0406 orr.w r4, r4, r6 80c2ac2: e9c7 3408 strd r3, r4, [r7, #32] return rv; 80c2ac6: e9d7 3408 ldrd r3, r4, [r7, #32] } 80c2aca: 4618 mov r0, r3 80c2acc: 4621 mov r1, r4 80c2ace: 3728 adds r7, #40 ; 0x28 80c2ad0: 46bd mov sp, r7 80c2ad2: e8bd 0ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp} 80c2ad6: 4770 bx lr 080c2ad8 : #endif #if !_FS_READONLY static void st_word (BYTE* ptr, WORD val) /* Store a 2-byte word in little-endian */ { 80c2ad8: b480 push {r7} 80c2ada: b083 sub sp, #12 80c2adc: af00 add r7, sp, #0 80c2ade: 6078 str r0, [r7, #4] 80c2ae0: 460b mov r3, r1 80c2ae2: 807b strh r3, [r7, #2] *ptr++ = (BYTE)val; val >>= 8; 80c2ae4: 687b ldr r3, [r7, #4] 80c2ae6: 1c5a adds r2, r3, #1 80c2ae8: 607a str r2, [r7, #4] 80c2aea: 887a ldrh r2, [r7, #2] 80c2aec: b2d2 uxtb r2, r2 80c2aee: 701a strb r2, [r3, #0] 80c2af0: 887b ldrh r3, [r7, #2] 80c2af2: 0a1b lsrs r3, r3, #8 80c2af4: 807b strh r3, [r7, #2] *ptr++ = (BYTE)val; 80c2af6: 687b ldr r3, [r7, #4] 80c2af8: 1c5a adds r2, r3, #1 80c2afa: 607a str r2, [r7, #4] 80c2afc: 887a ldrh r2, [r7, #2] 80c2afe: b2d2 uxtb r2, r2 80c2b00: 701a strb r2, [r3, #0] } 80c2b02: bf00 nop 80c2b04: 370c adds r7, #12 80c2b06: 46bd mov sp, r7 80c2b08: f85d 7b04 ldr.w r7, [sp], #4 80c2b0c: 4770 bx lr 080c2b0e : static void st_dword (BYTE* ptr, DWORD val) /* Store a 4-byte word in little-endian */ { 80c2b0e: b480 push {r7} 80c2b10: b083 sub sp, #12 80c2b12: af00 add r7, sp, #0 80c2b14: 6078 str r0, [r7, #4] 80c2b16: 6039 str r1, [r7, #0] *ptr++ = (BYTE)val; val >>= 8; 80c2b18: 687b ldr r3, [r7, #4] 80c2b1a: 1c5a adds r2, r3, #1 80c2b1c: 607a str r2, [r7, #4] 80c2b1e: 683a ldr r2, [r7, #0] 80c2b20: b2d2 uxtb r2, r2 80c2b22: 701a strb r2, [r3, #0] 80c2b24: 683b ldr r3, [r7, #0] 80c2b26: 0a1b lsrs r3, r3, #8 80c2b28: 603b str r3, [r7, #0] *ptr++ = (BYTE)val; val >>= 8; 80c2b2a: 687b ldr r3, [r7, #4] 80c2b2c: 1c5a adds r2, r3, #1 80c2b2e: 607a str r2, [r7, #4] 80c2b30: 683a ldr r2, [r7, #0] 80c2b32: b2d2 uxtb r2, r2 80c2b34: 701a strb r2, [r3, #0] 80c2b36: 683b ldr r3, [r7, #0] 80c2b38: 0a1b lsrs r3, r3, #8 80c2b3a: 603b str r3, [r7, #0] *ptr++ = (BYTE)val; val >>= 8; 80c2b3c: 687b ldr r3, [r7, #4] 80c2b3e: 1c5a adds r2, r3, #1 80c2b40: 607a str r2, [r7, #4] 80c2b42: 683a ldr r2, [r7, #0] 80c2b44: b2d2 uxtb r2, r2 80c2b46: 701a strb r2, [r3, #0] 80c2b48: 683b ldr r3, [r7, #0] 80c2b4a: 0a1b lsrs r3, r3, #8 80c2b4c: 603b str r3, [r7, #0] *ptr++ = (BYTE)val; 80c2b4e: 687b ldr r3, [r7, #4] 80c2b50: 1c5a adds r2, r3, #1 80c2b52: 607a str r2, [r7, #4] 80c2b54: 683a ldr r2, [r7, #0] 80c2b56: b2d2 uxtb r2, r2 80c2b58: 701a strb r2, [r3, #0] } 80c2b5a: bf00 nop 80c2b5c: 370c adds r7, #12 80c2b5e: 46bd mov sp, r7 80c2b60: f85d 7b04 ldr.w r7, [sp], #4 80c2b64: 4770 bx lr 080c2b66 : #if _FS_EXFAT static void st_qword (BYTE* ptr, QWORD val) /* Store an 8-byte word in little-endian */ { 80c2b66: e92d 0ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp} 80c2b6a: b08c sub sp, #48 ; 0x30 80c2b6c: af00 add r7, sp, #0 80c2b6e: 62f8 str r0, [r7, #44] ; 0x2c 80c2b70: e9c7 2308 strd r2, r3, [r7, #32] *ptr++ = (BYTE)val; val >>= 8; 80c2b74: 6afa ldr r2, [r7, #44] ; 0x2c 80c2b76: 1c53 adds r3, r2, #1 80c2b78: 62fb str r3, [r7, #44] ; 0x2c 80c2b7a: f897 3020 ldrb.w r3, [r7, #32] 80c2b7e: 7013 strb r3, [r2, #0] 80c2b80: e9d7 3408 ldrd r3, r4, [r7, #32] 80c2b84: 0a1d lsrs r5, r3, #8 80c2b86: ea45 6504 orr.w r5, r5, r4, lsl #24 80c2b8a: 0a26 lsrs r6, r4, #8 80c2b8c: e9c7 5608 strd r5, r6, [r7, #32] *ptr++ = (BYTE)val; val >>= 8; 80c2b90: 6afa ldr r2, [r7, #44] ; 0x2c 80c2b92: 1c53 adds r3, r2, #1 80c2b94: 62fb str r3, [r7, #44] ; 0x2c 80c2b96: f897 3020 ldrb.w r3, [r7, #32] 80c2b9a: 7013 strb r3, [r2, #0] 80c2b9c: e9d7 3408 ldrd r3, r4, [r7, #32] 80c2ba0: 0a1a lsrs r2, r3, #8 80c2ba2: 61ba str r2, [r7, #24] 80c2ba4: 69ba ldr r2, [r7, #24] 80c2ba6: ea42 6204 orr.w r2, r2, r4, lsl #24 80c2baa: 61ba str r2, [r7, #24] 80c2bac: 0a23 lsrs r3, r4, #8 80c2bae: 61fb str r3, [r7, #28] 80c2bb0: e9d7 3406 ldrd r3, r4, [r7, #24] 80c2bb4: e9c7 3408 strd r3, r4, [r7, #32] *ptr++ = (BYTE)val; val >>= 8; 80c2bb8: 6afb ldr r3, [r7, #44] ; 0x2c 80c2bba: 1c5a adds r2, r3, #1 80c2bbc: 62fa str r2, [r7, #44] ; 0x2c 80c2bbe: f897 2020 ldrb.w r2, [r7, #32] 80c2bc2: 701a strb r2, [r3, #0] 80c2bc4: e9d7 3408 ldrd r3, r4, [r7, #32] 80c2bc8: 0a1a lsrs r2, r3, #8 80c2bca: 613a str r2, [r7, #16] 80c2bcc: 693a ldr r2, [r7, #16] 80c2bce: ea42 6204 orr.w r2, r2, r4, lsl #24 80c2bd2: 613a str r2, [r7, #16] 80c2bd4: 0a23 lsrs r3, r4, #8 80c2bd6: 617b str r3, [r7, #20] 80c2bd8: e9d7 3404 ldrd r3, r4, [r7, #16] 80c2bdc: e9c7 3408 strd r3, r4, [r7, #32] *ptr++ = (BYTE)val; val >>= 8; 80c2be0: 6afb ldr r3, [r7, #44] ; 0x2c 80c2be2: 1c5a adds r2, r3, #1 80c2be4: 62fa str r2, [r7, #44] ; 0x2c 80c2be6: f897 2020 ldrb.w r2, [r7, #32] 80c2bea: 701a strb r2, [r3, #0] 80c2bec: e9d7 3408 ldrd r3, r4, [r7, #32] 80c2bf0: 0a1a lsrs r2, r3, #8 80c2bf2: 60ba str r2, [r7, #8] 80c2bf4: 68ba ldr r2, [r7, #8] 80c2bf6: ea42 6204 orr.w r2, r2, r4, lsl #24 80c2bfa: 60ba str r2, [r7, #8] 80c2bfc: 0a23 lsrs r3, r4, #8 80c2bfe: 60fb str r3, [r7, #12] 80c2c00: e9d7 3402 ldrd r3, r4, [r7, #8] 80c2c04: e9c7 3408 strd r3, r4, [r7, #32] *ptr++ = (BYTE)val; val >>= 8; 80c2c08: 6afb ldr r3, [r7, #44] ; 0x2c 80c2c0a: 1c5a adds r2, r3, #1 80c2c0c: 62fa str r2, [r7, #44] ; 0x2c 80c2c0e: f897 2020 ldrb.w r2, [r7, #32] 80c2c12: 701a strb r2, [r3, #0] 80c2c14: e9d7 3408 ldrd r3, r4, [r7, #32] 80c2c18: 0a1a lsrs r2, r3, #8 80c2c1a: 603a str r2, [r7, #0] 80c2c1c: 683a ldr r2, [r7, #0] 80c2c1e: ea42 6204 orr.w r2, r2, r4, lsl #24 80c2c22: 603a str r2, [r7, #0] 80c2c24: 0a23 lsrs r3, r4, #8 80c2c26: 607b str r3, [r7, #4] 80c2c28: e897 0018 ldmia.w r7, {r3, r4} 80c2c2c: e9c7 3408 strd r3, r4, [r7, #32] *ptr++ = (BYTE)val; val >>= 8; 80c2c30: 6afb ldr r3, [r7, #44] ; 0x2c 80c2c32: 1c5a adds r2, r3, #1 80c2c34: 62fa str r2, [r7, #44] ; 0x2c 80c2c36: f897 2020 ldrb.w r2, [r7, #32] 80c2c3a: 701a strb r2, [r3, #0] 80c2c3c: e9d7 3408 ldrd r3, r4, [r7, #32] 80c2c40: ea4f 2a13 mov.w sl, r3, lsr #8 80c2c44: ea4a 6a04 orr.w sl, sl, r4, lsl #24 80c2c48: ea4f 2b14 mov.w fp, r4, lsr #8 80c2c4c: e9c7 ab08 strd sl, fp, [r7, #32] *ptr++ = (BYTE)val; val >>= 8; 80c2c50: 6afb ldr r3, [r7, #44] ; 0x2c 80c2c52: 1c5a adds r2, r3, #1 80c2c54: 62fa str r2, [r7, #44] ; 0x2c 80c2c56: f897 2020 ldrb.w r2, [r7, #32] 80c2c5a: 701a strb r2, [r3, #0] 80c2c5c: e9d7 3408 ldrd r3, r4, [r7, #32] 80c2c60: ea4f 2813 mov.w r8, r3, lsr #8 80c2c64: ea48 6804 orr.w r8, r8, r4, lsl #24 80c2c68: ea4f 2914 mov.w r9, r4, lsr #8 80c2c6c: e9c7 8908 strd r8, r9, [r7, #32] *ptr++ = (BYTE)val; 80c2c70: 6afb ldr r3, [r7, #44] ; 0x2c 80c2c72: 1c5a adds r2, r3, #1 80c2c74: 62fa str r2, [r7, #44] ; 0x2c 80c2c76: f897 2020 ldrb.w r2, [r7, #32] 80c2c7a: 701a strb r2, [r3, #0] } 80c2c7c: bf00 nop 80c2c7e: 3730 adds r7, #48 ; 0x30 80c2c80: 46bd mov sp, r7 80c2c82: e8bd 0ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp} 80c2c86: 4770 bx lr 080c2c88 : /* String functions */ /*-----------------------------------------------------------------------*/ /* Copy memory to memory */ static void mem_cpy (void* dst, const void* src, UINT cnt) { 80c2c88: b480 push {r7} 80c2c8a: b087 sub sp, #28 80c2c8c: af00 add r7, sp, #0 80c2c8e: 60f8 str r0, [r7, #12] 80c2c90: 60b9 str r1, [r7, #8] 80c2c92: 607a str r2, [r7, #4] BYTE *d = (BYTE*)dst; 80c2c94: 68fb ldr r3, [r7, #12] 80c2c96: 617b str r3, [r7, #20] const BYTE *s = (const BYTE*)src; 80c2c98: 68bb ldr r3, [r7, #8] 80c2c9a: 613b str r3, [r7, #16] if (cnt) { 80c2c9c: 687b ldr r3, [r7, #4] 80c2c9e: 2b00 cmp r3, #0 80c2ca0: d00d beq.n 80c2cbe do { *d++ = *s++; 80c2ca2: 697b ldr r3, [r7, #20] 80c2ca4: 1c5a adds r2, r3, #1 80c2ca6: 617a str r2, [r7, #20] 80c2ca8: 693a ldr r2, [r7, #16] 80c2caa: 1c51 adds r1, r2, #1 80c2cac: 6139 str r1, [r7, #16] 80c2cae: 7812 ldrb r2, [r2, #0] 80c2cb0: 701a strb r2, [r3, #0] } while (--cnt); 80c2cb2: 687b ldr r3, [r7, #4] 80c2cb4: 3b01 subs r3, #1 80c2cb6: 607b str r3, [r7, #4] 80c2cb8: 687b ldr r3, [r7, #4] 80c2cba: 2b00 cmp r3, #0 80c2cbc: d1f1 bne.n 80c2ca2 } } 80c2cbe: bf00 nop 80c2cc0: 371c adds r7, #28 80c2cc2: 46bd mov sp, r7 80c2cc4: f85d 7b04 ldr.w r7, [sp], #4 80c2cc8: 4770 bx lr 080c2cca : /* Fill memory block */ static void mem_set (void* dst, int val, UINT cnt) { 80c2cca: b480 push {r7} 80c2ccc: b087 sub sp, #28 80c2cce: af00 add r7, sp, #0 80c2cd0: 60f8 str r0, [r7, #12] 80c2cd2: 60b9 str r1, [r7, #8] 80c2cd4: 607a str r2, [r7, #4] BYTE *d = (BYTE*)dst; 80c2cd6: 68fb ldr r3, [r7, #12] 80c2cd8: 617b str r3, [r7, #20] do { *d++ = (BYTE)val; 80c2cda: 697b ldr r3, [r7, #20] 80c2cdc: 1c5a adds r2, r3, #1 80c2cde: 617a str r2, [r7, #20] 80c2ce0: 68ba ldr r2, [r7, #8] 80c2ce2: b2d2 uxtb r2, r2 80c2ce4: 701a strb r2, [r3, #0] } while (--cnt); 80c2ce6: 687b ldr r3, [r7, #4] 80c2ce8: 3b01 subs r3, #1 80c2cea: 607b str r3, [r7, #4] 80c2cec: 687b ldr r3, [r7, #4] 80c2cee: 2b00 cmp r3, #0 80c2cf0: d1f3 bne.n 80c2cda } 80c2cf2: bf00 nop 80c2cf4: 371c adds r7, #28 80c2cf6: 46bd mov sp, r7 80c2cf8: f85d 7b04 ldr.w r7, [sp], #4 80c2cfc: 4770 bx lr 080c2cfe : /* Compare memory block */ static int mem_cmp (const void* dst, const void* src, UINT cnt) { /* ZR:same, NZ:different */ 80c2cfe: b480 push {r7} 80c2d00: b089 sub sp, #36 ; 0x24 80c2d02: af00 add r7, sp, #0 80c2d04: 60f8 str r0, [r7, #12] 80c2d06: 60b9 str r1, [r7, #8] 80c2d08: 607a str r2, [r7, #4] const BYTE *d = (const BYTE *)dst, *s = (const BYTE *)src; 80c2d0a: 68fb ldr r3, [r7, #12] 80c2d0c: 61fb str r3, [r7, #28] 80c2d0e: 68bb ldr r3, [r7, #8] 80c2d10: 61bb str r3, [r7, #24] int r = 0; 80c2d12: 2300 movs r3, #0 80c2d14: 617b str r3, [r7, #20] do { r = *d++ - *s++; 80c2d16: 69fb ldr r3, [r7, #28] 80c2d18: 1c5a adds r2, r3, #1 80c2d1a: 61fa str r2, [r7, #28] 80c2d1c: 781b ldrb r3, [r3, #0] 80c2d1e: 4619 mov r1, r3 80c2d20: 69bb ldr r3, [r7, #24] 80c2d22: 1c5a adds r2, r3, #1 80c2d24: 61ba str r2, [r7, #24] 80c2d26: 781b ldrb r3, [r3, #0] 80c2d28: 1acb subs r3, r1, r3 80c2d2a: 617b str r3, [r7, #20] } while (--cnt && r == 0); 80c2d2c: 687b ldr r3, [r7, #4] 80c2d2e: 3b01 subs r3, #1 80c2d30: 607b str r3, [r7, #4] 80c2d32: 687b ldr r3, [r7, #4] 80c2d34: 2b00 cmp r3, #0 80c2d36: d002 beq.n 80c2d3e 80c2d38: 697b ldr r3, [r7, #20] 80c2d3a: 2b00 cmp r3, #0 80c2d3c: d0eb beq.n 80c2d16 return r; 80c2d3e: 697b ldr r3, [r7, #20] } 80c2d40: 4618 mov r0, r3 80c2d42: 3724 adds r7, #36 ; 0x24 80c2d44: 46bd mov sp, r7 80c2d46: f85d 7b04 ldr.w r7, [sp], #4 80c2d4a: 4770 bx lr 080c2d4c : /* Check if chr is contained in the string */ static int chk_chr (const char* str, int chr) { /* NZ:contained, ZR:not contained */ 80c2d4c: b480 push {r7} 80c2d4e: b083 sub sp, #12 80c2d50: af00 add r7, sp, #0 80c2d52: 6078 str r0, [r7, #4] 80c2d54: 6039 str r1, [r7, #0] while (*str && *str != chr) str++; 80c2d56: e002 b.n 80c2d5e 80c2d58: 687b ldr r3, [r7, #4] 80c2d5a: 3301 adds r3, #1 80c2d5c: 607b str r3, [r7, #4] 80c2d5e: 687b ldr r3, [r7, #4] 80c2d60: 781b ldrb r3, [r3, #0] 80c2d62: 2b00 cmp r3, #0 80c2d64: d005 beq.n 80c2d72 80c2d66: 687b ldr r3, [r7, #4] 80c2d68: 781b ldrb r3, [r3, #0] 80c2d6a: 461a mov r2, r3 80c2d6c: 683b ldr r3, [r7, #0] 80c2d6e: 429a cmp r2, r3 80c2d70: d1f2 bne.n 80c2d58 return *str; 80c2d72: 687b ldr r3, [r7, #4] 80c2d74: 781b ldrb r3, [r3, #0] } 80c2d76: 4618 mov r0, r3 80c2d78: 370c adds r7, #12 80c2d7a: 46bd mov sp, r7 80c2d7c: f85d 7b04 ldr.w r7, [sp], #4 80c2d80: 4770 bx lr 080c2d82 : #if !_FS_READONLY static FRESULT sync_window ( /* Returns FR_OK or FR_DISK_ERROR */ FATFS* fs /* File system object */ ) { 80c2d82: b580 push {r7, lr} 80c2d84: b086 sub sp, #24 80c2d86: af00 add r7, sp, #0 80c2d88: 6078 str r0, [r7, #4] DWORD wsect; UINT nf; FRESULT res = FR_OK; 80c2d8a: 2300 movs r3, #0 80c2d8c: 73fb strb r3, [r7, #15] if (fs->wflag) { /* Write back the sector if it is dirty */ 80c2d8e: 687b ldr r3, [r7, #4] 80c2d90: 78db ldrb r3, [r3, #3] 80c2d92: 2b00 cmp r3, #0 80c2d94: d034 beq.n 80c2e00 wsect = fs->winsect; /* Current sector number */ 80c2d96: 687b ldr r3, [r7, #4] 80c2d98: 6b5b ldr r3, [r3, #52] ; 0x34 80c2d9a: 617b str r3, [r7, #20] if (disk_write(fs->drv, fs->win, wsect, 1) != RES_OK) { 80c2d9c: 687b ldr r3, [r7, #4] 80c2d9e: 7858 ldrb r0, [r3, #1] 80c2da0: 687b ldr r3, [r7, #4] 80c2da2: f103 0138 add.w r1, r3, #56 ; 0x38 80c2da6: 2301 movs r3, #1 80c2da8: 697a ldr r2, [r7, #20] 80c2daa: f7ff fd6d bl 80c2888 80c2dae: 4603 mov r3, r0 80c2db0: 2b00 cmp r3, #0 80c2db2: d002 beq.n 80c2dba res = FR_DISK_ERR; 80c2db4: 2301 movs r3, #1 80c2db6: 73fb strb r3, [r7, #15] 80c2db8: e022 b.n 80c2e00 } else { fs->wflag = 0; 80c2dba: 687b ldr r3, [r7, #4] 80c2dbc: 2200 movs r2, #0 80c2dbe: 70da strb r2, [r3, #3] if (wsect - fs->fatbase < fs->fsize) { /* Is it in the FAT area? */ 80c2dc0: 687b ldr r3, [r7, #4] 80c2dc2: 6a9b ldr r3, [r3, #40] ; 0x28 80c2dc4: 697a ldr r2, [r7, #20] 80c2dc6: 1ad2 subs r2, r2, r3 80c2dc8: 687b ldr r3, [r7, #4] 80c2dca: 6a1b ldr r3, [r3, #32] 80c2dcc: 429a cmp r2, r3 80c2dce: d217 bcs.n 80c2e00 for (nf = fs->n_fats; nf >= 2; nf--) { /* Reflect the change to all FAT copies */ 80c2dd0: 687b ldr r3, [r7, #4] 80c2dd2: 789b ldrb r3, [r3, #2] 80c2dd4: 613b str r3, [r7, #16] 80c2dd6: e010 b.n 80c2dfa wsect += fs->fsize; 80c2dd8: 687b ldr r3, [r7, #4] 80c2dda: 6a1b ldr r3, [r3, #32] 80c2ddc: 697a ldr r2, [r7, #20] 80c2dde: 4413 add r3, r2 80c2de0: 617b str r3, [r7, #20] disk_write(fs->drv, fs->win, wsect, 1); 80c2de2: 687b ldr r3, [r7, #4] 80c2de4: 7858 ldrb r0, [r3, #1] 80c2de6: 687b ldr r3, [r7, #4] 80c2de8: f103 0138 add.w r1, r3, #56 ; 0x38 80c2dec: 2301 movs r3, #1 80c2dee: 697a ldr r2, [r7, #20] 80c2df0: f7ff fd4a bl 80c2888 for (nf = fs->n_fats; nf >= 2; nf--) { /* Reflect the change to all FAT copies */ 80c2df4: 693b ldr r3, [r7, #16] 80c2df6: 3b01 subs r3, #1 80c2df8: 613b str r3, [r7, #16] 80c2dfa: 693b ldr r3, [r7, #16] 80c2dfc: 2b01 cmp r3, #1 80c2dfe: d8eb bhi.n 80c2dd8 } } } } return res; 80c2e00: 7bfb ldrb r3, [r7, #15] } 80c2e02: 4618 mov r0, r3 80c2e04: 3718 adds r7, #24 80c2e06: 46bd mov sp, r7 80c2e08: bd80 pop {r7, pc} 080c2e0a : 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[] */ ) { 80c2e0a: b580 push {r7, lr} 80c2e0c: b084 sub sp, #16 80c2e0e: af00 add r7, sp, #0 80c2e10: 6078 str r0, [r7, #4] 80c2e12: 6039 str r1, [r7, #0] FRESULT res = FR_OK; 80c2e14: 2300 movs r3, #0 80c2e16: 73fb strb r3, [r7, #15] if (sector != fs->winsect) { /* Window offset changed? */ 80c2e18: 687b ldr r3, [r7, #4] 80c2e1a: 6b5a ldr r2, [r3, #52] ; 0x34 80c2e1c: 683b ldr r3, [r7, #0] 80c2e1e: 429a cmp r2, r3 80c2e20: d01b beq.n 80c2e5a #if !_FS_READONLY res = sync_window(fs); /* Write-back changes */ 80c2e22: 6878 ldr r0, [r7, #4] 80c2e24: f7ff ffad bl 80c2d82 80c2e28: 4603 mov r3, r0 80c2e2a: 73fb strb r3, [r7, #15] #endif if (res == FR_OK) { /* Fill sector window with new data */ 80c2e2c: 7bfb ldrb r3, [r7, #15] 80c2e2e: 2b00 cmp r3, #0 80c2e30: d113 bne.n 80c2e5a if (disk_read(fs->drv, fs->win, sector, 1) != RES_OK) { 80c2e32: 687b ldr r3, [r7, #4] 80c2e34: 7858 ldrb r0, [r3, #1] 80c2e36: 687b ldr r3, [r7, #4] 80c2e38: f103 0138 add.w r1, r3, #56 ; 0x38 80c2e3c: 2301 movs r3, #1 80c2e3e: 683a ldr r2, [r7, #0] 80c2e40: f7ff fd02 bl 80c2848 80c2e44: 4603 mov r3, r0 80c2e46: 2b00 cmp r3, #0 80c2e48: d004 beq.n 80c2e54 sector = 0xFFFFFFFF; /* Invalidate window if data is not reliable */ 80c2e4a: f04f 33ff mov.w r3, #4294967295 80c2e4e: 603b str r3, [r7, #0] res = FR_DISK_ERR; 80c2e50: 2301 movs r3, #1 80c2e52: 73fb strb r3, [r7, #15] } fs->winsect = sector; 80c2e54: 687b ldr r3, [r7, #4] 80c2e56: 683a ldr r2, [r7, #0] 80c2e58: 635a str r2, [r3, #52] ; 0x34 } } return res; 80c2e5a: 7bfb ldrb r3, [r7, #15] } 80c2e5c: 4618 mov r0, r3 80c2e5e: 3710 adds r7, #16 80c2e60: 46bd mov sp, r7 80c2e62: bd80 pop {r7, pc} 080c2e64 : static FRESULT sync_fs ( /* FR_OK:succeeded, !=0:error */ FATFS* fs /* File system object */ ) { 80c2e64: b580 push {r7, lr} 80c2e66: b084 sub sp, #16 80c2e68: af00 add r7, sp, #0 80c2e6a: 6078 str r0, [r7, #4] FRESULT res; res = sync_window(fs); 80c2e6c: 6878 ldr r0, [r7, #4] 80c2e6e: f7ff ff88 bl 80c2d82 80c2e72: 4603 mov r3, r0 80c2e74: 73fb strb r3, [r7, #15] if (res == FR_OK) { 80c2e76: 7bfb ldrb r3, [r7, #15] 80c2e78: 2b00 cmp r3, #0 80c2e7a: d158 bne.n 80c2f2e /* Update FSInfo sector if needed */ if (fs->fs_type == FS_FAT32 && fs->fsi_flag == 1) { 80c2e7c: 687b ldr r3, [r7, #4] 80c2e7e: 781b ldrb r3, [r3, #0] 80c2e80: 2b03 cmp r3, #3 80c2e82: d148 bne.n 80c2f16 80c2e84: 687b ldr r3, [r7, #4] 80c2e86: 791b ldrb r3, [r3, #4] 80c2e88: 2b01 cmp r3, #1 80c2e8a: d144 bne.n 80c2f16 /* Create FSInfo structure */ mem_set(fs->win, 0, SS(fs)); 80c2e8c: 687b ldr r3, [r7, #4] 80c2e8e: 3338 adds r3, #56 ; 0x38 80c2e90: f44f 7200 mov.w r2, #512 ; 0x200 80c2e94: 2100 movs r1, #0 80c2e96: 4618 mov r0, r3 80c2e98: f7ff ff17 bl 80c2cca st_word(fs->win + BS_55AA, 0xAA55); 80c2e9c: 687b ldr r3, [r7, #4] 80c2e9e: 3338 adds r3, #56 ; 0x38 80c2ea0: f503 73ff add.w r3, r3, #510 ; 0x1fe 80c2ea4: f64a 2155 movw r1, #43605 ; 0xaa55 80c2ea8: 4618 mov r0, r3 80c2eaa: f7ff fe15 bl 80c2ad8 st_dword(fs->win + FSI_LeadSig, 0x41615252); 80c2eae: 687b ldr r3, [r7, #4] 80c2eb0: 3338 adds r3, #56 ; 0x38 80c2eb2: 4921 ldr r1, [pc, #132] ; (80c2f38 ) 80c2eb4: 4618 mov r0, r3 80c2eb6: f7ff fe2a bl 80c2b0e st_dword(fs->win + FSI_StrucSig, 0x61417272); 80c2eba: 687b ldr r3, [r7, #4] 80c2ebc: 3338 adds r3, #56 ; 0x38 80c2ebe: f503 73f2 add.w r3, r3, #484 ; 0x1e4 80c2ec2: 491e ldr r1, [pc, #120] ; (80c2f3c ) 80c2ec4: 4618 mov r0, r3 80c2ec6: f7ff fe22 bl 80c2b0e st_dword(fs->win + FSI_Free_Count, fs->free_clst); 80c2eca: 687b ldr r3, [r7, #4] 80c2ecc: 3338 adds r3, #56 ; 0x38 80c2ece: f503 72f4 add.w r2, r3, #488 ; 0x1e8 80c2ed2: 687b ldr r3, [r7, #4] 80c2ed4: 699b ldr r3, [r3, #24] 80c2ed6: 4619 mov r1, r3 80c2ed8: 4610 mov r0, r2 80c2eda: f7ff fe18 bl 80c2b0e st_dword(fs->win + FSI_Nxt_Free, fs->last_clst); 80c2ede: 687b ldr r3, [r7, #4] 80c2ee0: 3338 adds r3, #56 ; 0x38 80c2ee2: f503 72f6 add.w r2, r3, #492 ; 0x1ec 80c2ee6: 687b ldr r3, [r7, #4] 80c2ee8: 695b ldr r3, [r3, #20] 80c2eea: 4619 mov r1, r3 80c2eec: 4610 mov r0, r2 80c2eee: f7ff fe0e bl 80c2b0e /* Write it into the FSInfo sector */ fs->winsect = fs->volbase + 1; 80c2ef2: 687b ldr r3, [r7, #4] 80c2ef4: 6a5b ldr r3, [r3, #36] ; 0x24 80c2ef6: 1c5a adds r2, r3, #1 80c2ef8: 687b ldr r3, [r7, #4] 80c2efa: 635a str r2, [r3, #52] ; 0x34 disk_write(fs->drv, fs->win, fs->winsect, 1); 80c2efc: 687b ldr r3, [r7, #4] 80c2efe: 7858 ldrb r0, [r3, #1] 80c2f00: 687b ldr r3, [r7, #4] 80c2f02: f103 0138 add.w r1, r3, #56 ; 0x38 80c2f06: 687b ldr r3, [r7, #4] 80c2f08: 6b5a ldr r2, [r3, #52] ; 0x34 80c2f0a: 2301 movs r3, #1 80c2f0c: f7ff fcbc bl 80c2888 fs->fsi_flag = 0; 80c2f10: 687b ldr r3, [r7, #4] 80c2f12: 2200 movs r2, #0 80c2f14: 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; 80c2f16: 687b ldr r3, [r7, #4] 80c2f18: 785b ldrb r3, [r3, #1] 80c2f1a: 2200 movs r2, #0 80c2f1c: 2100 movs r1, #0 80c2f1e: 4618 mov r0, r3 80c2f20: f7ff fcd2 bl 80c28c8 80c2f24: 4603 mov r3, r0 80c2f26: 2b00 cmp r3, #0 80c2f28: d001 beq.n 80c2f2e 80c2f2a: 2301 movs r3, #1 80c2f2c: 73fb strb r3, [r7, #15] } return res; 80c2f2e: 7bfb ldrb r3, [r7, #15] } 80c2f30: 4618 mov r0, r3 80c2f32: 3710 adds r7, #16 80c2f34: 46bd mov sp, r7 80c2f36: bd80 pop {r7, pc} 80c2f38: 41615252 .word 0x41615252 80c2f3c: 61417272 .word 0x61417272 080c2f40 : static DWORD clust2sect ( /* !=0:Sector number, 0:Failed (invalid cluster#) */ FATFS* fs, /* File system object */ DWORD clst /* Cluster# to be converted */ ) { 80c2f40: b480 push {r7} 80c2f42: b083 sub sp, #12 80c2f44: af00 add r7, sp, #0 80c2f46: 6078 str r0, [r7, #4] 80c2f48: 6039 str r1, [r7, #0] clst -= 2; 80c2f4a: 683b ldr r3, [r7, #0] 80c2f4c: 3b02 subs r3, #2 80c2f4e: 603b str r3, [r7, #0] if (clst >= fs->n_fatent - 2) return 0; /* Invalid cluster# */ 80c2f50: 687b ldr r3, [r7, #4] 80c2f52: 69db ldr r3, [r3, #28] 80c2f54: 1e9a subs r2, r3, #2 80c2f56: 683b ldr r3, [r7, #0] 80c2f58: 429a cmp r2, r3 80c2f5a: d801 bhi.n 80c2f60 80c2f5c: 2300 movs r3, #0 80c2f5e: e008 b.n 80c2f72 return clst * fs->csize + fs->database; 80c2f60: 687b ldr r3, [r7, #4] 80c2f62: 895b ldrh r3, [r3, #10] 80c2f64: 461a mov r2, r3 80c2f66: 683b ldr r3, [r7, #0] 80c2f68: fb03 f202 mul.w r2, r3, r2 80c2f6c: 687b ldr r3, [r7, #4] 80c2f6e: 6b1b ldr r3, [r3, #48] ; 0x30 80c2f70: 4413 add r3, r2 } 80c2f72: 4618 mov r0, r3 80c2f74: 370c adds r7, #12 80c2f76: 46bd mov sp, r7 80c2f78: f85d 7b04 ldr.w r7, [sp], #4 80c2f7c: 4770 bx lr ... 080c2f80 : 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 */ ) { 80c2f80: b590 push {r4, r7, lr} 80c2f82: b089 sub sp, #36 ; 0x24 80c2f84: af00 add r7, sp, #0 80c2f86: 6078 str r0, [r7, #4] 80c2f88: 6039 str r1, [r7, #0] UINT wc, bc; DWORD val; FATFS *fs = obj->fs; 80c2f8a: 687a ldr r2, [r7, #4] 80c2f8c: 6812 ldr r2, [r2, #0] 80c2f8e: 61ba str r2, [r7, #24] if (clst < 2 || clst >= fs->n_fatent) { /* Check if in valid range */ 80c2f90: 683a ldr r2, [r7, #0] 80c2f92: 2a01 cmp r2, #1 80c2f94: d904 bls.n 80c2fa0 80c2f96: 69ba ldr r2, [r7, #24] 80c2f98: 69d1 ldr r1, [r2, #28] 80c2f9a: 683a ldr r2, [r7, #0] 80c2f9c: 4291 cmp r1, r2 80c2f9e: d802 bhi.n 80c2fa6 val = 1; /* Internal error */ 80c2fa0: 2301 movs r3, #1 80c2fa2: 61fb str r3, [r7, #28] 80c2fa4: e0fe b.n 80c31a4 } else { val = 0xFFFFFFFF; /* Default value falls on disk error */ 80c2fa6: f04f 32ff mov.w r2, #4294967295 80c2faa: 61fa str r2, [r7, #28] switch (fs->fs_type) { 80c2fac: 69ba ldr r2, [r7, #24] 80c2fae: 7812 ldrb r2, [r2, #0] 80c2fb0: 3a01 subs r2, #1 80c2fb2: 2a03 cmp r2, #3 80c2fb4: f200 80ea bhi.w 80c318c 80c2fb8: a101 add r1, pc, #4 ; (adr r1, 80c2fc0 ) 80c2fba: f851 f022 ldr.w pc, [r1, r2, lsl #2] 80c2fbe: bf00 nop 80c2fc0: 080c2fd1 .word 0x080c2fd1 80c2fc4: 080c3059 .word 0x080c3059 80c2fc8: 080c308f .word 0x080c308f 80c2fcc: 080c30c7 .word 0x080c30c7 case FS_FAT12 : bc = (UINT)clst; bc += bc / 2; 80c2fd0: 683b ldr r3, [r7, #0] 80c2fd2: 617b str r3, [r7, #20] 80c2fd4: 697b ldr r3, [r7, #20] 80c2fd6: 085b lsrs r3, r3, #1 80c2fd8: 697a ldr r2, [r7, #20] 80c2fda: 4413 add r3, r2 80c2fdc: 617b str r3, [r7, #20] if (move_window(fs, fs->fatbase + (bc / SS(fs))) != FR_OK) break; 80c2fde: 69bb ldr r3, [r7, #24] 80c2fe0: 6a9a ldr r2, [r3, #40] ; 0x28 80c2fe2: 697b ldr r3, [r7, #20] 80c2fe4: 0a5b lsrs r3, r3, #9 80c2fe6: 4413 add r3, r2 80c2fe8: 4619 mov r1, r3 80c2fea: 69b8 ldr r0, [r7, #24] 80c2fec: f7ff ff0d bl 80c2e0a 80c2ff0: 4603 mov r3, r0 80c2ff2: 2b00 cmp r3, #0 80c2ff4: f040 80cd bne.w 80c3192 wc = fs->win[bc++ % SS(fs)]; 80c2ff8: 697b ldr r3, [r7, #20] 80c2ffa: 1c5a adds r2, r3, #1 80c2ffc: 617a str r2, [r7, #20] 80c2ffe: f3c3 0308 ubfx r3, r3, #0, #9 80c3002: 69ba ldr r2, [r7, #24] 80c3004: 4413 add r3, r2 80c3006: f893 3038 ldrb.w r3, [r3, #56] ; 0x38 80c300a: 613b str r3, [r7, #16] if (move_window(fs, fs->fatbase + (bc / SS(fs))) != FR_OK) break; 80c300c: 69bb ldr r3, [r7, #24] 80c300e: 6a9a ldr r2, [r3, #40] ; 0x28 80c3010: 697b ldr r3, [r7, #20] 80c3012: 0a5b lsrs r3, r3, #9 80c3014: 4413 add r3, r2 80c3016: 4619 mov r1, r3 80c3018: 69b8 ldr r0, [r7, #24] 80c301a: f7ff fef6 bl 80c2e0a 80c301e: 4603 mov r3, r0 80c3020: 2b00 cmp r3, #0 80c3022: f040 80b8 bne.w 80c3196 wc |= fs->win[bc % SS(fs)] << 8; 80c3026: 697b ldr r3, [r7, #20] 80c3028: f3c3 0308 ubfx r3, r3, #0, #9 80c302c: 69ba ldr r2, [r7, #24] 80c302e: 4413 add r3, r2 80c3030: f893 3038 ldrb.w r3, [r3, #56] ; 0x38 80c3034: 021b lsls r3, r3, #8 80c3036: 461a mov r2, r3 80c3038: 693b ldr r3, [r7, #16] 80c303a: 4313 orrs r3, r2 80c303c: 613b str r3, [r7, #16] val = (clst & 1) ? (wc >> 4) : (wc & 0xFFF); 80c303e: 683b ldr r3, [r7, #0] 80c3040: f003 0301 and.w r3, r3, #1 80c3044: 2b00 cmp r3, #0 80c3046: d002 beq.n 80c304e 80c3048: 693b ldr r3, [r7, #16] 80c304a: 091b lsrs r3, r3, #4 80c304c: e002 b.n 80c3054 80c304e: 693b ldr r3, [r7, #16] 80c3050: f3c3 030b ubfx r3, r3, #0, #12 80c3054: 61fb str r3, [r7, #28] break; 80c3056: e0a5 b.n 80c31a4 case FS_FAT16 : if (move_window(fs, fs->fatbase + (clst / (SS(fs) / 2))) != FR_OK) break; 80c3058: 69bb ldr r3, [r7, #24] 80c305a: 6a9a ldr r2, [r3, #40] ; 0x28 80c305c: 683b ldr r3, [r7, #0] 80c305e: 0a1b lsrs r3, r3, #8 80c3060: 4413 add r3, r2 80c3062: 4619 mov r1, r3 80c3064: 69b8 ldr r0, [r7, #24] 80c3066: f7ff fed0 bl 80c2e0a 80c306a: 4603 mov r3, r0 80c306c: 2b00 cmp r3, #0 80c306e: f040 8094 bne.w 80c319a val = ld_word(fs->win + clst * 2 % SS(fs)); 80c3072: 69bb ldr r3, [r7, #24] 80c3074: f103 0238 add.w r2, r3, #56 ; 0x38 80c3078: 683b ldr r3, [r7, #0] 80c307a: 005b lsls r3, r3, #1 80c307c: f403 73ff and.w r3, r3, #510 ; 0x1fe 80c3080: 4413 add r3, r2 80c3082: 4618 mov r0, r3 80c3084: f7ff fc3e bl 80c2904 80c3088: 4603 mov r3, r0 80c308a: 61fb str r3, [r7, #28] break; 80c308c: e08a b.n 80c31a4 case FS_FAT32 : if (move_window(fs, fs->fatbase + (clst / (SS(fs) / 4))) != FR_OK) break; 80c308e: 69bb ldr r3, [r7, #24] 80c3090: 6a9a ldr r2, [r3, #40] ; 0x28 80c3092: 683b ldr r3, [r7, #0] 80c3094: 09db lsrs r3, r3, #7 80c3096: 4413 add r3, r2 80c3098: 4619 mov r1, r3 80c309a: 69b8 ldr r0, [r7, #24] 80c309c: f7ff feb5 bl 80c2e0a 80c30a0: 4603 mov r3, r0 80c30a2: 2b00 cmp r3, #0 80c30a4: d17b bne.n 80c319e val = ld_dword(fs->win + clst * 4 % SS(fs)) & 0x0FFFFFFF; 80c30a6: 69bb ldr r3, [r7, #24] 80c30a8: f103 0238 add.w r2, r3, #56 ; 0x38 80c30ac: 683b ldr r3, [r7, #0] 80c30ae: 009b lsls r3, r3, #2 80c30b0: f403 73fe and.w r3, r3, #508 ; 0x1fc 80c30b4: 4413 add r3, r2 80c30b6: 4618 mov r0, r3 80c30b8: f7ff fc3c bl 80c2934 80c30bc: 4603 mov r3, r0 80c30be: f023 4370 bic.w r3, r3, #4026531840 ; 0xf0000000 80c30c2: 61fb str r3, [r7, #28] break; 80c30c4: e06e b.n 80c31a4 #if _FS_EXFAT case FS_EXFAT : if (obj->objsize) { 80c30c6: 687a ldr r2, [r7, #4] 80c30c8: e9d2 1204 ldrd r1, r2, [r2, #16] 80c30cc: 430a orrs r2, r1 80c30ce: d05d beq.n 80c318c DWORD cofs = clst - obj->sclust; /* Offset from start cluster */ 80c30d0: 687a ldr r2, [r7, #4] 80c30d2: 6892 ldr r2, [r2, #8] 80c30d4: 6839 ldr r1, [r7, #0] 80c30d6: 1a8a subs r2, r1, r2 80c30d8: 60fa str r2, [r7, #12] DWORD clen = (DWORD)((obj->objsize - 1) / SS(fs)) / fs->csize; /* Number of clusters - 1 */ 80c30da: 687a ldr r2, [r7, #4] 80c30dc: e9d2 1204 ldrd r1, r2, [r2, #16] 80c30e0: f111 31ff adds.w r1, r1, #4294967295 80c30e4: f142 32ff adc.w r2, r2, #4294967295 80c30e8: 0a4b lsrs r3, r1, #9 80c30ea: ea43 53c2 orr.w r3, r3, r2, lsl #23 80c30ee: 0a54 lsrs r4, r2, #9 80c30f0: 461a mov r2, r3 80c30f2: 69bb ldr r3, [r7, #24] 80c30f4: 895b ldrh r3, [r3, #10] 80c30f6: fbb2 f3f3 udiv r3, r2, r3 80c30fa: 60bb str r3, [r7, #8] if (obj->stat == 2) { /* Is there no valid chain on the FAT? */ 80c30fc: 687b ldr r3, [r7, #4] 80c30fe: 79db ldrb r3, [r3, #7] 80c3100: 2b02 cmp r3, #2 80c3102: d10e bne.n 80c3122 if (cofs <= clen) { 80c3104: 68fa ldr r2, [r7, #12] 80c3106: 68bb ldr r3, [r7, #8] 80c3108: 429a cmp r2, r3 80c310a: d80a bhi.n 80c3122 val = (cofs == clen) ? 0x7FFFFFFF : clst + 1; /* Generate the value */ 80c310c: 68fa ldr r2, [r7, #12] 80c310e: 68bb ldr r3, [r7, #8] 80c3110: 429a cmp r2, r3 80c3112: d002 beq.n 80c311a 80c3114: 683b ldr r3, [r7, #0] 80c3116: 3301 adds r3, #1 80c3118: e001 b.n 80c311e 80c311a: f06f 4300 mvn.w r3, #2147483648 ; 0x80000000 80c311e: 61fb str r3, [r7, #28] break; 80c3120: e040 b.n 80c31a4 } } if (obj->stat == 3 && cofs < obj->n_cont) { /* Is it in the 1st fragment? */ 80c3122: 687b ldr r3, [r7, #4] 80c3124: 79db ldrb r3, [r3, #7] 80c3126: 2b03 cmp r3, #3 80c3128: d108 bne.n 80c313c 80c312a: 687b ldr r3, [r7, #4] 80c312c: 699a ldr r2, [r3, #24] 80c312e: 68fb ldr r3, [r7, #12] 80c3130: 429a cmp r2, r3 80c3132: d903 bls.n 80c313c val = clst + 1; /* Generate the value */ 80c3134: 683b ldr r3, [r7, #0] 80c3136: 3301 adds r3, #1 80c3138: 61fb str r3, [r7, #28] break; 80c313a: e033 b.n 80c31a4 } if (obj->stat != 2) { /* Get value from FAT if FAT chain is valid */ 80c313c: 687b ldr r3, [r7, #4] 80c313e: 79db ldrb r3, [r3, #7] 80c3140: 2b02 cmp r3, #2 80c3142: d023 beq.n 80c318c if (obj->n_frag != 0) { /* Is it on the growing edge? */ 80c3144: 687b ldr r3, [r7, #4] 80c3146: 69db ldr r3, [r3, #28] 80c3148: 2b00 cmp r3, #0 80c314a: d003 beq.n 80c3154 val = 0x7FFFFFFF; /* Generate EOC */ 80c314c: f06f 4300 mvn.w r3, #2147483648 ; 0x80000000 80c3150: 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; 80c3152: e027 b.n 80c31a4 if (move_window(fs, fs->fatbase + (clst / (SS(fs) / 4))) != FR_OK) break; 80c3154: 69bb ldr r3, [r7, #24] 80c3156: 6a9a ldr r2, [r3, #40] ; 0x28 80c3158: 683b ldr r3, [r7, #0] 80c315a: 09db lsrs r3, r3, #7 80c315c: 4413 add r3, r2 80c315e: 4619 mov r1, r3 80c3160: 69b8 ldr r0, [r7, #24] 80c3162: f7ff fe52 bl 80c2e0a 80c3166: 4603 mov r3, r0 80c3168: 2b00 cmp r3, #0 80c316a: d11a bne.n 80c31a2 val = ld_dword(fs->win + clst * 4 % SS(fs)) & 0x7FFFFFFF; 80c316c: 69bb ldr r3, [r7, #24] 80c316e: f103 0238 add.w r2, r3, #56 ; 0x38 80c3172: 683b ldr r3, [r7, #0] 80c3174: 009b lsls r3, r3, #2 80c3176: f403 73fe and.w r3, r3, #508 ; 0x1fc 80c317a: 4413 add r3, r2 80c317c: 4618 mov r0, r3 80c317e: f7ff fbd9 bl 80c2934 80c3182: 4603 mov r3, r0 80c3184: f023 4300 bic.w r3, r3, #2147483648 ; 0x80000000 80c3188: 61fb str r3, [r7, #28] break; 80c318a: e00b b.n 80c31a4 } } /* go to default */ #endif default: val = 1; /* Internal error */ 80c318c: 2301 movs r3, #1 80c318e: 61fb str r3, [r7, #28] 80c3190: e008 b.n 80c31a4 if (move_window(fs, fs->fatbase + (bc / SS(fs))) != FR_OK) break; 80c3192: bf00 nop 80c3194: e006 b.n 80c31a4 if (move_window(fs, fs->fatbase + (bc / SS(fs))) != FR_OK) break; 80c3196: bf00 nop 80c3198: e004 b.n 80c31a4 if (move_window(fs, fs->fatbase + (clst / (SS(fs) / 2))) != FR_OK) break; 80c319a: bf00 nop 80c319c: e002 b.n 80c31a4 if (move_window(fs, fs->fatbase + (clst / (SS(fs) / 4))) != FR_OK) break; 80c319e: bf00 nop 80c31a0: e000 b.n 80c31a4 if (move_window(fs, fs->fatbase + (clst / (SS(fs) / 4))) != FR_OK) break; 80c31a2: bf00 nop } } return val; 80c31a4: 69fb ldr r3, [r7, #28] } 80c31a6: 4618 mov r0, r3 80c31a8: 3724 adds r7, #36 ; 0x24 80c31aa: 46bd mov sp, r7 80c31ac: bd90 pop {r4, r7, pc} 80c31ae: bf00 nop 080c31b0 : 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 */ ) { 80c31b0: b590 push {r4, r7, lr} 80c31b2: b089 sub sp, #36 ; 0x24 80c31b4: af00 add r7, sp, #0 80c31b6: 60f8 str r0, [r7, #12] 80c31b8: 60b9 str r1, [r7, #8] 80c31ba: 607a str r2, [r7, #4] UINT bc; BYTE *p; FRESULT res = FR_INT_ERR; 80c31bc: 2302 movs r3, #2 80c31be: 77fb strb r3, [r7, #31] if (clst >= 2 && clst < fs->n_fatent) { /* Check if in valid range */ 80c31c0: 68bb ldr r3, [r7, #8] 80c31c2: 2b01 cmp r3, #1 80c31c4: f240 80e2 bls.w 80c338c 80c31c8: 68fb ldr r3, [r7, #12] 80c31ca: 69da ldr r2, [r3, #28] 80c31cc: 68bb ldr r3, [r7, #8] 80c31ce: 429a cmp r2, r3 80c31d0: f240 80dc bls.w 80c338c switch (fs->fs_type) { 80c31d4: 68fb ldr r3, [r7, #12] 80c31d6: 781b ldrb r3, [r3, #0] 80c31d8: 3b01 subs r3, #1 80c31da: 2b03 cmp r3, #3 80c31dc: f200 80d6 bhi.w 80c338c 80c31e0: a201 add r2, pc, #4 ; (adr r2, 80c31e8 ) 80c31e2: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80c31e6: bf00 nop 80c31e8: 080c31f9 .word 0x080c31f9 80c31ec: 080c32d5 .word 0x080c32d5 80c31f0: 080c3315 .word 0x080c3315 80c31f4: 080c3315 .word 0x080c3315 case FS_FAT12 : /* Bitfield items */ bc = (UINT)clst; bc += bc / 2; 80c31f8: 68bb ldr r3, [r7, #8] 80c31fa: 61bb str r3, [r7, #24] 80c31fc: 69bb ldr r3, [r7, #24] 80c31fe: 085b lsrs r3, r3, #1 80c3200: 69ba ldr r2, [r7, #24] 80c3202: 4413 add r3, r2 80c3204: 61bb str r3, [r7, #24] res = move_window(fs, fs->fatbase + (bc / SS(fs))); 80c3206: 68fb ldr r3, [r7, #12] 80c3208: 6a9a ldr r2, [r3, #40] ; 0x28 80c320a: 69bb ldr r3, [r7, #24] 80c320c: 0a5b lsrs r3, r3, #9 80c320e: 4413 add r3, r2 80c3210: 4619 mov r1, r3 80c3212: 68f8 ldr r0, [r7, #12] 80c3214: f7ff fdf9 bl 80c2e0a 80c3218: 4603 mov r3, r0 80c321a: 77fb strb r3, [r7, #31] if (res != FR_OK) break; 80c321c: 7ffb ldrb r3, [r7, #31] 80c321e: 2b00 cmp r3, #0 80c3220: f040 80ad bne.w 80c337e p = fs->win + bc++ % SS(fs); 80c3224: 68fb ldr r3, [r7, #12] 80c3226: f103 0238 add.w r2, r3, #56 ; 0x38 80c322a: 69bb ldr r3, [r7, #24] 80c322c: 1c59 adds r1, r3, #1 80c322e: 61b9 str r1, [r7, #24] 80c3230: f3c3 0308 ubfx r3, r3, #0, #9 80c3234: 4413 add r3, r2 80c3236: 617b str r3, [r7, #20] *p = (clst & 1) ? ((*p & 0x0F) | ((BYTE)val << 4)) : (BYTE)val; 80c3238: 68bb ldr r3, [r7, #8] 80c323a: f003 0301 and.w r3, r3, #1 80c323e: 2b00 cmp r3, #0 80c3240: d00d beq.n 80c325e 80c3242: 697b ldr r3, [r7, #20] 80c3244: 781b ldrb r3, [r3, #0] 80c3246: b25b sxtb r3, r3 80c3248: f003 030f and.w r3, r3, #15 80c324c: b25a sxtb r2, r3 80c324e: 687b ldr r3, [r7, #4] 80c3250: b2db uxtb r3, r3 80c3252: 011b lsls r3, r3, #4 80c3254: b25b sxtb r3, r3 80c3256: 4313 orrs r3, r2 80c3258: b25b sxtb r3, r3 80c325a: b2db uxtb r3, r3 80c325c: e001 b.n 80c3262 80c325e: 687b ldr r3, [r7, #4] 80c3260: b2db uxtb r3, r3 80c3262: 697a ldr r2, [r7, #20] 80c3264: 7013 strb r3, [r2, #0] fs->wflag = 1; 80c3266: 68fb ldr r3, [r7, #12] 80c3268: 2201 movs r2, #1 80c326a: 70da strb r2, [r3, #3] res = move_window(fs, fs->fatbase + (bc / SS(fs))); 80c326c: 68fb ldr r3, [r7, #12] 80c326e: 6a9a ldr r2, [r3, #40] ; 0x28 80c3270: 69bb ldr r3, [r7, #24] 80c3272: 0a5b lsrs r3, r3, #9 80c3274: 4413 add r3, r2 80c3276: 4619 mov r1, r3 80c3278: 68f8 ldr r0, [r7, #12] 80c327a: f7ff fdc6 bl 80c2e0a 80c327e: 4603 mov r3, r0 80c3280: 77fb strb r3, [r7, #31] if (res != FR_OK) break; 80c3282: 7ffb ldrb r3, [r7, #31] 80c3284: 2b00 cmp r3, #0 80c3286: d17c bne.n 80c3382 p = fs->win + bc % SS(fs); 80c3288: 68fb ldr r3, [r7, #12] 80c328a: f103 0238 add.w r2, r3, #56 ; 0x38 80c328e: 69bb ldr r3, [r7, #24] 80c3290: f3c3 0308 ubfx r3, r3, #0, #9 80c3294: 4413 add r3, r2 80c3296: 617b str r3, [r7, #20] *p = (clst & 1) ? (BYTE)(val >> 4) : ((*p & 0xF0) | ((BYTE)(val >> 8) & 0x0F)); 80c3298: 68bb ldr r3, [r7, #8] 80c329a: f003 0301 and.w r3, r3, #1 80c329e: 2b00 cmp r3, #0 80c32a0: d003 beq.n 80c32aa 80c32a2: 687b ldr r3, [r7, #4] 80c32a4: 091b lsrs r3, r3, #4 80c32a6: b2db uxtb r3, r3 80c32a8: e00e b.n 80c32c8 80c32aa: 697b ldr r3, [r7, #20] 80c32ac: 781b ldrb r3, [r3, #0] 80c32ae: b25b sxtb r3, r3 80c32b0: f023 030f bic.w r3, r3, #15 80c32b4: b25a sxtb r2, r3 80c32b6: 687b ldr r3, [r7, #4] 80c32b8: 0a1b lsrs r3, r3, #8 80c32ba: b25b sxtb r3, r3 80c32bc: f003 030f and.w r3, r3, #15 80c32c0: b25b sxtb r3, r3 80c32c2: 4313 orrs r3, r2 80c32c4: b25b sxtb r3, r3 80c32c6: b2db uxtb r3, r3 80c32c8: 697a ldr r2, [r7, #20] 80c32ca: 7013 strb r3, [r2, #0] fs->wflag = 1; 80c32cc: 68fb ldr r3, [r7, #12] 80c32ce: 2201 movs r2, #1 80c32d0: 70da strb r2, [r3, #3] break; 80c32d2: e05b b.n 80c338c case FS_FAT16 : /* WORD aligned items */ res = move_window(fs, fs->fatbase + (clst / (SS(fs) / 2))); 80c32d4: 68fb ldr r3, [r7, #12] 80c32d6: 6a9a ldr r2, [r3, #40] ; 0x28 80c32d8: 68bb ldr r3, [r7, #8] 80c32da: 0a1b lsrs r3, r3, #8 80c32dc: 4413 add r3, r2 80c32de: 4619 mov r1, r3 80c32e0: 68f8 ldr r0, [r7, #12] 80c32e2: f7ff fd92 bl 80c2e0a 80c32e6: 4603 mov r3, r0 80c32e8: 77fb strb r3, [r7, #31] if (res != FR_OK) break; 80c32ea: 7ffb ldrb r3, [r7, #31] 80c32ec: 2b00 cmp r3, #0 80c32ee: d14a bne.n 80c3386 st_word(fs->win + clst * 2 % SS(fs), (WORD)val); 80c32f0: 68fb ldr r3, [r7, #12] 80c32f2: f103 0238 add.w r2, r3, #56 ; 0x38 80c32f6: 68bb ldr r3, [r7, #8] 80c32f8: 005b lsls r3, r3, #1 80c32fa: f403 73ff and.w r3, r3, #510 ; 0x1fe 80c32fe: 4413 add r3, r2 80c3300: 687a ldr r2, [r7, #4] 80c3302: b292 uxth r2, r2 80c3304: 4611 mov r1, r2 80c3306: 4618 mov r0, r3 80c3308: f7ff fbe6 bl 80c2ad8 fs->wflag = 1; 80c330c: 68fb ldr r3, [r7, #12] 80c330e: 2201 movs r2, #1 80c3310: 70da strb r2, [r3, #3] break; 80c3312: e03b b.n 80c338c case FS_FAT32 : /* DWORD aligned items */ #if _FS_EXFAT case FS_EXFAT : #endif res = move_window(fs, fs->fatbase + (clst / (SS(fs) / 4))); 80c3314: 68fb ldr r3, [r7, #12] 80c3316: 6a9a ldr r2, [r3, #40] ; 0x28 80c3318: 68bb ldr r3, [r7, #8] 80c331a: 09db lsrs r3, r3, #7 80c331c: 4413 add r3, r2 80c331e: 4619 mov r1, r3 80c3320: 68f8 ldr r0, [r7, #12] 80c3322: f7ff fd72 bl 80c2e0a 80c3326: 4603 mov r3, r0 80c3328: 77fb strb r3, [r7, #31] if (res != FR_OK) break; 80c332a: 7ffb ldrb r3, [r7, #31] 80c332c: 2b00 cmp r3, #0 80c332e: d12c bne.n 80c338a if (!_FS_EXFAT || fs->fs_type != FS_EXFAT) { 80c3330: 68fb ldr r3, [r7, #12] 80c3332: 781b ldrb r3, [r3, #0] 80c3334: 2b04 cmp r3, #4 80c3336: d012 beq.n 80c335e val = (val & 0x0FFFFFFF) | (ld_dword(fs->win + clst * 4 % SS(fs)) & 0xF0000000); 80c3338: 687b ldr r3, [r7, #4] 80c333a: f023 4470 bic.w r4, r3, #4026531840 ; 0xf0000000 80c333e: 68fb ldr r3, [r7, #12] 80c3340: f103 0238 add.w r2, r3, #56 ; 0x38 80c3344: 68bb ldr r3, [r7, #8] 80c3346: 009b lsls r3, r3, #2 80c3348: f403 73fe and.w r3, r3, #508 ; 0x1fc 80c334c: 4413 add r3, r2 80c334e: 4618 mov r0, r3 80c3350: f7ff faf0 bl 80c2934 80c3354: 4603 mov r3, r0 80c3356: f003 4370 and.w r3, r3, #4026531840 ; 0xf0000000 80c335a: 4323 orrs r3, r4 80c335c: 607b str r3, [r7, #4] } st_dword(fs->win + clst * 4 % SS(fs), val); 80c335e: 68fb ldr r3, [r7, #12] 80c3360: f103 0238 add.w r2, r3, #56 ; 0x38 80c3364: 68bb ldr r3, [r7, #8] 80c3366: 009b lsls r3, r3, #2 80c3368: f403 73fe and.w r3, r3, #508 ; 0x1fc 80c336c: 4413 add r3, r2 80c336e: 6879 ldr r1, [r7, #4] 80c3370: 4618 mov r0, r3 80c3372: f7ff fbcc bl 80c2b0e fs->wflag = 1; 80c3376: 68fb ldr r3, [r7, #12] 80c3378: 2201 movs r2, #1 80c337a: 70da strb r2, [r3, #3] break; 80c337c: e006 b.n 80c338c if (res != FR_OK) break; 80c337e: bf00 nop 80c3380: e004 b.n 80c338c if (res != FR_OK) break; 80c3382: bf00 nop 80c3384: e002 b.n 80c338c if (res != FR_OK) break; 80c3386: bf00 nop 80c3388: e000 b.n 80c338c if (res != FR_OK) break; 80c338a: bf00 nop } } return res; 80c338c: 7ffb ldrb r3, [r7, #31] } 80c338e: 4618 mov r0, r3 80c3390: 3724 adds r7, #36 ; 0x24 80c3392: 46bd mov sp, r7 80c3394: bd90 pop {r4, r7, pc} 80c3396: bf00 nop 080c3398 : 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..) */ ) { 80c3398: b580 push {r7, lr} 80c339a: b08a sub sp, #40 ; 0x28 80c339c: af00 add r7, sp, #0 80c339e: 60f8 str r0, [r7, #12] 80c33a0: 60b9 str r1, [r7, #8] 80c33a2: 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 */ 80c33a4: 68bb ldr r3, [r7, #8] 80c33a6: 3b02 subs r3, #2 80c33a8: 60bb str r3, [r7, #8] if (clst >= fs->n_fatent - 2) clst = 0; 80c33aa: 68fb ldr r3, [r7, #12] 80c33ac: 69db ldr r3, [r3, #28] 80c33ae: 1e9a subs r2, r3, #2 80c33b0: 68bb ldr r3, [r7, #8] 80c33b2: 429a cmp r2, r3 80c33b4: d801 bhi.n 80c33ba 80c33b6: 2300 movs r3, #0 80c33b8: 60bb str r3, [r7, #8] scl = val = clst; ctr = 0; 80c33ba: 68bb ldr r3, [r7, #8] 80c33bc: 61fb str r3, [r7, #28] 80c33be: 69fb ldr r3, [r7, #28] 80c33c0: 61bb str r3, [r7, #24] 80c33c2: 2300 movs r3, #0 80c33c4: 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) */ 80c33c6: 68fb ldr r3, [r7, #12] 80c33c8: 6b1a ldr r2, [r3, #48] ; 0x30 80c33ca: 69fb ldr r3, [r7, #28] 80c33cc: 0b1b lsrs r3, r3, #12 80c33ce: 4413 add r3, r2 80c33d0: 4619 mov r1, r3 80c33d2: 68f8 ldr r0, [r7, #12] 80c33d4: f7ff fd19 bl 80c2e0a 80c33d8: 4603 mov r3, r0 80c33da: 2b00 cmp r3, #0 80c33dc: d002 beq.n 80c33e4 80c33de: f04f 33ff mov.w r3, #4294967295 80c33e2: e051 b.n 80c3488 i = val / 8 % SS(fs); bm = 1 << (val % 8); 80c33e4: 69fb ldr r3, [r7, #28] 80c33e6: 08db lsrs r3, r3, #3 80c33e8: f3c3 0308 ubfx r3, r3, #0, #9 80c33ec: 623b str r3, [r7, #32] 80c33ee: 69fb ldr r3, [r7, #28] 80c33f0: f003 0307 and.w r3, r3, #7 80c33f4: 2201 movs r2, #1 80c33f6: fa02 f303 lsl.w r3, r2, r3 80c33fa: f887 3027 strb.w r3, [r7, #39] ; 0x27 do { do { bv = fs->win[i] & bm; bm <<= 1; /* Get bit value */ 80c33fe: 68fa ldr r2, [r7, #12] 80c3400: 6a3b ldr r3, [r7, #32] 80c3402: 4413 add r3, r2 80c3404: 3338 adds r3, #56 ; 0x38 80c3406: 781a ldrb r2, [r3, #0] 80c3408: f897 3027 ldrb.w r3, [r7, #39] ; 0x27 80c340c: 4013 ands r3, r2 80c340e: 74fb strb r3, [r7, #19] 80c3410: f897 3027 ldrb.w r3, [r7, #39] ; 0x27 80c3414: 005b lsls r3, r3, #1 80c3416: f887 3027 strb.w r3, [r7, #39] ; 0x27 if (++val >= fs->n_fatent - 2) { /* Next cluster (with wrap-around) */ 80c341a: 69fb ldr r3, [r7, #28] 80c341c: 3301 adds r3, #1 80c341e: 61fb str r3, [r7, #28] 80c3420: 68fb ldr r3, [r7, #12] 80c3422: 69db ldr r3, [r3, #28] 80c3424: 3b02 subs r3, #2 80c3426: 69fa ldr r2, [r7, #28] 80c3428: 429a cmp r2, r3 80c342a: d307 bcc.n 80c343c val = 0; bm = 0; i = SS(fs); 80c342c: 2300 movs r3, #0 80c342e: 61fb str r3, [r7, #28] 80c3430: 2300 movs r3, #0 80c3432: f887 3027 strb.w r3, [r7, #39] ; 0x27 80c3436: f44f 7300 mov.w r3, #512 ; 0x200 80c343a: 623b str r3, [r7, #32] } if (!bv) { /* Is it a free cluster? */ 80c343c: 7cfb ldrb r3, [r7, #19] 80c343e: 2b00 cmp r3, #0 80c3440: d109 bne.n 80c3456 if (++ctr == ncl) return scl + 2; /* Check if run length is sufficient for required */ 80c3442: 697b ldr r3, [r7, #20] 80c3444: 3301 adds r3, #1 80c3446: 617b str r3, [r7, #20] 80c3448: 697a ldr r2, [r7, #20] 80c344a: 687b ldr r3, [r7, #4] 80c344c: 429a cmp r2, r3 80c344e: d106 bne.n 80c345e 80c3450: 69bb ldr r3, [r7, #24] 80c3452: 3302 adds r3, #2 80c3454: e018 b.n 80c3488 } else { scl = val; ctr = 0; /* Encountered a cluster in-use, restart to scan */ 80c3456: 69fb ldr r3, [r7, #28] 80c3458: 61bb str r3, [r7, #24] 80c345a: 2300 movs r3, #0 80c345c: 617b str r3, [r7, #20] } if (val == clst) return 0; /* All cluster scanned? */ 80c345e: 69fa ldr r2, [r7, #28] 80c3460: 68bb ldr r3, [r7, #8] 80c3462: 429a cmp r2, r3 80c3464: d101 bne.n 80c346a 80c3466: 2300 movs r3, #0 80c3468: e00e b.n 80c3488 } while (bm); 80c346a: f897 3027 ldrb.w r3, [r7, #39] ; 0x27 80c346e: 2b00 cmp r3, #0 80c3470: d1c5 bne.n 80c33fe bm = 1; 80c3472: 2301 movs r3, #1 80c3474: f887 3027 strb.w r3, [r7, #39] ; 0x27 } while (++i < SS(fs)); 80c3478: 6a3b ldr r3, [r7, #32] 80c347a: 3301 adds r3, #1 80c347c: 623b str r3, [r7, #32] 80c347e: 6a3b ldr r3, [r7, #32] 80c3480: f5b3 7f00 cmp.w r3, #512 ; 0x200 80c3484: d3bb bcc.n 80c33fe if (move_window(fs, fs->database + val / 8 / SS(fs)) != FR_OK) return 0xFFFFFFFF; /* (assuming bitmap is located top of the cluster heap) */ 80c3486: e79e b.n 80c33c6 } } 80c3488: 4618 mov r0, r3 80c348a: 3728 adds r7, #40 ; 0x28 80c348c: 46bd mov sp, r7 80c348e: bd80 pop {r7, pc} 080c3490 : 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) */ ) { 80c3490: b580 push {r7, lr} 80c3492: b088 sub sp, #32 80c3494: af00 add r7, sp, #0 80c3496: 60f8 str r0, [r7, #12] 80c3498: 60b9 str r1, [r7, #8] 80c349a: 607a str r2, [r7, #4] 80c349c: 603b str r3, [r7, #0] BYTE bm; UINT i; DWORD sect; clst -= 2; /* The first bit corresponds to cluster #2 */ 80c349e: 68bb ldr r3, [r7, #8] 80c34a0: 3b02 subs r3, #2 80c34a2: 60bb str r3, [r7, #8] sect = fs->database + clst / 8 / SS(fs); /* Sector address (assuming bitmap is located top of the cluster heap) */ 80c34a4: 68fb ldr r3, [r7, #12] 80c34a6: 6b1a ldr r2, [r3, #48] ; 0x30 80c34a8: 68bb ldr r3, [r7, #8] 80c34aa: 0b1b lsrs r3, r3, #12 80c34ac: 4413 add r3, r2 80c34ae: 617b str r3, [r7, #20] i = clst / 8 % SS(fs); /* Byte offset in the sector */ 80c34b0: 68bb ldr r3, [r7, #8] 80c34b2: 08db lsrs r3, r3, #3 80c34b4: f3c3 0308 ubfx r3, r3, #0, #9 80c34b8: 61bb str r3, [r7, #24] bm = 1 << (clst % 8); /* Bit mask in the byte */ 80c34ba: 68bb ldr r3, [r7, #8] 80c34bc: f003 0307 and.w r3, r3, #7 80c34c0: 2201 movs r2, #1 80c34c2: fa02 f303 lsl.w r3, r2, r3 80c34c6: 77fb strb r3, [r7, #31] for (;;) { if (move_window(fs, sect++) != FR_OK) return FR_DISK_ERR; 80c34c8: 697b ldr r3, [r7, #20] 80c34ca: 1c5a adds r2, r3, #1 80c34cc: 617a str r2, [r7, #20] 80c34ce: 4619 mov r1, r3 80c34d0: 68f8 ldr r0, [r7, #12] 80c34d2: f7ff fc9a bl 80c2e0a 80c34d6: 4603 mov r3, r0 80c34d8: 2b00 cmp r3, #0 80c34da: d001 beq.n 80c34e0 80c34dc: 2301 movs r3, #1 80c34de: e03d b.n 80c355c do { do { if (bv == (int)((fs->win[i] & bm) != 0)) return FR_INT_ERR; /* Is the bit expected value? */ 80c34e0: 68fa ldr r2, [r7, #12] 80c34e2: 69bb ldr r3, [r7, #24] 80c34e4: 4413 add r3, r2 80c34e6: 3338 adds r3, #56 ; 0x38 80c34e8: 781a ldrb r2, [r3, #0] 80c34ea: 7ffb ldrb r3, [r7, #31] 80c34ec: 4013 ands r3, r2 80c34ee: b2db uxtb r3, r3 80c34f0: 2b00 cmp r3, #0 80c34f2: bf14 ite ne 80c34f4: 2301 movne r3, #1 80c34f6: 2300 moveq r3, #0 80c34f8: b2db uxtb r3, r3 80c34fa: 461a mov r2, r3 80c34fc: 683b ldr r3, [r7, #0] 80c34fe: 429a cmp r2, r3 80c3500: d101 bne.n 80c3506 80c3502: 2302 movs r3, #2 80c3504: e02a b.n 80c355c fs->win[i] ^= bm; /* Flip the bit */ 80c3506: 68fa ldr r2, [r7, #12] 80c3508: 69bb ldr r3, [r7, #24] 80c350a: 4413 add r3, r2 80c350c: 3338 adds r3, #56 ; 0x38 80c350e: 781a ldrb r2, [r3, #0] 80c3510: 7ffb ldrb r3, [r7, #31] 80c3512: 4053 eors r3, r2 80c3514: b2d9 uxtb r1, r3 80c3516: 68fa ldr r2, [r7, #12] 80c3518: 69bb ldr r3, [r7, #24] 80c351a: 4413 add r3, r2 80c351c: 3338 adds r3, #56 ; 0x38 80c351e: 460a mov r2, r1 80c3520: 701a strb r2, [r3, #0] fs->wflag = 1; 80c3522: 68fb ldr r3, [r7, #12] 80c3524: 2201 movs r2, #1 80c3526: 70da strb r2, [r3, #3] if (--ncl == 0) return FR_OK; /* All bits processed? */ 80c3528: 687b ldr r3, [r7, #4] 80c352a: 3b01 subs r3, #1 80c352c: 607b str r3, [r7, #4] 80c352e: 687b ldr r3, [r7, #4] 80c3530: 2b00 cmp r3, #0 80c3532: d101 bne.n 80c3538 80c3534: 2300 movs r3, #0 80c3536: e011 b.n 80c355c } while (bm <<= 1); /* Next bit */ 80c3538: 7ffb ldrb r3, [r7, #31] 80c353a: 005b lsls r3, r3, #1 80c353c: 77fb strb r3, [r7, #31] 80c353e: 7ffb ldrb r3, [r7, #31] 80c3540: 2b00 cmp r3, #0 80c3542: d1cd bne.n 80c34e0 bm = 1; 80c3544: 2301 movs r3, #1 80c3546: 77fb strb r3, [r7, #31] } while (++i < SS(fs)); /* Next byte */ 80c3548: 69bb ldr r3, [r7, #24] 80c354a: 3301 adds r3, #1 80c354c: 61bb str r3, [r7, #24] 80c354e: 69bb ldr r3, [r7, #24] 80c3550: f5b3 7f00 cmp.w r3, #512 ; 0x200 80c3554: d3c4 bcc.n 80c34e0 i = 0; 80c3556: 2300 movs r3, #0 80c3558: 61bb str r3, [r7, #24] if (move_window(fs, sect++) != FR_OK) return FR_DISK_ERR; 80c355a: e7b5 b.n 80c34c8 } } 80c355c: 4618 mov r0, r3 80c355e: 3720 adds r7, #32 80c3560: 46bd mov sp, r7 80c3562: bd80 pop {r7, pc} 080c3564 : static FRESULT fill_first_frag ( _FDID* obj /* Pointer to the corresponding object */ ) { 80c3564: b580 push {r7, lr} 80c3566: b086 sub sp, #24 80c3568: af00 add r7, sp, #0 80c356a: 6078 str r0, [r7, #4] FRESULT res; DWORD cl, n; if (obj->stat == 3) { /* Has the object been changed 'fragmented'? */ 80c356c: 687b ldr r3, [r7, #4] 80c356e: 79db ldrb r3, [r3, #7] 80c3570: 2b03 cmp r3, #3 80c3572: d121 bne.n 80c35b8 for (cl = obj->sclust, n = obj->n_cont; n; cl++, n--) { /* Create cluster chain on the FAT */ 80c3574: 687b ldr r3, [r7, #4] 80c3576: 689b ldr r3, [r3, #8] 80c3578: 617b str r3, [r7, #20] 80c357a: 687b ldr r3, [r7, #4] 80c357c: 699b ldr r3, [r3, #24] 80c357e: 613b str r3, [r7, #16] 80c3580: e014 b.n 80c35ac res = put_fat(obj->fs, cl, cl + 1); 80c3582: 687b ldr r3, [r7, #4] 80c3584: 6818 ldr r0, [r3, #0] 80c3586: 697b ldr r3, [r7, #20] 80c3588: 3301 adds r3, #1 80c358a: 461a mov r2, r3 80c358c: 6979 ldr r1, [r7, #20] 80c358e: f7ff fe0f bl 80c31b0 80c3592: 4603 mov r3, r0 80c3594: 73fb strb r3, [r7, #15] if (res != FR_OK) return res; 80c3596: 7bfb ldrb r3, [r7, #15] 80c3598: 2b00 cmp r3, #0 80c359a: d001 beq.n 80c35a0 80c359c: 7bfb ldrb r3, [r7, #15] 80c359e: e00c b.n 80c35ba for (cl = obj->sclust, n = obj->n_cont; n; cl++, n--) { /* Create cluster chain on the FAT */ 80c35a0: 697b ldr r3, [r7, #20] 80c35a2: 3301 adds r3, #1 80c35a4: 617b str r3, [r7, #20] 80c35a6: 693b ldr r3, [r7, #16] 80c35a8: 3b01 subs r3, #1 80c35aa: 613b str r3, [r7, #16] 80c35ac: 693b ldr r3, [r7, #16] 80c35ae: 2b00 cmp r3, #0 80c35b0: d1e7 bne.n 80c3582 } obj->stat = 0; /* Change status 'FAT chain is valid' */ 80c35b2: 687b ldr r3, [r7, #4] 80c35b4: 2200 movs r2, #0 80c35b6: 71da strb r2, [r3, #7] } return FR_OK; 80c35b8: 2300 movs r3, #0 } 80c35ba: 4618 mov r0, r3 80c35bc: 3718 adds r7, #24 80c35be: 46bd mov sp, r7 80c35c0: bd80 pop {r7, pc} 080c35c2 : 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 */ ) { 80c35c2: b580 push {r7, lr} 80c35c4: b086 sub sp, #24 80c35c6: af00 add r7, sp, #0 80c35c8: 60f8 str r0, [r7, #12] 80c35ca: 60b9 str r1, [r7, #8] 80c35cc: 607a str r2, [r7, #4] FRESULT res; while (obj->n_frag > 0) { /* Create the last chain on the FAT */ 80c35ce: e020 b.n 80c3612 res = put_fat(obj->fs, lcl - obj->n_frag + 1, (obj->n_frag > 1) ? lcl - obj->n_frag + 2 : term); 80c35d0: 68fb ldr r3, [r7, #12] 80c35d2: 6818 ldr r0, [r3, #0] 80c35d4: 68fb ldr r3, [r7, #12] 80c35d6: 69db ldr r3, [r3, #28] 80c35d8: 68ba ldr r2, [r7, #8] 80c35da: 1ad3 subs r3, r2, r3 80c35dc: 1c59 adds r1, r3, #1 80c35de: 68fb ldr r3, [r7, #12] 80c35e0: 69db ldr r3, [r3, #28] 80c35e2: 2b01 cmp r3, #1 80c35e4: d905 bls.n 80c35f2 80c35e6: 68fb ldr r3, [r7, #12] 80c35e8: 69db ldr r3, [r3, #28] 80c35ea: 68ba ldr r2, [r7, #8] 80c35ec: 1ad3 subs r3, r2, r3 80c35ee: 3302 adds r3, #2 80c35f0: e000 b.n 80c35f4 80c35f2: 687b ldr r3, [r7, #4] 80c35f4: 461a mov r2, r3 80c35f6: f7ff fddb bl 80c31b0 80c35fa: 4603 mov r3, r0 80c35fc: 75fb strb r3, [r7, #23] if (res != FR_OK) return res; 80c35fe: 7dfb ldrb r3, [r7, #23] 80c3600: 2b00 cmp r3, #0 80c3602: d001 beq.n 80c3608 80c3604: 7dfb ldrb r3, [r7, #23] 80c3606: e009 b.n 80c361c obj->n_frag--; 80c3608: 68fb ldr r3, [r7, #12] 80c360a: 69db ldr r3, [r3, #28] 80c360c: 1e5a subs r2, r3, #1 80c360e: 68fb ldr r3, [r7, #12] 80c3610: 61da str r2, [r3, #28] while (obj->n_frag > 0) { /* Create the last chain on the FAT */ 80c3612: 68fb ldr r3, [r7, #12] 80c3614: 69db ldr r3, [r3, #28] 80c3616: 2b00 cmp r3, #0 80c3618: d1da bne.n 80c35d0 } return FR_OK; 80c361a: 2300 movs r3, #0 } 80c361c: 4618 mov r0, r3 80c361e: 3718 adds r7, #24 80c3620: 46bd mov sp, r7 80c3622: bd80 pop {r7, pc} 080c3624 : 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) */ ) { 80c3624: b580 push {r7, lr} 80c3626: b08a sub sp, #40 ; 0x28 80c3628: af00 add r7, sp, #0 80c362a: 60f8 str r0, [r7, #12] 80c362c: 60b9 str r1, [r7, #8] 80c362e: 607a str r2, [r7, #4] FRESULT res = FR_OK; 80c3630: 2300 movs r3, #0 80c3632: 77fb strb r3, [r7, #31] DWORD nxt; FATFS *fs = obj->fs; 80c3634: 68fb ldr r3, [r7, #12] 80c3636: 681b ldr r3, [r3, #0] 80c3638: 61bb str r3, [r7, #24] #if _FS_EXFAT || _USE_TRIM DWORD scl = clst, ecl = clst; 80c363a: 68bb ldr r3, [r7, #8] 80c363c: 627b str r3, [r7, #36] ; 0x24 80c363e: 68bb ldr r3, [r7, #8] 80c3640: 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 */ 80c3642: 68bb ldr r3, [r7, #8] 80c3644: 2b01 cmp r3, #1 80c3646: d904 bls.n 80c3652 80c3648: 69bb ldr r3, [r7, #24] 80c364a: 69da ldr r2, [r3, #28] 80c364c: 68bb ldr r3, [r7, #8] 80c364e: 429a cmp r2, r3 80c3650: d801 bhi.n 80c3656 80c3652: 2302 movs r3, #2 80c3654: e096 b.n 80c3784 /* Mark the previous cluster 'EOC' on the FAT if it exists */ if (pclst && (!_FS_EXFAT || fs->fs_type != FS_EXFAT || obj->stat != 2)) { 80c3656: 687b ldr r3, [r7, #4] 80c3658: 2b00 cmp r3, #0 80c365a: d014 beq.n 80c3686 80c365c: 69bb ldr r3, [r7, #24] 80c365e: 781b ldrb r3, [r3, #0] 80c3660: 2b04 cmp r3, #4 80c3662: d103 bne.n 80c366c 80c3664: 68fb ldr r3, [r7, #12] 80c3666: 79db ldrb r3, [r3, #7] 80c3668: 2b02 cmp r3, #2 80c366a: d00c beq.n 80c3686 res = put_fat(fs, pclst, 0xFFFFFFFF); 80c366c: f04f 32ff mov.w r2, #4294967295 80c3670: 6879 ldr r1, [r7, #4] 80c3672: 69b8 ldr r0, [r7, #24] 80c3674: f7ff fd9c bl 80c31b0 80c3678: 4603 mov r3, r0 80c367a: 77fb strb r3, [r7, #31] if (res != FR_OK) return res; 80c367c: 7ffb ldrb r3, [r7, #31] 80c367e: 2b00 cmp r3, #0 80c3680: d001 beq.n 80c3686 80c3682: 7ffb ldrb r3, [r7, #31] 80c3684: e07e b.n 80c3784 } /* Remove the chain */ do { nxt = get_fat(obj, clst); /* Get cluster status */ 80c3686: 68b9 ldr r1, [r7, #8] 80c3688: 68f8 ldr r0, [r7, #12] 80c368a: f7ff fc79 bl 80c2f80 80c368e: 6178 str r0, [r7, #20] if (nxt == 0) break; /* Empty cluster? */ 80c3690: 697b ldr r3, [r7, #20] 80c3692: 2b00 cmp r3, #0 80c3694: d055 beq.n 80c3742 if (nxt == 1) return FR_INT_ERR; /* Internal error? */ 80c3696: 697b ldr r3, [r7, #20] 80c3698: 2b01 cmp r3, #1 80c369a: d101 bne.n 80c36a0 80c369c: 2302 movs r3, #2 80c369e: e071 b.n 80c3784 if (nxt == 0xFFFFFFFF) return FR_DISK_ERR; /* Disk error? */ 80c36a0: 697b ldr r3, [r7, #20] 80c36a2: f1b3 3fff cmp.w r3, #4294967295 80c36a6: d101 bne.n 80c36ac 80c36a8: 2301 movs r3, #1 80c36aa: e06b b.n 80c3784 if (!_FS_EXFAT || fs->fs_type != FS_EXFAT) { 80c36ac: 69bb ldr r3, [r7, #24] 80c36ae: 781b ldrb r3, [r3, #0] 80c36b0: 2b04 cmp r3, #4 80c36b2: d00b beq.n 80c36cc res = put_fat(fs, clst, 0); /* Mark the cluster 'free' on the FAT */ 80c36b4: 2200 movs r2, #0 80c36b6: 68b9 ldr r1, [r7, #8] 80c36b8: 69b8 ldr r0, [r7, #24] 80c36ba: f7ff fd79 bl 80c31b0 80c36be: 4603 mov r3, r0 80c36c0: 77fb strb r3, [r7, #31] if (res != FR_OK) return res; 80c36c2: 7ffb ldrb r3, [r7, #31] 80c36c4: 2b00 cmp r3, #0 80c36c6: d001 beq.n 80c36cc 80c36c8: 7ffb ldrb r3, [r7, #31] 80c36ca: e05b b.n 80c3784 } if (fs->free_clst < fs->n_fatent - 2) { /* Update FSINFO */ 80c36cc: 69bb ldr r3, [r7, #24] 80c36ce: 699a ldr r2, [r3, #24] 80c36d0: 69bb ldr r3, [r7, #24] 80c36d2: 69db ldr r3, [r3, #28] 80c36d4: 3b02 subs r3, #2 80c36d6: 429a cmp r2, r3 80c36d8: d20b bcs.n 80c36f2 fs->free_clst++; 80c36da: 69bb ldr r3, [r7, #24] 80c36dc: 699b ldr r3, [r3, #24] 80c36de: 1c5a adds r2, r3, #1 80c36e0: 69bb ldr r3, [r7, #24] 80c36e2: 619a str r2, [r3, #24] fs->fsi_flag |= 1; 80c36e4: 69bb ldr r3, [r7, #24] 80c36e6: 791b ldrb r3, [r3, #4] 80c36e8: f043 0301 orr.w r3, r3, #1 80c36ec: b2da uxtb r2, r3 80c36ee: 69bb ldr r3, [r7, #24] 80c36f0: 711a strb r2, [r3, #4] } #if _FS_EXFAT || _USE_TRIM if (ecl + 1 == nxt) { /* Is next cluster contiguous? */ 80c36f2: 6a3b ldr r3, [r7, #32] 80c36f4: 1c5a adds r2, r3, #1 80c36f6: 697b ldr r3, [r7, #20] 80c36f8: 429a cmp r2, r3 80c36fa: d102 bne.n 80c3702 ecl = nxt; 80c36fc: 697b ldr r3, [r7, #20] 80c36fe: 623b str r3, [r7, #32] 80c3700: e017 b.n 80c3732 } else { /* End of contiguous cluster block */ #if _FS_EXFAT if (fs->fs_type == FS_EXFAT) { 80c3702: 69bb ldr r3, [r7, #24] 80c3704: 781b ldrb r3, [r3, #0] 80c3706: 2b04 cmp r3, #4 80c3708: d10f bne.n 80c372a res = change_bitmap(fs, scl, ecl - scl + 1, 0); /* Mark the cluster block 'free' on the bitmap */ 80c370a: 6a3a ldr r2, [r7, #32] 80c370c: 6a7b ldr r3, [r7, #36] ; 0x24 80c370e: 1ad3 subs r3, r2, r3 80c3710: 1c5a adds r2, r3, #1 80c3712: 2300 movs r3, #0 80c3714: 6a79 ldr r1, [r7, #36] ; 0x24 80c3716: 69b8 ldr r0, [r7, #24] 80c3718: f7ff feba bl 80c3490 80c371c: 4603 mov r3, r0 80c371e: 77fb strb r3, [r7, #31] if (res != FR_OK) return res; 80c3720: 7ffb ldrb r3, [r7, #31] 80c3722: 2b00 cmp r3, #0 80c3724: d001 beq.n 80c372a 80c3726: 7ffb ldrb r3, [r7, #31] 80c3728: e02c b.n 80c3784 #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; 80c372a: 697b ldr r3, [r7, #20] 80c372c: 623b str r3, [r7, #32] 80c372e: 6a3b ldr r3, [r7, #32] 80c3730: 627b str r3, [r7, #36] ; 0x24 } #endif clst = nxt; /* Next cluster */ 80c3732: 697b ldr r3, [r7, #20] 80c3734: 60bb str r3, [r7, #8] } while (clst < fs->n_fatent); /* Repeat while not the last link */ 80c3736: 69bb ldr r3, [r7, #24] 80c3738: 69da ldr r2, [r3, #28] 80c373a: 68bb ldr r3, [r7, #8] 80c373c: 429a cmp r2, r3 80c373e: d8a2 bhi.n 80c3686 80c3740: e000 b.n 80c3744 if (nxt == 0) break; /* Empty cluster? */ 80c3742: bf00 nop #if _FS_EXFAT if (fs->fs_type == FS_EXFAT) { 80c3744: 69bb ldr r3, [r7, #24] 80c3746: 781b ldrb r3, [r3, #0] 80c3748: 2b04 cmp r3, #4 80c374a: d11a bne.n 80c3782 if (pclst == 0) { /* Does the object have no chain? */ 80c374c: 687b ldr r3, [r7, #4] 80c374e: 2b00 cmp r3, #0 80c3750: d103 bne.n 80c375a obj->stat = 0; /* Change the object status 'initial' */ 80c3752: 68fb ldr r3, [r7, #12] 80c3754: 2200 movs r2, #0 80c3756: 71da strb r2, [r3, #7] 80c3758: e013 b.n 80c3782 } else { if (obj->stat == 3 && pclst >= obj->sclust && pclst <= obj->sclust + obj->n_cont) { /* Did the chain get contiguous? */ 80c375a: 68fb ldr r3, [r7, #12] 80c375c: 79db ldrb r3, [r3, #7] 80c375e: 2b03 cmp r3, #3 80c3760: d10f bne.n 80c3782 80c3762: 68fb ldr r3, [r7, #12] 80c3764: 689a ldr r2, [r3, #8] 80c3766: 687b ldr r3, [r7, #4] 80c3768: 429a cmp r2, r3 80c376a: d80a bhi.n 80c3782 80c376c: 68fb ldr r3, [r7, #12] 80c376e: 689a ldr r2, [r3, #8] 80c3770: 68fb ldr r3, [r7, #12] 80c3772: 699b ldr r3, [r3, #24] 80c3774: 441a add r2, r3 80c3776: 687b ldr r3, [r7, #4] 80c3778: 429a cmp r2, r3 80c377a: d302 bcc.n 80c3782 obj->stat = 2; /* Change the object status 'contiguous' */ 80c377c: 68fb ldr r3, [r7, #12] 80c377e: 2202 movs r2, #2 80c3780: 71da strb r2, [r3, #7] } } } #endif return FR_OK; 80c3782: 2300 movs r3, #0 } 80c3784: 4618 mov r0, r3 80c3786: 3728 adds r7, #40 ; 0x28 80c3788: 46bd mov sp, r7 80c378a: bd80 pop {r7, pc} 080c378c : 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 */ ) { 80c378c: b580 push {r7, lr} 80c378e: b088 sub sp, #32 80c3790: af00 add r7, sp, #0 80c3792: 6078 str r0, [r7, #4] 80c3794: 6039 str r1, [r7, #0] DWORD cs, ncl, scl; FRESULT res; FATFS *fs = obj->fs; 80c3796: 687b ldr r3, [r7, #4] 80c3798: 681b ldr r3, [r3, #0] 80c379a: 613b str r3, [r7, #16] if (clst == 0) { /* Create a new chain */ 80c379c: 683b ldr r3, [r7, #0] 80c379e: 2b00 cmp r3, #0 80c37a0: d10d bne.n 80c37be scl = fs->last_clst; /* Get suggested cluster to start from */ 80c37a2: 693b ldr r3, [r7, #16] 80c37a4: 695b ldr r3, [r3, #20] 80c37a6: 61bb str r3, [r7, #24] if (scl == 0 || scl >= fs->n_fatent) scl = 1; 80c37a8: 69bb ldr r3, [r7, #24] 80c37aa: 2b00 cmp r3, #0 80c37ac: d004 beq.n 80c37b8 80c37ae: 693b ldr r3, [r7, #16] 80c37b0: 69da ldr r2, [r3, #28] 80c37b2: 69bb ldr r3, [r7, #24] 80c37b4: 429a cmp r2, r3 80c37b6: d81b bhi.n 80c37f0 80c37b8: 2301 movs r3, #1 80c37ba: 61bb str r3, [r7, #24] 80c37bc: e018 b.n 80c37f0 } else { /* Stretch current chain */ cs = get_fat(obj, clst); /* Check the cluster status */ 80c37be: 6839 ldr r1, [r7, #0] 80c37c0: 6878 ldr r0, [r7, #4] 80c37c2: f7ff fbdd bl 80c2f80 80c37c6: 60f8 str r0, [r7, #12] if (cs < 2) return 1; /* Invalid FAT value */ 80c37c8: 68fb ldr r3, [r7, #12] 80c37ca: 2b01 cmp r3, #1 80c37cc: d801 bhi.n 80c37d2 80c37ce: 2301 movs r3, #1 80c37d0: e0d9 b.n 80c3986 if (cs == 0xFFFFFFFF) return cs; /* A disk error occurred */ 80c37d2: 68fb ldr r3, [r7, #12] 80c37d4: f1b3 3fff cmp.w r3, #4294967295 80c37d8: d101 bne.n 80c37de 80c37da: 68fb ldr r3, [r7, #12] 80c37dc: e0d3 b.n 80c3986 if (cs < fs->n_fatent) return cs; /* It is already followed by next cluster */ 80c37de: 693b ldr r3, [r7, #16] 80c37e0: 69da ldr r2, [r3, #28] 80c37e2: 68fb ldr r3, [r7, #12] 80c37e4: 429a cmp r2, r3 80c37e6: d901 bls.n 80c37ec 80c37e8: 68fb ldr r3, [r7, #12] 80c37ea: e0cc b.n 80c3986 scl = clst; 80c37ec: 683b ldr r3, [r7, #0] 80c37ee: 61bb str r3, [r7, #24] } #if _FS_EXFAT if (fs->fs_type == FS_EXFAT) { /* On the exFAT volume */ 80c37f0: 693b ldr r3, [r7, #16] 80c37f2: 781b ldrb r3, [r3, #0] 80c37f4: 2b04 cmp r3, #4 80c37f6: d164 bne.n 80c38c2 ncl = find_bitmap(fs, scl, 1); /* Find a free cluster */ 80c37f8: 2201 movs r2, #1 80c37fa: 69b9 ldr r1, [r7, #24] 80c37fc: 6938 ldr r0, [r7, #16] 80c37fe: f7ff fdcb bl 80c3398 80c3802: 61f8 str r0, [r7, #28] if (ncl == 0 || ncl == 0xFFFFFFFF) return ncl; /* No free cluster or hard error? */ 80c3804: 69fb ldr r3, [r7, #28] 80c3806: 2b00 cmp r3, #0 80c3808: d003 beq.n 80c3812 80c380a: 69fb ldr r3, [r7, #28] 80c380c: f1b3 3fff cmp.w r3, #4294967295 80c3810: d101 bne.n 80c3816 80c3812: 69fb ldr r3, [r7, #28] 80c3814: e0b7 b.n 80c3986 res = change_bitmap(fs, ncl, 1, 1); /* Mark the cluster 'in use' */ 80c3816: 2301 movs r3, #1 80c3818: 2201 movs r2, #1 80c381a: 69f9 ldr r1, [r7, #28] 80c381c: 6938 ldr r0, [r7, #16] 80c381e: f7ff fe37 bl 80c3490 80c3822: 4603 mov r3, r0 80c3824: 75fb strb r3, [r7, #23] if (res == FR_INT_ERR) return 1; 80c3826: 7dfb ldrb r3, [r7, #23] 80c3828: 2b02 cmp r3, #2 80c382a: d101 bne.n 80c3830 80c382c: 2301 movs r3, #1 80c382e: e0aa b.n 80c3986 if (res == FR_DISK_ERR) return 0xFFFFFFFF; 80c3830: 7dfb ldrb r3, [r7, #23] 80c3832: 2b01 cmp r3, #1 80c3834: d102 bne.n 80c383c 80c3836: f04f 33ff mov.w r3, #4294967295 80c383a: e0a4 b.n 80c3986 if (clst == 0) { /* Is it a new chain? */ 80c383c: 683b ldr r3, [r7, #0] 80c383e: 2b00 cmp r3, #0 80c3840: d103 bne.n 80c384a obj->stat = 2; /* Set status 'contiguous' */ 80c3842: 687b ldr r3, [r7, #4] 80c3844: 2202 movs r2, #2 80c3846: 71da strb r2, [r3, #7] 80c3848: e011 b.n 80c386e } else { /* It is a stretched chain */ if (obj->stat == 2 && ncl != scl + 1) { /* Is the chain got fragmented? */ 80c384a: 687b ldr r3, [r7, #4] 80c384c: 79db ldrb r3, [r3, #7] 80c384e: 2b02 cmp r3, #2 80c3850: d10d bne.n 80c386e 80c3852: 69bb ldr r3, [r7, #24] 80c3854: 1c5a adds r2, r3, #1 80c3856: 69fb ldr r3, [r7, #28] 80c3858: 429a cmp r2, r3 80c385a: d008 beq.n 80c386e obj->n_cont = scl - obj->sclust; /* Set size of the contiguous part */ 80c385c: 687b ldr r3, [r7, #4] 80c385e: 689b ldr r3, [r3, #8] 80c3860: 69ba ldr r2, [r7, #24] 80c3862: 1ad2 subs r2, r2, r3 80c3864: 687b ldr r3, [r7, #4] 80c3866: 619a str r2, [r3, #24] obj->stat = 3; /* Change status 'just fragmented' */ 80c3868: 687b ldr r3, [r7, #4] 80c386a: 2203 movs r2, #3 80c386c: 71da strb r2, [r3, #7] } } if (obj->stat != 2) { /* Is the file non-contiguous? */ 80c386e: 687b ldr r3, [r7, #4] 80c3870: 79db ldrb r3, [r3, #7] 80c3872: 2b02 cmp r3, #2 80c3874: d064 beq.n 80c3940 if (ncl == clst + 1) { /* Is the cluster next to previous one? */ 80c3876: 683b ldr r3, [r7, #0] 80c3878: 1c5a adds r2, r3, #1 80c387a: 69fb ldr r3, [r7, #28] 80c387c: 429a cmp r2, r3 80c387e: d10b bne.n 80c3898 obj->n_frag = obj->n_frag ? obj->n_frag + 1 : 2; /* Increment size of last framgent */ 80c3880: 687b ldr r3, [r7, #4] 80c3882: 69db ldr r3, [r3, #28] 80c3884: 2b00 cmp r3, #0 80c3886: d003 beq.n 80c3890 80c3888: 687b ldr r3, [r7, #4] 80c388a: 69db ldr r3, [r3, #28] 80c388c: 3301 adds r3, #1 80c388e: e000 b.n 80c3892 80c3890: 2302 movs r3, #2 80c3892: 687a ldr r2, [r7, #4] 80c3894: 61d3 str r3, [r2, #28] 80c3896: e053 b.n 80c3940 } else { /* New fragment */ if (obj->n_frag == 0) obj->n_frag = 1; 80c3898: 687b ldr r3, [r7, #4] 80c389a: 69db ldr r3, [r3, #28] 80c389c: 2b00 cmp r3, #0 80c389e: d102 bne.n 80c38a6 80c38a0: 687b ldr r3, [r7, #4] 80c38a2: 2201 movs r2, #1 80c38a4: 61da str r2, [r3, #28] res = fill_last_frag(obj, clst, ncl); /* Fill last fragment on the FAT and link it to new one */ 80c38a6: 69fa ldr r2, [r7, #28] 80c38a8: 6839 ldr r1, [r7, #0] 80c38aa: 6878 ldr r0, [r7, #4] 80c38ac: f7ff fe89 bl 80c35c2 80c38b0: 4603 mov r3, r0 80c38b2: 75fb strb r3, [r7, #23] if (res == FR_OK) obj->n_frag = 1; 80c38b4: 7dfb ldrb r3, [r7, #23] 80c38b6: 2b00 cmp r3, #0 80c38b8: d142 bne.n 80c3940 80c38ba: 687b ldr r3, [r7, #4] 80c38bc: 2201 movs r2, #1 80c38be: 61da str r2, [r3, #28] 80c38c0: e03e b.n 80c3940 } } } else #endif { /* On the FAT12/16/32 volume */ ncl = scl; /* Start cluster */ 80c38c2: 69bb ldr r3, [r7, #24] 80c38c4: 61fb str r3, [r7, #28] for (;;) { ncl++; /* Next cluster */ 80c38c6: 69fb ldr r3, [r7, #28] 80c38c8: 3301 adds r3, #1 80c38ca: 61fb str r3, [r7, #28] if (ncl >= fs->n_fatent) { /* Check wrap-around */ 80c38cc: 693b ldr r3, [r7, #16] 80c38ce: 69da ldr r2, [r3, #28] 80c38d0: 69fb ldr r3, [r7, #28] 80c38d2: 429a cmp r2, r3 80c38d4: d807 bhi.n 80c38e6 ncl = 2; 80c38d6: 2302 movs r3, #2 80c38d8: 61fb str r3, [r7, #28] if (ncl > scl) return 0; /* No free cluster */ 80c38da: 69fa ldr r2, [r7, #28] 80c38dc: 69bb ldr r3, [r7, #24] 80c38de: 429a cmp r2, r3 80c38e0: d901 bls.n 80c38e6 80c38e2: 2300 movs r3, #0 80c38e4: e04f b.n 80c3986 } cs = get_fat(obj, ncl); /* Get the cluster status */ 80c38e6: 69f9 ldr r1, [r7, #28] 80c38e8: 6878 ldr r0, [r7, #4] 80c38ea: f7ff fb49 bl 80c2f80 80c38ee: 60f8 str r0, [r7, #12] if (cs == 0) break; /* Found a free cluster */ 80c38f0: 68fb ldr r3, [r7, #12] 80c38f2: 2b00 cmp r3, #0 80c38f4: d00e beq.n 80c3914 if (cs == 1 || cs == 0xFFFFFFFF) return cs; /* An error occurred */ 80c38f6: 68fb ldr r3, [r7, #12] 80c38f8: 2b01 cmp r3, #1 80c38fa: d003 beq.n 80c3904 80c38fc: 68fb ldr r3, [r7, #12] 80c38fe: f1b3 3fff cmp.w r3, #4294967295 80c3902: d101 bne.n 80c3908 80c3904: 68fb ldr r3, [r7, #12] 80c3906: e03e b.n 80c3986 if (ncl == scl) return 0; /* No free cluster */ 80c3908: 69fa ldr r2, [r7, #28] 80c390a: 69bb ldr r3, [r7, #24] 80c390c: 429a cmp r2, r3 80c390e: d1da bne.n 80c38c6 80c3910: 2300 movs r3, #0 80c3912: e038 b.n 80c3986 if (cs == 0) break; /* Found a free cluster */ 80c3914: bf00 nop } res = put_fat(fs, ncl, 0xFFFFFFFF); /* Mark the new cluster 'EOC' */ 80c3916: f04f 32ff mov.w r2, #4294967295 80c391a: 69f9 ldr r1, [r7, #28] 80c391c: 6938 ldr r0, [r7, #16] 80c391e: f7ff fc47 bl 80c31b0 80c3922: 4603 mov r3, r0 80c3924: 75fb strb r3, [r7, #23] if (res == FR_OK && clst != 0) { 80c3926: 7dfb ldrb r3, [r7, #23] 80c3928: 2b00 cmp r3, #0 80c392a: d109 bne.n 80c3940 80c392c: 683b ldr r3, [r7, #0] 80c392e: 2b00 cmp r3, #0 80c3930: d006 beq.n 80c3940 res = put_fat(fs, clst, ncl); /* Link it from the previous one if needed */ 80c3932: 69fa ldr r2, [r7, #28] 80c3934: 6839 ldr r1, [r7, #0] 80c3936: 6938 ldr r0, [r7, #16] 80c3938: f7ff fc3a bl 80c31b0 80c393c: 4603 mov r3, r0 80c393e: 75fb strb r3, [r7, #23] } } if (res == FR_OK) { /* Update FSINFO if function succeeded. */ 80c3940: 7dfb ldrb r3, [r7, #23] 80c3942: 2b00 cmp r3, #0 80c3944: d116 bne.n 80c3974 fs->last_clst = ncl; 80c3946: 693b ldr r3, [r7, #16] 80c3948: 69fa ldr r2, [r7, #28] 80c394a: 615a str r2, [r3, #20] if (fs->free_clst <= fs->n_fatent - 2) fs->free_clst--; 80c394c: 693b ldr r3, [r7, #16] 80c394e: 699a ldr r2, [r3, #24] 80c3950: 693b ldr r3, [r7, #16] 80c3952: 69db ldr r3, [r3, #28] 80c3954: 3b02 subs r3, #2 80c3956: 429a cmp r2, r3 80c3958: d804 bhi.n 80c3964 80c395a: 693b ldr r3, [r7, #16] 80c395c: 699b ldr r3, [r3, #24] 80c395e: 1e5a subs r2, r3, #1 80c3960: 693b ldr r3, [r7, #16] 80c3962: 619a str r2, [r3, #24] fs->fsi_flag |= 1; 80c3964: 693b ldr r3, [r7, #16] 80c3966: 791b ldrb r3, [r3, #4] 80c3968: f043 0301 orr.w r3, r3, #1 80c396c: b2da uxtb r2, r3 80c396e: 693b ldr r3, [r7, #16] 80c3970: 711a strb r2, [r3, #4] 80c3972: e007 b.n 80c3984 } else { ncl = (res == FR_DISK_ERR) ? 0xFFFFFFFF : 1; /* Failed. Generate error status */ 80c3974: 7dfb ldrb r3, [r7, #23] 80c3976: 2b01 cmp r3, #1 80c3978: d102 bne.n 80c3980 80c397a: f04f 33ff mov.w r3, #4294967295 80c397e: e000 b.n 80c3982 80c3980: 2301 movs r3, #1 80c3982: 61fb str r3, [r7, #28] } return ncl; /* Return new cluster number or error status */ 80c3984: 69fb ldr r3, [r7, #28] } 80c3986: 4618 mov r0, r3 80c3988: 3720 adds r7, #32 80c398a: 46bd mov sp, r7 80c398c: bd80 pop {r7, pc} 080c398e : 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# */ ) { 80c398e: b5b0 push {r4, r5, r7, lr} 80c3990: b088 sub sp, #32 80c3992: af00 add r7, sp, #0 80c3994: 60f8 str r0, [r7, #12] 80c3996: e9c7 2300 strd r2, r3, [r7] DWORD cl, ncl, *tbl; FATFS *fs = fp->obj.fs; 80c399a: 68fb ldr r3, [r7, #12] 80c399c: 681b ldr r3, [r3, #0] 80c399e: 617b str r3, [r7, #20] tbl = fp->cltbl + 1; /* Top of CLMT */ 80c39a0: 68fb ldr r3, [r7, #12] 80c39a2: 6d1b ldr r3, [r3, #80] ; 0x50 80c39a4: 3304 adds r3, #4 80c39a6: 61bb str r3, [r7, #24] cl = (DWORD)(ofs / SS(fs) / fs->csize); /* Cluster order from top of the file */ 80c39a8: e9d7 2300 ldrd r2, r3, [r7] 80c39ac: 0a54 lsrs r4, r2, #9 80c39ae: ea44 54c3 orr.w r4, r4, r3, lsl #23 80c39b2: 0a5d lsrs r5, r3, #9 80c39b4: 697b ldr r3, [r7, #20] 80c39b6: 895b ldrh r3, [r3, #10] 80c39b8: b29a uxth r2, r3 80c39ba: f04f 0300 mov.w r3, #0 80c39be: 4620 mov r0, r4 80c39c0: 4629 mov r1, r5 80c39c2: f75c fe13 bl 80205ec <__aeabi_uldivmod> 80c39c6: 4603 mov r3, r0 80c39c8: 460c mov r4, r1 80c39ca: 61fb str r3, [r7, #28] for (;;) { ncl = *tbl++; /* Number of cluters in the fragment */ 80c39cc: 69bb ldr r3, [r7, #24] 80c39ce: 1d1a adds r2, r3, #4 80c39d0: 61ba str r2, [r7, #24] 80c39d2: 681b ldr r3, [r3, #0] 80c39d4: 613b str r3, [r7, #16] if (ncl == 0) return 0; /* End of table? (error) */ 80c39d6: 693b ldr r3, [r7, #16] 80c39d8: 2b00 cmp r3, #0 80c39da: d101 bne.n 80c39e0 80c39dc: 2300 movs r3, #0 80c39de: e010 b.n 80c3a02 if (cl < ncl) break; /* In this fragment? */ 80c39e0: 69fa ldr r2, [r7, #28] 80c39e2: 693b ldr r3, [r7, #16] 80c39e4: 429a cmp r2, r3 80c39e6: d307 bcc.n 80c39f8 cl -= ncl; tbl++; /* Next fragment */ 80c39e8: 69fa ldr r2, [r7, #28] 80c39ea: 693b ldr r3, [r7, #16] 80c39ec: 1ad3 subs r3, r2, r3 80c39ee: 61fb str r3, [r7, #28] 80c39f0: 69bb ldr r3, [r7, #24] 80c39f2: 3304 adds r3, #4 80c39f4: 61bb str r3, [r7, #24] ncl = *tbl++; /* Number of cluters in the fragment */ 80c39f6: e7e9 b.n 80c39cc if (cl < ncl) break; /* In this fragment? */ 80c39f8: bf00 nop } return cl + *tbl; /* Return the cluster number */ 80c39fa: 69bb ldr r3, [r7, #24] 80c39fc: 681a ldr r2, [r3, #0] 80c39fe: 69fb ldr r3, [r7, #28] 80c3a00: 4413 add r3, r2 } 80c3a02: 4618 mov r0, r3 80c3a04: 3720 adds r7, #32 80c3a06: 46bd mov sp, r7 80c3a08: bdb0 pop {r4, r5, r7, pc} 080c3a0a : static FRESULT dir_sdi ( /* FR_OK(0):succeeded, !=0:error */ DIR* dp, /* Pointer to directory object */ DWORD ofs /* Offset of directory table */ ) { 80c3a0a: b580 push {r7, lr} 80c3a0c: b086 sub sp, #24 80c3a0e: af00 add r7, sp, #0 80c3a10: 6078 str r0, [r7, #4] 80c3a12: 6039 str r1, [r7, #0] DWORD csz, clst; FATFS *fs = dp->obj.fs; 80c3a14: 687b ldr r3, [r7, #4] 80c3a16: 681b ldr r3, [r3, #0] 80c3a18: 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 */ 80c3a1a: 693b ldr r3, [r7, #16] 80c3a1c: 781b ldrb r3, [r3, #0] 80c3a1e: 2b04 cmp r3, #4 80c3a20: d102 bne.n 80c3a28 80c3a22: f04f 5280 mov.w r2, #268435456 ; 0x10000000 80c3a26: e001 b.n 80c3a2c 80c3a28: f44f 1200 mov.w r2, #2097152 ; 0x200000 80c3a2c: 683b ldr r3, [r7, #0] 80c3a2e: 429a cmp r2, r3 80c3a30: d904 bls.n 80c3a3c 80c3a32: 683b ldr r3, [r7, #0] 80c3a34: f003 031f and.w r3, r3, #31 80c3a38: 2b00 cmp r3, #0 80c3a3a: d001 beq.n 80c3a40 return FR_INT_ERR; 80c3a3c: 2302 movs r3, #2 80c3a3e: e066 b.n 80c3b0e } dp->dptr = ofs; /* Set current offset */ 80c3a40: 687b ldr r3, [r7, #4] 80c3a42: 683a ldr r2, [r7, #0] 80c3a44: 631a str r2, [r3, #48] ; 0x30 clst = dp->obj.sclust; /* Table start cluster (0:root) */ 80c3a46: 687b ldr r3, [r7, #4] 80c3a48: 689b ldr r3, [r3, #8] 80c3a4a: 617b str r3, [r7, #20] if (clst == 0 && fs->fs_type >= FS_FAT32) { /* Replace cluster# 0 with root cluster# */ 80c3a4c: 697b ldr r3, [r7, #20] 80c3a4e: 2b00 cmp r3, #0 80c3a50: d109 bne.n 80c3a66 80c3a52: 693b ldr r3, [r7, #16] 80c3a54: 781b ldrb r3, [r3, #0] 80c3a56: 2b02 cmp r3, #2 80c3a58: d905 bls.n 80c3a66 clst = fs->dirbase; 80c3a5a: 693b ldr r3, [r7, #16] 80c3a5c: 6adb ldr r3, [r3, #44] ; 0x2c 80c3a5e: 617b str r3, [r7, #20] if (_FS_EXFAT) dp->obj.stat = 0; /* exFAT: Root dir has an FAT chain */ 80c3a60: 687b ldr r3, [r7, #4] 80c3a62: 2200 movs r2, #0 80c3a64: 71da strb r2, [r3, #7] } if (clst == 0) { /* Static table (root-directory in FAT12/16) */ 80c3a66: 697b ldr r3, [r7, #20] 80c3a68: 2b00 cmp r3, #0 80c3a6a: d10c bne.n 80c3a86 if (ofs / SZDIRE >= fs->n_rootdir) return FR_INT_ERR; /* Is index out of range? */ 80c3a6c: 683b ldr r3, [r7, #0] 80c3a6e: 095b lsrs r3, r3, #5 80c3a70: 693a ldr r2, [r7, #16] 80c3a72: 8912 ldrh r2, [r2, #8] 80c3a74: 4293 cmp r3, r2 80c3a76: d301 bcc.n 80c3a7c 80c3a78: 2302 movs r3, #2 80c3a7a: e048 b.n 80c3b0e dp->sect = fs->dirbase; 80c3a7c: 693b ldr r3, [r7, #16] 80c3a7e: 6ada ldr r2, [r3, #44] ; 0x2c 80c3a80: 687b ldr r3, [r7, #4] 80c3a82: 639a str r2, [r3, #56] ; 0x38 80c3a84: e029 b.n 80c3ada } else { /* Dynamic table (sub-directory or root-directory in FAT32+) */ csz = (DWORD)fs->csize * SS(fs); /* Bytes per cluster */ 80c3a86: 693b ldr r3, [r7, #16] 80c3a88: 895b ldrh r3, [r3, #10] 80c3a8a: 025b lsls r3, r3, #9 80c3a8c: 60fb str r3, [r7, #12] while (ofs >= csz) { /* Follow cluster chain */ 80c3a8e: e019 b.n 80c3ac4 clst = get_fat(&dp->obj, clst); /* Get next cluster */ 80c3a90: 687b ldr r3, [r7, #4] 80c3a92: 6979 ldr r1, [r7, #20] 80c3a94: 4618 mov r0, r3 80c3a96: f7ff fa73 bl 80c2f80 80c3a9a: 6178 str r0, [r7, #20] if (clst == 0xFFFFFFFF) return FR_DISK_ERR; /* Disk error */ 80c3a9c: 697b ldr r3, [r7, #20] 80c3a9e: f1b3 3fff cmp.w r3, #4294967295 80c3aa2: d101 bne.n 80c3aa8 80c3aa4: 2301 movs r3, #1 80c3aa6: e032 b.n 80c3b0e if (clst < 2 || clst >= fs->n_fatent) return FR_INT_ERR; /* Reached to end of table or internal error */ 80c3aa8: 697b ldr r3, [r7, #20] 80c3aaa: 2b01 cmp r3, #1 80c3aac: d904 bls.n 80c3ab8 80c3aae: 693b ldr r3, [r7, #16] 80c3ab0: 69da ldr r2, [r3, #28] 80c3ab2: 697b ldr r3, [r7, #20] 80c3ab4: 429a cmp r2, r3 80c3ab6: d801 bhi.n 80c3abc 80c3ab8: 2302 movs r3, #2 80c3aba: e028 b.n 80c3b0e ofs -= csz; 80c3abc: 683a ldr r2, [r7, #0] 80c3abe: 68fb ldr r3, [r7, #12] 80c3ac0: 1ad3 subs r3, r2, r3 80c3ac2: 603b str r3, [r7, #0] while (ofs >= csz) { /* Follow cluster chain */ 80c3ac4: 683a ldr r2, [r7, #0] 80c3ac6: 68fb ldr r3, [r7, #12] 80c3ac8: 429a cmp r2, r3 80c3aca: d2e1 bcs.n 80c3a90 } dp->sect = clust2sect(fs, clst); 80c3acc: 6979 ldr r1, [r7, #20] 80c3ace: 6938 ldr r0, [r7, #16] 80c3ad0: f7ff fa36 bl 80c2f40 80c3ad4: 4602 mov r2, r0 80c3ad6: 687b ldr r3, [r7, #4] 80c3ad8: 639a str r2, [r3, #56] ; 0x38 } dp->clust = clst; /* Current cluster# */ 80c3ada: 687b ldr r3, [r7, #4] 80c3adc: 697a ldr r2, [r7, #20] 80c3ade: 635a str r2, [r3, #52] ; 0x34 if (!dp->sect) return FR_INT_ERR; 80c3ae0: 687b ldr r3, [r7, #4] 80c3ae2: 6b9b ldr r3, [r3, #56] ; 0x38 80c3ae4: 2b00 cmp r3, #0 80c3ae6: d101 bne.n 80c3aec 80c3ae8: 2302 movs r3, #2 80c3aea: e010 b.n 80c3b0e dp->sect += ofs / SS(fs); /* Sector# of the directory entry */ 80c3aec: 687b ldr r3, [r7, #4] 80c3aee: 6b9a ldr r2, [r3, #56] ; 0x38 80c3af0: 683b ldr r3, [r7, #0] 80c3af2: 0a5b lsrs r3, r3, #9 80c3af4: 441a add r2, r3 80c3af6: 687b ldr r3, [r7, #4] 80c3af8: 639a str r2, [r3, #56] ; 0x38 dp->dir = fs->win + (ofs % SS(fs)); /* Pointer to the entry in the win[] */ 80c3afa: 693b ldr r3, [r7, #16] 80c3afc: f103 0238 add.w r2, r3, #56 ; 0x38 80c3b00: 683b ldr r3, [r7, #0] 80c3b02: f3c3 0308 ubfx r3, r3, #0, #9 80c3b06: 441a add r2, r3 80c3b08: 687b ldr r3, [r7, #4] 80c3b0a: 63da str r2, [r3, #60] ; 0x3c return FR_OK; 80c3b0c: 2300 movs r3, #0 } 80c3b0e: 4618 mov r0, r3 80c3b10: 3718 adds r7, #24 80c3b12: 46bd mov sp, r7 80c3b14: bd80 pop {r7, pc} 080c3b16 : 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 */ ) { 80c3b16: b580 push {r7, lr} 80c3b18: b086 sub sp, #24 80c3b1a: af00 add r7, sp, #0 80c3b1c: 6078 str r0, [r7, #4] 80c3b1e: 6039 str r1, [r7, #0] DWORD ofs, clst; FATFS *fs = dp->obj.fs; 80c3b20: 687b ldr r3, [r7, #4] 80c3b22: 681b ldr r3, [r3, #0] 80c3b24: 60fb str r3, [r7, #12] #if !_FS_READONLY UINT n; #endif ofs = dp->dptr + SZDIRE; /* Next entry */ 80c3b26: 687b ldr r3, [r7, #4] 80c3b28: 6b1b ldr r3, [r3, #48] ; 0x30 80c3b2a: 3320 adds r3, #32 80c3b2c: 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 */ 80c3b2e: 687b ldr r3, [r7, #4] 80c3b30: 6b9b ldr r3, [r3, #56] ; 0x38 80c3b32: 2b00 cmp r3, #0 80c3b34: d00b beq.n 80c3b4e 80c3b36: 68fb ldr r3, [r7, #12] 80c3b38: 781b ldrb r3, [r3, #0] 80c3b3a: 2b04 cmp r3, #4 80c3b3c: d102 bne.n 80c3b44 80c3b3e: f04f 5280 mov.w r2, #268435456 ; 0x10000000 80c3b42: e001 b.n 80c3b48 80c3b44: f44f 1200 mov.w r2, #2097152 ; 0x200000 80c3b48: 68bb ldr r3, [r7, #8] 80c3b4a: 429a cmp r2, r3 80c3b4c: d801 bhi.n 80c3b52 80c3b4e: 2304 movs r3, #4 80c3b50: e0b2 b.n 80c3cb8 if (ofs % SS(fs) == 0) { /* Sector changed? */ 80c3b52: 68bb ldr r3, [r7, #8] 80c3b54: f3c3 0308 ubfx r3, r3, #0, #9 80c3b58: 2b00 cmp r3, #0 80c3b5a: f040 80a0 bne.w 80c3c9e dp->sect++; /* Next sector */ 80c3b5e: 687b ldr r3, [r7, #4] 80c3b60: 6b9b ldr r3, [r3, #56] ; 0x38 80c3b62: 1c5a adds r2, r3, #1 80c3b64: 687b ldr r3, [r7, #4] 80c3b66: 639a str r2, [r3, #56] ; 0x38 if (!dp->clust) { /* Static table */ 80c3b68: 687b ldr r3, [r7, #4] 80c3b6a: 6b5b ldr r3, [r3, #52] ; 0x34 80c3b6c: 2b00 cmp r3, #0 80c3b6e: d10b bne.n 80c3b88 if (ofs / SZDIRE >= fs->n_rootdir) { /* Report EOT if it reached end of static table */ 80c3b70: 68bb ldr r3, [r7, #8] 80c3b72: 095b lsrs r3, r3, #5 80c3b74: 68fa ldr r2, [r7, #12] 80c3b76: 8912 ldrh r2, [r2, #8] 80c3b78: 4293 cmp r3, r2 80c3b7a: f0c0 8090 bcc.w 80c3c9e dp->sect = 0; return FR_NO_FILE; 80c3b7e: 687b ldr r3, [r7, #4] 80c3b80: 2200 movs r2, #0 80c3b82: 639a str r2, [r3, #56] ; 0x38 80c3b84: 2304 movs r3, #4 80c3b86: e097 b.n 80c3cb8 } } else { /* Dynamic table */ if ((ofs / SS(fs) & (fs->csize - 1)) == 0) { /* Cluster changed? */ 80c3b88: 68bb ldr r3, [r7, #8] 80c3b8a: 0a5b lsrs r3, r3, #9 80c3b8c: 68fa ldr r2, [r7, #12] 80c3b8e: 8952 ldrh r2, [r2, #10] 80c3b90: 3a01 subs r2, #1 80c3b92: 4013 ands r3, r2 80c3b94: 2b00 cmp r3, #0 80c3b96: f040 8082 bne.w 80c3c9e clst = get_fat(&dp->obj, dp->clust); /* Get next cluster */ 80c3b9a: 687a ldr r2, [r7, #4] 80c3b9c: 687b ldr r3, [r7, #4] 80c3b9e: 6b5b ldr r3, [r3, #52] ; 0x34 80c3ba0: 4619 mov r1, r3 80c3ba2: 4610 mov r0, r2 80c3ba4: f7ff f9ec bl 80c2f80 80c3ba8: 6178 str r0, [r7, #20] if (clst <= 1) return FR_INT_ERR; /* Internal error */ 80c3baa: 697b ldr r3, [r7, #20] 80c3bac: 2b01 cmp r3, #1 80c3bae: d801 bhi.n 80c3bb4 80c3bb0: 2302 movs r3, #2 80c3bb2: e081 b.n 80c3cb8 if (clst == 0xFFFFFFFF) return FR_DISK_ERR; /* Disk error */ 80c3bb4: 697b ldr r3, [r7, #20] 80c3bb6: f1b3 3fff cmp.w r3, #4294967295 80c3bba: d101 bne.n 80c3bc0 80c3bbc: 2301 movs r3, #1 80c3bbe: e07b b.n 80c3cb8 if (clst >= fs->n_fatent) { /* Reached end of dynamic table */ 80c3bc0: 68fb ldr r3, [r7, #12] 80c3bc2: 69da ldr r2, [r3, #28] 80c3bc4: 697b ldr r3, [r7, #20] 80c3bc6: 429a cmp r2, r3 80c3bc8: d85f bhi.n 80c3c8a #if !_FS_READONLY if (!stretch) { /* If no stretch, report EOT */ 80c3bca: 683b ldr r3, [r7, #0] 80c3bcc: 2b00 cmp r3, #0 80c3bce: d104 bne.n 80c3bda dp->sect = 0; return FR_NO_FILE; 80c3bd0: 687b ldr r3, [r7, #4] 80c3bd2: 2200 movs r2, #0 80c3bd4: 639a str r2, [r3, #56] ; 0x38 80c3bd6: 2304 movs r3, #4 80c3bd8: e06e b.n 80c3cb8 } clst = create_chain(&dp->obj, dp->clust); /* Allocate a cluster */ 80c3bda: 687a ldr r2, [r7, #4] 80c3bdc: 687b ldr r3, [r7, #4] 80c3bde: 6b5b ldr r3, [r3, #52] ; 0x34 80c3be0: 4619 mov r1, r3 80c3be2: 4610 mov r0, r2 80c3be4: f7ff fdd2 bl 80c378c 80c3be8: 6178 str r0, [r7, #20] if (clst == 0) return FR_DENIED; /* No free cluster */ 80c3bea: 697b ldr r3, [r7, #20] 80c3bec: 2b00 cmp r3, #0 80c3bee: d101 bne.n 80c3bf4 80c3bf0: 2307 movs r3, #7 80c3bf2: e061 b.n 80c3cb8 if (clst == 1) return FR_INT_ERR; /* Internal error */ 80c3bf4: 697b ldr r3, [r7, #20] 80c3bf6: 2b01 cmp r3, #1 80c3bf8: d101 bne.n 80c3bfe 80c3bfa: 2302 movs r3, #2 80c3bfc: e05c b.n 80c3cb8 if (clst == 0xFFFFFFFF) return FR_DISK_ERR; /* Disk error */ 80c3bfe: 697b ldr r3, [r7, #20] 80c3c00: f1b3 3fff cmp.w r3, #4294967295 80c3c04: d101 bne.n 80c3c0a 80c3c06: 2301 movs r3, #1 80c3c08: e056 b.n 80c3cb8 /* Clean-up the stretched table */ if (_FS_EXFAT) dp->obj.stat |= 4; /* The directory needs to be updated */ 80c3c0a: 687b ldr r3, [r7, #4] 80c3c0c: 79db ldrb r3, [r3, #7] 80c3c0e: f043 0304 orr.w r3, r3, #4 80c3c12: b2da uxtb r2, r3 80c3c14: 687b ldr r3, [r7, #4] 80c3c16: 71da strb r2, [r3, #7] if (sync_window(fs) != FR_OK) return FR_DISK_ERR; /* Flush disk access window */ 80c3c18: 68f8 ldr r0, [r7, #12] 80c3c1a: f7ff f8b2 bl 80c2d82 80c3c1e: 4603 mov r3, r0 80c3c20: 2b00 cmp r3, #0 80c3c22: d001 beq.n 80c3c28 80c3c24: 2301 movs r3, #1 80c3c26: e047 b.n 80c3cb8 mem_set(fs->win, 0, SS(fs)); /* Clear window buffer */ 80c3c28: 68fb ldr r3, [r7, #12] 80c3c2a: 3338 adds r3, #56 ; 0x38 80c3c2c: f44f 7200 mov.w r2, #512 ; 0x200 80c3c30: 2100 movs r1, #0 80c3c32: 4618 mov r0, r3 80c3c34: f7ff f849 bl 80c2cca for (n = 0, fs->winsect = clust2sect(fs, clst); n < fs->csize; n++, fs->winsect++) { /* Fill the new cluster with 0 */ 80c3c38: 2300 movs r3, #0 80c3c3a: 613b str r3, [r7, #16] 80c3c3c: 6979 ldr r1, [r7, #20] 80c3c3e: 68f8 ldr r0, [r7, #12] 80c3c40: f7ff f97e bl 80c2f40 80c3c44: 4602 mov r2, r0 80c3c46: 68fb ldr r3, [r7, #12] 80c3c48: 635a str r2, [r3, #52] ; 0x34 80c3c4a: e012 b.n 80c3c72 fs->wflag = 1; 80c3c4c: 68fb ldr r3, [r7, #12] 80c3c4e: 2201 movs r2, #1 80c3c50: 70da strb r2, [r3, #3] if (sync_window(fs) != FR_OK) return FR_DISK_ERR; 80c3c52: 68f8 ldr r0, [r7, #12] 80c3c54: f7ff f895 bl 80c2d82 80c3c58: 4603 mov r3, r0 80c3c5a: 2b00 cmp r3, #0 80c3c5c: d001 beq.n 80c3c62 80c3c5e: 2301 movs r3, #1 80c3c60: e02a b.n 80c3cb8 for (n = 0, fs->winsect = clust2sect(fs, clst); n < fs->csize; n++, fs->winsect++) { /* Fill the new cluster with 0 */ 80c3c62: 693b ldr r3, [r7, #16] 80c3c64: 3301 adds r3, #1 80c3c66: 613b str r3, [r7, #16] 80c3c68: 68fb ldr r3, [r7, #12] 80c3c6a: 6b5b ldr r3, [r3, #52] ; 0x34 80c3c6c: 1c5a adds r2, r3, #1 80c3c6e: 68fb ldr r3, [r7, #12] 80c3c70: 635a str r2, [r3, #52] ; 0x34 80c3c72: 68fb ldr r3, [r7, #12] 80c3c74: 895b ldrh r3, [r3, #10] 80c3c76: 461a mov r2, r3 80c3c78: 693b ldr r3, [r7, #16] 80c3c7a: 429a cmp r2, r3 80c3c7c: d8e6 bhi.n 80c3c4c } fs->winsect -= n; /* Restore window offset */ 80c3c7e: 68fb ldr r3, [r7, #12] 80c3c80: 6b5a ldr r2, [r3, #52] ; 0x34 80c3c82: 693b ldr r3, [r7, #16] 80c3c84: 1ad2 subs r2, r2, r3 80c3c86: 68fb ldr r3, [r7, #12] 80c3c88: 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 */ 80c3c8a: 687b ldr r3, [r7, #4] 80c3c8c: 697a ldr r2, [r7, #20] 80c3c8e: 635a str r2, [r3, #52] ; 0x34 dp->sect = clust2sect(fs, clst); 80c3c90: 6979 ldr r1, [r7, #20] 80c3c92: 68f8 ldr r0, [r7, #12] 80c3c94: f7ff f954 bl 80c2f40 80c3c98: 4602 mov r2, r0 80c3c9a: 687b ldr r3, [r7, #4] 80c3c9c: 639a str r2, [r3, #56] ; 0x38 } } } dp->dptr = ofs; /* Current entry */ 80c3c9e: 687b ldr r3, [r7, #4] 80c3ca0: 68ba ldr r2, [r7, #8] 80c3ca2: 631a str r2, [r3, #48] ; 0x30 dp->dir = fs->win + ofs % SS(fs); /* Pointer to the entry in the win[] */ 80c3ca4: 68fb ldr r3, [r7, #12] 80c3ca6: f103 0238 add.w r2, r3, #56 ; 0x38 80c3caa: 68bb ldr r3, [r7, #8] 80c3cac: f3c3 0308 ubfx r3, r3, #0, #9 80c3cb0: 441a add r2, r3 80c3cb2: 687b ldr r3, [r7, #4] 80c3cb4: 63da str r2, [r3, #60] ; 0x3c return FR_OK; 80c3cb6: 2300 movs r3, #0 } 80c3cb8: 4618 mov r0, r3 80c3cba: 3718 adds r7, #24 80c3cbc: 46bd mov sp, r7 80c3cbe: bd80 pop {r7, pc} 080c3cc0 : 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 */ ) { 80c3cc0: b580 push {r7, lr} 80c3cc2: b086 sub sp, #24 80c3cc4: af00 add r7, sp, #0 80c3cc6: 6078 str r0, [r7, #4] 80c3cc8: 6039 str r1, [r7, #0] FRESULT res; UINT n; FATFS *fs = dp->obj.fs; 80c3cca: 687b ldr r3, [r7, #4] 80c3ccc: 681b ldr r3, [r3, #0] 80c3cce: 60fb str r3, [r7, #12] res = dir_sdi(dp, 0); 80c3cd0: 2100 movs r1, #0 80c3cd2: 6878 ldr r0, [r7, #4] 80c3cd4: f7ff fe99 bl 80c3a0a 80c3cd8: 4603 mov r3, r0 80c3cda: 75fb strb r3, [r7, #23] if (res == FR_OK) { 80c3cdc: 7dfb ldrb r3, [r7, #23] 80c3cde: 2b00 cmp r3, #0 80c3ce0: d140 bne.n 80c3d64 n = 0; 80c3ce2: 2300 movs r3, #0 80c3ce4: 613b str r3, [r7, #16] do { res = move_window(fs, dp->sect); 80c3ce6: 687b ldr r3, [r7, #4] 80c3ce8: 6b9b ldr r3, [r3, #56] ; 0x38 80c3cea: 4619 mov r1, r3 80c3cec: 68f8 ldr r0, [r7, #12] 80c3cee: f7ff f88c bl 80c2e0a 80c3cf2: 4603 mov r3, r0 80c3cf4: 75fb strb r3, [r7, #23] if (res != FR_OK) break; 80c3cf6: 7dfb ldrb r3, [r7, #23] 80c3cf8: 2b00 cmp r3, #0 80c3cfa: d132 bne.n 80c3d62 #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)) { 80c3cfc: 68fb ldr r3, [r7, #12] 80c3cfe: 781b ldrb r3, [r3, #0] 80c3d00: 2b04 cmp r3, #4 80c3d02: d108 bne.n 80c3d16 80c3d04: 687b ldr r3, [r7, #4] 80c3d06: 6bdb ldr r3, [r3, #60] ; 0x3c 80c3d08: 781b ldrb r3, [r3, #0] 80c3d0a: b25b sxtb r3, r3 80c3d0c: 43db mvns r3, r3 80c3d0e: b2db uxtb r3, r3 80c3d10: 09db lsrs r3, r3, #7 80c3d12: b2db uxtb r3, r3 80c3d14: e00f b.n 80c3d36 80c3d16: 687b ldr r3, [r7, #4] 80c3d18: 6bdb ldr r3, [r3, #60] ; 0x3c 80c3d1a: 781b ldrb r3, [r3, #0] 80c3d1c: 2be5 cmp r3, #229 ; 0xe5 80c3d1e: d004 beq.n 80c3d2a 80c3d20: 687b ldr r3, [r7, #4] 80c3d22: 6bdb ldr r3, [r3, #60] ; 0x3c 80c3d24: 781b ldrb r3, [r3, #0] 80c3d26: 2b00 cmp r3, #0 80c3d28: d101 bne.n 80c3d2e 80c3d2a: 2301 movs r3, #1 80c3d2c: e000 b.n 80c3d30 80c3d2e: 2300 movs r3, #0 80c3d30: f003 0301 and.w r3, r3, #1 80c3d34: b2db uxtb r3, r3 80c3d36: 2b00 cmp r3, #0 80c3d38: d007 beq.n 80c3d4a #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 */ 80c3d3a: 693b ldr r3, [r7, #16] 80c3d3c: 3301 adds r3, #1 80c3d3e: 613b str r3, [r7, #16] 80c3d40: 693a ldr r2, [r7, #16] 80c3d42: 683b ldr r3, [r7, #0] 80c3d44: 429a cmp r2, r3 80c3d46: d102 bne.n 80c3d4e 80c3d48: e00c b.n 80c3d64 } else { n = 0; /* Not a blank entry. Restart to search */ 80c3d4a: 2300 movs r3, #0 80c3d4c: 613b str r3, [r7, #16] } res = dir_next(dp, 1); 80c3d4e: 2101 movs r1, #1 80c3d50: 6878 ldr r0, [r7, #4] 80c3d52: f7ff fee0 bl 80c3b16 80c3d56: 4603 mov r3, r0 80c3d58: 75fb strb r3, [r7, #23] } while (res == FR_OK); /* Next entry with table stretch enabled */ 80c3d5a: 7dfb ldrb r3, [r7, #23] 80c3d5c: 2b00 cmp r3, #0 80c3d5e: d0c2 beq.n 80c3ce6 80c3d60: e000 b.n 80c3d64 if (res != FR_OK) break; 80c3d62: bf00 nop } if (res == FR_NO_FILE) res = FR_DENIED; /* No directory entry to allocate */ 80c3d64: 7dfb ldrb r3, [r7, #23] 80c3d66: 2b04 cmp r3, #4 80c3d68: d101 bne.n 80c3d6e 80c3d6a: 2307 movs r3, #7 80c3d6c: 75fb strb r3, [r7, #23] return res; 80c3d6e: 7dfb ldrb r3, [r7, #23] } 80c3d70: 4618 mov r0, r3 80c3d72: 3718 adds r7, #24 80c3d74: 46bd mov sp, r7 80c3d76: bd80 pop {r7, pc} 080c3d78 : 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 */ ) { 80c3d78: b580 push {r7, lr} 80c3d7a: b084 sub sp, #16 80c3d7c: af00 add r7, sp, #0 80c3d7e: 6078 str r0, [r7, #4] 80c3d80: 6039 str r1, [r7, #0] DWORD cl; cl = ld_word(dir + DIR_FstClusLO); 80c3d82: 683b ldr r3, [r7, #0] 80c3d84: 331a adds r3, #26 80c3d86: 4618 mov r0, r3 80c3d88: f7fe fdbc bl 80c2904 80c3d8c: 4603 mov r3, r0 80c3d8e: 60fb str r3, [r7, #12] if (fs->fs_type == FS_FAT32) { 80c3d90: 687b ldr r3, [r7, #4] 80c3d92: 781b ldrb r3, [r3, #0] 80c3d94: 2b03 cmp r3, #3 80c3d96: d109 bne.n 80c3dac cl |= (DWORD)ld_word(dir + DIR_FstClusHI) << 16; 80c3d98: 683b ldr r3, [r7, #0] 80c3d9a: 3314 adds r3, #20 80c3d9c: 4618 mov r0, r3 80c3d9e: f7fe fdb1 bl 80c2904 80c3da2: 4603 mov r3, r0 80c3da4: 041b lsls r3, r3, #16 80c3da6: 68fa ldr r2, [r7, #12] 80c3da8: 4313 orrs r3, r2 80c3daa: 60fb str r3, [r7, #12] } return cl; 80c3dac: 68fb ldr r3, [r7, #12] } 80c3dae: 4618 mov r0, r3 80c3db0: 3710 adds r7, #16 80c3db2: 46bd mov sp, r7 80c3db4: bd80 pop {r7, pc} 080c3db6 : void st_clust ( FATFS* fs, /* Pointer to the fs object */ BYTE* dir, /* Pointer to the key entry */ DWORD cl /* Value to be set */ ) { 80c3db6: b580 push {r7, lr} 80c3db8: b084 sub sp, #16 80c3dba: af00 add r7, sp, #0 80c3dbc: 60f8 str r0, [r7, #12] 80c3dbe: 60b9 str r1, [r7, #8] 80c3dc0: 607a str r2, [r7, #4] st_word(dir + DIR_FstClusLO, (WORD)cl); 80c3dc2: 68bb ldr r3, [r7, #8] 80c3dc4: 331a adds r3, #26 80c3dc6: 687a ldr r2, [r7, #4] 80c3dc8: b292 uxth r2, r2 80c3dca: 4611 mov r1, r2 80c3dcc: 4618 mov r0, r3 80c3dce: f7fe fe83 bl 80c2ad8 if (fs->fs_type == FS_FAT32) { 80c3dd2: 68fb ldr r3, [r7, #12] 80c3dd4: 781b ldrb r3, [r3, #0] 80c3dd6: 2b03 cmp r3, #3 80c3dd8: d109 bne.n 80c3dee st_word(dir + DIR_FstClusHI, (WORD)(cl >> 16)); 80c3dda: 68bb ldr r3, [r7, #8] 80c3ddc: f103 0214 add.w r2, r3, #20 80c3de0: 687b ldr r3, [r7, #4] 80c3de2: 0c1b lsrs r3, r3, #16 80c3de4: b29b uxth r3, r3 80c3de6: 4619 mov r1, r3 80c3de8: 4610 mov r0, r2 80c3dea: f7fe fe75 bl 80c2ad8 } } 80c3dee: bf00 nop 80c3df0: 3710 adds r7, #16 80c3df2: 46bd mov sp, r7 80c3df4: bd80 pop {r7, pc} ... 080c3df8 : 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 */ ) { 80c3df8: b590 push {r4, r7, lr} 80c3dfa: b087 sub sp, #28 80c3dfc: af00 add r7, sp, #0 80c3dfe: 6078 str r0, [r7, #4] 80c3e00: 6039 str r1, [r7, #0] UINT i, s; WCHAR wc, uc; if (ld_word(dir + LDIR_FstClusLO) != 0) return 0; /* Check LDIR_FstClusLO */ 80c3e02: 683b ldr r3, [r7, #0] 80c3e04: 331a adds r3, #26 80c3e06: 4618 mov r0, r3 80c3e08: f7fe fd7c bl 80c2904 80c3e0c: 4603 mov r3, r0 80c3e0e: 2b00 cmp r3, #0 80c3e10: d001 beq.n 80c3e16 80c3e12: 2300 movs r3, #0 80c3e14: e059 b.n 80c3eca i = ((dir[LDIR_Ord] & 0x3F) - 1) * 13; /* Offset in the LFN buffer */ 80c3e16: 683b ldr r3, [r7, #0] 80c3e18: 781b ldrb r3, [r3, #0] 80c3e1a: f003 033f and.w r3, r3, #63 ; 0x3f 80c3e1e: 1e5a subs r2, r3, #1 80c3e20: 4613 mov r3, r2 80c3e22: 005b lsls r3, r3, #1 80c3e24: 4413 add r3, r2 80c3e26: 009b lsls r3, r3, #2 80c3e28: 4413 add r3, r2 80c3e2a: 617b str r3, [r7, #20] for (wc = 1, s = 0; s < 13; s++) { /* Process all characters in the entry */ 80c3e2c: 2301 movs r3, #1 80c3e2e: 81fb strh r3, [r7, #14] 80c3e30: 2300 movs r3, #0 80c3e32: 613b str r3, [r7, #16] 80c3e34: e033 b.n 80c3e9e uc = ld_word(dir + LfnOfs[s]); /* Pick an LFN character */ 80c3e36: 4a27 ldr r2, [pc, #156] ; (80c3ed4 ) 80c3e38: 693b ldr r3, [r7, #16] 80c3e3a: 4413 add r3, r2 80c3e3c: 781b ldrb r3, [r3, #0] 80c3e3e: 461a mov r2, r3 80c3e40: 683b ldr r3, [r7, #0] 80c3e42: 4413 add r3, r2 80c3e44: 4618 mov r0, r3 80c3e46: f7fe fd5d bl 80c2904 80c3e4a: 4603 mov r3, r0 80c3e4c: 81bb strh r3, [r7, #12] if (wc) { 80c3e4e: 89fb ldrh r3, [r7, #14] 80c3e50: 2b00 cmp r3, #0 80c3e52: d01a beq.n 80c3e8a if (i >= _MAX_LFN || ff_wtoupper(uc) != ff_wtoupper(lfnbuf[i++])) { /* Compare it */ 80c3e54: 697b ldr r3, [r7, #20] 80c3e56: 2bfe cmp r3, #254 ; 0xfe 80c3e58: d812 bhi.n 80c3e80 80c3e5a: 89bb ldrh r3, [r7, #12] 80c3e5c: 4618 mov r0, r3 80c3e5e: f005 f841 bl 80c8ee4 80c3e62: 4603 mov r3, r0 80c3e64: 461c mov r4, r3 80c3e66: 697b ldr r3, [r7, #20] 80c3e68: 1c5a adds r2, r3, #1 80c3e6a: 617a str r2, [r7, #20] 80c3e6c: 005b lsls r3, r3, #1 80c3e6e: 687a ldr r2, [r7, #4] 80c3e70: 4413 add r3, r2 80c3e72: 881b ldrh r3, [r3, #0] 80c3e74: 4618 mov r0, r3 80c3e76: f005 f835 bl 80c8ee4 80c3e7a: 4603 mov r3, r0 80c3e7c: 429c cmp r4, r3 80c3e7e: d001 beq.n 80c3e84 return 0; /* Not matched */ 80c3e80: 2300 movs r3, #0 80c3e82: e022 b.n 80c3eca } wc = uc; 80c3e84: 89bb ldrh r3, [r7, #12] 80c3e86: 81fb strh r3, [r7, #14] 80c3e88: e006 b.n 80c3e98 } else { if (uc != 0xFFFF) return 0; /* Check filler */ 80c3e8a: 89bb ldrh r3, [r7, #12] 80c3e8c: f64f 72ff movw r2, #65535 ; 0xffff 80c3e90: 4293 cmp r3, r2 80c3e92: d001 beq.n 80c3e98 80c3e94: 2300 movs r3, #0 80c3e96: e018 b.n 80c3eca for (wc = 1, s = 0; s < 13; s++) { /* Process all characters in the entry */ 80c3e98: 693b ldr r3, [r7, #16] 80c3e9a: 3301 adds r3, #1 80c3e9c: 613b str r3, [r7, #16] 80c3e9e: 693b ldr r3, [r7, #16] 80c3ea0: 2b0c cmp r3, #12 80c3ea2: d9c8 bls.n 80c3e36 } } if ((dir[LDIR_Ord] & LLEF) && wc && lfnbuf[i]) return 0; /* Last segment matched but different length */ 80c3ea4: 683b ldr r3, [r7, #0] 80c3ea6: 781b ldrb r3, [r3, #0] 80c3ea8: f003 0340 and.w r3, r3, #64 ; 0x40 80c3eac: 2b00 cmp r3, #0 80c3eae: d00b beq.n 80c3ec8 80c3eb0: 89fb ldrh r3, [r7, #14] 80c3eb2: 2b00 cmp r3, #0 80c3eb4: d008 beq.n 80c3ec8 80c3eb6: 697b ldr r3, [r7, #20] 80c3eb8: 005b lsls r3, r3, #1 80c3eba: 687a ldr r2, [r7, #4] 80c3ebc: 4413 add r3, r2 80c3ebe: 881b ldrh r3, [r3, #0] 80c3ec0: 2b00 cmp r3, #0 80c3ec2: d001 beq.n 80c3ec8 80c3ec4: 2300 movs r3, #0 80c3ec6: e000 b.n 80c3eca return 1; /* The part of LFN matched */ 80c3ec8: 2301 movs r3, #1 } 80c3eca: 4618 mov r0, r3 80c3ecc: 371c adds r7, #28 80c3ece: 46bd mov sp, r7 80c3ed0: bd90 pop {r4, r7, pc} 80c3ed2: bf00 nop 80c3ed4: 08169c58 .word 0x08169c58 080c3ed8 : 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 */ ) { 80c3ed8: b580 push {r7, lr} 80c3eda: b086 sub sp, #24 80c3edc: af00 add r7, sp, #0 80c3ede: 6078 str r0, [r7, #4] 80c3ee0: 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 */ 80c3ee2: 683b ldr r3, [r7, #0] 80c3ee4: 331a adds r3, #26 80c3ee6: 4618 mov r0, r3 80c3ee8: f7fe fd0c bl 80c2904 80c3eec: 4603 mov r3, r0 80c3eee: 2b00 cmp r3, #0 80c3ef0: d001 beq.n 80c3ef6 80c3ef2: 2300 movs r3, #0 80c3ef4: e04d b.n 80c3f92 i = ((dir[LDIR_Ord] & ~LLEF) - 1) * 13; /* Offset in the LFN buffer */ 80c3ef6: 683b ldr r3, [r7, #0] 80c3ef8: 781b ldrb r3, [r3, #0] 80c3efa: f023 0340 bic.w r3, r3, #64 ; 0x40 80c3efe: 1e5a subs r2, r3, #1 80c3f00: 4613 mov r3, r2 80c3f02: 005b lsls r3, r3, #1 80c3f04: 4413 add r3, r2 80c3f06: 009b lsls r3, r3, #2 80c3f08: 4413 add r3, r2 80c3f0a: 617b str r3, [r7, #20] for (wc = 1, s = 0; s < 13; s++) { /* Process all characters in the entry */ 80c3f0c: 2301 movs r3, #1 80c3f0e: 81fb strh r3, [r7, #14] 80c3f10: 2300 movs r3, #0 80c3f12: 613b str r3, [r7, #16] 80c3f14: e028 b.n 80c3f68 uc = ld_word(dir + LfnOfs[s]); /* Pick an LFN character */ 80c3f16: 4a21 ldr r2, [pc, #132] ; (80c3f9c ) 80c3f18: 693b ldr r3, [r7, #16] 80c3f1a: 4413 add r3, r2 80c3f1c: 781b ldrb r3, [r3, #0] 80c3f1e: 461a mov r2, r3 80c3f20: 683b ldr r3, [r7, #0] 80c3f22: 4413 add r3, r2 80c3f24: 4618 mov r0, r3 80c3f26: f7fe fced bl 80c2904 80c3f2a: 4603 mov r3, r0 80c3f2c: 81bb strh r3, [r7, #12] if (wc) { 80c3f2e: 89fb ldrh r3, [r7, #14] 80c3f30: 2b00 cmp r3, #0 80c3f32: d00f beq.n 80c3f54 if (i >= _MAX_LFN) return 0; /* Buffer overflow? */ 80c3f34: 697b ldr r3, [r7, #20] 80c3f36: 2bfe cmp r3, #254 ; 0xfe 80c3f38: d901 bls.n 80c3f3e 80c3f3a: 2300 movs r3, #0 80c3f3c: e029 b.n 80c3f92 lfnbuf[i++] = wc = uc; /* Store it */ 80c3f3e: 697b ldr r3, [r7, #20] 80c3f40: 1c5a adds r2, r3, #1 80c3f42: 617a str r2, [r7, #20] 80c3f44: 005b lsls r3, r3, #1 80c3f46: 687a ldr r2, [r7, #4] 80c3f48: 4413 add r3, r2 80c3f4a: 89ba ldrh r2, [r7, #12] 80c3f4c: 81fa strh r2, [r7, #14] 80c3f4e: 89fa ldrh r2, [r7, #14] 80c3f50: 801a strh r2, [r3, #0] 80c3f52: e006 b.n 80c3f62 } else { if (uc != 0xFFFF) return 0; /* Check filler */ 80c3f54: 89bb ldrh r3, [r7, #12] 80c3f56: f64f 72ff movw r2, #65535 ; 0xffff 80c3f5a: 4293 cmp r3, r2 80c3f5c: d001 beq.n 80c3f62 80c3f5e: 2300 movs r3, #0 80c3f60: e017 b.n 80c3f92 for (wc = 1, s = 0; s < 13; s++) { /* Process all characters in the entry */ 80c3f62: 693b ldr r3, [r7, #16] 80c3f64: 3301 adds r3, #1 80c3f66: 613b str r3, [r7, #16] 80c3f68: 693b ldr r3, [r7, #16] 80c3f6a: 2b0c cmp r3, #12 80c3f6c: d9d3 bls.n 80c3f16 } } if (dir[LDIR_Ord] & LLEF) { /* Put terminator if it is the last LFN part */ 80c3f6e: 683b ldr r3, [r7, #0] 80c3f70: 781b ldrb r3, [r3, #0] 80c3f72: f003 0340 and.w r3, r3, #64 ; 0x40 80c3f76: 2b00 cmp r3, #0 80c3f78: d00a beq.n 80c3f90 if (i >= _MAX_LFN) return 0; /* Buffer overflow? */ 80c3f7a: 697b ldr r3, [r7, #20] 80c3f7c: 2bfe cmp r3, #254 ; 0xfe 80c3f7e: d901 bls.n 80c3f84 80c3f80: 2300 movs r3, #0 80c3f82: e006 b.n 80c3f92 lfnbuf[i] = 0; 80c3f84: 697b ldr r3, [r7, #20] 80c3f86: 005b lsls r3, r3, #1 80c3f88: 687a ldr r2, [r7, #4] 80c3f8a: 4413 add r3, r2 80c3f8c: 2200 movs r2, #0 80c3f8e: 801a strh r2, [r3, #0] } return 1; /* The part of LFN is valid */ 80c3f90: 2301 movs r3, #1 } 80c3f92: 4618 mov r0, r3 80c3f94: 3718 adds r7, #24 80c3f96: 46bd mov sp, r7 80c3f98: bd80 pop {r7, pc} 80c3f9a: bf00 nop 80c3f9c: 08169c58 .word 0x08169c58 080c3fa0 : 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 */ ) { 80c3fa0: b580 push {r7, lr} 80c3fa2: b088 sub sp, #32 80c3fa4: af00 add r7, sp, #0 80c3fa6: 60f8 str r0, [r7, #12] 80c3fa8: 60b9 str r1, [r7, #8] 80c3faa: 4611 mov r1, r2 80c3fac: 461a mov r2, r3 80c3fae: 460b mov r3, r1 80c3fb0: 71fb strb r3, [r7, #7] 80c3fb2: 4613 mov r3, r2 80c3fb4: 71bb strb r3, [r7, #6] UINT i, s; WCHAR wc; dir[LDIR_Chksum] = sum; /* Set checksum */ 80c3fb6: 68bb ldr r3, [r7, #8] 80c3fb8: 330d adds r3, #13 80c3fba: 79ba ldrb r2, [r7, #6] 80c3fbc: 701a strb r2, [r3, #0] dir[LDIR_Attr] = AM_LFN; /* Set attribute. LFN entry */ 80c3fbe: 68bb ldr r3, [r7, #8] 80c3fc0: 330b adds r3, #11 80c3fc2: 220f movs r2, #15 80c3fc4: 701a strb r2, [r3, #0] dir[LDIR_Type] = 0; 80c3fc6: 68bb ldr r3, [r7, #8] 80c3fc8: 330c adds r3, #12 80c3fca: 2200 movs r2, #0 80c3fcc: 701a strb r2, [r3, #0] st_word(dir + LDIR_FstClusLO, 0); 80c3fce: 68bb ldr r3, [r7, #8] 80c3fd0: 331a adds r3, #26 80c3fd2: 2100 movs r1, #0 80c3fd4: 4618 mov r0, r3 80c3fd6: f7fe fd7f bl 80c2ad8 i = (ord - 1) * 13; /* Get offset in the LFN working buffer */ 80c3fda: 79fb ldrb r3, [r7, #7] 80c3fdc: 1e5a subs r2, r3, #1 80c3fde: 4613 mov r3, r2 80c3fe0: 005b lsls r3, r3, #1 80c3fe2: 4413 add r3, r2 80c3fe4: 009b lsls r3, r3, #2 80c3fe6: 4413 add r3, r2 80c3fe8: 61fb str r3, [r7, #28] s = wc = 0; 80c3fea: 2300 movs r3, #0 80c3fec: 82fb strh r3, [r7, #22] 80c3fee: 2300 movs r3, #0 80c3ff0: 61bb str r3, [r7, #24] do { if (wc != 0xFFFF) wc = lfn[i++]; /* Get an effective character */ 80c3ff2: 8afb ldrh r3, [r7, #22] 80c3ff4: f64f 72ff movw r2, #65535 ; 0xffff 80c3ff8: 4293 cmp r3, r2 80c3ffa: d007 beq.n 80c400c 80c3ffc: 69fb ldr r3, [r7, #28] 80c3ffe: 1c5a adds r2, r3, #1 80c4000: 61fa str r2, [r7, #28] 80c4002: 005b lsls r3, r3, #1 80c4004: 68fa ldr r2, [r7, #12] 80c4006: 4413 add r3, r2 80c4008: 881b ldrh r3, [r3, #0] 80c400a: 82fb strh r3, [r7, #22] st_word(dir + LfnOfs[s], wc); /* Put it */ 80c400c: 4a17 ldr r2, [pc, #92] ; (80c406c ) 80c400e: 69bb ldr r3, [r7, #24] 80c4010: 4413 add r3, r2 80c4012: 781b ldrb r3, [r3, #0] 80c4014: 461a mov r2, r3 80c4016: 68bb ldr r3, [r7, #8] 80c4018: 4413 add r3, r2 80c401a: 8afa ldrh r2, [r7, #22] 80c401c: 4611 mov r1, r2 80c401e: 4618 mov r0, r3 80c4020: f7fe fd5a bl 80c2ad8 if (wc == 0) wc = 0xFFFF; /* Padding characters for left locations */ 80c4024: 8afb ldrh r3, [r7, #22] 80c4026: 2b00 cmp r3, #0 80c4028: d102 bne.n 80c4030 80c402a: f64f 73ff movw r3, #65535 ; 0xffff 80c402e: 82fb strh r3, [r7, #22] } while (++s < 13); 80c4030: 69bb ldr r3, [r7, #24] 80c4032: 3301 adds r3, #1 80c4034: 61bb str r3, [r7, #24] 80c4036: 69bb ldr r3, [r7, #24] 80c4038: 2b0c cmp r3, #12 80c403a: d9da bls.n 80c3ff2 if (wc == 0xFFFF || !lfn[i]) ord |= LLEF; /* Last LFN part is the start of LFN sequence */ 80c403c: 8afb ldrh r3, [r7, #22] 80c403e: f64f 72ff movw r2, #65535 ; 0xffff 80c4042: 4293 cmp r3, r2 80c4044: d006 beq.n 80c4054 80c4046: 69fb ldr r3, [r7, #28] 80c4048: 005b lsls r3, r3, #1 80c404a: 68fa ldr r2, [r7, #12] 80c404c: 4413 add r3, r2 80c404e: 881b ldrh r3, [r3, #0] 80c4050: 2b00 cmp r3, #0 80c4052: d103 bne.n 80c405c 80c4054: 79fb ldrb r3, [r7, #7] 80c4056: f043 0340 orr.w r3, r3, #64 ; 0x40 80c405a: 71fb strb r3, [r7, #7] dir[LDIR_Ord] = ord; /* Set the LFN order */ 80c405c: 68bb ldr r3, [r7, #8] 80c405e: 79fa ldrb r2, [r7, #7] 80c4060: 701a strb r2, [r3, #0] } 80c4062: bf00 nop 80c4064: 3720 adds r7, #32 80c4066: 46bd mov sp, r7 80c4068: bd80 pop {r7, pc} 80c406a: bf00 nop 80c406c: 08169c58 .word 0x08169c58 080c4070 : 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 */ ) { 80c4070: b580 push {r7, lr} 80c4072: b08c sub sp, #48 ; 0x30 80c4074: af00 add r7, sp, #0 80c4076: 60f8 str r0, [r7, #12] 80c4078: 60b9 str r1, [r7, #8] 80c407a: 607a str r2, [r7, #4] 80c407c: 603b str r3, [r7, #0] UINT i, j; WCHAR wc; DWORD sr; mem_cpy(dst, src, 11); 80c407e: 220b movs r2, #11 80c4080: 68b9 ldr r1, [r7, #8] 80c4082: 68f8 ldr r0, [r7, #12] 80c4084: f7fe fe00 bl 80c2c88 if (seq > 5) { /* In case of many collisions, generate a hash number instead of sequential number */ 80c4088: 683b ldr r3, [r7, #0] 80c408a: 2b05 cmp r3, #5 80c408c: d929 bls.n 80c40e2 sr = seq; 80c408e: 683b ldr r3, [r7, #0] 80c4090: 61fb str r3, [r7, #28] while (*lfn) { /* Create a CRC */ 80c4092: e020 b.n 80c40d6 wc = *lfn++; 80c4094: 687b ldr r3, [r7, #4] 80c4096: 1c9a adds r2, r3, #2 80c4098: 607a str r2, [r7, #4] 80c409a: 881b ldrh r3, [r3, #0] 80c409c: 847b strh r3, [r7, #34] ; 0x22 for (i = 0; i < 16; i++) { 80c409e: 2300 movs r3, #0 80c40a0: 62bb str r3, [r7, #40] ; 0x28 80c40a2: e015 b.n 80c40d0 sr = (sr << 1) + (wc & 1); 80c40a4: 69fb ldr r3, [r7, #28] 80c40a6: 005a lsls r2, r3, #1 80c40a8: 8c7b ldrh r3, [r7, #34] ; 0x22 80c40aa: f003 0301 and.w r3, r3, #1 80c40ae: 4413 add r3, r2 80c40b0: 61fb str r3, [r7, #28] wc >>= 1; 80c40b2: 8c7b ldrh r3, [r7, #34] ; 0x22 80c40b4: 085b lsrs r3, r3, #1 80c40b6: 847b strh r3, [r7, #34] ; 0x22 if (sr & 0x10000) sr ^= 0x11021; 80c40b8: 69fb ldr r3, [r7, #28] 80c40ba: f403 3380 and.w r3, r3, #65536 ; 0x10000 80c40be: 2b00 cmp r3, #0 80c40c0: d003 beq.n 80c40ca 80c40c2: 69fa ldr r2, [r7, #28] 80c40c4: 4b30 ldr r3, [pc, #192] ; (80c4188 ) 80c40c6: 4053 eors r3, r2 80c40c8: 61fb str r3, [r7, #28] for (i = 0; i < 16; i++) { 80c40ca: 6abb ldr r3, [r7, #40] ; 0x28 80c40cc: 3301 adds r3, #1 80c40ce: 62bb str r3, [r7, #40] ; 0x28 80c40d0: 6abb ldr r3, [r7, #40] ; 0x28 80c40d2: 2b0f cmp r3, #15 80c40d4: d9e6 bls.n 80c40a4 while (*lfn) { /* Create a CRC */ 80c40d6: 687b ldr r3, [r7, #4] 80c40d8: 881b ldrh r3, [r3, #0] 80c40da: 2b00 cmp r3, #0 80c40dc: d1da bne.n 80c4094 } } seq = (UINT)sr; 80c40de: 69fb ldr r3, [r7, #28] 80c40e0: 603b str r3, [r7, #0] } /* itoa (hexdecimal) */ i = 7; 80c40e2: 2307 movs r3, #7 80c40e4: 62bb str r3, [r7, #40] ; 0x28 do { c = (BYTE)((seq % 16) + '0'); 80c40e6: 683b ldr r3, [r7, #0] 80c40e8: b2db uxtb r3, r3 80c40ea: f003 030f and.w r3, r3, #15 80c40ee: b2db uxtb r3, r3 80c40f0: 3330 adds r3, #48 ; 0x30 80c40f2: f887 302f strb.w r3, [r7, #47] ; 0x2f if (c > '9') c += 7; 80c40f6: f897 302f ldrb.w r3, [r7, #47] ; 0x2f 80c40fa: 2b39 cmp r3, #57 ; 0x39 80c40fc: d904 bls.n 80c4108 80c40fe: f897 302f ldrb.w r3, [r7, #47] ; 0x2f 80c4102: 3307 adds r3, #7 80c4104: f887 302f strb.w r3, [r7, #47] ; 0x2f ns[i--] = c; 80c4108: 6abb ldr r3, [r7, #40] ; 0x28 80c410a: 1e5a subs r2, r3, #1 80c410c: 62ba str r2, [r7, #40] ; 0x28 80c410e: f107 0230 add.w r2, r7, #48 ; 0x30 80c4112: 4413 add r3, r2 80c4114: f897 202f ldrb.w r2, [r7, #47] ; 0x2f 80c4118: f803 2c1c strb.w r2, [r3, #-28] seq /= 16; 80c411c: 683b ldr r3, [r7, #0] 80c411e: 091b lsrs r3, r3, #4 80c4120: 603b str r3, [r7, #0] } while (seq); 80c4122: 683b ldr r3, [r7, #0] 80c4124: 2b00 cmp r3, #0 80c4126: d1de bne.n 80c40e6 ns[i] = '~'; 80c4128: f107 0214 add.w r2, r7, #20 80c412c: 6abb ldr r3, [r7, #40] ; 0x28 80c412e: 4413 add r3, r2 80c4130: 227e movs r2, #126 ; 0x7e 80c4132: 701a strb r2, [r3, #0] /* Append the number */ for (j = 0; j < i && dst[j] != ' '; j++) { 80c4134: 2300 movs r3, #0 80c4136: 627b str r3, [r7, #36] ; 0x24 80c4138: e002 b.n 80c4140 80c413a: 6a7b ldr r3, [r7, #36] ; 0x24 80c413c: 3301 adds r3, #1 80c413e: 627b str r3, [r7, #36] ; 0x24 80c4140: 6a7a ldr r2, [r7, #36] ; 0x24 80c4142: 6abb ldr r3, [r7, #40] ; 0x28 80c4144: 429a cmp r2, r3 80c4146: d205 bcs.n 80c4154 80c4148: 68fa ldr r2, [r7, #12] 80c414a: 6a7b ldr r3, [r7, #36] ; 0x24 80c414c: 4413 add r3, r2 80c414e: 781b ldrb r3, [r3, #0] 80c4150: 2b20 cmp r3, #32 80c4152: d1f2 bne.n 80c413a if (j == i - 1) break; j++; } } do { dst[j++] = (i < 8) ? ns[i++] : ' '; 80c4154: 6a7b ldr r3, [r7, #36] ; 0x24 80c4156: 1c5a adds r2, r3, #1 80c4158: 627a str r2, [r7, #36] ; 0x24 80c415a: 68fa ldr r2, [r7, #12] 80c415c: 441a add r2, r3 80c415e: 6abb ldr r3, [r7, #40] ; 0x28 80c4160: 2b07 cmp r3, #7 80c4162: d808 bhi.n 80c4176 80c4164: 6abb ldr r3, [r7, #40] ; 0x28 80c4166: 1c59 adds r1, r3, #1 80c4168: 62b9 str r1, [r7, #40] ; 0x28 80c416a: f107 0130 add.w r1, r7, #48 ; 0x30 80c416e: 440b add r3, r1 80c4170: f813 3c1c ldrb.w r3, [r3, #-28] 80c4174: e000 b.n 80c4178 80c4176: 2320 movs r3, #32 80c4178: 7013 strb r3, [r2, #0] } while (j < 8); 80c417a: 6a7b ldr r3, [r7, #36] ; 0x24 80c417c: 2b07 cmp r3, #7 80c417e: d9e9 bls.n 80c4154 } 80c4180: bf00 nop 80c4182: 3730 adds r7, #48 ; 0x30 80c4184: 46bd mov sp, r7 80c4186: bd80 pop {r7, pc} 80c4188: 00011021 .word 0x00011021 080c418c : static BYTE sum_sfn ( const BYTE* dir /* Pointer to the SFN entry */ ) { 80c418c: b480 push {r7} 80c418e: b085 sub sp, #20 80c4190: af00 add r7, sp, #0 80c4192: 6078 str r0, [r7, #4] BYTE sum = 0; 80c4194: 2300 movs r3, #0 80c4196: 73fb strb r3, [r7, #15] UINT n = 11; 80c4198: 230b movs r3, #11 80c419a: 60bb str r3, [r7, #8] do { sum = (sum >> 1) + (sum << 7) + *dir++; 80c419c: 7bfb ldrb r3, [r7, #15] 80c419e: b2da uxtb r2, r3 80c41a0: 0852 lsrs r2, r2, #1 80c41a2: 01db lsls r3, r3, #7 80c41a4: 4313 orrs r3, r2 80c41a6: b2da uxtb r2, r3 80c41a8: 687b ldr r3, [r7, #4] 80c41aa: 1c59 adds r1, r3, #1 80c41ac: 6079 str r1, [r7, #4] 80c41ae: 781b ldrb r3, [r3, #0] 80c41b0: 4413 add r3, r2 80c41b2: 73fb strb r3, [r7, #15] } while (--n); 80c41b4: 68bb ldr r3, [r7, #8] 80c41b6: 3b01 subs r3, #1 80c41b8: 60bb str r3, [r7, #8] 80c41ba: 68bb ldr r3, [r7, #8] 80c41bc: 2b00 cmp r3, #0 80c41be: d1ed bne.n 80c419c return sum; 80c41c0: 7bfb ldrb r3, [r7, #15] } 80c41c2: 4618 mov r0, r3 80c41c4: 3714 adds r7, #20 80c41c6: 46bd mov sp, r7 80c41c8: f85d 7b04 ldr.w r7, [sp], #4 80c41cc: 4770 bx lr 080c41ce : static WORD xdir_sum ( /* Get checksum of the directoly block */ const BYTE* dir /* Directory entry block to be calculated */ ) { 80c41ce: b480 push {r7} 80c41d0: b087 sub sp, #28 80c41d2: af00 add r7, sp, #0 80c41d4: 6078 str r0, [r7, #4] UINT i, szblk; WORD sum; szblk = (dir[XDIR_NumSec] + 1) * SZDIRE; 80c41d6: 687b ldr r3, [r7, #4] 80c41d8: 3301 adds r3, #1 80c41da: 781b ldrb r3, [r3, #0] 80c41dc: 3301 adds r3, #1 80c41de: 015b lsls r3, r3, #5 80c41e0: 60fb str r3, [r7, #12] for (i = sum = 0; i < szblk; i++) { 80c41e2: 2300 movs r3, #0 80c41e4: 827b strh r3, [r7, #18] 80c41e6: 2300 movs r3, #0 80c41e8: 617b str r3, [r7, #20] 80c41ea: e01e b.n 80c422a if (i == XDIR_SetSum) { /* Skip sum field */ 80c41ec: 697b ldr r3, [r7, #20] 80c41ee: 2b02 cmp r3, #2 80c41f0: d103 bne.n 80c41fa i++; 80c41f2: 697b ldr r3, [r7, #20] 80c41f4: 3301 adds r3, #1 80c41f6: 617b str r3, [r7, #20] 80c41f8: e014 b.n 80c4224 } else { sum = ((sum & 1) ? 0x8000 : 0) + (sum >> 1) + dir[i]; 80c41fa: 8a7b ldrh r3, [r7, #18] 80c41fc: f003 0301 and.w r3, r3, #1 80c4200: 2b00 cmp r3, #0 80c4202: d002 beq.n 80c420a 80c4204: f44f 4200 mov.w r2, #32768 ; 0x8000 80c4208: e000 b.n 80c420c 80c420a: 2200 movs r2, #0 80c420c: 8a7b ldrh r3, [r7, #18] 80c420e: 085b lsrs r3, r3, #1 80c4210: b29b uxth r3, r3 80c4212: 4413 add r3, r2 80c4214: b29a uxth r2, r3 80c4216: 6879 ldr r1, [r7, #4] 80c4218: 697b ldr r3, [r7, #20] 80c421a: 440b add r3, r1 80c421c: 781b ldrb r3, [r3, #0] 80c421e: b29b uxth r3, r3 80c4220: 4413 add r3, r2 80c4222: 827b strh r3, [r7, #18] for (i = sum = 0; i < szblk; i++) { 80c4224: 697b ldr r3, [r7, #20] 80c4226: 3301 adds r3, #1 80c4228: 617b str r3, [r7, #20] 80c422a: 697a ldr r2, [r7, #20] 80c422c: 68fb ldr r3, [r7, #12] 80c422e: 429a cmp r2, r3 80c4230: d3dc bcc.n 80c41ec } } return sum; 80c4232: 8a7b ldrh r3, [r7, #18] } 80c4234: 4618 mov r0, r3 80c4236: 371c adds r7, #28 80c4238: 46bd mov sp, r7 80c423a: f85d 7b04 ldr.w r7, [sp], #4 80c423e: 4770 bx lr 080c4240 : static WORD xname_sum ( /* Get check sum (to be used as hash) of the name */ const WCHAR* name /* File name to be calculated */ ) { 80c4240: b580 push {r7, lr} 80c4242: b084 sub sp, #16 80c4244: af00 add r7, sp, #0 80c4246: 6078 str r0, [r7, #4] WCHAR chr; WORD sum = 0; 80c4248: 2300 movs r3, #0 80c424a: 81fb strh r3, [r7, #14] while ((chr = *name++) != 0) { 80c424c: e02b b.n 80c42a6 chr = ff_wtoupper(chr); /* File name needs to be ignored case */ 80c424e: 89bb ldrh r3, [r7, #12] 80c4250: 4618 mov r0, r3 80c4252: f004 fe47 bl 80c8ee4 80c4256: 4603 mov r3, r0 80c4258: 81bb strh r3, [r7, #12] sum = ((sum & 1) ? 0x8000 : 0) + (sum >> 1) + (chr & 0xFF); 80c425a: 89fb ldrh r3, [r7, #14] 80c425c: f003 0301 and.w r3, r3, #1 80c4260: 2b00 cmp r3, #0 80c4262: d002 beq.n 80c426a 80c4264: f44f 4200 mov.w r2, #32768 ; 0x8000 80c4268: e000 b.n 80c426c 80c426a: 2200 movs r2, #0 80c426c: 89fb ldrh r3, [r7, #14] 80c426e: 085b lsrs r3, r3, #1 80c4270: b29b uxth r3, r3 80c4272: 4413 add r3, r2 80c4274: b29a uxth r2, r3 80c4276: 89bb ldrh r3, [r7, #12] 80c4278: b2db uxtb r3, r3 80c427a: b29b uxth r3, r3 80c427c: 4413 add r3, r2 80c427e: 81fb strh r3, [r7, #14] sum = ((sum & 1) ? 0x8000 : 0) + (sum >> 1) + (chr >> 8); 80c4280: 89fb ldrh r3, [r7, #14] 80c4282: f003 0301 and.w r3, r3, #1 80c4286: 2b00 cmp r3, #0 80c4288: d002 beq.n 80c4290 80c428a: f44f 4200 mov.w r2, #32768 ; 0x8000 80c428e: e000 b.n 80c4292 80c4290: 2200 movs r2, #0 80c4292: 89fb ldrh r3, [r7, #14] 80c4294: 085b lsrs r3, r3, #1 80c4296: b29b uxth r3, r3 80c4298: 4413 add r3, r2 80c429a: b29a uxth r2, r3 80c429c: 89bb ldrh r3, [r7, #12] 80c429e: 0a1b lsrs r3, r3, #8 80c42a0: b29b uxth r3, r3 80c42a2: 4413 add r3, r2 80c42a4: 81fb strh r3, [r7, #14] while ((chr = *name++) != 0) { 80c42a6: 687b ldr r3, [r7, #4] 80c42a8: 1c9a adds r2, r3, #2 80c42aa: 607a str r2, [r7, #4] 80c42ac: 881b ldrh r3, [r3, #0] 80c42ae: 81bb strh r3, [r7, #12] 80c42b0: 89bb ldrh r3, [r7, #12] 80c42b2: 2b00 cmp r3, #0 80c42b4: d1cb bne.n 80c424e } return sum; 80c42b6: 89fb ldrh r3, [r7, #14] } 80c42b8: 4618 mov r0, r3 80c42ba: 3710 adds r7, #16 80c42bc: 46bd mov sp, r7 80c42be: bd80 pop {r7, pc} 080c42c0 : static DWORD xsum32 ( BYTE dat, /* Data to be sumed */ DWORD sum /* Previous value */ ) { 80c42c0: b480 push {r7} 80c42c2: b083 sub sp, #12 80c42c4: af00 add r7, sp, #0 80c42c6: 4603 mov r3, r0 80c42c8: 6039 str r1, [r7, #0] 80c42ca: 71fb strb r3, [r7, #7] sum = ((sum & 1) ? 0x80000000 : 0) + (sum >> 1) + dat; 80c42cc: 683b ldr r3, [r7, #0] 80c42ce: f003 0301 and.w r3, r3, #1 80c42d2: 2b00 cmp r3, #0 80c42d4: d002 beq.n 80c42dc 80c42d6: f04f 4200 mov.w r2, #2147483648 ; 0x80000000 80c42da: e000 b.n 80c42de 80c42dc: 2200 movs r2, #0 80c42de: 683b ldr r3, [r7, #0] 80c42e0: 085b lsrs r3, r3, #1 80c42e2: 441a add r2, r3 80c42e4: 79fb ldrb r3, [r7, #7] 80c42e6: 4413 add r3, r2 80c42e8: 603b str r3, [r7, #0] return sum; 80c42ea: 683b ldr r3, [r7, #0] } 80c42ec: 4618 mov r0, r3 80c42ee: 370c adds r7, #12 80c42f0: 46bd mov sp, r7 80c42f2: f85d 7b04 ldr.w r7, [sp], #4 80c42f6: 4770 bx lr 080c42f8 : 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 */ ) { 80c42f8: b590 push {r4, r7, lr} 80c42fa: b087 sub sp, #28 80c42fc: af00 add r7, sp, #0 80c42fe: 6078 str r0, [r7, #4] 80c4300: 6039 str r1, [r7, #0] #if !_LFN_UNICODE UINT nc; #endif /* Get file name */ di = 0; 80c4302: 2300 movs r3, #0 80c4304: 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++) { 80c4306: 2340 movs r3, #64 ; 0x40 80c4308: 613b str r3, [r7, #16] 80c430a: 2300 movs r3, #0 80c430c: 60fb str r3, [r7, #12] 80c430e: e02c b.n 80c436a if ((si % SZDIRE) == 0) si += 2; /* Skip entry type field */ 80c4310: 693b ldr r3, [r7, #16] 80c4312: f003 031f and.w r3, r3, #31 80c4316: 2b00 cmp r3, #0 80c4318: d102 bne.n 80c4320 80c431a: 693b ldr r3, [r7, #16] 80c431c: 3302 adds r3, #2 80c431e: 613b str r3, [r7, #16] w = ff_convert(ld_word(dirb + si), 0); /* Get a character and Unicode -> OEM */ 80c4320: 687a ldr r2, [r7, #4] 80c4322: 693b ldr r3, [r7, #16] 80c4324: 4413 add r3, r2 80c4326: 4618 mov r0, r3 80c4328: f7fe faec bl 80c2904 80c432c: 4603 mov r3, r0 80c432e: 2100 movs r1, #0 80c4330: 4618 mov r0, r3 80c4332: f004 fd9b bl 80c8e6c 80c4336: 4603 mov r3, r0 80c4338: 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 */ 80c433a: 897b ldrh r3, [r7, #10] 80c433c: 2b00 cmp r3, #0 80c433e: d002 beq.n 80c4346 80c4340: 697b ldr r3, [r7, #20] 80c4342: 2bfe cmp r3, #254 ; 0xfe 80c4344: d902 bls.n 80c434c 80c4346: 2300 movs r3, #0 80c4348: 617b str r3, [r7, #20] 80c434a: e015 b.n 80c4378 fno->fname[di++] = (char)w; 80c434c: 697b ldr r3, [r7, #20] 80c434e: 1c5a adds r2, r3, #1 80c4350: 617a str r2, [r7, #20] 80c4352: 897a ldrh r2, [r7, #10] 80c4354: b2d1 uxtb r1, r2 80c4356: 683a ldr r2, [r7, #0] 80c4358: 4413 add r3, r2 80c435a: 460a mov r2, r1 80c435c: 769a strb r2, [r3, #26] for (si = SZDIRE * 2, nc = 0; nc < dirb[XDIR_NumName]; si += 2, nc++) { 80c435e: 693b ldr r3, [r7, #16] 80c4360: 3302 adds r3, #2 80c4362: 613b str r3, [r7, #16] 80c4364: 68fb ldr r3, [r7, #12] 80c4366: 3301 adds r3, #1 80c4368: 60fb str r3, [r7, #12] 80c436a: 687b ldr r3, [r7, #4] 80c436c: 3323 adds r3, #35 ; 0x23 80c436e: 781b ldrb r3, [r3, #0] 80c4370: 461a mov r2, r3 80c4372: 68fb ldr r3, [r7, #12] 80c4374: 429a cmp r2, r3 80c4376: d8cb bhi.n 80c4310 } #endif if (di == 0) fno->fname[di++] = '?'; /* Inaccessible object name? */ 80c4378: 697b ldr r3, [r7, #20] 80c437a: 2b00 cmp r3, #0 80c437c: d106 bne.n 80c438c 80c437e: 697b ldr r3, [r7, #20] 80c4380: 1c5a adds r2, r3, #1 80c4382: 617a str r2, [r7, #20] 80c4384: 683a ldr r2, [r7, #0] 80c4386: 4413 add r3, r2 80c4388: 223f movs r2, #63 ; 0x3f 80c438a: 769a strb r2, [r3, #26] fno->fname[di] = 0; /* Terminate file name */ 80c438c: 683a ldr r2, [r7, #0] 80c438e: 697b ldr r3, [r7, #20] 80c4390: 4413 add r3, r2 80c4392: 331a adds r3, #26 80c4394: 2200 movs r2, #0 80c4396: 701a strb r2, [r3, #0] fno->altname[0] = 0; /* No SFN */ 80c4398: 683b ldr r3, [r7, #0] 80c439a: 2200 movs r2, #0 80c439c: 735a strb r2, [r3, #13] fno->fattrib = dirb[XDIR_Attr]; /* Attribute */ 80c439e: 687b ldr r3, [r7, #4] 80c43a0: 791a ldrb r2, [r3, #4] 80c43a2: 683b ldr r3, [r7, #0] 80c43a4: 731a strb r2, [r3, #12] fno->fsize = (fno->fattrib & AM_DIR) ? 0 : ld_qword(dirb + XDIR_FileSize); /* Size */ 80c43a6: 683b ldr r3, [r7, #0] 80c43a8: 7b1b ldrb r3, [r3, #12] 80c43aa: f003 0310 and.w r3, r3, #16 80c43ae: 2b00 cmp r3, #0 80c43b0: d107 bne.n 80c43c2 80c43b2: 687b ldr r3, [r7, #4] 80c43b4: 3338 adds r3, #56 ; 0x38 80c43b6: 4618 mov r0, r3 80c43b8: f7fe fadf bl 80c297a 80c43bc: 4603 mov r3, r0 80c43be: 460c mov r4, r1 80c43c0: e003 b.n 80c43ca 80c43c2: f04f 0300 mov.w r3, #0 80c43c6: f04f 0400 mov.w r4, #0 80c43ca: 683a ldr r2, [r7, #0] 80c43cc: e882 0018 stmia.w r2, {r3, r4} fno->ftime = ld_word(dirb + XDIR_ModTime + 0); /* Time */ 80c43d0: 687b ldr r3, [r7, #4] 80c43d2: 330c adds r3, #12 80c43d4: 4618 mov r0, r3 80c43d6: f7fe fa95 bl 80c2904 80c43da: 4603 mov r3, r0 80c43dc: 461a mov r2, r3 80c43de: 683b ldr r3, [r7, #0] 80c43e0: 815a strh r2, [r3, #10] fno->fdate = ld_word(dirb + XDIR_ModTime + 2); /* Date */ 80c43e2: 687b ldr r3, [r7, #4] 80c43e4: 330e adds r3, #14 80c43e6: 4618 mov r0, r3 80c43e8: f7fe fa8c bl 80c2904 80c43ec: 4603 mov r3, r0 80c43ee: 461a mov r2, r3 80c43f0: 683b ldr r3, [r7, #0] 80c43f2: 811a strh r2, [r3, #8] } 80c43f4: bf00 nop 80c43f6: 371c adds r7, #28 80c43f8: 46bd mov sp, r7 80c43fa: bd90 pop {r4, r7, pc} 080c43fc : static FRESULT load_xdir ( /* FR_INT_ERR: invalid entry block */ DIR* dp /* Pointer to the reading direcotry object pointing the 85 entry */ ) { 80c43fc: b590 push {r4, r7, lr} 80c43fe: b087 sub sp, #28 80c4400: af00 add r7, sp, #0 80c4402: 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 */ 80c4404: 687b ldr r3, [r7, #4] 80c4406: 681b ldr r3, [r3, #0] 80c4408: 691b ldr r3, [r3, #16] 80c440a: 613b str r3, [r7, #16] /* Load 85 entry */ res = move_window(dp->obj.fs, dp->sect); 80c440c: 687b ldr r3, [r7, #4] 80c440e: 681a ldr r2, [r3, #0] 80c4410: 687b ldr r3, [r7, #4] 80c4412: 6b9b ldr r3, [r3, #56] ; 0x38 80c4414: 4619 mov r1, r3 80c4416: 4610 mov r0, r2 80c4418: f7fe fcf7 bl 80c2e0a 80c441c: 4603 mov r3, r0 80c441e: 73fb strb r3, [r7, #15] if (res != FR_OK) return res; 80c4420: 7bfb ldrb r3, [r7, #15] 80c4422: 2b00 cmp r3, #0 80c4424: d001 beq.n 80c442a 80c4426: 7bfb ldrb r3, [r7, #15] 80c4428: e09f b.n 80c456a if (dp->dir[XDIR_Type] != 0x85) return FR_INT_ERR; 80c442a: 687b ldr r3, [r7, #4] 80c442c: 6bdb ldr r3, [r3, #60] ; 0x3c 80c442e: 781b ldrb r3, [r3, #0] 80c4430: 2b85 cmp r3, #133 ; 0x85 80c4432: d001 beq.n 80c4438 80c4434: 2302 movs r3, #2 80c4436: e098 b.n 80c456a mem_cpy(dirb + 0, dp->dir, SZDIRE); 80c4438: 687b ldr r3, [r7, #4] 80c443a: 6bdb ldr r3, [r3, #60] ; 0x3c 80c443c: 2220 movs r2, #32 80c443e: 4619 mov r1, r3 80c4440: 6938 ldr r0, [r7, #16] 80c4442: f7fe fc21 bl 80c2c88 sz_ent = (dirb[XDIR_NumSec] + 1) * SZDIRE; 80c4446: 693b ldr r3, [r7, #16] 80c4448: 3301 adds r3, #1 80c444a: 781b ldrb r3, [r3, #0] 80c444c: 3301 adds r3, #1 80c444e: 015b lsls r3, r3, #5 80c4450: 60bb str r3, [r7, #8] if (sz_ent < 3 * SZDIRE || sz_ent > 19 * SZDIRE) return FR_INT_ERR; 80c4452: 68bb ldr r3, [r7, #8] 80c4454: 2b5f cmp r3, #95 ; 0x5f 80c4456: d903 bls.n 80c4460 80c4458: 68bb ldr r3, [r7, #8] 80c445a: f5b3 7f18 cmp.w r3, #608 ; 0x260 80c445e: d901 bls.n 80c4464 80c4460: 2302 movs r3, #2 80c4462: e082 b.n 80c456a /* Load C0 entry */ res = dir_next(dp, 0); 80c4464: 2100 movs r1, #0 80c4466: 6878 ldr r0, [r7, #4] 80c4468: f7ff fb55 bl 80c3b16 80c446c: 4603 mov r3, r0 80c446e: 73fb strb r3, [r7, #15] if (res != FR_OK) return res; 80c4470: 7bfb ldrb r3, [r7, #15] 80c4472: 2b00 cmp r3, #0 80c4474: d001 beq.n 80c447a 80c4476: 7bfb ldrb r3, [r7, #15] 80c4478: e077 b.n 80c456a res = move_window(dp->obj.fs, dp->sect); 80c447a: 687b ldr r3, [r7, #4] 80c447c: 681a ldr r2, [r3, #0] 80c447e: 687b ldr r3, [r7, #4] 80c4480: 6b9b ldr r3, [r3, #56] ; 0x38 80c4482: 4619 mov r1, r3 80c4484: 4610 mov r0, r2 80c4486: f7fe fcc0 bl 80c2e0a 80c448a: 4603 mov r3, r0 80c448c: 73fb strb r3, [r7, #15] if (res != FR_OK) return res; 80c448e: 7bfb ldrb r3, [r7, #15] 80c4490: 2b00 cmp r3, #0 80c4492: d001 beq.n 80c4498 80c4494: 7bfb ldrb r3, [r7, #15] 80c4496: e068 b.n 80c456a if (dp->dir[XDIR_Type] != 0xC0) return FR_INT_ERR; 80c4498: 687b ldr r3, [r7, #4] 80c449a: 6bdb ldr r3, [r3, #60] ; 0x3c 80c449c: 781b ldrb r3, [r3, #0] 80c449e: 2bc0 cmp r3, #192 ; 0xc0 80c44a0: d001 beq.n 80c44a6 80c44a2: 2302 movs r3, #2 80c44a4: e061 b.n 80c456a mem_cpy(dirb + SZDIRE, dp->dir, SZDIRE); 80c44a6: 693b ldr r3, [r7, #16] 80c44a8: f103 0020 add.w r0, r3, #32 80c44ac: 687b ldr r3, [r7, #4] 80c44ae: 6bdb ldr r3, [r3, #60] ; 0x3c 80c44b0: 2220 movs r2, #32 80c44b2: 4619 mov r1, r3 80c44b4: f7fe fbe8 bl 80c2c88 if (MAXDIRB(dirb[XDIR_NumName]) > sz_ent) return FR_INT_ERR; 80c44b8: 693b ldr r3, [r7, #16] 80c44ba: 3323 adds r3, #35 ; 0x23 80c44bc: 781b ldrb r3, [r3, #0] 80c44be: 332c adds r3, #44 ; 0x2c 80c44c0: 4a2c ldr r2, [pc, #176] ; (80c4574 ) 80c44c2: fba2 2303 umull r2, r3, r2, r3 80c44c6: 08db lsrs r3, r3, #3 80c44c8: 015a lsls r2, r3, #5 80c44ca: 68bb ldr r3, [r7, #8] 80c44cc: 429a cmp r2, r3 80c44ce: d901 bls.n 80c44d4 80c44d0: 2302 movs r3, #2 80c44d2: e04a b.n 80c456a /* Load C1 entries */ i = SZDIRE * 2; /* C1 offset */ 80c44d4: 2340 movs r3, #64 ; 0x40 80c44d6: 617b str r3, [r7, #20] do { res = dir_next(dp, 0); 80c44d8: 2100 movs r1, #0 80c44da: 6878 ldr r0, [r7, #4] 80c44dc: f7ff fb1b bl 80c3b16 80c44e0: 4603 mov r3, r0 80c44e2: 73fb strb r3, [r7, #15] if (res != FR_OK) return res; 80c44e4: 7bfb ldrb r3, [r7, #15] 80c44e6: 2b00 cmp r3, #0 80c44e8: d001 beq.n 80c44ee 80c44ea: 7bfb ldrb r3, [r7, #15] 80c44ec: e03d b.n 80c456a res = move_window(dp->obj.fs, dp->sect); 80c44ee: 687b ldr r3, [r7, #4] 80c44f0: 681a ldr r2, [r3, #0] 80c44f2: 687b ldr r3, [r7, #4] 80c44f4: 6b9b ldr r3, [r3, #56] ; 0x38 80c44f6: 4619 mov r1, r3 80c44f8: 4610 mov r0, r2 80c44fa: f7fe fc86 bl 80c2e0a 80c44fe: 4603 mov r3, r0 80c4500: 73fb strb r3, [r7, #15] if (res != FR_OK) return res; 80c4502: 7bfb ldrb r3, [r7, #15] 80c4504: 2b00 cmp r3, #0 80c4506: d001 beq.n 80c450c 80c4508: 7bfb ldrb r3, [r7, #15] 80c450a: e02e b.n 80c456a if (dp->dir[XDIR_Type] != 0xC1) return FR_INT_ERR; 80c450c: 687b ldr r3, [r7, #4] 80c450e: 6bdb ldr r3, [r3, #60] ; 0x3c 80c4510: 781b ldrb r3, [r3, #0] 80c4512: 2bc1 cmp r3, #193 ; 0xc1 80c4514: d001 beq.n 80c451a 80c4516: 2302 movs r3, #2 80c4518: e027 b.n 80c456a if (i < MAXDIRB(_MAX_LFN)) mem_cpy(dirb + i, dp->dir, SZDIRE); 80c451a: 697b ldr r3, [r7, #20] 80c451c: f5b3 7f18 cmp.w r3, #608 ; 0x260 80c4520: d208 bcs.n 80c4534 80c4522: 693a ldr r2, [r7, #16] 80c4524: 697b ldr r3, [r7, #20] 80c4526: 18d0 adds r0, r2, r3 80c4528: 687b ldr r3, [r7, #4] 80c452a: 6bdb ldr r3, [r3, #60] ; 0x3c 80c452c: 2220 movs r2, #32 80c452e: 4619 mov r1, r3 80c4530: f7fe fbaa bl 80c2c88 } while ((i += SZDIRE) < sz_ent); 80c4534: 697b ldr r3, [r7, #20] 80c4536: 3320 adds r3, #32 80c4538: 617b str r3, [r7, #20] 80c453a: 697a ldr r2, [r7, #20] 80c453c: 68bb ldr r3, [r7, #8] 80c453e: 429a cmp r2, r3 80c4540: d3ca bcc.n 80c44d8 /* Sanity check (do it when accessible object name) */ if (i <= MAXDIRB(_MAX_LFN)) { 80c4542: 697b ldr r3, [r7, #20] 80c4544: f5b3 7f18 cmp.w r3, #608 ; 0x260 80c4548: d80e bhi.n 80c4568 if (xdir_sum(dirb) != ld_word(dirb + XDIR_SetSum)) return FR_INT_ERR; 80c454a: 6938 ldr r0, [r7, #16] 80c454c: f7ff fe3f bl 80c41ce 80c4550: 4603 mov r3, r0 80c4552: 461c mov r4, r3 80c4554: 693b ldr r3, [r7, #16] 80c4556: 3302 adds r3, #2 80c4558: 4618 mov r0, r3 80c455a: f7fe f9d3 bl 80c2904 80c455e: 4603 mov r3, r0 80c4560: 429c cmp r4, r3 80c4562: d001 beq.n 80c4568 80c4564: 2302 movs r3, #2 80c4566: e000 b.n 80c456a } return FR_OK; 80c4568: 2300 movs r3, #0 } 80c456a: 4618 mov r0, r3 80c456c: 371c adds r7, #28 80c456e: 46bd mov sp, r7 80c4570: bd90 pop {r4, r7, pc} 80c4572: bf00 nop 80c4574: 88888889 .word 0x88888889 080c4578 : 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 */ ) { 80c4578: b590 push {r4, r7, lr} 80c457a: b085 sub sp, #20 80c457c: af00 add r7, sp, #0 80c457e: 6078 str r0, [r7, #4] 80c4580: 6039 str r1, [r7, #0] FRESULT res; /* Open object containing directory */ dp->obj.fs = obj->fs; 80c4582: 683b ldr r3, [r7, #0] 80c4584: 681a ldr r2, [r3, #0] 80c4586: 687b ldr r3, [r7, #4] 80c4588: 601a str r2, [r3, #0] dp->obj.sclust = obj->c_scl; 80c458a: 683b ldr r3, [r7, #0] 80c458c: 6a1a ldr r2, [r3, #32] 80c458e: 687b ldr r3, [r7, #4] 80c4590: 609a str r2, [r3, #8] dp->obj.stat = (BYTE)obj->c_size; 80c4592: 683b ldr r3, [r7, #0] 80c4594: 6a5b ldr r3, [r3, #36] ; 0x24 80c4596: b2da uxtb r2, r3 80c4598: 687b ldr r3, [r7, #4] 80c459a: 71da strb r2, [r3, #7] dp->obj.objsize = obj->c_size & 0xFFFFFF00; 80c459c: 683b ldr r3, [r7, #0] 80c459e: 6a5b ldr r3, [r3, #36] ; 0x24 80c45a0: f04f 0400 mov.w r4, #0 80c45a4: f06f 01ff mvn.w r1, #255 ; 0xff 80c45a8: f04f 0200 mov.w r2, #0 80c45ac: ea03 0301 and.w r3, r3, r1 80c45b0: ea04 0402 and.w r4, r4, r2 80c45b4: 687a ldr r2, [r7, #4] 80c45b6: e9c2 3404 strd r3, r4, [r2, #16] dp->blk_ofs = obj->c_ofs; 80c45ba: 683b ldr r3, [r7, #0] 80c45bc: 6a9a ldr r2, [r3, #40] ; 0x28 80c45be: 687b ldr r3, [r7, #4] 80c45c0: 64da str r2, [r3, #76] ; 0x4c res = dir_sdi(dp, dp->blk_ofs); /* Goto object's entry block */ 80c45c2: 687b ldr r3, [r7, #4] 80c45c4: 6cdb ldr r3, [r3, #76] ; 0x4c 80c45c6: 4619 mov r1, r3 80c45c8: 6878 ldr r0, [r7, #4] 80c45ca: f7ff fa1e bl 80c3a0a 80c45ce: 4603 mov r3, r0 80c45d0: 73fb strb r3, [r7, #15] if (res == FR_OK) { 80c45d2: 7bfb ldrb r3, [r7, #15] 80c45d4: 2b00 cmp r3, #0 80c45d6: d104 bne.n 80c45e2 res = load_xdir(dp); /* Load the object's entry block */ 80c45d8: 6878 ldr r0, [r7, #4] 80c45da: f7ff ff0f bl 80c43fc 80c45de: 4603 mov r3, r0 80c45e0: 73fb strb r3, [r7, #15] } return res; 80c45e2: 7bfb ldrb r3, [r7, #15] } 80c45e4: 4618 mov r0, r3 80c45e6: 3714 adds r7, #20 80c45e8: 46bd mov sp, r7 80c45ea: bd90 pop {r4, r7, pc} 080c45ec : /*-----------------------------------------------*/ static FRESULT store_xdir ( DIR* dp /* Pointer to the direcotry object */ ) { 80c45ec: b590 push {r4, r7, lr} 80c45ee: b087 sub sp, #28 80c45f0: af00 add r7, sp, #0 80c45f2: 6078 str r0, [r7, #4] FRESULT res; UINT nent; BYTE* dirb = dp->obj.fs->dirbuf; /* Pointer to the direcotry entry block 85+C0+C1s */ 80c45f4: 687b ldr r3, [r7, #4] 80c45f6: 681b ldr r3, [r3, #0] 80c45f8: 691b ldr r3, [r3, #16] 80c45fa: 60fb str r3, [r7, #12] /* Create set sum */ st_word(dirb + XDIR_SetSum, xdir_sum(dirb)); 80c45fc: 68fb ldr r3, [r7, #12] 80c45fe: 1c9c adds r4, r3, #2 80c4600: 68f8 ldr r0, [r7, #12] 80c4602: f7ff fde4 bl 80c41ce 80c4606: 4603 mov r3, r0 80c4608: 4619 mov r1, r3 80c460a: 4620 mov r0, r4 80c460c: f7fe fa64 bl 80c2ad8 nent = dirb[XDIR_NumSec] + 1; 80c4610: 68fb ldr r3, [r7, #12] 80c4612: 3301 adds r3, #1 80c4614: 781b ldrb r3, [r3, #0] 80c4616: 3301 adds r3, #1 80c4618: 613b str r3, [r7, #16] /* Store the set of directory to the volume */ res = dir_sdi(dp, dp->blk_ofs); 80c461a: 687b ldr r3, [r7, #4] 80c461c: 6cdb ldr r3, [r3, #76] ; 0x4c 80c461e: 4619 mov r1, r3 80c4620: 6878 ldr r0, [r7, #4] 80c4622: f7ff f9f2 bl 80c3a0a 80c4626: 4603 mov r3, r0 80c4628: 75fb strb r3, [r7, #23] while (res == FR_OK) { 80c462a: e026 b.n 80c467a res = move_window(dp->obj.fs, dp->sect); 80c462c: 687b ldr r3, [r7, #4] 80c462e: 681a ldr r2, [r3, #0] 80c4630: 687b ldr r3, [r7, #4] 80c4632: 6b9b ldr r3, [r3, #56] ; 0x38 80c4634: 4619 mov r1, r3 80c4636: 4610 mov r0, r2 80c4638: f7fe fbe7 bl 80c2e0a 80c463c: 4603 mov r3, r0 80c463e: 75fb strb r3, [r7, #23] if (res != FR_OK) break; 80c4640: 7dfb ldrb r3, [r7, #23] 80c4642: 2b00 cmp r3, #0 80c4644: d11d bne.n 80c4682 mem_cpy(dp->dir, dirb, SZDIRE); 80c4646: 687b ldr r3, [r7, #4] 80c4648: 6bdb ldr r3, [r3, #60] ; 0x3c 80c464a: 2220 movs r2, #32 80c464c: 68f9 ldr r1, [r7, #12] 80c464e: 4618 mov r0, r3 80c4650: f7fe fb1a bl 80c2c88 dp->obj.fs->wflag = 1; 80c4654: 687b ldr r3, [r7, #4] 80c4656: 681b ldr r3, [r3, #0] 80c4658: 2201 movs r2, #1 80c465a: 70da strb r2, [r3, #3] if (--nent == 0) break; 80c465c: 693b ldr r3, [r7, #16] 80c465e: 3b01 subs r3, #1 80c4660: 613b str r3, [r7, #16] 80c4662: 693b ldr r3, [r7, #16] 80c4664: 2b00 cmp r3, #0 80c4666: d00e beq.n 80c4686 dirb += SZDIRE; 80c4668: 68fb ldr r3, [r7, #12] 80c466a: 3320 adds r3, #32 80c466c: 60fb str r3, [r7, #12] res = dir_next(dp, 0); 80c466e: 2100 movs r1, #0 80c4670: 6878 ldr r0, [r7, #4] 80c4672: f7ff fa50 bl 80c3b16 80c4676: 4603 mov r3, r0 80c4678: 75fb strb r3, [r7, #23] while (res == FR_OK) { 80c467a: 7dfb ldrb r3, [r7, #23] 80c467c: 2b00 cmp r3, #0 80c467e: d0d5 beq.n 80c462c 80c4680: e002 b.n 80c4688 if (res != FR_OK) break; 80c4682: bf00 nop 80c4684: e000 b.n 80c4688 if (--nent == 0) break; 80c4686: bf00 nop } return (res == FR_OK || res == FR_DISK_ERR) ? res : FR_INT_ERR; 80c4688: 7dfb ldrb r3, [r7, #23] 80c468a: 2b00 cmp r3, #0 80c468c: d002 beq.n 80c4694 80c468e: 7dfb ldrb r3, [r7, #23] 80c4690: 2b01 cmp r3, #1 80c4692: d101 bne.n 80c4698 80c4694: 7dfb ldrb r3, [r7, #23] 80c4696: e000 b.n 80c469a 80c4698: 2302 movs r3, #2 } 80c469a: 4618 mov r0, r3 80c469c: 371c adds r7, #28 80c469e: 46bd mov sp, r7 80c46a0: bd90 pop {r4, r7, pc} 080c46a2 : static void create_xdir ( BYTE* dirb, /* Pointer to the direcotry entry block buffer */ const WCHAR* lfn /* Pointer to the nul terminated file name */ ) { 80c46a2: b590 push {r4, r7, lr} 80c46a4: b085 sub sp, #20 80c46a6: af00 add r7, sp, #0 80c46a8: 6078 str r0, [r7, #4] 80c46aa: 6039 str r1, [r7, #0] BYTE nb, nc; WCHAR chr; /* Create 85+C0 entry */ mem_set(dirb, 0, 2 * SZDIRE); 80c46ac: 2240 movs r2, #64 ; 0x40 80c46ae: 2100 movs r1, #0 80c46b0: 6878 ldr r0, [r7, #4] 80c46b2: f7fe fb0a bl 80c2cca dirb[XDIR_Type] = 0x85; 80c46b6: 687b ldr r3, [r7, #4] 80c46b8: 2285 movs r2, #133 ; 0x85 80c46ba: 701a strb r2, [r3, #0] dirb[XDIR_Type + SZDIRE] = 0xC0; 80c46bc: 687b ldr r3, [r7, #4] 80c46be: 3320 adds r3, #32 80c46c0: 22c0 movs r2, #192 ; 0xc0 80c46c2: 701a strb r2, [r3, #0] /* Create C1 entries */ nc = 0; nb = 1; chr = 1; i = SZDIRE * 2; 80c46c4: 2300 movs r3, #0 80c46c6: 72bb strb r3, [r7, #10] 80c46c8: 2301 movs r3, #1 80c46ca: 72fb strb r3, [r7, #11] 80c46cc: 2301 movs r3, #1 80c46ce: 813b strh r3, [r7, #8] 80c46d0: 2340 movs r3, #64 ; 0x40 80c46d2: 60fb str r3, [r7, #12] do { dirb[i++] = 0xC1; dirb[i++] = 0; /* Entry type C1 */ 80c46d4: 68fb ldr r3, [r7, #12] 80c46d6: 1c5a adds r2, r3, #1 80c46d8: 60fa str r2, [r7, #12] 80c46da: 687a ldr r2, [r7, #4] 80c46dc: 4413 add r3, r2 80c46de: 22c1 movs r2, #193 ; 0xc1 80c46e0: 701a strb r2, [r3, #0] 80c46e2: 68fb ldr r3, [r7, #12] 80c46e4: 1c5a adds r2, r3, #1 80c46e6: 60fa str r2, [r7, #12] 80c46e8: 687a ldr r2, [r7, #4] 80c46ea: 4413 add r3, r2 80c46ec: 2200 movs r2, #0 80c46ee: 701a strb r2, [r3, #0] do { /* Fill name field */ if (chr && (chr = lfn[nc]) != 0) nc++; /* Get a character if exist */ 80c46f0: 893b ldrh r3, [r7, #8] 80c46f2: 2b00 cmp r3, #0 80c46f4: d00b beq.n 80c470e 80c46f6: 7abb ldrb r3, [r7, #10] 80c46f8: 005b lsls r3, r3, #1 80c46fa: 683a ldr r2, [r7, #0] 80c46fc: 4413 add r3, r2 80c46fe: 881b ldrh r3, [r3, #0] 80c4700: 813b strh r3, [r7, #8] 80c4702: 893b ldrh r3, [r7, #8] 80c4704: 2b00 cmp r3, #0 80c4706: d002 beq.n 80c470e 80c4708: 7abb ldrb r3, [r7, #10] 80c470a: 3301 adds r3, #1 80c470c: 72bb strb r3, [r7, #10] st_word(dirb + i, chr); /* Store it */ 80c470e: 687a ldr r2, [r7, #4] 80c4710: 68fb ldr r3, [r7, #12] 80c4712: 4413 add r3, r2 80c4714: 893a ldrh r2, [r7, #8] 80c4716: 4611 mov r1, r2 80c4718: 4618 mov r0, r3 80c471a: f7fe f9dd bl 80c2ad8 } while ((i += 2) % SZDIRE != 0); 80c471e: 68fb ldr r3, [r7, #12] 80c4720: 3302 adds r3, #2 80c4722: 60fb str r3, [r7, #12] 80c4724: 68fb ldr r3, [r7, #12] 80c4726: f003 031f and.w r3, r3, #31 80c472a: 2b00 cmp r3, #0 80c472c: d1e0 bne.n 80c46f0 nb++; 80c472e: 7afb ldrb r3, [r7, #11] 80c4730: 3301 adds r3, #1 80c4732: 72fb strb r3, [r7, #11] } while (lfn[nc]); /* Fill next entry if any char follows */ 80c4734: 7abb ldrb r3, [r7, #10] 80c4736: 005b lsls r3, r3, #1 80c4738: 683a ldr r2, [r7, #0] 80c473a: 4413 add r3, r2 80c473c: 881b ldrh r3, [r3, #0] 80c473e: 2b00 cmp r3, #0 80c4740: d1c8 bne.n 80c46d4 dirb[XDIR_NumName] = nc; /* Set name length */ 80c4742: 687b ldr r3, [r7, #4] 80c4744: 3323 adds r3, #35 ; 0x23 80c4746: 7aba ldrb r2, [r7, #10] 80c4748: 701a strb r2, [r3, #0] dirb[XDIR_NumSec] = nb; /* Set block length */ 80c474a: 687b ldr r3, [r7, #4] 80c474c: 3301 adds r3, #1 80c474e: 7afa ldrb r2, [r7, #11] 80c4750: 701a strb r2, [r3, #0] st_word(dirb + XDIR_NameHash, xname_sum(lfn)); /* Set name hash */ 80c4752: 687b ldr r3, [r7, #4] 80c4754: f103 0424 add.w r4, r3, #36 ; 0x24 80c4758: 6838 ldr r0, [r7, #0] 80c475a: f7ff fd71 bl 80c4240 80c475e: 4603 mov r3, r0 80c4760: 4619 mov r1, r3 80c4762: 4620 mov r0, r4 80c4764: f7fe f9b8 bl 80c2ad8 } 80c4768: bf00 nop 80c476a: 3714 adds r7, #20 80c476c: 46bd mov sp, r7 80c476e: bd90 pop {r4, r7, pc} 080c4770 : static FRESULT dir_read ( DIR* dp, /* Pointer to the directory object */ int vol /* Filtered by 0:file/directory or 1:volume label */ ) { 80c4770: b580 push {r7, lr} 80c4772: b086 sub sp, #24 80c4774: af00 add r7, sp, #0 80c4776: 6078 str r0, [r7, #4] 80c4778: 6039 str r1, [r7, #0] FRESULT res = FR_NO_FILE; 80c477a: 2304 movs r3, #4 80c477c: 75fb strb r3, [r7, #23] FATFS *fs = dp->obj.fs; 80c477e: 687b ldr r3, [r7, #4] 80c4780: 681b ldr r3, [r3, #0] 80c4782: 613b str r3, [r7, #16] BYTE a, c; #if _USE_LFN != 0 BYTE ord = 0xFF, sum = 0xFF; 80c4784: 23ff movs r3, #255 ; 0xff 80c4786: 757b strb r3, [r7, #21] 80c4788: 23ff movs r3, #255 ; 0xff 80c478a: 753b strb r3, [r7, #20] #endif while (dp->sect) { 80c478c: e0a6 b.n 80c48dc res = move_window(fs, dp->sect); 80c478e: 687b ldr r3, [r7, #4] 80c4790: 6b9b ldr r3, [r3, #56] ; 0x38 80c4792: 4619 mov r1, r3 80c4794: 6938 ldr r0, [r7, #16] 80c4796: f7fe fb38 bl 80c2e0a 80c479a: 4603 mov r3, r0 80c479c: 75fb strb r3, [r7, #23] if (res != FR_OK) break; 80c479e: 7dfb ldrb r3, [r7, #23] 80c47a0: 2b00 cmp r3, #0 80c47a2: f040 80a1 bne.w 80c48e8 c = dp->dir[DIR_Name]; /* Test for the entry type */ 80c47a6: 687b ldr r3, [r7, #4] 80c47a8: 6bdb ldr r3, [r3, #60] ; 0x3c 80c47aa: 781b ldrb r3, [r3, #0] 80c47ac: 75bb strb r3, [r7, #22] if (c == 0) { 80c47ae: 7dbb ldrb r3, [r7, #22] 80c47b0: 2b00 cmp r3, #0 80c47b2: d102 bne.n 80c47ba res = FR_NO_FILE; break; /* Reached to end of the directory */ 80c47b4: 2304 movs r3, #4 80c47b6: 75fb strb r3, [r7, #23] 80c47b8: e09d b.n 80c48f6 } #if _FS_EXFAT if (fs->fs_type == FS_EXFAT) { /* On the exFAT volume */ 80c47ba: 693b ldr r3, [r7, #16] 80c47bc: 781b ldrb r3, [r3, #0] 80c47be: 2b04 cmp r3, #4 80c47c0: d11f bne.n 80c4802 if (_USE_LABEL && vol) { 80c47c2: 683b ldr r3, [r7, #0] 80c47c4: 2b00 cmp r3, #0 80c47c6: d003 beq.n 80c47d0 if (c == 0x83) break; /* Volume label entry? */ 80c47c8: 7dbb ldrb r3, [r7, #22] 80c47ca: 2b83 cmp r3, #131 ; 0x83 80c47cc: d17d bne.n 80c48ca 80c47ce: e092 b.n 80c48f6 } else { if (c == 0x85) { /* Start of the file entry block? */ 80c47d0: 7dbb ldrb r3, [r7, #22] 80c47d2: 2b85 cmp r3, #133 ; 0x85 80c47d4: d179 bne.n 80c48ca dp->blk_ofs = dp->dptr; /* Get location of the block */ 80c47d6: 687b ldr r3, [r7, #4] 80c47d8: 6b1a ldr r2, [r3, #48] ; 0x30 80c47da: 687b ldr r3, [r7, #4] 80c47dc: 64da str r2, [r3, #76] ; 0x4c res = load_xdir(dp); /* Load the entry block */ 80c47de: 6878 ldr r0, [r7, #4] 80c47e0: f7ff fe0c bl 80c43fc 80c47e4: 4603 mov r3, r0 80c47e6: 75fb strb r3, [r7, #23] if (res == FR_OK) { 80c47e8: 7dfb ldrb r3, [r7, #23] 80c47ea: 2b00 cmp r3, #0 80c47ec: d17e bne.n 80c48ec dp->obj.attr = fs->dirbuf[XDIR_Attr] & AM_MASK; /* Get attribute */ 80c47ee: 693b ldr r3, [r7, #16] 80c47f0: 691b ldr r3, [r3, #16] 80c47f2: 3304 adds r3, #4 80c47f4: 781b ldrb r3, [r3, #0] 80c47f6: f003 033f and.w r3, r3, #63 ; 0x3f 80c47fa: b2da uxtb r2, r3 80c47fc: 687b ldr r3, [r7, #4] 80c47fe: 719a strb r2, [r3, #6] } break; 80c4800: e074 b.n 80c48ec } } } else #endif { /* On the FAT12/16/32 volume */ dp->obj.attr = a = dp->dir[DIR_Attr] & AM_MASK; /* Get attribute */ 80c4802: 687b ldr r3, [r7, #4] 80c4804: 6bdb ldr r3, [r3, #60] ; 0x3c 80c4806: 330b adds r3, #11 80c4808: 781b ldrb r3, [r3, #0] 80c480a: f003 033f and.w r3, r3, #63 ; 0x3f 80c480e: 73fb strb r3, [r7, #15] 80c4810: 687b ldr r3, [r7, #4] 80c4812: 7bfa ldrb r2, [r7, #15] 80c4814: 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 */ 80c4816: 7dbb ldrb r3, [r7, #22] 80c4818: 2be5 cmp r3, #229 ; 0xe5 80c481a: d00e beq.n 80c483a 80c481c: 7dbb ldrb r3, [r7, #22] 80c481e: 2b2e cmp r3, #46 ; 0x2e 80c4820: d00b beq.n 80c483a 80c4822: 7bfb ldrb r3, [r7, #15] 80c4824: f023 0320 bic.w r3, r3, #32 80c4828: 2b08 cmp r3, #8 80c482a: bf0c ite eq 80c482c: 2301 moveq r3, #1 80c482e: 2300 movne r3, #0 80c4830: b2db uxtb r3, r3 80c4832: 461a mov r2, r3 80c4834: 683b ldr r3, [r7, #0] 80c4836: 429a cmp r2, r3 80c4838: d002 beq.n 80c4840 ord = 0xFF; 80c483a: 23ff movs r3, #255 ; 0xff 80c483c: 757b strb r3, [r7, #21] 80c483e: e044 b.n 80c48ca } else { if (a == AM_LFN) { /* An LFN entry is found */ 80c4840: 7bfb ldrb r3, [r7, #15] 80c4842: 2b0f cmp r3, #15 80c4844: d12f bne.n 80c48a6 if (c & LLEF) { /* Is it start of an LFN sequence? */ 80c4846: 7dbb ldrb r3, [r7, #22] 80c4848: f003 0340 and.w r3, r3, #64 ; 0x40 80c484c: 2b00 cmp r3, #0 80c484e: d00d beq.n 80c486c sum = dp->dir[LDIR_Chksum]; 80c4850: 687b ldr r3, [r7, #4] 80c4852: 6bdb ldr r3, [r3, #60] ; 0x3c 80c4854: 7b5b ldrb r3, [r3, #13] 80c4856: 753b strb r3, [r7, #20] c &= (BYTE)~LLEF; ord = c; 80c4858: 7dbb ldrb r3, [r7, #22] 80c485a: f023 0340 bic.w r3, r3, #64 ; 0x40 80c485e: 75bb strb r3, [r7, #22] 80c4860: 7dbb ldrb r3, [r7, #22] 80c4862: 757b strb r3, [r7, #21] dp->blk_ofs = dp->dptr; 80c4864: 687b ldr r3, [r7, #4] 80c4866: 6b1a ldr r2, [r3, #48] ; 0x30 80c4868: 687b ldr r3, [r7, #4] 80c486a: 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; 80c486c: 7dba ldrb r2, [r7, #22] 80c486e: 7d7b ldrb r3, [r7, #21] 80c4870: 429a cmp r2, r3 80c4872: d115 bne.n 80c48a0 80c4874: 687b ldr r3, [r7, #4] 80c4876: 6bdb ldr r3, [r3, #60] ; 0x3c 80c4878: 330d adds r3, #13 80c487a: 781b ldrb r3, [r3, #0] 80c487c: 7d3a ldrb r2, [r7, #20] 80c487e: 429a cmp r2, r3 80c4880: d10e bne.n 80c48a0 80c4882: 693b ldr r3, [r7, #16] 80c4884: 68da ldr r2, [r3, #12] 80c4886: 687b ldr r3, [r7, #4] 80c4888: 6bdb ldr r3, [r3, #60] ; 0x3c 80c488a: 4619 mov r1, r3 80c488c: 4610 mov r0, r2 80c488e: f7ff fb23 bl 80c3ed8 80c4892: 4603 mov r3, r0 80c4894: 2b00 cmp r3, #0 80c4896: d003 beq.n 80c48a0 80c4898: 7d7b ldrb r3, [r7, #21] 80c489a: 3b01 subs r3, #1 80c489c: b2db uxtb r3, r3 80c489e: e000 b.n 80c48a2 80c48a0: 23ff movs r3, #255 ; 0xff 80c48a2: 757b strb r3, [r7, #21] 80c48a4: e011 b.n 80c48ca } else { /* An SFN entry is found */ if (ord || sum != sum_sfn(dp->dir)) { /* Is there a valid LFN? */ 80c48a6: 7d7b ldrb r3, [r7, #21] 80c48a8: 2b00 cmp r3, #0 80c48aa: d109 bne.n 80c48c0 80c48ac: 687b ldr r3, [r7, #4] 80c48ae: 6bdb ldr r3, [r3, #60] ; 0x3c 80c48b0: 4618 mov r0, r3 80c48b2: f7ff fc6b bl 80c418c 80c48b6: 4603 mov r3, r0 80c48b8: 461a mov r2, r3 80c48ba: 7d3b ldrb r3, [r7, #20] 80c48bc: 4293 cmp r3, r2 80c48be: d017 beq.n 80c48f0 dp->blk_ofs = 0xFFFFFFFF; /* It has no LFN. */ 80c48c0: 687b ldr r3, [r7, #4] 80c48c2: f04f 32ff mov.w r2, #4294967295 80c48c6: 64da str r2, [r3, #76] ; 0x4c } break; 80c48c8: e012 b.n 80c48f0 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 */ 80c48ca: 2100 movs r1, #0 80c48cc: 6878 ldr r0, [r7, #4] 80c48ce: f7ff f922 bl 80c3b16 80c48d2: 4603 mov r3, r0 80c48d4: 75fb strb r3, [r7, #23] if (res != FR_OK) break; 80c48d6: 7dfb ldrb r3, [r7, #23] 80c48d8: 2b00 cmp r3, #0 80c48da: d10b bne.n 80c48f4 while (dp->sect) { 80c48dc: 687b ldr r3, [r7, #4] 80c48de: 6b9b ldr r3, [r3, #56] ; 0x38 80c48e0: 2b00 cmp r3, #0 80c48e2: f47f af54 bne.w 80c478e 80c48e6: e006 b.n 80c48f6 if (res != FR_OK) break; 80c48e8: bf00 nop 80c48ea: e004 b.n 80c48f6 break; 80c48ec: bf00 nop 80c48ee: e002 b.n 80c48f6 break; 80c48f0: bf00 nop 80c48f2: e000 b.n 80c48f6 if (res != FR_OK) break; 80c48f4: bf00 nop } if (res != FR_OK) dp->sect = 0; /* Terminate the read operation on error or EOT */ 80c48f6: 7dfb ldrb r3, [r7, #23] 80c48f8: 2b00 cmp r3, #0 80c48fa: d002 beq.n 80c4902 80c48fc: 687b ldr r3, [r7, #4] 80c48fe: 2200 movs r2, #0 80c4900: 639a str r2, [r3, #56] ; 0x38 return res; 80c4902: 7dfb ldrb r3, [r7, #23] } 80c4904: 4618 mov r0, r3 80c4906: 3718 adds r7, #24 80c4908: 46bd mov sp, r7 80c490a: bd80 pop {r7, pc} 080c490c : static FRESULT dir_find ( /* FR_OK(0):succeeded, !=0:error */ DIR* dp /* Pointer to the directory object with the file name */ ) { 80c490c: b590 push {r4, r7, lr} 80c490e: b089 sub sp, #36 ; 0x24 80c4910: af00 add r7, sp, #0 80c4912: 6078 str r0, [r7, #4] FRESULT res; FATFS *fs = dp->obj.fs; 80c4914: 687b ldr r3, [r7, #4] 80c4916: 681b ldr r3, [r3, #0] 80c4918: 60fb str r3, [r7, #12] BYTE c; #if _USE_LFN != 0 BYTE a, ord, sum; #endif res = dir_sdi(dp, 0); /* Rewind directory object */ 80c491a: 2100 movs r1, #0 80c491c: 6878 ldr r0, [r7, #4] 80c491e: f7ff f874 bl 80c3a0a 80c4922: 4603 mov r3, r0 80c4924: 77fb strb r3, [r7, #31] if (res != FR_OK) return res; 80c4926: 7ffb ldrb r3, [r7, #31] 80c4928: 2b00 cmp r3, #0 80c492a: d001 beq.n 80c4930 80c492c: 7ffb ldrb r3, [r7, #31] 80c492e: e112 b.n 80c4b56 #if _FS_EXFAT if (fs->fs_type == FS_EXFAT) { /* On the exFAT volume */ 80c4930: 68fb ldr r3, [r7, #12] 80c4932: 781b ldrb r3, [r3, #0] 80c4934: 2b04 cmp r3, #4 80c4936: d164 bne.n 80c4a02 BYTE nc; UINT di, ni; WORD hash = xname_sum(fs->lfnbuf); /* Hash value of the name to find */ 80c4938: 68fb ldr r3, [r7, #12] 80c493a: 68db ldr r3, [r3, #12] 80c493c: 4618 mov r0, r3 80c493e: f7ff fc7f bl 80c4240 80c4942: 4603 mov r3, r0 80c4944: 817b strh r3, [r7, #10] while ((res = dir_read(dp, 0)) == FR_OK) { /* Read an item */ 80c4946: e04f b.n 80c49e8 #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 */ 80c4948: 68fb ldr r3, [r7, #12] 80c494a: 691b ldr r3, [r3, #16] 80c494c: 3324 adds r3, #36 ; 0x24 80c494e: 4618 mov r0, r3 80c4950: f7fd ffd8 bl 80c2904 80c4954: 4603 mov r3, r0 80c4956: 461a mov r2, r3 80c4958: 897b ldrh r3, [r7, #10] 80c495a: 4293 cmp r3, r2 80c495c: d000 beq.n 80c4960 80c495e: e043 b.n 80c49e8 for (nc = fs->dirbuf[XDIR_NumName], di = SZDIRE * 2, ni = 0; nc; nc--, di += 2, ni++) { /* Compare the name */ 80c4960: 68fb ldr r3, [r7, #12] 80c4962: 691b ldr r3, [r3, #16] 80c4964: f893 3023 ldrb.w r3, [r3, #35] ; 0x23 80c4968: 76fb strb r3, [r7, #27] 80c496a: 2340 movs r3, #64 ; 0x40 80c496c: 617b str r3, [r7, #20] 80c496e: 2300 movs r3, #0 80c4970: 613b str r3, [r7, #16] 80c4972: e029 b.n 80c49c8 if ((di % SZDIRE) == 0) di += 2; 80c4974: 697b ldr r3, [r7, #20] 80c4976: f003 031f and.w r3, r3, #31 80c497a: 2b00 cmp r3, #0 80c497c: d102 bne.n 80c4984 80c497e: 697b ldr r3, [r7, #20] 80c4980: 3302 adds r3, #2 80c4982: 617b str r3, [r7, #20] if (ff_wtoupper(ld_word(fs->dirbuf + di)) != ff_wtoupper(fs->lfnbuf[ni])) break; 80c4984: 68fb ldr r3, [r7, #12] 80c4986: 691a ldr r2, [r3, #16] 80c4988: 697b ldr r3, [r7, #20] 80c498a: 4413 add r3, r2 80c498c: 4618 mov r0, r3 80c498e: f7fd ffb9 bl 80c2904 80c4992: 4603 mov r3, r0 80c4994: 4618 mov r0, r3 80c4996: f004 faa5 bl 80c8ee4 80c499a: 4603 mov r3, r0 80c499c: 461c mov r4, r3 80c499e: 68fb ldr r3, [r7, #12] 80c49a0: 68da ldr r2, [r3, #12] 80c49a2: 693b ldr r3, [r7, #16] 80c49a4: 005b lsls r3, r3, #1 80c49a6: 4413 add r3, r2 80c49a8: 881b ldrh r3, [r3, #0] 80c49aa: 4618 mov r0, r3 80c49ac: f004 fa9a bl 80c8ee4 80c49b0: 4603 mov r3, r0 80c49b2: 429c cmp r4, r3 80c49b4: d10c bne.n 80c49d0 for (nc = fs->dirbuf[XDIR_NumName], di = SZDIRE * 2, ni = 0; nc; nc--, di += 2, ni++) { /* Compare the name */ 80c49b6: 7efb ldrb r3, [r7, #27] 80c49b8: 3b01 subs r3, #1 80c49ba: 76fb strb r3, [r7, #27] 80c49bc: 697b ldr r3, [r7, #20] 80c49be: 3302 adds r3, #2 80c49c0: 617b str r3, [r7, #20] 80c49c2: 693b ldr r3, [r7, #16] 80c49c4: 3301 adds r3, #1 80c49c6: 613b str r3, [r7, #16] 80c49c8: 7efb ldrb r3, [r7, #27] 80c49ca: 2b00 cmp r3, #0 80c49cc: d1d2 bne.n 80c4974 80c49ce: e000 b.n 80c49d2 if (ff_wtoupper(ld_word(fs->dirbuf + di)) != ff_wtoupper(fs->lfnbuf[ni])) break; 80c49d0: bf00 nop } if (nc == 0 && !fs->lfnbuf[ni]) break; /* Name matched? */ 80c49d2: 7efb ldrb r3, [r7, #27] 80c49d4: 2b00 cmp r3, #0 80c49d6: d107 bne.n 80c49e8 80c49d8: 68fb ldr r3, [r7, #12] 80c49da: 68da ldr r2, [r3, #12] 80c49dc: 693b ldr r3, [r7, #16] 80c49de: 005b lsls r3, r3, #1 80c49e0: 4413 add r3, r2 80c49e2: 881b ldrh r3, [r3, #0] 80c49e4: 2b00 cmp r3, #0 80c49e6: d009 beq.n 80c49fc while ((res = dir_read(dp, 0)) == FR_OK) { /* Read an item */ 80c49e8: 2100 movs r1, #0 80c49ea: 6878 ldr r0, [r7, #4] 80c49ec: f7ff fec0 bl 80c4770 80c49f0: 4603 mov r3, r0 80c49f2: 77fb strb r3, [r7, #31] 80c49f4: 7ffb ldrb r3, [r7, #31] 80c49f6: 2b00 cmp r3, #0 80c49f8: d0a6 beq.n 80c4948 80c49fa: e000 b.n 80c49fe if (nc == 0 && !fs->lfnbuf[ni]) break; /* Name matched? */ 80c49fc: bf00 nop } return res; 80c49fe: 7ffb ldrb r3, [r7, #31] 80c4a00: e0a9 b.n 80c4b56 } #endif /* On the FAT12/16/32 volume */ #if _USE_LFN != 0 ord = sum = 0xFF; dp->blk_ofs = 0xFFFFFFFF; /* Reset LFN sequence */ 80c4a02: 23ff movs r3, #255 ; 0xff 80c4a04: 773b strb r3, [r7, #28] 80c4a06: 7f3b ldrb r3, [r7, #28] 80c4a08: 777b strb r3, [r7, #29] 80c4a0a: 687b ldr r3, [r7, #4] 80c4a0c: f04f 32ff mov.w r2, #4294967295 80c4a10: 64da str r2, [r3, #76] ; 0x4c #endif do { res = move_window(fs, dp->sect); 80c4a12: 687b ldr r3, [r7, #4] 80c4a14: 6b9b ldr r3, [r3, #56] ; 0x38 80c4a16: 4619 mov r1, r3 80c4a18: 68f8 ldr r0, [r7, #12] 80c4a1a: f7fe f9f6 bl 80c2e0a 80c4a1e: 4603 mov r3, r0 80c4a20: 77fb strb r3, [r7, #31] if (res != FR_OK) break; 80c4a22: 7ffb ldrb r3, [r7, #31] 80c4a24: 2b00 cmp r3, #0 80c4a26: f040 8090 bne.w 80c4b4a c = dp->dir[DIR_Name]; 80c4a2a: 687b ldr r3, [r7, #4] 80c4a2c: 6bdb ldr r3, [r3, #60] ; 0x3c 80c4a2e: 781b ldrb r3, [r3, #0] 80c4a30: 77bb strb r3, [r7, #30] if (c == 0) { res = FR_NO_FILE; break; } /* Reached to end of table */ 80c4a32: 7fbb ldrb r3, [r7, #30] 80c4a34: 2b00 cmp r3, #0 80c4a36: d102 bne.n 80c4a3e 80c4a38: 2304 movs r3, #4 80c4a3a: 77fb strb r3, [r7, #31] 80c4a3c: e08a b.n 80c4b54 #if _USE_LFN != 0 /* LFN configuration */ dp->obj.attr = a = dp->dir[DIR_Attr] & AM_MASK; 80c4a3e: 687b ldr r3, [r7, #4] 80c4a40: 6bdb ldr r3, [r3, #60] ; 0x3c 80c4a42: 330b adds r3, #11 80c4a44: 781b ldrb r3, [r3, #0] 80c4a46: f003 033f and.w r3, r3, #63 ; 0x3f 80c4a4a: 727b strb r3, [r7, #9] 80c4a4c: 687b ldr r3, [r7, #4] 80c4a4e: 7a7a ldrb r2, [r7, #9] 80c4a50: 719a strb r2, [r3, #6] if (c == DDEM || ((a & AM_VOL) && a != AM_LFN)) { /* An entry without valid data */ 80c4a52: 7fbb ldrb r3, [r7, #30] 80c4a54: 2be5 cmp r3, #229 ; 0xe5 80c4a56: d007 beq.n 80c4a68 80c4a58: 7a7b ldrb r3, [r7, #9] 80c4a5a: f003 0308 and.w r3, r3, #8 80c4a5e: 2b00 cmp r3, #0 80c4a60: d009 beq.n 80c4a76 80c4a62: 7a7b ldrb r3, [r7, #9] 80c4a64: 2b0f cmp r3, #15 80c4a66: d006 beq.n 80c4a76 ord = 0xFF; dp->blk_ofs = 0xFFFFFFFF; /* Reset LFN sequence */ 80c4a68: 23ff movs r3, #255 ; 0xff 80c4a6a: 777b strb r3, [r7, #29] 80c4a6c: 687b ldr r3, [r7, #4] 80c4a6e: f04f 32ff mov.w r2, #4294967295 80c4a72: 64da str r2, [r3, #76] ; 0x4c 80c4a74: e05e b.n 80c4b34 } else { if (a == AM_LFN) { /* An LFN entry is found */ 80c4a76: 7a7b ldrb r3, [r7, #9] 80c4a78: 2b0f cmp r3, #15 80c4a7a: d136 bne.n 80c4aea if (!(dp->fn[NSFLAG] & NS_NOLFN)) { 80c4a7c: 687b ldr r3, [r7, #4] 80c4a7e: f893 304b ldrb.w r3, [r3, #75] ; 0x4b 80c4a82: f003 0340 and.w r3, r3, #64 ; 0x40 80c4a86: 2b00 cmp r3, #0 80c4a88: d154 bne.n 80c4b34 if (c & LLEF) { /* Is it start of LFN sequence? */ 80c4a8a: 7fbb ldrb r3, [r7, #30] 80c4a8c: f003 0340 and.w r3, r3, #64 ; 0x40 80c4a90: 2b00 cmp r3, #0 80c4a92: d00d beq.n 80c4ab0 sum = dp->dir[LDIR_Chksum]; 80c4a94: 687b ldr r3, [r7, #4] 80c4a96: 6bdb ldr r3, [r3, #60] ; 0x3c 80c4a98: 7b5b ldrb r3, [r3, #13] 80c4a9a: 773b strb r3, [r7, #28] c &= (BYTE)~LLEF; ord = c; /* LFN start order */ 80c4a9c: 7fbb ldrb r3, [r7, #30] 80c4a9e: f023 0340 bic.w r3, r3, #64 ; 0x40 80c4aa2: 77bb strb r3, [r7, #30] 80c4aa4: 7fbb ldrb r3, [r7, #30] 80c4aa6: 777b strb r3, [r7, #29] dp->blk_ofs = dp->dptr; /* Start offset of LFN */ 80c4aa8: 687b ldr r3, [r7, #4] 80c4aaa: 6b1a ldr r2, [r3, #48] ; 0x30 80c4aac: 687b ldr r3, [r7, #4] 80c4aae: 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; 80c4ab0: 7fba ldrb r2, [r7, #30] 80c4ab2: 7f7b ldrb r3, [r7, #29] 80c4ab4: 429a cmp r2, r3 80c4ab6: d115 bne.n 80c4ae4 80c4ab8: 687b ldr r3, [r7, #4] 80c4aba: 6bdb ldr r3, [r3, #60] ; 0x3c 80c4abc: 330d adds r3, #13 80c4abe: 781b ldrb r3, [r3, #0] 80c4ac0: 7f3a ldrb r2, [r7, #28] 80c4ac2: 429a cmp r2, r3 80c4ac4: d10e bne.n 80c4ae4 80c4ac6: 68fb ldr r3, [r7, #12] 80c4ac8: 68da ldr r2, [r3, #12] 80c4aca: 687b ldr r3, [r7, #4] 80c4acc: 6bdb ldr r3, [r3, #60] ; 0x3c 80c4ace: 4619 mov r1, r3 80c4ad0: 4610 mov r0, r2 80c4ad2: f7ff f991 bl 80c3df8 80c4ad6: 4603 mov r3, r0 80c4ad8: 2b00 cmp r3, #0 80c4ada: d003 beq.n 80c4ae4 80c4adc: 7f7b ldrb r3, [r7, #29] 80c4ade: 3b01 subs r3, #1 80c4ae0: b2db uxtb r3, r3 80c4ae2: e000 b.n 80c4ae6 80c4ae4: 23ff movs r3, #255 ; 0xff 80c4ae6: 777b strb r3, [r7, #29] 80c4ae8: e024 b.n 80c4b34 } } else { /* An SFN entry is found */ if (!ord && sum == sum_sfn(dp->dir)) break; /* LFN matched? */ 80c4aea: 7f7b ldrb r3, [r7, #29] 80c4aec: 2b00 cmp r3, #0 80c4aee: d109 bne.n 80c4b04 80c4af0: 687b ldr r3, [r7, #4] 80c4af2: 6bdb ldr r3, [r3, #60] ; 0x3c 80c4af4: 4618 mov r0, r3 80c4af6: f7ff fb49 bl 80c418c 80c4afa: 4603 mov r3, r0 80c4afc: 461a mov r2, r3 80c4afe: 7f3b ldrb r3, [r7, #28] 80c4b00: 4293 cmp r3, r2 80c4b02: d024 beq.n 80c4b4e if (!(dp->fn[NSFLAG] & NS_LOSS) && !mem_cmp(dp->dir, dp->fn, 11)) break; /* SFN matched? */ 80c4b04: 687b ldr r3, [r7, #4] 80c4b06: f893 304b ldrb.w r3, [r3, #75] ; 0x4b 80c4b0a: f003 0301 and.w r3, r3, #1 80c4b0e: 2b00 cmp r3, #0 80c4b10: d10a bne.n 80c4b28 80c4b12: 687b ldr r3, [r7, #4] 80c4b14: 6bd8 ldr r0, [r3, #60] ; 0x3c 80c4b16: 687b ldr r3, [r7, #4] 80c4b18: 3340 adds r3, #64 ; 0x40 80c4b1a: 220b movs r2, #11 80c4b1c: 4619 mov r1, r3 80c4b1e: f7fe f8ee bl 80c2cfe 80c4b22: 4603 mov r3, r0 80c4b24: 2b00 cmp r3, #0 80c4b26: d014 beq.n 80c4b52 ord = 0xFF; dp->blk_ofs = 0xFFFFFFFF; /* Reset LFN sequence */ 80c4b28: 23ff movs r3, #255 ; 0xff 80c4b2a: 777b strb r3, [r7, #29] 80c4b2c: 687b ldr r3, [r7, #4] 80c4b2e: f04f 32ff mov.w r2, #4294967295 80c4b32: 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 */ 80c4b34: 2100 movs r1, #0 80c4b36: 6878 ldr r0, [r7, #4] 80c4b38: f7fe ffed bl 80c3b16 80c4b3c: 4603 mov r3, r0 80c4b3e: 77fb strb r3, [r7, #31] } while (res == FR_OK); 80c4b40: 7ffb ldrb r3, [r7, #31] 80c4b42: 2b00 cmp r3, #0 80c4b44: f43f af65 beq.w 80c4a12 80c4b48: e004 b.n 80c4b54 if (res != FR_OK) break; 80c4b4a: bf00 nop 80c4b4c: e002 b.n 80c4b54 if (!ord && sum == sum_sfn(dp->dir)) break; /* LFN matched? */ 80c4b4e: bf00 nop 80c4b50: e000 b.n 80c4b54 if (!(dp->fn[NSFLAG] & NS_LOSS) && !mem_cmp(dp->dir, dp->fn, 11)) break; /* SFN matched? */ 80c4b52: bf00 nop return res; 80c4b54: 7ffb ldrb r3, [r7, #31] } 80c4b56: 4618 mov r0, r3 80c4b58: 3724 adds r7, #36 ; 0x24 80c4b5a: 46bd mov sp, r7 80c4b5c: bd90 pop {r4, r7, pc} ... 080c4b60 : 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 */ ) { 80c4b60: b590 push {r4, r7, lr} 80c4b62: b0a1 sub sp, #132 ; 0x84 80c4b64: af00 add r7, sp, #0 80c4b66: 6078 str r0, [r7, #4] FRESULT res; FATFS *fs = dp->obj.fs; 80c4b68: 687b ldr r3, [r7, #4] 80c4b6a: 681b ldr r3, [r3, #0] 80c4b6c: 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 */ 80c4b6e: 687b ldr r3, [r7, #4] 80c4b70: f893 304b ldrb.w r3, [r3, #75] ; 0x4b 80c4b74: f003 03a0 and.w r3, r3, #160 ; 0xa0 80c4b78: 2b00 cmp r3, #0 80c4b7a: d001 beq.n 80c4b80 80c4b7c: 2306 movs r3, #6 80c4b7e: e191 b.n 80c4ea4 for (nlen = 0; fs->lfnbuf[nlen]; nlen++) ; /* Get lfn length */ 80c4b80: 2300 movs r3, #0 80c4b82: 677b str r3, [r7, #116] ; 0x74 80c4b84: e002 b.n 80c4b8c 80c4b86: 6f7b ldr r3, [r7, #116] ; 0x74 80c4b88: 3301 adds r3, #1 80c4b8a: 677b str r3, [r7, #116] ; 0x74 80c4b8c: 6efb ldr r3, [r7, #108] ; 0x6c 80c4b8e: 68da ldr r2, [r3, #12] 80c4b90: 6f7b ldr r3, [r7, #116] ; 0x74 80c4b92: 005b lsls r3, r3, #1 80c4b94: 4413 add r3, r2 80c4b96: 881b ldrh r3, [r3, #0] 80c4b98: 2b00 cmp r3, #0 80c4b9a: d1f4 bne.n 80c4b86 #if _FS_EXFAT if (fs->fs_type == FS_EXFAT) { /* On the exFAT volume */ 80c4b9c: 6efb ldr r3, [r7, #108] ; 0x6c 80c4b9e: 781b ldrb r3, [r3, #0] 80c4ba0: 2b04 cmp r3, #4 80c4ba2: f040 80a3 bne.w 80c4cec DIR dj; nent = (nlen + 14) / 15 + 2; /* Number of entries to allocate (85+C0+C1s) */ 80c4ba6: 6f7b ldr r3, [r7, #116] ; 0x74 80c4ba8: 330e adds r3, #14 80c4baa: 4aa4 ldr r2, [pc, #656] ; (80c4e3c ) 80c4bac: fba2 2303 umull r2, r3, r2, r3 80c4bb0: 08db lsrs r3, r3, #3 80c4bb2: 3302 adds r3, #2 80c4bb4: 673b str r3, [r7, #112] ; 0x70 res = dir_alloc(dp, nent); /* Allocate entries */ 80c4bb6: 6f39 ldr r1, [r7, #112] ; 0x70 80c4bb8: 6878 ldr r0, [r7, #4] 80c4bba: f7ff f881 bl 80c3cc0 80c4bbe: 4603 mov r3, r0 80c4bc0: f887 307f strb.w r3, [r7, #127] ; 0x7f if (res != FR_OK) return res; 80c4bc4: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 80c4bc8: 2b00 cmp r3, #0 80c4bca: d002 beq.n 80c4bd2 80c4bcc: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 80c4bd0: e168 b.n 80c4ea4 dp->blk_ofs = dp->dptr - SZDIRE * (nent - 1); /* Set the allocated entry block offset */ 80c4bd2: 687b ldr r3, [r7, #4] 80c4bd4: 6b1a ldr r2, [r3, #48] ; 0x30 80c4bd6: 6f39 ldr r1, [r7, #112] ; 0x70 80c4bd8: f06f 4378 mvn.w r3, #4160749568 ; 0xf8000000 80c4bdc: 440b add r3, r1 80c4bde: 015b lsls r3, r3, #5 80c4be0: 1ad2 subs r2, r2, r3 80c4be2: 687b ldr r3, [r7, #4] 80c4be4: 64da str r2, [r3, #76] ; 0x4c if (dp->obj.sclust != 0 && (dp->obj.stat & 4)) { /* Has the sub-directory been stretched? */ 80c4be6: 687b ldr r3, [r7, #4] 80c4be8: 689b ldr r3, [r3, #8] 80c4bea: 2b00 cmp r3, #0 80c4bec: d074 beq.n 80c4cd8 80c4bee: 687b ldr r3, [r7, #4] 80c4bf0: 79db ldrb r3, [r3, #7] 80c4bf2: f003 0304 and.w r3, r3, #4 80c4bf6: 2b00 cmp r3, #0 80c4bf8: d06e beq.n 80c4cd8 dp->obj.objsize += (DWORD)fs->csize * SS(fs); /* Increase the directory size by cluster size */ 80c4bfa: 687b ldr r3, [r7, #4] 80c4bfc: e9d3 1204 ldrd r1, r2, [r3, #16] 80c4c00: 6efb ldr r3, [r7, #108] ; 0x6c 80c4c02: 895b ldrh r3, [r3, #10] 80c4c04: 025b lsls r3, r3, #9 80c4c06: f04f 0400 mov.w r4, #0 80c4c0a: 185b adds r3, r3, r1 80c4c0c: eb44 0402 adc.w r4, r4, r2 80c4c10: 687a ldr r2, [r7, #4] 80c4c12: e9c2 3404 strd r3, r4, [r2, #16] res = fill_first_frag(&dp->obj); /* Fill first fragment on the FAT if needed */ 80c4c16: 687b ldr r3, [r7, #4] 80c4c18: 4618 mov r0, r3 80c4c1a: f7fe fca3 bl 80c3564 80c4c1e: 4603 mov r3, r0 80c4c20: f887 307f strb.w r3, [r7, #127] ; 0x7f if (res != FR_OK) return res; 80c4c24: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 80c4c28: 2b00 cmp r3, #0 80c4c2a: d002 beq.n 80c4c32 80c4c2c: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 80c4c30: e138 b.n 80c4ea4 res = fill_last_frag(&dp->obj, dp->clust, 0xFFFFFFFF); /* Fill last fragment on the FAT if needed */ 80c4c32: 6878 ldr r0, [r7, #4] 80c4c34: 687b ldr r3, [r7, #4] 80c4c36: 6b5b ldr r3, [r3, #52] ; 0x34 80c4c38: f04f 32ff mov.w r2, #4294967295 80c4c3c: 4619 mov r1, r3 80c4c3e: f7fe fcc0 bl 80c35c2 80c4c42: 4603 mov r3, r0 80c4c44: f887 307f strb.w r3, [r7, #127] ; 0x7f if (res != FR_OK) return res; 80c4c48: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 80c4c4c: 2b00 cmp r3, #0 80c4c4e: d002 beq.n 80c4c56 80c4c50: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 80c4c54: e126 b.n 80c4ea4 res = load_obj_dir(&dj, &dp->obj); /* Load the object status */ 80c4c56: 687a ldr r2, [r7, #4] 80c4c58: f107 0308 add.w r3, r7, #8 80c4c5c: 4611 mov r1, r2 80c4c5e: 4618 mov r0, r3 80c4c60: f7ff fc8a bl 80c4578 80c4c64: 4603 mov r3, r0 80c4c66: f887 307f strb.w r3, [r7, #127] ; 0x7f if (res != FR_OK) return res; 80c4c6a: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 80c4c6e: 2b00 cmp r3, #0 80c4c70: d002 beq.n 80c4c78 80c4c72: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 80c4c76: e115 b.n 80c4ea4 st_qword(fs->dirbuf + XDIR_FileSize, dp->obj.objsize); /* Update the allocation status */ 80c4c78: 6efb ldr r3, [r7, #108] ; 0x6c 80c4c7a: 691b ldr r3, [r3, #16] 80c4c7c: f103 0138 add.w r1, r3, #56 ; 0x38 80c4c80: 687b ldr r3, [r7, #4] 80c4c82: e9d3 3404 ldrd r3, r4, [r3, #16] 80c4c86: 461a mov r2, r3 80c4c88: 4623 mov r3, r4 80c4c8a: 4608 mov r0, r1 80c4c8c: f7fd ff6b bl 80c2b66 st_qword(fs->dirbuf + XDIR_ValidFileSize, dp->obj.objsize); 80c4c90: 6efb ldr r3, [r7, #108] ; 0x6c 80c4c92: 691b ldr r3, [r3, #16] 80c4c94: f103 0128 add.w r1, r3, #40 ; 0x28 80c4c98: 687b ldr r3, [r7, #4] 80c4c9a: e9d3 3404 ldrd r3, r4, [r3, #16] 80c4c9e: 461a mov r2, r3 80c4ca0: 4623 mov r3, r4 80c4ca2: 4608 mov r0, r1 80c4ca4: f7fd ff5f bl 80c2b66 fs->dirbuf[XDIR_GenFlags] = dp->obj.stat | 1; 80c4ca8: 6efb ldr r3, [r7, #108] ; 0x6c 80c4caa: 691b ldr r3, [r3, #16] 80c4cac: 3321 adds r3, #33 ; 0x21 80c4cae: 687a ldr r2, [r7, #4] 80c4cb0: 79d2 ldrb r2, [r2, #7] 80c4cb2: f042 0201 orr.w r2, r2, #1 80c4cb6: b2d2 uxtb r2, r2 80c4cb8: 701a strb r2, [r3, #0] res = store_xdir(&dj); /* Store the object status */ 80c4cba: f107 0308 add.w r3, r7, #8 80c4cbe: 4618 mov r0, r3 80c4cc0: f7ff fc94 bl 80c45ec 80c4cc4: 4603 mov r3, r0 80c4cc6: f887 307f strb.w r3, [r7, #127] ; 0x7f if (res != FR_OK) return res; 80c4cca: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 80c4cce: 2b00 cmp r3, #0 80c4cd0: d002 beq.n 80c4cd8 80c4cd2: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 80c4cd6: e0e5 b.n 80c4ea4 } create_xdir(fs->dirbuf, fs->lfnbuf); /* Create on-memory directory block to be written later */ 80c4cd8: 6efb ldr r3, [r7, #108] ; 0x6c 80c4cda: 691a ldr r2, [r3, #16] 80c4cdc: 6efb ldr r3, [r7, #108] ; 0x6c 80c4cde: 68db ldr r3, [r3, #12] 80c4ce0: 4619 mov r1, r3 80c4ce2: 4610 mov r0, r2 80c4ce4: f7ff fcdd bl 80c46a2 return FR_OK; 80c4ce8: 2300 movs r3, #0 80c4cea: e0db b.n 80c4ea4 } #endif /* On the FAT12/16/32 volume */ mem_cpy(sn, dp->fn, 12); 80c4cec: 687b ldr r3, [r7, #4] 80c4cee: f103 0140 add.w r1, r3, #64 ; 0x40 80c4cf2: f107 035c add.w r3, r7, #92 ; 0x5c 80c4cf6: 220c movs r2, #12 80c4cf8: 4618 mov r0, r3 80c4cfa: f7fd ffc5 bl 80c2c88 if (sn[NSFLAG] & NS_LOSS) { /* When LFN is out of 8.3 format, generate a numbered name */ 80c4cfe: f897 3067 ldrb.w r3, [r7, #103] ; 0x67 80c4d02: f003 0301 and.w r3, r3, #1 80c4d06: 2b00 cmp r3, #0 80c4d08: d033 beq.n 80c4d72 dp->fn[NSFLAG] = NS_NOLFN; /* Find only SFN */ 80c4d0a: 687b ldr r3, [r7, #4] 80c4d0c: 2240 movs r2, #64 ; 0x40 80c4d0e: f883 204b strb.w r2, [r3, #75] ; 0x4b for (n = 1; n < 100; n++) { 80c4d12: 2301 movs r3, #1 80c4d14: 67bb str r3, [r7, #120] ; 0x78 80c4d16: e016 b.n 80c4d46 gen_numname(dp->fn, sn, fs->lfnbuf, n); /* Generate a numbered name */ 80c4d18: 687b ldr r3, [r7, #4] 80c4d1a: f103 0040 add.w r0, r3, #64 ; 0x40 80c4d1e: 6efb ldr r3, [r7, #108] ; 0x6c 80c4d20: 68da ldr r2, [r3, #12] 80c4d22: f107 015c add.w r1, r7, #92 ; 0x5c 80c4d26: 6fbb ldr r3, [r7, #120] ; 0x78 80c4d28: f7ff f9a2 bl 80c4070 res = dir_find(dp); /* Check if the name collides with existing SFN */ 80c4d2c: 6878 ldr r0, [r7, #4] 80c4d2e: f7ff fded bl 80c490c 80c4d32: 4603 mov r3, r0 80c4d34: f887 307f strb.w r3, [r7, #127] ; 0x7f if (res != FR_OK) break; 80c4d38: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 80c4d3c: 2b00 cmp r3, #0 80c4d3e: d106 bne.n 80c4d4e for (n = 1; n < 100; n++) { 80c4d40: 6fbb ldr r3, [r7, #120] ; 0x78 80c4d42: 3301 adds r3, #1 80c4d44: 67bb str r3, [r7, #120] ; 0x78 80c4d46: 6fbb ldr r3, [r7, #120] ; 0x78 80c4d48: 2b63 cmp r3, #99 ; 0x63 80c4d4a: d9e5 bls.n 80c4d18 80c4d4c: e000 b.n 80c4d50 if (res != FR_OK) break; 80c4d4e: bf00 nop } if (n == 100) return FR_DENIED; /* Abort if too many collisions */ 80c4d50: 6fbb ldr r3, [r7, #120] ; 0x78 80c4d52: 2b64 cmp r3, #100 ; 0x64 80c4d54: d101 bne.n 80c4d5a 80c4d56: 2307 movs r3, #7 80c4d58: e0a4 b.n 80c4ea4 if (res != FR_NO_FILE) return res; /* Abort if the result is other than 'not collided' */ 80c4d5a: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 80c4d5e: 2b04 cmp r3, #4 80c4d60: d002 beq.n 80c4d68 80c4d62: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 80c4d66: e09d b.n 80c4ea4 dp->fn[NSFLAG] = sn[NSFLAG]; 80c4d68: f897 2067 ldrb.w r2, [r7, #103] ; 0x67 80c4d6c: 687b ldr r3, [r7, #4] 80c4d6e: 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 */ 80c4d72: f897 3067 ldrb.w r3, [r7, #103] ; 0x67 80c4d76: f003 0302 and.w r3, r3, #2 80c4d7a: 2b00 cmp r3, #0 80c4d7c: d007 beq.n 80c4d8e 80c4d7e: 6f7b ldr r3, [r7, #116] ; 0x74 80c4d80: 330c adds r3, #12 80c4d82: 4a2f ldr r2, [pc, #188] ; (80c4e40 ) 80c4d84: fba2 2303 umull r2, r3, r2, r3 80c4d88: 089b lsrs r3, r3, #2 80c4d8a: 3301 adds r3, #1 80c4d8c: e000 b.n 80c4d90 80c4d8e: 2301 movs r3, #1 80c4d90: 673b str r3, [r7, #112] ; 0x70 res = dir_alloc(dp, nent); /* Allocate entries */ 80c4d92: 6f39 ldr r1, [r7, #112] ; 0x70 80c4d94: 6878 ldr r0, [r7, #4] 80c4d96: f7fe ff93 bl 80c3cc0 80c4d9a: 4603 mov r3, r0 80c4d9c: f887 307f strb.w r3, [r7, #127] ; 0x7f if (res == FR_OK && --nent) { /* Set LFN entry if needed */ 80c4da0: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 80c4da4: 2b00 cmp r3, #0 80c4da6: d14e bne.n 80c4e46 80c4da8: 6f3b ldr r3, [r7, #112] ; 0x70 80c4daa: 3b01 subs r3, #1 80c4dac: 673b str r3, [r7, #112] ; 0x70 80c4dae: 6f3b ldr r3, [r7, #112] ; 0x70 80c4db0: 2b00 cmp r3, #0 80c4db2: d048 beq.n 80c4e46 res = dir_sdi(dp, dp->dptr - nent * SZDIRE); 80c4db4: 687b ldr r3, [r7, #4] 80c4db6: 6b1a ldr r2, [r3, #48] ; 0x30 80c4db8: 6f3b ldr r3, [r7, #112] ; 0x70 80c4dba: 015b lsls r3, r3, #5 80c4dbc: 1ad3 subs r3, r2, r3 80c4dbe: 4619 mov r1, r3 80c4dc0: 6878 ldr r0, [r7, #4] 80c4dc2: f7fe fe22 bl 80c3a0a 80c4dc6: 4603 mov r3, r0 80c4dc8: f887 307f strb.w r3, [r7, #127] ; 0x7f if (res == FR_OK) { 80c4dcc: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 80c4dd0: 2b00 cmp r3, #0 80c4dd2: d138 bne.n 80c4e46 sum = sum_sfn(dp->fn); /* Checksum value of the SFN tied to the LFN */ 80c4dd4: 687b ldr r3, [r7, #4] 80c4dd6: 3340 adds r3, #64 ; 0x40 80c4dd8: 4618 mov r0, r3 80c4dda: f7ff f9d7 bl 80c418c 80c4dde: 4603 mov r3, r0 80c4de0: f887 306b strb.w r3, [r7, #107] ; 0x6b do { /* Store LFN entries in bottom first */ res = move_window(fs, dp->sect); 80c4de4: 687b ldr r3, [r7, #4] 80c4de6: 6b9b ldr r3, [r3, #56] ; 0x38 80c4de8: 4619 mov r1, r3 80c4dea: 6ef8 ldr r0, [r7, #108] ; 0x6c 80c4dec: f7fe f80d bl 80c2e0a 80c4df0: 4603 mov r3, r0 80c4df2: f887 307f strb.w r3, [r7, #127] ; 0x7f if (res != FR_OK) break; 80c4df6: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 80c4dfa: 2b00 cmp r3, #0 80c4dfc: d122 bne.n 80c4e44 put_lfn(fs->lfnbuf, dp->dir, (BYTE)nent, sum); 80c4dfe: 6efb ldr r3, [r7, #108] ; 0x6c 80c4e00: 68d8 ldr r0, [r3, #12] 80c4e02: 687b ldr r3, [r7, #4] 80c4e04: 6bd9 ldr r1, [r3, #60] ; 0x3c 80c4e06: 6f3b ldr r3, [r7, #112] ; 0x70 80c4e08: b2da uxtb r2, r3 80c4e0a: f897 306b ldrb.w r3, [r7, #107] ; 0x6b 80c4e0e: f7ff f8c7 bl 80c3fa0 fs->wflag = 1; 80c4e12: 6efb ldr r3, [r7, #108] ; 0x6c 80c4e14: 2201 movs r2, #1 80c4e16: 70da strb r2, [r3, #3] res = dir_next(dp, 0); /* Next entry */ 80c4e18: 2100 movs r1, #0 80c4e1a: 6878 ldr r0, [r7, #4] 80c4e1c: f7fe fe7b bl 80c3b16 80c4e20: 4603 mov r3, r0 80c4e22: f887 307f strb.w r3, [r7, #127] ; 0x7f } while (res == FR_OK && --nent); 80c4e26: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 80c4e2a: 2b00 cmp r3, #0 80c4e2c: d10b bne.n 80c4e46 80c4e2e: 6f3b ldr r3, [r7, #112] ; 0x70 80c4e30: 3b01 subs r3, #1 80c4e32: 673b str r3, [r7, #112] ; 0x70 80c4e34: 6f3b ldr r3, [r7, #112] ; 0x70 80c4e36: 2b00 cmp r3, #0 80c4e38: d1d4 bne.n 80c4de4 80c4e3a: e004 b.n 80c4e46 80c4e3c: 88888889 .word 0x88888889 80c4e40: 4ec4ec4f .word 0x4ec4ec4f if (res != FR_OK) break; 80c4e44: bf00 nop res = dir_alloc(dp, 1); /* Allocate an entry for SFN */ #endif /* Set SFN entry */ if (res == FR_OK) { 80c4e46: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 80c4e4a: 2b00 cmp r3, #0 80c4e4c: d128 bne.n 80c4ea0 res = move_window(fs, dp->sect); 80c4e4e: 687b ldr r3, [r7, #4] 80c4e50: 6b9b ldr r3, [r3, #56] ; 0x38 80c4e52: 4619 mov r1, r3 80c4e54: 6ef8 ldr r0, [r7, #108] ; 0x6c 80c4e56: f7fd ffd8 bl 80c2e0a 80c4e5a: 4603 mov r3, r0 80c4e5c: f887 307f strb.w r3, [r7, #127] ; 0x7f if (res == FR_OK) { 80c4e60: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 80c4e64: 2b00 cmp r3, #0 80c4e66: d11b bne.n 80c4ea0 mem_set(dp->dir, 0, SZDIRE); /* Clean the entry */ 80c4e68: 687b ldr r3, [r7, #4] 80c4e6a: 6bdb ldr r3, [r3, #60] ; 0x3c 80c4e6c: 2220 movs r2, #32 80c4e6e: 2100 movs r1, #0 80c4e70: 4618 mov r0, r3 80c4e72: f7fd ff2a bl 80c2cca mem_cpy(dp->dir + DIR_Name, dp->fn, 11); /* Put SFN */ 80c4e76: 687b ldr r3, [r7, #4] 80c4e78: 6bd8 ldr r0, [r3, #60] ; 0x3c 80c4e7a: 687b ldr r3, [r7, #4] 80c4e7c: 3340 adds r3, #64 ; 0x40 80c4e7e: 220b movs r2, #11 80c4e80: 4619 mov r1, r3 80c4e82: f7fd ff01 bl 80c2c88 #if _USE_LFN != 0 dp->dir[DIR_NTres] = dp->fn[NSFLAG] & (NS_BODY | NS_EXT); /* Put NT flag */ 80c4e86: 687b ldr r3, [r7, #4] 80c4e88: 6bdb ldr r3, [r3, #60] ; 0x3c 80c4e8a: 330c adds r3, #12 80c4e8c: 687a ldr r2, [r7, #4] 80c4e8e: f892 204b ldrb.w r2, [r2, #75] ; 0x4b 80c4e92: f002 0218 and.w r2, r2, #24 80c4e96: b2d2 uxtb r2, r2 80c4e98: 701a strb r2, [r3, #0] #endif fs->wflag = 1; 80c4e9a: 6efb ldr r3, [r7, #108] ; 0x6c 80c4e9c: 2201 movs r2, #1 80c4e9e: 70da strb r2, [r3, #3] } } return res; 80c4ea0: f897 307f ldrb.w r3, [r7, #127] ; 0x7f } 80c4ea4: 4618 mov r0, r3 80c4ea6: 3784 adds r7, #132 ; 0x84 80c4ea8: 46bd mov sp, r7 80c4eaa: bd90 pop {r4, r7, pc} 080c4eac : static FRESULT dir_remove ( /* FR_OK:Succeeded, FR_DISK_ERR:A disk error */ DIR* dp /* Directory object pointing the entry to be removed */ ) { 80c4eac: b580 push {r7, lr} 80c4eae: b086 sub sp, #24 80c4eb0: af00 add r7, sp, #0 80c4eb2: 6078 str r0, [r7, #4] FRESULT res; FATFS *fs = dp->obj.fs; 80c4eb4: 687b ldr r3, [r7, #4] 80c4eb6: 681b ldr r3, [r3, #0] 80c4eb8: 613b str r3, [r7, #16] #if _USE_LFN != 0 /* LFN configuration */ DWORD last = dp->dptr; 80c4eba: 687b ldr r3, [r7, #4] 80c4ebc: 6b1b ldr r3, [r3, #48] ; 0x30 80c4ebe: 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 */ 80c4ec0: 687b ldr r3, [r7, #4] 80c4ec2: 6cdb ldr r3, [r3, #76] ; 0x4c 80c4ec4: f1b3 3fff cmp.w r3, #4294967295 80c4ec8: d007 beq.n 80c4eda 80c4eca: 687b ldr r3, [r7, #4] 80c4ecc: 6cdb ldr r3, [r3, #76] ; 0x4c 80c4ece: 4619 mov r1, r3 80c4ed0: 6878 ldr r0, [r7, #4] 80c4ed2: f7fe fd9a bl 80c3a0a 80c4ed6: 4603 mov r3, r0 80c4ed8: e000 b.n 80c4edc 80c4eda: 2300 movs r3, #0 80c4edc: 75fb strb r3, [r7, #23] if (res == FR_OK) { 80c4ede: 7dfb ldrb r3, [r7, #23] 80c4ee0: 2b00 cmp r3, #0 80c4ee2: d136 bne.n 80c4f52 do { res = move_window(fs, dp->sect); 80c4ee4: 687b ldr r3, [r7, #4] 80c4ee6: 6b9b ldr r3, [r3, #56] ; 0x38 80c4ee8: 4619 mov r1, r3 80c4eea: 6938 ldr r0, [r7, #16] 80c4eec: f7fd ff8d bl 80c2e0a 80c4ef0: 4603 mov r3, r0 80c4ef2: 75fb strb r3, [r7, #23] if (res != FR_OK) break; 80c4ef4: 7dfb ldrb r3, [r7, #23] 80c4ef6: 2b00 cmp r3, #0 80c4ef8: d123 bne.n 80c4f42 /* Mark an entry 'deleted' */ if (_FS_EXFAT && fs->fs_type == FS_EXFAT) { /* On the exFAT volume */ 80c4efa: 693b ldr r3, [r7, #16] 80c4efc: 781b ldrb r3, [r3, #0] 80c4efe: 2b04 cmp r3, #4 80c4f00: d109 bne.n 80c4f16 dp->dir[XDIR_Type] &= 0x7F; 80c4f02: 687b ldr r3, [r7, #4] 80c4f04: 6bdb ldr r3, [r3, #60] ; 0x3c 80c4f06: 687a ldr r2, [r7, #4] 80c4f08: 6bd2 ldr r2, [r2, #60] ; 0x3c 80c4f0a: 7812 ldrb r2, [r2, #0] 80c4f0c: f002 027f and.w r2, r2, #127 ; 0x7f 80c4f10: b2d2 uxtb r2, r2 80c4f12: 701a strb r2, [r3, #0] 80c4f14: e003 b.n 80c4f1e } else { /* On the FAT12/16/32 volume */ dp->dir[DIR_Name] = DDEM; 80c4f16: 687b ldr r3, [r7, #4] 80c4f18: 6bdb ldr r3, [r3, #60] ; 0x3c 80c4f1a: 22e5 movs r2, #229 ; 0xe5 80c4f1c: 701a strb r2, [r3, #0] } fs->wflag = 1; 80c4f1e: 693b ldr r3, [r7, #16] 80c4f20: 2201 movs r2, #1 80c4f22: 70da strb r2, [r3, #3] if (dp->dptr >= last) break; /* If reached last entry then all entries of the object has been deleted. */ 80c4f24: 687b ldr r3, [r7, #4] 80c4f26: 6b1a ldr r2, [r3, #48] ; 0x30 80c4f28: 68fb ldr r3, [r7, #12] 80c4f2a: 429a cmp r2, r3 80c4f2c: d20b bcs.n 80c4f46 res = dir_next(dp, 0); /* Next entry */ 80c4f2e: 2100 movs r1, #0 80c4f30: 6878 ldr r0, [r7, #4] 80c4f32: f7fe fdf0 bl 80c3b16 80c4f36: 4603 mov r3, r0 80c4f38: 75fb strb r3, [r7, #23] } while (res == FR_OK); 80c4f3a: 7dfb ldrb r3, [r7, #23] 80c4f3c: 2b00 cmp r3, #0 80c4f3e: d0d1 beq.n 80c4ee4 80c4f40: e002 b.n 80c4f48 if (res != FR_OK) break; 80c4f42: bf00 nop 80c4f44: e000 b.n 80c4f48 if (dp->dptr >= last) break; /* If reached last entry then all entries of the object has been deleted. */ 80c4f46: bf00 nop if (res == FR_NO_FILE) res = FR_INT_ERR; 80c4f48: 7dfb ldrb r3, [r7, #23] 80c4f4a: 2b04 cmp r3, #4 80c4f4c: d101 bne.n 80c4f52 80c4f4e: 2302 movs r3, #2 80c4f50: 75fb strb r3, [r7, #23] dp->dir[DIR_Name] = DDEM; fs->wflag = 1; } #endif return res; 80c4f52: 7dfb ldrb r3, [r7, #23] } 80c4f54: 4618 mov r0, r3 80c4f56: 3718 adds r7, #24 80c4f58: 46bd mov sp, r7 80c4f5a: bd80 pop {r7, pc} 080c4f5c : static void get_fileinfo ( /* No return code */ DIR* dp, /* Pointer to the directory object */ FILINFO* fno /* Pointer to the file information to be filled */ ) { 80c4f5c: b590 push {r4, r7, lr} 80c4f5e: b089 sub sp, #36 ; 0x24 80c4f60: af00 add r7, sp, #0 80c4f62: 6078 str r0, [r7, #4] 80c4f64: 6039 str r1, [r7, #0] UINT i, j; TCHAR c; DWORD tm; #if _USE_LFN != 0 WCHAR w, lfv; FATFS *fs = dp->obj.fs; 80c4f66: 687b ldr r3, [r7, #4] 80c4f68: 681b ldr r3, [r3, #0] 80c4f6a: 613b str r3, [r7, #16] #endif fno->fname[0] = 0; /* Invaidate file info */ 80c4f6c: 683b ldr r3, [r7, #0] 80c4f6e: 2200 movs r2, #0 80c4f70: 769a strb r2, [r3, #26] if (!dp->sect) return; /* Exit if read pointer has reached end of directory */ 80c4f72: 687b ldr r3, [r7, #4] 80c4f74: 6b9b ldr r3, [r3, #56] ; 0x38 80c4f76: 2b00 cmp r3, #0 80c4f78: f000 80d7 beq.w 80c512a #if _USE_LFN != 0 /* LFN configuration */ #if _FS_EXFAT if (fs->fs_type == FS_EXFAT) { /* On the exFAT volume */ 80c4f7c: 693b ldr r3, [r7, #16] 80c4f7e: 781b ldrb r3, [r3, #0] 80c4f80: 2b04 cmp r3, #4 80c4f82: d106 bne.n 80c4f92 get_xdir_info(fs->dirbuf, fno); 80c4f84: 693b ldr r3, [r7, #16] 80c4f86: 691b ldr r3, [r3, #16] 80c4f88: 6839 ldr r1, [r7, #0] 80c4f8a: 4618 mov r0, r3 80c4f8c: f7ff f9b4 bl 80c42f8 return; 80c4f90: e0cc b.n 80c512c } else #endif { /* On the FAT12/16/32 volume */ if (dp->blk_ofs != 0xFFFFFFFF) { /* Get LFN if available */ 80c4f92: 687b ldr r3, [r7, #4] 80c4f94: 6cdb ldr r3, [r3, #76] ; 0x4c 80c4f96: f1b3 3fff cmp.w r3, #4294967295 80c4f9a: d032 beq.n 80c5002 i = j = 0; 80c4f9c: 2300 movs r3, #0 80c4f9e: 61bb str r3, [r7, #24] 80c4fa0: 69bb ldr r3, [r7, #24] 80c4fa2: 61fb str r3, [r7, #28] while ((w = fs->lfnbuf[j++]) != 0) { /* Get an LFN character */ 80c4fa4: e01b b.n 80c4fde #if !_LFN_UNICODE w = ff_convert(w, 0); /* Unicode -> OEM */ 80c4fa6: 89fb ldrh r3, [r7, #14] 80c4fa8: 2100 movs r1, #0 80c4faa: 4618 mov r0, r3 80c4fac: f003 ff5e bl 80c8e6c 80c4fb0: 4603 mov r3, r0 80c4fb2: 81fb strh r3, [r7, #14] if (w == 0) { i = 0; break; } /* No LFN if it could not be converted */ 80c4fb4: 89fb ldrh r3, [r7, #14] 80c4fb6: 2b00 cmp r3, #0 80c4fb8: d102 bne.n 80c4fc0 80c4fba: 2300 movs r3, #0 80c4fbc: 61fb str r3, [r7, #28] 80c4fbe: e01a b.n 80c4ff6 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 */ 80c4fc0: 69fb ldr r3, [r7, #28] 80c4fc2: 2bfe cmp r3, #254 ; 0xfe 80c4fc4: d902 bls.n 80c4fcc 80c4fc6: 2300 movs r3, #0 80c4fc8: 61fb str r3, [r7, #28] 80c4fca: e014 b.n 80c4ff6 fno->fname[i++] = (TCHAR)w; 80c4fcc: 69fb ldr r3, [r7, #28] 80c4fce: 1c5a adds r2, r3, #1 80c4fd0: 61fa str r2, [r7, #28] 80c4fd2: 89fa ldrh r2, [r7, #14] 80c4fd4: b2d1 uxtb r1, r2 80c4fd6: 683a ldr r2, [r7, #0] 80c4fd8: 4413 add r3, r2 80c4fda: 460a mov r2, r1 80c4fdc: 769a strb r2, [r3, #26] while ((w = fs->lfnbuf[j++]) != 0) { /* Get an LFN character */ 80c4fde: 693b ldr r3, [r7, #16] 80c4fe0: 68da ldr r2, [r3, #12] 80c4fe2: 69bb ldr r3, [r7, #24] 80c4fe4: 1c59 adds r1, r3, #1 80c4fe6: 61b9 str r1, [r7, #24] 80c4fe8: 005b lsls r3, r3, #1 80c4fea: 4413 add r3, r2 80c4fec: 881b ldrh r3, [r3, #0] 80c4fee: 81fb strh r3, [r7, #14] 80c4ff0: 89fb ldrh r3, [r7, #14] 80c4ff2: 2b00 cmp r3, #0 80c4ff4: d1d7 bne.n 80c4fa6 } fno->fname[i] = 0; /* Terminate the LFN */ 80c4ff6: 683a ldr r2, [r7, #0] 80c4ff8: 69fb ldr r3, [r7, #28] 80c4ffa: 4413 add r3, r2 80c4ffc: 331a adds r3, #26 80c4ffe: 2200 movs r2, #0 80c5000: 701a strb r2, [r3, #0] } } i = j = 0; 80c5002: 2300 movs r3, #0 80c5004: 61bb str r3, [r7, #24] 80c5006: 69bb ldr r3, [r7, #24] 80c5008: 61fb str r3, [r7, #28] lfv = fno->fname[i]; /* LFN is exist if non-zero */ 80c500a: 683a ldr r2, [r7, #0] 80c500c: 69fb ldr r3, [r7, #28] 80c500e: 4413 add r3, r2 80c5010: 331a adds r3, #26 80c5012: 781b ldrb r3, [r3, #0] 80c5014: 81bb strh r3, [r7, #12] while (i < 11) { /* Copy name body and extension */ 80c5016: e04c b.n 80c50b2 c = (TCHAR)dp->dir[i++]; 80c5018: 687b ldr r3, [r7, #4] 80c501a: 6bda ldr r2, [r3, #60] ; 0x3c 80c501c: 69fb ldr r3, [r7, #28] 80c501e: 1c59 adds r1, r3, #1 80c5020: 61f9 str r1, [r7, #28] 80c5022: 4413 add r3, r2 80c5024: 781b ldrb r3, [r3, #0] 80c5026: 75fb strb r3, [r7, #23] if (c == ' ') continue; /* Skip padding spaces */ 80c5028: 7dfb ldrb r3, [r7, #23] 80c502a: 2b20 cmp r3, #32 80c502c: d100 bne.n 80c5030 80c502e: e040 b.n 80c50b2 if (c == RDDEM) c = (TCHAR)DDEM; /* Restore replaced DDEM character */ 80c5030: 7dfb ldrb r3, [r7, #23] 80c5032: 2b05 cmp r3, #5 80c5034: d101 bne.n 80c503a 80c5036: 23e5 movs r3, #229 ; 0xe5 80c5038: 75fb strb r3, [r7, #23] if (i == 9) { /* Insert a . if extension is exist */ 80c503a: 69fb ldr r3, [r7, #28] 80c503c: 2b09 cmp r3, #9 80c503e: d10f bne.n 80c5060 if (!lfv) fno->fname[j] = '.'; 80c5040: 89bb ldrh r3, [r7, #12] 80c5042: 2b00 cmp r3, #0 80c5044: d105 bne.n 80c5052 80c5046: 683a ldr r2, [r7, #0] 80c5048: 69bb ldr r3, [r7, #24] 80c504a: 4413 add r3, r2 80c504c: 331a adds r3, #26 80c504e: 222e movs r2, #46 ; 0x2e 80c5050: 701a strb r2, [r3, #0] fno->altname[j++] = '.'; 80c5052: 69bb ldr r3, [r7, #24] 80c5054: 1c5a adds r2, r3, #1 80c5056: 61ba str r2, [r7, #24] 80c5058: 683a ldr r2, [r7, #0] 80c505a: 4413 add r3, r2 80c505c: 222e movs r2, #46 ; 0x2e 80c505e: 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; 80c5060: 683a ldr r2, [r7, #0] 80c5062: 69bb ldr r3, [r7, #24] 80c5064: 4413 add r3, r2 80c5066: 330d adds r3, #13 80c5068: 7dfa ldrb r2, [r7, #23] 80c506a: 701a strb r2, [r3, #0] if (!lfv) { 80c506c: 89bb ldrh r3, [r7, #12] 80c506e: 2b00 cmp r3, #0 80c5070: d11c bne.n 80c50ac if (IsUpper(c) && (dp->dir[DIR_NTres] & ((i >= 9) ? NS_EXT : NS_BODY))) { 80c5072: 7dfb ldrb r3, [r7, #23] 80c5074: 2b40 cmp r3, #64 ; 0x40 80c5076: d913 bls.n 80c50a0 80c5078: 7dfb ldrb r3, [r7, #23] 80c507a: 2b5a cmp r3, #90 ; 0x5a 80c507c: d810 bhi.n 80c50a0 80c507e: 687b ldr r3, [r7, #4] 80c5080: 6bdb ldr r3, [r3, #60] ; 0x3c 80c5082: 330c adds r3, #12 80c5084: 781b ldrb r3, [r3, #0] 80c5086: 461a mov r2, r3 80c5088: 69fb ldr r3, [r7, #28] 80c508a: 2b08 cmp r3, #8 80c508c: d901 bls.n 80c5092 80c508e: 2310 movs r3, #16 80c5090: e000 b.n 80c5094 80c5092: 2308 movs r3, #8 80c5094: 4013 ands r3, r2 80c5096: 2b00 cmp r3, #0 80c5098: d002 beq.n 80c50a0 c += 0x20; /* To lower */ 80c509a: 7dfb ldrb r3, [r7, #23] 80c509c: 3320 adds r3, #32 80c509e: 75fb strb r3, [r7, #23] } fno->fname[j] = c; 80c50a0: 683a ldr r2, [r7, #0] 80c50a2: 69bb ldr r3, [r7, #24] 80c50a4: 4413 add r3, r2 80c50a6: 331a adds r3, #26 80c50a8: 7dfa ldrb r2, [r7, #23] 80c50aa: 701a strb r2, [r3, #0] } j++; 80c50ac: 69bb ldr r3, [r7, #24] 80c50ae: 3301 adds r3, #1 80c50b0: 61bb str r3, [r7, #24] while (i < 11) { /* Copy name body and extension */ 80c50b2: 69fb ldr r3, [r7, #28] 80c50b4: 2b0a cmp r3, #10 80c50b6: d9af bls.n 80c5018 } if (!lfv) { 80c50b8: 89bb ldrh r3, [r7, #12] 80c50ba: 2b00 cmp r3, #0 80c50bc: d10d bne.n 80c50da fno->fname[j] = 0; 80c50be: 683a ldr r2, [r7, #0] 80c50c0: 69bb ldr r3, [r7, #24] 80c50c2: 4413 add r3, r2 80c50c4: 331a adds r3, #26 80c50c6: 2200 movs r2, #0 80c50c8: 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. */ 80c50ca: 687b ldr r3, [r7, #4] 80c50cc: 6bdb ldr r3, [r3, #60] ; 0x3c 80c50ce: 330c adds r3, #12 80c50d0: 781b ldrb r3, [r3, #0] 80c50d2: 2b00 cmp r3, #0 80c50d4: d101 bne.n 80c50da 80c50d6: 2300 movs r3, #0 80c50d8: 61bb str r3, [r7, #24] } fno->altname[j] = 0; /* Terminate the SFN */ 80c50da: 683a ldr r2, [r7, #0] 80c50dc: 69bb ldr r3, [r7, #24] 80c50de: 4413 add r3, r2 80c50e0: 330d adds r3, #13 80c50e2: 2200 movs r2, #0 80c50e4: 701a strb r2, [r3, #0] fno->fname[j++] = c; } fno->fname[j] = 0; #endif fno->fattrib = dp->dir[DIR_Attr]; /* Attribute */ 80c50e6: 687b ldr r3, [r7, #4] 80c50e8: 6bdb ldr r3, [r3, #60] ; 0x3c 80c50ea: 7ada ldrb r2, [r3, #11] 80c50ec: 683b ldr r3, [r7, #0] 80c50ee: 731a strb r2, [r3, #12] fno->fsize = ld_dword(dp->dir + DIR_FileSize); /* Size */ 80c50f0: 687b ldr r3, [r7, #4] 80c50f2: 6bdb ldr r3, [r3, #60] ; 0x3c 80c50f4: 331c adds r3, #28 80c50f6: 4618 mov r0, r3 80c50f8: f7fd fc1c bl 80c2934 80c50fc: 4603 mov r3, r0 80c50fe: f04f 0400 mov.w r4, #0 80c5102: 683a ldr r2, [r7, #0] 80c5104: e882 0018 stmia.w r2, {r3, r4} tm = ld_dword(dp->dir + DIR_ModTime); /* Timestamp */ 80c5108: 687b ldr r3, [r7, #4] 80c510a: 6bdb ldr r3, [r3, #60] ; 0x3c 80c510c: 3316 adds r3, #22 80c510e: 4618 mov r0, r3 80c5110: f7fd fc10 bl 80c2934 80c5114: 60b8 str r0, [r7, #8] fno->ftime = (WORD)tm; fno->fdate = (WORD)(tm >> 16); 80c5116: 68bb ldr r3, [r7, #8] 80c5118: b29a uxth r2, r3 80c511a: 683b ldr r3, [r7, #0] 80c511c: 815a strh r2, [r3, #10] 80c511e: 68bb ldr r3, [r7, #8] 80c5120: 0c1b lsrs r3, r3, #16 80c5122: b29a uxth r2, r3 80c5124: 683b ldr r3, [r7, #0] 80c5126: 811a strh r2, [r3, #8] 80c5128: e000 b.n 80c512c if (!dp->sect) return; /* Exit if read pointer has reached end of directory */ 80c512a: bf00 nop } 80c512c: 3724 adds r7, #36 ; 0x24 80c512e: 46bd mov sp, r7 80c5130: bd90 pop {r4, r7, pc} ... 080c5134 : 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 */ ) { 80c5134: b580 push {r7, lr} 80c5136: b08a sub sp, #40 ; 0x28 80c5138: af00 add r7, sp, #0 80c513a: 6078 str r0, [r7, #4] 80c513c: 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; 80c513e: 683b ldr r3, [r7, #0] 80c5140: 681b ldr r3, [r3, #0] 80c5142: 613b str r3, [r7, #16] 80c5144: 687b ldr r3, [r7, #4] 80c5146: 681b ldr r3, [r3, #0] 80c5148: 68db ldr r3, [r3, #12] 80c514a: 60fb str r3, [r7, #12] 80c514c: 2300 movs r3, #0 80c514e: 617b str r3, [r7, #20] 80c5150: 697b ldr r3, [r7, #20] 80c5152: 61bb str r3, [r7, #24] for (;;) { w = p[si++]; /* Get a character */ 80c5154: 69bb ldr r3, [r7, #24] 80c5156: 1c5a adds r2, r3, #1 80c5158: 61ba str r2, [r7, #24] 80c515a: 693a ldr r2, [r7, #16] 80c515c: 4413 add r3, r2 80c515e: 781b ldrb r3, [r3, #0] 80c5160: 84bb strh r3, [r7, #36] ; 0x24 if (w < ' ') break; /* Break if end of the path name */ 80c5162: 8cbb ldrh r3, [r7, #36] ; 0x24 80c5164: 2b1f cmp r3, #31 80c5166: d940 bls.n 80c51ea if (w == '/' || w == '\\') { /* Break if a separator is found */ 80c5168: 8cbb ldrh r3, [r7, #36] ; 0x24 80c516a: 2b2f cmp r3, #47 ; 0x2f 80c516c: d006 beq.n 80c517c 80c516e: 8cbb ldrh r3, [r7, #36] ; 0x24 80c5170: 2b5c cmp r3, #92 ; 0x5c 80c5172: d110 bne.n 80c5196 while (p[si] == '/' || p[si] == '\\') si++; /* Skip duplicated separator if exist */ 80c5174: e002 b.n 80c517c 80c5176: 69bb ldr r3, [r7, #24] 80c5178: 3301 adds r3, #1 80c517a: 61bb str r3, [r7, #24] 80c517c: 693a ldr r2, [r7, #16] 80c517e: 69bb ldr r3, [r7, #24] 80c5180: 4413 add r3, r2 80c5182: 781b ldrb r3, [r3, #0] 80c5184: 2b2f cmp r3, #47 ; 0x2f 80c5186: d0f6 beq.n 80c5176 80c5188: 693a ldr r2, [r7, #16] 80c518a: 69bb ldr r3, [r7, #24] 80c518c: 4413 add r3, r2 80c518e: 781b ldrb r3, [r3, #0] 80c5190: 2b5c cmp r3, #92 ; 0x5c 80c5192: d0f0 beq.n 80c5176 break; 80c5194: e02a b.n 80c51ec } if (di >= _MAX_LFN) return FR_INVALID_NAME; /* Reject too long name */ 80c5196: 697b ldr r3, [r7, #20] 80c5198: 2bfe cmp r3, #254 ; 0xfe 80c519a: d901 bls.n 80c51a0 80c519c: 2306 movs r3, #6 80c519e: e177 b.n 80c5490 #if !_LFN_UNICODE w &= 0xFF; 80c51a0: 8cbb ldrh r3, [r7, #36] ; 0x24 80c51a2: b2db uxtb r3, r3 80c51a4: 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 */ 80c51a6: 8cbb ldrh r3, [r7, #36] ; 0x24 80c51a8: 2101 movs r1, #1 80c51aa: 4618 mov r0, r3 80c51ac: f003 fe5e bl 80c8e6c 80c51b0: 4603 mov r3, r0 80c51b2: 84bb strh r3, [r7, #36] ; 0x24 if (!w) return FR_INVALID_NAME; /* Reject invalid code */ 80c51b4: 8cbb ldrh r3, [r7, #36] ; 0x24 80c51b6: 2b00 cmp r3, #0 80c51b8: d101 bne.n 80c51be 80c51ba: 2306 movs r3, #6 80c51bc: e168 b.n 80c5490 #endif if (w < 0x80 && chk_chr("\"*:<>\?|\x7F", w)) return FR_INVALID_NAME; /* Reject illegal characters for LFN */ 80c51be: 8cbb ldrh r3, [r7, #36] ; 0x24 80c51c0: 2b7f cmp r3, #127 ; 0x7f 80c51c2: d809 bhi.n 80c51d8 80c51c4: 8cbb ldrh r3, [r7, #36] ; 0x24 80c51c6: 4619 mov r1, r3 80c51c8: 48b3 ldr r0, [pc, #716] ; (80c5498 ) 80c51ca: f7fd fdbf bl 80c2d4c 80c51ce: 4603 mov r3, r0 80c51d0: 2b00 cmp r3, #0 80c51d2: d001 beq.n 80c51d8 80c51d4: 2306 movs r3, #6 80c51d6: e15b b.n 80c5490 lfn[di++] = w; /* Store the Unicode character */ 80c51d8: 697b ldr r3, [r7, #20] 80c51da: 1c5a adds r2, r3, #1 80c51dc: 617a str r2, [r7, #20] 80c51de: 005b lsls r3, r3, #1 80c51e0: 68fa ldr r2, [r7, #12] 80c51e2: 4413 add r3, r2 80c51e4: 8cba ldrh r2, [r7, #36] ; 0x24 80c51e6: 801a strh r2, [r3, #0] w = p[si++]; /* Get a character */ 80c51e8: e7b4 b.n 80c5154 if (w < ' ') break; /* Break if end of the path name */ 80c51ea: bf00 nop } *path = &p[si]; /* Return pointer to the next segment */ 80c51ec: 693a ldr r2, [r7, #16] 80c51ee: 69bb ldr r3, [r7, #24] 80c51f0: 441a add r2, r3 80c51f2: 683b ldr r3, [r7, #0] 80c51f4: 601a str r2, [r3, #0] cf = (w < ' ') ? NS_LAST : 0; /* Set last segment flag if end of the path */ 80c51f6: 8cbb ldrh r3, [r7, #36] ; 0x24 80c51f8: 2b1f cmp r3, #31 80c51fa: d801 bhi.n 80c5200 80c51fc: 2304 movs r3, #4 80c51fe: e000 b.n 80c5202 80c5200: 2300 movs r3, #0 80c5202: 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 */ 80c5206: e011 b.n 80c522c w = lfn[di - 1]; 80c5208: 697a ldr r2, [r7, #20] 80c520a: f06f 4300 mvn.w r3, #2147483648 ; 0x80000000 80c520e: 4413 add r3, r2 80c5210: 005b lsls r3, r3, #1 80c5212: 68fa ldr r2, [r7, #12] 80c5214: 4413 add r3, r2 80c5216: 881b ldrh r3, [r3, #0] 80c5218: 84bb strh r3, [r7, #36] ; 0x24 if (w != ' ' && w != '.') break; 80c521a: 8cbb ldrh r3, [r7, #36] ; 0x24 80c521c: 2b20 cmp r3, #32 80c521e: d002 beq.n 80c5226 80c5220: 8cbb ldrh r3, [r7, #36] ; 0x24 80c5222: 2b2e cmp r3, #46 ; 0x2e 80c5224: d106 bne.n 80c5234 di--; 80c5226: 697b ldr r3, [r7, #20] 80c5228: 3b01 subs r3, #1 80c522a: 617b str r3, [r7, #20] while (di) { /* Snip off trailing spaces and dots if exist */ 80c522c: 697b ldr r3, [r7, #20] 80c522e: 2b00 cmp r3, #0 80c5230: d1ea bne.n 80c5208 80c5232: e000 b.n 80c5236 if (w != ' ' && w != '.') break; 80c5234: bf00 nop } lfn[di] = 0; /* LFN is created */ 80c5236: 697b ldr r3, [r7, #20] 80c5238: 005b lsls r3, r3, #1 80c523a: 68fa ldr r2, [r7, #12] 80c523c: 4413 add r3, r2 80c523e: 2200 movs r2, #0 80c5240: 801a strh r2, [r3, #0] if (di == 0) return FR_INVALID_NAME; /* Reject nul name */ 80c5242: 697b ldr r3, [r7, #20] 80c5244: 2b00 cmp r3, #0 80c5246: d101 bne.n 80c524c 80c5248: 2306 movs r3, #6 80c524a: e121 b.n 80c5490 /* Create SFN in directory form */ mem_set(dp->fn, ' ', 11); 80c524c: 687b ldr r3, [r7, #4] 80c524e: 3340 adds r3, #64 ; 0x40 80c5250: 220b movs r2, #11 80c5252: 2120 movs r1, #32 80c5254: 4618 mov r0, r3 80c5256: f7fd fd38 bl 80c2cca for (si = 0; lfn[si] == ' ' || lfn[si] == '.'; si++) ; /* Strip leading spaces and dots */ 80c525a: 2300 movs r3, #0 80c525c: 61bb str r3, [r7, #24] 80c525e: e002 b.n 80c5266 80c5260: 69bb ldr r3, [r7, #24] 80c5262: 3301 adds r3, #1 80c5264: 61bb str r3, [r7, #24] 80c5266: 69bb ldr r3, [r7, #24] 80c5268: 005b lsls r3, r3, #1 80c526a: 68fa ldr r2, [r7, #12] 80c526c: 4413 add r3, r2 80c526e: 881b ldrh r3, [r3, #0] 80c5270: 2b20 cmp r3, #32 80c5272: d0f5 beq.n 80c5260 80c5274: 69bb ldr r3, [r7, #24] 80c5276: 005b lsls r3, r3, #1 80c5278: 68fa ldr r2, [r7, #12] 80c527a: 4413 add r3, r2 80c527c: 881b ldrh r3, [r3, #0] 80c527e: 2b2e cmp r3, #46 ; 0x2e 80c5280: d0ee beq.n 80c5260 if (si) cf |= NS_LOSS | NS_LFN; 80c5282: 69bb ldr r3, [r7, #24] 80c5284: 2b00 cmp r3, #0 80c5286: d009 beq.n 80c529c 80c5288: f897 3026 ldrb.w r3, [r7, #38] ; 0x26 80c528c: f043 0303 orr.w r3, r3, #3 80c5290: f887 3026 strb.w r3, [r7, #38] ; 0x26 while (di && lfn[di - 1] != '.') di--; /* Find extension (di<=si: no extension) */ 80c5294: e002 b.n 80c529c 80c5296: 697b ldr r3, [r7, #20] 80c5298: 3b01 subs r3, #1 80c529a: 617b str r3, [r7, #20] 80c529c: 697b ldr r3, [r7, #20] 80c529e: 2b00 cmp r3, #0 80c52a0: d009 beq.n 80c52b6 80c52a2: 697a ldr r2, [r7, #20] 80c52a4: f06f 4300 mvn.w r3, #2147483648 ; 0x80000000 80c52a8: 4413 add r3, r2 80c52aa: 005b lsls r3, r3, #1 80c52ac: 68fa ldr r2, [r7, #12] 80c52ae: 4413 add r3, r2 80c52b0: 881b ldrh r3, [r3, #0] 80c52b2: 2b2e cmp r3, #46 ; 0x2e 80c52b4: d1ef bne.n 80c5296 i = b = 0; ni = 8; 80c52b6: 2300 movs r3, #0 80c52b8: f887 3027 strb.w r3, [r7, #39] ; 0x27 80c52bc: 2300 movs r3, #0 80c52be: 623b str r3, [r7, #32] 80c52c0: 2308 movs r3, #8 80c52c2: 61fb str r3, [r7, #28] for (;;) { w = lfn[si++]; /* Get an LFN character */ 80c52c4: 69bb ldr r3, [r7, #24] 80c52c6: 1c5a adds r2, r3, #1 80c52c8: 61ba str r2, [r7, #24] 80c52ca: 005b lsls r3, r3, #1 80c52cc: 68fa ldr r2, [r7, #12] 80c52ce: 4413 add r3, r2 80c52d0: 881b ldrh r3, [r3, #0] 80c52d2: 84bb strh r3, [r7, #36] ; 0x24 if (!w) break; /* Break on end of the LFN */ 80c52d4: 8cbb ldrh r3, [r7, #36] ; 0x24 80c52d6: 2b00 cmp r3, #0 80c52d8: f000 8090 beq.w 80c53fc if (w == ' ' || (w == '.' && si != di)) { /* Remove spaces and dots */ 80c52dc: 8cbb ldrh r3, [r7, #36] ; 0x24 80c52de: 2b20 cmp r3, #32 80c52e0: d006 beq.n 80c52f0 80c52e2: 8cbb ldrh r3, [r7, #36] ; 0x24 80c52e4: 2b2e cmp r3, #46 ; 0x2e 80c52e6: d10a bne.n 80c52fe 80c52e8: 69ba ldr r2, [r7, #24] 80c52ea: 697b ldr r3, [r7, #20] 80c52ec: 429a cmp r2, r3 80c52ee: d006 beq.n 80c52fe cf |= NS_LOSS | NS_LFN; continue; 80c52f0: f897 3026 ldrb.w r3, [r7, #38] ; 0x26 80c52f4: f043 0303 orr.w r3, r3, #3 80c52f8: f887 3026 strb.w r3, [r7, #38] ; 0x26 80c52fc: e07d b.n 80c53fa } if (i >= ni || si == di) { /* Extension or end of SFN */ 80c52fe: 6a3a ldr r2, [r7, #32] 80c5300: 69fb ldr r3, [r7, #28] 80c5302: 429a cmp r2, r3 80c5304: d203 bcs.n 80c530e 80c5306: 69ba ldr r2, [r7, #24] 80c5308: 697b ldr r3, [r7, #20] 80c530a: 429a cmp r2, r3 80c530c: d123 bne.n 80c5356 if (ni == 11) { /* Long extension */ 80c530e: 69fb ldr r3, [r7, #28] 80c5310: 2b0b cmp r3, #11 80c5312: d106 bne.n 80c5322 cf |= NS_LOSS | NS_LFN; break; 80c5314: f897 3026 ldrb.w r3, [r7, #38] ; 0x26 80c5318: f043 0303 orr.w r3, r3, #3 80c531c: f887 3026 strb.w r3, [r7, #38] ; 0x26 80c5320: e06f b.n 80c5402 } if (si != di) cf |= NS_LOSS | NS_LFN; /* Out of 8.3 format */ 80c5322: 69ba ldr r2, [r7, #24] 80c5324: 697b ldr r3, [r7, #20] 80c5326: 429a cmp r2, r3 80c5328: d005 beq.n 80c5336 80c532a: f897 3026 ldrb.w r3, [r7, #38] ; 0x26 80c532e: f043 0303 orr.w r3, r3, #3 80c5332: f887 3026 strb.w r3, [r7, #38] ; 0x26 if (si > di) break; /* No extension */ 80c5336: 69ba ldr r2, [r7, #24] 80c5338: 697b ldr r3, [r7, #20] 80c533a: 429a cmp r2, r3 80c533c: d860 bhi.n 80c5400 si = di; i = 8; ni = 11; /* Enter extension section */ 80c533e: 697b ldr r3, [r7, #20] 80c5340: 61bb str r3, [r7, #24] 80c5342: 2308 movs r3, #8 80c5344: 623b str r3, [r7, #32] 80c5346: 230b movs r3, #11 80c5348: 61fb str r3, [r7, #28] b <<= 2; continue; 80c534a: f897 3027 ldrb.w r3, [r7, #39] ; 0x27 80c534e: 009b lsls r3, r3, #2 80c5350: f887 3027 strb.w r3, [r7, #39] ; 0x27 80c5354: e051 b.n 80c53fa } if (w >= 0x80) { /* Non ASCII character */ 80c5356: 8cbb ldrh r3, [r7, #36] ; 0x24 80c5358: 2b7f cmp r3, #127 ; 0x7f 80c535a: d914 bls.n 80c5386 #ifdef _EXCVT w = ff_convert(w, 0); /* Unicode -> OEM code */ 80c535c: 8cbb ldrh r3, [r7, #36] ; 0x24 80c535e: 2100 movs r1, #0 80c5360: 4618 mov r0, r3 80c5362: f003 fd83 bl 80c8e6c 80c5366: 4603 mov r3, r0 80c5368: 84bb strh r3, [r7, #36] ; 0x24 if (w) w = ExCvt[w - 0x80]; /* Convert extended character to upper (SBCS) */ 80c536a: 8cbb ldrh r3, [r7, #36] ; 0x24 80c536c: 2b00 cmp r3, #0 80c536e: d004 beq.n 80c537a 80c5370: 8cbb ldrh r3, [r7, #36] ; 0x24 80c5372: 3b80 subs r3, #128 ; 0x80 80c5374: 4a49 ldr r2, [pc, #292] ; (80c549c ) 80c5376: 5cd3 ldrb r3, [r2, r3] 80c5378: 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 */ 80c537a: f897 3026 ldrb.w r3, [r7, #38] ; 0x26 80c537e: f043 0302 orr.w r3, r3, #2 80c5382: 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 */ 80c5386: 8cbb ldrh r3, [r7, #36] ; 0x24 80c5388: 2b00 cmp r3, #0 80c538a: d007 beq.n 80c539c 80c538c: 8cbb ldrh r3, [r7, #36] ; 0x24 80c538e: 4619 mov r1, r3 80c5390: 4843 ldr r0, [pc, #268] ; (80c54a0 ) 80c5392: f7fd fcdb bl 80c2d4c 80c5396: 4603 mov r3, r0 80c5398: 2b00 cmp r3, #0 80c539a: d008 beq.n 80c53ae w = '_'; cf |= NS_LOSS | NS_LFN;/* Lossy conversion */ 80c539c: 235f movs r3, #95 ; 0x5f 80c539e: 84bb strh r3, [r7, #36] ; 0x24 80c53a0: f897 3026 ldrb.w r3, [r7, #38] ; 0x26 80c53a4: f043 0303 orr.w r3, r3, #3 80c53a8: f887 3026 strb.w r3, [r7, #38] ; 0x26 80c53ac: e01b b.n 80c53e6 } else { if (IsUpper(w)) { /* ASCII large capital */ 80c53ae: 8cbb ldrh r3, [r7, #36] ; 0x24 80c53b0: 2b40 cmp r3, #64 ; 0x40 80c53b2: d909 bls.n 80c53c8 80c53b4: 8cbb ldrh r3, [r7, #36] ; 0x24 80c53b6: 2b5a cmp r3, #90 ; 0x5a 80c53b8: d806 bhi.n 80c53c8 b |= 2; 80c53ba: f897 3027 ldrb.w r3, [r7, #39] ; 0x27 80c53be: f043 0302 orr.w r3, r3, #2 80c53c2: f887 3027 strb.w r3, [r7, #39] ; 0x27 80c53c6: e00e b.n 80c53e6 } else { if (IsLower(w)) { /* ASCII small capital */ 80c53c8: 8cbb ldrh r3, [r7, #36] ; 0x24 80c53ca: 2b60 cmp r3, #96 ; 0x60 80c53cc: d90b bls.n 80c53e6 80c53ce: 8cbb ldrh r3, [r7, #36] ; 0x24 80c53d0: 2b7a cmp r3, #122 ; 0x7a 80c53d2: d808 bhi.n 80c53e6 b |= 1; w -= 0x20; 80c53d4: f897 3027 ldrb.w r3, [r7, #39] ; 0x27 80c53d8: f043 0301 orr.w r3, r3, #1 80c53dc: f887 3027 strb.w r3, [r7, #39] ; 0x27 80c53e0: 8cbb ldrh r3, [r7, #36] ; 0x24 80c53e2: 3b20 subs r3, #32 80c53e4: 84bb strh r3, [r7, #36] ; 0x24 } } } } dp->fn[i++] = (BYTE)w; 80c53e6: 6a3b ldr r3, [r7, #32] 80c53e8: 1c5a adds r2, r3, #1 80c53ea: 623a str r2, [r7, #32] 80c53ec: 8cba ldrh r2, [r7, #36] ; 0x24 80c53ee: b2d1 uxtb r1, r2 80c53f0: 687a ldr r2, [r7, #4] 80c53f2: 4413 add r3, r2 80c53f4: 460a mov r2, r1 80c53f6: f883 2040 strb.w r2, [r3, #64] ; 0x40 w = lfn[si++]; /* Get an LFN character */ 80c53fa: e763 b.n 80c52c4 if (!w) break; /* Break on end of the LFN */ 80c53fc: bf00 nop 80c53fe: e000 b.n 80c5402 if (si > di) break; /* No extension */ 80c5400: bf00 nop } if (dp->fn[0] == DDEM) dp->fn[0] = RDDEM; /* If the first character collides with DDEM, replace it with RDDEM */ 80c5402: 687b ldr r3, [r7, #4] 80c5404: f893 3040 ldrb.w r3, [r3, #64] ; 0x40 80c5408: 2be5 cmp r3, #229 ; 0xe5 80c540a: d103 bne.n 80c5414 80c540c: 687b ldr r3, [r7, #4] 80c540e: 2205 movs r2, #5 80c5410: f883 2040 strb.w r2, [r3, #64] ; 0x40 if (ni == 8) b <<= 2; 80c5414: 69fb ldr r3, [r7, #28] 80c5416: 2b08 cmp r3, #8 80c5418: d104 bne.n 80c5424 80c541a: f897 3027 ldrb.w r3, [r7, #39] ; 0x27 80c541e: 009b lsls r3, r3, #2 80c5420: 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 */ 80c5424: f897 3027 ldrb.w r3, [r7, #39] ; 0x27 80c5428: f003 030c and.w r3, r3, #12 80c542c: 2b0c cmp r3, #12 80c542e: d005 beq.n 80c543c 80c5430: f897 3027 ldrb.w r3, [r7, #39] ; 0x27 80c5434: f003 0303 and.w r3, r3, #3 80c5438: 2b03 cmp r3, #3 80c543a: d105 bne.n 80c5448 80c543c: f897 3026 ldrb.w r3, [r7, #38] ; 0x26 80c5440: f043 0302 orr.w r3, r3, #2 80c5444: 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 */ 80c5448: f897 3026 ldrb.w r3, [r7, #38] ; 0x26 80c544c: f003 0302 and.w r3, r3, #2 80c5450: 2b00 cmp r3, #0 80c5452: d117 bne.n 80c5484 if ((b & 0x03) == 0x01) cf |= NS_EXT; /* NT flag (Extension has only small capital) */ 80c5454: f897 3027 ldrb.w r3, [r7, #39] ; 0x27 80c5458: f003 0303 and.w r3, r3, #3 80c545c: 2b01 cmp r3, #1 80c545e: d105 bne.n 80c546c 80c5460: f897 3026 ldrb.w r3, [r7, #38] ; 0x26 80c5464: f043 0310 orr.w r3, r3, #16 80c5468: f887 3026 strb.w r3, [r7, #38] ; 0x26 if ((b & 0x0C) == 0x04) cf |= NS_BODY; /* NT flag (Filename has only small capital) */ 80c546c: f897 3027 ldrb.w r3, [r7, #39] ; 0x27 80c5470: f003 030c and.w r3, r3, #12 80c5474: 2b04 cmp r3, #4 80c5476: d105 bne.n 80c5484 80c5478: f897 3026 ldrb.w r3, [r7, #38] ; 0x26 80c547c: f043 0308 orr.w r3, r3, #8 80c5480: f887 3026 strb.w r3, [r7, #38] ; 0x26 } dp->fn[NSFLAG] = cf; /* SFN is created */ 80c5484: 687b ldr r3, [r7, #4] 80c5486: f897 2026 ldrb.w r2, [r7, #38] ; 0x26 80c548a: f883 204b strb.w r2, [r3, #75] ; 0x4b return FR_OK; 80c548e: 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 */ } 80c5490: 4618 mov r0, r3 80c5492: 3728 adds r7, #40 ; 0x28 80c5494: 46bd mov sp, r7 80c5496: bd80 pop {r7, pc} 80c5498: 080d0b68 .word 0x080d0b68 80c549c: 08169bd8 .word 0x08169bd8 80c54a0: 080d0b74 .word 0x080d0b74 080c54a4 : 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 */ ) { 80c54a4: b590 push {r4, r7, lr} 80c54a6: b087 sub sp, #28 80c54a8: af00 add r7, sp, #0 80c54aa: 6078 str r0, [r7, #4] 80c54ac: 6039 str r1, [r7, #0] FRESULT res; BYTE ns; _FDID *obj = &dp->obj; 80c54ae: 687b ldr r3, [r7, #4] 80c54b0: 613b str r3, [r7, #16] FATFS *fs = obj->fs; 80c54b2: 693b ldr r3, [r7, #16] 80c54b4: 681b ldr r3, [r3, #0] 80c54b6: 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 */ 80c54b8: e002 b.n 80c54c0 80c54ba: 683b ldr r3, [r7, #0] 80c54bc: 3301 adds r3, #1 80c54be: 603b str r3, [r7, #0] 80c54c0: 683b ldr r3, [r7, #0] 80c54c2: 781b ldrb r3, [r3, #0] 80c54c4: 2b2f cmp r3, #47 ; 0x2f 80c54c6: d0f8 beq.n 80c54ba 80c54c8: 683b ldr r3, [r7, #0] 80c54ca: 781b ldrb r3, [r3, #0] 80c54cc: 2b5c cmp r3, #92 ; 0x5c 80c54ce: d0f4 beq.n 80c54ba obj->sclust = 0; /* Start from root directory */ 80c54d0: 693b ldr r3, [r7, #16] 80c54d2: 2200 movs r2, #0 80c54d4: 609a str r2, [r3, #8] } #if _FS_EXFAT obj->n_frag = 0; /* Invalidate last fragment counter of the object */ 80c54d6: 693b ldr r3, [r7, #16] 80c54d8: 2200 movs r2, #0 80c54da: 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 */ 80c54dc: 683b ldr r3, [r7, #0] 80c54de: 781b ldrb r3, [r3, #0] 80c54e0: 2b1f cmp r3, #31 80c54e2: d80a bhi.n 80c54fa dp->fn[NSFLAG] = NS_NONAME; 80c54e4: 687b ldr r3, [r7, #4] 80c54e6: 2280 movs r2, #128 ; 0x80 80c54e8: f883 204b strb.w r2, [r3, #75] ; 0x4b res = dir_sdi(dp, 0); 80c54ec: 2100 movs r1, #0 80c54ee: 6878 ldr r0, [r7, #4] 80c54f0: f7fe fa8b bl 80c3a0a 80c54f4: 4603 mov r3, r0 80c54f6: 75fb strb r3, [r7, #23] 80c54f8: e077 b.n 80c55ea } else { /* Follow path */ for (;;) { res = create_name(dp, &path); /* Get a segment name of the path */ 80c54fa: 463b mov r3, r7 80c54fc: 4619 mov r1, r3 80c54fe: 6878 ldr r0, [r7, #4] 80c5500: f7ff fe18 bl 80c5134 80c5504: 4603 mov r3, r0 80c5506: 75fb strb r3, [r7, #23] if (res != FR_OK) break; 80c5508: 7dfb ldrb r3, [r7, #23] 80c550a: 2b00 cmp r3, #0 80c550c: d168 bne.n 80c55e0 res = dir_find(dp); /* Find an object with the segment name */ 80c550e: 6878 ldr r0, [r7, #4] 80c5510: f7ff f9fc bl 80c490c 80c5514: 4603 mov r3, r0 80c5516: 75fb strb r3, [r7, #23] ns = dp->fn[NSFLAG]; 80c5518: 687b ldr r3, [r7, #4] 80c551a: f893 304b ldrb.w r3, [r3, #75] ; 0x4b 80c551e: 72fb strb r3, [r7, #11] if (res != FR_OK) { /* Failed to find the object */ 80c5520: 7dfb ldrb r3, [r7, #23] 80c5522: 2b00 cmp r3, #0 80c5524: d00a beq.n 80c553c if (res == FR_NO_FILE) { /* Object is not found */ 80c5526: 7dfb ldrb r3, [r7, #23] 80c5528: 2b04 cmp r3, #4 80c552a: d15b bne.n 80c55e4 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 */ 80c552c: 7afb ldrb r3, [r7, #11] 80c552e: f003 0304 and.w r3, r3, #4 80c5532: 2b00 cmp r3, #0 80c5534: d156 bne.n 80c55e4 80c5536: 2305 movs r3, #5 80c5538: 75fb strb r3, [r7, #23] } } break; 80c553a: e053 b.n 80c55e4 } if (ns & NS_LAST) break; /* Last segment matched. Function completed. */ 80c553c: 7afb ldrb r3, [r7, #11] 80c553e: f003 0304 and.w r3, r3, #4 80c5542: 2b00 cmp r3, #0 80c5544: d150 bne.n 80c55e8 /* Get into the sub-directory */ if (!(obj->attr & AM_DIR)) { /* It is not a sub-directory and cannot follow */ 80c5546: 693b ldr r3, [r7, #16] 80c5548: 799b ldrb r3, [r3, #6] 80c554a: f003 0310 and.w r3, r3, #16 80c554e: 2b00 cmp r3, #0 80c5550: d102 bne.n 80c5558 res = FR_NO_PATH; break; 80c5552: 2305 movs r3, #5 80c5554: 75fb strb r3, [r7, #23] 80c5556: e048 b.n 80c55ea } #if _FS_EXFAT if (fs->fs_type == FS_EXFAT) { /* Save containing directory information for next dir */ 80c5558: 68fb ldr r3, [r7, #12] 80c555a: 781b ldrb r3, [r3, #0] 80c555c: 2b04 cmp r3, #4 80c555e: d12f bne.n 80c55c0 obj->c_scl = obj->sclust; 80c5560: 693b ldr r3, [r7, #16] 80c5562: 689a ldr r2, [r3, #8] 80c5564: 693b ldr r3, [r7, #16] 80c5566: 621a str r2, [r3, #32] obj->c_size = ((DWORD)obj->objsize & 0xFFFFFF00) | obj->stat; 80c5568: 693b ldr r3, [r7, #16] 80c556a: e9d3 3404 ldrd r3, r4, [r3, #16] 80c556e: f023 03ff bic.w r3, r3, #255 ; 0xff 80c5572: 693a ldr r2, [r7, #16] 80c5574: 79d2 ldrb r2, [r2, #7] 80c5576: 431a orrs r2, r3 80c5578: 693b ldr r3, [r7, #16] 80c557a: 625a str r2, [r3, #36] ; 0x24 obj->c_ofs = dp->blk_ofs; 80c557c: 687b ldr r3, [r7, #4] 80c557e: 6cda ldr r2, [r3, #76] ; 0x4c 80c5580: 693b ldr r3, [r7, #16] 80c5582: 629a str r2, [r3, #40] ; 0x28 obj->sclust = ld_dword(fs->dirbuf + XDIR_FstClus); /* Open next directory */ 80c5584: 68fb ldr r3, [r7, #12] 80c5586: 691b ldr r3, [r3, #16] 80c5588: 3334 adds r3, #52 ; 0x34 80c558a: 4618 mov r0, r3 80c558c: f7fd f9d2 bl 80c2934 80c5590: 4602 mov r2, r0 80c5592: 693b ldr r3, [r7, #16] 80c5594: 609a str r2, [r3, #8] obj->stat = fs->dirbuf[XDIR_GenFlags] & 2; 80c5596: 68fb ldr r3, [r7, #12] 80c5598: 691b ldr r3, [r3, #16] 80c559a: 3321 adds r3, #33 ; 0x21 80c559c: 781b ldrb r3, [r3, #0] 80c559e: f003 0302 and.w r3, r3, #2 80c55a2: b2da uxtb r2, r3 80c55a4: 693b ldr r3, [r7, #16] 80c55a6: 71da strb r2, [r3, #7] obj->objsize = ld_qword(fs->dirbuf + XDIR_FileSize); 80c55a8: 68fb ldr r3, [r7, #12] 80c55aa: 691b ldr r3, [r3, #16] 80c55ac: 3338 adds r3, #56 ; 0x38 80c55ae: 4618 mov r0, r3 80c55b0: f7fd f9e3 bl 80c297a 80c55b4: 4603 mov r3, r0 80c55b6: 460c mov r4, r1 80c55b8: 693a ldr r2, [r7, #16] 80c55ba: e9c2 3404 strd r3, r4, [r2, #16] 80c55be: e79c b.n 80c54fa } else #endif { obj->sclust = ld_clust(fs, fs->win + dp->dptr % SS(fs)); /* Open next directory */ 80c55c0: 68fb ldr r3, [r7, #12] 80c55c2: f103 0238 add.w r2, r3, #56 ; 0x38 80c55c6: 687b ldr r3, [r7, #4] 80c55c8: 6b1b ldr r3, [r3, #48] ; 0x30 80c55ca: f3c3 0308 ubfx r3, r3, #0, #9 80c55ce: 4413 add r3, r2 80c55d0: 4619 mov r1, r3 80c55d2: 68f8 ldr r0, [r7, #12] 80c55d4: f7fe fbd0 bl 80c3d78 80c55d8: 4602 mov r2, r0 80c55da: 693b ldr r3, [r7, #16] 80c55dc: 609a str r2, [r3, #8] res = create_name(dp, &path); /* Get a segment name of the path */ 80c55de: e78c b.n 80c54fa if (res != FR_OK) break; 80c55e0: bf00 nop 80c55e2: e002 b.n 80c55ea break; 80c55e4: bf00 nop 80c55e6: e000 b.n 80c55ea if (ns & NS_LAST) break; /* Last segment matched. Function completed. */ 80c55e8: bf00 nop } } } return res; 80c55ea: 7dfb ldrb r3, [r7, #23] } 80c55ec: 4618 mov r0, r3 80c55ee: 371c adds r7, #28 80c55f0: 46bd mov sp, r7 80c55f2: bd90 pop {r4, r7, pc} 080c55f4 : static int get_ldnumber ( /* Returns logical drive number (-1:invalid drive) */ const TCHAR** path /* Pointer to pointer to the path name */ ) { 80c55f4: b480 push {r7} 80c55f6: b087 sub sp, #28 80c55f8: af00 add r7, sp, #0 80c55fa: 6078 str r0, [r7, #4] const TCHAR *tp, *tt; UINT i; int vol = -1; 80c55fc: f04f 33ff mov.w r3, #4294967295 80c5600: 613b str r3, [r7, #16] char c; TCHAR tc; #endif if (*path) { /* If the pointer is not a null */ 80c5602: 687b ldr r3, [r7, #4] 80c5604: 681b ldr r3, [r3, #0] 80c5606: 2b00 cmp r3, #0 80c5608: d031 beq.n 80c566e for (tt = *path; (UINT)*tt >= (_USE_LFN ? ' ' : '!') && *tt != ':'; tt++) ; /* Find ':' in the path */ 80c560a: 687b ldr r3, [r7, #4] 80c560c: 681b ldr r3, [r3, #0] 80c560e: 617b str r3, [r7, #20] 80c5610: e002 b.n 80c5618 80c5612: 697b ldr r3, [r7, #20] 80c5614: 3301 adds r3, #1 80c5616: 617b str r3, [r7, #20] 80c5618: 697b ldr r3, [r7, #20] 80c561a: 781b ldrb r3, [r3, #0] 80c561c: 2b1f cmp r3, #31 80c561e: d903 bls.n 80c5628 80c5620: 697b ldr r3, [r7, #20] 80c5622: 781b ldrb r3, [r3, #0] 80c5624: 2b3a cmp r3, #58 ; 0x3a 80c5626: d1f4 bne.n 80c5612 if (*tt == ':') { /* If a ':' is exist in the path name */ 80c5628: 697b ldr r3, [r7, #20] 80c562a: 781b ldrb r3, [r3, #0] 80c562c: 2b3a cmp r3, #58 ; 0x3a 80c562e: d11c bne.n 80c566a tp = *path; 80c5630: 687b ldr r3, [r7, #4] 80c5632: 681b ldr r3, [r3, #0] 80c5634: 60fb str r3, [r7, #12] i = *tp++ - '0'; 80c5636: 68fb ldr r3, [r7, #12] 80c5638: 1c5a adds r2, r3, #1 80c563a: 60fa str r2, [r7, #12] 80c563c: 781b ldrb r3, [r3, #0] 80c563e: 3b30 subs r3, #48 ; 0x30 80c5640: 60bb str r3, [r7, #8] if (i < 10 && tp == tt) { /* Is there a numeric drive id? */ 80c5642: 68bb ldr r3, [r7, #8] 80c5644: 2b09 cmp r3, #9 80c5646: d80e bhi.n 80c5666 80c5648: 68fa ldr r2, [r7, #12] 80c564a: 697b ldr r3, [r7, #20] 80c564c: 429a cmp r2, r3 80c564e: d10a bne.n 80c5666 if (i < _VOLUMES) { /* If a drive id is found, get the value and strip it */ 80c5650: 68bb ldr r3, [r7, #8] 80c5652: 2b00 cmp r3, #0 80c5654: d107 bne.n 80c5666 vol = (int)i; 80c5656: 68bb ldr r3, [r7, #8] 80c5658: 613b str r3, [r7, #16] *path = ++tt; 80c565a: 697b ldr r3, [r7, #20] 80c565c: 3301 adds r3, #1 80c565e: 617b str r3, [r7, #20] 80c5660: 687b ldr r3, [r7, #4] 80c5662: 697a ldr r2, [r7, #20] 80c5664: 601a str r2, [r3, #0] vol = (int)i; *path = tt; } } #endif return vol; 80c5666: 693b ldr r3, [r7, #16] 80c5668: e002 b.n 80c5670 } #if _FS_RPATH != 0 && _VOLUMES >= 2 vol = CurrVol; /* Current drive */ #else vol = 0; /* Drive 0 */ 80c566a: 2300 movs r3, #0 80c566c: 613b str r3, [r7, #16] #endif } return vol; 80c566e: 693b ldr r3, [r7, #16] } 80c5670: 4618 mov r0, r3 80c5672: 371c adds r7, #28 80c5674: 46bd mov sp, r7 80c5676: f85d 7b04 ldr.w r7, [sp], #4 80c567a: 4770 bx lr 080c567c : 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 */ ) { 80c567c: b580 push {r7, lr} 80c567e: b082 sub sp, #8 80c5680: af00 add r7, sp, #0 80c5682: 6078 str r0, [r7, #4] 80c5684: 6039 str r1, [r7, #0] fs->wflag = 0; fs->winsect = 0xFFFFFFFF; /* Invaidate window */ 80c5686: 687b ldr r3, [r7, #4] 80c5688: 2200 movs r2, #0 80c568a: 70da strb r2, [r3, #3] 80c568c: 687b ldr r3, [r7, #4] 80c568e: f04f 32ff mov.w r2, #4294967295 80c5692: 635a str r2, [r3, #52] ; 0x34 if (move_window(fs, sect) != FR_OK) return 4; /* Load boot record */ 80c5694: 6839 ldr r1, [r7, #0] 80c5696: 6878 ldr r0, [r7, #4] 80c5698: f7fd fbb7 bl 80c2e0a 80c569c: 4603 mov r3, r0 80c569e: 2b00 cmp r3, #0 80c56a0: d001 beq.n 80c56a6 80c56a2: 2304 movs r3, #4 80c56a4: e044 b.n 80c5730 if (ld_word(fs->win + BS_55AA) != 0xAA55) return 3; /* Check boot record signature (always placed here even if the sector size is >512) */ 80c56a6: 687b ldr r3, [r7, #4] 80c56a8: 3338 adds r3, #56 ; 0x38 80c56aa: f503 73ff add.w r3, r3, #510 ; 0x1fe 80c56ae: 4618 mov r0, r3 80c56b0: f7fd f928 bl 80c2904 80c56b4: 4603 mov r3, r0 80c56b6: 461a mov r2, r3 80c56b8: f64a 2355 movw r3, #43605 ; 0xaa55 80c56bc: 429a cmp r2, r3 80c56be: d001 beq.n 80c56c4 80c56c0: 2303 movs r3, #3 80c56c2: e035 b.n 80c5730 if (fs->win[BS_JmpBoot] == 0xE9 || (fs->win[BS_JmpBoot] == 0xEB && fs->win[BS_JmpBoot + 2] == 0x90)) { 80c56c4: 687b ldr r3, [r7, #4] 80c56c6: f893 3038 ldrb.w r3, [r3, #56] ; 0x38 80c56ca: 2be9 cmp r3, #233 ; 0xe9 80c56cc: d009 beq.n 80c56e2 80c56ce: 687b ldr r3, [r7, #4] 80c56d0: f893 3038 ldrb.w r3, [r3, #56] ; 0x38 80c56d4: 2beb cmp r3, #235 ; 0xeb 80c56d6: d11e bne.n 80c5716 80c56d8: 687b ldr r3, [r7, #4] 80c56da: f893 303a ldrb.w r3, [r3, #58] ; 0x3a 80c56de: 2b90 cmp r3, #144 ; 0x90 80c56e0: d119 bne.n 80c5716 if ((ld_dword(fs->win + BS_FilSysType) & 0xFFFFFF) == 0x544146) return 0; /* Check "FAT" string */ 80c56e2: 687b ldr r3, [r7, #4] 80c56e4: 3338 adds r3, #56 ; 0x38 80c56e6: 3336 adds r3, #54 ; 0x36 80c56e8: 4618 mov r0, r3 80c56ea: f7fd f923 bl 80c2934 80c56ee: 4603 mov r3, r0 80c56f0: f023 437f bic.w r3, r3, #4278190080 ; 0xff000000 80c56f4: 4a10 ldr r2, [pc, #64] ; (80c5738 ) 80c56f6: 4293 cmp r3, r2 80c56f8: d101 bne.n 80c56fe 80c56fa: 2300 movs r3, #0 80c56fc: e018 b.n 80c5730 if (ld_dword(fs->win + BS_FilSysType32) == 0x33544146) return 0; /* Check "FAT3" string */ 80c56fe: 687b ldr r3, [r7, #4] 80c5700: 3338 adds r3, #56 ; 0x38 80c5702: 3352 adds r3, #82 ; 0x52 80c5704: 4618 mov r0, r3 80c5706: f7fd f915 bl 80c2934 80c570a: 4602 mov r2, r0 80c570c: 4b0b ldr r3, [pc, #44] ; (80c573c ) 80c570e: 429a cmp r2, r3 80c5710: d101 bne.n 80c5716 80c5712: 2300 movs r3, #0 80c5714: e00c b.n 80c5730 } #if _FS_EXFAT if (!mem_cmp(fs->win + BS_JmpBoot, "\xEB\x76\x90" "EXFAT ", 11)) return 1; 80c5716: 687b ldr r3, [r7, #4] 80c5718: 3338 adds r3, #56 ; 0x38 80c571a: 220b movs r2, #11 80c571c: 4908 ldr r1, [pc, #32] ; (80c5740 ) 80c571e: 4618 mov r0, r3 80c5720: f7fd faed bl 80c2cfe 80c5724: 4603 mov r3, r0 80c5726: 2b00 cmp r3, #0 80c5728: d101 bne.n 80c572e 80c572a: 2301 movs r3, #1 80c572c: e000 b.n 80c5730 #endif return 2; 80c572e: 2302 movs r3, #2 } 80c5730: 4618 mov r0, r3 80c5732: 3708 adds r7, #8 80c5734: 46bd mov sp, r7 80c5736: bd80 pop {r7, pc} 80c5738: 00544146 .word 0x00544146 80c573c: 33544146 .word 0x33544146 80c5740: 080d0b7c .word 0x080d0b7c 080c5744 : 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 */ ) { 80c5744: b590 push {r4, r7, lr} 80c5746: b099 sub sp, #100 ; 0x64 80c5748: af00 add r7, sp, #0 80c574a: 60f8 str r0, [r7, #12] 80c574c: 60b9 str r1, [r7, #8] 80c574e: 4613 mov r3, r2 80c5750: 71fb strb r3, [r7, #7] FATFS *fs; UINT i; /* Get logical drive number */ *rfs = 0; 80c5752: 68bb ldr r3, [r7, #8] 80c5754: 2200 movs r2, #0 80c5756: 601a str r2, [r3, #0] vol = get_ldnumber(path); 80c5758: 68f8 ldr r0, [r7, #12] 80c575a: f7ff ff4b bl 80c55f4 80c575e: 6478 str r0, [r7, #68] ; 0x44 if (vol < 0) return FR_INVALID_DRIVE; 80c5760: 6c7b ldr r3, [r7, #68] ; 0x44 80c5762: 2b00 cmp r3, #0 80c5764: da01 bge.n 80c576a 80c5766: 230b movs r3, #11 80c5768: e327 b.n 80c5dba /* Check if the file system object is valid or not */ fs = FatFs[vol]; /* Get pointer to the file system object */ 80c576a: 4ab0 ldr r2, [pc, #704] ; (80c5a2c ) 80c576c: 6c7b ldr r3, [r7, #68] ; 0x44 80c576e: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80c5772: 643b str r3, [r7, #64] ; 0x40 if (!fs) return FR_NOT_ENABLED; /* Is the file system object available? */ 80c5774: 6c3b ldr r3, [r7, #64] ; 0x40 80c5776: 2b00 cmp r3, #0 80c5778: d101 bne.n 80c577e 80c577a: 230c movs r3, #12 80c577c: e31d b.n 80c5dba ENTER_FF(fs); /* Lock the volume */ *rfs = fs; /* Return pointer to the file system object */ 80c577e: 68bb ldr r3, [r7, #8] 80c5780: 6c3a ldr r2, [r7, #64] ; 0x40 80c5782: 601a str r2, [r3, #0] mode &= (BYTE)~FA_READ; /* Desired access mode, write access or not */ 80c5784: 79fb ldrb r3, [r7, #7] 80c5786: f023 0301 bic.w r3, r3, #1 80c578a: 71fb strb r3, [r7, #7] if (fs->fs_type) { /* If the volume has been mounted */ 80c578c: 6c3b ldr r3, [r7, #64] ; 0x40 80c578e: 781b ldrb r3, [r3, #0] 80c5790: 2b00 cmp r3, #0 80c5792: d01a beq.n 80c57ca stat = disk_status(fs->drv); 80c5794: 6c3b ldr r3, [r7, #64] ; 0x40 80c5796: 785b ldrb r3, [r3, #1] 80c5798: 4618 mov r0, r3 80c579a: f7fd f815 bl 80c27c8 80c579e: 4603 mov r3, r0 80c57a0: f887 303f strb.w r3, [r7, #63] ; 0x3f if (!(stat & STA_NOINIT)) { /* and the physical drive is kept initialized */ 80c57a4: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 80c57a8: f003 0301 and.w r3, r3, #1 80c57ac: 2b00 cmp r3, #0 80c57ae: d10c bne.n 80c57ca if (!_FS_READONLY && mode && (stat & STA_PROTECT)) { /* Check write protection if needed */ 80c57b0: 79fb ldrb r3, [r7, #7] 80c57b2: 2b00 cmp r3, #0 80c57b4: d007 beq.n 80c57c6 80c57b6: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 80c57ba: f003 0304 and.w r3, r3, #4 80c57be: 2b00 cmp r3, #0 80c57c0: d001 beq.n 80c57c6 return FR_WRITE_PROTECTED; 80c57c2: 230a movs r3, #10 80c57c4: e2f9 b.n 80c5dba } return FR_OK; /* The file system object is valid */ 80c57c6: 2300 movs r3, #0 80c57c8: e2f7 b.n 80c5dba } /* 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 */ 80c57ca: 6c3b ldr r3, [r7, #64] ; 0x40 80c57cc: 2200 movs r2, #0 80c57ce: 701a strb r2, [r3, #0] fs->drv = LD2PD(vol); /* Bind the logical drive and a physical drive */ 80c57d0: 6c7b ldr r3, [r7, #68] ; 0x44 80c57d2: b2da uxtb r2, r3 80c57d4: 6c3b ldr r3, [r7, #64] ; 0x40 80c57d6: 705a strb r2, [r3, #1] stat = disk_initialize(fs->drv); /* Initialize the physical drive */ 80c57d8: 6c3b ldr r3, [r7, #64] ; 0x40 80c57da: 785b ldrb r3, [r3, #1] 80c57dc: 4618 mov r0, r3 80c57de: f7fd f80d bl 80c27fc 80c57e2: 4603 mov r3, r0 80c57e4: f887 303f strb.w r3, [r7, #63] ; 0x3f if (stat & STA_NOINIT) { /* Check if the initialization succeeded */ 80c57e8: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 80c57ec: f003 0301 and.w r3, r3, #1 80c57f0: 2b00 cmp r3, #0 80c57f2: d001 beq.n 80c57f8 return FR_NOT_READY; /* Failed to initialize due to no medium or hard error */ 80c57f4: 2303 movs r3, #3 80c57f6: e2e0 b.n 80c5dba } if (!_FS_READONLY && mode && (stat & STA_PROTECT)) { /* Check disk write protection if needed */ 80c57f8: 79fb ldrb r3, [r7, #7] 80c57fa: 2b00 cmp r3, #0 80c57fc: d007 beq.n 80c580e 80c57fe: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 80c5802: f003 0304 and.w r3, r3, #4 80c5806: 2b00 cmp r3, #0 80c5808: d001 beq.n 80c580e return FR_WRITE_PROTECTED; 80c580a: 230a movs r3, #10 80c580c: e2d5 b.n 80c5dba 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; 80c580e: 2300 movs r3, #0 80c5810: 65bb str r3, [r7, #88] ; 0x58 fmt = check_fs(fs, bsect); /* Load sector 0 and check if it is an FAT-VBR as SFD */ 80c5812: 6db9 ldr r1, [r7, #88] ; 0x58 80c5814: 6c38 ldr r0, [r7, #64] ; 0x40 80c5816: f7ff ff31 bl 80c567c 80c581a: 4603 mov r3, r0 80c581c: f887 305f strb.w r3, [r7, #95] ; 0x5f if (fmt == 2 || (fmt < 2 && LD2PT(vol) != 0)) { /* Not an FAT-VBR or forced partition number */ 80c5820: f897 305f ldrb.w r3, [r7, #95] ; 0x5f 80c5824: 2b02 cmp r3, #2 80c5826: d14b bne.n 80c58c0 for (i = 0; i < 4; i++) { /* Get partition offset */ 80c5828: 2300 movs r3, #0 80c582a: 64bb str r3, [r7, #72] ; 0x48 80c582c: e01f b.n 80c586e pt = fs->win + (MBR_Table + i * SZ_PTE); 80c582e: 6c3b ldr r3, [r7, #64] ; 0x40 80c5830: f103 0238 add.w r2, r3, #56 ; 0x38 80c5834: 6cbb ldr r3, [r7, #72] ; 0x48 80c5836: 011b lsls r3, r3, #4 80c5838: f503 73df add.w r3, r3, #446 ; 0x1be 80c583c: 4413 add r3, r2 80c583e: 63bb str r3, [r7, #56] ; 0x38 br[i] = pt[PTE_System] ? ld_dword(pt + PTE_StLba) : 0; 80c5840: 6bbb ldr r3, [r7, #56] ; 0x38 80c5842: 3304 adds r3, #4 80c5844: 781b ldrb r3, [r3, #0] 80c5846: 2b00 cmp r3, #0 80c5848: d006 beq.n 80c5858 80c584a: 6bbb ldr r3, [r7, #56] ; 0x38 80c584c: 3308 adds r3, #8 80c584e: 4618 mov r0, r3 80c5850: f7fd f870 bl 80c2934 80c5854: 4602 mov r2, r0 80c5856: e000 b.n 80c585a 80c5858: 2200 movs r2, #0 80c585a: 6cbb ldr r3, [r7, #72] ; 0x48 80c585c: 009b lsls r3, r3, #2 80c585e: f107 0160 add.w r1, r7, #96 ; 0x60 80c5862: 440b add r3, r1 80c5864: f843 2c4c str.w r2, [r3, #-76] for (i = 0; i < 4; i++) { /* Get partition offset */ 80c5868: 6cbb ldr r3, [r7, #72] ; 0x48 80c586a: 3301 adds r3, #1 80c586c: 64bb str r3, [r7, #72] ; 0x48 80c586e: 6cbb ldr r3, [r7, #72] ; 0x48 80c5870: 2b03 cmp r3, #3 80c5872: d9dc bls.n 80c582e } i = LD2PT(vol); /* Partition number: 0:auto, 1-4:forced */ 80c5874: 2300 movs r3, #0 80c5876: 64bb str r3, [r7, #72] ; 0x48 if (i) i--; 80c5878: 6cbb ldr r3, [r7, #72] ; 0x48 80c587a: 2b00 cmp r3, #0 80c587c: d002 beq.n 80c5884 80c587e: 6cbb ldr r3, [r7, #72] ; 0x48 80c5880: 3b01 subs r3, #1 80c5882: 64bb str r3, [r7, #72] ; 0x48 do { /* Find an FAT volume */ bsect = br[i]; 80c5884: 6cbb ldr r3, [r7, #72] ; 0x48 80c5886: 009b lsls r3, r3, #2 80c5888: f107 0260 add.w r2, r7, #96 ; 0x60 80c588c: 4413 add r3, r2 80c588e: f853 3c4c ldr.w r3, [r3, #-76] 80c5892: 65bb str r3, [r7, #88] ; 0x58 fmt = bsect ? check_fs(fs, bsect) : 3; /* Check the partition */ 80c5894: 6dbb ldr r3, [r7, #88] ; 0x58 80c5896: 2b00 cmp r3, #0 80c5898: d005 beq.n 80c58a6 80c589a: 6db9 ldr r1, [r7, #88] ; 0x58 80c589c: 6c38 ldr r0, [r7, #64] ; 0x40 80c589e: f7ff feed bl 80c567c 80c58a2: 4603 mov r3, r0 80c58a4: e000 b.n 80c58a8 80c58a6: 2303 movs r3, #3 80c58a8: f887 305f strb.w r3, [r7, #95] ; 0x5f } while (LD2PT(vol) == 0 && fmt >= 2 && ++i < 4); 80c58ac: f897 305f ldrb.w r3, [r7, #95] ; 0x5f 80c58b0: 2b01 cmp r3, #1 80c58b2: d905 bls.n 80c58c0 80c58b4: 6cbb ldr r3, [r7, #72] ; 0x48 80c58b6: 3301 adds r3, #1 80c58b8: 64bb str r3, [r7, #72] ; 0x48 80c58ba: 6cbb ldr r3, [r7, #72] ; 0x48 80c58bc: 2b03 cmp r3, #3 80c58be: d9e1 bls.n 80c5884 } if (fmt == 4) return FR_DISK_ERR; /* An error occured in the disk I/O layer */ 80c58c0: f897 305f ldrb.w r3, [r7, #95] ; 0x5f 80c58c4: 2b04 cmp r3, #4 80c58c6: d101 bne.n 80c58cc 80c58c8: 2301 movs r3, #1 80c58ca: e276 b.n 80c5dba if (fmt >= 2) return FR_NO_FILESYSTEM; /* No FAT volume is found */ 80c58cc: f897 305f ldrb.w r3, [r7, #95] ; 0x5f 80c58d0: 2b01 cmp r3, #1 80c58d2: d901 bls.n 80c58d8 80c58d4: 230d movs r3, #13 80c58d6: e270 b.n 80c5dba /* An FAT volume is found (bsect). Following code initializes the file system object */ #if _FS_EXFAT if (fmt == 1) { 80c58d8: f897 305f ldrb.w r3, [r7, #95] ; 0x5f 80c58dc: 2b01 cmp r3, #1 80c58de: f040 80f3 bne.w 80c5ac8 QWORD maxlba; for (i = BPB_ZeroedEx; i < BPB_ZeroedEx + 53 && fs->win[i] == 0; i++) ; /* Check zero filler */ 80c58e2: 230b movs r3, #11 80c58e4: 64bb str r3, [r7, #72] ; 0x48 80c58e6: e002 b.n 80c58ee 80c58e8: 6cbb ldr r3, [r7, #72] ; 0x48 80c58ea: 3301 adds r3, #1 80c58ec: 64bb str r3, [r7, #72] ; 0x48 80c58ee: 6cbb ldr r3, [r7, #72] ; 0x48 80c58f0: 2b3f cmp r3, #63 ; 0x3f 80c58f2: d806 bhi.n 80c5902 80c58f4: 6c3a ldr r2, [r7, #64] ; 0x40 80c58f6: 6cbb ldr r3, [r7, #72] ; 0x48 80c58f8: 4413 add r3, r2 80c58fa: 3338 adds r3, #56 ; 0x38 80c58fc: 781b ldrb r3, [r3, #0] 80c58fe: 2b00 cmp r3, #0 80c5900: d0f2 beq.n 80c58e8 if (i < BPB_ZeroedEx + 53) return FR_NO_FILESYSTEM; 80c5902: 6cbb ldr r3, [r7, #72] ; 0x48 80c5904: 2b3f cmp r3, #63 ; 0x3f 80c5906: d801 bhi.n 80c590c 80c5908: 230d movs r3, #13 80c590a: e256 b.n 80c5dba if (ld_word(fs->win + BPB_FSVerEx) != 0x100) return FR_NO_FILESYSTEM; /* Check exFAT revision (Must be 1.0) */ 80c590c: 6c3b ldr r3, [r7, #64] ; 0x40 80c590e: 3338 adds r3, #56 ; 0x38 80c5910: 3368 adds r3, #104 ; 0x68 80c5912: 4618 mov r0, r3 80c5914: f7fc fff6 bl 80c2904 80c5918: 4603 mov r3, r0 80c591a: f5b3 7f80 cmp.w r3, #256 ; 0x100 80c591e: d001 beq.n 80c5924 80c5920: 230d movs r3, #13 80c5922: e24a b.n 80c5dba if (1 << fs->win[BPB_BytsPerSecEx] != SS(fs)) { /* (BPB_BytsPerSecEx must be equal to the physical sector size) */ 80c5924: 6c3b ldr r3, [r7, #64] ; 0x40 80c5926: f893 30a4 ldrb.w r3, [r3, #164] ; 0xa4 80c592a: 2b09 cmp r3, #9 80c592c: d001 beq.n 80c5932 return FR_NO_FILESYSTEM; 80c592e: 230d movs r3, #13 80c5930: e243 b.n 80c5dba } maxlba = ld_qword(fs->win + BPB_TotSecEx) + bsect; /* Last LBA + 1 of the volume */ 80c5932: 6c3b ldr r3, [r7, #64] ; 0x40 80c5934: 3338 adds r3, #56 ; 0x38 80c5936: 3348 adds r3, #72 ; 0x48 80c5938: 4618 mov r0, r3 80c593a: f7fd f81e bl 80c297a 80c593e: 460a mov r2, r1 80c5940: 4601 mov r1, r0 80c5942: 6dbb ldr r3, [r7, #88] ; 0x58 80c5944: f04f 0400 mov.w r4, #0 80c5948: 185b adds r3, r3, r1 80c594a: eb44 0402 adc.w r4, r4, r2 80c594e: e9c7 340c strd r3, r4, [r7, #48] ; 0x30 if (maxlba >= 0x100000000) return FR_NO_FILESYSTEM; /* (It cannot be handled in 32-bit LBA) */ 80c5952: e9d7 340c ldrd r3, r4, [r7, #48] ; 0x30 80c5956: 2c01 cmp r4, #1 80c5958: bf08 it eq 80c595a: 2b00 cmpeq r3, #0 80c595c: d301 bcc.n 80c5962 80c595e: 230d movs r3, #13 80c5960: e22b b.n 80c5dba fs->fsize = ld_dword(fs->win + BPB_FatSzEx); /* Number of sectors per FAT */ 80c5962: 6c3b ldr r3, [r7, #64] ; 0x40 80c5964: 3338 adds r3, #56 ; 0x38 80c5966: 3354 adds r3, #84 ; 0x54 80c5968: 4618 mov r0, r3 80c596a: f7fc ffe3 bl 80c2934 80c596e: 4602 mov r2, r0 80c5970: 6c3b ldr r3, [r7, #64] ; 0x40 80c5972: 621a str r2, [r3, #32] fs->n_fats = fs->win[BPB_NumFATsEx]; /* Number of FATs */ 80c5974: 6c3b ldr r3, [r7, #64] ; 0x40 80c5976: f893 20a6 ldrb.w r2, [r3, #166] ; 0xa6 80c597a: 6c3b ldr r3, [r7, #64] ; 0x40 80c597c: 709a strb r2, [r3, #2] if (fs->n_fats != 1) return FR_NO_FILESYSTEM; /* (Supports only 1 FAT) */ 80c597e: 6c3b ldr r3, [r7, #64] ; 0x40 80c5980: 789b ldrb r3, [r3, #2] 80c5982: 2b01 cmp r3, #1 80c5984: d001 beq.n 80c598a 80c5986: 230d movs r3, #13 80c5988: e217 b.n 80c5dba fs->csize = 1 << fs->win[BPB_SecPerClusEx]; /* Cluster size */ 80c598a: 6c3b ldr r3, [r7, #64] ; 0x40 80c598c: f893 30a5 ldrb.w r3, [r3, #165] ; 0xa5 80c5990: 461a mov r2, r3 80c5992: 2301 movs r3, #1 80c5994: 4093 lsls r3, r2 80c5996: b29a uxth r2, r3 80c5998: 6c3b ldr r3, [r7, #64] ; 0x40 80c599a: 815a strh r2, [r3, #10] if (fs->csize == 0) return FR_NO_FILESYSTEM; /* (Must be 1..32768) */ 80c599c: 6c3b ldr r3, [r7, #64] ; 0x40 80c599e: 895b ldrh r3, [r3, #10] 80c59a0: 2b00 cmp r3, #0 80c59a2: d101 bne.n 80c59a8 80c59a4: 230d movs r3, #13 80c59a6: e208 b.n 80c5dba nclst = ld_dword(fs->win + BPB_NumClusEx); /* Number of clusters */ 80c59a8: 6c3b ldr r3, [r7, #64] ; 0x40 80c59aa: 3338 adds r3, #56 ; 0x38 80c59ac: 335c adds r3, #92 ; 0x5c 80c59ae: 4618 mov r0, r3 80c59b0: f7fc ffc0 bl 80c2934 80c59b4: 62f8 str r0, [r7, #44] ; 0x2c if (nclst > MAX_EXFAT) return FR_NO_FILESYSTEM; /* (Too many clusters) */ 80c59b6: 6afb ldr r3, [r7, #44] ; 0x2c 80c59b8: 4a1d ldr r2, [pc, #116] ; (80c5a30 ) 80c59ba: 4293 cmp r3, r2 80c59bc: d901 bls.n 80c59c2 80c59be: 230d movs r3, #13 80c59c0: e1fb b.n 80c5dba fs->n_fatent = nclst + 2; 80c59c2: 6afb ldr r3, [r7, #44] ; 0x2c 80c59c4: 1c9a adds r2, r3, #2 80c59c6: 6c3b ldr r3, [r7, #64] ; 0x40 80c59c8: 61da str r2, [r3, #28] /* Boundaries and Limits */ fs->volbase = bsect; 80c59ca: 6c3b ldr r3, [r7, #64] ; 0x40 80c59cc: 6dba ldr r2, [r7, #88] ; 0x58 80c59ce: 625a str r2, [r3, #36] ; 0x24 fs->database = bsect + ld_dword(fs->win + BPB_DataOfsEx); 80c59d0: 6c3b ldr r3, [r7, #64] ; 0x40 80c59d2: 3338 adds r3, #56 ; 0x38 80c59d4: 3358 adds r3, #88 ; 0x58 80c59d6: 4618 mov r0, r3 80c59d8: f7fc ffac bl 80c2934 80c59dc: 4602 mov r2, r0 80c59de: 6dbb ldr r3, [r7, #88] ; 0x58 80c59e0: 441a add r2, r3 80c59e2: 6c3b ldr r3, [r7, #64] ; 0x40 80c59e4: 631a str r2, [r3, #48] ; 0x30 fs->fatbase = bsect + ld_dword(fs->win + BPB_FatOfsEx); 80c59e6: 6c3b ldr r3, [r7, #64] ; 0x40 80c59e8: 3338 adds r3, #56 ; 0x38 80c59ea: 3350 adds r3, #80 ; 0x50 80c59ec: 4618 mov r0, r3 80c59ee: f7fc ffa1 bl 80c2934 80c59f2: 4602 mov r2, r0 80c59f4: 6dbb ldr r3, [r7, #88] ; 0x58 80c59f6: 441a add r2, r3 80c59f8: 6c3b ldr r3, [r7, #64] ; 0x40 80c59fa: 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) */ 80c59fc: 6c3b ldr r3, [r7, #64] ; 0x40 80c59fe: 6b1b ldr r3, [r3, #48] ; 0x30 80c5a00: 4619 mov r1, r3 80c5a02: f04f 0200 mov.w r2, #0 80c5a06: 6c3b ldr r3, [r7, #64] ; 0x40 80c5a08: 895b ldrh r3, [r3, #10] 80c5a0a: 4618 mov r0, r3 80c5a0c: 6afb ldr r3, [r7, #44] ; 0x2c 80c5a0e: fb03 f300 mul.w r3, r3, r0 80c5a12: f04f 0400 mov.w r4, #0 80c5a16: 185b adds r3, r3, r1 80c5a18: eb44 0402 adc.w r4, r4, r2 80c5a1c: e9d7 120c ldrd r1, r2, [r7, #48] ; 0x30 80c5a20: 42a2 cmp r2, r4 80c5a22: bf08 it eq 80c5a24: 4299 cmpeq r1, r3 80c5a26: d205 bcs.n 80c5a34 80c5a28: 230d movs r3, #13 80c5a2a: e1c6 b.n 80c5dba 80c5a2c: 200216ac .word 0x200216ac 80c5a30: 7ffffffd .word 0x7ffffffd fs->dirbase = ld_dword(fs->win + BPB_RootClusEx); 80c5a34: 6c3b ldr r3, [r7, #64] ; 0x40 80c5a36: 3338 adds r3, #56 ; 0x38 80c5a38: 3360 adds r3, #96 ; 0x60 80c5a3a: 4618 mov r0, r3 80c5a3c: f7fc ff7a bl 80c2934 80c5a40: 4602 mov r2, r0 80c5a42: 6c3b ldr r3, [r7, #64] ; 0x40 80c5a44: 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; 80c5a46: 6c3b ldr r3, [r7, #64] ; 0x40 80c5a48: 6adb ldr r3, [r3, #44] ; 0x2c 80c5a4a: 4619 mov r1, r3 80c5a4c: 6c38 ldr r0, [r7, #64] ; 0x40 80c5a4e: f7fd fa77 bl 80c2f40 80c5a52: 4603 mov r3, r0 80c5a54: 4619 mov r1, r3 80c5a56: 6c38 ldr r0, [r7, #64] ; 0x40 80c5a58: f7fd f9d7 bl 80c2e0a 80c5a5c: 4603 mov r3, r0 80c5a5e: 2b00 cmp r3, #0 80c5a60: d001 beq.n 80c5a66 80c5a62: 2301 movs r3, #1 80c5a64: e1a9 b.n 80c5dba for (i = 0; i < SS(fs); i += SZDIRE) { 80c5a66: 2300 movs r3, #0 80c5a68: 64bb str r3, [r7, #72] ; 0x48 80c5a6a: e015 b.n 80c5a98 if (fs->win[i] == 0x81 && ld_dword(fs->win + i + 20) == 2) break; /* 81 entry with cluster #2? */ 80c5a6c: 6c3a ldr r2, [r7, #64] ; 0x40 80c5a6e: 6cbb ldr r3, [r7, #72] ; 0x48 80c5a70: 4413 add r3, r2 80c5a72: 3338 adds r3, #56 ; 0x38 80c5a74: 781b ldrb r3, [r3, #0] 80c5a76: 2b81 cmp r3, #129 ; 0x81 80c5a78: d10b bne.n 80c5a92 80c5a7a: 6c3b ldr r3, [r7, #64] ; 0x40 80c5a7c: f103 0238 add.w r2, r3, #56 ; 0x38 80c5a80: 6cbb ldr r3, [r7, #72] ; 0x48 80c5a82: 3314 adds r3, #20 80c5a84: 4413 add r3, r2 80c5a86: 4618 mov r0, r3 80c5a88: f7fc ff54 bl 80c2934 80c5a8c: 4603 mov r3, r0 80c5a8e: 2b02 cmp r3, #2 80c5a90: d007 beq.n 80c5aa2 for (i = 0; i < SS(fs); i += SZDIRE) { 80c5a92: 6cbb ldr r3, [r7, #72] ; 0x48 80c5a94: 3320 adds r3, #32 80c5a96: 64bb str r3, [r7, #72] ; 0x48 80c5a98: 6cbb ldr r3, [r7, #72] ; 0x48 80c5a9a: f5b3 7f00 cmp.w r3, #512 ; 0x200 80c5a9e: d3e5 bcc.n 80c5a6c 80c5aa0: e000 b.n 80c5aa4 if (fs->win[i] == 0x81 && ld_dword(fs->win + i + 20) == 2) break; /* 81 entry with cluster #2? */ 80c5aa2: bf00 nop } if (i == SS(fs)) return FR_NO_FILESYSTEM; 80c5aa4: 6cbb ldr r3, [r7, #72] ; 0x48 80c5aa6: f5b3 7f00 cmp.w r3, #512 ; 0x200 80c5aaa: d101 bne.n 80c5ab0 80c5aac: 230d movs r3, #13 80c5aae: e184 b.n 80c5dba #if !_FS_READONLY fs->last_clst = fs->free_clst = 0xFFFFFFFF; /* Initialize cluster allocation information */ 80c5ab0: 6c3b ldr r3, [r7, #64] ; 0x40 80c5ab2: f04f 32ff mov.w r2, #4294967295 80c5ab6: 619a str r2, [r3, #24] 80c5ab8: 6c3b ldr r3, [r7, #64] ; 0x40 80c5aba: 699a ldr r2, [r3, #24] 80c5abc: 6c3b ldr r3, [r7, #64] ; 0x40 80c5abe: 615a str r2, [r3, #20] #endif fmt = FS_EXFAT; /* FAT sub-type */ 80c5ac0: 2304 movs r3, #4 80c5ac2: f887 305f strb.w r3, [r7, #95] ; 0x5f 80c5ac6: e163 b.n 80c5d90 } 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) */ 80c5ac8: 6c3b ldr r3, [r7, #64] ; 0x40 80c5aca: 3338 adds r3, #56 ; 0x38 80c5acc: 330b adds r3, #11 80c5ace: 4618 mov r0, r3 80c5ad0: f7fc ff18 bl 80c2904 80c5ad4: 4603 mov r3, r0 80c5ad6: f5b3 7f00 cmp.w r3, #512 ; 0x200 80c5ada: d001 beq.n 80c5ae0 80c5adc: 230d movs r3, #13 80c5ade: e16c b.n 80c5dba fasize = ld_word(fs->win + BPB_FATSz16); /* Number of sectors per FAT */ 80c5ae0: 6c3b ldr r3, [r7, #64] ; 0x40 80c5ae2: 3338 adds r3, #56 ; 0x38 80c5ae4: 3316 adds r3, #22 80c5ae6: 4618 mov r0, r3 80c5ae8: f7fc ff0c bl 80c2904 80c5aec: 4603 mov r3, r0 80c5aee: 657b str r3, [r7, #84] ; 0x54 if (fasize == 0) fasize = ld_dword(fs->win + BPB_FATSz32); 80c5af0: 6d7b ldr r3, [r7, #84] ; 0x54 80c5af2: 2b00 cmp r3, #0 80c5af4: d106 bne.n 80c5b04 80c5af6: 6c3b ldr r3, [r7, #64] ; 0x40 80c5af8: 3338 adds r3, #56 ; 0x38 80c5afa: 3324 adds r3, #36 ; 0x24 80c5afc: 4618 mov r0, r3 80c5afe: f7fc ff19 bl 80c2934 80c5b02: 6578 str r0, [r7, #84] ; 0x54 fs->fsize = fasize; 80c5b04: 6c3b ldr r3, [r7, #64] ; 0x40 80c5b06: 6d7a ldr r2, [r7, #84] ; 0x54 80c5b08: 621a str r2, [r3, #32] fs->n_fats = fs->win[BPB_NumFATs]; /* Number of FATs */ 80c5b0a: 6c3b ldr r3, [r7, #64] ; 0x40 80c5b0c: f893 2048 ldrb.w r2, [r3, #72] ; 0x48 80c5b10: 6c3b ldr r3, [r7, #64] ; 0x40 80c5b12: 709a strb r2, [r3, #2] if (fs->n_fats != 1 && fs->n_fats != 2) return FR_NO_FILESYSTEM; /* (Must be 1 or 2) */ 80c5b14: 6c3b ldr r3, [r7, #64] ; 0x40 80c5b16: 789b ldrb r3, [r3, #2] 80c5b18: 2b01 cmp r3, #1 80c5b1a: d005 beq.n 80c5b28 80c5b1c: 6c3b ldr r3, [r7, #64] ; 0x40 80c5b1e: 789b ldrb r3, [r3, #2] 80c5b20: 2b02 cmp r3, #2 80c5b22: d001 beq.n 80c5b28 80c5b24: 230d movs r3, #13 80c5b26: e148 b.n 80c5dba fasize *= fs->n_fats; /* Number of sectors for FAT area */ 80c5b28: 6c3b ldr r3, [r7, #64] ; 0x40 80c5b2a: 789b ldrb r3, [r3, #2] 80c5b2c: 461a mov r2, r3 80c5b2e: 6d7b ldr r3, [r7, #84] ; 0x54 80c5b30: fb02 f303 mul.w r3, r2, r3 80c5b34: 657b str r3, [r7, #84] ; 0x54 fs->csize = fs->win[BPB_SecPerClus]; /* Cluster size */ 80c5b36: 6c3b ldr r3, [r7, #64] ; 0x40 80c5b38: f893 3045 ldrb.w r3, [r3, #69] ; 0x45 80c5b3c: b29a uxth r2, r3 80c5b3e: 6c3b ldr r3, [r7, #64] ; 0x40 80c5b40: 815a strh r2, [r3, #10] if (fs->csize == 0 || (fs->csize & (fs->csize - 1))) return FR_NO_FILESYSTEM; /* (Must be power of 2) */ 80c5b42: 6c3b ldr r3, [r7, #64] ; 0x40 80c5b44: 895b ldrh r3, [r3, #10] 80c5b46: 2b00 cmp r3, #0 80c5b48: d008 beq.n 80c5b5c 80c5b4a: 6c3b ldr r3, [r7, #64] ; 0x40 80c5b4c: 895b ldrh r3, [r3, #10] 80c5b4e: 461a mov r2, r3 80c5b50: 6c3b ldr r3, [r7, #64] ; 0x40 80c5b52: 895b ldrh r3, [r3, #10] 80c5b54: 3b01 subs r3, #1 80c5b56: 4013 ands r3, r2 80c5b58: 2b00 cmp r3, #0 80c5b5a: d001 beq.n 80c5b60 80c5b5c: 230d movs r3, #13 80c5b5e: e12c b.n 80c5dba fs->n_rootdir = ld_word(fs->win + BPB_RootEntCnt); /* Number of root directory entries */ 80c5b60: 6c3b ldr r3, [r7, #64] ; 0x40 80c5b62: 3338 adds r3, #56 ; 0x38 80c5b64: 3311 adds r3, #17 80c5b66: 4618 mov r0, r3 80c5b68: f7fc fecc bl 80c2904 80c5b6c: 4603 mov r3, r0 80c5b6e: 461a mov r2, r3 80c5b70: 6c3b ldr r3, [r7, #64] ; 0x40 80c5b72: 811a strh r2, [r3, #8] if (fs->n_rootdir % (SS(fs) / SZDIRE)) return FR_NO_FILESYSTEM; /* (Must be sector aligned) */ 80c5b74: 6c3b ldr r3, [r7, #64] ; 0x40 80c5b76: 891b ldrh r3, [r3, #8] 80c5b78: f003 030f and.w r3, r3, #15 80c5b7c: b29b uxth r3, r3 80c5b7e: 2b00 cmp r3, #0 80c5b80: d001 beq.n 80c5b86 80c5b82: 230d movs r3, #13 80c5b84: e119 b.n 80c5dba tsect = ld_word(fs->win + BPB_TotSec16); /* Number of sectors on the volume */ 80c5b86: 6c3b ldr r3, [r7, #64] ; 0x40 80c5b88: 3338 adds r3, #56 ; 0x38 80c5b8a: 3313 adds r3, #19 80c5b8c: 4618 mov r0, r3 80c5b8e: f7fc feb9 bl 80c2904 80c5b92: 4603 mov r3, r0 80c5b94: 653b str r3, [r7, #80] ; 0x50 if (tsect == 0) tsect = ld_dword(fs->win + BPB_TotSec32); 80c5b96: 6d3b ldr r3, [r7, #80] ; 0x50 80c5b98: 2b00 cmp r3, #0 80c5b9a: d106 bne.n 80c5baa 80c5b9c: 6c3b ldr r3, [r7, #64] ; 0x40 80c5b9e: 3338 adds r3, #56 ; 0x38 80c5ba0: 3320 adds r3, #32 80c5ba2: 4618 mov r0, r3 80c5ba4: f7fc fec6 bl 80c2934 80c5ba8: 6538 str r0, [r7, #80] ; 0x50 nrsv = ld_word(fs->win + BPB_RsvdSecCnt); /* Number of reserved sectors */ 80c5baa: 6c3b ldr r3, [r7, #64] ; 0x40 80c5bac: 3338 adds r3, #56 ; 0x38 80c5bae: 330e adds r3, #14 80c5bb0: 4618 mov r0, r3 80c5bb2: f7fc fea7 bl 80c2904 80c5bb6: 4603 mov r3, r0 80c5bb8: 857b strh r3, [r7, #42] ; 0x2a if (nrsv == 0) return FR_NO_FILESYSTEM; /* (Must not be 0) */ 80c5bba: 8d7b ldrh r3, [r7, #42] ; 0x2a 80c5bbc: 2b00 cmp r3, #0 80c5bbe: d101 bne.n 80c5bc4 80c5bc0: 230d movs r3, #13 80c5bc2: e0fa b.n 80c5dba /* Determine the FAT sub type */ sysect = nrsv + fasize + fs->n_rootdir / (SS(fs) / SZDIRE); /* RSV + FAT + DIR */ 80c5bc4: 8d7a ldrh r2, [r7, #42] ; 0x2a 80c5bc6: 6d7b ldr r3, [r7, #84] ; 0x54 80c5bc8: 4413 add r3, r2 80c5bca: 6c3a ldr r2, [r7, #64] ; 0x40 80c5bcc: 8912 ldrh r2, [r2, #8] 80c5bce: 0912 lsrs r2, r2, #4 80c5bd0: b292 uxth r2, r2 80c5bd2: 4413 add r3, r2 80c5bd4: 627b str r3, [r7, #36] ; 0x24 if (tsect < sysect) return FR_NO_FILESYSTEM; /* (Invalid volume size) */ 80c5bd6: 6d3a ldr r2, [r7, #80] ; 0x50 80c5bd8: 6a7b ldr r3, [r7, #36] ; 0x24 80c5bda: 429a cmp r2, r3 80c5bdc: d201 bcs.n 80c5be2 80c5bde: 230d movs r3, #13 80c5be0: e0eb b.n 80c5dba nclst = (tsect - sysect) / fs->csize; /* Number of clusters */ 80c5be2: 6d3a ldr r2, [r7, #80] ; 0x50 80c5be4: 6a7b ldr r3, [r7, #36] ; 0x24 80c5be6: 1ad3 subs r3, r2, r3 80c5be8: 6c3a ldr r2, [r7, #64] ; 0x40 80c5bea: 8952 ldrh r2, [r2, #10] 80c5bec: fbb3 f3f2 udiv r3, r3, r2 80c5bf0: 62fb str r3, [r7, #44] ; 0x2c if (nclst == 0) return FR_NO_FILESYSTEM; /* (Invalid volume size) */ 80c5bf2: 6afb ldr r3, [r7, #44] ; 0x2c 80c5bf4: 2b00 cmp r3, #0 80c5bf6: d101 bne.n 80c5bfc 80c5bf8: 230d movs r3, #13 80c5bfa: e0de b.n 80c5dba fmt = FS_FAT32; 80c5bfc: 2303 movs r3, #3 80c5bfe: f887 305f strb.w r3, [r7, #95] ; 0x5f if (nclst <= MAX_FAT16) fmt = FS_FAT16; 80c5c02: 6afb ldr r3, [r7, #44] ; 0x2c 80c5c04: f64f 72f5 movw r2, #65525 ; 0xfff5 80c5c08: 4293 cmp r3, r2 80c5c0a: d802 bhi.n 80c5c12 80c5c0c: 2302 movs r3, #2 80c5c0e: f887 305f strb.w r3, [r7, #95] ; 0x5f if (nclst <= MAX_FAT12) fmt = FS_FAT12; 80c5c12: 6afb ldr r3, [r7, #44] ; 0x2c 80c5c14: f640 72f5 movw r2, #4085 ; 0xff5 80c5c18: 4293 cmp r3, r2 80c5c1a: d802 bhi.n 80c5c22 80c5c1c: 2301 movs r3, #1 80c5c1e: f887 305f strb.w r3, [r7, #95] ; 0x5f /* Boundaries and Limits */ fs->n_fatent = nclst + 2; /* Number of FAT entries */ 80c5c22: 6afb ldr r3, [r7, #44] ; 0x2c 80c5c24: 1c9a adds r2, r3, #2 80c5c26: 6c3b ldr r3, [r7, #64] ; 0x40 80c5c28: 61da str r2, [r3, #28] fs->volbase = bsect; /* Volume start sector */ 80c5c2a: 6c3b ldr r3, [r7, #64] ; 0x40 80c5c2c: 6dba ldr r2, [r7, #88] ; 0x58 80c5c2e: 625a str r2, [r3, #36] ; 0x24 fs->fatbase = bsect + nrsv; /* FAT start sector */ 80c5c30: 8d7a ldrh r2, [r7, #42] ; 0x2a 80c5c32: 6dbb ldr r3, [r7, #88] ; 0x58 80c5c34: 441a add r2, r3 80c5c36: 6c3b ldr r3, [r7, #64] ; 0x40 80c5c38: 629a str r2, [r3, #40] ; 0x28 fs->database = bsect + sysect; /* Data start sector */ 80c5c3a: 6dba ldr r2, [r7, #88] ; 0x58 80c5c3c: 6a7b ldr r3, [r7, #36] ; 0x24 80c5c3e: 441a add r2, r3 80c5c40: 6c3b ldr r3, [r7, #64] ; 0x40 80c5c42: 631a str r2, [r3, #48] ; 0x30 if (fmt == FS_FAT32) { 80c5c44: f897 305f ldrb.w r3, [r7, #95] ; 0x5f 80c5c48: 2b03 cmp r3, #3 80c5c4a: d11e bne.n 80c5c8a if (ld_word(fs->win + BPB_FSVer32) != 0) return FR_NO_FILESYSTEM; /* (Must be FAT32 revision 0.0) */ 80c5c4c: 6c3b ldr r3, [r7, #64] ; 0x40 80c5c4e: 3338 adds r3, #56 ; 0x38 80c5c50: 332a adds r3, #42 ; 0x2a 80c5c52: 4618 mov r0, r3 80c5c54: f7fc fe56 bl 80c2904 80c5c58: 4603 mov r3, r0 80c5c5a: 2b00 cmp r3, #0 80c5c5c: d001 beq.n 80c5c62 80c5c5e: 230d movs r3, #13 80c5c60: e0ab b.n 80c5dba if (fs->n_rootdir) return FR_NO_FILESYSTEM; /* (BPB_RootEntCnt must be 0) */ 80c5c62: 6c3b ldr r3, [r7, #64] ; 0x40 80c5c64: 891b ldrh r3, [r3, #8] 80c5c66: 2b00 cmp r3, #0 80c5c68: d001 beq.n 80c5c6e 80c5c6a: 230d movs r3, #13 80c5c6c: e0a5 b.n 80c5dba fs->dirbase = ld_dword(fs->win + BPB_RootClus32); /* Root directory start cluster */ 80c5c6e: 6c3b ldr r3, [r7, #64] ; 0x40 80c5c70: 3338 adds r3, #56 ; 0x38 80c5c72: 332c adds r3, #44 ; 0x2c 80c5c74: 4618 mov r0, r3 80c5c76: f7fc fe5d bl 80c2934 80c5c7a: 4602 mov r2, r0 80c5c7c: 6c3b ldr r3, [r7, #64] ; 0x40 80c5c7e: 62da str r2, [r3, #44] ; 0x2c szbfat = fs->n_fatent * 4; /* (Needed FAT size) */ 80c5c80: 6c3b ldr r3, [r7, #64] ; 0x40 80c5c82: 69db ldr r3, [r3, #28] 80c5c84: 009b lsls r3, r3, #2 80c5c86: 64fb str r3, [r7, #76] ; 0x4c 80c5c88: e01f b.n 80c5cca } else { if (fs->n_rootdir == 0) return FR_NO_FILESYSTEM;/* (BPB_RootEntCnt must not be 0) */ 80c5c8a: 6c3b ldr r3, [r7, #64] ; 0x40 80c5c8c: 891b ldrh r3, [r3, #8] 80c5c8e: 2b00 cmp r3, #0 80c5c90: d101 bne.n 80c5c96 80c5c92: 230d movs r3, #13 80c5c94: e091 b.n 80c5dba fs->dirbase = fs->fatbase + fasize; /* Root directory start sector */ 80c5c96: 6c3b ldr r3, [r7, #64] ; 0x40 80c5c98: 6a9a ldr r2, [r3, #40] ; 0x28 80c5c9a: 6d7b ldr r3, [r7, #84] ; 0x54 80c5c9c: 441a add r2, r3 80c5c9e: 6c3b ldr r3, [r7, #64] ; 0x40 80c5ca0: 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); 80c5ca2: f897 305f ldrb.w r3, [r7, #95] ; 0x5f 80c5ca6: 2b02 cmp r3, #2 80c5ca8: d103 bne.n 80c5cb2 80c5caa: 6c3b ldr r3, [r7, #64] ; 0x40 80c5cac: 69db ldr r3, [r3, #28] 80c5cae: 005b lsls r3, r3, #1 80c5cb0: e00a b.n 80c5cc8 80c5cb2: 6c3b ldr r3, [r7, #64] ; 0x40 80c5cb4: 69da ldr r2, [r3, #28] 80c5cb6: 4613 mov r3, r2 80c5cb8: 005b lsls r3, r3, #1 80c5cba: 4413 add r3, r2 80c5cbc: 085a lsrs r2, r3, #1 80c5cbe: 6c3b ldr r3, [r7, #64] ; 0x40 80c5cc0: 69db ldr r3, [r3, #28] 80c5cc2: f003 0301 and.w r3, r3, #1 80c5cc6: 4413 add r3, r2 szbfat = (fmt == FS_FAT16) ? /* (Needed FAT size) */ 80c5cc8: 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) */ 80c5cca: 6c3b ldr r3, [r7, #64] ; 0x40 80c5ccc: 6a1a ldr r2, [r3, #32] 80c5cce: 6cfb ldr r3, [r7, #76] ; 0x4c 80c5cd0: f203 13ff addw r3, r3, #511 ; 0x1ff 80c5cd4: 0a5b lsrs r3, r3, #9 80c5cd6: 429a cmp r2, r3 80c5cd8: d201 bcs.n 80c5cde 80c5cda: 230d movs r3, #13 80c5cdc: e06d b.n 80c5dba #if !_FS_READONLY /* Get FSINFO if available */ fs->last_clst = fs->free_clst = 0xFFFFFFFF; /* Initialize cluster allocation information */ 80c5cde: 6c3b ldr r3, [r7, #64] ; 0x40 80c5ce0: f04f 32ff mov.w r2, #4294967295 80c5ce4: 619a str r2, [r3, #24] 80c5ce6: 6c3b ldr r3, [r7, #64] ; 0x40 80c5ce8: 699a ldr r2, [r3, #24] 80c5cea: 6c3b ldr r3, [r7, #64] ; 0x40 80c5cec: 615a str r2, [r3, #20] fs->fsi_flag = 0x80; 80c5cee: 6c3b ldr r3, [r7, #64] ; 0x40 80c5cf0: 2280 movs r2, #128 ; 0x80 80c5cf2: 711a strb r2, [r3, #4] #if (_FS_NOFSINFO & 3) != 3 if (fmt == FS_FAT32 /* Enable FSINFO only if FAT32 and BPB_FSInfo32 == 1 */ 80c5cf4: f897 305f ldrb.w r3, [r7, #95] ; 0x5f 80c5cf8: 2b03 cmp r3, #3 80c5cfa: d149 bne.n 80c5d90 && ld_word(fs->win + BPB_FSInfo32) == 1 80c5cfc: 6c3b ldr r3, [r7, #64] ; 0x40 80c5cfe: 3338 adds r3, #56 ; 0x38 80c5d00: 3330 adds r3, #48 ; 0x30 80c5d02: 4618 mov r0, r3 80c5d04: f7fc fdfe bl 80c2904 80c5d08: 4603 mov r3, r0 80c5d0a: 2b01 cmp r3, #1 80c5d0c: d140 bne.n 80c5d90 && move_window(fs, bsect + 1) == FR_OK) 80c5d0e: 6dbb ldr r3, [r7, #88] ; 0x58 80c5d10: 3301 adds r3, #1 80c5d12: 4619 mov r1, r3 80c5d14: 6c38 ldr r0, [r7, #64] ; 0x40 80c5d16: f7fd f878 bl 80c2e0a 80c5d1a: 4603 mov r3, r0 80c5d1c: 2b00 cmp r3, #0 80c5d1e: d137 bne.n 80c5d90 { fs->fsi_flag = 0; 80c5d20: 6c3b ldr r3, [r7, #64] ; 0x40 80c5d22: 2200 movs r2, #0 80c5d24: 711a strb r2, [r3, #4] if (ld_word(fs->win + BS_55AA) == 0xAA55 /* Load FSINFO data if available */ 80c5d26: 6c3b ldr r3, [r7, #64] ; 0x40 80c5d28: 3338 adds r3, #56 ; 0x38 80c5d2a: f503 73ff add.w r3, r3, #510 ; 0x1fe 80c5d2e: 4618 mov r0, r3 80c5d30: f7fc fde8 bl 80c2904 80c5d34: 4603 mov r3, r0 80c5d36: 461a mov r2, r3 80c5d38: f64a 2355 movw r3, #43605 ; 0xaa55 80c5d3c: 429a cmp r2, r3 80c5d3e: d127 bne.n 80c5d90 && ld_dword(fs->win + FSI_LeadSig) == 0x41615252 80c5d40: 6c3b ldr r3, [r7, #64] ; 0x40 80c5d42: 3338 adds r3, #56 ; 0x38 80c5d44: 4618 mov r0, r3 80c5d46: f7fc fdf5 bl 80c2934 80c5d4a: 4602 mov r2, r0 80c5d4c: 4b1d ldr r3, [pc, #116] ; (80c5dc4 ) 80c5d4e: 429a cmp r2, r3 80c5d50: d11e bne.n 80c5d90 && ld_dword(fs->win + FSI_StrucSig) == 0x61417272) 80c5d52: 6c3b ldr r3, [r7, #64] ; 0x40 80c5d54: 3338 adds r3, #56 ; 0x38 80c5d56: f503 73f2 add.w r3, r3, #484 ; 0x1e4 80c5d5a: 4618 mov r0, r3 80c5d5c: f7fc fdea bl 80c2934 80c5d60: 4602 mov r2, r0 80c5d62: 4b19 ldr r3, [pc, #100] ; (80c5dc8 ) 80c5d64: 429a cmp r2, r3 80c5d66: d113 bne.n 80c5d90 { #if (_FS_NOFSINFO & 1) == 0 fs->free_clst = ld_dword(fs->win + FSI_Free_Count); 80c5d68: 6c3b ldr r3, [r7, #64] ; 0x40 80c5d6a: 3338 adds r3, #56 ; 0x38 80c5d6c: f503 73f4 add.w r3, r3, #488 ; 0x1e8 80c5d70: 4618 mov r0, r3 80c5d72: f7fc fddf bl 80c2934 80c5d76: 4602 mov r2, r0 80c5d78: 6c3b ldr r3, [r7, #64] ; 0x40 80c5d7a: 619a str r2, [r3, #24] #endif #if (_FS_NOFSINFO & 2) == 0 fs->last_clst = ld_dword(fs->win + FSI_Nxt_Free); 80c5d7c: 6c3b ldr r3, [r7, #64] ; 0x40 80c5d7e: 3338 adds r3, #56 ; 0x38 80c5d80: f503 73f6 add.w r3, r3, #492 ; 0x1ec 80c5d84: 4618 mov r0, r3 80c5d86: f7fc fdd5 bl 80c2934 80c5d8a: 4602 mov r2, r0 80c5d8c: 6c3b ldr r3, [r7, #64] ; 0x40 80c5d8e: 615a str r2, [r3, #20] } #endif /* (_FS_NOFSINFO & 3) != 3 */ #endif /* !_FS_READONLY */ } fs->fs_type = fmt; /* FAT sub-type */ 80c5d90: 6c3b ldr r3, [r7, #64] ; 0x40 80c5d92: f897 205f ldrb.w r2, [r7, #95] ; 0x5f 80c5d96: 701a strb r2, [r3, #0] fs->id = ++Fsid; /* File system mount ID */ 80c5d98: 4b0c ldr r3, [pc, #48] ; (80c5dcc ) 80c5d9a: 881b ldrh r3, [r3, #0] 80c5d9c: 3301 adds r3, #1 80c5d9e: b29a uxth r2, r3 80c5da0: 4b0a ldr r3, [pc, #40] ; (80c5dcc ) 80c5da2: 801a strh r2, [r3, #0] 80c5da4: 4b09 ldr r3, [pc, #36] ; (80c5dcc ) 80c5da6: 881a ldrh r2, [r3, #0] 80c5da8: 6c3b ldr r3, [r7, #64] ; 0x40 80c5daa: 80da strh r2, [r3, #6] #if _USE_LFN == 1 fs->lfnbuf = LfnBuf; /* Static LFN working buffer */ 80c5dac: 6c3b ldr r3, [r7, #64] ; 0x40 80c5dae: 4a08 ldr r2, [pc, #32] ; (80c5dd0 ) 80c5db0: 60da str r2, [r3, #12] #if _FS_EXFAT fs->dirbuf = DirBuf; /* Static directory block scratchpad buuffer */ 80c5db2: 6c3b ldr r3, [r7, #64] ; 0x40 80c5db4: 4a07 ldr r2, [pc, #28] ; (80c5dd4 ) 80c5db6: 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; 80c5db8: 2300 movs r3, #0 } 80c5dba: 4618 mov r0, r3 80c5dbc: 3764 adds r7, #100 ; 0x64 80c5dbe: 46bd mov sp, r7 80c5dc0: bd90 pop {r4, r7, pc} 80c5dc2: bf00 nop 80c5dc4: 41615252 .word 0x41615252 80c5dc8: 61417272 .word 0x61417272 80c5dcc: 200216b0 .word 0x200216b0 80c5dd0: 20021914 .word 0x20021914 80c5dd4: 200216b4 .word 0x200216b4 080c5dd8 : 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 */ ) { 80c5dd8: b580 push {r7, lr} 80c5dda: b084 sub sp, #16 80c5ddc: af00 add r7, sp, #0 80c5dde: 6078 str r0, [r7, #4] 80c5de0: 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)) { 80c5de2: 687b ldr r3, [r7, #4] 80c5de4: 2b00 cmp r3, #0 80c5de6: d01a beq.n 80c5e1e 80c5de8: 687b ldr r3, [r7, #4] 80c5dea: 681b ldr r3, [r3, #0] 80c5dec: 2b00 cmp r3, #0 80c5dee: d016 beq.n 80c5e1e 80c5df0: 687b ldr r3, [r7, #4] 80c5df2: 681b ldr r3, [r3, #0] 80c5df4: 781b ldrb r3, [r3, #0] 80c5df6: 2b00 cmp r3, #0 80c5df8: d011 beq.n 80c5e1e 80c5dfa: 687b ldr r3, [r7, #4] 80c5dfc: 681b ldr r3, [r3, #0] 80c5dfe: 88da ldrh r2, [r3, #6] 80c5e00: 687b ldr r3, [r7, #4] 80c5e02: 889b ldrh r3, [r3, #4] 80c5e04: 429a cmp r2, r3 80c5e06: d10a bne.n 80c5e1e 80c5e08: 687b ldr r3, [r7, #4] 80c5e0a: 681b ldr r3, [r3, #0] 80c5e0c: 785b ldrb r3, [r3, #1] 80c5e0e: 4618 mov r0, r3 80c5e10: f7fc fcda bl 80c27c8 80c5e14: 4603 mov r3, r0 80c5e16: f003 0301 and.w r3, r3, #1 80c5e1a: 2b00 cmp r3, #0 80c5e1c: d005 beq.n 80c5e2a *fs = 0; 80c5e1e: 683b ldr r3, [r7, #0] 80c5e20: 2200 movs r2, #0 80c5e22: 601a str r2, [r3, #0] res = FR_INVALID_OBJECT; /* The object is invalid */ 80c5e24: 2309 movs r3, #9 80c5e26: 73fb strb r3, [r7, #15] 80c5e28: e005 b.n 80c5e36 } else { *fs = obj->fs; /* Owner file sytem object */ 80c5e2a: 687b ldr r3, [r7, #4] 80c5e2c: 681a ldr r2, [r3, #0] 80c5e2e: 683b ldr r3, [r7, #0] 80c5e30: 601a str r2, [r3, #0] ENTER_FF(obj->fs); /* Lock file system */ res = FR_OK; /* Valid object */ 80c5e32: 2300 movs r3, #0 80c5e34: 73fb strb r3, [r7, #15] } return res; 80c5e36: 7bfb ldrb r3, [r7, #15] } 80c5e38: 4618 mov r0, r3 80c5e3a: 3710 adds r7, #16 80c5e3c: 46bd mov sp, r7 80c5e3e: bd80 pop {r7, pc} 080c5e40 : 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 */ ) { 80c5e40: b580 push {r7, lr} 80c5e42: b088 sub sp, #32 80c5e44: af00 add r7, sp, #0 80c5e46: 60f8 str r0, [r7, #12] 80c5e48: 60b9 str r1, [r7, #8] 80c5e4a: 4613 mov r3, r2 80c5e4c: 71fb strb r3, [r7, #7] FATFS *cfs; int vol; FRESULT res; const TCHAR *rp = path; 80c5e4e: 68bb ldr r3, [r7, #8] 80c5e50: 613b str r3, [r7, #16] /* Get logical drive number */ vol = get_ldnumber(&rp); 80c5e52: f107 0310 add.w r3, r7, #16 80c5e56: 4618 mov r0, r3 80c5e58: f7ff fbcc bl 80c55f4 80c5e5c: 61f8 str r0, [r7, #28] if (vol < 0) return FR_INVALID_DRIVE; 80c5e5e: 69fb ldr r3, [r7, #28] 80c5e60: 2b00 cmp r3, #0 80c5e62: da01 bge.n 80c5e68 80c5e64: 230b movs r3, #11 80c5e66: e028 b.n 80c5eba cfs = FatFs[vol]; /* Pointer to fs object */ 80c5e68: 4a16 ldr r2, [pc, #88] ; (80c5ec4 ) 80c5e6a: 69fb ldr r3, [r7, #28] 80c5e6c: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80c5e70: 61bb str r3, [r7, #24] if (cfs) { 80c5e72: 69bb ldr r3, [r7, #24] 80c5e74: 2b00 cmp r3, #0 80c5e76: d002 beq.n 80c5e7e 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 */ 80c5e78: 69bb ldr r3, [r7, #24] 80c5e7a: 2200 movs r2, #0 80c5e7c: 701a strb r2, [r3, #0] } if (fs) { 80c5e7e: 68fb ldr r3, [r7, #12] 80c5e80: 2b00 cmp r3, #0 80c5e82: d002 beq.n 80c5e8a fs->fs_type = 0; /* Clear new fs object */ 80c5e84: 68fb ldr r3, [r7, #12] 80c5e86: 2200 movs r2, #0 80c5e88: 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 */ 80c5e8a: 68fa ldr r2, [r7, #12] 80c5e8c: 490d ldr r1, [pc, #52] ; (80c5ec4 ) 80c5e8e: 69fb ldr r3, [r7, #28] 80c5e90: 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 */ 80c5e94: 68fb ldr r3, [r7, #12] 80c5e96: 2b00 cmp r3, #0 80c5e98: d002 beq.n 80c5ea0 80c5e9a: 79fb ldrb r3, [r7, #7] 80c5e9c: 2b01 cmp r3, #1 80c5e9e: d001 beq.n 80c5ea4 80c5ea0: 2300 movs r3, #0 80c5ea2: e00a b.n 80c5eba res = find_volume(&path, &fs, 0); /* Force mounted the volume */ 80c5ea4: f107 010c add.w r1, r7, #12 80c5ea8: f107 0308 add.w r3, r7, #8 80c5eac: 2200 movs r2, #0 80c5eae: 4618 mov r0, r3 80c5eb0: f7ff fc48 bl 80c5744 80c5eb4: 4603 mov r3, r0 80c5eb6: 75fb strb r3, [r7, #23] LEAVE_FF(fs, res); 80c5eb8: 7dfb ldrb r3, [r7, #23] } 80c5eba: 4618 mov r0, r3 80c5ebc: 3720 adds r7, #32 80c5ebe: 46bd mov sp, r7 80c5ec0: bd80 pop {r7, pc} 80c5ec2: bf00 nop 80c5ec4: 200216ac .word 0x200216ac 080c5ec8 : 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 */ ) { 80c5ec8: b5b0 push {r4, r5, r7, lr} 80c5eca: b0a2 sub sp, #136 ; 0x88 80c5ecc: af00 add r7, sp, #0 80c5ece: 60f8 str r0, [r7, #12] 80c5ed0: 60b9 str r1, [r7, #8] 80c5ed2: 4613 mov r3, r2 80c5ed4: 71fb strb r3, [r7, #7] FSIZE_t ofs; #endif DEF_NAMBUF if (!fp) return FR_INVALID_OBJECT; 80c5ed6: 68fb ldr r3, [r7, #12] 80c5ed8: 2b00 cmp r3, #0 80c5eda: d101 bne.n 80c5ee0 80c5edc: 2309 movs r3, #9 80c5ede: e24c b.n 80c637a /* 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; 80c5ee0: 79fb ldrb r3, [r7, #7] 80c5ee2: f003 033f and.w r3, r3, #63 ; 0x3f 80c5ee6: 71fb strb r3, [r7, #7] res = find_volume(&path, &fs, mode); 80c5ee8: 79fa ldrb r2, [r7, #7] 80c5eea: f107 0114 add.w r1, r7, #20 80c5eee: f107 0308 add.w r3, r7, #8 80c5ef2: 4618 mov r0, r3 80c5ef4: f7ff fc26 bl 80c5744 80c5ef8: 4603 mov r3, r0 80c5efa: f887 3087 strb.w r3, [r7, #135] ; 0x87 if (res == FR_OK) { 80c5efe: f897 3087 ldrb.w r3, [r7, #135] ; 0x87 80c5f02: 2b00 cmp r3, #0 80c5f04: f040 8230 bne.w 80c6368 dj.obj.fs = fs; 80c5f08: 697b ldr r3, [r7, #20] 80c5f0a: 61bb str r3, [r7, #24] INIT_NAMBUF(fs); res = follow_path(&dj, path); /* Follow the file path */ 80c5f0c: 68ba ldr r2, [r7, #8] 80c5f0e: f107 0318 add.w r3, r7, #24 80c5f12: 4611 mov r1, r2 80c5f14: 4618 mov r0, r3 80c5f16: f7ff fac5 bl 80c54a4 80c5f1a: 4603 mov r3, r0 80c5f1c: f887 3087 strb.w r3, [r7, #135] ; 0x87 #if !_FS_READONLY /* R/W configuration */ if (res == FR_OK) { 80c5f20: f897 3087 ldrb.w r3, [r7, #135] ; 0x87 80c5f24: 2b00 cmp r3, #0 80c5f26: d107 bne.n 80c5f38 if (dj.fn[NSFLAG] & NS_NONAME) { /* Origin directory itself? */ 80c5f28: f897 3063 ldrb.w r3, [r7, #99] ; 0x63 80c5f2c: b25b sxtb r3, r3 80c5f2e: 2b00 cmp r3, #0 80c5f30: da02 bge.n 80c5f38 res = FR_INVALID_NAME; 80c5f32: 2306 movs r3, #6 80c5f34: 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)) { 80c5f38: 79fb ldrb r3, [r7, #7] 80c5f3a: f003 031c and.w r3, r3, #28 80c5f3e: 2b00 cmp r3, #0 80c5f40: f000 8102 beq.w 80c6148 if (res != FR_OK) { /* No file, create new */ 80c5f44: f897 3087 ldrb.w r3, [r7, #135] ; 0x87 80c5f48: 2b00 cmp r3, #0 80c5f4a: d010 beq.n 80c5f6e if (res == FR_NO_FILE) { /* There is no file to open, create a new entry */ 80c5f4c: f897 3087 ldrb.w r3, [r7, #135] ; 0x87 80c5f50: 2b04 cmp r3, #4 80c5f52: d107 bne.n 80c5f64 #if _FS_LOCK != 0 res = enq_lock() ? dir_register(&dj) : FR_TOO_MANY_OPEN_FILES; #else res = dir_register(&dj); 80c5f54: f107 0318 add.w r3, r7, #24 80c5f58: 4618 mov r0, r3 80c5f5a: f7fe fe01 bl 80c4b60 80c5f5e: 4603 mov r3, r0 80c5f60: f887 3087 strb.w r3, [r7, #135] ; 0x87 #endif } mode |= FA_CREATE_ALWAYS; /* File is created */ 80c5f64: 79fb ldrb r3, [r7, #7] 80c5f66: f043 0308 orr.w r3, r3, #8 80c5f6a: 71fb strb r3, [r7, #7] 80c5f6c: e010 b.n 80c5f90 } else { /* Any object is already existing */ if (dj.obj.attr & (AM_RDO | AM_DIR)) { /* Cannot overwrite it (R/O or DIR) */ 80c5f6e: 7fbb ldrb r3, [r7, #30] 80c5f70: f003 0311 and.w r3, r3, #17 80c5f74: 2b00 cmp r3, #0 80c5f76: d003 beq.n 80c5f80 res = FR_DENIED; 80c5f78: 2307 movs r3, #7 80c5f7a: f887 3087 strb.w r3, [r7, #135] ; 0x87 80c5f7e: e007 b.n 80c5f90 } else { if (mode & FA_CREATE_NEW) res = FR_EXIST; /* Cannot create as new file */ 80c5f80: 79fb ldrb r3, [r7, #7] 80c5f82: f003 0304 and.w r3, r3, #4 80c5f86: 2b00 cmp r3, #0 80c5f88: d002 beq.n 80c5f90 80c5f8a: 2308 movs r3, #8 80c5f8c: f887 3087 strb.w r3, [r7, #135] ; 0x87 } } if (res == FR_OK && (mode & FA_CREATE_ALWAYS)) { /* Truncate it if overwrite mode */ 80c5f90: f897 3087 ldrb.w r3, [r7, #135] ; 0x87 80c5f94: 2b00 cmp r3, #0 80c5f96: f040 80f1 bne.w 80c617c 80c5f9a: 79fb ldrb r3, [r7, #7] 80c5f9c: f003 0308 and.w r3, r3, #8 80c5fa0: 2b00 cmp r3, #0 80c5fa2: f000 80eb beq.w 80c617c dw = GET_FATTIME(); 80c5fa6: f7f9 fb9d bl 80bf6e4 80c5faa: 6778 str r0, [r7, #116] ; 0x74 #if _FS_EXFAT if (fs->fs_type == FS_EXFAT) { 80c5fac: 697b ldr r3, [r7, #20] 80c5fae: 781b ldrb r3, [r3, #0] 80c5fb0: 2b04 cmp r3, #4 80c5fb2: f040 8082 bne.w 80c60ba /* Get current allocation info */ fp->obj.fs = fs; 80c5fb6: 697a ldr r2, [r7, #20] 80c5fb8: 68fb ldr r3, [r7, #12] 80c5fba: 601a str r2, [r3, #0] fp->obj.sclust = ld_dword(fs->dirbuf + XDIR_FstClus); 80c5fbc: 697b ldr r3, [r7, #20] 80c5fbe: 691b ldr r3, [r3, #16] 80c5fc0: 3334 adds r3, #52 ; 0x34 80c5fc2: 4618 mov r0, r3 80c5fc4: f7fc fcb6 bl 80c2934 80c5fc8: 4602 mov r2, r0 80c5fca: 68fb ldr r3, [r7, #12] 80c5fcc: 609a str r2, [r3, #8] fp->obj.objsize = ld_qword(fs->dirbuf + XDIR_FileSize); 80c5fce: 697b ldr r3, [r7, #20] 80c5fd0: 691b ldr r3, [r3, #16] 80c5fd2: 3338 adds r3, #56 ; 0x38 80c5fd4: 4618 mov r0, r3 80c5fd6: f7fc fcd0 bl 80c297a 80c5fda: 4602 mov r2, r0 80c5fdc: 460b mov r3, r1 80c5fde: 68f9 ldr r1, [r7, #12] 80c5fe0: e9c1 2304 strd r2, r3, [r1, #16] fp->obj.stat = fs->dirbuf[XDIR_GenFlags] & 2; 80c5fe4: 697b ldr r3, [r7, #20] 80c5fe6: 691b ldr r3, [r3, #16] 80c5fe8: 3321 adds r3, #33 ; 0x21 80c5fea: 781b ldrb r3, [r3, #0] 80c5fec: f003 0302 and.w r3, r3, #2 80c5ff0: b2da uxtb r2, r3 80c5ff2: 68fb ldr r3, [r7, #12] 80c5ff4: 71da strb r2, [r3, #7] fp->obj.n_frag = 0; 80c5ff6: 68fb ldr r3, [r7, #12] 80c5ff8: 2200 movs r2, #0 80c5ffa: 61da str r2, [r3, #28] /* Initialize directory entry block */ st_dword(fs->dirbuf + XDIR_CrtTime, dw); /* Set created time */ 80c5ffc: 697b ldr r3, [r7, #20] 80c5ffe: 691b ldr r3, [r3, #16] 80c6000: 3308 adds r3, #8 80c6002: 6f79 ldr r1, [r7, #116] ; 0x74 80c6004: 4618 mov r0, r3 80c6006: f7fc fd82 bl 80c2b0e fs->dirbuf[XDIR_CrtTime10] = 0; 80c600a: 697b ldr r3, [r7, #20] 80c600c: 691b ldr r3, [r3, #16] 80c600e: 3314 adds r3, #20 80c6010: 2200 movs r2, #0 80c6012: 701a strb r2, [r3, #0] st_dword(fs->dirbuf + XDIR_ModTime, dw); /* Set modified time */ 80c6014: 697b ldr r3, [r7, #20] 80c6016: 691b ldr r3, [r3, #16] 80c6018: 330c adds r3, #12 80c601a: 6f79 ldr r1, [r7, #116] ; 0x74 80c601c: 4618 mov r0, r3 80c601e: f7fc fd76 bl 80c2b0e fs->dirbuf[XDIR_ModTime10] = 0; 80c6022: 697b ldr r3, [r7, #20] 80c6024: 691b ldr r3, [r3, #16] 80c6026: 3315 adds r3, #21 80c6028: 2200 movs r2, #0 80c602a: 701a strb r2, [r3, #0] fs->dirbuf[XDIR_Attr] = AM_ARC; /* Reset attribute */ 80c602c: 697b ldr r3, [r7, #20] 80c602e: 691b ldr r3, [r3, #16] 80c6030: 3304 adds r3, #4 80c6032: 2220 movs r2, #32 80c6034: 701a strb r2, [r3, #0] st_dword(fs->dirbuf + XDIR_FstClus, 0); /* Reset file allocation info */ 80c6036: 697b ldr r3, [r7, #20] 80c6038: 691b ldr r3, [r3, #16] 80c603a: 3334 adds r3, #52 ; 0x34 80c603c: 2100 movs r1, #0 80c603e: 4618 mov r0, r3 80c6040: f7fc fd65 bl 80c2b0e st_qword(fs->dirbuf + XDIR_FileSize, 0); 80c6044: 697b ldr r3, [r7, #20] 80c6046: 691b ldr r3, [r3, #16] 80c6048: f103 0138 add.w r1, r3, #56 ; 0x38 80c604c: f04f 0200 mov.w r2, #0 80c6050: f04f 0300 mov.w r3, #0 80c6054: 4608 mov r0, r1 80c6056: f7fc fd86 bl 80c2b66 st_qword(fs->dirbuf + XDIR_ValidFileSize, 0); 80c605a: 697b ldr r3, [r7, #20] 80c605c: 691b ldr r3, [r3, #16] 80c605e: f103 0128 add.w r1, r3, #40 ; 0x28 80c6062: f04f 0200 mov.w r2, #0 80c6066: f04f 0300 mov.w r3, #0 80c606a: 4608 mov r0, r1 80c606c: f7fc fd7b bl 80c2b66 fs->dirbuf[XDIR_GenFlags] = 1; 80c6070: 697b ldr r3, [r7, #20] 80c6072: 691b ldr r3, [r3, #16] 80c6074: 3321 adds r3, #33 ; 0x21 80c6076: 2201 movs r2, #1 80c6078: 701a strb r2, [r3, #0] res = store_xdir(&dj); 80c607a: f107 0318 add.w r3, r7, #24 80c607e: 4618 mov r0, r3 80c6080: f7fe fab4 bl 80c45ec 80c6084: 4603 mov r3, r0 80c6086: f887 3087 strb.w r3, [r7, #135] ; 0x87 if (res == FR_OK && fp->obj.sclust) { /* Remove the cluster chain if exist */ 80c608a: f897 3087 ldrb.w r3, [r7, #135] ; 0x87 80c608e: 2b00 cmp r3, #0 80c6090: d174 bne.n 80c617c 80c6092: 68fb ldr r3, [r7, #12] 80c6094: 689b ldr r3, [r3, #8] 80c6096: 2b00 cmp r3, #0 80c6098: d070 beq.n 80c617c res = remove_chain(&fp->obj, fp->obj.sclust, 0); 80c609a: 68f8 ldr r0, [r7, #12] 80c609c: 68fb ldr r3, [r7, #12] 80c609e: 689b ldr r3, [r3, #8] 80c60a0: 2200 movs r2, #0 80c60a2: 4619 mov r1, r3 80c60a4: f7fd fabe bl 80c3624 80c60a8: 4603 mov r3, r0 80c60aa: f887 3087 strb.w r3, [r7, #135] ; 0x87 fs->last_clst = fp->obj.sclust - 1; /* Reuse the cluster hole */ 80c60ae: 697b ldr r3, [r7, #20] 80c60b0: 68fa ldr r2, [r7, #12] 80c60b2: 6892 ldr r2, [r2, #8] 80c60b4: 3a01 subs r2, #1 80c60b6: 615a str r2, [r3, #20] 80c60b8: e060 b.n 80c617c } } else #endif { /* Clean directory info */ st_dword(dj.dir + DIR_CrtTime, dw); /* Set created time */ 80c60ba: 6d7b ldr r3, [r7, #84] ; 0x54 80c60bc: 330e adds r3, #14 80c60be: 6f79 ldr r1, [r7, #116] ; 0x74 80c60c0: 4618 mov r0, r3 80c60c2: f7fc fd24 bl 80c2b0e st_dword(dj.dir + DIR_ModTime, dw); /* Set modified time */ 80c60c6: 6d7b ldr r3, [r7, #84] ; 0x54 80c60c8: 3316 adds r3, #22 80c60ca: 6f79 ldr r1, [r7, #116] ; 0x74 80c60cc: 4618 mov r0, r3 80c60ce: f7fc fd1e bl 80c2b0e dj.dir[DIR_Attr] = AM_ARC; /* Reset attribute */ 80c60d2: 6d7b ldr r3, [r7, #84] ; 0x54 80c60d4: 330b adds r3, #11 80c60d6: 2220 movs r2, #32 80c60d8: 701a strb r2, [r3, #0] cl = ld_clust(fs, dj.dir); /* Get cluster chain */ 80c60da: 697b ldr r3, [r7, #20] 80c60dc: 6d7a ldr r2, [r7, #84] ; 0x54 80c60de: 4611 mov r1, r2 80c60e0: 4618 mov r0, r3 80c60e2: f7fd fe49 bl 80c3d78 80c60e6: 6738 str r0, [r7, #112] ; 0x70 st_clust(fs, dj.dir, 0); /* Reset file allocation info */ 80c60e8: 697b ldr r3, [r7, #20] 80c60ea: 6d79 ldr r1, [r7, #84] ; 0x54 80c60ec: 2200 movs r2, #0 80c60ee: 4618 mov r0, r3 80c60f0: f7fd fe61 bl 80c3db6 st_dword(dj.dir + DIR_FileSize, 0); 80c60f4: 6d7b ldr r3, [r7, #84] ; 0x54 80c60f6: 331c adds r3, #28 80c60f8: 2100 movs r1, #0 80c60fa: 4618 mov r0, r3 80c60fc: f7fc fd07 bl 80c2b0e fs->wflag = 1; 80c6100: 697b ldr r3, [r7, #20] 80c6102: 2201 movs r2, #1 80c6104: 70da strb r2, [r3, #3] if (cl) { /* Remove the cluster chain if exist */ 80c6106: 6f3b ldr r3, [r7, #112] ; 0x70 80c6108: 2b00 cmp r3, #0 80c610a: d037 beq.n 80c617c dw = fs->winsect; 80c610c: 697b ldr r3, [r7, #20] 80c610e: 6b5b ldr r3, [r3, #52] ; 0x34 80c6110: 677b str r3, [r7, #116] ; 0x74 res = remove_chain(&dj.obj, cl, 0); 80c6112: f107 0318 add.w r3, r7, #24 80c6116: 2200 movs r2, #0 80c6118: 6f39 ldr r1, [r7, #112] ; 0x70 80c611a: 4618 mov r0, r3 80c611c: f7fd fa82 bl 80c3624 80c6120: 4603 mov r3, r0 80c6122: f887 3087 strb.w r3, [r7, #135] ; 0x87 if (res == FR_OK) { 80c6126: f897 3087 ldrb.w r3, [r7, #135] ; 0x87 80c612a: 2b00 cmp r3, #0 80c612c: d126 bne.n 80c617c res = move_window(fs, dw); 80c612e: 697b ldr r3, [r7, #20] 80c6130: 6f79 ldr r1, [r7, #116] ; 0x74 80c6132: 4618 mov r0, r3 80c6134: f7fc fe69 bl 80c2e0a 80c6138: 4603 mov r3, r0 80c613a: f887 3087 strb.w r3, [r7, #135] ; 0x87 fs->last_clst = cl - 1; /* Reuse the cluster hole */ 80c613e: 697b ldr r3, [r7, #20] 80c6140: 6f3a ldr r2, [r7, #112] ; 0x70 80c6142: 3a01 subs r2, #1 80c6144: 615a str r2, [r3, #20] 80c6146: e019 b.n 80c617c } } } } else { /* Open an existing file */ if (res == FR_OK) { /* Following succeeded */ 80c6148: f897 3087 ldrb.w r3, [r7, #135] ; 0x87 80c614c: 2b00 cmp r3, #0 80c614e: d115 bne.n 80c617c if (dj.obj.attr & AM_DIR) { /* It is a directory */ 80c6150: 7fbb ldrb r3, [r7, #30] 80c6152: f003 0310 and.w r3, r3, #16 80c6156: 2b00 cmp r3, #0 80c6158: d003 beq.n 80c6162 res = FR_NO_FILE; 80c615a: 2304 movs r3, #4 80c615c: f887 3087 strb.w r3, [r7, #135] ; 0x87 80c6160: e00c b.n 80c617c } else { if ((mode & FA_WRITE) && (dj.obj.attr & AM_RDO)) { /* R/O violation */ 80c6162: 79fb ldrb r3, [r7, #7] 80c6164: f003 0302 and.w r3, r3, #2 80c6168: 2b00 cmp r3, #0 80c616a: d007 beq.n 80c617c 80c616c: 7fbb ldrb r3, [r7, #30] 80c616e: f003 0301 and.w r3, r3, #1 80c6172: 2b00 cmp r3, #0 80c6174: d002 beq.n 80c617c res = FR_DENIED; 80c6176: 2307 movs r3, #7 80c6178: f887 3087 strb.w r3, [r7, #135] ; 0x87 } } } } if (res == FR_OK) { 80c617c: f897 3087 ldrb.w r3, [r7, #135] ; 0x87 80c6180: 2b00 cmp r3, #0 80c6182: d10f bne.n 80c61a4 if (mode & FA_CREATE_ALWAYS) /* Set file change flag if created or overwritten */ 80c6184: 79fb ldrb r3, [r7, #7] 80c6186: f003 0308 and.w r3, r3, #8 80c618a: 2b00 cmp r3, #0 80c618c: d003 beq.n 80c6196 mode |= FA_MODIFIED; 80c618e: 79fb ldrb r3, [r7, #7] 80c6190: f043 0340 orr.w r3, r3, #64 ; 0x40 80c6194: 71fb strb r3, [r7, #7] fp->dir_sect = fs->winsect; /* Pointer to the directory entry */ 80c6196: 697b ldr r3, [r7, #20] 80c6198: 6b5a ldr r2, [r3, #52] ; 0x34 80c619a: 68fb ldr r3, [r7, #12] 80c619c: 649a str r2, [r3, #72] ; 0x48 fp->dir_ptr = dj.dir; 80c619e: 6d7a ldr r2, [r7, #84] ; 0x54 80c61a0: 68fb ldr r3, [r7, #12] 80c61a2: 64da str r2, [r3, #76] ; 0x4c } } } #endif if (res == FR_OK) { 80c61a4: f897 3087 ldrb.w r3, [r7, #135] ; 0x87 80c61a8: 2b00 cmp r3, #0 80c61aa: f040 80dd bne.w 80c6368 #if _FS_EXFAT if (fs->fs_type == FS_EXFAT) { 80c61ae: 697b ldr r3, [r7, #20] 80c61b0: 781b ldrb r3, [r3, #0] 80c61b2: 2b04 cmp r3, #4 80c61b4: d12c bne.n 80c6210 fp->obj.c_scl = dj.obj.sclust; /* Get containing directory info */ 80c61b6: 6a3a ldr r2, [r7, #32] 80c61b8: 68fb ldr r3, [r7, #12] 80c61ba: 621a str r2, [r3, #32] fp->obj.c_size = ((DWORD)dj.obj.objsize & 0xFFFFFF00) | dj.obj.stat; 80c61bc: e9d7 230a ldrd r2, r3, [r7, #40] ; 0x28 80c61c0: 4613 mov r3, r2 80c61c2: f023 03ff bic.w r3, r3, #255 ; 0xff 80c61c6: 7ffa ldrb r2, [r7, #31] 80c61c8: 431a orrs r2, r3 80c61ca: 68fb ldr r3, [r7, #12] 80c61cc: 625a str r2, [r3, #36] ; 0x24 fp->obj.c_ofs = dj.blk_ofs; 80c61ce: 6e7a ldr r2, [r7, #100] ; 0x64 80c61d0: 68fb ldr r3, [r7, #12] 80c61d2: 629a str r2, [r3, #40] ; 0x28 fp->obj.sclust = ld_dword(fs->dirbuf + XDIR_FstClus); /* Get object allocation info */ 80c61d4: 697b ldr r3, [r7, #20] 80c61d6: 691b ldr r3, [r3, #16] 80c61d8: 3334 adds r3, #52 ; 0x34 80c61da: 4618 mov r0, r3 80c61dc: f7fc fbaa bl 80c2934 80c61e0: 4602 mov r2, r0 80c61e2: 68fb ldr r3, [r7, #12] 80c61e4: 609a str r2, [r3, #8] fp->obj.objsize = ld_qword(fs->dirbuf + XDIR_FileSize); 80c61e6: 697b ldr r3, [r7, #20] 80c61e8: 691b ldr r3, [r3, #16] 80c61ea: 3338 adds r3, #56 ; 0x38 80c61ec: 4618 mov r0, r3 80c61ee: f7fc fbc4 bl 80c297a 80c61f2: 4602 mov r2, r0 80c61f4: 460b mov r3, r1 80c61f6: 68f9 ldr r1, [r7, #12] 80c61f8: e9c1 2304 strd r2, r3, [r1, #16] fp->obj.stat = fs->dirbuf[XDIR_GenFlags] & 2; 80c61fc: 697b ldr r3, [r7, #20] 80c61fe: 691b ldr r3, [r3, #16] 80c6200: 3321 adds r3, #33 ; 0x21 80c6202: 781b ldrb r3, [r3, #0] 80c6204: f003 0302 and.w r3, r3, #2 80c6208: b2da uxtb r2, r3 80c620a: 68fb ldr r3, [r7, #12] 80c620c: 71da strb r2, [r3, #7] 80c620e: e014 b.n 80c623a } else #endif { fp->obj.sclust = ld_clust(fs, dj.dir); /* Get object allocation info */ 80c6210: 697b ldr r3, [r7, #20] 80c6212: 6d7a ldr r2, [r7, #84] ; 0x54 80c6214: 4611 mov r1, r2 80c6216: 4618 mov r0, r3 80c6218: f7fd fdae bl 80c3d78 80c621c: 4602 mov r2, r0 80c621e: 68fb ldr r3, [r7, #12] 80c6220: 609a str r2, [r3, #8] fp->obj.objsize = ld_dword(dj.dir + DIR_FileSize); 80c6222: 6d7b ldr r3, [r7, #84] ; 0x54 80c6224: 331c adds r3, #28 80c6226: 4618 mov r0, r3 80c6228: f7fc fb84 bl 80c2934 80c622c: 4603 mov r3, r0 80c622e: 461a mov r2, r3 80c6230: f04f 0300 mov.w r3, #0 80c6234: 68f9 ldr r1, [r7, #12] 80c6236: e9c1 2304 strd r2, r3, [r1, #16] } #if _USE_FASTSEEK fp->cltbl = 0; /* Disable fast seek mode */ 80c623a: 68fb ldr r3, [r7, #12] 80c623c: 2200 movs r2, #0 80c623e: 651a str r2, [r3, #80] ; 0x50 #endif fp->obj.fs = fs; /* Validate the file object */ 80c6240: 697a ldr r2, [r7, #20] 80c6242: 68fb ldr r3, [r7, #12] 80c6244: 601a str r2, [r3, #0] fp->obj.id = fs->id; 80c6246: 697b ldr r3, [r7, #20] 80c6248: 88da ldrh r2, [r3, #6] 80c624a: 68fb ldr r3, [r7, #12] 80c624c: 809a strh r2, [r3, #4] fp->flag = mode; /* Set file access mode */ 80c624e: 68fb ldr r3, [r7, #12] 80c6250: 79fa ldrb r2, [r7, #7] 80c6252: f883 2030 strb.w r2, [r3, #48] ; 0x30 fp->err = 0; /* Clear error flag */ 80c6256: 68fb ldr r3, [r7, #12] 80c6258: 2200 movs r2, #0 80c625a: f883 2031 strb.w r2, [r3, #49] ; 0x31 fp->sect = 0; /* Invalidate current data sector */ 80c625e: 68fb ldr r3, [r7, #12] 80c6260: 2200 movs r2, #0 80c6262: 645a str r2, [r3, #68] ; 0x44 fp->fptr = 0; /* Set file pointer top of the file */ 80c6264: 68f9 ldr r1, [r7, #12] 80c6266: f04f 0200 mov.w r2, #0 80c626a: f04f 0300 mov.w r3, #0 80c626e: 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 */ 80c6272: 79fb ldrb r3, [r7, #7] 80c6274: f003 0320 and.w r3, r3, #32 80c6278: 2b00 cmp r3, #0 80c627a: d075 beq.n 80c6368 80c627c: 68fb ldr r3, [r7, #12] 80c627e: e9d3 2304 ldrd r2, r3, [r3, #16] 80c6282: 4313 orrs r3, r2 80c6284: d070 beq.n 80c6368 fp->fptr = fp->obj.objsize; /* Offset to seek */ 80c6286: 68fb ldr r3, [r7, #12] 80c6288: e9d3 2304 ldrd r2, r3, [r3, #16] 80c628c: 68f9 ldr r1, [r7, #12] 80c628e: e9c1 230e strd r2, r3, [r1, #56] ; 0x38 bcs = (DWORD)fs->csize * SS(fs); /* Cluster size in byte */ 80c6292: 697b ldr r3, [r7, #20] 80c6294: 895b ldrh r3, [r3, #10] 80c6296: 025b lsls r3, r3, #9 80c6298: 66fb str r3, [r7, #108] ; 0x6c clst = fp->obj.sclust; /* Follow the cluster chain */ 80c629a: 68fb ldr r3, [r7, #12] 80c629c: 689b ldr r3, [r3, #8] 80c629e: f8c7 3080 str.w r3, [r7, #128] ; 0x80 for (ofs = fp->obj.objsize; res == FR_OK && ofs > bcs; ofs -= bcs) { 80c62a2: 68fb ldr r3, [r7, #12] 80c62a4: e9d3 2304 ldrd r2, r3, [r3, #16] 80c62a8: e9c7 231e strd r2, r3, [r7, #120] ; 0x78 80c62ac: e021 b.n 80c62f2 clst = get_fat(&fp->obj, clst); 80c62ae: 68fb ldr r3, [r7, #12] 80c62b0: f8d7 1080 ldr.w r1, [r7, #128] ; 0x80 80c62b4: 4618 mov r0, r3 80c62b6: f7fc fe63 bl 80c2f80 80c62ba: f8c7 0080 str.w r0, [r7, #128] ; 0x80 if (clst <= 1) res = FR_INT_ERR; 80c62be: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 80c62c2: 2b01 cmp r3, #1 80c62c4: d802 bhi.n 80c62cc 80c62c6: 2302 movs r3, #2 80c62c8: f887 3087 strb.w r3, [r7, #135] ; 0x87 if (clst == 0xFFFFFFFF) res = FR_DISK_ERR; 80c62cc: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 80c62d0: f1b3 3fff cmp.w r3, #4294967295 80c62d4: d102 bne.n 80c62dc 80c62d6: 2301 movs r3, #1 80c62d8: f887 3087 strb.w r3, [r7, #135] ; 0x87 for (ofs = fp->obj.objsize; res == FR_OK && ofs > bcs; ofs -= bcs) { 80c62dc: 6efb ldr r3, [r7, #108] ; 0x6c 80c62de: 461a mov r2, r3 80c62e0: f04f 0300 mov.w r3, #0 80c62e4: e9d7 011e ldrd r0, r1, [r7, #120] ; 0x78 80c62e8: 1a82 subs r2, r0, r2 80c62ea: eb61 0303 sbc.w r3, r1, r3 80c62ee: e9c7 231e strd r2, r3, [r7, #120] ; 0x78 80c62f2: f897 3087 ldrb.w r3, [r7, #135] ; 0x87 80c62f6: 2b00 cmp r3, #0 80c62f8: d109 bne.n 80c630e 80c62fa: 6efb ldr r3, [r7, #108] ; 0x6c 80c62fc: 4618 mov r0, r3 80c62fe: f04f 0100 mov.w r1, #0 80c6302: e9d7 231e ldrd r2, r3, [r7, #120] ; 0x78 80c6306: 4299 cmp r1, r3 80c6308: bf08 it eq 80c630a: 4290 cmpeq r0, r2 80c630c: d3cf bcc.n 80c62ae } fp->clust = clst; 80c630e: 68fb ldr r3, [r7, #12] 80c6310: f8d7 2080 ldr.w r2, [r7, #128] ; 0x80 80c6314: 641a str r2, [r3, #64] ; 0x40 if (res == FR_OK && ofs % SS(fs)) { /* Fill sector buffer if not on the sector boundary */ 80c6316: f897 3087 ldrb.w r3, [r7, #135] ; 0x87 80c631a: 2b00 cmp r3, #0 80c631c: d124 bne.n 80c6368 80c631e: e9d7 231e ldrd r2, r3, [r7, #120] ; 0x78 80c6322: f240 10ff movw r0, #511 ; 0x1ff 80c6326: f04f 0100 mov.w r1, #0 80c632a: ea02 0200 and.w r2, r2, r0 80c632e: ea03 0301 and.w r3, r3, r1 80c6332: 4313 orrs r3, r2 80c6334: d018 beq.n 80c6368 if ((sc = clust2sect(fs, clst)) == 0) { 80c6336: 697b ldr r3, [r7, #20] 80c6338: f8d7 1080 ldr.w r1, [r7, #128] ; 0x80 80c633c: 4618 mov r0, r3 80c633e: f7fc fdff bl 80c2f40 80c6342: 66b8 str r0, [r7, #104] ; 0x68 80c6344: 6ebb ldr r3, [r7, #104] ; 0x68 80c6346: 2b00 cmp r3, #0 80c6348: d103 bne.n 80c6352 res = FR_INT_ERR; 80c634a: 2302 movs r3, #2 80c634c: f887 3087 strb.w r3, [r7, #135] ; 0x87 80c6350: e00a b.n 80c6368 } else { fp->sect = sc + (DWORD)(ofs / SS(fs)); 80c6352: e9d7 231e ldrd r2, r3, [r7, #120] ; 0x78 80c6356: 0a54 lsrs r4, r2, #9 80c6358: ea44 54c3 orr.w r4, r4, r3, lsl #23 80c635c: 0a5d lsrs r5, r3, #9 80c635e: 4622 mov r2, r4 80c6360: 6ebb ldr r3, [r7, #104] ; 0x68 80c6362: 441a add r2, r3 80c6364: 68fb ldr r3, [r7, #12] 80c6366: 645a str r2, [r3, #68] ; 0x44 } FREE_NAMBUF(); } if (res != FR_OK) fp->obj.fs = 0; /* Invalidate file object on error */ 80c6368: f897 3087 ldrb.w r3, [r7, #135] ; 0x87 80c636c: 2b00 cmp r3, #0 80c636e: d002 beq.n 80c6376 80c6370: 68fb ldr r3, [r7, #12] 80c6372: 2200 movs r2, #0 80c6374: 601a str r2, [r3, #0] LEAVE_FF(fs, res); 80c6376: f897 3087 ldrb.w r3, [r7, #135] ; 0x87 } 80c637a: 4618 mov r0, r3 80c637c: 3788 adds r7, #136 ; 0x88 80c637e: 46bd mov sp, r7 80c6380: bdb0 pop {r4, r5, r7, pc} 080c6382 : 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 */ ) { 80c6382: b5b0 push {r4, r5, r7, lr} 80c6384: b090 sub sp, #64 ; 0x40 80c6386: af00 add r7, sp, #0 80c6388: 60f8 str r0, [r7, #12] 80c638a: 60b9 str r1, [r7, #8] 80c638c: 607a str r2, [r7, #4] 80c638e: 603b str r3, [r7, #0] FRESULT res; FATFS *fs; DWORD clst, sect; FSIZE_t remain; UINT rcnt, cc, csect; BYTE *rbuff = (BYTE*)buff; 80c6390: 68bb ldr r3, [r7, #8] 80c6392: 62fb str r3, [r7, #44] ; 0x2c *br = 0; /* Clear read byte counter */ 80c6394: 683b ldr r3, [r7, #0] 80c6396: 2200 movs r2, #0 80c6398: 601a str r2, [r3, #0] res = validate(&fp->obj, &fs); /* Check validity of the file object */ 80c639a: 68fb ldr r3, [r7, #12] 80c639c: f107 0214 add.w r2, r7, #20 80c63a0: 4611 mov r1, r2 80c63a2: 4618 mov r0, r3 80c63a4: f7ff fd18 bl 80c5dd8 80c63a8: 4603 mov r3, r0 80c63aa: f887 303f strb.w r3, [r7, #63] ; 0x3f if (res != FR_OK || (res = (FRESULT)fp->err) != FR_OK) LEAVE_FF(fs, res); /* Check validity */ 80c63ae: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 80c63b2: 2b00 cmp r3, #0 80c63b4: d108 bne.n 80c63c8 80c63b6: 68fb ldr r3, [r7, #12] 80c63b8: f893 3031 ldrb.w r3, [r3, #49] ; 0x31 80c63bc: f887 303f strb.w r3, [r7, #63] ; 0x3f 80c63c0: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 80c63c4: 2b00 cmp r3, #0 80c63c6: d002 beq.n 80c63ce 80c63c8: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 80c63cc: e118 b.n 80c6600 if (!(fp->flag & FA_READ)) LEAVE_FF(fs, FR_DENIED); /* Check access mode */ 80c63ce: 68fb ldr r3, [r7, #12] 80c63d0: f893 3030 ldrb.w r3, [r3, #48] ; 0x30 80c63d4: f003 0301 and.w r3, r3, #1 80c63d8: 2b00 cmp r3, #0 80c63da: d101 bne.n 80c63e0 80c63dc: 2307 movs r3, #7 80c63de: e10f b.n 80c6600 remain = fp->obj.objsize - fp->fptr; 80c63e0: 68fb ldr r3, [r7, #12] 80c63e2: e9d3 0104 ldrd r0, r1, [r3, #16] 80c63e6: 68fb ldr r3, [r7, #12] 80c63e8: e9d3 230e ldrd r2, r3, [r3, #56] ; 0x38 80c63ec: 1a82 subs r2, r0, r2 80c63ee: eb61 0303 sbc.w r3, r1, r3 80c63f2: e9c7 2308 strd r2, r3, [r7, #32] if (btr > remain) btr = (UINT)remain; /* Truncate btr by remaining bytes */ 80c63f6: 687b ldr r3, [r7, #4] 80c63f8: 461a mov r2, r3 80c63fa: f04f 0300 mov.w r3, #0 80c63fe: e9d7 0108 ldrd r0, r1, [r7, #32] 80c6402: 4299 cmp r1, r3 80c6404: bf08 it eq 80c6406: 4290 cmpeq r0, r2 80c6408: f080 80f5 bcs.w 80c65f6 80c640c: 6a3b ldr r3, [r7, #32] 80c640e: 607b str r3, [r7, #4] for ( ; btr; /* Repeat until all data read */ 80c6410: e0f1 b.n 80c65f6 rbuff += rcnt, fp->fptr += rcnt, *br += rcnt, btr -= rcnt) { if (fp->fptr % SS(fs) == 0) { /* On the sector boundary? */ 80c6412: 68fb ldr r3, [r7, #12] 80c6414: e9d3 230e ldrd r2, r3, [r3, #56] ; 0x38 80c6418: f240 10ff movw r0, #511 ; 0x1ff 80c641c: f04f 0100 mov.w r1, #0 80c6420: ea02 0200 and.w r2, r2, r0 80c6424: ea03 0301 and.w r3, r3, r1 80c6428: 4313 orrs r3, r2 80c642a: f040 809b bne.w 80c6564 csect = (UINT)(fp->fptr / SS(fs) & (fs->csize - 1)); /* Sector offset in the cluster */ 80c642e: 68fb ldr r3, [r7, #12] 80c6430: e9d3 230e ldrd r2, r3, [r3, #56] ; 0x38 80c6434: 0a54 lsrs r4, r2, #9 80c6436: ea44 54c3 orr.w r4, r4, r3, lsl #23 80c643a: 0a5d lsrs r5, r3, #9 80c643c: 4622 mov r2, r4 80c643e: 697b ldr r3, [r7, #20] 80c6440: 895b ldrh r3, [r3, #10] 80c6442: 3b01 subs r3, #1 80c6444: 4013 ands r3, r2 80c6446: 61fb str r3, [r7, #28] if (csect == 0) { /* On the cluster boundary? */ 80c6448: 69fb ldr r3, [r7, #28] 80c644a: 2b00 cmp r3, #0 80c644c: d132 bne.n 80c64b4 if (fp->fptr == 0) { /* On the top of the file? */ 80c644e: 68fb ldr r3, [r7, #12] 80c6450: e9d3 230e ldrd r2, r3, [r3, #56] ; 0x38 80c6454: 4313 orrs r3, r2 80c6456: d103 bne.n 80c6460 clst = fp->obj.sclust; /* Follow cluster chain from the origin */ 80c6458: 68fb ldr r3, [r7, #12] 80c645a: 689b ldr r3, [r3, #8] 80c645c: 63bb str r3, [r7, #56] ; 0x38 80c645e: e013 b.n 80c6488 } else { /* Middle or end of the file */ #if _USE_FASTSEEK if (fp->cltbl) { 80c6460: 68fb ldr r3, [r7, #12] 80c6462: 6d1b ldr r3, [r3, #80] ; 0x50 80c6464: 2b00 cmp r3, #0 80c6466: d007 beq.n 80c6478 clst = clmt_clust(fp, fp->fptr); /* Get cluster# from the CLMT */ 80c6468: 68fb ldr r3, [r7, #12] 80c646a: e9d3 230e ldrd r2, r3, [r3, #56] ; 0x38 80c646e: 68f8 ldr r0, [r7, #12] 80c6470: f7fd fa8d bl 80c398e 80c6474: 63b8 str r0, [r7, #56] ; 0x38 80c6476: e007 b.n 80c6488 } else #endif { clst = get_fat(&fp->obj, fp->clust); /* Follow cluster chain on the FAT */ 80c6478: 68fa ldr r2, [r7, #12] 80c647a: 68fb ldr r3, [r7, #12] 80c647c: 6c1b ldr r3, [r3, #64] ; 0x40 80c647e: 4619 mov r1, r3 80c6480: 4610 mov r0, r2 80c6482: f7fc fd7d bl 80c2f80 80c6486: 63b8 str r0, [r7, #56] ; 0x38 } } if (clst < 2) ABORT(fs, FR_INT_ERR); 80c6488: 6bbb ldr r3, [r7, #56] ; 0x38 80c648a: 2b01 cmp r3, #1 80c648c: d805 bhi.n 80c649a 80c648e: 68fb ldr r3, [r7, #12] 80c6490: 2202 movs r2, #2 80c6492: f883 2031 strb.w r2, [r3, #49] ; 0x31 80c6496: 2302 movs r3, #2 80c6498: e0b2 b.n 80c6600 if (clst == 0xFFFFFFFF) ABORT(fs, FR_DISK_ERR); 80c649a: 6bbb ldr r3, [r7, #56] ; 0x38 80c649c: f1b3 3fff cmp.w r3, #4294967295 80c64a0: d105 bne.n 80c64ae 80c64a2: 68fb ldr r3, [r7, #12] 80c64a4: 2201 movs r2, #1 80c64a6: f883 2031 strb.w r2, [r3, #49] ; 0x31 80c64aa: 2301 movs r3, #1 80c64ac: e0a8 b.n 80c6600 fp->clust = clst; /* Update current cluster */ 80c64ae: 68fb ldr r3, [r7, #12] 80c64b0: 6bba ldr r2, [r7, #56] ; 0x38 80c64b2: 641a str r2, [r3, #64] ; 0x40 } sect = clust2sect(fs, fp->clust); /* Get current sector */ 80c64b4: 697a ldr r2, [r7, #20] 80c64b6: 68fb ldr r3, [r7, #12] 80c64b8: 6c1b ldr r3, [r3, #64] ; 0x40 80c64ba: 4619 mov r1, r3 80c64bc: 4610 mov r0, r2 80c64be: f7fc fd3f bl 80c2f40 80c64c2: 61b8 str r0, [r7, #24] if (!sect) ABORT(fs, FR_INT_ERR); 80c64c4: 69bb ldr r3, [r7, #24] 80c64c6: 2b00 cmp r3, #0 80c64c8: d105 bne.n 80c64d6 80c64ca: 68fb ldr r3, [r7, #12] 80c64cc: 2202 movs r2, #2 80c64ce: f883 2031 strb.w r2, [r3, #49] ; 0x31 80c64d2: 2302 movs r3, #2 80c64d4: e094 b.n 80c6600 sect += csect; 80c64d6: 69ba ldr r2, [r7, #24] 80c64d8: 69fb ldr r3, [r7, #28] 80c64da: 4413 add r3, r2 80c64dc: 61bb str r3, [r7, #24] cc = btr / SS(fs); /* When remaining bytes >= sector size, */ 80c64de: 687b ldr r3, [r7, #4] 80c64e0: 0a5b lsrs r3, r3, #9 80c64e2: 633b str r3, [r7, #48] ; 0x30 if (cc) { /* Read maximum contiguous sectors directly */ 80c64e4: 6b3b ldr r3, [r7, #48] ; 0x30 80c64e6: 2b00 cmp r3, #0 80c64e8: d039 beq.n 80c655e if (csect + cc > fs->csize) { /* Clip at cluster boundary */ 80c64ea: 69fa ldr r2, [r7, #28] 80c64ec: 6b3b ldr r3, [r7, #48] ; 0x30 80c64ee: 4413 add r3, r2 80c64f0: 697a ldr r2, [r7, #20] 80c64f2: 8952 ldrh r2, [r2, #10] 80c64f4: 4293 cmp r3, r2 80c64f6: d905 bls.n 80c6504 cc = fs->csize - csect; 80c64f8: 697b ldr r3, [r7, #20] 80c64fa: 895b ldrh r3, [r3, #10] 80c64fc: 461a mov r2, r3 80c64fe: 69fb ldr r3, [r7, #28] 80c6500: 1ad3 subs r3, r2, r3 80c6502: 633b str r3, [r7, #48] ; 0x30 } if (disk_read(fs->drv, rbuff, sect, cc) != RES_OK) ABORT(fs, FR_DISK_ERR); 80c6504: 697b ldr r3, [r7, #20] 80c6506: 7858 ldrb r0, [r3, #1] 80c6508: 6b3b ldr r3, [r7, #48] ; 0x30 80c650a: 69ba ldr r2, [r7, #24] 80c650c: 6af9 ldr r1, [r7, #44] ; 0x2c 80c650e: f7fc f99b bl 80c2848 80c6512: 4603 mov r3, r0 80c6514: 2b00 cmp r3, #0 80c6516: d005 beq.n 80c6524 80c6518: 68fb ldr r3, [r7, #12] 80c651a: 2201 movs r2, #1 80c651c: f883 2031 strb.w r2, [r3, #49] ; 0x31 80c6520: 2301 movs r3, #1 80c6522: e06d b.n 80c6600 #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) { 80c6524: 697b ldr r3, [r7, #20] 80c6526: 78db ldrb r3, [r3, #3] 80c6528: 2b00 cmp r3, #0 80c652a: d014 beq.n 80c6556 80c652c: 697b ldr r3, [r7, #20] 80c652e: 6b5a ldr r2, [r3, #52] ; 0x34 80c6530: 69bb ldr r3, [r7, #24] 80c6532: 1ad2 subs r2, r2, r3 80c6534: 6b3b ldr r3, [r7, #48] ; 0x30 80c6536: 429a cmp r2, r3 80c6538: d20d bcs.n 80c6556 mem_cpy(rbuff + ((fs->winsect - sect) * SS(fs)), fs->win, SS(fs)); 80c653a: 697b ldr r3, [r7, #20] 80c653c: 6b5a ldr r2, [r3, #52] ; 0x34 80c653e: 69bb ldr r3, [r7, #24] 80c6540: 1ad3 subs r3, r2, r3 80c6542: 025b lsls r3, r3, #9 80c6544: 6afa ldr r2, [r7, #44] ; 0x2c 80c6546: 18d0 adds r0, r2, r3 80c6548: 697b ldr r3, [r7, #20] 80c654a: 3338 adds r3, #56 ; 0x38 80c654c: f44f 7200 mov.w r2, #512 ; 0x200 80c6550: 4619 mov r1, r3 80c6552: f7fc fb99 bl 80c2c88 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 */ 80c6556: 6b3b ldr r3, [r7, #48] ; 0x30 80c6558: 025b lsls r3, r3, #9 80c655a: 637b str r3, [r7, #52] ; 0x34 continue; 80c655c: e030 b.n 80c65c0 } #endif if (disk_read(fs->drv, fp->buf, sect, 1) != RES_OK) ABORT(fs, FR_DISK_ERR); /* Fill sector cache */ } #endif fp->sect = sect; 80c655e: 68fb ldr r3, [r7, #12] 80c6560: 69ba ldr r2, [r7, #24] 80c6562: 645a str r2, [r3, #68] ; 0x44 } rcnt = SS(fs) - (UINT)fp->fptr % SS(fs); /* Number of bytes left in the sector */ 80c6564: 68fb ldr r3, [r7, #12] 80c6566: e9d3 230e ldrd r2, r3, [r3, #56] ; 0x38 80c656a: 4613 mov r3, r2 80c656c: f3c3 0308 ubfx r3, r3, #0, #9 80c6570: f5c3 7300 rsb r3, r3, #512 ; 0x200 80c6574: 637b str r3, [r7, #52] ; 0x34 if (rcnt > btr) rcnt = btr; /* Clip it by btr if needed */ 80c6576: 6b7a ldr r2, [r7, #52] ; 0x34 80c6578: 687b ldr r3, [r7, #4] 80c657a: 429a cmp r2, r3 80c657c: d901 bls.n 80c6582 80c657e: 687b ldr r3, [r7, #4] 80c6580: 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 */ 80c6582: 697a ldr r2, [r7, #20] 80c6584: 68fb ldr r3, [r7, #12] 80c6586: 6c5b ldr r3, [r3, #68] ; 0x44 80c6588: 4619 mov r1, r3 80c658a: 4610 mov r0, r2 80c658c: f7fc fc3d bl 80c2e0a 80c6590: 4603 mov r3, r0 80c6592: 2b00 cmp r3, #0 80c6594: d005 beq.n 80c65a2 80c6596: 68fb ldr r3, [r7, #12] 80c6598: 2201 movs r2, #1 80c659a: f883 2031 strb.w r2, [r3, #49] ; 0x31 80c659e: 2301 movs r3, #1 80c65a0: e02e b.n 80c6600 mem_cpy(rbuff, fs->win + fp->fptr % SS(fs), rcnt); /* Extract partial sector */ 80c65a2: 697b ldr r3, [r7, #20] 80c65a4: f103 0138 add.w r1, r3, #56 ; 0x38 80c65a8: 68fb ldr r3, [r7, #12] 80c65aa: e9d3 230e ldrd r2, r3, [r3, #56] ; 0x38 80c65ae: 4613 mov r3, r2 80c65b0: f3c3 0308 ubfx r3, r3, #0, #9 80c65b4: 440b add r3, r1 80c65b6: 6b7a ldr r2, [r7, #52] ; 0x34 80c65b8: 4619 mov r1, r3 80c65ba: 6af8 ldr r0, [r7, #44] ; 0x2c 80c65bc: f7fc fb64 bl 80c2c88 rbuff += rcnt, fp->fptr += rcnt, *br += rcnt, btr -= rcnt) { 80c65c0: 6afa ldr r2, [r7, #44] ; 0x2c 80c65c2: 6b7b ldr r3, [r7, #52] ; 0x34 80c65c4: 4413 add r3, r2 80c65c6: 62fb str r3, [r7, #44] ; 0x2c 80c65c8: 68fb ldr r3, [r7, #12] 80c65ca: e9d3 010e ldrd r0, r1, [r3, #56] ; 0x38 80c65ce: 6b7b ldr r3, [r7, #52] ; 0x34 80c65d0: 461a mov r2, r3 80c65d2: f04f 0300 mov.w r3, #0 80c65d6: 1812 adds r2, r2, r0 80c65d8: eb43 0301 adc.w r3, r3, r1 80c65dc: 68f9 ldr r1, [r7, #12] 80c65de: e9c1 230e strd r2, r3, [r1, #56] ; 0x38 80c65e2: 683b ldr r3, [r7, #0] 80c65e4: 681a ldr r2, [r3, #0] 80c65e6: 6b7b ldr r3, [r7, #52] ; 0x34 80c65e8: 441a add r2, r3 80c65ea: 683b ldr r3, [r7, #0] 80c65ec: 601a str r2, [r3, #0] 80c65ee: 687a ldr r2, [r7, #4] 80c65f0: 6b7b ldr r3, [r7, #52] ; 0x34 80c65f2: 1ad3 subs r3, r2, r3 80c65f4: 607b str r3, [r7, #4] for ( ; btr; /* Repeat until all data read */ 80c65f6: 687b ldr r3, [r7, #4] 80c65f8: 2b00 cmp r3, #0 80c65fa: f47f af0a bne.w 80c6412 #else mem_cpy(rbuff, fp->buf + fp->fptr % SS(fs), rcnt); /* Extract partial sector */ #endif } LEAVE_FF(fs, FR_OK); 80c65fe: 2300 movs r3, #0 } 80c6600: 4618 mov r0, r3 80c6602: 3740 adds r7, #64 ; 0x40 80c6604: 46bd mov sp, r7 80c6606: bdb0 pop {r4, r5, r7, pc} 080c6608 : 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 */ ) { 80c6608: b5b0 push {r4, r5, r7, lr} 80c660a: b08c sub sp, #48 ; 0x30 80c660c: af00 add r7, sp, #0 80c660e: 60f8 str r0, [r7, #12] 80c6610: 60b9 str r1, [r7, #8] 80c6612: 607a str r2, [r7, #4] 80c6614: 603b str r3, [r7, #0] FRESULT res; FATFS *fs; DWORD clst, sect; UINT wcnt, cc, csect; const BYTE *wbuff = (const BYTE*)buff; 80c6616: 68bb ldr r3, [r7, #8] 80c6618: 61fb str r3, [r7, #28] *bw = 0; /* Clear write byte counter */ 80c661a: 683b ldr r3, [r7, #0] 80c661c: 2200 movs r2, #0 80c661e: 601a str r2, [r3, #0] res = validate(&fp->obj, &fs); /* Check validity of the file object */ 80c6620: 68fb ldr r3, [r7, #12] 80c6622: f107 0210 add.w r2, r7, #16 80c6626: 4611 mov r1, r2 80c6628: 4618 mov r0, r3 80c662a: f7ff fbd5 bl 80c5dd8 80c662e: 4603 mov r3, r0 80c6630: f887 302f strb.w r3, [r7, #47] ; 0x2f if (res != FR_OK || (res = (FRESULT)fp->err) != FR_OK) LEAVE_FF(fs, res); /* Check validity */ 80c6634: f897 302f ldrb.w r3, [r7, #47] ; 0x2f 80c6638: 2b00 cmp r3, #0 80c663a: d108 bne.n 80c664e 80c663c: 68fb ldr r3, [r7, #12] 80c663e: f893 3031 ldrb.w r3, [r3, #49] ; 0x31 80c6642: f887 302f strb.w r3, [r7, #47] ; 0x2f 80c6646: f897 302f ldrb.w r3, [r7, #47] ; 0x2f 80c664a: 2b00 cmp r3, #0 80c664c: d002 beq.n 80c6654 80c664e: f897 302f ldrb.w r3, [r7, #47] ; 0x2f 80c6652: e175 b.n 80c6940 if (!(fp->flag & FA_WRITE)) LEAVE_FF(fs, FR_DENIED); /* Check access mode */ 80c6654: 68fb ldr r3, [r7, #12] 80c6656: f893 3030 ldrb.w r3, [r3, #48] ; 0x30 80c665a: f003 0302 and.w r3, r3, #2 80c665e: 2b00 cmp r3, #0 80c6660: d101 bne.n 80c6666 80c6662: 2307 movs r3, #7 80c6664: e16c b.n 80c6940 /* 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) { 80c6666: 693b ldr r3, [r7, #16] 80c6668: 781b ldrb r3, [r3, #0] 80c666a: 2b04 cmp r3, #4 80c666c: f000 8158 beq.w 80c6920 80c6670: 68fb ldr r3, [r7, #12] 80c6672: e9d3 230e ldrd r2, r3, [r3, #56] ; 0x38 80c6676: 687b ldr r3, [r7, #4] 80c6678: 18d1 adds r1, r2, r3 80c667a: 68fb ldr r3, [r7, #12] 80c667c: e9d3 230e ldrd r2, r3, [r3, #56] ; 0x38 80c6680: 4613 mov r3, r2 80c6682: 4299 cmp r1, r3 80c6684: f080 814c bcs.w 80c6920 btw = (UINT)(0xFFFFFFFF - (DWORD)fp->fptr); 80c6688: 68fb ldr r3, [r7, #12] 80c668a: e9d3 230e ldrd r2, r3, [r3, #56] ; 0x38 80c668e: 4613 mov r3, r2 80c6690: 43db mvns r3, r3 80c6692: 607b str r3, [r7, #4] } for ( ; btw; /* Repeat until all data written */ 80c6694: e144 b.n 80c6920 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? */ 80c6696: 68fb ldr r3, [r7, #12] 80c6698: e9d3 230e ldrd r2, r3, [r3, #56] ; 0x38 80c669c: f240 10ff movw r0, #511 ; 0x1ff 80c66a0: f04f 0100 mov.w r1, #0 80c66a4: ea02 0200 and.w r2, r2, r0 80c66a8: ea03 0301 and.w r3, r3, r1 80c66ac: 4313 orrs r3, r2 80c66ae: f040 80dc bne.w 80c686a csect = (UINT)(fp->fptr / SS(fs)) & (fs->csize - 1); /* Sector offset in the cluster */ 80c66b2: 68fb ldr r3, [r7, #12] 80c66b4: e9d3 230e ldrd r2, r3, [r3, #56] ; 0x38 80c66b8: 0a54 lsrs r4, r2, #9 80c66ba: ea44 54c3 orr.w r4, r4, r3, lsl #23 80c66be: 0a5d lsrs r5, r3, #9 80c66c0: 4622 mov r2, r4 80c66c2: 693b ldr r3, [r7, #16] 80c66c4: 895b ldrh r3, [r3, #10] 80c66c6: 3b01 subs r3, #1 80c66c8: 4013 ands r3, r2 80c66ca: 61bb str r3, [r7, #24] if (csect == 0) { /* On the cluster boundary? */ 80c66cc: 69bb ldr r3, [r7, #24] 80c66ce: 2b00 cmp r3, #0 80c66d0: d146 bne.n 80c6760 if (fp->fptr == 0) { /* On the top of the file? */ 80c66d2: 68fb ldr r3, [r7, #12] 80c66d4: e9d3 230e ldrd r2, r3, [r3, #56] ; 0x38 80c66d8: 4313 orrs r3, r2 80c66da: d10c bne.n 80c66f6 clst = fp->obj.sclust; /* Follow from the origin */ 80c66dc: 68fb ldr r3, [r7, #12] 80c66de: 689b ldr r3, [r3, #8] 80c66e0: 62bb str r3, [r7, #40] ; 0x28 if (clst == 0) { /* If no cluster is allocated, */ 80c66e2: 6abb ldr r3, [r7, #40] ; 0x28 80c66e4: 2b00 cmp r3, #0 80c66e6: d11a bne.n 80c671e clst = create_chain(&fp->obj, 0); /* create a new cluster chain */ 80c66e8: 68fb ldr r3, [r7, #12] 80c66ea: 2100 movs r1, #0 80c66ec: 4618 mov r0, r3 80c66ee: f7fd f84d bl 80c378c 80c66f2: 62b8 str r0, [r7, #40] ; 0x28 80c66f4: e013 b.n 80c671e } } else { /* On the middle or end of the file */ #if _USE_FASTSEEK if (fp->cltbl) { 80c66f6: 68fb ldr r3, [r7, #12] 80c66f8: 6d1b ldr r3, [r3, #80] ; 0x50 80c66fa: 2b00 cmp r3, #0 80c66fc: d007 beq.n 80c670e clst = clmt_clust(fp, fp->fptr); /* Get cluster# from the CLMT */ 80c66fe: 68fb ldr r3, [r7, #12] 80c6700: e9d3 230e ldrd r2, r3, [r3, #56] ; 0x38 80c6704: 68f8 ldr r0, [r7, #12] 80c6706: f7fd f942 bl 80c398e 80c670a: 62b8 str r0, [r7, #40] ; 0x28 80c670c: e007 b.n 80c671e } else #endif { clst = create_chain(&fp->obj, fp->clust); /* Follow or stretch cluster chain on the FAT */ 80c670e: 68fa ldr r2, [r7, #12] 80c6710: 68fb ldr r3, [r7, #12] 80c6712: 6c1b ldr r3, [r3, #64] ; 0x40 80c6714: 4619 mov r1, r3 80c6716: 4610 mov r0, r2 80c6718: f7fd f838 bl 80c378c 80c671c: 62b8 str r0, [r7, #40] ; 0x28 } } if (clst == 0) break; /* Could not allocate a new cluster (disk full) */ 80c671e: 6abb ldr r3, [r7, #40] ; 0x28 80c6720: 2b00 cmp r3, #0 80c6722: f000 8102 beq.w 80c692a if (clst == 1) ABORT(fs, FR_INT_ERR); 80c6726: 6abb ldr r3, [r7, #40] ; 0x28 80c6728: 2b01 cmp r3, #1 80c672a: d105 bne.n 80c6738 80c672c: 68fb ldr r3, [r7, #12] 80c672e: 2202 movs r2, #2 80c6730: f883 2031 strb.w r2, [r3, #49] ; 0x31 80c6734: 2302 movs r3, #2 80c6736: e103 b.n 80c6940 if (clst == 0xFFFFFFFF) ABORT(fs, FR_DISK_ERR); 80c6738: 6abb ldr r3, [r7, #40] ; 0x28 80c673a: f1b3 3fff cmp.w r3, #4294967295 80c673e: d105 bne.n 80c674c 80c6740: 68fb ldr r3, [r7, #12] 80c6742: 2201 movs r2, #1 80c6744: f883 2031 strb.w r2, [r3, #49] ; 0x31 80c6748: 2301 movs r3, #1 80c674a: e0f9 b.n 80c6940 fp->clust = clst; /* Update current cluster */ 80c674c: 68fb ldr r3, [r7, #12] 80c674e: 6aba ldr r2, [r7, #40] ; 0x28 80c6750: 641a str r2, [r3, #64] ; 0x40 if (fp->obj.sclust == 0) fp->obj.sclust = clst; /* Set start cluster if the first write */ 80c6752: 68fb ldr r3, [r7, #12] 80c6754: 689b ldr r3, [r3, #8] 80c6756: 2b00 cmp r3, #0 80c6758: d102 bne.n 80c6760 80c675a: 68fb ldr r3, [r7, #12] 80c675c: 6aba ldr r2, [r7, #40] ; 0x28 80c675e: 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 */ 80c6760: 693b ldr r3, [r7, #16] 80c6762: 6b5a ldr r2, [r3, #52] ; 0x34 80c6764: 68fb ldr r3, [r7, #12] 80c6766: 6c5b ldr r3, [r3, #68] ; 0x44 80c6768: 429a cmp r2, r3 80c676a: d10c bne.n 80c6786 80c676c: 693b ldr r3, [r7, #16] 80c676e: 4618 mov r0, r3 80c6770: f7fc fb07 bl 80c2d82 80c6774: 4603 mov r3, r0 80c6776: 2b00 cmp r3, #0 80c6778: d005 beq.n 80c6786 80c677a: 68fb ldr r3, [r7, #12] 80c677c: 2201 movs r2, #1 80c677e: f883 2031 strb.w r2, [r3, #49] ; 0x31 80c6782: 2301 movs r3, #1 80c6784: e0dc b.n 80c6940 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 */ 80c6786: 693a ldr r2, [r7, #16] 80c6788: 68fb ldr r3, [r7, #12] 80c678a: 6c1b ldr r3, [r3, #64] ; 0x40 80c678c: 4619 mov r1, r3 80c678e: 4610 mov r0, r2 80c6790: f7fc fbd6 bl 80c2f40 80c6794: 6178 str r0, [r7, #20] if (!sect) ABORT(fs, FR_INT_ERR); 80c6796: 697b ldr r3, [r7, #20] 80c6798: 2b00 cmp r3, #0 80c679a: d105 bne.n 80c67a8 80c679c: 68fb ldr r3, [r7, #12] 80c679e: 2202 movs r2, #2 80c67a0: f883 2031 strb.w r2, [r3, #49] ; 0x31 80c67a4: 2302 movs r3, #2 80c67a6: e0cb b.n 80c6940 sect += csect; 80c67a8: 697a ldr r2, [r7, #20] 80c67aa: 69bb ldr r3, [r7, #24] 80c67ac: 4413 add r3, r2 80c67ae: 617b str r3, [r7, #20] cc = btw / SS(fs); /* When remaining bytes >= sector size, */ 80c67b0: 687b ldr r3, [r7, #4] 80c67b2: 0a5b lsrs r3, r3, #9 80c67b4: 623b str r3, [r7, #32] if (cc) { /* Write maximum contiguous sectors directly */ 80c67b6: 6a3b ldr r3, [r7, #32] 80c67b8: 2b00 cmp r3, #0 80c67ba: d039 beq.n 80c6830 if (csect + cc > fs->csize) { /* Clip at cluster boundary */ 80c67bc: 69ba ldr r2, [r7, #24] 80c67be: 6a3b ldr r3, [r7, #32] 80c67c0: 4413 add r3, r2 80c67c2: 693a ldr r2, [r7, #16] 80c67c4: 8952 ldrh r2, [r2, #10] 80c67c6: 4293 cmp r3, r2 80c67c8: d905 bls.n 80c67d6 cc = fs->csize - csect; 80c67ca: 693b ldr r3, [r7, #16] 80c67cc: 895b ldrh r3, [r3, #10] 80c67ce: 461a mov r2, r3 80c67d0: 69bb ldr r3, [r7, #24] 80c67d2: 1ad3 subs r3, r2, r3 80c67d4: 623b str r3, [r7, #32] } if (disk_write(fs->drv, wbuff, sect, cc) != RES_OK) ABORT(fs, FR_DISK_ERR); 80c67d6: 693b ldr r3, [r7, #16] 80c67d8: 7858 ldrb r0, [r3, #1] 80c67da: 6a3b ldr r3, [r7, #32] 80c67dc: 697a ldr r2, [r7, #20] 80c67de: 69f9 ldr r1, [r7, #28] 80c67e0: f7fc f852 bl 80c2888 80c67e4: 4603 mov r3, r0 80c67e6: 2b00 cmp r3, #0 80c67e8: d005 beq.n 80c67f6 80c67ea: 68fb ldr r3, [r7, #12] 80c67ec: 2201 movs r2, #1 80c67ee: f883 2031 strb.w r2, [r3, #49] ; 0x31 80c67f2: 2301 movs r3, #1 80c67f4: e0a4 b.n 80c6940 #if _FS_MINIMIZE <= 2 #if _FS_TINY if (fs->winsect - sect < cc) { /* Refill sector cache if it gets invalidated by the direct write */ 80c67f6: 693b ldr r3, [r7, #16] 80c67f8: 6b5a ldr r2, [r3, #52] ; 0x34 80c67fa: 697b ldr r3, [r7, #20] 80c67fc: 1ad2 subs r2, r2, r3 80c67fe: 6a3b ldr r3, [r7, #32] 80c6800: 429a cmp r2, r3 80c6802: d211 bcs.n 80c6828 mem_cpy(fs->win, wbuff + ((fs->winsect - sect) * SS(fs)), SS(fs)); 80c6804: 693b ldr r3, [r7, #16] 80c6806: f103 0038 add.w r0, r3, #56 ; 0x38 80c680a: 693b ldr r3, [r7, #16] 80c680c: 6b5a ldr r2, [r3, #52] ; 0x34 80c680e: 697b ldr r3, [r7, #20] 80c6810: 1ad3 subs r3, r2, r3 80c6812: 025b lsls r3, r3, #9 80c6814: 69fa ldr r2, [r7, #28] 80c6816: 4413 add r3, r2 80c6818: f44f 7200 mov.w r2, #512 ; 0x200 80c681c: 4619 mov r1, r3 80c681e: f7fc fa33 bl 80c2c88 fs->wflag = 0; 80c6822: 693b ldr r3, [r7, #16] 80c6824: 2200 movs r2, #0 80c6826: 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 */ 80c6828: 6a3b ldr r3, [r7, #32] 80c682a: 025b lsls r3, r3, #9 80c682c: 627b str r3, [r7, #36] ; 0x24 continue; 80c682e: e04d b.n 80c68cc } #if _FS_TINY if (fp->fptr >= fp->obj.objsize) { /* Avoid silly cache filling on the growing edge */ 80c6830: 68fb ldr r3, [r7, #12] 80c6832: e9d3 010e ldrd r0, r1, [r3, #56] ; 0x38 80c6836: 68fb ldr r3, [r7, #12] 80c6838: e9d3 2304 ldrd r2, r3, [r3, #16] 80c683c: 4299 cmp r1, r3 80c683e: bf08 it eq 80c6840: 4290 cmpeq r0, r2 80c6842: d30f bcc.n 80c6864 if (sync_window(fs) != FR_OK) ABORT(fs, FR_DISK_ERR); 80c6844: 693b ldr r3, [r7, #16] 80c6846: 4618 mov r0, r3 80c6848: f7fc fa9b bl 80c2d82 80c684c: 4603 mov r3, r0 80c684e: 2b00 cmp r3, #0 80c6850: d005 beq.n 80c685e 80c6852: 68fb ldr r3, [r7, #12] 80c6854: 2201 movs r2, #1 80c6856: f883 2031 strb.w r2, [r3, #49] ; 0x31 80c685a: 2301 movs r3, #1 80c685c: e070 b.n 80c6940 fs->winsect = sect; 80c685e: 693b ldr r3, [r7, #16] 80c6860: 697a ldr r2, [r7, #20] 80c6862: 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; 80c6864: 68fb ldr r3, [r7, #12] 80c6866: 697a ldr r2, [r7, #20] 80c6868: 645a str r2, [r3, #68] ; 0x44 } wcnt = SS(fs) - (UINT)fp->fptr % SS(fs); /* Number of bytes left in the sector */ 80c686a: 68fb ldr r3, [r7, #12] 80c686c: e9d3 230e ldrd r2, r3, [r3, #56] ; 0x38 80c6870: 4613 mov r3, r2 80c6872: f3c3 0308 ubfx r3, r3, #0, #9 80c6876: f5c3 7300 rsb r3, r3, #512 ; 0x200 80c687a: 627b str r3, [r7, #36] ; 0x24 if (wcnt > btw) wcnt = btw; /* Clip it by btw if needed */ 80c687c: 6a7a ldr r2, [r7, #36] ; 0x24 80c687e: 687b ldr r3, [r7, #4] 80c6880: 429a cmp r2, r3 80c6882: d901 bls.n 80c6888 80c6884: 687b ldr r3, [r7, #4] 80c6886: 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 */ 80c6888: 693a ldr r2, [r7, #16] 80c688a: 68fb ldr r3, [r7, #12] 80c688c: 6c5b ldr r3, [r3, #68] ; 0x44 80c688e: 4619 mov r1, r3 80c6890: 4610 mov r0, r2 80c6892: f7fc faba bl 80c2e0a 80c6896: 4603 mov r3, r0 80c6898: 2b00 cmp r3, #0 80c689a: d005 beq.n 80c68a8 80c689c: 68fb ldr r3, [r7, #12] 80c689e: 2201 movs r2, #1 80c68a0: f883 2031 strb.w r2, [r3, #49] ; 0x31 80c68a4: 2301 movs r3, #1 80c68a6: e04b b.n 80c6940 mem_cpy(fs->win + fp->fptr % SS(fs), wbuff, wcnt); /* Fit data to the sector */ 80c68a8: 693b ldr r3, [r7, #16] 80c68aa: f103 0138 add.w r1, r3, #56 ; 0x38 80c68ae: 68fb ldr r3, [r7, #12] 80c68b0: e9d3 230e ldrd r2, r3, [r3, #56] ; 0x38 80c68b4: 4613 mov r3, r2 80c68b6: f3c3 0308 ubfx r3, r3, #0, #9 80c68ba: 440b add r3, r1 80c68bc: 6a7a ldr r2, [r7, #36] ; 0x24 80c68be: 69f9 ldr r1, [r7, #28] 80c68c0: 4618 mov r0, r3 80c68c2: f7fc f9e1 bl 80c2c88 fs->wflag = 1; 80c68c6: 693b ldr r3, [r7, #16] 80c68c8: 2201 movs r2, #1 80c68ca: 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) { 80c68cc: 69fa ldr r2, [r7, #28] 80c68ce: 6a7b ldr r3, [r7, #36] ; 0x24 80c68d0: 4413 add r3, r2 80c68d2: 61fb str r3, [r7, #28] 80c68d4: 68fb ldr r3, [r7, #12] 80c68d6: e9d3 010e ldrd r0, r1, [r3, #56] ; 0x38 80c68da: 6a7b ldr r3, [r7, #36] ; 0x24 80c68dc: 461a mov r2, r3 80c68de: f04f 0300 mov.w r3, #0 80c68e2: 1812 adds r2, r2, r0 80c68e4: eb43 0301 adc.w r3, r3, r1 80c68e8: 68f9 ldr r1, [r7, #12] 80c68ea: e9c1 230e strd r2, r3, [r1, #56] ; 0x38 80c68ee: 68fb ldr r3, [r7, #12] 80c68f0: e9d3 2304 ldrd r2, r3, [r3, #16] 80c68f4: 68f9 ldr r1, [r7, #12] 80c68f6: e9d1 010e ldrd r0, r1, [r1, #56] ; 0x38 80c68fa: 428b cmp r3, r1 80c68fc: bf08 it eq 80c68fe: 4282 cmpeq r2, r0 80c6900: d201 bcs.n 80c6906 80c6902: 4602 mov r2, r0 80c6904: 460b mov r3, r1 80c6906: 68f9 ldr r1, [r7, #12] 80c6908: e9c1 2304 strd r2, r3, [r1, #16] 80c690c: 683b ldr r3, [r7, #0] 80c690e: 681a ldr r2, [r3, #0] 80c6910: 6a7b ldr r3, [r7, #36] ; 0x24 80c6912: 441a add r2, r3 80c6914: 683b ldr r3, [r7, #0] 80c6916: 601a str r2, [r3, #0] 80c6918: 687a ldr r2, [r7, #4] 80c691a: 6a7b ldr r3, [r7, #36] ; 0x24 80c691c: 1ad3 subs r3, r2, r3 80c691e: 607b str r3, [r7, #4] for ( ; btw; /* Repeat until all data written */ 80c6920: 687b ldr r3, [r7, #4] 80c6922: 2b00 cmp r3, #0 80c6924: f47f aeb7 bne.w 80c6696 80c6928: e000 b.n 80c692c if (clst == 0) break; /* Could not allocate a new cluster (disk full) */ 80c692a: 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 */ 80c692c: 68fb ldr r3, [r7, #12] 80c692e: f893 3030 ldrb.w r3, [r3, #48] ; 0x30 80c6932: f043 0340 orr.w r3, r3, #64 ; 0x40 80c6936: b2da uxtb r2, r3 80c6938: 68fb ldr r3, [r7, #12] 80c693a: f883 2030 strb.w r2, [r3, #48] ; 0x30 LEAVE_FF(fs, FR_OK); 80c693e: 2300 movs r3, #0 } 80c6940: 4618 mov r0, r3 80c6942: 3730 adds r7, #48 ; 0x30 80c6944: 46bd mov sp, r7 80c6946: bdb0 pop {r4, r5, r7, pc} 080c6948 : /*-----------------------------------------------------------------------*/ FRESULT f_sync ( FIL* fp /* Pointer to the file object */ ) { 80c6948: b590 push {r4, r7, lr} 80c694a: b09b sub sp, #108 ; 0x6c 80c694c: af00 add r7, sp, #0 80c694e: 6078 str r0, [r7, #4] #if _FS_EXFAT DIR dj; DEF_NAMBUF #endif res = validate(&fp->obj, &fs); /* Check validity of the file object */ 80c6950: 687b ldr r3, [r7, #4] 80c6952: f107 0258 add.w r2, r7, #88 ; 0x58 80c6956: 4611 mov r1, r2 80c6958: 4618 mov r0, r3 80c695a: f7ff fa3d bl 80c5dd8 80c695e: 4603 mov r3, r0 80c6960: f887 3067 strb.w r3, [r7, #103] ; 0x67 if (res == FR_OK) { 80c6964: f897 3067 ldrb.w r3, [r7, #103] ; 0x67 80c6968: 2b00 cmp r3, #0 80c696a: f040 80eb bne.w 80c6b44 if (fp->flag & FA_MODIFIED) { /* Is there any change to the file? */ 80c696e: 687b ldr r3, [r7, #4] 80c6970: f893 3030 ldrb.w r3, [r3, #48] ; 0x30 80c6974: f003 0340 and.w r3, r3, #64 ; 0x40 80c6978: 2b00 cmp r3, #0 80c697a: f000 80e3 beq.w 80c6b44 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 */ 80c697e: f7f8 feb1 bl 80bf6e4 80c6982: 6638 str r0, [r7, #96] ; 0x60 #if _FS_EXFAT if (fs->fs_type == FS_EXFAT) { 80c6984: 6dbb ldr r3, [r7, #88] ; 0x58 80c6986: 781b ldrb r3, [r3, #0] 80c6988: 2b04 cmp r3, #4 80c698a: f040 8090 bne.w 80c6aae res = fill_first_frag(&fp->obj); /* Fill first fragment on the FAT if needed */ 80c698e: 687b ldr r3, [r7, #4] 80c6990: 4618 mov r0, r3 80c6992: f7fc fde7 bl 80c3564 80c6996: 4603 mov r3, r0 80c6998: f887 3067 strb.w r3, [r7, #103] ; 0x67 if (res == FR_OK) { 80c699c: f897 3067 ldrb.w r3, [r7, #103] ; 0x67 80c69a0: 2b00 cmp r3, #0 80c69a2: d10a bne.n 80c69ba res = fill_last_frag(&fp->obj, fp->clust, 0xFFFFFFFF); /* Fill last fragment on the FAT if needed */ 80c69a4: 6878 ldr r0, [r7, #4] 80c69a6: 687b ldr r3, [r7, #4] 80c69a8: 6c1b ldr r3, [r3, #64] ; 0x40 80c69aa: f04f 32ff mov.w r2, #4294967295 80c69ae: 4619 mov r1, r3 80c69b0: f7fc fe07 bl 80c35c2 80c69b4: 4603 mov r3, r0 80c69b6: f887 3067 strb.w r3, [r7, #103] ; 0x67 } if (res == FR_OK) { 80c69ba: f897 3067 ldrb.w r3, [r7, #103] ; 0x67 80c69be: 2b00 cmp r3, #0 80c69c0: f040 80c0 bne.w 80c6b44 INIT_NAMBUF(fs); res = load_obj_dir(&dj, &fp->obj); /* Load directory entry block */ 80c69c4: 687a ldr r2, [r7, #4] 80c69c6: f107 0308 add.w r3, r7, #8 80c69ca: 4611 mov r1, r2 80c69cc: 4618 mov r0, r3 80c69ce: f7fd fdd3 bl 80c4578 80c69d2: 4603 mov r3, r0 80c69d4: f887 3067 strb.w r3, [r7, #103] ; 0x67 if (res == FR_OK) { 80c69d8: f897 3067 ldrb.w r3, [r7, #103] ; 0x67 80c69dc: 2b00 cmp r3, #0 80c69de: f040 80b1 bne.w 80c6b44 fs->dirbuf[XDIR_Attr] |= AM_ARC; /* Set archive bit */ 80c69e2: 6dbb ldr r3, [r7, #88] ; 0x58 80c69e4: 691b ldr r3, [r3, #16] 80c69e6: 3304 adds r3, #4 80c69e8: 6dba ldr r2, [r7, #88] ; 0x58 80c69ea: 6912 ldr r2, [r2, #16] 80c69ec: 3204 adds r2, #4 80c69ee: 7812 ldrb r2, [r2, #0] 80c69f0: f042 0220 orr.w r2, r2, #32 80c69f4: b2d2 uxtb r2, r2 80c69f6: 701a strb r2, [r3, #0] fs->dirbuf[XDIR_GenFlags] = fp->obj.stat | 1; /* Update file allocation info */ 80c69f8: 6dbb ldr r3, [r7, #88] ; 0x58 80c69fa: 691b ldr r3, [r3, #16] 80c69fc: 3321 adds r3, #33 ; 0x21 80c69fe: 687a ldr r2, [r7, #4] 80c6a00: 79d2 ldrb r2, [r2, #7] 80c6a02: f042 0201 orr.w r2, r2, #1 80c6a06: b2d2 uxtb r2, r2 80c6a08: 701a strb r2, [r3, #0] st_dword(fs->dirbuf + XDIR_FstClus, fp->obj.sclust); 80c6a0a: 6dbb ldr r3, [r7, #88] ; 0x58 80c6a0c: 691b ldr r3, [r3, #16] 80c6a0e: f103 0234 add.w r2, r3, #52 ; 0x34 80c6a12: 687b ldr r3, [r7, #4] 80c6a14: 689b ldr r3, [r3, #8] 80c6a16: 4619 mov r1, r3 80c6a18: 4610 mov r0, r2 80c6a1a: f7fc f878 bl 80c2b0e st_qword(fs->dirbuf + XDIR_FileSize, fp->obj.objsize); 80c6a1e: 6dbb ldr r3, [r7, #88] ; 0x58 80c6a20: 691b ldr r3, [r3, #16] 80c6a22: f103 0138 add.w r1, r3, #56 ; 0x38 80c6a26: 687b ldr r3, [r7, #4] 80c6a28: e9d3 3404 ldrd r3, r4, [r3, #16] 80c6a2c: 461a mov r2, r3 80c6a2e: 4623 mov r3, r4 80c6a30: 4608 mov r0, r1 80c6a32: f7fc f898 bl 80c2b66 st_qword(fs->dirbuf + XDIR_ValidFileSize, fp->obj.objsize); 80c6a36: 6dbb ldr r3, [r7, #88] ; 0x58 80c6a38: 691b ldr r3, [r3, #16] 80c6a3a: f103 0128 add.w r1, r3, #40 ; 0x28 80c6a3e: 687b ldr r3, [r7, #4] 80c6a40: e9d3 3404 ldrd r3, r4, [r3, #16] 80c6a44: 461a mov r2, r3 80c6a46: 4623 mov r3, r4 80c6a48: 4608 mov r0, r1 80c6a4a: f7fc f88c bl 80c2b66 st_dword(fs->dirbuf + XDIR_ModTime, tm); /* Update modified time */ 80c6a4e: 6dbb ldr r3, [r7, #88] ; 0x58 80c6a50: 691b ldr r3, [r3, #16] 80c6a52: 330c adds r3, #12 80c6a54: 6e39 ldr r1, [r7, #96] ; 0x60 80c6a56: 4618 mov r0, r3 80c6a58: f7fc f859 bl 80c2b0e fs->dirbuf[XDIR_ModTime10] = 0; 80c6a5c: 6dbb ldr r3, [r7, #88] ; 0x58 80c6a5e: 691b ldr r3, [r3, #16] 80c6a60: 3315 adds r3, #21 80c6a62: 2200 movs r2, #0 80c6a64: 701a strb r2, [r3, #0] st_dword(fs->dirbuf + XDIR_AccTime, 0); 80c6a66: 6dbb ldr r3, [r7, #88] ; 0x58 80c6a68: 691b ldr r3, [r3, #16] 80c6a6a: 3310 adds r3, #16 80c6a6c: 2100 movs r1, #0 80c6a6e: 4618 mov r0, r3 80c6a70: f7fc f84d bl 80c2b0e res = store_xdir(&dj); /* Restore it to the directory */ 80c6a74: f107 0308 add.w r3, r7, #8 80c6a78: 4618 mov r0, r3 80c6a7a: f7fd fdb7 bl 80c45ec 80c6a7e: 4603 mov r3, r0 80c6a80: f887 3067 strb.w r3, [r7, #103] ; 0x67 if (res == FR_OK) { 80c6a84: f897 3067 ldrb.w r3, [r7, #103] ; 0x67 80c6a88: 2b00 cmp r3, #0 80c6a8a: d15b bne.n 80c6b44 res = sync_fs(fs); 80c6a8c: 6dbb ldr r3, [r7, #88] ; 0x58 80c6a8e: 4618 mov r0, r3 80c6a90: f7fc f9e8 bl 80c2e64 80c6a94: 4603 mov r3, r0 80c6a96: f887 3067 strb.w r3, [r7, #103] ; 0x67 fp->flag &= (BYTE)~FA_MODIFIED; 80c6a9a: 687b ldr r3, [r7, #4] 80c6a9c: f893 3030 ldrb.w r3, [r3, #48] ; 0x30 80c6aa0: f023 0340 bic.w r3, r3, #64 ; 0x40 80c6aa4: b2da uxtb r2, r3 80c6aa6: 687b ldr r3, [r7, #4] 80c6aa8: f883 2030 strb.w r2, [r3, #48] ; 0x30 80c6aac: e04a b.n 80c6b44 FREE_NAMBUF(); } } else #endif { res = move_window(fs, fp->dir_sect); 80c6aae: 6dba ldr r2, [r7, #88] ; 0x58 80c6ab0: 687b ldr r3, [r7, #4] 80c6ab2: 6c9b ldr r3, [r3, #72] ; 0x48 80c6ab4: 4619 mov r1, r3 80c6ab6: 4610 mov r0, r2 80c6ab8: f7fc f9a7 bl 80c2e0a 80c6abc: 4603 mov r3, r0 80c6abe: f887 3067 strb.w r3, [r7, #103] ; 0x67 if (res == FR_OK) { 80c6ac2: f897 3067 ldrb.w r3, [r7, #103] ; 0x67 80c6ac6: 2b00 cmp r3, #0 80c6ac8: d13c bne.n 80c6b44 dir = fp->dir_ptr; 80c6aca: 687b ldr r3, [r7, #4] 80c6acc: 6cdb ldr r3, [r3, #76] ; 0x4c 80c6ace: 65fb str r3, [r7, #92] ; 0x5c dir[DIR_Attr] |= AM_ARC; /* Set archive bit */ 80c6ad0: 6dfb ldr r3, [r7, #92] ; 0x5c 80c6ad2: 330b adds r3, #11 80c6ad4: 6dfa ldr r2, [r7, #92] ; 0x5c 80c6ad6: 320b adds r2, #11 80c6ad8: 7812 ldrb r2, [r2, #0] 80c6ada: f042 0220 orr.w r2, r2, #32 80c6ade: b2d2 uxtb r2, r2 80c6ae0: 701a strb r2, [r3, #0] st_clust(fp->obj.fs, dir, fp->obj.sclust); /* Update file allocation info */ 80c6ae2: 687b ldr r3, [r7, #4] 80c6ae4: 6818 ldr r0, [r3, #0] 80c6ae6: 687b ldr r3, [r7, #4] 80c6ae8: 689b ldr r3, [r3, #8] 80c6aea: 461a mov r2, r3 80c6aec: 6df9 ldr r1, [r7, #92] ; 0x5c 80c6aee: f7fd f962 bl 80c3db6 st_dword(dir + DIR_FileSize, (DWORD)fp->obj.objsize); /* Update file size */ 80c6af2: 6dfb ldr r3, [r7, #92] ; 0x5c 80c6af4: f103 021c add.w r2, r3, #28 80c6af8: 687b ldr r3, [r7, #4] 80c6afa: e9d3 3404 ldrd r3, r4, [r3, #16] 80c6afe: 4619 mov r1, r3 80c6b00: 4610 mov r0, r2 80c6b02: f7fc f804 bl 80c2b0e st_dword(dir + DIR_ModTime, tm); /* Update modified time */ 80c6b06: 6dfb ldr r3, [r7, #92] ; 0x5c 80c6b08: 3316 adds r3, #22 80c6b0a: 6e39 ldr r1, [r7, #96] ; 0x60 80c6b0c: 4618 mov r0, r3 80c6b0e: f7fb fffe bl 80c2b0e st_word(dir + DIR_LstAccDate, 0); 80c6b12: 6dfb ldr r3, [r7, #92] ; 0x5c 80c6b14: 3312 adds r3, #18 80c6b16: 2100 movs r1, #0 80c6b18: 4618 mov r0, r3 80c6b1a: f7fb ffdd bl 80c2ad8 fs->wflag = 1; 80c6b1e: 6dbb ldr r3, [r7, #88] ; 0x58 80c6b20: 2201 movs r2, #1 80c6b22: 70da strb r2, [r3, #3] res = sync_fs(fs); /* Restore it to the directory */ 80c6b24: 6dbb ldr r3, [r7, #88] ; 0x58 80c6b26: 4618 mov r0, r3 80c6b28: f7fc f99c bl 80c2e64 80c6b2c: 4603 mov r3, r0 80c6b2e: f887 3067 strb.w r3, [r7, #103] ; 0x67 fp->flag &= (BYTE)~FA_MODIFIED; 80c6b32: 687b ldr r3, [r7, #4] 80c6b34: f893 3030 ldrb.w r3, [r3, #48] ; 0x30 80c6b38: f023 0340 bic.w r3, r3, #64 ; 0x40 80c6b3c: b2da uxtb r2, r3 80c6b3e: 687b ldr r3, [r7, #4] 80c6b40: f883 2030 strb.w r2, [r3, #48] ; 0x30 } } } } LEAVE_FF(fs, res); 80c6b44: f897 3067 ldrb.w r3, [r7, #103] ; 0x67 } 80c6b48: 4618 mov r0, r3 80c6b4a: 376c adds r7, #108 ; 0x6c 80c6b4c: 46bd mov sp, r7 80c6b4e: bd90 pop {r4, r7, pc} 080c6b50 : /*-----------------------------------------------------------------------*/ FRESULT f_close ( FIL* fp /* Pointer to the file object to be closed */ ) { 80c6b50: b580 push {r7, lr} 80c6b52: b084 sub sp, #16 80c6b54: af00 add r7, sp, #0 80c6b56: 6078 str r0, [r7, #4] FRESULT res; FATFS *fs; #if !_FS_READONLY res = f_sync(fp); /* Flush cached data */ 80c6b58: 6878 ldr r0, [r7, #4] 80c6b5a: f7ff fef5 bl 80c6948 80c6b5e: 4603 mov r3, r0 80c6b60: 73fb strb r3, [r7, #15] if (res == FR_OK) 80c6b62: 7bfb ldrb r3, [r7, #15] 80c6b64: 2b00 cmp r3, #0 80c6b66: d10e bne.n 80c6b86 #endif { res = validate(&fp->obj, &fs); /* Lock volume */ 80c6b68: 687b ldr r3, [r7, #4] 80c6b6a: f107 0208 add.w r2, r7, #8 80c6b6e: 4611 mov r1, r2 80c6b70: 4618 mov r0, r3 80c6b72: f7ff f931 bl 80c5dd8 80c6b76: 4603 mov r3, r0 80c6b78: 73fb strb r3, [r7, #15] if (res == FR_OK) { 80c6b7a: 7bfb ldrb r3, [r7, #15] 80c6b7c: 2b00 cmp r3, #0 80c6b7e: d102 bne.n 80c6b86 #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 */ 80c6b80: 687b ldr r3, [r7, #4] 80c6b82: 2200 movs r2, #0 80c6b84: 601a str r2, [r3, #0] #if _FS_REENTRANT unlock_fs(fs, FR_OK); /* Unlock volume */ #endif } } return res; 80c6b86: 7bfb ldrb r3, [r7, #15] } 80c6b88: 4618 mov r0, r3 80c6b8a: 3710 adds r7, #16 80c6b8c: 46bd mov sp, r7 80c6b8e: bd80 pop {r7, pc} 080c6b90 : FRESULT f_lseek ( FIL* fp, /* Pointer to the file object */ FSIZE_t ofs /* File pointer from top of file */ ) { 80c6b90: e92d 43b0 stmdb sp!, {r4, r5, r7, r8, r9, lr} 80c6b94: b094 sub sp, #80 ; 0x50 80c6b96: af00 add r7, sp, #0 80c6b98: 60f8 str r0, [r7, #12] 80c6b9a: 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 */ 80c6b9e: 68fb ldr r3, [r7, #12] 80c6ba0: f107 0210 add.w r2, r7, #16 80c6ba4: 4611 mov r1, r2 80c6ba6: 4618 mov r0, r3 80c6ba8: f7ff f916 bl 80c5dd8 80c6bac: 4603 mov r3, r0 80c6bae: f887 304f strb.w r3, [r7, #79] ; 0x4f if (res == FR_OK) res = (FRESULT)fp->err; 80c6bb2: f897 304f ldrb.w r3, [r7, #79] ; 0x4f 80c6bb6: 2b00 cmp r3, #0 80c6bb8: d104 bne.n 80c6bc4 80c6bba: 68fb ldr r3, [r7, #12] 80c6bbc: f893 3031 ldrb.w r3, [r3, #49] ; 0x31 80c6bc0: f887 304f strb.w r3, [r7, #79] ; 0x4f #if _FS_EXFAT && !_FS_READONLY if (res == FR_OK && fs->fs_type == FS_EXFAT) { 80c6bc4: f897 304f ldrb.w r3, [r7, #79] ; 0x4f 80c6bc8: 2b00 cmp r3, #0 80c6bca: d10e bne.n 80c6bea 80c6bcc: 693b ldr r3, [r7, #16] 80c6bce: 781b ldrb r3, [r3, #0] 80c6bd0: 2b04 cmp r3, #4 80c6bd2: d10a bne.n 80c6bea res = fill_last_frag(&fp->obj, fp->clust, 0xFFFFFFFF); /* Fill last fragment on the FAT if needed */ 80c6bd4: 68f8 ldr r0, [r7, #12] 80c6bd6: 68fb ldr r3, [r7, #12] 80c6bd8: 6c1b ldr r3, [r3, #64] ; 0x40 80c6bda: f04f 32ff mov.w r2, #4294967295 80c6bde: 4619 mov r1, r3 80c6be0: f7fc fcef bl 80c35c2 80c6be4: 4603 mov r3, r0 80c6be6: f887 304f strb.w r3, [r7, #79] ; 0x4f } #endif if (res != FR_OK) LEAVE_FF(fs, res); 80c6bea: f897 304f ldrb.w r3, [r7, #79] ; 0x4f 80c6bee: 2b00 cmp r3, #0 80c6bf0: d002 beq.n 80c6bf8 80c6bf2: f897 304f ldrb.w r3, [r7, #79] ; 0x4f 80c6bf6: e24f b.n 80c7098 #if _USE_FASTSEEK if (fp->cltbl) { /* Fast seek */ 80c6bf8: 68fb ldr r3, [r7, #12] 80c6bfa: 6d1b ldr r3, [r3, #80] ; 0x50 80c6bfc: 2b00 cmp r3, #0 80c6bfe: f000 80c8 beq.w 80c6d92 if (ofs == CREATE_LINKMAP) { /* Create CLMT */ 80c6c02: e897 0018 ldmia.w r7, {r3, r4} 80c6c06: f1b4 3fff cmp.w r4, #4294967295 80c6c0a: bf08 it eq 80c6c0c: f1b3 3fff cmpeq.w r3, #4294967295 80c6c10: d15c bne.n 80c6ccc tbl = fp->cltbl; 80c6c12: 68fb ldr r3, [r7, #12] 80c6c14: 6d1b ldr r3, [r3, #80] ; 0x50 80c6c16: 637b str r3, [r7, #52] ; 0x34 tlen = *tbl++; ulen = 2; /* Given table size and required table size */ 80c6c18: 6b7b ldr r3, [r7, #52] ; 0x34 80c6c1a: 1d1a adds r2, r3, #4 80c6c1c: 637a str r2, [r7, #52] ; 0x34 80c6c1e: 681b ldr r3, [r3, #0] 80c6c20: 633b str r3, [r7, #48] ; 0x30 80c6c22: 2302 movs r3, #2 80c6c24: 63bb str r3, [r7, #56] ; 0x38 cl = fp->obj.sclust; /* Origin of the chain */ 80c6c26: 68fb ldr r3, [r7, #12] 80c6c28: 689b ldr r3, [r3, #8] 80c6c2a: 643b str r3, [r7, #64] ; 0x40 if (cl) { 80c6c2c: 6c3b ldr r3, [r7, #64] ; 0x40 80c6c2e: 2b00 cmp r3, #0 80c6c30: d03c beq.n 80c6cac do { /* Get a fragment */ tcl = cl; ncl = 0; ulen += 2; /* Top, length and used items */ 80c6c32: 6c3b ldr r3, [r7, #64] ; 0x40 80c6c34: 62fb str r3, [r7, #44] ; 0x2c 80c6c36: 2300 movs r3, #0 80c6c38: 63fb str r3, [r7, #60] ; 0x3c 80c6c3a: 6bbb ldr r3, [r7, #56] ; 0x38 80c6c3c: 3302 adds r3, #2 80c6c3e: 63bb str r3, [r7, #56] ; 0x38 do { pcl = cl; ncl++; 80c6c40: 6c3b ldr r3, [r7, #64] ; 0x40 80c6c42: 62bb str r3, [r7, #40] ; 0x28 80c6c44: 6bfb ldr r3, [r7, #60] ; 0x3c 80c6c46: 3301 adds r3, #1 80c6c48: 63fb str r3, [r7, #60] ; 0x3c cl = get_fat(&fp->obj, cl); 80c6c4a: 68fb ldr r3, [r7, #12] 80c6c4c: 6c39 ldr r1, [r7, #64] ; 0x40 80c6c4e: 4618 mov r0, r3 80c6c50: f7fc f996 bl 80c2f80 80c6c54: 6438 str r0, [r7, #64] ; 0x40 if (cl <= 1) ABORT(fs, FR_INT_ERR); 80c6c56: 6c3b ldr r3, [r7, #64] ; 0x40 80c6c58: 2b01 cmp r3, #1 80c6c5a: d805 bhi.n 80c6c68 80c6c5c: 68fb ldr r3, [r7, #12] 80c6c5e: 2202 movs r2, #2 80c6c60: f883 2031 strb.w r2, [r3, #49] ; 0x31 80c6c64: 2302 movs r3, #2 80c6c66: e217 b.n 80c7098 if (cl == 0xFFFFFFFF) ABORT(fs, FR_DISK_ERR); 80c6c68: 6c3b ldr r3, [r7, #64] ; 0x40 80c6c6a: f1b3 3fff cmp.w r3, #4294967295 80c6c6e: d105 bne.n 80c6c7c 80c6c70: 68fb ldr r3, [r7, #12] 80c6c72: 2201 movs r2, #1 80c6c74: f883 2031 strb.w r2, [r3, #49] ; 0x31 80c6c78: 2301 movs r3, #1 80c6c7a: e20d b.n 80c7098 } while (cl == pcl + 1); 80c6c7c: 6abb ldr r3, [r7, #40] ; 0x28 80c6c7e: 1c5a adds r2, r3, #1 80c6c80: 6c3b ldr r3, [r7, #64] ; 0x40 80c6c82: 429a cmp r2, r3 80c6c84: d0dc beq.n 80c6c40 if (ulen <= tlen) { /* Store the length and top of the fragment */ 80c6c86: 6bba ldr r2, [r7, #56] ; 0x38 80c6c88: 6b3b ldr r3, [r7, #48] ; 0x30 80c6c8a: 429a cmp r2, r3 80c6c8c: d809 bhi.n 80c6ca2 *tbl++ = ncl; *tbl++ = tcl; 80c6c8e: 6b7b ldr r3, [r7, #52] ; 0x34 80c6c90: 1d1a adds r2, r3, #4 80c6c92: 637a str r2, [r7, #52] ; 0x34 80c6c94: 6bfa ldr r2, [r7, #60] ; 0x3c 80c6c96: 601a str r2, [r3, #0] 80c6c98: 6b7b ldr r3, [r7, #52] ; 0x34 80c6c9a: 1d1a adds r2, r3, #4 80c6c9c: 637a str r2, [r7, #52] ; 0x34 80c6c9e: 6afa ldr r2, [r7, #44] ; 0x2c 80c6ca0: 601a str r2, [r3, #0] } } while (cl < fs->n_fatent); /* Repeat until end of chain */ 80c6ca2: 693b ldr r3, [r7, #16] 80c6ca4: 69da ldr r2, [r3, #28] 80c6ca6: 6c3b ldr r3, [r7, #64] ; 0x40 80c6ca8: 429a cmp r2, r3 80c6caa: d8c2 bhi.n 80c6c32 } *fp->cltbl = ulen; /* Number of items used */ 80c6cac: 68fb ldr r3, [r7, #12] 80c6cae: 6d1b ldr r3, [r3, #80] ; 0x50 80c6cb0: 6bba ldr r2, [r7, #56] ; 0x38 80c6cb2: 601a str r2, [r3, #0] if (ulen <= tlen) { 80c6cb4: 6bba ldr r2, [r7, #56] ; 0x38 80c6cb6: 6b3b ldr r3, [r7, #48] ; 0x30 80c6cb8: 429a cmp r2, r3 80c6cba: d803 bhi.n 80c6cc4 *tbl = 0; /* Terminate table */ 80c6cbc: 6b7b ldr r3, [r7, #52] ; 0x34 80c6cbe: 2200 movs r2, #0 80c6cc0: 601a str r2, [r3, #0] 80c6cc2: e1e7 b.n 80c7094 } else { res = FR_NOT_ENOUGH_CORE; /* Given table size is smaller than required */ 80c6cc4: 2311 movs r3, #17 80c6cc6: f887 304f strb.w r3, [r7, #79] ; 0x4f 80c6cca: e1e3 b.n 80c7094 } } else { /* Fast seek */ if (ofs > fp->obj.objsize) ofs = fp->obj.objsize; /* Clip offset at the file size */ 80c6ccc: 68fb ldr r3, [r7, #12] 80c6cce: e9d3 1204 ldrd r1, r2, [r3, #16] 80c6cd2: e897 0018 ldmia.w r7, {r3, r4} 80c6cd6: 42a2 cmp r2, r4 80c6cd8: bf08 it eq 80c6cda: 4299 cmpeq r1, r3 80c6cdc: d204 bcs.n 80c6ce8 80c6cde: 68fb ldr r3, [r7, #12] 80c6ce0: e9d3 3404 ldrd r3, r4, [r3, #16] 80c6ce4: e887 0018 stmia.w r7, {r3, r4} fp->fptr = ofs; /* Set file pointer */ 80c6ce8: 68fa ldr r2, [r7, #12] 80c6cea: e897 0018 ldmia.w r7, {r3, r4} 80c6cee: e9c2 340e strd r3, r4, [r2, #56] ; 0x38 if (ofs) { 80c6cf2: e897 0018 ldmia.w r7, {r3, r4} 80c6cf6: 4323 orrs r3, r4 80c6cf8: f000 81cc beq.w 80c7094 fp->clust = clmt_clust(fp, ofs - 1); 80c6cfc: e897 0018 ldmia.w r7, {r3, r4} 80c6d00: f113 33ff adds.w r3, r3, #4294967295 80c6d04: f144 34ff adc.w r4, r4, #4294967295 80c6d08: 461a mov r2, r3 80c6d0a: 4623 mov r3, r4 80c6d0c: 68f8 ldr r0, [r7, #12] 80c6d0e: f7fc fe3e bl 80c398e 80c6d12: 4602 mov r2, r0 80c6d14: 68fb ldr r3, [r7, #12] 80c6d16: 641a str r2, [r3, #64] ; 0x40 dsc = clust2sect(fs, fp->clust); 80c6d18: 693a ldr r2, [r7, #16] 80c6d1a: 68fb ldr r3, [r7, #12] 80c6d1c: 6c1b ldr r3, [r3, #64] ; 0x40 80c6d1e: 4619 mov r1, r3 80c6d20: 4610 mov r0, r2 80c6d22: f7fc f90d bl 80c2f40 80c6d26: 6278 str r0, [r7, #36] ; 0x24 if (!dsc) ABORT(fs, FR_INT_ERR); 80c6d28: 6a7b ldr r3, [r7, #36] ; 0x24 80c6d2a: 2b00 cmp r3, #0 80c6d2c: d105 bne.n 80c6d3a 80c6d2e: 68fb ldr r3, [r7, #12] 80c6d30: 2202 movs r2, #2 80c6d32: f883 2031 strb.w r2, [r3, #49] ; 0x31 80c6d36: 2302 movs r3, #2 80c6d38: e1ae b.n 80c7098 dsc += (DWORD)((ofs - 1) / SS(fs)) & (fs->csize - 1); 80c6d3a: e897 0018 ldmia.w r7, {r3, r4} 80c6d3e: f113 33ff adds.w r3, r3, #4294967295 80c6d42: f144 34ff adc.w r4, r4, #4294967295 80c6d46: ea4f 2853 mov.w r8, r3, lsr #9 80c6d4a: ea48 58c4 orr.w r8, r8, r4, lsl #23 80c6d4e: ea4f 2954 mov.w r9, r4, lsr #9 80c6d52: 4642 mov r2, r8 80c6d54: 693b ldr r3, [r7, #16] 80c6d56: 895b ldrh r3, [r3, #10] 80c6d58: 3b01 subs r3, #1 80c6d5a: 4013 ands r3, r2 80c6d5c: 6a7a ldr r2, [r7, #36] ; 0x24 80c6d5e: 4413 add r3, r2 80c6d60: 627b str r3, [r7, #36] ; 0x24 if (fp->fptr % SS(fs) && dsc != fp->sect) { /* Refill sector cache if needed */ 80c6d62: 68fb ldr r3, [r7, #12] 80c6d64: e9d3 340e ldrd r3, r4, [r3, #56] ; 0x38 80c6d68: f240 11ff movw r1, #511 ; 0x1ff 80c6d6c: f04f 0200 mov.w r2, #0 80c6d70: ea03 0301 and.w r3, r3, r1 80c6d74: ea04 0402 and.w r4, r4, r2 80c6d78: 4323 orrs r3, r4 80c6d7a: f000 818b beq.w 80c7094 80c6d7e: 68fb ldr r3, [r7, #12] 80c6d80: 6c5a ldr r2, [r3, #68] ; 0x44 80c6d82: 6a7b ldr r3, [r7, #36] ; 0x24 80c6d84: 429a cmp r2, r3 80c6d86: f000 8185 beq.w 80c7094 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; 80c6d8a: 68fb ldr r3, [r7, #12] 80c6d8c: 6a7a ldr r2, [r7, #36] ; 0x24 80c6d8e: 645a str r2, [r3, #68] ; 0x44 80c6d90: e180 b.n 80c7094 #endif /* Normal Seek */ { #if _FS_EXFAT if (fs->fs_type != FS_EXFAT && ofs >= 0x100000000) ofs = 0xFFFFFFFF; /* Clip at 4GiB-1 if at FATxx */ 80c6d92: 693b ldr r3, [r7, #16] 80c6d94: 781b ldrb r3, [r3, #0] 80c6d96: 2b04 cmp r3, #4 80c6d98: d00b beq.n 80c6db2 80c6d9a: e9d7 2300 ldrd r2, r3, [r7] 80c6d9e: 2b01 cmp r3, #1 80c6da0: bf08 it eq 80c6da2: 2a00 cmpeq r2, #0 80c6da4: d305 bcc.n 80c6db2 80c6da6: f04f 32ff mov.w r2, #4294967295 80c6daa: f04f 0300 mov.w r3, #0 80c6dae: 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 */ 80c6db2: 68fb ldr r3, [r7, #12] 80c6db4: e9d3 0104 ldrd r0, r1, [r3, #16] 80c6db8: e9d7 2300 ldrd r2, r3, [r7] 80c6dbc: 4299 cmp r1, r3 80c6dbe: bf08 it eq 80c6dc0: 4290 cmpeq r0, r2 80c6dc2: d20b bcs.n 80c6ddc 80c6dc4: 68fb ldr r3, [r7, #12] 80c6dc6: f893 3030 ldrb.w r3, [r3, #48] ; 0x30 80c6dca: f003 0302 and.w r3, r3, #2 80c6dce: 2b00 cmp r3, #0 80c6dd0: d104 bne.n 80c6ddc ofs = fp->obj.objsize; 80c6dd2: 68fb ldr r3, [r7, #12] 80c6dd4: e9d3 2304 ldrd r2, r3, [r3, #16] 80c6dd8: e9c7 2300 strd r2, r3, [r7] } ifptr = fp->fptr; 80c6ddc: 68fb ldr r3, [r7, #12] 80c6dde: e9d3 230e ldrd r2, r3, [r3, #56] ; 0x38 80c6de2: e9c7 2306 strd r2, r3, [r7, #24] fp->fptr = nsect = 0; 80c6de6: 2300 movs r3, #0 80c6de8: 647b str r3, [r7, #68] ; 0x44 80c6dea: 68f9 ldr r1, [r7, #12] 80c6dec: f04f 0200 mov.w r2, #0 80c6df0: f04f 0300 mov.w r3, #0 80c6df4: e9c1 230e strd r2, r3, [r1, #56] ; 0x38 if (ofs) { 80c6df8: e9d7 2300 ldrd r2, r3, [r7] 80c6dfc: 4313 orrs r3, r2 80c6dfe: f000 811b beq.w 80c7038 bcs = (DWORD)fs->csize * SS(fs); /* Cluster size (byte) */ 80c6e02: 693b ldr r3, [r7, #16] 80c6e04: 895b ldrh r3, [r3, #10] 80c6e06: 025b lsls r3, r3, #9 80c6e08: 617b str r3, [r7, #20] if (ifptr > 0 && 80c6e0a: e9d7 2306 ldrd r2, r3, [r7, #24] 80c6e0e: 4313 orrs r3, r2 80c6e10: d045 beq.n 80c6e9e (ofs - 1) / bcs >= (ifptr - 1) / bcs) { /* When seek to same or following cluster, */ 80c6e12: e9d7 2300 ldrd r2, r3, [r7] 80c6e16: f112 30ff adds.w r0, r2, #4294967295 80c6e1a: f143 31ff adc.w r1, r3, #4294967295 80c6e1e: 697b ldr r3, [r7, #20] 80c6e20: 461a mov r2, r3 80c6e22: f04f 0300 mov.w r3, #0 80c6e26: f759 fbe1 bl 80205ec <__aeabi_uldivmod> 80c6e2a: 4602 mov r2, r0 80c6e2c: 460b mov r3, r1 80c6e2e: 4690 mov r8, r2 80c6e30: 4699 mov r9, r3 80c6e32: e9d7 2306 ldrd r2, r3, [r7, #24] 80c6e36: f112 30ff adds.w r0, r2, #4294967295 80c6e3a: f143 31ff adc.w r1, r3, #4294967295 80c6e3e: 697b ldr r3, [r7, #20] 80c6e40: 461a mov r2, r3 80c6e42: f04f 0300 mov.w r3, #0 80c6e46: f759 fbd1 bl 80205ec <__aeabi_uldivmod> 80c6e4a: 4602 mov r2, r0 80c6e4c: 460b mov r3, r1 if (ifptr > 0 && 80c6e4e: 4599 cmp r9, r3 80c6e50: bf08 it eq 80c6e52: 4590 cmpeq r8, r2 80c6e54: d323 bcc.n 80c6e9e fp->fptr = (ifptr - 1) & ~(FSIZE_t)(bcs - 1); /* start from the current cluster */ 80c6e56: e9d7 2306 ldrd r2, r3, [r7, #24] 80c6e5a: f112 30ff adds.w r0, r2, #4294967295 80c6e5e: f143 31ff adc.w r1, r3, #4294967295 80c6e62: 697b ldr r3, [r7, #20] 80c6e64: 3b01 subs r3, #1 80c6e66: 461a mov r2, r3 80c6e68: f04f 0300 mov.w r3, #0 80c6e6c: ea6f 0202 mvn.w r2, r2 80c6e70: ea6f 0303 mvn.w r3, r3 80c6e74: ea02 0200 and.w r2, r2, r0 80c6e78: ea03 0301 and.w r3, r3, r1 80c6e7c: 68f9 ldr r1, [r7, #12] 80c6e7e: e9c1 230e strd r2, r3, [r1, #56] ; 0x38 ofs -= fp->fptr; 80c6e82: 68fb ldr r3, [r7, #12] 80c6e84: e9d3 230e ldrd r2, r3, [r3, #56] ; 0x38 80c6e88: e9d7 0100 ldrd r0, r1, [r7] 80c6e8c: 1a82 subs r2, r0, r2 80c6e8e: eb61 0303 sbc.w r3, r1, r3 80c6e92: e9c7 2300 strd r2, r3, [r7] clst = fp->clust; 80c6e96: 68fb ldr r3, [r7, #12] 80c6e98: 6c1b ldr r3, [r3, #64] ; 0x40 80c6e9a: 64bb str r3, [r7, #72] ; 0x48 80c6e9c: e024 b.n 80c6ee8 } else { /* When seek to back cluster, */ clst = fp->obj.sclust; /* start from the first cluster */ 80c6e9e: 68fb ldr r3, [r7, #12] 80c6ea0: 689b ldr r3, [r3, #8] 80c6ea2: 64bb str r3, [r7, #72] ; 0x48 #if !_FS_READONLY if (clst == 0) { /* If no cluster chain, create a new chain */ 80c6ea4: 6cbb ldr r3, [r7, #72] ; 0x48 80c6ea6: 2b00 cmp r3, #0 80c6ea8: d11b bne.n 80c6ee2 clst = create_chain(&fp->obj, 0); 80c6eaa: 68fb ldr r3, [r7, #12] 80c6eac: 2100 movs r1, #0 80c6eae: 4618 mov r0, r3 80c6eb0: f7fc fc6c bl 80c378c 80c6eb4: 64b8 str r0, [r7, #72] ; 0x48 if (clst == 1) ABORT(fs, FR_INT_ERR); 80c6eb6: 6cbb ldr r3, [r7, #72] ; 0x48 80c6eb8: 2b01 cmp r3, #1 80c6eba: d105 bne.n 80c6ec8 80c6ebc: 68fb ldr r3, [r7, #12] 80c6ebe: 2202 movs r2, #2 80c6ec0: f883 2031 strb.w r2, [r3, #49] ; 0x31 80c6ec4: 2302 movs r3, #2 80c6ec6: e0e7 b.n 80c7098 if (clst == 0xFFFFFFFF) ABORT(fs, FR_DISK_ERR); 80c6ec8: 6cbb ldr r3, [r7, #72] ; 0x48 80c6eca: f1b3 3fff cmp.w r3, #4294967295 80c6ece: d105 bne.n 80c6edc 80c6ed0: 68fb ldr r3, [r7, #12] 80c6ed2: 2201 movs r2, #1 80c6ed4: f883 2031 strb.w r2, [r3, #49] ; 0x31 80c6ed8: 2301 movs r3, #1 80c6eda: e0dd b.n 80c7098 fp->obj.sclust = clst; 80c6edc: 68fb ldr r3, [r7, #12] 80c6ede: 6cba ldr r2, [r7, #72] ; 0x48 80c6ee0: 609a str r2, [r3, #8] } #endif fp->clust = clst; 80c6ee2: 68fb ldr r3, [r7, #12] 80c6ee4: 6cba ldr r2, [r7, #72] ; 0x48 80c6ee6: 641a str r2, [r3, #64] ; 0x40 } if (clst != 0) { 80c6ee8: 6cbb ldr r3, [r7, #72] ; 0x48 80c6eea: 2b00 cmp r3, #0 80c6eec: f000 80a4 beq.w 80c7038 while (ofs > bcs) { /* Cluster following loop */ 80c6ef0: e068 b.n 80c6fc4 ofs -= bcs; fp->fptr += bcs; 80c6ef2: 697b ldr r3, [r7, #20] 80c6ef4: 461a mov r2, r3 80c6ef6: f04f 0300 mov.w r3, #0 80c6efa: e9d7 0100 ldrd r0, r1, [r7] 80c6efe: 1a82 subs r2, r0, r2 80c6f00: eb61 0303 sbc.w r3, r1, r3 80c6f04: e9c7 2300 strd r2, r3, [r7] 80c6f08: 68fb ldr r3, [r7, #12] 80c6f0a: e9d3 010e ldrd r0, r1, [r3, #56] ; 0x38 80c6f0e: 697b ldr r3, [r7, #20] 80c6f10: 461a mov r2, r3 80c6f12: f04f 0300 mov.w r3, #0 80c6f16: 1812 adds r2, r2, r0 80c6f18: eb43 0301 adc.w r3, r3, r1 80c6f1c: 68f9 ldr r1, [r7, #12] 80c6f1e: e9c1 230e strd r2, r3, [r1, #56] ; 0x38 #if !_FS_READONLY if (fp->flag & FA_WRITE) { /* Check if in write mode or not */ 80c6f22: 68fb ldr r3, [r7, #12] 80c6f24: f893 3030 ldrb.w r3, [r3, #48] ; 0x30 80c6f28: f003 0302 and.w r3, r3, #2 80c6f2c: 2b00 cmp r3, #0 80c6f2e: d028 beq.n 80c6f82 if (_FS_EXFAT && fp->fptr > fp->obj.objsize) { /* No FAT chain object needs correct objsize to generate FAT value */ 80c6f30: 68fb ldr r3, [r7, #12] 80c6f32: e9d3 230e ldrd r2, r3, [r3, #56] ; 0x38 80c6f36: 68f9 ldr r1, [r7, #12] 80c6f38: e9d1 0104 ldrd r0, r1, [r1, #16] 80c6f3c: 4299 cmp r1, r3 80c6f3e: bf08 it eq 80c6f40: 4290 cmpeq r0, r2 80c6f42: d20e bcs.n 80c6f62 fp->obj.objsize = fp->fptr; 80c6f44: 68fb ldr r3, [r7, #12] 80c6f46: e9d3 230e ldrd r2, r3, [r3, #56] ; 0x38 80c6f4a: 68f9 ldr r1, [r7, #12] 80c6f4c: e9c1 2304 strd r2, r3, [r1, #16] fp->flag |= FA_MODIFIED; 80c6f50: 68fb ldr r3, [r7, #12] 80c6f52: f893 3030 ldrb.w r3, [r3, #48] ; 0x30 80c6f56: f043 0340 orr.w r3, r3, #64 ; 0x40 80c6f5a: b2da uxtb r2, r3 80c6f5c: 68fb ldr r3, [r7, #12] 80c6f5e: f883 2030 strb.w r2, [r3, #48] ; 0x30 } clst = create_chain(&fp->obj, clst); /* Follow chain with forceed stretch */ 80c6f62: 68fb ldr r3, [r7, #12] 80c6f64: 6cb9 ldr r1, [r7, #72] ; 0x48 80c6f66: 4618 mov r0, r3 80c6f68: f7fc fc10 bl 80c378c 80c6f6c: 64b8 str r0, [r7, #72] ; 0x48 if (clst == 0) { /* Clip file size in case of disk full */ 80c6f6e: 6cbb ldr r3, [r7, #72] ; 0x48 80c6f70: 2b00 cmp r3, #0 80c6f72: d10c bne.n 80c6f8e ofs = 0; break; 80c6f74: f04f 0200 mov.w r2, #0 80c6f78: f04f 0300 mov.w r3, #0 80c6f7c: e9c7 2300 strd r2, r3, [r7] 80c6f80: e02a b.n 80c6fd8 } } else #endif { clst = get_fat(&fp->obj, clst); /* Follow cluster chain if not in write mode */ 80c6f82: 68fb ldr r3, [r7, #12] 80c6f84: 6cb9 ldr r1, [r7, #72] ; 0x48 80c6f86: 4618 mov r0, r3 80c6f88: f7fb fffa bl 80c2f80 80c6f8c: 64b8 str r0, [r7, #72] ; 0x48 } if (clst == 0xFFFFFFFF) ABORT(fs, FR_DISK_ERR); 80c6f8e: 6cbb ldr r3, [r7, #72] ; 0x48 80c6f90: f1b3 3fff cmp.w r3, #4294967295 80c6f94: d105 bne.n 80c6fa2 80c6f96: 68fb ldr r3, [r7, #12] 80c6f98: 2201 movs r2, #1 80c6f9a: f883 2031 strb.w r2, [r3, #49] ; 0x31 80c6f9e: 2301 movs r3, #1 80c6fa0: e07a b.n 80c7098 if (clst <= 1 || clst >= fs->n_fatent) ABORT(fs, FR_INT_ERR); 80c6fa2: 6cbb ldr r3, [r7, #72] ; 0x48 80c6fa4: 2b01 cmp r3, #1 80c6fa6: d904 bls.n 80c6fb2 80c6fa8: 693b ldr r3, [r7, #16] 80c6faa: 69da ldr r2, [r3, #28] 80c6fac: 6cbb ldr r3, [r7, #72] ; 0x48 80c6fae: 429a cmp r2, r3 80c6fb0: d805 bhi.n 80c6fbe 80c6fb2: 68fb ldr r3, [r7, #12] 80c6fb4: 2202 movs r2, #2 80c6fb6: f883 2031 strb.w r2, [r3, #49] ; 0x31 80c6fba: 2302 movs r3, #2 80c6fbc: e06c b.n 80c7098 fp->clust = clst; 80c6fbe: 68fb ldr r3, [r7, #12] 80c6fc0: 6cba ldr r2, [r7, #72] ; 0x48 80c6fc2: 641a str r2, [r3, #64] ; 0x40 while (ofs > bcs) { /* Cluster following loop */ 80c6fc4: 697b ldr r3, [r7, #20] 80c6fc6: 4618 mov r0, r3 80c6fc8: f04f 0100 mov.w r1, #0 80c6fcc: e9d7 2300 ldrd r2, r3, [r7] 80c6fd0: 4299 cmp r1, r3 80c6fd2: bf08 it eq 80c6fd4: 4290 cmpeq r0, r2 80c6fd6: d38c bcc.n 80c6ef2 } fp->fptr += ofs; 80c6fd8: 68fb ldr r3, [r7, #12] 80c6fda: e9d3 010e ldrd r0, r1, [r3, #56] ; 0x38 80c6fde: e9d7 2300 ldrd r2, r3, [r7] 80c6fe2: 1812 adds r2, r2, r0 80c6fe4: eb43 0301 adc.w r3, r3, r1 80c6fe8: 68f9 ldr r1, [r7, #12] 80c6fea: e9c1 230e strd r2, r3, [r1, #56] ; 0x38 if (ofs % SS(fs)) { 80c6fee: e9d7 2300 ldrd r2, r3, [r7] 80c6ff2: f240 10ff movw r0, #511 ; 0x1ff 80c6ff6: f04f 0100 mov.w r1, #0 80c6ffa: ea02 0200 and.w r2, r2, r0 80c6ffe: ea03 0301 and.w r3, r3, r1 80c7002: 4313 orrs r3, r2 80c7004: d018 beq.n 80c7038 nsect = clust2sect(fs, clst); /* Current sector */ 80c7006: 693b ldr r3, [r7, #16] 80c7008: 6cb9 ldr r1, [r7, #72] ; 0x48 80c700a: 4618 mov r0, r3 80c700c: f7fb ff98 bl 80c2f40 80c7010: 6478 str r0, [r7, #68] ; 0x44 if (!nsect) ABORT(fs, FR_INT_ERR); 80c7012: 6c7b ldr r3, [r7, #68] ; 0x44 80c7014: 2b00 cmp r3, #0 80c7016: d105 bne.n 80c7024 80c7018: 68fb ldr r3, [r7, #12] 80c701a: 2202 movs r2, #2 80c701c: f883 2031 strb.w r2, [r3, #49] ; 0x31 80c7020: 2302 movs r3, #2 80c7022: e039 b.n 80c7098 nsect += (DWORD)(ofs / SS(fs)); 80c7024: e9d7 2300 ldrd r2, r3, [r7] 80c7028: 0a54 lsrs r4, r2, #9 80c702a: ea44 54c3 orr.w r4, r4, r3, lsl #23 80c702e: 0a5d lsrs r5, r3, #9 80c7030: 4622 mov r2, r4 80c7032: 6c7b ldr r3, [r7, #68] ; 0x44 80c7034: 4413 add r3, r2 80c7036: 647b str r3, [r7, #68] ; 0x44 } } } if (!_FS_READONLY && fp->fptr > fp->obj.objsize) { /* Set file change flag if the file size is extended */ 80c7038: 68fb ldr r3, [r7, #12] 80c703a: e9d3 340e ldrd r3, r4, [r3, #56] ; 0x38 80c703e: 68fa ldr r2, [r7, #12] 80c7040: e9d2 1204 ldrd r1, r2, [r2, #16] 80c7044: 42a2 cmp r2, r4 80c7046: bf08 it eq 80c7048: 4299 cmpeq r1, r3 80c704a: d20e bcs.n 80c706a fp->obj.objsize = fp->fptr; 80c704c: 68fb ldr r3, [r7, #12] 80c704e: e9d3 340e ldrd r3, r4, [r3, #56] ; 0x38 80c7052: 68fa ldr r2, [r7, #12] 80c7054: e9c2 3404 strd r3, r4, [r2, #16] fp->flag |= FA_MODIFIED; 80c7058: 68fb ldr r3, [r7, #12] 80c705a: f893 3030 ldrb.w r3, [r3, #48] ; 0x30 80c705e: f043 0340 orr.w r3, r3, #64 ; 0x40 80c7062: b2da uxtb r2, r3 80c7064: 68fb ldr r3, [r7, #12] 80c7066: f883 2030 strb.w r2, [r3, #48] ; 0x30 } if (fp->fptr % SS(fs) && nsect != fp->sect) { /* Fill sector cache if needed */ 80c706a: 68fb ldr r3, [r7, #12] 80c706c: e9d3 340e ldrd r3, r4, [r3, #56] ; 0x38 80c7070: f240 11ff movw r1, #511 ; 0x1ff 80c7074: f04f 0200 mov.w r2, #0 80c7078: ea03 0301 and.w r3, r3, r1 80c707c: ea04 0402 and.w r4, r4, r2 80c7080: 4323 orrs r3, r4 80c7082: d007 beq.n 80c7094 80c7084: 68fb ldr r3, [r7, #12] 80c7086: 6c5a ldr r2, [r3, #68] ; 0x44 80c7088: 6c7b ldr r3, [r7, #68] ; 0x44 80c708a: 429a cmp r2, r3 80c708c: d002 beq.n 80c7094 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; 80c708e: 68fb ldr r3, [r7, #12] 80c7090: 6c7a ldr r2, [r7, #68] ; 0x44 80c7092: 645a str r2, [r3, #68] ; 0x44 } } LEAVE_FF(fs, res); 80c7094: f897 304f ldrb.w r3, [r7, #79] ; 0x4f } 80c7098: 4618 mov r0, r3 80c709a: 3750 adds r7, #80 ; 0x50 80c709c: 46bd mov sp, r7 80c709e: e8bd 83b0 ldmia.w sp!, {r4, r5, r7, r8, r9, pc} 080c70a2 : FRESULT f_opendir ( DIR* dp, /* Pointer to directory object to create */ const TCHAR* path /* Pointer to the directory path */ ) { 80c70a2: b590 push {r4, r7, lr} 80c70a4: b087 sub sp, #28 80c70a6: af00 add r7, sp, #0 80c70a8: 6078 str r0, [r7, #4] 80c70aa: 6039 str r1, [r7, #0] FATFS *fs; _FDID *obj; DEF_NAMBUF if (!dp) return FR_INVALID_OBJECT; 80c70ac: 687b ldr r3, [r7, #4] 80c70ae: 2b00 cmp r3, #0 80c70b0: d101 bne.n 80c70b6 80c70b2: 2309 movs r3, #9 80c70b4: e080 b.n 80c71b8 /* Get logical drive */ obj = &dp->obj; 80c70b6: 687b ldr r3, [r7, #4] 80c70b8: 613b str r3, [r7, #16] res = find_volume(&path, &fs, 0); 80c70ba: f107 010c add.w r1, r7, #12 80c70be: 463b mov r3, r7 80c70c0: 2200 movs r2, #0 80c70c2: 4618 mov r0, r3 80c70c4: f7fe fb3e bl 80c5744 80c70c8: 4603 mov r3, r0 80c70ca: 75fb strb r3, [r7, #23] if (res == FR_OK) { 80c70cc: 7dfb ldrb r3, [r7, #23] 80c70ce: 2b00 cmp r3, #0 80c70d0: d16b bne.n 80c71aa obj->fs = fs; 80c70d2: 68fa ldr r2, [r7, #12] 80c70d4: 693b ldr r3, [r7, #16] 80c70d6: 601a str r2, [r3, #0] INIT_NAMBUF(fs); res = follow_path(dp, path); /* Follow the path to the directory */ 80c70d8: 683b ldr r3, [r7, #0] 80c70da: 4619 mov r1, r3 80c70dc: 6878 ldr r0, [r7, #4] 80c70de: f7fe f9e1 bl 80c54a4 80c70e2: 4603 mov r3, r0 80c70e4: 75fb strb r3, [r7, #23] if (res == FR_OK) { /* Follow completed */ 80c70e6: 7dfb ldrb r3, [r7, #23] 80c70e8: 2b00 cmp r3, #0 80c70ea: d159 bne.n 80c71a0 if (!(dp->fn[NSFLAG] & NS_NONAME)) { /* It is not the origin directory itself */ 80c70ec: 687b ldr r3, [r7, #4] 80c70ee: f893 304b ldrb.w r3, [r3, #75] ; 0x4b 80c70f2: b25b sxtb r3, r3 80c70f4: 2b00 cmp r3, #0 80c70f6: db46 blt.n 80c7186 if (obj->attr & AM_DIR) { /* This object is a sub-directory */ 80c70f8: 693b ldr r3, [r7, #16] 80c70fa: 799b ldrb r3, [r3, #6] 80c70fc: f003 0310 and.w r3, r3, #16 80c7100: 2b00 cmp r3, #0 80c7102: d03e beq.n 80c7182 #if _FS_EXFAT if (fs->fs_type == FS_EXFAT) { 80c7104: 68fb ldr r3, [r7, #12] 80c7106: 781b ldrb r3, [r3, #0] 80c7108: 2b04 cmp r3, #4 80c710a: d12f bne.n 80c716c obj->c_scl = obj->sclust; /* Get containing directory inforamation */ 80c710c: 693b ldr r3, [r7, #16] 80c710e: 689a ldr r2, [r3, #8] 80c7110: 693b ldr r3, [r7, #16] 80c7112: 621a str r2, [r3, #32] obj->c_size = ((DWORD)obj->objsize & 0xFFFFFF00) | obj->stat; 80c7114: 693b ldr r3, [r7, #16] 80c7116: e9d3 3404 ldrd r3, r4, [r3, #16] 80c711a: f023 03ff bic.w r3, r3, #255 ; 0xff 80c711e: 693a ldr r2, [r7, #16] 80c7120: 79d2 ldrb r2, [r2, #7] 80c7122: 431a orrs r2, r3 80c7124: 693b ldr r3, [r7, #16] 80c7126: 625a str r2, [r3, #36] ; 0x24 obj->c_ofs = dp->blk_ofs; 80c7128: 687b ldr r3, [r7, #4] 80c712a: 6cda ldr r2, [r3, #76] ; 0x4c 80c712c: 693b ldr r3, [r7, #16] 80c712e: 629a str r2, [r3, #40] ; 0x28 obj->sclust = ld_dword(fs->dirbuf + XDIR_FstClus); /* Get object allocation info */ 80c7130: 68fb ldr r3, [r7, #12] 80c7132: 691b ldr r3, [r3, #16] 80c7134: 3334 adds r3, #52 ; 0x34 80c7136: 4618 mov r0, r3 80c7138: f7fb fbfc bl 80c2934 80c713c: 4602 mov r2, r0 80c713e: 693b ldr r3, [r7, #16] 80c7140: 609a str r2, [r3, #8] obj->objsize = ld_qword(fs->dirbuf + XDIR_FileSize); 80c7142: 68fb ldr r3, [r7, #12] 80c7144: 691b ldr r3, [r3, #16] 80c7146: 3338 adds r3, #56 ; 0x38 80c7148: 4618 mov r0, r3 80c714a: f7fb fc16 bl 80c297a 80c714e: 4603 mov r3, r0 80c7150: 460c mov r4, r1 80c7152: 693a ldr r2, [r7, #16] 80c7154: e9c2 3404 strd r3, r4, [r2, #16] obj->stat = fs->dirbuf[XDIR_GenFlags] & 2; 80c7158: 68fb ldr r3, [r7, #12] 80c715a: 691b ldr r3, [r3, #16] 80c715c: 3321 adds r3, #33 ; 0x21 80c715e: 781b ldrb r3, [r3, #0] 80c7160: f003 0302 and.w r3, r3, #2 80c7164: b2da uxtb r2, r3 80c7166: 693b ldr r3, [r7, #16] 80c7168: 71da strb r2, [r3, #7] 80c716a: e00c b.n 80c7186 } else #endif { obj->sclust = ld_clust(fs, dp->dir); /* Get object allocation info */ 80c716c: 68fa ldr r2, [r7, #12] 80c716e: 687b ldr r3, [r7, #4] 80c7170: 6bdb ldr r3, [r3, #60] ; 0x3c 80c7172: 4619 mov r1, r3 80c7174: 4610 mov r0, r2 80c7176: f7fc fdff bl 80c3d78 80c717a: 4602 mov r2, r0 80c717c: 693b ldr r3, [r7, #16] 80c717e: 609a str r2, [r3, #8] 80c7180: e001 b.n 80c7186 } } else { /* This object is a file */ res = FR_NO_PATH; 80c7182: 2305 movs r3, #5 80c7184: 75fb strb r3, [r7, #23] } } if (res == FR_OK) { 80c7186: 7dfb ldrb r3, [r7, #23] 80c7188: 2b00 cmp r3, #0 80c718a: d109 bne.n 80c71a0 obj->id = fs->id; 80c718c: 68fb ldr r3, [r7, #12] 80c718e: 88da ldrh r2, [r3, #6] 80c7190: 693b ldr r3, [r7, #16] 80c7192: 809a strh r2, [r3, #4] res = dir_sdi(dp, 0); /* Rewind directory */ 80c7194: 2100 movs r1, #0 80c7196: 6878 ldr r0, [r7, #4] 80c7198: f7fc fc37 bl 80c3a0a 80c719c: 4603 mov r3, r0 80c719e: 75fb strb r3, [r7, #23] } #endif } } FREE_NAMBUF(); if (res == FR_NO_FILE) res = FR_NO_PATH; 80c71a0: 7dfb ldrb r3, [r7, #23] 80c71a2: 2b04 cmp r3, #4 80c71a4: d101 bne.n 80c71aa 80c71a6: 2305 movs r3, #5 80c71a8: 75fb strb r3, [r7, #23] } if (res != FR_OK) obj->fs = 0; /* Invalidate the directory object if function faild */ 80c71aa: 7dfb ldrb r3, [r7, #23] 80c71ac: 2b00 cmp r3, #0 80c71ae: d002 beq.n 80c71b6 80c71b0: 693b ldr r3, [r7, #16] 80c71b2: 2200 movs r2, #0 80c71b4: 601a str r2, [r3, #0] LEAVE_FF(fs, res); 80c71b6: 7dfb ldrb r3, [r7, #23] } 80c71b8: 4618 mov r0, r3 80c71ba: 371c adds r7, #28 80c71bc: 46bd mov sp, r7 80c71be: bd90 pop {r4, r7, pc} 080c71c0 : /*-----------------------------------------------------------------------*/ FRESULT f_closedir ( DIR *dp /* Pointer to the directory object to be closed */ ) { 80c71c0: b580 push {r7, lr} 80c71c2: b084 sub sp, #16 80c71c4: af00 add r7, sp, #0 80c71c6: 6078 str r0, [r7, #4] FRESULT res; FATFS *fs; res = validate(&dp->obj, &fs); /* Check validity of the file object */ 80c71c8: 687b ldr r3, [r7, #4] 80c71ca: f107 0208 add.w r2, r7, #8 80c71ce: 4611 mov r1, r2 80c71d0: 4618 mov r0, r3 80c71d2: f7fe fe01 bl 80c5dd8 80c71d6: 4603 mov r3, r0 80c71d8: 73fb strb r3, [r7, #15] if (res == FR_OK) { 80c71da: 7bfb ldrb r3, [r7, #15] 80c71dc: 2b00 cmp r3, #0 80c71de: d102 bne.n 80c71e6 res = dec_lock(dp->obj.lockid); } if (res == FR_OK) #endif { dp->obj.fs = 0; /* Invalidate directory object */ 80c71e0: 687b ldr r3, [r7, #4] 80c71e2: 2200 movs r2, #0 80c71e4: 601a str r2, [r3, #0] } #if _FS_REENTRANT unlock_fs(fs, FR_OK); /* Unlock volume */ #endif } return res; 80c71e6: 7bfb ldrb r3, [r7, #15] } 80c71e8: 4618 mov r0, r3 80c71ea: 3710 adds r7, #16 80c71ec: 46bd mov sp, r7 80c71ee: bd80 pop {r7, pc} 080c71f0 : FRESULT f_readdir ( DIR* dp, /* Pointer to the open directory object */ FILINFO* fno /* Pointer to file information to return */ ) { 80c71f0: b580 push {r7, lr} 80c71f2: b084 sub sp, #16 80c71f4: af00 add r7, sp, #0 80c71f6: 6078 str r0, [r7, #4] 80c71f8: 6039 str r1, [r7, #0] FRESULT res; FATFS *fs; DEF_NAMBUF res = validate(&dp->obj, &fs); /* Check validity of the directory object */ 80c71fa: 687b ldr r3, [r7, #4] 80c71fc: f107 0208 add.w r2, r7, #8 80c7200: 4611 mov r1, r2 80c7202: 4618 mov r0, r3 80c7204: f7fe fde8 bl 80c5dd8 80c7208: 4603 mov r3, r0 80c720a: 73fb strb r3, [r7, #15] if (res == FR_OK) { 80c720c: 7bfb ldrb r3, [r7, #15] 80c720e: 2b00 cmp r3, #0 80c7210: d126 bne.n 80c7260 if (!fno) { 80c7212: 683b ldr r3, [r7, #0] 80c7214: 2b00 cmp r3, #0 80c7216: d106 bne.n 80c7226 res = dir_sdi(dp, 0); /* Rewind the directory object */ 80c7218: 2100 movs r1, #0 80c721a: 6878 ldr r0, [r7, #4] 80c721c: f7fc fbf5 bl 80c3a0a 80c7220: 4603 mov r3, r0 80c7222: 73fb strb r3, [r7, #15] 80c7224: e01c b.n 80c7260 } else { INIT_NAMBUF(fs); res = dir_read(dp, 0); /* Read an item */ 80c7226: 2100 movs r1, #0 80c7228: 6878 ldr r0, [r7, #4] 80c722a: f7fd faa1 bl 80c4770 80c722e: 4603 mov r3, r0 80c7230: 73fb strb r3, [r7, #15] if (res == FR_NO_FILE) res = FR_OK; /* Ignore end of directory */ 80c7232: 7bfb ldrb r3, [r7, #15] 80c7234: 2b04 cmp r3, #4 80c7236: d101 bne.n 80c723c 80c7238: 2300 movs r3, #0 80c723a: 73fb strb r3, [r7, #15] if (res == FR_OK) { /* A valid entry is found */ 80c723c: 7bfb ldrb r3, [r7, #15] 80c723e: 2b00 cmp r3, #0 80c7240: d10e bne.n 80c7260 get_fileinfo(dp, fno); /* Get the object information */ 80c7242: 6839 ldr r1, [r7, #0] 80c7244: 6878 ldr r0, [r7, #4] 80c7246: f7fd fe89 bl 80c4f5c res = dir_next(dp, 0); /* Increment index for next */ 80c724a: 2100 movs r1, #0 80c724c: 6878 ldr r0, [r7, #4] 80c724e: f7fc fc62 bl 80c3b16 80c7252: 4603 mov r3, r0 80c7254: 73fb strb r3, [r7, #15] if (res == FR_NO_FILE) res = FR_OK; /* Ignore end of directory now */ 80c7256: 7bfb ldrb r3, [r7, #15] 80c7258: 2b04 cmp r3, #4 80c725a: d101 bne.n 80c7260 80c725c: 2300 movs r3, #0 80c725e: 73fb strb r3, [r7, #15] } FREE_NAMBUF(); } } LEAVE_FF(fs, res); 80c7260: 7bfb ldrb r3, [r7, #15] } 80c7262: 4618 mov r0, r3 80c7264: 3710 adds r7, #16 80c7266: 46bd mov sp, r7 80c7268: bd80 pop {r7, pc} 080c726a : 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 */ ) { 80c726a: b580 push {r7, lr} 80c726c: b09a sub sp, #104 ; 0x68 80c726e: af00 add r7, sp, #0 80c7270: 60f8 str r0, [r7, #12] 80c7272: 60b9 str r1, [r7, #8] 80c7274: 607a str r2, [r7, #4] BYTE *p; _FDID obj; /* Get logical drive */ res = find_volume(&path, &fs, 0); 80c7276: f107 0140 add.w r1, r7, #64 ; 0x40 80c727a: f107 030c add.w r3, r7, #12 80c727e: 2200 movs r2, #0 80c7280: 4618 mov r0, r3 80c7282: f7fe fa5f bl 80c5744 80c7286: 4603 mov r3, r0 80c7288: f887 3067 strb.w r3, [r7, #103] ; 0x67 if (res == FR_OK) { 80c728c: f897 3067 ldrb.w r3, [r7, #103] ; 0x67 80c7290: 2b00 cmp r3, #0 80c7292: f040 80e6 bne.w 80c7462 *fatfs = fs; /* Return ptr to the fs object */ 80c7296: 6c3a ldr r2, [r7, #64] ; 0x40 80c7298: 687b ldr r3, [r7, #4] 80c729a: 601a str r2, [r3, #0] /* If free_clst is valid, return it without full cluster scan */ if (fs->free_clst <= fs->n_fatent - 2) { 80c729c: 6c3b ldr r3, [r7, #64] ; 0x40 80c729e: 699a ldr r2, [r3, #24] 80c72a0: 6c3b ldr r3, [r7, #64] ; 0x40 80c72a2: 69db ldr r3, [r3, #28] 80c72a4: 3b02 subs r3, #2 80c72a6: 429a cmp r2, r3 80c72a8: d804 bhi.n 80c72b4 *nclst = fs->free_clst; 80c72aa: 6c3b ldr r3, [r7, #64] ; 0x40 80c72ac: 699a ldr r2, [r3, #24] 80c72ae: 68bb ldr r3, [r7, #8] 80c72b0: 601a str r2, [r3, #0] 80c72b2: e0d6 b.n 80c7462 } else { /* Get number of free clusters */ nfree = 0; 80c72b4: 2300 movs r3, #0 80c72b6: 663b str r3, [r7, #96] ; 0x60 if (fs->fs_type == FS_FAT12) { /* FAT12: Sector unalighed FAT entries */ 80c72b8: 6c3b ldr r3, [r7, #64] ; 0x40 80c72ba: 781b ldrb r3, [r3, #0] 80c72bc: 2b01 cmp r3, #1 80c72be: d128 bne.n 80c7312 clst = 2; obj.fs = fs; 80c72c0: 2302 movs r3, #2 80c72c2: 65fb str r3, [r7, #92] ; 0x5c 80c72c4: 6c3b ldr r3, [r7, #64] ; 0x40 80c72c6: 613b str r3, [r7, #16] do { stat = get_fat(&obj, clst); 80c72c8: f107 0310 add.w r3, r7, #16 80c72cc: 6df9 ldr r1, [r7, #92] ; 0x5c 80c72ce: 4618 mov r0, r3 80c72d0: f7fb fe56 bl 80c2f80 80c72d4: 6478 str r0, [r7, #68] ; 0x44 if (stat == 0xFFFFFFFF) { res = FR_DISK_ERR; break; } 80c72d6: 6c7b ldr r3, [r7, #68] ; 0x44 80c72d8: f1b3 3fff cmp.w r3, #4294967295 80c72dc: d103 bne.n 80c72e6 80c72de: 2301 movs r3, #1 80c72e0: f887 3067 strb.w r3, [r7, #103] ; 0x67 80c72e4: e0b0 b.n 80c7448 if (stat == 1) { res = FR_INT_ERR; break; } 80c72e6: 6c7b ldr r3, [r7, #68] ; 0x44 80c72e8: 2b01 cmp r3, #1 80c72ea: d103 bne.n 80c72f4 80c72ec: 2302 movs r3, #2 80c72ee: f887 3067 strb.w r3, [r7, #103] ; 0x67 80c72f2: e0a9 b.n 80c7448 if (stat == 0) nfree++; 80c72f4: 6c7b ldr r3, [r7, #68] ; 0x44 80c72f6: 2b00 cmp r3, #0 80c72f8: d102 bne.n 80c7300 80c72fa: 6e3b ldr r3, [r7, #96] ; 0x60 80c72fc: 3301 adds r3, #1 80c72fe: 663b str r3, [r7, #96] ; 0x60 } while (++clst < fs->n_fatent); 80c7300: 6dfb ldr r3, [r7, #92] ; 0x5c 80c7302: 3301 adds r3, #1 80c7304: 65fb str r3, [r7, #92] ; 0x5c 80c7306: 6c3b ldr r3, [r7, #64] ; 0x40 80c7308: 69db ldr r3, [r3, #28] 80c730a: 6dfa ldr r2, [r7, #92] ; 0x5c 80c730c: 429a cmp r2, r3 80c730e: d3db bcc.n 80c72c8 80c7310: e09a b.n 80c7448 } else { #if _FS_EXFAT if (fs->fs_type == FS_EXFAT) { /* exFAT: Scan bitmap table */ 80c7312: 6c3b ldr r3, [r7, #64] ; 0x40 80c7314: 781b ldrb r3, [r3, #0] 80c7316: 2b04 cmp r3, #4 80c7318: d146 bne.n 80c73a8 BYTE bm; UINT b; clst = fs->n_fatent - 2; 80c731a: 6c3b ldr r3, [r7, #64] ; 0x40 80c731c: 69db ldr r3, [r3, #28] 80c731e: 3b02 subs r3, #2 80c7320: 65fb str r3, [r7, #92] ; 0x5c sect = fs->database; 80c7322: 6c3b ldr r3, [r7, #64] ; 0x40 80c7324: 6b1b ldr r3, [r3, #48] ; 0x30 80c7326: 65bb str r3, [r7, #88] ; 0x58 i = 0; 80c7328: 2300 movs r3, #0 80c732a: 657b str r3, [r7, #84] ; 0x54 do { if (i == 0 && (res = move_window(fs, sect++)) != FR_OK) break; 80c732c: 6d7b ldr r3, [r7, #84] ; 0x54 80c732e: 2b00 cmp r3, #0 80c7330: d10d bne.n 80c734e 80c7332: 6c38 ldr r0, [r7, #64] ; 0x40 80c7334: 6dbb ldr r3, [r7, #88] ; 0x58 80c7336: 1c5a adds r2, r3, #1 80c7338: 65ba str r2, [r7, #88] ; 0x58 80c733a: 4619 mov r1, r3 80c733c: f7fb fd65 bl 80c2e0a 80c7340: 4603 mov r3, r0 80c7342: f887 3067 strb.w r3, [r7, #103] ; 0x67 80c7346: f897 3067 ldrb.w r3, [r7, #103] ; 0x67 80c734a: 2b00 cmp r3, #0 80c734c: d179 bne.n 80c7442 for (b = 8, bm = fs->win[i]; b && clst; b--, clst--) { 80c734e: 2308 movs r3, #8 80c7350: 64bb str r3, [r7, #72] ; 0x48 80c7352: 6c3a ldr r2, [r7, #64] ; 0x40 80c7354: 6d7b ldr r3, [r7, #84] ; 0x54 80c7356: 4413 add r3, r2 80c7358: 3338 adds r3, #56 ; 0x38 80c735a: 781b ldrb r3, [r3, #0] 80c735c: f887 304f strb.w r3, [r7, #79] ; 0x4f 80c7360: e013 b.n 80c738a if (!(bm & 1)) nfree++; 80c7362: f897 304f ldrb.w r3, [r7, #79] ; 0x4f 80c7366: f003 0301 and.w r3, r3, #1 80c736a: 2b00 cmp r3, #0 80c736c: d102 bne.n 80c7374 80c736e: 6e3b ldr r3, [r7, #96] ; 0x60 80c7370: 3301 adds r3, #1 80c7372: 663b str r3, [r7, #96] ; 0x60 bm >>= 1; 80c7374: f897 304f ldrb.w r3, [r7, #79] ; 0x4f 80c7378: 085b lsrs r3, r3, #1 80c737a: f887 304f strb.w r3, [r7, #79] ; 0x4f for (b = 8, bm = fs->win[i]; b && clst; b--, clst--) { 80c737e: 6cbb ldr r3, [r7, #72] ; 0x48 80c7380: 3b01 subs r3, #1 80c7382: 64bb str r3, [r7, #72] ; 0x48 80c7384: 6dfb ldr r3, [r7, #92] ; 0x5c 80c7386: 3b01 subs r3, #1 80c7388: 65fb str r3, [r7, #92] ; 0x5c 80c738a: 6cbb ldr r3, [r7, #72] ; 0x48 80c738c: 2b00 cmp r3, #0 80c738e: d002 beq.n 80c7396 80c7390: 6dfb ldr r3, [r7, #92] ; 0x5c 80c7392: 2b00 cmp r3, #0 80c7394: d1e5 bne.n 80c7362 } i = (i + 1) % SS(fs); 80c7396: 6d7b ldr r3, [r7, #84] ; 0x54 80c7398: 3301 adds r3, #1 80c739a: f3c3 0308 ubfx r3, r3, #0, #9 80c739e: 657b str r3, [r7, #84] ; 0x54 } while (clst); 80c73a0: 6dfb ldr r3, [r7, #92] ; 0x5c 80c73a2: 2b00 cmp r3, #0 80c73a4: d1c2 bne.n 80c732c 80c73a6: e04f b.n 80c7448 } else #endif { /* FAT16/32: Sector alighed FAT entries */ clst = fs->n_fatent; sect = fs->fatbase; 80c73a8: 6c3b ldr r3, [r7, #64] ; 0x40 80c73aa: 69db ldr r3, [r3, #28] 80c73ac: 65fb str r3, [r7, #92] ; 0x5c 80c73ae: 6c3b ldr r3, [r7, #64] ; 0x40 80c73b0: 6a9b ldr r3, [r3, #40] ; 0x28 80c73b2: 65bb str r3, [r7, #88] ; 0x58 i = 0; p = 0; 80c73b4: 2300 movs r3, #0 80c73b6: 657b str r3, [r7, #84] ; 0x54 80c73b8: 2300 movs r3, #0 80c73ba: 653b str r3, [r7, #80] ; 0x50 do { if (i == 0) { 80c73bc: 6d7b ldr r3, [r7, #84] ; 0x54 80c73be: 2b00 cmp r3, #0 80c73c0: d113 bne.n 80c73ea res = move_window(fs, sect++); 80c73c2: 6c38 ldr r0, [r7, #64] ; 0x40 80c73c4: 6dbb ldr r3, [r7, #88] ; 0x58 80c73c6: 1c5a adds r2, r3, #1 80c73c8: 65ba str r2, [r7, #88] ; 0x58 80c73ca: 4619 mov r1, r3 80c73cc: f7fb fd1d bl 80c2e0a 80c73d0: 4603 mov r3, r0 80c73d2: f887 3067 strb.w r3, [r7, #103] ; 0x67 if (res != FR_OK) break; 80c73d6: f897 3067 ldrb.w r3, [r7, #103] ; 0x67 80c73da: 2b00 cmp r3, #0 80c73dc: d133 bne.n 80c7446 p = fs->win; 80c73de: 6c3b ldr r3, [r7, #64] ; 0x40 80c73e0: 3338 adds r3, #56 ; 0x38 80c73e2: 653b str r3, [r7, #80] ; 0x50 i = SS(fs); 80c73e4: f44f 7300 mov.w r3, #512 ; 0x200 80c73e8: 657b str r3, [r7, #84] ; 0x54 } if (fs->fs_type == FS_FAT16) { 80c73ea: 6c3b ldr r3, [r7, #64] ; 0x40 80c73ec: 781b ldrb r3, [r3, #0] 80c73ee: 2b02 cmp r3, #2 80c73f0: d10f bne.n 80c7412 if (ld_word(p) == 0) nfree++; 80c73f2: 6d38 ldr r0, [r7, #80] ; 0x50 80c73f4: f7fb fa86 bl 80c2904 80c73f8: 4603 mov r3, r0 80c73fa: 2b00 cmp r3, #0 80c73fc: d102 bne.n 80c7404 80c73fe: 6e3b ldr r3, [r7, #96] ; 0x60 80c7400: 3301 adds r3, #1 80c7402: 663b str r3, [r7, #96] ; 0x60 p += 2; i -= 2; 80c7404: 6d3b ldr r3, [r7, #80] ; 0x50 80c7406: 3302 adds r3, #2 80c7408: 653b str r3, [r7, #80] ; 0x50 80c740a: 6d7b ldr r3, [r7, #84] ; 0x54 80c740c: 3b02 subs r3, #2 80c740e: 657b str r3, [r7, #84] ; 0x54 80c7410: e010 b.n 80c7434 } else { if ((ld_dword(p) & 0x0FFFFFFF) == 0) nfree++; 80c7412: 6d38 ldr r0, [r7, #80] ; 0x50 80c7414: f7fb fa8e bl 80c2934 80c7418: 4603 mov r3, r0 80c741a: f023 4370 bic.w r3, r3, #4026531840 ; 0xf0000000 80c741e: 2b00 cmp r3, #0 80c7420: d102 bne.n 80c7428 80c7422: 6e3b ldr r3, [r7, #96] ; 0x60 80c7424: 3301 adds r3, #1 80c7426: 663b str r3, [r7, #96] ; 0x60 p += 4; i -= 4; 80c7428: 6d3b ldr r3, [r7, #80] ; 0x50 80c742a: 3304 adds r3, #4 80c742c: 653b str r3, [r7, #80] ; 0x50 80c742e: 6d7b ldr r3, [r7, #84] ; 0x54 80c7430: 3b04 subs r3, #4 80c7432: 657b str r3, [r7, #84] ; 0x54 } } while (--clst); 80c7434: 6dfb ldr r3, [r7, #92] ; 0x5c 80c7436: 3b01 subs r3, #1 80c7438: 65fb str r3, [r7, #92] ; 0x5c 80c743a: 6dfb ldr r3, [r7, #92] ; 0x5c 80c743c: 2b00 cmp r3, #0 80c743e: d1bd bne.n 80c73bc 80c7440: e002 b.n 80c7448 if (i == 0 && (res = move_window(fs, sect++)) != FR_OK) break; 80c7442: bf00 nop 80c7444: e000 b.n 80c7448 if (res != FR_OK) break; 80c7446: bf00 nop } } *nclst = nfree; /* Return the free clusters */ 80c7448: 68bb ldr r3, [r7, #8] 80c744a: 6e3a ldr r2, [r7, #96] ; 0x60 80c744c: 601a str r2, [r3, #0] fs->free_clst = nfree; /* Now free_clst is valid */ 80c744e: 6c3b ldr r3, [r7, #64] ; 0x40 80c7450: 6e3a ldr r2, [r7, #96] ; 0x60 80c7452: 619a str r2, [r3, #24] fs->fsi_flag |= 1; /* FSInfo is to be updated */ 80c7454: 6c3b ldr r3, [r7, #64] ; 0x40 80c7456: 6c3a ldr r2, [r7, #64] ; 0x40 80c7458: 7912 ldrb r2, [r2, #4] 80c745a: f042 0201 orr.w r2, r2, #1 80c745e: b2d2 uxtb r2, r2 80c7460: 711a strb r2, [r3, #4] } } LEAVE_FF(fs, res); 80c7462: f897 3067 ldrb.w r3, [r7, #103] ; 0x67 } 80c7466: 4618 mov r0, r3 80c7468: 3768 adds r7, #104 ; 0x68 80c746a: 46bd mov sp, r7 80c746c: bd80 pop {r7, pc} 080c746e : /*-----------------------------------------------------------------------*/ FRESULT f_unlink ( const TCHAR* path /* Pointer to the file or directory path */ ) { 80c746e: b590 push {r4, r7, lr} 80c7470: b0bb sub sp, #236 ; 0xec 80c7472: af00 add r7, sp, #0 80c7474: 6078 str r0, [r7, #4] FRESULT res; DIR dj, sdj; DWORD dclst = 0; 80c7476: 2300 movs r3, #0 80c7478: f8c7 30e0 str.w r3, [r7, #224] ; 0xe0 #endif DEF_NAMBUF /* Get logical drive */ res = find_volume(&path, &fs, FA_WRITE); 80c747c: f107 013c add.w r1, r7, #60 ; 0x3c 80c7480: 1d3b adds r3, r7, #4 80c7482: 2202 movs r2, #2 80c7484: 4618 mov r0, r3 80c7486: f7fe f95d bl 80c5744 80c748a: 4603 mov r3, r0 80c748c: f887 30e7 strb.w r3, [r7, #231] ; 0xe7 dj.obj.fs = fs; 80c7490: 6bfb ldr r3, [r7, #60] ; 0x3c 80c7492: f8c7 3090 str.w r3, [r7, #144] ; 0x90 if (res == FR_OK) { 80c7496: f897 30e7 ldrb.w r3, [r7, #231] ; 0xe7 80c749a: 2b00 cmp r3, #0 80c749c: f040 80b6 bne.w 80c760c INIT_NAMBUF(fs); res = follow_path(&dj, path); /* Follow the file path */ 80c74a0: 687a ldr r2, [r7, #4] 80c74a2: f107 0390 add.w r3, r7, #144 ; 0x90 80c74a6: 4611 mov r1, r2 80c74a8: 4618 mov r0, r3 80c74aa: f7fd fffb bl 80c54a4 80c74ae: 4603 mov r3, r0 80c74b0: 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 */ 80c74b4: f897 30e7 ldrb.w r3, [r7, #231] ; 0xe7 80c74b8: 2b00 cmp r3, #0 80c74ba: f040 80a7 bne.w 80c760c if (dj.fn[NSFLAG] & NS_NONAME) { 80c74be: f897 30db ldrb.w r3, [r7, #219] ; 0xdb 80c74c2: b25b sxtb r3, r3 80c74c4: 2b00 cmp r3, #0 80c74c6: da03 bge.n 80c74d0 res = FR_INVALID_NAME; /* Cannot remove the origin directory */ 80c74c8: 2306 movs r3, #6 80c74ca: f887 30e7 strb.w r3, [r7, #231] ; 0xe7 80c74ce: e008 b.n 80c74e2 } else { if (dj.obj.attr & AM_RDO) { 80c74d0: f897 3096 ldrb.w r3, [r7, #150] ; 0x96 80c74d4: f003 0301 and.w r3, r3, #1 80c74d8: 2b00 cmp r3, #0 80c74da: d002 beq.n 80c74e2 res = FR_DENIED; /* Cannot remove R/O object */ 80c74dc: 2307 movs r3, #7 80c74de: f887 30e7 strb.w r3, [r7, #231] ; 0xe7 } } if (res == FR_OK) { 80c74e2: f897 30e7 ldrb.w r3, [r7, #231] ; 0xe7 80c74e6: 2b00 cmp r3, #0 80c74e8: d166 bne.n 80c75b8 #if _FS_EXFAT obj.fs = fs; 80c74ea: 6bfb ldr r3, [r7, #60] ; 0x3c 80c74ec: 60bb str r3, [r7, #8] if (fs->fs_type == FS_EXFAT) { 80c74ee: 6bfb ldr r3, [r7, #60] ; 0x3c 80c74f0: 781b ldrb r3, [r3, #0] 80c74f2: 2b04 cmp r3, #4 80c74f4: d11d bne.n 80c7532 obj.sclust = dclst = ld_dword(fs->dirbuf + XDIR_FstClus); 80c74f6: 6bfb ldr r3, [r7, #60] ; 0x3c 80c74f8: 691b ldr r3, [r3, #16] 80c74fa: 3334 adds r3, #52 ; 0x34 80c74fc: 4618 mov r0, r3 80c74fe: f7fb fa19 bl 80c2934 80c7502: f8c7 00e0 str.w r0, [r7, #224] ; 0xe0 80c7506: f8d7 30e0 ldr.w r3, [r7, #224] ; 0xe0 80c750a: 613b str r3, [r7, #16] obj.objsize = ld_qword(fs->dirbuf + XDIR_FileSize); 80c750c: 6bfb ldr r3, [r7, #60] ; 0x3c 80c750e: 691b ldr r3, [r3, #16] 80c7510: 3338 adds r3, #56 ; 0x38 80c7512: 4618 mov r0, r3 80c7514: f7fb fa31 bl 80c297a 80c7518: 4603 mov r3, r0 80c751a: 460c mov r4, r1 80c751c: e9c7 3406 strd r3, r4, [r7, #24] obj.stat = fs->dirbuf[XDIR_GenFlags] & 2; 80c7520: 6bfb ldr r3, [r7, #60] ; 0x3c 80c7522: 691b ldr r3, [r3, #16] 80c7524: 3321 adds r3, #33 ; 0x21 80c7526: 781b ldrb r3, [r3, #0] 80c7528: f003 0302 and.w r3, r3, #2 80c752c: b2db uxtb r3, r3 80c752e: 73fb strb r3, [r7, #15] 80c7530: e008 b.n 80c7544 } else #endif { dclst = ld_clust(fs, dj.dir); 80c7532: 6bfb ldr r3, [r7, #60] ; 0x3c 80c7534: f8d7 20cc ldr.w r2, [r7, #204] ; 0xcc 80c7538: 4611 mov r1, r2 80c753a: 4618 mov r0, r3 80c753c: f7fc fc1c bl 80c3d78 80c7540: f8c7 00e0 str.w r0, [r7, #224] ; 0xe0 } if (dj.obj.attr & AM_DIR) { /* Is it a sub-directory? */ 80c7544: f897 3096 ldrb.w r3, [r7, #150] ; 0x96 80c7548: f003 0310 and.w r3, r3, #16 80c754c: 2b00 cmp r3, #0 80c754e: d033 beq.n 80c75b8 if (dclst == fs->cdir) { /* Is it the current directory? */ res = FR_DENIED; } else #endif { sdj.obj.fs = fs; /* Open the sub-directory */ 80c7550: 6bfb ldr r3, [r7, #60] ; 0x3c 80c7552: 643b str r3, [r7, #64] ; 0x40 sdj.obj.sclust = dclst; 80c7554: f8d7 30e0 ldr.w r3, [r7, #224] ; 0xe0 80c7558: 64bb str r3, [r7, #72] ; 0x48 #if _FS_EXFAT if (fs->fs_type == FS_EXFAT) { 80c755a: 6bfb ldr r3, [r7, #60] ; 0x3c 80c755c: 781b ldrb r3, [r3, #0] 80c755e: 2b04 cmp r3, #4 80c7560: d106 bne.n 80c7570 sdj.obj.objsize = obj.objsize; 80c7562: e9d7 3406 ldrd r3, r4, [r7, #24] 80c7566: e9c7 3414 strd r3, r4, [r7, #80] ; 0x50 sdj.obj.stat = obj.stat; 80c756a: 7bfb ldrb r3, [r7, #15] 80c756c: f887 3047 strb.w r3, [r7, #71] ; 0x47 } #endif res = dir_sdi(&sdj, 0); 80c7570: f107 0340 add.w r3, r7, #64 ; 0x40 80c7574: 2100 movs r1, #0 80c7576: 4618 mov r0, r3 80c7578: f7fc fa47 bl 80c3a0a 80c757c: 4603 mov r3, r0 80c757e: f887 30e7 strb.w r3, [r7, #231] ; 0xe7 if (res == FR_OK) { 80c7582: f897 30e7 ldrb.w r3, [r7, #231] ; 0xe7 80c7586: 2b00 cmp r3, #0 80c7588: d116 bne.n 80c75b8 res = dir_read(&sdj, 0); /* Read an item */ 80c758a: f107 0340 add.w r3, r7, #64 ; 0x40 80c758e: 2100 movs r1, #0 80c7590: 4618 mov r0, r3 80c7592: f7fd f8ed bl 80c4770 80c7596: 4603 mov r3, r0 80c7598: f887 30e7 strb.w r3, [r7, #231] ; 0xe7 if (res == FR_OK) res = FR_DENIED; /* Not empty? */ 80c759c: f897 30e7 ldrb.w r3, [r7, #231] ; 0xe7 80c75a0: 2b00 cmp r3, #0 80c75a2: d102 bne.n 80c75aa 80c75a4: 2307 movs r3, #7 80c75a6: f887 30e7 strb.w r3, [r7, #231] ; 0xe7 if (res == FR_NO_FILE) res = FR_OK; /* Empty? */ 80c75aa: f897 30e7 ldrb.w r3, [r7, #231] ; 0xe7 80c75ae: 2b04 cmp r3, #4 80c75b0: d102 bne.n 80c75b8 80c75b2: 2300 movs r3, #0 80c75b4: f887 30e7 strb.w r3, [r7, #231] ; 0xe7 } } } } if (res == FR_OK) { 80c75b8: f897 30e7 ldrb.w r3, [r7, #231] ; 0xe7 80c75bc: 2b00 cmp r3, #0 80c75be: d125 bne.n 80c760c res = dir_remove(&dj); /* Remove the directory entry */ 80c75c0: f107 0390 add.w r3, r7, #144 ; 0x90 80c75c4: 4618 mov r0, r3 80c75c6: f7fd fc71 bl 80c4eac 80c75ca: 4603 mov r3, r0 80c75cc: f887 30e7 strb.w r3, [r7, #231] ; 0xe7 if (res == FR_OK && dclst) { /* Remove the cluster chain if exist */ 80c75d0: f897 30e7 ldrb.w r3, [r7, #231] ; 0xe7 80c75d4: 2b00 cmp r3, #0 80c75d6: d10e bne.n 80c75f6 80c75d8: f8d7 30e0 ldr.w r3, [r7, #224] ; 0xe0 80c75dc: 2b00 cmp r3, #0 80c75de: d00a beq.n 80c75f6 #if _FS_EXFAT res = remove_chain(&obj, dclst, 0); 80c75e0: f107 0308 add.w r3, r7, #8 80c75e4: 2200 movs r2, #0 80c75e6: f8d7 10e0 ldr.w r1, [r7, #224] ; 0xe0 80c75ea: 4618 mov r0, r3 80c75ec: f7fc f81a bl 80c3624 80c75f0: 4603 mov r3, r0 80c75f2: 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); 80c75f6: f897 30e7 ldrb.w r3, [r7, #231] ; 0xe7 80c75fa: 2b00 cmp r3, #0 80c75fc: d106 bne.n 80c760c 80c75fe: 6bfb ldr r3, [r7, #60] ; 0x3c 80c7600: 4618 mov r0, r3 80c7602: f7fb fc2f bl 80c2e64 80c7606: 4603 mov r3, r0 80c7608: f887 30e7 strb.w r3, [r7, #231] ; 0xe7 } } FREE_NAMBUF(); } LEAVE_FF(fs, res); 80c760c: f897 30e7 ldrb.w r3, [r7, #231] ; 0xe7 } 80c7610: 4618 mov r0, r3 80c7612: 37ec adds r7, #236 ; 0xec 80c7614: 46bd mov sp, r7 80c7616: bd90 pop {r4, r7, pc} 080c7618 : /*-----------------------------------------------------------------------*/ FRESULT f_mkdir ( const TCHAR* path /* Pointer to the directory path */ ) { 80c7618: b590 push {r4, r7, lr} 80c761a: b0a1 sub sp, #132 ; 0x84 80c761c: af00 add r7, sp, #0 80c761e: 6078 str r0, [r7, #4] DWORD dsc, dcl, pcl, tm; DEF_NAMBUF /* Get logical drive */ res = find_volume(&path, &fs, FA_WRITE); 80c7620: f107 010c add.w r1, r7, #12 80c7624: 1d3b adds r3, r7, #4 80c7626: 2202 movs r2, #2 80c7628: 4618 mov r0, r3 80c762a: f7fe f88b bl 80c5744 80c762e: 4603 mov r3, r0 80c7630: f887 307f strb.w r3, [r7, #127] ; 0x7f dj.obj.fs = fs; 80c7634: 68fb ldr r3, [r7, #12] 80c7636: 613b str r3, [r7, #16] if (res == FR_OK) { 80c7638: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 80c763c: 2b00 cmp r3, #0 80c763e: f040 812c bne.w 80c789a INIT_NAMBUF(fs); res = follow_path(&dj, path); /* Follow the file path */ 80c7642: 687a ldr r2, [r7, #4] 80c7644: f107 0310 add.w r3, r7, #16 80c7648: 4611 mov r1, r2 80c764a: 4618 mov r0, r3 80c764c: f7fd ff2a bl 80c54a4 80c7650: 4603 mov r3, r0 80c7652: f887 307f strb.w r3, [r7, #127] ; 0x7f if (res == FR_OK) res = FR_EXIST; /* Any object with same name is already existing */ 80c7656: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 80c765a: 2b00 cmp r3, #0 80c765c: d102 bne.n 80c7664 80c765e: 2308 movs r3, #8 80c7660: 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 */ 80c7664: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 80c7668: 2b04 cmp r3, #4 80c766a: f040 8116 bne.w 80c789a dcl = create_chain(&dj.obj, 0); /* Allocate a cluster for the new directory table */ 80c766e: f107 0310 add.w r3, r7, #16 80c7672: 2100 movs r1, #0 80c7674: 4618 mov r0, r3 80c7676: f7fc f889 bl 80c378c 80c767a: 66f8 str r0, [r7, #108] ; 0x6c dj.obj.objsize = (DWORD)fs->csize * SS(fs); 80c767c: 68fb ldr r3, [r7, #12] 80c767e: 895b ldrh r3, [r3, #10] 80c7680: 025b lsls r3, r3, #9 80c7682: f04f 0400 mov.w r4, #0 80c7686: e9c7 3408 strd r3, r4, [r7, #32] res = FR_OK; 80c768a: 2300 movs r3, #0 80c768c: f887 307f strb.w r3, [r7, #127] ; 0x7f if (dcl == 0) res = FR_DENIED; /* No space to allocate a new cluster */ 80c7690: 6efb ldr r3, [r7, #108] ; 0x6c 80c7692: 2b00 cmp r3, #0 80c7694: d102 bne.n 80c769c 80c7696: 2307 movs r3, #7 80c7698: f887 307f strb.w r3, [r7, #127] ; 0x7f if (dcl == 1) res = FR_INT_ERR; 80c769c: 6efb ldr r3, [r7, #108] ; 0x6c 80c769e: 2b01 cmp r3, #1 80c76a0: d102 bne.n 80c76a8 80c76a2: 2302 movs r3, #2 80c76a4: f887 307f strb.w r3, [r7, #127] ; 0x7f if (dcl == 0xFFFFFFFF) res = FR_DISK_ERR; 80c76a8: 6efb ldr r3, [r7, #108] ; 0x6c 80c76aa: f1b3 3fff cmp.w r3, #4294967295 80c76ae: d102 bne.n 80c76b6 80c76b0: 2301 movs r3, #1 80c76b2: f887 307f strb.w r3, [r7, #127] ; 0x7f if (res == FR_OK) res = sync_window(fs); /* Flush FAT */ 80c76b6: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 80c76ba: 2b00 cmp r3, #0 80c76bc: d106 bne.n 80c76cc 80c76be: 68fb ldr r3, [r7, #12] 80c76c0: 4618 mov r0, r3 80c76c2: f7fb fb5e bl 80c2d82 80c76c6: 4603 mov r3, r0 80c76c8: f887 307f strb.w r3, [r7, #127] ; 0x7f tm = GET_FATTIME(); 80c76cc: f7f8 f80a bl 80bf6e4 80c76d0: 66b8 str r0, [r7, #104] ; 0x68 if (res == FR_OK) { /* Initialize the new directory table */ 80c76d2: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 80c76d6: 2b00 cmp r3, #0 80c76d8: d16e bne.n 80c77b8 dsc = clust2sect(fs, dcl); 80c76da: 68fb ldr r3, [r7, #12] 80c76dc: 6ef9 ldr r1, [r7, #108] ; 0x6c 80c76de: 4618 mov r0, r3 80c76e0: f7fb fc2e bl 80c2f40 80c76e4: 6778 str r0, [r7, #116] ; 0x74 dir = fs->win; 80c76e6: 68fb ldr r3, [r7, #12] 80c76e8: 3338 adds r3, #56 ; 0x38 80c76ea: 667b str r3, [r7, #100] ; 0x64 mem_set(dir, 0, SS(fs)); 80c76ec: f44f 7200 mov.w r2, #512 ; 0x200 80c76f0: 2100 movs r1, #0 80c76f2: 6e78 ldr r0, [r7, #100] ; 0x64 80c76f4: f7fb fae9 bl 80c2cca if (!_FS_EXFAT || fs->fs_type != FS_EXFAT) { 80c76f8: 68fb ldr r3, [r7, #12] 80c76fa: 781b ldrb r3, [r3, #0] 80c76fc: 2b04 cmp r3, #4 80c76fe: d036 beq.n 80c776e mem_set(dir + DIR_Name, ' ', 11); /* Create "." entry */ 80c7700: 220b movs r2, #11 80c7702: 2120 movs r1, #32 80c7704: 6e78 ldr r0, [r7, #100] ; 0x64 80c7706: f7fb fae0 bl 80c2cca dir[DIR_Name] = '.'; 80c770a: 6e7b ldr r3, [r7, #100] ; 0x64 80c770c: 222e movs r2, #46 ; 0x2e 80c770e: 701a strb r2, [r3, #0] dir[DIR_Attr] = AM_DIR; 80c7710: 6e7b ldr r3, [r7, #100] ; 0x64 80c7712: 330b adds r3, #11 80c7714: 2210 movs r2, #16 80c7716: 701a strb r2, [r3, #0] st_dword(dir + DIR_ModTime, tm); 80c7718: 6e7b ldr r3, [r7, #100] ; 0x64 80c771a: 3316 adds r3, #22 80c771c: 6eb9 ldr r1, [r7, #104] ; 0x68 80c771e: 4618 mov r0, r3 80c7720: f7fb f9f5 bl 80c2b0e st_clust(fs, dir, dcl); 80c7724: 68fb ldr r3, [r7, #12] 80c7726: 6efa ldr r2, [r7, #108] ; 0x6c 80c7728: 6e79 ldr r1, [r7, #100] ; 0x64 80c772a: 4618 mov r0, r3 80c772c: f7fc fb43 bl 80c3db6 mem_cpy(dir + SZDIRE, dir, SZDIRE); /* Create ".." entry */ 80c7730: 6e7b ldr r3, [r7, #100] ; 0x64 80c7732: 3320 adds r3, #32 80c7734: 2220 movs r2, #32 80c7736: 6e79 ldr r1, [r7, #100] ; 0x64 80c7738: 4618 mov r0, r3 80c773a: f7fb faa5 bl 80c2c88 dir[SZDIRE + 1] = '.'; pcl = dj.obj.sclust; 80c773e: 6e7b ldr r3, [r7, #100] ; 0x64 80c7740: 3321 adds r3, #33 ; 0x21 80c7742: 222e movs r2, #46 ; 0x2e 80c7744: 701a strb r2, [r3, #0] 80c7746: 69bb ldr r3, [r7, #24] 80c7748: 673b str r3, [r7, #112] ; 0x70 if (fs->fs_type == FS_FAT32 && pcl == fs->dirbase) pcl = 0; 80c774a: 68fb ldr r3, [r7, #12] 80c774c: 781b ldrb r3, [r3, #0] 80c774e: 2b03 cmp r3, #3 80c7750: d106 bne.n 80c7760 80c7752: 68fb ldr r3, [r7, #12] 80c7754: 6ada ldr r2, [r3, #44] ; 0x2c 80c7756: 6f3b ldr r3, [r7, #112] ; 0x70 80c7758: 429a cmp r2, r3 80c775a: d101 bne.n 80c7760 80c775c: 2300 movs r3, #0 80c775e: 673b str r3, [r7, #112] ; 0x70 st_clust(fs, dir + SZDIRE, pcl); 80c7760: 68f8 ldr r0, [r7, #12] 80c7762: 6e7b ldr r3, [r7, #100] ; 0x64 80c7764: 3320 adds r3, #32 80c7766: 6f3a ldr r2, [r7, #112] ; 0x70 80c7768: 4619 mov r1, r3 80c776a: f7fc fb24 bl 80c3db6 } for (n = fs->csize; n; n--) { /* Write dot entries and clear following sectors */ 80c776e: 68fb ldr r3, [r7, #12] 80c7770: 895b ldrh r3, [r3, #10] 80c7772: 67bb str r3, [r7, #120] ; 0x78 80c7774: e01b b.n 80c77ae fs->winsect = dsc++; 80c7776: 68fa ldr r2, [r7, #12] 80c7778: 6f7b ldr r3, [r7, #116] ; 0x74 80c777a: 1c59 adds r1, r3, #1 80c777c: 6779 str r1, [r7, #116] ; 0x74 80c777e: 6353 str r3, [r2, #52] ; 0x34 fs->wflag = 1; 80c7780: 68fb ldr r3, [r7, #12] 80c7782: 2201 movs r2, #1 80c7784: 70da strb r2, [r3, #3] res = sync_window(fs); 80c7786: 68fb ldr r3, [r7, #12] 80c7788: 4618 mov r0, r3 80c778a: f7fb fafa bl 80c2d82 80c778e: 4603 mov r3, r0 80c7790: f887 307f strb.w r3, [r7, #127] ; 0x7f if (res != FR_OK) break; 80c7794: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 80c7798: 2b00 cmp r3, #0 80c779a: d10c bne.n 80c77b6 mem_set(dir, 0, SS(fs)); 80c779c: f44f 7200 mov.w r2, #512 ; 0x200 80c77a0: 2100 movs r1, #0 80c77a2: 6e78 ldr r0, [r7, #100] ; 0x64 80c77a4: f7fb fa91 bl 80c2cca for (n = fs->csize; n; n--) { /* Write dot entries and clear following sectors */ 80c77a8: 6fbb ldr r3, [r7, #120] ; 0x78 80c77aa: 3b01 subs r3, #1 80c77ac: 67bb str r3, [r7, #120] ; 0x78 80c77ae: 6fbb ldr r3, [r7, #120] ; 0x78 80c77b0: 2b00 cmp r3, #0 80c77b2: d1e0 bne.n 80c7776 80c77b4: e000 b.n 80c77b8 if (res != FR_OK) break; 80c77b6: bf00 nop } } if (res == FR_OK) { 80c77b8: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 80c77bc: 2b00 cmp r3, #0 80c77be: d107 bne.n 80c77d0 res = dir_register(&dj); /* Register the object to the directoy */ 80c77c0: f107 0310 add.w r3, r7, #16 80c77c4: 4618 mov r0, r3 80c77c6: f7fd f9cb bl 80c4b60 80c77ca: 4603 mov r3, r0 80c77cc: f887 307f strb.w r3, [r7, #127] ; 0x7f } if (res == FR_OK) { 80c77d0: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 80c77d4: 2b00 cmp r3, #0 80c77d6: d159 bne.n 80c788c #if _FS_EXFAT if (fs->fs_type == FS_EXFAT) { /* Initialize directory entry block */ 80c77d8: 68fb ldr r3, [r7, #12] 80c77da: 781b ldrb r3, [r3, #0] 80c77dc: 2b04 cmp r3, #4 80c77de: d134 bne.n 80c784a st_dword(fs->dirbuf + XDIR_ModTime, tm); /* Created time */ 80c77e0: 68fb ldr r3, [r7, #12] 80c77e2: 691b ldr r3, [r3, #16] 80c77e4: 330c adds r3, #12 80c77e6: 6eb9 ldr r1, [r7, #104] ; 0x68 80c77e8: 4618 mov r0, r3 80c77ea: f7fb f990 bl 80c2b0e st_dword(fs->dirbuf + XDIR_FstClus, dcl); /* Table start cluster */ 80c77ee: 68fb ldr r3, [r7, #12] 80c77f0: 691b ldr r3, [r3, #16] 80c77f2: 3334 adds r3, #52 ; 0x34 80c77f4: 6ef9 ldr r1, [r7, #108] ; 0x6c 80c77f6: 4618 mov r0, r3 80c77f8: f7fb f989 bl 80c2b0e st_dword(fs->dirbuf + XDIR_FileSize, (DWORD)dj.obj.objsize); /* File size needs to be valid */ 80c77fc: 68fb ldr r3, [r7, #12] 80c77fe: 691b ldr r3, [r3, #16] 80c7800: f103 0238 add.w r2, r3, #56 ; 0x38 80c7804: e9d7 3408 ldrd r3, r4, [r7, #32] 80c7808: 4619 mov r1, r3 80c780a: 4610 mov r0, r2 80c780c: f7fb f97f bl 80c2b0e st_dword(fs->dirbuf + XDIR_ValidFileSize, (DWORD)dj.obj.objsize); 80c7810: 68fb ldr r3, [r7, #12] 80c7812: 691b ldr r3, [r3, #16] 80c7814: f103 0228 add.w r2, r3, #40 ; 0x28 80c7818: e9d7 3408 ldrd r3, r4, [r7, #32] 80c781c: 4619 mov r1, r3 80c781e: 4610 mov r0, r2 80c7820: f7fb f975 bl 80c2b0e fs->dirbuf[XDIR_GenFlags] = 3; /* Initialize the object flag (contiguous) */ 80c7824: 68fb ldr r3, [r7, #12] 80c7826: 691b ldr r3, [r3, #16] 80c7828: 3321 adds r3, #33 ; 0x21 80c782a: 2203 movs r2, #3 80c782c: 701a strb r2, [r3, #0] fs->dirbuf[XDIR_Attr] = AM_DIR; /* Attribute */ 80c782e: 68fb ldr r3, [r7, #12] 80c7830: 691b ldr r3, [r3, #16] 80c7832: 3304 adds r3, #4 80c7834: 2210 movs r2, #16 80c7836: 701a strb r2, [r3, #0] res = store_xdir(&dj); 80c7838: f107 0310 add.w r3, r7, #16 80c783c: 4618 mov r0, r3 80c783e: f7fc fed5 bl 80c45ec 80c7842: 4603 mov r3, r0 80c7844: f887 307f strb.w r3, [r7, #127] ; 0x7f 80c7848: e014 b.n 80c7874 } else #endif { dir = dj.dir; 80c784a: 6cfb ldr r3, [r7, #76] ; 0x4c 80c784c: 667b str r3, [r7, #100] ; 0x64 st_dword(dir + DIR_ModTime, tm); /* Created time */ 80c784e: 6e7b ldr r3, [r7, #100] ; 0x64 80c7850: 3316 adds r3, #22 80c7852: 6eb9 ldr r1, [r7, #104] ; 0x68 80c7854: 4618 mov r0, r3 80c7856: f7fb f95a bl 80c2b0e st_clust(fs, dir, dcl); /* Table start cluster */ 80c785a: 68fb ldr r3, [r7, #12] 80c785c: 6efa ldr r2, [r7, #108] ; 0x6c 80c785e: 6e79 ldr r1, [r7, #100] ; 0x64 80c7860: 4618 mov r0, r3 80c7862: f7fc faa8 bl 80c3db6 dir[DIR_Attr] = AM_DIR; /* Attribute */ 80c7866: 6e7b ldr r3, [r7, #100] ; 0x64 80c7868: 330b adds r3, #11 80c786a: 2210 movs r2, #16 80c786c: 701a strb r2, [r3, #0] fs->wflag = 1; 80c786e: 68fb ldr r3, [r7, #12] 80c7870: 2201 movs r2, #1 80c7872: 70da strb r2, [r3, #3] } if (res == FR_OK) { 80c7874: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 80c7878: 2b00 cmp r3, #0 80c787a: d10e bne.n 80c789a res = sync_fs(fs); 80c787c: 68fb ldr r3, [r7, #12] 80c787e: 4618 mov r0, r3 80c7880: f7fb faf0 bl 80c2e64 80c7884: 4603 mov r3, r0 80c7886: f887 307f strb.w r3, [r7, #127] ; 0x7f 80c788a: e006 b.n 80c789a } } else { remove_chain(&dj.obj, dcl, 0); /* Could not register, remove cluster chain */ 80c788c: f107 0310 add.w r3, r7, #16 80c7890: 2200 movs r2, #0 80c7892: 6ef9 ldr r1, [r7, #108] ; 0x6c 80c7894: 4618 mov r0, r3 80c7896: f7fb fec5 bl 80c3624 } } FREE_NAMBUF(); } LEAVE_FF(fs, res); 80c789a: f897 307f ldrb.w r3, [r7, #127] ; 0x7f } 80c789e: 4618 mov r0, r3 80c78a0: 3784 adds r7, #132 ; 0x84 80c78a2: 46bd mov sp, r7 80c78a4: bd90 pop {r4, r7, pc} ... 080c78a8 : /*-----------------------------------------------------------------------*/ FRESULT f_setlabel ( const TCHAR* label /* Pointer to the volume label to set */ ) { 80c78a8: b580 push {r7, lr} 80c78aa: b0a4 sub sp, #144 ; 0x90 80c78ac: af00 add r7, sp, #0 80c78ae: 6078 str r0, [r7, #4] WCHAR w; static const char badchr[] = "\"*+,.:;<=>\?[]|\x7F"; /* Get logical drive */ res = find_volume(&label, &fs, FA_WRITE); 80c78b0: f107 0124 add.w r1, r7, #36 ; 0x24 80c78b4: 1d3b adds r3, r7, #4 80c78b6: 2202 movs r2, #2 80c78b8: 4618 mov r0, r3 80c78ba: f7fd ff43 bl 80c5744 80c78be: 4603 mov r3, r0 80c78c0: f887 308f strb.w r3, [r7, #143] ; 0x8f if (res != FR_OK) LEAVE_FF(fs, res); 80c78c4: f897 308f ldrb.w r3, [r7, #143] ; 0x8f 80c78c8: 2b00 cmp r3, #0 80c78ca: d002 beq.n 80c78d2 80c78cc: f897 308f ldrb.w r3, [r7, #143] ; 0x8f 80c78d0: e186 b.n 80c7be0 dj.obj.fs = fs; 80c78d2: 6a7b ldr r3, [r7, #36] ; 0x24 80c78d4: 62bb str r3, [r7, #40] ; 0x28 /* Get length of given volume label */ for (slen = 0; (UINT)label[slen] >= ' '; slen++) ; /* Get name length */ 80c78d6: 2300 movs r3, #0 80c78d8: f8c7 3080 str.w r3, [r7, #128] ; 0x80 80c78dc: e004 b.n 80c78e8 80c78de: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 80c78e2: 3301 adds r3, #1 80c78e4: f8c7 3080 str.w r3, [r7, #128] ; 0x80 80c78e8: 687a ldr r2, [r7, #4] 80c78ea: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 80c78ee: 4413 add r3, r2 80c78f0: 781b ldrb r3, [r3, #0] 80c78f2: 2b1f cmp r3, #31 80c78f4: d8f3 bhi.n 80c78de #if _FS_EXFAT if (fs->fs_type == FS_EXFAT) { /* On the exFAT volume */ 80c78f6: 6a7b ldr r3, [r7, #36] ; 0x24 80c78f8: 781b ldrb r3, [r3, #0] 80c78fa: 2b04 cmp r3, #4 80c78fc: d14d bne.n 80c799a for (i = j = 0; i < slen; ) { /* Create volume label in directory form */ 80c78fe: 2300 movs r3, #0 80c7900: f8c7 3084 str.w r3, [r7, #132] ; 0x84 80c7904: f8d7 3084 ldr.w r3, [r7, #132] ; 0x84 80c7908: f8c7 3088 str.w r3, [r7, #136] ; 0x88 80c790c: e035 b.n 80c797a w = label[i++]; 80c790e: 687a ldr r2, [r7, #4] 80c7910: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 80c7914: 1c59 adds r1, r3, #1 80c7916: f8c7 1088 str.w r1, [r7, #136] ; 0x88 80c791a: 4413 add r3, r2 80c791c: 781b ldrb r3, [r3, #0] 80c791e: 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); 80c7922: f8b7 307e ldrh.w r3, [r7, #126] ; 0x7e 80c7926: 2101 movs r1, #1 80c7928: 4618 mov r0, r3 80c792a: f001 fa9f bl 80c8e6c 80c792e: 4603 mov r3, r0 80c7930: 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 */ 80c7934: f8b7 307e ldrh.w r3, [r7, #126] ; 0x7e 80c7938: 2b00 cmp r3, #0 80c793a: d00c beq.n 80c7956 80c793c: f8b7 307e ldrh.w r3, [r7, #126] ; 0x7e 80c7940: 4619 mov r1, r3 80c7942: 48a9 ldr r0, [pc, #676] ; (80c7be8 ) 80c7944: f7fb fa02 bl 80c2d4c 80c7948: 4603 mov r3, r0 80c794a: 2b00 cmp r3, #0 80c794c: d103 bne.n 80c7956 80c794e: f8d7 3084 ldr.w r3, [r7, #132] ; 0x84 80c7952: 2b16 cmp r3, #22 80c7954: d101 bne.n 80c795a LEAVE_FF(fs, FR_INVALID_NAME); 80c7956: 2306 movs r3, #6 80c7958: e142 b.n 80c7be0 } st_word(dirvn + j, w); j += 2; 80c795a: f107 020c add.w r2, r7, #12 80c795e: f8d7 3084 ldr.w r3, [r7, #132] ; 0x84 80c7962: 4413 add r3, r2 80c7964: f8b7 207e ldrh.w r2, [r7, #126] ; 0x7e 80c7968: 4611 mov r1, r2 80c796a: 4618 mov r0, r3 80c796c: f7fb f8b4 bl 80c2ad8 80c7970: f8d7 3084 ldr.w r3, [r7, #132] ; 0x84 80c7974: 3302 adds r3, #2 80c7976: f8c7 3084 str.w r3, [r7, #132] ; 0x84 for (i = j = 0; i < slen; ) { /* Create volume label in directory form */ 80c797a: f8d7 2088 ldr.w r2, [r7, #136] ; 0x88 80c797e: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 80c7982: 429a cmp r2, r3 80c7984: d3c3 bcc.n 80c790e } slen = j; 80c7986: f8d7 3084 ldr.w r3, [r7, #132] ; 0x84 80c798a: f8c7 3080 str.w r3, [r7, #128] ; 0x80 80c798e: e08e b.n 80c7aae } else #endif { /* On the FAT12/16/32 volume */ for ( ; slen && label[slen - 1] == ' '; slen--) ; /* Remove trailing spaces */ 80c7990: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 80c7994: 3b01 subs r3, #1 80c7996: f8c7 3080 str.w r3, [r7, #128] ; 0x80 80c799a: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 80c799e: 2b00 cmp r3, #0 80c79a0: d007 beq.n 80c79b2 80c79a2: 687a ldr r2, [r7, #4] 80c79a4: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 80c79a8: 3b01 subs r3, #1 80c79aa: 4413 add r3, r2 80c79ac: 781b ldrb r3, [r3, #0] 80c79ae: 2b20 cmp r3, #32 80c79b0: d0ee beq.n 80c7990 if (slen) { /* Is there a volume label to be set? */ 80c79b2: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 80c79b6: 2b00 cmp r3, #0 80c79b8: d079 beq.n 80c7aae dirvn[0] = 0; i = j = 0; /* Create volume label in directory form */ 80c79ba: 2300 movs r3, #0 80c79bc: 733b strb r3, [r7, #12] 80c79be: 2300 movs r3, #0 80c79c0: f8c7 3084 str.w r3, [r7, #132] ; 0x84 80c79c4: f8d7 3084 ldr.w r3, [r7, #132] ; 0x84 80c79c8: 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++]; 80c79cc: 687a ldr r2, [r7, #4] 80c79ce: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 80c79d2: 1c59 adds r1, r3, #1 80c79d4: f8c7 1088 str.w r1, [r7, #136] ; 0x88 80c79d8: 4413 add r3, r2 80c79da: 781b ldrb r3, [r3, #0] 80c79dc: 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); 80c79e0: f8b7 307e ldrh.w r3, [r7, #126] ; 0x7e 80c79e4: 2101 movs r1, #1 80c79e6: 4618 mov r0, r3 80c79e8: f001 fa40 bl 80c8e6c 80c79ec: 4603 mov r3, r0 80c79ee: 4618 mov r0, r3 80c79f0: f001 fa78 bl 80c8ee4 80c79f4: 4603 mov r3, r0 80c79f6: 2100 movs r1, #0 80c79f8: 4618 mov r0, r3 80c79fa: f001 fa37 bl 80c8e6c 80c79fe: 4603 mov r3, r0 80c7a00: 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 */ 80c7a04: f8b7 307e ldrh.w r3, [r7, #126] ; 0x7e 80c7a08: 2b00 cmp r3, #0 80c7a0a: d013 beq.n 80c7a34 80c7a0c: f8b7 307e ldrh.w r3, [r7, #126] ; 0x7e 80c7a10: 4619 mov r1, r3 80c7a12: 4875 ldr r0, [pc, #468] ; (80c7be8 ) 80c7a14: f7fb f99a bl 80c2d4c 80c7a18: 4603 mov r3, r0 80c7a1a: 2b00 cmp r3, #0 80c7a1c: d10a bne.n 80c7a34 80c7a1e: f8b7 307e ldrh.w r3, [r7, #126] ; 0x7e 80c7a22: 2bff cmp r3, #255 ; 0xff 80c7a24: d901 bls.n 80c7a2a 80c7a26: 220a movs r2, #10 80c7a28: e000 b.n 80c7a2c 80c7a2a: 220b movs r2, #11 80c7a2c: f8d7 3084 ldr.w r3, [r7, #132] ; 0x84 80c7a30: 429a cmp r2, r3 80c7a32: d801 bhi.n 80c7a38 LEAVE_FF(fs, FR_INVALID_NAME); 80c7a34: 2306 movs r3, #6 80c7a36: e0d3 b.n 80c7be0 } if (w >= 0x100) dirvn[j++] = (BYTE)(w >> 8); 80c7a38: f8b7 307e ldrh.w r3, [r7, #126] ; 0x7e 80c7a3c: 2bff cmp r3, #255 ; 0xff 80c7a3e: d90e bls.n 80c7a5e 80c7a40: f8d7 3084 ldr.w r3, [r7, #132] ; 0x84 80c7a44: 1c5a adds r2, r3, #1 80c7a46: f8c7 2084 str.w r2, [r7, #132] ; 0x84 80c7a4a: f8b7 207e ldrh.w r2, [r7, #126] ; 0x7e 80c7a4e: 0a12 lsrs r2, r2, #8 80c7a50: b292 uxth r2, r2 80c7a52: b2d2 uxtb r2, r2 80c7a54: f107 0190 add.w r1, r7, #144 ; 0x90 80c7a58: 440b add r3, r1 80c7a5a: f803 2c84 strb.w r2, [r3, #-132] dirvn[j++] = (BYTE)w; 80c7a5e: f8d7 3084 ldr.w r3, [r7, #132] ; 0x84 80c7a62: 1c5a adds r2, r3, #1 80c7a64: f8c7 2084 str.w r2, [r7, #132] ; 0x84 80c7a68: f8b7 207e ldrh.w r2, [r7, #126] ; 0x7e 80c7a6c: b2d2 uxtb r2, r2 80c7a6e: f107 0190 add.w r1, r7, #144 ; 0x90 80c7a72: 440b add r3, r1 80c7a74: f803 2c84 strb.w r2, [r3, #-132] } while (i < slen); 80c7a78: f8d7 2088 ldr.w r2, [r7, #136] ; 0x88 80c7a7c: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 80c7a80: 429a cmp r2, r3 80c7a82: d3a3 bcc.n 80c79cc while (j < 11) dirvn[j++] = ' '; /* Fill remaining name field */ 80c7a84: e00a b.n 80c7a9c 80c7a86: f8d7 3084 ldr.w r3, [r7, #132] ; 0x84 80c7a8a: 1c5a adds r2, r3, #1 80c7a8c: f8c7 2084 str.w r2, [r7, #132] ; 0x84 80c7a90: f107 0290 add.w r2, r7, #144 ; 0x90 80c7a94: 4413 add r3, r2 80c7a96: 2220 movs r2, #32 80c7a98: f803 2c84 strb.w r2, [r3, #-132] 80c7a9c: f8d7 3084 ldr.w r3, [r7, #132] ; 0x84 80c7aa0: 2b0a cmp r3, #10 80c7aa2: d9f0 bls.n 80c7a86 if (dirvn[0] == DDEM) LEAVE_FF(fs, FR_INVALID_NAME); /* Reject illegal name (heading DDEM) */ 80c7aa4: 7b3b ldrb r3, [r7, #12] 80c7aa6: 2be5 cmp r3, #229 ; 0xe5 80c7aa8: d101 bne.n 80c7aae 80c7aaa: 2306 movs r3, #6 80c7aac: e098 b.n 80c7be0 } } /* Set volume label */ dj.obj.sclust = 0; /* Open root directory */ 80c7aae: 2300 movs r3, #0 80c7ab0: 633b str r3, [r7, #48] ; 0x30 res = dir_sdi(&dj, 0); 80c7ab2: f107 0328 add.w r3, r7, #40 ; 0x28 80c7ab6: 2100 movs r1, #0 80c7ab8: 4618 mov r0, r3 80c7aba: f7fb ffa6 bl 80c3a0a 80c7abe: 4603 mov r3, r0 80c7ac0: f887 308f strb.w r3, [r7, #143] ; 0x8f if (res == FR_OK) { 80c7ac4: f897 308f ldrb.w r3, [r7, #143] ; 0x8f 80c7ac8: 2b00 cmp r3, #0 80c7aca: f040 8087 bne.w 80c7bdc res = dir_read(&dj, 1); /* Get volume label entry */ 80c7ace: f107 0328 add.w r3, r7, #40 ; 0x28 80c7ad2: 2101 movs r1, #1 80c7ad4: 4618 mov r0, r3 80c7ad6: f7fc fe4b bl 80c4770 80c7ada: 4603 mov r3, r0 80c7adc: f887 308f strb.w r3, [r7, #143] ; 0x8f if (res == FR_OK) { 80c7ae0: f897 308f ldrb.w r3, [r7, #143] ; 0x8f 80c7ae4: 2b00 cmp r3, #0 80c7ae6: d12e bne.n 80c7b46 if (_FS_EXFAT && fs->fs_type == FS_EXFAT) { 80c7ae8: 6a7b ldr r3, [r7, #36] ; 0x24 80c7aea: 781b ldrb r3, [r3, #0] 80c7aec: 2b04 cmp r3, #4 80c7aee: d110 bne.n 80c7b12 dj.dir[XDIR_NumLabel] = (BYTE)(slen / 2); /* Change the volume label */ 80c7af0: 6e7b ldr r3, [r7, #100] ; 0x64 80c7af2: 3301 adds r3, #1 80c7af4: f8d7 2080 ldr.w r2, [r7, #128] ; 0x80 80c7af8: 0852 lsrs r2, r2, #1 80c7afa: b2d2 uxtb r2, r2 80c7afc: 701a strb r2, [r3, #0] mem_cpy(dj.dir + XDIR_Label, dirvn, slen); 80c7afe: 6e7b ldr r3, [r7, #100] ; 0x64 80c7b00: 3302 adds r3, #2 80c7b02: f107 010c add.w r1, r7, #12 80c7b06: f8d7 2080 ldr.w r2, [r7, #128] ; 0x80 80c7b0a: 4618 mov r0, r3 80c7b0c: f7fb f8bc bl 80c2c88 80c7b10: e00e b.n 80c7b30 } else { if (slen) { 80c7b12: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 80c7b16: 2b00 cmp r3, #0 80c7b18: d007 beq.n 80c7b2a mem_cpy(dj.dir, dirvn, 11); /* Change the volume label */ 80c7b1a: 6e7b ldr r3, [r7, #100] ; 0x64 80c7b1c: f107 010c add.w r1, r7, #12 80c7b20: 220b movs r2, #11 80c7b22: 4618 mov r0, r3 80c7b24: f7fb f8b0 bl 80c2c88 80c7b28: e002 b.n 80c7b30 } else { dj.dir[DIR_Name] = DDEM; /* Remove the volume label */ 80c7b2a: 6e7b ldr r3, [r7, #100] ; 0x64 80c7b2c: 22e5 movs r2, #229 ; 0xe5 80c7b2e: 701a strb r2, [r3, #0] } } fs->wflag = 1; 80c7b30: 6a7b ldr r3, [r7, #36] ; 0x24 80c7b32: 2201 movs r2, #1 80c7b34: 70da strb r2, [r3, #3] res = sync_fs(fs); 80c7b36: 6a7b ldr r3, [r7, #36] ; 0x24 80c7b38: 4618 mov r0, r3 80c7b3a: f7fb f993 bl 80c2e64 80c7b3e: 4603 mov r3, r0 80c7b40: f887 308f strb.w r3, [r7, #143] ; 0x8f 80c7b44: e04a b.n 80c7bdc } else { /* No volume label entry is found or error */ if (res == FR_NO_FILE) { 80c7b46: f897 308f ldrb.w r3, [r7, #143] ; 0x8f 80c7b4a: 2b04 cmp r3, #4 80c7b4c: d146 bne.n 80c7bdc res = FR_OK; 80c7b4e: 2300 movs r3, #0 80c7b50: f887 308f strb.w r3, [r7, #143] ; 0x8f if (slen) { /* Create a volume label entry */ 80c7b54: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 80c7b58: 2b00 cmp r3, #0 80c7b5a: d03f beq.n 80c7bdc res = dir_alloc(&dj, 1); /* Allocate an entry */ 80c7b5c: f107 0328 add.w r3, r7, #40 ; 0x28 80c7b60: 2101 movs r1, #1 80c7b62: 4618 mov r0, r3 80c7b64: f7fc f8ac bl 80c3cc0 80c7b68: 4603 mov r3, r0 80c7b6a: f887 308f strb.w r3, [r7, #143] ; 0x8f if (res == FR_OK) { 80c7b6e: f897 308f ldrb.w r3, [r7, #143] ; 0x8f 80c7b72: 2b00 cmp r3, #0 80c7b74: d132 bne.n 80c7bdc mem_set(dj.dir, 0, SZDIRE); /* Clear the entry */ 80c7b76: 6e7b ldr r3, [r7, #100] ; 0x64 80c7b78: 2220 movs r2, #32 80c7b7a: 2100 movs r1, #0 80c7b7c: 4618 mov r0, r3 80c7b7e: f7fb f8a4 bl 80c2cca if (_FS_EXFAT && fs->fs_type == FS_EXFAT) { 80c7b82: 6a7b ldr r3, [r7, #36] ; 0x24 80c7b84: 781b ldrb r3, [r3, #0] 80c7b86: 2b04 cmp r3, #4 80c7b88: d113 bne.n 80c7bb2 dj.dir[XDIR_Type] = 0x83; /* Create 83 entry */ 80c7b8a: 6e7b ldr r3, [r7, #100] ; 0x64 80c7b8c: 2283 movs r2, #131 ; 0x83 80c7b8e: 701a strb r2, [r3, #0] dj.dir[XDIR_NumLabel] = (BYTE)(slen / 2); 80c7b90: 6e7b ldr r3, [r7, #100] ; 0x64 80c7b92: 3301 adds r3, #1 80c7b94: f8d7 2080 ldr.w r2, [r7, #128] ; 0x80 80c7b98: 0852 lsrs r2, r2, #1 80c7b9a: b2d2 uxtb r2, r2 80c7b9c: 701a strb r2, [r3, #0] mem_cpy(dj.dir + XDIR_Label, dirvn, slen); 80c7b9e: 6e7b ldr r3, [r7, #100] ; 0x64 80c7ba0: 3302 adds r3, #2 80c7ba2: f107 010c add.w r1, r7, #12 80c7ba6: f8d7 2080 ldr.w r2, [r7, #128] ; 0x80 80c7baa: 4618 mov r0, r3 80c7bac: f7fb f86c bl 80c2c88 80c7bb0: e00a b.n 80c7bc8 } else { dj.dir[DIR_Attr] = AM_VOL; /* Create volume label entry */ 80c7bb2: 6e7b ldr r3, [r7, #100] ; 0x64 80c7bb4: 330b adds r3, #11 80c7bb6: 2208 movs r2, #8 80c7bb8: 701a strb r2, [r3, #0] mem_cpy(dj.dir, dirvn, 11); 80c7bba: 6e7b ldr r3, [r7, #100] ; 0x64 80c7bbc: f107 010c add.w r1, r7, #12 80c7bc0: 220b movs r2, #11 80c7bc2: 4618 mov r0, r3 80c7bc4: f7fb f860 bl 80c2c88 } fs->wflag = 1; 80c7bc8: 6a7b ldr r3, [r7, #36] ; 0x24 80c7bca: 2201 movs r2, #1 80c7bcc: 70da strb r2, [r3, #3] res = sync_fs(fs); 80c7bce: 6a7b ldr r3, [r7, #36] ; 0x24 80c7bd0: 4618 mov r0, r3 80c7bd2: f7fb f947 bl 80c2e64 80c7bd6: 4603 mov r3, r0 80c7bd8: f887 308f strb.w r3, [r7, #143] ; 0x8f } } } } LEAVE_FF(fs, res); 80c7bdc: f897 308f ldrb.w r3, [r7, #143] ; 0x8f } 80c7be0: 4618 mov r0, r3 80c7be2: 3790 adds r7, #144 ; 0x90 80c7be4: 46bd mov sp, r7 80c7be6: bd80 pop {r7, pc} 80c7be8: 08169c68 .word 0x08169c68 080c7bec : BYTE opt, /* Format option */ DWORD au, /* Size of allocation unit (cluster) [byte] */ void* work, /* Pointer to working buffer */ UINT len /* Size of working buffer */ ) { 80c7bec: b590 push {r4, r7, lr} 80c7bee: b0a9 sub sp, #164 ; 0xa4 80c7bf0: af00 add r7, sp, #0 80c7bf2: 60f8 str r0, [r7, #12] 80c7bf4: 607a str r2, [r7, #4] 80c7bf6: 603b str r3, [r7, #0] 80c7bf8: 460b mov r3, r1 80c7bfa: 72fb strb r3, [r7, #11] const UINT n_fats = 1; /* Number of FATs for FAT12/16/32 volume (1 or 2) */ 80c7bfc: 2301 movs r3, #1 80c7bfe: 657b str r3, [r7, #84] ; 0x54 const UINT n_rootdir = 512; /* Number of root directory entries for FAT12/16 volume */ 80c7c00: f44f 7300 mov.w r3, #512 ; 0x200 80c7c04: 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 */ 80c7c06: f107 030c add.w r3, r7, #12 80c7c0a: 4618 mov r0, r3 80c7c0c: f7fd fcf2 bl 80c55f4 80c7c10: 64f8 str r0, [r7, #76] ; 0x4c if (vol < 0) return FR_INVALID_DRIVE; 80c7c12: 6cfb ldr r3, [r7, #76] ; 0x4c 80c7c14: 2b00 cmp r3, #0 80c7c16: da02 bge.n 80c7c1e 80c7c18: 230b movs r3, #11 80c7c1a: f001 b8c4 b.w 80c8da6 if (FatFs[vol]) FatFs[vol]->fs_type = 0; /* Clear the volume */ 80c7c1e: 4abf ldr r2, [pc, #764] ; (80c7f1c ) 80c7c20: 6cfb ldr r3, [r7, #76] ; 0x4c 80c7c22: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80c7c26: 2b00 cmp r3, #0 80c7c28: d005 beq.n 80c7c36 80c7c2a: 4abc ldr r2, [pc, #752] ; (80c7f1c ) 80c7c2c: 6cfb ldr r3, [r7, #76] ; 0x4c 80c7c2e: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80c7c32: 2200 movs r2, #0 80c7c34: 701a strb r2, [r3, #0] pdrv = LD2PD(vol); /* Physical drive */ 80c7c36: 6cfb ldr r3, [r7, #76] ; 0x4c 80c7c38: f887 304b strb.w r3, [r7, #75] ; 0x4b part = LD2PT(vol); /* Partition (0:create as new, 1-4:get from partition table) */ 80c7c3c: 2300 movs r3, #0 80c7c3e: f887 304a strb.w r3, [r7, #74] ; 0x4a /* Check physical drive status */ stat = disk_initialize(pdrv); 80c7c42: f897 304b ldrb.w r3, [r7, #75] ; 0x4b 80c7c46: 4618 mov r0, r3 80c7c48: f7fa fdd8 bl 80c27fc 80c7c4c: 4603 mov r3, r0 80c7c4e: f887 3049 strb.w r3, [r7, #73] ; 0x49 if (stat & STA_NOINIT) return FR_NOT_READY; 80c7c52: f897 3049 ldrb.w r3, [r7, #73] ; 0x49 80c7c56: f003 0301 and.w r3, r3, #1 80c7c5a: 2b00 cmp r3, #0 80c7c5c: d002 beq.n 80c7c64 80c7c5e: 2303 movs r3, #3 80c7c60: f001 b8a1 b.w 80c8da6 if (stat & STA_PROTECT) return FR_WRITE_PROTECTED; 80c7c64: f897 3049 ldrb.w r3, [r7, #73] ; 0x49 80c7c68: f003 0304 and.w r3, r3, #4 80c7c6c: 2b00 cmp r3, #0 80c7c6e: d002 beq.n 80c7c76 80c7c70: 230a movs r3, #10 80c7c72: f001 b898 b.w 80c8da6 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 */ 80c7c76: f107 0220 add.w r2, r7, #32 80c7c7a: f897 304b ldrb.w r3, [r7, #75] ; 0x4b 80c7c7e: 2103 movs r1, #3 80c7c80: 4618 mov r0, r3 80c7c82: f7fa fe21 bl 80c28c8 80c7c86: 4603 mov r3, r0 80c7c88: 2b00 cmp r3, #0 80c7c8a: d10c bne.n 80c7ca6 80c7c8c: 6a3b ldr r3, [r7, #32] 80c7c8e: 2b00 cmp r3, #0 80c7c90: d009 beq.n 80c7ca6 80c7c92: 6a3b ldr r3, [r7, #32] 80c7c94: f5b3 4f00 cmp.w r3, #32768 ; 0x8000 80c7c98: d805 bhi.n 80c7ca6 80c7c9a: 6a3b ldr r3, [r7, #32] 80c7c9c: 1e5a subs r2, r3, #1 80c7c9e: 6a3b ldr r3, [r7, #32] 80c7ca0: 4013 ands r3, r2 80c7ca2: 2b00 cmp r3, #0 80c7ca4: d001 beq.n 80c7caa 80c7ca6: 2301 movs r3, #1 80c7ca8: 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; 80c7caa: f44f 7300 mov.w r3, #512 ; 0x200 80c7cae: 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 */ 80c7cb2: 687b ldr r3, [r7, #4] 80c7cb4: 2b00 cmp r3, #0 80c7cb6: d004 beq.n 80c7cc2 80c7cb8: f8b7 2046 ldrh.w r2, [r7, #70] ; 0x46 80c7cbc: 687b ldr r3, [r7, #4] 80c7cbe: 429a cmp r2, r3 80c7cc0: d809 bhi.n 80c7cd6 80c7cc2: 687b ldr r3, [r7, #4] 80c7cc4: f1b3 7f80 cmp.w r3, #16777216 ; 0x1000000 80c7cc8: d805 bhi.n 80c7cd6 80c7cca: 687b ldr r3, [r7, #4] 80c7ccc: 1e5a subs r2, r3, #1 80c7cce: 687b ldr r3, [r7, #4] 80c7cd0: 4013 ands r3, r2 80c7cd2: 2b00 cmp r3, #0 80c7cd4: d002 beq.n 80c7cdc 80c7cd6: 2313 movs r3, #19 80c7cd8: f001 b865 b.w 80c8da6 au /= ss; /* Cluster size in unit of sector */ 80c7cdc: f8b7 3046 ldrh.w r3, [r7, #70] ; 0x46 80c7ce0: 687a ldr r2, [r7, #4] 80c7ce2: fbb2 f3f3 udiv r3, r2, r3 80c7ce6: 607b str r3, [r7, #4] /* Get working buffer */ buf = (BYTE*)work; /* Working buffer */ 80c7ce8: 683b ldr r3, [r7, #0] 80c7cea: 643b str r3, [r7, #64] ; 0x40 sz_buf = len / ss; /* Size of working buffer (sector) */ 80c7cec: f8b7 3046 ldrh.w r3, [r7, #70] ; 0x46 80c7cf0: f8d7 20b0 ldr.w r2, [r7, #176] ; 0xb0 80c7cf4: fbb2 f3f3 udiv r3, r2, r3 80c7cf8: 63fb str r3, [r7, #60] ; 0x3c szb_buf = sz_buf * ss; /* Size of working buffer (byte) */ 80c7cfa: f8b7 3046 ldrh.w r3, [r7, #70] ; 0x46 80c7cfe: 6bfa ldr r2, [r7, #60] ; 0x3c 80c7d00: fb02 f303 mul.w r3, r2, r3 80c7d04: 63bb str r3, [r7, #56] ; 0x38 if (!szb_buf) return FR_MKFS_ABORTED; 80c7d06: 6bbb ldr r3, [r7, #56] ; 0x38 80c7d08: 2b00 cmp r3, #0 80c7d0a: d102 bne.n 80c7d12 80c7d0c: 230e movs r3, #14 80c7d0e: f001 b84a b.w 80c8da6 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; 80c7d12: f107 021c add.w r2, r7, #28 80c7d16: f897 304b ldrb.w r3, [r7, #75] ; 0x4b 80c7d1a: 2101 movs r1, #1 80c7d1c: 4618 mov r0, r3 80c7d1e: f7fa fdd3 bl 80c28c8 80c7d22: 4603 mov r3, r0 80c7d24: 2b00 cmp r3, #0 80c7d26: d002 beq.n 80c7d2e 80c7d28: 2301 movs r3, #1 80c7d2a: f001 b83c b.w 80c8da6 b_vol = (opt & FM_SFD) ? 0 : 63; /* Volume start sector */ 80c7d2e: 7afb ldrb r3, [r7, #11] 80c7d30: f003 0308 and.w r3, r3, #8 80c7d34: 2b00 cmp r3, #0 80c7d36: d001 beq.n 80c7d3c 80c7d38: 2300 movs r3, #0 80c7d3a: e000 b.n 80c7d3e 80c7d3c: 233f movs r3, #63 ; 0x3f 80c7d3e: 637b str r3, [r7, #52] ; 0x34 if (sz_vol < b_vol) return FR_MKFS_ABORTED; 80c7d40: 69fa ldr r2, [r7, #28] 80c7d42: 6b7b ldr r3, [r7, #52] ; 0x34 80c7d44: 429a cmp r2, r3 80c7d46: d202 bcs.n 80c7d4e 80c7d48: 230e movs r3, #14 80c7d4a: f001 b82c b.w 80c8da6 sz_vol -= b_vol; /* Volume size */ 80c7d4e: 69fa ldr r2, [r7, #28] 80c7d50: 6b7b ldr r3, [r7, #52] ; 0x34 80c7d52: 1ad3 subs r3, r2, r3 80c7d54: 61fb str r3, [r7, #28] } if (sz_vol < 128) return FR_MKFS_ABORTED; /* Check if volume size is >=128s */ 80c7d56: 69fb ldr r3, [r7, #28] 80c7d58: 2b7f cmp r3, #127 ; 0x7f 80c7d5a: d802 bhi.n 80c7d62 80c7d5c: 230e movs r3, #14 80c7d5e: f001 b822 b.w 80c8da6 /* Pre-determine the FAT type */ do { if (_FS_EXFAT && (opt & FM_EXFAT)) { /* exFAT possible? */ 80c7d62: 7afb ldrb r3, [r7, #11] 80c7d64: f003 0304 and.w r3, r3, #4 80c7d68: 2b00 cmp r3, #0 80c7d6a: d00f beq.n 80c7d8c if ((opt & FM_ANY) == FM_EXFAT || sz_vol >= 0x4000000 || au > 128) { /* exFAT only, vol >= 64Ms or au > 128s ? */ 80c7d6c: 7afb ldrb r3, [r7, #11] 80c7d6e: f003 0307 and.w r3, r3, #7 80c7d72: 2b04 cmp r3, #4 80c7d74: d006 beq.n 80c7d84 80c7d76: 69fb ldr r3, [r7, #28] 80c7d78: f1b3 6f80 cmp.w r3, #67108864 ; 0x4000000 80c7d7c: d202 bcs.n 80c7d84 80c7d7e: 687b ldr r3, [r7, #4] 80c7d80: 2b80 cmp r3, #128 ; 0x80 80c7d82: d903 bls.n 80c7d8c fmt = FS_EXFAT; break; 80c7d84: 2304 movs r3, #4 80c7d86: f887 309f strb.w r3, [r7, #159] ; 0x9f 80c7d8a: e023 b.n 80c7dd4 } } if (au > 128) return FR_INVALID_PARAMETER; /* Too large au for FAT/FAT32 */ 80c7d8c: 687b ldr r3, [r7, #4] 80c7d8e: 2b80 cmp r3, #128 ; 0x80 80c7d90: d902 bls.n 80c7d98 80c7d92: 2313 movs r3, #19 80c7d94: f001 b807 b.w 80c8da6 if (opt & FM_FAT32) { /* FAT32 possible? */ 80c7d98: 7afb ldrb r3, [r7, #11] 80c7d9a: f003 0302 and.w r3, r3, #2 80c7d9e: 2b00 cmp r3, #0 80c7da0: d00d beq.n 80c7dbe if ((opt & FM_ANY) == FM_FAT32 || !(opt & FM_FAT)) { /* FAT32 only or no-FAT? */ 80c7da2: 7afb ldrb r3, [r7, #11] 80c7da4: f003 0307 and.w r3, r3, #7 80c7da8: 2b02 cmp r3, #2 80c7daa: d004 beq.n 80c7db6 80c7dac: 7afb ldrb r3, [r7, #11] 80c7dae: f003 0301 and.w r3, r3, #1 80c7db2: 2b00 cmp r3, #0 80c7db4: d103 bne.n 80c7dbe fmt = FS_FAT32; break; 80c7db6: 2303 movs r3, #3 80c7db8: f887 309f strb.w r3, [r7, #159] ; 0x9f 80c7dbc: e00a b.n 80c7dd4 } } if (!(opt & FM_FAT)) return FR_INVALID_PARAMETER; /* no-FAT? */ 80c7dbe: 7afb ldrb r3, [r7, #11] 80c7dc0: f003 0301 and.w r3, r3, #1 80c7dc4: 2b00 cmp r3, #0 80c7dc6: d102 bne.n 80c7dce 80c7dc8: 2313 movs r3, #19 80c7dca: f000 bfec b.w 80c8da6 fmt = FS_FAT16; 80c7dce: 2302 movs r3, #2 80c7dd0: f887 309f strb.w r3, [r7, #159] ; 0x9f } while (0); #if _FS_EXFAT if (fmt == FS_EXFAT) { /* Create an exFAT volume */ 80c7dd4: f897 309f ldrb.w r3, [r7, #159] ; 0x9f 80c7dd8: 2b04 cmp r3, #4 80c7dda: f040 842c bne.w 80c8636 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? */ 80c7dde: 69fb ldr r3, [r7, #28] 80c7de0: f5b3 5f80 cmp.w r3, #4096 ; 0x1000 80c7de4: d202 bcs.n 80c7dec 80c7de6: 230e movs r3, #14 80c7de8: f000 bfdd b.w 80c8da6 #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 */ 80c7dec: 687b ldr r3, [r7, #4] 80c7dee: 2b00 cmp r3, #0 80c7df0: d10e bne.n 80c7e10 au = 8; 80c7df2: 2308 movs r3, #8 80c7df4: 607b str r3, [r7, #4] if (sz_vol >= 0x80000) au = 64; /* >= 512Ks */ 80c7df6: 69fb ldr r3, [r7, #28] 80c7df8: f5b3 2f00 cmp.w r3, #524288 ; 0x80000 80c7dfc: d301 bcc.n 80c7e02 80c7dfe: 2340 movs r3, #64 ; 0x40 80c7e00: 607b str r3, [r7, #4] if (sz_vol >= 0x4000000) au = 256; /* >= 64Ms */ 80c7e02: 69fb ldr r3, [r7, #28] 80c7e04: f1b3 6f80 cmp.w r3, #67108864 ; 0x4000000 80c7e08: d302 bcc.n 80c7e10 80c7e0a: f44f 7380 mov.w r3, #256 ; 0x100 80c7e0e: 607b str r3, [r7, #4] } b_fat = b_vol + 32; /* FAT start at offset 32 */ 80c7e10: 6b7b ldr r3, [r7, #52] ; 0x34 80c7e12: 3320 adds r3, #32 80c7e14: f8c7 3088 str.w r3, [r7, #136] ; 0x88 sz_fat = ((sz_vol / au + 2) * 4 + ss - 1) / ss; /* Number of FAT sectors */ 80c7e18: 69fa ldr r2, [r7, #28] 80c7e1a: 687b ldr r3, [r7, #4] 80c7e1c: fbb2 f3f3 udiv r3, r2, r3 80c7e20: 3302 adds r3, #2 80c7e22: 009a lsls r2, r3, #2 80c7e24: f8b7 3046 ldrh.w r3, [r7, #70] ; 0x46 80c7e28: 4413 add r3, r2 80c7e2a: 1e5a subs r2, r3, #1 80c7e2c: f8b7 3046 ldrh.w r3, [r7, #70] ; 0x46 80c7e30: fbb2 f3f3 udiv r3, r2, r3 80c7e34: 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 */ 80c7e38: f8d7 2088 ldr.w r2, [r7, #136] ; 0x88 80c7e3c: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 80c7e40: 441a add r2, r3 80c7e42: 6a3b ldr r3, [r7, #32] 80c7e44: 4413 add r3, r2 80c7e46: 1e5a subs r2, r3, #1 80c7e48: 6a3b ldr r3, [r7, #32] 80c7e4a: 425b negs r3, r3 80c7e4c: 4013 ands r3, r2 80c7e4e: 633b str r3, [r7, #48] ; 0x30 if (b_data >= sz_vol / 2) return FR_MKFS_ABORTED; /* Too small volume? */ 80c7e50: 69fb ldr r3, [r7, #28] 80c7e52: 085a lsrs r2, r3, #1 80c7e54: 6b3b ldr r3, [r7, #48] ; 0x30 80c7e56: 429a cmp r2, r3 80c7e58: d802 bhi.n 80c7e60 80c7e5a: 230e movs r3, #14 80c7e5c: f000 bfa3 b.w 80c8da6 n_clst = (sz_vol - (b_data - b_vol)) / au; /* Number of clusters */ 80c7e60: 6b7a ldr r2, [r7, #52] ; 0x34 80c7e62: 6b3b ldr r3, [r7, #48] ; 0x30 80c7e64: 1ad2 subs r2, r2, r3 80c7e66: 69fb ldr r3, [r7, #28] 80c7e68: 441a add r2, r3 80c7e6a: 687b ldr r3, [r7, #4] 80c7e6c: fbb2 f3f3 udiv r3, r2, r3 80c7e70: 62fb str r3, [r7, #44] ; 0x2c if (n_clst <16) return FR_MKFS_ABORTED; /* Too few clusters? */ 80c7e72: 6afb ldr r3, [r7, #44] ; 0x2c 80c7e74: 2b0f cmp r3, #15 80c7e76: d802 bhi.n 80c7e7e 80c7e78: 230e movs r3, #14 80c7e7a: f000 bf94 b.w 80c8da6 if (n_clst > MAX_EXFAT) return FR_MKFS_ABORTED; /* Too many clusters? */ 80c7e7e: 6afb ldr r3, [r7, #44] ; 0x2c 80c7e80: 4a27 ldr r2, [pc, #156] ; (80c7f20 ) 80c7e82: 4293 cmp r3, r2 80c7e84: d902 bls.n 80c7e8c 80c7e86: 230e movs r3, #14 80c7e88: f000 bf8d b.w 80c8da6 szb_bit = (n_clst + 7) / 8; /* Size of allocation bitmap */ 80c7e8c: 6afb ldr r3, [r7, #44] ; 0x2c 80c7e8e: 3307 adds r3, #7 80c7e90: 08db lsrs r3, r3, #3 80c7e92: 62bb str r3, [r7, #40] ; 0x28 tbl[0] = (szb_bit + au * ss - 1) / (au * ss); /* Number of allocation bitmap clusters */ 80c7e94: f8b7 3046 ldrh.w r3, [r7, #70] ; 0x46 80c7e98: 687a ldr r2, [r7, #4] 80c7e9a: fb02 f203 mul.w r2, r2, r3 80c7e9e: 6abb ldr r3, [r7, #40] ; 0x28 80c7ea0: 4413 add r3, r2 80c7ea2: 1e5a subs r2, r3, #1 80c7ea4: f8b7 3046 ldrh.w r3, [r7, #70] ; 0x46 80c7ea8: 6879 ldr r1, [r7, #4] 80c7eaa: fb01 f303 mul.w r3, r1, r3 80c7eae: fbb2 f3f3 udiv r3, r2, r3 80c7eb2: 613b str r3, [r7, #16] /* Create a compressed up-case table */ sect = b_data + au * tbl[0]; /* Table start sector */ 80c7eb4: 693b ldr r3, [r7, #16] 80c7eb6: 687a ldr r2, [r7, #4] 80c7eb8: fb02 f203 mul.w r2, r2, r3 80c7ebc: 6b3b ldr r3, [r7, #48] ; 0x30 80c7ebe: 4413 add r3, r2 80c7ec0: f8c7 3094 str.w r3, [r7, #148] ; 0x94 sum = 0; /* Table checksum to be stored in the 82 entry */ 80c7ec4: 2300 movs r3, #0 80c7ec6: 673b str r3, [r7, #112] ; 0x70 st = si = i = j = szb_case = 0; 80c7ec8: 2300 movs r3, #0 80c7eca: 677b str r3, [r7, #116] ; 0x74 80c7ecc: 2300 movs r3, #0 80c7ece: 663b str r3, [r7, #96] ; 0x60 80c7ed0: 6e3b ldr r3, [r7, #96] ; 0x60 80c7ed2: 67bb str r3, [r7, #120] ; 0x78 80c7ed4: 6fbb ldr r3, [r7, #120] ; 0x78 80c7ed6: f8a7 3064 strh.w r3, [r7, #100] ; 0x64 80c7eda: f8b7 3064 ldrh.w r3, [r7, #100] ; 0x64 80c7ede: 65fb str r3, [r7, #92] ; 0x5c do { switch (st) { 80c7ee0: 6dfb ldr r3, [r7, #92] ; 0x5c 80c7ee2: 2b00 cmp r3, #0 80c7ee4: d002 beq.n 80c7eec 80c7ee6: 2b01 cmp r3, #1 80c7ee8: d045 beq.n 80c7f76 80c7eea: e054 b.n 80c7f96 case 0: ch = ff_wtoupper(si); /* Get an up-case char */ 80c7eec: f8b7 3064 ldrh.w r3, [r7, #100] ; 0x64 80c7ef0: 4618 mov r0, r3 80c7ef2: f000 fff7 bl 80c8ee4 80c7ef6: 4603 mov r3, r0 80c7ef8: f8a7 3066 strh.w r3, [r7, #102] ; 0x66 if (ch != si) { 80c7efc: f8b7 2066 ldrh.w r2, [r7, #102] ; 0x66 80c7f00: f8b7 3064 ldrh.w r3, [r7, #100] ; 0x64 80c7f04: 429a cmp r2, r3 80c7f06: d005 beq.n 80c7f14 si++; break; /* Store the up-case char if exist */ 80c7f08: f8b7 3064 ldrh.w r3, [r7, #100] ; 0x64 80c7f0c: 3301 adds r3, #1 80c7f0e: f8a7 3064 strh.w r3, [r7, #100] ; 0x64 80c7f12: e04e b.n 80c7fb2 } for (j = 1; (WCHAR)(si + j) && (WCHAR)(si + j) == ff_wtoupper((WCHAR)(si + j)); j++) ; /* Get run length of no-case block */ 80c7f14: 2301 movs r3, #1 80c7f16: 663b str r3, [r7, #96] ; 0x60 80c7f18: e007 b.n 80c7f2a 80c7f1a: bf00 nop 80c7f1c: 200216ac .word 0x200216ac 80c7f20: 7ffffffd .word 0x7ffffffd 80c7f24: 6e3b ldr r3, [r7, #96] ; 0x60 80c7f26: 3301 adds r3, #1 80c7f28: 663b str r3, [r7, #96] ; 0x60 80c7f2a: 6e3b ldr r3, [r7, #96] ; 0x60 80c7f2c: b29a uxth r2, r3 80c7f2e: f8b7 3064 ldrh.w r3, [r7, #100] ; 0x64 80c7f32: 4413 add r3, r2 80c7f34: b29b uxth r3, r3 80c7f36: 2b00 cmp r3, #0 80c7f38: d011 beq.n 80c7f5e 80c7f3a: 6e3b ldr r3, [r7, #96] ; 0x60 80c7f3c: b29a uxth r2, r3 80c7f3e: f8b7 3064 ldrh.w r3, [r7, #100] ; 0x64 80c7f42: 4413 add r3, r2 80c7f44: b29c uxth r4, r3 80c7f46: 6e3b ldr r3, [r7, #96] ; 0x60 80c7f48: b29a uxth r2, r3 80c7f4a: f8b7 3064 ldrh.w r3, [r7, #100] ; 0x64 80c7f4e: 4413 add r3, r2 80c7f50: b29b uxth r3, r3 80c7f52: 4618 mov r0, r3 80c7f54: f000 ffc6 bl 80c8ee4 80c7f58: 4603 mov r3, r0 80c7f5a: 429c cmp r4, r3 80c7f5c: d0e2 beq.n 80c7f24 if (j >= 128) { 80c7f5e: 6e3b ldr r3, [r7, #96] ; 0x60 80c7f60: 2b7f cmp r3, #127 ; 0x7f 80c7f62: d906 bls.n 80c7f72 ch = 0xFFFF; st = 2; break; /* Compress the no-case block if run is >= 128 */ 80c7f64: f64f 73ff movw r3, #65535 ; 0xffff 80c7f68: f8a7 3066 strh.w r3, [r7, #102] ; 0x66 80c7f6c: 2302 movs r3, #2 80c7f6e: 65fb str r3, [r7, #92] ; 0x5c 80c7f70: e01f b.n 80c7fb2 } st = 1; /* Do not compress short run */ 80c7f72: 2301 movs r3, #1 80c7f74: 65fb str r3, [r7, #92] ; 0x5c /* go to next case */ case 1: ch = si++; /* Fill the short run */ 80c7f76: f8b7 3064 ldrh.w r3, [r7, #100] ; 0x64 80c7f7a: 1c5a adds r2, r3, #1 80c7f7c: f8a7 2064 strh.w r2, [r7, #100] ; 0x64 80c7f80: f8a7 3066 strh.w r3, [r7, #102] ; 0x66 if (--j == 0) st = 0; 80c7f84: 6e3b ldr r3, [r7, #96] ; 0x60 80c7f86: 3b01 subs r3, #1 80c7f88: 663b str r3, [r7, #96] ; 0x60 80c7f8a: 6e3b ldr r3, [r7, #96] ; 0x60 80c7f8c: 2b00 cmp r3, #0 80c7f8e: d10f bne.n 80c7fb0 80c7f90: 2300 movs r3, #0 80c7f92: 65fb str r3, [r7, #92] ; 0x5c break; 80c7f94: e00c b.n 80c7fb0 default: ch = (WCHAR)j; si += j; /* Number of chars to skip */ 80c7f96: 6e3b ldr r3, [r7, #96] ; 0x60 80c7f98: f8a7 3066 strh.w r3, [r7, #102] ; 0x66 80c7f9c: 6e3b ldr r3, [r7, #96] ; 0x60 80c7f9e: b29a uxth r2, r3 80c7fa0: f8b7 3064 ldrh.w r3, [r7, #100] ; 0x64 80c7fa4: 4413 add r3, r2 80c7fa6: f8a7 3064 strh.w r3, [r7, #100] ; 0x64 st = 0; 80c7faa: 2300 movs r3, #0 80c7fac: 65fb str r3, [r7, #92] ; 0x5c 80c7fae: e000 b.n 80c7fb2 break; 80c7fb0: bf00 nop } sum = xsum32(buf[i + 0] = (BYTE)ch, sum); /* Put it into the write buffer */ 80c7fb2: 6c3a ldr r2, [r7, #64] ; 0x40 80c7fb4: 6fbb ldr r3, [r7, #120] ; 0x78 80c7fb6: 4413 add r3, r2 80c7fb8: f8b7 2066 ldrh.w r2, [r7, #102] ; 0x66 80c7fbc: b2d2 uxtb r2, r2 80c7fbe: 701a strb r2, [r3, #0] 80c7fc0: 781b ldrb r3, [r3, #0] 80c7fc2: 6f39 ldr r1, [r7, #112] ; 0x70 80c7fc4: 4618 mov r0, r3 80c7fc6: f7fc f97b bl 80c42c0 80c7fca: 6738 str r0, [r7, #112] ; 0x70 sum = xsum32(buf[i + 1] = (BYTE)(ch >> 8), sum); 80c7fcc: 6fbb ldr r3, [r7, #120] ; 0x78 80c7fce: 3301 adds r3, #1 80c7fd0: 6c3a ldr r2, [r7, #64] ; 0x40 80c7fd2: 4413 add r3, r2 80c7fd4: f8b7 2066 ldrh.w r2, [r7, #102] ; 0x66 80c7fd8: 0a12 lsrs r2, r2, #8 80c7fda: b292 uxth r2, r2 80c7fdc: b2d2 uxtb r2, r2 80c7fde: 701a strb r2, [r3, #0] 80c7fe0: 781b ldrb r3, [r3, #0] 80c7fe2: 6f39 ldr r1, [r7, #112] ; 0x70 80c7fe4: 4618 mov r0, r3 80c7fe6: f7fc f96b bl 80c42c0 80c7fea: 6738 str r0, [r7, #112] ; 0x70 i += 2; szb_case += 2; 80c7fec: 6fbb ldr r3, [r7, #120] ; 0x78 80c7fee: 3302 adds r3, #2 80c7ff0: 67bb str r3, [r7, #120] ; 0x78 80c7ff2: 6f7b ldr r3, [r7, #116] ; 0x74 80c7ff4: 3302 adds r3, #2 80c7ff6: 677b str r3, [r7, #116] ; 0x74 if (!si || i == szb_buf) { /* Write buffered data when buffer full or end of process */ 80c7ff8: f8b7 3064 ldrh.w r3, [r7, #100] ; 0x64 80c7ffc: 2b00 cmp r3, #0 80c7ffe: d003 beq.n 80c8008 80c8000: 6fba ldr r2, [r7, #120] ; 0x78 80c8002: 6bbb ldr r3, [r7, #56] ; 0x38 80c8004: 429a cmp r2, r3 80c8006: d122 bne.n 80c804e n = (i + ss - 1) / ss; 80c8008: f8b7 2046 ldrh.w r2, [r7, #70] ; 0x46 80c800c: 6fbb ldr r3, [r7, #120] ; 0x78 80c800e: 4413 add r3, r2 80c8010: 1e5a subs r2, r3, #1 80c8012: f8b7 3046 ldrh.w r3, [r7, #70] ; 0x46 80c8016: fbb2 f3f3 udiv r3, r2, r3 80c801a: f8c7 308c str.w r3, [r7, #140] ; 0x8c if (disk_write(pdrv, buf, sect, n) != RES_OK) return FR_DISK_ERR; 80c801e: f897 004b ldrb.w r0, [r7, #75] ; 0x4b 80c8022: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80c8026: f8d7 2094 ldr.w r2, [r7, #148] ; 0x94 80c802a: 6c39 ldr r1, [r7, #64] ; 0x40 80c802c: f7fa fc2c bl 80c2888 80c8030: 4603 mov r3, r0 80c8032: 2b00 cmp r3, #0 80c8034: d002 beq.n 80c803c 80c8036: 2301 movs r3, #1 80c8038: f000 beb5 b.w 80c8da6 sect += n; i = 0; 80c803c: f8d7 2094 ldr.w r2, [r7, #148] ; 0x94 80c8040: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80c8044: 4413 add r3, r2 80c8046: f8c7 3094 str.w r3, [r7, #148] ; 0x94 80c804a: 2300 movs r3, #0 80c804c: 67bb str r3, [r7, #120] ; 0x78 } } while (si); 80c804e: f8b7 3064 ldrh.w r3, [r7, #100] ; 0x64 80c8052: 2b00 cmp r3, #0 80c8054: f47f af44 bne.w 80c7ee0 tbl[1] = (szb_case + au * ss - 1) / (au * ss); /* Number of up-case table clusters */ 80c8058: f8b7 3046 ldrh.w r3, [r7, #70] ; 0x46 80c805c: 687a ldr r2, [r7, #4] 80c805e: fb02 f203 mul.w r2, r2, r3 80c8062: 6f7b ldr r3, [r7, #116] ; 0x74 80c8064: 4413 add r3, r2 80c8066: 1e5a subs r2, r3, #1 80c8068: f8b7 3046 ldrh.w r3, [r7, #70] ; 0x46 80c806c: 6879 ldr r1, [r7, #4] 80c806e: fb01 f303 mul.w r3, r1, r3 80c8072: fbb2 f3f3 udiv r3, r2, r3 80c8076: 617b str r3, [r7, #20] tbl[2] = 1; /* Number of root dir clusters */ 80c8078: 2301 movs r3, #1 80c807a: 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 */ 80c807c: 6b3b ldr r3, [r7, #48] ; 0x30 80c807e: f8c7 3094 str.w r3, [r7, #148] ; 0x94 80c8082: f8b7 2046 ldrh.w r2, [r7, #70] ; 0x46 80c8086: 6abb ldr r3, [r7, #40] ; 0x28 80c8088: 4413 add r3, r2 80c808a: 1e5a subs r2, r3, #1 80c808c: f8b7 3046 ldrh.w r3, [r7, #70] ; 0x46 80c8090: fbb2 f3f3 udiv r3, r2, r3 80c8094: f8c7 3090 str.w r3, [r7, #144] ; 0x90 nb = tbl[0] + tbl[1] + tbl[2]; /* Number of clusters in-use by system */ 80c8098: 693a ldr r2, [r7, #16] 80c809a: 697b ldr r3, [r7, #20] 80c809c: 441a add r2, r3 80c809e: 69bb ldr r3, [r7, #24] 80c80a0: 4413 add r3, r2 80c80a2: 66fb str r3, [r7, #108] ; 0x6c do { mem_set(buf, 0, szb_buf); 80c80a4: 6bba ldr r2, [r7, #56] ; 0x38 80c80a6: 2100 movs r1, #0 80c80a8: 6c38 ldr r0, [r7, #64] ; 0x40 80c80aa: f7fa fe0e bl 80c2cca for (i = 0; nb >= 8 && i < szb_buf; buf[i++] = 0xFF, nb -= 8) ; 80c80ae: 2300 movs r3, #0 80c80b0: 67bb str r3, [r7, #120] ; 0x78 80c80b2: e009 b.n 80c80c8 80c80b4: 6fbb ldr r3, [r7, #120] ; 0x78 80c80b6: 1c5a adds r2, r3, #1 80c80b8: 67ba str r2, [r7, #120] ; 0x78 80c80ba: 6c3a ldr r2, [r7, #64] ; 0x40 80c80bc: 4413 add r3, r2 80c80be: 22ff movs r2, #255 ; 0xff 80c80c0: 701a strb r2, [r3, #0] 80c80c2: 6efb ldr r3, [r7, #108] ; 0x6c 80c80c4: 3b08 subs r3, #8 80c80c6: 66fb str r3, [r7, #108] ; 0x6c 80c80c8: 6efb ldr r3, [r7, #108] ; 0x6c 80c80ca: 2b07 cmp r3, #7 80c80cc: d903 bls.n 80c80d6 80c80ce: 6fba ldr r2, [r7, #120] ; 0x78 80c80d0: 6bbb ldr r3, [r7, #56] ; 0x38 80c80d2: 429a cmp r2, r3 80c80d4: d3ee bcc.n 80c80b4 for (b = 1; nb && i < szb_buf; buf[i] |= b, b <<= 1, nb--) ; 80c80d6: 2301 movs r3, #1 80c80d8: f887 305b strb.w r3, [r7, #91] ; 0x5b 80c80dc: e013 b.n 80c8106 80c80de: 6c3a ldr r2, [r7, #64] ; 0x40 80c80e0: 6fbb ldr r3, [r7, #120] ; 0x78 80c80e2: 4413 add r3, r2 80c80e4: 6c39 ldr r1, [r7, #64] ; 0x40 80c80e6: 6fba ldr r2, [r7, #120] ; 0x78 80c80e8: 440a add r2, r1 80c80ea: 7811 ldrb r1, [r2, #0] 80c80ec: f897 205b ldrb.w r2, [r7, #91] ; 0x5b 80c80f0: 430a orrs r2, r1 80c80f2: b2d2 uxtb r2, r2 80c80f4: 701a strb r2, [r3, #0] 80c80f6: f897 305b ldrb.w r3, [r7, #91] ; 0x5b 80c80fa: 005b lsls r3, r3, #1 80c80fc: f887 305b strb.w r3, [r7, #91] ; 0x5b 80c8100: 6efb ldr r3, [r7, #108] ; 0x6c 80c8102: 3b01 subs r3, #1 80c8104: 66fb str r3, [r7, #108] ; 0x6c 80c8106: 6efb ldr r3, [r7, #108] ; 0x6c 80c8108: 2b00 cmp r3, #0 80c810a: d003 beq.n 80c8114 80c810c: 6fba ldr r2, [r7, #120] ; 0x78 80c810e: 6bbb ldr r3, [r7, #56] ; 0x38 80c8110: 429a cmp r2, r3 80c8112: d3e4 bcc.n 80c80de n = (nsect > sz_buf) ? sz_buf : nsect; /* Write the buffered data */ 80c8114: f8d7 2090 ldr.w r2, [r7, #144] ; 0x90 80c8118: 6bfb ldr r3, [r7, #60] ; 0x3c 80c811a: 4293 cmp r3, r2 80c811c: bf28 it cs 80c811e: 4613 movcs r3, r2 80c8120: f8c7 308c str.w r3, [r7, #140] ; 0x8c if (disk_write(pdrv, buf, sect, n) != RES_OK) return FR_DISK_ERR; 80c8124: f897 004b ldrb.w r0, [r7, #75] ; 0x4b 80c8128: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80c812c: f8d7 2094 ldr.w r2, [r7, #148] ; 0x94 80c8130: 6c39 ldr r1, [r7, #64] ; 0x40 80c8132: f7fa fba9 bl 80c2888 80c8136: 4603 mov r3, r0 80c8138: 2b00 cmp r3, #0 80c813a: d002 beq.n 80c8142 80c813c: 2301 movs r3, #1 80c813e: f000 be32 b.w 80c8da6 sect += n; nsect -= n; 80c8142: f8d7 2094 ldr.w r2, [r7, #148] ; 0x94 80c8146: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80c814a: 4413 add r3, r2 80c814c: f8c7 3094 str.w r3, [r7, #148] ; 0x94 80c8150: f8d7 2090 ldr.w r2, [r7, #144] ; 0x90 80c8154: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80c8158: 1ad3 subs r3, r2, r3 80c815a: f8c7 3090 str.w r3, [r7, #144] ; 0x90 } while (nsect); 80c815e: f8d7 3090 ldr.w r3, [r7, #144] ; 0x90 80c8162: 2b00 cmp r3, #0 80c8164: d19e bne.n 80c80a4 /* Initialize the FAT */ sect = b_fat; nsect = sz_fat; /* Start of FAT and number of FAT sectors */ 80c8166: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 80c816a: f8c7 3094 str.w r3, [r7, #148] ; 0x94 80c816e: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 80c8172: f8c7 3090 str.w r3, [r7, #144] ; 0x90 j = nb = cl = 0; 80c8176: 2300 movs r3, #0 80c8178: 66bb str r3, [r7, #104] ; 0x68 80c817a: 6ebb ldr r3, [r7, #104] ; 0x68 80c817c: 66fb str r3, [r7, #108] ; 0x6c 80c817e: 6efb ldr r3, [r7, #108] ; 0x6c 80c8180: 663b str r3, [r7, #96] ; 0x60 do { mem_set(buf, 0, szb_buf); i = 0; /* Clear work area and reset write index */ 80c8182: 6bba ldr r2, [r7, #56] ; 0x38 80c8184: 2100 movs r1, #0 80c8186: 6c38 ldr r0, [r7, #64] ; 0x40 80c8188: f7fa fd9f bl 80c2cca 80c818c: 2300 movs r3, #0 80c818e: 67bb str r3, [r7, #120] ; 0x78 if (cl == 0) { /* Set entry 0 and 1 */ 80c8190: 6ebb ldr r3, [r7, #104] ; 0x68 80c8192: 2b00 cmp r3, #0 80c8194: d134 bne.n 80c8200 st_dword(buf + i, 0xFFFFFFF8); i += 4; cl++; 80c8196: 6c3a ldr r2, [r7, #64] ; 0x40 80c8198: 6fbb ldr r3, [r7, #120] ; 0x78 80c819a: 4413 add r3, r2 80c819c: f06f 0107 mvn.w r1, #7 80c81a0: 4618 mov r0, r3 80c81a2: f7fa fcb4 bl 80c2b0e 80c81a6: 6fbb ldr r3, [r7, #120] ; 0x78 80c81a8: 3304 adds r3, #4 80c81aa: 67bb str r3, [r7, #120] ; 0x78 80c81ac: 6ebb ldr r3, [r7, #104] ; 0x68 80c81ae: 3301 adds r3, #1 80c81b0: 66bb str r3, [r7, #104] ; 0x68 st_dword(buf + i, 0xFFFFFFFF); i += 4; cl++; 80c81b2: 6c3a ldr r2, [r7, #64] ; 0x40 80c81b4: 6fbb ldr r3, [r7, #120] ; 0x78 80c81b6: 4413 add r3, r2 80c81b8: f04f 31ff mov.w r1, #4294967295 80c81bc: 4618 mov r0, r3 80c81be: f7fa fca6 bl 80c2b0e 80c81c2: 6fbb ldr r3, [r7, #120] ; 0x78 80c81c4: 3304 adds r3, #4 80c81c6: 67bb str r3, [r7, #120] ; 0x78 80c81c8: 6ebb ldr r3, [r7, #104] ; 0x68 80c81ca: 3301 adds r3, #1 80c81cc: 66bb str r3, [r7, #104] ; 0x68 } do { /* Create chains of bitmap, up-case and root dir */ while (nb && i < szb_buf) { /* Create a chain */ 80c81ce: e017 b.n 80c8200 st_dword(buf + i, (nb > 1) ? cl + 1 : 0xFFFFFFFF); 80c81d0: 6c3a ldr r2, [r7, #64] ; 0x40 80c81d2: 6fbb ldr r3, [r7, #120] ; 0x78 80c81d4: 441a add r2, r3 80c81d6: 6efb ldr r3, [r7, #108] ; 0x6c 80c81d8: 2b01 cmp r3, #1 80c81da: d902 bls.n 80c81e2 80c81dc: 6ebb ldr r3, [r7, #104] ; 0x68 80c81de: 3301 adds r3, #1 80c81e0: e001 b.n 80c81e6 80c81e2: f04f 33ff mov.w r3, #4294967295 80c81e6: 4619 mov r1, r3 80c81e8: 4610 mov r0, r2 80c81ea: f7fa fc90 bl 80c2b0e i += 4; cl++; nb--; 80c81ee: 6fbb ldr r3, [r7, #120] ; 0x78 80c81f0: 3304 adds r3, #4 80c81f2: 67bb str r3, [r7, #120] ; 0x78 80c81f4: 6ebb ldr r3, [r7, #104] ; 0x68 80c81f6: 3301 adds r3, #1 80c81f8: 66bb str r3, [r7, #104] ; 0x68 80c81fa: 6efb ldr r3, [r7, #108] ; 0x6c 80c81fc: 3b01 subs r3, #1 80c81fe: 66fb str r3, [r7, #108] ; 0x6c while (nb && i < szb_buf) { /* Create a chain */ 80c8200: 6efb ldr r3, [r7, #108] ; 0x6c 80c8202: 2b00 cmp r3, #0 80c8204: d003 beq.n 80c820e 80c8206: 6fba ldr r2, [r7, #120] ; 0x78 80c8208: 6bbb ldr r3, [r7, #56] ; 0x38 80c820a: 429a cmp r2, r3 80c820c: d3e0 bcc.n 80c81d0 } if (!nb && j < 3) nb = tbl[j++]; /* Next chain */ 80c820e: 6efb ldr r3, [r7, #108] ; 0x6c 80c8210: 2b00 cmp r3, #0 80c8212: d10c bne.n 80c822e 80c8214: 6e3b ldr r3, [r7, #96] ; 0x60 80c8216: 2b02 cmp r3, #2 80c8218: d809 bhi.n 80c822e 80c821a: 6e3b ldr r3, [r7, #96] ; 0x60 80c821c: 1c5a adds r2, r3, #1 80c821e: 663a str r2, [r7, #96] ; 0x60 80c8220: 009b lsls r3, r3, #2 80c8222: f107 02a0 add.w r2, r7, #160 ; 0xa0 80c8226: 4413 add r3, r2 80c8228: f853 3c90 ldr.w r3, [r3, #-144] 80c822c: 66fb str r3, [r7, #108] ; 0x6c } while (nb && i < szb_buf); 80c822e: 6efb ldr r3, [r7, #108] ; 0x6c 80c8230: 2b00 cmp r3, #0 80c8232: d003 beq.n 80c823c 80c8234: 6fba ldr r2, [r7, #120] ; 0x78 80c8236: 6bbb ldr r3, [r7, #56] ; 0x38 80c8238: 429a cmp r2, r3 80c823a: d3e1 bcc.n 80c8200 n = (nsect > sz_buf) ? sz_buf : nsect; /* Write the buffered data */ 80c823c: f8d7 2090 ldr.w r2, [r7, #144] ; 0x90 80c8240: 6bfb ldr r3, [r7, #60] ; 0x3c 80c8242: 4293 cmp r3, r2 80c8244: bf28 it cs 80c8246: 4613 movcs r3, r2 80c8248: f8c7 308c str.w r3, [r7, #140] ; 0x8c if (disk_write(pdrv, buf, sect, n) != RES_OK) return FR_DISK_ERR; 80c824c: f897 004b ldrb.w r0, [r7, #75] ; 0x4b 80c8250: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80c8254: f8d7 2094 ldr.w r2, [r7, #148] ; 0x94 80c8258: 6c39 ldr r1, [r7, #64] ; 0x40 80c825a: f7fa fb15 bl 80c2888 80c825e: 4603 mov r3, r0 80c8260: 2b00 cmp r3, #0 80c8262: d002 beq.n 80c826a 80c8264: 2301 movs r3, #1 80c8266: f000 bd9e b.w 80c8da6 sect += n; nsect -= n; 80c826a: f8d7 2094 ldr.w r2, [r7, #148] ; 0x94 80c826e: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80c8272: 4413 add r3, r2 80c8274: f8c7 3094 str.w r3, [r7, #148] ; 0x94 80c8278: f8d7 2090 ldr.w r2, [r7, #144] ; 0x90 80c827c: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80c8280: 1ad3 subs r3, r2, r3 80c8282: f8c7 3090 str.w r3, [r7, #144] ; 0x90 } while (nsect); 80c8286: f8d7 3090 ldr.w r3, [r7, #144] ; 0x90 80c828a: 2b00 cmp r3, #0 80c828c: f47f af79 bne.w 80c8182 /* Initialize the root directory */ mem_set(buf, 0, szb_buf); 80c8290: 6bba ldr r2, [r7, #56] ; 0x38 80c8292: 2100 movs r1, #0 80c8294: 6c38 ldr r0, [r7, #64] ; 0x40 80c8296: f7fa fd18 bl 80c2cca buf[SZDIRE * 0 + 0] = 0x83; /* 83 entry (volume label) */ 80c829a: 6c3b ldr r3, [r7, #64] ; 0x40 80c829c: 2283 movs r2, #131 ; 0x83 80c829e: 701a strb r2, [r3, #0] buf[SZDIRE * 1 + 0] = 0x81; /* 81 entry (allocation bitmap) */ 80c82a0: 6c3b ldr r3, [r7, #64] ; 0x40 80c82a2: 3320 adds r3, #32 80c82a4: 2281 movs r2, #129 ; 0x81 80c82a6: 701a strb r2, [r3, #0] st_dword(buf + SZDIRE * 1 + 20, 2); 80c82a8: 6c3b ldr r3, [r7, #64] ; 0x40 80c82aa: 3334 adds r3, #52 ; 0x34 80c82ac: 2102 movs r1, #2 80c82ae: 4618 mov r0, r3 80c82b0: f7fa fc2d bl 80c2b0e st_dword(buf + SZDIRE * 1 + 24, szb_bit); 80c82b4: 6c3b ldr r3, [r7, #64] ; 0x40 80c82b6: 3338 adds r3, #56 ; 0x38 80c82b8: 6ab9 ldr r1, [r7, #40] ; 0x28 80c82ba: 4618 mov r0, r3 80c82bc: f7fa fc27 bl 80c2b0e buf[SZDIRE * 2 + 0] = 0x82; /* 82 entry (up-case table) */ 80c82c0: 6c3b ldr r3, [r7, #64] ; 0x40 80c82c2: 3340 adds r3, #64 ; 0x40 80c82c4: 2282 movs r2, #130 ; 0x82 80c82c6: 701a strb r2, [r3, #0] st_dword(buf + SZDIRE * 2 + 4, sum); 80c82c8: 6c3b ldr r3, [r7, #64] ; 0x40 80c82ca: 3344 adds r3, #68 ; 0x44 80c82cc: 6f39 ldr r1, [r7, #112] ; 0x70 80c82ce: 4618 mov r0, r3 80c82d0: f7fa fc1d bl 80c2b0e st_dword(buf + SZDIRE * 2 + 20, 2 + tbl[0]); 80c82d4: 6c3b ldr r3, [r7, #64] ; 0x40 80c82d6: f103 0254 add.w r2, r3, #84 ; 0x54 80c82da: 693b ldr r3, [r7, #16] 80c82dc: 3302 adds r3, #2 80c82de: 4619 mov r1, r3 80c82e0: 4610 mov r0, r2 80c82e2: f7fa fc14 bl 80c2b0e st_dword(buf + SZDIRE * 2 + 24, szb_case); 80c82e6: 6c3b ldr r3, [r7, #64] ; 0x40 80c82e8: 3358 adds r3, #88 ; 0x58 80c82ea: 6f79 ldr r1, [r7, #116] ; 0x74 80c82ec: 4618 mov r0, r3 80c82ee: f7fa fc0e bl 80c2b0e sect = b_data + au * (tbl[0] + tbl[1]); nsect = au; /* Start of the root directory and number of sectors */ 80c82f2: 693a ldr r2, [r7, #16] 80c82f4: 697b ldr r3, [r7, #20] 80c82f6: 4413 add r3, r2 80c82f8: 687a ldr r2, [r7, #4] 80c82fa: fb02 f203 mul.w r2, r2, r3 80c82fe: 6b3b ldr r3, [r7, #48] ; 0x30 80c8300: 4413 add r3, r2 80c8302: f8c7 3094 str.w r3, [r7, #148] ; 0x94 80c8306: 687b ldr r3, [r7, #4] 80c8308: f8c7 3090 str.w r3, [r7, #144] ; 0x90 do { /* Fill root directory sectors */ n = (nsect > sz_buf) ? sz_buf : nsect; 80c830c: f8d7 2090 ldr.w r2, [r7, #144] ; 0x90 80c8310: 6bfb ldr r3, [r7, #60] ; 0x3c 80c8312: 4293 cmp r3, r2 80c8314: bf28 it cs 80c8316: 4613 movcs r3, r2 80c8318: f8c7 308c str.w r3, [r7, #140] ; 0x8c if (disk_write(pdrv, buf, sect, n) != RES_OK) return FR_DISK_ERR; 80c831c: f897 004b ldrb.w r0, [r7, #75] ; 0x4b 80c8320: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80c8324: f8d7 2094 ldr.w r2, [r7, #148] ; 0x94 80c8328: 6c39 ldr r1, [r7, #64] ; 0x40 80c832a: f7fa faad bl 80c2888 80c832e: 4603 mov r3, r0 80c8330: 2b00 cmp r3, #0 80c8332: d002 beq.n 80c833a 80c8334: 2301 movs r3, #1 80c8336: f000 bd36 b.w 80c8da6 mem_set(buf, 0, ss); 80c833a: f8b7 3046 ldrh.w r3, [r7, #70] ; 0x46 80c833e: 461a mov r2, r3 80c8340: 2100 movs r1, #0 80c8342: 6c38 ldr r0, [r7, #64] ; 0x40 80c8344: f7fa fcc1 bl 80c2cca sect += n; nsect -= n; 80c8348: f8d7 2094 ldr.w r2, [r7, #148] ; 0x94 80c834c: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80c8350: 4413 add r3, r2 80c8352: f8c7 3094 str.w r3, [r7, #148] ; 0x94 80c8356: f8d7 2090 ldr.w r2, [r7, #144] ; 0x90 80c835a: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80c835e: 1ad3 subs r3, r2, r3 80c8360: f8c7 3090 str.w r3, [r7, #144] ; 0x90 } while (nsect); 80c8364: f8d7 3090 ldr.w r3, [r7, #144] ; 0x90 80c8368: 2b00 cmp r3, #0 80c836a: d1cf bne.n 80c830c /* Create two set of the exFAT VBR blocks */ sect = b_vol; 80c836c: 6b7b ldr r3, [r7, #52] ; 0x34 80c836e: f8c7 3094 str.w r3, [r7, #148] ; 0x94 for (n = 0; n < 2; n++) { 80c8372: 2300 movs r3, #0 80c8374: f8c7 308c str.w r3, [r7, #140] ; 0x8c 80c8378: e157 b.n 80c862a /* Main record (+0) */ mem_set(buf, 0, ss); 80c837a: f8b7 3046 ldrh.w r3, [r7, #70] ; 0x46 80c837e: 461a mov r2, r3 80c8380: 2100 movs r1, #0 80c8382: 6c38 ldr r0, [r7, #64] ; 0x40 80c8384: f7fa fca1 bl 80c2cca mem_cpy(buf + BS_JmpBoot, "\xEB\x76\x90" "EXFAT ", 11); /* Boot jump code (x86), OEM name */ 80c8388: 220b movs r2, #11 80c838a: 49b5 ldr r1, [pc, #724] ; (80c8660 ) 80c838c: 6c38 ldr r0, [r7, #64] ; 0x40 80c838e: f7fa fc7b bl 80c2c88 st_dword(buf + BPB_VolOfsEx, b_vol); /* Volume offset in the physical drive [sector] */ 80c8392: 6c3b ldr r3, [r7, #64] ; 0x40 80c8394: 3340 adds r3, #64 ; 0x40 80c8396: 6b79 ldr r1, [r7, #52] ; 0x34 80c8398: 4618 mov r0, r3 80c839a: f7fa fbb8 bl 80c2b0e st_dword(buf + BPB_TotSecEx, sz_vol); /* Volume size [sector] */ 80c839e: 6c3b ldr r3, [r7, #64] ; 0x40 80c83a0: 3348 adds r3, #72 ; 0x48 80c83a2: 69fa ldr r2, [r7, #28] 80c83a4: 4611 mov r1, r2 80c83a6: 4618 mov r0, r3 80c83a8: f7fa fbb1 bl 80c2b0e st_dword(buf + BPB_FatOfsEx, b_fat - b_vol); /* FAT offset [sector] */ 80c83ac: 6c3b ldr r3, [r7, #64] ; 0x40 80c83ae: f103 0050 add.w r0, r3, #80 ; 0x50 80c83b2: f8d7 2088 ldr.w r2, [r7, #136] ; 0x88 80c83b6: 6b7b ldr r3, [r7, #52] ; 0x34 80c83b8: 1ad3 subs r3, r2, r3 80c83ba: 4619 mov r1, r3 80c83bc: f7fa fba7 bl 80c2b0e st_dword(buf + BPB_FatSzEx, sz_fat); /* FAT size [sector] */ 80c83c0: 6c3b ldr r3, [r7, #64] ; 0x40 80c83c2: 3354 adds r3, #84 ; 0x54 80c83c4: f8d7 1080 ldr.w r1, [r7, #128] ; 0x80 80c83c8: 4618 mov r0, r3 80c83ca: f7fa fba0 bl 80c2b0e st_dword(buf + BPB_DataOfsEx, b_data - b_vol); /* Data offset [sector] */ 80c83ce: 6c3b ldr r3, [r7, #64] ; 0x40 80c83d0: f103 0058 add.w r0, r3, #88 ; 0x58 80c83d4: 6b3a ldr r2, [r7, #48] ; 0x30 80c83d6: 6b7b ldr r3, [r7, #52] ; 0x34 80c83d8: 1ad3 subs r3, r2, r3 80c83da: 4619 mov r1, r3 80c83dc: f7fa fb97 bl 80c2b0e st_dword(buf + BPB_NumClusEx, n_clst); /* Number of clusters */ 80c83e0: 6c3b ldr r3, [r7, #64] ; 0x40 80c83e2: 335c adds r3, #92 ; 0x5c 80c83e4: 6af9 ldr r1, [r7, #44] ; 0x2c 80c83e6: 4618 mov r0, r3 80c83e8: f7fa fb91 bl 80c2b0e st_dword(buf + BPB_RootClusEx, 2 + tbl[0] + tbl[1]); /* Root dir cluster # */ 80c83ec: 6c3b ldr r3, [r7, #64] ; 0x40 80c83ee: f103 0060 add.w r0, r3, #96 ; 0x60 80c83f2: 693a ldr r2, [r7, #16] 80c83f4: 697b ldr r3, [r7, #20] 80c83f6: 4413 add r3, r2 80c83f8: 3302 adds r3, #2 80c83fa: 4619 mov r1, r3 80c83fc: f7fa fb87 bl 80c2b0e st_dword(buf + BPB_VolIDEx, GET_FATTIME()); /* VSN */ 80c8400: 6c3b ldr r3, [r7, #64] ; 0x40 80c8402: f103 0464 add.w r4, r3, #100 ; 0x64 80c8406: f7f7 f96d bl 80bf6e4 80c840a: 4603 mov r3, r0 80c840c: 4619 mov r1, r3 80c840e: 4620 mov r0, r4 80c8410: f7fa fb7d bl 80c2b0e st_word(buf + BPB_FSVerEx, 0x100); /* File system version (1.00) */ 80c8414: 6c3b ldr r3, [r7, #64] ; 0x40 80c8416: 3368 adds r3, #104 ; 0x68 80c8418: f44f 7180 mov.w r1, #256 ; 0x100 80c841c: 4618 mov r0, r3 80c841e: f7fa fb5b bl 80c2ad8 for (buf[BPB_BytsPerSecEx] = 0, i = ss; i >>= 1; buf[BPB_BytsPerSecEx]++) ; /* Log2 of sector size [byte] */ 80c8422: 6c3b ldr r3, [r7, #64] ; 0x40 80c8424: 336c adds r3, #108 ; 0x6c 80c8426: 2200 movs r2, #0 80c8428: 701a strb r2, [r3, #0] 80c842a: f8b7 3046 ldrh.w r3, [r7, #70] ; 0x46 80c842e: 67bb str r3, [r7, #120] ; 0x78 80c8430: e005 b.n 80c843e 80c8432: 6c3b ldr r3, [r7, #64] ; 0x40 80c8434: 336c adds r3, #108 ; 0x6c 80c8436: 781a ldrb r2, [r3, #0] 80c8438: 3201 adds r2, #1 80c843a: b2d2 uxtb r2, r2 80c843c: 701a strb r2, [r3, #0] 80c843e: 6fbb ldr r3, [r7, #120] ; 0x78 80c8440: 085b lsrs r3, r3, #1 80c8442: 67bb str r3, [r7, #120] ; 0x78 80c8444: 6fbb ldr r3, [r7, #120] ; 0x78 80c8446: 2b00 cmp r3, #0 80c8448: d1f3 bne.n 80c8432 for (buf[BPB_SecPerClusEx] = 0, i = au; i >>= 1; buf[BPB_SecPerClusEx]++) ; /* Log2 of cluster size [sector] */ 80c844a: 6c3b ldr r3, [r7, #64] ; 0x40 80c844c: 336d adds r3, #109 ; 0x6d 80c844e: 2200 movs r2, #0 80c8450: 701a strb r2, [r3, #0] 80c8452: 687b ldr r3, [r7, #4] 80c8454: 67bb str r3, [r7, #120] ; 0x78 80c8456: e005 b.n 80c8464 80c8458: 6c3b ldr r3, [r7, #64] ; 0x40 80c845a: 336d adds r3, #109 ; 0x6d 80c845c: 781a ldrb r2, [r3, #0] 80c845e: 3201 adds r2, #1 80c8460: b2d2 uxtb r2, r2 80c8462: 701a strb r2, [r3, #0] 80c8464: 6fbb ldr r3, [r7, #120] ; 0x78 80c8466: 085b lsrs r3, r3, #1 80c8468: 67bb str r3, [r7, #120] ; 0x78 80c846a: 6fbb ldr r3, [r7, #120] ; 0x78 80c846c: 2b00 cmp r3, #0 80c846e: d1f3 bne.n 80c8458 buf[BPB_NumFATsEx] = 1; /* Number of FATs */ 80c8470: 6c3b ldr r3, [r7, #64] ; 0x40 80c8472: 336e adds r3, #110 ; 0x6e 80c8474: 2201 movs r2, #1 80c8476: 701a strb r2, [r3, #0] buf[BPB_DrvNumEx] = 0x80; /* Drive number (for int13) */ 80c8478: 6c3b ldr r3, [r7, #64] ; 0x40 80c847a: 336f adds r3, #111 ; 0x6f 80c847c: 2280 movs r2, #128 ; 0x80 80c847e: 701a strb r2, [r3, #0] st_word(buf + BS_BootCodeEx, 0xFEEB); /* Boot code (x86) */ 80c8480: 6c3b ldr r3, [r7, #64] ; 0x40 80c8482: 3378 adds r3, #120 ; 0x78 80c8484: f64f 61eb movw r1, #65259 ; 0xfeeb 80c8488: 4618 mov r0, r3 80c848a: f7fa fb25 bl 80c2ad8 st_word(buf + BS_55AA, 0xAA55); /* Signature (placed here regardless of sector size) */ 80c848e: 6c3b ldr r3, [r7, #64] ; 0x40 80c8490: f503 73ff add.w r3, r3, #510 ; 0x1fe 80c8494: f64a 2155 movw r1, #43605 ; 0xaa55 80c8498: 4618 mov r0, r3 80c849a: f7fa fb1d bl 80c2ad8 for (i = sum = 0; i < ss; i++) { /* VBR checksum */ 80c849e: 2300 movs r3, #0 80c84a0: 673b str r3, [r7, #112] ; 0x70 80c84a2: 2300 movs r3, #0 80c84a4: 67bb str r3, [r7, #120] ; 0x78 80c84a6: e014 b.n 80c84d2 if (i != BPB_VolFlagEx && i != BPB_VolFlagEx + 1 && i != BPB_PercInUseEx) sum = xsum32(buf[i], sum); 80c84a8: 6fbb ldr r3, [r7, #120] ; 0x78 80c84aa: 2b6a cmp r3, #106 ; 0x6a 80c84ac: d00e beq.n 80c84cc 80c84ae: 6fbb ldr r3, [r7, #120] ; 0x78 80c84b0: 2b6b cmp r3, #107 ; 0x6b 80c84b2: d00b beq.n 80c84cc 80c84b4: 6fbb ldr r3, [r7, #120] ; 0x78 80c84b6: 2b70 cmp r3, #112 ; 0x70 80c84b8: d008 beq.n 80c84cc 80c84ba: 6c3a ldr r2, [r7, #64] ; 0x40 80c84bc: 6fbb ldr r3, [r7, #120] ; 0x78 80c84be: 4413 add r3, r2 80c84c0: 781b ldrb r3, [r3, #0] 80c84c2: 6f39 ldr r1, [r7, #112] ; 0x70 80c84c4: 4618 mov r0, r3 80c84c6: f7fb fefb bl 80c42c0 80c84ca: 6738 str r0, [r7, #112] ; 0x70 for (i = sum = 0; i < ss; i++) { /* VBR checksum */ 80c84cc: 6fbb ldr r3, [r7, #120] ; 0x78 80c84ce: 3301 adds r3, #1 80c84d0: 67bb str r3, [r7, #120] ; 0x78 80c84d2: f8b7 2046 ldrh.w r2, [r7, #70] ; 0x46 80c84d6: 6fbb ldr r3, [r7, #120] ; 0x78 80c84d8: 429a cmp r2, r3 80c84da: d8e5 bhi.n 80c84a8 } if (disk_write(pdrv, buf, sect++, 1) != RES_OK) return FR_DISK_ERR; 80c84dc: f8d7 2094 ldr.w r2, [r7, #148] ; 0x94 80c84e0: 1c53 adds r3, r2, #1 80c84e2: f8c7 3094 str.w r3, [r7, #148] ; 0x94 80c84e6: f897 004b ldrb.w r0, [r7, #75] ; 0x4b 80c84ea: 2301 movs r3, #1 80c84ec: 6c39 ldr r1, [r7, #64] ; 0x40 80c84ee: f7fa f9cb bl 80c2888 80c84f2: 4603 mov r3, r0 80c84f4: 2b00 cmp r3, #0 80c84f6: d002 beq.n 80c84fe 80c84f8: 2301 movs r3, #1 80c84fa: f000 bc54 b.w 80c8da6 /* Extended bootstrap record (+1..+8) */ mem_set(buf, 0, ss); 80c84fe: f8b7 3046 ldrh.w r3, [r7, #70] ; 0x46 80c8502: 461a mov r2, r3 80c8504: 2100 movs r1, #0 80c8506: 6c38 ldr r0, [r7, #64] ; 0x40 80c8508: f7fa fbdf bl 80c2cca st_word(buf + ss - 2, 0xAA55); /* Signature (placed at end of sector) */ 80c850c: f8b7 3046 ldrh.w r3, [r7, #70] ; 0x46 80c8510: 3b02 subs r3, #2 80c8512: 6c3a ldr r2, [r7, #64] ; 0x40 80c8514: 4413 add r3, r2 80c8516: f64a 2155 movw r1, #43605 ; 0xaa55 80c851a: 4618 mov r0, r3 80c851c: f7fa fadc bl 80c2ad8 for (j = 1; j < 9; j++) { 80c8520: 2301 movs r3, #1 80c8522: 663b str r3, [r7, #96] ; 0x60 80c8524: e026 b.n 80c8574 for (i = 0; i < ss; sum = xsum32(buf[i++], sum)) ; /* VBR checksum */ 80c8526: 2300 movs r3, #0 80c8528: 67bb str r3, [r7, #120] ; 0x78 80c852a: e00a b.n 80c8542 80c852c: 6fbb ldr r3, [r7, #120] ; 0x78 80c852e: 1c5a adds r2, r3, #1 80c8530: 67ba str r2, [r7, #120] ; 0x78 80c8532: 6c3a ldr r2, [r7, #64] ; 0x40 80c8534: 4413 add r3, r2 80c8536: 781b ldrb r3, [r3, #0] 80c8538: 6f39 ldr r1, [r7, #112] ; 0x70 80c853a: 4618 mov r0, r3 80c853c: f7fb fec0 bl 80c42c0 80c8540: 6738 str r0, [r7, #112] ; 0x70 80c8542: f8b7 2046 ldrh.w r2, [r7, #70] ; 0x46 80c8546: 6fbb ldr r3, [r7, #120] ; 0x78 80c8548: 429a cmp r2, r3 80c854a: d8ef bhi.n 80c852c if (disk_write(pdrv, buf, sect++, 1) != RES_OK) return FR_DISK_ERR; 80c854c: f8d7 2094 ldr.w r2, [r7, #148] ; 0x94 80c8550: 1c53 adds r3, r2, #1 80c8552: f8c7 3094 str.w r3, [r7, #148] ; 0x94 80c8556: f897 004b ldrb.w r0, [r7, #75] ; 0x4b 80c855a: 2301 movs r3, #1 80c855c: 6c39 ldr r1, [r7, #64] ; 0x40 80c855e: f7fa f993 bl 80c2888 80c8562: 4603 mov r3, r0 80c8564: 2b00 cmp r3, #0 80c8566: d002 beq.n 80c856e 80c8568: 2301 movs r3, #1 80c856a: f000 bc1c b.w 80c8da6 for (j = 1; j < 9; j++) { 80c856e: 6e3b ldr r3, [r7, #96] ; 0x60 80c8570: 3301 adds r3, #1 80c8572: 663b str r3, [r7, #96] ; 0x60 80c8574: 6e3b ldr r3, [r7, #96] ; 0x60 80c8576: 2b08 cmp r3, #8 80c8578: d9d5 bls.n 80c8526 } /* OEM/Reserved record (+9..+10) */ mem_set(buf, 0, ss); 80c857a: f8b7 3046 ldrh.w r3, [r7, #70] ; 0x46 80c857e: 461a mov r2, r3 80c8580: 2100 movs r1, #0 80c8582: 6c38 ldr r0, [r7, #64] ; 0x40 80c8584: f7fa fba1 bl 80c2cca for ( ; j < 11; j++) { 80c8588: e025 b.n 80c85d6 for (i = 0; i < ss; sum = xsum32(buf[i++], sum)) ; /* VBR checksum */ 80c858a: 2300 movs r3, #0 80c858c: 67bb str r3, [r7, #120] ; 0x78 80c858e: e00a b.n 80c85a6 80c8590: 6fbb ldr r3, [r7, #120] ; 0x78 80c8592: 1c5a adds r2, r3, #1 80c8594: 67ba str r2, [r7, #120] ; 0x78 80c8596: 6c3a ldr r2, [r7, #64] ; 0x40 80c8598: 4413 add r3, r2 80c859a: 781b ldrb r3, [r3, #0] 80c859c: 6f39 ldr r1, [r7, #112] ; 0x70 80c859e: 4618 mov r0, r3 80c85a0: f7fb fe8e bl 80c42c0 80c85a4: 6738 str r0, [r7, #112] ; 0x70 80c85a6: f8b7 2046 ldrh.w r2, [r7, #70] ; 0x46 80c85aa: 6fbb ldr r3, [r7, #120] ; 0x78 80c85ac: 429a cmp r2, r3 80c85ae: d8ef bhi.n 80c8590 if (disk_write(pdrv, buf, sect++, 1) != RES_OK) return FR_DISK_ERR; 80c85b0: f8d7 2094 ldr.w r2, [r7, #148] ; 0x94 80c85b4: 1c53 adds r3, r2, #1 80c85b6: f8c7 3094 str.w r3, [r7, #148] ; 0x94 80c85ba: f897 004b ldrb.w r0, [r7, #75] ; 0x4b 80c85be: 2301 movs r3, #1 80c85c0: 6c39 ldr r1, [r7, #64] ; 0x40 80c85c2: f7fa f961 bl 80c2888 80c85c6: 4603 mov r3, r0 80c85c8: 2b00 cmp r3, #0 80c85ca: d001 beq.n 80c85d0 80c85cc: 2301 movs r3, #1 80c85ce: e3ea b.n 80c8da6 for ( ; j < 11; j++) { 80c85d0: 6e3b ldr r3, [r7, #96] ; 0x60 80c85d2: 3301 adds r3, #1 80c85d4: 663b str r3, [r7, #96] ; 0x60 80c85d6: 6e3b ldr r3, [r7, #96] ; 0x60 80c85d8: 2b0a cmp r3, #10 80c85da: d9d6 bls.n 80c858a } /* Sum record (+11) */ for (i = 0; i < ss; i += 4) st_dword(buf + i, sum); /* Fill with checksum value */ 80c85dc: 2300 movs r3, #0 80c85de: 67bb str r3, [r7, #120] ; 0x78 80c85e0: e009 b.n 80c85f6 80c85e2: 6c3a ldr r2, [r7, #64] ; 0x40 80c85e4: 6fbb ldr r3, [r7, #120] ; 0x78 80c85e6: 4413 add r3, r2 80c85e8: 6f39 ldr r1, [r7, #112] ; 0x70 80c85ea: 4618 mov r0, r3 80c85ec: f7fa fa8f bl 80c2b0e 80c85f0: 6fbb ldr r3, [r7, #120] ; 0x78 80c85f2: 3304 adds r3, #4 80c85f4: 67bb str r3, [r7, #120] ; 0x78 80c85f6: f8b7 2046 ldrh.w r2, [r7, #70] ; 0x46 80c85fa: 6fbb ldr r3, [r7, #120] ; 0x78 80c85fc: 429a cmp r2, r3 80c85fe: d8f0 bhi.n 80c85e2 if (disk_write(pdrv, buf, sect++, 1) != RES_OK) return FR_DISK_ERR; 80c8600: f8d7 2094 ldr.w r2, [r7, #148] ; 0x94 80c8604: 1c53 adds r3, r2, #1 80c8606: f8c7 3094 str.w r3, [r7, #148] ; 0x94 80c860a: f897 004b ldrb.w r0, [r7, #75] ; 0x4b 80c860e: 2301 movs r3, #1 80c8610: 6c39 ldr r1, [r7, #64] ; 0x40 80c8612: f7fa f939 bl 80c2888 80c8616: 4603 mov r3, r0 80c8618: 2b00 cmp r3, #0 80c861a: d001 beq.n 80c8620 80c861c: 2301 movs r3, #1 80c861e: e3c2 b.n 80c8da6 for (n = 0; n < 2; n++) { 80c8620: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80c8624: 3301 adds r3, #1 80c8626: f8c7 308c str.w r3, [r7, #140] ; 0x8c 80c862a: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80c862e: 2b01 cmp r3, #1 80c8630: f67f aea3 bls.w 80c837a 80c8634: e31a b.n 80c8c6c } else #endif /* _FS_EXFAT */ { /* Create an FAT12/16/32 volume */ do { pau = au; 80c8636: 687b ldr r3, [r7, #4] 80c8638: f8c7 3098 str.w r3, [r7, #152] ; 0x98 /* Pre-determine number of clusters and FAT sub-type */ if (fmt == FS_FAT32) { /* FAT32 volume */ 80c863c: f897 309f ldrb.w r3, [r7, #159] ; 0x9f 80c8640: 2b03 cmp r3, #3 80c8642: d149 bne.n 80c86d8 if (!pau) { /* au auto-selection */ 80c8644: f8d7 3098 ldr.w r3, [r7, #152] ; 0x98 80c8648: 2b00 cmp r3, #0 80c864a: d122 bne.n 80c8692 n = sz_vol / 0x20000; /* Volume size in unit of 128KS */ 80c864c: 69fb ldr r3, [r7, #28] 80c864e: 0c5b lsrs r3, r3, #17 80c8650: f8c7 308c str.w r3, [r7, #140] ; 0x8c for (i = 0, pau = 1; cst32[i] && cst32[i] <= n; i++, pau <<= 1) ; /* Get from table */ 80c8654: 2300 movs r3, #0 80c8656: 67bb str r3, [r7, #120] ; 0x78 80c8658: 2301 movs r3, #1 80c865a: f8c7 3098 str.w r3, [r7, #152] ; 0x98 80c865e: e009 b.n 80c8674 80c8660: 080d0b7c .word 0x080d0b7c 80c8664: 6fbb ldr r3, [r7, #120] ; 0x78 80c8666: 3301 adds r3, #1 80c8668: 67bb str r3, [r7, #120] ; 0x78 80c866a: f8d7 3098 ldr.w r3, [r7, #152] ; 0x98 80c866e: 005b lsls r3, r3, #1 80c8670: f8c7 3098 str.w r3, [r7, #152] ; 0x98 80c8674: 4aba ldr r2, [pc, #744] ; (80c8960 ) 80c8676: 6fbb ldr r3, [r7, #120] ; 0x78 80c8678: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 80c867c: 2b00 cmp r3, #0 80c867e: d008 beq.n 80c8692 80c8680: 4ab7 ldr r2, [pc, #732] ; (80c8960 ) 80c8682: 6fbb ldr r3, [r7, #120] ; 0x78 80c8684: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 80c8688: 461a mov r2, r3 80c868a: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80c868e: 429a cmp r2, r3 80c8690: d9e8 bls.n 80c8664 } n_clst = sz_vol / pau; /* Number of clusters */ 80c8692: 69fa ldr r2, [r7, #28] 80c8694: f8d7 3098 ldr.w r3, [r7, #152] ; 0x98 80c8698: fbb2 f3f3 udiv r3, r2, r3 80c869c: 62fb str r3, [r7, #44] ; 0x2c sz_fat = (n_clst * 4 + 8 + ss - 1) / ss; /* FAT size [sector] */ 80c869e: 6afb ldr r3, [r7, #44] ; 0x2c 80c86a0: 3302 adds r3, #2 80c86a2: 009a lsls r2, r3, #2 80c86a4: f8b7 3046 ldrh.w r3, [r7, #70] ; 0x46 80c86a8: 4413 add r3, r2 80c86aa: 1e5a subs r2, r3, #1 80c86ac: f8b7 3046 ldrh.w r3, [r7, #70] ; 0x46 80c86b0: fbb2 f3f3 udiv r3, r2, r3 80c86b4: f8c7 3080 str.w r3, [r7, #128] ; 0x80 sz_rsv = 32; /* Number of reserved sectors */ 80c86b8: 2320 movs r3, #32 80c86ba: f8c7 3084 str.w r3, [r7, #132] ; 0x84 sz_dir = 0; /* No static directory */ 80c86be: 2300 movs r3, #0 80c86c0: 67fb str r3, [r7, #124] ; 0x7c if (n_clst <= MAX_FAT16 || n_clst > MAX_FAT32) return FR_MKFS_ABORTED; 80c86c2: 6afb ldr r3, [r7, #44] ; 0x2c 80c86c4: f64f 72f5 movw r2, #65525 ; 0xfff5 80c86c8: 4293 cmp r3, r2 80c86ca: d903 bls.n 80c86d4 80c86cc: 6afb ldr r3, [r7, #44] ; 0x2c 80c86ce: 4aa5 ldr r2, [pc, #660] ; (80c8964 ) 80c86d0: 4293 cmp r3, r2 80c86d2: d959 bls.n 80c8788 80c86d4: 230e movs r3, #14 80c86d6: e366 b.n 80c8da6 } else { /* FAT12/16 volume */ if (!pau) { /* au auto-selection */ 80c86d8: f8d7 3098 ldr.w r3, [r7, #152] ; 0x98 80c86dc: 2b00 cmp r3, #0 80c86de: d120 bne.n 80c8722 n = sz_vol / 0x1000; /* Volume size in unit of 4KS */ 80c86e0: 69fb ldr r3, [r7, #28] 80c86e2: 0b1b lsrs r3, r3, #12 80c86e4: f8c7 308c str.w r3, [r7, #140] ; 0x8c for (i = 0, pau = 1; cst[i] && cst[i] <= n; i++, pau <<= 1) ; /* Get from table */ 80c86e8: 2300 movs r3, #0 80c86ea: 67bb str r3, [r7, #120] ; 0x78 80c86ec: 2301 movs r3, #1 80c86ee: f8c7 3098 str.w r3, [r7, #152] ; 0x98 80c86f2: e007 b.n 80c8704 80c86f4: 6fbb ldr r3, [r7, #120] ; 0x78 80c86f6: 3301 adds r3, #1 80c86f8: 67bb str r3, [r7, #120] ; 0x78 80c86fa: f8d7 3098 ldr.w r3, [r7, #152] ; 0x98 80c86fe: 005b lsls r3, r3, #1 80c8700: f8c7 3098 str.w r3, [r7, #152] ; 0x98 80c8704: 4a98 ldr r2, [pc, #608] ; (80c8968 ) 80c8706: 6fbb ldr r3, [r7, #120] ; 0x78 80c8708: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 80c870c: 2b00 cmp r3, #0 80c870e: d008 beq.n 80c8722 80c8710: 4a95 ldr r2, [pc, #596] ; (80c8968 ) 80c8712: 6fbb ldr r3, [r7, #120] ; 0x78 80c8714: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 80c8718: 461a mov r2, r3 80c871a: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80c871e: 429a cmp r2, r3 80c8720: d9e8 bls.n 80c86f4 } n_clst = sz_vol / pau; 80c8722: 69fa ldr r2, [r7, #28] 80c8724: f8d7 3098 ldr.w r3, [r7, #152] ; 0x98 80c8728: fbb2 f3f3 udiv r3, r2, r3 80c872c: 62fb str r3, [r7, #44] ; 0x2c if (n_clst > MAX_FAT12) { 80c872e: 6afb ldr r3, [r7, #44] ; 0x2c 80c8730: f640 72f5 movw r2, #4085 ; 0xff5 80c8734: 4293 cmp r3, r2 80c8736: d905 bls.n 80c8744 n = n_clst * 2 + 4; /* FAT size [byte] */ 80c8738: 6afb ldr r3, [r7, #44] ; 0x2c 80c873a: 3302 adds r3, #2 80c873c: 005b lsls r3, r3, #1 80c873e: f8c7 308c str.w r3, [r7, #140] ; 0x8c 80c8742: e00b b.n 80c875c } else { fmt = FS_FAT12; 80c8744: 2301 movs r3, #1 80c8746: f887 309f strb.w r3, [r7, #159] ; 0x9f n = (n_clst * 3 + 1) / 2 + 3; /* FAT size [byte] */ 80c874a: 6afa ldr r2, [r7, #44] ; 0x2c 80c874c: 4613 mov r3, r2 80c874e: 005b lsls r3, r3, #1 80c8750: 4413 add r3, r2 80c8752: 3301 adds r3, #1 80c8754: 085b lsrs r3, r3, #1 80c8756: 3303 adds r3, #3 80c8758: f8c7 308c str.w r3, [r7, #140] ; 0x8c } sz_fat = (n + ss - 1) / ss; /* FAT size [sector] */ 80c875c: f8b7 2046 ldrh.w r2, [r7, #70] ; 0x46 80c8760: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80c8764: 4413 add r3, r2 80c8766: 1e5a subs r2, r3, #1 80c8768: f8b7 3046 ldrh.w r3, [r7, #70] ; 0x46 80c876c: fbb2 f3f3 udiv r3, r2, r3 80c8770: f8c7 3080 str.w r3, [r7, #128] ; 0x80 sz_rsv = 1; /* Number of reserved sectors */ 80c8774: 2301 movs r3, #1 80c8776: f8c7 3084 str.w r3, [r7, #132] ; 0x84 sz_dir = (DWORD)n_rootdir * SZDIRE / ss; /* Rootdir size [sector] */ 80c877a: 6d3b ldr r3, [r7, #80] ; 0x50 80c877c: 015a lsls r2, r3, #5 80c877e: f8b7 3046 ldrh.w r3, [r7, #70] ; 0x46 80c8782: fbb2 f3f3 udiv r3, r2, r3 80c8786: 67fb str r3, [r7, #124] ; 0x7c } b_fat = b_vol + sz_rsv; /* FAT base */ 80c8788: 6b7a ldr r2, [r7, #52] ; 0x34 80c878a: f8d7 3084 ldr.w r3, [r7, #132] ; 0x84 80c878e: 4413 add r3, r2 80c8790: f8c7 3088 str.w r3, [r7, #136] ; 0x88 b_data = b_fat + sz_fat * n_fats + sz_dir; /* Data base */ 80c8794: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 80c8798: 6d7a ldr r2, [r7, #84] ; 0x54 80c879a: fb02 f203 mul.w r2, r2, r3 80c879e: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 80c87a2: 441a add r2, r3 80c87a4: 6ffb ldr r3, [r7, #124] ; 0x7c 80c87a6: 4413 add r3, r2 80c87a8: 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 */ 80c87aa: 6a3a ldr r2, [r7, #32] 80c87ac: 6b3b ldr r3, [r7, #48] ; 0x30 80c87ae: 4413 add r3, r2 80c87b0: 1e5a subs r2, r3, #1 80c87b2: 6a3b ldr r3, [r7, #32] 80c87b4: 425b negs r3, r3 80c87b6: 401a ands r2, r3 80c87b8: 6b3b ldr r3, [r7, #48] ; 0x30 80c87ba: 1ad3 subs r3, r2, r3 80c87bc: f8c7 308c str.w r3, [r7, #140] ; 0x8c if (fmt == FS_FAT32) { /* FAT32: Move FAT base */ 80c87c0: f897 309f ldrb.w r3, [r7, #159] ; 0x9f 80c87c4: 2b03 cmp r3, #3 80c87c6: d10e bne.n 80c87e6 sz_rsv += n; b_fat += n; 80c87c8: f8d7 2084 ldr.w r2, [r7, #132] ; 0x84 80c87cc: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80c87d0: 4413 add r3, r2 80c87d2: f8c7 3084 str.w r3, [r7, #132] ; 0x84 80c87d6: f8d7 2088 ldr.w r2, [r7, #136] ; 0x88 80c87da: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80c87de: 4413 add r3, r2 80c87e0: f8c7 3088 str.w r3, [r7, #136] ; 0x88 80c87e4: e009 b.n 80c87fa } else { /* FAT12/16: Expand FAT size */ sz_fat += n / n_fats; 80c87e6: f8d7 208c ldr.w r2, [r7, #140] ; 0x8c 80c87ea: 6d7b ldr r3, [r7, #84] ; 0x54 80c87ec: fbb2 f3f3 udiv r3, r2, r3 80c87f0: f8d7 2080 ldr.w r2, [r7, #128] ; 0x80 80c87f4: 4413 add r3, r2 80c87f6: 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 */ 80c87fa: f8d7 3098 ldr.w r3, [r7, #152] ; 0x98 80c87fe: 011a lsls r2, r3, #4 80c8800: 6b3b ldr r3, [r7, #48] ; 0x30 80c8802: 441a add r2, r3 80c8804: 6b7b ldr r3, [r7, #52] ; 0x34 80c8806: 1ad2 subs r2, r2, r3 80c8808: 69fb ldr r3, [r7, #28] 80c880a: 429a cmp r2, r3 80c880c: d901 bls.n 80c8812 80c880e: 230e movs r3, #14 80c8810: e2c9 b.n 80c8da6 n_clst = (sz_vol - sz_rsv - sz_fat * n_fats - sz_dir) / pau; 80c8812: 69fa ldr r2, [r7, #28] 80c8814: f8d7 3084 ldr.w r3, [r7, #132] ; 0x84 80c8818: 1ad2 subs r2, r2, r3 80c881a: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 80c881e: 6d79 ldr r1, [r7, #84] ; 0x54 80c8820: fb01 f303 mul.w r3, r1, r3 80c8824: 1ad2 subs r2, r2, r3 80c8826: 6ffb ldr r3, [r7, #124] ; 0x7c 80c8828: 1ad2 subs r2, r2, r3 80c882a: f8d7 3098 ldr.w r3, [r7, #152] ; 0x98 80c882e: fbb2 f3f3 udiv r3, r2, r3 80c8832: 62fb str r3, [r7, #44] ; 0x2c if (fmt == FS_FAT32) { 80c8834: f897 309f ldrb.w r3, [r7, #159] ; 0x9f 80c8838: 2b03 cmp r3, #3 80c883a: d110 bne.n 80c885e if (n_clst <= MAX_FAT16) { /* Too few clusters for FAT32 */ 80c883c: 6afb ldr r3, [r7, #44] ; 0x2c 80c883e: f64f 72f5 movw r2, #65525 ; 0xfff5 80c8842: 4293 cmp r3, r2 80c8844: d80b bhi.n 80c885e if (!au && (au = pau / 2) != 0) continue; /* Adjust cluster size and retry */ 80c8846: 687b ldr r3, [r7, #4] 80c8848: 2b00 cmp r3, #0 80c884a: d106 bne.n 80c885a 80c884c: f8d7 3098 ldr.w r3, [r7, #152] ; 0x98 80c8850: 085b lsrs r3, r3, #1 80c8852: 607b str r3, [r7, #4] 80c8854: 687b ldr r3, [r7, #4] 80c8856: 2b00 cmp r3, #0 80c8858: d148 bne.n 80c88ec return FR_MKFS_ABORTED; 80c885a: 230e movs r3, #14 80c885c: e2a3 b.n 80c8da6 } } if (fmt == FS_FAT16) { 80c885e: f897 309f ldrb.w r3, [r7, #159] ; 0x9f 80c8862: 2b02 cmp r3, #2 80c8864: d137 bne.n 80c88d6 if (n_clst > MAX_FAT16) { /* Too many clusters for FAT16 */ 80c8866: 6afb ldr r3, [r7, #44] ; 0x2c 80c8868: f64f 72f5 movw r2, #65525 ; 0xfff5 80c886c: 4293 cmp r3, r2 80c886e: d921 bls.n 80c88b4 if (!au && (pau * 2) <= 64) { 80c8870: 687b ldr r3, [r7, #4] 80c8872: 2b00 cmp r3, #0 80c8874: d109 bne.n 80c888a 80c8876: f8d7 3098 ldr.w r3, [r7, #152] ; 0x98 80c887a: 005b lsls r3, r3, #1 80c887c: 2b40 cmp r3, #64 ; 0x40 80c887e: d804 bhi.n 80c888a au = pau * 2; continue; /* Adjust cluster size and retry */ 80c8880: f8d7 3098 ldr.w r3, [r7, #152] ; 0x98 80c8884: 005b lsls r3, r3, #1 80c8886: 607b str r3, [r7, #4] 80c8888: e035 b.n 80c88f6 } if ((opt & FM_FAT32)) { 80c888a: 7afb ldrb r3, [r7, #11] 80c888c: f003 0302 and.w r3, r3, #2 80c8890: 2b00 cmp r3, #0 80c8892: d003 beq.n 80c889c fmt = FS_FAT32; continue; /* Switch type to FAT32 and retry */ 80c8894: 2303 movs r3, #3 80c8896: f887 309f strb.w r3, [r7, #159] ; 0x9f 80c889a: e02c b.n 80c88f6 } if (!au && (au = pau * 2) <= 128) continue; /* Adjust cluster size and retry */ 80c889c: 687b ldr r3, [r7, #4] 80c889e: 2b00 cmp r3, #0 80c88a0: d106 bne.n 80c88b0 80c88a2: f8d7 3098 ldr.w r3, [r7, #152] ; 0x98 80c88a6: 005b lsls r3, r3, #1 80c88a8: 607b str r3, [r7, #4] 80c88aa: 687b ldr r3, [r7, #4] 80c88ac: 2b80 cmp r3, #128 ; 0x80 80c88ae: d91f bls.n 80c88f0 return FR_MKFS_ABORTED; 80c88b0: 230e movs r3, #14 80c88b2: e278 b.n 80c8da6 } if (n_clst <= MAX_FAT12) { /* Too few clusters for FAT16 */ 80c88b4: 6afb ldr r3, [r7, #44] ; 0x2c 80c88b6: f640 72f5 movw r2, #4085 ; 0xff5 80c88ba: 4293 cmp r3, r2 80c88bc: d80b bhi.n 80c88d6 if (!au && (au = pau * 2) <= 128) continue; /* Adjust cluster size and retry */ 80c88be: 687b ldr r3, [r7, #4] 80c88c0: 2b00 cmp r3, #0 80c88c2: d106 bne.n 80c88d2 80c88c4: f8d7 3098 ldr.w r3, [r7, #152] ; 0x98 80c88c8: 005b lsls r3, r3, #1 80c88ca: 607b str r3, [r7, #4] 80c88cc: 687b ldr r3, [r7, #4] 80c88ce: 2b80 cmp r3, #128 ; 0x80 80c88d0: d910 bls.n 80c88f4 return FR_MKFS_ABORTED; 80c88d2: 230e movs r3, #14 80c88d4: e267 b.n 80c8da6 } } if (fmt == FS_FAT12 && n_clst > MAX_FAT12) return FR_MKFS_ABORTED; /* Too many clusters for FAT12 */ 80c88d6: f897 309f ldrb.w r3, [r7, #159] ; 0x9f 80c88da: 2b01 cmp r3, #1 80c88dc: d10c bne.n 80c88f8 80c88de: 6afb ldr r3, [r7, #44] ; 0x2c 80c88e0: f640 72f5 movw r2, #4085 ; 0xff5 80c88e4: 4293 cmp r3, r2 80c88e6: d907 bls.n 80c88f8 80c88e8: 230e movs r3, #14 80c88ea: e25c b.n 80c8da6 if (!au && (au = pau / 2) != 0) continue; /* Adjust cluster size and retry */ 80c88ec: bf00 nop 80c88ee: e6a2 b.n 80c8636 if (!au && (au = pau * 2) <= 128) continue; /* Adjust cluster size and retry */ 80c88f0: bf00 nop 80c88f2: e6a0 b.n 80c8636 if (!au && (au = pau * 2) <= 128) continue; /* Adjust cluster size and retry */ 80c88f4: bf00 nop pau = au; 80c88f6: e69e b.n 80c8636 /* Ok, it is the valid cluster configuration */ break; 80c88f8: 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); 80c88fa: f8b7 3046 ldrh.w r3, [r7, #70] ; 0x46 80c88fe: 461a mov r2, r3 80c8900: 2100 movs r1, #0 80c8902: 6c38 ldr r0, [r7, #64] ; 0x40 80c8904: f7fa f9e1 bl 80c2cca mem_cpy(buf + BS_JmpBoot, "\xEB\xFE\x90" "MSDOS5.0", 11);/* Boot jump code (x86), OEM name */ 80c8908: 220b movs r2, #11 80c890a: 4918 ldr r1, [pc, #96] ; (80c896c ) 80c890c: 6c38 ldr r0, [r7, #64] ; 0x40 80c890e: f7fa f9bb bl 80c2c88 st_word(buf + BPB_BytsPerSec, ss); /* Sector size [byte] */ 80c8912: 6c3b ldr r3, [r7, #64] ; 0x40 80c8914: 330b adds r3, #11 80c8916: f8b7 2046 ldrh.w r2, [r7, #70] ; 0x46 80c891a: 4611 mov r1, r2 80c891c: 4618 mov r0, r3 80c891e: f7fa f8db bl 80c2ad8 buf[BPB_SecPerClus] = (BYTE)pau; /* Cluster size [sector] */ 80c8922: 6c3b ldr r3, [r7, #64] ; 0x40 80c8924: 330d adds r3, #13 80c8926: f8d7 2098 ldr.w r2, [r7, #152] ; 0x98 80c892a: b2d2 uxtb r2, r2 80c892c: 701a strb r2, [r3, #0] st_word(buf + BPB_RsvdSecCnt, (WORD)sz_rsv); /* Size of reserved area */ 80c892e: 6c3b ldr r3, [r7, #64] ; 0x40 80c8930: 330e adds r3, #14 80c8932: f8d7 2084 ldr.w r2, [r7, #132] ; 0x84 80c8936: b292 uxth r2, r2 80c8938: 4611 mov r1, r2 80c893a: 4618 mov r0, r3 80c893c: f7fa f8cc bl 80c2ad8 buf[BPB_NumFATs] = (BYTE)n_fats; /* Number of FATs */ 80c8940: 6c3b ldr r3, [r7, #64] ; 0x40 80c8942: 3310 adds r3, #16 80c8944: 6d7a ldr r2, [r7, #84] ; 0x54 80c8946: b2d2 uxtb r2, r2 80c8948: 701a strb r2, [r3, #0] st_word(buf + BPB_RootEntCnt, (WORD)((fmt == FS_FAT32) ? 0 : n_rootdir)); /* Number of root directory entries */ 80c894a: 6c3b ldr r3, [r7, #64] ; 0x40 80c894c: f103 0211 add.w r2, r3, #17 80c8950: f897 309f ldrb.w r3, [r7, #159] ; 0x9f 80c8954: 2b03 cmp r3, #3 80c8956: d00b beq.n 80c8970 80c8958: 6d3b ldr r3, [r7, #80] ; 0x50 80c895a: b29b uxth r3, r3 80c895c: e009 b.n 80c8972 80c895e: bf00 nop 80c8960: 08169c78 .word 0x08169c78 80c8964: 0ffffff5 .word 0x0ffffff5 80c8968: 08169c88 .word 0x08169c88 80c896c: 080d0b88 .word 0x080d0b88 80c8970: 2300 movs r3, #0 80c8972: 4619 mov r1, r3 80c8974: 4610 mov r0, r2 80c8976: f7fa f8af bl 80c2ad8 if (sz_vol < 0x10000) { 80c897a: 69fb ldr r3, [r7, #28] 80c897c: f5b3 3f80 cmp.w r3, #65536 ; 0x10000 80c8980: d208 bcs.n 80c8994 st_word(buf + BPB_TotSec16, (WORD)sz_vol); /* Volume size in 16-bit LBA */ 80c8982: 6c3b ldr r3, [r7, #64] ; 0x40 80c8984: 3313 adds r3, #19 80c8986: 69fa ldr r2, [r7, #28] 80c8988: b292 uxth r2, r2 80c898a: 4611 mov r1, r2 80c898c: 4618 mov r0, r3 80c898e: f7fa f8a3 bl 80c2ad8 80c8992: e006 b.n 80c89a2 } else { st_dword(buf + BPB_TotSec32, sz_vol); /* Volume size in 32-bit LBA */ 80c8994: 6c3b ldr r3, [r7, #64] ; 0x40 80c8996: 3320 adds r3, #32 80c8998: 69fa ldr r2, [r7, #28] 80c899a: 4611 mov r1, r2 80c899c: 4618 mov r0, r3 80c899e: f7fa f8b6 bl 80c2b0e } buf[BPB_Media] = 0xF8; /* Media descriptor byte */ 80c89a2: 6c3b ldr r3, [r7, #64] ; 0x40 80c89a4: 3315 adds r3, #21 80c89a6: 22f8 movs r2, #248 ; 0xf8 80c89a8: 701a strb r2, [r3, #0] st_word(buf + BPB_SecPerTrk, 63); /* Number of sectors per track (for int13) */ 80c89aa: 6c3b ldr r3, [r7, #64] ; 0x40 80c89ac: 3318 adds r3, #24 80c89ae: 213f movs r1, #63 ; 0x3f 80c89b0: 4618 mov r0, r3 80c89b2: f7fa f891 bl 80c2ad8 st_word(buf + BPB_NumHeads, 255); /* Number of heads (for int13) */ 80c89b6: 6c3b ldr r3, [r7, #64] ; 0x40 80c89b8: 331a adds r3, #26 80c89ba: 21ff movs r1, #255 ; 0xff 80c89bc: 4618 mov r0, r3 80c89be: f7fa f88b bl 80c2ad8 st_dword(buf + BPB_HiddSec, b_vol); /* Volume offset in the physical drive [sector] */ 80c89c2: 6c3b ldr r3, [r7, #64] ; 0x40 80c89c4: 331c adds r3, #28 80c89c6: 6b79 ldr r1, [r7, #52] ; 0x34 80c89c8: 4618 mov r0, r3 80c89ca: f7fa f8a0 bl 80c2b0e if (fmt == FS_FAT32) { 80c89ce: f897 309f ldrb.w r3, [r7, #159] ; 0x9f 80c89d2: 2b03 cmp r3, #3 80c89d4: d132 bne.n 80c8a3c st_dword(buf + BS_VolID32, GET_FATTIME()); /* VSN */ 80c89d6: 6c3b ldr r3, [r7, #64] ; 0x40 80c89d8: f103 0443 add.w r4, r3, #67 ; 0x43 80c89dc: f7f6 fe82 bl 80bf6e4 80c89e0: 4603 mov r3, r0 80c89e2: 4619 mov r1, r3 80c89e4: 4620 mov r0, r4 80c89e6: f7fa f892 bl 80c2b0e st_dword(buf + BPB_FATSz32, sz_fat); /* FAT size [sector] */ 80c89ea: 6c3b ldr r3, [r7, #64] ; 0x40 80c89ec: 3324 adds r3, #36 ; 0x24 80c89ee: f8d7 1080 ldr.w r1, [r7, #128] ; 0x80 80c89f2: 4618 mov r0, r3 80c89f4: f7fa f88b bl 80c2b0e st_dword(buf + BPB_RootClus32, 2); /* Root directory cluster # (2) */ 80c89f8: 6c3b ldr r3, [r7, #64] ; 0x40 80c89fa: 332c adds r3, #44 ; 0x2c 80c89fc: 2102 movs r1, #2 80c89fe: 4618 mov r0, r3 80c8a00: f7fa f885 bl 80c2b0e st_word(buf + BPB_FSInfo32, 1); /* Offset of FSINFO sector (VBR + 1) */ 80c8a04: 6c3b ldr r3, [r7, #64] ; 0x40 80c8a06: 3330 adds r3, #48 ; 0x30 80c8a08: 2101 movs r1, #1 80c8a0a: 4618 mov r0, r3 80c8a0c: f7fa f864 bl 80c2ad8 st_word(buf + BPB_BkBootSec32, 6); /* Offset of backup VBR (VBR + 6) */ 80c8a10: 6c3b ldr r3, [r7, #64] ; 0x40 80c8a12: 3332 adds r3, #50 ; 0x32 80c8a14: 2106 movs r1, #6 80c8a16: 4618 mov r0, r3 80c8a18: f7fa f85e bl 80c2ad8 buf[BS_DrvNum32] = 0x80; /* Drive number (for int13) */ 80c8a1c: 6c3b ldr r3, [r7, #64] ; 0x40 80c8a1e: 3340 adds r3, #64 ; 0x40 80c8a20: 2280 movs r2, #128 ; 0x80 80c8a22: 701a strb r2, [r3, #0] buf[BS_BootSig32] = 0x29; /* Extended boot signature */ 80c8a24: 6c3b ldr r3, [r7, #64] ; 0x40 80c8a26: 3342 adds r3, #66 ; 0x42 80c8a28: 2229 movs r2, #41 ; 0x29 80c8a2a: 701a strb r2, [r3, #0] mem_cpy(buf + BS_VolLab32, "NO NAME " "FAT32 ", 19); /* Volume label, FAT signature */ 80c8a2c: 6c3b ldr r3, [r7, #64] ; 0x40 80c8a2e: 3347 adds r3, #71 ; 0x47 80c8a30: 2213 movs r2, #19 80c8a32: 499d ldr r1, [pc, #628] ; (80c8ca8 ) 80c8a34: 4618 mov r0, r3 80c8a36: f7fa f927 bl 80c2c88 80c8a3a: e021 b.n 80c8a80 } else { st_dword(buf + BS_VolID, GET_FATTIME()); /* VSN */ 80c8a3c: 6c3b ldr r3, [r7, #64] ; 0x40 80c8a3e: f103 0427 add.w r4, r3, #39 ; 0x27 80c8a42: f7f6 fe4f bl 80bf6e4 80c8a46: 4603 mov r3, r0 80c8a48: 4619 mov r1, r3 80c8a4a: 4620 mov r0, r4 80c8a4c: f7fa f85f bl 80c2b0e st_word(buf + BPB_FATSz16, (WORD)sz_fat); /* FAT size [sector] */ 80c8a50: 6c3b ldr r3, [r7, #64] ; 0x40 80c8a52: 3316 adds r3, #22 80c8a54: f8d7 2080 ldr.w r2, [r7, #128] ; 0x80 80c8a58: b292 uxth r2, r2 80c8a5a: 4611 mov r1, r2 80c8a5c: 4618 mov r0, r3 80c8a5e: f7fa f83b bl 80c2ad8 buf[BS_DrvNum] = 0x80; /* Drive number (for int13) */ 80c8a62: 6c3b ldr r3, [r7, #64] ; 0x40 80c8a64: 3324 adds r3, #36 ; 0x24 80c8a66: 2280 movs r2, #128 ; 0x80 80c8a68: 701a strb r2, [r3, #0] buf[BS_BootSig] = 0x29; /* Extended boot signature */ 80c8a6a: 6c3b ldr r3, [r7, #64] ; 0x40 80c8a6c: 3326 adds r3, #38 ; 0x26 80c8a6e: 2229 movs r2, #41 ; 0x29 80c8a70: 701a strb r2, [r3, #0] mem_cpy(buf + BS_VolLab, "NO NAME " "FAT ", 19); /* Volume label, FAT signature */ 80c8a72: 6c3b ldr r3, [r7, #64] ; 0x40 80c8a74: 332b adds r3, #43 ; 0x2b 80c8a76: 2213 movs r2, #19 80c8a78: 498c ldr r1, [pc, #560] ; (80c8cac ) 80c8a7a: 4618 mov r0, r3 80c8a7c: f7fa f904 bl 80c2c88 } st_word(buf + BS_55AA, 0xAA55); /* Signature (offset is fixed here regardless of sector size) */ 80c8a80: 6c3b ldr r3, [r7, #64] ; 0x40 80c8a82: f503 73ff add.w r3, r3, #510 ; 0x1fe 80c8a86: f64a 2155 movw r1, #43605 ; 0xaa55 80c8a8a: 4618 mov r0, r3 80c8a8c: f7fa f824 bl 80c2ad8 if (disk_write(pdrv, buf, b_vol, 1) != RES_OK) return FR_DISK_ERR; /* Write it to the VBR sector */ 80c8a90: f897 004b ldrb.w r0, [r7, #75] ; 0x4b 80c8a94: 2301 movs r3, #1 80c8a96: 6b7a ldr r2, [r7, #52] ; 0x34 80c8a98: 6c39 ldr r1, [r7, #64] ; 0x40 80c8a9a: f7f9 fef5 bl 80c2888 80c8a9e: 4603 mov r3, r0 80c8aa0: 2b00 cmp r3, #0 80c8aa2: d001 beq.n 80c8aa8 80c8aa4: 2301 movs r3, #1 80c8aa6: e17e b.n 80c8da6 /* Create FSINFO record if needed */ if (fmt == FS_FAT32) { 80c8aa8: f897 309f ldrb.w r3, [r7, #159] ; 0x9f 80c8aac: 2b03 cmp r3, #3 80c8aae: d141 bne.n 80c8b34 disk_write(pdrv, buf, b_vol + 6, 1); /* Write backup VBR (VBR + 6) */ 80c8ab0: 6b7b ldr r3, [r7, #52] ; 0x34 80c8ab2: 1d9a adds r2, r3, #6 80c8ab4: f897 004b ldrb.w r0, [r7, #75] ; 0x4b 80c8ab8: 2301 movs r3, #1 80c8aba: 6c39 ldr r1, [r7, #64] ; 0x40 80c8abc: f7f9 fee4 bl 80c2888 mem_set(buf, 0, ss); 80c8ac0: f8b7 3046 ldrh.w r3, [r7, #70] ; 0x46 80c8ac4: 461a mov r2, r3 80c8ac6: 2100 movs r1, #0 80c8ac8: 6c38 ldr r0, [r7, #64] ; 0x40 80c8aca: f7fa f8fe bl 80c2cca st_dword(buf + FSI_LeadSig, 0x41615252); 80c8ace: 4978 ldr r1, [pc, #480] ; (80c8cb0 ) 80c8ad0: 6c38 ldr r0, [r7, #64] ; 0x40 80c8ad2: f7fa f81c bl 80c2b0e st_dword(buf + FSI_StrucSig, 0x61417272); 80c8ad6: 6c3b ldr r3, [r7, #64] ; 0x40 80c8ad8: f503 73f2 add.w r3, r3, #484 ; 0x1e4 80c8adc: 4975 ldr r1, [pc, #468] ; (80c8cb4 ) 80c8ade: 4618 mov r0, r3 80c8ae0: f7fa f815 bl 80c2b0e st_dword(buf + FSI_Free_Count, n_clst - 1); /* Number of free clusters */ 80c8ae4: 6c3b ldr r3, [r7, #64] ; 0x40 80c8ae6: f503 72f4 add.w r2, r3, #488 ; 0x1e8 80c8aea: 6afb ldr r3, [r7, #44] ; 0x2c 80c8aec: 3b01 subs r3, #1 80c8aee: 4619 mov r1, r3 80c8af0: 4610 mov r0, r2 80c8af2: f7fa f80c bl 80c2b0e st_dword(buf + FSI_Nxt_Free, 2); /* Last allocated cluster# */ 80c8af6: 6c3b ldr r3, [r7, #64] ; 0x40 80c8af8: f503 73f6 add.w r3, r3, #492 ; 0x1ec 80c8afc: 2102 movs r1, #2 80c8afe: 4618 mov r0, r3 80c8b00: f7fa f805 bl 80c2b0e st_word(buf + BS_55AA, 0xAA55); 80c8b04: 6c3b ldr r3, [r7, #64] ; 0x40 80c8b06: f503 73ff add.w r3, r3, #510 ; 0x1fe 80c8b0a: f64a 2155 movw r1, #43605 ; 0xaa55 80c8b0e: 4618 mov r0, r3 80c8b10: f7f9 ffe2 bl 80c2ad8 disk_write(pdrv, buf, b_vol + 7, 1); /* Write backup FSINFO (VBR + 7) */ 80c8b14: 6b7b ldr r3, [r7, #52] ; 0x34 80c8b16: 1dda adds r2, r3, #7 80c8b18: f897 004b ldrb.w r0, [r7, #75] ; 0x4b 80c8b1c: 2301 movs r3, #1 80c8b1e: 6c39 ldr r1, [r7, #64] ; 0x40 80c8b20: f7f9 feb2 bl 80c2888 disk_write(pdrv, buf, b_vol + 1, 1); /* Write original FSINFO (VBR + 1) */ 80c8b24: 6b7b ldr r3, [r7, #52] ; 0x34 80c8b26: 1c5a adds r2, r3, #1 80c8b28: f897 004b ldrb.w r0, [r7, #75] ; 0x4b 80c8b2c: 2301 movs r3, #1 80c8b2e: 6c39 ldr r1, [r7, #64] ; 0x40 80c8b30: f7f9 feaa bl 80c2888 } /* Initialize FAT area */ mem_set(buf, 0, (UINT)szb_buf); 80c8b34: 6bba ldr r2, [r7, #56] ; 0x38 80c8b36: 2100 movs r1, #0 80c8b38: 6c38 ldr r0, [r7, #64] ; 0x40 80c8b3a: f7fa f8c6 bl 80c2cca sect = b_fat; /* FAT start sector */ 80c8b3e: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 80c8b42: f8c7 3094 str.w r3, [r7, #148] ; 0x94 for (i = 0; i < n_fats; i++) { /* Initialize FATs each */ 80c8b46: 2300 movs r3, #0 80c8b48: 67bb str r3, [r7, #120] ; 0x78 80c8b4a: e059 b.n 80c8c00 if (fmt == FS_FAT32) { 80c8b4c: f897 309f ldrb.w r3, [r7, #159] ; 0x9f 80c8b50: 2b03 cmp r3, #3 80c8b52: d113 bne.n 80c8b7c st_dword(buf + 0, 0xFFFFFFF8); /* Entry 0 */ 80c8b54: f06f 0107 mvn.w r1, #7 80c8b58: 6c38 ldr r0, [r7, #64] ; 0x40 80c8b5a: f7f9 ffd8 bl 80c2b0e st_dword(buf + 4, 0xFFFFFFFF); /* Entry 1 */ 80c8b5e: 6c3b ldr r3, [r7, #64] ; 0x40 80c8b60: 3304 adds r3, #4 80c8b62: f04f 31ff mov.w r1, #4294967295 80c8b66: 4618 mov r0, r3 80c8b68: f7f9 ffd1 bl 80c2b0e st_dword(buf + 8, 0x0FFFFFFF); /* Entry 2 (root directory) */ 80c8b6c: 6c3b ldr r3, [r7, #64] ; 0x40 80c8b6e: 3308 adds r3, #8 80c8b70: f06f 4170 mvn.w r1, #4026531840 ; 0xf0000000 80c8b74: 4618 mov r0, r3 80c8b76: f7f9 ffca bl 80c2b0e 80c8b7a: e00b b.n 80c8b94 } else { st_dword(buf + 0, (fmt == FS_FAT12) ? 0xFFFFF8 : 0xFFFFFFF8); /* Entry 0 and 1 */ 80c8b7c: f897 309f ldrb.w r3, [r7, #159] ; 0x9f 80c8b80: 2b01 cmp r3, #1 80c8b82: d101 bne.n 80c8b88 80c8b84: 4b4c ldr r3, [pc, #304] ; (80c8cb8 ) 80c8b86: e001 b.n 80c8b8c 80c8b88: f06f 0307 mvn.w r3, #7 80c8b8c: 4619 mov r1, r3 80c8b8e: 6c38 ldr r0, [r7, #64] ; 0x40 80c8b90: f7f9 ffbd bl 80c2b0e } nsect = sz_fat; /* Number of FAT sectors */ 80c8b94: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 80c8b98: f8c7 3090 str.w r3, [r7, #144] ; 0x90 do { /* Fill FAT sectors */ n = (nsect > sz_buf) ? sz_buf : nsect; 80c8b9c: f8d7 2090 ldr.w r2, [r7, #144] ; 0x90 80c8ba0: 6bfb ldr r3, [r7, #60] ; 0x3c 80c8ba2: 4293 cmp r3, r2 80c8ba4: bf28 it cs 80c8ba6: 4613 movcs r3, r2 80c8ba8: f8c7 308c str.w r3, [r7, #140] ; 0x8c if (disk_write(pdrv, buf, sect, (UINT)n) != RES_OK) return FR_DISK_ERR; 80c8bac: f897 004b ldrb.w r0, [r7, #75] ; 0x4b 80c8bb0: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80c8bb4: f8d7 2094 ldr.w r2, [r7, #148] ; 0x94 80c8bb8: 6c39 ldr r1, [r7, #64] ; 0x40 80c8bba: f7f9 fe65 bl 80c2888 80c8bbe: 4603 mov r3, r0 80c8bc0: 2b00 cmp r3, #0 80c8bc2: d001 beq.n 80c8bc8 80c8bc4: 2301 movs r3, #1 80c8bc6: e0ee b.n 80c8da6 mem_set(buf, 0, ss); 80c8bc8: f8b7 3046 ldrh.w r3, [r7, #70] ; 0x46 80c8bcc: 461a mov r2, r3 80c8bce: 2100 movs r1, #0 80c8bd0: 6c38 ldr r0, [r7, #64] ; 0x40 80c8bd2: f7fa f87a bl 80c2cca sect += n; nsect -= n; 80c8bd6: f8d7 2094 ldr.w r2, [r7, #148] ; 0x94 80c8bda: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80c8bde: 4413 add r3, r2 80c8be0: f8c7 3094 str.w r3, [r7, #148] ; 0x94 80c8be4: f8d7 2090 ldr.w r2, [r7, #144] ; 0x90 80c8be8: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80c8bec: 1ad3 subs r3, r2, r3 80c8bee: f8c7 3090 str.w r3, [r7, #144] ; 0x90 } while (nsect); 80c8bf2: f8d7 3090 ldr.w r3, [r7, #144] ; 0x90 80c8bf6: 2b00 cmp r3, #0 80c8bf8: d1d0 bne.n 80c8b9c for (i = 0; i < n_fats; i++) { /* Initialize FATs each */ 80c8bfa: 6fbb ldr r3, [r7, #120] ; 0x78 80c8bfc: 3301 adds r3, #1 80c8bfe: 67bb str r3, [r7, #120] ; 0x78 80c8c00: 6fba ldr r2, [r7, #120] ; 0x78 80c8c02: 6d7b ldr r3, [r7, #84] ; 0x54 80c8c04: 429a cmp r2, r3 80c8c06: d3a1 bcc.n 80c8b4c } /* Initialize root directory (fill with zero) */ nsect = (fmt == FS_FAT32) ? pau : sz_dir; /* Number of root directory sectors */ 80c8c08: f897 309f ldrb.w r3, [r7, #159] ; 0x9f 80c8c0c: 2b03 cmp r3, #3 80c8c0e: d102 bne.n 80c8c16 80c8c10: f8d7 3098 ldr.w r3, [r7, #152] ; 0x98 80c8c14: e000 b.n 80c8c18 80c8c16: 6ffb ldr r3, [r7, #124] ; 0x7c 80c8c18: f8c7 3090 str.w r3, [r7, #144] ; 0x90 do { n = (nsect > sz_buf) ? sz_buf : nsect; 80c8c1c: f8d7 2090 ldr.w r2, [r7, #144] ; 0x90 80c8c20: 6bfb ldr r3, [r7, #60] ; 0x3c 80c8c22: 4293 cmp r3, r2 80c8c24: bf28 it cs 80c8c26: 4613 movcs r3, r2 80c8c28: f8c7 308c str.w r3, [r7, #140] ; 0x8c if (disk_write(pdrv, buf, sect, (UINT)n) != RES_OK) return FR_DISK_ERR; 80c8c2c: f897 004b ldrb.w r0, [r7, #75] ; 0x4b 80c8c30: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80c8c34: f8d7 2094 ldr.w r2, [r7, #148] ; 0x94 80c8c38: 6c39 ldr r1, [r7, #64] ; 0x40 80c8c3a: f7f9 fe25 bl 80c2888 80c8c3e: 4603 mov r3, r0 80c8c40: 2b00 cmp r3, #0 80c8c42: d001 beq.n 80c8c48 80c8c44: 2301 movs r3, #1 80c8c46: e0ae b.n 80c8da6 sect += n; nsect -= n; 80c8c48: f8d7 2094 ldr.w r2, [r7, #148] ; 0x94 80c8c4c: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80c8c50: 4413 add r3, r2 80c8c52: f8c7 3094 str.w r3, [r7, #148] ; 0x94 80c8c56: f8d7 2090 ldr.w r2, [r7, #144] ; 0x90 80c8c5a: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80c8c5e: 1ad3 subs r3, r2, r3 80c8c60: f8c7 3090 str.w r3, [r7, #144] ; 0x90 } while (nsect); 80c8c64: f8d7 3090 ldr.w r3, [r7, #144] ; 0x90 80c8c68: 2b00 cmp r3, #0 80c8c6a: d1d7 bne.n 80c8c1c } /* Determine system ID in the partition table */ if (_FS_EXFAT && fmt == FS_EXFAT) { 80c8c6c: f897 309f ldrb.w r3, [r7, #159] ; 0x9f 80c8c70: 2b04 cmp r3, #4 80c8c72: d103 bne.n 80c8c7c sys = 0x07; /* HPFS/NTFS/exFAT */ 80c8c74: 2307 movs r3, #7 80c8c76: f887 309e strb.w r3, [r7, #158] ; 0x9e 80c8c7a: e022 b.n 80c8cc2 } else { if (fmt == FS_FAT32) { 80c8c7c: f897 309f ldrb.w r3, [r7, #159] ; 0x9f 80c8c80: 2b03 cmp r3, #3 80c8c82: d103 bne.n 80c8c8c sys = 0x0C; /* FAT32X */ 80c8c84: 230c movs r3, #12 80c8c86: f887 309e strb.w r3, [r7, #158] ; 0x9e 80c8c8a: e01a b.n 80c8cc2 } else { if (sz_vol >= 0x10000) { 80c8c8c: 69fb ldr r3, [r7, #28] 80c8c8e: f5b3 3f80 cmp.w r3, #65536 ; 0x10000 80c8c92: d303 bcc.n 80c8c9c sys = 0x06; /* FAT12/16 (>=64KS) */ 80c8c94: 2306 movs r3, #6 80c8c96: f887 309e strb.w r3, [r7, #158] ; 0x9e 80c8c9a: e012 b.n 80c8cc2 } else { sys = (fmt == FS_FAT16) ? 0x04 : 0x01; /* FAT16 (<64KS) : FAT12 (<64KS) */ 80c8c9c: f897 309f ldrb.w r3, [r7, #159] ; 0x9f 80c8ca0: 2b02 cmp r3, #2 80c8ca2: d10b bne.n 80c8cbc 80c8ca4: 2304 movs r3, #4 80c8ca6: e00a b.n 80c8cbe 80c8ca8: 080d0b94 .word 0x080d0b94 80c8cac: 080d0ba8 .word 0x080d0ba8 80c8cb0: 41615252 .word 0x41615252 80c8cb4: 61417272 .word 0x61417272 80c8cb8: 00fffff8 .word 0x00fffff8 80c8cbc: 2301 movs r3, #1 80c8cbe: 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 */ 80c8cc2: 7afb ldrb r3, [r7, #11] 80c8cc4: f003 0308 and.w r3, r3, #8 80c8cc8: 2b00 cmp r3, #0 80c8cca: d15f bne.n 80c8d8c mem_set(buf, 0, ss); 80c8ccc: f8b7 3046 ldrh.w r3, [r7, #70] ; 0x46 80c8cd0: 461a mov r2, r3 80c8cd2: 2100 movs r1, #0 80c8cd4: 6c38 ldr r0, [r7, #64] ; 0x40 80c8cd6: f7f9 fff8 bl 80c2cca st_word(buf + BS_55AA, 0xAA55); /* MBR signature */ 80c8cda: 6c3b ldr r3, [r7, #64] ; 0x40 80c8cdc: f503 73ff add.w r3, r3, #510 ; 0x1fe 80c8ce0: f64a 2155 movw r1, #43605 ; 0xaa55 80c8ce4: 4618 mov r0, r3 80c8ce6: f7f9 fef7 bl 80c2ad8 pte = buf + MBR_Table; /* Create partition table for single partition in the drive */ 80c8cea: 6c3b ldr r3, [r7, #64] ; 0x40 80c8cec: f503 73df add.w r3, r3, #446 ; 0x1be 80c8cf0: 627b str r3, [r7, #36] ; 0x24 pte[PTE_Boot] = 0; /* Boot indicator */ 80c8cf2: 6a7b ldr r3, [r7, #36] ; 0x24 80c8cf4: 2200 movs r2, #0 80c8cf6: 701a strb r2, [r3, #0] pte[PTE_StHead] = 1; /* Start head */ 80c8cf8: 6a7b ldr r3, [r7, #36] ; 0x24 80c8cfa: 3301 adds r3, #1 80c8cfc: 2201 movs r2, #1 80c8cfe: 701a strb r2, [r3, #0] pte[PTE_StSec] = 1; /* Start sector */ 80c8d00: 6a7b ldr r3, [r7, #36] ; 0x24 80c8d02: 3302 adds r3, #2 80c8d04: 2201 movs r2, #1 80c8d06: 701a strb r2, [r3, #0] pte[PTE_StCyl] = 0; /* Start cylinder */ 80c8d08: 6a7b ldr r3, [r7, #36] ; 0x24 80c8d0a: 3303 adds r3, #3 80c8d0c: 2200 movs r2, #0 80c8d0e: 701a strb r2, [r3, #0] pte[PTE_System] = sys; /* System type */ 80c8d10: 6a7b ldr r3, [r7, #36] ; 0x24 80c8d12: 3304 adds r3, #4 80c8d14: f897 209e ldrb.w r2, [r7, #158] ; 0x9e 80c8d18: 701a strb r2, [r3, #0] n = (b_vol + sz_vol) / (63 * 255); /* (End CHS may be invalid) */ 80c8d1a: 69fa ldr r2, [r7, #28] 80c8d1c: 6b7b ldr r3, [r7, #52] ; 0x34 80c8d1e: 441a add r2, r3 80c8d20: 4b23 ldr r3, [pc, #140] ; (80c8db0 ) 80c8d22: fba3 1302 umull r1, r3, r3, r2 80c8d26: 1ad2 subs r2, r2, r3 80c8d28: 0852 lsrs r2, r2, #1 80c8d2a: 4413 add r3, r2 80c8d2c: 0b5b lsrs r3, r3, #13 80c8d2e: f8c7 308c str.w r3, [r7, #140] ; 0x8c pte[PTE_EdHead] = 254; /* End head */ 80c8d32: 6a7b ldr r3, [r7, #36] ; 0x24 80c8d34: 3305 adds r3, #5 80c8d36: 22fe movs r2, #254 ; 0xfe 80c8d38: 701a strb r2, [r3, #0] pte[PTE_EdSec] = (BYTE)(n >> 2 | 63); /* End sector */ 80c8d3a: 6a7b ldr r3, [r7, #36] ; 0x24 80c8d3c: 3306 adds r3, #6 80c8d3e: f8d7 208c ldr.w r2, [r7, #140] ; 0x8c 80c8d42: 0892 lsrs r2, r2, #2 80c8d44: b2d2 uxtb r2, r2 80c8d46: f042 023f orr.w r2, r2, #63 ; 0x3f 80c8d4a: b2d2 uxtb r2, r2 80c8d4c: 701a strb r2, [r3, #0] pte[PTE_EdCyl] = (BYTE)n; /* End cylinder */ 80c8d4e: 6a7b ldr r3, [r7, #36] ; 0x24 80c8d50: 3307 adds r3, #7 80c8d52: f8d7 208c ldr.w r2, [r7, #140] ; 0x8c 80c8d56: b2d2 uxtb r2, r2 80c8d58: 701a strb r2, [r3, #0] st_dword(pte + PTE_StLba, b_vol); /* Start offset in LBA */ 80c8d5a: 6a7b ldr r3, [r7, #36] ; 0x24 80c8d5c: 3308 adds r3, #8 80c8d5e: 6b79 ldr r1, [r7, #52] ; 0x34 80c8d60: 4618 mov r0, r3 80c8d62: f7f9 fed4 bl 80c2b0e st_dword(pte + PTE_SizLba, sz_vol); /* Size in sectors */ 80c8d66: 6a7b ldr r3, [r7, #36] ; 0x24 80c8d68: 330c adds r3, #12 80c8d6a: 69fa ldr r2, [r7, #28] 80c8d6c: 4611 mov r1, r2 80c8d6e: 4618 mov r0, r3 80c8d70: f7f9 fecd bl 80c2b0e if (disk_write(pdrv, buf, 0, 1) != RES_OK) return FR_DISK_ERR; /* Write it to the MBR */ 80c8d74: f897 004b ldrb.w r0, [r7, #75] ; 0x4b 80c8d78: 2301 movs r3, #1 80c8d7a: 2200 movs r2, #0 80c8d7c: 6c39 ldr r1, [r7, #64] ; 0x40 80c8d7e: f7f9 fd83 bl 80c2888 80c8d82: 4603 mov r3, r0 80c8d84: 2b00 cmp r3, #0 80c8d86: d001 beq.n 80c8d8c 80c8d88: 2301 movs r3, #1 80c8d8a: e00c b.n 80c8da6 } } if (disk_ioctl(pdrv, CTRL_SYNC, 0) != RES_OK) return FR_DISK_ERR; 80c8d8c: f897 304b ldrb.w r3, [r7, #75] ; 0x4b 80c8d90: 2200 movs r2, #0 80c8d92: 2100 movs r1, #0 80c8d94: 4618 mov r0, r3 80c8d96: f7f9 fd97 bl 80c28c8 80c8d9a: 4603 mov r3, r0 80c8d9c: 2b00 cmp r3, #0 80c8d9e: d001 beq.n 80c8da4 80c8da0: 2301 movs r3, #1 80c8da2: e000 b.n 80c8da6 return FR_OK; 80c8da4: 2300 movs r3, #0 } 80c8da6: 4618 mov r0, r3 80c8da8: 37a4 adds r7, #164 ; 0xa4 80c8daa: 46bd mov sp, r7 80c8dac: bd90 pop {r4, r7, pc} 80c8dae: bf00 nop 80c8db0: 0515565b .word 0x0515565b 080c8db4 : * @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) { 80c8db4: b480 push {r7} 80c8db6: b087 sub sp, #28 80c8db8: af00 add r7, sp, #0 80c8dba: 60f8 str r0, [r7, #12] 80c8dbc: 60b9 str r1, [r7, #8] 80c8dbe: 4613 mov r3, r2 80c8dc0: 71fb strb r3, [r7, #7] uint8_t ret = 1; 80c8dc2: 2301 movs r3, #1 80c8dc4: 75fb strb r3, [r7, #23] uint8_t DiskNum = 0; 80c8dc6: 2300 movs r3, #0 80c8dc8: 75bb strb r3, [r7, #22] if(disk.nbr < _VOLUMES) 80c8dca: 4b1f ldr r3, [pc, #124] ; (80c8e48 ) 80c8dcc: 7a5b ldrb r3, [r3, #9] 80c8dce: b2db uxtb r3, r3 80c8dd0: 2b00 cmp r3, #0 80c8dd2: d131 bne.n 80c8e38 { disk.is_initialized[disk.nbr] = 0; 80c8dd4: 4b1c ldr r3, [pc, #112] ; (80c8e48 ) 80c8dd6: 7a5b ldrb r3, [r3, #9] 80c8dd8: b2db uxtb r3, r3 80c8dda: 461a mov r2, r3 80c8ddc: 4b1a ldr r3, [pc, #104] ; (80c8e48 ) 80c8dde: 2100 movs r1, #0 80c8de0: 5499 strb r1, [r3, r2] disk.drv[disk.nbr] = drv; 80c8de2: 4b19 ldr r3, [pc, #100] ; (80c8e48 ) 80c8de4: 7a5b ldrb r3, [r3, #9] 80c8de6: b2db uxtb r3, r3 80c8de8: 4a17 ldr r2, [pc, #92] ; (80c8e48 ) 80c8dea: 009b lsls r3, r3, #2 80c8dec: 4413 add r3, r2 80c8dee: 68fa ldr r2, [r7, #12] 80c8df0: 605a str r2, [r3, #4] disk.lun[disk.nbr] = lun; 80c8df2: 4b15 ldr r3, [pc, #84] ; (80c8e48 ) 80c8df4: 7a5b ldrb r3, [r3, #9] 80c8df6: b2db uxtb r3, r3 80c8df8: 461a mov r2, r3 80c8dfa: 4b13 ldr r3, [pc, #76] ; (80c8e48 ) 80c8dfc: 4413 add r3, r2 80c8dfe: 79fa ldrb r2, [r7, #7] 80c8e00: 721a strb r2, [r3, #8] DiskNum = disk.nbr++; 80c8e02: 4b11 ldr r3, [pc, #68] ; (80c8e48 ) 80c8e04: 7a5b ldrb r3, [r3, #9] 80c8e06: b2db uxtb r3, r3 80c8e08: 1c5a adds r2, r3, #1 80c8e0a: b2d1 uxtb r1, r2 80c8e0c: 4a0e ldr r2, [pc, #56] ; (80c8e48 ) 80c8e0e: 7251 strb r1, [r2, #9] 80c8e10: 75bb strb r3, [r7, #22] path[0] = DiskNum + '0'; 80c8e12: 7dbb ldrb r3, [r7, #22] 80c8e14: 3330 adds r3, #48 ; 0x30 80c8e16: b2da uxtb r2, r3 80c8e18: 68bb ldr r3, [r7, #8] 80c8e1a: 701a strb r2, [r3, #0] path[1] = ':'; 80c8e1c: 68bb ldr r3, [r7, #8] 80c8e1e: 3301 adds r3, #1 80c8e20: 223a movs r2, #58 ; 0x3a 80c8e22: 701a strb r2, [r3, #0] path[2] = '/'; 80c8e24: 68bb ldr r3, [r7, #8] 80c8e26: 3302 adds r3, #2 80c8e28: 222f movs r2, #47 ; 0x2f 80c8e2a: 701a strb r2, [r3, #0] path[3] = 0; 80c8e2c: 68bb ldr r3, [r7, #8] 80c8e2e: 3303 adds r3, #3 80c8e30: 2200 movs r2, #0 80c8e32: 701a strb r2, [r3, #0] ret = 0; 80c8e34: 2300 movs r3, #0 80c8e36: 75fb strb r3, [r7, #23] } return ret; 80c8e38: 7dfb ldrb r3, [r7, #23] } 80c8e3a: 4618 mov r0, r3 80c8e3c: 371c adds r7, #28 80c8e3e: 46bd mov sp, r7 80c8e40: f85d 7b04 ldr.w r7, [sp], #4 80c8e44: 4770 bx lr 80c8e46: bf00 nop 80c8e48: 20021b14 .word 0x20021b14 080c8e4c : * @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) { 80c8e4c: b580 push {r7, lr} 80c8e4e: b082 sub sp, #8 80c8e50: af00 add r7, sp, #0 80c8e52: 6078 str r0, [r7, #4] 80c8e54: 6039 str r1, [r7, #0] return FATFS_LinkDriverEx(drv, path, 0); 80c8e56: 2200 movs r2, #0 80c8e58: 6839 ldr r1, [r7, #0] 80c8e5a: 6878 ldr r0, [r7, #4] 80c8e5c: f7ff ffaa bl 80c8db4 80c8e60: 4603 mov r3, r0 } 80c8e62: 4618 mov r0, r3 80c8e64: 3708 adds r7, #8 80c8e66: 46bd mov sp, r7 80c8e68: bd80 pop {r7, pc} ... 080c8e6c : 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 */ ) { 80c8e6c: b480 push {r7} 80c8e6e: b085 sub sp, #20 80c8e70: af00 add r7, sp, #0 80c8e72: 4603 mov r3, r0 80c8e74: 6039 str r1, [r7, #0] 80c8e76: 80fb strh r3, [r7, #6] WCHAR c; if (chr < 0x80) { /* ASCII */ 80c8e78: 88fb ldrh r3, [r7, #6] 80c8e7a: 2b7f cmp r3, #127 ; 0x7f 80c8e7c: d802 bhi.n 80c8e84 c = chr; 80c8e7e: 88fb ldrh r3, [r7, #6] 80c8e80: 81fb strh r3, [r7, #14] 80c8e82: e025 b.n 80c8ed0 } else { if (dir) { /* OEMCP to Unicode */ 80c8e84: 683b ldr r3, [r7, #0] 80c8e86: 2b00 cmp r3, #0 80c8e88: d00b beq.n 80c8ea2 c = (chr >= 0x100) ? 0 : Tbl[chr - 0x80]; 80c8e8a: 88fb ldrh r3, [r7, #6] 80c8e8c: 2bff cmp r3, #255 ; 0xff 80c8e8e: d805 bhi.n 80c8e9c 80c8e90: 88fb ldrh r3, [r7, #6] 80c8e92: 3b80 subs r3, #128 ; 0x80 80c8e94: 4a12 ldr r2, [pc, #72] ; (80c8ee0 ) 80c8e96: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 80c8e9a: e000 b.n 80c8e9e 80c8e9c: 2300 movs r3, #0 80c8e9e: 81fb strh r3, [r7, #14] 80c8ea0: e016 b.n 80c8ed0 } else { /* Unicode to OEMCP */ for (c = 0; c < 0x80; c++) { 80c8ea2: 2300 movs r3, #0 80c8ea4: 81fb strh r3, [r7, #14] 80c8ea6: e009 b.n 80c8ebc if (chr == Tbl[c]) break; 80c8ea8: 89fb ldrh r3, [r7, #14] 80c8eaa: 4a0d ldr r2, [pc, #52] ; (80c8ee0 ) 80c8eac: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 80c8eb0: 88fa ldrh r2, [r7, #6] 80c8eb2: 429a cmp r2, r3 80c8eb4: d006 beq.n 80c8ec4 for (c = 0; c < 0x80; c++) { 80c8eb6: 89fb ldrh r3, [r7, #14] 80c8eb8: 3301 adds r3, #1 80c8eba: 81fb strh r3, [r7, #14] 80c8ebc: 89fb ldrh r3, [r7, #14] 80c8ebe: 2b7f cmp r3, #127 ; 0x7f 80c8ec0: d9f2 bls.n 80c8ea8 80c8ec2: e000 b.n 80c8ec6 if (chr == Tbl[c]) break; 80c8ec4: bf00 nop } c = (c + 0x80) & 0xFF; 80c8ec6: 89fb ldrh r3, [r7, #14] 80c8ec8: 3380 adds r3, #128 ; 0x80 80c8eca: b29b uxth r3, r3 80c8ecc: b2db uxtb r3, r3 80c8ece: 81fb strh r3, [r7, #14] } } return c; 80c8ed0: 89fb ldrh r3, [r7, #14] } 80c8ed2: 4618 mov r0, r3 80c8ed4: 3714 adds r7, #20 80c8ed6: 46bd mov sp, r7 80c8ed8: f85d 7b04 ldr.w r7, [sp], #4 80c8edc: 4770 bx lr 80c8ede: bf00 nop 80c8ee0: 08169c98 .word 0x08169c98 080c8ee4 : WCHAR ff_wtoupper ( /* Upper converted character */ WCHAR chr /* Input character */ ) { 80c8ee4: b480 push {r7} 80c8ee6: b085 sub sp, #20 80c8ee8: af00 add r7, sp, #0 80c8eea: 4603 mov r3, r0 80c8eec: 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++) ; 80c8eee: 2300 movs r3, #0 80c8ef0: 60fb str r3, [r7, #12] 80c8ef2: e002 b.n 80c8efa 80c8ef4: 68fb ldr r3, [r7, #12] 80c8ef6: 3301 adds r3, #1 80c8ef8: 60fb str r3, [r7, #12] 80c8efa: 4a0f ldr r2, [pc, #60] ; (80c8f38 ) 80c8efc: 68fb ldr r3, [r7, #12] 80c8efe: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 80c8f02: 2b00 cmp r3, #0 80c8f04: d006 beq.n 80c8f14 80c8f06: 4a0c ldr r2, [pc, #48] ; (80c8f38 ) 80c8f08: 68fb ldr r3, [r7, #12] 80c8f0a: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 80c8f0e: 88fa ldrh r2, [r7, #6] 80c8f10: 429a cmp r2, r3 80c8f12: d1ef bne.n 80c8ef4 return tbl_lower[i] ? tbl_upper[i] : chr; 80c8f14: 4a08 ldr r2, [pc, #32] ; (80c8f38 ) 80c8f16: 68fb ldr r3, [r7, #12] 80c8f18: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 80c8f1c: 2b00 cmp r3, #0 80c8f1e: d004 beq.n 80c8f2a 80c8f20: 4a06 ldr r2, [pc, #24] ; (80c8f3c ) 80c8f22: 68fb ldr r3, [r7, #12] 80c8f24: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 80c8f28: e000 b.n 80c8f2c 80c8f2a: 88fb ldrh r3, [r7, #6] } 80c8f2c: 4618 mov r0, r3 80c8f2e: 3714 adds r7, #20 80c8f30: 46bd mov sp, r7 80c8f32: f85d 7b04 ldr.w r7, [sp], #4 80c8f36: 4770 bx lr 80c8f38: 08169d98 .word 0x08169d98 80c8f3c: 08169f78 .word 0x08169f78 080c8f40 : /** * Init USB device Library, add supported class and start the library * @retval None */ void MX_USB_DEVICE_Init(void) { 80c8f40: b580 push {r7, lr} 80c8f42: 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) 80c8f44: 2201 movs r2, #1 80c8f46: 4912 ldr r1, [pc, #72] ; (80c8f90 ) 80c8f48: 4812 ldr r0, [pc, #72] ; (80c8f94 ) 80c8f4a: f7f8 fb2c bl 80c15a6 80c8f4e: 4603 mov r3, r0 80c8f50: 2b00 cmp r3, #0 80c8f52: d001 beq.n 80c8f58 { Error_Handler(); 80c8f54: f78b ff5c bl 8054e10 } if (USBD_RegisterClass(&hUsbDeviceHS, &USBD_MSC) != USBD_OK) 80c8f58: 490f ldr r1, [pc, #60] ; (80c8f98 ) 80c8f5a: 480e ldr r0, [pc, #56] ; (80c8f94 ) 80c8f5c: f7f8 fb59 bl 80c1612 80c8f60: 4603 mov r3, r0 80c8f62: 2b00 cmp r3, #0 80c8f64: d001 beq.n 80c8f6a { Error_Handler(); 80c8f66: f78b ff53 bl 8054e10 } if (USBD_MSC_RegisterStorage(&hUsbDeviceHS, &USBD_Storage_Interface_fops_HS) != USBD_OK) 80c8f6a: 490c ldr r1, [pc, #48] ; (80c8f9c ) 80c8f6c: 4809 ldr r0, [pc, #36] ; (80c8f94 ) 80c8f6e: f7f7 f855 bl 80c001c 80c8f72: 4603 mov r3, r0 80c8f74: 2b00 cmp r3, #0 80c8f76: d001 beq.n 80c8f7c { Error_Handler(); 80c8f78: f78b ff4a bl 8054e10 } if (USBD_Start(&hUsbDeviceHS) != USBD_OK) 80c8f7c: 4805 ldr r0, [pc, #20] ; (80c8f94 ) 80c8f7e: f7f8 fb69 bl 80c1654 80c8f82: 4603 mov r3, r0 80c8f84: 2b00 cmp r3, #0 80c8f86: d001 beq.n 80c8f8c { Error_Handler(); 80c8f88: f78b ff42 bl 8054e10 } /* USER CODE BEGIN USB_DEVICE_Init_PostTreatment */ /* USER CODE END USB_DEVICE_Init_PostTreatment */ } 80c8f8c: bf00 nop 80c8f8e: bd80 pop {r7, pc} 80c8f90: 20020ac4 .word 0x20020ac4 80c8f94: 20068d60 .word 0x20068d60 80c8f98: 200209dc .word 0x200209dc 80c8f9c: 20020b24 .word 0x20020b24 080c8fa0 : void USBState(void) { 80c8fa0: b580 push {r7, lr} 80c8fa2: b082 sub sp, #8 80c8fa4: af00 add r7, sp, #0 uint32_t timeout; if(ChangeUSBState) 80c8fa6: 4b47 ldr r3, [pc, #284] ; (80c90c4 ) 80c8fa8: 781b ldrb r3, [r3, #0] 80c8faa: b2db uxtb r3, r3 80c8fac: 2b00 cmp r3, #0 80c8fae: f000 8084 beq.w 80c90ba { if(USBConnected) 80c8fb2: 4b45 ldr r3, [pc, #276] ; (80c90c8 ) 80c8fb4: 781b ldrb r3, [r3, #0] 80c8fb6: b2db uxtb r3, r3 80c8fb8: 2b00 cmp r3, #0 80c8fba: d025 beq.n 80c9008 { timeout = HAL_GetTick(); 80c8fbc: f7ea f93c bl 80b3238 80c8fc0: 6078 str r0, [r7, #4] { keyIns(); RedrawScreen(); }*/ if(LinkPC == 0) 80c8fc2: 4b42 ldr r3, [pc, #264] ; (80c90cc ) 80c8fc4: 781b ldrb r3, [r3, #0] 80c8fc6: b2db uxtb r3, r3 80c8fc8: 2b00 cmp r3, #0 80c8fca: d111 bne.n 80c8ff0 { ChargerIsConnect = true; 80c8fcc: 4b40 ldr r3, [pc, #256] ; (80c90d0 ) 80c8fce: 2201 movs r2, #1 80c8fd0: 701a strb r2, [r3, #0] oldVbat = 0.0f; 80c8fd2: 4b40 ldr r3, [pc, #256] ; (80c90d4 ) 80c8fd4: f04f 0200 mov.w r2, #0 80c8fd8: 601a str r2, [r3, #0] cntVbat = 0; 80c8fda: 4b3f ldr r3, [pc, #252] ; (80c90d8 ) 80c8fdc: 2200 movs r2, #0 80c8fde: 601a str r2, [r3, #0] HAL_GPIO_WritePin(ZAR_GPIO_Port, ZAR_Pin, GPIO_PIN_SET); 80c8fe0: 2201 movs r2, #1 80c8fe2: 2108 movs r1, #8 80c8fe4: 483d ldr r0, [pc, #244] ; (80c90dc ) 80c8fe6: f7ec fde3 bl 80b5bb0 SetupADC(); 80c8fea: f759 fead bl 8022d48 80c8fee: e061 b.n 80c90b4 } else { menu = LINK_PC; 80c8ff0: 4b3b ldr r3, [pc, #236] ; (80c90e0 ) 80c8ff2: 2242 movs r2, #66 ; 0x42 80c8ff4: 701a strb r2, [r3, #0] ChargerIsConnect = false; 80c8ff6: 4b36 ldr r3, [pc, #216] ; (80c90d0 ) 80c8ff8: 2200 movs r2, #0 80c8ffa: 701a strb r2, [r3, #0] HAL_GPIO_WritePin(ZAR_GPIO_Port, ZAR_Pin, GPIO_PIN_RESET); 80c8ffc: 2200 movs r2, #0 80c8ffe: 2108 movs r1, #8 80c9000: 4836 ldr r0, [pc, #216] ; (80c90dc ) 80c9002: f7ec fdd5 bl 80b5bb0 80c9006: e055 b.n 80c90b4 } } else { if(LinkPC) 80c9008: 4b30 ldr r3, [pc, #192] ; (80c90cc ) 80c900a: 781b ldrb r3, [r3, #0] 80c900c: b2db uxtb r3, r3 80c900e: 2b00 cmp r3, #0 80c9010: d008 beq.n 80c9024 { menu = OPTIONS; 80c9012: 4b33 ldr r3, [pc, #204] ; (80c90e0 ) 80c9014: 2201 movs r2, #1 80c9016: 701a strb r2, [r3, #0] menupos = Mode; 80c9018: 4b32 ldr r3, [pc, #200] ; (80c90e4 ) 80c901a: 2201 movs r2, #1 80c901c: 701a strb r2, [r3, #0] LinkPC = 0; 80c901e: 4b2b ldr r3, [pc, #172] ; (80c90cc ) 80c9020: 2200 movs r2, #0 80c9022: 701a strb r2, [r3, #0] } if(CardState == MSD_READY) { 80c9024: 4b30 ldr r3, [pc, #192] ; (80c90e8 ) 80c9026: 781b ldrb r3, [r3, #0] 80c9028: b2db uxtb r3, r3 80c902a: 2b03 cmp r3, #3 80c902c: d101 bne.n 80c9032 CheckSD(); 80c902e: f763 fab9 bl 802c5a4 } if(ChargerIsConnect) 80c9032: 4b27 ldr r3, [pc, #156] ; (80c90d0 ) 80c9034: 781b ldrb r3, [r3, #0] 80c9036: b2db uxtb r3, r3 80c9038: 2b00 cmp r3, #0 80c903a: d02f beq.n 80c909c { ChargerIsConnect = false; 80c903c: 4b24 ldr r3, [pc, #144] ; (80c90d0 ) 80c903e: 2200 movs r2, #0 80c9040: 701a strb r2, [r3, #0] TIMEOUT_BAT = sec5 + sec2; 80c9042: 4b2a ldr r3, [pc, #168] ; (80c90ec ) 80c9044: f44f 5260 mov.w r2, #14336 ; 0x3800 80c9048: 601a str r2, [r3, #0] ADCBat = 0; 80c904a: 4b29 ldr r3, [pc, #164] ; (80c90f0 ) 80c904c: 2200 movs r2, #0 80c904e: 601a str r2, [r3, #0] adc_cnt = 0; 80c9050: 4b28 ldr r3, [pc, #160] ; (80c90f4 ) 80c9052: 2200 movs r2, #0 80c9054: 801a strh r2, [r3, #0] if(menu == POWER_OFF) 80c9056: 4b22 ldr r3, [pc, #136] ; (80c90e0 ) 80c9058: 781b ldrb r3, [r3, #0] 80c905a: 2b43 cmp r3, #67 ; 0x43 80c905c: d10a bne.n 80c9074 { menu = OPTIONS; 80c905e: 4b20 ldr r3, [pc, #128] ; (80c90e0 ) 80c9060: 2201 movs r2, #1 80c9062: 701a strb r2, [r3, #0] menupos = Mode; 80c9064: 4b1f ldr r3, [pc, #124] ; (80c90e4 ) 80c9066: 2201 movs r2, #1 80c9068: 701a strb r2, [r3, #0] TIMEOUT_OFF2 = sec10; 80c906a: 4b23 ldr r3, [pc, #140] ; (80c90f8 ) 80c906c: f44f 42a0 mov.w r2, #20480 ; 0x5000 80c9070: 601a str r2, [r3, #0] 80c9072: e013 b.n 80c909c } else if(menu == POWER_OFF2) 80c9074: 4b1a ldr r3, [pc, #104] ; (80c90e0 ) 80c9076: 781b ldrb r3, [r3, #0] 80c9078: 2b44 cmp r3, #68 ; 0x44 80c907a: d10f bne.n 80c909c { //NeedOff = true; menu = OPTIONS; 80c907c: 4b18 ldr r3, [pc, #96] ; (80c90e0 ) 80c907e: 2201 movs r2, #1 80c9080: 701a strb r2, [r3, #0] menupos = Mode; 80c9082: 4b18 ldr r3, [pc, #96] ; (80c90e4 ) 80c9084: 2201 movs r2, #1 80c9086: 701a strb r2, [r3, #0] TIMEOUT_OFF2 = sec10; 80c9088: 4b1b ldr r3, [pc, #108] ; (80c90f8 ) 80c908a: f44f 42a0 mov.w r2, #20480 ; 0x5000 80c908e: 601a str r2, [r3, #0] HAL_GPIO_WritePin(DISP_ON_GPIO_Port, DISP_ON_Pin, GPIO_PIN_RESET); // BACKLIGHT IS ON 80c9090: 2200 movs r2, #0 80c9092: f44f 7180 mov.w r1, #256 ; 0x100 80c9096: 4819 ldr r0, [pc, #100] ; (80c90fc ) 80c9098: f7ec fd8a bl 80b5bb0 } } HAL_GPIO_WritePin(ZAR_GPIO_Port, ZAR_Pin, GPIO_PIN_RESET); 80c909c: 2200 movs r2, #0 80c909e: 2108 movs r1, #8 80c90a0: 480e ldr r0, [pc, #56] ; (80c90dc ) 80c90a2: f7ec fd85 bl 80b5bb0 oldVbat = 0.0f; 80c90a6: 4b0b ldr r3, [pc, #44] ; (80c90d4 ) 80c90a8: f04f 0200 mov.w r2, #0 80c90ac: 601a str r2, [r3, #0] cntVbat = 0; 80c90ae: 4b0a ldr r3, [pc, #40] ; (80c90d8 ) 80c90b0: 2200 movs r2, #0 80c90b2: 601a str r2, [r3, #0] } ChangeUSBState = false; 80c90b4: 4b03 ldr r3, [pc, #12] ; (80c90c4 ) 80c90b6: 2200 movs r2, #0 80c90b8: 701a strb r2, [r3, #0] } } 80c90ba: bf00 nop 80c90bc: 3708 adds r7, #8 80c90be: 46bd mov sp, r7 80c90c0: bd80 pop {r7, pc} 80c90c2: bf00 nop 80c90c4: 20021b20 .word 0x20021b20 80c90c8: 20021b21 .word 0x20021b21 80c90cc: 20021b23 .word 0x20021b23 80c90d0: 20021b22 .word 0x20021b22 80c90d4: 20020004 .word 0x20020004 80c90d8: 20020d44 .word 0x20020d44 80c90dc: 40020800 .word 0x40020800 80c90e0: 20020f78 .word 0x20020f78 80c90e4: 20020070 .word 0x20020070 80c90e8: 2002164c .word 0x2002164c 80c90ec: 200209c8 .word 0x200209c8 80c90f0: 20020d3c .word 0x20020d3c 80c90f4: 20020d40 .word 0x20020d40 80c90f8: 200209c4 .word 0x200209c4 80c90fc: 40020000 .word 0x40020000 080c9100 : * @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) { 80c9100: b480 push {r7} 80c9102: b083 sub sp, #12 80c9104: af00 add r7, sp, #0 80c9106: 4603 mov r3, r0 80c9108: 6039 str r1, [r7, #0] 80c910a: 71fb strb r3, [r7, #7] UNUSED(speed); *length = sizeof(USBD_HS_DeviceDesc); 80c910c: 683b ldr r3, [r7, #0] 80c910e: 2212 movs r2, #18 80c9110: 801a strh r2, [r3, #0] return USBD_HS_DeviceDesc; 80c9112: 4b03 ldr r3, [pc, #12] ; (80c9120 ) } 80c9114: 4618 mov r0, r3 80c9116: 370c adds r7, #12 80c9118: 46bd mov sp, r7 80c911a: f85d 7b04 ldr.w r7, [sp], #4 80c911e: 4770 bx lr 80c9120: 20020ae4 .word 0x20020ae4 080c9124 : * @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) { 80c9124: b480 push {r7} 80c9126: b083 sub sp, #12 80c9128: af00 add r7, sp, #0 80c912a: 4603 mov r3, r0 80c912c: 6039 str r1, [r7, #0] 80c912e: 71fb strb r3, [r7, #7] UNUSED(speed); *length = sizeof(USBD_LangIDDesc); 80c9130: 683b ldr r3, [r7, #0] 80c9132: 2204 movs r2, #4 80c9134: 801a strh r2, [r3, #0] return USBD_LangIDDesc; 80c9136: 4b03 ldr r3, [pc, #12] ; (80c9144 ) } 80c9138: 4618 mov r0, r3 80c913a: 370c adds r7, #12 80c913c: 46bd mov sp, r7 80c913e: f85d 7b04 ldr.w r7, [sp], #4 80c9142: 4770 bx lr 80c9144: 20020b04 .word 0x20020b04 080c9148 : * @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) { 80c9148: b580 push {r7, lr} 80c914a: b082 sub sp, #8 80c914c: af00 add r7, sp, #0 80c914e: 4603 mov r3, r0 80c9150: 6039 str r1, [r7, #0] 80c9152: 71fb strb r3, [r7, #7] if(speed == 0) 80c9154: 79fb ldrb r3, [r7, #7] 80c9156: 2b00 cmp r3, #0 80c9158: d105 bne.n 80c9166 { USBD_GetString((uint8_t *)USBD_PRODUCT_STRING_HS, USBD_StrDesc, length); 80c915a: 683a ldr r2, [r7, #0] 80c915c: 4907 ldr r1, [pc, #28] ; (80c917c ) 80c915e: 4808 ldr r0, [pc, #32] ; (80c9180 ) 80c9160: f7f9 fa6f bl 80c2642 80c9164: e004 b.n 80c9170 } else { USBD_GetString((uint8_t *)USBD_PRODUCT_STRING_HS, USBD_StrDesc, length); 80c9166: 683a ldr r2, [r7, #0] 80c9168: 4904 ldr r1, [pc, #16] ; (80c917c ) 80c916a: 4805 ldr r0, [pc, #20] ; (80c9180 ) 80c916c: f7f9 fa69 bl 80c2642 } return USBD_StrDesc; 80c9170: 4b02 ldr r3, [pc, #8] ; (80c917c ) } 80c9172: 4618 mov r0, r3 80c9174: 3708 adds r7, #8 80c9176: 46bd mov sp, r7 80c9178: bd80 pop {r7, pc} 80c917a: bf00 nop 80c917c: 20069030 .word 0x20069030 80c9180: 080d0bbc .word 0x080d0bbc 080c9184 : * @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) { 80c9184: b580 push {r7, lr} 80c9186: b082 sub sp, #8 80c9188: af00 add r7, sp, #0 80c918a: 4603 mov r3, r0 80c918c: 6039 str r1, [r7, #0] 80c918e: 71fb strb r3, [r7, #7] UNUSED(speed); USBD_GetString((uint8_t *)USBD_MANUFACTURER_STRING, USBD_StrDesc, length); 80c9190: 683a ldr r2, [r7, #0] 80c9192: 4904 ldr r1, [pc, #16] ; (80c91a4 ) 80c9194: 4804 ldr r0, [pc, #16] ; (80c91a8 ) 80c9196: f7f9 fa54 bl 80c2642 return USBD_StrDesc; 80c919a: 4b02 ldr r3, [pc, #8] ; (80c91a4 ) } 80c919c: 4618 mov r0, r3 80c919e: 3708 adds r7, #8 80c91a0: 46bd mov sp, r7 80c91a2: bd80 pop {r7, pc} 80c91a4: 20069030 .word 0x20069030 80c91a8: 080d0bd0 .word 0x080d0bd0 080c91ac : * @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) { 80c91ac: b580 push {r7, lr} 80c91ae: b082 sub sp, #8 80c91b0: af00 add r7, sp, #0 80c91b2: 4603 mov r3, r0 80c91b4: 6039 str r1, [r7, #0] 80c91b6: 71fb strb r3, [r7, #7] UNUSED(speed); *length = USB_SIZ_STRING_SERIAL; 80c91b8: 683b ldr r3, [r7, #0] 80c91ba: 221a movs r2, #26 80c91bc: 801a strh r2, [r3, #0] /* Update the serial number string descriptor with the data from the unique * ID */ Get_SerialNum(); 80c91be: f000 f855 bl 80c926c /* USER CODE BEGIN USBD_HS_SerialStrDescriptor */ /* USER CODE END USBD_HS_SerialStrDescriptor */ return (uint8_t *) USBD_StringSerial; 80c91c2: 4b02 ldr r3, [pc, #8] ; (80c91cc ) } 80c91c4: 4618 mov r0, r3 80c91c6: 3708 adds r7, #8 80c91c8: 46bd mov sp, r7 80c91ca: bd80 pop {r7, pc} 80c91cc: 20020b08 .word 0x20020b08 080c91d0 : * @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) { 80c91d0: b580 push {r7, lr} 80c91d2: b082 sub sp, #8 80c91d4: af00 add r7, sp, #0 80c91d6: 4603 mov r3, r0 80c91d8: 6039 str r1, [r7, #0] 80c91da: 71fb strb r3, [r7, #7] if(speed == USBD_SPEED_HIGH) 80c91dc: 79fb ldrb r3, [r7, #7] 80c91de: 2b00 cmp r3, #0 80c91e0: d105 bne.n 80c91ee { USBD_GetString((uint8_t *)USBD_CONFIGURATION_STRING_HS, USBD_StrDesc, length); 80c91e2: 683a ldr r2, [r7, #0] 80c91e4: 4907 ldr r1, [pc, #28] ; (80c9204 ) 80c91e6: 4808 ldr r0, [pc, #32] ; (80c9208 ) 80c91e8: f7f9 fa2b bl 80c2642 80c91ec: e004 b.n 80c91f8 } else { USBD_GetString((uint8_t *)USBD_CONFIGURATION_STRING_HS, USBD_StrDesc, length); 80c91ee: 683a ldr r2, [r7, #0] 80c91f0: 4904 ldr r1, [pc, #16] ; (80c9204 ) 80c91f2: 4805 ldr r0, [pc, #20] ; (80c9208 ) 80c91f4: f7f9 fa25 bl 80c2642 } return USBD_StrDesc; 80c91f8: 4b02 ldr r3, [pc, #8] ; (80c9204 ) } 80c91fa: 4618 mov r0, r3 80c91fc: 3708 adds r7, #8 80c91fe: 46bd mov sp, r7 80c9200: bd80 pop {r7, pc} 80c9202: bf00 nop 80c9204: 20069030 .word 0x20069030 80c9208: 080d0bdc .word 0x080d0bdc 080c920c : * @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) { 80c920c: b580 push {r7, lr} 80c920e: b082 sub sp, #8 80c9210: af00 add r7, sp, #0 80c9212: 4603 mov r3, r0 80c9214: 6039 str r1, [r7, #0] 80c9216: 71fb strb r3, [r7, #7] if(speed == 0) 80c9218: 79fb ldrb r3, [r7, #7] 80c921a: 2b00 cmp r3, #0 80c921c: d105 bne.n 80c922a { USBD_GetString((uint8_t *)USBD_INTERFACE_STRING_HS, USBD_StrDesc, length); 80c921e: 683a ldr r2, [r7, #0] 80c9220: 4907 ldr r1, [pc, #28] ; (80c9240 ) 80c9222: 4808 ldr r0, [pc, #32] ; (80c9244 ) 80c9224: f7f9 fa0d bl 80c2642 80c9228: e004 b.n 80c9234 } else { USBD_GetString((uint8_t *)USBD_INTERFACE_STRING_HS, USBD_StrDesc, length); 80c922a: 683a ldr r2, [r7, #0] 80c922c: 4904 ldr r1, [pc, #16] ; (80c9240 ) 80c922e: 4805 ldr r0, [pc, #20] ; (80c9244 ) 80c9230: f7f9 fa07 bl 80c2642 } return USBD_StrDesc; 80c9234: 4b02 ldr r3, [pc, #8] ; (80c9240 ) } 80c9236: 4618 mov r0, r3 80c9238: 3708 adds r7, #8 80c923a: 46bd mov sp, r7 80c923c: bd80 pop {r7, pc} 80c923e: bf00 nop 80c9240: 20069030 .word 0x20069030 80c9244: 080d0be8 .word 0x080d0be8 080c9248 : * @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) { 80c9248: b480 push {r7} 80c924a: b083 sub sp, #12 80c924c: af00 add r7, sp, #0 80c924e: 4603 mov r3, r0 80c9250: 6039 str r1, [r7, #0] 80c9252: 71fb strb r3, [r7, #7] UNUSED(speed); *length = sizeof(USBD_HS_BOSDesc); 80c9254: 683b ldr r3, [r7, #0] 80c9256: 220c movs r2, #12 80c9258: 801a strh r2, [r3, #0] return (uint8_t*)USBD_HS_BOSDesc; 80c925a: 4b03 ldr r3, [pc, #12] ; (80c9268 ) } 80c925c: 4618 mov r0, r3 80c925e: 370c adds r7, #12 80c9260: 46bd mov sp, r7 80c9262: f85d 7b04 ldr.w r7, [sp], #4 80c9266: 4770 bx lr 80c9268: 20020af8 .word 0x20020af8 080c926c : * @brief Create the serial number string descriptor * @param None * @retval None */ static void Get_SerialNum(void) { 80c926c: b580 push {r7, lr} 80c926e: b084 sub sp, #16 80c9270: af00 add r7, sp, #0 uint32_t deviceserial0, deviceserial1, deviceserial2; deviceserial0 = *(uint32_t *) DEVICE_ID1; 80c9272: 4b0f ldr r3, [pc, #60] ; (80c92b0 ) 80c9274: 681b ldr r3, [r3, #0] 80c9276: 60fb str r3, [r7, #12] deviceserial1 = *(uint32_t *) DEVICE_ID2; 80c9278: 4b0e ldr r3, [pc, #56] ; (80c92b4 ) 80c927a: 681b ldr r3, [r3, #0] 80c927c: 60bb str r3, [r7, #8] deviceserial2 = *(uint32_t *) DEVICE_ID3; 80c927e: 4b0e ldr r3, [pc, #56] ; (80c92b8 ) 80c9280: 681b ldr r3, [r3, #0] 80c9282: 607b str r3, [r7, #4] deviceserial0 += deviceserial2; 80c9284: 68fa ldr r2, [r7, #12] 80c9286: 687b ldr r3, [r7, #4] 80c9288: 4413 add r3, r2 80c928a: 60fb str r3, [r7, #12] if (deviceserial0 != 0) 80c928c: 68fb ldr r3, [r7, #12] 80c928e: 2b00 cmp r3, #0 80c9290: d009 beq.n 80c92a6 { IntToUnicode(deviceserial0, &USBD_StringSerial[2], 8); 80c9292: 2208 movs r2, #8 80c9294: 4909 ldr r1, [pc, #36] ; (80c92bc ) 80c9296: 68f8 ldr r0, [r7, #12] 80c9298: f000 f814 bl 80c92c4 IntToUnicode(deviceserial1, &USBD_StringSerial[18], 4); 80c929c: 2204 movs r2, #4 80c929e: 4908 ldr r1, [pc, #32] ; (80c92c0 ) 80c92a0: 68b8 ldr r0, [r7, #8] 80c92a2: f000 f80f bl 80c92c4 } } 80c92a6: bf00 nop 80c92a8: 3710 adds r7, #16 80c92aa: 46bd mov sp, r7 80c92ac: bd80 pop {r7, pc} 80c92ae: bf00 nop 80c92b0: 1ff0f420 .word 0x1ff0f420 80c92b4: 1ff0f424 .word 0x1ff0f424 80c92b8: 1ff0f428 .word 0x1ff0f428 80c92bc: 20020b0a .word 0x20020b0a 80c92c0: 20020b1a .word 0x20020b1a 080c92c4 : * @param pbuf: pointer to the buffer * @param len: buffer length * @retval None */ static void IntToUnicode(uint32_t value, uint8_t * pbuf, uint8_t len) { 80c92c4: b480 push {r7} 80c92c6: b087 sub sp, #28 80c92c8: af00 add r7, sp, #0 80c92ca: 60f8 str r0, [r7, #12] 80c92cc: 60b9 str r1, [r7, #8] 80c92ce: 4613 mov r3, r2 80c92d0: 71fb strb r3, [r7, #7] uint8_t idx = 0; 80c92d2: 2300 movs r3, #0 80c92d4: 75fb strb r3, [r7, #23] for (idx = 0; idx < len; idx++) 80c92d6: 2300 movs r3, #0 80c92d8: 75fb strb r3, [r7, #23] 80c92da: e027 b.n 80c932c { if (((value >> 28)) < 0xA) 80c92dc: 68fb ldr r3, [r7, #12] 80c92de: 0f1b lsrs r3, r3, #28 80c92e0: 2b09 cmp r3, #9 80c92e2: d80b bhi.n 80c92fc { pbuf[2 * idx] = (value >> 28) + '0'; 80c92e4: 7dfb ldrb r3, [r7, #23] 80c92e6: 005b lsls r3, r3, #1 80c92e8: 461a mov r2, r3 80c92ea: 68bb ldr r3, [r7, #8] 80c92ec: 4413 add r3, r2 80c92ee: 68fa ldr r2, [r7, #12] 80c92f0: 0f12 lsrs r2, r2, #28 80c92f2: b2d2 uxtb r2, r2 80c92f4: 3230 adds r2, #48 ; 0x30 80c92f6: b2d2 uxtb r2, r2 80c92f8: 701a strb r2, [r3, #0] 80c92fa: e00a b.n 80c9312 } else { pbuf[2 * idx] = (value >> 28) + 'A' - 10; 80c92fc: 7dfb ldrb r3, [r7, #23] 80c92fe: 005b lsls r3, r3, #1 80c9300: 461a mov r2, r3 80c9302: 68bb ldr r3, [r7, #8] 80c9304: 4413 add r3, r2 80c9306: 68fa ldr r2, [r7, #12] 80c9308: 0f12 lsrs r2, r2, #28 80c930a: b2d2 uxtb r2, r2 80c930c: 3237 adds r2, #55 ; 0x37 80c930e: b2d2 uxtb r2, r2 80c9310: 701a strb r2, [r3, #0] } value = value << 4; 80c9312: 68fb ldr r3, [r7, #12] 80c9314: 011b lsls r3, r3, #4 80c9316: 60fb str r3, [r7, #12] pbuf[2 * idx + 1] = 0; 80c9318: 7dfb ldrb r3, [r7, #23] 80c931a: 005b lsls r3, r3, #1 80c931c: 3301 adds r3, #1 80c931e: 68ba ldr r2, [r7, #8] 80c9320: 4413 add r3, r2 80c9322: 2200 movs r2, #0 80c9324: 701a strb r2, [r3, #0] for (idx = 0; idx < len; idx++) 80c9326: 7dfb ldrb r3, [r7, #23] 80c9328: 3301 adds r3, #1 80c932a: 75fb strb r3, [r7, #23] 80c932c: 7dfa ldrb r2, [r7, #23] 80c932e: 79fb ldrb r3, [r7, #7] 80c9330: 429a cmp r2, r3 80c9332: d3d3 bcc.n 80c92dc } } 80c9334: bf00 nop 80c9336: 371c adds r7, #28 80c9338: 46bd mov sp, r7 80c933a: f85d 7b04 ldr.w r7, [sp], #4 80c933e: 4770 bx lr 080c9340 : * @brief . * @param lun: . * @retval USBD_OK if all operations are OK else USBD_FAIL */ int8_t STORAGE_Init_HS(uint8_t lun) { 80c9340: b580 push {r7, lr} 80c9342: b084 sub sp, #16 80c9344: af00 add r7, sp, #0 80c9346: 4603 mov r3, r0 80c9348: 71fb strb r3, [r7, #7] int8_t ret = -1; 80c934a: 23ff movs r3, #255 ; 0xff 80c934c: 73fb strb r3, [r7, #15] if(CardState == MSD_READY) 80c934e: 4b1d ldr r3, [pc, #116] ; (80c93c4 ) 80c9350: 781b ldrb r3, [r3, #0] 80c9352: b2db uxtb r3, r3 80c9354: 2b03 cmp r3, #3 80c9356: d12b bne.n 80c93b0 { if(!(SD_status(lun) & STA_NOINIT)) 80c9358: 79fb ldrb r3, [r7, #7] 80c935a: 4618 mov r0, r3 80c935c: f7f6 fb62 bl 80bfa24 80c9360: 4603 mov r3, r0 80c9362: f003 0301 and.w r3, r3, #1 80c9366: 2b00 cmp r3, #0 80c9368: d114 bne.n 80c9394 { if(SD_initialize(lun) == RES_OK) 80c936a: 79fb ldrb r3, [r7, #7] 80c936c: 4618 mov r0, r3 80c936e: f7f6 fb3b bl 80bf9e8 80c9372: 4603 mov r3, r0 80c9374: 2b00 cmp r3, #0 80c9376: d11e bne.n 80c93b6 { if(LinkPC == 0) 80c9378: 4b13 ldr r3, [pc, #76] ; (80c93c8 ) 80c937a: 781b ldrb r3, [r3, #0] 80c937c: b2db uxtb r3, r3 80c937e: 2b00 cmp r3, #0 80c9380: d105 bne.n 80c938e { GoLinkPC = true; 80c9382: 4b12 ldr r3, [pc, #72] ; (80c93cc ) 80c9384: 2201 movs r2, #1 80c9386: 701a strb r2, [r3, #0] LinkPC = 1; 80c9388: 4b0f ldr r3, [pc, #60] ; (80c93c8 ) 80c938a: 2201 movs r2, #1 80c938c: 701a strb r2, [r3, #0] } ret = 0; 80c938e: 2300 movs r3, #0 80c9390: 73fb strb r3, [r7, #15] 80c9392: e010 b.n 80c93b6 } } else { if(LinkPC == 0) 80c9394: 4b0c ldr r3, [pc, #48] ; (80c93c8 ) 80c9396: 781b ldrb r3, [r3, #0] 80c9398: b2db uxtb r3, r3 80c939a: 2b00 cmp r3, #0 80c939c: d105 bne.n 80c93aa { GoLinkPC = true; 80c939e: 4b0b ldr r3, [pc, #44] ; (80c93cc ) 80c93a0: 2201 movs r2, #1 80c93a2: 701a strb r2, [r3, #0] LinkPC = 1; 80c93a4: 4b08 ldr r3, [pc, #32] ; (80c93c8 ) 80c93a6: 2201 movs r2, #1 80c93a8: 701a strb r2, [r3, #0] } ret = 0; 80c93aa: 2300 movs r3, #0 80c93ac: 73fb strb r3, [r7, #15] 80c93ae: e002 b.n 80c93b6 } } else { LinkPC = 0; 80c93b0: 4b05 ldr r3, [pc, #20] ; (80c93c8 ) 80c93b2: 2200 movs r2, #0 80c93b4: 701a strb r2, [r3, #0] } return ret; 80c93b6: f997 300f ldrsb.w r3, [r7, #15] } 80c93ba: 4618 mov r0, r3 80c93bc: 3710 adds r7, #16 80c93be: 46bd mov sp, r7 80c93c0: bd80 pop {r7, pc} 80c93c2: bf00 nop 80c93c4: 2002164c .word 0x2002164c 80c93c8: 20021b23 .word 0x20021b23 80c93cc: 20021b25 .word 0x20021b25 080c93d0 : * @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) { 80c93d0: b580 push {r7, lr} 80c93d2: b08e sub sp, #56 ; 0x38 80c93d4: af00 add r7, sp, #0 80c93d6: 4603 mov r3, r0 80c93d8: 60b9 str r1, [r7, #8] 80c93da: 607a str r2, [r7, #4] 80c93dc: 73fb strb r3, [r7, #15] HAL_SD_CardInfoTypeDef info; int8_t ret = -1; 80c93de: 23ff movs r3, #255 ; 0xff 80c93e0: f887 3037 strb.w r3, [r7, #55] ; 0x37 if(BSP_SD_IsDetected() != SD_NOT_PRESENT) 80c93e4: f7f6 fa6d bl 80bf8c2 80c93e8: 4603 mov r3, r0 80c93ea: 2b00 cmp r3, #0 80c93ec: d019 beq.n 80c9422 { BSP_SD_GetCardInfo(&info); 80c93ee: f107 0314 add.w r3, r7, #20 80c93f2: 4618 mov r0, r3 80c93f4: f7f6 fa32 bl 80bf85c *block_num = info.LogBlockNbr; 80c93f8: 6afa ldr r2, [r7, #44] ; 0x2c 80c93fa: 68bb ldr r3, [r7, #8] 80c93fc: 601a str r2, [r3, #0] *block_size = info.LogBlockSize; 80c93fe: 6b3b ldr r3, [r7, #48] ; 0x30 80c9400: b29a uxth r2, r3 80c9402: 687b ldr r3, [r7, #4] 80c9404: 801a strh r2, [r3, #0] if(LinkPC == 0) 80c9406: 4b0a ldr r3, [pc, #40] ; (80c9430 ) 80c9408: 781b ldrb r3, [r3, #0] 80c940a: b2db uxtb r3, r3 80c940c: 2b00 cmp r3, #0 80c940e: d105 bne.n 80c941c { GoLinkPC = true; 80c9410: 4b08 ldr r3, [pc, #32] ; (80c9434 ) 80c9412: 2201 movs r2, #1 80c9414: 701a strb r2, [r3, #0] LinkPC = 1; 80c9416: 4b06 ldr r3, [pc, #24] ; (80c9430 ) 80c9418: 2201 movs r2, #1 80c941a: 701a strb r2, [r3, #0] } ret = USBD_OK; 80c941c: 2300 movs r3, #0 80c941e: f887 3037 strb.w r3, [r7, #55] ; 0x37 } return ret; 80c9422: f997 3037 ldrsb.w r3, [r7, #55] ; 0x37 } 80c9426: 4618 mov r0, r3 80c9428: 3738 adds r7, #56 ; 0x38 80c942a: 46bd mov sp, r7 80c942c: bd80 pop {r7, pc} 80c942e: bf00 nop 80c9430: 20021b23 .word 0x20021b23 80c9434: 20021b25 .word 0x20021b25 080c9438 : * @brief . * @param lun: . * @retval USBD_OK if all operations are OK else USBD_FAIL */ int8_t STORAGE_IsReady_HS(uint8_t lun) { 80c9438: b580 push {r7, lr} 80c943a: b084 sub sp, #16 80c943c: af00 add r7, sp, #0 80c943e: 4603 mov r3, r0 80c9440: 71fb strb r3, [r7, #7] int8_t ret = -1; 80c9442: 23ff movs r3, #255 ; 0xff 80c9444: 73fb strb r3, [r7, #15] if(BSP_SD_IsDetected() != SD_NOT_PRESENT) 80c9446: f7f6 fa3c bl 80bf8c2 80c944a: 4603 mov r3, r0 80c944c: 2b00 cmp r3, #0 80c944e: d00d beq.n 80c946c { ret = 0; 80c9450: 2300 movs r3, #0 80c9452: 73fb strb r3, [r7, #15] if(LinkPC == 0) 80c9454: 4b0a ldr r3, [pc, #40] ; (80c9480 ) 80c9456: 781b ldrb r3, [r3, #0] 80c9458: b2db uxtb r3, r3 80c945a: 2b00 cmp r3, #0 80c945c: d109 bne.n 80c9472 { GoLinkPC = true; 80c945e: 4b09 ldr r3, [pc, #36] ; (80c9484 ) 80c9460: 2201 movs r2, #1 80c9462: 701a strb r2, [r3, #0] LinkPC = 1; 80c9464: 4b06 ldr r3, [pc, #24] ; (80c9480 ) 80c9466: 2201 movs r2, #1 80c9468: 701a strb r2, [r3, #0] 80c946a: e002 b.n 80c9472 } } else LinkPC = 0; 80c946c: 4b04 ldr r3, [pc, #16] ; (80c9480 ) 80c946e: 2200 movs r2, #0 80c9470: 701a strb r2, [r3, #0] return ret; 80c9472: f997 300f ldrsb.w r3, [r7, #15] } 80c9476: 4618 mov r0, r3 80c9478: 3710 adds r7, #16 80c947a: 46bd mov sp, r7 80c947c: bd80 pop {r7, pc} 80c947e: bf00 nop 80c9480: 20021b23 .word 0x20021b23 80c9484: 20021b25 .word 0x20021b25 080c9488 : * @brief . * @param lun: . * @retval USBD_OK if all operations are OK else USBD_FAIL */ int8_t STORAGE_IsWriteProtected_HS(uint8_t lun) { 80c9488: b480 push {r7} 80c948a: b083 sub sp, #12 80c948c: af00 add r7, sp, #0 80c948e: 4603 mov r3, r0 80c9490: 71fb strb r3, [r7, #7] return USBD_OK; 80c9492: 2300 movs r3, #0 } 80c9494: 4618 mov r0, r3 80c9496: 370c adds r7, #12 80c9498: 46bd mov sp, r7 80c949a: f85d 7b04 ldr.w r7, [sp], #4 80c949e: 4770 bx lr 080c94a0 : * @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) { 80c94a0: b580 push {r7, lr} 80c94a2: b086 sub sp, #24 80c94a4: af00 add r7, sp, #0 80c94a6: 60b9 str r1, [r7, #8] 80c94a8: 607a str r2, [r7, #4] 80c94aa: 461a mov r2, r3 80c94ac: 4603 mov r3, r0 80c94ae: 73fb strb r3, [r7, #15] 80c94b0: 4613 mov r3, r2 80c94b2: 81bb strh r3, [r7, #12] int8_t ret = -1; 80c94b4: 23ff movs r3, #255 ; 0xff 80c94b6: 75fb strb r3, [r7, #23] if(LinkPC == 0) 80c94b8: 4b10 ldr r3, [pc, #64] ; (80c94fc ) 80c94ba: 781b ldrb r3, [r3, #0] 80c94bc: b2db uxtb r3, r3 80c94be: 2b00 cmp r3, #0 80c94c0: d105 bne.n 80c94ce { GoLinkPC = true; 80c94c2: 4b0f ldr r3, [pc, #60] ; (80c9500 ) 80c94c4: 2201 movs r2, #1 80c94c6: 701a strb r2, [r3, #0] LinkPC = 1; 80c94c8: 4b0c ldr r3, [pc, #48] ; (80c94fc ) 80c94ca: 2201 movs r2, #1 80c94cc: 701a strb r2, [r3, #0] } if(SD_read(lun, buf, blk_addr, blk_len) == RES_OK) 80c94ce: 89bb ldrh r3, [r7, #12] 80c94d0: 7bf8 ldrb r0, [r7, #15] 80c94d2: 687a ldr r2, [r7, #4] 80c94d4: 68b9 ldr r1, [r7, #8] 80c94d6: f7f6 fab3 bl 80bfa40 80c94da: 4603 mov r3, r0 80c94dc: 2b00 cmp r3, #0 80c94de: d107 bne.n 80c94f0 { while(BSP_SD_GetCardState() != SD_TRANSFER_OK); 80c94e0: bf00 nop 80c94e2: f7f6 f9ab bl 80bf83c 80c94e6: 4603 mov r3, r0 80c94e8: 2b00 cmp r3, #0 80c94ea: d1fa bne.n 80c94e2 ret = 0; 80c94ec: 2300 movs r3, #0 80c94ee: 75fb strb r3, [r7, #23] } return ret; 80c94f0: f997 3017 ldrsb.w r3, [r7, #23] } 80c94f4: 4618 mov r0, r3 80c94f6: 3718 adds r7, #24 80c94f8: 46bd mov sp, r7 80c94fa: bd80 pop {r7, pc} 80c94fc: 20021b23 .word 0x20021b23 80c9500: 20021b25 .word 0x20021b25 080c9504 : * @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) { 80c9504: b580 push {r7, lr} 80c9506: b086 sub sp, #24 80c9508: af00 add r7, sp, #0 80c950a: 60b9 str r1, [r7, #8] 80c950c: 607a str r2, [r7, #4] 80c950e: 461a mov r2, r3 80c9510: 4603 mov r3, r0 80c9512: 73fb strb r3, [r7, #15] 80c9514: 4613 mov r3, r2 80c9516: 81bb strh r3, [r7, #12] int8_t ret = -1; 80c9518: 23ff movs r3, #255 ; 0xff 80c951a: 75fb strb r3, [r7, #23] if(LinkPC == 0) 80c951c: 4b10 ldr r3, [pc, #64] ; (80c9560 ) 80c951e: 781b ldrb r3, [r3, #0] 80c9520: b2db uxtb r3, r3 80c9522: 2b00 cmp r3, #0 80c9524: d105 bne.n 80c9532 { GoLinkPC = true; 80c9526: 4b0f ldr r3, [pc, #60] ; (80c9564 ) 80c9528: 2201 movs r2, #1 80c952a: 701a strb r2, [r3, #0] LinkPC = 1; 80c952c: 4b0c ldr r3, [pc, #48] ; (80c9560 ) 80c952e: 2201 movs r2, #1 80c9530: 701a strb r2, [r3, #0] } if(SD_write(lun, buf, blk_addr, blk_len) == RES_OK) 80c9532: 89bb ldrh r3, [r7, #12] 80c9534: 7bf8 ldrb r0, [r7, #15] 80c9536: 687a ldr r2, [r7, #4] 80c9538: 68b9 ldr r1, [r7, #8] 80c953a: f7f6 fae5 bl 80bfb08 80c953e: 4603 mov r3, r0 80c9540: 2b00 cmp r3, #0 80c9542: d107 bne.n 80c9554 { while(BSP_SD_GetCardState() != SD_TRANSFER_OK); 80c9544: bf00 nop 80c9546: f7f6 f979 bl 80bf83c 80c954a: 4603 mov r3, r0 80c954c: 2b00 cmp r3, #0 80c954e: d1fa bne.n 80c9546 ret = 0; 80c9550: 2300 movs r3, #0 80c9552: 75fb strb r3, [r7, #23] } return ret; 80c9554: f997 3017 ldrsb.w r3, [r7, #23] } 80c9558: 4618 mov r0, r3 80c955a: 3718 adds r7, #24 80c955c: 46bd mov sp, r7 80c955e: bd80 pop {r7, pc} 80c9560: 20021b23 .word 0x20021b23 80c9564: 20021b25 .word 0x20021b25 080c9568 : * @brief . * @param None * @retval . */ int8_t STORAGE_GetMaxLun_HS(void) { 80c9568: b480 push {r7} 80c956a: af00 add r7, sp, #0 return (STORAGE_LUN_NBR - 1); 80c956c: 2300 movs r3, #0 } 80c956e: 4618 mov r0, r3 80c9570: 46bd mov sp, r7 80c9572: f85d 7b04 ldr.w r7, [sp], #4 80c9576: 4770 bx lr 080c9578 : LL Driver Callbacks (PCD -> USB Device Library) *******************************************************************************/ /* MSP Init */ void HAL_PCD_MspInit(PCD_HandleTypeDef* pcdHandle) { 80c9578: b580 push {r7, lr} 80c957a: b08a sub sp, #40 ; 0x28 80c957c: af00 add r7, sp, #0 80c957e: 6078 str r0, [r7, #4] GPIO_InitTypeDef GPIO_InitStruct = {0}; 80c9580: f107 0314 add.w r3, r7, #20 80c9584: 2200 movs r2, #0 80c9586: 601a str r2, [r3, #0] 80c9588: 605a str r2, [r3, #4] 80c958a: 609a str r2, [r3, #8] 80c958c: 60da str r2, [r3, #12] 80c958e: 611a str r2, [r3, #16] if(pcdHandle->Instance==USB_OTG_HS) 80c9590: 687b ldr r3, [r7, #4] 80c9592: 681b ldr r3, [r3, #0] 80c9594: 4a24 ldr r2, [pc, #144] ; (80c9628 ) 80c9596: 4293 cmp r3, r2 80c9598: d141 bne.n 80c961e { /* USER CODE BEGIN USB_OTG_HS_MspInit 0 */ /* USER CODE END USB_OTG_HS_MspInit 0 */ __HAL_RCC_GPIOB_CLK_ENABLE(); 80c959a: 4a24 ldr r2, [pc, #144] ; (80c962c ) 80c959c: 4b23 ldr r3, [pc, #140] ; (80c962c ) 80c959e: 6b1b ldr r3, [r3, #48] ; 0x30 80c95a0: f043 0302 orr.w r3, r3, #2 80c95a4: 6313 str r3, [r2, #48] ; 0x30 80c95a6: 4b21 ldr r3, [pc, #132] ; (80c962c ) 80c95a8: 6b1b ldr r3, [r3, #48] ; 0x30 80c95aa: f003 0302 and.w r3, r3, #2 80c95ae: 613b str r3, [r7, #16] 80c95b0: 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; 80c95b2: f44f 5300 mov.w r3, #8192 ; 0x2000 80c95b6: 617b str r3, [r7, #20] GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; 80c95b8: 2302 movs r3, #2 80c95ba: 61bb str r3, [r7, #24] GPIO_InitStruct.Pull = GPIO_NOPULL; 80c95bc: 2300 movs r3, #0 80c95be: 61fb str r3, [r7, #28] GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; 80c95c0: 2303 movs r3, #3 80c95c2: 623b str r3, [r7, #32] GPIO_InitStruct.Alternate = GPIO_AF12_OTG_HS_FS; 80c95c4: 230c movs r3, #12 80c95c6: 627b str r3, [r7, #36] ; 0x24 HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); 80c95c8: f107 0314 add.w r3, r7, #20 80c95cc: 4619 mov r1, r3 80c95ce: 4818 ldr r0, [pc, #96] ; (80c9630 ) 80c95d0: f7ec f820 bl 80b5614 GPIO_InitStruct.Pin = GPIO_PIN_14|GPIO_PIN_15; 80c95d4: f44f 4340 mov.w r3, #49152 ; 0xc000 80c95d8: 617b str r3, [r7, #20] GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; 80c95da: 2302 movs r3, #2 80c95dc: 61bb str r3, [r7, #24] GPIO_InitStruct.Pull = GPIO_NOPULL; 80c95de: 2300 movs r3, #0 80c95e0: 61fb str r3, [r7, #28] GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; 80c95e2: 2303 movs r3, #3 80c95e4: 623b str r3, [r7, #32] GPIO_InitStruct.Alternate = GPIO_AF12_OTG_HS_FS; 80c95e6: 230c movs r3, #12 80c95e8: 627b str r3, [r7, #36] ; 0x24 HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); 80c95ea: f107 0314 add.w r3, r7, #20 80c95ee: 4619 mov r1, r3 80c95f0: 480f ldr r0, [pc, #60] ; (80c9630 ) 80c95f2: f7ec f80f bl 80b5614 /* Peripheral clock enable */ __HAL_RCC_USB_OTG_HS_CLK_ENABLE(); 80c95f6: 4a0d ldr r2, [pc, #52] ; (80c962c ) 80c95f8: 4b0c ldr r3, [pc, #48] ; (80c962c ) 80c95fa: 6b1b ldr r3, [r3, #48] ; 0x30 80c95fc: f043 5300 orr.w r3, r3, #536870912 ; 0x20000000 80c9600: 6313 str r3, [r2, #48] ; 0x30 80c9602: 4b0a ldr r3, [pc, #40] ; (80c962c ) 80c9604: 6b1b ldr r3, [r3, #48] ; 0x30 80c9606: f003 5300 and.w r3, r3, #536870912 ; 0x20000000 80c960a: 60fb str r3, [r7, #12] 80c960c: 68fb ldr r3, [r7, #12] /* Peripheral interrupt init */ HAL_NVIC_SetPriority(OTG_HS_IRQn, 10, 0); 80c960e: 2200 movs r2, #0 80c9610: 210a movs r1, #10 80c9612: 204d movs r0, #77 ; 0x4d 80c9614: f7ea fd67 bl 80b40e6 HAL_NVIC_EnableIRQ(OTG_HS_IRQn); 80c9618: 204d movs r0, #77 ; 0x4d 80c961a: f7ea fd80 bl 80b411e /* USER CODE BEGIN USB_OTG_HS_MspInit 1 */ /* USER CODE END USB_OTG_HS_MspInit 1 */ } } 80c961e: bf00 nop 80c9620: 3728 adds r7, #40 ; 0x28 80c9622: 46bd mov sp, r7 80c9624: bd80 pop {r7, pc} 80c9626: bf00 nop 80c9628: 40040000 .word 0x40040000 80c962c: 40023800 .word 0x40023800 80c9630: 40020400 .word 0x40020400 080c9634 : #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 */ { 80c9634: b580 push {r7, lr} 80c9636: b082 sub sp, #8 80c9638: af00 add r7, sp, #0 80c963a: 6078 str r0, [r7, #4] USBD_LL_SetupStage((USBD_HandleTypeDef*)hpcd->pData, (uint8_t *)hpcd->Setup); 80c963c: 687b ldr r3, [r7, #4] 80c963e: f8d3 2400 ldr.w r2, [r3, #1024] ; 0x400 80c9642: 687b ldr r3, [r7, #4] 80c9644: f503 7371 add.w r3, r3, #964 ; 0x3c4 80c9648: 4619 mov r1, r3 80c964a: 4610 mov r0, r2 80c964c: f7f8 f84d bl 80c16ea } 80c9650: bf00 nop 80c9652: 3708 adds r7, #8 80c9654: 46bd mov sp, r7 80c9656: bd80 pop {r7, pc} 080c9658 : #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 */ { 80c9658: b580 push {r7, lr} 80c965a: b082 sub sp, #8 80c965c: af00 add r7, sp, #0 80c965e: 6078 str r0, [r7, #4] 80c9660: 460b mov r3, r1 80c9662: 70fb strb r3, [r7, #3] USBD_LL_DataOutStage((USBD_HandleTypeDef*)hpcd->pData, epnum, hpcd->OUT_ep[epnum].xfer_buff); 80c9664: 687b ldr r3, [r7, #4] 80c9666: f8d3 0400 ldr.w r0, [r3, #1024] ; 0x400 80c966a: 78fa ldrb r2, [r7, #3] 80c966c: 6879 ldr r1, [r7, #4] 80c966e: 4613 mov r3, r2 80c9670: 00db lsls r3, r3, #3 80c9672: 1a9b subs r3, r3, r2 80c9674: 009b lsls r3, r3, #2 80c9676: 440b add r3, r1 80c9678: f503 7302 add.w r3, r3, #520 ; 0x208 80c967c: 681a ldr r2, [r3, #0] 80c967e: 78fb ldrb r3, [r7, #3] 80c9680: 4619 mov r1, r3 80c9682: f7f8 f885 bl 80c1790 } 80c9686: bf00 nop 80c9688: 3708 adds r7, #8 80c968a: 46bd mov sp, r7 80c968c: bd80 pop {r7, pc} 080c968e : #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 */ { 80c968e: b580 push {r7, lr} 80c9690: b082 sub sp, #8 80c9692: af00 add r7, sp, #0 80c9694: 6078 str r0, [r7, #4] 80c9696: 460b mov r3, r1 80c9698: 70fb strb r3, [r7, #3] USBD_LL_DataInStage((USBD_HandleTypeDef*)hpcd->pData, epnum, hpcd->IN_ep[epnum].xfer_buff); 80c969a: 687b ldr r3, [r7, #4] 80c969c: f8d3 0400 ldr.w r0, [r3, #1024] ; 0x400 80c96a0: 78fa ldrb r2, [r7, #3] 80c96a2: 6879 ldr r1, [r7, #4] 80c96a4: 4613 mov r3, r2 80c96a6: 00db lsls r3, r3, #3 80c96a8: 1a9b subs r3, r3, r2 80c96aa: 009b lsls r3, r3, #2 80c96ac: 440b add r3, r1 80c96ae: 3348 adds r3, #72 ; 0x48 80c96b0: 681a ldr r2, [r3, #0] 80c96b2: 78fb ldrb r3, [r7, #3] 80c96b4: 4619 mov r1, r3 80c96b6: f7f8 f8ce bl 80c1856 } 80c96ba: bf00 nop 80c96bc: 3708 adds r7, #8 80c96be: 46bd mov sp, r7 80c96c0: bd80 pop {r7, pc} 080c96c2 : #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 */ { 80c96c2: b580 push {r7, lr} 80c96c4: b082 sub sp, #8 80c96c6: af00 add r7, sp, #0 80c96c8: 6078 str r0, [r7, #4] USBD_LL_SOF((USBD_HandleTypeDef*)hpcd->pData); 80c96ca: 687b ldr r3, [r7, #4] 80c96cc: f8d3 3400 ldr.w r3, [r3, #1024] ; 0x400 80c96d0: 4618 mov r0, r3 80c96d2: f7f8 f9d2 bl 80c1a7a } 80c96d6: bf00 nop 80c96d8: 3708 adds r7, #8 80c96da: 46bd mov sp, r7 80c96dc: bd80 pop {r7, pc} 080c96de : #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 */ { 80c96de: b580 push {r7, lr} 80c96e0: b084 sub sp, #16 80c96e2: af00 add r7, sp, #0 80c96e4: 6078 str r0, [r7, #4] USBD_SpeedTypeDef speed = USBD_SPEED_FULL; 80c96e6: 2301 movs r3, #1 80c96e8: 73fb strb r3, [r7, #15] if ( hpcd->Init.speed == PCD_SPEED_HIGH) 80c96ea: 687b ldr r3, [r7, #4] 80c96ec: 68db ldr r3, [r3, #12] 80c96ee: 2b00 cmp r3, #0 80c96f0: d102 bne.n 80c96f8 { speed = USBD_SPEED_HIGH; 80c96f2: 2300 movs r3, #0 80c96f4: 73fb strb r3, [r7, #15] 80c96f6: e008 b.n 80c970a } else if ( hpcd->Init.speed == PCD_SPEED_FULL) 80c96f8: 687b ldr r3, [r7, #4] 80c96fa: 68db ldr r3, [r3, #12] 80c96fc: 2b02 cmp r3, #2 80c96fe: d102 bne.n 80c9706 { speed = USBD_SPEED_FULL; 80c9700: 2301 movs r3, #1 80c9702: 73fb strb r3, [r7, #15] 80c9704: e001 b.n 80c970a } else { Error_Handler(); 80c9706: f78b fb83 bl 8054e10 } /* Set Speed. */ USBD_LL_SetSpeed((USBD_HandleTypeDef*)hpcd->pData, speed); 80c970a: 687b ldr r3, [r7, #4] 80c970c: f8d3 3400 ldr.w r3, [r3, #1024] ; 0x400 80c9710: 7bfa ldrb r2, [r7, #15] 80c9712: 4611 mov r1, r2 80c9714: 4618 mov r0, r3 80c9716: f7f8 f975 bl 80c1a04 /* Reset Device. */ USBD_LL_Reset((USBD_HandleTypeDef*)hpcd->pData); 80c971a: 687b ldr r3, [r7, #4] 80c971c: f8d3 3400 ldr.w r3, [r3, #1024] ; 0x400 80c9720: 4618 mov r0, r3 80c9722: f7f8 f92e bl 80c1982 } 80c9726: bf00 nop 80c9728: 3710 adds r7, #16 80c972a: 46bd mov sp, r7 80c972c: bd80 pop {r7, pc} ... 080c9730 : #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 */ { 80c9730: b580 push {r7, lr} 80c9732: b082 sub sp, #8 80c9734: af00 add r7, sp, #0 80c9736: 6078 str r0, [r7, #4] /* Inform USB library that core enters in suspend Mode. */ USBD_LL_Suspend((USBD_HandleTypeDef*)hpcd->pData); 80c9738: 687b ldr r3, [r7, #4] 80c973a: f8d3 3400 ldr.w r3, [r3, #1024] ; 0x400 80c973e: 4618 mov r0, r3 80c9740: f7f8 f970 bl 80c1a24 __HAL_PCD_GATE_PHYCLOCK(hpcd); 80c9744: 687b ldr r3, [r7, #4] 80c9746: 681b ldr r3, [r3, #0] 80c9748: f503 6360 add.w r3, r3, #3584 ; 0xe00 80c974c: 461a mov r2, r3 80c974e: 687b ldr r3, [r7, #4] 80c9750: 681b ldr r3, [r3, #0] 80c9752: f503 6360 add.w r3, r3, #3584 ; 0xe00 80c9756: 681b ldr r3, [r3, #0] 80c9758: f043 0301 orr.w r3, r3, #1 80c975c: 6013 str r3, [r2, #0] /* Enter in STOP mode. */ /* USER CODE BEGIN 2 */ if (hpcd->Init.low_power_enable) 80c975e: 687b ldr r3, [r7, #4] 80c9760: 6a1b ldr r3, [r3, #32] 80c9762: 2b00 cmp r3, #0 80c9764: d005 beq.n 80c9772 { /* Set SLEEPDEEP bit and SleepOnExit of Cortex System Control Register. */ SCB->SCR |= (uint32_t)((uint32_t)(SCB_SCR_SLEEPDEEP_Msk | SCB_SCR_SLEEPONEXIT_Msk)); 80c9766: 4a05 ldr r2, [pc, #20] ; (80c977c ) 80c9768: 4b04 ldr r3, [pc, #16] ; (80c977c ) 80c976a: 691b ldr r3, [r3, #16] 80c976c: f043 0306 orr.w r3, r3, #6 80c9770: 6113 str r3, [r2, #16] } /* USER CODE END 2 */ } 80c9772: bf00 nop 80c9774: 3708 adds r7, #8 80c9776: 46bd mov sp, r7 80c9778: bd80 pop {r7, pc} 80c977a: bf00 nop 80c977c: e000ed00 .word 0xe000ed00 080c9780 : #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 */ { 80c9780: b580 push {r7, lr} 80c9782: b082 sub sp, #8 80c9784: af00 add r7, sp, #0 80c9786: 6078 str r0, [r7, #4] /* USER CODE BEGIN 3 */ /* USER CODE END 3 */ USBD_LL_Resume((USBD_HandleTypeDef*)hpcd->pData); 80c9788: 687b ldr r3, [r7, #4] 80c978a: f8d3 3400 ldr.w r3, [r3, #1024] ; 0x400 80c978e: 4618 mov r0, r3 80c9790: f7f8 f95d bl 80c1a4e } 80c9794: bf00 nop 80c9796: 3708 adds r7, #8 80c9798: 46bd mov sp, r7 80c979a: bd80 pop {r7, pc} 080c979c : #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 */ { 80c979c: b580 push {r7, lr} 80c979e: b082 sub sp, #8 80c97a0: af00 add r7, sp, #0 80c97a2: 6078 str r0, [r7, #4] 80c97a4: 460b mov r3, r1 80c97a6: 70fb strb r3, [r7, #3] USBD_LL_IsoOUTIncomplete((USBD_HandleTypeDef*)hpcd->pData, epnum); 80c97a8: 687b ldr r3, [r7, #4] 80c97aa: f8d3 3400 ldr.w r3, [r3, #1024] ; 0x400 80c97ae: 78fa ldrb r2, [r7, #3] 80c97b0: 4611 mov r1, r2 80c97b2: 4618 mov r0, r3 80c97b4: f7f8 f988 bl 80c1ac8 } 80c97b8: bf00 nop 80c97ba: 3708 adds r7, #8 80c97bc: 46bd mov sp, r7 80c97be: bd80 pop {r7, pc} 080c97c0 : #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 */ { 80c97c0: b580 push {r7, lr} 80c97c2: b082 sub sp, #8 80c97c4: af00 add r7, sp, #0 80c97c6: 6078 str r0, [r7, #4] 80c97c8: 460b mov r3, r1 80c97ca: 70fb strb r3, [r7, #3] USBD_LL_IsoINIncomplete((USBD_HandleTypeDef*)hpcd->pData, epnum); 80c97cc: 687b ldr r3, [r7, #4] 80c97ce: f8d3 3400 ldr.w r3, [r3, #1024] ; 0x400 80c97d2: 78fa ldrb r2, [r7, #3] 80c97d4: 4611 mov r1, r2 80c97d6: 4618 mov r0, r3 80c97d8: f7f8 f969 bl 80c1aae } 80c97dc: bf00 nop 80c97de: 3708 adds r7, #8 80c97e0: 46bd mov sp, r7 80c97e2: bd80 pop {r7, pc} 080c97e4 : #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 */ { 80c97e4: b580 push {r7, lr} 80c97e6: b082 sub sp, #8 80c97e8: af00 add r7, sp, #0 80c97ea: 6078 str r0, [r7, #4] USBConnected = true; 80c97ec: 4b08 ldr r3, [pc, #32] ; (80c9810 ) 80c97ee: 2201 movs r2, #1 80c97f0: 701a strb r2, [r3, #0] ChangeUSBState = true; 80c97f2: 4b08 ldr r3, [pc, #32] ; (80c9814 ) 80c97f4: 2201 movs r2, #1 80c97f6: 701a strb r2, [r3, #0] USBState(); 80c97f8: f7ff fbd2 bl 80c8fa0 USBD_LL_DevConnected((USBD_HandleTypeDef*)hpcd->pData); 80c97fc: 687b ldr r3, [r7, #4] 80c97fe: f8d3 3400 ldr.w r3, [r3, #1024] ; 0x400 80c9802: 4618 mov r0, r3 80c9804: f7f8 f96d bl 80c1ae2 } 80c9808: bf00 nop 80c980a: 3708 adds r7, #8 80c980c: 46bd mov sp, r7 80c980e: bd80 pop {r7, pc} 80c9810: 20021b21 .word 0x20021b21 80c9814: 20021b20 .word 0x20021b20 080c9818 : #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 */ { 80c9818: b580 push {r7, lr} 80c981a: b082 sub sp, #8 80c981c: af00 add r7, sp, #0 80c981e: 6078 str r0, [r7, #4] USBConnected = false; 80c9820: 4b08 ldr r3, [pc, #32] ; (80c9844 ) 80c9822: 2200 movs r2, #0 80c9824: 701a strb r2, [r3, #0] ChangeUSBState = true; 80c9826: 4b08 ldr r3, [pc, #32] ; (80c9848 ) 80c9828: 2201 movs r2, #1 80c982a: 701a strb r2, [r3, #0] USBState(); 80c982c: f7ff fbb8 bl 80c8fa0 USBD_LL_DevDisconnected((USBD_HandleTypeDef*)hpcd->pData); 80c9830: 687b ldr r3, [r7, #4] 80c9832: f8d3 3400 ldr.w r3, [r3, #1024] ; 0x400 80c9836: 4618 mov r0, r3 80c9838: f7f8 f95e bl 80c1af8 } 80c983c: bf00 nop 80c983e: 3708 adds r7, #8 80c9840: 46bd mov sp, r7 80c9842: bd80 pop {r7, pc} 80c9844: 20021b21 .word 0x20021b21 80c9848: 20021b20 .word 0x20021b20 080c984c : * @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) { 80c984c: b580 push {r7, lr} 80c984e: b082 sub sp, #8 80c9850: af00 add r7, sp, #0 80c9852: 6078 str r0, [r7, #4] /* Init USB Ip. */ if (pdev->id == DEVICE_HS) { 80c9854: 687b ldr r3, [r7, #4] 80c9856: 781b ldrb r3, [r3, #0] 80c9858: 2b01 cmp r3, #1 80c985a: d140 bne.n 80c98de /* Link the driver to the stack. */ hpcd_USB_OTG_HS.pData = pdev; 80c985c: 4a22 ldr r2, [pc, #136] ; (80c98e8 ) 80c985e: 687b ldr r3, [r7, #4] 80c9860: f8c2 3400 str.w r3, [r2, #1024] ; 0x400 pdev->pData = &hpcd_USB_OTG_HS; 80c9864: 687b ldr r3, [r7, #4] 80c9866: 4a20 ldr r2, [pc, #128] ; (80c98e8 ) 80c9868: f8c3 22c4 str.w r2, [r3, #708] ; 0x2c4 hpcd_USB_OTG_HS.Instance = USB_OTG_HS; 80c986c: 4b1e ldr r3, [pc, #120] ; (80c98e8 ) 80c986e: 4a1f ldr r2, [pc, #124] ; (80c98ec ) 80c9870: 601a str r2, [r3, #0] hpcd_USB_OTG_HS.Init.dev_endpoints = 9; 80c9872: 4b1d ldr r3, [pc, #116] ; (80c98e8 ) 80c9874: 2209 movs r2, #9 80c9876: 605a str r2, [r3, #4] hpcd_USB_OTG_HS.Init.speed = PCD_SPEED_FULL; 80c9878: 4b1b ldr r3, [pc, #108] ; (80c98e8 ) 80c987a: 2202 movs r2, #2 80c987c: 60da str r2, [r3, #12] hpcd_USB_OTG_HS.Init.dma_enable = DISABLE; 80c987e: 4b1a ldr r3, [pc, #104] ; (80c98e8 ) 80c9880: 2200 movs r2, #0 80c9882: 611a str r2, [r3, #16] hpcd_USB_OTG_HS.Init.phy_itface = USB_OTG_EMBEDDED_PHY; 80c9884: 4b18 ldr r3, [pc, #96] ; (80c98e8 ) 80c9886: 2202 movs r2, #2 80c9888: 619a str r2, [r3, #24] hpcd_USB_OTG_HS.Init.Sof_enable = DISABLE; 80c988a: 4b17 ldr r3, [pc, #92] ; (80c98e8 ) 80c988c: 2200 movs r2, #0 80c988e: 61da str r2, [r3, #28] hpcd_USB_OTG_HS.Init.low_power_enable = DISABLE; 80c9890: 4b15 ldr r3, [pc, #84] ; (80c98e8 ) 80c9892: 2200 movs r2, #0 80c9894: 621a str r2, [r3, #32] hpcd_USB_OTG_HS.Init.lpm_enable = DISABLE; 80c9896: 4b14 ldr r3, [pc, #80] ; (80c98e8 ) 80c9898: 2200 movs r2, #0 80c989a: 625a str r2, [r3, #36] ; 0x24 hpcd_USB_OTG_HS.Init.vbus_sensing_enable = ENABLE; 80c989c: 4b12 ldr r3, [pc, #72] ; (80c98e8 ) 80c989e: 2201 movs r2, #1 80c98a0: 62da str r2, [r3, #44] ; 0x2c hpcd_USB_OTG_HS.Init.use_dedicated_ep1 = DISABLE; 80c98a2: 4b11 ldr r3, [pc, #68] ; (80c98e8 ) 80c98a4: 2200 movs r2, #0 80c98a6: 631a str r2, [r3, #48] ; 0x30 hpcd_USB_OTG_HS.Init.use_external_vbus = DISABLE; 80c98a8: 4b0f ldr r3, [pc, #60] ; (80c98e8 ) 80c98aa: 2200 movs r2, #0 80c98ac: 635a str r2, [r3, #52] ; 0x34 if (HAL_PCD_Init(&hpcd_USB_OTG_HS) != HAL_OK) 80c98ae: 480e ldr r0, [pc, #56] ; (80c98e8 ) 80c98b0: f7ec fd80 bl 80b63b4 80c98b4: 4603 mov r3, r0 80c98b6: 2b00 cmp r3, #0 80c98b8: d001 beq.n 80c98be { Error_Handler( ); 80c98ba: f78b faa9 bl 8054e10 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); 80c98be: f44f 7100 mov.w r1, #512 ; 0x200 80c98c2: 4809 ldr r0, [pc, #36] ; (80c98e8 ) 80c98c4: f7ed ff29 bl 80b771a HAL_PCDEx_SetTxFiFo(&hpcd_USB_OTG_HS, 0, 0x80); 80c98c8: 2280 movs r2, #128 ; 0x80 80c98ca: 2100 movs r1, #0 80c98cc: 4806 ldr r0, [pc, #24] ; (80c98e8 ) 80c98ce: f7ed fedd bl 80b768c HAL_PCDEx_SetTxFiFo(&hpcd_USB_OTG_HS, 1, 0x174); 80c98d2: f44f 72ba mov.w r2, #372 ; 0x174 80c98d6: 2101 movs r1, #1 80c98d8: 4803 ldr r0, [pc, #12] ; (80c98e8 ) 80c98da: f7ed fed7 bl 80b768c } return USBD_OK; 80c98de: 2300 movs r3, #0 } 80c98e0: 4618 mov r0, r3 80c98e2: 3708 adds r7, #8 80c98e4: 46bd mov sp, r7 80c98e6: bd80 pop {r7, pc} 80c98e8: 20069230 .word 0x20069230 80c98ec: 40040000 .word 0x40040000 080c98f0 : * @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) { 80c98f0: b580 push {r7, lr} 80c98f2: b084 sub sp, #16 80c98f4: af00 add r7, sp, #0 80c98f6: 6078 str r0, [r7, #4] HAL_StatusTypeDef hal_status = HAL_OK; 80c98f8: 2300 movs r3, #0 80c98fa: 73fb strb r3, [r7, #15] USBD_StatusTypeDef usb_status = USBD_OK; 80c98fc: 2300 movs r3, #0 80c98fe: 73bb strb r3, [r7, #14] hal_status = HAL_PCD_Start(pdev->pData); 80c9900: 687b ldr r3, [r7, #4] 80c9902: f8d3 32c4 ldr.w r3, [r3, #708] ; 0x2c4 80c9906: 4618 mov r0, r3 80c9908: f7ec fe78 bl 80b65fc 80c990c: 4603 mov r3, r0 80c990e: 73fb strb r3, [r7, #15] usb_status = USBD_Get_USB_Status(hal_status); 80c9910: 7bfb ldrb r3, [r7, #15] 80c9912: 4618 mov r0, r3 80c9914: f000 f9a0 bl 80c9c58 80c9918: 4603 mov r3, r0 80c991a: 73bb strb r3, [r7, #14] return usb_status; 80c991c: 7bbb ldrb r3, [r7, #14] } 80c991e: 4618 mov r0, r3 80c9920: 3710 adds r7, #16 80c9922: 46bd mov sp, r7 80c9924: bd80 pop {r7, pc} 080c9926 : * @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) { 80c9926: b580 push {r7, lr} 80c9928: b084 sub sp, #16 80c992a: af00 add r7, sp, #0 80c992c: 6078 str r0, [r7, #4] 80c992e: 4608 mov r0, r1 80c9930: 4611 mov r1, r2 80c9932: 461a mov r2, r3 80c9934: 4603 mov r3, r0 80c9936: 70fb strb r3, [r7, #3] 80c9938: 460b mov r3, r1 80c993a: 70bb strb r3, [r7, #2] 80c993c: 4613 mov r3, r2 80c993e: 803b strh r3, [r7, #0] HAL_StatusTypeDef hal_status = HAL_OK; 80c9940: 2300 movs r3, #0 80c9942: 73fb strb r3, [r7, #15] USBD_StatusTypeDef usb_status = USBD_OK; 80c9944: 2300 movs r3, #0 80c9946: 73bb strb r3, [r7, #14] hal_status = HAL_PCD_EP_Open(pdev->pData, ep_addr, ep_mps, ep_type); 80c9948: 687b ldr r3, [r7, #4] 80c994a: f8d3 02c4 ldr.w r0, [r3, #708] ; 0x2c4 80c994e: 78bb ldrb r3, [r7, #2] 80c9950: 883a ldrh r2, [r7, #0] 80c9952: 78f9 ldrb r1, [r7, #3] 80c9954: f7ed fa73 bl 80b6e3e 80c9958: 4603 mov r3, r0 80c995a: 73fb strb r3, [r7, #15] usb_status = USBD_Get_USB_Status(hal_status); 80c995c: 7bfb ldrb r3, [r7, #15] 80c995e: 4618 mov r0, r3 80c9960: f000 f97a bl 80c9c58 80c9964: 4603 mov r3, r0 80c9966: 73bb strb r3, [r7, #14] return usb_status; 80c9968: 7bbb ldrb r3, [r7, #14] } 80c996a: 4618 mov r0, r3 80c996c: 3710 adds r7, #16 80c996e: 46bd mov sp, r7 80c9970: bd80 pop {r7, pc} 080c9972 : * @param pdev: Device handle * @param ep_addr: Endpoint number * @retval USBD status */ USBD_StatusTypeDef USBD_LL_CloseEP(USBD_HandleTypeDef *pdev, uint8_t ep_addr) { 80c9972: b580 push {r7, lr} 80c9974: b084 sub sp, #16 80c9976: af00 add r7, sp, #0 80c9978: 6078 str r0, [r7, #4] 80c997a: 460b mov r3, r1 80c997c: 70fb strb r3, [r7, #3] HAL_StatusTypeDef hal_status = HAL_OK; 80c997e: 2300 movs r3, #0 80c9980: 73fb strb r3, [r7, #15] USBD_StatusTypeDef usb_status = USBD_OK; 80c9982: 2300 movs r3, #0 80c9984: 73bb strb r3, [r7, #14] hal_status = HAL_PCD_EP_Close(pdev->pData, ep_addr); 80c9986: 687b ldr r3, [r7, #4] 80c9988: f8d3 32c4 ldr.w r3, [r3, #708] ; 0x2c4 80c998c: 78fa ldrb r2, [r7, #3] 80c998e: 4611 mov r1, r2 80c9990: 4618 mov r0, r3 80c9992: f7ed fabc bl 80b6f0e 80c9996: 4603 mov r3, r0 80c9998: 73fb strb r3, [r7, #15] usb_status = USBD_Get_USB_Status(hal_status); 80c999a: 7bfb ldrb r3, [r7, #15] 80c999c: 4618 mov r0, r3 80c999e: f000 f95b bl 80c9c58 80c99a2: 4603 mov r3, r0 80c99a4: 73bb strb r3, [r7, #14] return usb_status; 80c99a6: 7bbb ldrb r3, [r7, #14] } 80c99a8: 4618 mov r0, r3 80c99aa: 3710 adds r7, #16 80c99ac: 46bd mov sp, r7 80c99ae: bd80 pop {r7, pc} 080c99b0 : * @param pdev: Device handle * @param ep_addr: Endpoint number * @retval USBD status */ USBD_StatusTypeDef USBD_LL_FlushEP(USBD_HandleTypeDef *pdev, uint8_t ep_addr) { 80c99b0: b580 push {r7, lr} 80c99b2: b084 sub sp, #16 80c99b4: af00 add r7, sp, #0 80c99b6: 6078 str r0, [r7, #4] 80c99b8: 460b mov r3, r1 80c99ba: 70fb strb r3, [r7, #3] HAL_StatusTypeDef hal_status = HAL_OK; 80c99bc: 2300 movs r3, #0 80c99be: 73fb strb r3, [r7, #15] USBD_StatusTypeDef usb_status = USBD_OK; 80c99c0: 2300 movs r3, #0 80c99c2: 73bb strb r3, [r7, #14] hal_status = HAL_PCD_EP_Flush(pdev->pData, ep_addr); 80c99c4: 687b ldr r3, [r7, #4] 80c99c6: f8d3 32c4 ldr.w r3, [r3, #708] ; 0x2c4 80c99ca: 78fa ldrb r2, [r7, #3] 80c99cc: 4611 mov r1, r2 80c99ce: 4618 mov r0, r3 80c99d0: f7ed fc4e bl 80b7270 80c99d4: 4603 mov r3, r0 80c99d6: 73fb strb r3, [r7, #15] usb_status = USBD_Get_USB_Status(hal_status); 80c99d8: 7bfb ldrb r3, [r7, #15] 80c99da: 4618 mov r0, r3 80c99dc: f000 f93c bl 80c9c58 80c99e0: 4603 mov r3, r0 80c99e2: 73bb strb r3, [r7, #14] return usb_status; 80c99e4: 7bbb ldrb r3, [r7, #14] } 80c99e6: 4618 mov r0, r3 80c99e8: 3710 adds r7, #16 80c99ea: 46bd mov sp, r7 80c99ec: bd80 pop {r7, pc} 080c99ee : * @param pdev: Device handle * @param ep_addr: Endpoint number * @retval USBD status */ USBD_StatusTypeDef USBD_LL_StallEP(USBD_HandleTypeDef *pdev, uint8_t ep_addr) { 80c99ee: b580 push {r7, lr} 80c99f0: b084 sub sp, #16 80c99f2: af00 add r7, sp, #0 80c99f4: 6078 str r0, [r7, #4] 80c99f6: 460b mov r3, r1 80c99f8: 70fb strb r3, [r7, #3] HAL_StatusTypeDef hal_status = HAL_OK; 80c99fa: 2300 movs r3, #0 80c99fc: 73fb strb r3, [r7, #15] USBD_StatusTypeDef usb_status = USBD_OK; 80c99fe: 2300 movs r3, #0 80c9a00: 73bb strb r3, [r7, #14] hal_status = HAL_PCD_EP_SetStall(pdev->pData, ep_addr); 80c9a02: 687b ldr r3, [r7, #4] 80c9a04: f8d3 32c4 ldr.w r3, [r3, #708] ; 0x2c4 80c9a08: 78fa ldrb r2, [r7, #3] 80c9a0a: 4611 mov r1, r2 80c9a0c: 4618 mov r0, r3 80c9a0e: f7ed fb75 bl 80b70fc 80c9a12: 4603 mov r3, r0 80c9a14: 73fb strb r3, [r7, #15] usb_status = USBD_Get_USB_Status(hal_status); 80c9a16: 7bfb ldrb r3, [r7, #15] 80c9a18: 4618 mov r0, r3 80c9a1a: f000 f91d bl 80c9c58 80c9a1e: 4603 mov r3, r0 80c9a20: 73bb strb r3, [r7, #14] return usb_status; 80c9a22: 7bbb ldrb r3, [r7, #14] } 80c9a24: 4618 mov r0, r3 80c9a26: 3710 adds r7, #16 80c9a28: 46bd mov sp, r7 80c9a2a: bd80 pop {r7, pc} 080c9a2c : * @param pdev: Device handle * @param ep_addr: Endpoint number * @retval USBD status */ USBD_StatusTypeDef USBD_LL_ClearStallEP(USBD_HandleTypeDef *pdev, uint8_t ep_addr) { 80c9a2c: b580 push {r7, lr} 80c9a2e: b084 sub sp, #16 80c9a30: af00 add r7, sp, #0 80c9a32: 6078 str r0, [r7, #4] 80c9a34: 460b mov r3, r1 80c9a36: 70fb strb r3, [r7, #3] HAL_StatusTypeDef hal_status = HAL_OK; 80c9a38: 2300 movs r3, #0 80c9a3a: 73fb strb r3, [r7, #15] USBD_StatusTypeDef usb_status = USBD_OK; 80c9a3c: 2300 movs r3, #0 80c9a3e: 73bb strb r3, [r7, #14] hal_status = HAL_PCD_EP_ClrStall(pdev->pData, ep_addr); 80c9a40: 687b ldr r3, [r7, #4] 80c9a42: f8d3 32c4 ldr.w r3, [r3, #708] ; 0x2c4 80c9a46: 78fa ldrb r2, [r7, #3] 80c9a48: 4611 mov r1, r2 80c9a4a: 4618 mov r0, r3 80c9a4c: f7ed fbba bl 80b71c4 80c9a50: 4603 mov r3, r0 80c9a52: 73fb strb r3, [r7, #15] usb_status = USBD_Get_USB_Status(hal_status); 80c9a54: 7bfb ldrb r3, [r7, #15] 80c9a56: 4618 mov r0, r3 80c9a58: f000 f8fe bl 80c9c58 80c9a5c: 4603 mov r3, r0 80c9a5e: 73bb strb r3, [r7, #14] return usb_status; 80c9a60: 7bbb ldrb r3, [r7, #14] } 80c9a62: 4618 mov r0, r3 80c9a64: 3710 adds r7, #16 80c9a66: 46bd mov sp, r7 80c9a68: bd80 pop {r7, pc} 080c9a6a : * @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) { 80c9a6a: b480 push {r7} 80c9a6c: b085 sub sp, #20 80c9a6e: af00 add r7, sp, #0 80c9a70: 6078 str r0, [r7, #4] 80c9a72: 460b mov r3, r1 80c9a74: 70fb strb r3, [r7, #3] PCD_HandleTypeDef *hpcd = (PCD_HandleTypeDef*) pdev->pData; 80c9a76: 687b ldr r3, [r7, #4] 80c9a78: f8d3 32c4 ldr.w r3, [r3, #708] ; 0x2c4 80c9a7c: 60fb str r3, [r7, #12] if((ep_addr & 0x80) == 0x80) 80c9a7e: f997 3003 ldrsb.w r3, [r7, #3] 80c9a82: 2b00 cmp r3, #0 80c9a84: da0b bge.n 80c9a9e { return hpcd->IN_ep[ep_addr & 0x7F].is_stall; 80c9a86: 78fb ldrb r3, [r7, #3] 80c9a88: f003 027f and.w r2, r3, #127 ; 0x7f 80c9a8c: 68f9 ldr r1, [r7, #12] 80c9a8e: 4613 mov r3, r2 80c9a90: 00db lsls r3, r3, #3 80c9a92: 1a9b subs r3, r3, r2 80c9a94: 009b lsls r3, r3, #2 80c9a96: 440b add r3, r1 80c9a98: 333e adds r3, #62 ; 0x3e 80c9a9a: 781b ldrb r3, [r3, #0] 80c9a9c: e00b b.n 80c9ab6 } else { return hpcd->OUT_ep[ep_addr & 0x7F].is_stall; 80c9a9e: 78fb ldrb r3, [r7, #3] 80c9aa0: f003 027f and.w r2, r3, #127 ; 0x7f 80c9aa4: 68f9 ldr r1, [r7, #12] 80c9aa6: 4613 mov r3, r2 80c9aa8: 00db lsls r3, r3, #3 80c9aaa: 1a9b subs r3, r3, r2 80c9aac: 009b lsls r3, r3, #2 80c9aae: 440b add r3, r1 80c9ab0: f503 73ff add.w r3, r3, #510 ; 0x1fe 80c9ab4: 781b ldrb r3, [r3, #0] } } 80c9ab6: 4618 mov r0, r3 80c9ab8: 3714 adds r7, #20 80c9aba: 46bd mov sp, r7 80c9abc: f85d 7b04 ldr.w r7, [sp], #4 80c9ac0: 4770 bx lr 080c9ac2 : * @param pdev: Device handle * @param dev_addr: Device address * @retval USBD status */ USBD_StatusTypeDef USBD_LL_SetUSBAddress(USBD_HandleTypeDef *pdev, uint8_t dev_addr) { 80c9ac2: b580 push {r7, lr} 80c9ac4: b084 sub sp, #16 80c9ac6: af00 add r7, sp, #0 80c9ac8: 6078 str r0, [r7, #4] 80c9aca: 460b mov r3, r1 80c9acc: 70fb strb r3, [r7, #3] HAL_StatusTypeDef hal_status = HAL_OK; 80c9ace: 2300 movs r3, #0 80c9ad0: 73fb strb r3, [r7, #15] USBD_StatusTypeDef usb_status = USBD_OK; 80c9ad2: 2300 movs r3, #0 80c9ad4: 73bb strb r3, [r7, #14] hal_status = HAL_PCD_SetAddress(pdev->pData, dev_addr); 80c9ad6: 687b ldr r3, [r7, #4] 80c9ad8: f8d3 32c4 ldr.w r3, [r3, #708] ; 0x2c4 80c9adc: 78fa ldrb r2, [r7, #3] 80c9ade: 4611 mov r1, r2 80c9ae0: 4618 mov r0, r3 80c9ae2: f7ed f987 bl 80b6df4 80c9ae6: 4603 mov r3, r0 80c9ae8: 73fb strb r3, [r7, #15] usb_status = USBD_Get_USB_Status(hal_status); 80c9aea: 7bfb ldrb r3, [r7, #15] 80c9aec: 4618 mov r0, r3 80c9aee: f000 f8b3 bl 80c9c58 80c9af2: 4603 mov r3, r0 80c9af4: 73bb strb r3, [r7, #14] return usb_status; 80c9af6: 7bbb ldrb r3, [r7, #14] } 80c9af8: 4618 mov r0, r3 80c9afa: 3710 adds r7, #16 80c9afc: 46bd mov sp, r7 80c9afe: bd80 pop {r7, pc} 080c9b00 : * @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) { 80c9b00: b580 push {r7, lr} 80c9b02: b086 sub sp, #24 80c9b04: af00 add r7, sp, #0 80c9b06: 60f8 str r0, [r7, #12] 80c9b08: 607a str r2, [r7, #4] 80c9b0a: 603b str r3, [r7, #0] 80c9b0c: 460b mov r3, r1 80c9b0e: 72fb strb r3, [r7, #11] HAL_StatusTypeDef hal_status = HAL_OK; 80c9b10: 2300 movs r3, #0 80c9b12: 75fb strb r3, [r7, #23] USBD_StatusTypeDef usb_status = USBD_OK; 80c9b14: 2300 movs r3, #0 80c9b16: 75bb strb r3, [r7, #22] hal_status = HAL_PCD_EP_Transmit(pdev->pData, ep_addr, pbuf, size); 80c9b18: 68fb ldr r3, [r7, #12] 80c9b1a: f8d3 02c4 ldr.w r0, [r3, #708] ; 0x2c4 80c9b1e: 7af9 ldrb r1, [r7, #11] 80c9b20: 683b ldr r3, [r7, #0] 80c9b22: 687a ldr r2, [r7, #4] 80c9b24: f7ed faa0 bl 80b7068 80c9b28: 4603 mov r3, r0 80c9b2a: 75fb strb r3, [r7, #23] usb_status = USBD_Get_USB_Status(hal_status); 80c9b2c: 7dfb ldrb r3, [r7, #23] 80c9b2e: 4618 mov r0, r3 80c9b30: f000 f892 bl 80c9c58 80c9b34: 4603 mov r3, r0 80c9b36: 75bb strb r3, [r7, #22] return usb_status; 80c9b38: 7dbb ldrb r3, [r7, #22] } 80c9b3a: 4618 mov r0, r3 80c9b3c: 3718 adds r7, #24 80c9b3e: 46bd mov sp, r7 80c9b40: bd80 pop {r7, pc} 080c9b42 : * @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) { 80c9b42: b580 push {r7, lr} 80c9b44: b086 sub sp, #24 80c9b46: af00 add r7, sp, #0 80c9b48: 60f8 str r0, [r7, #12] 80c9b4a: 607a str r2, [r7, #4] 80c9b4c: 603b str r3, [r7, #0] 80c9b4e: 460b mov r3, r1 80c9b50: 72fb strb r3, [r7, #11] HAL_StatusTypeDef hal_status = HAL_OK; 80c9b52: 2300 movs r3, #0 80c9b54: 75fb strb r3, [r7, #23] USBD_StatusTypeDef usb_status = USBD_OK; 80c9b56: 2300 movs r3, #0 80c9b58: 75bb strb r3, [r7, #22] hal_status = HAL_PCD_EP_Receive(pdev->pData, ep_addr, pbuf, size); 80c9b5a: 68fb ldr r3, [r7, #12] 80c9b5c: f8d3 02c4 ldr.w r0, [r3, #708] ; 0x2c4 80c9b60: 7af9 ldrb r1, [r7, #11] 80c9b62: 683b ldr r3, [r7, #0] 80c9b64: 687a ldr r2, [r7, #4] 80c9b66: f7ed fa1c bl 80b6fa2 80c9b6a: 4603 mov r3, r0 80c9b6c: 75fb strb r3, [r7, #23] usb_status = USBD_Get_USB_Status(hal_status); 80c9b6e: 7dfb ldrb r3, [r7, #23] 80c9b70: 4618 mov r0, r3 80c9b72: f000 f871 bl 80c9c58 80c9b76: 4603 mov r3, r0 80c9b78: 75bb strb r3, [r7, #22] return usb_status; 80c9b7a: 7dbb ldrb r3, [r7, #22] } 80c9b7c: 4618 mov r0, r3 80c9b7e: 3718 adds r7, #24 80c9b80: 46bd mov sp, r7 80c9b82: bd80 pop {r7, pc} 080c9b84 : * @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) { 80c9b84: b580 push {r7, lr} 80c9b86: b082 sub sp, #8 80c9b88: af00 add r7, sp, #0 80c9b8a: 6078 str r0, [r7, #4] 80c9b8c: 460b mov r3, r1 80c9b8e: 70fb strb r3, [r7, #3] return HAL_PCD_EP_GetRxCount((PCD_HandleTypeDef*) pdev->pData, ep_addr); 80c9b90: 687b ldr r3, [r7, #4] 80c9b92: f8d3 32c4 ldr.w r3, [r3, #708] ; 0x2c4 80c9b96: 78fa ldrb r2, [r7, #3] 80c9b98: 4611 mov r1, r2 80c9b9a: 4618 mov r0, r3 80c9b9c: f7ed fa4c bl 80b7038 80c9ba0: 4603 mov r3, r0 } 80c9ba2: 4618 mov r0, r3 80c9ba4: 3708 adds r7, #8 80c9ba6: 46bd mov sp, r7 80c9ba8: bd80 pop {r7, pc} ... 080c9bac : * @param hpcd: PCD handle * @param msg: LPM message * @retval None */ void HAL_PCDEx_LPM_Callback(PCD_HandleTypeDef *hpcd, PCD_LPM_MsgTypeDef msg) { 80c9bac: b580 push {r7, lr} 80c9bae: b082 sub sp, #8 80c9bb0: af00 add r7, sp, #0 80c9bb2: 6078 str r0, [r7, #4] 80c9bb4: 460b mov r3, r1 80c9bb6: 70fb strb r3, [r7, #3] switch (msg) 80c9bb8: 78fb ldrb r3, [r7, #3] 80c9bba: 2b00 cmp r3, #0 80c9bbc: d002 beq.n 80c9bc4 80c9bbe: 2b01 cmp r3, #1 80c9bc0: d020 beq.n 80c9c04 /* 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; } } 80c9bc2: e03d b.n 80c9c40 if (hpcd->Init.low_power_enable) 80c9bc4: 687b ldr r3, [r7, #4] 80c9bc6: 6a1b ldr r3, [r3, #32] 80c9bc8: 2b00 cmp r3, #0 80c9bca: d007 beq.n 80c9bdc SystemClockConfig_Resume(); 80c9bcc: f000 f83e bl 80c9c4c SCB->SCR &= (uint32_t)~((uint32_t)(SCB_SCR_SLEEPDEEP_Msk | SCB_SCR_SLEEPONEXIT_Msk)); 80c9bd0: 4a1d ldr r2, [pc, #116] ; (80c9c48 ) 80c9bd2: 4b1d ldr r3, [pc, #116] ; (80c9c48 ) 80c9bd4: 691b ldr r3, [r3, #16] 80c9bd6: f023 0306 bic.w r3, r3, #6 80c9bda: 6113 str r3, [r2, #16] __HAL_PCD_UNGATE_PHYCLOCK(hpcd); 80c9bdc: 687b ldr r3, [r7, #4] 80c9bde: 681b ldr r3, [r3, #0] 80c9be0: f503 6360 add.w r3, r3, #3584 ; 0xe00 80c9be4: 461a mov r2, r3 80c9be6: 687b ldr r3, [r7, #4] 80c9be8: 681b ldr r3, [r3, #0] 80c9bea: f503 6360 add.w r3, r3, #3584 ; 0xe00 80c9bee: 681b ldr r3, [r3, #0] 80c9bf0: f023 0301 bic.w r3, r3, #1 80c9bf4: 6013 str r3, [r2, #0] USBD_LL_Resume(hpcd->pData); 80c9bf6: 687b ldr r3, [r7, #4] 80c9bf8: f8d3 3400 ldr.w r3, [r3, #1024] ; 0x400 80c9bfc: 4618 mov r0, r3 80c9bfe: f7f7 ff26 bl 80c1a4e break; 80c9c02: e01d b.n 80c9c40 __HAL_PCD_GATE_PHYCLOCK(hpcd); 80c9c04: 687b ldr r3, [r7, #4] 80c9c06: 681b ldr r3, [r3, #0] 80c9c08: f503 6360 add.w r3, r3, #3584 ; 0xe00 80c9c0c: 461a mov r2, r3 80c9c0e: 687b ldr r3, [r7, #4] 80c9c10: 681b ldr r3, [r3, #0] 80c9c12: f503 6360 add.w r3, r3, #3584 ; 0xe00 80c9c16: 681b ldr r3, [r3, #0] 80c9c18: f043 0301 orr.w r3, r3, #1 80c9c1c: 6013 str r3, [r2, #0] USBD_LL_Suspend(hpcd->pData); 80c9c1e: 687b ldr r3, [r7, #4] 80c9c20: f8d3 3400 ldr.w r3, [r3, #1024] ; 0x400 80c9c24: 4618 mov r0, r3 80c9c26: f7f7 fefd bl 80c1a24 if (hpcd->Init.low_power_enable) 80c9c2a: 687b ldr r3, [r7, #4] 80c9c2c: 6a1b ldr r3, [r3, #32] 80c9c2e: 2b00 cmp r3, #0 80c9c30: d005 beq.n 80c9c3e SCB->SCR |= (uint32_t)((uint32_t)(SCB_SCR_SLEEPDEEP_Msk | SCB_SCR_SLEEPONEXIT_Msk)); 80c9c32: 4a05 ldr r2, [pc, #20] ; (80c9c48 ) 80c9c34: 4b04 ldr r3, [pc, #16] ; (80c9c48 ) 80c9c36: 691b ldr r3, [r3, #16] 80c9c38: f043 0306 orr.w r3, r3, #6 80c9c3c: 6113 str r3, [r2, #16] break; 80c9c3e: bf00 nop } 80c9c40: bf00 nop 80c9c42: 3708 adds r7, #8 80c9c44: 46bd mov sp, r7 80c9c46: bd80 pop {r7, pc} 80c9c48: e000ed00 .word 0xe000ed00 080c9c4c : * @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) { 80c9c4c: b580 push {r7, lr} 80c9c4e: af00 add r7, sp, #0 SystemClock_Config(); 80c9c50: f78b f832 bl 8054cb8 } 80c9c54: bf00 nop 80c9c56: bd80 pop {r7, pc} 080c9c58 : * @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) { 80c9c58: b480 push {r7} 80c9c5a: b085 sub sp, #20 80c9c5c: af00 add r7, sp, #0 80c9c5e: 4603 mov r3, r0 80c9c60: 71fb strb r3, [r7, #7] USBD_StatusTypeDef usb_status = USBD_OK; 80c9c62: 2300 movs r3, #0 80c9c64: 73fb strb r3, [r7, #15] switch (hal_status) 80c9c66: 79fb ldrb r3, [r7, #7] 80c9c68: 2b03 cmp r3, #3 80c9c6a: d817 bhi.n 80c9c9c 80c9c6c: a201 add r2, pc, #4 ; (adr r2, 80c9c74 ) 80c9c6e: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80c9c72: bf00 nop 80c9c74: 080c9c85 .word 0x080c9c85 80c9c78: 080c9c8b .word 0x080c9c8b 80c9c7c: 080c9c91 .word 0x080c9c91 80c9c80: 080c9c97 .word 0x080c9c97 { case HAL_OK : usb_status = USBD_OK; 80c9c84: 2300 movs r3, #0 80c9c86: 73fb strb r3, [r7, #15] break; 80c9c88: e00b b.n 80c9ca2 case HAL_ERROR : usb_status = USBD_FAIL; 80c9c8a: 2303 movs r3, #3 80c9c8c: 73fb strb r3, [r7, #15] break; 80c9c8e: e008 b.n 80c9ca2 case HAL_BUSY : usb_status = USBD_BUSY; 80c9c90: 2301 movs r3, #1 80c9c92: 73fb strb r3, [r7, #15] break; 80c9c94: e005 b.n 80c9ca2 case HAL_TIMEOUT : usb_status = USBD_FAIL; 80c9c96: 2303 movs r3, #3 80c9c98: 73fb strb r3, [r7, #15] break; 80c9c9a: e002 b.n 80c9ca2 default : usb_status = USBD_FAIL; 80c9c9c: 2303 movs r3, #3 80c9c9e: 73fb strb r3, [r7, #15] break; 80c9ca0: bf00 nop } return usb_status; 80c9ca2: 7bfb ldrb r3, [r7, #15] } 80c9ca4: 4618 mov r0, r3 80c9ca6: 3714 adds r7, #20 80c9ca8: 46bd mov sp, r7 80c9caa: f85d 7b04 ldr.w r7, [sp], #4 80c9cae: 4770 bx lr 080c9cb0 : .section .text.Reset_Handler .weak Reset_Handler .type Reset_Handler, %function Reset_Handler: ldr sp, =_estack /* set stack pointer */ 80c9cb0: f8df d034 ldr.w sp, [pc, #52] ; 80c9ce8 /* Copy the data segment initializers from flash to SRAM */ movs r1, #0 80c9cb4: 2100 movs r1, #0 b LoopCopyDataInit 80c9cb6: e003 b.n 80c9cc0 080c9cb8 : CopyDataInit: ldr r3, =_sidata 80c9cb8: 4b0c ldr r3, [pc, #48] ; (80c9cec ) ldr r3, [r3, r1] 80c9cba: 585b ldr r3, [r3, r1] str r3, [r0, r1] 80c9cbc: 5043 str r3, [r0, r1] adds r1, r1, #4 80c9cbe: 3104 adds r1, #4 080c9cc0 : LoopCopyDataInit: ldr r0, =_sdata 80c9cc0: 480b ldr r0, [pc, #44] ; (80c9cf0 ) ldr r3, =_edata 80c9cc2: 4b0c ldr r3, [pc, #48] ; (80c9cf4 ) adds r2, r0, r1 80c9cc4: 1842 adds r2, r0, r1 cmp r2, r3 80c9cc6: 429a cmp r2, r3 bcc CopyDataInit 80c9cc8: d3f6 bcc.n 80c9cb8 ldr r2, =_sbss 80c9cca: 4a0b ldr r2, [pc, #44] ; (80c9cf8 ) b LoopFillZerobss 80c9ccc: e002 b.n 80c9cd4 080c9cce : /* Zero fill the bss segment. */ FillZerobss: movs r3, #0 80c9cce: 2300 movs r3, #0 str r3, [r2], #4 80c9cd0: f842 3b04 str.w r3, [r2], #4 080c9cd4 : LoopFillZerobss: ldr r3, = _ebss 80c9cd4: 4b09 ldr r3, [pc, #36] ; (80c9cfc ) cmp r2, r3 80c9cd6: 429a cmp r2, r3 bcc FillZerobss 80c9cd8: d3f9 bcc.n 80c9cce /* Call the clock system initialization function.*/ bl SystemInit 80c9cda: f7e4 fc01 bl 80ae4e0 /* Call static constructors */ bl __libc_init_array 80c9cde: f003 f94b bl 80ccf78 <__libc_init_array> /* Call the application's entry point.*/ bl main 80c9ce2: f78a fe53 bl 805498c
bx lr 80c9ce6: 4770 bx lr ldr sp, =_estack /* set stack pointer */ 80c9ce8: 20080000 .word 0x20080000 ldr r3, =_sidata 80c9cec: 08186a2c .word 0x08186a2c ldr r0, =_sdata 80c9cf0: 20020000 .word 0x20020000 ldr r3, =_edata 80c9cf4: 20020d18 .word 0x20020d18 ldr r2, =_sbss 80c9cf8: 20020d20 .word 0x20020d20 ldr r3, = _ebss 80c9cfc: 20069638 .word 0x20069638 080c9d00 : * @retval None */ .section .text.Default_Handler,"ax",%progbits Default_Handler: Infinite_Loop: b Infinite_Loop 80c9d00: e7fe b.n 80c9d00 ... 080c9d04 : 80c9d04: b410 push {r4} 80c9d06: 088c lsrs r4, r1, #2 80c9d08: d010 beq.n 80c9d2c 80c9d0a: f100 0310 add.w r3, r0, #16 80c9d0e: 4622 mov r2, r4 80c9d10: 3a01 subs r2, #1 80c9d12: ed03 0a04 vstr s0, [r3, #-16] 80c9d16: ed03 0a03 vstr s0, [r3, #-12] 80c9d1a: f103 0310 add.w r3, r3, #16 80c9d1e: ed03 0a06 vstr s0, [r3, #-24] ; 0xffffffe8 80c9d22: ed03 0a05 vstr s0, [r3, #-20] ; 0xffffffec 80c9d26: d1f3 bne.n 80c9d10 80c9d28: eb00 1004 add.w r0, r0, r4, lsl #4 80c9d2c: f011 0103 ands.w r1, r1, #3 80c9d30: d003 beq.n 80c9d3a 80c9d32: 3901 subs r1, #1 80c9d34: eca0 0a01 vstmia r0!, {s0} 80c9d38: d1fb bne.n 80c9d32 80c9d3a: f85d 4b04 ldr.w r4, [sp], #4 80c9d3e: 4770 bx lr 080c9d40 : 80c9d40: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} 80c9d44: ea5f 0892 movs.w r8, r2, lsr #2 80c9d48: d01e beq.n 80c9d88 80c9d4a: f100 0410 add.w r4, r0, #16 80c9d4e: f101 0310 add.w r3, r1, #16 80c9d52: 4645 mov r5, r8 80c9d54: f854 cc10 ldr.w ip, [r4, #-16] 80c9d58: 3d01 subs r5, #1 80c9d5a: f854 ec0c ldr.w lr, [r4, #-12] 80c9d5e: f103 0310 add.w r3, r3, #16 80c9d62: f854 7c08 ldr.w r7, [r4, #-8] 80c9d66: f104 0410 add.w r4, r4, #16 80c9d6a: f854 6c14 ldr.w r6, [r4, #-20] 80c9d6e: f843 cc20 str.w ip, [r3, #-32] 80c9d72: f843 ec1c str.w lr, [r3, #-28] 80c9d76: f843 7c18 str.w r7, [r3, #-24] 80c9d7a: f843 6c14 str.w r6, [r3, #-20] 80c9d7e: d1e9 bne.n 80c9d54 80c9d80: ea4f 1808 mov.w r8, r8, lsl #4 80c9d84: 4440 add r0, r8 80c9d86: 4441 add r1, r8 80c9d88: f012 0203 ands.w r2, r2, #3 80c9d8c: d005 beq.n 80c9d9a 80c9d8e: f850 3b04 ldr.w r3, [r0], #4 80c9d92: 3a01 subs r2, #1 80c9d94: f841 3b04 str.w r3, [r1], #4 80c9d98: d1f9 bne.n 80c9d8e 80c9d9a: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} 80c9d9e: bf00 nop 080c9da0 : 80c9da0: 2901 cmp r1, #1 80c9da2: d054 beq.n 80c9e4e 80c9da4: eddf 6a2d vldr s13, [pc, #180] ; 80c9e5c 80c9da8: b430 push {r4, r5} 80c9daa: 088d lsrs r5, r1, #2 80c9dac: d052 beq.n 80c9e54 80c9dae: eef0 7a66 vmov.f32 s15, s13 80c9db2: f100 0310 add.w r3, r0, #16 80c9db6: 462c mov r4, r5 80c9db8: ed13 7a04 vldr s14, [r3, #-16] 80c9dbc: 3c01 subs r4, #1 80c9dbe: ed13 4a03 vldr s8, [r3, #-12] 80c9dc2: f103 0310 add.w r3, r3, #16 80c9dc6: ee27 6a07 vmul.f32 s12, s14, s14 80c9dca: ed53 4a06 vldr s9, [r3, #-24] ; 0xffffffe8 80c9dce: ee37 7a87 vadd.f32 s14, s15, s14 80c9dd2: ed53 5a05 vldr s11, [r3, #-20] ; 0xffffffec 80c9dd6: ee24 5a04 vmul.f32 s10, s8, s8 80c9dda: ee76 6a26 vadd.f32 s13, s12, s13 80c9dde: ee37 7a04 vadd.f32 s14, s14, s8 80c9de2: ee24 6aa4 vmul.f32 s12, s9, s9 80c9de6: ee75 6a26 vadd.f32 s13, s10, s13 80c9dea: ee77 7a24 vadd.f32 s15, s14, s9 80c9dee: ee25 7aa5 vmul.f32 s14, s11, s11 80c9df2: ee76 6a26 vadd.f32 s13, s12, s13 80c9df6: ee77 7aa5 vadd.f32 s15, s15, s11 80c9dfa: ee77 6a26 vadd.f32 s13, s14, s13 80c9dfe: d1db bne.n 80c9db8 80c9e00: eb00 1005 add.w r0, r0, r5, lsl #4 80c9e04: f011 0303 ands.w r3, r1, #3 80c9e08: d009 beq.n 80c9e1e 80c9e0a: ecb0 7a01 vldmia r0!, {s14} 80c9e0e: 3b01 subs r3, #1 80c9e10: ee27 6a07 vmul.f32 s12, s14, s14 80c9e14: ee77 7a87 vadd.f32 s15, s15, s14 80c9e18: ee76 6a86 vadd.f32 s13, s13, s12 80c9e1c: d1f5 bne.n 80c9e0a 80c9e1e: ee07 1a10 vmov s14, r1 80c9e22: eeb7 6a00 vmov.f32 s12, #112 ; 0x3f800000 1.0 80c9e26: eeb8 7a47 vcvt.f32.u32 s14, s14 80c9e2a: bc30 pop {r4, r5} 80c9e2c: eec7 7a87 vdiv.f32 s15, s15, s14 80c9e30: ee37 6a46 vsub.f32 s12, s14, s12 80c9e34: ee87 7a06 vdiv.f32 s14, s14, s12 80c9e38: eec6 6a86 vdiv.f32 s13, s13, s12 80c9e3c: ee67 7aa7 vmul.f32 s15, s15, s15 80c9e40: ee67 7a87 vmul.f32 s15, s15, s14 80c9e44: ee76 7ae7 vsub.f32 s15, s13, s15 80c9e48: edc2 7a00 vstr s15, [r2] 80c9e4c: 4770 bx lr 80c9e4e: 2300 movs r3, #0 80c9e50: 6013 str r3, [r2, #0] 80c9e52: 4770 bx lr 80c9e54: eef0 7a66 vmov.f32 s15, s13 80c9e58: e7d4 b.n 80c9e04 80c9e5a: bf00 nop 80c9e5c: 00000000 .word 0x00000000 080c9e60 : 80c9e60: b530 push {r4, r5, lr} 80c9e62: 088d lsrs r5, r1, #2 80c9e64: b083 sub sp, #12 80c9e66: d047 beq.n 80c9ef8 80c9e68: f100 0310 add.w r3, r0, #16 80c9e6c: 462c mov r4, r5 80c9e6e: ed9f 0a27 vldr s0, [pc, #156] ; 80c9f0c 80c9e72: ed53 6a04 vldr s13, [r3, #-16] 80c9e76: 3c01 subs r4, #1 80c9e78: ed13 7a03 vldr s14, [r3, #-12] 80c9e7c: f103 0310 add.w r3, r3, #16 80c9e80: ee26 6aa6 vmul.f32 s12, s13, s13 80c9e84: ed53 7a06 vldr s15, [r3, #-24] ; 0xffffffe8 80c9e88: ee67 6a07 vmul.f32 s13, s14, s14 80c9e8c: ed53 5a05 vldr s11, [r3, #-20] ; 0xffffffec 80c9e90: ee27 7aa7 vmul.f32 s14, s15, s15 80c9e94: ee76 7a00 vadd.f32 s15, s12, s0 80c9e98: ee65 5aa5 vmul.f32 s11, s11, s11 80c9e9c: ee76 7aa7 vadd.f32 s15, s13, s15 80c9ea0: ee77 7a27 vadd.f32 s15, s14, s15 80c9ea4: ee35 0aa7 vadd.f32 s0, s11, s15 80c9ea8: d1e3 bne.n 80c9e72 80c9eaa: eb00 1005 add.w r0, r0, r5, lsl #4 80c9eae: f011 0303 ands.w r3, r1, #3 80c9eb2: d007 beq.n 80c9ec4 80c9eb4: ecb0 6a01 vldmia r0!, {s12} 80c9eb8: 3b01 subs r3, #1 80c9eba: ee26 6a06 vmul.f32 s12, s12, s12 80c9ebe: ee30 0a06 vadd.f32 s0, s0, s12 80c9ec2: d1f7 bne.n 80c9eb4 80c9ec4: ee07 1a90 vmov s15, r1 80c9ec8: 2300 movs r3, #0 80c9eca: eef8 7a67 vcvt.f32.u32 s15, s15 80c9ece: eec0 7a27 vdiv.f32 s15, s0, s15 80c9ed2: eef5 7ac0 vcmpe.f32 s15, #0.0 80c9ed6: eef1 fa10 vmrs APSR_nzcv, fpscr 80c9eda: da02 bge.n 80c9ee2 80c9edc: 6013 str r3, [r2, #0] 80c9ede: b003 add sp, #12 80c9ee0: bd30 pop {r4, r5, pc} 80c9ee2: eeb1 0ae7 vsqrt.f32 s0, s15 80c9ee6: eeb4 0a40 vcmp.f32 s0, s0 80c9eea: eef1 fa10 vmrs APSR_nzcv, fpscr 80c9eee: d106 bne.n 80c9efe 80c9ef0: ed82 0a00 vstr s0, [r2] 80c9ef4: b003 add sp, #12 80c9ef6: bd30 pop {r4, r5, pc} 80c9ef8: ed9f 0a04 vldr s0, [pc, #16] ; 80c9f0c 80c9efc: e7d7 b.n 80c9eae 80c9efe: eeb0 0a67 vmov.f32 s0, s15 80c9f02: 9201 str r2, [sp, #4] 80c9f04: f001 f9a0 bl 80cb248 80c9f08: 9a01 ldr r2, [sp, #4] 80c9f0a: e7f1 b.n 80c9ef0 80c9f0c: 00000000 .word 0x00000000 080c9f10 : 80c9f10: b430 push {r4, r5} 80c9f12: 088d lsrs r5, r1, #2 80c9f14: d031 beq.n 80c9f7a 80c9f16: f100 0310 add.w r3, r0, #16 80c9f1a: 462c mov r4, r5 80c9f1c: ed9f 5a18 vldr s10, [pc, #96] ; 80c9f80 80c9f20: ed53 6a04 vldr s13, [r3, #-16] 80c9f24: 3c01 subs r4, #1 80c9f26: ed13 7a03 vldr s14, [r3, #-12] 80c9f2a: f103 0310 add.w r3, r3, #16 80c9f2e: ee26 6aa6 vmul.f32 s12, s13, s13 80c9f32: ed53 7a06 vldr s15, [r3, #-24] ; 0xffffffe8 80c9f36: ee67 6a07 vmul.f32 s13, s14, s14 80c9f3a: ed53 5a05 vldr s11, [r3, #-20] ; 0xffffffec 80c9f3e: ee27 7aa7 vmul.f32 s14, s15, s15 80c9f42: ee76 7a05 vadd.f32 s15, s12, s10 80c9f46: ee65 5aa5 vmul.f32 s11, s11, s11 80c9f4a: ee76 7aa7 vadd.f32 s15, s13, s15 80c9f4e: ee77 7a27 vadd.f32 s15, s14, s15 80c9f52: ee35 5aa7 vadd.f32 s10, s11, s15 80c9f56: d1e3 bne.n 80c9f20 80c9f58: eb00 1005 add.w r0, r0, r5, lsl #4 80c9f5c: f011 0103 ands.w r1, r1, #3 80c9f60: d007 beq.n 80c9f72 80c9f62: ecb0 6a01 vldmia r0!, {s12} 80c9f66: 3901 subs r1, #1 80c9f68: ee26 6a06 vmul.f32 s12, s12, s12 80c9f6c: ee35 5a06 vadd.f32 s10, s10, s12 80c9f70: d1f7 bne.n 80c9f62 80c9f72: ed82 5a00 vstr s10, [r2] 80c9f76: bc30 pop {r4, r5} 80c9f78: 4770 bx lr 80c9f7a: ed9f 5a01 vldr s10, [pc, #4] ; 80c9f80 80c9f7e: e7ed b.n 80c9f5c 80c9f80: 00000000 .word 0x00000000 080c9f84 : 80c9f84: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} 80c9f88: 1e4d subs r5, r1, #1 80c9f8a: f100 0c04 add.w ip, r0, #4 80c9f8e: edd0 7a00 vldr s15, [r0] 80c9f92: ea5f 0995 movs.w r9, r5, lsr #2 80c9f96: d056 beq.n 80ca046 80c9f98: 3014 adds r0, #20 80c9f9a: 46c8 mov r8, r9 80c9f9c: 2404 movs r4, #4 80c9f9e: 2600 movs r6, #0 80c9fa0: ed10 6a04 vldr s12, [r0, #-16] 80c9fa4: f1a4 0a03 sub.w sl, r4, #3 80c9fa8: ed50 6a03 vldr s13, [r0, #-12] 80c9fac: f1a4 0e02 sub.w lr, r4, #2 80c9fb0: eeb4 6ae7 vcmpe.f32 s12, s15 80c9fb4: ed10 7a02 vldr s14, [r0, #-8] 80c9fb8: ed50 5a01 vldr s11, [r0, #-4] 80c9fbc: 1e67 subs r7, r4, #1 80c9fbe: 3010 adds r0, #16 80c9fc0: eef1 fa10 vmrs APSR_nzcv, fpscr 80c9fc4: bf48 it mi 80c9fc6: eef0 7a46 vmovmi.f32 s15, s12 80c9fca: bf48 it mi 80c9fcc: 4656 movmi r6, sl 80c9fce: eef4 7ae6 vcmpe.f32 s15, s13 80c9fd2: eef1 fa10 vmrs APSR_nzcv, fpscr 80c9fd6: bfc8 it gt 80c9fd8: eef0 7a66 vmovgt.f32 s15, s13 80c9fdc: bfc8 it gt 80c9fde: 4676 movgt r6, lr 80c9fe0: eef4 7ac7 vcmpe.f32 s15, s14 80c9fe4: eef1 fa10 vmrs APSR_nzcv, fpscr 80c9fe8: bfc8 it gt 80c9fea: eef0 7a47 vmovgt.f32 s15, s14 80c9fee: bfc8 it gt 80c9ff0: 463e movgt r6, r7 80c9ff2: eef4 7ae5 vcmpe.f32 s15, s11 80c9ff6: eef1 fa10 vmrs APSR_nzcv, fpscr 80c9ffa: bfc8 it gt 80c9ffc: 4626 movgt r6, r4 80c9ffe: bfc8 it gt 80ca000: eef0 7a65 vmovgt.f32 s15, s11 80ca004: f1b8 0801 subs.w r8, r8, #1 80ca008: f104 0404 add.w r4, r4, #4 80ca00c: d1c8 bne.n 80c9fa0 80ca00e: eb0c 1c09 add.w ip, ip, r9, lsl #4 80ca012: f015 0003 ands.w r0, r5, #3 80ca016: d018 beq.n 80ca04a 80ca018: 1a08 subs r0, r1, r0 80ca01a: ecbc 7a01 vldmia ip!, {s14} 80ca01e: eeb4 7ae7 vcmpe.f32 s14, s15 80ca022: eef1 fa10 vmrs APSR_nzcv, fpscr 80ca026: bf48 it mi 80ca028: 4606 movmi r6, r0 80ca02a: f100 0001 add.w r0, r0, #1 80ca02e: bf58 it pl 80ca030: eeb0 7a67 vmovpl.f32 s14, s15 80ca034: 4288 cmp r0, r1 80ca036: eef0 7a47 vmov.f32 s15, s14 80ca03a: d1ee bne.n 80ca01a 80ca03c: ed82 7a00 vstr s14, [r2] 80ca040: 601e str r6, [r3, #0] 80ca042: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} 80ca046: 464e mov r6, r9 80ca048: e7e3 b.n 80ca012 80ca04a: eeb0 7a67 vmov.f32 s14, s15 80ca04e: e7f5 b.n 80ca03c 080ca050 : 80ca050: b430 push {r4, r5} 80ca052: 088d lsrs r5, r1, #2 80ca054: d02d beq.n 80ca0b2 80ca056: f100 0310 add.w r3, r0, #16 80ca05a: 462c mov r4, r5 80ca05c: eddf 7a16 vldr s15, [pc, #88] ; 80ca0b8 80ca060: ed13 7a04 vldr s14, [r3, #-16] 80ca064: 3c01 subs r4, #1 80ca066: ed13 6a03 vldr s12, [r3, #-12] 80ca06a: f103 0310 add.w r3, r3, #16 80ca06e: ee37 7a87 vadd.f32 s14, s15, s14 80ca072: ed53 7a06 vldr s15, [r3, #-24] ; 0xffffffe8 80ca076: ed53 6a05 vldr s13, [r3, #-20] ; 0xffffffec 80ca07a: ee37 7a06 vadd.f32 s14, s14, s12 80ca07e: ee77 7a27 vadd.f32 s15, s14, s15 80ca082: ee77 7aa6 vadd.f32 s15, s15, s13 80ca086: d1eb bne.n 80ca060 80ca088: eb00 1005 add.w r0, r0, r5, lsl #4 80ca08c: f011 0303 ands.w r3, r1, #3 80ca090: d005 beq.n 80ca09e 80ca092: ecb0 7a01 vldmia r0!, {s14} 80ca096: 3b01 subs r3, #1 80ca098: ee77 7a87 vadd.f32 s15, s15, s14 80ca09c: d1f9 bne.n 80ca092 80ca09e: ee07 1a10 vmov s14, r1 80ca0a2: eeb8 7a47 vcvt.f32.u32 s14, s14 80ca0a6: bc30 pop {r4, r5} 80ca0a8: eec7 7a87 vdiv.f32 s15, s15, s14 80ca0ac: edc2 7a00 vstr s15, [r2] 80ca0b0: 4770 bx lr 80ca0b2: eddf 7a01 vldr s15, [pc, #4] ; 80ca0b8 80ca0b6: e7e9 b.n 80ca08c 80ca0b8: 00000000 .word 0x00000000 080ca0bc : 80ca0bc: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} 80ca0c0: 1e4d subs r5, r1, #1 80ca0c2: f100 0c04 add.w ip, r0, #4 80ca0c6: edd0 7a00 vldr s15, [r0] 80ca0ca: ea5f 0995 movs.w r9, r5, lsr #2 80ca0ce: d056 beq.n 80ca17e 80ca0d0: 3014 adds r0, #20 80ca0d2: 46c8 mov r8, r9 80ca0d4: 2404 movs r4, #4 80ca0d6: 2600 movs r6, #0 80ca0d8: ed10 6a04 vldr s12, [r0, #-16] 80ca0dc: f1a4 0a03 sub.w sl, r4, #3 80ca0e0: ed50 6a03 vldr s13, [r0, #-12] 80ca0e4: f1a4 0e02 sub.w lr, r4, #2 80ca0e8: eeb4 6ae7 vcmpe.f32 s12, s15 80ca0ec: ed10 7a02 vldr s14, [r0, #-8] 80ca0f0: ed50 5a01 vldr s11, [r0, #-4] 80ca0f4: 1e67 subs r7, r4, #1 80ca0f6: 3010 adds r0, #16 80ca0f8: eef1 fa10 vmrs APSR_nzcv, fpscr 80ca0fc: bfc8 it gt 80ca0fe: eef0 7a46 vmovgt.f32 s15, s12 80ca102: bfc8 it gt 80ca104: 4656 movgt r6, sl 80ca106: eef4 7ae6 vcmpe.f32 s15, s13 80ca10a: eef1 fa10 vmrs APSR_nzcv, fpscr 80ca10e: bf48 it mi 80ca110: eef0 7a66 vmovmi.f32 s15, s13 80ca114: bf48 it mi 80ca116: 4676 movmi r6, lr 80ca118: eef4 7ac7 vcmpe.f32 s15, s14 80ca11c: eef1 fa10 vmrs APSR_nzcv, fpscr 80ca120: bf48 it mi 80ca122: eef0 7a47 vmovmi.f32 s15, s14 80ca126: bf48 it mi 80ca128: 463e movmi r6, r7 80ca12a: eef4 7ae5 vcmpe.f32 s15, s11 80ca12e: eef1 fa10 vmrs APSR_nzcv, fpscr 80ca132: bf48 it mi 80ca134: 4626 movmi r6, r4 80ca136: bf48 it mi 80ca138: eef0 7a65 vmovmi.f32 s15, s11 80ca13c: f1b8 0801 subs.w r8, r8, #1 80ca140: f104 0404 add.w r4, r4, #4 80ca144: d1c8 bne.n 80ca0d8 80ca146: eb0c 1c09 add.w ip, ip, r9, lsl #4 80ca14a: f015 0003 ands.w r0, r5, #3 80ca14e: d018 beq.n 80ca182 80ca150: 1a08 subs r0, r1, r0 80ca152: ecbc 7a01 vldmia ip!, {s14} 80ca156: eeb4 7ae7 vcmpe.f32 s14, s15 80ca15a: eef1 fa10 vmrs APSR_nzcv, fpscr 80ca15e: bfc8 it gt 80ca160: 4606 movgt r6, r0 80ca162: f100 0001 add.w r0, r0, #1 80ca166: bfd8 it le 80ca168: eeb0 7a67 vmovle.f32 s14, s15 80ca16c: 4288 cmp r0, r1 80ca16e: eef0 7a47 vmov.f32 s15, s14 80ca172: d1ee bne.n 80ca152 80ca174: ed82 7a00 vstr s14, [r2] 80ca178: 601e str r6, [r3, #0] 80ca17a: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} 80ca17e: 464e mov r6, r9 80ca180: e7e3 b.n 80ca14a 80ca182: eeb0 7a67 vmov.f32 s14, s15 80ca186: e7f5 b.n 80ca174 080ca188 : 80ca188: b538 push {r3, r4, r5, lr} 80ca18a: 4604 mov r4, r0 80ca18c: 4608 mov r0, r1 80ca18e: 461d mov r5, r3 80ca190: 2100 movs r1, #0 80ca192: 60a2 str r2, [r4, #8] 80ca194: 0102 lsls r2, r0, #4 80ca196: 7020 strb r0, [r4, #0] 80ca198: 4618 mov r0, r3 80ca19a: f002 ff55 bl 80cd048 80ca19e: 6065 str r5, [r4, #4] 80ca1a0: bd38 pop {r3, r4, r5, pc} 80ca1a2: bf00 nop 080ca1a4 : 80ca1a4: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 80ca1a8: ed2d 8b10 vpush {d8-d15} 80ca1ac: b093 sub sp, #76 ; 0x4c 80ca1ae: 4691 mov r9, r2 80ca1b0: 7807 ldrb r7, [r0, #0] 80ca1b2: ea4f 1c13 mov.w ip, r3, lsr #4 80ca1b6: 6885 ldr r5, [r0, #8] 80ca1b8: 3528 adds r5, #40 ; 0x28 80ca1ba: 6846 ldr r6, [r0, #4] 80ca1bc: 3610 adds r6, #16 80ca1be: ea4f 1acc mov.w sl, ip, lsl #7 80ca1c2: 4690 mov r8, r2 80ca1c4: f8cd c044 str.w ip, [sp, #68] ; 0x44 80ca1c8: eb02 0b0a add.w fp, r2, sl 80ca1cc: f003 020f and.w r2, r3, #15 80ca1d0: ed15 ab0a vldr d10, [r5, #-40] ; 0xffffffd8 80ca1d4: ed15 cb08 vldr d12, [r5, #-32] ; 0xffffffe0 80ca1d8: ed15 db06 vldr d13, [r5, #-24] ; 0xffffffe8 80ca1dc: ed15 eb04 vldr d14, [r5, #-16] 80ca1e0: ed15 fb02 vldr d15, [r5, #-8] 80ca1e4: 4634 mov r4, r6 80ca1e6: ed16 6b04 vldr d6, [r6, #-16] 80ca1ea: ed16 7b02 vldr d7, [r6, #-8] 80ca1ee: f1bc 0f00 cmp.w ip, #0 80ca1f2: f000 8139 beq.w 80ca468 80ca1f6: f101 0080 add.w r0, r1, #128 ; 0x80 80ca1fa: f109 0380 add.w r3, r9, #128 ; 0x80 80ca1fe: f8dd e044 ldr.w lr, [sp, #68] ; 0x44 80ca202: eeb0 2b47 vmov.f64 d2, d7 80ca206: ed10 1b20 vldr d1, [r0, #-128] ; 0xffffff80 80ca20a: ed10 3b1e vldr d3, [r0, #-120] ; 0xffffff88 80ca20e: ed10 4b1c vldr d4, [r0, #-112] ; 0xffffff90 80ca212: ee0a 6b01 vmla.f64 d6, d10, d1 80ca216: eeb0 7b46 vmov.f64 d7, d6 80ca21a: ed10 5b1a vldr d5, [r0, #-104] ; 0xffffff98 80ca21e: ee0c 2b01 vmla.f64 d2, d12, d1 80ca222: ed10 6b18 vldr d6, [r0, #-96] ; 0xffffffa0 80ca226: ee0e 2b07 vmla.f64 d2, d14, d7 80ca22a: ee0a 2b03 vmla.f64 d2, d10, d3 80ca22e: ed8d 7b04 vstr d7, [sp, #16] 80ca232: ee2f 7b07 vmul.f64 d7, d15, d7 80ca236: ee0d 7b01 vmla.f64 d7, d13, d1 80ca23a: ee0c 7b03 vmla.f64 d7, d12, d3 80ca23e: ed10 1b08 vldr d1, [r0, #-32] ; 0xffffffe0 80ca242: ed8d 1b00 vstr d1, [sp] 80ca246: ee0e 7b02 vmla.f64 d7, d14, d2 80ca24a: eeb0 1b47 vmov.f64 d1, d7 80ca24e: ee0a 1b04 vmla.f64 d1, d10, d4 80ca252: ed10 0b06 vldr d0, [r0, #-24] ; 0xffffffe8 80ca256: ed8d 0b0a vstr d0, [sp, #40] ; 0x28 80ca25a: ed8d 2b06 vstr d2, [sp, #24] 80ca25e: ee2f 7b02 vmul.f64 d7, d15, d2 80ca262: ee0d 7b03 vmla.f64 d7, d13, d3 80ca266: ee0c 7b04 vmla.f64 d7, d12, d4 80ca26a: ed10 3b04 vldr d3, [r0, #-16] 80ca26e: ed8d 3b0c vstr d3, [sp, #48] ; 0x30 80ca272: ed10 8b02 vldr d8, [r0, #-8] 80ca276: ed8d 8b0e vstr d8, [sp, #56] ; 0x38 80ca27a: ee0e 7b01 vmla.f64 d7, d14, d1 80ca27e: ee0a 7b05 vmla.f64 d7, d10, d5 80ca282: ed8d 1b08 vstr d1, [sp, #32] 80ca286: ee2f bb01 vmul.f64 d11, d15, d1 80ca28a: ee0d bb04 vmla.f64 d11, d13, d4 80ca28e: ee0c bb05 vmla.f64 d11, d12, d5 80ca292: ee0e bb07 vmla.f64 d11, d14, d7 80ca296: ee0a bb06 vmla.f64 d11, d10, d6 80ca29a: ee2f 9b07 vmul.f64 d9, d15, d7 80ca29e: ee0d 9b05 vmla.f64 d9, d13, d5 80ca2a2: ee0c 9b06 vmla.f64 d9, d12, d6 80ca2a6: ee0e 9b0b vmla.f64 d9, d14, d11 80ca2aa: ed10 3b16 vldr d3, [r0, #-88] ; 0xffffffa8 80ca2ae: ee0a 9b03 vmla.f64 d9, d10, d3 80ca2b2: ee2f 8b0b vmul.f64 d8, d15, d11 80ca2b6: ee0d 8b06 vmla.f64 d8, d13, d6 80ca2ba: ee0c 8b03 vmla.f64 d8, d12, d3 80ca2be: ee0e 8b09 vmla.f64 d8, d14, d9 80ca2c2: ed10 6b14 vldr d6, [r0, #-80] ; 0xffffffb0 80ca2c6: ee0a 8b06 vmla.f64 d8, d10, d6 80ca2ca: ee2f 0b09 vmul.f64 d0, d15, d9 80ca2ce: ee0d 0b03 vmla.f64 d0, d13, d3 80ca2d2: ed10 6b14 vldr d6, [r0, #-80] ; 0xffffffb0 80ca2d6: ee0c 0b06 vmla.f64 d0, d12, d6 80ca2da: ee0e 0b08 vmla.f64 d0, d14, d8 80ca2de: ed10 6b12 vldr d6, [r0, #-72] ; 0xffffffb8 80ca2e2: ee0a 0b06 vmla.f64 d0, d10, d6 80ca2e6: ee2f 1b08 vmul.f64 d1, d15, d8 80ca2ea: ed10 6b14 vldr d6, [r0, #-80] ; 0xffffffb0 80ca2ee: ee0d 1b06 vmla.f64 d1, d13, d6 80ca2f2: ed10 6b12 vldr d6, [r0, #-72] ; 0xffffffb8 80ca2f6: ee0c 1b06 vmla.f64 d1, d12, d6 80ca2fa: ee0e 1b00 vmla.f64 d1, d14, d0 80ca2fe: ed10 6b10 vldr d6, [r0, #-64] ; 0xffffffc0 80ca302: ee0a 1b06 vmla.f64 d1, d10, d6 80ca306: ee2f 2b00 vmul.f64 d2, d15, d0 80ca30a: ed10 6b12 vldr d6, [r0, #-72] ; 0xffffffb8 80ca30e: ee0d 2b06 vmla.f64 d2, d13, d6 80ca312: ed10 6b10 vldr d6, [r0, #-64] ; 0xffffffc0 80ca316: ee0c 2b06 vmla.f64 d2, d12, d6 80ca31a: ee0e 2b01 vmla.f64 d2, d14, d1 80ca31e: ed10 6b0e vldr d6, [r0, #-56] ; 0xffffffc8 80ca322: ee0a 2b06 vmla.f64 d2, d10, d6 80ca326: ee2f 3b01 vmul.f64 d3, d15, d1 80ca32a: ed10 6b10 vldr d6, [r0, #-64] ; 0xffffffc0 80ca32e: ee0d 3b06 vmla.f64 d3, d13, d6 80ca332: ed10 6b0e vldr d6, [r0, #-56] ; 0xffffffc8 80ca336: ee0c 3b06 vmla.f64 d3, d12, d6 80ca33a: ee0e 3b02 vmla.f64 d3, d14, d2 80ca33e: ed10 6b0c vldr d6, [r0, #-48] ; 0xffffffd0 80ca342: ee0a 3b06 vmla.f64 d3, d10, d6 80ca346: ee2f 4b02 vmul.f64 d4, d15, d2 80ca34a: ed10 6b0e vldr d6, [r0, #-56] ; 0xffffffc8 80ca34e: ee0d 4b06 vmla.f64 d4, d13, d6 80ca352: ed10 6b0c vldr d6, [r0, #-48] ; 0xffffffd0 80ca356: ee0c 4b06 vmla.f64 d4, d12, d6 80ca35a: ee0e 4b03 vmla.f64 d4, d14, d3 80ca35e: ed10 6b0a vldr d6, [r0, #-40] ; 0xffffffd8 80ca362: ee0a 4b06 vmla.f64 d4, d10, d6 80ca366: ee2f 5b03 vmul.f64 d5, d15, d3 80ca36a: ed10 6b0c vldr d6, [r0, #-48] ; 0xffffffd0 80ca36e: ee0d 5b06 vmla.f64 d5, d13, d6 80ca372: ed10 6b0a vldr d6, [r0, #-40] ; 0xffffffd8 80ca376: ee0c 5b06 vmla.f64 d5, d12, d6 80ca37a: ed8d 4b02 vstr d4, [sp, #8] 80ca37e: ee0e 5b04 vmla.f64 d5, d14, d4 80ca382: ed9d 4b00 vldr d4, [sp] 80ca386: ee0a 5b04 vmla.f64 d5, d10, d4 80ca38a: ed8d 5b00 vstr d5, [sp] 80ca38e: ed9d 6b02 vldr d6, [sp, #8] 80ca392: ee2f 6b06 vmul.f64 d6, d15, d6 80ca396: ed10 5b0a vldr d5, [r0, #-40] ; 0xffffffd8 80ca39a: ee0d 6b05 vmla.f64 d6, d13, d5 80ca39e: ee0c 6b04 vmla.f64 d6, d12, d4 80ca3a2: ed9d 5b04 vldr d5, [sp, #16] 80ca3a6: ed03 5b20 vstr d5, [r3, #-128] ; 0xffffff80 80ca3aa: ed9d 5b06 vldr d5, [sp, #24] 80ca3ae: ed03 5b1e vstr d5, [r3, #-120] ; 0xffffff88 80ca3b2: ed9d 5b08 vldr d5, [sp, #32] 80ca3b6: ed03 5b1c vstr d5, [r3, #-112] ; 0xffffff90 80ca3ba: ed9d 5b00 vldr d5, [sp] 80ca3be: ee0e 6b05 vmla.f64 d6, d14, d5 80ca3c2: ed9d 5b0a vldr d5, [sp, #40] ; 0x28 80ca3c6: ee0a 6b05 vmla.f64 d6, d10, d5 80ca3ca: ed03 7b1a vstr d7, [r3, #-104] ; 0xffffff98 80ca3ce: ed9d 7b00 vldr d7, [sp] 80ca3d2: ee2f 7b07 vmul.f64 d7, d15, d7 80ca3d6: ee0d 7b04 vmla.f64 d7, d13, d4 80ca3da: ee0c 7b05 vmla.f64 d7, d12, d5 80ca3de: ed03 bb18 vstr d11, [r3, #-96] ; 0xffffffa0 80ca3e2: ed03 9b16 vstr d9, [r3, #-88] ; 0xffffffa8 80ca3e6: ed03 8b14 vstr d8, [r3, #-80] ; 0xffffffb0 80ca3ea: ed03 0b12 vstr d0, [r3, #-72] ; 0xffffffb8 80ca3ee: ed03 1b10 vstr d1, [r3, #-64] ; 0xffffffc0 80ca3f2: ee0e 7b06 vmla.f64 d7, d14, d6 80ca3f6: ed9d 4b0c vldr d4, [sp, #48] ; 0x30 80ca3fa: ee0a 7b04 vmla.f64 d7, d10, d4 80ca3fe: ed03 2b0e vstr d2, [r3, #-56] ; 0xffffffc8 80ca402: ee2f 2b06 vmul.f64 d2, d15, d6 80ca406: ee0d 2b05 vmla.f64 d2, d13, d5 80ca40a: ee0c 2b04 vmla.f64 d2, d12, d4 80ca40e: ed03 3b0c vstr d3, [r3, #-48] ; 0xffffffd0 80ca412: ed9d 3b02 vldr d3, [sp, #8] 80ca416: ed03 3b0a vstr d3, [r3, #-40] ; 0xffffffd8 80ca41a: ed9d 5b00 vldr d5, [sp] 80ca41e: ed03 5b08 vstr d5, [r3, #-32] ; 0xffffffe0 80ca422: ed03 6b06 vstr d6, [r3, #-24] ; 0xffffffe8 80ca426: ee0e 2b07 vmla.f64 d2, d14, d7 80ca42a: ed9d 8b0e vldr d8, [sp, #56] ; 0x38 80ca42e: ee0a 2b08 vmla.f64 d2, d10, d8 80ca432: ed03 7b04 vstr d7, [r3, #-16] 80ca436: ee2f 6b07 vmul.f64 d6, d15, d7 80ca43a: ee0d 6b04 vmla.f64 d6, d13, d4 80ca43e: ee0c 6b08 vmla.f64 d6, d12, d8 80ca442: ed03 2b02 vstr d2, [r3, #-8] 80ca446: ee0e 6b02 vmla.f64 d6, d14, d2 80ca44a: ee2f 2b02 vmul.f64 d2, d15, d2 80ca44e: ee0d 2b08 vmla.f64 d2, d13, d8 80ca452: 3080 adds r0, #128 ; 0x80 80ca454: 3380 adds r3, #128 ; 0x80 80ca456: f1be 0e01 subs.w lr, lr, #1 80ca45a: f47f aed4 bne.w 80ca206 80ca45e: eeb0 7b42 vmov.f64 d7, d2 80ca462: 4451 add r1, sl 80ca464: 4658 mov r0, fp 80ca466: e000 b.n 80ca46a 80ca468: 4640 mov r0, r8 80ca46a: 4613 mov r3, r2 80ca46c: b19a cbz r2, 80ca496 80ca46e: ecb1 5b02 vldmia r1!, {d5} 80ca472: ee0a 6b05 vmla.f64 d6, d10, d5 80ca476: eeb0 4b46 vmov.f64 d4, d6 80ca47a: ee0c 7b05 vmla.f64 d7, d12, d5 80ca47e: eca0 6b02 vstmia r0!, {d6} 80ca482: ee0e 7b06 vmla.f64 d7, d14, d6 80ca486: eeb0 6b47 vmov.f64 d6, d7 80ca48a: ee2f 7b04 vmul.f64 d7, d15, d4 80ca48e: ee0d 7b05 vmla.f64 d7, d13, d5 80ca492: 3b01 subs r3, #1 80ca494: d1eb bne.n 80ca46e 80ca496: ed04 6b04 vstr d6, [r4, #-16] 80ca49a: ed04 7b02 vstr d7, [r4, #-8] 80ca49e: 3528 adds r5, #40 ; 0x28 80ca4a0: 3610 adds r6, #16 80ca4a2: 4641 mov r1, r8 80ca4a4: 3f01 subs r7, #1 80ca4a6: f47f ae93 bne.w 80ca1d0 80ca4aa: b013 add sp, #76 ; 0x4c 80ca4ac: ecbd 8b10 vpop {d8-d15} 80ca4b0: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 080ca4b4 : 80ca4b4: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} 80ca4b8: ea5f 0892 movs.w r8, r2, lsr #2 80ca4bc: b084 sub sp, #16 80ca4be: d07f beq.n 80ca5c0 80ca4c0: f100 0420 add.w r4, r0, #32 80ca4c4: f101 0510 add.w r5, r1, #16 80ca4c8: 4646 mov r6, r8 80ca4ca: 2700 movs r7, #0 80ca4cc: e05a b.n 80ca584 80ca4ce: eeb1 0ae7 vsqrt.f32 s0, s15 80ca4d2: eeb4 0a40 vcmp.f32 s0, s0 80ca4d6: eef1 fa10 vmrs APSR_nzcv, fpscr 80ca4da: f040 80a4 bne.w 80ca626 80ca4de: ed05 0a04 vstr s0, [r5, #-16] 80ca4e2: ed54 7a06 vldr s15, [r4, #-24] ; 0xffffffe8 80ca4e6: ed14 0a05 vldr s0, [r4, #-20] ; 0xffffffec 80ca4ea: ee67 7aa7 vmul.f32 s15, s15, s15 80ca4ee: ee20 0a00 vmul.f32 s0, s0, s0 80ca4f2: ee77 7a80 vadd.f32 s15, s15, s0 80ca4f6: eef5 7ac0 vcmpe.f32 s15, #0.0 80ca4fa: eef1 fa10 vmrs APSR_nzcv, fpscr 80ca4fe: f2c0 808f blt.w 80ca620 80ca502: eeb1 0ae7 vsqrt.f32 s0, s15 80ca506: eeb4 0a40 vcmp.f32 s0, s0 80ca50a: eef1 fa10 vmrs APSR_nzcv, fpscr 80ca50e: f040 80af bne.w 80ca670 80ca512: ed05 0a03 vstr s0, [r5, #-12] 80ca516: ed54 7a04 vldr s15, [r4, #-16] 80ca51a: ed14 0a03 vldr s0, [r4, #-12] 80ca51e: ee67 7aa7 vmul.f32 s15, s15, s15 80ca522: ee20 0a00 vmul.f32 s0, s0, s0 80ca526: ee77 7a80 vadd.f32 s15, s15, s0 80ca52a: eef5 7ac0 vcmpe.f32 s15, #0.0 80ca52e: eef1 fa10 vmrs APSR_nzcv, fpscr 80ca532: db72 blt.n 80ca61a 80ca534: eeb1 0ae7 vsqrt.f32 s0, s15 80ca538: eeb4 0a40 vcmp.f32 s0, s0 80ca53c: eef1 fa10 vmrs APSR_nzcv, fpscr 80ca540: f040 808c bne.w 80ca65c 80ca544: ed05 0a02 vstr s0, [r5, #-8] 80ca548: ed54 7a02 vldr s15, [r4, #-8] 80ca54c: ed14 0a01 vldr s0, [r4, #-4] 80ca550: ee67 7aa7 vmul.f32 s15, s15, s15 80ca554: ee20 0a00 vmul.f32 s0, s0, s0 80ca558: ee77 7a80 vadd.f32 s15, s15, s0 80ca55c: eef5 7ac0 vcmpe.f32 s15, #0.0 80ca560: eef1 fa10 vmrs APSR_nzcv, fpscr 80ca564: db20 blt.n 80ca5a8 80ca566: eeb1 0ae7 vsqrt.f32 s0, s15 80ca56a: eeb4 0a40 vcmp.f32 s0, s0 80ca56e: eef1 fa10 vmrs APSR_nzcv, fpscr 80ca572: d169 bne.n 80ca648 80ca574: 3e01 subs r6, #1 80ca576: ed05 0a01 vstr s0, [r5, #-4] 80ca57a: f104 0420 add.w r4, r4, #32 80ca57e: f105 0510 add.w r5, r5, #16 80ca582: d019 beq.n 80ca5b8 80ca584: ed54 7a08 vldr s15, [r4, #-32] ; 0xffffffe0 80ca588: ed14 0a07 vldr s0, [r4, #-28] ; 0xffffffe4 80ca58c: ee67 7aa7 vmul.f32 s15, s15, s15 80ca590: ee20 0a00 vmul.f32 s0, s0, s0 80ca594: ee77 7a80 vadd.f32 s15, s15, s0 80ca598: eef5 7ac0 vcmpe.f32 s15, #0.0 80ca59c: eef1 fa10 vmrs APSR_nzcv, fpscr 80ca5a0: da95 bge.n 80ca4ce 80ca5a2: f845 7c10 str.w r7, [r5, #-16] 80ca5a6: e79c b.n 80ca4e2 80ca5a8: 3e01 subs r6, #1 80ca5aa: f845 7c04 str.w r7, [r5, #-4] 80ca5ae: f104 0420 add.w r4, r4, #32 80ca5b2: f105 0510 add.w r5, r5, #16 80ca5b6: d1e5 bne.n 80ca584 80ca5b8: eb00 1048 add.w r0, r0, r8, lsl #5 80ca5bc: eb01 1108 add.w r1, r1, r8, lsl #4 80ca5c0: f012 0503 ands.w r5, r2, #3 80ca5c4: d026 beq.n 80ca614 80ca5c6: f100 0408 add.w r4, r0, #8 80ca5ca: 2600 movs r6, #0 80ca5cc: e00c b.n 80ca5e8 80ca5ce: eeb1 0ae7 vsqrt.f32 s0, s15 80ca5d2: eeb4 0a40 vcmp.f32 s0, s0 80ca5d6: eef1 fa10 vmrs APSR_nzcv, fpscr 80ca5da: d12e bne.n 80ca63a 80ca5dc: 3d01 subs r5, #1 80ca5de: ed01 0a01 vstr s0, [r1, #-4] 80ca5e2: f104 0408 add.w r4, r4, #8 80ca5e6: d015 beq.n 80ca614 80ca5e8: ed54 7a02 vldr s15, [r4, #-8] 80ca5ec: 3104 adds r1, #4 80ca5ee: ed14 0a01 vldr s0, [r4, #-4] 80ca5f2: ee67 7aa7 vmul.f32 s15, s15, s15 80ca5f6: ee20 0a00 vmul.f32 s0, s0, s0 80ca5fa: ee77 7a80 vadd.f32 s15, s15, s0 80ca5fe: eef5 7ac0 vcmpe.f32 s15, #0.0 80ca602: eef1 fa10 vmrs APSR_nzcv, fpscr 80ca606: dae2 bge.n 80ca5ce 80ca608: 3d01 subs r5, #1 80ca60a: f841 6c04 str.w r6, [r1, #-4] 80ca60e: f104 0408 add.w r4, r4, #8 80ca612: d1e9 bne.n 80ca5e8 80ca614: b004 add sp, #16 80ca616: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} 80ca61a: f845 7c08 str.w r7, [r5, #-8] 80ca61e: e793 b.n 80ca548 80ca620: f845 7c0c str.w r7, [r5, #-12] 80ca624: e777 b.n 80ca516 80ca626: eeb0 0a67 vmov.f32 s0, s15 80ca62a: 9203 str r2, [sp, #12] 80ca62c: 9102 str r1, [sp, #8] 80ca62e: 9001 str r0, [sp, #4] 80ca630: f000 fe0a bl 80cb248 80ca634: a801 add r0, sp, #4 80ca636: c807 ldmia r0, {r0, r1, r2} 80ca638: e751 b.n 80ca4de 80ca63a: eeb0 0a67 vmov.f32 s0, s15 80ca63e: 9101 str r1, [sp, #4] 80ca640: f000 fe02 bl 80cb248 80ca644: 9901 ldr r1, [sp, #4] 80ca646: e7c9 b.n 80ca5dc 80ca648: eeb0 0a67 vmov.f32 s0, s15 80ca64c: 9203 str r2, [sp, #12] 80ca64e: 9102 str r1, [sp, #8] 80ca650: 9001 str r0, [sp, #4] 80ca652: f000 fdf9 bl 80cb248 80ca656: a801 add r0, sp, #4 80ca658: c807 ldmia r0, {r0, r1, r2} 80ca65a: e78b b.n 80ca574 80ca65c: eeb0 0a67 vmov.f32 s0, s15 80ca660: 9203 str r2, [sp, #12] 80ca662: 9102 str r1, [sp, #8] 80ca664: 9001 str r0, [sp, #4] 80ca666: f000 fdef bl 80cb248 80ca66a: a801 add r0, sp, #4 80ca66c: c807 ldmia r0, {r0, r1, r2} 80ca66e: e769 b.n 80ca544 80ca670: eeb0 0a67 vmov.f32 s0, s15 80ca674: 9203 str r2, [sp, #12] 80ca676: 9102 str r1, [sp, #8] 80ca678: 9001 str r0, [sp, #4] 80ca67a: f000 fde5 bl 80cb248 80ca67e: a801 add r0, sp, #4 80ca680: c807 ldmia r0, {r0, r1, r2} 80ca682: e746 b.n 80ca512 080ca684 : 80ca684: b5f0 push {r4, r5, r6, r7, lr} 80ca686: ea5f 0e93 movs.w lr, r3, lsr #2 80ca68a: d033 beq.n 80ca6f4 80ca68c: f100 0610 add.w r6, r0, #16 80ca690: f101 0510 add.w r5, r1, #16 80ca694: f102 0410 add.w r4, r2, #16 80ca698: 4677 mov r7, lr 80ca69a: ed16 7a03 vldr s14, [r6, #-12] 80ca69e: 3f01 subs r7, #1 80ca6a0: ed56 7a02 vldr s15, [r6, #-8] 80ca6a4: f105 0510 add.w r5, r5, #16 80ca6a8: ed15 6a07 vldr s12, [r5, #-28] ; 0xffffffe4 80ca6ac: f106 0610 add.w r6, r6, #16 80ca6b0: ed55 6a06 vldr s13, [r5, #-24] ; 0xffffffe8 80ca6b4: f104 0410 add.w r4, r4, #16 80ca6b8: ed15 5a05 vldr s10, [r5, #-20] ; 0xffffffec 80ca6bc: ee37 6a46 vsub.f32 s12, s14, s12 80ca6c0: ed55 5a08 vldr s11, [r5, #-32] ; 0xffffffe0 80ca6c4: ee77 6ae6 vsub.f32 s13, s15, s13 80ca6c8: ed16 7a05 vldr s14, [r6, #-20] ; 0xffffffec 80ca6cc: ed56 7a08 vldr s15, [r6, #-32] ; 0xffffffe0 80ca6d0: ee37 7a45 vsub.f32 s14, s14, s10 80ca6d4: ed04 6a07 vstr s12, [r4, #-28] ; 0xffffffe4 80ca6d8: ee77 7ae5 vsub.f32 s15, s15, s11 80ca6dc: ed44 6a06 vstr s13, [r4, #-24] ; 0xffffffe8 80ca6e0: ed04 7a05 vstr s14, [r4, #-20] ; 0xffffffec 80ca6e4: ed44 7a08 vstr s15, [r4, #-32] ; 0xffffffe0 80ca6e8: d1d7 bne.n 80ca69a 80ca6ea: ea4f 140e mov.w r4, lr, lsl #4 80ca6ee: 4420 add r0, r4 80ca6f0: 4421 add r1, r4 80ca6f2: 4422 add r2, r4 80ca6f4: f013 0303 ands.w r3, r3, #3 80ca6f8: d009 beq.n 80ca70e 80ca6fa: ecf0 7a01 vldmia r0!, {s15} 80ca6fe: 3b01 subs r3, #1 80ca700: ecb1 7a01 vldmia r1!, {s14} 80ca704: ee77 7ac7 vsub.f32 s15, s15, s14 80ca708: ece2 7a01 vstmia r2!, {s15} 80ca70c: d1f5 bne.n 80ca6fa 80ca70e: bdf0 pop {r4, r5, r6, r7, pc} 080ca710 : 80ca710: b470 push {r4, r5, r6} 80ca712: 0896 lsrs r6, r2, #2 80ca714: d025 beq.n 80ca762 80ca716: f100 0410 add.w r4, r0, #16 80ca71a: f101 0310 add.w r3, r1, #16 80ca71e: 4635 mov r5, r6 80ca720: ed14 6a04 vldr s12, [r4, #-16] 80ca724: 3d01 subs r5, #1 80ca726: ed54 6a03 vldr s13, [r4, #-12] 80ca72a: f103 0310 add.w r3, r3, #16 80ca72e: ed14 7a02 vldr s14, [r4, #-8] 80ca732: ee26 6a00 vmul.f32 s12, s12, s0 80ca736: ed54 7a01 vldr s15, [r4, #-4] 80ca73a: ee66 6a80 vmul.f32 s13, s13, s0 80ca73e: ee27 7a00 vmul.f32 s14, s14, s0 80ca742: f104 0410 add.w r4, r4, #16 80ca746: ee67 7a80 vmul.f32 s15, s15, s0 80ca74a: ed03 6a08 vstr s12, [r3, #-32] ; 0xffffffe0 80ca74e: ed43 6a07 vstr s13, [r3, #-28] ; 0xffffffe4 80ca752: ed03 7a06 vstr s14, [r3, #-24] ; 0xffffffe8 80ca756: ed43 7a05 vstr s15, [r3, #-20] ; 0xffffffec 80ca75a: d1e1 bne.n 80ca720 80ca75c: 0136 lsls r6, r6, #4 80ca75e: 4430 add r0, r6 80ca760: 4431 add r1, r6 80ca762: f012 0203 ands.w r2, r2, #3 80ca766: d007 beq.n 80ca778 80ca768: ecf0 7a01 vldmia r0!, {s15} 80ca76c: 3a01 subs r2, #1 80ca76e: ee67 7a80 vmul.f32 s15, s15, s0 80ca772: ece1 7a01 vstmia r1!, {s15} 80ca776: d1f7 bne.n 80ca768 80ca778: bc70 pop {r4, r5, r6} 80ca77a: 4770 bx lr 080ca77c : 80ca77c: b470 push {r4, r5, r6} 80ca77e: 0896 lsrs r6, r2, #2 80ca780: d025 beq.n 80ca7ce 80ca782: f100 0410 add.w r4, r0, #16 80ca786: f101 0310 add.w r3, r1, #16 80ca78a: 4635 mov r5, r6 80ca78c: ed14 6a04 vldr s12, [r4, #-16] 80ca790: 3d01 subs r5, #1 80ca792: ed54 6a03 vldr s13, [r4, #-12] 80ca796: f103 0310 add.w r3, r3, #16 80ca79a: ed14 7a02 vldr s14, [r4, #-8] 80ca79e: ee36 6a00 vadd.f32 s12, s12, s0 80ca7a2: ed54 7a01 vldr s15, [r4, #-4] 80ca7a6: ee76 6a80 vadd.f32 s13, s13, s0 80ca7aa: ee37 7a00 vadd.f32 s14, s14, s0 80ca7ae: f104 0410 add.w r4, r4, #16 80ca7b2: ee77 7a80 vadd.f32 s15, s15, s0 80ca7b6: ed03 6a08 vstr s12, [r3, #-32] ; 0xffffffe0 80ca7ba: ed43 6a07 vstr s13, [r3, #-28] ; 0xffffffe4 80ca7be: ed03 7a06 vstr s14, [r3, #-24] ; 0xffffffe8 80ca7c2: ed43 7a05 vstr s15, [r3, #-20] ; 0xffffffec 80ca7c6: d1e1 bne.n 80ca78c 80ca7c8: 0136 lsls r6, r6, #4 80ca7ca: 4430 add r0, r6 80ca7cc: 4431 add r1, r6 80ca7ce: f012 0203 ands.w r2, r2, #3 80ca7d2: d007 beq.n 80ca7e4 80ca7d4: ecf0 7a01 vldmia r0!, {s15} 80ca7d8: 3a01 subs r2, #1 80ca7da: ee77 7a80 vadd.f32 s15, s15, s0 80ca7de: ece1 7a01 vstmia r1!, {s15} 80ca7e2: d1f7 bne.n 80ca7d4 80ca7e4: bc70 pop {r4, r5, r6} 80ca7e6: 4770 bx lr 080ca7e8 : 80ca7e8: b5f0 push {r4, r5, r6, r7, lr} 80ca7ea: ea5f 0e93 movs.w lr, r3, lsr #2 80ca7ee: d033 beq.n 80ca858 80ca7f0: f100 0610 add.w r6, r0, #16 80ca7f4: f101 0510 add.w r5, r1, #16 80ca7f8: f102 0410 add.w r4, r2, #16 80ca7fc: 4677 mov r7, lr 80ca7fe: ed16 7a04 vldr s14, [r6, #-16] 80ca802: 3f01 subs r7, #1 80ca804: ed15 6a04 vldr s12, [r5, #-16] 80ca808: f106 0610 add.w r6, r6, #16 80ca80c: ed56 7a06 vldr s15, [r6, #-24] ; 0xffffffe8 80ca810: f105 0510 add.w r5, r5, #16 80ca814: ee27 6a06 vmul.f32 s12, s14, s12 80ca818: ed55 6a06 vldr s13, [r5, #-24] ; 0xffffffe8 80ca81c: ed16 7a07 vldr s14, [r6, #-28] ; 0xffffffe4 80ca820: f104 0410 add.w r4, r4, #16 80ca824: ed55 5a07 vldr s11, [r5, #-28] ; 0xffffffe4 80ca828: ee67 6aa6 vmul.f32 s13, s15, s13 80ca82c: ed56 7a05 vldr s15, [r6, #-20] ; 0xffffffec 80ca830: ed04 6a08 vstr s12, [r4, #-32] ; 0xffffffe0 80ca834: ee27 7a25 vmul.f32 s14, s14, s11 80ca838: ed15 6a05 vldr s12, [r5, #-20] ; 0xffffffec 80ca83c: ed44 6a06 vstr s13, [r4, #-24] ; 0xffffffe8 80ca840: ee67 7a86 vmul.f32 s15, s15, s12 80ca844: ed04 7a07 vstr s14, [r4, #-28] ; 0xffffffe4 80ca848: ed44 7a05 vstr s15, [r4, #-20] ; 0xffffffec 80ca84c: d1d7 bne.n 80ca7fe 80ca84e: ea4f 140e mov.w r4, lr, lsl #4 80ca852: 4420 add r0, r4 80ca854: 4421 add r1, r4 80ca856: 4422 add r2, r4 80ca858: f013 0303 ands.w r3, r3, #3 80ca85c: d009 beq.n 80ca872 80ca85e: ecf0 7a01 vldmia r0!, {s15} 80ca862: 3b01 subs r3, #1 80ca864: ecb1 7a01 vldmia r1!, {s14} 80ca868: ee67 7a87 vmul.f32 s15, s15, s14 80ca86c: ece2 7a01 vstmia r2!, {s15} 80ca870: d1f5 bne.n 80ca85e 80ca872: bdf0 pop {r4, r5, r6, r7, pc} 080ca874 : 80ca874: b5f0 push {r4, r5, r6, r7, lr} 80ca876: ea5f 0e93 movs.w lr, r3, lsr #2 80ca87a: d033 beq.n 80ca8e4 80ca87c: f100 0610 add.w r6, r0, #16 80ca880: f101 0510 add.w r5, r1, #16 80ca884: f102 0410 add.w r4, r2, #16 80ca888: 4677 mov r7, lr 80ca88a: ed16 7a03 vldr s14, [r6, #-12] 80ca88e: 3f01 subs r7, #1 80ca890: ed56 7a02 vldr s15, [r6, #-8] 80ca894: f105 0510 add.w r5, r5, #16 80ca898: ed15 6a07 vldr s12, [r5, #-28] ; 0xffffffe4 80ca89c: f106 0610 add.w r6, r6, #16 80ca8a0: ed55 6a06 vldr s13, [r5, #-24] ; 0xffffffe8 80ca8a4: f104 0410 add.w r4, r4, #16 80ca8a8: ed15 5a05 vldr s10, [r5, #-20] ; 0xffffffec 80ca8ac: ee37 6a06 vadd.f32 s12, s14, s12 80ca8b0: ed55 5a08 vldr s11, [r5, #-32] ; 0xffffffe0 80ca8b4: ee77 6aa6 vadd.f32 s13, s15, s13 80ca8b8: ed16 7a05 vldr s14, [r6, #-20] ; 0xffffffec 80ca8bc: ed56 7a08 vldr s15, [r6, #-32] ; 0xffffffe0 80ca8c0: ee37 7a05 vadd.f32 s14, s14, s10 80ca8c4: ed04 6a07 vstr s12, [r4, #-28] ; 0xffffffe4 80ca8c8: ee77 7aa5 vadd.f32 s15, s15, s11 80ca8cc: ed44 6a06 vstr s13, [r4, #-24] ; 0xffffffe8 80ca8d0: ed04 7a05 vstr s14, [r4, #-20] ; 0xffffffec 80ca8d4: ed44 7a08 vstr s15, [r4, #-32] ; 0xffffffe0 80ca8d8: d1d7 bne.n 80ca88a 80ca8da: ea4f 140e mov.w r4, lr, lsl #4 80ca8de: 4420 add r0, r4 80ca8e0: 4421 add r1, r4 80ca8e2: 4422 add r2, r4 80ca8e4: f013 0303 ands.w r3, r3, #3 80ca8e8: d009 beq.n 80ca8fe 80ca8ea: ecf0 7a01 vldmia r0!, {s15} 80ca8ee: 3b01 subs r3, #1 80ca8f0: ecb1 7a01 vldmia r1!, {s14} 80ca8f4: ee77 7a87 vadd.f32 s15, s15, s14 80ca8f8: ece2 7a01 vstmia r2!, {s15} 80ca8fc: d1f5 bne.n 80ca8ea 80ca8fe: bdf0 pop {r4, r5, r6, r7, pc} 080ca900 : 80ca900: f000 b806 b.w 80ca910 080ca904 : 80ca904: f000 b8fc b.w 80cab00 080ca908 : 80ca908: f000 b9ca b.w 80caca0 080ca90c : 80ca90c: f000 ba38 b.w 80cad80 080ca910 : 80ca910: b538 push {r3, r4, r5, lr} 80ca912: eeb0 7b40 vmov.f64 d7, d0 80ca916: ee17 5a90 vmov r5, s15 80ca91a: 4b71 ldr r3, [pc, #452] ; (80caae0 ) 80ca91c: f025 4400 bic.w r4, r5, #2147483648 ; 0x80000000 80ca920: 429c cmp r4, r3 80ca922: dd14 ble.n 80ca94e 80ca924: 4a6f ldr r2, [pc, #444] ; (80caae4 ) 80ca926: 4294 cmp r4, r2 80ca928: ee10 3a10 vmov r3, s0 80ca92c: dc01 bgt.n 80ca932 80ca92e: d105 bne.n 80ca93c 80ca930: b123 cbz r3, 80ca93c 80ca932: ee37 7b07 vadd.f64 d7, d7, d7 80ca936: eeb0 0b47 vmov.f64 d0, d7 80ca93a: bd38 pop {r3, r4, r5, pc} 80ca93c: ed9f 7b4c vldr d7, [pc, #304] ; 80caa70 80ca940: ed9f 6b4d vldr d6, [pc, #308] ; 80caa78 80ca944: 2d00 cmp r5, #0 80ca946: bfc8 it gt 80ca948: eeb0 7b46 vmovgt.f64 d7, d6 80ca94c: e7f3 b.n 80ca936 80ca94e: 4b66 ldr r3, [pc, #408] ; (80caae8 ) 80ca950: 429c cmp r4, r3 80ca952: dc11 bgt.n 80ca978 80ca954: f1a3 73de sub.w r3, r3, #29097984 ; 0x1bc0000 80ca958: 429c cmp r4, r3 80ca95a: dc0a bgt.n 80ca972 80ca95c: eeb7 5b00 vmov.f64 d5, #112 ; 0x3f800000 1.0 80ca960: ed9f 6b47 vldr d6, [pc, #284] ; 80caa80 80ca964: ee30 6b06 vadd.f64 d6, d0, d6 80ca968: eeb4 6bc5 vcmpe.f64 d6, d5 80ca96c: eef1 fa10 vmrs APSR_nzcv, fpscr 80ca970: dce1 bgt.n 80ca936 80ca972: f04f 33ff mov.w r3, #4294967295 80ca976: e013 b.n 80ca9a0 80ca978: f000 f8fe bl 80cab78 80ca97c: 4b5b ldr r3, [pc, #364] ; (80caaec ) 80ca97e: 429c cmp r4, r3 80ca980: dc4d bgt.n 80caa1e 80ca982: f5a3 2350 sub.w r3, r3, #851968 ; 0xd0000 80ca986: 429c cmp r4, r3 80ca988: dc3f bgt.n 80caa0a 80ca98a: eeb0 7b00 vmov.f64 d7, #0 ; 0x40000000 2.0 80ca98e: eebf 6b00 vmov.f64 d6, #240 ; 0xbf800000 -1.0 80ca992: 2300 movs r3, #0 80ca994: eea0 6b07 vfma.f64 d6, d0, d7 80ca998: ee30 0b07 vadd.f64 d0, d0, d7 80ca99c: ee86 7b00 vdiv.f64 d7, d6, d0 80ca9a0: ed9f 5b39 vldr d5, [pc, #228] ; 80caa88 80ca9a4: ee27 4b07 vmul.f64 d4, d7, d7 80ca9a8: ee24 6b04 vmul.f64 d6, d4, d4 80ca9ac: ed9f 3b38 vldr d3, [pc, #224] ; 80caa90 80ca9b0: eea6 3b05 vfma.f64 d3, d6, d5 80ca9b4: ed9f 5b38 vldr d5, [pc, #224] ; 80caa98 80ca9b8: eea6 5b03 vfma.f64 d5, d6, d3 80ca9bc: ed9f 3b38 vldr d3, [pc, #224] ; 80caaa0 80ca9c0: eea6 3b05 vfma.f64 d3, d6, d5 80ca9c4: ed9f 5b38 vldr d5, [pc, #224] ; 80caaa8 80ca9c8: eea6 5b03 vfma.f64 d5, d6, d3 80ca9cc: ed9f 3b38 vldr d3, [pc, #224] ; 80caab0 80ca9d0: ed9f 2b39 vldr d2, [pc, #228] ; 80caab8 80ca9d4: eea6 3b05 vfma.f64 d3, d6, d5 80ca9d8: ed9f 5b39 vldr d5, [pc, #228] ; 80caac0 80ca9dc: eea6 2b05 vfma.f64 d2, d6, d5 80ca9e0: ed9f 5b39 vldr d5, [pc, #228] ; 80caac8 80ca9e4: eea6 5b02 vfma.f64 d5, d6, d2 80ca9e8: ed9f 2b39 vldr d2, [pc, #228] ; 80caad0 80ca9ec: eea6 2b05 vfma.f64 d2, d6, d5 80ca9f0: ed9f 5b39 vldr d5, [pc, #228] ; 80caad8 80ca9f4: 1c5a adds r2, r3, #1 80ca9f6: eea6 5b02 vfma.f64 d5, d6, d2 80ca9fa: ee25 6b06 vmul.f64 d6, d5, d6 80ca9fe: ee03 6b04 vmla.f64 d6, d3, d4 80caa02: d121 bne.n 80caa48 80caa04: eea7 7b46 vfms.f64 d7, d7, d6 80caa08: e795 b.n 80ca936 80caa0a: eeb7 7b00 vmov.f64 d7, #112 ; 0x3f800000 1.0 80caa0e: 2301 movs r3, #1 80caa10: ee30 6b47 vsub.f64 d6, d0, d7 80caa14: ee30 0b07 vadd.f64 d0, d0, d7 80caa18: ee86 7b00 vdiv.f64 d7, d6, d0 80caa1c: e7c0 b.n 80ca9a0 80caa1e: 4b34 ldr r3, [pc, #208] ; (80caaf0 ) 80caa20: 429c cmp r4, r3 80caa22: dc0b bgt.n 80caa3c 80caa24: eeb7 7b08 vmov.f64 d7, #120 ; 0x3fc00000 1.5 80caa28: eeb7 6b00 vmov.f64 d6, #112 ; 0x3f800000 1.0 80caa2c: ee30 5b47 vsub.f64 d5, d0, d7 80caa30: eea0 6b07 vfma.f64 d6, d0, d7 80caa34: 2302 movs r3, #2 80caa36: ee85 7b06 vdiv.f64 d7, d5, d6 80caa3a: e7b1 b.n 80ca9a0 80caa3c: eebf 6b00 vmov.f64 d6, #240 ; 0xbf800000 -1.0 80caa40: 2303 movs r3, #3 80caa42: ee86 7b00 vdiv.f64 d7, d6, d0 80caa46: e7ab b.n 80ca9a0 80caa48: 4a2a ldr r2, [pc, #168] ; (80caaf4 ) 80caa4a: 492b ldr r1, [pc, #172] ; (80caaf8 ) 80caa4c: 00db lsls r3, r3, #3 80caa4e: 441a add r2, r3 80caa50: 440b add r3, r1 80caa52: ed93 5b00 vldr d5, [r3] 80caa56: ee97 5b06 vfnms.f64 d5, d7, d6 80caa5a: ed92 6b00 vldr d6, [r2] 80caa5e: ee35 7b47 vsub.f64 d7, d5, d7 80caa62: 2d00 cmp r5, #0 80caa64: ee36 7b47 vsub.f64 d7, d6, d7 80caa68: bfb8 it lt 80caa6a: eeb1 7b47 vneglt.f64 d7, d7 80caa6e: e762 b.n 80ca936 80caa70: 54442d18 .word 0x54442d18 80caa74: bff921fb .word 0xbff921fb 80caa78: 54442d18 .word 0x54442d18 80caa7c: 3ff921fb .word 0x3ff921fb 80caa80: 8800759c .word 0x8800759c 80caa84: 7e37e43c .word 0x7e37e43c 80caa88: e322da11 .word 0xe322da11 80caa8c: 3f90ad3a .word 0x3f90ad3a 80caa90: 24760deb .word 0x24760deb 80caa94: 3fa97b4b .word 0x3fa97b4b 80caa98: a0d03d51 .word 0xa0d03d51 80caa9c: 3fb10d66 .word 0x3fb10d66 80caaa0: c54c206e .word 0xc54c206e 80caaa4: 3fb745cd .word 0x3fb745cd 80caaa8: 920083ff .word 0x920083ff 80caaac: 3fc24924 .word 0x3fc24924 80caab0: 5555550d .word 0x5555550d 80caab4: 3fd55555 .word 0x3fd55555 80caab8: 52defd9a .word 0x52defd9a 80caabc: bfadde2d .word 0xbfadde2d 80caac0: 2c6a6c2f .word 0x2c6a6c2f 80caac4: bfa2b444 .word 0xbfa2b444 80caac8: af749a6d .word 0xaf749a6d 80caacc: bfb3b0f2 .word 0xbfb3b0f2 80caad0: fe231671 .word 0xfe231671 80caad4: bfbc71c6 .word 0xbfbc71c6 80caad8: 9998ebc4 .word 0x9998ebc4 80caadc: bfc99999 .word 0xbfc99999 80caae0: 440fffff .word 0x440fffff 80caae4: 7ff00000 .word 0x7ff00000 80caae8: 3fdbffff .word 0x3fdbffff 80caaec: 3ff2ffff .word 0x3ff2ffff 80caaf0: 40037fff .word 0x40037fff 80caaf4: 081865d8 .word 0x081865d8 80caaf8: 081865f8 .word 0x081865f8 80caafc: 00000000 .word 0x00000000 080cab00 : 80cab00: b51f push {r0, r1, r2, r3, r4, lr} 80cab02: eeb0 7b40 vmov.f64 d7, d0 80cab06: ee17 3a90 vmov r3, s15 80cab0a: 4a19 ldr r2, [pc, #100] ; (80cab70 ) 80cab0c: f023 4300 bic.w r3, r3, #2147483648 ; 0x80000000 80cab10: 4293 cmp r3, r2 80cab12: dc04 bgt.n 80cab1e 80cab14: ed9f 1b14 vldr d1, [pc, #80] ; 80cab68 80cab18: f001 fbfe bl 80cc318 <__kernel_cos> 80cab1c: e004 b.n 80cab28 80cab1e: 4a15 ldr r2, [pc, #84] ; (80cab74 ) 80cab20: 4293 cmp r3, r2 80cab22: dd04 ble.n 80cab2e 80cab24: ee30 0b40 vsub.f64 d0, d0, d0 80cab28: b005 add sp, #20 80cab2a: f85d fb04 ldr.w pc, [sp], #4 80cab2e: 4668 mov r0, sp 80cab30: f001 f882 bl 80cbc38 <__ieee754_rem_pio2> 80cab34: f000 0003 and.w r0, r0, #3 80cab38: 2801 cmp r0, #1 80cab3a: ed9d 1b02 vldr d1, [sp, #8] 80cab3e: ed9d 0b00 vldr d0, [sp] 80cab42: d007 beq.n 80cab54 80cab44: 2802 cmp r0, #2 80cab46: d00a beq.n 80cab5e 80cab48: 2800 cmp r0, #0 80cab4a: d0e5 beq.n 80cab18 80cab4c: 2001 movs r0, #1 80cab4e: f001 fec3 bl 80cc8d8 <__kernel_sin> 80cab52: e7e9 b.n 80cab28 80cab54: f001 fec0 bl 80cc8d8 <__kernel_sin> 80cab58: eeb1 0b40 vneg.f64 d0, d0 80cab5c: e7e4 b.n 80cab28 80cab5e: f001 fbdb bl 80cc318 <__kernel_cos> 80cab62: e7f9 b.n 80cab58 80cab64: f3af 8000 nop.w ... 80cab70: 3fe921fb .word 0x3fe921fb 80cab74: 7fefffff .word 0x7fefffff 080cab78 : 80cab78: ec53 2b10 vmov r2, r3, d0 80cab7c: f023 4300 bic.w r3, r3, #2147483648 ; 0x80000000 80cab80: ec43 2b10 vmov d0, r2, r3 80cab84: 4770 bx lr ... 080cab88 : 80cab88: b51f push {r0, r1, r2, r3, r4, lr} 80cab8a: eeb0 7b40 vmov.f64 d7, d0 80cab8e: ee17 3a90 vmov r3, s15 80cab92: 4a13 ldr r2, [pc, #76] ; (80cabe0 ) 80cab94: f023 4300 bic.w r3, r3, #2147483648 ; 0x80000000 80cab98: 4293 cmp r3, r2 80cab9a: dc05 bgt.n 80caba8 80cab9c: ed9f 1b0e vldr d1, [pc, #56] ; 80cabd8 80caba0: 2001 movs r0, #1 80caba2: f001 fef1 bl 80cc988 <__kernel_tan> 80caba6: e004 b.n 80cabb2 80caba8: 4a0e ldr r2, [pc, #56] ; (80cabe4 ) 80cabaa: 4293 cmp r3, r2 80cabac: dd04 ble.n 80cabb8 80cabae: ee30 0b40 vsub.f64 d0, d0, d0 80cabb2: b005 add sp, #20 80cabb4: f85d fb04 ldr.w pc, [sp], #4 80cabb8: 4668 mov r0, sp 80cabba: f001 f83d bl 80cbc38 <__ieee754_rem_pio2> 80cabbe: 0040 lsls r0, r0, #1 80cabc0: f000 0002 and.w r0, r0, #2 80cabc4: f1c0 0001 rsb r0, r0, #1 80cabc8: ed9d 1b02 vldr d1, [sp, #8] 80cabcc: ed9d 0b00 vldr d0, [sp] 80cabd0: e7e7 b.n 80caba2 80cabd2: bf00 nop 80cabd4: f3af 8000 nop.w ... 80cabe0: 3fe921fb .word 0x3fe921fb 80cabe4: 7fefffff .word 0x7fefffff 080cabe8 : 80cabe8: b508 push {r3, lr} 80cabea: f000 fa49 bl 80cb080 80cabee: eddf 7a02 vldr s15, [pc, #8] ; 80cabf8 80cabf2: ee80 0a27 vdiv.f32 s0, s0, s15 80cabf6: bd08 pop {r3, pc} 80cabf8: 3f317218 .word 0x3f317218 080cabfc : 80cabfc: ee10 2a10 vmov r2, s0 80cac00: f3c2 51c7 ubfx r1, r2, #23, #8 80cac04: 397f subs r1, #127 ; 0x7f 80cac06: 2916 cmp r1, #22 80cac08: b510 push {r4, lr} 80cac0a: ee10 3a10 vmov r3, s0 80cac0e: dc0c bgt.n 80cac2a 80cac10: 2900 cmp r1, #0 80cac12: da05 bge.n 80cac20 80cac14: f002 4300 and.w r3, r2, #2147483648 ; 0x80000000 80cac18: 6003 str r3, [r0, #0] 80cac1a: ee00 2a10 vmov s0, r2 80cac1e: bd10 pop {r4, pc} 80cac20: 4c09 ldr r4, [pc, #36] ; (80cac48 ) 80cac22: fa44 f101 asr.w r1, r4, r1 80cac26: 420a tst r2, r1 80cac28: d103 bne.n 80cac32 80cac2a: 6002 str r2, [r0, #0] 80cac2c: f003 4200 and.w r2, r3, #2147483648 ; 0x80000000 80cac30: e7f3 b.n 80cac1a 80cac32: ea22 0301 bic.w r3, r2, r1 80cac36: ee07 3a10 vmov s14, r3 80cac3a: ee70 7a47 vsub.f32 s15, s0, s14 80cac3e: 6003 str r3, [r0, #0] 80cac40: ee17 2a90 vmov r2, s15 80cac44: e7e9 b.n 80cac1a 80cac46: bf00 nop 80cac48: 007fffff .word 0x007fffff 080cac4c : 80cac4c: ee10 0a10 vmov r0, s0 80cac50: f3c0 53c7 ubfx r3, r0, #23, #8 80cac54: f1a3 027f sub.w r2, r3, #127 ; 0x7f 80cac58: 2a16 cmp r2, #22 80cac5a: dc15 bgt.n 80cac88 80cac5c: 2a00 cmp r2, #0 80cac5e: da08 bge.n 80cac72 80cac60: 3201 adds r2, #1 80cac62: f000 4300 and.w r3, r0, #2147483648 ; 0x80000000 80cac66: d101 bne.n 80cac6c 80cac68: f043 537e orr.w r3, r3, #1065353216 ; 0x3f800000 80cac6c: ee00 3a10 vmov s0, r3 80cac70: 4770 bx lr 80cac72: 4908 ldr r1, [pc, #32] ; (80cac94 ) 80cac74: 4111 asrs r1, r2 80cac76: 4208 tst r0, r1 80cac78: d0fa beq.n 80cac70 80cac7a: f44f 0380 mov.w r3, #4194304 ; 0x400000 80cac7e: 4113 asrs r3, r2 80cac80: 4403 add r3, r0 80cac82: ea23 0301 bic.w r3, r3, r1 80cac86: e7f1 b.n 80cac6c 80cac88: 2a80 cmp r2, #128 ; 0x80 80cac8a: d1f1 bne.n 80cac70 80cac8c: ee30 0a00 vadd.f32 s0, s0, s0 80cac90: 4770 bx lr 80cac92: bf00 nop 80cac94: 007fffff .word 0x007fffff 080cac98 : 80cac98: f002 b91a b.w 80cced0 080cac9c : 80cac9c: f000 b9a4 b.w 80cafe8 080caca0 : 80caca0: b500 push {lr} 80caca2: ed2d 8b02 vpush {d8} 80caca6: eeb0 8b40 vmov.f64 d8, d0 80cacaa: b08b sub sp, #44 ; 0x2c 80cacac: f000 fb1c bl 80cb2e8 <__ieee754_log> 80cacb0: 4b2d ldr r3, [pc, #180] ; (80cad68 ) 80cacb2: f993 3000 ldrsb.w r3, [r3] 80cacb6: 1c5a adds r2, r3, #1 80cacb8: d051 beq.n 80cad5e 80cacba: eeb4 8b48 vcmp.f64 d8, d8 80cacbe: eef1 fa10 vmrs APSR_nzcv, fpscr 80cacc2: d64c bvs.n 80cad5e 80cacc4: eeb5 8bc0 vcmpe.f64 d8, #0.0 80cacc8: eef1 fa10 vmrs APSR_nzcv, fpscr 80caccc: dc47 bgt.n 80cad5e 80cacce: 4a27 ldr r2, [pc, #156] ; (80cad6c ) 80cacd0: 9201 str r2, [sp, #4] 80cacd2: 2200 movs r2, #0 80cacd4: 9208 str r2, [sp, #32] 80cacd6: ed8d 8b02 vstr d8, [sp, #8] 80cacda: ed8d 8b04 vstr d8, [sp, #16] 80cacde: b993 cbnz r3, 80cad06 80cace0: eeb5 8b40 vcmp.f64 d8, #0.0 80cace4: 4922 ldr r1, [pc, #136] ; (80cad70 ) 80cace6: f04f 4060 mov.w r0, #3758096384 ; 0xe0000000 80cacea: eef1 fa10 vmrs APSR_nzcv, fpscr 80cacee: e9cd 0106 strd r0, r1, [sp, #24] 80cacf2: d025 beq.n 80cad40 80cacf4: 2201 movs r2, #1 80cacf6: 2b02 cmp r3, #2 80cacf8: 9200 str r2, [sp, #0] 80cacfa: d116 bne.n 80cad2a 80cacfc: f002 f936 bl 80ccf6c <__errno> 80cad00: 2321 movs r3, #33 ; 0x21 80cad02: 6003 str r3, [r0, #0] 80cad04: e016 b.n 80cad34 80cad06: 491b ldr r1, [pc, #108] ; (80cad74 ) 80cad08: eeb5 8b40 vcmp.f64 d8, #0.0 80cad0c: 2000 movs r0, #0 80cad0e: eef1 fa10 vmrs APSR_nzcv, fpscr 80cad12: e9cd 0106 strd r0, r1, [sp, #24] 80cad16: d1ed bne.n 80cacf4 80cad18: 2202 movs r2, #2 80cad1a: 4293 cmp r3, r2 80cad1c: 9200 str r2, [sp, #0] 80cad1e: d111 bne.n 80cad44 80cad20: f002 f924 bl 80ccf6c <__errno> 80cad24: 2322 movs r3, #34 ; 0x22 80cad26: 6003 str r3, [r0, #0] 80cad28: e011 b.n 80cad4e 80cad2a: 4668 mov r0, sp 80cad2c: f001 ffb8 bl 80ccca0 80cad30: 2800 cmp r0, #0 80cad32: d0e3 beq.n 80cacfc 80cad34: 4810 ldr r0, [pc, #64] ; (80cad78 ) 80cad36: f001 ffb7 bl 80ccca8 80cad3a: ed8d 0b06 vstr d0, [sp, #24] 80cad3e: e006 b.n 80cad4e 80cad40: 2302 movs r3, #2 80cad42: 9300 str r3, [sp, #0] 80cad44: 4668 mov r0, sp 80cad46: f001 ffab bl 80ccca0 80cad4a: 2800 cmp r0, #0 80cad4c: d0e8 beq.n 80cad20 80cad4e: 9b08 ldr r3, [sp, #32] 80cad50: b11b cbz r3, 80cad5a 80cad52: f002 f90b bl 80ccf6c <__errno> 80cad56: 9b08 ldr r3, [sp, #32] 80cad58: 6003 str r3, [r0, #0] 80cad5a: ed9d 0b06 vldr d0, [sp, #24] 80cad5e: b00b add sp, #44 ; 0x2c 80cad60: ecbd 8b02 vpop {d8} 80cad64: f85d fb04 ldr.w pc, [sp], #4 80cad68: 20020b44 .word 0x20020b44 80cad6c: 08186618 .word 0x08186618 80cad70: c7efffff .word 0xc7efffff 80cad74: fff00000 .word 0xfff00000 80cad78: 081868eb .word 0x081868eb 80cad7c: 00000000 .word 0x00000000 080cad80 : 80cad80: b570 push {r4, r5, r6, lr} 80cad82: ed2d 8b0a vpush {d8-d12} 80cad86: eeb0 9b40 vmov.f64 d9, d0 80cad8a: eeb0 8b41 vmov.f64 d8, d1 80cad8e: 4c8e ldr r4, [pc, #568] ; (80cafc8 ) 80cad90: b08a sub sp, #40 ; 0x28 80cad92: f000 fbc9 bl 80cb528 <__ieee754_pow> 80cad96: f994 3000 ldrsb.w r3, [r4] 80cad9a: eeb0 ab40 vmov.f64 d10, d0 80cad9e: 1c5a adds r2, r3, #1 80cada0: 4626 mov r6, r4 80cada2: d04b beq.n 80cae3c 80cada4: eeb4 8b48 vcmp.f64 d8, d8 80cada8: eef1 fa10 vmrs APSR_nzcv, fpscr 80cadac: d646 bvs.n 80cae3c 80cadae: eeb4 9b49 vcmp.f64 d9, d9 80cadb2: eef1 fa10 vmrs APSR_nzcv, fpscr 80cadb6: d719 bvc.n 80cadec 80cadb8: eeb5 8b40 vcmp.f64 d8, #0.0 80cadbc: eef1 fa10 vmrs APSR_nzcv, fpscr 80cadc0: d13c bne.n 80cae3c 80cadc2: 2201 movs r2, #1 80cadc4: 9200 str r2, [sp, #0] 80cadc6: 4981 ldr r1, [pc, #516] ; (80cafcc ) 80cadc8: 4a81 ldr r2, [pc, #516] ; (80cafd0 ) 80cadca: 9201 str r2, [sp, #4] 80cadcc: 2000 movs r0, #0 80cadce: 2200 movs r2, #0 80cadd0: 2b02 cmp r3, #2 80cadd2: 9208 str r2, [sp, #32] 80cadd4: ed8d 9b02 vstr d9, [sp, #8] 80cadd8: ed8d 8b04 vstr d8, [sp, #16] 80caddc: e9cd 0106 strd r0, r1, [sp, #24] 80cade0: d02a beq.n 80cae38 80cade2: 4668 mov r0, sp 80cade4: f001 ff5c bl 80ccca0 80cade8: bb00 cbnz r0, 80cae2c 80cadea: e04e b.n 80cae8a 80cadec: ed9f bb74 vldr d11, [pc, #464] ; 80cafc0 80cadf0: eeb4 9b4b vcmp.f64 d9, d11 80cadf4: eef1 fa10 vmrs APSR_nzcv, fpscr 80cadf8: eeb0 cb4b vmov.f64 d12, d11 80cadfc: d14a bne.n 80cae94 80cadfe: eeb4 8b4b vcmp.f64 d8, d11 80cae02: eef1 fa10 vmrs APSR_nzcv, fpscr 80cae06: d11f bne.n 80cae48 80cae08: 2201 movs r2, #1 80cae0a: 9200 str r2, [sp, #0] 80cae0c: 4a70 ldr r2, [pc, #448] ; (80cafd0 ) 80cae0e: 9201 str r2, [sp, #4] 80cae10: 2200 movs r2, #0 80cae12: 9208 str r2, [sp, #32] 80cae14: ed8d 9b02 vstr d9, [sp, #8] 80cae18: ed8d 8b04 vstr d8, [sp, #16] 80cae1c: ed8d bb06 vstr d11, [sp, #24] 80cae20: 2b00 cmp r3, #0 80cae22: d0de beq.n 80cade2 80cae24: 4b69 ldr r3, [pc, #420] ; (80cafcc ) 80cae26: 2200 movs r2, #0 80cae28: e9cd 2306 strd r2, r3, [sp, #24] 80cae2c: 9b08 ldr r3, [sp, #32] 80cae2e: b11b cbz r3, 80cae38 80cae30: f002 f89c bl 80ccf6c <__errno> 80cae34: 9b08 ldr r3, [sp, #32] 80cae36: 6003 str r3, [r0, #0] 80cae38: ed9d ab06 vldr d10, [sp, #24] 80cae3c: eeb0 0b4a vmov.f64 d0, d10 80cae40: b00a add sp, #40 ; 0x28 80cae42: ecbd 8b0a vpop {d8-d12} 80cae46: bd70 pop {r4, r5, r6, pc} 80cae48: eeb0 0b48 vmov.f64 d0, d8 80cae4c: f001 fea8 bl 80ccba0 80cae50: 2800 cmp r0, #0 80cae52: d0f3 beq.n 80cae3c 80cae54: eeb5 8bc0 vcmpe.f64 d8, #0.0 80cae58: eef1 fa10 vmrs APSR_nzcv, fpscr 80cae5c: d5ee bpl.n 80cae3c 80cae5e: 2301 movs r3, #1 80cae60: 9300 str r3, [sp, #0] 80cae62: 4b5b ldr r3, [pc, #364] ; (80cafd0 ) 80cae64: 9301 str r3, [sp, #4] 80cae66: 2300 movs r3, #0 80cae68: 9308 str r3, [sp, #32] 80cae6a: f994 3000 ldrsb.w r3, [r4] 80cae6e: ed8d 9b02 vstr d9, [sp, #8] 80cae72: ed8d 8b04 vstr d8, [sp, #16] 80cae76: b913 cbnz r3, 80cae7e 80cae78: ed8d bb06 vstr d11, [sp, #24] 80cae7c: e7b1 b.n 80cade2 80cae7e: 4955 ldr r1, [pc, #340] ; (80cafd4 ) 80cae80: 2000 movs r0, #0 80cae82: e9cd 0106 strd r0, r1, [sp, #24] 80cae86: 2b02 cmp r3, #2 80cae88: d1ab bne.n 80cade2 80cae8a: f002 f86f bl 80ccf6c <__errno> 80cae8e: 2321 movs r3, #33 ; 0x21 80cae90: 6003 str r3, [r0, #0] 80cae92: e7cb b.n 80cae2c 80cae94: f001 fe84 bl 80ccba0 80cae98: 4605 mov r5, r0 80cae9a: 2800 cmp r0, #0 80cae9c: d168 bne.n 80caf70 80cae9e: eeb0 0b49 vmov.f64 d0, d9 80caea2: f001 fe7d bl 80ccba0 80caea6: 2800 cmp r0, #0 80caea8: d062 beq.n 80caf70 80caeaa: eeb0 0b48 vmov.f64 d0, d8 80caeae: f001 fe77 bl 80ccba0 80caeb2: 2800 cmp r0, #0 80caeb4: d05c beq.n 80caf70 80caeb6: eeb4 ab4a vcmp.f64 d10, d10 80caeba: eef1 fa10 vmrs APSR_nzcv, fpscr 80caebe: f994 3000 ldrsb.w r3, [r4] 80caec2: 4a43 ldr r2, [pc, #268] ; (80cafd0 ) 80caec4: d70e bvc.n 80caee4 80caec6: 2101 movs r1, #1 80caec8: e88d 0006 stmia.w sp, {r1, r2} 80caecc: 9508 str r5, [sp, #32] 80caece: ed8d 9b02 vstr d9, [sp, #8] 80caed2: ed8d 8b04 vstr d8, [sp, #16] 80caed6: 2b00 cmp r3, #0 80caed8: d0ce beq.n 80cae78 80caeda: ee8b 7b0b vdiv.f64 d7, d11, d11 80caede: ed8d 7b06 vstr d7, [sp, #24] 80caee2: e7d0 b.n 80cae86 80caee4: 2103 movs r1, #3 80caee6: e88d 0006 stmia.w sp, {r1, r2} 80caeea: 9508 str r5, [sp, #32] 80caeec: ed8d 9b02 vstr d9, [sp, #8] 80caef0: ed8d 8b04 vstr d8, [sp, #16] 80caef4: bb1b cbnz r3, 80caf3e 80caef6: eeb5 9bc0 vcmpe.f64 d9, #0.0 80caefa: 4b37 ldr r3, [pc, #220] ; (80cafd8 ) 80caefc: f04f 4260 mov.w r2, #3758096384 ; 0xe0000000 80caf00: eef1 fa10 vmrs APSR_nzcv, fpscr 80caf04: e9cd 2306 strd r2, r3, [sp, #24] 80caf08: d553 bpl.n 80cafb2 80caf0a: eeb6 7b00 vmov.f64 d7, #96 ; 0x3f000000 0.5 80caf0e: ee28 8b07 vmul.f64 d8, d8, d7 80caf12: eeb0 0b48 vmov.f64 d0, d8 80caf16: f001 fecf bl 80cccb8 80caf1a: eeb4 8b40 vcmp.f64 d8, d0 80caf1e: eef1 fa10 vmrs APSR_nzcv, fpscr 80caf22: d004 beq.n 80caf2e 80caf24: 4b2d ldr r3, [pc, #180] ; (80cafdc ) 80caf26: f04f 4260 mov.w r2, #3758096384 ; 0xe0000000 80caf2a: e9cd 2306 strd r2, r3, [sp, #24] 80caf2e: f996 3000 ldrsb.w r3, [r6] 80caf32: 2b02 cmp r3, #2 80caf34: d13d bne.n 80cafb2 80caf36: f002 f819 bl 80ccf6c <__errno> 80caf3a: 2322 movs r3, #34 ; 0x22 80caf3c: e7a8 b.n 80cae90 80caf3e: 4b28 ldr r3, [pc, #160] ; (80cafe0 ) 80caf40: eeb5 9bc0 vcmpe.f64 d9, #0.0 80caf44: 2200 movs r2, #0 80caf46: eef1 fa10 vmrs APSR_nzcv, fpscr 80caf4a: e9cd 2306 strd r2, r3, [sp, #24] 80caf4e: d5ee bpl.n 80caf2e 80caf50: eeb6 7b00 vmov.f64 d7, #96 ; 0x3f000000 0.5 80caf54: ee28 8b07 vmul.f64 d8, d8, d7 80caf58: eeb0 0b48 vmov.f64 d0, d8 80caf5c: f001 feac bl 80cccb8 80caf60: eeb4 8b40 vcmp.f64 d8, d0 80caf64: eef1 fa10 vmrs APSR_nzcv, fpscr 80caf68: d0e1 beq.n 80caf2e 80caf6a: 2200 movs r2, #0 80caf6c: 4b19 ldr r3, [pc, #100] ; (80cafd4 ) 80caf6e: e7dc b.n 80caf2a 80caf70: eeb5 ab40 vcmp.f64 d10, #0.0 80caf74: eef1 fa10 vmrs APSR_nzcv, fpscr 80caf78: f47f af60 bne.w 80cae3c 80caf7c: eeb0 0b49 vmov.f64 d0, d9 80caf80: f001 fe0e bl 80ccba0 80caf84: 2800 cmp r0, #0 80caf86: f43f af59 beq.w 80cae3c 80caf8a: eeb0 0b48 vmov.f64 d0, d8 80caf8e: f001 fe07 bl 80ccba0 80caf92: 2800 cmp r0, #0 80caf94: f43f af52 beq.w 80cae3c 80caf98: 2304 movs r3, #4 80caf9a: 9300 str r3, [sp, #0] 80caf9c: 4b0c ldr r3, [pc, #48] ; (80cafd0 ) 80caf9e: 9301 str r3, [sp, #4] 80cafa0: 2300 movs r3, #0 80cafa2: 9308 str r3, [sp, #32] 80cafa4: ed8d 9b02 vstr d9, [sp, #8] 80cafa8: ed8d 8b04 vstr d8, [sp, #16] 80cafac: ed8d cb06 vstr d12, [sp, #24] 80cafb0: e7bd b.n 80caf2e 80cafb2: 4668 mov r0, sp 80cafb4: f001 fe74 bl 80ccca0 80cafb8: 2800 cmp r0, #0 80cafba: f47f af37 bne.w 80cae2c 80cafbe: e7ba b.n 80caf36 ... 80cafc8: 20020b44 .word 0x20020b44 80cafcc: 3ff00000 .word 0x3ff00000 80cafd0: 0818661c .word 0x0818661c 80cafd4: fff00000 .word 0xfff00000 80cafd8: 47efffff .word 0x47efffff 80cafdc: c7efffff .word 0xc7efffff 80cafe0: 7ff00000 .word 0x7ff00000 80cafe4: 00000000 .word 0x00000000 080cafe8 : 80cafe8: b500 push {lr} 80cafea: ed2d 8b02 vpush {d8} 80cafee: eeb0 8b40 vmov.f64 d8, d0 80caff2: b08b sub sp, #44 ; 0x2c 80caff4: f000 ff60 bl 80cbeb8 <__ieee754_sqrt> 80caff8: 4b1f ldr r3, [pc, #124] ; (80cb078 ) 80caffa: f993 3000 ldrsb.w r3, [r3] 80caffe: 1c5a adds r2, r3, #1 80cb000: d024 beq.n 80cb04c 80cb002: eeb4 8b48 vcmp.f64 d8, d8 80cb006: eef1 fa10 vmrs APSR_nzcv, fpscr 80cb00a: d61f bvs.n 80cb04c 80cb00c: ed9f 7b18 vldr d7, [pc, #96] ; 80cb070 80cb010: eeb4 8bc7 vcmpe.f64 d8, d7 80cb014: eef1 fa10 vmrs APSR_nzcv, fpscr 80cb018: d518 bpl.n 80cb04c 80cb01a: 2201 movs r2, #1 80cb01c: 9200 str r2, [sp, #0] 80cb01e: 4a17 ldr r2, [pc, #92] ; (80cb07c ) 80cb020: 9201 str r2, [sp, #4] 80cb022: 2200 movs r2, #0 80cb024: 9208 str r2, [sp, #32] 80cb026: ed8d 8b04 vstr d8, [sp, #16] 80cb02a: ed8d 8b02 vstr d8, [sp, #8] 80cb02e: b993 cbnz r3, 80cb056 80cb030: ed8d 7b06 vstr d7, [sp, #24] 80cb034: 4668 mov r0, sp 80cb036: f001 fe33 bl 80ccca0 80cb03a: b190 cbz r0, 80cb062 80cb03c: 9b08 ldr r3, [sp, #32] 80cb03e: b11b cbz r3, 80cb048 80cb040: f001 ff94 bl 80ccf6c <__errno> 80cb044: 9b08 ldr r3, [sp, #32] 80cb046: 6003 str r3, [r0, #0] 80cb048: ed9d 0b06 vldr d0, [sp, #24] 80cb04c: b00b add sp, #44 ; 0x2c 80cb04e: ecbd 8b02 vpop {d8} 80cb052: f85d fb04 ldr.w pc, [sp], #4 80cb056: 2b02 cmp r3, #2 80cb058: ee87 6b07 vdiv.f64 d6, d7, d7 80cb05c: ed8d 6b06 vstr d6, [sp, #24] 80cb060: d1e8 bne.n 80cb034 80cb062: f001 ff83 bl 80ccf6c <__errno> 80cb066: 2321 movs r3, #33 ; 0x21 80cb068: 6003 str r3, [r0, #0] 80cb06a: e7e7 b.n 80cb03c 80cb06c: f3af 8000 nop.w ... 80cb078: 20020b44 .word 0x20020b44 80cb07c: 08186620 .word 0x08186620 080cb080 : 80cb080: b500 push {lr} 80cb082: ed2d 8b02 vpush {d8} 80cb086: b08b sub sp, #44 ; 0x2c 80cb088: eeb0 8a40 vmov.f32 s16, s0 80cb08c: f000 ffb2 bl 80cbff4 <__ieee754_logf> 80cb090: 4b2f ldr r3, [pc, #188] ; (80cb150 ) 80cb092: f993 3000 ldrsb.w r3, [r3] 80cb096: 1c5a adds r2, r3, #1 80cb098: d055 beq.n 80cb146 80cb09a: eeb4 8a48 vcmp.f32 s16, s16 80cb09e: eef1 fa10 vmrs APSR_nzcv, fpscr 80cb0a2: d650 bvs.n 80cb146 80cb0a4: eeb5 8ac0 vcmpe.f32 s16, #0.0 80cb0a8: eef1 fa10 vmrs APSR_nzcv, fpscr 80cb0ac: dc4b bgt.n 80cb146 80cb0ae: 4a29 ldr r2, [pc, #164] ; (80cb154 ) 80cb0b0: 9201 str r2, [sp, #4] 80cb0b2: eeb7 7ac8 vcvt.f64.f32 d7, s16 80cb0b6: 2200 movs r2, #0 80cb0b8: 9208 str r2, [sp, #32] 80cb0ba: ed8d 7b04 vstr d7, [sp, #16] 80cb0be: ed8d 7b02 vstr d7, [sp, #8] 80cb0c2: b993 cbnz r3, 80cb0ea 80cb0c4: 4924 ldr r1, [pc, #144] ; (80cb158 ) 80cb0c6: eeb5 8a40 vcmp.f32 s16, #0.0 80cb0ca: f04f 4060 mov.w r0, #3758096384 ; 0xe0000000 80cb0ce: eef1 fa10 vmrs APSR_nzcv, fpscr 80cb0d2: e9cd 0106 strd r0, r1, [sp, #24] 80cb0d6: d025 beq.n 80cb124 80cb0d8: 2201 movs r2, #1 80cb0da: 2b02 cmp r3, #2 80cb0dc: 9200 str r2, [sp, #0] 80cb0de: d116 bne.n 80cb10e 80cb0e0: f001 ff44 bl 80ccf6c <__errno> 80cb0e4: 2321 movs r3, #33 ; 0x21 80cb0e6: 6003 str r3, [r0, #0] 80cb0e8: e016 b.n 80cb118 80cb0ea: 491c ldr r1, [pc, #112] ; (80cb15c ) 80cb0ec: eeb5 8a40 vcmp.f32 s16, #0.0 80cb0f0: 2000 movs r0, #0 80cb0f2: eef1 fa10 vmrs APSR_nzcv, fpscr 80cb0f6: e9cd 0106 strd r0, r1, [sp, #24] 80cb0fa: d1ed bne.n 80cb0d8 80cb0fc: 2202 movs r2, #2 80cb0fe: 4293 cmp r3, r2 80cb100: 9200 str r2, [sp, #0] 80cb102: d111 bne.n 80cb128 80cb104: f001 ff32 bl 80ccf6c <__errno> 80cb108: 2322 movs r3, #34 ; 0x22 80cb10a: 6003 str r3, [r0, #0] 80cb10c: e011 b.n 80cb132 80cb10e: 4668 mov r0, sp 80cb110: f001 fdc6 bl 80ccca0 80cb114: 2800 cmp r0, #0 80cb116: d0e3 beq.n 80cb0e0 80cb118: 4811 ldr r0, [pc, #68] ; (80cb160 ) 80cb11a: f001 fdc5 bl 80ccca8 80cb11e: ed8d 0b06 vstr d0, [sp, #24] 80cb122: e006 b.n 80cb132 80cb124: 2302 movs r3, #2 80cb126: 9300 str r3, [sp, #0] 80cb128: 4668 mov r0, sp 80cb12a: f001 fdb9 bl 80ccca0 80cb12e: 2800 cmp r0, #0 80cb130: d0e8 beq.n 80cb104 80cb132: 9b08 ldr r3, [sp, #32] 80cb134: b11b cbz r3, 80cb13e 80cb136: f001 ff19 bl 80ccf6c <__errno> 80cb13a: 9b08 ldr r3, [sp, #32] 80cb13c: 6003 str r3, [r0, #0] 80cb13e: ed9d 0b06 vldr d0, [sp, #24] 80cb142: eeb7 0bc0 vcvt.f32.f64 s0, d0 80cb146: b00b add sp, #44 ; 0x2c 80cb148: ecbd 8b02 vpop {d8} 80cb14c: f85d fb04 ldr.w pc, [sp], #4 80cb150: 20020b44 .word 0x20020b44 80cb154: 08186625 .word 0x08186625 80cb158: c7efffff .word 0xc7efffff 80cb15c: fff00000 .word 0xfff00000 80cb160: 081868eb .word 0x081868eb 080cb164 : 80cb164: b500 push {lr} 80cb166: ed2d 8b02 vpush {d8} 80cb16a: b08b sub sp, #44 ; 0x2c 80cb16c: eeb0 8a40 vmov.f32 s16, s0 80cb170: f001 f832 bl 80cc1d8 <__ieee754_log10f> 80cb174: 4b2f ldr r3, [pc, #188] ; (80cb234 ) 80cb176: f993 3000 ldrsb.w r3, [r3] 80cb17a: 1c5a adds r2, r3, #1 80cb17c: d055 beq.n 80cb22a 80cb17e: eeb4 8a48 vcmp.f32 s16, s16 80cb182: eef1 fa10 vmrs APSR_nzcv, fpscr 80cb186: d650 bvs.n 80cb22a 80cb188: eeb5 8ac0 vcmpe.f32 s16, #0.0 80cb18c: eef1 fa10 vmrs APSR_nzcv, fpscr 80cb190: d84b bhi.n 80cb22a 80cb192: 4a29 ldr r2, [pc, #164] ; (80cb238 ) 80cb194: 9201 str r2, [sp, #4] 80cb196: eeb7 7ac8 vcvt.f64.f32 d7, s16 80cb19a: 2200 movs r2, #0 80cb19c: 9208 str r2, [sp, #32] 80cb19e: ed8d 7b04 vstr d7, [sp, #16] 80cb1a2: ed8d 7b02 vstr d7, [sp, #8] 80cb1a6: b993 cbnz r3, 80cb1ce 80cb1a8: 4924 ldr r1, [pc, #144] ; (80cb23c ) 80cb1aa: eeb5 8a40 vcmp.f32 s16, #0.0 80cb1ae: f04f 4060 mov.w r0, #3758096384 ; 0xe0000000 80cb1b2: eef1 fa10 vmrs APSR_nzcv, fpscr 80cb1b6: e9cd 0106 strd r0, r1, [sp, #24] 80cb1ba: d025 beq.n 80cb208 80cb1bc: 2201 movs r2, #1 80cb1be: 2b02 cmp r3, #2 80cb1c0: 9200 str r2, [sp, #0] 80cb1c2: d116 bne.n 80cb1f2 80cb1c4: f001 fed2 bl 80ccf6c <__errno> 80cb1c8: 2321 movs r3, #33 ; 0x21 80cb1ca: 6003 str r3, [r0, #0] 80cb1cc: e016 b.n 80cb1fc 80cb1ce: 491c ldr r1, [pc, #112] ; (80cb240 ) 80cb1d0: eeb5 8a40 vcmp.f32 s16, #0.0 80cb1d4: 2000 movs r0, #0 80cb1d6: eef1 fa10 vmrs APSR_nzcv, fpscr 80cb1da: e9cd 0106 strd r0, r1, [sp, #24] 80cb1de: d1ed bne.n 80cb1bc 80cb1e0: 2202 movs r2, #2 80cb1e2: 4293 cmp r3, r2 80cb1e4: 9200 str r2, [sp, #0] 80cb1e6: d111 bne.n 80cb20c 80cb1e8: f001 fec0 bl 80ccf6c <__errno> 80cb1ec: 2322 movs r3, #34 ; 0x22 80cb1ee: 6003 str r3, [r0, #0] 80cb1f0: e011 b.n 80cb216 80cb1f2: 4668 mov r0, sp 80cb1f4: f001 fd54 bl 80ccca0 80cb1f8: 2800 cmp r0, #0 80cb1fa: d0e3 beq.n 80cb1c4 80cb1fc: 4811 ldr r0, [pc, #68] ; (80cb244 ) 80cb1fe: f001 fd53 bl 80ccca8 80cb202: ed8d 0b06 vstr d0, [sp, #24] 80cb206: e006 b.n 80cb216 80cb208: 2302 movs r3, #2 80cb20a: 9300 str r3, [sp, #0] 80cb20c: 4668 mov r0, sp 80cb20e: f001 fd47 bl 80ccca0 80cb212: 2800 cmp r0, #0 80cb214: d0e8 beq.n 80cb1e8 80cb216: 9b08 ldr r3, [sp, #32] 80cb218: b11b cbz r3, 80cb222 80cb21a: f001 fea7 bl 80ccf6c <__errno> 80cb21e: 9b08 ldr r3, [sp, #32] 80cb220: 6003 str r3, [r0, #0] 80cb222: ed9d 0b06 vldr d0, [sp, #24] 80cb226: eeb7 0bc0 vcvt.f32.f64 s0, d0 80cb22a: b00b add sp, #44 ; 0x2c 80cb22c: ecbd 8b02 vpop {d8} 80cb230: f85d fb04 ldr.w pc, [sp], #4 80cb234: 20020b44 .word 0x20020b44 80cb238: 0818662a .word 0x0818662a 80cb23c: c7efffff .word 0xc7efffff 80cb240: fff00000 .word 0xfff00000 80cb244: 081868eb .word 0x081868eb 080cb248 : 80cb248: b500 push {lr} 80cb24a: ed2d 8b02 vpush {d8} 80cb24e: b08b sub sp, #44 ; 0x2c 80cb250: eeb0 8a40 vmov.f32 s16, s0 80cb254: f001 f818 bl 80cc288 <__ieee754_sqrtf> 80cb258: 4b21 ldr r3, [pc, #132] ; (80cb2e0 ) 80cb25a: f993 3000 ldrsb.w r3, [r3] 80cb25e: 1c5a adds r2, r3, #1 80cb260: d028 beq.n 80cb2b4 80cb262: eeb4 8a48 vcmp.f32 s16, s16 80cb266: eef1 fa10 vmrs APSR_nzcv, fpscr 80cb26a: d623 bvs.n 80cb2b4 80cb26c: eeb5 8ac0 vcmpe.f32 s16, #0.0 80cb270: eef1 fa10 vmrs APSR_nzcv, fpscr 80cb274: d51e bpl.n 80cb2b4 80cb276: 2201 movs r2, #1 80cb278: eeb7 8ac8 vcvt.f64.f32 d8, s16 80cb27c: 9200 str r2, [sp, #0] 80cb27e: 4a19 ldr r2, [pc, #100] ; (80cb2e4 ) 80cb280: 9201 str r2, [sp, #4] 80cb282: 2200 movs r2, #0 80cb284: 9208 str r2, [sp, #32] 80cb286: ed8d 8b04 vstr d8, [sp, #16] 80cb28a: ed8d 8b02 vstr d8, [sp, #8] 80cb28e: ed9f 7b12 vldr d7, [pc, #72] ; 80cb2d8 80cb292: b9a3 cbnz r3, 80cb2be 80cb294: ed8d 7b06 vstr d7, [sp, #24] 80cb298: 4668 mov r0, sp 80cb29a: f001 fd01 bl 80ccca0 80cb29e: b1a0 cbz r0, 80cb2ca 80cb2a0: 9b08 ldr r3, [sp, #32] 80cb2a2: b11b cbz r3, 80cb2ac 80cb2a4: f001 fe62 bl 80ccf6c <__errno> 80cb2a8: 9b08 ldr r3, [sp, #32] 80cb2aa: 6003 str r3, [r0, #0] 80cb2ac: ed9d 0b06 vldr d0, [sp, #24] 80cb2b0: eeb7 0bc0 vcvt.f32.f64 s0, d0 80cb2b4: b00b add sp, #44 ; 0x2c 80cb2b6: ecbd 8b02 vpop {d8} 80cb2ba: f85d fb04 ldr.w pc, [sp], #4 80cb2be: 2b02 cmp r3, #2 80cb2c0: ee87 6b07 vdiv.f64 d6, d7, d7 80cb2c4: ed8d 6b06 vstr d6, [sp, #24] 80cb2c8: d1e6 bne.n 80cb298 80cb2ca: f001 fe4f bl 80ccf6c <__errno> 80cb2ce: 2321 movs r3, #33 ; 0x21 80cb2d0: 6003 str r3, [r0, #0] 80cb2d2: e7e5 b.n 80cb2a0 80cb2d4: f3af 8000 nop.w ... 80cb2e0: 20020b44 .word 0x20020b44 80cb2e4: 08186631 .word 0x08186631 080cb2e8 <__ieee754_log>: 80cb2e8: b537 push {r0, r1, r2, r4, r5, lr} 80cb2ea: ed8d 0b00 vstr d0, [sp] 80cb2ee: 9a01 ldr r2, [sp, #4] 80cb2f0: 9b00 ldr r3, [sp, #0] 80cb2f2: f5b2 1f80 cmp.w r2, #1048576 ; 0x100000 80cb2f6: da27 bge.n 80cb348 <__ieee754_log+0x60> 80cb2f8: f022 4100 bic.w r1, r2, #2147483648 ; 0x80000000 80cb2fc: 430b orrs r3, r1 80cb2fe: d107 bne.n 80cb310 <__ieee754_log+0x28> 80cb300: ed9f 7b6d vldr d7, [pc, #436] ; 80cb4b8 <__ieee754_log+0x1d0> 80cb304: ed9f 6b6e vldr d6, [pc, #440] ; 80cb4c0 <__ieee754_log+0x1d8> 80cb308: ee86 0b07 vdiv.f64 d0, d6, d7 80cb30c: b003 add sp, #12 80cb30e: bd30 pop {r4, r5, pc} 80cb310: 2a00 cmp r2, #0 80cb312: da06 bge.n 80cb322 <__ieee754_log+0x3a> 80cb314: ed9d 7b00 vldr d7, [sp] 80cb318: ee37 6b47 vsub.f64 d6, d7, d7 80cb31c: ed9f 7b66 vldr d7, [pc, #408] ; 80cb4b8 <__ieee754_log+0x1d0> 80cb320: e7f2 b.n 80cb308 <__ieee754_log+0x20> 80cb322: ed9d 6b00 vldr d6, [sp] 80cb326: ed9f 7b68 vldr d7, [pc, #416] ; 80cb4c8 <__ieee754_log+0x1e0> 80cb32a: ee26 7b07 vmul.f64 d7, d6, d7 80cb32e: ed8d 7b00 vstr d7, [sp] 80cb332: 9a01 ldr r2, [sp, #4] 80cb334: f06f 0135 mvn.w r1, #53 ; 0x35 80cb338: 4b79 ldr r3, [pc, #484] ; (80cb520 <__ieee754_log+0x238>) 80cb33a: 429a cmp r2, r3 80cb33c: dd06 ble.n 80cb34c <__ieee754_log+0x64> 80cb33e: ed9d 7b00 vldr d7, [sp] 80cb342: ee37 0b07 vadd.f64 d0, d7, d7 80cb346: e7e1 b.n 80cb30c <__ieee754_log+0x24> 80cb348: 2100 movs r1, #0 80cb34a: e7f5 b.n 80cb338 <__ieee754_log+0x50> 80cb34c: 1513 asrs r3, r2, #20 80cb34e: f3c2 0013 ubfx r0, r2, #0, #20 80cb352: f2a3 33ff subw r3, r3, #1023 ; 0x3ff 80cb356: 4419 add r1, r3 80cb358: f500 2315 add.w r3, r0, #610304 ; 0x95000 80cb35c: f603 7364 addw r3, r3, #3940 ; 0xf64 80cb360: f403 1480 and.w r4, r3, #1048576 ; 0x100000 80cb364: f084 557f eor.w r5, r4, #1069547520 ; 0x3fc00000 80cb368: e9dd 2300 ldrd r2, r3, [sp] 80cb36c: eeb7 7b00 vmov.f64 d7, #112 ; 0x3f800000 1.0 80cb370: f485 1540 eor.w r5, r5, #3145728 ; 0x300000 80cb374: ea45 0300 orr.w r3, r5, r0 80cb378: ec43 2b10 vmov d0, r2, r3 80cb37c: 1c82 adds r2, r0, #2 80cb37e: f3c2 0213 ubfx r2, r2, #0, #20 80cb382: 2a02 cmp r2, #2 80cb384: eb01 5414 add.w r4, r1, r4, lsr #20 80cb388: ee30 0b47 vsub.f64 d0, d0, d7 80cb38c: dc31 bgt.n 80cb3f2 <__ieee754_log+0x10a> 80cb38e: eeb5 0b40 vcmp.f64 d0, #0.0 80cb392: eef1 fa10 vmrs APSR_nzcv, fpscr 80cb396: d10f bne.n 80cb3b8 <__ieee754_log+0xd0> 80cb398: 2c00 cmp r4, #0 80cb39a: f000 8088 beq.w 80cb4ae <__ieee754_log+0x1c6> 80cb39e: ed9f 0b4c vldr d0, [pc, #304] ; 80cb4d0 <__ieee754_log+0x1e8> 80cb3a2: ed9f 6b4d vldr d6, [pc, #308] ; 80cb4d8 <__ieee754_log+0x1f0> 80cb3a6: ee07 4a90 vmov s15, r4 80cb3aa: eeb8 7be7 vcvt.f64.s32 d7, s15 80cb3ae: ee27 0b00 vmul.f64 d0, d7, d0 80cb3b2: eea7 0b06 vfma.f64 d0, d7, d6 80cb3b6: e7a9 b.n 80cb30c <__ieee754_log+0x24> 80cb3b8: ed9f 7b49 vldr d7, [pc, #292] ; 80cb4e0 <__ieee754_log+0x1f8> 80cb3bc: eeb6 6b00 vmov.f64 d6, #96 ; 0x3f000000 0.5 80cb3c0: eea0 6b47 vfms.f64 d6, d0, d7 80cb3c4: ee20 7b00 vmul.f64 d7, d0, d0 80cb3c8: ee26 6b07 vmul.f64 d6, d6, d7 80cb3cc: b914 cbnz r4, 80cb3d4 <__ieee754_log+0xec> 80cb3ce: ee30 0b46 vsub.f64 d0, d0, d6 80cb3d2: e79b b.n 80cb30c <__ieee754_log+0x24> 80cb3d4: ed9f 5b3e vldr d5, [pc, #248] ; 80cb4d0 <__ieee754_log+0x1e8> 80cb3d8: ee07 4a90 vmov s15, r4 80cb3dc: eeb8 7be7 vcvt.f64.s32 d7, s15 80cb3e0: eea7 6b45 vfms.f64 d6, d7, d5 80cb3e4: ee36 0b40 vsub.f64 d0, d6, d0 80cb3e8: ed9f 6b3b vldr d6, [pc, #236] ; 80cb4d8 <__ieee754_log+0x1f0> 80cb3ec: ee97 0b06 vfnms.f64 d0, d7, d6 80cb3f0: e78c b.n 80cb30c <__ieee754_log+0x24> 80cb3f2: eeb0 7b00 vmov.f64 d7, #0 ; 0x40000000 2.0 80cb3f6: ee30 7b07 vadd.f64 d7, d0, d7 80cb3fa: ee80 4b07 vdiv.f64 d4, d0, d7 80cb3fe: ee07 4a90 vmov s15, r4 80cb402: ee24 3b04 vmul.f64 d3, d4, d4 80cb406: ed9f 2b38 vldr d2, [pc, #224] ; 80cb4e8 <__ieee754_log+0x200> 80cb40a: ee23 5b03 vmul.f64 d5, d3, d3 80cb40e: eeb8 6be7 vcvt.f64.s32 d6, s15 80cb412: ed9f 7b37 vldr d7, [pc, #220] ; 80cb4f0 <__ieee754_log+0x208> 80cb416: eea5 7b02 vfma.f64 d7, d5, d2 80cb41a: ed9f 2b37 vldr d2, [pc, #220] ; 80cb4f8 <__ieee754_log+0x210> 80cb41e: eea5 2b07 vfma.f64 d2, d5, d7 80cb422: ed9f 7b37 vldr d7, [pc, #220] ; 80cb500 <__ieee754_log+0x218> 80cb426: eea5 7b02 vfma.f64 d7, d5, d2 80cb42a: ed9f 2b37 vldr d2, [pc, #220] ; 80cb508 <__ieee754_log+0x220> 80cb42e: ee27 7b03 vmul.f64 d7, d7, d3 80cb432: ed9f 3b37 vldr d3, [pc, #220] ; 80cb510 <__ieee754_log+0x228> 80cb436: f5a0 21c2 sub.w r1, r0, #397312 ; 0x61000 80cb43a: f5c0 22d7 rsb r2, r0, #440320 ; 0x6b800 80cb43e: eea5 2b03 vfma.f64 d2, d5, d3 80cb442: f2a1 417a subw r1, r1, #1146 ; 0x47a 80cb446: ed9f 3b34 vldr d3, [pc, #208] ; 80cb518 <__ieee754_log+0x230> 80cb44a: 3251 adds r2, #81 ; 0x51 80cb44c: 430a orrs r2, r1 80cb44e: 2a00 cmp r2, #0 80cb450: eea5 3b02 vfma.f64 d3, d5, d2 80cb454: eea5 7b03 vfma.f64 d7, d5, d3 80cb458: dd1c ble.n 80cb494 <__ieee754_log+0x1ac> 80cb45a: eeb6 5b00 vmov.f64 d5, #96 ; 0x3f000000 0.5 80cb45e: ee20 5b05 vmul.f64 d5, d0, d5 80cb462: ee25 5b00 vmul.f64 d5, d5, d0 80cb466: ee37 7b05 vadd.f64 d7, d7, d5 80cb46a: b924 cbnz r4, 80cb476 <__ieee754_log+0x18e> 80cb46c: eea4 5b47 vfms.f64 d5, d4, d7 80cb470: ee30 0b45 vsub.f64 d0, d0, d5 80cb474: e74a b.n 80cb30c <__ieee754_log+0x24> 80cb476: ed9f 3b16 vldr d3, [pc, #88] ; 80cb4d0 <__ieee754_log+0x1e8> 80cb47a: ee26 3b03 vmul.f64 d3, d6, d3 80cb47e: eea4 3b07 vfma.f64 d3, d4, d7 80cb482: ee35 5b43 vsub.f64 d5, d5, d3 80cb486: ed9f 7b14 vldr d7, [pc, #80] ; 80cb4d8 <__ieee754_log+0x1f0> 80cb48a: ee35 0b40 vsub.f64 d0, d5, d0 80cb48e: ee96 0b07 vfnms.f64 d0, d6, d7 80cb492: e73b b.n 80cb30c <__ieee754_log+0x24> 80cb494: ee30 7b47 vsub.f64 d7, d0, d7 80cb498: b914 cbnz r4, 80cb4a0 <__ieee754_log+0x1b8> 80cb49a: eea4 0b47 vfms.f64 d0, d4, d7 80cb49e: e735 b.n 80cb30c <__ieee754_log+0x24> 80cb4a0: ed9f 5b0b vldr d5, [pc, #44] ; 80cb4d0 <__ieee754_log+0x1e8> 80cb4a4: ee25 5b46 vnmul.f64 d5, d5, d6 80cb4a8: eea4 5b07 vfma.f64 d5, d4, d7 80cb4ac: e7eb b.n 80cb486 <__ieee754_log+0x19e> 80cb4ae: ed9f 0b02 vldr d0, [pc, #8] ; 80cb4b8 <__ieee754_log+0x1d0> 80cb4b2: e72b b.n 80cb30c <__ieee754_log+0x24> 80cb4b4: f3af 8000 nop.w ... 80cb4c4: c3500000 .word 0xc3500000 80cb4c8: 00000000 .word 0x00000000 80cb4cc: 43500000 .word 0x43500000 80cb4d0: 35793c76 .word 0x35793c76 80cb4d4: 3dea39ef .word 0x3dea39ef 80cb4d8: fee00000 .word 0xfee00000 80cb4dc: 3fe62e42 .word 0x3fe62e42 80cb4e0: 55555555 .word 0x55555555 80cb4e4: 3fd55555 .word 0x3fd55555 80cb4e8: df3e5244 .word 0xdf3e5244 80cb4ec: 3fc2f112 .word 0x3fc2f112 80cb4f0: 96cb03de .word 0x96cb03de 80cb4f4: 3fc74664 .word 0x3fc74664 80cb4f8: 94229359 .word 0x94229359 80cb4fc: 3fd24924 .word 0x3fd24924 80cb500: 55555593 .word 0x55555593 80cb504: 3fe55555 .word 0x3fe55555 80cb508: 1d8e78af .word 0x1d8e78af 80cb50c: 3fcc71c5 .word 0x3fcc71c5 80cb510: d078c69f .word 0xd078c69f 80cb514: 3fc39a09 .word 0x3fc39a09 80cb518: 9997fa04 .word 0x9997fa04 80cb51c: 3fd99999 .word 0x3fd99999 80cb520: 7fefffff .word 0x7fefffff 80cb524: 00000000 .word 0x00000000 080cb528 <__ieee754_pow>: 80cb528: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 80cb52c: ec57 6b11 vmov r6, r7, d1 80cb530: ed2d 8b02 vpush {d8} 80cb534: eeb0 8b40 vmov.f64 d8, d0 80cb538: f027 4800 bic.w r8, r7, #2147483648 ; 0x80000000 80cb53c: ea58 0306 orrs.w r3, r8, r6 80cb540: b085 sub sp, #20 80cb542: ee10 ba10 vmov fp, s0 80cb546: ee18 9a90 vmov r9, s17 80cb54a: ee11 2a10 vmov r2, s2 80cb54e: 46ba mov sl, r7 80cb550: f000 8303 beq.w 80cbb5a <__ieee754_pow+0x632> 80cb554: 4bb8 ldr r3, [pc, #736] ; (80cb838 <__ieee754_pow+0x310>) 80cb556: f029 4400 bic.w r4, r9, #2147483648 ; 0x80000000 80cb55a: 429c cmp r4, r3 80cb55c: dc0b bgt.n 80cb576 <__ieee754_pow+0x4e> 80cb55e: d105 bne.n 80cb56c <__ieee754_pow+0x44> 80cb560: f1bb 0f00 cmp.w fp, #0 80cb564: d107 bne.n 80cb576 <__ieee754_pow+0x4e> 80cb566: 45a0 cmp r8, r4 80cb568: dc0d bgt.n 80cb586 <__ieee754_pow+0x5e> 80cb56a: e001 b.n 80cb570 <__ieee754_pow+0x48> 80cb56c: 4598 cmp r8, r3 80cb56e: dc02 bgt.n 80cb576 <__ieee754_pow+0x4e> 80cb570: 4598 cmp r8, r3 80cb572: d110 bne.n 80cb596 <__ieee754_pow+0x6e> 80cb574: b17a cbz r2, 80cb596 <__ieee754_pow+0x6e> 80cb576: f104 4440 add.w r4, r4, #3221225472 ; 0xc0000000 80cb57a: f504 1480 add.w r4, r4, #1048576 ; 0x100000 80cb57e: ea54 030b orrs.w r3, r4, fp 80cb582: f000 82ea beq.w 80cbb5a <__ieee754_pow+0x632> 80cb586: 48ad ldr r0, [pc, #692] ; (80cb83c <__ieee754_pow+0x314>) 80cb588: b005 add sp, #20 80cb58a: ecbd 8b02 vpop {d8} 80cb58e: e8bd 4ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 80cb592: f001 bb89 b.w 80ccca8 80cb596: f1b9 0f00 cmp.w r9, #0 80cb59a: da50 bge.n 80cb63e <__ieee754_pow+0x116> 80cb59c: 4ba8 ldr r3, [pc, #672] ; (80cb840 <__ieee754_pow+0x318>) 80cb59e: 4598 cmp r8, r3 80cb5a0: dc4b bgt.n 80cb63a <__ieee754_pow+0x112> 80cb5a2: f1a3 7354 sub.w r3, r3, #55574528 ; 0x3500000 80cb5a6: 4598 cmp r8, r3 80cb5a8: dd49 ble.n 80cb63e <__ieee754_pow+0x116> 80cb5aa: ea4f 5328 mov.w r3, r8, asr #20 80cb5ae: f2a3 33ff subw r3, r3, #1023 ; 0x3ff 80cb5b2: 2b14 cmp r3, #20 80cb5b4: dd24 ble.n 80cb600 <__ieee754_pow+0xd8> 80cb5b6: f1c3 0334 rsb r3, r3, #52 ; 0x34 80cb5ba: fa22 f503 lsr.w r5, r2, r3 80cb5be: fa05 f303 lsl.w r3, r5, r3 80cb5c2: 429a cmp r2, r3 80cb5c4: d13b bne.n 80cb63e <__ieee754_pow+0x116> 80cb5c6: f005 0501 and.w r5, r5, #1 80cb5ca: f1c5 0502 rsb r5, r5, #2 80cb5ce: 2a00 cmp r2, #0 80cb5d0: d15c bne.n 80cb68c <__ieee754_pow+0x164> 80cb5d2: 4b99 ldr r3, [pc, #612] ; (80cb838 <__ieee754_pow+0x310>) 80cb5d4: 4598 cmp r8, r3 80cb5d6: d122 bne.n 80cb61e <__ieee754_pow+0xf6> 80cb5d8: f104 4340 add.w r3, r4, #3221225472 ; 0xc0000000 80cb5dc: f503 1380 add.w r3, r3, #1048576 ; 0x100000 80cb5e0: ea53 030b orrs.w r3, r3, fp 80cb5e4: f000 82b9 beq.w 80cbb5a <__ieee754_pow+0x632> 80cb5e8: 4b96 ldr r3, [pc, #600] ; (80cb844 <__ieee754_pow+0x31c>) 80cb5ea: 429c cmp r4, r3 80cb5ec: dd29 ble.n 80cb642 <__ieee754_pow+0x11a> 80cb5ee: f1ba 0f00 cmp.w sl, #0 80cb5f2: f280 82b5 bge.w 80cbb60 <__ieee754_pow+0x638> 80cb5f6: ed9f 7b84 vldr d7, [pc, #528] ; 80cb808 <__ieee754_pow+0x2e0> 80cb5fa: ed8d 7b00 vstr d7, [sp] 80cb5fe: e028 b.n 80cb652 <__ieee754_pow+0x12a> 80cb600: 2a00 cmp r2, #0 80cb602: d142 bne.n 80cb68a <__ieee754_pow+0x162> 80cb604: f1c3 0314 rsb r3, r3, #20 80cb608: fa48 f503 asr.w r5, r8, r3 80cb60c: fa05 f303 lsl.w r3, r5, r3 80cb610: 4598 cmp r8, r3 80cb612: f040 82ab bne.w 80cbb6c <__ieee754_pow+0x644> 80cb616: f005 0501 and.w r5, r5, #1 80cb61a: f1c5 0502 rsb r5, r5, #2 80cb61e: 4b8a ldr r3, [pc, #552] ; (80cb848 <__ieee754_pow+0x320>) 80cb620: 4598 cmp r8, r3 80cb622: d11d bne.n 80cb660 <__ieee754_pow+0x138> 80cb624: f1ba 0f00 cmp.w sl, #0 80cb628: f280 829d bge.w 80cbb66 <__ieee754_pow+0x63e> 80cb62c: eeb7 7b00 vmov.f64 d7, #112 ; 0x3f800000 1.0 80cb630: ee87 6b08 vdiv.f64 d6, d7, d8 80cb634: ed8d 6b00 vstr d6, [sp] 80cb638: e00b b.n 80cb652 <__ieee754_pow+0x12a> 80cb63a: 2502 movs r5, #2 80cb63c: e7c7 b.n 80cb5ce <__ieee754_pow+0xa6> 80cb63e: 2500 movs r5, #0 80cb640: e7c5 b.n 80cb5ce <__ieee754_pow+0xa6> 80cb642: f1ba 0f00 cmp.w sl, #0 80cb646: dad6 bge.n 80cb5f6 <__ieee754_pow+0xce> 80cb648: f087 4400 eor.w r4, r7, #2147483648 ; 0x80000000 80cb64c: 4633 mov r3, r6 80cb64e: e88d 0018 stmia.w sp, {r3, r4} 80cb652: ed9d 0b00 vldr d0, [sp] 80cb656: b005 add sp, #20 80cb658: ecbd 8b02 vpop {d8} 80cb65c: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 80cb660: f1ba 4f80 cmp.w sl, #1073741824 ; 0x40000000 80cb664: d102 bne.n 80cb66c <__ieee754_pow+0x144> 80cb666: ee28 7b08 vmul.f64 d7, d8, d8 80cb66a: e7c6 b.n 80cb5fa <__ieee754_pow+0xd2> 80cb66c: 4b77 ldr r3, [pc, #476] ; (80cb84c <__ieee754_pow+0x324>) 80cb66e: 459a cmp sl, r3 80cb670: d10c bne.n 80cb68c <__ieee754_pow+0x164> 80cb672: f1b9 0f00 cmp.w r9, #0 80cb676: db09 blt.n 80cb68c <__ieee754_pow+0x164> 80cb678: eeb0 0b48 vmov.f64 d0, d8 80cb67c: b005 add sp, #20 80cb67e: ecbd 8b02 vpop {d8} 80cb682: e8bd 4ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 80cb686: f000 bc17 b.w 80cbeb8 <__ieee754_sqrt> 80cb68a: 2500 movs r5, #0 80cb68c: eeb0 0b48 vmov.f64 d0, d8 80cb690: f7ff fa72 bl 80cab78 80cb694: ed8d 0b00 vstr d0, [sp] 80cb698: f1bb 0f00 cmp.w fp, #0 80cb69c: d128 bne.n 80cb6f0 <__ieee754_pow+0x1c8> 80cb69e: b124 cbz r4, 80cb6aa <__ieee754_pow+0x182> 80cb6a0: 4b69 ldr r3, [pc, #420] ; (80cb848 <__ieee754_pow+0x320>) 80cb6a2: f029 4240 bic.w r2, r9, #3221225472 ; 0xc0000000 80cb6a6: 429a cmp r2, r3 80cb6a8: d122 bne.n 80cb6f0 <__ieee754_pow+0x1c8> 80cb6aa: f1ba 0f00 cmp.w sl, #0 80cb6ae: da07 bge.n 80cb6c0 <__ieee754_pow+0x198> 80cb6b0: eeb7 7b00 vmov.f64 d7, #112 ; 0x3f800000 1.0 80cb6b4: ed9d 5b00 vldr d5, [sp] 80cb6b8: ee87 6b05 vdiv.f64 d6, d7, d5 80cb6bc: ed8d 6b00 vstr d6, [sp] 80cb6c0: f1b9 0f00 cmp.w r9, #0 80cb6c4: dac5 bge.n 80cb652 <__ieee754_pow+0x12a> 80cb6c6: f104 4440 add.w r4, r4, #3221225472 ; 0xc0000000 80cb6ca: f504 1480 add.w r4, r4, #1048576 ; 0x100000 80cb6ce: ea54 0305 orrs.w r3, r4, r5 80cb6d2: d106 bne.n 80cb6e2 <__ieee754_pow+0x1ba> 80cb6d4: ed9d 7b00 vldr d7, [sp] 80cb6d8: ee37 7b47 vsub.f64 d7, d7, d7 80cb6dc: ee87 6b07 vdiv.f64 d6, d7, d7 80cb6e0: e7a8 b.n 80cb634 <__ieee754_pow+0x10c> 80cb6e2: 2d01 cmp r5, #1 80cb6e4: d1b5 bne.n 80cb652 <__ieee754_pow+0x12a> 80cb6e6: ed9d 7b00 vldr d7, [sp] 80cb6ea: eeb1 7b47 vneg.f64 d7, d7 80cb6ee: e784 b.n 80cb5fa <__ieee754_pow+0xd2> 80cb6f0: ea4f 79d9 mov.w r9, r9, lsr #31 80cb6f4: f109 30ff add.w r0, r9, #4294967295 80cb6f8: ea55 0300 orrs.w r3, r5, r0 80cb6fc: d104 bne.n 80cb708 <__ieee754_pow+0x1e0> 80cb6fe: ee38 8b48 vsub.f64 d8, d8, d8 80cb702: ee88 7b08 vdiv.f64 d7, d8, d8 80cb706: e778 b.n 80cb5fa <__ieee754_pow+0xd2> 80cb708: 4b51 ldr r3, [pc, #324] ; (80cb850 <__ieee754_pow+0x328>) 80cb70a: 4598 cmp r8, r3 80cb70c: f340 80a6 ble.w 80cb85c <__ieee754_pow+0x334> 80cb710: f103 7304 add.w r3, r3, #34603008 ; 0x2100000 80cb714: 4598 cmp r8, r3 80cb716: dd0b ble.n 80cb730 <__ieee754_pow+0x208> 80cb718: 4b4a ldr r3, [pc, #296] ; (80cb844 <__ieee754_pow+0x31c>) 80cb71a: 429c cmp r4, r3 80cb71c: dc0e bgt.n 80cb73c <__ieee754_pow+0x214> 80cb71e: f1ba 0f00 cmp.w sl, #0 80cb722: f6bf af68 bge.w 80cb5f6 <__ieee754_pow+0xce> 80cb726: ed9f 7b3a vldr d7, [pc, #232] ; 80cb810 <__ieee754_pow+0x2e8> 80cb72a: ee27 7b07 vmul.f64 d7, d7, d7 80cb72e: e764 b.n 80cb5fa <__ieee754_pow+0xd2> 80cb730: 4b48 ldr r3, [pc, #288] ; (80cb854 <__ieee754_pow+0x32c>) 80cb732: 429c cmp r4, r3 80cb734: ddf3 ble.n 80cb71e <__ieee754_pow+0x1f6> 80cb736: 4b44 ldr r3, [pc, #272] ; (80cb848 <__ieee754_pow+0x320>) 80cb738: 429c cmp r4, r3 80cb73a: dd03 ble.n 80cb744 <__ieee754_pow+0x21c> 80cb73c: f1ba 0f00 cmp.w sl, #0 80cb740: dcf1 bgt.n 80cb726 <__ieee754_pow+0x1fe> 80cb742: e758 b.n 80cb5f6 <__ieee754_pow+0xce> 80cb744: ed9d 7b00 vldr d7, [sp] 80cb748: eeb7 6b00 vmov.f64 d6, #112 ; 0x3f800000 1.0 80cb74c: ed9f 5b32 vldr d5, [pc, #200] ; 80cb818 <__ieee754_pow+0x2f0> 80cb750: ee37 6b46 vsub.f64 d6, d7, d6 80cb754: eeb5 7b00 vmov.f64 d7, #80 ; 0x3e800000 0.250 80cb758: eeb1 3b46 vneg.f64 d3, d6 80cb75c: eea3 5b07 vfma.f64 d5, d3, d7 80cb760: eeb6 7b00 vmov.f64 d7, #96 ; 0x3f000000 0.5 80cb764: eea3 7b05 vfma.f64 d7, d3, d5 80cb768: ee26 5b06 vmul.f64 d5, d6, d6 80cb76c: ee27 5b05 vmul.f64 d5, d7, d5 80cb770: ed9f 7b2b vldr d7, [pc, #172] ; 80cb820 <__ieee754_pow+0x2f8> 80cb774: ee27 7b45 vnmul.f64 d7, d7, d5 80cb778: ed9f 5b2b vldr d5, [pc, #172] ; 80cb828 <__ieee754_pow+0x300> 80cb77c: eea6 7b05 vfma.f64 d7, d6, d5 80cb780: ed9f 5b2b vldr d5, [pc, #172] ; 80cb830 <__ieee754_pow+0x308> 80cb784: eeb0 4b47 vmov.f64 d4, d7 80cb788: eea6 4b05 vfma.f64 d4, d6, d5 80cb78c: ec53 2b14 vmov r2, r3, d4 80cb790: 2200 movs r2, #0 80cb792: ec43 2b14 vmov d4, r2, r3 80cb796: eeb0 6b44 vmov.f64 d6, d4 80cb79a: eea3 6b05 vfma.f64 d6, d3, d5 80cb79e: ee37 7b46 vsub.f64 d7, d7, d6 80cb7a2: 3d01 subs r5, #1 80cb7a4: ea55 0300 orrs.w r3, r5, r0 80cb7a8: f04f 0200 mov.w r2, #0 80cb7ac: 463b mov r3, r7 80cb7ae: eebf 6b00 vmov.f64 d6, #240 ; 0xbf800000 -1.0 80cb7b2: ec47 6b15 vmov d5, r6, r7 80cb7b6: eeb7 8b00 vmov.f64 d8, #112 ; 0x3f800000 1.0 80cb7ba: bf08 it eq 80cb7bc: eeb0 8b46 vmoveq.f64 d8, d6 80cb7c0: ec43 2b16 vmov d6, r2, r3 80cb7c4: ee27 7b05 vmul.f64 d7, d7, d5 80cb7c8: 4b23 ldr r3, [pc, #140] ; (80cb858 <__ieee754_pow+0x330>) 80cb7ca: ee35 5b46 vsub.f64 d5, d5, d6 80cb7ce: ee24 6b06 vmul.f64 d6, d4, d6 80cb7d2: eea4 7b05 vfma.f64 d7, d4, d5 80cb7d6: ee37 5b06 vadd.f64 d5, d7, d6 80cb7da: ee15 1a90 vmov r1, s11 80cb7de: 4299 cmp r1, r3 80cb7e0: ee15 2a10 vmov r2, s10 80cb7e4: f340 819b ble.w 80cbb1e <__ieee754_pow+0x5f6> 80cb7e8: f101 433f add.w r3, r1, #3204448256 ; 0xbf000000 80cb7ec: f503 03e0 add.w r3, r3, #7340032 ; 0x700000 80cb7f0: 4313 orrs r3, r2 80cb7f2: f000 810a beq.w 80cba0a <__ieee754_pow+0x4e2> 80cb7f6: ed9f 7b06 vldr d7, [pc, #24] ; 80cb810 <__ieee754_pow+0x2e8> 80cb7fa: ee28 8b07 vmul.f64 d8, d8, d7 80cb7fe: ee28 7b07 vmul.f64 d7, d8, d7 80cb802: e6fa b.n 80cb5fa <__ieee754_pow+0xd2> 80cb804: f3af 8000 nop.w ... 80cb810: 8800759c .word 0x8800759c 80cb814: 7e37e43c .word 0x7e37e43c 80cb818: 55555555 .word 0x55555555 80cb81c: 3fd55555 .word 0x3fd55555 80cb820: 652b82fe .word 0x652b82fe 80cb824: 3ff71547 .word 0x3ff71547 80cb828: f85ddf44 .word 0xf85ddf44 80cb82c: 3e54ae0b .word 0x3e54ae0b 80cb830: 60000000 .word 0x60000000 80cb834: 3ff71547 .word 0x3ff71547 80cb838: 7ff00000 .word 0x7ff00000 80cb83c: 081868eb .word 0x081868eb 80cb840: 433fffff .word 0x433fffff 80cb844: 3fefffff .word 0x3fefffff 80cb848: 3ff00000 .word 0x3ff00000 80cb84c: 3fe00000 .word 0x3fe00000 80cb850: 41e00000 .word 0x41e00000 80cb854: 3feffffe .word 0x3feffffe 80cb858: 408fffff .word 0x408fffff 80cb85c: f5b4 1f80 cmp.w r4, #1048576 ; 0x100000 80cb860: f280 80cf bge.w 80cba02 <__ieee754_pow+0x4da> 80cb864: ed9d 6b00 vldr d6, [sp] 80cb868: ed9f 7bc1 vldr d7, [pc, #772] ; 80cbb70 <__ieee754_pow+0x648> 80cb86c: ee26 7b07 vmul.f64 d7, d6, d7 80cb870: ed8d 7b00 vstr d7, [sp] 80cb874: 9c01 ldr r4, [sp, #4] 80cb876: f06f 0334 mvn.w r3, #52 ; 0x34 80cb87a: 1521 asrs r1, r4, #20 80cb87c: f2a1 31ff subw r1, r1, #1023 ; 0x3ff 80cb880: 4419 add r1, r3 80cb882: 4be3 ldr r3, [pc, #908] ; (80cbc10 <__ieee754_pow+0x6e8>) 80cb884: f3c4 0413 ubfx r4, r4, #0, #20 80cb888: f044 5e7f orr.w lr, r4, #1069547520 ; 0x3fc00000 80cb88c: 429c cmp r4, r3 80cb88e: f44e 1e40 orr.w lr, lr, #3145728 ; 0x300000 80cb892: dd06 ble.n 80cb8a2 <__ieee754_pow+0x37a> 80cb894: 4bdf ldr r3, [pc, #892] ; (80cbc14 <__ieee754_pow+0x6ec>) 80cb896: 429c cmp r4, r3 80cb898: f340 80b5 ble.w 80cba06 <__ieee754_pow+0x4de> 80cb89c: 3101 adds r1, #1 80cb89e: f5ae 1e80 sub.w lr, lr, #1048576 ; 0x100000 80cb8a2: 2400 movs r4, #0 80cb8a4: e9dd 2300 ldrd r2, r3, [sp] 80cb8a8: eeb7 4b00 vmov.f64 d4, #112 ; 0x3f800000 1.0 80cb8ac: 4673 mov r3, lr 80cb8ae: ec43 2b17 vmov d7, r2, r3 80cb8b2: 4bd9 ldr r3, [pc, #868] ; (80cbc18 <__ieee754_pow+0x6f0>) 80cb8b4: ea4f 0cc4 mov.w ip, r4, lsl #3 80cb8b8: 4463 add r3, ip 80cb8ba: ed93 5b00 vldr d5, [r3] 80cb8be: ea4f 0e6e mov.w lr, lr, asr #1 80cb8c2: ee37 2b45 vsub.f64 d2, d7, d5 80cb8c6: ee37 6b05 vadd.f64 d6, d7, d5 80cb8ca: ee84 1b06 vdiv.f64 d1, d4, d6 80cb8ce: ee22 6b01 vmul.f64 d6, d2, d1 80cb8d2: ed8d 6b00 vstr d6, [sp] 80cb8d6: e9dd 8900 ldrd r8, r9, [sp] 80cb8da: f04e 5e00 orr.w lr, lr, #536870912 ; 0x20000000 80cb8de: f50e 2e00 add.w lr, lr, #524288 ; 0x80000 80cb8e2: f04f 0800 mov.w r8, #0 80cb8e6: eb0e 4384 add.w r3, lr, r4, lsl #18 80cb8ea: 2200 movs r2, #0 80cb8ec: ec49 8b14 vmov d4, r8, r9 80cb8f0: ec43 2b16 vmov d6, r2, r3 80cb8f4: eeb1 3b44 vneg.f64 d3, d4 80cb8f8: eea3 2b06 vfma.f64 d2, d3, d6 80cb8fc: ee36 6b45 vsub.f64 d6, d6, d5 80cb900: ee37 7b46 vsub.f64 d7, d7, d6 80cb904: eea3 2b07 vfma.f64 d2, d3, d7 80cb908: ed9d 7b00 vldr d7, [sp] 80cb90c: ee22 2b01 vmul.f64 d2, d2, d1 80cb910: ee27 5b07 vmul.f64 d5, d7, d7 80cb914: ee37 6b04 vadd.f64 d6, d7, d4 80cb918: ed9f 1b97 vldr d1, [pc, #604] ; 80cbb78 <__ieee754_pow+0x650> 80cb91c: ee25 0b05 vmul.f64 d0, d5, d5 80cb920: ee26 6b02 vmul.f64 d6, d6, d2 80cb924: ed9f 7b96 vldr d7, [pc, #600] ; 80cbb80 <__ieee754_pow+0x658> 80cb928: eea5 7b01 vfma.f64 d7, d5, d1 80cb92c: ed9f 1b96 vldr d1, [pc, #600] ; 80cbb88 <__ieee754_pow+0x660> 80cb930: eea5 1b07 vfma.f64 d1, d5, d7 80cb934: ed9f 7b96 vldr d7, [pc, #600] ; 80cbb90 <__ieee754_pow+0x668> 80cb938: eea5 7b01 vfma.f64 d7, d5, d1 80cb93c: ed9f 1b96 vldr d1, [pc, #600] ; 80cbb98 <__ieee754_pow+0x670> 80cb940: eea5 1b07 vfma.f64 d1, d5, d7 80cb944: ed9f 7b96 vldr d7, [pc, #600] ; 80cbba0 <__ieee754_pow+0x678> 80cb948: eea5 7b01 vfma.f64 d7, d5, d1 80cb94c: eea0 6b07 vfma.f64 d6, d0, d7 80cb950: eeb0 7b08 vmov.f64 d7, #8 ; 0x40400000 3.0 80cb954: eeb0 5b47 vmov.f64 d5, d7 80cb958: eea4 5b04 vfma.f64 d5, d4, d4 80cb95c: ee35 5b06 vadd.f64 d5, d5, d6 80cb960: ed8d 5b02 vstr d5, [sp, #8] 80cb964: f8cd 8008 str.w r8, [sp, #8] 80cb968: ed9d 5b02 vldr d5, [sp, #8] 80cb96c: ee35 7b47 vsub.f64 d7, d5, d7 80cb970: eea3 7b04 vfma.f64 d7, d3, d4 80cb974: ee36 7b47 vsub.f64 d7, d6, d7 80cb978: ed9d 6b00 vldr d6, [sp] 80cb97c: ee27 7b06 vmul.f64 d7, d7, d6 80cb980: eea2 7b05 vfma.f64 d7, d2, d5 80cb984: eeb0 6b47 vmov.f64 d6, d7 80cb988: eea4 6b05 vfma.f64 d6, d4, d5 80cb98c: ed8d 6b00 vstr d6, [sp] 80cb990: f8cd 8000 str.w r8, [sp] 80cb994: ed9d 2b00 vldr d2, [sp] 80cb998: eeb0 6b42 vmov.f64 d6, d2 80cb99c: eea3 6b05 vfma.f64 d6, d3, d5 80cb9a0: ee37 7b46 vsub.f64 d7, d7, d6 80cb9a4: ed9f 6b80 vldr d6, [pc, #512] ; 80cbba8 <__ieee754_pow+0x680> 80cb9a8: 4b9c ldr r3, [pc, #624] ; (80cbc1c <__ieee754_pow+0x6f4>) 80cb9aa: ee27 7b06 vmul.f64 d7, d7, d6 80cb9ae: ed9f 6b80 vldr d6, [pc, #512] ; 80cbbb0 <__ieee754_pow+0x688> 80cb9b2: 4463 add r3, ip 80cb9b4: eea2 7b06 vfma.f64 d7, d2, d6 80cb9b8: ed93 6b00 vldr d6, [r3] 80cb9bc: 4b98 ldr r3, [pc, #608] ; (80cbc20 <__ieee754_pow+0x6f8>) 80cb9be: ee37 6b06 vadd.f64 d6, d7, d6 80cb9c2: 449c add ip, r3 80cb9c4: ed9c 1b00 vldr d1, [ip] 80cb9c8: eeb0 4b46 vmov.f64 d4, d6 80cb9cc: ed9f 3b7a vldr d3, [pc, #488] ; 80cbbb8 <__ieee754_pow+0x690> 80cb9d0: ee07 1a90 vmov s15, r1 80cb9d4: eea2 4b03 vfma.f64 d4, d2, d3 80cb9d8: eeb8 7be7 vcvt.f64.s32 d7, s15 80cb9dc: ee34 4b01 vadd.f64 d4, d4, d1 80cb9e0: ee34 5b07 vadd.f64 d5, d4, d7 80cb9e4: ed8d 5b00 vstr d5, [sp] 80cb9e8: f8cd 8000 str.w r8, [sp] 80cb9ec: ed9d 4b00 vldr d4, [sp] 80cb9f0: ee34 7b47 vsub.f64 d7, d4, d7 80cb9f4: ee37 7b41 vsub.f64 d7, d7, d1 80cb9f8: eea2 7b43 vfms.f64 d7, d2, d3 80cb9fc: ee36 7b47 vsub.f64 d7, d6, d7 80cba00: e6cf b.n 80cb7a2 <__ieee754_pow+0x27a> 80cba02: 2300 movs r3, #0 80cba04: e739 b.n 80cb87a <__ieee754_pow+0x352> 80cba06: 2401 movs r4, #1 80cba08: e74c b.n 80cb8a4 <__ieee754_pow+0x37c> 80cba0a: ed9f 4b6d vldr d4, [pc, #436] ; 80cbbc0 <__ieee754_pow+0x698> 80cba0e: ee35 5b46 vsub.f64 d5, d5, d6 80cba12: ee37 4b04 vadd.f64 d4, d7, d4 80cba16: eeb4 4bc5 vcmpe.f64 d4, d5 80cba1a: eef1 fa10 vmrs APSR_nzcv, fpscr 80cba1e: f73f aeea bgt.w 80cb7f6 <__ieee754_pow+0x2ce> 80cba22: 4a80 ldr r2, [pc, #512] ; (80cbc24 <__ieee754_pow+0x6fc>) 80cba24: f021 4300 bic.w r3, r1, #2147483648 ; 0x80000000 80cba28: 4293 cmp r3, r2 80cba2a: f340 808e ble.w 80cbb4a <__ieee754_pow+0x622> 80cba2e: 151b asrs r3, r3, #20 80cba30: f2a3 30fe subw r0, r3, #1022 ; 0x3fe 80cba34: f44f 1380 mov.w r3, #1048576 ; 0x100000 80cba38: 4103 asrs r3, r0 80cba3a: 440b add r3, r1 80cba3c: f3c3 520a ubfx r2, r3, #20, #11 80cba40: 4879 ldr r0, [pc, #484] ; (80cbc28 <__ieee754_pow+0x700>) 80cba42: f2a2 32ff subw r2, r2, #1023 ; 0x3ff 80cba46: 4110 asrs r0, r2 80cba48: ea23 0500 bic.w r5, r3, r0 80cba4c: f3c3 0013 ubfx r0, r3, #0, #20 80cba50: 2400 movs r4, #0 80cba52: f440 1080 orr.w r0, r0, #1048576 ; 0x100000 80cba56: f1c2 0214 rsb r2, r2, #20 80cba5a: ec45 4b15 vmov d5, r4, r5 80cba5e: 4110 asrs r0, r2 80cba60: 2900 cmp r1, #0 80cba62: bfb8 it lt 80cba64: 4240 neglt r0, r0 80cba66: ee36 6b45 vsub.f64 d6, d6, d5 80cba6a: ee36 5b07 vadd.f64 d5, d6, d7 80cba6e: ec53 2b15 vmov r2, r3, d5 80cba72: 2200 movs r2, #0 80cba74: ec43 2b15 vmov d5, r2, r3 80cba78: ed9f 4b53 vldr d4, [pc, #332] ; 80cbbc8 <__ieee754_pow+0x6a0> 80cba7c: ee35 6b46 vsub.f64 d6, d5, d6 80cba80: ee37 6b46 vsub.f64 d6, d7, d6 80cba84: ed9f 7b52 vldr d7, [pc, #328] ; 80cbbd0 <__ieee754_pow+0x6a8> 80cba88: ee25 7b07 vmul.f64 d7, d5, d7 80cba8c: eea6 7b04 vfma.f64 d7, d6, d4 80cba90: ed9f 6b51 vldr d6, [pc, #324] ; 80cbbd8 <__ieee754_pow+0x6b0> 80cba94: eeb0 4b47 vmov.f64 d4, d7 80cba98: eea5 4b06 vfma.f64 d4, d5, d6 80cba9c: eeb0 3b44 vmov.f64 d3, d4 80cbaa0: eea5 3b46 vfms.f64 d3, d5, d6 80cbaa4: ed9f 5b4e vldr d5, [pc, #312] ; 80cbbe0 <__ieee754_pow+0x6b8> 80cbaa8: ee37 7b43 vsub.f64 d7, d7, d3 80cbaac: ee24 6b04 vmul.f64 d6, d4, d4 80cbab0: ed9f 3b4d vldr d3, [pc, #308] ; 80cbbe8 <__ieee754_pow+0x6c0> 80cbab4: eea4 7b07 vfma.f64 d7, d4, d7 80cbab8: eea6 3b05 vfma.f64 d3, d6, d5 80cbabc: ed9f 5b4c vldr d5, [pc, #304] ; 80cbbf0 <__ieee754_pow+0x6c8> 80cbac0: eea6 5b03 vfma.f64 d5, d6, d3 80cbac4: ed9f 3b4c vldr d3, [pc, #304] ; 80cbbf8 <__ieee754_pow+0x6d0> 80cbac8: eea6 3b05 vfma.f64 d3, d6, d5 80cbacc: ed9f 5b4c vldr d5, [pc, #304] ; 80cbc00 <__ieee754_pow+0x6d8> 80cbad0: eea6 5b03 vfma.f64 d5, d6, d3 80cbad4: eeb0 3b44 vmov.f64 d3, d4 80cbad8: eea6 3b45 vfms.f64 d3, d6, d5 80cbadc: eeb0 5b00 vmov.f64 d5, #0 ; 0x40000000 2.0 80cbae0: eeb0 6b43 vmov.f64 d6, d3 80cbae4: ee24 3b03 vmul.f64 d3, d4, d3 80cbae8: ee36 5b45 vsub.f64 d5, d6, d5 80cbaec: ee83 6b05 vdiv.f64 d6, d3, d5 80cbaf0: ee36 7b47 vsub.f64 d7, d6, d7 80cbaf4: eeb7 6b00 vmov.f64 d6, #112 ; 0x3f800000 1.0 80cbaf8: ee37 7b44 vsub.f64 d7, d7, d4 80cbafc: ee36 7b47 vsub.f64 d7, d6, d7 80cbb00: ed8d 7b00 vstr d7, [sp] 80cbb04: 9901 ldr r1, [sp, #4] 80cbb06: eb01 5100 add.w r1, r1, r0, lsl #20 80cbb0a: f5b1 1f80 cmp.w r1, #1048576 ; 0x100000 80cbb0e: da1e bge.n 80cbb4e <__ieee754_pow+0x626> 80cbb10: eeb0 0b47 vmov.f64 d0, d7 80cbb14: f001 f95c bl 80ccdd0 80cbb18: ee20 7b08 vmul.f64 d7, d0, d8 80cbb1c: e56d b.n 80cb5fa <__ieee754_pow+0xd2> 80cbb1e: 4b43 ldr r3, [pc, #268] ; (80cbc2c <__ieee754_pow+0x704>) 80cbb20: f021 4000 bic.w r0, r1, #2147483648 ; 0x80000000 80cbb24: 4298 cmp r0, r3 80cbb26: f77f af7c ble.w 80cba22 <__ieee754_pow+0x4fa> 80cbb2a: 4b41 ldr r3, [pc, #260] ; (80cbc30 <__ieee754_pow+0x708>) 80cbb2c: 440b add r3, r1 80cbb2e: 4313 orrs r3, r2 80cbb30: d002 beq.n 80cbb38 <__ieee754_pow+0x610> 80cbb32: ed9f 7b35 vldr d7, [pc, #212] ; 80cbc08 <__ieee754_pow+0x6e0> 80cbb36: e660 b.n 80cb7fa <__ieee754_pow+0x2d2> 80cbb38: ee35 5b46 vsub.f64 d5, d5, d6 80cbb3c: eeb4 7bc5 vcmpe.f64 d7, d5 80cbb40: eef1 fa10 vmrs APSR_nzcv, fpscr 80cbb44: f63f af6d bhi.w 80cba22 <__ieee754_pow+0x4fa> 80cbb48: e7f3 b.n 80cbb32 <__ieee754_pow+0x60a> 80cbb4a: 2000 movs r0, #0 80cbb4c: e78d b.n 80cba6a <__ieee754_pow+0x542> 80cbb4e: e9dd 2300 ldrd r2, r3, [sp] 80cbb52: 460b mov r3, r1 80cbb54: ec43 2b10 vmov d0, r2, r3 80cbb58: e7de b.n 80cbb18 <__ieee754_pow+0x5f0> 80cbb5a: eeb7 7b00 vmov.f64 d7, #112 ; 0x3f800000 1.0 80cbb5e: e54c b.n 80cb5fa <__ieee754_pow+0xd2> 80cbb60: e9cd 6700 strd r6, r7, [sp] 80cbb64: e575 b.n 80cb652 <__ieee754_pow+0x12a> 80cbb66: ed8d 8b00 vstr d8, [sp] 80cbb6a: e572 b.n 80cb652 <__ieee754_pow+0x12a> 80cbb6c: 4615 mov r5, r2 80cbb6e: e556 b.n 80cb61e <__ieee754_pow+0xf6> 80cbb70: 00000000 .word 0x00000000 80cbb74: 43400000 .word 0x43400000 80cbb78: 4a454eef .word 0x4a454eef 80cbb7c: 3fca7e28 .word 0x3fca7e28 80cbb80: 93c9db65 .word 0x93c9db65 80cbb84: 3fcd864a .word 0x3fcd864a 80cbb88: a91d4101 .word 0xa91d4101 80cbb8c: 3fd17460 .word 0x3fd17460 80cbb90: 518f264d .word 0x518f264d 80cbb94: 3fd55555 .word 0x3fd55555 80cbb98: db6fabff .word 0xdb6fabff 80cbb9c: 3fdb6db6 .word 0x3fdb6db6 80cbba0: 33333303 .word 0x33333303 80cbba4: 3fe33333 .word 0x3fe33333 80cbba8: dc3a03fd .word 0xdc3a03fd 80cbbac: 3feec709 .word 0x3feec709 80cbbb0: 145b01f5 .word 0x145b01f5 80cbbb4: be3e2fe0 .word 0xbe3e2fe0 80cbbb8: e0000000 .word 0xe0000000 80cbbbc: 3feec709 .word 0x3feec709 80cbbc0: 652b82fe .word 0x652b82fe 80cbbc4: 3c971547 .word 0x3c971547 80cbbc8: fefa39ef .word 0xfefa39ef 80cbbcc: 3fe62e42 .word 0x3fe62e42 80cbbd0: 0ca86c39 .word 0x0ca86c39 80cbbd4: be205c61 .word 0xbe205c61 80cbbd8: 00000000 .word 0x00000000 80cbbdc: 3fe62e43 .word 0x3fe62e43 80cbbe0: 72bea4d0 .word 0x72bea4d0 80cbbe4: 3e663769 .word 0x3e663769 80cbbe8: c5d26bf1 .word 0xc5d26bf1 80cbbec: bebbbd41 .word 0xbebbbd41 80cbbf0: af25de2c .word 0xaf25de2c 80cbbf4: 3f11566a .word 0x3f11566a 80cbbf8: 16bebd93 .word 0x16bebd93 80cbbfc: bf66c16c .word 0xbf66c16c 80cbc00: 5555553e .word 0x5555553e 80cbc04: 3fc55555 .word 0x3fc55555 80cbc08: c2f8f359 .word 0xc2f8f359 80cbc0c: 01a56e1f .word 0x01a56e1f 80cbc10: 0003988e .word 0x0003988e 80cbc14: 000bb679 .word 0x000bb679 80cbc18: 08186638 .word 0x08186638 80cbc1c: 08186658 .word 0x08186658 80cbc20: 08186648 .word 0x08186648 80cbc24: 3fe00000 .word 0x3fe00000 80cbc28: 000fffff .word 0x000fffff 80cbc2c: 4090cbff .word 0x4090cbff 80cbc30: 3f6f3400 .word 0x3f6f3400 80cbc34: 00000000 .word 0x00000000 080cbc38 <__ieee754_rem_pio2>: 80cbc38: b5f0 push {r4, r5, r6, r7, lr} 80cbc3a: eeb0 7b40 vmov.f64 d7, d0 80cbc3e: ee17 5a90 vmov r5, s15 80cbc42: 4b97 ldr r3, [pc, #604] ; (80cbea0 <__ieee754_rem_pio2+0x268>) 80cbc44: f025 4600 bic.w r6, r5, #2147483648 ; 0x80000000 80cbc48: 429e cmp r6, r3 80cbc4a: b089 sub sp, #36 ; 0x24 80cbc4c: 4604 mov r4, r0 80cbc4e: dc07 bgt.n 80cbc60 <__ieee754_rem_pio2+0x28> 80cbc50: 2200 movs r2, #0 80cbc52: 2300 movs r3, #0 80cbc54: ed84 0b00 vstr d0, [r4] 80cbc58: e9c0 2302 strd r2, r3, [r0, #8] 80cbc5c: 2000 movs r0, #0 80cbc5e: e01b b.n 80cbc98 <__ieee754_rem_pio2+0x60> 80cbc60: 4b90 ldr r3, [pc, #576] ; (80cbea4 <__ieee754_rem_pio2+0x26c>) 80cbc62: 429e cmp r6, r3 80cbc64: dc3b bgt.n 80cbcde <__ieee754_rem_pio2+0xa6> 80cbc66: f5a3 231b sub.w r3, r3, #634880 ; 0x9b000 80cbc6a: 2d00 cmp r5, #0 80cbc6c: ed9f 6b7c vldr d6, [pc, #496] ; 80cbe60 <__ieee754_rem_pio2+0x228> 80cbc70: f5a3 63f0 sub.w r3, r3, #1920 ; 0x780 80cbc74: dd19 ble.n 80cbcaa <__ieee754_rem_pio2+0x72> 80cbc76: ee30 7b46 vsub.f64 d7, d0, d6 80cbc7a: 429e cmp r6, r3 80cbc7c: d00e beq.n 80cbc9c <__ieee754_rem_pio2+0x64> 80cbc7e: ed9f 6b7a vldr d6, [pc, #488] ; 80cbe68 <__ieee754_rem_pio2+0x230> 80cbc82: ee37 5b46 vsub.f64 d5, d7, d6 80cbc86: ee37 7b45 vsub.f64 d7, d7, d5 80cbc8a: ed84 5b00 vstr d5, [r4] 80cbc8e: ee37 7b46 vsub.f64 d7, d7, d6 80cbc92: ed84 7b02 vstr d7, [r4, #8] 80cbc96: 2001 movs r0, #1 80cbc98: b009 add sp, #36 ; 0x24 80cbc9a: bdf0 pop {r4, r5, r6, r7, pc} 80cbc9c: ed9f 6b74 vldr d6, [pc, #464] ; 80cbe70 <__ieee754_rem_pio2+0x238> 80cbca0: ee37 7b46 vsub.f64 d7, d7, d6 80cbca4: ed9f 6b74 vldr d6, [pc, #464] ; 80cbe78 <__ieee754_rem_pio2+0x240> 80cbca8: e7eb b.n 80cbc82 <__ieee754_rem_pio2+0x4a> 80cbcaa: 429e cmp r6, r3 80cbcac: ee30 7b06 vadd.f64 d7, d0, d6 80cbcb0: d00e beq.n 80cbcd0 <__ieee754_rem_pio2+0x98> 80cbcb2: ed9f 6b6d vldr d6, [pc, #436] ; 80cbe68 <__ieee754_rem_pio2+0x230> 80cbcb6: ee37 5b06 vadd.f64 d5, d7, d6 80cbcba: ee37 7b45 vsub.f64 d7, d7, d5 80cbcbe: ed84 5b00 vstr d5, [r4] 80cbcc2: ee37 7b06 vadd.f64 d7, d7, d6 80cbcc6: f04f 30ff mov.w r0, #4294967295 80cbcca: ed84 7b02 vstr d7, [r4, #8] 80cbcce: e7e3 b.n 80cbc98 <__ieee754_rem_pio2+0x60> 80cbcd0: ed9f 6b67 vldr d6, [pc, #412] ; 80cbe70 <__ieee754_rem_pio2+0x238> 80cbcd4: ee37 7b06 vadd.f64 d7, d7, d6 80cbcd8: ed9f 6b67 vldr d6, [pc, #412] ; 80cbe78 <__ieee754_rem_pio2+0x240> 80cbcdc: e7eb b.n 80cbcb6 <__ieee754_rem_pio2+0x7e> 80cbcde: 4b72 ldr r3, [pc, #456] ; (80cbea8 <__ieee754_rem_pio2+0x270>) 80cbce0: 429e cmp r6, r3 80cbce2: dc6e bgt.n 80cbdc2 <__ieee754_rem_pio2+0x18a> 80cbce4: f7fe ff48 bl 80cab78 80cbce8: eeb6 7b00 vmov.f64 d7, #96 ; 0x3f000000 0.5 80cbcec: ed9f 6b64 vldr d6, [pc, #400] ; 80cbe80 <__ieee754_rem_pio2+0x248> 80cbcf0: eea0 7b06 vfma.f64 d7, d0, d6 80cbcf4: eefd 7bc7 vcvt.s32.f64 s15, d7 80cbcf8: eeb8 4be7 vcvt.f64.s32 d4, s15 80cbcfc: ee17 0a90 vmov r0, s15 80cbd00: eeb1 5b44 vneg.f64 d5, d4 80cbd04: ed9f 7b56 vldr d7, [pc, #344] ; 80cbe60 <__ieee754_rem_pio2+0x228> 80cbd08: eea5 0b07 vfma.f64 d0, d5, d7 80cbd0c: ed9f 7b56 vldr d7, [pc, #344] ; 80cbe68 <__ieee754_rem_pio2+0x230> 80cbd10: 281f cmp r0, #31 80cbd12: ee24 7b07 vmul.f64 d7, d4, d7 80cbd16: ee30 6b47 vsub.f64 d6, d0, d7 80cbd1a: dc1b bgt.n 80cbd54 <__ieee754_rem_pio2+0x11c> 80cbd1c: 1e42 subs r2, r0, #1 80cbd1e: 4b63 ldr r3, [pc, #396] ; (80cbeac <__ieee754_rem_pio2+0x274>) 80cbd20: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80cbd24: 429e cmp r6, r3 80cbd26: d015 beq.n 80cbd54 <__ieee754_rem_pio2+0x11c> 80cbd28: ed84 6b00 vstr d6, [r4] 80cbd2c: ed94 6b00 vldr d6, [r4] 80cbd30: 2d00 cmp r5, #0 80cbd32: ee30 0b46 vsub.f64 d0, d0, d6 80cbd36: ee30 7b47 vsub.f64 d7, d0, d7 80cbd3a: ed84 7b02 vstr d7, [r4, #8] 80cbd3e: daab bge.n 80cbc98 <__ieee754_rem_pio2+0x60> 80cbd40: eeb1 6b46 vneg.f64 d6, d6 80cbd44: ed84 6b00 vstr d6, [r4] 80cbd48: eeb1 7b47 vneg.f64 d7, d7 80cbd4c: 4240 negs r0, r0 80cbd4e: ed84 7b02 vstr d7, [r4, #8] 80cbd52: e7a1 b.n 80cbc98 <__ieee754_rem_pio2+0x60> 80cbd54: ee16 3a90 vmov r3, s13 80cbd58: 1536 asrs r6, r6, #20 80cbd5a: f3c3 530a ubfx r3, r3, #20, #11 80cbd5e: 1af3 subs r3, r6, r3 80cbd60: 2b10 cmp r3, #16 80cbd62: ed84 6b00 vstr d6, [r4] 80cbd66: dde1 ble.n 80cbd2c <__ieee754_rem_pio2+0xf4> 80cbd68: eeb0 6b40 vmov.f64 d6, d0 80cbd6c: ed9f 3b40 vldr d3, [pc, #256] ; 80cbe70 <__ieee754_rem_pio2+0x238> 80cbd70: eea5 6b03 vfma.f64 d6, d5, d3 80cbd74: ee30 7b46 vsub.f64 d7, d0, d6 80cbd78: eea5 7b03 vfma.f64 d7, d5, d3 80cbd7c: ed9f 3b3e vldr d3, [pc, #248] ; 80cbe78 <__ieee754_rem_pio2+0x240> 80cbd80: ee94 7b03 vfnms.f64 d7, d4, d3 80cbd84: ee36 3b47 vsub.f64 d3, d6, d7 80cbd88: ee13 3a90 vmov r3, s7 80cbd8c: f3c3 530a ubfx r3, r3, #20, #11 80cbd90: 1af6 subs r6, r6, r3 80cbd92: 2e31 cmp r6, #49 ; 0x31 80cbd94: ed84 3b00 vstr d3, [r4] 80cbd98: dd10 ble.n 80cbdbc <__ieee754_rem_pio2+0x184> 80cbd9a: eeb0 0b46 vmov.f64 d0, d6 80cbd9e: ed9f 3b3a vldr d3, [pc, #232] ; 80cbe88 <__ieee754_rem_pio2+0x250> 80cbda2: eea5 0b03 vfma.f64 d0, d5, d3 80cbda6: ee36 7b40 vsub.f64 d7, d6, d0 80cbdaa: ed9f 6b39 vldr d6, [pc, #228] ; 80cbe90 <__ieee754_rem_pio2+0x258> 80cbdae: eea5 7b03 vfma.f64 d7, d5, d3 80cbdb2: ee94 7b06 vfnms.f64 d7, d4, d6 80cbdb6: ee30 6b47 vsub.f64 d6, d0, d7 80cbdba: e7b5 b.n 80cbd28 <__ieee754_rem_pio2+0xf0> 80cbdbc: eeb0 0b46 vmov.f64 d0, d6 80cbdc0: e7b4 b.n 80cbd2c <__ieee754_rem_pio2+0xf4> 80cbdc2: 4b3b ldr r3, [pc, #236] ; (80cbeb0 <__ieee754_rem_pio2+0x278>) 80cbdc4: 429e cmp r6, r3 80cbdc6: dd06 ble.n 80cbdd6 <__ieee754_rem_pio2+0x19e> 80cbdc8: ee30 7b40 vsub.f64 d7, d0, d0 80cbdcc: ed80 7b02 vstr d7, [r0, #8] 80cbdd0: ed80 7b00 vstr d7, [r0] 80cbdd4: e742 b.n 80cbc5c <__ieee754_rem_pio2+0x24> 80cbdd6: ee10 3a10 vmov r3, s0 80cbdda: 1532 asrs r2, r6, #20 80cbddc: f2a2 4216 subw r2, r2, #1046 ; 0x416 80cbde0: 4618 mov r0, r3 80cbde2: eba6 5102 sub.w r1, r6, r2, lsl #20 80cbde6: ec41 0b17 vmov d7, r0, r1 80cbdea: eebd 6bc7 vcvt.s32.f64 s12, d7 80cbdee: ed9f 5b2a vldr d5, [pc, #168] ; 80cbe98 <__ieee754_rem_pio2+0x260> 80cbdf2: eeb8 6bc6 vcvt.f64.s32 d6, s12 80cbdf6: ee37 7b46 vsub.f64 d7, d7, d6 80cbdfa: ed8d 6b02 vstr d6, [sp, #8] 80cbdfe: ee27 7b05 vmul.f64 d7, d7, d5 80cbe02: eebd 6bc7 vcvt.s32.f64 s12, d7 80cbe06: a908 add r1, sp, #32 80cbe08: eeb8 6bc6 vcvt.f64.s32 d6, s12 80cbe0c: ee37 7b46 vsub.f64 d7, d7, d6 80cbe10: ed8d 6b04 vstr d6, [sp, #16] 80cbe14: ee27 7b05 vmul.f64 d7, d7, d5 80cbe18: ed8d 7b06 vstr d7, [sp, #24] 80cbe1c: 2303 movs r3, #3 80cbe1e: ed31 7b02 vldmdb r1!, {d7} 80cbe22: eeb5 7b40 vcmp.f64 d7, #0.0 80cbe26: eef1 fa10 vmrs APSR_nzcv, fpscr 80cbe2a: f103 30ff add.w r0, r3, #4294967295 80cbe2e: d013 beq.n 80cbe58 <__ieee754_rem_pio2+0x220> 80cbe30: 4920 ldr r1, [pc, #128] ; (80cbeb4 <__ieee754_rem_pio2+0x27c>) 80cbe32: 9101 str r1, [sp, #4] 80cbe34: 2102 movs r1, #2 80cbe36: 9100 str r1, [sp, #0] 80cbe38: a802 add r0, sp, #8 80cbe3a: 4621 mov r1, r4 80cbe3c: f000 fad8 bl 80cc3f0 <__kernel_rem_pio2> 80cbe40: 2d00 cmp r5, #0 80cbe42: f6bf af29 bge.w 80cbc98 <__ieee754_rem_pio2+0x60> 80cbe46: ed94 7b00 vldr d7, [r4] 80cbe4a: eeb1 7b47 vneg.f64 d7, d7 80cbe4e: ed84 7b00 vstr d7, [r4] 80cbe52: ed94 7b02 vldr d7, [r4, #8] 80cbe56: e777 b.n 80cbd48 <__ieee754_rem_pio2+0x110> 80cbe58: 4603 mov r3, r0 80cbe5a: e7e0 b.n 80cbe1e <__ieee754_rem_pio2+0x1e6> 80cbe5c: f3af 8000 nop.w 80cbe60: 54400000 .word 0x54400000 80cbe64: 3ff921fb .word 0x3ff921fb 80cbe68: 1a626331 .word 0x1a626331 80cbe6c: 3dd0b461 .word 0x3dd0b461 80cbe70: 1a600000 .word 0x1a600000 80cbe74: 3dd0b461 .word 0x3dd0b461 80cbe78: 2e037073 .word 0x2e037073 80cbe7c: 3ba3198a .word 0x3ba3198a 80cbe80: 6dc9c883 .word 0x6dc9c883 80cbe84: 3fe45f30 .word 0x3fe45f30 80cbe88: 2e000000 .word 0x2e000000 80cbe8c: 3ba3198a .word 0x3ba3198a 80cbe90: 252049c1 .word 0x252049c1 80cbe94: 397b839a .word 0x397b839a 80cbe98: 00000000 .word 0x00000000 80cbe9c: 41700000 .word 0x41700000 80cbea0: 3fe921fb .word 0x3fe921fb 80cbea4: 4002d97b .word 0x4002d97b 80cbea8: 413921fb .word 0x413921fb 80cbeac: 08186668 .word 0x08186668 80cbeb0: 7fefffff .word 0x7fefffff 80cbeb4: 081866e8 .word 0x081866e8 080cbeb8 <__ieee754_sqrt>: 80cbeb8: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} 80cbebc: ee10 3a90 vmov r3, s1 80cbec0: 4c4b ldr r4, [pc, #300] ; (80cbff0 <__ieee754_sqrt+0x138>) 80cbec2: 439c bics r4, r3 80cbec4: ee10 0a10 vmov r0, s0 80cbec8: ee10 2a90 vmov r2, s1 80cbecc: ee10 1a10 vmov r1, s0 80cbed0: d103 bne.n 80cbeda <__ieee754_sqrt+0x22> 80cbed2: eea0 0b00 vfma.f64 d0, d0, d0 80cbed6: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} 80cbeda: 2b00 cmp r3, #0 80cbedc: dc0a bgt.n 80cbef4 <__ieee754_sqrt+0x3c> 80cbede: f023 4400 bic.w r4, r3, #2147483648 ; 0x80000000 80cbee2: 4320 orrs r0, r4 80cbee4: d079 beq.n 80cbfda <__ieee754_sqrt+0x122> 80cbee6: b12b cbz r3, 80cbef4 <__ieee754_sqrt+0x3c> 80cbee8: ee30 7b40 vsub.f64 d7, d0, d0 80cbeec: ee87 0b07 vdiv.f64 d0, d7, d7 80cbef0: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} 80cbef4: 151b asrs r3, r3, #20 80cbef6: d10c bne.n 80cbf12 <__ieee754_sqrt+0x5a> 80cbef8: 2a00 cmp r2, #0 80cbefa: d070 beq.n 80cbfde <__ieee754_sqrt+0x126> 80cbefc: 2000 movs r0, #0 80cbefe: 02d5 lsls r5, r2, #11 80cbf00: d571 bpl.n 80cbfe6 <__ieee754_sqrt+0x12e> 80cbf02: 1e44 subs r4, r0, #1 80cbf04: 1b1b subs r3, r3, r4 80cbf06: f1c0 0420 rsb r4, r0, #32 80cbf0a: fa21 f404 lsr.w r4, r1, r4 80cbf0e: 4322 orrs r2, r4 80cbf10: 4081 lsls r1, r0 80cbf12: f2a3 33ff subw r3, r3, #1023 ; 0x3ff 80cbf16: f3c2 0213 ubfx r2, r2, #0, #20 80cbf1a: 07dc lsls r4, r3, #31 80cbf1c: f442 1280 orr.w r2, r2, #1048576 ; 0x100000 80cbf20: bf42 ittt mi 80cbf22: 0052 lslmi r2, r2, #1 80cbf24: eb02 72d1 addmi.w r2, r2, r1, lsr #31 80cbf28: 0049 lslmi r1, r1, #1 80cbf2a: 105c asrs r4, r3, #1 80cbf2c: 2500 movs r5, #0 80cbf2e: eb02 73d1 add.w r3, r2, r1, lsr #31 80cbf32: 441a add r2, r3 80cbf34: 0049 lsls r1, r1, #1 80cbf36: 2316 movs r3, #22 80cbf38: 4628 mov r0, r5 80cbf3a: f44f 1600 mov.w r6, #2097152 ; 0x200000 80cbf3e: 1987 adds r7, r0, r6 80cbf40: 4297 cmp r7, r2 80cbf42: bfde ittt le 80cbf44: 1bd2 suble r2, r2, r7 80cbf46: 19b8 addle r0, r7, r6 80cbf48: 19ad addle r5, r5, r6 80cbf4a: 0052 lsls r2, r2, #1 80cbf4c: 3b01 subs r3, #1 80cbf4e: eb02 72d1 add.w r2, r2, r1, lsr #31 80cbf52: ea4f 0656 mov.w r6, r6, lsr #1 80cbf56: ea4f 0141 mov.w r1, r1, lsl #1 80cbf5a: d1f0 bne.n 80cbf3e <__ieee754_sqrt+0x86> 80cbf5c: f04f 0e20 mov.w lr, #32 80cbf60: 469c mov ip, r3 80cbf62: f04f 4600 mov.w r6, #2147483648 ; 0x80000000 80cbf66: 4282 cmp r2, r0 80cbf68: eb06 070c add.w r7, r6, ip 80cbf6c: dc02 bgt.n 80cbf74 <__ieee754_sqrt+0xbc> 80cbf6e: d112 bne.n 80cbf96 <__ieee754_sqrt+0xde> 80cbf70: 428f cmp r7, r1 80cbf72: d810 bhi.n 80cbf96 <__ieee754_sqrt+0xde> 80cbf74: 2f00 cmp r7, #0 80cbf76: eb07 0c06 add.w ip, r7, r6 80cbf7a: da37 bge.n 80cbfec <__ieee754_sqrt+0x134> 80cbf7c: f1bc 0f00 cmp.w ip, #0 80cbf80: db34 blt.n 80cbfec <__ieee754_sqrt+0x134> 80cbf82: f100 0801 add.w r8, r0, #1 80cbf86: 1a12 subs r2, r2, r0 80cbf88: 428f cmp r7, r1 80cbf8a: bf88 it hi 80cbf8c: f102 32ff addhi.w r2, r2, #4294967295 80cbf90: 1bc9 subs r1, r1, r7 80cbf92: 4433 add r3, r6 80cbf94: 4640 mov r0, r8 80cbf96: eb02 77d1 add.w r7, r2, r1, lsr #31 80cbf9a: f1be 0e01 subs.w lr, lr, #1 80cbf9e: 443a add r2, r7 80cbfa0: ea4f 0141 mov.w r1, r1, lsl #1 80cbfa4: ea4f 0656 mov.w r6, r6, lsr #1 80cbfa8: d1dd bne.n 80cbf66 <__ieee754_sqrt+0xae> 80cbfaa: 430a orrs r2, r1 80cbfac: d006 beq.n 80cbfbc <__ieee754_sqrt+0x104> 80cbfae: 1c58 adds r0, r3, #1 80cbfb0: bf13 iteet ne 80cbfb2: 3301 addne r3, #1 80cbfb4: 3501 addeq r5, #1 80cbfb6: 4673 moveq r3, lr 80cbfb8: f023 0301 bicne.w r3, r3, #1 80cbfbc: 106a asrs r2, r5, #1 80cbfbe: 085b lsrs r3, r3, #1 80cbfc0: 07e9 lsls r1, r5, #31 80cbfc2: f102 527f add.w r2, r2, #1069547520 ; 0x3fc00000 80cbfc6: f502 1200 add.w r2, r2, #2097152 ; 0x200000 80cbfca: bf48 it mi 80cbfcc: f043 4300 orrmi.w r3, r3, #2147483648 ; 0x80000000 80cbfd0: eb02 5104 add.w r1, r2, r4, lsl #20 80cbfd4: 4618 mov r0, r3 80cbfd6: ec41 0b10 vmov d0, r0, r1 80cbfda: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} 80cbfde: 0aca lsrs r2, r1, #11 80cbfe0: 3b15 subs r3, #21 80cbfe2: 0549 lsls r1, r1, #21 80cbfe4: e788 b.n 80cbef8 <__ieee754_sqrt+0x40> 80cbfe6: 0052 lsls r2, r2, #1 80cbfe8: 3001 adds r0, #1 80cbfea: e788 b.n 80cbefe <__ieee754_sqrt+0x46> 80cbfec: 4680 mov r8, r0 80cbfee: e7ca b.n 80cbf86 <__ieee754_sqrt+0xce> 80cbff0: 7ff00000 .word 0x7ff00000 080cbff4 <__ieee754_logf>: 80cbff4: ee10 3a10 vmov r3, s0 80cbff8: f033 4200 bics.w r2, r3, #2147483648 ; 0x80000000 80cbffc: d106 bne.n 80cc00c <__ieee754_logf+0x18> 80cbffe: eddf 7a67 vldr s15, [pc, #412] ; 80cc19c <__ieee754_logf+0x1a8> 80cc002: ed9f 7a67 vldr s14, [pc, #412] ; 80cc1a0 <__ieee754_logf+0x1ac> 80cc006: ee87 0a27 vdiv.f32 s0, s14, s15 80cc00a: 4770 bx lr 80cc00c: 2b00 cmp r3, #0 80cc00e: da04 bge.n 80cc01a <__ieee754_logf+0x26> 80cc010: ee30 7a40 vsub.f32 s14, s0, s0 80cc014: eddf 7a61 vldr s15, [pc, #388] ; 80cc19c <__ieee754_logf+0x1a8> 80cc018: e7f5 b.n 80cc006 <__ieee754_logf+0x12> 80cc01a: f1b3 4fff cmp.w r3, #2139095040 ; 0x7f800000 80cc01e: db02 blt.n 80cc026 <__ieee754_logf+0x32> 80cc020: ee30 0a00 vadd.f32 s0, s0, s0 80cc024: 4770 bx lr 80cc026: f5b3 0f00 cmp.w r3, #8388608 ; 0x800000 80cc02a: bfbf itttt lt 80cc02c: eddf 7a5d vldrlt s15, [pc, #372] ; 80cc1a4 <__ieee754_logf+0x1b0> 80cc030: ee60 7a27 vmullt.f32 s15, s0, s15 80cc034: f06f 0118 mvnlt.w r1, #24 80cc038: ee17 3a90 vmovlt r3, s15 80cc03c: ea4f 52e3 mov.w r2, r3, asr #23 80cc040: bfa8 it ge 80cc042: 2100 movge r1, #0 80cc044: 3a7f subs r2, #127 ; 0x7f 80cc046: 440a add r2, r1 80cc048: 4957 ldr r1, [pc, #348] ; (80cc1a8 <__ieee754_logf+0x1b4>) 80cc04a: f3c3 0316 ubfx r3, r3, #0, #23 80cc04e: 4419 add r1, r3 80cc050: f401 0100 and.w r1, r1, #8388608 ; 0x800000 80cc054: eb02 52d1 add.w r2, r2, r1, lsr #23 80cc058: f081 517e eor.w r1, r1, #1065353216 ; 0x3f800000 80cc05c: 4319 orrs r1, r3 80cc05e: ee07 1a90 vmov s15, r1 80cc062: f103 010f add.w r1, r3, #15 80cc066: f3c1 0116 ubfx r1, r1, #0, #23 80cc06a: eeb7 0a00 vmov.f32 s0, #112 ; 0x3f800000 1.0 80cc06e: 290f cmp r1, #15 80cc070: ee37 0ac0 vsub.f32 s0, s15, s0 80cc074: dc31 bgt.n 80cc0da <__ieee754_logf+0xe6> 80cc076: eeb5 0a40 vcmp.f32 s0, #0.0 80cc07a: eef1 fa10 vmrs APSR_nzcv, fpscr 80cc07e: d10f bne.n 80cc0a0 <__ieee754_logf+0xac> 80cc080: 2a00 cmp r2, #0 80cc082: f000 8087 beq.w 80cc194 <__ieee754_logf+0x1a0> 80cc086: ee07 2a90 vmov s15, r2 80cc08a: ed9f 0a48 vldr s0, [pc, #288] ; 80cc1ac <__ieee754_logf+0x1b8> 80cc08e: ed9f 7a48 vldr s14, [pc, #288] ; 80cc1b0 <__ieee754_logf+0x1bc> 80cc092: eef8 7ae7 vcvt.f32.s32 s15, s15 80cc096: ee27 0a80 vmul.f32 s0, s15, s0 80cc09a: eea7 0a87 vfma.f32 s0, s15, s14 80cc09e: 4770 bx lr 80cc0a0: eddf 7a44 vldr s15, [pc, #272] ; 80cc1b4 <__ieee754_logf+0x1c0> 80cc0a4: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80cc0a8: eea0 7a67 vfms.f32 s14, s0, s15 80cc0ac: ee60 7a00 vmul.f32 s15, s0, s0 80cc0b0: ee27 7a27 vmul.f32 s14, s14, s15 80cc0b4: b912 cbnz r2, 80cc0bc <__ieee754_logf+0xc8> 80cc0b6: ee30 0a47 vsub.f32 s0, s0, s14 80cc0ba: 4770 bx lr 80cc0bc: ee07 2a90 vmov s15, r2 80cc0c0: eddf 6a3a vldr s13, [pc, #232] ; 80cc1ac <__ieee754_logf+0x1b8> 80cc0c4: eef8 7ae7 vcvt.f32.s32 s15, s15 80cc0c8: eea7 7ae6 vfms.f32 s14, s15, s13 80cc0cc: ee37 0a40 vsub.f32 s0, s14, s0 80cc0d0: ed9f 7a37 vldr s14, [pc, #220] ; 80cc1b0 <__ieee754_logf+0x1bc> 80cc0d4: ee97 0a87 vfnms.f32 s0, s15, s14 80cc0d8: 4770 bx lr 80cc0da: eef0 7a00 vmov.f32 s15, #0 ; 0x40000000 2.0 80cc0de: ee70 7a27 vadd.f32 s15, s0, s15 80cc0e2: ed9f 5a35 vldr s10, [pc, #212] ; 80cc1b8 <__ieee754_logf+0x1c4> 80cc0e6: 4935 ldr r1, [pc, #212] ; (80cc1bc <__ieee754_logf+0x1c8>) 80cc0e8: eec0 6a27 vdiv.f32 s13, s0, s15 80cc0ec: 4419 add r1, r3 80cc0ee: f5c3 1357 rsb r3, r3, #3522560 ; 0x35c000 80cc0f2: f503 7322 add.w r3, r3, #648 ; 0x288 80cc0f6: 430b orrs r3, r1 80cc0f8: 2b00 cmp r3, #0 80cc0fa: ee07 2a90 vmov s15, r2 80cc0fe: ee26 6aa6 vmul.f32 s12, s13, s13 80cc102: eef8 5ae7 vcvt.f32.s32 s11, s15 80cc106: ee26 7a06 vmul.f32 s14, s12, s12 80cc10a: eddf 7a2d vldr s15, [pc, #180] ; 80cc1c0 <__ieee754_logf+0x1cc> 80cc10e: eee7 7a05 vfma.f32 s15, s14, s10 80cc112: ed9f 5a2c vldr s10, [pc, #176] ; 80cc1c4 <__ieee754_logf+0x1d0> 80cc116: eea7 5a27 vfma.f32 s10, s14, s15 80cc11a: eddf 7a2b vldr s15, [pc, #172] ; 80cc1c8 <__ieee754_logf+0x1d4> 80cc11e: eee7 7a05 vfma.f32 s15, s14, s10 80cc122: ed9f 5a2a vldr s10, [pc, #168] ; 80cc1cc <__ieee754_logf+0x1d8> 80cc126: ee67 7a86 vmul.f32 s15, s15, s12 80cc12a: ed9f 6a29 vldr s12, [pc, #164] ; 80cc1d0 <__ieee754_logf+0x1dc> 80cc12e: eea7 5a06 vfma.f32 s10, s14, s12 80cc132: ed9f 6a28 vldr s12, [pc, #160] ; 80cc1d4 <__ieee754_logf+0x1e0> 80cc136: eea7 6a05 vfma.f32 s12, s14, s10 80cc13a: eee7 7a06 vfma.f32 s15, s14, s12 80cc13e: dd1a ble.n 80cc176 <__ieee754_logf+0x182> 80cc140: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80cc144: ee20 7a07 vmul.f32 s14, s0, s14 80cc148: ee27 7a00 vmul.f32 s14, s14, s0 80cc14c: ee77 7a87 vadd.f32 s15, s15, s14 80cc150: b912 cbnz r2, 80cc158 <__ieee754_logf+0x164> 80cc152: eea6 7ae7 vfms.f32 s14, s13, s15 80cc156: e7ae b.n 80cc0b6 <__ieee754_logf+0xc2> 80cc158: ed9f 6a14 vldr s12, [pc, #80] ; 80cc1ac <__ieee754_logf+0x1b8> 80cc15c: ee25 6a86 vmul.f32 s12, s11, s12 80cc160: eea6 6aa7 vfma.f32 s12, s13, s15 80cc164: ee37 7a46 vsub.f32 s14, s14, s12 80cc168: ee37 0a40 vsub.f32 s0, s14, s0 80cc16c: eddf 7a10 vldr s15, [pc, #64] ; 80cc1b0 <__ieee754_logf+0x1bc> 80cc170: ee95 0aa7 vfnms.f32 s0, s11, s15 80cc174: 4770 bx lr 80cc176: ee70 7a67 vsub.f32 s15, s0, s15 80cc17a: b912 cbnz r2, 80cc182 <__ieee754_logf+0x18e> 80cc17c: eea6 0ae7 vfms.f32 s0, s13, s15 80cc180: 4770 bx lr 80cc182: ed9f 7a0a vldr s14, [pc, #40] ; 80cc1ac <__ieee754_logf+0x1b8> 80cc186: ee27 7a65 vnmul.f32 s14, s14, s11 80cc18a: eea6 7aa7 vfma.f32 s14, s13, s15 80cc18e: ee37 0a40 vsub.f32 s0, s14, s0 80cc192: e7eb b.n 80cc16c <__ieee754_logf+0x178> 80cc194: ed9f 0a01 vldr s0, [pc, #4] ; 80cc19c <__ieee754_logf+0x1a8> 80cc198: 4770 bx lr 80cc19a: bf00 nop 80cc19c: 00000000 .word 0x00000000 80cc1a0: cc000000 .word 0xcc000000 80cc1a4: 4c000000 .word 0x4c000000 80cc1a8: 004afb20 .word 0x004afb20 80cc1ac: 3717f7d1 .word 0x3717f7d1 80cc1b0: 3f317180 .word 0x3f317180 80cc1b4: 3eaaaaab .word 0x3eaaaaab 80cc1b8: 3e178897 .word 0x3e178897 80cc1bc: ffcf5c30 .word 0xffcf5c30 80cc1c0: 3e3a3325 .word 0x3e3a3325 80cc1c4: 3e924925 .word 0x3e924925 80cc1c8: 3f2aaaab .word 0x3f2aaaab 80cc1cc: 3e638e29 .word 0x3e638e29 80cc1d0: 3e1cd04f .word 0x3e1cd04f 80cc1d4: 3ecccccd .word 0x3ecccccd 080cc1d8 <__ieee754_log10f>: 80cc1d8: b508 push {r3, lr} 80cc1da: ee10 2a10 vmov r2, s0 80cc1de: f032 4300 bics.w r3, r2, #2147483648 ; 0x80000000 80cc1e2: ed2d 8b02 vpush {d8} 80cc1e6: d108 bne.n 80cc1fa <__ieee754_log10f+0x22> 80cc1e8: eddf 7a21 vldr s15, [pc, #132] ; 80cc270 <__ieee754_log10f+0x98> 80cc1ec: ed9f 7a21 vldr s14, [pc, #132] ; 80cc274 <__ieee754_log10f+0x9c> 80cc1f0: ee87 0a27 vdiv.f32 s0, s14, s15 80cc1f4: ecbd 8b02 vpop {d8} 80cc1f8: bd08 pop {r3, pc} 80cc1fa: 2a00 cmp r2, #0 80cc1fc: da04 bge.n 80cc208 <__ieee754_log10f+0x30> 80cc1fe: ee30 7a40 vsub.f32 s14, s0, s0 80cc202: eddf 7a1b vldr s15, [pc, #108] ; 80cc270 <__ieee754_log10f+0x98> 80cc206: e7f3 b.n 80cc1f0 <__ieee754_log10f+0x18> 80cc208: f1b2 4fff cmp.w r2, #2139095040 ; 0x7f800000 80cc20c: db02 blt.n 80cc214 <__ieee754_log10f+0x3c> 80cc20e: ee30 0a00 vadd.f32 s0, s0, s0 80cc212: e7ef b.n 80cc1f4 <__ieee754_log10f+0x1c> 80cc214: f5b2 0f00 cmp.w r2, #8388608 ; 0x800000 80cc218: bfbf itttt lt 80cc21a: eddf 7a17 vldrlt s15, [pc, #92] ; 80cc278 <__ieee754_log10f+0xa0> 80cc21e: ee60 7a27 vmullt.f32 s15, s0, s15 80cc222: f06f 0118 mvnlt.w r1, #24 80cc226: ee17 2a90 vmovlt r2, s15 80cc22a: ea4f 53e2 mov.w r3, r2, asr #23 80cc22e: bfa8 it ge 80cc230: 2100 movge r1, #0 80cc232: 3b7f subs r3, #127 ; 0x7f 80cc234: 440b add r3, r1 80cc236: 0fd9 lsrs r1, r3, #31 80cc238: 440b add r3, r1 80cc23a: f3c2 0216 ubfx r2, r2, #0, #23 80cc23e: f1c1 017f rsb r1, r1, #127 ; 0x7f 80cc242: ee07 3a90 vmov s15, r3 80cc246: ea42 53c1 orr.w r3, r2, r1, lsl #23 80cc24a: ee00 3a10 vmov s0, r3 80cc24e: eeb8 8ae7 vcvt.f32.s32 s16, s15 80cc252: f7ff fecf bl 80cbff4 <__ieee754_logf> 80cc256: eddf 7a09 vldr s15, [pc, #36] ; 80cc27c <__ieee754_log10f+0xa4> 80cc25a: ee20 0a27 vmul.f32 s0, s0, s15 80cc25e: eddf 7a08 vldr s15, [pc, #32] ; 80cc280 <__ieee754_log10f+0xa8> 80cc262: eea8 0a27 vfma.f32 s0, s16, s15 80cc266: eddf 7a07 vldr s15, [pc, #28] ; 80cc284 <__ieee754_log10f+0xac> 80cc26a: eea8 0a27 vfma.f32 s0, s16, s15 80cc26e: e7c1 b.n 80cc1f4 <__ieee754_log10f+0x1c> 80cc270: 00000000 .word 0x00000000 80cc274: cc000000 .word 0xcc000000 80cc278: 4c000000 .word 0x4c000000 80cc27c: 3ede5bd9 .word 0x3ede5bd9 80cc280: 355427db .word 0x355427db 80cc284: 3e9a2080 .word 0x3e9a2080 080cc288 <__ieee754_sqrtf>: 80cc288: ee10 2a10 vmov r2, s0 80cc28c: f022 4100 bic.w r1, r2, #2147483648 ; 0x80000000 80cc290: f1b1 4fff cmp.w r1, #2139095040 ; 0x7f800000 80cc294: b570 push {r4, r5, r6, lr} 80cc296: d302 bcc.n 80cc29e <__ieee754_sqrtf+0x16> 80cc298: eea0 0a00 vfma.f32 s0, s0, s0 80cc29c: bd70 pop {r4, r5, r6, pc} 80cc29e: b3b1 cbz r1, 80cc30e <__ieee754_sqrtf+0x86> 80cc2a0: 2a00 cmp r2, #0 80cc2a2: da04 bge.n 80cc2ae <__ieee754_sqrtf+0x26> 80cc2a4: ee70 7a40 vsub.f32 s15, s0, s0 80cc2a8: ee87 0aa7 vdiv.f32 s0, s15, s15 80cc2ac: bd70 pop {r4, r5, r6, pc} 80cc2ae: f5b1 0f00 cmp.w r1, #8388608 ; 0x800000 80cc2b2: ea4f 53e2 mov.w r3, r2, asr #23 80cc2b6: d204 bcs.n 80cc2c2 <__ieee754_sqrtf+0x3a> 80cc2b8: 2100 movs r1, #0 80cc2ba: 0210 lsls r0, r2, #8 80cc2bc: d528 bpl.n 80cc310 <__ieee754_sqrtf+0x88> 80cc2be: 3901 subs r1, #1 80cc2c0: 1a5b subs r3, r3, r1 80cc2c2: 3b7f subs r3, #127 ; 0x7f 80cc2c4: f3c2 0216 ubfx r2, r2, #0, #23 80cc2c8: 07d9 lsls r1, r3, #31 80cc2ca: f442 0200 orr.w r2, r2, #8388608 ; 0x800000 80cc2ce: bf48 it mi 80cc2d0: 0052 lslmi r2, r2, #1 80cc2d2: 1059 asrs r1, r3, #1 80cc2d4: 2300 movs r3, #0 80cc2d6: 0052 lsls r2, r2, #1 80cc2d8: 2419 movs r4, #25 80cc2da: 461e mov r6, r3 80cc2dc: f04f 7080 mov.w r0, #16777216 ; 0x1000000 80cc2e0: 1835 adds r5, r6, r0 80cc2e2: 4295 cmp r5, r2 80cc2e4: bfde ittt le 80cc2e6: 182e addle r6, r5, r0 80cc2e8: 1b52 suble r2, r2, r5 80cc2ea: 181b addle r3, r3, r0 80cc2ec: 3c01 subs r4, #1 80cc2ee: ea4f 0242 mov.w r2, r2, lsl #1 80cc2f2: ea4f 0050 mov.w r0, r0, lsr #1 80cc2f6: d1f3 bne.n 80cc2e0 <__ieee754_sqrtf+0x58> 80cc2f8: b112 cbz r2, 80cc300 <__ieee754_sqrtf+0x78> 80cc2fa: 3301 adds r3, #1 80cc2fc: f023 0301 bic.w r3, r3, #1 80cc300: 105b asrs r3, r3, #1 80cc302: f103 537c add.w r3, r3, #1056964608 ; 0x3f000000 80cc306: eb03 53c1 add.w r3, r3, r1, lsl #23 80cc30a: ee00 3a10 vmov s0, r3 80cc30e: bd70 pop {r4, r5, r6, pc} 80cc310: 0052 lsls r2, r2, #1 80cc312: 3101 adds r1, #1 80cc314: e7d1 b.n 80cc2ba <__ieee754_sqrtf+0x32> ... 080cc318 <__kernel_cos>: 80cc318: ee10 1a90 vmov r1, s1 80cc31c: eeb7 5b00 vmov.f64 d5, #112 ; 0x3f800000 1.0 80cc320: f021 4100 bic.w r1, r1, #2147483648 ; 0x80000000 80cc324: f1b1 5f79 cmp.w r1, #1044381696 ; 0x3e400000 80cc328: da05 bge.n 80cc336 <__kernel_cos+0x1e> 80cc32a: eefd 7bc0 vcvt.s32.f64 s15, d0 80cc32e: ee17 3a90 vmov r3, s15 80cc332: 2b00 cmp r3, #0 80cc334: d03d beq.n 80cc3b2 <__kernel_cos+0x9a> 80cc336: ee20 6b00 vmul.f64 d6, d0, d0 80cc33a: ee20 1b01 vmul.f64 d1, d0, d1 80cc33e: ed9f 7b1e vldr d7, [pc, #120] ; 80cc3b8 <__kernel_cos+0xa0> 80cc342: eeb6 3b00 vmov.f64 d3, #96 ; 0x3f000000 0.5 80cc346: ed9f 4b1e vldr d4, [pc, #120] ; 80cc3c0 <__kernel_cos+0xa8> 80cc34a: eea6 4b07 vfma.f64 d4, d6, d7 80cc34e: ed9f 7b1e vldr d7, [pc, #120] ; 80cc3c8 <__kernel_cos+0xb0> 80cc352: eea6 7b04 vfma.f64 d7, d6, d4 80cc356: ed9f 4b1e vldr d4, [pc, #120] ; 80cc3d0 <__kernel_cos+0xb8> 80cc35a: eea6 4b07 vfma.f64 d4, d6, d7 80cc35e: ed9f 7b1e vldr d7, [pc, #120] ; 80cc3d8 <__kernel_cos+0xc0> 80cc362: 4b21 ldr r3, [pc, #132] ; (80cc3e8 <__kernel_cos+0xd0>) 80cc364: eea6 7b04 vfma.f64 d7, d6, d4 80cc368: ed9f 4b1d vldr d4, [pc, #116] ; 80cc3e0 <__kernel_cos+0xc8> 80cc36c: 4299 cmp r1, r3 80cc36e: eea6 4b07 vfma.f64 d4, d6, d7 80cc372: ee24 4b06 vmul.f64 d4, d4, d6 80cc376: dc06 bgt.n 80cc386 <__kernel_cos+0x6e> 80cc378: ee96 1b04 vfnms.f64 d1, d6, d4 80cc37c: ee96 1b03 vfnms.f64 d1, d6, d3 80cc380: ee35 0b41 vsub.f64 d0, d5, d1 80cc384: 4770 bx lr 80cc386: 4b19 ldr r3, [pc, #100] ; (80cc3ec <__kernel_cos+0xd4>) 80cc388: 4299 cmp r1, r3 80cc38a: dc0f bgt.n 80cc3ac <__kernel_cos+0x94> 80cc38c: 2200 movs r2, #0 80cc38e: f5a1 1300 sub.w r3, r1, #2097152 ; 0x200000 80cc392: ec43 2b17 vmov d7, r2, r3 80cc396: ee35 5b47 vsub.f64 d5, d5, d7 80cc39a: ee96 1b04 vfnms.f64 d1, d6, d4 80cc39e: ee96 7b03 vfnms.f64 d7, d6, d3 80cc3a2: ee37 0b41 vsub.f64 d0, d7, d1 80cc3a6: ee35 0b40 vsub.f64 d0, d5, d0 80cc3aa: 4770 bx lr 80cc3ac: eeb5 7b02 vmov.f64 d7, #82 ; 0x3e900000 0.2812500 80cc3b0: e7f1 b.n 80cc396 <__kernel_cos+0x7e> 80cc3b2: eeb0 0b45 vmov.f64 d0, d5 80cc3b6: 4770 bx lr 80cc3b8: be8838d4 .word 0xbe8838d4 80cc3bc: bda8fae9 .word 0xbda8fae9 80cc3c0: bdb4b1c4 .word 0xbdb4b1c4 80cc3c4: 3e21ee9e .word 0x3e21ee9e 80cc3c8: 809c52ad .word 0x809c52ad 80cc3cc: be927e4f .word 0xbe927e4f 80cc3d0: 19cb1590 .word 0x19cb1590 80cc3d4: 3efa01a0 .word 0x3efa01a0 80cc3d8: 16c15177 .word 0x16c15177 80cc3dc: bf56c16c .word 0xbf56c16c 80cc3e0: 5555554c .word 0x5555554c 80cc3e4: 3fa55555 .word 0x3fa55555 80cc3e8: 3fd33332 .word 0x3fd33332 80cc3ec: 3fe90000 .word 0x3fe90000 080cc3f0 <__kernel_rem_pio2>: 80cc3f0: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 80cc3f4: ed2d 8b06 vpush {d8-d10} 80cc3f8: f5ad 7d13 sub.w sp, sp, #588 ; 0x24c 80cc3fc: 468b mov fp, r1 80cc3fe: 9301 str r3, [sp, #4] 80cc400: 99a2 ldr r1, [sp, #648] ; 0x288 80cc402: 4bcf ldr r3, [pc, #828] ; (80cc740 <__kernel_rem_pio2+0x350>) 80cc404: 9002 str r0, [sp, #8] 80cc406: f853 a021 ldr.w sl, [r3, r1, lsl #2] 80cc40a: 9b01 ldr r3, [sp, #4] 80cc40c: 9ca3 ldr r4, [sp, #652] ; 0x28c 80cc40e: 3b01 subs r3, #1 80cc410: 1ed0 subs r0, r2, #3 80cc412: 2518 movs r5, #24 80cc414: ed9f 6bc4 vldr d6, [pc, #784] ; 80cc728 <__kernel_rem_pio2+0x338> 80cc418: fb90 f0f5 sdiv r0, r0, r5 80cc41c: f06f 0517 mvn.w r5, #23 80cc420: ea20 70e0 bic.w r0, r0, r0, asr #31 80cc424: fb00 5505 mla r5, r0, r5, r5 80cc428: 1ac7 subs r7, r0, r3 80cc42a: 4415 add r5, r2 80cc42c: eb0a 0e03 add.w lr, sl, r3 80cc430: ae1a add r6, sp, #104 ; 0x68 80cc432: eb04 0c87 add.w ip, r4, r7, lsl #2 80cc436: 2200 movs r2, #0 80cc438: 4572 cmp r2, lr 80cc43a: dd0f ble.n 80cc45c <__kernel_rem_pio2+0x6c> 80cc43c: f50d 7ed4 add.w lr, sp, #424 ; 0x1a8 80cc440: 2600 movs r6, #0 80cc442: 4556 cmp r6, sl 80cc444: dc27 bgt.n 80cc496 <__kernel_rem_pio2+0xa6> 80cc446: 9a01 ldr r2, [sp, #4] 80cc448: 9f02 ldr r7, [sp, #8] 80cc44a: 4432 add r2, r6 80cc44c: a91a add r1, sp, #104 ; 0x68 80cc44e: eb01 02c2 add.w r2, r1, r2, lsl #3 80cc452: ed9f 7bb5 vldr d7, [pc, #724] ; 80cc728 <__kernel_rem_pio2+0x338> 80cc456: f04f 0c00 mov.w ip, #0 80cc45a: e016 b.n 80cc48a <__kernel_rem_pio2+0x9a> 80cc45c: 42d7 cmn r7, r2 80cc45e: d409 bmi.n 80cc474 <__kernel_rem_pio2+0x84> 80cc460: f85c 1022 ldr.w r1, [ip, r2, lsl #2] 80cc464: ee07 1a90 vmov s15, r1 80cc468: eeb8 7be7 vcvt.f64.s32 d7, s15 80cc46c: eca6 7b02 vstmia r6!, {d7} 80cc470: 3201 adds r2, #1 80cc472: e7e1 b.n 80cc438 <__kernel_rem_pio2+0x48> 80cc474: eeb0 7b46 vmov.f64 d7, d6 80cc478: e7f8 b.n 80cc46c <__kernel_rem_pio2+0x7c> 80cc47a: ecb7 5b02 vldmia r7!, {d5} 80cc47e: ed32 6b02 vldmdb r2!, {d6} 80cc482: f10c 0c01 add.w ip, ip, #1 80cc486: eea5 7b06 vfma.f64 d7, d5, d6 80cc48a: 459c cmp ip, r3 80cc48c: ddf5 ble.n 80cc47a <__kernel_rem_pio2+0x8a> 80cc48e: ecae 7b02 vstmia lr!, {d7} 80cc492: 3601 adds r6, #1 80cc494: e7d5 b.n 80cc442 <__kernel_rem_pio2+0x52> 80cc496: aa06 add r2, sp, #24 80cc498: eb02 028a add.w r2, r2, sl, lsl #2 80cc49c: ed9f 9ba4 vldr d9, [pc, #656] ; 80cc730 <__kernel_rem_pio2+0x340> 80cc4a0: ed9f aba5 vldr d10, [pc, #660] ; 80cc738 <__kernel_rem_pio2+0x348> 80cc4a4: 9204 str r2, [sp, #16] 80cc4a6: eb04 0280 add.w r2, r4, r0, lsl #2 80cc4aa: 9203 str r2, [sp, #12] 80cc4ac: 4657 mov r7, sl 80cc4ae: aa92 add r2, sp, #584 ; 0x248 80cc4b0: f107 5800 add.w r8, r7, #536870912 ; 0x20000000 80cc4b4: eb02 02c7 add.w r2, r2, r7, lsl #3 80cc4b8: f108 38ff add.w r8, r8, #4294967295 80cc4bc: ed12 0b28 vldr d0, [r2, #-160] ; 0xffffff60 80cc4c0: ea4f 08c8 mov.w r8, r8, lsl #3 80cc4c4: aa92 add r2, sp, #584 ; 0x248 80cc4c6: eb02 0008 add.w r0, r2, r8 80cc4ca: 3898 subs r0, #152 ; 0x98 80cc4cc: 2200 movs r2, #0 80cc4ce: 1abc subs r4, r7, r2 80cc4d0: 2c00 cmp r4, #0 80cc4d2: dc4c bgt.n 80cc56e <__kernel_rem_pio2+0x17e> 80cc4d4: 4628 mov r0, r5 80cc4d6: 9305 str r3, [sp, #20] 80cc4d8: f000 fc7a bl 80ccdd0 80cc4dc: eeb0 8b40 vmov.f64 d8, d0 80cc4e0: eeb4 0b00 vmov.f64 d0, #64 ; 0x3e000000 0.125 80cc4e4: ee28 0b00 vmul.f64 d0, d8, d0 80cc4e8: f000 fb62 bl 80ccbb0 80cc4ec: eeb2 7b00 vmov.f64 d7, #32 ; 0x41000000 8.0 80cc4f0: eea0 8b47 vfms.f64 d8, d0, d7 80cc4f4: eefd 7bc8 vcvt.s32.f64 s15, d8 80cc4f8: 2d00 cmp r5, #0 80cc4fa: ee17 9a90 vmov r9, s15 80cc4fe: 9b05 ldr r3, [sp, #20] 80cc500: eeb8 7be7 vcvt.f64.s32 d7, s15 80cc504: ee38 8b47 vsub.f64 d8, d8, d7 80cc508: dd46 ble.n 80cc598 <__kernel_rem_pio2+0x1a8> 80cc50a: 1e78 subs r0, r7, #1 80cc50c: aa06 add r2, sp, #24 80cc50e: f1c5 0418 rsb r4, r5, #24 80cc512: f852 6020 ldr.w r6, [r2, r0, lsl #2] 80cc516: fa46 f204 asr.w r2, r6, r4 80cc51a: 4491 add r9, r2 80cc51c: 40a2 lsls r2, r4 80cc51e: 1ab6 subs r6, r6, r2 80cc520: aa06 add r2, sp, #24 80cc522: f842 6020 str.w r6, [r2, r0, lsl #2] 80cc526: f1c5 0217 rsb r2, r5, #23 80cc52a: 4116 asrs r6, r2 80cc52c: 2e00 cmp r6, #0 80cc52e: dd42 ble.n 80cc5b6 <__kernel_rem_pio2+0x1c6> 80cc530: 2400 movs r4, #0 80cc532: f109 0901 add.w r9, r9, #1 80cc536: 4620 mov r0, r4 80cc538: f06f 4e7f mvn.w lr, #4278190080 ; 0xff000000 80cc53c: 42a7 cmp r7, r4 80cc53e: dc75 bgt.n 80cc62c <__kernel_rem_pio2+0x23c> 80cc540: 2d00 cmp r5, #0 80cc542: dd05 ble.n 80cc550 <__kernel_rem_pio2+0x160> 80cc544: 2d01 cmp r5, #1 80cc546: f000 8086 beq.w 80cc656 <__kernel_rem_pio2+0x266> 80cc54a: 2d02 cmp r5, #2 80cc54c: f000 808d beq.w 80cc66a <__kernel_rem_pio2+0x27a> 80cc550: 2e02 cmp r6, #2 80cc552: d130 bne.n 80cc5b6 <__kernel_rem_pio2+0x1c6> 80cc554: eeb7 0b00 vmov.f64 d0, #112 ; 0x3f800000 1.0 80cc558: ee30 8b48 vsub.f64 d8, d0, d8 80cc55c: b358 cbz r0, 80cc5b6 <__kernel_rem_pio2+0x1c6> 80cc55e: 4628 mov r0, r5 80cc560: 9305 str r3, [sp, #20] 80cc562: f000 fc35 bl 80ccdd0 80cc566: 9b05 ldr r3, [sp, #20] 80cc568: ee38 8b40 vsub.f64 d8, d8, d0 80cc56c: e023 b.n 80cc5b6 <__kernel_rem_pio2+0x1c6> 80cc56e: ee20 7b09 vmul.f64 d7, d0, d9 80cc572: eebd 7bc7 vcvt.s32.f64 s14, d7 80cc576: ac06 add r4, sp, #24 80cc578: eeb8 7bc7 vcvt.f64.s32 d7, s14 80cc57c: eea7 0b4a vfms.f64 d0, d7, d10 80cc580: eebd 0bc0 vcvt.s32.f64 s0, d0 80cc584: ee10 1a10 vmov r1, s0 80cc588: ed30 0b02 vldmdb r0!, {d0} 80cc58c: f844 1022 str.w r1, [r4, r2, lsl #2] 80cc590: ee37 0b00 vadd.f64 d0, d7, d0 80cc594: 3201 adds r2, #1 80cc596: e79a b.n 80cc4ce <__kernel_rem_pio2+0xde> 80cc598: d105 bne.n 80cc5a6 <__kernel_rem_pio2+0x1b6> 80cc59a: 1e7a subs r2, r7, #1 80cc59c: a906 add r1, sp, #24 80cc59e: f851 6022 ldr.w r6, [r1, r2, lsl #2] 80cc5a2: 15f6 asrs r6, r6, #23 80cc5a4: e7c2 b.n 80cc52c <__kernel_rem_pio2+0x13c> 80cc5a6: eeb6 7b00 vmov.f64 d7, #96 ; 0x3f000000 0.5 80cc5aa: eeb4 8bc7 vcmpe.f64 d8, d7 80cc5ae: eef1 fa10 vmrs APSR_nzcv, fpscr 80cc5b2: da39 bge.n 80cc628 <__kernel_rem_pio2+0x238> 80cc5b4: 2600 movs r6, #0 80cc5b6: eeb5 8b40 vcmp.f64 d8, #0.0 80cc5ba: eef1 fa10 vmrs APSR_nzcv, fpscr 80cc5be: f040 808e bne.w 80cc6de <__kernel_rem_pio2+0x2ee> 80cc5c2: 1e7c subs r4, r7, #1 80cc5c4: 4620 mov r0, r4 80cc5c6: 2200 movs r2, #0 80cc5c8: 4550 cmp r0, sl 80cc5ca: da55 bge.n 80cc678 <__kernel_rem_pio2+0x288> 80cc5cc: 2a00 cmp r2, #0 80cc5ce: d164 bne.n 80cc69a <__kernel_rem_pio2+0x2aa> 80cc5d0: 2401 movs r4, #1 80cc5d2: f06f 0003 mvn.w r0, #3 80cc5d6: fb00 f204 mul.w r2, r0, r4 80cc5da: 9904 ldr r1, [sp, #16] 80cc5dc: 588a ldr r2, [r1, r2] 80cc5de: 2a00 cmp r2, #0 80cc5e0: d050 beq.n 80cc684 <__kernel_rem_pio2+0x294> 80cc5e2: aa92 add r2, sp, #584 ; 0x248 80cc5e4: 4490 add r8, r2 80cc5e6: 9a01 ldr r2, [sp, #4] 80cc5e8: a91a add r1, sp, #104 ; 0x68 80cc5ea: 443a add r2, r7 80cc5ec: 1c78 adds r0, r7, #1 80cc5ee: f1a8 0890 sub.w r8, r8, #144 ; 0x90 80cc5f2: eb01 02c2 add.w r2, r1, r2, lsl #3 80cc5f6: 4427 add r7, r4 80cc5f8: 42b8 cmp r0, r7 80cc5fa: f73f af58 bgt.w 80cc4ae <__kernel_rem_pio2+0xbe> 80cc5fe: 9903 ldr r1, [sp, #12] 80cc600: 9e02 ldr r6, [sp, #8] 80cc602: f851 1020 ldr.w r1, [r1, r0, lsl #2] 80cc606: 9105 str r1, [sp, #20] 80cc608: ee07 1a90 vmov s15, r1 80cc60c: eeb8 7be7 vcvt.f64.s32 d7, s15 80cc610: 2400 movs r4, #0 80cc612: eca2 7b02 vstmia r2!, {d7} 80cc616: ed9f 7b44 vldr d7, [pc, #272] ; 80cc728 <__kernel_rem_pio2+0x338> 80cc61a: 4696 mov lr, r2 80cc61c: 429c cmp r4, r3 80cc61e: dd33 ble.n 80cc688 <__kernel_rem_pio2+0x298> 80cc620: eca8 7b02 vstmia r8!, {d7} 80cc624: 3001 adds r0, #1 80cc626: e7e7 b.n 80cc5f8 <__kernel_rem_pio2+0x208> 80cc628: 2602 movs r6, #2 80cc62a: e781 b.n 80cc530 <__kernel_rem_pio2+0x140> 80cc62c: aa06 add r2, sp, #24 80cc62e: f852 2024 ldr.w r2, [r2, r4, lsl #2] 80cc632: b948 cbnz r0, 80cc648 <__kernel_rem_pio2+0x258> 80cc634: b12a cbz r2, 80cc642 <__kernel_rem_pio2+0x252> 80cc636: a906 add r1, sp, #24 80cc638: f1c2 7280 rsb r2, r2, #16777216 ; 0x1000000 80cc63c: f841 2024 str.w r2, [r1, r4, lsl #2] 80cc640: 2201 movs r2, #1 80cc642: 3401 adds r4, #1 80cc644: 4610 mov r0, r2 80cc646: e779 b.n 80cc53c <__kernel_rem_pio2+0x14c> 80cc648: a906 add r1, sp, #24 80cc64a: ebae 0202 sub.w r2, lr, r2 80cc64e: f841 2024 str.w r2, [r1, r4, lsl #2] 80cc652: 4602 mov r2, r0 80cc654: e7f5 b.n 80cc642 <__kernel_rem_pio2+0x252> 80cc656: 1e7c subs r4, r7, #1 80cc658: aa06 add r2, sp, #24 80cc65a: f852 2024 ldr.w r2, [r2, r4, lsl #2] 80cc65e: f3c2 0216 ubfx r2, r2, #0, #23 80cc662: a906 add r1, sp, #24 80cc664: f841 2024 str.w r2, [r1, r4, lsl #2] 80cc668: e772 b.n 80cc550 <__kernel_rem_pio2+0x160> 80cc66a: 1e7c subs r4, r7, #1 80cc66c: aa06 add r2, sp, #24 80cc66e: f852 2024 ldr.w r2, [r2, r4, lsl #2] 80cc672: f3c2 0215 ubfx r2, r2, #0, #22 80cc676: e7f4 b.n 80cc662 <__kernel_rem_pio2+0x272> 80cc678: a906 add r1, sp, #24 80cc67a: f851 1020 ldr.w r1, [r1, r0, lsl #2] 80cc67e: 3801 subs r0, #1 80cc680: 430a orrs r2, r1 80cc682: e7a1 b.n 80cc5c8 <__kernel_rem_pio2+0x1d8> 80cc684: 3401 adds r4, #1 80cc686: e7a6 b.n 80cc5d6 <__kernel_rem_pio2+0x1e6> 80cc688: ecb6 5b02 vldmia r6!, {d5} 80cc68c: ed3e 6b02 vldmdb lr!, {d6} 80cc690: 3401 adds r4, #1 80cc692: eea5 7b06 vfma.f64 d7, d5, d6 80cc696: e7c1 b.n 80cc61c <__kernel_rem_pio2+0x22c> 80cc698: 3c01 subs r4, #1 80cc69a: ab06 add r3, sp, #24 80cc69c: 3d18 subs r5, #24 80cc69e: f853 3024 ldr.w r3, [r3, r4, lsl #2] 80cc6a2: 2b00 cmp r3, #0 80cc6a4: d0f8 beq.n 80cc698 <__kernel_rem_pio2+0x2a8> 80cc6a6: 4628 mov r0, r5 80cc6a8: eeb7 0b00 vmov.f64 d0, #112 ; 0x3f800000 1.0 80cc6ac: f000 fb90 bl 80ccdd0 80cc6b0: 00e3 lsls r3, r4, #3 80cc6b2: ed9f 6b1f vldr d6, [pc, #124] ; 80cc730 <__kernel_rem_pio2+0x340> 80cc6b6: aa6a add r2, sp, #424 ; 0x1a8 80cc6b8: 3308 adds r3, #8 80cc6ba: 18d0 adds r0, r2, r3 80cc6bc: 4622 mov r2, r4 80cc6be: 2a00 cmp r2, #0 80cc6c0: da4b bge.n 80cc75a <__kernel_rem_pio2+0x36a> 80cc6c2: f50d 7e84 add.w lr, sp, #264 ; 0x108 80cc6c6: 2200 movs r2, #0 80cc6c8: 4677 mov r7, lr 80cc6ca: 1aa5 subs r5, r4, r2 80cc6cc: d464 bmi.n 80cc798 <__kernel_rem_pio2+0x3a8> 80cc6ce: a86a add r0, sp, #424 ; 0x1a8 80cc6d0: eb00 05c5 add.w r5, r0, r5, lsl #3 80cc6d4: 491b ldr r1, [pc, #108] ; (80cc744 <__kernel_rem_pio2+0x354>) 80cc6d6: ed9f 7b14 vldr d7, [pc, #80] ; 80cc728 <__kernel_rem_pio2+0x338> 80cc6da: 2000 movs r0, #0 80cc6dc: e054 b.n 80cc788 <__kernel_rem_pio2+0x398> 80cc6de: 4268 negs r0, r5 80cc6e0: eeb0 0b48 vmov.f64 d0, d8 80cc6e4: f000 fb74 bl 80ccdd0 80cc6e8: ed9f 6b13 vldr d6, [pc, #76] ; 80cc738 <__kernel_rem_pio2+0x348> 80cc6ec: eeb4 0bc6 vcmpe.f64 d0, d6 80cc6f0: eef1 fa10 vmrs APSR_nzcv, fpscr 80cc6f4: db28 blt.n 80cc748 <__kernel_rem_pio2+0x358> 80cc6f6: ed9f 7b0e vldr d7, [pc, #56] ; 80cc730 <__kernel_rem_pio2+0x340> 80cc6fa: ee20 7b07 vmul.f64 d7, d0, d7 80cc6fe: eebd 7bc7 vcvt.s32.f64 s14, d7 80cc702: aa06 add r2, sp, #24 80cc704: eeb8 5bc7 vcvt.f64.s32 d5, s14 80cc708: eea5 0b46 vfms.f64 d0, d5, d6 80cc70c: eebd 0bc0 vcvt.s32.f64 s0, d0 80cc710: 1c7c adds r4, r7, #1 80cc712: ee10 3a10 vmov r3, s0 80cc716: f842 3027 str.w r3, [r2, r7, lsl #2] 80cc71a: ee17 3a10 vmov r3, s14 80cc71e: 3518 adds r5, #24 80cc720: f842 3024 str.w r3, [r2, r4, lsl #2] 80cc724: e7bf b.n 80cc6a6 <__kernel_rem_pio2+0x2b6> 80cc726: bf00 nop ... 80cc734: 3e700000 .word 0x3e700000 80cc738: 00000000 .word 0x00000000 80cc73c: 41700000 .word 0x41700000 80cc740: 08186830 .word 0x08186830 80cc744: 081867f0 .word 0x081867f0 80cc748: eebd 0bc0 vcvt.s32.f64 s0, d0 80cc74c: aa06 add r2, sp, #24 80cc74e: ee10 3a10 vmov r3, s0 80cc752: 463c mov r4, r7 80cc754: f842 3027 str.w r3, [r2, r7, lsl #2] 80cc758: e7a5 b.n 80cc6a6 <__kernel_rem_pio2+0x2b6> 80cc75a: a906 add r1, sp, #24 80cc75c: f851 1022 ldr.w r1, [r1, r2, lsl #2] 80cc760: 9101 str r1, [sp, #4] 80cc762: ee07 1a90 vmov s15, r1 80cc766: 3a01 subs r2, #1 80cc768: eeb8 7be7 vcvt.f64.s32 d7, s15 80cc76c: ee27 7b00 vmul.f64 d7, d7, d0 80cc770: ee20 0b06 vmul.f64 d0, d0, d6 80cc774: ed20 7b02 vstmdb r0!, {d7} 80cc778: e7a1 b.n 80cc6be <__kernel_rem_pio2+0x2ce> 80cc77a: ecb1 5b02 vldmia r1!, {d5} 80cc77e: ecb5 6b02 vldmia r5!, {d6} 80cc782: 3001 adds r0, #1 80cc784: eea5 7b06 vfma.f64 d7, d5, d6 80cc788: 4550 cmp r0, sl 80cc78a: dc01 bgt.n 80cc790 <__kernel_rem_pio2+0x3a0> 80cc78c: 4290 cmp r0, r2 80cc78e: ddf4 ble.n 80cc77a <__kernel_rem_pio2+0x38a> 80cc790: ecae 7b02 vstmia lr!, {d7} 80cc794: 3201 adds r2, #1 80cc796: e798 b.n 80cc6ca <__kernel_rem_pio2+0x2da> 80cc798: 9aa2 ldr r2, [sp, #648] ; 0x288 80cc79a: 2a03 cmp r2, #3 80cc79c: d843 bhi.n 80cc826 <__kernel_rem_pio2+0x436> 80cc79e: e8df f002 tbb [pc, r2] 80cc7a2: 1d37 .short 0x1d37 80cc7a4: 021d .short 0x021d 80cc7a6: aa42 add r2, sp, #264 ; 0x108 80cc7a8: 4413 add r3, r2 80cc7aa: 461a mov r2, r3 80cc7ac: 4620 mov r0, r4 80cc7ae: 2800 cmp r0, #0 80cc7b0: dc56 bgt.n 80cc860 <__kernel_rem_pio2+0x470> 80cc7b2: 461a mov r2, r3 80cc7b4: 4620 mov r0, r4 80cc7b6: 2801 cmp r0, #1 80cc7b8: dc62 bgt.n 80cc880 <__kernel_rem_pio2+0x490> 80cc7ba: ed9f 7b45 vldr d7, [pc, #276] ; 80cc8d0 <__kernel_rem_pio2+0x4e0> 80cc7be: 2c01 cmp r4, #1 80cc7c0: dc6e bgt.n 80cc8a0 <__kernel_rem_pio2+0x4b0> 80cc7c2: 2e00 cmp r6, #0 80cc7c4: d172 bne.n 80cc8ac <__kernel_rem_pio2+0x4bc> 80cc7c6: e9dd 2342 ldrd r2, r3, [sp, #264] ; 0x108 80cc7ca: e9cb 2300 strd r2, r3, [fp] 80cc7ce: e9dd 2344 ldrd r2, r3, [sp, #272] ; 0x110 80cc7d2: e9cb 2302 strd r2, r3, [fp, #8] 80cc7d6: ed8b 7b04 vstr d7, [fp, #16] 80cc7da: e024 b.n 80cc826 <__kernel_rem_pio2+0x436> 80cc7dc: ed9f 6b3c vldr d6, [pc, #240] ; 80cc8d0 <__kernel_rem_pio2+0x4e0> 80cc7e0: aa42 add r2, sp, #264 ; 0x108 80cc7e2: 4413 add r3, r2 80cc7e4: 4622 mov r2, r4 80cc7e6: 2a00 cmp r2, #0 80cc7e8: da2b bge.n 80cc842 <__kernel_rem_pio2+0x452> 80cc7ea: b386 cbz r6, 80cc84e <__kernel_rem_pio2+0x45e> 80cc7ec: eeb1 7b46 vneg.f64 d7, d6 80cc7f0: ed8b 7b00 vstr d7, [fp] 80cc7f4: ed9d 7b42 vldr d7, [sp, #264] ; 0x108 80cc7f8: aa44 add r2, sp, #272 ; 0x110 80cc7fa: 2301 movs r3, #1 80cc7fc: ee37 7b46 vsub.f64 d7, d7, d6 80cc800: 429c cmp r4, r3 80cc802: da27 bge.n 80cc854 <__kernel_rem_pio2+0x464> 80cc804: b10e cbz r6, 80cc80a <__kernel_rem_pio2+0x41a> 80cc806: eeb1 7b47 vneg.f64 d7, d7 80cc80a: ed8b 7b02 vstr d7, [fp, #8] 80cc80e: e00a b.n 80cc826 <__kernel_rem_pio2+0x436> 80cc810: ed9f 7b2f vldr d7, [pc, #188] ; 80cc8d0 <__kernel_rem_pio2+0x4e0> 80cc814: aa42 add r2, sp, #264 ; 0x108 80cc816: 4413 add r3, r2 80cc818: 2c00 cmp r4, #0 80cc81a: da0c bge.n 80cc836 <__kernel_rem_pio2+0x446> 80cc81c: b10e cbz r6, 80cc822 <__kernel_rem_pio2+0x432> 80cc81e: eeb1 7b47 vneg.f64 d7, d7 80cc822: ed8b 7b00 vstr d7, [fp] 80cc826: f009 0007 and.w r0, r9, #7 80cc82a: f50d 7d13 add.w sp, sp, #588 ; 0x24c 80cc82e: ecbd 8b06 vpop {d8-d10} 80cc832: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 80cc836: ed33 6b02 vldmdb r3!, {d6} 80cc83a: 3c01 subs r4, #1 80cc83c: ee37 7b06 vadd.f64 d7, d7, d6 80cc840: e7ea b.n 80cc818 <__kernel_rem_pio2+0x428> 80cc842: ed33 7b02 vldmdb r3!, {d7} 80cc846: 3a01 subs r2, #1 80cc848: ee36 6b07 vadd.f64 d6, d6, d7 80cc84c: e7cb b.n 80cc7e6 <__kernel_rem_pio2+0x3f6> 80cc84e: eeb0 7b46 vmov.f64 d7, d6 80cc852: e7cd b.n 80cc7f0 <__kernel_rem_pio2+0x400> 80cc854: ecb2 6b02 vldmia r2!, {d6} 80cc858: 3301 adds r3, #1 80cc85a: ee37 7b06 vadd.f64 d7, d7, d6 80cc85e: e7cf b.n 80cc800 <__kernel_rem_pio2+0x410> 80cc860: ed12 5b02 vldr d5, [r2, #-8] 80cc864: ed12 7b04 vldr d7, [r2, #-16] 80cc868: ee37 6b05 vadd.f64 d6, d7, d5 80cc86c: ee37 7b46 vsub.f64 d7, d7, d6 80cc870: ee37 7b05 vadd.f64 d7, d7, d5 80cc874: ed22 7b02 vstmdb r2!, {d7} 80cc878: 3801 subs r0, #1 80cc87a: ed02 6b02 vstr d6, [r2, #-8] 80cc87e: e796 b.n 80cc7ae <__kernel_rem_pio2+0x3be> 80cc880: ed12 5b02 vldr d5, [r2, #-8] 80cc884: ed12 7b04 vldr d7, [r2, #-16] 80cc888: ee37 6b05 vadd.f64 d6, d7, d5 80cc88c: ee37 7b46 vsub.f64 d7, d7, d6 80cc890: ee37 7b05 vadd.f64 d7, d7, d5 80cc894: ed22 7b02 vstmdb r2!, {d7} 80cc898: 3801 subs r0, #1 80cc89a: ed02 6b02 vstr d6, [r2, #-8] 80cc89e: e78a b.n 80cc7b6 <__kernel_rem_pio2+0x3c6> 80cc8a0: ed33 6b02 vldmdb r3!, {d6} 80cc8a4: 3c01 subs r4, #1 80cc8a6: ee37 7b06 vadd.f64 d7, d7, d6 80cc8aa: e788 b.n 80cc7be <__kernel_rem_pio2+0x3ce> 80cc8ac: ed97 6b00 vldr d6, [r7] 80cc8b0: eeb1 7b47 vneg.f64 d7, d7 80cc8b4: eeb1 6b46 vneg.f64 d6, d6 80cc8b8: ed8b 6b00 vstr d6, [fp] 80cc8bc: ed97 6b02 vldr d6, [r7, #8] 80cc8c0: eeb1 6b46 vneg.f64 d6, d6 80cc8c4: ed8b 6b02 vstr d6, [fp, #8] 80cc8c8: e785 b.n 80cc7d6 <__kernel_rem_pio2+0x3e6> 80cc8ca: bf00 nop 80cc8cc: f3af 8000 nop.w ... 080cc8d8 <__kernel_sin>: 80cc8d8: ee10 3a90 vmov r3, s1 80cc8dc: f023 4300 bic.w r3, r3, #2147483648 ; 0x80000000 80cc8e0: f1b3 5f79 cmp.w r3, #1044381696 ; 0x3e400000 80cc8e4: da04 bge.n 80cc8f0 <__kernel_sin+0x18> 80cc8e6: eefd 7bc0 vcvt.s32.f64 s15, d0 80cc8ea: ee17 3a90 vmov r3, s15 80cc8ee: b35b cbz r3, 80cc948 <__kernel_sin+0x70> 80cc8f0: ee20 6b00 vmul.f64 d6, d0, d0 80cc8f4: ee20 5b06 vmul.f64 d5, d0, d6 80cc8f8: ed9f 7b15 vldr d7, [pc, #84] ; 80cc950 <__kernel_sin+0x78> 80cc8fc: ed9f 4b16 vldr d4, [pc, #88] ; 80cc958 <__kernel_sin+0x80> 80cc900: eea6 4b07 vfma.f64 d4, d6, d7 80cc904: ed9f 7b16 vldr d7, [pc, #88] ; 80cc960 <__kernel_sin+0x88> 80cc908: eea6 7b04 vfma.f64 d7, d6, d4 80cc90c: ed9f 4b16 vldr d4, [pc, #88] ; 80cc968 <__kernel_sin+0x90> 80cc910: eea6 4b07 vfma.f64 d4, d6, d7 80cc914: ed9f 7b16 vldr d7, [pc, #88] ; 80cc970 <__kernel_sin+0x98> 80cc918: eea6 7b04 vfma.f64 d7, d6, d4 80cc91c: b930 cbnz r0, 80cc92c <__kernel_sin+0x54> 80cc91e: ed9f 4b16 vldr d4, [pc, #88] ; 80cc978 <__kernel_sin+0xa0> 80cc922: eea6 4b07 vfma.f64 d4, d6, d7 80cc926: eea5 0b04 vfma.f64 d0, d5, d4 80cc92a: 4770 bx lr 80cc92c: ee27 7b45 vnmul.f64 d7, d7, d5 80cc930: eeb6 4b00 vmov.f64 d4, #96 ; 0x3f000000 0.5 80cc934: eea1 7b04 vfma.f64 d7, d1, d4 80cc938: ee96 1b07 vfnms.f64 d1, d6, d7 80cc93c: ed9f 7b10 vldr d7, [pc, #64] ; 80cc980 <__kernel_sin+0xa8> 80cc940: eea5 1b07 vfma.f64 d1, d5, d7 80cc944: ee30 0b41 vsub.f64 d0, d0, d1 80cc948: 4770 bx lr 80cc94a: bf00 nop 80cc94c: f3af 8000 nop.w 80cc950: 5acfd57c .word 0x5acfd57c 80cc954: 3de5d93a .word 0x3de5d93a 80cc958: 8a2b9ceb .word 0x8a2b9ceb 80cc95c: be5ae5e6 .word 0xbe5ae5e6 80cc960: 57b1fe7d .word 0x57b1fe7d 80cc964: 3ec71de3 .word 0x3ec71de3 80cc968: 19c161d5 .word 0x19c161d5 80cc96c: bf2a01a0 .word 0xbf2a01a0 80cc970: 1110f8a6 .word 0x1110f8a6 80cc974: 3f811111 .word 0x3f811111 80cc978: 55555549 .word 0x55555549 80cc97c: bfc55555 .word 0xbfc55555 80cc980: 55555549 .word 0x55555549 80cc984: 3fc55555 .word 0x3fc55555 080cc988 <__kernel_tan>: 80cc988: eeb0 7b40 vmov.f64 d7, d0 80cc98c: ee17 3a90 vmov r3, s15 80cc990: b507 push {r0, r1, r2, lr} 80cc992: 4981 ldr r1, [pc, #516] ; (80ccb98 <__kernel_tan+0x210>) 80cc994: f023 4200 bic.w r2, r3, #2147483648 ; 0x80000000 80cc998: 428a cmp r2, r1 80cc99a: dc1c bgt.n 80cc9d6 <__kernel_tan+0x4e> 80cc99c: eefd 6bc0 vcvt.s32.f64 s13, d0 80cc9a0: ee16 1a90 vmov r1, s13 80cc9a4: bb69 cbnz r1, 80cca02 <__kernel_tan+0x7a> 80cc9a6: ee10 3a10 vmov r3, s0 80cc9aa: 431a orrs r2, r3 80cc9ac: 1c43 adds r3, r0, #1 80cc9ae: 4313 orrs r3, r2 80cc9b0: d10a bne.n 80cc9c8 <__kernel_tan+0x40> 80cc9b2: f7fe f8e1 bl 80cab78 80cc9b6: eeb7 6b00 vmov.f64 d6, #112 ; 0x3f800000 1.0 80cc9ba: ee86 7b00 vdiv.f64 d7, d6, d0 80cc9be: eeb0 0b47 vmov.f64 d0, d7 80cc9c2: b003 add sp, #12 80cc9c4: f85d fb04 ldr.w pc, [sp], #4 80cc9c8: 2801 cmp r0, #1 80cc9ca: d0f8 beq.n 80cc9be <__kernel_tan+0x36> 80cc9cc: eebf 6b00 vmov.f64 d6, #240 ; 0xbf800000 -1.0 80cc9d0: ee86 7b00 vdiv.f64 d7, d6, d0 80cc9d4: e7f3 b.n 80cc9be <__kernel_tan+0x36> 80cc9d6: 4971 ldr r1, [pc, #452] ; (80ccb9c <__kernel_tan+0x214>) 80cc9d8: 428a cmp r2, r1 80cc9da: dd12 ble.n 80cca02 <__kernel_tan+0x7a> 80cc9dc: ed9f 6b4e vldr d6, [pc, #312] ; 80ccb18 <__kernel_tan+0x190> 80cc9e0: 2b00 cmp r3, #0 80cc9e2: bfb8 it lt 80cc9e4: eeb1 7b40 vneglt.f64 d7, d0 80cc9e8: ee36 7b47 vsub.f64 d7, d6, d7 80cc9ec: ed9f 6b4c vldr d6, [pc, #304] ; 80ccb20 <__kernel_tan+0x198> 80cc9f0: bfb8 it lt 80cc9f2: eeb1 1b41 vneglt.f64 d1, d1 80cc9f6: ee36 1b41 vsub.f64 d1, d6, d1 80cc9fa: ee31 7b07 vadd.f64 d7, d1, d7 80cc9fe: ed9f 1b4a vldr d1, [pc, #296] ; 80ccb28 <__kernel_tan+0x1a0> 80cca02: ee27 5b07 vmul.f64 d5, d7, d7 80cca06: ee25 6b05 vmul.f64 d6, d5, d5 80cca0a: ed9f 3b49 vldr d3, [pc, #292] ; 80ccb30 <__kernel_tan+0x1a8> 80cca0e: ee27 0b05 vmul.f64 d0, d7, d5 80cca12: ed9f 4b49 vldr d4, [pc, #292] ; 80ccb38 <__kernel_tan+0x1b0> 80cca16: eea6 4b03 vfma.f64 d4, d6, d3 80cca1a: ed9f 3b49 vldr d3, [pc, #292] ; 80ccb40 <__kernel_tan+0x1b8> 80cca1e: eea6 3b04 vfma.f64 d3, d6, d4 80cca22: ed9f 4b49 vldr d4, [pc, #292] ; 80ccb48 <__kernel_tan+0x1c0> 80cca26: eea6 4b03 vfma.f64 d4, d6, d3 80cca2a: ed9f 3b49 vldr d3, [pc, #292] ; 80ccb50 <__kernel_tan+0x1c8> 80cca2e: eea6 3b04 vfma.f64 d3, d6, d4 80cca32: ed9f 4b49 vldr d4, [pc, #292] ; 80ccb58 <__kernel_tan+0x1d0> 80cca36: ed9f 2b4a vldr d2, [pc, #296] ; 80ccb60 <__kernel_tan+0x1d8> 80cca3a: eea6 4b03 vfma.f64 d4, d6, d3 80cca3e: ed9f 3b4a vldr d3, [pc, #296] ; 80ccb68 <__kernel_tan+0x1e0> 80cca42: eea6 3b02 vfma.f64 d3, d6, d2 80cca46: ed9f 2b4a vldr d2, [pc, #296] ; 80ccb70 <__kernel_tan+0x1e8> 80cca4a: eea6 2b03 vfma.f64 d2, d6, d3 80cca4e: ed9f 3b4a vldr d3, [pc, #296] ; 80ccb78 <__kernel_tan+0x1f0> 80cca52: eea6 3b02 vfma.f64 d3, d6, d2 80cca56: ed9f 2b4a vldr d2, [pc, #296] ; 80ccb80 <__kernel_tan+0x1f8> 80cca5a: eea6 2b03 vfma.f64 d2, d6, d3 80cca5e: ed9f 3b4a vldr d3, [pc, #296] ; 80ccb88 <__kernel_tan+0x200> 80cca62: 494e ldr r1, [pc, #312] ; (80ccb9c <__kernel_tan+0x214>) 80cca64: eea6 3b02 vfma.f64 d3, d6, d2 80cca68: eeb0 6b41 vmov.f64 d6, d1 80cca6c: eea5 4b03 vfma.f64 d4, d5, d3 80cca70: eea0 6b04 vfma.f64 d6, d0, d4 80cca74: eea5 1b06 vfma.f64 d1, d5, d6 80cca78: ed9f 6b45 vldr d6, [pc, #276] ; 80ccb90 <__kernel_tan+0x208> 80cca7c: 428a cmp r2, r1 80cca7e: eea0 1b06 vfma.f64 d1, d0, d6 80cca82: ee37 6b01 vadd.f64 d6, d7, d1 80cca86: ed8d 6b00 vstr d6, [sp] 80cca8a: dd1f ble.n 80ccacc <__kernel_tan+0x144> 80cca8c: ed9d 5b00 vldr d5, [sp] 80cca90: 179b asrs r3, r3, #30 80cca92: ee06 0a90 vmov s13, r0 80cca96: ee25 3b05 vmul.f64 d3, d5, d5 80cca9a: f003 0302 and.w r3, r3, #2 80cca9e: f1c3 0301 rsb r3, r3, #1 80ccaa2: eeb8 6be6 vcvt.f64.s32 d6, s13 80ccaa6: ee35 4b06 vadd.f64 d4, d5, d6 80ccaaa: ee83 5b04 vdiv.f64 d5, d3, d4 80ccaae: ee35 1b41 vsub.f64 d1, d5, d1 80ccab2: eeb0 5b00 vmov.f64 d5, #0 ; 0x40000000 2.0 80ccab6: ee37 7b41 vsub.f64 d7, d7, d1 80ccaba: eea7 6b45 vfms.f64 d6, d7, d5 80ccabe: ee07 3a10 vmov s14, r3 80ccac2: eeb8 7bc7 vcvt.f64.s32 d7, s14 80ccac6: ee26 7b07 vmul.f64 d7, d6, d7 80ccaca: e778 b.n 80cc9be <__kernel_tan+0x36> 80ccacc: 2801 cmp r0, #1 80ccace: d020 beq.n 80ccb12 <__kernel_tan+0x18a> 80ccad0: eebf 6b00 vmov.f64 d6, #240 ; 0xbf800000 -1.0 80ccad4: ed9d 3b00 vldr d3, [sp] 80ccad8: e9dd 0100 ldrd r0, r1, [sp] 80ccadc: ee86 4b03 vdiv.f64 d4, d6, d3 80ccae0: ed8d 4b00 vstr d4, [sp] 80ccae4: e9dd 2300 ldrd r2, r3, [sp] 80ccae8: 2000 movs r0, #0 80ccaea: 4602 mov r2, r0 80ccaec: ec43 2b16 vmov d6, r2, r3 80ccaf0: ec41 0b15 vmov d5, r0, r1 80ccaf4: ee35 7b47 vsub.f64 d7, d5, d7 80ccaf8: ee31 1b47 vsub.f64 d1, d1, d7 80ccafc: eeb7 7b00 vmov.f64 d7, #112 ; 0x3f800000 1.0 80ccb00: eea5 7b06 vfma.f64 d7, d5, d6 80ccb04: eea1 7b06 vfma.f64 d7, d1, d6 80ccb08: eea4 6b07 vfma.f64 d6, d4, d7 80ccb0c: eeb0 7b46 vmov.f64 d7, d6 80ccb10: e755 b.n 80cc9be <__kernel_tan+0x36> 80ccb12: ed9d 7b00 vldr d7, [sp] 80ccb16: e752 b.n 80cc9be <__kernel_tan+0x36> 80ccb18: 54442d18 .word 0x54442d18 80ccb1c: 3fe921fb .word 0x3fe921fb 80ccb20: 33145c07 .word 0x33145c07 80ccb24: 3c81a626 .word 0x3c81a626 ... 80ccb30: db605373 .word 0xdb605373 80ccb34: bef375cb .word 0xbef375cb 80ccb38: a03792a6 .word 0xa03792a6 80ccb3c: 3f147e88 .word 0x3f147e88 80ccb40: f2f26501 .word 0xf2f26501 80ccb44: 3f4344d8 .word 0x3f4344d8 80ccb48: c9560328 .word 0xc9560328 80ccb4c: 3f6d6d22 .word 0x3f6d6d22 80ccb50: 8406d637 .word 0x8406d637 80ccb54: 3f9664f4 .word 0x3f9664f4 80ccb58: 1110fe7a .word 0x1110fe7a 80ccb5c: 3fc11111 .word 0x3fc11111 80ccb60: 74bf7ad4 .word 0x74bf7ad4 80ccb64: 3efb2a70 .word 0x3efb2a70 80ccb68: 32f0a7e9 .word 0x32f0a7e9 80ccb6c: 3f12b80f .word 0x3f12b80f 80ccb70: 1a8d1068 .word 0x1a8d1068 80ccb74: 3f3026f7 .word 0x3f3026f7 80ccb78: fee08315 .word 0xfee08315 80ccb7c: 3f57dbc8 .word 0x3f57dbc8 80ccb80: e96e8493 .word 0xe96e8493 80ccb84: 3f8226e3 .word 0x3f8226e3 80ccb88: 1bb341fe .word 0x1bb341fe 80ccb8c: 3faba1ba .word 0x3faba1ba 80ccb90: 55555563 .word 0x55555563 80ccb94: 3fd55555 .word 0x3fd55555 80ccb98: 3e2fffff .word 0x3e2fffff 80ccb9c: 3fe59427 .word 0x3fe59427 080ccba0 : 80ccba0: ee10 3a90 vmov r3, s1 80ccba4: f043 4000 orr.w r0, r3, #2147483648 ; 0x80000000 80ccba8: f500 1080 add.w r0, r0, #1048576 ; 0x100000 80ccbac: 0fc0 lsrs r0, r0, #31 80ccbae: 4770 bx lr 080ccbb0 : 80ccbb0: ee10 1a90 vmov r1, s1 80ccbb4: f3c1 520a ubfx r2, r1, #20, #11 80ccbb8: f2a2 33ff subw r3, r2, #1023 ; 0x3ff 80ccbbc: 2b13 cmp r3, #19 80ccbbe: b530 push {r4, r5, lr} 80ccbc0: ee10 0a10 vmov r0, s0 80ccbc4: ee10 5a10 vmov r5, s0 80ccbc8: dc33 bgt.n 80ccc32 80ccbca: 2b00 cmp r3, #0 80ccbcc: da17 bge.n 80ccbfe 80ccbce: ed9f 7b30 vldr d7, [pc, #192] ; 80ccc90 80ccbd2: ee30 0b07 vadd.f64 d0, d0, d7 80ccbd6: eeb5 0bc0 vcmpe.f64 d0, #0.0 80ccbda: eef1 fa10 vmrs APSR_nzcv, fpscr 80ccbde: dd09 ble.n 80ccbf4 80ccbe0: 2900 cmp r1, #0 80ccbe2: da50 bge.n 80ccc86 80ccbe4: f021 4300 bic.w r3, r1, #2147483648 ; 0x80000000 80ccbe8: 432b orrs r3, r5 80ccbea: 4b2b ldr r3, [pc, #172] ; (80ccc98 ) 80ccbec: f04f 0000 mov.w r0, #0 80ccbf0: bf18 it ne 80ccbf2: 4619 movne r1, r3 80ccbf4: 460b mov r3, r1 80ccbf6: 4602 mov r2, r0 80ccbf8: ec43 2b10 vmov d0, r2, r3 80ccbfc: bd30 pop {r4, r5, pc} 80ccbfe: 4a27 ldr r2, [pc, #156] ; (80ccc9c ) 80ccc00: 411a asrs r2, r3 80ccc02: ea01 0402 and.w r4, r1, r2 80ccc06: 432c orrs r4, r5 80ccc08: d0f8 beq.n 80ccbfc 80ccc0a: ed9f 7b21 vldr d7, [pc, #132] ; 80ccc90 80ccc0e: ee30 0b07 vadd.f64 d0, d0, d7 80ccc12: eeb5 0bc0 vcmpe.f64 d0, #0.0 80ccc16: eef1 fa10 vmrs APSR_nzcv, fpscr 80ccc1a: ddeb ble.n 80ccbf4 80ccc1c: 2900 cmp r1, #0 80ccc1e: bfbe ittt lt 80ccc20: f44f 1080 movlt.w r0, #1048576 ; 0x100000 80ccc24: fa40 f303 asrlt.w r3, r0, r3 80ccc28: 18c9 addlt r1, r1, r3 80ccc2a: ea21 0102 bic.w r1, r1, r2 80ccc2e: 2000 movs r0, #0 80ccc30: e7e0 b.n 80ccbf4 80ccc32: 2b33 cmp r3, #51 ; 0x33 80ccc34: dd05 ble.n 80ccc42 80ccc36: f5b3 6f80 cmp.w r3, #1024 ; 0x400 80ccc3a: d1df bne.n 80ccbfc 80ccc3c: ee30 0b00 vadd.f64 d0, d0, d0 80ccc40: bd30 pop {r4, r5, pc} 80ccc42: f2a2 4413 subw r4, r2, #1043 ; 0x413 80ccc46: f04f 32ff mov.w r2, #4294967295 80ccc4a: 40e2 lsrs r2, r4 80ccc4c: 4215 tst r5, r2 80ccc4e: d0d5 beq.n 80ccbfc 80ccc50: ed9f 7b0f vldr d7, [pc, #60] ; 80ccc90 80ccc54: ee30 0b07 vadd.f64 d0, d0, d7 80ccc58: eeb5 0bc0 vcmpe.f64 d0, #0.0 80ccc5c: eef1 fa10 vmrs APSR_nzcv, fpscr 80ccc60: ddc8 ble.n 80ccbf4 80ccc62: 2900 cmp r1, #0 80ccc64: da02 bge.n 80ccc6c 80ccc66: 2b14 cmp r3, #20 80ccc68: d103 bne.n 80ccc72 80ccc6a: 3101 adds r1, #1 80ccc6c: ea20 0002 bic.w r0, r0, r2 80ccc70: e7c0 b.n 80ccbf4 80ccc72: 2401 movs r4, #1 80ccc74: f1c3 0334 rsb r3, r3, #52 ; 0x34 80ccc78: fa04 f303 lsl.w r3, r4, r3 80ccc7c: 4418 add r0, r3 80ccc7e: 4285 cmp r5, r0 80ccc80: bf88 it hi 80ccc82: 1909 addhi r1, r1, r4 80ccc84: e7f2 b.n 80ccc6c 80ccc86: 2000 movs r0, #0 80ccc88: 4601 mov r1, r0 80ccc8a: e7b3 b.n 80ccbf4 80ccc8c: f3af 8000 nop.w 80ccc90: 8800759c .word 0x8800759c 80ccc94: 7e37e43c .word 0x7e37e43c 80ccc98: bff00000 .word 0xbff00000 80ccc9c: 000fffff .word 0x000fffff 080ccca0 : 80ccca0: 2000 movs r0, #0 80ccca2: 4770 bx lr 80ccca4: 0000 movs r0, r0 ... 080ccca8 : 80ccca8: ed9f 0b01 vldr d0, [pc, #4] ; 80cccb0 80cccac: 4770 bx lr 80cccae: bf00 nop 80cccb0: 00000000 .word 0x00000000 80cccb4: 7ff80000 .word 0x7ff80000 080cccb8 : 80cccb8: b530 push {r4, r5, lr} 80cccba: b085 sub sp, #20 80cccbc: ed8d 0b00 vstr d0, [sp] 80cccc0: 9b01 ldr r3, [sp, #4] 80cccc2: 9d00 ldr r5, [sp, #0] 80cccc4: f3c3 510a ubfx r1, r3, #20, #11 80cccc8: f2a1 30ff subw r0, r1, #1023 ; 0x3ff 80ccccc: 2813 cmp r0, #19 80cccce: 462a mov r2, r5 80cccd0: ea4f 74d3 mov.w r4, r3, lsr #31 80cccd4: dc5a bgt.n 80ccd8c 80cccd6: 2800 cmp r0, #0 80cccd8: da2f bge.n 80ccd3a 80cccda: f023 4200 bic.w r2, r3, #2147483648 ; 0x80000000 80cccde: 432a orrs r2, r5 80ccce0: d027 beq.n 80ccd32 80ccce2: f3c3 0213 ubfx r2, r3, #0, #20 80ccce6: 4315 orrs r5, r2 80ccce8: 426a negs r2, r5 80cccea: 432a orrs r2, r5 80cccec: 0b12 lsrs r2, r2, #12 80cccee: 0c5b lsrs r3, r3, #17 80cccf0: f402 2200 and.w r2, r2, #524288 ; 0x80000 80cccf4: 045b lsls r3, r3, #17 80cccf6: e9dd 0100 ldrd r0, r1, [sp] 80cccfa: ea42 0103 orr.w r1, r2, r3 80cccfe: 4b32 ldr r3, [pc, #200] ; (80ccdc8 ) 80ccd00: eb03 03c4 add.w r3, r3, r4, lsl #3 80ccd04: ed93 6b00 vldr d6, [r3] 80ccd08: ec41 0b17 vmov d7, r0, r1 80ccd0c: ee37 7b06 vadd.f64 d7, d7, d6 80ccd10: ed8d 7b02 vstr d7, [sp, #8] 80ccd14: ed9d 7b02 vldr d7, [sp, #8] 80ccd18: ee37 7b46 vsub.f64 d7, d7, d6 80ccd1c: ed8d 7b00 vstr d7, [sp] 80ccd20: 9901 ldr r1, [sp, #4] 80ccd22: e9dd 2300 ldrd r2, r3, [sp] 80ccd26: f021 4100 bic.w r1, r1, #2147483648 ; 0x80000000 80ccd2a: ea41 73c4 orr.w r3, r1, r4, lsl #31 80ccd2e: e9cd 2300 strd r2, r3, [sp] 80ccd32: ed9d 0b00 vldr d0, [sp] 80ccd36: b005 add sp, #20 80ccd38: bd30 pop {r4, r5, pc} 80ccd3a: 4924 ldr r1, [pc, #144] ; (80ccdcc ) 80ccd3c: 4101 asrs r1, r0 80ccd3e: ea03 0501 and.w r5, r3, r1 80ccd42: 4315 orrs r5, r2 80ccd44: d0f5 beq.n 80ccd32 80ccd46: 0849 lsrs r1, r1, #1 80ccd48: ea03 0501 and.w r5, r3, r1 80ccd4c: 432a orrs r2, r5 80ccd4e: d00b beq.n 80ccd68 80ccd50: ea23 0101 bic.w r1, r3, r1 80ccd54: f44f 2380 mov.w r3, #262144 ; 0x40000 80ccd58: 2813 cmp r0, #19 80ccd5a: fa43 f300 asr.w r3, r3, r0 80ccd5e: bf0c ite eq 80ccd60: f04f 4200 moveq.w r2, #2147483648 ; 0x80000000 80ccd64: 2200 movne r2, #0 80ccd66: 430b orrs r3, r1 80ccd68: 4619 mov r1, r3 80ccd6a: 4b17 ldr r3, [pc, #92] ; (80ccdc8 ) 80ccd6c: eb03 04c4 add.w r4, r3, r4, lsl #3 80ccd70: ed94 6b00 vldr d6, [r4] 80ccd74: 4610 mov r0, r2 80ccd76: ec41 0b17 vmov d7, r0, r1 80ccd7a: ee37 7b06 vadd.f64 d7, d7, d6 80ccd7e: ed8d 7b02 vstr d7, [sp, #8] 80ccd82: ed9d 7b02 vldr d7, [sp, #8] 80ccd86: ee37 7b46 vsub.f64 d7, d7, d6 80ccd8a: e008 b.n 80ccd9e 80ccd8c: 2833 cmp r0, #51 ; 0x33 80ccd8e: dd09 ble.n 80ccda4 80ccd90: f5b0 6f80 cmp.w r0, #1024 ; 0x400 80ccd94: d1cd bne.n 80ccd32 80ccd96: ed9d 7b00 vldr d7, [sp] 80ccd9a: ee37 7b07 vadd.f64 d7, d7, d7 80ccd9e: ed8d 7b00 vstr d7, [sp] 80ccda2: e7c6 b.n 80ccd32 80ccda4: f2a1 4013 subw r0, r1, #1043 ; 0x413 80ccda8: f04f 31ff mov.w r1, #4294967295 80ccdac: 40c1 lsrs r1, r0 80ccdae: 420d tst r5, r1 80ccdb0: d0bf beq.n 80ccd32 80ccdb2: 0849 lsrs r1, r1, #1 80ccdb4: 420d tst r5, r1 80ccdb6: bf1f itttt ne 80ccdb8: f04f 4280 movne.w r2, #1073741824 ; 0x40000000 80ccdbc: ea25 0101 bicne.w r1, r5, r1 80ccdc0: 4102 asrne r2, r0 80ccdc2: 430a orrne r2, r1 80ccdc4: e7d0 b.n 80ccd68 80ccdc6: bf00 nop 80ccdc8: 08186840 .word 0x08186840 80ccdcc: 000fffff .word 0x000fffff 080ccdd0 : 80ccdd0: b500 push {lr} 80ccdd2: ed2d 8b02 vpush {d8} 80ccdd6: b083 sub sp, #12 80ccdd8: ed8d 0b00 vstr d0, [sp] 80ccddc: e89d 000a ldmia.w sp, {r1, r3} 80ccde0: f3c3 520a ubfx r2, r3, #20, #11 80ccde4: b9a2 cbnz r2, 80cce10 80ccde6: f023 4300 bic.w r3, r3, #2147483648 ; 0x80000000 80ccdea: 430b orrs r3, r1 80ccdec: d03a beq.n 80cce64 80ccdee: ed9f 7b2e vldr d7, [pc, #184] ; 80ccea8 80ccdf2: 4a35 ldr r2, [pc, #212] ; (80ccec8 ) 80ccdf4: ee20 7b07 vmul.f64 d7, d0, d7 80ccdf8: 4290 cmp r0, r2 80ccdfa: ed8d 7b00 vstr d7, [sp] 80ccdfe: 9b01 ldr r3, [sp, #4] 80cce00: da11 bge.n 80cce26 80cce02: ed9f 7b2b vldr d7, [pc, #172] ; 80cceb0 80cce06: ed9d 6b00 vldr d6, [sp] 80cce0a: ee27 7b06 vmul.f64 d7, d7, d6 80cce0e: e007 b.n 80cce20 80cce10: f240 71ff movw r1, #2047 ; 0x7ff 80cce14: 428a cmp r2, r1 80cce16: d109 bne.n 80cce2c 80cce18: ed9d 7b00 vldr d7, [sp] 80cce1c: ee37 7b07 vadd.f64 d7, d7, d7 80cce20: ed8d 7b00 vstr d7, [sp] 80cce24: e01e b.n 80cce64 80cce26: f3c3 520a ubfx r2, r3, #20, #11 80cce2a: 3a36 subs r2, #54 ; 0x36 80cce2c: 4402 add r2, r0 80cce2e: f240 71fe movw r1, #2046 ; 0x7fe 80cce32: 428a cmp r2, r1 80cce34: dd0a ble.n 80cce4c 80cce36: ed9f 8b20 vldr d8, [pc, #128] ; 80cceb8 80cce3a: eeb0 0b48 vmov.f64 d0, d8 80cce3e: ed9d 1b00 vldr d1, [sp] 80cce42: f000 f881 bl 80ccf48 80cce46: ee20 7b08 vmul.f64 d7, d0, d8 80cce4a: e7e9 b.n 80cce20 80cce4c: 2a00 cmp r2, #0 80cce4e: dd10 ble.n 80cce72 80cce50: e9dd 0100 ldrd r0, r1, [sp] 80cce54: f023 43ff bic.w r3, r3, #2139095040 ; 0x7f800000 80cce58: f423 03e0 bic.w r3, r3, #7340032 ; 0x700000 80cce5c: ea43 5102 orr.w r1, r3, r2, lsl #20 80cce60: e9cd 0100 strd r0, r1, [sp] 80cce64: ed9d 0b00 vldr d0, [sp] 80cce68: b003 add sp, #12 80cce6a: ecbd 8b02 vpop {d8} 80cce6e: f85d fb04 ldr.w pc, [sp], #4 80cce72: f112 0f35 cmn.w r2, #53 ; 0x35 80cce76: da06 bge.n 80cce86 80cce78: f24c 3350 movw r3, #50000 ; 0xc350 80cce7c: 4298 cmp r0, r3 80cce7e: dcda bgt.n 80cce36 80cce80: ed9f 8b0b vldr d8, [pc, #44] ; 80cceb0 80cce84: e7d9 b.n 80cce3a 80cce86: e9dd 0100 ldrd r0, r1, [sp] 80cce8a: f023 43ff bic.w r3, r3, #2139095040 ; 0x7f800000 80cce8e: 3236 adds r2, #54 ; 0x36 80cce90: f423 03e0 bic.w r3, r3, #7340032 ; 0x700000 80cce94: ea43 5102 orr.w r1, r3, r2, lsl #20 80cce98: ec41 0b17 vmov d7, r0, r1 80cce9c: ed9f 6b08 vldr d6, [pc, #32] ; 80ccec0 80ccea0: e7b3 b.n 80cce0a 80ccea2: bf00 nop 80ccea4: f3af 8000 nop.w 80ccea8: 00000000 .word 0x00000000 80cceac: 43500000 .word 0x43500000 80cceb0: c2f8f359 .word 0xc2f8f359 80cceb4: 01a56e1f .word 0x01a56e1f 80cceb8: 8800759c .word 0x8800759c 80ccebc: 7e37e43c .word 0x7e37e43c 80ccec0: 00000000 .word 0x00000000 80ccec4: 3c900000 .word 0x3c900000 80ccec8: ffff3cb0 .word 0xffff3cb0 80ccecc: 00000000 .word 0x00000000 080cced0 : 80cced0: b51f push {r0, r1, r2, r3, r4, lr} 80cced2: eeb0 7b40 vmov.f64 d7, d0 80cced6: ee17 3a90 vmov r3, s15 80cceda: 4a19 ldr r2, [pc, #100] ; (80ccf40 ) 80ccedc: f023 4300 bic.w r3, r3, #2147483648 ; 0x80000000 80ccee0: 4293 cmp r3, r2 80ccee2: dc05 bgt.n 80ccef0 80ccee4: ed9f 1b14 vldr d1, [pc, #80] ; 80ccf38 80ccee8: 2000 movs r0, #0 80cceea: f7ff fcf5 bl 80cc8d8 <__kernel_sin> 80cceee: e004 b.n 80ccefa 80ccef0: 4a14 ldr r2, [pc, #80] ; (80ccf44 ) 80ccef2: 4293 cmp r3, r2 80ccef4: dd04 ble.n 80ccf00 80ccef6: ee30 0b40 vsub.f64 d0, d0, d0 80ccefa: b005 add sp, #20 80ccefc: f85d fb04 ldr.w pc, [sp], #4 80ccf00: 4668 mov r0, sp 80ccf02: f7fe fe99 bl 80cbc38 <__ieee754_rem_pio2> 80ccf06: f000 0003 and.w r0, r0, #3 80ccf0a: 2801 cmp r0, #1 80ccf0c: ed9d 1b02 vldr d1, [sp, #8] 80ccf10: ed9d 0b00 vldr d0, [sp] 80ccf14: d004 beq.n 80ccf20 80ccf16: 2802 cmp r0, #2 80ccf18: d005 beq.n 80ccf26 80ccf1a: b950 cbnz r0, 80ccf32 80ccf1c: 2001 movs r0, #1 80ccf1e: e7e4 b.n 80cceea 80ccf20: f7ff f9fa bl 80cc318 <__kernel_cos> 80ccf24: e7e9 b.n 80ccefa 80ccf26: 2001 movs r0, #1 80ccf28: f7ff fcd6 bl 80cc8d8 <__kernel_sin> 80ccf2c: eeb1 0b40 vneg.f64 d0, d0 80ccf30: e7e3 b.n 80ccefa 80ccf32: f7ff f9f1 bl 80cc318 <__kernel_cos> 80ccf36: e7f9 b.n 80ccf2c ... 80ccf40: 3fe921fb .word 0x3fe921fb 80ccf44: 7fefffff .word 0x7fefffff 080ccf48 : 80ccf48: ec53 2b10 vmov r2, r3, d0 80ccf4c: ee11 0a90 vmov r0, s3 80ccf50: f023 4100 bic.w r1, r3, #2147483648 ; 0x80000000 80ccf54: f000 4000 and.w r0, r0, #2147483648 ; 0x80000000 80ccf58: ea41 0300 orr.w r3, r1, r0 80ccf5c: ec43 2b10 vmov d0, r2, r3 80ccf60: 4770 bx lr 080ccf62 : 80ccf62: 220a movs r2, #10 80ccf64: 2100 movs r1, #0 80ccf66: f000 ba41 b.w 80cd3ec ... 080ccf6c <__errno>: 80ccf6c: 4b01 ldr r3, [pc, #4] ; (80ccf74 <__errno+0x8>) 80ccf6e: 6818 ldr r0, [r3, #0] 80ccf70: 4770 bx lr 80ccf72: bf00 nop 80ccf74: 20020b48 .word 0x20020b48 080ccf78 <__libc_init_array>: 80ccf78: b570 push {r4, r5, r6, lr} 80ccf7a: 4e0d ldr r6, [pc, #52] ; (80ccfb0 <__libc_init_array+0x38>) 80ccf7c: 4c0d ldr r4, [pc, #52] ; (80ccfb4 <__libc_init_array+0x3c>) 80ccf7e: 1ba4 subs r4, r4, r6 80ccf80: 10a4 asrs r4, r4, #2 80ccf82: 2500 movs r5, #0 80ccf84: 42a5 cmp r5, r4 80ccf86: d109 bne.n 80ccf9c <__libc_init_array+0x24> 80ccf88: 4e0b ldr r6, [pc, #44] ; (80ccfb8 <__libc_init_array+0x40>) 80ccf8a: 4c0c ldr r4, [pc, #48] ; (80ccfbc <__libc_init_array+0x44>) 80ccf8c: f001 fa64 bl 80ce458 <_init> 80ccf90: 1ba4 subs r4, r4, r6 80ccf92: 10a4 asrs r4, r4, #2 80ccf94: 2500 movs r5, #0 80ccf96: 42a5 cmp r5, r4 80ccf98: d105 bne.n 80ccfa6 <__libc_init_array+0x2e> 80ccf9a: bd70 pop {r4, r5, r6, pc} 80ccf9c: f856 3025 ldr.w r3, [r6, r5, lsl #2] 80ccfa0: 4798 blx r3 80ccfa2: 3501 adds r5, #1 80ccfa4: e7ee b.n 80ccf84 <__libc_init_array+0xc> 80ccfa6: f856 3025 ldr.w r3, [r6, r5, lsl #2] 80ccfaa: 4798 blx r3 80ccfac: 3501 adds r5, #1 80ccfae: e7f2 b.n 80ccf96 <__libc_init_array+0x1e> 80ccfb0: 08186a24 .word 0x08186a24 80ccfb4: 08186a24 .word 0x08186a24 80ccfb8: 08186a24 .word 0x08186a24 80ccfbc: 08186a28 .word 0x08186a28 080ccfc0 <__itoa>: 80ccfc0: 1e93 subs r3, r2, #2 80ccfc2: 2b22 cmp r3, #34 ; 0x22 80ccfc4: b510 push {r4, lr} 80ccfc6: 460c mov r4, r1 80ccfc8: d904 bls.n 80ccfd4 <__itoa+0x14> 80ccfca: 2300 movs r3, #0 80ccfcc: 700b strb r3, [r1, #0] 80ccfce: 461c mov r4, r3 80ccfd0: 4620 mov r0, r4 80ccfd2: bd10 pop {r4, pc} 80ccfd4: 2a0a cmp r2, #10 80ccfd6: d109 bne.n 80ccfec <__itoa+0x2c> 80ccfd8: 2800 cmp r0, #0 80ccfda: da07 bge.n 80ccfec <__itoa+0x2c> 80ccfdc: 232d movs r3, #45 ; 0x2d 80ccfde: 700b strb r3, [r1, #0] 80ccfe0: 4240 negs r0, r0 80ccfe2: 2101 movs r1, #1 80ccfe4: 4421 add r1, r4 80ccfe6: f000 fa17 bl 80cd418 <__utoa> 80ccfea: e7f1 b.n 80ccfd0 <__itoa+0x10> 80ccfec: 2100 movs r1, #0 80ccfee: e7f9 b.n 80ccfe4 <__itoa+0x24> 080ccff0 : 80ccff0: f7ff bfe6 b.w 80ccfc0 <__itoa> 080ccff4 : 80ccff4: 4b02 ldr r3, [pc, #8] ; (80cd000 ) 80ccff6: 4601 mov r1, r0 80ccff8: 6818 ldr r0, [r3, #0] 80ccffa: f000 b87b b.w 80cd0f4 <_malloc_r> 80ccffe: bf00 nop 80cd000: 20020b48 .word 0x20020b48 080cd004 : 80cd004: 4b02 ldr r3, [pc, #8] ; (80cd010 ) 80cd006: 4601 mov r1, r0 80cd008: 6818 ldr r0, [r3, #0] 80cd00a: f000 b825 b.w 80cd058 <_free_r> 80cd00e: bf00 nop 80cd010: 20020b48 .word 0x20020b48 080cd014 : 80cd014: b510 push {r4, lr} 80cd016: 3901 subs r1, #1 80cd018: 4402 add r2, r0 80cd01a: 4290 cmp r0, r2 80cd01c: d101 bne.n 80cd022 80cd01e: 2000 movs r0, #0 80cd020: bd10 pop {r4, pc} 80cd022: f810 3b01 ldrb.w r3, [r0], #1 80cd026: f811 4f01 ldrb.w r4, [r1, #1]! 80cd02a: 42a3 cmp r3, r4 80cd02c: d0f5 beq.n 80cd01a 80cd02e: 1b18 subs r0, r3, r4 80cd030: bd10 pop {r4, pc} 080cd032 : 80cd032: b510 push {r4, lr} 80cd034: 1e43 subs r3, r0, #1 80cd036: 440a add r2, r1 80cd038: 4291 cmp r1, r2 80cd03a: d100 bne.n 80cd03e 80cd03c: bd10 pop {r4, pc} 80cd03e: f811 4b01 ldrb.w r4, [r1], #1 80cd042: f803 4f01 strb.w r4, [r3, #1]! 80cd046: e7f7 b.n 80cd038 080cd048 : 80cd048: 4402 add r2, r0 80cd04a: 4603 mov r3, r0 80cd04c: 4293 cmp r3, r2 80cd04e: d100 bne.n 80cd052 80cd050: 4770 bx lr 80cd052: f803 1b01 strb.w r1, [r3], #1 80cd056: e7f9 b.n 80cd04c 080cd058 <_free_r>: 80cd058: b538 push {r3, r4, r5, lr} 80cd05a: 4605 mov r5, r0 80cd05c: 2900 cmp r1, #0 80cd05e: d045 beq.n 80cd0ec <_free_r+0x94> 80cd060: f851 3c04 ldr.w r3, [r1, #-4] 80cd064: 1f0c subs r4, r1, #4 80cd066: 2b00 cmp r3, #0 80cd068: bfb8 it lt 80cd06a: 18e4 addlt r4, r4, r3 80cd06c: f000 faf3 bl 80cd656 <__malloc_lock> 80cd070: 4a1f ldr r2, [pc, #124] ; (80cd0f0 <_free_r+0x98>) 80cd072: 6813 ldr r3, [r2, #0] 80cd074: 4610 mov r0, r2 80cd076: b933 cbnz r3, 80cd086 <_free_r+0x2e> 80cd078: 6063 str r3, [r4, #4] 80cd07a: 6014 str r4, [r2, #0] 80cd07c: 4628 mov r0, r5 80cd07e: e8bd 4038 ldmia.w sp!, {r3, r4, r5, lr} 80cd082: f000 bae9 b.w 80cd658 <__malloc_unlock> 80cd086: 42a3 cmp r3, r4 80cd088: d90c bls.n 80cd0a4 <_free_r+0x4c> 80cd08a: 6821 ldr r1, [r4, #0] 80cd08c: 1862 adds r2, r4, r1 80cd08e: 4293 cmp r3, r2 80cd090: bf04 itt eq 80cd092: 681a ldreq r2, [r3, #0] 80cd094: 685b ldreq r3, [r3, #4] 80cd096: 6063 str r3, [r4, #4] 80cd098: bf04 itt eq 80cd09a: 1852 addeq r2, r2, r1 80cd09c: 6022 streq r2, [r4, #0] 80cd09e: 6004 str r4, [r0, #0] 80cd0a0: e7ec b.n 80cd07c <_free_r+0x24> 80cd0a2: 4613 mov r3, r2 80cd0a4: 685a ldr r2, [r3, #4] 80cd0a6: b10a cbz r2, 80cd0ac <_free_r+0x54> 80cd0a8: 42a2 cmp r2, r4 80cd0aa: d9fa bls.n 80cd0a2 <_free_r+0x4a> 80cd0ac: 6819 ldr r1, [r3, #0] 80cd0ae: 1858 adds r0, r3, r1 80cd0b0: 42a0 cmp r0, r4 80cd0b2: d10b bne.n 80cd0cc <_free_r+0x74> 80cd0b4: 6820 ldr r0, [r4, #0] 80cd0b6: 4401 add r1, r0 80cd0b8: 1858 adds r0, r3, r1 80cd0ba: 4282 cmp r2, r0 80cd0bc: 6019 str r1, [r3, #0] 80cd0be: d1dd bne.n 80cd07c <_free_r+0x24> 80cd0c0: 6810 ldr r0, [r2, #0] 80cd0c2: 6852 ldr r2, [r2, #4] 80cd0c4: 605a str r2, [r3, #4] 80cd0c6: 4401 add r1, r0 80cd0c8: 6019 str r1, [r3, #0] 80cd0ca: e7d7 b.n 80cd07c <_free_r+0x24> 80cd0cc: d902 bls.n 80cd0d4 <_free_r+0x7c> 80cd0ce: 230c movs r3, #12 80cd0d0: 602b str r3, [r5, #0] 80cd0d2: e7d3 b.n 80cd07c <_free_r+0x24> 80cd0d4: 6820 ldr r0, [r4, #0] 80cd0d6: 1821 adds r1, r4, r0 80cd0d8: 428a cmp r2, r1 80cd0da: bf04 itt eq 80cd0dc: 6811 ldreq r1, [r2, #0] 80cd0de: 6852 ldreq r2, [r2, #4] 80cd0e0: 6062 str r2, [r4, #4] 80cd0e2: bf04 itt eq 80cd0e4: 1809 addeq r1, r1, r0 80cd0e6: 6021 streq r1, [r4, #0] 80cd0e8: 605c str r4, [r3, #4] 80cd0ea: e7c7 b.n 80cd07c <_free_r+0x24> 80cd0ec: bd38 pop {r3, r4, r5, pc} 80cd0ee: bf00 nop 80cd0f0: 20021b28 .word 0x20021b28 080cd0f4 <_malloc_r>: 80cd0f4: b570 push {r4, r5, r6, lr} 80cd0f6: 1ccd adds r5, r1, #3 80cd0f8: f025 0503 bic.w r5, r5, #3 80cd0fc: 3508 adds r5, #8 80cd0fe: 2d0c cmp r5, #12 80cd100: bf38 it cc 80cd102: 250c movcc r5, #12 80cd104: 2d00 cmp r5, #0 80cd106: 4606 mov r6, r0 80cd108: db01 blt.n 80cd10e <_malloc_r+0x1a> 80cd10a: 42a9 cmp r1, r5 80cd10c: d903 bls.n 80cd116 <_malloc_r+0x22> 80cd10e: 230c movs r3, #12 80cd110: 6033 str r3, [r6, #0] 80cd112: 2000 movs r0, #0 80cd114: bd70 pop {r4, r5, r6, pc} 80cd116: f000 fa9e bl 80cd656 <__malloc_lock> 80cd11a: 4a23 ldr r2, [pc, #140] ; (80cd1a8 <_malloc_r+0xb4>) 80cd11c: 6814 ldr r4, [r2, #0] 80cd11e: 4621 mov r1, r4 80cd120: b991 cbnz r1, 80cd148 <_malloc_r+0x54> 80cd122: 4c22 ldr r4, [pc, #136] ; (80cd1ac <_malloc_r+0xb8>) 80cd124: 6823 ldr r3, [r4, #0] 80cd126: b91b cbnz r3, 80cd130 <_malloc_r+0x3c> 80cd128: 4630 mov r0, r6 80cd12a: f000 f859 bl 80cd1e0 <_sbrk_r> 80cd12e: 6020 str r0, [r4, #0] 80cd130: 4629 mov r1, r5 80cd132: 4630 mov r0, r6 80cd134: f000 f854 bl 80cd1e0 <_sbrk_r> 80cd138: 1c43 adds r3, r0, #1 80cd13a: d126 bne.n 80cd18a <_malloc_r+0x96> 80cd13c: 230c movs r3, #12 80cd13e: 6033 str r3, [r6, #0] 80cd140: 4630 mov r0, r6 80cd142: f000 fa89 bl 80cd658 <__malloc_unlock> 80cd146: e7e4 b.n 80cd112 <_malloc_r+0x1e> 80cd148: 680b ldr r3, [r1, #0] 80cd14a: 1b5b subs r3, r3, r5 80cd14c: d41a bmi.n 80cd184 <_malloc_r+0x90> 80cd14e: 2b0b cmp r3, #11 80cd150: d90f bls.n 80cd172 <_malloc_r+0x7e> 80cd152: 600b str r3, [r1, #0] 80cd154: 50cd str r5, [r1, r3] 80cd156: 18cc adds r4, r1, r3 80cd158: 4630 mov r0, r6 80cd15a: f000 fa7d bl 80cd658 <__malloc_unlock> 80cd15e: f104 000b add.w r0, r4, #11 80cd162: 1d23 adds r3, r4, #4 80cd164: f020 0007 bic.w r0, r0, #7 80cd168: 1ac3 subs r3, r0, r3 80cd16a: d01b beq.n 80cd1a4 <_malloc_r+0xb0> 80cd16c: 425a negs r2, r3 80cd16e: 50e2 str r2, [r4, r3] 80cd170: bd70 pop {r4, r5, r6, pc} 80cd172: 428c cmp r4, r1 80cd174: bf0d iteet eq 80cd176: 6863 ldreq r3, [r4, #4] 80cd178: 684b ldrne r3, [r1, #4] 80cd17a: 6063 strne r3, [r4, #4] 80cd17c: 6013 streq r3, [r2, #0] 80cd17e: bf18 it ne 80cd180: 460c movne r4, r1 80cd182: e7e9 b.n 80cd158 <_malloc_r+0x64> 80cd184: 460c mov r4, r1 80cd186: 6849 ldr r1, [r1, #4] 80cd188: e7ca b.n 80cd120 <_malloc_r+0x2c> 80cd18a: 1cc4 adds r4, r0, #3 80cd18c: f024 0403 bic.w r4, r4, #3 80cd190: 42a0 cmp r0, r4 80cd192: d005 beq.n 80cd1a0 <_malloc_r+0xac> 80cd194: 1a21 subs r1, r4, r0 80cd196: 4630 mov r0, r6 80cd198: f000 f822 bl 80cd1e0 <_sbrk_r> 80cd19c: 3001 adds r0, #1 80cd19e: d0cd beq.n 80cd13c <_malloc_r+0x48> 80cd1a0: 6025 str r5, [r4, #0] 80cd1a2: e7d9 b.n 80cd158 <_malloc_r+0x64> 80cd1a4: bd70 pop {r4, r5, r6, pc} 80cd1a6: bf00 nop 80cd1a8: 20021b28 .word 0x20021b28 80cd1ac: 20021b2c .word 0x20021b2c 080cd1b0 : 80cd1b0: b40f push {r0, r1, r2, r3} 80cd1b2: 4b0a ldr r3, [pc, #40] ; (80cd1dc ) 80cd1b4: b513 push {r0, r1, r4, lr} 80cd1b6: 681c ldr r4, [r3, #0] 80cd1b8: b124 cbz r4, 80cd1c4 80cd1ba: 69a3 ldr r3, [r4, #24] 80cd1bc: b913 cbnz r3, 80cd1c4 80cd1be: 4620 mov r0, r4 80cd1c0: f000 f9aa bl 80cd518 <__sinit> 80cd1c4: ab05 add r3, sp, #20 80cd1c6: 9a04 ldr r2, [sp, #16] 80cd1c8: 68a1 ldr r1, [r4, #8] 80cd1ca: 9301 str r3, [sp, #4] 80cd1cc: 4620 mov r0, r4 80cd1ce: f000 fbbd bl 80cd94c <_vfiprintf_r> 80cd1d2: b002 add sp, #8 80cd1d4: e8bd 4010 ldmia.w sp!, {r4, lr} 80cd1d8: b004 add sp, #16 80cd1da: 4770 bx lr 80cd1dc: 20020b48 .word 0x20020b48 080cd1e0 <_sbrk_r>: 80cd1e0: b538 push {r3, r4, r5, lr} 80cd1e2: 4c06 ldr r4, [pc, #24] ; (80cd1fc <_sbrk_r+0x1c>) 80cd1e4: 2300 movs r3, #0 80cd1e6: 4605 mov r5, r0 80cd1e8: 4608 mov r0, r1 80cd1ea: 6023 str r3, [r4, #0] 80cd1ec: f7e1 f918 bl 80ae420 <_sbrk> 80cd1f0: 1c43 adds r3, r0, #1 80cd1f2: d102 bne.n 80cd1fa <_sbrk_r+0x1a> 80cd1f4: 6823 ldr r3, [r4, #0] 80cd1f6: b103 cbz r3, 80cd1fa <_sbrk_r+0x1a> 80cd1f8: 602b str r3, [r5, #0] 80cd1fa: bd38 pop {r3, r4, r5, pc} 80cd1fc: 20069634 .word 0x20069634 080cd200 : 80cd200: b40e push {r1, r2, r3} 80cd202: b500 push {lr} 80cd204: b09c sub sp, #112 ; 0x70 80cd206: f44f 7102 mov.w r1, #520 ; 0x208 80cd20a: ab1d add r3, sp, #116 ; 0x74 80cd20c: f8ad 1014 strh.w r1, [sp, #20] 80cd210: 9002 str r0, [sp, #8] 80cd212: 9006 str r0, [sp, #24] 80cd214: f06f 4100 mvn.w r1, #2147483648 ; 0x80000000 80cd218: 480a ldr r0, [pc, #40] ; (80cd244 ) 80cd21a: 9104 str r1, [sp, #16] 80cd21c: 9107 str r1, [sp, #28] 80cd21e: f64f 71ff movw r1, #65535 ; 0xffff 80cd222: f853 2b04 ldr.w r2, [r3], #4 80cd226: f8ad 1016 strh.w r1, [sp, #22] 80cd22a: 6800 ldr r0, [r0, #0] 80cd22c: 9301 str r3, [sp, #4] 80cd22e: a902 add r1, sp, #8 80cd230: f000 fa6e bl 80cd710 <_svfiprintf_r> 80cd234: 9b02 ldr r3, [sp, #8] 80cd236: 2200 movs r2, #0 80cd238: 701a strb r2, [r3, #0] 80cd23a: b01c add sp, #112 ; 0x70 80cd23c: f85d eb04 ldr.w lr, [sp], #4 80cd240: b003 add sp, #12 80cd242: 4770 bx lr 80cd244: 20020b48 .word 0x20020b48 080cd248 : 80cd248: b510 push {r4, lr} 80cd24a: 4602 mov r2, r0 80cd24c: 4613 mov r3, r2 80cd24e: 3201 adds r2, #1 80cd250: 781c ldrb r4, [r3, #0] 80cd252: 2c00 cmp r4, #0 80cd254: d1fa bne.n 80cd24c 80cd256: 3b01 subs r3, #1 80cd258: f811 2b01 ldrb.w r2, [r1], #1 80cd25c: f803 2f01 strb.w r2, [r3, #1]! 80cd260: 2a00 cmp r2, #0 80cd262: d1f9 bne.n 80cd258 80cd264: bd10 pop {r4, pc} 080cd266 : 80cd266: b2c9 uxtb r1, r1 80cd268: 4603 mov r3, r0 80cd26a: f810 2b01 ldrb.w r2, [r0], #1 80cd26e: b11a cbz r2, 80cd278 80cd270: 4291 cmp r1, r2 80cd272: d1f9 bne.n 80cd268 80cd274: 4618 mov r0, r3 80cd276: 4770 bx lr 80cd278: 2900 cmp r1, #0 80cd27a: bf0c ite eq 80cd27c: 4618 moveq r0, r3 80cd27e: 2000 movne r0, #0 80cd280: 4770 bx lr 080cd282 : 80cd282: 4603 mov r3, r0 80cd284: f811 2b01 ldrb.w r2, [r1], #1 80cd288: f803 2b01 strb.w r2, [r3], #1 80cd28c: 2a00 cmp r2, #0 80cd28e: d1f9 bne.n 80cd284 80cd290: 4770 bx lr 080cd292 : 80cd292: b570 push {r4, r5, r6, lr} 80cd294: 4603 mov r3, r0 80cd296: 461a mov r2, r3 80cd298: f812 5b01 ldrb.w r5, [r2], #1 80cd29c: b14d cbz r5, 80cd2b2 80cd29e: 1e4c subs r4, r1, #1 80cd2a0: e001 b.n 80cd2a6 80cd2a2: 42b5 cmp r5, r6 80cd2a4: d005 beq.n 80cd2b2 80cd2a6: f814 6f01 ldrb.w r6, [r4, #1]! 80cd2aa: 2e00 cmp r6, #0 80cd2ac: d1f9 bne.n 80cd2a2 80cd2ae: 4613 mov r3, r2 80cd2b0: e7f1 b.n 80cd296 80cd2b2: 1a18 subs r0, r3, r0 80cd2b4: bd70 pop {r4, r5, r6, pc} 080cd2b6 : 80cd2b6: b5f0 push {r4, r5, r6, r7, lr} 80cd2b8: 7803 ldrb r3, [r0, #0] 80cd2ba: b133 cbz r3, 80cd2ca 80cd2bc: 4603 mov r3, r0 80cd2be: 4618 mov r0, r3 80cd2c0: 1c5e adds r6, r3, #1 80cd2c2: 781b ldrb r3, [r3, #0] 80cd2c4: b933 cbnz r3, 80cd2d4 80cd2c6: 4618 mov r0, r3 80cd2c8: bdf0 pop {r4, r5, r6, r7, pc} 80cd2ca: 780b ldrb r3, [r1, #0] 80cd2cc: 2b00 cmp r3, #0 80cd2ce: bf18 it ne 80cd2d0: 2000 movne r0, #0 80cd2d2: bdf0 pop {r4, r5, r6, r7, pc} 80cd2d4: 1e4d subs r5, r1, #1 80cd2d6: 1e44 subs r4, r0, #1 80cd2d8: f815 2f01 ldrb.w r2, [r5, #1]! 80cd2dc: 2a00 cmp r2, #0 80cd2de: d0f3 beq.n 80cd2c8 80cd2e0: f814 7f01 ldrb.w r7, [r4, #1]! 80cd2e4: 4297 cmp r7, r2 80cd2e6: 4633 mov r3, r6 80cd2e8: d0f6 beq.n 80cd2d8 80cd2ea: e7e8 b.n 80cd2be 080cd2ec <_strtol_l.isra.0>: 80cd2ec: e92d 4ff8 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, lr} 80cd2f0: 4680 mov r8, r0 80cd2f2: 4689 mov r9, r1 80cd2f4: 4692 mov sl, r2 80cd2f6: 461f mov r7, r3 80cd2f8: 468b mov fp, r1 80cd2fa: 465d mov r5, fp 80cd2fc: 980a ldr r0, [sp, #40] ; 0x28 80cd2fe: f815 4b01 ldrb.w r4, [r5], #1 80cd302: f000 f993 bl 80cd62c <__locale_ctype_ptr_l> 80cd306: 4420 add r0, r4 80cd308: 7846 ldrb r6, [r0, #1] 80cd30a: f016 0608 ands.w r6, r6, #8 80cd30e: d10b bne.n 80cd328 <_strtol_l.isra.0+0x3c> 80cd310: 2c2d cmp r4, #45 ; 0x2d 80cd312: d10b bne.n 80cd32c <_strtol_l.isra.0+0x40> 80cd314: 782c ldrb r4, [r5, #0] 80cd316: 2601 movs r6, #1 80cd318: f10b 0502 add.w r5, fp, #2 80cd31c: b167 cbz r7, 80cd338 <_strtol_l.isra.0+0x4c> 80cd31e: 2f10 cmp r7, #16 80cd320: d114 bne.n 80cd34c <_strtol_l.isra.0+0x60> 80cd322: 2c30 cmp r4, #48 ; 0x30 80cd324: d00a beq.n 80cd33c <_strtol_l.isra.0+0x50> 80cd326: e011 b.n 80cd34c <_strtol_l.isra.0+0x60> 80cd328: 46ab mov fp, r5 80cd32a: e7e6 b.n 80cd2fa <_strtol_l.isra.0+0xe> 80cd32c: 2c2b cmp r4, #43 ; 0x2b 80cd32e: bf04 itt eq 80cd330: 782c ldrbeq r4, [r5, #0] 80cd332: f10b 0502 addeq.w r5, fp, #2 80cd336: e7f1 b.n 80cd31c <_strtol_l.isra.0+0x30> 80cd338: 2c30 cmp r4, #48 ; 0x30 80cd33a: d127 bne.n 80cd38c <_strtol_l.isra.0+0xa0> 80cd33c: 782b ldrb r3, [r5, #0] 80cd33e: f003 03df and.w r3, r3, #223 ; 0xdf 80cd342: 2b58 cmp r3, #88 ; 0x58 80cd344: d14b bne.n 80cd3de <_strtol_l.isra.0+0xf2> 80cd346: 786c ldrb r4, [r5, #1] 80cd348: 2710 movs r7, #16 80cd34a: 3502 adds r5, #2 80cd34c: 2e00 cmp r6, #0 80cd34e: bf0c ite eq 80cd350: f06f 4100 mvneq.w r1, #2147483648 ; 0x80000000 80cd354: f04f 4100 movne.w r1, #2147483648 ; 0x80000000 80cd358: 2200 movs r2, #0 80cd35a: fbb1 fef7 udiv lr, r1, r7 80cd35e: 4610 mov r0, r2 80cd360: fb07 1c1e mls ip, r7, lr, r1 80cd364: f1a4 0330 sub.w r3, r4, #48 ; 0x30 80cd368: 2b09 cmp r3, #9 80cd36a: d811 bhi.n 80cd390 <_strtol_l.isra.0+0xa4> 80cd36c: 461c mov r4, r3 80cd36e: 42a7 cmp r7, r4 80cd370: dd1d ble.n 80cd3ae <_strtol_l.isra.0+0xc2> 80cd372: 1c53 adds r3, r2, #1 80cd374: d007 beq.n 80cd386 <_strtol_l.isra.0+0x9a> 80cd376: 4586 cmp lr, r0 80cd378: d316 bcc.n 80cd3a8 <_strtol_l.isra.0+0xbc> 80cd37a: d101 bne.n 80cd380 <_strtol_l.isra.0+0x94> 80cd37c: 45a4 cmp ip, r4 80cd37e: db13 blt.n 80cd3a8 <_strtol_l.isra.0+0xbc> 80cd380: fb00 4007 mla r0, r0, r7, r4 80cd384: 2201 movs r2, #1 80cd386: f815 4b01 ldrb.w r4, [r5], #1 80cd38a: e7eb b.n 80cd364 <_strtol_l.isra.0+0x78> 80cd38c: 270a movs r7, #10 80cd38e: e7dd b.n 80cd34c <_strtol_l.isra.0+0x60> 80cd390: f1a4 0341 sub.w r3, r4, #65 ; 0x41 80cd394: 2b19 cmp r3, #25 80cd396: d801 bhi.n 80cd39c <_strtol_l.isra.0+0xb0> 80cd398: 3c37 subs r4, #55 ; 0x37 80cd39a: e7e8 b.n 80cd36e <_strtol_l.isra.0+0x82> 80cd39c: f1a4 0361 sub.w r3, r4, #97 ; 0x61 80cd3a0: 2b19 cmp r3, #25 80cd3a2: d804 bhi.n 80cd3ae <_strtol_l.isra.0+0xc2> 80cd3a4: 3c57 subs r4, #87 ; 0x57 80cd3a6: e7e2 b.n 80cd36e <_strtol_l.isra.0+0x82> 80cd3a8: f04f 32ff mov.w r2, #4294967295 80cd3ac: e7eb b.n 80cd386 <_strtol_l.isra.0+0x9a> 80cd3ae: 1c53 adds r3, r2, #1 80cd3b0: d108 bne.n 80cd3c4 <_strtol_l.isra.0+0xd8> 80cd3b2: 2322 movs r3, #34 ; 0x22 80cd3b4: f8c8 3000 str.w r3, [r8] 80cd3b8: 4608 mov r0, r1 80cd3ba: f1ba 0f00 cmp.w sl, #0 80cd3be: d107 bne.n 80cd3d0 <_strtol_l.isra.0+0xe4> 80cd3c0: e8bd 8ff8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, pc} 80cd3c4: b106 cbz r6, 80cd3c8 <_strtol_l.isra.0+0xdc> 80cd3c6: 4240 negs r0, r0 80cd3c8: f1ba 0f00 cmp.w sl, #0 80cd3cc: d00c beq.n 80cd3e8 <_strtol_l.isra.0+0xfc> 80cd3ce: b122 cbz r2, 80cd3da <_strtol_l.isra.0+0xee> 80cd3d0: 3d01 subs r5, #1 80cd3d2: f8ca 5000 str.w r5, [sl] 80cd3d6: e8bd 8ff8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, pc} 80cd3da: 464d mov r5, r9 80cd3dc: e7f9 b.n 80cd3d2 <_strtol_l.isra.0+0xe6> 80cd3de: 2430 movs r4, #48 ; 0x30 80cd3e0: 2f00 cmp r7, #0 80cd3e2: d1b3 bne.n 80cd34c <_strtol_l.isra.0+0x60> 80cd3e4: 2708 movs r7, #8 80cd3e6: e7b1 b.n 80cd34c <_strtol_l.isra.0+0x60> 80cd3e8: e8bd 8ff8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, pc} 080cd3ec : 80cd3ec: 4b08 ldr r3, [pc, #32] ; (80cd410 ) 80cd3ee: b537 push {r0, r1, r2, r4, r5, lr} 80cd3f0: 681c ldr r4, [r3, #0] 80cd3f2: 4d08 ldr r5, [pc, #32] ; (80cd414 ) 80cd3f4: 6a23 ldr r3, [r4, #32] 80cd3f6: 2b00 cmp r3, #0 80cd3f8: bf08 it eq 80cd3fa: 462b moveq r3, r5 80cd3fc: 9300 str r3, [sp, #0] 80cd3fe: 4613 mov r3, r2 80cd400: 460a mov r2, r1 80cd402: 4601 mov r1, r0 80cd404: 4620 mov r0, r4 80cd406: f7ff ff71 bl 80cd2ec <_strtol_l.isra.0> 80cd40a: b003 add sp, #12 80cd40c: bd30 pop {r4, r5, pc} 80cd40e: bf00 nop 80cd410: 20020b48 .word 0x20020b48 80cd414: 20020bac .word 0x20020bac 080cd418 <__utoa>: 80cd418: b5f0 push {r4, r5, r6, r7, lr} 80cd41a: 4c1e ldr r4, [pc, #120] ; (80cd494 <__utoa+0x7c>) 80cd41c: b08b sub sp, #44 ; 0x2c 80cd41e: 4603 mov r3, r0 80cd420: 460f mov r7, r1 80cd422: 466d mov r5, sp 80cd424: f104 0e20 add.w lr, r4, #32 80cd428: 6820 ldr r0, [r4, #0] 80cd42a: 6861 ldr r1, [r4, #4] 80cd42c: 462e mov r6, r5 80cd42e: c603 stmia r6!, {r0, r1} 80cd430: 3408 adds r4, #8 80cd432: 4574 cmp r4, lr 80cd434: 4635 mov r5, r6 80cd436: d1f7 bne.n 80cd428 <__utoa+0x10> 80cd438: 7921 ldrb r1, [r4, #4] 80cd43a: 7131 strb r1, [r6, #4] 80cd43c: 1e91 subs r1, r2, #2 80cd43e: 6820 ldr r0, [r4, #0] 80cd440: 6030 str r0, [r6, #0] 80cd442: 2922 cmp r1, #34 ; 0x22 80cd444: f04f 0100 mov.w r1, #0 80cd448: d904 bls.n 80cd454 <__utoa+0x3c> 80cd44a: 7039 strb r1, [r7, #0] 80cd44c: 460f mov r7, r1 80cd44e: 4638 mov r0, r7 80cd450: b00b add sp, #44 ; 0x2c 80cd452: bdf0 pop {r4, r5, r6, r7, pc} 80cd454: 1e78 subs r0, r7, #1 80cd456: 4606 mov r6, r0 80cd458: fbb3 f5f2 udiv r5, r3, r2 80cd45c: f10d 0e28 add.w lr, sp, #40 ; 0x28 80cd460: fb02 3315 mls r3, r2, r5, r3 80cd464: 4473 add r3, lr 80cd466: 1c4c adds r4, r1, #1 80cd468: f813 3c28 ldrb.w r3, [r3, #-40] 80cd46c: f806 3f01 strb.w r3, [r6, #1]! 80cd470: 462b mov r3, r5 80cd472: b965 cbnz r5, 80cd48e <__utoa+0x76> 80cd474: 553d strb r5, [r7, r4] 80cd476: 187a adds r2, r7, r1 80cd478: 1acc subs r4, r1, r3 80cd47a: 42a3 cmp r3, r4 80cd47c: dae7 bge.n 80cd44e <__utoa+0x36> 80cd47e: 7844 ldrb r4, [r0, #1] 80cd480: 7815 ldrb r5, [r2, #0] 80cd482: f800 5f01 strb.w r5, [r0, #1]! 80cd486: 3301 adds r3, #1 80cd488: f802 4901 strb.w r4, [r2], #-1 80cd48c: e7f4 b.n 80cd478 <__utoa+0x60> 80cd48e: 4621 mov r1, r4 80cd490: e7e2 b.n 80cd458 <__utoa+0x40> 80cd492: bf00 nop 80cd494: 08186854 .word 0x08186854 080cd498 <_cleanup_r>: 80cd498: 4901 ldr r1, [pc, #4] ; (80cd4a0 <_cleanup_r+0x8>) 80cd49a: f000 b8a9 b.w 80cd5f0 <_fwalk_reent> 80cd49e: bf00 nop 80cd4a0: 080ce21d .word 0x080ce21d 080cd4a4 : 80cd4a4: 2300 movs r3, #0 80cd4a6: b510 push {r4, lr} 80cd4a8: 4604 mov r4, r0 80cd4aa: 6003 str r3, [r0, #0] 80cd4ac: 6043 str r3, [r0, #4] 80cd4ae: 6083 str r3, [r0, #8] 80cd4b0: 8181 strh r1, [r0, #12] 80cd4b2: 6643 str r3, [r0, #100] ; 0x64 80cd4b4: 81c2 strh r2, [r0, #14] 80cd4b6: 6103 str r3, [r0, #16] 80cd4b8: 6143 str r3, [r0, #20] 80cd4ba: 6183 str r3, [r0, #24] 80cd4bc: 4619 mov r1, r3 80cd4be: 2208 movs r2, #8 80cd4c0: 305c adds r0, #92 ; 0x5c 80cd4c2: f7ff fdc1 bl 80cd048 80cd4c6: 4b05 ldr r3, [pc, #20] ; (80cd4dc ) 80cd4c8: 6263 str r3, [r4, #36] ; 0x24 80cd4ca: 4b05 ldr r3, [pc, #20] ; (80cd4e0 ) 80cd4cc: 62a3 str r3, [r4, #40] ; 0x28 80cd4ce: 4b05 ldr r3, [pc, #20] ; (80cd4e4 ) 80cd4d0: 62e3 str r3, [r4, #44] ; 0x2c 80cd4d2: 4b05 ldr r3, [pc, #20] ; (80cd4e8 ) 80cd4d4: 6224 str r4, [r4, #32] 80cd4d6: 6323 str r3, [r4, #48] ; 0x30 80cd4d8: bd10 pop {r4, pc} 80cd4da: bf00 nop 80cd4dc: 080cdea5 .word 0x080cdea5 80cd4e0: 080cdec7 .word 0x080cdec7 80cd4e4: 080cdeff .word 0x080cdeff 80cd4e8: 080cdf23 .word 0x080cdf23 080cd4ec <__sfmoreglue>: 80cd4ec: b570 push {r4, r5, r6, lr} 80cd4ee: 1e4a subs r2, r1, #1 80cd4f0: 2568 movs r5, #104 ; 0x68 80cd4f2: 4355 muls r5, r2 80cd4f4: 460e mov r6, r1 80cd4f6: f105 0174 add.w r1, r5, #116 ; 0x74 80cd4fa: f7ff fdfb bl 80cd0f4 <_malloc_r> 80cd4fe: 4604 mov r4, r0 80cd500: b140 cbz r0, 80cd514 <__sfmoreglue+0x28> 80cd502: 2100 movs r1, #0 80cd504: e880 0042 stmia.w r0, {r1, r6} 80cd508: 300c adds r0, #12 80cd50a: 60a0 str r0, [r4, #8] 80cd50c: f105 0268 add.w r2, r5, #104 ; 0x68 80cd510: f7ff fd9a bl 80cd048 80cd514: 4620 mov r0, r4 80cd516: bd70 pop {r4, r5, r6, pc} 080cd518 <__sinit>: 80cd518: 6983 ldr r3, [r0, #24] 80cd51a: b510 push {r4, lr} 80cd51c: 4604 mov r4, r0 80cd51e: bb33 cbnz r3, 80cd56e <__sinit+0x56> 80cd520: 6483 str r3, [r0, #72] ; 0x48 80cd522: 64c3 str r3, [r0, #76] ; 0x4c 80cd524: 6503 str r3, [r0, #80] ; 0x50 80cd526: 4b12 ldr r3, [pc, #72] ; (80cd570 <__sinit+0x58>) 80cd528: 4a12 ldr r2, [pc, #72] ; (80cd574 <__sinit+0x5c>) 80cd52a: 681b ldr r3, [r3, #0] 80cd52c: 6282 str r2, [r0, #40] ; 0x28 80cd52e: 4298 cmp r0, r3 80cd530: bf04 itt eq 80cd532: 2301 moveq r3, #1 80cd534: 6183 streq r3, [r0, #24] 80cd536: f000 f81f bl 80cd578 <__sfp> 80cd53a: 6060 str r0, [r4, #4] 80cd53c: 4620 mov r0, r4 80cd53e: f000 f81b bl 80cd578 <__sfp> 80cd542: 60a0 str r0, [r4, #8] 80cd544: 4620 mov r0, r4 80cd546: f000 f817 bl 80cd578 <__sfp> 80cd54a: 2200 movs r2, #0 80cd54c: 60e0 str r0, [r4, #12] 80cd54e: 2104 movs r1, #4 80cd550: 6860 ldr r0, [r4, #4] 80cd552: f7ff ffa7 bl 80cd4a4 80cd556: 2201 movs r2, #1 80cd558: 2109 movs r1, #9 80cd55a: 68a0 ldr r0, [r4, #8] 80cd55c: f7ff ffa2 bl 80cd4a4 80cd560: 2202 movs r2, #2 80cd562: 2112 movs r1, #18 80cd564: 68e0 ldr r0, [r4, #12] 80cd566: f7ff ff9d bl 80cd4a4 80cd56a: 2301 movs r3, #1 80cd56c: 61a3 str r3, [r4, #24] 80cd56e: bd10 pop {r4, pc} 80cd570: 08186850 .word 0x08186850 80cd574: 080cd499 .word 0x080cd499 080cd578 <__sfp>: 80cd578: b5f8 push {r3, r4, r5, r6, r7, lr} 80cd57a: 4b1c ldr r3, [pc, #112] ; (80cd5ec <__sfp+0x74>) 80cd57c: 681e ldr r6, [r3, #0] 80cd57e: 69b3 ldr r3, [r6, #24] 80cd580: 4607 mov r7, r0 80cd582: b913 cbnz r3, 80cd58a <__sfp+0x12> 80cd584: 4630 mov r0, r6 80cd586: f7ff ffc7 bl 80cd518 <__sinit> 80cd58a: 3648 adds r6, #72 ; 0x48 80cd58c: 68b4 ldr r4, [r6, #8] 80cd58e: 6873 ldr r3, [r6, #4] 80cd590: 3b01 subs r3, #1 80cd592: d503 bpl.n 80cd59c <__sfp+0x24> 80cd594: 6833 ldr r3, [r6, #0] 80cd596: b133 cbz r3, 80cd5a6 <__sfp+0x2e> 80cd598: 6836 ldr r6, [r6, #0] 80cd59a: e7f7 b.n 80cd58c <__sfp+0x14> 80cd59c: f9b4 500c ldrsh.w r5, [r4, #12] 80cd5a0: b16d cbz r5, 80cd5be <__sfp+0x46> 80cd5a2: 3468 adds r4, #104 ; 0x68 80cd5a4: e7f4 b.n 80cd590 <__sfp+0x18> 80cd5a6: 2104 movs r1, #4 80cd5a8: 4638 mov r0, r7 80cd5aa: f7ff ff9f bl 80cd4ec <__sfmoreglue> 80cd5ae: 6030 str r0, [r6, #0] 80cd5b0: 2800 cmp r0, #0 80cd5b2: d1f1 bne.n 80cd598 <__sfp+0x20> 80cd5b4: 230c movs r3, #12 80cd5b6: 603b str r3, [r7, #0] 80cd5b8: 4604 mov r4, r0 80cd5ba: 4620 mov r0, r4 80cd5bc: bdf8 pop {r3, r4, r5, r6, r7, pc} 80cd5be: f64f 73ff movw r3, #65535 ; 0xffff 80cd5c2: 81e3 strh r3, [r4, #14] 80cd5c4: 2301 movs r3, #1 80cd5c6: 81a3 strh r3, [r4, #12] 80cd5c8: 6665 str r5, [r4, #100] ; 0x64 80cd5ca: 6025 str r5, [r4, #0] 80cd5cc: 60a5 str r5, [r4, #8] 80cd5ce: 6065 str r5, [r4, #4] 80cd5d0: 6125 str r5, [r4, #16] 80cd5d2: 6165 str r5, [r4, #20] 80cd5d4: 61a5 str r5, [r4, #24] 80cd5d6: 2208 movs r2, #8 80cd5d8: 4629 mov r1, r5 80cd5da: f104 005c add.w r0, r4, #92 ; 0x5c 80cd5de: f7ff fd33 bl 80cd048 80cd5e2: 6365 str r5, [r4, #52] ; 0x34 80cd5e4: 63a5 str r5, [r4, #56] ; 0x38 80cd5e6: 64a5 str r5, [r4, #72] ; 0x48 80cd5e8: 64e5 str r5, [r4, #76] ; 0x4c 80cd5ea: e7e6 b.n 80cd5ba <__sfp+0x42> 80cd5ec: 08186850 .word 0x08186850 080cd5f0 <_fwalk_reent>: 80cd5f0: e92d 43f8 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, lr} 80cd5f4: 4680 mov r8, r0 80cd5f6: 4689 mov r9, r1 80cd5f8: f100 0448 add.w r4, r0, #72 ; 0x48 80cd5fc: 2600 movs r6, #0 80cd5fe: b914 cbnz r4, 80cd606 <_fwalk_reent+0x16> 80cd600: 4630 mov r0, r6 80cd602: e8bd 83f8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, pc} 80cd606: 68a5 ldr r5, [r4, #8] 80cd608: 6867 ldr r7, [r4, #4] 80cd60a: 3f01 subs r7, #1 80cd60c: d501 bpl.n 80cd612 <_fwalk_reent+0x22> 80cd60e: 6824 ldr r4, [r4, #0] 80cd610: e7f5 b.n 80cd5fe <_fwalk_reent+0xe> 80cd612: 89ab ldrh r3, [r5, #12] 80cd614: 2b01 cmp r3, #1 80cd616: d907 bls.n 80cd628 <_fwalk_reent+0x38> 80cd618: f9b5 300e ldrsh.w r3, [r5, #14] 80cd61c: 3301 adds r3, #1 80cd61e: d003 beq.n 80cd628 <_fwalk_reent+0x38> 80cd620: 4629 mov r1, r5 80cd622: 4640 mov r0, r8 80cd624: 47c8 blx r9 80cd626: 4306 orrs r6, r0 80cd628: 3568 adds r5, #104 ; 0x68 80cd62a: e7ee b.n 80cd60a <_fwalk_reent+0x1a> 080cd62c <__locale_ctype_ptr_l>: 80cd62c: f8d0 00ec ldr.w r0, [r0, #236] ; 0xec 80cd630: 4770 bx lr 080cd632 <__ascii_mbtowc>: 80cd632: b082 sub sp, #8 80cd634: b901 cbnz r1, 80cd638 <__ascii_mbtowc+0x6> 80cd636: a901 add r1, sp, #4 80cd638: b142 cbz r2, 80cd64c <__ascii_mbtowc+0x1a> 80cd63a: b14b cbz r3, 80cd650 <__ascii_mbtowc+0x1e> 80cd63c: 7813 ldrb r3, [r2, #0] 80cd63e: 600b str r3, [r1, #0] 80cd640: 7812 ldrb r2, [r2, #0] 80cd642: 1c10 adds r0, r2, #0 80cd644: bf18 it ne 80cd646: 2001 movne r0, #1 80cd648: b002 add sp, #8 80cd64a: 4770 bx lr 80cd64c: 4610 mov r0, r2 80cd64e: e7fb b.n 80cd648 <__ascii_mbtowc+0x16> 80cd650: f06f 0001 mvn.w r0, #1 80cd654: e7f8 b.n 80cd648 <__ascii_mbtowc+0x16> 080cd656 <__malloc_lock>: 80cd656: 4770 bx lr 080cd658 <__malloc_unlock>: 80cd658: 4770 bx lr 080cd65a <__ssputs_r>: 80cd65a: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} 80cd65e: 688e ldr r6, [r1, #8] 80cd660: 429e cmp r6, r3 80cd662: 4682 mov sl, r0 80cd664: 460c mov r4, r1 80cd666: 4691 mov r9, r2 80cd668: 4698 mov r8, r3 80cd66a: d835 bhi.n 80cd6d8 <__ssputs_r+0x7e> 80cd66c: 898a ldrh r2, [r1, #12] 80cd66e: f412 6f90 tst.w r2, #1152 ; 0x480 80cd672: d031 beq.n 80cd6d8 <__ssputs_r+0x7e> 80cd674: 6825 ldr r5, [r4, #0] 80cd676: 6909 ldr r1, [r1, #16] 80cd678: 1a6f subs r7, r5, r1 80cd67a: 6965 ldr r5, [r4, #20] 80cd67c: 2302 movs r3, #2 80cd67e: eb05 0545 add.w r5, r5, r5, lsl #1 80cd682: fb95 f5f3 sdiv r5, r5, r3 80cd686: f108 0301 add.w r3, r8, #1 80cd68a: 443b add r3, r7 80cd68c: 429d cmp r5, r3 80cd68e: bf38 it cc 80cd690: 461d movcc r5, r3 80cd692: 0553 lsls r3, r2, #21 80cd694: d531 bpl.n 80cd6fa <__ssputs_r+0xa0> 80cd696: 4629 mov r1, r5 80cd698: f7ff fd2c bl 80cd0f4 <_malloc_r> 80cd69c: 4606 mov r6, r0 80cd69e: b950 cbnz r0, 80cd6b6 <__ssputs_r+0x5c> 80cd6a0: 230c movs r3, #12 80cd6a2: f8ca 3000 str.w r3, [sl] 80cd6a6: 89a3 ldrh r3, [r4, #12] 80cd6a8: f043 0340 orr.w r3, r3, #64 ; 0x40 80cd6ac: 81a3 strh r3, [r4, #12] 80cd6ae: f04f 30ff mov.w r0, #4294967295 80cd6b2: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} 80cd6b6: 463a mov r2, r7 80cd6b8: 6921 ldr r1, [r4, #16] 80cd6ba: f7ff fcba bl 80cd032 80cd6be: 89a3 ldrh r3, [r4, #12] 80cd6c0: f423 6390 bic.w r3, r3, #1152 ; 0x480 80cd6c4: f043 0380 orr.w r3, r3, #128 ; 0x80 80cd6c8: 81a3 strh r3, [r4, #12] 80cd6ca: 6126 str r6, [r4, #16] 80cd6cc: 6165 str r5, [r4, #20] 80cd6ce: 443e add r6, r7 80cd6d0: 1bed subs r5, r5, r7 80cd6d2: 6026 str r6, [r4, #0] 80cd6d4: 60a5 str r5, [r4, #8] 80cd6d6: 4646 mov r6, r8 80cd6d8: 4546 cmp r6, r8 80cd6da: bf28 it cs 80cd6dc: 4646 movcs r6, r8 80cd6de: 4632 mov r2, r6 80cd6e0: 4649 mov r1, r9 80cd6e2: 6820 ldr r0, [r4, #0] 80cd6e4: f000 fe3a bl 80ce35c 80cd6e8: 68a3 ldr r3, [r4, #8] 80cd6ea: 1b9b subs r3, r3, r6 80cd6ec: 60a3 str r3, [r4, #8] 80cd6ee: 6823 ldr r3, [r4, #0] 80cd6f0: 441e add r6, r3 80cd6f2: 6026 str r6, [r4, #0] 80cd6f4: 2000 movs r0, #0 80cd6f6: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} 80cd6fa: 462a mov r2, r5 80cd6fc: f000 fe48 bl 80ce390 <_realloc_r> 80cd700: 4606 mov r6, r0 80cd702: 2800 cmp r0, #0 80cd704: d1e1 bne.n 80cd6ca <__ssputs_r+0x70> 80cd706: 6921 ldr r1, [r4, #16] 80cd708: 4650 mov r0, sl 80cd70a: f7ff fca5 bl 80cd058 <_free_r> 80cd70e: e7c7 b.n 80cd6a0 <__ssputs_r+0x46> 080cd710 <_svfiprintf_r>: 80cd710: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 80cd714: b09d sub sp, #116 ; 0x74 80cd716: 4680 mov r8, r0 80cd718: 9303 str r3, [sp, #12] 80cd71a: 898b ldrh r3, [r1, #12] 80cd71c: 061c lsls r4, r3, #24 80cd71e: 460d mov r5, r1 80cd720: 4616 mov r6, r2 80cd722: d50f bpl.n 80cd744 <_svfiprintf_r+0x34> 80cd724: 690b ldr r3, [r1, #16] 80cd726: b96b cbnz r3, 80cd744 <_svfiprintf_r+0x34> 80cd728: 2140 movs r1, #64 ; 0x40 80cd72a: f7ff fce3 bl 80cd0f4 <_malloc_r> 80cd72e: 6028 str r0, [r5, #0] 80cd730: 6128 str r0, [r5, #16] 80cd732: b928 cbnz r0, 80cd740 <_svfiprintf_r+0x30> 80cd734: 230c movs r3, #12 80cd736: f8c8 3000 str.w r3, [r8] 80cd73a: f04f 30ff mov.w r0, #4294967295 80cd73e: e0c5 b.n 80cd8cc <_svfiprintf_r+0x1bc> 80cd740: 2340 movs r3, #64 ; 0x40 80cd742: 616b str r3, [r5, #20] 80cd744: 2300 movs r3, #0 80cd746: 9309 str r3, [sp, #36] ; 0x24 80cd748: 2320 movs r3, #32 80cd74a: f88d 3029 strb.w r3, [sp, #41] ; 0x29 80cd74e: 2330 movs r3, #48 ; 0x30 80cd750: f88d 302a strb.w r3, [sp, #42] ; 0x2a 80cd754: f04f 0b01 mov.w fp, #1 80cd758: 4637 mov r7, r6 80cd75a: 463c mov r4, r7 80cd75c: f814 3b01 ldrb.w r3, [r4], #1 80cd760: 2b00 cmp r3, #0 80cd762: d13c bne.n 80cd7de <_svfiprintf_r+0xce> 80cd764: ebb7 0a06 subs.w sl, r7, r6 80cd768: d00b beq.n 80cd782 <_svfiprintf_r+0x72> 80cd76a: 4653 mov r3, sl 80cd76c: 4632 mov r2, r6 80cd76e: 4629 mov r1, r5 80cd770: 4640 mov r0, r8 80cd772: f7ff ff72 bl 80cd65a <__ssputs_r> 80cd776: 3001 adds r0, #1 80cd778: f000 80a3 beq.w 80cd8c2 <_svfiprintf_r+0x1b2> 80cd77c: 9b09 ldr r3, [sp, #36] ; 0x24 80cd77e: 4453 add r3, sl 80cd780: 9309 str r3, [sp, #36] ; 0x24 80cd782: 783b ldrb r3, [r7, #0] 80cd784: 2b00 cmp r3, #0 80cd786: f000 809c beq.w 80cd8c2 <_svfiprintf_r+0x1b2> 80cd78a: 2300 movs r3, #0 80cd78c: f04f 32ff mov.w r2, #4294967295 80cd790: 9304 str r3, [sp, #16] 80cd792: 9307 str r3, [sp, #28] 80cd794: 9205 str r2, [sp, #20] 80cd796: 9306 str r3, [sp, #24] 80cd798: f88d 3053 strb.w r3, [sp, #83] ; 0x53 80cd79c: 931a str r3, [sp, #104] ; 0x68 80cd79e: 2205 movs r2, #5 80cd7a0: 7821 ldrb r1, [r4, #0] 80cd7a2: 4850 ldr r0, [pc, #320] ; (80cd8e4 <_svfiprintf_r+0x1d4>) 80cd7a4: f752 fdc4 bl 8020330 80cd7a8: 1c67 adds r7, r4, #1 80cd7aa: 9b04 ldr r3, [sp, #16] 80cd7ac: b9d8 cbnz r0, 80cd7e6 <_svfiprintf_r+0xd6> 80cd7ae: 06d9 lsls r1, r3, #27 80cd7b0: bf44 itt mi 80cd7b2: 2220 movmi r2, #32 80cd7b4: f88d 2053 strbmi.w r2, [sp, #83] ; 0x53 80cd7b8: 071a lsls r2, r3, #28 80cd7ba: bf44 itt mi 80cd7bc: 222b movmi r2, #43 ; 0x2b 80cd7be: f88d 2053 strbmi.w r2, [sp, #83] ; 0x53 80cd7c2: 7822 ldrb r2, [r4, #0] 80cd7c4: 2a2a cmp r2, #42 ; 0x2a 80cd7c6: d016 beq.n 80cd7f6 <_svfiprintf_r+0xe6> 80cd7c8: 9a07 ldr r2, [sp, #28] 80cd7ca: 2100 movs r1, #0 80cd7cc: 200a movs r0, #10 80cd7ce: 4627 mov r7, r4 80cd7d0: 3401 adds r4, #1 80cd7d2: 783b ldrb r3, [r7, #0] 80cd7d4: 3b30 subs r3, #48 ; 0x30 80cd7d6: 2b09 cmp r3, #9 80cd7d8: d951 bls.n 80cd87e <_svfiprintf_r+0x16e> 80cd7da: b1c9 cbz r1, 80cd810 <_svfiprintf_r+0x100> 80cd7dc: e011 b.n 80cd802 <_svfiprintf_r+0xf2> 80cd7de: 2b25 cmp r3, #37 ; 0x25 80cd7e0: d0c0 beq.n 80cd764 <_svfiprintf_r+0x54> 80cd7e2: 4627 mov r7, r4 80cd7e4: e7b9 b.n 80cd75a <_svfiprintf_r+0x4a> 80cd7e6: 4a3f ldr r2, [pc, #252] ; (80cd8e4 <_svfiprintf_r+0x1d4>) 80cd7e8: 1a80 subs r0, r0, r2 80cd7ea: fa0b f000 lsl.w r0, fp, r0 80cd7ee: 4318 orrs r0, r3 80cd7f0: 9004 str r0, [sp, #16] 80cd7f2: 463c mov r4, r7 80cd7f4: e7d3 b.n 80cd79e <_svfiprintf_r+0x8e> 80cd7f6: 9a03 ldr r2, [sp, #12] 80cd7f8: 1d11 adds r1, r2, #4 80cd7fa: 6812 ldr r2, [r2, #0] 80cd7fc: 9103 str r1, [sp, #12] 80cd7fe: 2a00 cmp r2, #0 80cd800: db01 blt.n 80cd806 <_svfiprintf_r+0xf6> 80cd802: 9207 str r2, [sp, #28] 80cd804: e004 b.n 80cd810 <_svfiprintf_r+0x100> 80cd806: 4252 negs r2, r2 80cd808: f043 0302 orr.w r3, r3, #2 80cd80c: 9207 str r2, [sp, #28] 80cd80e: 9304 str r3, [sp, #16] 80cd810: 783b ldrb r3, [r7, #0] 80cd812: 2b2e cmp r3, #46 ; 0x2e 80cd814: d10e bne.n 80cd834 <_svfiprintf_r+0x124> 80cd816: 787b ldrb r3, [r7, #1] 80cd818: 2b2a cmp r3, #42 ; 0x2a 80cd81a: f107 0101 add.w r1, r7, #1 80cd81e: d132 bne.n 80cd886 <_svfiprintf_r+0x176> 80cd820: 9b03 ldr r3, [sp, #12] 80cd822: 1d1a adds r2, r3, #4 80cd824: 681b ldr r3, [r3, #0] 80cd826: 9203 str r2, [sp, #12] 80cd828: 2b00 cmp r3, #0 80cd82a: bfb8 it lt 80cd82c: f04f 33ff movlt.w r3, #4294967295 80cd830: 3702 adds r7, #2 80cd832: 9305 str r3, [sp, #20] 80cd834: 4c2c ldr r4, [pc, #176] ; (80cd8e8 <_svfiprintf_r+0x1d8>) 80cd836: 7839 ldrb r1, [r7, #0] 80cd838: 2203 movs r2, #3 80cd83a: 4620 mov r0, r4 80cd83c: f752 fd78 bl 8020330 80cd840: b138 cbz r0, 80cd852 <_svfiprintf_r+0x142> 80cd842: 2340 movs r3, #64 ; 0x40 80cd844: 1b00 subs r0, r0, r4 80cd846: fa03 f000 lsl.w r0, r3, r0 80cd84a: 9b04 ldr r3, [sp, #16] 80cd84c: 4303 orrs r3, r0 80cd84e: 9304 str r3, [sp, #16] 80cd850: 3701 adds r7, #1 80cd852: 7839 ldrb r1, [r7, #0] 80cd854: 4825 ldr r0, [pc, #148] ; (80cd8ec <_svfiprintf_r+0x1dc>) 80cd856: f88d 1028 strb.w r1, [sp, #40] ; 0x28 80cd85a: 2206 movs r2, #6 80cd85c: 1c7e adds r6, r7, #1 80cd85e: f752 fd67 bl 8020330 80cd862: 2800 cmp r0, #0 80cd864: d035 beq.n 80cd8d2 <_svfiprintf_r+0x1c2> 80cd866: 4b22 ldr r3, [pc, #136] ; (80cd8f0 <_svfiprintf_r+0x1e0>) 80cd868: b9fb cbnz r3, 80cd8aa <_svfiprintf_r+0x19a> 80cd86a: 9b03 ldr r3, [sp, #12] 80cd86c: 3307 adds r3, #7 80cd86e: f023 0307 bic.w r3, r3, #7 80cd872: 3308 adds r3, #8 80cd874: 9303 str r3, [sp, #12] 80cd876: 9b09 ldr r3, [sp, #36] ; 0x24 80cd878: 444b add r3, r9 80cd87a: 9309 str r3, [sp, #36] ; 0x24 80cd87c: e76c b.n 80cd758 <_svfiprintf_r+0x48> 80cd87e: fb00 3202 mla r2, r0, r2, r3 80cd882: 2101 movs r1, #1 80cd884: e7a3 b.n 80cd7ce <_svfiprintf_r+0xbe> 80cd886: 2300 movs r3, #0 80cd888: 9305 str r3, [sp, #20] 80cd88a: 4618 mov r0, r3 80cd88c: 240a movs r4, #10 80cd88e: 460f mov r7, r1 80cd890: 3101 adds r1, #1 80cd892: 783a ldrb r2, [r7, #0] 80cd894: 3a30 subs r2, #48 ; 0x30 80cd896: 2a09 cmp r2, #9 80cd898: d903 bls.n 80cd8a2 <_svfiprintf_r+0x192> 80cd89a: 2b00 cmp r3, #0 80cd89c: d0ca beq.n 80cd834 <_svfiprintf_r+0x124> 80cd89e: 9005 str r0, [sp, #20] 80cd8a0: e7c8 b.n 80cd834 <_svfiprintf_r+0x124> 80cd8a2: fb04 2000 mla r0, r4, r0, r2 80cd8a6: 2301 movs r3, #1 80cd8a8: e7f1 b.n 80cd88e <_svfiprintf_r+0x17e> 80cd8aa: ab03 add r3, sp, #12 80cd8ac: 9300 str r3, [sp, #0] 80cd8ae: 462a mov r2, r5 80cd8b0: 4b10 ldr r3, [pc, #64] ; (80cd8f4 <_svfiprintf_r+0x1e4>) 80cd8b2: a904 add r1, sp, #16 80cd8b4: 4640 mov r0, r8 80cd8b6: f3af 8000 nop.w 80cd8ba: f1b0 3fff cmp.w r0, #4294967295 80cd8be: 4681 mov r9, r0 80cd8c0: d1d9 bne.n 80cd876 <_svfiprintf_r+0x166> 80cd8c2: 89ab ldrh r3, [r5, #12] 80cd8c4: 065b lsls r3, r3, #25 80cd8c6: f53f af38 bmi.w 80cd73a <_svfiprintf_r+0x2a> 80cd8ca: 9809 ldr r0, [sp, #36] ; 0x24 80cd8cc: b01d add sp, #116 ; 0x74 80cd8ce: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 80cd8d2: ab03 add r3, sp, #12 80cd8d4: 9300 str r3, [sp, #0] 80cd8d6: 462a mov r2, r5 80cd8d8: 4b06 ldr r3, [pc, #24] ; (80cd8f4 <_svfiprintf_r+0x1e4>) 80cd8da: a904 add r1, sp, #16 80cd8dc: 4640 mov r0, r8 80cd8de: f000 f9c1 bl 80cdc64 <_printf_i> 80cd8e2: e7ea b.n 80cd8ba <_svfiprintf_r+0x1aa> 80cd8e4: 081868e6 .word 0x081868e6 80cd8e8: 081868ec .word 0x081868ec 80cd8ec: 081868f0 .word 0x081868f0 80cd8f0: 00000000 .word 0x00000000 80cd8f4: 080cd65b .word 0x080cd65b 080cd8f8 <__sfputc_r>: 80cd8f8: 6893 ldr r3, [r2, #8] 80cd8fa: 3b01 subs r3, #1 80cd8fc: 2b00 cmp r3, #0 80cd8fe: b410 push {r4} 80cd900: 6093 str r3, [r2, #8] 80cd902: da09 bge.n 80cd918 <__sfputc_r+0x20> 80cd904: 6994 ldr r4, [r2, #24] 80cd906: 42a3 cmp r3, r4 80cd908: db02 blt.n 80cd910 <__sfputc_r+0x18> 80cd90a: b2cb uxtb r3, r1 80cd90c: 2b0a cmp r3, #10 80cd90e: d103 bne.n 80cd918 <__sfputc_r+0x20> 80cd910: f85d 4b04 ldr.w r4, [sp], #4 80cd914: f000 bb0a b.w 80cdf2c <__swbuf_r> 80cd918: 6813 ldr r3, [r2, #0] 80cd91a: 1c58 adds r0, r3, #1 80cd91c: 6010 str r0, [r2, #0] 80cd91e: 7019 strb r1, [r3, #0] 80cd920: b2c8 uxtb r0, r1 80cd922: f85d 4b04 ldr.w r4, [sp], #4 80cd926: 4770 bx lr 080cd928 <__sfputs_r>: 80cd928: b5f8 push {r3, r4, r5, r6, r7, lr} 80cd92a: 4606 mov r6, r0 80cd92c: 460f mov r7, r1 80cd92e: 4614 mov r4, r2 80cd930: 18d5 adds r5, r2, r3 80cd932: 42ac cmp r4, r5 80cd934: d101 bne.n 80cd93a <__sfputs_r+0x12> 80cd936: 2000 movs r0, #0 80cd938: e007 b.n 80cd94a <__sfputs_r+0x22> 80cd93a: 463a mov r2, r7 80cd93c: f814 1b01 ldrb.w r1, [r4], #1 80cd940: 4630 mov r0, r6 80cd942: f7ff ffd9 bl 80cd8f8 <__sfputc_r> 80cd946: 1c43 adds r3, r0, #1 80cd948: d1f3 bne.n 80cd932 <__sfputs_r+0xa> 80cd94a: bdf8 pop {r3, r4, r5, r6, r7, pc} 080cd94c <_vfiprintf_r>: 80cd94c: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 80cd950: b09d sub sp, #116 ; 0x74 80cd952: 460c mov r4, r1 80cd954: 4617 mov r7, r2 80cd956: 9303 str r3, [sp, #12] 80cd958: 4606 mov r6, r0 80cd95a: b118 cbz r0, 80cd964 <_vfiprintf_r+0x18> 80cd95c: 6983 ldr r3, [r0, #24] 80cd95e: b90b cbnz r3, 80cd964 <_vfiprintf_r+0x18> 80cd960: f7ff fdda bl 80cd518 <__sinit> 80cd964: 4b7c ldr r3, [pc, #496] ; (80cdb58 <_vfiprintf_r+0x20c>) 80cd966: 429c cmp r4, r3 80cd968: d157 bne.n 80cda1a <_vfiprintf_r+0xce> 80cd96a: 6874 ldr r4, [r6, #4] 80cd96c: 89a3 ldrh r3, [r4, #12] 80cd96e: 0718 lsls r0, r3, #28 80cd970: d55d bpl.n 80cda2e <_vfiprintf_r+0xe2> 80cd972: 6923 ldr r3, [r4, #16] 80cd974: 2b00 cmp r3, #0 80cd976: d05a beq.n 80cda2e <_vfiprintf_r+0xe2> 80cd978: 2300 movs r3, #0 80cd97a: 9309 str r3, [sp, #36] ; 0x24 80cd97c: 2320 movs r3, #32 80cd97e: f88d 3029 strb.w r3, [sp, #41] ; 0x29 80cd982: 2330 movs r3, #48 ; 0x30 80cd984: f88d 302a strb.w r3, [sp, #42] ; 0x2a 80cd988: f04f 0b01 mov.w fp, #1 80cd98c: 46b8 mov r8, r7 80cd98e: 4645 mov r5, r8 80cd990: f815 3b01 ldrb.w r3, [r5], #1 80cd994: 2b00 cmp r3, #0 80cd996: d155 bne.n 80cda44 <_vfiprintf_r+0xf8> 80cd998: ebb8 0a07 subs.w sl, r8, r7 80cd99c: d00b beq.n 80cd9b6 <_vfiprintf_r+0x6a> 80cd99e: 4653 mov r3, sl 80cd9a0: 463a mov r2, r7 80cd9a2: 4621 mov r1, r4 80cd9a4: 4630 mov r0, r6 80cd9a6: f7ff ffbf bl 80cd928 <__sfputs_r> 80cd9aa: 3001 adds r0, #1 80cd9ac: f000 80c4 beq.w 80cdb38 <_vfiprintf_r+0x1ec> 80cd9b0: 9b09 ldr r3, [sp, #36] ; 0x24 80cd9b2: 4453 add r3, sl 80cd9b4: 9309 str r3, [sp, #36] ; 0x24 80cd9b6: f898 3000 ldrb.w r3, [r8] 80cd9ba: 2b00 cmp r3, #0 80cd9bc: f000 80bc beq.w 80cdb38 <_vfiprintf_r+0x1ec> 80cd9c0: 2300 movs r3, #0 80cd9c2: f04f 32ff mov.w r2, #4294967295 80cd9c6: 9304 str r3, [sp, #16] 80cd9c8: 9307 str r3, [sp, #28] 80cd9ca: 9205 str r2, [sp, #20] 80cd9cc: 9306 str r3, [sp, #24] 80cd9ce: f88d 3053 strb.w r3, [sp, #83] ; 0x53 80cd9d2: 931a str r3, [sp, #104] ; 0x68 80cd9d4: 2205 movs r2, #5 80cd9d6: 7829 ldrb r1, [r5, #0] 80cd9d8: 4860 ldr r0, [pc, #384] ; (80cdb5c <_vfiprintf_r+0x210>) 80cd9da: f752 fca9 bl 8020330 80cd9de: f105 0801 add.w r8, r5, #1 80cd9e2: 9b04 ldr r3, [sp, #16] 80cd9e4: 2800 cmp r0, #0 80cd9e6: d131 bne.n 80cda4c <_vfiprintf_r+0x100> 80cd9e8: 06d9 lsls r1, r3, #27 80cd9ea: bf44 itt mi 80cd9ec: 2220 movmi r2, #32 80cd9ee: f88d 2053 strbmi.w r2, [sp, #83] ; 0x53 80cd9f2: 071a lsls r2, r3, #28 80cd9f4: bf44 itt mi 80cd9f6: 222b movmi r2, #43 ; 0x2b 80cd9f8: f88d 2053 strbmi.w r2, [sp, #83] ; 0x53 80cd9fc: 782a ldrb r2, [r5, #0] 80cd9fe: 2a2a cmp r2, #42 ; 0x2a 80cda00: d02c beq.n 80cda5c <_vfiprintf_r+0x110> 80cda02: 9a07 ldr r2, [sp, #28] 80cda04: 2100 movs r1, #0 80cda06: 200a movs r0, #10 80cda08: 46a8 mov r8, r5 80cda0a: 3501 adds r5, #1 80cda0c: f898 3000 ldrb.w r3, [r8] 80cda10: 3b30 subs r3, #48 ; 0x30 80cda12: 2b09 cmp r3, #9 80cda14: d96d bls.n 80cdaf2 <_vfiprintf_r+0x1a6> 80cda16: b371 cbz r1, 80cda76 <_vfiprintf_r+0x12a> 80cda18: e026 b.n 80cda68 <_vfiprintf_r+0x11c> 80cda1a: 4b51 ldr r3, [pc, #324] ; (80cdb60 <_vfiprintf_r+0x214>) 80cda1c: 429c cmp r4, r3 80cda1e: d101 bne.n 80cda24 <_vfiprintf_r+0xd8> 80cda20: 68b4 ldr r4, [r6, #8] 80cda22: e7a3 b.n 80cd96c <_vfiprintf_r+0x20> 80cda24: 4b4f ldr r3, [pc, #316] ; (80cdb64 <_vfiprintf_r+0x218>) 80cda26: 429c cmp r4, r3 80cda28: bf08 it eq 80cda2a: 68f4 ldreq r4, [r6, #12] 80cda2c: e79e b.n 80cd96c <_vfiprintf_r+0x20> 80cda2e: 4621 mov r1, r4 80cda30: 4630 mov r0, r6 80cda32: f000 faed bl 80ce010 <__swsetup_r> 80cda36: 2800 cmp r0, #0 80cda38: d09e beq.n 80cd978 <_vfiprintf_r+0x2c> 80cda3a: f04f 30ff mov.w r0, #4294967295 80cda3e: b01d add sp, #116 ; 0x74 80cda40: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 80cda44: 2b25 cmp r3, #37 ; 0x25 80cda46: d0a7 beq.n 80cd998 <_vfiprintf_r+0x4c> 80cda48: 46a8 mov r8, r5 80cda4a: e7a0 b.n 80cd98e <_vfiprintf_r+0x42> 80cda4c: 4a43 ldr r2, [pc, #268] ; (80cdb5c <_vfiprintf_r+0x210>) 80cda4e: 1a80 subs r0, r0, r2 80cda50: fa0b f000 lsl.w r0, fp, r0 80cda54: 4318 orrs r0, r3 80cda56: 9004 str r0, [sp, #16] 80cda58: 4645 mov r5, r8 80cda5a: e7bb b.n 80cd9d4 <_vfiprintf_r+0x88> 80cda5c: 9a03 ldr r2, [sp, #12] 80cda5e: 1d11 adds r1, r2, #4 80cda60: 6812 ldr r2, [r2, #0] 80cda62: 9103 str r1, [sp, #12] 80cda64: 2a00 cmp r2, #0 80cda66: db01 blt.n 80cda6c <_vfiprintf_r+0x120> 80cda68: 9207 str r2, [sp, #28] 80cda6a: e004 b.n 80cda76 <_vfiprintf_r+0x12a> 80cda6c: 4252 negs r2, r2 80cda6e: f043 0302 orr.w r3, r3, #2 80cda72: 9207 str r2, [sp, #28] 80cda74: 9304 str r3, [sp, #16] 80cda76: f898 3000 ldrb.w r3, [r8] 80cda7a: 2b2e cmp r3, #46 ; 0x2e 80cda7c: d110 bne.n 80cdaa0 <_vfiprintf_r+0x154> 80cda7e: f898 3001 ldrb.w r3, [r8, #1] 80cda82: 2b2a cmp r3, #42 ; 0x2a 80cda84: f108 0101 add.w r1, r8, #1 80cda88: d137 bne.n 80cdafa <_vfiprintf_r+0x1ae> 80cda8a: 9b03 ldr r3, [sp, #12] 80cda8c: 1d1a adds r2, r3, #4 80cda8e: 681b ldr r3, [r3, #0] 80cda90: 9203 str r2, [sp, #12] 80cda92: 2b00 cmp r3, #0 80cda94: bfb8 it lt 80cda96: f04f 33ff movlt.w r3, #4294967295 80cda9a: f108 0802 add.w r8, r8, #2 80cda9e: 9305 str r3, [sp, #20] 80cdaa0: 4d31 ldr r5, [pc, #196] ; (80cdb68 <_vfiprintf_r+0x21c>) 80cdaa2: f898 1000 ldrb.w r1, [r8] 80cdaa6: 2203 movs r2, #3 80cdaa8: 4628 mov r0, r5 80cdaaa: f752 fc41 bl 8020330 80cdaae: b140 cbz r0, 80cdac2 <_vfiprintf_r+0x176> 80cdab0: 2340 movs r3, #64 ; 0x40 80cdab2: 1b40 subs r0, r0, r5 80cdab4: fa03 f000 lsl.w r0, r3, r0 80cdab8: 9b04 ldr r3, [sp, #16] 80cdaba: 4303 orrs r3, r0 80cdabc: 9304 str r3, [sp, #16] 80cdabe: f108 0801 add.w r8, r8, #1 80cdac2: f898 1000 ldrb.w r1, [r8] 80cdac6: 4829 ldr r0, [pc, #164] ; (80cdb6c <_vfiprintf_r+0x220>) 80cdac8: f88d 1028 strb.w r1, [sp, #40] ; 0x28 80cdacc: 2206 movs r2, #6 80cdace: f108 0701 add.w r7, r8, #1 80cdad2: f752 fc2d bl 8020330 80cdad6: 2800 cmp r0, #0 80cdad8: d034 beq.n 80cdb44 <_vfiprintf_r+0x1f8> 80cdada: 4b25 ldr r3, [pc, #148] ; (80cdb70 <_vfiprintf_r+0x224>) 80cdadc: bb03 cbnz r3, 80cdb20 <_vfiprintf_r+0x1d4> 80cdade: 9b03 ldr r3, [sp, #12] 80cdae0: 3307 adds r3, #7 80cdae2: f023 0307 bic.w r3, r3, #7 80cdae6: 3308 adds r3, #8 80cdae8: 9303 str r3, [sp, #12] 80cdaea: 9b09 ldr r3, [sp, #36] ; 0x24 80cdaec: 444b add r3, r9 80cdaee: 9309 str r3, [sp, #36] ; 0x24 80cdaf0: e74c b.n 80cd98c <_vfiprintf_r+0x40> 80cdaf2: fb00 3202 mla r2, r0, r2, r3 80cdaf6: 2101 movs r1, #1 80cdaf8: e786 b.n 80cda08 <_vfiprintf_r+0xbc> 80cdafa: 2300 movs r3, #0 80cdafc: 9305 str r3, [sp, #20] 80cdafe: 4618 mov r0, r3 80cdb00: 250a movs r5, #10 80cdb02: 4688 mov r8, r1 80cdb04: 3101 adds r1, #1 80cdb06: f898 2000 ldrb.w r2, [r8] 80cdb0a: 3a30 subs r2, #48 ; 0x30 80cdb0c: 2a09 cmp r2, #9 80cdb0e: d903 bls.n 80cdb18 <_vfiprintf_r+0x1cc> 80cdb10: 2b00 cmp r3, #0 80cdb12: d0c5 beq.n 80cdaa0 <_vfiprintf_r+0x154> 80cdb14: 9005 str r0, [sp, #20] 80cdb16: e7c3 b.n 80cdaa0 <_vfiprintf_r+0x154> 80cdb18: fb05 2000 mla r0, r5, r0, r2 80cdb1c: 2301 movs r3, #1 80cdb1e: e7f0 b.n 80cdb02 <_vfiprintf_r+0x1b6> 80cdb20: ab03 add r3, sp, #12 80cdb22: 9300 str r3, [sp, #0] 80cdb24: 4622 mov r2, r4 80cdb26: 4b13 ldr r3, [pc, #76] ; (80cdb74 <_vfiprintf_r+0x228>) 80cdb28: a904 add r1, sp, #16 80cdb2a: 4630 mov r0, r6 80cdb2c: f3af 8000 nop.w 80cdb30: f1b0 3fff cmp.w r0, #4294967295 80cdb34: 4681 mov r9, r0 80cdb36: d1d8 bne.n 80cdaea <_vfiprintf_r+0x19e> 80cdb38: 89a3 ldrh r3, [r4, #12] 80cdb3a: 065b lsls r3, r3, #25 80cdb3c: f53f af7d bmi.w 80cda3a <_vfiprintf_r+0xee> 80cdb40: 9809 ldr r0, [sp, #36] ; 0x24 80cdb42: e77c b.n 80cda3e <_vfiprintf_r+0xf2> 80cdb44: ab03 add r3, sp, #12 80cdb46: 9300 str r3, [sp, #0] 80cdb48: 4622 mov r2, r4 80cdb4a: 4b0a ldr r3, [pc, #40] ; (80cdb74 <_vfiprintf_r+0x228>) 80cdb4c: a904 add r1, sp, #16 80cdb4e: 4630 mov r0, r6 80cdb50: f000 f888 bl 80cdc64 <_printf_i> 80cdb54: e7ec b.n 80cdb30 <_vfiprintf_r+0x1e4> 80cdb56: bf00 nop 80cdb58: 0818689c .word 0x0818689c 80cdb5c: 081868e6 .word 0x081868e6 80cdb60: 081868bc .word 0x081868bc 80cdb64: 0818687c .word 0x0818687c 80cdb68: 081868ec .word 0x081868ec 80cdb6c: 081868f0 .word 0x081868f0 80cdb70: 00000000 .word 0x00000000 80cdb74: 080cd929 .word 0x080cd929 080cdb78 <_printf_common>: 80cdb78: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} 80cdb7c: 4691 mov r9, r2 80cdb7e: 461f mov r7, r3 80cdb80: 688a ldr r2, [r1, #8] 80cdb82: 690b ldr r3, [r1, #16] 80cdb84: f8dd 8020 ldr.w r8, [sp, #32] 80cdb88: 4293 cmp r3, r2 80cdb8a: bfb8 it lt 80cdb8c: 4613 movlt r3, r2 80cdb8e: f8c9 3000 str.w r3, [r9] 80cdb92: f891 2043 ldrb.w r2, [r1, #67] ; 0x43 80cdb96: 4606 mov r6, r0 80cdb98: 460c mov r4, r1 80cdb9a: b112 cbz r2, 80cdba2 <_printf_common+0x2a> 80cdb9c: 3301 adds r3, #1 80cdb9e: f8c9 3000 str.w r3, [r9] 80cdba2: 6823 ldr r3, [r4, #0] 80cdba4: 0699 lsls r1, r3, #26 80cdba6: bf42 ittt mi 80cdba8: f8d9 3000 ldrmi.w r3, [r9] 80cdbac: 3302 addmi r3, #2 80cdbae: f8c9 3000 strmi.w r3, [r9] 80cdbb2: 6825 ldr r5, [r4, #0] 80cdbb4: f015 0506 ands.w r5, r5, #6 80cdbb8: d107 bne.n 80cdbca <_printf_common+0x52> 80cdbba: f104 0a19 add.w sl, r4, #25 80cdbbe: 68e3 ldr r3, [r4, #12] 80cdbc0: f8d9 2000 ldr.w r2, [r9] 80cdbc4: 1a9b subs r3, r3, r2 80cdbc6: 429d cmp r5, r3 80cdbc8: db29 blt.n 80cdc1e <_printf_common+0xa6> 80cdbca: f894 3043 ldrb.w r3, [r4, #67] ; 0x43 80cdbce: 6822 ldr r2, [r4, #0] 80cdbd0: 3300 adds r3, #0 80cdbd2: bf18 it ne 80cdbd4: 2301 movne r3, #1 80cdbd6: 0692 lsls r2, r2, #26 80cdbd8: d42e bmi.n 80cdc38 <_printf_common+0xc0> 80cdbda: f104 0243 add.w r2, r4, #67 ; 0x43 80cdbde: 4639 mov r1, r7 80cdbe0: 4630 mov r0, r6 80cdbe2: 47c0 blx r8 80cdbe4: 3001 adds r0, #1 80cdbe6: d021 beq.n 80cdc2c <_printf_common+0xb4> 80cdbe8: 6823 ldr r3, [r4, #0] 80cdbea: 68e5 ldr r5, [r4, #12] 80cdbec: f8d9 2000 ldr.w r2, [r9] 80cdbf0: f003 0306 and.w r3, r3, #6 80cdbf4: 2b04 cmp r3, #4 80cdbf6: bf08 it eq 80cdbf8: 1aad subeq r5, r5, r2 80cdbfa: 68a3 ldr r3, [r4, #8] 80cdbfc: 6922 ldr r2, [r4, #16] 80cdbfe: bf0c ite eq 80cdc00: ea25 75e5 biceq.w r5, r5, r5, asr #31 80cdc04: 2500 movne r5, #0 80cdc06: 4293 cmp r3, r2 80cdc08: bfc4 itt gt 80cdc0a: 1a9b subgt r3, r3, r2 80cdc0c: 18ed addgt r5, r5, r3 80cdc0e: f04f 0900 mov.w r9, #0 80cdc12: 341a adds r4, #26 80cdc14: 454d cmp r5, r9 80cdc16: d11b bne.n 80cdc50 <_printf_common+0xd8> 80cdc18: 2000 movs r0, #0 80cdc1a: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} 80cdc1e: 2301 movs r3, #1 80cdc20: 4652 mov r2, sl 80cdc22: 4639 mov r1, r7 80cdc24: 4630 mov r0, r6 80cdc26: 47c0 blx r8 80cdc28: 3001 adds r0, #1 80cdc2a: d103 bne.n 80cdc34 <_printf_common+0xbc> 80cdc2c: f04f 30ff mov.w r0, #4294967295 80cdc30: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} 80cdc34: 3501 adds r5, #1 80cdc36: e7c2 b.n 80cdbbe <_printf_common+0x46> 80cdc38: 18e1 adds r1, r4, r3 80cdc3a: 1c5a adds r2, r3, #1 80cdc3c: 2030 movs r0, #48 ; 0x30 80cdc3e: f881 0043 strb.w r0, [r1, #67] ; 0x43 80cdc42: 4422 add r2, r4 80cdc44: f894 1045 ldrb.w r1, [r4, #69] ; 0x45 80cdc48: f882 1043 strb.w r1, [r2, #67] ; 0x43 80cdc4c: 3302 adds r3, #2 80cdc4e: e7c4 b.n 80cdbda <_printf_common+0x62> 80cdc50: 2301 movs r3, #1 80cdc52: 4622 mov r2, r4 80cdc54: 4639 mov r1, r7 80cdc56: 4630 mov r0, r6 80cdc58: 47c0 blx r8 80cdc5a: 3001 adds r0, #1 80cdc5c: d0e6 beq.n 80cdc2c <_printf_common+0xb4> 80cdc5e: f109 0901 add.w r9, r9, #1 80cdc62: e7d7 b.n 80cdc14 <_printf_common+0x9c> 080cdc64 <_printf_i>: 80cdc64: e92d 43f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} 80cdc68: 4617 mov r7, r2 80cdc6a: 7e0a ldrb r2, [r1, #24] 80cdc6c: b085 sub sp, #20 80cdc6e: 2a6e cmp r2, #110 ; 0x6e 80cdc70: 4698 mov r8, r3 80cdc72: 4606 mov r6, r0 80cdc74: 460c mov r4, r1 80cdc76: 9b0c ldr r3, [sp, #48] ; 0x30 80cdc78: f101 0e43 add.w lr, r1, #67 ; 0x43 80cdc7c: f000 80bc beq.w 80cddf8 <_printf_i+0x194> 80cdc80: d81a bhi.n 80cdcb8 <_printf_i+0x54> 80cdc82: 2a63 cmp r2, #99 ; 0x63 80cdc84: d02e beq.n 80cdce4 <_printf_i+0x80> 80cdc86: d80a bhi.n 80cdc9e <_printf_i+0x3a> 80cdc88: 2a00 cmp r2, #0 80cdc8a: f000 80c8 beq.w 80cde1e <_printf_i+0x1ba> 80cdc8e: 2a58 cmp r2, #88 ; 0x58 80cdc90: f000 808a beq.w 80cdda8 <_printf_i+0x144> 80cdc94: f104 0542 add.w r5, r4, #66 ; 0x42 80cdc98: f884 2042 strb.w r2, [r4, #66] ; 0x42 80cdc9c: e02a b.n 80cdcf4 <_printf_i+0x90> 80cdc9e: 2a64 cmp r2, #100 ; 0x64 80cdca0: d001 beq.n 80cdca6 <_printf_i+0x42> 80cdca2: 2a69 cmp r2, #105 ; 0x69 80cdca4: d1f6 bne.n 80cdc94 <_printf_i+0x30> 80cdca6: 6821 ldr r1, [r4, #0] 80cdca8: 681a ldr r2, [r3, #0] 80cdcaa: f011 0f80 tst.w r1, #128 ; 0x80 80cdcae: d023 beq.n 80cdcf8 <_printf_i+0x94> 80cdcb0: 1d11 adds r1, r2, #4 80cdcb2: 6019 str r1, [r3, #0] 80cdcb4: 6813 ldr r3, [r2, #0] 80cdcb6: e027 b.n 80cdd08 <_printf_i+0xa4> 80cdcb8: 2a73 cmp r2, #115 ; 0x73 80cdcba: f000 80b4 beq.w 80cde26 <_printf_i+0x1c2> 80cdcbe: d808 bhi.n 80cdcd2 <_printf_i+0x6e> 80cdcc0: 2a6f cmp r2, #111 ; 0x6f 80cdcc2: d02a beq.n 80cdd1a <_printf_i+0xb6> 80cdcc4: 2a70 cmp r2, #112 ; 0x70 80cdcc6: d1e5 bne.n 80cdc94 <_printf_i+0x30> 80cdcc8: 680a ldr r2, [r1, #0] 80cdcca: f042 0220 orr.w r2, r2, #32 80cdcce: 600a str r2, [r1, #0] 80cdcd0: e003 b.n 80cdcda <_printf_i+0x76> 80cdcd2: 2a75 cmp r2, #117 ; 0x75 80cdcd4: d021 beq.n 80cdd1a <_printf_i+0xb6> 80cdcd6: 2a78 cmp r2, #120 ; 0x78 80cdcd8: d1dc bne.n 80cdc94 <_printf_i+0x30> 80cdcda: 2278 movs r2, #120 ; 0x78 80cdcdc: f884 2045 strb.w r2, [r4, #69] ; 0x45 80cdce0: 496e ldr r1, [pc, #440] ; (80cde9c <_printf_i+0x238>) 80cdce2: e064 b.n 80cddae <_printf_i+0x14a> 80cdce4: 681a ldr r2, [r3, #0] 80cdce6: f101 0542 add.w r5, r1, #66 ; 0x42 80cdcea: 1d11 adds r1, r2, #4 80cdcec: 6019 str r1, [r3, #0] 80cdcee: 6813 ldr r3, [r2, #0] 80cdcf0: f884 3042 strb.w r3, [r4, #66] ; 0x42 80cdcf4: 2301 movs r3, #1 80cdcf6: e0a3 b.n 80cde40 <_printf_i+0x1dc> 80cdcf8: f011 0f40 tst.w r1, #64 ; 0x40 80cdcfc: f102 0104 add.w r1, r2, #4 80cdd00: 6019 str r1, [r3, #0] 80cdd02: d0d7 beq.n 80cdcb4 <_printf_i+0x50> 80cdd04: f9b2 3000 ldrsh.w r3, [r2] 80cdd08: 2b00 cmp r3, #0 80cdd0a: da03 bge.n 80cdd14 <_printf_i+0xb0> 80cdd0c: 222d movs r2, #45 ; 0x2d 80cdd0e: 425b negs r3, r3 80cdd10: f884 2043 strb.w r2, [r4, #67] ; 0x43 80cdd14: 4962 ldr r1, [pc, #392] ; (80cdea0 <_printf_i+0x23c>) 80cdd16: 220a movs r2, #10 80cdd18: e017 b.n 80cdd4a <_printf_i+0xe6> 80cdd1a: 6820 ldr r0, [r4, #0] 80cdd1c: 6819 ldr r1, [r3, #0] 80cdd1e: f010 0f80 tst.w r0, #128 ; 0x80 80cdd22: d003 beq.n 80cdd2c <_printf_i+0xc8> 80cdd24: 1d08 adds r0, r1, #4 80cdd26: 6018 str r0, [r3, #0] 80cdd28: 680b ldr r3, [r1, #0] 80cdd2a: e006 b.n 80cdd3a <_printf_i+0xd6> 80cdd2c: f010 0f40 tst.w r0, #64 ; 0x40 80cdd30: f101 0004 add.w r0, r1, #4 80cdd34: 6018 str r0, [r3, #0] 80cdd36: d0f7 beq.n 80cdd28 <_printf_i+0xc4> 80cdd38: 880b ldrh r3, [r1, #0] 80cdd3a: 4959 ldr r1, [pc, #356] ; (80cdea0 <_printf_i+0x23c>) 80cdd3c: 2a6f cmp r2, #111 ; 0x6f 80cdd3e: bf14 ite ne 80cdd40: 220a movne r2, #10 80cdd42: 2208 moveq r2, #8 80cdd44: 2000 movs r0, #0 80cdd46: f884 0043 strb.w r0, [r4, #67] ; 0x43 80cdd4a: 6865 ldr r5, [r4, #4] 80cdd4c: 60a5 str r5, [r4, #8] 80cdd4e: 2d00 cmp r5, #0 80cdd50: f2c0 809c blt.w 80cde8c <_printf_i+0x228> 80cdd54: 6820 ldr r0, [r4, #0] 80cdd56: f020 0004 bic.w r0, r0, #4 80cdd5a: 6020 str r0, [r4, #0] 80cdd5c: 2b00 cmp r3, #0 80cdd5e: d13f bne.n 80cdde0 <_printf_i+0x17c> 80cdd60: 2d00 cmp r5, #0 80cdd62: f040 8095 bne.w 80cde90 <_printf_i+0x22c> 80cdd66: 4675 mov r5, lr 80cdd68: 2a08 cmp r2, #8 80cdd6a: d10b bne.n 80cdd84 <_printf_i+0x120> 80cdd6c: 6823 ldr r3, [r4, #0] 80cdd6e: 07da lsls r2, r3, #31 80cdd70: d508 bpl.n 80cdd84 <_printf_i+0x120> 80cdd72: 6923 ldr r3, [r4, #16] 80cdd74: 6862 ldr r2, [r4, #4] 80cdd76: 429a cmp r2, r3 80cdd78: bfde ittt le 80cdd7a: 2330 movle r3, #48 ; 0x30 80cdd7c: f805 3c01 strble.w r3, [r5, #-1] 80cdd80: f105 35ff addle.w r5, r5, #4294967295 80cdd84: ebae 0305 sub.w r3, lr, r5 80cdd88: 6123 str r3, [r4, #16] 80cdd8a: f8cd 8000 str.w r8, [sp] 80cdd8e: 463b mov r3, r7 80cdd90: aa03 add r2, sp, #12 80cdd92: 4621 mov r1, r4 80cdd94: 4630 mov r0, r6 80cdd96: f7ff feef bl 80cdb78 <_printf_common> 80cdd9a: 3001 adds r0, #1 80cdd9c: d155 bne.n 80cde4a <_printf_i+0x1e6> 80cdd9e: f04f 30ff mov.w r0, #4294967295 80cdda2: b005 add sp, #20 80cdda4: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} 80cdda8: f881 2045 strb.w r2, [r1, #69] ; 0x45 80cddac: 493c ldr r1, [pc, #240] ; (80cdea0 <_printf_i+0x23c>) 80cddae: 6822 ldr r2, [r4, #0] 80cddb0: 6818 ldr r0, [r3, #0] 80cddb2: f012 0f80 tst.w r2, #128 ; 0x80 80cddb6: f100 0504 add.w r5, r0, #4 80cddba: 601d str r5, [r3, #0] 80cddbc: d001 beq.n 80cddc2 <_printf_i+0x15e> 80cddbe: 6803 ldr r3, [r0, #0] 80cddc0: e002 b.n 80cddc8 <_printf_i+0x164> 80cddc2: 0655 lsls r5, r2, #25 80cddc4: d5fb bpl.n 80cddbe <_printf_i+0x15a> 80cddc6: 8803 ldrh r3, [r0, #0] 80cddc8: 07d0 lsls r0, r2, #31 80cddca: bf44 itt mi 80cddcc: f042 0220 orrmi.w r2, r2, #32 80cddd0: 6022 strmi r2, [r4, #0] 80cddd2: b91b cbnz r3, 80cdddc <_printf_i+0x178> 80cddd4: 6822 ldr r2, [r4, #0] 80cddd6: f022 0220 bic.w r2, r2, #32 80cddda: 6022 str r2, [r4, #0] 80cdddc: 2210 movs r2, #16 80cddde: e7b1 b.n 80cdd44 <_printf_i+0xe0> 80cdde0: 4675 mov r5, lr 80cdde2: fbb3 f0f2 udiv r0, r3, r2 80cdde6: fb02 3310 mls r3, r2, r0, r3 80cddea: 5ccb ldrb r3, [r1, r3] 80cddec: f805 3d01 strb.w r3, [r5, #-1]! 80cddf0: 4603 mov r3, r0 80cddf2: 2800 cmp r0, #0 80cddf4: d1f5 bne.n 80cdde2 <_printf_i+0x17e> 80cddf6: e7b7 b.n 80cdd68 <_printf_i+0x104> 80cddf8: 6808 ldr r0, [r1, #0] 80cddfa: 681a ldr r2, [r3, #0] 80cddfc: 6949 ldr r1, [r1, #20] 80cddfe: f010 0f80 tst.w r0, #128 ; 0x80 80cde02: d004 beq.n 80cde0e <_printf_i+0x1aa> 80cde04: 1d10 adds r0, r2, #4 80cde06: 6018 str r0, [r3, #0] 80cde08: 6813 ldr r3, [r2, #0] 80cde0a: 6019 str r1, [r3, #0] 80cde0c: e007 b.n 80cde1e <_printf_i+0x1ba> 80cde0e: f010 0f40 tst.w r0, #64 ; 0x40 80cde12: f102 0004 add.w r0, r2, #4 80cde16: 6018 str r0, [r3, #0] 80cde18: 6813 ldr r3, [r2, #0] 80cde1a: d0f6 beq.n 80cde0a <_printf_i+0x1a6> 80cde1c: 8019 strh r1, [r3, #0] 80cde1e: 2300 movs r3, #0 80cde20: 6123 str r3, [r4, #16] 80cde22: 4675 mov r5, lr 80cde24: e7b1 b.n 80cdd8a <_printf_i+0x126> 80cde26: 681a ldr r2, [r3, #0] 80cde28: 1d11 adds r1, r2, #4 80cde2a: 6019 str r1, [r3, #0] 80cde2c: 6815 ldr r5, [r2, #0] 80cde2e: 6862 ldr r2, [r4, #4] 80cde30: 2100 movs r1, #0 80cde32: 4628 mov r0, r5 80cde34: f752 fa7c bl 8020330 80cde38: b108 cbz r0, 80cde3e <_printf_i+0x1da> 80cde3a: 1b40 subs r0, r0, r5 80cde3c: 6060 str r0, [r4, #4] 80cde3e: 6863 ldr r3, [r4, #4] 80cde40: 6123 str r3, [r4, #16] 80cde42: 2300 movs r3, #0 80cde44: f884 3043 strb.w r3, [r4, #67] ; 0x43 80cde48: e79f b.n 80cdd8a <_printf_i+0x126> 80cde4a: 6923 ldr r3, [r4, #16] 80cde4c: 462a mov r2, r5 80cde4e: 4639 mov r1, r7 80cde50: 4630 mov r0, r6 80cde52: 47c0 blx r8 80cde54: 3001 adds r0, #1 80cde56: d0a2 beq.n 80cdd9e <_printf_i+0x13a> 80cde58: 6823 ldr r3, [r4, #0] 80cde5a: 079b lsls r3, r3, #30 80cde5c: d507 bpl.n 80cde6e <_printf_i+0x20a> 80cde5e: 2500 movs r5, #0 80cde60: f104 0919 add.w r9, r4, #25 80cde64: 68e3 ldr r3, [r4, #12] 80cde66: 9a03 ldr r2, [sp, #12] 80cde68: 1a9b subs r3, r3, r2 80cde6a: 429d cmp r5, r3 80cde6c: db05 blt.n 80cde7a <_printf_i+0x216> 80cde6e: 68e0 ldr r0, [r4, #12] 80cde70: 9b03 ldr r3, [sp, #12] 80cde72: 4298 cmp r0, r3 80cde74: bfb8 it lt 80cde76: 4618 movlt r0, r3 80cde78: e793 b.n 80cdda2 <_printf_i+0x13e> 80cde7a: 2301 movs r3, #1 80cde7c: 464a mov r2, r9 80cde7e: 4639 mov r1, r7 80cde80: 4630 mov r0, r6 80cde82: 47c0 blx r8 80cde84: 3001 adds r0, #1 80cde86: d08a beq.n 80cdd9e <_printf_i+0x13a> 80cde88: 3501 adds r5, #1 80cde8a: e7eb b.n 80cde64 <_printf_i+0x200> 80cde8c: 2b00 cmp r3, #0 80cde8e: d1a7 bne.n 80cdde0 <_printf_i+0x17c> 80cde90: 780b ldrb r3, [r1, #0] 80cde92: f884 3042 strb.w r3, [r4, #66] ; 0x42 80cde96: f104 0542 add.w r5, r4, #66 ; 0x42 80cde9a: e765 b.n 80cdd68 <_printf_i+0x104> 80cde9c: 08186908 .word 0x08186908 80cdea0: 081868f7 .word 0x081868f7 080cdea4 <__sread>: 80cdea4: b510 push {r4, lr} 80cdea6: 460c mov r4, r1 80cdea8: f9b1 100e ldrsh.w r1, [r1, #14] 80cdeac: f000 fa96 bl 80ce3dc <_read_r> 80cdeb0: 2800 cmp r0, #0 80cdeb2: bfab itete ge 80cdeb4: 6d63 ldrge r3, [r4, #84] ; 0x54 80cdeb6: 89a3 ldrhlt r3, [r4, #12] 80cdeb8: 181b addge r3, r3, r0 80cdeba: f423 5380 biclt.w r3, r3, #4096 ; 0x1000 80cdebe: bfac ite ge 80cdec0: 6563 strge r3, [r4, #84] ; 0x54 80cdec2: 81a3 strhlt r3, [r4, #12] 80cdec4: bd10 pop {r4, pc} 080cdec6 <__swrite>: 80cdec6: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} 80cdeca: 461f mov r7, r3 80cdecc: 898b ldrh r3, [r1, #12] 80cdece: 05db lsls r3, r3, #23 80cded0: 4605 mov r5, r0 80cded2: 460c mov r4, r1 80cded4: 4616 mov r6, r2 80cded6: d505 bpl.n 80cdee4 <__swrite+0x1e> 80cded8: 2302 movs r3, #2 80cdeda: 2200 movs r2, #0 80cdedc: f9b1 100e ldrsh.w r1, [r1, #14] 80cdee0: f000 f9c6 bl 80ce270 <_lseek_r> 80cdee4: 89a3 ldrh r3, [r4, #12] 80cdee6: f9b4 100e ldrsh.w r1, [r4, #14] 80cdeea: f423 5380 bic.w r3, r3, #4096 ; 0x1000 80cdeee: 81a3 strh r3, [r4, #12] 80cdef0: 4632 mov r2, r6 80cdef2: 463b mov r3, r7 80cdef4: 4628 mov r0, r5 80cdef6: e8bd 41f0 ldmia.w sp!, {r4, r5, r6, r7, r8, lr} 80cdefa: f000 b877 b.w 80cdfec <_write_r> 080cdefe <__sseek>: 80cdefe: b510 push {r4, lr} 80cdf00: 460c mov r4, r1 80cdf02: f9b1 100e ldrsh.w r1, [r1, #14] 80cdf06: f000 f9b3 bl 80ce270 <_lseek_r> 80cdf0a: 1c43 adds r3, r0, #1 80cdf0c: 89a3 ldrh r3, [r4, #12] 80cdf0e: bf15 itete ne 80cdf10: 6560 strne r0, [r4, #84] ; 0x54 80cdf12: f423 5380 biceq.w r3, r3, #4096 ; 0x1000 80cdf16: f443 5380 orrne.w r3, r3, #4096 ; 0x1000 80cdf1a: 81a3 strheq r3, [r4, #12] 80cdf1c: bf18 it ne 80cdf1e: 81a3 strhne r3, [r4, #12] 80cdf20: bd10 pop {r4, pc} 080cdf22 <__sclose>: 80cdf22: f9b1 100e ldrsh.w r1, [r1, #14] 80cdf26: f000 b8e1 b.w 80ce0ec <_close_r> ... 080cdf2c <__swbuf_r>: 80cdf2c: b5f8 push {r3, r4, r5, r6, r7, lr} 80cdf2e: 460e mov r6, r1 80cdf30: 4614 mov r4, r2 80cdf32: 4605 mov r5, r0 80cdf34: b118 cbz r0, 80cdf3e <__swbuf_r+0x12> 80cdf36: 6983 ldr r3, [r0, #24] 80cdf38: b90b cbnz r3, 80cdf3e <__swbuf_r+0x12> 80cdf3a: f7ff faed bl 80cd518 <__sinit> 80cdf3e: 4b21 ldr r3, [pc, #132] ; (80cdfc4 <__swbuf_r+0x98>) 80cdf40: 429c cmp r4, r3 80cdf42: d12a bne.n 80cdf9a <__swbuf_r+0x6e> 80cdf44: 686c ldr r4, [r5, #4] 80cdf46: 69a3 ldr r3, [r4, #24] 80cdf48: 60a3 str r3, [r4, #8] 80cdf4a: 89a3 ldrh r3, [r4, #12] 80cdf4c: 071a lsls r2, r3, #28 80cdf4e: d52e bpl.n 80cdfae <__swbuf_r+0x82> 80cdf50: 6923 ldr r3, [r4, #16] 80cdf52: b363 cbz r3, 80cdfae <__swbuf_r+0x82> 80cdf54: 6923 ldr r3, [r4, #16] 80cdf56: 6820 ldr r0, [r4, #0] 80cdf58: 1ac0 subs r0, r0, r3 80cdf5a: 6963 ldr r3, [r4, #20] 80cdf5c: b2f6 uxtb r6, r6 80cdf5e: 4298 cmp r0, r3 80cdf60: 4637 mov r7, r6 80cdf62: db04 blt.n 80cdf6e <__swbuf_r+0x42> 80cdf64: 4621 mov r1, r4 80cdf66: 4628 mov r0, r5 80cdf68: f000 f958 bl 80ce21c <_fflush_r> 80cdf6c: bb28 cbnz r0, 80cdfba <__swbuf_r+0x8e> 80cdf6e: 68a3 ldr r3, [r4, #8] 80cdf70: 3b01 subs r3, #1 80cdf72: 60a3 str r3, [r4, #8] 80cdf74: 6823 ldr r3, [r4, #0] 80cdf76: 1c5a adds r2, r3, #1 80cdf78: 6022 str r2, [r4, #0] 80cdf7a: 701e strb r6, [r3, #0] 80cdf7c: 6963 ldr r3, [r4, #20] 80cdf7e: 3001 adds r0, #1 80cdf80: 4298 cmp r0, r3 80cdf82: d004 beq.n 80cdf8e <__swbuf_r+0x62> 80cdf84: 89a3 ldrh r3, [r4, #12] 80cdf86: 07db lsls r3, r3, #31 80cdf88: d519 bpl.n 80cdfbe <__swbuf_r+0x92> 80cdf8a: 2e0a cmp r6, #10 80cdf8c: d117 bne.n 80cdfbe <__swbuf_r+0x92> 80cdf8e: 4621 mov r1, r4 80cdf90: 4628 mov r0, r5 80cdf92: f000 f943 bl 80ce21c <_fflush_r> 80cdf96: b190 cbz r0, 80cdfbe <__swbuf_r+0x92> 80cdf98: e00f b.n 80cdfba <__swbuf_r+0x8e> 80cdf9a: 4b0b ldr r3, [pc, #44] ; (80cdfc8 <__swbuf_r+0x9c>) 80cdf9c: 429c cmp r4, r3 80cdf9e: d101 bne.n 80cdfa4 <__swbuf_r+0x78> 80cdfa0: 68ac ldr r4, [r5, #8] 80cdfa2: e7d0 b.n 80cdf46 <__swbuf_r+0x1a> 80cdfa4: 4b09 ldr r3, [pc, #36] ; (80cdfcc <__swbuf_r+0xa0>) 80cdfa6: 429c cmp r4, r3 80cdfa8: bf08 it eq 80cdfaa: 68ec ldreq r4, [r5, #12] 80cdfac: e7cb b.n 80cdf46 <__swbuf_r+0x1a> 80cdfae: 4621 mov r1, r4 80cdfb0: 4628 mov r0, r5 80cdfb2: f000 f82d bl 80ce010 <__swsetup_r> 80cdfb6: 2800 cmp r0, #0 80cdfb8: d0cc beq.n 80cdf54 <__swbuf_r+0x28> 80cdfba: f04f 37ff mov.w r7, #4294967295 80cdfbe: 4638 mov r0, r7 80cdfc0: bdf8 pop {r3, r4, r5, r6, r7, pc} 80cdfc2: bf00 nop 80cdfc4: 0818689c .word 0x0818689c 80cdfc8: 081868bc .word 0x081868bc 80cdfcc: 0818687c .word 0x0818687c 080cdfd0 <__ascii_wctomb>: 80cdfd0: b149 cbz r1, 80cdfe6 <__ascii_wctomb+0x16> 80cdfd2: 2aff cmp r2, #255 ; 0xff 80cdfd4: bf85 ittet hi 80cdfd6: 238a movhi r3, #138 ; 0x8a 80cdfd8: 6003 strhi r3, [r0, #0] 80cdfda: 700a strbls r2, [r1, #0] 80cdfdc: f04f 30ff movhi.w r0, #4294967295 80cdfe0: bf98 it ls 80cdfe2: 2001 movls r0, #1 80cdfe4: 4770 bx lr 80cdfe6: 4608 mov r0, r1 80cdfe8: 4770 bx lr ... 080cdfec <_write_r>: 80cdfec: b538 push {r3, r4, r5, lr} 80cdfee: 4c07 ldr r4, [pc, #28] ; (80ce00c <_write_r+0x20>) 80cdff0: 4605 mov r5, r0 80cdff2: 4608 mov r0, r1 80cdff4: 4611 mov r1, r2 80cdff6: 2200 movs r2, #0 80cdff8: 6022 str r2, [r4, #0] 80cdffa: 461a mov r2, r3 80cdffc: f7e0 f9f3 bl 80ae3e6 <_write> 80ce000: 1c43 adds r3, r0, #1 80ce002: d102 bne.n 80ce00a <_write_r+0x1e> 80ce004: 6823 ldr r3, [r4, #0] 80ce006: b103 cbz r3, 80ce00a <_write_r+0x1e> 80ce008: 602b str r3, [r5, #0] 80ce00a: bd38 pop {r3, r4, r5, pc} 80ce00c: 20069634 .word 0x20069634 080ce010 <__swsetup_r>: 80ce010: 4b32 ldr r3, [pc, #200] ; (80ce0dc <__swsetup_r+0xcc>) 80ce012: b570 push {r4, r5, r6, lr} 80ce014: 681d ldr r5, [r3, #0] 80ce016: 4606 mov r6, r0 80ce018: 460c mov r4, r1 80ce01a: b125 cbz r5, 80ce026 <__swsetup_r+0x16> 80ce01c: 69ab ldr r3, [r5, #24] 80ce01e: b913 cbnz r3, 80ce026 <__swsetup_r+0x16> 80ce020: 4628 mov r0, r5 80ce022: f7ff fa79 bl 80cd518 <__sinit> 80ce026: 4b2e ldr r3, [pc, #184] ; (80ce0e0 <__swsetup_r+0xd0>) 80ce028: 429c cmp r4, r3 80ce02a: d10f bne.n 80ce04c <__swsetup_r+0x3c> 80ce02c: 686c ldr r4, [r5, #4] 80ce02e: f9b4 300c ldrsh.w r3, [r4, #12] 80ce032: b29a uxth r2, r3 80ce034: 0715 lsls r5, r2, #28 80ce036: d42c bmi.n 80ce092 <__swsetup_r+0x82> 80ce038: 06d0 lsls r0, r2, #27 80ce03a: d411 bmi.n 80ce060 <__swsetup_r+0x50> 80ce03c: 2209 movs r2, #9 80ce03e: 6032 str r2, [r6, #0] 80ce040: f043 0340 orr.w r3, r3, #64 ; 0x40 80ce044: 81a3 strh r3, [r4, #12] 80ce046: f04f 30ff mov.w r0, #4294967295 80ce04a: bd70 pop {r4, r5, r6, pc} 80ce04c: 4b25 ldr r3, [pc, #148] ; (80ce0e4 <__swsetup_r+0xd4>) 80ce04e: 429c cmp r4, r3 80ce050: d101 bne.n 80ce056 <__swsetup_r+0x46> 80ce052: 68ac ldr r4, [r5, #8] 80ce054: e7eb b.n 80ce02e <__swsetup_r+0x1e> 80ce056: 4b24 ldr r3, [pc, #144] ; (80ce0e8 <__swsetup_r+0xd8>) 80ce058: 429c cmp r4, r3 80ce05a: bf08 it eq 80ce05c: 68ec ldreq r4, [r5, #12] 80ce05e: e7e6 b.n 80ce02e <__swsetup_r+0x1e> 80ce060: 0751 lsls r1, r2, #29 80ce062: d512 bpl.n 80ce08a <__swsetup_r+0x7a> 80ce064: 6b61 ldr r1, [r4, #52] ; 0x34 80ce066: b141 cbz r1, 80ce07a <__swsetup_r+0x6a> 80ce068: f104 0344 add.w r3, r4, #68 ; 0x44 80ce06c: 4299 cmp r1, r3 80ce06e: d002 beq.n 80ce076 <__swsetup_r+0x66> 80ce070: 4630 mov r0, r6 80ce072: f7fe fff1 bl 80cd058 <_free_r> 80ce076: 2300 movs r3, #0 80ce078: 6363 str r3, [r4, #52] ; 0x34 80ce07a: 89a3 ldrh r3, [r4, #12] 80ce07c: f023 0324 bic.w r3, r3, #36 ; 0x24 80ce080: 81a3 strh r3, [r4, #12] 80ce082: 2300 movs r3, #0 80ce084: 6063 str r3, [r4, #4] 80ce086: 6923 ldr r3, [r4, #16] 80ce088: 6023 str r3, [r4, #0] 80ce08a: 89a3 ldrh r3, [r4, #12] 80ce08c: f043 0308 orr.w r3, r3, #8 80ce090: 81a3 strh r3, [r4, #12] 80ce092: 6923 ldr r3, [r4, #16] 80ce094: b94b cbnz r3, 80ce0aa <__swsetup_r+0x9a> 80ce096: 89a3 ldrh r3, [r4, #12] 80ce098: f403 7320 and.w r3, r3, #640 ; 0x280 80ce09c: f5b3 7f00 cmp.w r3, #512 ; 0x200 80ce0a0: d003 beq.n 80ce0aa <__swsetup_r+0x9a> 80ce0a2: 4621 mov r1, r4 80ce0a4: 4630 mov r0, r6 80ce0a6: f000 f919 bl 80ce2dc <__smakebuf_r> 80ce0aa: 89a2 ldrh r2, [r4, #12] 80ce0ac: f012 0301 ands.w r3, r2, #1 80ce0b0: d00c beq.n 80ce0cc <__swsetup_r+0xbc> 80ce0b2: 2300 movs r3, #0 80ce0b4: 60a3 str r3, [r4, #8] 80ce0b6: 6963 ldr r3, [r4, #20] 80ce0b8: 425b negs r3, r3 80ce0ba: 61a3 str r3, [r4, #24] 80ce0bc: 6923 ldr r3, [r4, #16] 80ce0be: b953 cbnz r3, 80ce0d6 <__swsetup_r+0xc6> 80ce0c0: f9b4 300c ldrsh.w r3, [r4, #12] 80ce0c4: f013 0080 ands.w r0, r3, #128 ; 0x80 80ce0c8: d1ba bne.n 80ce040 <__swsetup_r+0x30> 80ce0ca: bd70 pop {r4, r5, r6, pc} 80ce0cc: 0792 lsls r2, r2, #30 80ce0ce: bf58 it pl 80ce0d0: 6963 ldrpl r3, [r4, #20] 80ce0d2: 60a3 str r3, [r4, #8] 80ce0d4: e7f2 b.n 80ce0bc <__swsetup_r+0xac> 80ce0d6: 2000 movs r0, #0 80ce0d8: e7f7 b.n 80ce0ca <__swsetup_r+0xba> 80ce0da: bf00 nop 80ce0dc: 20020b48 .word 0x20020b48 80ce0e0: 0818689c .word 0x0818689c 80ce0e4: 081868bc .word 0x081868bc 80ce0e8: 0818687c .word 0x0818687c 080ce0ec <_close_r>: 80ce0ec: b538 push {r3, r4, r5, lr} 80ce0ee: 4c06 ldr r4, [pc, #24] ; (80ce108 <_close_r+0x1c>) 80ce0f0: 2300 movs r3, #0 80ce0f2: 4605 mov r5, r0 80ce0f4: 4608 mov r0, r1 80ce0f6: 6023 str r3, [r4, #0] 80ce0f8: f7e0 f9be bl 80ae478 <_close> 80ce0fc: 1c43 adds r3, r0, #1 80ce0fe: d102 bne.n 80ce106 <_close_r+0x1a> 80ce100: 6823 ldr r3, [r4, #0] 80ce102: b103 cbz r3, 80ce106 <_close_r+0x1a> 80ce104: 602b str r3, [r5, #0] 80ce106: bd38 pop {r3, r4, r5, pc} 80ce108: 20069634 .word 0x20069634 080ce10c <__sflush_r>: 80ce10c: 898a ldrh r2, [r1, #12] 80ce10e: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} 80ce112: 4605 mov r5, r0 80ce114: 0710 lsls r0, r2, #28 80ce116: 460c mov r4, r1 80ce118: d45a bmi.n 80ce1d0 <__sflush_r+0xc4> 80ce11a: 684b ldr r3, [r1, #4] 80ce11c: 2b00 cmp r3, #0 80ce11e: dc05 bgt.n 80ce12c <__sflush_r+0x20> 80ce120: 6c0b ldr r3, [r1, #64] ; 0x40 80ce122: 2b00 cmp r3, #0 80ce124: dc02 bgt.n 80ce12c <__sflush_r+0x20> 80ce126: 2000 movs r0, #0 80ce128: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} 80ce12c: 6ae6 ldr r6, [r4, #44] ; 0x2c 80ce12e: 2e00 cmp r6, #0 80ce130: d0f9 beq.n 80ce126 <__sflush_r+0x1a> 80ce132: 2300 movs r3, #0 80ce134: f412 5280 ands.w r2, r2, #4096 ; 0x1000 80ce138: 682f ldr r7, [r5, #0] 80ce13a: 602b str r3, [r5, #0] 80ce13c: d033 beq.n 80ce1a6 <__sflush_r+0x9a> 80ce13e: 6d60 ldr r0, [r4, #84] ; 0x54 80ce140: 89a3 ldrh r3, [r4, #12] 80ce142: 075a lsls r2, r3, #29 80ce144: d505 bpl.n 80ce152 <__sflush_r+0x46> 80ce146: 6863 ldr r3, [r4, #4] 80ce148: 1ac0 subs r0, r0, r3 80ce14a: 6b63 ldr r3, [r4, #52] ; 0x34 80ce14c: b10b cbz r3, 80ce152 <__sflush_r+0x46> 80ce14e: 6c23 ldr r3, [r4, #64] ; 0x40 80ce150: 1ac0 subs r0, r0, r3 80ce152: 2300 movs r3, #0 80ce154: 4602 mov r2, r0 80ce156: 6ae6 ldr r6, [r4, #44] ; 0x2c 80ce158: 6a21 ldr r1, [r4, #32] 80ce15a: 4628 mov r0, r5 80ce15c: 47b0 blx r6 80ce15e: 1c43 adds r3, r0, #1 80ce160: 89a3 ldrh r3, [r4, #12] 80ce162: d106 bne.n 80ce172 <__sflush_r+0x66> 80ce164: 6829 ldr r1, [r5, #0] 80ce166: 291d cmp r1, #29 80ce168: d84b bhi.n 80ce202 <__sflush_r+0xf6> 80ce16a: 4a2b ldr r2, [pc, #172] ; (80ce218 <__sflush_r+0x10c>) 80ce16c: 40ca lsrs r2, r1 80ce16e: 07d6 lsls r6, r2, #31 80ce170: d547 bpl.n 80ce202 <__sflush_r+0xf6> 80ce172: 2200 movs r2, #0 80ce174: 6062 str r2, [r4, #4] 80ce176: 04d9 lsls r1, r3, #19 80ce178: 6922 ldr r2, [r4, #16] 80ce17a: 6022 str r2, [r4, #0] 80ce17c: d504 bpl.n 80ce188 <__sflush_r+0x7c> 80ce17e: 1c42 adds r2, r0, #1 80ce180: d101 bne.n 80ce186 <__sflush_r+0x7a> 80ce182: 682b ldr r3, [r5, #0] 80ce184: b903 cbnz r3, 80ce188 <__sflush_r+0x7c> 80ce186: 6560 str r0, [r4, #84] ; 0x54 80ce188: 6b61 ldr r1, [r4, #52] ; 0x34 80ce18a: 602f str r7, [r5, #0] 80ce18c: 2900 cmp r1, #0 80ce18e: d0ca beq.n 80ce126 <__sflush_r+0x1a> 80ce190: f104 0344 add.w r3, r4, #68 ; 0x44 80ce194: 4299 cmp r1, r3 80ce196: d002 beq.n 80ce19e <__sflush_r+0x92> 80ce198: 4628 mov r0, r5 80ce19a: f7fe ff5d bl 80cd058 <_free_r> 80ce19e: 2000 movs r0, #0 80ce1a0: 6360 str r0, [r4, #52] ; 0x34 80ce1a2: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} 80ce1a6: 6a21 ldr r1, [r4, #32] 80ce1a8: 2301 movs r3, #1 80ce1aa: 4628 mov r0, r5 80ce1ac: 47b0 blx r6 80ce1ae: 1c41 adds r1, r0, #1 80ce1b0: d1c6 bne.n 80ce140 <__sflush_r+0x34> 80ce1b2: 682b ldr r3, [r5, #0] 80ce1b4: 2b00 cmp r3, #0 80ce1b6: d0c3 beq.n 80ce140 <__sflush_r+0x34> 80ce1b8: 2b1d cmp r3, #29 80ce1ba: d001 beq.n 80ce1c0 <__sflush_r+0xb4> 80ce1bc: 2b16 cmp r3, #22 80ce1be: d101 bne.n 80ce1c4 <__sflush_r+0xb8> 80ce1c0: 602f str r7, [r5, #0] 80ce1c2: e7b0 b.n 80ce126 <__sflush_r+0x1a> 80ce1c4: 89a3 ldrh r3, [r4, #12] 80ce1c6: f043 0340 orr.w r3, r3, #64 ; 0x40 80ce1ca: 81a3 strh r3, [r4, #12] 80ce1cc: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} 80ce1d0: 690f ldr r7, [r1, #16] 80ce1d2: 2f00 cmp r7, #0 80ce1d4: d0a7 beq.n 80ce126 <__sflush_r+0x1a> 80ce1d6: 0793 lsls r3, r2, #30 80ce1d8: 680e ldr r6, [r1, #0] 80ce1da: bf08 it eq 80ce1dc: 694b ldreq r3, [r1, #20] 80ce1de: 600f str r7, [r1, #0] 80ce1e0: bf18 it ne 80ce1e2: 2300 movne r3, #0 80ce1e4: eba6 0807 sub.w r8, r6, r7 80ce1e8: 608b str r3, [r1, #8] 80ce1ea: f1b8 0f00 cmp.w r8, #0 80ce1ee: dd9a ble.n 80ce126 <__sflush_r+0x1a> 80ce1f0: 4643 mov r3, r8 80ce1f2: 463a mov r2, r7 80ce1f4: 6a21 ldr r1, [r4, #32] 80ce1f6: 6aa6 ldr r6, [r4, #40] ; 0x28 80ce1f8: 4628 mov r0, r5 80ce1fa: 47b0 blx r6 80ce1fc: 2800 cmp r0, #0 80ce1fe: dc07 bgt.n 80ce210 <__sflush_r+0x104> 80ce200: 89a3 ldrh r3, [r4, #12] 80ce202: f043 0340 orr.w r3, r3, #64 ; 0x40 80ce206: 81a3 strh r3, [r4, #12] 80ce208: f04f 30ff mov.w r0, #4294967295 80ce20c: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} 80ce210: 4407 add r7, r0 80ce212: eba8 0800 sub.w r8, r8, r0 80ce216: e7e8 b.n 80ce1ea <__sflush_r+0xde> 80ce218: 20400001 .word 0x20400001 080ce21c <_fflush_r>: 80ce21c: b538 push {r3, r4, r5, lr} 80ce21e: 690b ldr r3, [r1, #16] 80ce220: 4605 mov r5, r0 80ce222: 460c mov r4, r1 80ce224: b1db cbz r3, 80ce25e <_fflush_r+0x42> 80ce226: b118 cbz r0, 80ce230 <_fflush_r+0x14> 80ce228: 6983 ldr r3, [r0, #24] 80ce22a: b90b cbnz r3, 80ce230 <_fflush_r+0x14> 80ce22c: f7ff f974 bl 80cd518 <__sinit> 80ce230: 4b0c ldr r3, [pc, #48] ; (80ce264 <_fflush_r+0x48>) 80ce232: 429c cmp r4, r3 80ce234: d109 bne.n 80ce24a <_fflush_r+0x2e> 80ce236: 686c ldr r4, [r5, #4] 80ce238: f9b4 300c ldrsh.w r3, [r4, #12] 80ce23c: b17b cbz r3, 80ce25e <_fflush_r+0x42> 80ce23e: 4621 mov r1, r4 80ce240: 4628 mov r0, r5 80ce242: e8bd 4038 ldmia.w sp!, {r3, r4, r5, lr} 80ce246: f7ff bf61 b.w 80ce10c <__sflush_r> 80ce24a: 4b07 ldr r3, [pc, #28] ; (80ce268 <_fflush_r+0x4c>) 80ce24c: 429c cmp r4, r3 80ce24e: d101 bne.n 80ce254 <_fflush_r+0x38> 80ce250: 68ac ldr r4, [r5, #8] 80ce252: e7f1 b.n 80ce238 <_fflush_r+0x1c> 80ce254: 4b05 ldr r3, [pc, #20] ; (80ce26c <_fflush_r+0x50>) 80ce256: 429c cmp r4, r3 80ce258: bf08 it eq 80ce25a: 68ec ldreq r4, [r5, #12] 80ce25c: e7ec b.n 80ce238 <_fflush_r+0x1c> 80ce25e: 2000 movs r0, #0 80ce260: bd38 pop {r3, r4, r5, pc} 80ce262: bf00 nop 80ce264: 0818689c .word 0x0818689c 80ce268: 081868bc .word 0x081868bc 80ce26c: 0818687c .word 0x0818687c 080ce270 <_lseek_r>: 80ce270: b538 push {r3, r4, r5, lr} 80ce272: 4c07 ldr r4, [pc, #28] ; (80ce290 <_lseek_r+0x20>) 80ce274: 4605 mov r5, r0 80ce276: 4608 mov r0, r1 80ce278: 4611 mov r1, r2 80ce27a: 2200 movs r2, #0 80ce27c: 6022 str r2, [r4, #0] 80ce27e: 461a mov r2, r3 80ce280: f7e0 f921 bl 80ae4c6 <_lseek> 80ce284: 1c43 adds r3, r0, #1 80ce286: d102 bne.n 80ce28e <_lseek_r+0x1e> 80ce288: 6823 ldr r3, [r4, #0] 80ce28a: b103 cbz r3, 80ce28e <_lseek_r+0x1e> 80ce28c: 602b str r3, [r5, #0] 80ce28e: bd38 pop {r3, r4, r5, pc} 80ce290: 20069634 .word 0x20069634 080ce294 <__swhatbuf_r>: 80ce294: b570 push {r4, r5, r6, lr} 80ce296: 460e mov r6, r1 80ce298: f9b1 100e ldrsh.w r1, [r1, #14] 80ce29c: 2900 cmp r1, #0 80ce29e: b090 sub sp, #64 ; 0x40 80ce2a0: 4614 mov r4, r2 80ce2a2: 461d mov r5, r3 80ce2a4: da07 bge.n 80ce2b6 <__swhatbuf_r+0x22> 80ce2a6: 2300 movs r3, #0 80ce2a8: 602b str r3, [r5, #0] 80ce2aa: 89b3 ldrh r3, [r6, #12] 80ce2ac: 061a lsls r2, r3, #24 80ce2ae: d410 bmi.n 80ce2d2 <__swhatbuf_r+0x3e> 80ce2b0: f44f 6380 mov.w r3, #1024 ; 0x400 80ce2b4: e00e b.n 80ce2d4 <__swhatbuf_r+0x40> 80ce2b6: aa01 add r2, sp, #4 80ce2b8: f000 f8a2 bl 80ce400 <_fstat_r> 80ce2bc: 2800 cmp r0, #0 80ce2be: dbf2 blt.n 80ce2a6 <__swhatbuf_r+0x12> 80ce2c0: 9a02 ldr r2, [sp, #8] 80ce2c2: f402 4270 and.w r2, r2, #61440 ; 0xf000 80ce2c6: f5a2 5300 sub.w r3, r2, #8192 ; 0x2000 80ce2ca: 425a negs r2, r3 80ce2cc: 415a adcs r2, r3 80ce2ce: 602a str r2, [r5, #0] 80ce2d0: e7ee b.n 80ce2b0 <__swhatbuf_r+0x1c> 80ce2d2: 2340 movs r3, #64 ; 0x40 80ce2d4: 2000 movs r0, #0 80ce2d6: 6023 str r3, [r4, #0] 80ce2d8: b010 add sp, #64 ; 0x40 80ce2da: bd70 pop {r4, r5, r6, pc} 080ce2dc <__smakebuf_r>: 80ce2dc: 898b ldrh r3, [r1, #12] 80ce2de: b573 push {r0, r1, r4, r5, r6, lr} 80ce2e0: 079d lsls r5, r3, #30 80ce2e2: 4606 mov r6, r0 80ce2e4: 460c mov r4, r1 80ce2e6: d507 bpl.n 80ce2f8 <__smakebuf_r+0x1c> 80ce2e8: f104 0347 add.w r3, r4, #71 ; 0x47 80ce2ec: 6023 str r3, [r4, #0] 80ce2ee: 6123 str r3, [r4, #16] 80ce2f0: 2301 movs r3, #1 80ce2f2: 6163 str r3, [r4, #20] 80ce2f4: b002 add sp, #8 80ce2f6: bd70 pop {r4, r5, r6, pc} 80ce2f8: ab01 add r3, sp, #4 80ce2fa: 466a mov r2, sp 80ce2fc: f7ff ffca bl 80ce294 <__swhatbuf_r> 80ce300: 9900 ldr r1, [sp, #0] 80ce302: 4605 mov r5, r0 80ce304: 4630 mov r0, r6 80ce306: f7fe fef5 bl 80cd0f4 <_malloc_r> 80ce30a: b948 cbnz r0, 80ce320 <__smakebuf_r+0x44> 80ce30c: f9b4 300c ldrsh.w r3, [r4, #12] 80ce310: 059a lsls r2, r3, #22 80ce312: d4ef bmi.n 80ce2f4 <__smakebuf_r+0x18> 80ce314: f023 0303 bic.w r3, r3, #3 80ce318: f043 0302 orr.w r3, r3, #2 80ce31c: 81a3 strh r3, [r4, #12] 80ce31e: e7e3 b.n 80ce2e8 <__smakebuf_r+0xc> 80ce320: 4b0d ldr r3, [pc, #52] ; (80ce358 <__smakebuf_r+0x7c>) 80ce322: 62b3 str r3, [r6, #40] ; 0x28 80ce324: 89a3 ldrh r3, [r4, #12] 80ce326: 6020 str r0, [r4, #0] 80ce328: f043 0380 orr.w r3, r3, #128 ; 0x80 80ce32c: 81a3 strh r3, [r4, #12] 80ce32e: 9b00 ldr r3, [sp, #0] 80ce330: 6163 str r3, [r4, #20] 80ce332: 9b01 ldr r3, [sp, #4] 80ce334: 6120 str r0, [r4, #16] 80ce336: b15b cbz r3, 80ce350 <__smakebuf_r+0x74> 80ce338: f9b4 100e ldrsh.w r1, [r4, #14] 80ce33c: 4630 mov r0, r6 80ce33e: f000 f871 bl 80ce424 <_isatty_r> 80ce342: b128 cbz r0, 80ce350 <__smakebuf_r+0x74> 80ce344: 89a3 ldrh r3, [r4, #12] 80ce346: f023 0303 bic.w r3, r3, #3 80ce34a: f043 0301 orr.w r3, r3, #1 80ce34e: 81a3 strh r3, [r4, #12] 80ce350: 89a3 ldrh r3, [r4, #12] 80ce352: 431d orrs r5, r3 80ce354: 81a5 strh r5, [r4, #12] 80ce356: e7cd b.n 80ce2f4 <__smakebuf_r+0x18> 80ce358: 080cd499 .word 0x080cd499 080ce35c : 80ce35c: 4288 cmp r0, r1 80ce35e: b510 push {r4, lr} 80ce360: eb01 0302 add.w r3, r1, r2 80ce364: d803 bhi.n 80ce36e 80ce366: 1e42 subs r2, r0, #1 80ce368: 4299 cmp r1, r3 80ce36a: d10c bne.n 80ce386 80ce36c: bd10 pop {r4, pc} 80ce36e: 4298 cmp r0, r3 80ce370: d2f9 bcs.n 80ce366 80ce372: 1881 adds r1, r0, r2 80ce374: 1ad2 subs r2, r2, r3 80ce376: 42d3 cmn r3, r2 80ce378: d100 bne.n 80ce37c 80ce37a: bd10 pop {r4, pc} 80ce37c: f813 4d01 ldrb.w r4, [r3, #-1]! 80ce380: f801 4d01 strb.w r4, [r1, #-1]! 80ce384: e7f7 b.n 80ce376 80ce386: f811 4b01 ldrb.w r4, [r1], #1 80ce38a: f802 4f01 strb.w r4, [r2, #1]! 80ce38e: e7eb b.n 80ce368 080ce390 <_realloc_r>: 80ce390: b5f8 push {r3, r4, r5, r6, r7, lr} 80ce392: 4607 mov r7, r0 80ce394: 4614 mov r4, r2 80ce396: 460e mov r6, r1 80ce398: b921 cbnz r1, 80ce3a4 <_realloc_r+0x14> 80ce39a: 4611 mov r1, r2 80ce39c: e8bd 40f8 ldmia.w sp!, {r3, r4, r5, r6, r7, lr} 80ce3a0: f7fe bea8 b.w 80cd0f4 <_malloc_r> 80ce3a4: b922 cbnz r2, 80ce3b0 <_realloc_r+0x20> 80ce3a6: f7fe fe57 bl 80cd058 <_free_r> 80ce3aa: 4625 mov r5, r4 80ce3ac: 4628 mov r0, r5 80ce3ae: bdf8 pop {r3, r4, r5, r6, r7, pc} 80ce3b0: f000 f848 bl 80ce444 <_malloc_usable_size_r> 80ce3b4: 4284 cmp r4, r0 80ce3b6: d90f bls.n 80ce3d8 <_realloc_r+0x48> 80ce3b8: 4621 mov r1, r4 80ce3ba: 4638 mov r0, r7 80ce3bc: f7fe fe9a bl 80cd0f4 <_malloc_r> 80ce3c0: 4605 mov r5, r0 80ce3c2: 2800 cmp r0, #0 80ce3c4: d0f2 beq.n 80ce3ac <_realloc_r+0x1c> 80ce3c6: 4631 mov r1, r6 80ce3c8: 4622 mov r2, r4 80ce3ca: f7fe fe32 bl 80cd032 80ce3ce: 4631 mov r1, r6 80ce3d0: 4638 mov r0, r7 80ce3d2: f7fe fe41 bl 80cd058 <_free_r> 80ce3d6: e7e9 b.n 80ce3ac <_realloc_r+0x1c> 80ce3d8: 4635 mov r5, r6 80ce3da: e7e7 b.n 80ce3ac <_realloc_r+0x1c> 080ce3dc <_read_r>: 80ce3dc: b538 push {r3, r4, r5, lr} 80ce3de: 4c07 ldr r4, [pc, #28] ; (80ce3fc <_read_r+0x20>) 80ce3e0: 4605 mov r5, r0 80ce3e2: 4608 mov r0, r1 80ce3e4: 4611 mov r1, r2 80ce3e6: 2200 movs r2, #0 80ce3e8: 6022 str r2, [r4, #0] 80ce3ea: 461a mov r2, r3 80ce3ec: f7df ffde bl 80ae3ac <_read> 80ce3f0: 1c43 adds r3, r0, #1 80ce3f2: d102 bne.n 80ce3fa <_read_r+0x1e> 80ce3f4: 6823 ldr r3, [r4, #0] 80ce3f6: b103 cbz r3, 80ce3fa <_read_r+0x1e> 80ce3f8: 602b str r3, [r5, #0] 80ce3fa: bd38 pop {r3, r4, r5, pc} 80ce3fc: 20069634 .word 0x20069634 080ce400 <_fstat_r>: 80ce400: b538 push {r3, r4, r5, lr} 80ce402: 4c07 ldr r4, [pc, #28] ; (80ce420 <_fstat_r+0x20>) 80ce404: 2300 movs r3, #0 80ce406: 4605 mov r5, r0 80ce408: 4608 mov r0, r1 80ce40a: 4611 mov r1, r2 80ce40c: 6023 str r3, [r4, #0] 80ce40e: f7e0 f83f bl 80ae490 <_fstat> 80ce412: 1c43 adds r3, r0, #1 80ce414: d102 bne.n 80ce41c <_fstat_r+0x1c> 80ce416: 6823 ldr r3, [r4, #0] 80ce418: b103 cbz r3, 80ce41c <_fstat_r+0x1c> 80ce41a: 602b str r3, [r5, #0] 80ce41c: bd38 pop {r3, r4, r5, pc} 80ce41e: bf00 nop 80ce420: 20069634 .word 0x20069634 080ce424 <_isatty_r>: 80ce424: b538 push {r3, r4, r5, lr} 80ce426: 4c06 ldr r4, [pc, #24] ; (80ce440 <_isatty_r+0x1c>) 80ce428: 2300 movs r3, #0 80ce42a: 4605 mov r5, r0 80ce42c: 4608 mov r0, r1 80ce42e: 6023 str r3, [r4, #0] 80ce430: f7e0 f83e bl 80ae4b0 <_isatty> 80ce434: 1c43 adds r3, r0, #1 80ce436: d102 bne.n 80ce43e <_isatty_r+0x1a> 80ce438: 6823 ldr r3, [r4, #0] 80ce43a: b103 cbz r3, 80ce43e <_isatty_r+0x1a> 80ce43c: 602b str r3, [r5, #0] 80ce43e: bd38 pop {r3, r4, r5, pc} 80ce440: 20069634 .word 0x20069634 080ce444 <_malloc_usable_size_r>: 80ce444: f851 0c04 ldr.w r0, [r1, #-4] 80ce448: 2800 cmp r0, #0 80ce44a: f1a0 0004 sub.w r0, r0, #4 80ce44e: bfbc itt lt 80ce450: 580b ldrlt r3, [r1, r0] 80ce452: 18c0 addlt r0, r0, r3 80ce454: 4770 bx lr ... 080ce458 <_init>: 80ce458: b5f8 push {r3, r4, r5, r6, r7, lr} 80ce45a: bf00 nop 80ce45c: bcf8 pop {r3, r4, r5, r6, r7} 80ce45e: bc08 pop {r3} 80ce460: 469e mov lr, r3 80ce462: 4770 bx lr 080ce464 <_fini>: 80ce464: b5f8 push {r3, r4, r5, r6, r7, lr} 80ce466: bf00 nop 80ce468: bcf8 pop {r3, r4, r5, r6, r7} 80ce46a: bc08 pop {r3} 80ce46c: 469e mov lr, r3 80ce46e: 4770 bx lr